diff --git a/.completion/fish/fstar.exe.fish b/.completion/fish/fstar.exe.fish index 1f0921dec58..9c01f7a01fd 100644 --- a/.completion/fish/fstar.exe.fish +++ b/.completion/fish/fstar.exe.fish @@ -34,7 +34,6 @@ complete -c fstar.exe -l max_fuel -r --description "Number of unrolling of recur complete -c fstar.exe -l max_ifuel -r --description "Number of unrolling of inductive datatypes to try at most (default 2)" complete -c fstar.exe -l min_fuel -r --description "Minimum number of unrolling of recursive functions to try (default 1)" complete -c fstar.exe -l MLish --description "Trigger various specializations for compiling the F* compiler itself (not meant for user code)" -complete -c fstar.exe -l n_cores -r --description "Maximum number of cores to use for the solver (implies detail_errors = false) (default 1)" complete -c fstar.exe -l no_default_includes --description "Ignore the default module search paths" complete -c fstar.exe -l no_extract -r --description "Do not extract code from this module" complete -c fstar.exe -l no_location_info --description "Suppress location information in the generated OCaml output (only relevant with --codegen OCaml)" diff --git a/.docker/base/Dockerfile b/.docker/base/Dockerfile index ff5d68ac62e..dec41186133 100644 --- a/.docker/base/Dockerfile +++ b/.docker/base/Dockerfile @@ -1,37 +1,36 @@ -FROM ubuntu:bionic +FROM ubuntu:18.04 -MAINTAINER Benjamin Beurdouche ; Daniel Fabian +MAINTAINER Benjamin Beurdouche ; Victor Dumitrescu ; Daniel Fabian ; -# Define versions of dependencies -ENV opamv 4.05.0 -ENV z3v 4.5.1.1f29cebd4df6-x64-ubuntu-14.04 - -# Install required packages and set versions +# Install required packages +RUN apt-get -qq update +RUN apt-get install -y software-properties-common +RUN add-apt-repository -y ppa:avsm/ppa # for opam 2 RUN apt-get -qq update -RUN apt-get install --yes sudo wget libssl-dev libsqlite3-dev g++ gcc m4 make opam pkg-config python libgmp3-dev unzip +RUN apt-get install -y sudo wget libssl-dev libsqlite3-dev g++ gcc m4 make opam pkg-config python libgmp3-dev unzip cmake # Create user -RUN useradd -ms /bin/bash FStar -RUN echo "FStar ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers -USER FStar -WORKDIR /home/FStar +RUN useradd -ms /bin/bash build +RUN echo "build ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers +USER build +WORKDIR /home/build -# Prepare build (OCaml packages) -ENV OPAMYES true -RUN opam init -RUN echo ". /home/FStar/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true" >> .bashrc -RUN opam switch ${opamv} -RUN opam install ocamlfind batteries sqlite3 fileutils stdint zarith yojson pprint menhir ulex ppx_deriving ppx_deriving_yojson process +# Prepare and build OPAM and OCaml +RUN opam init -y --disable-sandboxing --compiler=4.07.0 +RUN opam update +RUN opam install -y ocamlbuild ocamlfind batteries stdint zarith yojson fileutils pprint menhir ulex ppx_deriving ppx_deriving_yojson process pprint visitors fix wasm # Prepare and build Z3 -RUN wget https://github.com/FStarLang/binaries/raw/master/z3-tested/z3-${z3v}.zip -RUN unzip z3-${z3v}.zip -RUN mv z3-${z3v} z3 -ENV PATH "/home/FStar/z3/bin:$PATH" -WORKDIR /home/FStar +ENV z3=z3-4.8.5-x64-debian-8.11 +ADD https://github.com/FStarLang/binaries/raw/master/z3-tested/${z3}.zip . +RUN sudo unzip ${z3}.zip +ENV PATH=/home/build/${z3}/bin:${PATH} +WORKDIR /home/build # Prepare and build F* ADD update-fstar.sh . RUN git clone https://github.com/FStarLang/FStar.git --depth=1 -ENV PATH "~/FStar/bin:$PATH" -RUN opam config exec -- make -C FStar/src/ocaml-output +ENV FSTAR_HOME=/home/build/FStar +WORKDIR $FSTAR_HOME +RUN opam config exec -- make +WORKDIR /home/build diff --git a/.docker/build/build.sh b/.docker/build/build.sh index ab6591f9ab3..568d94435b9 100644 --- a/.docker/build/build.sh +++ b/.docker/build/build.sh @@ -295,6 +295,14 @@ function build_fstar() { } } & + # The LowParse test suite is now in project-everest/everparse + { + $gnutime make -C qd -j $threads -k lowparse-fstar-test || { + echo "Error - LowParse" + echo " - min-test (LowParse)" >>$ORANGE_FILE + } + } & + # We now run all (hardcoded) tests in mitls-fstar@master { # First regenerate dependencies and parsers (maybe not diff --git a/.docker/build/config-binaries.json b/.docker/build/config-binaries.json index 66e40b799f0..01b5a7b9dc9 100644 --- a/.docker/build/config-binaries.json +++ b/.docker/build/config-binaries.json @@ -3,8 +3,11 @@ "BaseContainerIsEverestImage" : true, "BaseContainerImageName" : "fstar", - "BaseContainerImageTagOrCommitId": "latest", - "BranchName" : "master", + + "_ABOUT_NEXT_TWO_VARS": "These variables are commented out. When these variables are undefined, builds use Azure DevOps variables instead. Uncomment them to specify a different base image", + "_BaseContainerImageTagOrCommitId": "latest", + "_BranchName" : "master", + "GithubCommitUrl" : "https://github.com/FStarLang/FStar/commit", "OnDemandBuildDefinition" : "FStar\\FStar-{agentOS}", @@ -18,8 +21,9 @@ "CIBuildTarget" : "fstar-binary-build", "NightlyBuildTarget" : "fstar-binary-build", "HasLogsToExtract" : true, + "HasQueryStats" : false, "NotificationEnabled" : true, "NotificationChannel" : "#fstar-build", "PublicBranches" : [ "master" ] -} \ No newline at end of file +} diff --git a/.docker/build/config-docs.json b/.docker/build/config-docs.json index bc43674e025..b51556e4277 100644 --- a/.docker/build/config-docs.json +++ b/.docker/build/config-docs.json @@ -3,8 +3,11 @@ "BaseContainerIsEverestImage" : true, "BaseContainerImageName" : "fstar", - "BaseContainerImageTagOrCommitId": "latest", - "BranchName" : "master", + + "_ABOUT_NEXT_TWO_VARS": "These variables are commented out. When these variables are undefined, builds use Azure DevOps variables instead. Uncomment them to specify a different base image", + "_BaseContainerImageTagOrCommitId": "latest", + "_BranchName" : "master", + "GithubCommitUrl" : "https://github.com/FStarLang/FStar/commit", "OnDemandBuildDefinition" : "FStar\\FStar-{agentOS}", @@ -18,8 +21,9 @@ "CIBuildTarget" : "fstar-docs", "NightlyBuildTarget" : "fstar-docs", "HasLogsToExtract" : true, + "HasQueryStats" : false, "NotificationEnabled" : true, "NotificationChannel" : "#fstar-build", "PublicBranches" : [ "master" ] -} \ No newline at end of file +} diff --git a/.docker/build/config.json b/.docker/build/config.json index 45a73939db4..bef8d387e57 100644 --- a/.docker/build/config.json +++ b/.docker/build/config.json @@ -27,7 +27,7 @@ "FolderToCompress" : "FStar", "FoldersToExclude" : [ ], - "TrackPerformance" : true, + "TrackPerformance" : false, "RepoVersions" : { "hacl_version" : "origin/fstar-master", diff --git a/.gitignore b/.gitignore index 29cf6f6574a..b62a8e290d1 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ *.sav *.hints.fsval *.hints.mlval +*.bench dump* cache/ /VS/packages diff --git a/.scripts/process_build.sh b/.scripts/process_build.sh index a6d171005ec..b852c26fb63 100755 --- a/.scripts/process_build.sh +++ b/.scripts/process_build.sh @@ -91,7 +91,7 @@ else fi fi -diag "*** Make the examples ***" +diag "*** Test the binary package ***" cd fstar # We need two FSTAR_HOMEs in this script: one for the host (from where @@ -103,16 +103,47 @@ cd fstar # to export it from here. export FSTAR_HOME="$PWD" -diag "-- Verify hello ocaml -- should output Hello F*! --" -make -C examples/hello ocaml | tee HelloOcamlOutput.log +diag "-- Versions --" +bin/fstar.exe --version +bin/z3 --version + +diag "-- Verify micro benchmarks --" +make -C examples/micro-benchmarks +if [ $? -ne 0 ]; then + echo -e "* ${RED}FAIL!${NC} for micro benchmarks - make returned $?" + exit 1 +else + echo -e "* ${GREEN}PASSED!${NC} for micro benchmarks" +fi + +diag "-- Rebuilding ulib/ml (to make sure it works) --" +make -C ulib/ml clean && make -C ulib install-fstarlib +if [ $? -ne 0 ]; then + echo -e "* ${RED}FAIL!${NC} for install-fstarlib - make returned $?" + exit 1 +else + echo -e "* ${GREEN}PASSED!${NC} for install-fstarlib" +fi + +diag "-- Execute examples/hello via OCaml -- should output Hello F*! --" +make -C examples/hello hello | tee HelloOcamlOutput.log if [ $? -ne 0 ]; then - echo -e "* ${RED}FAIL!${NC} for examples/hello ocaml - make failed withexit code $?" + echo -e "* ${RED}FAIL!${NC} for examples/hello - make failed withexit code $?" exit 1 elif ! egrep -q 'Hello F\*!' HelloOcamlOutput.log; then - echo -e "* ${RED}FAIL!${NC} for examples/hello ocaml - 'Hello F*!' was not found in HelloOcamlOutput.log" + echo -e "* ${RED}FAIL!${NC} for examples/hello - 'Hello F*!' was not found in HelloOcamlOutput.log" + exit 1 +else + echo -e "* ${GREEN}PASSED!${NC} for examples/hello" +fi + +diag "-- Verify ulib --" +make -j6 -C ulib +if [ $? -ne 0 ]; then + echo -e "* ${RED}FAIL!${NC} for ulib - make returned $?" exit 1 else - echo -e "* ${GREEN}PASSED!${NC} for examples/hello ocaml" + echo -e "* ${GREEN}PASSED!${NC} for ulib" fi diag "-- Verify all examples --" diff --git a/CHANGES.md b/CHANGES.md index 4f2a60f810a..d7e2e8d1e70 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -18,6 +18,18 @@ Guidelines for the changelog: * Friend modules (https://github.com/FStarLang/FStar/wiki/Friend-modules) ## Core typechecker + * Cf. issue https://github.com/FStarLang/FStar/issues/1055, + F* now enforces that unannotated, effectful functions have a + trivial precondition (this is already the case for pure functions). + + See some testcases in `examples/bug-reports/Bug1055.fst`. + + The check is performed under a new flag `--trivial_pre_for_unannotated_effectful_fns`, + which is `true` by-default. + + This is a breaking change, see this commit for how we fixed the F* examples: + https://github.com/FStarLang/FStar/commit/24bbae4b93a9937695160dff381625adb6565d28 + * Revised typechecking of nested patterns and ascriptions on patterns, fixing unsoundnesses (issue #238, for example) @@ -177,6 +189,14 @@ Guidelines for the changelog: is not already_cached in a location that is not the same as its expected output location, we raise Warning 321. +## Command line options + + * [PR #1711](https://github.com/FStarLang/FStar/pull/1711): Where + options take lists of namespaces as arguments + (`--already_cached`, `--extract`, `--using_facts_from`, etc.), + those lists of namespaces can be given under the form `+A -B +C` + (space-separated) or `+A,-B,+C` (comma-separated). + # Version 0.9.6.0 ## Command line options diff --git a/CONTRIBUTIONS.md b/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTIONS.md rename to CONTRIBUTING.md diff --git a/INSTALL.md b/INSTALL.md index 95bae994685..dab8587a885 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -28,13 +28,17 @@ or our new [even cooler online editor] (experimental). ## OPAM package ## -If the OCaml package manager is present on your platform, you can +If the OCaml package manager (OPAM) is present on your platform, you can install the latest development version of F\* (`master` branch) and required dependencies (except for Z3) using the following commands: $ opam pin add fstar --dev-repo $ opam install fstar +Note: To install OCaml and OPAM on your platform please read the +[Working OCaml setup](#prerequisite-for-steps-2-and-3-working-ocaml-setup) +section further below, steps 0 to 3. + ## Binary releases ## Every now and then we release [F\* binaries on GitHub] (for Windows, Mac, and Linux) @@ -65,7 +69,7 @@ following commands. (On Windows this requires Cygwin and `make`) date=yyyy-mm-ddThh:nn:ss+02:00 commit=xxxxxxxx $ z3 --version - Z3 version 4.5.1 - 64 bit - build hashcode 1f29cebd4df6 + Z3 version 4.8.5 - 64 bit Note: if you are using the binary package and extracted it to, say, the `fstar` directory, then both `fstar.exe` and `z3` are in @@ -75,12 +79,17 @@ following commands. (On Windows this requires Cygwin and `make`) $ make -C examples/micro-benchmarks -3. If you have OCaml installed the following command should print "Hello F\*!" - You need the same version of OCaml as was used to create the - `fstar.exe` binary (which you can see with `fstar.exe --version`, - as illustrated above). +3. If you have OCaml installed and intend to extract and compile OCaml code + against the F* library, please rebuild it with: + + $ make -C ulib install-fstarlib + + Then the following command should print "Hello F\*!" + + $ make -C examples/hello hello - $ make -C examples/hello ocaml + See [here](https://github.com/FStarLang/FStar/wiki/Executing-F*-code) for + further documentation on extracting and executing F* code. Note: to have a working OCaml install, please first read the [Working OCaml @@ -91,16 +100,12 @@ following commands. (On Windows this requires Cygwin and `make`) $ opam install ocamlfind batteries stdint zarith ppx_deriving ppx_deriving_yojson ocaml-migrate-parsetree process - Note: If you hand-rolled your own F* binary then remember that you need to - also build our OCaml support library, as further documented - [here](https://github.com/FStarLang/FStar/wiki/Executing-F*-code): - - $ make -C ulib/ml - 4. You can verify the F* library and all the examples, keeping in mind that this might take a long time. - $ make -j6 -C ulib examples + $ make -j6 -C ulib + $ echo $? # non-zero means build failed! scroll up for error message! + $ make -j6 -C examples $ echo $? # non-zero means build failed! scroll up for error message! Note: Some of the examples require having OCaml installed (as for step 3 above). @@ -186,7 +191,7 @@ Some convenience Makefile targets are available: ### Prerequisites: Working OCaml setup ### -The steps require a working OCaml setup. OCaml version 4.04.X, 4.05.X, 4.06.X, or 4.07.0 should work. +The steps require a working OCaml setup. OCaml version 4.04.X, 4.05.X, 4.06.X, or 4.07.X should work. #### Instructions for Windows #### @@ -199,7 +204,7 @@ The steps require a working OCaml setup. OCaml version 4.04.X, 4.05.X, 4.06.X, o - Can be installed using either your package manager or using OPAM (see below). -1. Install OPAM (version 1.2.x). +1. Install OPAM (version 1.2.x or later). - Installation instructions are available at various places (e.g., https://dev.realworldocaml.org/install.html @@ -227,7 +232,7 @@ The steps require a working OCaml setup. OCaml version 4.04.X, 4.05.X, 4.06.X, o 4. F\* depends on a bunch of external OCaml packages which you should install using OPAM: ```sh - $ opam install ocamlbuild ocamlfind batteries stdint zarith yojson fileutils pprint menhir ulex ppx_deriving ppx_deriving_yojson process pprint + $ opam install ocamlbuild ocamlfind batteries stdint zarith yojson fileutils pprint menhir ulex ppx_deriving ppx_deriving_yojson process ``` **Note:** this list of packages is longer than the list in the diff --git a/README.md b/README.md index 9893123ef37..6a140391c46 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,6 @@ various F* announcements are made to the general public (e.g. for releases, new papers, etc) and where users can ask questions, ask for help, discuss, provide feedback, announce jobs requiring at least 10 years of F* experience, etc. - [List archives] are public and [searchable], but only members can post. [Join here][fstar-club mailing list]! @@ -99,27 +98,11 @@ that your problem still exists on the `master` branch. ### Contributing -See [CONTRIBUTIONS.md](https://github.com/FStarLang/FStar/blob/master/CONTRIBUTIONS.md) +See [CONTRIBUTING.md](https://github.com/FStarLang/FStar/blob/master/CONTRIBUTING.md) ### License -This new variant of F* is released under the [Apache 2.0 license]; -see `LICENSE` for more details. +F* is released under the [Apache 2.0 license]; for more details +see [LICENSE](https://github.com/FStarLang/FStar/blob/master/LICENSE) [Apache 2.0 license]: https://www.apache.org/licenses/LICENSE-2.0 - -### Towards F* version 1.0 - -This is a new variant of F* (carrying version 0.9.x) that is still in -development and we hope will eventually lead to a 1.0 release. This -new variant is incompatible and quite different compared to the -previously released [0.7 versions and earlier]. - -[0.7 versions and earlier]: https://github.com/FStarLang/FStar#old-f-versions-v071-and-earlier - -### Old F* versions (v0.7.1 and earlier) ### - -[F\* v0.7.1] and earlier are no longer maintained, so please do not -create any issues here about those versions. - -[F\* v0.7.1]: https://github.com/FStarLang/FStar/blob/stratified_last/.old/fstar-0.7.1-alpha.zip?raw=true diff --git a/_tags b/_tags index 4b7598cbed9..095d61f3b4f 100644 --- a/_tags +++ b/_tags @@ -10,7 +10,8 @@ true: \ annot, bin_annot, thread, -traverse, \ package(batteries), \ package(zarith), \ - package(ppx_deriving.std), package(ppx_deriving_yojson) + package(ppx_deriving.std), \ + package(ppx_deriving_yojson) # ADL: the new unicode lexer "src/parser/ml/FStar_Parser_LexFStar.ml": syntax(camlp4o) @@ -47,3 +48,29 @@ true: \ <**/FStar_Monotonic_Seq.ml>: \ principal + + +# +# To use landmarks to profile ocaml code: +# - make sure landmarks is installed with opam (opam install landmarks) +# - enable the landmarks and landmarks.ppx packages +# - select the modules for auto-instrumentation +# - build the compiler +# - run the compiler with OCAML_LANDMARKS='on,output=landmarks.out' +# +# Uncomment the following to add the packages: +# +# true: \ +# package(landmarks), \ +# package(landmarks.ppx) +# +# Uncomment the following to profile specific modules: +# +# : \ +# ppx(`ocamlfind query landmarks.ppx`/ppx.exe --as-ppx --auto) +# +# +# NB: the fully inclusive landmarks ppx on ocaml-output/**/*.ml files can cause a stack overflow +# : \ +# ppx(`ocamlfind query landmarks.ppx`/ppx.exe --as-ppx --auto) +# diff --git a/bin/.gitignore b/bin/.gitignore index 58eca1c7400..3bd89abe196 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -8,3 +8,4 @@ fstar.exe fstar.fsharp FsLexYacc.Runtime.dll *.XML +*lib/META diff --git a/build_local.sh b/build_local.sh index 6750dfff124..510cf4c75b5 100755 --- a/build_local.sh +++ b/build_local.sh @@ -1,15 +1,16 @@ #!/usr/bin/env bash +set -e # Look for config.json file FILE=".docker/build/config.json" -if [ ! -f $FILE ]; then +if [[ ! -f $FILE ]]; then echo "File $FILE does not exist." fi # In case you want to build windows, change agentOS here to windows-nt if OSTYPE is not working agentOS=linux if [[ "$OSTYPE" == "cygwin" ]]; then - agentOS=windows-nt + agentOS=linux #windows-nt fi DOCKERFILE=$(jq -c -r ".DockerFile" "$FILE") @@ -31,12 +32,12 @@ REQUESTEDBRANCHNAME=$(jq -c -r ".BranchName" "$FILE") REQUESTEDCOMMITID=$(jq -c -r ".BaseContainerImageTagOrCommitId" "$FILE") COMMITURL=$(jq -c -r ".GithubCommitUrl" "$FILE")/$REQUESTEDBRANCHNAME -if [ $(jq -c -r ".GithubCommitUrl" "$FILE") -ne "latest" ]; then +if [[ $(jq -c -r ".BaseContainerImageTagOrCommitId" "$FILE") -ne "latest" ]]; then COMMITURL=$(jq -c -r ".GithubCommitUrl" "$FILE")/$REQUESTEDCOMMITID fi -CONTENT=$(curl $COMMITURL) -FULLCOMMITID="$( echo ${CONTENT} | sed 's/.*commit\/\([^"]*\).*/\1/g' )" +LINE="$( git ls-remote ${COMMITURL%"/commit/master"} HEAD)" +FULLCOMMITID="$( echo ${LINE} | cut -f1 )" COMMITID=${FULLCOMMITID:0:12} # create fake files ssh key, commitinfofilename.json, etc @@ -44,7 +45,7 @@ echo "fake" > id_rsa echo "fake" > commitinfofilename.json # build container -docker build --file Dockerfile --build-arg BUILDLOGFILE="buildlogfile.txt" --build-arg MAXTHREADS="8" --build-arg TARGET="$BUILDTARGET" --build-arg BRANCHNAME="$LOCALBRANCHNAME" --build-arg COMMITID="$COMMITID" --build-arg DOCKERHUBPROJECT="projecteverest/" --tag "$PROJECTNAME:local" . +docker build --file Dockerfile --build-arg BUILDLOGFILE="buildlogfile.txt" --build-arg MAXTHREADS="8" --build-arg BUILDTARGET="$BUILDTARGET" --build-arg BRANCHNAME="$LOCALBRANCHNAME" --build-arg COMMITID="$COMMITID" --build-arg DOCKERHUBPROJECT="projecteverest/" --tag "$PROJECTNAME:local" . # delete fake files rm -f id_rsa @@ -54,4 +55,4 @@ rm -f commitinfofilename.json for f in $DEPFILES; do rm -f $(basename $f); done # delete dockerfile -rm -f Dockerfile \ No newline at end of file +rm -f Dockerfile diff --git a/doc/tutorial/code/exercises/Ex01a.fst.hints b/doc/tutorial/code/exercises/Ex01a.fst.hints index 37d7a3723e0..d46103d2048 100644 --- a/doc/tutorial/code/exercises/Ex01a.fst.hints +++ b/doc/tutorial/code/exercises/Ex01a.fst.hints @@ -18,7 +18,7 @@ "projection_inverse_FStar.Pervasives.V_v" ], 0, - "6b11d730c8ed4f30624f77e21a6b4737" + "fbc5c5b41cab98880558740e221abb8e" ], [ "Ex01a.checkedRead", @@ -27,7 +27,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "968e22e40200dd508b2e075c9f658d60" + "1de051172e351aead9c6eac82e5edb6b" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex03a.fst.hints b/doc/tutorial/code/exercises/Ex03a.fst.hints index d81f0b25465..983d53ce9d8 100644 --- a/doc/tutorial/code/exercises/Ex03a.fst.hints +++ b/doc/tutorial/code/exercises/Ex03a.fst.hints @@ -9,15 +9,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_83752f706b2a3b6e453989c3c43318d8_0", + "binder_x_717cd45ee01469f780e77315120157cb_0", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "7613eef3f717c4cb68e47a86c1501e8c" + "464ca168c2f42f39da0714bb57b0ca19" ], [ "Ex03a.factorial", @@ -27,15 +27,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_83752f706b2a3b6e453989c3c43318d8_0", + "binder_x_717cd45ee01469f780e77315120157cb_0", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "c05b7c9b8c0593d925906a0405d5ebb2" + "7ab0a9325ad5cff4d9cd81f8687ce57d" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex03b.fst.hints b/doc/tutorial/code/exercises/Ex03b.fst.hints index 91a3ef445a9..bd4b8fe6e9d 100644 --- a/doc/tutorial/code/exercises/Ex03b.fst.hints +++ b/doc/tutorial/code/exercises/Ex03b.fst.hints @@ -9,13 +9,14 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "int_inversion", - "int_typing", "primitive_Prims.op_LessThanOrEqual", + "binder_x_ae567c2fb75be05905677af440075565_0", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "86808d56180c574549018c5bd44440d4" + "1ed22027a6c01920ca13ef681dd88593" ], [ "Ex03b.fibonacci", @@ -25,13 +26,14 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "int_inversion", - "int_typing", "primitive_Prims.op_LessThanOrEqual", + "binder_x_ae567c2fb75be05905677af440075565_0", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "b7cab1b4b3ab03e7666a331007f8e95c" + "084491cdfeee75674954b60bb5bdbd36" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex03c.fst.hints b/doc/tutorial/code/exercises/Ex03c.fst.hints index 66d5d11a600..a76aa3e1673 100644 --- a/doc/tutorial/code/exercises/Ex03c.fst.hints +++ b/doc/tutorial/code/exercises/Ex03c.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "caff5b503ec486c0faa2f307443372d7" + "d7b48e56e1b1dcbebdfe827e2a1bd361" ], [ "Ex03c.fibonacci", @@ -27,17 +25,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "1fa62aef8b32cdcd4b2ab41499b45b81" + "c140679c9f14c0ee33fcb6ca5a5d447c" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex04a.fst.hints b/doc/tutorial/code/exercises/Ex04a.fst.hints index c6884239c4b..df6478e77c9 100644 --- a/doc/tutorial/code/exercises/Ex04a.fst.hints +++ b/doc/tutorial/code/exercises/Ex04a.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "6532dd0056d3c470c05ec4b4870267c6" + "bb73f513103a453119d78b9849cf9953" ], [ "Ex04a.append", @@ -32,7 +30,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2c60d1131aa6fed8b79396cf21dce065" + "659a13b60e871ddfb9aa453aa4dbb21f" ], [ "Ex04a.length", @@ -41,17 +39,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "3581a4dc9bfe3d9cc4f80657a320388e" + "ad29c3a98af81d020926879857fdabe7" ], [ "Ex04a.append", @@ -65,7 +61,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "8071fd606870c3213f6c4680e598641e" + "9a883357e2955847315139b08e7376a3" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex04b.fst.hints b/doc/tutorial/code/exercises/Ex04b.fst.hints index 5b95658403f..d80e19c7210 100644 --- a/doc/tutorial/code/exercises/Ex04b.fst.hints +++ b/doc/tutorial/code/exercises/Ex04b.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "ea4f81a8242fb72290a8ef2ad06f67f3" + "7eb19ff567912362699f52e516deccf1" ], [ "Ex04b.append", @@ -33,7 +31,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "f909d96b30fe900e83f93ec257085e7d" + "e135eaac2477f6eb8a2851f1554f40b1" ], [ "Ex04b.length", @@ -42,17 +40,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "939d0703f1e956af4898d7701148a098" + "8e608408db14c543380601b0719a3de3" ], [ "Ex04b.append", @@ -66,7 +62,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "6c19d280a4c2ef9a5af1aba167d2efe6" + "0a9a01a4d4f544a83352faf254ffd39a" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex04c.fst.hints b/doc/tutorial/code/exercises/Ex04c.fst.hints index 52bbbab621e..4c507287faa 100644 --- a/doc/tutorial/code/exercises/Ex04c.fst.hints +++ b/doc/tutorial/code/exercises/Ex04c.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f50bc77c6476cacadbb3c6eb49f5abf9" + "28df426f4d23846b143fbbf6a85929a4" ], [ "Ex04c.mem", @@ -22,13 +22,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "819a8881974cdde21e45d1abc14dce64" + "a573cb6c38cd1c05285f6f059fda6c0c" ], [ "Ex04c.append", @@ -42,7 +42,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "34de6c6737c0e2206f78eedb4d22cec7" + "a26ccead5a26a7e94cfe6ab5027c4666" ], [ "Ex04c.mem", @@ -51,13 +51,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "c676b0da51fc175a415d03e187d82fa7" + "05e13ccd6839fa0845f8c529d6795dfd" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex04e.fst.hints b/doc/tutorial/code/exercises/Ex04e.fst.hints index 9896a7cca23..11c7d18da8c 100644 --- a/doc/tutorial/code/exercises/Ex04e.fst.hints +++ b/doc/tutorial/code/exercises/Ex04e.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "9111c9e364cf19b03857f10ca6547241" + "eb2bb82adb5e0a2d5535d821f7073945" ], [ "Ex04e.__proj__Some__item__v", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_5940fa0a1398f97ef02a98908357b71e" ], 0, - "d46dd3821588ee30db11d66d11f38c6c" + "ee8574847b9a2b1e7b2f096a160daca9" ], [ "Ex04e.find", @@ -35,7 +35,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "dd7a32a4c6dd36db8ccad4f96c82dd8f" + "171df9ea169fc829015d9a6096b502fa" ], [ "Ex04e.option", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "2003959746db3a1f8d9dd08099f32ad9" + "5981740273df845e7edae2de0dfe50a5" ], [ "Ex04e.__proj__Some__item__v", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_5940fa0a1398f97ef02a98908357b71e" ], 0, - "8659f8a27a8a2118177ca7eefd9c40cf" + "90e4acf57856b35f5e636fbf9a0019ce" ], [ "Ex04e.find", @@ -71,7 +71,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e5e473b6046cee9ab3b933a69ae6dbdd" + "ffb0bc7cd150f29ba23d67d5df4c2202" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex04f.fst.hints b/doc/tutorial/code/exercises/Ex04f.fst.hints index 6cd99b79801..1e41d7d9efa 100644 --- a/doc/tutorial/code/exercises/Ex04f.fst.hints +++ b/doc/tutorial/code/exercises/Ex04f.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "592ce137431b3b76ed91517b275efdc9" + "ad8dff067a1e691dbaca3837a976cef9" ], [ "Ex04f.reverse", @@ -29,7 +29,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "737f3d2d49e1ddbd0fe839606a6c8251" + "d079cd50c97629f93381bb1a6ebf4942" ], [ "Ex04f.append", @@ -43,7 +43,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "aa1772fd919939ab6ca723989173c05f" + "904e7e4b711192f316239d6f981e1c69" ], [ "Ex04f.reverse", @@ -57,7 +57,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "d3bba17ab6c7729693b8ddb55ea4c680" + "2871221c395527bc6747ace32077dc50" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex05a.fst.hints b/doc/tutorial/code/exercises/Ex05a.fst.hints index 0c0770c1096..4017d032b27 100644 --- a/doc/tutorial/code/exercises/Ex05a.fst.hints +++ b/doc/tutorial/code/exercises/Ex05a.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "8a99e858d88ea49f094a5eeda6da3e0c" + "d249ebb5c52dd9fba0379064369d5391" ], [ "Ex05a.reverse", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "34cd6b4da7e333fa911807852f3d7d23" + "f07d04be7df08dfb9e6e46b6b82155bd" ], [ "Ex05a.rev", @@ -42,7 +42,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "36563915950b6a3c3761ce9166dc326a" + "154c43050f0b3909c90c66bdd3bc3257" ], [ "Ex05a.append_assoc", @@ -67,7 +67,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex05a.append" ], 0, - "840dd407c620f18ebac06ea7e9a8c59c" + "ee0292fd890fe91a70a4cfea37219fb7" ], [ "Ex05a.append", @@ -81,7 +81,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "cb1c8f97bec3af2fef9ff311c80105ed" + "35995f3dbda19630583ad0a2d692e03d" ], [ "Ex05a.reverse", @@ -95,7 +95,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "c48450fdd4da3bb5fbdd2ddcda460b53" + "04fc6bbe69caeb5bf94b1cd911dc0556" ], [ "Ex05a.rev", @@ -110,7 +110,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "643adf3aeb26270a52b79b1009693001" + "a645099a686e072bc08567e66bd6e3f6" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex05b.fst.hints b/doc/tutorial/code/exercises/Ex05b.fst.hints index 0a1ab24eee6..de949054cc1 100644 --- a/doc/tutorial/code/exercises/Ex05b.fst.hints +++ b/doc/tutorial/code/exercises/Ex05b.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "4d38d9c6487c96a1ba2abcae4e364134" + "15cf29de5482516574ab2ca19b6a341f" ], [ "Ex05b.fib", @@ -28,17 +26,17 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "db68a33b4d1773c1589631e1571653ef" + "90302324bb876f24d67921a5fd3c5019" ], [ "Ex05b.fib_is_ok", @@ -48,11 +46,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a12ac5fb004cd4f471827f934a55b656" + "cada196ceeb0d812d22a0949b4057167" ], [ "Ex05b.fibonacci", @@ -61,17 +59,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "34b34b0d9a71258918fd67c88ef75ba5" + "0384a8b15ef83c945499f7cd6596bf5b" ], [ "Ex05b.fib", @@ -81,17 +77,17 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "1e76eb537203086f33fd52110133cc48" + "e8112593041441638b0460047d8b6bcb" ], [ "Ex05b.fib_is_ok", @@ -101,11 +97,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0698171ac76dffd97b7fad6fa8d3a69a" + "7803b14fbaf210389cd7d37c911be930" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex06b.fst.hints b/doc/tutorial/code/exercises/Ex06b.fst.hints index 4a3217976f8..9f8dd04951b 100644 --- a/doc/tutorial/code/exercises/Ex06b.fst.hints +++ b/doc/tutorial/code/exercises/Ex06b.fst.hints @@ -8,13 +8,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "ae3652fb886c0ea01f3537f4e49fa75d" + "91187e3b33cedc7840795b7ab3c6ff16" ], [ "Ex06b.append", @@ -29,7 +29,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "24fe7f491c0fb3433ce32fd6159fd79c" + "39e266aa92eceb22962ff83df320e1a6" ], [ "Ex06b.append_mem", @@ -42,9 +42,9 @@ "@fuel_correspondence_Ex06b.mem.fuel_instrumented", "@fuel_irrelevance_Ex06b.append.fuel_instrumented", "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", @@ -60,7 +60,7 @@ "typing_Ex06b.mem" ], 0, - "5833976a41ebda5008324e9b6bee902d" + "55ee55b1ccc5afc65b54c869fb3db07e" ], [ "Ex06b.length", @@ -69,17 +69,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "ec6087f08d532de1325bc17f80e93bb0" + "3bc7c19a4b69fdb16bf0b239fdf10aff" ], [ "Ex06b.sorted", @@ -89,7 +87,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", @@ -100,7 +98,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "10071480681cc005627c0bc86870f2af" + "7cd6825927e9ec4a67f494694c3c14fe" ], [ "Ex06b.partition", @@ -115,7 +113,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "76919ffe92bdce84da211014566bae94" + "4923a1bb096828d4d17c671c6e398fcd" ], [ "Ex06b.partition_lemma", @@ -130,28 +128,24 @@ "@fuel_irrelevance_Ex06b.length.fuel_instrumented", "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@fuel_irrelevance_Ex06b.partition.fuel_instrumented", "@query", - "Ex06b_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", + "Ex06b_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "Ex06b_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Ex06b.length.fuel_instrumented", "equation_with_fuel_Ex06b.mem.fuel_instrumented", "equation_with_fuel_Ex06b.partition.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_Prims.list@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_Prims.list@tok", "primitive_Prims.op_Addition", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -162,14 +156,15 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "subterm_ordering_Prims.Cons", "typing_Ex06b.length", - "typing_Ex06b.mem", "typing_Ex06b.partition", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", + "token_correspondence_Ex06b.mem.fuel_instrumented", + "typing_Ex06b.length", "typing_Ex06b.mem", "typing_Ex06b.partition", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd" ], 0, - "f0314edc6381584ad099f00eac9172b9" + "b88f30b0c9605893bedf94f921dd7437" ], [ "Ex06b.sorted_concat_lemma", @@ -185,9 +180,9 @@ "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@fuel_irrelevance_Ex06b.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "binder_x_7d17fa659c953fdef3ce6508b3e3c7af_0", - "binder_x_7d17fa659c953fdef3ce6508b3e3c7af_1", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_2", + "binder_x_d0a26d91c1b55e77e2a81e372c68139b_0", + "binder_x_d0a26d91c1b55e77e2a81e372c68139b_1", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -204,15 +199,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_23f1d07aadccb2100075c4417a573e74", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9ffa1cf1c02b4d110727a4b59211984e", "subterm_ordering_Prims.Cons", "token_correspondence_Ex06b.mem.fuel_instrumented", "token_correspondence_Ex06b.sorted.fuel_instrumented", "typing_Ex06b.append", "typing_Ex06b.mem", "typing_Ex06b.sorted" ], 0, - "32cccfc789e745bcc3c6eae75c3a02cf" + "21a89cceb4efad8fb396abebbe0e09a0" ], [ "Ex06b.sort", @@ -231,12 +226,12 @@ "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@fuel_irrelevance_Ex06b.partition.fuel_instrumented", "@fuel_irrelevance_Ex06b.sorted.fuel_instrumented", "@query", + "Ex06b_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "Ex06b_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", @@ -249,7 +244,7 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_925b52a6e0f6e373ec330ffa5222ee0a", + "interpretation_Tm_abs_e90601fbdab5eac89988438c26a551fb", "kinding_Prims.list@tok", "lemma_Ex06b.append_mem", "lemma_Ex06b.partition_lemma", "lemma_Ex06b.sorted_concat_lemma", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", @@ -263,21 +258,21 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_3724c37fe47e87ebf904dcc0159a0359", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b9132e9f384c3870ad7ea4acf9f53451", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e45aed3666b672d683e32306b00bdcce", + "refinement_interpretation_Tm_refine_536087845b91fc40245269e59e3821c7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Ex06b.length.fuel_instrumented", "token_correspondence_Ex06b.mem.fuel_instrumented", "token_correspondence_Ex06b.sorted.fuel_instrumented", "typing_Ex06b.append", "typing_Ex06b.length", "typing_Ex06b.mem", "typing_Ex06b.partition", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", - "typing_Tm_abs_925b52a6e0f6e373ec330ffa5222ee0a", + "typing_Tm_abs_e90601fbdab5eac89988438c26a551fb", "well-founded-ordering-on-nat" ], 0, - "efbf4f92f74bad5090b3a91f9c5d8532" + "6cbbf8874ea470ab3a76738408b25981" ], [ "Ex06b.mem", @@ -286,13 +281,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "9f1f7d18c364e954f43e527fe8746bc2" + "8b5f536b878d7a91b046627a286a435d" ], [ "Ex06b.append", @@ -306,7 +301,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "8dd8f01b2214ad054b8d3a3da2b9cfe0" + "d797b6c69c8a6c927c7a436fc60787de" ], [ "Ex06b.length", @@ -315,17 +310,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "aef7f47fadfefbae1c6fddfeff052105" + "3adba6c5e23a6c17985d91c251a6b699" ], [ "Ex06b.sorted", @@ -335,7 +328,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", @@ -346,7 +339,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "44021ec985c945c8f2f28c0a1e3b2446" + "f2b4586c7bee34267a6a8336fbb7fe06" ], [ "Ex06b.partition", @@ -360,7 +353,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "a421663a33de791f1ac9effbdf2dddd3" + "10e51fb019305d6c0ca823dfbbe0c60c" ], [ "Ex06b.sort", @@ -379,12 +372,12 @@ "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@fuel_irrelevance_Ex06b.partition.fuel_instrumented", "@fuel_irrelevance_Ex06b.sorted.fuel_instrumented", "@query", + "Ex06b_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "Ex06b_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", @@ -397,7 +390,7 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_925b52a6e0f6e373ec330ffa5222ee0a", + "interpretation_Tm_abs_e90601fbdab5eac89988438c26a551fb", "kinding_Prims.list@tok", "lemma_Ex06b.append_mem", "lemma_Ex06b.partition_lemma", "lemma_Ex06b.sorted_concat_lemma", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", @@ -411,21 +404,21 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_3724c37fe47e87ebf904dcc0159a0359", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b9132e9f384c3870ad7ea4acf9f53451", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e45aed3666b672d683e32306b00bdcce", + "refinement_interpretation_Tm_refine_536087845b91fc40245269e59e3821c7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Ex06b.length.fuel_instrumented", "token_correspondence_Ex06b.mem.fuel_instrumented", "token_correspondence_Ex06b.sorted.fuel_instrumented", "typing_Ex06b.append", "typing_Ex06b.length", "typing_Ex06b.mem", "typing_Ex06b.partition", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", - "typing_Tm_abs_925b52a6e0f6e373ec330ffa5222ee0a", + "typing_Tm_abs_e90601fbdab5eac89988438c26a551fb", "well-founded-ordering-on-nat" ], 0, - "10261f2ad91c9bcc64de030f79a70e6e" + "989f072bd140c806025ffc0c99c8ea67" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex06e.fst.hints b/doc/tutorial/code/exercises/Ex06e.fst.hints index 7f5886e1ccc..5ea199ee244 100644 --- a/doc/tutorial/code/exercises/Ex06e.fst.hints +++ b/doc/tutorial/code/exercises/Ex06e.fst.hints @@ -9,7 +9,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", @@ -20,7 +20,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "df9f318a1b159fa27ea0cd3c9c0ca547" + "f4d8771a99503a73a22af22b6e40c521" ], [ "Ex06e.mem", @@ -30,16 +30,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_1", + "binder_x_66b03f5c7897b05649fed8196554c587_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", - "int_inversion", "projection_inverse_Prims.Cons_tl", - "subterm_ordering_Prims.Cons" + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "subterm_ordering_Prims.Cons" ], 0, - "23676bbe966833f5426ef70b0cb6d74b" + "0503c703224a7606e16a5ba56d3529b2" ], [ "Ex06e.sorted", @@ -49,7 +48,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", @@ -60,7 +59,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "eeeb739695092c6dacbf3ccdcac83c68" + "0df802a1b48122043e9ceed8d4755489" ], [ "Ex06e.mem", @@ -70,16 +69,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_1", + "binder_x_66b03f5c7897b05649fed8196554c587_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", - "int_inversion", "projection_inverse_Prims.Cons_tl", - "subterm_ordering_Prims.Cons" + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "subterm_ordering_Prims.Cons" ], 0, - "99edc13678e5a8c317f21fe4642749e5" + "de20ad0b15665798284b606c3923f402" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex07a.fst.hints b/doc/tutorial/code/exercises/Ex07a.fst.hints index 98b66005445..339894dfa47 100644 --- a/doc/tutorial/code/exercises/Ex07a.fst.hints +++ b/doc/tutorial/code/exercises/Ex07a.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f63f85862545b21786879ef0b74f51a6" + "ffe6394b3aba6a387c37fbe67f5279d5" ], [ "Ex07a.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "04f0ba48e642b09a2261fccae06f618a" + "0eb776c62761f445c16ee5443f1cc235" ], [ "Ex07a.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "ec34c50f88a75f01178f9a64de998e3c" + "9fdcd8cce1875f54149e174349b98598" ], [ "Ex07a.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "0f504aa3480da0d60d5a416bde07cb7e" + "8d58fa50d6d1a7f54636e03124ebc227" ], [ "Ex07a.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_f7bc5dc78a06806c9611435fda0e6d8d" ], 0, - "a8a69a238c32b20523a3b179b535810f" + "b289a407abcad92492aca9a6714a461f" ], [ "Ex07a.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "a2d4355eb5208f95930e6942ae0561f7" + "51abb2efe68bdd025aa5b6d871ad3df7" ], [ "Ex07a.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "134356f433604f7cc4b8169ca7cd89ef" + "0367d8593f166e607cef5348cb03b390" ], [ "Ex07a.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "844002491cf8a1ca84087178c8604685" + "7a8372026b48306cf059d22c76e17db5" ], [ "Ex07a.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "606fd1f7b0da73e042462da0668056ef" + "b3d307ea259a5b2df834f5196cee07ca" ], [ "Ex07a.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "3e5df645b96c0be5fd97abc87d3fa3bf" + "cb42c9de1f50dfcd6f64c977c67d0ed4" ], [ "Ex07a.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "1f3da587ab7691facf8006ade9e45b2a" + "713eefdb31973dd7c0b7c69e199a339e" ], [ "Ex07a.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "ec3f8eb2cf5adb26745a5a96d72d8d54" + "9163565d1748956ba9bb1be9bb19a77d" ], [ "Ex07a.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "3737236363f7ec7170bfd964673b104d" + "455e2fc3bace66696be12e144af238dd" ], [ "Ex07a.subst", @@ -193,7 +193,7 @@ "subterm_ordering_Ex07a.EIf" ], 0, - "09cba8927ef822aeb7594d1560b52697" + "435627d0cfd3c05b25a51868297b7d0d" ], [ "Ex07a.step", @@ -213,7 +213,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "64d51dd34c519b390b6f3922ec012477" + "437d8d7cd89642f109fe91310af5bc63" ], [ "Ex07a.typing", @@ -239,7 +239,7 @@ "typing_tok_Ex07a.TBool@tok" ], 0, - "a9dbb8189d56fe3b2ce59d1d2d472c94" + "f16e05feca4b312fb6891cb42b6aeb08" ], [ "Ex07a.progress", @@ -268,13 +268,13 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.empty", - "equation_Ex07a.env", "equation_Ex07a.is_value", + "equation_Ex07a.is_value", "equation_with_fuel_Ex07a.step.fuel_instrumented", "equation_with_fuel_Ex07a.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07a.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07a.empty", "kinding_Ex07a.exp@tok", - "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", + "kinding_Ex07a.exp@tok", "kinding_Ex07a.ty@tok", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07a.EAbs__0", "projection_inverse_Ex07a.EAbs__1", @@ -291,14 +291,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", "token_correspondence_Ex07a.empty", + "subterm_ordering_Ex07a.EIf", "typing_Ex07a.empty", "typing_Ex07a.is_value", "typing_Ex07a.step", "typing_Ex07a.typing", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_tok_Ex07a.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "4a08e46e752acf9f86da587a2444ea81" + "f0b46061386911c777d26338af718e49" ], [ "Ex07a.appears_free_in", @@ -320,7 +320,7 @@ "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf" ], 0, - "64803f126881111692b594bfc1a2f541" + "ffa4cba24a9b643d4acdba75edaee399" ], [ "Ex07a.free_in_context", @@ -336,9 +336,9 @@ "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", "Ex07a_pretyping_954d904f9a7601853684143df10460f5", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3887050c21e564ea07a71e34f1eb571c_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_896e04207a09217ae90a78b1619cef5a_1", "bool_inversion", + "binder_x_2d2a66942d22635d74194ee2adf88f89_2", + "binder_x_896e04207a09217ae90a78b1619cef5a_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", "constructor_distinct_Ex07a.EFalse", "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.ETrue", @@ -359,7 +359,7 @@ "function_token_typing_Ex07a.extend", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_17408360fedd78c2a21218b46909455a", + "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -386,7 +386,7 @@ "typing_tok_Ex07a.TBool@tok" ], 0, - "dec2954f88ff412d5fbabaff12152aba" + "95d26cefb305193874fb5b19116cec4f" ], [ "Ex07a.typable_empty_closed", @@ -402,7 +402,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07a.TBool@tok" ], 0, - "d380b902d93a7842dbd5dde845c6762d" + "076c2e703650337dabbe942350f15e07" ], [ "Ex07a.equal", @@ -415,7 +415,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "f14aa5d6a5d5f664b6bf581de8d88611" + "e9a28d957de9dea59365419ebb48ee08" ], [ "Ex07a.equalE", @@ -428,7 +428,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "fb49f2e0714ea24cc47657869cb3acf8" + "795b2068e20fc267b9cac5804a73b919" ], [ "Ex07a.context_invariance", @@ -446,8 +446,8 @@ "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_3887050c21e564ea07a71e34f1eb571c_1", - "binder_x_3887050c21e564ea07a71e34f1eb571c_2", + "binder_x_2d2a66942d22635d74194ee2adf88f89_1", + "binder_x_2d2a66942d22635d74194ee2adf88f89_2", "binder_x_896e04207a09217ae90a78b1619cef5a_0", "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", "constructor_distinct_Ex07a.EIf", @@ -466,7 +466,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_17408360fedd78c2a21218b46909455a", + "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -490,7 +490,7 @@ "typing_tok_Ex07a.TBool@tok", "unit_typing" ], 0, - "5d3613849610097fb65175afdb1dd2a0" + "82a420c49f3196063554b35f90d5b744" ], [ "Ex07a.typing_extensional", @@ -499,7 +499,7 @@ 1, [ "@query", "equation_Ex07a.equal", "equation_Ex07a.equalE" ], 0, - "3021d59c342e2a6451adecf71fac0862" + "c3e55c8a740814897cc0a760c6e112c6" ], [ "Ex07a.substitution_preserves_typing", @@ -517,10 +517,10 @@ "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", "Ex07a_pretyping_954d904f9a7601853684143df10460f5", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3887050c21e564ea07a71e34f1eb571c_3", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_2d2a66942d22635d74194ee2adf88f89_3", "binder_x_896e04207a09217ae90a78b1619cef5a_1", - "binder_x_896e04207a09217ae90a78b1619cef5a_2", "bool_inversion", + "binder_x_896e04207a09217ae90a78b1619cef5a_2", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", "constructor_distinct_Ex07a.EFalse", "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.ETrue", @@ -544,7 +544,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_17408360fedd78c2a21218b46909455a", + "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "kinding_Ex07a.ty@tok", "lemma_Ex07a.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -567,12 +567,12 @@ "subterm_ordering_Ex07a.EIf", "typing_Ex07a.appears_free_in", "typing_Ex07a.extend", "typing_Ex07a.subst", "typing_Ex07a.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_17408360fedd78c2a21218b46909455a", + "typing_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "typing_tok_Ex07a.EFalse@tok", "typing_tok_Ex07a.ETrue@tok", "typing_tok_Ex07a.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "a11a683ef8660ec2884443c4c6c99b5c" + "d804d7d21dc538625f6e4a319187140a" ], [ "Ex07a.preservation", @@ -586,7 +586,6 @@ "@fuel_irrelevance_Ex07a.step.fuel_instrumented", "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", "binder_x_896e04207a09217ae90a78b1619cef5a_0", "bool_inversion", "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.TBool", @@ -603,9 +602,8 @@ "equation_with_fuel_Ex07a.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07a.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07a.empty", "kinding_Ex07a.exp@tok", - "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07a.exp@tok", "kinding_Ex07a.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07a.EAbs__0", @@ -623,17 +621,15 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf", "token_correspondence_Ex07a.typing.fuel_instrumented", - "typing_Ex07a.extend", "typing_Ex07a.step", "typing_Ex07a.subst", - "typing_Ex07a.typing", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07a.TBool@tok", "unit_inversion", "unit_typing" + "typing_Ex07a.empty", "typing_Ex07a.step", "typing_Ex07a.subst", + "typing_Ex07a.typing", "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "unit_inversion", + "unit_typing" ], 0, - "52929904a544fc4f38846f66cca1a3ce" + "a00d6eccda545770ee0a896638801324" ], [ "Ex07a.typed_step", @@ -646,7 +642,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "68ab21d543cbc3e1ead282c876fc949a" + "cc803dc47511bdd7aba1104b602cef7c" ], [ "Ex07a.ty", @@ -655,7 +651,7 @@ 1, [ "@query" ], 0, - "f7ac6058110c174f2e68c8e7c68013a6" + "cdcf59d7070ed2bbbd5651066653674e" ], [ "Ex07a.__proj__TArrow__item___0", @@ -668,7 +664,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "0d2b87f56c0259455daf6693dfd073fc" + "34e8ddb2cf7fe448ef2ae0f883a0140c" ], [ "Ex07a.__proj__TArrow__item___1", @@ -681,7 +677,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "f30a475fb76942c6fa3121491e50e8ca" + "ffa49d9627efce472a78e94d36ca1789" ], [ "Ex07a.exp", @@ -693,7 +689,7 @@ "assumption_Prims.HasEq_int" ], 0, - "cb18413d3fb40c93b824fb3f1fe91029" + "199619b82b5e0bac2064beb6bcfbaffe" ], [ "Ex07a.__proj__EVar__item___0", @@ -706,7 +702,7 @@ "refinement_interpretation_Tm_refine_f7bc5dc78a06806c9611435fda0e6d8d" ], 0, - "d2702c2d15cb4dd952dd99ef607f942c" + "f680356f1b77c196befc1bb15698e0e2" ], [ "Ex07a.__proj__EApp__item___0", @@ -719,7 +715,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "3299a5b12bb5b614522bfe1659a4905b" + "ff992f1aa318c817e55b63019e20f6aa" ], [ "Ex07a.__proj__EApp__item___1", @@ -732,7 +728,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "4e8795ad0991e7a419de564b0dd2d7cb" + "d3b80b431b6ed5302bbdc045ae9b8f9c" ], [ "Ex07a.__proj__EAbs__item___0", @@ -745,7 +741,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "3ae08f3b393476225b8eb33a025aa690" + "cff6051c179d47b9181c36585ed3c779" ], [ "Ex07a.__proj__EAbs__item___1", @@ -758,7 +754,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "573464988880f587eeb3fd3e4fe71649" + "9173e80b696c7503b1462b8c45c61bf5" ], [ "Ex07a.__proj__EAbs__item___2", @@ -771,7 +767,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "0dc568f1303043c99e73a2b498bc8327" + "413a61b1d97e329b638da4517305a909" ], [ "Ex07a.__proj__EIf__item___0", @@ -784,7 +780,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "89fdb93fd37a9be70bc8788370fdad39" + "8f4d3100dc8640a6904cd303015a50ed" ], [ "Ex07a.__proj__EIf__item___1", @@ -797,7 +793,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "7b4393a2c0f6cd7c37059dbc871370b7" + "387d157d9d1842d4d355fd231b9f5a89" ], [ "Ex07a.__proj__EIf__item___2", @@ -810,7 +806,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "65bdd8cde69a1eec89fec2654b98c856" + "12e128e00abe1e5aa085f63c000238ca" ], [ "Ex07a.subst", @@ -829,7 +825,7 @@ "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf" ], 0, - "e6c7887d2e2854e738f98347fd497eed" + "8a7d4d2db21e2806ef725a8d97610923" ], [ "Ex07a.step", @@ -849,7 +845,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "075016f19365ddd734da3e342991d1f7" + "da2b03e2cb1999a2f820cf7247aab08b" ], [ "Ex07a.typing", @@ -875,7 +871,7 @@ "typing_tok_Ex07a.TBool@tok" ], 0, - "f9ef9a4c0e8f141ff59d8176f308ea86" + "a42b58d514598660e8e61faaa447b926" ], [ "Ex07a.appears_free_in", @@ -894,7 +890,7 @@ "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf" ], 0, - "cf53ea49b8c02126ab77c9a5516beb1d" + "83db1381212520ef4ed3decbfcbd28fa" ], [ "Ex07a.equal", @@ -907,7 +903,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "b4649e68d61a34826b272146482448b2" + "8c793d962f271e8669116c6a9b2f0626" ], [ "Ex07a.equalE", @@ -920,7 +916,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "57544b7eb0deb28507a43ee2125d2803" + "3953b6dc6ab65036c7b10da0ed90a24e" ], [ "Ex07a.typed_step", @@ -933,7 +929,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "0b923c58e7db6ff8657e9013c8fe47f5" + "d29abdb677aa3ebdeff4d29ae4f0cf92" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex07b.fst.hints b/doc/tutorial/code/exercises/Ex07b.fst.hints index 3751caaf7a4..a89bec8a759 100644 --- a/doc/tutorial/code/exercises/Ex07b.fst.hints +++ b/doc/tutorial/code/exercises/Ex07b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f5788f3ccda79ad782f171bf91978635" + "4f599b805a3f55657f1a224167050cd7" ], [ "Ex07b.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "36e3e0e1160dc65376c48dd2e5f638b7" + "c8cf9b82237cf0636a89618ab561743f" ], [ "Ex07b.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "a9f6701cfa6de99d8bd2e21fa360fead" + "e2bcb4f6ab711878d124b94aaee7d206" ], [ "Ex07b.__proj__TPair__item___0", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "c6635d0bb5436c90885b18369b20d202" + "3aa5e1b1e7b7e2938016abac8296bc62" ], [ "Ex07b.__proj__TPair__item___1", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "61815e6537b03a4c96e22b526d6efd43" + "a04905b2d0673e2301be89b922d62375" ], [ "Ex07b.exp", @@ -72,7 +72,7 @@ "assumption_Prims.HasEq_int" ], 0, - "5fd0e819ff1f9e250d347966333977c6" + "c7eef256d816b09d2b504aab1f278a7c" ], [ "Ex07b.__proj__EVar__item___0", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_b6f32956bd08cc9e186aefa06e30a826" ], 0, - "3b7490edce313f86d7f56627941bae1f" + "248752d285c25cbd0df99b9233aa29cd" ], [ "Ex07b.__proj__EApp__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "9074a4dea9ebb2ae261cb4695e6f55b8" + "8a3fc2de3550c282314e8a0d01022999" ], [ "Ex07b.__proj__EApp__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "4681e05edbd906640273714fca7867a3" + "5c48170e62d7ff9885ebaa702bca511e" ], [ "Ex07b.__proj__EAbs__item___0", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "cedc11aaefe904e8b3557b9dfc123dac" + "ea09a909024cfa73f6ed64e625e98dcf" ], [ "Ex07b.__proj__EAbs__item___1", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "b26de3137252003d71f2eae5316151cf" + "5d8d4a29ad045c7e067455c7c26d1511" ], [ "Ex07b.__proj__EAbs__item___2", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "44763733db9a4dc62753b73a1eb34d69" + "957c8f8bfb6966f60f1810f9b0c7a403" ], [ "Ex07b.__proj__EIf__item___0", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "b0220e71d6c91d7e43133f0363e05e9e" + "d894be6cb65c8e458387ea8d8e650bef" ], [ "Ex07b.__proj__EIf__item___1", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "0d52d36b3b832f076091a0b0c3c82b5a" + "5901eb0bf948fbd6b990ad9db0de6712" ], [ "Ex07b.__proj__EIf__item___2", @@ -189,7 +189,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "12c9ef76cb21baa2bc0d497337e350ab" + "9bb6d6e198b5ef51cd08aff785193057" ], [ "Ex07b.subst", @@ -212,7 +212,7 @@ "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EIf" ], 0, - "188677ee4bad8fabaaa7d1d94d9448f6" + "dd955820a26f761638ee17b9a93f8d54" ], [ "Ex07b.step", @@ -233,7 +233,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "02ddc586a4e2f08708abd7ccdce99ee9" + "d04097a03392b4cecae41bd9088ed06f" ], [ "Ex07b.typing", @@ -259,7 +259,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "8119652c9888f3750d6b8b73de96f8c2" + "1f5445156d89784e88a36230b4602a36" ], [ "Ex07b.progress", @@ -290,15 +290,15 @@ "disc_equation_Ex07b.ETrue", "disc_equation_Ex07b.EVar", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", + "equality_tok_Ex07b.EFalse@tok", "equality_tok_Ex07b.ETrue@tok", "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.empty", - "equation_Ex07b.env", "equation_with_fuel_Ex07b.is_value.fuel_instrumented", "equation_with_fuel_Ex07b.step.fuel_instrumented", "equation_with_fuel_Ex07b.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07b.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.empty", "kinding_Ex07b.exp@tok", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", + "kinding_Ex07b.exp@tok", "kinding_Ex07b.ty@tok", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07b.EAbs__0", "projection_inverse_Ex07b.EAbs__1", @@ -315,14 +315,15 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EIf", "token_correspondence_Ex07b.empty", + "subterm_ordering_Ex07b.EIf", "typing_Ex07b.empty", "typing_Ex07b.is_value", "typing_Ex07b.step", "typing_Ex07b.typing", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_tok_Ex07b.EFalse@tok", "typing_tok_Ex07b.ETrue@tok", "typing_tok_Ex07b.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "77cacf9e60fa56804fe940688436e250" + "7d7851b1c0ee37ce12a8924c11a0623b" ], [ "Ex07b.appears_free_in", @@ -346,7 +347,7 @@ "subterm_ordering_Ex07b.EIf" ], 0, - "192859944f3bf5b8bf4d605e198c150a" + "722e6a17a43c0dead24292d71bdb55da" ], [ "Ex07b.free_in_context", @@ -363,8 +364,8 @@ "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0ef6adeb4170009569fb43b575c6f114_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_fbe7af2a4359920bf1fe5c06ce0512e5_2", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_f36a46d9acf5432a0d30486e4ea96094_2", "bool_inversion", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EFalse", "constructor_distinct_Ex07b.EIf", "constructor_distinct_Ex07b.ETrue", @@ -385,7 +386,7 @@ "function_token_typing_Ex07b.extend", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_2508029bd10d1c010d2a408a13662b05", + "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -412,7 +413,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "e06fa1316bf5f122d1e600ed1fc3cadf" + "7e6a1e533c057d849c34878ebaa5ceea" ], [ "Ex07b.typable_empty_closed", @@ -428,7 +429,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07b.TBool@tok" ], 0, - "03df0736d7351526cd52b1dc67b093ed" + "460ebf3fdf918ce6e8c8477daa20a406" ], [ "Ex07b.equal", @@ -441,7 +442,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "e63e2b6ecf5a49a0ccea0934cc9b7a68" + "93c121a2ddb1950b74344e74399d521f" ], [ "Ex07b.equalE", @@ -454,7 +455,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "2fe3f4a5e7cff0e2917f9c6768ce7cac" + "9112382db66369ca004844e57fb2ec14" ], [ "Ex07b.context_invariance", @@ -473,8 +474,8 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_0ef6adeb4170009569fb43b575c6f114_0", - "binder_x_fbe7af2a4359920bf1fe5c06ce0512e5_1", - "binder_x_fbe7af2a4359920bf1fe5c06ce0512e5_2", + "binder_x_f36a46d9acf5432a0d30486e4ea96094_1", + "binder_x_f36a46d9acf5432a0d30486e4ea96094_2", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EIf", "constructor_distinct_FStar.Pervasives.Native.None", @@ -492,7 +493,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2508029bd10d1c010d2a408a13662b05", + "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -516,7 +517,7 @@ "typing_tok_Ex07b.TBool@tok", "unit_typing" ], 0, - "1d859824d40ca8be995f4bb5d9a2422f" + "ffae24e6f6dcf69b9a9f413f711b7077" ], [ "Ex07b.typing_extensional", @@ -525,7 +526,7 @@ 1, [ "@query", "equation_Ex07b.equal", "equation_Ex07b.equalE" ], 0, - "a0ac063e18c04a8dbdd6b6473a727439" + "b912c51aaf1d758b288f967444495cd3" ], [ "Ex07b.substitution_preserves_typing", @@ -533,11 +534,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07b.env", - "refinement_interpretation_Tm_refine_cd65a14cd9655dfb361f8658219d55af" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_475611d23cd96730d789f8e1dcabbdff" ], 0, - "9d4550a0563db82a30f171f0d689ef23" + "0b9969bfead3ed3d5424f6aced54d57d" ], [ "Ex07b.substitution_preserves_typing", @@ -545,11 +546,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07b.env", - "refinement_interpretation_Tm_refine_0e8e7ceffdc714301764480fdc8d9838" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_af2b91750c1daad0e168d11f3de7b1ff" ], 0, - "fd4d8778ad68ddc5588bbc23df8358aa" + "29985afd6e086b3e554500daee9bb10f" ], [ "Ex07b.substitution_preserves_typing", @@ -567,11 +568,10 @@ "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_0ef6adeb4170009569fb43b575c6f114_1", "binder_x_0ef6adeb4170009569fb43b575c6f114_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_cf11d77749284b21c151e4f410bf39dd_3", "bool_inversion", + "binder_x_95d774fda5ce3618a64b340549b3c2cc_3", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EFalse", "constructor_distinct_Ex07b.EIf", "constructor_distinct_Ex07b.ETrue", @@ -593,10 +593,9 @@ "equation_with_fuel_Ex07b.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07b.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_2508029bd10d1c010d2a408a13662b05", + "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", "kinding_Ex07b.ty@tok", "lemma_Ex07b.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -615,17 +614,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_36da4c0883bb42653b09b72f9c1a99d1", - "refinement_interpretation_Tm_refine_7550b0347b2434faff86e11e1817befa", + "refinement_interpretation_Tm_refine_570d88d267023a4b37691c0b7022df5b", + "refinement_interpretation_Tm_refine_f3a2fea33e36a5a4c280f1511998b4b1", "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EIf", "typing_Ex07b.appears_free_in", "typing_Ex07b.extend", "typing_Ex07b.subst", "typing_Ex07b.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_2508029bd10d1c010d2a408a13662b05", - "typing_tok_Ex07b.TBool@tok", "unit_typing" + "typing_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", + "typing_tok_Ex07b.TBool@tok" ], 0, - "06819f02c2913ad5daea4ec626cde71a" + "cd24492c508fa3cefefcfb894905630f" ], [ "Ex07b.preservation", @@ -634,10 +633,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e02b4c78a4e63c2a0c3dfb12a2cfb24d" + "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841" ], 0, - "a2511c81d3d48cae6e37a0714446a83d" + "8d7ec562aabb04d6d32ffe1296e8d7b8" ], [ "Ex07b.preservation", @@ -646,10 +645,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e647a1ee9a428dac131a803abc0b0c6d" + "refinement_interpretation_Tm_refine_0c12bf14bfa812897d13091c093766ac" ], 0, - "82cfcd7ba74780d3d68e104681939384" + "66e86612936da75cad77f02315a8a35b" ], [ "Ex07b.preservation", @@ -665,7 +664,7 @@ "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "binder_x_cbcddca324e8289002fb8be75e261d58_0", + "binder_x_16020332c6f82b0739119c0ba6182e74_0", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EIf", "constructor_distinct_Ex07b.TBool", "constructor_distinct_FStar.Pervasives.Native.None", @@ -675,16 +674,14 @@ "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EIf", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.env", - "equation_Ex07b.extend", + "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.extend", "equation_with_fuel_Ex07b.is_value.fuel_instrumented", "equation_with_fuel_Ex07b.step.fuel_instrumented", "equation_with_fuel_Ex07b.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07b.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.empty", "kinding_Ex07b.exp@tok", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07b.exp@tok", "kinding_Ex07b.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07b.EAbs__0", @@ -703,16 +700,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_e02b4c78a4e63c2a0c3dfb12a2cfb24d", + "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841", "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EIf", "token_correspondence_Ex07b.step.fuel_instrumented", "token_correspondence_Ex07b.typing.fuel_instrumented", - "typing_Ex07b.extend", "typing_Ex07b.step", "typing_Ex07b.typing", + "typing_Ex07b.empty", "typing_Ex07b.extend", "typing_Ex07b.step", + "typing_Ex07b.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07b.TBool@tok" ], 0, - "4d78ebc73581bf908447e5cee11f5651" + "14190af5d23be3c3fe7afd3c98067076" ], [ "Ex07b.ty", @@ -721,7 +719,7 @@ 1, [ "@query" ], 0, - "6ceb7f869fb86d2df8d7955c1ab36142" + "bd9c33f964e751e2e68d9c1f0982201c" ], [ "Ex07b.__proj__TArrow__item___0", @@ -734,7 +732,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "237b25185cbeb77f883fd0886de8bfe8" + "c239a012df00b7db7c05266d7691eb1f" ], [ "Ex07b.__proj__TArrow__item___1", @@ -747,7 +745,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "a1ba5434093ee02e7886ada72121e6e7" + "e5bfa3689aa49f3fa0da40f04d15a81b" ], [ "Ex07b.__proj__TPair__item___0", @@ -760,7 +758,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "24161cc6c5c74b74afb2aa5a99ae1f97" + "222f3ec9774a6389d47e5c03da5c3450" ], [ "Ex07b.__proj__TPair__item___1", @@ -773,7 +771,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "620535ff5dd90dd51bcae19a162db407" + "838a91a2f8d63a75ba7e907a3cec0e98" ], [ "Ex07b.exp", @@ -785,7 +783,7 @@ "assumption_Prims.HasEq_int" ], 0, - "77e6fab700920de486fdc551ba8c0180" + "50477bd478004b427fafa64ab414085c" ], [ "Ex07b.__proj__EVar__item___0", @@ -798,7 +796,7 @@ "refinement_interpretation_Tm_refine_b6f32956bd08cc9e186aefa06e30a826" ], 0, - "7bcfdad2de3c81e80490b229fd976330" + "d2031f1638976329338d1c0e1af5fbee" ], [ "Ex07b.__proj__EApp__item___0", @@ -811,7 +809,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "5c7918f1642212651af96c6af153fb2d" + "0ea498b3976aacd8a013d4d6529bc304" ], [ "Ex07b.__proj__EApp__item___1", @@ -824,7 +822,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "6a36199c118f5e214b70f3c5041a9594" + "96aaae767fc0f63d9edddfeb3461ab68" ], [ "Ex07b.__proj__EAbs__item___0", @@ -837,7 +835,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "72820ec84cb1925b470796a804cfb316" + "e1572a3cf12cb130258b7f413b9822e1" ], [ "Ex07b.__proj__EAbs__item___1", @@ -850,7 +848,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "b89d85fe229a68c3d1c9c8e2722b539c" + "5f97d8a1d76873cc3902ec6b1ac499da" ], [ "Ex07b.__proj__EAbs__item___2", @@ -863,7 +861,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "49c5b442c8d19c2cff23056a6e4ad0c1" + "eae347f691880496e2cd3f007868d3a3" ], [ "Ex07b.__proj__EIf__item___0", @@ -876,7 +874,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "1389578ae5e3595d265cdd58d6ecb8be" + "b4945352501b9ada845e23aca8577653" ], [ "Ex07b.__proj__EIf__item___1", @@ -889,7 +887,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "e3ed8715126aa905fe12629fb86b9425" + "fbee7dac35c36aff34abfc64e417a61d" ], [ "Ex07b.__proj__EIf__item___2", @@ -902,7 +900,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "c0638ff8e1ed469f47580e5eecfc8c97" + "e19b6ea52aa7d42d7de67aac466fe26d" ], [ "Ex07b.subst", @@ -921,7 +919,7 @@ "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EIf" ], 0, - "d7a2557caeaced03e3fcde2dc3759353" + "daaae76174758ce301047b78c16460af" ], [ "Ex07b.step", @@ -941,7 +939,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "221e84973f0b1da426d52ce0688883b7" + "484b736fa33d70b81baa449131caac4e" ], [ "Ex07b.typing", @@ -967,7 +965,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "0af1752b9ddeae09bd9c205a3d7a8917" + "ece7e0f4487fc59399008c60e833254d" ], [ "Ex07b.appears_free_in", @@ -986,7 +984,7 @@ "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EIf" ], 0, - "660adb6cfbacb644dd5e744c7ffa2dea" + "2b8220e3a415bfe39b4742c846562755" ], [ "Ex07b.equal", @@ -999,7 +997,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "c94754340b842ee95dc9618f8927f247" + "fc98a5977f87c36de47e24994f22f4b8" ], [ "Ex07b.equalE", @@ -1012,7 +1010,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "4a054deb9281ad4abb6706615933c272" + "e4387c315e7b43d54f8bad54293f7048" ], [ "Ex07b.substitution_preserves_typing", @@ -1020,11 +1018,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07b.env", - "refinement_interpretation_Tm_refine_0e8e7ceffdc714301764480fdc8d9838" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_af2b91750c1daad0e168d11f3de7b1ff" ], 0, - "678e281988e58a8f54426d803a6a74b3" + "e4b40ed84fc547edb86e82c8d3813005" ], [ "Ex07b.substitution_preserves_typing", @@ -1042,11 +1040,10 @@ "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_0ef6adeb4170009569fb43b575c6f114_1", "binder_x_0ef6adeb4170009569fb43b575c6f114_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_cf11d77749284b21c151e4f410bf39dd_3", "bool_inversion", + "binder_x_95d774fda5ce3618a64b340549b3c2cc_3", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EFalse", "constructor_distinct_Ex07b.EIf", "constructor_distinct_Ex07b.ETrue", @@ -1068,10 +1065,9 @@ "equation_with_fuel_Ex07b.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07b.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_2508029bd10d1c010d2a408a13662b05", + "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", "kinding_Ex07b.ty@tok", "lemma_Ex07b.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1090,17 +1086,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_36da4c0883bb42653b09b72f9c1a99d1", - "refinement_interpretation_Tm_refine_7550b0347b2434faff86e11e1817befa", + "refinement_interpretation_Tm_refine_570d88d267023a4b37691c0b7022df5b", + "refinement_interpretation_Tm_refine_f3a2fea33e36a5a4c280f1511998b4b1", "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EIf", "typing_Ex07b.appears_free_in", "typing_Ex07b.extend", "typing_Ex07b.subst", "typing_Ex07b.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_2508029bd10d1c010d2a408a13662b05", - "typing_tok_Ex07b.TBool@tok", "unit_typing" + "typing_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", + "typing_tok_Ex07b.TBool@tok" ], 0, - "3121a7993f2b3b629196cdd545b85e4d" + "d8c50b64ca8dbe5cc4fdaa8a511e762d" ], [ "Ex07b.preservation", @@ -1109,10 +1105,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e647a1ee9a428dac131a803abc0b0c6d" + "refinement_interpretation_Tm_refine_0c12bf14bfa812897d13091c093766ac" ], 0, - "0e6597a6f1733ce25ca030bfa34645e1" + "e2ab3da3992411dd87f3d3b9e679fab1" ], [ "Ex07b.preservation", @@ -1128,7 +1124,7 @@ "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "binder_x_cbcddca324e8289002fb8be75e261d58_0", + "binder_x_16020332c6f82b0739119c0ba6182e74_0", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EIf", "constructor_distinct_Ex07b.TBool", "constructor_distinct_FStar.Pervasives.Native.None", @@ -1138,16 +1134,14 @@ "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EIf", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.env", - "equation_Ex07b.extend", + "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.extend", "equation_with_fuel_Ex07b.is_value.fuel_instrumented", "equation_with_fuel_Ex07b.step.fuel_instrumented", "equation_with_fuel_Ex07b.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07b.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.empty", "kinding_Ex07b.exp@tok", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07b.exp@tok", "kinding_Ex07b.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07b.EAbs__0", @@ -1166,16 +1160,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_e02b4c78a4e63c2a0c3dfb12a2cfb24d", + "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841", "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EIf", "token_correspondence_Ex07b.step.fuel_instrumented", "token_correspondence_Ex07b.typing.fuel_instrumented", - "typing_Ex07b.extend", "typing_Ex07b.step", "typing_Ex07b.typing", + "typing_Ex07b.empty", "typing_Ex07b.extend", "typing_Ex07b.step", + "typing_Ex07b.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07b.TBool@tok" ], 0, - "ee0bc5ee9a3c91b461cad233564163a7" + "8dc670bdc2f790c6b026c10957bb135b" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex07c.fst.hints b/doc/tutorial/code/exercises/Ex07c.fst.hints index b2101acb774..c15faeba90b 100644 --- a/doc/tutorial/code/exercises/Ex07c.fst.hints +++ b/doc/tutorial/code/exercises/Ex07c.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f97a1b72f2ee1e1270187e15b67b1d44" + "6590c1215cf4fd852e8c0105a07da648" ], [ "Ex07c.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "25220a083bc8fd868fa61ea085d66885" + "a85f15c2ccf73a9eec26f85b358d64c4" ], [ "Ex07c.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "3702ed84374c4c145dc2135d7c91afb1" + "4c3c9dbfb6c3a4aaf8c34895eadc89d9" ], [ "Ex07c.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "a9e69e72014ff72d3846dce1fbef99c2" + "a0b5982776e7e337469e85593ad0cf78" ], [ "Ex07c.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_af9adaa077ed4f1ece37b319bcad4c4c" ], 0, - "01b555b6bdec7590949c71b130808df3" + "7dcec10041cc18378191f8554dcf9381" ], [ "Ex07c.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "c3c6e7eb5586a7426fa4498de8a7370b" + "9820cf679ddf5a718a9f3c3a2efac1a5" ], [ "Ex07c.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "95567223048bbb2ada11f10a680fe2c2" + "c3cab8a2b0bc5d5bf8dafff6c4c1e3f8" ], [ "Ex07c.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "1fd5f030045b088d772af7afb0c092ec" + "f72b13c2a785d4bc86fd97cf1790a2a3" ], [ "Ex07c.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "cb8fa936966419139fe08afe8ac1f91c" + "e000a7078d2576defb3fbd5c33911541" ], [ "Ex07c.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "3e0d99ad8a8a130559d6fa560c9a0e66" + "c5a495c7c286ba0cc9309d2f00c208c7" ], [ "Ex07c.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "3c290a404a9eb6c4080402695a446d09" + "6e998c88f3c73345882a8996a42cca41" ], [ "Ex07c.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "bb9af9b02b96d07a3e1c106715d79d46" + "de8759310fd4d25c548f5af816d24c77" ], [ "Ex07c.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "ef281de23393e09289e0d0ed6c56e0f7" + "a7c8a3c5bd4c596d7cd68e081bfffdf6" ], [ "Ex07c.subst", @@ -193,7 +193,7 @@ "subterm_ordering_Ex07c.EIf" ], 0, - "7c04f4060d02248e3cb6f541a8b3e935" + "30e6b52aab5efd052174901e48f69198" ], [ "Ex07c.step", @@ -213,7 +213,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "f6045eb5792dfe3e66152763628d0088" + "fac512c7a4ba5d192d3c35d92665018d" ], [ "Ex07c.typing", @@ -239,7 +239,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "d9db556f6889c7813fadbad7867092c5" + "428c494da2b2a1dd542e20a1cc0fca5c" ], [ "Ex07c.progress", @@ -268,13 +268,13 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.empty", - "equation_Ex07c.env", "equation_Ex07c.is_value", + "equation_Ex07c.is_value", "equation_with_fuel_Ex07c.step.fuel_instrumented", "equation_with_fuel_Ex07c.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07c.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.empty", "kinding_Ex07c.exp@tok", - "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", + "kinding_Ex07c.exp@tok", "kinding_Ex07c.ty@tok", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07c.EAbs__0", "projection_inverse_Ex07c.EAbs__1", @@ -291,14 +291,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", "token_correspondence_Ex07c.empty", + "subterm_ordering_Ex07c.EIf", "typing_Ex07c.empty", "typing_Ex07c.is_value", "typing_Ex07c.step", "typing_Ex07c.typing", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_tok_Ex07c.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "931ff64499bc938ad4e6a19344af62a6" + "158460cd9b506050d6e8f681b0cc99a9" ], [ "Ex07c.appears_free_in", @@ -320,7 +320,7 @@ "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf" ], 0, - "53bd21f2d758c777985d457daf3029df" + "d5967e6f03db9f621824000d2a843f3a" ], [ "Ex07c.free_in_context", @@ -336,9 +336,9 @@ "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6a3cb483d6204d3c1e0662b0f94ffbd3_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_92b24ade2624a8307d6221bab881006c_1", "bool_inversion", + "binder_x_0680fefb16bec5f02a22cfdc793357e3_2", + "binder_x_92b24ade2624a8307d6221bab881006c_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EFalse", "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ETrue", @@ -359,7 +359,7 @@ "function_token_typing_Ex07c.extend", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_363cdf32ce2977284fe10743fc4a55df", + "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -386,7 +386,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "32bbd9dd6cf0e92082a95d14863ce52e" + "36bd6cd04e20777ebc805a8733fb25c8" ], [ "Ex07c.typable_empty_closed", @@ -402,7 +402,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07c.TBool@tok" ], 0, - "c71f734ede78ae5f8e68a485e41231ec" + "6458f0b740080fdebb04e156116eba05" ], [ "Ex07c.equal", @@ -415,7 +415,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "5482ad124cb04d1e9a19d8031e7e00d1" + "dd84ea51840ff32223acbf7d7067ca20" ], [ "Ex07c.equalE", @@ -428,7 +428,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "84c5e2115133ead833df69669b79bae2" + "4865c3543e1b4599b0cab8a2dc6837b7" ], [ "Ex07c.context_invariance", @@ -446,8 +446,8 @@ "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_6a3cb483d6204d3c1e0662b0f94ffbd3_1", - "binder_x_6a3cb483d6204d3c1e0662b0f94ffbd3_2", + "binder_x_0680fefb16bec5f02a22cfdc793357e3_1", + "binder_x_0680fefb16bec5f02a22cfdc793357e3_2", "binder_x_92b24ade2624a8307d6221bab881006c_0", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EIf", @@ -466,7 +466,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_363cdf32ce2977284fe10743fc4a55df", + "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -490,7 +490,7 @@ "typing_tok_Ex07c.TBool@tok", "unit_typing" ], 0, - "0af4d0bcd6644b215fd93119c4d7fd98" + "b11104c09ac7b9ac0c698b3b3ba42d19" ], [ "Ex07c.typing_extensional", @@ -499,7 +499,7 @@ 1, [ "@query", "equation_Ex07c.equal", "equation_Ex07c.equalE" ], 0, - "70d0997107f7ecd1899e2a1bf6866e5d" + "300189d1c78745f72b0a809c23bebe41" ], [ "Ex07c.substitution_preserves_typing", @@ -507,11 +507,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07c.env", - "refinement_interpretation_Tm_refine_17d1d8d0233630f5681c39450ca08bca" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b6f32c64566936006e4e25abfa332545" ], 0, - "e89205ee19610f343d7869d98e8dabc0" + "cdcada04444c065c0ccb86458a334ee3" ], [ "Ex07c.substitution_preserves_typing", @@ -519,11 +519,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07c.env", - "refinement_interpretation_Tm_refine_47cea64b36ffb5d473f3348532f4ba46" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c0f5d68510e55c19b99ad8187d780151" ], 0, - "ca944e8053ef5e8e2ead75a8dd461170" + "6630267c6ab764764248e2c826ef086c" ], [ "Ex07c.substitution_preserves_typing", @@ -541,11 +541,10 @@ "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_530a276c9a4c30d60c4a5b0bbf5dcb0a_3", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_0cf7a2c8e7d78cb33b91b62bfcaa23f0_3", "binder_x_92b24ade2624a8307d6221bab881006c_1", - "binder_x_92b24ade2624a8307d6221bab881006c_2", "bool_inversion", + "binder_x_92b24ade2624a8307d6221bab881006c_2", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EFalse", "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ETrue", @@ -567,10 +566,9 @@ "equation_with_fuel_Ex07c.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07c.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_363cdf32ce2977284fe10743fc4a55df", + "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", "kinding_Ex07c.ty@tok", "lemma_Ex07c.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -589,17 +587,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_8cd73dd89cfc93552ef2bb25493ab65b", - "refinement_interpretation_Tm_refine_af64efd67ab3797cb20c5e47963ff1fb", + "refinement_interpretation_Tm_refine_47551c8723653e323d1d3b424e8c3899", + "refinement_interpretation_Tm_refine_8a82a3d4974a2bc15eee778ed799a138", "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", "typing_Ex07c.appears_free_in", "typing_Ex07c.extend", "typing_Ex07c.subst", "typing_Ex07c.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_363cdf32ce2977284fe10743fc4a55df", - "typing_tok_Ex07c.TBool@tok", "unit_typing" + "typing_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", + "typing_tok_Ex07c.TBool@tok" ], 0, - "b5387aec1fb26356071f19105deffac6" + "ea81fa69912f65da620fff61021703ae" ], [ "Ex07c.preservation", @@ -608,10 +606,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1382577f550e97ec389aea5ed52cf99a" + "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c" ], 0, - "554ec37a97a4d09985a9a8eb4ce28dee" + "0d0b732e090ec174f3ed034ca35e10b1" ], [ "Ex07c.preservation", @@ -620,10 +618,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_066a449e999661dc22ceff7fb73f88d2" + "refinement_interpretation_Tm_refine_eaee59a13ad929a7e5f1e6e12db5a534" ], 0, - "62157de7cef072baebed628a201d6de7" + "a593ea9d5b2fce9bada6ba4ab1d4991f" ], [ "Ex07c.preservation", @@ -638,7 +636,7 @@ "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "binder_x_1a85928f1079984ebbd2ae5e8a94b054_0", + "binder_x_3631ad28b4f5ceb13c2d97008676cb3e_0", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.TBool", "constructor_distinct_FStar.Pervasives.Native.None", @@ -648,15 +646,14 @@ "disc_equation_Ex07c.EApp", "disc_equation_Ex07c.EIf", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.env", - "equation_Ex07c.extend", "equation_Ex07c.is_value", + "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.extend", + "equation_Ex07c.is_value", "equation_with_fuel_Ex07c.step.fuel_instrumented", "equation_with_fuel_Ex07c.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07c.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.empty", "kinding_Ex07c.exp@tok", - "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07c.exp@tok", "kinding_Ex07c.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07c.EAbs__0", @@ -674,17 +671,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1382577f550e97ec389aea5ed52cf99a", + "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", "token_correspondence_Ex07c.step.fuel_instrumented", "token_correspondence_Ex07c.typing.fuel_instrumented", - "typing_Ex07c.extend", "typing_Ex07c.step", "typing_Ex07c.typing", + "typing_Ex07c.empty", "typing_Ex07c.extend", "typing_Ex07c.step", + "typing_Ex07c.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07c.TBool@tok" ], 0, - "ed2dff578e67560cbb7f7cb2a0599d3e" + "263ac92fb95cbb461ab559e0c9cfb309" ], [ "Ex07c.ty", @@ -693,7 +691,7 @@ 1, [ "@query" ], 0, - "b6e67068907ca1b2dafd7897d2ecfe90" + "95785a34378967adaa5ea7821c7aef73" ], [ "Ex07c.__proj__TArrow__item___0", @@ -706,7 +704,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "968d071ee8145babeaf4bfe30e5e9188" + "d3945beca252e5c14dab653e21b7dd89" ], [ "Ex07c.__proj__TArrow__item___1", @@ -719,7 +717,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "76de0fdfd777c4be03b7e66553e722ba" + "ba12e8727effdd125a4124ae3f27a9de" ], [ "Ex07c.exp", @@ -731,7 +729,7 @@ "assumption_Prims.HasEq_int" ], 0, - "679bc10d13cb0a165b1d9340a7b44b43" + "a69896190f01376fbda24a71c9cfce74" ], [ "Ex07c.__proj__EVar__item___0", @@ -744,7 +742,7 @@ "refinement_interpretation_Tm_refine_af9adaa077ed4f1ece37b319bcad4c4c" ], 0, - "0bcc080432e0347c02937376c25827dc" + "94e680f7525e76a5e414fc5a754f764d" ], [ "Ex07c.__proj__EApp__item___0", @@ -757,7 +755,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "94dd6e74356d56229ddb59d1dd5129b7" + "196bb422893769934d900b3716f8dfcc" ], [ "Ex07c.__proj__EApp__item___1", @@ -770,7 +768,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "0fa5973048c64445c42f1acfa850379b" + "3c1c21b627aa06ca94b4fc522a4b7c1a" ], [ "Ex07c.__proj__EAbs__item___0", @@ -783,7 +781,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "80db70a563abfb93ca7f890ee820d5de" + "1ab8b1900f4f707942551002290465ef" ], [ "Ex07c.__proj__EAbs__item___1", @@ -796,7 +794,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "f0f6bf4fb7d340003e4868487c407908" + "088a11d7d3eaa28fa2a70f9d389702b6" ], [ "Ex07c.__proj__EAbs__item___2", @@ -809,7 +807,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "b33c8ee2ec62b3d2af16fee315701af9" + "3ae795d019cb3862172ce28bd4b3ce1c" ], [ "Ex07c.__proj__EIf__item___0", @@ -822,7 +820,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "4d7c490c29086364c748007e9ad0835c" + "4601a329b38ebc86f139311b0c0acc99" ], [ "Ex07c.__proj__EIf__item___1", @@ -835,7 +833,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "a439eed616c83c75f001a9d3f02154ec" + "26ad7efb8d68c72cad61f1a156642cd6" ], [ "Ex07c.__proj__EIf__item___2", @@ -848,7 +846,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "69c0f3a091e7337036f8e35d21f0384b" + "1aca8a56e9fec3df715977cd7a1c0232" ], [ "Ex07c.subst", @@ -867,7 +865,7 @@ "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf" ], 0, - "9f769bd67a16e30d1e1e902adee67d31" + "21d69db1f844a3fa23e24eb12bec3515" ], [ "Ex07c.step", @@ -887,7 +885,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "f1467326b337acd0cc994c604e3a5e9e" + "69241c03e89233bc175d5b7e0fefd4c3" ], [ "Ex07c.typing", @@ -913,7 +911,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "691a8906278390e3f2acd12a9d23f02b" + "782e69a45b5f203e400290005af8d5fd" ], [ "Ex07c.appears_free_in", @@ -932,7 +930,7 @@ "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf" ], 0, - "af21a2031dd3fb85e270d4b3004e61da" + "2a64876641437896978aeba3edf90758" ], [ "Ex07c.equal", @@ -945,7 +943,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "483bdfacd1f626f1c9216aafbddc37ff" + "3f1b3aea046cf901879aceb683a6e8cc" ], [ "Ex07c.equalE", @@ -958,7 +956,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "3b8b2d90c8bce1272adb7433000d87da" + "2d5994089b6c7c14a39e74c55994bb6f" ], [ "Ex07c.substitution_preserves_typing", @@ -966,11 +964,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07c.env", - "refinement_interpretation_Tm_refine_47cea64b36ffb5d473f3348532f4ba46" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c0f5d68510e55c19b99ad8187d780151" ], 0, - "ddfa8e38715a125551796b684674d6bd" + "a4ced2aa8c32070f856fe2a50fe60aeb" ], [ "Ex07c.substitution_preserves_typing", @@ -988,11 +986,10 @@ "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_530a276c9a4c30d60c4a5b0bbf5dcb0a_3", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_0cf7a2c8e7d78cb33b91b62bfcaa23f0_3", "binder_x_92b24ade2624a8307d6221bab881006c_1", - "binder_x_92b24ade2624a8307d6221bab881006c_2", "bool_inversion", + "binder_x_92b24ade2624a8307d6221bab881006c_2", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EFalse", "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ETrue", @@ -1014,10 +1011,9 @@ "equation_with_fuel_Ex07c.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07c.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_363cdf32ce2977284fe10743fc4a55df", + "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", "kinding_Ex07c.ty@tok", "lemma_Ex07c.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1036,17 +1032,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_8cd73dd89cfc93552ef2bb25493ab65b", - "refinement_interpretation_Tm_refine_af64efd67ab3797cb20c5e47963ff1fb", + "refinement_interpretation_Tm_refine_47551c8723653e323d1d3b424e8c3899", + "refinement_interpretation_Tm_refine_8a82a3d4974a2bc15eee778ed799a138", "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", "typing_Ex07c.appears_free_in", "typing_Ex07c.extend", "typing_Ex07c.subst", "typing_Ex07c.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_363cdf32ce2977284fe10743fc4a55df", - "typing_tok_Ex07c.TBool@tok", "unit_typing" + "typing_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", + "typing_tok_Ex07c.TBool@tok" ], 0, - "76000a9049655d9d9a8cbc997f4c55df" + "8d2dcb773d9fdd8fc69be6bbd2cfb5ec" ], [ "Ex07c.preservation", @@ -1055,10 +1051,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_066a449e999661dc22ceff7fb73f88d2" + "refinement_interpretation_Tm_refine_eaee59a13ad929a7e5f1e6e12db5a534" ], 0, - "7a81087033835903ed5d03fd15609df0" + "52fd3fe96aabfb8188c5cc6b70119db4" ], [ "Ex07c.preservation", @@ -1073,7 +1069,7 @@ "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "binder_x_1a85928f1079984ebbd2ae5e8a94b054_0", + "binder_x_3631ad28b4f5ceb13c2d97008676cb3e_0", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.TBool", "constructor_distinct_FStar.Pervasives.Native.None", @@ -1083,15 +1079,14 @@ "disc_equation_Ex07c.EApp", "disc_equation_Ex07c.EIf", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.env", - "equation_Ex07c.extend", "equation_Ex07c.is_value", + "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.extend", + "equation_Ex07c.is_value", "equation_with_fuel_Ex07c.step.fuel_instrumented", "equation_with_fuel_Ex07c.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07c.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.empty", "kinding_Ex07c.exp@tok", - "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07c.exp@tok", "kinding_Ex07c.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07c.EAbs__0", @@ -1109,17 +1104,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1382577f550e97ec389aea5ed52cf99a", + "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", "token_correspondence_Ex07c.step.fuel_instrumented", "token_correspondence_Ex07c.typing.fuel_instrumented", - "typing_Ex07c.extend", "typing_Ex07c.step", "typing_Ex07c.typing", + "typing_Ex07c.empty", "typing_Ex07c.extend", "typing_Ex07c.step", + "typing_Ex07c.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07c.TBool@tok" ], 0, - "9680db76acf866d3b3b313c78143bb9d" + "a079d7af32c4bfa1f44e7759f1bfd62b" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex07d.fst.hints b/doc/tutorial/code/exercises/Ex07d.fst.hints index 8b48de2db07..735e38b0b9b 100644 --- a/doc/tutorial/code/exercises/Ex07d.fst.hints +++ b/doc/tutorial/code/exercises/Ex07d.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "469856d2ad7f961bf49f57423a11abdb" + "5b09e4c0e0669e46a9efdfc1fc11b7c7" ], [ "Ex07d.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "b6601b173679e75841847689d1a267d2" + "77528b221c605f86cef01644f49beb64" ], [ "Ex07d.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "46f62e4a875aa1c5862db34793db5089" + "6480a912bf67d9a20009c0a2bcf383ec" ], [ "Ex07d.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "0d6495d91ae9bfc9b8d8b990175ce58d" + "9c87c64a0130e343764929230230a4b8" ], [ "Ex07d.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_e2b3d0ac58c9320335e38c515a0906d3" ], 0, - "6d1cb814bf4874dfd1e7490918eaa4a7" + "39daf7a832b4e363d88f83750ecaef6d" ], [ "Ex07d.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "30571d136d0f94073c50e3a866ded814" + "5e2145a521dd403aed3ec2b2c2c04b85" ], [ "Ex07d.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "515f5ce06cc742ebd7266920d2fb355e" + "a02b07e0f3a304b7c31eca393604298d" ], [ "Ex07d.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "9042b236e41be1ec3ae1a14a1ec2dc63" + "9c8dbf22d814316c8a02a7c31f50e954" ], [ "Ex07d.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "eb154a986f612fd69c606c82656650a6" + "eb3f4a82567c55ae337c7afbce042f9a" ], [ "Ex07d.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "632d4aa4275d59fa38319268fd735cc6" + "708a870f04c4952aebfab752b295b965" ], [ "Ex07d.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "a5f2904d7bfc0bbb47a73402ca043084" + "72fd7214d7a426c06b0aa585ca9e4232" ], [ "Ex07d.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "88221fc8bf41e197fa77e2f024633646" + "bd1c394673b1935a6ed02ec42e52d95e" ], [ "Ex07d.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "c941a18bc0c3a994d374a7970a88a055" + "52be6ce1371ce47f83910f259f5b3af7" ], [ "Ex07d.subst", @@ -193,7 +193,7 @@ "subterm_ordering_Ex07d.EIf" ], 0, - "c2a248727a1f287a0df8789a69bd389a" + "638d0a392915e8b3e57c1e348ad1d41e" ], [ "Ex07d.step", @@ -213,7 +213,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "b8f45227b34935f05306e69fc97fb6bf" + "2c7fcdd80eb8e4fa322090a9f5d42134" ], [ "Ex07d.typing", @@ -239,7 +239,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "8c4f50d6cccbce54292cc526bd02a4f9" + "f56b291a26614417e3f4e5186882216e" ], [ "Ex07d.progress", @@ -268,13 +268,13 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.empty", - "equation_Ex07d.env", "equation_Ex07d.is_value", + "equation_Ex07d.is_value", "equation_with_fuel_Ex07d.step.fuel_instrumented", "equation_with_fuel_Ex07d.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07d.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.empty", "kinding_Ex07d.exp@tok", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", + "kinding_Ex07d.exp@tok", "kinding_Ex07d.ty@tok", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07d.EAbs__0", "projection_inverse_Ex07d.EAbs__1", @@ -291,14 +291,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", "token_correspondence_Ex07d.empty", + "subterm_ordering_Ex07d.EIf", "typing_Ex07d.empty", "typing_Ex07d.is_value", "typing_Ex07d.step", "typing_Ex07d.typing", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_tok_Ex07d.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "e1e80bb8c099dae696991cb2a14d079a" + "52a54e5ebb514c0fb7fe1c7d2d067b1c" ], [ "Ex07d.appears_free_in", @@ -320,7 +320,7 @@ "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf" ], 0, - "7e700276a9dea3e6068c88a72e4e7798" + "d23a9e002590ee3dad5032641a022dc6" ], [ "Ex07d.free_in_context", @@ -337,8 +337,8 @@ "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", - "binder_x_634f5ee54251f928875dd9cd87904533_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_691ba12216b64971a65fb6a280b52a15_2", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EFalse", "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.ETrue", @@ -359,7 +359,7 @@ "function_token_typing_Ex07d.extend", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", + "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -386,7 +386,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "02f728fee0b5dec96336de3ddcf34571" + "8a763cec16b7b140705533af5bf88244" ], [ "Ex07d.typable_empty_closed", @@ -402,7 +402,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07d.TBool@tok" ], 0, - "78737c5f7d0bb40fa23808e64b9c7425" + "bec0f51a28b2f8357d9b3e9e0fe63461" ], [ "Ex07d.equal", @@ -415,7 +415,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "81d7ec9a375f581aeab4f8caff3f6e49" + "aba357bd1c6e57be62ddc2fcd44563d2" ], [ "Ex07d.equalE", @@ -428,7 +428,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "f944f9cbda670593aca9af23877c9566" + "9f8f13be67ae5ca833573bf8e15dee63" ], [ "Ex07d.context_invariance", @@ -447,8 +447,8 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_0", - "binder_x_634f5ee54251f928875dd9cd87904533_1", - "binder_x_634f5ee54251f928875dd9cd87904533_2", + "binder_x_691ba12216b64971a65fb6a280b52a15_1", + "binder_x_691ba12216b64971a65fb6a280b52a15_2", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EIf", "constructor_distinct_FStar.Pervasives.Native.None", @@ -466,7 +466,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", + "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -490,7 +490,7 @@ "typing_tok_Ex07d.TBool@tok", "unit_typing" ], 0, - "7f1f3ebc280514b5d78011602c236ce4" + "64e393a32b6d32d93da4f94e6a176f91" ], [ "Ex07d.typing_extensional", @@ -499,7 +499,7 @@ 1, [ "@query", "equation_Ex07d.equal", "equation_Ex07d.equalE" ], 0, - "0e2261d1fdd61f61958d3e3c02a04480" + "cf2f1b8d4418f75d0224a10271b3ade0" ], [ "Ex07d.substitution_preserves_typing", @@ -507,11 +507,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07d.env", - "refinement_interpretation_Tm_refine_360b7ec452c72aa1ce4c98f37560e6e0" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2f5eeacba7bdd1445a7949ffdc743f8a" ], 0, - "856309cad7a25e85f75222b07857217f" + "29fd56379b2b551b4a7ad13d2ae88311" ], [ "Ex07d.substitution_preserves_typing", @@ -519,11 +519,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07d.env", - "refinement_interpretation_Tm_refine_6380f21fe12eb5c41ddc02c3c045a1f0" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1870fbf8a05e90d9bb5d0cfa308b2ed4" ], 0, - "6e202fdddb0e7e6b0dd859bf8d11465b" + "8e2bc518dc5f6fae0b0843b59255deaa" ], [ "Ex07d.substitution_preserves_typing", @@ -541,11 +541,10 @@ "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_2", - "binder_x_3a2371866d746cf1b06fb67fff5d7157_3", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_8aff50031332d1df444f3c84e31e944d_3", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EFalse", "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.ETrue", @@ -567,10 +566,9 @@ "equation_with_fuel_Ex07d.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07d.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", + "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", "kinding_Ex07d.ty@tok", "lemma_Ex07d.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -589,17 +587,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_5e8110f412d38691b4c1ea15aee1bb68", - "refinement_interpretation_Tm_refine_960c4dda5d7a2d6200c5762951c5cb45", + "refinement_interpretation_Tm_refine_5b2e62a66f93d5210bb099bee28161ee", + "refinement_interpretation_Tm_refine_d22417944aa150e8bae66f9d856f1ecb", "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", "typing_Ex07d.appears_free_in", "typing_Ex07d.extend", "typing_Ex07d.subst", "typing_Ex07d.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", - "typing_tok_Ex07d.TBool@tok", "unit_typing" + "typing_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", + "typing_tok_Ex07d.TBool@tok" ], 0, - "da051dba694da4c05e1ba5ad44d490ef" + "f4ba66115b9e034806c84bc1b8a7e1c2" ], [ "Ex07d.preservation", @@ -608,10 +606,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1e6b8a4c214952543ff133b1a1ffa081" + "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36" ], 0, - "cc8e98c9d036c1ac8e748f954e6bfb98" + "86bf985d191b86b7fda312d29cd02ffa" ], [ "Ex07d.preservation", @@ -620,10 +618,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_081badb93a8723469741c3b7e47172a4" + "refinement_interpretation_Tm_refine_62ca176a5243b31cd0d74eade88e5b0e" ], 0, - "8b53d5be7b9fb93a7bd57f29149d8d41" + "300548c41afbed3f3456c74690a61d8c" ], [ "Ex07d.preservation", @@ -638,7 +636,7 @@ "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "binder_x_ef993dc0594db329f3ed2da3bbb1c075_0", + "binder_x_07f094b8f5430e252f96b2871ab55ff3_0", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.TBool", "constructor_distinct_FStar.Pervasives.Native.None", @@ -648,15 +646,14 @@ "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EIf", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.env", - "equation_Ex07d.extend", "equation_Ex07d.is_value", + "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.extend", + "equation_Ex07d.is_value", "equation_with_fuel_Ex07d.step.fuel_instrumented", "equation_with_fuel_Ex07d.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07d.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.empty", "kinding_Ex07d.exp@tok", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07d.exp@tok", "kinding_Ex07d.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07d.EAbs__0", @@ -674,17 +671,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1e6b8a4c214952543ff133b1a1ffa081", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36", "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", "token_correspondence_Ex07d.step.fuel_instrumented", "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.extend", "typing_Ex07d.step", "typing_Ex07d.typing", + "typing_Ex07d.empty", "typing_Ex07d.extend", "typing_Ex07d.step", + "typing_Ex07d.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07d.TBool@tok" ], 0, - "0e8272f1d1cb13187d1e4994a69cd672" + "61e73b5c37db34986ca6f03a7d2e3f2c" ], [ "Ex07d.typed_step", @@ -697,7 +695,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "fc1eb254e11d47c49b1d99029a9a51f5" + "d0a2d9562589d821038288adc966b9b9" ], [ "Ex07d.typed_step", @@ -706,13 +704,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "refinement_interpretation_Tm_refine_2e06da3ac02660a7943412d0a519b3de", - "refinement_interpretation_Tm_refine_aae1c654f8c802fa88731445515e178e", - "unit_typing" + "refinement_interpretation_Tm_refine_0b0a9df16c4094edad35f36e17a3456e", + "refinement_interpretation_Tm_refine_fbadd752194f69bdc54b03b7f3c00a37" ], 0, - "12639779f5f438a5778d60e1b0762c14" + "79677699e009f75e5087347b5d947d82" ], [ "Ex07d.eval", @@ -725,7 +721,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "0182529c554b8d06361322bb6309b020" + "2303fe60ec2bdfde80d6856ed05bf16e" ], [ "Ex07d.ty", @@ -734,7 +730,7 @@ 1, [ "@query" ], 0, - "8d90a7d8462e384ac8f8b2bcd5704d8f" + "2e7ac4ce04c354f8cb5cbcaa780a0bf4" ], [ "Ex07d.__proj__TArrow__item___0", @@ -747,7 +743,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "4f1e746ab45b1faf1c9700fad04c2d7b" + "3e82d6116e2a9246f319d7de9b02ef4e" ], [ "Ex07d.__proj__TArrow__item___1", @@ -760,7 +756,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "7d3a132436f6f109b64cd4c54035eb30" + "c5c040125dcfddb42cb5cbba649af587" ], [ "Ex07d.exp", @@ -772,7 +768,7 @@ "assumption_Prims.HasEq_int" ], 0, - "ab6706e69282cf1f3a6cc3f9a454fd1f" + "01f1d5fb8fb68a2b3ebc9128d845b087" ], [ "Ex07d.__proj__EVar__item___0", @@ -785,7 +781,7 @@ "refinement_interpretation_Tm_refine_e2b3d0ac58c9320335e38c515a0906d3" ], 0, - "b60542f26391146977124505ae9f0ea9" + "4f963404538e5cd44adb01e10133593c" ], [ "Ex07d.__proj__EApp__item___0", @@ -798,7 +794,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "f1976b6f2d1dab317068dda40c283c38" + "591825828f5ee9c8c10fad2b037f060a" ], [ "Ex07d.__proj__EApp__item___1", @@ -811,7 +807,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "54f79170b3fd9ce8823b85e11fe78754" + "d6728afe628ad4069533863d6112d03a" ], [ "Ex07d.__proj__EAbs__item___0", @@ -824,7 +820,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "8b9cc793cc133f8595d2e0166ffa02a7" + "092c3228b657fa1f7f2b81541d84eaa3" ], [ "Ex07d.__proj__EAbs__item___1", @@ -837,7 +833,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "5e699d22d0e0bc64ef392c33f66093bf" + "4b61b148acac59dcd86ed62f89efb338" ], [ "Ex07d.__proj__EAbs__item___2", @@ -850,7 +846,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "d5b5e6345d8d6f79bd4349a0ca27b52f" + "44d76e4c4a971f97004f40469ee2a6e8" ], [ "Ex07d.__proj__EIf__item___0", @@ -863,7 +859,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "18b499c6aecd313b7ff65f0b3eddd6fa" + "b4acf003cd9a417b26e9fe47c31ff5fa" ], [ "Ex07d.__proj__EIf__item___1", @@ -876,7 +872,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "15d7d56564c49ed602e9d5eb3982a0b8" + "21c29e9312803385ed5621ec5374d20a" ], [ "Ex07d.__proj__EIf__item___2", @@ -889,7 +885,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "7187d36664becf093f7035d001929e10" + "017267d2f6baf4800539d1a1520c98a1" ], [ "Ex07d.subst", @@ -908,7 +904,7 @@ "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf" ], 0, - "c79c653be47a22732866aa11f965f30d" + "21edb11b6402aeb6be0262b235d86b15" ], [ "Ex07d.step", @@ -928,7 +924,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "71a52e476c9473d68e9d47fcc4030604" + "59a165aafba4eddc2036873c9bbfa036" ], [ "Ex07d.typing", @@ -954,7 +950,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "24b9704268b3b15091e9602569f42428" + "e0fe0b7145b4c489b337ff2857e4aa4f" ], [ "Ex07d.appears_free_in", @@ -973,7 +969,7 @@ "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf" ], 0, - "b8919ac3ac55ef06f4f88a4641ada43b" + "d243b2537fae3cc89877c1138d969447" ], [ "Ex07d.equal", @@ -986,7 +982,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "096babd0f2ed0291051b29ac69c9ab70" + "0b2da14824a8f383c0df69585e94689b" ], [ "Ex07d.equalE", @@ -999,7 +995,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "4b965a1956c49fd4023ffd4dff5111c2" + "fe441a9b7a6b358889178244ad102420" ], [ "Ex07d.substitution_preserves_typing", @@ -1007,11 +1003,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07d.env", - "refinement_interpretation_Tm_refine_6380f21fe12eb5c41ddc02c3c045a1f0" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1870fbf8a05e90d9bb5d0cfa308b2ed4" ], 0, - "15bc5b0824b8a1a7ef9de7722b5b8795" + "97d63cd3ce56e46203e2b4f208c5c4a5" ], [ "Ex07d.substitution_preserves_typing", @@ -1029,11 +1025,10 @@ "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_2", - "binder_x_3a2371866d746cf1b06fb67fff5d7157_3", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_8aff50031332d1df444f3c84e31e944d_3", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EFalse", "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.ETrue", @@ -1055,10 +1050,9 @@ "equation_with_fuel_Ex07d.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07d.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", + "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", "kinding_Ex07d.ty@tok", "lemma_Ex07d.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1077,17 +1071,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_5e8110f412d38691b4c1ea15aee1bb68", - "refinement_interpretation_Tm_refine_960c4dda5d7a2d6200c5762951c5cb45", + "refinement_interpretation_Tm_refine_5b2e62a66f93d5210bb099bee28161ee", + "refinement_interpretation_Tm_refine_d22417944aa150e8bae66f9d856f1ecb", "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", "typing_Ex07d.appears_free_in", "typing_Ex07d.extend", "typing_Ex07d.subst", "typing_Ex07d.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", - "typing_tok_Ex07d.TBool@tok", "unit_typing" + "typing_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", + "typing_tok_Ex07d.TBool@tok" ], 0, - "c2d561c3869f27369d59897a494a62f4" + "36425b795f7b765d2abcda0eec1e8e6d" ], [ "Ex07d.preservation", @@ -1096,10 +1090,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_081badb93a8723469741c3b7e47172a4" + "refinement_interpretation_Tm_refine_62ca176a5243b31cd0d74eade88e5b0e" ], 0, - "cc71f10daa1a122c476844420c9ba1d2" + "dccb40d135c1db84ca72fa22ecf72f62" ], [ "Ex07d.preservation", @@ -1114,7 +1108,7 @@ "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "binder_x_ef993dc0594db329f3ed2da3bbb1c075_0", + "binder_x_07f094b8f5430e252f96b2871ab55ff3_0", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.TBool", "constructor_distinct_FStar.Pervasives.Native.None", @@ -1124,15 +1118,14 @@ "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EIf", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.env", - "equation_Ex07d.extend", "equation_Ex07d.is_value", + "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.extend", + "equation_Ex07d.is_value", "equation_with_fuel_Ex07d.step.fuel_instrumented", "equation_with_fuel_Ex07d.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07d.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.empty", "kinding_Ex07d.exp@tok", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07d.exp@tok", "kinding_Ex07d.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07d.EAbs__0", @@ -1150,17 +1143,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1e6b8a4c214952543ff133b1a1ffa081", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36", "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", "token_correspondence_Ex07d.step.fuel_instrumented", "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.extend", "typing_Ex07d.step", "typing_Ex07d.typing", + "typing_Ex07d.empty", "typing_Ex07d.extend", "typing_Ex07d.step", + "typing_Ex07d.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07d.TBool@tok" ], 0, - "1861e99f2d41aa1919250e2f0dd83a23" + "a322881c082f4ea3b518284adfffa392" ], [ "Ex07d.typed_step", @@ -1169,13 +1163,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "refinement_interpretation_Tm_refine_2e06da3ac02660a7943412d0a519b3de", - "refinement_interpretation_Tm_refine_aae1c654f8c802fa88731445515e178e", - "unit_typing" + "refinement_interpretation_Tm_refine_0b0a9df16c4094edad35f36e17a3456e", + "refinement_interpretation_Tm_refine_fbadd752194f69bdc54b03b7f3c00a37" ], 0, - "6a95d77f88fd826fd0eded397bb1dab4" + "4919ef00e498c15e47a9c58a2535d60d" ], [ "Ex07d.typed_step", @@ -1188,7 +1180,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "a254548ca7aed81e8fdc4915bf187030" + "7ddc1891ab6012df823d26bba73df0c1" ], [ "Ex07d.eval", @@ -1201,7 +1193,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "21f662f8075765e43e1dac5fe7cc261f" + "1865741d399d58a7071e6d165bd874ae" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex10a.fst.hints b/doc/tutorial/code/exercises/Ex10a.fst.hints index 0c5e6f4cb68..c566d61221d 100644 --- a/doc/tutorial/code/exercises/Ex10a.fst.hints +++ b/doc/tutorial/code/exercises/Ex10a.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_43c663371132c0c847de0562111b3034" ], 0, - "75fc9f2d51251186b1456aca94d4fcb2" + "82ea02911b5691b404bacbcd7c6354b0" ], [ "Ex10a.__proj__Writable__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_b7c189cb365c663bbaaab1bb8e2e94da" ], 0, - "852989b6420b606ab47d25ddc89d83f3" + "a6dbae3c424529476e7af8f8a97d9e13" ], [ "Ex10a.canRead", @@ -38,7 +38,29 @@ "fuel_guarded_inversion_Ex10a.entry" ], 0, - "bf853a297e2573ebe89fc6433e0d07ee" + "26e809d0de2367e54634f89193252309" + ], + [ + "Ex10a.grant", + 1, + 2, + 1, + [ "@query" ], + 0, + "c203d91c170ffb23a74e5dffc7f4c195" + ], + [ + "Ex10a.revoke", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "assumption_Ex10a.entry__uu___haseq", + "refinement_interpretation_Ex10a_Tm_refine_f978ff754af8f266cb4edc62e2a055cb" + ], + 0, + "2a3d22ae8fb618d882e88538f483adc3" ], [ "Ex10a.safe_delete", @@ -54,12 +76,12 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.modifies_none", "equation_Prims.eqtype", "function_token_typing_Prims.unit", + "refinement_interpretation_Tm_refine_3f348b77994310044a31a5b79ff495a0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c0bbd352d24513b8adaab74dd888e42a", "string_inversion", "unit_inversion", "unit_typing" ], 0, - "f12338b725e13760e2c9f0110f4589f0" + "00fd4c4f3a2a3416e6c65a52fcbbc84a" ], [ "Ex10a.test_acls", @@ -70,11 +92,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.tryFind.fuel_instrumented", "@query", - "Ex10a_interpretation_Tm_arrow_449d659811cde73f2fac6653669a9d13", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "Ex10a_interpretation_Tm_arrow_874ea41fef5db3d0b79dc4f1f9eea4a2", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Ex10a.entry__uu___haseq", "bool_typing", + "assumption_Ex10a.entry__uu___haseq", "constructor_distinct_Ex10a.Readable", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", @@ -83,7 +104,7 @@ "equation_Ex10a.db", "equation_with_fuel_FStar.List.Tot.Base.tryFind.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.result", - "interpretation_Tm_abs_34ef4ead09ec7d33c614d4dffaa96c6e", + "interpretation_Tm_abs_93700a44318bb4193871b2dacb8d41d6", "kinding_Ex10a.entry@tok", "primitive_Prims.op_Equality", "projection_inverse_Ex10a.Readable__0", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -91,10 +112,10 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "typing_Tm_abs_34ef4ead09ec7d33c614d4dffaa96c6e", "unit_typing" + "typing_Tm_abs_93700a44318bb4193871b2dacb8d41d6", "unit_typing" ], 0, - "5ee03e8889ac1f9ea24bc4935d5213a1" + "888715dc94e81dfd3b978e17fa7f7111" ], [ "Ex10a.__proj__Readable__item___0", @@ -107,7 +128,7 @@ "refinement_interpretation_Tm_refine_43c663371132c0c847de0562111b3034" ], 0, - "bf5580a465fd246986d4e696fbde7308" + "425908211726ab323cb151ed5dfb2901" ], [ "Ex10a.__proj__Writable__item___0", @@ -120,7 +141,7 @@ "refinement_interpretation_Tm_refine_b7c189cb365c663bbaaab1bb8e2e94da" ], 0, - "4611c0316af9a54de07f1e5c8ce0b412" + "862eafbcd167eeff1240ae808797f837" ], [ "Ex10a.canRead", @@ -133,20 +154,16 @@ "fuel_guarded_inversion_Ex10a.entry" ], 0, - "8d5f6d26403af903bfa4259066239816" + "53add9aec07b50485778db44266e6aaa" ], [ "Ex10a.revoke", - 1, + 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Ex10a.entry__uu___haseq", - "refinement_interpretation_Ex10a_Tm_refine_f978ff754af8f266cb4edc62e2a055cb" - ], + [ "@query", "assumption_Ex10a.entry__uu___haseq" ], 0, - "0fb59d90ef4abe799611f0b3d098ee62" + "d7ceb0e48ad6a6906fdf1d67faa8097c" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex10b.fst.hints b/doc/tutorial/code/exercises/Ex10b.fst.hints index 420df90c7d0..eec309e53b5 100644 --- a/doc/tutorial/code/exercises/Ex10b.fst.hints +++ b/doc/tutorial/code/exercises/Ex10b.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "232c5308fb5f49573db80ca1ec5ecc4b" + "f322ac45b3ee1580233f8dc45a29786a" ], [ "Ex10b.__proj__Point__item__y", @@ -23,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "76db3779d90caff639736f8c3e210ccd" + "eb870e33e11ea96335c9f0f2feb1c25a" ], [ "Ex10b.__proj__Point__item__y", @@ -35,18 +35,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "fuel_guarded_inversion_Ex10b.point", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "proj_equation_Ex10b.Point_x", "projection_inverse_Ex10b.Point_x", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b156e66a1be5839680763d50f501c568" + "4a5a5f486ea8e6b49d831f893a98570c" ], [ "Ex10b.new_point", @@ -56,11 +53,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9715c33550531b81ebd1b5adfdfc38fb" + "19ae279c8642fb126821673cd581eafa" ], [ "Ex10b.new_point", @@ -77,8 +74,8 @@ "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Set.mem_empty", @@ -87,14 +84,24 @@ "projection_inverse_Ex10b.Point_x", "projection_inverse_Ex10b.Point_y", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "9c4888ca2231a317454b7bc43cbe2c3a" + "ad7a24e0990eb7173306da94431b4e1d" + ], + [ + "Ex10b.shift_x", + 1, + 2, + 1, + [ "@query" ], + 0, + "3666375e89bf75c8d1ae6261e39562a1" ], [ "Ex10b.shift_x_p1", @@ -102,16 +109,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8d29829e3555b383777989e48c687697" + "7c5b51183a15fd8a2a57f599927cb767" ], [ "Ex10b.shift_x_p1", @@ -119,16 +123,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "df11c9f1f562aac730a7ab100dec3607" + "66a9a89479801758fd2a229e8415534d" ], [ "Ex10b.test", @@ -148,15 +149,15 @@ "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "proj_equation_Ex10b.Point_x", "proj_equation_Ex10b.Point_y", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a535b02a15b2ed72225fff04c1c6bcd8", - "refinement_interpretation_Tm_refine_bbeef04beebab3bf164249828124ae00", + "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", + "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "typing_Ex10b.__proj__Point__item__x", "typing_Ex10b.__proj__Point__item__y", "typing_FStar.Heap.trivial_preorder" ], 0, - "560b567f67b0bfd74578e6139d4cad3c" + "3b4e30adb03ce4379f433967f4133a19" ], [ "Ex10b.point", @@ -166,11 +167,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9559e6aa1128e4c99f8475f8eb2db2a4" + "b51f122a0ab8e9039ea5899fa20e11ee" ], [ "Ex10b.__proj__Point__item__y", @@ -180,11 +181,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2e0a9224d19316d9210562a4a4986af4" + "9a674e7461b33b1b24ebba13e159e877" ], [ "Ex10b.__proj__Point__item__y", @@ -192,18 +193,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "fuel_guarded_inversion_Ex10b.point", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "proj_equation_Ex10b.Point_x", "projection_inverse_Ex10b.Point_x", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "28b06287b99db576ed1a2eabdb27df7c" + "271a1d068314c0df8d789d8497142801" ], [ "Ex10b.new_point", @@ -213,11 +211,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a7b41288e89dcff3e2f24eb341f0bcfa" + "d9e40adbbe21ee205b93da825c1f17c3" ], [ "Ex10b.shift_x_p1", @@ -225,16 +223,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0c66bf49c94724df081e150885392182" + "8cee8bc1f205ea5266bcc145f2e03182" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex11a.fst.hints b/doc/tutorial/code/exercises/Ex11a.fst.hints index 46e3ddd4a62..a48be670fee 100644 --- a/doc/tutorial/code/exercises/Ex11a.fst.hints +++ b/doc/tutorial/code/exercises/Ex11a.fst.hints @@ -7,16 +7,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c8c63f0b79ef1e828906a2671cf0da05" + "d6bc6adc812e62d7290f37b61179e184" ], [ "Ex11a.__proj__Point__item__x", @@ -32,7 +29,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "c7853123b7d4b7eaed6d5c95e49c0154" + "1352f75d8ad4a7a8b4af4fb27b560087" ], [ "Ex11a.__proj__Point__item__y", @@ -48,7 +45,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "d549b1729ddbae428bf52fcea6450d01" + "80b1a2cb123700f3ef26f73d3c71d378" ], [ "Ex11a.__proj__Point__item__z", @@ -56,16 +53,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0e75c2329c88e8009604427bdd8af6ae" + "4750c48480400f9055be17df59928185" ], [ "Ex11a.__proj__Point__item__z", @@ -73,13 +67,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_Ex11a.point", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.point", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", "projection_inverse_Ex11a.Point_r", "projection_inverse_Ex11a.Point_x", @@ -87,7 +78,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "28a798800aa7e7b1fee71235334f1330" + "00f3c31ae076c07f75de8d5af8a2dffd" ], [ "Ex11a.arm", @@ -97,11 +88,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0cb9b62b0fd2c7797f520ddbeb1d4c4e" + "32d933d41c9e7862cf67b5e2a985185a" ], [ "Ex11a.__proj__Arm__item__polar", @@ -117,7 +108,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "c8d0bcf528cd17b089cb8ac1282ffa30" + "b3969f2299d2c0edb53f1c3c122b2f6c" ], [ "Ex11a.__proj__Arm__item__azim", @@ -127,11 +118,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4fdde314360d1a8af80e596e4391fa0a" + "9611ce82afe51483e0f1ea0d10029f4b" ], [ "Ex11a.__proj__Arm__item__azim", @@ -139,20 +130,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_Ex11a.arm", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.arm", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "proj_equation_Ex11a.Arm_polar", "proj_equation_Ex11a.Arm_r", "projection_inverse_Ex11a.Arm_polar", "projection_inverse_Ex11a.Arm_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7a3a05d55db91e95221eb933ceec478c" + "fb79f9226195dfa7e210b33cf716f4bd" ], [ "Ex11a.__proj__Bot__item__pos", @@ -172,7 +160,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "cc0ff32fbfc78b22d4b12267de364471" + "8b2783b782f273277c4c6593ca2abde4" ], [ "Ex11a.__proj__Bot__item__left", @@ -192,7 +180,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "85a2ce0b647276fe592f1d742f7316a9" + "d2bd9d815c9cfd23012c30df1bedd462" ], [ "Ex11a.__proj__Bot__item__right", @@ -213,7 +201,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "4ea77da8abf01ff5d43e24cd9e2b0560" + "ea175264c6eaf45274384c5b7ec82b83" ], [ "Ex11a.new_point", @@ -224,6 +212,7 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.mref", @@ -236,11 +225,12 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.mref", + "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", + "function_token_typing_Prims.int", "int_inversion", "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -260,24 +250,23 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_x", - "proj_equation_Ex11a.Point_y", "proj_equation_Ex11a.Point_z", - "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_Ex11a.Point_r", + "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", + "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex11a.Point_r", "projection_inverse_Ex11a.Point_x", "projection_inverse_Ex11a.Point_y", "projection_inverse_Ex11a.Point_z", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", @@ -296,7 +285,7 @@ "typing_FStar.Set.union" ], 0, - "64f960d9e16ee1402b8a1e85fc8c0a80" + "12b810fec3da30f2caddb9fe14b200cd" ], [ "Ex11a.new_arm", @@ -307,6 +296,7 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.mref", @@ -319,6 +309,7 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.mref", + "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", @@ -340,19 +331,19 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_Ex11a.Arm_r", "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_r", + "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex11a.Arm_r", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", @@ -371,7 +362,7 @@ "typing_FStar.Set.union" ], 0, - "59d62fe36e90b3fc9a96302a86e2ae98" + "a82f76ecc644142b9dd9b32ced281b1b" ], [ "Ex11a.new_robot", @@ -391,10 +382,11 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Set.subset", "fuel_guarded_inversion_Ex11a.arm", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -411,25 +403,28 @@ "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_r", - "proj_equation_Ex11a.Bot_left", "proj_equation_Ex11a.Bot_pos", - "proj_equation_Ex11a.Bot_r", "proj_equation_Ex11a.Bot_right", - "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_z", - "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", + "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", + "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", + "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", + "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex11a.Bot_left", "projection_inverse_Ex11a.Bot_pos", "projection_inverse_Ex11a.Bot_r", "projection_inverse_Ex11a.Bot_right", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_7fc9d06759d40ff23f402c9997a279a8", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Point__item__r", "typing_Ex11a.__proj__Point__item__z", "typing_FStar.Map.concat", @@ -441,12 +436,13 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "b0d1c63cb730adb3aa4618c9dc31b825" + "9948b282ec836fcf8bafa5d07f2bd018" ], [ "Ex11a.walk_robot_to", @@ -479,7 +475,7 @@ "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.l_True", "fuel_guarded_inversion_Ex11a.arm", + "fuel_guarded_inversion_Ex11a.arm", "fuel_guarded_inversion_Ex11a.bot", "fuel_guarded_inversion_Ex11a.point", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", @@ -487,7 +483,7 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -513,23 +509,20 @@ "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_17a5087247fed09ddadf3d354532185d", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", "refinement_interpretation_Tm_refine_206fb67ac8a0944a9ab5261a6c1a4470", + "refinement_interpretation_Tm_refine_20d814f05cc324f6145ec3b0c59b2d6b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7fc9d06759d40ff23f402c9997a279a8", + "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", + "refinement_interpretation_Tm_refine_65788159802f77d74f6322a5bfd82079", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_be9c017b7643da330281b6d1ed645d97", - "refinement_interpretation_Tm_refine_c444497c8a80cacdc27f98743ac3d54c", - "refinement_interpretation_Tm_refine_c507c44cb979f492a72d8addc7daaaed", - "refinement_interpretation_Tm_refine_e95b1988d8377e48a2c6ba9650361d38", - "refinement_interpretation_Tm_refine_ea8928d5098ded45569011545bc74327", + "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", + "refinement_interpretation_Tm_refine_ec53d5de9d89b00eaf69f23d84b30a0f", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "true_interp", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Bot__item__left", @@ -557,7 +550,7 @@ "typing_FStar.Set.union" ], 0, - "6c24fc116a16014e66ca70599dc632e7" + "09bd93d89404a40efaf8c605fc051090" ], [ "Ex11a.fly", @@ -589,14 +582,14 @@ "equation_FStar.Monotonic.HyperStack.mref", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.l_True", "fuel_guarded_inversion_Ex11a.arm", + "fuel_guarded_inversion_Ex11a.arm", "fuel_guarded_inversion_Ex11a.bot", "fuel_guarded_inversion_Ex11a.point", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -623,27 +616,24 @@ "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", + "refinement_interpretation_Tm_refine_18f572f5fbedce8a29f9016d91463885", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1c829352e34f8a2fbb44ef367728cc10", - "refinement_interpretation_Tm_refine_1ff0dee1707b1dc50a04f5bb088f52a0", + "refinement_interpretation_Tm_refine_3e9d16c1d0a8cacb41c88ccf9f804bd0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5ac822a97e478ec8fff7e142d57bbe89", - "refinement_interpretation_Tm_refine_6455a9fd9453b77cef891cf9f2367cdb", - "refinement_interpretation_Tm_refine_7fc9d06759d40ff23f402c9997a279a8", - "refinement_interpretation_Tm_refine_82fd7b6d79ba63e616e8262d9348138d", + "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", + "refinement_interpretation_Tm_refine_65788159802f77d74f6322a5bfd82079", + "refinement_interpretation_Tm_refine_6a2abcb610380b784b4a012f5ea4be47", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9e478dab879633161f34af8a412a616a", + "refinement_interpretation_Tm_refine_ae80b9018d832bf49e72145a27ff6243", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_c444497c8a80cacdc27f98743ac3d54c", - "refinement_interpretation_Tm_refine_c507c44cb979f492a72d8addc7daaaed", - "refinement_interpretation_Tm_refine_dcce89d89f80dd04dcce90bc87b3cbf9", - "refinement_interpretation_Tm_refine_e95b1988d8377e48a2c6ba9650361d38", + "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", + "refinement_interpretation_Tm_refine_e43ea857e0979e99d05fadcc98f22316", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_f9a183ea6827f23b92aa9e9536ab91b8", + "refinement_interpretation_Tm_refine_fc5c0e922bb7122f645b56cbc86259cf", "true_interp", "typing_Ex11a.__proj__Arm__item__azim", "typing_Ex11a.__proj__Arm__item__polar", "typing_Ex11a.__proj__Arm__item__r", @@ -672,7 +662,7 @@ "typing_FStar.Set.union" ], 0, - "f2dc3382358a0b49f21108f16a986103" + "fa2c05e195f69d750356496075b999cd" ], [ "Ex11a.fly_both", @@ -718,6 +708,7 @@ "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", + "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", @@ -727,19 +718,19 @@ "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1c829352e34f8a2fbb44ef367728cc10", - "refinement_interpretation_Tm_refine_54382104c3a2e447ed5924c523edb34f", - "refinement_interpretation_Tm_refine_7fc9d06759d40ff23f402c9997a279a8", + "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", + "refinement_interpretation_Tm_refine_1b754c0347e4c714eb5466a0a6e06e65", + "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_c444497c8a80cacdc27f98743ac3d54c", - "refinement_interpretation_Tm_refine_c507c44cb979f492a72d8addc7daaaed", + "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", "refinement_interpretation_Tm_refine_dc53989c1bb1f151f9380d9cad5188aa", - "refinement_interpretation_Tm_refine_ea8928d5098ded45569011545bc74327", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_fc5c0e922bb7122f645b56cbc86259cf", "typing_Ex11a.__proj__Arm__item__polar", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Bot__item__left", @@ -748,18 +739,19 @@ "typing_Ex11a.__proj__Bot__item__right", "typing_Ex11a.__proj__Point__item__r", "typing_Ex11a.__proj__Point__item__z", "typing_Ex11a.flying", - "typing_Ex11a.only", "typing_Ex11a.op_Hat_Plus_Hat", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_Ex11a.only", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.disjoint", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.complement", "typing_FStar.Set.mem" + "typing_FStar.Set.complement", "typing_FStar.Set.mem", + "typing_FStar.Set.union" ], 0, - "b00caffd9ab08f1e6c99cb6ea56a4d78" + "2948bd3b6b193ec5833e644fb925c24b" ], [ "Ex11a.fly_one", @@ -794,13 +786,13 @@ "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_20ebdc24e8dc4a59a7e35ca0459e594d", - "refinement_interpretation_Tm_refine_7fc9d06759d40ff23f402c9997a279a8", + "refinement_interpretation_Tm_refine_1a98301553e516ce88f141a3c116a5ce", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_c444497c8a80cacdc27f98743ac3d54c", + "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", "refinement_interpretation_Tm_refine_dc53989c1bb1f151f9380d9cad5188aa", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Bot__item__left", @@ -820,7 +812,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem" ], 0, - "284277e85ca431ef4566f0752bf3815f" + "ad4de14d5e53ec4d05729f736b70bea8" ], [ "Ex11a.__proj__Cons__item__rs", @@ -833,7 +825,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "cd7e6d0836c6aa14075b17546cd46e3a" + "de02d6f5f694b39e122115276b8b2692" ], [ "Ex11a.__proj__Cons__item__hd", @@ -847,7 +839,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "ef453ceb3632a54c910c79f0c51aedf0" + "3171d9d93712d3571a616827c844a6d0" ], [ "Ex11a.__proj__Cons__item__tl", @@ -861,7 +853,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "a94466536fb6b48699bd560f62f9472a" + "4639e91a159c4b9d0f62953d987028cd" ], [ "Ex11a.mem", @@ -876,7 +868,7 @@ "subterm_ordering_Ex11a.Cons" ], 0, - "4deb952d679cb9fe9a6839f03c9a1b7a" + "ef1824be18d826995b820c77b9249718" ], [ "Ex11a.lemma_mem_rid", @@ -916,7 +908,7 @@ "typing_tok_Ex11a.Nil@tok" ], 0, - "c3845e7433d7e0c4040e3bad72ba251a" + "9d62667c9471bc067c84c90ff9267855" ], [ "Ex11a.lemma_bots_tl_disjoint", @@ -929,7 +921,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "63711d3308c0497a456b681274109efe" + "4ab6a4edd4f1e23d498362c58f0aec79" ], [ "Ex11a.lemma_bots_tl_disjoint", @@ -951,7 +943,7 @@ "typing_Ex11a.__proj__Bot__item__r" ], 0, - "7ce967fd8fc4f14947329598144865e7" + "e0df604c42d200f6cac32ae5e73d691c" ], [ "Ex11a.main", @@ -1011,16 +1003,16 @@ "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_54382104c3a2e447ed5924c523edb34f", + "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", + "refinement_interpretation_Tm_refine_1b754c0347e4c714eb5466a0a6e06e65", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_c507c44cb979f492a72d8addc7daaaed", - "refinement_interpretation_Tm_refine_ea8928d5098ded45569011545bc74327", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Bot__item__left", "typing_Ex11a.__proj__Bot__item__pos", @@ -1041,7 +1033,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.singleton" ], 0, - "854ad806dfa9ff0bb169bfa5285a9ae1" + "038568e521502bbab3bbf3472729c048" ], [ "Ex11a.point", @@ -1049,16 +1041,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9fb6d8564b8ce2a4ba0ee93cb5d0574a" + "e6c353f8cb341522cdf5973116a3f318" ], [ "Ex11a.__proj__Point__item__x", @@ -1074,7 +1063,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "22e8416e986ed2c0e4fcbc9fb759f8fb" + "1704b8b2486d01c2c4748d925d9001a4" ], [ "Ex11a.__proj__Point__item__y", @@ -1090,7 +1079,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "19de4233b04be13cbc0624b0fc0a0d2e" + "08877a8509bd361482b13d9ca8a0100e" ], [ "Ex11a.__proj__Point__item__z", @@ -1098,16 +1087,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "662a1db0b282c95276b134e303242659" + "f14b332c922b1d3c35494a85f7ff15c1" ], [ "Ex11a.__proj__Point__item__z", @@ -1115,13 +1101,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_Ex11a.point", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.point", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", "projection_inverse_Ex11a.Point_r", "projection_inverse_Ex11a.Point_x", @@ -1129,7 +1112,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8bdddfe27bd3d5074407df75f083d29f" + "4b664cd9eed5b99070e86a0844ec3ab1" ], [ "Ex11a.arm", @@ -1139,11 +1122,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "30900f0f1941585b4f80a44c6ac63689" + "4cd66e97e3a6558729ae0bb617032235" ], [ "Ex11a.__proj__Arm__item__polar", @@ -1159,7 +1142,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "acf67cc67514b8996f0ba9303a9e8cfb" + "b882733cd67a06ccb0e393a83e3d5204" ], [ "Ex11a.__proj__Arm__item__azim", @@ -1169,11 +1152,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5de102bcc557b05488c8565cc6acd4bc" + "d01468276573d8ac90b677927fa93a70" ], [ "Ex11a.__proj__Arm__item__azim", @@ -1181,20 +1164,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_Ex11a.arm", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.arm", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "proj_equation_Ex11a.Arm_polar", "proj_equation_Ex11a.Arm_r", "projection_inverse_Ex11a.Arm_polar", "projection_inverse_Ex11a.Arm_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8ccdf103f5e465e936288180291f6afc" + "cdf1aad56cfed0da8b4f4c238642f5c5" ], [ "Ex11a.__proj__Bot__item__pos", @@ -1206,7 +1186,7 @@ "projection_inverse_Ex11a.Bot_r" ], 0, - "cd12fdab58e9c45b93cbb8361d910172" + "84ef45bbfd074fc1c0fe158512acccc7" ], [ "Ex11a.__proj__Bot__item__left", @@ -1218,7 +1198,7 @@ "projection_inverse_Ex11a.Bot_r" ], 0, - "9781146117555b2c6161b440b48b249a" + "dd5e7d4ce3f2b957d685e0329dee7a52" ], [ "Ex11a.__proj__Bot__item__right", @@ -1238,7 +1218,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "96273f094a56883863438bb0ee409056" + "338d524756a7d08abd03b422835c0803" ], [ "Ex11a.__proj__Cons__item__rs", @@ -1251,7 +1231,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "981918e1f80ac6969bab071aea65969a" + "30c9026cf25eb2d4d7866c5902f942f8" ], [ "Ex11a.__proj__Cons__item__hd", @@ -1265,7 +1245,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "81b0ca1e342b8fb49e08edfdf96d25a0" + "4dab58ad00e167d34adb5ccae4081d4f" ], [ "Ex11a.__proj__Cons__item__tl", @@ -1279,7 +1259,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "bdab78fc465abac505ef5278ed95d0bf" + "5c8c94baee16e90a7bb19338742e8e63" ], [ "Ex11a.mem", @@ -1294,7 +1274,7 @@ "subterm_ordering_Ex11a.Cons" ], 0, - "dc7fff397702fdcbed749dd6080a72a4" + "28174a211d0bb93f8c25b1e673735c40" ], [ "Ex11a.lemma_bots_tl_disjoint", @@ -1307,7 +1287,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "454ff06fae7bff7b282c9bd6ae352d30" + "d2e946af92c8b0dffcf4226e1570bb5c" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex12a1.Cap.fst.hints b/doc/tutorial/code/exercises/Ex12a1.Cap.fst.hints index 362738c392e..92cef1ac7f6 100644 --- a/doc/tutorial/code/exercises/Ex12a1.Cap.fst.hints +++ b/doc/tutorial/code/exercises/Ex12a1.Cap.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "49d4f6941c285ef6c4f235d50f8d9b08" + "a4aa9c03c7df94d41ee99e7eb53dec43" ], [ "Ex12a1.Cap.capRead", @@ -17,7 +17,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "5614c8c65aa6beb3be2807762f501898" + "d97a1c1805b8135db23bf5da3b309050" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex12b1.Format.fst.hints b/doc/tutorial/code/exercises/Ex12b1.Format.fst.hints index 814da5f3678..96f12d65a9d 100644 --- a/doc/tutorial/code/exercises/Ex12b1.Format.fst.hints +++ b/doc/tutorial/code/exercises/Ex12b1.Format.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "6461faf1e918277a91904f586c95255c" + "6c2f1c54ad02cdaa43af3e522a0fb3c9" ], [ "Ex12b1.Format.append_inj_lemma", @@ -17,19 +17,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt8.t__uu___haseq", "equation_Ex12b1.Format.message", "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_467827b70a29c5d62a269dce781bf196", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.op_At_Bar" ], 0, - "4dedd9334a5dd050876706210cce31f0" + "f7b275a2d65f64f682e1eaeacdc1d5fe" ], [ "Ex12b1.Format.lemma_eq_intro", @@ -37,16 +38,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "702b024e31d39d602bad4600bceff490" + "8079b2642aa74fe27252374c01217188" ], [ "Ex12b1.Format.lemma_eq_intro", @@ -55,7 +53,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], 0, - "89bf9cbf44347ef113064e8a4b01f845" + "ebb0bb22613996375e657063c8ae8be1" ], [ "Ex12b1.Format.UTF8_inj", @@ -64,7 +62,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "eade737dfc72bd2fcc8aa8a558f0e794" + "48bad210376ae206872494cfbd9ffb67" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -73,7 +71,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "96a8923143be1d96b1631426861126f0" + "97bf6a386e34e10192e6467e7d4f2ec4" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -82,7 +80,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "969b88b87c1dcfff28e763bd55ada6b8" + "75b5b9bef7d75daf7311976ca1748b8f" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -98,7 +96,7 @@ "refinement_interpretation_Ex12b1.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" ], 0, - "f834fa9a57b68ab583c729467caacb89" + "ac1d05aa7239216bb4d442dc52fa2712" ], [ "Ex12b1.Format.UINT16_inj", @@ -114,7 +112,7 @@ "refinement_interpretation_Ex12b1.Format_Tm_refine_840eba52f90cf7bf85387b7d8eff7d06" ], 0, - "843b8b7a5306b1b64de87a2b61563626" + "a6c23275ffaf47ab67c3db6b7f60a9e3" ], [ "Ex12b1.Format.response", @@ -124,10 +122,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12b1.Format.string16", "equation_Ex12b1.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b0c7870479b009ecde2e1ac3a590e38" + "refinement_interpretation_Tm_refine_a1e73d6915e6e15cb66adfccdfeecbeb" ], 0, - "7deb998d1c48b5178b2d2633ad7fb3a8" + "9463e079f19e95578826df0ad9911fc9" ], [ "Ex12b1.Format.append_inj_lemma", @@ -136,7 +134,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "734c38c9dbe8ff3b7b1677a8b127d13b" + "74c5e0942e770908744fdb4b48de5226" ], [ "Ex12b1.Format.lemma_eq_intro", @@ -144,16 +142,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bcaf5e2c1aed17bb899b4b55d02b569b" + "299955061342253942d8c8b496633b51" ], [ "Ex12b1.Format.UTF8_inj", @@ -162,7 +157,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "1710743a02da700edcad58bbd949d9ef" + "5fec66eb989f4a8e8eccc6b71a15afcf" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -171,7 +166,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "92b8da4cfc3bad0bf105b4ef49956751" + "c6bd51a3c022852e42ad6d7bfccac794" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -180,7 +175,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "caaae82fd18c9e66a2c784a98c31ffd7" + "d8bbcbb208d33f4efafb7aae0ce1b479" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -189,7 +184,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "a985a1e884b2298c7b5ed423fd45b0cf" + "8a0d54b3e61e66a4006167d0afb9b3dd" ], [ "Ex12b1.Format.UINT16_inj", @@ -205,7 +200,7 @@ "refinement_interpretation_Ex12b1.Format_Tm_refine_840eba52f90cf7bf85387b7d8eff7d06" ], 0, - "c7f5075760805671efd7118db1fcde7e" + "c08f7cf388c61124450083d19b991ac9" ], [ "Ex12b1.Format.response", @@ -215,10 +210,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12b1.Format.string16", "equation_Ex12b1.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b0c7870479b009ecde2e1ac3a590e38" + "refinement_interpretation_Tm_refine_a1e73d6915e6e15cb66adfccdfeecbeb" ], 0, - "0649b0b5c834c440d0d0cd692a6cb34d" + "a8285c0db44b7e735dc9d85689cbc65f" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex12b2.Format.fst.hints b/doc/tutorial/code/exercises/Ex12b2.Format.fst.hints index c3586387818..aa5de0be693 100644 --- a/doc/tutorial/code/exercises/Ex12b2.Format.fst.hints +++ b/doc/tutorial/code/exercises/Ex12b2.Format.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "638ce4e79209fc9903cd8e2d0faff997" + "f9815424cbfe7433b5b3e16e3f51fd08" ], [ "Ex12b2.Format.append_inj_lemma", @@ -17,19 +17,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt8.t__uu___haseq", "equation_Ex12b2.Format.message", "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_467827b70a29c5d62a269dce781bf196", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.op_At_Bar" ], 0, - "96e6563cf71c41172dfd120919c120f0" + "79baff18dfb4cc595b1e2795bbe5c882" ], [ "Ex12b2.Format.lemma_eq_intro", @@ -37,16 +38,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "31a19a5b6c7de47d31e667a69851c227" + "9a79bd70b8b7c6e64b783ad9520b82f5" ], [ "Ex12b2.Format.lemma_eq_intro", @@ -55,7 +53,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], 0, - "7a19176ad02f1914c2ef1979bbb772d2" + "d1c6ff971b80204fd4d4d9b689644834" ], [ "Ex12b2.Format.UTF8_inj", @@ -64,7 +62,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "eb69bfd264b2b00eb4aaae03663305fc" + "4d3c03340e7fe69d365b4de331e95a88" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -73,7 +71,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "00070f65a5a364533ff3b8ab9dc13f89" + "b95eab57ab00a15d224edc6f2380c115" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -82,7 +80,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "12ce59da45c880be5009004e9c845a03" + "9745d54923a22cfd1f7bf1e0c651cda7" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -98,7 +96,7 @@ "refinement_interpretation_Ex12b2.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" ], 0, - "cf688127f3377ec2e9496468c6baa0e6" + "b704a5d7d9e8f1a810839c5f4337bec3" ], [ "Ex12b2.Format.UINT16_inj", @@ -114,7 +112,7 @@ "refinement_interpretation_Ex12b2.Format_Tm_refine_2715c7aa110a09a1aebf3f1c479c3086" ], 0, - "c472c9d24ce919fab6400f692dfc1a1d" + "b115c8a68ddddb575850864f72173477" ], [ "Ex12b2.Format.response", @@ -124,10 +122,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.string16", "equation_Ex12b2.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4f1873878867b70a0de3794ca2e9d2b2" + "refinement_interpretation_Tm_refine_d844011875815de1ddd4b8541a0488ed" ], 0, - "613c12531bac95b2b103022f7c6a84cb" + "2d00322af97e8f5287190c48bfc863fb" ], [ "Ex12b2.Format.req_resp_distinct", @@ -139,7 +137,7 @@ "equation_Ex12b2.Format.message" ], 0, - "4ff9c02fdf178cbc955087ba4a798ed0" + "1f42b377ba409fb1e9011730955c327b" ], [ "Ex12b2.Format.req_injective", @@ -148,7 +146,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "d883e7409b007e07fefb1e94ccd487fa" + "59b01e6e14c24fb40175176243d92000" ], [ "Ex12b2.Format.resp_injective", @@ -157,7 +155,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "44b5d50158495d9503efa20c48144334" + "9141c0cb505e79af14c170f245d09b5e" ], [ "Ex12b2.Format.append_inj_lemma", @@ -166,7 +164,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "8de91f59ce0bed4583fe80267fc364aa" + "e45c5be49b40fc01414c7ace14459aa8" ], [ "Ex12b2.Format.lemma_eq_intro", @@ -174,16 +172,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "44038ac04d3a98f1c656f2c28b2fc932" + "e26dd0f40a94df41f31f60990989792d" ], [ "Ex12b2.Format.UTF8_inj", @@ -192,7 +187,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "48f845284136d758b6b2b58304189740" + "17609891801cc22b635ad10f90db3fea" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -201,7 +196,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "708d80fdb3ec2aa35cdf69b0347885bc" + "c58f522d56a8d2fce6b9d45139c5bcf2" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -210,7 +205,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "4cae9a796f0d85d68fdc53ef90d250c4" + "28d619f350b91af7dd4cebeb678de731" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -219,7 +214,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "cbc1cba0a81b823f5eabb34aeae408d1" + "8936870018a8c9db777d1cb69535de6d" ], [ "Ex12b2.Format.UINT16_inj", @@ -235,7 +230,7 @@ "refinement_interpretation_Ex12b2.Format_Tm_refine_2715c7aa110a09a1aebf3f1c479c3086" ], 0, - "7c0cb921d5ccd3ac4c68071e75afa085" + "8eaae2bba1b641fe69ee19a4c31e4bf3" ], [ "Ex12b2.Format.response", @@ -245,10 +240,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.string16", "equation_Ex12b2.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4f1873878867b70a0de3794ca2e9d2b2" + "refinement_interpretation_Tm_refine_d844011875815de1ddd4b8541a0488ed" ], 0, - "e27e4ad28ec7e535522f64e9309e9d4a" + "a3f0f45414387f676d13c795b3597463" ], [ "Ex12b2.Format.req_resp_distinct", @@ -260,7 +255,7 @@ "equation_Ex12b2.Format.message" ], 0, - "47508c85a1319ae309d769b97562c295" + "0b4a78c5a280eb1b9c0dc36df3536848" ], [ "Ex12b2.Format.req_injective", @@ -269,7 +264,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "7a87f653ce96e8ba701c29f148bb9074" + "c5a551b9a38833457fe5c2884a913c21" ], [ "Ex12b2.Format.resp_injective", @@ -278,7 +273,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "55f24183ff90b56cc214a55a7b2eac0f" + "011a6a15bb0b15759574576d7bf104e8" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex12c.Format.fst.hints b/doc/tutorial/code/exercises/Ex12c.Format.fst.hints index ef71aea7a31..8774c014067 100644 --- a/doc/tutorial/code/exercises/Ex12c.Format.fst.hints +++ b/doc/tutorial/code/exercises/Ex12c.Format.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "584610fb440f59746bed9255306caf61" + "2351c2c69e109fe7acb8005e5419295a" ], [ "Ex12c.Format.append_inj_lemma", @@ -21,12 +21,12 @@ "equation_Ex12c.Format.message", "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", "function_token_typing_FStar.UInt8.t", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.op_At_Bar" ], 0, - "bbaf0333725ceae7e80fd10897b9e425" + "7e9ec56d7a7c08d6649eaae778655c82" ], [ "Ex12c.Format.append_inj_lemma", @@ -35,7 +35,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "8d6016e03cfbaf7538fe3069671a70da" + "fcb3205c49ca0b5af2bca778214a1efd" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex12d.Pad.fst.hints b/doc/tutorial/code/exercises/Ex12d.Pad.fst.hints index 4e686dd3b52..adb0905ff6d 100644 --- a/doc/tutorial/code/exercises/Ex12d.Pad.fst.hints +++ b/doc/tutorial/code/exercises/Ex12d.Pad.fst.hints @@ -11,7 +11,7 @@ "equation_Ex12d.Pad.uint8" ], 0, - "d99bc41727f90550e9f3f9b47af0a2db" + "768feb0f0b8ee2472d900f4ffd5d45de" ], [ "Ex12d.Pad.block", @@ -23,7 +23,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0f48f3d73a3dfb1abf9b109c18f1c9bd" + "b31f2f242a7b7c6d47e0039179dc20f2" ], [ "Ex12d.Pad.pad", @@ -35,7 +35,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "807f6ca0c74f1e8632b001b66e770cd8" + "4362a798ad11d4bf4be0148bd4fe021b" ], [ "Ex12d.Pad.decode", @@ -44,21 +44,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt8.t__uu___haseq", "equation_Ex12d.Pad.block", - "equation_Ex12d.Pad.blocksize", "equation_Ex12d.Pad.bytes", - "equation_Ex12d.Pad.nbytes", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", + "equation_Ex12d.Pad.blocksize", "equation_Ex12d.Pad.nbytes", + "equation_Prims.nat", "primitive_Prims.op_Addition", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8d24bd18e39be4b7e3416b8c0baf712" + "refinement_interpretation_Tm_refine_0590ec213ae641fb88ba1d6471fd7c24", + "refinement_interpretation_Tm_refine_241fcd495b768b4159e55b3c9e8daab4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3fff6252c770d8a0589ee1ad3dc119c3" + "46ac81be44c54393b23ead2d88e6aa4d" ], [ "Ex12d.Pad.b2n", @@ -70,7 +67,7 @@ "equation_Ex12d.Pad.uint8" ], 0, - "75c1a59e7e330735f113ee77508e301d" + "d71997cf75f13396d538bb26fb3142fb" ], [ "Ex12d.Pad.block", @@ -82,7 +79,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "437d91f61bcabd59c2470e32c41b774c" + "56f812f286b30eda690a6f02e11a0a8e" ], [ "Ex12d.Pad.pad", @@ -94,7 +91,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "847626ab8ec934c359d1ed7d59ad5bd0" + "8408b3652ff1022a6602697c875e90b9" ], [ "Ex12d.Pad.decode", @@ -103,21 +100,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt8.t__uu___haseq", "equation_Ex12d.Pad.block", - "equation_Ex12d.Pad.blocksize", "equation_Ex12d.Pad.bytes", - "equation_Ex12d.Pad.nbytes", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", + "equation_Ex12d.Pad.blocksize", "equation_Ex12d.Pad.nbytes", + "equation_Prims.nat", "primitive_Prims.op_Addition", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8d24bd18e39be4b7e3416b8c0baf712" + "refinement_interpretation_Tm_refine_0590ec213ae641fb88ba1d6471fd7c24", + "refinement_interpretation_Tm_refine_241fcd495b768b4159e55b3c9e8daab4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b3510e30bfdfc0c646bca6f1e602d21a" + "327b19c03eba9b88fc53793b2f27b07e" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex12e.Pad.fst.hints b/doc/tutorial/code/exercises/Ex12e.Pad.fst.hints index de79d4e06a6..b2e5f82118b 100644 --- a/doc/tutorial/code/exercises/Ex12e.Pad.fst.hints +++ b/doc/tutorial/code/exercises/Ex12e.Pad.fst.hints @@ -11,7 +11,7 @@ "equation_Ex12e.Pad.uint8" ], 0, - "1de0076533027a51f62c5260a5b070e4" + "07f5955a0fd590108b371836a5005df1" ], [ "Ex12e.Pad.block", @@ -23,7 +23,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "322e4dcaeeda5fd194b176f4b00b592b" + "5592fd04b5da61d5785fdacf5b2fefc0" ], [ "Ex12e.Pad.pad", @@ -31,18 +31,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12e.Pad.blocksize", "equation_Ex12e.Pad.uint8", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", + "@MaxIFuel_assumption", "@query", "equation_Ex12e.Pad.blocksize", + "equation_Ex12e.Pad.uint8", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_create_len", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8f5cb00a7e19d3be0a01c4368a7ea4f" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e6faf261ba893b85e5bf614c443dacb3" ], 0, - "ef113fd54fc196897d7fe491810a76a1" + "30cf6d86aba9a82fb80dd92802c6ff3b" ], [ "Ex12e.Pad.encode", @@ -50,22 +48,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12e.Pad.blocksize", "equation_Ex12e.Pad.bytes", - "equation_Ex12e.Pad.nbytes", "equation_Ex12e.Pad.text", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", + "@MaxIFuel_assumption", "@query", "equation_Ex12e.Pad.blocksize", + "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.nbytes", + "equation_Ex12e.Pad.text", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_16688e70316b087fae878d6a5a3fe11f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f916ff80408cab27f0530013f5d47553", "typing_FStar.Seq.Base.length" ], 0, - "75922efaf291e7619d7d600d5c1bc91b" + "10dda32d46bdcd791ad62908aede7da1" ], [ "Ex12e.Pad.decode", @@ -74,15 +70,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.UInt8.t__uu___haseq", "bool_typing", - "equation_Ex12e.Pad.block", "equation_Ex12e.Pad.blocksize", - "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.encode", - "equation_Ex12e.Pad.nbytes", "equation_FStar.Seq.Properties.split", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", + "assumption_FStar.UInt8.t__uu___haseq", "equation_Ex12e.Pad.block", + "equation_Ex12e.Pad.blocksize", "equation_Ex12e.Pad.bytes", + "equation_Ex12e.Pad.encode", "equation_Ex12e.Pad.nbytes", + "equation_FStar.Seq.Properties.split", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -96,20 +89,20 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_0c91b6341a45486d61df364d8430cb6e", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ea0fc3235700d9910479c1dc473c16b9", + "refinement_interpretation_Tm_refine_16688e70316b087fae878d6a5a3fe11f", + "refinement_interpretation_Tm_refine_187faaa51a8c0fa4338990784a62839e", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ac5296ff6ce710484f1fc6319b49ab7", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_85fdd731a62f5a746decfd97d0883d09", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "a4bd3fd862e2a1b9667e3e49b37f3db5" + "273764c7efa6e145e4dca00fd4f3373f" ], [ "Ex12e.Pad.b2n", @@ -121,7 +114,7 @@ "equation_Ex12e.Pad.uint8" ], 0, - "825f1851f21b9675e99cf2917b85db68" + "3eef281171ee9c8756361ca27dd86a99" ], [ "Ex12e.Pad.block", @@ -133,7 +126,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1cdeb4890263bd0beca02a210ef977aa" + "62b045a03ffa4ee4cf33823d7414b325" ], [ "Ex12e.Pad.pad", @@ -141,18 +134,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12e.Pad.blocksize", "equation_Ex12e.Pad.uint8", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", + "@MaxIFuel_assumption", "@query", "equation_Ex12e.Pad.blocksize", + "equation_Ex12e.Pad.uint8", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_create_len", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8f5cb00a7e19d3be0a01c4368a7ea4f" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e6faf261ba893b85e5bf614c443dacb3" ], 0, - "25a127aca810ba39c2f412a517ea83b5" + "6307418a57e79f5f6fd93ccb878c341c" ], [ "Ex12e.Pad.encode", @@ -160,22 +151,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12e.Pad.blocksize", "equation_Ex12e.Pad.bytes", - "equation_Ex12e.Pad.nbytes", "equation_Ex12e.Pad.text", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", + "@MaxIFuel_assumption", "@query", "equation_Ex12e.Pad.blocksize", + "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.nbytes", + "equation_Ex12e.Pad.text", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_16688e70316b087fae878d6a5a3fe11f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f916ff80408cab27f0530013f5d47553", "typing_FStar.Seq.Base.length" ], 0, - "ad3f8ff29feb4358ff68aec3218e6e1c" + "4c7b6807bc51096486bec565cbdd6fe4" ], [ "Ex12e.Pad.decode", @@ -184,15 +173,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.UInt8.t__uu___haseq", "bool_typing", - "equation_Ex12e.Pad.block", "equation_Ex12e.Pad.blocksize", - "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.encode", - "equation_Ex12e.Pad.nbytes", "equation_FStar.Seq.Properties.split", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", + "assumption_FStar.UInt8.t__uu___haseq", "equation_Ex12e.Pad.block", + "equation_Ex12e.Pad.blocksize", "equation_Ex12e.Pad.bytes", + "equation_Ex12e.Pad.encode", "equation_Ex12e.Pad.nbytes", + "equation_FStar.Seq.Properties.split", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -206,20 +192,20 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_0c91b6341a45486d61df364d8430cb6e", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ea0fc3235700d9910479c1dc473c16b9", + "refinement_interpretation_Tm_refine_16688e70316b087fae878d6a5a3fe11f", + "refinement_interpretation_Tm_refine_187faaa51a8c0fa4338990784a62839e", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ac5296ff6ce710484f1fc6319b49ab7", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_85fdd731a62f5a746decfd97d0883d09", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "d0d6f0a3226d3128c0f44e947cbeb02c" + "62a1e37a4ba36043f136affab9dead92" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/Ex12g.TMAC2.fst.hints b/doc/tutorial/code/exercises/Ex12g.TMAC2.fst.hints index e30bdc69de7..2933f1278e5 100644 --- a/doc/tutorial/code/exercises/Ex12g.TMAC2.fst.hints +++ b/doc/tutorial/code/exercises/Ex12g.TMAC2.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "db2241967400ab19e2614db87e6e683d" + "03d4f4aeb989d0e87d0c7ce967c8373c" ], [ "Ex12g.TMAC2.bspec1", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "b45ddd35665881e459aad6401fc0af26" + "989c2ae2e7f8cc270fdc26537e85a26d" ], [ "Ex12g.TMAC2.keygen", @@ -26,21 +26,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Ex12g.TMAC2_interpretation_Tm_arrow_e87641a489e6795a817e1cb2e2255d32", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "equation_Ex12.BMAC.key", "equation_Ex12.BMAC.pkey", - "equation_Ex12.Pad.block", "equation_Ex12g.TMAC2.text2", - "equation_Prims.logical", "function_token_typing_Ex12g.TMAC2.bspec0", - "partial_app_typing_cef420ad8f8ddf26e23998561b58810d", + "Ex12.BMAC_interpretation_Tm_arrow_ce0c823d76df01d9670b8417aea68ae7", + "Ex12g.TMAC2_interpretation_Tm_arrow_cf20b310f2692239564e86cb4231e614", + "Ex12g.TMAC2_interpretation_Tm_arrow_cfecfaa75515b6c7a02161ace50f71c9", + "equation_Ex12.BMAC.pkey", "equation_Prims.logical", + "function_token_typing_Ex12g.TMAC2.bspec0", + "function_token_typing_Ex12g.TMAC2.bspec1", "proj_equation_Ex12g.TMAC2.Keys_k0", "proj_equation_Ex12g.TMAC2.Keys_k1", "projection_inverse_Ex12g.TMAC2.Keys_k0", "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_cdab0a4f5774a60caddf7613d39bb432", + "refinement_interpretation_Tm_refine_cf4b96afb14879fedb96bcc2ed0b9772", "typing_Ex12.BMAC.keygen" ], 0, - "8662b4c1474ffa995396a59b096c676a" + "753624a73c1f28e8baf12bc3823c77b2" ], [ "Ex12g.TMAC2.bspec0", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "b35d457e79f4c0922847f4bb4caffc80" + "6d6a12a9320ba80ec62f67a7fdc97672" ], [ "Ex12g.TMAC2.bspec1", @@ -58,7 +58,7 @@ 1, [ "@query" ], 0, - "e95620e102473cc23981fd49eef60a2e" + "2e9a2554665dde898c154a5dd8703542" ], [ "Ex12g.TMAC2.keygen", @@ -67,21 +67,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Ex12g.TMAC2_interpretation_Tm_arrow_e87641a489e6795a817e1cb2e2255d32", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "equation_Ex12.BMAC.key", "equation_Ex12.BMAC.pkey", - "equation_Ex12.Pad.block", "equation_Ex12g.TMAC2.text2", - "equation_Prims.logical", "function_token_typing_Ex12g.TMAC2.bspec0", - "partial_app_typing_cef420ad8f8ddf26e23998561b58810d", + "Ex12.BMAC_interpretation_Tm_arrow_ce0c823d76df01d9670b8417aea68ae7", + "Ex12g.TMAC2_interpretation_Tm_arrow_cf20b310f2692239564e86cb4231e614", + "Ex12g.TMAC2_interpretation_Tm_arrow_cfecfaa75515b6c7a02161ace50f71c9", + "equation_Ex12.BMAC.pkey", "equation_Prims.logical", + "function_token_typing_Ex12g.TMAC2.bspec0", + "function_token_typing_Ex12g.TMAC2.bspec1", "proj_equation_Ex12g.TMAC2.Keys_k0", "proj_equation_Ex12g.TMAC2.Keys_k1", "projection_inverse_Ex12g.TMAC2.Keys_k0", "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_cdab0a4f5774a60caddf7613d39bb432", + "refinement_interpretation_Tm_refine_cf4b96afb14879fedb96bcc2ed0b9772", "typing_Ex12.BMAC.keygen" ], 0, - "7e25b1d51ba323dd89aae858599cb089" + "b7a04485c9581d1397d21d2fd5c78858" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/LowStar.Ex1.fst.hints b/doc/tutorial/code/exercises/LowStar.Ex1.fst.hints index e7f02fde6a9..4d0e1d31547 100644 --- a/doc/tutorial/code/exercises/LowStar.Ex1.fst.hints +++ b/doc/tutorial/code/exercises/LowStar.Ex1.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_FStar.Integers.Signed__0" ], 0, - "e740d8e9c2725e45301554e319f85b6d" + "1a2725da8ed9d9de14b1cec7dbb6b2e4" ], [ "LowStar.Ex1.min_int32", @@ -25,24 +25,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Integers.int_t", "equation_Prims.nat", - "equation_Prims.pos", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "76bf2f8d526cb61d8dbd4f5a9297f763" + "3e3a821f0ce959f2ac7c23f4f3b2ba2c" ], [ "LowStar.Ex1.sum3", @@ -50,11 +46,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int_32", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "97675ee89e4919cbc9278a538812dd12" + "c74776ecb3a970cc0aa463e6da405cae" ], [ "LowStar.Ex1.abs", @@ -69,7 +65,7 @@ "projection_inverse_FStar.Integers.Signed__0" ], 0, - "90969967d3a9d1871d0e59e8975ff57a" + "f723abae7d95904e7bb7e98e58b29aaa" ], [ "LowStar.Ex1.min_int32", @@ -80,24 +76,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Integers.int_t", "equation_Prims.nat", - "equation_Prims.pos", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "2ac9dde7e849d3f378b6ce19fdd1e2b7" + "377b33da48a634d9a85b59055102a9db" ], [ "LowStar.Ex1.sum3", @@ -105,11 +97,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int_32", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "7ba4b3da89b5e88575eac074177040ba" + "58e2509efd9bf16f349b53e7604ec4f3" ], [ "LowStar.Ex1.sum3", @@ -117,11 +109,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int_32", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "c5c8e221196201d7647cfce8b3f5c280" + "3dd9c04845418a351c288910f68d65e1" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/LowStar.Ex2.fst.hints b/doc/tutorial/code/exercises/LowStar.Ex2.fst.hints index 1c841e86bda..24229c4ce6b 100644 --- a/doc/tutorial/code/exercises/LowStar.Ex2.fst.hints +++ b/doc/tutorial/code/exercises/LowStar.Ex2.fst.hints @@ -10,19 +10,19 @@ "@MaxIFuel_assumption", "@query", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.uint_32", "equation_FStar.Integers.v", + "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.v", "equation_FStar.UInt.lte", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Ex2.lbuffer", "equation_LowStar.Monotonic.Buffer.length", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", "refinement_interpretation_Tm_refine_058782b7d4bb5815b5309774af61e92e", - "refinement_interpretation_Tm_refine_e295d1a089abf8fd7758b0cf33f12cde" + "refinement_interpretation_Tm_refine_8807cc77b6a1b45afbe57dc1caa2253c" ], 0, - "c636b5def2a13d66fbdbeb1ebfdb4a4a" + "b9f85755dcd4fa54883f8cc73dbc433a" ], [ "LowStar.Ex2.prefix_equal", @@ -33,19 +33,19 @@ "@MaxIFuel_assumption", "@query", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.uint_32", "equation_FStar.Integers.v", + "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.v", "equation_FStar.UInt.lte", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Ex2.lbuffer", "equation_LowStar.Monotonic.Buffer.length", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", "refinement_interpretation_Tm_refine_058782b7d4bb5815b5309774af61e92e", - "refinement_interpretation_Tm_refine_e295d1a089abf8fd7758b0cf33f12cde" + "refinement_interpretation_Tm_refine_8807cc77b6a1b45afbe57dc1caa2253c" ], 0, - "578357b2a85f4788ef05768a6cccbf29" + "4ec96fb5db39c94faf2d8cdb6d032802" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/exercises/LowStar.Ex3.fst b/doc/tutorial/code/exercises/LowStar.Ex3.fst index 9ea1d150ec5..77ad1d4c34e 100644 --- a/doc/tutorial/code/exercises/LowStar.Ex3.fst +++ b/doc/tutorial/code/exercises/LowStar.Ex3.fst @@ -92,7 +92,7 @@ let push #a (x: t a) (e:a) : Stack unit = admit() unfold inline_for_extraction -let malloc #a (init: a) len = B.malloc #a HS.root init len +let malloc #a (init: a) (len:uint_32{v len > 0}) = B.malloc #a HS.root init len /// Finally, the create function. Find a suitable pre-condition, and reflect the /// semantics and memory changes in the post-condition. diff --git a/doc/tutorial/code/exercises/LowStar.Ex3.fst.hints b/doc/tutorial/code/exercises/LowStar.Ex3.fst.hints index be07a10de06..ade2b3ebe59 100644 --- a/doc/tutorial/code/exercises/LowStar.Ex3.fst.hints +++ b/doc/tutorial/code/exercises/LowStar.Ex3.fst.hints @@ -1,5 +1,5 @@ [ - "ýž.ñÞ\u0001ÀgÝ—™9X\n\t", + "\u0016§²\u0015šæ·åü¿Q<;ÿ—B", [ [ "LowStar.Ex3.ok", @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "db9dbd6f5923241ad5ca61937789c71a" + "99b56242e375c56d7d7eec6771112c4b" ], [ "LowStar.Ex3.repr", @@ -16,46 +16,35 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", + "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Ex3.ok", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", - "fuel_guarded_inversion_LowStar.Ex3.t_struct", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "equation_LowStar.Monotonic.Buffer.length", + "fuel_guarded_inversion_LowStar.Ex3.t_struct", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", "refinement_interpretation_Tm_refine_85f007f7684d9b10bce7bd4073749a53", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "true_interp", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Ex3.__proj__Mkt_struct__item__b", "typing_LowStar.Ex3.__proj__Mkt_struct__item__first", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "ce6eb2169c6325a25c211c85d4084390" + "51fd5803f3ffb1652ab1154fdc86dc76" ], [ "LowStar.Ex3.pop", @@ -63,29 +52,60 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Ex3.empty", "equation_LowStar.Ex3.repr", - "equation_LowStar.Ex3.t", "equation_LowStar.Monotonic.Buffer.get", - "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Ex3.t_struct", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_LowStar.Ex3.t_struct@tok", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", "equation_LowStar.Ex3.empty", + "equation_LowStar.Ex3.repr", "equation_LowStar.Ex3.t", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "fuel_guarded_inversion_LowStar.Ex3.t_struct", "int_inversion", + "kinding_LowStar.Ex3.t_struct@tok", "lemma_FStar.Seq.Base.lemma_eq_intro", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_3e831441d8329658f49596b63fd5fe3e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_931e4239022cbf0b601e3460402e59c3", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.get" ], 0, - "ed3a4871a754cc892329129152105288" + "f5be49bd7ac93933ddf802b3315a27d6" + ], + [ + "LowStar.Ex3.malloc", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Integers.Unsigned", + "constructor_distinct_FStar.Integers.W32", + "equality_tok_FStar.Integers.W32@tok", + "equation_FStar.HyperStack.ST.is_eternal_region", + "equation_FStar.Integers.v", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_eternal_color", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "function_token_typing_FStar.Monotonic.Heap.heap", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_11e2906e72d0f4dd3f2f3067f294bd52", + "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip" + ], + 0, + "9dea11101a5afdb367ba5614017869f2" ], [ "LowStar.Ex3.ok", @@ -94,7 +114,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "38b05e63580e2a23d2fcb2dd95b70cf7" + "1079cd860a59f2c2eb23cc797a911dd1" ], [ "LowStar.Ex3.repr", @@ -102,46 +122,35 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", + "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Ex3.ok", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", - "fuel_guarded_inversion_LowStar.Ex3.t_struct", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "equation_LowStar.Monotonic.Buffer.length", + "fuel_guarded_inversion_LowStar.Ex3.t_struct", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", "refinement_interpretation_Tm_refine_85f007f7684d9b10bce7bd4073749a53", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "true_interp", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Ex3.__proj__Mkt_struct__item__b", "typing_LowStar.Ex3.__proj__Mkt_struct__item__first", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "4d3705f75f0963abfd90a81c9eb87766" + "5e3f690ec3fc3ed0c8ce5d890467509d" ], [ "LowStar.Ex3.pop", @@ -149,46 +158,42 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Ex3.empty", "equation_LowStar.Ex3.repr", - "equation_LowStar.Ex3.t", "equation_LowStar.Monotonic.Buffer.get", - "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Ex3.t_struct", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_LowStar.Ex3.t_struct@tok", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", "equation_LowStar.Ex3.empty", + "equation_LowStar.Ex3.repr", "equation_LowStar.Ex3.t", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "fuel_guarded_inversion_LowStar.Ex3.t_struct", "int_inversion", + "kinding_LowStar.Ex3.t_struct@tok", "lemma_FStar.Seq.Base.lemma_eq_intro", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_3e831441d8329658f49596b63fd5fe3e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_931e4239022cbf0b601e3460402e59c3", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.get" ], 0, - "998c6697479d3712ec66cdd3c39d725d" + "0c880f87eaeac6cf59fa49da2cf6d59f" ], [ "LowStar.Ex3.malloc", - 1, + 2, 2, 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_LowStar.Ex3_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55" + "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19" ], 0, - "a6f22f25468f308ef3796cf8cef29007" + "b04eca024b81ccd2753992b2104f1709" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/EtM.AE.fst.hints b/doc/tutorial/code/solutions/EtM.AE.fst.hints index 21fc5be5381..93909e53842 100644 --- a/doc/tutorial/code/solutions/EtM.AE.fst.hints +++ b/doc/tutorial/code/solutions/EtM.AE.fst.hints @@ -20,7 +20,7 @@ "typing_FStar.Monotonic.HyperStack.is_eternal_region" ], 0, - "909635af5a9237794ba4cbeeb5acd3f7" + "267347d04a0b1a2e37d182a68dfb6eaa" ], [ "EtM.AE.__proj__Key__item__km", @@ -44,7 +44,7 @@ "typing_FStar.Monotonic.HyperStack.is_eternal_region" ], 0, - "ac167e0cc3881bdad85500c5176d255c" + "3bb3eb5930e850f7f47f2f1f2651b7db" ], [ "EtM.AE.__proj__Key__item__log", @@ -56,7 +56,7 @@ "projection_inverse_EtM.AE.Key_region" ], 0, - "20bc0d728401894ca2cfd35e1eba589c" + "b17c1e4d020d7449c61ec062a02daee7" ], [ "EtM.AE.invariant", @@ -65,20 +65,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.AE.cipher", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.ivsize", - "equation_EtM.CPA.msg", "equation_FStar.Seq.Properties.indexable", - "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_EtM.CPA.cipher", "equation_EtM.CPA.msg", + "equation_FStar.Seq.Properties.indexable", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "657e033a829a7631e34c8eae788b7351" + "8d495b46e63be1f89ad39025cbc8263d" ], [ "EtM.AE.genPost", @@ -87,7 +83,7 @@ 1, [ "@query" ], 0, - "316a3a1d78b8dbfd6f97a4e4684fa2e9" + "8a73c3ecf53e7d7c2d44ab6e9d1b39a9" ], [ "EtM.AE.keygen", @@ -221,7 +217,7 @@ "typing_Prims.pow2" ], 0, - "7a84525f88a850c163343ee6bc44ecec" + "7f0dbb25183beca98e3e45e3c3a85603" ], [ "EtM.AE.keygen", @@ -230,17 +226,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_de0c4f31815b3388cd3c10eda9861253", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "data_elim_EtM.CPA.Key", "data_elim_EtM.MAC.Key", - "equation_EtM.AE.cipher", "equation_EtM.AE.genPost", - "equation_EtM.AE.get_cpa_log", "equation_EtM.AE.get_log", - "equation_EtM.AE.get_mac_log", "equation_EtM.AE.invariant", - "equation_EtM.AE.rid", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.genPost", "equation_EtM.CPA.log_t", - "equation_EtM.CPA.msg", "equation_EtM.CPA.rid", - "equation_EtM.MAC.genPost", "equation_EtM.MAC.log_t", - "equation_EtM.MAC.msg", "equation_EtM.MAC.rid", + "FStar.Monotonic.Seq_interpretation_Tm_arrow_9b1c273e798ef422e9aacaac3436c4f3", + "bool_inversion", "bool_typing", "data_elim_EtM.CPA.Key", + "data_elim_EtM.MAC.Key", "equation_EtM.AE.cipher", + "equation_EtM.AE.genPost", "equation_EtM.AE.get_cpa_log", + "equation_EtM.AE.get_log", "equation_EtM.AE.get_mac_log", + "equation_EtM.AE.invariant", "equation_EtM.AE.rid", + "equation_EtM.CPA.cipher", "equation_EtM.CPA.genPost", + "equation_EtM.CPA.log_t", "equation_EtM.CPA.msg", + "equation_EtM.CPA.rid", "equation_EtM.MAC.genPost", + "equation_EtM.MAC.log_t", "equation_EtM.MAC.msg", + "equation_EtM.MAC.rid", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.is_eternal_region", @@ -267,11 +263,9 @@ "equation_FStar.Set.subset", "fuel_guarded_inversion_EtM.CPA.key", "fuel_guarded_inversion_EtM.MAC.key", "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.Plain.plain", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Monotonic.Seq.grows", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -295,9 +289,8 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "proj_equation_EtM.AE.Key_ke", "proj_equation_EtM.AE.Key_km", "proj_equation_EtM.AE.Key_log", "proj_equation_EtM.AE.Key_region", @@ -308,20 +301,18 @@ "projection_inverse_EtM.AE.Key_km", "projection_inverse_EtM.AE.Key_log", "projection_inverse_EtM.AE.Key_region", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c2e601e6ce7c9e3faa9bf7cf4f97543e", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.CPA.__proj__Key__item__region", "typing_EtM.MAC.__proj__Key__item__region", "typing_FStar.Map.concat", "typing_FStar.Map.contains", @@ -344,7 +335,7 @@ "typing_FStar.Set.union" ], 0, - "1b5b874d6611c8987e2150589f95a6d8" + "6da2a53edd26170204ea1383b010f2fd" ], [ "EtM.AE.encrypt", @@ -353,7 +344,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", "bool_typing", "data_elim_EtM.CPA.Key", "data_elim_EtM.MAC.Key", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -392,12 +382,9 @@ "fuel_guarded_inversion_EtM.MAC.key", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.Plain.plain", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -428,18 +415,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_2768941cd440d20119c7c0391ff49055", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d5c85a08ebee369862fb69b236eaeb85", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_dfc4481a7d87dc23f6d1308682e26340", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_interpretation_Tm_refine_fa9de560c045554b06a472eed920a8f1", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.AE.__proj__Key__item__ke", "typing_EtM.AE.__proj__Key__item__km", "typing_EtM.AE.__proj__Key__item__log", @@ -463,7 +451,7 @@ "typing_FStar.Set.singleton" ], 0, - "85452dee69977178ba298f6c40174897" + "89f737f59932b8a7c1c47ea979f1a472" ], [ "EtM.AE.decrypt", @@ -473,16 +461,15 @@ [ "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.AE.cipher", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.ivsize", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.tag", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "function_token_typing_EtM.CPA.cipher", + "equation_EtM.CPA.cipher", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "5d823d09864c8d2959bbc3d374674c32" + "d66268d152eac3b658c2f105b3f3046b" ], [ "EtM.AE.decrypt", @@ -491,11 +478,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EtM.AE_interpretation_Tm_arrow_ff8a7ab4c864efca23ca36852cb6adbc", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "EtM.AE_interpretation_Tm_arrow_11b5249eb1308a0d5383c48e0559fa0a", + "EtM.AE_interpretation_Tm_arrow_f1dd2d4c43b8474a1a0cce9d33f18bed", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_EtM.AE.Key", "data_elim_EtM.CPA.Key", "data_elim_EtM.MAC.Key", "disc_equation_FStar.Pervasives.Native.None", @@ -532,14 +519,11 @@ "fuel_guarded_inversion_EtM.CPA.key", "fuel_guarded_inversion_EtM.MAC.key", "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.Plain.plain", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_528b527e391bf55fab053fed3c7f4864", - "interpretation_Tm_abs_9acaeccf341d612adb110cc057313ea2", - "interpretation_Tm_abs_df6b68a45e17b92192a53b60b0d20a3f", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", + "interpretation_Tm_abs_50119bc4d67e4e21ccc8214627c33789", + "interpretation_Tm_abs_828e9bf3f7b8947a8345907abcb4f794", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -564,19 +548,20 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_2768941cd440d20119c7c0391ff49055", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3c2924a9cf9e6342b3b105760aba9667", - "refinement_interpretation_Tm_refine_455d37991444af3ed40206d59e75b904", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d5c85a08ebee369862fb69b236eaeb85", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5db528c8dfbc09443195a7ba778a2682", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_dfc4481a7d87dc23f6d1308682e26340", + "refinement_interpretation_Tm_refine_eceee487dc5f997fef8ec356a5ed69a1", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_Tm_refine_efecf3749f6f6115fd2fde98c9edbb90", + "refinement_interpretation_Tm_refine_f4b77abb8a71325c47c79229db8fb3ba", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_interpretation_Tm_refine_fa9de560c045554b06a472eed920a8f1", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.AE.__proj__Key__item__ke", "typing_EtM.AE.__proj__Key__item__km", "typing_EtM.AE.__proj__Key__item__region", "typing_EtM.AE.get_log", @@ -591,16 +576,16 @@ "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.seq_find", + "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.seq_find", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_Tm_abs_528b527e391bf55fab053fed3c7f4864", - "typing_Tm_abs_9acaeccf341d612adb110cc057313ea2", - "typing_Tm_abs_df6b68a45e17b92192a53b60b0d20a3f" + "typing_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", + "typing_Tm_abs_50119bc4d67e4e21ccc8214627c33789", + "typing_Tm_abs_828e9bf3f7b8947a8345907abcb4f794" ], 0, - "fb6e33dbb97cd0c30e3a2f7b9eaa6237" + "f3347ec35a535165ab1524e8e12fcbaa" ], [ "EtM.AE.keygen", @@ -609,7 +594,7 @@ 1, [ "@query" ], 0, - "b0d12c9e1beae9227e32143093ab0b47" + "6f601bddada84180f0185dd4defcc0ca" ], [ "EtM.AE.decrypt", @@ -619,16 +604,15 @@ [ "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.AE.cipher", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.ivsize", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.tag", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "function_token_typing_EtM.CPA.cipher", + "equation_EtM.CPA.cipher", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "397830b2f06dd6190a9353dfb178fab7" + "de380b9d116b81afc881c92815567d1c" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/EtM.CPA.fst.hints b/doc/tutorial/code/solutions/EtM.CPA.fst.hints index d5a7680c732..f7b3ef359da 100644 --- a/doc/tutorial/code/solutions/EtM.CPA.fst.hints +++ b/doc/tutorial/code/solutions/EtM.CPA.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "6ed97279f1f522cb95deb847d7080c3c" + "b31614a435021da6b66e37494c0e0539" ], [ "EtM.CPA.__proj__Key__item__log", @@ -23,7 +23,7 @@ "projection_inverse_EtM.CPA.Key_region" ], 0, - "d7f9b36d49b33f1522a32d8b43f5d81c" + "a8f91668c75934f9c3572e4f053ba892" ], [ "EtM.CPA.keygen", @@ -31,9 +31,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_de0c4f31815b3388cd3c10eda9861253", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_EtM.CPA.cipher", "equation_EtM.CPA.genPost", "equation_EtM.CPA.keysize", "equation_EtM.CPA.msg", "equation_EtM.CPA.rid", @@ -55,13 +53,9 @@ "equation_FStar.Monotonic.HyperStack.mref", "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.upd", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.Plain.plain", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.Seq.grows", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -89,18 +83,16 @@ "projection_inverse_EtM.CPA.Key_region", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c2e601e6ce7c9e3faa9bf7cf4f97543e", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", @@ -115,13 +107,13 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" + "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.empty", + "typing_FStar.Seq.Base.seq", "typing_FStar.Set.complement", + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "ea5ce3496ecbd90d9f94b9fa21375d8e" + "6804676d60972988dd6d573003cb4d3e" ], [ "EtM.CPA.encrypt", @@ -129,9 +121,9 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_CoreCrypto.AES_128_CBC", + "data_elim_FStar.Pervasives.Native.Mktuple2", "equality_tok_CoreCrypto.AES_128_CBC@tok", "equation_CoreCrypto.blockSize", "equation_EtM.CPA.cipher", "equation_EtM.CPA.ivsize", "equation_EtM.CPA.keysize", @@ -142,16 +134,14 @@ "equation_Platform.Bytes.length", "equation_Platform.Bytes.op_At_Bar", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", "typing_FStar.Seq.Base.length" ], 0, - "bb76a65acca70b57f6e61ff800e90115" + "a65523795f7da00f3320ce6a244f0d95" ], [ "EtM.CPA.decrypt", @@ -162,14 +152,12 @@ "@query", "assumption_EtM.Plain.Plain_hasEq", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.CPA.msg", - "equation_Platform.Bytes.bytes", - "function_token_typing_EtM.CPA.cipher", - "function_token_typing_EtM.Plain.plain", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "equation_EtM.CPA.msg", "function_token_typing_EtM.Plain.plain", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "79d5110df962f9b86bcfc28d93938427" + "1c7d20007a6f0565248262403f7c0fa7" ], [ "EtM.CPA.decrypt", @@ -178,10 +166,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EtM.CPA_interpretation_Tm_arrow_ff8a7ab4c864efca23ca36852cb6adbc", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "EtM.CPA_interpretation_Tm_arrow_f1dd2d4c43b8474a1a0cce9d33f18bed", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", "constructor_distinct_CoreCrypto.AES_128_CBC", "data_elim_EtM.CPA.Key", "data_elim_FStar.Pervasives.Native.Some", @@ -211,18 +197,15 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.seq_find", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.length", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_EtM.CPA.key", + "equation_Platform.Bytes.length", "equation_Prims.eqtype", + "equation_Prims.nat", "fuel_guarded_inversion_EtM.CPA.key", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.Plain.plain", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_9acaeccf341d612adb110cc057313ea2", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "interpretation_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -243,16 +226,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_37335e90aad3e86e958b0d3339ba498f", - "refinement_interpretation_Tm_refine_3c2924a9cf9e6342b3b105760aba9667", + "refinement_interpretation_Tm_refine_1e8193313adb2a9bb029c68b42acd3ee", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_455d37991444af3ed40206d59e75b904", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_7de8468e4c8be42394c70da6b10033dd", + "refinement_interpretation_Tm_refine_eceee487dc5f997fef8ec356a5ed69a1", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_f4b77abb8a71325c47c79229db8fb3ba", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.CPA.__proj__Key__item__region", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", @@ -264,11 +248,11 @@ "typing_FStar.Seq.Properties.seq_find", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_Tm_abs_9acaeccf341d612adb110cc057313ea2", - "typing_Tm_abs_df6b68a45e17b92192a53b60b0d20a3f" + "typing_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", + "typing_Tm_abs_50119bc4d67e4e21ccc8214627c33789" ], 0, - "a6c4fa569a43f2b7ec14f8c588184d10" + "f70f7608748d1e4eba026b0021e5c6bf" ], [ "EtM.CPA.aes_key", @@ -280,7 +264,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "bccb0fb9c2052ee56489f824e5052790" + "2f664faaadd78fdffad9707554c300b6" ], [ "EtM.CPA.__proj__Key__item__log", @@ -292,7 +276,7 @@ "projection_inverse_EtM.CPA.Key_region" ], 0, - "947fa5d644e04bd4dd181db580d11eec" + "3afbb06382a24e7f4c6603486fcf4535" ], [ "EtM.CPA.decrypt", @@ -303,14 +287,12 @@ "@query", "assumption_EtM.Plain.Plain_hasEq", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.CPA.msg", - "equation_Platform.Bytes.bytes", - "function_token_typing_EtM.CPA.cipher", - "function_token_typing_EtM.Plain.plain", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "equation_EtM.CPA.msg", "function_token_typing_EtM.Plain.plain", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "c046cc6d65bc587c0e1fd7a088f62363" + "a791d3c460b763129d4444bfc0939919" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/EtM.MAC.fst.hints b/doc/tutorial/code/solutions/EtM.MAC.fst.hints index e2f11f9a413..b4b2553a78e 100644 --- a/doc/tutorial/code/solutions/EtM.MAC.fst.hints +++ b/doc/tutorial/code/solutions/EtM.MAC.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3a45dd3754f30b8bed626550e13099f4" + "f35f24178ae414056420134fb366f421" ], [ "EtM.MAC.tag", @@ -24,7 +24,7 @@ "equation_EtM.MAC.macsize", "projection_inverse_BoxInt_proj_0" ], 0, - "12103d935ee1409a0fdd90239c0fbc9d" + "ed1796cc133042b835bbd586f374497d" ], [ "EtM.MAC.sha1", @@ -33,7 +33,7 @@ 1, [ "@query", "equation_EtM.MAC.macsize" ], 0, - "5cf2e569a9c3547e00cc72aa677a8152" + "d0dde064667500e4f20f1c6805b97110" ], [ "EtM.MAC.hmac_sha1", @@ -53,7 +53,7 @@ "typing_EtM.MAC.sha1", "typing_Platform.Bytes.op_At_Bar" ], 0, - "014b635fc7caf76bcf3bc877cb81e803" + "ada5d2e28807b136c0834f2408162771" ], [ "EtM.MAC.__proj__Key__item__log", @@ -65,7 +65,7 @@ "projection_inverse_EtM.MAC.Key_region" ], 0, - "df1432107f33a3f49623355c98269bdb" + "2937f997166847a00715c20066304610" ], [ "EtM.MAC.keygen", @@ -74,11 +74,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_de0c4f31815b3388cd3c10eda9861253", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_EtM.CPA.cipher", "equation_EtM.MAC.genPost", - "equation_EtM.MAC.keysize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.rid", "equation_EtM.MAC.tag", + "FStar.Monotonic.Seq_interpretation_Tm_arrow_9b1c273e798ef422e9aacaac3436c4f3", + "bool_inversion", "equation_EtM.CPA.cipher", + "equation_EtM.MAC.genPost", "equation_EtM.MAC.keysize", + "equation_EtM.MAC.msg", "equation_EtM.MAC.rid", + "equation_EtM.MAC.tag", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.is_eternal_region", @@ -97,13 +97,10 @@ "equation_FStar.Monotonic.HyperStack.mref", "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.upd", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.Seq.grows", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", + "function_token_typing_FStar.Monotonic.Seq.grows", "int_inversion", + "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -131,18 +128,16 @@ "projection_inverse_EtM.MAC.Key_region", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c2e601e6ce7c9e3faa9bf7cf4f97543e", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", @@ -163,7 +158,7 @@ "typing_FStar.Set.union" ], 0, - "2340e2e5412ae03ba614a5321f7b6836" + "5037851d76647a05e1100ba3e36aab2c" ], [ "EtM.MAC.mac", @@ -172,7 +167,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_EtM.CPA.cipher", "equation_EtM.MAC.log_t", "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", @@ -184,15 +178,14 @@ "equation_FStar.Monotonic.Seq.snoc", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "function_token_typing_EtM.CPA.cipher", - "function_token_typing_EtM.MAC.tag", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_EtM.MAC.tag", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "proj_equation_EtM.MAC.Key_log", "proj_equation_EtM.MAC.Key_region", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "typing_EtM.MAC.__proj__Key__item__log", @@ -201,7 +194,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "a1b9395bb1814f86a39051c06654792d" + "1be3cdc03f5ec6ee96d447bbe0b14eff" ], [ "EtM.MAC.verify", @@ -211,16 +204,15 @@ [ "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "function_token_typing_EtM.CPA.cipher", + "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", + "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "2c8ec1e4fbc3f48657cf3ca868540238" + "00b0736af0dfb8933cd2a16b45541bea" ], [ "EtM.MAC.verify", @@ -229,13 +221,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", "data_elim_EtM.MAC.Key", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.log_t", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.rid", "equation_EtM.MAC.tag", + "equation_EtM.MAC.log_t", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.msg", "equation_EtM.MAC.rid", + "equation_EtM.MAC.tag", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.is_live_for_rw_in", @@ -253,13 +244,12 @@ "equation_FStar.Monotonic.HyperStack.mref", "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Monotonic.Seq.log_t", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", + "equation_Platform.Bytes.lbytes", "fuel_guarded_inversion_EtM.MAC.key", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", "function_token_typing_FStar.Monotonic.Heap.heap", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -274,12 +264,13 @@ "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_EtM.MAC.Key_log", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_3c2924a9cf9e6342b3b105760aba9667", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_f4b77abb8a71325c47c79229db8fb3ba", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", @@ -290,7 +281,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty" ], 0, - "79b8bd804cbc97af3e49e078c1fa2e6e" + "186f7b783a28be9734d16185b874aaf7" ], [ "EtM.MAC.sha1_key", @@ -302,7 +293,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "105c9d640e5b0ddab4406ed2716963ed" + "0c1acabd6e0ce411b1631d9fc0229116" ], [ "EtM.MAC.tag", @@ -315,7 +306,7 @@ "equation_EtM.MAC.macsize", "projection_inverse_BoxInt_proj_0" ], 0, - "39211aed39531dd51bb5834924819b0e" + "bcac5f9188a0aea1c6384220e1f4d568" ], [ "EtM.MAC.sha1", @@ -324,7 +315,7 @@ 1, [ "@query", "equation_EtM.MAC.macsize" ], 0, - "b668bbeed4ff5baae73683f1484e4726" + "3a3dca084bb763ccc289cc2939af4ab7" ], [ "EtM.MAC.hmac_sha1", @@ -336,7 +327,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f7f6e05287c058e0caaf29c7d8b9b2f1" + "f7c3634cc83984d9d6eb5405c000608e" ], [ "EtM.MAC.__proj__Key__item__log", @@ -348,7 +339,7 @@ "projection_inverse_EtM.MAC.Key_region" ], 0, - "af9518c5db846ed769d536d2639899e3" + "47e349431bbb17c6bd11b3e967322b11" ], [ "EtM.MAC.verify", @@ -358,16 +349,15 @@ [ "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "function_token_typing_EtM.CPA.cipher", + "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", + "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "bf912becf03e8509a8025022c8a7eb26" + "b7753ece38182e1181d559c3c1c5ea05" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex01a.fst.hints b/doc/tutorial/code/solutions/Ex01a.fst.hints index 860e8107af7..c3b0cdd72bb 100644 --- a/doc/tutorial/code/solutions/Ex01a.fst.hints +++ b/doc/tutorial/code/solutions/Ex01a.fst.hints @@ -18,7 +18,7 @@ "projection_inverse_FStar.Pervasives.V_v" ], 0, - "9fed51e1cdd772cb2fcd928c381b5586" + "212665082f74d2b537f7e4dcd6800b61" ], [ "Ex01a.checkedRead", @@ -27,7 +27,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "968e22e40200dd508b2e075c9f658d60" + "1de051172e351aead9c6eac82e5edb6b" ], [ "Ex01a.checkedWrite", @@ -36,7 +36,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "56fcfe3cb57c0b44ea54336ce30c890b" + "3c3db9a6943d2a770487a75ed0956d16" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex03a.fst.hints b/doc/tutorial/code/solutions/Ex03a.fst.hints index 2f5180407b6..5c098ab3024 100644 --- a/doc/tutorial/code/solutions/Ex03a.fst.hints +++ b/doc/tutorial/code/solutions/Ex03a.fst.hints @@ -9,15 +9,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_83752f706b2a3b6e453989c3c43318d8_0", + "binder_x_717cd45ee01469f780e77315120157cb_0", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "7613eef3f717c4cb68e47a86c1501e8c" + "464ca168c2f42f39da0714bb57b0ca19" ], [ "Ex03a.factorial", @@ -27,15 +27,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_83752f706b2a3b6e453989c3c43318d8_0", + "binder_x_717cd45ee01469f780e77315120157cb_0", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "c05b7c9b8c0593d925906a0405d5ebb2" + "7ab0a9325ad5cff4d9cd81f8687ce57d" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex03b.fst.hints b/doc/tutorial/code/solutions/Ex03b.fst.hints index b76ba13972e..0899a4390aa 100644 --- a/doc/tutorial/code/solutions/Ex03b.fst.hints +++ b/doc/tutorial/code/solutions/Ex03b.fst.hints @@ -9,16 +9,16 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "equation_Prims.nat", + "binder_x_ae567c2fb75be05905677af440075565_0", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", "well-founded-ordering-on-nat" ], 0, - "d092f7d5097eaff9c99cbb2748c54a25" + "f26e303a3b909bd205a5152eab1ff10a" ], [ "Ex03b.fibonacci", @@ -28,16 +28,16 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "equation_Prims.nat", + "binder_x_ae567c2fb75be05905677af440075565_0", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", "well-founded-ordering-on-nat" ], 0, - "35e48e4ff96671f463549b8b2f2cd4c2" + "b580e51dc3669a36da6f0d34a0563724" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex03c.fst.hints b/doc/tutorial/code/solutions/Ex03c.fst.hints index 7cf0e30c359..b1fb4dd4570 100644 --- a/doc/tutorial/code/solutions/Ex03c.fst.hints +++ b/doc/tutorial/code/solutions/Ex03c.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "08f0458fc6c6ae3475c2f4e023f91f07" + "46c929b60026142cb32bb6c1894e91de" ], [ "Ex03c.fibonacci_greater_than_arg", @@ -29,23 +27,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Ex03c.fibonacci.fuel_instrumented", "@fuel_irrelevance_Ex03c.fibonacci.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a9e8551faf9e713c6c6badb1e0f387fd_0", "equation_Prims.nat", + "binder_x_cc4f0568bcfe0e328e96ec8a8f1cce9a_0", "equation_Prims.nat", "equation_with_fuel_Ex03c.fibonacci.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4f8e540dd48da7d7711f7f25d8ddb865", - "refinement_interpretation_Tm_refine_ae8d7bc8e7cdbe001c7fb33d1c3618db", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_248ef741ca0c197696dc857093bda928", + "refinement_interpretation_Tm_refine_45626e3fb191d65dc06c4dc9870b6b11", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Ex03c.fibonacci.fuel_instrumented", - "well-founded-ordering-on-nat" + "typing_Ex03c.fibonacci", "well-founded-ordering-on-nat" ], 0, - "7606b26b6e12ad19a61e14850c0b63ef" + "a4a2354e768ee592a3e15521f48200d7" ], [ "Ex03c.fibonacci", @@ -54,17 +50,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "5f5747892eb8c06bfd40817e08e9eb9e" + "c47b25a1170477873a2c1095cf204540" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex04a.fst.hints b/doc/tutorial/code/solutions/Ex04a.fst.hints index d3713a50b0d..b590d9e6fe2 100644 --- a/doc/tutorial/code/solutions/Ex04a.fst.hints +++ b/doc/tutorial/code/solutions/Ex04a.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "6532dd0056d3c470c05ec4b4870267c6" + "bb73f513103a453119d78b9849cf9953" ], [ "Ex04a.append", @@ -49,7 +47,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex04a.length" ], 0, - "5b25dd0d539981331e172ac9231a8d5a" + "37ab3c9f439675f607c70eaf234747e8" ], [ "Ex04a.length", @@ -58,17 +56,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "f7792075c9ce072171153e74018c83c1" + "aaecff598b4633ddcf507dd8b133b904" ], [ "Ex04a.append", @@ -99,7 +95,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex04a.length" ], 0, - "efdabbb313797587c6dfb6eae528514c" + "4bafe7dc9bec98ad3b44a97145bd89f1" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex04b.fst.hints b/doc/tutorial/code/solutions/Ex04b.fst.hints index bdd19b33ec0..f2fbbc7863d 100644 --- a/doc/tutorial/code/solutions/Ex04b.fst.hints +++ b/doc/tutorial/code/solutions/Ex04b.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "ea4f81a8242fb72290a8ef2ad06f67f3" + "7eb19ff567912362699f52e516deccf1" ], [ "Ex04b.append", @@ -33,7 +31,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "f909d96b30fe900e83f93ec257085e7d" + "e135eaac2477f6eb8a2851f1554f40b1" ], [ "Ex04b.append_len", @@ -66,7 +64,7 @@ "typing_Ex04b.append", "typing_Ex04b.length" ], 0, - "22f476cd9126f95e97bee262bfed6dc2" + "13a78234004988879d1486821829e0e5" ], [ "Ex04b.length", @@ -75,17 +73,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "3be721213e173e9d5059558cbc38a8e8" + "8adf0dd37f7c5c3cef57d916fee85acd" ], [ "Ex04b.append", @@ -99,7 +95,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "c0bfea74e82e91245aca2bfad0bb75b8" + "f9aa077392f1bc71666bf2992b11021c" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex04c.fst.hints b/doc/tutorial/code/solutions/Ex04c.fst.hints index 3cd6e795a27..d5eb4d28154 100644 --- a/doc/tutorial/code/solutions/Ex04c.fst.hints +++ b/doc/tutorial/code/solutions/Ex04c.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f50bc77c6476cacadbb3c6eb49f5abf9" + "28df426f4d23846b143fbbf6a85929a4" ], [ "Ex04c.mem", @@ -22,13 +22,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2cd352e0530dd0643e13f774dbcebf68" + "1cdffc674f41fabee0008c2ed9c71f7e" ], [ "Ex04c.append_mem", @@ -41,10 +41,10 @@ "@fuel_correspondence_Ex04c.mem.fuel_instrumented", "@fuel_irrelevance_Ex04c.append.fuel_instrumented", "@fuel_irrelevance_Ex04c.mem.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_3", "bool_inversion", + "binder_x_157b99e815dc43d99415725267e9c452_3", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", @@ -60,7 +60,7 @@ "typing_Ex04c.mem" ], 0, - "aeee56311f9468f7c546c30acb9dc475" + "0b9d6cc8f12f3bfbf8cbf4699382e481" ], [ "Ex04c.append", @@ -74,7 +74,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "1041fd98cff5211b85ffb5ca961c0b41" + "803ec7d9d401ef8dd7b5472121fdc4f8" ], [ "Ex04c.mem", @@ -83,13 +83,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "5512caa9dbc81eb342d6fcb26134d2fb" + "0804e7e1095f581eb2f8107e6a578e18" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex04e.fst.hints b/doc/tutorial/code/solutions/Ex04e.fst.hints index baa2599a616..cf6a9b64da8 100644 --- a/doc/tutorial/code/solutions/Ex04e.fst.hints +++ b/doc/tutorial/code/solutions/Ex04e.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "9111c9e364cf19b03857f10ca6547241" + "eb2bb82adb5e0a2d5535d821f7073945" ], [ "Ex04e.__proj__Some__item__v", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_5940fa0a1398f97ef02a98908357b71e" ], 0, - "d46dd3821588ee30db11d66d11f38c6c" + "ee8574847b9a2b1e7b2f096a160daca9" ], [ "Ex04e.find", @@ -37,7 +37,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "843f78b2d589cdad6b308640f09e699b" + "956044b879b18b48a173c3554093e53c" ], [ "Ex04e.find'", @@ -52,7 +52,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "3f3a8eb232583ba07ee33471ccfa5a95" + "4d85e8b42eaff5c4f1f1c23234d8c250" ], [ "Ex04e.find_some", @@ -67,7 +67,7 @@ "projection_inverse_BoxBool_proj_0", "typing_Ex04e.find_" ], 0, - "7f0d821c2e0687f4cafcd44064c5a8e0" + "0fbd468aa6845e6e37bb9639201e4993" ], [ "Ex04e.find_some", @@ -84,7 +84,7 @@ "typing_Ex04e.find_" ], 0, - "e6ef000d9587a95a08d01fc9b92503a0" + "8a850617ef26f4165adfa7603ab8a742" ], [ "Ex04e.find_some", @@ -95,16 +95,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Ex04e.find_.fuel_instrumented", "@fuel_irrelevance_Ex04e.find_.fuel_instrumented", "@query", - "Ex04e_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "Ex04e_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Ex04e_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_2", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "constructor_distinct_Ex04e.None", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Ex04e.Some", "disc_equation_Ex04e.None", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "constructor_distinct_Ex04e.None", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_Ex04e.Some", + "disc_equation_Ex04e.None", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_with_fuel_Ex04e.find_.fuel_instrumented", "fuel_guarded_inversion_Ex04e.option", "fuel_guarded_inversion_Prims.list", "proj_equation_Ex04e.Some_v", @@ -113,11 +112,10 @@ "projection_inverse_Ex04e.Some_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_Ex04e.find_", - "typing_Ex04e.uu___is_None" + "subterm_ordering_Prims.Cons", "typing_Ex04e.find_" ], 0, - "c6eb89e1c7267140478d69d7a9844c0b" + "145fb5449fd39962cd5e5af3bc269259" ], [ "Ex04e.find_some'", @@ -131,7 +129,7 @@ "fuel_guarded_inversion_Ex04e.option", "typing_Ex04e.find" ], 0, - "62f2fa1ccc0d9822524f251d95c0b98e" + "9b7c7d8ff4473737173d57052aaab0ca" ], [ "Ex04e.find_some'", @@ -147,7 +145,7 @@ "typing_Ex04e.find" ], 0, - "29ee3da6d8b750650a4f215e2d2b295a" + "d3f594860c97ca9864e43dc19efb9804" ], [ "Ex04e.find_some'", @@ -157,12 +155,11 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Ex04e.find.fuel_instrumented", "@query", - "Ex04e_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "Ex04e_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Ex04e_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_typing", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Ex04e.None", "constructor_distinct_Prims.Nil", "data_elim_Ex04e.Some", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -174,7 +171,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex04e.find" ], 0, - "b07c7d14571e378356eb12a296c75be0" + "c504c2df58f8088fd33670ca6552a174" ], [ "Ex04e.option", @@ -183,7 +180,7 @@ 1, [ "@query" ], 0, - "49f7e6c311201932e66a8ef6c529e332" + "18079bb9458b95b0f20f4b6d4abf82cc" ], [ "Ex04e.__proj__Some__item__v", @@ -196,7 +193,7 @@ "refinement_interpretation_Tm_refine_5940fa0a1398f97ef02a98908357b71e" ], 0, - "cebf650234040b52d1b852166fe7c1c7" + "1a585492315bb5f5b5074b72acf0740a" ], [ "Ex04e.find", @@ -211,7 +208,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "46024f3fe7cb45bdc8235642776cc7f8" + "9fd2e3481fbe794b308be3ab27a16224" ], [ "Ex04e.find'", @@ -225,7 +222,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "5d47e6633d6300f99653bc902a19d6b3" + "d8ce7842988cbbf3788bb6b1c41e8df6" ], [ "Ex04e.find_some", @@ -240,7 +237,7 @@ "projection_inverse_BoxBool_proj_0", "typing_Ex04e.find_" ], 0, - "b385c50181a22c86b4c13ea08159a92e" + "5b411ecfde2c22405b0e537ac75e66b5" ], [ "Ex04e.find_some'", @@ -257,7 +254,7 @@ "projection_inverse_Ex04e.None__a", "typing_Ex04e.find" ], 0, - "4bc88bc4b75a18711ee678521126ec99" + "83a70444e8433bc0840ce2211ce01dee" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex04f.fst.hints b/doc/tutorial/code/solutions/Ex04f.fst.hints index de8ca6cd556..4103b0a0818 100644 --- a/doc/tutorial/code/solutions/Ex04f.fst.hints +++ b/doc/tutorial/code/solutions/Ex04f.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "519f9e705eb609970aa88915c26f1755" + "5927484c30f9e8b2493b0a1cb68c9fec" ], [ "Ex04f.reverse", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "bc8d692910d85d79d2534c4d9e7d9ae9" + "6e7a24aeb22d1391decd330b07d1e523" ], [ "Ex04f.fold_left", @@ -42,7 +42,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "4e874a59ef05b6a166d42d70518b2cb8" + "0e63c2cf434750e02ec9b549c37b0717" ], [ "Ex04f.append_assoc", @@ -67,7 +67,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex04f.append" ], 0, - "7a71395fba3dfc0447f71bcb23f4686d" + "af71f1a0b99980e79c23b2b38d25753f" ], [ "Ex04f.fold_left_Cons_is_rev", @@ -81,8 +81,8 @@ "@fuel_correspondence_Ex04f.reverse.fuel_instrumented", "@fuel_irrelevance_Ex04f.fold_left.fuel_instrumented", "@fuel_irrelevance_Ex04f.reverse.fuel_instrumented", "@query", - "Ex04f_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "Ex04f_interpretation_Tm_arrow_e47c724b0e4db2746fb50f9c4ccfd808", + "Ex04f_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Prims_interpretation_Tm_arrow_02c072760cbad0f5a4706f6cffab6c94", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", @@ -94,14 +94,14 @@ "equation_with_fuel_Ex04f.fold_left.fuel_instrumented", "equation_with_fuel_Ex04f.reverse.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "partial_app_typing_cfb1df26f1522e18dea6bfa7443c7b3d", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_Ex04f.reverse" + "subterm_ordering_Prims.Cons", "typing_Ex04f.reverse", + "typing_tok_Prims.Cons@tok" ], 0, - "c96cd594cba4d24e825c7ef6eaa8df92" + "ed3c93a362b33ab30409d5712657190c" ], [ "Ex04f.append", @@ -115,7 +115,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "5bfe8af24068bc00afb8a913d0ab8bae" + "2e3f8262878071ac1750caea0b31cb97" ], [ "Ex04f.reverse", @@ -129,7 +129,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "efd65efa66616895b9fd63c6db86ee03" + "6ebda79ccc88993ca30507cb1862aa6e" ], [ "Ex04f.fold_left", @@ -143,7 +143,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "c64c1e83d9b01220269b9526f7fd7041" + "424777a6882030bfb15a11b5103a5229" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex04g.fst.hints b/doc/tutorial/code/solutions/Ex04g.fst.hints index c2a54c63d5c..f222df38546 100644 --- a/doc/tutorial/code/solutions/Ex04g.fst.hints +++ b/doc/tutorial/code/solutions/Ex04g.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "b5888b5b09a2457a2c82446a5b55ef1a" + "2f30c5281958282dede6fac4919c86d8" ], [ "Ex04g.tl", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "53c51557e0527dc2b83324146bd4b1e1" + "c786419da7a72c45b2b1dcaa91377baf" ], [ "Ex04g.hd", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "a6158143582a36cf6107e894d1e9ef78" + "7d299763fae465fbf53ef48c8c7a9074" ], [ "Ex04g.tl", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "b08baeee703ad9afe01eb7f44d9540fd" + "3b7a63ec6da825dc612a78434fca4f3d" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex04h.fst.hints b/doc/tutorial/code/solutions/Ex04h.fst.hints index 50ef59333e7..c3eb18c8fee 100644 --- a/doc/tutorial/code/solutions/Ex04h.fst.hints +++ b/doc/tutorial/code/solutions/Ex04h.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "9d459aa4ca3b351f1c9efe46149238a8" + "38175b2bfc2d1e558a3da9873bb635a0" ], [ "Ex04h.nth", @@ -31,7 +29,7 @@ "@fuel_irrelevance_Ex04h.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_b20228206848c850b13fdc7d3376c666_3", + "binder_x_7a8711b2f75f153c9e9856dad6efeae4_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "equation_Prims.nat", @@ -42,12 +40,12 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_33ad50f9ae1fb0041e95b0d903542e0b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a5c1792947341a3bb9c31244ed4e999e", "subterm_ordering_Prims.Cons" ], 0, - "d385cc0efa0201950f1e577534a102f6" + "958e3284e081a7d949a83981944657d4" ], [ "Ex04h.length", @@ -56,17 +54,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "2b2bb99dcc292b8d1911c2bd3cbd93a7" + "a3030b1fe2c636809c47c92d058af8f4" ], [ "Ex04h.nth", @@ -79,7 +75,7 @@ "@fuel_irrelevance_Ex04h.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_b20228206848c850b13fdc7d3376c666_3", + "binder_x_7a8711b2f75f153c9e9856dad6efeae4_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "equation_Prims.nat", @@ -90,12 +86,12 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_33ad50f9ae1fb0041e95b0d903542e0b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a5c1792947341a3bb9c31244ed4e999e", "subterm_ordering_Prims.Cons" ], 0, - "4e7c1327692340a9fdabbdd0a2876524" + "7e4872075fe7f69bad32d2467696a643" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex05a.fst.hints b/doc/tutorial/code/solutions/Ex05a.fst.hints index 1442d9852c0..2d3053b8311 100644 --- a/doc/tutorial/code/solutions/Ex05a.fst.hints +++ b/doc/tutorial/code/solutions/Ex05a.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "8a99e858d88ea49f094a5eeda6da3e0c" + "d249ebb5c52dd9fba0379064369d5391" ], [ "Ex05a.reverse", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "34cd6b4da7e333fa911807852f3d7d23" + "f07d04be7df08dfb9e6e46b6b82155bd" ], [ "Ex05a.rev", @@ -42,7 +42,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "36563915950b6a3c3761ce9166dc326a" + "154c43050f0b3909c90c66bdd3bc3257" ], [ "Ex05a.append_assoc", @@ -67,7 +67,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex05a.append" ], 0, - "840dd407c620f18ebac06ea7e9a8c59c" + "ee0292fd890fe91a70a4cfea37219fb7" ], [ "Ex05a.rev_is_ok_aux", @@ -98,7 +98,7 @@ "subterm_ordering_Prims.Cons", "typing_Ex05a.reverse" ], 0, - "8dcfbb10e36ff30b8a671b909b8a2824" + "cd1da635f22f7fba607d035531ca91fd" ], [ "Ex05a.append_nil", @@ -122,7 +122,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "66fcbddd4b1febf4bba5bfa7cb97ae91" + "c7a8a3597d1d63073003b7f69bea100a" ], [ "Ex05a.rev_is_ok", @@ -131,7 +131,7 @@ 1, [ "@query" ], 0, - "175fc547f5ec024b5d0909609d80d34c" + "a1734eb169743f3e7a8aae408cd43314" ], [ "Ex05a.append", @@ -145,7 +145,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "624f0c1c59571ad8dbcdb0540e27c21a" + "e23f87b01113719006319218dc9bdc64" ], [ "Ex05a.reverse", @@ -159,7 +159,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "a5c11a156eff35a927217578f971f3bc" + "597d09b6689d4d42cbe9ff939b425529" ], [ "Ex05a.rev", @@ -174,7 +174,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "b7f72cd3e20f5a54eccd24c29824af1f" + "86617bef07e7186297ee0cfd17b66d68" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex05b.fst.hints b/doc/tutorial/code/solutions/Ex05b.fst.hints index ab1237a60cb..edd7e4a17cf 100644 --- a/doc/tutorial/code/solutions/Ex05b.fst.hints +++ b/doc/tutorial/code/solutions/Ex05b.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "4d38d9c6487c96a1ba2abcae4e364134" + "15cf29de5482516574ab2ca19b6a341f" ], [ "Ex05b.fib", @@ -28,17 +26,17 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "db68a33b4d1773c1589631e1571653ef" + "90302324bb876f24d67921a5fd3c5019" ], [ "Ex05b.fib_is_ok_aux", @@ -46,20 +44,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913" ], 0, - "3e1ac0bcea843395ca357d5b850380d7" + "475f471cc7625bcd80505e7dc377a090" ], [ "Ex05b.fib_is_ok_aux", @@ -67,20 +62,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_1c571d6932a0da3b70db5341765a3630", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_92e848ef721a392d519104b291b4baaa", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2191028b8d42754deee299abf14f8680" + "e97d6f0c0a16ed45d4338089499a01c6" ], [ "Ex05b.fib_is_ok_aux", @@ -94,27 +86,27 @@ "@fuel_irrelevance_Ex05b.fib.fuel_instrumented", "@fuel_irrelevance_Ex05b.fibonacci.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e0aa10e5f8abfbdc0a414894d90dbe12_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_8398694cd93cdf584a90faddba74ff40_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Ex05b.fib.fuel_instrumented", "equation_with_fuel_Ex05b.fibonacci.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_55a8cb1abd7fd80887a0a3d1bed0426b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_730f09f30cda5cc9df2484cc11178d65", "typing_Ex05b.fibonacci", "well-founded-ordering-on-nat" ], 0, - "b376e5708bdd98ec3688ee92c6a24d89" + "35906a5388fa0c78d90734680898cf7b" ], [ "Ex05b.fib_is_ok", @@ -124,11 +116,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "560083257e519d132fd9497116e6c788" + "99b42aa5db0dda636b4fb2e0f5a766d7" ], [ "Ex05b.fib_is_ok", @@ -138,19 +130,16 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Ex05b.fibonacci.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Prims.nat", "equation_with_fuel_Ex05b.fibonacci.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6cd1a3c33b2175b6547b378acf37e491", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Ex05b.fibonacci", "unit_typing" + "refinement_interpretation_Tm_refine_2b6348b47f4d23c2f07da7f2c73265dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Ex05b.fibonacci" ], 0, - "8bcab55f0e57979ffed09e20359f184b" + "93671c745582f596cbdeaaf4e34db4b7" ], [ "Ex05b.fib_inner_aux", @@ -164,11 +153,11 @@ "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "7dd27f940c0cfd0eed8fe2218f79556f" + "91a029b3984165997f139ee2948b391c" ], [ "Ex05b.fib_inner_aux_2", @@ -178,11 +167,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d7e9111fd2bf0886e1b4223f54bec82a" + "b324a4d632688f43c61492370dcd794b" ], [ "Ex05b.fib_inner_aux_2", @@ -193,26 +182,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Ex05b.fibonacci.fuel_instrumented", "@fuel_irrelevance_Ex05b.fibonacci.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Ex05b.fibonacci.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_038b7bc6fc038808c2f906d6d5c2bb55", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_67d24bbb98cc1a9aa03e1bd00d7e5e26", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "typing_Ex05b.fibonacci", "well-founded-ordering-on-nat" ], 0, - "d0251e8f1679547118c0b6e01d4a3a19" + "15d71442a8962b17b508916854750e33" ], [ "Ex05b.fibonacci", @@ -221,17 +208,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "27b926654465863f9c79a0e7126b8da4" + "6ea1553873167c3d357627584eb3f73c" ], [ "Ex05b.fib", @@ -241,17 +226,17 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "062eac2229c53a29c244821377e5ad2b" + "ab62743a4fd43da19f9faa5dc65e01a6" ], [ "Ex05b.fib_is_ok_aux", @@ -259,20 +244,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_1c571d6932a0da3b70db5341765a3630", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_92e848ef721a392d519104b291b4baaa", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a3d81526310fac28dcddbe3422dbbede" + "9ddad1579c5e94ecd158d74ecfac2a7c" ], [ "Ex05b.fib_is_ok_aux", @@ -286,27 +268,27 @@ "@fuel_irrelevance_Ex05b.fib.fuel_instrumented", "@fuel_irrelevance_Ex05b.fibonacci.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e0aa10e5f8abfbdc0a414894d90dbe12_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_8398694cd93cdf584a90faddba74ff40_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Ex05b.fib.fuel_instrumented", "equation_with_fuel_Ex05b.fibonacci.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_55a8cb1abd7fd80887a0a3d1bed0426b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_730f09f30cda5cc9df2484cc11178d65", "typing_Ex05b.fibonacci", "well-founded-ordering-on-nat" ], 0, - "3db0824472b9497d49a21e7cd041eae7" + "a4365ddb3ed5294a3decd5e26aae6152" ], [ "Ex05b.fib_is_ok", @@ -316,11 +298,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "412fe14f13f02a87bb7a146368ab1046" + "eec02d3f140188cf37531baaa5b64ce7" ], [ "Ex05b.fib_inner_aux", @@ -334,11 +316,11 @@ "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "c06a85b7c6ea38ffceb3b4ea7ec67bc7" + "d2ef2221763401110c00e87f93e55914" ], [ "Ex05b.fib_inner_aux_2", @@ -349,26 +331,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Ex05b.fibonacci.fuel_instrumented", "@fuel_irrelevance_Ex05b.fibonacci.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Ex05b.fibonacci.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_038b7bc6fc038808c2f906d6d5c2bb55", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_67d24bbb98cc1a9aa03e1bd00d7e5e26", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "typing_Ex05b.fibonacci", "well-founded-ordering-on-nat" ], 0, - "4196e8239b0403fcd5042f18024b3f20" + "741e74266ce557ee397aedcce0df6100" ], [ "Ex05b.fib_inner_aux_2", @@ -378,11 +358,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7e3acd723b79f7f74e31dbc55684950f" + "fdde50244495af74f48600b0700bdc28" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex06a.fst.hints b/doc/tutorial/code/solutions/Ex06a.fst.hints index 6914cf24efa..b1afd32127f 100644 --- a/doc/tutorial/code/solutions/Ex06a.fst.hints +++ b/doc/tutorial/code/solutions/Ex06a.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "f0c343bf95e7428e4d5f0c7e5268b74a" + "375789de1f029fe3b1ec9e48acd77876" ], [ "Ex06a.partition", @@ -28,7 +28,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "c94314d0c30e4b1e2a8563b463314ae5" + "e0c088b0b6d7be48dc7c840e0ad43ca5" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex06b.fst.hints b/doc/tutorial/code/solutions/Ex06b.fst.hints index 3c2ad3604d0..2d92a8edc7e 100644 --- a/doc/tutorial/code/solutions/Ex06b.fst.hints +++ b/doc/tutorial/code/solutions/Ex06b.fst.hints @@ -8,13 +8,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "ae3652fb886c0ea01f3537f4e49fa75d" + "91187e3b33cedc7840795b7ab3c6ff16" ], [ "Ex06b.append", @@ -29,7 +29,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "24fe7f491c0fb3433ce32fd6159fd79c" + "39e266aa92eceb22962ff83df320e1a6" ], [ "Ex06b.append_mem", @@ -42,9 +42,9 @@ "@fuel_correspondence_Ex06b.mem.fuel_instrumented", "@fuel_irrelevance_Ex06b.append.fuel_instrumented", "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", @@ -60,7 +60,7 @@ "typing_Ex06b.mem" ], 0, - "5833976a41ebda5008324e9b6bee902d" + "55ee55b1ccc5afc65b54c869fb3db07e" ], [ "Ex06b.length", @@ -69,17 +69,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "ec6087f08d532de1325bc17f80e93bb0" + "3bc7c19a4b69fdb16bf0b239fdf10aff" ], [ "Ex06b.sorted", @@ -97,7 +95,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "2484fb7151b44036cc4ce80228ab444c" + "5db18fce283863f2468a960394925ab4" ], [ "Ex06b.partition", @@ -112,7 +110,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "9d49205ddaff36f4b8f2f1567408419b" + "db9fa5dc72e4e1855dacf62d225b4b08" ], [ "Ex06b.partition_lemma", @@ -127,13 +125,11 @@ "@fuel_irrelevance_Ex06b.length.fuel_instrumented", "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@fuel_irrelevance_Ex06b.partition.fuel_instrumented", "@query", - "Ex06b_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", + "Ex06b_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "Ex06b_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -144,11 +140,9 @@ "equation_with_fuel_Ex06b.mem.fuel_instrumented", "equation_with_fuel_Ex06b.partition.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Prims.list@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "kinding_Prims.list@tok", "primitive_Prims.op_Addition", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -159,15 +153,14 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06b.length.fuel_instrumented", - "typing_Ex06b.length", "typing_Ex06b.mem", "typing_Ex06b.partition", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", "typing_Ex06b.length", + "typing_Ex06b.mem", "typing_Ex06b.partition", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd" ], 0, - "955366274a320acc98add7b8d9578ef0" + "b47047ff20cf5f0c9c3916f7737b3b5d" ], [ "Ex06b.sorted_concat_lemma", @@ -182,14 +175,13 @@ "@fuel_irrelevance_Ex06b.append.fuel_instrumented", "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@fuel_irrelevance_Ex06b.sorted.fuel_instrumented", "@query", - "Ex06b_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "Ex06b_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2f2e333b341020941db0ca74f385748a_2", - "binder_x_2f2e333b341020941db0ca74f385748a_3", - "binder_x_785ee929d522a5a2423b86a1c1e8cbcf_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_4", "bool_inversion", + "Ex06b_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Ex06b_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "binder_x_157b99e815dc43d99415725267e9c452_4", + "binder_x_65ecdb89801d0c2f7356a73239092c53_2", + "binder_x_65ecdb89801d0c2f7356a73239092c53_3", + "binder_x_98df27d05a962e7ef32cba6da37f0aeb_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -203,15 +195,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1ad455393935f1d0807b505726dce947", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_d86e36ac35297f25053ae307dcf8ccf0", "subterm_ordering_Prims.Cons", "token_correspondence_Ex06b.mem.fuel_instrumented", "token_correspondence_Ex06b.sorted.fuel_instrumented", "typing_Ex06b.append", "typing_Ex06b.mem", "typing_Ex06b.sorted" ], 0, - "29212beef58699a675fb99bad8dfaeae" + "c202ee38b6e6c2ecf5ab2dac9105e98a" ], [ "Ex06b.sort", @@ -230,16 +222,14 @@ "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@fuel_irrelevance_Ex06b.partition.fuel_instrumented", "@fuel_irrelevance_Ex06b.sorted.fuel_instrumented", "@query", - "Ex06b_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "Ex06b_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0b08b5ef78b7dbaf9b959d85363ed5eb_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", + "Ex06b_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Ex06b_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Ex06b_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_8c67f6223cc4aff40bdb116d0b778e1c_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Ex06b.total_order", "equation_FStar.Pervasives.Native.fst", @@ -249,12 +239,10 @@ "equation_with_fuel_Ex06b.length.fuel_instrumented", "equation_with_fuel_Ex06b.mem.fuel_instrumented", "equation_with_fuel_Ex06b.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Prims.list@tok", "lemma_Ex06b.append_mem", - "lemma_Ex06b.partition_lemma", "lemma_Ex06b.sorted_concat_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", + "lemma_Ex06b.append_mem", "lemma_Ex06b.partition_lemma", + "lemma_Ex06b.sorted_concat_lemma", "primitive_Prims.op_Addition", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -265,13 +253,13 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_0804acce3fb18141c65c44fe70268fd4", - "refinement_interpretation_Tm_refine_1684e84aee70234325ad9ad954320e81", - "refinement_interpretation_Tm_refine_2138943713a24d260651ec90d4ad412e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_75f74ea70fa0fe78b2100966f5f7ba57", - "refinement_interpretation_Tm_refine_8fd5a680d61a6715c4bbcec448207387", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5e03353aa58eb5ec02917330c14a05b4", "refinement_interpretation_Tm_refine_9a912e5490df19e2f8fb2c2b537cedc8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ab0d3a0c0772d4330c49ca4aa5d3fae1", + "refinement_interpretation_Tm_refine_d08f8dc01810c7749c6b39fe951fbfdf", + "refinement_interpretation_Tm_refine_f21776ec197119f31d47c80b5522dbe0", "token_correspondence_Ex06b.length.fuel_instrumented", "token_correspondence_Ex06b.mem.fuel_instrumented", "token_correspondence_Ex06b.sorted.fuel_instrumented", @@ -281,7 +269,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "ca351981ab599fe4287ee2a6e29fbaa7" + "410c7af4a037fbee13fd7f1804cb0b5b" ], [ "Ex06b.mem", @@ -290,13 +278,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "3cc638dfbbb2ea76b7df62d42754fa7e" + "f7fc974badc9ac602e38e7b4c95c399e" ], [ "Ex06b.append", @@ -310,7 +298,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "fd5dc910064c2d0c85923f5767a7cd0e" + "c7918b255848e19782d3d8ae99682d85" ], [ "Ex06b.length", @@ -319,17 +307,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "95a8062280cfd6fa17dd9ba63dc76363" + "2e66053647465aaf0e6c9a84092ad96c" ], [ "Ex06b.sorted", @@ -347,7 +333,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "d5bbd22209d6d2953465c0ce1b99a7ad" + "6ab66a22949494424d6e67547c89b06d" ], [ "Ex06b.partition", @@ -361,7 +347,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "57d3f10673e69ecc8bf42d97c7de7012" + "9a11955840466acc0331c4812873b256" ], [ "Ex06b.sort", @@ -380,16 +366,14 @@ "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@fuel_irrelevance_Ex06b.partition.fuel_instrumented", "@fuel_irrelevance_Ex06b.sorted.fuel_instrumented", "@query", - "Ex06b_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "Ex06b_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0b08b5ef78b7dbaf9b959d85363ed5eb_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", + "Ex06b_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Ex06b_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Ex06b_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_8c67f6223cc4aff40bdb116d0b778e1c_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Ex06b.total_order", "equation_FStar.Pervasives.Native.fst", @@ -399,12 +383,10 @@ "equation_with_fuel_Ex06b.length.fuel_instrumented", "equation_with_fuel_Ex06b.mem.fuel_instrumented", "equation_with_fuel_Ex06b.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Prims.list@tok", "lemma_Ex06b.append_mem", - "lemma_Ex06b.partition_lemma", "lemma_Ex06b.sorted_concat_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", + "lemma_Ex06b.append_mem", "lemma_Ex06b.partition_lemma", + "lemma_Ex06b.sorted_concat_lemma", "primitive_Prims.op_Addition", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -415,13 +397,13 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_0804acce3fb18141c65c44fe70268fd4", - "refinement_interpretation_Tm_refine_1684e84aee70234325ad9ad954320e81", - "refinement_interpretation_Tm_refine_2138943713a24d260651ec90d4ad412e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_75f74ea70fa0fe78b2100966f5f7ba57", - "refinement_interpretation_Tm_refine_8fd5a680d61a6715c4bbcec448207387", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5e03353aa58eb5ec02917330c14a05b4", "refinement_interpretation_Tm_refine_9a912e5490df19e2f8fb2c2b537cedc8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ab0d3a0c0772d4330c49ca4aa5d3fae1", + "refinement_interpretation_Tm_refine_d08f8dc01810c7749c6b39fe951fbfdf", + "refinement_interpretation_Tm_refine_f21776ec197119f31d47c80b5522dbe0", "token_correspondence_Ex06b.length.fuel_instrumented", "token_correspondence_Ex06b.mem.fuel_instrumented", "token_correspondence_Ex06b.sorted.fuel_instrumented", @@ -431,7 +413,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "dcbdbd4e55eef9644df034fa7e5b4058" + "9b59348db6c1890bafead36e666289f6" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex06c.fst.hints b/doc/tutorial/code/solutions/Ex06c.fst.hints index c201c54e90b..c885c61d2da 100644 --- a/doc/tutorial/code/solutions/Ex06c.fst.hints +++ b/doc/tutorial/code/solutions/Ex06c.fst.hints @@ -8,13 +8,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2d5d973bab59738b367fadd95fb70c43" + "301f6c78bceac5aa6d745230ba76f35b" ], [ "Ex06c.append", @@ -29,7 +29,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "14c575f93ef0f430053a1a77f6233b8f" + "1c4c1f1d68a6e14afd371185b1378724" ], [ "Ex06c.append_mem", @@ -42,9 +42,9 @@ "@fuel_correspondence_Ex06c.mem.fuel_instrumented", "@fuel_irrelevance_Ex06c.append.fuel_instrumented", "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -62,7 +62,7 @@ "typing_Ex06c.append", "typing_Ex06c.mem" ], 0, - "4bae9aeb5d909a2ba315a32487a2e6f7" + "880a024f61d05c7cc75fc1ddb27d5b46" ], [ "Ex06c.length", @@ -71,17 +71,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "9019c47172164ba56d0c2c89a8ec8ba7" + "69861a696154562c78abbbc88c535b2e" ], [ "Ex06c.sorted", @@ -91,7 +89,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", @@ -102,7 +100,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "ad0fd53225618a37ad439a2e6145b23e" + "7215d827d8849131ac20cd1d26d2df0f" ], [ "Ex06c.partition", @@ -117,7 +115,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "83ce635d47eaa02966f6cba5db51e411" + "7777f6537c37346a857720692d776e51" ], [ "Ex06c.partition_lemma", @@ -132,29 +130,23 @@ "@fuel_irrelevance_Ex06c.length.fuel_instrumented", "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", "@fuel_irrelevance_Ex06c.partition.fuel_instrumented", "@query", - "Ex06c_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", + "Ex06c_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "Ex06c_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", + "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Ex06c.length.fuel_instrumented", "equation_with_fuel_Ex06c.mem.fuel_instrumented", "equation_with_fuel_Ex06c.partition.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Prims.list@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "kinding_Prims.list@tok", "primitive_Prims.op_Addition", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -165,7 +157,7 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_Ex06c.mem.fuel_instrumented", "typing_Ex06c.length", "typing_Ex06c.mem", "typing_Ex06c.partition", @@ -173,7 +165,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "843abafedd2e48cebeaac1c06157cd78" + "c2d57ca4f882f9eed714c9e88eecaf02" ], [ "Ex06c.sorted_concat_lemma", @@ -189,9 +181,9 @@ "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", "@fuel_irrelevance_Ex06c.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "binder_x_f77b73e6ef10a22b2874c2cb892b2072_0", - "binder_x_f77b73e6ef10a22b2874c2cb892b2072_1", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_2", + "binder_x_fd2a5d204254ab63488339125c1ee025_0", + "binder_x_fd2a5d204254ab63488339125c1ee025_1", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -209,15 +201,14 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e4a49db3cc6d973395c99741b1f56708", + "refinement_interpretation_Tm_refine_7fbf33e015ae41662327f5c8a8b60932", "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06c.append.fuel_instrumented", "token_correspondence_Ex06c.mem.fuel_instrumented", "token_correspondence_Ex06c.sorted.fuel_instrumented", "typing_Ex06c.append", "typing_Ex06c.mem", "typing_Ex06c.sorted" ], 0, - "7d36fe90377ce95ff6ca34f891bd2b57" + "084e2e35afb1bc3e90d580d5774e76db" ], [ "Ex06c.match_head", @@ -233,7 +224,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4bf60855633377880cc22b1375cbd3f0" + "5801a592f5ce59c2379d7faf3d5d8296" ], [ "Ex06c.dedup", @@ -247,8 +238,8 @@ "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", "@fuel_irrelevance_Ex06c.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_f77b73e6ef10a22b2874c2cb892b2072_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", + "binder_x_fd2a5d204254ab63488339125c1ee025_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Ex06c.match_head", "equation_Prims.eqtype", "equation_with_fuel_Ex06c.mem.fuel_instrumented", @@ -262,17 +253,19 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_15b69ecea49355554dfd4eddb0cbbcb2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4ec1fc3a363dc15af779cb0b8c457c25", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_b3d695a12f5e9da32342381ae0c757d6", - "refinement_interpretation_Tm_refine_e4a49db3cc6d973395c99741b1f56708", + "refinement_interpretation_Tm_refine_7fbf33e015ae41662327f5c8a8b60932", + "refinement_interpretation_Tm_refine_90dfa9b5a038fc24a58a3696c282efd0", + "refinement_interpretation_Tm_refine_ab545c3e7939a8d7dcb8136c447f5cc0", "subterm_ordering_Prims.Cons", "token_correspondence_Ex06c.sorted.fuel_instrumented", - "typing_Ex06c.sorted", "typing_Prims.__proj__Cons__item__tl" + "typing_Ex06c.dedup", "typing_Ex06c.sorted", + "typing_Prims.__proj__Cons__item__tl" ], 0, - "79b893fe599520c7d3d49267ef9d4103" + "a93c4b4b360623ba6e539aa8a94ca3c9" ], [ "Ex06c.sort", @@ -291,13 +284,12 @@ "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", "@fuel_irrelevance_Ex06c.partition.fuel_instrumented", "@fuel_irrelevance_Ex06c.sorted.fuel_instrumented", "@query", - "Ex06c_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Ex06c_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Ex06c_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Ex06c.cmp", "equation_FStar.Pervasives.Native.fst", @@ -313,7 +305,6 @@ "function_token_typing_Prims.int", "int_inversion", "int_typing", "kinding_Prims.list@tok", "lemma_Ex06c.append_mem", "lemma_Ex06c.partition_lemma", "lemma_Ex06c.sorted_concat_lemma", - "partial_app_typing_deb3b6f607be1912b1321c6c84f98add", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -325,11 +316,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0d1f31931d2c8c9ec34413ad6165363b", + "refinement_interpretation_Tm_refine_1eb8c81c922b23dce42210337af469c3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4516b562a75f89acba164d7af9caa7e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bed505ed43709574e04d564e31401b97", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_797f06a68dd619c6efeed55f1a40482f", + "refinement_interpretation_Tm_refine_e80a44e6c4aeb0f0432f67f800cc8a0b", "token_correspondence_Ex06c.cmp", "token_correspondence_Ex06c.length.fuel_instrumented", "token_correspondence_Ex06c.mem.fuel_instrumented", @@ -340,7 +331,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "7c684b33ac5aae0dc360bd1247d62e28" + "fad073ed90ab8b8cfad128164cb52108" ], [ "Ex06c.mem", @@ -349,13 +340,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "dddf9a088058b5c3cb1c788853c5e7e3" + "4485647c943c0b66103384cba407db57" ], [ "Ex06c.append", @@ -369,7 +360,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e6682d98b7b6a7118892c83caeef8efc" + "7ebd224493b9bcb72618ca65ba727a43" ], [ "Ex06c.length", @@ -378,17 +369,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "2ef01a257892217b3d679cbfefcfad9a" + "8f5958850f4c92aa748817c4d630b886" ], [ "Ex06c.sorted", @@ -398,7 +387,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", @@ -409,7 +398,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "d599e75c281abbba0c3009d847c498db" + "fac2f3116b4941ffe4455c6d5ad5e7f6" ], [ "Ex06c.partition", @@ -423,7 +412,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "4052bc1b4aedb46e6095b88101c83581" + "83c817b5a14f2980a92addcfe629f361" ], [ "Ex06c.match_head", @@ -439,7 +428,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e3d32dbe2d982b4629433b0a147b9d16" + "aad965efec7fb0ff918d03a04ae16e4d" ], [ "Ex06c.dedup", @@ -453,8 +442,8 @@ "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", "@fuel_irrelevance_Ex06c.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_f77b73e6ef10a22b2874c2cb892b2072_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", + "binder_x_fd2a5d204254ab63488339125c1ee025_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Ex06c.match_head", "equation_Prims.eqtype", "equation_with_fuel_Ex06c.mem.fuel_instrumented", @@ -468,17 +457,19 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_15b69ecea49355554dfd4eddb0cbbcb2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4ec1fc3a363dc15af779cb0b8c457c25", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_b3d695a12f5e9da32342381ae0c757d6", - "refinement_interpretation_Tm_refine_e4a49db3cc6d973395c99741b1f56708", + "refinement_interpretation_Tm_refine_7fbf33e015ae41662327f5c8a8b60932", + "refinement_interpretation_Tm_refine_90dfa9b5a038fc24a58a3696c282efd0", + "refinement_interpretation_Tm_refine_ab545c3e7939a8d7dcb8136c447f5cc0", "subterm_ordering_Prims.Cons", "token_correspondence_Ex06c.sorted.fuel_instrumented", - "typing_Ex06c.sorted", "typing_Prims.__proj__Cons__item__tl" + "typing_Ex06c.dedup", "typing_Ex06c.sorted", + "typing_Prims.__proj__Cons__item__tl" ], 0, - "7ad076d235fa55503647e380d42e7f6c" + "0882b0dd0f2b5b511d5e0098705b89f8" ], [ "Ex06c.sort", @@ -497,13 +488,12 @@ "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", "@fuel_irrelevance_Ex06c.partition.fuel_instrumented", "@fuel_irrelevance_Ex06c.sorted.fuel_instrumented", "@query", - "Ex06c_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Ex06c_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Ex06c_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Ex06c.cmp", "equation_FStar.Pervasives.Native.fst", @@ -519,7 +509,6 @@ "function_token_typing_Prims.int", "int_inversion", "int_typing", "kinding_Prims.list@tok", "lemma_Ex06c.append_mem", "lemma_Ex06c.partition_lemma", "lemma_Ex06c.sorted_concat_lemma", - "partial_app_typing_deb3b6f607be1912b1321c6c84f98add", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -531,11 +520,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0d1f31931d2c8c9ec34413ad6165363b", + "refinement_interpretation_Tm_refine_1eb8c81c922b23dce42210337af469c3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4516b562a75f89acba164d7af9caa7e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bed505ed43709574e04d564e31401b97", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_797f06a68dd619c6efeed55f1a40482f", + "refinement_interpretation_Tm_refine_e80a44e6c4aeb0f0432f67f800cc8a0b", "token_correspondence_Ex06c.cmp", "token_correspondence_Ex06c.length.fuel_instrumented", "token_correspondence_Ex06c.mem.fuel_instrumented", @@ -546,7 +535,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "c53019d6446001ee237d77d1804d5cdd" + "b3a97a346b4b94d2b3b8d5fe13940e92" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex06d.fst.hints b/doc/tutorial/code/solutions/Ex06d.fst.hints index 69feb6f42a8..96fa36b31f7 100644 --- a/doc/tutorial/code/solutions/Ex06d.fst.hints +++ b/doc/tutorial/code/solutions/Ex06d.fst.hints @@ -8,20 +8,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "0356ef1cf45934388345bd91ed01fd82" + "7249491eb206e7f1b00863961efcba03" ], [ "Ex06d.append", @@ -35,7 +33,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "4ca64a2e08a985bfe3e35713a395af40" + "4a6920bb4e50688d756ad90112fa558e" ], [ "Ex06d.append_count", @@ -48,31 +46,29 @@ "@fuel_correspondence_Ex06d.count.fuel_instrumented", "@fuel_irrelevance_Ex06d.append.fuel_instrumented", "@fuel_irrelevance_Ex06d.count.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Ex06d.append.fuel_instrumented", "equation_with_fuel_Ex06d.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_Ex06d.count.fuel_instrumented", "typing_Ex06d.append", "typing_Ex06d.count" ], 0, - "799459cd48d72cf0a5e1428de2d1b717" + "27ea192c51a0197e7ee03014f44c644a" ], [ "Ex06d.append_mem", @@ -82,18 +78,16 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Ex06d.count.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Ex06d.mem", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Ex06d.count" ], 0, - "6aa238c9e491df5d1ee2e69224e11118" + "54ceb1b9fb8a3553a50f17cbed59334f" ], [ "Ex06d.length", @@ -102,17 +96,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "d92c33c25b12c4af6e84b52b3e29c7e8" + "7c06393049ba8e34a69521fda054e9ec" ], [ "Ex06d.sorted", @@ -130,7 +122,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "6c4542c20af68189bd9147ed9fe87350" + "1749b271c2fcf7a08b92e422f4b4e7f4" ], [ "Ex06d.partition", @@ -144,7 +136,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "840304ba029594904d2ce9471aeb68cf" + "4cc8c7a52f62ddbb3c853ca8957b7c06" ], [ "Ex06d.partition_lemma", @@ -159,28 +151,24 @@ "@fuel_irrelevance_Ex06d.count.fuel_instrumented", "@fuel_irrelevance_Ex06d.length.fuel_instrumented", "@fuel_irrelevance_Ex06d.partition.fuel_instrumented", "@query", - "Ex06d_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "equation_Ex06d.mem", - "equation_FStar.Pervasives.Native.fst", + "Ex06d_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "Ex06d_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "equation_Ex06d.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Ex06d.count.fuel_instrumented", "equation_with_fuel_Ex06d.length.fuel_instrumented", "equation_with_fuel_Ex06d.partition.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Prims.list@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "kinding_Prims.list@tok", "primitive_Prims.op_Addition", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -191,7 +179,7 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_Ex06d.count.fuel_instrumented", "typing_Ex06d.count", "typing_Ex06d.length", "typing_Ex06d.mem", @@ -199,7 +187,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "7a9d0cad51b13665b387c84ef4c03551" + "e256dc1da26d1ceb4981eebe5b25a0ab" ], [ "Ex06d.sorted_concat_lemma", @@ -214,15 +202,13 @@ "@fuel_irrelevance_Ex06d.append.fuel_instrumented", "@fuel_irrelevance_Ex06d.count.fuel_instrumented", "@fuel_irrelevance_Ex06d.sorted.fuel_instrumented", "@query", - "Ex06d_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "Ex06d_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_22aeadd5a360891f18ec72497614b98f_2", - "binder_x_22aeadd5a360891f18ec72497614b98f_3", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_785ee929d522a5a2423b86a1c1e8cbcf_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_4", "bool_inversion", + "Ex06d_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Ex06d_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "binder_x_157b99e815dc43d99415725267e9c452_4", + "binder_x_98df27d05a962e7ef32cba6da37f0aeb_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_f54241b5387530a053988f0b51a75b3d_2", + "binder_x_f54241b5387530a053988f0b51a75b3d_3", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -231,25 +217,24 @@ "equation_with_fuel_Ex06d.append.fuel_instrumented", "equation_with_fuel_Ex06d.count.fuel_instrumented", "equation_with_fuel_Ex06d.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_09ce9ff0182e60c00849125ae8097c94", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5cc807ac6220a2d5f307be9f5ac12b09", "subterm_ordering_Prims.Cons", "token_correspondence_Ex06d.count.fuel_instrumented", "token_correspondence_Ex06d.sorted.fuel_instrumented", "typing_Ex06d.append", "typing_Ex06d.mem", "typing_Ex06d.sorted" ], 0, - "559736fa848a7a679d422111ee3fd364" + "b7ed3fd3fb0940c68d790631c4554ed4" ], [ "Ex06d.sort", @@ -259,11 +244,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c94be33007a86f8d69a3ec18864aa0e2" + "75e41c3724b4c3f57949a031ec74ace3" ], [ "Ex06d.sort", @@ -273,11 +258,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fd869668a9c1678a15cf52c4e48dfa47" + "2f3060cdc098ef3803843d9f07756b03" ], [ "Ex06d.sort", @@ -286,35 +271,31 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06d.append.fuel_instrumented", "@fuel_correspondence_Ex06d.count.fuel_instrumented", "@fuel_correspondence_Ex06d.length.fuel_instrumented", "@fuel_correspondence_Ex06d.partition.fuel_instrumented", "@fuel_correspondence_Ex06d.sorted.fuel_instrumented", "@fuel_irrelevance_Ex06d.count.fuel_instrumented", "@fuel_irrelevance_Ex06d.length.fuel_instrumented", "@query", - "Ex06d_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "Ex06d_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_83382d0180fc2c9879753a13f94dec8a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "equation_Ex06d.mem", - "equation_Ex06d.total_order", "equation_FStar.Pervasives.Native.fst", + "Ex06d_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Ex06d_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Ex06d_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_696262099dfeead0d4fba435ba22bd67_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "equation_Ex06d.mem", "equation_Ex06d.total_order", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Ex06d.count.fuel_instrumented", "equation_with_fuel_Ex06d.length.fuel_instrumented", "equation_with_fuel_Ex06d.sorted.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "kinding_Prims.list@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", @@ -327,20 +308,17 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0a45560d6015be66cf68d1e703e3272b", - "refinement_interpretation_Tm_refine_3d81082319f54b9f2d30c4ecf3a31eaa", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_41f6646eb4bf88f2e105224b5edd852d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c70a32145a29c05d68011a1b6779b045", - "refinement_interpretation_Tm_refine_f356a9c5dfea65bfa7fdf736166fc274", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5a286a493860e98f10491358633aec13", + "refinement_interpretation_Tm_refine_6b86b5f721d00dbfc398af610651f77a", "typing_Ex06d.append", "typing_Ex06d.count", "typing_Ex06d.length", - "typing_Ex06d.mem", "typing_Ex06d.partition", "typing_Ex06d.sort", + "typing_Ex06d.mem", "typing_Ex06d.partition", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "3361e5f310a368f4789b543e758b3fd5" + "5ae333646d3ed3871007465300ac3d09" ], [ "Ex06d.count", @@ -349,20 +327,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "41b0d216cb9860fde7aab44d303deec6" + "01bf8ca6cf35d6e7741e3c611ae89f20" ], [ "Ex06d.append", @@ -376,7 +352,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "a38eb3fb8210ac5b55fc12e843b1488d" + "489efa9b2a2f21e27341a4a80112c251" ], [ "Ex06d.length", @@ -385,17 +361,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "11326354668d85195354ab3ade9666d4" + "67501ab6105a14665afd4b4981543531" ], [ "Ex06d.sorted", @@ -413,7 +387,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "21f502d92ed1c7b55c81494919da18ae" + "fcf68fb26de516a0ebd06fe713837430" ], [ "Ex06d.partition", @@ -427,7 +401,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2fd60aad631886401f9f199bdd29b0ed" + "99697f9b879827d80cedf70e082a16d0" ], [ "Ex06d.sort", @@ -437,11 +411,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8d6069380e61d4beae2e861934582822" + "93108e7abf7ec6479cf5eace5637675b" ], [ "Ex06d.sort", @@ -450,35 +424,31 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06d.append.fuel_instrumented", "@fuel_correspondence_Ex06d.count.fuel_instrumented", "@fuel_correspondence_Ex06d.length.fuel_instrumented", "@fuel_correspondence_Ex06d.partition.fuel_instrumented", "@fuel_correspondence_Ex06d.sorted.fuel_instrumented", "@fuel_irrelevance_Ex06d.count.fuel_instrumented", "@fuel_irrelevance_Ex06d.length.fuel_instrumented", "@query", - "Ex06d_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "Ex06d_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_83382d0180fc2c9879753a13f94dec8a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "equation_Ex06d.mem", - "equation_Ex06d.total_order", "equation_FStar.Pervasives.Native.fst", + "Ex06d_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Ex06d_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Ex06d_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_696262099dfeead0d4fba435ba22bd67_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "equation_Ex06d.mem", "equation_Ex06d.total_order", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Ex06d.count.fuel_instrumented", "equation_with_fuel_Ex06d.length.fuel_instrumented", "equation_with_fuel_Ex06d.sorted.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "kinding_Prims.list@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", @@ -491,20 +461,17 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0a45560d6015be66cf68d1e703e3272b", - "refinement_interpretation_Tm_refine_3d81082319f54b9f2d30c4ecf3a31eaa", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_41f6646eb4bf88f2e105224b5edd852d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c70a32145a29c05d68011a1b6779b045", - "refinement_interpretation_Tm_refine_f356a9c5dfea65bfa7fdf736166fc274", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5a286a493860e98f10491358633aec13", + "refinement_interpretation_Tm_refine_6b86b5f721d00dbfc398af610651f77a", "typing_Ex06d.append", "typing_Ex06d.count", "typing_Ex06d.length", - "typing_Ex06d.mem", "typing_Ex06d.partition", "typing_Ex06d.sort", + "typing_Ex06d.mem", "typing_Ex06d.partition", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "4c1d29085d2cc52c6cf4eb86cdc837c1" + "d3f5e85d13620b90feb1dd62e7a1b663" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex06e.fst.hints b/doc/tutorial/code/solutions/Ex06e.fst.hints index b7526160a35..05d2a725b36 100644 --- a/doc/tutorial/code/solutions/Ex06e.fst.hints +++ b/doc/tutorial/code/solutions/Ex06e.fst.hints @@ -9,7 +9,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", @@ -20,7 +20,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "df9f318a1b159fa27ea0cd3c9c0ca547" + "f4d8771a99503a73a22af22b6e40c521" ], [ "Ex06e.mem", @@ -30,16 +30,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_1", + "binder_x_66b03f5c7897b05649fed8196554c587_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", - "int_inversion", "projection_inverse_Prims.Cons_tl", - "subterm_ordering_Prims.Cons" + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "subterm_ordering_Prims.Cons" ], 0, - "23676bbe966833f5426ef70b0cb6d74b" + "0503c703224a7606e16a5ba56d3529b2" ], [ "Ex06e.sorted_smaller", @@ -52,9 +51,9 @@ "@fuel_correspondence_Ex06e.sorted.fuel_instrumented", "@fuel_irrelevance_Ex06e.mem.fuel_instrumented", "@fuel_irrelevance_Ex06e.sorted.fuel_instrumented", "@query", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_2", "bool_inversion", + "binder_x_66b03f5c7897b05649fed8196554c587_2", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_ae567c2fb75be05905677af440075565_1", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -77,7 +76,7 @@ "unit_typing" ], 0, - "ca97680c978e678a15afc2dca98e22e5" + "9248c5beafb7c9ba14d79a07e958acac" ], [ "Ex06e.insert", @@ -91,8 +90,8 @@ "@fuel_irrelevance_Ex06e.mem.fuel_instrumented", "@fuel_irrelevance_Ex06e.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_807ba96b81bb877058fa83115ece8042_1", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_f171d66efa4bc126ede8246f7c628508_1", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -109,18 +108,18 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2e9b47720b9a18aba0e2531e8ad7289f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4a546e3db4542c1fbdef51997a14ccff", - "refinement_interpretation_Tm_refine_7e54fe82e901fb33141bbd2f9ffee520", - "refinement_interpretation_Tm_refine_b932a5026c6628390be831a8672602bd", - "refinement_interpretation_Tm_refine_ca51d63e00ceab87fe0da5c71049f6cb", + "refinement_interpretation_Tm_refine_5dfdd346965a343e2b05986cfb2e575c", + "refinement_interpretation_Tm_refine_6c7e513180442957f741d573d613f639", + "refinement_interpretation_Tm_refine_dc428873a9acc620b32d60ac1cdddfe5", "subterm_ordering_Prims.Cons", "token_correspondence_Ex06e.mem.fuel_instrumented", "token_correspondence_Ex06e.sorted.fuel_instrumented", "typing_Ex06e.insert", "typing_Ex06e.mem", "typing_Ex06e.sorted" ], 0, - "5b27495151b6c41ad7e9533d6ec1c49e" + "56fd485ef1f123dc9636a4629f2e355d" ], [ "Ex06e.sort", @@ -133,7 +132,7 @@ "@fuel_correspondence_Ex06e.sorted.fuel_instrumented", "@fuel_irrelevance_Ex06e.mem.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", "bool_inversion", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_with_fuel_Ex06e.mem.fuel_instrumented", @@ -145,13 +144,13 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_6cb7ac081c268897830b5dac74c15739", - "refinement_interpretation_Tm_refine_7e54fe82e901fb33141bbd2f9ffee520", - "refinement_interpretation_Tm_refine_94d665ab7ff7ad4da21a744de1dbbfed", + "refinement_interpretation_Tm_refine_5dfdd346965a343e2b05986cfb2e575c", + "refinement_interpretation_Tm_refine_7d0f5d5ec7c4bc755d1464d1b49f182b", + "refinement_interpretation_Tm_refine_7d9e198f681ce268bb0a5d5b830e5465", "subterm_ordering_Prims.Cons", "typing_Ex06e.mem" ], 0, - "135b5034124b3ae867e0cdee32d20a12" + "9c26970d18f9b222e72c6b6c3a157602" ], [ "Ex06e.sorted", @@ -161,7 +160,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", @@ -172,7 +171,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "291673fac79a9c9050c51e6a3bd2313c" + "8645c084b9b3a51de22d86311190b08d" ], [ "Ex06e.mem", @@ -182,16 +181,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_1", + "binder_x_66b03f5c7897b05649fed8196554c587_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", - "int_inversion", "projection_inverse_Prims.Cons_tl", - "subterm_ordering_Prims.Cons" + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "subterm_ordering_Prims.Cons" ], 0, - "f73bcfee1eb7c89ae56198e45c2d2afd" + "026b7d5b2a52aee73a5b3c9d84cde83c" ], [ "Ex06e.insert", @@ -205,8 +203,8 @@ "@fuel_irrelevance_Ex06e.mem.fuel_instrumented", "@fuel_irrelevance_Ex06e.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_807ba96b81bb877058fa83115ece8042_1", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_f171d66efa4bc126ede8246f7c628508_1", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -223,18 +221,18 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2e9b47720b9a18aba0e2531e8ad7289f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4a546e3db4542c1fbdef51997a14ccff", - "refinement_interpretation_Tm_refine_7e54fe82e901fb33141bbd2f9ffee520", - "refinement_interpretation_Tm_refine_b932a5026c6628390be831a8672602bd", - "refinement_interpretation_Tm_refine_ca51d63e00ceab87fe0da5c71049f6cb", + "refinement_interpretation_Tm_refine_5dfdd346965a343e2b05986cfb2e575c", + "refinement_interpretation_Tm_refine_6c7e513180442957f741d573d613f639", + "refinement_interpretation_Tm_refine_dc428873a9acc620b32d60ac1cdddfe5", "subterm_ordering_Prims.Cons", "token_correspondence_Ex06e.mem.fuel_instrumented", "token_correspondence_Ex06e.sorted.fuel_instrumented", "typing_Ex06e.insert", "typing_Ex06e.mem", "typing_Ex06e.sorted" ], 0, - "a1d6b8e9fe2b1b5f3629912acc97edb9" + "6a07b02ecd23f9cb16c5944a0cdc754c" ], [ "Ex06e.sort", @@ -247,7 +245,7 @@ "@fuel_correspondence_Ex06e.sorted.fuel_instrumented", "@fuel_irrelevance_Ex06e.mem.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", "bool_inversion", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_with_fuel_Ex06e.mem.fuel_instrumented", @@ -259,13 +257,13 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_6cb7ac081c268897830b5dac74c15739", - "refinement_interpretation_Tm_refine_7e54fe82e901fb33141bbd2f9ffee520", - "refinement_interpretation_Tm_refine_94d665ab7ff7ad4da21a744de1dbbfed", + "refinement_interpretation_Tm_refine_5dfdd346965a343e2b05986cfb2e575c", + "refinement_interpretation_Tm_refine_7d0f5d5ec7c4bc755d1464d1b49f182b", + "refinement_interpretation_Tm_refine_7d9e198f681ce268bb0a5d5b830e5465", "subterm_ordering_Prims.Cons", "typing_Ex06e.mem" ], 0, - "cea1b7b3d687ca56cacd1dbcb2f53fab" + "76dab5ecca751eca25b49a74401b9207" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex07a.fst.hints b/doc/tutorial/code/solutions/Ex07a.fst.hints index 3106cab1205..12dc262682e 100644 --- a/doc/tutorial/code/solutions/Ex07a.fst.hints +++ b/doc/tutorial/code/solutions/Ex07a.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f63f85862545b21786879ef0b74f51a6" + "ffe6394b3aba6a387c37fbe67f5279d5" ], [ "Ex07a.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "04f0ba48e642b09a2261fccae06f618a" + "0eb776c62761f445c16ee5443f1cc235" ], [ "Ex07a.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "ec34c50f88a75f01178f9a64de998e3c" + "9fdcd8cce1875f54149e174349b98598" ], [ "Ex07a.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "0f504aa3480da0d60d5a416bde07cb7e" + "8d58fa50d6d1a7f54636e03124ebc227" ], [ "Ex07a.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_f7bc5dc78a06806c9611435fda0e6d8d" ], 0, - "a8a69a238c32b20523a3b179b535810f" + "b289a407abcad92492aca9a6714a461f" ], [ "Ex07a.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "a2d4355eb5208f95930e6942ae0561f7" + "51abb2efe68bdd025aa5b6d871ad3df7" ], [ "Ex07a.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "134356f433604f7cc4b8169ca7cd89ef" + "0367d8593f166e607cef5348cb03b390" ], [ "Ex07a.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "844002491cf8a1ca84087178c8604685" + "7a8372026b48306cf059d22c76e17db5" ], [ "Ex07a.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "606fd1f7b0da73e042462da0668056ef" + "b3d307ea259a5b2df834f5196cee07ca" ], [ "Ex07a.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "3e5df645b96c0be5fd97abc87d3fa3bf" + "cb42c9de1f50dfcd6f64c977c67d0ed4" ], [ "Ex07a.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "1f3da587ab7691facf8006ade9e45b2a" + "713eefdb31973dd7c0b7c69e199a339e" ], [ "Ex07a.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "ec3f8eb2cf5adb26745a5a96d72d8d54" + "9163565d1748956ba9bb1be9bb19a77d" ], [ "Ex07a.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "3737236363f7ec7170bfd964673b104d" + "455e2fc3bace66696be12e144af238dd" ], [ "Ex07a.subst", @@ -185,7 +185,7 @@ "subterm_ordering_Ex07a.EIf" ], 0, - "57f1172dad94766e00f0738662469b1d" + "a96c2aceeea91a238d2281646191aab2" ], [ "Ex07a.step", @@ -205,7 +205,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "64d51dd34c519b390b6f3922ec012477" + "437d8d7cd89642f109fe91310af5bc63" ], [ "Ex07a.typing", @@ -231,7 +231,7 @@ "typing_tok_Ex07a.TBool@tok" ], 0, - "a9dbb8189d56fe3b2ce59d1d2d472c94" + "f16e05feca4b312fb6891cb42b6aeb08" ], [ "Ex07a.progress", @@ -260,13 +260,13 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.empty", - "equation_Ex07a.env", "equation_Ex07a.is_value", + "equation_Ex07a.is_value", "equation_with_fuel_Ex07a.step.fuel_instrumented", "equation_with_fuel_Ex07a.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07a.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07a.empty", "kinding_Ex07a.exp@tok", - "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", + "kinding_Ex07a.exp@tok", "kinding_Ex07a.ty@tok", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07a.EAbs__0", "projection_inverse_Ex07a.EAbs__1", @@ -283,14 +283,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", "token_correspondence_Ex07a.empty", + "subterm_ordering_Ex07a.EIf", "typing_Ex07a.empty", "typing_Ex07a.is_value", "typing_Ex07a.step", "typing_Ex07a.typing", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_tok_Ex07a.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "4a08e46e752acf9f86da587a2444ea81" + "f0b46061386911c777d26338af718e49" ], [ "Ex07a.appears_free_in", @@ -317,7 +317,7 @@ "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf" ], 0, - "73adaa04686b9ff424546b3daa1a6148" + "fa7e68d61e5e985e50e789695ea1e954" ], [ "Ex07a.free_in_context", @@ -333,9 +333,9 @@ "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", "Ex07a_pretyping_954d904f9a7601853684143df10460f5", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3887050c21e564ea07a71e34f1eb571c_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_896e04207a09217ae90a78b1619cef5a_1", "bool_inversion", + "binder_x_2d2a66942d22635d74194ee2adf88f89_2", + "binder_x_896e04207a09217ae90a78b1619cef5a_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", "constructor_distinct_Ex07a.EFalse", "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.ETrue", @@ -356,7 +356,7 @@ "function_token_typing_Ex07a.extend", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_17408360fedd78c2a21218b46909455a", + "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -383,7 +383,7 @@ "typing_tok_Ex07a.TBool@tok" ], 0, - "dec2954f88ff412d5fbabaff12152aba" + "95d26cefb305193874fb5b19116cec4f" ], [ "Ex07a.typable_empty_closed", @@ -399,7 +399,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07a.TBool@tok" ], 0, - "d380b902d93a7842dbd5dde845c6762d" + "076c2e703650337dabbe942350f15e07" ], [ "Ex07a.equal", @@ -412,7 +412,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "f14aa5d6a5d5f664b6bf581de8d88611" + "e9a28d957de9dea59365419ebb48ee08" ], [ "Ex07a.equalE", @@ -425,7 +425,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "fb49f2e0714ea24cc47657869cb3acf8" + "795b2068e20fc267b9cac5804a73b919" ], [ "Ex07a.context_invariance", @@ -443,8 +443,8 @@ "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_3887050c21e564ea07a71e34f1eb571c_1", - "binder_x_3887050c21e564ea07a71e34f1eb571c_2", + "binder_x_2d2a66942d22635d74194ee2adf88f89_1", + "binder_x_2d2a66942d22635d74194ee2adf88f89_2", "binder_x_896e04207a09217ae90a78b1619cef5a_0", "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", "constructor_distinct_Ex07a.EIf", @@ -463,7 +463,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_17408360fedd78c2a21218b46909455a", + "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -487,7 +487,7 @@ "typing_tok_Ex07a.TBool@tok", "unit_typing" ], 0, - "5d3613849610097fb65175afdb1dd2a0" + "82a420c49f3196063554b35f90d5b744" ], [ "Ex07a.typing_extensional", @@ -496,7 +496,7 @@ 1, [ "@query", "equation_Ex07a.equal", "equation_Ex07a.equalE" ], 0, - "3021d59c342e2a6451adecf71fac0862" + "c3e55c8a740814897cc0a760c6e112c6" ], [ "Ex07a.substitution_preserves_typing", @@ -514,10 +514,10 @@ "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", "Ex07a_pretyping_954d904f9a7601853684143df10460f5", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3887050c21e564ea07a71e34f1eb571c_3", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_2d2a66942d22635d74194ee2adf88f89_3", "binder_x_896e04207a09217ae90a78b1619cef5a_1", - "binder_x_896e04207a09217ae90a78b1619cef5a_2", "bool_inversion", + "binder_x_896e04207a09217ae90a78b1619cef5a_2", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", "constructor_distinct_Ex07a.EFalse", "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.ETrue", @@ -541,7 +541,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_17408360fedd78c2a21218b46909455a", + "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "kinding_Ex07a.ty@tok", "lemma_Ex07a.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -564,12 +564,12 @@ "subterm_ordering_Ex07a.EIf", "typing_Ex07a.appears_free_in", "typing_Ex07a.extend", "typing_Ex07a.subst", "typing_Ex07a.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_17408360fedd78c2a21218b46909455a", + "typing_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "typing_tok_Ex07a.EFalse@tok", "typing_tok_Ex07a.ETrue@tok", "typing_tok_Ex07a.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "a11a683ef8660ec2884443c4c6c99b5c" + "d804d7d21dc538625f6e4a319187140a" ], [ "Ex07a.preservation", @@ -583,7 +583,6 @@ "@fuel_irrelevance_Ex07a.step.fuel_instrumented", "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", "binder_x_896e04207a09217ae90a78b1619cef5a_0", "bool_inversion", "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.TBool", @@ -600,9 +599,8 @@ "equation_with_fuel_Ex07a.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07a.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07a.empty", "kinding_Ex07a.exp@tok", - "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07a.exp@tok", "kinding_Ex07a.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07a.EAbs__0", @@ -620,17 +618,15 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf", "token_correspondence_Ex07a.typing.fuel_instrumented", - "typing_Ex07a.extend", "typing_Ex07a.step", "typing_Ex07a.subst", - "typing_Ex07a.typing", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07a.TBool@tok", "unit_inversion", "unit_typing" + "typing_Ex07a.empty", "typing_Ex07a.step", "typing_Ex07a.subst", + "typing_Ex07a.typing", "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "unit_inversion", + "unit_typing" ], 0, - "52929904a544fc4f38846f66cca1a3ce" + "a00d6eccda545770ee0a896638801324" ], [ "Ex07a.typed_step", @@ -643,7 +639,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "68ab21d543cbc3e1ead282c876fc949a" + "cc803dc47511bdd7aba1104b602cef7c" ], [ "Ex07a.typed_step", @@ -652,10 +648,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ffc6ca0d25cd9131d150cfceead837b2" + "refinement_interpretation_Tm_refine_b2e0d703856834b97017ac5e35213e3b" ], 0, - "dde833465b31ddc86773a001d16d6b12" + "38a1535f68e334013e4e6f81d20c6f5e" ], [ "Ex07a.ty", @@ -664,7 +660,7 @@ 1, [ "@query" ], 0, - "8aa2dbebba71337d16b3ac35ba0163ed" + "c93a6c0658c5e50028da0343217fe42a" ], [ "Ex07a.__proj__TArrow__item___0", @@ -677,7 +673,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "3e8c1355b1ceec2292709c21eacc0fc5" + "82e35957b16a7d84f7a6c8299f05baff" ], [ "Ex07a.__proj__TArrow__item___1", @@ -690,7 +686,7 @@ "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" ], 0, - "cb153e986e3c98f94257640a2d657549" + "46b55e73da7a0ffcde0ebaddd729b8f6" ], [ "Ex07a.exp", @@ -702,7 +698,7 @@ "assumption_Prims.HasEq_int" ], 0, - "bae8ef43dba4a8d76604176a05094a6c" + "c52515dda9549d6488f18d3680adf39d" ], [ "Ex07a.__proj__EVar__item___0", @@ -715,7 +711,7 @@ "refinement_interpretation_Tm_refine_f7bc5dc78a06806c9611435fda0e6d8d" ], 0, - "e2421acce4ab8fe10ca7f1799b5a2ec8" + "6fa7968cd7a5b21270fd052f99e33f2c" ], [ "Ex07a.__proj__EApp__item___0", @@ -728,7 +724,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "90c388ce8a75d30f5b7ac23125d5fea1" + "07797d6acb356949ce3cd56ae476f9a3" ], [ "Ex07a.__proj__EApp__item___1", @@ -741,7 +737,7 @@ "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" ], 0, - "d8150359e0b6141d75f1e421d93bdcc9" + "8c6b90386c81f3ddb4679c92435ce59a" ], [ "Ex07a.__proj__EAbs__item___0", @@ -754,7 +750,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "a5a134c60e03233b78c1f8e0f0dafbf9" + "75c2983df4e9b7d720a5e427d5096b2d" ], [ "Ex07a.__proj__EAbs__item___1", @@ -767,7 +763,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "d25494667979f03ec414f7f3f0d6da45" + "7c9cd691d933a0f7b9476dfe0a5bf5f4" ], [ "Ex07a.__proj__EAbs__item___2", @@ -780,7 +776,7 @@ "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" ], 0, - "5fafed7347c4318b2ab2dcc7261867b7" + "2a68668b5950db1a5dc60cfb86b27c40" ], [ "Ex07a.__proj__EIf__item___0", @@ -793,7 +789,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "733f6eb5c7df2ae0f1d85d25ec22f9db" + "3cf5a6fcca21a8a64cbc060d36a3d5a2" ], [ "Ex07a.__proj__EIf__item___1", @@ -806,7 +802,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "ffb7d40bfe9b0c46cad2b2707baafbb2" + "db8fdd136a4a69409e65c21219fd989c" ], [ "Ex07a.__proj__EIf__item___2", @@ -819,7 +815,7 @@ "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" ], 0, - "3eb9f096367aa99066c2a580eb40bfcb" + "ddedd3d89744462fcab8335356266c17" ], [ "Ex07a.subst", @@ -838,7 +834,7 @@ "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf" ], 0, - "d0780b32276f9a121bbbcb0ff10e5dcf" + "8482ce61bede00efb02ac4bcfc5e1182" ], [ "Ex07a.step", @@ -858,7 +854,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "98602747f250f49b67102deb9f2361c8" + "0102685db9f0aad9ed08319bf00b30e2" ], [ "Ex07a.typing", @@ -884,7 +880,7 @@ "typing_tok_Ex07a.TBool@tok" ], 0, - "63102ec527cdc7ea2125543a42c3ec51" + "36217dfa92517627c5a084f47e17c8a0" ], [ "Ex07a.appears_free_in", @@ -903,7 +899,7 @@ "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf" ], 0, - "960bfccaaa518c5da56b83b40e3cb443" + "95e47efdd6c44e563b7fb4309ad8f98d" ], [ "Ex07a.equal", @@ -916,7 +912,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "43fc4a4c9355cec33435af182c817bac" + "be71957ff87fb20b8f23be44e2bc7f0b" ], [ "Ex07a.equalE", @@ -929,7 +925,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "882f24b1d3ac7eac22e7686b1c3d3435" + "f2c38be402f90040ebb0983674465636" ], [ "Ex07a.typed_step", @@ -938,10 +934,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ffc6ca0d25cd9131d150cfceead837b2" + "refinement_interpretation_Tm_refine_b2e0d703856834b97017ac5e35213e3b" ], 0, - "b26d4867e77b77683cac7ffd8cd28d2b" + "db874ac48057a968a9bd2f5062067bdf" ], [ "Ex07a.typed_step", @@ -954,7 +950,7 @@ "kinding_Ex07a.ty@tok" ], 0, - "3af4d1de91e4953c6bc9449f8c76757a" + "b1805c96275804ca5510e293ffe8c408" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex07b.fst.hints b/doc/tutorial/code/solutions/Ex07b.fst.hints index c510be8119c..e81bab61e81 100644 --- a/doc/tutorial/code/solutions/Ex07b.fst.hints +++ b/doc/tutorial/code/solutions/Ex07b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f5788f3ccda79ad782f171bf91978635" + "4f599b805a3f55657f1a224167050cd7" ], [ "Ex07b.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "36e3e0e1160dc65376c48dd2e5f638b7" + "c8cf9b82237cf0636a89618ab561743f" ], [ "Ex07b.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "a9f6701cfa6de99d8bd2e21fa360fead" + "e2bcb4f6ab711878d124b94aaee7d206" ], [ "Ex07b.__proj__TPair__item___0", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "c6635d0bb5436c90885b18369b20d202" + "3aa5e1b1e7b7e2938016abac8296bc62" ], [ "Ex07b.__proj__TPair__item___1", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "61815e6537b03a4c96e22b526d6efd43" + "a04905b2d0673e2301be89b922d62375" ], [ "Ex07b.exp", @@ -72,7 +72,7 @@ "assumption_Prims.HasEq_int" ], 0, - "55448b02925a8f0787e4edfe99043e08" + "efb67e6db8ad764b119aa25b0e2bd40b" ], [ "Ex07b.__proj__EVar__item___0", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_b6f32956bd08cc9e186aefa06e30a826" ], 0, - "1dc8f13705abe99de03500e482ae9cd3" + "5d0644177287018faa8db1ebea085566" ], [ "Ex07b.__proj__EApp__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "d8ca1a333d1292358fef3b650b81d148" + "20e6455a195652c2fbd362ca2c88002b" ], [ "Ex07b.__proj__EApp__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "e84da7eab87d168d68d4485a03873c57" + "814b80c0478d874d8270944fcce66873" ], [ "Ex07b.__proj__EAbs__item___0", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "0f75b4f2bf9f59f8188accfdcd172a93" + "5d3df37e4a738373c20bae8ba391c60b" ], [ "Ex07b.__proj__EAbs__item___1", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "15b462bb3b4feb96583ba66e59dfd675" + "116fea2c838fa7f738a8c8698470653a" ], [ "Ex07b.__proj__EAbs__item___2", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "14b5042d9c8efc06c0a2b33ccfb29c26" + "1e7a461ab4c702e972cce589077012af" ], [ "Ex07b.__proj__EIf__item___0", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "057ffd7a62287c723cd2b310d3d84eaa" + "7d501ec155cca3ce1398d556893e7c80" ], [ "Ex07b.__proj__EIf__item___1", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "726e6e0557d4d9fd994e241bf57afffc" + "0a88fd991b5ed2625b38fb52d5629384" ], [ "Ex07b.__proj__EIf__item___2", @@ -189,7 +189,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "708bccdfc1a7ca90c9e41cde30097472" + "add999e52b10f89c03ba0f8d7511ed83" ], [ "Ex07b.__proj__EPair__item___0", @@ -202,7 +202,7 @@ "refinement_interpretation_Tm_refine_c53ec770545fa3b713c731a12c60f11b" ], 0, - "451e52b44795e80ea6b7a5c9987807ff" + "e1a12abec063f20d46d5e991e7142cf5" ], [ "Ex07b.__proj__EPair__item___1", @@ -215,7 +215,7 @@ "refinement_interpretation_Tm_refine_c53ec770545fa3b713c731a12c60f11b" ], 0, - "47871a5c07f11ac7227e49b28ea91754" + "c8f2acc6332c36c20e594e3901034515" ], [ "Ex07b.__proj__EFst__item___0", @@ -228,7 +228,7 @@ "refinement_interpretation_Tm_refine_958ca9a5748df3729ea50125a7b4943a" ], 0, - "0fcac447c265a4c8d8f86ecf6ce204af" + "e1c0f73f252784e4ed60f8d2455fa3e2" ], [ "Ex07b.__proj__ESnd__item___0", @@ -241,7 +241,7 @@ "refinement_interpretation_Tm_refine_6f9b0d6ea3ce26714864b1ca2a2f6caa" ], 0, - "31782dc1b976bbb870189a848b981f11" + "878de3dec3a2d94572131bf669fcf33a" ], [ "Ex07b.is_value", @@ -254,7 +254,7 @@ "subterm_ordering_Ex07b.EPair" ], 0, - "43aa671b5590b4e5318b78423df14fbb" + "0939d39d05279cc8e61901704034cadb" ], [ "Ex07b.subst", @@ -283,7 +283,7 @@ "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd" ], 0, - "bce3676b1ce282a64d2f858ca741b550" + "2f6adccd062ce8618b5eb854a3cde658" ], [ "Ex07b.step", @@ -305,7 +305,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "ede64dbd2ea7342cc727a4aeb30a9461" + "40a7ec01444a9e292e08bf420136e96f" ], [ "Ex07b.typing", @@ -334,7 +334,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "23e7c52b39ade70627b4c12f9524716b" + "40b598f1829c88337239fc9cbec07fbf" ], [ "Ex07b.progress", @@ -372,16 +372,16 @@ "disc_equation_Ex07b.EVar", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", + "equality_tok_Ex07b.EFalse@tok", "equality_tok_Ex07b.ETrue@tok", "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.empty", - "equation_Ex07b.env", "equation_with_fuel_Ex07b.is_value.fuel_instrumented", "equation_with_fuel_Ex07b.step.fuel_instrumented", "equation_with_fuel_Ex07b.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07b.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.empty", "kinding_Ex07b.exp@tok", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", + "kinding_Ex07b.exp@tok", "kinding_Ex07b.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07b.EAbs__0", "projection_inverse_Ex07b.EAbs__1", "projection_inverse_Ex07b.EAbs__2", @@ -403,15 +403,15 @@ "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd", - "token_correspondence_Ex07b.empty", "token_correspondence_Ex07b.is_value.fuel_instrumented", - "typing_Ex07b.is_value", "typing_Ex07b.step", "typing_Ex07b.typing", - "typing_FStar.Pervasives.Native.uu___is_None", + "typing_Ex07b.empty", "typing_Ex07b.is_value", "typing_Ex07b.step", + "typing_Ex07b.typing", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_tok_Ex07b.EFalse@tok", "typing_tok_Ex07b.ETrue@tok", "typing_tok_Ex07b.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "633acedb67a772ba686d42327b5f63a9" + "f280b7308f7b9a22c252e26c6669d586" ], [ "Ex07b.appears_free_in", @@ -445,7 +445,7 @@ "subterm_ordering_Ex07b.ESnd" ], 0, - "c6991fb9d865663919776ca332bf7b90" + "8da876eda7b905c85de8245a45bee322" ], [ "Ex07b.free_in_context", @@ -462,8 +462,8 @@ "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0ef6adeb4170009569fb43b575c6f114_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_fbe7af2a4359920bf1fe5c06ce0512e5_2", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_f36a46d9acf5432a0d30486e4ea96094_2", "bool_inversion", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EFalse", "constructor_distinct_Ex07b.EFst", "constructor_distinct_Ex07b.EIf", @@ -488,7 +488,7 @@ "function_token_typing_Ex07b.extend", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_2508029bd10d1c010d2a408a13662b05", + "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -520,7 +520,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "5a0b832dd5bcd8b157b76dabbf70d716" + "6ed08521e30a78cc735c755cdd4e690c" ], [ "Ex07b.typable_empty_closed", @@ -536,7 +536,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07b.TBool@tok" ], 0, - "1f2f58978b5cd404ddfb4d60d72c7f82" + "3d3676b49b5748481f9a17531dbd796e" ], [ "Ex07b.equal", @@ -549,7 +549,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "b39d68a040a8a0c9f5e7fc53abf1f2b7" + "4c389b8d79e883da5a41e66a2f4ab488" ], [ "Ex07b.equalE", @@ -562,7 +562,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "28b0358d1abe028d605e8bbd26cf226b" + "8e1781437f4736711e6968d518a28e6e" ], [ "Ex07b.context_invariance", @@ -581,8 +581,8 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_0ef6adeb4170009569fb43b575c6f114_0", - "binder_x_fbe7af2a4359920bf1fe5c06ce0512e5_1", - "binder_x_fbe7af2a4359920bf1fe5c06ce0512e5_2", "bool_inversion", + "binder_x_f36a46d9acf5432a0d30486e4ea96094_1", + "binder_x_f36a46d9acf5432a0d30486e4ea96094_2", "bool_inversion", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EFst", "constructor_distinct_Ex07b.EIf", "constructor_distinct_Ex07b.EPair", @@ -604,7 +604,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2508029bd10d1c010d2a408a13662b05", + "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -633,7 +633,7 @@ "typing_Ex07b.typing", "typing_tok_Ex07b.TBool@tok", "unit_typing" ], 0, - "49b1215fdd51219670b8db655ee6aadb" + "c3690aa566077d8345acbd5db8544273" ], [ "Ex07b.typing_extensional", @@ -642,7 +642,7 @@ 1, [ "@query", "equation_Ex07b.equal", "equation_Ex07b.equalE" ], 0, - "073fe39e8a3c841717279b1ea2176046" + "f91d6b3258a6e3f02fb10a11af2a18ad" ], [ "Ex07b.substitution_preserves_typing", @@ -650,11 +650,11 @@ 4, 2, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07b.env", - "refinement_interpretation_Tm_refine_cd65a14cd9655dfb361f8658219d55af" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_475611d23cd96730d789f8e1dcabbdff" ], 0, - "4eb3acab3c3690c0e9370ac8ca40dc92" + "0c7650d18cd5f9ee418eb7fb8e6b156c" ], [ "Ex07b.substitution_preserves_typing", @@ -662,11 +662,11 @@ 4, 2, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07b.env", - "refinement_interpretation_Tm_refine_df62fe0c9378bb459971eca3cb60fc69" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_549d97ce815aa63268a95b5586ed71a3" ], 0, - "d51e11d6bf62e358398d084097abc454" + "5e35067b2634e2694e2777b4dfbf1250" ], [ "Ex07b.substitution_preserves_typing", @@ -684,11 +684,10 @@ "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_0ef6adeb4170009569fb43b575c6f114_1", "binder_x_0ef6adeb4170009569fb43b575c6f114_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_cf11d77749284b21c151e4f410bf39dd_3", "bool_inversion", + "binder_x_95d774fda5ce3618a64b340549b3c2cc_3", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EFalse", "constructor_distinct_Ex07b.EFst", "constructor_distinct_Ex07b.EIf", @@ -715,10 +714,9 @@ "equation_with_fuel_Ex07b.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07b.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_2508029bd10d1c010d2a408a13662b05", + "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", "kinding_Ex07b.ty@tok", "lemma_Ex07b.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -741,8 +739,8 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_36da4c0883bb42653b09b72f9c1a99d1", - "refinement_interpretation_Tm_refine_7550b0347b2434faff86e11e1817befa", + "refinement_interpretation_Tm_refine_570d88d267023a4b37691c0b7022df5b", + "refinement_interpretation_Tm_refine_f3a2fea33e36a5a4c280f1511998b4b1", "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd", @@ -751,11 +749,11 @@ "typing_Ex07b.appears_free_in", "typing_Ex07b.extend", "typing_Ex07b.subst", "typing_Ex07b.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_2508029bd10d1c010d2a408a13662b05", - "typing_tok_Ex07b.TBool@tok", "unit_typing" + "typing_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", + "typing_tok_Ex07b.TBool@tok" ], 0, - "725edcd0e2b857b8ddbd5f01478f714e" + "0a3af2b7ffa2a0b74e23964344bafba9" ], [ "Ex07b.preservation", @@ -764,10 +762,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e02b4c78a4e63c2a0c3dfb12a2cfb24d" + "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841" ], 0, - "389e83db149a8713e16ea03f13f3593d" + "4e8b8631b35c9c76108d909b1d0ecbf4" ], [ "Ex07b.preservation", @@ -776,10 +774,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6619de3c260a2f3a5a73090c358e0151" + "refinement_interpretation_Tm_refine_d037d6f6d6281e78593ba836b20561ee" ], 0, - "4608112ac79d06dc32d3c4353d8bc6d8" + "3313828801e76d84f49219bba9c1ce02" ], [ "Ex07b.preservation", @@ -795,7 +793,7 @@ "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_cbcddca324e8289002fb8be75e261d58_0", "bool_inversion", + "binder_x_16020332c6f82b0739119c0ba6182e74_0", "bool_inversion", "bool_typing", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EFst", "constructor_distinct_Ex07b.EIf", "constructor_distinct_Ex07b.EPair", @@ -811,14 +809,13 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.empty", - "equation_Ex07b.env", "equation_Ex07b.extend", + "equation_Ex07b.extend", "equation_with_fuel_Ex07b.step.fuel_instrumented", "equation_with_fuel_Ex07b.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07b.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.empty", "kinding_Ex07b.exp@tok", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07b.exp@tok", "kinding_Ex07b.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -845,19 +842,19 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_e02b4c78a4e63c2a0c3dfb12a2cfb24d", + "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841", "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", "subterm_ordering_Ex07b.EPair", - "subterm_ordering_Ex07b.ESnd", "token_correspondence_Ex07b.empty", + "subterm_ordering_Ex07b.ESnd", "token_correspondence_Ex07b.step.fuel_instrumented", "token_correspondence_Ex07b.typing.fuel_instrumented", - "typing_Ex07b.extend", "typing_Ex07b.is_value", "typing_Ex07b.step", - "typing_Ex07b.typing", + "typing_Ex07b.empty", "typing_Ex07b.extend", "typing_Ex07b.is_value", + "typing_Ex07b.step", "typing_Ex07b.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07b.TBool@tok" ], 0, - "82d74da10c43b03e4b41341f1a14ca4f" + "81789deab2df61358157ff41d23b48ae" ], [ "Ex07b.ty", @@ -866,7 +863,7 @@ 1, [ "@query" ], 0, - "a4c972cf4b9acef80e20e2a49f0260a6" + "68f48809d9ea7fe0ada4e30e186fad34" ], [ "Ex07b.__proj__TArrow__item___0", @@ -879,7 +876,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "41a03923f10195828c1a5de72090a5ff" + "89662cb75d9f3b80a37e6466605e8b7f" ], [ "Ex07b.__proj__TArrow__item___1", @@ -892,7 +889,7 @@ "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" ], 0, - "3c131671da7f47786628655bde849e57" + "b022f50be5f626bd9e6e9612e4dc9fb9" ], [ "Ex07b.__proj__TPair__item___0", @@ -905,7 +902,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "f41be16647fe406c30003ce5f193bf41" + "30e4f486f9eb1b412251ad5b3c60b1b0" ], [ "Ex07b.__proj__TPair__item___1", @@ -918,7 +915,7 @@ "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" ], 0, - "f5f8de43c791dabcbdc1a1c907f7d052" + "47f0c7433651b6a87cd2eaf649266848" ], [ "Ex07b.exp", @@ -930,7 +927,7 @@ "assumption_Prims.HasEq_int" ], 0, - "635652268e8027345962ee301026a676" + "cd7b0f67ebbfa925684d943772511220" ], [ "Ex07b.__proj__EVar__item___0", @@ -943,7 +940,7 @@ "refinement_interpretation_Tm_refine_b6f32956bd08cc9e186aefa06e30a826" ], 0, - "f198474799ae97593e461f9ddd90e472" + "9071bd78ff5f4320c1478b31ffa89fe4" ], [ "Ex07b.__proj__EApp__item___0", @@ -956,7 +953,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "7254f8293dcf5729eec9a37098422a7f" + "cdcfa245abf2040662dfdcba3eef209c" ], [ "Ex07b.__proj__EApp__item___1", @@ -969,7 +966,7 @@ "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" ], 0, - "5f04afcc2ee9b8a354b85b0562640ad4" + "7244f442558e7d5f9ebd4eb6bcb5c4e5" ], [ "Ex07b.__proj__EAbs__item___0", @@ -982,7 +979,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "9d70a7339e9e99587d5f47d1e339b4a3" + "b0b4e0cde79ac24627dc335be0d99701" ], [ "Ex07b.__proj__EAbs__item___1", @@ -995,7 +992,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "6e297cc901209090866b84f0423dd948" + "672807da82e9954f20cad3b14852c1e9" ], [ "Ex07b.__proj__EAbs__item___2", @@ -1008,7 +1005,7 @@ "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" ], 0, - "dab668149da064d0f261e8efbade41d5" + "816bb383df2e001688d2682b9a0a379b" ], [ "Ex07b.__proj__EIf__item___0", @@ -1021,7 +1018,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "40cc14ea9417eaf39fd90c069675ca37" + "7efd0b39ca35f3201151aa28c03c86cb" ], [ "Ex07b.__proj__EIf__item___1", @@ -1034,7 +1031,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "6b165b77bbd33a050be2e24ee43d726a" + "74751753da686abf1ee7af30d92d8f2d" ], [ "Ex07b.__proj__EIf__item___2", @@ -1047,7 +1044,7 @@ "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" ], 0, - "b19b0d03618824c8c33603a5c59241c8" + "cf1b605f1f64f01dee9ae1c98e1f4864" ], [ "Ex07b.__proj__EPair__item___0", @@ -1060,7 +1057,7 @@ "refinement_interpretation_Tm_refine_c53ec770545fa3b713c731a12c60f11b" ], 0, - "b03e8001e0111aa6905f493dc24590f2" + "0416c6b00e7103f87556a9c84365af78" ], [ "Ex07b.__proj__EPair__item___1", @@ -1073,7 +1070,7 @@ "refinement_interpretation_Tm_refine_c53ec770545fa3b713c731a12c60f11b" ], 0, - "5c5927051fed6007b805a32b6417c531" + "d2b8223c3478b4018888ed21b8226fc7" ], [ "Ex07b.__proj__EFst__item___0", @@ -1086,7 +1083,7 @@ "refinement_interpretation_Tm_refine_958ca9a5748df3729ea50125a7b4943a" ], 0, - "866453dc386e037f6ef4465b23d603a1" + "aee7f4aaa508b82b92f9424a5caf476d" ], [ "Ex07b.__proj__ESnd__item___0", @@ -1099,7 +1096,7 @@ "refinement_interpretation_Tm_refine_6f9b0d6ea3ce26714864b1ca2a2f6caa" ], 0, - "d0d3768f2b57e089d6c1e52d092a3892" + "012a3a16da9bbed1aa9dce943ee5798c" ], [ "Ex07b.is_value", @@ -1112,7 +1109,7 @@ "subterm_ordering_Ex07b.EPair" ], 0, - "47d53e76b13faad889a6e4e5b07d152b" + "ba75cef524ae367e3bfcc23134d09316" ], [ "Ex07b.subst", @@ -1134,7 +1131,7 @@ "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd" ], 0, - "3f908d8caeab501518d0862fc89c8abd" + "09acd8c68d132bb3679c1ba04efb28c1" ], [ "Ex07b.step", @@ -1156,7 +1153,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "9c0977877a887425805b4076d184d196" + "35d3d35ceb0233e93eb8f8fe44e37ac8" ], [ "Ex07b.typing", @@ -1185,7 +1182,7 @@ "typing_tok_Ex07b.TBool@tok" ], 0, - "29cdd017ac6c59bf875e95bf9f69cfe2" + "6e54ed4ff18dabc97fab4c488e5bac3c" ], [ "Ex07b.appears_free_in", @@ -1207,7 +1204,7 @@ "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd" ], 0, - "283dd648ca2a6ee26d0ab094de093d84" + "5d4c43a0ec682b8cbbc847929f127923" ], [ "Ex07b.equal", @@ -1220,7 +1217,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "de73fca2fdc3bed9516cdb7258590906" + "a90c30e8043c8789101cdbbb19d4531d" ], [ "Ex07b.equalE", @@ -1233,7 +1230,7 @@ "kinding_Ex07b.ty@tok" ], 0, - "07cad61f3ca9a74cffacda613a290c0b" + "979a4e3278db3acd40c7a6be796489ba" ], [ "Ex07b.substitution_preserves_typing", @@ -1241,11 +1238,11 @@ 4, 2, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07b.env", - "refinement_interpretation_Tm_refine_df62fe0c9378bb459971eca3cb60fc69" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_549d97ce815aa63268a95b5586ed71a3" ], 0, - "50a4040c8699a0d0bf5318cf379b8751" + "5f35cce6ea094a099adb89488924a9f5" ], [ "Ex07b.substitution_preserves_typing", @@ -1263,11 +1260,10 @@ "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_0ef6adeb4170009569fb43b575c6f114_1", "binder_x_0ef6adeb4170009569fb43b575c6f114_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_cf11d77749284b21c151e4f410bf39dd_3", "bool_inversion", + "binder_x_95d774fda5ce3618a64b340549b3c2cc_3", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EFalse", "constructor_distinct_Ex07b.EFst", "constructor_distinct_Ex07b.EIf", @@ -1294,10 +1290,9 @@ "equation_with_fuel_Ex07b.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07b.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_2508029bd10d1c010d2a408a13662b05", + "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", "kinding_Ex07b.ty@tok", "lemma_Ex07b.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1320,8 +1315,8 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_36da4c0883bb42653b09b72f9c1a99d1", - "refinement_interpretation_Tm_refine_7550b0347b2434faff86e11e1817befa", + "refinement_interpretation_Tm_refine_570d88d267023a4b37691c0b7022df5b", + "refinement_interpretation_Tm_refine_f3a2fea33e36a5a4c280f1511998b4b1", "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd", @@ -1330,11 +1325,11 @@ "typing_Ex07b.appears_free_in", "typing_Ex07b.extend", "typing_Ex07b.subst", "typing_Ex07b.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_2508029bd10d1c010d2a408a13662b05", - "typing_tok_Ex07b.TBool@tok", "unit_typing" + "typing_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", + "typing_tok_Ex07b.TBool@tok" ], 0, - "07b0c8d3bad98de57bce2f1a4f2f3c43" + "56c294196efcb7eeba42c566e0cdf88c" ], [ "Ex07b.preservation", @@ -1343,10 +1338,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6619de3c260a2f3a5a73090c358e0151" + "refinement_interpretation_Tm_refine_d037d6f6d6281e78593ba836b20561ee" ], 0, - "e76c68069260f9e9e7e036327c7a8c5f" + "0ba0833cecee58efb26f242b2152b6a8" ], [ "Ex07b.preservation", @@ -1362,7 +1357,7 @@ "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_cbcddca324e8289002fb8be75e261d58_0", "bool_inversion", + "binder_x_16020332c6f82b0739119c0ba6182e74_0", "bool_inversion", "bool_typing", "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EFst", "constructor_distinct_Ex07b.EIf", "constructor_distinct_Ex07b.EPair", @@ -1378,14 +1373,13 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.empty", - "equation_Ex07b.env", "equation_Ex07b.extend", + "equation_Ex07b.extend", "equation_with_fuel_Ex07b.step.fuel_instrumented", "equation_with_fuel_Ex07b.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07b.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.empty", "kinding_Ex07b.exp@tok", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07b.exp@tok", "kinding_Ex07b.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1412,19 +1406,19 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_e02b4c78a4e63c2a0c3dfb12a2cfb24d", + "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841", "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", "subterm_ordering_Ex07b.EPair", - "subterm_ordering_Ex07b.ESnd", "token_correspondence_Ex07b.empty", + "subterm_ordering_Ex07b.ESnd", "token_correspondence_Ex07b.step.fuel_instrumented", "token_correspondence_Ex07b.typing.fuel_instrumented", - "typing_Ex07b.extend", "typing_Ex07b.is_value", "typing_Ex07b.step", - "typing_Ex07b.typing", + "typing_Ex07b.empty", "typing_Ex07b.extend", "typing_Ex07b.is_value", + "typing_Ex07b.step", "typing_Ex07b.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07b.TBool@tok" ], 0, - "6bdb1aa52344e55387ad861b93fb49b8" + "b2134270404aede77ca12658d651b6ba" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex07c.fst.hints b/doc/tutorial/code/solutions/Ex07c.fst.hints index 26bf9fa53f3..7205a8a1719 100644 --- a/doc/tutorial/code/solutions/Ex07c.fst.hints +++ b/doc/tutorial/code/solutions/Ex07c.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f97a1b72f2ee1e1270187e15b67b1d44" + "6590c1215cf4fd852e8c0105a07da648" ], [ "Ex07c.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "25220a083bc8fd868fa61ea085d66885" + "a85f15c2ccf73a9eec26f85b358d64c4" ], [ "Ex07c.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "3702ed84374c4c145dc2135d7c91afb1" + "4c3c9dbfb6c3a4aaf8c34895eadc89d9" ], [ "Ex07c.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "1aa0d366a6a3b143655a47c05d4b89f1" + "3a0c2fc97cf7ae79c37c7c4d75ee03ef" ], [ "Ex07c.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_af9adaa077ed4f1ece37b319bcad4c4c" ], 0, - "1d996f6ba451b5bf62a10b12465d1d45" + "ad08af173744e6c0c8c80bb9f24ad3c3" ], [ "Ex07c.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "2db372f4be21d4d1aebd339a7ab56935" + "5dc090c4e268cd15b6073085349c1c68" ], [ "Ex07c.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "df77561e5c3bf74d29dff8a77525d546" + "9601355250908d4f7bd6c6c1315f5725" ], [ "Ex07c.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "e1c55162e4f6f10c5a440bb76b9be042" + "e27918a74ebb1d344bb8c192da9e41f7" ], [ "Ex07c.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "7f6a4c74eb606d4d81e205166351c140" + "12df1083dc59be7971b8a275c3e38132" ], [ "Ex07c.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "287e5c3b7566429b7f2a32040d057b3a" + "39c366d6cbc8c2e2f27d6383184b4c7d" ], [ "Ex07c.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "6bc4f0f03af4f3408dc0dcb43dae2bd3" + "f588a03ccba31e6b9cd465d1d109bb38" ], [ "Ex07c.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "9cb4014aa8a69bdd7658a75b3eeac6bc" + "4ea8c3a6a4e2575cf7516bd0400991a1" ], [ "Ex07c.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "d2d3b0210cd32d0d1336e3e5814b86d0" + "b2411c48af85b70a52a01d59df55aafc" ], [ "Ex07c.__proj__ELet__item___0", @@ -176,7 +176,7 @@ "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" ], 0, - "3744f368bed2b129ecf902152c47fc31" + "c923c41987da94a1c488bcddba486173" ], [ "Ex07c.__proj__ELet__item___1", @@ -189,7 +189,7 @@ "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" ], 0, - "9c6f76587dc51189f1a1a63f892b88af" + "f5bf22784ca5c76d18c9e89c5bfedb36" ], [ "Ex07c.__proj__ELet__item___2", @@ -202,7 +202,7 @@ "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" ], 0, - "2482847689ffb7827253aad7e6660ef5" + "cee9483f252aca95e6585ad7fb40ade3" ], [ "Ex07c.subst", @@ -228,7 +228,7 @@ "subterm_ordering_Ex07c.ELet" ], 0, - "a834e127d103ec3ff75b626c4ed3cea8" + "520658b59ff463c37d49b6b19234e731" ], [ "Ex07c.step", @@ -250,7 +250,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "01f84556177e04ced728f79e45d29007" + "f4912a87c50588405fc7493114331b85" ], [ "Ex07c.typing", @@ -277,7 +277,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "205af39430c73c713a7e448553ea7d76" + "3fa923135f7a679cc389fb250f115239" ], [ "Ex07c.progress", @@ -308,13 +308,13 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.empty", - "equation_Ex07c.env", "equation_Ex07c.is_value", + "equation_Ex07c.is_value", "equation_with_fuel_Ex07c.step.fuel_instrumented", "equation_with_fuel_Ex07c.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07c.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.empty", "kinding_Ex07c.exp@tok", - "kinding_Ex07c.ty@tok", "kinding_FStar.Pervasives.Native.option@tok", + "kinding_Ex07c.exp@tok", "kinding_Ex07c.ty@tok", + "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -338,15 +338,15 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet", - "token_correspondence_Ex07c.empty", "typing_Ex07c.is_value", - "typing_Ex07c.step", "typing_Ex07c.typing", + "typing_Ex07c.empty", "typing_Ex07c.is_value", "typing_Ex07c.step", + "typing_Ex07c.typing", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_tok_Ex07c.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "ada7ec6ee94a8cf93529c3daf2874626" + "a7206a0e07e2567277b471a38f28ca80" ], [ "Ex07c.appears_free_in", @@ -373,7 +373,7 @@ "subterm_ordering_Ex07c.ELet" ], 0, - "2f711a2a62b6e525f637e0fb7a410056" + "b28178dee6035171535caea87002df90" ], [ "Ex07c.free_in_context", @@ -389,9 +389,9 @@ "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6a3cb483d6204d3c1e0662b0f94ffbd3_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_92b24ade2624a8307d6221bab881006c_1", "bool_inversion", + "binder_x_0680fefb16bec5f02a22cfdc793357e3_2", + "binder_x_92b24ade2624a8307d6221bab881006c_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EFalse", "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ELet", @@ -413,7 +413,7 @@ "function_token_typing_Ex07c.extend", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_363cdf32ce2977284fe10743fc4a55df", + "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -444,7 +444,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "0d2527ba0afd6f0e3420cdc10d269124" + "ee7b407d1b11b7dda8e1700b375c7540" ], [ "Ex07c.typable_empty_closed", @@ -460,7 +460,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07c.TBool@tok" ], 0, - "b32899090f4c52adcd38f13819a18533" + "cf867709ab7890d99db9682eee6e262a" ], [ "Ex07c.equal", @@ -473,7 +473,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "32964117cff0a7b60fb4f2009f587651" + "20912070d54e2a6ce710bb4d14edf2f1" ], [ "Ex07c.equalE", @@ -486,7 +486,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "38d80974718e74fe2c3ceb2e5126e4a8" + "abf3b8e3e5d83af39d800a04ca397af1" ], [ "Ex07c.context_invariance", @@ -504,8 +504,8 @@ "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_6a3cb483d6204d3c1e0662b0f94ffbd3_1", - "binder_x_6a3cb483d6204d3c1e0662b0f94ffbd3_2", + "binder_x_0680fefb16bec5f02a22cfdc793357e3_1", + "binder_x_0680fefb16bec5f02a22cfdc793357e3_2", "binder_x_92b24ade2624a8307d6221bab881006c_0", "bool_inversion", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ELet", @@ -526,7 +526,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_363cdf32ce2977284fe10743fc4a55df", + "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -557,7 +557,7 @@ "typing_tok_Ex07c.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "a2a76b1a0dcbe15642ce5a7a110d951e" + "91c583386f1b149af719cc1f76446ba0" ], [ "Ex07c.typing_extensional", @@ -566,7 +566,7 @@ 1, [ "@query", "equation_Ex07c.equal", "equation_Ex07c.equalE" ], 0, - "fccd46b199f7d440ea1ab99f3edfe570" + "858f56736d1ed545cbc7189e99aa5329" ], [ "Ex07c.substitution_preserves_typing", @@ -574,11 +574,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07c.env", - "refinement_interpretation_Tm_refine_17d1d8d0233630f5681c39450ca08bca" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b6f32c64566936006e4e25abfa332545" ], 0, - "f4224ca2af60081238059cad2f7160f7" + "49d6015937ff94a5f24f6f76e58122a9" ], [ "Ex07c.substitution_preserves_typing", @@ -586,11 +586,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07c.env", - "refinement_interpretation_Tm_refine_ec02f01cdf4cfd781033bd26d3d5d748" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4dd1c5c0ab840b5b119e8987fb6d6069" ], 0, - "625c5102eee245c2abe02079c34d4c7f" + "26c8d0198cda5604d8eb1ece5040b87c" ], [ "Ex07c.substitution_preserves_typing", @@ -610,10 +610,10 @@ "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_530a276c9a4c30d60c4a5b0bbf5dcb0a_3", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_0cf7a2c8e7d78cb33b91b62bfcaa23f0_3", "binder_x_92b24ade2624a8307d6221bab881006c_1", - "binder_x_92b24ade2624a8307d6221bab881006c_2", "bool_inversion", + "binder_x_92b24ade2624a8307d6221bab881006c_2", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EFalse", "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ELet", @@ -639,10 +639,9 @@ "equation_with_fuel_Ex07c.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07c.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_363cdf32ce2977284fe10743fc4a55df", + "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", "kinding_Ex07c.ty@tok", "lemma_Ex07c.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -665,8 +664,8 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_8cd73dd89cfc93552ef2bb25493ab65b", - "refinement_interpretation_Tm_refine_af64efd67ab3797cb20c5e47963ff1fb", + "refinement_interpretation_Tm_refine_47551c8723653e323d1d3b424e8c3899", + "refinement_interpretation_Tm_refine_8a82a3d4974a2bc15eee778ed799a138", "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet", "token_correspondence_Ex07c.subst.fuel_instrumented", @@ -674,11 +673,11 @@ "typing_Ex07c.appears_free_in", "typing_Ex07c.extend", "typing_Ex07c.subst", "typing_Ex07c.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_363cdf32ce2977284fe10743fc4a55df", + "typing_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", "typing_tok_Ex07c.TBool@tok", "unit_typing" ], 0, - "f9eab5956ba4b4759a36a606f7023c22" + "9c15392693178c8ea20600f93db0c388" ], [ "Ex07c.preservation", @@ -687,10 +686,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1382577f550e97ec389aea5ed52cf99a" + "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c" ], 0, - "23cfa7b3c227de26a904bdc0c4fc960a" + "358f562425efe089f2e7920df1b0eb53" ], [ "Ex07c.preservation", @@ -699,10 +698,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7e7249b6497ecf49541d1e207f47778e" + "refinement_interpretation_Tm_refine_d791e207d72e99c79e5a561580d97ac3" ], 0, - "deacd929d7d319c351cd1f33311aac2b" + "664efd764c74a7191fd35b90c93dd907" ], [ "Ex07c.preservation", @@ -718,7 +717,7 @@ "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "binder_x_1a85928f1079984ebbd2ae5e8a94b054_0", + "binder_x_3631ad28b4f5ceb13c2d97008676cb3e_0", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ELet", "constructor_distinct_Ex07c.TBool", @@ -731,15 +730,13 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.empty", - "equation_Ex07c.env", "equation_Ex07c.extend", - "equation_Ex07c.is_value", + "equation_Ex07c.extend", "equation_Ex07c.is_value", "equation_with_fuel_Ex07c.step.fuel_instrumented", "equation_with_fuel_Ex07c.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07c.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.empty", "kinding_Ex07c.exp@tok", - "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07c.exp@tok", "kinding_Ex07c.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07c.EAbs__0", @@ -760,18 +757,19 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1382577f550e97ec389aea5ed52cf99a", + "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", - "subterm_ordering_Ex07c.ELet", "token_correspondence_Ex07c.empty", + "subterm_ordering_Ex07c.ELet", "token_correspondence_Ex07c.step.fuel_instrumented", "token_correspondence_Ex07c.typing.fuel_instrumented", - "typing_Ex07c.extend", "typing_Ex07c.step", "typing_Ex07c.typing", + "typing_Ex07c.empty", "typing_Ex07c.extend", "typing_Ex07c.step", + "typing_Ex07c.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07c.TBool@tok" ], 0, - "cdad9decef3454be12bcfecfcc166541" + "930b55c8c9c71d93a55336b44284a83b" ], [ "Ex07c.ty", @@ -780,7 +778,7 @@ 1, [ "@query" ], 0, - "4d33af2f888b3839b76583f2459a93b8" + "43c871452b7302bf64adea263b4b3da7" ], [ "Ex07c.__proj__TArrow__item___0", @@ -793,7 +791,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "22fdbb3c7553982e19df41012323348c" + "0366e9c4ec60f10df41d048aea632bf3" ], [ "Ex07c.__proj__TArrow__item___1", @@ -806,7 +804,7 @@ "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" ], 0, - "f565a11e0cd2362b3cb3158416fc95a0" + "c7ac346f759272749b276256910ef38a" ], [ "Ex07c.exp", @@ -818,7 +816,7 @@ "assumption_Prims.HasEq_int" ], 0, - "c56a40ef4cfe305558e73896655e1eb4" + "3421dde3bb38f4437825b1f07a2c6a0d" ], [ "Ex07c.__proj__EVar__item___0", @@ -831,7 +829,7 @@ "refinement_interpretation_Tm_refine_af9adaa077ed4f1ece37b319bcad4c4c" ], 0, - "985e4c9a35695419fc47c85e0340e845" + "90cc875dec74f7b0adfbaa555d48c8ce" ], [ "Ex07c.__proj__EApp__item___0", @@ -844,7 +842,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "43d767430ac65373889c306c499cec72" + "3f0e57c852d695e5be354c8db7561b83" ], [ "Ex07c.__proj__EApp__item___1", @@ -857,7 +855,7 @@ "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" ], 0, - "a3e4785ad7c63d3fd5b2c08c2d603c77" + "a2ec2279ed6fd2b9fff1d99d150c6828" ], [ "Ex07c.__proj__EAbs__item___0", @@ -870,7 +868,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "1b567dd2842c3fb17b19fc6902552fb2" + "f30b6119a4eaec82450562f7cfc57f8b" ], [ "Ex07c.__proj__EAbs__item___1", @@ -883,7 +881,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "51b9b444b0697bb5f1f60e5f06f333dd" + "5211edb73a558da094f4fc50f887758c" ], [ "Ex07c.__proj__EAbs__item___2", @@ -896,7 +894,7 @@ "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" ], 0, - "5117863836daa502d278aea717d0f9e2" + "d7444b7abbe9ba315282d78c89b94e7b" ], [ "Ex07c.__proj__EIf__item___0", @@ -909,7 +907,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "d7f803badb74c063474fe88ab278a9dc" + "a43e58100fd5d2e8f28d99eab74392dd" ], [ "Ex07c.__proj__EIf__item___1", @@ -922,7 +920,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "bb7ec4d710360aeb625ca74c2e5352fc" + "3ede3ff92b96fdc9cc5461f318bb4ed4" ], [ "Ex07c.__proj__EIf__item___2", @@ -935,7 +933,7 @@ "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" ], 0, - "fdd18a41d4ce10c529dafa3183faa581" + "af52f9dae5d083488e97ab7473579620" ], [ "Ex07c.__proj__ELet__item___0", @@ -948,7 +946,7 @@ "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" ], 0, - "8848c01a74d4f5c42645a356870c0c4a" + "5d00430b511135f3d26ef79ace72a727" ], [ "Ex07c.__proj__ELet__item___1", @@ -961,7 +959,7 @@ "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" ], 0, - "18444b7501a613679d2246fe983fd646" + "1c8047d2d1b053fa5c4fb3830ab2fef1" ], [ "Ex07c.__proj__ELet__item___2", @@ -974,7 +972,7 @@ "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" ], 0, - "af340177e29ab8a0263751938f404c2e" + "62aedc5f49a3168bf0eaaa400aeab067" ], [ "Ex07c.subst", @@ -994,7 +992,7 @@ "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet" ], 0, - "07980c0a60b4136effe6e4bf7f596ddd" + "262190c3de3f10a42ab7b2a39a26f2ab" ], [ "Ex07c.step", @@ -1015,7 +1013,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "d2fdd4e6fbe5601fc28c1ff14cd2398b" + "1383f5129a5a168b294bd597738f3ae3" ], [ "Ex07c.typing", @@ -1042,7 +1040,7 @@ "typing_tok_Ex07c.TBool@tok" ], 0, - "4762a9a57f2aea9cfefc984d5b874293" + "aadadeafece7839c31b37d40639962d6" ], [ "Ex07c.appears_free_in", @@ -1062,7 +1060,7 @@ "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet" ], 0, - "7ee81ab6f290c4e979dce6ead0a548b7" + "18993d62185e3e1555c16f326efa0eff" ], [ "Ex07c.equal", @@ -1075,7 +1073,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "24e59bd528594999150fa9436c35c1eb" + "af786d42229c5e9e2d3ebddc0c651f26" ], [ "Ex07c.equalE", @@ -1088,7 +1086,7 @@ "kinding_Ex07c.ty@tok" ], 0, - "3059c7ac33594caba387e9bb23e72f71" + "ee0bfddf70be586d95ba13144f706506" ], [ "Ex07c.substitution_preserves_typing", @@ -1096,11 +1094,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07c.env", - "refinement_interpretation_Tm_refine_ec02f01cdf4cfd781033bd26d3d5d748" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4dd1c5c0ab840b5b119e8987fb6d6069" ], 0, - "e560a8e32e68cd99fc3381358a4feac7" + "c2819bb6ade00ef2cbbca9bd3c2d8a63" ], [ "Ex07c.substitution_preserves_typing", @@ -1120,10 +1118,10 @@ "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_530a276c9a4c30d60c4a5b0bbf5dcb0a_3", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_0cf7a2c8e7d78cb33b91b62bfcaa23f0_3", "binder_x_92b24ade2624a8307d6221bab881006c_1", - "binder_x_92b24ade2624a8307d6221bab881006c_2", "bool_inversion", + "binder_x_92b24ade2624a8307d6221bab881006c_2", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EFalse", "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ELet", @@ -1149,10 +1147,9 @@ "equation_with_fuel_Ex07c.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07c.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_363cdf32ce2977284fe10743fc4a55df", + "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", "kinding_Ex07c.ty@tok", "lemma_Ex07c.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1175,8 +1172,8 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_8cd73dd89cfc93552ef2bb25493ab65b", - "refinement_interpretation_Tm_refine_af64efd67ab3797cb20c5e47963ff1fb", + "refinement_interpretation_Tm_refine_47551c8723653e323d1d3b424e8c3899", + "refinement_interpretation_Tm_refine_8a82a3d4974a2bc15eee778ed799a138", "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet", "token_correspondence_Ex07c.subst.fuel_instrumented", @@ -1184,11 +1181,11 @@ "typing_Ex07c.appears_free_in", "typing_Ex07c.extend", "typing_Ex07c.subst", "typing_Ex07c.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_363cdf32ce2977284fe10743fc4a55df", + "typing_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", "typing_tok_Ex07c.TBool@tok", "unit_typing" ], 0, - "f8e0da3e07c1841ded21ea8c8babc2ab" + "31a1425844c381202239e9bee399927f" ], [ "Ex07c.preservation", @@ -1197,10 +1194,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7e7249b6497ecf49541d1e207f47778e" + "refinement_interpretation_Tm_refine_d791e207d72e99c79e5a561580d97ac3" ], 0, - "7328df15d7eda6e2180b2171314bd7c9" + "1c23732a1988e7a89e1ac2ab01cd2bd4" ], [ "Ex07c.preservation", @@ -1216,7 +1213,7 @@ "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "binder_x_1a85928f1079984ebbd2ae5e8a94b054_0", + "binder_x_3631ad28b4f5ceb13c2d97008676cb3e_0", "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ELet", "constructor_distinct_Ex07c.TBool", @@ -1229,15 +1226,13 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.empty", - "equation_Ex07c.env", "equation_Ex07c.extend", - "equation_Ex07c.is_value", + "equation_Ex07c.extend", "equation_Ex07c.is_value", "equation_with_fuel_Ex07c.step.fuel_instrumented", "equation_with_fuel_Ex07c.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07c.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.empty", "kinding_Ex07c.exp@tok", - "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07c.exp@tok", "kinding_Ex07c.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07c.EAbs__0", @@ -1258,18 +1253,19 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1382577f550e97ec389aea5ed52cf99a", + "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", - "subterm_ordering_Ex07c.ELet", "token_correspondence_Ex07c.empty", + "subterm_ordering_Ex07c.ELet", "token_correspondence_Ex07c.step.fuel_instrumented", "token_correspondence_Ex07c.typing.fuel_instrumented", - "typing_Ex07c.extend", "typing_Ex07c.step", "typing_Ex07c.typing", + "typing_Ex07c.empty", "typing_Ex07c.extend", "typing_Ex07c.step", + "typing_Ex07c.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07c.TBool@tok" ], 0, - "7a931044679e45402792e7c61627ec7a" + "047f0de9d490d29f23359febd3fb5ec9" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex07d.fst.hints b/doc/tutorial/code/solutions/Ex07d.fst.hints index ac7684a8bc6..48c7ee5088b 100644 --- a/doc/tutorial/code/solutions/Ex07d.fst.hints +++ b/doc/tutorial/code/solutions/Ex07d.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "469856d2ad7f961bf49f57423a11abdb" + "5b09e4c0e0669e46a9efdfc1fc11b7c7" ], [ "Ex07d.__proj__TArrow__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "b6601b173679e75841847689d1a267d2" + "77528b221c605f86cef01644f49beb64" ], [ "Ex07d.__proj__TArrow__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "46f62e4a875aa1c5862db34793db5089" + "6480a912bf67d9a20009c0a2bcf383ec" ], [ "Ex07d.exp", @@ -46,7 +46,7 @@ "assumption_Prims.HasEq_int" ], 0, - "0d6495d91ae9bfc9b8d8b990175ce58d" + "9c87c64a0130e343764929230230a4b8" ], [ "Ex07d.__proj__EVar__item___0", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_e2b3d0ac58c9320335e38c515a0906d3" ], 0, - "6d1cb814bf4874dfd1e7490918eaa4a7" + "39daf7a832b4e363d88f83750ecaef6d" ], [ "Ex07d.__proj__EApp__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "30571d136d0f94073c50e3a866ded814" + "5e2145a521dd403aed3ec2b2c2c04b85" ], [ "Ex07d.__proj__EApp__item___1", @@ -85,7 +85,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "515f5ce06cc742ebd7266920d2fb355e" + "a02b07e0f3a304b7c31eca393604298d" ], [ "Ex07d.__proj__EAbs__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "9042b236e41be1ec3ae1a14a1ec2dc63" + "9c8dbf22d814316c8a02a7c31f50e954" ], [ "Ex07d.__proj__EAbs__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "eb154a986f612fd69c606c82656650a6" + "eb3f4a82567c55ae337c7afbce042f9a" ], [ "Ex07d.__proj__EAbs__item___2", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "632d4aa4275d59fa38319268fd735cc6" + "708a870f04c4952aebfab752b295b965" ], [ "Ex07d.__proj__EIf__item___0", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "a5f2904d7bfc0bbb47a73402ca043084" + "72fd7214d7a426c06b0aa585ca9e4232" ], [ "Ex07d.__proj__EIf__item___1", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "88221fc8bf41e197fa77e2f024633646" + "bd1c394673b1935a6ed02ec42e52d95e" ], [ "Ex07d.__proj__EIf__item___2", @@ -163,7 +163,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "c941a18bc0c3a994d374a7970a88a055" + "52be6ce1371ce47f83910f259f5b3af7" ], [ "Ex07d.subst", @@ -185,7 +185,7 @@ "subterm_ordering_Ex07d.EIf" ], 0, - "8111103b7843000e27cf3bd5ba431d44" + "dc0dc8487806aff53ac6855960bec641" ], [ "Ex07d.step", @@ -205,7 +205,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "b8f45227b34935f05306e69fc97fb6bf" + "2c7fcdd80eb8e4fa322090a9f5d42134" ], [ "Ex07d.typing", @@ -231,7 +231,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "8c4f50d6cccbce54292cc526bd02a4f9" + "f56b291a26614417e3f4e5186882216e" ], [ "Ex07d.progress", @@ -260,13 +260,13 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.empty", - "equation_Ex07d.env", "equation_Ex07d.is_value", + "equation_Ex07d.is_value", "equation_with_fuel_Ex07d.step.fuel_instrumented", "equation_with_fuel_Ex07d.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07d.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.empty", "kinding_Ex07d.exp@tok", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", + "kinding_Ex07d.exp@tok", "kinding_Ex07d.ty@tok", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07d.EAbs__0", "projection_inverse_Ex07d.EAbs__1", @@ -283,14 +283,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", "token_correspondence_Ex07d.empty", + "subterm_ordering_Ex07d.EIf", "typing_Ex07d.empty", "typing_Ex07d.is_value", "typing_Ex07d.step", "typing_Ex07d.typing", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_tok_Ex07d.TBool@tok", "unit_inversion", "unit_typing" ], 0, - "e1e80bb8c099dae696991cb2a14d079a" + "52a54e5ebb514c0fb7fe1c7d2d067b1c" ], [ "Ex07d.appears_free_in", @@ -317,7 +317,7 @@ "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf" ], 0, - "1e33bdae198375124f57938717b39285" + "220aa283b8a3a1e4e457cd015756ffb4" ], [ "Ex07d.free_in_context", @@ -334,8 +334,8 @@ "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", - "binder_x_634f5ee54251f928875dd9cd87904533_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_691ba12216b64971a65fb6a280b52a15_2", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EFalse", "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.ETrue", @@ -356,7 +356,7 @@ "function_token_typing_Ex07d.extend", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", + "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -383,7 +383,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "02f728fee0b5dec96336de3ddcf34571" + "8a763cec16b7b140705533af5bf88244" ], [ "Ex07d.typable_empty_closed", @@ -399,7 +399,7 @@ "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07d.TBool@tok" ], 0, - "78737c5f7d0bb40fa23808e64b9c7425" + "bec0f51a28b2f8357d9b3e9e0fe63461" ], [ "Ex07d.equal", @@ -412,7 +412,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "81d7ec9a375f581aeab4f8caff3f6e49" + "aba357bd1c6e57be62ddc2fcd44563d2" ], [ "Ex07d.equalE", @@ -425,7 +425,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "f944f9cbda670593aca9af23877c9566" + "9f8f13be67ae5ca833573bf8e15dee63" ], [ "Ex07d.context_invariance", @@ -444,8 +444,8 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_0", - "binder_x_634f5ee54251f928875dd9cd87904533_1", - "binder_x_634f5ee54251f928875dd9cd87904533_2", + "binder_x_691ba12216b64971a65fb6a280b52a15_1", + "binder_x_691ba12216b64971a65fb6a280b52a15_2", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EIf", "constructor_distinct_FStar.Pervasives.Native.None", @@ -463,7 +463,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", + "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", @@ -487,7 +487,7 @@ "typing_tok_Ex07d.TBool@tok", "unit_typing" ], 0, - "7f1f3ebc280514b5d78011602c236ce4" + "64e393a32b6d32d93da4f94e6a176f91" ], [ "Ex07d.typing_extensional", @@ -496,7 +496,7 @@ 1, [ "@query", "equation_Ex07d.equal", "equation_Ex07d.equalE" ], 0, - "0e2261d1fdd61f61958d3e3c02a04480" + "cf2f1b8d4418f75d0224a10271b3ade0" ], [ "Ex07d.substitution_preserves_typing", @@ -504,11 +504,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07d.env", - "refinement_interpretation_Tm_refine_360b7ec452c72aa1ce4c98f37560e6e0" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_2f5eeacba7bdd1445a7949ffdc743f8a" ], 0, - "856309cad7a25e85f75222b07857217f" + "29fd56379b2b551b4a7ad13d2ae88311" ], [ "Ex07d.substitution_preserves_typing", @@ -516,11 +516,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07d.env", - "refinement_interpretation_Tm_refine_6380f21fe12eb5c41ddc02c3c045a1f0" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1870fbf8a05e90d9bb5d0cfa308b2ed4" ], 0, - "6e202fdddb0e7e6b0dd859bf8d11465b" + "8e2bc518dc5f6fae0b0843b59255deaa" ], [ "Ex07d.substitution_preserves_typing", @@ -538,11 +538,10 @@ "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_2", - "binder_x_3a2371866d746cf1b06fb67fff5d7157_3", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_8aff50031332d1df444f3c84e31e944d_3", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EFalse", "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.ETrue", @@ -564,10 +563,9 @@ "equation_with_fuel_Ex07d.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07d.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", + "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", "kinding_Ex07d.ty@tok", "lemma_Ex07d.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -586,17 +584,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_5e8110f412d38691b4c1ea15aee1bb68", - "refinement_interpretation_Tm_refine_960c4dda5d7a2d6200c5762951c5cb45", + "refinement_interpretation_Tm_refine_5b2e62a66f93d5210bb099bee28161ee", + "refinement_interpretation_Tm_refine_d22417944aa150e8bae66f9d856f1ecb", "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", "typing_Ex07d.appears_free_in", "typing_Ex07d.extend", "typing_Ex07d.subst", "typing_Ex07d.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", - "typing_tok_Ex07d.TBool@tok", "unit_typing" + "typing_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", + "typing_tok_Ex07d.TBool@tok" ], 0, - "da051dba694da4c05e1ba5ad44d490ef" + "f4ba66115b9e034806c84bc1b8a7e1c2" ], [ "Ex07d.preservation", @@ -605,10 +603,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1e6b8a4c214952543ff133b1a1ffa081" + "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36" ], 0, - "cc8e98c9d036c1ac8e748f954e6bfb98" + "86bf985d191b86b7fda312d29cd02ffa" ], [ "Ex07d.preservation", @@ -617,10 +615,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_081badb93a8723469741c3b7e47172a4" + "refinement_interpretation_Tm_refine_62ca176a5243b31cd0d74eade88e5b0e" ], 0, - "8b53d5be7b9fb93a7bd57f29149d8d41" + "300548c41afbed3f3456c74690a61d8c" ], [ "Ex07d.preservation", @@ -635,7 +633,7 @@ "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "binder_x_ef993dc0594db329f3ed2da3bbb1c075_0", + "binder_x_07f094b8f5430e252f96b2871ab55ff3_0", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.TBool", "constructor_distinct_FStar.Pervasives.Native.None", @@ -645,15 +643,14 @@ "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EIf", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.env", - "equation_Ex07d.extend", "equation_Ex07d.is_value", + "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.extend", + "equation_Ex07d.is_value", "equation_with_fuel_Ex07d.step.fuel_instrumented", "equation_with_fuel_Ex07d.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07d.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.empty", "kinding_Ex07d.exp@tok", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07d.exp@tok", "kinding_Ex07d.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07d.EAbs__0", @@ -671,17 +668,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1e6b8a4c214952543ff133b1a1ffa081", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36", "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", "token_correspondence_Ex07d.step.fuel_instrumented", "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.extend", "typing_Ex07d.step", "typing_Ex07d.typing", + "typing_Ex07d.empty", "typing_Ex07d.extend", "typing_Ex07d.step", + "typing_Ex07d.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07d.TBool@tok" ], 0, - "0e8272f1d1cb13187d1e4994a69cd672" + "61e73b5c37db34986ca6f03a7d2e3f2c" ], [ "Ex07d.typed_step", @@ -694,7 +692,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "fc1eb254e11d47c49b1d99029a9a51f5" + "d0a2d9562589d821038288adc966b9b9" ], [ "Ex07d.typed_step", @@ -703,13 +701,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "refinement_interpretation_Tm_refine_2e06da3ac02660a7943412d0a519b3de", - "refinement_interpretation_Tm_refine_aae1c654f8c802fa88731445515e178e", - "unit_typing" + "refinement_interpretation_Tm_refine_0b0a9df16c4094edad35f36e17a3456e", + "refinement_interpretation_Tm_refine_fbadd752194f69bdc54b03b7f3c00a37" ], 0, - "12639779f5f438a5778d60e1b0762c14" + "79677699e009f75e5087347b5d947d82" ], [ "Ex07d.eval", @@ -722,7 +718,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "0182529c554b8d06361322bb6309b020" + "2303fe60ec2bdfde80d6856ed05bf16e" ], [ "Ex07d.eval", @@ -737,12 +733,12 @@ "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.is_value", "kinding_Ex07d.ty@tok", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0d4645f76ffe0a301369e30ea94865c3", - "refinement_interpretation_Tm_refine_a1d8439f707d14720198cf74eb5af030", + "refinement_interpretation_Tm_refine_2b688ba296190645343e04294832a670", + "refinement_interpretation_Tm_refine_8d8eb9d32327e9d3bbd57649257325bd", "typing_tok_Ex07d.TBool@tok" ], 0, - "b9aa100142aea819650dc5b2de6ef44b" + "0d88dd87b3ebfe00e98a63ce0b594888" ], [ "Ex07d.eval'", @@ -755,7 +751,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "1cf9120437f57e3a3fa81b595ca944d9" + "e3bf94b04416e3922dded1b8e685764e" ], [ "Ex07d.eval'", @@ -767,8 +763,6 @@ "@fuel_correspondence_Ex07d.typing.fuel_instrumented", "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_Ex07d.ty__uu___haseq", "assumption_FStar.Pervasives.Native.option__uu___haseq", "bool_inversion", "constructor_distinct_Ex07d.EAbs", @@ -787,8 +781,6 @@ "equation_with_fuel_Ex07d.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07d.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.empty", - "function_token_typing_Prims.__cache_version_number__", "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -808,17 +800,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_0d4645f76ffe0a301369e30ea94865c3", - "refinement_interpretation_Tm_refine_4e02694876b880e7cbe65399a32f997b", - "refinement_interpretation_Tm_refine_8aeb9846259eccee2fa1eeceac7f0d9e", - "token_correspondence_Ex07d.empty", + "refinement_interpretation_Tm_refine_040e6b6a841d55467f90a1b2ef83acd7", + "refinement_interpretation_Tm_refine_2b688ba296190645343e04294832a670", + "refinement_interpretation_Tm_refine_bd925bc3ea1225d5aef6c3632f7be773", "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.is_value", "typing_Ex07d.subst", "typing_Ex07d.typing", - "typing_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", - "typing_tok_Ex07d.TBool@tok", "unit_typing" + "typing_Ex07d.empty", "typing_Ex07d.is_value", "typing_Ex07d.subst", + "typing_Ex07d.typing", + "typing_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", + "typing_tok_Ex07d.TBool@tok" ], 0, - "d62c530e09655db30bdada7d91d3fcc9" + "e5f83e270e7ccf60add9cd687cc9209f" ], [ "Ex07d.ty", @@ -827,7 +819,7 @@ 1, [ "@query" ], 0, - "d1d917f67963d0c6af76b517abf67753" + "f3530692c7da16912526e36a64a021ec" ], [ "Ex07d.__proj__TArrow__item___0", @@ -840,7 +832,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "3fea8031f96801e5f40e130bd06918d3" + "db55a9ca694136564cfdfd75b2b7edf2" ], [ "Ex07d.__proj__TArrow__item___1", @@ -853,7 +845,7 @@ "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" ], 0, - "1efc224caa2510fb5b5fe50bfdc26e34" + "3974f171931a55c8b541e3950984e060" ], [ "Ex07d.exp", @@ -865,7 +857,7 @@ "assumption_Prims.HasEq_int" ], 0, - "ceba3f1364163a5299751b7a1b243677" + "239f9cff403fd81d82116a7e4e67032d" ], [ "Ex07d.__proj__EVar__item___0", @@ -878,7 +870,7 @@ "refinement_interpretation_Tm_refine_e2b3d0ac58c9320335e38c515a0906d3" ], 0, - "928d544f85762ac0233444c776c07d75" + "3f910f81f8746a3409aae0756f7dc01e" ], [ "Ex07d.__proj__EApp__item___0", @@ -891,7 +883,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "a2e2670d345316c24191ee60702052e1" + "de08f7a5ec1c98d566b8e403007129a3" ], [ "Ex07d.__proj__EApp__item___1", @@ -904,7 +896,7 @@ "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" ], 0, - "bd9f3b3620af5719d90438e3c9b039c4" + "af3b2bcf0ae58d4249595d00c0c21d32" ], [ "Ex07d.__proj__EAbs__item___0", @@ -917,7 +909,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "480db9efade5fdcf8a42ff47188fe90c" + "cb16c46e6784dbc1d2bc56aa8d0cbbb3" ], [ "Ex07d.__proj__EAbs__item___1", @@ -930,7 +922,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "c6a877ae23725da0d00b642f810a0d6d" + "6d8b584b25be5b23de71ddd79f21182a" ], [ "Ex07d.__proj__EAbs__item___2", @@ -943,7 +935,7 @@ "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" ], 0, - "9460f22c08064c4d01fdcbacc7178f1e" + "ce15220e26aaa09c4da655b1abfeb88e" ], [ "Ex07d.__proj__EIf__item___0", @@ -956,7 +948,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "4c2d95cbb60fb9ffd30602217e504905" + "69eb27f70d23180c30d5cb056de19e84" ], [ "Ex07d.__proj__EIf__item___1", @@ -969,7 +961,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "e75223f50666533b2f7b44dbbc4a833e" + "6acea40c2bbf7c71eb21283803df5d97" ], [ "Ex07d.__proj__EIf__item___2", @@ -982,7 +974,7 @@ "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" ], 0, - "57c2ec308c84bd6758acc86eee6d3a74" + "680ea222529de50617e956d54b5f20c0" ], [ "Ex07d.subst", @@ -1001,7 +993,7 @@ "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf" ], 0, - "3f111dc9b514b82aad52bd602e6297ef" + "900f12c9d33dc3136701eaa36306a925" ], [ "Ex07d.step", @@ -1021,7 +1013,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "d72a9dd30dd5c6dc8a991eb7815413a7" + "28983a88be3d627ec807a61570c9d22b" ], [ "Ex07d.typing", @@ -1047,7 +1039,7 @@ "typing_tok_Ex07d.TBool@tok" ], 0, - "413b581874c084b641a1c79d8dd9efca" + "7d8a6a454e3aaf9fba05230402047264" ], [ "Ex07d.appears_free_in", @@ -1066,7 +1058,7 @@ "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf" ], 0, - "20bcc24c6face05ee01993e5bb8138e3" + "12342ec7590da2fc037229daf56c0172" ], [ "Ex07d.equal", @@ -1079,7 +1071,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "5d72b747683810e02fa9d085f965de1e" + "045436f7ee51ac8011540a94b54fca9e" ], [ "Ex07d.equalE", @@ -1092,7 +1084,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "63542e65d1df7b58185fcd1026a9f3f1" + "1b343770533cb2485e42167f2056b0bf" ], [ "Ex07d.substitution_preserves_typing", @@ -1100,11 +1092,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex07d.env", - "refinement_interpretation_Tm_refine_6380f21fe12eb5c41ddc02c3c045a1f0" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_1870fbf8a05e90d9bb5d0cfa308b2ed4" ], 0, - "04cd3d750098827f869987270310cf49" + "849d51e8921ae4b2033484ab15326315" ], [ "Ex07d.substitution_preserves_typing", @@ -1122,11 +1114,10 @@ "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_2", - "binder_x_3a2371866d746cf1b06fb67fff5d7157_3", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_8aff50031332d1df444f3c84e31e944d_3", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EFalse", "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.ETrue", @@ -1148,10 +1139,9 @@ "equation_with_fuel_Ex07d.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07d.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.empty", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", + "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", "kinding_Ex07d.ty@tok", "lemma_Ex07d.typable_empty_closed", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1170,17 +1160,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_5e8110f412d38691b4c1ea15aee1bb68", - "refinement_interpretation_Tm_refine_960c4dda5d7a2d6200c5762951c5cb45", + "refinement_interpretation_Tm_refine_5b2e62a66f93d5210bb099bee28161ee", + "refinement_interpretation_Tm_refine_d22417944aa150e8bae66f9d856f1ecb", "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", "typing_Ex07d.appears_free_in", "typing_Ex07d.extend", "typing_Ex07d.subst", "typing_Ex07d.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_bf9f23099d2cd5d3be6b5cb25c219d71", - "typing_tok_Ex07d.TBool@tok", "unit_typing" + "typing_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", + "typing_tok_Ex07d.TBool@tok" ], 0, - "77ce78cb9c4dbebfb957643aa695af09" + "aab896d79cf9acaa1a0f556d3f240a8f" ], [ "Ex07d.preservation", @@ -1189,10 +1179,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_081badb93a8723469741c3b7e47172a4" + "refinement_interpretation_Tm_refine_62ca176a5243b31cd0d74eade88e5b0e" ], 0, - "3a6c16907d52cc4791664efcf2260693" + "868b2587e9b418612951032bb71d4668" ], [ "Ex07d.preservation", @@ -1207,7 +1197,7 @@ "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "binder_x_ef993dc0594db329f3ed2da3bbb1c075_0", + "binder_x_07f094b8f5430e252f96b2871ab55ff3_0", "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.TBool", "constructor_distinct_FStar.Pervasives.Native.None", @@ -1217,15 +1207,14 @@ "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EIf", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.env", - "equation_Ex07d.extend", "equation_Ex07d.is_value", + "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.extend", + "equation_Ex07d.is_value", "equation_with_fuel_Ex07d.step.fuel_instrumented", "equation_with_fuel_Ex07d.typing.fuel_instrumented", "fuel_guarded_inversion_Ex07d.exp", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.empty", "kinding_Ex07d.exp@tok", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", + "kinding_Ex07d.exp@tok", "kinding_Ex07d.ty@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex07d.EAbs__0", @@ -1243,17 +1232,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1e6b8a4c214952543ff133b1a1ffa081", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36", "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", "token_correspondence_Ex07d.step.fuel_instrumented", "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.extend", "typing_Ex07d.step", "typing_Ex07d.typing", + "typing_Ex07d.empty", "typing_Ex07d.extend", "typing_Ex07d.step", + "typing_Ex07d.typing", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_tok_Ex07d.TBool@tok" ], 0, - "c9902f0d079edc88b225585967b80681" + "302d8dd3913b8b7062f0b94b31914e38" ], [ "Ex07d.typed_step", @@ -1262,13 +1252,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "refinement_interpretation_Tm_refine_2e06da3ac02660a7943412d0a519b3de", - "refinement_interpretation_Tm_refine_aae1c654f8c802fa88731445515e178e", - "unit_typing" + "refinement_interpretation_Tm_refine_0b0a9df16c4094edad35f36e17a3456e", + "refinement_interpretation_Tm_refine_fbadd752194f69bdc54b03b7f3c00a37" ], 0, - "fc51545edd9e8aa9bf1aa8474ae463fb" + "c2d8051ccf9c71e02f90dee8801eb87b" ], [ "Ex07d.typed_step", @@ -1281,7 +1269,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "131af564fee7d8775d03bbfcecc556b9" + "3bbbf1f1a2e843ff218576a851a557e5" ], [ "Ex07d.eval", @@ -1294,7 +1282,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "ab681f0ae5781469473cc56b0d2eed7b" + "a1d454f2c795bdd66d91ccead6a7a2c5" ], [ "Ex07d.eval'", @@ -1307,7 +1295,7 @@ "kinding_Ex07d.ty@tok" ], 0, - "f027261dea1e4fda5d4039400128fd97" + "2ac467cd9388990b55e00d8e3c274b9e" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex10a.fst.hints b/doc/tutorial/code/solutions/Ex10a.fst.hints index 21e9799c389..646bf5d4ed3 100644 --- a/doc/tutorial/code/solutions/Ex10a.fst.hints +++ b/doc/tutorial/code/solutions/Ex10a.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_43c663371132c0c847de0562111b3034" ], 0, - "75fc9f2d51251186b1456aca94d4fcb2" + "82ea02911b5691b404bacbcd7c6354b0" ], [ "Ex10a.__proj__Writable__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_b7c189cb365c663bbaaab1bb8e2e94da" ], 0, - "852989b6420b606ab47d25ddc89d83f3" + "a6dbae3c424529476e7af8f8a97d9e13" ], [ "Ex10a.canRead", @@ -38,7 +38,7 @@ "fuel_guarded_inversion_Ex10a.entry" ], 0, - "bf853a297e2573ebe89fc6433e0d07ee" + "26e809d0de2367e54634f89193252309" ], [ "Ex10a.revoke", @@ -47,7 +47,7 @@ 1, [ "@query", "assumption_Ex10a.entry__uu___haseq" ], 0, - "02ffdb6088967be8997de19fc18c6111" + "7516245c018a06fbcf136ae04e5718b4" ], [ "Ex10a.grant", @@ -56,7 +56,7 @@ 1, [ "@query" ], 0, - "361088578043c124388118a986e5f0ae" + "fdf96b988727212f9dd9ff09e10763ca" ], [ "Ex10a.revoke", @@ -70,15 +70,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.filter.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", - "Ex10a_interpretation_Tm_arrow_449d659811cde73f2fac6653669a9d13", + "Ex10a_interpretation_Tm_arrow_874ea41fef5db3d0b79dc4f1f9eea4a2", "Ex10a_pretyping_9ab526030749815b532b60f20894130b", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Ex10a.entry__uu___haseq", "bool_typing", - "equation_Ex10a.db", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.ST.mref", "equation_FStar.ST.ref", - "equation_Prims.eqtype", "function_token_typing_Ex10a.db", - "interpretation_Tm_abs_5e22fed2da350fb303c4f49019d14b06", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "assumption_Ex10a.entry__uu___haseq", "equation_Ex10a.db", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", + "equation_FStar.ST.ref", "equation_Prims.eqtype", + "function_token_typing_Ex10a.db", + "interpretation_Tm_abs_d0f4afee86bb3628297741a79d6c837f", "kinding_Ex10a.entry@tok", "lemma_FStar.List.Tot.Base.mem_filter_forall", "primitive_Prims.op_disEquality", @@ -89,7 +88,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "1fb80c9fc1ac5241e8242c5e471305a7" + "1e0b5ab6c14e8702e32ada4f51c15bf0" ], [ "Ex10a.safe_delete", @@ -105,12 +104,12 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.modifies_none", "equation_Prims.eqtype", "function_token_typing_Prims.unit", + "refinement_interpretation_Tm_refine_3f348b77994310044a31a5b79ff495a0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c0bbd352d24513b8adaab74dd888e42a", "string_inversion", "unit_inversion", "unit_typing" ], 0, - "27ceb5e01cb62b1333b3692d6bb3d3f8" + "4bb3e7af8a4fa3ca820346c1c3ee91c6" ], [ "Ex10a.test_acls", @@ -121,9 +120,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.tryFind.fuel_instrumented", "@query", - "Ex10a_interpretation_Tm_arrow_449d659811cde73f2fac6653669a9d13", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "Ex10a_interpretation_Tm_arrow_874ea41fef5db3d0b79dc4f1f9eea4a2", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "constructor_distinct_Ex10a.Readable", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", @@ -133,7 +131,7 @@ "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_with_fuel_FStar.List.Tot.Base.tryFind.fuel_instrumented", "function_token_typing_Ex10a.db", - "interpretation_Tm_abs_34ef4ead09ec7d33c614d4dffaa96c6e", + "interpretation_Tm_abs_93700a44318bb4193871b2dacb8d41d6", "kinding_Ex10a.entry@tok", "primitive_Prims.op_Equality", "projection_inverse_Ex10a.Readable__0", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -144,10 +142,10 @@ "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "typing_Ex10a.acls", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.sel", - "typing_Tm_abs_34ef4ead09ec7d33c614d4dffaa96c6e" + "typing_Tm_abs_93700a44318bb4193871b2dacb8d41d6" ], 0, - "50153f1d59026bc2a1853456088a5eb6" + "10dd42b82b0226b02694b702e05fb193" ], [ "Ex10a.__proj__Readable__item___0", @@ -160,7 +158,7 @@ "refinement_interpretation_Tm_refine_43c663371132c0c847de0562111b3034" ], 0, - "95f0368c653f99b583b70472e7ab8443" + "623b74a0bd6fc447cea19456e3e80368" ], [ "Ex10a.__proj__Writable__item___0", @@ -173,7 +171,7 @@ "refinement_interpretation_Tm_refine_b7c189cb365c663bbaaab1bb8e2e94da" ], 0, - "d37c726d37b5bb2781251dafadb49155" + "80f7f0ab0dcf4f05d1f0b806eaf8ad42" ], [ "Ex10a.canRead", @@ -186,7 +184,7 @@ "fuel_guarded_inversion_Ex10a.entry" ], 0, - "5142723d88ccdad9bb6dab01f11e378e" + "0bb9659200d80be03be1fe8a19a5ef8a" ], [ "Ex10a.revoke", @@ -195,7 +193,7 @@ 1, [ "@query", "assumption_Ex10a.entry__uu___haseq" ], 0, - "6aa3d80f649affe1f08ca5b4a987154d" + "e4fae85604af488e34aea490533837d8" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex10b.fst.hints b/doc/tutorial/code/solutions/Ex10b.fst.hints index a722b1661a1..6bb7bbcfbe4 100644 --- a/doc/tutorial/code/solutions/Ex10b.fst.hints +++ b/doc/tutorial/code/solutions/Ex10b.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d0ddbb369655f24cd347a0d8b371dfe7" + "ac6e945068d22985b283607e6ccf33c7" ], [ "Ex10b.__proj__Point__item__y", @@ -23,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "12cbe0344ece7d2ec23f81f01c70fa3c" + "20edf7f5b3c0fa66001c8d51a5003c6b" ], [ "Ex10b.__proj__Point__item__y", @@ -35,18 +35,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "fuel_guarded_inversion_Ex10b.point", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "proj_equation_Ex10b.Point_x", "projection_inverse_Ex10b.Point_x", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d1847960ed793617ccec43d43d5110ff" + "9cb71448065191d04f1e274044ce5ceb" ], [ "Ex10b.new_point", @@ -56,11 +53,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e1b039b569b2d42e93d3da60ef90bb48" + "487ab0db28d94e53e70d64aa6247cb74" ], [ "Ex10b.new_point", @@ -76,8 +73,8 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.mref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Set.mem_empty", @@ -86,14 +83,15 @@ "projection_inverse_Ex10b.Point_x", "projection_inverse_Ex10b.Point_y", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "7ce8012a6b802a851af9da418b13732c" + "a248614ae68e16142e9da9b6e0cefb23" ], [ "Ex10b.shift_x", @@ -102,7 +100,7 @@ 1, [ "@query" ], 0, - "e83d1daabe7cb4ea786e65a842a17152" + "7ed6d48c38ac3a2ada46bb00e761fecb" ], [ "Ex10b.shift_x_p1", @@ -110,16 +108,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5ede4e9bd8cb0eb039e54a8f6c09ea4e" + "3fe546f3eb796113ed54d4a07ac66a7b" ], [ "Ex10b.shift_x_p1", @@ -127,16 +122,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "012b8c5ef31fa38615ba46960e3e89c1" + "f61a0decfab2e24b90fb27c401f4a9f1" ], [ "Ex10b.shift_x_p1", @@ -154,19 +146,20 @@ "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.mem_singleton", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_Equality", "proj_equation_Ex10b.Point_x", "proj_equation_Ex10b.Point_y", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a535b02a15b2ed72225fff04c1c6bcd8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bbeef04beebab3bf164249828124ae00", - "refinement_interpretation_Tm_refine_ccb248a7f5a8438c92d4e7468314c033", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_79562b675fd9db4f60c5618ce31e8df2", + "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", + "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Ex10b.__proj__Point__item__x", "typing_Ex10b.__proj__Point__item__y", "typing_FStar.Heap.trivial_preorder", @@ -174,7 +167,7 @@ "typing_FStar.Monotonic.Heap.only" ], 0, - "98425934d26b2be685f755480f27a6be" + "d156580b59aa11a14a9415336b4678db" ], [ "Ex10b.test1", @@ -194,15 +187,15 @@ "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "proj_equation_Ex10b.Point_x", "proj_equation_Ex10b.Point_y", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a535b02a15b2ed72225fff04c1c6bcd8", - "refinement_interpretation_Tm_refine_bbeef04beebab3bf164249828124ae00", + "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", + "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "typing_Ex10b.__proj__Point__item__x", "typing_Ex10b.__proj__Point__item__y", "typing_FStar.Heap.trivial_preorder" ], 0, - "203008d8b2f1f58bafde3a7ea34f90d3" + "fc44bbd7cd2964b9344ee193f1924d6f" ], [ "Ex10b.test2", @@ -217,18 +210,28 @@ "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "proj_equation_Ex10b.Point_x", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Ex10b.__proj__Point__item__x", "typing_FStar.Heap.trivial_preorder" ], 0, - "8978c9aec8f6832f55c10a6858a8fd77" + "04ef74cafba59c26e2f8fcc6d0c67310" + ], + [ + "Ex10b.shift", + 1, + 2, + 1, + [ "@query" ], + 0, + "155602367297a9b4f0acb294f7e9010a" ], [ "Ex10b.shift_p1", @@ -236,16 +239,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a11d21be12e2696ba3ed89a3ab6a4875" + "15e17998336172b8c292af6a010334b2" ], [ "Ex10b.shift_p1", @@ -253,16 +253,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a85147dfa4c2f1fae107e6925ddf337b" + "ada30d8489b22bec4d47113110ed11cf" ], [ "Ex10b.shift_p1", @@ -282,8 +279,8 @@ "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", "lemma_FStar.TSet.lemma_mem_tset_of_set", @@ -291,12 +288,13 @@ "proj_equation_Ex10b.Point_x", "proj_equation_Ex10b.Point_y", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a535b02a15b2ed72225fff04c1c6bcd8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bbeef04beebab3bf164249828124ae00", - "refinement_interpretation_Tm_refine_ccb248a7f5a8438c92d4e7468314c033", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_79562b675fd9db4f60c5618ce31e8df2", + "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", + "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Ex10b.__proj__Point__item__x", "typing_Ex10b.__proj__Point__item__y", "typing_FStar.Heap.trivial_preorder", @@ -305,7 +303,7 @@ "typing_FStar.Monotonic.Heap.op_Hat_Plus_Hat", "typing_FStar.Set.mem" ], 0, - "e0b3675ecc011095658f34e70e998b27" + "4511f605e141fe07b3b15d8e456b3e6d" ], [ "Ex10b.test", @@ -325,15 +323,15 @@ "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "proj_equation_Ex10b.Point_x", "proj_equation_Ex10b.Point_y", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a535b02a15b2ed72225fff04c1c6bcd8", - "refinement_interpretation_Tm_refine_bbeef04beebab3bf164249828124ae00", + "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", + "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "typing_Ex10b.__proj__Point__item__x", "typing_Ex10b.__proj__Point__item__y", "typing_FStar.Heap.trivial_preorder" ], 0, - "f3c912c0580674c05a0c37b25f3dc3df" + "7fce59088b0a750d4cbce10a11870da3" ], [ "Ex10b.point", @@ -343,11 +341,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f98332f4d452c1d45a8f008e49f1c9a5" + "66ebc00cf1ed60a7589aa81887c2f823" ], [ "Ex10b.__proj__Point__item__y", @@ -357,11 +355,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "256e26fcdcaa1080b27b2025e07f5db7" + "a9d7d816bbe91ec334b225cec197b188" ], [ "Ex10b.__proj__Point__item__y", @@ -369,18 +367,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "fuel_guarded_inversion_Ex10b.point", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "proj_equation_Ex10b.Point_x", "projection_inverse_Ex10b.Point_x", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "94b206dbc637907dae074c3d21b885fb" + "74d6b45e2d6a1d2479503fb959bf01ac" ], [ "Ex10b.new_point", @@ -390,11 +385,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ae831b86f9b837d56672484f73a5bd5e" + "e42764158b1af3c5340c0460fa979715" ], [ "Ex10b.shift_x_p1", @@ -402,16 +397,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e84edfd2e9fcc8b3f50e7452ae5e2c34" + "63427433908fb49a5b61929f2c0d1347" ], [ "Ex10b.shift_p1", @@ -419,16 +411,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "77fdd8ebfaee02b182529e1d2f2a339d" + "e182afa21c0514efd3816c12dae3ff2b" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex11a.fst.hints b/doc/tutorial/code/solutions/Ex11a.fst.hints index ddd26cf11d0..ea29f96a185 100644 --- a/doc/tutorial/code/solutions/Ex11a.fst.hints +++ b/doc/tutorial/code/solutions/Ex11a.fst.hints @@ -7,16 +7,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c8c63f0b79ef1e828906a2671cf0da05" + "d6bc6adc812e62d7290f37b61179e184" ], [ "Ex11a.__proj__Point__item__x", @@ -32,7 +29,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "c7853123b7d4b7eaed6d5c95e49c0154" + "1352f75d8ad4a7a8b4af4fb27b560087" ], [ "Ex11a.__proj__Point__item__y", @@ -48,7 +45,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "d549b1729ddbae428bf52fcea6450d01" + "80b1a2cb123700f3ef26f73d3c71d378" ], [ "Ex11a.__proj__Point__item__z", @@ -56,16 +53,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0e75c2329c88e8009604427bdd8af6ae" + "4750c48480400f9055be17df59928185" ], [ "Ex11a.__proj__Point__item__z", @@ -73,13 +67,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_Ex11a.point", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.point", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", "projection_inverse_Ex11a.Point_r", "projection_inverse_Ex11a.Point_x", @@ -87,7 +78,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "28a798800aa7e7b1fee71235334f1330" + "00f3c31ae076c07f75de8d5af8a2dffd" ], [ "Ex11a.arm", @@ -97,11 +88,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0cb9b62b0fd2c7797f520ddbeb1d4c4e" + "32d933d41c9e7862cf67b5e2a985185a" ], [ "Ex11a.__proj__Arm__item__polar", @@ -117,7 +108,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "c8d0bcf528cd17b089cb8ac1282ffa30" + "b3969f2299d2c0edb53f1c3c122b2f6c" ], [ "Ex11a.__proj__Arm__item__azim", @@ -127,11 +118,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4fdde314360d1a8af80e596e4391fa0a" + "9611ce82afe51483e0f1ea0d10029f4b" ], [ "Ex11a.__proj__Arm__item__azim", @@ -139,20 +130,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_Ex11a.arm", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.arm", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "proj_equation_Ex11a.Arm_polar", "proj_equation_Ex11a.Arm_r", "projection_inverse_Ex11a.Arm_polar", "projection_inverse_Ex11a.Arm_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7a3a05d55db91e95221eb933ceec478c" + "fb79f9226195dfa7e210b33cf716f4bd" ], [ "Ex11a.__proj__Bot__item__pos", @@ -171,7 +159,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "cc0ff32fbfc78b22d4b12267de364471" + "8b2783b782f273277c4c6593ca2abde4" ], [ "Ex11a.__proj__Bot__item__left", @@ -190,7 +178,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "85a2ce0b647276fe592f1d742f7316a9" + "d2bd9d815c9cfd23012c30df1bedd462" ], [ "Ex11a.__proj__Bot__item__right", @@ -210,7 +198,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "4ea77da8abf01ff5d43e24cd9e2b0560" + "ea175264c6eaf45274384c5b7ec82b83" ], [ "Ex11a.new_point", @@ -221,6 +209,7 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.mref", @@ -233,11 +222,12 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.mref", + "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", + "function_token_typing_Prims.int", "int_inversion", "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -257,24 +247,23 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_x", - "proj_equation_Ex11a.Point_y", "proj_equation_Ex11a.Point_z", - "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_Ex11a.Point_r", + "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", + "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex11a.Point_r", "projection_inverse_Ex11a.Point_x", "projection_inverse_Ex11a.Point_y", "projection_inverse_Ex11a.Point_z", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", @@ -293,7 +282,7 @@ "typing_FStar.Set.union" ], 0, - "64f960d9e16ee1402b8a1e85fc8c0a80" + "12b810fec3da30f2caddb9fe14b200cd" ], [ "Ex11a.new_arm", @@ -304,6 +293,7 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.mref", @@ -316,6 +306,7 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.mref", + "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", @@ -337,19 +328,19 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_Ex11a.Arm_r", "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_r", + "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex11a.Arm_r", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", @@ -368,7 +359,7 @@ "typing_FStar.Set.union" ], 0, - "59d62fe36e90b3fc9a96302a86e2ae98" + "a82f76ecc644142b9dd9b32ced281b1b" ], [ "Ex11a.new_robot", @@ -388,10 +379,11 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Set.subset", "fuel_guarded_inversion_Ex11a.arm", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -408,25 +400,28 @@ "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_r", - "proj_equation_Ex11a.Bot_left", "proj_equation_Ex11a.Bot_pos", - "proj_equation_Ex11a.Bot_r", "proj_equation_Ex11a.Bot_right", - "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_z", - "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", + "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", + "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", + "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", + "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex11a.Bot_left", "projection_inverse_Ex11a.Bot_pos", "projection_inverse_Ex11a.Bot_r", "projection_inverse_Ex11a.Bot_right", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_7fc9d06759d40ff23f402c9997a279a8", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Point__item__r", "typing_Ex11a.__proj__Point__item__z", "typing_FStar.Map.concat", @@ -438,12 +433,13 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "86fe8405047258133a313539432845e3" + "daaa8b23f946beb7624d22900a7373dc" ], [ "Ex11a.walk_robot_to", @@ -476,7 +472,7 @@ "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.l_True", "fuel_guarded_inversion_Ex11a.arm", + "fuel_guarded_inversion_Ex11a.arm", "fuel_guarded_inversion_Ex11a.bot", "fuel_guarded_inversion_Ex11a.point", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", @@ -484,7 +480,7 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -510,23 +506,20 @@ "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_17a5087247fed09ddadf3d354532185d", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", "refinement_interpretation_Tm_refine_206fb67ac8a0944a9ab5261a6c1a4470", + "refinement_interpretation_Tm_refine_20d814f05cc324f6145ec3b0c59b2d6b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7fc9d06759d40ff23f402c9997a279a8", + "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", + "refinement_interpretation_Tm_refine_65788159802f77d74f6322a5bfd82079", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_be9c017b7643da330281b6d1ed645d97", - "refinement_interpretation_Tm_refine_c444497c8a80cacdc27f98743ac3d54c", - "refinement_interpretation_Tm_refine_c507c44cb979f492a72d8addc7daaaed", - "refinement_interpretation_Tm_refine_e95b1988d8377e48a2c6ba9650361d38", - "refinement_interpretation_Tm_refine_ea8928d5098ded45569011545bc74327", + "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", + "refinement_interpretation_Tm_refine_ec53d5de9d89b00eaf69f23d84b30a0f", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "true_interp", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Bot__item__left", @@ -554,7 +547,7 @@ "typing_FStar.Set.union" ], 0, - "406440dd70f8988a256f67aeb5b94efb" + "32c43fa5d3c564c04b0e2f8da963ceb8" ], [ "Ex11a.fly", @@ -586,14 +579,14 @@ "equation_FStar.Monotonic.HyperStack.mref", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.l_True", "fuel_guarded_inversion_Ex11a.arm", + "fuel_guarded_inversion_Ex11a.arm", "fuel_guarded_inversion_Ex11a.bot", "fuel_guarded_inversion_Ex11a.point", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -620,27 +613,24 @@ "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", + "refinement_interpretation_Tm_refine_18f572f5fbedce8a29f9016d91463885", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1c829352e34f8a2fbb44ef367728cc10", - "refinement_interpretation_Tm_refine_1ff0dee1707b1dc50a04f5bb088f52a0", + "refinement_interpretation_Tm_refine_3e9d16c1d0a8cacb41c88ccf9f804bd0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5ac822a97e478ec8fff7e142d57bbe89", - "refinement_interpretation_Tm_refine_6455a9fd9453b77cef891cf9f2367cdb", - "refinement_interpretation_Tm_refine_7fc9d06759d40ff23f402c9997a279a8", - "refinement_interpretation_Tm_refine_82fd7b6d79ba63e616e8262d9348138d", + "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", + "refinement_interpretation_Tm_refine_65788159802f77d74f6322a5bfd82079", + "refinement_interpretation_Tm_refine_6a2abcb610380b784b4a012f5ea4be47", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9e478dab879633161f34af8a412a616a", + "refinement_interpretation_Tm_refine_ae80b9018d832bf49e72145a27ff6243", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_c444497c8a80cacdc27f98743ac3d54c", - "refinement_interpretation_Tm_refine_c507c44cb979f492a72d8addc7daaaed", - "refinement_interpretation_Tm_refine_dcce89d89f80dd04dcce90bc87b3cbf9", - "refinement_interpretation_Tm_refine_e95b1988d8377e48a2c6ba9650361d38", + "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", + "refinement_interpretation_Tm_refine_e43ea857e0979e99d05fadcc98f22316", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_f9a183ea6827f23b92aa9e9536ab91b8", + "refinement_interpretation_Tm_refine_fc5c0e922bb7122f645b56cbc86259cf", "true_interp", "typing_Ex11a.__proj__Arm__item__azim", "typing_Ex11a.__proj__Arm__item__polar", "typing_Ex11a.__proj__Arm__item__r", @@ -669,7 +659,7 @@ "typing_FStar.Set.union" ], 0, - "f1c4d39363521acdea02dd2e3f574852" + "cac85ae1cfbe0d4510ec12577e1769d0" ], [ "Ex11a.fly_both", @@ -715,6 +705,7 @@ "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", + "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", @@ -724,19 +715,19 @@ "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1c829352e34f8a2fbb44ef367728cc10", - "refinement_interpretation_Tm_refine_54382104c3a2e447ed5924c523edb34f", - "refinement_interpretation_Tm_refine_7fc9d06759d40ff23f402c9997a279a8", + "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", + "refinement_interpretation_Tm_refine_1b754c0347e4c714eb5466a0a6e06e65", + "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_c444497c8a80cacdc27f98743ac3d54c", - "refinement_interpretation_Tm_refine_c507c44cb979f492a72d8addc7daaaed", + "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", "refinement_interpretation_Tm_refine_dc53989c1bb1f151f9380d9cad5188aa", - "refinement_interpretation_Tm_refine_ea8928d5098ded45569011545bc74327", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_fc5c0e922bb7122f645b56cbc86259cf", "typing_Ex11a.__proj__Arm__item__polar", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Bot__item__left", @@ -745,18 +736,19 @@ "typing_Ex11a.__proj__Bot__item__right", "typing_Ex11a.__proj__Point__item__r", "typing_Ex11a.__proj__Point__item__z", "typing_Ex11a.flying", - "typing_Ex11a.only", "typing_Ex11a.op_Hat_Plus_Hat", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_Ex11a.only", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.disjoint", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.complement", "typing_FStar.Set.mem" + "typing_FStar.Set.complement", "typing_FStar.Set.mem", + "typing_FStar.Set.union" ], 0, - "ffeb9ee41518731fe16b0c0c5aa16597" + "4b81da423bb5c3ef38eb1d8305454c2e" ], [ "Ex11a.fly_one", @@ -791,13 +783,13 @@ "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_20ebdc24e8dc4a59a7e35ca0459e594d", - "refinement_interpretation_Tm_refine_7fc9d06759d40ff23f402c9997a279a8", + "refinement_interpretation_Tm_refine_1a98301553e516ce88f141a3c116a5ce", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_c444497c8a80cacdc27f98743ac3d54c", + "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", "refinement_interpretation_Tm_refine_dc53989c1bb1f151f9380d9cad5188aa", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Bot__item__left", @@ -817,7 +809,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem" ], 0, - "a5ef4dc044ae5930e43355c92db67d22" + "b8adf8be4b7111a309e309ed45fa8e2d" ], [ "Ex11a.__proj__Cons__item__rs", @@ -830,7 +822,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "902945ae5f2c89367e3c6740028e8160" + "32b31d797ee995170fb78dd2274386d7" ], [ "Ex11a.__proj__Cons__item__hd", @@ -844,7 +836,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "aca263fa1004c3e2bf4933f9160a836c" + "6f8fa52375796a3e5116c3f060ad3da0" ], [ "Ex11a.__proj__Cons__item__tl", @@ -858,7 +850,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "9e44ba7c2c38a0a81525f3e45b376dd0" + "bfb28411cc59e6011baa4d883948f20c" ], [ "Ex11a.mem", @@ -873,7 +865,7 @@ "subterm_ordering_Ex11a.Cons" ], 0, - "0071d0a2877ed0854a7f1b1adf56015f" + "cbc9939c7b100ae48e74432de6deafe4" ], [ "Ex11a.lemma_mem_rid", @@ -913,7 +905,7 @@ "typing_tok_Ex11a.Nil@tok" ], 0, - "f114d74728788ba048acad6f1f90aa6c" + "f12f3715832f2aaf7193c543eeb6ff9b" ], [ "Ex11a.lemma_bots_tl_disjoint", @@ -926,7 +918,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "8b321605ec6d4871b460fd2c614b3cee" + "3a6b55ac32032d321dd7c48595850ac7" ], [ "Ex11a.lemma_bots_tl_disjoint", @@ -948,7 +940,7 @@ "typing_Ex11a.__proj__Bot__item__r" ], 0, - "f794d24b7f6247c188036146275f7f88" + "eb633a8774f817230f793aaa5ee9fc4f" ], [ "Ex11a.lemma_frame_robot_inv_and_flying", @@ -984,12 +976,12 @@ "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_1c829352e34f8a2fbb44ef367728cc10", - "refinement_interpretation_Tm_refine_7fc9d06759d40ff23f402c9997a279a8", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", + "refinement_interpretation_Tm_refine_fc5c0e922bb7122f645b56cbc86259cf", "typing_Ex11a.__proj__Arm__item__polar", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Bot__item__left", @@ -1007,7 +999,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem" ], 0, - "dcae4ae61a0e2008758824325361cc10" + "c56264a2d10271375ab1ac89e19173a3" ], [ "Ex11a.fly_robot_army", @@ -1021,16 +1013,15 @@ "Ex11a_pretyping_41426a8db77017461f501d8dbb1627a9", "Ex11a_pretyping_cfb04784214c7b625dc274210af5ad8b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Ex11a.Cons", + "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", + "bool_typing", "constructor_distinct_Ex11a.Cons", "constructor_distinct_Ex11a.Nil", "data_elim_Ex11a.Arm", - "data_elim_Ex11a.Bot", "data_elim_Ex11a.Nil", - "data_elim_Ex11a.Point", "data_typing_intro_Ex11a.Nil@tok", + "data_elim_Ex11a.Bot", "data_elim_Ex11a.Point", "disc_equation_Ex11a.Cons", "disc_equation_Ex11a.Nil", "eq2-interp", "equality_tok_Ex11a.Nil@tok", "equation_Ex11a.arms_up", "equation_Ex11a.distinct", "equation_Ex11a.flying", "equation_Ex11a.only", "equation_Ex11a.op_Plus_Plus_Hat", - "equation_Ex11a.robot_inv", + "equation_Ex11a.robot_inv", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.disjoint", @@ -1043,7 +1034,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_transitively", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Set.subset", - "equation_with_fuel_Ex11a.mem.fuel_instrumented", + "equation_with_fuel_Ex11a.mem.fuel_instrumented", "false_interp", "fuel_guarded_inversion_Ex11a.arm", "fuel_guarded_inversion_Ex11a.bot", "fuel_guarded_inversion_Ex11a.bots", @@ -1063,45 +1054,44 @@ "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_Ex11a.Arm_polar", "proj_equation_Ex11a.Arm_r", - "proj_equation_Ex11a.Bot_left", "proj_equation_Ex11a.Bot_pos", - "proj_equation_Ex11a.Bot_r", "proj_equation_Ex11a.Bot_right", - "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_z", - "projection_inverse_BoxBool_proj_0", + "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", + "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_polar", + "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", + "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", + "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", + "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", "projection_inverse_Ex11a.Cons_hd", "projection_inverse_Ex11a.Cons_rs", "projection_inverse_Ex11a.Cons_tl", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_1c829352e34f8a2fbb44ef367728cc10", + "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", "refinement_interpretation_Tm_refine_206fb67ac8a0944a9ab5261a6c1a4470", - "refinement_interpretation_Tm_refine_2afe8e2bd71f7749c8100497f12ac3a0", "refinement_interpretation_Tm_refine_4e559ecf843e1d64512f8a11b5a95a8d", "refinement_interpretation_Tm_refine_4efe13829b491a3f7fb86203b96ea2c7", + "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", "refinement_interpretation_Tm_refine_76f14f02ea5d089cbd8b678999095f55", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_c507c44cb979f492a72d8addc7daaaed", - "refinement_interpretation_Tm_refine_ea8928d5098ded45569011545bc74327", - "typing_Ex11a.__proj__Arm__item__polar", + "refinement_interpretation_Tm_refine_c873217772add80d3b8f645fe3e573cb", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Bot__item__left", "typing_Ex11a.__proj__Bot__item__pos", "typing_Ex11a.__proj__Bot__item__r", "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", "typing_Ex11a.flying", + "typing_Ex11a.__proj__Point__item__r", + "typing_Ex11a.__proj__Point__item__z", "typing_Ex11a.flying", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.disjoint", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.complement", "typing_FStar.Set.mem", @@ -1109,7 +1099,7 @@ "unit_inversion", "unit_typing" ], 0, - "43ecc4431f747b553d4c22d489a68906" + "d05a6b88fc9544f93a009c1630d06ace" ], [ "Ex11a.main", @@ -1169,16 +1159,16 @@ "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_54382104c3a2e447ed5924c523edb34f", + "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", + "refinement_interpretation_Tm_refine_1b754c0347e4c714eb5466a0a6e06e65", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_c507c44cb979f492a72d8addc7daaaed", - "refinement_interpretation_Tm_refine_ea8928d5098ded45569011545bc74327", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "typing_Ex11a.__proj__Arm__item__r", "typing_Ex11a.__proj__Bot__item__left", "typing_Ex11a.__proj__Bot__item__pos", @@ -1199,7 +1189,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.singleton" ], 0, - "b3bd519db47078e12acf6f718f8dfcc2" + "8ee7407768db928dd4727c4af78334ef" ], [ "Ex11a.point", @@ -1207,16 +1197,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "355bc35faa0298576202049cab502818" + "325b296e08a974c63b8dd9877bcead48" ], [ "Ex11a.__proj__Point__item__x", @@ -1232,7 +1219,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "460fdcb7a558a3ef2456cd46b1a899e2" + "b459ad77712f8523a48cb56ca6d7eed7" ], [ "Ex11a.__proj__Point__item__y", @@ -1248,7 +1235,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "923ef2e4a8559c0ff99cbcff491733e2" + "03e909fc90a8d77422e970ec565cfa4b" ], [ "Ex11a.__proj__Point__item__z", @@ -1256,16 +1243,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "282a4fbe46671e39c5938d9c4a9ea90b" + "c6f7400538b535c287c2784c3bf759a8" ], [ "Ex11a.__proj__Point__item__z", @@ -1273,13 +1257,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_Ex11a.point", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.point", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", "projection_inverse_Ex11a.Point_r", "projection_inverse_Ex11a.Point_x", @@ -1287,7 +1268,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bdec740f994b08c36c52f6f624379863" + "adf7488b1d27d18fe875c897fa77ee76" ], [ "Ex11a.arm", @@ -1297,11 +1278,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0a7d36b2cccd407de7a3d2a9fc4f8cf6" + "7b6eebda6acfe2cadde8250dcb179fdf" ], [ "Ex11a.__proj__Arm__item__polar", @@ -1317,7 +1298,7 @@ "refinement_interpretation_Ex11a_Tm_refine_c507c44cb979f492a72d8addc7daaaed" ], 0, - "ee37be59abc4a9fdebc2c47543c5b92a" + "5ee3508fbb4066f19d373a18093cec06" ], [ "Ex11a.__proj__Arm__item__azim", @@ -1327,11 +1308,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4a18bcd7be934a12b1adc42e164630bc" + "0fc915ffd6b1150bf8fc0d065d453b7e" ], [ "Ex11a.__proj__Arm__item__azim", @@ -1339,20 +1320,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_Ex11a.arm", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.arm", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "proj_equation_Ex11a.Arm_polar", "proj_equation_Ex11a.Arm_r", "projection_inverse_Ex11a.Arm_polar", "projection_inverse_Ex11a.Arm_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "788e29a9c238b2f90382c7724b3229d4" + "af67020329526256395299c2b0015299" ], [ "Ex11a.__proj__Bot__item__pos", @@ -1364,7 +1342,7 @@ "projection_inverse_Ex11a.Bot_r" ], 0, - "6a63b78ac8f932d005f874f65c5b09dd" + "99b13017cbbcd9455f33fea5d1f44b6d" ], [ "Ex11a.__proj__Bot__item__left", @@ -1376,7 +1354,7 @@ "projection_inverse_Ex11a.Bot_r" ], 0, - "d59b9ca21450bbd874cd6156434a907f" + "12392255f03e9830b768f07c01d78a9f" ], [ "Ex11a.__proj__Bot__item__right", @@ -1396,7 +1374,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "0c281c8f893030956313c0ccf752d26a" + "7e3664054352f8c2dfafccd4356a5c79" ], [ "Ex11a.__proj__Cons__item__rs", @@ -1409,7 +1387,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "4e5762a386444d15434e92c86818361a" + "d462a321a5811d099adf2805d2d4087e" ], [ "Ex11a.__proj__Cons__item__hd", @@ -1423,7 +1401,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "88a62d138d97e39833b138f0ee2e5089" + "d1dc918c341c38b90c68021a43eb29a7" ], [ "Ex11a.__proj__Cons__item__tl", @@ -1437,7 +1415,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "24cb2ae1e5700fa46d801c15f50d782b" + "94bcf33ecd0bad936e9e18c390a313bb" ], [ "Ex11a.mem", @@ -1452,7 +1430,7 @@ "subterm_ordering_Ex11a.Cons" ], 0, - "7534a2a5c4a81c33ae6cd0d187aa723c" + "dcd43e76253296d85ef7268830a6cca7" ], [ "Ex11a.lemma_bots_tl_disjoint", @@ -1465,7 +1443,7 @@ "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" ], 0, - "59210713e9b23dcd0a3adcbe5bad8b2b" + "7ce9a26e01864761000de0387912bde6" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex12.MAC.fst.hints b/doc/tutorial/code/solutions/Ex12.MAC.fst.hints index 35ed3ef199c..57771f2f73d 100644 --- a/doc/tutorial/code/solutions/Ex12.MAC.fst.hints +++ b/doc/tutorial/code/solutions/Ex12.MAC.fst.hints @@ -9,11 +9,11 @@ [ "@query", "assumption_Platform.Bytes.HasEq_bytes", "equation_Ex12.SHA1.key", "equation_Ex12.SHA1.keysize", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "equation_Platform.Bytes.lbytes", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "263774fb225fef63cee43fd10a69256a" + "ae611811caa638fec06a4d41b736916d" ], [ "Ex12.MAC.unique_registry_order", @@ -28,7 +28,7 @@ "token_correspondence_Ex12.MAC.unique_registry_order_" ], 0, - "798f2242e1f72398f9f53edf4f2badb0" + "abb9444f26db5fcc82f673daa30eb2f8" ], [ "Ex12.MAC.unicity", @@ -40,13 +40,12 @@ "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.MAC.unique_registry_order_", "equation_Ex12.SHA1.key", - "equation_Ex12.SHA1.text", "equation_FStar.Preorder.stable", - "equation_Platform.Bytes.bytes", - "interpretation_Tm_abs_0722dd075e73c3ffbe25569ec90b56f3", + "equation_FStar.Preorder.stable", + "interpretation_Tm_abs_fe2205bf7cbee1eb8804fdcdacdc81e5", "token_correspondence_Ex12.MAC.unique_registry_order_" ], 0, - "8f01849459c0adbe934a384a2a6af4cd" + "08538f0eefa880c60f8d32c021340353" ], [ "Ex12.MAC.key_log", @@ -58,24 +57,21 @@ "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_Prims.Nil", - "equation_Ex12.MAC.key", "equation_Ex12.MAC.key_entry", - "equation_Ex12.MAC.unicity", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "b2t_def", "constructor_distinct_Prims.Nil", "equation_Ex12.MAC.key", + "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.unicity", "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.SHA1.key", - "equation_Ex12.SHA1.text", "equation_FStar.MRef.stable", - "equation_FStar.ST.mref", "equation_Platform.Bytes.bytes", + "equation_FStar.MRef.stable", "equation_FStar.ST.mref", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "function_token_typing_Ex12.MAC.key_entry", "function_token_typing_Ex12.SHA1.key", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Preorder.stable", - "interpretation_Tm_abs_0722dd075e73c3ffbe25569ec90b56f3", + "interpretation_Tm_abs_fe2205bf7cbee1eb8804fdcdacdc81e5", "kinding_Prims.list@tok", - "kinding_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "kinding_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", @@ -85,7 +81,7 @@ "typing_FStar.List.Tot.Base.map", "typing_FStar.Monotonic.Heap.sel" ], 0, - "ee25159f71dfa035528f51efc8da96e2" + "6182b1706fcb331aeda9ff351f06125b" ], [ "Ex12.MAC.associated_to", @@ -94,20 +90,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_Ex12.MAC.associated_to_", "equation_Ex12.MAC.key", "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.MAC.unique_registry_order_", "equation_Ex12.SHA1.key", - "equation_Ex12.SHA1.text", "equation_FStar.Preorder.stable", - "equation_Platform.Bytes.bytes", + "equation_FStar.Preorder.stable", "function_token_typing_Ex12.SHA1.key", - "kinding_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "kinding_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", "token_correspondence_Ex12.MAC.associated_to_", "token_correspondence_Ex12.MAC.unique_registry_order_" ], 0, - "4e42c57a420c8fb2e1aa48242db30b30" + "008a587876ba52958e2615bca8a85952" ], [ "Ex12.MAC.pkey", @@ -123,7 +117,7 @@ "token_correspondence_FStar.MRef.stable" ], 0, - "e6bd36deeb3f5cf40fb484227026ddac" + "53ccc580439dbce37217cf7120589a99" ], [ "Ex12.MAC.key_prop", @@ -139,7 +133,7 @@ "token_correspondence_FStar.MRef.stable" ], 0, - "b9db8d043a42792ac8ef627fb2264ccd" + "26085e0793e0ca5376bbdb80ace45341" ], [ "Ex12.MAC.spred_exists_stable'", @@ -151,7 +145,7 @@ "equation_FStar.Preorder.stable", "l_quant_interp__9291" ], 0, - "b9ffd1483d8b04636f4c5422b2f25084" + "b60c863f3943326a4fb679db1335762f" ], [ "Ex12.MAC.spred_exists_stable", @@ -163,7 +157,7 @@ "token_correspondence_Ex12.MAC.spred_exists_" ], 0, - "63b85333f99d7d8dc599d569d43be451" + "787307e4810714d34bffb0c1a3084e2e" ], [ "Ex12.MAC.spred_exists", @@ -172,10 +166,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_499df21a3e2e72fe7a404297a783c82c" + "refinement_interpretation_Tm_refine_7376d56cf6d6772ad32cf5b5c0891600" ], 0, - "1ff430aeb54b2915f4d952f7c3b3ad21" + "0bc6398bbc35ac06eaf81a235ac180d0" ], [ "Ex12.MAC.spred_and", @@ -185,11 +179,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12.MAC.spred_and_", "equation_FStar.MRef.spred", "equation_FStar.Preorder.stable", - "refinement_interpretation_Tm_refine_622e5d71d43c090771b195939447feeb", + "refinement_interpretation_Tm_refine_db2289e2f27e1e1fb8c92bdbb90863d4", "token_correspondence_Ex12.MAC.spred_and_" ], 0, - "67da075862da84e46b40b63b512135ba" + "2458542763f8aef195eaf8bd2979480b" ], [ "Ex12.MAC.token_intro_and", @@ -202,14 +196,14 @@ "equation_FStar.MRef.stable", "function_token_typing_Ex12.MAC.spred_and", "function_token_typing_FStar.Preorder.stable", - "refinement_interpretation_Tm_refine_4b377e7c4eac984dc4a589626500ba1b", - "refinement_interpretation_Tm_refine_622e5d71d43c090771b195939447feeb", + "refinement_interpretation_Tm_refine_c13dabcf4f9c11c9b065848cf207719b", + "refinement_interpretation_Tm_refine_db2289e2f27e1e1fb8c92bdbb90863d4", "token_correspondence_Ex12.MAC.spred_and_", "token_correspondence_FStar.MRef.stable", "token_correspondence_FStar.Preorder.stable" ], 0, - "7c11296fe76faf90b69724364417d27e" + "2b2f1cd5ceba4045410055421499821a" ], [ "Ex12.MAC.mem_assoc_unique", @@ -225,13 +219,13 @@ "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "Ex12.MAC_interpretation_Tm_arrow_02eefb8425732ff6ebbe05327144c3a5", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_07c04e67c7cab1ba5acd0cd207adcc61_4", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_5", "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_6", - "binder_x_a81196f4caaaa4b43052179035836caa_3", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", + "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -241,8 +235,8 @@ "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "false_interp", "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Pervasives.Native.fst", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_or-interp", - "partial_app_typing_44670155e121d84b7d496ea4f0011ed5", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -257,12 +251,12 @@ "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", + "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.noRepeats", "unit_inversion", "unit_typing" ], 0, - "6767b68aa346bf67b090815a5e980706" + "661b48a5862a5e165efec54888b82363" ], [ "Ex12.MAC.key_cipher_text_spred", @@ -271,19 +265,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Ex12.MAC_interpretation_Tm_arrow_69de96a0f0557785e8af8c49985f2ae4", - "equation_Ex12.MAC.key", "equation_Ex12.MAC.key_cipher_text", - "equation_Ex12.MAC.key_entry", - "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.SHA1.key", - "equation_Ex12.SHA1.text", "equation_FStar.Preorder.stable", - "equation_Platform.Bytes.bytes", - "function_token_typing_Ex12.MAC.associated_to", - "refinement_interpretation_Tm_refine_f0bbfa010c2d36e950ee6d3821f571b9", + "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", + "equation_Ex12.MAC.associated_to", + "equation_Ex12.MAC.associated_to_", "equation_Ex12.MAC.key", + "equation_Ex12.MAC.key_cipher_text", + "equation_Ex12.MAC.unique_registry_order", + "equation_Ex12.MAC.unique_registry_order_", "equation_Ex12.SHA1.key", + "equation_FStar.Preorder.stable", + "function_token_typing_Ex12.SHA1.key", + "kinding_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", "token_correspondence_Ex12.MAC.associated_to", - "token_correspondence_Ex12.MAC.key_cipher_text" + "token_correspondence_Ex12.MAC.associated_to_", + "token_correspondence_Ex12.MAC.key_cipher_text", + "token_correspondence_Ex12.MAC.unique_registry_order_" ], 0, - "391a4ee0fe8603dbb3df900490474366" + "69ea4f86d90a8ff80623444bd58e16d6" ], [ "Ex12.MAC.key_cipher_text_spred_unfold", @@ -302,7 +299,7 @@ "token_correspondence_Ex12.MAC.spred_exists_" ], 0, - "b0a6854d6429d9a26c48e30a19de84ab" + "14b9c4a7e9a59b6edd30c26cfd3c863d" ], [ "Ex12.MAC.key_prop_entails_key_cipher_text_token", @@ -329,7 +326,7 @@ "typing_Ex12.MAC.associated_to" ], 0, - "d39942ffa842986c705d3bda1431f160" + "ef8ce19ed506dd90ebcfe41151b15199" ], [ "Ex12.MAC.key_prop_unicity", @@ -337,22 +334,27 @@ 2, 1, [ - "@query", "b2t_def", "equation_Ex12.MAC.associated_to", - "equation_Ex12.MAC.associated_to_", "equation_Ex12.MAC.key", + "@MaxIFuel_assumption", "@query", + "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", + "b2t_def", "bool_inversion", "equation_Ex12.MAC.associated_to", + "equation_Ex12.MAC.associated_to_", + "equation_Ex12.MAC.key_cipher_text", "equation_Ex12.MAC.key_cipher_text_spred", "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.spred_and", - "equation_Ex12.MAC.spred_and_", "equation_Ex12.MAC.unicity", - "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.SHA1.key", - "equation_Ex12.SHA1.text", "equation_Platform.Bytes.bytes", + "equation_Ex12.MAC.spred_and_", "equation_Ex12.MAC.spred_exists", + "equation_Ex12.MAC.spred_exists_", "equation_Ex12.MAC.unicity", + "equation_Ex12.MAC.unique_registry_order", "function_token_typing_Ex12.MAC.key_cipher_text_spred", - "interpretation_Tm_abs_0722dd075e73c3ffbe25569ec90b56f3", + "interpretation_Tm_abs_fe2205bf7cbee1eb8804fdcdacdc81e5", "token_correspondence_Ex12.MAC.associated_to", "token_correspondence_Ex12.MAC.associated_to_", + "token_correspondence_Ex12.MAC.key_cipher_text", "token_correspondence_Ex12.MAC.spred_and", - "token_correspondence_Ex12.MAC.spred_and_" + "token_correspondence_Ex12.MAC.spred_and_", + "token_correspondence_Ex12.MAC.spred_exists_" ], 0, - "bbc8420156402b591d6d8f6e508c134f" + "2452c1d52bdd1dd6c5df49583c064a75" ], [ "Ex12.MAC.to_key_prop", @@ -361,21 +363,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "equation_Ex12.MAC.key", "equation_Ex12.MAC.key_entry", + "Ex12.MAC_interpretation_Tm_arrow_e29719084bbb3fb25afd799a5f7c2341", + "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", + "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", - "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.key", - "equation_Ex12.SHA1.text", "equation_Platform.Bytes.bytes", - "function_token_typing_Platform.Bytes.bytes", - "interpretation_Tm_abs_afe755f9060dc96961b1532eae342f87", + "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.text", + "equation_Platform.Bytes.bytes", + "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_572b7c2b1bdf079fa791115963523fc8", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "typing_Ex12.MAC.pred_to_dec_ghost", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "90824d493387cbe295ab1610f00af485" + "1f0a9ba2de56164643da7c52038c53b0" ], [ "Ex12.MAC.from_key_prop", @@ -384,35 +386,31 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_Ex12.MAC.key", - "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.key_lref", + "Ex12.MAC_interpretation_Tm_arrow_e29719084bbb3fb25afd799a5f7c2341", + "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "bool_inversion", "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.MAC.unicity", - "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.SHA1.key", - "equation_Ex12.SHA1.text", "equation_FStar.MRef.stable", - "equation_FStar.Preorder.stable", "equation_Platform.Bytes.bytes", + "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.SHA1.text", + "equation_FStar.MRef.stable", "equation_FStar.Preorder.stable", + "equation_Platform.Bytes.bytes", "function_token_typing_Ex12.MAC.pred_to_dec_ghost", "function_token_typing_FStar.Preorder.stable", - "function_token_typing_Platform.Bytes.bytes", - "interpretation_Tm_abs_afe755f9060dc96961b1532eae342f87", - "interpretation_Tm_abs_b660523af10a23f0b0d84dbf953d230d", - "refinement_interpretation_Tm_refine_427f20e5bcf1f6e1dae484d595b8800f", - "refinement_interpretation_Tm_refine_52ae29d7146572e001df2a5f36748c86", - "refinement_interpretation_Tm_refine_572b7c2b1bdf079fa791115963523fc8", - "refinement_interpretation_Tm_refine_94612656aa7fede2789c406b8161f17f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_f0bbfa010c2d36e950ee6d3821f571b9", - "token_correspondence_FStar.MRef.stable", - "typing_Ex12.MAC.associated_to", "typing_Ex12.MAC.key_log", - "typing_Ex12.MAC.pred_to_dec_ghost", "typing_Ex12.MAC.unicity", + "interpretation_Tm_abs_9cdb197bd891d1cafd74ae6d6d6f503d", + "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", + "refinement_interpretation_Tm_refine_025011bacb306ba21335c40b7fca157f", + "refinement_interpretation_Tm_refine_26c5b76116db78552cde5aa095d5f41f", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_541aeba5c247374749f005732c0357c4", + "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", + "refinement_interpretation_Tm_refine_c2f8a8dbcef8620e2c92c294f669f1cb", + "token_correspondence_FStar.MRef.stable", "typing_Ex12.MAC.key_log", + "typing_Ex12.MAC.unicity", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", "unit_typing" ], 0, - "b9f78ecca3b1e24bc55f9a2f59c45a0c" + "9e7cd2f89905b5ee93a7b70a601eda23" ], [ "Ex12.MAC.__proj__Entry__item__t", @@ -424,7 +422,7 @@ "projection_inverse_Ex12.MAC.Entry_k" ], 0, - "1ead6e58c960356ce6425eee67d68fbc" + "79c362d1774d46158360a9cf5c3368d0" ], [ "Ex12.MAC.mac", @@ -432,16 +430,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "130f0ec4e71f0dc16168a1d931a244f9" + "37fa37a3ee3002029e060b0065762958" ], [ "Ex12.MAC.verify", @@ -451,11 +446,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a0d7aea15b7b0c932451846e6b616e7b" + "e81f36eb4b638086ced42e3c407d5e8c" ], [ "Ex12.MAC.keygen", @@ -471,28 +466,29 @@ "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "eq2-interp", "equation_Ex12.MAC.associated_to", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "bool_inversion", "constructor_distinct_Prims.Cons", + "data_elim_Prims.Cons", "eq2-interp", + "equation_Ex12.MAC.associated_to", "equation_Ex12.MAC.associated_to_", "equation_Ex12.MAC.key", "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.MAC.unique_registry_order_", "equation_Ex12.SHA1.key", - "equation_Ex12.SHA1.keysize", "equation_Ex12.SHA1.text", - "equation_FStar.MRef.stable", "equation_FStar.Pervasives.Native.fst", - "equation_Platform.Bytes.bytes", + "equation_Ex12.SHA1.keysize", "equation_FStar.MRef.stable", + "equation_FStar.Pervasives.Native.fst", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Ex12.MAC.key_entry", "function_token_typing_Ex12.MAC.unique_registry_order", + "function_token_typing_Ex12.MAC.unique_registry_order_", "function_token_typing_Ex12.SHA1.key", "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "l_or-interp", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", + "kinding_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", + "l_or-interp", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -502,7 +498,6 @@ "projection_inverse_Prims.Cons_tl", "token_correspondence_Ex12.MAC.associated_to", "token_correspondence_Ex12.MAC.associated_to_", - "token_correspondence_Ex12.MAC.unique_registry_order_", "token_correspondence_FStar.MRef.stable", "token_correspondence_FStar.Pervasives.Native.fst", "token_correspondence_FStar.Preorder.stable", "typing_Ex12.MAC.key", @@ -510,7 +505,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "eac5a377310613d3104dc9fb82fbd5c3" + "23be79f9f4ab87dda7ada4e43f72f6be" ], [ "Ex12.MAC.mac", @@ -520,17 +515,16 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12.MAC.key", "equation_Ex12.MAC.tag", "equation_Ex12.SHA1.hmac_sha1", - "equation_Ex12.SHA1.text", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", "equation_Platform.Bytes.bytes", - "equation_Prims.l_True", + "equation_FStar.Heap.trivial_preorder", + "equation_FStar.Heap.trivial_rel", "function_token_typing_FStar.Heap.trivial_preorder", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", - "refinement_interpretation_Tm_refine_0874fe3d6803ba8bca319021df35b411", - "refinement_interpretation_Tm_refine_5984c8fcb91a1210346bb1a65e22d208", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", + "refinement_interpretation_Tm_refine_86db403b3977311b000d8bbfda614c48", + "refinement_interpretation_Tm_refine_cc3f37153fcca4da8377b5002ad9a87d", "true_interp", "typing_Ex12.SHA1.hmac_sha1" ], 0, - "82b776d73dbe51eb4a1574d76538ae00" + "a1e19ae2fae8d99847ac37eb667f32b9" ], [ "Ex12.MAC.verify", @@ -539,9 +533,8 @@ 2, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Platform.Bytes.HasEq_bytes", "data_elim_Ex12.MAC.Entry", - "data_elim_FStar.Pervasives.Native.Some", + "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", + "data_elim_Ex12.MAC.Entry", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_Ex12.MAC.key", "equation_Ex12.SHA1.key", "equation_Ex12.SHA1.keysize", "equation_Ex12.SHA1.text", @@ -552,15 +545,15 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0874fe3d6803ba8bca319021df35b411", "refinement_interpretation_Tm_refine_302ab106269686cef84494addf581840", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_8922f323ed19bd109da8e44e88a34594", - "refinement_interpretation_Tm_refine_ad9cde64c932cdae765806f65e24e93b", + "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", + "refinement_interpretation_Tm_refine_86db403b3977311b000d8bbfda614c48", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_e44b7ecdac91fd85512f8ee1233773c1", "typing_Platform.Bytes.equalBytes" ], 0, - "2fb1b35dc53b63a2afc41dd30b3afa26" + "1a907c01e6acdbd716ecd0a494e35a78" ], [ "Ex12.MAC.unique_registry_order", @@ -575,7 +568,7 @@ "token_correspondence_Ex12.MAC.unique_registry_order_" ], 0, - "a3c986a6e0e770f1681d44e2abca7f6a" + "56190b0377b40df92fd5fdb1cd287a2c" ], [ "Ex12.MAC.unicity", @@ -586,13 +579,12 @@ "@query", "b2t_def", "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.MAC.unique_registry_order_", - "equation_Ex12.SHA1.text", "equation_FStar.Preorder.stable", - "equation_Platform.Bytes.bytes", - "interpretation_Tm_abs_0722dd075e73c3ffbe25569ec90b56f3", + "equation_FStar.Preorder.stable", + "interpretation_Tm_abs_fe2205bf7cbee1eb8804fdcdacdc81e5", "token_correspondence_Ex12.MAC.unique_registry_order_" ], 0, - "26b89b81849b2ce9bd0aa88d8b34b9fc" + "c7d1f43f88bc7988e4fd8a3a7ce10535" ], [ "Ex12.MAC.key_log", @@ -604,22 +596,21 @@ "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_Prims.Nil", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "b2t_def", "constructor_distinct_Prims.Nil", "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.unicity", - "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.SHA1.text", + "equation_Ex12.MAC.unique_registry_order", "equation_FStar.MRef.stable", "equation_FStar.ST.mref", - "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", + "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "function_token_typing_Ex12.MAC.key_entry", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Preorder.stable", - "interpretation_Tm_abs_0722dd075e73c3ffbe25569ec90b56f3", + "interpretation_Tm_abs_fe2205bf7cbee1eb8804fdcdacdc81e5", "kinding_Prims.list@tok", - "kinding_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "kinding_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", @@ -630,7 +621,7 @@ "typing_FStar.List.Tot.Base.map", "typing_FStar.Monotonic.Heap.sel" ], 0, - "0e65e01de4fd781d16a4c867140e1868" + "863556adcd8e623d87b2f0ea83b1a212" ], [ "Ex12.MAC.associated_to", @@ -643,16 +634,15 @@ "equation_Ex12.MAC.associated_to_", "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.MAC.unique_registry_order_", - "equation_Ex12.SHA1.text", "equation_FStar.Preorder.stable", - "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", - "kinding_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "equation_FStar.Preorder.stable", "equation_Prims.eqtype", + "kinding_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Ex12.MAC.associated_to_", "token_correspondence_Ex12.MAC.unique_registry_order_", "typing_Ex12.MAC.key" ], 0, - "2c565501a883c775b63b7132505a9f59" + "bf6f04b226625e033edba3ba8b5cd04b" ], [ "Ex12.MAC.pkey", @@ -668,7 +658,7 @@ "token_correspondence_FStar.MRef.stable" ], 0, - "d6758381b5d2160cc6677955cf01d5b8" + "dca4599813786713586231a8d3ed2d65" ], [ "Ex12.MAC.key_prop", @@ -684,7 +674,7 @@ "token_correspondence_FStar.MRef.stable" ], 0, - "7f99432d672b3c1b0eb5174a3a24dc81" + "f823b0d4f69aebac372816348e49704c" ], [ "Ex12.MAC.spred_exists", @@ -693,10 +683,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_499df21a3e2e72fe7a404297a783c82c" + "refinement_interpretation_Tm_refine_7376d56cf6d6772ad32cf5b5c0891600" ], 0, - "5a17854c7331e7253219f7a7b01404a3" + "89013536b0017902ec8815162105065e" ], [ "Ex12.MAC.spred_and", @@ -706,11 +696,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12.MAC.spred_and_", "equation_FStar.MRef.spred", "equation_FStar.Preorder.stable", - "refinement_interpretation_Tm_refine_622e5d71d43c090771b195939447feeb", + "refinement_interpretation_Tm_refine_db2289e2f27e1e1fb8c92bdbb90863d4", "token_correspondence_Ex12.MAC.spred_and_" ], 0, - "b0d85f9951e582ab2f4fbfeb9fb5a853" + "d2666c579b938b99d1c19f427d056413" ], [ "Ex12.MAC.token_intro_and", @@ -726,7 +716,7 @@ "token_correspondence_FStar.Preorder.stable" ], 0, - "2794d06797861fc08f93c4977defd2e2" + "eea00248c3d0e42464f11ecbdd02ceb6" ], [ "Ex12.MAC.key_cipher_text_spred", @@ -735,17 +725,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Ex12.MAC_interpretation_Tm_arrow_69de96a0f0557785e8af8c49985f2ae4", - "equation_Ex12.MAC.key_cipher_text", "equation_Ex12.MAC.key_entry", - "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.SHA1.text", - "equation_FStar.Preorder.stable", "equation_Platform.Bytes.bytes", + "Ex12.MAC_interpretation_Tm_arrow_404f9d629b355882c9a575520534db14", + "equation_Ex12.MAC.key_cipher_text", + "equation_Ex12.MAC.unique_registry_order", + "equation_FStar.Preorder.stable", "function_token_typing_Ex12.MAC.associated_to", - "refinement_interpretation_Tm_refine_f0bbfa010c2d36e950ee6d3821f571b9", + "refinement_interpretation_Tm_refine_541aeba5c247374749f005732c0357c4", "token_correspondence_Ex12.MAC.associated_to", "token_correspondence_Ex12.MAC.key_cipher_text" ], 0, - "b9925cde7bfeaf9bfd4c3af0a2d0f3da" + "a3eb9ac4dc273e4e36c3acdb252741ed" ], [ "Ex12.MAC.key_prop_entails_key_cipher_text_token", @@ -761,7 +751,7 @@ "token_correspondence_FStar.MRef.stable" ], 0, - "c2d605cbbe14f2b0e3ce34141f698685" + "389b138cb900c6ebe4495fbabea90da7" ], [ "Ex12.MAC.__proj__Entry__item__t", @@ -773,7 +763,7 @@ "projection_inverse_Ex12.MAC.Entry_k" ], 0, - "835d492ff936d6444796a414b5e3065f" + "a1cd18f81443d7ef24ea8bab00c459a2" ], [ "Ex12.MAC.mac", @@ -781,16 +771,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "975a6dcd9e09417228763d0f0c791be5" + "74fa777255f5fd6da86dc79c315f9f5a" ], [ "Ex12.MAC.verify", @@ -800,11 +787,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5357154dbfbad353d42e269b68de04ec" + "4b0497d451c6dbf4f1c05c84c84131b1" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex12a1.Cap.fst.hints b/doc/tutorial/code/solutions/Ex12a1.Cap.fst.hints index 65ded0ccfd9..3c21f7edb33 100644 --- a/doc/tutorial/code/solutions/Ex12a1.Cap.fst.hints +++ b/doc/tutorial/code/solutions/Ex12a1.Cap.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "6b63970f5d331cc58f18962e1033239b" + "f480a497ecee9a5bd9b133ebf32c92ae" ], [ "Ex12a1.Cap.issue", @@ -17,28 +17,32 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Ex12a1.Cap.UTF8_inj", "bool_typing", - "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.key_prop", - "equation_Ex12.MAC.pkey", "equation_Ex12.MAC.pred_to_dec_ghost", - "equation_Ex12.SHA1.text", "equation_Ex12a.ACLs.canRead", - "equation_Ex12a1.Cap.capRead", "equation_Platform.Bytes.bytes", - "equation_Prims.logical", "function_token_typing_Ex12a1.Cap.capRead", - "interpretation_Tm_abs_afe755f9060dc96961b1532eae342f87", + "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", + "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "assumption_Ex12a1.Cap.UTF8_inj", "bool_inversion", + "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", + "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.text", + "equation_Ex12a.ACLs.canRead", "equation_Ex12a.ACLs.canWrite", + "equation_Ex12a.ACLs.filename", "equation_Ex12a1.Cap.capRead", + "equation_Platform.Bytes.bytes", "equation_Prims.logical", + "function_token_typing_Ex12a1.Cap.capRead", + "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_47fc00d9af5452fdc3a5434abc5c3970", - "refinement_interpretation_Tm_refine_572b7c2b1bdf079fa791115963523fc8", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ad9cde64c932cdae765806f65e24e93b", - "string_inversion", "typing_Ex12a1.Cap.capRead", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", + "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", + "refinement_interpretation_Tm_refine_d9c41f2458aa18cfc85adf836620b4d6", + "string_inversion", "typing_Ex12a.ACLs.canRead", + "typing_Ex12a.ACLs.canWrite", "typing_Ex12a1.Cap.capRead", "typing_Ex12a1.Cap.k", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Platform.Bytes.equalBytes", "typing_Platform.Bytes.utf8", - "typing_Tm_abs_afe755f9060dc96961b1532eae342f87" + "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "36af74f8af550bc2aeef10da22fc0ca8" + "0e5b0e5091bbaf91017b4d4dd274b171" ], [ "Ex12a1.Cap.redeem", @@ -48,11 +52,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12a1.Cap.capRead", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_40b23c06210f10bc3c5257ef1ca5518a", + "refinement_interpretation_Tm_refine_8885e999df4e0d375e24457caef23a82", "string_inversion" ], 0, - "6d70f9eaa55f8956c44cea65fc2be6b8" + "4ec05a18ab83b2baaf2a36eea6e1600d" ], [ "Ex12a1.Cap.capRead", @@ -61,7 +65,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "18e89492a9ab455586d033f5e9871f29" + "3c516417819632ea828b2b18b5a9e7b9" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex12a2.Cap.fst.hints b/doc/tutorial/code/solutions/Ex12a2.Cap.fst.hints index 3fb4831f191..26092ef0a4c 100644 --- a/doc/tutorial/code/solutions/Ex12a2.Cap.fst.hints +++ b/doc/tutorial/code/solutions/Ex12a2.Cap.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "4183a47696cdf6e6490e9e1d45bacf7f" + "cdf63906d6bdf2de6a0d1069360ec136" ], [ "Ex12a2.Cap.issue_read", @@ -17,28 +17,32 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Ex12a2.Cap.UTF8_inj", "bool_typing", - "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.key_prop", - "equation_Ex12.MAC.pkey", "equation_Ex12.MAC.pred_to_dec_ghost", - "equation_Ex12.SHA1.text", "equation_Ex12a.ACLs.canRead", - "equation_Ex12a2.Cap.capRead", "equation_Platform.Bytes.bytes", - "equation_Prims.logical", "function_token_typing_Ex12a2.Cap.capRead", - "interpretation_Tm_abs_afe755f9060dc96961b1532eae342f87", + "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", + "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "assumption_Ex12a2.Cap.UTF8_inj", "bool_inversion", + "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", + "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.text", + "equation_Ex12a.ACLs.canRead", "equation_Ex12a.ACLs.canWrite", + "equation_Ex12a.ACLs.filename", "equation_Ex12a2.Cap.capRead", + "equation_Platform.Bytes.bytes", "equation_Prims.logical", + "function_token_typing_Ex12a2.Cap.capRead", + "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_47fc00d9af5452fdc3a5434abc5c3970", - "refinement_interpretation_Tm_refine_572b7c2b1bdf079fa791115963523fc8", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ad9cde64c932cdae765806f65e24e93b", - "string_inversion", "typing_Ex12a2.Cap.capRead", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", + "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", + "refinement_interpretation_Tm_refine_d9c41f2458aa18cfc85adf836620b4d6", + "string_inversion", "typing_Ex12a.ACLs.canRead", + "typing_Ex12a.ACLs.canWrite", "typing_Ex12a2.Cap.capRead", "typing_Ex12a2.Cap.k_read", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Platform.Bytes.equalBytes", "typing_Platform.Bytes.utf8", - "typing_Tm_abs_afe755f9060dc96961b1532eae342f87" + "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "1666c7ce6a23b287a1ed897a0e1ba264" + "fb46ba43fefe109938468a715679dec7" ], [ "Ex12a2.Cap.redeem_read", @@ -48,11 +52,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12a2.Cap.capRead", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_40b23c06210f10bc3c5257ef1ca5518a", + "refinement_interpretation_Tm_refine_33334aa64449b7152d42af8d2c8c8b05", "string_inversion" ], 0, - "06a77a9faa6181ceb0eb1c4c9d462d38" + "14db776bdf81d5376eec71bcdbd33ca0" ], [ "Ex12a2.Cap.capWrite", @@ -61,7 +65,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "297adb50bdc3b9f1c26539f724d6d2fe" + "8be7a7d29d3158da77ed089a6c12c8b0" ], [ "Ex12a2.Cap.issue_write", @@ -70,28 +74,29 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", + "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", "assumption_Ex12a2.Cap.UTF8_inj", "bool_inversion", - "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.key_prop", - "equation_Ex12.MAC.pkey", "equation_Ex12.MAC.pred_to_dec_ghost", - "equation_Ex12.SHA1.text", "equation_Ex12a.ACLs.canWrite", - "equation_Ex12a.ACLs.filename", "equation_Ex12a2.Cap.capWrite", - "equation_Platform.Bytes.bytes", "equation_Prims.logical", + "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", + "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.text", + "equation_Ex12a.ACLs.canWrite", "equation_Ex12a.ACLs.filename", + "equation_Ex12a2.Cap.capWrite", "equation_Platform.Bytes.bytes", + "equation_Prims.logical", "function_token_typing_Ex12a2.Cap.capWrite", - "interpretation_Tm_abs_afe755f9060dc96961b1532eae342f87", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_0ba285f5db2ebbbd14f4a10a0e23206e", - "refinement_interpretation_Tm_refine_572b7c2b1bdf079fa791115963523fc8", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ad9cde64c932cdae765806f65e24e93b", + "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", + "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", + "refinement_interpretation_Tm_refine_d42447a4aaf42cb46c1766ed4aa3201b", "string_inversion", "typing_Ex12a.ACLs.canWrite", "typing_Ex12a2.Cap.capWrite", "typing_Ex12a2.Cap.k_write", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Platform.Bytes.equalBytes", "typing_Platform.Bytes.utf8", - "typing_Tm_abs_afe755f9060dc96961b1532eae342f87" + "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" ], 0, - "a107ffd9d0de02b587a2eddebf1e7e5e" + "be54237d73ffe89c350e51483f114af9" ], [ "Ex12a2.Cap.redeem_write", @@ -101,11 +106,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12a2.Cap.capWrite", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_40b23c06210f10bc3c5257ef1ca5518a", + "refinement_interpretation_Tm_refine_da7db8654d270dbf0da57309caa23866", "string_inversion" ], 0, - "eae36c06875ca6c8ebab8c1b7f82c84a" + "aa9c12b7ddde7ee32176dbe2dcc62820" ], [ "Ex12a2.Cap.capRead", @@ -114,7 +119,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "b15b0dbc22b002486240779230c735df" + "76698cab62a62d94abdd86f901f8f00b" ], [ "Ex12a2.Cap.capWrite", @@ -123,7 +128,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "85b0534a221b1d018e2fea8879dbf561" + "c73aaed454172df151a402be99202ed0" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex12b.RPC.fst.hints b/doc/tutorial/code/solutions/Ex12b.RPC.fst.hints index c5eaa6a9b03..4482501af5a 100644 --- a/doc/tutorial/code/solutions/Ex12b.RPC.fst.hints +++ b/doc/tutorial/code/solutions/Ex12b.RPC.fst.hints @@ -10,13 +10,12 @@ "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.message", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", "equation_Platform.Bytes.bytes", - "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", - "refinement_interpretation_Tm_refine_fc83f25424539824d394a73dd287ca2e", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", + "refinement_interpretation_Tm_refine_dd00118676aa737ce63f536e208f9d7a", "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "702dd78a19d21f1045b8ea4a71a39ee6" + "505855601262daa499e5c74ff6931092" ], [ "Ex12b.RPC.recv", @@ -27,12 +26,12 @@ "@query", "equation_Ex12b2.Format.message", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.empty_bytes", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "equation_Platform.Bytes.empty_bytes", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "6abdbc785a4b12e17c5e6aefa5550876" + "405165499deaa9172764ec521c0655a4" ], [ "Ex12b.RPC.__proj__Request__item___0", @@ -45,7 +44,7 @@ "refinement_interpretation_Tm_refine_14c5a3d37fdb1eed8ce1422dcff2c170" ], 0, - "b2feb7c9d5f41dd7bdf0189ac97a3dcd" + "8d730cca11a47ff4ae72fc4e5e943c75" ], [ "Ex12b.RPC.__proj__Response__item___0", @@ -58,7 +57,7 @@ "refinement_interpretation_Tm_refine_f43ef8fd514e61e3d80c234a73b3a570" ], 0, - "e5f5bca24967d254ec55f585a73582b0" + "7ef32853514870c90eeb2df2e2275f6b" ], [ "Ex12b.RPC.__proj__Response__item___1", @@ -71,7 +70,7 @@ "refinement_interpretation_Tm_refine_f43ef8fd514e61e3d80c234a73b3a570" ], 0, - "d6bf4a8d03d359dfed4dff3e5b65fba3" + "fd9f7d604780ac12cd5d47fee8cca698" ], [ "Ex12b.RPC.subset", @@ -86,7 +85,7 @@ "token_correspondence_Ex12b.RPC.subset_" ], 0, - "77e42a51730747da69e4c32e4de733fe" + "39575cbe699922a2a3246bca3c530c1b" ], [ "Ex12b.RPC.lref", @@ -95,7 +94,7 @@ 1, [ "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq" ], 0, - "8b2c53236c22a9d45ab2faae3d869e14" + "4adb9df0a7cd2cbe9a2993db4277d75b" ], [ "Ex12b.RPC.log", @@ -104,7 +103,7 @@ 1, [ "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq" ], 0, - "cbd4f7bf393f04d27cd728757fe49dca" + "e6579f8fbe2ecc91498362055d125902" ], [ "Ex12b.RPC.add_to_log", @@ -121,7 +120,6 @@ "equation_Ex12b.RPC.subset_", "equation_FStar.ST.mref", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Ex12b.RPC.log_entry", "function_token_typing_Ex12b.RPC.subset", "kinding_Ex12b.RPC.log_entry@tok", "kinding_Prims.list@tok", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", @@ -129,14 +127,13 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4ecc8f8980bcfea47fd50c4eef6058ca", + "refinement_interpretation_Tm_refine_a317e522b61ddbfc7a4e89db4bf26ff2", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_Ex12b.RPC.subset_", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "typing_FStar.List.Tot.Base.mem", "typing_FStar.Monotonic.Heap.sel" ], 0, - "f20e2fb3b50640723d81a3fac20aa066" + "c5022370abe0d275c9afd02eaee768d1" ], [ "Ex12b.RPC.req", @@ -149,11 +146,11 @@ "data_typing_intro_Ex12b.RPC.Request@tok", "equation_Ex12b.RPC.subset", "equation_Ex12b.RPC.subset_", "equation_FStar.Preorder.stable", - "interpretation_Tm_abs_8e1dece2ce0cad4ea7415786b8a97ede", + "interpretation_Tm_abs_58b304cd26262005441f6f3c6cce4163", "string_inversion", "token_correspondence_Ex12b.RPC.subset_" ], 0, - "87e77a2176d6db2dd33d74eaf0ab1f85" + "45fa211d19fcec5f76bb4e91e187043d" ], [ "Ex12b.RPC.resp", @@ -166,11 +163,11 @@ "data_typing_intro_Ex12b.RPC.Response@tok", "equation_Ex12b.RPC.subset", "equation_Ex12b.RPC.subset_", "equation_FStar.Preorder.stable", - "interpretation_Tm_abs_491685745f1dcae17127f508b8403f4f", + "interpretation_Tm_abs_f615d69687541f192c15a06ce3c344a3", "string_inversion", "token_correspondence_Ex12b.RPC.subset_" ], 0, - "78aa0559c2d49d75164dcc5f2a865fc8" + "37beca355ba63887405638542fd40784" ], [ "Ex12b.RPC.pRequest", @@ -184,7 +181,7 @@ "token_correspondence_FStar.MRef.stable" ], 0, - "5e11a7c8b77ddf9fd528a2b88776932f" + "c667b8b054996238a032fad691d80378" ], [ "Ex12b.RPC.pResponse", @@ -198,7 +195,7 @@ "token_correspondence_FStar.MRef.stable" ], 0, - "3d1a64c334e0f11ece150cf91cd62be2" + "a36f75fb175e6490d3e6e1201b871703" ], [ "Ex12b.RPC.reqresp", @@ -210,7 +207,7 @@ "equation_Ex12b2.Format.message" ], 0, - "f07302d7ad3dc91414b4f1942a07b698" + "446283bbdc77f25503fde809615382c5" ], [ "Ex12b.RPC.client_send", @@ -218,36 +215,48 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", + "@query", + "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", + "Ex12b.RPC_pretyping_e884d439514aab9828b6258fa5715719", + "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_Ex12b.RPC.log_entry__uu___haseq", "b2t_def", - "bool_typing", "equation_Ex12.MAC.key_entry", + "bool_inversion", "data_typing_intro_Ex12b.RPC.Request@tok", "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.text", - "equation_Ex12b.RPC.pRequest", "equation_Ex12b.RPC.req", - "equation_Ex12b.RPC.reqresp", "equation_Ex12b.RPC.subset", + "equation_Ex12b.RPC.lref", "equation_Ex12b.RPC.pRequest", + "equation_Ex12b.RPC.req", "equation_Ex12b.RPC.reqresp", + "equation_Ex12b.RPC.subset", "equation_Ex12b2.Format.message", "equation_Ex12b2.Format.request", "equation_Ex12b2.Format.string16", - "equation_FStar.MRef.stable", "equation_Platform.Bytes.bytes", - "equation_Prims.logical", + "equation_FStar.MRef.stable", "equation_FStar.Preorder.preorder", + "equation_FStar.ST.mref", "equation_Platform.Bytes.bytes", + "equation_Prims.eqtype", "equation_Prims.logical", + "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.result", "function_token_typing_Ex12b.RPC.req", "function_token_typing_Ex12b.RPC.reqresp", "function_token_typing_FStar.Preorder.stable", - "interpretation_Tm_abs_8e1dece2ce0cad4ea7415786b8a97ede", - "interpretation_Tm_abs_afe755f9060dc96961b1532eae342f87", + "interpretation_Tm_abs_58b304cd26262005441f6f3c6cce4163", + "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", + "kinding_Ex12b.RPC.log_entry@tok", "kinding_Prims.list@tok", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4f1873878867b70a0de3794ca2e9d2b2", - "refinement_interpretation_Tm_refine_572b7c2b1bdf079fa791115963523fc8", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", + "refinement_interpretation_Tm_refine_d844011875815de1ddd4b8541a0488ed", + "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "string_inversion", "token_correspondence_FStar.MRef.stable", - "typing_Ex12b.RPC.k", "typing_Ex12b.RPC.reqresp", - "typing_Ex12b2.Format.request", + "typing_Ex12b.RPC.k", "typing_Ex12b.RPC.log", + "typing_Ex12b.RPC.reqresp", "typing_Ex12b.RPC.subset", + "typing_Ex12b2.Format.request", "typing_FStar.List.Tot.Base.mem", + "typing_FStar.Monotonic.Heap.sel", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_afe755f9060dc96961b1532eae342f87", "unit_typing" + "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", "unit_typing" ], 0, - "f860ccbbecdbc060e5ba7716891038a3" + "74b928ea2df1bbcacc5e9201a6d772a2" ], [ "Ex12b.RPC.client_recv", @@ -256,9 +265,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_Ex12b.RPC.log_entry__uu___haseq", "assumption_FStar.UInt8.t__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "b2t_def", @@ -272,28 +278,27 @@ "function_token_typing_Ex12b.RPC.resp", "function_token_typing_FStar.Preorder.stable", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_491685745f1dcae17127f508b8403f4f", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_f615d69687541f192c15a06ce3c344a3", "lemma_Ex12b2.Format.req_resp_distinct", "lemma_Ex12b2.Format.resp_injective", "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_150b12719efa80c3deaa5eb24b4015cc", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4ad6cff97fe1f0f612f90ab6b8b6c1b4", - "refinement_interpretation_Tm_refine_4f1873878867b70a0de3794ca2e9d2b2", - "refinement_interpretation_Tm_refine_9c24910ed69def4c0ca17bdaf63cd316", - "refinement_interpretation_Tm_refine_da0bdf24d63d3411887bce01b57c4f40", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_60dec82ab41f03ba1c1a91d4aee1d1ea", + "refinement_interpretation_Tm_refine_b5edcabc09ab87e09bfa62e4b62181f8", + "refinement_interpretation_Tm_refine_d844011875815de1ddd4b8541a0488ed", "string_inversion", "token_correspondence_FStar.MRef.stable", "typing_Ex12b.RPC.resp", "typing_Ex12b2.Format.response", "typing_FStar.Seq.Base.eq" ], 0, - "e8090042326e967f3b24984e6897239e" + "4973b8df49d90e74893f5cff33a6e61d" ], [ "Ex12b.RPC.server", @@ -302,25 +307,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "Ex12.MAC_interpretation_Tm_arrow_e29719084bbb3fb25afd799a5f7c2341", + "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", + "Ex12b.RPC_interpretation_Tm_arrow_fab6e2d2370a42161d0946e67addedae", + "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_Ex12b.RPC.log_entry__uu___haseq", "assumption_Ex12b2.Format.UTF8_inj", "assumption_FStar.UInt8.t__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "b2t_def", "bool_inversion", - "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.key_prop", - "equation_Ex12.MAC.pkey", "equation_Ex12.MAC.pred_to_dec_ghost", - "equation_Ex12.SHA1.macsize", "equation_Ex12.SHA1.text", - "equation_Ex12b.RPC.pRequest", "equation_Ex12b.RPC.pResponse", - "equation_Ex12b.RPC.req", "equation_Ex12b.RPC.reqresp", - "equation_Ex12b.RPC.resp", "equation_Ex12b.RPC.subset", - "equation_Ex12b2.Format.message", "equation_Ex12b2.Format.request", - "equation_Ex12b2.Format.string16", "equation_Ex12b2.Format.tag0", - "equation_Ex12b2.Format.uInt16", "equation_FStar.MRef.stable", - "equation_FStar.Pervasives.Native.fst", + "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", + "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.macsize", + "equation_Ex12.SHA1.text", "equation_Ex12b.RPC.pRequest", + "equation_Ex12b.RPC.pResponse", "equation_Ex12b.RPC.req", + "equation_Ex12b.RPC.reqresp", "equation_Ex12b.RPC.resp", + "equation_Ex12b.RPC.subset", "equation_Ex12b2.Format.message", + "equation_Ex12b2.Format.request", "equation_Ex12b2.Format.string16", + "equation_Ex12b2.Format.tag0", "equation_Ex12b2.Format.uInt16", + "equation_FStar.MRef.stable", "equation_FStar.Pervasives.Native.fst", "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", "equation_Prims.eqtype", "equation_Prims.logical", "equation_Prims.nat", @@ -330,12 +334,11 @@ "function_token_typing_Ex12b.RPC.resp", "function_token_typing_FStar.Preorder.stable", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_491685745f1dcae17127f508b8403f4f", - "interpretation_Tm_abs_8e1dece2ce0cad4ea7415786b8a97ede", - "interpretation_Tm_abs_afe755f9060dc96961b1532eae342f87", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_58b304cd26262005441f6f3c6cce4163", + "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", + "interpretation_Tm_abs_f615d69687541f192c15a06ce3c344a3", "lemma_Ex12b2.Format.append_inj_lemma", "lemma_Ex12b2.Format.req_resp_distinct", "lemma_FStar.Seq.Base.lemma_eq_refl", @@ -345,18 +348,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4ad6cff97fe1f0f612f90ab6b8b6c1b4", - "refinement_interpretation_Tm_refine_4f1873878867b70a0de3794ca2e9d2b2", - "refinement_interpretation_Tm_refine_572b7c2b1bdf079fa791115963523fc8", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_afbae872b8ec7d5841d143ba20123c46", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c4b01d332b6bcd62e236bb2099103d4f", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_da0bdf24d63d3411887bce01b57c4f40", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_60dec82ab41f03ba1c1a91d4aee1d1ea", + "refinement_interpretation_Tm_refine_7438252d1400520eb9f2eb017f027955", + "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_b5edcabc09ab87e09bfa62e4b62181f8", + "refinement_interpretation_Tm_refine_d275bc9df103e50ccbe091888dbff2ca", + "refinement_interpretation_Tm_refine_d844011875815de1ddd4b8541a0488ed", + "refinement_interpretation_Tm_refine_fd11ebadf3f4a491731c135a94012fbb", "string_typing", "token_correspondence_Ex12b.RPC.reqresp", "token_correspondence_FStar.MRef.stable", "token_correspondence_FStar.Preorder.stable", "typing_Ex12b.RPC.k", @@ -364,10 +367,10 @@ "typing_Ex12b2.Format.tag0", "typing_FStar.Seq.Base.eq", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Platform.Bytes.utf8", - "typing_Tm_abs_afe755f9060dc96961b1532eae342f87", "unit_typing" + "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", "unit_typing" ], 0, - "b1191f56547a3d1b016eb9c77e82f232" + "d651c7d4d0f072a4760c0c2b637d025f" ], [ "Ex12b.RPC.test", @@ -376,22 +379,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "disc_equation_FStar.Pervasives.Err", "equation_Ex12b2.Format.uInt16", "equation_Platform.Bytes.length", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.result", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "typing_Platform.Bytes.length", "typing_Platform.Bytes.utf8", "unit_typing" ], 0, - "017dc97b2d2a7817acad9178e6467acc" + "211d2a87ba2ff2a8ffcc3cd3fbc514aa" ], [ "Ex12b.RPC.__proj__Request__item___0", @@ -404,7 +405,7 @@ "refinement_interpretation_Tm_refine_14c5a3d37fdb1eed8ce1422dcff2c170" ], 0, - "6d35ed72a2d5b9756cd060f7fe24bedc" + "a63b5c67604855b40f2182ac7b9c3362" ], [ "Ex12b.RPC.__proj__Response__item___0", @@ -417,7 +418,7 @@ "refinement_interpretation_Tm_refine_f43ef8fd514e61e3d80c234a73b3a570" ], 0, - "40bff48210415d58423d268c8ebf6cc0" + "30fbe24a5d63fdc78303a26ebc61a09f" ], [ "Ex12b.RPC.__proj__Response__item___1", @@ -430,7 +431,7 @@ "refinement_interpretation_Tm_refine_f43ef8fd514e61e3d80c234a73b3a570" ], 0, - "87644770d78647c3fa0a9add53f9119d" + "9897abe43ff6e3533cf881ca7741c4e7" ], [ "Ex12b.RPC.subset", @@ -445,7 +446,7 @@ "token_correspondence_Ex12b.RPC.subset_" ], 0, - "7c2a6af8f830295574cb6dc253b79d9a" + "cb35adc9f584b5ae98b9617350fc2a04" ], [ "Ex12b.RPC.lref", @@ -454,7 +455,7 @@ 1, [ "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq" ], 0, - "526c3e859cc58c60bc9fc96a4fc68121" + "960af3a17c68e6cc358ac43ce393b40e" ], [ "Ex12b.RPC.log", @@ -463,7 +464,7 @@ 1, [ "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq" ], 0, - "51d3908311e49ac4dc6d7d8e2d652a73" + "502db7eca42cd4cfad3197e7e8d1fe95" ], [ "Ex12b.RPC.add_to_log", @@ -472,7 +473,7 @@ 1, [ "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq" ], 0, - "52d7d04ce36b58c25189b7214d80f603" + "3434ca11c82506ea297ea6fa305d11ad" ], [ "Ex12b.RPC.req", @@ -485,11 +486,11 @@ "data_typing_intro_Ex12b.RPC.Request@tok", "equation_Ex12b.RPC.subset", "equation_Ex12b.RPC.subset_", "equation_FStar.Preorder.stable", - "interpretation_Tm_abs_8e1dece2ce0cad4ea7415786b8a97ede", + "interpretation_Tm_abs_58b304cd26262005441f6f3c6cce4163", "string_inversion", "token_correspondence_Ex12b.RPC.subset_" ], 0, - "15f3b9c7d1d8062f41249d7e803c12a1" + "96be21a2b67dd8ba01ce0d3aa2fde71b" ], [ "Ex12b.RPC.req", @@ -498,7 +499,7 @@ 1, [ "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq" ], 0, - "9fc98e891a324a193fb170c2af40341d" + "e343e9f2f5480b6d9ac96d90e367c92f" ], [ "Ex12b.RPC.resp", @@ -511,11 +512,11 @@ "data_typing_intro_Ex12b.RPC.Response@tok", "equation_Ex12b.RPC.subset", "equation_Ex12b.RPC.subset_", "equation_FStar.Preorder.stable", - "interpretation_Tm_abs_491685745f1dcae17127f508b8403f4f", + "interpretation_Tm_abs_f615d69687541f192c15a06ce3c344a3", "string_inversion", "token_correspondence_Ex12b.RPC.subset_" ], 0, - "8ffe6e9b467e134a3105d6efc9274f9e" + "5d6955f10218dfb1567bf7ed73495a34" ], [ "Ex12b.RPC.resp", @@ -524,7 +525,7 @@ 1, [ "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq" ], 0, - "9b25efca5768bf07a39866a0bb36e1e4" + "de72dd867bb31ea11c88e90d27b1b5a6" ], [ "Ex12b.RPC.pRequest", @@ -538,7 +539,7 @@ "token_correspondence_FStar.MRef.stable" ], 0, - "94e3e944019594308bdf5bc09629b99e" + "2f8515c18cbc81aad42d049d01994a2e" ], [ "Ex12b.RPC.pResponse", @@ -552,7 +553,7 @@ "token_correspondence_FStar.MRef.stable" ], 0, - "c290e1c50ae977ceb4b9d730089b801a" + "fc66efe545bddb98a6a360b6a60adfb4" ], [ "Ex12b.RPC.reqresp", @@ -564,7 +565,7 @@ "equation_Ex12b2.Format.message" ], 0, - "e4c8ce296e3cdc2134b036e1d01a3355" + "63fb90fcb2f34ac72462cff4d6eb41f7" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex12b1.Format.fst.hints b/doc/tutorial/code/solutions/Ex12b1.Format.fst.hints index 3dcf820f41f..c4d1b5b91e4 100644 --- a/doc/tutorial/code/solutions/Ex12b1.Format.fst.hints +++ b/doc/tutorial/code/solutions/Ex12b1.Format.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "6461faf1e918277a91904f586c95255c" + "6c2f1c54ad02cdaa43af3e522a0fb3c9" ], [ "Ex12b1.Format.append_inj_lemma", @@ -17,19 +17,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt8.t__uu___haseq", "equation_Ex12b1.Format.message", "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_467827b70a29c5d62a269dce781bf196", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.op_At_Bar" ], 0, - "4dedd9334a5dd050876706210cce31f0" + "f7b275a2d65f64f682e1eaeacdc1d5fe" ], [ "Ex12b1.Format.lemma_eq_intro", @@ -37,16 +38,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "702b024e31d39d602bad4600bceff490" + "8079b2642aa74fe27252374c01217188" ], [ "Ex12b1.Format.lemma_eq_intro", @@ -55,7 +53,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], 0, - "89bf9cbf44347ef113064e8a4b01f845" + "ebb0bb22613996375e657063c8ae8be1" ], [ "Ex12b1.Format.UTF8_inj", @@ -64,7 +62,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "eade737dfc72bd2fcc8aa8a558f0e794" + "48bad210376ae206872494cfbd9ffb67" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -73,7 +71,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "96a8923143be1d96b1631426861126f0" + "97bf6a386e34e10192e6467e7d4f2ec4" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -82,7 +80,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "969b88b87c1dcfff28e763bd55ada6b8" + "75b5b9bef7d75daf7311976ca1748b8f" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -98,7 +96,7 @@ "refinement_interpretation_Ex12b1.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" ], 0, - "f834fa9a57b68ab583c729467caacb89" + "ac1d05aa7239216bb4d442dc52fa2712" ], [ "Ex12b1.Format.UINT16_inj", @@ -114,7 +112,7 @@ "refinement_interpretation_Ex12b1.Format_Tm_refine_840eba52f90cf7bf85387b7d8eff7d06" ], 0, - "843b8b7a5306b1b64de87a2b61563626" + "a6c23275ffaf47ab67c3db6b7f60a9e3" ], [ "Ex12b1.Format.response", @@ -124,10 +122,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12b1.Format.string16", "equation_Ex12b1.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b0c7870479b009ecde2e1ac3a590e38" + "refinement_interpretation_Tm_refine_a1e73d6915e6e15cb66adfccdfeecbeb" ], 0, - "7deb998d1c48b5178b2d2633ad7fb3a8" + "9463e079f19e95578826df0ad9911fc9" ], [ "Ex12b1.Format.req_resp_distinct", @@ -139,7 +137,7 @@ "equation_Ex12b1.Format.message" ], 0, - "c4b11dcfcdeec6ca1ec61e6fa29a770a" + "c110a64916c58300500adba2896fd198" ], [ "Ex12b1.Format.req_injective", @@ -148,7 +146,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "5b27196e55486605cf40c0e7ac74dc91" + "2b1ef99baf3106e659023fa5a99d9f0f" ], [ "Ex12b1.Format.resp_injective", @@ -157,7 +155,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "4aeda98a697c32b38c4c00da9f7a4f0e" + "33a2b3f7a7bf21d470c662bd949f6496" ], [ "Ex12b1.Format.append_inj_lemma", @@ -166,7 +164,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "fe54a2909f0114c0cc0ade11d2b2e8d9" + "9a58aa458518067d3ea7d545e85c75aa" ], [ "Ex12b1.Format.lemma_eq_intro", @@ -174,16 +172,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "459068906651b2cc63ef8c1a069cba27" + "5cd8cb9a9f7471b9089d9d56def318db" ], [ "Ex12b1.Format.UTF8_inj", @@ -192,7 +187,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "88ce232f0a4c289b9b11ec9599a8e6f8" + "ae656616245ce2d52d2a7b927e58f9b3" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -201,7 +196,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "0d19abe28a23ef1d3a881171a6c8f0d1" + "d175ac15327a8153d92c11b3eee37002" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -210,7 +205,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "b72c393ce6c16513cacc4ada75edc5f4" + "803bb930c3ddc2248757c42988f79ecf" ], [ "Ex12b1.Format.uint16_to_bytes", @@ -219,7 +214,7 @@ 1, [ "@query", "equation_Ex12b1.Format.uInt16" ], 0, - "715c8b9c7262afe0da1a8adc23f90f96" + "9126b40cb0782475fd165f7e85d65ba8" ], [ "Ex12b1.Format.UINT16_inj", @@ -235,7 +230,7 @@ "refinement_interpretation_Ex12b1.Format_Tm_refine_840eba52f90cf7bf85387b7d8eff7d06" ], 0, - "359421f490570880766cb1b34f83b91a" + "566fba07abb44924cf35f72c42fa3a42" ], [ "Ex12b1.Format.response", @@ -245,10 +240,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12b1.Format.string16", "equation_Ex12b1.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b0c7870479b009ecde2e1ac3a590e38" + "refinement_interpretation_Tm_refine_a1e73d6915e6e15cb66adfccdfeecbeb" ], 0, - "a3ee8ef9dafb5bf00a35bd2ebd328492" + "b153fe9d968a145d7778546dd67ff26a" ], [ "Ex12b1.Format.req_resp_distinct", @@ -260,7 +255,7 @@ "equation_Ex12b1.Format.message" ], 0, - "88f8d0e6f9639e158f7dbd481bd3ae45" + "afbc50a0ccc8fcceb0ed8713f821181d" ], [ "Ex12b1.Format.req_injective", @@ -269,7 +264,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "6c8819832df7ba16480c7bfe85ddf221" + "035ef4aea890d3d541012b2ea22d5a36" ], [ "Ex12b1.Format.resp_injective", @@ -278,7 +273,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "92de16f541bdd5be208cb8d65005c60a" + "9b09186ecde1650d7aba201eb6949a93" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex12b2.Format.fst.hints b/doc/tutorial/code/solutions/Ex12b2.Format.fst.hints index 22c20e65555..240f7c0192a 100644 --- a/doc/tutorial/code/solutions/Ex12b2.Format.fst.hints +++ b/doc/tutorial/code/solutions/Ex12b2.Format.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "638ce4e79209fc9903cd8e2d0faff997" + "f9815424cbfe7433b5b3e16e3f51fd08" ], [ "Ex12b2.Format.append_inj_lemma", @@ -17,19 +17,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt8.t__uu___haseq", "equation_Ex12b2.Format.message", "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_467827b70a29c5d62a269dce781bf196", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.op_At_Bar" ], 0, - "96e6563cf71c41172dfd120919c120f0" + "79baff18dfb4cc595b1e2795bbe5c882" ], [ "Ex12b2.Format.lemma_eq_intro", @@ -37,16 +38,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "31a19a5b6c7de47d31e667a69851c227" + "9a79bd70b8b7c6e64b783ad9520b82f5" ], [ "Ex12b2.Format.lemma_eq_intro", @@ -55,7 +53,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], 0, - "7a19176ad02f1914c2ef1979bbb772d2" + "d1c6ff971b80204fd4d4d9b689644834" ], [ "Ex12b2.Format.UTF8_inj", @@ -64,7 +62,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "eb69bfd264b2b00eb4aaae03663305fc" + "4d3c03340e7fe69d365b4de331e95a88" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -73,7 +71,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "00070f65a5a364533ff3b8ab9dc13f89" + "b95eab57ab00a15d224edc6f2380c115" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -82,7 +80,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "12ce59da45c880be5009004e9c845a03" + "9745d54923a22cfd1f7bf1e0c651cda7" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -98,7 +96,7 @@ "refinement_interpretation_Ex12b2.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" ], 0, - "cf688127f3377ec2e9496468c6baa0e6" + "b704a5d7d9e8f1a810839c5f4337bec3" ], [ "Ex12b2.Format.UINT16_inj", @@ -114,7 +112,7 @@ "refinement_interpretation_Ex12b2.Format_Tm_refine_2715c7aa110a09a1aebf3f1c479c3086" ], 0, - "c472c9d24ce919fab6400f692dfc1a1d" + "b115c8a68ddddb575850864f72173477" ], [ "Ex12b2.Format.response", @@ -124,10 +122,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.string16", "equation_Ex12b2.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4f1873878867b70a0de3794ca2e9d2b2" + "refinement_interpretation_Tm_refine_d844011875815de1ddd4b8541a0488ed" ], 0, - "613c12531bac95b2b103022f7c6a84cb" + "2d00322af97e8f5287190c48bfc863fb" ], [ "Ex12b2.Format.req_resp_distinct", @@ -139,7 +137,7 @@ "equation_Ex12b2.Format.message" ], 0, - "4ff9c02fdf178cbc955087ba4a798ed0" + "1f42b377ba409fb1e9011730955c327b" ], [ "Ex12b2.Format.req_injective", @@ -148,7 +146,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "d883e7409b007e07fefb1e94ccd487fa" + "59b01e6e14c24fb40175176243d92000" ], [ "Ex12b2.Format.resp_injective", @@ -157,7 +155,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "44b5d50158495d9503efa20c48144334" + "9141c0cb505e79af14c170f245d09b5e" ], [ "Ex12b2.Format.req_resp_distinct", @@ -168,12 +166,13 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_Ex12b2.Format.message", - "equation_Ex12b2.Format.msg", "equation_Ex12b2.Format.request", - "equation_Ex12b2.Format.response", "equation_Ex12b2.Format.string16", - "equation_Ex12b2.Format.tag0", "equation_Ex12b2.Format.tag1", - "equation_Ex12b2.Format.uInt16", "equation_Ex12b2.Format.uint16", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "assumption_FStar.UInt8.t__uu___haseq", "b2t_def", "bool_inversion", + "equation_Ex12b2.Format.message", "equation_Ex12b2.Format.msg", + "equation_Ex12b2.Format.request", "equation_Ex12b2.Format.response", + "equation_Ex12b2.Format.string16", "equation_Ex12b2.Format.tag0", + "equation_Ex12b2.Format.tag1", "equation_Ex12b2.Format.uInt16", + "equation_Ex12b2.Format.uint16", "equation_Ex12b2.Format.uint16_to_bytes", "equation_FStar.Seq.Base.op_At_Bar", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", @@ -181,10 +180,12 @@ "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.createBytes", "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", + "lemma_Ex12b2.Format.append_inj_lemma", + "lemma_Ex12b2.Format.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", @@ -194,27 +195,30 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", - "refinement_interpretation_Tm_refine_2715c7aa110a09a1aebf3f1c479c3086", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_4f1873878867b70a0de3794ca2e9d2b2", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "string_inversion", "typing_Ex12b2.Format.response", - "typing_Ex12b2.Format.tag0", "typing_Ex12b2.Format.tag1", - "typing_Ex12b2.Format.uint16_to_bytes", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.op_At_Bar", "typing_FStar.UInt.fits", + "refinement_interpretation_Tm_refine_07077e6ac972c324b066bdba1d726ff8", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d2d952a1760d76ffe5b3bac65c80104d", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_d844011875815de1ddd4b8541a0488ed", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "string_inversion", "typing_Ex12b2.Format.request", + "typing_Ex12b2.Format.response", "typing_Ex12b2.Format.tag0", + "typing_Ex12b2.Format.tag1", "typing_Ex12b2.Format.uint16_to_bytes", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.eq", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.op_At_Bar", "typing_FStar.UInt8.uint_to_t", "typing_Platform.Bytes.length", "typing_Platform.Bytes.repr_bytes", "typing_Platform.Bytes.utf8", "typing_Prims.pow2" ], 0, - "1405c47d2931fbbe06a2e0d3e3d5c8a7" + "a1ac208142f9998740de1842704672ca" ], [ "Ex12b2.Format.req_injective", @@ -225,14 +229,13 @@ "@MaxIFuel_assumption", "@query", "assumption_Ex12b2.Format.UTF8_inj", "equation_Ex12b2.Format.message", "equation_Ex12b2.Format.request", - "equation_Ex12b2.Format.tag0", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.lbytes", + "equation_Ex12b2.Format.tag0", "equation_Platform.Bytes.lbytes", "lemma_Ex12b2.Format.append_inj_lemma", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", "typing_Ex12b2.Format.tag0", "typing_Platform.Bytes.utf8" ], 0, - "460cee48089a156b827bbf2f1e3dceb8" + "09b4135bbd91d629da08872cbcbc72d0" ], [ "Ex12b2.Format.resp_injective", @@ -241,7 +244,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Ex12b2.Format.UINT16_inj", "assumption_Ex12b2.Format.UTF8_inj", "equation_Ex12b2.Format.message", "equation_Ex12b2.Format.msg", @@ -252,20 +254,19 @@ "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_Ex12b2.Format.append_inj_lemma", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2715c7aa110a09a1aebf3f1c479c3086", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_4f1873878867b70a0de3794ca2e9d2b2", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_07077e6ac972c324b066bdba1d726ff8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_d2d952a1760d76ffe5b3bac65c80104d", + "refinement_interpretation_Tm_refine_d844011875815de1ddd4b8541a0488ed", "typing_Ex12b2.Format.tag1", "typing_Ex12b2.Format.uint16_to_bytes", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.op_At_Bar", "typing_Platform.Bytes.utf8" ], 0, - "ad7ab424f9c9f910c78c8221ab78ccd8" + "bb97d8dbf79d47b84beb698f3c00cd5c" ], [ "Ex12b2.Format.append_inj_lemma", @@ -274,7 +275,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "e0a62f0edb3f09cf5ed00cf3bc74c1eb" + "542f85c023fb8febb123e80242d4ecaa" ], [ "Ex12b2.Format.lemma_eq_intro", @@ -282,16 +283,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5b679c08199b55b411347356b163f6dd" + "0629edbc966b5b27b36c03851fd425a8" ], [ "Ex12b2.Format.UTF8_inj", @@ -300,7 +298,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "805793b8f4d96d0b2c19a61eea035ada" + "9642f49b3a1f746719935f2862be383a" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -309,7 +307,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "a433003c25cf7c2b2e3fdc1362696218" + "4fcb9050055cfaf591e608650c2e395f" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -318,7 +316,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "df1a13dd143b885de839a3129f85bb32" + "f784a3dcf456fb7884e4386ada6b64ed" ], [ "Ex12b2.Format.uint16_to_bytes", @@ -327,7 +325,7 @@ 1, [ "@query", "equation_Ex12b2.Format.uInt16" ], 0, - "ab12ba2b09557a92a73a1b5f66760677" + "023c1841ef983794b99ba3a5cf7c11f1" ], [ "Ex12b2.Format.UINT16_inj", @@ -343,7 +341,7 @@ "refinement_interpretation_Ex12b2.Format_Tm_refine_2715c7aa110a09a1aebf3f1c479c3086" ], 0, - "41e69dee0954a794c7c67391bef0ed37" + "8bb7a4e2c9c7881ded2957e850d8600e" ], [ "Ex12b2.Format.response", @@ -353,10 +351,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.string16", "equation_Ex12b2.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4f1873878867b70a0de3794ca2e9d2b2" + "refinement_interpretation_Tm_refine_d844011875815de1ddd4b8541a0488ed" ], 0, - "2a60c94e213a256847dbf9d68919a611" + "8171fd0de735c9b72ba5e69ad1cbb955" ], [ "Ex12b2.Format.req_resp_distinct", @@ -368,7 +366,7 @@ "equation_Ex12b2.Format.message" ], 0, - "80684de4f4f182558d9d81c76fe75ac0" + "6049d134db47d19c6f0303c3c0be8172" ], [ "Ex12b2.Format.req_injective", @@ -377,7 +375,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "c3f5fc000e92cd4032148cbf2167d506" + "4da73212ad9671cf50f43ef3feb8674c" ], [ "Ex12b2.Format.resp_injective", @@ -386,7 +384,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "9c9731aaf58ed3d1a9f79d3f706a2d31" + "37fbc227408d1952e8221da0f9bf964b" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex12d.Pad.fst.hints b/doc/tutorial/code/solutions/Ex12d.Pad.fst.hints index 7a960f13b00..146389cd06b 100644 --- a/doc/tutorial/code/solutions/Ex12d.Pad.fst.hints +++ b/doc/tutorial/code/solutions/Ex12d.Pad.fst.hints @@ -11,7 +11,7 @@ "equation_Ex12d.Pad.uint8" ], 0, - "d99bc41727f90550e9f3f9b47af0a2db" + "768feb0f0b8ee2472d900f4ffd5d45de" ], [ "Ex12d.Pad.block", @@ -23,7 +23,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0f48f3d73a3dfb1abf9b109c18f1c9bd" + "b31f2f242a7b7c6d47e0039179dc20f2" ], [ "Ex12d.Pad.pad", @@ -31,18 +31,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12d.Pad.blocksize", "equation_Ex12d.Pad.uint8", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", + "@MaxIFuel_assumption", "@query", "equation_Ex12d.Pad.blocksize", + "equation_Ex12d.Pad.uint8", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_create_len", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8f5cb00a7e19d3be0a01c4368a7ea4f" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5ff6b906e287f30c7c8cbab0efa7a074" ], 0, - "a1be36118387fe80c5876b2411e2503d" + "2717dd5a239e2ac8d598ea0403c9b6f7" ], [ "Ex12d.Pad.encode", @@ -50,22 +48,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12d.Pad.blocksize", "equation_Ex12d.Pad.bytes", - "equation_Ex12d.Pad.nbytes", "equation_Ex12d.Pad.text", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", + "@MaxIFuel_assumption", "@query", "equation_Ex12d.Pad.blocksize", + "equation_Ex12d.Pad.bytes", "equation_Ex12d.Pad.nbytes", + "equation_Ex12d.Pad.text", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0f64a627e2073e199c1f7581fde07ccf", + "refinement_interpretation_Tm_refine_241fcd495b768b4159e55b3c9e8daab4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "473430e1b9c456647d53c84099222a7b" + "e04c0f2ebd194bde40d7ceb0f54aa81e" ], [ "Ex12d.Pad.decode", @@ -74,15 +70,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.UInt8.t__uu___haseq", "bool_typing", - "equation_Ex12d.Pad.block", "equation_Ex12d.Pad.blocksize", - "equation_Ex12d.Pad.bytes", "equation_Ex12d.Pad.encode", - "equation_Ex12d.Pad.nbytes", "equation_FStar.Seq.Properties.split", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", + "assumption_FStar.UInt8.t__uu___haseq", "equation_Ex12d.Pad.block", + "equation_Ex12d.Pad.blocksize", "equation_Ex12d.Pad.bytes", + "equation_Ex12d.Pad.encode", "equation_Ex12d.Pad.nbytes", + "equation_FStar.Seq.Properties.split", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -96,20 +89,20 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a39914f8546116a1ce81d6520e77df02", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8d24bd18e39be4b7e3416b8c0baf712", + "refinement_interpretation_Tm_refine_0590ec213ae641fb88ba1d6471fd7c24", + "refinement_interpretation_Tm_refine_241fcd495b768b4159e55b3c9e8daab4", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_525ec2346c71b63e531c3221f9fc1cee", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ac5296ff6ce710484f1fc6319b49ab7", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "65042268500efb263fff99e5dfeda2ad" + "c016acf082d6d5e8c5d2ace3e7ebc75e" ], [ "Ex12d.Pad.b2n", @@ -121,7 +114,7 @@ "equation_Ex12d.Pad.uint8" ], 0, - "31a147e3b41287a64be2d6d08853fc99" + "e2156536b6ca20fd7a46017fc16a3518" ], [ "Ex12d.Pad.block", @@ -133,7 +126,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "2777ab76e10f4bfce36a8b5182faa56c" + "2c7f2b745215e6fbecd6547c9ca5afce" ], [ "Ex12d.Pad.pad", @@ -141,18 +134,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12d.Pad.blocksize", "equation_Ex12d.Pad.uint8", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", + "@MaxIFuel_assumption", "@query", "equation_Ex12d.Pad.blocksize", + "equation_Ex12d.Pad.uint8", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_create_len", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8f5cb00a7e19d3be0a01c4368a7ea4f" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5ff6b906e287f30c7c8cbab0efa7a074" ], 0, - "f068875b382c7c970782a8228409c9db" + "8181c38fa391f4d3cf18f8d131120b7f" ], [ "Ex12d.Pad.encode", @@ -160,22 +151,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12d.Pad.blocksize", "equation_Ex12d.Pad.bytes", - "equation_Ex12d.Pad.nbytes", "equation_Ex12d.Pad.text", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", + "@MaxIFuel_assumption", "@query", "equation_Ex12d.Pad.blocksize", + "equation_Ex12d.Pad.bytes", "equation_Ex12d.Pad.nbytes", + "equation_Ex12d.Pad.text", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0f64a627e2073e199c1f7581fde07ccf", + "refinement_interpretation_Tm_refine_241fcd495b768b4159e55b3c9e8daab4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "2f087622c547bc1b6043b17f96836202" + "78d94ff5e585c27bb20d37a2abe1dd8c" ], [ "Ex12d.Pad.decode", @@ -184,15 +173,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.UInt8.t__uu___haseq", "bool_typing", - "equation_Ex12d.Pad.block", "equation_Ex12d.Pad.blocksize", - "equation_Ex12d.Pad.bytes", "equation_Ex12d.Pad.encode", - "equation_Ex12d.Pad.nbytes", "equation_FStar.Seq.Properties.split", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", + "assumption_FStar.UInt8.t__uu___haseq", "equation_Ex12d.Pad.block", + "equation_Ex12d.Pad.blocksize", "equation_Ex12d.Pad.bytes", + "equation_Ex12d.Pad.encode", "equation_Ex12d.Pad.nbytes", + "equation_FStar.Seq.Properties.split", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -206,20 +192,20 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a39914f8546116a1ce81d6520e77df02", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8d24bd18e39be4b7e3416b8c0baf712", + "refinement_interpretation_Tm_refine_0590ec213ae641fb88ba1d6471fd7c24", + "refinement_interpretation_Tm_refine_241fcd495b768b4159e55b3c9e8daab4", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_525ec2346c71b63e531c3221f9fc1cee", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ac5296ff6ce710484f1fc6319b49ab7", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "25928611aac7a6dddbbcda06daadb239" + "749bc99e595011a6bbde495c2076cdce" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex12e.Pad.fst.hints b/doc/tutorial/code/solutions/Ex12e.Pad.fst.hints index e771ba42995..0c777a25702 100644 --- a/doc/tutorial/code/solutions/Ex12e.Pad.fst.hints +++ b/doc/tutorial/code/solutions/Ex12e.Pad.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "77bedb3632c594392fb0da8a6dd75edd" + "1bc2bcd486a0aa19d6cf407cab829e3c" ], [ "Ex12e.Pad.pad", @@ -22,12 +22,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Ex12e.Pad.blocksize", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "b2t_def", "equation_Ex12e.Pad.blocksize", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", @@ -35,11 +33,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8f5cb00a7e19d3be0a01c4368a7ea4f" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e6faf261ba893b85e5bf614c443dacb3" ], 0, - "0fcd7c6b822f8bacb74a297a11814066" + "2c2b1364fb8007c10f2368f3ebfcb900" ], [ "Ex12e.Pad.encode", @@ -47,22 +45,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12e.Pad.blocksize", "equation_Ex12e.Pad.bytes", - "equation_Ex12e.Pad.nbytes", "equation_Ex12e.Pad.text", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", + "@MaxIFuel_assumption", "@query", "equation_Ex12e.Pad.blocksize", + "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.nbytes", + "equation_Ex12e.Pad.text", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_16688e70316b087fae878d6a5a3fe11f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f916ff80408cab27f0530013f5d47553", "typing_FStar.Seq.Base.length" ], 0, - "7075026efb806c0ce6f2f64f4993aede" + "442cf9ac17a69d772e5ea21ea288b92a" ], [ "Ex12e.Pad.lemma_append_inj", @@ -70,16 +66,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c2a0e8269ffc1a7da059bffecad0bd6e" + "1ca2dcc691a0bfbb5b1d62183bf605b2" ], [ "Ex12e.Pad.lemma_append_inj", @@ -87,16 +80,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b11c2adca094fa3e3ef8afae2fd4690b" + "07b36f654931ec5ae1707d4c3a72ffe1" ], [ "Ex12e.Pad.inj", @@ -108,7 +98,7 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.UInt8.t__uu___haseq", "b2t_def", + "assumption_FStar.UInt8.t__uu___haseq", "b2t_def", "bool_inversion", "equation_Ex12e.Pad.block", "equation_Ex12e.Pad.blocksize", "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.encode", "equation_Ex12e.Pad.n2b", "equation_Ex12e.Pad.nbytes", @@ -119,7 +109,7 @@ "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_Ex12e.Pad.lemma_append_inj", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -131,21 +121,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", + "refinement_interpretation_Tm_refine_16688e70316b087fae878d6a5a3fe11f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4d9c92860015ea426c4f6ed9b5e23b20", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8f5cb00a7e19d3be0a01c4368a7ea4f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e6faf261ba893b85e5bf614c443dacb3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f916ff80408cab27f0530013f5d47553", "typing_Ex12e.Pad.encode", "typing_Ex12e.Pad.n2b", - "typing_Ex12e.Pad.pad", "typing_FStar.Seq.Base.length" + "typing_Ex12e.Pad.pad", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.fits" ], 0, - "b2f6e1a9887a12f2254628a4df389e79" + "db3d594f5e8cc87300046d840f751524" ], [ "Ex12e.Pad.decode", @@ -154,16 +145,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.UInt8.t__uu___haseq", "b2t_def", "bool_typing", + "assumption_FStar.UInt8.t__uu___haseq", "b2t_def", "equation_Ex12e.Pad.block", "equation_Ex12e.Pad.blocksize", "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.encode", "equation_Ex12e.Pad.nbytes", "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -178,20 +166,20 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ea0fc3235700d9910479c1dc473c16b9", + "refinement_interpretation_Tm_refine_16688e70316b087fae878d6a5a3fe11f", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ac5296ff6ce710484f1fc6319b49ab7", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_85fdd731a62f5a746decfd97d0883d09", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "dcd08cc566bb86766226cfaa0805e668" + "1daab36ece24c1cc87b6db8701113537" ], [ "Ex12e.Pad.n2b", @@ -201,11 +189,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b8eb9f1d739137bfd362ced2350210e4" + "9f270c7dd32a0377796690362e8dbb82" ], [ "Ex12e.Pad.block", @@ -217,7 +205,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1f7442ab09a09aecb6130fe1ecb04d09" + "f1efeb5cc3a2a382d8822b14621e4f9d" ], [ "Ex12e.Pad.pad", @@ -228,12 +216,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Ex12e.Pad.blocksize", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "b2t_def", "equation_Ex12e.Pad.blocksize", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", @@ -241,11 +227,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8f5cb00a7e19d3be0a01c4368a7ea4f" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e6faf261ba893b85e5bf614c443dacb3" ], 0, - "565ec5b5a04cc6f2251955e70955c435" + "56a0c5ed2dc5ec6a133506f85358c4b6" ], [ "Ex12e.Pad.encode", @@ -253,22 +239,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12e.Pad.blocksize", "equation_Ex12e.Pad.bytes", - "equation_Ex12e.Pad.nbytes", "equation_Ex12e.Pad.text", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", + "@MaxIFuel_assumption", "@query", "equation_Ex12e.Pad.blocksize", + "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.nbytes", + "equation_Ex12e.Pad.text", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_16688e70316b087fae878d6a5a3fe11f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f916ff80408cab27f0530013f5d47553", "typing_FStar.Seq.Base.length" ], 0, - "67a7020a4ebdf70a14c8bd7a7be91e8f" + "898f55f7672f79dcfc1074044335ac46" ], [ "Ex12e.Pad.lemma_append_inj", @@ -276,16 +260,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "02f2aebb31bc678292c918e1c0a2b344" + "5bdd3b701c49c34053fa4b82d51b4a63" ], [ "Ex12e.Pad.decode", @@ -294,16 +275,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.UInt8.t__uu___haseq", "b2t_def", "bool_typing", + "assumption_FStar.UInt8.t__uu___haseq", "b2t_def", "equation_Ex12e.Pad.block", "equation_Ex12e.Pad.blocksize", "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.encode", "equation_Ex12e.Pad.nbytes", "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -318,20 +296,20 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ea0fc3235700d9910479c1dc473c16b9", + "refinement_interpretation_Tm_refine_16688e70316b087fae878d6a5a3fe11f", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ac5296ff6ce710484f1fc6319b49ab7", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_85fdd731a62f5a746decfd97d0883d09", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "7be09b45f1509cf19bd5412bdb29eef9" + "6c23cd546d379debc0c843c915e98683" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex12f.TMAC.fst.hints b/doc/tutorial/code/solutions/Ex12f.TMAC.fst.hints index 7c95fcf3e79..b3988e85f59 100644 --- a/doc/tutorial/code/solutions/Ex12f.TMAC.fst.hints +++ b/doc/tutorial/code/solutions/Ex12f.TMAC.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f224740a9228d736985eb461032296ff" + "0736bb13323341094069b2df13ff4591" ], [ "Ex12f.TMAC.mac", @@ -16,21 +16,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.BMAC.key", - "equation_Ex12.Pad.blocksize", "equation_Ex12.Pad.bytes", + "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.bytes", "equation_Ex12.Pad.encode", "equation_Ex12.Pad.text", - "equation_Ex12f.TMAC.bspec", "equation_Ex12f.TMAC.key", - "equation_Ex12f.TMAC.pkey", + "equation_Ex12f.TMAC.bspec", "equation_Ex12f.TMAC.pkey", "function_token_typing_Ex12.BMAC.key_prop", "function_token_typing_FStar.UInt8.t", "lemma_Ex12.Pad.inj", "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_3c40c68998e031e6744deee90305e0e2", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", + "refinement_interpretation_Tm_refine_71abb27e82b0c356f50fe92b2fe580a1", + "refinement_interpretation_Tm_refine_9a019c37bda9aa395e0805475b581d9a", + "refinement_interpretation_Tm_refine_ee191569bd9f131505476eb9bb2f0dbe", "token_correspondence_Ex12f.TMAC.bspec" ], 0, - "610557eac0176951a01de0ca4196e3e0" + "9a880fb77406afe9378bf2d3528a751d" ], [ "Ex12f.TMAC.verify", @@ -38,20 +36,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.BMAC.key", - "equation_Ex12.Pad.block", "equation_Ex12.Pad.blocksize", - "equation_Ex12.Pad.bytes", "equation_Ex12.Pad.encode", - "equation_Ex12.Pad.nbytes", "equation_Ex12f.TMAC.bspec", - "equation_Ex12f.TMAC.key", "equation_Ex12f.TMAC.pkey", + "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.block", + "equation_Ex12.Pad.blocksize", "equation_Ex12.Pad.bytes", + "equation_Ex12.Pad.encode", "equation_Ex12.Pad.nbytes", + "equation_Ex12f.TMAC.bspec", "equation_Ex12f.TMAC.pkey", "function_token_typing_Ex12.BMAC.key_prop", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_eq_refl", - "refinement_interpretation_Tm_refine_3c40c68998e031e6744deee90305e0e2", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", + "refinement_interpretation_Tm_refine_43058a325e271c84cdddd4bb5cf626de", + "refinement_interpretation_Tm_refine_71abb27e82b0c356f50fe92b2fe580a1", "token_correspondence_Ex12f.TMAC.bspec", "typing_Ex12.Pad.encode" ], 0, - "74c2d963da9d52cb9f26b17498113da7" + "48946b5590cae80d2e324b040cd400f9" ], [ "Ex12f.TMAC.keygen", @@ -60,7 +57,7 @@ 1, [ "@query" ], 0, - "be570fdf8462644fe548ca1caf800678" + "29cf16124375f3f26d6947011f68c404" ], [ "Ex12f.TMAC.mac", @@ -68,21 +65,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.BMAC.key", - "equation_Ex12.Pad.blocksize", "equation_Ex12.Pad.bytes", + "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.bytes", "equation_Ex12.Pad.encode", "equation_Ex12.Pad.text", - "equation_Ex12f.TMAC.bspec", "equation_Ex12f.TMAC.key", - "equation_Ex12f.TMAC.pkey", + "equation_Ex12f.TMAC.bspec", "equation_Ex12f.TMAC.pkey", "function_token_typing_Ex12.BMAC.key_prop", "function_token_typing_FStar.UInt8.t", "lemma_Ex12.Pad.inj", "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_3c40c68998e031e6744deee90305e0e2", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", + "refinement_interpretation_Tm_refine_71abb27e82b0c356f50fe92b2fe580a1", + "refinement_interpretation_Tm_refine_9a019c37bda9aa395e0805475b581d9a", + "refinement_interpretation_Tm_refine_ee191569bd9f131505476eb9bb2f0dbe", "token_correspondence_Ex12f.TMAC.bspec" ], 0, - "cbcef0715f611da8fa45145321a43021" + "9be00435523248f44622bf7ae96a5183" ], [ "Ex12f.TMAC.verify", @@ -90,20 +85,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.BMAC.key", - "equation_Ex12.Pad.block", "equation_Ex12.Pad.blocksize", - "equation_Ex12.Pad.bytes", "equation_Ex12.Pad.encode", - "equation_Ex12.Pad.nbytes", "equation_Ex12f.TMAC.bspec", - "equation_Ex12f.TMAC.key", "equation_Ex12f.TMAC.pkey", + "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.block", + "equation_Ex12.Pad.blocksize", "equation_Ex12.Pad.bytes", + "equation_Ex12.Pad.encode", "equation_Ex12.Pad.nbytes", + "equation_Ex12f.TMAC.bspec", "equation_Ex12f.TMAC.pkey", "function_token_typing_Ex12.BMAC.key_prop", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_eq_refl", - "refinement_interpretation_Tm_refine_3c40c68998e031e6744deee90305e0e2", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", + "refinement_interpretation_Tm_refine_43058a325e271c84cdddd4bb5cf626de", + "refinement_interpretation_Tm_refine_71abb27e82b0c356f50fe92b2fe580a1", "token_correspondence_Ex12f.TMAC.bspec", "typing_Ex12.Pad.encode" ], 0, - "2906d03ecc49f390c66d5356aaaddacd" + "aee38bee41fe7ae4e3c5ff5e589a0efb" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/Ex12g.TMAC2.fst.hints b/doc/tutorial/code/solutions/Ex12g.TMAC2.fst.hints index 04e6648aa12..e9f7d6fb428 100644 --- a/doc/tutorial/code/solutions/Ex12g.TMAC2.fst.hints +++ b/doc/tutorial/code/solutions/Ex12g.TMAC2.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "db2241967400ab19e2614db87e6e683d" + "03d4f4aeb989d0e87d0c7ce967c8373c" ], [ "Ex12g.TMAC2.bspec1", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "b45ddd35665881e459aad6401fc0af26" + "989c2ae2e7f8cc270fdc26537e85a26d" ], [ "Ex12g.TMAC2.keygen", @@ -26,21 +26,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Ex12g.TMAC2_interpretation_Tm_arrow_e87641a489e6795a817e1cb2e2255d32", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "equation_Ex12.BMAC.key", "equation_Ex12.BMAC.pkey", - "equation_Ex12.Pad.block", "equation_Ex12g.TMAC2.text2", - "equation_Prims.logical", "function_token_typing_Ex12g.TMAC2.bspec0", - "partial_app_typing_cef420ad8f8ddf26e23998561b58810d", + "Ex12.BMAC_interpretation_Tm_arrow_ce0c823d76df01d9670b8417aea68ae7", + "Ex12g.TMAC2_interpretation_Tm_arrow_cf20b310f2692239564e86cb4231e614", + "Ex12g.TMAC2_interpretation_Tm_arrow_cfecfaa75515b6c7a02161ace50f71c9", + "equation_Ex12.BMAC.pkey", "equation_Prims.logical", + "function_token_typing_Ex12g.TMAC2.bspec0", + "function_token_typing_Ex12g.TMAC2.bspec1", "proj_equation_Ex12g.TMAC2.Keys_k0", "proj_equation_Ex12g.TMAC2.Keys_k1", "projection_inverse_Ex12g.TMAC2.Keys_k0", "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_cdab0a4f5774a60caddf7613d39bb432", + "refinement_interpretation_Tm_refine_cf4b96afb14879fedb96bcc2ed0b9772", "typing_Ex12.BMAC.keygen" ], 0, - "b72879698a1e88aa920452807433cb7d" + "fd65b1ce88139424fc81992c6aef5f23" ], [ "Ex12g.TMAC2.mac", @@ -48,34 +48,30 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12.Pad.blocksize", "equation_Ex12.Pad.bytes", - "equation_Ex12.Pad.text", "equation_Ex12g.TMAC2.bspec0", - "equation_Ex12g.TMAC2.bspec1", "equation_Ex12g.TMAC2.pkey", - "equation_Ex12g.TMAC2.text2", "equation_Prims.nat", - "function_token_typing_Ex12.BMAC.key_prop", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_Ex12.Pad.inj", - "lemma_FStar.Seq.Base.lemma_eq_elim", "primitive_Prims.op_LessThan", - "proj_equation_Ex12g.TMAC2.Keys_k0", + "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.blocksize", + "equation_Ex12.Pad.bytes", "equation_Ex12.Pad.text", + "equation_Ex12g.TMAC2.bspec0", "equation_Ex12g.TMAC2.bspec1", + "equation_Ex12g.TMAC2.pkey", "equation_Ex12g.TMAC2.text2", + "equation_Prims.nat", "function_token_typing_Ex12.BMAC.key_prop", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_Ex12.Pad.inj", "lemma_FStar.Seq.Base.lemma_eq_elim", + "primitive_Prims.op_LessThan", "proj_equation_Ex12g.TMAC2.Keys_k0", "proj_equation_Ex12g.TMAC2.Keys_k1", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Ex12g.TMAC2.Keys_k0", "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_45a206d1d193e343e59b984425d67bcf", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9a019c37bda9aa395e0805475b581d9a", + "refinement_interpretation_Tm_refine_e3d4eb3b9c71d04bf5e6aaaac2533376", + "refinement_interpretation_Tm_refine_e7d49a12d3df8c08b458b9f6bfd3dbdf", "refinement_interpretation_Tm_refine_f62a4b8b0af8dcca8132351ce07f1d2d", "token_correspondence_Ex12g.TMAC2.bspec0", "token_correspondence_Ex12g.TMAC2.bspec1", "typing_FStar.Seq.Base.length" ], 0, - "8f6f1262eaa078d9630775241e46af58" + "dd4c2ad922ba6d70b65d2d811592295d" ], [ "Ex12g.TMAC2.verify", @@ -83,34 +79,31 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12.Pad.block", "equation_Ex12.Pad.blocksize", - "equation_Ex12.Pad.bytes", "equation_Ex12.Pad.nbytes", - "equation_Ex12.Pad.text", "equation_Ex12g.TMAC2.bspec0", - "equation_Ex12g.TMAC2.bspec1", "equation_Ex12g.TMAC2.pkey", - "equation_Ex12g.TMAC2.text2", "equation_Prims.nat", - "function_token_typing_Ex12.BMAC.key_prop", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", - "primitive_Prims.op_LessThan", "proj_equation_Ex12g.TMAC2.Keys_k0", + "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.block", + "equation_Ex12.Pad.blocksize", "equation_Ex12.Pad.bytes", + "equation_Ex12.Pad.nbytes", "equation_Ex12.Pad.text", + "equation_Ex12g.TMAC2.bspec0", "equation_Ex12g.TMAC2.bspec1", + "equation_Ex12g.TMAC2.pkey", "equation_Ex12g.TMAC2.text2", + "equation_Prims.nat", "function_token_typing_Ex12.BMAC.key_prop", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_LessThan", + "proj_equation_Ex12g.TMAC2.Keys_k0", "proj_equation_Ex12g.TMAC2.Keys_k1", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Ex12g.TMAC2.Keys_k0", "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_45a206d1d193e343e59b984425d67bcf", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_43058a325e271c84cdddd4bb5cf626de", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9a019c37bda9aa395e0805475b581d9a", + "refinement_interpretation_Tm_refine_e7d49a12d3df8c08b458b9f6bfd3dbdf", "refinement_interpretation_Tm_refine_f62a4b8b0af8dcca8132351ce07f1d2d", "token_correspondence_Ex12g.TMAC2.bspec0", "token_correspondence_Ex12g.TMAC2.bspec1", "typing_FStar.Seq.Base.length" ], 0, - "3c0ace653bb33a742740e6c680394fe3" + "9bce26c8eb05eec76feb30670ab88fb9" ], [ "Ex12g.TMAC2.bspec0", @@ -119,7 +112,7 @@ 1, [ "@query" ], 0, - "c025171ff9fed017f0a1d9b032650ba3" + "3616a158375f4e8f4572e737380f65c5" ], [ "Ex12g.TMAC2.bspec1", @@ -128,7 +121,7 @@ 1, [ "@query" ], 0, - "d7a6cd9bb69c29abd80f53c9b3c44ac2" + "b04f68a878e28dad2c7ed43d88a7a765" ], [ "Ex12g.TMAC2.keygen", @@ -137,21 +130,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Ex12g.TMAC2_interpretation_Tm_arrow_e87641a489e6795a817e1cb2e2255d32", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "equation_Ex12.BMAC.key", "equation_Ex12.BMAC.pkey", - "equation_Ex12.Pad.block", "equation_Ex12g.TMAC2.text2", - "equation_Prims.logical", "function_token_typing_Ex12g.TMAC2.bspec0", - "partial_app_typing_cef420ad8f8ddf26e23998561b58810d", + "Ex12.BMAC_interpretation_Tm_arrow_ce0c823d76df01d9670b8417aea68ae7", + "Ex12g.TMAC2_interpretation_Tm_arrow_cf20b310f2692239564e86cb4231e614", + "Ex12g.TMAC2_interpretation_Tm_arrow_cfecfaa75515b6c7a02161ace50f71c9", + "equation_Ex12.BMAC.pkey", "equation_Prims.logical", + "function_token_typing_Ex12g.TMAC2.bspec0", + "function_token_typing_Ex12g.TMAC2.bspec1", "proj_equation_Ex12g.TMAC2.Keys_k0", "proj_equation_Ex12g.TMAC2.Keys_k1", "projection_inverse_Ex12g.TMAC2.Keys_k0", "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_cdab0a4f5774a60caddf7613d39bb432", + "refinement_interpretation_Tm_refine_cf4b96afb14879fedb96bcc2ed0b9772", "typing_Ex12.BMAC.keygen" ], 0, - "be7cdedb479a0da91bf0fdb95fe43376" + "e5e3797dda2c9bb6524bb8bb308c26ba" ], [ "Ex12g.TMAC2.mac", @@ -159,34 +152,30 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12.Pad.blocksize", "equation_Ex12.Pad.bytes", - "equation_Ex12.Pad.text", "equation_Ex12g.TMAC2.bspec0", - "equation_Ex12g.TMAC2.bspec1", "equation_Ex12g.TMAC2.pkey", - "equation_Ex12g.TMAC2.text2", "equation_Prims.nat", - "function_token_typing_Ex12.BMAC.key_prop", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_Ex12.Pad.inj", - "lemma_FStar.Seq.Base.lemma_eq_elim", "primitive_Prims.op_LessThan", - "proj_equation_Ex12g.TMAC2.Keys_k0", + "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.blocksize", + "equation_Ex12.Pad.bytes", "equation_Ex12.Pad.text", + "equation_Ex12g.TMAC2.bspec0", "equation_Ex12g.TMAC2.bspec1", + "equation_Ex12g.TMAC2.pkey", "equation_Ex12g.TMAC2.text2", + "equation_Prims.nat", "function_token_typing_Ex12.BMAC.key_prop", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_Ex12.Pad.inj", "lemma_FStar.Seq.Base.lemma_eq_elim", + "primitive_Prims.op_LessThan", "proj_equation_Ex12g.TMAC2.Keys_k0", "proj_equation_Ex12g.TMAC2.Keys_k1", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Ex12g.TMAC2.Keys_k0", "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_45a206d1d193e343e59b984425d67bcf", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9a019c37bda9aa395e0805475b581d9a", + "refinement_interpretation_Tm_refine_e3d4eb3b9c71d04bf5e6aaaac2533376", + "refinement_interpretation_Tm_refine_e7d49a12d3df8c08b458b9f6bfd3dbdf", "refinement_interpretation_Tm_refine_f62a4b8b0af8dcca8132351ce07f1d2d", "token_correspondence_Ex12g.TMAC2.bspec0", "token_correspondence_Ex12g.TMAC2.bspec1", "typing_FStar.Seq.Base.length" ], 0, - "eb37401f0cfae1d3a7c0b6f4b1f58667" + "0280a736caef5c95d4be089449aa9dfa" ], [ "Ex12g.TMAC2.verify", @@ -194,34 +183,31 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12.Pad.block", "equation_Ex12.Pad.blocksize", - "equation_Ex12.Pad.bytes", "equation_Ex12.Pad.nbytes", - "equation_Ex12.Pad.text", "equation_Ex12g.TMAC2.bspec0", - "equation_Ex12g.TMAC2.bspec1", "equation_Ex12g.TMAC2.pkey", - "equation_Ex12g.TMAC2.text2", "equation_Prims.nat", - "function_token_typing_Ex12.BMAC.key_prop", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", - "primitive_Prims.op_LessThan", "proj_equation_Ex12g.TMAC2.Keys_k0", + "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.block", + "equation_Ex12.Pad.blocksize", "equation_Ex12.Pad.bytes", + "equation_Ex12.Pad.nbytes", "equation_Ex12.Pad.text", + "equation_Ex12g.TMAC2.bspec0", "equation_Ex12g.TMAC2.bspec1", + "equation_Ex12g.TMAC2.pkey", "equation_Ex12g.TMAC2.text2", + "equation_Prims.nat", "function_token_typing_Ex12.BMAC.key_prop", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_LessThan", + "proj_equation_Ex12g.TMAC2.Keys_k0", "proj_equation_Ex12g.TMAC2.Keys_k1", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Ex12g.TMAC2.Keys_k0", "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_0b4eea63038be23ac97553bb7c8a71cc", - "refinement_interpretation_Tm_refine_45a206d1d193e343e59b984425d67bcf", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_43058a325e271c84cdddd4bb5cf626de", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9a019c37bda9aa395e0805475b581d9a", + "refinement_interpretation_Tm_refine_e7d49a12d3df8c08b458b9f6bfd3dbdf", "refinement_interpretation_Tm_refine_f62a4b8b0af8dcca8132351ce07f1d2d", "token_correspondence_Ex12g.TMAC2.bspec0", "token_correspondence_Ex12g.TMAC2.bspec1", "typing_FStar.Seq.Base.length" ], 0, - "1c894bbd24cff278dcecdf712af86d82" + "a8fcd60c888c192ebe0bf938cd976678" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/LowStar.Ex1.fst.hints b/doc/tutorial/code/solutions/LowStar.Ex1.fst.hints index cbc3edf3044..24a1c6eba7f 100644 --- a/doc/tutorial/code/solutions/LowStar.Ex1.fst.hints +++ b/doc/tutorial/code/solutions/LowStar.Ex1.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_FStar.Integers.Signed__0" ], 0, - "e740d8e9c2725e45301554e319f85b6d" + "1a2725da8ed9d9de14b1cec7dbb6b2e4" ], [ "LowStar.Ex1.min_int32", @@ -25,24 +25,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Integers.int_t", "equation_Prims.nat", - "equation_Prims.pos", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "76bf2f8d526cb61d8dbd4f5a9297f763" + "3e3a821f0ce959f2ac7c23f4f3b2ba2c" ], [ "LowStar.Ex1.abs1", @@ -74,30 +70,28 @@ "equation_FStar.Integers.v", "equation_LowStar.Ex1.abs", "equation_LowStar.Ex1.min_int32", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.int", "int_inversion", "int_typing", "lemma_FStar.Int32.uv_inv", "lemma_FStar.Int32.vu_inv", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_044beed7c4e882285765d0f59a64c413", - "refinement_interpretation_Tm_refine_34942728358b2f294486a87d89598bbc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", - "typing_FStar.Int.fits", "typing_FStar.Int.min_int", - "typing_FStar.Int32.int_to_t", "typing_FStar.Int32.sub", - "typing_FStar.Int32.v", "typing_LowStar.Ex1.min_int32", - "typing_Prims.pow2" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f26696e0866dc892be2102019f8da24", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_de03296927e755695593c3efc35c009e", + "typing_FStar.Int.fits", "typing_FStar.Int32.int_to_t", + "typing_FStar.Int32.sub", "typing_FStar.Int32.v", + "typing_LowStar.Ex1.abs", "typing_Prims.pow2" ], 0, - "f5ec22025de5e29e61471b3996ef3f03" + "7d23f31e389a3a1bb7c0833895647d7e" ], [ "LowStar.Ex1.abs2", @@ -137,7 +131,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "5f755a0841239f95775c5f98c6d1e60f" + "dba56640a7f06c11b6edabeadc3565a9" ], [ "LowStar.Ex1.sum3", @@ -162,12 +156,12 @@ "function_token_typing_Prims.int", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_1a59fc9612c859a6093eecd3ed5a0de6", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f476d2b34614a70ed478b4cc915e3adc", "typing_FStar.Int32.add" ], 0, - "c48fef37f1ae7d59b73411713808aec1" + "3081feb5b50a125b3f2e7471e5cfb5ca" ], [ "LowStar.Ex1.abs", @@ -182,7 +176,7 @@ "projection_inverse_FStar.Integers.Signed__0" ], 0, - "ba57c9b0e44b0c03f6e2e93aa56eb7eb" + "6f32378d13c729de0e0974348b37da11" ], [ "LowStar.Ex1.min_int32", @@ -193,24 +187,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Integers.int_t", "equation_Prims.nat", - "equation_Prims.pos", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "be62adad0bb4d31f0d635b2f024453ef" + "c447374c98158d09c6ef645003dae387" ], [ "LowStar.Ex1.abs1", @@ -221,7 +211,6 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", "assumption_FStar.Int32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.W16", @@ -229,11 +218,7 @@ "constructor_distinct_FStar.Integers.W32", "constructor_distinct_FStar.Integers.W8", "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Integers.Signed@tok", "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_FStar.Integers.W16@tok", "equality_tok_FStar.Integers.W31@tok", "equality_tok_FStar.Integers.W32@tok", @@ -244,40 +229,31 @@ "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_FStar.Int32.lt", "equation_FStar.Integers.int", "equation_FStar.Integers.int_32", "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", "equation_LowStar.Ex1.abs", + "equation_FStar.Integers.v", "equation_LowStar.Ex1.abs", "equation_LowStar.Ex1.min_int32", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Integers.int", "function_token_typing_Prims.int", "int_inversion", "int_typing", "lemma_FStar.Int32.uv_inv", "lemma_FStar.Int32.vu_inv", - "lemma_FStar.Pervasives.invertOption", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_044beed7c4e882285765d0f59a64c413", - "refinement_interpretation_Tm_refine_34942728358b2f294486a87d89598bbc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", - "typing_FStar.Int.fits", "typing_FStar.Int.min_int", - "typing_FStar.Int32.int_to_t", "typing_FStar.Int32.sub", - "typing_FStar.Int32.v", "typing_FStar.Integers.nat_of_width", - "typing_FStar.Integers.width_of_sw", "typing_LowStar.Ex1.abs", - "typing_LowStar.Ex1.min_int32", "typing_Prims.pow2", - "typing_tok_FStar.Integers.W32@tok" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f26696e0866dc892be2102019f8da24", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_de03296927e755695593c3efc35c009e", + "typing_FStar.Int.fits", "typing_FStar.Int32.int_to_t", + "typing_FStar.Int32.sub", "typing_FStar.Int32.v", + "typing_LowStar.Ex1.abs", "typing_Prims.pow2" ], 0, - "932a8f6635e21c5f2b6fac2e047b7eb9" + "2bb593aa6f7ea9bbf4634f6ce242ab74" ], [ "LowStar.Ex1.abs1", @@ -305,7 +281,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b4db0676b546c308f5d1353782b1972d" + "917154e14e784fd4555ed9783b6e3010" ], [ "LowStar.Ex1.abs2", @@ -345,7 +321,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "4df03347b811723abf0c14f2863342ec" + "9b84a9c9893e17d88685d5d917f6d65c" ], [ "LowStar.Ex1.abs2", @@ -379,7 +355,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "fd32516b901d72f06768c4627e980d02" + "f6addc998aff964b5e73ad6b0248e95e" ], [ "LowStar.Ex1.sum3", @@ -404,12 +380,12 @@ "function_token_typing_Prims.int", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_1a59fc9612c859a6093eecd3ed5a0de6", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f476d2b34614a70ed478b4cc915e3adc", "typing_FStar.Int32.add" ], 0, - "58e842b771be2981be9077ff733345e8" + "18f2dffa207e56b89e4e0af2a3ba9c74" ], [ "LowStar.Ex1.sum3", @@ -427,7 +403,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a9f65115c98fd56f2adb113bcb29f35f" + "99db825e5cee3d0249eb8774ee36ba55" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/LowStar.Ex2.fst.hints b/doc/tutorial/code/solutions/LowStar.Ex2.fst.hints index e5c7c670b6a..210b71f0ec5 100644 --- a/doc/tutorial/code/solutions/LowStar.Ex2.fst.hints +++ b/doc/tutorial/code/solutions/LowStar.Ex2.fst.hints @@ -9,23 +9,18 @@ [ "@MaxIFuel_assumption", "@query", "assumption_FStar.UInt32.t__uu___haseq", - "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", "function_token_typing_FStar.Integers.uint_32", "function_token_typing_LowStar.Buffer.trivial_preorder", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_create", @@ -37,13 +32,12 @@ "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_12b2a182780bcecc4f0a7c5e19fc30a3", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c6c3ad7585fe375ffc44491b36782f5a", - "refinement_interpretation_Tm_refine_e52bd201319631be9508998cc0151469", + "refinement_interpretation_Tm_refine_96ee7b243fa463162bc5ae7b49acf9a2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "true_interp", "typing_FStar.Seq.Base.create", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", @@ -52,7 +46,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "89d50b7e8b7c69574ee74922c4afc39d" + "4e4a2d95523e0be6d4a203e5ea03fcc3" ], [ "LowStar.Ex2.prefix_equal", @@ -63,19 +57,19 @@ "@MaxIFuel_assumption", "@query", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.uint_32", "equation_FStar.Integers.v", + "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.v", "equation_FStar.UInt.lte", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Ex2.lbuffer", "equation_LowStar.Monotonic.Buffer.length", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", "refinement_interpretation_Tm_refine_058782b7d4bb5815b5309774af61e92e", - "refinement_interpretation_Tm_refine_e295d1a089abf8fd7758b0cf33f12cde" + "refinement_interpretation_Tm_refine_8807cc77b6a1b45afbe57dc1caa2253c" ], 0, - "51b873f75902f114c920ba55b5237df9" + "2b0be58e6a7f114eb3cb291f2a09961c" ], [ "LowStar.Ex2.copy_correct", @@ -84,7 +78,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", @@ -107,14 +100,12 @@ "equation_LowStar.Ex2.lbuffer", "equation_LowStar.Ex2.prefix_equal", "equation_LowStar.Monotonic.Buffer.disjoint", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "function_token_typing_FStar.Integers.uint_32", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Seq.Base.lemma_index_upd1", @@ -136,30 +127,31 @@ "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "refinement_interpretation_Tm_refine_058782b7d4bb5815b5309774af61e92e", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_721fbcd06e3dc0744f369df4f9a3483e", - "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_885ccc4e0bb82568ba4c602dc6916a6e", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8d7ed1682e09432bfec8948bf651dbca", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b19956bfae0655ccba5f3c2047ea166d", + "refinement_interpretation_Tm_refine_b68b35499ebe222676fca06e701c3151", + "refinement_interpretation_Tm_refine_b87c6130a6862c5a75f4ae11bb49e5fd", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "1f5539bf0baafe6ddb3a5b56c38fcb19" + "37f9863a6f0d85f4de6574918aee6166" ], [ "LowStar.Ex2.swap", @@ -175,7 +167,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "55c56fe7275cf4aa8e2094ba56046951" + "3b3b8bc7cde61b2b0483a6091e91cafd" ], [ "LowStar.Ex2.prefix_equal", @@ -186,19 +178,19 @@ "@MaxIFuel_assumption", "@query", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.uint_32", "equation_FStar.Integers.v", + "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.v", "equation_FStar.UInt.lte", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Ex2.lbuffer", "equation_LowStar.Monotonic.Buffer.length", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", "refinement_interpretation_Tm_refine_058782b7d4bb5815b5309774af61e92e", - "refinement_interpretation_Tm_refine_e295d1a089abf8fd7758b0cf33f12cde" + "refinement_interpretation_Tm_refine_8807cc77b6a1b45afbe57dc1caa2253c" ], 0, - "a40609d7c25dbc01edf986b63688b1fa" + "ea025fc13a4ea6e6e2ccf30d08df07ab" ], [ "LowStar.Ex2.copy_correct", @@ -211,7 +203,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "358066b06324ed5500ff5596d2060d25" + "fff654895347d9872a29c8eff4dad8ea" ] ] ] \ No newline at end of file diff --git a/doc/tutorial/code/solutions/LowStar.Ex3.fst b/doc/tutorial/code/solutions/LowStar.Ex3.fst index 0aa92411b07..d59e7abc8d1 100644 --- a/doc/tutorial/code/solutions/LowStar.Ex3.fst +++ b/doc/tutorial/code/solutions/LowStar.Ex3.fst @@ -105,7 +105,7 @@ let push #a (x: t a) (e:a) : Stack unit x *= {v with first=next} unfold inline_for_extraction -let malloc #a (init: a) len = B.malloc #a HS.root init len +let malloc #a (init: a) (len:uint_32{v len > 0}) = B.malloc #a HS.root init len /// Finally, the create function. Find a suitable pre-condition, and reflect the /// semantics and memory changes in the post-condition. diff --git a/doc/tutorial/code/solutions/LowStar.Ex3.fst.hints b/doc/tutorial/code/solutions/LowStar.Ex3.fst.hints index 5779eabbd7a..92167d326ec 100644 --- a/doc/tutorial/code/solutions/LowStar.Ex3.fst.hints +++ b/doc/tutorial/code/solutions/LowStar.Ex3.fst.hints @@ -1,5 +1,5 @@ [ - "8݈:œõ>£&®\u0001Ç(øAQ", + "Þ1foäï\u0007ãDB‚€x›", [ [ "LowStar.Ex3.deref", @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "007e673f2c5fe9a8505ac7c932ce2be8" + "3aed813021cf435fd0aac1bec817eb1c" ], [ "LowStar.Ex3.ok", @@ -21,7 +21,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "0e2274d522c039d9b6ba47ca10cd03bc" + "7fda8767ddb0c3eb193e10592753bf42" ], [ "LowStar.Ex3.repr", @@ -29,27 +29,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", + "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", - "fuel_guarded_inversion_LowStar.Ex3.t_struct", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "equation_LowStar.Monotonic.Buffer.length", + "fuel_guarded_inversion_LowStar.Ex3.t_struct", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -57,19 +48,18 @@ "proj_equation_LowStar.Ex3.Mkt_struct_first", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "refinement_interpretation_Tm_refine_1c708cd7e34b68b1671b772803922296", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "true_interp", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Ex3.__proj__Mkt_struct__item__b", "typing_LowStar.Ex3.__proj__Mkt_struct__item__first", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "186ca90c029a0d1d4728ecf44ca310d6" + "5f7d6f186b991104f3d5cb1402898726" ], [ "LowStar.Ex3.full", @@ -83,7 +73,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d3ebd783e96cd5fe694fdc95c9d9e05c" + "802248157552f209a847c18dea899e06" ], [ "LowStar.Ex3.pop", @@ -91,18 +81,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Integers.Signed", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", "data_typing_intro_LowStar.Ex3.Mkt_struct@tok", "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.head", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -111,35 +96,27 @@ "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Ex3.empty", "equation_LowStar.Ex3.repr", "equation_LowStar.Ex3.t", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Ex3.t_struct", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "kinding_LowStar.Ex3.t_struct@tok", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_index_slice", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.lemma_tail_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_gsub", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r_", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -150,29 +127,29 @@ "proj_equation_LowStar.Ex3.Mkt_struct_total_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_LowStar.Ex3.Mkt_struct_b", "projection_inverse_LowStar.Ex3.Mkt_struct_first", "projection_inverse_LowStar.Ex3.Mkt_struct_total_length", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", "refinement_interpretation_Tm_refine_1c708cd7e34b68b1671b772803922296", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_63a631e79393ba929e2902567c13cd2b", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6176599c7504514fe4aec05a8e5fd39b", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_977b489c8be6233a24b5142fcd6feaf2", + "refinement_interpretation_Tm_refine_996dff392da208e80e127052acbaa5c0", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba3c67d9d773fc08e296a9513cc479ad", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail", @@ -192,7 +169,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "673bbb257dfbf00cb72ddd148ad1a70a" + "34f47961c4ae5f3622811f5bf1b787bd" ], [ "LowStar.Ex3.push", @@ -202,8 +179,8 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Integers.Signed", + "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W16", "constructor_distinct_FStar.Integers.W31", @@ -215,15 +192,11 @@ "equality_tok_FStar.Integers.W16@tok", "equality_tok_FStar.Integers.W31@tok", "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W8@tok", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", - "equation_FStar.Integers.uint_32", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", + "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", + "equation_FStar.Integers.v", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.cons", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -232,13 +205,11 @@ "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Ex3.full", "equation_LowStar.Ex3.repr", "equation_LowStar.Ex3.t", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Ex3.t_struct", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "kinding_LowStar.Ex3.t_struct@tok", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Seq.Base.lemma_create_len", @@ -250,10 +221,7 @@ "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -277,32 +245,33 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_LowStar.Ex3.Mkt_struct_b", "projection_inverse_LowStar.Ex3.Mkt_struct_first", "projection_inverse_LowStar.Ex3.Mkt_struct_total_length", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_1c708cd7e34b68b1671b772803922296", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_45a11d80eab026069b8ed095ec539be7", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5711076e15b5c300150374b612edfb4a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_652bbbdf45596729c838daeb8e71aa70", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_a8d21f72c07c0aab065458cee367f2e1", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b32a60053a47d004a56d580b5bea92be", + "refinement_interpretation_Tm_refine_ba3e6d9345565c0c78f1af7f916d6c04", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_ffa0770a10c366fb97004feeba35a828", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.lte", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "true_interp", "typing_FStar.Integers.v", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Properties.cons", "typing_FStar.UInt.fits", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Ex3.__proj__Mkt_struct__item__b", @@ -318,7 +287,41 @@ "typing_tok_FStar.Integers.W32@tok" ], 0, - "e81396948559d09a23bb15f1f183df8d" + "53f9c7f23a4b42b4c43284bbbe094e16" + ], + [ + "LowStar.Ex3.malloc", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Integers.Unsigned", + "constructor_distinct_FStar.Integers.W32", + "equality_tok_FStar.Integers.W32@tok", + "equation_FStar.HyperStack.ST.is_eternal_region", + "equation_FStar.Integers.v", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_eternal_color", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "function_token_typing_FStar.Monotonic.Heap.heap", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_11e2906e72d0f4dd3f2f3067f294bd52", + "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip" + ], + 0, + "234d280381609f55ce389288fdb23d96" ], [ "LowStar.Ex3.create", @@ -327,16 +330,25 @@ 1, [ "@MaxIFuel_assumption", "@query", + "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", + "constructor_distinct_FStar.Integers.W16", + "constructor_distinct_FStar.Integers.W31", "constructor_distinct_FStar.Integers.W32", + "constructor_distinct_FStar.Integers.W8", "constructor_distinct_FStar.Integers.Winfinite", + "data_typing_intro_FStar.Integers.Unsigned@tok", + "equality_tok_FStar.Integers.W16@tok", + "equality_tok_FStar.Integers.W31@tok", "equality_tok_FStar.Integers.W32@tok", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.is_eternal_region", + "equation_FStar.Integers.fixed_width", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", + "equation_FStar.Integers.v", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_eternal_color", @@ -345,20 +357,17 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.pointer", + "equation_FStar.UInt.size", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Ex3.repr", "equation_LowStar.Ex3.t", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "kinding_LowStar.Ex3.t_struct@tok", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", "kinding_LowStar.Ex3.t_struct@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -366,7 +375,6 @@ "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", @@ -376,7 +384,6 @@ "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", @@ -391,44 +398,49 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_LowStar.Ex3.Mkt_struct_b", "projection_inverse_LowStar.Ex3.Mkt_struct_first", "projection_inverse_LowStar.Ex3.Mkt_struct_total_length", + "refinement_interpretation_Tm_refine_00516ea0af0c597b6ba2424073cabe68", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19", "refinement_interpretation_Tm_refine_1c708cd7e34b68b1671b772803922296", - "refinement_interpretation_Tm_refine_2c83c7bb607ce0f4ff3dd6d04eabda6f", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_5a4f239c0d1af144d5f6f7282bbba14a", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_a4aafb0fc1ce275c8a54dc1a65d1d4ab", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c38a4a4d1032c0699c405e8d3027f02a", - "refinement_interpretation_Tm_refine_edc7386e574756ed3c7fe084e6942e82", - "true_interp", "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_ba3e6d9345565c0c78f1af7f916d6c04", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Integers.v", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.empty", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Ex3.repr", - "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_FStar.UInt32.sub", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Ex3.repr", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_addresses", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.mgsub" + "typing_LowStar.Monotonic.Buffer.mgsub", + "typing_tok_FStar.Integers.W32@tok" ], 0, - "e51d26659fb3e23d73aa4799d4b29c44" + "f9a2420a30f4bf844d456006085f7638" ], [ "LowStar.Ex3.main", @@ -457,7 +469,8 @@ "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_FStar.Integers.int_32", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", + "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", + "equation_FStar.Integers.v", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.mem", @@ -469,11 +482,12 @@ "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Ex3.empty", "equation_LowStar.Ex3.full", "equation_LowStar.Ex3.repr", "equation_LowStar.Ex3.t", + "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.Integers.int_32", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_LowStar.Ex3.t_struct@tok", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", "kinding_LowStar.Ex3.t_struct@tok", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", @@ -484,37 +498,49 @@ "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.len_gsub", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.Ex3.Mkt_struct_b", + "proj_equation_LowStar.Ex3.Mkt_struct_first", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_044beed7c4e882285765d0f59a64c413", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_136531dc39432926ab49765531cf5b7c", "refinement_interpretation_Tm_refine_1c708cd7e34b68b1671b772803922296", + "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_652bbbdf45596729c838daeb8e71aa70", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9a1def063eceb6c4f05f22631b0d72dd", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba3c67d9d773fc08e296a9513cc479ad", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_de03296927e755695593c3efc35c009e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Int.fits", "typing_FStar.Int32.int_to_t", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Properties.cons", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Ex3.repr", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Ex3.__proj__Mkt_struct__item__b", + "typing_LowStar.Ex3.__proj__Mkt_struct__item__first", + "typing_LowStar.Ex3.repr", "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.pow2" + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.mgsub", "typing_Prims.pow2" ], 0, - "64163b7dd7c9de38099a0687bf083cf9" + "dc63b2845520ed9f1224a47265341277" ], [ "LowStar.Ex3.deref", @@ -527,7 +553,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "948e8ea3a6732c4a3af95a6d4b2865c5" + "34491a19974b33896438662ac1c5207e" ], [ "LowStar.Ex3.ok", @@ -536,7 +562,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "2525c4c0faaddddecfd99ae5a2c44dd8" + "d6a5e00a6db7a8c63cbfce058da19e04" ], [ "LowStar.Ex3.repr", @@ -544,27 +570,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", + "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", - "fuel_guarded_inversion_LowStar.Ex3.t_struct", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "equation_LowStar.Monotonic.Buffer.length", + "fuel_guarded_inversion_LowStar.Ex3.t_struct", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -572,19 +589,18 @@ "proj_equation_LowStar.Ex3.Mkt_struct_first", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "refinement_interpretation_Tm_refine_1c708cd7e34b68b1671b772803922296", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "true_interp", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Ex3.__proj__Mkt_struct__item__b", "typing_LowStar.Ex3.__proj__Mkt_struct__item__first", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "0102316c2f071b962eab84aa777b988e" + "a5f02a4a1e10c674206e4b6470b2780c" ], [ "LowStar.Ex3.repr", @@ -599,7 +615,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "5bd62917ff402f878b0e858a900a3498" + "a7a6a28d019e95ecb2a8332de4babf84" ], [ "LowStar.Ex3.empty", @@ -614,7 +630,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "72123292d2e3bf5b3cd9b0805d4bcfc5" + "6f42267b33a79286fc7e30d5fd9e2a11" ], [ "LowStar.Ex3.full", @@ -628,7 +644,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6266bea613ddb0d62be8ef112a0c71bf" + "239fca289d22e3cec968253f1d7e531a" ], [ "LowStar.Ex3.full", @@ -643,7 +659,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "4b512bc74aa9724eca26045971afdcf7" + "ef7623bf38bd0e3607edf4034ab4a3c5" ], [ "LowStar.Ex3.pop", @@ -651,29 +667,26 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Ex3.empty", "equation_LowStar.Ex3.repr", - "equation_LowStar.Ex3.t", "equation_LowStar.Monotonic.Buffer.get", - "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Ex3.t_struct", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_LowStar.Ex3.t_struct@tok", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", "equation_LowStar.Ex3.empty", + "equation_LowStar.Ex3.repr", "equation_LowStar.Ex3.t", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "fuel_guarded_inversion_LowStar.Ex3.t_struct", "int_inversion", + "kinding_LowStar.Ex3.t_struct@tok", "lemma_FStar.Seq.Base.lemma_eq_intro", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_6176599c7504514fe4aec05a8e5fd39b", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba3c67d9d773fc08e296a9513cc479ad", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.get" ], 0, - "3a27e69fa3a17c807823568c50fc3e81" + "bd8cae72cc4726ab2faa57b6b35921ce" ], [ "LowStar.Ex3.push", @@ -682,28 +695,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_652bbbdf45596729c838daeb8e71aa70" + "refinement_interpretation_Tm_refine_b32a60053a47d004a56d580b5bea92be" ], 0, - "009bc8012df3757183036a961d3f901b" + "9c9481d4fd83825ff676ab6b28216fe0" ], [ "LowStar.Ex3.malloc", - 1, + 2, 2, 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_LowStar.Ex3_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55" + "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19" ], 0, - "acb07d4d0bebe6728f876b77cc78830e" + "dd4e29135e593909624030025e81b0de" ], [ "LowStar.Ex3.create", @@ -719,7 +730,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "26b1a1e77e698723f91e0c2893aa8bd1" + "92b1885a17a25cbdd255860f61270ce4" ] ] ] \ No newline at end of file diff --git a/examples/Makefile b/examples/Makefile index f9a1bb7c2aa..747d113f0c1 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -1,6 +1,11 @@ FSTAR_HOME=.. include Makefile.include +# Note: native_tactics is not included in the list below, it is called +# explicitly by the uexamples rule from the Makefile in ../src/Makefile. +# These examples are excluded since the binary package can't verify +# them. + ALL_EXAMPLE_DIRS=\ bug-reports \ data_structures \ @@ -19,17 +24,15 @@ dm4free \ incl \ struct \ micro-benchmarks \ +friends \ tactics \ typeclasses \ miniparse \ kv_parsing \ -lowparse \ low-mitls-experiments \ -vale \ seplogic \ csl \ hello \ -native_tactics \ extraction \ demos \ refinement \ @@ -38,11 +41,8 @@ doublylinkedlist \ regional \ generic \ calc - # low-level \ ... NS: removing from CI for this branch -# WARNING: this target shouldn't depend on anything other than the F* -# binary; in particular it shouldn't depend on OCaml, F#, git, etc. all: $(addsuffix .all, $(ALL_EXAMPLE_DIRS)) %.all: % diff --git a/examples/Makefile.common b/examples/Makefile.common index cfc3063c743..f09d09c21f5 100644 --- a/examples/Makefile.common +++ b/examples/Makefile.common @@ -27,7 +27,7 @@ OUTPUT_DIRECTORY ?= _output CACHE_DIR ?= _cache # Additionaly flags to pass to F* -OTHERFLAGS += --use_extracted_interfaces true --use_hints --use_hint_hashes +OTHERFLAGS += --use_extracted_interfaces true --use_hints ################################################################################ # YOU SHOULDN'T NEED TO TOUCH THE REST diff --git a/examples/Makefile.include b/examples/Makefile.include index dc215dda94c..aff9acc51c7 100644 --- a/examples/Makefile.include +++ b/examples/Makefile.include @@ -14,8 +14,10 @@ else MSBUILD = $(shell which msbuild || (echo '\n\n\033[0;31mWarning:\033[0m could not find "msbuild", trying (deprecated) "xbuild"\n\n'>&2; which xbuild)) endif +# we ignore the return result in benchmark runs because we can have micro-benchmarks which +# produce error asserts when executed with '--admit_smt_queries true' %.uver: %.fst - $(FSTAR) --use_extracted_interfaces true $^ + $(BENCHMARK_PRE) $(FSTAR) --use_extracted_interfaces true $^ %.fail-uver: %.fst (! $(FSTAR) $^ >/dev/null 2>&1) || (echo "NEGATIVE TEST FAILED ($@)!" ; false) diff --git a/examples/algorithms/BinarySearch.fst.hints b/examples/algorithms/BinarySearch.fst.hints index ab0e62123b4..6803a2d0202 100644 --- a/examples/algorithms/BinarySearch.fst.hints +++ b/examples/algorithms/BinarySearch.fst.hints @@ -9,20 +9,20 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_40631cf1613bd65a36aa3dd6d71922f3_2", - "binder_x_91c983007512c26230e70e77760cf63e_3", + "binder_x_a0c32818c122eaa5f9b88dd7e1e770e6_3", + "binder_x_cacff4db2400910b3d1c7580c7f68fbd_2", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_83f587e68677148e460204d370039d71", - "refinement_interpretation_Tm_refine_a93f3eba5c28d8b55b52c4768a290543", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_962160c39ff5919452a89fc96bb8ab37", + "refinement_interpretation_Tm_refine_ed80fe1ad4e7734ec01be94daa525e6f", "well-founded-ordering-on-nat" ], 0, - "957aad83fdfd8b946d3ec81058033756" + "20ef9c5d28408f58765fcaad1e0eb23a" ], [ "BinarySearch.bsearch", @@ -37,11 +37,11 @@ "function_token_typing_Prims.int", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "2e9510fb2fa6a00a0414a6a45d503179" + "5cac27472d77da6190cfc98c06594d55" ], [ "BinarySearch.bsearch_rec_correct", @@ -50,7 +50,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "86b4d17fd61d7caac71cbedb6b6325f6" + "977299a0e8191bd55431db5e938fa472" ], [ "BinarySearch.bsearch_rec_correct", @@ -83,7 +83,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "827bae7f920865ef0aa66c9b8f9b8720" + "ab5c8ffcaedd5dc441cc64c55cbe4ee7" ], [ "BinarySearch.bsearch_rec_correct", @@ -95,10 +95,10 @@ "@fuel_correspondence_BinarySearch.bsearch_rec.fuel_instrumented", "@fuel_irrelevance_BinarySearch.bsearch_rec.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_14633ab2ee7d75f37a87ce355fc0fcea_0", - "binder_x_40631cf1613bd65a36aa3dd6d71922f3_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_91c983007512c26230e70e77760cf63e_3", + "binder_x_a0c32818c122eaa5f9b88dd7e1e770e6_3", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_b061f89c76f17260b094669025fcc479_0", + "binder_x_cacff4db2400910b3d1c7580c7f68fbd_2", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", @@ -111,15 +111,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_3563fa7d995b97274b974a539cb0ae0b", - "refinement_interpretation_Tm_refine_83f587e68677148e460204d370039d71", - "refinement_interpretation_Tm_refine_a93f3eba5c28d8b55b52c4768a290543", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_25b2b33b1d54676a70040d40b5b23ffa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8bc357a1dcdc5dacdcb68b9320883cfc", + "refinement_interpretation_Tm_refine_962160c39ff5919452a89fc96bb8ab37", + "refinement_interpretation_Tm_refine_ed80fe1ad4e7734ec01be94daa525e6f", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "99e22a8672b0f53b2ecabe09eeb9fc8f" + "91cdf88385312f948742b1b809bc3de8" ], [ "BinarySearch.bsearch_correct", @@ -128,7 +128,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "59a5e6f006263fdf80bf9db5bd51b44a" + "3bc7c391dced1c372c75b4ff6bc4f4ee" ], [ "BinarySearch.bsearch_correct", @@ -144,11 +144,11 @@ "function_token_typing_Prims.int", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "f40608bdbcead3dbcaba1c16dc94bb2a" + "45a2b6bc322a470420ab4e2968eef70e" ], [ "BinarySearch.hint1", @@ -157,7 +157,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "7ff8d92f9b97d16f0e1b32e4f933535d" + "eded92ff3318eed979251f1e07ef96f9" ], [ "BinarySearch.hint2", @@ -166,7 +166,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "077ea4b7aa239ec381eb33fb0a091d25" + "73f13916cbe9b098492d0283358554a5" ], [ "BinarySearch.hint2", @@ -175,12 +175,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_edfab47054fddbfbde64ef0b8605bf46" + "refinement_interpretation_Tm_refine_ae62f1b035d3a989d9a98598a75fd6e2" ], 0, - "fe150c7e8fefbad49cc98c319757b57e" + "1682ddd8cdaa418eff51824c47ea3b16" ], [ "BinarySearch.hint3", @@ -189,7 +187,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "a5d4bdbcf8993eb37c4eaf3588fa46c2" + "7318c9e0e4134539a886af860ec19244" ], [ "BinarySearch.hint4", @@ -198,7 +196,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "3341b0c5515cacee25b0c098b1e6069c" + "944cb3483044074d8ef046d011595b12" ], [ "BinarySearch.hint4", @@ -207,12 +205,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_edfab47054fddbfbde64ef0b8605bf46" + "refinement_interpretation_Tm_refine_ae62f1b035d3a989d9a98598a75fd6e2" ], 0, - "6bc507671e3577c3c1db9f87ef93a0fa" + "7bbb46715f21b379f4da541ad20833ee" ], [ "BinarySearch.bsearch_rec_complete", @@ -244,7 +240,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "cfe08992a4776971e5b61bd5b63efcdc" + "82b09f7fdce090c77bc13c62c6c07a60" ], [ "BinarySearch.bsearch_rec_complete", @@ -256,10 +252,10 @@ "@fuel_correspondence_BinarySearch.bsearch_rec.fuel_instrumented", "@fuel_irrelevance_BinarySearch.bsearch_rec.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_14633ab2ee7d75f37a87ce355fc0fcea_0", - "binder_x_40631cf1613bd65a36aa3dd6d71922f3_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_91c983007512c26230e70e77760cf63e_3", + "binder_x_a0c32818c122eaa5f9b88dd7e1e770e6_3", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_b061f89c76f17260b094669025fcc479_0", + "binder_x_cacff4db2400910b3d1c7580c7f68fbd_2", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", @@ -271,16 +267,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3563fa7d995b97274b974a539cb0ae0b", - "refinement_interpretation_Tm_refine_83f587e68677148e460204d370039d71", - "refinement_interpretation_Tm_refine_a93f3eba5c28d8b55b52c4768a290543", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_ec38386570c749b5d402ab99f24e059a", + "refinement_interpretation_Tm_refine_25b2b33b1d54676a70040d40b5b23ffa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d83d963caacf9bddc51fd16ab4719b0", + "refinement_interpretation_Tm_refine_8bc357a1dcdc5dacdcb68b9320883cfc", + "refinement_interpretation_Tm_refine_962160c39ff5919452a89fc96bb8ab37", + "refinement_interpretation_Tm_refine_ed80fe1ad4e7734ec01be94daa525e6f", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "f0bba71bde1af15d764f7871b04276d6" + "231fac6bad2e22a14b71e3dd6c97d349" ], [ "BinarySearch.bsearch_complete", @@ -296,11 +292,11 @@ "function_token_typing_Prims.int", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "1372385164abc188d5943bfe329a6e0e" + "0981fefe5e162a1170fcabe5d5ee09f3" ], [ "BinarySearch.bsearch_rec", @@ -310,20 +306,20 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_40631cf1613bd65a36aa3dd6d71922f3_2", - "binder_x_91c983007512c26230e70e77760cf63e_3", + "binder_x_a0c32818c122eaa5f9b88dd7e1e770e6_3", + "binder_x_cacff4db2400910b3d1c7580c7f68fbd_2", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_83f587e68677148e460204d370039d71", - "refinement_interpretation_Tm_refine_a93f3eba5c28d8b55b52c4768a290543", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_962160c39ff5919452a89fc96bb8ab37", + "refinement_interpretation_Tm_refine_ed80fe1ad4e7734ec01be94daa525e6f", "well-founded-ordering-on-nat" ], 0, - "c2f33f30a7f26c84b703aeff9ffc1f27" + "91334c666f7126e20d8ae10f761e4caf" ], [ "BinarySearch.bsearch", @@ -338,11 +334,11 @@ "function_token_typing_Prims.int", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "e81080c9326b3904e264fa054d7c2ce2" + "b3051eedc7a71e4a75e11c885e9f054c" ], [ "BinarySearch.bsearch_rec_correct", @@ -351,7 +347,7 @@ 1, [ "@query" ], 0, - "9a4c60a792fb83e2fa64a0d182476b6a" + "909fbbe17c337b123b141c6ab3fed0e5" ], [ "BinarySearch.bsearch_correct", @@ -360,7 +356,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "730a57da616311b4fa4972a0d2f81cc7" + "6ca86d1419b76b08a94c03bd9111c1b5" ], [ "BinarySearch.hint2", @@ -369,7 +365,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "3f6fb2219c241c9dfc7b22ca7518ca4b" + "f8e1bc904e99d3673766fb250a2ed920" ], [ "BinarySearch.hint4", @@ -378,7 +374,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "0d128fedfcda3865031fdfc191f36a13" + "ed5dbba2ef857d6cae204fe28a0c4368" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/GC.fst.hints b/examples/algorithms/GC.fst.hints index 399f9b36481..b840c779338 100644 --- a/examples/algorithms/GC.fst.hints +++ b/examples/algorithms/GC.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_GC.mem_addr", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", + "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fead18ae76b3963f00796d87fc567936" + "9ce515a377a86088ec85e8ea41ddd7c3" ], [ "GC.inv", @@ -22,7 +22,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "e331aebafaee241719f07a6cdab95b67" + "8975050b9df4adffeab7962f626f3bc2" ], [ "GC.gc_inv", @@ -31,7 +31,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "21614209ba32b986a7ac8aad7bd41370" + "37b9daa4797acf8c1f3aceac0e372de6" ], [ "GC.mutator_inv", @@ -40,7 +40,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "e07c82529dab325bcca96728014073d5" + "27e5617fa6087d6d04fe8cda11d800fa" ], [ "GC.init_invariant", @@ -57,7 +57,7 @@ "typing_GC.mem_hi", "typing_GC.mem_lo" ], 0, - "eff2aaef04b471ae0322dc4726b018ad" + "92da9a663d4e2df50aebd6d42750969e" ], [ "GC.upd_map2", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5b7c8a8893624d135d63646328fbd33d" + "1ea258e6b2cd0d61fe8c266e5f1eb86e" ], [ "GC.initialize", @@ -80,9 +80,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "GC_pretyping_27e56dec3f0cf9a6af115223c7bb363f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "data_typing_intro_GC.Gray@tok", + "GC_interpretation_Tm_arrow_4a7f36b0bf2a2668069bf870c5d90346", + "GC_pretyping_27e56dec3f0cf9a6af115223c7bb363f", "bool_inversion", + "bool_typing", "data_typing_intro_GC.White@tok", "equality_tok_GC.Unalloc@tok", "equation_GC.init_invariant", "equation_GC.is_mem_addr", "equation_GC.mem_addr", "equation_GC.mutator_inv", "equation_GC.obj_inv", @@ -90,10 +90,8 @@ "equation_Prims.eqtype", "fuel_guarded_inversion_GC.gc_state", "function_token_typing_GC.__proj__Mkgc_state__item__color", "function_token_typing_GC.__proj__Mkgc_state__item__to_abs", - "function_token_typing_GC.mem_hi", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", "int_inversion", + "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -105,16 +103,17 @@ "projection_inverse_GC.Mkgc_state_color", "projection_inverse_GC.Mkgc_state_to_abs", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5841fc9672dd1288ebebd15c041dda75", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", + "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", + "refinement_interpretation_Tm_refine_6faaaf327b122a7307a5bdd1f21b4925", + "refinement_interpretation_Tm_refine_de0b2ced8c60ecfc378f030298f31d2b", + "refinement_interpretation_Tm_refine_ebe8d554029941ff856db931e680cc38", "token_correspondence_GC.__proj__Mkgc_state__item__color", "token_correspondence_GC.__proj__Mkgc_state__item__to_abs", "token_correspondence_GC.upd_map", "typing_GC.is_mem_addr", - "typing_GC.mem_hi", "typing_GC.mem_lo" + "typing_GC.mem_hi", "typing_GC.mem_lo", "typing_GC.valid" ], 0, - "a6bac58cebd0551924eca0241c40fea9" + "cf93794f8a239b302e29ea6f2e9ee16c" ], [ "GC.read_field", @@ -131,7 +130,7 @@ "true_interp" ], 0, - "1e8641cbaec9b76c962b6ed542dfc850" + "4cbe0c78ca6f5159f76d521a33c2958d" ], [ "GC.write_field", @@ -141,7 +140,6 @@ [ "@MaxIFuel_assumption", "@query", "GC_pretyping_ab0ffb7fae1c8ce581a4f6505251cb9c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_GC.field__uu___haseq", "b2t_def", "data_typing_intro_GC.F2@tok", "equation_GC.mem_addr", @@ -153,11 +151,8 @@ "fuel_guarded_inversion_GC.gc_state", "function_token_typing_GC.__proj__Mkgc_state__item__color", "function_token_typing_GC.__proj__Mkgc_state__item__to_abs", - "function_token_typing_GC.abs_node", - "function_token_typing_GC.mem_addr", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", "int_inversion", + "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "int_inversion", "kinding_GC.field@tok", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", "proj_equation_GC.Mkgc_state_abs_fields", @@ -172,7 +167,8 @@ "projection_inverse_GC.Mkgc_state_fields", "projection_inverse_GC.Mkgc_state_to_abs", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", + "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", + "refinement_kinding_Tm_refine_5248130f0b0d7223b3b6331b13742bec", "token_correspondence_GC.__proj__Mkgc_state__item__abs_fields", "token_correspondence_GC.__proj__Mkgc_state__item__color", "token_correspondence_GC.__proj__Mkgc_state__item__fields", @@ -180,7 +176,7 @@ "token_correspondence_GC.upd_map", "typing_GC.abs_node" ], 0, - "8e522e5e9bbf52fec959893f8d428f25" + "d5c5857e08986f6bf21640f09c3d01c7" ], [ "GC.mark", @@ -189,7 +185,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "0565c19322d45674998d23fc3420db65" + "309d8e24fab4275db8cc5a0986c9dd3f" ], [ "GC.mark", @@ -198,10 +194,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "GC_interpretation_Tm_arrow_1c934b2dbc94335349cdbd8163b11ccd", - "GC_interpretation_Tm_arrow_85d77e7f1044a636ddfec65bfc9637ca", + "GC_interpretation_Tm_arrow_5d846e8dc8d50e58c30aadcda1836791", + "GC_interpretation_Tm_arrow_8a489a1ce9a7529b6a3d787337d565d5", "GC_pretyping_ab0ffb7fae1c8ce581a4f6505251cb9c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_GC.color__uu___haseq", "b2t_def", "bool_inversion", "constructor_distinct_GC.Black", "constructor_distinct_GC.Gray", "constructor_distinct_GC.Unalloc", "constructor_distinct_GC.White", @@ -221,10 +216,8 @@ "function_token_typing_GC.__proj__Mkgc_state__item__abs_fields", "function_token_typing_GC.__proj__Mkgc_state__item__fields", "function_token_typing_GC.__proj__Mkgc_state__item__to_abs", - "function_token_typing_GC.mem_addr", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", "int_inversion", + "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "int_inversion", "kinding_GC.field@tok", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", "proj_equation_GC.Mkgc_state_abs_fields", @@ -237,7 +230,8 @@ "projection_inverse_GC.Mkgc_state_fields", "projection_inverse_GC.Mkgc_state_to_abs", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", + "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", + "refinement_kinding_Tm_refine_5248130f0b0d7223b3b6331b13742bec", "token_correspondence_GC.__proj__Mkgc_state__item__abs_fields", "token_correspondence_GC.__proj__Mkgc_state__item__color", "token_correspondence_GC.__proj__Mkgc_state__item__fields", @@ -247,7 +241,7 @@ "typing_tok_GC.F1@tok", "typing_tok_GC.F2@tok" ], 0, - "239d9afc1cc6a549cacf60fcaf1b447e" + "bf40465df528e5abb321c72071a006fe" ], [ "GC.sweep_aux_inv", @@ -256,7 +250,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "1bf0a53232836dc43619f0e7759ec88f" + "140a91225eb7f44516851feabcd27a56" ], [ "GC.test1", @@ -271,11 +265,12 @@ "fuel_guarded_inversion_GC.gc_state", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", + "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", + "refinement_interpretation_Tm_refine_f553b977ea0fa6fdaa40cec4020faa7f", "typing_GC.mem_hi" ], 0, - "bf792e80d7bf44a1e2d5e427689a8521" + "5c65ed42a54980096dd8b56f29369de7" ], [ "GC.test2", @@ -294,11 +289,12 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", + "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", + "refinement_interpretation_Tm_refine_6faaaf327b122a7307a5bdd1f21b4925", "typing_GC.is_mem_addr", "typing_GC.mem_lo" ], 0, - "2a54212040860717f5c71dfe256293ab" + "456435605309bee9479e58ed0c65d67a" ], [ "GC.sweep", @@ -307,7 +303,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "99a5fd56e9c1ba542ac051f80bd206c0" + "fe64c52c9cce3560255d211f4916ed54" ], [ "GC.sweep", @@ -316,16 +312,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "GC_interpretation_Tm_arrow_85d77e7f1044a636ddfec65bfc9637ca", + "GC_interpretation_Tm_arrow_4a7f36b0bf2a2668069bf870c5d90346", + "GC_interpretation_Tm_arrow_8a489a1ce9a7529b6a3d787337d565d5", "GC_pretyping_27e56dec3f0cf9a6af115223c7bb363f", "GC_pretyping_a533f368358fdb323ab3d296484acc80", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_GC.color__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_GC.Black", "constructor_distinct_GC.Gray", "constructor_distinct_GC.Unalloc", "constructor_distinct_GC.White", "data_elim_GC.Mkgc_state", - "data_typing_intro_GC.Gray@tok", "equality_tok_GC.Black@tok", + "data_typing_intro_GC.White@tok", "equality_tok_GC.Black@tok", "equality_tok_GC.Gray@tok", "equality_tok_GC.Unalloc@tok", "equality_tok_GC.White@tok", "equation_GC.abs_map", "equation_GC.color_map", "equation_GC.gc_inv", @@ -339,10 +334,8 @@ "function_token_typing_GC.__proj__Mkgc_state__item__abs_fields", "function_token_typing_GC.__proj__Mkgc_state__item__fields", "function_token_typing_GC.__proj__Mkgc_state__item__to_abs", - "function_token_typing_GC.mem_hi", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", "int_inversion", + "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -358,8 +351,9 @@ "projection_inverse_GC.Mkgc_state_fields", "projection_inverse_GC.Mkgc_state_to_abs", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", + "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", + "refinement_interpretation_Tm_refine_6faaaf327b122a7307a5bdd1f21b4925", + "refinement_interpretation_Tm_refine_ebe8d554029941ff856db931e680cc38", "token_correspondence_GC.__proj__Mkgc_state__item__abs_fields", "token_correspondence_GC.__proj__Mkgc_state__item__color", "token_correspondence_GC.__proj__Mkgc_state__item__fields", @@ -370,7 +364,7 @@ "typing_GC.valid", "unit_inversion", "unit_typing" ], 0, - "00b89bbf444cd26f021bff52b6248d87" + "9929d7ff0733bd6eb74e5cb50ab1e347" ], [ "GC.gc", @@ -404,7 +398,7 @@ "typing_GC.mem_lo" ], 0, - "613ef3abf9304d77b16e8c1c98c928e9" + "b722345d0c030dd567b4c7e1edee8ee8" ], [ "GC.alloc", @@ -413,15 +407,14 @@ 1, [ "@MaxIFuel_assumption", "@query", + "GC_interpretation_Tm_arrow_4a7f36b0bf2a2668069bf870c5d90346", "GC_pretyping_27e56dec3f0cf9a6af115223c7bb363f", "GC_pretyping_ab0ffb7fae1c8ce581a4f6505251cb9c", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_GC.color__uu___haseq", "assumption_GC.field__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_GC.Unalloc", "constructor_distinct_GC.White", - "data_typing_intro_GC.F2@tok", "data_typing_intro_GC.Gray@tok", + "data_typing_intro_GC.F2@tok", "data_typing_intro_GC.White@tok", "equality_tok_GC.F1@tok", "equality_tok_GC.F2@tok", "equality_tok_GC.Unalloc@tok", "equality_tok_GC.White@tok", "equation_GC.is_mem_addr", "equation_GC.mem_addr", @@ -433,11 +426,8 @@ "fuel_guarded_inversion_GC.field", "fuel_guarded_inversion_GC.gc_state", "function_token_typing_GC.__proj__Mkgc_state__item__to_abs", - "function_token_typing_GC.mem_addr", - "function_token_typing_GC.mem_hi", "function_token_typing_GC.mem_lo", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", "int_inversion", + "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "int_inversion", "int_typing", "kinding_GC.field@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -454,9 +444,10 @@ "projection_inverse_GC.Mkgc_state_fields", "projection_inverse_GC.Mkgc_state_to_abs", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_bca617b1b2ea961e009f31145da5d056", - "refinement_interpretation_Tm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", + "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", + "refinement_interpretation_Tm_refine_6faaaf327b122a7307a5bdd1f21b4925", + "refinement_interpretation_Tm_refine_ebe8d554029941ff856db931e680cc38", + "refinement_kinding_Tm_refine_5248130f0b0d7223b3b6331b13742bec", "token_correspondence_GC.__proj__Mkgc_state__item__abs_fields", "token_correspondence_GC.__proj__Mkgc_state__item__color", "token_correspondence_GC.__proj__Mkgc_state__item__fields", @@ -465,7 +456,7 @@ "typing_GC.mem_hi", "typing_GC.mem_lo", "typing_GC.valid" ], 0, - "dcb07ab581fdae31be5e6aade6da49d6" + "021967e1934522a2b666c857d6c2fb7f" ], [ "GC.to_abs_inj", @@ -475,11 +466,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_GC.mem_addr", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", + "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7fc4800b0ef81d6b28f98e828a63bfbc" + "42954ee522435dfeeea77f1137f3772f" ], [ "GC.inv", @@ -488,7 +479,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "5835988b72ba54e6b1a5a0b4d8f43e55" + "e7fe4f5df74c540b5a4a3397fad4d89b" ], [ "GC.gc_inv", @@ -497,7 +488,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "43104cbd61cb9816d730ee3cb846a6b2" + "39e3de2b5913e0c671200835acd604a6" ], [ "GC.mutator_inv", @@ -506,7 +497,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "c78e65181fbfc1cd6f9f3e9db545b0aa" + "b69f81574d1bc57c6053427e6639ea35" ], [ "GC.init_invariant", @@ -523,7 +514,7 @@ "typing_GC.mem_hi", "typing_GC.mem_lo" ], 0, - "a5bdb54b45a6ec8f2d005162c92b2508" + "ecd09c2b5554c2b7996804e35bdc7166" ], [ "GC.upd_map2", @@ -537,7 +528,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0bcb223769c009f02af07d46acb64c91" + "ec2516f799e853378616dd03cbd04e9c" ], [ "GC.mark", @@ -546,7 +537,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "1fd8dd1108bfb568665d94a55f35a154" + "3073b783f651b7b2ff2ddf66f0c94905" ], [ "GC.sweep_aux_inv", @@ -555,7 +546,7 @@ 1, [ "@query", "assumption_GC.color__uu___haseq" ], 0, - "7a10d020629692a4a74c02fdfc8dadd3" + "352ca6e43a226b36a047d9f3d671f752" ], [ "GC.test1", @@ -570,11 +561,12 @@ "fuel_guarded_inversion_GC.gc_state", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", + "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", + "refinement_interpretation_Tm_refine_f553b977ea0fa6fdaa40cec4020faa7f", "typing_GC.mem_hi" ], 0, - "696b18af74831869627d4b5c412c77a7" + "13e817a82e24e93893b007cb06269601" ], [ "GC.test2", @@ -593,11 +585,12 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e46d229b93cb6c2384a9a7b31bf0aa27", + "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", + "refinement_interpretation_Tm_refine_6faaaf327b122a7307a5bdd1f21b4925", "typing_GC.is_mem_addr", "typing_GC.mem_lo" ], 0, - "0cd866cdafc1c9975be86399136bbb81" + "f6b3d46dc1c22e55d5b6b3ccdcbee51c" ], [ "GC.sweep", @@ -656,7 +649,7 @@ "typing_GC.valid" ], 0, - "96236f08d016d470b5450865168a7b8e" + "8a14d43173a0322b3bbe52cfad5f901d" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/Huffman.fst.hints b/examples/algorithms/Huffman.fst.hints index 00591a4284b..1e7aa6080b5 100644 --- a/examples/algorithms/Huffman.fst.hints +++ b/examples/algorithms/Huffman.fst.hints @@ -7,18 +7,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Huffman.symbol", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Huffman.symbol", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_Huffman.symbol" ], 0, - "cb268747d231a572f8322aae507fca03" + "47f1518d51da14f077bee5df25957143" ], [ "Huffman.__proj__Leaf__item__w", @@ -31,7 +28,7 @@ "refinement_interpretation_Tm_refine_673d4504dc1e4cbbf78a6d1db34013a8" ], 0, - "4e137420bcfe5be4d4c4d509d2164ff7" + "2e3ea4174bf95b1eb91738f724509b33" ], [ "Huffman.__proj__Leaf__item__s", @@ -44,7 +41,7 @@ "refinement_interpretation_Tm_refine_673d4504dc1e4cbbf78a6d1db34013a8" ], 0, - "ce81a99dd30a85a9e2c6d08b811e6d32" + "4d6466bd5343aff3dd5c08a4ae2eeedc" ], [ "Huffman.__proj__Node__item__w", @@ -57,7 +54,7 @@ "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" ], 0, - "0a1cf7683a28310e6f8691a6ce53b933" + "581db748dc9c44034687d674b00901ad" ], [ "Huffman.__proj__Node__item__l", @@ -70,7 +67,7 @@ "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" ], 0, - "2e6d11e8237292858b87920f5292b287" + "7d257fc7ea57ace455eb9dce9265479f" ], [ "Huffman.__proj__Node__item__r", @@ -83,7 +80,7 @@ "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" ], 0, - "29e768598c89f0b2e03eb502e67b29d9" + "891875a41b0a03f696a2f7e55caeaf7f" ], [ "Huffman.weight", @@ -95,7 +92,7 @@ "disc_equation_Huffman.Node", "fuel_guarded_inversion_Huffman.trie" ], 0, - "918382732a7a00910b3d5a5f9d979a67" + "d2494e99cc2367fc2776f13511084f1d" ], [ "Huffman.sorted", @@ -112,7 +109,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "459f94d21f87768321ee5a77ee37afc7" + "533eaf29b4f6430d62686e1e1dc55f1a" ], [ "Huffman.permutation", @@ -123,11 +120,11 @@ "@MaxIFuel_assumption", "@query", "assumption_Huffman.trie__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "057e66f49c16a8d3173436874dd37424" + "65243ef70b63ddb0cd03c2552f7ccb9c" ], [ "Huffman.sorted_smaller", @@ -136,7 +133,7 @@ 1, [ "@query", "assumption_Huffman.trie__uu___haseq" ], 0, - "4ba7ed049d774497e8be10a87a89b50a" + "3a6dc48208dedfbe1119e760ad2e7cf5" ], [ "Huffman.sorted_smaller", @@ -174,7 +171,7 @@ "typing_Huffman.leq_trie", "unit_inversion", "unit_typing" ], 0, - "60f24a2f5d9c69a0d65f5a58b7c30748" + "c5f37529a2342acf8c82fa939d1b9bc6" ], [ "Huffman.sorted_smaller", @@ -212,7 +209,7 @@ "typing_Huffman.sorted", "unit_inversion", "unit_typing" ], 0, - "56c45622cad5749d5569b44c1815db99" + "581a88f944e6708d12490c83373cddbc" ], [ "Huffman.insert_in_sorted", @@ -250,7 +247,7 @@ "subterm_ordering_Prims.Cons", "typing_Huffman.sorted" ], 0, - "77fb9a15d5df4fda4c496acc503b9486" + "53466127de7517a9faa8513f7d009970" ], [ "Huffman.insertion_sort", @@ -284,7 +281,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "aa005cc2b3fe1fe30af901eb930b525f" + "9688a1945079c277aaa83ed4e5f7b151" ], [ "Huffman.huffman_trie", @@ -299,11 +296,9 @@ "@fuel_correspondence_Huffman.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Huffman.sorted.fuel_instrumented", "@query", - "Huffman_interpretation_Tm_arrow_e471186fbd62b3c1840ee632070a13b5", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Huffman_interpretation_Tm_arrow_f850f6e4b822503611af590972588df1", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_08251f7dff76731601212468f6d19505_0", "bool_inversion", "constructor_distinct_Huffman.Node", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -319,7 +314,6 @@ "equation_with_fuel_Huffman.sorted.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Huffman.uu___is_Node", - "function_token_typing_Prims.__cache_version_number__", "kinding_Huffman.trie@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", @@ -330,11 +324,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bc11c9111db95195a9afb41409c4d94d", "refinement_interpretation_Tm_refine_d687cd2c4dae2d932b2d75511d723aa1", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_Huffman.sorted.fuel_instrumented", "token_correspondence_Huffman.uu___is_Node", @@ -345,7 +339,7 @@ "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" ], 0, - "a7a98b14d67c5b41461f83e1429a0699" + "6b273c5c817b39cda1966865ec105513" ], [ "Huffman.huffman", @@ -359,22 +353,22 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@query", - "Huffman_interpretation_Tm_arrow_1821e75517a239bcdbc5c180eaa8516e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Huffman_interpretation_Tm_arrow_1b2c1158b4e255fba8fc2a87483a87ec", "equation_Huffman.permutation", "equation_Huffman.symbol", "equation_Prims.eqtype", "equation_Prims.pos", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.pos", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Huffman.trie@tok", "lemma_FStar.List.Tot.Properties.map_lemma", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Huffman.symbol", - "typing_Tm_abs_ad51fb4952aac0aa2757d5ed06b71afb" + "typing_Tm_abs_6533a4f83db3855fa174143ac8c4ac82" ], 0, - "235fcf5da2275470e6036032d9ef7c4e" + "b3fe657c377f19da912f705401b1b33b" ], [ "Huffman.encode_one", @@ -399,7 +393,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "98fc73a44cb784f67960f9bfdd234f2d" + "ea68df787ae5f58664d4f0c575690e3b" ], [ "Huffman.encode", @@ -448,7 +442,7 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v" ], 0, - "27919d57969b835b982e4f1c40eb29b2" + "11a4704258208327dfd2e311cb8afc1d" ], [ "Huffman.encode", @@ -495,7 +489,7 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v" ], 0, - "f570c6912391c5948955148f088ccbf4" + "616a0df7130dbd3560a4983515d0b0fc" ], [ "Huffman.decode_one", @@ -540,7 +534,7 @@ "subterm_ordering_Huffman.Node" ], 0, - "24207106f7b1c8d7f0be03c76662bd43" + "520232ebc40f440e373a300ce2550fcc" ], [ "Huffman.decode_one", @@ -553,7 +547,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_47e04024252030d43f7aef842c456923_1", + "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_1", "binder_x_7e0e32870af72b30cad3010be3cb1c4f_0", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Huffman.Leaf", @@ -588,7 +582,7 @@ "subterm_ordering_Huffman.Node" ], 0, - "e5990f4107887e1b013eec82afe3f446" + "2d71b2348831afca65ce20824eb64418" ], [ "Huffman.decode'", @@ -598,9 +592,8 @@ [ "@MaxIFuel_assumption", "@query", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_47e04024252030d43f7aef842c456923_1", + "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_1", "binder_x_7e0e32870af72b30cad3010be3cb1c4f_0", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -611,7 +604,6 @@ "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Huffman.trie", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -623,14 +615,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Huffman.symbol", "well-founded-ordering-on-nat" ], 0, - "cb53610b24fc3dda06f0f9aab6b09b11" + "b5f69974ac52169b3a8cfa43bd224555" ], [ "Huffman.decode_aux", @@ -644,8 +636,8 @@ "@query", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_2", "binder_x_19fda87c5541a0dfffbbd8c4bd5d9bbe_0", - "binder_x_47e04024252030d43f7aef842c456923_2", "binder_x_7e0e32870af72b30cad3010be3cb1c4f_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -692,7 +684,7 @@ "well-founded-ordering-on-nat" ], 0, - "9ef0c16c7adbde33e04af71b3d05d850" + "1efc3613015c937a5dda2edf75f42dfb" ], [ "Huffman.decode", @@ -701,7 +693,7 @@ 1, [ "@query" ], 0, - "4d72afa1619fb7924e7a093939582134" + "e3e8b184c5a37d27047d84ca72ee8bd3" ], [ "Huffman.cancelation_one", @@ -721,14 +713,14 @@ "function_token_typing_Prims.bool", "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_59dd2dc424ccaedc639b4153bd574cd1", + "refinement_interpretation_Tm_refine_f4f5721a2162c95a5681032ebd15cdc7", "token_correspondence_Huffman.encode_one.fuel_instrumented", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Huffman.symbol", "typing_Huffman.uu___is_Node" ], 0, - "d385ce2ca533de494443f7457703ab8d" + "485a31bf1f64f546dae17a07fbb390b9" ], [ "Huffman.cancelation_one", @@ -790,7 +782,7 @@ "unit_inversion", "unit_typing" ], 0, - "10b408b829e91d0ba2f7a895d9e17a72" + "0e867972afddff6a546d627d4c741de8" ], [ "Huffman.decode_prefix_aux", @@ -810,7 +802,7 @@ "typing_Huffman.symbol" ], 0, - "721afc2de3ee9a7f141e1e119ac6bc15" + "c46e0bc93f94c56430998615de22e3aa" ], [ "Huffman.decode_prefix_aux", @@ -828,9 +820,9 @@ "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Prims.list__uu___haseq", + "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_2", + "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_3", "binder_x_19fda87c5541a0dfffbbd8c4bd5d9bbe_0", - "binder_x_47e04024252030d43f7aef842c456923_2", - "binder_x_47e04024252030d43f7aef842c456923_3", "binder_x_7e0e32870af72b30cad3010be3cb1c4f_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -869,7 +861,7 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_610a7f947517588fed5840eaae5944b3", + "refinement_interpretation_Tm_refine_99536e6f37ccf6f6bc009d5229378582", "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223", "subterm_ordering_Prims.Cons", "token_correspondence_Huffman.decode_aux.fuel_instrumented", @@ -880,7 +872,7 @@ "typing_Huffman.uu___is_Node" ], 0, - "62f491e7a97c7dfe95089f7c321d24b5" + "284e3ea48392f77cab91e145a6354064" ], [ "Huffman.decode_prefix", @@ -902,7 +894,7 @@ "typing_Huffman.symbol" ], 0, - "bb4bea5dd467dce03b2b86b81b42d3a1" + "d0a998aaf6c4c7355b9793d26c0ccb3f" ], [ "Huffman.decode_prefix", @@ -915,8 +907,8 @@ "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Prims.list__uu___haseq", - "binder_x_13619fa810fa6d1e82c6167e60a2494a_2", - "binder_x_19fda87c5541a0dfffbbd8c4bd5d9bbe_0", "bool_inversion", + "binder_x_19fda87c5541a0dfffbbd8c4bd5d9bbe_0", + "binder_x_302efbf189608c280f806e210412dd43_2", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Huffman.Node", "disc_equation_Prims.Cons", @@ -927,7 +919,7 @@ "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_610a7f947517588fed5840eaae5944b3", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_d2496c873f50bc4b577e4c10804c264b", "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", @@ -935,7 +927,7 @@ "typing_Huffman.uu___is_Node" ], 0, - "467eb5095c0349675a7fe0020c5b5c8e" + "2a18fcc59dcce836bd58c995338e1c10" ], [ "Huffman.cancelation_aux", @@ -957,7 +949,7 @@ "typing_Huffman.symbol" ], 0, - "aaf5631ee5929b2542f68d39bfd2f549" + "216b557b303ea78d45b3790bfd0f90d0" ], [ "Huffman.cancelation_aux", @@ -1002,17 +994,18 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4453a0448f93b76ede2a1453726fe590", - "refinement_interpretation_Tm_refine_49045b1e8bc81f0ddeefdc4fb2bba53a", + "refinement_interpretation_Tm_refine_b5de68dc25b5d69c39691ff55b5c2542", "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223", + "refinement_interpretation_Tm_refine_f6e79b3d33ec540dcb47e383f0564c7a", "subterm_ordering_Prims.Cons", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Huffman.decode", "typing_Huffman.encode", "typing_Huffman.encode_one", "typing_Huffman.symbol", "typing_Huffman.uu___is_Node", "unit_inversion", "unit_typing" ], 0, - "577ac1566b07fc7a84ab66d3dbc23b76" + "64893b908d3e151cbef2ce2a9255a59e" ], [ "Huffman.cancelation", @@ -1036,7 +1029,7 @@ "typing_Huffman.symbol" ], 0, - "9900e8ba1b96b07edc46db333b207da1" + "80e4eb6aa2f086a02ef9bcb90c9e0172" ], [ "Huffman.cancelation", @@ -1060,7 +1053,7 @@ "typing_Huffman.symbol" ], 0, - "2893202d080733b93b21143d3e6e1f46" + "a770a30acb838c5d7dbf769b9d286296" ], [ "Huffman.trie", @@ -1068,18 +1061,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Huffman.symbol", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Huffman.symbol", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_Huffman.symbol" ], 0, - "2ada81daffeef152c5c7ad4db973a1dd" + "a2d9d175bca372b53176f11adfd68cba" ], [ "Huffman.__proj__Leaf__item__w", @@ -1092,7 +1082,7 @@ "refinement_interpretation_Tm_refine_673d4504dc1e4cbbf78a6d1db34013a8" ], 0, - "9a6410d5b2a29a0b316afe045b144ea4" + "9d593225be90f65809ca721cd05c8f63" ], [ "Huffman.__proj__Leaf__item__s", @@ -1105,7 +1095,7 @@ "refinement_interpretation_Tm_refine_673d4504dc1e4cbbf78a6d1db34013a8" ], 0, - "1ef025b86e5a5eef27311d8a351aa3a6" + "3a0e6179c1c130ef20a91bffc0407769" ], [ "Huffman.__proj__Node__item__w", @@ -1118,7 +1108,7 @@ "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" ], 0, - "54a36a8f82b67a7d1051831b13e1dfca" + "958608209577b92616d99a475b90f869" ], [ "Huffman.__proj__Node__item__l", @@ -1131,7 +1121,7 @@ "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" ], 0, - "eeac5b4d7d70b7df4b28aa1087bcff57" + "da7caa694ba865e6dca7c89dfbfe59b9" ], [ "Huffman.__proj__Node__item__r", @@ -1144,7 +1134,7 @@ "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" ], 0, - "c9378f04188d337459728ae9a40f56aa" + "8bab775f2e1eaf8576ad0485e56fb893" ], [ "Huffman.weight", @@ -1156,7 +1146,7 @@ "disc_equation_Huffman.Node", "fuel_guarded_inversion_Huffman.trie" ], 0, - "83d4fee0517ace605b4864196e36d3a9" + "a049bea5ca900cfeebed2cc0faa022d3" ], [ "Huffman.sorted", @@ -1173,7 +1163,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "11984b5b736ad89e321aaf3a14057396" + "c359f1fb5e33f6bd3ed09b43f45ef7a3" ], [ "Huffman.permutation", @@ -1184,11 +1174,11 @@ "@MaxIFuel_assumption", "@query", "assumption_Huffman.trie__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "35fe4de7a9512990f8c68847d3ade731" + "d5864e2ba5ca7960bce7e2fd8778d1cc" ], [ "Huffman.sorted_smaller", @@ -1197,7 +1187,7 @@ 1, [ "@query", "assumption_Huffman.trie__uu___haseq" ], 0, - "e91b83830408c6bd02d90975eba6ba5a" + "585b43c2e11bb88173a12511d8602048" ], [ "Huffman.insert_in_sorted", @@ -1235,7 +1225,7 @@ "subterm_ordering_Prims.Cons", "typing_Huffman.sorted" ], 0, - "e0d7758eaedaa20f45f940090db0c801" + "16dc89c353829f831320e9738b080fee" ], [ "Huffman.insertion_sort", @@ -1269,7 +1259,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "d269e5d3a89af2eebb8036f3d9804113" + "efde91fad90fa7859db2dbe829a73d5e" ], [ "Huffman.huffman_trie", @@ -1284,11 +1274,9 @@ "@fuel_correspondence_Huffman.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Huffman.sorted.fuel_instrumented", "@query", - "Huffman_interpretation_Tm_arrow_e471186fbd62b3c1840ee632070a13b5", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Huffman_interpretation_Tm_arrow_f850f6e4b822503611af590972588df1", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_08251f7dff76731601212468f6d19505_0", "bool_inversion", "constructor_distinct_Huffman.Node", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -1304,7 +1292,6 @@ "equation_with_fuel_Huffman.sorted.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Huffman.uu___is_Node", - "function_token_typing_Prims.__cache_version_number__", "kinding_Huffman.trie@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", @@ -1315,11 +1302,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bc11c9111db95195a9afb41409c4d94d", "refinement_interpretation_Tm_refine_d687cd2c4dae2d932b2d75511d723aa1", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_Huffman.sorted.fuel_instrumented", "token_correspondence_Huffman.uu___is_Node", @@ -1330,7 +1317,7 @@ "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" ], 0, - "6ea45c7d74cf7f982ba424754c2a0ddd" + "10942dc9e6e58969a956fd9a2891602c" ], [ "Huffman.huffman", @@ -1344,22 +1331,22 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@query", - "Huffman_interpretation_Tm_arrow_1821e75517a239bcdbc5c180eaa8516e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Huffman_interpretation_Tm_arrow_1b2c1158b4e255fba8fc2a87483a87ec", "equation_Huffman.permutation", "equation_Huffman.symbol", "equation_Prims.eqtype", "equation_Prims.pos", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.pos", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Huffman.trie@tok", "lemma_FStar.List.Tot.Properties.map_lemma", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Huffman.symbol", - "typing_Tm_abs_ad51fb4952aac0aa2757d5ed06b71afb" + "typing_Tm_abs_6533a4f83db3855fa174143ac8c4ac82" ], 0, - "b15f54f4289ea98ab498234c5efb0763" + "4474a906f93f72913599966e1f37c110" ], [ "Huffman.encode_one", @@ -1384,7 +1371,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "1fc22c6a1dd518f4c10662949663b892" + "3f2662695a2235c0a2d306defd745d26" ], [ "Huffman.encode", @@ -1393,7 +1380,7 @@ 1, [ "@query" ], 0, - "67863914c014a9586efd635b89081eb7" + "acf4f4d6a2243f5e1f6909b1c36744cc" ], [ "Huffman.encode", @@ -1440,7 +1427,7 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v" ], 0, - "05422168c560087afb731a2e26753b29" + "e45fc8833b34b53328b1312b01439d43" ], [ "Huffman.decode_one", @@ -1449,7 +1436,7 @@ 1, [ "@query" ], 0, - "12c9bfd9389c0153de38d2210ea22a61" + "5672f0f3466ffdcf355bc5d273279097" ], [ "Huffman.decode_one", @@ -1462,7 +1449,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_47e04024252030d43f7aef842c456923_1", + "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_1", "binder_x_7e0e32870af72b30cad3010be3cb1c4f_0", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Huffman.Leaf", @@ -1497,7 +1484,7 @@ "subterm_ordering_Huffman.Node" ], 0, - "63dd19cc47e08ef9751dbfa0d22a3303" + "c59287c771949413f429472f13dfd763" ], [ "Huffman.decode'", @@ -1507,9 +1494,8 @@ [ "@MaxIFuel_assumption", "@query", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_47e04024252030d43f7aef842c456923_1", + "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_1", "binder_x_7e0e32870af72b30cad3010be3cb1c4f_0", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -1520,7 +1506,6 @@ "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Huffman.trie", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -1532,14 +1517,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Huffman.symbol", "well-founded-ordering-on-nat" ], 0, - "29e2c10c846b033a7e5cf19dc637a027" + "db643a5b56348238115087327826ca63" ], [ "Huffman.decode_aux", @@ -1553,8 +1538,8 @@ "@query", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_2", "binder_x_19fda87c5541a0dfffbbd8c4bd5d9bbe_0", - "binder_x_47e04024252030d43f7aef842c456923_2", "binder_x_7e0e32870af72b30cad3010be3cb1c4f_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1600,7 +1585,7 @@ "well-founded-ordering-on-nat" ], 0, - "702b39ed8e8237dcf9b375a573d59410" + "484351fcff102ee97c5102c0dc12a55c" ], [ "Huffman.decode", @@ -1609,7 +1594,7 @@ 1, [ "@query" ], 0, - "4dd5f49577b411207c37c93ab85db8ca" + "d170e0390e07a67d3c22ade1dad9e3a3" ], [ "Huffman.cancelation_one", @@ -1635,7 +1620,7 @@ "typing_Huffman.uu___is_Node" ], 0, - "fe8b945f39878b34b1fe3a1243704517" + "016e1e1c103e070e11a26f3ce8ac3e03" ], [ "Huffman.decode_prefix_aux", @@ -1655,7 +1640,7 @@ "typing_Huffman.symbol" ], 0, - "51fc776faef2768ea71e8be64937125e" + "9f535a0bcd554380d32ddbe9b120c190" ], [ "Huffman.decode_prefix", @@ -1677,7 +1662,7 @@ "typing_Huffman.symbol" ], 0, - "09249f766c7844cb831f2b984bd8b014" + "beafc04586e0084116b7636786143c64" ], [ "Huffman.cancelation_aux", @@ -1700,7 +1685,7 @@ "typing_Huffman.symbol" ], 0, - "7880f2733ad43f5b17fde0bb118769c8" + "625de7daed99a6a3bbf2627fe5444058" ], [ "Huffman.cancelation", @@ -1724,7 +1709,7 @@ "typing_Huffman.symbol" ], 0, - "e947d741857c78d26063fd201a4db7cf" + "036703f3ce9b497e5d0241e4e324207a" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/InsertionSort.fst.hints b/examples/algorithms/InsertionSort.fst.hints index 0cbecb73a2d..c87d27c4480 100644 --- a/examples/algorithms/InsertionSort.fst.hints +++ b/examples/algorithms/InsertionSort.fst.hints @@ -15,8 +15,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_IntSort.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_053f24052f0819f883d8dcf9aa3d9580_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_4bb3e7f5f20a26f76ed0f345eab0aa93_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -34,14 +34,14 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b3ce98691b39a985595490b934be405", - "refinement_interpretation_Tm_refine_873005e3caa2c2be3fe6feea0f94e4ae", + "refinement_interpretation_Tm_refine_7d27f65491c760eed369810570f38690", + "refinement_interpretation_Tm_refine_8940e385d966068a5e15c2861dbb927f", "subterm_ordering_Prims.Cons", "token_correspondence_IntSort.sorted.fuel_instrumented", "typing_IntSort.sorted" ], 0, - "b734a70ff7035cf3ad4fdd01c5ca4603" + "f65d55eb10a044cabf7132e3f5df32fe" ], [ "InsertionSort.insert_implicit", @@ -57,8 +57,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_IntSort.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_053f24052f0819f883d8dcf9aa3d9580_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_4bb3e7f5f20a26f76ed0f345eab0aa93_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -77,14 +77,14 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b3ce98691b39a985595490b934be405", - "refinement_interpretation_Tm_refine_873005e3caa2c2be3fe6feea0f94e4ae", + "refinement_interpretation_Tm_refine_7d27f65491c760eed369810570f38690", + "refinement_interpretation_Tm_refine_8940e385d966068a5e15c2861dbb927f", "subterm_ordering_Prims.Cons", "token_correspondence_IntSort.sorted.fuel_instrumented", "typing_IntSort.sorted" ], 0, - "1217de38fd9bfb2edb49a71403b84e15" + "e7296300b26fe7cc89a3150300bdea95" ], [ "InsertionSort.sort", @@ -99,7 +99,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_IntSort.permutation", @@ -114,13 +114,13 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0d06662714754940ae83118d10e0d411", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b3ce98691b39a985595490b934be405", + "refinement_interpretation_Tm_refine_8940e385d966068a5e15c2861dbb927f", + "refinement_interpretation_Tm_refine_e8403f918d280ddafd288213ea995835", "subterm_ordering_Prims.Cons" ], 0, - "8713a3b8f20156476eea197dcf107d99" + "ba59422a137f6c84beb0776c6aa2a968" ], [ "InsertionSort.insert", @@ -136,8 +136,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_IntSort.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_053f24052f0819f883d8dcf9aa3d9580_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_4bb3e7f5f20a26f76ed0f345eab0aa93_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -155,14 +155,14 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b3ce98691b39a985595490b934be405", - "refinement_interpretation_Tm_refine_873005e3caa2c2be3fe6feea0f94e4ae", + "refinement_interpretation_Tm_refine_7d27f65491c760eed369810570f38690", + "refinement_interpretation_Tm_refine_8940e385d966068a5e15c2861dbb927f", "subterm_ordering_Prims.Cons", "token_correspondence_IntSort.sorted.fuel_instrumented", "typing_IntSort.sorted" ], 0, - "f690ea2a6aefbfffd37642c1a58fe795" + "e5e49e227e451cf655e86b62af67bf42" ], [ "InsertionSort.insert_implicit", @@ -178,8 +178,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_IntSort.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_053f24052f0819f883d8dcf9aa3d9580_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_4bb3e7f5f20a26f76ed0f345eab0aa93_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -198,14 +198,14 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b3ce98691b39a985595490b934be405", - "refinement_interpretation_Tm_refine_873005e3caa2c2be3fe6feea0f94e4ae", + "refinement_interpretation_Tm_refine_7d27f65491c760eed369810570f38690", + "refinement_interpretation_Tm_refine_8940e385d966068a5e15c2861dbb927f", "subterm_ordering_Prims.Cons", "token_correspondence_IntSort.sorted.fuel_instrumented", "typing_IntSort.sorted" ], 0, - "dcc4895ae13edb9fc8c631ac717c9bb8" + "71049418a21df2113d2da1f05b981ec0" ], [ "InsertionSort.sort", @@ -220,7 +220,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_IntSort.permutation", @@ -235,13 +235,13 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0d06662714754940ae83118d10e0d411", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b3ce98691b39a985595490b934be405", + "refinement_interpretation_Tm_refine_8940e385d966068a5e15c2861dbb927f", + "refinement_interpretation_Tm_refine_e8403f918d280ddafd288213ea995835", "subterm_ordering_Prims.Cons" ], 0, - "ab4d0316f8cf26ac2ada1eb32ff50281" + "661555adb9970c1ca8d4ef75951b10ce" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/IntSort.fst.hints b/examples/algorithms/IntSort.fst.hints index f2ae81a7b34..367d3a57df5 100644 --- a/examples/algorithms/IntSort.fst.hints +++ b/examples/algorithms/IntSort.fst.hints @@ -9,7 +9,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", @@ -20,7 +20,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "0f15b0c4233b027c72828cc88033c1e4" + "94d7c956816a2dcf25548fc929154a62" ], [ "IntSort.test_sorted", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "d072f2f9241fdf73ebd0391587517de9" + "b496a4a96e34890b274dfa72fd06e927" ], [ "IntSort.test_sorted", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9eea8331634012eff81904bc99f7aa37" + "c985affe088087ab7ae8dc4c9a089b32" ], [ "IntSort.test_sorted2", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ddeea3803508462216ec0902b657ca3f" + "05464a4909492a9d5397d2951eaa15d2" ], [ "IntSort.sorted_smaller", @@ -84,9 +84,9 @@ "@fuel_correspondence_IntSort.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_IntSort.sorted.fuel_instrumented", "@query", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_2", "bool_inversion", + "binder_x_66b03f5c7897b05649fed8196554c587_2", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_ae567c2fb75be05905677af440075565_1", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -108,7 +108,7 @@ "unit_inversion", "unit_typing" ], 0, - "773aac3188c006763170f2df2f41ce4d" + "8befa41c6e985ef4b6e0b194f2db257b" ], [ "IntSort.permutation", @@ -118,11 +118,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c26482af0abdc4c60fdf7a112d37fc28" + "9d775fc799ffa7bca340152bb78624d8" ], [ "IntSort.sorted", @@ -132,7 +132,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", @@ -143,7 +143,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "f6e4447237618ebd2ed69eee609ec4f8" + "1a607a0215d7cadf20b57f67b8660bba" ], [ "IntSort.test_sorted", @@ -152,7 +152,7 @@ 1, [ "@query" ], 0, - "7386bf123e2f17b4ec6e7c7e658ca582" + "39034c6b2007fc96f8a51111fe191d43" ], [ "IntSort.test_sorted2", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "139cac4222e529e4594963eb40c3915b" + "85faa6b236f0b4d80c5f3c3d93ad0acc" ], [ "IntSort.permutation", @@ -181,11 +181,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7b36b314c2561e35711a9bd25f1c7611" + "0c19413e0bed4461ce9a376d11ea8e35" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/MergeSort.fst.hints b/examples/algorithms/MergeSort.fst.hints index e913ff19c6b..0ad741a76ef 100644 --- a/examples/algorithms/MergeSort.fst.hints +++ b/examples/algorithms/MergeSort.fst.hints @@ -45,7 +45,7 @@ "typing_Prims.__proj__Cons__item__tl", "typing_Prims.uu___is_Cons" ], 0, - "4b525cc75b321b43b88dd9e45f2c1c76" + "23abea0dddfcd54eb9dcccba6e81af1a" ], [ "MergeSort.split", @@ -59,13 +59,13 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", "bool_inversion", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_IntSort.permutation_2", "equation_MergeSort.split_inv", - "equation_Prims.eqtype", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "fuel_guarded_inversion_Prims.list", @@ -83,14 +83,17 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.mem", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "typing_Prims.__proj__Cons__item__tl" ], 0, - "f87f94168ef3528c6831e57159c41760" + "4e90221cd0af133a7a5ecb2572c84030" ], [ "MergeSort.merge_inv", @@ -99,7 +102,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "3be494e1dc06726f397bd0c4ec71d5be" + "7ddb5dc3f27ca9fbaf84fbb34184e67b" ], [ "MergeSort.merge", @@ -115,14 +118,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_IntSort.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_1", "bool_inversion", + "binder_x_66b03f5c7897b05649fed8196554c587_0", + "binder_x_66b03f5c7897b05649fed8196554c587_1", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "equation_IntSort.permutation_2", - "equation_MergeSort.merge_inv", "equation_Prims.eqtype", - "equation_Prims.nat", + "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "equation_IntSort.permutation_2", "equation_MergeSort.merge_inv", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_IntSort.sorted.fuel_instrumented", @@ -142,7 +145,7 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", @@ -151,7 +154,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_IntSort.sorted" ], 0, - "cb43943552ce50070ac7cd3ad089cb33" + "ea97c6d4f734266b3e15cd9e7590c6aa" ], [ "MergeSort.mergesort", @@ -162,7 +165,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_IntSort.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -185,13 +188,13 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.List.Tot.Base.length", "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" ], 0, - "70441faf8a8ffcb82e44d3f79c5dc1e8" + "7973218ae1cde9a72adeed9458446ffa" ], [ "MergeSort.split", @@ -200,7 +203,7 @@ 1, [ "@query" ], 0, - "63aefe77df259cb1b7b6873dee6cc074" + "87fa8351572efdb4b22aed08aff43336" ], [ "MergeSort.split", @@ -214,13 +217,13 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", "bool_inversion", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_IntSort.permutation_2", "equation_MergeSort.split_inv", - "equation_Prims.eqtype", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "fuel_guarded_inversion_Prims.list", @@ -238,14 +241,17 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.mem", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "typing_Prims.__proj__Cons__item__tl" ], 0, - "f5c637d01bd153ce19cec82afa67b42c" + "42fe5caf6e8ca4868244b2fb5c9779c1" ], [ "MergeSort.merge_inv", @@ -254,7 +260,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "2a42d8879bef4141750ca868af3ea2ef" + "a395a94b2030179f3f7f428f7869a775" ], [ "MergeSort.merge", @@ -270,14 +276,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_IntSort.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_1", "bool_inversion", + "binder_x_66b03f5c7897b05649fed8196554c587_0", + "binder_x_66b03f5c7897b05649fed8196554c587_1", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_IntSort.permutation_2", "equation_MergeSort.merge_inv", - "equation_Prims.eqtype", "equation_Prims.nat", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equation_IntSort.permutation_2", + "equation_MergeSort.merge_inv", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_IntSort.sorted.fuel_instrumented", @@ -297,7 +303,7 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", @@ -306,7 +312,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_IntSort.sorted" ], 0, - "283deb63f9da781642966a41d75f9fa7" + "a53b48b5fd1ea3941b7ec941868adefa" ], [ "MergeSort.mergesort", @@ -317,7 +323,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_IntSort.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -340,13 +346,13 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.List.Tot.Base.length", "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" ], 0, - "b3e86db69f4650dd57a4ea777f655d05" + "3454b2e0c60a8190d758e5991d63efd9" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/QuickSort.Array.fst b/examples/algorithms/QuickSort.Array.fst index f0e22a5d50e..998f98d6a7a 100644 --- a/examples/algorithms/QuickSort.Array.fst +++ b/examples/algorithms/QuickSort.Array.fst @@ -141,7 +141,7 @@ let lemma_slice_cons_pv #a s i pivot j pv = cut (Seq.equal (slice s i j) (append lo (cons pv hi))) #reset-options -#set-options "--initial_fuel 1 --initial_ifuel 0 --max_fuel 1 --max_ifuel 0 --z3rlimit 15" +#set-options "--initial_fuel 1 --initial_ifuel 0 --max_fuel 1 --max_ifuel 0 --z3rlimit 50" val sort: #a:eqtype -> f:tot_ord a -> i:nat -> j:nat{i <= j} -> x:array a -> ST unit (requires (fun h -> Array.contains h x /\ j <= length (Array.sel h x))) diff --git a/examples/algorithms/QuickSort.Array.fst.hints b/examples/algorithms/QuickSort.Array.fst.hints index 8cdc8a540e4..c1484a1221c 100644 --- a/examples/algorithms/QuickSort.Array.fst.hints +++ b/examples/algorithms/QuickSort.Array.fst.hints @@ -1,5 +1,5 @@ [ - "}qÂ-«+7ÝG¸_ë3Y", + "®O^\u000fø…Ã8é:!A—6\u001eT", [ [ "QuickSort.Array.partition_pre", @@ -7,20 +7,17 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bfd27ef7426b2a0c6302bf816720e659" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" ], 0, - "5b1d37b1f7e26fb3bda5896615c0962f" + "36ff0aa36e23064405a54e1d3be700f5" ], [ "QuickSort.Array.partition_post", @@ -28,21 +25,18 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bfd27ef7426b2a0c6302bf816720e659" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" ], 0, - "b05243c0748cd0b77e9672ad0c0befd7" + "e96237400ad22d339aaead6b4830978c" ], [ "QuickSort.Array.partition", @@ -53,8 +47,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "equation_FStar.Array.only", + "@query", "bool_inversion", "equation_FStar.Array.only", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Seq.Properties.head", @@ -67,9 +60,8 @@ "equation_QuickSort.Array.partition_post", "equation_QuickSort.Array.partition_pre", "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", @@ -83,25 +75,25 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_43be13c05106503e42fd556a894f6928", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bfd27ef7426b2a0c6302bf816720e659", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", + "refinement_interpretation_Tm_refine_b09fce306ed82acb7eb8c7534a6699f8", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "typing_FStar.Array.sel", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.Seq.Base.upd", "typing_FStar.Seq.Properties.mem" ], 0, - "e46a3096277a586c7774bf924b288c64" + "7d06a64d33de0a50f010c7986cb9fdc4" ], [ "QuickSort.Array.lemma_slice_cons_pv", @@ -109,21 +101,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", "typing_FStar.Seq.Base.length" ], 0, - "682a6c68ef32919ba78434ef3b0cdaea" + "3e66c3fb99a5991b12e75779e721c1d8" ], [ "QuickSort.Array.lemma_slice_cons_pv", @@ -132,9 +121,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -148,20 +135,20 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c0cfbe9eeebfb6939e2f5016a358bdf1", + "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons" ], 0, - "a16efde253ff3ef2dcbec86677981432" + "67a146447afd57e18f59e679a86d5694" ], [ "QuickSort.Array.sort", @@ -169,22 +156,19 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_b80d2786ef52bf08f06341aae7924801", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_7f4f9edecbfd9ba7a2eab61199540dc3", "typing_FStar.Array.sel", "typing_FStar.Seq.Base.length" ], 0, - "094ba44a37abd5c36ac68ae68aebb6b8" + "65b2aff5593cd5c49ac941b5e734c528" ], [ "QuickSort.Array.sort", @@ -210,7 +194,7 @@ "equation_with_fuel_FStar.Seq.Properties.sorted.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_is_empty", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -220,13 +204,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b80d2786ef52bf08f06341aae7924801", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_7f4f9edecbfd9ba7a2eab61199540dc3", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", "token_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", "typing_FStar.Array.sel", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", @@ -234,7 +219,7 @@ "typing_FStar.Seq.Properties.mem" ], 0, - "cae20c0c8edad111322d5408413a3a00" + "bc34b20d06aac1eeea3c9525a830508b" ], [ "QuickSort.Array.qsort", @@ -249,14 +234,14 @@ "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Properties.slice_length", "primitive_Prims.op_LessThanOrEqual", + "refinement_interpretation_Tm_refine_1b82e8578e73652fe96932e0df869e54", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_a9783fc2df9d090b03a93a48ae7738d5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_64dec54784df16570ca0014976a9f6c8", "typing_FStar.Array.sel", "typing_FStar.Seq.Properties.sorted" ], 0, - "69c5116c3af20cbf6f27439cd13db339" + "ca463c910022016e20d511589c4cfb77" ], [ "QuickSort.Array.partition_pre", @@ -264,20 +249,17 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bfd27ef7426b2a0c6302bf816720e659" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" ], 0, - "993ffcc6d0f3da5311be66159e73f464" + "3123fcded30ac5ce51b32ed1e8fb4f91" ], [ "QuickSort.Array.partition_post", @@ -285,21 +267,18 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bfd27ef7426b2a0c6302bf816720e659" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" ], 0, - "a4b314dd2486fff4c75c785324477e52" + "b42bb297850d20a13028a590bd5d8cc5" ], [ "QuickSort.Array.lemma_slice_cons_pv", @@ -307,21 +286,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", "typing_FStar.Seq.Base.length" ], 0, - "ff08ad9100845c7f02c67095f78e9e0f" + "f63e3d25a90274da991fb472049e99a1" ], [ "QuickSort.Array.sort", @@ -329,22 +305,19 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_b80d2786ef52bf08f06341aae7924801", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_7f4f9edecbfd9ba7a2eab61199540dc3", "typing_FStar.Array.sel", "typing_FStar.Seq.Base.length" ], 0, - "5a9b5f73b0ffdeaf267f4cadbb8f8e80" + "5363ec424b3badd6017a4c15d0eebb4c" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/QuickSort.List.fst.hints b/examples/algorithms/QuickSort.List.fst.hints index ee8f6d68460..4c7651bacaa 100644 --- a/examples/algorithms/QuickSort.List.fst.hints +++ b/examples/algorithms/QuickSort.List.fst.hints @@ -12,7 +12,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "093d3d1c5fecc335cab45df61ae09ba9" + "f54d387ca68b8dd17ce23b5523bf99b9" ], [ "QuickSort.List.count", @@ -21,20 +21,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "7b86a93ac207284708fbbf7cf5772f50" + "1b9d0c4828981bc770e20f8467824135" ], [ "QuickSort.List.mem_count", @@ -47,28 +45,26 @@ "@fuel_correspondence_QuickSort.List.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_QuickSort.List.count.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_1", + "binder_x_157b99e815dc43d99415725267e9c452_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_QuickSort.List.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_QuickSort.List.count" ], 0, - "c5bd510a826c80c0089c27648c4ba62d" + "c82934bd22b61e22be71a48ffb753268" ], [ "QuickSort.List.partition", @@ -82,7 +78,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f19265017dc3f9aaf69a8ceb64295fde" + "878c695e537e83d16f24434a9d496906" ], [ "QuickSort.List.partition_lemma", @@ -100,14 +96,12 @@ "@fuel_irrelevance_QuickSort.List.count.fuel_instrumented", "@fuel_irrelevance_QuickSort.List.partition.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "QuickSort.List_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "QuickSort.List_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", + "constructor_distinct_BoxBool", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -118,11 +112,9 @@ "equation_with_fuel_QuickSort.List.count.fuel_instrumented", "equation_with_fuel_QuickSort.List.partition.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_QuickSort.List.mem_count", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "lemma_QuickSort.List.mem_count", "primitive_Prims.op_Addition", + "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -131,7 +123,7 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_QuickSort.List.count.fuel_instrumented", @@ -141,7 +133,7 @@ "typing_QuickSort.List.partition" ], 0, - "22d70f4ac7281e1b02a96b980af7eeb5" + "25fdc2ab1299828bc3b62f76106c4feb" ], [ "QuickSort.List.sorted_app_lemma", @@ -157,13 +149,16 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_QuickSort.List.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_9e52d7fc378a76bd8a015aa68cf04014_2", - "binder_x_9e52d7fc378a76bd8a015aa68cf04014_3", - "binder_x_da8c519cc5bf492d5b6bc5ec9d6ea169_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_4", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "binder_x_157b99e815dc43d99415725267e9c452_4", + "binder_x_1764a6116741c7a0333841a23d29b244_2", + "binder_x_1764a6116741c7a0333841a23d29b244_3", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_fa73c18594d08bb0081d6900c10a3e22_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.list", + "constructor_distinct_Prims.unit", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", "equation_QuickSort.List.total_order", @@ -175,17 +170,17 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_0b2f95dfd86ca50bd4c9605f1f8a4a8c", + "refinement_interpretation_Tm_refine_17abf6cc62b543ab8e21c4b019598546", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6afdca3b2ffb4573fd43d73315612d0f", - "refinement_interpretation_Tm_refine_94be367cb61dc91e86e4d4f1df5cf875", "subterm_ordering_Prims.Cons", "token_correspondence_QuickSort.List.sorted.fuel_instrumented", "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At", - "typing_QuickSort.List.sorted" + "typing_QuickSort.List.sorted", "unit_typing" ], 0, - "0a6c1474663d98dc80723b5d6e8b8ba7" + "f6268de74f85a884953c2227cf556168" ], [ "QuickSort.List.is_permutation", @@ -195,11 +190,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e13259bbeae73cb3cf77270be7531db9" + "ce99ba524da24284ab5bb91978f6dd7f" ], [ "QuickSort.List.append_count", @@ -212,33 +207,30 @@ "@fuel_correspondence_QuickSort.List.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_QuickSort.List.count.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_3", + "binder_x_157b99e815dc43d99415725267e9c452_3", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_QuickSort.List.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", "lemma_FStar.List.Tot.Properties.append_l_nil", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_QuickSort.List.count.fuel_instrumented", "typing_FStar.List.Tot.Base.append", "typing_QuickSort.List.count" ], 0, - "9973dc325425483e92656683705d8833" + "20f3786f8bffb9e67ce83c6519fcff22" ], [ "QuickSort.List.permutation_app_lemma", @@ -268,7 +260,7 @@ "typing_QuickSort.List.count" ], 0, - "98e5269e87c3e0b52771ac119193df11" + "a3c1f34b297810f8251bff24d1dd772f" ], [ "QuickSort.List.quicksort", @@ -286,23 +278,20 @@ "@fuel_irrelevance_QuickSort.List.partition.fuel_instrumented", "@fuel_irrelevance_QuickSort.List.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_da8c519cc5bf492d5b6bc5ec9d6ea169_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_fa73c18594d08bb0081d6900c10a3e22_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", "equation_Prims.nat", "equation_QuickSort.List.is_permutation", "equation_QuickSort.List.total_order", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_QuickSort.List.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_typing", "lemma_QuickSort.List.append_count", "lemma_QuickSort.List.mem_count", "lemma_QuickSort.List.partition_lemma", @@ -314,11 +303,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_17abf6cc62b543ab8e21c4b019598546", + "refinement_interpretation_Tm_refine_2bec8da86b03ffbb793b976c53fc6163", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_75775d5cde029f54ea5b9505ce80ad80", - "refinement_interpretation_Tm_refine_94be367cb61dc91e86e4d4f1df5cf875", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_99f7df2863fee377fc834e4ed93b99b6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_QuickSort.List.sorted.fuel_instrumented", @@ -326,7 +315,7 @@ "well-founded-ordering-on-nat" ], 0, - "6222998943f89e3179a9c9e7921edea3" + "dd9b15d0aa98d220da08c9e5f3e28efd" ], [ "QuickSort.List.sorted", @@ -339,7 +328,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "333bca8b7e9549bc2b79a2e36cf4d052" + "7da1609177612346ffd3ba72eb7c8f29" ], [ "QuickSort.List.count", @@ -348,20 +337,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "2bf73fc2cf68e9bd550fc3d814ebcd0b" + "94b541326e19ec389ba9d32ecf028f89" ], [ "QuickSort.List.partition", @@ -375,7 +362,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "8c3861343e69eb3418f8748a8f64a834" + "697033cca85f0090ae324e3df4a523e5" ], [ "QuickSort.List.is_permutation", @@ -385,11 +372,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e562a6d1fada6167a01a475a3bd4cca6" + "353b9c35e780aa739a6ea715220e4f05" ], [ "QuickSort.List.quicksort", @@ -407,23 +394,20 @@ "@fuel_irrelevance_QuickSort.List.partition.fuel_instrumented", "@fuel_irrelevance_QuickSort.List.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_da8c519cc5bf492d5b6bc5ec9d6ea169_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_fa73c18594d08bb0081d6900c10a3e22_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", "equation_Prims.nat", "equation_QuickSort.List.is_permutation", "equation_QuickSort.List.total_order", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_QuickSort.List.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_typing", "lemma_QuickSort.List.append_count", "lemma_QuickSort.List.mem_count", "lemma_QuickSort.List.partition_lemma", @@ -435,11 +419,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_17abf6cc62b543ab8e21c4b019598546", + "refinement_interpretation_Tm_refine_2bec8da86b03ffbb793b976c53fc6163", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_75775d5cde029f54ea5b9505ce80ad80", - "refinement_interpretation_Tm_refine_94be367cb61dc91e86e4d4f1df5cf875", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_99f7df2863fee377fc834e4ed93b99b6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_QuickSort.List.sorted.fuel_instrumented", @@ -447,7 +431,7 @@ "well-founded-ordering-on-nat" ], 0, - "890853f3096f02fd335bb2cb4569d68e" + "3d452be210d5d704e30ffff039527348" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/QuickSort.Seq.fst.hints b/examples/algorithms/QuickSort.Seq.fst.hints index f8949b24029..d5ebbe85c4a 100644 --- a/examples/algorithms/QuickSort.Seq.fst.hints +++ b/examples/algorithms/QuickSort.Seq.fst.hints @@ -8,7 +8,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "7e9e1a98247abf3fc446698b90373cb9" + "a598e36a0b65747c6103f416dfa2f478" ], [ "QuickSort.Seq.partition", @@ -74,7 +74,7 @@ "well-founded-ordering-on-nat" ], 0, - "5bda7c29c5ed55d3ed08862167e382ef" + "ff7a33a32a40bdf520d9fd257fa179d2" ], [ "QuickSort.Seq.partition", @@ -82,19 +82,16 @@ 0, 0, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "@MaxIFuel_assumption", "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "QuickSort.Seq_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_28fe6550d41320f424e44fb9620d624a_4", - "binder_x_f7ecdb3195d78dd7e007ccf188b2a5d3_1", - "binder_x_f8eb5f9dd2843ffb38e4ac3d08534158_3", "bool_inversion", + "QuickSort.Seq_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_13651351701aa0233fa7c0a4f518c2b0_4", + "binder_x_5acdf52b9b8ff0c2493fd6f1c19a9c80_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_f1f9afcb303c6d3e3e59f9c0ff4d6ea9_3", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", @@ -104,7 +101,7 @@ "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", @@ -119,27 +116,26 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_058137dd29c2e401b0f27de4958bbd74", + "refinement_interpretation_Tm_refine_154a3e1da37d50b0a132fae533c5de4c", + "refinement_interpretation_Tm_refine_2024f3d60f1e162e9f0d26c9d17144c9", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_35383b97a9df8335571f60e455a0d462", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_376b90a760c9e4c9f46324362d5ab7b0", - "refinement_interpretation_Tm_refine_3d6f660a2461c4360d26d0578b879a46", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4c68a51859f1de5ff2279872a85c49b8", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6727a96aae1f63696970f0a9f42ac092", - "refinement_interpretation_Tm_refine_6f94fc67a2ac0d37fa30e9846c66024c", - "refinement_interpretation_Tm_refine_ae3612efc002db277e43c3fe90ed4370", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b90164ae6054083792006082ff347d9", + "refinement_interpretation_Tm_refine_5d345a713b49e47c27bb613e775710b3", + "refinement_interpretation_Tm_refine_7945a5fb13c7ba499c9a3a023b23db9b", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d776e1ca9b781ace328f8cdd42b24350", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.Seq.Base.upd", - "well-founded-ordering-on-nat" + "typing_FStar.Seq.Base.upd", "well-founded-ordering-on-nat" ], 0, - "ea85f32d4028f43bcef77f1e54fed867" + "438dd17583819510362ed63e05b246d5" ], [ "QuickSort.Seq.sort", @@ -152,15 +148,14 @@ "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "QuickSort.Seq_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_f7ecdb3195d78dd7e007ccf188b2a5d3_1", "bool_inversion", - "bool_typing", "equality_tok_Prims.LexTop@tok", + "QuickSort.Seq_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_5acdf52b9b8ff0c2493fd6f1c19a9c80_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", + "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.cons", @@ -185,27 +180,28 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3d6f660a2461c4360d26d0578b879a46", + "refinement_interpretation_Tm_refine_0257a2cf38666af5438185786e843f12", + "refinement_interpretation_Tm_refine_0268b5741dc224757cd0476009a8991e", + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", + "refinement_interpretation_Tm_refine_2024f3d60f1e162e9f0d26c9d17144c9", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_490ac715dd597b37a653aee8f5e20993", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5e25be0317470973813e1b1aedda3087", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_9ffee8139233b8dda05b8b1f0ec6387e", - "refinement_interpretation_Tm_refine_ae3612efc002db277e43c3fe90ed4370", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bb1a0442a7f356564642f96d3154e7e6", - "refinement_interpretation_Tm_refine_e55d42520ccb7e61867b7a36bfbd1f9d", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", + "refinement_interpretation_Tm_refine_7945a5fb13c7ba499c9a3a023b23db9b", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", + "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.append", + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.cons", "typing_FStar.Seq.Properties.count", "typing_FStar.Seq.Properties.mem", "typing_QuickSort.Seq.partition", "well-founded-ordering-on-nat" ], 0, - "ea1bb057b0a0444dc2f140ac690b87eb" + "ef07d206655e9e9131c662ecd2be0b23" ], [ "QuickSort.Seq.partition", @@ -214,7 +210,7 @@ 0, [ "@query" ], 0, - "2cee2c604557c3a161510d44663d91f7" + "b6e847661815f12d9cfefc29738906aa" ], [ "QuickSort.Seq.partition", @@ -222,19 +218,16 @@ 0, 0, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "@MaxIFuel_assumption", "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "QuickSort.Seq_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_28fe6550d41320f424e44fb9620d624a_4", - "binder_x_f7ecdb3195d78dd7e007ccf188b2a5d3_1", - "binder_x_f8eb5f9dd2843ffb38e4ac3d08534158_3", "bool_inversion", + "QuickSort.Seq_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_13651351701aa0233fa7c0a4f518c2b0_4", + "binder_x_5acdf52b9b8ff0c2493fd6f1c19a9c80_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_f1f9afcb303c6d3e3e59f9c0ff4d6ea9_3", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", @@ -244,7 +237,7 @@ "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", @@ -259,27 +252,27 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_058137dd29c2e401b0f27de4958bbd74", + "refinement_interpretation_Tm_refine_154a3e1da37d50b0a132fae533c5de4c", + "refinement_interpretation_Tm_refine_2024f3d60f1e162e9f0d26c9d17144c9", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_35383b97a9df8335571f60e455a0d462", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_376b90a760c9e4c9f46324362d5ab7b0", - "refinement_interpretation_Tm_refine_3d6f660a2461c4360d26d0578b879a46", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4c68a51859f1de5ff2279872a85c49b8", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6727a96aae1f63696970f0a9f42ac092", - "refinement_interpretation_Tm_refine_6f94fc67a2ac0d37fa30e9846c66024c", - "refinement_interpretation_Tm_refine_ae3612efc002db277e43c3fe90ed4370", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b90164ae6054083792006082ff347d9", + "refinement_interpretation_Tm_refine_5d345a713b49e47c27bb613e775710b3", + "refinement_interpretation_Tm_refine_7945a5fb13c7ba499c9a3a023b23db9b", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d776e1ca9b781ace328f8cdd42b24350", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.Seq.Base.upd", "well-founded-ordering-on-nat" ], 0, - "973349740b494060fec7742a02fdf1d1" + "286b8fef11c7c6df94c7684167ac016c" ], [ "QuickSort.Seq.sort", @@ -292,15 +285,14 @@ "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "QuickSort.Seq_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_f7ecdb3195d78dd7e007ccf188b2a5d3_1", "bool_inversion", - "bool_typing", "equality_tok_Prims.LexTop@tok", + "QuickSort.Seq_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_5acdf52b9b8ff0c2493fd6f1c19a9c80_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", + "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.cons", @@ -325,27 +317,28 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3d6f660a2461c4360d26d0578b879a46", + "refinement_interpretation_Tm_refine_0257a2cf38666af5438185786e843f12", + "refinement_interpretation_Tm_refine_0268b5741dc224757cd0476009a8991e", + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", + "refinement_interpretation_Tm_refine_2024f3d60f1e162e9f0d26c9d17144c9", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_490ac715dd597b37a653aee8f5e20993", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5e25be0317470973813e1b1aedda3087", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_9ffee8139233b8dda05b8b1f0ec6387e", - "refinement_interpretation_Tm_refine_ae3612efc002db277e43c3fe90ed4370", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bb1a0442a7f356564642f96d3154e7e6", - "refinement_interpretation_Tm_refine_e55d42520ccb7e61867b7a36bfbd1f9d", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", + "refinement_interpretation_Tm_refine_7945a5fb13c7ba499c9a3a023b23db9b", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", + "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.append", + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.cons", "typing_FStar.Seq.Properties.count", "typing_FStar.Seq.Properties.mem", "typing_QuickSort.Seq.partition", "well-founded-ordering-on-nat" ], 0, - "ddb5d7051c1770bd6ab49384673f2ec5" + "d5dd027f960b0401f2bfa97cf46f6966" ] ] ] \ No newline at end of file diff --git a/examples/algorithms/Unification.fst.hints b/examples/algorithms/Unification.fst.hints index 7b30f2885f0..2413186d19c 100644 --- a/examples/algorithms/Unification.fst.hints +++ b/examples/algorithms/Unification.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "28d6c4e535ccb24a10b23543c6be4af2" + "dcdc07806b6544193fdba7d6f92ba903" ], [ "Unification.lemma_shift_append", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f34c4218d4de2c6aa7e90783fead9098" + "4524e412dbe49615a7f5108a6e6affa1" ], [ "Unification.lemma_shift_append", @@ -37,11 +37,11 @@ "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c04f0dbd7149fd597225c7e6a7fb4b23", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_3", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", + "FStar.List.Tot.Base_interpretation_Tm_arrow_47fd0cc003e48be3b80fb62cd2b0c6b5", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_3", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -60,7 +60,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "b7d324e4e9aa367dee66ada4ebcfd527" + "37503d6bc10c91353b8d091ed1b1650b" ], [ "Unification.term", @@ -70,11 +70,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5c55e6be472783d9ee5d649c30338cbb" + "d8b5033dc1793421600a4fedaa7bd2ef" ], [ "Unification.__proj__V__item__i", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_a6f3162317a37ec3b40e2ddee0a47784" ], 0, - "ff1a18054fc91b58a55105ca67df9ad5" + "cd07ea424f4dba1c6a2dc6e59de1de86" ], [ "Unification.__proj__F__item__t1", @@ -100,7 +100,7 @@ "refinement_interpretation_Tm_refine_f9393b35e18e69a35f7906fba2f36513" ], 0, - "185bed82129a346e93af3407f09daf2e" + "53017daca6a524f6c00cc59bc190fc21" ], [ "Unification.__proj__F__item__t2", @@ -113,7 +113,7 @@ "refinement_interpretation_Tm_refine_f9393b35e18e69a35f7906fba2f36513" ], 0, - "17ba06986a8374d61053756bffa6043c" + "25573dfc703a5455703e4ca7638efdb3" ], [ "Unification.nat_order", @@ -123,11 +123,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f7dbe13f0f66f212bb62d7d9940f0e24" + "5a73ec73251489a8879ff966c59d8494" ], [ "Unification.nat_order", @@ -136,20 +136,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "77972c91e014240a109f1e8d026010c1" + "b3e3697ec1e33eb5a0d166ad86a8dcde" ], [ "Unification.varset", @@ -159,11 +156,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c9ac042cfc270a6c45a026706dd7bea8" + "960c87dc78970b1fc5d4d317143d61e6" ], [ "Unification.empty_vars", @@ -173,11 +170,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1ad2efc4d959049e52c209ac398952da" + "0b02b8ab2d8e20579e7ff055550fe9db" ], [ "Unification.vars", @@ -186,20 +183,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_0", "disc_equation_Unification.F", "disc_equation_Unification.V", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_Unification.F" ], 0, - "d2c4232ad2ba6188504220cb4b37e9c6" + "c2f0b46acd796f710cc03c16392df354" ], [ "Unification.evars", @@ -208,19 +203,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5e4219615a8bb2c95ad963d52672b408_0", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Unification.eqns", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_Prims.Cons" ], 0, - "22468b41a55c3357eac7bdeff5756cbf" + "2cf1f5871b846255d0392b8b37744f16" ], [ "Unification.n_evars", @@ -230,11 +223,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d572ccb201847bee0fe3d18f6b24e10b" + "96d0c9c5fcac82c304c24246f4282930" ], [ "Unification.funs", @@ -243,18 +236,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_0", "disc_equation_Unification.F", "disc_equation_Unification.V", "equation_Prims.nat", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Unification.F" ], 0, - "f2d26699bc79b5916f24540ae293d394" + "b9666d315d9bbcd3ad19caa58a527d39" ], [ "Unification.efuns", @@ -264,18 +255,16 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Unification.funs.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5e4219615a8bb2c95ad963d52672b408_0", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "equation_Unification.eqns", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_Unification.funs" ], 0, - "f5e61cd4dae522a317e7904adaed9c96" + "47015c06e22c4589d735050de7e919c2" ], [ "Unification.n_flex_rhs", @@ -284,18 +273,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5e4219615a8bb2c95ad963d52672b408_0", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "equation_Unification.eqns", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "67ff1c59249d144b92a95c1b7e433850" + "f13cc3975e6cf0d23329f2b97cafbd0d" ], [ "Unification.subst_term", @@ -304,23 +291,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_f53c282fc2f6e16d629e4d2fa33f9f40_0", + "binder_x_e42194285e833ecefb2aa4536becb284_0", "disc_equation_Unification.F", "disc_equation_Unification.V", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Unification.subst", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_Unification.F" ], 0, - "78982501b04f7d57ad40955d338c1cfa" + "3c7c017e902bce7f51c2fa4413dd46c4" ], [ "Unification.occurs", @@ -330,11 +315,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "84d32619429f1c53c883433f658257f7" + "5490083ef7383a76f4db23c4fa712116" ], [ "Unification.lsubst_eqns", @@ -343,13 +328,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_5e4219615a8bb2c95ad963d52672b408_1", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Unification.eqns", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "6d245962e18452819f05198ac43d92e4" + "e09901bb2fc98fa8665f14082779cd75" ], [ "Unification.lemma_lsubst_eqns_nil", @@ -365,7 +350,7 @@ "kinding_Unification.term@tok" ], 0, - "c6d753f6a2d01f41039fe1c1386a911a" + "72c35a8dcf00753627e9a24b3a0946e5" ], [ "Unification.lemma_lsubst_eqns_nil", @@ -381,7 +366,7 @@ "kinding_Unification.term@tok" ], 0, - "96b748dda9581a99e75de40f119cf363" + "45b86eb122c66e491c6feb6d13677b89" ], [ "Unification.lemma_lsubst_eqns_nil", @@ -394,9 +379,9 @@ "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "Unification_interpretation_Tm_arrow_7bdaeb27ff575a2dac477e6f32d53cdb", - "binder_x_5e4219615a8bb2c95ad963d52672b408_0", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -414,7 +399,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "197183ab33b46301b838647d05016c80" + "85dae1d1d4a4864102014c5bedbcad2a" ], [ "Unification.evars_permute_hd", @@ -422,19 +407,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Unification.varset", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Unification.varset", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.OrdSet.hasEq_ordset", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Unification.nat_order" ], 0, - "7f6d77f3289b61f6618d164869d834a6" + "f12b0e42a694ae748cff17ad7eb638a0" ], [ "Unification.evars_permute_hd", @@ -444,7 +427,6 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unification.evars.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "constructor_distinct_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -452,9 +434,8 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_Unification.eqns", "equation_Unification.varset", "equation_with_fuel_Unification.evars.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Unification.term@tok", "lemma_FStar.OrdSet.union_comm", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -463,10 +444,11 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Unification.nat_order", "typing_Unification.vars" ], 0, - "48f9fe97d8bf73df7ad515ea7f3a597b" + "6ad4331ffd492a2e2d220d85a6f06113" ], [ "Unification.evars_unfun", @@ -474,19 +456,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Unification.varset", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Unification.varset", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.OrdSet.hasEq_ordset", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Unification.nat_order" ], 0, - "cc25121723957a791a1d50f9182fe81a" + "6e4375dc1e4714c41636aa659b5bd281" ], [ "Unification.evars_unfun", @@ -499,7 +479,6 @@ "@fuel_correspondence_Unification.vars.fuel_instrumented", "@fuel_irrelevance_Unification.evars.fuel_instrumented", "@fuel_irrelevance_Unification.vars.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Unification.F", @@ -510,9 +489,8 @@ "equation_Unification.eqns", "equation_Unification.varset", "equation_with_fuel_Unification.evars.fuel_instrumented", "equation_with_fuel_Unification.vars.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Unification.term@tok", "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", "primitive_Prims.op_BarBar", @@ -525,14 +503,15 @@ "projection_inverse_Unification.F_t1", "projection_inverse_Unification.F_t2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Unification.evars.fuel_instrumented", "token_correspondence_Unification.vars.fuel_instrumented", "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union", "typing_Unification.nat_order", "typing_Unification.vars" ], 0, - "0020aa0239f961ee77fd1074ef4c9214" + "16370254ed149490b9100c2e487104b7" ], [ "Unification.lemma_vars_decrease", @@ -540,16 +519,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c1ed0fd4391bffb156017ee62fe55d32" + "58358b028c9d1c6505419f1e613b472e" ], [ "Unification.lemma_vars_decrease", @@ -557,16 +533,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6624a2505c211ca4a26b246efa8f7587" + "2700555dd513414abb5aa2e837b0bf50" ], [ "Unification.lemma_vars_decrease", @@ -579,10 +552,9 @@ "@fuel_correspondence_Unification.vars.fuel_instrumented", "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", "@fuel_irrelevance_Unification.vars.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_f53c282fc2f6e16d629e4d2fa33f9f40_0", "bool_inversion", + "binder_x_e42194285e833ecefb2aa4536becb284_0", "bool_inversion", "bool_typing", "constructor_distinct_Unification.F", "constructor_distinct_Unification.V", "disc_equation_Unification.F", "disc_equation_Unification.V", "equality_tok_Prims.LexTop@tok", @@ -595,9 +567,8 @@ "equation_with_fuel_Unification.vars.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_Unification.term@tok", "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", @@ -608,7 +579,8 @@ "projection_inverse_Unification.F_t2", "projection_inverse_Unification.V_i", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Unification.F", "token_correspondence_Unification.vars.fuel_instrumented", "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.remove", @@ -618,7 +590,7 @@ "typing_Unification.vars" ], 0, - "39ecc5447db62443e46cd18c915fb4ab" + "c2b60e8c3d38fb9ae20f6c9a87284ce6" ], [ "Unification.vars_decrease_eqns", @@ -626,16 +598,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "12a7cb8f007298105fb925cc572af71b" + "a957b7a28dc945136302bbe1322e2280" ], [ "Unification.vars_decrease_eqns", @@ -643,16 +612,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f72af22fc07ff4f0eb81dbd68b5fa7d8" + "bc6a0ebcb821b02bb967e6b31e4b1ecf" ], [ "Unification.vars_decrease_eqns", @@ -664,18 +630,18 @@ "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_correspondence_Unification.evars.fuel_instrumented", "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", + "@fuel_correspondence_Unification.subst_term.fuel_instrumented", "@fuel_correspondence_Unification.vars.fuel_instrumented", "@fuel_irrelevance_Unification.evars.fuel_instrumented", "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Unification_interpretation_Tm_arrow_7bdaeb27ff575a2dac477e6f32d53cdb", - "binder_x_5e4219615a8bb2c95ad963d52672b408_2", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Unification.V", "data_elim_Prims.Cons", + "constructor_distinct_Unification.V", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", @@ -693,11 +659,10 @@ "equation_with_fuel_Unification.vars.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Unification.subst", "function_token_typing_Unification.subst_term", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Unification.term@tok", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", @@ -715,9 +680,11 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "projection_inverse_Unification.V_i", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_Unification.evars.fuel_instrumented", + "token_correspondence_Unification.lsubst_eqns.fuel_instrumented", "token_correspondence_Unification.subst_term", "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.remove", "typing_FStar.OrdSet.union", "typing_FStar.Pervasives.Native.fst", @@ -727,7 +694,7 @@ "typing_Unification.subst_term", "typing_Unification.vars" ], 0, - "db4f8f5e52670dfbd4cf69e98aea9c39" + "60f46743c4d1ba330080f79edb4cff74" ], [ "Unification.unify", @@ -745,9 +712,9 @@ "@fuel_irrelevance_Unification.evars.fuel_instrumented", "@fuel_irrelevance_Unification.funs.fuel_instrumented", "@fuel_irrelevance_Unification.n_flex_rhs.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5e4219615a8bb2c95ad963d52672b408_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "@query", "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "constructor_distinct_Unification.F", "constructor_distinct_Unification.V", "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -769,10 +736,9 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Unification.subst", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Unification.term@tok", "lemma_FStar.OrdSet.eq_remove", "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", @@ -797,11 +763,11 @@ "projection_inverse_Unification.F_t2", "projection_inverse_Unification.V_i", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Unification.efuns.fuel_instrumented", "token_correspondence_Unification.evars.fuel_instrumented", - "token_correspondence_Unification.funs.fuel_instrumented", "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.remove", "typing_FStar.OrdSet.union", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", @@ -813,7 +779,7 @@ "typing_Unification.vars", "well-founded-ordering-on-nat" ], 0, - "49c3912d5d2a88c30efbdf23776e1003" + "0b825ff6be2641d90b47b5aaa74c3232" ], [ "Unification.solved", @@ -823,13 +789,13 @@ [ "@MaxIFuel_assumption", "@query", "assumption_Unification.term__uu___haseq", - "binder_x_5e4219615a8bb2c95ad963d52672b408_0", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Unification.eqns", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "0ce21d5806a02f0cbfb25832049b2236" + "c45bf2f26215d5184e9941add295efad" ], [ "Unification.lsubst_distributes_over_F", @@ -838,7 +804,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "e76b2932aea87ce8e082bc82f28fdae2" + "167a93d4e4f40c8d0948fc2e8047e318" ], [ "Unification.lsubst_distributes_over_F", @@ -847,7 +813,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "c2fd491b89e4dcb2f19eabab7cf4c831" + "8308d10406312b04a6cb63844fbed251" ], [ "Unification.lsubst_distributes_over_F", @@ -861,12 +827,12 @@ "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "Unification_interpretation_Tm_arrow_7bdaeb27ff575a2dac477e6f32d53cdb", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_0", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Unification.F", "data_typing_intro_Unification.F@tok", "disc_equation_Prims.Cons", @@ -886,7 +852,7 @@ "typing_Unification.lsubst_term" ], 0, - "d73bd2f0a63d9b597357b20597f51afc" + "9fd07dfb3aca52097c6aae1e04527049" ], [ "Unification.lemma_extend_lsubst_distributes_term", @@ -895,7 +861,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "4eb4d8987ec06fdd6dd06f36faacef1a" + "a084ba0f55b5fd8f617c521d8621419b" ], [ "Unification.lemma_extend_lsubst_distributes_term", @@ -904,7 +870,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "200fb2a375c561948102b75bc0a7843a" + "f91f3eca0a2dea8bd352fa4684af5f2e" ], [ "Unification.lemma_extend_lsubst_distributes_term", @@ -918,12 +884,12 @@ "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "Unification_interpretation_Tm_arrow_7bdaeb27ff575a2dac477e6f32d53cdb", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_0", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_1", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Unification.extend_lsubst", @@ -943,7 +909,7 @@ "typing_Unification.extend_lsubst", "typing_Unification.lsubst_term" ], 0, - "0e0461199fee357669fed9874ecbf6b6" + "f627ecc61f02b6a246e71eae6e446d1a" ], [ "Unification.lemma_extend_lsubst_distributes_eqns", @@ -959,7 +925,7 @@ "kinding_Unification.term@tok" ], 0, - "b76da5fb08eb5aae93e915a974fe7e3f" + "839d4fe45606759d1f77388dba780be1" ], [ "Unification.lemma_extend_lsubst_distributes_eqns", @@ -975,7 +941,7 @@ "kinding_Unification.term@tok" ], 0, - "cd74e361c187803bb0925818ace1a3af" + "89b011429aebdebd5f22bf34c0fa64fd" ], [ "Unification.lemma_extend_lsubst_distributes_eqns", @@ -987,9 +953,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@query", "binder_x_5e4219615a8bb2c95ad963d52672b408_2", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_0", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_1", + "@query", "binder_x_8045d899e42f9bf0644926da91e4ddf8_2", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Unification.eqns", @@ -1012,7 +978,7 @@ "typing_Unification.extend_lsubst", "typing_Unification.lsubst_eqns" ], 0, - "acb315ae8d34240e2557df43e184ca1d" + "7707bc4884d46497cd9efac529083087" ], [ "Unification.lemma_subst_id", @@ -1021,7 +987,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "9d2b2780f1588a34cc1a5e05ba270228" + "e42822d4f92039ae6c10d57b3fb315bc" ], [ "Unification.lemma_subst_id", @@ -1030,7 +996,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "9226eea0f2544ba347bb19ac479071fc" + "159d98fc138cca34801a6801da57930a" ], [ "Unification.lemma_subst_id", @@ -1043,11 +1009,10 @@ "@fuel_correspondence_Unification.vars.fuel_instrumented", "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", "@fuel_irrelevance_Unification.vars.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "constructor_distinct_Unification.F", "constructor_distinct_Unification.V", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -1059,9 +1024,8 @@ "equation_with_fuel_Unification.subst_term.fuel_instrumented", "equation_with_fuel_Unification.vars.fuel_instrumented", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_Unification.term@tok", "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_BarBar", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -1071,14 +1035,15 @@ "projection_inverse_Unification.F_t2", "projection_inverse_Unification.V_i", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Unification.F", "token_correspondence_Unification.vars.fuel_instrumented", "typing_FStar.OrdSet.mem", "typing_Unification.nat_order", "typing_Unification.occurs" ], 0, - "bb09a0fd91dfdc7baebc90df5ebfdd3f" + "c72c506d1538aea42c72201484ddc1ec" ], [ "Unification.neutral", @@ -1087,7 +1052,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "0cca34775ae691ebe3fa6be3bcb240a1" + "cadf1291fcc7856970d3425a4089cdba" ], [ "Unification.neutral_l", @@ -1096,7 +1061,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "41a9fa3a57181197732ce62d02bffbfd" + "220d4bde32277acb7eb6539b42f94690" ], [ "Unification.lemma_lsubst_term_commutes", @@ -1105,7 +1070,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "0255a3650a3fbbf50c1c4049adf8b6d7" + "fde90f6967d33946b6de695bf3b8bf04" ], [ "Unification.lemma_lsubst_term_commutes", @@ -1114,7 +1079,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "9d1f8942f3a877b90cbf6e14d4967988" + "40db2d70707d4e8027afe132beefbacb" ], [ "Unification.lemma_lsubst_term_commutes", @@ -1127,11 +1092,11 @@ "@fuel_correspondence_Unification.subst_term.fuel_instrumented", "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "Unification_interpretation_Tm_arrow_7bdaeb27ff575a2dac477e6f32d53cdb", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_1", - "binder_x_f53c282fc2f6e16d629e4d2fa33f9f40_0", "bool_inversion", + "binder_x_e42194285e833ecefb2aa4536becb284_0", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_1", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Unification.F", "constructor_distinct_Unification.V", @@ -1164,13 +1129,13 @@ "projection_inverse_Unification.F_t2", "projection_inverse_Unification.V_i", "subterm_ordering_Unification.F", - "token_correspondence_Unification.subst_term", + "token_correspondence_Unification.subst_term.fuel_instrumented", "typing_FStar.List.Tot.Base.fold_right", "typing_Unification.lsubst_term", "typing_Unification.neutral_l", "typing_Unification.subst_term" ], 0, - "f2f253d8647c267ded9de73ebf3e7590" + "58475f0ff33b0ba3eac9fb5090578b67" ], [ "Unification.lemma_lsubst_eqns_commutes", @@ -1186,7 +1151,7 @@ "kinding_Unification.term@tok" ], 0, - "a8884b055660e4f1d49ad5b31ed877ae" + "cac7966cb859b330e64b09bb62a56479" ], [ "Unification.lemma_lsubst_eqns_commutes", @@ -1202,7 +1167,7 @@ "kinding_Unification.term@tok" ], 0, - "c9095765cbf1dd11de1e899cfef5bbd6" + "98319dc95757adc142c9532c05f5f650" ], [ "Unification.lemma_lsubst_eqns_commutes", @@ -1215,11 +1180,11 @@ "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "Unification_interpretation_Tm_arrow_7bdaeb27ff575a2dac477e6f32d53cdb", - "binder_x_5e4219615a8bb2c95ad963d52672b408_2", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_1", - "binder_x_f53c282fc2f6e16d629e4d2fa33f9f40_0", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_2", + "binder_x_e42194285e833ecefb2aa4536becb284_0", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -1241,7 +1206,7 @@ "subterm_ordering_Prims.Cons", "typing_Unification.lsubst_eqns" ], 0, - "bf1ab3e7db0f1a8394618a8300df8e65" + "da5ed8cd313fce94171349ff6c906a69" ], [ "Unification.key_lemma", @@ -1250,22 +1215,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Prims.list__uu___haseq", "assumption_Unification.term__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Unification.subst", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Unification.subst", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Unification.term@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7fd17bfeb217e171092d8bb56f32d404" + "d2dd705b0ba427b6ed924473f39a218a" ], [ "Unification.key_lemma", @@ -1281,8 +1245,8 @@ "@fuel_correspondence_Unification.subst_term.fuel_instrumented", "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", "@fuel_irrelevance_Unification.solved.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "Unification_interpretation_Tm_arrow_7bdaeb27ff575a2dac477e6f32d53cdb", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Unification.V", @@ -1303,7 +1267,6 @@ "equation_with_fuel_Unification.solved.fuel_instrumented", "equation_with_fuel_Unification.subst_term.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.nat", "function_token_typing_Unification.subst", "function_token_typing_Unification.subst_term", "kinding_FStar.Pervasives.Native.tuple2@tok", @@ -1321,6 +1284,7 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "projection_inverse_Unification.V_i", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.append", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_Unification.op_At", @@ -1331,7 +1295,7 @@ "typing_Unification.sub" ], 0, - "55071c0575933308fe648b7d92e2eb1b" + "17632b7473388e8138f15bb8fbccf2d5" ], [ "Unification.lemma_subst_term_idem", @@ -1340,7 +1304,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "0601398b985caf562fde8ae168a00d0d" + "3bc92eac6ebfb3169fea34414ef4515d" ], [ "Unification.lemma_subst_term_idem", @@ -1349,7 +1313,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "922158a12878f4f74fc136300946a831" + "7cb350210f858a7bc484dcd6decb11fa" ], [ "Unification.lemma_subst_term_idem", @@ -1362,7 +1326,7 @@ "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", "@query", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_f53c282fc2f6e16d629e4d2fa33f9f40_0", + "binder_x_e42194285e833ecefb2aa4536becb284_0", "constructor_distinct_Unification.F", "constructor_distinct_Unification.V", "disc_equation_Unification.F", "disc_equation_Unification.V", "equality_tok_Prims.LexTop@tok", @@ -1382,7 +1346,7 @@ "subterm_ordering_Unification.F", "typing_Unification.subst_term" ], 0, - "d0c135fe2987792d39a5c9ebfe33cdfe" + "ff3ba1a2ce83e6f5a035afaafcccb7ea" ], [ "Unification.lemma_subst_eqns_idem", @@ -1400,7 +1364,7 @@ "kinding_Unification.term@tok" ], 0, - "83f13ef082b1f61b9b4295d7610f63a5" + "ec35d80ba55581fa558bbe7cfe9cba0b" ], [ "Unification.lemma_subst_eqns_idem", @@ -1418,7 +1382,7 @@ "kinding_Unification.term@tok" ], 0, - "19d1cb41655142cdb1d549efcaead984" + "4c5468de5032431d8fcf2dae5fe8fb38" ], [ "Unification.lemma_subst_eqns_idem", @@ -1431,10 +1395,10 @@ "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "Unification_interpretation_Tm_arrow_7bdaeb27ff575a2dac477e6f32d53cdb", - "binder_x_5e4219615a8bb2c95ad963d52672b408_1", - "binder_x_f53c282fc2f6e16d629e4d2fa33f9f40_0", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_1", + "binder_x_e42194285e833ecefb2aa4536becb284_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -1458,7 +1422,7 @@ "typing_Unification.lsubst_eqns", "typing_Unification.lsubst_term" ], 0, - "9d565d62026dd567d4261630f6d0c4e2" + "2c7f171b2053382ccef2cbf2f6cd2b44" ], [ "Unification.subst_funs_monotone", @@ -1471,10 +1435,9 @@ "@fuel_correspondence_Unification.subst_term.fuel_instrumented", "@fuel_irrelevance_Unification.funs.fuel_instrumented", "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", + "@query", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_f53c282fc2f6e16d629e4d2fa33f9f40_0", + "binder_x_e42194285e833ecefb2aa4536becb284_0", "constructor_distinct_Unification.F", "constructor_distinct_Unification.V", "disc_equation_Unification.F", "disc_equation_Unification.V", "equality_tok_Prims.LexTop@tok", @@ -1483,18 +1446,17 @@ "equation_with_fuel_Unification.subst_term.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Unification.F_t1", "projection_inverse_Unification.F_t2", "projection_inverse_Unification.V_i", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Unification.F", "token_correspondence_Unification.funs.fuel_instrumented", "typing_Unification.subst_term" ], 0, - "c3caa4cc8c835cc51f8931b55fccc527" + "db90524d68946996d0837b0ebbaa9c70" ], [ "Unification.lsubst_funs_monotone", @@ -1507,11 +1469,11 @@ "@fuel_correspondence_Unification.funs.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "Unification_interpretation_Tm_arrow_7bdaeb27ff575a2dac477e6f32d53cdb", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_0", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Unification.lsubst_term", "equation_Unification.subst", @@ -1525,7 +1487,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "438155469f83a3aa3f5b2305d8536efd" + "426af07c4be4d2aee166c5d67db3e3ca" ], [ "Unification.lemma_occurs_not_solveable_aux", @@ -1538,11 +1500,10 @@ "@fuel_correspondence_Unification.vars.fuel_instrumented", "@fuel_irrelevance_Unification.funs.fuel_instrumented", "@fuel_irrelevance_Unification.vars.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_c7d6bf01525dcb96b496b442e5a9e229_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_2", "bool_inversion", + "binder_x_8505b50eeafee17e9d7d1a89618fd145_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_2", "bool_inversion", "constructor_distinct_Tm_unit", "constructor_distinct_Unification.F", "constructor_distinct_Unification.V", "disc_equation_Unification.F", "disc_equation_Unification.V", "equation_Prims.eqtype", @@ -1552,9 +1513,8 @@ "equation_with_fuel_Unification.funs.fuel_instrumented", "equation_with_fuel_Unification.vars.fuel_instrumented", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", "lemma_Unification.lsubst_distributes_over_F", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", @@ -1563,9 +1523,10 @@ "projection_inverse_Unification.F_t1", "projection_inverse_Unification.F_t2", "projection_inverse_Unification.V_i", + "refinement_interpretation_Tm_refine_1f528521bf62ee3d9c208b5dc783e172", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9c56ebdc2645ecc59b855ff513ca420d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Unification.F", "token_correspondence_Unification.vars.fuel_instrumented", "typing_Unification.funs", "typing_Unification.lsubst_term", @@ -1573,7 +1534,7 @@ "typing_Unification.uu___is_V", "unit_inversion", "unit_typing" ], 0, - "8d4ea4766389c3584a4618a6d225496a" + "8f7a1a3551aeb69b06c95ffe358ecffe" ], [ "Unification.not_solveable", @@ -1582,7 +1543,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "7fd7ed52daa9d5251cefa943e9033aa5" + "0669d26cf3b80d376dbaa8bf9651c758" ], [ "Unification.lemma_occurs_not_solveable", @@ -1593,14 +1554,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unification.funs.fuel_instrumented", "@fuel_irrelevance_Unification.funs.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_Unification.F", "disc_equation_Unification.V", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", "equation_Unification.not_solveable", "equation_with_fuel_Unification.funs.fuel_instrumented", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -1608,11 +1567,11 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Unification.funs.fuel_instrumented" ], 0, - "fe41a49201c237edd124fbcd1d010adc" + "793d28e25147d12304d212968dbc2cee" ], [ "Unification.lemma_subst_idem", @@ -1621,7 +1580,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "64d3ad2ecdb8dbc90b2f622827c5a31a" + "12810e9022ffa3ecd3c25325d7d99952" ], [ "Unification.lemma_subst_idem", @@ -1630,7 +1589,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "50680b7394700288368c2944a820a0d0" + "9af2c8d16947d46af8f647ea79146601" ], [ "Unification.lemma_subst_idem", @@ -1644,8 +1603,8 @@ "@query", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", "constructor_distinct_Unification.F", "constructor_distinct_Unification.V", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -1656,7 +1615,7 @@ "equation_Unification.subst", "equation_with_fuel_Unification.subst_term.fuel_instrumented", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.nat", "kinding_Unification.term@tok", + "kinding_Unification.term@tok", "lemma_Unification.lsubst_distributes_over_F", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -1667,10 +1626,11 @@ "projection_inverse_Unification.F_t1", "projection_inverse_Unification.F_t2", "projection_inverse_Unification.V_i", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Unification.F", "typing_Unification.subst_term" ], 0, - "7fd6cb021d82a7c96004a81dd75ac76a" + "5e4a9435c2084574cc1168a08e470995" ], [ "Unification.lemma_subst_eqns", @@ -1685,7 +1645,7 @@ "kinding_FStar.Pervasives.Native.tuple2@tok" ], 0, - "f1e7bda4ee837a7eca0525d5453b1746" + "b7633606ca9ffc5cd35f86383dc53178" ], [ "Unification.lemma_subst_eqns", @@ -1701,7 +1661,7 @@ "kinding_Unification.term@tok" ], 0, - "09af7470b762d9bae952062925f89a65" + "236e80988be06ef7e5dc6191f1702c5b" ], [ "Unification.lemma_subst_eqns", @@ -1712,16 +1672,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "Unification_interpretation_Tm_arrow_7bdaeb27ff575a2dac477e6f32d53cdb", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_5e4219615a8bb2c95ad963d52672b408_3", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_0", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_Prims.Cons@tok", @@ -1732,24 +1691,21 @@ "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "equation_with_fuel_Unification.lsubst_eqns.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.nat", "function_token_typing_Unification.subst", "function_token_typing_Unification.subst_term", "kinding_Unification.term@tok", - "lemma_Unification.lemma_lsubst_eqns_nil", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", - "token_correspondence_Unification.lsubst_eqns.fuel_instrumented", "token_correspondence_Unification.subst_term", - "typing_Unification.lsubst_eqns", "typing_Unification.lsubst_term", - "typing_Unification.subst_term" + "typing_Unification.lsubst_eqns" ], 0, - "a2d903bf4bcf9e609402cb24275f500c" + "af4d6f7d90861b7ee12dfebee1ff179d" ], [ "Unification.lemma_not_solveable_cons_aux", @@ -1783,7 +1739,7 @@ "typing_Unification.lsubst_eqns" ], 0, - "3bbb35df3d8d586da9b99e17b44708f1" + "8683ce5fc3053f15d05929fd89d24342" ], [ "Unification.lemma_not_solveable_cons", @@ -1800,7 +1756,7 @@ "lemma_Unification.lemma_not_solveable_cons_aux" ], 0, - "906bfd80b3344fbe272a88948a18af2b" + "194fe9b7626855b491499ebadda3bd59" ], [ "Unification.unify_correct_aux", @@ -1810,7 +1766,6 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unification.unify.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Prims.list__uu___haseq", "assumption_Unification.term__uu___haseq", "bool_inversion", @@ -1820,21 +1775,21 @@ "equation_Unification.eqns", "equation_Unification.lsubst", "equation_Unification.subst", "equation_with_fuel_Unification.unify.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Unification.lsubst", "function_token_typing_Unification.subst", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Unification.term@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.uu___is_None", "typing_Unification.unify" ], 0, - "bd84f414295d0375f7bf617fecf67849" + "ced30eec5d54e69219393fc201d721ce" ], [ "Unification.unify_correct_aux", @@ -1844,7 +1799,6 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unification.unify.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Prims.list__uu___haseq", "assumption_Unification.term__uu___haseq", "bool_inversion", @@ -1853,22 +1807,22 @@ "equation_Unification.eqns", "equation_Unification.lsubst", "equation_Unification.subst", "equation_with_fuel_Unification.unify.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Unification.lsubst", "function_token_typing_Unification.subst", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Unification.term@tok", "lemma_FStar.Pervasives.invertOption", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eb6feec25596cd756b4b1c690f6de5ee", + "refinement_interpretation_Tm_refine_c6fbed3f4a05ae08841e4e421589e0b8", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Unification.unify" ], 0, - "cc625a81432dd5cf61453ae4358aa697" + "11ec28fbd70e345019d93f51659f877a" ], [ "Unification.unify_correct_aux", @@ -1893,15 +1847,14 @@ "@fuel_irrelevance_Unification.n_flex_rhs.fuel_instrumented", "@fuel_irrelevance_Unification.solved.fuel_instrumented", "@fuel_irrelevance_Unification.unify.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c04f0dbd7149fd597225c7e6a7fb4b23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Unification_interpretation_Tm_arrow_3f4e22a44cb99134a04499961e16620c", - "Unification_interpretation_Tm_arrow_b3a142f8d426189eaeceb1700881a031", + "FStar.List.Tot.Base_interpretation_Tm_arrow_47fd0cc003e48be3b80fb62cd2b0c6b5", + "Unification_interpretation_Tm_arrow_97e78c790c918c43971d2b2942bbbbe5", + "Unification_interpretation_Tm_arrow_cc3608ec795634a7f26a53a8e2c5d99b", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Prims.list__uu___haseq", "assumption_Unification.term__uu___haseq", - "binder_x_5e4219615a8bb2c95ad963d52672b408_1", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_0", "bool_inversion", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_1", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -1920,7 +1873,7 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Unification.eqns", "equation_Unification.extend_lsubst", - "equation_Unification.extend_subst", "equation_Unification.lsubst", + "equation_Unification.extend_subst", "equation_Unification.lsubst_term", "equation_Unification.n_evars", "equation_Unification.neutral_l", "equation_Unification.not_solveable", @@ -1943,18 +1896,16 @@ "fuel_guarded_inversion_Prims.list", "fuel_guarded_inversion_Unification.term", "function_token_typing_FStar.List.Tot.Base.append", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_Unification.lsubst", + "function_token_typing_Prims.int", "function_token_typing_Unification.op_At", "function_token_typing_Unification.subst", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok", "lemma_FStar.OrdSet.mem_singleton", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Unification.term@tok", "lemma_FStar.OrdSet.eq_remove", + "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.size_remove", "lemma_FStar.OrdSet.size_singleton", "lemma_FStar.OrdSet.size_union", "lemma_FStar.OrdSet.subset_size", "lemma_FStar.OrdSet.union_comm", - "lemma_FStar.Pervasives.invertOption", "lemma_Unification.lemma_extend_lsubst_distributes_eqns", "lemma_Unification.lsubst_distributes_over_F", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -1977,8 +1928,9 @@ "projection_inverse_Unification.F_t2", "projection_inverse_Unification.V_i", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e56eb86621f475ab19c1e6dee8ef4fe6", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a519d9a8405faf0ffcb8ce509c929f58", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.append", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_Unification.efuns.fuel_instrumented", @@ -1990,19 +1942,18 @@ "typing_FStar.OrdSet.union", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Unification.efuns", "typing_Unification.evars", - "typing_Unification.extend_lsubst", "typing_Unification.funs", - "typing_Unification.lsubst_eqns", "typing_Unification.lsubst_term", - "typing_Unification.n_evars", "typing_Unification.n_flex_rhs", - "typing_Unification.nat_order", "typing_Unification.occurs", - "typing_Unification.solved", "typing_Unification.sub", - "typing_Unification.unify", "typing_Unification.unify_correct_aux", + "typing_Unification.funs", "typing_Unification.lsubst_eqns", + "typing_Unification.lsubst_term", "typing_Unification.n_evars", + "typing_Unification.n_flex_rhs", "typing_Unification.nat_order", + "typing_Unification.occurs", "typing_Unification.solved", + "typing_Unification.sub", "typing_Unification.unify", + "typing_Unification.unify_correct_aux", "typing_Unification.uu___is_V", "typing_Unification.vars", "well-founded-ordering-on-nat" ], 0, - "45ebd31eb69b111af18cbeac73ffc731" + "461af360e279c5d034285ded0ce04903" ], [ "Unification.unify_eqns_correct", @@ -2018,7 +1969,7 @@ "typing_Unification.unify_eqns" ], 0, - "15ead82d57a2ec6cad3770513792a53a" + "530e3704b0e2e5d8de70faf46f5db8ce" ], [ "Unification.unify_eqns_correct", @@ -2036,7 +1987,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7f42aeaf09ef1de55e612424b4e82b3e" + "025ef72a4c5c8941974646531fbf668b" ], [ "Unification.lemma_shift_append", @@ -2049,7 +2000,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "365cdb68e93e8f01677382c097517a32" + "fc8792a799e05d2a0cfc35e5af06bf39" ], [ "Unification.term", @@ -2059,11 +2010,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3a25aaf2ce1c980aa0ea6fa41ecdcb7b" + "e65ada64c1774ae02dd3e469ebf701a2" ], [ "Unification.__proj__V__item__i", @@ -2076,7 +2027,7 @@ "refinement_interpretation_Tm_refine_a6f3162317a37ec3b40e2ddee0a47784" ], 0, - "fa708270c0f20cb675d33c6b3c821236" + "a159abad349569fd3d0c6a0dc0b33c97" ], [ "Unification.__proj__F__item__t1", @@ -2089,7 +2040,7 @@ "refinement_interpretation_Tm_refine_f9393b35e18e69a35f7906fba2f36513" ], 0, - "1c16df72c3ced5c7ff926dbeeb15d6a7" + "59b6d3fc9257410c13abde345f1f17c7" ], [ "Unification.__proj__F__item__t2", @@ -2102,7 +2053,7 @@ "refinement_interpretation_Tm_refine_f9393b35e18e69a35f7906fba2f36513" ], 0, - "9a0d3d411bbd480a52d16f8abed9d916" + "b83fe80cfa91ff07e3a0c7cb5526532a" ], [ "Unification.nat_order", @@ -2111,20 +2062,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "5e402a1c640e6655baaae4240339a4ce" + "37c29b71c5ad313268724a755e95e8c5" ], [ "Unification.varset", @@ -2134,11 +2082,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8396f5cad5139fdb5b4e383c7f0cc0e8" + "ae296504b6871878a71fc5598e51b197" ], [ "Unification.empty_vars", @@ -2148,11 +2096,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "869e5971b8663b6058eec72a407e9ced" + "56b84e8c2b694f6d781c7eef212023e6" ], [ "Unification.vars", @@ -2161,20 +2109,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_0", "disc_equation_Unification.F", "disc_equation_Unification.V", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_Unification.F" ], 0, - "cd4f9408787e8d601a2db03675292b4c" + "ed1f2376525a7ec11e9f6ba4259a689e" ], [ "Unification.evars", @@ -2183,19 +2129,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5e4219615a8bb2c95ad963d52672b408_0", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Unification.eqns", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_Prims.Cons" ], 0, - "1e392c3ab4019f50aa6976f0b855afa9" + "cf95053bc21de5913921f2f09487a7be" ], [ "Unification.n_evars", @@ -2205,11 +2149,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "61339c2fa48a678aa66c1ae126c70d40" + "e8b1562d4d4d0e6f6e6869df56d35d26" ], [ "Unification.funs", @@ -2218,18 +2162,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_0", "disc_equation_Unification.F", "disc_equation_Unification.V", "equation_Prims.nat", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Unification.F" ], 0, - "9964c92b8748745c6d2cdec0ac282cbd" + "6d98f096c546e60fdae9a585af228263" ], [ "Unification.efuns", @@ -2239,18 +2181,16 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Unification.funs.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5e4219615a8bb2c95ad963d52672b408_0", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "equation_Unification.eqns", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_Unification.funs" ], 0, - "9a1a3f4967eb082913f2fd9eb88501ca" + "6f45c7a2a8b5444413bebc90e643d78b" ], [ "Unification.n_flex_rhs", @@ -2259,18 +2199,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5e4219615a8bb2c95ad963d52672b408_0", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "equation_Unification.eqns", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "c0a3ac8777d265046e0864e9b3eea747" + "7f1cf94d128c7497d4c29c5876769901" ], [ "Unification.subst_term", @@ -2279,23 +2217,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_f53c282fc2f6e16d629e4d2fa33f9f40_0", + "binder_x_e42194285e833ecefb2aa4536becb284_0", "disc_equation_Unification.F", "disc_equation_Unification.V", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Unification.subst", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_Unification.F" ], 0, - "1ce93859dd63e7a328cb4cea61ae6a8f" + "df8c90c0ffd52bdce145ccd171f59ac7" ], [ "Unification.occurs", @@ -2305,11 +2241,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "753d635e34435d46243df17b4956cbbd" + "24849a5dac3bab6a78915d6589ed04ff" ], [ "Unification.lsubst_eqns", @@ -2318,13 +2254,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_5e4219615a8bb2c95ad963d52672b408_1", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Unification.eqns", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "a0811abfa2b87e0177586a315d8ff4b6" + "374d4dbd45c6c7d20858707e02d5d5e9" ], [ "Unification.lemma_lsubst_eqns_nil", @@ -2340,7 +2276,7 @@ "kinding_Unification.term@tok" ], 0, - "910203d97f43bf9bea6b2c1fd0926d01" + "cb2bfbd30ddb8befe03acda5c523978a" ], [ "Unification.evars_permute_hd", @@ -2348,19 +2284,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Unification.varset", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Unification.varset", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.OrdSet.hasEq_ordset", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Unification.nat_order" ], 0, - "fea833aa9b0443b74dc38757abe507fb" + "f5789b63d7605f0479d53ccdaaeb26b0" ], [ "Unification.evars_unfun", @@ -2368,19 +2302,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Unification.varset", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Unification.varset", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.OrdSet.hasEq_ordset", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Unification.nat_order" ], 0, - "fa6a286b04998886cbd9751461cd1636" + "1f2c60892477b308c20d4d8988fcbcb8" ], [ "Unification.lemma_vars_decrease", @@ -2388,16 +2320,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4b07dd3f1c7954e5aa5bfc382046ed53" + "2d78536b1164c07095413bbcff0d8972" ], [ "Unification.vars_decrease_eqns", @@ -2405,16 +2334,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "566f3ab39f42bbe593e5747eef2c6758" + "cbe3506f7a754b1be753b9bf9edd2599" ], [ "Unification.unify", @@ -2432,9 +2358,9 @@ "@fuel_irrelevance_Unification.evars.fuel_instrumented", "@fuel_irrelevance_Unification.funs.fuel_instrumented", "@fuel_irrelevance_Unification.n_flex_rhs.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5e4219615a8bb2c95ad963d52672b408_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "@query", "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "constructor_distinct_Unification.F", "constructor_distinct_Unification.V", "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -2456,10 +2382,9 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "fuel_guarded_inversion_Unification.term", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Unification.subst", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Unification.term@tok", "lemma_FStar.OrdSet.eq_remove", "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", @@ -2484,11 +2409,11 @@ "projection_inverse_Unification.F_t2", "projection_inverse_Unification.V_i", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Unification.efuns.fuel_instrumented", "token_correspondence_Unification.evars.fuel_instrumented", - "token_correspondence_Unification.funs.fuel_instrumented", "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.remove", "typing_FStar.OrdSet.union", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", @@ -2500,7 +2425,7 @@ "typing_Unification.vars", "well-founded-ordering-on-nat" ], 0, - "485db299428693997148ce49a45c5416" + "56437f9b3cc30270c927229357035d33" ], [ "Unification.solved", @@ -2510,13 +2435,13 @@ [ "@MaxIFuel_assumption", "@query", "assumption_Unification.term__uu___haseq", - "binder_x_5e4219615a8bb2c95ad963d52672b408_0", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Unification.eqns", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "0e0bdedd8f0a48d867e827d14683040f" + "57130ab28da53d7156f44fd1bca6f996" ], [ "Unification.lsubst_distributes_over_F", @@ -2525,7 +2450,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "41a7aa215fa6f25dd3c05ed65cfb9636" + "3a60173a29657ae1f7eff74e2ee37ee7" ], [ "Unification.lemma_extend_lsubst_distributes_term", @@ -2534,7 +2459,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "5e159b94d2a9d890b5d1e2a8b58bb92e" + "d224f3c082947523f5a491e0c7be11e9" ], [ "Unification.lemma_extend_lsubst_distributes_eqns", @@ -2550,7 +2475,7 @@ "kinding_Unification.term@tok" ], 0, - "ba330a72cad30b2055c786cfa87eafc5" + "c1873b04a5ea08e5c1fa583f1710c45d" ], [ "Unification.lemma_subst_id", @@ -2559,7 +2484,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "9d8a4054ea94c7039ed148d7d18cd5d9" + "98b68ea5641a4d724569b05bd3f12c8e" ], [ "Unification.neutral", @@ -2568,7 +2493,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "dbe42107940d0ff666c768f1e00c410d" + "d64a690d20885e2adc1ca72e356f50c8" ], [ "Unification.neutral_l", @@ -2577,7 +2502,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "eb09e64634a0fb4b43df95ee6075d881" + "47a391f9d12ea019e730977d6b3d0354" ], [ "Unification.lemma_lsubst_term_commutes", @@ -2586,7 +2511,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "19c7d4aabbf1380d48c547844abae53f" + "6611bd1b6f345dbc5d3cda9df4f8800e" ], [ "Unification.lemma_lsubst_eqns_commutes", @@ -2602,7 +2527,7 @@ "kinding_Unification.term@tok" ], 0, - "6e7687711a9110418c0e95dd1b541cd8" + "dbc20f0e19b7fad811fdaaef249cd84c" ], [ "Unification.key_lemma", @@ -2611,22 +2536,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Prims.list__uu___haseq", "assumption_Unification.term__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Unification.subst", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Unification.subst", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Unification.term@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ee2baf1d9378e7e6c5fd1a26e4a7abd9" + "e270036773c4c71529fed46863535c9a" ], [ "Unification.lemma_subst_term_idem", @@ -2635,7 +2559,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "96a14d96e517a2f05de46bd93fab36af" + "fdedd79782b312df87e865f961b76149" ], [ "Unification.lemma_subst_eqns_idem", @@ -2653,7 +2577,7 @@ "kinding_Unification.term@tok" ], 0, - "2ab3c388c27a7fa4bbb62f04a2371afc" + "c9ac9a24e12f882b9fe30fb1cc9f5c43" ], [ "Unification.not_solveable", @@ -2662,7 +2586,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "3a3548bb4ea62d92240bd9f08275d74d" + "35b4f85c91ee6fb2420d687bf60da384" ], [ "Unification.lemma_subst_idem", @@ -2671,7 +2595,7 @@ 1, [ "@query", "assumption_Unification.term__uu___haseq" ], 0, - "940c8fe10d67412a01dc8be859131446" + "fbac7c489dd689b0da743d07f266f954" ], [ "Unification.lemma_subst_eqns", @@ -2687,7 +2611,7 @@ "kinding_Unification.term@tok" ], 0, - "757dc58deca837f402da9babdcb2c77c" + "555b33919ab4796ef5e5bb99a9661d4b" ], [ "Unification.unify_correct_aux", @@ -2697,7 +2621,6 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unification.unify.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Prims.list__uu___haseq", "assumption_Unification.term__uu___haseq", "bool_inversion", @@ -2706,22 +2629,22 @@ "equation_Unification.eqns", "equation_Unification.lsubst", "equation_Unification.subst", "equation_with_fuel_Unification.unify.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Unification.lsubst", "function_token_typing_Unification.subst", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Unification.term@tok", "lemma_FStar.Pervasives.invertOption", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eb6feec25596cd756b4b1c690f6de5ee", + "refinement_interpretation_Tm_refine_c6fbed3f4a05ae08841e4e421589e0b8", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Unification.unify" ], 0, - "3b67916e083966b362a5679e8837122b" + "aad7cf8a518cccf2efb3fc51648c4ff4" ], [ "Unification.unify_correct_aux", @@ -2746,15 +2669,14 @@ "@fuel_irrelevance_Unification.n_flex_rhs.fuel_instrumented", "@fuel_irrelevance_Unification.solved.fuel_instrumented", "@fuel_irrelevance_Unification.unify.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c04f0dbd7149fd597225c7e6a7fb4b23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Unification_interpretation_Tm_arrow_3f4e22a44cb99134a04499961e16620c", - "Unification_interpretation_Tm_arrow_b3a142f8d426189eaeceb1700881a031", + "FStar.List.Tot.Base_interpretation_Tm_arrow_47fd0cc003e48be3b80fb62cd2b0c6b5", + "Unification_interpretation_Tm_arrow_97e78c790c918c43971d2b2942bbbbe5", + "Unification_interpretation_Tm_arrow_cc3608ec795634a7f26a53a8e2c5d99b", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Prims.list__uu___haseq", "assumption_Unification.term__uu___haseq", - "binder_x_5e4219615a8bb2c95ad963d52672b408_1", - "binder_x_f4b85514c13f059ba9f1ea99ccc2d527_0", "bool_inversion", + "binder_x_8045d899e42f9bf0644926da91e4ddf8_1", + "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -2773,7 +2695,7 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Unification.eqns", "equation_Unification.extend_lsubst", - "equation_Unification.extend_subst", "equation_Unification.lsubst", + "equation_Unification.extend_subst", "equation_Unification.lsubst_term", "equation_Unification.n_evars", "equation_Unification.neutral_l", "equation_Unification.not_solveable", @@ -2796,18 +2718,16 @@ "fuel_guarded_inversion_Prims.list", "fuel_guarded_inversion_Unification.term", "function_token_typing_FStar.List.Tot.Base.append", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_Unification.lsubst", + "function_token_typing_Prims.int", "function_token_typing_Unification.op_At", "function_token_typing_Unification.subst", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok", "lemma_FStar.OrdSet.mem_singleton", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Unification.term@tok", "lemma_FStar.OrdSet.eq_remove", + "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.size_remove", "lemma_FStar.OrdSet.size_singleton", "lemma_FStar.OrdSet.size_union", "lemma_FStar.OrdSet.subset_size", "lemma_FStar.OrdSet.union_comm", - "lemma_FStar.Pervasives.invertOption", "lemma_Unification.lemma_extend_lsubst_distributes_eqns", "lemma_Unification.lsubst_distributes_over_F", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -2830,11 +2750,11 @@ "projection_inverse_Unification.F_t2", "projection_inverse_Unification.V_i", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e56eb86621f475ab19c1e6dee8ef4fe6", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a519d9a8405faf0ffcb8ce509c929f58", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.append", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_Unification.efuns.fuel_instrumented", "token_correspondence_Unification.evars.fuel_instrumented", "token_correspondence_Unification.lsubst_eqns.fuel_instrumented", "token_correspondence_Unification.op_At", @@ -2843,9 +2763,7 @@ "typing_FStar.OrdSet.union", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Unification.efuns", "typing_Unification.evars", - "typing_Unification.extend_lsubst", "typing_Unification.funs", "typing_Unification.lsubst_eqns", "typing_Unification.lsubst_term", "typing_Unification.n_evars", "typing_Unification.n_flex_rhs", "typing_Unification.nat_order", "typing_Unification.occurs", @@ -2855,7 +2773,7 @@ "well-founded-ordering-on-nat" ], 0, - "c4d12dff4c8f9d989b794ca2870b5fad" + "a90e7df0d72d805e96e361a9f538dac9" ], [ "Unification.unify_eqns_correct", @@ -2871,7 +2789,7 @@ "typing_Unification.unify_eqns" ], 0, - "62bf9d8dbec4b84c516782abe1510a83" + "af089fe88e4e0317bc75475a879d63bc" ] ] ] \ No newline at end of file diff --git a/examples/benchmarking/README.md b/examples/benchmarking/README.md new file mode 100644 index 00000000000..9bf0a6e1191 --- /dev/null +++ b/examples/benchmarking/README.md @@ -0,0 +1,42 @@ +Benchmarking FStar +================== + +There are hooks within the FStar makefiles to make it easy to run a benchmarks of examples/micro-benchmarks, ulib and OCaml extraction of the FStar compiler itself. + +To get started, you can run the micro-benchmarks using GNU time to measure execution with: +``` + $ make -C examples/micro-benchmarks BENCHMARK_CMD=time +``` +This will output .bench files for each of the benchmarks. + + +Example of full benchmarks +-------------------------- + +The `make_bench_results.sh` script is an example which: + - places all the results into the directory `./bench_results/YYYY_HHMMSS` + - cleans the fstar tree to start from a known state + - builds the fstar compiler + - builds a fresh ulib + - executes the benchmarks for micro-benchmarks, ulib and OCaml extraction + - collates the JSON results into a CSV file and also timing summaries in the results directory + +To run this script you may need to install: + - orun which to collect OCaml profiling information including GC stats and is part of the sandmark OCaml benchmarking suite (https://github.com/ocaml-bench/sandmark). To install a local pinned copy of orun do the following: +``` + $ git clone https://github.com/ocaml-bench/sandmark.git sandmark + $ cd sandmark/orun + $ opam install . +``` + - jq which collates JSON into CSV (https://stedolan.github.io/jq/) + +To run the script execute (from the fstar root directory) +``` + $ examples/benchmarking/make_bench_results.sh +``` + +The script has options to set wrappers for tasksetting and/or setting FStar OTHERFLAGS, for example: +``` + $ BENCH_WRAP='taskset --cpu-list 3' BENCH_OTHERFLAGS='--admit_smt_queries true' examples/benchmarking/make_bench_results.sh +``` + diff --git a/examples/benchmarking/make_bench_results.sh b/examples/benchmarking/make_bench_results.sh new file mode 100755 index 00000000000..f78f55f3386 --- /dev/null +++ b/examples/benchmarking/make_bench_results.sh @@ -0,0 +1,97 @@ +#!/bin/bash + +# example script to run benchmarks and collate them + +set -x + +# BENCH_OTHERFLAGS are passed to the benchmark commands when they execute, +# we default to '--admit_smt_queries true' to exclude Z3 execution time from the benchmarks +BENCH_OTHERFLAGS=${BENCH_OTHERFLAGS-"--admit_smt_queries true"} + +# BENCH_WRAP can be used to set up CPU affinity with taskset, for example: +# BENCH_WRAP='taskset --cpu-list 4' +BENCH_WRAP=${BENCH_WRAP-} + +# BENCH_OUTDIR is the location of the output directory +BENCH_OUTDIR=${BENCH_OUTDIR-"./bench_results/"`date +'%Y%m%d_%H%M%S'`} + +write_simple_summary() { + IN=${1} + OUT=${1}.summary + echo ${IN} > ${OUT} + cat ${IN}.csv | awk -F',' 'BEGIN {total=0; user=0; sys=0} NR>0 {total+=$2; user+=$3; sys+=$4} END {printf "n\ttotal\tuser\tsystem\t\n%d\t%.4g\t%.4g\t%.4g\n", NR-1,total, user, sys}' >> ${OUT} +} + +write_csv() { + IN=${1} + OUT=${1}.csv + + FIELDS=('name', 'time_secs', 'user_time_secs', 'sys_time_secs', 'maxrss_kB', 'gc.allocated_words', 'gc.minor_words', 'gc.promoted_words', 'gc.major_words', 'gc.minor_collections', 'gc.major_collections', 'gc.heap_words', 'gc.heap_chunks', 'gc.top_heap_words', 'gc.compactions') + HEADER=$(printf "%s" ${FIELDS[@]}) + JQ_ARGS=$(printf ".%s" ${FIELDS[@]}) + + echo $HEADER > ${OUT} + cat ${IN}.bench | jq -s -r ".[] | [$JQ_ARGS] | @csv" >> ${OUT} +} + +write_csv_and_summary() { + if hash jq 2>/dev/null; then + write_csv $1 + write_simple_summary $1 + else + echo "Unable to find jq to create csv and summary (https://stedolan.github.io/jq/)" + fi +} + +mkdir -p ${BENCH_OUTDIR} + +# setup clean fstar to clean state +make clean +make -C src clean_boot +make -C src clean +git checkout -- src/ocaml-output +rm src/.cache.boot/*.checked.lax + +# log the git state of the tree +git log -n 1 2>&1 | tee -a ${BENCH_OUTDIR}/git_info.log +git status -v -v 2>&1 | tee -a ${BENCH_OUTDIR}/git_info.log + +# build fstar compiler bootstrap +T0=`date +'%Y%m%d_%H%M%S'` +echo "Starting fstar compiler bootstrap ${T0}" +make -C src ocaml-fstar-ocaml 2>&1 | tee ${BENCH_OUTDIR}/build_fstar.log +T1=`date +'%Y%m%d_%H%M%S'` +echo "Finished fstar compiler boostrap ${T1} (started at ${T0})" + +# verify ulib and install +T0=`date +'%Y%m%d_%H%M%S'` +echo "Starting fstarlib build ${T0}" +make -C src fstarlib 2>&1 | tee ${BENCH_OUTDIR}/build_fstarlib.log +T1=`date +'%Y%m%d_%H%M%S'` +echo "Finished fstar compiler boostrap ${T1} (started at ${T0})" + +ls -ltr ulib >> ${BENCH_OUTDIR}/build_fstarlib.log + +# benchmark examples/micro-benchmarks +BENCH_DIR=examples/micro-benchmarks; NME=micro-benchmarks +rm -f ${BENCH_DIR}/*.bench +${BENCH_WRAP} make -C ${BENCH_DIR} BENCHMARK_FSTAR=true BENCHMARK_CMD=orun OTHERFLAGS="${BENCH_OTHERFLAGS}" 2>&1 | tee ${BENCH_OUTDIR}/${NME}.log +cat ${BENCH_DIR}/*.bench > ${BENCH_OUTDIR}/${NME}.bench +write_csv_and_summary ${BENCH_OUTDIR}/${NME} + +# benchmark ulib +BENCH_DIR=ulib; NME=ulib +rm -f ${BENCH_DIR}/*.bench +${BENCH_WRAP} make -C ${BENCH_DIR} benchmark BENCHMARK_FSTAR=true BENCHMARK_CMD=orun OTHERFLAGS="${BENCH_OTHERFLAGS}" 2>&1 | tee ${BENCH_OUTDIR}/${NME}.log +cat ${BENCH_DIR}/*.bench > ${BENCH_OUTDIR}/${NME}.bench +write_csv_and_summary ${BENCH_OUTDIR}/${NME} + +# ocaml_extract: make -C src ocaml +make -C src clean_boot +#make -C src clean # will do a clean-ocaml as well +NME=ocaml_extract +rm -f src/ocaml-output/*.bench +${BENCH_WRAP} make -C src ocaml BENCHMARK_FSTAR=true BENCHMARK_CMD=orun OTHERFLAGS="${BENCH_OTHERFLAGS}" 2>&1 | tee ${BENCH_OUTDIR}/${NME}.log +cat src/ocaml-output/*.bench > ${BENCH_OUTDIR}/${NME}.bench +write_csv_and_summary ${BENCH_OUTDIR}/${NME} + diff --git a/examples/bug-reports/Bug1055.fst b/examples/bug-reports/Bug1055.fst new file mode 100644 index 00000000000..ff9ad42687d --- /dev/null +++ b/examples/bug-reports/Bug1055.fst @@ -0,0 +1,86 @@ +(* + Copyright 2008-2018 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module Bug1055 + +open FStar.ST +open FStar.All + +(* + * F* now checks that top-level unannotated effectful functions have a trivial precondition + *) + +let test1_f (_:unit{false}) : ML unit = () +(* + * Fails since it has a non-trivial precondition (false) + *) +[@expect_failure] +let test1_g () = test1_f (); assert false + +(* + * But will succeed with an explicit annotation + *) +let test1_g_with_spec () + : All unit (fun _ -> False) (fun _ _ _ -> True) + = test1_f (); assert false + + +type test2_filename = string +let test2_canWrite (f:test2_filename) = false +let test2_write (f:test2_filename{test2_canWrite f}) (s: string) : ML unit = + FStar.IO.print_string "A" + +[@expect_failure] +let test2_dynamicChecking () = + test2_write "demo/password" "junk" + +[@expect_failure] +let test2_dynamicChecking2 () = + assert False; + test2_write "demo/password" "junk" + +[@expect_failure] +let test3_write (#a:Type) (r:ref a) = r := 42 + +[@expect_failure] +let test4_append_to2 (#a:Type) (xs:list a) = ignore(alloc 5); 2 :: xs + + +(* + * This works because it has a trivial precondition, + * In addition, its postcondition is available to the callers, see test5_client below + *) +let test5_write (r:ref int) = r := 42 + +let test5_client (r:ref int) = + test5_write r; + let h = ST.get () in + assert (Heap.sel h r == 42) + +(* + * Partial applications or just renaming works as expected + *) +let test6_f (x:ref int) (y:int) + : ST unit + (requires fun h -> Heap.sel h x == y) + (ensures fun _ _ _ -> True) + = () + +let test6_g = test6_f //the inferred type of test6_g is same as test6_f + +let test6_h (x:ref int) = test6_f x //the inferred type of test6_h is also as expected (application of x to test6_f) + +[@expect_failure] +let test6_i (x:ref int) (y:int) = test6_f x y //this fails since non-trivial precondition diff --git a/examples/bug-reports/Bug1055.fst.hints b/examples/bug-reports/Bug1055.fst.hints new file mode 100644 index 00000000000..f22488268e1 --- /dev/null +++ b/examples/bug-reports/Bug1055.fst.hints @@ -0,0 +1,54 @@ +[ + "ž};«\\ÍlEÙ=]†ds£ñ", + [ + [ + "Bug1055.test5_write", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_FStar.Heap.trivial_preorder", + "equation_FStar.Heap.trivial_rel", + "function_token_typing_FStar.Heap.trivial_preorder", + "function_token_typing_Prims.__cache_version_number__", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", + "refinement_interpretation_Tm_refine_b62509b32f454f3a8b9e042db8a69c72", + "true_interp" + ], + 0, + "f69893ff4c30e6eda6230673cf68a48b" + ], + [ + "Bug1055.test5_client", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_FStar.Heap.trivial_preorder", + "equation_FStar.Heap.trivial_rel", + "function_token_typing_FStar.Heap.trivial_preorder", + "function_token_typing_Prims.__cache_version_number__", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", + "true_interp" + ], + 0, + "915c36f750a12e7fa8926fcb2424c30d" + ], + [ + "Bug1055.test6_f", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_10c29965fb26bdf7f409a07e0279e553" + ], + 0, + "04496d442505a12d94d45ffc71dae5d7" + ] + ] +] \ No newline at end of file diff --git a/examples/bug-reports/Bug1423.fst.hints b/examples/bug-reports/Bug1423.fst.hints index fa41d2cf077..7c88ff24cf4 100755 --- a/examples/bug-reports/Bug1423.fst.hints +++ b/examples/bug-reports/Bug1423.fst.hints @@ -11,7 +11,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "61401db3857acbf12ff2ea339c61c0ba" + "c68bacdc3714c0b001f33834cdff998d" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1427.fst.hints b/examples/bug-reports/Bug1427.fst.hints index 3dbe09beb8f..9d126eaada6 100755 --- a/examples/bug-reports/Bug1427.fst.hints +++ b/examples/bug-reports/Bug1427.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Nil_a" ], 0, - "2ee90b63905cf2a8047de6e50761a182" + "794337ed7a88d6ffa97cb569c44479d9" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1449.fst.hints b/examples/bug-reports/Bug1449.fst.hints index faf27c19122..68423ce1b2f 100755 --- a/examples/bug-reports/Bug1449.fst.hints +++ b/examples/bug-reports/Bug1449.fst.hints @@ -11,7 +11,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "e682932197226638ec16e3a5594478cf" + "7224efe161f96b44bfd3d86290878580" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1502.fst.hints b/examples/bug-reports/Bug1502.fst.hints index d7a23e59236..d8ae11354e2 100644 --- a/examples/bug-reports/Bug1502.fst.hints +++ b/examples/bug-reports/Bug1502.fst.hints @@ -1,23 +1 @@ -[ - "§>„oÎ\fÕ®Ù=‹ Ygù\u0003", - [ - [ - "Bug1502.liveness", - 1, - 0, - 0, - [ "@query" ], - 0, - "f6675a4fe1f82e6763f0a480d03bc7bc" - ], - [ - "Bug1502.disjoint", - 1, - 0, - 0, - [ "@query" ], - 0, - "5114b64bb6323d42fd5e4173403cfda6" - ] - ] -] \ No newline at end of file +[ "§>„oÎ\fÕ®Ù=‹ Ygù\u0003", [] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1533.fst.hints b/examples/bug-reports/Bug1533.fst.hints index 6a44b072b66..abe3e98c088 100644 --- a/examples/bug-reports/Bug1533.fst.hints +++ b/examples/bug-reports/Bug1533.fst.hints @@ -7,14 +7,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq3-interp", - "equation_Prims.eq3", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "eq3-interp", "equation_Prims.eq3", + "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "dc1191ef983aa9e2e387e17be0aa7fbc" + "bf15f9734e4e9642964bd715b8596aaa" ], [ "Bug1533.elim2", @@ -23,7 +21,7 @@ 1, [ "@query" ], 0, - "34678aaa49f73605b62d4dcf80b1a950" + "47ad72aa6c4aa56daa5cf66482e7f564" ], [ "Bug1533.elim3", @@ -31,15 +29,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eq3", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_95ac34aa9e002fe7af53528c62c9d6af", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.eq3", + "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_e558333ac4ede30df92b871b032f02dd" ], 0, - "0f8e110e02f5a28ab9da33e4112f48d7" + "d561d56f04c116239175f0dcd96ff44b" ], [ "Bug1533.elim3'", @@ -48,7 +44,7 @@ 1, [ "@query" ], 0, - "92924d6b13de29455b3a2d47df447455" + "4b1ea96f6e92df24b2528e9a389120e1" ], [ "Bug1533.coerce", @@ -60,7 +56,7 @@ "refinement_interpretation_Tm_refine_770aa551c1985581cf5d9ce92df5e8e5" ], 0, - "9ca3f5eff0d41ee5d95e5278dfab2868" + "739cf7f33477945b43a6f37af2c91599" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1536.fst b/examples/bug-reports/Bug1536.fst index 66228429219..737a7e1fee7 100644 --- a/examples/bug-reports/Bug1536.fst +++ b/examples/bug-reports/Bug1536.fst @@ -44,8 +44,14 @@ let raise : #a:Type -> e:exn -> EXN a (fun () p -> p (Inr e)) = EXN?.raise exception EE -#set-options "--debug Bug --debug_level SMTQuery --no_smt" +(* + * AR: 07/11: since we now check for trivial preconditions for top-level effects, + * the following don't verify with --no_smt, but the smt query is super + * trivial and needs just prims + *) + +#set-options "--using_facts_from 'Prims'" -let t1 () = assert (normalize_term (reify (ret 1) ()) == Inl 1) +let t1 () = let _ = assert (normalize_term (reify (ret 1) ()) == Inl 1) in () let t2 () = assert (normalize_term (reify (raise #int EE) ()) == Inr EE) diff --git a/examples/bug-reports/Bug1536.fst.hints b/examples/bug-reports/Bug1536.fst.hints index 3789758d9a2..f8227b0d42f 100644 --- a/examples/bug-reports/Bug1536.fst.hints +++ b/examples/bug-reports/Bug1536.fst.hints @@ -1,5 +1,5 @@ [ - "¨M\u0000ËÇ\u001e\u0019ÁQ\u0014Lîa\u001d\u0002p", + "U\u0019–q¶T7Ìÿ©Nœ\u0011j¼\u001c", [ [ "Bug1536.bind_ex", @@ -8,13 +8,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Bug1536_interpretation_Tm_arrow_f2d128b41b807a50fc4bea0cd4f225d8", + "Bug1536_interpretation_Tm_arrow_72cdc0c9c0d847eb228998a5a6607da8", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "equation_Bug1536.ex", "fuel_guarded_inversion_FStar.Pervasives.either", "unit_typing" ], 0, - "00c018e5a1b5e8bf0496959d2e3e650d" + "93345292bad1ac88c877df43e980c748" ], [ "Bug1536._dm4f_EXN_bind_wp", @@ -28,7 +28,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either" ], 0, - "6b95be25435c2cdfe4edf366807514f5" + "9914b4b0d97dadcd303a98cfc9c351c5" ], [ "Bug1536._dm4f_EXN___proj__EXN__item__raise_elab", @@ -37,7 +37,7 @@ 1, [ "@query" ], 0, - "4bf4899242f31107ccbb6df0bdd3c3bf" + "4172c93066c1a9f9c69280af5cbb5111" ], [ "Bug1536.EXN", @@ -46,7 +46,7 @@ 1, [ "@query" ], 0, - "083f9ca358862cd42cc7ec8246deeda0" + "b767fcdc0412f2014546e83bee1243cd" ], [ "Bug1536.ret", @@ -55,7 +55,25 @@ 1, [ "@query" ], 0, - "14c3adb29349caddadac0e0a33250262" + "ef338374d835784f08c44d20d03ecc84" + ], + [ + "Bug1536.t1", + 1, + 2, + 1, + [ "@query", "eq2-interp" ], + 0, + "68f2531c7bd3c6dd1a3caaf99bcfda5d" + ], + [ + "Bug1536.t2", + 1, + 2, + 1, + [ "@query", "eq2-interp" ], + 0, + "f4aa5c33eba803d70a30ae1d57f9b1f0" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1571.fst.hints b/examples/bug-reports/Bug1571.fst.hints index db719cb7ba3..d9cd7cdf2b8 100644 --- a/examples/bug-reports/Bug1571.fst.hints +++ b/examples/bug-reports/Bug1571.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "787b26d05da6d327f47245607108fb3a" + "fde7288b42601c5b26bba771638ec911" ], [ "Bug1571.__proj__V__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_4efce2107be5fc6d34ea56c6f3b06057" ], 0, - "61b4eb621eb918e3d7746adac7400121" + "ca175c979ef6a891b00f0e70e36843ec" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1572.fst.hints b/examples/bug-reports/Bug1572.fst.hints index ff9f228a33b..ebaaa6fe364 100644 --- a/examples/bug-reports/Bug1572.fst.hints +++ b/examples/bug-reports/Bug1572.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "8d11590d9b3f3bd856f29ac248c4d2b3" + "ab05ca6658b4709b2ae7b978a461e0ba" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1592.fst.hints b/examples/bug-reports/Bug1592.fst.hints index 989f0351f1a..ff446d69245 100644 --- a/examples/bug-reports/Bug1592.fst.hints +++ b/examples/bug-reports/Bug1592.fst.hints @@ -8,7 +8,6 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", "bool_typing", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", @@ -29,9 +28,8 @@ "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -40,11 +38,8 @@ "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", @@ -53,7 +48,6 @@ "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", - "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", @@ -77,25 +71,15 @@ "lemma_LowStar.Monotonic.Buffer.popped_modifies", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_051846fa3a05b0db6d4aa600236dcd15", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_e52bd201319631be9508998cc0151469", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_ec52bb925f79fa604568081cd5cf4c54", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", - "refinement_interpretation_Tm_refine_fee4d47786f2acf99bc14199ca24e2b8", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_b9a18020c8ccdce7cbc1049a7dc8d678", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", @@ -110,7 +94,6 @@ "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.loc_addresses", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_none", @@ -119,7 +102,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "ea4d0459a19c772ec78c2846c182dd4a" + "dd889d8d637092d8500859dd6c43912a" ], [ "Bug1592.example1", @@ -145,12 +128,11 @@ "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", @@ -182,17 +164,10 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_c3061c41ed05d40bfe216f684522fdad", - "refinement_interpretation_Tm_refine_fee4d47786f2acf99bc14199ca24e2b8", + "refinement_interpretation_Tm_refine_9cd4c1abd51f0053dc462704a8a640ae", + "refinement_interpretation_Tm_refine_a01cb3ef98dbbb3ff4e9ad84a4054208", "true_interp", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.emp", @@ -212,7 +187,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "6717674ef2d242bd31faf40103923ff3" + "ea05a929bb7b41b43188839e97c9baf6" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1595.fst.hints b/examples/bug-reports/Bug1595.fst.hints index 3d03eaebc24..688e7aab666 100644 --- a/examples/bug-reports/Bug1595.fst.hints +++ b/examples/bug-reports/Bug1595.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_0d210bce4d0a1cb53e8b9752eeac3ff1" ], 0, - "5f703e517bbae9ef37bf1a60be23c1fd" + "e75dccb5850eb05d9651ef1b277ec382" ], [ "Bug1595.__proj__CalcStep__item__rs", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "cd6c573038a13f47172cebbfbf61608f" + "0ea80e7ab3108925f826cf8629c72852" ], [ "Bug1595.__proj__CalcStep__item__p", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "35de04eca0c1a30fd8d2b302ab1edd5c" + "2033da442d8d5efad03b73cc102a9848" ], [ "Bug1595.__proj__CalcStep__item__x", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "6573e70d0cdda3bed0ceda58145604a4" + "8286272c6c2f68a3a31a90ffdc8fef03" ], [ "Bug1595.__proj__CalcStep__item__y", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "a359d8ebd75f084cfe83969d0f3c0a84" + "a7689556d8516960253b3ff9234b122f" ], [ "Bug1595.__proj__CalcStep__item__z", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "ea789907874c22528bdc6dbca245be41" + "92f8d13ac5df046efa16044a343a33d4" ], [ "Bug1595.__proj__CalcStep__item___5", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_901b78fb58b641c2f5af6e1570fc6161" ], 0, - "1cf8e1b3c0a4505312a6aebe101f431a" + "8ff60694cd7a313dd9d8b8ab10d05f94" ], [ "Bug1595.__proj__CalcStep__item___6", @@ -116,7 +116,7 @@ "token_correspondence_Bug1595.__proj__CalcStep__item__p" ], 0, - "8f007eae40f89ff6d2d5d43f01057a8e" + "11134dec93fb902b6c1c846e4ffb0c13" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1601.fst.hints b/examples/bug-reports/Bug1601.fst.hints index 9f85cd6fe8f..f12a7b0e34e 100644 --- a/examples/bug-reports/Bug1601.fst.hints +++ b/examples/bug-reports/Bug1601.fst.hints @@ -8,12 +8,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_c922332b908e83ec0f65ad526f2301b0_0", "equation_Prims.nat", + "binder_x_c9f70ab639c9ae669e58190eb4c1b5c9_0", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" ], 0, - "f234b5a82feaf21cf584ade21bc26f94" + "390de4119ffc72a80c0e0f98de944521" ], [ "Bug1601.foo", @@ -23,10 +23,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c42152684830858bc5d9914a197809c7" + "ffe64999616c89704303c826ee0bea4d" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1604.fst.hints b/examples/bug-reports/Bug1604.fst.hints index 3105d86c744..1113f1bbb9f 100644 --- a/examples/bug-reports/Bug1604.fst.hints +++ b/examples/bug-reports/Bug1604.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Bug1604.test5" ], 0, - "6ea60fd7374aa106bef04a7165486c4b" + "eba0361374c9fb349834734a5aa07fe4" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1605.fst.hints b/examples/bug-reports/Bug1605.fst.hints index 579c879f55c..ca56811a41f 100644 --- a/examples/bug-reports/Bug1605.fst.hints +++ b/examples/bug-reports/Bug1605.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_Bug1605.C_f" ], 0, - "ffcfa35e26af75f2e7004b2d9d02f849" + "d32d8e36c10e20c916bd5b2b2970e63b" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1612.fst.hints b/examples/bug-reports/Bug1612.fst.hints index 54f1238b9ef..85f89dc20b6 100644 --- a/examples/bug-reports/Bug1612.fst.hints +++ b/examples/bug-reports/Bug1612.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "ab13c1860f5494f75dec7747c8a0ae90" + "fcef853cd0572a9e1e445e9b1731bf19" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1614a.fst b/examples/bug-reports/Bug1614a.fst new file mode 100644 index 00000000000..198501aae31 --- /dev/null +++ b/examples/bug-reports/Bug1614a.fst @@ -0,0 +1,49 @@ +module Bug1614a + +assume val x : (y:int{y==1}) + +(* An abbreviation for triggering the query *) +let f () : Pure unit (requires (x + 1 == 2)) (ensures (fun () -> True)) = () + +let _ = f () + +#push-options "--using_facts_from '-*'" + + [@(expect_failure [19])] let _ = f () + + #push-options "--using_facts_from '*'" + let _ = f () + + #set-options "--using_facts_from '-*'" + [@(expect_failure [19])] let _ = f () + + #reset-options "" + let _ = f () + + #pop-options + + [@(expect_failure [19])] let _ = f () + + #reset-options + + let _ = f () + +#pop-options + +let _ = f () + +#set-options "--using_facts_from '-*'" + +[@(expect_failure [19])] let _ = f () + +#set-options "--using_facts_from '*'" + +let _ = f () + +#set-options "--using_facts_from '-*'" + +[@(expect_failure [19])] let _ = f () + +#reset-options + +let _ = f () diff --git a/examples/bug-reports/Bug1614a.fst.hints b/examples/bug-reports/Bug1614a.fst.hints new file mode 100644 index 00000000000..bc0126671d7 --- /dev/null +++ b/examples/bug-reports/Bug1614a.fst.hints @@ -0,0 +1,112 @@ +[ + "\u0004Öá\r®¢=Xò.€oº‚‡G", + [ + [ + "Bug1614a.f", + 1, + 2, + 1, + [ "@query" ], + 0, + "0c111c3d89289289cbac8f40052bfdeb" + ], + [ + "Bug1614a.uu___3", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_d0eee3c391f9d6e8f2bd864e1e88f2bd", + "typing_Bug1614a.x" + ], + 0, + "9c3e97ad1973e83a31940b3434887607" + ], + [ + "Bug1614a.uu___5", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_d0eee3c391f9d6e8f2bd864e1e88f2bd", + "typing_Bug1614a.x" + ], + 0, + "2a05659b414814bbdfb0c13890193df5" + ], + [ + "Bug1614a.uu___7", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_d0eee3c391f9d6e8f2bd864e1e88f2bd", + "typing_Bug1614a.x" + ], + 0, + "a690538b043f838b6f2c356dab51e248" + ], + [ + "Bug1614a.uu___9", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_d0eee3c391f9d6e8f2bd864e1e88f2bd", + "typing_Bug1614a.x" + ], + 0, + "9714be8d48a0ae4a32897a8c2edd562a" + ], + [ + "Bug1614a.uu___10", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_d0eee3c391f9d6e8f2bd864e1e88f2bd", + "typing_Bug1614a.x" + ], + 0, + "5dcbce0e3ac1cd47caae7ded4ba979b4" + ], + [ + "Bug1614a.uu___12", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_d0eee3c391f9d6e8f2bd864e1e88f2bd", + "typing_Bug1614a.x" + ], + 0, + "7fc561b9d2bc2233e2e31435e4f6e362" + ], + [ + "Bug1614a.uu___14", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_d0eee3c391f9d6e8f2bd864e1e88f2bd", + "typing_Bug1614a.x" + ], + 0, + "85b13b1a8465cf3120e8a6303b510bbb" + ] + ] +] \ No newline at end of file diff --git a/examples/bug-reports/Bug1614b.fst b/examples/bug-reports/Bug1614b.fst new file mode 100644 index 00000000000..9121da5cbcc --- /dev/null +++ b/examples/bug-reports/Bug1614b.fst @@ -0,0 +1,10 @@ +module Bug1614b + +assume val x : (y:int{y==1}) + +#reset-options "--using_facts_from '* -*'" + +(* This query used to succeed since -* was badly interpreted as removing a module named `*` *) + +[@expect_failure] +let _ = assert (x + 1 == 2) diff --git a/examples/bug-reports/Bug1614b.fst.hints b/examples/bug-reports/Bug1614b.fst.hints new file mode 100644 index 00000000000..85ae26a0230 --- /dev/null +++ b/examples/bug-reports/Bug1614b.fst.hints @@ -0,0 +1 @@ +[ "*>ò¥/pë>\u0002¼à2Lçú", [] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1614c.fst b/examples/bug-reports/Bug1614c.fst new file mode 100644 index 00000000000..4d2afb62b00 --- /dev/null +++ b/examples/bug-reports/Bug1614c.fst @@ -0,0 +1,8 @@ +module Bug1614c + +(* Funnily enough, the double space below used to be interpreted as `*` *) +#set-options "--using_facts_from '-* Fake1 Fake2'" + +(* This should fail if Prims is not in the set of facts *) +[@expect_failure] +let test x = assert (x + 1 == 1 + x) diff --git a/examples/bug-reports/Bug1614c.fst.hints b/examples/bug-reports/Bug1614c.fst.hints new file mode 100644 index 00000000000..f6fc569148a --- /dev/null +++ b/examples/bug-reports/Bug1614c.fst.hints @@ -0,0 +1 @@ +[ "Ìñ]\u0014;ð.VšÞª}±=P7", [] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1614d.fst b/examples/bug-reports/Bug1614d.fst new file mode 100644 index 00000000000..cbd83536b69 --- /dev/null +++ b/examples/bug-reports/Bug1614d.fst @@ -0,0 +1,7 @@ +module Bug1614d + +(* Should work, we first remove all, then we readd what's necessary *) +#set-options "--using_facts_from '-*'" +#set-options "--using_facts_from 'Prims'" + +let test x = assert (x + 1 == 1 + x) diff --git a/examples/bug-reports/Bug1614d.fst.hints b/examples/bug-reports/Bug1614d.fst.hints new file mode 100644 index 00000000000..4a77f89fb6d --- /dev/null +++ b/examples/bug-reports/Bug1614d.fst.hints @@ -0,0 +1,14 @@ +[ + "½Glro‡\u0014“üÖl´ì†\u0013û", + [ + [ + "Bug1614d.test", + 1, + 2, + 1, + [ "@query", "primitive_Prims.op_Addition" ], + 0, + "9ee1dc84edd8bfa90426f8d84d4d0a84" + ] + ] +] \ No newline at end of file diff --git a/examples/bug-reports/Bug1614e.fst b/examples/bug-reports/Bug1614e.fst new file mode 100644 index 00000000000..bd19170e34d --- /dev/null +++ b/examples/bug-reports/Bug1614e.fst @@ -0,0 +1,8 @@ +module Bug1614e + +(* Query should not succeed! Second command should remove all facts *) +#set-options "--using_facts_from 'Prims'" +#set-options "--using_facts_from '-*'" + +[@(expect_failure [19])] +let test x = assert (x + 1 == 1 + x) diff --git a/examples/bug-reports/Bug1614e.fst.hints b/examples/bug-reports/Bug1614e.fst.hints new file mode 100644 index 00000000000..dbc717cd68c --- /dev/null +++ b/examples/bug-reports/Bug1614e.fst.hints @@ -0,0 +1 @@ +[ "$Ô‘\u0019\u007fí\"~{Læƒ\u0019¯", [] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1614f.fst b/examples/bug-reports/Bug1614f.fst new file mode 100644 index 00000000000..08f47e04b3f --- /dev/null +++ b/examples/bug-reports/Bug1614f.fst @@ -0,0 +1,22 @@ +module Bug1614f + +abstract let w (p:Type) : Type = p + +[@expect_failure] +let test1 (p:Type) : Pure unit (requires (w (squash p))) (ensures (fun _ -> p)) = () + +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" + let test2 (p:Type) : Pure unit (requires (w (squash p))) (ensures (fun _ -> p)) = () + + #restart-solver + + let test3 (p:Type) : Pure unit (requires (w (squash p))) (ensures (fun _ -> p)) = () +#pop-options + +[@expect_failure] +let test4 (p:Type) : Pure unit (requires (w (squash p))) (ensures (fun _ -> p)) = () + +#restart-solver + +[@expect_failure] +let test5 (p:Type) : Pure unit (requires (w (squash p))) (ensures (fun _ -> p)) = () diff --git a/examples/bug-reports/Bug1621.fst.hints b/examples/bug-reports/Bug1621.fst.hints index 703e7813b0d..9eae991bed8 100644 --- a/examples/bug-reports/Bug1621.fst.hints +++ b/examples/bug-reports/Bug1621.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "480ba6d39e2a64d9be9f238a10261c5f" + "c0fe97c4ce812509c1744a8da49efa1d" ], [ "Bug1621.STATE_h", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "4986edbcde83b5ff8e86a0fafa0e658a" + "0366f8e08b42002629e85df40b639f70" ], [ "Bug1621._dm4f_STATE_int___proj__STATE_int__item__get_elab", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "507f0ef5888e0e00faefeaf7afeaefe6" + "9ed5721d13f756a63c59b6655aeaad16" ], [ "Bug1621.STATE_int", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "c38754cd2a295f28a1a450abb2d43a6d" + "53de4ebbac388e80178b7f51e88d0e0e" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1622.fst b/examples/bug-reports/Bug1622.fst new file mode 100755 index 00000000000..f7d20316119 --- /dev/null +++ b/examples/bug-reports/Bug1622.fst @@ -0,0 +1,16 @@ +module Bug1622 + +let sprop = bool -> prop + +let pred (args: list bool) : sprop = + let rec aux (args:list bool) (out:sprop) : sprop = + match args with + | [] -> out + | a::q -> let out:sprop = fun s0 -> out s0 in aux q out + in aux args (fun _ -> True) + +[@(expect_failure [142])] //could not encode the query since an inner let-rec aux appears in it +let lemma_pred (args:list bool) : Lemma (pred args true) = + match args with + | [] -> assert_norm (pred args true) + | _ -> admit() diff --git a/examples/bug-reports/Bug1622.fst.hints b/examples/bug-reports/Bug1622.fst.hints new file mode 100644 index 00000000000..6346d6b6f3a --- /dev/null +++ b/examples/bug-reports/Bug1622.fst.hints @@ -0,0 +1,27 @@ +[ + "â)Ö•ä‚Þ~ùC.„XÀ", + [ + [ + "Bug1622.pred", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_0da546199211a769a972571cdb3aec67", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_typing", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.T@tok", "equation_Prims.l_True", + "equation_Prims.squash", "equation_Prims.subtype_of", + "fuel_guarded_inversion_Prims.list", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "subterm_ordering_Prims.Cons", "typing_tok_Prims.T@tok", + "unit_typing" + ], + 0, + "1151148b2c7afb721ec8bb78ff0d70bf" + ] + ] +] \ No newline at end of file diff --git a/examples/bug-reports/Bug1680.fst.hints b/examples/bug-reports/Bug1680.fst.hints index 59e4faeb24f..b9155ace4fc 100644 --- a/examples/bug-reports/Bug1680.fst.hints +++ b/examples/bug-reports/Bug1680.fst.hints @@ -9,21 +9,21 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3495059a7a8dd629183670c6c41c463d_2", - "binder_x_3e5f9d6f438841ea7d7b4e5376d48c02_0", + "binder_x_0ed09fcea42931d9a49af51fd9b19fa5_0", + "binder_x_e83e50e033e70542387601852cf31df3_2", "equality_tok_Prims.LexTop@tok", "equation_Bug1680.dim", "equation_Bug1680.knat", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "well-founded-ordering-on-nat" ], 0, - "ebf4cf4f457425c3f92899f63e8788bc" + "0eb331e19e7b4de5d3512c4d548fb5ea" ], [ "Bug1680.sum", @@ -32,10 +32,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Bug1680.dim", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "814e02053f7a1837d3610baa73d3920c" + "902bf48b7df8c2f112665ec9cccfac7c" ], [ "Bug1680.x", @@ -43,18 +43,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Bug1680.knat", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Bug1680.knat", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5fc409b64bfb474b9b03a088839d1efc" + "e8b579db029a797c903f9b9e46bfeeee" ], [ "Bug1680.uu___52", @@ -63,38 +60,44 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Bug1680.sum_i.fuel_instrumented", "@query", - "Bug1680_interpretation_Tm_arrow_0e652739261e3dd8cdc9a44f151e0e26", - "Bug1680_interpretation_Tm_arrow_3047922e7fb5e7ad22dd88705f578d25", - "Bug1680_interpretation_Tm_arrow_37ac36d2ca6b7b23ccb88ad4d3738ce7", - "Bug1680_interpretation_Tm_arrow_96e9b9b81f9a6faa96d95bcce240f61c", - "Bug1680_interpretation_Tm_arrow_ace961c79f48147cb8e2a97ddc7aa196", - "Bug1680_interpretation_Tm_arrow_b3dfdd5ba01d30100db618ba5f29c914", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "@fuel_correspondence_Bug1680.sum_i.fuel_instrumented", + "@fuel_irrelevance_Bug1680.sum_i.fuel_instrumented", "@query", + "Bug1680_interpretation_Tm_arrow_35c2a54db76c72015db8d7b12cff718f", + "Bug1680_interpretation_Tm_arrow_3dfdf9cb90cca4e4ec5477639a031bb1", + "Bug1680_interpretation_Tm_arrow_717b74451813e505394473f6b88aeabf", + "Bug1680_interpretation_Tm_arrow_914ccf7b2d6561cfc1da9dec7810a7b6", + "Bug1680_interpretation_Tm_arrow_94ef48040716a7a6394cd5bc82bcdb85", + "Bug1680_interpretation_Tm_arrow_a95396cfeba102716316016aa5aabb71", + "Bug1680_interpretation_Tm_arrow_cd4d1722f11d59077a027e61aaba926c", + "Bug1680_interpretation_Tm_arrow_d5de1dfa027d61c12a8a419d1bdae6be", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_Bug1680.col", "equation_Bug1680.dim", - "equation_Bug1680.knat", "equation_Bug1680.matrix", - "equation_Bug1680.matrix_mul", "equation_Bug1680.row", - "equation_Bug1680.sum", "equation_Bug1680.transpose", - "equation_Bug1680.vec_prod", "equation_Bug1680.vec_prod_pointwise", + "equation_Bug1680.knat", "equation_Bug1680.matrix_mul", + "equation_Bug1680.row", "equation_Bug1680.sum", + "equation_Bug1680.transpose", "equation_Bug1680.vec_prod", + "equation_Bug1680.vec_prod_pointwise", "equation_Bug1680.vector", "equation_Bug1680.x", "equation_Bug1680.xt", "equation_Bug1680.xtx", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Bug1680.sum_i.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_01ba659248aa8e90d2027a5176467106", - "interpretation_Tm_abs_2904128eb930286bf113d50b002ea991", - "interpretation_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "interpretation_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "interpretation_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "interpretation_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "interpretation_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "interpretation_Tm_abs_e7792929c3bcd87cdec7fe522287575e", - "interpretation_Tm_abs_f2d4269dce22cfdac686a71960b27de9", + "interpretation_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "interpretation_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "interpretation_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "interpretation_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "interpretation_Tm_abs_1d534f4ce1e6d646aa6b3b3eb8f25ec4", + "interpretation_Tm_abs_46f97c519834753a25d938746670d1f0", + "interpretation_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "interpretation_Tm_abs_94ad453e3c6f9d53bc7233bc75fa74c1", + "interpretation_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "interpretation_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "interpretation_Tm_abs_f43419780aa9b617125117f70e321ae5", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -104,26 +107,29 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Bug1680.sum_i.fuel_instrumented", "typing_Bug1680.col", "typing_Bug1680.knat", "typing_Bug1680.row", "typing_Bug1680.vec_prod_pointwise", "typing_Bug1680.x", - "typing_Bug1680.xt", "typing_Bug1680.xtx", - "typing_Tm_abs_01ba659248aa8e90d2027a5176467106", - "typing_Tm_abs_2904128eb930286bf113d50b002ea991", - "typing_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "typing_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "typing_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "typing_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "typing_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "typing_Tm_abs_e7792929c3bcd87cdec7fe522287575e", - "typing_Tm_abs_f2d4269dce22cfdac686a71960b27de9" + "typing_Bug1680.xt", + "typing_FStar.FunctionalExtensionality.on_domain", + "typing_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "typing_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "typing_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "typing_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "typing_Tm_abs_1d534f4ce1e6d646aa6b3b3eb8f25ec4", + "typing_Tm_abs_46f97c519834753a25d938746670d1f0", + "typing_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "typing_Tm_abs_94ad453e3c6f9d53bc7233bc75fa74c1", + "typing_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "typing_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "ee43b67510757d1232eb054f039c8924" + "7bc4b136cdf68d2f2f4a8fe8269cf082" ], [ "Bug1680.uu___53", @@ -134,38 +140,40 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Bug1680.sum_i.fuel_instrumented", "@fuel_irrelevance_Bug1680.sum_i.fuel_instrumented", "@query", - "Bug1680_interpretation_Tm_arrow_0e652739261e3dd8cdc9a44f151e0e26", - "Bug1680_interpretation_Tm_arrow_3047922e7fb5e7ad22dd88705f578d25", - "Bug1680_interpretation_Tm_arrow_37ac36d2ca6b7b23ccb88ad4d3738ce7", - "Bug1680_interpretation_Tm_arrow_96e9b9b81f9a6faa96d95bcce240f61c", - "Bug1680_interpretation_Tm_arrow_ace961c79f48147cb8e2a97ddc7aa196", - "Bug1680_interpretation_Tm_arrow_b3dfdd5ba01d30100db618ba5f29c914", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Bug1680_interpretation_Tm_arrow_35c2a54db76c72015db8d7b12cff718f", + "Bug1680_interpretation_Tm_arrow_3dfdf9cb90cca4e4ec5477639a031bb1", + "Bug1680_interpretation_Tm_arrow_717b74451813e505394473f6b88aeabf", + "Bug1680_interpretation_Tm_arrow_914ccf7b2d6561cfc1da9dec7810a7b6", + "Bug1680_interpretation_Tm_arrow_94ef48040716a7a6394cd5bc82bcdb85", + "Bug1680_interpretation_Tm_arrow_a95396cfeba102716316016aa5aabb71", + "Bug1680_interpretation_Tm_arrow_cd4d1722f11d59077a027e61aaba926c", + "Bug1680_interpretation_Tm_arrow_d5de1dfa027d61c12a8a419d1bdae6be", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_Bug1680.col", "equation_Bug1680.dim", - "equation_Bug1680.knat", "equation_Bug1680.matrix", - "equation_Bug1680.matrix_mul", "equation_Bug1680.row", - "equation_Bug1680.sum", "equation_Bug1680.transpose", - "equation_Bug1680.vec_prod", "equation_Bug1680.vec_prod_pointwise", - "equation_Bug1680.vector", "equation_Bug1680.x", + "equation_Bug1680.knat", "equation_Bug1680.matrix_mul", + "equation_Bug1680.row", "equation_Bug1680.sum", + "equation_Bug1680.transpose", "equation_Bug1680.vec_prod", + "equation_Bug1680.vec_prod_pointwise", "equation_Bug1680.x", "equation_Bug1680.xt", "equation_Bug1680.xtx", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Bug1680.sum_i.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_01ba659248aa8e90d2027a5176467106", - "interpretation_Tm_abs_2904128eb930286bf113d50b002ea991", - "interpretation_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "interpretation_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "interpretation_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "interpretation_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "interpretation_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "interpretation_Tm_abs_e7792929c3bcd87cdec7fe522287575e", - "interpretation_Tm_abs_f2d4269dce22cfdac686a71960b27de9", + "interpretation_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "interpretation_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "interpretation_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "interpretation_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "interpretation_Tm_abs_1d534f4ce1e6d646aa6b3b3eb8f25ec4", + "interpretation_Tm_abs_46f97c519834753a25d938746670d1f0", + "interpretation_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "interpretation_Tm_abs_94ad453e3c6f9d53bc7233bc75fa74c1", + "interpretation_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "interpretation_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "interpretation_Tm_abs_f43419780aa9b617125117f70e321ae5", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -175,25 +183,27 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_Bug1680.col", "typing_Bug1680.knat", "typing_Bug1680.row", "typing_Bug1680.vec_prod_pointwise", "typing_Bug1680.x", - "typing_Bug1680.xt", "typing_Bug1680.xtx", - "typing_Tm_abs_01ba659248aa8e90d2027a5176467106", - "typing_Tm_abs_2904128eb930286bf113d50b002ea991", - "typing_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "typing_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "typing_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "typing_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "typing_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "typing_Tm_abs_e7792929c3bcd87cdec7fe522287575e", - "typing_Tm_abs_f2d4269dce22cfdac686a71960b27de9" + "typing_Bug1680.xt", + "typing_FStar.FunctionalExtensionality.on_domain", + "typing_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "typing_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "typing_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "typing_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "typing_Tm_abs_1d534f4ce1e6d646aa6b3b3eb8f25ec4", + "typing_Tm_abs_46f97c519834753a25d938746670d1f0", + "typing_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "typing_Tm_abs_94ad453e3c6f9d53bc7233bc75fa74c1", + "typing_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "typing_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "4ab75caf414d196829973e1957abbcd6" + "405e050b394e18f9ba93bf963bfa05d2" ], [ "Bug1680.uu___54", @@ -204,37 +214,40 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Bug1680.sum_i.fuel_instrumented", "@fuel_irrelevance_Bug1680.sum_i.fuel_instrumented", "@query", - "Bug1680_interpretation_Tm_arrow_0e652739261e3dd8cdc9a44f151e0e26", - "Bug1680_interpretation_Tm_arrow_3047922e7fb5e7ad22dd88705f578d25", - "Bug1680_interpretation_Tm_arrow_37ac36d2ca6b7b23ccb88ad4d3738ce7", - "Bug1680_interpretation_Tm_arrow_96e9b9b81f9a6faa96d95bcce240f61c", - "Bug1680_interpretation_Tm_arrow_ace961c79f48147cb8e2a97ddc7aa196", - "Bug1680_interpretation_Tm_arrow_b3dfdd5ba01d30100db618ba5f29c914", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Bug1680_interpretation_Tm_arrow_35c2a54db76c72015db8d7b12cff718f", + "Bug1680_interpretation_Tm_arrow_3dfdf9cb90cca4e4ec5477639a031bb1", + "Bug1680_interpretation_Tm_arrow_717b74451813e505394473f6b88aeabf", + "Bug1680_interpretation_Tm_arrow_914ccf7b2d6561cfc1da9dec7810a7b6", + "Bug1680_interpretation_Tm_arrow_94ef48040716a7a6394cd5bc82bcdb85", + "Bug1680_interpretation_Tm_arrow_a95396cfeba102716316016aa5aabb71", + "Bug1680_interpretation_Tm_arrow_cd4d1722f11d59077a027e61aaba926c", + "Bug1680_interpretation_Tm_arrow_d5de1dfa027d61c12a8a419d1bdae6be", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_Bug1680.col", "equation_Bug1680.dim", - "equation_Bug1680.knat", "equation_Bug1680.matrix", - "equation_Bug1680.matrix_mul", "equation_Bug1680.row", - "equation_Bug1680.sum", "equation_Bug1680.transpose", - "equation_Bug1680.vec_prod", "equation_Bug1680.vec_prod_pointwise", - "equation_Bug1680.x", "equation_Bug1680.xt", "equation_Bug1680.xtx", + "equation_Bug1680.knat", "equation_Bug1680.matrix_mul", + "equation_Bug1680.row", "equation_Bug1680.sum", + "equation_Bug1680.transpose", "equation_Bug1680.vec_prod", + "equation_Bug1680.vec_prod_pointwise", "equation_Bug1680.x", + "equation_Bug1680.xt", "equation_Bug1680.xtx", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Bug1680.sum_i.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_01ba659248aa8e90d2027a5176467106", - "interpretation_Tm_abs_2904128eb930286bf113d50b002ea991", - "interpretation_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "interpretation_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "interpretation_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "interpretation_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "interpretation_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "interpretation_Tm_abs_e7792929c3bcd87cdec7fe522287575e", - "interpretation_Tm_abs_f2d4269dce22cfdac686a71960b27de9", + "interpretation_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "interpretation_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "interpretation_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "interpretation_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "interpretation_Tm_abs_1d534f4ce1e6d646aa6b3b3eb8f25ec4", + "interpretation_Tm_abs_46f97c519834753a25d938746670d1f0", + "interpretation_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "interpretation_Tm_abs_94ad453e3c6f9d53bc7233bc75fa74c1", + "interpretation_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "interpretation_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "interpretation_Tm_abs_f43419780aa9b617125117f70e321ae5", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -243,26 +256,28 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Bug1680.sum_i.fuel_instrumented", "typing_Bug1680.col", "typing_Bug1680.knat", "typing_Bug1680.row", "typing_Bug1680.vec_prod_pointwise", "typing_Bug1680.x", - "typing_Bug1680.xt", "typing_Bug1680.xtx", - "typing_Tm_abs_01ba659248aa8e90d2027a5176467106", - "typing_Tm_abs_2904128eb930286bf113d50b002ea991", - "typing_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "typing_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "typing_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "typing_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "typing_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "typing_Tm_abs_e7792929c3bcd87cdec7fe522287575e", - "typing_Tm_abs_f2d4269dce22cfdac686a71960b27de9" + "typing_Bug1680.xt", + "typing_FStar.FunctionalExtensionality.on_domain", + "typing_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "typing_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "typing_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "typing_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "typing_Tm_abs_1d534f4ce1e6d646aa6b3b3eb8f25ec4", + "typing_Tm_abs_46f97c519834753a25d938746670d1f0", + "typing_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "typing_Tm_abs_94ad453e3c6f9d53bc7233bc75fa74c1", + "typing_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "typing_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "520d046db2c8a0fcea85293a1508c7c8" + "9d49eeca9aac8650400866a2dc6908a5" ], [ "Bug1680.uu___55", @@ -273,37 +288,40 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Bug1680.sum_i.fuel_instrumented", "@fuel_irrelevance_Bug1680.sum_i.fuel_instrumented", "@query", - "Bug1680_interpretation_Tm_arrow_0e652739261e3dd8cdc9a44f151e0e26", - "Bug1680_interpretation_Tm_arrow_3047922e7fb5e7ad22dd88705f578d25", - "Bug1680_interpretation_Tm_arrow_37ac36d2ca6b7b23ccb88ad4d3738ce7", - "Bug1680_interpretation_Tm_arrow_96e9b9b81f9a6faa96d95bcce240f61c", - "Bug1680_interpretation_Tm_arrow_ace961c79f48147cb8e2a97ddc7aa196", - "Bug1680_interpretation_Tm_arrow_b3dfdd5ba01d30100db618ba5f29c914", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Bug1680_interpretation_Tm_arrow_35c2a54db76c72015db8d7b12cff718f", + "Bug1680_interpretation_Tm_arrow_3dfdf9cb90cca4e4ec5477639a031bb1", + "Bug1680_interpretation_Tm_arrow_717b74451813e505394473f6b88aeabf", + "Bug1680_interpretation_Tm_arrow_914ccf7b2d6561cfc1da9dec7810a7b6", + "Bug1680_interpretation_Tm_arrow_94ef48040716a7a6394cd5bc82bcdb85", + "Bug1680_interpretation_Tm_arrow_a95396cfeba102716316016aa5aabb71", + "Bug1680_interpretation_Tm_arrow_cd4d1722f11d59077a027e61aaba926c", + "Bug1680_interpretation_Tm_arrow_d5de1dfa027d61c12a8a419d1bdae6be", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_Bug1680.col", "equation_Bug1680.dim", "equation_Bug1680.knat", "equation_Bug1680.matrix_mul", "equation_Bug1680.row", "equation_Bug1680.sum", "equation_Bug1680.transpose", "equation_Bug1680.vec_prod", - "equation_Bug1680.vec_prod_pointwise", "equation_Bug1680.vector", - "equation_Bug1680.x", "equation_Bug1680.xt", "equation_Bug1680.xtx", + "equation_Bug1680.vec_prod_pointwise", "equation_Bug1680.x", + "equation_Bug1680.xt", "equation_Bug1680.xtx", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Bug1680.sum_i.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_01ba659248aa8e90d2027a5176467106", - "interpretation_Tm_abs_2904128eb930286bf113d50b002ea991", - "interpretation_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "interpretation_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "interpretation_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "interpretation_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "interpretation_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "interpretation_Tm_abs_e7792929c3bcd87cdec7fe522287575e", - "interpretation_Tm_abs_f2d4269dce22cfdac686a71960b27de9", + "interpretation_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "interpretation_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "interpretation_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "interpretation_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "interpretation_Tm_abs_1d534f4ce1e6d646aa6b3b3eb8f25ec4", + "interpretation_Tm_abs_46f97c519834753a25d938746670d1f0", + "interpretation_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "interpretation_Tm_abs_94ad453e3c6f9d53bc7233bc75fa74c1", + "interpretation_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "interpretation_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "interpretation_Tm_abs_f43419780aa9b617125117f70e321ae5", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -313,25 +331,27 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_Bug1680.col", "typing_Bug1680.knat", "typing_Bug1680.row", "typing_Bug1680.vec_prod_pointwise", "typing_Bug1680.x", "typing_Bug1680.xt", - "typing_Tm_abs_01ba659248aa8e90d2027a5176467106", - "typing_Tm_abs_2904128eb930286bf113d50b002ea991", - "typing_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "typing_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "typing_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "typing_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "typing_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "typing_Tm_abs_e7792929c3bcd87cdec7fe522287575e", - "typing_Tm_abs_f2d4269dce22cfdac686a71960b27de9" + "typing_FStar.FunctionalExtensionality.on_domain", + "typing_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "typing_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "typing_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "typing_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "typing_Tm_abs_1d534f4ce1e6d646aa6b3b3eb8f25ec4", + "typing_Tm_abs_46f97c519834753a25d938746670d1f0", + "typing_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "typing_Tm_abs_94ad453e3c6f9d53bc7233bc75fa74c1", + "typing_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "typing_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "5b9eae8aceb1d05705a31e1b97d01b87" + "aca1bae8d72480b3efdf8f953c12d80c" ], [ "Bug1680.uu___59", @@ -342,37 +362,38 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Bug1680.sum_i.fuel_instrumented", "@fuel_irrelevance_Bug1680.sum_i.fuel_instrumented", "@query", - "Bug1680_interpretation_Tm_arrow_0e652739261e3dd8cdc9a44f151e0e26", - "Bug1680_interpretation_Tm_arrow_3047922e7fb5e7ad22dd88705f578d25", - "Bug1680_interpretation_Tm_arrow_37ac36d2ca6b7b23ccb88ad4d3738ce7", - "Bug1680_interpretation_Tm_arrow_96e9b9b81f9a6faa96d95bcce240f61c", - "Bug1680_interpretation_Tm_arrow_ace961c79f48147cb8e2a97ddc7aa196", - "Bug1680_interpretation_Tm_arrow_b3dfdd5ba01d30100db618ba5f29c914", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Bug1680_interpretation_Tm_arrow_35c2a54db76c72015db8d7b12cff718f", + "Bug1680_interpretation_Tm_arrow_717b74451813e505394473f6b88aeabf", + "Bug1680_interpretation_Tm_arrow_914ccf7b2d6561cfc1da9dec7810a7b6", + "Bug1680_interpretation_Tm_arrow_94ef48040716a7a6394cd5bc82bcdb85", + "Bug1680_interpretation_Tm_arrow_a95396cfeba102716316016aa5aabb71", + "Bug1680_interpretation_Tm_arrow_cd4d1722f11d59077a027e61aaba926c", + "Bug1680_interpretation_Tm_arrow_d5de1dfa027d61c12a8a419d1bdae6be", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_Bug1680.col", "equation_Bug1680.dim", "equation_Bug1680.knat", "equation_Bug1680.row", "equation_Bug1680.sum", "equation_Bug1680.transpose", "equation_Bug1680.vec_prod", "equation_Bug1680.vec_prod_pointwise", - "equation_Bug1680.vector", "equation_Bug1680.x", - "equation_Bug1680.xt", "equation_Bug1680.xtx_unfolded", + "equation_Bug1680.x", "equation_Bug1680.xt", + "equation_Bug1680.xtx_unfolded", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Bug1680.sum_i.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_01ba659248aa8e90d2027a5176467106", - "interpretation_Tm_abs_030044b8d4363cdedd699cfb66829ce3", - "interpretation_Tm_abs_2904128eb930286bf113d50b002ea991", - "interpretation_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "interpretation_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "interpretation_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "interpretation_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "interpretation_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "interpretation_Tm_abs_f2d4269dce22cfdac686a71960b27de9", + "interpretation_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "interpretation_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "interpretation_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "interpretation_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "interpretation_Tm_abs_46f97c519834753a25d938746670d1f0", + "interpretation_Tm_abs_65fb2fb9a8ceb5aa2df9ef8b162240ff", + "interpretation_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "interpretation_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "interpretation_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "interpretation_Tm_abs_f43419780aa9b617125117f70e321ae5", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -382,26 +403,26 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Bug1680.sum_i.fuel_instrumented", "typing_Bug1680.col", "typing_Bug1680.knat", "typing_Bug1680.row", "typing_Bug1680.vec_prod_pointwise", "typing_Bug1680.x", - "typing_Bug1680.xt", "typing_Bug1680.xtx_unfolded", - "typing_Tm_abs_01ba659248aa8e90d2027a5176467106", - "typing_Tm_abs_030044b8d4363cdedd699cfb66829ce3", - "typing_Tm_abs_2904128eb930286bf113d50b002ea991", - "typing_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "typing_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "typing_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "typing_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "typing_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "typing_Tm_abs_f2d4269dce22cfdac686a71960b27de9" + "typing_Bug1680.xt", + "typing_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "typing_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "typing_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "typing_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "typing_Tm_abs_46f97c519834753a25d938746670d1f0", + "typing_Tm_abs_65fb2fb9a8ceb5aa2df9ef8b162240ff", + "typing_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "typing_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "typing_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "7d896e005ea24fb1c26c91a159c51968" + "6b1ed8a04cc03fd47b556e6d16cdd032" ], [ "Bug1680.uu___60", @@ -412,14 +433,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Bug1680.sum_i.fuel_instrumented", "@fuel_irrelevance_Bug1680.sum_i.fuel_instrumented", "@query", - "Bug1680_interpretation_Tm_arrow_0e652739261e3dd8cdc9a44f151e0e26", - "Bug1680_interpretation_Tm_arrow_3047922e7fb5e7ad22dd88705f578d25", - "Bug1680_interpretation_Tm_arrow_37ac36d2ca6b7b23ccb88ad4d3738ce7", - "Bug1680_interpretation_Tm_arrow_96e9b9b81f9a6faa96d95bcce240f61c", - "Bug1680_interpretation_Tm_arrow_ace961c79f48147cb8e2a97ddc7aa196", - "Bug1680_interpretation_Tm_arrow_b3dfdd5ba01d30100db618ba5f29c914", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Bug1680_interpretation_Tm_arrow_35c2a54db76c72015db8d7b12cff718f", + "Bug1680_interpretation_Tm_arrow_717b74451813e505394473f6b88aeabf", + "Bug1680_interpretation_Tm_arrow_914ccf7b2d6561cfc1da9dec7810a7b6", + "Bug1680_interpretation_Tm_arrow_94ef48040716a7a6394cd5bc82bcdb85", + "Bug1680_interpretation_Tm_arrow_a95396cfeba102716316016aa5aabb71", + "Bug1680_interpretation_Tm_arrow_cd4d1722f11d59077a027e61aaba926c", + "Bug1680_interpretation_Tm_arrow_d5de1dfa027d61c12a8a419d1bdae6be", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_Bug1680.col", "equation_Bug1680.dim", @@ -434,15 +456,16 @@ "equation_with_fuel_Bug1680.sum_i.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_01ba659248aa8e90d2027a5176467106", - "interpretation_Tm_abs_030044b8d4363cdedd699cfb66829ce3", - "interpretation_Tm_abs_2904128eb930286bf113d50b002ea991", - "interpretation_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "interpretation_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "interpretation_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "interpretation_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "interpretation_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "interpretation_Tm_abs_f2d4269dce22cfdac686a71960b27de9", + "interpretation_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "interpretation_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "interpretation_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "interpretation_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "interpretation_Tm_abs_46f97c519834753a25d938746670d1f0", + "interpretation_Tm_abs_65fb2fb9a8ceb5aa2df9ef8b162240ff", + "interpretation_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "interpretation_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "interpretation_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "interpretation_Tm_abs_f43419780aa9b617125117f70e321ae5", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -452,26 +475,26 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Bug1680.sum_i.fuel_instrumented", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_Bug1680.col", "typing_Bug1680.knat", "typing_Bug1680.row", "typing_Bug1680.vec_prod_pointwise", "typing_Bug1680.x", "typing_Bug1680.xt", "typing_Bug1680.xtx_unfolded", - "typing_Tm_abs_01ba659248aa8e90d2027a5176467106", - "typing_Tm_abs_030044b8d4363cdedd699cfb66829ce3", - "typing_Tm_abs_2904128eb930286bf113d50b002ea991", - "typing_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "typing_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "typing_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "typing_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "typing_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "typing_Tm_abs_f2d4269dce22cfdac686a71960b27de9" + "typing_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "typing_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "typing_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "typing_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "typing_Tm_abs_46f97c519834753a25d938746670d1f0", + "typing_Tm_abs_65fb2fb9a8ceb5aa2df9ef8b162240ff", + "typing_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "typing_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "typing_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "feeae1946ad38827caef726f107898dd" + "66e811efa2e5f1af18072b2e2c94ba05" ], [ "Bug1680.uu___61", @@ -480,38 +503,41 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Bug1680.sum_i.fuel_instrumented", "@query", - "Bug1680_interpretation_Tm_arrow_0e652739261e3dd8cdc9a44f151e0e26", - "Bug1680_interpretation_Tm_arrow_3047922e7fb5e7ad22dd88705f578d25", - "Bug1680_interpretation_Tm_arrow_37ac36d2ca6b7b23ccb88ad4d3738ce7", - "Bug1680_interpretation_Tm_arrow_96e9b9b81f9a6faa96d95bcce240f61c", - "Bug1680_interpretation_Tm_arrow_ace961c79f48147cb8e2a97ddc7aa196", - "Bug1680_interpretation_Tm_arrow_b3dfdd5ba01d30100db618ba5f29c914", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "@fuel_correspondence_Bug1680.sum_i.fuel_instrumented", + "@fuel_irrelevance_Bug1680.sum_i.fuel_instrumented", "@query", + "Bug1680_interpretation_Tm_arrow_35c2a54db76c72015db8d7b12cff718f", + "Bug1680_interpretation_Tm_arrow_717b74451813e505394473f6b88aeabf", + "Bug1680_interpretation_Tm_arrow_914ccf7b2d6561cfc1da9dec7810a7b6", + "Bug1680_interpretation_Tm_arrow_94ef48040716a7a6394cd5bc82bcdb85", + "Bug1680_interpretation_Tm_arrow_a95396cfeba102716316016aa5aabb71", + "Bug1680_interpretation_Tm_arrow_cd4d1722f11d59077a027e61aaba926c", + "Bug1680_interpretation_Tm_arrow_d5de1dfa027d61c12a8a419d1bdae6be", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_Bug1680.col", "equation_Bug1680.dim", "equation_Bug1680.knat", "equation_Bug1680.row", "equation_Bug1680.sum", "equation_Bug1680.transpose", "equation_Bug1680.vec_prod", "equation_Bug1680.vec_prod_pointwise", - "equation_Bug1680.x", "equation_Bug1680.xt", - "equation_Bug1680.xtx_unfolded", + "equation_Bug1680.vector", "equation_Bug1680.x", + "equation_Bug1680.xt", "equation_Bug1680.xtx_unfolded", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Bug1680.sum_i.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_01ba659248aa8e90d2027a5176467106", - "interpretation_Tm_abs_030044b8d4363cdedd699cfb66829ce3", - "interpretation_Tm_abs_2904128eb930286bf113d50b002ea991", - "interpretation_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "interpretation_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "interpretation_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "interpretation_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "interpretation_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "interpretation_Tm_abs_f2d4269dce22cfdac686a71960b27de9", + "interpretation_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "interpretation_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "interpretation_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "interpretation_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "interpretation_Tm_abs_46f97c519834753a25d938746670d1f0", + "interpretation_Tm_abs_65fb2fb9a8ceb5aa2df9ef8b162240ff", + "interpretation_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "interpretation_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "interpretation_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "interpretation_Tm_abs_f43419780aa9b617125117f70e321ae5", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -521,26 +547,27 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Bug1680.sum_i.fuel_instrumented", "typing_Bug1680.col", "typing_Bug1680.knat", "typing_Bug1680.row", "typing_Bug1680.vec_prod_pointwise", "typing_Bug1680.x", - "typing_Bug1680.xt", "typing_Bug1680.xtx_unfolded", - "typing_Tm_abs_01ba659248aa8e90d2027a5176467106", - "typing_Tm_abs_030044b8d4363cdedd699cfb66829ce3", - "typing_Tm_abs_2904128eb930286bf113d50b002ea991", - "typing_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "typing_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "typing_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "typing_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "typing_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "typing_Tm_abs_f2d4269dce22cfdac686a71960b27de9" + "typing_Bug1680.xt", + "typing_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "typing_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "typing_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "typing_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "typing_Tm_abs_46f97c519834753a25d938746670d1f0", + "typing_Tm_abs_65fb2fb9a8ceb5aa2df9ef8b162240ff", + "typing_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "typing_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "typing_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "c94ceba4d2d77a9c3270dcd62d2715d4" + "c377f7654ac5fee0dd219809cafe6a08" ], [ "Bug1680.uu___62", @@ -549,15 +576,17 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Bug1680.sum_i.fuel_instrumented", "@query", - "Bug1680_interpretation_Tm_arrow_0e652739261e3dd8cdc9a44f151e0e26", - "Bug1680_interpretation_Tm_arrow_3047922e7fb5e7ad22dd88705f578d25", - "Bug1680_interpretation_Tm_arrow_37ac36d2ca6b7b23ccb88ad4d3738ce7", - "Bug1680_interpretation_Tm_arrow_96e9b9b81f9a6faa96d95bcce240f61c", - "Bug1680_interpretation_Tm_arrow_ace961c79f48147cb8e2a97ddc7aa196", - "Bug1680_interpretation_Tm_arrow_b3dfdd5ba01d30100db618ba5f29c914", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "@fuel_correspondence_Bug1680.sum_i.fuel_instrumented", + "@fuel_irrelevance_Bug1680.sum_i.fuel_instrumented", "@query", + "Bug1680_interpretation_Tm_arrow_35c2a54db76c72015db8d7b12cff718f", + "Bug1680_interpretation_Tm_arrow_717b74451813e505394473f6b88aeabf", + "Bug1680_interpretation_Tm_arrow_914ccf7b2d6561cfc1da9dec7810a7b6", + "Bug1680_interpretation_Tm_arrow_94ef48040716a7a6394cd5bc82bcdb85", + "Bug1680_interpretation_Tm_arrow_a95396cfeba102716316016aa5aabb71", + "Bug1680_interpretation_Tm_arrow_cd4d1722f11d59077a027e61aaba926c", + "Bug1680_interpretation_Tm_arrow_d5de1dfa027d61c12a8a419d1bdae6be", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_Bug1680.col", "equation_Bug1680.dim", @@ -572,15 +601,16 @@ "equation_with_fuel_Bug1680.sum_i.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_01ba659248aa8e90d2027a5176467106", - "interpretation_Tm_abs_030044b8d4363cdedd699cfb66829ce3", - "interpretation_Tm_abs_2904128eb930286bf113d50b002ea991", - "interpretation_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "interpretation_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "interpretation_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "interpretation_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "interpretation_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "interpretation_Tm_abs_f2d4269dce22cfdac686a71960b27de9", + "interpretation_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "interpretation_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "interpretation_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "interpretation_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "interpretation_Tm_abs_46f97c519834753a25d938746670d1f0", + "interpretation_Tm_abs_65fb2fb9a8ceb5aa2df9ef8b162240ff", + "interpretation_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "interpretation_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "interpretation_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "interpretation_Tm_abs_f43419780aa9b617125117f70e321ae5", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -590,25 +620,27 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "token_correspondence_Bug1680.sum_i.fuel_instrumented", "typing_Bug1680.col", "typing_Bug1680.knat", "typing_Bug1680.row", "typing_Bug1680.vec_prod_pointwise", "typing_Bug1680.x", "typing_Bug1680.xt", "typing_Bug1680.xtx_unfolded", - "typing_Tm_abs_01ba659248aa8e90d2027a5176467106", - "typing_Tm_abs_030044b8d4363cdedd699cfb66829ce3", - "typing_Tm_abs_2904128eb930286bf113d50b002ea991", - "typing_Tm_abs_4be86f6a6ecbca8a16ce6757028c23c4", - "typing_Tm_abs_54218f2673cb4f91b4083f4a744fc41f", - "typing_Tm_abs_72cad9ecb19d5705fef7ea51952600c2", - "typing_Tm_abs_9e2baa3c4e17d7424ee892b4c2245896", - "typing_Tm_abs_b14224ad94616ee6b3d3047ddae3f0ee", - "typing_Tm_abs_f2d4269dce22cfdac686a71960b27de9" + "typing_Tm_abs_0284b0d6df2d9ca32d762d95f9dcfa3b", + "typing_Tm_abs_0c2bd778e7d84bcd7667a9a542f3727e", + "typing_Tm_abs_0f0d2cc6ca972878e02713a647b8abdb", + "typing_Tm_abs_19356bf3b1a685e7fd81dbe6050ba7b7", + "typing_Tm_abs_46f97c519834753a25d938746670d1f0", + "typing_Tm_abs_65fb2fb9a8ceb5aa2df9ef8b162240ff", + "typing_Tm_abs_7bdf5718183d7c2fd6cc6b38463ab6e7", + "typing_Tm_abs_98672726b65808e6c0449361aa1fcc94", + "typing_Tm_abs_b715b8514f1033d7bdb6b07e87cc6956", + "typing_Tm_abs_f43419780aa9b617125117f70e321ae5" ], 0, - "087eedb34e110d8feda22b3092f43623" + "c44d678e4ad39d951d8763ec8ee65b19" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1682.fst.hints b/examples/bug-reports/Bug1682.fst.hints index e8d3b43a165..ada5aee7b10 100644 --- a/examples/bug-reports/Bug1682.fst.hints +++ b/examples/bug-reports/Bug1682.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c20723f0135801d644f0e20cee49ba1b" + "e933ee0ccfd255043df147115b886884" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1694.fst.hints b/examples/bug-reports/Bug1694.fst.hints index aafb778a1bf..da1056fd501 100644 --- a/examples/bug-reports/Bug1694.fst.hints +++ b/examples/bug-reports/Bug1694.fst.hints @@ -12,7 +12,7 @@ "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro" ], 0, - "337c83c92293eeae24cbabd4d1f2265e" + "11a7c02ea4358ae767ea4764e6b16b8b" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1730b.fst.hints b/examples/bug-reports/Bug1730b.fst.hints index 8bfff989f48..17242244dfd 100644 --- a/examples/bug-reports/Bug1730b.fst.hints +++ b/examples/bug-reports/Bug1730b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Bug1730a.x", "equation_Bug1730b.y" ], 0, - "b1276811b1bce9c91090cfe8c466418b" + "3d8cb095f1a3551da5bfd7bc7e6b9421" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1750.Aux.fst b/examples/bug-reports/Bug1750.Aux.fst new file mode 100644 index 00000000000..0461e7bc83e --- /dev/null +++ b/examples/bug-reports/Bug1750.Aux.fst @@ -0,0 +1,22 @@ +module Bug1750.Aux + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module MDM = FStar.Monotonic.DependentMap +module DM = FStar.DependentMap + +assume +val pre_dhi :eqtype + +//This example tests the need for IsToFun axioms +//for inductive type constructors +//Without those axioms, this example (inspired by mitls-fstar/CommonDH) fails. + +noeq +type ilog_entry (i:pre_dhi) = + | Corrupt + +#reset-options "--max_fuel 0 --max_ifuel 0" +let test (log:MDM.map pre_dhi ilog_entry) (k:pre_dhi) (v:ilog_entry k) : Tot unit = + let log1 = MDM.upd #pre_dhi #ilog_entry log k v in + assert (Some? (MDM.sel #pre_dhi #ilog_entry log1 k)) diff --git a/examples/bug-reports/Bug1750.Aux.fst.hints b/examples/bug-reports/Bug1750.Aux.fst.hints new file mode 100644 index 00000000000..44b14927a8b --- /dev/null +++ b/examples/bug-reports/Bug1750.Aux.fst.hints @@ -0,0 +1,33 @@ +[ + "ÜÏ6n²;ÔÕåÆÅü?T\u0000º", + [ + [ + "Bug1750.Aux.test", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_e0342d9558b243b3e59b56f030223dea", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "constructor_distinct_FStar.Pervasives.Native.Some", + "data_typing_intro_FStar.Pervasives.Native.Some@tok", + "disc_equation_FStar.Pervasives.Native.None", + "equation_FStar.Monotonic.DependentMap.opt", + "equation_FStar.Monotonic.DependentMap.partial_dependent_map", + "fuel_guarded_inversion_Bug1750.Aux.ilog_entry", + "function_token_typing_FStar.Monotonic.DependentMap.opt", + "kinding_Bug1750.Aux.ilog_entry@tok", + "lemma_FStar.DependentMap.sel_upd_same", + "lemma_FStar.Pervasives.invertOption", + "projection_inverse_BoxBool_proj_0", + "token_correspondence_Bug1750.Aux.ilog_entry@tok", + "token_correspondence_FStar.Monotonic.DependentMap.opt", + "typing_Bug1750.Aux.pre_dhi", + "typing_FStar.Monotonic.DependentMap.repr" + ], + 0, + "0b75d3c05e0277a2f0f1dccdf1f2f226" + ] + ] +] \ No newline at end of file diff --git a/examples/bug-reports/Bug1750.fst b/examples/bug-reports/Bug1750.fst new file mode 100644 index 00000000000..3590278e048 --- /dev/null +++ b/examples/bug-reports/Bug1750.fst @@ -0,0 +1,96 @@ +module Bug1750 + + +//This is a minimized version of the original bug report by Jay Bosamiya +let t_f = bool -> Tot bool +let t_g = bool -> GTot bool +[@(expect_failure [19])] +let test (b:bool) (f:'a{'a == t_f}) (g:'b{'b == t_g}) = + if b then f else g + +//This next test exercises the equivalnce of the HasType relation +//for functions types that differ only by currying +let t_t_f = bool -> t_f +//We expect the equality of `a == t_t_h` to suffice in showing +//via SMT that HasType x (bool -> bool -> bool -> bool) +//This is meant to work because: +// 1. t_t_f is encoded as +// HasType f t_t_f <==> +// (forall x. HasType x bool ==> HasType (f x) t_f) /\ +// IsTotFun f +// 2. t_f is encoded as +// HasType f t_f <==> +// (forall x. HasType x bool ==> HasType (f x) bool) /\ +// IsTotFun f +// 3. t_bbb = bool -> bool -> bool +// HasType f t_bbb <==> +// forall x y. HasType x bool /\ HasType y bool ==> +// HasType (f x y) bool /\ +// IsTotFun f /\ +// forall x. HasType x bool ==> IsTotFun (f x) <---****Typing guard? +//The crucial bit to see here is in the very last axiom +//In particular, why do we need the typing guard? +//If we want to prove (HasType f t_t_f ==> HasType f t_bbb) +//Then, without the typing guard, we need to prove that +// forall x. IsTotFun (f x) (Goal) +//But, from the encoding of t_t_f, we only get +// forall x. HasType x bool ==> HasType (f x) t_f +// ==> forall x. HasType x bool ==> IsTotFun (f x) +//Which isn't enough to prove (Goal) +//So, those typing guards, though they may seem unnecessary +//are actually needed +let test_currying #a (x:a{a == t_t_f}) : bool -> bool -> bool = x + +//This is intentionally marked `rec` so that its SMT interpretation +//is guarded by typing hypotheses on its arguments +let rec apply (f:int -> int) (x:int) : int = f x +let plus (x y : int) = x + y + +//This tests derivability of the has_type relation for partial +//applications of top-level functions +let test_partial_app0 (x y : int) = assert (apply (plus x) y == plus x y) + +//This tests that partial app typing doesn't incorrectly introduce +//an unsoundness ... a previous version did! +[@(expect_failure [19])] +let test_partial_app1 (f:int -> int -> int) (g:int -> bool) (x y:int) : Lemma False = + assert (apply (f x) y == f x y); + assert (has_type (g x) int); + assert (has_type (g x) bool) + +//This tests derivability of the has_type relation for partial +//applications of function-typed bound variables +let test_partial_app2 (f:int -> int -> int) (x y:int) = + assert (apply (f x) y == f x y) + +//This tests derivability of the has_type relation for partial +//applications of function-typed bound variables +let ref_t = f:(int -> int -> int){forall x y. f x y > x} +let test_partial_app3 (f:ref_t) (x y:int) = + assert (apply (f x) y == f x y) + +//This is Jay's original bug report +type eff_tag = + | G + | T + +let eff (t:eff_tag) (b:Type) = + match t with + | T -> unit -> Tot b + | G -> unit -> GTot b + +let eff_to_tot (x:eff T 'a) : Tot 'a = x () + +let gtot_to_eff #a #b (f:(x:a -> GTot (b x))) : x:a -> eff G (b x) = fun x () -> f x + +assume val t : Type0 + +[@(expect_failure [19])] +let foo (#e:eff_tag) (x:Ghost.erased t) : eff e t = (gtot_to_eff #(Ghost.erased t) #(fun _ -> t) Ghost.reveal) x + +val bug : #t:Type0 -> (x:Ghost.erased t) -> Tot (y:t{y == Ghost.reveal x}) + +[@(expect_failure [19])] +let bug #t x = + let foo #e (x:Ghost.erased t) : eff e t = (gtot_to_eff Ghost.reveal) x in + eff_to_tot (foo x) diff --git a/examples/bug-reports/Bug1750.fst.hints b/examples/bug-reports/Bug1750.fst.hints new file mode 100644 index 00000000000..69a779b7801 --- /dev/null +++ b/examples/bug-reports/Bug1750.fst.hints @@ -0,0 +1,82 @@ +[ + "Uä<\nm[¯\u000e™ËniÄ\u0017‹", + [ + [ + "Bug1750.test_currying", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Bug1750_interpretation_Tm_arrow_a41b9b98d4288401e09e5c3b51ccc4f5", + "Bug1750_interpretation_Tm_arrow_a9f8a2e504f49bf12fdda2bb70e77093", + "Bug1750_interpretation_Tm_arrow_ae87dd7306d3f92da99f8dd0d7e6277d", + "bool_inversion", "equation_Bug1750.t_f", "equation_Bug1750.t_t_f", + "refinement_interpretation_Tm_refine_4a8b14cc2437f87e25f4222d8fe180cc" + ], + 0, + "874e23e45b648883c6226426b0deb1ba" + ], + [ + "Bug1750.test_partial_app0", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Bug1750.apply.fuel_instrumented", "@query", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", + "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", + "equation_with_fuel_Bug1750.apply.fuel_instrumented", + "function_token_typing_Bug1750.plus", "int_inversion" + ], + 0, + "3e438be9d0373d1571c04d04caa1b5d1" + ], + [ + "Bug1750.test_partial_app2", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Bug1750.apply.fuel_instrumented", "@query", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", + "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", + "equation_with_fuel_Bug1750.apply.fuel_instrumented", "int_inversion" + ], + 0, + "79cc48732a1301f7e3e9f06fdc850279" + ], + [ + "Bug1750.test_partial_app3", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Bug1750.apply.fuel_instrumented", "@query", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", + "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", + "equation_Bug1750.ref_t", + "equation_with_fuel_Bug1750.apply.fuel_instrumented", + "int_inversion", + "refinement_interpretation_Tm_refine_11b94044b318d04810c219460ee922f5" + ], + 0, + "c4bf2b01244cdaaea5e021c32da3b8e7" + ], + [ + "Bug1750.eff", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Bug1750.G", + "disc_equation_Bug1750.T", "fuel_guarded_inversion_Bug1750.eff_tag" + ], + 0, + "c26b8e55de523a50a40fbbaf194876f1" + ] + ] +] \ No newline at end of file diff --git a/examples/bug-reports/Bug1784.fst b/examples/bug-reports/Bug1784.fst new file mode 100644 index 00000000000..689cdc8d1c5 --- /dev/null +++ b/examples/bug-reports/Bug1784.fst @@ -0,0 +1,17 @@ +module Bug1784 + +type t = { + x : int; + y : int; +} + +let foo (a:t) (x2 y2:int) = + let { + x = x1; + y = y1; + } = a in + let b = { + x = x2; + y = y2; + } in + () diff --git a/examples/bug-reports/Bug1784.fst.hints b/examples/bug-reports/Bug1784.fst.hints new file mode 100644 index 00000000000..45a6379e871 --- /dev/null +++ b/examples/bug-reports/Bug1784.fst.hints @@ -0,0 +1 @@ +[ "¸ÙÒ\u0005œSþ\u001a4{gZŒpø ", [] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1802.fst b/examples/bug-reports/Bug1802.fst new file mode 100644 index 00000000000..b52e8114786 --- /dev/null +++ b/examples/bug-reports/Bug1802.fst @@ -0,0 +1,18 @@ +module Bug1802 + +[@(expect_failure [67])] +noeq type test2 (a:Type) : Type0 = + | Cons2: a -> test2 a + +[@(expect_failure [67])] +noeq type test1 (a:Type u#a) : Type0 = + | Cons1: b:Type u#b -> x:a -> test1 a + +noeq type test3 (a:Type u#a) = + | Cons3: x:a -> test3 a + +noeq type test4 (a:Type u#a) : Type0 = + | Cons4: nat -> test4 a + +noeq type test5 (a:Type u#a) (b:Type u#b) = + | Cons5 : a -> b -> test5 a b diff --git a/examples/bug-reports/Bug1802.fst.hints b/examples/bug-reports/Bug1802.fst.hints new file mode 100644 index 00000000000..9a7be442454 --- /dev/null +++ b/examples/bug-reports/Bug1802.fst.hints @@ -0,0 +1 @@ +[ "\u0007>;–6\t‡Ù`v}•¢›\"", [] ] \ No newline at end of file diff --git a/examples/bug-reports/Bug1818.fst b/examples/bug-reports/Bug1818.fst new file mode 100644 index 00000000000..24150b1e927 --- /dev/null +++ b/examples/bug-reports/Bug1818.fst @@ -0,0 +1,8 @@ +module Bug1818 + +let test_t () = x:int -> Pure unit (requires x > 0) (ensures fun _ -> True) + +assume val bar (x:int) : Pure unit (requires x > 0) (ensures fun _ -> True) + +let foo () : (test_t ()) = + fun x -> bar x diff --git a/examples/bug-reports/Bug1818.fst.hints b/examples/bug-reports/Bug1818.fst.hints new file mode 100644 index 00000000000..bce2f3ac73f --- /dev/null +++ b/examples/bug-reports/Bug1818.fst.hints @@ -0,0 +1 @@ +[ "‹‚D\u0004ÏGŸ(N¾/2ˆëº~", [] ] \ No newline at end of file diff --git a/examples/bug-reports/BugUnfoldAbstractEquational.fst.hints b/examples/bug-reports/BugUnfoldAbstractEquational.fst.hints index 2245b4812b3..6ec9bc0680f 100644 --- a/examples/bug-reports/BugUnfoldAbstractEquational.fst.hints +++ b/examples/bug-reports/BugUnfoldAbstractEquational.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "4d5809411d0db22c3efa107c678dc0be" + "2146f7e83f66c649d988a391c2d73ef1" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/BugWildcardTelescopes.fst.hints b/examples/bug-reports/BugWildcardTelescopes.fst.hints index 9677b0c3626..76d049193c9 100644 --- a/examples/bug-reports/BugWildcardTelescopes.fst.hints +++ b/examples/bug-reports/BugWildcardTelescopes.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BugWildcardTelescopes.Entry_a" ], 0, - "f5ba3f350c2c951f9748c2b67226c842" + "51cb84fa0248fbcad29f509330185ec8" ], [ "BugWildcardTelescopes.__proj__T1__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_6f800725a2ab3936b9ac21216e7655c8" ], 0, - "8db2f47c6463767a520dbb5077a9e76c" + "48e96379784d2375eb6538cbd564d827" ], [ "BugWildcardTelescopes.__proj__T1__item___1", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_6f800725a2ab3936b9ac21216e7655c8" ], 0, - "f06197509f4e0f8796bbc5a9d76a8ea3" + "f54e31558b199233a38821de6780e354" ], [ "BugWildcardTelescopes.__proj__T2__item___0", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_12dd99db1541ccf13536d82eba053826" ], 0, - "46e0d53eaed768e9e6e42d0224f3f05e" + "bef8d25d8b60dc4ae2023a94acb754ad" ], [ "BugWildcardTelescopes.__proj__T2__item___1", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_12dd99db1541ccf13536d82eba053826" ], 0, - "b902f5af516078b1678cd3612da9847f" + "00ecdc3e02708e7d1e0dd22134324e5c" ], [ "BugWildcardTelescopes.bar", @@ -81,7 +81,7 @@ "fuel_guarded_inversion_BugWildcardTelescopes.simple" ], 0, - "48cb1d7410fad10a27d90e95b816e97d" + "79fc361563a6f39d17546554077e1ae3" ], [ "BugWildcardTelescopes.__proj__E__item__a", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_f702fff5c1aebb395ca937da1bbf7e4a" ], 0, - "0f6c93b59b745ad1a33a01a8b6fcb4d1" + "13cb0c5d62a3d283de44575f67e456e7" ], [ "BugWildcardTelescopes.__proj__F__item__a", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_b31795212ab701a8f413cfe25bda86bc" ], 0, - "d93d514225185f1cd8ba079f106a0c49" + "132eaccb0767de362c2aab9c274dbc66" ], [ "BugWildcardTelescopes.f", @@ -124,11 +124,11 @@ "fuel_guarded_inversion_BugWildcardTelescopes.d", "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_04d4235cf7262bb409d7cdcbdf6c884d", - "refinement_interpretation_Tm_refine_13822e8d415cca32657fdd044ba9fbfb" + "refinement_interpretation_Tm_refine_acd05ee6f9ccb986c4590aadf00c124b", + "refinement_interpretation_Tm_refine_d0eee3c391f9d6e8f2bd864e1e88f2bd" ], 0, - "366db259ebd569cf888b521bcefdd5ba" + "cf600bb1d7f081653d71186b34f7fb57" ], [ "BugWildcardTelescopes.__proj__G__item__a", @@ -142,7 +142,7 @@ "refinement_interpretation_Tm_refine_16580d568b4e5780ab3a53ee95d43ee0" ], 0, - "7b5893eec71b08eba2943875263cd064" + "ab8d1c7c26963c086bfaa963a075fdbd" ], [ "BugWildcardTelescopes.__proj__G__item__b", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_16580d568b4e5780ab3a53ee95d43ee0" ], 0, - "b0182e56bd41682c1f283bc2ee958112" + "13da6f4ad6b83db985e516f07c981550" ], [ "BugWildcardTelescopes.__proj__H__item__a", @@ -172,7 +172,7 @@ "refinement_interpretation_Tm_refine_8f3af65825926c1ffb9a05035c6296e2" ], 0, - "80762dcc225536825e512a2af11cff01" + "4208e3b5c764d56259dcaba192e3ab6a" ], [ "BugWildcardTelescopes.__proj__H__item__b", @@ -188,7 +188,7 @@ "refinement_interpretation_Tm_refine_8f3af65825926c1ffb9a05035c6296e2" ], 0, - "56962ecbfa3b0cfe84aa8d9fdbcfa779" + "56485c0d347c4ab17bc6209b07a7d3f1" ], [ "BugWildcardTelescopes.foo3", @@ -202,7 +202,7 @@ "fuel_guarded_inversion_BugWildcardTelescopes.e" ], 0, - "83900964b94adec434b277187f691c76" + "e0bce7ee96041996011154c30ca0600c" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/ExtractionBug2.fst.hints b/examples/bug-reports/ExtractionBug2.fst.hints index a7d208c2ea5..27f32050256 100644 --- a/examples/bug-reports/ExtractionBug2.fst.hints +++ b/examples/bug-reports/ExtractionBug2.fst.hints @@ -11,7 +11,7 @@ "kinding_ExtractionBug2.list@tok" ], 0, - "424615c069c220fa406c9741f568f26e" + "59f5c09b9dca3c500861e066d528dcad" ], [ "ExtractionBug2.__proj__Cons__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_88eeb34ca0a5b886dd99b47abdefbb52" ], 0, - "1e110d02a80cffb8a51973c0c456fd6b" + "e827257321c1c881849c93330444096b" ], [ "ExtractionBug2.app_my_lists", @@ -42,7 +42,7 @@ "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "f6099a61c600dc2a523a0293960f3730" + "23fb40bf183aafe62ab925d334213c81" ], [ "ExtractionBug2.app", @@ -56,7 +56,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "91fcea26ea68a4d5382a26211a465b34" + "7cd171d62a34b18d5ea836bd55d85fa9" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/Makefile b/examples/bug-reports/Makefile index f0e74f07f69..425dfcc1c9e 100644 --- a/examples/bug-reports/Makefile +++ b/examples/bug-reports/Makefile @@ -34,7 +34,8 @@ SHOULD_VERIFY_CLOSED=bug022.fst bug024.fst bug025.fst bug026.fst bug026b.fst bug bug1443a.fst bug1443b.fst bug1443c.fst bug1443d.fst bug1443e.fst bug1523.fst bug1141a.fst bug1141b.fst bug1141c.fst bug1141d.fst \ bug1561a.fst bug1561b.fst bug1065a.fst bug1065b.fst bug1065c.fst bug1568.fst Bug1571.fst Bug1572.fst Bug1592.fst \ Bug1595.fst Bug1601.fst Bug1602.fst Bug1604.fst Bug1605.fst Bug1621.fst Bug1680.fst Bug1682.fst Bug1694.fst \ - Bug1730b.fst Bug1612.fst + Bug1730b.fst Bug1612.fst Bug1614a.fst Bug1614b.fst Bug1614c.fst Bug1614d.fst Bug1614e.fst Bug1750.fst Bug1750.Aux.fst \ + Bug1622.fst bug1540.fst Bug1784.fst Bug1802.fst Bug1055.fst Bug1818.fst SHOULD_VERIFY_INTERFACE_CLOSED=bug771.fsti bug771b.fsti SHOULD_VERIFY_AND_WARN_CLOSED=bug016.fst @@ -47,7 +48,7 @@ SHOULD_VERIFY_OPEN=bug045.fst bug057.fst bug064.fst bug065.fst bug071.fst bug121 bug171b.fst bug171c.fst bug258.fst bug259.fst bug282.fst bug291.fst bug419.fst bug442.fst\ bug442b.fst bug484.fst bug542.fst bug543.fst bug554.fst bug604.fst bug606.fst\ bug626.fst bug682.fst bug715.fst bug739.fst bug815.fst bug815b.fst bug851.fst bug933.fst bug933b.fst\ - bug1038.fst bug1055b.fst bug1091.fst bug1390.fst bug807d.fst bug1486.fst bug1392.fst + bug1038.fst bug1091.fst bug1390.fst bug807d.fst bug1486.fst bug1392.fst # These examples go through but their corresponding GitHub issue is still open. Consider closing and adding them # to SHOULD_VERIFY_CLOSED. diff --git a/examples/bug-reports/ScopeOfBinderGuard.fst.hints b/examples/bug-reports/ScopeOfBinderGuard.fst.hints index 3f57ded6376..7534bf64ab2 100644 --- a/examples/bug-reports/ScopeOfBinderGuard.fst.hints +++ b/examples/bug-reports/ScopeOfBinderGuard.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "4d5809411d0db22c3efa107c678dc0be" + "2146f7e83f66c649d988a391c2d73ef1" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/UnificationCrash.fst.hints b/examples/bug-reports/UnificationCrash.fst.hints index 1a10b9d6947..2588094603a 100644 --- a/examples/bug-reports/UnificationCrash.fst.hints +++ b/examples/bug-reports/UnificationCrash.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c0d8ac9f41b38ebe8cac7dd5f5e83718" + "b394ed0d44153980585399663282705c" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug022.fst.hints b/examples/bug-reports/bug022.fst.hints index db964aff3a4..ef8df06c8e8 100644 --- a/examples/bug-reports/bug022.fst.hints +++ b/examples/bug-reports/bug022.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "cd3aa46a0b026373d2bc3fc5fbb31688" + "12f7dca22f0c94259a0ca9a1d160a4ac" ], [ "Bug022.__proj__EAbs__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_1fab4118271d47fc28cd28aead33e87f" ], 0, - "12a80fea5db2add0354791235f06cfd0" + "b11852cde1245a4b8cdf77920d682029" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug024.fst.hints b/examples/bug-reports/bug024.fst.hints index 3be89378244..5fbe6109035 100644 --- a/examples/bug-reports/bug024.fst.hints +++ b/examples/bug-reports/bug024.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "060647e0e67567c8f70c0238736378b3" + "c83c8fe996325257cc9ca955c278ea7e" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug025.fst.hints b/examples/bug-reports/bug025.fst.hints index 961d4f6d8f6..e7d3c192175 100644 --- a/examples/bug-reports/bug025.fst.hints +++ b/examples/bug-reports/bug025.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "b053f39e320067e14611f39c44015181" + "09172994a389191e6da29d755f6e8273" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug026.fst.hints b/examples/bug-reports/bug026.fst.hints index ce47ee18b27..759a1dae2d9 100644 --- a/examples/bug-reports/bug026.fst.hints +++ b/examples/bug-reports/bug026.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "04babeae596f359f4364cd5619f5012f" + "71318c22e29c0c71f990b9c2594355ec" ], [ "Bug026.filter", @@ -22,7 +22,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "1b1d7c0067e28d1291bd07c49594023d" + "5c3a063333826c0c8bef426d8c09d9c5" ], [ "Bug026.test_filter1", @@ -31,16 +31,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d55f152eee918ebb68acb1fcabe0cc59" + "d1e0f3157c546f37a9f4cd02791347a2" ], [ "Bug026.test_filter1", @@ -50,6 +48,8 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Bug026.filter.fuel_instrumented", "@query", + "Bug026_interpretation_Tm_arrow_67d1eb0e2b2b0432bd883bf79e9b388c", + "Bug026_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", @@ -57,19 +57,19 @@ "equation_Prims.nat", "equation_with_fuel_Bug026.filter.fuel_instrumented", "function_token_typing_Bug026.evenb", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_typing", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Bug026.evenb" ], 0, - "84d58538af5be9f30a76c1761730b218" + "754b649d064039d2498c96c43a6a1fd1" ], [ "Bug026.test_filter2", @@ -78,16 +78,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.pos", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "02757269fe656e6a64ad71da75395a38" + "2e582418cf9490b1b98353879a036422" ], [ "Bug026.test_filter2", @@ -97,6 +95,8 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Bug026.filter.fuel_instrumented", "@query", + "Bug026_interpretation_Tm_arrow_2182673ae72973e08487bb28028bfb5e", + "Bug026_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", @@ -104,19 +104,19 @@ "equation_Prims.pos", "equation_with_fuel_Bug026.filter.fuel_instrumented", "function_token_typing_Bug026.evenb2", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_typing", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Bug026.evenb2" ], 0, - "2c760f13c941246b3e744a79612a6273" + "087dbd9ea470a930423eb1f23c5a62b7" ], [ "Bug026.test_filter3", @@ -125,16 +125,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.pos", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8c13e7a2fef31ab0d0f60e0bdf715443" + "3293c61e46178f914779a55b6723ddf5" ], [ "Bug026.test_filter3", @@ -144,29 +142,28 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Bug026.filter.fuel_instrumented", "@query", - "Bug026_interpretation_Tm_arrow_986c77c9cb89c1362179f0f4e2753225", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "Bug026_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Bug026_interpretation_Tm_arrow_906181c9df7596b1593683fdd0757e15", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Bug026.evenb3", - "equation_Prims.pos", "equation_with_fuel_Bug026.filter.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Bug026.evenb3", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_typing", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Bug026.evenb3", "typing_Bug026.filter" ], 0, - "2aa4715eaafc5cb468f194b79bd50b53" + "5c784a91956000994242b7a135c2859f" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug026b.fst.hints b/examples/bug-reports/bug026b.fst.hints index 1fc7fc95535..afa77eaea4a 100644 --- a/examples/bug-reports/bug026b.fst.hints +++ b/examples/bug-reports/bug026b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "3159e0707231718552c9513147eff732" + "96ab9e7bccc2a149457ba54c37ee0217" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug043.fst.hints b/examples/bug-reports/bug043.fst.hints index c07121fcf08..67f63be5257 100644 --- a/examples/bug-reports/bug043.fst.hints +++ b/examples/bug-reports/bug043.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "b67c2b6f9354e4daa984595b247bc5fa" + "8520ffdddbdeda3157f2f5751ef82695" ], [ "Bug043.__proj__S__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_e9b75321b1c0b82fe3be1f811b1a5f79" ], 0, - "bd0aa2f2ab82595c39851cb98d1df7ea" + "b81d8786003f77d05ae1f98aff8fc19a" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug044.fst.hints b/examples/bug-reports/bug044.fst.hints index aa9ff62eb15..55518ce3466 100644 --- a/examples/bug-reports/bug044.fst.hints +++ b/examples/bug-reports/bug044.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "e981ce343823d40958e30ec839592a32" + "827456de64944e3cc247a2d53b2aef59" ], [ "Bug044.__proj__S__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_cb990c8c018df02302626151fc4bc03a" ], 0, - "d9055c15a527c4c863be43534eb3eed7" + "8031768ce77fa097ab36b8bacb18603a" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug052.fst.hints b/examples/bug-reports/bug052.fst.hints index 8256bca077b..986e663b862 100644 --- a/examples/bug-reports/bug052.fst.hints +++ b/examples/bug-reports/bug052.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "98310f02faceb6556e878a67f592c841" + "a19c71ea2f70569a39f4ec1b7779f8c0" ], [ "Bug052.use_fact_and_lemma", @@ -18,10 +18,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c435c60aea103dfac0cea6d38344947a" + "dcc2ad7eb20ec78624f7b1085af45fc8" ], [ "Bug052.test", @@ -34,7 +34,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f18d368198fd1c6860302f987ce8595a" + "42ebc28e155e0c461bb161d0354cdea4" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug058.fst.hints b/examples/bug-reports/bug058.fst.hints index c4f6b20a075..d4fdb29d6d3 100644 --- a/examples/bug-reports/bug058.fst.hints +++ b/examples/bug-reports/bug058.fst.hints @@ -14,12 +14,12 @@ "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "well-founded-ordering-on-nat" ], 0, - "ff33ce33883b9bdace3ffd42db0ef6d4" + "bf3b84c9828f321a725653b126fbc645" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug058b.fst.hints b/examples/bug-reports/bug058b.fst.hints index 4f220c82270..461d1aaf997 100644 --- a/examples/bug-reports/bug058b.fst.hints +++ b/examples/bug-reports/bug058b.fst.hints @@ -9,19 +9,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_71821a2f584f2098993258472fd38dba_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_114f48b002fd59ebf8176be67153fd26_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fc2f97f164eeb698aab88b6f2ac8f37a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_813097af1d2474b98745ce2ae8f97c8e", "well-founded-ordering-on-nat" ], 0, - "a192ab8831c5492eb5d07a035c0d42b5" + "1fa272fc190ad55b754f1db1e69ccde1" ], [ "Bug058b.fibonacci", @@ -35,7 +35,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "f96c7344f40663e41c293155b2e54a02" + "de87a419296a40dec96115c9c491474b" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug067.fst.hints b/examples/bug-reports/bug067.fst.hints index 61d49f53dd8..c4a2be64a7b 100644 --- a/examples/bug-reports/bug067.fst.hints +++ b/examples/bug-reports/bug067.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Bug067.good", "true_interp" ], 0, - "c37b74d99ba90b33be13c6484c512e3e" + "a3b490f01d520ac183646a500d4067d3" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug077.fst.hints b/examples/bug-reports/bug077.fst.hints index 5eb272a3229..acc34a16277 100644 --- a/examples/bug-reports/bug077.fst.hints +++ b/examples/bug-reports/bug077.fst.hints @@ -10,10 +10,10 @@ "@MaxIFuel_assumption", "@query", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_89761103e61acc2f14aca90db784842d" + "refinement_interpretation_Tm_refine_3f9be36a23ab849b41fe5bee0bcd749d" ], 0, - "76c541b8d5d86a8fb6af11623732dd82" + "46acb3b6ec787d7b13a4552c8bd640a6" ], [ "Bug077.ok4", @@ -28,10 +28,10 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_fc7177e494d31e0a45992cab1cc70b54" + "refinement_interpretation_Tm_refine_f368f6a92aa5bdefd9919da4e81bb950" ], 0, - "cc1d547ddf22893b439357ee3a28b3c8" + "48f49416a080f0eb02b10b30171f8661" ], [ "Bug077.ok5", @@ -40,7 +40,7 @@ 1, [ "@query" ], 0, - "9fa1deb380fdddf9227dadd451af1c7a" + "f31c9192c3805e383b794f5d2b78c218" ], [ "Bug077.ok5", @@ -57,10 +57,10 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_fc7177e494d31e0a45992cab1cc70b54" + "refinement_interpretation_Tm_refine_f368f6a92aa5bdefd9919da4e81bb950" ], 0, - "476a1b6831ad1b3cb3bba7dad98c2e88" + "03aba8ebb690a52a006a09ec2b0f495a" ], [ "Bug077.bug", @@ -75,10 +75,10 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_fc7177e494d31e0a45992cab1cc70b54" + "refinement_interpretation_Tm_refine_f368f6a92aa5bdefd9919da4e81bb950" ], 0, - "480aa2feea124fa37a55d9257e8cb478" + "a1e5141526eaecc616465a2f3f1ea888" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug102.fst.hints b/examples/bug-reports/bug102.fst.hints index cd2740d73a4..3d49c26eb4a 100644 --- a/examples/bug-reports/bug102.fst.hints +++ b/examples/bug-reports/bug102.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_Bug102.Hst_h" ], 0, - "bf5e21b4c7b38b45283e790979f9cde3" + "bb80b5dec90f973e4a0f547d1ba23f19" ], [ "Bug102.__proj__Hst__item__post", @@ -23,7 +23,7 @@ "projection_inverse_Bug102.Hst_h" ], 0, - "ca931c0674758b296c1738aafa82ff5f" + "5f68de80188a99a6fa8943c0de9969e7" ], [ "Bug102.__proj__Hst__item__e", @@ -41,7 +41,7 @@ "token_correspondence_Bug102.__proj__Hst__item__pre" ], 0, - "4265873a04d973b1113fa1d8414099ef" + "43a84b2b1869be6f82753d797f9c551b" ], [ "Bug102.__proj__Hst__item___5", @@ -59,7 +59,7 @@ "token_correspondence_Bug102.__proj__Hst__item__post" ], 0, - "e22dfc797ae456cb211d6433beb15cd4" + "13be24e4ce22b492a89c656882ab6705" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1055b.fst b/examples/bug-reports/bug1055b.fst deleted file mode 100644 index aca8faa8201..00000000000 --- a/examples/bug-reports/bug1055b.fst +++ /dev/null @@ -1,35 +0,0 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) -module Bug1055b - -open FStar.ST - -(* this is accepted *) -let write (#a:Type) (r:ref a) = r := 42 - -(* this fails without --lax *) -// let append_to1 (#a:Type) (xs:list a) = 2 :: xs - -(* this works again *) -let append_to2 (#a:Type) (xs:list a) = ignore(alloc 5); 2 :: xs - -(* again only lax typable, causes segfault if called *) -val main : unit -> St unit -let main() = let r = alloc "some string" in write r; ignore(!r ^ !r) - -(* again only lax typable, causes segfault if called *) -let foo (#a:Type) (x:a) : Tot (option a) = x -let bar = Some?.v (foo 1) diff --git a/examples/bug-reports/bug1076.fst.hints b/examples/bug-reports/bug1076.fst.hints index 8144fc954af..409b24a7d71 100644 --- a/examples/bug-reports/bug1076.fst.hints +++ b/examples/bug-reports/bug1076.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_5cdcca8bdc4b0558b575402415d68f74" ], 0, - "a5c6ab4c19377552a8469e40a7071827" + "31ec2b0849dea5d06f5c8f411362cb12" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1091.fst b/examples/bug-reports/bug1091.fst index b5d5adde135..e3cc828e8b4 100644 --- a/examples/bug-reports/bug1091.fst +++ b/examples/bug-reports/bug1091.fst @@ -94,10 +94,10 @@ let rec apr19_2017_mem #a x xs = [@ (expect_failure [19;19;19;19])] let apr19_2017_mem_sanity_fail #a x xs = - assert_by_tactic (apr19_2017_mem x xs <==> apr19_2017_mem x xs) idtac + assert (apr19_2017_mem x xs <==> apr19_2017_mem x xs) by idtac () let apr19_2017_mem_sanity (#a:eqtype) (x:a) xs = - assert_by_tactic (apr19_2017_mem x xs <==> apr19_2017_mem x xs) idtac + assert (apr19_2017_mem x xs <==> apr19_2017_mem x xs) by idtac () //////////////////////////////////////////////////////////////////////////////// //April 21, 2017 diff --git a/examples/bug-reports/bug1091.fst.hints b/examples/bug-reports/bug1091.fst.hints index 9fc55bfd8de..f6c980b7a15 100644 --- a/examples/bug-reports/bug1091.fst.hints +++ b/examples/bug-reports/bug1091.fst.hints @@ -1,5 +1,5 @@ [ - "ÆÕÓå¯)‚³†ûôJð\u001e-Œ", + "þ\u001fÆ¡f\u0002szúbš>ZoQ", [ [ "Bug1091.jun21_2017_t", @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt64.t__uu___haseq" ], 0, - "3e5738740a3e6fdd3911c41be4f60825" + "e3298348391b68acf9e10f6f968d2ccb" ], [ "Bug1091.jun21_2017_logand_fail", @@ -25,7 +25,7 @@ "uvar_typing_19" ], 0, - "c8e4f89247b0a975b52ef8c144b37ffa" + "80ab0dad58ed764c7b2b75fb86436207" ], [ "Bug1091.jun21_2017_logand", @@ -35,11 +35,20 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6a554a462b4eb1a31aa2111866731e31" + "f33f88c4a2454296824a56c816f46a80" + ], + [ + "Bug1091.jul25_2017_refUL", + 1, + 1, + 1, + [ "@query" ], + 0, + "9874260af2d10911108099a3c7a3095b" ], [ "Bug1091.apr19_2017_mem", @@ -48,13 +57,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f4efe16c021b08c522e402431310b6f9" + "88fee999a132f71ecc1db1080474711c" ], [ "Bug1091.apr19_2017_mem_sanity", @@ -66,7 +75,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9a1d61a8ed03315770cbd55da2809f5b" + "2e02a5aa7a83a822a5fc8af75c3364c1" ], [ "Bug1091.apr19_2017_mem_sanity", @@ -78,7 +87,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "922265a3ef2c3addd6c432051dd10e33" + "79aeb4fd8e07f88db330c94e4b63755a" ], [ "Bug1091.apr19_2017_mem_sanity", @@ -90,7 +99,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ad13bbd8fc6a5aa8d73899ebc0a1516d" + "75599401e9033f053780be3970e09713" ], [ "Bug1091.apr19_2017_mem_sanity", @@ -102,7 +111,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eb740b61e4abb091a4a3f4e53b18431d" + "8458d68fadbe53e00d8add2851da895c" ], [ "Bug1091.apr21_2017_ackermann", @@ -112,19 +121,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "79fc380645f974adc4eb1b7502f9f422" + "21eb9c6949e6a9fd8293a5e42f45eb10" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1150.fst.hints b/examples/bug-reports/bug1150.fst.hints index 65b7eb53388..65cf0e3acf7 100644 --- a/examples/bug-reports/bug1150.fst.hints +++ b/examples/bug-reports/bug1150.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e242e728690dbcf0122e1fd11d6172d9" + "97c013e4cf91935c9f4d4be73ca32d0e" ], [ "Bug1150.foo", @@ -27,7 +27,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c4c72254861f899b27e33df87ce0b73e" + "02f5d7dbbcc6968bde0fd298864f0bd9" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug116.fst.hints b/examples/bug-reports/bug116.fst.hints index 51316af5a8c..7fa5c3f9112 100644 --- a/examples/bug-reports/bug116.fst.hints +++ b/examples/bug-reports/bug116.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_Bug116.TyAbs_x" ], 0, - "d1c70fe184dc91af06b1f781c542cd59" + "c54af89a90b0d7d08f5c34f15c34c347" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug120.fst.hints b/examples/bug-reports/bug120.fst.hints index 7aa5632627a..274a7240299 100644 --- a/examples/bug-reports/bug120.fst.hints +++ b/examples/bug-reports/bug120.fst.hints @@ -10,11 +10,11 @@ "@MaxIFuel_assumption", "@query", "equation_Bug120.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0bd84411010a998f7091effaf52edfef" + "ceb08204d1d9e4f9112e70de20c714a7" ], [ "Bug120.__proj__EVar__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_3d608774a59a6a8de561bf79f54add50" ], 0, - "03bce9ebffb04ec7f185013d0711d93c" + "906d1191d6967b0b8d39136046aa0ea7" ], [ "Bug120.__proj__EAbs__item___0", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_b130c893a7c00b8fa4c55e9d2d914c50" ], 0, - "867e815d25c9b023cac8454af3f2d2fa" + "0dbd8d9a171725bb3c7f025218fefac1" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1206.fst.hints b/examples/bug-reports/bug1206.fst.hints index 26ff902e87d..2fce98b157e 100644 --- a/examples/bug-reports/bug1206.fst.hints +++ b/examples/bug-reports/bug1206.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b468c3b2591dc83f122e1ec72b957131" + "32b6b2e900acf90a6fd03e68c6b59eed" ], [ "Bug1206.ser_id", @@ -28,7 +28,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "670581c4553eaeff09c4aca33e193780" + "b920b2b39a8f3165d22bbbcc55233b8f" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug124.fst.hints b/examples/bug-reports/bug124.fst.hints index 412ef3af362..3f783051d3e 100644 --- a/examples/bug-reports/bug124.fst.hints +++ b/examples/bug-reports/bug124.fst.hints @@ -12,7 +12,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d6675df45b8b49bec66383b203204e3e" + "711e5ae6e7bca22ebb4ade5f066f79e7" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug125.fst.hints b/examples/bug-reports/bug125.fst.hints index a0cd975b736..3680bbc3fcf 100644 --- a/examples/bug-reports/bug125.fst.hints +++ b/examples/bug-reports/bug125.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0cfa6cd895ffab77a7149420b8db5499" + "a85cae101d45f15cb88b779580484bb2" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug126.fst.hints b/examples/bug-reports/bug126.fst.hints index 0799c78e4bd..5a6fa0fb17c 100644 --- a/examples/bug-reports/bug126.fst.hints +++ b/examples/bug-reports/bug126.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "cf55b68ac6e4893af2062a767ad4d0c4" + "6591dc4ad58002807580ff4bf7bc2622" ], [ "Bug126.__proj__TArr__item__arg", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_82996e2fd8e55cc06b19627ffe4234dc" ], 0, - "70406faa7a38577d91ad3a755f491023" + "d4b1bd97d96c8bb4d5026ae9e7f59fcc" ], [ "Bug126.__proj__TArr__item__res", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_82996e2fd8e55cc06b19627ffe4234dc" ], 0, - "e88e91548c1b4b24a24296f25fa38932" + "93893daa05e7a274eb2e71e486c68215" ], [ "Bug126.exp", @@ -46,11 +46,11 @@ "assumption_Bug126.typ__uu___haseq", "equation_Bug126.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "30f378ebb0e2023deae885f775ed4ad7" + "15066cb9571ffd63d33b9c3e73c3e79f" ], [ "Bug126.__proj__EVar__item__x", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_46117f0e2abf87e3f99ab2933dff06d7" ], 0, - "baf1471169daa306e899d76497bc7be4" + "ca4fb7b580469a6b4caa67b0e7af63ce" ], [ "Bug126.__proj__EApp__item__e1", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_6300b515f777a9f030ddad14cfe46268" ], 0, - "7d30176c0d11186c47fdda9e49c02edd" + "3fc3019f0f5173eabdbdfd972597040a" ], [ "Bug126.__proj__EApp__item__e2", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_6300b515f777a9f030ddad14cfe46268" ], 0, - "6f81162a8d59243124a8b022950ceafa" + "9b3801da028ad59c03c6bcea1fce1c56" ], [ "Bug126.__proj__ELam__item__t", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_8144cd34f51c347b0afc7992a2a47ee2" ], 0, - "3bada447abc7d09e7c39b928988aea42" + "8c9a0b0199f841d790581114421ad9ae" ], [ "Bug126.__proj__ELam__item__body", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_8144cd34f51c347b0afc7992a2a47ee2" ], 0, - "993d3ca2a3b6438044d9ec0a4a0127ea" + "4be5e89437d69c895b5d2a52e4fcba40" ], [ "Bug126.extend", @@ -126,10 +126,10 @@ "@MaxIFuel_assumption", "@query", "equation_Bug126.var", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "03bf4ae6d6e2e65021e48b0cb50f2e78" + "a685efe0885db94ec18d8864e28f538e" ], [ "Bug126.typing", @@ -137,12 +137,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Bug126.var", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_61d67275a15574eaf5de24d701c8e384" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_568849ef81103d54de1b5cc62340abd7" ], 0, - "433508860796824fcdf603cb826ac884" + "10668337d9c7e053305a22eb79e291e6" ], [ "Bug126.__proj__TyUn__item__g", @@ -155,7 +154,7 @@ "refinement_interpretation_Tm_refine_531db1cadfe529187eb7a92f8711a848" ], 0, - "c03e213ef7c1d83717abe75294e2725d" + "4cf00ea689c5a2ce37f84141aec0fe39" ], [ "Bug126.__proj__TyVar__item__g", @@ -168,7 +167,7 @@ "refinement_interpretation_Tm_refine_515f421c7bd17bbf027ecc6fbafb3f6c" ], 0, - "5277fba849cf3f9b7c62e38f14776c0f" + "43cdf883097a9b5d523ac59789b76bb5" ], [ "Bug126.__proj__TyVar__item__x", @@ -184,7 +183,7 @@ "token_correspondence_Bug126.__proj__TyVar__item__g" ], 0, - "ba7970f185982f1759e15ef117b5dccb" + "8f1c613cfd7be1ebe949faba75a480b1" ], [ "Bug126.__proj__TyLam__item__g", @@ -197,7 +196,7 @@ "refinement_interpretation_Tm_refine_13780dc621ffa127595a82e4cc50fd29" ], 0, - "32630da9aa331baa1fe0f8a095917c68" + "e72fa38d65c9e9b69e6a85f679047157" ], [ "Bug126.__proj__TyLam__item__t", @@ -210,7 +209,7 @@ "refinement_interpretation_Tm_refine_13780dc621ffa127595a82e4cc50fd29" ], 0, - "4b7b2ca7019a948fbbecb77a7f1d3278" + "4a581610ebd8f83df7bdb7ba07d0fb6b" ], [ "Bug126.__proj__TyLam__item__e1", @@ -223,7 +222,7 @@ "refinement_interpretation_Tm_refine_13780dc621ffa127595a82e4cc50fd29" ], 0, - "77f7ff124b38ee71c1fd5c4bdf3a6157" + "de549efad6eae7a5108decf3680f5634" ], [ "Bug126.__proj__TyLam__item__t'", @@ -236,7 +235,7 @@ "refinement_interpretation_Tm_refine_13780dc621ffa127595a82e4cc50fd29" ], 0, - "4a0b9e3704cf04889bec575abc47096e" + "9e48f2424b5163b43c91ecc7729cc501" ], [ "Bug126.__proj__TyLam__item___4", @@ -255,7 +254,7 @@ "refinement_interpretation_Tm_refine_13780dc621ffa127595a82e4cc50fd29" ], 0, - "8f93f16eb351dcdada1edefbbe24cf2f" + "e1b457819a706baf4bb5a653e50c24a6" ], [ "Bug126.__proj__TyApp__item__g", @@ -268,7 +267,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "e0dd952135b99f4efeed5029ea9abb46" + "e838673a6f9331f0ac4cd86ae9710b57" ], [ "Bug126.__proj__TyApp__item__e1", @@ -281,7 +280,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "c2c861cb3d4cec35fad5535745ce3545" + "6070386b3b02906cbf4a904bf88bee9f" ], [ "Bug126.__proj__TyApp__item__e2", @@ -294,7 +293,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "6d26510cacb03a3cb31e65c4f5b3ea9d" + "41a03549ed666ef0783d44da8141b0cb" ], [ "Bug126.__proj__TyApp__item__t11", @@ -307,7 +306,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "40eb7d5d14e9878ab60d5ea76d9c6847" + "26071597b0527edab56c8251db223c42" ], [ "Bug126.__proj__TyApp__item__t12", @@ -320,7 +319,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "a072f33dec001b095b4358e690857913" + "e23dc71e2ab9c155ffa46f71034d1180" ], [ "Bug126.__proj__TyApp__item___5", @@ -340,7 +339,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "377bf0763383eed5c60df019471ed661" + "3af8734b3e350a8521bb86fe48ed9818" ], [ "Bug126.__proj__TyApp__item___6", @@ -359,7 +358,7 @@ "refinement_interpretation_Tm_refine_75d94a3a8edd252239dbdf0c6137d707" ], 0, - "bb24adbc510f366d840b70d2191f4e64" + "7c0f063580667a44111cf56a61ddc096" ], [ "Bug126.invert_lam", @@ -382,14 +381,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_Bug126.ELam_body", "projection_inverse_Bug126.ELam_t", - "refinement_interpretation_Tm_refine_61d67275a15574eaf5de24d701c8e384", + "refinement_interpretation_Tm_refine_568849ef81103d54de1b5cc62340abd7", "refinement_interpretation_Tm_refine_75276c261e8e18103e248f49ccb1ecac", "refinement_interpretation_Tm_refine_82996e2fd8e55cc06b19627ffe4234dc", "token_correspondence_Bug126.emp", "typing_Bug126.uu___is_TArr", "typing_Bug126.value", "typing_tok_Bug126.TUnit@tok" ], 0, - "bf678ed9e47eaaa35827b5f362d915c6" + "792c68c9013303d72b34978c80ce67d4" ], [ "Bug126.invert_lam", @@ -416,7 +415,7 @@ "projection_inverse_Bug126.ELam_t", "projection_inverse_Bug126.TArr_arg", "projection_inverse_Bug126.TArr_res", - "refinement_interpretation_Tm_refine_61d67275a15574eaf5de24d701c8e384", + "refinement_interpretation_Tm_refine_568849ef81103d54de1b5cc62340abd7", "refinement_interpretation_Tm_refine_75276c261e8e18103e248f49ccb1ecac", "refinement_interpretation_Tm_refine_82996e2fd8e55cc06b19627ffe4234dc", "token_correspondence_Bug126.emp", "typing_Bug126.uu___is_ELam", @@ -424,7 +423,7 @@ "typing_tok_Bug126.TUnit@tok" ], 0, - "e7db672e0fb19b3cb37f89e9955b250c" + "a4c4157e4b8a2bf897dd6154b8bc8428" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1271.fst b/examples/bug-reports/bug1271.fst index 4273970146b..6a33f84741b 100644 --- a/examples/bug-reports/bug1271.fst +++ b/examples/bug-reports/bug1271.fst @@ -18,12 +18,12 @@ module Bug1271 open FStar.Tactics let test = - assert_by_tactic (True ==> True) - (fun () -> let b = implies_intro () in - let qb = quote b in - let qf = quote (fun (b: binder) () -> print "f") in // f: tactic unit - let q_fofb = mk_app qf [(qb, Q_Explicit)] in - print ("::: " ^ term_to_string q_fofb); - let tac = unquote #(unit -> Tac unit) q_fofb in - tac (); - trivial ()) + assert (True ==> True) + by (let b = implies_intro () in + let qb = quote b in + let qf = quote (fun (b: binder) () -> print "f") in // f: tactic unit + let q_fofb = mk_app qf [(qb, Q_Explicit)] in + print ("::: " ^ term_to_string q_fofb); + let tac = unquote #(unit -> Tac unit) q_fofb in + tac (); + trivial ()) diff --git a/examples/bug-reports/bug1271.fst.hints b/examples/bug-reports/bug1271.fst.hints index da550e9c70b..ed051f41ebe 100644 --- a/examples/bug-reports/bug1271.fst.hints +++ b/examples/bug-reports/bug1271.fst.hints @@ -1 +1 @@ -[ "Äå):z»Iµ§b\u0003ubà:K", [] ] \ No newline at end of file +[ "ØAÌ4e\u007f.e\u0005îýÝítð", [] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1287.fst b/examples/bug-reports/bug1287.fst index 425c0adda23..117488d18e7 100644 --- a/examples/bug-reports/bug1287.fst +++ b/examples/bug-reports/bug1287.fst @@ -547,8 +547,8 @@ let gpm #b #a (abspat : a) : unit -> Tac b = open FStar.Tactics // needed again because we overrode return and bind let example #a #b #c: unit = - assert_by_tactic (a /\ b ==> c == b ==> c) - (fun () -> repeat' + assert (a /\ b ==> c == b ==> c) + by (repeat' (fun () -> gpm #unit (fun (a: Type) (h: hyp (squash a)) -> clear h <: Tac unit) `or_else` (fun () -> gpm #unit (fun (a b: Type0) (g: goal (squash (a ==> b))) -> diff --git a/examples/bug-reports/bug1291.fst b/examples/bug-reports/bug1291.fst index e776630cef8..c43bea89e17 100644 --- a/examples/bug-reports/bug1291.fst +++ b/examples/bug-reports/bug1291.fst @@ -547,8 +547,8 @@ let gpm #b #a (abspat : a) : unit -> Tac b = open FStar.Tactics // needed again because we overrode return and bind let example #a #b #c: unit = - assert_by_tactic (a /\ b ==> c == b ==> c) - (fun () -> repeat' #unit + assert (a /\ b ==> c == b ==> c) + by (repeat' #unit (fun () -> idtac (); gpm #unit (fun (a: Type) (h: hyp (squash a)) -> clear h <: Tac unit) `or_else` diff --git a/examples/bug-reports/bug1305.fst b/examples/bug-reports/bug1305.fst index 4b38513e451..55cb5aad682 100644 --- a/examples/bug-reports/bug1305.fst +++ b/examples/bug-reports/bug1305.fst @@ -18,8 +18,7 @@ module Bug1305 open FStar.Tactics let _ = - assert_by_tactic True - (fun () -> - admit (); - let x = quote 1 in - ()) + assert True + by (admit (); + let x = quote 1 in + ()) diff --git a/examples/bug-reports/bug1305.fst.hints b/examples/bug-reports/bug1305.fst.hints index b1d55d3e2d1..25349c33896 100644 --- a/examples/bug-reports/bug1305.fst.hints +++ b/examples/bug-reports/bug1305.fst.hints @@ -1 +1 @@ -[ "}ÓÐÄß1ÿÕrÀø€F …", [] ] \ No newline at end of file +[ "4íCÖyxr\u0001«\n®\u0007Ä;5", [] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1319b.fst.hints b/examples/bug-reports/bug1319b.fst.hints index ca64ce9f35a..e869cc2c7af 100644 --- a/examples/bug-reports/bug1319b.fst.hints +++ b/examples/bug-reports/bug1319b.fst.hints @@ -12,7 +12,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "c7e98ce0f3bdfafccc2ac641f60424b6" + "76fceb129b0a3224bba452d097d92e56" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1341.fst.hints b/examples/bug-reports/bug1341.fst.hints index 17a015adf47..d444fcdff51 100644 --- a/examples/bug-reports/bug1341.fst.hints +++ b/examples/bug-reports/bug1341.fst.hints @@ -7,15 +7,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5d3580ad76e0af16eda9d2b733452159" + "0bea299db470f5731b5e8107aaaadaf7" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1345b.fst.hints b/examples/bug-reports/bug1345b.fst.hints index 37069f45008..70e367caa86 100755 --- a/examples/bug-reports/bug1345b.fst.hints +++ b/examples/bug-reports/bug1345b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "1313ccb0a1f7b92dbf14a173e918495d" + "bf8fca95fa5d8511672d39cf4fd7cbb2" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1346.fst b/examples/bug-reports/bug1346.fst index 8376bf29737..3bcdf395333 100644 --- a/examples/bug-reports/bug1346.fst +++ b/examples/bug-reports/bug1346.fst @@ -28,24 +28,22 @@ let my_cut (t:term) : Tac unit = assume val aug : (unit -> Type0) -> Type0 let test (p:(unit -> Type0)) (q:(unit -> Type0)) - = assert_by_tactic - (p == q ==> + = assert (p == q ==> aug p ==> aug q) - (fun () -> - let eq = implies_intro () in - let h = implies_intro () in - dump "A" ; - my_cut (type_of_binder h); - dump "B" ; - rewrite eq; - norm [] ; - dump "C" ; - let hh = intro () in - apply (quote FStar.Squash.return_squash) ; - dump "D" ; - exact (pack (Tv_Var (bv_of_binder hh))) ; //USED TO FAIL - exact (pack (Tv_Var (bv_of_binder h)))) + by (let eq = implies_intro () in + let h = implies_intro () in + dump "A" ; + my_cut (type_of_binder h); + dump "B" ; + rewrite eq; + norm [] ; + dump "C" ; + let hh = intro () in + apply (quote FStar.Squash.return_squash) ; + dump "D" ; + exact (pack (Tv_Var (bv_of_binder hh))) ; //USED TO FAIL + exact (pack (Tv_Var (bv_of_binder h)))) let t1 () : Tac unit = let x = forall_intro () in @@ -61,15 +59,11 @@ let t1 () : Tac unit = dump "End" let foo1 () = - assert_by_tactic - ( - (forall (x:int). p1 2 ==> (forall (y:int). y == 1 ==> p1 2)) // SUCCEEDS - ) t1; + assert (forall (x:int). p1 2 ==> (forall (y:int). y == 1 ==> p1 2)) // SUCCEEDS + by t1 (); () let foo2 () = - assert_by_tactic - ( - (forall (x:int). p1 x ==> (forall (y:int). y == 1 ==> p1 x)) // USED TO FAIL - ) t1; + assert (forall (x:int). p1 x ==> (forall (y:int). y == 1 ==> p1 x)) // USED TO FAIL + by t1 (); () diff --git a/examples/bug-reports/bug1346.fst.hints b/examples/bug-reports/bug1346.fst.hints index 8c5a4b837ac..d0fe3222488 100644 --- a/examples/bug-reports/bug1346.fst.hints +++ b/examples/bug-reports/bug1346.fst.hints @@ -1 +1 @@ -[ "\u0014î!\u0005”ÚQVÇ¥Rk@\u0010÷–", [] ] \ No newline at end of file +[ "ɦ °µ\u000fÉPR]ê\\»E¸", [] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1347b.fst b/examples/bug-reports/bug1347b.fst index 25ff7519947..7e9defd2f3b 100644 --- a/examples/bug-reports/bug1347b.fst +++ b/examples/bug-reports/bug1347b.fst @@ -18,9 +18,8 @@ module Bug1347B open FStar.Tactics let test (x : int) = - assert_by_tactic True - (fun () -> - let e = quote (match x with | 0 -> 1 | _ -> 0) in + assert True + by (let e = quote (match x with | 0 -> 1 | _ -> 0) in if unify e e then print ("u = " ^ term_to_string e) else fail "Did not unify") diff --git a/examples/bug-reports/bug1347b.fst.hints b/examples/bug-reports/bug1347b.fst.hints index 0377d5be0d5..6e7e762a301 100644 --- a/examples/bug-reports/bug1347b.fst.hints +++ b/examples/bug-reports/bug1347b.fst.hints @@ -1 +1 @@ -[ "¥çH»-a5”±\u001b\u0007ô\u007f¬O", [] ] \ No newline at end of file +[ "5õb&È_Ú°/j:Ÿ©='", [] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1348.fst.hints b/examples/bug-reports/bug1348.fst.hints index 3970b4f200c..700fa8272a8 100644 --- a/examples/bug-reports/bug1348.fst.hints +++ b/examples/bug-reports/bug1348.fst.hints @@ -7,11 +7,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_c8ba02707d8c63d954d4926382cbe58f" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_f61fce7e0b3fe83f13ff478507830561" ], 0, - "15d67d767ce6a5f0df8ff80cd651c463" + "7ec5d96cb0f4c9373fa712800d11ceeb" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1361.fst.hints b/examples/bug-reports/bug1361.fst.hints index 1bc0686596b..4f64716516c 100644 --- a/examples/bug-reports/bug1361.fst.hints +++ b/examples/bug-reports/bug1361.fst.hints @@ -8,12 +8,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "de5f696ba3b4ab7974bf47a5f1078676" + "8f0b98d52ad86d519d776af5de904933" ], [ "Bug1361.f2", @@ -25,7 +25,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "c473815323e768ea55c02d9f7b747863" + "45ef1ececa620e9ae4b238311e384262" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1362.fst.hints b/examples/bug-reports/bug1362.fst.hints index 9a9aa2388e5..cf53894f1e4 100644 --- a/examples/bug-reports/bug1362.fst.hints +++ b/examples/bug-reports/bug1362.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2af3b5a68be8d436471b83d6e5a13d16" + "c4c6b1c1e21508e22b8a03ead3bb7a9d" ], [ "Bug1362.f1", @@ -26,11 +26,11 @@ "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "b8b98c2520de9a1131da2ef562dcccfe" + "f567e54b0cd5c18a9ee723785468aa10" ], [ "Bug1362.f2", @@ -39,16 +39,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "Bug1362_interpretation_Tm_arrow_b71b847c8a1dce9fbabbfc40fd470d89", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "866c2afc42cafb8ab5d437df645d3a15" + "81d36bb9eaf3e4e45b5405ec67f30fdf" ], [ "Bug1362.f3", @@ -57,7 +54,7 @@ 1, [ "@query" ], 0, - "d09e4f7618c94b696e525a2d183563d2" + "6b969d1be2b57352f0a064c1eae58cb4" ], [ "Bug1362.f4", @@ -72,7 +69,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "f7a8681374c9b250966155e4c38644e4" + "248c88ed691698a40a3f79e828b987e5" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1370a.fst.hints b/examples/bug-reports/bug1370a.fst.hints index f08390d66cc..5ddb7ce5b27 100644 --- a/examples/bug-reports/bug1370a.fst.hints +++ b/examples/bug-reports/bug1370a.fst.hints @@ -20,7 +20,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "472776529067ce870bbf5f9336dc88e8" + "c0acf5eef162c19d01a4f79a39023c0e" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug138.fst.hints b/examples/bug-reports/bug138.fst.hints index 023bf632149..36210a461b6 100644 --- a/examples/bug-reports/bug138.fst.hints +++ b/examples/bug-reports/bug138.fst.hints @@ -8,13 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", "subterm_ordering_Prims.Cons" ], 0, - "607a21a7587d58fe8ac9166101d73646" + "0b492149cb112ead6b780a5353f8b158" ], [ "Bug138.foo", @@ -27,7 +29,7 @@ "well-founded-ordering-on-nat" ], 0, - "22915292722fa2360c03876448313657" + "468b2e2c7cec8c5f7e28d305f11e2526" ], [ "Bug138.arg_precede", @@ -39,7 +41,7 @@ "disc_equation_Bug138.Foo", "fuel_guarded_inversion_Bug138.arg" ], 0, - "7e6a382db51684743db20392641b53c8" + "3c87af2fc8724e90b6ad907a79d04e86" ], [ "Bug138.foo_bar", @@ -48,20 +50,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_1", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_66b03f5c7897b05649fed8196554c587_1", "binder_x_b36ed00db7cc6c7168379d56a35933e2_0", - "constructor_distinct_Bug138.Bar", "constructor_distinct_Bug138.Foo", - "disc_equation_Bug138.Bar", "disc_equation_Bug138.Foo", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Bug138.Bar@tok", "equality_tok_Bug138.Foo@tok", + "constructor_distinct_Bug138.Foo", "disc_equation_Bug138.Bar", + "disc_equation_Bug138.Foo", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equality_tok_Bug138.Foo@tok", "equality_tok_Prims.LexTop@tok", "equation_Bug138.arg_precede", - "fuel_guarded_inversion_Bug138.arg", - "fuel_guarded_inversion_Prims.list", "int_typing", - "projection_inverse_BoxInt_proj_0", "subterm_ordering_Prims.Cons", + "equation_Prims.nat", "fuel_guarded_inversion_Bug138.arg", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", "int_typing", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", "typing_Bug138.arg_precede", "well-founded-ordering-on-nat" ], 0, - "791ac2a153f21043981fa83a32d8d44a" + "5b38ceedd18a0922315cbee4de0305db" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1390.fst b/examples/bug-reports/bug1390.fst index 220192e67ac..b50a43d669b 100644 --- a/examples/bug-reports/bug1390.fst +++ b/examples/bug-reports/bug1390.fst @@ -22,4 +22,4 @@ let g : #a:Type -> #b:Type -> (a -> Tac b) -> a -> Tac b = fun #a #b f x -> f x let tau () = let x = g f 2 in () -let _ = assert_by_tactic True tau +let _ = assert True by tau () diff --git a/examples/bug-reports/bug1392.fst b/examples/bug-reports/bug1392.fst index bcd677de8ce..9dcf40df207 100644 --- a/examples/bug-reports/bug1392.fst +++ b/examples/bug-reports/bug1392.fst @@ -21,9 +21,9 @@ let unsquash #a : a -> squash a = fun _ -> () let broken (a: Type0) = - assert_by_tactic a (fun () -> - apply (`unsquash); //(unsquash #a)); - let g = cur_goal () in - let aa = unquote #Type0 g in - let xx : aa = admit #aa () in - exact (quote xx)) + assert a + by (apply (`unsquash); //(unsquash #a)); + let g = cur_goal () in + let aa = unquote #Type0 g in + let xx : aa = admit #aa () in + exact (quote xx)) diff --git a/examples/bug-reports/bug1414.fst b/examples/bug-reports/bug1414.fst index 6364222fded..8348bfbe0d1 100644 --- a/examples/bug-reports/bug1414.fst +++ b/examples/bug-reports/bug1414.fst @@ -22,12 +22,12 @@ let constant (t:term) : Tac unit = exact (norm_term [primops; delta; iota; zeta] let f (x:option int) : int = if Some? x then Some?.v x else 0 let c1 : int = (synth (fun()-> constant (`( f (Some 42) )))) // c1 = 42 -let _ = assert_by_tactic (c1 == 42) trefl +let _ = assert (c1 == 42) by trefl () let f' (x:list int) : int = if Cons? x then Cons?.hd x else 0 let c1' : int = (synth (fun()-> constant (`( f' (Cons 42 Nil) )))) // c1' = if Cons? [42] then Cons?.hd [42] else 0 -- old result -let _ = assert_by_tactic (c1' == 42) trefl // this used to fail +let _ = assert (c1' == 42) by trefl () // this used to fail type list (a:Type) = | Nil : list a @@ -36,4 +36,4 @@ type list (a:Type) = let f'' (x:list int) : int = if Cons? x then Cons?.hd x else 0 let c1'' : int = (synth (fun()-> constant (`( f'' (Cons 42 Nil) )))) // c1'' = 42 -let _ = assert_by_tactic (c1'' == 42) trefl +let _ = assert (c1'' == 42) by trefl () diff --git a/examples/bug-reports/bug1414.fst.hints b/examples/bug-reports/bug1414.fst.hints index ec08dab873d..59aec9214dc 100755 --- a/examples/bug-reports/bug1414.fst.hints +++ b/examples/bug-reports/bug1414.fst.hints @@ -1,5 +1,5 @@ [ - "äâyöás:—}ÍPP¥\u000eW", + "Â,%D¦ëÐþCo¯Óc6]", [ [ "Bug1414.f", @@ -8,7 +8,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "90fbb482c743696558455ec04f4c5b2d" + "7e0e59ba5bc9fea1d909aa1cc0145e2d" ], [ "Bug1414.f'", @@ -17,7 +17,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "326161f2f88f5eb1694b184cd6e6f74c" + "c1ee8dca832ed5ec3b39a797957c10d9" ], [ "Bug1414.list", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "6ce263a84e65ce8627b72f08fc603e0a" + "980b604d1f28c54c61c061b155af25f1" ], [ "Bug1414.__proj__Cons__item__hd", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_1dc6a56c5c49f7722088b41ebcd5d2a7" ], 0, - "adb6c88ec2bb14c40ad0ced37fe12ba3" + "ca4b662b32aeb3e8003c807f1d57b407" ], [ "Bug1414.__proj__Cons__item__tl", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_1dc6a56c5c49f7722088b41ebcd5d2a7" ], 0, - "d4bd235a1ba49f7b1756920f4eb0ee1c" + "9fad4f1521262a278056caf54726d432" ], [ "Bug1414.f''", @@ -61,7 +61,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "9a4cb2f3479c0ec7b43718593923a6ff" + "7e898f5c70bb13f3146c97029488680e" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1443d.fst.hints b/examples/bug-reports/bug1443d.fst.hints index 9ccb07877fa..5bcae310d1c 100644 --- a/examples/bug-reports/bug1443d.fst.hints +++ b/examples/bug-reports/bug1443d.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_Bug1443d.Mkins__int_typ" ], 0, - "747951c87e72b4f15afdb3121e5415f4" + "5a31f7f00c6df2cad9eb3e6cabf46a89" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1470.fst.hints b/examples/bug-reports/bug1470.fst.hints index 7c272fc5912..5ea6ed95799 100644 --- a/examples/bug-reports/bug1470.fst.hints +++ b/examples/bug-reports/bug1470.fst.hints @@ -7,16 +7,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Prims.nat", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5bd2d488b99ac4d332596abb127d54af" + "611cc87c8d9c6e51214ba218605b537a" ], [ "Bug1470.length1", @@ -26,10 +24,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5024e753467e58c12a8686dd9fe9c9ba" + "f573016619b8baf5f8fba1723f1a9403" ], [ "Bug1470.test", @@ -38,10 +36,10 @@ 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ee2d5e5896e769f1b1e66312de03e81f" + "refinement_interpretation_Tm_refine_f3a309fd18fb30c242602784337aa7c8" ], 0, - "5c7a9b2545b3b402eb016bed392d5394" + "54fd239d3778565c8a13c1687859e2d7" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1481.fst.hints b/examples/bug-reports/bug1481.fst.hints index da323681dab..ca9ef6270a8 100644 --- a/examples/bug-reports/bug1481.fst.hints +++ b/examples/bug-reports/bug1481.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c8a29050cc7002fa0235a84f8da90eee" + "e1caa6a48c58dcf2afe9ca42cd23bba5" ], [ "Bug1481.uu___3", @@ -23,7 +23,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "81bab297bb32cc84c7883c8b6848c5bb" + "34e9d5b6c73cc1bc6f745d26f4eabee7" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug152.fst.hints b/examples/bug-reports/bug152.fst.hints index 574b47a4905..4567cbbf375 100644 --- a/examples/bug-reports/bug152.fst.hints +++ b/examples/bug-reports/bug152.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "38d101c3b86c2fcc5bf09d5c0f550de9" + "2ab70bb8453fc41f9e42b51ea65572b4" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1521.fst.hints b/examples/bug-reports/bug1521.fst.hints index 35ac44958af..91584c34a9f 100644 --- a/examples/bug-reports/bug1521.fst.hints +++ b/examples/bug-reports/bug1521.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "6141f2b5cc6a8e958bae2ba96ed17409" + "facb571f72fea2b530c09a9819eabacd" ], [ "Bug1521.__proj__L__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_2ee8b37671e156e8fc8e545cda428828" ], 0, - "19e80317664d2360e1b91e83ae54b04c" + "e902461a92da79e6d30d902435a2daed" ], [ "Bug1521.prefix_trans", @@ -30,7 +30,7 @@ 1, [ "@query", "equation_Bug1521.prefix" ], 0, - "c747cc921e8db97fa08679551f353214" + "986a413dd2177bd3056f22e184a1c166" ], [ "Bug1521.rtest0", @@ -41,10 +41,10 @@ "@MaxIFuel_assumption", "@query", "equation_Bug1521.heap_rel", "equation_Bug1521.prefix", "fuel_guarded_inversion_Bug1521.heap", "proj_equation_Bug1521.Mkheap_pos", - "refinement_interpretation_Tm_refine_b06658af9252b52dd0971abd33e68c35" + "refinement_interpretation_Tm_refine_82a3291aab6fa34e6b2f50c9328babba" ], 0, - "6a2fdc580c75fb0828d321071be84a2d" + "1aca5941bcd192babf1d2a8cd62d760a" ], [ "Bug1521.rtest1", @@ -54,10 +54,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Bug1521.heap_rel", "equation_Bug1521.prefix", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f14b87f964167ae1eb01b946c14cdb55" + "8ef0833233cd0599b6cf1c867ed0bc58" ], [ "Bug1521.rtest2", @@ -66,7 +66,7 @@ 1, [ "@query", "equation_Bug1521.heap_rel", "equation_Bug1521.prefix" ], 0, - "b48f67a5308f48fca22c9e129982b173" + "a5012036c6cf6eb42cf866c8b9234403" ], [ "Bug1521.rtest2'", @@ -75,7 +75,7 @@ 1, [ "@query", "equation_Bug1521.heap_rel", "equation_Bug1521.prefix" ], 0, - "6c06ed19d57035148b9ac33fb7da25b4" + "3c7764e3eca7fc5b5d9cdcea56d710cf" ], [ "Bug1521.rtest2''", @@ -84,7 +84,7 @@ 1, [ "@query", "equation_Bug1521.heap_rel", "equation_Bug1521.prefix" ], 0, - "7a5ada90a18c89437272a1d6f7a96f5b" + "bd97c887b1b7e1785f576a6447008cc0" ], [ "Bug1521.ptest1", @@ -94,10 +94,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Bug1521.prefix", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3bb9eaa55d076277667c952b7b30bcf0" + "b5ab6484fd0c8e9c94494cc0f03b78fc" ], [ "Bug1521.ptest2", @@ -106,7 +106,7 @@ 1, [ "@query", "equation_Bug1521.prefix" ], 0, - "416148220b972a1f543d7784716372c5" + "c062dcfe10ad77b4362cee9017909edc" ], [ "Bug1521.sklem0", @@ -115,10 +115,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d16de86ec5446f55c1622708945a0449" + "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" ], 0, - "5b341a6782ff69e3b2fd0a9435f42662" + "02787879f4cf9921a753fd263ce45851" ], [ "Bug1521.sklem1", @@ -127,10 +127,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d16de86ec5446f55c1622708945a0449" + "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" ], 0, - "28693104de9a105c204dbe7e8b4221e0" + "664e6b3b6d49fab0e1cf520f62884a46" ], [ "Bug1521.sklem2", @@ -139,10 +139,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d16de86ec5446f55c1622708945a0449" + "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" ], 0, - "e8980834d7a669fab01872722904f8ff" + "112a3817e024afece7db1f02848fc090" ], [ "Bug1521.sklem3'", @@ -152,11 +152,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Bug1521.id", "equation_Prims.l_Exists", "equation_Prims.squash", - "l_quant_interp_7454e543f8dbacf33710757786072661", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "l_quant_interp_02b8519de1ca61f7a1af39e630f44fe5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bf200d244801b9de74a042d0ddf84a33" + "7c65bc6d6e40ecd96cc3f76ac819c2ec" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1534.fst.hints b/examples/bug-reports/bug1534.fst.hints index df9c3da218a..5a633b96151 100644 --- a/examples/bug-reports/bug1534.fst.hints +++ b/examples/bug-reports/bug1534.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "bb42dca17369dbdc204b29768419c7e7" + "2b9db79342c7f029ef0f4ca1c781ab12" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1535a.fst.hints b/examples/bug-reports/bug1535a.fst.hints index c9058ad664c..31665d43e8b 100644 --- a/examples/bug-reports/bug1535a.fst.hints +++ b/examples/bug-reports/bug1535a.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_Bug1535a.E1", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5f42f53db64cc33e5c138ebecea24916" + "refinement_interpretation_Tm_refine_6300131b7f399df41d2aeb53052a61af" ], 0, - "4e0a2e5494ffc13d6b3d8aa87e016a18" + "632ba28cfa6ba621b5f7bcb01d31502d" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1535b.fst.hints b/examples/bug-reports/bug1535b.fst.hints index 0e501bba2df..36a51cb468d 100644 --- a/examples/bug-reports/bug1535b.fst.hints +++ b/examples/bug-reports/bug1535b.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_Bug1535b.G0", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5490163dcc20b59eece3a3cb5fde2ddf" + "refinement_interpretation_Tm_refine_5d03a5f7d4a91ef05e1e1d45c49f8f3a" ], 0, - "8280710ac14da6798b235063eb9e68bf" + "7f00beb0da5bc57a736f5344de580c37" ], [ "Bug1535b.__proj__G1__item__uu___", @@ -22,10 +22,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_Bug1535b.G1", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0e544009a6977444a0a5b71b19a94454" + "refinement_interpretation_Tm_refine_a79cd0cdc17b4764d7d9d47882e08378" ], 0, - "7e5b63efdebec32f4bc64d89efe7ac51" + "dfa404c8c22fe6e6fba7e4a86ed2d1cf" ], [ "Bug1535b.__proj__G2__item__uu___", @@ -35,10 +35,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_Bug1535b.G2", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_efed3dc492c71bf16b1a349b091dfe3e" + "refinement_interpretation_Tm_refine_6f8e845b7fa59ccb0699413ff51bf3d7" ], 0, - "71a03e5263ef352dce5c7dfa5aa94221" + "a567f7cd4ad4b1604ccb261641a82386" ], [ "Bug1535b.__proj__G3__item__uu___", @@ -48,10 +48,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_Bug1535b.G3", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_db9134a200c9dc0ea59a9397653002dd" + "refinement_interpretation_Tm_refine_dcd92d6be240c4cc54f6181a032a4f25" ], 0, - "ed2eb36d6b6c2db0fa40c43f8b8350c3" + "215bbd831ff2cc89c2fc4f43ffeed767" ], [ "Bug1535b.__proj__G4__item__uu___", @@ -61,10 +61,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_Bug1535b.G4", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1390932e4576fe0cad88c7523895958b" + "refinement_interpretation_Tm_refine_0f08af52cc3770bb2411d340d2a48148" ], 0, - "5dfbe3379cc3433ce6513605abcb5008" + "78ade8c1a8c0bff6b07366189904ac8f" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug1540.fst b/examples/bug-reports/bug1540.fst index 5b0d8c17268..d5612bdd894 100644 --- a/examples/bug-reports/bug1540.fst +++ b/examples/bug-reports/bug1540.fst @@ -1,18 +1,3 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) module Bug1540 class deq a = { @@ -23,16 +8,8 @@ instance eq_string : deq string = magic () instance eq_list (_ : deq 'a) : deq (list 'a) = magic () -let f1 #a #d = eq #a #d - -let id1 (#x:int) = x -let id2 (#[()]x:int) = x - -#set-options "--debug Bug1540 --debug_level High --print_implicits" -let t1 = id1 - -let t2 = id2 - +[@(expect_failure [228])] +let b1 = eq // Bug.f1 : // _: @@ -46,4 +23,17 @@ let t2 = id2 instance eq_pair (_ : deq 'a) (_ : deq 'b) : deq ('a * 'b) = Mkdeq (fun (a,b) (c,d) -> eq a c && eq b d) +[@(expect_failure [228])] +let b2 = eq + +val f2 : string -> string -> bool let f2 = eq + +val f3 : list string -> list string -> bool +let f3 = eq + +val f4 : list (list string) -> list (list string) -> bool +let f4 = eq + +val f5 : list (list (list string)) -> list (list (list string)) -> bool +let f5 = eq diff --git a/examples/bug-reports/bug1540.fst.hints b/examples/bug-reports/bug1540.fst.hints new file mode 100644 index 00000000000..58e7116c985 --- /dev/null +++ b/examples/bug-reports/bug1540.fst.hints @@ -0,0 +1 @@ +[ "H²²\u0017\u0002\u001eíµvD¶…¦ƒ* ", [] ] \ No newline at end of file diff --git a/examples/bug-reports/bug155.fst.hints b/examples/bug-reports/bug155.fst.hints index aa36bd6bc0c..64374c502ee 100644 --- a/examples/bug-reports/bug155.fst.hints +++ b/examples/bug-reports/bug155.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "95b5918df827807174bae486496f645c" + "05a94d961c86d44e9322ab32400807cf" ], [ "Bug155.test2'", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "f261bc8fb646c15647479df3372308e6" + "fb8c94073266d5e128643d59f5a46a0a" ], [ "Bug155.test2", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "49d729438db6f3d49721349f30e47d3c" + "76585685cc6ad6676420f1a7196458cd" ], [ "Bug155.test3", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "f7552118d8d36425b2dfa6b55b508eb2" + "fd831e1be2216f073a60c852900169de" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug161.fst.hints b/examples/bug-reports/bug161.fst.hints index 37dd9d32ab2..becec7a9174 100644 --- a/examples/bug-reports/bug161.fst.hints +++ b/examples/bug-reports/bug161.fst.hints @@ -19,7 +19,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "d90ec1cd8f1488c399e35b8fe5f5c915" + "96fb77634eb7707fb56a1a45ccf596d4" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug162.fst.hints b/examples/bug-reports/bug162.fst.hints index 2f2aa2408f3..0e57c300e8f 100644 --- a/examples/bug-reports/bug162.fst.hints +++ b/examples/bug-reports/bug162.fst.hints @@ -8,20 +8,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2b892cc6bea088b39e085bfd2ab7e9c0_0", - "equation_Bug162.good", "equation_Bug162.heap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_210116b3264dc4df8250cfaa73453c91", + "binder_x_65b174b249a700ce28c04f3b50fefb87_0", + "equation_Bug162.good", "equation_Prims.nat", "int_inversion", + "int_typing", + "interpretation_Tm_abs_3dccb3b317e963ed790a5ac81ae0fe4c", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6490d5503944c83ad35f19c7bf5424bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8aa9e6cae545c0e84b17a5689bf4bf5b", "well-founded-ordering-on-nat" ], 0, - "9eeca08f27ffcd051a38b7aa12b33af9" + "2578110b04f9c0e22c6a520bb4a1452b" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug173.fst.hints b/examples/bug-reports/bug173.fst.hints index 3314c243309..c70f276f917 100644 --- a/examples/bug-reports/bug173.fst.hints +++ b/examples/bug-reports/bug173.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_15101821f4e3b649d6d583630eae3454" ], 0, - "ab402d98eb42759a534fabadc7a263a3" + "0835e734ad05443229d25e57529ec5c8" ], [ "Bug173.__proj__VInt__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_0a5340044d37e34c504d848f3062fc70" ], 0, - "fac2c32e3faf727781bc178eff4cb662" + "004e0378523d32dc9d386c2e8792b435" ], [ "Bug173.exp", @@ -38,11 +38,11 @@ "assumption_Bug173.value__uu___haseq", "equation_Bug173.id", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7d5115f46524acb5beb83699be14b9ce" + "1ac5cebc765a01c4af9283fef2889978" ], [ "Bug173.__proj__Val__item___0", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_c7c6061497ba4f63f3d3d4352db94b44" ], 0, - "d995160b5133362b384a36769715aa72" + "a9dd9344490a97519142f78b749e2952" ], [ "Bug173.__proj__Var__item___0", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_f89ab40a82145488094878508741162b" ], 0, - "c595ef04b91edbb941d06ec917f02b88" + "93f7dc5908ff2a39cbe7b424c67833f4" ], [ "Bug173.__proj__If__item__condition", @@ -81,7 +81,7 @@ "refinement_interpretation_Tm_refine_2fbe2ceb4e1707b05600a8a640950ac1" ], 0, - "bfbf03860a641e1b76c9446ceb0b3cee" + "916ae30a23f3a31d5b8e1ba677c2a373" ], [ "Bug173.__proj__If__item__then_branch", @@ -94,7 +94,7 @@ "refinement_interpretation_Tm_refine_2fbe2ceb4e1707b05600a8a640950ac1" ], 0, - "7d415e572aa392c2c5bf940320003092" + "f5a3f244a7d42c4314df58a2af807a90" ], [ "Bug173.__proj__If__item__else_branch", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_2fbe2ceb4e1707b05600a8a640950ac1" ], 0, - "03b39e17007631c50761c5d65f7e0611" + "639b2820d532064bc6f5de263c770826" ], [ "Bug173.__proj__Op__item___0", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_45857c632c9768967934bf90f87e610b" ], 0, - "2008fc6acc9e98bc9c9bb60ca8c32682" + "95bfe17cab8a4df4fb23a1f9b0d966c3" ], [ "Bug173.__proj__Op__item___1", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_45857c632c9768967934bf90f87e610b" ], 0, - "0287616e5c01cbb96107e3a41a69265e" + "7d033d3740c1c11fa1da771dc1de8081" ], [ "Bug173.__proj__Op__item___2", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_45857c632c9768967934bf90f87e610b" ], 0, - "fa5c1fad73293f3b521a6c786ca34c0d" + "951d676c72bc9e712f13df76ef055eec" ], [ "Bug173.stmt", @@ -158,11 +158,11 @@ "assumption_Bug173.exp__uu___haseq", "equation_Bug173.id", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e18dbdf4ff7d0de6885c26fbf0d0f3ca" + "0b287e5243573143f4e4f820f1f663c7" ], [ "Bug173.__proj__Assign__item__var", @@ -175,7 +175,7 @@ "refinement_interpretation_Tm_refine_ebb2375c683cbe868371bbda21c0ccff" ], 0, - "3273b584a71786d04d0bda2ffdfdde59" + "e579ec316b1d4b3d391f3b6a0ca64add" ], [ "Bug173.__proj__Assign__item__term", @@ -188,7 +188,7 @@ "refinement_interpretation_Tm_refine_ebb2375c683cbe868371bbda21c0ccff" ], 0, - "ba7393f92ecf7dd2e5dc9300fbe3cc09" + "3815e664e071a79eee05495077d1e03d" ], [ "Bug173.__proj__Seq__item__first", @@ -201,7 +201,7 @@ "refinement_interpretation_Tm_refine_7c7131a87482042363fc2ed2f82b3faa" ], 0, - "957b0793d1d48ec1b1d589488d33e7f8" + "e8e92ed730699a950c0a8953644263fd" ], [ "Bug173.__proj__Seq__item__second", @@ -214,7 +214,7 @@ "refinement_interpretation_Tm_refine_7c7131a87482042363fc2ed2f82b3faa" ], 0, - "a244fb2c1a03faa50961bbb1d0164f58" + "f31653e59f383a4466409d9994dde305" ], [ "Bug173.__proj__Cond__item__cond", @@ -227,7 +227,7 @@ "refinement_interpretation_Tm_refine_a22aa8367a732b965caecd039c398969" ], 0, - "9aca438573213f1eebb6ade51279f9cc" + "84cf03e5ef1393416556e71c96dc5117" ], [ "Bug173.__proj__Cond__item__then_branch", @@ -240,7 +240,7 @@ "refinement_interpretation_Tm_refine_a22aa8367a732b965caecd039c398969" ], 0, - "3b50ccf3e2a43da8ce99d785794fc18e" + "a0d26ef3678080f0ed096b224f5ebbac" ], [ "Bug173.__proj__Cond__item__else_branch", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_a22aa8367a732b965caecd039c398969" ], 0, - "f531de8a2c556272338e33c885349ab8" + "a0edc4fbf6cf7b1b106113a34a1b73c4" ], [ "Bug173.__proj__While__item__cond", @@ -266,7 +266,7 @@ "refinement_interpretation_Tm_refine_7e8fdf7a94fdaa4a154a25fddf6c4b79" ], 0, - "44f84685c9974cacb32d862b475dd08e" + "d9ab4e3e4fe79313f328416c1851f2f6" ], [ "Bug173.__proj__While__item__body", @@ -279,7 +279,7 @@ "refinement_interpretation_Tm_refine_7e8fdf7a94fdaa4a154a25fddf6c4b79" ], 0, - "fb320e53a8d3db9554bd8b418ed4ded8" + "822cf6033717d60cf2015df5211f3bc7" ], [ "Bug173.update", @@ -290,11 +290,11 @@ "@MaxIFuel_assumption", "@query", "equation_Bug173.id", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "14ef84fb3d5e860d93a78ebfa4a57d8f" + "2f6b8bd5ff025a323c267578a31b2564" ], [ "Bug173.step_exp", @@ -314,7 +314,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "ce0350655013222166ec8845f7fe02b9" + "387bcee632a2d16811d6a3cdbf2aaf0a" ], [ "Bug173.step", @@ -322,28 +322,30 @@ 2, 1, [ - "@MaxIFuel_assumption", + "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Bug173.step_exp.fuel_instrumented", "@query", - "Bug173_pretyping_d83e1dc370c53e96a182896c4591ec0d", - "binder_x_5596221c551b5278f62e49fa1b104913_0", - "binder_x_814bbe39f9d21c3fa611e97d9721bf41_1", "bool_inversion", - "disc_equation_Bug173.Assign", "disc_equation_Bug173.Cond", - "disc_equation_Bug173.Seq", "disc_equation_Bug173.Skip", - "disc_equation_Bug173.While", + "Bug173_pretyping_814bbe39f9d21c3fa611e97d9721bf41", + "binder_x_814bbe39f9d21c3fa611e97d9721bf41_1", + "binder_x_d57d5d16db6a550ea1cee24a59ed5361_0", "bool_inversion", + "bool_typing", "disc_equation_Bug173.Assign", + "disc_equation_Bug173.Cond", "disc_equation_Bug173.Seq", + "disc_equation_Bug173.Skip", "disc_equation_Bug173.While", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Bug173.heap", - "fuel_guarded_inversion_Bug173.stmt", - "function_token_typing_Bug173.heap", "kinding_Bug173.exp@tok", + "disc_equation_FStar.Pervasives.Native.Some", + "equality_tok_Bug173.Skip@tok", "equation_Bug173.heap", + "equation_with_fuel_Bug173.step_exp.fuel_instrumented", + "fuel_guarded_inversion_Bug173.stmt", "kinding_Bug173.exp@tok", "kinding_Bug173.stmt@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Bug173.Seq", + "kinding_Tm_arrow_ce9d254a9e753c2ba55c41bb63e2dc44", + "lemma_FStar.Pervasives.invertOption", "subterm_ordering_Bug173.Seq", "typing_Bug173.step_exp", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_tok_Bug173.Skip@tok" ], 0, - "404bf94cb13be9b5f0878d35364b108f" + "3b84e586dca11198985cf2abca146c74" ], [ "Bug173.op_type", @@ -358,7 +360,7 @@ "disc_equation_Bug173.Times", "fuel_guarded_inversion_Bug173.binop" ], 0, - "c65ce915928c4e5c55720825eaf28014" + "7ebb8f4b86acc7bad30e16e31de9919c" ], [ "Bug173.typing_val", @@ -370,7 +372,7 @@ "disc_equation_Bug173.VInt", "fuel_guarded_inversion_Bug173.value" ], 0, - "d3665c305827a8859b28b185d7990537" + "2128fd0f91c5187751ae42b463090336" ], [ "Bug173.typing_exp", @@ -387,7 +389,7 @@ "subterm_ordering_Bug173.Op" ], 0, - "34a6b9fef07c81d9f22a597ac36f7ae5" + "49ddc54b3bdba21c90864a6db6667ade" ], [ "Bug173.typing", @@ -395,26 +397,30 @@ 2, 1, [ - "@MaxIFuel_assumption", + "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Bug173.typing_exp.fuel_instrumented", "@query", "Bug173_pretyping_2e6088c3e78554cca9be304cc06504d2", + "Bug173_pretyping_814bbe39f9d21c3fa611e97d9721bf41", "assumption_Bug173.typ__uu___haseq", - "binder_x_814bbe39f9d21c3fa611e97d9721bf41_1", - "binder_x_9e53eb5d806d96bed9bf05f4a8103650_0", "bool_inversion", + "binder_x_25dcee1c3071ba160ff962c2120b10b3_0", + "binder_x_814bbe39f9d21c3fa611e97d9721bf41_1", "bool_inversion", "data_typing_intro_Bug173.TBool@tok", "disc_equation_Bug173.Assign", "disc_equation_Bug173.Cond", "disc_equation_Bug173.Seq", "disc_equation_Bug173.Skip", "disc_equation_Bug173.While", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", + "equality_tok_Bug173.Skip@tok", + "equation_with_fuel_Bug173.typing_exp.fuel_instrumented", "fuel_guarded_inversion_Bug173.stmt", "kinding_Bug173.typ@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", "subterm_ordering_Bug173.Cond", "subterm_ordering_Bug173.Seq", "subterm_ordering_Bug173.While", "typing_Bug173.typing_exp", - "typing_FStar.Pervasives.Native.uu___is_None" + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_tok_Bug173.Skip@tok" ], 0, - "b3614485c2eea4c336f5cfc91e84843d" + "7330bf61a1aca16aa916506046daa960" ], [ "Bug173.typed_heap", @@ -423,7 +429,7 @@ 1, [ "@query", "assumption_Bug173.typ__uu___haseq" ], 0, - "118a47c3a15e5f36fede044a4c09e750" + "cbe7b41e01d3811b486e4697c717b317" ], [ "Bug173.progress_exp", @@ -439,9 +445,9 @@ "Bug173_pretyping_2e6088c3e78554cca9be304cc06504d2", "Bug173_pretyping_b5e1a0c80664b21af6ee72e3758c81e1", "Bug173_pretyping_d83e1dc370c53e96a182896c4591ec0d", - "binder_x_6a7af84ed38caa486f0d44e05f1a9c20_1", - "binder_x_9e53eb5d806d96bed9bf05f4a8103650_0", - "binder_x_f2e1a86c28bdbadf481ddec97267f676_2", "bool_inversion", + "binder_x_25dcee1c3071ba160ff962c2120b10b3_0", + "binder_x_2c090fa5e3947df0c025a627a363d1c2_2", + "binder_x_4ba954be97a5da2063507086d08da803_1", "bool_inversion", "constructor_distinct_Bug173.If", "constructor_distinct_Bug173.Op", "constructor_distinct_Bug173.TBool", "constructor_distinct_Bug173.TInt", @@ -456,8 +462,7 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Bug173.TBool@tok", "equality_tok_Bug173.TInt@tok", - "equation_Bug173.heap", "equation_Bug173.op_type", - "equation_Bug173.typing_val", + "equation_Bug173.op_type", "equation_Bug173.typing_val", "equation_with_fuel_Bug173.step_exp.fuel_instrumented", "equation_with_fuel_Bug173.typing_exp.fuel_instrumented", "fuel_guarded_inversion_Bug173.binop", @@ -481,14 +486,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_e994ec08b8956d0a371e580bd68b176c", - "refinement_interpretation_Tm_refine_f336415a1a037b3498edaf48ced7d126", + "refinement_interpretation_Tm_refine_24d9a22c4453947d562ed53b317af1e3", + "refinement_interpretation_Tm_refine_d80e83125dec2297afab20b6613ed757", "subterm_ordering_Bug173.If", "subterm_ordering_Bug173.Op", "token_correspondence_Bug173.typing_exp.fuel_instrumented", "typing_Bug173.step_exp", "typing_Bug173.typing_exp" ], 0, - "837b17811971c41e4fa3f5c625527270" + "08cb7e2729ce09b668bca233c849ddc3" ], [ "Bug173.progress", @@ -506,9 +511,9 @@ "Bug173_pretyping_814bbe39f9d21c3fa611e97d9721bf41", "Bug173_pretyping_d83e1dc370c53e96a182896c4591ec0d", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0513047f1052dab89f5607d56c5e6df3_2", - "binder_x_6a7af84ed38caa486f0d44e05f1a9c20_1", - "binder_x_9e53eb5d806d96bed9bf05f4a8103650_0", "bool_inversion", + "binder_x_25dcee1c3071ba160ff962c2120b10b3_0", + "binder_x_4ba954be97a5da2063507086d08da803_1", + "binder_x_84a1b421806ecd97f3b7c9f786ce8d6d_2", "bool_inversion", "constructor_distinct_Bug173.Assign", "constructor_distinct_Bug173.Cond", "constructor_distinct_Bug173.Seq", @@ -529,10 +534,10 @@ "equation_with_fuel_Bug173.typing.fuel_instrumented", "equation_with_fuel_Bug173.typing_exp.fuel_instrumented", "fuel_guarded_inversion_Bug173.stmt", - "fuel_guarded_inversion_Bug173.value", - "function_token_typing_Bug173.heap", "kinding_Bug173.stmt@tok", + "fuel_guarded_inversion_Bug173.value", "kinding_Bug173.stmt@tok", "kinding_Bug173.typ@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Tm_arrow_ce9d254a9e753c2ba55c41bb63e2dc44", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "projection_inverse_Bug173.Assign_term", @@ -547,8 +552,8 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_71d8eb495adf651760ef20aa8f7a1261", - "refinement_interpretation_Tm_refine_e994ec08b8956d0a371e580bd68b176c", + "refinement_interpretation_Tm_refine_24d9a22c4453947d562ed53b317af1e3", + "refinement_interpretation_Tm_refine_a2f620d351e6f6cdd7b720b9f01c17c3", "subterm_ordering_Bug173.Seq", "token_correspondence_Bug173.typing.fuel_instrumented", "typing_Bug173.step", "typing_Bug173.typing", @@ -556,7 +561,7 @@ "typing_tok_Bug173.Skip@tok", "unit_inversion", "unit_typing" ], 0, - "e39d52271e578214d0c9ee993c0d27be" + "e4a5b00458025b45a9db75108c6972d9" ], [ "Bug173.preservation_exp", @@ -572,7 +577,7 @@ "refinement_interpretation_Tm_refine_6d220662d73c37f5901d157fdf6e4586" ], 0, - "c4f8ff846deea54faef9c5b2ea0608f5" + "7701566fa2022843e9cbf4862c112ba2" ], [ "Bug173.preservation_exp", @@ -588,7 +593,7 @@ "refinement_interpretation_Tm_refine_cda6ae012580de34662fc99f7aa2b583" ], 0, - "c3defe275e45d7a3a7c6d3aa00bb6500" + "586bd278eeaf5bbae8d3e791a877c7f6" ], [ "Bug173.preservation_exp", @@ -605,9 +610,9 @@ "Bug173_pretyping_b5e1a0c80664b21af6ee72e3758c81e1", "Bug173_pretyping_d83e1dc370c53e96a182896c4591ec0d", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_6a7af84ed38caa486f0d44e05f1a9c20_1", - "binder_x_9e53eb5d806d96bed9bf05f4a8103650_0", - "binder_x_a07b99b9bccb17c6ed730b6a4b2bc57c_2", "bool_inversion", + "binder_x_25dcee1c3071ba160ff962c2120b10b3_0", + "binder_x_4ba954be97a5da2063507086d08da803_1", + "binder_x_bbd8ccc3582543462d1a16c378862138_2", "bool_inversion", "bool_typing", "constructor_distinct_Bug173.If", "constructor_distinct_Bug173.Op", "constructor_distinct_Bug173.TBool", @@ -619,7 +624,8 @@ "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_Bug173.VBool", "data_elim_FStar.Pervasives.Native.Some", + "data_elim_Bug173.VBool", "data_elim_Bug173.Val", + "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_Bug173.TBool@tok", "data_typing_intro_Bug173.VBool@tok", "disc_equation_Bug173.If", "disc_equation_Bug173.Op", "disc_equation_Bug173.Val", @@ -627,8 +633,8 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Bug173.TBool@tok", "equality_tok_Bug173.TInt@tok", - "equation_Bug173.heap", "equation_Bug173.op_type", - "equation_Bug173.typed_heap", "equation_Bug173.typing_val", + "equation_Bug173.op_type", "equation_Bug173.typed_heap", + "equation_Bug173.typing_val", "equation_with_fuel_Bug173.step_exp.fuel_instrumented", "equation_with_fuel_Bug173.typing_exp.fuel_instrumented", "fuel_guarded_inversion_Bug173.binop", @@ -659,9 +665,9 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_24d9a22c4453947d562ed53b317af1e3", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_ac692eb21a37ac27bffc1dbc7b2868e1", - "refinement_interpretation_Tm_refine_e994ec08b8956d0a371e580bd68b176c", + "refinement_interpretation_Tm_refine_64b72e027e8d94eda8b5760bfff45e9f", "subterm_ordering_Bug173.If", "subterm_ordering_Bug173.Op", "token_correspondence_Bug173.step_exp.fuel_instrumented", "token_correspondence_Bug173.typing_exp.fuel_instrumented", @@ -669,11 +675,10 @@ "typing_Bug173.typing_exp", "typing_Bug173.typing_val", "typing_Bug173.uu___is_Var", "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", "unit_inversion", - "unit_typing" + "unit_inversion", "unit_typing" ], 0, - "0e94c2e80c07d94004e2af15701b3ac6" + "63225f31f88e339a97de60b3baf3e713" ], [ "Bug173.preservation", @@ -681,11 +686,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Bug173.heap", - "refinement_interpretation_Tm_refine_9fbf17a08e375afe5de65a8b1e04a4f5" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ca04d3dee7d06eaab85a104fb6a18624" ], 0, - "b39613fe5380af84b7825bc0f6a5fdfe" + "0889b22c64c1d933863a4c86005539c5" ], [ "Bug173.preservation", @@ -693,11 +698,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Bug173.heap", - "refinement_interpretation_Tm_refine_72625d4fa77255e1caaf67b413a7382d" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_d9288543f57f0073e2ee091cdb97dee1" ], 0, - "6c42c136677f0328fba53085908f7610" + "3b4d486f1bbfccc5d23b783cbba3e1be" ], [ "Bug173.preservation", @@ -716,9 +721,9 @@ "Bug173_pretyping_814bbe39f9d21c3fa611e97d9721bf41", "Bug173_pretyping_d83e1dc370c53e96a182896c4591ec0d", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_642c0ef8657f577762a37b4b206ae243_2", - "binder_x_6a7af84ed38caa486f0d44e05f1a9c20_1", - "binder_x_9e53eb5d806d96bed9bf05f4a8103650_0", "bool_inversion", + "binder_x_00a39306134013e37298a84b2973ec78_2", + "binder_x_25dcee1c3071ba160ff962c2120b10b3_0", + "binder_x_4ba954be97a5da2063507086d08da803_1", "bool_inversion", "constructor_distinct_Bug173.Assign", "constructor_distinct_Bug173.Cond", "constructor_distinct_Bug173.Seq", @@ -746,11 +751,11 @@ "fuel_guarded_inversion_Bug173.exp", "fuel_guarded_inversion_Bug173.stmt", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Bug173.heap", - "interpretation_Tm_abs_2deb6922c3c67169942db124bded870f", + "interpretation_Tm_abs_abf3815c9dc49c3fd152f9a4c912df58", "kinding_Bug173.exp@tok", "kinding_Bug173.stmt@tok", "kinding_Bug173.typ@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Tm_arrow_ce9d254a9e753c2ba55c41bb63e2dc44", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -772,9 +777,9 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_24d9a22c4453947d562ed53b317af1e3", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_6e23cd2c68bfaddc82a77802be46911c", - "refinement_interpretation_Tm_refine_e994ec08b8956d0a371e580bd68b176c", + "refinement_interpretation_Tm_refine_9f8a3c1269adae7e35cedc05277cf63b", "subterm_ordering_Bug173.Seq", "token_correspondence_Bug173.step.fuel_instrumented", "token_correspondence_Bug173.typing.fuel_instrumented", @@ -785,7 +790,7 @@ "typing_tok_Bug173.Skip@tok", "unit_inversion", "unit_typing" ], 0, - "84fa3467410d7f45d5c1fc9ab6fd6ccb" + "b1d6707f2a3e35cb30dbe13f8bab291a" ], [ "Bug173.preservation'", @@ -793,11 +798,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Bug173.heap", - "refinement_interpretation_Tm_refine_9fbf17a08e375afe5de65a8b1e04a4f5" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ca04d3dee7d06eaab85a104fb6a18624" ], 0, - "2eaa03d20f823af05689307227775c2c" + "1f198f9ba11aa31221160572c29090c0" ], [ "Bug173.preservation'", @@ -805,11 +810,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Bug173.heap", - "refinement_interpretation_Tm_refine_5b3a31cb7ecd3df976201e07540a0d4e" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_dd0b27c4b2ddc3551e38086d902443af" ], 0, - "eb032d5a6e20c3b767f9bc51b3a809c8" + "e24bc8c913693c319f333b945c276c77" ], [ "Bug173.preservation'", @@ -824,15 +829,15 @@ "@fuel_correspondence_Bug173.typing_exp.fuel_instrumented", "@fuel_irrelevance_Bug173.step.fuel_instrumented", "@fuel_irrelevance_Bug173.typing.fuel_instrumented", "@query", - "Bug173_interpretation_Tm_arrow_2ecf54de983c64c66d48fc62dfe22069", - "Bug173_interpretation_Tm_arrow_dd079cebe5483434f3abfcc6f1877be4", + "Bug173_interpretation_Tm_arrow_30663a0b58bf83a2622422439082c92f", + "Bug173_interpretation_Tm_arrow_ce9d254a9e753c2ba55c41bb63e2dc44", "Bug173_pretyping_2e6088c3e78554cca9be304cc06504d2", "Bug173_pretyping_814bbe39f9d21c3fa611e97d9721bf41", "Bug173_pretyping_d83e1dc370c53e96a182896c4591ec0d", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_642c0ef8657f577762a37b4b206ae243_2", - "binder_x_6a7af84ed38caa486f0d44e05f1a9c20_1", - "binder_x_9e53eb5d806d96bed9bf05f4a8103650_0", "bool_inversion", + "binder_x_00a39306134013e37298a84b2973ec78_2", + "binder_x_25dcee1c3071ba160ff962c2120b10b3_0", + "binder_x_4ba954be97a5da2063507086d08da803_1", "bool_inversion", "constructor_distinct_Bug173.Assign", "constructor_distinct_Bug173.Cond", "constructor_distinct_Bug173.Seq", @@ -865,11 +870,11 @@ "fuel_guarded_inversion_Bug173.typ", "fuel_guarded_inversion_Bug173.value", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Bug173.heap", - "interpretation_Tm_abs_2deb6922c3c67169942db124bded870f", + "interpretation_Tm_abs_abf3815c9dc49c3fd152f9a4c912df58", "kinding_Bug173.exp@tok", "kinding_Bug173.stmt@tok", "kinding_Bug173.typ@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_Tm_arrow_ce9d254a9e753c2ba55c41bb63e2dc44", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -891,9 +896,9 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_24d9a22c4453947d562ed53b317af1e3", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_6e23cd2c68bfaddc82a77802be46911c", - "refinement_interpretation_Tm_refine_e994ec08b8956d0a371e580bd68b176c", + "refinement_interpretation_Tm_refine_9f8a3c1269adae7e35cedc05277cf63b", "subterm_ordering_Bug173.Seq", "token_correspondence_Bug173.step.fuel_instrumented", "token_correspondence_Bug173.typing.fuel_instrumented", @@ -902,11 +907,11 @@ "typing_Bug173.uu___is_Skip", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_FStar.Pervasives.Native.snd", - "typing_Tm_abs_2deb6922c3c67169942db124bded870f", + "typing_Tm_abs_abf3815c9dc49c3fd152f9a4c912df58", "typing_tok_Bug173.Skip@tok", "unit_inversion", "unit_typing" ], 0, - "509716f3ecb265185f715babd3d53700" + "bc274085dc0dd7bb393ae482eb6de996" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug175.fst.hints b/examples/bug-reports/bug175.fst.hints index db309436408..144b8b42e55 100644 --- a/examples/bug-reports/bug175.fst.hints +++ b/examples/bug-reports/bug175.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3439a7ddd5607510dcf380ee1a275826" + "51ab4b5a44c9232e4a603d002a0d1630" ], [ "Bug175.__proj__SApp1__item__h", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_a67958f432222acb1037b7352e3962fa" ], 0, - "a2817c733cacf8c0b9e301d9b7886c0b" + "d008e913be98f6e1f79dae86de7eecae" ], [ "Bug175.__proj__SApp1__item__e1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_a67958f432222acb1037b7352e3962fa" ], 0, - "2fbed8a18f9b5d4832edf8f266c74aa2" + "b35229fd19549a972e2d928462a69f35" ], [ "Bug175.__proj__SApp1__item__e2", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_a67958f432222acb1037b7352e3962fa" ], 0, - "1732e78950909d5bcd2dc8f82fe3eadb" + "8460dc35a433cddd1ab1a3397058340b" ], [ "Bug175.__proj__SApp2__item__h", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_12e4827d6d58248a44aeb52cce13cdc0" ], 0, - "c3a1b1ec92c5380a21a26c90d30431aa" + "a1268900cabc241dbf0dc84de6753116" ], [ "Bug175.__proj__SApp2__item__e1", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_12e4827d6d58248a44aeb52cce13cdc0" ], 0, - "071f5b3920d24def65c0428d49ec45b0" + "fbee1ba7b7e8a5b9fc58b6a07c617359" ], [ "Bug175.__proj__SApp2__item__e2", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_12e4827d6d58248a44aeb52cce13cdc0" ], 0, - "0c3ed12394b0f5c50c83a54ad6081345" + "48dda79e9f497a1eb6c4d4c70ea56a9e" ], [ "Bug175.__proj__SApp2__item___3", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_12e4827d6d58248a44aeb52cce13cdc0" ], 0, - "13531b9085458dc91d9a7533b69280da" + "a7f1fddc8d8e645353b5a5b924f8e46d" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug184.fst.hints b/examples/bug-reports/bug184.fst.hints index ff667558701..b29a8204492 100644 --- a/examples/bug-reports/bug184.fst.hints +++ b/examples/bug-reports/bug184.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "663bdddc8e7a9a0639c678460623dd38" + "0fa5ee58ab383345c2eddd53feadd48c" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug184Eta.fst.hints b/examples/bug-reports/bug184Eta.fst.hints index 7feaa56962d..df7bb1e9529 100644 --- a/examples/bug-reports/bug184Eta.fst.hints +++ b/examples/bug-reports/bug184Eta.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "a109e56aca82cac4517fdc0ac0078ff9" + "991c056ea8be42e538cdf240f12b0605" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug185.fst.hints b/examples/bug-reports/bug185.fst.hints index 9df0999cf9c..75e8947bfc3 100644 --- a/examples/bug-reports/bug185.fst.hints +++ b/examples/bug-reports/bug185.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Bug185.HasEq_data" ], 0, - "6eecdba13ff28d03766b09dc4c60e04a" + "d35fc8530273457b320ace8ce9936e45" ], [ "Bug185.validate", @@ -19,13 +19,13 @@ "@MaxIFuel_assumption", "binder_x_ab406dde1f6cab92bf9b7aa3461e7323_0", "constructor_distinct_Bug185.certified", - "constructor_distinct_Bug185.verified", "equation_Bug185.vk", - "equation_Bug185.vkey", "function_token_typing_Bug185.certified", - "refinement_interpretation_Tm_refine_47bb5e04350d529229da0ec9c09c0e4d", + "constructor_distinct_Bug185.verified", "equation_Bug185.vkey", + "function_token_typing_Bug185.certified", + "refinement_interpretation_Tm_refine_8a98b753b7adaa1bc94398517ac5239a", "token_correspondence_Bug185.verified" ], 0, - "91068533f3bc40eb6175896f69fba35e" + "25a93275b59e6c35b51f74a36f1b0448" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug187.fst.hints b/examples/bug-reports/bug187.fst.hints index 674f9f407f9..88fe5440fb1 100644 --- a/examples/bug-reports/bug187.fst.hints +++ b/examples/bug-reports/bug187.fst.hints @@ -7,17 +7,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", + "Bug187_interpretation_Tm_arrow_b9ff16838ca14be79c4714dd5f2c76fe", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Bug187.vkey", - "equation_Prims.eqtype", "function_token_typing_Prims.unit", - "kinding_Prims.dtuple2@tok", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Bug187.test", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "function_token_typing_Bug187.vkey", "kinding_Prims.dtuple2@tok", + "lemma_FStar.Pervasives.invertOption", "typing_Bug187.test", + "typing_Tm_abs_99be3afbadfb3e442ef3d04d50777fd6" ], 0, - "ccb4d21878eef506a5635ed7b03a07e0" + "a8f835b6e53ab2cdac4c7f4a80d04b39" ], [ "Bug187.no_fail", @@ -26,7 +27,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "fdcbe5315a76b5c76794d9bf91670a87" + "512c13200bdaff291b961420549b4849" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug190.fst.hints b/examples/bug-reports/bug190.fst.hints index b2390cf8d04..fc462ca6894 100644 --- a/examples/bug-reports/bug190.fst.hints +++ b/examples/bug-reports/bug190.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_Bug190.DForallElim_f" ], 0, - "0e0cff97a488736ae68515e168cdb453" + "00f8a7d25ce4fb551ae3d201827b10c8" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug213.fst.hints b/examples/bug-reports/bug213.fst.hints index 25e0b9e87a0..d7353abf227 100644 --- a/examples/bug-reports/bug213.fst.hints +++ b/examples/bug-reports/bug213.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_Bug213.ExIntro_x" ], 0, - "4f0c389feeb96c4d3f6e0eee13bf7da1" + "28fa41ac2c12d6fab9611af194f38116" ], [ "Bug213.__proj__ExIntro'__item__p", @@ -23,7 +23,7 @@ "projection_inverse_Bug213.ExIntro__a" ], 0, - "fb925f7c2a6e5df716efea8d95e96a96" + "ef96dc67f11495850c43acdcd6724b34" ], [ "Bug213.__proj__ExIntro'__item__x", @@ -35,7 +35,7 @@ "projection_inverse_Bug213.ExIntro__a" ], 0, - "1e46e029ded739726f6db4c56b6987f8" + "43c5dc4ce1af0214cc6d667c95929a89" ], [ "Bug213.__proj__ExIntro'__item___3", @@ -50,7 +50,7 @@ "token_correspondence_Bug213.__proj__ExIntro___item__p" ], 0, - "191d407c55e0b668c10e7ea5d21e9a34" + "3b7075395e0c8fb8d9cd87fed95186af" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug237b.fst.hints b/examples/bug-reports/bug237b.fst.hints index ede6b1403b6..7c0d63550a1 100644 --- a/examples/bug-reports/bug237b.fst.hints +++ b/examples/bug-reports/bug237b.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "5ccd35f96636e6fd34038c7f258a70df" + "b4c9a8dc41a1f486c855898cb53da6b6" ], [ "Bug237b.__proj__KKArr__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_5c691036dc4779e118afb73673a21bac" ], 0, - "68becfe7308d728985d63d3017b6f4a8" + "42469234c4d1c48c7d13f7ac5d63c00f" ], [ "Bug237b.kinding", @@ -34,7 +34,7 @@ "data_typing_intro_Bug237b.KKArr@tok" ], 0, - "06b6b917498cda6b284364508d35185f" + "8e6b20331ef4dab6472ffd6ea7b001d3" ], [ "Bug237b.__proj__KTApp__item__k'", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_ab9267cf714b6e732ad5733047d371de" ], 0, - "a50cd02cdd1f2e2b8b1dc2037bec3791" + "1216fd8ddd78cea519fd6248ced395b1" ], [ "Bug237b.__proj__KTApp__item__hk1", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_ab9267cf714b6e732ad5733047d371de" ], 0, - "eb60ce1a524914b7e7b31483ae9b6237" + "a5cb37c8e51357ea033867565017a15a" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug238.fst.hints b/examples/bug-reports/bug238.fst.hints index df4b2cd6825..516978d88ed 100644 --- a/examples/bug-reports/bug238.fst.hints +++ b/examples/bug-reports/bug238.fst.hints @@ -6,15 +6,9 @@ 1, 2, 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.l_False", "equation_Prims.squash", - "function_token_typing_Prims.unit", - "haseqTm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], + [ "@query", "equation_Prims.l_False", "false_interp" ], 0, - "757ecb9b57782f951e8885d799542b51" + "9a6acad09989094eca0af6ee42ccdeee" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug251.fst.hints b/examples/bug-reports/bug251.fst.hints index d4be39718f7..235647f8719 100644 --- a/examples/bug-reports/bug251.fst.hints +++ b/examples/bug-reports/bug251.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "lemma_Bug251.lemma_1" ], 0, - "a7a4b613c9da9c25f25322f0f4f26753" + "94e7ff9445a8d5310abba5c57273d48d" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug254.fst.hints b/examples/bug-reports/bug254.fst.hints index bfc9d650a9b..202022e2038 100644 --- a/examples/bug-reports/bug254.fst.hints +++ b/examples/bug-reports/bug254.fst.hints @@ -8,16 +8,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "06eb7fc4fdf03db2d08166811e1c2ecb" + "b8cc5321e562aed4bb2d0090815f410c" ], [ "Bug254.bar", @@ -26,16 +24,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "80dca7d46f6aa15540ecff54cbe60f28" + "759439d3f42fbfa7a0daa1497d2466ea" ], [ "Bug254.bar", @@ -44,17 +40,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e815a1593c688052ab1b25a0d825aa9" + "refinement_interpretation_Tm_refine_a46278218f4c76eafa827f5a69e25c74", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f82ce4efdc91cf1144b7612afb38a24a" + "d20566da87e6f8511ded4b9e7ebf1f57" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug260.fst.hints b/examples/bug-reports/bug260.fst.hints index e91adc98e50..4c5af0d59f2 100644 --- a/examples/bug-reports/bug260.fst.hints +++ b/examples/bug-reports/bug260.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "651beccf5d375e3af5ed2f53383b259c" + "ce57f02fb037aa64ad09269be651be3c" ], [ "Bug260.__proj__S__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_157a25d7c8423b184ee7d22a138c6995" ], 0, - "552897404392ce737ad565ad307a9854" + "83c74fe9346845c8d1893bf4d9e7cca1" ], [ "Bug260.validity", @@ -30,7 +30,7 @@ 1, [ "@query", "assumption_Bug260.pnat__uu___haseq" ], 0, - "97fc5542dace8edb34400680fd8bee56" + "a6ff9a682ec8df4d868da21507567183" ], [ "Bug260.validity'", @@ -39,7 +39,7 @@ 1, [ "@query", "assumption_Bug260.pnat__uu___haseq" ], 0, - "2897e23bb7b8dad60ca091a5536679c9" + "72593f363bcc2fa9dade269a745aa01f" ], [ "Bug260.__proj__VSucc'__item___1", @@ -51,7 +51,7 @@ "projection_inverse_Bug260.VSucc__n" ], 0, - "a79ed5fbb5acd4882afa967c21f163ac" + "931a73ca4518a905acb961c067c85cbb" ], [ "Bug260.validity'_empty", @@ -66,7 +66,7 @@ "projection_inverse_Bug260.VSucc__n", "subterm_ordering_Bug260.S" ], 0, - "73908a62841e5ff24860080c0c761f8b" + "da2779d4bef893489ad39960334b94b8" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug264.fst.hints b/examples/bug-reports/bug264.fst.hints index 9469fad02da..482c562a857 100644 --- a/examples/bug-reports/bug264.fst.hints +++ b/examples/bug-reports/bug264.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d02037838ecd414cf63f2c1b4b707a2a" + "872828a7c727fe4a840a858c19b18070" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug279.fst.hints b/examples/bug-reports/bug279.fst.hints index 3d7360cf604..2e4cf7a8650 100644 --- a/examples/bug-reports/bug279.fst.hints +++ b/examples/bug-reports/bug279.fst.hints @@ -10,7 +10,7 @@ "@query", "assumption_Prims.list__uu___haseq", "kinding_Bug279.t@tok" ], 0, - "10409bba0a0edb668d94ba6777be771f" + "d4b79a705525249c0ab1c3df07a3d42a" ], [ "Bug279.f", @@ -23,7 +23,7 @@ "subterm_ordering_Bug279.T" ], 0, - "54b1d58b2ac3ae1281a4d7953df7d9d1" + "64fffac055210db882d35b70469de964" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug281.fst.hints b/examples/bug-reports/bug281.fst.hints index faec119e4d2..a3512eb08d3 100644 --- a/examples/bug-reports/bug281.fst.hints +++ b/examples/bug-reports/bug281.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e168d730e6b6d77d69626ee66f93de16" + "e9fdbb6c87ed657a430762f1daaac423" ], [ "Bug281.__proj__EVar__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_9b2d09575d6692cb596c737746866530" ], 0, - "947cd12d06ab9d8536345ed0aeeb1597" + "95c4563925aca2a431a09dc91f44de6e" ], [ "Bug281.__proj__EApp__item___0", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_7b1aca813aa10f4d23c2deb051a70aa0" ], 0, - "776e413284687cd4f600c04d8f551dac" + "eac410d08b5d52b27359a221517e0e07" ], [ "Bug281.__proj__EApp__item___1", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_7b1aca813aa10f4d23c2deb051a70aa0" ], 0, - "85f28b4e771d59a743b4839fcedfebb3" + "533b815a335120124eac3c314014f105" ], [ "Bug281.__proj__ELam__item___0", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_f33ea656340d38766c925d346d31bc07" ], 0, - "ec27d7b6adf3a18ae981889261e4f55a" + "a012cc3e39ab724c21cc1963ad2b30b3" ], [ "Bug281.sub_einc", @@ -75,10 +75,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b34b305e678934bfb47c5fdc3a2ebb57" + "0b97772f64a82d29dc78cb616b3c1e30" ], [ "Bug281.sub_elam", @@ -87,10 +87,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Bug281_interpretation_Tm_arrow_32d3b7b41943bf780aa5fb2617bf661a", + "Bug281_interpretation_Tm_arrow_aa7598be77ecc5164429c423dd0f255e", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_083220e86fdff3c56c2958adb8d46912_0", "bool_typing", + "binder_x_23264a9c603585df2de2d0f02e8d91b6_0", "constructor_distinct_Bug281.EVar", "disc_equation_Bug281.EVar", "equation_Bug281.is_evar", "equation_Bug281.is_renaming", "equation_Bug281.renaming", "equation_Bug281.sub", @@ -98,15 +97,15 @@ "equation_Prims.nat", "function_token_typing_Bug281.sub_einc", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_275aacd83f621f0deafc0816fcc72557", + "interpretation_Tm_abs_ef5e2f3347c2871d91f72d07bfa2a3a7", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Bug281.EVar__0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_9eeb2fe43433bda3ba01b74f4dd6684d", - "refinement_interpretation_Tm_refine_a6eb08396e3ed99de814b793adcaa271", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_a825832c3471360ebcdc15cb7822e4fe", "token_correspondence_Bug281.sub_einc", "typing_Bug281.esubst", "typing_Bug281.is_evar", "typing_Bug281.is_renaming", "typing_Bug281.renaming", @@ -114,7 +113,7 @@ "well-founded-ordering-on-nat" ], 0, - "64eac80fd83915f01fc0d8e740fbcc98" + "b357d355c846787be2e78052088c3705" ], [ "Bug281.sub_elam", @@ -125,21 +124,19 @@ "@MaxIFuel_assumption", "@query", "Bug281_pretyping_7e21bffa49d5b2e317ed0427c0c4bf73", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_083220e86fdff3c56c2958adb8d46912_0", + "binder_x_23264a9c603585df2de2d0f02e8d91b6_0", "binder_x_7e21bffa49d5b2e317ed0427c0c4bf73_1", "bool_inversion", - "bool_typing", "disc_equation_Bug281.EApp", - "disc_equation_Bug281.ELam", "disc_equation_Bug281.EVar", - "equality_tok_Prims.LexTop@tok", "equation_Bug281.is_evar", - "equation_Bug281.is_renaming", "equation_Bug281.renaming", - "equation_Bug281.sub", "equation_Prims.logical", + "disc_equation_Bug281.EApp", "disc_equation_Bug281.ELam", + "disc_equation_Bug281.EVar", "equality_tok_Prims.LexTop@tok", + "equation_Bug281.is_evar", "equation_Bug281.is_renaming", + "equation_Bug281.renaming", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_Bug281.exp", "function_token_typing_Prims.__cache_version_number__", "int_typing", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a5f47f4862ff96bfca9431868c5b7c25", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e8e63bbc34182350724a95187fe6d67b", "subterm_ordering_Bug281.EApp", "subterm_ordering_Bug281.ELam", "typing_Bug281.is_evar", "typing_Bug281.is_renaming", "typing_Bug281.renaming", "typing_Bug281.uu___is_EVar", @@ -147,7 +144,7 @@ "well-founded-ordering-on-nat" ], 0, - "0c2e9a28caf8e149513c629f04015195" + "e61d8ebfc798f0e1763f2fc576879fef" ], [ "Bug281.lemma", @@ -159,7 +156,7 @@ "haseqBug281_Tm_refine_fa874d2b81678cf67fefc82e7574cdec" ], 0, - "9c69511418c67fbb10e1fd843cf88d68" + "0504f2c9ff5d4f1d07857f382051724a" ], [ "Bug281.plouf0", @@ -177,12 +174,12 @@ "constructor_distinct_Bug281.EVar", "data_elim_Bug281.EApp", "disc_equation_Bug281.EVar", "equation_Bug281.eesh", "equation_Bug281.sub", "equation_Bug281.sub_einc", - "equation_Bug281.test", "equation_Prims.nat", + "equation_Bug281.test", "equation_with_fuel_Bug281.esubst.fuel_instrumented", "equation_with_fuel_Bug281.sub_elam.fuel_instrumented", "function_token_typing_Bug281.sub_einc", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_ab735c703b902235e5c50a4904d049d4", + "interpretation_Tm_abs_803f4ed89301c92368844855fbac8cac", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", @@ -190,15 +187,15 @@ "projection_inverse_Bug281.EApp__0", "projection_inverse_Bug281.EApp__1", "projection_inverse_Bug281.EVar__0", - "refinement_interpretation_Tm_refine_31af0e7d55c8cded8d4a1b0e962a69f8", + "refinement_interpretation_Tm_refine_9b0352ef3a4529a8f9e78be315e1b220", "refinement_interpretation_Tm_refine_9eeb2fe43433bda3ba01b74f4dd6684d", "token_correspondence_Bug281.esubst.fuel_instrumented", "token_correspondence_Bug281.sub_einc", "typing_Bug281.sub_elam", "typing_Bug281.test", - "typing_Tm_abs_ab735c703b902235e5c50a4904d049d4" + "typing_Tm_abs_803f4ed89301c92368844855fbac8cac" ], 0, - "181495c17c11a80a1717ee9ee6f13eba" + "e79f24c2e2913bcae51b486b505073d1" ], [ "Bug281.plouf1", @@ -216,12 +213,12 @@ "constructor_distinct_Bug281.EVar", "data_elim_Bug281.EApp", "disc_equation_Bug281.EVar", "equation_Bug281.eesh", "equation_Bug281.sub", "equation_Bug281.sub_einc", - "equation_Bug281.test", "equation_Prims.nat", + "equation_Bug281.test", "equation_with_fuel_Bug281.esubst.fuel_instrumented", "equation_with_fuel_Bug281.sub_elam.fuel_instrumented", "function_token_typing_Bug281.sub_einc", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_ab735c703b902235e5c50a4904d049d4", + "interpretation_Tm_abs_803f4ed89301c92368844855fbac8cac", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", @@ -229,15 +226,15 @@ "projection_inverse_Bug281.EApp__0", "projection_inverse_Bug281.EApp__1", "projection_inverse_Bug281.EVar__0", - "refinement_interpretation_Tm_refine_31af0e7d55c8cded8d4a1b0e962a69f8", + "refinement_interpretation_Tm_refine_9b0352ef3a4529a8f9e78be315e1b220", "refinement_interpretation_Tm_refine_9eeb2fe43433bda3ba01b74f4dd6684d", "token_correspondence_Bug281.esubst.fuel_instrumented", "token_correspondence_Bug281.sub_einc", "typing_Bug281.sub_elam", "typing_Bug281.test", - "typing_Tm_abs_ab735c703b902235e5c50a4904d049d4" + "typing_Tm_abs_803f4ed89301c92368844855fbac8cac" ], 0, - "b52d91d4753aca9be1025416ea753cf6" + "beb3ecd554697c33fd731460a8e50045" ], [ "Bug281.plouf2", @@ -246,7 +243,7 @@ 1, [ "@query", "assumption_Bug281.exp__uu___haseq" ], 0, - "e94c11cdaecf1278d1a503f07e35d425" + "5fda15854326219a459a952621a2e760" ], [ "Bug281.plouf2", @@ -264,12 +261,12 @@ "constructor_distinct_Bug281.EVar", "data_elim_Bug281.EApp", "disc_equation_Bug281.EVar", "equation_Bug281.eesh", "equation_Bug281.sub", "equation_Bug281.sub_einc", - "equation_Bug281.test", "equation_Prims.nat", + "equation_Bug281.test", "equation_with_fuel_Bug281.esubst.fuel_instrumented", "equation_with_fuel_Bug281.sub_elam.fuel_instrumented", "function_token_typing_Bug281.sub_einc", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_ab735c703b902235e5c50a4904d049d4", + "interpretation_Tm_abs_803f4ed89301c92368844855fbac8cac", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", @@ -277,15 +274,15 @@ "projection_inverse_Bug281.EApp__0", "projection_inverse_Bug281.EApp__1", "projection_inverse_Bug281.EVar__0", - "refinement_interpretation_Tm_refine_31af0e7d55c8cded8d4a1b0e962a69f8", + "refinement_interpretation_Tm_refine_9b0352ef3a4529a8f9e78be315e1b220", "refinement_interpretation_Tm_refine_9eeb2fe43433bda3ba01b74f4dd6684d", "token_correspondence_Bug281.esubst.fuel_instrumented", "token_correspondence_Bug281.sub_einc", "typing_Bug281.sub_elam", "typing_Bug281.test", - "typing_Tm_abs_ab735c703b902235e5c50a4904d049d4" + "typing_Tm_abs_803f4ed89301c92368844855fbac8cac" ], 0, - "a7d120e0da2d6d08611309d8f65522a5" + "6d0b4f9b3c058f4aaf366168f71bd407" ], [ "Bug281.plouf4", @@ -294,7 +291,7 @@ 1, [ "@query", "assumption_Bug281.exp__uu___haseq" ], 0, - "aca87fb3c8f6ab7eabdf78d4d039ea3a" + "49daba0550b78c4189945be8fe73f911" ], [ "Bug281.plouf4", @@ -312,12 +309,12 @@ "constructor_distinct_Bug281.EVar", "data_elim_Bug281.EApp", "disc_equation_Bug281.EVar", "equation_Bug281.eesh", "equation_Bug281.sub", "equation_Bug281.sub_einc", - "equation_Bug281.test", "equation_Prims.nat", + "equation_Bug281.test", "equation_with_fuel_Bug281.esubst.fuel_instrumented", "equation_with_fuel_Bug281.sub_elam.fuel_instrumented", "function_token_typing_Bug281.sub_einc", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_ab735c703b902235e5c50a4904d049d4", + "interpretation_Tm_abs_803f4ed89301c92368844855fbac8cac", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", @@ -325,15 +322,15 @@ "projection_inverse_Bug281.EApp__0", "projection_inverse_Bug281.EApp__1", "projection_inverse_Bug281.EVar__0", - "refinement_interpretation_Tm_refine_31af0e7d55c8cded8d4a1b0e962a69f8", + "refinement_interpretation_Tm_refine_9b0352ef3a4529a8f9e78be315e1b220", "refinement_interpretation_Tm_refine_9eeb2fe43433bda3ba01b74f4dd6684d", "token_correspondence_Bug281.esubst.fuel_instrumented", "token_correspondence_Bug281.sub_einc", "typing_Bug281.esubst", "typing_Bug281.sub_elam", "typing_Bug281.test", - "typing_Tm_abs_ab735c703b902235e5c50a4904d049d4", "unit_inversion" + "typing_Tm_abs_803f4ed89301c92368844855fbac8cac", "unit_inversion" ], 0, - "48e6fa56d59328c21b5f7310a53cccc7" + "ff7ed2a57f8340fe360a456cc003f9ac" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug283.fst.hints b/examples/bug-reports/bug283.fst.hints index 8b74ff97fe1..86140d35ec0 100644 --- a/examples/bug-reports/bug283.fst.hints +++ b/examples/bug-reports/bug283.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Bug283.HasEq_block" ], 0, - "ada68b4bff2f755f1dbf2e4c506db56b" + "dc2ce9162c42a45f579ad7f574b7da2f" ], [ "Bug283.test2", @@ -17,7 +17,7 @@ 1, [ "@query", "assumption_Bug283.HasEq_block" ], 0, - "73077b2e52b301e623ae0ebcf7301554" + "d7b8951441789a450f0699b62cc22194" ], [ "Bug283.test2", @@ -26,7 +26,7 @@ 1, [ "@query", "assumption_Bug283.XOR_Laws", "typing_Bug283.xor" ], 0, - "17ea8ae5e943894a015524c5b08b21d4" + "c3664a7838a14071287256c5aeef3231" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug284.fst.hints b/examples/bug-reports/bug284.fst.hints index fd73e745d1d..3c8600c9007 100644 --- a/examples/bug-reports/bug284.fst.hints +++ b/examples/bug-reports/bug284.fst.hints @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6bf7e0d19c9816135a96d2d4a380fa10" + "refinement_interpretation_Tm_refine_85721560a0c745412eef4b2aa333de58" ], 0, - "dfd570cfd18da3dd383f3dbe2e8e38b9" + "d35fc67a5913ab0c38b8f048677c75ab" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug290.fst.hints b/examples/bug-reports/bug290.fst.hints index b0682ea4f13..31cb27b86d0 100644 --- a/examples/bug-reports/bug290.fst.hints +++ b/examples/bug-reports/bug290.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a83c24cba77dc01a8bd7c2c587fa1320" + "7b24beeb1bc74d7d38485f99e0cc4926" ], [ "Bug290.test2", @@ -23,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "574ebe3951f8a14c665efc1bae293224" + "f78c7398b45fba3aeaefd9952ec4d0cb" ], [ "Bug290.test3", @@ -37,11 +37,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0ecdfaf3765ef79af871990e6f31920f" + "b506ad8a44d75f3cc1d58c604cd5631a" ], [ "Bug290.test4", @@ -51,11 +51,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f9e5cfb9c6b3072df517c91041f85e2b" + "757248ac8763e3396cb8a41aeb40657b" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug292.fst.hints b/examples/bug-reports/bug292.fst.hints index ba92f3f4a91..08bf35e5e3c 100644 --- a/examples/bug-reports/bug292.fst.hints +++ b/examples/bug-reports/bug292.fst.hints @@ -24,7 +24,7 @@ "refinement_interpretation_Bug292_Tm_refine_bd6d982985e2df5ac87b5db124accca1" ], 0, - "d9a81638e42aa9891220ee46ac21f2ac" + "5e71737513123a817ceec574d3b03365" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug293.fst.hints b/examples/bug-reports/bug293.fst.hints index 4c42cb06279..898473b4fab 100644 --- a/examples/bug-reports/bug293.fst.hints +++ b/examples/bug-reports/bug293.fst.hints @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_24a102650c3561bc6be37068de08feda" + "refinement_interpretation_Tm_refine_bd81f7f6888a757bc18ca62c4d181a1c" ], 0, - "8bf586fac9ab9fb5fce4ec0d18c696d0" + "177e212e5d27e181be7a6d5c73814f6f" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug316.fst.hints b/examples/bug-reports/bug316.fst.hints index 9ce3ae52549..58f6f6ea67f 100644 --- a/examples/bug-reports/bug316.fst.hints +++ b/examples/bug-reports/bug316.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Bug316.a", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "haseqTm_refine_22e66b3cc5a2a795d66d00b6de2b1e50", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "abcea286250a7ff2230ef6b6b758c63a" + "a6473775a99af0fe6e40cc2a4d11ac04" ], [ "Bug316.r", @@ -23,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Bug316.a", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "haseqTm_refine_22e66b3cc5a2a795d66d00b6de2b1e50", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fa8993c9702dbc73e3a1954dd8c1c879" + "e555cfcd60a135c1e39dd1a2c2f786f9" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug363.fst.hints b/examples/bug-reports/bug363.fst.hints index e23e71240c2..25037551dd9 100644 --- a/examples/bug-reports/bug363.fst.hints +++ b/examples/bug-reports/bug363.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Bug363.pstep" ], 0, - "b7e010585310ecbb2557da5ef08cfefe" + "feedbba33ae3b2d1e06555bb8ef570bf" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug379.fst.hints b/examples/bug-reports/bug379.fst.hints index a2c0ec1af2c..12436ccd8f2 100644 --- a/examples/bug-reports/bug379.fst.hints +++ b/examples/bug-reports/bug379.fst.hints @@ -8,14 +8,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "8f9158bec058d692a4e5e0a6d3370d62" + "1f0fb7611e2459bd44b13181d04384d5" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug380_2.fst.hints b/examples/bug-reports/bug380_2.fst.hints index e93e3833218..c7c576feb4e 100644 --- a/examples/bug-reports/bug380_2.fst.hints +++ b/examples/bug-reports/bug380_2.fst.hints @@ -8,14 +8,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Bug380_2.single_inhabitant", "equation_Prims.l_and", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_inversion", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "unit_inversion" ], 0, - "8d7ca7048b5df814746c2e4547c45fd9" + "5a8da8445325f52576ac0f5357d5832c" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug398.fst.hints b/examples/bug-reports/bug398.fst.hints index 6686a2d00aa..df51d20fc6d 100644 --- a/examples/bug-reports/bug398.fst.hints +++ b/examples/bug-reports/bug398.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "8589afa964ea5ae677f59d57183773f4" + "9f051b557356a25b47ac97d04a3dc21d" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug399.fst.hints b/examples/bug-reports/bug399.fst.hints index 8948dcf5f57..e0bffada2eb 100644 --- a/examples/bug-reports/bug399.fst.hints +++ b/examples/bug-reports/bug399.fst.hints @@ -11,7 +11,7 @@ "unit_inversion" ], 0, - "c0159b4599c8449d7d59fe7979965d73" + "2e8777d93ce290c6501d18ce70be0d80" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug405.fst.hints b/examples/bug-reports/bug405.fst.hints index 9337dc94ddb..aa4814ecd52 100644 --- a/examples/bug-reports/bug405.fst.hints +++ b/examples/bug-reports/bug405.fst.hints @@ -8,11 +8,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "Bug405_interpretation_Tm_arrow_0c55530a575bf8e94add46ffb548393c", "unit_inversion", "unit_typing" ], 0, - "2e664df19dd90df453efdf5ca711e43e" + "37ad9d40d6fb0d851b6f5ef484807dd6" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug422.fst.hints b/examples/bug-reports/bug422.fst.hints index a0719f2e7b6..1384a231aaf 100644 --- a/examples/bug-reports/bug422.fst.hints +++ b/examples/bug-reports/bug422.fst.hints @@ -7,16 +7,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a820ccbaa3780f58c4ea39b8db882a7a" + "cb988fa160c4f296928550e36fb5dab9" ], [ "Bug422.fails", @@ -24,16 +21,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Bug422.lint", "equation_FStar.Heap.ref", - "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "equation_Bug422.lint", + "equation_FStar.Heap.ref", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", @@ -41,17 +35,18 @@ "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_Bug422.Box_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_kinding_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_Bug422.__proj__Box__item__v", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty", "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "94cd4fd21c4eb5b34ead9583d288846a" + "6fc360f5c09b426ffb29fbb163a8f020" ], [ "Bug422.box'", @@ -63,7 +58,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "6742e168f6b2c82660ef03e316e7e326" + "0e7b23865c15914d0766f37ea196cfeb" ], [ "Bug422.__proj__Box'__item__v", @@ -75,7 +70,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a5811d561ef0082b79ceef4c55f4a51f" + "1fa37ad0aee802e398f5d4f99c4f7027" ], [ "Bug422.__proj__Box'__item__v", @@ -87,7 +82,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "996024dc67f4b519a26666515ad1db0e" + "8446d3fcc6d43a93cbaab4965bc7b19d" ], [ "Bug422.works", @@ -95,22 +90,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Bug422.sixty_four", "equation_FStar.Heap.ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Bug422.sixty_four", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "proj_equation_Bug422.Box__v", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_afcab39568e77763e21befc04763fdf5", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_Bug422.__proj__Box___item__v", - "typing_FStar.Monotonic.Heap.addr_of" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ed1108388d8cc20eb49133725930309c" + "c5b27afdae143b7e0ddf0e41bad09d52" ], [ "Bug422.works", @@ -145,7 +133,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "bc9c5583d929c7f411e2a615346c87e9" + "f32c0ec639ab9b2fb7046d1a5ca86ae1" ], [ "Bug422.works", @@ -153,16 +141,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Bug422.lint", "equation_Bug422.sixty_four", - "equation_FStar.Heap.ref", "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "equation_Bug422.lint", + "equation_Bug422.sixty_four", "equation_FStar.Heap.ref", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", @@ -170,18 +156,19 @@ "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_Bug422.Box__v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_afcab39568e77763e21befc04763fdf5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_kinding_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_dfa43c7702fa5f2511a89e6a8373c8b3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_Bug422.__proj__Box___item__v", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty", "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "0bd29b121d162be4ffb558ef98b392e9" + "347aa41eeb95095ba4b81219c89138f2" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug424.fst.hints b/examples/bug-reports/bug424.fst.hints index de9c4725dd9..bb71b39d1a2 100644 --- a/examples/bug-reports/bug424.fst.hints +++ b/examples/bug-reports/bug424.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "aacb1e2f88a583e9087956f6db770372" + "0c9061f6b2f99bdaa54b28ba0be79188" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug433.fst.hints b/examples/bug-reports/bug433.fst.hints index 0dbae055bc1..f0371716dad 100644 --- a/examples/bug-reports/bug433.fst.hints +++ b/examples/bug-reports/bug433.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2c1f566cbe7bd6162bed815b54499675" + "9779f5074fcb4336132be3345727c176" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug463b.fst.hints b/examples/bug-reports/bug463b.fst.hints index 3b8b67b0dfc..04896681ecc 100644 --- a/examples/bug-reports/bug463b.fst.hints +++ b/examples/bug-reports/bug463b.fst.hints @@ -10,7 +10,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_ad2ea473c2a3b3d03bdbd62aeb40cf2f_2", + "@query", "binder_x_170a671c468b3505721b0e61cd4e9e64_2", "binder_x_c81500d55cdd4ca568958285fa42f9d4_0", "bool_inversion", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", @@ -20,11 +20,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_6234d910533c13134e70dfcd87a7330a", + "refinement_interpretation_Tm_refine_29892deab08ac65e1fc913574b9e74df", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "41b37d6613687a9568ede6528216c81c" + "bc54096eb7ffe8aacdd5055d0104d80f" ], [ "Bug463b.eq1", @@ -35,14 +35,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Prims.Cons", + "@query", "bool_inversion", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Equality", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", @@ -52,7 +50,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "476416d4ecb77e970af47cbf2a0cb87d" + "1b082d05110dc5f2e51e5ac51bed8afb" ], [ "Bug463b.eq1", @@ -79,7 +77,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "360d78be3d92868e5d1e36c79f20245e" + "b59dd274ba3b04809b6c708ba524a78b" ], [ "Bug463b.eq2", @@ -100,7 +98,7 @@ "typing_Bug463b.move_refinement" ], 0, - "ac891545c2f62f79f45991aad9803221" + "748c43927e59234edcab5d08d25ddff1" ], [ "Bug463b.lemma_move_refinement_length", @@ -110,11 +108,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1f29bc2547dbdd1df4d8b92d450a4717" + "3657ca122ef3534b2743c5f33d9fc8db" ], [ "Bug463b.lemma_move_refinement_length", @@ -122,16 +120,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "823d792d1b1a1584b0b8763aab909209" + "172a9dcf611727cef6ceba0dde671067" ], [ "Bug463b.lemma_move_refinement_length", @@ -144,7 +139,7 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_ad2ea473c2a3b3d03bdbd62aeb40cf2f_2", + "@query", "binder_x_170a671c468b3505721b0e61cd4e9e64_2", "binder_x_c81500d55cdd4ca568958285fa42f9d4_0", "bool_inversion", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", @@ -155,12 +150,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_29892deab08ac65e1fc913574b9e74df", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6234d910533c13134e70dfcd87a7330a", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "9c109640312ac66a0b19c5fc61a53e64" + "94a57e5090f58d8673e3f74f7c327d0a" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug466.fst.hints b/examples/bug-reports/bug466.fst.hints index 568cd6ad4eb..210be01e1fd 100644 --- a/examples/bug-reports/bug466.fst.hints +++ b/examples/bug-reports/bug466.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "974862538be811037b3bdf790ca3e261" + "9b056b2e11f00de08c405aaad2aa57e1" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug517.fst.hints b/examples/bug-reports/bug517.fst.hints index 17d78112eb6..c92a916e1e6 100644 --- a/examples/bug-reports/bug517.fst.hints +++ b/examples/bug-reports/bug517.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Bug517.new_int", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5" + "refinement_interpretation_Tm_refine_ccca5f91040f12ee7ed29f269126342d" ], 0, - "87e24e4d419256d744ebf54f2a58b2e0" + "60acd37052cd2850213ed048c043ec2e" ], [ "Bug517.add'", @@ -22,10 +22,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Bug517.new_int", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5" + "refinement_interpretation_Tm_refine_ccca5f91040f12ee7ed29f269126342d" ], 0, - "2734dba95d7a56d71fdefff9672f11fc" + "187b836535fc1689e2ac89ed4847398c" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug541.fst.hints b/examples/bug-reports/bug541.fst.hints index f544fe14a6a..45c5adcbd97 100644 --- a/examples/bug-reports/bug541.fst.hints +++ b/examples/bug-reports/bug541.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_Bug541.Bla_t" ], 0, - "8891d13e932f2eabd773c97d709b2d02" + "f17f7fdb91164cb8c56afa5f6cebef75" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug543.fst.hints b/examples/bug-reports/bug543.fst.hints index ebf562cc3ef..0b9e6ea0d67 100644 --- a/examples/bug-reports/bug543.fst.hints +++ b/examples/bug-reports/bug543.fst.hints @@ -16,7 +16,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "970ed783fc885d4bee777e3e4b62bc2d" + "ca1b2b96c6f71f54c5761d6e79c11cf0" ], [ "Bug543.f", @@ -24,14 +24,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Bug543.range", - "equation_Bug543.u", "equation_Bug543.wider", - "equation_Bug543.within", - "refinement_interpretation_Tm_refine_56bc4d4e844454be89f5af10ad5108ed", + "@MaxIFuel_assumption", "@query", "equation_Bug543.u", + "equation_Bug543.wider", "equation_Bug543.within", + "refinement_interpretation_Tm_refine_4e74d03d7b43c8ad9527aaf8e3845e75", "typing_Bug543.r" ], 0, - "43f6d6d5e1378a8218f1d6354dc6d909" + "837fc54972a671201aecfa75b4147a31" ], [ "Bug543.g", @@ -39,14 +38,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Bug543.range", - "equation_Bug543.rint", "equation_Bug543.u", "equation_Bug543.wider", - "refinement_interpretation_Tm_refine_56bc4d4e844454be89f5af10ad5108ed", - "refinement_interpretation_Tm_refine_af072d5fa2b9485012c36e8074dc7c55", + "@MaxIFuel_assumption", "@query", "equation_Bug543.rint", + "equation_Bug543.u", "equation_Bug543.wider", + "refinement_interpretation_Tm_refine_4e74d03d7b43c8ad9527aaf8e3845e75", + "refinement_interpretation_Tm_refine_e858c9cf080964ab54c3b00ead031ba3", "typing_Bug543.r" ], 0, - "e6646f58e3958ba685d908bea1492e1f" + "fa683525e03e8073d59066bb0c56236b" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug566.fst.hints b/examples/bug-reports/bug566.fst.hints index e7254f1c045..79eaedeef3f 100644 --- a/examples/bug-reports/bug566.fst.hints +++ b/examples/bug-reports/bug566.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_ca26a7be6e8d5671df710d5a799d30b5" ], 0, - "fc08e9e1239a6d2dded409b55f1082e7" + "191a43e0828a9cd95cb3926be9af9731" ], [ "Bug566.__proj__F__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_2dc605cac2a2b1e27d394607dbcd94b7" ], 0, - "dbd403d02e302ebb315bf8c1885e748b" + "39abfd0a89dcb95b8892da1153a8b74b" ], [ "Bug566.__proj__C'__item___0", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_c69cc4c61eeac57c1118fca0dc112ca5" ], 0, - "7e19c3f533298ddd93f41aeadf6bacbc" + "015d73a635908b146e01c3b3d6d5f602" ], [ "Bug566.__proj__F'__item___0", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_5518a97d3f72135e379d9e2c8d483299" ], 0, - "4000008448d684ad6c650b9d597ad173" + "88eab5fccf532e17bc23d4b32fd942c7" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug575.fst.hints b/examples/bug-reports/bug575.fst.hints index 64736e39844..7394abc08cc 100644 --- a/examples/bug-reports/bug575.fst.hints +++ b/examples/bug-reports/bug575.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_Bug575.Multi_step0_x" ], 0, - "5232eaf590954c1b7693cf62ad0fe2c8" + "3cea73dac3ce14155a8ec2b071b6d493" ], [ "Bug575.__proj__Multi_step__item___1", @@ -23,7 +23,7 @@ "projection_inverse_Bug575.Multi_step_x" ], 0, - "9d6a233259f46c60d788ef4a8fafb886" + "cf9612412fd41b22c8d764da69c0932d" ], [ "Bug575.__proj__FRReturn__item___1", @@ -35,7 +35,7 @@ "projection_inverse_Bug575.FRReturn_x" ], 0, - "1b03fc10b4f83b9eaee5917833c2e01c" + "0ba0a0a4428f66394605de926ae1e15a" ], [ "Bug575.__proj__Refl__item__x", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_0f4f98da9a374e716ef63572d08c0b40" ], 0, - "003bbf32e1a34313d8decc1b194f9844" + "41eed901b450e9fa8c136e9c72907794" ], [ "Bug575.__proj__Step__item__x", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_828b4273d72803dc6fce0b89ab2a80ec" ], 0, - "da145af11d1c687ebedb21b2b8ed35c0" + "084150a0042e9735e51c91b270236180" ], [ "Bug575.__proj__Step__item__y", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_828b4273d72803dc6fce0b89ab2a80ec" ], 0, - "0316840b65bac3d554a6d81250378618" + "ffe101e1ffd4d9956e13a10732426756" ], [ "Bug575.__proj__Step__item__z", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_828b4273d72803dc6fce0b89ab2a80ec" ], 0, - "9ce69944ec67737d6a76d88ff193438a" + "1d47ea1d1f2ca1dd39365e03759dc71b" ], [ "Bug575.__proj__Step__item__s", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_828b4273d72803dc6fce0b89ab2a80ec" ], 0, - "1e47b91a4170adf8a6108be7f98a0eee" + "eb50df78dcc88bc1452ef0e40b805290" ], [ "Bug575.__proj__Step__item___4", @@ -119,7 +119,7 @@ "refinement_interpretation_Tm_refine_828b4273d72803dc6fce0b89ab2a80ec" ], 0, - "dffd6f7444f011898cd703d26f3a8f48" + "bf346c5866108248eba9c215104cc9e3" ], [ "Bug575.__proj__Refl'__item__x", @@ -132,7 +132,7 @@ "refinement_interpretation_Tm_refine_e842d8cdb49263b0948f29d3f459ae2c" ], 0, - "ab0f001865807f56e0cbb9b6855ac8ef" + "49bca8593db857c8d7006cc4bd1e8384" ], [ "Bug575.__proj__Step'__item__x", @@ -145,7 +145,7 @@ "refinement_interpretation_Tm_refine_61d1ce3e229164ce200b139c126ba8eb" ], 0, - "96ea3878c33358222c9ef77818b28410" + "79dad3de7ff42730be72e3116200457c" ], [ "Bug575.__proj__Step'__item__y", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_61d1ce3e229164ce200b139c126ba8eb" ], 0, - "75935bd1fa98db91b4f95f7b2258b625" + "acad2dd5569f713d63f907febfdc2229" ], [ "Bug575.__proj__Step'__item___2", @@ -174,7 +174,7 @@ "refinement_interpretation_Tm_refine_61d1ce3e229164ce200b139c126ba8eb" ], 0, - "ea9136d109db29b66971d0fbba73507b" + "1ffffcd989e2acdc020eef62e38582df" ], [ "Bug575.__proj__Trans'__item__x", @@ -187,7 +187,7 @@ "refinement_interpretation_Tm_refine_57dba81f8815aee5a52cbf2979f8572c" ], 0, - "2c5dc619c2587a4e2225f79684122b11" + "b7bc33d573c6d0181e94f8575ca72205" ], [ "Bug575.__proj__Trans'__item__y", @@ -200,7 +200,7 @@ "refinement_interpretation_Tm_refine_57dba81f8815aee5a52cbf2979f8572c" ], 0, - "8688fc166c658aad8d1348b27e5f7082" + "1f638cb7cfc32edf7754278e8ba0812e" ], [ "Bug575.__proj__Trans'__item__z", @@ -213,7 +213,7 @@ "refinement_interpretation_Tm_refine_57dba81f8815aee5a52cbf2979f8572c" ], 0, - "c4163375f18173bc762e6bd29cd6787a" + "3dccdd2b75aed44f8fbf0719afb31ec9" ], [ "Bug575.__proj__Trans'__item___3", @@ -229,7 +229,7 @@ "refinement_interpretation_Tm_refine_57dba81f8815aee5a52cbf2979f8572c" ], 0, - "a89033653d529a9d68531a0d4ee535b0" + "c314550f1f948da7cd921022a91fd20d" ], [ "Bug575.__proj__Trans'__item___4", @@ -245,7 +245,7 @@ "refinement_interpretation_Tm_refine_57dba81f8815aee5a52cbf2979f8572c" ], 0, - "9a2b334d52c17a42324ca255c7bcdc59" + "aafc205006cd585d06467bbc45fcd9a0" ], [ "Bug575.i1", @@ -262,7 +262,7 @@ "subterm_ordering_Bug575.Step" ], 0, - "e856ed4f7fee001021c4e4ca526fb00c" + "cb372f3ffa29067a608c00fba6370aac" ], [ "Bug575.trans", @@ -279,7 +279,7 @@ "subterm_ordering_Bug575.Step" ], 0, - "cec42ba9fc31b64ad94529f536b9ada1" + "1dc10d7ce2fe27ef15ab5280ba9b9dd9" ], [ "Bug575.i2", @@ -297,7 +297,7 @@ "subterm_ordering_Bug575.Trans_" ], 0, - "74b42a9492fe90c48144a603099bc459" + "7d9022c190c56b2d2847b7b3762b0669" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug577.fst.hints b/examples/bug-reports/bug577.fst.hints index 005cba77384..4ce342c4b7f 100644 --- a/examples/bug-reports/bug577.fst.hints +++ b/examples/bug-reports/bug577.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_Bug577.Multi_step_x" ], 0, - "64dcbdc19ca901144b4aee6fb96982eb" + "23b3917cc46ed9230f04664485ad33f0" ], [ "Bug577.steps_preserves_red", @@ -23,7 +23,7 @@ "fuel_guarded_inversion_Bug577.step" ], 0, - "a794e38fa3084bb202337004d7d02102" + "584ccdd74e5943d791acedf897290b5c" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug579.fst.hints b/examples/bug-reports/bug579.fst.hints index 54b9e69f6e2..0306e037f97 100644 --- a/examples/bug-reports/bug579.fst.hints +++ b/examples/bug-reports/bug579.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "0e31b8857ed9357c5ce71adb2659c4ce" + "07603873c4395c4cbca317406b3c0958" ], [ "Bug579.__proj__TyEqu__item__ht", @@ -24,7 +24,7 @@ "projection_inverse_Bug579.TyEqu_t2" ], 0, - "0aebd0c6eb889b213331fbe35f2823bd" + "ce88a0571cf1c19e05854a640991a53c" ], [ "Bug579.progress'", @@ -33,12 +33,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_e4f13f20c6a154a4a71672b0064d098a_2", + "binder_x_1f4e0e649899230b6279be707e3f85f4_2", "data_elim_Bug579.TyEqu", "equality_tok_Prims.LexTop@tok", "subterm_ordering_Bug579.TyEqu" ], 0, - "7b6994fda6c738ed19d4e1fd0a8fa395" + "a8691e4bf015360d29f46b0b5c724aee" ], [ "Bug579.progress", @@ -47,14 +47,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_e4f13f20c6a154a4a71672b0064d098a_2", + "binder_x_1f4e0e649899230b6279be707e3f85f4_2", "data_elim_Bug579.TyEqu", "equality_tok_Prims.LexTop@tok", - "projection_inverse_Bug579.TyEqu_e", - "projection_inverse_Bug579.TyEqu_ht", - "projection_inverse_Bug579.TyEqu_t1", "subterm_ordering_Bug579.TyEqu" + "subterm_ordering_Bug579.TyEqu" ], 0, - "1f9fdc4d619481925ce0f1bcf2b875b6" + "0173771a9be6ee3cb4494b69447bc9b1" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug581.fst.hints b/examples/bug-reports/bug581.fst.hints index 98b40e43f76..f6890ef9a4b 100644 --- a/examples/bug-reports/bug581.fst.hints +++ b/examples/bug-reports/bug581.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5bc8fb8669e586c177d0ae6e7c72666f" + "bcfb5d3c0821e3a38fb086cdf78c325e" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug589.fst.hints b/examples/bug-reports/bug589.fst.hints index 9aa5153a173..73fc886bcba 100644 --- a/examples/bug-reports/bug589.fst.hints +++ b/examples/bug-reports/bug589.fst.hints @@ -12,7 +12,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "b484742e94a9849b5188ee97917eb954" + "3f79ee8bef00cb807ba58483eded47ec" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug590.fst.hints b/examples/bug-reports/bug590.fst.hints index 9b24b3479b5..69fae994f44 100644 --- a/examples/bug-reports/bug590.fst.hints +++ b/examples/bug-reports/bug590.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Bug590_Tm_refine_de9aeb070296eed20d879692d0254af0" ], 0, - "fb6524da8abbeb92da78a8cc714a4366" + "15ed84f14d6c3be60411269d5d5f6813" ], [ "Bug590.coerce", @@ -29,7 +29,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "10ab3a50257ba42f5c3b24b1f682532d" + "40d91d2fe5d446c75274f99ab401f281" ], [ "Bug590.blah2", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "d23e48f560954e552c744e09053be194" + "0b9e84cd2896d4fe390dfea78559bd88" ], [ "Bug590.flatten_lemma", @@ -66,7 +66,7 @@ "typing_FStar.List.Tot.Base.flatten" ], 0, - "58ed704b4199b37feca8aaede7d768a9" + "53f3c82d5ded652379c42485db46165a" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug605.fst.hints b/examples/bug-reports/bug605.fst.hints index ee0dd87da54..09144233c12 100644 --- a/examples/bug-reports/bug605.fst.hints +++ b/examples/bug-reports/bug605.fst.hints @@ -11,7 +11,7 @@ "fuel_guarded_inversion_Bug605.peq" ], 0, - "d59404066500b3bc27b93e07245f31b0" + "cb180dc4df95aebd4f3d83994448e5f7" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug606.fst b/examples/bug-reports/bug606.fst index 79933696644..bd7344f5c2c 100644 --- a/examples/bug-reports/bug606.fst +++ b/examples/bug-reports/bug606.fst @@ -74,7 +74,16 @@ let uint64_to_uint32 m = val uint64_to_uint32': m:UInt64.t{fits (UInt64.v m) n} -> Tot FStar.UInt32.t let uint64_to_uint32' m = - cut (uint_t n == x:int{size x n}); - cut (forall (p:uint_t n). p:(x:int{size x n})); + (* + * AR: 06/15: This assertion was only provable because of a bug in + * the smt encoding of Tm_refine terms. Essentially we were + * mistakenly closing over the nullary constants (n here). + * That results in the following refinements having the same + * smt encoding as that of the refinements in the definition of + * uint_t. But since that bug is fixed, the encoding is no more + * shared. + *) + //cut (uint_t n == x:int{size x n}); + //cut (forall (p:uint_t n). p:(x:int{size x n})); let m':uint_t n = UInt64.v m in // This fails, even if the above is provable UInt32.uint_to_t m' diff --git a/examples/bug-reports/bug606.fst.hints b/examples/bug-reports/bug606.fst.hints index 478855a2684..a6b4fcceb15 100644 --- a/examples/bug-reports/bug606.fst.hints +++ b/examples/bug-reports/bug606.fst.hints @@ -1,5 +1,5 @@ [ - "’\u001e\u0001Öa‘¼„É|ÔàSo\f", + "eñó\u0002\u000f(òþT´\u0015\u0003±N¨E", [ [ "Bug606.f", @@ -9,13 +9,13 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_44b9e2ef56639fdc5369c69d3941d4f3_0", "bool_typing", + "binder_x_15940b4538ea6e727af084f10407ad60_0", "bool_typing", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Bug606.list", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "b07502310f09003d0ad78fbe9678b8c6" + "caf3f82a1c168c354616d4a21a633830" ], [ "Bug606.g", @@ -25,13 +25,13 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_44b9e2ef56639fdc5369c69d3941d4f3_0", "bool_typing", + "binder_x_15940b4538ea6e727af084f10407ad60_0", "bool_typing", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Bug606.list", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "b2f8b520cd064c9309a7fe8385aeed98" + "f504c7473e25276952de4c0f30cf8851" ], [ "Bug606.f_eq_g", @@ -45,7 +45,7 @@ "@fuel_irrelevance_Bug606.f.fuel_instrumented", "@fuel_irrelevance_Bug606.g.fuel_instrumented", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_44b9e2ef56639fdc5369c69d3941d4f3_0", "bool_typing", + "binder_x_15940b4538ea6e727af084f10407ad60_0", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Bug606.list", @@ -58,7 +58,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "a051598849aa89d3d49b1cec2c8d507f" + "1684726c57bbd7adf3afe37304197ce9" ], [ "Bug606.h", @@ -74,7 +74,7 @@ "lemma_Bug606.f_eq_g" ], 0, - "a602246ec85768275a70db66dbfe5abc" + "e23f53ac35b6d9eab74e91f23173650f" ], [ "Bug606.uint64_to_uint32", @@ -83,7 +83,7 @@ 1, [ "@query" ], 0, - "4f8d7aa76fd584395ad6e1f5bed343c9" + "30892ca8d2e3f191ef05635483c725eb" ], [ "Bug606.uint64_to_uint32", @@ -92,7 +92,7 @@ 1, [ "@query" ], 0, - "908256b19e0a83bfb137d6dae3c91e29" + "c9a367c60b5dbc19205a04cfc6fd26c0" ], [ "Bug606.uint64_to_uint32", @@ -100,20 +100,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Bug606.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Bug606.n", + "equation_FStar.UInt.fits", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fab9a73e3cb700edd994d69d8e841b3", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9723ee2ab2be8767c46351843c3d3f1a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt64.v" ], 0, - "8c4134272ee1ec3bb2750bbf61913534" + "289d77726cfb242955c8761713477e47" ], [ "Bug606.uint64_to_uint32'", @@ -122,7 +119,7 @@ 1, [ "@query" ], 0, - "23ce37db60464edf8ab7e10e4650328c" + "db42b030c6ae3df0b93b43053f84b35a" ], [ "Bug606.uint64_to_uint32'", @@ -131,7 +128,7 @@ 1, [ "@query" ], 0, - "1a0d3d93c3832f22e23edb6db3837b54" + "67d5a28c246d9729666976ef77517f39" ], [ "Bug606.uint64_to_uint32'", @@ -139,20 +136,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Bug606.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Bug606.n", + "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fab9a73e3cb700edd994d69d8e841b3", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt64.v" + "refinement_interpretation_Tm_refine_9723ee2ab2be8767c46351843c3d3f1a" ], 0, - "2e5e92fa5341770f4ce49743dcd13d94" + "1c9a1679bd430d77d42fd192cefa90f1" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug609.fst.hints b/examples/bug-reports/bug609.fst.hints index a90a365bc92..f60217dd04a 100644 --- a/examples/bug-reports/bug609.fst.hints +++ b/examples/bug-reports/bug609.fst.hints @@ -10,13 +10,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.fold_left.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3bc48e9e0ae71786e958e3e19e27d674", + "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.fold_left.fuel_instrumented", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "primitive_Prims.op_Addition", "primitive_tot_fun_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition.1", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", @@ -25,7 +27,7 @@ "typing_FStar.List.Tot.Base.fold_left" ], 0, - "8420e457f68a4ffde1700165528bf441" + "874f8b668fc586b0c7014e91dbbe3d89" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug613.fst.hints b/examples/bug-reports/bug613.fst.hints index 1862d2e7553..1c674e72695 100644 --- a/examples/bug-reports/bug613.fst.hints +++ b/examples/bug-reports/bug613.fst.hints @@ -11,7 +11,7 @@ "function_token_typing_Bug613.g" ], 0, - "71e959d77bab7a84fd40fabeaf0a945d" + "0ba3eeaa7e41583dbaa09cf1c81526c2" ], [ "Bug613.l'", @@ -23,7 +23,7 @@ "function_token_typing_Bug613.g" ], 0, - "7da2c329fdc1b2d97f8cb25719f81282" + "275249373998fb11ebf14686c93b33a1" ], [ "Bug613.l''", @@ -35,7 +35,7 @@ "function_token_typing_Bug613.h" ], 0, - "151d4d95e8e3948c35265b62a83f3bad" + "01e156ca6a292ac1dccb3455b4d11a7d" ], [ "Bug613.test_i", @@ -47,7 +47,7 @@ "function_token_typing_Bug613.i1" ], 0, - "0b7acbebb29f6f361c06c7c967ead026" + "fc4f0e597bc745c7ddce80c81cc9a10e" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug623.fst.hints b/examples/bug-reports/bug623.fst.hints index 0a3bacbf25d..d4865387703 100644 --- a/examples/bug-reports/bug623.fst.hints +++ b/examples/bug-reports/bug623.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d385845e85c86b120b4d710225ca5e17" + "940fa0cd4393478a26b99c94a8956637" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug706.fst.hints b/examples/bug-reports/bug706.fst.hints index e5c3271a12a..1ab774ab4d3 100644 --- a/examples/bug-reports/bug706.fst.hints +++ b/examples/bug-reports/bug706.fst.hints @@ -8,17 +8,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Bug706_interpretation_Tm_arrow_0be46514fe61755cfabf3fe87e746ccc", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", + "Bug706_interpretation_Tm_arrow_6e9cab30cb0eafb661d768f4364082e9", + "bool_inversion", "bool_typing", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Bug706.exnst", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" + "lemma_FStar.Pervasives.invertOption" ], 0, - "8d097bdb8befb8fac1b708c4905b8266" + "d8ec6e2a11bee2b7a035d8c0e4fdd047" ], [ "Bug706._dm4f_EXNST_bind_wp", @@ -35,7 +34,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "a3179202950920fa71576a96f3a1254f" + "977ce5c30e31904ad3b96d0100b0e686" ], [ "Bug706._dm4f_EXNST_int_bind_wp", @@ -53,7 +52,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6bdf21858d9cdae0ddf46a73dfe7aa00" + "052a0afbd9eb8de5500efdb389fc624c" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug707.fst.hints b/examples/bug-reports/bug707.fst.hints index 3725275d1c5..c34b68b5012 100644 --- a/examples/bug-reports/bug707.fst.hints +++ b/examples/bug-reports/bug707.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Bug707_interpretation_Tm_arrow_52994bb0275470a0caf2252ea6901b0a", + "Bug707_interpretation_Tm_arrow_0e9d2ce21210024c64d270958ff1fc12", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -21,7 +21,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "29eee35950eec637951d82fab0575561" + "306e91a97a1b737c7da2c9f3bf688574" ], [ "Bug707._dm4f_STEXN_bind_wp", @@ -40,7 +40,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "f25a43b2d34c915352ad94ca26741ece" + "bd7007540677758d1218237fb4869b32" ], [ "Bug707._dm4f_STEXN___proj__STEXN__item__get_elab", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "3b674a55e15ba4c660a627c8e3d57441" + "a81892ed92d93bd13c493b038ab0fc70" ], [ "Bug707._dm4f_STEXN___proj__STEXN__item__put_elab", @@ -58,7 +58,7 @@ 1, [ "@query" ], 0, - "4aa9b9bc439f647f4d24e490001eae44" + "3330084bc1ae1977a6553afdf9ef7456" ], [ "Bug707._dm4f_STEXN___proj__STEXN__item__raise_elab", @@ -67,7 +67,7 @@ 1, [ "@query" ], 0, - "d9c9a2e58a20a7fb5e0e34e3cc83f87c" + "51626370d87a9bc22ed78146e5afcd8c" ], [ "Bug707.STEXN", @@ -76,7 +76,7 @@ 1, [ "@query" ], 0, - "6c7dc5db590c820355d80233f2416112" + "7be248e9f4d74784a0339fc12c6f33e1" ], [ "Bug707.STEXN", @@ -85,7 +85,7 @@ 1, [ "@query" ], 0, - "bd33d2921586768b0a5fc68de231d300" + "ce7c010cde1f946251cf8a81c25364d1" ], [ "Bug707.STEXN", @@ -94,7 +94,7 @@ 1, [ "@query" ], 0, - "7d22db7998c942f3979f3fe0ba0c56c5" + "92b720538070e60c4aa4436666cce412" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug710.fst.hints b/examples/bug-reports/bug710.fst.hints index f6e2888d3e6..9ffb2f046c2 100644 --- a/examples/bug-reports/bug710.fst.hints +++ b/examples/bug-reports/bug710.fst.hints @@ -8,8 +8,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Bug710_interpretation_Tm_arrow_b2723f04049f55e23469d5c6dd46d21f", - "Bug710_interpretation_Tm_arrow_c56aebc985490abf5ef65536a48a4daa", + "Bug710_interpretation_Tm_arrow_657bc76303a8a2e3fadb4915c654df47", + "Bug710_interpretation_Tm_arrow_89fc5d09c5535f5bc6cb36a74f66fca8", "Bug710_pretyping_e9504e14cc1510d6e0212487d8a1730a", "bool_inversion", "bool_typing", "data_typing_intro_Bug710.High@tok", "disc_equation_FStar.Pervasives.Native.None", @@ -20,7 +20,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "69b8c48da475322da782f9134a7ac771" + "93bc16fabb025127d253f105074d0144" ], [ "Bug710.left_unit", @@ -29,12 +29,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Bug710_interpretation_Tm_arrow_b2723f04049f55e23469d5c6dd46d21f", - "Bug710_interpretation_Tm_arrow_c56aebc985490abf5ef65536a48a4daa", + "Bug710_interpretation_Tm_arrow_657bc76303a8a2e3fadb4915c654df47", + "Bug710_interpretation_Tm_arrow_89fc5d09c5535f5bc6cb36a74f66fca8", "Bug710_pretyping_e9504e14cc1510d6e0212487d8a1730a", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", - "equality_tok_Bug710.Low@tok", "equation_Bug710.bind_ifc", + "data_typing_intro_Bug710.High@tok", "equation_Bug710.bind_ifc", "equation_Bug710.eq_ifc", "equation_Bug710.ifc", "equation_Bug710.return_ifc", "fuel_guarded_inversion_Bug710.label", "fuel_guarded_inversion_FStar.Pervasives.Native.option", @@ -45,11 +45,10 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "typing_Bug710.bind_ifc", "typing_Bug710.return_ifc", - "typing_tok_Bug710.Low@tok" + "typing_Bug710.bind_ifc", "typing_Bug710.return_ifc" ], 0, - "8d4f51bd200f177b80fe5b4f0312beee" + "413f5c8bf3eba6778f0b1bf1024512a7" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug734.fst.hints b/examples/bug-reports/bug734.fst.hints index 02b4f2728fd..f045f03e319 100644 --- a/examples/bug-reports/bug734.fst.hints +++ b/examples/bug-reports/bug734.fst.hints @@ -12,7 +12,7 @@ "fuel_guarded_inversion_Bug734.dir" ], 0, - "1c3fa6f4e78b33e48c11afe2c7cc10ed" + "50b1533bde7545dc10a190e03104df15" ], [ "Bug734.def_value", @@ -20,17 +20,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_typing", + "@MaxIFuel_assumption", "@query", "bool_typing", "disc_equation_Bug734.Bool", "disc_equation_Bug734.Fun", "disc_equation_Bug734.Int", "equation_Bug734.arg_type", - "fuel_guarded_inversion_Bug734.dir", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "fuel_guarded_inversion_Bug734.dir", "int_typing", "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "typing_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" ], 0, - "87198d548879044fb2ee487be0925445" + "25deb24910c4133369d13eae26235936" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug736.fst.hints b/examples/bug-reports/bug736.fst.hints index b7a07a05ec0..c827d92adb2 100644 --- a/examples/bug-reports/bug736.fst.hints +++ b/examples/bug-reports/bug736.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_b0ecc9ff3d7b826e8dfbdbd99e83c3c3" ], 0, - "58dba42823e490162339559bbcd31011" + "98c6a3116127c5fd7e59956bf806c794" ], [ "Bug736.__proj__Goal__item___1", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_b0ecc9ff3d7b826e8dfbdbd99e83c3c3" ], 0, - "70384df771b5f1522e30bd95c855dcd0" + "d7bc25248a70cea7644ecba80713a3b7" ], [ "Bug736.__proj__AHyp__item__a", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_bfba6f53fada18c2869c6f69e20ceaa8" ], 0, - "9997b3032f980dd777bde74f33189711" + "2fbd66d69d0fb1b93c972686040a2bd7" ], [ "Bug736.__proj__AHyp__item___1", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_bfba6f53fada18c2869c6f69e20ceaa8" ], 0, - "b5127390ed949e2d9e82ad7647a32d5c" + "9308882a3e54706bde4c01ae8996380a" ], [ "Bug736.__proj__AHyp__item___2", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_bfba6f53fada18c2869c6f69e20ceaa8" ], 0, - "28b822fd4c34255cd8b7ace8ffe491a7" + "d7feb6ceee56d751f87093cc7ea29f84" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug771.fsti.hints b/examples/bug-reports/bug771.fsti.hints index dcda3414775..edbf33867c1 100644 --- a/examples/bug-reports/bug771.fsti.hints +++ b/examples/bug-reports/bug771.fsti.hints @@ -11,7 +11,7 @@ "haseqBug771_Tm_refine_cfd5022733fb6490c664c19d1fc29fba" ], 0, - "e3670d9d11e0b3b641e035271ae5445c" + "7d1f9b2d9a65ae33905be1d8dc17bdcf" ], [ "Bug771.ctemplate", @@ -23,7 +23,7 @@ "haseqBug771_Tm_refine_cfd5022733fb6490c664c19d1fc29fba" ], 0, - "c71459ef695b53932a141ec6fa0a9d44" + "de47556eda1410154dbd8196c6307f23" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug771b.fsti.hints b/examples/bug-reports/bug771b.fsti.hints index c3dcec8f0f5..25e481316d8 100644 --- a/examples/bug-reports/bug771b.fsti.hints +++ b/examples/bug-reports/bug771b.fsti.hints @@ -11,7 +11,7 @@ "haseqBug771b_Tm_refine_cfd5022733fb6490c664c19d1fc29fba" ], 0, - "ef3f7f0e6bdb1228a7b634ebd34c6ea4" + "54a6817e0f2f9dee60409403f212608c" ], [ "Bug771b.ctemplate", @@ -23,7 +23,7 @@ "haseqBug771b_Tm_refine_e9bac726dc879b078c8f51ca7283a7cd" ], 0, - "0fb4bda0846aaebdcf79054900dc2ab5" + "68e1c723200e3996e2a9844c2cf857fd" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug807e.fst.hints b/examples/bug-reports/bug807e.fst.hints index 26a4536d7e7..80247d96b91 100644 --- a/examples/bug-reports/bug807e.fst.hints +++ b/examples/bug-reports/bug807e.fst.hints @@ -12,7 +12,7 @@ "token_correspondence_Bug807e.__proj__MkMonad__item__car" ], 0, - "50f2279267fa87655d892f28063dde87" + "3612ee63585ae20083f921cd75990a9e" ], [ "Bug807e.__proj__MkMonad__item__bnd", @@ -26,7 +26,7 @@ "token_correspondence_Bug807e.__proj__MkMonad__item__car" ], 0, - "7377ff8dce55801455d64e6685b187a2" + "3272e84afb97c135eb722276271e5fec" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug844.fst.hints b/examples/bug-reports/bug844.fst.hints index c73825da8ab..c401f5b6954 100644 --- a/examples/bug-reports/bug844.fst.hints +++ b/examples/bug-reports/bug844.fst.hints @@ -13,7 +13,7 @@ "token_correspondence_Bug844.__proj__MkR__item__j" ], 0, - "3903904767dc32e5e9dbf6ed13dc5fd8" + "da59d10fc680c4ddcecb53e46f148019" ], [ "Bug844.__proj__MkC__item__inv2", @@ -28,7 +28,7 @@ "token_correspondence_Bug844.__proj__MkC__item__j2" ], 0, - "151b3f5eb943fd2047babd35719c0767" + "7ee76780840a4626c40c7146282ff0e8" ], [ "Bug844.l1", @@ -41,7 +41,7 @@ "fuel_guarded_inversion_Prims.c_or" ], 0, - "612e4962af12a533271c03ca9e1a53bd" + "c3658e6d4489fc6b2c5b525263c3ae90" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/bug989.fst.hints b/examples/bug-reports/bug989.fst.hints index 7cf61a72b7f..2f76bad2cf6 100644 --- a/examples/bug-reports/bug989.fst.hints +++ b/examples/bug-reports/bug989.fst.hints @@ -9,15 +9,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "19e381dfacf4472f9f2386c4c2181753" + "1bd86911befb8a629ea7ddc12f0da594" ], [ "Bug989.foo", @@ -32,10 +32,10 @@ "equation_with_fuel_Bug989.g.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "14bf0eb703a1550335bafd4b392dd8f2" + "9974b82f86a785e64abe44f84d103ae3" ], [ "Bug989.f", @@ -47,7 +47,7 @@ "disc_equation_Bug989.B", "fuel_guarded_inversion_Bug989.t" ], 0, - "1ea1789e82433082f9071f28acc43000" + "703a65127a0ebdd4ad442b8d398e8d14" ] ] ] \ No newline at end of file diff --git a/examples/bug-reports/unfold.fst.hints b/examples/bug-reports/unfold.fst.hints index b1aaa3e5578..74351fa4276 100644 --- a/examples/bug-reports/unfold.fst.hints +++ b/examples/bug-reports/unfold.fst.hints @@ -12,7 +12,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "134dcf3a62c02559064e51691fca10d5" + "033f7de9086d0e7728bf5ee158670714" ] ] ] \ No newline at end of file diff --git a/examples/calc/BasicTests.fst.hints b/examples/calc/BasicTests.fst.hints index 20af6f35be1..f624f222277 100644 --- a/examples/calc/BasicTests.fst.hints +++ b/examples/calc/BasicTests.fst.hints @@ -33,7 +33,7 @@ "typing_FStar.Preorder.relation" ], 0, - "69f6f859a892f6bdd4a737a6fc5297a9" + "04a3fe05494d01d6641fe5b842a160ef" ], [ "BasicTests.test2", @@ -67,7 +67,7 @@ "typing_FStar.Preorder.relation" ], 0, - "ea46018cf91a5e0c5366831cd091ba09" + "97e10225cd68bd5c4edb7a70c3fce22c" ], [ "BasicTests.test3", @@ -98,7 +98,7 @@ "typing_FStar.Preorder.relation" ], 0, - "1f5a9987a1320b93acd73804e4e2ca33" + "67ef7092643b90c460ebd16051f29dd2" ], [ "BasicTests.test4", @@ -126,7 +126,7 @@ "typing_FStar.Preorder.relation" ], 0, - "81c0753d590ce0cfff6fcf08a091c836" + "d9b4f4aeb1be96988cfe4b1687da7ff4" ], [ "BasicTests.test5", @@ -164,7 +164,7 @@ "token_correspondence_Prims.eq2", "typing_FStar.Preorder.relation" ], 0, - "5e473ada1059c00c125ea469392bba93" + "362f3a7d70894c094ec88f28f22b5b45" ], [ "BasicTests.test1", @@ -198,7 +198,7 @@ "typing_FStar.Preorder.relation" ], 0, - "216fe3d903dd857a3005d53224de637e" + "90dd4a6d2ab3359d3c4b51044dfd6a54" ], [ "BasicTests.test2", @@ -232,7 +232,7 @@ "typing_FStar.Preorder.relation" ], 0, - "f1df933ffccd0492f56904bad23180b9" + "909e98761f368d0422a1ea6c2424168e" ], [ "BasicTests.test3", @@ -263,7 +263,7 @@ "typing_FStar.Preorder.relation" ], 0, - "64d19333f49b66d248e732969c801d15" + "1012032b0e8f8a99c892f39452f64be6" ], [ "BasicTests.test4", @@ -291,7 +291,7 @@ "typing_FStar.Preorder.relation" ], 0, - "716a045d27d2c4430fccc54d6553931e" + "35c85bff226bbca1e340f7068ba7c39c" ], [ "BasicTests.test5", @@ -329,7 +329,7 @@ "token_correspondence_Prims.eq2", "typing_FStar.Preorder.relation" ], 0, - "e2a887195681b99d8a6edda2f38a1771" + "04bc6d87502f8af94c4590b1d2936bff" ] ] ] \ No newline at end of file diff --git a/examples/calc/CalcInference.fst.hints b/examples/calc/CalcInference.fst.hints index beb8de4d495..45a4c21670f 100644 --- a/examples/calc/CalcInference.fst.hints +++ b/examples/calc/CalcInference.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "9bf1d6d150332f4852f84ef77e97e28e" + "a41d2800d4b795d5ddfb25d8a27149d5" ], [ "CalcInference.test2", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "1f3209080824eb65e7242cfe307e7b29" + "f0fa02bfa0131cf6cb929afe9629a038" ], [ "CalcInference.test3", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "baa76bd629c690e98e93ee0f2e009189" + "4dd26f2bbe1ddd9a64978265a5a6044b" ], [ "CalcInference.test1", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "92cd37e2de5d5320e649a92fe0ca2904" + "bffe20cb45fe7d0d52bab2748382bda7" ], [ "CalcInference.test2", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "d40c76f7914a10fb76a98e3be5a15120" + "c21e7c69523649e7ba8eefecc4b70f4b" ], [ "CalcInference.test3", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "c12f822f5fd73b82b67b01f68ff75a56" + "b1b06d6ad44316c419a5a281f50d0719" ] ] ] \ No newline at end of file diff --git a/examples/calc/CalcTest.fst.hints b/examples/calc/CalcTest.fst.hints index 291e6773a61..d3dfe1b0720 100644 --- a/examples/calc/CalcTest.fst.hints +++ b/examples/calc/CalcTest.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4dec0ed33da978b6026a6ee98f0db287" + "64a70eaf4637eec89af84b59e952cc4f" ], [ "CalcTest.calc0", @@ -26,7 +26,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "63fe916161b985113d1b58daabb70cf5" + "c5fcc80d0057a7e1b554ea354df5e00a" ], [ "CalcTest.calc0_desugared", @@ -40,7 +40,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3b2b2fc8628b1a35dc51a97691b377b8" + "6b1f00ee656f9abb52ff7a9018240c0e" ], [ "CalcTest.calc1", @@ -86,7 +86,7 @@ "typing_FStar.Preorder.relation", "unit_typing" ], 0, - "e6850c50857da5671e4cab37f9e8af2b" + "f3eb95fa02b1733e7936402f6a19db43" ], [ "CalcTest.test_ge", @@ -118,7 +118,7 @@ "typing_FStar.Preorder.relation" ], 0, - "952ae283a34ef3153a2f5cb5d812ec2e" + "1efc74d93400f7d1ecaa1a751890397e" ], [ "CalcTest.test_erase", @@ -150,7 +150,7 @@ "typing_FStar.Preorder.relation" ], 0, - "541ab1c7c2933da7a12ce92d09e83c26" + "6215047c58e32dceb36660dcd14072fd" ], [ "CalcTest.test_gt", @@ -185,7 +185,7 @@ "typing_FStar.Preorder.relation" ], 0, - "9aade6c60c7097bf67d51bcf170d2252" + "243facfddc7e0dc727de363bd442af9c" ], [ "CalcTest.test_ge", @@ -217,7 +217,7 @@ "typing_FStar.Preorder.relation" ], 0, - "3913d2134bc5205861e3ccae69a688d6" + "da791bb5e3133f99cc064221015ec212" ], [ "CalcTest.test_erase", @@ -249,7 +249,7 @@ "typing_FStar.Preorder.relation" ], 0, - "f7a1fd0c52d796721e933fdeb2c1d5fb" + "365bb3a6746c45c743ea3d8f5951c4dd" ], [ "CalcTest.test_gt", @@ -284,7 +284,7 @@ "typing_FStar.Preorder.relation" ], 0, - "2de2e81a2869ace5ac1f292ab7cb2946" + "efe48d6ce00ed5d134bff4774a18af2a" ] ] ] \ No newline at end of file diff --git a/examples/calc/Long.fst.hints b/examples/calc/Long.fst.hints index 15a6294e6b6..ad733bf32c9 100644 --- a/examples/calc/Long.fst.hints +++ b/examples/calc/Long.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "91d5b6c506bda1fb06462d1a0109528b" + "5e88a21d867d64456361c9517ff52e1c" ], [ "Long.calc50", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "df22ba0f9334615aa61c30a89dbcb701" + "992099827f335d6dd2b99d7ebee9b135" ], [ "Long.calc75", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "c83a3cb61b584106a9f064a7f4aa688f" + "ad4ed86b98248c65f079be636d435133" ], [ "Long.calc100", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "a3bb2c82ee003ac21b08480a4ef9bd62" + "e4adb2f1bb40f66de1422af032fff105" ] ] ] \ No newline at end of file diff --git a/examples/calc/SeqCalc.fst.hints b/examples/calc/SeqCalc.fst.hints index 42f1048ad31..9f1beb74be8 100644 --- a/examples/calc/SeqCalc.fst.hints +++ b/examples/calc/SeqCalc.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "a8c2b95b519aeecb050cbfd28acf2048" + "11db0cd6899bace44e368949681394e1" ] ] ] \ No newline at end of file diff --git a/examples/crypto/AES.fst.hints b/examples/crypto/AES.fst.hints index 122e3e60c51..1176a9533d7 100644 --- a/examples/crypto/AES.fst.hints +++ b/examples/crypto/AES.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a0221a2af125841214a50d981f6bce7c" + "573f0c9e57bf5ef377e138fbc62b6d8f" ], [ "AES.cipher", @@ -23,7 +23,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "2011a16e419ff370b47d2524eebb0fc7" + "63870818ef7da68670ed5dd480f34a77" ], [ "AES.key", @@ -34,7 +34,7 @@ "@query", "equation_AES.keysize", "projection_inverse_BoxInt_proj_0" ], 0, - "0a56aa7b6ef11d8905040c1dacdffc0f" + "b28be08ffe2dc14dd88c5a9479cc2255" ], [ "AES.enc", @@ -43,13 +43,12 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_AES.blocksize", "equation_AES.bytes", - "equation_AES.nbytes", "equation_AES.plain", "equation_AES.psize", - "equation_Platform.Bytes.bytes", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "equation_AES.bytes", "equation_AES.nbytes", "equation_AES.plain", + "equation_AES.psize", + "haseqTm_refine_8f0006372dc7eef1f8d6507769207c67" ], 0, - "a6660e26c25d0ec8db951517f497aa38" + "a92bc3771982f97a76a90b9dc1f94bbf" ], [ "AES.plain", @@ -61,7 +60,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "52b850697d2dd159f374feef6bbcbc3f" + "15304f9dc3897ed8f332740ac66d3ecc" ], [ "AES.cipher", @@ -73,7 +72,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "482138e47ed6e06b58e5e731a2af1988" + "906a861474d06ee5937df839ee40534c" ], [ "AES.key", @@ -84,7 +83,7 @@ "@query", "equation_AES.keysize", "projection_inverse_BoxInt_proj_0" ], 0, - "ab8682799dc5a13cebed981d79525ad4" + "af5c34e39f156459c389c6169fbfaec2" ], [ "AES.enc", @@ -93,13 +92,12 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_AES.blocksize", "equation_AES.bytes", - "equation_AES.nbytes", "equation_AES.plain", "equation_AES.psize", - "equation_Platform.Bytes.bytes", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "equation_AES.bytes", "equation_AES.nbytes", "equation_AES.plain", + "equation_AES.psize", + "haseqTm_refine_8f0006372dc7eef1f8d6507769207c67" ], 0, - "bd3cbab73297d6ab499cbc3bdb927132" + "d85cfdafac99fef7290db510d84f1501" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Cap.fst.hints b/examples/crypto/Cap.fst.hints index be05c4f65ce..3dfc1cc93af 100644 --- a/examples/crypto/Cap.fst.hints +++ b/examples/crypto/Cap.fst.hints @@ -11,7 +11,42 @@ "equation_Cap.byte", "equation_Platform.Bytes.bytes" ], 0, - "42fdeacc86bbb1980063d9d4426b8fca" + "13ac0fe04fb5f7489b3b8b6a11127a4d" + ], + [ + "Cap.gen", + 1, + 2, + 1, + [ "@query" ], + 0, + "2f95ad7eac93d82def656f613c94a768" + ], + [ + "Cap.issue", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "assumption_Cap.UTF8_inj", + "equation_Cap.capRead", "equation_Cert.ACLs.canRead", + "equation_Cert.ACLs.file", "equation_MAC.pkey", + "function_token_typing_MAC.key_prop", + "refinement_interpretation_Tm_refine_8780019b0aae248f45fa2cdeef995357", + "refinement_interpretation_Tm_refine_e7c2b5a7f5564b833b80f9c630ccb99f", + "string_inversion", "token_correspondence_Cap.capRead" + ], + 0, + "c3a07ebc3fd2f0b0f00548bfdcd8fa07" + ], + [ + "Cap.redeem", + 1, + 2, + 1, + [ "@query" ], + 0, + "ef8cebe6055254c90f71d2def8397840" ], [ "Cap.main", @@ -20,28 +55,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Cap.UTF8_inj", "bool_inversion", "bool_typing", + "assumption_Cap.UTF8_inj", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_Cap.capRead", "equation_Cap.f", "equation_Cert.ACLs.canRead", - "equation_Cert.ACLs.file", "equation_Cert.ACLs.publicFile", - "equation_Cert.ACLs.readme", "equation_MAC.pkey", - "equation_Platform.Bytes.bytes", "equation_SHA1.key", - "equation_SHA1.tag", "function_token_typing_Cert.ACLs.readme", + "equation_Cert.ACLs.publicFile", "equation_MAC.pkey", + "equation_Platform.Bytes.bytes", "equation_SHA1.tag", "function_token_typing_MAC.key_prop", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1cf95beb4e0ccb163dfdf90ffb00eff2", - "refinement_interpretation_Tm_refine_ad9cde64c932cdae765806f65e24e93b", - "token_correspondence_Cap.capRead", "typing_Cert.ACLs.canRead", + "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", + "refinement_interpretation_Tm_refine_8780019b0aae248f45fa2cdeef995357", + "token_correspondence_Cap.capRead", "typing_Cap.f", "typing_Platform.Bytes.equalBytes", "unit_typing" ], 0, - "6df1aaa28fc1cca48c5ce7ef44d9c57d" + "102d0b3c3b8585d3ca772df8ea4086bf" ], [ "Cap.capRead", @@ -53,16 +85,33 @@ "equation_Cap.byte", "equation_Platform.Bytes.bytes" ], 0, - "20b2a5c18ff14da94bcbdc2002db2170" + "5d66f68912a1e1f4f71664a6d451d311" ], [ "Cap.issue", + 2, + 2, 1, + [ + "@MaxIFuel_assumption", "@query", "assumption_Cap.UTF8_inj", + "equation_Cap.capRead", "equation_Cert.ACLs.canRead", + "equation_Cert.ACLs.file", "equation_MAC.pkey", + "function_token_typing_MAC.key_prop", + "refinement_interpretation_Tm_refine_8780019b0aae248f45fa2cdeef995357", + "refinement_interpretation_Tm_refine_e7c2b5a7f5564b833b80f9c630ccb99f", + "string_inversion", "token_correspondence_Cap.capRead" + ], + 0, + "3cd86a470a2bf108b8605650b331f9b3" + ], + [ + "Cap.redeem", + 2, 2, 1, - [ "@query" ], + [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "ed289e7f799936721d137af4fcfd3026" + "5048183ad8bd7607f9e3dadd6b9a3552" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Cert.ACLs.fst.hints b/examples/crypto/Cert.ACLs.fst.hints index d4cc16fca8a..3b94386e703 100644 --- a/examples/crypto/Cert.ACLs.fst.hints +++ b/examples/crypto/Cert.ACLs.fst.hints @@ -13,7 +13,7 @@ "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "42b735d05eeeca79ea7f5fd2961ac3d4" + "1aa288be7e409d21cb8a0ad4d31ccbcd" ], [ "Cert.ACLs.rc", @@ -22,7 +22,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "bc41c7328704696f4dd2341bd6beca0f" + "bd4a60bfdbd91b164510a747d4432c17" ], [ "Cert.ACLs.test", @@ -36,7 +36,7 @@ "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "299dcbcc9282e2fb0b9a62ed6a5118c2" + "976f15ff83230b07919d3fd7cab5ad1a" ] ] ] \ No newline at end of file diff --git a/examples/crypto/CntFormat.fst.hints b/examples/crypto/CntFormat.fst.hints index 6e9256b6796..fbc3780f7d4 100644 --- a/examples/crypto/CntFormat.fst.hints +++ b/examples/crypto/CntFormat.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "e298e4e88d889755bbff165c31691aca" + "9dc63c4aa1c496fe1a388db17fed3ec1" ], [ "CntFormat.append_inj_lemma", @@ -17,21 +17,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt8.t__uu___haseq", "equation_CntFormat.length", "equation_CntFormat.message", "equation_CntFormat.op_At_Bar", "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.length", "equation_Platform.Bytes.op_At_Bar", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", + "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_85f3da332f3668e6446e4e98ff1dad55", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_9f88e160caa86d7bfa7040b8f45605e1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_CntFormat.op_At_Bar", "typing_FStar.Seq.Base.eq" ], 0, - "411e4927d4253802d98e81b9fdf5ff10" + "a3023a03b3052cc062d7cc8f79870262" ], [ "CntFormat.UTF8_inj", @@ -40,7 +39,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "174557b3e5495bf2b68288d278a6db1a" + "e6afaebbcfb29165365e21cc7c32d247" ], [ "CntFormat.response", @@ -49,10 +48,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f5cfff85cb7c9a21e92347e29fc626c9" + "refinement_interpretation_Tm_refine_1ed200b6affe2db07bfbf96ff8436cc6" ], 0, - "58a84dc73d235a1f129e3c97f90baaba" + "639fe03a8cd9a4addaef3b73b8baacd3" ], [ "CntFormat.signal", @@ -64,7 +63,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "60ef86e19ea4c38c279744cd8496620e" + "b26b3fbed916174ed38702f955915b41" ], [ "CntFormat.signal", @@ -82,12 +81,12 @@ "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", "typing_CntFormat.uint16_to_bytes", "typing_CntFormat.uint32_to_bytes" ], 0, - "549f0cc8802fff69c84fea27748c8688" + "45fbee6755d0bdc01ab6d3c721a642bf" ], [ "CntFormat.signal_split", @@ -97,12 +96,12 @@ [ "@query", "assumption_Platform.Bytes.HasEq_bytes", "equation_CntFormat.msg", "equation_CntFormat.signal_size", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", + "equation_Platform.Bytes.lbytes", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "projection_inverse_BoxInt_proj_0" ], 0, - "ac2d32d464cc931ad46479c938d8a51b" + "434ac30a21116954516cad39f36f6004" ], [ "CntFormat.signal_split", @@ -137,7 +136,7 @@ "refinement_interpretation_Platform.Bytes_Tm_refine_71050496a0b6bdbab08b701114cb2b13" ], 0, - "b209b78a26bd90ac2c02ea9bef9717e5" + "06c58afb222ce97f2d29d03947f0aba3" ], [ "CntFormat.signal_split", @@ -159,8 +158,8 @@ "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -168,13 +167,13 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4172c1e44d2201b509a8b13bf74d5b27", - "refinement_interpretation_Tm_refine_71050496a0b6bdbab08b701114cb2b13" + "refinement_interpretation_Tm_refine_86d7e6dafae5c30781604dd17f80c7a7", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_f5be185f1eef489aa4edd78977965649" ], 0, - "400200478230cb8c39e411fd873aa6d9" + "a1ef4e0ee748e6293423fe4e31f714a8" ], [ "CntFormat.signal_components_corr", @@ -183,19 +182,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt8.t__uu___haseq", "equation_CntFormat.uint16", "equation_CntFormat.uint32", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_3373e5c475ec56f6202f0dd413c64935", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "haseqTm_refine_92ae293f6e4cd7fc83170fef96182afc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "10292cc3ee3985ddae35794f53dec495" + "9e799cad3ac7c4bd1708891c16155c9a" ], [ "CntFormat.append_inj_lemma", @@ -204,7 +200,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "fd04551fb1c3344cbfd505ae6241bee3" + "61fcfee9f3f1a2ce669b377164fc4a7b" ], [ "CntFormat.bytes_to_uint16", @@ -216,7 +212,7 @@ "assumption_Prims.HasEq_int" ], 0, - "958d979bdf729ef06b22f3df5a071d09" + "8c9674820710412965627d7851bc5dc4" ], [ "CntFormat.bytes_to_uint32", @@ -228,7 +224,7 @@ "assumption_Prims.HasEq_int" ], 0, - "7f80c2864c28e745db3675ff32406b99" + "6677e07e233653f9b0d207f3f02038a9" ], [ "CntFormat.UTF8_inj", @@ -237,7 +233,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "55cd70e9d8e836d502c4ba7a01ee44b4" + "4e8125f80266c628171ab2b928666d23" ], [ "CntFormat.response", @@ -246,10 +242,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f5cfff85cb7c9a21e92347e29fc626c9" + "refinement_interpretation_Tm_refine_1ed200b6affe2db07bfbf96ff8436cc6" ], 0, - "cc9c507431c7bc5c0d44d3112efbbaf1" + "ea7a72d4bb272986254894d027f96e73" ], [ "CntFormat.signal", @@ -267,12 +263,12 @@ "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", "typing_CntFormat.uint16_to_bytes", "typing_CntFormat.uint32_to_bytes" ], 0, - "1c33508db968c8f17e907190fbfbc74c" + "1ca73f296c6a42c17a1bf1023095194e" ], [ "CntFormat.signal", @@ -284,7 +280,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4c913c76a870d0fbe1285e499426b107" + "1b1024dad341fb23434ecf56ba4252ce" ], [ "CntFormat.signal_split", @@ -296,7 +292,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "71e39df07548c042f07c92ba063ccf83" + "7aa7d180f3f70e4ec4ade99280677752" ], [ "CntFormat.signal_split", @@ -318,8 +314,8 @@ "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -327,13 +323,13 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4172c1e44d2201b509a8b13bf74d5b27", - "refinement_interpretation_Tm_refine_71050496a0b6bdbab08b701114cb2b13" + "refinement_interpretation_Tm_refine_86d7e6dafae5c30781604dd17f80c7a7", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_f5be185f1eef489aa4edd78977965649" ], 0, - "b897969eab556ad80d5b9506111dfb3e" + "24b59bc4102c4d50ad6984bb76951b7c" ], [ "CntFormat.signal_split", @@ -343,12 +339,12 @@ [ "@query", "assumption_Platform.Bytes.HasEq_bytes", "equation_CntFormat.msg", "equation_CntFormat.signal_size", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", + "equation_Platform.Bytes.lbytes", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "projection_inverse_BoxInt_proj_0" ], 0, - "721a14406452315a7181265422d4bb45" + "9b162e5a572961bfeadeb4bc5ff1632d" ], [ "CntFormat.signal_components_corr", @@ -357,19 +353,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt8.t__uu___haseq", "equation_CntFormat.uint16", "equation_CntFormat.uint32", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_3373e5c475ec56f6202f0dd413c64935", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "haseqTm_refine_92ae293f6e4cd7fc83170fef96182afc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c1d541b74ee84d8e8999956f8751ab69" + "590c522844803c043868ca11b0d05741" ] ] ] \ No newline at end of file diff --git a/examples/crypto/CntProtocol.fst b/examples/crypto/CntProtocol.fst index 854e99a576f..27f8cf5e613 100644 --- a/examples/crypto/CntProtocol.fst +++ b/examples/crypto/CntProtocol.fst @@ -17,6 +17,8 @@ open SHA1 open CntFormat open MAC +module Bytes = Platform.Bytes + let max x y = if x > y then x else y (* Events for proving injective agreement *) @@ -62,18 +64,29 @@ let fresh_cnt x = let y = !server_cnt in (y < x) - -let next_cnt () = - let c = !client_cnt in - client_cnt := c+1; - c - - -let update_cnt x = +(* + * AR: 07/11: since this function has a non-trivial precondition, + * adding a spec for it, cf. #1055 + *) +let next_cnt () + : ST uint16 + (requires fun h -> + Bytes.repr_bytes (sel h client_cnt + 1) <= 2) + (ensures fun h0 r h1 -> + r == sel h0 client_cnt /\ + modifies !{client_cnt} h0 h1 /\ + sel h1 client_cnt == sel h0 client_cnt + 1) + = let c = !client_cnt in + client_cnt := c+1; + c + +(* + * AR: 07/11: adding the annotation to ensure a trivial precondition + *) +let update_cnt (x:uint16) = let y = !server_cnt in server_cnt := max x y - let log_event e = let l = !log_prot in log_prot := e::l diff --git a/examples/crypto/CntProtocol.fst.hints b/examples/crypto/CntProtocol.fst.hints index ded602f9250..e1b36846c2d 100644 --- a/examples/crypto/CntProtocol.fst.hints +++ b/examples/crypto/CntProtocol.fst.hints @@ -1,5 +1,5 @@ [ - "@ÍY\u001búh·d¦©A­àÄj", + "\u0011ÿû<¨A<\u0007/Á™¢K\u007f\t¿", [ [ "CntProtocol.event", @@ -7,19 +7,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_CntFormat.uint16", "equation_CntFormat.uint32", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_3373e5c475ec56f6202f0dd413c64935", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", + "equation_CntFormat.uint32", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "haseqTm_refine_92ae293f6e4cd7fc83170fef96182afc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "efffbbe2274f63f5c198e65e49b794b8" + "634e67b88f5cca99fa667c35c1e5f875" ], [ "CntProtocol.client_cnt", @@ -28,7 +25,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "0bb2102574fbc4b96636b9e87ad350bd" + "a0f678235f82c5fc2e45668af9ab2981" ], [ "CntProtocol.server_cnt", @@ -37,7 +34,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "c3acb56f7da74ccaf150ffb0f9afa4b4" + "5b1a973fe11fa3d3351811c488f9fa8e" ], [ "CntProtocol.server_max", @@ -46,21 +43,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_b084ee9e1cac2d89d72c9905bb58fe7f_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_CntFormat.uint16", "equation_CntProtocol.max", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "subterm_ordering_Prims.Cons" ], 0, - "749ae3ad51d4fa8b348be0b3f4e3606b" + "5590a682bed23e0a7261f2d64b55683c" ], [ "CntProtocol.max_list", @@ -71,12 +66,12 @@ "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "07a4a8e84bc36cc878f5c7f6551de45d" + "c53597e114a424d02d87c29fbd7c4a13" ], [ "CntProtocol.max_list", @@ -107,7 +102,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "2a5d05d0291c8b6a7fd92252086eb36d" + "3e091c9a2446c9f71d4c766509456809" ], [ "CntProtocol.max_lemma", @@ -116,7 +111,7 @@ 1, [ "@query", "assumption_CntProtocol.event__uu___haseq" ], 0, - "74a73ffd1fc71f1e1b0035ced218d9b9" + "fb48c1c2a9f3fa4a048dd30f085ef435" ], [ "CntProtocol.max_lemma", @@ -159,7 +154,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "6b55a9ea6bdb622f8a5d47a9d05e3c62" + "9a52bceeaa016add68c3d09f64132a81" ], [ "CntProtocol.max_lemma", @@ -172,11 +167,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_CntProtocol.server_max.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_CntProtocol.event__uu___haseq", - "binder_x_0a0e1d120135d49bdfc5b4afcda2e8b0_2", - "binder_x_54170da2fa296a12adc25559d660f491_0", - "binder_x_f17f2078defee5141f8ed84ad1bdc928_1", "bool_inversion", + "@query", "assumption_CntProtocol.event__uu___haseq", + "binder_x_b85778eef190835b8fb4856fa2c1f4fd_2", + "binder_x_c4d5356505325f547cca5ea22711279d_0", + "binder_x_cc617c9315e03adad89a35909ef53f29_1", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_CntFormat.uint16", @@ -184,24 +178,23 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_CntProtocol.server_max.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_CntProtocol.event@tok", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_CntProtocol.event@tok", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_CntProtocol.Recv_c", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3373e5c475ec56f6202f0dd413c64935", + "refinement_interpretation_Tm_refine_10775114e15f591b22349c0d481c0402", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_98fdea6897268c8bf47d1a7bfcf114e1", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "refinement_interpretation_Tm_refine_92ae293f6e4cd7fc83170fef96182afc", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "80d5cdfe0ffb358b57b07488a7a2d9fe" + "3d1525fe79043eb5ef6d67e36f43ab3f" ], [ "CntProtocol.invariant", @@ -209,18 +202,94 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_CntFormat.uint16", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cac79aea6a5a88ccd385d630ee574d52" + "11d574215f105ad6bb2aa6bee4a7d2aa" + ], + [ + "CntProtocol.fresh_cnt", + 1, + 0, + 1, + [ "@query" ], + 0, + "e974dbaa2c69154337c33f1771944f81" + ], + [ + "CntProtocol.next_cnt", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_CntFormat.uint16", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.Heap.modifies", + "equation_FStar.Monotonic.Heap.modifies_t", + "equation_FStar.Monotonic.Heap.only", + "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", + "equation_FStar.ST.ref", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", + "lemma_FStar.Set.mem_union", + "lemma_FStar.TSet.lemma_mem_tset_of_set", + "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bc7711008c90fde8c6a88dc5bcdded17", + "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "typing_CntProtocol.client_cnt", + "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Monotonic.Heap.addr_of", + "typing_FStar.Monotonic.Heap.only", + "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Set.empty", + "typing_FStar.Set.mem", "typing_FStar.Set.union" + ], + 0, + "6720d85aaea3d25d0428e844115f86f0" + ], + [ + "CntProtocol.update_cnt", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", + "equation_CntProtocol.max", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.ST.mref", "equation_FStar.ST.ref", + "equation_Prims.nat", "int_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "typing_CntProtocol.server_cnt", + "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Monotonic.Heap.sel" + ], + 0, + "a2448f89869b16ca925feb77e78876c5" + ], + [ + "CntProtocol.log_event", + 1, + 0, + 1, + [ "@query" ], + 0, + "780018c033385cf45480db6fd2e7fea7" ], [ "CntProtocol.log_and_update", @@ -229,28 +298,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_CntProtocol.event__uu___haseq", "assumption_Prims.list__uu___haseq", "equation_CntFormat.uint16", "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_CntFormat.uint16", - "function_token_typing_CntProtocol.log_prot", - "function_token_typing_CntProtocol.server_cnt", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "typing_CntProtocol.log_prot", "typing_CntProtocol.server_cnt", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of" ], 0, - "a2dac0a4107e91fc3a5110e99269d831" + "b9f7b119fa0acfca39c037955434db75" ], [ "CntProtocol.log_and_update", @@ -275,10 +341,8 @@ "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_CntProtocol.server_max.fuel_instrumented", - "function_token_typing_CntFormat.uint16", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -291,12 +355,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2178185394cf778e70e105f7def6beee", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b33fce37ff90559b4388cbb25dd2cc86", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "subterm_ordering_Prims.Cons", "typing_CntProtocol.client_cnt", "typing_CntProtocol.log_prot", "typing_CntProtocol.server_cnt", "typing_FStar.Heap.trivial_preorder", @@ -306,7 +372,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.union" ], 0, - "104ac0559ac474dc9e927c32b4ef725c" + "2b7408a2d8bbf458859eb3c28aaee472" ], [ "CntProtocol.send", @@ -314,16 +380,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5074ee8725d8cd5d7b92a327445847de" + "7abb04c2b7688ceff74d760b260a3604" ], [ "CntProtocol.send", @@ -331,8 +394,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_CntFormat.message", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.Heap.modifies", @@ -342,17 +404,17 @@ "equation_FStar.ST.ref", "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Platform.Bytes.bytes", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", "lemma_FStar.Set.mem_union", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_BarBar", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_CntProtocol.msg_buffer", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", @@ -360,7 +422,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.union" ], 0, - "daec50cf26cf9f0f07729189f705afb1" + "39bb5e11560462ec5aee36f4df34b3c0" ], [ "CntProtocol.recv", @@ -368,16 +430,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "15d65a0f6aa3057a591225dba5b0e89f" + "961449117b370c15c1c173d2c8ec2e5f" ], [ "CntProtocol.recv", @@ -387,8 +446,7 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_CntFormat.message", + "b2t_def", "bool_inversion", "equation_CntFormat.message", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.Heap.modifies", @@ -401,9 +459,8 @@ "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Platform.Bytes.bytes", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", "lemma_FStar.Set.mem_union", @@ -414,10 +471,11 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_CntProtocol.msg_buffer", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", @@ -427,7 +485,7 @@ "typing_FStar.UInt.fits", "typing_Prims.pow2" ], 0, - "3a32debf8b25bb10907c5ea2af94e1ba" + "fd4b355418df3fcedeba761a5d270c0d" ], [ "CntProtocol.req", @@ -436,7 +494,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "cf8ba850a5ffe9e162a41910b408abf1" + "7107c87a913da4eb2e877653cdba1552" ], [ "CntProtocol.k", @@ -451,7 +509,7 @@ "refinement_interpretation_Platform.Bytes_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94" ], 0, - "5b2c64b248e278bdbb26cc473a1cd6d3" + "82e6976dcee557dbc345b337f8367fa7" ], [ "CntProtocol.recall_all", @@ -460,7 +518,7 @@ 1, [ "@query", "unit_typing" ], 0, - "5eac69c52b335cfa731e36e6369f17c5" + "965de7e93558c3d191827f7e9cda6e33" ], [ "CntProtocol.client", @@ -468,22 +526,20 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_CntFormat.uint16", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.ST.mref", "equation_FStar.ST.ref", - "equation_Prims.nat", "function_token_typing_CntFormat.uint16", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", + "equation_FStar.ST.ref", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "typing_CntProtocol.client_cnt", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.sel" ], 0, - "a83cd3cfe92828c89164a95e8f93472e" + "9b65e29f5579e225615e1d9050952a13" ], [ "CntProtocol.client", @@ -492,14 +548,13 @@ 1, [ "@MaxIFuel_assumption", "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "MAC_interpretation_Tm_arrow_1027e478f99d26e531721ca9cf68718f", + "MAC_interpretation_Tm_arrow_ca5c6e42e3ff57820b5634683be21c66", "MAC_pretyping_60b9bfd8fd83afb29c30ec801c56255b", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_CntProtocol.event", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "constructor_distinct_CntProtocol.event", "constructor_distinct_FStar.Seq.Base.seq", "constructor_distinct_MAC.entry", "constructor_distinct_Prims.int", "constructor_distinct_Prims.list", @@ -516,15 +571,13 @@ "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_SHA1.key", "fuel_guarded_inversion_CntProtocol.event", + "fuel_guarded_inversion_CntProtocol.event", "fuel_guarded_inversion_MAC.entry", "fuel_guarded_inversion_Prims.list", - "function_token_typing_CntFormat.uint16", "function_token_typing_MAC.key_prop", "function_token_typing_Platform.Bytes.bytes", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "kinding_CntProtocol.event@tok", "kinding_MAC.entry@tok", "kinding_Prims.list@tok", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -535,15 +588,17 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3373e5c475ec56f6202f0dd413c64935", + "refinement_interpretation_Tm_refine_111c05b3fc005798dafc09f25c3a8e61", "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_92ae293f6e4cd7fc83170fef96182afc", + "refinement_interpretation_Tm_refine_a0baedc62db06b4f9e861afaa8e04757", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e3d03a4142785f346269498c28f891f2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f30c53bcf1c20743e489fb9be895980d", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "token_correspondence_CntProtocol.req", "typing_CntProtocol.client_cnt", "typing_CntProtocol.k", "typing_CntProtocol.log_prot", "typing_CntProtocol.msg_buffer", @@ -555,10 +610,10 @@ "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_MAC.log", - "typing_Tm_abs_268ed9bdb603fbb81ab537c447eeaf5a" + "typing_Tm_abs_a2e9f695669e1cfac185e9f9ad9ae2a7" ], 0, - "eadf04c9afba34d84f5f1ccb1f04d8aa" + "6baa48d550aaa3b5e44f52beac89701c" ], [ "CntProtocol.server", @@ -566,26 +621,22 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_CntFormat.uint16", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.ST.mref", "equation_FStar.ST.ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_CntFormat.uint16", - "function_token_typing_CntProtocol.log_prot", - "function_token_typing_CntProtocol.server_cnt", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", + "equation_FStar.ST.ref", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "typing_CntProtocol.server_cnt", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of" ], 0, - "a292f0c749bf2ff47247e1a36d9a6de5" + "a0328f7073e3979065b389b7a95aaa18" ], [ "CntProtocol.server", @@ -596,9 +647,8 @@ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt8.t__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "bool_typing", + "assumption_Platform.Bytes.HasEq_bytes", "constructor_distinct_FStar.Seq.Base.seq", "constructor_distinct_Prims.int", "constructor_distinct_Prims.list", "equation_CntFormat.length", "equation_CntFormat.message", @@ -614,15 +664,13 @@ "equation_FStar.ST.ref", "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_SHA1.key", "equation_SHA1.macsize", - "function_token_typing_CntFormat.uint16", - "function_token_typing_FStar.UInt8.t", + "equation_SHA1.macsize", "function_token_typing_FStar.UInt8.t", "function_token_typing_MAC.key_prop", "function_token_typing_Platform.Bytes.bytes", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "int_inversion", "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", "lemma_CntFormat.signal_components_corr", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -637,17 +685,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3033b3d2758d197e87183efef8cfb391", + "refinement_interpretation_Tm_refine_111c05b3fc005798dafc09f25c3a8e61", + "refinement_interpretation_Tm_refine_1807e219835fddb0b3040582020f93c9", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4ddedc389f0a326baf33a777c5bbf9eb", - "refinement_interpretation_Tm_refine_9812ed779421e2c69d2de9a3d5c66ce1", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_df45e13378b64cfc3cd23f54e8657bfc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_67273ea3556be6c6a1a16961dd4cef50", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a1daf766fa00f0144befcf79f8e441d6", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e3d03a4142785f346269498c28f891f2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_e9bf43f20482892002ab030d3aeadf67", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "token_correspondence_CntProtocol.req", "typing_CntProtocol.client_cnt", "typing_CntProtocol.k", "typing_CntProtocol.log_prot", "typing_CntProtocol.msg_buffer", @@ -659,7 +709,7 @@ "typing_FStar.Set.union" ], 0, - "3ad6e71f2410ffa73e30d60b799a4197" + "166847982050901f0f3a003d1a20f094" ], [ "CntProtocol.main", @@ -685,12 +735,10 @@ "equation_with_fuel_CntProtocol.server_max.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.result", "fuel_guarded_inversion_Prims.list", - "function_token_typing_CntFormat.uint16", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Prims.string", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "int_typing", "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -700,9 +748,11 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "typing_CntProtocol.client_cnt", "typing_CntProtocol.log_prot", "typing_CntProtocol.server_cnt", "typing_FStar.Heap.trivial_preorder", @@ -712,7 +762,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.mem" ], 0, - "17f2773a6fd629f52edb217387fb13c5" + "272f329353712bf10a89a9b60bb90822" ], [ "CntProtocol.event", @@ -720,19 +770,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_CntFormat.uint16", "equation_CntFormat.uint32", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_3373e5c475ec56f6202f0dd413c64935", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", + "equation_CntFormat.uint32", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "haseqTm_refine_92ae293f6e4cd7fc83170fef96182afc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fb266893039b4bd4e42f9e23c54c3622" + "a6eae4b52db093d42a7d289c637a9e61" ], [ "CntProtocol.client_cnt", @@ -741,7 +788,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "c7643b10489b7bec856495e1fd25cd4e" + "782ec820c4699cf32564fd5a4b12ec96" ], [ "CntProtocol.server_cnt", @@ -750,7 +797,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "73cb49c52874c7331d09b6a63baba315" + "0cf1e45e0d7396dc14d090f64573a3d9" ], [ "CntProtocol.server_max", @@ -759,21 +806,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_b084ee9e1cac2d89d72c9905bb58fe7f_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_CntFormat.uint16", "equation_CntProtocol.max", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "subterm_ordering_Prims.Cons" ], 0, - "5b3f5f8d3be558ea91d1e5665d799914" + "9a2546299bb84dffb1f7d80ea88d3ecf" ], [ "CntProtocol.max_list", @@ -784,12 +829,12 @@ "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c5f5b2628f6a845a4f6cb5a0359819c4" + "00c40b515b0c389e84ed4744ed6babb4" ], [ "CntProtocol.max_lemma", @@ -798,7 +843,7 @@ 1, [ "@query", "assumption_CntProtocol.event__uu___haseq" ], 0, - "69089dcd42c447ce0e10d26d1f10e8b5" + "2cf495a99fe6997e86392282959cbe6d" ], [ "CntProtocol.invariant", @@ -806,36 +851,55 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_CntFormat.uint16", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "867ed1e83441fdd2ef08f221d1891592" + "a8b98b7a882bfb989127a94e9607c3c7" ], [ "CntProtocol.next_cnt", - 1, + 2, 0, 1, - [ "@query" ], + [ + "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", + "equation_FStar.ST.ref", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "typing_CntProtocol.client_cnt", + "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Monotonic.Heap.sel" + ], 0, - "88bbc1741cdee9ff8e7d5b862044442d" + "ad53d4226ea323c298b782973ace7db7" ], [ "CntProtocol.update_cnt", - 1, + 2, 0, 1, - [ "@query" ], + [ + "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", + "equation_CntProtocol.max", "equation_Prims.nat", "int_inversion", + "primitive_Prims.op_GreaterThan", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27" + ], 0, - "fc25e46a558ad48b0fa78b6e4ff82f33" + "0a8f67496eedef4e672e1c1893dc9e44" ], [ "CntProtocol.log_and_update", @@ -844,28 +908,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_CntProtocol.event__uu___haseq", "assumption_Prims.list__uu___haseq", "equation_CntFormat.uint16", "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_CntFormat.uint16", - "function_token_typing_CntProtocol.log_prot", - "function_token_typing_CntProtocol.server_cnt", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "typing_CntProtocol.log_prot", "typing_CntProtocol.server_cnt", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of" ], 0, - "78585c7bfb713cc301c46e0bd13dc975" + "62202a109d65c7a74b1807dcbfa53c87" ], [ "CntProtocol.send", @@ -873,16 +934,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8efcb29dcff5f258bb3ef2d6ae95ff7f" + "89401418088953740ea19f333c19fb71" ], [ "CntProtocol.recv", @@ -890,16 +948,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "47a5ba955c546e71252ba342bd82a58a" + "a74aa400c3f3f38e978f2c784fb84845" ], [ "CntProtocol.req", @@ -908,7 +963,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "a11b357c91c73097ab3fa906210c9b66" + "f007d8baf74ee6bcadb26f82054a4b81" ], [ "CntProtocol.k", @@ -917,7 +972,7 @@ 1, [ "@query" ], 0, - "8e1dc3a0b90c3521d70d4f91afd505ce" + "942c12d0ca39474044b06925981cccfa" ], [ "CntProtocol.client", @@ -925,22 +980,20 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_CntFormat.uint16", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.ST.mref", "equation_FStar.ST.ref", - "equation_Prims.nat", "function_token_typing_CntFormat.uint16", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", + "equation_FStar.ST.ref", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "typing_CntProtocol.client_cnt", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.sel" ], 0, - "aa55c14689618c4b90b9bb84d4013606" + "cb21438c39cf88b2a47a1d3a061c49fc" ], [ "CntProtocol.server", @@ -948,26 +1001,22 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_CntFormat.uint16", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.ST.mref", "equation_FStar.ST.ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_CntFormat.uint16", - "function_token_typing_CntProtocol.log_prot", - "function_token_typing_CntProtocol.server_cnt", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", + "equation_FStar.ST.ref", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", + "typing_CntProtocol.server_cnt", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of" ], 0, - "674836a45445b62552a8388190792ead" + "65e6856e58d358923977e05a680905ce" ], [ "CntProtocol.main", @@ -993,12 +1042,10 @@ "equation_with_fuel_CntProtocol.server_max.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.result", "fuel_guarded_inversion_Prims.list", - "function_token_typing_CntFormat.uint16", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Prims.string", - "haseqTm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "int_typing", "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -1008,9 +1055,11 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "typing_CntProtocol.client_cnt", "typing_CntProtocol.log_prot", "typing_CntProtocol.server_cnt", "typing_FStar.Heap.trivial_preorder", @@ -1020,7 +1069,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.mem" ], 0, - "850f7a712b491dce93dfd291a6a0eb68" + "5c4dfdc0d3951ba87bfb6f0e41819147" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Encrypt_Sample.fst.hints b/examples/crypto/Encrypt_Sample.fst.hints index df0dc68ddb1..afaa209d987 100644 --- a/examples/crypto/Encrypt_Sample.fst.hints +++ b/examples/crypto/Encrypt_Sample.fst.hints @@ -7,12 +7,18 @@ 2, 1, [ - "@query", "constructor_distinct_FStar.Pervasives.V", + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "data_elim_FStar.Pervasives.Err", + "data_typing_intro_FStar.Pervasives.Err@tok", "disc_equation_FStar.Pervasives.Err", "equation_AES.plain", - "projection_inverse_BoxBool_proj_0" + "equation_Prims.eqtype", "function_token_typing_Prims.unit", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "string_inversion", "string_typing", "unit_typing" ], 0, - "705793386485108bdb28dea8c1676f06" + "42b26d4456514f79f5c89468cee0c9fb" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Encrypt_SymEnc.fst.hints b/examples/crypto/Encrypt_SymEnc.fst.hints index 59ce58b9588..c5c6c1c06cd 100644 --- a/examples/crypto/Encrypt_SymEnc.fst.hints +++ b/examples/crypto/Encrypt_SymEnc.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" ], 0, - "12313f68cbff7d80be74ac3fc65770b9" + "13da2267abe5200095abb7a383b410f8" ], [ "Encrypt_SymEnc.__proj__Ideal__item__repr", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" ], 0, - "4eaa472b2ac52fa6859264cc47b3088b" + "91ffef7f0254e78ebf52b8b17c60aa6e" ], [ "Encrypt_SymEnc.__proj__Ideal__item___2", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" ], 0, - "5e3341b714230bd2f66e619892180dca" + "0fea3d54bd9a92d908bde1944f6e49a1" ], [ "Encrypt_SymEnc.__proj__Ideal__item__i", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" ], 0, - "f5248e0fd9b3d17ed0a88d106aa66a7e" + "e71208fd4ab20b1b510b5e8c2b4a844c" ], [ "Encrypt_SymEnc.__proj__Concrete__item__plain", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "e8cc4d80a965a6ec4442c758ae9d7b05" + "e416645a7c22b902b40fe672c39c72f0" ], [ "Encrypt_SymEnc.__proj__Concrete__item__repr", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "be2e374c10ff2eaaf6f16f185e4d207b" + "65252fd92dadd37b005dd49fceb84150" ], [ "Encrypt_SymEnc.__proj__Concrete__item___2", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "b9e9f271356ac6868c009975228e8a36" + "4f63c6b61e311727214fc10cf5831651" ], [ "Encrypt_SymEnc.__proj__Concrete__item__i", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "309b1cf5592a1592e6999a04e62df1b5" + "fbdda1b583ce345e0e7e8903a1dc9048" ], [ "Encrypt_SymEnc.keygen", @@ -121,16 +121,15 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", "equation_Prims.l_True", - "equation_Prims.nat", + "equation_FStar.Heap.trivial_rel", "equation_Prims.nat", "function_token_typing_FStar.Heap.trivial_preorder", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp" ], 0, - "67a860899777b34b3f1da9454f3a58f1" + "22cb08bba383fde3b987314d87e81512" ], [ "Encrypt_SymEnc.__proj__Entry__item__c", @@ -142,7 +141,7 @@ "projection_inverse_Encrypt_SymEnc.Entry_k" ], 0, - "b9bb51e3ec39f86a6591515eaa323fa6" + "0ff6e7894aa389ca70ad17df6b48dba6" ], [ "Encrypt_SymEnc.log", @@ -151,7 +150,7 @@ 1, [ "@query", "equation_FStar.ST.ref" ], 0, - "31c8698d9ef47bc1fc45713279b0047a" + "93490baf5213ca51c5d8809be89fafae" ], [ "Encrypt_SymEnc.encrypt", @@ -162,14 +161,13 @@ "@MaxIFuel_assumption", "@query", "assumption_Platform.Bytes.HasEq_bytes", "disc_equation_Encrypt_SymEnc.Concrete", - "disc_equation_Encrypt_SymEnc.Ideal", "equation_AES.blocksize", - "equation_AES.bytes", "equation_AES.nbytes", "equation_AES.plain", - "equation_AES.psize", "equation_Platform.Bytes.bytes", + "disc_equation_Encrypt_SymEnc.Ideal", "equation_AES.bytes", + "equation_AES.nbytes", "equation_AES.plain", "equation_AES.psize", "fuel_guarded_inversion_Encrypt_SymEnc.key", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "haseqTm_refine_8f0006372dc7eef1f8d6507769207c67" ], 0, - "1653f1fe6bde684357af6f7ad4b46c63" + "aa568d36daa5b2577cded00d8fb75572" ], [ "Encrypt_SymEnc.decrypt", @@ -182,12 +180,11 @@ "disc_equation_Encrypt_SymEnc.Concrete", "disc_equation_Encrypt_SymEnc.Ideal", "equation_AES.bytes", "equation_AES.cipher", "equation_AES.csize", "equation_AES.nbytes", - "equation_AES.plain", "equation_Platform.Bytes.bytes", - "fuel_guarded_inversion_Encrypt_SymEnc.key", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "equation_AES.plain", "fuel_guarded_inversion_Encrypt_SymEnc.key", + "haseqTm_refine_8f0006372dc7eef1f8d6507769207c67" ], 0, - "8b909059dbc3fec8b18c2fa6edded8e6" + "6ee43f3db3330cd50c9cc8c0a395714c" ], [ "Encrypt_SymEnc.__proj__Ideal__item__plain", @@ -201,7 +198,7 @@ "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" ], 0, - "405904b54a6862fc5bc800c8aeacb6eb" + "c70d98841b2b5499c55ac9b35114a735" ], [ "Encrypt_SymEnc.__proj__Ideal__item__repr", @@ -215,7 +212,7 @@ "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" ], 0, - "30c862cde0e4b48f8f9ed0457a5c58e7" + "c6a5b702fc0358c062979fca5777c88c" ], [ "Encrypt_SymEnc.__proj__Ideal__item___2", @@ -229,7 +226,7 @@ "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" ], 0, - "b8e62b9b8ac7c248af8bcddc1edb78b9" + "4bc1d87c76f2f4e0053426eff697b051" ], [ "Encrypt_SymEnc.__proj__Ideal__item__i", @@ -243,7 +240,7 @@ "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" ], 0, - "6ad17ba9a71a0b009a736e5eb7ecca5d" + "5382ed947e3d7ab63e788240302b1ad6" ], [ "Encrypt_SymEnc.__proj__Concrete__item__plain", @@ -257,7 +254,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "41ad840d6b09d59b83ed6018a3bf6e06" + "43ddea7128a3afb49afa06aa786ed356" ], [ "Encrypt_SymEnc.__proj__Concrete__item__repr", @@ -271,7 +268,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "b36b0cfb5733b6f6eb90099d41da8409" + "d052d436943aeec9f6345a776df2d4d1" ], [ "Encrypt_SymEnc.__proj__Concrete__item___2", @@ -285,7 +282,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "6a0ade3c9b1420935a1bc080bc3202ae" + "5d20d78771320a96ec6f11acd2f6e413" ], [ "Encrypt_SymEnc.__proj__Concrete__item__i", @@ -299,7 +296,7 @@ "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" ], 0, - "51d87bedbd6e72df6081e6a22d7a4550" + "8bfbb0bfd03d7d4ca857bceabf32d97c" ], [ "Encrypt_SymEnc.__proj__Entry__item__c", @@ -311,7 +308,7 @@ "projection_inverse_Encrypt_SymEnc.Entry_k" ], 0, - "e14709d4aa579cdb73ba54df9bd14f4e" + "03d028bcf5c5b672b7a32f19a6abf151" ] ] ] \ No newline at end of file diff --git a/examples/crypto/EtM.AE.fst.hints b/examples/crypto/EtM.AE.fst.hints index f390c9b3b21..6c30c74b153 100644 --- a/examples/crypto/EtM.AE.fst.hints +++ b/examples/crypto/EtM.AE.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_EtM.AE.Key_region" ], 0, - "7abf913ef0775ab0df7d87afdf43156e" + "349ed0fa82b5e77cc50dbd107df18b3f" ], [ "EtM.AE.__proj__Key__item__km", @@ -35,7 +35,7 @@ "typing_FStar.Monotonic.HyperHeap.extends" ], 0, - "7c6acf61e07fabe73bc52a0b387bb3e2" + "0843d59c4313186d1af4b23aea1a5607" ], [ "EtM.AE.__proj__Key__item__log", @@ -47,7 +47,7 @@ "projection_inverse_EtM.AE.Key_region" ], 0, - "f906882671fda1f05ca50f94d0122966" + "a2c1b06a4908d408ae04f3db7530d3d3" ], [ "EtM.AE.mac_only_cpa_ciphers", @@ -56,15 +56,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_84c1bfaaf908475ecb507651910953b1_1", "equality_tok_Prims.LexTop@tok", "equation_EtM.AE.cipher", "equation_EtM.MAC.log_entry", "equation_EtM.MAC.msg", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_EtM.AE.cipher", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_EtM.AE.cipher", "int_typing", "kinding_EtM.CPA.log_entry@tok", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", @@ -75,15 +73,15 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_7da268779fc7f6434efcb54b11f8cc05", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_240ae8b9d98499e56ee7887bf62cb7a9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "well-founded-ordering-on-nat" ], 0, - "24dbd6658b8e7a9325b83875250134e7" + "7e14663c8c4a369962984f9637d3ab8a" ], [ "EtM.AE.mac_only_cpa_ciphers_snoc", @@ -94,26 +92,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", "@fuel_irrelevance_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "eq2-interp", "equation_EtM.AE.cipher", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.msg", "equation_FStar.Monotonic.Seq.snoc", + "@query", "eq2-interp", "equation_EtM.AE.cipher", + "equation_EtM.MAC.log_entry", "equation_EtM.MAC.msg", + "equation_FStar.Monotonic.Seq.snoc", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "equation_with_fuel_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "function_token_typing_EtM.AE.cipher", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_EtM.CPA.log_entry@tok", - "l_and-interp", "lemma_FStar.Seq.Base.lemma_create_len", + "function_token_typing_EtM.AE.cipher", "int_inversion", "int_typing", + "kinding_EtM.CPA.log_entry@tok", "l_and-interp", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" ], 0, - "b345ab590cd8465426ed9abe3189e5eb" + "778a9d811bd40aa8cf2fa718feeaa7e9" ], [ "EtM.AE.mac_only_cpa_ciphers_mem", @@ -124,17 +121,16 @@ "@query", "assumption_EtM.CPA.log_entry__uu___haseq", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.tag", "equation_Platform.Bytes.bytes", + "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "0d57322eba5def9081943effb556c1bd" + "5f81cccb785a4aea80d524645d65849a" ], [ "EtM.AE.mac_only_cpa_ciphers_mem", @@ -152,24 +148,21 @@ "assumption_EtM.CPA.log_entry__uu___haseq", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", - "binder_x_5240dc296ef8ac105bbbab298b92798c_0", "binder_x_84c1bfaaf908475ecb507651910953b1_1", - "binder_x_c2db6ffe57140e8e509fe747765f80c8_2", + "binder_x_ea284b782ac099e23b50d98bb346b88f_2", + "binder_x_fa8f9cf004db636b6a296e28eff3d6fc_0", "data_elim_EtM.CPA.Entry", "data_typing_intro_EtM.CPA.Entry@tok", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_EtM.AE.cipher", "equation_EtM.AE.mac_cpa_related", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.ivsize", - "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", - "equation_FStar.Monotonic.Seq.un_snoc", + "equation_EtM.CPA.cipher", "equation_EtM.MAC.log_entry", + "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", + "equation_EtM.MAC.tag", "equation_FStar.Monotonic.Seq.un_snoc", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.mem", "equation_FStar.Seq.Properties.snoc", "equation_FStar.Seq.Properties.split", "equation_FStar.Seq.Properties.un_snoc", - "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.empty_bytes", "equation_Platform.Bytes.lbytes", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", @@ -177,12 +170,10 @@ "fuel_guarded_inversion_EtM.CPA.log_entry", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", - "function_token_typing_Platform.Bytes.empty_bytes", "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", "int_inversion", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "int_inversion", "int_typing", "kinding_EtM.CPA.log_entry@tok", "l_and-interp", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -198,21 +189,20 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.un_snoc", - "typing_Platform.Bytes.length", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" + "typing_FStar.Seq.Properties.un_snoc", "unit_inversion", + "unit_typing", "well-founded-ordering-on-nat" ], 0, - "ec2d4ec462b7a82235f49365eecd6760" + "4305b75f123726ed94ed6b443b324d5c" ], [ "EtM.AE.mac_and_cpa_refine_ae", @@ -222,14 +212,12 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_84c1bfaaf908475ecb507651910953b1_2", "equality_tok_Prims.LexTop@tok", "equation_EtM.AE.log_entry", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_EtM.AE.log_entry", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_EtM.AE.log_entry", "int_typing", "kinding_EtM.CPA.log_entry@tok", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", @@ -241,15 +229,15 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_23b2ae0f635daec79cd2af1ece7a123f", - "refinement_interpretation_Tm_refine_42536585c6c6ef80bc5c4dc299e462ec", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_34ea87a68a4dd2d279c9653d45537a4f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "well-founded-ordering-on-nat" ], 0, - "13dd2834c3348ef09ab56bf5430f7cc0" + "0a6c9a6d35c90cd55fbfff317dcc643b" ], [ "EtM.AE.mac_and_cpa_refine_ae_snoc", @@ -272,16 +260,16 @@ "int_inversion", "int_typing", "kinding_EtM.CPA.log_entry@tok", "l_and-interp", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", "projection_inverse_BoxInt_proj_0", + "primitive_Prims.op_Addition", "primitive_Prims.op_disEquality", + "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" ], 0, - "d1018bea2d1370d0dc20b0bb55461221" + "51b3366d4a1a7f9fda725fdb9a3a2cf7" ], [ "EtM.AE.invert_invariant_aux", @@ -294,20 +282,19 @@ "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.AE.cipher", "equation_EtM.AE.log_entry", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.tag", "equation_Platform.Bytes.bytes", + "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", "equation_Prims.eqtype", "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.Plain.plain" ], 0, - "3042bb5e685f026ad1247f66470ea322" + "4d7e3409ac64b8b4df87a5ba9f58088b" ], [ "EtM.AE.invert_invariant_aux", @@ -328,19 +315,19 @@ "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "binder_x_02fcadff25a407ea0f168c8acd204443_1", - "binder_x_5240dc296ef8ac105bbbab298b92798c_2", "binder_x_84c1bfaaf908475ecb507651910953b1_3", - "binder_x_a54dcbf030dfdfeeeac3a4f397bb9b7d_4", - "binder_x_c2db6ffe57140e8e509fe747765f80c8_0", "bool_inversion", + "binder_x_d23b50a2dc2a2439a5e842ba62c73b47_4", + "binder_x_ea284b782ac099e23b50d98bb346b88f_0", + "binder_x_fa8f9cf004db636b6a296e28eff3d6fc_2", "bool_inversion", "data_typing_intro_EtM.CPA.Entry@tok", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_EtM.AE.cipher", "equation_EtM.AE.log_entry", "equation_EtM.AE.mac_and_cpa_refine_ae_entry", "equation_EtM.AE.mac_cpa_related", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.tag", "equation_FStar.Monotonic.Seq.snoc", + "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", + "equation_FStar.Monotonic.Seq.snoc", "equation_FStar.Monotonic.Seq.un_snoc", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", @@ -348,23 +335,24 @@ "equation_FStar.Seq.Properties.snoc", "equation_FStar.Seq.Properties.split", "equation_FStar.Seq.Properties.un_snoc", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Platform.Bytes.lbytes", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", "equation_with_fuel_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_EtM.AE.cipher", "function_token_typing_EtM.AE.log_entry", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", "int_inversion", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "int_inversion", "int_typing", "kinding_EtM.CPA.log_entry@tok", "l_and-interp", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Properties.slice_length", + "lemma_FStar.Seq.Properties.snoc_slice_index", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", "proj_equation_EtM.CPA.Entry_c", @@ -377,23 +365,24 @@ "projection_inverse_EtM.CPA.Entry_plain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.CPA.__proj__Entry__item__c", "typing_EtM.Plain.plain", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.mem", - "typing_FStar.Seq.Properties.snoc", "typing_FStar.Seq.Properties.un_snoc", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "b1e7765a2ba3a7a2918a929fbb1868fc" + "411b2ddeff463e4f872cf11670c81bf2" ], [ "EtM.AE.invert_invariant", @@ -408,24 +397,23 @@ "equation_EtM.AE.cipher", "equation_EtM.AE.get_cpa_log", "equation_EtM.AE.invariant", "equation_EtM.AE.log_entry", "equation_EtM.CPA.cipher", "equation_EtM.CPA.invariant", - "equation_EtM.CPA.ivsize", "equation_EtM.CPA.log", - "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", + "equation_EtM.CPA.log", "equation_EtM.MAC.log_entry", + "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", + "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", "equation_Prims.eqtype", "fuel_guarded_inversion_EtM.AE.key", "fuel_guarded_inversion_EtM.CPA.key", "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "proj_equation_EtM.AE.Key_ke", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_633fa58c11b301aa676127962b1db31c", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.Plain.plain" ], 0, - "9870d1f1fdf6154e797ff2d23190b536" + "32c3ca90b4694df2af52842452e529b0" ], [ "EtM.AE.keygen", @@ -439,8 +427,7 @@ "@fuel_correspondence_EtM.CPA.pairwise_distinct_ivs.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "bool_typing", "data_elim_EtM.CPA.Key", "data_elim_EtM.MAC.Key", "eq2-interp", "equation_EtM.AE.cipher", "equation_EtM.AE.get_cpa_log", "equation_EtM.AE.get_log", @@ -518,20 +505,17 @@ "projection_inverse_EtM.AE.Key_km", "projection_inverse_EtM.AE.Key_log", "projection_inverse_EtM.AE.Key_region", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c2e601e6ce7c9e3faa9bf7cf4f97543e", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "typing_EtM.AE.get_mac_log", "typing_EtM.CPA.__proj__Key__item__log", "typing_EtM.CPA.__proj__Key__item__region", "typing_EtM.CPA.log", @@ -559,7 +543,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "16913b1546f86fd7810c94f4d187222a" + "9db700443af884da5cdb330b15a8955a" ], [ "EtM.AE.encrypt", @@ -573,7 +557,6 @@ "@query", "EtM.CPA_pretyping_ddcbeef871d549131908d118a8ef272f", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", "bool_typing", "data_elim_EtM.AE.Key", "data_elim_EtM.CPA.Key", "data_elim_EtM.MAC.Key", "data_typing_intro_EtM.CPA.Entry@tok", @@ -624,7 +607,6 @@ "fuel_guarded_inversion_EtM.CPA.key", "fuel_guarded_inversion_EtM.MAC.key", "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", @@ -641,6 +623,7 @@ "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", + "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", @@ -649,6 +632,8 @@ "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.snoc_slice_index", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -668,25 +653,29 @@ "projection_inverse_EtM.CPA.Entry_c", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_20f6d806a31d06f6926aaef16582a95e", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", "refinement_interpretation_Tm_refine_2768941cd440d20119c7c0391ff49055", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d5c85a08ebee369862fb69b236eaeb85", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a9fb5d354957a897f66c04a01945bad7", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "refinement_interpretation_Tm_refine_dfc4481a7d87dc23f6d1308682e26340", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_interpretation_Tm_refine_fa9de560c045554b06a472eed920a8f1", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.AE.__proj__Key__item__ke", "typing_EtM.AE.__proj__Key__item__km", "typing_EtM.AE.__proj__Key__item__region", @@ -699,6 +688,7 @@ "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.color", + "typing_FStar.Monotonic.HyperHeap.extends", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", @@ -718,7 +708,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "e0d07805705e7a842b3766218edb111b" + "bc20c76441fc8b508fc5b62f811b7bd3" ], [ "EtM.AE.decrypt", @@ -733,19 +723,19 @@ "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_EtM.CPA.log_entry__uu___haseq", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_EtM.AE.Key", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_typing_intro_EtM.CPA.Entry@tok", + "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_EtM.AE.cipher", "equation_EtM.AE.get_cpa_log", "equation_EtM.AE.get_log", "equation_EtM.AE.get_mac_log", "equation_EtM.AE.invariant", "equation_EtM.AE.log_entry", - "equation_EtM.AE.log_t", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.invariant", "equation_EtM.CPA.ivsize", + "equation_EtM.AE.log_t", "equation_EtM.AE.rid", + "equation_EtM.CPA.cipher", "equation_EtM.CPA.invariant", "equation_EtM.CPA.log", "equation_EtM.CPA.rid", "equation_EtM.Ideal.ind_cpa_rest_adv", "equation_EtM.MAC.log_entry", "equation_EtM.MAC.log_t", "equation_EtM.MAC.macsize", @@ -760,7 +750,6 @@ "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies", @@ -770,26 +759,25 @@ "equation_FStar.Monotonic.Seq.log_t", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Seq.Properties.mem", + "equation_FStar.Seq.Properties.split", "equation_FStar.Seq.Properties.un_snoc", "equation_FStar.Set.subset", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Prims.eq2", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Platform.Bytes.lbytes", "equation_Prims.eq2", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", "equation_with_fuel_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", "fuel_guarded_inversion_EtM.AE.key", "fuel_guarded_inversion_EtM.CPA.key", - "fuel_guarded_inversion_EtM.MAC.key", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_EtM.AE.cipher", "function_token_typing_EtM.AE.log_entry", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", "int_inversion", - "kinding_EtM.CPA.log_entry@tok", "l_and-interp", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "int_inversion", + "int_typing", "kinding_EtM.CPA.log_entry@tok", "l_and-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -800,14 +788,16 @@ "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "proj_equation_EtM.AE.Key_ke", - "proj_equation_EtM.AE.Key_km", "proj_equation_EtM.AE.Key_log", - "proj_equation_EtM.AE.Key_region", "proj_equation_EtM.CPA.Key_log", - "proj_equation_EtM.CPA.Key_region", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_Prims.op_Subtraction", "proj_equation_EtM.AE.Key_ke", + "proj_equation_EtM.AE.Key_log", "proj_equation_EtM.AE.Key_region", + "proj_equation_EtM.CPA.Key_log", "proj_equation_EtM.CPA.Key_region", "proj_equation_EtM.MAC.Key_region", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -816,43 +806,50 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_193bda190498d8511dededdfc22c0442", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_2768941cd440d20119c7c0391ff49055", - "refinement_interpretation_Tm_refine_3c2924a9cf9e6342b3b105760aba9667", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_36f04b1278d6dc105d56888390c791f9", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", "refinement_interpretation_Tm_refine_633fa58c11b301aa676127962b1db31c", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_8d49bc9ff43ccc39e9b67eab704a8474", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d5c85a08ebee369862fb69b236eaeb85", "refinement_interpretation_Tm_refine_dfc4481a7d87dc23f6d1308682e26340", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_f4b77abb8a71325c47c79229db8fb3ba", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_interpretation_Tm_refine_fa9de560c045554b06a472eed920a8f1", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.AE.__proj__Key__item__ke", - "typing_EtM.AE.__proj__Key__item__km", "typing_EtM.AE.get_cpa_log", - "typing_EtM.AE.get_log", "typing_EtM.AE.get_mac_log", - "typing_EtM.CPA.__proj__Key__item__log", + "typing_EtM.AE.__proj__Key__item__km", + "typing_EtM.AE.__proj__Key__item__region", + "typing_EtM.AE.get_cpa_log", "typing_EtM.AE.get_log", + "typing_EtM.AE.get_mac_log", "typing_EtM.CPA.__proj__Key__item__log", "typing_EtM.CPA.__proj__Key__item__region", "typing_EtM.CPA.log", "typing_EtM.Ideal.uf_cma", "typing_EtM.MAC.__proj__Key__item__log", "typing_EtM.MAC.__proj__Key__item__region", "typing_EtM.Plain.plain", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", + "typing_FStar.Monotonic.HyperStack.as_ref", + "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.mem", "typing_FStar.Seq.Properties.un_snoc", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.Set.mem" + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "f9b2c8456045d426e806640bd8784643" + "8ff6b21ecf83a13f908bb7f5f3700042" ], [ "EtM.AE.__proj__Key__item__ke", @@ -864,7 +861,7 @@ "projection_inverse_EtM.AE.Key_region" ], 0, - "9cfafe4e83f3158f4b307289c1ecaa21" + "17c41de02ba6c7ab88b3b69eb529a1c4" ], [ "EtM.AE.__proj__Key__item__km", @@ -888,7 +885,7 @@ "typing_FStar.Monotonic.HyperHeap.extends" ], 0, - "64c47980247d570572250a3cb90db106" + "090a7b793958dbeca4592745ffa7546b" ], [ "EtM.AE.__proj__Key__item__log", @@ -900,7 +897,7 @@ "projection_inverse_EtM.AE.Key_region" ], 0, - "d994da7cfc07932b67c2e24b3492b89c" + "7a3301f8548b13452b2ce7fa4267367a" ], [ "EtM.AE.mac_only_cpa_ciphers", @@ -909,15 +906,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_84c1bfaaf908475ecb507651910953b1_1", "equality_tok_Prims.LexTop@tok", "equation_EtM.AE.cipher", "equation_EtM.MAC.log_entry", "equation_EtM.MAC.msg", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_EtM.AE.cipher", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_EtM.AE.cipher", "int_typing", "kinding_EtM.CPA.log_entry@tok", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", @@ -928,15 +923,15 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_7da268779fc7f6434efcb54b11f8cc05", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_240ae8b9d98499e56ee7887bf62cb7a9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "well-founded-ordering-on-nat" ], 0, - "3fcdf478caf3d7b7ea68dac36bc91865" + "51f0d2585f0d79c7cb9a94e517a35acc" ], [ "EtM.AE.mac_only_cpa_ciphers_mem", @@ -947,17 +942,16 @@ "@query", "assumption_EtM.CPA.log_entry__uu___haseq", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.tag", "equation_Platform.Bytes.bytes", + "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "e901ec955ffcf11754c99af554b41b77" + "0c8f66642ad8cbcf102c1c9646980f55" ], [ "EtM.AE.mac_and_cpa_refine_ae", @@ -967,14 +961,12 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_84c1bfaaf908475ecb507651910953b1_2", "equality_tok_Prims.LexTop@tok", "equation_EtM.AE.log_entry", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_EtM.AE.log_entry", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_EtM.AE.log_entry", "int_typing", "kinding_EtM.CPA.log_entry@tok", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", @@ -986,15 +978,15 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_23b2ae0f635daec79cd2af1ece7a123f", - "refinement_interpretation_Tm_refine_42536585c6c6ef80bc5c4dc299e462ec", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_34ea87a68a4dd2d279c9653d45537a4f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "well-founded-ordering-on-nat" ], 0, - "12d488a1c50d7bd8b663cf64691a3aa4" + "dcc856e6e3f57d55e4b46e6783c4fca6" ], [ "EtM.AE.invert_invariant_aux", @@ -1007,20 +999,19 @@ "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.AE.cipher", "equation_EtM.AE.log_entry", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.tag", "equation_Platform.Bytes.bytes", + "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", "equation_Prims.eqtype", "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.Plain.plain" ], 0, - "f75b4f12add504ca85bf9ffc2f1d09bc" + "3ddd47a16e37ed9e0203150dd56eb065" ], [ "EtM.AE.invert_invariant", @@ -1033,20 +1024,19 @@ "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.AE.cipher", "equation_EtM.AE.log_entry", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.tag", "equation_Platform.Bytes.bytes", + "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", "equation_Prims.eqtype", "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.Plain.plain" ], 0, - "165b5c056aa6e630a6a0101a696f121f" + "fc9202b7599f8986ebe4f07b4d6f4cc0" ], [ "EtM.AE.decrypt", @@ -1058,19 +1048,18 @@ "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.AE.cipher", "equation_EtM.AE.log_entry", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.tag", "equation_Platform.Bytes.bytes", + "equation_EtM.MAC.macsize", "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", "equation_Prims.eqtype", "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_EtM.Plain.plain" ], 0, - "4de52a2e439ff1c6c1a6ada48da778ef" + "cdcc74a882e42b0af2c4453bccae7d50" ] ] ] \ No newline at end of file diff --git a/examples/crypto/EtM.CPA.fst.hints b/examples/crypto/EtM.CPA.fst.hints index fc7673e322d..7dba23e6f0a 100644 --- a/examples/crypto/EtM.CPA.fst.hints +++ b/examples/crypto/EtM.CPA.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4acb7374e7017d9c3cd02ee47cb3e373" + "ba5e96ba5954b2fc8f8aa2917d0efb01" ], [ "EtM.CPA.aes_key", @@ -25,7 +25,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "6882ce1d3572415a33ca2268dd667d76" + "eef5a920ead97bc3afabced9eeb57235" ], [ "EtM.CPA.log_entry", @@ -35,14 +35,13 @@ [ "@MaxIFuel_assumption", "@query", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_EtM.Plain.plain" ], 0, - "89791f4392d937804c7af2e3c154b187" + "f143c6bc5a8a65f644aebf80f2125766" ], [ "EtM.CPA.iv_of_entry", @@ -54,13 +53,13 @@ "constructor_distinct_CoreCrypto.AES_128_CBC", "equality_tok_CoreCrypto.AES_128_CBC@tok", "equation_CoreCrypto.blockSize", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.length", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", - "refinement_interpretation_Tm_refine_df45e13378b64cfc3cd23f54e8657bfc" + "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.length", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_580a5cf64caa9be0f37be029de445529", + "refinement_interpretation_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "cea39acc14fa9679e83c48ca4570053a" + "97b74c6a93a38e492f5dcee924df178e" ], [ "EtM.CPA.raw_cipher", @@ -72,12 +71,12 @@ "constructor_distinct_CoreCrypto.AES_128_CBC", "equality_tok_CoreCrypto.AES_128_CBC@tok", "equation_CoreCrypto.blockSize", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.length", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.length", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "6bf4fb82b319ce97db395ab33020378c" + "f77d973097ec53f55265c798b3158be2" ], [ "EtM.CPA.split_entry", @@ -86,7 +85,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_CoreCrypto.AES_128_CBC", "equality_tok_CoreCrypto.AES_128_CBC@tok", "equation_CoreCrypto.blockSize", "equation_EtM.CPA.iv", @@ -95,13 +93,10 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.split", - "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.empty_bytes", - "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", + "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", + "equation_Platform.Bytes.length", "equation_Platform.Bytes.op_At_Bar", "equation_Platform.Bytes.split", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Platform.Bytes.empty_bytes", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -115,19 +110,19 @@ "projection_inverse_EtM.CPA.Entry_c", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_df45e13378b64cfc3cd23f54e8657bfc", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b6aa71bbb9add7ee5ad84bbb3080b03", + "refinement_interpretation_Tm_refine_7438252d1400520eb9f2eb017f027955", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length", "typing_Platform.Bytes.length", "typing_Platform.Bytes.op_At_Bar", "typing_Platform.Bytes.split" ], 0, - "dc367bed59ded43474e5ba257e4fffb7" + "b10d46c56ae0a912c15c356a6d1583fb" ], [ "EtM.CPA.iv_of_entry_inj", @@ -136,7 +131,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", "equation_EtM.CPA.iv", "equation_EtM.CPA.iv_of_entry", "equation_EtM.CPA.ivsize", "equation_FStar.Pervasives.Native.fst", @@ -145,20 +139,19 @@ "equation_Platform.Bytes.length", "equation_Platform.Bytes.split", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_EtM.CPA.log_entry", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "proj_equation_EtM.CPA.Entry_c", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", "typing_EtM.CPA.iv_of_entry" ], 0, - "89f07fd0ca242bb2a441d3a9bc30c439" + "7cf54c818dfbdc0e1f6d53828a33e73c" ], [ "EtM.CPA.__proj__Key__item__log", @@ -170,7 +163,7 @@ "projection_inverse_EtM.CPA.Key_region" ], 0, - "81963b86122255cfbec4f60a8b21c00a" + "9b1dc9a179337e03f79e697e3da3c06e" ], [ "EtM.CPA.iv_not_in", @@ -180,12 +173,11 @@ [ "@query", "assumption_EtM.CPA.log_entry__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.iv", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.lbytes", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.lbytes", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "dd1d89fb1b24e3af6300b75e515567e0" + "d59e138df9b22d9be3cf689edae0fc43" ], [ "EtM.CPA.pairwise_distinct_ivs", @@ -195,13 +187,11 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_84c1bfaaf908475ecb507651910953b1_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_EtM.CPA.log_entry@tok", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", @@ -212,7 +202,7 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ff1392a594136d4683fd441430f357a3", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", @@ -220,7 +210,7 @@ "well-founded-ordering-on-nat" ], 0, - "ac752cadc9d5db0507c3e97f5b27a563" + "73f738efce3a0b92d9ce278dc38e2762" ], [ "EtM.CPA.pairwise_snoc", @@ -231,23 +221,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_EtM.CPA.pairwise_distinct_ivs.fuel_instrumented", "@fuel_irrelevance_EtM.CPA.pairwise_distinct_ivs.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", + "@query", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "equation_with_fuel_EtM.CPA.pairwise_distinct_ivs.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_EtM.CPA.log_entry@tok", "l_and-interp", + "int_typing", "kinding_EtM.CPA.log_entry@tok", "l_and-interp", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" ], 0, - "2be2b6c0327ae4d7eb125e6730a7c84c" + "788a818203b8a745983b880efea992c7" ], [ "EtM.CPA.invert_pairwise", @@ -256,20 +244,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EtM.CPA_pretyping_ddcbeef871d549131908d118a8ef272f", "assumption_EtM.CPA.log_entry__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", "equation_EtM.CPA.iv", "equation_EtM.CPA.iv_not_in", "equation_EtM.CPA.ivsize", "equation_FStar.Monotonic.Seq.snoc", "equation_FStar.Seq.Properties.snoc", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", + "equation_Platform.Bytes.lbytes", "fuel_guarded_inversion_EtM.CPA.log_entry", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "refinement_interpretation_Tm_refine_b80d66df2e638bd4e8ce22b10f41ad1a" ], 0, - "36ff93800bf960ad05acbcb1398d0190" + "10c3f26c33534ce414441a12bd86174a" ], [ "EtM.CPA.entry_functional_correctness", @@ -282,7 +269,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "d87e28ff1c19b8a7eae7bd1e045c1c65" + "fa1898967c7f28a1ea71184a86f9aac3" ], [ "EtM.CPA.cipher_functional_correctness", @@ -291,7 +278,7 @@ 1, [ "@query", "assumption_EtM.CPA.log_entry__uu___haseq" ], 0, - "372e71c7a5870d993a8e5765b3462d98" + "9be6449e106878d0b623bc6cc82d1691" ], [ "EtM.CPA.keygen", @@ -362,18 +349,15 @@ "projection_inverse_EtM.CPA.Key_region", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", "refinement_interpretation_Tm_refine_b80d66df2e638bd4e8ce22b10f41ad1a", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c2e601e6ce7c9e3faa9bf7cf4f97543e", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "true_interp", "typing_FStar.Map.concat", @@ -396,7 +380,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "388977fbf4eed988cedb75dec3a6fd2d" + "b8e357f10849b70c608f279159cca16f" ], [ "EtM.CPA.encrypt", @@ -405,8 +389,8 @@ 1, [ "@MaxIFuel_assumption", "@query", + "EtM.CPA_pretyping_ddcbeef871d549131908d118a8ef272f", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_EtM.CPA.log_entry__uu___haseq", "bool_inversion", "eq2-interp", "equation_EtM.CPA.cipher_functional_correctness", "equation_EtM.CPA.entry_functional_correctness", @@ -415,7 +399,6 @@ "equation_EtM.Ideal.conf", "equation_FStar.HyperStack.ST.m_rref", "equation_FStar.HyperStack.ST.mref", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mref", "equation_FStar.Monotonic.Seq.log_t", "equation_FStar.Monotonic.Seq.snoc", @@ -426,9 +409,7 @@ "equation_Platform.Bytes.op_At_Bar", "equation_Prims.nat", "fuel_guarded_inversion_EtM.CPA.key", "fuel_guarded_inversion_EtM.CPA.log_entry", - "function_token_typing_EtM.Ideal.ind_cpa", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "kinding_EtM.CPA.log_entry@tok", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -438,11 +419,11 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_EtM.CPA.Entry_plain", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_b2fbedc487fb4f88af64a52100ca102d", + "refinement_interpretation_Tm_refine_1cbbf30f5fe9d4d180371c9554dc6d56", + "refinement_interpretation_Tm_refine_4117eee6ba9f4efdb805e0946db4ada1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", "refinement_interpretation_Tm_refine_b80d66df2e638bd4e8ce22b10f41ad1a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e3f92726dea95e755c15f88ec4d61101", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "typing_EtM.CPA.__proj__Key__item__log", "typing_EtM.CPA.log", @@ -451,7 +432,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "25b6ad56daf650e8302b43c7e3bfdf30" + "52011a2727713d1c902775d811f06582" ], [ "EtM.CPA.find_entry", @@ -460,31 +441,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_EtM.CPA.log_entry__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.Some", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.ivsize", - "equation_FStar.Seq.Properties.mem", "equation_Platform.Bytes.bytes", + "equation_EtM.CPA.cipher", "equation_FStar.Seq.Properties.mem", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", "int_inversion", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", "int_inversion", "kinding_EtM.CPA.log_entry@tok", "lemma_FStar.Seq.Properties.seq_mem_k", "primitive_Prims.op_GreaterThan", "proj_equation_EtM.CPA.Entry_c", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_EtM.CPA.Entry_c", - "refinement_interpretation_Tm_refine_185124133558ace1d570c8a0e35909ef", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_64359d260db2dcd373fb09ca31e7605d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_bc563ce36b042ec5360a78afe1635e26", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_fdd4dde048f037e195c7558569a98fb2", "typing_FStar.Seq.Base.index" ], 0, - "09b6994e68a50b85250a157835d8dfbf" + "3715b101d75be76cb62162bc2d60a589" ], [ "EtM.CPA.decrypt", @@ -494,8 +472,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_EtM.CPA.log_entry__uu___haseq", "bool_inversion", "constructor_distinct_CoreCrypto.AES_128_CBC", "eq2-interp", "equality_tok_CoreCrypto.AES_128_CBC@tok", @@ -529,9 +505,8 @@ "equation_Platform.Bytes.length", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_EtM.CPA.log_entry@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -556,18 +531,18 @@ "projection_inverse_EtM.CPA.Key_raw", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_3c2924a9cf9e6342b3b105760aba9667", - "refinement_interpretation_Tm_refine_3e7d12aa1a2e05cd539752f668bb3c23", + "refinement_interpretation_Tm_refine_2deef950a93fe3a94e3e3b095cc24b91", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d33883c779919c69cc2dbb69e623981", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "refinement_interpretation_Tm_refine_580a5cf64caa9be0f37be029de445529", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "refinement_interpretation_Tm_refine_b80d66df2e638bd4e8ce22b10f41ad1a", - "refinement_interpretation_Tm_refine_df45e13378b64cfc3cd23f54e8657bfc", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_f4b77abb8a71325c47c79229db8fb3ba", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_interpretation_Tm_refine_fa41316908b2055240ae4f5263c4b8fd", "typing_EtM.CPA.log", "typing_EtM.Ideal.ind_cpa", "typing_EtM.Ideal.ind_cpa_rest_adv", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", @@ -581,7 +556,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty" ], 0, - "a5b11057000707f4542d2783a17d9e6c" + "67926b0ecbbb9a571ad95d07b3edbfe3" ], [ "EtM.CPA.iv", @@ -595,7 +570,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3aaecc2f1cdc5fedaf64ad9485b6cc6f" + "8688bd12e77dd6d70650dd4930559ab8" ], [ "EtM.CPA.aes_key", @@ -607,7 +582,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "2105a437a01651d0053be8dcce7fd4fb" + "58e84dc172106f0a2c0144fc8693c7ec" ], [ "EtM.CPA.log_entry", @@ -617,14 +592,13 @@ [ "@MaxIFuel_assumption", "@query", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_EtM.Plain.plain" ], 0, - "cf3217264fc78ed4d8abfb8b62d1e313" + "ed422d1c07704af71b2e5657c4ac9159" ], [ "EtM.CPA.iv_of_entry", @@ -636,13 +610,13 @@ "constructor_distinct_CoreCrypto.AES_128_CBC", "equality_tok_CoreCrypto.AES_128_CBC@tok", "equation_CoreCrypto.blockSize", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.length", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", - "refinement_interpretation_Tm_refine_df45e13378b64cfc3cd23f54e8657bfc" + "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.length", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_580a5cf64caa9be0f37be029de445529", + "refinement_interpretation_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "e4ffb318bf7c9cc91545817b4627ea3a" + "113cd1bf72bd3b0f6716a3e9f89a2eea" ], [ "EtM.CPA.raw_cipher", @@ -654,12 +628,12 @@ "constructor_distinct_CoreCrypto.AES_128_CBC", "equality_tok_CoreCrypto.AES_128_CBC@tok", "equation_CoreCrypto.blockSize", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.length", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.length", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "dca71743b87396b76c2f4cc70fe8e65c" + "d6af1895f7fb34d81e2745927917dd9e" ], [ "EtM.CPA.split_entry", @@ -667,22 +641,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_EtM.CPA.iv", "equation_EtM.CPA.ivsize", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Platform.Bytes.length", + "@MaxIFuel_assumption", "@query", "equation_EtM.CPA.iv", + "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.bytes", + "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", "equation_Platform.Bytes.op_At_Bar", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", "typing_FStar.Seq.Base.length" ], 0, - "232962a82aaab8fb753b6520f298373b" + "67ce3d2bcdebe5e0001495a270f995ed" ], [ "EtM.CPA.iv_of_entry_inj", @@ -692,13 +663,12 @@ [ "@query", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", "equation_EtM.CPA.iv", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.lbytes", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.lbytes", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "4dab8a3679d691b6b20ecbc7c86c2fa8" + "bb7b71038556aacff791db5c3f87a227" ], [ "EtM.CPA.__proj__Key__item__log", @@ -710,7 +680,7 @@ "projection_inverse_EtM.CPA.Key_region" ], 0, - "bddf7f2c4942d3199a5e20d310dd0089" + "5868fc5d4fa64bbf2dc05c55bbedc530" ], [ "EtM.CPA.iv_not_in", @@ -720,12 +690,11 @@ [ "@query", "assumption_EtM.CPA.log_entry__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.iv", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.lbytes", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.lbytes", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "b19cf800ce7449133545b117e293c236" + "2d2953e01f44fdbb90d53be73d5415cf" ], [ "EtM.CPA.pairwise_distinct_ivs", @@ -735,13 +704,11 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_84c1bfaaf908475ecb507651910953b1_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_EtM.CPA.log_entry@tok", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", @@ -752,7 +719,7 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ff1392a594136d4683fd441430f357a3", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", @@ -760,7 +727,7 @@ "well-founded-ordering-on-nat" ], 0, - "c58d52fc6086d4b99b082ccfef05ef9b" + "9faca6c7bbef189f471cb6a92b484d8e" ], [ "EtM.CPA.invert_pairwise", @@ -770,11 +737,10 @@ [ "@query", "assumption_EtM.CPA.log_entry__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.bytes", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "f267c8ee64dc53282b6bc7bb89bbb668" + "aaf93913f7067e18e9b465483dc7e691" ], [ "EtM.CPA.entry_functional_correctness", @@ -787,7 +753,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d2791f0f93aebee43fff4cedd34fe537" + "2eb6ff49578cf77f7530badc4f90535a" ], [ "EtM.CPA.cipher_functional_correctness", @@ -796,7 +762,7 @@ 1, [ "@query", "assumption_EtM.CPA.log_entry__uu___haseq" ], 0, - "fc43b19db2ad38cc2434e3bdbc6d700b" + "0615318a854ad91e7d1d79205c09558e" ], [ "EtM.CPA.find_entry", @@ -805,18 +771,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EtM.CPA_interpretation_Tm_arrow_d834278d6f14de82ba3dfd7cc9c0e913", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "EtM.CPA_interpretation_Tm_arrow_17e41c1e0a7ac01d0e172498b5131449", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "assumption_EtM.CPA.log_entry__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.Some", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.ivsize", - "equation_FStar.Seq.Properties.mem", "equation_Platform.Bytes.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_EtM.CPA.cipher", "equation_FStar.Seq.Properties.mem", + "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_EtM.Ideal.ind_cpa", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", "kinding_EtM.CPA.log_entry@tok", "lemma_FStar.Seq.Properties.seq_mem_k", "primitive_Prims.op_GreaterThan", "proj_equation_EtM.CPA.Entry_c", @@ -824,15 +787,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_EtM.CPA.Entry_c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_455d37991444af3ed40206d59e75b904", - "refinement_interpretation_Tm_refine_64359d260db2dcd373fb09ca31e7605d", + "refinement_interpretation_Tm_refine_eceee487dc5f997fef8ec356a5ed69a1", + "refinement_interpretation_Tm_refine_fdd4dde048f037e195c7558569a98fb2", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Properties.seq_find", - "typing_Tm_abs_54cc685b07a91bc5f3ee337620e9c8cd" + "typing_Tm_abs_96dd785760b0512f52ef379c087ee665" ], 0, - "f4c95ca0d1e941956fa1fe01704b6c22" + "682f63f8b74f672f6eff26ae808844b4" ], [ "EtM.CPA.find_entry", @@ -841,7 +804,7 @@ 1, [ "@query", "assumption_EtM.CPA.log_entry__uu___haseq" ], 0, - "e9a86d04536470d079f8a232e285cf68" + "f7ca2e07c23d95e8fb59100d8aca2a29" ], [ "EtM.CPA.decrypt", @@ -850,7 +813,7 @@ 1, [ "@query", "assumption_EtM.CPA.log_entry__uu___haseq" ], 0, - "1512892208310164f183dbe8c670a95d" + "0adcc9c409cfedcd395ba6cf152f3177" ] ] ] \ No newline at end of file diff --git a/examples/crypto/EtM.MAC.fst.hints b/examples/crypto/EtM.MAC.fst.hints index bfcdf3b5916..ee0e92e1ff2 100644 --- a/examples/crypto/EtM.MAC.fst.hints +++ b/examples/crypto/EtM.MAC.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4329713ade99abd26699d591396f8cb1" + "c3eb44bbdebf7db7fd53887d724b6ad4" ], [ "EtM.MAC.tag", @@ -24,7 +24,7 @@ "equation_EtM.MAC.macsize", "projection_inverse_BoxInt_proj_0" ], 0, - "c057ec28bce394120264b902c52b5e16" + "cfa7964962ec60a3f5bcece435706bae" ], [ "EtM.MAC.sha1", @@ -33,7 +33,7 @@ 1, [ "@query", "equation_EtM.MAC.macsize" ], 0, - "ff1ce2116ce10338d25258915ed7e627" + "1b4946a6fc3d8134d7f61d29a64c67f5" ], [ "EtM.MAC.hmac_sha1", @@ -45,7 +45,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8748009199a2ee45634230794041e76c" + "8ef0c11aa4ce81d5fee6d6dc57eb33fc" ], [ "EtM.MAC.__proj__Key__item__log", @@ -57,7 +57,7 @@ "projection_inverse_EtM.MAC.Key_region" ], 0, - "2b3be2879f2c96bc6917520c20f20142" + "bbebfb1741a88a61bf1be8bbe4d6582f" ], [ "EtM.MAC.keygen", @@ -65,8 +65,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_EtM.MAC.genPost", "equation_EtM.MAC.keysize", "equation_EtM.MAC.log_entry", "equation_EtM.MAC.rid", "equation_FStar.HyperStack.ST.equal_stack_domains", @@ -88,9 +87,8 @@ "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.upd", "function_token_typing_EtM.MAC.log_entry", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -118,16 +116,13 @@ "projection_inverse_EtM.MAC.Key_region", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c2e601e6ce7c9e3faa9bf7cf4f97543e", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "typing_FStar.Map.concat", "typing_FStar.Map.contains", @@ -150,7 +145,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "c8863413c5ed9eb838373b6bf9d9628b" + "b2527f3ff1eb0453ea9b1c65aecbb5a4" ], [ "EtM.MAC.mac", @@ -159,7 +154,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_EtM.CPA.cipher", "equation_EtM.MAC.log_entry", "equation_EtM.MAC.log_t", "equation_EtM.MAC.msg", @@ -171,14 +165,13 @@ "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.log_entry", - "function_token_typing_EtM.MAC.tag", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_EtM.MAC.tag", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "proj_equation_EtM.MAC.Key_log", "proj_equation_EtM.MAC.Key_region", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "typing_EtM.MAC.__proj__Key__item__log", @@ -187,7 +180,7 @@ "typing_FStar.Seq.Base.seq" ], 0, - "2699edb4f3579304176c114260db0469" + "6444baff925f88dc52ca79662a9cb61b" ], [ "EtM.MAC.verify", @@ -197,17 +190,16 @@ [ "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.tag", "equation_Platform.Bytes.bytes", + "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "ca3d03580d34ecaa5a226f4e4c2c739c" + "cd376d63f00297568a5855a9aab60f5f" ], [ "EtM.MAC.verify", @@ -218,15 +210,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", "data_elim_EtM.MAC.Key", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.ivsize", - "equation_EtM.MAC.log_entry", "equation_EtM.MAC.log_t", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.rid", "equation_EtM.MAC.tag", + "equation_EtM.CPA.cipher", "equation_EtM.MAC.log_entry", + "equation_EtM.MAC.log_t", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.msg", "equation_EtM.MAC.rid", + "equation_EtM.MAC.tag", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.is_live_for_rw_in", @@ -243,17 +234,16 @@ "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.mref", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.mem", "equation_Platform.Bytes.bytes", + "equation_FStar.Seq.Properties.mem", "equation_Platform.Bytes.lbytes", "equation_Prims.eqtype", "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", "fuel_guarded_inversion_EtM.MAC.key", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.log_entry", "function_token_typing_EtM.MAC.tag", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -268,13 +258,14 @@ "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", "proj_equation_EtM.MAC.Key_log", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_3c2924a9cf9e6342b3b105760aba9667", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_f4b77abb8a71325c47c79229db8fb3ba", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", @@ -285,7 +276,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty" ], 0, - "444a5b677e7eaa1b58ed68554f5b019d" + "d8be5ca464b2fede3e979ea16bde1a35" ], [ "EtM.MAC.sha1_key", @@ -297,7 +288,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "dc5610abfe2f187895ecd3924e5bd2d1" + "8228dcaf718c2e37536e8aae2497b5eb" ], [ "EtM.MAC.tag", @@ -310,7 +301,7 @@ "equation_EtM.MAC.macsize", "projection_inverse_BoxInt_proj_0" ], 0, - "04cd046f06bb09cdeb72139d0c16a0eb" + "80de0856ecee9124cb5e7dd25abbae98" ], [ "EtM.MAC.sha1", @@ -319,7 +310,7 @@ 1, [ "@query", "equation_EtM.MAC.macsize" ], 0, - "04da071f391b19b49c67e72c4f2aef94" + "a36d958b205dee5a149dc841f02d5640" ], [ "EtM.MAC.hmac_sha1", @@ -331,7 +322,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "37fd920d49f21b1874a03efa8021af81" + "ca3ec33509b93ebe5bf2d7d4281b7222" ], [ "EtM.MAC.__proj__Key__item__log", @@ -343,7 +334,7 @@ "projection_inverse_EtM.MAC.Key_region" ], 0, - "2c9a0a82a9915295025da30f78a66818" + "bd192d88aa389e9ff416c19925ff6e4b" ], [ "EtM.MAC.verify", @@ -353,17 +344,16 @@ [ "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.tag", "equation_Platform.Bytes.bytes", + "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", + "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", - "function_token_typing_EtM.CPA.cipher", "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" ], 0, - "19af7f120a72a644e44060b3c9a6ab6e" + "d7b168ba0c1d446c3c64d7420d1e548e" ] ] ] \ No newline at end of file diff --git a/examples/crypto/EtM.Plain.fst.hints b/examples/crypto/EtM.Plain.fst.hints index 2d869939563..e4ca1dbcff2 100644 --- a/examples/crypto/EtM.Plain.fst.hints +++ b/examples/crypto/EtM.Plain.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], 0, - "1ead8ebd304b2e5d3d5129878b581692" + "95c86aef0af16329391280d08ce26750" ], [ "EtM.Plain.reveal_hide", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_EtM.Plain.hide", "equation_EtM.Plain.reveal" ], 0, - "9eefca3f080377f2ea9074936c475e5f" + "d04519705908aee236ccc6ca330a6b72" ], [ "EtM.Plain.hide_reveal", @@ -26,7 +26,7 @@ 1, [ "@query", "equation_EtM.Plain.hide", "equation_EtM.Plain.reveal" ], 0, - "50d09b3efd73e7d2e0fa90c118cf6ac9" + "7a5d84a6b82f705ee506064969637d05" ], [ "EtM.Plain.repr", @@ -35,7 +35,7 @@ 1, [ "@query", "equation_EtM.Plain.reveal" ], 0, - "76f2903b8bfd362df434e47bc042c6d3" + "648693a98eaee56ee2752e5b60a73554" ], [ "EtM.Plain.coerce", @@ -44,7 +44,7 @@ 1, [ "@query", "equation_EtM.Plain.hide" ], 0, - "6e28958fd74c9a5ce25d54d17c0dd127" + "1810af83c1fcd10e4b58f775a811d973" ], [ "EtM.Plain.length", @@ -52,17 +52,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_EtM.Plain.reveal", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_EtM.Plain.reveal", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a50c656ef9f554a3ea187b0ac7b52f48" + "c48fac2bb37b1b49034f17ed0e6233d6" ], [ "EtM.Plain.length", @@ -72,11 +69,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4f8a8860bb12ad2a065686c3e523b570" + "f760b905125ee8c0982ca0567d47418c" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Formatting.fst.hints b/examples/crypto/Formatting.fst.hints index 5bf2e55b76c..8f5e1e7845e 100644 --- a/examples/crypto/Formatting.fst.hints +++ b/examples/crypto/Formatting.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "172bb687701a0fce877cef1dae82ef4e" + "af9b5059a98360b6d5a810e93b52ff88" ], [ "Formatting.append_inj_lemma", @@ -17,21 +17,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt8.t__uu___haseq", "equation_Formatting.length", "equation_Formatting.message", "equation_Formatting.op_At_Bar", "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.length", "equation_Platform.Bytes.op_At_Bar", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", + "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_28c812263eabf763cd2eb1b440003a32", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_8f4292442d8358aa101190d09fa1e2e1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.eq", "typing_Formatting.op_At_Bar" ], 0, - "ebcc1084a60ede220cf6bf23c064ed77" + "5584f6c368d4649fb05c8271b2c46b9c" ], [ "Formatting.lemma_eq_intro", @@ -39,16 +38,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "36b7798d6d10cb0fbdf421229f9f0170" + "c3ae3762d31f8df1e7f0bbb1648e5bba" ], [ "Formatting.lemma_eq_intro", @@ -57,7 +53,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], 0, - "16591965d96911ad84ba2b29dff76695" + "c1fb7048f04037d3cdddc67fd8969606" ], [ "Formatting.UTF8_inj", @@ -66,7 +62,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "200da27b53a8699525d88bb9d2cf229a" + "38b15a814024cb178b2992a18279a5b9" ], [ "Formatting.uint16_to_bytes", @@ -75,7 +71,7 @@ 1, [ "@query", "equation_Formatting.uInt16" ], 0, - "3cc42437585eba421e8f1472aa539dbc" + "1ab161ad2676d2b3d2f7957729b8e229" ], [ "Formatting.uint16_to_bytes", @@ -91,7 +87,7 @@ "refinement_interpretation_Formatting_Tm_refine_b50c829655ecafa308fc3d57ba98b0bf" ], 0, - "ae6321a0a9763968e3c6a500d11f6263" + "afcbfaf2befdacd84ee0ea6536e80837" ], [ "Formatting.uint16_to_bytes", @@ -100,7 +96,7 @@ 1, [ "@query", "equation_Formatting.uInt16" ], 0, - "e063a40ea3609e298b933ebdb2b7feae" + "7a28eb467b903aab02e985cc96220313" ], [ "Formatting.UINT16_inj", @@ -116,7 +112,7 @@ "refinement_interpretation_Formatting_Tm_refine_b50c829655ecafa308fc3d57ba98b0bf" ], 0, - "aee28d719f140b0f998b9672cce902e7" + "49ce4eda30f688388d50dda8d5caf32b" ], [ "Formatting.response", @@ -127,10 +123,10 @@ "@MaxIFuel_assumption", "@query", "equation_Formatting.length", "equation_Formatting.string16", "equation_Formatting.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_df393ec945fcc9a49fa4c6eaca42efd8" + "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9" ], 0, - "7760785e57145e038576faa6e62e42f6" + "b89fb06063aa05e90518652e8e3dc689" ], [ "Formatting.req_resp_distinct", @@ -142,7 +138,7 @@ "equation_Formatting.message" ], 0, - "a040957873b0ac6c7240513d07d7c8ca" + "65dad2de229f41eba16abb7206d54125" ], [ "Formatting.req_resp_distinct", @@ -153,53 +149,59 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Formatting.length", "equation_Formatting.message", - "equation_Formatting.msg", "equation_Formatting.op_At_Bar", - "equation_Formatting.request", "equation_Formatting.response", - "equation_Formatting.string16", "equation_Formatting.tag0", - "equation_Formatting.tag1", "equation_Formatting.uInt16", - "equation_Formatting.uint16", "equation_Formatting.uint16_to_bytes", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "assumption_FStar.UInt8.t__uu___haseq", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Formatting.length", + "equation_Formatting.message", "equation_Formatting.msg", + "equation_Formatting.op_At_Bar", "equation_Formatting.request", + "equation_Formatting.response", "equation_Formatting.string16", + "equation_Formatting.tag0", "equation_Formatting.tag1", + "equation_Formatting.uInt16", "equation_Formatting.uint16", + "equation_Formatting.uint16_to_bytes", "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.createBytes", "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", - "equation_Platform.Bytes.op_At_Bar", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.UInt8.t", + "equation_Platform.Bytes.op_At_Bar", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "lemma_Formatting.append_inj_lemma", + "lemma_Formatting.lemma_eq_intro", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b50c829655ecafa308fc3d57ba98b0bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_df393ec945fcc9a49fa4c6eaca42efd8", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_49d0e5ffb1f2f8200b16f11f2ab50b9a", + "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ebb7aa1a8eb38feb68a75d192e1c165d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "string_inversion", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.uint_to_t", "typing_Formatting.length", - "typing_Formatting.op_At_Bar", "typing_Formatting.response", - "typing_Formatting.tag0", "typing_Formatting.tag1", - "typing_Formatting.uint16_to_bytes", "typing_Platform.Bytes.length", - "typing_Platform.Bytes.repr_bytes", "typing_Platform.Bytes.utf8", - "typing_Prims.pow2" + "typing_Formatting.op_At_Bar", "typing_Formatting.request", + "typing_Formatting.response", "typing_Formatting.tag0", + "typing_Formatting.tag1", "typing_Formatting.uint16_to_bytes", + "typing_Platform.Bytes.length", "typing_Platform.Bytes.repr_bytes", + "typing_Platform.Bytes.utf8", "typing_Prims.pow2" ], 0, - "082d25c7105b66c0b647f8a52ac0e8c2" + "110f52eaed5091705d21171e85820b6f" ], [ "Formatting.req_components_corr", @@ -208,7 +210,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "df9ef8f14b5146d0d72a1986b6e921ed" + "e7d816d5006f6b20c9d5e43f62ff66c8" ], [ "Formatting.req_components_corr", @@ -218,14 +220,13 @@ [ "@MaxIFuel_assumption", "@query", "assumption_Formatting.UTF8_inj", "equation_Formatting.message", "equation_Formatting.request", - "equation_Formatting.tag0", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.lbytes", + "equation_Formatting.tag0", "equation_Platform.Bytes.lbytes", "lemma_Formatting.append_inj_lemma", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", "typing_Formatting.tag0", "typing_Platform.Bytes.utf8" ], 0, - "4d59a523ae2c77cfdacb6218ce7e0184" + "139ac0b08631030c2c9a5fba3f050e60" ], [ "Formatting.resp_components_corr", @@ -234,7 +235,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "aca26c3df5654e76071a7367f64103dc" + "450832433a77d140b187371189b61001" ], [ "Formatting.resp_components_corr", @@ -243,7 +244,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt8.t__uu___haseq", "assumption_Formatting.UINT16_inj", "assumption_Formatting.UTF8_inj", "equation_Formatting.length", "equation_Formatting.message", @@ -254,24 +254,23 @@ "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.op_At_Bar", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_Formatting.append_inj_lemma", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273", - "refinement_interpretation_Tm_refine_b50c829655ecafa308fc3d57ba98b0bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_df393ec945fcc9a49fa4c6eaca42efd8", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_49d0e5ffb1f2f8200b16f11f2ab50b9a", + "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_ebb7aa1a8eb38feb68a75d192e1c165d", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.eq", "typing_Formatting.length", "typing_Formatting.op_At_Bar", "typing_Formatting.response", "typing_Formatting.tag1", "typing_Formatting.uint16_to_bytes", "typing_Platform.Bytes.utf8" ], 0, - "4d15c69a84c584f0c3784bd7e77d0783" + "d0473424edd621933fe603c24735881a" ], [ "Formatting.append_inj_lemma", @@ -280,7 +279,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "27da73e6fe73c8c849519a115979099a" + "d819439bea43db0a2308ef1600953862" ], [ "Formatting.lemma_eq_intro", @@ -288,16 +287,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a4fd1dd9badfad290cc8100834b870f3" + "7b798cc4a633de1f815fd76d674580aa" ], [ "Formatting.UTF8_inj", @@ -306,7 +302,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "1af7df32c65962aa07e1782b5d7c4624" + "72a5a697fd10d80c3d6afc30aad28b3a" ], [ "Formatting.uint16_to_bytes", @@ -315,7 +311,7 @@ 1, [ "@query", "equation_Formatting.uInt16" ], 0, - "7f32f058fb13731e2465c280058abfb1" + "4204b43474e807dfa8fb98075f976807" ], [ "Formatting.uint16_to_bytes", @@ -324,7 +320,7 @@ 1, [ "@query", "equation_Formatting.uInt16" ], 0, - "6a650b5c762aace6a16ab6cadf86deaa" + "0f4d2915cf3a68530cacaee9a3ecab9b" ], [ "Formatting.uint16_to_bytes", @@ -333,7 +329,7 @@ 1, [ "@query", "equation_Formatting.uInt16" ], 0, - "7de10b3ae89b4ffab7ef5d0f0c525321" + "02c55116a7267526887d43fe91824ac9" ], [ "Formatting.UINT16_inj", @@ -349,7 +345,7 @@ "refinement_interpretation_Formatting_Tm_refine_b50c829655ecafa308fc3d57ba98b0bf" ], 0, - "171435288d6c8e570fc84d76fc7b4e77" + "9e244c9d2a9c0cf5617622a7c7b06a1f" ], [ "Formatting.response", @@ -360,10 +356,10 @@ "@MaxIFuel_assumption", "@query", "equation_Formatting.length", "equation_Formatting.string16", "equation_Formatting.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_df393ec945fcc9a49fa4c6eaca42efd8" + "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9" ], 0, - "544683e90d236726753cd405fb3a4d54" + "cacb0309e2a1a29c4783408c4e7198db" ], [ "Formatting.req_resp_distinct", @@ -375,7 +371,7 @@ "equation_Formatting.message" ], 0, - "924e8e0ab836138341b3e975b6ee786c" + "d8af3b9004c74325035676d2668595dc" ], [ "Formatting.req_components_corr", @@ -384,7 +380,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "1b6bad185dd1a2ab787cf3cd770df534" + "8a6a9889b955230f637311f725395676" ], [ "Formatting.resp_components_corr", @@ -393,7 +389,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "5880157e82f62169e4689616dd7b14e9" + "9be4115a788d445c8d5c95af93606594" ] ] ] \ No newline at end of file diff --git a/examples/crypto/HyE.AE.fst.hints b/examples/crypto/HyE.AE.fst.hints index bb97ff1394e..d0b54d74f72 100644 --- a/examples/crypto/HyE.AE.fst.hints +++ b/examples/crypto/HyE.AE.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "428066c3dba33daac6812edd8a057313" + "890a69ac6844177b19d25923cb90b5ff" ], [ "HyE.AE.__proj__Key__item__log", @@ -25,7 +25,7 @@ "projection_inverse_HyE.AE.Key_region" ], 0, - "0486de1a51437dc38beb91d2da7931c8" + "94e842d5bbc2b85472cb4e98148777a0" ], [ "HyE.AE.keygen", @@ -33,9 +33,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_de0c4f31815b3388cd3c10eda9861253", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_CoreCrypto.AES_128_GCM", "equality_tok_CoreCrypto.AES_128_GCM@tok", "equation_CoreCrypto.aeadKeySize", @@ -61,11 +59,7 @@ "equation_HyE.AE.key_region", "equation_HyE.AE.keysize", "equation_HyE.AE.msg", "equation_HyE.AE.rid", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.Seq.grows", - "function_token_typing_HyE.AE.cipher", - "function_token_typing_HyE.Plain.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_HyE.Plain.t", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -92,20 +86,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_HyE.AE.Key_log", "projection_inverse_HyE.AE.Key_region", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c2e601e6ce7c9e3faa9bf7cf4f97543e", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_kinding_Tm_refine_d5f38576f4c9b6353149d27af7052546", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", @@ -120,13 +112,13 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" + "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.empty", + "typing_FStar.Seq.Base.seq", "typing_FStar.Set.complement", + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "40d08c425d9a571a7d473ae1a5e1a29c" + "17350a149bba2807e37c9cbf85e9fb6a" ], [ "HyE.AE.encrypt", @@ -135,10 +127,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", - "bool_typing", "constructor_distinct_CoreCrypto.AES_128_GCM", + "constructor_distinct_CoreCrypto.AES_128_GCM", + "data_elim_FStar.Pervasives.Native.Mktuple2", "equality_tok_CoreCrypto.AES_128_GCM@tok", "equation_CoreCrypto.aeadKeySize", "equation_CoreCrypto.aeadRealIVSize", @@ -161,9 +152,7 @@ "equation_Platform.Bytes.op_At_Bar", "equation_Prims.nat", "fuel_guarded_inversion_HyE.AE.key", "function_token_typing_FStar.UInt8.t", - "function_token_typing_HyE.AE.cipher", "function_token_typing_HyE.Plain.t", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -172,13 +161,13 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1aa37e237de100c4cef4848a2645cde9", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_3c2924a9cf9e6342b3b105760aba9667", - "refinement_interpretation_Tm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_34157247ae5583ed40d56901390095a5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_e5cb6e0430bbe544aa54732f0f62401f", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_kinding_Tm_refine_d5f38576f4c9b6353149d27af7052546", "typing_CoreCrypto.aead_encryptT", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq", @@ -189,7 +178,7 @@ "typing_tok_CoreCrypto.AES_128_GCM@tok" ], 0, - "0c136f421d2f5d15c4012e212a84276d" + "45e6b6f7f58a40abb609334906962dda" ], [ "HyE.AE.decrypt", @@ -200,14 +189,12 @@ "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_HyE.Plain.Plain_hasEq", "assumption_Platform.Bytes.HasEq_bytes", "equation_HyE.AE.cipher", - "equation_HyE.AE.ivsize", "equation_HyE.AE.msg", - "equation_Platform.Bytes.bytes", - "function_token_typing_HyE.AE.cipher", - "function_token_typing_HyE.Plain.t", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "equation_HyE.AE.msg", "function_token_typing_HyE.Plain.t", + "haseqTm_refine_d5f38576f4c9b6353149d27af7052546", + "refinement_kinding_Tm_refine_d5f38576f4c9b6353149d27af7052546" ], 0, - "dd16eb92c307c4e2bde253be3a0eb332" + "646d0e9d560596d03e01ccbf9decb8b2" ], [ "HyE.AE.decrypt", @@ -216,11 +203,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_de0c4f31815b3388cd3c10eda9861253", - "HyE.AE_interpretation_Tm_arrow_ff8a7ab4c864efca23ca36852cb6adbc", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "HyE.AE_interpretation_Tm_arrow_e23940a9f5631d5fcb099dd92358f27e", "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -255,17 +239,15 @@ "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.length", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_HyE.AE.key", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.Seq.grows", - "function_token_typing_HyE.AE.cipher", "function_token_typing_HyE.Plain.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_9acaeccf341d612adb110cc057313ea2", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_d5f38576f4c9b6353149d27af7052546", "int_inversion", + "interpretation_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -288,18 +270,19 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3c2924a9cf9e6342b3b105760aba9667", + "refinement_interpretation_Tm_refine_34157247ae5583ed40d56901390095a5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_455d37991444af3ed40206d59e75b904", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_df45e13378b64cfc3cd23f54e8657bfc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_9720119201e36060ec2f237abc768a3c", + "refinement_interpretation_Tm_refine_d5f38576f4c9b6353149d27af7052546", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_eceee487dc5f997fef8ec356a5ed69a1", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_kinding_Tm_refine_d5f38576f4c9b6353149d27af7052546", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", @@ -307,13 +290,14 @@ "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.seq_find", + "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq", + "typing_FStar.Seq.Properties.seq_find", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_Platform.Bytes.length", - "typing_Tm_abs_9acaeccf341d612adb110cc057313ea2" + "typing_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c" ], 0, - "30a895fa5128d50e8fe42749c75a11c7" + "ed48bfec22bdfa6e64fe7d85e1c47c5b" ], [ "HyE.AE.aes_key", @@ -327,7 +311,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "be17f9b7b0e4451b0e5c3299e4e63042" + "53e57597b7b79853af454b9eaf00cced" ], [ "HyE.AE.decrypt", @@ -338,14 +322,12 @@ "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_HyE.Plain.Plain_hasEq", "assumption_Platform.Bytes.HasEq_bytes", "equation_HyE.AE.cipher", - "equation_HyE.AE.ivsize", "equation_HyE.AE.msg", - "equation_Platform.Bytes.bytes", - "function_token_typing_HyE.AE.cipher", - "function_token_typing_HyE.Plain.t", - "haseqTm_refine_a2de0e48328ec9e47c8f36fcf85cb78b" + "equation_HyE.AE.msg", "function_token_typing_HyE.Plain.t", + "haseqTm_refine_d5f38576f4c9b6353149d27af7052546", + "refinement_kinding_Tm_refine_d5f38576f4c9b6353149d27af7052546" ], 0, - "46a1787c5c01e6b1a1a3ef687a43e1a5" + "71da926e287bafbdfad1ff469d65ce3d" ] ] ] \ No newline at end of file diff --git a/examples/crypto/HyE.CCA2.fst.hints b/examples/crypto/HyE.CCA2.fst.hints index 21981e2108c..a8a802c0313 100644 --- a/examples/crypto/HyE.CCA2.fst.hints +++ b/examples/crypto/HyE.CCA2.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_HyE.CCA2.PKey_region" ], 0, - "d2329aa6bae7efc9e63c276660cf3df2" + "40e38cbe1b4482d66398d3086e20a413" ], [ "HyE.CCA2.keygen", @@ -28,21 +28,20 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_HyE.CCA2.rid", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.Monotonic.HyperHeap.root", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_HyE.CCA2.pkey@tok", "kinding_HyE.CCA2.skey@tok", "lemma_FStar.Map.lemma_ContainsDom", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_88cdf982f29494978cb456b377825f78", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_c2e601e6ce7c9e3faa9bf7cf4f97543e", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", + "refinement_interpretation_Tm_refine_accffc400e362ff8792a6ddec9946944", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "40d7e898169ed5a7c13cffcd4d70b589" + "2b411693884317823f3eabe6f03c1b53" ], [ "HyE.CCA2.encrypt", @@ -54,29 +53,17 @@ "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", "data_typing_intro_FStar.Pervasives.V@tok", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_HyE.Ideal.conf", - "equation_HyE.RSA.cipher", "equation_HyE.RSA.plain", - "equation_HyE.RSA.plainsize", "equation_Platform.Bytes.bytes", + "equation_HyE.Ideal.conf", "equation_HyE.RSA.cipher", + "equation_HyE.RSA.plain", "equation_HyE.RSA.plainsize", "equation_Platform.Bytes.lbytes", "fuel_guarded_inversion_HyE.CCA2.pkey", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_HyE.Ideal.ind_cca", "function_token_typing_HyE.RSA.cipher", "function_token_typing_HyE.RSA.plain", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_6e5e30b8a35b3df5111e4e25b1b2bf65", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_3ca866cb4753920b807f65cae9ed57ef" ], 0, - "644c770c232d0e5446e1beaca1626801" + "f54e6f736e1ce5e646cacb35ae4b77d0" ], [ "HyE.CCA2.decrypt", @@ -97,30 +84,27 @@ "equation_FStar.Monotonic.HyperStack.mreference", "equation_HyE.CCA2.log_t", "equation_HyE.CCA2.rid", "equation_HyE.PlainPKE.t", "equation_HyE.RSA.cipher", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Prims.nat", + "equation_Platform.Bytes.lbytes", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_HyE.CCA2.pkey", "fuel_guarded_inversion_HyE.CCA2.skey", "function_token_typing_HyE.AE.key", - "function_token_typing_HyE.RSA.ciphersize", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", "int_inversion", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "kinding_FStar.Pervasives.Native.option@tok", "primitive_Prims.op_Negation", "proj_equation_HyE.CCA2.PKey_log", "proj_equation_HyE.CCA2.PKey_region", "proj_equation_HyE.CCA2.SKey_pk", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "typing_HyE.CCA2.__proj__PKey__item__log", "typing_HyE.CCA2.__proj__SKey__item__pk" ], 0, - "d7654835e7629e987746a386642b7bda" + "6091e73d66049995a65736cc53f55865" ] ] ] \ No newline at end of file diff --git a/examples/crypto/HyE.HCCA2.fst.hints b/examples/crypto/HyE.HCCA2.fst.hints index 304288f5c83..6e99db277df 100644 --- a/examples/crypto/HyE.HCCA2.fst.hints +++ b/examples/crypto/HyE.HCCA2.fst.hints @@ -22,21 +22,20 @@ "equation_FStar.Monotonic.Seq.rid", "equation_HyE.HCCA2.rid", "fuel_guarded_inversion_FStar.Pervasives.result", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.Monotonic.HyperHeap.root", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_HyE.HCCA2.pkey@tok", "kinding_HyE.HCCA2.skey@tok", "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_88cdf982f29494978cb456b377825f78", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_783151409f9467c9a971a7da0402ca2e", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "4f57ca0b22dc5e6d621c2d75b901c59a" + "e16bd2e7f744ba9c22f3072e1ff747b0" ], [ "HyE.HCCA2.encrypt", @@ -62,20 +61,19 @@ "fuel_guarded_inversion_FStar.Pervasives.result", "fuel_guarded_inversion_HyE.HCCA2.pkey", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.Monotonic.HyperHeap.root", "function_token_typing_HyE.HCCA2.c", "lemma_FStar.Map.lemma_ContainsDom", "proj_equation_HyE.HCCA2.PKey_region", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_88cdf982f29494978cb456b377825f78", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_783151409f9467c9a971a7da0402ca2e", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "48631fdcfa80c53d11ae9b4011af9350" + "184d39791e27eb9da55f08cc4428d9f3" ], [ "HyE.HCCA2.decrypt", @@ -100,7 +98,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "a6d2eab3e35f48947e92462164023ac3" + "0fd91979f55d388c4edaf2bde1faab42" ] ] ] \ No newline at end of file diff --git a/examples/crypto/HyE.RSA.fst.hints b/examples/crypto/HyE.RSA.fst.hints index ca1320e8d44..880d788661a 100644 --- a/examples/crypto/HyE.RSA.fst.hints +++ b/examples/crypto/HyE.RSA.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e030d874979cd338eeec52907bec5eff" + "afb610526539272cdfe6a4e3d300069a" ], [ "HyE.RSA.enc", @@ -23,13 +23,12 @@ [ "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_HyE.RSA.plain", - "equation_HyE.RSA.plainsize", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.lbytes", + "equation_HyE.RSA.plainsize", "equation_Platform.Bytes.lbytes", "function_token_typing_HyE.RSA.plain", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "aec631bf39a963e95d573e79c5d9f24f" + "d4f233a1f237c438db1c2021ebd63c67" ], [ "HyE.RSA.plain", @@ -43,7 +42,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "16d5f5b1de5ee1f563bf999f44665936" + "255edb757a880769bf34f064fe5001f4" ], [ "HyE.RSA.enc", @@ -53,13 +52,12 @@ [ "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_HyE.RSA.plain", - "equation_HyE.RSA.plainsize", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.lbytes", + "equation_HyE.RSA.plainsize", "equation_Platform.Bytes.lbytes", "function_token_typing_HyE.RSA.plain", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "89dd75e54a61b37587b74b4f9a96e3a1" + "aaf47b257b7ad473b689949437d3f343" ] ] ] \ No newline at end of file diff --git a/examples/crypto/MAC.fst.hints b/examples/crypto/MAC.fst.hints index 8c362ee31b1..417dc98be0e 100644 --- a/examples/crypto/MAC.fst.hints +++ b/examples/crypto/MAC.fst.hints @@ -8,13 +8,12 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_SHA1.key", "equation_SHA1.keysize", "equation_SHA1.tag", - "equation_SHA1.text", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "equation_Platform.Bytes.lbytes", "equation_SHA1.key", + "equation_SHA1.keysize", "equation_SHA1.tag", "equation_SHA1.text", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "cade9c1cba5afc910e2d741d301812a6" + "5e92ac3b3aaecf25ede69c5d82ad99b3" ], [ "MAC.__proj__Entry__item__t", @@ -26,7 +25,7 @@ "projection_inverse_MAC.Entry_k" ], 0, - "336087b590ae3cef6562972a05f03164" + "cfe31bd969a796cf7781378faeefeee2" ], [ "MAC.verify", @@ -52,7 +51,7 @@ "typing_Platform.Bytes.equalBytes" ], 0, - "6adde3f242dc0e1c98c3d3e529fd71c4" + "0fed41743d95aad825170129edd005f6" ], [ "MAC.keygen", @@ -63,7 +62,7 @@ "@query", "equation_SHA1.keysize", "projection_inverse_BoxInt_proj_0" ], 0, - "48c9f5a733de923a154bfd3660a1a3b2" + "e8a75d09d582aad673fb1ae734b77b7f" ], [ "MAC.mac", @@ -74,9 +73,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.find.fuel_instrumented", "@query", - "MAC_interpretation_Tm_arrow_1027e478f99d26e531721ca9cf68718f", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "MAC_interpretation_Tm_arrow_ca5c6e42e3ff57820b5634683be21c66", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "disc_equation_FStar.Pervasives.Native.Some", @@ -84,12 +82,12 @@ "equation_FStar.Heap.trivial_rel", "equation_FStar.Monotonic.Heap.only", "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Prims.l_True", "equation_SHA1.hmac_sha1", - "equation_SHA1.key", "equation_SHA1.keysize", "equation_SHA1.text", + "equation_SHA1.hmac_sha1", "equation_SHA1.key", + "equation_SHA1.keysize", "equation_SHA1.text", "equation_with_fuel_FStar.List.Tot.Base.find.fuel_instrumented", "function_token_typing_FStar.Heap.trivial_preorder", - "interpretation_Tm_abs_a20f96f65f8ba9421c1b05b196a94fae", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", + "interpretation_Tm_abs_7b3114bf1eb1202b6687fce89dcc274d", "kinding_MAC.entry@tok", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -98,16 +96,16 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_41dd6cceb17df1e54d0ecf64f0496d0f", - "refinement_interpretation_Tm_refine_557169cc4eb3b2882384851770e3a3b4", - "refinement_interpretation_Tm_refine_ad9cde64c932cdae765806f65e24e93b", + "refinement_interpretation_Tm_refine_20c0e3ae3802457ed04fc6c697f51278", + "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", + "refinement_interpretation_Tm_refine_91860757b6e7e26379c10fc642151f37", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", "true_interp", "typing_Platform.Bytes.equalBytes", "typing_SHA1.hmac_sha1", - "typing_Tm_abs_a20f96f65f8ba9421c1b05b196a94fae" + "typing_Tm_abs_7b3114bf1eb1202b6687fce89dcc274d" ], 0, - "3c1d43d803de8c37636d91396c59cb9a" + "9846a77805cedf288d3875632b3a1717" ], [ "MAC.verify", @@ -116,8 +114,7 @@ 2, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Platform.Bytes.HasEq_bytes", + "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", "data_elim_FStar.Pervasives.Native.Some", "data_elim_MAC.Entry", "disc_equation_FStar.Pervasives.Native.Some", "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", @@ -125,14 +122,15 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MAC.entry", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "refinement_interpretation_Tm_refine_41dd6cceb17df1e54d0ecf64f0496d0f", + "refinement_interpretation_Tm_refine_12f8aa177b9ccb382268e6defbf53458", + "refinement_interpretation_Tm_refine_20c0e3ae3802457ed04fc6c697f51278", "refinement_interpretation_Tm_refine_61aeee88c37953ca4933a44381e61e4a", - "refinement_interpretation_Tm_refine_ad9cde64c932cdae765806f65e24e93b", + "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", "typing_Platform.Bytes.equalBytes" ], 0, - "880a3d77b46414f8b30d416f0452f4ea" + "03a44c7ed1cef2064d409d6c4512a938" ], [ "MAC.entry", @@ -141,13 +139,12 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_SHA1.key", "equation_SHA1.keysize", "equation_SHA1.tag", - "equation_SHA1.text", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "equation_Platform.Bytes.lbytes", "equation_SHA1.key", + "equation_SHA1.keysize", "equation_SHA1.tag", "equation_SHA1.text", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "5643b15342debfc5de19d91c4ec7c1ad" + "bbc54b91fd549060854e4ef591d0b7b3" ], [ "MAC.__proj__Entry__item__t", @@ -159,7 +156,7 @@ "projection_inverse_MAC.Entry_k" ], 0, - "e03b75e230cfbf9a617c58335bf7c786" + "97672ddab45d814fcbccb6f4ec3c6c4c" ], [ "MAC.verify", @@ -171,7 +168,7 @@ "assumption_Prims.HasEq_bool" ], 0, - "977ff0351d061c002bb0aac74553d640" + "44c3222830c83f233514d8ff5cf01c3e" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Makefile b/examples/crypto/Makefile index b6d03c3c8e4..3c55fc311a9 100644 --- a/examples/crypto/Makefile +++ b/examples/crypto/Makefile @@ -85,20 +85,20 @@ CONTRIB_LIBS=$(FSTAR_HOME)/ucontrib/CoreCrypto/ml/CoreCrypto.cmxa include $(FSTAR_HOME)/ulib/ml/Makefile.include -#OCAMLC automatically contains fstarlib +#OCAMLOPT automatically contains fstarlib SUPPORT_LIBS=$(FSTARLIB_DIR)/fstarlib.cmxa $(CONTRIB_LIBS): $(MAKE) -C $(FSTAR_HOME)/ucontrib/ RPC.exe: RPC.ml $(CONTRIB_LIBS) - $(OCAMLC) -o $@ $(OCAML_INCLUDE_PATHS) $(CONTRIB_LIBS) SHA1.ml MAC.ml Formatting.ml RPC.ml + $(OCAMLOPT) -thread -o $@ $(OCAML_INCLUDE_PATHS) $(CONTRIB_LIBS) SHA1.ml MAC.ml Formatting.ml RPC.ml rpc-test: RPC.exe $(EXTRA_PATH) ./RPC.exe CntProtocol.exe: CntProtocol.ml $(CONTRIB_LIBS) - $(OCAMLC) -o $@ $(OCAML_INCLUDE_PATHS) $(CONTRIB_LIBS) SHA1.ml MAC.ml CntFormat.ml CntProtocol.ml + $(OCAMLOPT) -thread -o $@ $(OCAML_INCLUDE_PATHS) $(CONTRIB_LIBS) SHA1.ml MAC.ml CntFormat.ml CntProtocol.ml cnt-test: CntProtocol.exe $(EXTRA_PATH) ./CntProtocol.exe diff --git a/examples/crypto/RPC.fst.hints b/examples/crypto/RPC.fst.hints index bbe5283d469..7b4b6f76509 100644 --- a/examples/crypto/RPC.fst.hints +++ b/examples/crypto/RPC.fst.hints @@ -9,12 +9,12 @@ [ "@query", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", "equation_Formatting.message", - "equation_Platform.Bytes.bytes", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "equation_Platform.Bytes.bytes", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "e97d542bd1a5690aecbbddf42a67de4a" + "c9a456e94c75f0ae6e7ea507005cb389" ], [ "RPC.recv", @@ -25,12 +25,12 @@ "@query", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", "equation_Formatting.message", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.empty_bytes", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "equation_Platform.Bytes.empty_bytes", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "8a5d587fa0c498548d4dead208a34cc4" + "350e39a159b29c67da4cfbb4c3338930" ], [ "RPC.reqresp", @@ -42,7 +42,7 @@ "equation_Formatting.message" ], 0, - "2544556253e76a865581e9f56d2f0b24" + "7cdf53735a0b2b871c789f5377138dd3" ], [ "RPC.k", @@ -58,7 +58,7 @@ "refinement_interpretation_Platform.Bytes_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94" ], 0, - "a6a87b5cb42e72124e057f5e229b9659" + "6912348ef8af0434ae056e18d39a565e" ], [ "RPC.client_send", @@ -69,16 +69,16 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Formatting.request", "equation_Formatting.string16", - "equation_RPC.reqresp", "equation_SHA1.key", + "equation_RPC.reqresp", "fuel_guarded_inversion_FStar.Pervasives.result", "function_token_typing_RPC.reqresp", - "refinement_interpretation_Tm_refine_550fe84c55fa1c4e5d6ffbaa7d53b8b2", - "refinement_interpretation_Tm_refine_df393ec945fcc9a49fa4c6eaca42efd8", + "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9", + "refinement_interpretation_Tm_refine_64c1f3e625d0826505a6e122a1e6f34c", "string_inversion", "token_correspondence_MAC.key_prop", "typing_RPC.k", "unit_typing" ], 0, - "bef6ee2a9f5e3abad7a12f1f1ef3c701" + "eb99875d4c98f02a52475784fea5e0b7" ], [ "RPC.client_recv", @@ -87,39 +87,35 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt8.t__uu___haseq", "assumption_Platform.Bytes.HasEq_bytes", "equation_Formatting.length", "equation_Formatting.message", "equation_Formatting.response", "equation_Formatting.string16", "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.length", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_RPC.reqresp", "equation_SHA1.key", "equation_SHA1.macsize", + "equation_RPC.reqresp", "equation_SHA1.macsize", "equation_SHA1.text", "function_token_typing_FStar.UInt8.t", "function_token_typing_MAC.key_prop", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_Formatting.req_resp_distinct", "lemma_Formatting.resp_components_corr", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_550fe84c55fa1c4e5d6ffbaa7d53b8b2", - "refinement_interpretation_Tm_refine_590b7e4ad9c94577854f65588f9cce25", - "refinement_interpretation_Tm_refine_da0bdf24d63d3411887bce01b57c4f40", - "refinement_interpretation_Tm_refine_df393ec945fcc9a49fa4c6eaca42efd8", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9", + "refinement_interpretation_Tm_refine_5fa69b4962934cad095d86dae3af5fde", + "refinement_interpretation_Tm_refine_60dec82ab41f03ba1c1a91d4aee1d1ea", + "refinement_interpretation_Tm_refine_64c1f3e625d0826505a6e122a1e6f34c", "string_inversion", "token_correspondence_RPC.reqresp", "typing_FStar.Seq.Base.eq", "typing_Formatting.response", "typing_RPC.k" ], 0, - "6a1d7920096b1defe7a0ae1a72508f4d" + "abb1722692d4d84b2c7e67821e7191bf" ], [ "RPC.server", @@ -128,9 +124,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_FStar.UInt8.t__uu___haseq", "assumption_Formatting.UTF8_inj", @@ -141,13 +134,12 @@ "equation_Formatting.uInt16", "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_RPC.reqresp", "equation_SHA1.key", "equation_SHA1.macsize", + "equation_RPC.reqresp", "equation_SHA1.macsize", "fuel_guarded_inversion_FStar.Pervasives.result", "function_token_typing_FStar.UInt8.t", "function_token_typing_MAC.key_prop", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_Formatting.append_inj_lemma", "lemma_Formatting.req_resp_distinct", @@ -157,23 +149,23 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_550fe84c55fa1c4e5d6ffbaa7d53b8b2", - "refinement_interpretation_Tm_refine_817c51db722350467cfedef9622fe5b2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c7069f69cc199a1eafe157824635da1a", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_da0bdf24d63d3411887bce01b57c4f40", - "refinement_interpretation_Tm_refine_df393ec945fcc9a49fa4c6eaca42efd8", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_60dec82ab41f03ba1c1a91d4aee1d1ea", + "refinement_interpretation_Tm_refine_64c1f3e625d0826505a6e122a1e6f34c", + "refinement_interpretation_Tm_refine_7438252d1400520eb9f2eb017f027955", + "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", + "refinement_interpretation_Tm_refine_cd09ddcf1e74b0ee438bf6649f57e1a7", + "refinement_interpretation_Tm_refine_cefb73c1a1fecfecbb42524d5def000f", "string_typing", "token_correspondence_RPC.reqresp", "typing_FStar.Seq.Base.eq", "typing_Formatting.request", "typing_Formatting.tag0", "typing_Platform.Bytes.utf8", "typing_RPC.k", "unit_typing" ], 0, - "e6e07acc94a5250b318223a2804088ec" + "494806a569aa27ca75659ca8557b10ff" ], [ "RPC.test", @@ -182,21 +174,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "disc_equation_FStar.Pervasives.Err", "equation_Formatting.length", "equation_Formatting.uInt16", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.result", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_typing", "typing_Formatting.length", "typing_Platform.Bytes.utf8", "unit_typing" ], 0, - "73d5fbff27e9c11746e42841be6833df" + "84f042fb15e5a50049dcf7d788c24e10" ], [ "RPC.reqresp", @@ -208,7 +198,7 @@ "equation_Formatting.message" ], 0, - "b183f50835df74bfc1446162361f934d" + "6f65ff1086189e938ab489de682d3092" ], [ "RPC.k", @@ -220,7 +210,7 @@ "fuel_guarded_inversion_FStar.Pervasives.result" ], 0, - "2a501fe4b23b633169edd8956e9c1f8b" + "354d2390b8150c838f08a6f24c084449" ] ] ] \ No newline at end of file diff --git a/examples/crypto/SHA1.fst.hints b/examples/crypto/SHA1.fst.hints index 1cff5ec6ee5..b311af8909b 100644 --- a/examples/crypto/SHA1.fst.hints +++ b/examples/crypto/SHA1.fst.hints @@ -10,7 +10,7 @@ "@query", "equation_SHA1.keysize", "projection_inverse_BoxInt_proj_0" ], 0, - "9ba28bba22b7de9dc294fb49013465ee" + "0626dd6beafab6877a3b8b972f757ce5" ], [ "SHA1.sample", @@ -19,7 +19,7 @@ 1, [ "@query" ], 0, - "e1a217758b2b637a3acbfbf1802547ce" + "d678d960da932d11e1da5c84794c920e" ], [ "SHA1.sha1", @@ -31,7 +31,7 @@ "equality_tok_CoreCrypto.SHA1@tok", "equation_CoreCrypto.hashSize" ], 0, - "363b6439c04e67375bf94ec581eaae37" + "c6f30a72102d2e576a378351e4633386" ], [ "SHA1.hmac_sha1", @@ -43,7 +43,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8d631bc6b4c1762fb3dcaa4f13e9c691" + "31ced802b50414fcb0f9ba272e467fb4" ], [ "SHA1.key", @@ -54,7 +54,7 @@ "@query", "equation_SHA1.keysize", "projection_inverse_BoxInt_proj_0" ], 0, - "0c88c73562563a1894bea0acacec939a" + "84586372b4858d83638f516384d2a792" ], [ "SHA1.sha1", @@ -66,7 +66,7 @@ "equality_tok_CoreCrypto.SHA1@tok", "equation_CoreCrypto.hashSize" ], 0, - "369ddac7a073f880aedf879fbf3374ca" + "a6970b807ed90353de531faba7b73d42" ], [ "SHA1.hmac_sha1", @@ -78,7 +78,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "423b309c2b26e96a30b7dc138549ff95" + "c7ebca6ab9532b7538767c87c8c2b859" ] ] ] \ No newline at end of file diff --git a/examples/crypto/Sig.fst.hints b/examples/crypto/Sig.fst.hints index 134b785e252..c2673a64246 100644 --- a/examples/crypto/Sig.fst.hints +++ b/examples/crypto/Sig.fst.hints @@ -10,7 +10,7 @@ "@query", "equation_Sig.sigsize", "projection_inverse_BoxInt_proj_0" ], 0, - "3317cf0f096860370330acd4d28b0077" + "4d306a2fe8890a89d1a2fe1c16b66b1a" ], [ "Sig.pk", @@ -19,7 +19,7 @@ 1, [ "@query", "equation_Sig.pksize", "projection_inverse_BoxInt_proj_0" ], 0, - "d1c9d62f992a9b9520f797bb44c59e49" + "060835121da823c1a87d678f033c0abf" ], [ "Sig.sk", @@ -28,7 +28,7 @@ 1, [ "@query", "equation_Sig.sksize", "projection_inverse_BoxInt_proj_0" ], 0, - "a5e2009c18e6cc0be09a7857dc5213e6" + "160582d629dcdd4b4418fb0b4ed2fa11" ], [ "Sig.entry", @@ -37,13 +37,13 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Sig.pk", "equation_Sig.pksize", "equation_Sig.sig_t", - "equation_Sig.sigsize", "equation_Sig.text", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "equation_Platform.Bytes.lbytes", "equation_Sig.pk", + "equation_Sig.pksize", "equation_Sig.sig_t", "equation_Sig.sigsize", + "equation_Sig.text", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "e5f8f85b7542f3175c60eefe8252f1cb" + "7d52a28d3f1e442b5955a15ace0ae5c7" ], [ "Sig.__proj__Entry__item__t", @@ -55,7 +55,7 @@ "projection_inverse_Sig.Entry_k" ], 0, - "fc1241d0549005ad4a7f7ab62d308c0e" + "c90d292ae0b6e709470968c5d497a6fa" ], [ "Sig.sign", @@ -64,12 +64,12 @@ 1, [ "@query", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "equation_FStar.Heap.trivial_rel", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "23694e769aaf79d58496228634c63406" + "e38e14548044806c0b7bc06764349a4d" ], [ "Sig.verify", @@ -84,14 +84,14 @@ "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", "equation_Sig.pk", "equation_Sig.pksize", "equation_Sig.sigsize", "equation_Sig.text", "fuel_guarded_inversion_Sig.entry", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_77f98adb3f75273495a03d6e19fc6e7d", - "refinement_interpretation_Tm_refine_79a5609e5a23968ed29de422371cc63a" + "refinement_interpretation_Tm_refine_f7e217a709bf72990519e54b2cca90dc", + "refinement_interpretation_Tm_refine_fcaf3f241603a1e28a7ee47f5eb025f1" ], 0, - "f11e318d124e8c94e8f3cb94206c05f1" + "c6fd75987d217de5676f606bf37576f8" ], [ "Sig.sig_t", @@ -102,7 +102,7 @@ "@query", "equation_Sig.sigsize", "projection_inverse_BoxInt_proj_0" ], 0, - "58831836fc6bbcc10d0fdeb3e0054181" + "363835df23da0c2fc4cfb5cb5f25712f" ], [ "Sig.pk", @@ -111,7 +111,7 @@ 1, [ "@query", "equation_Sig.pksize", "projection_inverse_BoxInt_proj_0" ], 0, - "2a17288093bbb45cad40d10234c831a6" + "5384ed1428554817c9c68d632030f968" ], [ "Sig.sk", @@ -120,7 +120,7 @@ 1, [ "@query", "equation_Sig.sksize", "projection_inverse_BoxInt_proj_0" ], 0, - "9c438beb6ef7912b7b4a393f37f3a7fd" + "991eaff486817b70ff6b36b1ba2c8e04" ], [ "Sig.entry", @@ -129,13 +129,13 @@ 1, [ "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Sig.pk", "equation_Sig.pksize", "equation_Sig.sig_t", - "equation_Sig.sigsize", "equation_Sig.text", - "haseqTm_refine_3458b9f6f40fe62446cdc2c6d3755a94" + "equation_Platform.Bytes.lbytes", "equation_Sig.pk", + "equation_Sig.pksize", "equation_Sig.sig_t", "equation_Sig.sigsize", + "equation_Sig.text", + "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" ], 0, - "70082d6e5daa087f08f1cd46b67279c9" + "41942aeecdc15f7606ef162d2a2db052" ], [ "Sig.__proj__Entry__item__t", @@ -147,7 +147,7 @@ "projection_inverse_Sig.Entry_k" ], 0, - "a7607ae319d3e8d3e097c923c3a4505c" + "fa3c90dd162879797935091e6ef4e8ac" ] ] ] \ No newline at end of file diff --git a/examples/csl/Examples.fst b/examples/csl/Examples.fst index d8ecf892cb8..3f2f4a9d38f 100644 --- a/examples/csl/Examples.fst +++ b/examples/csl/Examples.fst @@ -42,7 +42,7 @@ let write_ok (h:heap) (r:addr) (n:t) = let c = (Write r n) in let p = fun _ h -> sel h r == n in let post = (lift_wpsep (wpsep_command c)) p h in - assert_by_tactic (h `contains` r ==> post) solve + assert (h `contains` r ==> post) by solve () (* * Read r into n, Write n + 1 to r, then sel h r = n + 1 @@ -51,7 +51,7 @@ let increment_ok (h:heap) (r:addr) (n:t) = let c = Bind (Read r) (fun n -> Write r (n +?^ 1uL)) in let p = fun _ h -> (sel h r == n +?^ 1uL) in let post = (lift_wpsep (wpsep_command c)) p h in - assert_by_tactic (h `contains` r /\ sel h r == n ==> post) solve + assert (h `contains` r /\ sel h r == n ==> post) by solve () (* * Swapping two refs @@ -60,14 +60,14 @@ let swap_ok (r1:addr) (r2:addr) (h:heap) (a:t) (b:t) = let c = Bind (Read r1) (fun n1 -> Bind (Read r2) (fun n2 -> Bind (Write r1 n2) (fun _ -> Write r2 n1))) in let p = fun _ h -> (sel h r1 == b /\ sel h r2 == a) in let post = (lift_wpsep (wpsep_command c)) p h in - assert_by_tactic (h `contains` r1 /\ h `contains` r2 /\ addr_of r1 <> addr_of r2 /\ sel h r1 == a /\ sel h r2 == b ==> post) solve + assert (h `contains` r1 /\ h `contains` r2 /\ addr_of r1 <> addr_of r2 /\ sel h r1 == a /\ sel h r2 == b ==> post) by solve () #reset-options "--using_facts_from '* -FStar.Tactics -FStar.Reflection'" let double_increment_ok (r:addr) (h:heap) (n:t{size (v n + 2) FStar.UInt64.n}) = let c = Bind (Bind (Read r) (fun y -> Write r (y +?^ 1uL))) (fun _ -> (Bind (Read r) (fun y -> Write r (y +?^ 1uL)))) in let p = fun _ h -> sel h r == (n +?^ 2uL) in let t = (lift_wpsep (wpsep_command c)) p h in - assert_by_tactic (h `contains` r /\ sel h r == n ==> t) solve + assert (h `contains` r /\ sel h r == n ==> t) by solve () (* * This example also goes through but takes a lot of time. @@ -77,18 +77,18 @@ let double_increment_ok (r:addr) (h:heap) (n:t{size (v n + 2) FStar.UInt64.n}) = // let c = Bind (Bind (Read r1) (fun n1 -> Bind (Read r2) (fun n2 -> Bind (Write r1 n2) (fun _ -> Write r2 n1)))) (fun _ -> Bind (Read r2) (fun n3 -> Bind (Read r3) (fun n4 -> Bind (Write r2 n4) (fun _ -> Write r3 n3)))) in // let p = fun _ h -> (sel h r1 == j /\ sel h r2 == k /\ sel h r3 == i) in // let t = (lift_wpsep (wpsep_command c)) p h in -// assert_by_tactic (h `contains` r1 /\ h `contains` r2 /\ h `contains` r3 /\ +// assert (h `contains` r1 /\ h `contains` r2 /\ h `contains` r3 /\ // addr_of r1 <> addr_of r2 /\ addr_of r2 <> addr_of r3 /\ addr_of r1 <> addr_of r3 /\ -// sel h r1 == i /\ sel h r2 == j /\ sel h r3 == k ==> t) solve +// sel h r1 == i /\ sel h r2 == j /\ sel h r3 == k ==> t) by solve () let init_ok (h:heap) = let c = Bind (Alloc) (fun (r1:addr) -> Bind (Write r1 7uL) (fun _ -> Return r1)) in let p = fun r h -> sel h r == 7uL in let t = (lift_wpsep (wpsep_command c)) p h in - assert_by_tactic t solve + assert t by solve () let copy_ok (r1:addr) (r2:addr) (r3:addr) (h:heap) (i:t) (j:t) (k:t) = let c = Bind (Read r1) (fun n1 -> Write r2 (n1)) in let p = fun _ h -> (sel h r1 == i /\ sel h r2 == i /\ sel h r3 == k) in let post = (lift_wpsep (wpsep_command c)) p h in - assert_by_tactic (h `contains` r1 /\ h `contains` r2 /\ h `contains` r3 /\ addr_of r1 <> addr_of r2 /\ addr_of r2 <> addr_of r3 /\ addr_of r1 <> addr_of r3 /\ sel h r1 == i /\ sel h r2 == j /\ sel h r3 == k ==> post) solve + assert (h `contains` r1 /\ h `contains` r2 /\ h `contains` r3 /\ addr_of r1 <> addr_of r2 /\ addr_of r2 <> addr_of r3 /\ addr_of r1 <> addr_of r3 /\ sel h r1 == i /\ sel h r2 == j /\ sel h r3 == k ==> post) by solve () diff --git a/examples/csl/Examples.fst.hints b/examples/csl/Examples.fst.hints index af8fffd0760..fa6ee04a2b4 100644 --- a/examples/csl/Examples.fst.hints +++ b/examples/csl/Examples.fst.hints @@ -1,5 +1,5 @@ [ - "Ø$›l‹ô›²¼K¾ÁÚG\u001c.", + "\u0003\u0010wäÌ·J+ŽÑv†\u0014YÕ[", [ [ "Examples.write_ok", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "4da935301f996474f43d74721578e50e" + "1925a45554a619bdf8a011f36daa8145" ], [ "Examples.increment_ok", @@ -25,7 +25,7 @@ "unit_inversion", "unit_typing" ], 0, - "437de86c42de48d7aadd8a81283ba107" + "0304aa20470b8b71bf381e09e1a4a020" ], [ "Examples.increment_ok", @@ -40,7 +40,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "9c870b21a7f2d607449f9a0d32511aa4" + "3e1f3ac786ab71303373e6dc675bb3c7" ], [ "Examples.increment_ok", @@ -55,13 +55,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "27dc757d78c6e566b6727851c71d274d" + "87f47bab96a2b0a6ef1906dbed967f12" ], [ "Examples.swap_ok", @@ -71,12 +71,12 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "true_interp" ], 0, - "f7b3b1609f3c15b9cb1d0afa0d3d4db2" + "74f19838481d3de536aebfba0ba0105c" ], [ "Examples.swap_ok", @@ -88,7 +88,7 @@ "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "f1930f0ba691b9a6d303bd39e8ccd219" + "3165dba2c0449f159ab4f8573d689920" ], [ "Examples.swap_ok", @@ -106,7 +106,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "d1f06b9d54c05d7532ef19470517e25d" + "0bb3445a1f2afab0e4fb39d35fc34c55" ], [ "Examples.swap_ok", @@ -118,7 +118,7 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" ], 0, - "5fe874e36914eb1e4659ffd9b7387038" + "b2bb9df97d551eb5881b5691f93f37b1" ], [ "Examples.swap_ok", @@ -137,7 +137,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "32f0c656d9fe435af7a919c0edf73e65" + "140fcd0ca6fa3799286329b30b661aec" ], [ "Examples.swap_ok", @@ -163,7 +163,7 @@ "typing_FStar.SL.Monotonic.Heap.sel" ], 0, - "1521da95f64d62986c8182c1e527aef8" + "983e4a603a40397810baa015abb2bde3" ], [ "Examples.swap_ok", @@ -182,7 +182,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "80510e67ae4cff8949f840d9807e5eae" + "5bbf46de387d52eee3ee399486b854bb" ], [ "Examples.swap_ok", @@ -197,13 +197,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "5cedbfe97183672a205319b23d329782" + "eae98fa094268df6dcffc50af1ad5939" ], [ "Examples.swap_ok", @@ -218,13 +218,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "2f60d5e447fc46cc108782fbeab1d75f" + "a394dc6a2930f93f3254a642b6e928e4" ], [ "Examples.double_increment_ok", @@ -239,7 +239,7 @@ "unit_inversion", "unit_typing" ], 0, - "ffb3383f280b399df60c62898f0d3109" + "2a1832a2ad066638c929cfdc2953f64f" ], [ "Examples.double_increment_ok", @@ -254,7 +254,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "bc3b02655299fe8e3ebea02f6ecff6ea" + "8e5fadf8a7bde265cdd7611bdae3b969" ], [ "Examples.double_increment_ok", @@ -272,7 +272,7 @@ "typing_FStar.SL.Monotonic.Heap.get_next_addr" ], 0, - "7025b4bbb03b6adc2efe243af9501c89" + "1cbcbac9777b76365a040efc76795b0b" ], [ "Examples.double_increment_ok", @@ -291,7 +291,7 @@ "typing_FStar.SL.Monotonic.Heap.get_next_addr" ], 0, - "e77e126ff5ebba277bd0120d8726eccd" + "e076669dfe161a37a6750ea7b185cd60" ], [ "Examples.double_increment_ok", @@ -299,16 +299,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_Examples.t", - "equation_FStar.SL.Heap.ref", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_Examples.t", "equation_FStar.SL.Heap.ref", "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Lang.addr", "equation_Lang.t", "function_token_typing_FStar.UInt64.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", @@ -318,20 +315,20 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", - "refinement_interpretation_Tm_refine_450edd65928250ceedc6fa10f57a5358", - "refinement_interpretation_Tm_refine_74f171b37d5da015f5b10d9596d4a176", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_f4936c852aaca3d63c83da7b40353bce", + "refinement_interpretation_Tm_refine_30520f4aa1db6a708962f02a92706a29", + "refinement_interpretation_Tm_refine_348f35b5cb6c5853965b93f3b8a8627d", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fb34617cae39ea38c65bb70d2e0f0d79", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to", "typing_FStar.UInt64.add_underspec", "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v" ], 0, - "83ed29d54d838e38a76c738620fa4bc9" + "d97695e3bd7bc7981eaf213ef67ef583" ], [ "Examples.init_ok", @@ -341,16 +338,13 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.SL.Heap.ref", + "b2t_def", "equation_FStar.SL.Heap.ref", "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n", - "equation_Lang.addr", "equation_Lang.t", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.UInt64.n", - "function_token_typing_FStar.UInt64.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_FStar.UInt.uint_t", "equation_Lang.addr", + "equation_Lang.t", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_FStar.UInt64.t", "int_typing", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_points_to_unused_h", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_emp_with_next_addr", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_points_to", @@ -360,17 +354,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08a9f6b1350da17e8f2ca6f7c829495a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bf9ef7c4e1907c48bae3e5a80998ec74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.get_next_addr", "typing_FStar.UInt64.uint_to_t", "typing_Prims.pow2" ], 0, - "8fbcc7638bf4c8894cafb3efc2017530" + "26055934b1671056e37ecc679efab2bf" ], [ "Examples.init_ok", @@ -385,9 +379,8 @@ "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n", - "equation_Lang.addr", "equation_Lang.t", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.UInt64.n", + "equation_FStar.UInt.uint_t", "equation_Lang.addr", + "equation_Lang.t", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.UInt64.t", "function_token_typing_Prims.__cache_version_number__", "int_typing", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_emp_with_next_addr", @@ -397,17 +390,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08a9f6b1350da17e8f2ca6f7c829495a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bf9ef7c4e1907c48bae3e5a80998ec74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.get_next_addr", "typing_FStar.UInt64.uint_to_t", "typing_Prims.pow2" ], 0, - "386f0969b460e54a54202f6362933c08" + "dcfa8d1215a96219f31086fae0deddc7" ], [ "Examples.copy_ok", @@ -415,17 +408,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "true_interp" ], 0, - "adfeab090f5049a7d10af9bc85191fb7" + "508ae43b6975f95acb00216329ac71ae" ], [ "Examples.copy_ok", @@ -440,7 +430,7 @@ "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "3f6776d2cffda2a07e686f000eb3708a" + "c97d1dd289aedc6be8b713ec38149d6f" ], [ "Examples.copy_ok", @@ -458,7 +448,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "dd0146cdbc240133a37bcef7190442d8" + "a1163e5b2b2a3ab1badc92b3de4d5aab" ], [ "Examples.copy_ok", @@ -476,7 +466,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "1baeeb763950f7fcf0da277a7ae33955" + "df179417374ff5669bd7fb352e09167e" ], [ "Examples.copy_ok", @@ -491,13 +481,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "45122a6083f162c39d60fc339a42a8d8" + "fc469e92144a9c95a04c9297df8cb611" ], [ "Examples.copy_ok", @@ -515,7 +505,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "fc2bebfea928db53ace180f10d781cee" + "714ab37f6ba0993e61d54f2a0910038a" ], [ "Examples.copy_ok", @@ -527,7 +517,7 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" ], 0, - "34548f6d9400ae7515e0235a199bf930" + "cafc6ae81b7203b47217109e520b51d5" ], [ "Examples.copy_ok", @@ -535,11 +525,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Lang.t", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974" ], 0, - "b83cbb8d86522110e314a11bc3c27d70" + "047e907e469f2051981c4c4f96170ab7" ], [ "Examples.write_ok", @@ -548,7 +538,7 @@ 1, [ "@query" ], 0, - "699251a820929a6301f49ac9133acac7" + "516c29aa899a74fdb44ff36f3ba035ae" ], [ "Examples.increment_ok", @@ -557,7 +547,7 @@ 1, [ "@query" ], 0, - "811ec1de03ef6d84ff28ffc9d9514300" + "a2a07ddb908198ed0c723cee0be0c80e" ], [ "Examples.increment_ok", @@ -572,7 +562,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "0959a80494dfd4d5d0dc31a5ec632c23" + "215aa78179c7b04df29a8f32771c2ef8" ], [ "Examples.increment_ok", @@ -587,13 +577,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "68432edda3132d18d1dca0a146fa6187" + "65379fa5409dfbc38eb4b88b20ee60d1" ], [ "Examples.swap_ok", @@ -603,12 +593,12 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "true_interp" ], 0, - "839d6dcf8ae7eedd4e164beac7c8b9fe" + "7dbba51eaa1da3ecd7ab96522a24ad4f" ], [ "Examples.swap_ok", @@ -617,7 +607,7 @@ 1, [ "@query" ], 0, - "389e77ca80ddf3555a1b4d87a0c76d0a" + "8779cb325849a5a4cc50b4cfe0ac3eb4" ], [ "Examples.swap_ok", @@ -635,7 +625,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "15bcee04607696d1db90ad87b9671517" + "ee824d0c26983f2a92d5b5371d5f9e06" ], [ "Examples.swap_ok", @@ -647,7 +637,7 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" ], 0, - "5f9836e3670bd3ca649648b2058e1f2f" + "4a928f14c5903aaa2b3ac4b5d9db305b" ], [ "Examples.swap_ok", @@ -668,7 +658,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "70494f25455845e86abe1d6feb0084dc" + "ad5c7f0158271a41069823a9463dbaf2" ], [ "Examples.swap_ok", @@ -694,7 +684,7 @@ "typing_FStar.SL.Monotonic.Heap.sel" ], 0, - "1c96ff79a2b981aaaf440584600df750" + "bd728d0f628616c87c3b5f5018013dcd" ], [ "Examples.swap_ok", @@ -713,7 +703,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "be1286bdba589854a1181b4c2ede583f" + "dbd6bc2691eff2dd8062315472f624fa" ], [ "Examples.swap_ok", @@ -728,13 +718,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "9615519b0f33c5506c0ddad64cef8759" + "2dcd808f41b069088a298e38edf9693d" ], [ "Examples.swap_ok", @@ -749,13 +739,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "54cc7289b95fad32a16f56f49498225c" + "d7a7b70f0b5bfd49dfb2269f2165daa0" ], [ "Examples.double_increment_ok", @@ -764,7 +754,7 @@ 1, [ "@query" ], 0, - "8491b482b11537be1ea3347a4f99dc06" + "11db469064775331689835de82a66de5" ], [ "Examples.double_increment_ok", @@ -779,7 +769,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "ea54a5735cc3f949fd0a8d7e5b7d6c20" + "1c7c14d67fff627d6a127c3e65133e6c" ], [ "Examples.double_increment_ok", @@ -797,7 +787,7 @@ "typing_FStar.SL.Monotonic.Heap.get_next_addr" ], 0, - "57740411b65d68d7b9093765bbbfff78" + "28d846dabb4a51199690c4dc9f4d0c4f" ], [ "Examples.double_increment_ok", @@ -816,7 +806,7 @@ "typing_FStar.SL.Monotonic.Heap.get_next_addr" ], 0, - "300341c0e8d658c7f0897571c96706b3" + "8643ea855b94379279586b49d9cecfc8" ], [ "Examples.double_increment_ok", @@ -824,16 +814,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_Examples.t", - "equation_FStar.SL.Heap.ref", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_Examples.t", "equation_FStar.SL.Heap.ref", "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Lang.addr", "equation_Lang.t", "function_token_typing_FStar.UInt64.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", @@ -843,20 +830,20 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", - "refinement_interpretation_Tm_refine_450edd65928250ceedc6fa10f57a5358", - "refinement_interpretation_Tm_refine_74f171b37d5da015f5b10d9596d4a176", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_f4936c852aaca3d63c83da7b40353bce", + "refinement_interpretation_Tm_refine_30520f4aa1db6a708962f02a92706a29", + "refinement_interpretation_Tm_refine_348f35b5cb6c5853965b93f3b8a8627d", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fb34617cae39ea38c65bb70d2e0f0d79", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to", "typing_FStar.UInt64.add_underspec", "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v" ], 0, - "4ac330e40bcc423aef2de8e4f6bb6a7c" + "a540f2a6ab64672d43aff78f7b28012b" ], [ "Examples.init_ok", @@ -866,16 +853,13 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.SL.Heap.ref", + "b2t_def", "equation_FStar.SL.Heap.ref", "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n", - "equation_Lang.addr", "equation_Lang.t", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.UInt64.n", - "function_token_typing_FStar.UInt64.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_FStar.UInt.uint_t", "equation_Lang.addr", + "equation_Lang.t", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_FStar.UInt64.t", "int_typing", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_points_to_unused_h", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_emp_with_next_addr", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_points_to", @@ -885,17 +869,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08a9f6b1350da17e8f2ca6f7c829495a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bf9ef7c4e1907c48bae3e5a80998ec74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.get_next_addr", "typing_FStar.UInt64.uint_to_t", "typing_Prims.pow2" ], 0, - "31b4a18b06d09a6a6e38ee1ec1eb33af" + "18e791b8d140490668795b42d7492172" ], [ "Examples.init_ok", @@ -910,9 +894,8 @@ "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n", - "equation_Lang.addr", "equation_Lang.t", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.UInt64.n", + "equation_FStar.UInt.uint_t", "equation_Lang.addr", + "equation_Lang.t", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.UInt64.t", "function_token_typing_Prims.__cache_version_number__", "int_typing", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_emp_with_next_addr", @@ -922,17 +905,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08a9f6b1350da17e8f2ca6f7c829495a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bf9ef7c4e1907c48bae3e5a80998ec74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.get_next_addr", "typing_FStar.UInt64.uint_to_t", "typing_Prims.pow2" ], 0, - "94e9b715db5022331ad8c07fa122dfd0" + "203ef746a929fe065c3881d8094f180a" ], [ "Examples.copy_ok", @@ -940,17 +923,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "true_interp" ], 0, - "64241d1323645d5d24f722f5e0908dce" + "625a0f75ad93dd9b90d73852d9c0354d" ], [ "Examples.copy_ok", @@ -959,7 +939,7 @@ 1, [ "@query" ], 0, - "a00b2953831e183b39510d991ad83c1d" + "68df0851e6dcdcb09dccbc8bbcc94ff5" ], [ "Examples.copy_ok", @@ -977,7 +957,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "52a40f759aafa1636ef9ee13eb32a5ea" + "b6464a1db350ab3fbbd96236a689cdcd" ], [ "Examples.copy_ok", @@ -995,7 +975,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "1c9d0d1f0827f15c3ece0a3c5a09d41b" + "aabb122b07f8b5123e75633c8d0fb0cb" ], [ "Examples.copy_ok", @@ -1010,13 +990,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "a208123662d082963d911a4cb9050a4c" + "d8de54434c51f44880dabed54031fe93" ], [ "Examples.copy_ok", @@ -1034,7 +1014,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "9e86afca66dc25d50ebb3344e775c96b" + "906b34d162f35629c03a027bd357aa05" ], [ "Examples.copy_ok", @@ -1046,7 +1026,7 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" ], 0, - "0ad63687763b4795b73b7dc9fc4f840e" + "aed425045aa5a28a4366b7ccbc8759ec" ], [ "Examples.copy_ok", @@ -1054,11 +1034,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Lang.t", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974" ], 0, - "5f9007dbbb372275de265b9c1e9f80ed" + "3ef70332be65c210789062f436c8b2ab" ] ] ] \ No newline at end of file diff --git a/examples/csl/FStar.SL.Heap.fst.hints b/examples/csl/FStar.SL.Heap.fst.hints index d53c3e047e8..baa35a96bef 100644 --- a/examples/csl/FStar.SL.Heap.fst.hints +++ b/examples/csl/FStar.SL.Heap.fst.hints @@ -10,12 +10,12 @@ "@query", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", - "equation_FStar.SL.Heap.trivial_rel", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "equation_FStar.SL.Heap.trivial_rel", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "true_interp" ], 0, - "c823ecc6c321d593c2669035299b442e" + "5dbb48e30a0234c36ee89701a3228cea" ], [ "FStar.SL.Heap.trivial_preorder", @@ -26,12 +26,12 @@ "@query", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", - "equation_FStar.SL.Heap.trivial_rel", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "equation_FStar.SL.Heap.trivial_rel", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "true_interp" ], 0, - "72a68d3896877d494e4d4960f38a8d7b" + "277ca55ab21a7961787f9aa84b4ead0b" ] ] ] \ No newline at end of file diff --git a/examples/csl/FStar.SL.Monotonic.Heap.fst.hints b/examples/csl/FStar.SL.Monotonic.Heap.fst.hints index 40ecafabe2b..a80547e5b2e 100644 --- a/examples/csl/FStar.SL.Monotonic.Heap.fst.hints +++ b/examples/csl/FStar.SL.Monotonic.Heap.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c27e3056b8c378b81c51cb58e0ed3d3d" + "915b6ac5583c15878a4fc744209200b3" ], [ "FStar.SL.Monotonic.Heap.equal_extensional", @@ -21,28 +21,31 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", + "@MaxIFuel_assumption", "@query", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "equation_FStar.FunctionalExtensionality.is_restricted", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.equal", "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.nat", "l_and-interp", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "a4ebdd3d99f363d32e7f2225642580c0" + "ffb07486b75724b717871fcb40536a5d" ], [ "FStar.SL.Monotonic.Heap.emp", @@ -51,29 +54,29 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_Prims.nat", "function_token_typing_Prims.nat", + "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_7bfee9206cd83149abe49dc5bf5da3f1", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_7bfee9206cd83149abe49dc5bf5da3f1" ], 0, - "c09e9341bb89e97a5c61d646ed0d8c50" + "0022c7778db39d5493de4bb5c38efbf7" ], [ "FStar.SL.Monotonic.Heap.emp_with_next_addr", @@ -91,13 +94,13 @@ "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.emp" ], 0, - "b3ccab54ab3698489c48ad10aa651b50" + "e879515466e03ceea4f31bc919d9cc50" ], [ "FStar.SL.Monotonic.Heap.compare_addrs", @@ -107,11 +110,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "27e220972f154f27c661cf62482df0e1" + "8751fe6246031138683a60d715996d2b" ], [ "FStar.SL.Monotonic.Heap.compare_addrs", @@ -120,18 +123,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f53688eaf3a63279cc715166706ee794" + "7a5a18a1bb94f724a6804c74272439f1" ], [ "FStar.SL.Monotonic.Heap.contains", @@ -144,7 +145,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "5d5e6646bc0841fd743c0346d7bc11d2" + "00976cc3cc4682b4817a165b7b1ba523" ], [ "FStar.SL.Monotonic.Heap.only", @@ -152,16 +153,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0fd44dc69d1bdf791913ad216cb56fb9" + "029a639ef97f9045d2d5946e8d700613" ], [ "FStar.SL.Monotonic.Heap.op_Hat_Plus_Plus", @@ -171,11 +169,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5fa818f15ff75ff8a72158ecc09e66c7" + "76123d2311d55a73cd3425e651e26e5d" ], [ "FStar.SL.Monotonic.Heap.op_Hat_Plus_Plus", @@ -183,16 +181,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5d65745cb85e65d34b761e8697975b69" + "c343f151d3e36eb9277d0fa9f75427ff" ], [ "FStar.SL.Monotonic.Heap.op_Plus_Plus_Hat", @@ -202,11 +197,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "920a5738466bd946f8421a5f2affe3d2" + "d69171ecfbf8c0a9d92e537c553182ed" ], [ "FStar.SL.Monotonic.Heap.op_Plus_Plus_Hat", @@ -214,16 +209,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b6627b69522e30ec3feb610c1f12d7b5" + "0354e647ea1166e45078240dbd0fbd69" ], [ "FStar.SL.Monotonic.Heap.op_Hat_Plus_Hat", @@ -231,16 +223,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "264a6ed99ef2d568b3335358ddcc9a48" + "294bade5f05ed3571dffacc508cbb535" ], [ "FStar.SL.Monotonic.Heap.sel_tot", @@ -259,7 +248,7 @@ "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b" ], 0, - "f471ff7d3f3de38efc574c3c313c09b7" + "bb4bd5cc873d6df0a263cf3d6b0ddeb2" ], [ "FStar.SL.Monotonic.Heap.sel", @@ -268,10 +257,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b45924ae782b9b8962799d50569bb2a1" + "refinement_interpretation_Tm_refine_21b820892b42efaf5d8734b0cf8c4cc3" ], 0, - "104484af56b12fba774595e8db6250a3" + "578ee3d517999732974aebb92db9e236" ], [ "FStar.SL.Monotonic.Heap.upd_tot'", @@ -281,11 +270,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e7753c2e26e784b7fe431b5061cf5fcd" + "e7b63559090d9aaffb6642c8ec9a8f86" ], [ "FStar.SL.Monotonic.Heap.upd_tot", @@ -294,38 +283,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", - "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", + "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "int_inversion", + "interpretation_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", @@ -333,21 +310,19 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.upd_tot_", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84" + "typing_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "f7f756e3954a154e0b712a96aff3fb43" + "22a3baaca5f03cfa4952014f34a10d37" ], [ "FStar.SL.Monotonic.Heap.upd", @@ -356,45 +331,31 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_f1711d4733db6d2c3d98d74bd52fe9b9", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", + "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.mref", "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_dd03471d2c1e01ad1207556e539819b7", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", @@ -405,26 +366,24 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_21b820892b42efaf5d8734b0cf8c4cc3", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_b45924ae782b9b8962799d50569bb2a1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.upd_tot_", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84" + "typing_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "4b163ccc1fb357255ac315d327793923" + "35a07312e0f63293c3c18ad143b2f765" ], [ "FStar.SL.Monotonic.Heap.alloc", @@ -433,22 +392,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_e95f031a7b6e2b15361961b506ac67f8", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_004864bcbe92acd7848adcd4be15ea32", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", @@ -459,15 +416,16 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "4a3760c5a584602249e4574e22afd014" + "8f856fa2c5bd9070a564c38e71334a49" ], [ "FStar.SL.Monotonic.Heap.free_mm", @@ -476,42 +434,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", @@ -519,21 +463,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_d5a0381b7ab9ba5576e479b8eb3b4e6e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.is_mm", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "931331e087f2c25c335eae75a5cd4306" + "d7c727c39af08f08d0f4b8174de541bb" ], [ "FStar.SL.Monotonic.Heap.join_tot", @@ -542,35 +483,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.logical", - "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "kinding_FStar.Pervasives.dtuple4@tok", + "int_inversion", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThan", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", @@ -578,19 +506,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f" ], 0, - "d1a86012a36be68868d858c235667489" + "44517fef8014e42bde07c4a75995b0cb" ], [ "FStar.SL.Monotonic.Heap.restrict", @@ -599,41 +526,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_83b92ea43d397fbc6d6605c72728cc67", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", @@ -643,19 +557,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "c86be78936467ecfd3e0b33ca536ab02" + "a78fff310378a5fa39538ef49965ae96" ], [ "FStar.SL.Monotonic.Heap.points_to", @@ -664,25 +577,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_754b104d84ede59f083133258e38cf99", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", @@ -693,13 +604,14 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "d1b2856109e81225e79d4ef693b7d00f" + "4f21d67d604e8c3ce60945e9081b567e" ], [ "FStar.SL.Monotonic.Heap.minus", @@ -708,41 +620,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", + "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", @@ -750,20 +649,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "12fb13c43e84a645e50e1ce4a368a14c" + "dc2b2b5823983aadfabd0e9e6d0998d0" ], [ "FStar.SL.Monotonic.Heap.modifies", @@ -773,11 +670,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5cbc5e974400208d1185d16d1226ff50" + "5c2f6964b1dac74da1bf54dbbe432687" ], [ "FStar.SL.Monotonic.Heap.modifies", @@ -787,11 +684,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c6dab58100ce10e56f8c656b585befb4" + "2c81ba78c8b2a93112adec9103fb9599" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_contains_test", @@ -800,16 +697,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_f1711d4733db6d2c3d98d74bd52fe9b9", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_ea3ffd4fdc54b2e765acd7f95df0e1dd", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", @@ -817,7 +711,6 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", @@ -830,23 +723,17 @@ "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_FStar.SL.Monotonic.Heap.upd", "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", @@ -861,10 +748,12 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", @@ -872,13 +761,11 @@ "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84" + "typing_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "4342223ac2c813be590ef1fe9cface43" + "ba082ef4aaaec207de1dcb1530dfe30f" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_contains_not_necessarily_well_typed_test", @@ -887,9 +774,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -900,7 +788,6 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", @@ -918,17 +805,17 @@ "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "interpretation_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_dd03471d2c1e01ad1207556e539819b7", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", + "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", "projection_inverse_BoxBool_proj_0", @@ -938,24 +825,24 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "typing_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443" + "typing_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_dd03471d2c1e01ad1207556e539819b7" ], 0, - "c6ade814a59617d35923d24d9a4a069b" + "a1ce0e8c24be5f26007147049b87fe35" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_unused_test", @@ -964,10 +851,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_f1711d4733db6d2c3d98d74bd52fe9b9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_ea3ffd4fdc54b2e765acd7f95df0e1dd", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -976,7 +864,6 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", @@ -993,11 +880,10 @@ "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_dd03471d2c1e01ad1207556e539819b7", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1011,21 +897,22 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_dd03471d2c1e01ad1207556e539819b7" ], 0, - "549271f22cfce2988c74bf782cd348e3" + "bc4c938de76d3c67d8f060fcdc4338dc" ], [ "FStar.SL.Monotonic.Heap.lemma_alloc_test", @@ -1034,23 +921,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", + "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_elim_FStar.Pervasives.Native.None", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", @@ -1063,31 +946,22 @@ "equation_FStar.SL.Monotonic.Heap.sel", "equation_FStar.SL.Monotonic.Heap.sel_tot", "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_e95f031a7b6e2b15361961b506ac67f8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_004864bcbe92acd7848adcd4be15ea32", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Mkdtuple4__1", "projection_inverse_FStar.Pervasives.Mkdtuple4__2", "projection_inverse_FStar.Pervasives.Mkdtuple4__3", @@ -1096,14 +970,13 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", @@ -1111,13 +984,11 @@ "typing_FStar.SL.Monotonic.Heap.alloc", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_e95f031a7b6e2b15361961b506ac67f8" + "typing_Tm_abs_004864bcbe92acd7848adcd4be15ea32", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "7e833b0852cb2c7847d42d41d8c9c182" + "d6fa08c76f2480b2f7353a7a9c68f365" ], [ "FStar.SL.Monotonic.Heap.lemma_free_mm_test", @@ -1126,22 +997,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_f1711d4733db6d2c3d98d74bd52fe9b9", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", + "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", @@ -1153,35 +1018,27 @@ "equation_FStar.SL.Monotonic.Heap.sel", "equation_FStar.SL.Monotonic.Heap.sel_tot", "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_d5a0381b7ab9ba5576e479b8eb3b4e6e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", @@ -1190,13 +1047,11 @@ "typing_FStar.SL.Monotonic.Heap.free_mm", "typing_FStar.SL.Monotonic.Heap.is_mm", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_e42f9151eb0b6732781ec554a2cb7076" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9" ], 0, - "cf5d441baba27d1b05a7e06ed99948a6" + "a177d5ac109d236a97f71097f24737c5" ], [ "FStar.SL.Monotonic.Heap.lemma_alloc_fresh_test", @@ -1205,23 +1060,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", @@ -1236,32 +1087,24 @@ "equation_FStar.SL.Monotonic.Heap.sel", "equation_FStar.SL.Monotonic.Heap.sel_tot", "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_e95f031a7b6e2b15361961b506ac67f8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_004864bcbe92acd7848adcd4be15ea32", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Mkdtuple4__1", "projection_inverse_FStar.Pervasives.Mkdtuple4__2", "projection_inverse_FStar.Pervasives.Mkdtuple4__3", @@ -1272,13 +1115,12 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.addr_of", @@ -1286,13 +1128,11 @@ "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_e95f031a7b6e2b15361961b506ac67f8" + "typing_Tm_abs_004864bcbe92acd7848adcd4be15ea32", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "c04bdcbd504c4e9d988628ff174e2518" + "22f460f296af18ad88b1f323caaee56d" ], [ "FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -1301,7 +1141,7 @@ 1, [ "@query", "equation_FStar.SL.Monotonic.Heap.unused_in" ], 0, - "3ed8f1ad36b6ed5d5e369a7e16461c7e" + "9a436a4465c6aecdc7240d29a3386291" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_implies_used", @@ -1319,7 +1159,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7c3a86b57936bfc15935e9d12d6b1a95" + "1fb96278965ec9b5278b23349461340b" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -1329,11 +1169,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cae7f44c0029c46dd4b585d81d345b76" + "cdaaa92db56d60a0c9d5adab8c95d58a" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -1350,7 +1190,7 @@ "l_and-interp", "projection_inverse_BoxBool_proj_0" ], 0, - "898e3000117c1cea867b6dc2459fedd5" + "c5c16d5120316a739dbcd29d59e670a6" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", @@ -1360,11 +1200,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dce2aad33ca5059fd45241006a9ae7f1" + "732c377f8965aff862626279bd649e11" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", @@ -1382,7 +1222,7 @@ "l_and-interp", "projection_inverse_BoxBool_proj_0" ], 0, - "981011ea7525c1697f57e6f3b09a4833" + "7a8c7e0763be70922689c9f837bebcf5" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", @@ -1392,11 +1232,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5714efd97935e427835432cee03e3291" + "e3d3d80ed72c851cf2e078bd7d41eaa3" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", @@ -1414,7 +1254,7 @@ "typing_FStar.SL.Monotonic.Heap.is_mm" ], 0, - "b7e25e41b9773032bcd6a91db04caedb" + "76c1a72e2239b08e5b74e56ef6248c63" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -1424,11 +1264,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9a306dcacb878469511498b672fd308f" + "1edee7e3104a3a66a654a86c8afdcd35" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -1441,7 +1281,7 @@ "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr" ], 0, - "3bca7f3c375c242c45414d0695ea9c09" + "9926862363d84c8c2d061a4d2bf1ad2c" ], [ "FStar.SL.Monotonic.Heap.lemma_alloc", @@ -1450,8 +1290,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1459,7 +1301,6 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", @@ -1475,10 +1316,9 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_e95f031a7b6e2b15361961b506ac67f8", - "interpretation_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443", + "interpretation_Tm_abs_004864bcbe92acd7848adcd4be15ea32", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_dd03471d2c1e01ad1207556e539819b7", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -1500,19 +1340,20 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_e95f031a7b6e2b15361961b506ac67f8", - "typing_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443" + "typing_Tm_abs_004864bcbe92acd7848adcd4be15ea32", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_dd03471d2c1e01ad1207556e539819b7" ], 0, - "6ef4f5b06559957d1cf5baffeb148ac3" + "af8988dc5034411fc3ca24ab4b63a58a" ], [ "FStar.SL.Monotonic.Heap.lemma_free_mm_sel", @@ -1522,11 +1363,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "042c5ed98142db513376896414580362" + "7d14a3a538709919a074ba668b9cdb59" ], [ "FStar.SL.Monotonic.Heap.lemma_free_mm_sel", @@ -1535,14 +1376,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", "equation_FStar.SL.Monotonic.Heap.contains", @@ -1555,29 +1396,29 @@ "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "primitive_Prims.op_Equality", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_d5a0381b7ab9ba5576e479b8eb3b4e6e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.free_mm", "typing_FStar.SL.Monotonic.Heap.is_mm", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_e42f9151eb0b6732781ec554a2cb7076" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9" ], 0, - "30a4737f0aa103c91a4f0d8e5d1b6733" + "338c5a4b978e1411778c527a69aea030" ], [ "FStar.SL.Monotonic.Heap.lemma_free_mm_contains", @@ -1587,11 +1428,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8fe418294fda4d73d655aa094895202e" + "7c863bfc43c260bdf1ce5bc548ab63ac" ], [ "FStar.SL.Monotonic.Heap.lemma_free_mm_contains", @@ -1600,8 +1441,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -1609,7 +1452,6 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", "equation_FStar.SL.Monotonic.Heap.contains", @@ -1620,9 +1462,8 @@ "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "primitive_Prims.op_Equality", @@ -1631,16 +1472,17 @@ "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_d5a0381b7ab9ba5576e479b8eb3b4e6e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.is_mm", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_e42f9151eb0b6732781ec554a2cb7076" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9" ], 0, - "8b04e3c8bfb317d7c212ec16a90cb129" + "ba8352cceb7fcf6b261cff7275b3e24e" ], [ "FStar.SL.Monotonic.Heap.lemma_free_mm_unused", @@ -1648,16 +1490,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c543557976567b898c5fc3924efb917f" + "111918cc746fd9d186c7452149af6b3c" ], [ "FStar.SL.Monotonic.Heap.lemma_free_mm_unused", @@ -1666,24 +1505,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_f1711d4733db6d2c3d98d74bd52fe9b9", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", @@ -1692,20 +1524,12 @@ "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.is_mm", "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", + "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -1715,21 +1539,20 @@ "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_d5a0381b7ab9ba5576e479b8eb3b4e6e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.free_mm", "typing_FStar.SL.Monotonic.Heap.is_mm", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_e42f9151eb0b6732781ec554a2cb7076" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9" ], 0, - "671a26ab2017a4fafd03632a5cf1c38c" + "1c08f1cea5bf692cb8a45914cd342d82" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_same_addr", @@ -1737,16 +1560,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "72f94d10fb94da6776394698a47ff9aa" + "c513674e4a6cb0f53729985018edbdae" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_same_addr", @@ -1763,19 +1583,19 @@ "equation_FStar.SL.Monotonic.Heap.is_mm", "equation_FStar.SL.Monotonic.Heap.mref", "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.sel_tot", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "l_and-interp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_24d00f96b10171854c4ed8c7982b4579", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.is_mm", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "1bf26b119631d214c00794f5d91d4813" + "77a6276f50b2942060b6a536ea1a42f2" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_same_addr", @@ -1783,16 +1603,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fc4721d203e2769b8cc395652a9de003" + "f859246ca1d8df47392eed5f825f9191" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_same_addr", @@ -1801,14 +1618,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.equal", @@ -1819,10 +1635,9 @@ "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", + "int_inversion", + "interpretation_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "primitive_Prims.op_Equality", @@ -1831,18 +1646,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.is_mm", "typing_FStar.SL.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a" + "typing_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "6f48b12d35ecae1c308c99371654da17" + "630664a7bb7489f2e8859f64e8dc2def" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_upd1", @@ -1850,16 +1665,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9afa40c3240d16c20fefb54d175604fd" + "d54b81b990f56979216f5d7f421f27af" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_upd1", @@ -1868,13 +1680,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_ea3ffd4fdc54b2e765acd7f95df0e1dd", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.Native.Some", + "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.contains", @@ -1885,16 +1703,20 @@ "equation_FStar.SL.Monotonic.Heap.sel_tot", "equation_FStar.SL.Monotonic.Heap.upd", "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "interpretation_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443", + "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", + "int_inversion", + "interpretation_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_dd03471d2c1e01ad1207556e539819b7", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", + "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Mkdtuple4__1", "projection_inverse_FStar.Pervasives.Mkdtuple4__2", @@ -1903,20 +1725,23 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.is_mm", "typing_FStar.SL.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "typing_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443" + "typing_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_dd03471d2c1e01ad1207556e539819b7" ], 0, - "66ec99ecef2b601726443c2185a064e2" + "ebecd61b219d27daf04f4c3b81d815c3" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_upd2", @@ -1924,16 +1749,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a343deac2ea7f8bbf1b4ad8da7e4aa6f" + "4f7edb52053b3b8bc6e3de01ab969835" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_upd2", @@ -1942,16 +1764,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", "equation_FStar.SL.Monotonic.Heap.contains", @@ -1964,11 +1786,10 @@ "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "interpretation_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443", + "int_inversion", + "interpretation_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_dd03471d2c1e01ad1207556e539819b7", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "primitive_Prims.op_Equality", @@ -1978,20 +1799,21 @@ "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "typing_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443" + "typing_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_dd03471d2c1e01ad1207556e539819b7" ], 0, - "edb4ff3d3d6a299ca0d89c97e49c516d" + "3b1e6aac210e68dea30207edb4d63276" ], [ "FStar.SL.Monotonic.Heap.lemma_mref_injectivity", @@ -2004,7 +1826,7 @@ "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_" ], 0, - "62be8d067a3db0c3775246e39b26b232" + "17ffb01557a4d1b502d151648f059107" ], [ "FStar.SL.Monotonic.Heap.lemma_in_dom_emp", @@ -2012,23 +1834,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", "equation_FStar.SL.Monotonic.Heap.emp", "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.emp" ], 0, - "1fe893f1ec2e7e2f7ac832b34fa79d51" + "3870c2ed1d5f892617242e74507bb7e7" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_contains", @@ -2037,9 +1857,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -2047,7 +1868,6 @@ "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.heap", @@ -2056,11 +1876,10 @@ "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "interpretation_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443", + "int_inversion", + "interpretation_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_dd03471d2c1e01ad1207556e539819b7", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -2075,16 +1894,17 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "typing_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443" + "typing_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_dd03471d2c1e01ad1207556e539819b7" ], 0, - "fdcea2c504879e1b73c49b23e664f866" + "926fe9dcb49746d5a171fa49bc51e50f" ], [ "FStar.SL.Monotonic.Heap.lemma_well_typed_upd_contains", @@ -2093,13 +1913,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", @@ -2107,7 +1924,6 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", @@ -2116,20 +1932,14 @@ "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.mref", "equation_FStar.SL.Monotonic.Heap.upd", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", - "equation_Prims.logical", "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "interpretation_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -2148,9 +1958,10 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", @@ -2158,13 +1969,11 @@ "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84" + "typing_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29" ], 0, - "2e6cf0820ace51ec0ef40b715a2a8afe" + "f0d323f514762cfbc03889927947d999" ], [ "FStar.SL.Monotonic.Heap.lemma_unused_upd_contains", @@ -2174,11 +1983,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ea75e459f7a2d2079c130c3a5f3ef796" + "2593c4b975f932d8e529be47825a0cc5" ], [ "FStar.SL.Monotonic.Heap.lemma_unused_upd_contains", @@ -2187,23 +1996,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_f1711d4733db6d2c3d98d74bd52fe9b9", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_ea3ffd4fdc54b2e765acd7f95df0e1dd", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "data_elim_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.Native.None", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", @@ -2211,22 +2015,15 @@ "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.mref", "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_FStar.SL.Monotonic.Heap.upd", "equation_Prims.logical", - "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.upd", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "int_inversion", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_dd03471d2c1e01ad1207556e539819b7", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -2237,23 +2034,22 @@ "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_dd03471d2c1e01ad1207556e539819b7" ], 0, - "7fc0b3aec0e2c6309eed0d4f85851e9b" + "6bdd7179468654e1816377b6affeee42" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_contains_different_addr", @@ -2261,16 +2057,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3c6334e6a144531a39ba219af5fcf8df" + "c6b42ca3c480b7d42b2cdbc06a1ffa42" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_contains_different_addr", @@ -2279,13 +2072,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", "equation_FStar.SL.Monotonic.Heap.contains", @@ -2294,9 +2087,8 @@ "equation_FStar.SL.Monotonic.Heap.upd", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_dd03471d2c1e01ad1207556e539819b7", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -2308,17 +2100,18 @@ "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_dd03471d2c1e01ad1207556e539819b7" ], 0, - "dfa27c146eb677edc9f454babc2744e1" + "0e28ef0f5852bde94e2196c2845ab14a" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_unused", @@ -2328,11 +2121,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dec3f7abbab8e9488ecc662cb23a6f00" + "2b0851616cbc45ef58bd218b5b9baaa0" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_unused", @@ -2341,17 +2134,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_ea3ffd4fdc54b2e765acd7f95df0e1dd", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.Pervasives.Native.None", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", @@ -2364,11 +2157,11 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "interpretation_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443", + "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", + "int_inversion", + "interpretation_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_dd03471d2c1e01ad1207556e539819b7", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -2381,25 +2174,25 @@ "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "typing_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443" + "typing_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_dd03471d2c1e01ad1207556e539819b7" ], 0, - "224d64c67a6b82621f9d58461d37b973" + "4cbd8b5064e12267ea3e2ef563b73d2d" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_upd_modifies", @@ -2409,11 +2202,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "85bcde23d1c85f6079f35b59cc94b93b" + "14c7f3994852486c6e254b0741fbea8f" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_upd_modifies", @@ -2422,7 +2215,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.modifies", @@ -2433,9 +2225,8 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "lemma_FStar.SL.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.SL.Monotonic.Heap.lemma_upd_unused", @@ -2443,13 +2234,14 @@ "lemma_FStar.Set.mem_singleton", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_24d00f96b10171854c4ed8c7982b4579", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.upd", "typing_FStar.Set.singleton" ], 0, - "766e0f911188e81242ea64b3ac708552" + "afa7ec3e94f13651a971bbc59773978a" ], [ "FStar.SL.Monotonic.Heap.lemma_unused_upd_modifies", @@ -2459,11 +2251,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "756595645bf4c3f500c05d1d5583e384" + "0c94b82dd4331b33056548ef216ea6b8" ], [ "FStar.SL.Monotonic.Heap.lemma_unused_upd_modifies", @@ -2489,7 +2281,7 @@ "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" ], 0, - "ed9c435be4dac93751df5a34af6918eb" + "96e75fd002a91d36d1645cf477b9b66e" ], [ "FStar.SL.Monotonic.Heap.upd_upd_same_mref", @@ -2498,16 +2290,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", "equation_FStar.SL.Monotonic.Heap.contains", @@ -2518,11 +2309,10 @@ "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "interpretation_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443", + "int_inversion", + "interpretation_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_dd03471d2c1e01ad1207556e539819b7", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", @@ -2536,20 +2326,21 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6adda0b11064cdefb2a6b1bf1a3e261a", - "typing_Tm_abs_f2e7bf68bc74e921ac81d0b96f970443" + "typing_Tm_abs_098ad24e30ca689b661222ce1cb61476", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_dd03471d2c1e01ad1207556e539819b7" ], 0, - "a38fa75188000c12c2be5ddd41389a9a" + "7c0a081098241e07f8ff034e9af739f6" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_equals_sel_tot_for_contained_refs", @@ -2560,13 +2351,13 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.sel", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "4f97aacbe6158250e7d7e28136815d29" + "b2095d3ebe347788a87c0e0248d164b3" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_equals_upd_tot_for_contained_refs", @@ -2578,13 +2369,13 @@ "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.upd", "equation_FStar.SL.Monotonic.Heap.upd_tot", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "25d8abb6740d101bdf2d7bbac2d66c99" + "b5f98de66b2bdae184f0ef516bb8c8de" ], [ "FStar.SL.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -2592,16 +2383,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dd3e90eb5ff5014e4d906720d3b32b6f" + "4f0a2db8fe357eb32ffa417deefee1c1" ], [ "FStar.SL.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -2611,11 +2399,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a499128fa5b56727021edef9af8efb16" + "11e2f30e607c8b63be39c34d162e251b" ], [ "FStar.SL.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -2624,7 +2412,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.equal_dom", @@ -2632,19 +2419,18 @@ "equation_FStar.SL.Monotonic.Heap.modifies_t", "equation_FStar.SL.Monotonic.Heap.sel", "equation_FStar.SL.Monotonic.Heap.set", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.TSet.lemma_mem_tset_of_set", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "b55fde5c73ea2ec25a9e276a2a9ee973" + "f399d29c4607334c461a09e261b9e5b9" ], [ "FStar.SL.Monotonic.Heap.lemma_is_emp_emp_with_next_addr", @@ -2659,7 +2445,7 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory" ], 0, - "2e0202b38dc521fc2e64e138643c3b25" + "aca27a623e7f10a6c673453928e72425" ], [ "FStar.SL.Monotonic.Heap.lemma_get_next_addr_restrict", @@ -2669,10 +2455,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "591d5d1513cc292be26f3ab2b2f2e76f" + "9ff45c69caf61920cbbe23df128aee65" ], [ "FStar.SL.Monotonic.Heap.lemma_get_next_addr_restrict", @@ -2688,7 +2474,7 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr" ], 0, - "209e07dbe8aa75a631bd11845b200687" + "2acb687dcf722ee352ada64472515fc7" ], [ "FStar.SL.Monotonic.Heap.lemma_get_next_addr_points_to", @@ -2704,7 +2490,7 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr" ], 0, - "2af7f41aaf613f6f9b0e5f83037a0e51" + "f6e7e063b0910dd1f2560a19fd681468" ], [ "FStar.SL.Monotonic.Heap.lemma_get_next_addr_emp_with_next_addr", @@ -2718,7 +2504,7 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr" ], 0, - "b9d59030cb61a773fcc0a5dfa45dfc38" + "78503d3981ff81cc20ffa63448fc710d" ], [ "FStar.SL.Monotonic.Heap.lemma_r_unused_in_minus", @@ -2728,10 +2514,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4eff1348e5197d7260d26d7f6f46357f" + "529d9462d47dc07efe4aed39b0ad5b85" ], [ "FStar.SL.Monotonic.Heap.lemma_r_unused_in_minus", @@ -2740,59 +2526,39 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.minus", "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", + "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", + "primitive_Prims.op_Equality", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.minus", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_e42f9151eb0b6732781ec554a2cb7076" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9" ], 0, - "31ddad9b42deccc7ea6171da090fd51b" + "0c07daa5a7b3697f2cd8bb0807bfdb4b" ], [ "FStar.SL.Monotonic.Heap.lemma_r_unused_in_emp_with_next_addr", @@ -2804,16 +2570,16 @@ "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", "equation_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.heap", "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr" ], 0, - "826427d0f34d4f0a7234e6c58b4b99be" + "e582dba6e684f7d745152cdfe0c17d50" ], [ "FStar.SL.Monotonic.Heap.lemma_r_unused_in_h", @@ -2825,13 +2591,13 @@ "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.heap", "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "typing_FStar.SL.Monotonic.Heap.addr_of" ], 0, - "6c36d0087dc8c0564433bf89dfeadff0" + "54c81f268f3642b6e8d0e72af1de580a" ], [ "FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", @@ -2840,25 +2606,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.equal", "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.join_tot", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", + "int_inversion", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", @@ -2867,22 +2631,22 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f" ], 0, - "fac233b6d34903fe12e2895c9bdc52cd" + "99584c982491578202775bd467639e6c" ], [ "FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", @@ -2892,10 +2656,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f661f4124b3381032eb8d0ea7a7b0c7a" + "f2de40b940a17059cfefc8291d906ae5" ], [ "FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", @@ -2904,16 +2668,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", @@ -2929,23 +2688,17 @@ "equation_FStar.SL.Monotonic.Heap.join_tot", "equation_FStar.SL.Monotonic.Heap.minus", "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.restrict", - "equation_Prims.logical", "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.restrict", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", + "int_inversion", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "interpretation_Tm_abs_83b92ea43d397fbc6d6605c72728cc67", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", @@ -2964,23 +2717,22 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_e42f9151eb0b6732781ec554a2cb7076" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "typing_Tm_abs_83b92ea43d397fbc6d6605c72728cc67" ], 0, - "f64bf666b84e95a367011fed0c60ba2b" + "5fb327672afeb4899423598507015d9e" ], [ "FStar.SL.Monotonic.Heap.lemma_join_tot_emp_with_next_addr_h", @@ -2989,14 +2741,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.emp", "equation_FStar.SL.Monotonic.Heap.emp_with_next_addr", @@ -3007,11 +2758,10 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", + "int_inversion", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "interpretation_Tm_abs_7bfee9206cd83149abe49dc5bf5da3f1", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", @@ -3023,20 +2773,20 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", "typing_FStar.SL.Monotonic.Heap.get_next_addr", "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "typing_Tm_abs_7bfee9206cd83149abe49dc5bf5da3f1" ], 0, - "82aa71b0cba1beb478f577a134901078" + "850c81021eb0bfcd41e3b53d35a3470d" ], [ "FStar.SL.Monotonic.Heap.lemma_join_tot_h_emp_with_next_addr", @@ -3059,7 +2809,7 @@ "typing_FStar.SL.Monotonic.Heap.join_tot" ], 0, - "16772a9dc22c6b86095b6a9663a2e9ff" + "3cf280ceb0db2cc33525a48e3b9d4243" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_restrict_minus", @@ -3069,10 +2819,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f7498a71145536230c7032d49addbeb7" + "09bc0d1e80f1ee498a0384dfc3de31c8" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_restrict_minus", @@ -3084,7 +2834,7 @@ "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus" ], 0, - "c2ba0c2b3ad52ca4ce22de8f9496c5f3" + "f0683809f83a1371919d8b76d3539e33" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_restrict_minus", @@ -3092,20 +2842,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e92167aa67ad7ac8bf52297092bc8a3c" + "0fc9c7fb8d4573092b7f76132b18d24a" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_restrict_minus", @@ -3117,7 +2862,7 @@ "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus" ], 0, - "31b1c251c27c092c23ecff2a319e6cdb" + "0f80c61f880f5ca34810e4e2ad5e6918" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", @@ -3127,10 +2872,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "943940f1fdb5f829c86528fad8e6f00e" + "7cf9f9c63832ec56da7ee28970f41c52" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", @@ -3139,46 +2884,34 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.join_tot", "equation_FStar.SL.Monotonic.Heap.minus", "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", - "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "equation_FStar.SL.Monotonic.Heap.points_to", "equation_Prims.eq2", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_754b104d84ede59f083133258e38cf99", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "interpretation_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", @@ -3190,30 +2923,23 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__3", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.get_next_addr", - "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_FStar.SL.Monotonic.Heap.minus", - "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_754b104d84ede59f083133258e38cf99", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_e42f9151eb0b6732781ec554a2cb7076" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "typing_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f" ], 0, - "fb19530da7796700270dd97ddae92254" + "8eee9f45f3ef2db02c2caa52d773b0ea" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", @@ -3221,20 +2947,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d743ef1061890cf774e41e90dcba7f00" + "b653410d05efd2e3fbd17cf649ed7dec" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", @@ -3243,23 +2964,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", "equation_FStar.SL.Monotonic.Heap.contains", @@ -3268,57 +2981,43 @@ "equation_FStar.SL.Monotonic.Heap.join_tot", "equation_FStar.SL.Monotonic.Heap.minus", "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", - "equation_Prims.logical", "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.points_to", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_754b104d84ede59f083133258e38cf99", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "interpretation_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_r_unused_in_h", "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", + "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.get_next_addr", - "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_FStar.SL.Monotonic.Heap.minus", "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_754b104d84ede59f083133258e38cf99", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_e42f9151eb0b6732781ec554a2cb7076" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "typing_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f" ], 0, - "502f83fa5b7f6981358fae4be94a4019" + "5dfad579e27ccb119888d95c80d5e088" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_join_tot_h_emp_with_next_addr", @@ -3327,15 +3026,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", @@ -3349,10 +3048,9 @@ "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "interpretation_Tm_abs_7bfee9206cd83149abe49dc5bf5da3f1", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -3368,17 +3066,18 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "typing_Tm_abs_7bfee9206cd83149abe49dc5bf5da3f1" ], 0, - "490ae1f0ead770a40eb8c071bf72280c" + "006ec11c95fb0d7a4a317db1daea739d" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_join_tot_emp_with_next_addr_h", @@ -3392,7 +3091,7 @@ "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr" ], 0, - "aa1ff71cc5f0b2e64c3d71777a3dc689" + "123594f3f0b064be55dbf557beb464a2" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r_points_to_unused_h", @@ -3401,8 +3100,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.None", @@ -3411,7 +3112,6 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", @@ -3425,10 +3125,9 @@ "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_754b104d84ede59f083133258e38cf99", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -3445,19 +3144,20 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.join_tot", "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_754b104d84ede59f083133258e38cf99" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f" ], 0, - "22be6717e4230570d7f196f5312293b9" + "67ae523f2e2b8c35d3a60d4d382535af" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_points_to_unused_h", @@ -3467,11 +3167,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7f2b131713d980fe6fc8dcc9ea1efa1c" + "386efa4e2fbd0cba25ca3edf51e10259" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_points_to_unused_h", @@ -3481,11 +3181,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b2e1b6f17f0999521888640e314880f5" + "f9c5d366f84c43edf35a24c0d110a8a2" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_points_to_unused_h", @@ -3494,20 +3194,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", @@ -3516,21 +3211,14 @@ "equation_FStar.SL.Monotonic.Heap.join_tot", "equation_FStar.SL.Monotonic.Heap.mref", "equation_FStar.SL.Monotonic.Heap.points_to", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_Prims.logical", "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_754b104d84ede59f083133258e38cf99", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -3543,23 +3231,22 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_a071d3eb61c7ec4fdb0fe3170c227f57", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.join_tot", "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_754b104d84ede59f083133258e38cf99", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f" ], 0, - "57993b99c30bd8986d4f74a0ebbfab1b" + "f9dea78ac8aaa36626bf7563c7e26254" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r_restrict_unused_h", @@ -3569,10 +3256,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fd0a6ad5416d06d6a94725da270c5db7" + "703d0411d1a137c7fb410f7f6dcdd3f2" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r_restrict_unused_h", @@ -3581,20 +3268,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", @@ -3602,21 +3284,14 @@ "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.join_tot", "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.restrict", - "equation_Prims.logical", "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.restrict", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "interpretation_Tm_abs_83b92ea43d397fbc6d6605c72728cc67", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -3629,22 +3304,21 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.join_tot", "typing_FStar.SL.Monotonic.Heap.restrict", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "typing_Tm_abs_83b92ea43d397fbc6d6605c72728cc67" ], 0, - "cb2838915795ac795b5b0fe5bf971bdd" + "3bf289c6cfcbe92956a2e350e798344c" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_restrict_unused_h", @@ -3652,20 +3326,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d364f36cd847b7ec78bce41b5591f4ff" + "30bcf8a8abc3fc0966f3ac53001a8818" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_restrict_unused_h", @@ -3674,20 +3343,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", @@ -3696,21 +3360,14 @@ "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.join_tot", "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.restrict", - "equation_Prims.logical", "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.restrict", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "interpretation_Tm_abs_83b92ea43d397fbc6d6605c72728cc67", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -3723,23 +3380,22 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.join_tot", "typing_FStar.SL.Monotonic.Heap.restrict", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "typing_Tm_abs_83b92ea43d397fbc6d6605c72728cc67" ], 0, - "3be28be62d55e45c1285d600db76e804" + "2549bcfaea01a57345e2cdf79c10dad3" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_restrict_minus", @@ -3750,16 +3406,15 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", + "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.squash", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_restrict_minus", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_24d00f96b10171854c4ed8c7982b4579", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e546350fd68ae02e319badb2e9cbc697" + "1c5f51bd4e2606c6a706750fb16dad49" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_restrict_minus", @@ -3772,7 +3427,7 @@ "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus" ], 0, - "c05f7c63c0e8a70883e199ff1aa1e2d2" + "1ca8de4ff98e7628c2e7d300b0d56aab" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_restrict_minus", @@ -3781,26 +3436,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_restrict_minus", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_24d00f96b10171854c4ed8c7982b4579", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4c207982a68e40a902ac75ce2d52db3e", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_4c207982a68e40a902ac75ce2d52db3e" ], 0, - "46620401dabe281506f83451f889f045" + "c5818ce3d6c4ab993e89b102758323d8" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_restrict_minus", @@ -3810,11 +3461,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "228d323491e18682f94b33c0853fedf7" + "cfaf29b701e0408e87915f0ebd3f2aa4" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_restrict_minus", @@ -3836,7 +3487,7 @@ "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" ], 0, - "c3fcd4f42a2b3ab908fe61e29275a04f" + "6a2b981972bfcc6520d13163335a2962" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_points_to_minus", @@ -3847,16 +3498,15 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", + "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.squash", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_24d00f96b10171854c4ed8c7982b4579", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2a452acd2aff044eba17f7c80b5ee8ec" + "b9feb599c0ef25ce880112455e6f41b6" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_points_to_minus", @@ -3865,34 +3515,31 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_f1711d4733db6d2c3d98d74bd52fe9b9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_ea3ffd4fdc54b2e765acd7f95df0e1dd", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.join_tot", "equation_FStar.SL.Monotonic.Heap.minus", "equation_FStar.SL.Monotonic.Heap.mref", "equation_FStar.SL.Monotonic.Heap.points_to", "equation_FStar.SL.Monotonic.Heap.restrict", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "interpretation_Tm_abs_754b104d84ede59f083133258e38cf99", - "l_and-interp", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "interpretation_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "interpretation_Tm_abs_83b92ea43d397fbc6d6605c72728cc67", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", @@ -3903,21 +3550,24 @@ "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "typing_Tm_abs_754b104d84ede59f083133258e38cf99" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "typing_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "typing_Tm_abs_83b92ea43d397fbc6d6605c72728cc67" ], 0, "f54fe7fa644e3d844e3bebd59cd5aea7" @@ -3928,27 +3578,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.SL.Monotonic.Heap.heap", "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_24d00f96b10171854c4ed8c7982b4579", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5401cc4a5d7cf05566c1497447754a53" + "2698cfee683d5af83446cad20aa67dd3" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_points_to_minus", @@ -3957,8 +3603,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_typing", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", @@ -3981,12 +3629,11 @@ "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "interpretation_Tm_abs_754b104d84ede59f083133258e38cf99", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "interpretation_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "interpretation_Tm_abs_83b92ea43d397fbc6d6605c72728cc67", "l_and-interp", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", @@ -4006,18 +3653,19 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "typing_Tm_abs_754b104d84ede59f083133258e38cf99", - "typing_Tm_abs_e42f9151eb0b6732781ec554a2cb7076" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "typing_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "typing_Tm_abs_83b92ea43d397fbc6d6605c72728cc67" ], 0, "2a4705ecb3a9702c8aab78e78b31813b" @@ -4037,12 +3685,12 @@ "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "int_inversion", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_h_emp_with_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_24d00f96b10171854c4ed8c7982b4579", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "363317139e05c487c95f8f830dafdc89" + "b9a713e5bb1165047f35848ecff46374" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_h_emp_with_next_addr", @@ -4051,15 +3699,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", @@ -4076,12 +3723,10 @@ "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", + "int_inversion", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "interpretation_Tm_abs_83b92ea43d397fbc6d6605c72728cc67", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", @@ -4095,22 +3740,21 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_FStar.SL.Monotonic.Heap.emp", + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "typing_Tm_abs_83b92ea43d397fbc6d6605c72728cc67" ], 0, - "2661e3d3dc1ba1aca34a68a75e37c895" + "05550bf0410bdff9e10a7e1ebb33d600" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_emp_with_next_addr_h", @@ -4127,12 +3771,12 @@ "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "int_inversion", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_emp_with_next_addr_h", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_24d00f96b10171854c4ed8c7982b4579", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0543b6d1456acbaa3a51dd56d42f2e11" + "58912ba41d1d7beabac13fe3a246d44a" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_emp_with_next_addr_h", @@ -4162,7 +3806,7 @@ "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr" ], 0, - "0e28ae22b7121c9b488e3f6f879ae4e7" + "6fc5e5f9b6b18d27dc025b4d84758b6c" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_restrict_minus", @@ -4172,10 +3816,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2d66aacbae1a78bf1001a7981fdfbcdd" + "a905a195dacae727038ec66ce893a8ff" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_restrict_minus", @@ -4187,7 +3831,7 @@ "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus" ], 0, - "975a3412bc04ef5e39dd6ae6ff2182c2" + "06bcdb118bef805e704449bad136e09f" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_restrict_minus", @@ -4195,20 +3839,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "09da59d2569dab9f09dcf2020ccc12bd" + "75bc70feed1fe5b415629c07801f9bdd" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_restrict_minus", @@ -4220,7 +3859,7 @@ "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus" ], 0, - "3913fa5f0fd68e7431122f2fed5c1fb0" + "875ac011c7a35db94e4e3ce44fee008c" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_points_to_minus", @@ -4230,10 +3869,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "02c4f925f7e1ad36ab0a472b70eecd5f" + "d8e89aa71f909d818b6d6a237cb7fce6" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_points_to_minus", @@ -4242,17 +3881,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", @@ -4271,16 +3910,13 @@ "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_754b104d84ede59f083133258e38cf99", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "interpretation_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", - "lemma_FStar.SL.Monotonic.Heap.lemma_r_unused_in_h", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", @@ -4294,12 +3930,12 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.contains", @@ -4308,13 +3944,13 @@ "typing_FStar.SL.Monotonic.Heap.minus", "typing_FStar.SL.Monotonic.Heap.points_to", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_754b104d84ede59f083133258e38cf99", - "typing_Tm_abs_e42f9151eb0b6732781ec554a2cb7076" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "typing_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f" ], 0, - "762cf62b7a3704bdb177d02d8490734d" + "02a0c1f4d0743f67bd370b517ad434a2" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_points_to_minus", @@ -4322,20 +3958,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "93459f778909b5665560dd7bf9a1fdd4" + "6bb96e1cee6db3ba243fbe4e257a4a59" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_points_to_minus", @@ -4344,21 +3975,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_ea3ffd4fdc54b2e765acd7f95df0e1dd", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", - "data_elim_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.Native.None", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.addr_of", @@ -4371,22 +3999,16 @@ "equation_FStar.SL.Monotonic.Heap.mref", "equation_FStar.SL.Monotonic.Heap.points_to", "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", "equation_Prims.logical", - "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.sel_tot", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_754b104d84ede59f083133258e38cf99", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_e42f9151eb0b6732781ec554a2cb7076", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "interpretation_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", @@ -4405,12 +4027,12 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.addr_of", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.get_next_addr", @@ -4418,15 +4040,13 @@ "typing_FStar.SL.Monotonic.Heap.minus", "typing_FStar.SL.Monotonic.Heap.points_to", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_754b104d84ede59f083133258e38cf99", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_e42f9151eb0b6732781ec554a2cb7076" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_67f2a98fab1428445b253ae8565916a9", + "typing_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f" ], 0, - "b2a18d80df139dbdee13c9152368c1da" + "37eee59b5da01ea115e933bd8b440618" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_join_tot_h_emp_with_next_addr", @@ -4435,21 +4055,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_ea3ffd4fdc54b2e765acd7f95df0e1dd", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", - "data_elim_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.Native.None", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.SL.Monotonic.Heap.addr_of", "equation_FStar.SL.Monotonic.Heap.addr_unused_in", @@ -4462,22 +4079,15 @@ "equation_FStar.SL.Monotonic.Heap.mref", "equation_FStar.SL.Monotonic.Heap.sel", "equation_FStar.SL.Monotonic.Heap.sel_tot", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_Prims.logical", "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "interpretation_Tm_abs_7bfee9206cd83149abe49dc5bf5da3f1", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_h_emp_with_next_addr", @@ -4494,25 +4104,25 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", "typing_FStar.SL.Monotonic.Heap.get_next_addr", "typing_FStar.SL.Monotonic.Heap.join_tot", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_1011caa5981fe37b48a862c276c7253c", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_7b1732ef5c34e24d427441f70ed3130f", + "typing_Tm_abs_7bfee9206cd83149abe49dc5bf5da3f1" ], 0, - "c089146281f116214ccccb5f4fe33f0f" + "141137e0a6366216ebca371cea217d2c" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_join_tot_emp_with_next_addr_h", @@ -4525,7 +4135,7 @@ "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr" ], 0, - "9564a8474f7b61536203f1e151221f7a" + "4f00c2e54680b4a6a783059c2731eee1" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", @@ -4535,10 +4145,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2e695e95b4553b0b9d2a82f11666ffa4" + "1660798ea0a043c5c69a114579c8ecd3" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", @@ -4547,16 +4157,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.contains", @@ -4571,11 +4180,10 @@ "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "interpretation_Tm_abs_754b104d84ede59f083133258e38cf99", + "int_inversion", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "interpretation_Tm_abs_83b92ea43d397fbc6d6605c72728cc67", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -4591,20 +4199,21 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_95ae64451e82902eebb01acd1705b052", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.SL.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6a6372bbf40a86764a957a2b48c8446b", - "typing_Tm_abs_754b104d84ede59f083133258e38cf99" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", + "typing_Tm_abs_83b92ea43d397fbc6d6605c72728cc67" ], 0, - "d498fa06d9954e5a4006f63e1ba81862" + "1fe370d28a2d3566ebc0fef3a5132bd3" ], [ "FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", @@ -4613,16 +4222,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_c9efc44d61e463cff0a91d381e77823e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.SL.Monotonic.Heap.mref", "equation_FStar.SL.Monotonic.Heap.points_to", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_754b104d84ede59f083133258e38cf99", + "interpretation_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "interpretation_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", @@ -4630,10 +4239,11 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__4", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_754b104d84ede59f083133258e38cf99" + "typing_Tm_abs_58631ca686ab4c19e1a0737cd5fbdd29", + "typing_Tm_abs_6ae7596ef5be7f4b9516f4895a5999be" ], 0, "28c615a8b37efe00ed47ce9be6aaa4e0" @@ -4645,15 +4255,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.SL.Monotonic.Heap.Mkaref_", "equation_FStar.SL.Monotonic.Heap.aref", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_mm", @@ -4661,7 +4267,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "693582a3b01925cf20168ea86d9114a9" + "c3e13f64e0e71e444805ec315e6d506e" ], [ "FStar.SL.Monotonic.Heap.addr_of_aref_of", @@ -4676,7 +4282,7 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkaref__a_addr" ], 0, - "eb0a41bfac7b253a2b4023b0300107cf" + "858f3b1cd623ab191745a4c51e10019f" ], [ "FStar.SL.Monotonic.Heap.is_mm_aref_of", @@ -4691,7 +4297,7 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkaref__a_mm" ], 0, - "b71deb6632bfce1bce98e46ecc882b6f" + "4d15b0aab02d92ea269b7cf314f63860" ], [ "FStar.SL.Monotonic.Heap.unused_in_aref_of", @@ -4708,7 +4314,7 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkaref__a_addr" ], 0, - "c9af94c2ad4b1f6830d18f54d1651e4d" + "7100ebcb5a7d99c7c08c008f3cdcc817" ], [ "FStar.SL.Monotonic.Heap.contains_aref_unused_in", @@ -4718,11 +4324,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d22c578297b1529945baf5d968374592" + "6ddf97f1d312f690e6e3f3ae0742ab25" ], [ "FStar.SL.Monotonic.Heap.contains_aref_unused_in", @@ -4737,7 +4343,7 @@ "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused" ], 0, - "91430457991ef0cd8ec13c340e9a74a1" + "55b61082cfae30e88adb10d983897ca7" ], [ "FStar.SL.Monotonic.Heap.aref_live_at", @@ -4749,7 +4355,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6a8199f6993635553155cd078ff2e06e" + "552d07c847c21e20125abfdde14b64f7" ], [ "FStar.SL.Monotonic.Heap.ref_of'", @@ -4765,7 +4371,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "f128790993a2958696cf1033d4e6b55c" + "8191f2e91baa59eb6918cbfb845c9766" ], [ "FStar.SL.Monotonic.Heap.gref_of", @@ -4778,17 +4384,17 @@ "eq3-interp", "equation_FStar.Preorder.preorder", "equation_FStar.SL.Monotonic.Heap.aref", "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", + "equation_FStar.SL.Monotonic.Heap.heap", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c2bd3b7a1a91e6ab84b2be9f5bcc6d1", - "refinement_interpretation_Tm_refine_3c912666cd7ae78d02c64a11f4a1a121", + "refinement_interpretation_Tm_refine_24d00f96b10171854c4ed8c7982b4579", + "refinement_interpretation_Tm_refine_4b7c2a89aac32f89418ae7936b068f83", "unit_inversion" ], 0, - "f676b086ab137b03cdb6b9e1feff25ba" + "3dc3f4a0659b6c47f1e7e6f5081d5aff" ], [ "FStar.SL.Monotonic.Heap.ref_of", @@ -4797,7 +4403,7 @@ 1, [ "@query" ], 0, - "cd7daa21ccaa07bc80128211219547dd" + "f82232a0748bc13103c62a20164e2ff2" ], [ "FStar.SL.Monotonic.Heap.ref_of", @@ -4832,7 +4438,7 @@ "typing_FStar.SL.Monotonic.Heap.gref_of" ], 0, - "e808c7cce5565e0fe2403683f764f7a7" + "0a29b976bd70d6d16eaf9dd45f93c7b4" ], [ "FStar.SL.Monotonic.Heap.aref_live_at_aref_of", @@ -4861,7 +4467,7 @@ "projection_inverse_FStar.SL.Monotonic.Heap.Mkaref__a_mm" ], 0, - "56d5b476614071d4e25e25343f1cf0c9" + "9a9816e54ff1df887ce37fa8883f537d" ], [ "FStar.SL.Monotonic.Heap.contains_gref_of", @@ -4899,7 +4505,7 @@ "typing_FStar.SL.Monotonic.Heap.gref_of" ], 0, - "5e251096428586726abdd4b0c85eed73" + "2acc5c0d2db333a63cdd730f7cf54567" ], [ "FStar.SL.Monotonic.Heap.aref_of_gref_of", @@ -4938,7 +4544,7 @@ "typing_FStar.SL.Monotonic.Heap.gref_of" ], 0, - "25dfbfbb5fd9b6cbf1c1d83843ebfc18" + "ee43cbbfe8960cdf9ec8aeb64ddf2d66" ], [ "FStar.SL.Monotonic.Heap.addr_of_gref_of", @@ -4964,7 +4570,7 @@ "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" ], 0, - "915b91c20a9d1d4a8ad7349b5dcfde78" + "3a6646403536d1c641dd435a26c0fe5d" ], [ "FStar.SL.Monotonic.Heap.is_mm_gref_of", @@ -4990,7 +4596,7 @@ "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" ], 0, - "3814156a509113fe07f5c0873a987e20" + "002f89206ff3d3f5a27c04769a868508" ], [ "FStar.SL.Monotonic.Heap.unused_in_gref_of", @@ -5013,7 +4619,7 @@ "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" ], 0, - "8e8a4d8b5f59771f6edfc6c52f4625ae" + "187736c72175a0baabcb47f452d4c39f" ], [ "FStar.SL.Monotonic.Heap.sel_ref_of", @@ -5056,7 +4662,7 @@ "typing_FStar.SL.Monotonic.Heap.ref_of" ], 0, - "c29e216f5d5da4538d3c714c8bf82a1c" + "ef8367475008f2153007119fb6954347" ], [ "FStar.SL.Monotonic.Heap.upd_ref_of", @@ -5099,7 +4705,7 @@ "typing_FStar.SL.Monotonic.Heap.ref_of" ], 0, - "a6351884d354f6d5636d383430180830" + "328de7e6aadb741b3120f1582424b89e" ] ] ] \ No newline at end of file diff --git a/examples/csl/FStar.SL.Monotonic.Heap.fsti.hints b/examples/csl/FStar.SL.Monotonic.Heap.fsti.hints index 71c10b663bd..24c4f235aa6 100644 --- a/examples/csl/FStar.SL.Monotonic.Heap.fsti.hints +++ b/examples/csl/FStar.SL.Monotonic.Heap.fsti.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "40e366511b8e6431190c14971fcf710e" + "354a157555e42300b15b00b992de0b5e" ], [ "FStar.SL.Monotonic.Heap.only", @@ -21,16 +21,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6ab38b470c8b523137c108fa7a91168d" + "800016c9e31b21dce7df04bcf5fe797a" ], [ "FStar.SL.Monotonic.Heap.op_Hat_Plus_Plus", @@ -40,11 +37,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fb30b7df6cec52ded7286e68c398a8fe" + "c92291a44f48ee0cf2fbeb57d79585c4" ], [ "FStar.SL.Monotonic.Heap.op_Hat_Plus_Plus", @@ -52,16 +49,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dff07839d71826822131ed0480e91faf" + "f230df37645e6d27ab529f42630d9abf" ], [ "FStar.SL.Monotonic.Heap.op_Plus_Plus_Hat", @@ -71,11 +65,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6d0dd1d3d7604810dbea9c4e335485d3" + "87d8de0cd978e4eac7555686fcfb9842" ], [ "FStar.SL.Monotonic.Heap.op_Plus_Plus_Hat", @@ -83,16 +77,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "64b3646f2795ed7251568df49326b487" + "355437ed56c1d8aaee11f7b6705bfddb" ], [ "FStar.SL.Monotonic.Heap.op_Hat_Plus_Hat", @@ -100,16 +91,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d358f543368021054247d4b4449cf663" + "ac3cd5b43cb7aab7da4f10d0420017c5" ], [ "FStar.SL.Monotonic.Heap.modifies", @@ -119,11 +107,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f78f14949b51f0fa03cfe68dedc96f5a" + "4072317f41a3e97f6b2512c0adf4da21" ], [ "FStar.SL.Monotonic.Heap.modifies", @@ -133,11 +121,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "886172ea1c57b953244564e079d829bf" + "181cef361adae28ba7f3f48d27eb70e4" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -147,11 +135,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2d74061945655abc6f462540282bc7a2" + "7196a5f35dc0491776be9e7ec4d7eed3" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", @@ -161,11 +149,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "719210016964f57fb030889b28ceb248" + "d3cddb41db2f00ca5ee0083a674be4f4" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", @@ -175,11 +163,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "870950b994e3bf3aab75f11d48438caa" + "b35dfe6dd49163852ed8e4b85a8fdad0" ], [ "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -189,11 +177,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "96b918fe8c5f8a2cdc64c1b61e3d4e98" + "4882b3996476acc035a681c96ab7ad77" ], [ "FStar.SL.Monotonic.Heap.lemma_free_mm_sel", @@ -203,11 +191,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "51605d1083c8577567650cdb0d3bd730" + "567ea0cd7c575215cbf4ae8ad2479f6e" ], [ "FStar.SL.Monotonic.Heap.lemma_free_mm_contains", @@ -217,11 +205,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "68a3172782a8ac9bb9e02866720712c1" + "8a48bbb5af2ecf4cca044afc23663d58" ], [ "FStar.SL.Monotonic.Heap.lemma_free_mm_unused", @@ -229,16 +217,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b1916ac51e39aa236e6dbb621919dcf8" + "60d6c30c80431f72183174a31f426c63" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_same_addr", @@ -246,16 +231,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1ad485080c923ceb5da1fc9a62c5d456" + "69e1a5ed36e67c5ce493ce16020bfb11" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_same_addr", @@ -263,16 +245,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b7fefb1737840ed51912f02071927fb7" + "cda4bb11a80072cfd90f5858310695c1" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_upd1", @@ -280,16 +259,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "24fb429259f4cc206454134702ea0f08" + "34c15439148b622901d0937c11d47b26" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_upd2", @@ -297,16 +273,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f9b9ff79ba48b2cbb04395eb123d2720" + "da75c3f31c1335c95e4751a8517284f7" ], [ "FStar.SL.Monotonic.Heap.lemma_unused_upd_contains", @@ -316,11 +289,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d4e8f3908435710b387e7dbe4f080a36" + "f2f02805ad630b92325dfd08ba43efe2" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_contains_different_addr", @@ -328,16 +301,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4491fa5573bbf7b1e94a6638ef2adc7e" + "73893f8695b31c2251e308481371a79f" ], [ "FStar.SL.Monotonic.Heap.lemma_upd_unused", @@ -347,11 +317,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "175a6f84c27e08195a79f8be368b26ff" + "8bdad24208eeeb320075909d4aa0d2ef" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_upd_modifies", @@ -361,11 +331,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "af212b62f860a338bac94d613aec6024" + "d8e20882a5d678f2d6ea39c075adb209" ], [ "FStar.SL.Monotonic.Heap.lemma_unused_upd_modifies", @@ -375,11 +345,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3e164d420f476a3eb2a35d0f2529c1b3" + "67dcb2082daa553ec02f3da2945c71e8" ], [ "FStar.SL.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -387,16 +357,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7acf2d3488bbe975e1f061a592d9b456" + "fcf40627e20d52ce88a99139b8a69bd1" ], [ "FStar.SL.Monotonic.Heap.lemma_get_next_addr_restrict", @@ -405,10 +372,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "14b9fb0b4bd9b5731c614a78b212f558" + "11676a882d4003c58592d7a0acabc2a8" ], [ "FStar.SL.Monotonic.Heap.lemma_r_unused_in_minus", @@ -417,10 +384,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a4bd2b40b6556032956b5269e0e63466" + "d8c7ffd57b062c65f110849f9ecc80b8" ], [ "FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", @@ -429,10 +396,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "240b5140ee9069f0e88b09267f486163" + "1fb231469e46284b1429f940ab1bb9fb" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_restrict_minus", @@ -441,10 +408,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5bc13bb6061b5bd62d35cf41a74cae50" + "fbbdb6f758b67d0b606c5c4acd4844ba" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_restrict_minus", @@ -452,20 +419,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "45dd73dbdefa1a842af816b61e694008" + "c8246779717b834d34ba2f71479e11db" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", @@ -474,10 +436,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "55bc2e83d6dda6dbd40e04e61765cd84" + "900176f17b583b552767eb30d9d48174" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", @@ -485,20 +447,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "834b95e6eb33514fac4df75d08b724f7" + "d496bdeb9614c331a575eac576a9b40e" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_points_to_unused_h", @@ -508,11 +465,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7fd53b5dc94fc2386089f7ebe1d994a7" + "44e142cbdb95a8f4983dcfac9aa9a374" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r_restrict_unused_h", @@ -522,10 +479,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "269f3857a658f27caa521a4cb1d2dbf9" + "39c7b495826c83bf27aae1ce8c166b4b" ], [ "FStar.SL.Monotonic.Heap.lemma_contains_r1_restrict_unused_h", @@ -533,20 +490,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b6ef35c84a74212934d3e7bc3ab261c0" + "436f48abf06334faaac5ae2818c51e09" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_restrict_minus", @@ -556,10 +508,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_restrict_minus", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "38fee1c2203f98ba435f06d3f37438b1" + "40ae4dcad05619d4a23125852027ee42" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_restrict_minus", @@ -567,22 +519,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_restrict_minus", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4c207982a68e40a902ac75ce2d52db3e", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_4c207982a68e40a902ac75ce2d52db3e" ], 0, - "cc0881e5b3388fd362d8cda5a7c35835" + "15305911bee32a34dd2d1e80e6b2b58d" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_points_to_minus", @@ -592,10 +539,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4743fc52595cfa028aaf300c6b23e259" + "aaf7557f009d65e63dcd49f70e54a284" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_points_to_minus", @@ -603,23 +550,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8397832f0c77a74448d50363fd64ffe0" + "7df0c949f963397d2add9b4d5d54d380" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_h_emp_with_next_addr", @@ -630,11 +572,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.squash", "int_inversion", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_h_emp_with_next_addr", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b8244ea9dc8d50499d34916be7ea5706" + "fec107b7612b07bbdc720c4359a5f0c7" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_emp_with_next_addr_h", @@ -645,11 +587,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.squash", "int_inversion", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_emp_with_next_addr_h", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f54156d3099234875f3df0152d058ec5" + "7b81629917cc2fbbad81a7db6a42594f" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_restrict_minus", @@ -658,10 +600,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ba5fb5906e9c316185a437c6e0eeae5c" + "12649f68cca704a631bd7cf93016e4d1" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_restrict_minus", @@ -669,20 +611,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8e2b87b4b85712a7472a8a93d30e5b7c" + "8281b1b191a8349f88a64baf981447d3" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_points_to_minus", @@ -691,10 +628,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "72d2ab5b7d532d09832375dbb4fd5f56" + "e001573266a061d6858d1ee10da63adb" ], [ "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_points_to_minus", @@ -702,20 +639,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "292fadf8f1c7d9b336acdafb4a290939" + "e0232e287d3a373116f5f62fe73b4a08" ], [ "FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", @@ -724,10 +656,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "75d4ecf6bb5dd63c36381be61cb1527a" + "1c87be3fca8f556de05c7c049f1714ab" ], [ "FStar.SL.Monotonic.Heap.contains_aref_unused_in", @@ -737,11 +669,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3e3b18137dce27d39ef72162f0881deb" + "5616a90b7991989c258039364dfabee4" ], [ "FStar.SL.Monotonic.Heap.ref_of", @@ -750,7 +682,7 @@ 1, [ "@query" ], 0, - "7cc351efedfacfd55845bd6b55923403" + "f45bc7f9f21920e732f3f937398c2700" ], [ "FStar.SL.Monotonic.Heap.addr_of_gref_of", @@ -759,7 +691,7 @@ 1, [ "@query", "lemma_FStar.SL.Monotonic.Heap.aref_of_gref_of" ], 0, - "478450943d2da2b21ae6f6e08097bb80" + "e1a8f32760c176e38cd45530751985bb" ], [ "FStar.SL.Monotonic.Heap.is_mm_gref_of", @@ -768,7 +700,7 @@ 1, [ "@query", "lemma_FStar.SL.Monotonic.Heap.aref_of_gref_of" ], 0, - "0bc56c38c50bf7abcda5030fa2be36e1" + "f050d497155f00a0fbd0b4dc5bea53bb" ], [ "FStar.SL.Monotonic.Heap.unused_in_gref_of", @@ -777,7 +709,7 @@ 1, [ "@query", "lemma_FStar.SL.Monotonic.Heap.aref_of_gref_of" ], 0, - "9e0db06337d9ffcfd6042056e124d1c8" + "93f6f9a18cde7f124fd4df07b84e7a12" ], [ "FStar.SL.Monotonic.Heap.sel_ref_of", @@ -795,7 +727,7 @@ "typing_FStar.SL.Monotonic.Heap.ref_of" ], 0, - "2f82f9535cb7f3d357174faf519ef5b0" + "485a0acb7dec1cf0f74f2de1aef89e08" ], [ "FStar.SL.Monotonic.Heap.upd_ref_of", @@ -813,7 +745,7 @@ "typing_FStar.SL.Monotonic.Heap.ref_of" ], 0, - "e3712ef9cc0e82ea78045273438e9678" + "3cb2f726e4090031d637be97cc3ba837" ] ] ] \ No newline at end of file diff --git a/examples/csl/Lang.fst.hints b/examples/csl/Lang.fst.hints index 0750b0036c2..6a8e85095e7 100644 --- a/examples/csl/Lang.fst.hints +++ b/examples/csl/Lang.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_3b7831d9973ba6ea1ea4e42a3c37eb98" ], 0, - "d58ef9685299bd6176ff231c2f7b4cef" + "8c496d2fd36dfe1405d431fb3f3580ff" ], [ "Lang.__proj__Return__item__v", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_3b7831d9973ba6ea1ea4e42a3c37eb98" ], 0, - "c4cf25fdb583d61fcefba6abb8fca3d1" + "84cef9f2657168a2e5d63801075c9329" ], [ "Lang.__proj__Read__item__id", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_8b0b214c8c365de975ef6f968fef05ff" ], 0, - "2e853ae6e201990e8fc66efb9e5ea997" + "338e69f52adcc81c0ce62f0dead1aae5" ], [ "Lang.__proj__Write__item__id", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_d48ca6a107dccb6956bc9f7c46bdf471" ], 0, - "0148099f2551756b3af934f7f3782a8f" + "f6db53702aedb606c41215dd4b8130b3" ], [ "Lang.__proj__Write__item__v", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_d48ca6a107dccb6956bc9f7c46bdf471" ], 0, - "9a17a7f790d24e3c0b8c0df59249173d" + "77eaff64f0bd4e6671720b9895039256" ], [ "Lang.__proj__Bind__item__a", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" ], 0, - "d0868fe4bba5acfe006a4f51bfe46514" + "38e64ea7c3ac677d67374785bee8e1cf" ], [ "Lang.__proj__Bind__item__b", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" ], 0, - "d8146be47760e217327bcc48311f2119" + "910bfd4967a59a009059560a291734b0" ], [ "Lang.__proj__Bind__item__c1", @@ -105,7 +105,7 @@ "refinement_interpretation_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" ], 0, - "ef6d06674bb715aaa91ded9e143a9561" + "4847b180fb567e8d0846ffe180d32fe0" ], [ "Lang.__proj__Bind__item__c2", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" ], 0, - "d47ebb7047f2f1129203f47c80a3b69a" + "6891b4e17115cefaaa867900de820d70" ], [ "Lang.wpsep_command", @@ -141,7 +141,7 @@ "unit_typing" ], 0, - "7b3242f198b0b4da9f11c33f6572cbf9" + "80f156737dd7d000b7f80db3d973f871" ], [ "Lang.__proj__Return__item__a", @@ -154,7 +154,7 @@ "refinement_interpretation_Tm_refine_3b7831d9973ba6ea1ea4e42a3c37eb98" ], 0, - "f6da377438a0119db0f26f0de02614a4" + "1540ea07246298622f831081f3615509" ], [ "Lang.__proj__Return__item__v", @@ -168,7 +168,7 @@ "refinement_interpretation_Tm_refine_3b7831d9973ba6ea1ea4e42a3c37eb98" ], 0, - "61d5472788bb4d851306ba80daf4ea89" + "95a901819307f2a2f15d938da79de335" ], [ "Lang.__proj__Read__item__id", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_8b0b214c8c365de975ef6f968fef05ff" ], 0, - "777f4b99690446cbe4afbc3f41a934ca" + "45fbb0dd3f88c9b264d8f458cbbf7c81" ], [ "Lang.__proj__Write__item__id", @@ -194,7 +194,7 @@ "refinement_interpretation_Tm_refine_d48ca6a107dccb6956bc9f7c46bdf471" ], 0, - "c3dc2616def8e4c5a9ad789d78e583b5" + "f05fbb9869d5afc9adf0668e39473457" ], [ "Lang.__proj__Write__item__v", @@ -207,7 +207,7 @@ "refinement_interpretation_Tm_refine_d48ca6a107dccb6956bc9f7c46bdf471" ], 0, - "c6604c5d4131a4d0aaed2bd63fa59323" + "706edca77a49d86f903e5e5fa73c93cf" ], [ "Lang.__proj__Bind__item__a", @@ -220,7 +220,7 @@ "refinement_interpretation_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" ], 0, - "024648cefbe33d3df84975bcb9b1a66c" + "73fcebb3c543e4f6b4e155b7a3112c2b" ], [ "Lang.__proj__Bind__item__b", @@ -233,7 +233,7 @@ "refinement_interpretation_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" ], 0, - "500ef00b927e09f90e5a16f461a7df1f" + "e56e028963637f7bd9eda2318f6487b3" ], [ "Lang.__proj__Bind__item__c1", @@ -247,7 +247,7 @@ "refinement_interpretation_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" ], 0, - "5e420ae9692eb8cf5924524578e9b64b" + "52c4cd97bf6801fc93c28feffffa59b5" ], [ "Lang.__proj__Bind__item__c2", @@ -262,7 +262,7 @@ "refinement_interpretation_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" ], 0, - "b31c48e8ba62c393b1b6d5c9ebb614f2" + "48add5dc7c1bc00e7af674b7ab14f9dd" ], [ "Lang.wpsep_command", @@ -283,7 +283,7 @@ "typing_tok_Lang.Alloc@tok", "unit_typing" ], 0, - "fe3d0321eade6953d85a34111f043244" + "8831f24f4bc9647fb91534cfef124955" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.AutoTactic.fst.hints b/examples/csl/SL.AutoTactic.fst.hints index a8d8264bf2b..f3d146974d2 100644 --- a/examples/csl/SL.AutoTactic.fst.hints +++ b/examples/csl/SL.AutoTactic.fst.hints @@ -11,7 +11,7 @@ "lemma_SL.Heap.lemma_sep_comm" ], 0, - "cd4bf96b77513cbe9924112dc82f5f4d" + "d2ad7401237dedb424103eefce34b271" ], [ "SL.AutoTactic.frame_wp_lemma", @@ -22,10 +22,10 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.l_imp", "equation_Prims.squash", "equation_SL.Effect.frame_wp", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5da31b2c4317aa106cec4e63a10de9cc" + "230d70faf7ca736f4835f410577e562b" ], [ "SL.AutoTactic.ite_wp_lemma", @@ -35,10 +35,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "equation_SL.Effect.st_ite_wp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "aa1754b06e5cfcefa54ae924cc764a95" + "fb933914d788628bc871b5b85ff6b52f" ], [ "SL.AutoTactic.if_then_else_wp_lemma", @@ -49,10 +49,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.l_imp", "equation_Prims.squash", "equation_SL.Effect.st_if_then_else", "l_imp-interp", "l_not-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d265d1ac19f732beb1ab8c06ae21645b" + "153bfc20e81fa1fb9e1ad3a51f38ec8d" ], [ "SL.AutoTactic.close_wp_lemma", @@ -62,11 +62,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", "equation_Prims.squash", "equation_SL.Effect.st_close_wp", - "l_quant_interp_e07bbe6139085e9371c29474d7bfa78e", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "l_quant_interp_cc2d8ea4b793d81c1d17b922877488c9", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a185029b8c6d329d0650ec707c05393a" + "e3d912df81edac34861c2115e8e4ee1d" ], [ "SL.AutoTactic.assume_p_lemma", @@ -77,10 +77,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.l_imp", "equation_Prims.squash", "equation_SL.Effect.st_assume_p", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "80079e91d8c7c852eda4babffaa4d375" + "7f64ab365e53286a1a974813dcfd64fb" ], [ "SL.AutoTactic.sort_sl_correct", @@ -91,15 +91,14 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Reflection.Data.var", "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", "equation_SL.AutoTactic.bdata", "equation_SL.AutoTactic.sort_sl", "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_3bd243d6eb48bd6e398d861c0faa94c3", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "ea89d877f121f3c0922468309fa03642" + "12d4e4fb4913b3ddb2ae7169fbd3ba37" ], [ "SL.AutoTactic.__proj__Frame__item__ta", @@ -113,7 +112,7 @@ "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" ], 0, - "ddfebb265421b1dc49970308723995e5" + "d1257573312b5668c249f0013c68fcb5" ], [ "SL.AutoTactic.__proj__Frame__item__twp", @@ -127,7 +126,7 @@ "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" ], 0, - "2b47c59d6009695c115d10d43f5d982c" + "7080c9ebabd99262dbf235b6931e3965" ], [ "SL.AutoTactic.__proj__Frame__item__tpost", @@ -141,7 +140,7 @@ "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" ], 0, - "b142832626770b4fbadebe43cbff9821" + "d05bc2a8c1b1354b7ee68b5d58bdc4e7" ], [ "SL.AutoTactic.__proj__Frame__item__tm", @@ -155,7 +154,7 @@ "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" ], 0, - "cd9754725a262844d54b7553c4c84d07" + "da8ade503114b85756a66f10b0521032" ], [ "SL.AutoTactic.__proj__ParWP__item__twpa", @@ -169,7 +168,7 @@ "refinement_interpretation_Tm_refine_215fd0fa36578f49ef025a1f95319e74" ], 0, - "4caaa260e20682af617c0d3e195b1629" + "762b91840af1a2cf934fec01a793fe73" ], [ "SL.AutoTactic.__proj__ParWP__item__twpb", @@ -183,7 +182,7 @@ "refinement_interpretation_Tm_refine_215fd0fa36578f49ef025a1f95319e74" ], 0, - "c31b3557224d9b84ab069203dae2c440" + "6094fddaf8fadfe319583f61006b995f" ], [ "SL.AutoTactic.__proj__ParWP__item__th0", @@ -197,7 +196,7 @@ "refinement_interpretation_Tm_refine_215fd0fa36578f49ef025a1f95319e74" ], 0, - "24acaa31f81f5cc11353fab1aeb7eefe" + "e46c41b4af3eb2a315d12cf6fdc97801" ], [ "SL.AutoTactic.__proj__Unknown__item___0", @@ -211,7 +210,7 @@ "refinement_interpretation_Tm_refine_ef99333c406db249fc03d4edb1fd9534" ], 0, - "872028a3b2ed884571a5f3912fbfaac8" + "a35795c88f03c1447e896a379a29eff8" ], [ "SL.AutoTactic.__lem_eq_sides", @@ -221,10 +220,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "decadc8c2507b74528079183757851d6" + "60d632ba8178d310e198d1930f81b743" ], [ "SL.AutoTactic.__and_elim", @@ -234,11 +233,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_imp", "equation_Prims.squash", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_b889b19b3d1b749e7e6619d0022a6af7" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "54b55527f9f347d7ce1254753224e85a" + "0656b785b5353f2314455f0d99e59686" ], [ "SL.AutoTactic.__tcut", @@ -248,10 +247,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_imp", "equation_Prims.squash", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d8117a21895d25b367fde2a7db31cf0d" + "8aef964ae93fa1763cb7c2580f92c93c" ], [ "SL.AutoTactic.__elim_fp", @@ -262,10 +261,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.logical", "equation_Prims.squash", "function_token_typing_Prims.logical", "lemma_SL.Effect.with_fp_lemma", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e70ffad6892a8fde611dcf2c38c0d1ba" + "1c1dd4db284732ecb0fccf750e552da9" ], [ "SL.AutoTactic.__unif_helper", @@ -274,7 +273,7 @@ 1, [ "@query", "lemma_SL.Heap.lemma_sep_unit" ], 0, - "0be4c309a8c7b6d28c4a9258befb888f" + "632bc7770b7df90437bb78d12cd8dac3" ], [ "SL.AutoTactic.find_frame", @@ -307,7 +306,7 @@ "typing_FStar.UInt.fits", "unit_typing" ], 0, - "fd6613dd138bb58aff11c3ac050d16ae" + "3ca178da88affef8389b5fdb28024c7f" ], [ "SL.AutoTactic.sl", @@ -348,7 +347,7 @@ "typing_FStar.UInt.fits", "unit_typing" ], 0, - "81fb2760502e4483aab710d3a04b5452" + "61165e223f2a58499a8c1535b02b7fd8" ], [ "SL.AutoTactic.__elim_exists_as_forall", @@ -358,12 +357,12 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", "equation_Prims.squash", - "l_quant_interp_5cf56f3a3bf8e0a1cba50ac28cc51d11", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_d16de86ec5446f55c1622708945a0449" + "l_quant_interp_7fe9f76bf7c72566f3585997d6df6168", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" ], 0, - "8971e1180a6b877cefaa74e0b4d4ae8e" + "3210d54dee94f4371877241ce0e18892" ], [ "SL.AutoTactic.ddump", @@ -380,7 +379,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c2bf7e5038c8e27fc16f0614db3c16f0" + "e8fcc5ee0db9909a408a0bbea0ee61db" ], [ "SL.AutoTactic.memory_cm", @@ -392,7 +391,7 @@ "lemma_SL.Heap.lemma_sep_comm" ], 0, - "577a02ea0b8ba8de7a97fdc279559b36" + "2f0fdb9b22151640117ab7d5b576412a" ], [ "SL.AutoTactic.frame_wp_lemma", @@ -403,10 +402,28 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.l_imp", "equation_Prims.squash", "equation_SL.Effect.frame_wp", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8b4299696c1248faada3658088981733" + "9ac82d60bd88bebbfd0857c9691dd70e" + ], + [ + "SL.AutoTactic.sort_sl_correct", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_FStar.Reflection.Data.var", + "equation_FStar.Tactics.CanonCommMonoid.sortWith", + "equation_SL.AutoTactic.bdata", "equation_SL.AutoTactic.sort_sl", + "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", + "function_token_typing_FStar.List.Tot.Base.sortWith", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", + "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" + ], + 0, + "5a121791fc4bba7920e25cb5b6b56f38" ], [ "SL.AutoTactic.__proj__Frame__item__ta", @@ -420,7 +437,7 @@ "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" ], 0, - "95dae4edee32114319ec3dbb9eb7ecf5" + "20d76ba8c2b107f95bbb8fbb4f7f72b9" ], [ "SL.AutoTactic.__proj__Frame__item__twp", @@ -434,7 +451,7 @@ "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" ], 0, - "b16287bf479655866c7d1cdd07948485" + "311887e5b3cac49487b2e120befe5e8c" ], [ "SL.AutoTactic.__proj__Frame__item__tpost", @@ -448,7 +465,7 @@ "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" ], 0, - "254bfc1439ccbf5afea13d8b4b94fafe" + "962a63f2fb3a291c452841b25595348b" ], [ "SL.AutoTactic.__proj__Frame__item__tm", @@ -462,7 +479,7 @@ "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" ], 0, - "de402a96e8d27a0010d33b9d960d5730" + "17c022769719a7781a6a9b4d8b24884b" ], [ "SL.AutoTactic.__proj__ParWP__item__twpa", @@ -476,7 +493,7 @@ "refinement_interpretation_Tm_refine_215fd0fa36578f49ef025a1f95319e74" ], 0, - "3effa47a9d8770565f0dd5f1039679ae" + "24f23d41bfb62313fd712603b22c0565" ], [ "SL.AutoTactic.__proj__ParWP__item__twpb", @@ -490,7 +507,7 @@ "refinement_interpretation_Tm_refine_215fd0fa36578f49ef025a1f95319e74" ], 0, - "06f11703c9f8ee338945c20cf33c568e" + "3b93229dc536745af6fb3338c0aacbed" ], [ "SL.AutoTactic.__proj__ParWP__item__th0", @@ -504,7 +521,7 @@ "refinement_interpretation_Tm_refine_215fd0fa36578f49ef025a1f95319e74" ], 0, - "f15a45d624fb67fb1844c1e0fbc8a27f" + "946eb5a31a85487ba9db02ff4796296b" ], [ "SL.AutoTactic.__proj__Unknown__item___0", @@ -518,7 +535,7 @@ "refinement_interpretation_Tm_refine_ef99333c406db249fc03d4edb1fd9534" ], 0, - "60e1bdefda29e0ca5901213e4ab6e884" + "298a342f38cbece7d836be84e5cffe12" ], [ "SL.AutoTactic.find_frame", @@ -551,7 +568,7 @@ "typing_FStar.UInt.fits", "unit_typing" ], 0, - "37bfb0836d9e9a81ad1f447a24f85a02" + "c4e7a4db02392447f5de11b046d69097" ], [ "SL.AutoTactic.sl", @@ -592,7 +609,7 @@ "typing_FStar.UInt.fits", "unit_typing" ], 0, - "a8874e23a1034d7c6437cdc9185c8320" + "f1250afc38b610835ba2fe8d04e2017a" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.ConcurrentActions.fst.hints b/examples/csl/SL.ConcurrentActions.fst.hints index ced893c7dac..0f61b745278 100644 --- a/examples/csl/SL.ConcurrentActions.fst.hints +++ b/examples/csl/SL.ConcurrentActions.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", "equation_SL.ConcurrentActions.par_comp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "302143d3e0ec3e85f7517fe623df5d6d" + "f5a77ebea42fec567bc528571d182f82" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.ConcurrentExamples.fst.hints b/examples/csl/SL.ConcurrentExamples.fst.hints index a7933c8f35c..3235b3a2443 100644 --- a/examples/csl/SL.ConcurrentExamples.fst.hints +++ b/examples/csl/SL.ConcurrentExamples.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", "unit_inversion" ], 0, - "44db06ec7f6c432e7618a6eaf9ad2473" + "9a43f0c0a0cb0e6181680d1e2021f539" ], [ "SL.ConcurrentExamples.test17", @@ -22,10 +22,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb" + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b" ], 0, - "7409a7eed887490997d298c541545ee8" + "91e445a665728e8bbce08d27da67230e" ], [ "SL.ConcurrentExamples.test17'", @@ -35,11 +35,11 @@ [ "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", "unit_inversion" ], 0, - "aa16e62f6f8b58274fa96aaef4448463" + "6d543c572c3b338012d2a7778e85ab99" ], [ "SL.ConcurrentExamples.test17'", @@ -50,11 +50,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_comm", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", "typing_SL.Heap.op_Bar_Greater" ], 0, - "8fad3ae7f659b0ba0051bc4627726fd1" + "cd884dafe684c70903cefdf89b69b8dd" ], [ "SL.ConcurrentExamples.test18", @@ -62,13 +62,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93", + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", "unit_inversion" ], 0, - "7b6e9e2c711946ecba796cb6da45faaf" + "5dd4fb49895a72c8d9525dd49a0cfca3" ], [ "SL.ConcurrentExamples.test18", @@ -88,7 +88,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "4285a34c3bac45821da72848aed9bb3f" + "eb51602403104089d9d71f6adb246a0b" ], [ "SL.ConcurrentExamples.test18", @@ -109,7 +109,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "a78bd8411a1911357bcbece669f33b9d" + "95ba31755a416480fa108679916f3326" ], [ "SL.ConcurrentExamples.test18", @@ -121,7 +121,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "298fca347fd26dd537abf07285e15af5" + "8e285190da956bed3c1d403b2c2cdf17" ], [ "SL.ConcurrentExamples.test19", @@ -129,13 +129,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93", + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", "unit_inversion" ], 0, - "3cdfe0ff3d8950f3edcb17fa4d413c22" + "7aeb3854e6ca52bdd2f1f8a39270373a" ], [ "SL.ConcurrentExamples.test19", @@ -155,7 +155,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "1ff6a9cc270f597f3c6d7ff015b07f92" + "a41569c420af1f333cf9b541e55e94d1" ], [ "SL.ConcurrentExamples.test19", @@ -176,7 +176,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "ea2a6fb36233a902e89025e3daa5c8d1" + "29f239213753bcd207317211fe54dfb6" ], [ "SL.ConcurrentExamples.test19", @@ -188,7 +188,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "92b326e5e7e9afe9e181f6738e7c2e57" + "3e4ee887f5b015ee5a11a002ad2602f4" ], [ "SL.ConcurrentExamples.test20", @@ -203,13 +203,13 @@ "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c67f32864af244bdf9606083c7fca632", "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" ], 0, - "f922628dceecb0f7b5ce9cb91819c1fe" + "478fc5176d867a740e24a5cbe53d674e" ], [ "SL.ConcurrentExamples.test20", @@ -218,7 +218,7 @@ 1, [ "@query" ], 0, - "b220c0a3a09c48ae8b9f7e6a2639b8d0" + "ba5041974c4aaf06200f4c7715789f04" ], [ "SL.ConcurrentExamples.test20", @@ -238,7 +238,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "662b954361cf1c1a472cd83d438d2930" + "6f84ec6b6d1bc9eecbeda450baede09f" ], [ "SL.ConcurrentExamples.test20", @@ -259,7 +259,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "42aba89f2a8f2afe6981488117ba83e7" + "5d6e340590973a20ce343da07df7ba11" ], [ "SL.ConcurrentExamples.test20", @@ -271,7 +271,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "2bc9b819297ecdc83d4a6dec34b297b0" + "70ab858ecf923e757d519a8aa8d3e20d" ], [ "SL.ConcurrentExamples.test21", @@ -298,7 +298,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "5354ae0c087fb50fa6205001781f2679" + "72959265243df39aebaf7e39d3e6945f" ], [ "SL.ConcurrentExamples.test21", @@ -324,7 +324,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "2835417def6400c9ae2455039b4d3769" + "9a2959934d7ff6b67ed8ff30fd0dda9c" ], [ "SL.ConcurrentExamples.test21", @@ -339,15 +339,15 @@ "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_c67f32864af244bdf9606083c7fca632", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", + "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", + "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" ], 0, - "d2e9759f78b8787aa03b86870a59e376" + "e4fa3fb85a59103f7c1a29cbcc06e99c" ], [ "SL.ConcurrentExamples.test21", @@ -356,7 +356,7 @@ 1, [ "@query" ], 0, - "ceac99054282d63b495cdde585618588" + "1280721126dd264349a3cd07eab45ee5" ], [ "SL.ConcurrentExamples.test21", @@ -376,7 +376,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "f4f9c3a6a26c3582374cbd28b58d4012" + "4cf8d97ee755cebf1956ffeec65c0636" ], [ "SL.ConcurrentExamples.test21", @@ -397,7 +397,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "dd52899d17b0878f41b3e0c3281b06ef" + "a6e7b3d0722007dd68eecc24811951cf" ], [ "SL.ConcurrentExamples.test21", @@ -409,7 +409,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "50b75ccbe664026f86c738a4ef08865b" + "1767ba5d834c9a1317351597fa830890" ], [ "SL.ConcurrentExamples.test22", @@ -424,15 +424,15 @@ "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_c67f32864af244bdf9606083c7fca632", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", + "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", + "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" ], 0, - "a9f92f4d6e0cfbf4e67fbc25370a52db" + "37595a65176ec9d2b425722ad9eeb677" ], [ "SL.ConcurrentExamples.test22", @@ -440,36 +440,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_Prims.squash", "equation_SL.AutoTactic.memory_cm", "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "lemma_SL.Heap.em_invert", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", + "function_token_typing_Prims.int", "int_inversion", + "lemma_SL.Heap.em_invert", "lemma_SL.Heap.em_singl", + "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_typing" + "refinement_interpretation_Tm_refine_6ab1d78747b7c827c75424d5564e61d4", + "refinement_interpretation_Tm_refine_8903c989416c59a828a78ed246329abf", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", + "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "dc19475b377ad29da0d4b9924aeebea2" + "9aa706e0ed70f6ca08a3926bf34a0da7" ], [ "SL.ConcurrentExamples.test22", @@ -496,7 +487,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "884074bb9b257866b095ea770ab535af" + "47936c1b57cf425d8b6d3603d5b8bdba" ], [ "SL.ConcurrentExamples.test22", @@ -525,7 +516,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "6273ebef7648b943eb2593972fe823fc" + "715bac27c493292437e891fa024c3a8d" ], [ "SL.ConcurrentExamples.test22", @@ -534,7 +525,7 @@ 1, [ "@query" ], 0, - "d4d6484ecbcbef43460c055e194e31a8" + "fa6ca15ef5288c7225d98abf67a63480" ], [ "SL.ConcurrentExamples.test22", @@ -554,7 +545,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "31e75cc534b2c2e92486f538856a8cf2" + "4499f8e0f9572d734f9217b24465f926" ], [ "SL.ConcurrentExamples.test22", @@ -575,7 +566,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "f984fcb683cdebc9edf9e99761a72d01" + "a84f918db5502900e3583d7e717fe0cc" ], [ "SL.ConcurrentExamples.test22", @@ -587,7 +578,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "a36f390694a4a33d6d040a23123f259d" + "c9e1ae4cb4ec6620be78e7de7afee196" ], [ "SL.ConcurrentExamples.test23", @@ -602,15 +593,15 @@ "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_c67f32864af244bdf9606083c7fca632", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", + "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", + "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" ], 0, - "4a6695d47062ddafef381c5a253f68d6" + "2b96a1ef0e9b0f9b4a53591298e29d98" ], [ "SL.ConcurrentExamples.test23", @@ -618,36 +609,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_Prims.squash", "equation_SL.AutoTactic.memory_cm", "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "lemma_SL.Heap.em_invert", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", + "function_token_typing_Prims.int", "int_inversion", + "lemma_SL.Heap.em_invert", "lemma_SL.Heap.em_singl", + "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_typing" + "refinement_interpretation_Tm_refine_6ab1d78747b7c827c75424d5564e61d4", + "refinement_interpretation_Tm_refine_8903c989416c59a828a78ed246329abf", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", + "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "b041bc7c156e19c3d89227e7ea11404e" + "0577d5952f2f20059116b25547fe5057" ], [ "SL.ConcurrentExamples.test23", @@ -674,7 +656,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "7f22bee987288f694b2678eee2cac6a8" + "d0e4ffb296ca5fbfb8fe447d9b6d413a" ], [ "SL.ConcurrentExamples.test23", @@ -703,7 +685,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "310906717441526341bc5e8f812b561f" + "511c777ac12a5b23fe5f15e79b074091" ], [ "SL.ConcurrentExamples.test23", @@ -712,7 +694,7 @@ 1, [ "@query" ], 0, - "443edc068b61ebab741a137b32c2f759" + "686f400445194560f071eeb2c2a8bb97" ], [ "SL.ConcurrentExamples.test23", @@ -721,7 +703,7 @@ 1, [ "@query" ], 0, - "c23c3544ecb5c73d6c7bc4a17baaaed2" + "e3fdd12c5b2aba9aa262de46e78a088f" ], [ "SL.ConcurrentExamples.test23", @@ -741,7 +723,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "a7c56abb8bba10fa242e86e516b9d211" + "8c698ecfad195d41b63a5d37e97423c5" ], [ "SL.ConcurrentExamples.test23", @@ -762,7 +744,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "b0fad8f423190b51bbacdee56c9320d4" + "2a9a89a808a93118b52f4e28afc01baf" ], [ "SL.ConcurrentExamples.test23", @@ -774,7 +756,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "c7440aa45d431d5c34c08b88bff89c1e" + "11c036cc733b7f2ba386cf1484c4d2c4" ], [ "SL.ConcurrentExamples.incr_both_swap", @@ -783,10 +765,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "7382db1597aaea5e6459c17d20accdbd" + "ec4a70dfbda9e47a86eee25d76cfbdc5" ], [ "SL.ConcurrentExamples.incr_both_swap", @@ -795,7 +777,7 @@ 1, [ "@query" ], 0, - "846bfa145274c3fa3b39d71dcb7c0f08" + "f19f7d21fc958e94de85cf122572cbfd" ], [ "SL.ConcurrentExamples.incr_both_swap", @@ -816,7 +798,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "c49b8d44430f7dff34dd29e519a01c5b" + "847fbf0077987cced6631ca70f439b9e" ], [ "SL.ConcurrentExamples.incr_both_swap", @@ -824,8 +806,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Prims.eqtype", "equation_SL.AutoTactic.memory_cm", + "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", "primitive_Prims.op_Addition", @@ -833,15 +817,15 @@ "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_2621082ef05e58eb3e72692bd5e893f0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5baf163c13b3baf7b62b461ec4935a23", - "refinement_interpretation_Tm_refine_d725b6746d634b20b3d5db2402eab7c4", + "refinement_interpretation_Tm_refine_cd6744762f0d29ec09c4d5e9675a5439", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "token_correspondence_SL.Heap.op_Less_Star_Greater", "typing_SL.Heap.op_Bar_Greater" ], 0, - "7c395a6ade9f63acaf9d378f20f29082" + "e09ecf329c2685a32fdbc8ae6d183b76" ], [ "SL.ConcurrentExamples.incr_both_swap", @@ -855,13 +839,13 @@ "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "token_correspondence_SL.Heap.op_Less_Star_Greater", "typing_SL.Heap.op_Bar_Greater" ], 0, - "f4fb03ae5fb722bd2577cc9cd0619186" + "ac3743beb10968bf0deb5e019036698a" ], [ "SL.ConcurrentExamples.incr_both_swap", @@ -882,7 +866,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "ac2b77a0376698d0cb8a26aead76ccd5" + "ab24e2a0e7b00114255a97800ce56f46" ], [ "SL.ConcurrentExamples.acq_step", @@ -890,12 +874,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93" + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" ], 0, - "f7e6b0b9ef741bd7f205cf6da6497d88" + "b757aa3159ed5c7e851e67e8d67930ca" ], [ "SL.ConcurrentExamples.acq_step", @@ -903,27 +887,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_Prims.squash", "equation_SL.Effect.mem_eq", - "equation_SL.Heap.ii", "fuel_guarded_inversion_Prims.equals", + "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", "function_token_typing_Prims.int", "lemma_SL.Heap.em_invert", "lemma_SL.Heap.em_singl", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_Prims.Mkdtuple2__1", + "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_typing" + "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "6e0b039e1a79209037694d078d72b91f" + "ebc76cad9d26c2b1536618a49d13646f" ], [ "SL.ConcurrentExamples.acq_step", @@ -932,7 +912,7 @@ 1, [ "@query" ], 0, - "ef717f7248d3d2f622ae93da7291d4aa" + "ab5a1bf24b026c31edd825980ff36ca0" ], [ "SL.ConcurrentExamples.acq_step", @@ -953,7 +933,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "aed204ff9f868aada247ffcc4fc5fa9d" + "0c08c661638a690e28401c59d4497c24" ], [ "SL.ConcurrentExamples.acq_step", @@ -965,7 +945,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "51ffa7a1fa99de7e0c8dfb109f3f8d38" + "b1b6fc45532c13e820e66e190a19a002" ], [ "SL.ConcurrentExamples.test24", @@ -980,15 +960,15 @@ "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_c67f32864af244bdf9606083c7fca632", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", + "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", + "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" ], 0, - "61aae5e55bffe39e369c87fe04d3a56c" + "4d633d5237018bfef8e5d1331c7b6308" ], [ "SL.ConcurrentExamples.test24", @@ -996,36 +976,26 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_Prims.squash", "equation_SL.AutoTactic.memory_cm", "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "lemma_SL.Heap.em_invert", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", + "function_token_typing_Prims.int", "int_inversion", + "lemma_SL.Heap.em_invert", "lemma_SL.Heap.em_singl", + "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_typing" + "refinement_interpretation_Tm_refine_6ab1d78747b7c827c75424d5564e61d4", + "refinement_interpretation_Tm_refine_8903c989416c59a828a78ed246329abf", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", + "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "1264cb9b34820b83f846f11864fbcd44" + "a6fc2cd4b601d3ab4247d8880cc0d171" ], [ "SL.ConcurrentExamples.test24", @@ -1052,7 +1022,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "a68128dd1a3c1df34fbfb62f37f0e5dd" + "538296237e7d6a8c794a36105e4ba146" ], [ "SL.ConcurrentExamples.test24", @@ -1078,7 +1048,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "70bcf03de0a15b307cfcb5624ab1f91a" + "b03e20238c28b3383cbcdd14802df4e5" ], [ "SL.ConcurrentExamples.test24", @@ -1087,7 +1057,7 @@ 1, [ "@query" ], 0, - "e737d77938d717c9ed1979c7d0aeb61e" + "c3421cda816a042488ee98206340cbe5" ], [ "SL.ConcurrentExamples.test24", @@ -1105,7 +1075,7 @@ "typing_SL.AutoTactic.memory_cm" ], 0, - "f45c589beecbdc02dafd0fa35a3ea8ba" + "63f3c9b98adefd951cc979a0df4a650a" ], [ "SL.ConcurrentExamples.test24", @@ -1114,7 +1084,7 @@ 1, [ "@query" ], 0, - "689b3a9e9de8dbff07276b01541baece" + "63cf691d4c1b98a41443fba2f11a1554" ], [ "SL.ConcurrentExamples.test24", @@ -1134,7 +1104,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "bce55388c3f48f96b58e76f700439ccc" + "4d719655bf9794e244ffdaf0c4c6fd2e" ], [ "SL.ConcurrentExamples.test24", @@ -1155,7 +1125,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "79cb494180684db85ee313b2388a0a56" + "87ee326f82d4c01c638297fdcffb78af" ], [ "SL.ConcurrentExamples.test24", @@ -1167,7 +1137,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "16a06dd2886ac47c881e52d4ff394db6" + "22689f9f9513b99055ace0420754ad00" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.Effect.fst.hints b/examples/csl/SL.Effect.fst.hints index a1dddb48a07..218187906ba 100644 --- a/examples/csl/SL.Effect.fst.hints +++ b/examples/csl/SL.Effect.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_SL.Effect.with_fp" ], 0, - "95043e3b9c774ea624bd71ae2e31d759" + "12215e814b7ed307549224813f7086cb" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.ExamplesAuto.fst.hints b/examples/csl/SL.ExamplesAuto.fst.hints index 1517f4f7de6..875a7f496d1 100644 --- a/examples/csl/SL.ExamplesAuto.fst.hints +++ b/examples/csl/SL.ExamplesAuto.fst.hints @@ -13,13 +13,13 @@ "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "token_correspondence_SL.Heap.op_Less_Star_Greater", "typing_SL.Heap.op_Bar_Greater" ], 0, - "9c22d9617082619b6e0fee71132d4456" + "df0205fd292991fa4968d1fc02b259da" ], [ "SL.ExamplesAuto.swap", @@ -40,7 +40,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "b3f1684f4e9cf581cf767f300fc50bda" + "2d90057f010fd9f252fed503c843ff0f" ], [ "SL.ExamplesAuto.swap", @@ -69,7 +69,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "6ecd8b07a146ace7bbd89142634fb7b6" + "df646e7a319f06f11c7ccc4103790ac4" ], [ "SL.ExamplesAuto.swap", @@ -89,7 +89,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "35981596cc6317f61b6e533ffc403f8b" + "8672f6f68291197c30aa8e4cc2b96a8c" ], [ "SL.ExamplesAuto.swap", @@ -104,13 +104,13 @@ "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ff415705d6e637205ca95dd6ffc952c9", + "refinement_interpretation_Tm_refine_78c13aa774b93f5bf07e1086e93186ef", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "token_correspondence_SL.Heap.op_Less_Star_Greater", "typing_SL.Heap.op_Bar_Greater" ], 0, - "a2a38b27e259511f8e43fe0a36dae1aa" + "90f90011f0cdf322138892402c375515" ], [ "SL.ExamplesAuto.rotate", @@ -123,7 +123,7 @@ "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_392cbaff0ba1a104832b3e20be1e1667", + "refinement_interpretation_Tm_refine_3d3ce2b89e0c74f78369af8563ecee22", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "token_correspondence_SL.Heap.op_Less_Star_Greater", @@ -131,7 +131,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "3fcdf75751e3ee71f98aabc7e2511e6e" + "dfb5fb8abaaeb6797bb91c72baf0a5e2" ], [ "SL.ExamplesAuto.rotate", @@ -152,7 +152,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "d6e5eac71e2de135544c5a2e611979f8" + "4bc66e93fdec9ec95453e413b450e523" ], [ "SL.ExamplesAuto.rotate", @@ -167,14 +167,14 @@ "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_65e45a2890915eacaad5ce9413efe12c", + "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "token_correspondence_SL.Heap.op_Less_Star_Greater", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "6589330d5d9c6a8adbd4a0a202215c29" + "8552f2f4f85a9db6d6faa26322a2ae8d" ], [ "SL.ExamplesAuto.test", @@ -188,13 +188,13 @@ "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "token_correspondence_SL.Heap.op_Less_Star_Greater", "typing_SL.Heap.op_Bar_Greater" ], 0, - "8d507456e9e24b188419b1b5e0a7e759" + "e035b3ed7a99b4cc2ed820ee2a9a7c8d" ], [ "SL.ExamplesAuto.test", @@ -202,13 +202,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_SL.AutoTactic.memory_cm", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", - "refinement_interpretation_Tm_refine_d758b7b6ba2ecd6854938526e7a2d3bd", - "refinement_interpretation_Tm_refine_db83beed0426cdd22c659815fb9a6f83" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", + "refinement_interpretation_Tm_refine_c38c07410f7ca857bc20e9af21834fcb", + "refinement_interpretation_Tm_refine_ea2a99e14d834976cda595df67a5314a" ], 0, - "abe3a1be3736f975d8dd1ccc5578eea3" + "3003ed5d4786688375262eed14e35ac6" ], [ "SL.ExamplesAuto.write_read", @@ -222,13 +222,13 @@ "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "token_correspondence_SL.Heap.op_Less_Star_Greater", "typing_SL.Heap.op_Bar_Greater" ], 0, - "17eb68b2e77b962a33ed95273ef5f00e" + "19599fd910b83594dfe3a5d520f0b3b3" ], [ "SL.ExamplesAuto.write_read", @@ -248,7 +248,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "2e179060f82ef66427cec5d4b5915a6f" + "ff90bc1db1c07d5b9d7f1836ea7ee4b8" ], [ "SL.ExamplesAuto.write_read", @@ -262,15 +262,15 @@ "lemma_SL.Heap.lemma_sep_assoc", "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_0cf23b0c0ca68f6a4f81401e01114862", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_625219ca1a40e4e3a5a321359dcc3af6", + "refinement_interpretation_Tm_refine_7d967a0fb6d12e6bc4844bbbb769fdfc", + "refinement_interpretation_Tm_refine_9aac63d63036d63527c3e902d0eb6485", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "token_correspondence_SL.Heap.op_Less_Star_Greater", "typing_SL.Heap.op_Bar_Greater" ], 0, - "63b91f32b33f9d4e240918faa8456347" + "ce02016907f9d12085eedae0396a81dd" ], [ "SL.ExamplesAuto.read_write", @@ -284,13 +284,13 @@ "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "token_correspondence_SL.Heap.op_Less_Star_Greater", "typing_SL.Heap.op_Bar_Greater" ], 0, - "7c1c994f962a6ec3ec49a763ea29242f" + "3e27db472e7df9468aae0c6cecd7c4d0" ], [ "SL.ExamplesAuto.read_write", @@ -311,7 +311,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "d63c576ed64849922fe7dd4e59b2a5aa" + "074d517019312a3cef6ad4b846116306" ], [ "SL.ExamplesAuto.read_write", @@ -325,14 +325,14 @@ "lemma_SL.Heap.lemma_sep_comm", "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_02f133f49e5decb92aa1293228d6689e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_dfbb831b1f0f4b0afd5d2ac1dc828b7d", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "token_correspondence_SL.Heap.op_Less_Star_Greater", "typing_SL.Heap.op_Bar_Greater" ], 0, - "72c74a2252c7c8ab02e0cb26a0d9ce04" + "b982e62187f3217ffe8eab9140583eb9" ], [ "SL.ExamplesAuto.cond_test", @@ -341,10 +341,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "ac24c3c34083486aafd38db3ee87c40f" + "8bb755122a77ac7e9f4f4d81b1682a53" ], [ "SL.ExamplesAuto.cond_test", @@ -353,10 +353,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99" + "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" ], 0, - "d504f0899eb9c15b31545799e16364b8" + "74f3b5592ef54d74d20d3de1ad3d54a8" ], [ "SL.ExamplesAuto.cond_test", @@ -365,11 +365,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8a5eac184ae64109676f362e58afe491", - "refinement_interpretation_Tm_refine_de4dc1318c9ad6d244a7472e52c18df1" + "refinement_interpretation_Tm_refine_9a2933ed0a6c4a0db2ff83cb885c9ec7", + "refinement_interpretation_Tm_refine_b44f0473d9ca4b4c16a5222f08655ced" ], 0, - "abd76816b508d8e48586738a1653cc0d" + "6a9d4fe331cfbb8e51001b97878940d0" ], [ "SL.ExamplesAuto.cond_test", @@ -378,10 +378,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99" + "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" ], 0, - "e7fa2610f0d5b2a4504e3f6bc97c43cd" + "924d23568c36447e461b9b859d748a9b" ], [ "SL.ExamplesAuto.cond_test", @@ -390,11 +390,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a5f12cbf43548265004dbd7acdaa10cf", - "refinement_interpretation_Tm_refine_de4dc1318c9ad6d244a7472e52c18df1" + "refinement_interpretation_Tm_refine_6164d9b106667485d32a033534b8978a", + "refinement_interpretation_Tm_refine_b44f0473d9ca4b4c16a5222f08655ced" ], 0, - "354567798806e1af950a6e19c7d6aa1e" + "400b9d18b95fa41ecc43fec2aeb84c29" ], [ "SL.ExamplesAuto.rotate_left_or_right", @@ -403,10 +403,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "2b8f966cd368919228449b7523640534" + "118231eccbc3dbb15bafadedfc4840ea" ], [ "SL.ExamplesAuto.rotate_left_or_right", @@ -418,13 +418,13 @@ "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6a7d767aa55bdcb2d1cc47928dfd191a", - "refinement_interpretation_Tm_refine_8a5eac184ae64109676f362e58afe491", + "refinement_interpretation_Tm_refine_80a47aecdbb3cb2ff3966bdb3c7dec5d", + "refinement_interpretation_Tm_refine_9a2933ed0a6c4a0db2ff83cb885c9ec7", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "c8ea20f52da926b9b2588bf62e200dbf" + "c4bd1f4c494daba8c0de4d2be0215956" ], [ "SL.ExamplesAuto.rotate_left_or_right", @@ -436,12 +436,12 @@ "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_65e45a2890915eacaad5ce9413efe12c", + "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "8a7e74e7ebda694f00b094a0320e96e6" + "2123ad69e4a782f828846297a1f8540d" ], [ "SL.ExamplesAuto.rotate_left_or_right", @@ -450,11 +450,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6a7d767aa55bdcb2d1cc47928dfd191a", - "refinement_interpretation_Tm_refine_a5f12cbf43548265004dbd7acdaa10cf" + "refinement_interpretation_Tm_refine_6164d9b106667485d32a033534b8978a", + "refinement_interpretation_Tm_refine_80a47aecdbb3cb2ff3966bdb3c7dec5d" ], 0, - "bd73f17e146680f6ad9d2a73c9cc6e82" + "8cc7e8f1afe730486693f786a0ffd885" ], [ "SL.ExamplesAuto.rotate_left_or_right", @@ -463,10 +463,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_65e45a2890915eacaad5ce9413efe12c" + "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a" ], 0, - "abad0c7712b55f18e5795c04982f6e85" + "0f6ef495017506b06205b7d0a952c759" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.ExamplesLocks.fst.hints b/examples/csl/SL.ExamplesLocks.fst.hints index 8eb0a2e2a5f..025c8440c9e 100644 --- a/examples/csl/SL.ExamplesLocks.fst.hints +++ b/examples/csl/SL.ExamplesLocks.fst.hints @@ -14,13 +14,13 @@ "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_0a832ae41a986fe11132f152252c94ac", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_82914fb1dcbff7cdf5ee0535b1208626", + "refinement_interpretation_Tm_refine_5151c05a21034391d98c4a63f791aea3", + "refinement_interpretation_Tm_refine_a5477812df333467d69526c18e5e26d1", "typing_SL.Heap.op_Bar_Greater" ], 0, - "e689cb5a8179051fa4a2e51085a2b5fb" + "1c508f44cba38fc08e6d92d2d53e8c2a" ], [ "SL.ExamplesLocks.test_acq", @@ -32,7 +32,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "ec131cb5fde95a443a8b173d3af015cc" + "767129c03db6062197888722f908af30" ], [ "SL.ExamplesLocks.test_acq_rel", @@ -40,12 +40,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93" + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" ], 0, - "c0e6b9ffb037f400e1d8c48cf83aeaae" + "27c10984194be3c82c92b868dad963ae" ], [ "SL.ExamplesLocks.test_acq_rel", @@ -64,7 +64,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "8d9dc946720c0c4e9358ee56af6706ad" + "c5e8b8b15f05bd433bffbef9f593dca7" ], [ "SL.ExamplesLocks.test_acq_rel", @@ -73,7 +73,7 @@ 1, [ "@query" ], 0, - "cb0dd4711effd6d62621366388643aa8" + "206ba18f7fec3c5a30d69743c6661f4a" ], [ "SL.ExamplesLocks.test_acq_rel", @@ -85,7 +85,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "ae52fcc72a1174399bc8d4d364055e9e" + "db5f7f34795d1c776b65c86dee0b39dc" ], [ "SL.ExamplesLocks.set_and_ret", @@ -93,12 +93,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_1a824980d9b3b02a18206b3493d99785", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d" + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", + "refinement_interpretation_Tm_refine_b8ff472d5334c42b1cce709c3e76bba8" ], 0, - "a1f3bc9f33e9d0d77b9cff7d99fb8043" + "30fafa79e31d2a6e64295b96d9b7681f" ], [ "SL.ExamplesLocks.set_and_ret", @@ -107,10 +108,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b525f94093cbfed60297a650a445bcab" + "5e7243c6b8ce443ccdc49a7c0e5c23d4" ], [ "SL.ExamplesLocks.set_and_ret", @@ -119,10 +120,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8a4d9f696463b3c910a1c8dcf8d020c5" + "e4462cfb80093d6466c2a0cdd654b6c4" ], [ "SL.ExamplesLocks.set_and_ret", @@ -131,10 +132,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a9502c9f3f334649122856f3f3a0b903" + "5ab975757cd29bb1803a1d4aa674d63a" ], [ "SL.ExamplesLocks.set_and_ret", @@ -153,7 +154,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "a66979af0b42dd8fa11b204dea112930" + "aa54cbdb9540c4d877c0cd47941375de" ], [ "SL.ExamplesLocks.set_and_ret", @@ -162,10 +163,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e1dec09f4a8f712bec4e4b04e7a113ff" + "e8fb8ba98bc466e3f10edf63de075af3" ], [ "SL.ExamplesLocks.set_and_ret", @@ -174,10 +175,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ba290f4fe6505993247f795dc321522c" + "ec1b52eb63539faf1cdf977aebd984cc" ], [ "SL.ExamplesLocks.set_and_ret", @@ -186,7 +187,7 @@ 1, [ "@query" ], 0, - "7501589224d3b87e811dee13a2b679ba" + "ad95229f6cebfa68bf5fd8ed22bec6df" ], [ "SL.ExamplesLocks.set_and_ret", @@ -195,10 +196,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2aba97f75040af33c3af6917998153f0" + "7a59185547fb5f3a81d74361aae62c03" ], [ "SL.ExamplesLocks.set_and_ret", @@ -207,10 +208,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "60ce07168a872fce158e2020e0bf414a" + "92be75f824e04e2a746831426b0e5cae" ], [ "SL.ExamplesLocks.set_and_ret", @@ -219,10 +220,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "62184e10994ba4c205039fdf842e8a06" + "8af3cfe16e046063f730c54dcb8a2df2" ], [ "SL.ExamplesLocks.set_and_ret", @@ -231,10 +232,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "dd25ba9c30184c152bbc893a04a7c66f" + "4783d98151c9ad6fcec8131200777321" ], [ "SL.ExamplesLocks.set_and_ret", @@ -243,10 +244,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0e5a0accdd63efbc016f7058f8b00c2c" + "5c7412f0297bfaa47db75d8da85fe4c8" ], [ "SL.ExamplesLocks.set_and_ret", @@ -255,10 +256,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0b6af57c77d61c75d39135fc3e0b2b6b" + "306dd1ff4a759dbb28185d9a3b15a25b" ], [ "SL.ExamplesLocks.set_and_ret", @@ -267,10 +268,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8c60e29672df77e8f63a6772b78ec2be" + "fbf0f3a2662312d6e0c7fbb698bc8f71" ], [ "SL.ExamplesLocks.set_and_ret", @@ -282,7 +283,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "21d383277d5b51cfcbfe351f52f843a4" + "d085679d92d1c37605986757251a86d6" ], [ "SL.ExamplesLocks.set_and_ret", @@ -291,10 +292,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8939881eae74dd3efbfe89552d65fd58" + "3dfb0ac41981bba5f3e88d502b9bf100" ], [ "SL.ExamplesLocks.test06", @@ -304,14 +305,14 @@ [ "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_0a832ae41a986fe11132f152252c94ac", - "refinement_interpretation_Tm_refine_3cd4b5092f48bd1f73258736d97dac97", - "refinement_interpretation_Tm_refine_691e401a32bbd180cd18e448516d10bb", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", + "refinement_interpretation_Tm_refine_5151c05a21034391d98c4a63f791aea3", + "refinement_interpretation_Tm_refine_ab64e97564aeeff76a0a1aab73ee3eee", + "refinement_interpretation_Tm_refine_b6a81f5cde02caac440f4a44f3180dae", "typing_SL.Heap.emp" ], 0, - "08ed4646d0725edb3b3d3bac7e3835ab" + "bfe114eae9c69b9ada3286f317b2e4a3" ], [ "SL.ExamplesLocks.test06", @@ -329,7 +330,7 @@ "typing_SL.AutoTactic.memory_cm" ], 0, - "ad32c7d14c6106a51019be1c39659ac5" + "6db3b0f2933e5887168687bd71cad635" ], [ "SL.ExamplesLocks.test06", @@ -338,7 +339,7 @@ 1, [ "@query" ], 0, - "26e7e6c521be62dfa117a90750f2abfa" + "8afb3da267457fc2ff7bf6b8951e6e8c" ], [ "SL.ExamplesLocks.test06", @@ -347,10 +348,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99" + "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" ], 0, - "cb7489056d5af5a8647ef6adae8b8618" + "fe7fb32beb316c59865522d97169a0e1" ], [ "SL.ExamplesLocks.test07", @@ -359,11 +360,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0a832ae41a986fe11132f152252c94ac", - "refinement_interpretation_Tm_refine_4b34bc22d8ccfb71814cfc1eec9117e7" + "refinement_interpretation_Tm_refine_3c47ab2552d10436a50da08b7d16013d", + "refinement_interpretation_Tm_refine_5151c05a21034391d98c4a63f791aea3" ], 0, - "f7546064826f0922e6f2abd8b1f2a00d" + "cd903dd715dcf7aa4c785d39df33ecaf" ], [ "SL.ExamplesLocks.test07", @@ -375,7 +376,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "2df739c59f221f3023f55b14de2d5fe8" + "9d180400c733e02e73d8e83211c59d75" ], [ "SL.ExamplesLocks.test08", @@ -386,23 +387,22 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_SL.AutoTactic.memory_cm", "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "function_token_typing_SL.Heap.op_Less_Star_Greater", "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", + "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", + "refinement_interpretation_Tm_refine_22ad78ab57d2eb14a784b4eaae52b256", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4a8a0f50077cb36608feef6936e5466f", - "refinement_interpretation_Tm_refine_4bdd7eae8d06380e983ee8c4e2fe9e87", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99", + "refinement_interpretation_Tm_refine_7af1ebf9c328014d68e76ae56b13ef5a", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "9fe0a78d1ab4c71d7e1bb8771c6df3a7" + "48fe3f38923a4e631b85960fc10bc1cd" ], [ "SL.ExamplesLocks.test08", @@ -411,10 +411,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99" + "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" ], 0, - "2559c05b3ed46bc6fbda9df847b409a0" + "b771778f72f7c66657cc4eaa95f8f8f7" ], [ "SL.ExamplesLocks.test08", @@ -427,12 +427,12 @@ "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99", + "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "8eb6c6d4af87caccf7266120d6fadeb8" + "d9cf011987776404e76239f4af1d1f64" ], [ "SL.ExamplesLocks.test09", @@ -447,15 +447,15 @@ "lemma_SL.Heap.lemma_sep_assoc", "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", + "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", + "refinement_interpretation_Tm_refine_154900a7d5c1fe39c6e74afa8a5555f8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99", - "refinement_interpretation_Tm_refine_da145d0f61dfca84a38ca0c4740ccc56", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "typing_SL.Heap.op_Bar_Greater" ], 0, - "45fb2c3e8257f21f09d1267e1aa3e992" + "4c573ee0ac1c57e440244d61620131c8" ], [ "SL.ExamplesLocks.test09", @@ -464,10 +464,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99" + "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" ], 0, - "5e377d6e1336f0719ab6f276eec70a18" + "1a6a739ce6f4fa05de319721059d9fd9" ], [ "SL.ExamplesLocks.test09", @@ -480,12 +480,12 @@ "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99", + "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df", "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "991709b07b9d4a670dc555009def17a3" + "eb4d78cb670db9353e6aa3a7ed97bcf7" ], [ "SL.ExamplesLocks.test10", @@ -495,13 +495,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "function_token_typing_Prims.int", "int_typing", - "refinement_interpretation_Tm_refine_2ff1ac1e92c5a74e006e9f81f49c6dd1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_8d5fb4628d943960bbbf0283bf411b2c", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "9970ea6a1b3b8c8a901b779adeed7e7c" + "d05828a64b3c46cb3846e6f613087efc" ], [ "SL.ExamplesLocks.test10", @@ -510,7 +510,7 @@ 1, [ "@query" ], 0, - "03f0e019adfac0026510b50c6cfd700a" + "24c142a54167b0001c81fee1574c24e5" ], [ "SL.ExamplesLocks.test10", @@ -522,7 +522,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "943bc49777911921d111f86b5ce3bec0" + "d07839a976b39a44cc690e960f1e0c67" ], [ "SL.ExamplesLocks.test11", @@ -530,12 +530,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93" + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" ], 0, - "1efd4921d526477a900428cfb8e1c058" + "3441e3b3b1eec89b04027dcce2222e2e" ], [ "SL.ExamplesLocks.test11", @@ -544,7 +544,7 @@ 1, [ "@query" ], 0, - "9b2c1c3652a00be3a74da7946eb68040" + "d174b6fbbdfbeb1764eb0e39b4193ebf" ], [ "SL.ExamplesLocks.test11", @@ -553,7 +553,7 @@ 1, [ "@query" ], 0, - "bd12a9f742ee15ab99530439890574cb" + "ebc2d32eb2bd46196dcaa7dbf2c01a39" ], [ "SL.ExamplesLocks.test11", @@ -565,7 +565,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "c703be91a02687a277c8dd7975968052" + "c3f3e5c0115a665f85bafd3068b6eb37" ], [ "SL.ExamplesLocks.take_and_incr", @@ -573,12 +573,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93" + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" ], 0, - "817026fc3f4a27e044b53d8a7b6c15ba" + "b384fae3edfcac830529502b9f97425d" ], [ "SL.ExamplesLocks.take_and_incr", @@ -586,15 +586,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_Prims.squash", "equation_SL.Effect.mem_eq", - "equation_SL.Heap.ii", "fuel_guarded_inversion_Prims.equals", + "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", "function_token_typing_Prims.int", "lemma_SL.Heap.em_singl", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_Addition", + "lemma_SL.Heap.lemma_sep_unit_", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThanOrEqual", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Prims.Mkdtuple2__2", @@ -603,12 +600,11 @@ "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_cb858bdc9e5021bea4bc9aed19446bbe", - "typing_SL.Heap.op_Bar_Greater", "unit_typing" + "refinement_interpretation_Tm_refine_b62263626586659ba57dd25bd279beb8", + "typing_SL.Heap.op_Bar_Greater" ], 0, - "02dfe15d83c265c96be5e23fba80365c" + "563d92c4e9c768164a3a3492be12147a" ], [ "SL.ExamplesLocks.take_and_incr", @@ -627,7 +623,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "e5a9edfad7d05207e1d95267e2367824" + "3780b0263b5f1192f177b149890f9b42" ], [ "SL.ExamplesLocks.take_and_incr", @@ -636,7 +632,7 @@ 1, [ "@query" ], 0, - "2134532eb3d1cd5ad833226c4b7c0b34" + "79f8dd9b6a7171bbf05d4ab908786df5" ], [ "SL.ExamplesLocks.take_and_incr", @@ -645,7 +641,7 @@ 1, [ "@query" ], 0, - "d04d40432570cbff680ffe22cb59bc5c" + "f33fde04fdfca7c2d927e9444ebe9826" ], [ "SL.ExamplesLocks.take_and_incr", @@ -657,7 +653,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "787e32e80886e0c319996c74d2412dfb" + "ce2e7668ca3deb8b1a66ae28433109e9" ], [ "SL.ExamplesLocks.test12", @@ -665,13 +661,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93", + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", "unit_inversion" ], 0, - "0d60edbc055ad647ea7423e8c61dc67a" + "49096f6a5fd57505987c751130ae249b" ], [ "SL.ExamplesLocks.test12", @@ -680,7 +676,7 @@ 1, [ "@query" ], 0, - "54f6e21b3d2a5c1a9f321fb7250880f0" + "73b410f7ad80ad855467a778b30d1f53" ], [ "SL.ExamplesLocks.test12", @@ -692,7 +688,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "3e8cc1b2a30aefb6e9a10e88bad45e26" + "b41e3549333222cf63343ffea623b612" ], [ "SL.ExamplesLocks.test13", @@ -700,12 +696,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93" + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" ], 0, - "87a182474e6001ab495997bbd9f5f43a" + "e5dea3fa0b9b1cf6cca31b6db96cfa38" ], [ "SL.ExamplesLocks.test13", @@ -724,7 +720,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "ef6977ccc8b199653626a5ab50bb3549" + "0e213d2ab0cdf2d709e1fb1baf205ef7" ], [ "SL.ExamplesLocks.test13", @@ -733,7 +729,7 @@ 1, [ "@query" ], 0, - "2050939205660f8dcf9402bdb013b9eb" + "bd37651f7fbb76af8120200c776f308a" ], [ "SL.ExamplesLocks.test13", @@ -742,7 +738,7 @@ 1, [ "@query" ], 0, - "a82ccc182b93c7f039a12874b1390b9d" + "e8454fd4c93dcaef07f9dff1ac36216b" ], [ "SL.ExamplesLocks.test13", @@ -754,7 +750,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "c298544c6ececc1909bc7018445447f1" + "9c75e8adb7f8682e0f9d46614a52f2b3" ], [ "SL.ExamplesLocks.test14", @@ -762,12 +758,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93" + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" ], 0, - "d58e5f7c766414b05ba23aacd6b30daa" + "4dd54139d5831391bb2853722bf69c08" ], [ "SL.ExamplesLocks.test14", @@ -786,7 +782,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "bd83e0998debe4bc4d7f6b8c2e3b494d" + "64bc3a9fefc0c641d5e057776549964a" ], [ "SL.ExamplesLocks.test14", @@ -795,7 +791,7 @@ 1, [ "@query" ], 0, - "01d5e254ae6e4983cf09bfb30df96d83" + "d9839df61092612ae47e38bf1d98cfb5" ], [ "SL.ExamplesLocks.test14", @@ -813,7 +809,7 @@ "typing_SL.AutoTactic.memory_cm" ], 0, - "6640d3489d18e4bbd0c7dfaad18a9da5" + "d4f08688a522d78b08cf4a6c26401f48" ], [ "SL.ExamplesLocks.test14", @@ -822,7 +818,7 @@ 1, [ "@query" ], 0, - "9af7374f9422d39a4e179815eebb2dee" + "3c87f77da3d33b346ec4a8d60ce7e65e" ], [ "SL.ExamplesLocks.test14", @@ -831,7 +827,7 @@ 1, [ "@query" ], 0, - "dd8448eb2b3db1b89ad8f01cef82b142" + "780129df7f642a4a286648384e730623" ], [ "SL.ExamplesLocks.test14", @@ -843,7 +839,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "804f15c95524c9d9185147f4a833be81" + "d7d156ca1847f76d3066006a55ad825e" ], [ "SL.ExamplesLocks.test15", @@ -851,12 +847,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93" + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" ], 0, - "4c9a738d657098da3d75006d36df3f57" + "6f51d7bc39e4b1579f12a81ec9f8d765" ], [ "SL.ExamplesLocks.test15", @@ -875,7 +871,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "71ebb67be6af3e4e1b4c2391eed240e6" + "f022f2142f9112b92012f480b947561d" ], [ "SL.ExamplesLocks.test15", @@ -884,7 +880,7 @@ 1, [ "@query" ], 0, - "4f4782d93817ca95f472b688ba65abea" + "79f38d668874044d15a804e35311dc4f" ], [ "SL.ExamplesLocks.test15", @@ -893,7 +889,7 @@ 1, [ "@query" ], 0, - "b2b9227bd2397960f0e33a93cba3ea8d" + "86b3b0fe1e1bf3c88007b087f2a586dc" ], [ "SL.ExamplesLocks.test15", @@ -911,7 +907,7 @@ "typing_SL.AutoTactic.memory_cm" ], 0, - "42f59ea12a9d520518c65eab15bdaa66" + "747d9da6f4cd67e831caf11b522fec9e" ], [ "SL.ExamplesLocks.test15", @@ -920,7 +916,7 @@ 1, [ "@query" ], 0, - "8b216e0ef28cf705d5816cf2b8271a88" + "2d8c12eeedc4af16b3fd47be3192a612" ], [ "SL.ExamplesLocks.test15", @@ -929,7 +925,7 @@ 1, [ "@query" ], 0, - "89376a7d010519014cd1cf7f1c0a58c6" + "1a0b62a1535ac31209936f05530a32da" ], [ "SL.ExamplesLocks.test15", @@ -941,7 +937,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "67c107b7f8f9599c5ef001a4b78b5103" + "219ab8e4d2c1de33409a981398cf7f6f" ], [ "SL.ExamplesLocks.test16", @@ -949,12 +945,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93" + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" ], 0, - "e11ac35ed485216ad098560f5c969f18" + "2ac6f776aef2376c5779d9eebb3147d9" ], [ "SL.ExamplesLocks.test16", @@ -963,7 +959,7 @@ 1, [ "@query" ], 0, - "5dfa40ae2afce3f2113f358c71ffe48f" + "6c5d4fbc67b522c49ed6f5969692f935" ], [ "SL.ExamplesLocks.test16", @@ -971,26 +967,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.squash", + "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", + "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", + "equation_Prims.eq2", "equation_Prims.eqtype", "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_Prims.int", "lemma_SL.Heap.em_singl", "lemma_SL.Heap.lemma_sep_unit_", "primitive_Prims.op_GreaterThanOrEqual", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Prims.Mkdtuple2__2", + "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_SL.Heap.op_Bar_Greater", "unit_typing" + "typing_SL.Heap.op_Bar_Greater" ], 0, - "bf8f69c4f24671d27a01535963240726" + "b6fd2e034ada22ac67589f83a032f593" ], [ "SL.ExamplesLocks.test16", @@ -1009,7 +1002,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "0719437de7d89e2efa84fbaea37ff528" + "26ffe3117a10d3ca18de418cffc55200" ], [ "SL.ExamplesLocks.test16", @@ -1018,7 +1011,7 @@ 1, [ "@query" ], 0, - "63a4b33388d409d65d428cf5b67f10e8" + "82c0ac179540f9a556953354bd7bbea3" ], [ "SL.ExamplesLocks.test16", @@ -1036,7 +1029,7 @@ "typing_SL.AutoTactic.memory_cm" ], 0, - "56e04dd3992a6d013ae6a3c4f5937f72" + "2086d8861b68a45d3093f4e8382a07ae" ], [ "SL.ExamplesLocks.test16", @@ -1045,7 +1038,7 @@ 1, [ "@query" ], 0, - "f0d4f6e067fcbc04dfc9df8b2f14ea69" + "fae3683b41a8ef076cc69f9375accca8" ], [ "SL.ExamplesLocks.test16", @@ -1054,7 +1047,7 @@ 1, [ "@query" ], 0, - "bacbd1c31419faa418ffea5d6b491d27" + "334cf5ac490f9287f94f0645579eaca2" ], [ "SL.ExamplesLocks.test16", @@ -1066,7 +1059,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "4325c5650bb74112884a07653792bb47" + "06bf9c9d1b04c53319b77091e425593e" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.ExamplesLocks2.fst.hints b/examples/csl/SL.ExamplesLocks2.fst.hints index 215f5ccc3c7..858a836c8e3 100644 --- a/examples/csl/SL.ExamplesLocks2.fst.hints +++ b/examples/csl/SL.ExamplesLocks2.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", "unit_inversion" ], 0, - "44db06ec7f6c432e7618a6eaf9ad2473" + "9a43f0c0a0cb0e6181680d1e2021f539" ], [ "SL.ExamplesLocks2.test17", @@ -22,10 +22,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb" + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b" ], 0, - "7409a7eed887490997d298c541545ee8" + "91e445a665728e8bbce08d27da67230e" ], [ "SL.ExamplesLocks2.test17'", @@ -35,11 +35,11 @@ [ "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", "unit_inversion" ], 0, - "2574b15951e8f68c93cd8cf42e94ea90" + "675ae444a065d0e8394385a85ef73df6" ], [ "SL.ExamplesLocks2.test17'", @@ -50,11 +50,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_comm", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", "typing_SL.Heap.op_Bar_Greater" ], 0, - "9c73deb2408919b9efd33e9ad85f4d9d" + "f5ff294e47e9f4128fa55360e09362f4" ], [ "SL.ExamplesLocks2.test18", @@ -62,13 +62,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93", + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", "unit_inversion" ], 0, - "608b89fca0d1d28d719c396963945e80" + "46ace845bd6218e0c6dffe6c6a833f77" ], [ "SL.ExamplesLocks2.test18", @@ -88,7 +88,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "f722f959d7c15dd22a911bcd8dc6f909" + "8366cf9e212460f148972c9db8a92a4f" ], [ "SL.ExamplesLocks2.test18", @@ -109,7 +109,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "24d5cc71c736f3da24f83926e00c1c57" + "2abacf7dc60458a77bd9e057c9e3e5e6" ], [ "SL.ExamplesLocks2.test18", @@ -121,7 +121,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "6ab057901ab51410bfc75d8d5746acc9" + "128a5c6d5e6d4e729b7a48692b5de9ae" ], [ "SL.ExamplesLocks2.test19", @@ -129,13 +129,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_80c9652fe96a19b293f5cd63a93f6e93", + "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", + "lemma_SL.Heap.lemma_sep_unit_", + "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", "unit_inversion" ], 0, - "42a807e588428e42e467383a40857221" + "fb159e60bd37af0961fbcfdc4e65c9b6" ], [ "SL.ExamplesLocks2.test19", @@ -155,7 +155,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "14eca2b2fb93081f324c24c1ced0d576" + "6803ff604a990dce83b6b50aafcb1be0" ], [ "SL.ExamplesLocks2.test19", @@ -176,7 +176,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "b497c3ddc1eda6fc9ec404221894fa0f" + "01d0bcdcaae007231cc5d996aaec614e" ], [ "SL.ExamplesLocks2.test19", @@ -188,7 +188,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "032d8131e6dcabf6a4fcf5e29653d7b4" + "99e593f3594dbe13223a30da27098a31" ], [ "SL.ExamplesLocks2.test20", @@ -203,13 +203,13 @@ "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c67f32864af244bdf9606083c7fca632", "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" ], 0, - "aee9992daa4feedd73dedecb4180d7bf" + "cc73793cf721be3e67859911b9c43656" ], [ "SL.ExamplesLocks2.test20", @@ -218,7 +218,7 @@ 1, [ "@query" ], 0, - "67799d2ed2507db04643210a36f115e9" + "191afbbc93dd14cd8f88e4642d6603b6" ], [ "SL.ExamplesLocks2.test20", @@ -238,7 +238,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "d39eca343e39cc577e4a092dbe462694" + "e12025dd6f542f8dbb2625111d245c9c" ], [ "SL.ExamplesLocks2.test20", @@ -259,7 +259,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "0fdad6c28fa004d10091acefc48149d7" + "f509b4209f8849ceccb0e77bf239ef5e" ], [ "SL.ExamplesLocks2.test20", @@ -271,7 +271,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "bb76482716bce32bb0d041b4809eea8a" + "aebcae611a977e37f393f03b999d0c39" ], [ "SL.ExamplesLocks2.test21", @@ -298,7 +298,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "9a09a2473a019f83867af63ad9c53d60" + "020139474647da388ae0bb708467596b" ], [ "SL.ExamplesLocks2.test21", @@ -324,7 +324,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "062522d0d6b05f77fb7797473ffcb4cf" + "924f46065d30d3500104c1840b94271c" ], [ "SL.ExamplesLocks2.test21", @@ -339,15 +339,15 @@ "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_c67f32864af244bdf9606083c7fca632", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", + "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", + "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" ], 0, - "d6f110f31d51614ac1024d7d7001b41c" + "201525fd037c6f3143a4814e3ebf5333" ], [ "SL.ExamplesLocks2.test21", @@ -356,7 +356,7 @@ 1, [ "@query" ], 0, - "0ccd1aa5b944be4c15164d50789aec52" + "ac2e99a4db973d7147d3d08be7b32d89" ], [ "SL.ExamplesLocks2.test21", @@ -376,7 +376,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "37fbf81bda6c002f9031d871b58599b3" + "ae187b84d9a4510ee63255715c38a61e" ], [ "SL.ExamplesLocks2.test21", @@ -397,7 +397,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "1da05e1c5c354f71c43a9db765fe2f2d" + "6395f432cbf595729c383fdbf04756ab" ], [ "SL.ExamplesLocks2.test21", @@ -409,7 +409,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "2ffcb12f26f9f66842e1a7ecd84bef02" + "b95af9cefa914095b154db35d97aaf38" ], [ "SL.ExamplesLocks2.test22", @@ -424,15 +424,15 @@ "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_c67f32864af244bdf9606083c7fca632", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", + "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", + "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" ], 0, - "b682202e85d3d37c706fdb7906b47041" + "2203a978ef5ebb06bbe94e580dfe3e9e" ], [ "SL.ExamplesLocks2.test22", @@ -440,36 +440,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_Prims.squash", "equation_SL.AutoTactic.memory_cm", "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "lemma_SL.Heap.em_invert", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", + "function_token_typing_Prims.int", "int_inversion", + "lemma_SL.Heap.em_invert", "lemma_SL.Heap.em_singl", + "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_typing" + "refinement_interpretation_Tm_refine_6ab1d78747b7c827c75424d5564e61d4", + "refinement_interpretation_Tm_refine_8903c989416c59a828a78ed246329abf", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", + "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "ff06c9f13f0350688a793723656452fe" + "1e4c13b80e68b8e278e5d18d99ce7101" ], [ "SL.ExamplesLocks2.test22", @@ -496,7 +487,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "80db568dc5998cd620957259f0c51310" + "b2c057eb40c4c15a8de463e517ea102a" ], [ "SL.ExamplesLocks2.test22", @@ -525,7 +516,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "69c3f38590567af3c3bffb62ceb11925" + "2378a5cbb1d82015836df268bd47a279" ], [ "SL.ExamplesLocks2.test22", @@ -534,7 +525,7 @@ 1, [ "@query" ], 0, - "6cf34c31e0e8688aaabc43eb84b9fd7b" + "71dfd7d6d239fcdcd8e59b5a88d54668" ], [ "SL.ExamplesLocks2.test22", @@ -554,7 +545,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "50a864fab0c675ae4c516cc96433185e" + "1045aa10fa19b1cac56f90ce7ed84f18" ], [ "SL.ExamplesLocks2.test22", @@ -575,7 +566,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "8015c175c0e9298a7381a728ce22f5b7" + "ffc00f7c617b2f6c016e7578a8d6a87b" ], [ "SL.ExamplesLocks2.test22", @@ -587,7 +578,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "f2254d789907d6f3dd528b0758e730ad" + "e2f252b8aca60da14600fc884f5dfd7a" ], [ "SL.ExamplesLocks2.test23", @@ -602,15 +593,15 @@ "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_c67f32864af244bdf9606083c7fca632", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", + "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", + "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" ], 0, - "8f2e8788fce0dbe1ed815559c76830d3" + "746ea906ee74d0a783cc9a2324ffadcd" ], [ "SL.ExamplesLocks2.test23", @@ -618,36 +609,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_Prims.squash", "equation_SL.AutoTactic.memory_cm", "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "lemma_SL.Heap.em_invert", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", + "function_token_typing_Prims.int", "int_inversion", + "lemma_SL.Heap.em_invert", "lemma_SL.Heap.em_singl", + "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9b94d26f40be7260ed3149bfd2eb1baa", - "refinement_interpretation_Tm_refine_df9e62376ee872de39f003742008e93c", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_typing" + "refinement_interpretation_Tm_refine_6ab1d78747b7c827c75424d5564e61d4", + "refinement_interpretation_Tm_refine_8903c989416c59a828a78ed246329abf", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", + "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "67d04cc51973e1bc9a931e1d2d159c94" + "1a53cae1ec2ec2cf93048ce417c0936c" ], [ "SL.ExamplesLocks2.test23", @@ -674,7 +656,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "5b02ed7e6c305ed5024167de8910c09e" + "fc09a6a2f4ae574f4b425768a943731d" ], [ "SL.ExamplesLocks2.test23", @@ -703,7 +685,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "b76dde8b4f0857e89c2bed0a4cac1c0d" + "04f55421914f22b3081a953aac6b7678" ], [ "SL.ExamplesLocks2.test23", @@ -712,7 +694,7 @@ 1, [ "@query" ], 0, - "1db3f8c601999f6f74088ce78b90d0bb" + "c4eba00a78a76316fe737aff79430b4f" ], [ "SL.ExamplesLocks2.test23", @@ -721,7 +703,7 @@ 1, [ "@query" ], 0, - "77d70f2d6cc4758c36e483b516c5bf6c" + "ec016474ac173ed00f5ecaf81f93bc76" ], [ "SL.ExamplesLocks2.test23", @@ -741,7 +723,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "b17c630a9e9edbeff75a05bca1ba91c3" + "e801b776262a29844ba0e7b5cec2d51c" ], [ "SL.ExamplesLocks2.test23", @@ -762,7 +744,7 @@ "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "bd4ab2c9fd56d0172281466c963bd99b" + "67603f24b9ca17b92d340c10f2b32858" ], [ "SL.ExamplesLocks2.test23", @@ -774,7 +756,7 @@ "lemma_SL.Heap.lemma_sep_unit_" ], 0, - "71991fa39511f0a5da642c1e90a11d9d" + "d9a29d53681b3eb6e46f74b62f6a4386" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.ExamplesPar.fst.hints b/examples/csl/SL.ExamplesPar.fst.hints index af6cf048d44..2a8d46c178d 100644 --- a/examples/csl/SL.ExamplesPar.fst.hints +++ b/examples/csl/SL.ExamplesPar.fst.hints @@ -8,12 +8,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7c462a6229692620a5ce6f846067a80e", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99", - "refinement_interpretation_Tm_refine_a7ed30f75f7986ddb8ec09f2485210f5" + "refinement_interpretation_Tm_refine_493726b0caab6179254e314147227b49", + "refinement_interpretation_Tm_refine_5c0fe569b01419491462dc16c187bc46", + "refinement_interpretation_Tm_refine_d511b331b2e9a0f37f337d8f61522420" ], 0, - "0874547f444693d12fc9c0a6fb348e4d" + "6d34546d31152f867bdbe3fc2d755c0a" ], [ "SL.ExamplesPar.right", @@ -22,12 +22,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7a7e1f6677f181b9d5c9c50c1fe1c394", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99", - "refinement_interpretation_Tm_refine_d498339ca04b7f24aa6c67ad75cf6c85" + "refinement_interpretation_Tm_refine_36563ceb778613c30928e1cb26da6e1a", + "refinement_interpretation_Tm_refine_b28ce7d6a5ce97805df40ce4b50b55a0", + "refinement_interpretation_Tm_refine_d511b331b2e9a0f37f337d8f61522420" ], 0, - "ba4052272751cd49dfb996c227c92a38" + "feae666a8eca0c114212eeda822cb8f6" ], [ "SL.ExamplesPar.par1", @@ -36,20 +36,19 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "lemma_SL.Heap.lemma_sep_assoc", + "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_0a832ae41a986fe11132f152252c94ac", - "refinement_interpretation_Tm_refine_0ea995f113f34e4426d2eaa1e681fb2f", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_78c95df678e3e283ac216346014b958d", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", - "typing_SL.Heap.op_Bar_Greater", + "refinement_interpretation_Tm_refine_5151c05a21034391d98c4a63f791aea3", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", + "refinement_interpretation_Tm_refine_6ee0ae10b0b0ba444e6ab3cda1bb5118", + "refinement_interpretation_Tm_refine_b1636b96456726a1be8fc2761ad41e34", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "baa45bd0c4796aebcc8e9e7fd53b5dfe" + "c982f563958dbd6960e2460c466520bb" ], [ "SL.ExamplesPar.par1", @@ -65,7 +64,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "58d35c411a2a2e9b7fd396b3fe2fa01b" + "1a5561b9ddc516a8f921b49f8fc5aea0" ], [ "SL.ExamplesPar.par1", @@ -75,13 +74,11 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Set.disjoint", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.set", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_SL.Heap.set", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "lemma_FStar.Set.disjoint_not_in_both", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", @@ -91,16 +88,16 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Set.empty", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.Tactics.CanonCommMonoid.var", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", + "typing_FStar.Set.union", "typing_SL.Heap.addr_of", + "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "df52138d39b63967d0e33ed8950de77a" + "a33492943b742fe81b3f3674be09db86" ], [ "SL.ExamplesPar.par2", @@ -109,20 +106,19 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "lemma_SL.Heap.lemma_sep_assoc", + "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_0a832ae41a986fe11132f152252c94ac", - "refinement_interpretation_Tm_refine_0ea995f113f34e4426d2eaa1e681fb2f", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_78c95df678e3e283ac216346014b958d", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", - "typing_SL.Heap.op_Bar_Greater", + "refinement_interpretation_Tm_refine_5151c05a21034391d98c4a63f791aea3", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", + "refinement_interpretation_Tm_refine_6ee0ae10b0b0ba444e6ab3cda1bb5118", + "refinement_interpretation_Tm_refine_b1636b96456726a1be8fc2761ad41e34", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "6cd1d8a3dc222d6f3366f5381e303f97" + "9068bf9a3e2a0b507c6e927a00d8ba62" ], [ "SL.ExamplesPar.par2", @@ -138,7 +134,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "c42f59533acbdb97ca4072bbb62c0ba8" + "2c1a5a454ef09ff430b79af2d099de71" ], [ "SL.ExamplesPar.par2", @@ -146,16 +142,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Prims.eqtype", + "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cd225dd77bc8476b2ce0cc839b0de7bb", + "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "646be60020c163b71c3872a7da8b32aa" + "47917dce8599ff19f01c4c4b15cac62f" ], [ "SL.ExamplesPar.par3", @@ -164,20 +163,19 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "lemma_SL.Heap.lemma_sep_assoc", + "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_0ea995f113f34e4426d2eaa1e681fb2f", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_65e45a2890915eacaad5ce9413efe12c", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8fecaa33f6055e5f320a01061426cd3e", - "refinement_interpretation_Tm_refine_fcf4b71e84174b0a19a519f26c5c798c", - "typing_SL.Heap.op_Bar_Greater", + "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", + "refinement_interpretation_Tm_refine_6ee0ae10b0b0ba444e6ab3cda1bb5118", + "refinement_interpretation_Tm_refine_737f637a65fc9497b346a9ff05a1199a", + "refinement_interpretation_Tm_refine_ace8dbeb5937add02742f5b81ddb9bed", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "f8299768af44fb4105b3e27e9146df9d" + "e766fec0f43a5bbca0fee24c32ee4eb7" ], [ "SL.ExamplesPar.par3", @@ -193,7 +191,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "3617defa51bcf5597b0d1c3bb60aa9da" + "bea3b7ef81d0415045706e70a09502dc" ], [ "SL.ExamplesPar.par3", @@ -203,13 +201,11 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Set.disjoint", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.set", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_SL.Heap.set", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "lemma_FStar.Set.disjoint_not_in_both", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", @@ -219,16 +215,16 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_65e45a2890915eacaad5ce9413efe12c", + "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Set.empty", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.Tactics.CanonCommMonoid.var", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", + "typing_FStar.Set.union", "typing_SL.Heap.addr_of", + "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "daeb73887944e86209796e674e606678" + "eafb6ac08cc4382976e90a9863457e38" ], [ "SL.ExamplesPar.par3'", @@ -237,20 +233,19 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "lemma_SL.Heap.lemma_sep_assoc", + "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_0ea995f113f34e4426d2eaa1e681fb2f", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_65e45a2890915eacaad5ce9413efe12c", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8fecaa33f6055e5f320a01061426cd3e", - "refinement_interpretation_Tm_refine_fcf4b71e84174b0a19a519f26c5c798c", - "typing_SL.Heap.op_Bar_Greater", + "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", + "refinement_interpretation_Tm_refine_6ee0ae10b0b0ba444e6ab3cda1bb5118", + "refinement_interpretation_Tm_refine_737f637a65fc9497b346a9ff05a1199a", + "refinement_interpretation_Tm_refine_ace8dbeb5937add02742f5b81ddb9bed", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "ade148e786b687ca2d73a0c29e7906fd" + "558899fe6cdd1be9cb45374a892572c8" ], [ "SL.ExamplesPar.par3'", @@ -266,7 +261,7 @@ "typing_SL.Heap.op_Bar_Greater" ], 0, - "ca46adc78a4cd0691fdaee84340ad94a" + "e08d3ed46fe444a97b664c36cbb2ac54" ], [ "SL.ExamplesPar.par3'", @@ -276,13 +271,11 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Set.disjoint", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.set", + "equation_FStar.Set.disjoint", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_SL.Heap.set", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "lemma_FStar.Set.disjoint_not_in_both", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", @@ -292,16 +285,16 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_65e45a2890915eacaad5ce9413efe12c", + "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Set.empty", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.Tactics.CanonCommMonoid.var", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", + "typing_FStar.Set.union", "typing_SL.Heap.addr_of", + "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "edc7ace63d1fce98d39dfdf11da41390" + "be0fc3fb7e414629e82da05a52dabc63" ], [ "SL.ExamplesPar.ret", @@ -309,21 +302,20 @@ 2, 1, [ - "@query", "equation_Prims.logical", - "equation_SL.Actions.lift_div_st", "equation_SL.Effect.frame_post", - "equation_SL.Effect.frame_wp", "equation_SL.Effect.st_stronger", - "equation_SL.Effect.with_fp", - "interpretation_Tm_abs_04bc01602231ad5c91f899857a30d2fc", - "interpretation_Tm_abs_50fc7001cb3bb2a75cb4044f029a6fb0", - "interpretation_Tm_abs_81ab8021eca78b0ec7b2054dd4ea6da1", - "interpretation_Tm_abs_c418e796fb94d4ec62df74967a37a06f", + "@query", "equation_SL.Actions.lift_div_st", + "equation_SL.Effect.frame_post", "equation_SL.Effect.frame_wp", + "equation_SL.Effect.st_stronger", "equation_SL.Effect.with_fp", + "interpretation_Tm_abs_4829e0ea3ebddaf1cdd649439d6284e8", + "interpretation_Tm_abs_4df320530cf0a60abb938a56b3e5dd67", + "interpretation_Tm_abs_bdac9a3f32789788b83138a3a4262d0d", + "interpretation_Tm_abs_d0f415a5361a9d7988d8e425dc193472", "l_and-interp", "l_imp-interp", - "l_quant_interp_df7b25a73da5cd687b13a99c7479bed6", + "l_quant_interp_904a74cfe3507104488fdcb4d014247a", "token_correspondence_SL.Actions.lift_div_st", "token_correspondence_SL.Effect.frame_wp" ], 0, - "d4c4cf1b318b75baa7e02094e9213a4a" + "b096259d35bf9c60904e34a0312b7205" ], [ "SL.ExamplesPar.set_to_2", @@ -333,27 +325,26 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.logical", "equation_SL.Actions.lift_div_st", - "equation_SL.Actions.write_wp", "equation_SL.Effect.bind_wp", - "equation_SL.Effect.frame_post", "equation_SL.Effect.frame_wp", - "equation_SL.Effect.st_stronger", "equation_SL.Effect.with_fp", - "int_inversion", - "interpretation_Tm_abs_134be360e449b7b5265f0cf10a3f163e", - "interpretation_Tm_abs_2027ecf18d15a6152f21a40ddff6320a", - "interpretation_Tm_abs_2df6b59dd1ed40214a6f9e379d737c36", - "interpretation_Tm_abs_50fc7001cb3bb2a75cb4044f029a6fb0", - "interpretation_Tm_abs_81ab8021eca78b0ec7b2054dd4ea6da1", - "interpretation_Tm_abs_914d993c52e1d530dd9019414965bb1d", - "interpretation_Tm_abs_91e5415462f8112c2ef9fc8c0060ef65", - "interpretation_Tm_abs_ed8849f28e3761e19d9b50f8480b580e", - "l_imp-interp", "l_quant_interp_55eadd4f0c38e5a28f76373a766f2da1", - "l_quant_interp_96e91eef331ce0008c202956af2eab54", - "l_quant_interp_e203b600f0630f5716c47d61a019008e", + "equation_SL.Actions.lift_div_st", "equation_SL.Actions.write_wp", + "equation_SL.Effect.bind_wp", "equation_SL.Effect.frame_post", + "equation_SL.Effect.frame_wp", "equation_SL.Effect.st_stronger", + "equation_SL.Effect.with_fp", "int_inversion", + "interpretation_Tm_abs_282cf508541f386959a08b9134a1d1f7", + "interpretation_Tm_abs_4829e0ea3ebddaf1cdd649439d6284e8", + "interpretation_Tm_abs_5f9c1569050dfe223cc4bd40a8cc0539", + "interpretation_Tm_abs_853afd6ca7e4d2bc3d47eb976740e100", + "interpretation_Tm_abs_953ba1d271ea43847e0e474b969bfe81", + "interpretation_Tm_abs_bdfcd1806e005338cbaf12f8b2cbed31", + "interpretation_Tm_abs_d0f415a5361a9d7988d8e425dc193472", + "interpretation_Tm_abs_eda02dfd2eaf25ff4fb1f86901709d96", + "l_imp-interp", "l_quant_interp_34ab2f03ca5ee1012289266f1b241201", + "l_quant_interp_baa2915c35232d5062f2e0f65bf369fd", + "l_quant_interp_becf6f4b854d375ad3f72683c0ab2be0", "token_correspondence_SL.Actions.lift_div_st", "token_correspondence_SL.Effect.frame_wp", "unit_typing" ], 0, - "ff51e7dd377a38d7f2c0f7fe0d7485ad" + "aa7b38a5cfeebe268edb9056b5c17e90" ], [ "SL.ExamplesPar.par_set", @@ -364,16 +355,16 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "function_token_typing_Prims.int", "int_typing", "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_Tm_refine_0a832ae41a986fe11132f152252c94ac", - "refinement_interpretation_Tm_refine_3cd4b5092f48bd1f73258736d97dac97", + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_52298cbc453d32229573d91ac68a7b76", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", + "refinement_interpretation_Tm_refine_5151c05a21034391d98c4a63f791aea3", + "refinement_interpretation_Tm_refine_60f3cdcbf7765561d7514dc5e9f18880", + "refinement_interpretation_Tm_refine_b6a81f5cde02caac440f4a44f3180dae", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "3ef81b14e0380303ddcbc2ca7565c0d1" + "3e208da0c783c9f10dce90c841175321" ], [ "SL.ExamplesPar.par_set", @@ -391,7 +382,7 @@ "typing_SL.AutoTactic.memory_cm" ], 0, - "b8f6bface588bcfc36aae48b574bb286" + "4c84b05b8f3b4224abab0dfde2de13a1" ], [ "SL.ExamplesPar.par_set", @@ -400,10 +391,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8359878918c830803afb203cd8a44f99" + "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" ], 0, - "46376f4db3879ddf9df13a077a18928e" + "2008a055dc35ce7f85a8ad8d32d5ad49" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.Heap.fst.hints b/examples/csl/SL.Heap.fst.hints index 0b592931d91..8137952824f 100644 --- a/examples/csl/SL.Heap.fst.hints +++ b/examples/csl/SL.Heap.fst.hints @@ -8,20 +8,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "7d0757bc9f304257ecd802e86690a799" + "69441f5ca8889350ba22001e705e5f49" ], [ "SL.Heap.disjoint_addrs", @@ -30,21 +27,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "4f6d8498343a7661c13bc31d45f24f85" + "31edc76114706ab657dd73973f7c342e" ], [ "SL.Heap.heap", @@ -53,20 +53,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "beb6d7b3ca83f94dadc8cf8edebaf0df" + "e3998653f20448f1b967b5545cbe7003" ], [ "SL.Heap.equal_heaps", @@ -75,26 +72,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_typing", "equation_FStar.OrdSet.cmp", + "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_SL.Heap.addrs", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "3817053174cc3ea6829afa625de0e3d7" + "20b479d5caeba81b59c3ee26c12e1e53" ], [ "SL.Heap.memory", @@ -103,20 +99,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "2266cc540a541372c5e2dda0fb3bb171" + "05278af90b5bdb3c44181998a3e31e73" ], [ "SL.Heap.equal_memories", @@ -125,35 +118,36 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_inversion", "bool_typing", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SL.Heap.addrs", "equation_SL.Heap.memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_SL.Heap.memory_rec@tok", "lemma_FStar.OrdSet.hasEq_ordset", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "183eb72eb8bdae9495f7aa665df9ede2" + "1d2797ea6834e179a4fac7f92654fb93" ], [ "SL.Heap.emp", @@ -162,20 +156,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.mem_empty", "primitive_Prims.op_LessThanOrEqual", "proj_equation_SL.Heap.Mkmemory_rec_contents", @@ -186,14 +181,17 @@ "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "1f862adf1b766f6b41c495112389804f" + "907eb39b920aec7b4979f4e2b2a5283a" ], [ "SL.Heap.heap_memory", @@ -201,19 +199,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_SL.Heap.heap", + "@MaxIFuel_assumption", "@query", "equation_SL.Heap.heap", "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", "proj_equation_SL.Heap.Mkmemory_rec_contents", "proj_equation_SL.Heap.Mkmemory_rec_domain", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7", + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents" ], 0, - "690bc2850ecadd95cf8b980822b726a2" + "1bc5e463b661a97016adff9f8e3eb65b" ], [ "SL.Heap.join", @@ -222,11 +219,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_SL.Heap.Mkheap_rec", @@ -234,19 +231,17 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_Prims.nat", "equation_SL.Heap.addrs", - "equation_SL.Heap.disjoint_heaps", "equation_SL.Heap.heap", + "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", + "equation_Prims.logical", "equation_Prims.nat", + "equation_SL.Heap.addrs", "equation_SL.Heap.disjoint_heaps", + "equation_SL.Heap.heap", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_524ae1ad76c963d8a900b9e5467a998d", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.lemma_intersect_symmetric", @@ -268,21 +263,22 @@ "projection_inverse_SL.Heap.Mkheap_rec_memory", "projection_inverse_SL.Heap.Mkheap_rec_next_addr", "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_36411cfc4e4ab31fbfb2d97aec4f5fdb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_70fefc7872d5231a9fd0082008b159da", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.OrdSet.mem", "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain", "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" ], 0, - "199c83c7e7fab280e5cda54d4aae21d7" + "6db1d4f628769021d2353f632768c48f" ], [ "SL.Heap.op_Bar_Greater", @@ -291,9 +287,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -302,16 +299,14 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.emp", "equation_SL.Heap.memory", - "equation_SL.Heap.ref", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", + "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_SL.Heap.emp", + "equation_SL.Heap.memory", "equation_SL.Heap.ref", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.mem_singleton", "primitive_Prims.op_LessThanOrEqual", @@ -323,17 +318,18 @@ "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.OrdSet.mem", "typing_SL.Heap.emp", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "7760f1cb1b84eea461a332168ceaf088" + "46914be26cb3f3fcdcfbe294310a20a5" ], [ "SL.Heap.op_Less_Star_Greater", @@ -342,9 +338,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_SL.Heap.Mkmemory_rec", @@ -352,16 +349,15 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.memory", + "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_SL.Heap.addrs", + "equation_SL.Heap.memory", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_fe7d8514032082e9b2bc054660d0f68c", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6b418125b72aefd36aaef1ce74ab78bc", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.lemma_intersect_symmetric", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", @@ -379,17 +375,18 @@ "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.OrdSet.mem", "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "7b33a66bbfe562b94f8ca3716a965d53" + "87ffdc7bf44b064cf8514c1c8bacd4e9" ], [ "SL.Heap.split_heap", @@ -398,31 +395,37 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.emp", - "equation_SL.Heap.heap", "equation_SL.Heap.heap_memory", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", + "equation_FStar.FunctionalExtensionality.feq", + "equation_FStar.FunctionalExtensionality.restricted_t", + "equation_Prims.nat", "equation_SL.Heap.heap", + "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", + "equation_SL.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "fuel_guarded_inversion_SL.Heap.heap_rec", + "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", + "int_inversion", + "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "kinding_SL.Heap.memory_rec@tok", + "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_SL.Heap.Mkheap_rec_hdomain", "proj_equation_SL.Heap.Mkheap_rec_memory", "proj_equation_SL.Heap.Mkheap_rec_next_addr", + "proj_equation_SL.Heap.Mkmemory_rec_contents", "proj_equation_SL.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -432,21 +435,23 @@ "projection_inverse_SL.Heap.Mkheap_rec_hdomain", "projection_inverse_SL.Heap.Mkheap_rec_memory", "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_b52421851068ccbe09def0348e4f8456", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7", - "token_correspondence_Prims.op_LessThanOrEqual", + "projection_inverse_SL.Heap.Mkmemory_rec_contents", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", + "refinement_interpretation_Tm_refine_c08044871637bcfcc866937e97980f0c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain" + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_SL.Heap.__proj__Mkheap_rec__item__memory", + "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", + "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "c3388bf7a5a670164cc63e2267da92fc" + "e9183263b072d2d1f40c5b4779ab2fa7" ], [ "SL.Heap.mcontains", @@ -456,13 +461,13 @@ [ "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", + "disc_equation_FStar.Pervasives.Native.Some", "equation_SL.Heap.memory", "kinding_SL.Heap.memory_rec@tok", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad" + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b" ], 0, - "8ddb1109c0f13353f6e33db2cba7ad77" + "26688a86c7f73d92ea9eec79f7569fef" ], [ "SL.Heap.sel", @@ -472,18 +477,18 @@ [ "@MaxIFuel_assumption", "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", + "disc_equation_FStar.Pervasives.Native.Some", "equation_SL.Heap.hcontains", "equation_SL.Heap.heap", "fuel_guarded_inversion_SL.Heap.heap_rec", - "l_quant_interp_b96c81744d26d640109e76082d2d9146", + "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__2", "refinement_interpretation_Tm_refine_a00f056867a6c53206dd3d0b78768939", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7" + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e" ], 0, - "b056dcf19a72e32ce974d7d04f402a49" + "7eaceddbaf7e97974bea8b1c865ab5bf" ], [ "SL.Heap.upd'", @@ -493,11 +498,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7a7405cfb6c9a7b5982d8a1297f0d722" + "6c9e91360d0f018a3505f11c281ddc69" ], [ "SL.Heap.upd", @@ -506,66 +511,51 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "SL.Heap_interpretation_Tm_arrow_8b129cb8ff02afcc6c7af5c6fb729d12", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_SL.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.emp", "equation_SL.Heap.hcontains", - "equation_SL.Heap.heap", "equation_SL.Heap.memory", + "equation_SL.Heap.hcontains", "equation_SL.Heap.heap", "equation_SL.Heap.ref", "equation_SL.Heap.upd_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SL.Heap.emp", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_93ca08d340937c3d6f63b06f835daad0", + "function_token_typing_Prims.logical", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a", "kinding_Prims.dtuple2@tok", - "l_quant_interp_b96c81744d26d640109e76082d2d9146", + "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_SL.Heap.Mkheap_rec_hdomain", "proj_equation_SL.Heap.Mkheap_rec_memory", "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "proj_equation_SL.Heap.Mkmemory_rec_contents", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SL.Heap.Mkheap_rec_hdomain", "projection_inverse_SL.Heap.Mkheap_rec_memory", "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "refinement_interpretation_Tm_refine_a00f056867a6c53206dd3d0b78768939", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7", + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", - "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", "typing_SL.Heap.upd_", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_93ca08d340937c3d6f63b06f835daad0", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "typing_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a" ], 0, - "1bb743ff776d12e5cf414fc909914506" + "182ebfc741639e484e35e107caafbe28" ], [ "SL.Heap.addrs_in", @@ -575,11 +565,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3112fd5832907662f98bf35e307a88c1" + "18f92f70edea28fae1493059f7dc683d" ], [ "SL.Heap.addrs_in", @@ -587,27 +577,26 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SL.Heap.memory", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_SL.Heap.memory_rec@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", "token_correspondence_Prims.op_LessThanOrEqual", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "20851a238ff4f35d576b524f7bef8cba" + "8841eaac7d4c7b8c1122494bbb2543bf" ], [ "SL.Heap.lemma_disjoint_heaps_comm", @@ -616,28 +605,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_typing", "equation_FStar.OrdSet.cmp", + "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_SL.Heap.addrs", + "equation_SL.Heap.disjoint_heaps", "equation_SL.Heap.heap", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.lemma_intersect_symmetric", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain" ], 0, - "0da45c436833cbd052dd338c16aca8a0" + "3f1a9bb15aec6deddeef7b4667986c73" ], [ "SL.Heap.lemma_sep_defined_disjoint_heaps", @@ -669,7 +658,7 @@ "typing_SL.Heap.heap_memory", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "e4e7423f00b55caffb1e20023fcf2ac5" + "835242a6c926d730107dfcb0789027a0" ], [ "SL.Heap.lemma_join_comm", @@ -679,10 +668,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ac87af0c05b24405bb9c35778d6f18cd" + "364015deb8391b6c7124c56a94a0c385" ], [ "SL.Heap.lemma_join_comm", @@ -691,9 +680,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_SL.Heap.Mkheap_rec", @@ -701,7 +693,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", @@ -710,12 +701,11 @@ "equation_SL.Heap.heap", "equation_SL.Heap.join", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_524ae1ad76c963d8a900b9e5467a998d", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", @@ -736,19 +726,22 @@ "projection_inverse_SL.Heap.Mkheap_rec_next_addr", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.OrdSet.mem", "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain", "typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_524ae1ad76c963d8a900b9e5467a998d", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_af4a31bcdaf6a34225702751af7315e3" ], 0, - "2772e771d97697f8e221fab0ef708bba" + "138fdaae63d1c6532d402566bc1395d3" ], [ "SL.Heap.lemma_sep_unit", @@ -757,10 +750,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -769,7 +764,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", @@ -778,14 +772,12 @@ "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_8e4552b355e735d465c358e4caa505ac", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "kinding_SL.Heap.memory_rec@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", @@ -796,6 +788,7 @@ "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", "proj_equation_SL.Heap.Mkmemory_rec_contents", "proj_equation_SL.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", @@ -807,21 +800,25 @@ "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.mem", + "typing_FStar.OrdSet.mem", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_8e4552b355e735d465c358e4caa505ac" + "typing_SL.Heap.emp", "typing_SL.Heap.op_Less_Star_Greater", + "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "05ae34c1846f242b6b8e372db041b0f2" + "77d48e3bc556c806686bc07257a536df" ], [ "SL.Heap.lemma_sep_unit'", @@ -830,10 +827,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -842,7 +841,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", @@ -851,14 +849,12 @@ "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_8e4552b355e735d465c358e4caa505ac", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "kinding_SL.Heap.memory_rec@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", @@ -869,6 +865,7 @@ "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", "proj_equation_SL.Heap.Mkmemory_rec_contents", "proj_equation_SL.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", @@ -879,22 +876,26 @@ "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.mem", + "typing_FStar.OrdSet.mem", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_8e4552b355e735d465c358e4caa505ac" + "typing_SL.Heap.emp", "typing_SL.Heap.op_Less_Star_Greater", + "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "b54f953398d3d1b90541ffeea5986979" + "b16ea8d56544a21d304b80a5fa626d86" ], [ "SL.Heap.lemma_sep_comm", @@ -903,12 +904,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -919,7 +920,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", @@ -928,15 +928,12 @@ "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_8e4552b355e735d465c358e4caa505ac", - "kinding_SL.Heap.memory_rec@tok", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.lemma_intersect_symmetric", @@ -944,6 +941,8 @@ "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_SL.Heap.Mkmemory_rec_contents", @@ -957,24 +956,25 @@ "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.OrdSet.mem", - "typing_FStar.Pervasives.Native.uu___is_None", "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_8e4552b355e735d465c358e4caa505ac", "unit_inversion", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Less_Star_Greater", + "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "unit_inversion", "unit_typing" ], 0, - "0895a1bb6da1bf476957c66225af690c" + "4f6653da04e1394b502d204c216649ff" ], [ "SL.Heap.lemma_sep_assoc", @@ -983,38 +983,35 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", + "data_elim_SL.Heap.Mkmemory_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SL.Heap.addrs", - "equation_SL.Heap.emp", "equation_SL.Heap.equal_memories", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", + "equation_SL.Heap.equal_memories", "equation_SL.Heap.memory", + "equation_SL.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_8e4552b355e735d465c358e4caa505ac", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "kinding_SL.Heap.memory_rec@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", @@ -1027,6 +1024,8 @@ "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__2", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", @@ -1044,25 +1043,25 @@ "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union", - "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_8e4552b355e735d465c358e4caa505ac", "unit_inversion", + "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", "unit_inversion", "unit_typing" ], 0, - "a2a04c4f98833f7d5b2417eb12605c44" + "ff34b28192570496b2f4e62abd5ae0d0" ], [ "SL.Heap.lemma_sep_join", @@ -1072,10 +1071,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "equation_SL.Heap.disjoint_heaps", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ec2722743810100ea4c10a372074d259" + "77650cf4f3a92e5c6adfd7aa4a9d9f06" ], [ "SL.Heap.lemma_sep_join", @@ -1084,12 +1083,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -1098,27 +1096,26 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.disjoint_heaps", "equation_SL.Heap.emp", - "equation_SL.Heap.equal_memories", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.join", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", + "equation_SL.Heap.disjoint_heaps", "equation_SL.Heap.equal_memories", + "equation_SL.Heap.heap", "equation_SL.Heap.heap_memory", + "equation_SL.Heap.join", "equation_SL.Heap.memory", + "equation_SL.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SL.Heap.emp", "int_inversion", - "interpretation_Tm_abs_524ae1ad76c963d8a900b9e5467a998d", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_8e4552b355e735d465c358e4caa505ac", + "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", + "int_inversion", + "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThan", "proj_equation_SL.Heap.Mkheap_rec_hdomain", "proj_equation_SL.Heap.Mkheap_rec_memory", "proj_equation_SL.Heap.Mkheap_rec_next_addr", @@ -1133,23 +1130,23 @@ "projection_inverse_SL.Heap.Mkheap_rec_memory", "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", "typing_SL.Heap.__proj__Mkheap_rec__item__memory", "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_SL.Heap.heap_memory", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_524ae1ad76c963d8a900b9e5467a998d", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_8e4552b355e735d465c358e4caa505ac", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65" + "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "typing_Tm_abs_af4a31bcdaf6a34225702751af7315e3" ], 0, - "f7a449b90a34d79c65174ebfd99581dd" + "7876b77df71f00ab1c6e061aead8792a" ], [ "SL.Heap.lemma_emp_defined", @@ -1166,7 +1163,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "745d1f4c8bdf87fb6f88cbde2534d5eb" + "dce06063efb8a7b9dd3cc2c6de461acb" ], [ "SL.Heap.lemma_points_to_defined", @@ -1183,7 +1180,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "03f1b6c0c6580f1ec7d3ba4f5f449380" + "c996135db5b5ace1c2fd2ba5ff2c5536" ], [ "SL.Heap.lemma_sep_defined", @@ -1193,11 +1190,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9741d2d0d03efb27a317aae1d5728583" + "e43a03625a60e264a4aec89ab7078564" ], [ "SL.Heap.lemma_sep_defined", @@ -1206,11 +1203,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "b2t_def", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", @@ -1219,33 +1213,35 @@ "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", - "equation_SL.Heap.defined", "equation_SL.Heap.emp", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", + "equation_SL.Heap.defined", "equation_SL.Heap.memory", + "equation_SL.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_SL.Heap.memory_rec@tok", "lemma_FStar.OrdSet.lemma_as_set_disjoint", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_SL.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", "typing_SL.Heap.op_Less_Star_Greater" ], 0, - "c4033337ba637e4eac467bebf9e7495e" + "d421c00495207bf489f911f6af67f91a" ], [ "SL.Heap.lemma_heap_memory_defined", @@ -1262,7 +1258,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "fe49802b49e6f3ba4f89fe008581d1a0" + "f303f1e1985b7678542095a5a3ad5688" ], [ "SL.Heap.lemma_split_heap_disjoint", @@ -1273,10 +1269,10 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.l_and", "equation_Prims.squash", "equation_SL.Heap.memory", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7338928a916eebb6f3b3d51dd0d4ee1e" + "bae6cfcc80b3b0b651588f29a2125b0d" ], [ "SL.Heap.lemma_split_heap_disjoint", @@ -1285,33 +1281,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", "bool_typing", + "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", "equation_SL.Heap.defined", "equation_SL.Heap.disjoint_heaps", "equation_SL.Heap.emp", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", + "equation_SL.Heap.heap_memory", + "equation_SL.Heap.op_Less_Star_Greater", "equation_SL.Heap.split_heap", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_SL.Heap.heap_rec", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.OrdSet.lemma_as_set_disjoint", "lemma_SL.Heap.lemma_sep_defined", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "proj_equation_SL.Heap.Mkheap_rec_hdomain", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -1319,19 +1301,12 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_b52421851068ccbe09def0348e4f8456", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7", - "token_correspondence_Prims.op_LessThanOrEqual", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", + "refinement_interpretation_Tm_refine_6b3967f3683e531dd905f8f1b3d42e9c", + "refinement_interpretation_Tm_refine_c08044871637bcfcc866937e97980f0c", "typing_SL.Heap.split_heap" ], 0, - "f40e2ed3ba6729946fd976b5d55a64bd" + "8ec6f4eaeb151d19b26778902128a8d9" ], [ "SL.Heap.lemma_split_heap_join", @@ -1340,17 +1315,17 @@ 1, [ "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Heap.heap", - "equation_SL.Heap.memory", "fuel_guarded_inversion_SL.Heap.heap_rec", - "l_and-interp", "lemma_SL.Heap.lemma_split_heap_disjoint", + "equation_Prims.l_and", "equation_Prims.squash", + "equation_SL.Heap.heap", "equation_SL.Heap.memory", + "fuel_guarded_inversion_SL.Heap.heap_rec", "l_and-interp", + "lemma_SL.Heap.lemma_split_heap_disjoint", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_6b3967f3683e531dd905f8f1b3d42e9c" ], 0, - "6aa7865d62394ed6801842d0772008c3" + "78585985830a8dc04c355a46c6253c11" ], [ "SL.Heap.lemma_split_heap_join", @@ -1359,12 +1334,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "SL.Heap_interpretation_Tm_arrow_8b129cb8ff02afcc6c7af5c6fb729d12", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_88b8ba948f33c0d9643bd3c133c4f5b8", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Mktuple2", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1375,7 +1350,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.logical", "equation_Prims.nat", "equation_SL.Heap.defined", "equation_SL.Heap.disjoint_heaps", @@ -1385,16 +1359,14 @@ "equation_SL.Heap.split_heap", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_524ae1ad76c963d8a900b9e5467a998d", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_8e4552b355e735d465c358e4caa505ac", + "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", @@ -1417,24 +1389,25 @@ "projection_inverse_SL.Heap.Mkheap_rec_next_addr", "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.__proj__Mkheap_rec__item__memory", "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_524ae1ad76c963d8a900b9e5467a998d", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_8e4552b355e735d465c358e4caa505ac", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65" + "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "typing_Tm_abs_af4a31bcdaf6a34225702751af7315e3", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "e0b26fd3eba108de0bcd268458f60d97" + "18acaf20a1a25aa7c3e5d0e898164f29" ], [ "SL.Heap.lemma_split_heap_memories", @@ -1445,10 +1418,10 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.l_and", "equation_Prims.squash", "equation_SL.Heap.memory", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "65a3267038a4cec90b6a203607264246" + "b4311c7a9912ccf76aac2a3f99023d70" ], [ "SL.Heap.lemma_split_heap_memories", @@ -1456,20 +1429,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "b2t_def", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_SL.Heap.defined", "equation_SL.Heap.emp", - "equation_SL.Heap.heap", "equation_SL.Heap.heap_memory", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_SL.Heap.defined", "equation_SL.Heap.heap", + "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", + "equation_SL.Heap.op_Less_Star_Greater", "equation_SL.Heap.split_heap", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.heap_rec", "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_SL.Heap.emp", "lemma_SL.Heap.lemma_sep_defined", "proj_equation_SL.Heap.Mkheap_rec_hdomain", "proj_equation_SL.Heap.Mkheap_rec_memory", @@ -1480,11 +1451,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_SL.Heap.Mkheap_rec_hdomain", "projection_inverse_SL.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7" + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e" ], 0, - "53d9bf7642096237d7d9957aeee812fd" + "cdd74499808c4cf77b1404da435e0171" ], [ "SL.Heap.lemma_hcontains_mcontains", @@ -1498,17 +1469,17 @@ "equation_SL.Heap.heap_memory", "equation_SL.Heap.mcontains", "equation_SL.Heap.ref", "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", "l_quant_interp_696085808cff91d65aac04c40282f70c", - "l_quant_interp_b96c81744d26d640109e76082d2d9146", + "int_inversion", "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", + "l_quant_interp_4b180d27889299ba57e51a637611b1df", "proj_equation_SL.Heap.Mkmemory_rec_contents", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents" ], 0, - "730a326f9ee881a6f4874da9629e3e42" + "b393024314affe0a978960f568fd9f87" ], [ "SL.Heap.lemma_points_to_mcontains", @@ -1517,30 +1488,31 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_Prims.nat", "equation_SL.Heap.mcontains", - "equation_SL.Heap.op_Bar_Greater", "equation_SL.Heap.ref", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", - "l_quant_interp_696085808cff91d65aac04c40282f70c", + "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", + "equation_SL.Heap.mcontains", "equation_SL.Heap.op_Bar_Greater", + "equation_SL.Heap.ref", "int_inversion", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "l_quant_interp_4b180d27889299ba57e51a637611b1df", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_SL.Heap.Mkmemory_rec_contents", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_bb35158259adf523c63f9e1eb5201821" + "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "b74c20b3144993ec7bc2498c43da0584" + "23ac4ec12746c33ecc2358cf29b10bce" ], [ "SL.Heap.lemma_points_to_sel", @@ -1550,10 +1522,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e70498ac0e4e52107322f78fb525fe92" + "c87837030eb8a8fabce9d8b6a6f3a8e4" ], [ "SL.Heap.lemma_points_to_sel", @@ -1562,32 +1534,33 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_Prims.nat", "equation_SL.Heap.hcontains", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.op_Bar_Greater", - "equation_SL.Heap.ref", "equation_SL.Heap.sel", - "function_token_typing_Prims.nat", + "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", + "equation_SL.Heap.hcontains", "equation_SL.Heap.heap_memory", + "equation_SL.Heap.op_Bar_Greater", "equation_SL.Heap.ref", + "equation_SL.Heap.sel", "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", - "l_quant_interp_b96c81744d26d640109e76082d2d9146", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_bb35158259adf523c63f9e1eb5201821" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "f9fd23327b75cab7a34bf305d682572c" + "277133841ea8f5a8f60a47a3f61e09b5" ], [ "SL.Heap.lemma_points_to_upd", @@ -1597,10 +1570,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5b86206d42f3ed31dd2a0ef4293f0882" + "93e1cad00cb356753391b4e9f0c2bc09" ], [ "SL.Heap.lemma_points_to_upd", @@ -1609,43 +1582,37 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "bool_inversion", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.Native.Some", "data_elim_SL.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.emp", "equation_SL.Heap.equal_memories", - "equation_SL.Heap.hcontains", "equation_SL.Heap.heap", + "equation_Prims.logical", "equation_Prims.nat", + "equation_SL.Heap.equal_memories", "equation_SL.Heap.heap", "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", "equation_SL.Heap.op_Bar_Greater", "equation_SL.Heap.ref", "equation_SL.Heap.upd", "equation_SL.Heap.upd_", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.logical", "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_93ca08d340937c3d6f63b06f835daad0", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", - "kinding_SL.Heap.memory_rec@tok", - "l_quant_interp_b96c81744d26d640109e76082d2d9146", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", + "interpretation_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a", + "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_singleton", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Equality", "proj_equation_SL.Heap.Mkheap_rec_hdomain", "proj_equation_SL.Heap.Mkheap_rec_memory", "proj_equation_SL.Heap.Mkmemory_rec_contents", @@ -1655,29 +1622,28 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_SL.Heap.Mkheap_rec_hdomain", "projection_inverse_SL.Heap.Mkheap_rec_memory", "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7", - "token_correspondence_Prims.op_LessThanOrEqual", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.__proj__Mkheap_rec__item__memory", "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_93ca08d340937c3d6f63b06f835daad0", - "typing_Tm_abs_bb35158259adf523c63f9e1eb5201821" + "typing_SL.Heap.op_Bar_Greater", + "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", + "typing_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a" ], 0, - "9a71cd703413f199dba38720324addab" + "a8df96ba6c09aea0313830892cf12f9f" ], [ "SL.Heap.lemma_addrs_in_emp", @@ -1685,16 +1651,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6dda21ecad17f02da044af6a9e0e54d1" + "f41eac1de1158d0df04dda08885ae8f4" ], [ "SL.Heap.lemma_addrs_in_emp", @@ -1703,32 +1666,31 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", "equation_SL.Heap.emp", "equation_SL.Heap.memory", - "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "equation_SL.Heap.set", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.lemma_as_set_mem", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_SL.Heap.Mkmemory_rec_contents", "proj_equation_SL.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", @@ -1737,19 +1699,20 @@ "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", "typing_SL.Heap.addrs_in", "typing_SL.Heap.emp", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "cdbf881753087926b969b353c0b8a386" + "37b70483e2865ee18a78d8c8dbcba74e" ], [ "SL.Heap.Addrs_in_emp_axiom", @@ -1757,16 +1720,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cca22239a5d3cde4234de48ffb8f72d6" + "551336124d23968ebbc726cb3c840e26" ], [ "SL.Heap.lemma_addrs_in_disjoint_heaps", @@ -1776,11 +1736,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "223f21e6fce06701c964ce8b65a569bb" + "04ade96ea3250ceacf3eb96cc029c46e" ], [ "SL.Heap.lemma_addrs_in_disjoint_heaps", @@ -1789,26 +1749,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", - "equation_SL.Heap.defined", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.emp", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "kinding_SL.Heap.memory_rec@tok", + "equation_SL.Heap.disjoint_heaps", "equation_SL.Heap.emp", + "equation_SL.Heap.heap", "equation_SL.Heap.heap_memory", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.lemma_as_set_disjoint", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_SL.Heap.Mkheap_rec_hdomain", "proj_equation_SL.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", @@ -1816,16 +1772,15 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", - "refinement_interpretation_Tm_refine_fdb9cab678c13d560a124515278c49b7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain" ], 0, - "0645cbba800825bbc9a4b73f2a9c543f" + "cfe7f5901ca8f9a87536b0075406f540" ], [ "SL.Heap.lemma_addrs_in_points_to", @@ -1833,16 +1788,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fcd50bc9966a9e5e5f2a5a78bf2f7ef8" + "15cf688191086a72ae198c918a55c517" ], [ "SL.Heap.lemma_addrs_in_points_to", @@ -1851,39 +1803,36 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SL.Heap.addr_of", "equation_SL.Heap.addrs", - "equation_SL.Heap.addrs_in", "equation_SL.Heap.defined", - "equation_SL.Heap.emp", "equation_SL.Heap.memory", + "equation_SL.Heap.addrs_in", "equation_SL.Heap.memory", "equation_SL.Heap.op_Bar_Greater", "equation_SL.Heap.ref", - "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "equation_SL.Heap.set", "function_token_typing_Prims.int", "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", - "kinding_SL.Heap.memory_rec@tok", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.lemma_as_set_mem", "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_SL.Heap.Mkmemory_rec_contents", "proj_equation_SL.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", @@ -1892,20 +1841,22 @@ "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", - "typing_FStar.Pervasives.Native.uu___is_Some", + "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_bb35158259adf523c63f9e1eb5201821" + "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "6662db169066addb074ae1615af72dc7" + "5b168348e752af7d74b53c6767c1e392" ], [ "SL.Heap.lemma_addrs_in_join", @@ -1913,16 +1864,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "60e813fcd519bc85ea54fb2a93c44a3d" + "3752cab3bce06ab68157772c7e92f4d0" ], [ "SL.Heap.lemma_addrs_in_join", @@ -1931,37 +1879,34 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", - "equation_SL.Heap.defined", "equation_SL.Heap.emp", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", - "equation_SL.Heap.set", "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "kinding_SL.Heap.memory_rec@tok", + "equation_SL.Heap.defined", "equation_SL.Heap.memory", + "equation_SL.Heap.op_Less_Star_Greater", "equation_SL.Heap.set", + "fuel_guarded_inversion_SL.Heap.memory_rec", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.lemma_as_set_mem", "lemma_FStar.OrdSet.mem_union", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_union", "lemma_SL.Heap.lemma_sep_defined", "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_SL.Heap.Mkmemory_rec_contents", "proj_equation_SL.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", @@ -1972,21 +1917,21 @@ "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Set.mem", "typing_FStar.Set.union", + "typing_FStar.OrdSet.mem", "typing_FStar.Set.mem", + "typing_FStar.Set.union", "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "a13394b34b4cb6bc1a0073a27ac73088" + "1c56d3f045932d9d2960b41a70f70bea" ], [ "SL.Heap.em_singl", @@ -1995,27 +1940,38 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SL.Heap.op_Bar_Greater", "equation_SL.Heap.ref", - "function_token_typing_Prims.nat", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", + "equation_SL.Heap.memory", "equation_SL.Heap.op_Bar_Greater", + "equation_SL.Heap.ref", "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_SL.Heap.Mkmemory_rec_contents", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_bb35158259adf523c63f9e1eb5201821" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", + "typing_FStar.FunctionalExtensionality.on_domain", + "typing_SL.Heap.op_Bar_Greater", + "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "31fea93fc8b79e9d5ad0f1516e8f62a2" + "b9fff48f5520fdb05a9a9a0567797308" ], [ "SL.Heap.em_invert", @@ -2024,12 +1980,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SL.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "SL.Heap_interpretation_Tm_arrow_5385f420c037f752f3961840721809fb", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", + "SL.Heap_interpretation_Tm_arrow_e5270804045edb1186267e8a11e173a8", + "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", "data_elim_SL.Heap.Mkmemory_rec", @@ -2037,7 +1996,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.disjoint", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", @@ -2047,15 +2005,14 @@ "equation_SL.Heap.op_Less_Star_Greater", "equation_SL.Heap.ref", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SL.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_8e4552b355e735d465c358e4caa505ac", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", + "kinding_SL.Heap.memory_rec@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.lemma_minus_mem", @@ -2065,6 +2022,7 @@ "lemma_SL.Heap.lemma_sep_defined", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_tot_fun_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_SL.Heap.Mkmemory_rec_contents", @@ -2079,23 +2037,27 @@ "projection_inverse_SL.Heap.Mkmemory_rec_contents", "projection_inverse_SL.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e137cb77e33f8394a6b33e2877b309ad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.OrdSet.union", + "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.op_Bar_Greater", + "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_8e4552b355e735d465c358e4caa505ac", - "typing_Tm_abs_bb35158259adf523c63f9e1eb5201821" + "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "1b9990a5490b8c3267e04d70bb3b91f6" + "b63aa1d7564ccd1d01dd0bdd1853f75d" ], [ "SL.Heap.dom_exists", @@ -2109,7 +2071,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "438a34eb3a32ee56745985049cdec618" + "4de0d4193e764a424f86e771afcadc82" ], [ "SL.Heap.dom_forall", @@ -2123,7 +2085,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "3fe09f53bf1ec332571dfc3efec8e9e5" + "f127e7747c43318b4c58492542dde97e" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.Heap.fsti.hints b/examples/csl/SL.Heap.fsti.hints index 1c3a6a3ebd7..30b37101ba6 100644 --- a/examples/csl/SL.Heap.fsti.hints +++ b/examples/csl/SL.Heap.fsti.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9c9aa6821c145051995d7993b29c5540" + "013a3bc770eb696de865d9aa4464e285" ], [ "SL.Heap.lemma_join_comm", @@ -23,10 +23,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b95a6c57264b3662edfd9ab3c91891a5" + "2ee82e41ab09ba1ca30fabd0107bbdde" ], [ "SL.Heap.lemma_sep_join", @@ -35,10 +35,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bc1729cf687c647a20aeff4b1e93b36e" + "047ab28ca063b8b68a89326bbbfe03db" ], [ "SL.Heap.lemma_sep_defined", @@ -48,11 +48,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f0f0b6db03e34df0aa05aa4b56603458" + "c627b9d391959175f6a74cb5fad9c7d6" ], [ "SL.Heap.lemma_split_heap_disjoint", @@ -62,10 +62,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8c4b1ec858ac6c727cf514becce5be84" + "34d63f7fb2b6674a5000699451ae2ebd" ], [ "SL.Heap.lemma_split_heap_join", @@ -78,10 +78,10 @@ "lemma_SL.Heap.lemma_split_heap_disjoint", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1a362559ca061933ff905ee92ba10637" + "721c541aa528f6045c81e20515e1372e" ], [ "SL.Heap.lemma_split_heap_memories", @@ -91,10 +91,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "aa6df1cf3928967623391cabce70576e" + "6d925e24fcc94e7e31901d62dd7eb4f4" ], [ "SL.Heap.lemma_points_to_sel", @@ -104,10 +104,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bb028344e02befd6a77f42ca1b661261" + "17262ff2f6f8f12cf926bd731e6351db" ], [ "SL.Heap.lemma_points_to_upd", @@ -117,10 +117,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "24cd7145a9d88abe4bdbe062f01511ee" + "8272f83a5886b7fa30b8ae6146d09cd6" ], [ "SL.Heap.lemma_addrs_in_emp", @@ -128,16 +128,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "85f43bb9d579048d8c7d152fcec9dfc7" + "cfd49ed666d3548e40f94a84c73fd38d" ], [ "SL.Heap.Addrs_in_emp_axiom", @@ -145,16 +142,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "94fee720c8c9bac2c735f14125ce8b7d" + "6331276bb9872fc4c810e07ebe96ff2f" ], [ "SL.Heap.lemma_addrs_in_disjoint_heaps", @@ -164,11 +158,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9860903ef8e18c32e0b2675444913bdd" + "9b7631b44f11f0580ee2098cdadc8f2f" ], [ "SL.Heap.lemma_addrs_in_points_to", @@ -176,16 +170,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7f8b3d176dd3d65bc3b0f91095041544" + "ff6836697c38fd40d318dd7f902d70c3" ], [ "SL.Heap.lemma_addrs_in_join", @@ -193,16 +184,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "adf54b6c1fdf4241fe176f64b7d47ee4" + "0c41ec2e1666e1ca797dbf73e77f3a36" ], [ "SL.Heap.dom_exists", @@ -218,7 +206,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "251b69adf494b15dd3542283412be61a" + "e0fc88220c7fcdcca4dd3c9a7e2b997b" ], [ "SL.Heap.dom_forall", @@ -234,7 +222,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "0c3c4e8894cd22c1dda3f7e17507cdd1" + "5b23b333fb05a8fa4b984a28efc3b060" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.Shallow.fst.hints b/examples/csl/SL.Shallow.fst.hints index 5c7a5f82d16..7c14a6892b0 100644 --- a/examples/csl/SL.Shallow.fst.hints +++ b/examples/csl/SL.Shallow.fst.hints @@ -12,7 +12,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "2681a4c2a01593f63c6bfbc161cb08fc" + "410171a553237a7175bbaa37e78287d9" ], [ "SL.Shallow.st", @@ -21,7 +21,7 @@ 1, [ "@query", "lemma_SL.Heap.lemma_heap_memory_defined" ], 0, - "f7f102563246361ae853008df6fddc3d" + "b3a43eaf50fbcafcd1c4a761386484cf" ], [ "SL.Shallow.return", @@ -37,10 +37,10 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_cab3d8c341528c571fc0702f8f240539" + "refinement_interpretation_Tm_refine_82dd238f9e3df6821dcf6751e1414066" ], 0, - "8db4e32523fac398f4bc0302b81723e0" + "745f0a10e36195e4c3946213d8d3b1fe" ], [ "SL.Shallow.frame_post", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "83f198d7ecc7cc3e748411aa686ca188" + "3d2e073423e8eda12daf8c69af05f00d" ], [ "SL.Shallow.frame", @@ -78,7 +78,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "efae411d8d31c3425135bf371cf6f549" + "6b6cb5042642712734e9fdf71cb2a1d8" ], [ "SL.Shallow.frame", @@ -99,13 +99,13 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_291877c6f065e0434f8dbd18e9a801d4", - "refinement_interpretation_Tm_refine_c51c9b9cb6205cabf1c8c07427efadcc", - "refinement_interpretation_Tm_refine_f5d1fe86e9889560fda58a792e34dab1", + "refinement_interpretation_Tm_refine_0c92bf4f6ec6efa7be14c23c10f7212d", + "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb", + "refinement_interpretation_Tm_refine_d3b761da87465f7ec1e915c612e36bae", "token_correspondence_SL.Shallow.frame_post" ], 0, - "3a850959b2811c54e8c30f79314470aa" + "0035e1634daeb07ce1c5bf246c0c02eb" ], [ "SL.Shallow.bind_without_framing", @@ -125,7 +125,7 @@ "refinement_interpretation_SL.Shallow_Tm_refine_f202c3bece3ea98e3a75871dd48defda" ], 0, - "f0db9eb827ef8ef378f1cdd4ac8c0f7b" + "8ac4ff15541554e34fe7bff9d242eda4" ], [ "SL.Shallow.bind_without_framing", @@ -136,15 +136,15 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.result", - "interpretation_Tm_abs_e384ca74a58b22b7e9c6bb0000d6d315", + "interpretation_Tm_abs_2f071a7cd8e24d9f8ae50793dbba304c", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_c51c9b9cb6205cabf1c8c07427efadcc" + "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb" ], 0, - "c8f5c542e3635f4f54f0e36d9120713f" + "00a272afc178f8d35201067904431a64" ], [ "SL.Shallow.bind_with_framing", @@ -164,7 +164,7 @@ "refinement_interpretation_SL.Shallow_Tm_refine_f202c3bece3ea98e3a75871dd48defda" ], 0, - "29f199150bd16ce60cfb8aba84e9fd5c" + "52b350d136e138bca630a01cf065e1bd" ], [ "SL.Shallow.bind_with_framing", @@ -175,15 +175,15 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.result", - "interpretation_Tm_abs_ea06647d332765593e7d21685b8a8a10", + "interpretation_Tm_abs_4895616847ca6e570cef0581acbe8194", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_c51c9b9cb6205cabf1c8c07427efadcc" + "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb" ], 0, - "dac17f76e2483f329485ee51eb8f442b" + "4b00b4d6d80c67dacb7f3588be29ee73" ], [ "SL.Shallow.read_without_framing", @@ -195,8 +195,8 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.read_wp", - "interpretation_Tm_abs_4053681c5b3fc1a3b94007c35d602158", - "l_quant_interp_9feabfb2587cf90ea56b7d988763b0ab", + "interpretation_Tm_abs_0dedb0aee2b50e3020bbf5348f06326a", + "l_quant_interp_cac2adb9f0f6c19392d3bc9c79100e84", "lemma_SL.Heap.lemma_hcontains_mcontains", "lemma_SL.Heap.lemma_heap_memory_defined", "lemma_SL.Heap.lemma_points_to_mcontains", @@ -205,11 +205,11 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_d6c8eb04ea6a47ed02843a553b6e6eb9", + "refinement_interpretation_Tm_refine_4a82ab3861d7f381deca786053e97199", "token_correspondence_SL.Shallow.read_wp" ], 0, - "a7ea453f7e3e69b46ac43564a9a5a74c" + "3a2599675f223986e0ef78030f3c998d" ], [ "SL.Shallow.read_with_framing", @@ -218,12 +218,12 @@ 1, [ "@query", "equation_SL.Shallow.frame_read_wp", - "interpretation_Tm_abs_a2a7038816ffa909438f833f4b0fb55e", + "interpretation_Tm_abs_bfd180a110d7871611cbd963b2de03d6", "lemma_SL.Heap.lemma_heap_memory_defined", "token_correspondence_SL.Shallow.frame_read_wp" ], 0, - "76f5bdd6825f09a28644a6d5613b1ceb" + "b263b4d2dc52df3d605f1713ea9e5265" ], [ "SL.Shallow.write_wp", @@ -232,7 +232,7 @@ 1, [ "@query", "lemma_SL.Heap.lemma_points_to_defined" ], 0, - "ff88689ecafdc9f193ae54b0e18349cf" + "53322fcf433551d2ef80684d6913e665" ], [ "SL.Shallow.write_without_framing", @@ -246,8 +246,8 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.l_Exists", "equation_Prims.squash", "equation_SL.Shallow.write_wp", "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_631c999ec864e3a747782c19fffcdd03", - "l_quant_interp_33e28a1947d77cc81ccb73dffb578402", + "interpretation_Tm_abs_c194400bf19bc7d54add5ee84377f811", + "l_quant_interp_c25bd1eac6b3bf57ea53810aadd53b8d", "lemma_SL.Heap.lemma_hcontains_mcontains", "lemma_SL.Heap.lemma_heap_memory_defined", "lemma_SL.Heap.lemma_points_to_defined", @@ -257,12 +257,12 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_b4f1afa76c0cec03c70a6b3597507669", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_509d284b10ff0c2dac67e90bb5b17117", "token_correspondence_SL.Shallow.write_wp", "unit_typing" ], 0, - "27194a788349be01dae22fd040957ed7" + "aa123a97f1ca5e870ba3132a76859b5d" ], [ "SL.Shallow.write_with_framing", @@ -273,12 +273,12 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_SL.Shallow.frame_write_wp", - "interpretation_Tm_abs_a6e832641a379a4031f8e897ee283c69", + "interpretation_Tm_abs_5ace3712fa394dbf57f498c4f25c2fac", "lemma_SL.Heap.lemma_heap_memory_defined", "token_correspondence_SL.Shallow.frame_write_wp", "unit_typing" ], 0, - "86bfa1fb5e263b969575cbed78b57cf2" + "317c2d437b4dd31a4af907505d8f7a7b" ], [ "SL.Shallow.result", @@ -291,7 +291,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "5358810f9ffa65963698e474268da11e" + "81c9cbde83c7d374dff3a5944df8a219" ], [ "SL.Shallow.st", @@ -300,7 +300,7 @@ 1, [ "@query", "lemma_SL.Heap.lemma_heap_memory_defined" ], 0, - "904ed12970a0fba4a8232cdd86b6ab33" + "688be46854e520717357f51c22a9ee4b" ], [ "SL.Shallow.return", @@ -316,10 +316,10 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_cab3d8c341528c571fc0702f8f240539" + "refinement_interpretation_Tm_refine_82dd238f9e3df6821dcf6751e1414066" ], 0, - "6fa2bcab4d23e028c3a014128c7f38b3" + "6f844c7f19fbc3d66e7a38129c790fed" ], [ "SL.Shallow.frame_post", @@ -328,7 +328,7 @@ 1, [ "@query" ], 0, - "83765d95aa47cd7f54e29efb312c1bc3" + "1b16034b966ac283e79448f609fabda9" ], [ "SL.Shallow.frame", @@ -337,7 +337,7 @@ 1, [ "@query", "lemma_SL.Heap.lemma_heap_memory_defined" ], 0, - "5691286a16cd76f08aceda8db703c25c" + "d9b201a1b9aaf7399b2a6894f68ecf72" ], [ "SL.Shallow.frame", @@ -358,13 +358,13 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_291877c6f065e0434f8dbd18e9a801d4", - "refinement_interpretation_Tm_refine_c51c9b9cb6205cabf1c8c07427efadcc", - "refinement_interpretation_Tm_refine_f5d1fe86e9889560fda58a792e34dab1", + "refinement_interpretation_Tm_refine_0c92bf4f6ec6efa7be14c23c10f7212d", + "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb", + "refinement_interpretation_Tm_refine_d3b761da87465f7ec1e915c612e36bae", "token_correspondence_SL.Shallow.frame_post" ], 0, - "3307a89173d317c887ec7e61e3666d44" + "6c32c68b333dcdfbccba86a82f7a5546" ], [ "SL.Shallow.bind_without_framing", @@ -373,7 +373,7 @@ 1, [ "@query", "lemma_SL.Heap.lemma_heap_memory_defined" ], 0, - "8b090b139d610a25db4e35924835474a" + "48c82fa7c1f16a0dc202a0a0da29184a" ], [ "SL.Shallow.bind_without_framing", @@ -384,15 +384,15 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.result", - "interpretation_Tm_abs_e384ca74a58b22b7e9c6bb0000d6d315", + "interpretation_Tm_abs_2f071a7cd8e24d9f8ae50793dbba304c", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_c51c9b9cb6205cabf1c8c07427efadcc" + "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb" ], 0, - "c975d8a073b2b502f1d3aedec1155fec" + "c13b6d06c6eb45c21f25c454402e8410" ], [ "SL.Shallow.bind_with_framing", @@ -401,7 +401,7 @@ 1, [ "@query", "lemma_SL.Heap.lemma_heap_memory_defined" ], 0, - "b686a6169dfe1ed4fa81d03a6cded32f" + "ec0e30a710b968fbd62204374c85b6b2" ], [ "SL.Shallow.bind_with_framing", @@ -412,15 +412,15 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.result", - "interpretation_Tm_abs_ea06647d332765593e7d21685b8a8a10", + "interpretation_Tm_abs_4895616847ca6e570cef0581acbe8194", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_c51c9b9cb6205cabf1c8c07427efadcc" + "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb" ], 0, - "23f7ac8832b4524fe2dd635d30580c4d" + "4379e49c85b6affe77f79d506525c50a" ], [ "SL.Shallow.read_without_framing", @@ -432,8 +432,8 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.read_wp", - "interpretation_Tm_abs_4053681c5b3fc1a3b94007c35d602158", - "l_quant_interp_9feabfb2587cf90ea56b7d988763b0ab", + "interpretation_Tm_abs_0dedb0aee2b50e3020bbf5348f06326a", + "l_quant_interp_cac2adb9f0f6c19392d3bc9c79100e84", "lemma_SL.Heap.lemma_hcontains_mcontains", "lemma_SL.Heap.lemma_heap_memory_defined", "lemma_SL.Heap.lemma_points_to_mcontains", @@ -442,11 +442,11 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_d6c8eb04ea6a47ed02843a553b6e6eb9", + "refinement_interpretation_Tm_refine_4a82ab3861d7f381deca786053e97199", "token_correspondence_SL.Shallow.read_wp" ], 0, - "f2040aaa919149fd884358fa9d92085d" + "ac8c208e481d594fddc66487b8cc086b" ], [ "SL.Shallow.read_with_framing", @@ -455,12 +455,12 @@ 1, [ "@query", "equation_SL.Shallow.frame_read_wp", - "interpretation_Tm_abs_a2a7038816ffa909438f833f4b0fb55e", + "interpretation_Tm_abs_bfd180a110d7871611cbd963b2de03d6", "lemma_SL.Heap.lemma_heap_memory_defined", "token_correspondence_SL.Shallow.frame_read_wp" ], 0, - "3a1f1e9ad5aa3c3ae89af8e235b34add" + "c6e88343a332e8fb746a90b4fd4d22a0" ], [ "SL.Shallow.write_wp", @@ -469,7 +469,7 @@ 1, [ "@query", "lemma_SL.Heap.lemma_points_to_defined" ], 0, - "c96104808e75e49c93b8460e0673c21d" + "4513895d848bab2b050799e88100c4fb" ], [ "SL.Shallow.write_without_framing", @@ -483,8 +483,8 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.l_Exists", "equation_Prims.squash", "equation_SL.Shallow.write_wp", "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_631c999ec864e3a747782c19fffcdd03", - "l_quant_interp_33e28a1947d77cc81ccb73dffb578402", + "interpretation_Tm_abs_c194400bf19bc7d54add5ee84377f811", + "l_quant_interp_c25bd1eac6b3bf57ea53810aadd53b8d", "lemma_SL.Heap.lemma_hcontains_mcontains", "lemma_SL.Heap.lemma_heap_memory_defined", "lemma_SL.Heap.lemma_points_to_defined", @@ -494,12 +494,12 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_b4f1afa76c0cec03c70a6b3597507669", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_509d284b10ff0c2dac67e90bb5b17117", "token_correspondence_SL.Shallow.write_wp", "unit_typing" ], 0, - "291ad154425664684a4b6336b02384a4" + "6478e3555cc32117a990948505b956ce" ], [ "SL.Shallow.write_with_framing", @@ -510,12 +510,12 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_SL.Shallow.frame_write_wp", - "interpretation_Tm_abs_a6e832641a379a4031f8e897ee283c69", + "interpretation_Tm_abs_5ace3712fa394dbf57f498c4f25c2fac", "lemma_SL.Heap.lemma_heap_memory_defined", "token_correspondence_SL.Shallow.frame_write_wp", "unit_typing" ], 0, - "ef89e106a3f7c51b4092147d259e2e7f" + "c99a78bce6084a0128ce9015e5507a61" ] ] ] \ No newline at end of file diff --git a/examples/csl/SL.Tactics.fst.hints b/examples/csl/SL.Tactics.fst.hints index 6b1421f7dbe..a865c8e6f8a 100644 --- a/examples/csl/SL.Tactics.fst.hints +++ b/examples/csl/SL.Tactics.fst.hints @@ -13,7 +13,7 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_3bcf4b7474eb7f3eaa30f4c958188cd5", + "refinement_interpretation_Tm_refine_54d354f73662f2240c4d684d186be14a", "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.minus", @@ -22,7 +22,7 @@ "typing_FStar.SL.Monotonic.Heap.sel" ], 0, - "17694470eea2b0494f3a0aac28ada31e" + "23224c2854481382632ea7dc8a764596" ], [ "SL.Tactics.lemma_alloc_return", @@ -39,7 +39,7 @@ "typing_FStar.SL.Monotonic.Heap.get_next_addr" ], 0, - "2dae1998b3a79ec2f7e9252d4b54edd8" + "89e1c7044bde040ac19e91e7f02aaa27" ], [ "SL.Tactics.lemma_bind", @@ -53,7 +53,7 @@ "typing_FStar.SL.Monotonic.Heap.get_next_addr" ], 0, - "23d18500912ff7a0c9deb849abef0bee" + "5b981fe7d2875fdcd6048319fe1b1c4a" ], [ "SL.Tactics.lemma_eq_implies_intro", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "9aea9244ab2d4dc807c2e48ae4f52379" + "3b4dfce9c0e3bedba2cad5f32750f9b3" ], [ "SL.Tactics.lemma_eq_implies_intro'", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "34da217b1706494d6eef2422c1cf46db" + "dd6433a4ecb4d5a97b97384fada38f03" ], [ "SL.Tactics.lemma_addr_not_eq_refl", @@ -79,16 +79,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dff94c9ea0a19c698c5cf9a224f97f80" + "6a3bcd9f604ebe7ce4ca3bc14f729c41" ], [ "SL.Tactics.lemma_impl_l_cong", @@ -99,10 +96,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.l_iff", "equation_Prims.l_imp", "equation_Prims.squash", "l_and-interp", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "cffb46256e1eff00b458880d1e4b2412" + "1c3c4335058501355a942682b2c1b8a4" ], [ "SL.Tactics.lemma_eq_l_cong", @@ -112,10 +109,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.l_imp", "equation_Prims.squash", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "962f631d4039722d697264550524e368" + "0ec0e5fa68792c441fbc650e06c51b5c" ], [ "SL.Tactics.lemma_eq_cong", @@ -125,10 +122,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Lang.t", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3428ef9876455c0c1be62c2c1fdafcc6" + "289279a8ec7b8ca63a6ae1feecb83e60" ], [ "SL.Tactics.repeat_step_select", @@ -146,7 +143,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "2871a8bf358c8f8ae9916412d1e96dba" + "cdb676309cacf047c79d9d1602a19a49" ], [ "SL.Tactics.lemma_read_write", @@ -154,11 +151,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Lang.t", - "refinement_interpretation_Tm_refine_3bcf4b7474eb7f3eaa30f4c958188cd5" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_54d354f73662f2240c4d684d186be14a" ], 0, - "f0b685c757e73d11e728638eecfbf401" + "d5e2e727a97784a378af3ff067e87cf4" ], [ "SL.Tactics.lemma_addr_not_eq_refl", @@ -166,16 +163,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5e7311686d82fb088f98bbfdde933805" + "0b79c2c50c818fbad9e2899fb1302eb1" ], [ "SL.Tactics.repeat_step_select", @@ -193,7 +187,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "b8e54159182f394a818432c88dadc654" + "a9a543d0b028670ee1f9c3e471f121d0" ] ] ] \ No newline at end of file diff --git a/examples/csl/SepLogic.Heap.fst.hints b/examples/csl/SepLogic.Heap.fst.hints index 3afd4d00654..e9be077272e 100644 --- a/examples/csl/SepLogic.Heap.fst.hints +++ b/examples/csl/SepLogic.Heap.fst.hints @@ -8,20 +8,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "f0e0410bf23d8077ed325ad0eff83583" + "bfe3f83f740c43bebdb87712c0dd2802" ], [ "SepLogic.Heap.disjoint_addrs", @@ -30,21 +27,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "ab99d51698946859e74531a3e225e431" + "41a0c8b6c2ba90feaaa36b4bfceacd8b" ], [ "SepLogic.Heap.heap", @@ -53,20 +53,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "c75d78085ef181dbbd23e4a3a1b766bd" + "821afea60f3bb69a02668e9869e36811" ], [ "SepLogic.Heap.equal_heaps", @@ -75,26 +72,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_typing", "equation_FStar.OrdSet.cmp", + "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_SepLogic.Heap.addrs", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "109b6618c3560811ca3c2f465eb6e474" + "35b7f3262b146b3f2234007141efe7cf" ], [ "SepLogic.Heap.memory", @@ -103,20 +99,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "908039a66a850c2e1dde2aa97f2e8d3b" + "e4aa865a2173be97e51310ab86cd007b" ], [ "SepLogic.Heap.equal_memories", @@ -125,36 +118,37 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_inversion", "bool_typing", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_SepLogic.Heap.memory_rec@tok", "lemma_FStar.OrdSet.hasEq_ordset", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "158b7eb1cf3fa2a6cae64fc9d60870b3" + "9808c3bb1e685116a69302289a234ed9" ], [ "SepLogic.Heap.emp", @@ -163,20 +157,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.mem_empty", "primitive_Prims.op_LessThanOrEqual", "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", @@ -187,14 +182,17 @@ "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "6c176250a7a4d069904624931c4d42fe" + "4bae35148db8115fc6cc78d69bdcbe5a" ], [ "SepLogic.Heap.heap_memory", @@ -202,19 +200,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_SepLogic.Heap.heap", + "@MaxIFuel_assumption", "@query", "equation_SepLogic.Heap.heap", "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents" ], 0, - "e25d4bacd666fd0831b066a6f281ab1b" + "508d1bb3fb316e90e3f07c6b7ce1e62d" ], [ "SepLogic.Heap.join", @@ -223,11 +220,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_SepLogic.Heap.Mkheap_rec", @@ -235,20 +232,18 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", + "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", + "equation_Prims.logical", "equation_Prims.nat", + "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.disjoint_heaps", "equation_SepLogic.Heap.heap", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c66f1c511c71dd4169a3e8746efea25b", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.lemma_intersect_symmetric", @@ -270,21 +265,22 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_be9034dde86e759dc72824a6173a33f8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_93b5b8a7162ca993b1495714116642ed", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" ], 0, - "f7403dd162cb163379abf2ddc30422fe" + "bb04ac07dbb046cf6979349daeddeeb2" ], [ "SepLogic.Heap.op_Bar_Greater", @@ -293,9 +289,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -304,16 +301,14 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.ref", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", + "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_SepLogic.Heap.emp", + "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.ref", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.mem_singleton", "primitive_Prims.op_LessThanOrEqual", @@ -325,17 +320,18 @@ "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.emp", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "bbfbca57fb15f54115d27d665861ac02" + "41d9cac7e7240920e9c42cdce65ea32a" ], [ "SepLogic.Heap.op_Less_Star_Greater", @@ -344,9 +340,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -355,16 +352,15 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.memory", + "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_SepLogic.Heap.addrs", + "equation_SepLogic.Heap.memory", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_57ffad74c148c001cd9b841cb15ba966", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_af6397698ca99b6b9c48641ebeafb87f", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.lemma_intersect_symmetric", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", @@ -382,17 +378,18 @@ "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "4e1f0ce2d8dbfd7fe7b64746c94f1b22" + "ae768d4f56dcaaedc8477eb275a20e49" ], [ "SepLogic.Heap.split_heap", @@ -401,32 +398,38 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", + "equation_FStar.FunctionalExtensionality.feq", + "equation_FStar.FunctionalExtensionality.restricted_t", + "equation_Prims.nat", "equation_SepLogic.Heap.heap", + "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "fuel_guarded_inversion_SepLogic.Heap.heap_rec", + "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", + "int_inversion", + "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "kinding_SepLogic.Heap.memory_rec@tok", + "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", "proj_equation_SepLogic.Heap.Mkheap_rec_memory", "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", + "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -436,21 +439,23 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_093d52cf64fb5f8db2f1d6403e581bbf", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", - "token_correspondence_Prims.op_LessThanOrEqual", + "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", + "refinement_interpretation_Tm_refine_3f6daa7509cdf8a400cf4b71976f6bdb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain" + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", + "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", + "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "94979814aba50b7f8ad8cbd399fb2648" + "b11d08a9bc2a4e93ac2ee08e5719ec84" ], [ "SepLogic.Heap.mcontains", @@ -460,14 +465,14 @@ [ "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", + "disc_equation_FStar.Pervasives.Native.Some", "equation_SepLogic.Heap.memory", "kinding_SepLogic.Heap.memory_rec@tok", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa" + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76" ], 0, - "fa80332fc06976b24e1c60d6bce45dd6" + "d40dbc3396735a50f94d6a2adf7368dc" ], [ "SepLogic.Heap.sel", @@ -477,18 +482,18 @@ [ "@MaxIFuel_assumption", "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", + "disc_equation_FStar.Pervasives.Native.Some", "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", + "l_quant_interp_c6ff21a328d747858937992078d27540", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", - "refinement_interpretation_Tm_refine_24658d42fec6b0f7471ec9ecf4811c10" + "refinement_interpretation_Tm_refine_24658d42fec6b0f7471ec9ecf4811c10", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949" ], 0, - "56d7df55f16f07ad94aaddb665abcfdd" + "f35f7890a502e7fe1299ecc218b2e04e" ], [ "SepLogic.Heap.upd'", @@ -498,11 +503,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4606c134653e283edb3cf2689ba8cf85" + "7de548780c00fa03e3f9df51629da40d" ], [ "SepLogic.Heap.upd", @@ -511,66 +516,51 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "SepLogic.Heap_interpretation_Tm_arrow_c897e25e16fe695f052597083890e7ac", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_SepLogic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.hcontains", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.memory", + "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.upd_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SepLogic.Heap.emp", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_8a50d6b0efe54edc5a839067e9148cae", + "function_token_typing_Prims.logical", "int_inversion", + "interpretation_Tm_abs_272063ade16224c167223e67361604ea", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "kinding_Prims.dtuple2@tok", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", + "l_quant_interp_c6ff21a328d747858937992078d27540", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", "proj_equation_SepLogic.Heap.Mkheap_rec_memory", "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_24658d42fec6b0f7471ec9ecf4811c10", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_SepLogic.Heap.upd_", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_8a50d6b0efe54edc5a839067e9148cae", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65" + "typing_Tm_abs_272063ade16224c167223e67361604ea", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" ], 0, - "35c8612ff05e52194ad81e752be496ce" + "213261a64bfc6a9e65e450b41d390b04" ], [ "SepLogic.Heap.alloc", @@ -579,18 +569,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_SepLogic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.logical", @@ -598,13 +589,11 @@ "equation_SepLogic.Heap.heap", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_59d8c6a180a2eb6eec7aacbbe7005c5b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", @@ -622,19 +611,22 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" ], 0, - "3d080dce52a58d25ebacf25de21462b3" + "8c1d5d5b079ca88e012299894dc0bc05" ], [ "SepLogic.Heap.dealloc", @@ -643,39 +635,32 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_SepLogic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.logical", "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.hcontains", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.ref", + "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.ref", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_6de4c64613e44d7018dc8363a90968ee", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "kinding_Prims.dtuple2@tok", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", @@ -684,32 +669,30 @@ "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", "proj_equation_SepLogic.Heap.Mkheap_rec_memory", "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_24658d42fec6b0f7471ec9ecf4811c10", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" ], 0, - "8e90909cc9d9cfe8159eb7f5f0de92d5" + "509e2413c2ba272588755b034597ff8a" ], [ "SepLogic.Heap.addrs_in", @@ -717,27 +700,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_SepLogic.Heap.memory_rec@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.Pervasives.Native.uu___is_None" ], 0, - "57dd28a1fbfdfd001e7da1fc7a9656de" + "54bd1437bb43c120a036d6d5ce4f4987" ], [ "SepLogic.Heap.addr_to_ref", @@ -746,20 +727,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "a72c6402d8ff3b044aff96f82279a20d" + "b91b9f90b44445f508ab8863e57dfdb0" ], [ "SepLogic.Heap.addr_to_ref", @@ -768,20 +746,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "fc249666dd856eafcd92e5fa08692bdf" + "1d86284d3df155bfd482d6189fa9bdce" ], [ "SepLogic.Heap.addr_to_ref", @@ -789,22 +764,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "disc_equation_FStar.Pervasives.Native.Some", + "equation_Prims.nat", "equation_SepLogic.Heap.addrs_in", + "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.memory", "int_inversion", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_8be111f03ac0fda6c53ac0bc9fe263bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e062640e7ea6051103880a953ab6d633", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa" + "refinement_interpretation_Tm_refine_314426ff18cc6583474ab551704ef738", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66" ], 0, - "f608892ed4db13438d96b54025816dad" + "6dc38389f7f4f3d29cb5e44f96cff804" ], [ "SepLogic.Heap.fresh_or_old'", @@ -813,20 +785,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "4cde377328101a4b67aee7c63dcb6c5a" + "3c7fdd1d7d849c433b466b2ff9b20a17" ], [ "SepLogic.Heap.restrict_memory", @@ -835,48 +804,58 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_b04516e0ab7f6c72def964e425245a77", + "equation_Prims.eqtype", "equation_Prims.logical", + "equation_Prims.nat", "equation_SepLogic.Heap.addrs", + "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.memory", + "function_token_typing_Prims.int", + "function_token_typing_Prims.logical", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_c6d29b9e441877eab1e8c2526754a11f", + "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.mem_intersect", "primitive_Prims.op_AmpAmp", + "lemma_FStar.OrdSet.mem_intersect", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e062640e7ea6051103880a953ab6d633", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" ], 0, - "aa63a0bddfee3a8b263dc5c1f2ee8d99" + "a20495218f2fd1f522a88e2cc7e4bdfb" ], [ "SepLogic.Heap.complement_memory", @@ -885,47 +864,57 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_d8a0de6e29fd8e61662045dd1275d92a", + "equation_Prims.eqtype", "equation_Prims.logical", + "equation_Prims.nat", "equation_SepLogic.Heap.addrs", + "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.memory", + "function_token_typing_Prims.int", + "function_token_typing_Prims.logical", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_f9725f417a5c33f84dae17f6ebbaf9df", + "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_minus_mem", "primitive_Prims.op_AmpAmp", + "lemma_FStar.OrdSet.lemma_minus_mem", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e062640e7ea6051103880a953ab6d633", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" ], 0, - "a21c7451791afd0647f9c45876524622" + "7fd961fbf829ad3a5cd9c6f357669e6c" ], [ "SepLogic.Heap.lemma_disjoint_heaps_comm", @@ -934,29 +923,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_typing", "equation_FStar.OrdSet.cmp", + "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_SepLogic.Heap.heap", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.lemma_intersect_symmetric", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain" ], 0, - "67cde0cb84a5fedc3073698449c14b18" + "07edb7085f14602976c037b538579940" ], [ "SepLogic.Heap.lemma_sep_defined_disjoint_heaps", @@ -991,7 +979,7 @@ "typing_SepLogic.Heap.op_Less_Star_Greater" ], 0, - "50630bda114a372a99859699e2139bc2" + "18a183ecfb510e243b24b95eb2f1e749" ], [ "SepLogic.Heap.lemma_join_comm", @@ -1001,10 +989,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3968f99bdf2fef11c7507e93745da833" + "31a6587d0fddc3c48af747c5061a1420" ], [ "SepLogic.Heap.lemma_join_comm", @@ -1013,9 +1001,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_SepLogic.Heap.Mkheap_rec", @@ -1023,7 +1014,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", @@ -1033,12 +1023,11 @@ "equation_SepLogic.Heap.join", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c66f1c511c71dd4169a3e8746efea25b", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", @@ -1058,20 +1047,23 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_c66f1c511c71dd4169a3e8746efea25b" + "typing_Tm_abs_93c27569d40ce8a0af4d780215e32e57", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "4cadde8d9608a8a4329cfe9c3342e1b5" + "938877cfd889d57f071bbb67e8044a02" ], [ "SepLogic.Heap.lemma_sep_unit", @@ -1080,10 +1072,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1093,7 +1087,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", @@ -1104,14 +1097,12 @@ "equation_SepLogic.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "kinding_SepLogic.Heap.memory_rec@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", @@ -1135,22 +1126,27 @@ "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.OrdSet.mem", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", + "typing_SepLogic.Heap.emp", "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "f6f72561af0fae2218c3eb8344b991b1" + "166573dfeb7a7350764d486b1afc9c2c" ], [ "SepLogic.Heap.lemma_sep_comm", @@ -1159,20 +1155,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", + "data_elim_SepLogic.Heap.Mkmemory_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SepLogic.Heap.addrs", @@ -1181,15 +1179,13 @@ "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "fuel_guarded_inversion_SepLogic.Heap.memory_rec", + "function_token_typing_Prims.int", "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "kinding_SepLogic.Heap.memory_rec@tok", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.lemma_intersect_symmetric", @@ -1197,6 +1193,8 @@ "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", @@ -1204,29 +1202,31 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.OrdSet.mem", - "typing_FStar.Pervasives.Native.uu___is_None", "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", + "typing_SepLogic.Heap.emp", "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", "unit_inversion", + "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "unit_inversion", "unit_typing" ], 0, - "faee5350564f714c9071607b72f86fc4" + "22403decc5433081251a81c8c373a424" ], [ "SepLogic.Heap.lemma_sep_assoc", @@ -1235,40 +1235,36 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", + "data_elim_SepLogic.Heap.Mkmemory_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.equal_memories", "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "kinding_SepLogic.Heap.memory_rec@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", @@ -1281,6 +1277,8 @@ "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__2", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", @@ -1298,25 +1296,25 @@ "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union", - "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", "unit_inversion", + "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", "unit_inversion", "unit_typing" ], 0, - "824edc151257107f421a21aca0905518" + "8c433e54ac8bbe733d5222e55f02f2ab" ], [ "SepLogic.Heap.lemma_sep_join", @@ -1326,10 +1324,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "equation_SepLogic.Heap.disjoint_heaps", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5f4394b3fb9d1eabf2fc8196dc8cf111" + "651ea8529740085d6ec3713ad092d678" ], [ "SepLogic.Heap.lemma_sep_join", @@ -1338,12 +1336,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -1352,29 +1349,27 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.logical", "equation_Prims.nat", "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.equal_memories", "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.join", "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SepLogic.Heap.emp", "int_inversion", - "interpretation_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c66f1c511c71dd4169a3e8746efea25b", + "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", + "int_inversion", + "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThan", "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", "proj_equation_SepLogic.Heap.Mkheap_rec_memory", "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", @@ -1389,24 +1384,24 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_SepLogic.Heap.heap_memory", "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65", - "typing_Tm_abs_c66f1c511c71dd4169a3e8746efea25b" + "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "typing_Tm_abs_93c27569d40ce8a0af4d780215e32e57", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" ], 0, - "63f38a000b504580de8fe871e02c503d" + "1cee0b584cdd8dcb91e1e900874e8329" ], [ "SepLogic.Heap.lemma_emp_defined", @@ -1423,7 +1418,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "691c26890e4d9fc4c71e1659c41c5f5f" + "7b32216f0fb21eb4d15b1e35ae6ec0ff" ], [ "SepLogic.Heap.lemma_points_to_defined", @@ -1441,7 +1436,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "eaaa223db7751e1b218b9ab317c67d21" + "5fccd8e0cfeca91a762b9def7eb21e19" ], [ "SepLogic.Heap.lemma_sep_defined", @@ -1449,27 +1444,26 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "b2t_def", "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", + "disc_equation_FStar.Pervasives.Native.Some", "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.memory", + "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.op_Less_Star_Greater", - "function_token_typing_SepLogic.Heap.emp", "kinding_SepLogic.Heap.memory_rec@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_4cb9d52a4ade157447adae2a6005462d", "typing_SepLogic.Heap.op_Less_Star_Greater" ], 0, - "9ea738d86aede15caa12bd661b9e9d99" + "f9daac1220ee19e8ee376a529fe52593" ], [ "SepLogic.Heap.lemma_heap_memory_defined", @@ -1487,7 +1481,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "61a74fa51ded08e66aa2db3f7c8d640a" + "81ddcd107b31cdad47a778d3729d877b" ], [ "SepLogic.Heap.lemma_split_heap_disjoint", @@ -1498,10 +1492,10 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.l_and", "equation_Prims.squash", "equation_SepLogic.Heap.memory", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "208e851a06ffd3d73f643415f20148b0" + "6c80fe8ac879a115a4630e0bcda74268" ], [ "SepLogic.Heap.lemma_split_heap_disjoint", @@ -1532,7 +1526,7 @@ "refinement_interpretation_SepLogic.Heap_Tm_refine_a149d215288b57918bc85e2e7d9efb98" ], 0, - "5e4884097242441dbf3c2d55fad36aef" + "d4e9823287b010e92417b0762f2a1ee5" ], [ "SepLogic.Heap.lemma_split_heap_join", @@ -1541,18 +1535,17 @@ 1, [ "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.memory", + "equation_Prims.l_and", "equation_Prims.squash", + "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.memory", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", "l_and-interp", "lemma_SepLogic.Heap.lemma_split_heap_disjoint", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_8cc2b811de2040f7fc0deae6c2923a3c" ], 0, - "206862a43cbaff2792282d70471b30a2" + "2d11a2b7cb1b8c55b69339cbc76f5177" ], [ "SepLogic.Heap.lemma_split_heap_join", @@ -1561,12 +1554,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "SepLogic.Heap_interpretation_Tm_arrow_c897e25e16fe695f052597083890e7ac", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d0d8822060b46f721919ba89c530de4a", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Mktuple2", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1577,7 +1570,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.logical", "equation_Prims.nat", "equation_SepLogic.Heap.defined", @@ -1589,16 +1581,14 @@ "equation_SepLogic.Heap.split_heap", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c66f1c511c71dd4169a3e8746efea25b", + "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", @@ -1621,24 +1611,25 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65", - "typing_Tm_abs_c66f1c511c71dd4169a3e8746efea25b" + "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "typing_Tm_abs_93c27569d40ce8a0af4d780215e32e57", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "b8ce557672f78baae1fce2a70538874d" + "1bf248b2e02b75cd664871bac5ecae1f" ], [ "SepLogic.Heap.lemma_split_heap_memories", @@ -1649,10 +1640,10 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.l_and", "equation_Prims.squash", "equation_SepLogic.Heap.memory", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "55af4d9876646c1673b5774242645f39" + "a39844b05d9466322247fa4b29cec689" ], [ "SepLogic.Heap.lemma_split_heap_memories", @@ -1660,21 +1651,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "b2t_def", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.heap", + "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.op_Less_Star_Greater", "equation_SepLogic.Heap.split_heap", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_SepLogic.Heap.emp", "lemma_SepLogic.Heap.lemma_sep_defined", "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", "proj_equation_SepLogic.Heap.Mkheap_rec_memory", @@ -1685,11 +1674,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa" + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949" ], 0, - "935c5e7c5723ecb9f1d749ecb2157484" + "73e6209cc19c2f2d0504b8e55b719116" ], [ "SepLogic.Heap.lemma_split_heap_fresh", @@ -1700,10 +1689,10 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.l_and", "equation_Prims.squash", "equation_SepLogic.Heap.memory", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f722390f397e7038059a020144287a6f" + "f87f49479f003d3c023dbcab2b3ee9fb" ], [ "SepLogic.Heap.lemma_split_heap_fresh", @@ -1723,7 +1712,7 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr" ], 0, - "269bb711d43fc51789b294344ac0d7a2" + "d77360674672c6fe0b89807da2213549" ], [ "SepLogic.Heap.lemma_hcontains_mcontains", @@ -1737,17 +1726,17 @@ "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.mcontains", "equation_SepLogic.Heap.ref", "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", "l_quant_interp_0bded582b077d7145ce4420574ee322b", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", + "int_inversion", "l_quant_interp_c6ff21a328d747858937992078d27540", + "l_quant_interp_fbea5c33099c8a27f1f3850aff807417", "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents" ], 0, - "f87b2c1febddba1660110ec4a6f21b12" + "d0828408da5e91eaa1881bdcda50d747" ], [ "SepLogic.Heap.lemma_points_to_mcontains", @@ -1756,31 +1745,32 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_Prims.nat", "equation_SepLogic.Heap.mcontains", + "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", + "equation_SepLogic.Heap.mcontains", "equation_SepLogic.Heap.op_Bar_Greater", - "equation_SepLogic.Heap.ref", "function_token_typing_Prims.nat", - "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", - "l_quant_interp_0bded582b077d7145ce4420574ee322b", + "equation_SepLogic.Heap.ref", "int_inversion", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "l_quant_interp_fbea5c33099c8a27f1f3850aff807417", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_bb35158259adf523c63f9e1eb5201821" + "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "3575354a34ee1cfd6623e1a3d0b0fe38" + "dcefcfa5690e0c142a8c4670da9e742f" ], [ "SepLogic.Heap.lemma_points_to_sel", @@ -1790,10 +1780,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "316b63598eeb8ec3ae3cca9f292354a2" + "2dba3033a5c6726e94fd0cef97c0e807" ], [ "SepLogic.Heap.lemma_points_to_sel", @@ -1802,33 +1792,34 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_Prims.nat", "equation_SepLogic.Heap.hcontains", + "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", + "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.op_Bar_Greater", "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.sel", - "function_token_typing_Prims.nat", "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "l_quant_interp_c6ff21a328d747858937992078d27540", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_bb35158259adf523c63f9e1eb5201821" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "80a5c90f63001d4fab1e4827889fedc0" + "bd48a27382b3a38c32d1964aa10de546" ], [ "SepLogic.Heap.lemma_points_to_upd", @@ -1838,10 +1829,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "468637a52590c87171fc9c0d557fb192" + "dd87bb822f32abca2b1c677bca7e84c1" ], [ "SepLogic.Heap.lemma_points_to_upd", @@ -1850,46 +1841,39 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "bool_inversion", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.Native.Some", "data_elim_SepLogic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.emp", + "equation_Prims.logical", "equation_Prims.nat", "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", + "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.op_Bar_Greater", "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.upd", "equation_SepLogic.Heap.upd_", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.logical", "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_8a50d6b0efe54edc5a839067e9148cae", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", - "kinding_SepLogic.Heap.memory_rec@tok", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_272063ade16224c167223e67361604ea", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", + "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_singleton", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Equality", "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", "proj_equation_SepLogic.Heap.Mkheap_rec_memory", "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", @@ -1899,29 +1883,28 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", - "token_correspondence_Prims.op_LessThanOrEqual", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_8a50d6b0efe54edc5a839067e9148cae", - "typing_Tm_abs_bb35158259adf523c63f9e1eb5201821" + "typing_SepLogic.Heap.op_Bar_Greater", + "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "typing_Tm_abs_272063ade16224c167223e67361604ea", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "56f3be7d87d1c4c6f2dad80c7e012ce8" + "8c403219d023a988fd3998178526b22f" ], [ "SepLogic.Heap.lemma_alloc_fresh", @@ -1937,7 +1920,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "02b521b30777d30cff39386d9bf52336" + "6b4e1dedfaf543eb73b01a6cb95b1b9f" ], [ "SepLogic.Heap.lemma_alloc_contains", @@ -1946,31 +1929,32 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_Prims.nat", "equation_SepLogic.Heap.alloc", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", + "equation_SepLogic.Heap.alloc", "equation_SepLogic.Heap.hcontains", + "equation_SepLogic.Heap.heap", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_59d8c6a180a2eb6eec7aacbbe7005c5b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", + "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "l_quant_interp_c6ff21a328d747858937992078d27540", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_SepLogic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_59d8c6a180a2eb6eec7aacbbe7005c5b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "1d2edbbb9e18c609eb1fa6ff4b6e92eb" + "d3ca75305058faa11d9baffb829f7f79" ], [ "SepLogic.Heap.lemma_alloc_sel", @@ -1984,7 +1968,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "d0552f50b1940d85f25f7be32d64a855" + "86be839834cb95b0001102fb50474376" ], [ "SepLogic.Heap.lemma_alloc_sel", @@ -1993,19 +1977,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_Prims.nat", "equation_SepLogic.Heap.alloc", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.sel", + "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", + "equation_SepLogic.Heap.alloc", "equation_SepLogic.Heap.hcontains", + "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.sel", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_59d8c6a180a2eb6eec7aacbbe7005c5b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", + "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "l_quant_interp_c6ff21a328d747858937992078d27540", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_SepLogic.Heap.lemma_alloc_contains", "primitive_Prims.op_Equality", @@ -2016,14 +1999,15 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_59d8c6a180a2eb6eec7aacbbe7005c5b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "7866fc8335824f18afe7da725177e21b" + "fca7fd01a37e975171235d5c68e920ff" ], [ "SepLogic.Heap.lemma_alloc_heap_memory", @@ -2032,10 +2016,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -2045,7 +2031,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", @@ -2061,16 +2046,14 @@ "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.sel", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_59d8c6a180a2eb6eec7aacbbe7005c5b", - "interpretation_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", + "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "l_quant_interp_c6ff21a328d747858937992078d27540", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.eq_lemma", @@ -2080,7 +2063,6 @@ "lemma_SepLogic.Heap.lemma_alloc_contains", "lemma_SepLogic.Heap.lemma_alloc_sel", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", "proj_equation_SepLogic.Heap.Mkheap_rec_memory", @@ -2098,30 +2080,34 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", + "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.heap_memory", + "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp", + "typing_SepLogic.Heap.heap_memory", "typing_SepLogic.Heap.op_Bar_Greater", "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_59d8c6a180a2eb6eec7aacbbe7005c5b", - "typing_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_bb35158259adf523c63f9e1eb5201821" + "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "typing_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", + "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "86db1317a010fe587c4457709339d83c" + "4d0307847a15dabe7b76cd7ba6ee9653" ], [ "SepLogic.Heap.lemma_fresh_in_complement", @@ -2130,20 +2116,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "9e79a25fd7b30cdc097f30f21dd79e62" + "5994d5e09cf495923837a1fae11f8e52" ], [ "SepLogic.Heap.lemma_fresh_in_complement", @@ -2153,20 +2136,19 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_Prims.nat", "equation_SepLogic.Heap.addr_of", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.ref", + "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs_in", + "equation_SepLogic.Heap.fresh", "equation_SepLogic.Heap.heap", + "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.ref", "primitive_Prims.op_GreaterThanOrEqual", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e" + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949" ], 0, - "7e1142c44d504645f3392b704370803d" + "f9ecf3f8cdc7bc68a1e80e2c952b932a" ], [ "SepLogic.Heap.lemma_fresh_join", @@ -2176,10 +2158,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f9cb08ed4c65ea965a8561b3c6474fcc" + "a86404d11a1a8c5d49d264c57cf392b4" ], [ "SepLogic.Heap.lemma_fresh_join", @@ -2200,7 +2182,7 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr" ], 0, - "21c9112838e7167387c6a7ad6ce8ff2b" + "b5276f74a12b3d75d239e69a6a029da2" ], [ "SepLogic.Heap.lemma_dealloc_contains", @@ -2210,10 +2192,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "equation_SepLogic.Heap.hcontains", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c69c3111c7b9be363b113bfc95864f01" + "7dbb70081071c4589fe641a47135acf0" ], [ "SepLogic.Heap.lemma_dealloc_contains", @@ -2222,26 +2204,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_SepLogic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.nat", "equation_SepLogic.Heap.dealloc", "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.ref", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.nat", "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "int_inversion", - "interpretation_Tm_abs_6de4c64613e44d7018dc8363a90968ee", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", + "interpretation_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "l_quant_interp_c6ff21a328d747858937992078d27540", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_disEquality", "proj_equation_SepLogic.Heap.Mkheap_rec_memory", @@ -2250,16 +2232,17 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_6de4c64613e44d7018dc8363a90968ee", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "9d850b435993da5a4825177090fe094e" + "f0f22f2c25b932d98c9183aac7ff46f8" ], [ "SepLogic.Heap.lemma_points_to_dealloc", @@ -2269,10 +2252,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8f6b1f04f2960d32e7923a21d9e97f0f" + "af5a815ac1ea67a94898ed5caa23d59f" ], [ "SepLogic.Heap.lemma_points_to_dealloc", @@ -2281,10 +2264,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", @@ -2293,7 +2278,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", @@ -2308,16 +2292,14 @@ "equation_SepLogic.Heap.ref", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_6de4c64613e44d7018dc8363a90968ee", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_bb35158259adf523c63f9e1eb5201821", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", + "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", + "l_quant_interp_c6ff21a328d747858937992078d27540", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.eq_lemma", "lemma_FStar.OrdSet.mem_empty", @@ -2339,11 +2321,14 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.FunctionalExtensionality.on_domain", @@ -2352,14 +2337,15 @@ "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.heap_memory", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_6de4c64613e44d7018dc8363a90968ee", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_bb35158259adf523c63f9e1eb5201821" + "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp", + "typing_SepLogic.Heap.heap_memory", + "typing_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", + "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "44ee9d9b1db6a3ecb713fc31d40437a6" + "1176dcbf2163221ca8025b652974a1c0" ], [ "SepLogic.Heap.lemma_addrs_in_emp", @@ -2368,21 +2354,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "8c10ed890b8bd4098ae5955fde7744f5" + "c2cdbb23b3505f298203adbc9c83cea6" ], [ "SepLogic.Heap.lemma_addrs_in_emp", @@ -2398,7 +2387,7 @@ "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain" ], 0, - "ceb794db8ddae87578e9968a335401c7" + "fb4d6600eddf2c4298b76893fb42a56c" ], [ "SepLogic.Heap.Addrs_in_emp_axiom", @@ -2407,20 +2396,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "cfc1c95ce09d6aed3d9fdb4948bca410" + "cd2989818b2e8379ee32511a878ffaf6" ], [ "SepLogic.Heap.lemma_addrs_in_disjoint_heaps", @@ -2442,7 +2428,7 @@ "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain" ], 0, - "2f49bdaa229ae155bed5719f0ea0b9b9" + "9550f465d8baba8b3b2c859bd4bf1815" ], [ "SepLogic.Heap.lemma_addrs_in_points_to", @@ -2451,21 +2437,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "d3d1e4970667b64c0faf916794d1eae0" + "6ae4f6b3b7b0f9b1789a6434d49f0ab6" ], [ "SepLogic.Heap.lemma_addrs_in_points_to", @@ -2482,7 +2471,7 @@ "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain" ], 0, - "4756c02bd64e019732e16e338d44e0a5" + "d5670a111066ef60c161e1a41272a5da" ], [ "SepLogic.Heap.lemma_addrs_in_join", @@ -2491,21 +2480,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "9c3e9834c4ce4018fd109a21440377c6" + "115b20764a67d45024fe4466ab46676c" ], [ "SepLogic.Heap.lemma_addrs_in_join", @@ -2532,7 +2524,7 @@ "refinement_interpretation_SepLogic.Heap_Tm_refine_a149d215288b57918bc85e2e7d9efb98" ], 0, - "663adfbb32106318ce860eb974ca634f" + "7179c1f1de40cb2d4b556d16ebb98813" ], [ "SepLogic.Heap.lemma_addr_to_ref_addr_of", @@ -2540,23 +2532,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_Prims.op_LessThanOrEqual", "unit_typing" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "b8c8ff0e3d9f7438491cc40610082ddf" + "d1c349396a7e13ed9dd36ac5bb9289c2" ], [ "SepLogic.Heap.lemma_addr_to_ref_addr_of", @@ -2573,20 +2562,19 @@ "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addr_to_ref", "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.memory", "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_8be111f03ac0fda6c53ac0bc9fe263bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e062640e7ea6051103880a953ab6d633", + "refinement_interpretation_Tm_refine_314426ff18cc6583474ab551704ef738", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", "typing_SepLogic.Heap.addr_to_ref" ], 0, - "35b7978f244e2ae59ba73f7cd28b41dc" + "4de5d122a2f580b02f08656f336f9eb1" ], [ "SepLogic.Heap.lemma_restrict_complement_disjoint", @@ -2596,10 +2584,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "equation_SepLogic.Heap.defined", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5af3a23c73548ac0485810baad2f2380" + "47469b9a9fcb63b4b8d9e869fb5ab109" ], [ "SepLogic.Heap.lemma_restrict_complement_disjoint", @@ -2608,8 +2596,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", @@ -2622,10 +2611,8 @@ "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.restrict_memory", "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.eq_lemma", "lemma_FStar.OrdSet.lemma_intersect_symmetric", "lemma_FStar.OrdSet.lemma_minus_mem", "lemma_FStar.OrdSet.mem_empty", @@ -2637,15 +2624,18 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.addrs_in" + "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp" ], 0, - "81d642d8b0951dfa9a53d15063dbba05" + "b04c895f3b6ad5793399b9808a3163f9" ], [ "SepLogic.Heap.lemma_restrict_complement_sep", @@ -2655,10 +2645,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "equation_SepLogic.Heap.defined", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ba82b99b46c2e64fdb5a392980929b0a" + "68b91dc6628575d2a0b7d38bb2ca4769" ], [ "SepLogic.Heap.lemma_restrict_complement_sep", @@ -2667,44 +2657,44 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "assumption_SepLogic.Heap.Emp_defined_axiom", "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", "data_elim_SepLogic.Heap.Mkmemory_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", + "equation_Prims.nat", "equation_SepLogic.Heap.addr_of", + "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.complement_memory", "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.equal_memories", "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.op_Less_Star_Greater", + "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.restrict_memory", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_15d37a2dd0de2d62263f67168bd98433", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_ec40dcf7943fd0d646aee3c22f08973f", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_459e441734c40b842ffdd966db1f20eb", + "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", + "interpretation_Tm_abs_eeb9903fc4d9c7355a631363f0fe1d11", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.eq_lemma", @@ -2712,11 +2702,13 @@ "lemma_FStar.OrdSet.lemma_minus_mem", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", + "lemma_SepLogic.Heap.lemma_addr_to_ref_addr_of", "lemma_SepLogic.Heap.lemma_addrs_in_join", "lemma_SepLogic.Heap.lemma_restrict_complement_disjoint", "lemma_SepLogic.Heap.lemma_sep_defined", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "proj_equation_Prims.Mkdtuple2__1", "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", @@ -2727,22 +2719,27 @@ "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", + "token_correspondence_SepLogic.Heap.ref", "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.intersect", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.minus", "typing_SepLogic.Heap.addrs_in", - "typing_Tm_abs_15d37a2dd0de2d62263f67168bd98433", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_7301eb8045d21db37a4c45c1a60d99d9", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_ec40dcf7943fd0d646aee3c22f08973f" + "typing_FStar.OrdSet.mem", + "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", + "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp", + "typing_Tm_abs_459e441734c40b842ffdd966db1f20eb", + "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", + "typing_Tm_abs_eeb9903fc4d9c7355a631363f0fe1d11" ], 0, - "c55023fbc4ad05288e8e302e412abc16" + "71c8d82a15e093ecd3db8e9100881f2e" ], [ "SepLogic.Heap.lemma_fresh_or_old_refl", @@ -2751,11 +2748,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", @@ -2765,12 +2759,13 @@ "equation_SepLogic.Heap.fresh_or_old_", "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.memory", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_subset", "lemma_SepLogic.Heap.lemma_sep_unit", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", @@ -2780,16 +2775,17 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp", "typing_SepLogic.Heap.heap_memory" ], 0, - "5ef9fe62d12d49a9132bd7c46a6f8aa5" + "5016393f5c9d52250bd2dd71b8185c5d" ], [ "SepLogic.Heap.exists_intro_2", @@ -2798,7 +2794,7 @@ 1, [ "@query" ], 0, - "4e30e71f9d517f4caa117ac2407de187" + "912ebbaa816da9424cdaf910e5b165ee" ], [ "SepLogic.Heap.lemma_fresh_or_old_trans'", @@ -2807,13 +2803,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.Native.Some", "data_elim_SepLogic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -2832,21 +2826,23 @@ "equation_SepLogic.Heap.restrict_memory", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "kinding_SepLogic.Heap.memory_rec@tok", "l_and-interp", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_minus_mem", + "fuel_guarded_inversion_SepLogic.Heap.memory_rec", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", "kinding_SepLogic.Heap.memory_rec@tok", "l_and-interp", + "lemma_FStar.OrdSet.lemma_minus_mem", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", "lemma_FStar.Pervasives.invertOption", "lemma_SepLogic.Heap.lemma_addrs_in_join", "lemma_SepLogic.Heap.lemma_heap_memory_defined", "lemma_SepLogic.Heap.lemma_restrict_complement_sep", - "lemma_SepLogic.Heap.lemma_sep_assoc", - "lemma_SepLogic.Heap.lemma_sep_defined", "primitive_Prims.op_AmpAmp", + "lemma_SepLogic.Heap.lemma_sep_assoc", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", + "proj_equation_Prims.Mkdtuple2__1", "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", @@ -2855,24 +2851,27 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e062640e7ea6051103880a953ab6d633", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", - "typing_FStar.OrdSet.mem", + "token_correspondence_SepLogic.Heap.ref", "typing_FStar.OrdSet.mem", + "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.complement_memory", + "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", + "typing_SepLogic.Heap.addrs_in", + "typing_SepLogic.Heap.complement_memory", "typing_SepLogic.Heap.emp", "typing_SepLogic.Heap.heap_memory", "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_SepLogic.Heap.restrict_memory", "unit_typing" + "typing_SepLogic.Heap.restrict_memory" ], 0, - "8892c991e672cf34f2394506179daf3c" + "f1f1675d07b8190b29d4156aa9292157" ], [ "SepLogic.Heap.lemma_fresh_or_old_trans''", @@ -2899,7 +2898,7 @@ "refinement_interpretation_SepLogic.Heap_Tm_refine_b6d19cc943546da1d666395806a8c68f" ], 0, - "3a8ef5ea1b0231924a260e2c8a8961f5" + "68fefcbe70c57e069c1c19aecbc9c45e" ], [ "SepLogic.Heap.lemma_fresh_or_old_trans", @@ -2913,7 +2912,7 @@ "refinement_interpretation_SepLogic.Heap_Tm_refine_b6d19cc943546da1d666395806a8c68f" ], 0, - "baefddfccbb6f6c2c6b1e9eb105aca3e" + "cac0c2637529e61b949a11860460dc6a" ], [ "SepLogic.Heap.lemma_fresh_or_old_disjoint'", @@ -2922,11 +2921,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SepLogic.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "assumption_SepLogic.Heap.Addrs_in_emp_axiom", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -2934,46 +2935,41 @@ "data_elim_SepLogic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.logical", "equation_Prims.nat", "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addr_to_ref", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", + "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.disjoint_heaps", "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.fresh_or_old_", "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.same_freshness", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.eq_lemma", "lemma_FStar.OrdSet.lemma_intersect_symmetric", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.union_comm", "lemma_SepLogic.Heap.lemma_addr_to_ref_addr_of", "lemma_SepLogic.Heap.lemma_addrs_in_disjoint_heaps", "lemma_SepLogic.Heap.lemma_addrs_in_join", "lemma_SepLogic.Heap.lemma_fresh_in_complement", "lemma_SepLogic.Heap.lemma_heap_memory_defined", - "lemma_SepLogic.Heap.lemma_sep_defined", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "proj_equation_Prims.Mkdtuple2__1", "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", + "proj_equation_SepLogic.Heap.Mkheap_rec_memory", "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", "projection_inverse_BoxBool_proj_0", @@ -2983,24 +2979,27 @@ "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", "typing_FStar.OrdSet.mem", "typing_FStar.Pervasives.dfst", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.heap_memory", + "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp", + "typing_SepLogic.Heap.heap_memory", "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "ee9d5f7097d8419bce8bacde48128fb4" + "c526a818f833af0a72098176c77a86b1" ], [ "SepLogic.Heap.lemma_fresh_or_old_disjoint", @@ -3009,7 +3008,7 @@ 1, [ "@query", "equation_SepLogic.Heap.fresh_or_old" ], 0, - "4ef13909e5796a396eb1cb2a6f25c2d7" + "012623c168b98586c7cb82ee70060edc" ], [ "SepLogic.Heap.lemma_fresh_or_old_sep'", @@ -3018,13 +3017,8 @@ 0, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SepLogic.Heap.Emp_defined_axiom", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", @@ -3042,21 +3036,21 @@ "equation_SepLogic.Heap.op_Less_Star_Greater", "equation_SepLogic.Heap.same_freshness", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_SepLogic.Heap.memory_rec@tok", "l_and-interp", - "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.union_comm", + "lemma_FStar.OrdSet.mem_intersect", "lemma_FStar.OrdSet.mem_subset", + "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", "lemma_FStar.Pervasives.invertOption", "lemma_SepLogic.Heap.lemma_addrs_in_join", "lemma_SepLogic.Heap.lemma_fresh_join", "lemma_SepLogic.Heap.lemma_sep_assoc", - "lemma_SepLogic.Heap.lemma_sep_join", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "lemma_SepLogic.Heap.lemma_sep_join", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", @@ -3068,23 +3062,24 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_be9034dde86e759dc72824a6173a33f8", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", + "refinement_interpretation_Tm_refine_93b5b8a7162ca993b1495714116642ed", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.OrdSet.mem", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", + "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.heap_memory", "typing_SepLogic.Heap.join", - "typing_SepLogic.Heap.op_Less_Star_Greater", "unit_typing" + "typing_SepLogic.Heap.op_Less_Star_Greater" ], 0, - "c088ea3a86711bf19d0b8c6a60495415" + "04a0d1eea980e7c8748d0bdd76c8da3e" ], [ "SepLogic.Heap.lemma_fresh_or_old_sep''", @@ -3092,20 +3087,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_and", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "equation_SepLogic.Heap.fresh_or_old", "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.join", "equation_SepLogic.Heap.op_Less_Star_Greater", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", "l_and-interp", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_8cc2b811de2040f7fc0deae6c2923a3c", "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Less_Star_Greater", "unit_typing" + "typing_SepLogic.Heap.op_Less_Star_Greater" ], 0, - "617e9eefa7d31a053a9a04f66810764e" + "816d890d7bd7df65ab83299031b4ef9b" ], [ "SepLogic.Heap.lemma_fresh_or_old_sep'''", @@ -3113,11 +3106,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_SepLogic.Heap.heap", - "refinement_interpretation_Tm_refine_884f07b7e5ce30236146cc4c38c4b151" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_31b69649528a54845e9c3b16d5f4a031" ], 0, - "3fea234a387fded6e078746d14ccb289" + "a18c9e2db122db79d751eb6a55137255" ], [ "SepLogic.Heap.lemma_fresh_or_old_sep''''", @@ -3126,7 +3119,7 @@ 1, [ "@query", "equation_SepLogic.Heap.fresh_or_old" ], 0, - "72c597d2009fb0dead10ea12e5971c8f" + "6c55532f87711abd6fe8c3554f107aee" ], [ "SepLogic.Heap.lemma_fresh_or_old_sep", @@ -3137,10 +3130,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", "lemma_SepLogic.Heap.lemma_fresh_or_old_disjoint", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7b018ad093a829d85f112441f536c4bd" + "d81233982386132ba1726c4dee109671" ], [ "SepLogic.Heap.lemma_fresh_or_old_sep", @@ -3149,7 +3142,7 @@ 1, [ "@query", "lemma_SepLogic.Heap.lemma_fresh_or_old_disjoint" ], 0, - "da2354446bcc19c61259721779194b43" + "4af4b633f00d84979b962c3a1745c466" ], [ "SepLogic.Heap.lemma_fresh_or_old_alloc", @@ -3158,11 +3151,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_SepLogic.Heap.Emp_defined_axiom", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -3170,20 +3160,15 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.alloc", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.fresh", "equation_SepLogic.Heap.fresh_or_old", "equation_SepLogic.Heap.fresh_or_old_", "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.ref", + "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.ref", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "kinding_SepLogic.Heap.memory_rec@tok", - "l_quant_interp_3d52fbb6a3a2b1c78f2d2690ea583c54", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "l_quant_interp_c6ff21a328d747858937992078d27540", "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", "lemma_SepLogic.Heap.lemma_addrs_in_points_to", @@ -3193,6 +3178,8 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", @@ -3205,14 +3192,13 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.singleton", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", @@ -3220,7 +3206,7 @@ "typing_SepLogic.Heap.op_Bar_Greater" ], 0, - "f1c7955e44148f80c9df461c8075062d" + "819e3c935f07e9092d777cabf7370fbe" ], [ "SepLogic.Heap.lemma_fresh_or_old_dealloc", @@ -3230,10 +3216,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "equation_SepLogic.Heap.hcontains", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fd645dbf8c80e64f6bc4f4c187c5285e" + "ec1bdeced73e0a1840f1ff07fab8e46a" ], [ "SepLogic.Heap.lemma_fresh_or_old_dealloc", @@ -3242,33 +3228,27 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_SepLogic.Heap.Addrs_in_emp_axiom", - "assumption_SepLogic.Heap.Emp_defined_axiom", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.dealloc", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.fresh", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", + "equation_Prims.eqtype", "equation_Prims.nat", + "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", + "equation_SepLogic.Heap.dealloc", "equation_SepLogic.Heap.emp", + "equation_SepLogic.Heap.fresh", "equation_SepLogic.Heap.fresh_or_old", "equation_SepLogic.Heap.fresh_or_old_", "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.ref", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "kinding_SepLogic.Heap.memory_rec@tok", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_remove", - "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", - "lemma_SepLogic.Heap.lemma_addrs_in_join", + "lemma_FStar.OrdSet.mem_subset", "lemma_SepLogic.Heap.lemma_sep_unit", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", @@ -3278,18 +3258,17 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.heap_memory" + "typing_SepLogic.Heap.emp", "typing_SepLogic.Heap.heap_memory" ], 0, - "55055125b9003e3da777dc24f3af4736" + "b84b0faf74e1ffb19371f00daa85e803" ], [ "SepLogic.Heap.lemma_fresh_or_old_upd", @@ -3299,10 +3278,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "equation_SepLogic.Heap.hcontains", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "308912f986551f8fdd76a3d86153fdb3" + "fd9048d682133de5abf4460993725610" ], [ "SepLogic.Heap.lemma_fresh_or_old_upd", @@ -3311,11 +3290,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", @@ -3326,14 +3302,13 @@ "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.upd", "equation_SepLogic.Heap.upd_", "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SepLogic.Heap.emp", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "kinding_SepLogic.Heap.memory_rec@tok", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_subset", "lemma_SepLogic.Heap.lemma_sep_unit", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", @@ -3343,18 +3318,18 @@ "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_236e68ed9caec31abfc18ed01ec5597e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0aab750b7e0c9fc6d6890a5f34666fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in" + "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", + "typing_SepLogic.Heap.emp" ], 0, - "b75a98f2f792e6df5c1267f45162e2a7" + "438b51a81dd0b66161ae4b19ef228794" ] ] ] \ No newline at end of file diff --git a/examples/csl/SepLogic.Heap.fsti.hints b/examples/csl/SepLogic.Heap.fsti.hints index 6b650447689..fa1d9a8320f 100644 --- a/examples/csl/SepLogic.Heap.fsti.hints +++ b/examples/csl/SepLogic.Heap.fsti.hints @@ -8,20 +8,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "8f234d5d337151019b483a091d6e28a9" + "33b28d3835fbeff063b5fed9538e9aef" ], [ "SepLogic.Heap.disjoint_addrs", @@ -30,21 +27,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "c4cd871398a196270cb0e4fc54c9e52c" + "64bb49f93eb5b5530759de70c0d4a258" ], [ "SepLogic.Heap.addr_to_ref", @@ -53,20 +53,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "7fc39b9f157a6a8051432dbcd57d1088" + "fc4c975890fe295dbaa04707fa0c9c15" ], [ "SepLogic.Heap.fresh_or_old'", @@ -75,20 +72,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "54ad43e5a37d56da29d06afc66a30356" + "7e596c664e309c42a03c6d9f7e0cf904" ], [ "SepLogic.Heap.lemma_join_comm", @@ -98,10 +92,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "31094b86d73da1f9f3112565e51a434b" + "d3a2e230f1cb134b444325f0707b134f" ], [ "SepLogic.Heap.lemma_sep_join", @@ -110,10 +104,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "91d03c37e9b702399292df06361d08b8" + "882817f7590d73b21a50939c89acecdf" ], [ "SepLogic.Heap.lemma_split_heap_disjoint", @@ -123,10 +117,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1f5fa053bd64c08af2a59e9a64125b4f" + "6b4b65b4a612e1698fc9cbde12975ae8" ], [ "SepLogic.Heap.lemma_split_heap_join", @@ -139,10 +133,10 @@ "lemma_SepLogic.Heap.lemma_split_heap_disjoint", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d00a5a0ae707017806a9bc99f56b9686" + "657b9aff516e8c4ca0d8e47dfb280456" ], [ "SepLogic.Heap.lemma_split_heap_memories", @@ -152,10 +146,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4fe10f05dc19f66538b65686881ef4a5" + "9ec127d6520505bfdd03597eb364b7d9" ], [ "SepLogic.Heap.lemma_split_heap_fresh", @@ -165,10 +159,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b9d847d8281f6549ca2aa364f258f790" + "d00a2bde7b008ef57d66a36e6e6acce0" ], [ "SepLogic.Heap.lemma_points_to_sel", @@ -178,10 +172,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b44032def12147829fae59e82bb425c6" + "ea2341053a12f66f36ff735e8b824ee9" ], [ "SepLogic.Heap.lemma_points_to_upd", @@ -191,10 +185,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "16453de290ce3dd52b1b9610fa5859ab" + "8c6111dfcb0f774eb5b6ce94fdcc0c9e" ], [ "SepLogic.Heap.lemma_alloc_sel", @@ -207,7 +201,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "5868ab6ec0c6cdb7ffea936b12ac426b" + "46f12c4349c85fd4fd7f92a75d9d44ea" ], [ "SepLogic.Heap.lemma_fresh_in_complement", @@ -216,20 +210,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "8c58d2d25f2d57911e9839f59a78f732" + "708e89aafcd66b3074ea94f6b2cc93b9" ], [ "SepLogic.Heap.lemma_fresh_join", @@ -239,10 +230,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "cc69123a0f4a3412d9384571645fe70f" + "c9360329b3b181154a1a483f3251bc0a" ], [ "SepLogic.Heap.lemma_dealloc_contains", @@ -251,10 +242,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2d16cbd3bedb311cebb697094644915e" + "54daf7202220b7efb3454d7c12285517" ], [ "SepLogic.Heap.lemma_points_to_dealloc", @@ -264,10 +255,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "15c46a2542e6bb38bf0b6bad27cc922a" + "07b1c4fde5eb08efc6ab7aec6da34746" ], [ "SepLogic.Heap.lemma_addrs_in_emp", @@ -276,21 +267,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "d2251db9be114d281f4f2388ff665c3d" + "f5c11b50077945b4b93f529d41b62d38" ], [ "SepLogic.Heap.Addrs_in_emp_axiom", @@ -299,20 +293,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "08a402faf3b2878642df420a5045db48" + "5f5861b833a88461f3bbcdd953658b7f" ], [ "SepLogic.Heap.lemma_addrs_in_points_to", @@ -321,21 +312,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "8eb7c0ca4b0e4a59f2ab9b1a98b069b4" + "187880ef52d1e3a726f5fe3b5e754071" ], [ "SepLogic.Heap.lemma_addrs_in_join", @@ -344,21 +338,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "43c6b1a478a97346b8228dc55ff15b42" + "1d8bc2cfe4de1b95897d694911dff54b" ], [ "SepLogic.Heap.lemma_addr_to_ref_addr_of", @@ -366,23 +363,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_Prims.op_LessThanOrEqual", "unit_typing" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "2fac07beffce4384f61089c25564985a" + "77316aa078595abb02f215c65e9b121c" ], [ "SepLogic.Heap.lemma_restrict_complement_disjoint", @@ -391,10 +385,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6a1b1dbcbae0ddb208487f6e3ca2190d" + "b3b38dc0224c5c4f17b04a5f277c89bb" ], [ "SepLogic.Heap.lemma_restrict_complement_sep", @@ -403,10 +397,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "de8b149463bfeca6a7c926cc4e04b2fb" + "c99b02fc534a1b0c67de70ede1ba7fd8" ], [ "SepLogic.Heap.lemma_fresh_or_old_sep", @@ -417,10 +411,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", "lemma_SepLogic.Heap.lemma_fresh_or_old_disjoint", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e916ea516e1b32bb9d9cd1074a5fa931" + "716593c68510f8e66a94b7febe4b06b5" ], [ "SepLogic.Heap.lemma_fresh_or_old_dealloc", @@ -429,10 +423,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2acf573922c27cb684d83be8dd2a28f8" + "3cd05a34035a58a53bae96ae9b64b90a" ], [ "SepLogic.Heap.lemma_fresh_or_old_upd", @@ -441,10 +435,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d23270f1b03e2b112b7bd631ed9b0c8b" + "023294c3d2a6f8cc7ab399633a61a05d" ] ] ] \ No newline at end of file diff --git a/examples/csl/Shallow.fst.hints b/examples/csl/Shallow.fst.hints index 8c74e87fd2c..31a062e8f22 100644 --- a/examples/csl/Shallow.fst.hints +++ b/examples/csl/Shallow.fst.hints @@ -12,10 +12,10 @@ "lemma_SepLogic.Heap.lemma_fresh_or_old_refl", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05cfe18b0b860e90eeb56625b596df8e" + "refinement_interpretation_Tm_refine_c15de0bf63fcbf1efce8ed72c9caa328" ], 0, - "1ddac77404862063a0d0e1ba37a7f4ea" + "7766ee62712c41df1fee6e4a7c06883f" ], [ "Shallow.return_with_binding", @@ -28,10 +28,10 @@ "lemma_SepLogic.Heap.lemma_fresh_or_old_refl", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3f37abd0c5d90ec869c8ef5652af0c04" + "refinement_interpretation_Tm_refine_b816ea8bfa17eb23079925b2ed282652" ], 0, - "000f874bebd6c6031cc82cdfdb4a73ce" + "3658989a1775bb6638a52eee10514ca5" ], [ "Shallow.frame_post", @@ -40,7 +40,7 @@ 1, [ "@query", "lemma_SepLogic.Heap.lemma_sep_defined_disjoint_heaps" ], 0, - "367ee50e189a92d3c4b51e0dfadc609d" + "ae14f5d2b52c5a5c27f1819129fd0b32" ], [ "Shallow.frame", @@ -54,7 +54,7 @@ "equation_Shallow.frame_post", "equation_Shallow.frame_wp", "equation_Shallow.frame_wp0", "equation_Shallow.frame_wp1", "equation_Shallow.memory", "equation_Shallow.result", - "interpretation_Tm_abs_b7cf381c1c5ab4c6bf68045be03bc941", + "interpretation_Tm_abs_6e0464fbbceb86e820a9ae0b43d8804a", "l_and-interp", "lemma_SepLogic.Heap.lemma_sep_defined_disjoint_heaps", "lemma_SepLogic.Heap.lemma_split_heap_disjoint", @@ -63,13 +63,13 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_6a7522140d769ee530476dbfc2fc5efa", - "refinement_interpretation_Tm_refine_d720fb7a674dbd1f925b1e8ff012c361", - "refinement_interpretation_Tm_refine_e062640e7ea6051103880a953ab6d633", + "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", + "refinement_interpretation_Tm_refine_a945cf7414fd7329854bb78706efd6f4", + "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", "token_correspondence_Shallow.frame_post" ], 0, - "100135eda7139741e803eaa337392972" + "26ca6f22b5164ddcf4bb931a66668ead" ], [ "Shallow.bind_without_framing", @@ -80,17 +80,17 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.Native.snd", "equation_Shallow.result", "function_token_typing_SepLogic.Heap.heap", - "interpretation_Tm_abs_1c9e994b8e3d63999f63e8c67ba9978d", + "interpretation_Tm_abs_9342b712d4240d161dcba503801217f5", "lemma_SepLogic.Heap.lemma_fresh_or_old_trans", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_78445f6fcaf8a4317f0ad4e5c454834c", - "refinement_interpretation_Tm_refine_d720fb7a674dbd1f925b1e8ff012c361", + "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", + "refinement_interpretation_Tm_refine_fbc4fe226cb0b6d20b3d1aaaf7927f94", "typing_FStar.Pervasives.Native.snd" ], 0, - "f5aa6df900c232612fc18ecf51d205cf" + "116e0ecc42b6d57a03dd7f53378d84c4" ], [ "Shallow.bind_with_framing", @@ -103,19 +103,19 @@ "equation_Shallow.frame_wp0", "equation_Shallow.frame_wp1", "equation_Shallow.memory", "equation_Shallow.result", "function_token_typing_SepLogic.Heap.heap", - "interpretation_Tm_abs_455a0db12516e2c554bd507475b4e029", + "interpretation_Tm_abs_b64377a92bf1b049d854307937bc869a", "lemma_SepLogic.Heap.lemma_fresh_or_old_trans", "lemma_SepLogic.Heap.lemma_split_heap_join", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_a3eed8060cd1b0dec0ce41a638597e7b", - "refinement_interpretation_Tm_refine_d720fb7a674dbd1f925b1e8ff012c361", - "refinement_interpretation_Tm_refine_e062640e7ea6051103880a953ab6d633", + "refinement_interpretation_Tm_refine_067f08ac15c16cd8c8a844eeb6bf5e44", + "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", + "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", "typing_FStar.Pervasives.Native.snd" ], 0, - "45297636146b8af85b926771ad92ba9b" + "7278cd1c140da5aa25cd3ddf0c9f2761" ], [ "Shallow.read_without_framing", @@ -131,10 +131,10 @@ "lemma_SepLogic.Heap.lemma_points_to_sel", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_94f4b929f73c633a2a1e325f4de54949" + "refinement_interpretation_Tm_refine_56e0921215b643bb9fea9a5885ab2822" ], 0, - "640727d673e4c260adf79e9d95d72ea4" + "412fee985010f826b2f669169018052c" ], [ "Shallow.read_with_framing", @@ -143,11 +143,11 @@ 0, [ "@query", "equation_Shallow.frame_read_wp", - "interpretation_Tm_abs_6714eacb010869ef7b4a14468dcabc6f", + "interpretation_Tm_abs_2398a767c193125e550ea99c5ad41ec7", "token_correspondence_Shallow.frame_read_wp" ], 0, - "a32c44df0021d47220270989527707b3" + "e3082767571e6b5b915e5298a93b8785" ], [ "Shallow.write_wp", @@ -159,7 +159,7 @@ "lemma_SepLogic.Heap.lemma_points_to_mcontains" ], 0, - "61b340417e43eed4081f5a0ee302dd38" + "906517c6a2793b3edde2a0950a694609" ], [ "Shallow.write_without_framing", @@ -172,18 +172,18 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.l_Exists", "equation_Prims.squash", "equation_Shallow.write_wp", "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_29a1fb8baa5462cab0012cde1b8c0490", - "l_quant_interp_c02b5b9580a6350fa3b684eff107e6e1", + "interpretation_Tm_abs_275bcb84b921dbe44fde4cd857be44d0", + "l_quant_interp_9e834801558423faada732bb40e6b223", "lemma_SepLogic.Heap.lemma_hcontains_mcontains", "lemma_SepLogic.Heap.lemma_points_to_mcontains", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4a56112541b70791fbbf581c1bbcad72", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_5e99206eb2d2314ef45c2d691c216691", "token_correspondence_Shallow.write_wp", "unit_typing" ], 0, - "bd92b4b221c878bf0dcd993e76516c32" + "377aea7e47c1b912aad2758b65403e1e" ], [ "Shallow.write_with_framing", @@ -191,14 +191,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Shallow.frame_write_wp", - "interpretation_Tm_abs_37805220d5a44838159f1fcb87023954", - "token_correspondence_Shallow.frame_write_wp", "unit_typing" + "@query", "equation_Shallow.frame_write_wp", + "interpretation_Tm_abs_fd6dd5a324e4a5b648ad57adfedbad4b", + "token_correspondence_Shallow.frame_write_wp" ], 0, - "17ca6c7bde56b404a703c4e73b67d250" + "83622393f6b75ebfc04603dcfea57ca5" ], [ "Shallow.alloc_without_framing", @@ -208,13 +206,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.Native.snd", "equation_Shallow.alloc_wp", - "interpretation_Tm_abs_e35f1b4b53372577f776061253d84885", + "interpretation_Tm_abs_3ba7b2beb065a2aa930b380fcbfab6d3", "l_and-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_be806974d1e1eb7b729f1c9589e85568", + "refinement_interpretation_Tm_refine_5525ec57502e90f03b508b741050684b", "token_correspondence_Shallow.alloc_wp" ], 0, - "42147b96f1ebebba9ac0d580cea73532" + "00847b5e212d38e141ed1bd956bbefb1" ], [ "Shallow.alloc_with_framing", @@ -223,11 +221,11 @@ 0, [ "@query", "equation_Shallow.frame_alloc_wp", - "interpretation_Tm_abs_a93d5ade457dd6d2dae6695896255854", + "interpretation_Tm_abs_f9b1edca76f479091cc187dda5813d58", "token_correspondence_Shallow.frame_alloc_wp" ], 0, - "597f8a945650079026e65d2f78462174" + "a699e251615c8641b5674e8452b379b0" ], [ "Shallow.dealloc_wp", @@ -239,7 +237,7 @@ "lemma_SepLogic.Heap.lemma_points_to_mcontains" ], 0, - "c0dc4c3972389b079540742eb89fd0ba" + "23bcff0837340cbbcd9fdf3bf5eb1520" ], [ "Shallow.dealloc_without_framing", @@ -252,18 +250,18 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.l_Exists", "equation_Prims.squash", "equation_Shallow.dealloc_wp", "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9e4f73efbd7d7d0e50e9a7de49fcbc62", - "l_quant_interp_371ea625d9509c7a4cba7d68f2391512", + "interpretation_Tm_abs_3fd9a3886c9bd3b4f5921534b6dd028b", + "l_quant_interp_826a67dae3d5d3945dfe8d633be82380", "lemma_SepLogic.Heap.lemma_hcontains_mcontains", "lemma_SepLogic.Heap.lemma_points_to_mcontains", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_14741a8716adc8b0553def2dfbeeee30", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_6ae2ef771fd19e71479553ff1fc1d19b", "token_correspondence_Shallow.dealloc_wp", "unit_typing" ], 0, - "81841153cd2e6a6c53233bef35d2048c" + "a4695ff7dde32f2958efe557997197ff" ], [ "Shallow.dealloc_with_framing", @@ -271,14 +269,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Shallow.frame_dealloc_wp", - "interpretation_Tm_abs_442b82872faadbfe4aae8b8a766ffa85", - "token_correspondence_Shallow.frame_dealloc_wp", "unit_typing" + "@query", "equation_Shallow.frame_dealloc_wp", + "interpretation_Tm_abs_471ffa5278759f731dca1678e22f43aa", + "token_correspondence_Shallow.frame_dealloc_wp" ], 0, - "60da5079261032660369dedcb03960ac" + "0f0980de27fd4cb4a43d611442be2b98" ], [ "Shallow.return_without_binding", @@ -291,10 +287,10 @@ "lemma_SepLogic.Heap.lemma_fresh_or_old_refl", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05cfe18b0b860e90eeb56625b596df8e" + "refinement_interpretation_Tm_refine_c15de0bf63fcbf1efce8ed72c9caa328" ], 0, - "78537a80cd0162d9506c8855af5318f5" + "962419b68dd9495337330348b1e5a61e" ], [ "Shallow.return_with_binding", @@ -307,10 +303,10 @@ "lemma_SepLogic.Heap.lemma_fresh_or_old_refl", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3f37abd0c5d90ec869c8ef5652af0c04" + "refinement_interpretation_Tm_refine_b816ea8bfa17eb23079925b2ed282652" ], 0, - "ef69210147379bd02c27c8fa589efbdc" + "f3825cf84876c8990ae3aba19a5c4281" ], [ "Shallow.frame_post", @@ -319,7 +315,7 @@ 1, [ "@query", "lemma_SepLogic.Heap.lemma_sep_defined_disjoint_heaps" ], 0, - "49cc07c935bd0c1b8c1a493330ae3084" + "5411751ff9dc8f4cbad9dcd9a8caa82b" ], [ "Shallow.frame", @@ -333,7 +329,7 @@ "equation_Shallow.frame_post", "equation_Shallow.frame_wp", "equation_Shallow.frame_wp0", "equation_Shallow.frame_wp1", "equation_Shallow.memory", "equation_Shallow.result", - "interpretation_Tm_abs_b7cf381c1c5ab4c6bf68045be03bc941", + "interpretation_Tm_abs_6e0464fbbceb86e820a9ae0b43d8804a", "l_and-interp", "lemma_SepLogic.Heap.lemma_sep_defined_disjoint_heaps", "lemma_SepLogic.Heap.lemma_split_heap_disjoint", @@ -342,13 +338,13 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_6a7522140d769ee530476dbfc2fc5efa", - "refinement_interpretation_Tm_refine_d720fb7a674dbd1f925b1e8ff012c361", - "refinement_interpretation_Tm_refine_e062640e7ea6051103880a953ab6d633", + "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", + "refinement_interpretation_Tm_refine_a945cf7414fd7329854bb78706efd6f4", + "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", "token_correspondence_Shallow.frame_post" ], 0, - "b01bd6c9fb45493979fd79e644a0d8e1" + "ee2cba4bd460d92faf4e28c23feaa499" ], [ "Shallow.bind_without_framing", @@ -359,17 +355,17 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.Native.snd", "equation_Shallow.result", "function_token_typing_SepLogic.Heap.heap", - "interpretation_Tm_abs_1c9e994b8e3d63999f63e8c67ba9978d", + "interpretation_Tm_abs_9342b712d4240d161dcba503801217f5", "lemma_SepLogic.Heap.lemma_fresh_or_old_trans", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_78445f6fcaf8a4317f0ad4e5c454834c", - "refinement_interpretation_Tm_refine_d720fb7a674dbd1f925b1e8ff012c361", + "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", + "refinement_interpretation_Tm_refine_fbc4fe226cb0b6d20b3d1aaaf7927f94", "typing_FStar.Pervasives.Native.snd" ], 0, - "dccacf334e3bc181b8459b2f8aefc0bc" + "59636a16dc5dd61a52f31af49ce9aa4d" ], [ "Shallow.bind_with_framing", @@ -382,19 +378,19 @@ "equation_Shallow.frame_wp0", "equation_Shallow.frame_wp1", "equation_Shallow.memory", "equation_Shallow.result", "function_token_typing_SepLogic.Heap.heap", - "interpretation_Tm_abs_455a0db12516e2c554bd507475b4e029", + "interpretation_Tm_abs_b64377a92bf1b049d854307937bc869a", "lemma_SepLogic.Heap.lemma_fresh_or_old_trans", "lemma_SepLogic.Heap.lemma_split_heap_join", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_a3eed8060cd1b0dec0ce41a638597e7b", - "refinement_interpretation_Tm_refine_d720fb7a674dbd1f925b1e8ff012c361", - "refinement_interpretation_Tm_refine_e062640e7ea6051103880a953ab6d633", + "refinement_interpretation_Tm_refine_067f08ac15c16cd8c8a844eeb6bf5e44", + "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", + "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", "typing_FStar.Pervasives.Native.snd" ], 0, - "bd66424b155ba6e458c9e6d6964b9ab0" + "00655d43ba39fbc85545d90476f9be81" ], [ "Shallow.read_without_framing", @@ -410,10 +406,10 @@ "lemma_SepLogic.Heap.lemma_points_to_sel", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_94f4b929f73c633a2a1e325f4de54949" + "refinement_interpretation_Tm_refine_56e0921215b643bb9fea9a5885ab2822" ], 0, - "c6e79f3700617377408da9d9445f2a20" + "e3ed0664d6ce1679f3705330f8e5a3f8" ], [ "Shallow.read_with_framing", @@ -422,11 +418,11 @@ 0, [ "@query", "equation_Shallow.frame_read_wp", - "interpretation_Tm_abs_6714eacb010869ef7b4a14468dcabc6f", + "interpretation_Tm_abs_2398a767c193125e550ea99c5ad41ec7", "token_correspondence_Shallow.frame_read_wp" ], 0, - "ab8b3d45ed37ed704afe412adc4a051c" + "c4a88d5160099a375cde0504a02fe2d9" ], [ "Shallow.write_wp", @@ -438,7 +434,7 @@ "lemma_SepLogic.Heap.lemma_points_to_mcontains" ], 0, - "11bd4d30328caec6e7a5e4e994d1aad1" + "2a18be74cde2f7a20c0a82bce8c6c330" ], [ "Shallow.write_without_framing", @@ -451,18 +447,18 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.l_Exists", "equation_Prims.squash", "equation_Shallow.write_wp", "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_29a1fb8baa5462cab0012cde1b8c0490", - "l_quant_interp_c02b5b9580a6350fa3b684eff107e6e1", + "interpretation_Tm_abs_275bcb84b921dbe44fde4cd857be44d0", + "l_quant_interp_9e834801558423faada732bb40e6b223", "lemma_SepLogic.Heap.lemma_hcontains_mcontains", "lemma_SepLogic.Heap.lemma_points_to_mcontains", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4a56112541b70791fbbf581c1bbcad72", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_5e99206eb2d2314ef45c2d691c216691", "token_correspondence_Shallow.write_wp", "unit_typing" ], 0, - "ab646d24a5a5127688844de2533d5f19" + "d583becca259213598fb61e23ad23e84" ], [ "Shallow.write_with_framing", @@ -470,14 +466,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Shallow.frame_write_wp", - "interpretation_Tm_abs_37805220d5a44838159f1fcb87023954", - "token_correspondence_Shallow.frame_write_wp", "unit_typing" + "@query", "equation_Shallow.frame_write_wp", + "interpretation_Tm_abs_fd6dd5a324e4a5b648ad57adfedbad4b", + "token_correspondence_Shallow.frame_write_wp" ], 0, - "0a4caf992e12d7903032e0a7208acdc1" + "1c70aa56591fed1ee4c4dcd11fc691b2" ], [ "Shallow.alloc_without_framing", @@ -487,13 +481,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.Native.snd", "equation_Shallow.alloc_wp", - "interpretation_Tm_abs_e35f1b4b53372577f776061253d84885", + "interpretation_Tm_abs_3ba7b2beb065a2aa930b380fcbfab6d3", "l_and-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_be806974d1e1eb7b729f1c9589e85568", + "refinement_interpretation_Tm_refine_5525ec57502e90f03b508b741050684b", "token_correspondence_Shallow.alloc_wp" ], 0, - "f6173afd6361d46a34d6c01ae2ca4bb3" + "1629f381c705fa051d3c25ab65e318f9" ], [ "Shallow.alloc_with_framing", @@ -502,11 +496,11 @@ 0, [ "@query", "equation_Shallow.frame_alloc_wp", - "interpretation_Tm_abs_a93d5ade457dd6d2dae6695896255854", + "interpretation_Tm_abs_f9b1edca76f479091cc187dda5813d58", "token_correspondence_Shallow.frame_alloc_wp" ], 0, - "3296f17c111ef8f913f66798e54e780e" + "4b8dd25cfdddc39978b9be676bc07a47" ], [ "Shallow.dealloc_wp", @@ -518,7 +512,7 @@ "lemma_SepLogic.Heap.lemma_points_to_mcontains" ], 0, - "198295f6566f20b77dc86c3271bee500" + "dc5d2ddd705d20bfe801474481b34439" ], [ "Shallow.dealloc_without_framing", @@ -531,18 +525,18 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.l_Exists", "equation_Prims.squash", "equation_Shallow.dealloc_wp", "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9e4f73efbd7d7d0e50e9a7de49fcbc62", - "l_quant_interp_371ea625d9509c7a4cba7d68f2391512", + "interpretation_Tm_abs_3fd9a3886c9bd3b4f5921534b6dd028b", + "l_quant_interp_826a67dae3d5d3945dfe8d633be82380", "lemma_SepLogic.Heap.lemma_hcontains_mcontains", "lemma_SepLogic.Heap.lemma_points_to_mcontains", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_14741a8716adc8b0553def2dfbeeee30", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_6ae2ef771fd19e71479553ff1fc1d19b", "token_correspondence_Shallow.dealloc_wp", "unit_typing" ], 0, - "1cc4fcb08b98227570db54771b679d06" + "b912b5f57b2af861ab5f2c6fd590f6b6" ], [ "Shallow.dealloc_with_framing", @@ -550,14 +544,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Shallow.frame_dealloc_wp", - "interpretation_Tm_abs_442b82872faadbfe4aae8b8a766ffa85", - "token_correspondence_Shallow.frame_dealloc_wp", "unit_typing" + "@query", "equation_Shallow.frame_dealloc_wp", + "interpretation_Tm_abs_471ffa5278759f731dca1678e22f43aa", + "token_correspondence_Shallow.frame_dealloc_wp" ], 0, - "fa76c8a7016659e1e34382493cb3bca9" + "e121cc9c05d7994d5c81912098d639f1" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/ArrayRealized.fst.hints b/examples/data_structures/ArrayRealized.fst.hints index 8603b5ca9fb..2999ea72ae1 100644 --- a/examples/data_structures/ArrayRealized.fst.hints +++ b/examples/data_structures/ArrayRealized.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_f518e333d098938912ef26bb10f80716" ], 0, - "f47cf7de8e6d27c08fc0aa1366cf4abd" + "78bd94030c72585ae5845a1991f78533" ], [ "ArrayRealized.__proj__Upd__item__ix", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" ], 0, - "5c6c5f0f49cc03f7b91aad31bb152b79" + "002f6b4ba51b167c7f6fd9892d06c541" ], [ "ArrayRealized.__proj__Upd__item__v", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" ], 0, - "4a9eefffd7bd9ab933f8bae5e1c4630f" + "4cc14469fd86a9b5f6607f9e37ba36be" ], [ "ArrayRealized.__proj__Upd__item__tl", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" ], 0, - "edadc9e580fbe393fb943fee2b9cd1b5" + "f9fe8c3ca752fcf296d95c3719266d8e" ], [ "ArrayRealized.__proj__Append__item__s1", @@ -66,7 +66,7 @@ "refinement_interpretation_Tm_refine_f6b3b0b73fcc8263a6e67a711e0143be" ], 0, - "81bf2c60517e255a64ea25976579f4d2" + "d77ae73c5c8949e740b94ddd8618c045" ], [ "ArrayRealized.__proj__Append__item__s2", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_f6b3b0b73fcc8263a6e67a711e0143be" ], 0, - "0639d4e4e958d09cc6ec72ec3dbf3054" + "51a44c7923967906dedcb94362bdb4d2" ], [ "ArrayRealized.__proj__Seq__item__end_i", @@ -92,7 +92,7 @@ "projection_inverse_ArrayRealized.Seq_start_i" ], 0, - "8213209f38c31ddab45311f148d04468" + "0d7dfbd79a2cf049bd3313ccd766cad2" ], [ "ArrayRealized.create", @@ -101,10 +101,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3e85433daa50a79189d9176963ab3f30" + "382710b85b2e807f2eff70a9d2ffbd0a" ], [ "ArrayRealized.length", @@ -112,15 +112,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", "proj_equation_ArrayRealized.Seq_end_i", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_01444570b0882178caacc9dd5fd1fbe1", + "refinement_interpretation_Tm_refine_6afa65d9c74af2fe6d9a37a4161c64a5", "typing_ArrayRealized.__proj__Seq__item__end_i" ], 0, - "b7d705e522bb2e45cc862f65e6dbf2b7" + "54fbf9683b203f02ba2393867ba19bc4" ], [ "ArrayRealized.__index__", @@ -141,7 +140,7 @@ "subterm_ordering_ArrayRealized.Upd" ], 0, - "01830f10eda07567b83305d947a1b036" + "fd7eb31dc55e907ffad53a688f4803f7" ], [ "ArrayRealized.__update__", @@ -161,7 +160,7 @@ "subterm_ordering_ArrayRealized.Seq" ], 0, - "04b6b06386cbf5cff69d55338a30f15a" + "8aad86c343678a6daa25293bc9b65d24" ], [ "ArrayRealized.slice", @@ -169,17 +168,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fdd9ace7f2efad53ff7cbf505eac93f2" + "refinement_interpretation_Tm_refine_4a6642d08239c82e3ded92ca12e02f84", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "67e87ede60c5eafab4cd232dc392c316" + "152555e5fa65c3162bd376df8575004d" ], [ "ArrayRealized.split", @@ -187,11 +183,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_7de06926b3d0b8c993b19f5d2fbb94aa" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b8cada5c916f910ecd78984b727cc657" ], 0, - "946ace66284b09bc98a4130d87f94a2c" + "735e2b6052eda43164dc8a2e405ac71d" ], [ "ArrayRealized.append", @@ -199,17 +195,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_ArrayRealized.length", "equation_Prims.nat", - "fuel_guarded_inversion_ArrayRealized.seq", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_ArrayRealized.length", + "equation_Prims.nat", "fuel_guarded_inversion_ArrayRealized.seq", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_ArrayRealized.length" ], 0, - "ea9e0571b94afbf50424b5544ebfa8c4" + "2361b5521c076142f5804d8887e8ef52" ], [ "ArrayRealized.__proj__Const__item__v", @@ -223,7 +216,7 @@ "refinement_interpretation_Tm_refine_f518e333d098938912ef26bb10f80716" ], 0, - "e9b4a90fcc2478564c1c32a5929f2df4" + "8e223b035ed61bafb3a890cdccd4923a" ], [ "ArrayRealized.__proj__Upd__item__ix", @@ -236,7 +229,7 @@ "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" ], 0, - "8f15691ec1b56217bca01279e2d91a0c" + "21e84754da39e0140c3bccb523de5523" ], [ "ArrayRealized.__proj__Upd__item__v", @@ -249,7 +242,7 @@ "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" ], 0, - "61edc5f908b0779a436ea23006fa5fa4" + "3167c76aaf3da599ae604d79d0b37591" ], [ "ArrayRealized.__proj__Upd__item__tl", @@ -262,7 +255,7 @@ "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" ], 0, - "5f222e044e9db958489796c0c9f0cd0a" + "1f5ff46cf817a0694408c67fb18aa96f" ], [ "ArrayRealized.__proj__Append__item__s1", @@ -276,7 +269,7 @@ "refinement_interpretation_Tm_refine_f6b3b0b73fcc8263a6e67a711e0143be" ], 0, - "35d91745c5e8e6d6c479b573d1a0b5f9" + "e60cb86bddb8ccc80b24173354ec8d1f" ], [ "ArrayRealized.__proj__Append__item__s2", @@ -290,7 +283,7 @@ "refinement_interpretation_Tm_refine_f6b3b0b73fcc8263a6e67a711e0143be" ], 0, - "94e991910f0935cc81aaeb2dbe7cef39" + "139598980746c2429a701c48a5b886c9" ], [ "ArrayRealized.__proj__Seq__item__end_i", @@ -302,7 +295,7 @@ "projection_inverse_ArrayRealized.Seq_start_i" ], 0, - "c71163ff99ac75e1d7700c153ba77bd7" + "605a3a81d944c30fc9b589a5ffec3fcf" ], [ "ArrayRealized.create", @@ -311,10 +304,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4a06e27205ee002932fef2e175203538" + "88c16d0772170a81edc4ccabeffaf1e3" ], [ "ArrayRealized.length", @@ -322,15 +315,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", "proj_equation_ArrayRealized.Seq_end_i", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_01444570b0882178caacc9dd5fd1fbe1", + "refinement_interpretation_Tm_refine_6afa65d9c74af2fe6d9a37a4161c64a5", "typing_ArrayRealized.__proj__Seq__item__end_i" ], 0, - "94165f491fd0d8f5574ad88f4d13e48a" + "70a39ffbf5ce9d9fd331f53c4a9303a9" ], [ "ArrayRealized.__index__", @@ -351,7 +343,7 @@ "subterm_ordering_ArrayRealized.Upd" ], 0, - "4f5bc6283170130799bc3b30e5b390f0" + "df6f862355dbfa36bf2cb29dafe22bcb" ], [ "ArrayRealized.__update__", @@ -371,7 +363,7 @@ "subterm_ordering_ArrayRealized.Seq" ], 0, - "9bf85143ae93eb40933bf5acf9eecbfa" + "bf40800140365bd3e0c98933ded3b3ad" ], [ "ArrayRealized.slice", @@ -379,17 +371,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fdd9ace7f2efad53ff7cbf505eac93f2" + "refinement_interpretation_Tm_refine_4a6642d08239c82e3ded92ca12e02f84", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8cbb126a50f2562c87bc4ee5ac1d36cd" + "4481601016b67343ab6c83bc53107e19" ], [ "ArrayRealized.split", @@ -397,11 +386,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_7de06926b3d0b8c993b19f5d2fbb94aa" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_b8cada5c916f910ecd78984b727cc657" ], 0, - "b05875049e8f7cf14cc21f64293f9e08" + "9088ba6d7256fcedfb69093dd58ee183" ], [ "ArrayRealized.append", @@ -409,17 +398,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_ArrayRealized.length", "equation_Prims.nat", - "fuel_guarded_inversion_ArrayRealized.seq", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_ArrayRealized.length", + "equation_Prims.nat", "fuel_guarded_inversion_ArrayRealized.seq", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_ArrayRealized.length" ], 0, - "9ad9f7b29260fbf93e8d0211e191a0eb" + "3867cf8e5c3f751bdc9eb95c3bcca9a0" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTree.fst.hints b/examples/data_structures/BinarySearchTree.fst.hints index e8ccddf40e8..80a31e69de6 100644 --- a/examples/data_structures/BinarySearchTree.fst.hints +++ b/examples/data_structures/BinarySearchTree.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "c4dfc4a75decc37d0ecf494d37b7110a" + "32573f2fcbece20ef1c26586bd360663" ], [ "BinarySearchTree.__proj__Node__item___0", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" ], 0, - "7ba67d5420ba207a7deb920ddea017c3" + "010fa867fcd3f04dd93f372ed93c4c96" ], [ "BinarySearchTree.__proj__Node__item___1", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" ], 0, - "fdb9e4f25af3c095ed326ef81bc813f0" + "167c3a692a2a40c2f7271f49684f502d" ], [ "BinarySearchTree.__proj__Node__item___2", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" ], 0, - "a46dc23feb1ba249479af8762c81aa61" + "17998c184cbb7d6f12f0348e707811b7" ], [ "BinarySearchTree.in_tree", @@ -68,7 +68,7 @@ "subterm_ordering_BinarySearchTree.Node" ], 0, - "51ed23b2be9c9a9e82b0dd7e7efb7d67" + "f7350aea1f3a93f9354e3ae1d201b84a" ], [ "BinarySearchTree.all", @@ -80,12 +80,11 @@ "@fuel_correspondence_BinarySearchTree.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTree.in_tree.fuel_instrumented", "@query", + "BinarySearchTree_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", "BinarySearchTree_pretyping_4fb05f28dfa2fb41ed53b888dfc12a53", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_4fb05f28dfa2fb41ed53b888dfc12a53_1", - "binder_x_76e2639fdbc6710cc1f69127f0a620f4_0", "bool_inversion", + "binder_x_d572127907d518d641a8068497b9d6e8_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTree.Node", "disc_equation_BinarySearchTree.Leaf", "disc_equation_BinarySearchTree.Node", @@ -100,14 +99,13 @@ "projection_inverse_BinarySearchTree.Node__2", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_7ea8f12bf07c3e51cd90896f7652e531", - "refinement_interpretation_Tm_refine_8fb9d562aed03e52df412b353233e9df", + "refinement_interpretation_Tm_refine_a0c12e4ea80af3cbffe3ba2949fcf58c", "subterm_ordering_BinarySearchTree.Node", - "token_correspondence_BinarySearchTree.in_tree.fuel_instrumented", "typing_BinarySearchTree.all", "typing_BinarySearchTree.in_tree", "typing_tok_BinarySearchTree.Leaf@tok" ], 0, - "05e3e9556e762c461614be8cefc50c95" + "62903d0aa043f526ee6c1c63c02609af" ], [ "BinarySearchTree.is_bst", @@ -123,7 +121,7 @@ "subterm_ordering_BinarySearchTree.Node" ], 0, - "32e049abb4ebcd045cfc907d96ac5ab3" + "c1e93b0220efc0ac6bfd5f9edc08b57b" ], [ "BinarySearchTree.search", @@ -138,8 +136,7 @@ "@fuel_irrelevance_BinarySearchTree.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTree.is_bst.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", "binder_x_f6d3821fcaef2ad8ce7d9b42def9b32f_1", "bool_inversion", "constructor_distinct_BinarySearchTree.Node", "disc_equation_BinarySearchTree.Leaf", @@ -150,25 +147,25 @@ "fuel_guarded_inversion_BinarySearchTree.tree", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_3aed7f79fd11767dcdbb256ff7e3b1f6", - "interpretation_Tm_abs_bd0b0b35ecafa0c99bd8ee5d79e6f170", + "interpretation_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", + "interpretation_Tm_abs_81145e2a17baae250420b940759fbae0", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTree.Node__0", "projection_inverse_BinarySearchTree.Node__1", "projection_inverse_BinarySearchTree.Node__2", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8fb9d562aed03e52df412b353233e9df", "refinement_interpretation_Tm_refine_986870ba6f3bab2a93c6bc91ce97e1cd", + "refinement_interpretation_Tm_refine_a0c12e4ea80af3cbffe3ba2949fcf58c", "subterm_ordering_BinarySearchTree.Node", "token_correspondence_BinarySearchTree.in_tree.fuel_instrumented", "token_correspondence_BinarySearchTree.is_bst.fuel_instrumented", "typing_BinarySearchTree.all", - "typing_Tm_abs_3aed7f79fd11767dcdbb256ff7e3b1f6", - "typing_Tm_abs_bd0b0b35ecafa0c99bd8ee5d79e6f170" + "typing_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", + "typing_Tm_abs_81145e2a17baae250420b940759fbae0" ], 0, - "04ddcce3316bc71d3f266af0b149ce16" + "b4a912a0a79eec25ac8f4cf98297c79d" ], [ "BinarySearchTree.insert", @@ -183,10 +180,9 @@ "@fuel_irrelevance_BinarySearchTree.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTree.is_bst.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "BinarySearchTree_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", "binder_x_f6d3821fcaef2ad8ce7d9b42def9b32f_1", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTree.Leaf", "constructor_distinct_BinarySearchTree.Node", @@ -201,8 +197,8 @@ "fuel_guarded_inversion_BinarySearchTree.tree", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_3aed7f79fd11767dcdbb256ff7e3b1f6", - "interpretation_Tm_abs_bd0b0b35ecafa0c99bd8ee5d79e6f170", + "interpretation_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", + "interpretation_Tm_abs_81145e2a17baae250420b940759fbae0", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", @@ -210,21 +206,20 @@ "projection_inverse_BinarySearchTree.Node__1", "projection_inverse_BinarySearchTree.Node__2", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8fb9d562aed03e52df412b353233e9df", + "refinement_interpretation_Tm_refine_858ba2a8da4b952c08259acb95dfed26", "refinement_interpretation_Tm_refine_986870ba6f3bab2a93c6bc91ce97e1cd", - "refinement_interpretation_Tm_refine_e17f174c65a34e2a19bd5c6e8c8553a5", + "refinement_interpretation_Tm_refine_a0c12e4ea80af3cbffe3ba2949fcf58c", "subterm_ordering_BinarySearchTree.Node", - "token_correspondence_BinarySearchTree.all.fuel_instrumented", "token_correspondence_BinarySearchTree.in_tree.fuel_instrumented", "token_correspondence_BinarySearchTree.is_bst.fuel_instrumented", "typing_BinarySearchTree.all", "typing_BinarySearchTree.in_tree", "typing_BinarySearchTree.is_bst", - "typing_Tm_abs_3aed7f79fd11767dcdbb256ff7e3b1f6", - "typing_Tm_abs_bd0b0b35ecafa0c99bd8ee5d79e6f170", + "typing_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", + "typing_Tm_abs_81145e2a17baae250420b940759fbae0", "typing_tok_BinarySearchTree.Leaf@tok" ], 0, - "e77b994db474de829db6e612ce64d141" + "3e67e84f705d422475a33b2867457c4c" ], [ "BinarySearchTree.tree", @@ -233,7 +228,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "ddf7f9d5d3a48d5c441ce1d112e22d0d" + "077808b7a8b38430424a3d580233a8ee" ], [ "BinarySearchTree.__proj__Node__item___0", @@ -247,7 +242,7 @@ "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" ], 0, - "8116310393c3a1d8bf0a62151e7f426c" + "32ae0e8835cce8bbdf99ea63d778e9ac" ], [ "BinarySearchTree.__proj__Node__item___1", @@ -261,7 +256,7 @@ "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" ], 0, - "098150ebc1102b8d9b748de1c52b89dc" + "b1df809f8767ccd6c6a426ff7eb96b77" ], [ "BinarySearchTree.__proj__Node__item___2", @@ -275,7 +270,7 @@ "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" ], 0, - "c407484ad88a6116810ba2ef9eac446a" + "65f1af3fcff6d9e7488df41aec18d414" ], [ "BinarySearchTree.in_tree", @@ -293,7 +288,7 @@ "subterm_ordering_BinarySearchTree.Node" ], 0, - "1d5f29ea2eca127e04dba23a3bd34ad3" + "0e99a9c6381b5709a8676a7e0b4fd141" ], [ "BinarySearchTree.all", @@ -305,12 +300,11 @@ "@fuel_correspondence_BinarySearchTree.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTree.in_tree.fuel_instrumented", "@query", + "BinarySearchTree_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", "BinarySearchTree_pretyping_4fb05f28dfa2fb41ed53b888dfc12a53", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_4fb05f28dfa2fb41ed53b888dfc12a53_1", - "binder_x_76e2639fdbc6710cc1f69127f0a620f4_0", "bool_inversion", + "binder_x_d572127907d518d641a8068497b9d6e8_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTree.Node", "disc_equation_BinarySearchTree.Leaf", "disc_equation_BinarySearchTree.Node", @@ -325,14 +319,13 @@ "projection_inverse_BinarySearchTree.Node__2", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_7ea8f12bf07c3e51cd90896f7652e531", - "refinement_interpretation_Tm_refine_8fb9d562aed03e52df412b353233e9df", + "refinement_interpretation_Tm_refine_a0c12e4ea80af3cbffe3ba2949fcf58c", "subterm_ordering_BinarySearchTree.Node", - "token_correspondence_BinarySearchTree.in_tree.fuel_instrumented", "typing_BinarySearchTree.all", "typing_BinarySearchTree.in_tree", "typing_tok_BinarySearchTree.Leaf@tok" ], 0, - "802658a557ab3ae7b418dcbee2f97523" + "5beee6d137655d7a84f04f67153e8333" ], [ "BinarySearchTree.is_bst", @@ -348,7 +341,7 @@ "subterm_ordering_BinarySearchTree.Node" ], 0, - "4af44810634c0676b37a211c5d91be8d" + "35039a539bc648f55357e5ce3cf82b53" ], [ "BinarySearchTree.search", @@ -363,8 +356,7 @@ "@fuel_irrelevance_BinarySearchTree.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTree.is_bst.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", "binder_x_f6d3821fcaef2ad8ce7d9b42def9b32f_1", "bool_inversion", "constructor_distinct_BinarySearchTree.Node", "disc_equation_BinarySearchTree.Leaf", @@ -375,25 +367,25 @@ "fuel_guarded_inversion_BinarySearchTree.tree", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_3aed7f79fd11767dcdbb256ff7e3b1f6", - "interpretation_Tm_abs_bd0b0b35ecafa0c99bd8ee5d79e6f170", + "interpretation_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", + "interpretation_Tm_abs_81145e2a17baae250420b940759fbae0", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTree.Node__0", "projection_inverse_BinarySearchTree.Node__1", "projection_inverse_BinarySearchTree.Node__2", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8fb9d562aed03e52df412b353233e9df", "refinement_interpretation_Tm_refine_986870ba6f3bab2a93c6bc91ce97e1cd", + "refinement_interpretation_Tm_refine_a0c12e4ea80af3cbffe3ba2949fcf58c", "subterm_ordering_BinarySearchTree.Node", "token_correspondence_BinarySearchTree.in_tree.fuel_instrumented", "token_correspondence_BinarySearchTree.is_bst.fuel_instrumented", "typing_BinarySearchTree.all", - "typing_Tm_abs_3aed7f79fd11767dcdbb256ff7e3b1f6", - "typing_Tm_abs_bd0b0b35ecafa0c99bd8ee5d79e6f170" + "typing_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", + "typing_Tm_abs_81145e2a17baae250420b940759fbae0" ], 0, - "ccedafff61261e7f3f3acc20e524c5e3" + "68369103412fff249e7249eb79d6cfad" ], [ "BinarySearchTree.insert", @@ -408,10 +400,9 @@ "@fuel_irrelevance_BinarySearchTree.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTree.is_bst.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "BinarySearchTree_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", "binder_x_f6d3821fcaef2ad8ce7d9b42def9b32f_1", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTree.Leaf", "constructor_distinct_BinarySearchTree.Node", @@ -426,8 +417,8 @@ "fuel_guarded_inversion_BinarySearchTree.tree", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_3aed7f79fd11767dcdbb256ff7e3b1f6", - "interpretation_Tm_abs_bd0b0b35ecafa0c99bd8ee5d79e6f170", + "interpretation_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", + "interpretation_Tm_abs_81145e2a17baae250420b940759fbae0", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", @@ -435,21 +426,20 @@ "projection_inverse_BinarySearchTree.Node__1", "projection_inverse_BinarySearchTree.Node__2", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8fb9d562aed03e52df412b353233e9df", + "refinement_interpretation_Tm_refine_858ba2a8da4b952c08259acb95dfed26", "refinement_interpretation_Tm_refine_986870ba6f3bab2a93c6bc91ce97e1cd", - "refinement_interpretation_Tm_refine_e17f174c65a34e2a19bd5c6e8c8553a5", + "refinement_interpretation_Tm_refine_a0c12e4ea80af3cbffe3ba2949fcf58c", "subterm_ordering_BinarySearchTree.Node", - "token_correspondence_BinarySearchTree.all.fuel_instrumented", "token_correspondence_BinarySearchTree.in_tree.fuel_instrumented", "token_correspondence_BinarySearchTree.is_bst.fuel_instrumented", "typing_BinarySearchTree.all", "typing_BinarySearchTree.in_tree", "typing_BinarySearchTree.is_bst", - "typing_Tm_abs_3aed7f79fd11767dcdbb256ff7e3b1f6", - "typing_Tm_abs_bd0b0b35ecafa0c99bd8ee5d79e6f170", + "typing_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", + "typing_Tm_abs_81145e2a17baae250420b940759fbae0", "typing_tok_BinarySearchTree.Leaf@tok" ], 0, - "ac3ac0b76f3c510d892837d765debcb6" + "401a397c59bcf1a16b7f623363447861" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTree0.fst.hints b/examples/data_structures/BinarySearchTree0.fst.hints index 9e1cf27c150..62a40d82f5d 100644 --- a/examples/data_structures/BinarySearchTree0.fst.hints +++ b/examples/data_structures/BinarySearchTree0.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "7cc419eace9606fd6493877e5bd9bf29" + "52985fd85b5f772d61a74c2ea9a04eca" ], [ "BinarySearchTree0.__proj__Node__item___0", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" ], 0, - "f5cd946d151a72ec6d0d7e8a23f0d7dc" + "6433aa3924db82a2438dcb2e00014736" ], [ "BinarySearchTree0.__proj__Node__item___1", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" ], 0, - "cf352c75228d89e3248781bfef87e33b" + "b5a419059c49566ff7c669e4186c17c8" ], [ "BinarySearchTree0.__proj__Node__item___2", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" ], 0, - "d39ce90aacddb9a8059180ec8346a5d5" + "cb861d54d01a3b9f90250bf3ecad7ffe" ], [ "BinarySearchTree0.search", @@ -68,7 +68,7 @@ "subterm_ordering_BinarySearchTree0.Node" ], 0, - "3655857870e46d60a3b28603082c20e6" + "30256b38edecad49f36eb0354246c749" ], [ "BinarySearchTree0.insert", @@ -86,7 +86,7 @@ "subterm_ordering_BinarySearchTree0.Node" ], 0, - "3186b2f592641e96d6043e3fb9298609" + "a578a5307e2e177d13d14bc4daa6b67f" ], [ "BinarySearchTree0.tree", @@ -95,7 +95,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "e4f65904ff5ca428e32df47b361ef4d7" + "11ccec2a1549e43d13f7df66b302d204" ], [ "BinarySearchTree0.__proj__Node__item___0", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" ], 0, - "dea86ead01ddce3a5be36c63adc67d43" + "e6bba66690a53d6717172218f10ff478" ], [ "BinarySearchTree0.__proj__Node__item___1", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" ], 0, - "c66e965d4402b4a3f2b60a482a0dfbf9" + "c5feebea7f19b0d9dadbdf32e0a60b56" ], [ "BinarySearchTree0.__proj__Node__item___2", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" ], 0, - "c826ca9e730ab97fe2dd5be474f3eba8" + "4c319b15af76add10c37eb40643ad45e" ], [ "BinarySearchTree0.search", @@ -155,7 +155,7 @@ "subterm_ordering_BinarySearchTree0.Node" ], 0, - "f1990237fb525e3eff81155b175851a4" + "3b5351bf0781d54707da595725fc37e9" ], [ "BinarySearchTree0.insert", @@ -173,7 +173,7 @@ "subterm_ordering_BinarySearchTree0.Node" ], 0, - "9e7e24be651e768fba6d0fe278ff3b77" + "eb9d9375e09512cc10eb2deca31a40f7" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTreeBasic.fst b/examples/data_structures/BinarySearchTreeBasic.fst index 9c70b24937c..f105db4dcdf 100644 --- a/examples/data_structures/BinarySearchTreeBasic.fst +++ b/examples/data_structures/BinarySearchTreeBasic.fst @@ -96,12 +96,19 @@ let rec insert'' x t = else if x < n then Node n (insert'' x t1) t2 else Node n t1 (insert'' x t2) +#push-options "--initial_fuel 1 --max_fuel 1 --initial_ifuel 1 --max_ifuel 1" + val insert_lemma : x:int -> t:tree{is_bst t} -> Lemma (is_bst (insert'' x t) /\ (forall y. in_tree y (insert'' x t) <==> in_tree y t \/ x = y)) +//AR: tightening a bit here, since works locally but fails on CI +#push-options "--initial_fuel 1 --max_fuel 1 --initial_ifuel 1 --max_ifuel 1" let rec insert_lemma x t = match t with | Leaf -> () | Node _ t1 t2 -> insert_lemma x t1; insert_lemma x t2 +#pop-options + +#pop-options val ge : int -> int -> Tot bool let ge n1 n2 = n1 >= n2 diff --git a/examples/data_structures/BinarySearchTreeBasic.fst.hints b/examples/data_structures/BinarySearchTreeBasic.fst.hints index 4cb5b20159f..d62799ac848 100644 --- a/examples/data_structures/BinarySearchTreeBasic.fst.hints +++ b/examples/data_structures/BinarySearchTreeBasic.fst.hints @@ -1,5 +1,5 @@ [ - "\u0013hQO\u0010ﺧüF\u001eøãÍBË", + "?½\u0005$éP«{š£[¡-Gæ", [ [ "BinarySearchTreeBasic.tree", @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "99bf8b3f05e27993830a84192a7191cc" + "f0e20d7bc634271aba3b373788dec79b" ], [ "BinarySearchTreeBasic.__proj__Node__item__n", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" ], 0, - "8865b20427ad2790d3870e71a37b8959" + "3377f507b2ec54ab8f26a20d2a011886" ], [ "BinarySearchTreeBasic.__proj__Node__item___1", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" ], 0, - "290a9dce4c941556bcc7f8614b39bce7" + "e62c0e035968d53946db87f002e693d4" ], [ "BinarySearchTreeBasic.__proj__Node__item___2", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" ], 0, - "0ae01e0760f09f11d1df3ed500ff58a9" + "b384fe6ee712404bf6a6ddf43d95818e" ], [ "BinarySearchTreeBasic.in_tree", @@ -68,7 +68,7 @@ "subterm_ordering_BinarySearchTreeBasic.Node" ], 0, - "0b506fcf2630a718190d86aa3e8963df" + "336672f8cf8c90505ce53f3a6a824158" ], [ "BinarySearchTreeBasic.all", @@ -80,12 +80,11 @@ "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@query", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_76e2639fdbc6710cc1f69127f0a620f4_0", - "binder_x_7e2d337133ee482b75591994ee2d6817_1", "bool_inversion", + "binder_x_7e2d337133ee482b75591994ee2d6817_1", + "binder_x_d572127907d518d641a8068497b9d6e8_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Node", "disc_equation_BinarySearchTreeBasic.Leaf", "disc_equation_BinarySearchTreeBasic.Node", @@ -100,15 +99,14 @@ "projection_inverse_BinarySearchTreeBasic.Node_n", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_4e4fb2343c8264b776e97506afee34b8", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "subterm_ordering_BinarySearchTreeBasic.Node", - "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", "typing_BinarySearchTreeBasic.all", "typing_BinarySearchTreeBasic.in_tree", "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "7be795af5abf61bf043890a2ed62321f" + "a992a5e332154665019df40ca0143ab5" ], [ "BinarySearchTreeBasic.is_bst", @@ -124,7 +122,7 @@ "subterm_ordering_BinarySearchTreeBasic.Node" ], 0, - "82c91cabfd298060fe5a872469e73068" + "180f733fc6630fd6b6ade1050d198a03" ], [ "BinarySearchTreeBasic.search", @@ -139,11 +137,11 @@ "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_BinarySearchTreeBasic.Node", "disc_equation_BinarySearchTreeBasic.Leaf", "disc_equation_BinarySearchTreeBasic.Node", @@ -155,17 +153,15 @@ "function_token_typing_BinarySearchTreeBasic.gt", "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTreeBasic.Node__1", "projection_inverse_BinarySearchTreeBasic.Node__2", "projection_inverse_BinarySearchTreeBasic.Node_n", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "subterm_ordering_BinarySearchTreeBasic.Node", "token_correspondence_BinarySearchTreeBasic.gt", "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", @@ -174,7 +170,7 @@ "typing_BinarySearchTreeBasic.all" ], 0, - "54f074aaee166ee2734ca9a5967b6932" + "a4ede59c67e53e8f7d58d612f18b52a5" ], [ "BinarySearchTreeBasic.insert", @@ -189,12 +185,11 @@ "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", "constructor_distinct_BinarySearchTreeBasic.Node", "data_typing_intro_BinarySearchTreeBasic.Node@tok", @@ -207,21 +202,19 @@ "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", "fuel_guarded_inversion_BinarySearchTreeBasic.tree", + "function_token_typing_BinarySearchTreeBasic.gt", "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTreeBasic.Node__1", "projection_inverse_BinarySearchTreeBasic.Node__2", "projection_inverse_BinarySearchTreeBasic.Node_n", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", - "refinement_interpretation_Tm_refine_cb746c460ae0008456c0ea2d81c7ba4d", + "refinement_interpretation_Tm_refine_6964cfd48d07bdbb1674b8bbae38af40", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "subterm_ordering_BinarySearchTreeBasic.Node", "token_correspondence_BinarySearchTreeBasic.gt", "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", @@ -233,7 +226,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "38c085d461c32a4844c9222193b64761" + "3d3531390ea41a7752e45bbd4a0afdec" ], [ "BinarySearchTreeBasic.insert'", @@ -248,12 +241,12 @@ "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_7e2d337133ee482b75591994ee2d6817_1", "bool_inversion", + "binder_x_7e2d337133ee482b75591994ee2d6817_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", "constructor_distinct_BinarySearchTreeBasic.Node", "data_elim_BinarySearchTreeBasic.Node", @@ -266,20 +259,19 @@ "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", "fuel_guarded_inversion_BinarySearchTreeBasic.tree", + "function_token_typing_BinarySearchTreeBasic.gt", + "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTreeBasic.Node__1", "projection_inverse_BinarySearchTreeBasic.Node__2", "projection_inverse_BinarySearchTreeBasic.Node_n", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_54b98998b50519cc4bee034f351d5178", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", - "refinement_interpretation_Tm_refine_ba93eff18299a3f2d68b9ea1d3ed20db", + "refinement_interpretation_Tm_refine_3acce7f06a1152b716ab4f59091f63e7", + "refinement_interpretation_Tm_refine_982dbdb626bea999dda5af78ce53af6b", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "subterm_ordering_BinarySearchTreeBasic.Node", "token_correspondence_BinarySearchTreeBasic.gt", "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", @@ -292,7 +284,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "b1c4d16c8412691b47cd6ae0c20a2283" + "97d40cf69ede8e3cea7a94ea70de0dad" ], [ "BinarySearchTreeBasic.insert''", @@ -310,12 +302,12 @@ "subterm_ordering_BinarySearchTreeBasic.Node" ], 0, - "509b91b7c806d5624942516b8b3e540e" + "f9775d1107867f5cff7cc54b261d0e30" ], [ "BinarySearchTreeBasic.insert_lemma", 1, - 2, + 1, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", @@ -323,21 +315,17 @@ "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_correspondence_BinarySearchTreeBasic.insert__.fuel_instrumented", "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.all.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.insert__.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", "constructor_distinct_BinarySearchTreeBasic.Node", - "data_elim_BinarySearchTreeBasic.Node", "disc_equation_BinarySearchTreeBasic.Leaf", "disc_equation_BinarySearchTreeBasic.Node", "equality_tok_BinarySearchTreeBasic.Leaf@tok", @@ -351,23 +339,18 @@ "function_token_typing_BinarySearchTreeBasic.gt", "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", + "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTreeBasic.Node__1", "projection_inverse_BinarySearchTreeBasic.Node__2", "projection_inverse_BinarySearchTreeBasic.Node_n", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "subterm_ordering_BinarySearchTreeBasic.Node", - "token_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", "token_correspondence_BinarySearchTreeBasic.gt", "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.insert__.fuel_instrumented", "token_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", "token_correspondence_BinarySearchTreeBasic.lt", "typing_BinarySearchTreeBasic.all", @@ -377,7 +360,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "64e48dc80a052b595908b2ec682d89a7" + "5b2086de23de6f4606e3a8cbc2e50482" ], [ "BinarySearchTreeBasic.find_max", @@ -393,9 +376,9 @@ "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_e2abb8a47e2759cc44fe1676098d14c9_0", "bool_inversion", "disc_equation_BinarySearchTreeBasic.Leaf", "disc_equation_BinarySearchTreeBasic.Node", @@ -406,22 +389,22 @@ "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", "fuel_guarded_inversion_BinarySearchTreeBasic.tree", + "function_token_typing_BinarySearchTreeBasic.ge", + "function_token_typing_BinarySearchTreeBasic.gt", + "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_6ab46ecfe7676410924e81d009486ac7", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTreeBasic.Node__1", "projection_inverse_BinarySearchTreeBasic.Node__2", "projection_inverse_BinarySearchTreeBasic.Node_n", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0560ae5a5ac4b1d0edb33b92b07c2236", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "refinement_interpretation_Tm_refine_c309778c0d975f434f1dd1e1c2c2d0d7", + "refinement_interpretation_Tm_refine_ec13a912e42b526fd3c1faba3154bcbb", "subterm_ordering_BinarySearchTreeBasic.Node", "token_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", "token_correspondence_BinarySearchTreeBasic.ge", @@ -432,7 +415,7 @@ "typing_BinarySearchTreeBasic.in_tree" ], 0, - "87da53774878b7f4760dea04632001b0" + "1e01b91b5587c97a13e4944611966e6c" ], [ "BinarySearchTreeBasic.find_max'", @@ -451,7 +434,7 @@ "subterm_ordering_BinarySearchTreeBasic.Node" ], 0, - "9c3fcfea67d5142403223e53ab72d9f0" + "53d9b4d9d16d8dcc7b2d7c94fa36d0a3" ], [ "BinarySearchTreeBasic.find_max_lemma", @@ -460,7 +443,7 @@ 1, [ "@query" ], 0, - "a78acfaa96e592276e585f2a73778e18" + "9ad5d492367ede2fa026a7133601587a" ], [ "BinarySearchTreeBasic.find_max_lemma", @@ -517,7 +500,7 @@ "typing_BinarySearchTreeBasic.is_bst" ], 0, - "b4dbd853f36ed544c9d01412b2eeeea1" + "bb53b89ecd4ef5cf56464f89b1103995" ], [ "BinarySearchTreeBasic.find_max_lemma", @@ -535,10 +518,9 @@ "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_e63ba93983c46f8e6dd9342cb81bacd4_0", "bool_inversion", "disc_equation_BinarySearchTreeBasic.Leaf", "disc_equation_BinarySearchTreeBasic.Node", @@ -551,14 +533,12 @@ "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", "fuel_guarded_inversion_BinarySearchTreeBasic.tree", "function_token_typing_BinarySearchTreeBasic.ge", + "function_token_typing_BinarySearchTreeBasic.gt", + "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_3afcb8e95b0e9d107cb6446331addfd1", - "partial_app_typing_6ab46ecfe7676410924e81d009486ac7", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTreeBasic.Node__1", @@ -567,7 +547,7 @@ "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_1e985efe7843ec25631e9f231dc0ed2b", "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "subterm_ordering_BinarySearchTreeBasic.Node", "token_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", "token_correspondence_BinarySearchTreeBasic.ge", @@ -580,7 +560,7 @@ "typing_BinarySearchTreeBasic.in_tree" ], 0, - "ead97c6646a7c5fd51392f66f40e41a5" + "cf198d9b2929654bce62950cf8034985" ], [ "BinarySearchTreeBasic.find_max_eq", @@ -589,7 +569,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "361f5394a35cf63037144277b0ba4473" + "0a31ac118fd0f98a8831e05a3bfacf42" ], [ "BinarySearchTreeBasic.find_max_eq", @@ -604,21 +584,18 @@ "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "disc_equation_BinarySearchTreeBasic.Node", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", + "bool_inversion", "disc_equation_BinarySearchTreeBasic.Node", "equation_BinarySearchTreeBasic.ge", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_6ab46ecfe7676410924e81d009486ac7", + "function_token_typing_BinarySearchTreeBasic.ge", "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0560ae5a5ac4b1d0edb33b92b07c2236", "refinement_interpretation_Tm_refine_1e985efe7843ec25631e9f231dc0ed2b", "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "refinement_interpretation_Tm_refine_c309778c0d975f434f1dd1e1c2c2d0d7", + "refinement_interpretation_Tm_refine_ec13a912e42b526fd3c1faba3154bcbb", "token_correspondence_BinarySearchTreeBasic.ge", "typing_BinarySearchTreeBasic.all", "typing_BinarySearchTreeBasic.find_max", @@ -628,7 +605,7 @@ "typing_BinarySearchTreeBasic.uu___is_Node" ], 0, - "bcd8d3ea08e0d7f8eded3c2ff2244f96" + "f9b477b142933ddca197789670eb85b2" ], [ "BinarySearchTreeBasic.delete", @@ -640,16 +617,16 @@ "@fuel_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", + "@fuel_irrelevance_BinarySearchTreeBasic.all.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", "constructor_distinct_BinarySearchTreeBasic.Node", "data_elim_BinarySearchTreeBasic.Node", @@ -663,15 +640,13 @@ "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", "fuel_guarded_inversion_BinarySearchTreeBasic.tree", + "function_token_typing_BinarySearchTreeBasic.ge", "function_token_typing_BinarySearchTreeBasic.gt", "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_6ab46ecfe7676410924e81d009486ac7", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -682,14 +657,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0560ae5a5ac4b1d0edb33b92b07c2236", + "refinement_interpretation_Tm_refine_234ace614f7d119e113d2f597e120e5b", + "refinement_interpretation_Tm_refine_2b84d1ff3a74b0aaf16b56eac4ab9d97", "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_989b389c1485960b980b8a0fbee52fb8", - "refinement_interpretation_Tm_refine_b3a55f55cb49c0a6bb2ecf7b997ec79f", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", - "refinement_interpretation_Tm_refine_be8da6f78edb23b7c99a969baa994a01", - "refinement_interpretation_Tm_refine_e7a6d2d3fb02c7c1f24b0f4ad45d5e09", + "refinement_interpretation_Tm_refine_a7bc649c52858841f8cf3ee2ad3ba0be", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", + "refinement_interpretation_Tm_refine_e4f772ab9a30caa678adf4f35e13e527", + "refinement_interpretation_Tm_refine_ec13a912e42b526fd3c1faba3154bcbb", "subterm_ordering_BinarySearchTreeBasic.Node", + "token_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", "token_correspondence_BinarySearchTreeBasic.ge", "token_correspondence_BinarySearchTreeBasic.gt", "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", @@ -702,7 +678,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "ceb5cacfbeda6fcb9d11980de11eea7b" + "55e4e736f359953115a080cdfa7641a3" ], [ "BinarySearchTreeBasic.delete'", @@ -726,7 +702,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "9086bcb4849d1184453da5c2c9715535" + "03098e07d952dc7030eaac6035fccd58" ], [ "BinarySearchTreeBasic.delete_lemma", @@ -744,12 +720,12 @@ "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", "constructor_distinct_BinarySearchTreeBasic.Node", "data_elim_BinarySearchTreeBasic.Node", @@ -759,20 +735,17 @@ "equality_tok_Prims.LexTop@tok", "equation_BinarySearchTreeBasic.ge", "equation_BinarySearchTreeBasic.gt", "equation_BinarySearchTreeBasic.lt", - "equation_with_fuel_BinarySearchTreeBasic.all.fuel_instrumented", "equation_with_fuel_BinarySearchTreeBasic.delete_.fuel_instrumented", "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", "fuel_guarded_inversion_BinarySearchTreeBasic.tree", + "function_token_typing_BinarySearchTreeBasic.ge", "function_token_typing_BinarySearchTreeBasic.gt", "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_6ab46ecfe7676410924e81d009486ac7", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_disEquality", "projection_inverse_BinarySearchTreeBasic.Node__1", @@ -782,8 +755,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "subterm_ordering_BinarySearchTreeBasic.Node", "token_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", "token_correspondence_BinarySearchTreeBasic.delete_.fuel_instrumented", @@ -794,14 +766,13 @@ "token_correspondence_BinarySearchTreeBasic.lt", "typing_BinarySearchTreeBasic.all", "typing_BinarySearchTreeBasic.delete_", - "typing_BinarySearchTreeBasic.find_max_", "typing_BinarySearchTreeBasic.in_tree", "typing_BinarySearchTreeBasic.is_bst", "typing_tok_BinarySearchTreeBasic.Leaf@tok", "unit_inversion", "unit_typing" ], 0, - "5aa03e52fce2dd8c3bf3e9dcdee371f7" + "e0da6a523eebf012da38fa5f17d26935" ], [ "BinarySearchTreeBasic.tree", @@ -810,7 +781,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "cae00080a82fe11378d969f8b2865010" + "06a6c4e7654e0dfa0d92078b6f9baa08" ], [ "BinarySearchTreeBasic.__proj__Node__item__n", @@ -824,7 +795,7 @@ "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" ], 0, - "b5dca3ae311b7833c66d9b3ba13d4df3" + "4eb354bd947eb507ee1796cc0e34f1fb" ], [ "BinarySearchTreeBasic.__proj__Node__item___1", @@ -838,7 +809,7 @@ "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" ], 0, - "e42dd22213ce0ccfcc3f678b6d3dfca5" + "533dae6ddd154414cfb796d4067e8689" ], [ "BinarySearchTreeBasic.__proj__Node__item___2", @@ -852,7 +823,7 @@ "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" ], 0, - "b9eca056f7268e8cf1d26e5cb1fb5f29" + "96f079e2faf23881d60de57870d3e7ed" ], [ "BinarySearchTreeBasic.in_tree", @@ -870,7 +841,7 @@ "subterm_ordering_BinarySearchTreeBasic.Node" ], 0, - "dcbd85b812785876c550f5346c94395b" + "b73355a6c9879b5d2ef1948a5d8ebb99" ], [ "BinarySearchTreeBasic.all", @@ -882,12 +853,11 @@ "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@query", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_76e2639fdbc6710cc1f69127f0a620f4_0", - "binder_x_7e2d337133ee482b75591994ee2d6817_1", "bool_inversion", + "binder_x_7e2d337133ee482b75591994ee2d6817_1", + "binder_x_d572127907d518d641a8068497b9d6e8_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Node", "disc_equation_BinarySearchTreeBasic.Leaf", "disc_equation_BinarySearchTreeBasic.Node", @@ -902,15 +872,14 @@ "projection_inverse_BinarySearchTreeBasic.Node_n", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_4e4fb2343c8264b776e97506afee34b8", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "subterm_ordering_BinarySearchTreeBasic.Node", - "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", "typing_BinarySearchTreeBasic.all", "typing_BinarySearchTreeBasic.in_tree", "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "6ec131cbcdcfb44100080a583e7b465d" + "a165347876e392f68bba695cd30aecd0" ], [ "BinarySearchTreeBasic.is_bst", @@ -926,7 +895,7 @@ "subterm_ordering_BinarySearchTreeBasic.Node" ], 0, - "88cd2071239eeebe7aa696bb651ac879" + "2f12401c692438f446a39e91778095c0" ], [ "BinarySearchTreeBasic.search", @@ -941,11 +910,11 @@ "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "constructor_distinct_BinarySearchTreeBasic.Node", "disc_equation_BinarySearchTreeBasic.Leaf", "disc_equation_BinarySearchTreeBasic.Node", @@ -957,17 +926,15 @@ "function_token_typing_BinarySearchTreeBasic.gt", "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTreeBasic.Node__1", "projection_inverse_BinarySearchTreeBasic.Node__2", "projection_inverse_BinarySearchTreeBasic.Node_n", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "subterm_ordering_BinarySearchTreeBasic.Node", "token_correspondence_BinarySearchTreeBasic.gt", "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", @@ -976,7 +943,7 @@ "typing_BinarySearchTreeBasic.all" ], 0, - "f29e68fe4b4b762230f7e87ce761cf82" + "c247498e824235feac024a3a1667bcbb" ], [ "BinarySearchTreeBasic.insert", @@ -991,12 +958,11 @@ "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", "constructor_distinct_BinarySearchTreeBasic.Node", "data_typing_intro_BinarySearchTreeBasic.Node@tok", @@ -1009,21 +975,19 @@ "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", "fuel_guarded_inversion_BinarySearchTreeBasic.tree", + "function_token_typing_BinarySearchTreeBasic.gt", "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTreeBasic.Node__1", "projection_inverse_BinarySearchTreeBasic.Node__2", "projection_inverse_BinarySearchTreeBasic.Node_n", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", - "refinement_interpretation_Tm_refine_cb746c460ae0008456c0ea2d81c7ba4d", + "refinement_interpretation_Tm_refine_6964cfd48d07bdbb1674b8bbae38af40", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "subterm_ordering_BinarySearchTreeBasic.Node", "token_correspondence_BinarySearchTreeBasic.gt", "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", @@ -1035,7 +999,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "b64ad5c933d2234a879c7d85aa241c91" + "106cf1971eb99f445bbb2e3a8cf6d17f" ], [ "BinarySearchTreeBasic.insert'", @@ -1050,14 +1014,15 @@ "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_7e2d337133ee482b75591994ee2d6817_1", "bool_inversion", + "binder_x_7e2d337133ee482b75591994ee2d6817_1", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", "constructor_distinct_BinarySearchTreeBasic.Node", + "data_elim_BinarySearchTreeBasic.Node", "disc_equation_BinarySearchTreeBasic.Leaf", "disc_equation_BinarySearchTreeBasic.Node", "equality_tok_BinarySearchTreeBasic.Leaf@tok", @@ -1067,20 +1032,19 @@ "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", "fuel_guarded_inversion_BinarySearchTreeBasic.tree", + "function_token_typing_BinarySearchTreeBasic.gt", + "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTreeBasic.Node__1", "projection_inverse_BinarySearchTreeBasic.Node__2", "projection_inverse_BinarySearchTreeBasic.Node_n", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_54b98998b50519cc4bee034f351d5178", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", - "refinement_interpretation_Tm_refine_ba93eff18299a3f2d68b9ea1d3ed20db", + "refinement_interpretation_Tm_refine_3acce7f06a1152b716ab4f59091f63e7", + "refinement_interpretation_Tm_refine_982dbdb626bea999dda5af78ce53af6b", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "subterm_ordering_BinarySearchTreeBasic.Node", "token_correspondence_BinarySearchTreeBasic.gt", "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", @@ -1093,7 +1057,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "ce9b4a945e2a6d310fb443839ec22053" + "7a420fd67a499a51fef2b93c739c5525" ], [ "BinarySearchTreeBasic.insert''", @@ -1111,7 +1075,7 @@ "subterm_ordering_BinarySearchTreeBasic.Node" ], 0, - "539ac5d009665c592915062f0ae5fe07" + "16ecd792f86e2156d03e3440847b8d41" ], [ "BinarySearchTreeBasic.find_max", @@ -1127,9 +1091,9 @@ "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_e2abb8a47e2759cc44fe1676098d14c9_0", "bool_inversion", "disc_equation_BinarySearchTreeBasic.Leaf", "disc_equation_BinarySearchTreeBasic.Node", @@ -1140,22 +1104,22 @@ "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", "fuel_guarded_inversion_BinarySearchTreeBasic.tree", + "function_token_typing_BinarySearchTreeBasic.ge", + "function_token_typing_BinarySearchTreeBasic.gt", + "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_6ab46ecfe7676410924e81d009486ac7", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "projection_inverse_BinarySearchTreeBasic.Node__1", "projection_inverse_BinarySearchTreeBasic.Node__2", "projection_inverse_BinarySearchTreeBasic.Node_n", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0560ae5a5ac4b1d0edb33b92b07c2236", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", "refinement_interpretation_Tm_refine_c309778c0d975f434f1dd1e1c2c2d0d7", + "refinement_interpretation_Tm_refine_ec13a912e42b526fd3c1faba3154bcbb", "subterm_ordering_BinarySearchTreeBasic.Node", "token_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", "token_correspondence_BinarySearchTreeBasic.ge", @@ -1166,7 +1130,7 @@ "typing_BinarySearchTreeBasic.in_tree" ], 0, - "43d9b48454f9a2bbae100b847a87dd56" + "de8945fbbad24352a02c53f30a293b91" ], [ "BinarySearchTreeBasic.find_max'", @@ -1185,7 +1149,7 @@ "subterm_ordering_BinarySearchTreeBasic.Node" ], 0, - "d5d2c29717e31fcc34c527a959343b33" + "d6f9bf40517354cb9509a8fc468bc9a5" ], [ "BinarySearchTreeBasic.find_max_lemma", @@ -1194,7 +1158,7 @@ 1, [ "@query" ], 0, - "8c227c54ae84b964aa5037cf61868e08" + "2da285e15325bb1b48fe663b509d6cb9" ], [ "BinarySearchTreeBasic.find_max_eq", @@ -1203,7 +1167,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "a8650df2087d86ec901f4c3f75acefd8" + "28f1204d6aa651cf891b83d8916c781b" ], [ "BinarySearchTreeBasic.delete", @@ -1215,16 +1179,16 @@ "@fuel_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", + "@fuel_irrelevance_BinarySearchTreeBasic.all.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", "constructor_distinct_BinarySearchTreeBasic.Node", "data_elim_BinarySearchTreeBasic.Node", @@ -1238,15 +1202,13 @@ "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", "fuel_guarded_inversion_BinarySearchTreeBasic.tree", + "function_token_typing_BinarySearchTreeBasic.ge", "function_token_typing_BinarySearchTreeBasic.gt", "function_token_typing_BinarySearchTreeBasic.lt", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "partial_app_typing_35aa191b37671ad1765751bedaa6db34", - "partial_app_typing_6ab46ecfe7676410924e81d009486ac7", - "partial_app_typing_87bc334327695ff64908fb5cea367047", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -1257,14 +1219,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0560ae5a5ac4b1d0edb33b92b07c2236", + "refinement_interpretation_Tm_refine_234ace614f7d119e113d2f597e120e5b", + "refinement_interpretation_Tm_refine_2b84d1ff3a74b0aaf16b56eac4ab9d97", "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_989b389c1485960b980b8a0fbee52fb8", - "refinement_interpretation_Tm_refine_b3a55f55cb49c0a6bb2ecf7b997ec79f", - "refinement_interpretation_Tm_refine_b4ba2096e786a03bd781e044eb85f053", - "refinement_interpretation_Tm_refine_be8da6f78edb23b7c99a969baa994a01", - "refinement_interpretation_Tm_refine_e7a6d2d3fb02c7c1f24b0f4ad45d5e09", + "refinement_interpretation_Tm_refine_a7bc649c52858841f8cf3ee2ad3ba0be", + "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", + "refinement_interpretation_Tm_refine_e4f772ab9a30caa678adf4f35e13e527", + "refinement_interpretation_Tm_refine_ec13a912e42b526fd3c1faba3154bcbb", "subterm_ordering_BinarySearchTreeBasic.Node", + "token_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", "token_correspondence_BinarySearchTreeBasic.ge", "token_correspondence_BinarySearchTreeBasic.gt", "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", @@ -1277,7 +1240,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "8a57cb4d342fac78ce8b6825243337ca" + "4bdf7e5e408812831673499c4e4a0679" ], [ "BinarySearchTreeBasic.delete'", @@ -1301,7 +1264,7 @@ "typing_tok_BinarySearchTreeBasic.Leaf@tok" ], 0, - "6094c97d865c8513643d4d40da14cf53" + "c0459b7d534709a94ad30b907c6c6911" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTreeFirst.fst.hints b/examples/data_structures/BinarySearchTreeFirst.fst.hints index e6f312be0be..7451b89e0ba 100644 --- a/examples/data_structures/BinarySearchTreeFirst.fst.hints +++ b/examples/data_structures/BinarySearchTreeFirst.fst.hints @@ -12,7 +12,7 @@ "int_inversion", "kinding_BinarySearchTreeFirst.tree@tok" ], 0, - "f7184f7b2d507a3b384d7d993723b1af" + "f159f398ceecff2a7e38abbcc5f22a40" ], [ "BinarySearchTreeFirst.__proj__Node__item__left", @@ -25,7 +25,7 @@ "projection_inverse_BinarySearchTreeFirst.Node_l" ], 0, - "776ca71ecd082f3b581576a8468cd9bb" + "08625d02d785851321c0b5ae168b5255" ], [ "BinarySearchTreeFirst.__proj__Node__item__right", @@ -41,7 +41,7 @@ "projection_inverse_BinarySearchTreeFirst.Node_n" ], 0, - "2bc8a4893c8a6cd5b982af1c369c229d" + "5c1f51bc0998fd7fe5c444ff4561b5a4" ], [ "BinarySearchTreeFirst.leaf", @@ -55,7 +55,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "8f7ed5b47c8fc2027a15ec1090070a17" + "e72a59b9fe398d9c1a48dcbe4ae9f02f" ], [ "BinarySearchTreeFirst.insert", @@ -65,9 +65,9 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "binder_x_9500d4e4e429d7cbc63358ee19d12d84_1", "bool_inversion", + "binder_x_81ab4b0d876eecb400f71902650e8bce_1", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_ae567c2fb75be05905677af440075565_2", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", @@ -83,13 +83,13 @@ "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_439a86e2c060790d2ba280fcf391042f", + "refinement_interpretation_Tm_refine_cb1fb4c2175c5a6a1cd5cda71dffe784", "subterm_ordering_BinarySearchTreeFirst.Node", "subterm_ordering_FStar.Pervasives.Native.Some", "typing_FStar.Pervasives.Native.uu___is_None" ], 0, - "6af5b23ad54782b365afc39a6388ddd8" + "64a4fba31e03bae5a18bb5a0f14b66fb" ], [ "BinarySearchTreeFirst.contains", @@ -98,17 +98,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9500d4e4e429d7cbc63358ee19d12d84_1", + "binder_x_81ab4b0d876eecb400f71902650e8bce_1", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_439a86e2c060790d2ba280fcf391042f", + "refinement_interpretation_Tm_refine_cb1fb4c2175c5a6a1cd5cda71dffe784", "subterm_ordering_BinarySearchTreeFirst.Node", "subterm_ordering_FStar.Pervasives.Native.Some" ], 0, - "8bf81ca471922944fa9b1e050751f53d" + "c351c71f89aba2cce6a86171cb48dc88" ], [ "BinarySearchTreeFirst.in_order_opt", @@ -116,9 +116,9 @@ 2, 2, [ - "@MaxIFuel_assumption", "@query", "assumption_Prims.HasEq_int", - "binder_x_1015f1d8d16280211df57fb400bbaf5b_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "@MaxIFuel_assumption", "@query", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_b98020eae7589a36221779c3f67bf83b_1", "bool_inversion", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -131,7 +131,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "a134b67bcd28a364a069234217f9f8fe" + "3324689e7fba67935657d0ae7a12ea0c" ], [ "BinarySearchTreeFirst.tree", @@ -144,7 +144,7 @@ "int_inversion", "kinding_BinarySearchTreeFirst.tree@tok" ], 0, - "3f74ad73eb22dbfd21071563eb4acb7c" + "36273fb1f0136ab50801c49d700892a5" ], [ "BinarySearchTreeFirst.__proj__Node__item__left", @@ -157,7 +157,7 @@ "projection_inverse_BinarySearchTreeFirst.Node_l" ], 0, - "e62b8cccebd507315f96fa3fc414971a" + "fcb4dbf3e8b805915193adbf4d91cccf" ], [ "BinarySearchTreeFirst.__proj__Node__item__right", @@ -174,7 +174,7 @@ "projection_inverse_BinarySearchTreeFirst.Node_n" ], 0, - "485048447ef20292e60b45c81dd76b95" + "b4a1a03336c788f61186bd96172ffaf0" ], [ "BinarySearchTreeFirst.leaf", @@ -188,7 +188,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "642db49a92fe2224cfad485519d4c916" + "5b81f4d0aa59a05eca33e5659e99e488" ], [ "BinarySearchTreeFirst.insert", @@ -198,9 +198,9 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "binder_x_9500d4e4e429d7cbc63358ee19d12d84_1", "bool_inversion", + "binder_x_81ab4b0d876eecb400f71902650e8bce_1", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_ae567c2fb75be05905677af440075565_2", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", @@ -216,13 +216,13 @@ "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_439a86e2c060790d2ba280fcf391042f", + "refinement_interpretation_Tm_refine_cb1fb4c2175c5a6a1cd5cda71dffe784", "subterm_ordering_BinarySearchTreeFirst.Node", "subterm_ordering_FStar.Pervasives.Native.Some", "typing_FStar.Pervasives.Native.uu___is_None" ], 0, - "fc11a583391ad7b688e5831f81aabb29" + "720e2c59faf0e8895b9f55013d990d60" ], [ "BinarySearchTreeFirst.contains", @@ -231,17 +231,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9500d4e4e429d7cbc63358ee19d12d84_1", + "binder_x_81ab4b0d876eecb400f71902650e8bce_1", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_439a86e2c060790d2ba280fcf391042f", + "refinement_interpretation_Tm_refine_cb1fb4c2175c5a6a1cd5cda71dffe784", "subterm_ordering_BinarySearchTreeFirst.Node", "subterm_ordering_FStar.Pervasives.Native.Some" ], 0, - "09c01e9cb66b5a0a5e50ace56d5a1b0b" + "c23c2b7f66d808be81d1bde9c6f83def" ], [ "BinarySearchTreeFirst.in_order_opt", @@ -249,9 +249,9 @@ 2, 2, [ - "@MaxIFuel_assumption", "@query", "assumption_Prims.HasEq_int", - "binder_x_1015f1d8d16280211df57fb400bbaf5b_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_inversion", + "@MaxIFuel_assumption", "@query", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_b98020eae7589a36221779c3f67bf83b_1", "bool_inversion", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -264,7 +264,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "22af8e7d9426694495443806bf4da741" + "0565b8bf687e7ffed999c1fd56cd73d3" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinaryTrees.fst.hints b/examples/data_structures/BinaryTrees.fst.hints index 29303466eb6..bbccb83edcc 100644 --- a/examples/data_structures/BinaryTrees.fst.hints +++ b/examples/data_structures/BinaryTrees.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "8dc231ea690ab704c93355eca081aa79" + "c736d4af264d9a0d020d59dae76f1c50" ], [ "BinaryTrees.__proj__Node__item__root", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" ], 0, - "045f587ab91476d6dcbb0f7bf086b26a" + "5549844995c63bd8dbf49182c698ee91" ], [ "BinaryTrees.__proj__Node__item__left", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" ], 0, - "25592f59c5a02ae114c2255f39080074" + "a585371bdb8ebe23841ef1c0eece7f56" ], [ "BinaryTrees.__proj__Node__item__right", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" ], 0, - "a63497b3def7463053eeee7b837fde2a" + "bc2693734681247e6b37c0477b644dc7" ], [ "BinaryTrees.size", @@ -57,19 +57,17 @@ [ "@MaxIFuel_assumption", "@query", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_1696252159950375ed27d3faba8e3379_0", "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", "equality_tok_BinaryTrees.Leaf@tok", "equation_Prims.nat", "fuel_guarded_inversion_BinaryTrees.tree", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_BinaryTrees.Node", "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "1305190e7f41a183d7a6e3c39f893f2a" + "f65c02b7b6efcbd953de8be50c1827b5" ], [ "BinaryTrees.map", @@ -84,7 +82,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "f4fa43553c30f4905324e968bd5e7ffd" + "668beb3297800f118af5e2cc2d035784" ], [ "BinaryTrees.map_size", @@ -94,11 +92,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6f8d3de33dd629fd155dd3004940f673" + "dc0d3f32215fded0bfd139e625938963" ], [ "BinaryTrees.map_size", @@ -108,11 +106,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b82df6e19397e283fc059918af8fffef" + "6cfb1f94d1678744135459f436dec0fa" ], [ "BinaryTrees.map_size", @@ -127,7 +125,7 @@ "@fuel_irrelevance_BinaryTrees.size.fuel_instrumented", "@query", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", "binder_x_1696252159950375ed27d3faba8e3379_1", - "binder_x_d3fe16cea90ccce1714cdbb7bd638114_0", + "binder_x_87ac387399742bfb1341a669dfb6c913_0", "constructor_distinct_BinaryTrees.Leaf", "constructor_distinct_BinaryTrees.Node", "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", @@ -143,7 +141,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "6122d6d13a41027bc1e10cd00c60f7c9" + "e26236c23f5ca230df1cd63db4c4677e" ], [ "BinaryTrees.find", @@ -158,7 +156,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "45670ede4c118dda8ca015866998442a" + "f527353c9b2b9c4b7c76830fbb79f310" ], [ "BinaryTrees.find_some", @@ -179,7 +177,7 @@ "typing_BinaryTrees.find" ], 0, - "f4fada25055826e7080eaa11c2f8c0dd" + "508f248addc50b47604bf0768347b464" ], [ "BinaryTrees.find_some", @@ -202,7 +200,7 @@ "typing_BinaryTrees.find" ], 0, - "0c70850220a7569d2f78be8a635b5dc9" + "727ad8f462f44a446375da2c3e539fd0" ], [ "BinaryTrees.find_some", @@ -213,11 +211,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_BinaryTrees.find.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.find.fuel_instrumented", "@query", + "BinaryTrees_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_1696252159950375ed27d3faba8e3379_1", - "binder_x_76e2639fdbc6710cc1f69127f0a620f4_0", "bool_inversion", + "binder_x_d572127907d518d641a8068497b9d6e8_0", "bool_inversion", "constructor_distinct_BinaryTrees.Leaf", "constructor_distinct_BinaryTrees.Node", "constructor_distinct_FStar.Pervasives.Native.None", @@ -228,6 +226,7 @@ "equality_tok_BinaryTrees.Leaf@tok", "equation_Prims.eqtype", "equation_with_fuel_BinaryTrees.find.fuel_instrumented", "fuel_guarded_inversion_BinaryTrees.tree", + "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -237,12 +236,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_BinaryTrees.Node", "typing_BinaryTrees.find", "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "f2ba3667861c7c1269e11606528c06e4" + "4c2232f5f8641e0865c63ffb9ce012fd" ], [ "BinaryTrees.map_option", @@ -258,7 +257,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "801b9162f126fe245755e2f5476e9060" + "b3f9ae46efbe4e866525897f5df1e029" ], [ "BinaryTrees.map_find", @@ -272,7 +271,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8c268dd52c639d63e419e22525c1d05f" + "abf461ab33fcfa9e8020648e9bcc44c4" ], [ "BinaryTrees.map_find", @@ -286,7 +285,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7cb11a25867d983ef11a4b3eca443940" + "abe42df8d6d985c2474bbad9065b90ee" ], [ "BinaryTrees.map_find", @@ -299,25 +298,34 @@ "@fuel_correspondence_BinaryTrees.map.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.find.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.map.fuel_instrumented", "@query", + "BinaryTrees_interpretation_Tm_arrow_0e671300b027a382c3ad8af661e6bfe8", + "BinaryTrees_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", + "BinaryTrees_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_1696252159950375ed27d3faba8e3379_2", - "binder_x_76e2639fdbc6710cc1f69127f0a620f4_0", - "binder_x_d3fe16cea90ccce1714cdbb7bd638114_1", "bool_typing", + "binder_x_87ac387399742bfb1341a669dfb6c913_1", + "binder_x_d572127907d518d641a8068497b9d6e8_0", "bool_typing", "constructor_distinct_BinaryTrees.Leaf", "constructor_distinct_BinaryTrees.Node", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_BinaryTrees.Leaf@tok", "equation_BinaryTrees.compose", - "equation_BinaryTrees.map_option", + "equation_BinaryTrees.map_option", "equation_Prims.eqtype", "equation_with_fuel_BinaryTrees.find.fuel_instrumented", "equation_with_fuel_BinaryTrees.map.fuel_instrumented", "fuel_guarded_inversion_BinaryTrees.tree", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "partial_app_typing_d619a2c5c8788d7d5bad772efb6ac7bd", + "function_token_typing_BinaryTrees.compose", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.bool", + "function_token_typing_Prims.int", + "lemma_FStar.Pervasives.invertOption", "projection_inverse_BinaryTrees.Node_left", "projection_inverse_BinaryTrees.Node_right", "projection_inverse_BinaryTrees.Node_root", @@ -325,6 +333,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_BinaryTrees.Node", "token_correspondence_BinaryTrees.compose", "token_correspondence_BinaryTrees.find.fuel_instrumented", @@ -332,7 +341,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "f937e84c2e3625e6a5f7c795d4fa8ba5" + "33c2e264d2dd9875bf466e58309ae638" ], [ "BinaryTrees.in_tree", @@ -349,7 +358,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "a10f3b5047039b197184664143452e20" + "84fe60c377dea33f0814a4b0052a0cdd" ], [ "BinaryTrees.fold", @@ -365,7 +374,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "2ff72ffd817cbc214b9670fc53d858ee" + "c122f2c945e9a6e573a9453589deb8a3" ], [ "BinaryTrees.fold_map", @@ -378,15 +387,18 @@ "@fuel_correspondence_BinaryTrees.map.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.fold.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.map.fuel_instrumented", "@query", - "BinaryTrees_interpretation_Tm_arrow_58b170ab9d012ff2808668fa23ba0382", - "BinaryTrees_interpretation_Tm_arrow_e97b5c6fec17e49fc13079e2ef300ead", + "BinaryTrees_interpretation_Tm_arrow_0e671300b027a382c3ad8af661e6bfe8", + "BinaryTrees_interpretation_Tm_arrow_56142c37120331f4156166606be8c498", + "BinaryTrees_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "BinaryTrees_interpretation_Tm_arrow_ddaab270e9fdf46f80b29f3d5d5fdd24", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", + "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_1696252159950375ed27d3faba8e3379_3", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "binder_x_9cc6fb6c9a908dcc6e4d00617bc47dd7_1", - "binder_x_d3fe16cea90ccce1714cdbb7bd638114_0", + "binder_x_52f19a9daef1bbba2f987dbcb0a3f0fd_1", + "binder_x_87ac387399742bfb1341a669dfb6c913_0", + "binder_x_ae567c2fb75be05905677af440075565_2", "constructor_distinct_BinaryTrees.Leaf", "constructor_distinct_BinaryTrees.Node", "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", @@ -395,8 +407,10 @@ "equation_with_fuel_BinaryTrees.fold.fuel_instrumented", "equation_with_fuel_BinaryTrees.map.fuel_instrumented", "fuel_guarded_inversion_BinaryTrees.tree", + "function_token_typing_BinaryTrees.compose", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", + "kinding_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", "projection_inverse_BinaryTrees.Node_left", "projection_inverse_BinaryTrees.Node_right", "projection_inverse_BinaryTrees.Node_root", @@ -407,7 +421,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "e3990383038fabad1010367bdb4327d3" + "3f81a7620a95b9a1467d5770441c43f6" ], [ "BinaryTrees.size_fold", @@ -415,18 +429,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2f0006751149e86a933c376849f15435" + "c83ce0f3014755c495a220255230b131" ], [ "BinaryTrees.size_fold", @@ -434,18 +445,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "47cf42ad792b4a50bd50f858d66fc337" + "0e3f8e00f12819b157906e3d1f42ef5a" ], [ "BinaryTrees.size_fold", @@ -458,8 +466,9 @@ "@fuel_correspondence_BinaryTrees.size.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.fold.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.size.fuel_instrumented", "@query", + "BinaryTrees_interpretation_Tm_arrow_56142c37120331f4156166606be8c498", + "BinaryTrees_interpretation_Tm_arrow_978950ac417e406794c8cbb585eaec0b", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_1696252159950375ed27d3faba8e3379_0", "constructor_distinct_BinaryTrees.Leaf", "constructor_distinct_BinaryTrees.Node", @@ -467,21 +476,20 @@ "equality_tok_BinaryTrees.Leaf@tok", "equation_Prims.nat", "equation_with_fuel_BinaryTrees.fold.fuel_instrumented", "equation_with_fuel_BinaryTrees.size.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_typing", - "interpretation_Tm_abs_46d8b2d53e236c19aab6426fa927129f", + "fuel_guarded_inversion_BinaryTrees.tree", "int_typing", + "interpretation_Tm_abs_0d875254b2545c6702b32b47d4286d1c", "projection_inverse_BinaryTrees.Node_left", "projection_inverse_BinaryTrees.Node_right", "projection_inverse_BinaryTrees.Node_root", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_BinaryTrees.Node", "typing_BinaryTrees.size", - "typing_Tm_abs_46d8b2d53e236c19aab6426fa927129f", + "typing_Tm_abs_0d875254b2545c6702b32b47d4286d1c", "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "60310eeb8cb68af8898d12cc6ccd6675" + "464adce106bea90ec9dac0b98de8f379" ], [ "BinaryTrees.in_tree_fold", @@ -494,11 +502,13 @@ "@fuel_correspondence_BinaryTrees.in_tree.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.fold.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.in_tree.fuel_instrumented", "@query", + "BinaryTrees_interpretation_Tm_arrow_030c76df9eb2e6504d36c81bb0d78521", + "BinaryTrees_interpretation_Tm_arrow_56142c37120331f4156166606be8c498", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_1696252159950375ed27d3faba8e3379_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", "bool_typing", + "binder_x_ae567c2fb75be05905677af440075565_0", "bool_typing", "constructor_distinct_BinaryTrees.Leaf", "constructor_distinct_BinaryTrees.Node", "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", @@ -509,18 +519,18 @@ "fuel_guarded_inversion_BinaryTrees.tree", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_fc7264c22dec0987cdfe16b680bce2d8", + "interpretation_Tm_abs_cd1cba08dfef61a04a33f38a4890113a", "projection_inverse_BinaryTrees.Node_left", "projection_inverse_BinaryTrees.Node_right", "projection_inverse_BinaryTrees.Node_root", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_BinaryTrees.Node", - "typing_Tm_abs_fc7264c22dec0987cdfe16b680bce2d8", + "typing_Tm_abs_cd1cba08dfef61a04a33f38a4890113a", "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "e42637695dc0ad7a874923db36d95637" + "9a240042efda657a56ec99dc1bb6dcf6" ], [ "BinaryTrees.find_fold", @@ -529,7 +539,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "fe193baa02be73a3d5a3cc4364d63e20" + "86453a93ec36db633ff9d5b1c79e8c74" ], [ "BinaryTrees.revert", @@ -544,7 +554,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "d37ca4e00d4349dc934f4bbfadb9eada" + "35a5b1db4f2ec3c0e063353a04026a91" ], [ "BinaryTrees.revert_involutive", @@ -553,7 +563,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "2c931e514c06ae68f24e7967ba990a44" + "42eed141f16c742f37191c739f8902bc" ], [ "BinaryTrees.revert_involutive", @@ -562,7 +572,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "5866d9969347a317ffcae4a005d5f658" + "1bec562ec1c042c270a26c1121ffa8b1" ], [ "BinaryTrees.revert_involutive", @@ -589,7 +599,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "05d74422ce7a14d0aec6478c9d81aad0" + "01cc255c6191da021cce5a236c5eab9e" ], [ "BinaryTrees.revert_injective", @@ -598,7 +608,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "9da570f56002e52f637e345afcb3dd2d" + "f5ad4aedb8bb287d618a0dee660b240a" ], [ "BinaryTrees.revert_injective", @@ -607,7 +617,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "36bba328aecf4da010d75b19c511452d" + "cb3a248d7e746852b4fd8b60233ae417" ], [ "BinaryTrees.revert_injective", @@ -639,7 +649,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "01a574252477faaa9daa32d6ade9efc0" + "fbedd702d341b6ceca27074146978b51" ], [ "BinaryTrees.revert_fold", @@ -648,7 +658,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "e64b051d151700b64003554936973533" + "5ca9eb0d4e955047be39746634674af1" ], [ "BinaryTrees.revert_fold", @@ -657,7 +667,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "35e1c941f546fbe837675cdf56330406" + "c117962ca570b55bfd0222c6d254cb68" ], [ "BinaryTrees.revert_fold", @@ -670,10 +680,9 @@ "@fuel_correspondence_BinaryTrees.revert.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.fold.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.revert.fuel_instrumented", "@query", - "BinaryTrees_interpretation_Tm_arrow_58b170ab9d012ff2808668fa23ba0382", - "BinaryTrees_interpretation_Tm_arrow_def6a07f1408f13378b54bd63baf8ae2", + "BinaryTrees_interpretation_Tm_arrow_55cc0ca0768ec9166d511faa170d5145", + "BinaryTrees_interpretation_Tm_arrow_56142c37120331f4156166606be8c498", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_1696252159950375ed27d3faba8e3379_0", "constructor_distinct_BinaryTrees.Leaf", "constructor_distinct_BinaryTrees.Node", @@ -682,19 +691,18 @@ "equation_with_fuel_BinaryTrees.fold.fuel_instrumented", "equation_with_fuel_BinaryTrees.revert.fuel_instrumented", "fuel_guarded_inversion_BinaryTrees.tree", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_03c6ad828e8b03ebd2a3101b0b9afa4d", + "interpretation_Tm_abs_2b5744c286c6b8bddb70ebbfb9ada83c", "kinding_BinaryTrees.tree@tok", "projection_inverse_BinaryTrees.Node_left", "projection_inverse_BinaryTrees.Node_right", "projection_inverse_BinaryTrees.Node_root", "projection_inverse_BoxBool_proj_0", "subterm_ordering_BinaryTrees.Node", - "typing_Tm_abs_03c6ad828e8b03ebd2a3101b0b9afa4d", + "typing_Tm_abs_2b5744c286c6b8bddb70ebbfb9ada83c", "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "1428ea5a102a7884a9a3cdb59ebd7414" + "65cc044b570904c654868630104b4e7b" ], [ "BinaryTrees.remove_root", @@ -712,7 +720,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "db44f24a9a673e1ed519d16e5b1cd0f8" + "d5bdad3f8e78f182ef756ef5b0789e49" ], [ "BinaryTrees.add_root", @@ -734,7 +742,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "4b16b48db016ca5c4b089d32e2bda4cf" + "d0c5ce60e115eeb3e516cf91fb873035" ], [ "BinaryTrees.remove_add_root", @@ -743,7 +751,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "bab9f2be81e7a84d4f4ae1412af24761" + "678419f9f72b8081207ddfd83454b40d" ], [ "BinaryTrees.remove_add_root", @@ -752,7 +760,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "771361e76193a9006364a35b6a929486" + "5130b3e9de6b0c52eb39e9b3940ba3a0" ], [ "BinaryTrees.remove_add_root", @@ -767,7 +775,7 @@ "@fuel_irrelevance_BinaryTrees.remove_root.fuel_instrumented", "@query", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", "binder_x_1696252159950375ed27d3faba8e3379_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", "constructor_distinct_BinaryTrees.Leaf", "constructor_distinct_BinaryTrees.Node", "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", @@ -780,13 +788,13 @@ "projection_inverse_BinaryTrees.Node_right", "projection_inverse_BinaryTrees.Node_root", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_BinaryTrees_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185", + "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185", "subterm_ordering_BinaryTrees.Node", "token_correspondence_BinaryTrees.add_root.fuel_instrumented", "typing_BinaryTrees.add_root", "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "519eb4dbe8a8380337479c34ceb85c22" + "2abc03b6f87337b0d4449997dc616175" ], [ "BinaryTrees.count", @@ -798,7 +806,7 @@ "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_1696252159950375ed27d3faba8e3379_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", "equality_tok_BinaryTrees.Leaf@tok", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "fuel_guarded_inversion_BinaryTrees.tree", @@ -806,12 +814,12 @@ "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_BinaryTrees.Node", "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "a70ec48b7bc768e341113b21588b5a3b" + "9d919aba1a02d1a3ba87d456844921be" ], [ "BinaryTrees.remove", @@ -823,8 +831,8 @@ "@fuel_correspondence_BinaryTrees.count.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.count.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_12eaca31044444c3813d9f236e3d0093_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_d1cff3104716498542a69f317fa52b6b_1", "constructor_distinct_BinaryTrees.Node", "disc_equation_BinaryTrees.Node", "equality_tok_Prims.LexTop@tok", "equation_with_fuel_BinaryTrees.count.fuel_instrumented", @@ -837,11 +845,11 @@ "projection_inverse_BinaryTrees.Node_root", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba9db9f549491ba39514b9e94bac6698", + "refinement_interpretation_Tm_refine_148e968f8a93041c3de772ced753082c", "subterm_ordering_BinaryTrees.Node" ], 0, - "92d5717d1849b8f52c47177b76da5cc3" + "2ffae20fe1970e5a7b80e5da2cfc2b94" ], [ "BinaryTrees.count_remove_root", @@ -851,11 +859,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0e1cdb2d186f1406768c13c30c6e5568" + "133e471dd80722381661c1fe00f21b27" ], [ "BinaryTrees.count_remove_root", @@ -871,6 +879,7 @@ "@query", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4f12cf247a1f2a0cd3974332a65f3b77_0", + "constructor_distinct_BinaryTrees.Leaf", "constructor_distinct_BinaryTrees.Node", "data_elim_BinaryTrees.Node", "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", @@ -881,7 +890,7 @@ "fuel_guarded_inversion_BinaryTrees.tree", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_BinaryTrees.Node_root", @@ -891,7 +900,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185", "subterm_ordering_BinaryTrees.Node", "token_correspondence_BinaryTrees.count.fuel_instrumented", @@ -899,7 +908,7 @@ "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "b3dcb27fe90147dba7c6b6fd16570abf" + "c6f0dcac02f76e90d0cede822b416de7" ], [ "BinaryTrees.count_remove", @@ -940,7 +949,7 @@ "unit_inversion", "unit_typing" ], 0, - "b1ecf35827e78961a6df27a666b3525b" + "545413833cd0fddf8707c28657e5518a" ], [ "BinaryTrees.count_remove", @@ -954,8 +963,8 @@ "@fuel_irrelevance_BinaryTrees.count.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.remove.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_12eaca31044444c3813d9f236e3d0093_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_d1cff3104716498542a69f317fa52b6b_1", "constructor_distinct_BinaryTrees.Node", "disc_equation_BinaryTrees.Node", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", @@ -972,16 +981,16 @@ "projection_inverse_BinaryTrees.Node_root", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_148e968f8a93041c3de772ced753082c", "refinement_interpretation_Tm_refine_2052a6fdd62bfbe2a677dbc498408e03", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba9db9f549491ba39514b9e94bac6698", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_BinaryTrees.Node", "token_correspondence_BinaryTrees.count.fuel_instrumented", "typing_BinaryTrees.count", "typing_BinaryTrees.remove", "unit_inversion", "unit_typing" ], 0, - "6089561bd9dd87d01e0b79b399bc6578" + "574593235dd9fa8a3eff84571d57b247" ], [ "BinaryTrees.tree", @@ -990,7 +999,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "a4ab9108ba685eab1c1ce0627a4906d4" + "ed80c8682e063f403f26b4c128f6de7c" ], [ "BinaryTrees.__proj__Node__item__root", @@ -1003,7 +1012,7 @@ "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" ], 0, - "935e7222b5278536b60dea67cc9cbdb8" + "15838368c811370331e31954fe7f118e" ], [ "BinaryTrees.__proj__Node__item__left", @@ -1016,7 +1025,7 @@ "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" ], 0, - "49ee59a2d2775c138053906d90e5590b" + "f940a39274a18f673259c0d78f1f2f76" ], [ "BinaryTrees.__proj__Node__item__right", @@ -1029,7 +1038,7 @@ "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" ], 0, - "0d1d791e51f4b062d309b42f649a8795" + "4d5f25df8986db051931ff35f0cd5d18" ], [ "BinaryTrees.size", @@ -1039,19 +1048,17 @@ [ "@MaxIFuel_assumption", "@query", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_1696252159950375ed27d3faba8e3379_0", "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", "equality_tok_BinaryTrees.Leaf@tok", "equation_Prims.nat", "fuel_guarded_inversion_BinaryTrees.tree", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_BinaryTrees.Node", "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "761804d4f21d9c296e36d08aa60b3545" + "1a5b0438fefdb51330d938fe2938f578" ], [ "BinaryTrees.map", @@ -1066,7 +1073,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "ff3bc2fe176b6ee26cef31a4f945fc9c" + "26d170fc7f8f475e3fa3bc48cef36c0a" ], [ "BinaryTrees.map_size", @@ -1076,11 +1083,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "18b25dba5b1999f422f2ec86141ae553" + "e913e47c92f9f054b085f4047d09e50d" ], [ "BinaryTrees.find", @@ -1095,7 +1102,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "5558ebcc29983171413903078d2d35cb" + "0d3a4ead0b3c958b02f3cd549ee700d6" ], [ "BinaryTrees.find_some", @@ -1116,7 +1123,7 @@ "typing_BinaryTrees.find" ], 0, - "3f186233af5ce0bed4bb554195b02ec5" + "0d31a6fc42a58ccd93e5ee79df84aa77" ], [ "BinaryTrees.map_option", @@ -1132,7 +1139,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "35a51d0d779a33841d555c2d0d459501" + "a2657789f5e4c65306183b427f1e7c37" ], [ "BinaryTrees.map_find", @@ -1146,7 +1153,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "da3782a20b74874de327bcd23b2efa8a" + "132011c0403af92dd76306d62d4b501c" ], [ "BinaryTrees.in_tree", @@ -1163,7 +1170,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "f3a2562b66567945c052bb827a17aae8" + "33da5f416166255a2eedee64beef3b33" ], [ "BinaryTrees.fold", @@ -1179,7 +1186,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "72fa9facc8740e415bdea0ca8003b9d4" + "c6185bab86ce81d0acb3e3e38ed294bd" ], [ "BinaryTrees.size_fold", @@ -1187,18 +1194,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5039033faa2b5e274d0c846722d6aa44" + "e11b12adb21f755cde17ba7571cf7cbe" ], [ "BinaryTrees.find_fold", @@ -1207,7 +1211,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "7b65d0e8edef0f77045e3323aacba241" + "8e5e9c19c10219265796e349826d7910" ], [ "BinaryTrees.revert", @@ -1222,7 +1226,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "21ccdc8cd813f40710519674f718539f" + "a816df5d83732665ee28a16779026054" ], [ "BinaryTrees.revert_involutive", @@ -1231,7 +1235,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "66a573f3b499ab42623cc7c0d0771a66" + "27609dcc8135d9beca064f805658e05b" ], [ "BinaryTrees.revert_injective", @@ -1240,7 +1244,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "fde7dcb8cff7844edae166bff07336c6" + "9de65cf816697260426ea0c8118cd10d" ], [ "BinaryTrees.revert_fold", @@ -1249,7 +1253,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "f36a10154dc5c1243f030234cb953764" + "f9fa099146e13905e2a6997826b6f714" ], [ "BinaryTrees.remove_root", @@ -1267,7 +1271,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "3f43f89b1db9d591fbdbe552faf30b5c" + "a0bcfd646510ce1441f8f4b37b11e296" ], [ "BinaryTrees.add_root", @@ -1289,7 +1293,7 @@ "subterm_ordering_BinaryTrees.Node" ], 0, - "4650d36f85c728cd74ff39c9a08ada28" + "757a55c8f0bb6fd266e5f147cb07aa75" ], [ "BinaryTrees.remove_add_root", @@ -1298,7 +1302,7 @@ 1, [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], 0, - "c4eebe58b2642eb4052c01b43ec11480" + "3fbbce473e2ff5069d93e1532210d3c6" ], [ "BinaryTrees.count", @@ -1310,7 +1314,7 @@ "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_1696252159950375ed27d3faba8e3379_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", "equality_tok_BinaryTrees.Leaf@tok", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "fuel_guarded_inversion_BinaryTrees.tree", @@ -1318,12 +1322,12 @@ "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_BinaryTrees.Node", "typing_tok_BinaryTrees.Leaf@tok" ], 0, - "d9bff91282208dd111dc4785eeb2ada1" + "de052d999cb3c32295ba0d119540d3f5" ], [ "BinaryTrees.remove", @@ -1335,8 +1339,8 @@ "@fuel_correspondence_BinaryTrees.count.fuel_instrumented", "@fuel_irrelevance_BinaryTrees.count.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_12eaca31044444c3813d9f236e3d0093_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_d1cff3104716498542a69f317fa52b6b_1", "constructor_distinct_BinaryTrees.Node", "disc_equation_BinaryTrees.Node", "equality_tok_Prims.LexTop@tok", "equation_with_fuel_BinaryTrees.count.fuel_instrumented", @@ -1349,11 +1353,11 @@ "projection_inverse_BinaryTrees.Node_root", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba9db9f549491ba39514b9e94bac6698", + "refinement_interpretation_Tm_refine_148e968f8a93041c3de772ced753082c", "subterm_ordering_BinaryTrees.Node" ], 0, - "1bbbdc237083035ce1872076925cfe85" + "614a7246bfa81330a50af47dda6b374c" ], [ "BinaryTrees.count_remove_root", @@ -1363,11 +1367,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "24351d461e7407e864efc604b34d572d" + "2c7b6d33c1710c068173645242c5a313" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/BinaryTreesEnumeration.fst.hints b/examples/data_structures/BinaryTreesEnumeration.fst.hints index dbd6f46f337..80ab1688296 100644 --- a/examples/data_structures/BinaryTreesEnumeration.fst.hints +++ b/examples/data_structures/BinaryTreesEnumeration.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0dde51370d64b5dde7b4c9db5a856c67" + "a9b2da8cc3035e77c4e2366dea20f8a1" ], [ "BinaryTreesEnumeration.pairs_with_sum'", @@ -20,16 +20,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_02054136cb3342b9968cd2143dc2ef9c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6037c7d196f553af664d4172fea7f4ac" ], 0, - "cb1ed952070be1aa2ebe1b5c70e7c53d" + "567e8c3159021159c9698b2a59dc96c1" ], [ "BinaryTreesEnumeration.pairs_with_sum'", @@ -39,8 +36,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", @@ -51,11 +48,11 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "242136e779725b0a334325eb53362015" + "08189d52927dbb843306a8b5a58530f6" ], [ "BinaryTreesEnumeration.pairs_with_sum", @@ -66,10 +63,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "48f09a5f1448e5f37230bd2e7181c233" + "989fcc846a79d7c3b97a9fb72f109f85" ], [ "BinaryTreesEnumeration.bin_tree", @@ -81,7 +78,7 @@ "kinding_BinaryTreesEnumeration.bin_tree@tok" ], 0, - "0c91e7fba6b0c9fd678f8ba6a249c42a" + "6f5108fab7129dab8f8d5e21a24f7f38" ], [ "BinaryTreesEnumeration.__proj__Branch__item___0", @@ -95,7 +92,7 @@ "refinement_interpretation_Tm_refine_6dd07a1dfd3ecf6fbfc7d08efa23b6b3" ], 0, - "8dd098d5e4b6ccf543186b60c6d4f046" + "5af5cc9c20cef75f261d9f5af5d27a71" ], [ "BinaryTreesEnumeration.size", @@ -105,22 +102,20 @@ [ "@MaxIFuel_assumption", "@query", "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_765d3ce9902792f4f04212b6389de4a0_0", "data_elim_BinaryTreesEnumeration.Branch", "disc_equation_BinaryTreesEnumeration.Branch", "disc_equation_BinaryTreesEnumeration.Leaf", "equality_tok_BinaryTreesEnumeration.Leaf@tok", "equation_Prims.nat", "fuel_guarded_inversion_BinaryTreesEnumeration.bin_tree", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_BinaryTreesEnumeration.Branch", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "typing_tok_BinaryTreesEnumeration.Leaf@tok" ], 0, - "a635ed2a1b304d7f8fee4071efaaf9e1" + "aa260ee0d840fdef8775295cdc919ea2" ], [ "BinaryTreesEnumeration.trees_of_size", @@ -134,7 +129,7 @@ "@query", "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "constructor_distinct_BinaryTreesEnumeration.Branch", "constructor_distinct_BinaryTreesEnumeration.Leaf", "data_typing_intro_BinaryTreesEnumeration.Branch@tok", @@ -157,14 +152,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_298b0a0b3e16a58f8b081c52c4f027fc", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bd6d982985e2df5ac87b5db124accca1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", "typing_BinaryTreesEnumeration.size", "typing_tok_BinaryTreesEnumeration.Leaf@tok", "well-founded-ordering-on-nat" ], 0, - "be7333604891b35ddc314acaaf8d1711" + "5592cc277ce7920e85b3b459f54909ad" ], [ "BinaryTreesEnumeration.pws'_complete", @@ -173,21 +168,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5659afabd9b7b291747adae1ba81c565", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8cdc7c14e7d27f20fc3226b4f8e32a23" ], 0, - "cb2d9bbd7873f296bb4270192b9ee334" + "74045123209a8b19f2d5c1ea83615cf7" ], [ "BinaryTreesEnumeration.pws'_complete", @@ -201,16 +194,15 @@ "@fuel_irrelevance_BinaryTreesEnumeration.pairs_with_sum_.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", "eq2-interp", "equation_BinaryTreesEnumeration.prod_with_sum", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", "equation_with_fuel_BinaryTreesEnumeration.pairs_with_sum_.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "l_or-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -224,15 +216,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bd6d982985e2df5ac87b5db124accca1", - "refinement_kinding_Tm_refine_bd6d982985e2df5ac87b5db124accca1", - "token_correspondence_BinaryTreesEnumeration.pairs_with_sum_.fuel_instrumented", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", + "refinement_kinding_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", "typing_BinaryTreesEnumeration.pairs_with_sum_", "well-founded-ordering-on-nat" ], 0, - "7976fcac37c9951b7b087c28d9e935af" + "fc663ee4ea84b4d52c239959f0d48033" ], [ "BinaryTreesEnumeration.pws_complete", @@ -250,10 +241,10 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b15afee2caf954665af2ca219428dd80" + "2fe93c3629c220fe230277d7fd5ed9f5" ], [ "BinaryTreesEnumeration.concatMap_flatten_map", @@ -269,11 +260,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.flatten.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@query", - "BinaryTreesEnumeration_interpretation_Tm_arrow_f099cdd54ef17d021c76ac9d542d7bf9", - "FStar.List.Tot.Base_interpretation_Tm_arrow_7685e45e6d2696ec99cc208880b856c4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_3d50d0d536765bb24c279a331d2cd071_4", + "BinaryTreesEnumeration_interpretation_Tm_arrow_c459d71a604fbccd763a416683cd2bcf", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Base_interpretation_Tm_arrow_121fa5bc200f7b3946a5e35040f266b9", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", + "binder_x_d279c19d96fbb6142c62269277edf9a6_4", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -288,7 +279,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "341664756287b070605349851382b800" + "834bb16ff80ccfa26101cf37407a77f4" ], [ "BinaryTreesEnumeration.pure_as_squash", @@ -300,7 +291,7 @@ "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" ], 0, - "5eeedc404bb6aacf30418cc3a563d277" + "ab63ce5a90b9d2b83321453ff4a5493d" ], [ "BinaryTreesEnumeration.memP_append_aux", @@ -348,7 +339,7 @@ "typing_FStar.Pervasives.Native.snd", "unit_typing" ], 0, - "a980842479c4572b35a001b05c51c6be" + "8569e37a684c3602ab2563ee92ceff8d" ], [ "BinaryTreesEnumeration.flatten_app", @@ -379,7 +370,7 @@ "typing_FStar.List.Tot.Base.flatten" ], 0, - "2e3b1c63715988594f1489ca763cf0b7" + "4f94e6b63336994556c2797f1b914c48" ], [ "BinaryTreesEnumeration.memP_app_intro_l", @@ -408,7 +399,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "239482eee6bf067403c2a54b6f8ae414" + "a841fea3141260267329ff6d9121b079" ], [ "BinaryTreesEnumeration.memP_app_intro_r", @@ -437,7 +428,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" ], 0, - "475c75772def36c4856fdbfcc56c5f99" + "0a1398768c94db7ca8b97011f6d20e1e" ], [ "BinaryTreesEnumeration.memP_flatten_intro", @@ -449,8 +440,7 @@ "@fuel_correspondence_FStar.List.Tot.Base.flatten.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_Prims.Cons", + "@query", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Pervasives.Native.fst", @@ -468,13 +458,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_790d0d45f5e0f5967d5a44b3924f026d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_c57079cb7da35e3d682c783919015e7c", - "unit_inversion", "unit_typing" + "refinement_interpretation_Tm_refine_c57079cb7da35e3d682c783919015e7c" ], 0, - "c8d993a87f5f582f9b18d6ddf894b28a" + "fbbc497ea79d7381fb63e019822c9488" ], [ "BinaryTreesEnumeration.memP_concatMap_intro", @@ -483,7 +472,7 @@ 1, [ "@query" ], 0, - "0ffc369f7ff065bc03c9b043e5ae25ce" + "c52128c27fac5714465fe017b268bb04" ], [ "BinaryTreesEnumeration.product_complete", @@ -492,11 +481,11 @@ 1, [ "@query", "equation_BinaryTreesEnumeration.product", - "interpretation_Tm_abs_18968094d654c2253a632d1c184715de", - "interpretation_Tm_abs_466f2dd74d673e4cae6c98585f4d9ec6" + "interpretation_Tm_abs_00966f9f1a6fcfb8d702525cf3c20b1d", + "interpretation_Tm_abs_0c186ecf97439ad3963f0d99d884d6c1" ], 0, - "66a495977b455fe5d2b351de82a482ca" + "36ee23f4331d6832add54939bf2aa375" ], [ "BinaryTreesEnumeration.unfold_tos", @@ -532,13 +521,13 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_298b0a0b3e16a58f8b081c52c4f027fc", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bd6d982985e2df5ac87b5db124accca1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", "typing_BinaryTreesEnumeration.size", "typing_tok_BinaryTreesEnumeration.Leaf@tok" ], 0, - "074efcb42b6d5083930da1d68986043f" + "1ec872c6a77055d5f161ca6cba4f04ed" ], [ "BinaryTreesEnumeration.tos_complete", @@ -588,8 +577,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_298b0a0b3e16a58f8b081c52c4f027fc", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bd6d982985e2df5ac87b5db124accca1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", "subterm_ordering_BinaryTreesEnumeration.Branch", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "typing_BinaryTreesEnumeration.bt_with_size", @@ -598,7 +587,7 @@ "typing_tok_BinaryTreesEnumeration.Leaf@tok" ], 0, - "aae0681a9e450ec64e96cf6d65eb79ad" + "b0fcf9cd479650975d69694b6c801592" ], [ "BinaryTreesEnumeration.pairs_with_sum'", @@ -608,10 +597,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bbe01b49de876afa57958f9a93bfe624" + "aba1eae8e10689dd60acf1d6b1fb21fe" ], [ "BinaryTreesEnumeration.pairs_with_sum", @@ -622,10 +611,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "cce578b0698de95ecfef96423989768a" + "eb90fb13c0a9985efe8fbcd39b867f36" ], [ "BinaryTreesEnumeration.bin_tree", @@ -637,7 +626,7 @@ "kinding_BinaryTreesEnumeration.bin_tree@tok" ], 0, - "d1e733bd62fe310a99c6cf4d9884ddc3" + "670a6b064bff0f3a4836881108af16b1" ], [ "BinaryTreesEnumeration.__proj__Branch__item___0", @@ -651,7 +640,7 @@ "refinement_interpretation_Tm_refine_6dd07a1dfd3ecf6fbfc7d08efa23b6b3" ], 0, - "0fa2be171eb9b8a34d720def863c8a5f" + "9b98469ec66a7f08139f74d484337f7b" ], [ "BinaryTreesEnumeration.size", @@ -661,22 +650,20 @@ [ "@MaxIFuel_assumption", "@query", "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_765d3ce9902792f4f04212b6389de4a0_0", "data_elim_BinaryTreesEnumeration.Branch", "disc_equation_BinaryTreesEnumeration.Branch", "disc_equation_BinaryTreesEnumeration.Leaf", "equality_tok_BinaryTreesEnumeration.Leaf@tok", "equation_Prims.nat", "fuel_guarded_inversion_BinaryTreesEnumeration.bin_tree", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_BinaryTreesEnumeration.Branch", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "typing_tok_BinaryTreesEnumeration.Leaf@tok" ], 0, - "942ce999b627759dc904fa33ba883925" + "ec45b2109a522746ca332e7f0502919b" ], [ "BinaryTreesEnumeration.trees_of_size", @@ -690,7 +677,7 @@ "@query", "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "constructor_distinct_BinaryTreesEnumeration.Branch", "constructor_distinct_BinaryTreesEnumeration.Leaf", "data_typing_intro_BinaryTreesEnumeration.Branch@tok", @@ -713,14 +700,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_298b0a0b3e16a58f8b081c52c4f027fc", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bd6d982985e2df5ac87b5db124accca1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", "typing_BinaryTreesEnumeration.size", "typing_tok_BinaryTreesEnumeration.Leaf@tok", "well-founded-ordering-on-nat" ], 0, - "cd23049725f7eef09d4a92b5a3922dc7" + "f887ed148759f7c24024e0324dc3e599" ], [ "BinaryTreesEnumeration.pws'_complete", @@ -729,20 +716,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8a2d735d18f5e0e845edb8d0001e7bf3" + "94ea8bb4b2bccb5344ffcb95a95d17e2" ], [ "BinaryTreesEnumeration.pws_complete", @@ -759,10 +744,10 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1306d72ade109e1121fdd9709a98a089" + "b11183ff2d026c1ae25b824a35877992" ], [ "BinaryTreesEnumeration.pure_as_squash", @@ -774,7 +759,7 @@ "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" ], 0, - "b65c53e5f076dd43ab6bf7eb6bf09e2c" + "2f701620ae294ec217b1b264d4b43a3b" ], [ "BinaryTreesEnumeration.unfold_tos", @@ -810,13 +795,13 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_298b0a0b3e16a58f8b081c52c4f027fc", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bd6d982985e2df5ac87b5db124accca1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", "typing_BinaryTreesEnumeration.size", "typing_tok_BinaryTreesEnumeration.Leaf@tok" ], 0, - "dab4ab72c8e18f4e6bbe4736cc26285c" + "8ce2ddcc6ab7a947227be724c05f4664" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/Lens.fst.hints b/examples/data_structures/Lens.fst.hints index 1e50a525bcd..6a5abe6c133 100644 --- a/examples/data_structures/Lens.fst.hints +++ b/examples/data_structures/Lens.fst.hints @@ -10,11 +10,11 @@ "@MaxIFuel_assumption", "@query", "assumption_Lens.point__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d1f7d0eee9beb0e7464d783bc8c5d7b4" + "e68cb23eb2cdf61adb32228a4f9d3d7d" ], [ "Lens.rgb", @@ -24,11 +24,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3e0da5daa7396952941cbc817bbd80cd" + "e3bdb2d10c8ec747f522c90fc950c69e" ], [ "Lens.colored", @@ -37,7 +37,7 @@ 1, [ "@query", "assumption_Lens.rgb__uu___haseq" ], 0, - "eaab6efa785ae17027ae965c5327f79b" + "c458749e6a61523f2501497d61c58265" ], [ "Lens.stlens", @@ -47,11 +47,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c1e57dcc3ef5fdcad7df4e5ca0b899f1" + "a79a15ca6c3bcfe1167f90725547c055" ], [ "Lens.__proj__Mkstlens__item__st_put", @@ -61,11 +61,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "309a6972edf6cbc5ff3756222aa59771" + "e75758167b9cd793a0f125e3d95c68eb" ], [ "Lens.__proj__Mkstlens__item__st_put", @@ -75,11 +75,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "72d6700b4b8957df17f743e03776470c" + "3259ff1101d702b1c563c4b0e0e469a4" ], [ "Lens.st", @@ -97,7 +97,7 @@ "typing_FStar.Ref.addr_of", "typing_FStar.Ref.only" ], 0, - "4f7eb617741842ddd934abebb620e99e" + "81b74b85ed24218594abd50e93afb372" ], [ "Lens.op_Bar_Colon_Dot_Dot", @@ -111,9 +111,9 @@ "equation_Lens.op_String_Assignment", "fuel_guarded_inversion_Lens.lens", "fuel_guarded_inversion_Lens.stlens", - "interpretation_Tm_abs_0fcf2a41f017c752d5622105a9ee50ac", - "interpretation_Tm_abs_2c8fc92bc8d56a2ad2a4e09efa2a64e8", - "interpretation_Tm_abs_df99a3e749f56372ac4e68a7eab0955e", + "interpretation_Tm_abs_2a3edf4b01e4f2bd197952ce921068e0", + "interpretation_Tm_abs_519017a02c008e8d770d2bb88e107760", + "interpretation_Tm_abs_623dbc4739871293a8e5a3c0e6f66cc2", "proj_equation_Lens.Mklens_get", "proj_equation_Lens.Mklens_put", "projection_inverse_Lens.Mklens_get", "projection_inverse_Lens.Mklens_put", @@ -122,7 +122,95 @@ "token_correspondence_Lens.op_Bar_Colon_Equals" ], 0, - "93474f78e9627a193060c160283ac5ca" + "5979b29a4e0ade0caab67e09a3aaefb2" + ], + [ + "Lens.op_Bar_Colon_Dot", + 1, + 2, + 1, + [ "@query" ], + 0, + "d34d9f7f2ac85c55772d1efc92c79b36" + ], + [ + "Lens.op_Bar_Colon_Colon_Equals", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "d7fe45fe3045aa9f9da35604dd2466a3" + ], + [ + "Lens.op_Array_Assignment", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "ed97f371196a47a8dde5d049ddf4f86f" + ], + [ + "Lens.op_Array_Access", + 1, + 2, + 1, + [ "@query" ], + 0, + "3af8813157fd158c5f05f04017b8ecc6" + ], + [ + "Lens.mutate", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "504526833736bfaec0a2afe5af55deaa" + ], + [ + "Lens.mutate2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "8be1bae296cb8dab225df3e04fd1a1e9" + ], + [ + "Lens.mutate3", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "9b29d9513b8b69df5d3280891fdedf41" ], [ "Lens.circle", @@ -133,11 +221,11 @@ "@MaxIFuel_assumption", "@query", "assumption_Lens.point__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "62cb49b81f6d71629c19306ac030f76b" + "c16136aee8d9c923c37ec7f59eb3c333" ], [ "Lens.rgb", @@ -147,11 +235,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "320547870566bf755ffa9b98269aef56" + "f892b65ee2c51d00a69762314be957a8" ], [ "Lens.colored", @@ -160,7 +248,7 @@ 1, [ "@query", "assumption_Lens.rgb__uu___haseq" ], 0, - "d86bfe6f1bdcaf412f9854f8d307c289" + "f1fee42263f8958e33ce262f21d541c7" ], [ "Lens.stlens", @@ -170,11 +258,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "670c9e3537d350917603d9314bdb3f01" + "f84a53d9f0776dc86e6db525fc3c237c" ], [ "Lens.__proj__Mkstlens__item__st_put", @@ -184,11 +272,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6409630a15d0d4339d290e3da2a0f85f" + "f9958f80302e1151ed31f9af1727e9df" ], [ "Lens.__proj__Mkstlens__item__st_put", @@ -198,11 +286,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3decbb3d0327ea25bf02cd9c9a818bec" + "7b3d8e43fa43d9356a605b74fed3d3b7" ], [ "Lens.st", @@ -220,7 +308,7 @@ "typing_FStar.Ref.addr_of", "typing_FStar.Ref.only" ], 0, - "1469cdb5093ac5e570d54c3e065da319" + "e6e8e7dbdc4c4cf1c9d117500353ed7f" ], [ "Lens.op_Bar_Colon_Dot_Dot", @@ -234,9 +322,9 @@ "equation_Lens.op_String_Assignment", "fuel_guarded_inversion_Lens.lens", "fuel_guarded_inversion_Lens.stlens", - "interpretation_Tm_abs_0fcf2a41f017c752d5622105a9ee50ac", - "interpretation_Tm_abs_2c8fc92bc8d56a2ad2a4e09efa2a64e8", - "interpretation_Tm_abs_df99a3e749f56372ac4e68a7eab0955e", + "interpretation_Tm_abs_2a3edf4b01e4f2bd197952ce921068e0", + "interpretation_Tm_abs_519017a02c008e8d770d2bb88e107760", + "interpretation_Tm_abs_623dbc4739871293a8e5a3c0e6f66cc2", "proj_equation_Lens.Mklens_get", "proj_equation_Lens.Mklens_put", "projection_inverse_Lens.Mklens_get", "projection_inverse_Lens.Mklens_put", @@ -245,77 +333,77 @@ "token_correspondence_Lens.op_Bar_Colon_Equals" ], 0, - "991a33f3fb19cc2665bfb6f7c3eedd6f" + "efa25f65f9cd8667d5c46d6a682b6363" ], [ "Lens.op_Bar_Colon_Colon_Equals", - 1, + 2, 2, 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5e0b24a710165d946895fe8031b9a814" + "caaa67890513653123514a85a8e60d81" ], [ "Lens.op_Array_Assignment", - 1, + 2, 2, 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ffe885e9959aa1bd54d759174b8c1742" + "380ec5d1950f138505e077c47d60b0eb" ], [ "Lens.mutate", - 1, + 2, 2, 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3be1701661061106390be6b47b5ee9b8" + "d7e2714ace961bc182a33b0a68ae68e1" ], [ "Lens.mutate2", - 1, + 2, 2, 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1bec87505de5b0cc36096037821dce57" + "4a769f6c16640a49355b1c53db534be6" ], [ "Lens.mutate3", - 1, + 2, 2, 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4e1aed1c49167a72ad39ccbbe2ef6cdf" + "5a79605ced79cbac2efff9e3f7526317" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/MerkleTree.fst.hints b/examples/data_structures/MerkleTree.fst.hints index f158694916f..63409ec104f 100644 --- a/examples/data_structures/MerkleTree.fst.hints +++ b/examples/data_structures/MerkleTree.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a33738c321201a76a4bbbb0e0aee170d" + "0e71938854cdd626227aa0aea407d8ac" ], [ "MerkleTree.mstring", @@ -20,17 +20,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c5d1c636ff79f191deab0a60f4505c13" + "280ec265fd5d4211f950afb56457f8cd" ], [ "MerkleTree.__proj__Base__item__n", @@ -43,7 +40,7 @@ "refinement_interpretation_Tm_refine_3ab915087995f936a969050df0880d3c" ], 0, - "3951ae1709b3e94255c8e4e63e920591" + "25e49780a474914252eb7def85ff8261" ], [ "MerkleTree.__proj__Concat__item__n", @@ -56,7 +53,7 @@ "refinement_interpretation_Tm_refine_2dd3f6eb0f0d89e4537f22ac1be23031" ], 0, - "987c8bba556b7ca48b6dd74b7c8651e9" + "5d307b4a284856869dec1ef7fec3ff32" ], [ "MerkleTree.__proj__Concat__item__s1", @@ -73,7 +70,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "b73db4c63dd17558fb11cdf3946f591c" + "ba6d72fb0ee98290b7b08247e307aa15" ], [ "MerkleTree.__proj__Concat__item__s2", @@ -90,7 +87,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "a54d5c29e631433d9b7f44f7d59ba8c1" + "78f1acc02c7b80cf20ca72a3ed264d3e" ], [ "MerkleTree.mtree", @@ -98,17 +95,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_MerkleTree.hash_size" ], 0, - "90e178e673912fd6a9a46a0cdeb80f84" + "e7b19d5d083afcc5bfd324c9b3304bce" ], [ "MerkleTree.mtree", @@ -117,19 +111,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_MerkleTree.mstring__uu___haseq", "equation_MerkleTree.data", "equation_MerkleTree.hash", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size" ], 0, - "66172a560a9e81bf39ae8b8e2559313d" + "fc680a8f5172d1aada4b5b8a6c1ef50f" ], [ "MerkleTree.__proj__L__item__data", @@ -142,7 +134,7 @@ "refinement_interpretation_Tm_refine_c60e89554f8e64395245e385f320b1e4" ], 0, - "83dcaf4961c380047549cf511819f0ef" + "e1f4729d869b22047cb4d947a0098587" ], [ "MerkleTree.__proj__N__item__n", @@ -155,7 +147,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "45ed3feb31db4885383c9563e207418c" + "bab90d45f8f9e5794f9b422efb65618f" ], [ "MerkleTree.__proj__N__item__h1", @@ -168,7 +160,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "7d78d5517a2d76569803a4306dcc8358" + "315bc77b1d3971ed7eae1d9b4a762f2a" ], [ "MerkleTree.__proj__N__item__h2", @@ -181,7 +173,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "e686f227c635899521b66c430e88bb65" + "adedf49a2a1632194fd26838f6a18bb6" ], [ "MerkleTree.__proj__N__item__left", @@ -199,7 +191,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "492a8dd8a9ac1d58771cac83f97d66fc" + "073bba9d1f15db52c57948514483f6ab" ], [ "MerkleTree.__proj__N__item__right", @@ -217,7 +209,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "848f2a1a605c55cc2bb391ce180b5024" + "62ee3851af8597ed7b5315a3c7e854c8" ], [ "MerkleTree.get_elt", @@ -228,10 +220,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_3c8cb582f571b51cf60e135d443bd911_2", - "binder_x_953da1aba088dbf0ae1dc331922b77cf_1", "bool_typing", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_15948bb9ab2b09b7e399f450dd186ecb_2", + "binder_x_9088648d068c28807ff841994d75e1fb_1", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_MerkleTree.N", "disc_equation_MerkleTree.L", "disc_equation_MerkleTree.N", "disc_equation_Prims.Cons", @@ -241,21 +232,20 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_MerkleTree.mtree", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_MerkleTree.N_h1", - "proj_equation_MerkleTree.N_n", "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Addition", "proj_equation_MerkleTree.N_n", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_MerkleTree.len" ], 0, - "484a8e72dbd38d95c1b29a0fac000390" + "53766ea08c4fa56ed8dc9f05558f3f30" ], [ "MerkleTree.proof", @@ -272,7 +262,7 @@ "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size" ], 0, - "97c6dcab8970edd2b12884d71f2fa5fa" + "d7096946383823162d6a174601d208e3" ], [ "MerkleTree.p_tail", @@ -295,7 +285,7 @@ "typing_MerkleTree.__proj__Mk_proof__item__pstream" ], 0, - "3e930e8df42747bef5883592e606220b" + "57dcdb6fbf1eef065d4d380e297df2a1" ], [ "MerkleTree.verifier", @@ -305,11 +295,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d3a05926fde1859f9e6c575870cde106" + "cafdd5784642f62cba5063612224e7fa" ], [ "MerkleTree.verifier", @@ -317,16 +307,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "da1ec8bb750d7fa0a315c364e75fb739" + "cb092a5cf56bc79f043a6da09aab8da6" ], [ "MerkleTree.verifier", @@ -337,10 +324,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_953da1aba088dbf0ae1dc331922b77cf_0", - "binder_x_edda0f7d574f2013e144be393d26d078_1", "bool_typing", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_8dc7980622e8d0f39c7cfb7ab47b6fce_1", + "binder_x_9088648d068c28807ff841994d75e1fb_0", "bool_typing", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_MerkleTree.hash", "equation_MerkleTree.len", "equation_MerkleTree.lenp", @@ -351,7 +337,6 @@ "fuel_guarded_inversion_MerkleTree.proof", "fuel_guarded_inversion_Prims.list", "function_token_typing_MerkleTree.hash", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "primitive_Prims.op_Addition", "proj_equation_MerkleTree.Mk_proof_pstream", @@ -360,9 +345,9 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_18a823f34ac79a45486798220f5b2bac", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91b7ac4eaab1bdb842f38c877389276b", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", @@ -371,7 +356,7 @@ "typing_MerkleTree.hash_size", "typing_MerkleTree.lenp" ], 0, - "de28ef1a509344a65c4c59173688a3ff" + "a552fc174448bd1de86b6bd7674eca57" ], [ "MerkleTree.verifier", @@ -381,11 +366,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "aa97c884118aefb9b8cc538a80b6e219" + "40e68d125f23a6e5537e0759e6e4e812" ], [ "MerkleTree.verifier", @@ -395,11 +380,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a8b0ceead32d4139e53d97eec062e40e" + "7d29cfa45754e37601feb19915a4e31b" ], [ "MerkleTree.prover", @@ -409,11 +394,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fb0300e5cadd38d28f1230d13ac9aee1" + "a58cd56bb0ad7637a1a2364926140f2c" ], [ "MerkleTree.prover", @@ -423,11 +408,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dfd963de50add73f761df8ab69659228" + "8527831d7f2d4875010df3a675ce1b97" ], [ "MerkleTree.prover", @@ -438,10 +423,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_3c8cb582f571b51cf60e135d443bd911_2", - "binder_x_953da1aba088dbf0ae1dc331922b77cf_1", "bool_typing", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_15948bb9ab2b09b7e399f450dd186ecb_2", + "binder_x_9088648d068c28807ff841994d75e1fb_1", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_MerkleTree.N", "data_typing_intro_Prims.Cons@tok", "disc_equation_MerkleTree.L", "disc_equation_MerkleTree.N", @@ -454,10 +438,9 @@ "fuel_guarded_inversion_MerkleTree.mtree", "fuel_guarded_inversion_Prims.list", "function_token_typing_MerkleTree.hash", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "proj_equation_MerkleTree.Mk_proof_pstream", "projection_inverse_BoxBool_proj_0", @@ -466,9 +449,9 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3cfdb31a94a2090d67164c1485a1fd2b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4cb4efd537b5f3d5a3f03c6ded34e688", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", @@ -477,7 +460,7 @@ "typing_MerkleTree.p_stream" ], 0, - "8b73b9412078b408402cc1fcec853910" + "af598cdfe84d557ef695f04428c26a8f" ], [ "MerkleTree.correctness", @@ -489,13 +472,13 @@ "assumption_MerkleTree.mstring__uu___haseq", "assumption_MerkleTree.proof__uu___haseq", "equation_MerkleTree.hash", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_3cfdb31a94a2090d67164c1485a1fd2b", + "refinement_interpretation_Tm_refine_4cb4efd537b5f3d5a3f03c6ded34e688", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_77bdb9485207f0507746518db92722d3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_MerkleTree.hash_size", "typing_MerkleTree.prover" ], 0, - "4132b5388b11fe488fe31002b8785356" + "b892997c879501393ebb88208121a7bc" ], [ "MerkleTree.correctness", @@ -506,15 +489,14 @@ "@MaxIFuel_assumption", "@query", "assumption_MerkleTree.mstring__uu___haseq", "assumption_MerkleTree.proof__uu___haseq", - "equation_MerkleTree.hash", "equation_MerkleTree.path", - "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_3cfdb31a94a2090d67164c1485a1fd2b", - "refinement_interpretation_Tm_refine_b4f4a600684b1c1d3eefee508dd84ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_MerkleTree.hash", "equation_Prims.nat", "int_inversion", + "refinement_interpretation_Tm_refine_3d1ed8218c84cdcbf0b2953626a8bae9", + "refinement_interpretation_Tm_refine_4cb4efd537b5f3d5a3f03c6ded34e688", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_MerkleTree.hash_size", "typing_MerkleTree.prover" ], 0, - "4c1aeab4176d1fef08d603afd03a1e49" + "22e7d4d10460c888f4077394cbf823cf" ], [ "MerkleTree.correctness", @@ -529,12 +511,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_MerkleTree.prover.fuel_instrumented", "@fuel_irrelevance_MerkleTree.verifier.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_2777393e8ce7492dd0de0870041140f0_3", - "binder_x_39b382585b9e0f5255bb30856e46a54f_0", - "binder_x_3c8cb582f571b51cf60e135d443bd911_2", - "binder_x_953da1aba088dbf0ae1dc331922b77cf_1", "bool_typing", + "binder_x_15948bb9ab2b09b7e399f450dd186ecb_2", + "binder_x_38079039abee7aff59f43d5431b2dd56_3", + "binder_x_9088648d068c28807ff841994d75e1fb_1", + "binder_x_feaccf6117b8e05feae9c632f02a3a0e_0", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "data_elim_MerkleTree.N", "disc_equation_MerkleTree.N", "disc_equation_Prims.Cons", @@ -550,8 +531,6 @@ "fuel_guarded_inversion_MerkleTree.mtree", "fuel_guarded_inversion_MerkleTree.proof", "fuel_guarded_inversion_Prims.list", - "function_token_typing_MerkleTree.hash_size", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "primitive_Prims.op_Addition", "proj_equation_MerkleTree.L_data", "proj_equation_MerkleTree.Mk_proof_data", @@ -565,20 +544,20 @@ "projection_inverse_MerkleTree.Mk_proof_pstream", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3cfdb31a94a2090d67164c1485a1fd2b", + "refinement_interpretation_Tm_refine_3958bc8692b7b73c247bbfbd99850e76", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a2aac3671a77cc9139550f11ca9ffcff", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4cb4efd537b5f3d5a3f03c6ded34e688", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_MerkleTree.len", "token_correspondence_MerkleTree.prover.fuel_instrumented", - "typing_MerkleTree.prover", "typing_MerkleTree.verifier", - "unit_inversion", "unit_typing" + "typing_MerkleTree.hash_size", "typing_MerkleTree.prover", + "typing_MerkleTree.verifier", "unit_inversion", "unit_typing" ], 0, - "6d70ccf405cd798c7d3f57dde9e41328" + "9775e96054847a3bd0a4715102e1858f" ], [ "MerkleTree.hash_collision", @@ -593,7 +572,7 @@ "typing_MerkleTree.hash_size" ], 0, - "120dd85035e6e2b3dea4df4ace0c30c4" + "b1c7bcfdb7e8f5d404fcf54674c0e443" ], [ "MerkleTree.security", @@ -602,19 +581,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_MerkleTree.mstring__uu___haseq", "equation_MerkleTree.data", "equation_MerkleTree.hash", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size" ], 0, - "ef27f49465052bf6961bdf0b9dcc5a76" + "820097617440a98144bb04f0d3cf2386" ], [ "MerkleTree.security", @@ -623,19 +600,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_MerkleTree.mstring__uu___haseq", "equation_MerkleTree.data", "equation_MerkleTree.hash", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size" ], 0, - "d1c98cc46d55973f0cccf8552c77c557" + "d3c978c9772765ff88eb627ba1d21925" ], [ "MerkleTree.security", @@ -650,13 +625,12 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_MerkleTree.get_elt.fuel_instrumented", "@fuel_irrelevance_MerkleTree.verifier.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_MerkleTree.mstring__uu___haseq", - "binder_x_39b382585b9e0f5255bb30856e46a54f_0", - "binder_x_3c8cb582f571b51cf60e135d443bd911_2", - "binder_x_48030cdc18d1b49078c677cd9f8de1e0_3", - "binder_x_953da1aba088dbf0ae1dc331922b77cf_1", "bool_typing", + "binder_x_15948bb9ab2b09b7e399f450dd186ecb_2", + "binder_x_57cdc8ffe00a3d3ca1f544f28d39499f_3", + "binder_x_9088648d068c28807ff841994d75e1fb_1", + "binder_x_feaccf6117b8e05feae9c632f02a3a0e_0", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_MerkleTree.N", "data_elim_Prims.Cons", "disc_equation_MerkleTree.L", "disc_equation_MerkleTree.N", @@ -674,7 +648,6 @@ "fuel_guarded_inversion_MerkleTree.proof", "fuel_guarded_inversion_Prims.list", "function_token_typing_MerkleTree.hash", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_MerkleTree.L_data", @@ -695,10 +668,10 @@ "projection_inverse_MerkleTree.N_right", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3cfdb31a94a2090d67164c1485a1fd2b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b36121e6f6497f2aa1d625087882854", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4cb4efd537b5f3d5a3f03c6ded34e688", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_570391dad6768bb6caf6242202892528", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", @@ -708,7 +681,7 @@ "typing_MerkleTree.lenp" ], 0, - "f30a7c2705bc07d786e51a75790c9730" + "ddce58d3834164b12cd20508a019d205" ], [ "MerkleTree.mstring", @@ -718,10 +691,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3251026c3135c8c96cde9c71e470e9f5" + "5f81119fa0bc0ad61113a20e6dd1b6dc" ], [ "MerkleTree.mstring", @@ -729,17 +702,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f05c79c670ea2c969edd595d8ac364de" + "c92aa5df051b215a637c363c08976fa9" ], [ "MerkleTree.__proj__Base__item__n", @@ -752,7 +722,7 @@ "refinement_interpretation_Tm_refine_3ab915087995f936a969050df0880d3c" ], 0, - "11182c764220ff2b41adca7f60f37e93" + "919dd6f5021b8e7f13e2850d662336af" ], [ "MerkleTree.__proj__Concat__item__n", @@ -765,7 +735,7 @@ "refinement_interpretation_Tm_refine_2dd3f6eb0f0d89e4537f22ac1be23031" ], 0, - "b57bb26f2290e3f487dd360dbc819c62" + "18055638c46c32af96a99131e5a2cb09" ], [ "MerkleTree.__proj__Concat__item__s1", @@ -782,7 +752,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "59813ddc5357532356e0dd4b727e4a04" + "fc3172b54f2e5394283d9e1836a50bf6" ], [ "MerkleTree.__proj__Concat__item__s2", @@ -799,7 +769,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "c0e662eac2027301ca5be8bd35dfcbbe" + "921434918c109a093fea687bd9c5dacb" ], [ "MerkleTree.mtree", @@ -807,17 +777,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_MerkleTree.hash_size" ], 0, - "f7a732d83fa04617fdf448ec4b75df2d" + "e2929d24cfeda139702c8b26216bef25" ], [ "MerkleTree.mtree", @@ -826,19 +793,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_MerkleTree.mstring__uu___haseq", "equation_MerkleTree.data", "equation_MerkleTree.hash", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size" ], 0, - "16559daf23c3f746606639c6a5e994dc" + "137580165e8d14f6fd813b8bc4956a83" ], [ "MerkleTree.__proj__L__item__data", @@ -851,7 +816,7 @@ "refinement_interpretation_Tm_refine_c60e89554f8e64395245e385f320b1e4" ], 0, - "612ecbaa6f62b302613e5c71e2d6e74d" + "152b7bf9d77ac83287f2e2faa3bbf133" ], [ "MerkleTree.__proj__N__item__n", @@ -864,7 +829,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "59139c5d67a77cc38fe50d846f46ab4d" + "f71a5b1b6435a2bdf867ef77bd96b1be" ], [ "MerkleTree.__proj__N__item__h1", @@ -877,7 +842,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "599eb449a90ff83ff965b255ff728a75" + "2429caef8d4f5a3eee7a9f3f1a1bd6fd" ], [ "MerkleTree.__proj__N__item__h2", @@ -890,7 +855,7 @@ "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" ], 0, - "d48323de0ea2f1f9f43839f6a94591d7" + "1c09351b4c82baf3bc805a53559d21c6" ], [ "MerkleTree.__proj__N__item__left", @@ -908,7 +873,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "2c49a57e95fdd7e5b8ee2c8a250082a3" + "96e5c78e13a864a57962ac66efe0f013" ], [ "MerkleTree.__proj__N__item__right", @@ -926,7 +891,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "d49632affc434c0bae139d4b23bf9d86" + "e6aab4dae5ee6d09696cd6619838450b" ], [ "MerkleTree.get_elt", @@ -937,10 +902,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_3c8cb582f571b51cf60e135d443bd911_2", - "binder_x_953da1aba088dbf0ae1dc331922b77cf_1", "bool_typing", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_15948bb9ab2b09b7e399f450dd186ecb_2", + "binder_x_9088648d068c28807ff841994d75e1fb_1", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_MerkleTree.N", "disc_equation_MerkleTree.L", "disc_equation_MerkleTree.N", "disc_equation_Prims.Cons", @@ -950,21 +914,20 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_MerkleTree.mtree", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "primitive_Prims.op_Addition", "proj_equation_MerkleTree.N_h1", "proj_equation_MerkleTree.N_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_MerkleTree.len" ], 0, - "95c9588075276acf8c191524b23b3a5d" + "e02252e146877022786ac9e9a7ef9006" ], [ "MerkleTree.proof", @@ -981,7 +944,7 @@ "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size" ], 0, - "25f8de633fbeac6f3de12f2a81ca4d28" + "7d030785aed2ec8aed7a292a5c2426de" ], [ "MerkleTree.p_tail", @@ -1004,7 +967,7 @@ "typing_MerkleTree.__proj__Mk_proof__item__pstream" ], 0, - "c627c4febed7e77272acb51c180f8b1f" + "9279446b67f4f3d1ff453d65d50885a6" ], [ "MerkleTree.verifier", @@ -1012,16 +975,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "96e2de348aacdccb31e8be458ffac9b9" + "cbc54352f12768931e374c33f996fd88" ], [ "MerkleTree.verifier", @@ -1032,10 +992,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_953da1aba088dbf0ae1dc331922b77cf_0", - "binder_x_edda0f7d574f2013e144be393d26d078_1", "bool_typing", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_8dc7980622e8d0f39c7cfb7ab47b6fce_1", + "binder_x_9088648d068c28807ff841994d75e1fb_0", "bool_typing", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_MerkleTree.hash", "equation_MerkleTree.len", "equation_MerkleTree.lenp", @@ -1046,7 +1005,6 @@ "fuel_guarded_inversion_MerkleTree.proof", "fuel_guarded_inversion_Prims.list", "function_token_typing_MerkleTree.hash", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "primitive_Prims.op_Addition", "proj_equation_MerkleTree.Mk_proof_pstream", @@ -1055,9 +1013,9 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_18a823f34ac79a45486798220f5b2bac", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91b7ac4eaab1bdb842f38c877389276b", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", @@ -1066,7 +1024,7 @@ "typing_MerkleTree.hash_size", "typing_MerkleTree.lenp" ], 0, - "1ce17f938627b18561903ddd8e2f45d7" + "cc9fb4015d38be3592fb1a6587d39da0" ], [ "MerkleTree.verifier", @@ -1076,11 +1034,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c283dfe0773cec3be3d53395e1852f68" + "7666a9b64ccf30b3b84906d7ed15e47d" ], [ "MerkleTree.verifier", @@ -1090,11 +1048,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bf15f3495090e2249fe174817968762e" + "b61a29519888fd21fb995a98d349ed97" ], [ "MerkleTree.prover", @@ -1104,11 +1062,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6ca835a1e807c5999a2938309996b430" + "57f846a17cf6ee90fcbfa4763c35664b" ], [ "MerkleTree.prover", @@ -1119,10 +1077,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_3c8cb582f571b51cf60e135d443bd911_2", - "binder_x_953da1aba088dbf0ae1dc331922b77cf_1", "bool_typing", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "binder_x_15948bb9ab2b09b7e399f450dd186ecb_2", + "binder_x_9088648d068c28807ff841994d75e1fb_1", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_MerkleTree.N", "data_typing_intro_Prims.Cons@tok", "disc_equation_MerkleTree.L", "disc_equation_MerkleTree.N", @@ -1135,10 +1092,9 @@ "fuel_guarded_inversion_MerkleTree.mtree", "fuel_guarded_inversion_Prims.list", "function_token_typing_MerkleTree.hash", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "proj_equation_MerkleTree.Mk_proof_pstream", "projection_inverse_BoxBool_proj_0", @@ -1147,9 +1103,9 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3cfdb31a94a2090d67164c1485a1fd2b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4cb4efd537b5f3d5a3f03c6ded34e688", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", @@ -1158,7 +1114,7 @@ "typing_MerkleTree.p_stream" ], 0, - "37689a0c8d79a5c8d96726faf7eddc9b" + "d1373d4c599e5dad01ece5382cf0268b" ], [ "MerkleTree.correctness", @@ -1170,13 +1126,13 @@ "assumption_MerkleTree.mstring__uu___haseq", "assumption_MerkleTree.proof__uu___haseq", "equation_MerkleTree.hash", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_3cfdb31a94a2090d67164c1485a1fd2b", + "refinement_interpretation_Tm_refine_4cb4efd537b5f3d5a3f03c6ded34e688", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_77bdb9485207f0507746518db92722d3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_MerkleTree.hash_size", "typing_MerkleTree.prover" ], 0, - "b35ecdfa8ca1a27351d216107c0382cd" + "2e3142e6814d47060196ae1ac48a33e5" ], [ "MerkleTree.hash_collision", @@ -1191,7 +1147,7 @@ "typing_MerkleTree.hash_size" ], 0, - "96c9740ea553f63f47f958e20f240205" + "58b72f08f9e3c177e98068037335dd0a" ], [ "MerkleTree.security", @@ -1200,19 +1156,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_MerkleTree.mstring__uu___haseq", "equation_MerkleTree.data", "equation_MerkleTree.hash", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size" ], 0, - "84633976a5c9866b9359029157c2d623" + "3c0002e684316f0223ed5089d55ed64b" ], [ "MerkleTree.security", @@ -1227,22 +1181,22 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_MerkleTree.get_elt.fuel_instrumented", "@fuel_irrelevance_MerkleTree.verifier.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_MerkleTree.mstring__uu___haseq", - "binder_x_39b382585b9e0f5255bb30856e46a54f_0", - "binder_x_3c8cb582f571b51cf60e135d443bd911_2", - "binder_x_48030cdc18d1b49078c677cd9f8de1e0_3", - "binder_x_953da1aba088dbf0ae1dc331922b77cf_1", "bool_typing", + "binder_x_15948bb9ab2b09b7e399f450dd186ecb_2", + "binder_x_57cdc8ffe00a3d3ca1f544f28d39499f_3", + "binder_x_9088648d068c28807ff841994d75e1fb_1", + "binder_x_feaccf6117b8e05feae9c632f02a3a0e_0", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_MerkleTree.N", "disc_equation_MerkleTree.L", - "disc_equation_MerkleTree.N", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_MerkleTree.data", "equation_MerkleTree.hash", - "equation_MerkleTree.len", "equation_MerkleTree.lenp", - "equation_MerkleTree.p_data", "equation_MerkleTree.p_stream", - "equation_MerkleTree.p_tail", "equation_MerkleTree.path", - "equation_Prims.eqtype", "equation_Prims.nat", + "data_elim_MerkleTree.N", "data_elim_Prims.Cons", + "disc_equation_MerkleTree.L", "disc_equation_MerkleTree.N", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equation_MerkleTree.data", + "equation_MerkleTree.hash", "equation_MerkleTree.len", + "equation_MerkleTree.lenp", "equation_MerkleTree.p_data", + "equation_MerkleTree.p_stream", "equation_MerkleTree.p_tail", + "equation_MerkleTree.path", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_MerkleTree.get_elt.fuel_instrumented", "equation_with_fuel_MerkleTree.verifier.fuel_instrumented", @@ -1250,7 +1204,6 @@ "fuel_guarded_inversion_MerkleTree.proof", "fuel_guarded_inversion_Prims.list", "function_token_typing_MerkleTree.hash", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_MerkleTree.L_data", @@ -1271,10 +1224,10 @@ "projection_inverse_MerkleTree.N_right", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3cfdb31a94a2090d67164c1485a1fd2b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b36121e6f6497f2aa1d625087882854", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4cb4efd537b5f3d5a3f03c6ded34e688", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_570391dad6768bb6caf6242202892528", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", @@ -1284,7 +1237,7 @@ "typing_MerkleTree.lenp" ], 0, - "181c79f140e65e3bb5cfd9ff62712efd" + "25675af983150f4516c15dd7bac67c68" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/RBTree.fst.hints b/examples/data_structures/RBTree.fst.hints index fb19de66d63..bf594d41fb8 100644 --- a/examples/data_structures/RBTree.fst.hints +++ b/examples/data_structures/RBTree.fst.hints @@ -10,11 +10,11 @@ "@MaxIFuel_assumption", "@query", "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "397876d7df7020e96a5d48b7e3e47aef" + "5afd4fa0782125f438d5b66e9721d3a9" ], [ "RBTree.__proj__T__item__col", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "be37c86d4a1097b1c1fb0fcbb53f9c4f" + "322d0f732486564dd98bb5289c947090" ], [ "RBTree.__proj__T__item__left", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "a23137f86912d6d1d044cc6453be7730" + "dc416918a2eefbf2cfb6cbdf4e829560" ], [ "RBTree.__proj__T__item__key", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "4f7e6e77d9cfbb674360f23f4d1b993c" + "30fd113ba923a0ad43eb2a5febc1cd9b" ], [ "RBTree.__proj__T__item__right", @@ -66,7 +66,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "f55d9ea130709a5f75cfd89108deffe3" + "e456d5c7ec054a7303dacfec0200ea74" ], [ "RBTree.color_of", @@ -78,7 +78,7 @@ "disc_equation_RBTree.T", "fuel_guarded_inversion_RBTree.rbtree_" ], 0, - "538a18456b8a2779a24ba888a91eac63" + "3f1c65040c621ecc4ec2698e7c0b3857" ], [ "RBTree.black_height", @@ -87,23 +87,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", "assumption_RBTree.color__uu___haseq", "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", "disc_equation_RBTree.E", "disc_equation_RBTree.T", "equality_tok_RBTree.E@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_RBTree.rbtree_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_RBTree.T", "typing_tok_RBTree.E@tok" ], 0, - "5ada96e8aee397682881765df1710c0c" + "3132328ef4a1a26303c0b634d89950f0" ], [ "RBTree.min_elt", @@ -120,7 +118,7 @@ "typing_RBTree.uu___is_T" ], 0, - "c5be7a24d9aff836539fe14f8bdc62af" + "7dd0390983c68aa8d7d08f0f2e5aa22d" ], [ "RBTree.max_elt", @@ -137,7 +135,7 @@ "typing_RBTree.uu___is_T" ], 0, - "ade634f90a78f51066aaa19b582f910e" + "8677cab083142e7b5507410bbb7f711a" ], [ "RBTree.r_inv", @@ -146,7 +144,7 @@ 1, [ "@query", "assumption_RBTree.color__uu___haseq" ], 0, - "db0b12cd38653e3ad8fea093d7c24d0d" + "7c901ef2f1f1f97da6671cd2662f3af0" ], [ "RBTree.c_inv", @@ -171,7 +169,7 @@ "typing_tok_RBTree.E@tok" ], 0, - "5e2c49316e97b56579eafd1fbeac68ea" + "555b57d09b833ad6e132f433b992cb8d" ], [ "RBTree.k_inv", @@ -189,7 +187,7 @@ "projection_inverse_RBTree.T_right", "subterm_ordering_RBTree.T" ], 0, - "ef6ad658aef16c8d79afca5918387d6f" + "f08e67e94b35aa611d3e7df43a96f929" ], [ "RBTree.in_tree", @@ -198,20 +196,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", "disc_equation_RBTree.E", "disc_equation_RBTree.T", "equality_tok_RBTree.E@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_RBTree.rbtree_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_RBTree.T", "typing_tok_RBTree.E@tok" ], 0, - "5782fd288a176e765b30d8e1d5d5ce61" + "5907038091e520a4d60285602cd34e95" ], [ "RBTree.not_c_inv", @@ -220,7 +216,7 @@ 1, [ "@query", "assumption_RBTree.color__uu___haseq" ], 0, - "ecb1e09d7dbff05ba5330977b3a6368a" + "b3b8bd2685f464a95b11563ccd73f798" ], [ "RBTree.lr_c_inv", @@ -229,7 +225,7 @@ 1, [ "@query" ], 0, - "e4d3f710db08b9b4efbc9af84a59377a" + "6f974197877de38baed8bf122f641823" ], [ "RBTree.pre_balance", @@ -238,16 +234,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "equation_RBTree.h_inv", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ed13ee446f1e980e20cc8fb2afe104e1" + "09c29b13b74c3e731197737984238b3b" ], [ "RBTree.post_balance", @@ -256,16 +250,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "equation_RBTree.h_inv", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "724abdd529bba9b177e90c1bbb6608a0" + "c6ec5bcf120c2687b0c5784992e8dfa7" ], [ "RBTree.balance", @@ -353,7 +345,7 @@ "typing_tok_RBTree.B@tok", "typing_tok_RBTree.E@tok" ], 0, - "0bee7f0e47bb90955b965c2f67865737" + "be7111dae654644cadc7f83f282fddb4" ], [ "RBTree.ins", @@ -362,17 +354,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "39566f5d5447112b4650c3f37bfa2667" + "ad550c77ac235288dfe9acbf5fc54ffd" ], [ "RBTree.ins", @@ -381,17 +371,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7642a863dc407f9781dc8c842285979d" + "082d416e029e3f82e164e6515109c996" ], [ "RBTree.ins", @@ -412,16 +400,16 @@ "@fuel_irrelevance_RBTree.k_inv.fuel_instrumented", "@fuel_irrelevance_RBTree.max_elt.fuel_instrumented", "@fuel_irrelevance_RBTree.min_elt.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", "RBTree_pretyping_edb9b80bba796a084d329c74e0dfa031", "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", "bool_inversion", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_RBTree.B", "constructor_distinct_RBTree.E", "constructor_distinct_RBTree.R", "constructor_distinct_RBTree.T", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", "data_elim_RBTree.T", + "data_typing_intro_RBTree.B@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_RBTree.E", "disc_equation_RBTree.T", @@ -429,8 +417,7 @@ "equality_tok_RBTree.R@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_RBTree.balance", "equation_RBTree.color_of", "equation_RBTree.h_inv", - "equation_RBTree.lr_c_inv", "equation_RBTree.post_balance", - "equation_RBTree.pre_balance", + "equation_RBTree.post_balance", "equation_RBTree.pre_balance", "equation_with_fuel_RBTree.black_height.fuel_instrumented", "equation_with_fuel_RBTree.c_inv.fuel_instrumented", "equation_with_fuel_RBTree.in_tree.fuel_instrumented", @@ -440,45 +427,40 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_RBTree.color", "fuel_guarded_inversion_RBTree.rbtree_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_RBTree.T_col", "proj_equation_RBTree.T_right", - "projection_inverse_BoxBool_proj_0", + "proj_equation_RBTree.T_col", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_RBTree.T_col", "projection_inverse_RBTree.T_key", "projection_inverse_RBTree.T_left", "projection_inverse_RBTree.T_right", - "refinement_interpretation_Tm_refine_2c9a157fd071eef37c25e79afebd4539", - "refinement_interpretation_Tm_refine_3134fc29a1f44daf81b316322293b9a7", + "refinement_interpretation_Tm_refine_272c2edafacd4a1ebd629cfbb1f21919", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_42b553e38de20ed6cc468575905c8742", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_918f3ea39efad81b95b21879dc2fe1e1", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_RBTree.T", "token_correspondence_RBTree.black_height.fuel_instrumented", - "token_correspondence_RBTree.c_inv.fuel_instrumented", "token_correspondence_RBTree.in_tree.fuel_instrumented", "token_correspondence_RBTree.k_inv.fuel_instrumented", - "typing_RBTree.balance", "typing_RBTree.black_height", - "typing_RBTree.c_inv", "typing_RBTree.h_inv", - "typing_RBTree.in_tree", "typing_RBTree.ins", "typing_RBTree.k_inv", - "typing_tok_RBTree.E@tok", "typing_tok_RBTree.R@tok" + "typing_RBTree.black_height", "typing_RBTree.c_inv", + "typing_RBTree.h_inv", "typing_RBTree.in_tree", "typing_RBTree.ins", + "typing_RBTree.k_inv", "typing_tok_RBTree.E@tok" ], 0, - "26b3accbaf5010aa242cae6d00a3ceb8" + "d9c9b3ca3d5d57b31a63ac4db80a35e0" ], [ "RBTree.make_black", @@ -530,7 +512,7 @@ "typing_RBTree.uu___is_T" ], 0, - "c66bf8abd7f0ce8e8067481c2d0f99ec" + "e998d42e175ede9a44ccc03ddd4b6623" ], [ "RBTree.insert", @@ -540,11 +522,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fca94919d51895f7adcfae1662e1a775" + "727cfa0fdb21835ad9acf18e4410a7dd" ], [ "RBTree.insert", @@ -565,7 +547,7 @@ "typing_RBTree.make_black" ], 0, - "e8dd70e822a0dda2530952ed4bc0e5af" + "ec0b2b5778fba0d7e9fbab06ca3d6d47" ], [ "RBTree.proj", @@ -577,7 +559,7 @@ "refinement_interpretation_Tm_refine_b9a9fc64f3ae46074f41960b319aa53f" ], 0, - "90cf26a5cc006d8980431e2d53519c3f" + "a2f95df17ccebbbd385a1e9863bd883a" ], [ "RBTree.rbtree'", @@ -588,11 +570,11 @@ "@MaxIFuel_assumption", "@query", "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8e697d730c1427a788dcec6474b3581d" + "0ba077e0d7508baba7c6741c7e59d4c7" ], [ "RBTree.__proj__T__item__col", @@ -605,7 +587,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "91e1cdfc11883b1f6e1071b26df10e6b" + "da967e8967a0a6d05f5c366fb0b484f9" ], [ "RBTree.__proj__T__item__left", @@ -618,7 +600,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "a266bbf47741f3d5f90441f84260e584" + "86f6e33e2b1a82e1a9442a17dc6abbc3" ], [ "RBTree.__proj__T__item__key", @@ -631,7 +613,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "fa4fec451580f6ea7a09e6f80a34f7aa" + "bbb6a4511b938044b3beeca998532814" ], [ "RBTree.__proj__T__item__right", @@ -644,7 +626,7 @@ "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" ], 0, - "16c7b8ed1ec8c2623dd7c2581c9f48c8" + "2d024e61ec26f15d88fb8766dd42e204" ], [ "RBTree.color_of", @@ -656,7 +638,7 @@ "disc_equation_RBTree.T", "fuel_guarded_inversion_RBTree.rbtree_" ], 0, - "d87659dd400c68bf812e0a01cdb9d83d" + "5ac45bdb9803d8c0d48025530df26cb6" ], [ "RBTree.black_height", @@ -665,23 +647,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", "assumption_RBTree.color__uu___haseq", "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", "disc_equation_RBTree.E", "disc_equation_RBTree.T", "equality_tok_RBTree.E@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_RBTree.rbtree_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_RBTree.T", "typing_tok_RBTree.E@tok" ], 0, - "6e1e6b29a48282f5cd2b2ee3707aa28a" + "61a6fafdb599ed830747e2027a8a32ce" ], [ "RBTree.min_elt", @@ -698,7 +678,7 @@ "typing_RBTree.uu___is_T" ], 0, - "8b1fcf2577cba17a582b5c29daf5684d" + "c871bc8a977e361773345b62b888a196" ], [ "RBTree.max_elt", @@ -715,7 +695,7 @@ "typing_RBTree.uu___is_T" ], 0, - "efec323cd18bde46ed13fc62f5d405c3" + "9702a4a94d22a59a4f3ddfb692fc4ee7" ], [ "RBTree.r_inv", @@ -724,7 +704,7 @@ 1, [ "@query", "assumption_RBTree.color__uu___haseq" ], 0, - "7a537845f5da113eeb8e35af9c01d885" + "1395d6bd5b69ba6238a2e58525013716" ], [ "RBTree.c_inv", @@ -749,7 +729,7 @@ "typing_tok_RBTree.E@tok" ], 0, - "44afe2f5e2b4fd3079e966ee19729eab" + "669b18cd168034e52167296afad15a50" ], [ "RBTree.k_inv", @@ -767,7 +747,7 @@ "projection_inverse_RBTree.T_right", "subterm_ordering_RBTree.T" ], 0, - "d951b1410e50c48ba65bceb1f7e23caf" + "d89f8b37394c79ef6130e646d0b518ed" ], [ "RBTree.in_tree", @@ -776,20 +756,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", "disc_equation_RBTree.E", "disc_equation_RBTree.T", "equality_tok_RBTree.E@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_RBTree.rbtree_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_RBTree.T", "typing_tok_RBTree.E@tok" ], 0, - "2bf3641849f42de8c2f5c1f369a38e53" + "e1d8dbea6ba8dac2e495a3b6ec0af406" ], [ "RBTree.not_c_inv", @@ -798,7 +776,7 @@ 1, [ "@query", "assumption_RBTree.color__uu___haseq" ], 0, - "dc9a4cdcebb6cc5adc8665850b16d4f3" + "cdba5bf8a684b0c7d53ab22e3cfc81de" ], [ "RBTree.lr_c_inv", @@ -807,7 +785,7 @@ 1, [ "@query" ], 0, - "071b21ac59c83beb6bfb9f5241a35af0" + "7989337408fcabe5e286d891fcbd5870" ], [ "RBTree.pre_balance", @@ -816,16 +794,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "equation_RBTree.h_inv", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6bd5b9d17582b31025156d77bc682527" + "72da6af0ef776786de634653150a91ad" ], [ "RBTree.post_balance", @@ -834,16 +810,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "equation_RBTree.h_inv", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ee6b66ee2576b2f161c6864ee38c4274" + "d7b546c51535ddaae0d1bf0b646fb964" ], [ "RBTree.balance", @@ -932,7 +906,7 @@ "typing_tok_RBTree.B@tok", "typing_tok_RBTree.E@tok" ], 0, - "c193ec7e20e73ea4b71363dc78e50537" + "69479849665374a1cedbcd5b3d684f6d" ], [ "RBTree.ins", @@ -941,17 +915,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "12d7c14a4c064c4d4bb97d55019ee6cc" + "db4c632b5e2dff41dffdf0b24c851344" ], [ "RBTree.ins", @@ -972,16 +944,15 @@ "@fuel_irrelevance_RBTree.k_inv.fuel_instrumented", "@fuel_irrelevance_RBTree.max_elt.fuel_instrumented", "@fuel_irrelevance_RBTree.min_elt.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", "RBTree_pretyping_edb9b80bba796a084d329c74e0dfa031", "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", "bool_inversion", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_RBTree.B", "constructor_distinct_RBTree.E", "constructor_distinct_RBTree.R", "constructor_distinct_RBTree.T", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_RBTree.T", + "constructor_distinct_Tm_unit", "data_elim_RBTree.T", + "data_typing_intro_RBTree.B@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_RBTree.E", "disc_equation_RBTree.T", @@ -999,16 +970,13 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_RBTree.color", "fuel_guarded_inversion_RBTree.rbtree_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_RBTree.T_col", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", @@ -1019,23 +987,21 @@ "projection_inverse_RBTree.T_col", "projection_inverse_RBTree.T_key", "projection_inverse_RBTree.T_left", "projection_inverse_RBTree.T_right", - "refinement_interpretation_Tm_refine_2c9a157fd071eef37c25e79afebd4539", + "refinement_interpretation_Tm_refine_272c2edafacd4a1ebd629cfbb1f21919", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_42b553e38de20ed6cc468575905c8742", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_918f3ea39efad81b95b21879dc2fe1e1", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_RBTree.T", "token_correspondence_RBTree.black_height.fuel_instrumented", - "token_correspondence_RBTree.c_inv.fuel_instrumented", "token_correspondence_RBTree.in_tree.fuel_instrumented", "token_correspondence_RBTree.k_inv.fuel_instrumented", "typing_RBTree.black_height", "typing_RBTree.c_inv", "typing_RBTree.h_inv", "typing_RBTree.in_tree", "typing_RBTree.ins", - "typing_RBTree.k_inv", "typing_RBTree.max_elt", - "typing_tok_RBTree.E@tok", "typing_tok_RBTree.R@tok" + "typing_RBTree.k_inv", "typing_tok_RBTree.E@tok" ], 0, - "4e467164ffedbc753c3bf6e4cb045ad3" + "894a64b8374f98e0f30b6013bf6dbe2c" ], [ "RBTree.make_black", @@ -1087,7 +1053,7 @@ "typing_RBTree.uu___is_T" ], 0, - "52e39f3646c1fe4e8c6ad3f30afbf068" + "7f8af03fd669a61fff817c8101146437" ], [ "RBTree.insert", @@ -1108,7 +1074,7 @@ "typing_RBTree.make_black" ], 0, - "fa817f57879837a2617a05a582999baa" + "b6aa21cd5f8caf3e2b659401686f924d" ], [ "RBTree.insert", @@ -1118,11 +1084,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5135882de4c64c58eaa390d107846bc4" + "a774f44d9a7521ac4086d0f6dcbd1d01" ], [ "RBTree.proj", @@ -1134,7 +1100,7 @@ "refinement_interpretation_Tm_refine_b9a9fc64f3ae46074f41960b319aa53f" ], 0, - "7e85e9a538c7be60d1695f515efc40f0" + "31d9cb22ba8b1dd81f613e61eec9908e" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/StatefulLens.fst.hints b/examples/data_structures/StatefulLens.fst.hints index 2fc3ef20cab..988c5208a09 100644 --- a/examples/data_structures/StatefulLens.fst.hints +++ b/examples/data_structures/StatefulLens.fst.hints @@ -10,8 +10,8 @@ "@MaxIFuel_assumption", "@query", "equation_StatefulLens.compose_hlens", "fuel_guarded_inversion_StatefulLens.stlens", - "interpretation_Tm_abs_4ab9ef84e1e0b41531e951e8baf34f1d", - "interpretation_Tm_abs_ec77e0e6d3001866440d71fa74b070a4", + "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", + "interpretation_Tm_abs_eb58a5c7378d916320d8f69adb3470f7", "proj_equation_StatefulLens.Mkhlens_get", "proj_equation_StatefulLens.Mkhlens_put", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -22,7 +22,7 @@ "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" ], 0, - "dfc8c4921259ae6f2d6d0b5af68fdd79" + "fdd4b29075724a8e8c590f41ebd84f2f" ], [ "StatefulLens.as_stlens", @@ -32,8 +32,8 @@ [ "@MaxIFuel_assumption", "@query", "equation_StatefulLens.as_hlens", "fuel_guarded_inversion_Lens.lens", - "interpretation_Tm_abs_696449ad355460ecba01300121f1af61", - "interpretation_Tm_abs_f02db61e3ed08b26c378ca3ef170c26b", + "interpretation_Tm_abs_4c574a44c59a8826c9f20f8889049f16", + "interpretation_Tm_abs_67044bd756546113eab810f29d691656", "proj_equation_StatefulLens.Mkhlens_get", "proj_equation_StatefulLens.Mkhlens_put", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -44,7 +44,7 @@ "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" ], 0, - "c060f5eb430f52e1915b61b7ef1e3069" + "f9591ba0ca54014d1c21ece792489633" ], [ "StatefulLens.stlens_ref", @@ -55,8 +55,8 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_StatefulLens.hlens_ref", - "interpretation_Tm_abs_34a03dac1484e074bc0a336c4fb3c59b", - "interpretation_Tm_abs_8f00abd1fefcb4677767357d2a053189", + "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", + "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", "proj_equation_StatefulLens.Mkhlens_get", "proj_equation_StatefulLens.Mkhlens_put", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -70,7 +70,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "d49e743400869ae5193f41e00ebfd8a0" + "0bf2c2540fe2b81072919ab841dee35f" ], [ "StatefulLens.test0", @@ -81,8 +81,8 @@ "@query", "equation_FStar.ST.ref", "equation_StatefulLens.compose_hlens", "equation_StatefulLens.hlens_ref", - "interpretation_Tm_abs_8f00abd1fefcb4677767357d2a053189", - "interpretation_Tm_abs_ec77e0e6d3001866440d71fa74b070a4", + "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", + "interpretation_Tm_abs_eb58a5c7378d916320d8f69adb3470f7", "proj_equation_StatefulLens.Mkhlens_get", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -90,7 +90,7 @@ "token_correspondence_StatefulLens.__proj__Mkhlens__item__get" ], 0, - "45b34fa8506dc0f2ba06aff65c495693" + "f1ba74698607735dbd8d81b9b1bbb762" ], [ "StatefulLens.test1", @@ -99,14 +99,17 @@ 1, [ "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StatefulLens.compose_hlens", - "equation_StatefulLens.hlens_ref", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing", - "interpretation_Tm_abs_34a03dac1484e074bc0a336c4fb3c59b", - "interpretation_Tm_abs_4ab9ef84e1e0b41531e951e8baf34f1d", - "interpretation_Tm_abs_8f00abd1fefcb4677767357d2a053189", + "equation_StatefulLens.hlens_ref", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", + "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", + "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", + "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "proj_equation_StatefulLens.Mkhlens_get", @@ -115,7 +118,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_StatefulLens.Mkhlens_get", "projection_inverse_StatefulLens.Mkhlens_put", - "refinement_interpretation_Tm_refine_31a7ddb47823dc60c0223ed9ad302625", + "refinement_interpretation_Tm_refine_2a4aff828cfe8cabe6c5d05bc88b6088", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_StatefulLens.__proj__Mkhlens__item__get", @@ -125,7 +128,7 @@ "typing_FStar.ST.mref" ], 0, - "611ddafd420f2be71155c3b7da4258fb" + "6c5aad5adead1905a09b4f2b3cfa41a4" ], [ "StatefulLens.test2", @@ -134,15 +137,18 @@ 1, [ "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StatefulLens.compose_hlens", - "equation_StatefulLens.hlens_ref", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_34a03dac1484e074bc0a336c4fb3c59b", - "interpretation_Tm_abs_4ab9ef84e1e0b41531e951e8baf34f1d", - "interpretation_Tm_abs_8f00abd1fefcb4677767357d2a053189", - "interpretation_Tm_abs_ec77e0e6d3001866440d71fa74b070a4", + "equation_StatefulLens.hlens_ref", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", + "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", + "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", + "interpretation_Tm_abs_eb58a5c7378d916320d8f69adb3470f7", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "proj_equation_StatefulLens.Mkhlens_get", @@ -151,7 +157,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_StatefulLens.Mkhlens_get", "projection_inverse_StatefulLens.Mkhlens_put", - "refinement_interpretation_Tm_refine_31a7ddb47823dc60c0223ed9ad302625", + "refinement_interpretation_Tm_refine_2a4aff828cfe8cabe6c5d05bc88b6088", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_StatefulLens.__proj__Mkhlens__item__get", @@ -161,7 +167,34 @@ "typing_FStar.ST.mref" ], 0, - "d714f908835119b6e97e224fe8a4211a" + "bc59a965ee2a1f0a5622d3c05879e855" + ], + [ + "StatefulLens.op_String_Access", + 1, + 2, + 1, + [ "@query" ], + 0, + "99a8d9b4f369affc7f7e27b3418d89cb" + ], + [ + "StatefulLens.op_String_Assignment", + 1, + 2, + 1, + [ "@query" ], + 0, + "7f0fa987de34c62278c90bf4d87a2942" + ], + [ + "StatefulLens.test3", + 1, + 2, + 1, + [ "@query" ], + 0, + "00700108828940553eadebc289a6c723" ], [ "StatefulLens.test4", @@ -170,15 +203,18 @@ 1, [ "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StatefulLens.compose_hlens", - "equation_StatefulLens.hlens_ref", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_34a03dac1484e074bc0a336c4fb3c59b", - "interpretation_Tm_abs_4ab9ef84e1e0b41531e951e8baf34f1d", - "interpretation_Tm_abs_8f00abd1fefcb4677767357d2a053189", - "interpretation_Tm_abs_ec77e0e6d3001866440d71fa74b070a4", + "equation_StatefulLens.hlens_ref", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", + "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", + "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", + "interpretation_Tm_abs_eb58a5c7378d916320d8f69adb3470f7", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "proj_equation_StatefulLens.Mkhlens_get", @@ -187,7 +223,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_StatefulLens.Mkhlens_get", "projection_inverse_StatefulLens.Mkhlens_put", - "refinement_interpretation_Tm_refine_31a7ddb47823dc60c0223ed9ad302625", + "refinement_interpretation_Tm_refine_2a4aff828cfe8cabe6c5d05bc88b6088", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_StatefulLens.__proj__Mkhlens__item__get", @@ -197,7 +233,16 @@ "typing_FStar.ST.mref" ], 0, - "94660c48d450469223c97633d5d56620" + "f547a62fffd65b3c1dfe87d3a761e3e2" + ], + [ + "StatefulLens.test5", + 1, + 2, + 1, + [ "@query" ], + 0, + "067f25eea0f13ae84ed1b2389bb6b0e1" ], [ "StatefulLens.move_x", @@ -217,12 +262,12 @@ "equation_StatefulLens.op_Array_Assignment", "equation_StatefulLens.x", "fuel_guarded_inversion_StatefulLens.circle", - "interpretation_Tm_abs_0fcf2a41f017c752d5622105a9ee50ac", - "interpretation_Tm_abs_34a03dac1484e074bc0a336c4fb3c59b", - "interpretation_Tm_abs_4ab9ef84e1e0b41531e951e8baf34f1d", - "interpretation_Tm_abs_696449ad355460ecba01300121f1af61", - "interpretation_Tm_abs_dc04046b91d36a5678d7be0754290609", - "interpretation_Tm_abs_f02db61e3ed08b26c378ca3ef170c26b", + "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", + "interpretation_Tm_abs_1256fa2ccc4c41723429bd87797d151c", + "interpretation_Tm_abs_2a3edf4b01e4f2bd197952ce921068e0", + "interpretation_Tm_abs_4c574a44c59a8826c9f20f8889049f16", + "interpretation_Tm_abs_67044bd756546113eab810f29d691656", + "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_Lens.Mklens_get", "proj_equation_Lens.Mklens_put", "proj_equation_StatefulLens.Mkcircle_center", @@ -243,7 +288,7 @@ "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" ], 0, - "258e33b808a2f8aae03567b1880ab400" + "255b76ca8b6d0bef84ca8c91b891dd53" ], [ "StatefulLens.move_x2", @@ -258,14 +303,14 @@ "equation_StatefulLens.as_hlens", "equation_StatefulLens.center", "equation_StatefulLens.compose_hlens", "equation_StatefulLens.hlens_ref", "equation_StatefulLens.x", - "interpretation_Tm_abs_0fcf2a41f017c752d5622105a9ee50ac", - "interpretation_Tm_abs_34a03dac1484e074bc0a336c4fb3c59b", - "interpretation_Tm_abs_4ab9ef84e1e0b41531e951e8baf34f1d", - "interpretation_Tm_abs_666f30917bb531db0d7af15d2ae73a2e", - "interpretation_Tm_abs_696449ad355460ecba01300121f1af61", - "interpretation_Tm_abs_8f00abd1fefcb4677767357d2a053189", - "interpretation_Tm_abs_ec77e0e6d3001866440d71fa74b070a4", - "interpretation_Tm_abs_f02db61e3ed08b26c378ca3ef170c26b", + "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", + "interpretation_Tm_abs_2a3edf4b01e4f2bd197952ce921068e0", + "interpretation_Tm_abs_4c574a44c59a8826c9f20f8889049f16", + "interpretation_Tm_abs_67044bd756546113eab810f29d691656", + "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", + "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", + "interpretation_Tm_abs_e775c6111ea25fcdc9dbe08c104fef8c", + "interpretation_Tm_abs_eb58a5c7378d916320d8f69adb3470f7", "proj_equation_Lens.Mklens_get", "proj_equation_Lens.Mklens_put", "proj_equation_StatefulLens.Mkhlens_get", "proj_equation_StatefulLens.Mkhlens_put", @@ -284,7 +329,7 @@ "token_correspondence_StatefulLens.__proj__Mkpoint__item__x" ], 0, - "3230682ca5d2f347ec2dc2800ea49e95" + "59b3cb3353dd55590ff914395cd450f1" ], [ "StatefulLens.compose_stlens", @@ -295,8 +340,8 @@ "@MaxIFuel_assumption", "@query", "equation_StatefulLens.compose_hlens", "fuel_guarded_inversion_StatefulLens.stlens", - "interpretation_Tm_abs_4ab9ef84e1e0b41531e951e8baf34f1d", - "interpretation_Tm_abs_ec77e0e6d3001866440d71fa74b070a4", + "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", + "interpretation_Tm_abs_eb58a5c7378d916320d8f69adb3470f7", "proj_equation_StatefulLens.Mkhlens_get", "proj_equation_StatefulLens.Mkhlens_put", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -307,7 +352,7 @@ "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" ], 0, - "16679dba672fbaa4d1c2fcb67f85a972" + "3860d1da01a45f0c4359d8898ed57c65" ], [ "StatefulLens.as_stlens", @@ -317,8 +362,8 @@ [ "@MaxIFuel_assumption", "@query", "equation_StatefulLens.as_hlens", "fuel_guarded_inversion_Lens.lens", - "interpretation_Tm_abs_696449ad355460ecba01300121f1af61", - "interpretation_Tm_abs_f02db61e3ed08b26c378ca3ef170c26b", + "interpretation_Tm_abs_4c574a44c59a8826c9f20f8889049f16", + "interpretation_Tm_abs_67044bd756546113eab810f29d691656", "proj_equation_StatefulLens.Mkhlens_get", "proj_equation_StatefulLens.Mkhlens_put", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -329,7 +374,7 @@ "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" ], 0, - "3896b402849a1a78d1899e765631adb6" + "ab13b5873a9b4a1972239b94afe16904" ], [ "StatefulLens.stlens_ref", @@ -340,8 +385,8 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_StatefulLens.hlens_ref", - "interpretation_Tm_abs_34a03dac1484e074bc0a336c4fb3c59b", - "interpretation_Tm_abs_8f00abd1fefcb4677767357d2a053189", + "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", + "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", "proj_equation_StatefulLens.Mkhlens_get", "proj_equation_StatefulLens.Mkhlens_put", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -355,7 +400,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "4c73bcd52ea8a353aac2d57349ef6a0b" + "d746481677f6fd5e8a911c00d2756304" ], [ "StatefulLens.test1", @@ -365,11 +410,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7fcad658bea6e50ae1e2bef56bb2151a" + "ca7b35676dc5e12f6aae798e33693865" ], [ "StatefulLens.test2", @@ -379,11 +424,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "34fe251c7a5559b6181fe2ec870bbecc" + "f0614f52f99bb76f82ba3516fbc881d6" ], [ "StatefulLens.test4", @@ -393,11 +438,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bd42ec87d981ab7053829cf1e2511282" + "2e1a9f47657850a427b5d232c8c2c168" ] ] ] \ No newline at end of file diff --git a/examples/data_structures/Vector.fst.hints b/examples/data_structures/Vector.fst.hints index 2dda0b2f93d..686cbed4c23 100644 --- a/examples/data_structures/Vector.fst.hints +++ b/examples/data_structures/Vector.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "33519d975744d223d6a2b35b608602e0" + "a642db542edee2c2ef7541660e07fc09" ], [ "Vector.vector", @@ -20,17 +20,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "16d9542768f2be441e5707318a5c3770" + "84082c3554311e087ab88e09585b42a3" ], [ "Vector.__proj__VCons__item__hd", @@ -43,7 +40,7 @@ "refinement_interpretation_Tm_refine_a4e93483662b42a2216eccfd8e27a9c0" ], 0, - "51b69f4985cb58174348436fd64654bd" + "801b1c353b4a6c17a54f7420bf3e4e76" ], [ "Vector.__proj__VCons__item__n", @@ -56,7 +53,7 @@ "refinement_interpretation_Tm_refine_a4e93483662b42a2216eccfd8e27a9c0" ], 0, - "ab1dcf27d2774b1e16b013e130fa652f" + "c2edd8ebcb5a8fe8dedfb7de88c8c9ea" ], [ "Vector.__proj__VCons__item__tl", @@ -72,7 +69,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "432c6fb999500cb9306375bb01ea6766" + "b71976c40e3578dfc03be5675920f29d" ], [ "Vector.head", @@ -81,7 +78,7 @@ 1, [ "@query" ], 0, - "dc29c44560cf6402b0a18e5d3e8984a1" + "082cebf26b1dd4ac0b66eb69a31f107b" ], [ "Vector.head", @@ -94,7 +91,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1ac2bccc394d96de14ab3365b382909e" + "a85ad0fec8fdfdb61ded61d5465c1460" ], [ "Vector.head", @@ -104,10 +101,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_Vector.VCons", "equation_Prims.pos", "fuel_guarded_inversion_Vector.vector", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1a72ae24fc2d9f5815a3abc253fa4d6f" + "62211ef42b889f97a6b261b596bdf722" ], [ "Vector.nth", @@ -117,21 +114,21 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_08f91f7ad61b706e70e3157ddbaf7961_3", - "binder_x_af4500ee44e6d206680572f9b58ea6a8_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_21c13f6456e3f350b125d9f794dd3770_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_dea256e7a41198c89ed07f42894c7b2b_3", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_15b645c01981a1680bdbd0c7a2f58255", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cd73fa2255f8011c45dec35de340a3ae", "well-founded-ordering-on-nat" ], 0, - "83b5daed0233f164cd46423d061957c7" + "417af2937d0fe786be73288d49b1dc95" ], [ "Vector.append", @@ -141,10 +138,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e2a499e2b79092f347dfbacbfd6140b5" + "5f413db6752bbe7754b4db82b9bf5f0e" ], [ "Vector.append", @@ -154,10 +151,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0b4b60e3d8c8d07124c2bbfca5ddf295" + "c6c5cdfee3bdb385c3b3c22e9927866c" ], [ "Vector.append", @@ -166,21 +163,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4818ddc23acecaa283795da6e2c0cecb_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_2ca789102088f52029182cc0ebc25e49_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "data_elim_Vector.VCons", "data_elim_Vector.VNil", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "5044c96b5ed93b35abb1d46f212a739a" + "7ab1c19abb2e7b249988c2564b26222f" ], [ "Vector.reverse", @@ -189,20 +184,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4818ddc23acecaa283795da6e2c0cecb_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_2ca789102088f52029182cc0ebc25e49_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "constructor_distinct_Vector.VNil", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "f3987fbd7d6305fceb78c202f517ed88" + "b60b362e5fc9917b262e226f3d00c58f" ], [ "Vector.mapT", @@ -211,20 +204,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_abf3f1196d2cc83d84a2791acdcb0bb3_6", - "binder_x_e22ba7a032a73f6d0678d3d186686631_5", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", + "binder_x_f2a82419b48cea016cad98171080844c_6", "constructor_distinct_Vector.VNil", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "56fb9e9705789dda54b7c777184d46ca" + "a03a35305e8c1714f728fe5c033415e3" ], [ "Vector.fold_left", @@ -233,20 +224,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_6", - "binder_x_e26deb007035b55c96d00ffa1969b87f_7", + "binder_x_048405c135c47e66b2f031213c846802_7", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_6", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "f7373fb888c6a1cd07ed677b8d382ed0" + "d4f663df7496fe69442b6bd52cb6d00f" ], [ "Vector.fold_right", @@ -255,20 +244,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_abf3f1196d2cc83d84a2791acdcb0bb3_6", - "binder_x_e22ba7a032a73f6d0678d3d186686631_5", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", + "binder_x_f2a82419b48cea016cad98171080844c_6", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", - "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "fuel_guarded_inversion_Vector.vector", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "105cecda4015de128ef121f508debd70" + "ea4bb0d77ec0a9f0d993515466eb1565" ], [ "Vector.find", @@ -277,21 +263,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_cc0dcc387d9bb38c94859155b32201ac_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_1fd74c304e163c0d8adcb88881fe80b8_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", - "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", + "fuel_guarded_inversion_Vector.vector", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "039499d480851fa0de670a4acea0ba59" + "fe568791fd4a683dd697ec3dbc9c6450" ], [ "Vector.zip'", @@ -300,21 +283,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2e6717fb2b585570dab3e3168a217d77_5", - "binder_x_5dcbaa2abdae738e94cc6ae0927bd4ba_6", - "binder_x_e22ba7a032a73f6d0678d3d186686631_4", + "binder_x_49f7eb260f7789f18adb7dbb2ba714df_5", + "binder_x_b22ffd3ae8bcda01839665f8319f8020_6", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", "constructor_distinct_Vector.VNil", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "0e2e4fbf97561a2c724a9281d5869669" + "7ad716b4dceb8b84c523bfeba447c41d" ], [ "Vector.vector", @@ -324,10 +305,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9ba1a7941a52ad5db27a8640ed73f238" + "85ec3abcc3f7d103d7b10b89572c42aa" ], [ "Vector.vector", @@ -335,17 +316,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e8d65cdfffd6c829e6a45b9da3925099" + "e1e11e961e1a5b35766fd6dea2810a07" ], [ "Vector.__proj__VCons__item__hd", @@ -358,7 +336,7 @@ "refinement_interpretation_Tm_refine_a4e93483662b42a2216eccfd8e27a9c0" ], 0, - "1cba688f7c93cb8a238195864693c2eb" + "9c3c3fe59996d82e9c609ba1a8d76254" ], [ "Vector.__proj__VCons__item__n", @@ -371,7 +349,7 @@ "refinement_interpretation_Tm_refine_a4e93483662b42a2216eccfd8e27a9c0" ], 0, - "4abdf1d8a67392233014e0947e840fe9" + "476de6ea93e76bf19c99ee1c25401954" ], [ "Vector.__proj__VCons__item__tl", @@ -387,7 +365,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "10a2edb2e416b8f4028a505a0c0b9162" + "4f51fd80b5a310074b4027cdcc71b972" ], [ "Vector.head", @@ -396,7 +374,7 @@ 1, [ "@query" ], 0, - "f31b069b33116ffdb74b78e820acea9b" + "9ff21e146639f8d7ae0ae2c1fc5ca89f" ], [ "Vector.head", @@ -406,10 +384,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_Vector.VCons", "equation_Prims.pos", "fuel_guarded_inversion_Vector.vector", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "bf26c9c6682668da5a607eda72fa2640" + "ca31642e9f0134b68638b934a2d022fa" ], [ "Vector.nth", @@ -419,21 +397,21 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_08f91f7ad61b706e70e3157ddbaf7961_3", - "binder_x_af4500ee44e6d206680572f9b58ea6a8_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_21c13f6456e3f350b125d9f794dd3770_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_dea256e7a41198c89ed07f42894c7b2b_3", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_15b645c01981a1680bdbd0c7a2f58255", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cd73fa2255f8011c45dec35de340a3ae", "well-founded-ordering-on-nat" ], 0, - "42780d270fb2877ad93830133ae36acd" + "acf186d21273036b2e3eab8cc7747701" ], [ "Vector.append", @@ -443,10 +421,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b19d844817df6f56e99738c742f0379b" + "24425d060327e79f20653545f52a1bb2" ], [ "Vector.append", @@ -455,21 +433,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4818ddc23acecaa283795da6e2c0cecb_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_1fd74c304e163c0d8adcb88881fe80b8_5", + "binder_x_2ca789102088f52029182cc0ebc25e49_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "data_elim_Vector.VCons", "data_elim_Vector.VNil", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "0d12f0484565b668dfeceb6a280ba7fd" + "f6f0617b42e221ee4ab799eec2981472" ], [ "Vector.reverse", @@ -478,20 +455,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4818ddc23acecaa283795da6e2c0cecb_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_2ca789102088f52029182cc0ebc25e49_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "constructor_distinct_Vector.VNil", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "bb3cb78cf7fd0d6b650d1dc897344643" + "92aa2bb631daa972638cdfdcb6cf7131" ], [ "Vector.mapT", @@ -500,20 +475,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_abf3f1196d2cc83d84a2791acdcb0bb3_6", - "binder_x_e22ba7a032a73f6d0678d3d186686631_5", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", + "binder_x_f2a82419b48cea016cad98171080844c_6", "constructor_distinct_Vector.VNil", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "e93a7096e4227c39099a8bab7b7da54e" + "d80d9a5f70e588833b77971b0a4bf8ba" ], [ "Vector.fold_left", @@ -522,20 +495,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_6", - "binder_x_e26deb007035b55c96d00ffa1969b87f_7", + "binder_x_048405c135c47e66b2f031213c846802_7", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_6", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "af31c2926ae1a3977f6cae3d487ec701" + "40fc086d2ce8bbd236e4e76de584c107" ], [ "Vector.fold_right", @@ -544,20 +515,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_abf3f1196d2cc83d84a2791acdcb0bb3_6", - "binder_x_e22ba7a032a73f6d0678d3d186686631_5", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", + "binder_x_f2a82419b48cea016cad98171080844c_6", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", - "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "fuel_guarded_inversion_Vector.vector", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "54b24bd0be49e44526389e3e42888aaf" + "c8f88fe4220143936600887679ba5b9a" ], [ "Vector.find", @@ -566,21 +534,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_cc0dcc387d9bb38c94859155b32201ac_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_1fd74c304e163c0d8adcb88881fe80b8_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", - "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", + "fuel_guarded_inversion_Vector.vector", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "f2d63be10f3c7f2937bda46ed78e37c2" + "a903a9c8778a9488b5e4ea8d3a0993f1" ], [ "Vector.zip'", @@ -589,21 +554,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2e6717fb2b585570dab3e3168a217d77_5", - "binder_x_5dcbaa2abdae738e94cc6ae0927bd4ba_6", - "binder_x_e22ba7a032a73f6d0678d3d186686631_4", + "binder_x_49f7eb260f7789f18adb7dbb2ba714df_5", + "binder_x_b22ffd3ae8bcda01839665f8319f8020_6", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", "constructor_distinct_Vector.VNil", "data_elim_Vector.VCons", "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "793a482de2b46bb84863efb11a8df6c4" + "c19b1f64a20f2fefb6b8d768bf0880e4" ] ] ] \ No newline at end of file diff --git a/examples/demos/low-star/Demo.Deps.fst.hints b/examples/demos/low-star/Demo.Deps.fst.hints index 0efa2dfa946..d545bab643d 100644 --- a/examples/demos/low-star/Demo.Deps.fst.hints +++ b/examples/demos/low-star/Demo.Deps.fst.hints @@ -7,19 +7,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Demo.Deps.buffer", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Demo.Deps.buffer", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", + "equation_FStar.UInt.uint_t", "proj_equation_FStar.Buffer.MkBuffer_length", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.UInt32.v" ], 0, - "11742b98331bfc7c39b45be95ae00ca5" + "debed88f26e12e743e836aa2bd5f0b00" ], [ "Demo.Deps.op_Subtraction", @@ -28,10 +26,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cd2bb6a847f5ba534910beeda86b5da0" + "refinement_interpretation_Tm_refine_84753a10f41c7d2869993e39dc1584d4" ], 0, - "8e8f6b7ab23f8588966ee9167fa280c8" + "337b88d70b1d1a7b3605006ea3065dcb" ], [ "Demo.Deps.op_Plus", @@ -40,10 +38,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_92fb66a13cd537482de5df552d060cc2" + "refinement_interpretation_Tm_refine_a14fb82315dca87534b3a7e9f1792c68" ], 0, - "1f8bbb2f426e9b0a64ee8bb9d06755cf" + "329ab8363f9c22af1b1bf0a556914c81" ], [ "Demo.Deps.suffix", @@ -51,31 +49,29 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Demo.Deps.buffer", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_09e274e61635c6d901a69c7709930c11", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_243ccf063629adb9789b134ac3ce3090", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "39bc05d8ee7aeedeb7ce35ac32a7e891" + "b2492c7fe0bb8889465c37b86043ba8a" ], [ "Demo.Deps.prefix_equal", @@ -83,27 +79,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Demo.Deps.buffer", "equation_Demo.Deps.lbuffer", - "equation_Demo.Deps.uint32", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_Demo.Deps.buffer", + "equation_Demo.Deps.lbuffer", "equation_Demo.Deps.uint32", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", + "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", + "equation_FStar.UInt32.lte", "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_4c10f044a4b542e51ea354fb07ab2591", "refinement_interpretation_Tm_refine_7fc35ad4883430ae89f5ad0ec70eb45b", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_e295d1a089abf8fd7758b0cf33f12cde", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.UInt32.v" ], 0, - "89f77f91f9694bdfb74f5da962470067" + "b71ea6a9baa4b57eb64fdeb143a926c8" ], [ "Demo.Deps.length", @@ -111,19 +105,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Demo.Deps.buffer", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Demo.Deps.buffer", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", + "equation_FStar.UInt.uint_t", "proj_equation_FStar.Buffer.MkBuffer_length", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.UInt32.v" ], 0, - "ed03c48de9b5cbe95b16b0c3a9a9c068" + "1a621e829a9fa28cf61f65e9c533fabe" ], [ "Demo.Deps.op_Array_Access", @@ -131,18 +123,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "93547d673564e01959a41445fb30ad72" + "62d6167188f47afc7cab58d858637cf9" ], [ "Demo.Deps.op_Array_Assignment", @@ -150,17 +139,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "01a5cc0842cc005009b7611f0a6f26c9" + "5d791f07a7830bf17b059da22df2f3bb" ], [ "Demo.Deps.op_Subtraction", @@ -169,10 +155,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cd2bb6a847f5ba534910beeda86b5da0" + "refinement_interpretation_Tm_refine_84753a10f41c7d2869993e39dc1584d4" ], 0, - "545883e67850fd0079d89413e2f2e8a8" + "1c08a4b8586a1d5148eaf10d9bde3ef0" ], [ "Demo.Deps.op_Plus", @@ -181,10 +167,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_92fb66a13cd537482de5df552d060cc2" + "refinement_interpretation_Tm_refine_a14fb82315dca87534b3a7e9f1792c68" ], 0, - "7d20f370c15d9f30ec1038470f1e9efa" + "a044a5d0fe8f8c8f7ae850b77858a2ce" ], [ "Demo.Deps.suffix", @@ -192,31 +178,29 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Demo.Deps.buffer", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_09e274e61635c6d901a69c7709930c11", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_243ccf063629adb9789b134ac3ce3090", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "56d55deea0a70eef5d47fa02b8381ddd" + "92d427ec43417969d6506ec43133c528" ], [ "Demo.Deps.suffix", @@ -224,8 +208,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Demo.Deps.buffer", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", @@ -233,7 +216,6 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -241,16 +223,16 @@ "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_09e274e61635c6d901a69c7709930c11", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_243ccf063629adb9789b134ac3ce3090", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.idx", "typing_FStar.UInt32.v" ], 0, - "3a00466778199405756d0da20715e497" + "be74520df25c1126bd54d9c9a013d9d5" ], [ "Demo.Deps.prefix_equal", @@ -258,27 +240,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Demo.Deps.buffer", "equation_Demo.Deps.lbuffer", - "equation_Demo.Deps.uint32", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_Demo.Deps.buffer", + "equation_Demo.Deps.lbuffer", "equation_Demo.Deps.uint32", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", + "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", + "equation_FStar.UInt32.lte", "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_4c10f044a4b542e51ea354fb07ab2591", "refinement_interpretation_Tm_refine_7fc35ad4883430ae89f5ad0ec70eb45b", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_e295d1a089abf8fd7758b0cf33f12cde", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.UInt32.v" ], 0, - "da8bafc961a84ed5c5beae2ccf521458" + "0a25c2045d56a303acad6adef5fc0072" ] ] ] \ No newline at end of file diff --git a/examples/demos/low-star/Demo.fst.hints b/examples/demos/low-star/Demo.fst.hints index f205d068205..fd44ba613f4 100644 --- a/examples/demos/low-star/Demo.fst.hints +++ b/examples/demos/low-star/Demo.fst.hints @@ -7,8 +7,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Demo.Deps.buffer", "equation_Demo.Deps.lbuffer", "equation_Demo.Deps.uint32", "equation_Demo.Deps.uint8", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", @@ -17,33 +16,32 @@ "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_modifies_sub_1", - "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", + "equation_FStar.UInt32.lte", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Buffer._buffer", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.Buffer.lemma_modifies_sub_1", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_1c2ccd2f6e8c9806313fc43db17c387b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_636c2bf195b667e2f6266b240b933fcb", "refinement_interpretation_Tm_refine_7fc35ad4883430ae89f5ad0ec70eb45b", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_84236c489173a447473e4b8d0799c2df", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dc4119174f6bc7aff4bc23eee994711e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.length", "typing_FStar.UInt32.v" ], 0, - "f6e2276ca7dc3fe6ec242bc2d5c85ed4" + "d6472d964405c741073604390a5c4d47" ], [ "Demo.copy3", @@ -51,10 +49,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_Demo.Deps.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_Demo.Deps.buffer", "equation_Demo.Deps.lbuffer", "equation_Demo.Deps.uint32", "equation_Demo.Deps.uint8", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", @@ -77,9 +73,7 @@ "equation_FStar.UInt32.lte", "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_modifies_1_trans", "lemma_FStar.Buffer.lemma_modifies_sub_1", "lemma_FStar.Buffer.lemma_size", @@ -96,16 +90,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_345b03aee35df70ab5f7d1493bc0a4c7", + "refinement_interpretation_Tm_refine_4c10f044a4b542e51ea354fb07ab2591", + "refinement_interpretation_Tm_refine_636c2bf195b667e2f6266b240b933fcb", "refinement_interpretation_Tm_refine_7fc35ad4883430ae89f5ad0ec70eb45b", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_84236c489173a447473e4b8d0799c2df", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_92fb66a13cd537482de5df552d060cc2", - "refinement_interpretation_Tm_refine_94bdcb2ec729e4ce028af4aa3ba8439b", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_e295d1a089abf8fd7758b0cf33f12cde", + "refinement_interpretation_Tm_refine_a14fb82315dca87534b3a7e9f1792c68", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", @@ -123,7 +117,7 @@ "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "e661bf8d4d43aa5fa0ee249eddab1677" + "516efc36a25cc10607179a1fada1c3e3" ], [ "Demo.copy4", @@ -131,16 +125,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_Demo.Deps.buffer", "equation_Demo.Deps.lbuffer", - "equation_Demo.Deps.prefix_equal", "equation_Demo.Deps.uint32", - "equation_Demo.Deps.uint8", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.get", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_Demo.Deps.buffer", + "equation_Demo.Deps.lbuffer", "equation_Demo.Deps.prefix_equal", + "equation_Demo.Deps.uint32", "equation_Demo.Deps.uint8", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.get", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Monotonic.Heap.equal_dom", @@ -154,9 +146,7 @@ "equation_FStar.UInt32.lte", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_modifies_1_trans", "lemma_FStar.Buffer.lemma_modifies_sub_1", @@ -175,20 +165,20 @@ "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3335a4bd4ada1cd9ee70194e176c8b4a", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_345b03aee35df70ab5f7d1493bc0a4c7", + "refinement_interpretation_Tm_refine_4c10f044a4b542e51ea354fb07ab2591", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c5691319ae123e34154a2b1817fa30e", "refinement_interpretation_Tm_refine_7fc35ad4883430ae89f5ad0ec70eb45b", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_92fb66a13cd537482de5df552d060cc2", - "refinement_interpretation_Tm_refine_94bdcb2ec729e4ce028af4aa3ba8439b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_a14fb82315dca87534b3a7e9f1792c68", + "refinement_interpretation_Tm_refine_a422fa22dc81cfabb2e40e87090b817a", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d0b23561e7da23a9233f0b670f609a0d", - "refinement_interpretation_Tm_refine_e295d1a089abf8fd7758b0cf33f12cde", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.as_seq", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", @@ -197,7 +187,7 @@ "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "fe9a6db69e99e74d031b6159c2af83b9" + "ab334e1664a92dca78e4e35c34d1993f" ], [ "Demo.copy4", @@ -210,7 +200,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c834e9f26c0e87f682fec6a3490214b2" + "5009f722654a7dd82b524f375840e42d" ] ] ] \ No newline at end of file diff --git a/examples/dependencies/Makefile b/examples/dependencies/Makefile new file mode 100644 index 00000000000..cba32695c9c --- /dev/null +++ b/examples/dependencies/Makefile @@ -0,0 +1,53 @@ +FSTAR_HOME ?= ../.. + +include $(FSTAR_HOME)/ulib/ml/Makefile.include + +OUT_DIR = out +CACHE_DIR = cache +ROOTS = Test.fst + +FSTAR_FLAGS = $(OTHERFLAGS) --cmi --odir $(OUT_DIR) --cache_dir $(CACHE_DIR) \ + --cache_checked_modules --already_cached 'Prims FStar' + +FSTAR = $(FSTAR_HOME)/bin/fstar.exe $(FSTAR_FLAGS) + +.PHONY: all test clean + +all: + rm -f .depend && $(MAKE) .depend + $(MAKE) test + +# 1. Extract .ml files +# - generate the F* dependency graph of $(ROOTS) with `fstar --dep full` +# - verify every F* file in parallel to generate .checked files +# - extract each .checked file into a .ml file in parallel +.depend: + $(FSTAR) --dep full $(ROOTS) --extract '* -Prims -FStar' > $@ + +include .depend + +$(CACHE_DIR)/%.checked: | .depend + $(FSTAR) $< $(ENABLE_HINTS) --hint_file $(HINT_DIR)/$(notdir $<).hints && \ + touch $@ + +# 2. Compile all .ml files to .cmx and link them to get an executable +$(OUT_DIR): + mkdir -p $@ + +$(OUT_DIR)/%.ml: | .depend + $(FSTAR) --codegen OCaml \ + --extract_module $(basename $(notdir $(subst .checked,,$<))) \ + $(notdir $(subst .checked,,$<)) && \ + touch $@ + +%.cmx: + $(OCAMLOPT) -I $(OUT_DIR) -c $< -o $@ + +$(OUT_DIR)/test.exe: $(subst .ml,.cmx,$(ALL_ML_FILES)) | $(OUT_DIR) + $(OCAMLOPT) -I $(OUT_DIR) -o $(OUT_DIR)/test.exe $(subst .ml,.cmx,$(ALL_ML_FILES)) + +test: $(OUT_DIR)/test.exe + $(OUT_DIR)/test.exe + +clean: + rm -rf $(OUT_DIR) $(CACHE_DIR) diff --git a/examples/dependencies/Message.fst b/examples/dependencies/Message.fst new file mode 100644 index 00000000000..c0e8bbaf525 --- /dev/null +++ b/examples/dependencies/Message.fst @@ -0,0 +1,18 @@ +(* + Copyright 2008-2018 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module Message + +let message = "Hello World!\n" diff --git a/examples/lowparse/LowParse.Bytes.fst b/examples/dependencies/Test.fst similarity index 83% rename from examples/lowparse/LowParse.Bytes.fst rename to examples/dependencies/Test.fst index eb061edb0ff..c905ee630cd 100644 --- a/examples/lowparse/LowParse.Bytes.fst +++ b/examples/dependencies/Test.fst @@ -13,10 +13,9 @@ See the License for the specific language governing permissions and limitations under the License. *) -module LowParse.Bytes +module Test -module Seq = FStar.Seq -module U8 = FStar.UInt8 +open FStar.IO +open Message -type byte = U8.byte -type bytes = Seq.seq byte +let main = print_string message diff --git a/examples/dm4free/Effects.Def.fst b/examples/dm4free/Effects.Def.fst index a3c7e93fbbc..6fdd59de50f 100644 --- a/examples/dm4free/Effects.Def.fst +++ b/examples/dm4free/Effects.Def.fst @@ -31,6 +31,9 @@ open FStar.FunctionalExtensionality //proving the laws requires feq //A generic template for proving the monad laws, via some equivalence relation eq_m let eq_m (m:Type -> Type) = eq:(a:Type -> m a -> m a -> Type){forall a x y. eq a x y ==> x == y} + +let eq_m_aux (#m : Type->Type) (e : eq_m m) (#a : Type) (x y : m a) : Lemma (requires (e _ x y)) (ensures (x == y)) = () + val monad_laws_via_eq: m:(Type -> Type) -> eq:eq_m m -> return:(a:Type -> x:a -> Tot (m a)) @@ -43,7 +46,16 @@ val monad_laws_via_eq: m:(Type -> Type) /\ (forall (a:Type) (b:Type) (x:a) (f:a -> Tot (m b)). bind a b (return a x) f == f x) //left unit /\ (forall (a:Type) (b:Type) (c:Type) (f:m a) (g:(a -> Tot (m b))) (h:(b -> Tot (m c))). //associativity bind a c f (fun x -> bind b c (g x) h) == bind b c (bind a b f g) h)) -let monad_laws_via_eq m eq return bind = () +let monad_laws_via_eq m eq return bind = + let lem (a:Type) (f:m a) : Lemma (bind a a f (return a) == f) [SMTPat (bind a a f (return a))] = + assert (bind a a f (return a) `eq a` f); + eq_m_aux eq (bind a a f (return a)) f; + // GM: ^ Unsure why Z3 doesn't figure this out on its own + // instead of needing this lemma call. That's the only + // reason this inner lemma exists. + assert (bind a a f (return a) == f) + in + () //A generic template for proving the monad morphism laws, via some equivalence relation eq_m val morphism_laws_via_eq: m:(Type -> Type) @@ -60,7 +72,7 @@ val morphism_laws_via_eq: m:(Type -> Type) (ensures (forall (a:Type) (x:a). lift a (return_m a x) == return_n a x) //lift-unit /\ (forall (a:Type) (b:Type) (f:m a) (g: a -> Tot (m b)). lift b (bind_m a b f g) == bind_n a b (lift a f) (fun x -> lift b (g x)))) //lift-bind -#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 0 --max_ifuel 0 --z3rlimit 50" +#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 0 --max_ifuel 0 --z3rlimit 100" let morphism_laws_via_eq m n eqn return_m bind_m return_n bind_n lift = () #reset-options diff --git a/examples/dm4free/Effects.Def.fst.hints b/examples/dm4free/Effects.Def.fst.hints index f277772d7e7..c1d9ac1a64b 100644 --- a/examples/dm4free/Effects.Def.fst.hints +++ b/examples/dm4free/Effects.Def.fst.hints @@ -1,6 +1,18 @@ [ - "BWvÂpâ\u007f0\u0019¾1È÷¦›s", + "(/„\"\u0016W§\u0019Œ\u0016c\"¦6m", [ + [ + "Effects.Def.eq_m_aux", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Effects.Def.eq_m", + "refinement_interpretation_Tm_refine_b3176bc22daa5f75e828106a6d5f3809" + ], + 0, + "ffbea6040ced8f9b6260570bcc876ff1" + ], [ "Effects.Def.monad_laws_via_eq", 1, @@ -8,15 +20,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_8e22cfd431c076e21f26f7e23182ca66", - "Effects.Def_interpretation_Tm_arrow_d56514a52b3e8372a4734713362601ee", - "Effects.Def_interpretation_Tm_arrow_e6a92e8460cfc8e8f0030aa04a9de9e0", + "Effects.Def_interpretation_Tm_arrow_e6dd8d368f8c55490d812218e3e78b9c", + "Effects.Def_interpretation_Tm_arrow_e9ffc6ced04f6112d664a374947b4d96", + "Effects.Def_interpretation_Tm_arrow_fe96ea64440933a872257514e1912843", "equation_Effects.Def.eq_m", - "refinement_interpretation_Tm_refine_b703abd911fa41d432a2a9d6e4033229", - "typing_Tm_abs_2814ab78f1ec085ea6966d552a2e5be0" + "refinement_interpretation_Tm_refine_b3176bc22daa5f75e828106a6d5f3809", + "typing_Tm_abs_ee660f2b85638cf061c69b2816eebf0d" ], 0, - "d6627c798d09d44b8cb713e8931f8063" + "f92cf524e3f9bcc8754b4f7219f68105" ], [ "Effects.Def.morphism_laws_via_eq", @@ -25,15 +37,15 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_123ba7806c812ab95bd48e4d6d081b66", - "Effects.Def_interpretation_Tm_arrow_8e22cfd431c076e21f26f7e23182ca66", - "Effects.Def_interpretation_Tm_arrow_e6a92e8460cfc8e8f0030aa04a9de9e0", + "Effects.Def_interpretation_Tm_arrow_b81dcb0cda81affad1556177ae8ccf9d", + "Effects.Def_interpretation_Tm_arrow_e6dd8d368f8c55490d812218e3e78b9c", + "Effects.Def_interpretation_Tm_arrow_fe96ea64440933a872257514e1912843", "equation_Effects.Def.eq_m", - "refinement_interpretation_Tm_refine_b703abd911fa41d432a2a9d6e4033229", - "typing_Tm_abs_cdab0838a98b60fad4414a65cba3416e" + "refinement_interpretation_Tm_refine_b3176bc22daa5f75e828106a6d5f3809", + "typing_Tm_abs_d4b5f561155658574710ba164cd23eaa" ], 0, - "eb227c68d19b148b53fbfbfb62b83f51" + "8288d5789509d49982f2461a1847af1f" ], [ "Effects.Def.st_laws", @@ -42,38 +54,39 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_07fe9ea3261fd74eb235e165f30ab6aa", - "Effects.Def_interpretation_Tm_arrow_51e12cf0ac48d88411be27a0982e1245", - "Effects.Def_interpretation_Tm_arrow_6dd4b2d408ebb27b698bdc002d931e9e", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_1a70d6c5e4ee4cace7c4c5c3f90e04af", + "Effects.Def_interpretation_Tm_arrow_4e24f4ac4c0750e2d01ce43cf9ba9616", + "Effects.Def_interpretation_Tm_arrow_d3d098969389a3d8a7f7c867d5e9e0e5", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Effects.Def.bind_st", "equation_Effects.Def.eq_st", "equation_Effects.Def.return_st", "equation_Effects.Def.st", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.return_st", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_1ab3c254fc3fdd333385ddb75ba4f46d", - "interpretation_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "interpretation_Tm_abs_fac55f38068347e789289e065c63960c", + "interpretation_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "interpretation_Tm_abs_6688c1715d3866d623132ac48049f710", + "interpretation_Tm_abs_6e276e6036b3ca42976191fb20dc2de0", + "interpretation_Tm_abs_7345665be5303476d993b2031c6aee64", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_Effects.Def.return_st", "typing_Effects.Def.bind_st", "typing_Effects.Def.return_st", - "typing_Tm_abs_1ab3c254fc3fdd333385ddb75ba4f46d", - "typing_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "typing_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "typing_Tm_abs_fac55f38068347e789289e065c63960c" + "typing_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "typing_Tm_abs_6688c1715d3866d623132ac48049f710", + "typing_Tm_abs_6e276e6036b3ca42976191fb20dc2de0", + "typing_Tm_abs_7345665be5303476d993b2031c6aee64" ], 0, - "e7f0f20af734f3b69c8319837e365a63" + "f81716ea0452b924196a050558eae5ed" ], [ "Effects.Def.bind_ex", @@ -82,19 +95,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Effects.Def.ex", "equation_FStar.FunctionalExtensionality.restricted_t", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "unit_typing" ], 0, - "50f05666d15cdfffd588231e10db36a4" + "417d9ca3bb70cb2fb7b7c477c2e3821b" ], [ "Effects.Def.handle", @@ -103,19 +116,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Effects.Def.ex", "equation_FStar.FunctionalExtensionality.restricted_t", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "unit_typing" ], 0, - "189da43ac6411c706d9a657e440b0af4" + "6058aa5ac94489e36d69f061ca6c3c82" ], [ "Effects.Def.ex_laws", @@ -124,10 +137,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Effects.Def_interpretation_Tm_arrow_93d822b8071abd943d121029b49acc11", - "Effects.Def_interpretation_Tm_arrow_e672f590349e33cb44e74de1f99b5e67", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_5e8280ad68568d0585edd28dd6a1c752", + "Effects.Def_interpretation_Tm_arrow_984a19a60fd9544bcfdcca6f3d5e1aec", + "Effects.Def_interpretation_Tm_arrow_b9ff16838ca14be79c4714dd5f2c76fe", + "Effects.Def_interpretation_Tm_arrow_beff6337185eaab00048f2f84fb37f66", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -136,32 +151,31 @@ "equation_Effects.Def.return_ex", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Effects.Def.return_ex", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_1ed1f369a41d9296d63c72f3a92686ed", - "interpretation_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "interpretation_Tm_abs_dab341184feaad44ddd812330554bf87", + "interpretation_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "interpretation_Tm_abs_38c407f146db79c6ce6b594856184661", + "interpretation_Tm_abs_8c987e28def9b9f879bc7a70e099ca04", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_Effects.Def.return_ex", "typing_Effects.Def.bind_ex", "typing_Effects.Def.return_ex", - "typing_Tm_abs_1ed1f369a41d9296d63c72f3a92686ed", - "typing_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "typing_Tm_abs_dab341184feaad44ddd812330554bf87", "unit_inversion", + "typing_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "typing_Tm_abs_38c407f146db79c6ce6b594856184661", + "typing_Tm_abs_8c987e28def9b9f879bc7a70e099ca04", + "typing_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "unit_inversion", "unit_typing" ], 0, - "4fcd652556e5ace6521dcb85c6317bee" + "c7248e837a71917e9fcaad5dfc4e8ca0" ], [ "Effects.Def.bind_stexn", @@ -170,22 +184,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Effects.Def.stexn", "equation_FStar.FunctionalExtensionality.restricted_t", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_e822774a69ccfeb590e7552bf686252d", + "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "6ce8576d9ba3881a11a783ded4449da1" + "7d99c5fcb2a54f1904dd54534f26be34" ], [ "Effects.Def.stexn_laws", @@ -194,13 +208,14 @@ 2, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_52994bb0275470a0caf2252ea6901b0a", - "Effects.Def_interpretation_Tm_arrow_61a5f4be6b316fe6452db2baef1a1f92", - "Effects.Def_interpretation_Tm_arrow_8d8317a821a7269b073b834603ae1954", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_961614b013f1fbd2e02780cfe663bc1d", + "Effects.Def_interpretation_Tm_arrow_af8277ef7c68ab6a0c82bc76c29b73d6", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "Effects.Def_interpretation_Tm_arrow_fe9ef56a622273681d89085784d86ac3", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Effects.Def.bind_stexn", "equation_Effects.Def.eq_stexn", "equation_Effects.Def.return_stexn", "equation_Effects.Def.stexn", @@ -211,25 +226,25 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.return_stexn", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "interpretation_Tm_abs_75c346f402a6bb60170590ef6799fdea", - "interpretation_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "interpretation_Tm_abs_e822774a69ccfeb590e7552bf686252d", + "interpretation_Tm_abs_44028d0eb6572bae46b560d96fc5ca62", + "interpretation_Tm_abs_835b6e711083710fc143b92142aea79f", + "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "interpretation_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_Effects.Def.bind_stexn", "typing_Effects.Def.return_stexn", - "typing_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "typing_Tm_abs_75c346f402a6bb60170590ef6799fdea", - "typing_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "typing_Tm_abs_e822774a69ccfeb590e7552bf686252d" + "typing_Tm_abs_44028d0eb6572bae46b560d96fc5ca62", + "typing_Tm_abs_835b6e711083710fc143b92142aea79f", + "typing_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "typing_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1" ], 0, - "1f9c9fd5ca7297baac4db5771ab9072b" + "9560145d65d80133eaa42a4c9ddd835e" ], [ "Effects.Def.bind_exnst", @@ -238,20 +253,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Effects.Def.exnst", "equation_FStar.FunctionalExtensionality.restricted_t", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", + "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4" + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" ], 0, - "5309f0b0de99b5c9ce60c44697cfebd9" + "c77f3d63d79825556144874f1cf83a0e" ], [ "Effects.Def.exnst_laws", @@ -260,10 +275,12 @@ 2, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_0be46514fe61755cfabf3fe87e746ccc", - "Effects.Def_interpretation_Tm_arrow_a8b5d62e2116e821c0698d7159f56f6c", - "Effects.Def_interpretation_Tm_arrow_fa4c7d6da75328fc45c972cd1dfea2ed", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_29be4c60ec52e48fb54888b18400fc3c", + "Effects.Def_interpretation_Tm_arrow_94748afd819da1a0db5ba5301734cc0d", + "Effects.Def_interpretation_Tm_arrow_c9eb96bee06f9923b62e81f868b3e006", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -273,32 +290,31 @@ "equation_Effects.Def.exnst", "equation_Effects.Def.return_exnst", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.return_exnst", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_4bb1ebd30718177298bb3dd8b025e22b", - "interpretation_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "interpretation_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "interpretation_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c", + "interpretation_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "interpretation_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "interpretation_Tm_abs_63683711129da19b02be62f765badcbd", + "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_Effects.Def.return_exnst", "typing_Effects.Def.bind_exnst", "typing_Effects.Def.return_exnst", - "typing_Tm_abs_4bb1ebd30718177298bb3dd8b025e22b", - "typing_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "typing_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "typing_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c" + "typing_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "typing_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "typing_Tm_abs_63683711129da19b02be62f765badcbd", + "typing_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e" ], 0, - "ba81b7da06e570e269b2cb426dd8c084" + "d8fb1625539c531cb10ca42fc0207c60" ], [ "Effects.Def.morphism_lift_st_exn", @@ -307,51 +323,53 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_52994bb0275470a0caf2252ea6901b0a", - "Effects.Def_interpretation_Tm_arrow_6dd4b2d408ebb27b698bdc002d931e9e", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_4e24f4ac4c0750e2d01ce43cf9ba9616", + "Effects.Def_interpretation_Tm_arrow_961614b013f1fbd2e02780cfe663bc1d", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Effects.Def.bind_st", "equation_Effects.Def.bind_stexn", "equation_Effects.Def.eq_stexn", "equation_Effects.Def.lift_st_stexn", "equation_Effects.Def.return_st", - "equation_Effects.Def.return_stexn", "equation_Effects.Def.stexn", + "equation_Effects.Def.return_stexn", "equation_Effects.Def.st", + "equation_Effects.Def.stexn", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_2ed90b67c232fcf76b22d38dbfb77780", - "interpretation_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "interpretation_Tm_abs_6b90d38007fa15e5d0a9714d18910cbe", - "interpretation_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "interpretation_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "interpretation_Tm_abs_e822774a69ccfeb590e7552bf686252d", - "interpretation_Tm_abs_fac55f38068347e789289e065c63960c", + "interpretation_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "interpretation_Tm_abs_56291e5009c62e66a84d1246c31fb3df", + "interpretation_Tm_abs_6688c1715d3866d623132ac48049f710", + "interpretation_Tm_abs_7345665be5303476d993b2031c6aee64", + "interpretation_Tm_abs_835b6e711083710fc143b92142aea79f", + "interpretation_Tm_abs_af1d43723909de8ebd7134e7e4854fb0", + "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "interpretation_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_Effects.Def.bind_st", "typing_Effects.Def.bind_stexn", "typing_Effects.Def.lift_st_stexn", "typing_Effects.Def.return_st", "typing_Effects.Def.return_stexn", - "typing_Tm_abs_2ed90b67c232fcf76b22d38dbfb77780", - "typing_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "typing_Tm_abs_6b90d38007fa15e5d0a9714d18910cbe", - "typing_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "typing_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "typing_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "typing_Tm_abs_e822774a69ccfeb590e7552bf686252d", - "typing_Tm_abs_fac55f38068347e789289e065c63960c" + "typing_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "typing_Tm_abs_56291e5009c62e66a84d1246c31fb3df", + "typing_Tm_abs_6688c1715d3866d623132ac48049f710", + "typing_Tm_abs_7345665be5303476d993b2031c6aee64", + "typing_Tm_abs_835b6e711083710fc143b92142aea79f", + "typing_Tm_abs_af1d43723909de8ebd7134e7e4854fb0", + "typing_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "typing_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1" ], 0, - "a3c7dbb9373ba4eabbec21acebdb4c1f" + "1cc5f1ac05d97ce2756d12332ceafc22" ], [ "Effects.Def.morphism_lift_ex_stexn", @@ -360,10 +378,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Effects.Def_interpretation_Tm_arrow_52994bb0275470a0caf2252ea6901b0a", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_961614b013f1fbd2e02780cfe663bc1d", + "Effects.Def_interpretation_Tm_arrow_b9ff16838ca14be79c4714dd5f2c76fe", + "Effects.Def_interpretation_Tm_arrow_beff6337185eaab00048f2f84fb37f66", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Effects.Def.bind_ex", "equation_Effects.Def.bind_stexn", "equation_Effects.Def.eq_stexn", "equation_Effects.Def.ex", "equation_Effects.Def.lift_ex_stexn", @@ -371,41 +393,40 @@ "equation_Effects.Def.return_stexn", "equation_Effects.Def.stexn", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.s", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "interpretation_Tm_abs_51624e76dd80b1ce058c5881c2b8c90b", - "interpretation_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "interpretation_Tm_abs_ad7a142f53cf00308b2435c98e337bea", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "interpretation_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "interpretation_Tm_abs_dab341184feaad44ddd812330554bf87", - "interpretation_Tm_abs_e822774a69ccfeb590e7552bf686252d", + "interpretation_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "interpretation_Tm_abs_38c407f146db79c6ce6b594856184661", + "interpretation_Tm_abs_835b6e711083710fc143b92142aea79f", + "interpretation_Tm_abs_8543a399b6321d6757eb4b8bdcba3520", + "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", + "interpretation_Tm_abs_e8ad7833a38693f80f3d704edda3de54", + "interpretation_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_Effects.Def.bind_ex", "typing_Effects.Def.bind_stexn", "typing_Effects.Def.lift_ex_stexn", "typing_Effects.Def.return_ex", "typing_Effects.Def.return_stexn", - "typing_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "typing_Tm_abs_51624e76dd80b1ce058c5881c2b8c90b", - "typing_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "typing_Tm_abs_ad7a142f53cf00308b2435c98e337bea", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "typing_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "typing_Tm_abs_dab341184feaad44ddd812330554bf87", - "typing_Tm_abs_e822774a69ccfeb590e7552bf686252d", "unit_typing" + "typing_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "typing_Tm_abs_38c407f146db79c6ce6b594856184661", + "typing_Tm_abs_835b6e711083710fc143b92142aea79f", + "typing_Tm_abs_8543a399b6321d6757eb4b8bdcba3520", + "typing_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "typing_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", + "typing_Tm_abs_e8ad7833a38693f80f3d704edda3de54", + "typing_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", "unit_typing" ], 0, - "3a1c5a5bdde2bd5f3ad53e01792aae80" + "82bd97ec4ab2fbb1b70ca79b38ebfcf7" ], [ "Effects.Def.morphism_lift_st_exnst", @@ -414,9 +435,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_0be46514fe61755cfabf3fe87e746ccc", - "Effects.Def_interpretation_Tm_arrow_6dd4b2d408ebb27b698bdc002d931e9e", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_4e24f4ac4c0750e2d01ce43cf9ba9616", + "Effects.Def_interpretation_Tm_arrow_94748afd819da1a0db5ba5301734cc0d", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", @@ -427,37 +450,36 @@ "equation_Effects.Def.return_st", "equation_Effects.Def.st", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_09f69c438a3ad84a71c15a5b70915c3b", - "interpretation_Tm_abs_4170d7b4e12b70191643d29c795fa985", - "interpretation_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "interpretation_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "interpretation_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "interpretation_Tm_abs_fac55f38068347e789289e065c63960c", - "interpretation_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c", + "interpretation_Tm_abs_122f2e9e9c1172da0d13b0ae027f7952", + "interpretation_Tm_abs_1c69d90c904296dcf458028f954e0d95", + "interpretation_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "interpretation_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "interpretation_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "interpretation_Tm_abs_6688c1715d3866d623132ac48049f710", + "interpretation_Tm_abs_7345665be5303476d993b2031c6aee64", + "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_Effects.Def.bind_exnst", "typing_Effects.Def.bind_st", "typing_Effects.Def.lift_st_exnst", "typing_Effects.Def.return_exnst", "typing_Effects.Def.return_st", - "typing_Tm_abs_09f69c438a3ad84a71c15a5b70915c3b", - "typing_Tm_abs_4170d7b4e12b70191643d29c795fa985", - "typing_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "typing_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "typing_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "typing_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "typing_Tm_abs_fac55f38068347e789289e065c63960c", - "typing_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c" + "typing_Tm_abs_122f2e9e9c1172da0d13b0ae027f7952", + "typing_Tm_abs_1c69d90c904296dcf458028f954e0d95", + "typing_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "typing_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "typing_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "typing_Tm_abs_6688c1715d3866d623132ac48049f710", + "typing_Tm_abs_7345665be5303476d993b2031c6aee64", + "typing_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e" ], 0, - "e16c011deef19db59b44b6e3d17a5b03" + "9b93fe427663984c077ae73e429bdeec" ], [ "Effects.Def.lift_ex_exnst", @@ -466,19 +488,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Effects.Def.ex", "equation_FStar.FunctionalExtensionality.restricted_t", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "unit_typing" ], 0, - "350be3df47826d847c986a5ee23ff185" + "4f52e36dc5b900941a2f0ad87ed51eb2" ], [ "Effects.Def.morphism_lift_ex_exnst", @@ -487,36 +509,38 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_0be46514fe61755cfabf3fe87e746ccc", - "Effects.Def_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_94748afd819da1a0db5ba5301734cc0d", + "Effects.Def_interpretation_Tm_arrow_b9ff16838ca14be79c4714dd5f2c76fe", + "Effects.Def_interpretation_Tm_arrow_beff6337185eaab00048f2f84fb37f66", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", "equation_Effects.Def.bind_ex", "equation_Effects.Def.bind_exnst", - "equation_Effects.Def.eq_exnst", "equation_Effects.Def.exnst", - "equation_Effects.Def.lift_ex_exnst", + "equation_Effects.Def.eq_exnst", "equation_Effects.Def.ex", + "equation_Effects.Def.exnst", "equation_Effects.Def.lift_ex_exnst", "equation_Effects.Def.return_ex", "equation_Effects.Def.return_exnst", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.s", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "interpretation_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "interpretation_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "interpretation_Tm_abs_c22f1dbdb86eae6d5846fa38449298d7", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "interpretation_Tm_abs_c5d9eceb468f13d75f1b22254f08e756", - "interpretation_Tm_abs_dab341184feaad44ddd812330554bf87", - "interpretation_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c", + "interpretation_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "interpretation_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "interpretation_Tm_abs_38c407f146db79c6ce6b594856184661", + "interpretation_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "interpretation_Tm_abs_794cecad87794e05ae3f64550a787c99", + "interpretation_Tm_abs_9ee9850fc31e2bef4c2e46d2906a0fb1", + "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -526,21 +550,21 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_Effects.Def.bind_ex", "typing_Effects.Def.bind_exnst", "typing_Effects.Def.lift_ex_exnst", "typing_Effects.Def.return_ex", "typing_Effects.Def.return_exnst", - "typing_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "typing_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "typing_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "typing_Tm_abs_c22f1dbdb86eae6d5846fa38449298d7", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "typing_Tm_abs_c5d9eceb468f13d75f1b22254f08e756", - "typing_Tm_abs_dab341184feaad44ddd812330554bf87", - "typing_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c", "unit_typing" + "typing_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "typing_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "typing_Tm_abs_38c407f146db79c6ce6b594856184661", + "typing_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "typing_Tm_abs_794cecad87794e05ae3f64550a787c99", + "typing_Tm_abs_9ee9850fc31e2bef4c2e46d2906a0fb1", + "typing_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", + "typing_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "unit_typing" ], 0, - "6127e72521c1e88d86080dbb49707ace" + "c0fd6d54df5a53647c5b4324a7e39685" ], [ "Effects.Def.st_laws", @@ -549,38 +573,39 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_07fe9ea3261fd74eb235e165f30ab6aa", - "Effects.Def_interpretation_Tm_arrow_51e12cf0ac48d88411be27a0982e1245", - "Effects.Def_interpretation_Tm_arrow_6dd4b2d408ebb27b698bdc002d931e9e", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_1a70d6c5e4ee4cace7c4c5c3f90e04af", + "Effects.Def_interpretation_Tm_arrow_4e24f4ac4c0750e2d01ce43cf9ba9616", + "Effects.Def_interpretation_Tm_arrow_d3d098969389a3d8a7f7c867d5e9e0e5", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Effects.Def.bind_st", "equation_Effects.Def.eq_st", "equation_Effects.Def.return_st", "equation_Effects.Def.st", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.return_st", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_1ab3c254fc3fdd333385ddb75ba4f46d", - "interpretation_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "interpretation_Tm_abs_fac55f38068347e789289e065c63960c", + "interpretation_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "interpretation_Tm_abs_6688c1715d3866d623132ac48049f710", + "interpretation_Tm_abs_6e276e6036b3ca42976191fb20dc2de0", + "interpretation_Tm_abs_7345665be5303476d993b2031c6aee64", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_Effects.Def.return_st", "typing_Effects.Def.bind_st", "typing_Effects.Def.return_st", - "typing_Tm_abs_1ab3c254fc3fdd333385ddb75ba4f46d", - "typing_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "typing_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "typing_Tm_abs_fac55f38068347e789289e065c63960c" + "typing_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "typing_Tm_abs_6688c1715d3866d623132ac48049f710", + "typing_Tm_abs_6e276e6036b3ca42976191fb20dc2de0", + "typing_Tm_abs_7345665be5303476d993b2031c6aee64" ], 0, - "cd18b5ff6ca93713296c238e94413ae9" + "37b8323a8c62140b1dcd92acb7952e43" ], [ "Effects.Def.bind_ex", @@ -589,19 +614,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Effects.Def.ex", "equation_FStar.FunctionalExtensionality.restricted_t", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "unit_typing" ], 0, - "3d2f72cea192d8c47a127c19ee0c9f6c" + "c7ed3ba6c092c1fc3bfcc7a6f355bd75" ], [ "Effects.Def.handle", @@ -610,19 +635,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Effects.Def.ex", "equation_FStar.FunctionalExtensionality.restricted_t", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "unit_typing" ], 0, - "190343bf5adbd860894b6f2459f2a052" + "82525b24c0d062de2bae3675c46df046" ], [ "Effects.Def.ex_laws", @@ -631,10 +656,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Effects.Def_interpretation_Tm_arrow_93d822b8071abd943d121029b49acc11", - "Effects.Def_interpretation_Tm_arrow_e672f590349e33cb44e74de1f99b5e67", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_5e8280ad68568d0585edd28dd6a1c752", + "Effects.Def_interpretation_Tm_arrow_984a19a60fd9544bcfdcca6f3d5e1aec", + "Effects.Def_interpretation_Tm_arrow_b9ff16838ca14be79c4714dd5f2c76fe", + "Effects.Def_interpretation_Tm_arrow_beff6337185eaab00048f2f84fb37f66", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -643,32 +670,31 @@ "equation_Effects.Def.return_ex", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Effects.Def.return_ex", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_1ed1f369a41d9296d63c72f3a92686ed", - "interpretation_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "interpretation_Tm_abs_dab341184feaad44ddd812330554bf87", + "interpretation_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "interpretation_Tm_abs_38c407f146db79c6ce6b594856184661", + "interpretation_Tm_abs_8c987e28def9b9f879bc7a70e099ca04", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_Effects.Def.return_ex", "typing_Effects.Def.bind_ex", "typing_Effects.Def.return_ex", - "typing_Tm_abs_1ed1f369a41d9296d63c72f3a92686ed", - "typing_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "typing_Tm_abs_dab341184feaad44ddd812330554bf87", "unit_inversion", + "typing_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "typing_Tm_abs_38c407f146db79c6ce6b594856184661", + "typing_Tm_abs_8c987e28def9b9f879bc7a70e099ca04", + "typing_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "unit_inversion", "unit_typing" ], 0, - "f02843752a7b011b85ef875048314ade" + "861c011b6030c34e5decd78a723e64cc" ], [ "Effects.Def.bind_stexn", @@ -677,22 +703,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Effects.Def.stexn", "equation_FStar.FunctionalExtensionality.restricted_t", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_e822774a69ccfeb590e7552bf686252d", + "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "7a049d5211d0a9b89873130faec15493" + "05bdd15e8ef54706285d02b64bf754ac" ], [ "Effects.Def.stexn_laws", @@ -701,13 +727,14 @@ 2, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_52994bb0275470a0caf2252ea6901b0a", - "Effects.Def_interpretation_Tm_arrow_61a5f4be6b316fe6452db2baef1a1f92", - "Effects.Def_interpretation_Tm_arrow_8d8317a821a7269b073b834603ae1954", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_961614b013f1fbd2e02780cfe663bc1d", + "Effects.Def_interpretation_Tm_arrow_af8277ef7c68ab6a0c82bc76c29b73d6", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "Effects.Def_interpretation_Tm_arrow_fe9ef56a622273681d89085784d86ac3", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Effects.Def.bind_stexn", "equation_Effects.Def.eq_stexn", "equation_Effects.Def.return_stexn", "equation_Effects.Def.stexn", @@ -718,25 +745,25 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.return_stexn", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "interpretation_Tm_abs_75c346f402a6bb60170590ef6799fdea", - "interpretation_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "interpretation_Tm_abs_e822774a69ccfeb590e7552bf686252d", + "interpretation_Tm_abs_44028d0eb6572bae46b560d96fc5ca62", + "interpretation_Tm_abs_835b6e711083710fc143b92142aea79f", + "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "interpretation_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_Effects.Def.bind_stexn", "typing_Effects.Def.return_stexn", - "typing_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "typing_Tm_abs_75c346f402a6bb60170590ef6799fdea", - "typing_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "typing_Tm_abs_e822774a69ccfeb590e7552bf686252d" + "typing_Tm_abs_44028d0eb6572bae46b560d96fc5ca62", + "typing_Tm_abs_835b6e711083710fc143b92142aea79f", + "typing_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "typing_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1" ], 0, - "a5d6cce9b086a31ab1a53a7f13a69a44" + "9c49e31fd521f19c8cf3ed9f11230e18" ], [ "Effects.Def.bind_exnst", @@ -745,20 +772,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Effects.Def.exnst", "equation_FStar.FunctionalExtensionality.restricted_t", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", + "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4" + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" ], 0, - "91d1df4fb99d08ce456d7a20799a9247" + "db61494c5b735927b83233c667e2739f" ], [ "Effects.Def.exnst_laws", @@ -767,10 +794,12 @@ 2, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_0be46514fe61755cfabf3fe87e746ccc", - "Effects.Def_interpretation_Tm_arrow_a8b5d62e2116e821c0698d7159f56f6c", - "Effects.Def_interpretation_Tm_arrow_fa4c7d6da75328fc45c972cd1dfea2ed", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_29be4c60ec52e48fb54888b18400fc3c", + "Effects.Def_interpretation_Tm_arrow_94748afd819da1a0db5ba5301734cc0d", + "Effects.Def_interpretation_Tm_arrow_c9eb96bee06f9923b62e81f868b3e006", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -780,32 +809,31 @@ "equation_Effects.Def.exnst", "equation_Effects.Def.return_exnst", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.return_exnst", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_4bb1ebd30718177298bb3dd8b025e22b", - "interpretation_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "interpretation_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "interpretation_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c", + "interpretation_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "interpretation_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "interpretation_Tm_abs_63683711129da19b02be62f765badcbd", + "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_Effects.Def.return_exnst", "typing_Effects.Def.bind_exnst", "typing_Effects.Def.return_exnst", - "typing_Tm_abs_4bb1ebd30718177298bb3dd8b025e22b", - "typing_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "typing_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "typing_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c" + "typing_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "typing_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "typing_Tm_abs_63683711129da19b02be62f765badcbd", + "typing_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e" ], 0, - "f1bb9fafb1fb95b7b08b2478897e51ee" + "01a7c901015b7237c0be751cd52f5b1c" ], [ "Effects.Def.morphism_lift_st_exn", @@ -814,51 +842,53 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_52994bb0275470a0caf2252ea6901b0a", - "Effects.Def_interpretation_Tm_arrow_6dd4b2d408ebb27b698bdc002d931e9e", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_4e24f4ac4c0750e2d01ce43cf9ba9616", + "Effects.Def_interpretation_Tm_arrow_961614b013f1fbd2e02780cfe663bc1d", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Effects.Def.bind_st", "equation_Effects.Def.bind_stexn", "equation_Effects.Def.eq_stexn", "equation_Effects.Def.lift_st_stexn", "equation_Effects.Def.return_st", - "equation_Effects.Def.return_stexn", "equation_Effects.Def.stexn", + "equation_Effects.Def.return_stexn", "equation_Effects.Def.st", + "equation_Effects.Def.stexn", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_2ed90b67c232fcf76b22d38dbfb77780", - "interpretation_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "interpretation_Tm_abs_6b90d38007fa15e5d0a9714d18910cbe", - "interpretation_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "interpretation_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "interpretation_Tm_abs_e822774a69ccfeb590e7552bf686252d", - "interpretation_Tm_abs_fac55f38068347e789289e065c63960c", + "interpretation_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "interpretation_Tm_abs_56291e5009c62e66a84d1246c31fb3df", + "interpretation_Tm_abs_6688c1715d3866d623132ac48049f710", + "interpretation_Tm_abs_7345665be5303476d993b2031c6aee64", + "interpretation_Tm_abs_835b6e711083710fc143b92142aea79f", + "interpretation_Tm_abs_af1d43723909de8ebd7134e7e4854fb0", + "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "interpretation_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_Effects.Def.bind_st", "typing_Effects.Def.bind_stexn", "typing_Effects.Def.lift_st_stexn", "typing_Effects.Def.return_st", "typing_Effects.Def.return_stexn", - "typing_Tm_abs_2ed90b67c232fcf76b22d38dbfb77780", - "typing_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "typing_Tm_abs_6b90d38007fa15e5d0a9714d18910cbe", - "typing_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "typing_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "typing_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "typing_Tm_abs_e822774a69ccfeb590e7552bf686252d", - "typing_Tm_abs_fac55f38068347e789289e065c63960c" + "typing_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "typing_Tm_abs_56291e5009c62e66a84d1246c31fb3df", + "typing_Tm_abs_6688c1715d3866d623132ac48049f710", + "typing_Tm_abs_7345665be5303476d993b2031c6aee64", + "typing_Tm_abs_835b6e711083710fc143b92142aea79f", + "typing_Tm_abs_af1d43723909de8ebd7134e7e4854fb0", + "typing_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "typing_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1" ], 0, - "6c44bd352b2f641b946bec6f3189eac0" + "b3c43474bb1cfa53464dc92eadc2873b" ], [ "Effects.Def.morphism_lift_ex_stexn", @@ -867,10 +897,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Effects.Def_interpretation_Tm_arrow_52994bb0275470a0caf2252ea6901b0a", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_961614b013f1fbd2e02780cfe663bc1d", + "Effects.Def_interpretation_Tm_arrow_b9ff16838ca14be79c4714dd5f2c76fe", + "Effects.Def_interpretation_Tm_arrow_beff6337185eaab00048f2f84fb37f66", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Effects.Def.bind_ex", "equation_Effects.Def.bind_stexn", "equation_Effects.Def.eq_stexn", "equation_Effects.Def.ex", "equation_Effects.Def.lift_ex_stexn", @@ -878,41 +912,40 @@ "equation_Effects.Def.return_stexn", "equation_Effects.Def.stexn", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.s", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "interpretation_Tm_abs_51624e76dd80b1ce058c5881c2b8c90b", - "interpretation_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "interpretation_Tm_abs_ad7a142f53cf00308b2435c98e337bea", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "interpretation_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "interpretation_Tm_abs_dab341184feaad44ddd812330554bf87", - "interpretation_Tm_abs_e822774a69ccfeb590e7552bf686252d", + "interpretation_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "interpretation_Tm_abs_38c407f146db79c6ce6b594856184661", + "interpretation_Tm_abs_835b6e711083710fc143b92142aea79f", + "interpretation_Tm_abs_8543a399b6321d6757eb4b8bdcba3520", + "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", + "interpretation_Tm_abs_e8ad7833a38693f80f3d704edda3de54", + "interpretation_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_Effects.Def.bind_ex", "typing_Effects.Def.bind_stexn", "typing_Effects.Def.lift_ex_stexn", "typing_Effects.Def.return_ex", "typing_Effects.Def.return_stexn", - "typing_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "typing_Tm_abs_51624e76dd80b1ce058c5881c2b8c90b", - "typing_Tm_abs_520b95df9cfeffc40bb799cf6f98c9fd", - "typing_Tm_abs_ad7a142f53cf00308b2435c98e337bea", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "typing_Tm_abs_d96298f6c98d79bb980f5a405d849211", - "typing_Tm_abs_dab341184feaad44ddd812330554bf87", - "typing_Tm_abs_e822774a69ccfeb590e7552bf686252d", "unit_typing" + "typing_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "typing_Tm_abs_38c407f146db79c6ce6b594856184661", + "typing_Tm_abs_835b6e711083710fc143b92142aea79f", + "typing_Tm_abs_8543a399b6321d6757eb4b8bdcba3520", + "typing_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", + "typing_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", + "typing_Tm_abs_e8ad7833a38693f80f3d704edda3de54", + "typing_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", "unit_typing" ], 0, - "782bbf4c491fb1538938ac7d154b7158" + "b0c155ce34b29f31260e1090b6d0d5d0" ], [ "Effects.Def.morphism_lift_st_exnst", @@ -921,9 +954,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_0be46514fe61755cfabf3fe87e746ccc", - "Effects.Def_interpretation_Tm_arrow_6dd4b2d408ebb27b698bdc002d931e9e", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_4e24f4ac4c0750e2d01ce43cf9ba9616", + "Effects.Def_interpretation_Tm_arrow_94748afd819da1a0db5ba5301734cc0d", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", @@ -934,37 +969,36 @@ "equation_Effects.Def.return_st", "equation_Effects.Def.st", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.s", - "interpretation_Tm_abs_09f69c438a3ad84a71c15a5b70915c3b", - "interpretation_Tm_abs_4170d7b4e12b70191643d29c795fa985", - "interpretation_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "interpretation_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "interpretation_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "interpretation_Tm_abs_fac55f38068347e789289e065c63960c", - "interpretation_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c", + "interpretation_Tm_abs_122f2e9e9c1172da0d13b0ae027f7952", + "interpretation_Tm_abs_1c69d90c904296dcf458028f954e0d95", + "interpretation_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "interpretation_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "interpretation_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "interpretation_Tm_abs_6688c1715d3866d623132ac48049f710", + "interpretation_Tm_abs_7345665be5303476d993b2031c6aee64", + "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_Effects.Def.bind_exnst", "typing_Effects.Def.bind_st", "typing_Effects.Def.lift_st_exnst", "typing_Effects.Def.return_exnst", "typing_Effects.Def.return_st", - "typing_Tm_abs_09f69c438a3ad84a71c15a5b70915c3b", - "typing_Tm_abs_4170d7b4e12b70191643d29c795fa985", - "typing_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "typing_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "typing_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "typing_Tm_abs_a077ae057068f89c39e76abbec52dbbd", - "typing_Tm_abs_fac55f38068347e789289e065c63960c", - "typing_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c" + "typing_Tm_abs_122f2e9e9c1172da0d13b0ae027f7952", + "typing_Tm_abs_1c69d90c904296dcf458028f954e0d95", + "typing_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "typing_Tm_abs_43a53f97835fe53e3f595ab53542209b", + "typing_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "typing_Tm_abs_6688c1715d3866d623132ac48049f710", + "typing_Tm_abs_7345665be5303476d993b2031c6aee64", + "typing_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e" ], 0, - "f29cd8db5b62d9591112e8072e4dd29b" + "0476ab5feeabb10b6486f41c2ca566db" ], [ "Effects.Def.lift_ex_exnst", @@ -973,19 +1007,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Effects.Def.ex", "equation_FStar.FunctionalExtensionality.restricted_t", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "unit_typing" ], 0, - "1d28b9491722ee236d2736bfebe0fec4" + "29b28bbcc1901fd05c4681923aa973c3" ], [ "Effects.Def.morphism_lift_ex_exnst", @@ -994,36 +1028,38 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_0be46514fe61755cfabf3fe87e746ccc", - "Effects.Def_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Effects.Def_interpretation_Tm_arrow_94748afd819da1a0db5ba5301734cc0d", + "Effects.Def_interpretation_Tm_arrow_b9ff16838ca14be79c4714dd5f2c76fe", + "Effects.Def_interpretation_Tm_arrow_beff6337185eaab00048f2f84fb37f66", + "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", "equation_Effects.Def.bind_ex", "equation_Effects.Def.bind_exnst", - "equation_Effects.Def.eq_exnst", "equation_Effects.Def.exnst", - "equation_Effects.Def.lift_ex_exnst", + "equation_Effects.Def.eq_exnst", "equation_Effects.Def.ex", + "equation_Effects.Def.exnst", "equation_Effects.Def.lift_ex_exnst", "equation_Effects.Def.return_ex", "equation_Effects.Def.return_exnst", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Effects.Def.s", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "interpretation_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "interpretation_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "interpretation_Tm_abs_c22f1dbdb86eae6d5846fa38449298d7", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "interpretation_Tm_abs_c5d9eceb468f13d75f1b22254f08e756", - "interpretation_Tm_abs_dab341184feaad44ddd812330554bf87", - "interpretation_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c", + "interpretation_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "interpretation_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "interpretation_Tm_abs_38c407f146db79c6ce6b594856184661", + "interpretation_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "interpretation_Tm_abs_794cecad87794e05ae3f64550a787c99", + "interpretation_Tm_abs_9ee9850fc31e2bef4c2e46d2906a0fb1", + "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", + "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -1033,21 +1069,21 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_Effects.Def.bind_ex", "typing_Effects.Def.bind_exnst", "typing_Effects.Def.lift_ex_exnst", "typing_Effects.Def.return_ex", "typing_Effects.Def.return_exnst", - "typing_Tm_abs_30b277eef6e008f31516fe56e7f14fa1", - "typing_Tm_abs_5c36f013e7354becfedf6e6e0ac0b429", - "typing_Tm_abs_70d7adb0ad17ee20b2655a1dcadfb92e", - "typing_Tm_abs_c22f1dbdb86eae6d5846fa38449298d7", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", - "typing_Tm_abs_c5d9eceb468f13d75f1b22254f08e756", - "typing_Tm_abs_dab341184feaad44ddd812330554bf87", - "typing_Tm_abs_ffaa440a3980f0efc75aba2bccee5d2c", "unit_typing" + "typing_Tm_abs_1c86076564049c378197cc26bfaf9f73", + "typing_Tm_abs_2a2ab791160cebf6b5de99241fca085d", + "typing_Tm_abs_38c407f146db79c6ce6b594856184661", + "typing_Tm_abs_58086ccc243ad6535255d786936f7c6c", + "typing_Tm_abs_794cecad87794e05ae3f64550a787c99", + "typing_Tm_abs_9ee9850fc31e2bef4c2e46d2906a0fb1", + "typing_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", + "typing_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "unit_typing" ], 0, - "e8774b7045176b0cfd1c3ea248fdb6b2" + "082338cc7bdbb36d31189f39c44efb59" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Continuations.fst b/examples/dm4free/FStar.DM4F.Continuations.fst index 4b3f15e1a62..7ba1ae2532f 100644 --- a/examples/dm4free/FStar.DM4F.Continuations.fst +++ b/examples/dm4free/FStar.DM4F.Continuations.fst @@ -103,18 +103,16 @@ let em_wp (a:Type) (* 2] the overall result satisfies kspec (R _) _ *) (forall (x: either a (a -> Tot False)) (post' : False -> Type0). pbpost x post') - +//#push-options "--admit_smt_queries true" let em2 (a:Type) : CONTINUATION?.repr (either a (a -> Tot False)) (em_wp a) = fun (kspec : (either a (a -> Tot False)) -> (False -> Tot Type0) -> Tot Type0) (k : (x:(either a (a -> Tot False))) -> PURE False (kspec x)) -> begin let devil (x:a) : Tot False = k (L a (a -> Tot False) x) in k (R a (a -> Tot False) devil) - //<: PURE False (em_wp kspec) end - let excluded_middle (a:Type) : CONTINUATION (either a (a -> Tot False)) (em_wp a) = CONTINUATION?.reflect (em2 a) diff --git a/examples/dm4free/FStar.DM4F.Continuations.fst.hints b/examples/dm4free/FStar.DM4F.Continuations.fst.hints index e59d9042419..c15bd5089b6 100644 --- a/examples/dm4free/FStar.DM4F.Continuations.fst.hints +++ b/examples/dm4free/FStar.DM4F.Continuations.fst.hints @@ -1,5 +1,5 @@ [ - "BÍv\u0005æÔòûr¾¦ø\u0014\tøî", + "“È c\u001cRÀ\u0007<.”5+Qxª", [ [ "FStar.DM4F.Continuations.__proj__L__item__a", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_8445d79c1f764e59f2958fa0cdffa351" ], 0, - "36e5c6003bda434b32dc2156d30e6067" + "cb7c7852222f50da1c8d9406e41057ab" ], [ "FStar.DM4F.Continuations.__proj__L__item__b", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_8445d79c1f764e59f2958fa0cdffa351" ], 0, - "4ded519bc027f8cac325bd0d67667c98" + "4e4bcd3e9607deabaa50962a9226804c" ], [ "FStar.DM4F.Continuations.__proj__L__item___2", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_8445d79c1f764e59f2958fa0cdffa351" ], 0, - "88cc3bb02152bbcf00f1b77480fbc67e" + "0ad4e851d827390b773724218b004480" ], [ "FStar.DM4F.Continuations.__proj__R__item__a", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_a6a39bffc11b264d9749ffb3bf1e08d0" ], 0, - "c9ccc1924304cb4c65043cb21c6be87a" + "0978b0063086e6b7a926a9860049ab94" ], [ "FStar.DM4F.Continuations.__proj__R__item__b", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_a6a39bffc11b264d9749ffb3bf1e08d0" ], 0, - "a261ab4f2f09d7111c2b5b6d395425da" + "887129ec161c94087b8591c37a1712e6" ], [ "FStar.DM4F.Continuations.__proj__R__item___2", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_a6a39bffc11b264d9749ffb3bf1e08d0" ], 0, - "a811e82396856949c2d769922506a230" + "aac46db5617bdfa930086da377ad3f05" ], [ "FStar.DM4F.Continuations.em2", @@ -98,14 +98,13 @@ "@MaxIFuel_assumption", "@query", "data_typing_intro_FStar.DM4F.Continuations.L@tok", "data_typing_intro_FStar.DM4F.Continuations.R@tok", - "equation_FStar.DM4F.Continuations.em_wp", "equation_Prims.l_False", - "equation_Prims.l_True", - "kinding_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "typing_Tm_abs_5aa40431eb58427140804bcdd18d0f09", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "equation_FStar.DM4F.Continuations.em_wp", + "kinding_Tm_arrow_917b54cffe5fe654589a0e90eba78d68", + "typing_Tm_abs_1261caf30f480aae6714591616a08612", + "typing_Tm_abs_2c94b25caf6f96392e4d96dd2331097b" ], 0, - "2ae0a0eda40bc8fb1ff6a9403ebc608c" + "d5cae6dc43fd94ca4d0e6afc4f98c1df" ], [ "FStar.DM4F.Continuations.__proj__L__item__a", @@ -119,7 +118,7 @@ "refinement_interpretation_Tm_refine_8445d79c1f764e59f2958fa0cdffa351" ], 0, - "1cc4653b91882dd818eb58ae1b20c1f1" + "fe48ce40313e58a56a87197a15499d0b" ], [ "FStar.DM4F.Continuations.__proj__L__item__b", @@ -133,7 +132,7 @@ "refinement_interpretation_Tm_refine_8445d79c1f764e59f2958fa0cdffa351" ], 0, - "328da09acea0ae97d23f8bf4a139b146" + "7a5683fc1d046629100c7198f42da5d9" ], [ "FStar.DM4F.Continuations.__proj__L__item___2", @@ -149,7 +148,7 @@ "refinement_interpretation_Tm_refine_8445d79c1f764e59f2958fa0cdffa351" ], 0, - "ebed5fc660e5d79f78843a272d3851d4" + "e18dd40f26440c5ac774c0c18399c8d5" ], [ "FStar.DM4F.Continuations.__proj__R__item__a", @@ -163,7 +162,7 @@ "refinement_interpretation_Tm_refine_a6a39bffc11b264d9749ffb3bf1e08d0" ], 0, - "fe31bbb133f6a8e6616e2442ef3c3caf" + "66577ff30f845723197c9d4fdcd8c166" ], [ "FStar.DM4F.Continuations.__proj__R__item__b", @@ -177,7 +176,7 @@ "refinement_interpretation_Tm_refine_a6a39bffc11b264d9749ffb3bf1e08d0" ], 0, - "fa64cc783ba9abd5e97bce90e0e58352" + "c57705bd3d323f69c16237a3bfea39b2" ], [ "FStar.DM4F.Continuations.__proj__R__item___2", @@ -193,7 +192,7 @@ "refinement_interpretation_Tm_refine_a6a39bffc11b264d9749ffb3bf1e08d0" ], 0, - "3c8ae5663308b4ee86217cf9ca51e01c" + "f29f52ceed16cdc7f2152c86026c139f" ], [ "FStar.DM4F.Continuations.em2", @@ -204,14 +203,13 @@ "@MaxIFuel_assumption", "@query", "data_typing_intro_FStar.DM4F.Continuations.L@tok", "data_typing_intro_FStar.DM4F.Continuations.R@tok", - "equation_FStar.DM4F.Continuations.em_wp", "equation_Prims.l_False", - "equation_Prims.l_True", - "kinding_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "typing_Tm_abs_5aa40431eb58427140804bcdd18d0f09", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "equation_FStar.DM4F.Continuations.em_wp", + "kinding_Tm_arrow_917b54cffe5fe654589a0e90eba78d68", + "typing_Tm_abs_1261caf30f480aae6714591616a08612", + "typing_Tm_abs_2c94b25caf6f96392e4d96dd2331097b" ], 0, - "5511de01a73fe1931b8e37d834f51ff2" + "7edd8b46d2dbbd459e46f96f04deffcf" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Exceptions.fst.hints b/examples/dm4free/FStar.DM4F.Exceptions.fst.hints index cfcb09b97cd..46baac746b4 100644 --- a/examples/dm4free/FStar.DM4F.Exceptions.fst.hints +++ b/examples/dm4free/FStar.DM4F.Exceptions.fst.hints @@ -8,14 +8,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Exceptions_interpretation_Tm_arrow_f2d128b41b807a50fc4bea0cd4f225d8", + "FStar.DM4F.Exceptions_interpretation_Tm_arrow_72cdc0c9c0d847eb228998a5a6607da8", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "equation_FStar.DM4F.Exceptions.ex", "fuel_guarded_inversion_FStar.Pervasives.either", "unit_typing" ], 0, - "465f6c86e657764716c20efeba3b611c" + "657472b5b5bc94f77a721c1e525ebcc5" ], [ "FStar.DM4F.Exceptions._dm4f_EXN_bind_wp", @@ -29,7 +29,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either" ], 0, - "aedb4a5ec480e78eb6eb968ff517cb62" + "d842cd65a2890eac6a015197dbe725fd" ], [ "FStar.DM4F.Exceptions._dm4f_EXN___proj__EXN__item__raise_elab", @@ -38,7 +38,7 @@ 1, [ "@query" ], 0, - "cd64a00c0bb701df25a8daddf060c824" + "00f6092c957318035c3a8da19c0ff371" ], [ "FStar.DM4F.Exceptions.EXN", @@ -47,7 +47,7 @@ 1, [ "@query" ], 0, - "e9ebc475df65299b835a35a5a032cc47" + "9e140b1d4857100a1f58693fb57552d4" ], [ "FStar.DM4F.Exceptions.div_intrinsic", @@ -77,7 +77,7 @@ "typing_tok_FStar.DM4F.Exceptions.Division_by_zero@tok" ], 0, - "b0569492af29f8f1ff6b73c649b0fd76" + "13f0afd7efb3b75eb7e5c6590a743489" ], [ "FStar.DM4F.Exceptions.div_extrinsic", @@ -88,7 +88,7 @@ "@query", "assumption_Prims.HasEq_int", "primitive_Prims.op_Equality" ], 0, - "8cc68016c8c5f7b3cca13ab8fc4a26fa" + "b14e8f3b0a15ec7d5a5c37a85cd95f84" ], [ "FStar.DM4F.Exceptions.lemma_div_extrinsic", @@ -99,10 +99,9 @@ "@MaxIFuel_assumption", "@query", "FStar.DM4F.Exceptions.__proj__EXN__item__raise_equality", "FStar.DM4F.Exceptions.__proj__EXN__item__raise_token_correspondence", - "FStar.DM4F.Exceptions_interpretation_Tm_arrow_bac1e79597f1a293ee636aac3843a747", + "FStar.DM4F.Exceptions_interpretation_Tm_arrow_1dfe2a01ee473137a9b5390d3c36eb97", "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.DM4F.Exceptions.Division_by_zero", "constructor_distinct_FStar.Pervasives.Inl", "constructor_distinct_FStar.Pervasives.Inr", @@ -115,9 +114,9 @@ "fuel_guarded_inversion_FStar.Pervasives.either", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_513e3fd604b0ce1e46a50ca5a63cb8f2", - "interpretation_Tm_abs_d48cea62489b5aadf4a5328920d0bb3d", - "interpretation_Tm_abs_eb7ea241225c2b3537304493be657dc5", + "interpretation_Tm_abs_5c6cfbc6e316b08c7e62522257bdc1a5", + "interpretation_Tm_abs_64200c495c053c32205dcfababcf728f", + "interpretation_Tm_abs_c7d6e1ed5cccce6d4089922183ea8d4f", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Inr_v", "projection_inverse_BoxBool_proj_0", @@ -125,15 +124,15 @@ "projection_inverse_FStar.Pervasives.Inr__a", "projection_inverse_FStar.Pervasives.Inr__b", "projection_inverse_FStar.Pervasives.Inr_v", - "refinement_interpretation_Tm_refine_a1128f72463744a5025faf59c876ade4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_45169deb6dbf5ae881e96d5c771b782f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.DM4F.Exceptions.raise", "typing_FStar.DM4F.Exceptions.div_extrinsic", "typing_tok_FStar.DM4F.Exceptions.Division_by_zero@tok", "unit_typing" ], 0, - "4a5102efd365c2f1217e03ac91d80095" + "1fa8fe32861e7d748761d6ed3f425599" ], [ "FStar.DM4F.Exceptions.raise_", @@ -142,7 +141,7 @@ 1, [ "@query" ], 0, - "3dbb5d998b2ebd772c0cac8743cdcbd6" + "d1fee5842d09a535581b18f71917a040" ], [ "FStar.DM4F.Exceptions.raise__", @@ -155,7 +154,7 @@ "function_token_typing_Prims.exn" ], 0, - "2e2062d8b21caeba99af8bd772941720" + "f886a356b2491310787a8a0365316491" ], [ "FStar.DM4F.Exceptions.bind_ex", @@ -164,14 +163,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Exceptions_interpretation_Tm_arrow_f2d128b41b807a50fc4bea0cd4f225d8", + "FStar.DM4F.Exceptions_interpretation_Tm_arrow_72cdc0c9c0d847eb228998a5a6607da8", "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "equation_FStar.DM4F.Exceptions.ex", "fuel_guarded_inversion_FStar.Pervasives.either", "unit_typing" ], 0, - "4bfd7a603f36b8737ff4870f5a6ba016" + "c41247dfd93d47d991ab44e0c2e49d70" ], [ "FStar.DM4F.Exceptions._dm4f_EXN_bind_wp", @@ -185,7 +184,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either" ], 0, - "581aac407653c2d83e455891241b8611" + "06007de134932404e44bdf6bc23560ee" ], [ "FStar.DM4F.Exceptions._dm4f_EXN___proj__EXN__item__raise_elab", @@ -194,7 +193,7 @@ 1, [ "@query" ], 0, - "3ac4942ada2a193df8450128db31be03" + "16f146efa5cc31346db46686b6e3a495" ], [ "FStar.DM4F.Exceptions.EXN", @@ -203,7 +202,7 @@ 1, [ "@query" ], 0, - "b63f71093bc4296f3c3a6ca071138442" + "48bdce1bc60339074224e6301c60be5a" ], [ "FStar.DM4F.Exceptions.div_intrinsic", @@ -233,7 +232,7 @@ "typing_tok_FStar.DM4F.Exceptions.Division_by_zero@tok" ], 0, - "48bc1f56c910c1ac2c580ade011755a0" + "899d9710e1d5c40a16986ee1b97190f1" ], [ "FStar.DM4F.Exceptions.div_extrinsic", @@ -244,7 +243,7 @@ "@query", "assumption_Prims.HasEq_int", "primitive_Prims.op_Equality" ], 0, - "06156cfd347bf8d725c127066f9a8a46" + "d9c74f5f399d9afeb58669a0349dce37" ], [ "FStar.DM4F.Exceptions.lemma_div_extrinsic", @@ -257,7 +256,6 @@ "FStar.DM4F.Exceptions.__proj__EXN__item__raise_token_correspondence", "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.DM4F.Exceptions.Division_by_zero", "constructor_distinct_FStar.Pervasives.Inl", "disc_equation_FStar.DM4F.Exceptions.Division_by_zero", @@ -269,18 +267,17 @@ "fuel_guarded_inversion_FStar.Pervasives.either", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_513e3fd604b0ce1e46a50ca5a63cb8f2", - "interpretation_Tm_abs_d48cea62489b5aadf4a5328920d0bb3d", - "interpretation_Tm_abs_eb7ea241225c2b3537304493be657dc5", + "interpretation_Tm_abs_5c6cfbc6e316b08c7e62522257bdc1a5", + "interpretation_Tm_abs_64200c495c053c32205dcfababcf728f", + "interpretation_Tm_abs_c7d6e1ed5cccce6d4089922183ea8d4f", "proj_equation_FStar.Pervasives.Inr_v", "projection_inverse_FStar.Pervasives.Inr_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.DM4F.Exceptions.raise", - "typing_tok_FStar.DM4F.Exceptions.Division_by_zero@tok", - "unit_typing" + "typing_tok_FStar.DM4F.Exceptions.Division_by_zero@tok" ], 0, - "78e5f957944a1824af86b83123450d43" + "4dd95e38a77a8f3e01adfca67df07c15" ], [ "FStar.DM4F.Exceptions.raise_", @@ -289,7 +286,7 @@ 1, [ "@query" ], 0, - "18db7d27295f46e6d868708ae4149486" + "b6040b01f319e5b6c87b639981ffd374" ], [ "FStar.DM4F.Exceptions.raise__", @@ -302,7 +299,7 @@ "function_token_typing_Prims.exn" ], 0, - "ceaf70f1c4764e83974724a3993c0e45" + "654a87314006e69bf9b11004536d4581" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.ExnSt.fst.hints b/examples/dm4free/FStar.DM4F.ExnSt.fst.hints index de706f6700c..31a787b14ba 100644 --- a/examples/dm4free/FStar.DM4F.ExnSt.fst.hints +++ b/examples/dm4free/FStar.DM4F.ExnSt.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.ExnSt_interpretation_Tm_arrow_0be46514fe61755cfabf3fe87e746ccc", + "FStar.DM4F.ExnSt_interpretation_Tm_arrow_9a0e9e3b0543e9a5bbf1ca7aaaab2494", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -19,7 +19,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "94de9856670c988b908b50a58282276b" + "2f224dcc91c34892bd378763a4dd148c" ], [ "FStar.DM4F.ExnSt._dm4f_EXNST_bind_wp", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b2f707fd1c37d294e288d57e4474d56c" + "63cf839f9435522694d69d8dcd7f21d3" ], [ "FStar.DM4F.ExnSt._dm4f_EXNST___proj__EXNST__item__raise_elab", @@ -46,7 +46,7 @@ 1, [ "@query" ], 0, - "69effdc5c6a2c11ca3f4dac37f33fe58" + "be515a28ffbb0aecd68a98b2345f6630" ], [ "FStar.DM4F.ExnSt.EXNST", @@ -55,7 +55,7 @@ 1, [ "@query" ], 0, - "ea9ddd37273b2a043818e29bfbe07c10" + "00c392a85bda4a3f2f536678ee31d234" ], [ "FStar.DM4F.ExnSt.div_intrisic_spec", @@ -73,7 +73,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "be784583d8211ade5a72c030c3a609f3" + "0ca18b185a819aed5ebe086a03aba35f" ], [ "FStar.DM4F.ExnSt.div_intrinsic", @@ -107,7 +107,7 @@ "unit_typing" ], 0, - "0c8b9c909bfdf333443e606038440536" + "3868b7637cfb23faeec29fca0bdf94b5" ], [ "FStar.DM4F.ExnSt.div_extrinsic", @@ -118,7 +118,7 @@ "@query", "assumption_Prims.HasEq_int", "primitive_Prims.op_Equality" ], 0, - "3142927067fcf08395649354d00d8933" + "aa28e54f919967e115baf2d75812d523" ], [ "FStar.DM4F.ExnSt.lemma_div_extrinsic", @@ -128,7 +128,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.DM4F.ExnSt.__proj__EXNST__item__raise_equality", - "FStar.DM4F.ExnSt_interpretation_Tm_arrow_eb26b34a2041cfe2c582e42ea8e64156", + "FStar.DM4F.ExnSt_interpretation_Tm_arrow_9de91ba7f308f17284a8f37ea1dc59e0", "FStar.DM4F.IntST.__proj__STINT__item__put_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", @@ -141,12 +141,12 @@ "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_17e339d407b875b052e66d9ef54149af", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_b9f3e4eaa950971158a70f26f7e5d3e6", - "interpretation_Tm_abs_e3dfa09e31de5454b44636a2caaceb72", - "interpretation_Tm_abs_e9c159d0cd78615830375a862a6277a7", + "interpretation_Tm_abs_00709a744a48249290e9052cc7253072", + "interpretation_Tm_abs_15d1a1024d0dd12a02ff74be4fbf3dc0", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_a301c3bd252685f2edfa896c9ccd9d70", + "interpretation_Tm_abs_e8320454ea3931af1e1c7ab2b376e5a8", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", @@ -154,15 +154,15 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_3481ad47d795d6bc95b3d4d9aea8cc31", + "refinement_interpretation_Tm_refine_15621903c90a91435aa88dd65f2b1df5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.ExnSt.div_extrinsic", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "unit_typing" ], 0, - "fee0bd116fb41d3137cdff73421aceef" + "aac6d125b1b928f8bf5cb09b518713c4" ], [ "FStar.DM4F.ExnSt.bind", @@ -171,7 +171,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.ExnSt_interpretation_Tm_arrow_0be46514fe61755cfabf3fe87e746ccc", + "FStar.DM4F.ExnSt_interpretation_Tm_arrow_9a0e9e3b0543e9a5bbf1ca7aaaab2494", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -182,7 +182,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b92657d46233546466b0bb213061fe9e" + "19b1debb01fdd71ff9ded3a78b295fd3" ], [ "FStar.DM4F.ExnSt._dm4f_EXNST_bind_wp", @@ -200,7 +200,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c7df0a19ea64d9b7394190904b929b7f" + "b48b399b7e5f9b0f910563bcbbc1e469" ], [ "FStar.DM4F.ExnSt._dm4f_EXNST___proj__EXNST__item__raise_elab", @@ -209,7 +209,7 @@ 1, [ "@query" ], 0, - "3ad3e82a5e32728835998fbbb630731a" + "89580001b07a0129d50d6ec4f71e154e" ], [ "FStar.DM4F.ExnSt.EXNST", @@ -218,7 +218,7 @@ 1, [ "@query" ], 0, - "723df130aa52de36b019bd91d3b0d520" + "a23870e34357191889456e92a58a3150" ], [ "FStar.DM4F.ExnSt.div_intrisic_spec", @@ -236,7 +236,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a6b2dfdd1060dbdbe45a460045017456" + "1fa47a4bf0533c9973f1677669ad2811" ], [ "FStar.DM4F.ExnSt.div_intrinsic", @@ -270,7 +270,7 @@ "unit_typing" ], 0, - "63dbfffd3eb1d90dc8e9bb6db80eca7d" + "10c53ec43bae2abed7a9de8c00f4f139" ], [ "FStar.DM4F.ExnSt.div_extrinsic", @@ -281,7 +281,7 @@ "@query", "assumption_Prims.HasEq_int", "primitive_Prims.op_Equality" ], 0, - "8bc0f8294303be661546d8014b9fb286" + "bf68477bb041efb498afc1d1f506d49b" ], [ "FStar.DM4F.ExnSt.lemma_div_extrinsic", @@ -299,7 +299,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eeaf12a06650416ed945ec6eef0c2243" + "e5f02a6d90d31aad45d9336cacc58c6a" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Heap.Random.fst.hints b/examples/dm4free/FStar.DM4F.Heap.Random.fst.hints index 355d17108c2..a892ff24e34 100644 --- a/examples/dm4free/FStar.DM4F.Heap.Random.fst.hints +++ b/examples/dm4free/FStar.DM4F.Heap.Random.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4ce3752d94e53e1fb243d3ab9fc0f191" + "43540950b72e41945a0ec48226b6e020" ], [ "FStar.DM4F.Heap.Random.tape", @@ -22,19 +22,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Seq.Base.seq__uu___haseq", "equation_FStar.DM4F.Heap.Random.elem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.DM4F.Heap.Random.elem", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c45738073e069418e791c7f105cc9178", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_c45738073e069418e791c7f105cc9178" ], 0, - "1591490acf9134742e4595c2775b2ea1" + "964c05216422d3cd5eeb44c502b0b0ec" ], [ "FStar.DM4F.Heap.Random.incr", @@ -43,20 +40,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.DM4F.Heap.Random.id", "equation_FStar.DM4F.Heap.Random.incrementable", - "equation_FStar.DM4F.Heap.Random.size", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", + "equation_Prims.nat", "primitive_Prims.op_Addition", + "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_48a6547554ba276d1f51713ada86d6e1", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", + "refinement_interpretation_Tm_refine_704d8d13f27c4dc76ad704087a7f94d4" ], 0, - "5062b72a9951f6a0c39d1ee9b7686b16" + "34ddd5bdf7c3b6bde8fb27925462d7dc" ], [ "FStar.DM4F.Heap.Random.index", @@ -65,13 +59,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.elem", - "equation_FStar.DM4F.Heap.Random.size", "equation_FStar.DM4F.Heap.Random.tape", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" + "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933" ], 0, - "9011d09e2de99fe459b05aa3379b24ba" + "ae644dd703521d90c6ae943f778f287f" ], [ "FStar.DM4F.Heap.Random.upd", @@ -80,21 +72,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.DM4F.Heap.Random.elem", "equation_FStar.DM4F.Heap.Random.id", - "equation_FStar.DM4F.Heap.Random.size", "equation_FStar.DM4F.Heap.Random.tape", "equation_Prims.nat", - "function_token_typing_FStar.DM4F.Heap.Random.elem", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", + "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933", + "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178", + "refinement_kinding_Tm_refine_c45738073e069418e791c7f105cc9178" ], 0, - "8f3d1118ccbe10e6bec2478b67891c4f" + "b66bd246448320b957f75b0e3e2ad99e" ], [ "FStar.DM4F.Heap.Random.create", @@ -103,18 +93,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.DM4F.Heap.Random.elem", "equation_FStar.DM4F.Heap.Random.size", "equation_Prims.nat", - "function_token_typing_FStar.DM4F.Heap.Random.elem", - "function_token_typing_FStar.DM4F.Heap.Random.size", - "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_FStar.DM4F.Heap.Random.elem", "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "28b61088784b36dbb2a87925eecff410" + "389c32539e7a37a1d8233f3c924c2914" ], [ "FStar.DM4F.Heap.Random.lemma_eq_intro", @@ -123,22 +111,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.DM4F.Heap.Random.elem", "equation_FStar.DM4F.Heap.Random.equal", "equation_FStar.DM4F.Heap.Random.id", "equation_FStar.DM4F.Heap.Random.index", - "equation_FStar.DM4F.Heap.Random.size", "equation_FStar.DM4F.Heap.Random.tape", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "int_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", + "refinement_interpretation_Tm_refine_9d9e10402f79d6a95207c3b97fa31898", + "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933" ], 0, - "efdbde5716ffbe6be185fcc53dce0ba3" + "895d32fda40dbdb1fe514dd44b4479c0" ], [ "FStar.DM4F.Heap.Random.lemma_eq_elim", @@ -149,14 +133,13 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.DM4F.Heap.Random.elem", "equation_FStar.DM4F.Heap.Random.equal", - "equation_FStar.DM4F.Heap.Random.size", "equation_FStar.DM4F.Heap.Random.tape", - "function_token_typing_FStar.DM4F.Heap.Random.elem", "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" + "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933", + "refinement_kinding_Tm_refine_c45738073e069418e791c7f105cc9178" ], 0, - "7981d5825b7e52a87e6588e62a1f69ad" + "2de3d9853d3aea130b491a18422456e2" ], [ "FStar.DM4F.Heap.Random.lemma_index_upd1", @@ -165,21 +148,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.DM4F.Heap.Random.elem", "equation_FStar.DM4F.Heap.Random.id", "equation_FStar.DM4F.Heap.Random.index", - "equation_FStar.DM4F.Heap.Random.size", "equation_FStar.DM4F.Heap.Random.tape", "equation_FStar.DM4F.Heap.Random.upd", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", + "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933", + "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178" ], 0, - "1b8dbda8bd117c387f770d1ce1e8dae9" + "f84e1c8fd1b3b22440e3e3731684e129" ], [ "FStar.DM4F.Heap.Random.lemma_index_upd2", @@ -188,22 +169,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.DM4F.Heap.Random.elem", "equation_FStar.DM4F.Heap.Random.id", "equation_FStar.DM4F.Heap.Random.index", - "equation_FStar.DM4F.Heap.Random.size", "equation_FStar.DM4F.Heap.Random.tape", "equation_FStar.DM4F.Heap.Random.upd", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", + "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933", + "refinement_interpretation_Tm_refine_c214c9b992936e25888fdce6a55eb676", + "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178" ], 0, - "626b096f0613f5735f15cc81d64a2ea9" + "1403efde26a7313a9eae5ac17c432155" ], [ "FStar.DM4F.Heap.Random.lemma_index_create", @@ -217,7 +196,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "59ca1e0f2caf07e89d5312ae35e6ec9e" + "704c760fa20959272b602aba4a095aac" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Heap.ST.fst.hints b/examples/dm4free/FStar.DM4F.Heap.ST.fst.hints index 6fc652bfcca..cc01d3e74f8 100644 --- a/examples/dm4free/FStar.DM4F.Heap.ST.fst.hints +++ b/examples/dm4free/FStar.DM4F.Heap.ST.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "b4ca59b5cec4ebca50be9ac57278afdd" + "5ee5d2cdad3a33d0af6c3fce253e3786" ], [ "FStar.DM4F.Heap.ST._dm4f_STATE___proj__STATE__item__put_elab", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "184d198b95c06437f62f81f5d796aae6" + "1b3609dba9270fab8aeb8a582c37f012" ], [ "FStar.DM4F.Heap.ST.STATE", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "384af7c265c6b757df933ab11d85f7dd" + "63e330e1ce89c58be04ffe80ca71bcf3" ], [ "FStar.DM4F.Heap.ST.STATE", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "f26096e5a0ba6a3f30369d63888a5d6d" + "ea44ae8d6762bfa06577f551e774c488" ], [ "FStar.DM4F.Heap.ST.alloc", @@ -44,12 +44,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.DM4F.Heap.alloc_lemma", "lemma_FStar.DM4F.Heap.contains_addr_of", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", @@ -60,7 +57,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1e6d26ede68401305466ef706ecacb13" + "3798c5720d4779d1aa48f78bc21ec7f4" ], [ "FStar.DM4F.Heap.ST.alloc_weak", @@ -74,7 +71,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "d07be7ce9d04fed13c8d833f4714a8f7" + "874e469219c9b1d8de7ebd0435611001" ], [ "FStar.DM4F.Heap.ST.read", @@ -87,7 +84,7 @@ "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a" ], 0, - "a1a667cf304dc8c1591a3d365a83c67e" + "61e48232aec5e934a558ade107b1d5c4" ], [ "FStar.DM4F.Heap.ST.read_weak", @@ -96,7 +93,7 @@ 1, [ "@query" ], 0, - "5bb98ea094d947d9a398f3325e0e1bcd" + "98200512e6403b4c3d5f0cfab8ae5c94" ], [ "FStar.DM4F.Heap.ST.write", @@ -111,7 +108,7 @@ "unit_typing" ], 0, - "7ac4f84ff06c301f10d8f97f464c6533" + "5b10e13efd6f5806c05f509f6b7cdbcc" ], [ "FStar.DM4F.Heap.ST.write_weak", @@ -126,7 +123,7 @@ "unit_typing" ], 0, - "5f1bf5616df92be1fbd5498e28c22f3d" + "21d539e9674df77bc375d5c9e52e0f89" ], [ "FStar.DM4F.Heap.ST.incr", @@ -139,18 +136,19 @@ "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", "lemma_FStar.DM4F.Heap.upd_contains", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.addr_of" ], 0, - "02adffaa534500e433bb7d8de88836f5" + "c3219ae9895f6b61817af0569682b0a2" ], [ "FStar.DM4F.Heap.ST.incr'", @@ -166,7 +164,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "085f0e8b31f19e4185c2b414f90ed6ad" + "0aaafa9d41ad5b56502043f1b95b241f" ], [ "FStar.DM4F.Heap.ST.incr_increases", @@ -184,10 +182,10 @@ "equation_FStar.DM4F.Heap.ST.write_weak", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3956dcb22289b54ec1d7aa53012106c7", + "interpretation_Tm_abs_487b9a6200a4bf314d2acf58de7b1956", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "lemma_FStar.DM4F.Heap.lemma_sel_tot_is_sel_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.lemma_upd_tot_is_upd_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.sel_upd1", "primitive_Prims.op_Addition", @@ -195,11 +193,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f", - "unit_typing" + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d", + "unit_inversion", "unit_typing" ], 0, - "051ceb381e849f28f4380cb7b0032aef" + "d67eef95ee2c3d3d70ce9381b2602326" ], [ "FStar.DM4F.Heap.ST.copy_and_incr", @@ -212,18 +210,19 @@ "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.DM4F.Heap.contains_a_well_typed_implies_contains", "lemma_FStar.DM4F.Heap.contains_addr_of", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.addr_of" ], 0, - "a67b8a5ad172e0aed1e6e806a689b99d" + "6dd5fafbdfe2fd21f6b34bfe85cf152c" ], [ "FStar.DM4F.Heap.ST.alloc_addition_and_incr", @@ -232,19 +231,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.DM4F.Heap.sel", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_e8c497128d05125acc2b8c4ebf96302d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_80b9880b34580852d5d3c1900664c2a8", "lemma_FStar.Set.mem_empty", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.addr_of" ], 0, - "b0a57b37c7ea313cbe07aeefc26a9fe4" + "72b78e0be68ec2b2fa6bb405ea058d0b" ], [ "FStar.DM4F.Heap.ST.zero", @@ -254,11 +252,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "23ddad7556bdabc2d0347b3d1de6cc59" + "cd3c6759b4049d59b4a44dd6fa0e8efa" ], [ "FStar.DM4F.Heap.ST.zero", @@ -268,11 +266,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5b3ebe00a8c8e94cecd5946e96dd0d51" + "ccdb45ac7abceef19a5fcd4c5fd4061a" ], [ "FStar.DM4F.Heap.ST.zero", @@ -282,13 +280,13 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_abb3ef8c28d09dcde7d6e1f74f1d6f91_1", - "binder_x_fb97b6167f6bdd1f19aeefb06c97246a_0", + "binder_x_10e2ff9b3a18131b534c510cf9f0afee_1", + "binder_x_663557961ece1f0c8a9fcd351089ff1a_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", "lemma_FStar.DM4F.Heap.upd_contains", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", @@ -296,14 +294,15 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2780bedf233a79a98d593ce0ac8536fa", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8b423fbf095ae65a4fe2952797dea105", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.addr_of", "typing_FStar.DM4F.Heap.sel", "well-founded-ordering-on-nat" ], 0, - "ac5478478cf58abdea55b059555a9efa" + "3dcd1271db61e65425e8075a01d8ed3c" ], [ "FStar.DM4F.Heap.ST.refine_st", @@ -318,7 +317,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "964b5778bf3b416acd4950b9c53f29fc" + "7f2a2f521f8366f621630ed7c10b4024" ], [ "FStar.DM4F.Heap.ST.runST", @@ -332,7 +331,7 @@ "typing_FStar.DM4F.Heap.emp" ], 0, - "53f3fdd59d22f14d33c1015cacfbc03d" + "da6f0ec9be7f60e0d17cade8f1b1f4c5" ], [ "FStar.DM4F.Heap.ST._dm4f_STATE___proj__STATE__item__get_elab", @@ -341,7 +340,7 @@ 1, [ "@query" ], 0, - "f4ae67df5b0700c05c52d8eb7a0f3add" + "ea4c1c393145401fd4d652ff02cf6531" ], [ "FStar.DM4F.Heap.ST._dm4f_STATE___proj__STATE__item__put_elab", @@ -350,7 +349,7 @@ 1, [ "@query" ], 0, - "4f9ac9699f9996eecd8f785590cf493c" + "75103385190f2c783a04076b901fdec8" ], [ "FStar.DM4F.Heap.ST.STATE", @@ -359,7 +358,7 @@ 1, [ "@query" ], 0, - "9068a058043b9eb0bfa5240dab7ada28" + "59fea9f918a50c535a1401218089a2b9" ], [ "FStar.DM4F.Heap.ST.STATE", @@ -368,7 +367,7 @@ 1, [ "@query" ], 0, - "627695ac7fa166d4b34391041e57092b" + "05f5fe7be92f4aeef879078c3b8b518e" ], [ "FStar.DM4F.Heap.ST.alloc", @@ -377,12 +376,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.DM4F.Heap.alloc_lemma", "lemma_FStar.DM4F.Heap.contains_addr_of", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", @@ -393,7 +389,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "67b3c6ede8e61bd80c0405f4fedcf7f6" + "a9e73286fd6c51230a6b75f4e44a9916" ], [ "FStar.DM4F.Heap.ST.alloc", @@ -403,11 +399,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a8a1a57fe4bec7ef244976ac2b139014" + "29db5f594002ff76f3eeeae6ecd0106e" ], [ "FStar.DM4F.Heap.ST.alloc_weak", @@ -421,7 +417,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "b8569b4c6195335b5fe2ca8a5fb4565e" + "02a29128f7b79634a0d9414ff55ceeef" ], [ "FStar.DM4F.Heap.ST.read", @@ -434,7 +430,7 @@ "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a" ], 0, - "43789bfe960ef17328f2a2a67b50570a" + "1574e045840579a02553df3d587a08bb" ], [ "FStar.DM4F.Heap.ST.read_weak", @@ -443,7 +439,7 @@ 1, [ "@query" ], 0, - "d536eded88c59c541b8faddd08e2f94c" + "a9b31f6150d166b0f7bed605c9293139" ], [ "FStar.DM4F.Heap.ST.write", @@ -458,7 +454,7 @@ "unit_typing" ], 0, - "a5871b12a5a335ff25f70ab20ceb30d7" + "6d97b2df4ad9c018251601e90fe8c5ea" ], [ "FStar.DM4F.Heap.ST.write_weak", @@ -473,7 +469,7 @@ "unit_typing" ], 0, - "ebcab6662033c6f7cda946fe1a6ad15f" + "7f26203346b28ad354984b4e24bae8ad" ], [ "FStar.DM4F.Heap.ST.incr", @@ -486,18 +482,19 @@ "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", "lemma_FStar.DM4F.Heap.upd_contains", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.addr_of" ], 0, - "509b5cc30255750801e034e3bcf0003c" + "fcd6be9a41202b453f4cb5e7700c593e" ], [ "FStar.DM4F.Heap.ST.incr", @@ -507,11 +504,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1bc60c9647a5d6326219c4002191225f" + "4482ed42596e13cc12ce05bc131b53e8" ], [ "FStar.DM4F.Heap.ST.incr'", @@ -527,7 +524,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3e648a0e3f361f76f478415469db64f9" + "b544d68f1459a6187e09661b14b3e047" ], [ "FStar.DM4F.Heap.ST.incr_increases", @@ -545,10 +542,10 @@ "equation_FStar.DM4F.Heap.ST.write_weak", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3956dcb22289b54ec1d7aa53012106c7", + "interpretation_Tm_abs_487b9a6200a4bf314d2acf58de7b1956", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "lemma_FStar.DM4F.Heap.lemma_sel_tot_is_sel_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.lemma_upd_tot_is_upd_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.sel_upd1", "primitive_Prims.op_Addition", @@ -556,11 +553,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f", - "unit_typing" + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d", + "unit_inversion", "unit_typing" ], 0, - "c8a497686c0addd5b942ad4dfc29b70b" + "a47445a0bfea9176958dc95b4c650063" ], [ "FStar.DM4F.Heap.ST.copy_and_incr", @@ -573,18 +570,19 @@ "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.DM4F.Heap.contains_a_well_typed_implies_contains", "lemma_FStar.DM4F.Heap.contains_addr_of", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.addr_of" ], 0, - "031726ee62f50e939876d641427bebf7" + "bc4b7cda0e564dfbe60ef0940bc5d71c" ], [ "FStar.DM4F.Heap.ST.copy_and_incr", @@ -594,11 +592,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d2906c37c04c92763175d10f5622efe8" + "326fb0c4ef2c6a0aff92cbd07025129b" ], [ "FStar.DM4F.Heap.ST.alloc_addition_and_incr", @@ -607,19 +605,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.DM4F.Heap.sel", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_e8c497128d05125acc2b8c4ebf96302d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_80b9880b34580852d5d3c1900664c2a8", "lemma_FStar.Set.mem_empty", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.addr_of" ], 0, - "dae168a0b5911a471e6d209093869baf" + "46524104a8ef5366ce607405c59a180a" ], [ "FStar.DM4F.Heap.ST.alloc_addition_and_incr", @@ -629,11 +626,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c0abfd3cd50c1e0644b3a55d87faa2fd" + "f0893f8621a385260d89e13d5cf46b68" ], [ "FStar.DM4F.Heap.ST.zero", @@ -643,11 +640,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1996288db4830ef6a566f25ed507df0d" + "893df1cb4756c84d9dcca4ea60b108ff" ], [ "FStar.DM4F.Heap.ST.zero", @@ -657,13 +654,13 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_abb3ef8c28d09dcde7d6e1f74f1d6f91_1", - "binder_x_fb97b6167f6bdd1f19aeefb06c97246a_0", + "binder_x_10e2ff9b3a18131b534c510cf9f0afee_1", + "binder_x_663557961ece1f0c8a9fcd351089ff1a_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", "lemma_FStar.DM4F.Heap.upd_contains", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", @@ -671,14 +668,15 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2780bedf233a79a98d593ce0ac8536fa", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8b423fbf095ae65a4fe2952797dea105", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.addr_of", "typing_FStar.DM4F.Heap.sel", "well-founded-ordering-on-nat" ], 0, - "5b5428ebbe7e44609769209db305d32a" + "3ebfda05f9dfabcec430d37807a70b55" ], [ "FStar.DM4F.Heap.ST.refine_st", @@ -693,7 +691,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "e95334ab9f4721b093f522b87526a28d" + "f9bc0b0df6ea90c9b3255ab6e2ed4814" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Heap.fst.hints b/examples/dm4free/FStar.DM4F.Heap.fst.hints index 30e3442153e..5c81afb11b6 100644 --- a/examples/dm4free/FStar.DM4F.Heap.fst.hints +++ b/examples/dm4free/FStar.DM4F.Heap.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "77c5bbaac3b96ead2518ef1e9a404c8c" + "0ecd9b53745822c12387911c565a9191" ], [ "FStar.DM4F.Heap.compare_addrs", @@ -21,17 +21,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.DM4F.Heap.addr_of", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Heap.ref", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.DM4F.Heap.addr_of", + "equation_Prims.eqtype", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.DM4F.Heap.ref", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1a7d61a438f2445642bd254ba05dac75" + "62df88b6b4f2a3036e0107b9728baa56" ], [ "FStar.DM4F.Heap.sel_tot", @@ -51,7 +49,7 @@ "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a" ], 0, - "3216ea8664289ea3698281f47c5f17c9" + "2e369f5ac7905ec036a5cdaedc779d75" ], [ "FStar.DM4F.Heap.sel", @@ -60,10 +58,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_21289dc55e15f9aa09f9343c2dd9dd86" + "refinement_interpretation_Tm_refine_da7f7028d70838454a85dd8107b186e0" ], 0, - "f631bfb366a409aa58d5936ed40e7f4e" + "46f5fa637c627e09d5025bfe3ba6cf3e" ], [ "FStar.DM4F.Heap.upd_tot", @@ -72,9 +70,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.DM4F.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "FStar.DM4F.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "data_elim_FStar.DM4F.Heap.Mkheap_rec", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", @@ -82,17 +81,14 @@ "equation_FStar.DM4F.Heap.contains_a_well_typed", "equation_FStar.DM4F.Heap.heap", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Heap.heap_rec", "fuel_guarded_inversion_FStar.DM4F.Heap.ref", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_664108a24ad715e0e5a487617e29ce22", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_00dcb66422c047411c56ed636a2a5e29", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.DM4F.Heap.Mkheap_rec_memory", @@ -102,17 +98,17 @@ "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_memory", "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_next_addr", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", + "refinement_interpretation_Tm_refine_362efaaab06ef38cf99d70b488c82196", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aa50885da3bdac168a5f745489f9c563", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.DM4F.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.DM4F.Heap.__proj__Mkref__item__addr", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "d4a9c5933e5e02b30625cc3acc3fb199" + "b536c5207e454da2a83ad1c07faea5bc" ], [ "FStar.DM4F.Heap.upd", @@ -121,23 +117,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.DM4F.Heap.Mkheap_rec", + "FStar.DM4F.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "FStar.DM4F.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", "data_elim_FStar.DM4F.Heap.Mkheap_rec", "data_elim_FStar.DM4F.Heap.Mkref", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.DM4F.Heap.heap", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Heap.heap_rec", "fuel_guarded_inversion_FStar.DM4F.Heap.ref", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c8b9f9e6e649d714276ebb48b8c421d4", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_bd95ed204d090b6f3c8a971f59c6521f", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", @@ -148,15 +143,16 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_memory", "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_21289dc55e15f9aa09f9343c2dd9dd86", + "refinement_interpretation_Tm_refine_362efaaab06ef38cf99d70b488c82196", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aa50885da3bdac168a5f745489f9c563", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_da7f7028d70838454a85dd8107b186e0", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "0e1a02cc89084dd58ed5f46635c9403d" + "4d244913bfd73b4754b6c6e61a375e8e" ], [ "FStar.DM4F.Heap.alloc", @@ -165,10 +161,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "FStar.DM4F.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "FStar.DM4F.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "data_elim_FStar.DM4F.Heap.Mkheap_rec", "data_typing_intro_FStar.DM4F.Heap.Mkref@tok", "disc_equation_FStar.Pervasives.Native.None", @@ -177,19 +173,17 @@ "equation_FStar.DM4F.Heap.heap", "equation_FStar.DM4F.Heap.upd", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Heap.heap_rec", "function_token_typing_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_56bce4d9563e124606f87a364e28bb81", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c8b9f9e6e649d714276ebb48b8c421d4", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_0d4d6a8b0aca467d47ee4ef3233ef7f6", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_bd95ed204d090b6f3c8a971f59c6521f", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", @@ -205,21 +199,22 @@ "projection_inverse_FStar.DM4F.Heap.Mkref_addr", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_362efaaab06ef38cf99d70b488c82196", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_aa50885da3bdac168a5f745489f9c563", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.DM4F.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.DM4F.Heap.contains_a_well_typed", "typing_FStar.DM4F.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_c8b9f9e6e649d714276ebb48b8c421d4" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_bd95ed204d090b6f3c8a971f59c6521f" ], 0, - "cce59ea77221e3166c12de15ed2c72dc" + "711e51f4466b79cbcea0d6f4a92600c9" ], [ "FStar.DM4F.Heap.contains_a_well_typed_implies_contains", @@ -232,7 +227,7 @@ "equation_FStar.DM4F.Heap.contains_a_well_typed" ], 0, - "c709eecb9075ba96db4ee4f0abde8975" + "cefd906efe3524e26396abc1e1f2790c" ], [ "FStar.DM4F.Heap.contains_addr_of", @@ -242,11 +237,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "277a933589168db64dd2e61e1d081bf3" + "151e0264acfa79e68d321a3159a7f2c2" ], [ "FStar.DM4F.Heap.contains_addr_of", @@ -258,7 +253,7 @@ "equation_FStar.DM4F.Heap.contains" ], 0, - "7a97ff8f08332c51212f53b5fcd43cde" + "16859d0579e39ccfdd1ad4da45721ffa" ], [ "FStar.DM4F.Heap.fresh", @@ -268,11 +263,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6840f719755f313bb6469287ebcf28f7" + "41c0d2daf7e2a280df9cf13eb5b3b24c" ], [ "FStar.DM4F.Heap.fresh", @@ -282,11 +277,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "518f7792f0dab345adc3ef991f35e433" + "176c73d4b9335dcd601ffb70401ac1ae" ], [ "FStar.DM4F.Heap.only", @@ -296,11 +291,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6071da37a2532d5351d27b9bf5f6c51c" + "398bce7c1fccc66a04f0cc612bd63ce5" ], [ "FStar.DM4F.Heap.alloc_lemma", @@ -309,10 +304,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.DM4F.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "FStar.DM4F.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.DM4F.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", @@ -329,11 +325,9 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Heap.heap_rec", "function_token_typing_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_FStar.DM4F.Heap.heap", "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_56bce4d9563e124606f87a364e28bb81", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "interpretation_Tm_abs_0d4d6a8b0aca467d47ee4ef3233ef7f6", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "kinding_FStar.DM4F.Heap.ref@tok", "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", @@ -351,18 +345,19 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2bf22004417aad066a958ee1fe22b30d", - "refinement_interpretation_Tm_refine_aa50885da3bdac168a5f745489f9c563", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_362efaaab06ef38cf99d70b488c82196", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_c5b3de7a99e306459a24808731cd703f", + "refinement_kinding_Tm_refine_362efaaab06ef38cf99d70b488c82196", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.DM4F.Heap.alloc", "typing_FStar.DM4F.Heap.upd", - "typing_FStar.Pervasives.Native.fst", - "typing_Tm_abs_56bce4d9563e124606f87a364e28bb81", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65" + "typing_FStar.DM4F.Heap.alloc", "typing_FStar.Pervasives.Native.snd", + "typing_Tm_abs_0d4d6a8b0aca467d47ee4ef3233ef7f6", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" ], 0, - "2846f7ef1b1ccf560fca21b3d9838582" + "382ebcae2eeea1435440a4d0b7c88739" ], [ "FStar.DM4F.Heap.sel_same_addr_of", @@ -371,7 +366,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.DM4F.Heap.addr_of", "equation_FStar.DM4F.Heap.contains_a_well_typed", @@ -380,18 +374,17 @@ "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Heap.heap_rec", "fuel_guarded_inversion_FStar.DM4F.Heap.ref", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_aa50885da3bdac168a5f745489f9c563", + "refinement_interpretation_Tm_refine_7be912ed06eaefb0e010e67b4b134d87", "typing_FStar.DM4F.Heap.contains_a_well_typed", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "3e6d075af85084f875f7e27918e801dc" + "6b84666607d13e95b2914b27eff39258" ], [ "FStar.DM4F.Heap.sel_upd1", @@ -399,16 +392,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2cb17e5abdefe4f258f331cc23bf99c2" + "05930395a8676c4e0d38c41062b7b51b" ], [ "FStar.DM4F.Heap.sel_upd1", @@ -417,12 +407,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "FStar.DM4F.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "FStar.DM4F.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.DM4F.Heap.Mkheap_rec", "data_elim_FStar.Pervasives.Native.Some", @@ -434,19 +424,16 @@ "equation_FStar.DM4F.Heap.sel_tot", "equation_FStar.DM4F.Heap.upd", "equation_FStar.DM4F.Heap.upd_tot", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.dfst", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Heap.heap_rec", "fuel_guarded_inversion_FStar.DM4F.Heap.ref", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_664108a24ad715e0e5a487617e29ce22", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c8b9f9e6e649d714276ebb48b8c421d4", + "function_token_typing_Prims.logical", "int_inversion", + "interpretation_Tm_abs_00dcb66422c047411c56ed636a2a5e29", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_bd95ed204d090b6f3c8a971f59c6521f", "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", @@ -459,22 +446,23 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_aa50885da3bdac168a5f745489f9c563", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_362efaaab06ef38cf99d70b488c82196", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.DM4F.Heap.addr_of", "typing_FStar.DM4F.Heap.contains_a_well_typed", "typing_FStar.DM4F.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_664108a24ad715e0e5a487617e29ce22", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65", - "typing_Tm_abs_c8b9f9e6e649d714276ebb48b8c421d4" + "typing_Tm_abs_00dcb66422c047411c56ed636a2a5e29", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "typing_Tm_abs_bd95ed204d090b6f3c8a971f59c6521f" ], 0, - "99bf9b2693781307cece7b25108b8363" + "4c1ddd616e91426ca6b4dbe476bdecb7" ], [ "FStar.DM4F.Heap.sel_upd2", @@ -484,11 +472,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cc59f5d2571540df777bd36ac497f21f" + "5b7574d9a557b6f8d40ac842142898a0" ], [ "FStar.DM4F.Heap.sel_upd2", @@ -497,11 +485,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.DM4F.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "FStar.DM4F.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.DM4F.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.DM4F.Heap.addr_of", @@ -510,15 +499,12 @@ "equation_FStar.DM4F.Heap.sel_tot", "equation_FStar.DM4F.Heap.upd", "equation_FStar.DM4F.Heap.upd_tot", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Heap.heap_rec", - "fuel_guarded_inversion_FStar.DM4F.Heap.ref", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_664108a24ad715e0e5a487617e29ce22", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c8b9f9e6e649d714276ebb48b8c421d4", + "fuel_guarded_inversion_FStar.DM4F.Heap.ref", "int_inversion", + "interpretation_Tm_abs_00dcb66422c047411c56ed636a2a5e29", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_bd95ed204d090b6f3c8a971f59c6521f", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", @@ -529,20 +515,21 @@ "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_aa50885da3bdac168a5f745489f9c563", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_362efaaab06ef38cf99d70b488c82196", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.DM4F.Heap.addr_of", "typing_FStar.DM4F.Heap.contains_a_well_typed", "typing_FStar.DM4F.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_664108a24ad715e0e5a487617e29ce22", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_c8b9f9e6e649d714276ebb48b8c421d4" + "typing_Tm_abs_00dcb66422c047411c56ed636a2a5e29", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_bd95ed204d090b6f3c8a971f59c6521f" ], 0, - "ffda40104f8a17a31143f4675f543c66" + "e4983b2f97c8755620a09eac38f93edc" ], [ "FStar.DM4F.Heap.upd_sel", @@ -551,10 +538,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "FStar.DM4F.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "FStar.DM4F.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "data_elim_FStar.DM4F.Heap.Mkheap_rec", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", @@ -564,18 +551,15 @@ "equation_FStar.DM4F.Heap.upd_tot", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.dfst", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Heap.heap_rec", "fuel_guarded_inversion_FStar.DM4F.Heap.ref", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_664108a24ad715e0e5a487617e29ce22", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", + "interpretation_Tm_abs_00dcb66422c047411c56ed636a2a5e29", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", @@ -586,21 +570,22 @@ "proj_equation_Prims.Mkdtuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_aa50885da3bdac168a5f745489f9c563", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_362efaaab06ef38cf99d70b488c82196", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.DM4F.Heap.__proj__Mkref__item__addr", "typing_FStar.DM4F.Heap.contains_a_well_typed", "typing_FStar.DM4F.Heap.sel", "typing_FStar.DM4F.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_664108a24ad715e0e5a487617e29ce22", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_00dcb66422c047411c56ed636a2a5e29", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "a5c0532139515d57902fa602eb973125" + "055aef8111d866c09ba513559e122b7a" ], [ "FStar.DM4F.Heap.emp", @@ -609,28 +594,29 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.DM4F.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "FStar.DM4F.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_Prims.nat", "function_token_typing_Prims.nat", + "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.DM4F.Heap.Mkheap_rec_memory", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "d7e81d162c0ef056fde08692bf2ec7d4" + "14d33d25cfc1db3e955f5bf5a487f39b" ], [ "FStar.DM4F.Heap.in_dom_emp", @@ -639,29 +625,30 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.DM4F.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "FStar.DM4F.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.DM4F.Heap.contains", "equation_FStar.DM4F.Heap.emp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Heap.ref", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.DM4F.Heap.ref", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.DM4F.Heap.Mkheap_rec_memory", "proj_equation_FStar.DM4F.Heap.Mkref_addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_memory", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.DM4F.Heap.__proj__Mkref__item__addr", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "4ca870c6d05553512af304385f9b0c3b" + "10d7e2adc81e6b25a9fb96b129377900" ], [ "FStar.DM4F.Heap.upd_contains", @@ -670,14 +657,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "FStar.DM4F.Heap_interpretation_Tm_arrow_55a6e6110f29d805916232f31487f65d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.DM4F.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "FStar.DM4F.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.DM4F.Heap_interpretation_Tm_arrow_d67e5ce55bfb8c33c13e6fea4a72c35a", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.DM4F.Heap.Mkheap_rec", "data_elim_FStar.DM4F.Heap.Mkref", "data_elim_FStar.Pervasives.Native.Some", @@ -686,10 +672,9 @@ "equation_FStar.DM4F.Heap.addr_of", "equation_FStar.DM4F.Heap.contains", "equation_FStar.DM4F.Heap.contains_a_well_typed", - "equation_FStar.DM4F.Heap.emp", "equation_FStar.DM4F.Heap.heap", - "equation_FStar.DM4F.Heap.upd", "equation_FStar.DM4F.Heap.upd_tot", + "equation_FStar.DM4F.Heap.heap", "equation_FStar.DM4F.Heap.upd", + "equation_FStar.DM4F.Heap.upd_tot", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.dfst", "equation_Prims.logical", "equation_Prims.nat", @@ -698,14 +683,10 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Prims.dtuple2", "function_token_typing_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_FStar.DM4F.Heap.emp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "int_inversion", "int_typing", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_664108a24ad715e0e5a487617e29ce22", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c8b9f9e6e649d714276ebb48b8c421d4", + "function_token_typing_Prims.logical", "int_inversion", + "interpretation_Tm_abs_00dcb66422c047411c56ed636a2a5e29", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_bd95ed204d090b6f3c8a971f59c6521f", "kinding_Prims.dtuple2@tok", "lemma_FStar.DM4F.Heap.contains_a_well_typed_implies_contains", "lemma_FStar.DM4F.Heap.contains_addr_of", @@ -713,31 +694,30 @@ "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "proj_equation_FStar.DM4F.Heap.Mkheap_rec_memory", - "proj_equation_FStar.DM4F.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.DM4F.Heap.Mkref_addr", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Prims.Mkdtuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_aa50885da3bdac168a5f745489f9c563", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_362efaaab06ef38cf99d70b488c82196", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", + "typing_FStar.DM4F.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.DM4F.Heap.contains_a_well_typed", "typing_FStar.DM4F.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_664108a24ad715e0e5a487617e29ce22", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65", - "typing_Tm_abs_c8b9f9e6e649d714276ebb48b8c421d4" + "typing_Tm_abs_00dcb66422c047411c56ed636a2a5e29", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "typing_Tm_abs_bd95ed204d090b6f3c8a971f59c6521f" ], 0, - "f9fb3e6ee7d651b43aabc869b7bea1a0" + "3cc2888dcd8c7bd1861c7ae865058460" ], [ "FStar.DM4F.Heap.upd_contains_a_well_typed", @@ -746,14 +726,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "FStar.DM4F.Heap_interpretation_Tm_arrow_55a6e6110f29d805916232f31487f65d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.DM4F.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "FStar.DM4F.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "FStar.DM4F.Heap_interpretation_Tm_arrow_d67e5ce55bfb8c33c13e6fea4a72c35a", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.DM4F.Heap.Mkheap_rec", "data_elim_FStar.DM4F.Heap.Mkref", "data_elim_FStar.Pervasives.Native.Some", @@ -762,10 +741,9 @@ "equation_FStar.DM4F.Heap.addr_of", "equation_FStar.DM4F.Heap.contains", "equation_FStar.DM4F.Heap.contains_a_well_typed", - "equation_FStar.DM4F.Heap.emp", "equation_FStar.DM4F.Heap.heap", - "equation_FStar.DM4F.Heap.upd", "equation_FStar.DM4F.Heap.upd_tot", + "equation_FStar.DM4F.Heap.heap", "equation_FStar.DM4F.Heap.upd", + "equation_FStar.DM4F.Heap.upd_tot", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.dfst", "equation_Prims.logical", "equation_Prims.nat", @@ -774,14 +752,10 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Prims.dtuple2", "function_token_typing_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_FStar.DM4F.Heap.emp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "int_inversion", "int_typing", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_664108a24ad715e0e5a487617e29ce22", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c8b9f9e6e649d714276ebb48b8c421d4", + "function_token_typing_Prims.logical", "int_inversion", + "interpretation_Tm_abs_00dcb66422c047411c56ed636a2a5e29", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_bd95ed204d090b6f3c8a971f59c6521f", "kinding_Prims.dtuple2@tok", "lemma_FStar.DM4F.Heap.contains_a_well_typed_implies_contains", "lemma_FStar.DM4F.Heap.contains_addr_of", @@ -789,31 +763,30 @@ "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "proj_equation_FStar.DM4F.Heap.Mkheap_rec_memory", - "proj_equation_FStar.DM4F.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.DM4F.Heap.Mkref_addr", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Prims.Mkdtuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.DM4F.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_aa50885da3bdac168a5f745489f9c563", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_362efaaab06ef38cf99d70b488c82196", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.DM4F.Heap.__proj__Mkheap_rec__item__memory", + "typing_FStar.DM4F.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.DM4F.Heap.contains_a_well_typed", "typing_FStar.DM4F.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_664108a24ad715e0e5a487617e29ce22", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65", - "typing_Tm_abs_c8b9f9e6e649d714276ebb48b8c421d4" + "typing_Tm_abs_00dcb66422c047411c56ed636a2a5e29", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "typing_Tm_abs_bd95ed204d090b6f3c8a971f59c6521f" ], 0, - "f806cfa17526c06161b82b4c25533cc5" + "26234df3ad0afdd3198b381b6ffb5334" ], [ "FStar.DM4F.Heap.modifies", @@ -823,11 +796,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d366bb17631caff0cd95824ee4f6f8f2" + "580629ec29c11687ad24dcdf24ff14cf" ], [ "FStar.DM4F.Heap.modifies", @@ -835,16 +808,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "40535380ca10a0b53f235dfe2e63aa4d" + "eb0d9911c8702dbadde46ea3b15e461e" ], [ "FStar.DM4F.Heap.lemma_modifies_trans", @@ -852,16 +822,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "311ca31e411c7abb2740a2540cca0244" + "4f8ab3d2bd052e63d92368f62f4dcd9c" ], [ "FStar.DM4F.Heap.lemma_modifies_trans", @@ -869,16 +836,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fb53d0d75659ff8a65ab9b78b22acddb" + "08a7e17c2d631ec9d68afb9249d45315" ], [ "FStar.DM4F.Heap.lemma_modifies_trans", @@ -886,22 +850,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.DM4F.Heap.addr_of", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Heap.ref", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.addr_of", "typing_FStar.Set.mem", "typing_FStar.Set.union" ], 0, - "f8f3623d82f87b95a98128368f5cd4dd" + "7789bbd5fded42d1abea68c8014be36e" ], [ "FStar.DM4F.Heap.lemma_sel_tot_is_sel_if_contains_a_well_typed", @@ -911,13 +874,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.DM4F.Heap.sel", "equation_Prims.logical", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", "typing_FStar.DM4F.Heap.contains_a_well_typed", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "c7f1454e0eff942895f019a7d9c30e9d" + "1426dda2522341312dea7dbdd955fe96" ], [ "FStar.DM4F.Heap.lemma_upd_tot_is_upd_if_contains_a_well_typed", @@ -927,13 +890,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.DM4F.Heap.upd", "equation_Prims.logical", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", "typing_FStar.DM4F.Heap.contains_a_well_typed", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "8f0879a09e97543f88f57c69dd75f920" + "6d8028e981ac8d705b00f9ad524d65eb" ], [ "FStar.DM4F.Heap.op_Hat_Plus_Plus", @@ -941,16 +904,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "af39da6e38ba9d0f99d58402191fea48" + "0692a7b97faf1972dfef4e6a9153ed56" ], [ "FStar.DM4F.Heap.op_Hat_Plus_Plus", @@ -960,11 +920,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fa1b395e6701efa0d4baed27a830856d" + "747f74ea7ca71f856aa3c56db0c95d1b" ], [ "FStar.DM4F.Heap.op_Hat_Plus_Plus", @@ -974,11 +934,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9aa889d25481e5207f38f926884d3431" + "922aa1820f1013db03716792a3479227" ], [ "FStar.DM4F.Heap.op_Plus_Plus_Hat", @@ -986,16 +946,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3f803d394facfc53962a5170bbd0f712" + "68fa191913b392375e25f9395e31a7c2" ], [ "FStar.DM4F.Heap.op_Plus_Plus_Hat", @@ -1005,11 +962,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7f34850dc5637fbedf7579e997c48664" + "39f98231f242702d9ec1dbd1abc07744" ], [ "FStar.DM4F.Heap.op_Plus_Plus_Hat", @@ -1019,11 +976,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "92fb70ca498a0568e6fb1ee348c17ad7" + "f2c17bf8c82d76899af1dec485983e80" ], [ "FStar.DM4F.Heap.op_Hat_Plus_Hat", @@ -1033,11 +990,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4ceb11218ded60595418d7cd2c0f9585" + "b1d49771a7931704af978ab09211543f" ], [ "FStar.DM4F.Heap.op_Hat_Plus_Hat", @@ -1047,11 +1004,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "53de52e291fe200d45ee6a9ae19d2ca5" + "a1965354c6c20df59da94ee13de068b4" ], [ "FStar.DM4F.Heap.compare_addrs", @@ -1061,11 +1018,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bf7f1fa69bae3993c824d234c78378c9" + "a6acc0548804fe242a6db7b43e131698" ], [ "FStar.DM4F.Heap.contains_addr_of", @@ -1075,11 +1032,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "13762562629a7230fec84bb3b27833a2" + "4178c5b6d8586a5e2f3bdbc145f20d87" ], [ "FStar.DM4F.Heap.fresh", @@ -1089,11 +1046,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "97cf540beffec9fcc36e47569502c8e9" + "f03aefd83b1adeecf23a86d772ec8f6f" ], [ "FStar.DM4F.Heap.fresh", @@ -1103,11 +1060,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "45b458f5e7223fff0a072d5a178ae2f9" + "68e7e604cee353dda3073af6b0935265" ], [ "FStar.DM4F.Heap.fresh", @@ -1117,11 +1074,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8e2da0a962de0d2d30fc11275f94676f" + "bb09f3d13d0137bc7ee0b0a4f3057235" ], [ "FStar.DM4F.Heap.only", @@ -1131,11 +1088,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c676e3c9ab497657beb489ad005e6ebd" + "7bd6eacdf2f32113e755c219a6a1360f" ], [ "FStar.DM4F.Heap.only", @@ -1145,11 +1102,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0265fe52fcdf2cd8c0fa6ca7eebbefa7" + "4cc3a7931d74815166d967eb3202fdf6" ], [ "FStar.DM4F.Heap.sel_same_addr_of", @@ -1157,16 +1114,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "981f50fd6679cfec1f491ac667e5b1d5" + "a1cdada1bd03de0eea5f6a6c5b2e02bb" ], [ "FStar.DM4F.Heap.sel_upd1", @@ -1174,16 +1128,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "709e9b8cf0cbc8a2f9f27e025c932f92" + "623083aa765e865aad53e07fdf2d4347" ], [ "FStar.DM4F.Heap.sel_upd2", @@ -1193,11 +1144,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "469a017c0c8728471af168efab202a1d" + "34c22f04ffe72f07f9f120da67642136" ], [ "FStar.DM4F.Heap.modifies", @@ -1207,11 +1158,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1e30253b7355304a188bc5a6b0adc507" + "2f6d3ea17fb5f3208b2799cb00c8f040" ], [ "FStar.DM4F.Heap.modifies", @@ -1219,16 +1170,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "19248f400c83815b8a438a84a7475ef2" + "6f622808655af750e69c776611d8cc76" ], [ "FStar.DM4F.Heap.modifies", @@ -1238,11 +1186,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "44d520670b3bbbe919491cd9155af9b1" + "9093983893c4e01197d82f4254de7681" ], [ "FStar.DM4F.Heap.lemma_modifies_trans", @@ -1250,16 +1198,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "52f261e9bf652ec7d36530519b0c3c82" + "f37728514c0f097c2bbcaff62a687dca" ], [ "FStar.DM4F.Heap.op_Hat_Plus_Plus", @@ -1269,11 +1214,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c15f37c49706ead2ca45bfe335a23f73" + "48e98143f14f560ac1179273a3112dd3" ], [ "FStar.DM4F.Heap.op_Hat_Plus_Plus", @@ -1283,11 +1228,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7276adb5d01a87e5bbbf376e8748057d" + "fc6f31af7b8234709765613c4ee05ceb" ], [ "FStar.DM4F.Heap.op_Hat_Plus_Plus", @@ -1295,16 +1240,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "781f3228be628ba26a0baba8b372cfc7" + "a811b430fa606545a7ea0323fa0f1063" ], [ "FStar.DM4F.Heap.op_Plus_Plus_Hat", @@ -1314,11 +1256,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8d75300e31ebaf29d57073b313c88d98" + "0db244321d834e8f7ddcb64d9e3ba21a" ], [ "FStar.DM4F.Heap.op_Plus_Plus_Hat", @@ -1328,11 +1270,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ac8683c108011b98d0c8a47befb47604" + "36d538f5b2531327fb69391ac9cfbb34" ], [ "FStar.DM4F.Heap.op_Plus_Plus_Hat", @@ -1340,16 +1282,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3ae43363761b2a748550aa25ba4f243c" + "ee48881f5c0e55190ca7abccfc919be8" ], [ "FStar.DM4F.Heap.op_Hat_Plus_Hat", @@ -1359,11 +1298,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "17e29366bf83e4921c310b716615d9c7" + "094a4910367c3269973b9f05414f3017" ], [ "FStar.DM4F.Heap.op_Hat_Plus_Hat", @@ -1373,11 +1312,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6330dafa118508dcf7fce7169f863770" + "95995b885559dff3218b24ec64a6d5ee" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.IFC.fst.hints b/examples/dm4free/FStar.DM4F.IFC.fst.hints index 37bb5f0ba30..e3fcf5ea5c1 100644 --- a/examples/dm4free/FStar.DM4F.IFC.fst.hints +++ b/examples/dm4free/FStar.DM4F.IFC.fst.hints @@ -8,8 +8,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IFC_interpretation_Tm_arrow_4fdb0ab0c7e9da3107de701807750e02", - "FStar.DM4F.IFC_interpretation_Tm_arrow_6b8412e65fdf5b2d1cd9400a44aba2da", + "FStar.DM4F.IFC_interpretation_Tm_arrow_5e74331ece5915e55d8f952a33f0c3fd", + "FStar.DM4F.IFC_interpretation_Tm_arrow_8149d865425f388a584b6c9b45ca899c", "FStar.DM4F.IFC_pretyping_ec0bb0f1bf3d1d6b39e57751a23ec047", "bool_inversion", "bool_typing", "data_typing_intro_FStar.DM4F.IFC.High@tok", @@ -21,7 +21,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "a68aebe8fdcf9ef59e7dcfc7826d43a6" + "11a69cfe42ad6aaf7dc1aa81ef03036d" ], [ "FStar.DM4F.IFC.join", @@ -30,7 +30,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "78f11ff74be05859bb16ec0069aa572f" + "7fb5230419f14aedc095ab85640e0d7c" ], [ "FStar.DM4F.IFC.flows", @@ -39,7 +39,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "4adb6b47b67a9b4895b03e11f6b9c807" + "dd634a5e3227f3cfcc63d6ede2357160" ], [ "FStar.DM4F.IFC._dm4f_IFC_bind_wp", @@ -60,7 +60,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "00adabdf3ff5eeea50a7f8c7ba966a30" + "b46961809db3d15e2ba308ddf4ecedd8" ], [ "FStar.DM4F.IFC._dm4f_IFC___proj__IFC__item__read_elab", @@ -69,7 +69,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "a3d8b4f7874458b7ec0ad58e7b0e158b" + "cb93498f38f418f262dfb73367cd7c8c" ], [ "FStar.DM4F.IFC._dm4f_IFC___proj__IFC__item__read_complete_type", @@ -78,7 +78,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "e2c929bdbad815fca6238ce9d6023bcd" + "f67ade3e20a634f3969c6813789d5217" ], [ "FStar.DM4F.IFC._dm4f_IFC___proj__IFC__item__write_elab", @@ -87,7 +87,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "0519805ded6b42ed5b75d01aef538e82" + "8fc0b625e13f4003709ffe9027c59211" ], [ "FStar.DM4F.IFC._dm4f_IFC___proj__IFC__item__write_complete_type", @@ -96,7 +96,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "478dadae9c6a835ed4335dc6bb08d667" + "9c77d6d85e95190e29fdb7230500d717" ], [ "FStar.DM4F.IFC.IFC", @@ -105,7 +105,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "8388362e5ab370e12fe8bc793c4efbee" + "15a1d83b566f1e5f205b0fdbb5cc11e4" ], [ "FStar.DM4F.IFC.IFC", @@ -114,7 +114,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "f9d3fd7bea17bc162d5270acd890fce8" + "c0af1f56d51be041f248b4003837be15" ], [ "FStar.DM4F.IFC.IFC", @@ -123,7 +123,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "c3f2e75cb44de57166c535a78a851665" + "b534d94be30dd99a8616c4fa146a75d2" ], [ "FStar.DM4F.IFC.IFC", @@ -132,7 +132,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "2a1f0517d19022c72789a2a03923a3e8" + "bc840054cdf7add074889125631f7fd4" ], [ "FStar.DM4F.IFC.IFC", @@ -141,7 +141,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "7adffb60780f8d9a46e8508221df35d5" + "fc54b3e7f8fb13da3c0ccebf8587dfe2" ], [ "FStar.DM4F.IFC.IFC", @@ -150,7 +150,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "6180a00e543aca33560e93ad08853fd4" + "c53a6bcbfc31bef327f6ef09aad08742" ], [ "FStar.DM4F.IFC.p", @@ -172,7 +172,7 @@ "typing_tok_FStar.DM4F.IFC.Low@tok", "unit_typing" ], 0, - "2e6e913a2add97ea1772a33410a3f35c" + "fa2ce987bf4fb8a9e91b68d5bb029a1a" ], [ "FStar.DM4F.IFC.p", @@ -195,7 +195,7 @@ "typing_tok_FStar.DM4F.IFC.Low@tok" ], 0, - "42d989b4f079add70437c453d4190302" + "2e8694db610b0a10a2c62c37dbd1acbe" ], [ "FStar.DM4F.IFC.bind_ifc", @@ -204,8 +204,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IFC_interpretation_Tm_arrow_4fdb0ab0c7e9da3107de701807750e02", - "FStar.DM4F.IFC_interpretation_Tm_arrow_6b8412e65fdf5b2d1cd9400a44aba2da", + "FStar.DM4F.IFC_interpretation_Tm_arrow_5e74331ece5915e55d8f952a33f0c3fd", + "FStar.DM4F.IFC_interpretation_Tm_arrow_8149d865425f388a584b6c9b45ca899c", "FStar.DM4F.IFC_pretyping_ec0bb0f1bf3d1d6b39e57751a23ec047", "bool_inversion", "bool_typing", "data_typing_intro_FStar.DM4F.IFC.High@tok", @@ -217,7 +217,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "b98950e14faba23f278ad988d3860814" + "1dfbe778086b6433d011425a8df11855" ], [ "FStar.DM4F.IFC.join", @@ -226,7 +226,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "6014045db4417de2601d9a21b776edab" + "17c92b82efec92908706f29b417c6c2c" ], [ "FStar.DM4F.IFC.flows", @@ -235,7 +235,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "da9af11be324d70b01dba293ceabdd1c" + "956ea54e0e55783780509446e8a2ca3c" ], [ "FStar.DM4F.IFC._dm4f_IFC_bind_wp", @@ -256,7 +256,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e7e1a34ee3768879895d53b970a5f851" + "1ae870901800e133a60c5be38ea734f7" ], [ "FStar.DM4F.IFC._dm4f_IFC___proj__IFC__item__read_elab", @@ -265,7 +265,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "a8b0fedddb7325f5603da8acd6cb8fc9" + "d9b04b046b6964a2a9d16c1d0af4f9c1" ], [ "FStar.DM4F.IFC._dm4f_IFC___proj__IFC__item__read_elab", @@ -274,7 +274,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "6a636689188f2060aa174512e7c31647" + "cf5e9bfb3749a5a92f6948f9859a63a3" ], [ "FStar.DM4F.IFC._dm4f_IFC___proj__IFC__item__read_complete_type", @@ -283,7 +283,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "5caed8ca9be9e0ee663ae2953c744642" + "f8b82873a8a189a49458640974d35328" ], [ "FStar.DM4F.IFC._dm4f_IFC___proj__IFC__item__write_elab", @@ -292,7 +292,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "94d5fc970206753edb45dfa60b05bcbd" + "8db75e1d33920d655cac60bad3514613" ], [ "FStar.DM4F.IFC._dm4f_IFC___proj__IFC__item__write_elab", @@ -301,7 +301,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "c98f29db8c5c3aa156ba1221bf8fb668" + "d96ed0911aed05414739965dd13a6ea0" ], [ "FStar.DM4F.IFC._dm4f_IFC___proj__IFC__item__write_complete_type", @@ -310,7 +310,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "6bbfbcc7d55f03de387edb94b50957e8" + "f1fb8c266e3d7d38ea3c5a3354a13367" ], [ "FStar.DM4F.IFC.IFC", @@ -319,7 +319,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "be06f6fec74b37d8f9766c2ad17fa2b0" + "b074349a3d106a3b8e3151a37265b263" ], [ "FStar.DM4F.IFC.IFC", @@ -328,7 +328,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "3c7c51372052b922cc3eaf72ef200b1a" + "d31ae21ced42fe75ec3f4af81a69be61" ], [ "FStar.DM4F.IFC.IFC", @@ -337,7 +337,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "022c6cd8263078b432be80766db766e3" + "88de2df393c766e111ca83f5474dbde5" ], [ "FStar.DM4F.IFC.IFC", @@ -346,7 +346,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "902f2872e714cbb87da4a322639241bf" + "94d7e36d84a6e4877e757b75aed6dbc2" ], [ "FStar.DM4F.IFC.IFC", @@ -355,7 +355,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "3330c78756c87b3ab76b933ae37fbe55" + "95c8f88e85198fd3f4ce7e91430ed95f" ], [ "FStar.DM4F.IFC.IFC", @@ -364,7 +364,7 @@ 1, [ "@query", "assumption_FStar.DM4F.IFC.label__uu___haseq" ], 0, - "9a09ad75a1c40e1962b8fa0a43e18eb6" + "4621ba55a10e5c8bed59cd82a3b65c2f" ], [ "FStar.DM4F.IFC.p", @@ -387,7 +387,7 @@ "typing_tok_FStar.DM4F.IFC.Low@tok" ], 0, - "40dff25e8a1b10c13b20cf3308820f0e" + "ec560f7013538b54b3626828d9a8f9e7" ], [ "FStar.DM4F.IFC.p", @@ -409,7 +409,7 @@ "typing_tok_FStar.DM4F.IFC.Low@tok", "unit_typing" ], 0, - "f58dcae2afa41006ef366315bb4e8279" + "0da763dde463f0736d9eaca099435e12" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.IntST.fst.hints b/examples/dm4free/FStar.DM4F.IntST.fst.hints index 69f9e15c736..27c0b579600 100644 --- a/examples/dm4free/FStar.DM4F.IntST.fst.hints +++ b/examples/dm4free/FStar.DM4F.IntST.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d370c15dc8753fb7c0a483e352ef69de" + "706777dc4ecd78b860f2c0dfeda64896" ], [ "FStar.DM4F.IntST._dm4f_STINT___proj__STINT__item__put_elab", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "976b58b76e9784f7930ad067b24cf730" + "0915140fdd5f5ed8615cbe013407d72d" ], [ "FStar.DM4F.IntST.STINT", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "c019d043086046b0d1dd6e1ad2c0d84f" + "735cfd353b68971d15a6cd58c3ac11bb" ], [ "FStar.DM4F.IntST.STINT", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "73f7b9db73c39fdd0688c3105b162903" + "c89d242feaf0ced447f49f2946dc2e29" ], [ "FStar.DM4F.IntST.incr_intrinsic", @@ -46,7 +46,7 @@ "@query", "int_typing", "primitive_Prims.op_Addition", "unit_typing" ], 0, - "26e09552d1e3b7121696d823ea79a772" + "9484c30d9d26a46bce229835f6ef6930" ], [ "FStar.DM4F.IntST.incr_intrinsic'", @@ -58,7 +58,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e79210603c4c94da0fed7147856b4245" + "f969f6b5dd9d2f3d31c202db3ee0b79a" ], [ "FStar.DM4F.IntST.incr_increases", @@ -75,10 +75,10 @@ "equation_FStar.Pervasives.Native.snd", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -86,7 +86,7 @@ "unit_typing" ], 0, - "eeaac1239293e647ac3e579f9769e91f" + "75e7eccba409756956c3bf8ad82f076d" ], [ "FStar.DM4F.IntST.ni_ifc", @@ -97,32 +97,33 @@ "@MaxIFuel_assumption", "@query", "FStar.DM4F.IntST.__proj__STINT__item__get_equality", "FStar.DM4F.IntST.__proj__STINT__item__put_equality", - "FStar.DM4F.IntST_interpretation_Tm_arrow_d1203a337a238a47a35d4bc5f475fa36", + "FStar.DM4F.IntST_interpretation_Tm_arrow_2f0ea550a9a01b08d152bef225faf73e", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "data_elim_FStar.Pervasives.Native.Mktuple2", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.ifc", "equation_FStar.DM4F.IntST.incr", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_788bc8bd667637c166aa3ff181a7ecff", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_f8c01a29edb01f1019ca798566e073fc", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_7ca25d477a3e0e2f7c64f9fcd444202e", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", + "interpretation_Tm_abs_cd4af824bd65da4276f069890c42565c", + "l_quant_interp_f6a082c6f4d32ff149863a1cac5dc5ca", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_044ca6c3b726f164757d271df7b040e4", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_5cb9baf456c638b9dd0f9af1eaa1a563", "typing_FStar.DM4F.IntST.ifc", "unit_typing" ], 0, - "766cfc5f301f54022394c875ba375cc6" + "8ca284349f9f7e4329b77294f2d4d678" ], [ "FStar.DM4F.IntST.action_get", @@ -131,7 +132,7 @@ 1, [ "@query" ], 0, - "b08863a7e5acb9fd44156be1bd61c9fb" + "d5880c26343a748f1ad01f633daa7227" ], [ "FStar.DM4F.IntST.action_put", @@ -140,7 +141,7 @@ 1, [ "@query" ], 0, - "ab0e372b6eecf80a44a35aea2db8e35a" + "1baf0e76234dc12072d6f0d56b4079ee" ], [ "FStar.DM4F.IntST.assert_after_reify", @@ -152,16 +153,17 @@ "FStar.DM4F.IntST.__proj__STINT__item__get_equality", "FStar.DM4F.IntST.__proj__STINT__item__put_equality", "equation_FStar.DM4F.IntST.incr", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", "primitive_Prims.op_Addition", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "unit_inversion" ], 0, - "17ff7273f3387e8108594415842a52de" + "23f23c81e3a6df2838facff17c43bdc2" ], [ "FStar.DM4F.IntST.reflect_on_the_fly", @@ -170,7 +172,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "39892cfe6e58819043b3a902fca07307" + "f96918dd82c37b93d8df86e66b7d4dbc" ], [ "FStar.DM4F.IntST.refine_st", @@ -187,7 +189,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "c692c77a7b467c1029c7a1e7d500b5fe" + "d1b4e3d674aa410ccfb654601f5066b1" ], [ "FStar.DM4F.IntST.incr_pre_post", @@ -198,7 +200,7 @@ "@query", "int_typing", "primitive_Prims.op_Addition", "unit_typing" ], 0, - "062977f7a265ca6e52cd1a76e1c2d09f" + "45900d08177e66a5cf397be86f63a70b" ], [ "FStar.DM4F.IntST._dm4f_STINT___proj__STINT__item__get_elab", @@ -207,7 +209,7 @@ 1, [ "@query" ], 0, - "b72e7ae2f298d146f32faf96f90f252b" + "2c5cd695e2fb9f73afb491d303bf1a24" ], [ "FStar.DM4F.IntST._dm4f_STINT___proj__STINT__item__put_elab", @@ -216,7 +218,7 @@ 1, [ "@query" ], 0, - "faa2798d7ab91a568ab69491ed22e5a7" + "e58ddb55310dceeffd575178c6f36e80" ], [ "FStar.DM4F.IntST.STINT", @@ -225,7 +227,7 @@ 1, [ "@query" ], 0, - "082647b59bcb8175e02b6c6cfed3289c" + "4b3e6924dff69722857c63fbf1891116" ], [ "FStar.DM4F.IntST.STINT", @@ -234,7 +236,7 @@ 1, [ "@query" ], 0, - "d1e7c1d9379f027443f40241e189d0f1" + "ca5c7326d43a11d800e36a883b6b19f3" ], [ "FStar.DM4F.IntST.incr_intrinsic", @@ -245,7 +247,7 @@ "@query", "int_typing", "primitive_Prims.op_Addition", "unit_typing" ], 0, - "827501795d07a5a5bfc48e48593478eb" + "0141a887f8c81d97b04a796ff471f897" ], [ "FStar.DM4F.IntST.incr_intrinsic'", @@ -257,7 +259,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "de85abb2676a876e65fea4e323ef2ddb" + "ef9708b3325dfcc8026c905ff105ff4d" ], [ "FStar.DM4F.IntST.incr_increases", @@ -274,10 +276,10 @@ "equation_FStar.Pervasives.Native.snd", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -285,7 +287,7 @@ "unit_typing" ], 0, - "c8660d1d7ba7d75c89895430b93eb1d1" + "a3bd897731e7439ebf04f1f832a14964" ], [ "FStar.DM4F.IntST.ni_ifc", @@ -296,32 +298,33 @@ "@MaxIFuel_assumption", "@query", "FStar.DM4F.IntST.__proj__STINT__item__get_equality", "FStar.DM4F.IntST.__proj__STINT__item__put_equality", - "FStar.DM4F.IntST_interpretation_Tm_arrow_d1203a337a238a47a35d4bc5f475fa36", + "FStar.DM4F.IntST_interpretation_Tm_arrow_2f0ea550a9a01b08d152bef225faf73e", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "data_elim_FStar.Pervasives.Native.Mktuple2", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.ifc", "equation_FStar.DM4F.IntST.incr", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_788bc8bd667637c166aa3ff181a7ecff", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_f8c01a29edb01f1019ca798566e073fc", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_7ca25d477a3e0e2f7c64f9fcd444202e", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", + "interpretation_Tm_abs_cd4af824bd65da4276f069890c42565c", + "l_quant_interp_f6a082c6f4d32ff149863a1cac5dc5ca", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_044ca6c3b726f164757d271df7b040e4", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_5cb9baf456c638b9dd0f9af1eaa1a563", "typing_FStar.DM4F.IntST.ifc", "unit_typing" ], 0, - "21d7bcff57bb54c357b1fb92b9737c79" + "4ea99f61f116f42bf5ee3cdf7e05bbba" ], [ "FStar.DM4F.IntST.action_get", @@ -330,7 +333,7 @@ 1, [ "@query" ], 0, - "36b1e09aa387997d9f4bee70e6f20be7" + "972b79ba34b05a33ff236d50539e6eef" ], [ "FStar.DM4F.IntST.action_put", @@ -339,7 +342,7 @@ 1, [ "@query" ], 0, - "c38166f44c48b18cb24407027f67e06e" + "5f93a8ba3c12bc99fe4bd1a23ea14c18" ], [ "FStar.DM4F.IntST.assert_after_reify", @@ -351,16 +354,17 @@ "FStar.DM4F.IntST.__proj__STINT__item__get_equality", "FStar.DM4F.IntST.__proj__STINT__item__put_equality", "equation_FStar.DM4F.IntST.incr", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", "primitive_Prims.op_Addition", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "unit_inversion" ], 0, - "b8f4fc19fbc61d25e1661fee46710dbe" + "2a0c08c62fed4613010c0e75bf959236" ], [ "FStar.DM4F.IntST.reflect_on_the_fly", @@ -369,7 +373,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "46489e2033d811f05b5178899a50b11a" + "9e6c4a13245b23f9dbe4a6473d282d81" ], [ "FStar.DM4F.IntST.refine_st", @@ -386,7 +390,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "8af0df38c8c0014abfcff5ebe3513bec" + "2abb289a7e0cbf9fccb62b36230cc428" ], [ "FStar.DM4F.IntST.incr_pre_post", @@ -397,7 +401,7 @@ "@query", "int_typing", "primitive_Prims.op_Addition", "unit_typing" ], 0, - "6b68b832d886724051fd14825f0555c3" + "1641c5adcca3f8ced5a892ecde72d24e" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.IntStore.fst.hints b/examples/dm4free/FStar.DM4F.IntStore.fst.hints index cee997e1809..9df4963a3bd 100644 --- a/examples/dm4free/FStar.DM4F.IntStore.fst.hints +++ b/examples/dm4free/FStar.DM4F.IntStore.fst.hints @@ -15,7 +15,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "f27dbc132b444d4631c7eb1926b4bc67" + "50f3e51f1de10fdadd5432a53f09b60b" ], [ "FStar.DM4F.IntStore._dm4f_INT_STORE_bind_wp", @@ -31,7 +31,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "c7d45202ac5fe8a1f39087b3bbfea475" + "875140202d5521033d2cbd09eaca746d" ], [ "FStar.DM4F.IntStore._dm4f_INT_STORE___proj__INT_STORE__item__get_elab", @@ -40,7 +40,7 @@ 1, [ "@query" ], 0, - "e90ad47e2bb39b38cb6968351fe6edf1" + "b8f153e481860e09bbf730269c49efe2" ], [ "FStar.DM4F.IntStore._dm4f_INT_STORE___proj__INT_STORE__item__put_elab", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "cc2cd1a5dbfba729ddb1e8084159bca7" + "0e218798a869d071e3bc13b72c9c532b" ], [ "FStar.DM4F.IntStore._dm4f_INT_STORE___proj__INT_STORE__item__raise__elab", @@ -58,7 +58,7 @@ 1, [ "@query" ], 0, - "d919a6e92085e37c056d1f97cdaf3cd3" + "297539b2447dba963c79614875a32e94" ], [ "FStar.DM4F.IntStore.INT_STORE", @@ -67,7 +67,7 @@ 1, [ "@query" ], 0, - "096d160e7eb69eec9c6153a2f2e7db89" + "e5ada36e53879cfd9bd1c814f5554631" ], [ "FStar.DM4F.IntStore.INT_STORE", @@ -76,7 +76,7 @@ 1, [ "@query" ], 0, - "872b93fccb8137cf14dcc9380775fed7" + "49bf163e74b6cd6efe185646a6df3540" ], [ "FStar.DM4F.IntStore.INT_STORE", @@ -85,7 +85,7 @@ 1, [ "@query" ], 0, - "82f0c498551b18eb5bdac3db5809a1ff" + "973ebfe7660919511ff5cc74ec2217cf" ], [ "FStar.DM4F.IntStore.raise_", @@ -102,7 +102,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "32969b9fc02eda5e81425516fdc63ca2" + "9a5dcac10a8d6cd3a7496e2ff2f0afba" ], [ "FStar.DM4F.IntStore.read", @@ -121,7 +121,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "5b95318c06e5506d465193682ea2d83a" + "98c4fa7e6fbe363edb34379576f64e02" ], [ "FStar.DM4F.IntStore.write", @@ -141,7 +141,7 @@ "unit_typing" ], 0, - "e4ec7abb18a90331471b11ed46c74f2d" + "e92a5e2a266b69972b314e62ff10d6c8" ], [ "FStar.DM4F.IntStore.read_tot", @@ -156,7 +156,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "3882d12bef1595091f5698ba99ab70c5" + "5254f60b29c5d35355f0978dfa7d5523" ], [ "FStar.DM4F.IntStore.write_tot", @@ -171,7 +171,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "ef193ccd62e12e185130abcd14fb0c7a" + "9af11500f2280e1c433ce2e6468a8c3b" ], [ "FStar.DM4F.IntStore.total_read_lemma", @@ -180,7 +180,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntStore_interpretation_Tm_arrow_6ad3f1c8dc52c1b7e1939e8968362ad5", + "FStar.DM4F.IntStore_interpretation_Tm_arrow_ca46dacfe97f3e00db4f2581b784fa45", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", @@ -195,12 +195,12 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ebebb2a3c393c36a6030147a17d891da", + "refinement_interpretation_Tm_refine_23a9f4081dd9caf90ad448b496b3081f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.IntStore.in_", "typing_FStar.DM4F.IntStore.read" ], 0, - "96f9b9494712105977db0173c22e36ff" + "f10732f99f740626f619eb2ec450929b" ], [ "FStar.DM4F.IntStore.total_write_lemma", @@ -209,8 +209,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntStore_interpretation_Tm_arrow_19c28c7b0eda35ce273aa5854060c0b6", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.DM4F.IntStore_interpretation_Tm_arrow_356bac7577fce9fd8b176002f95cd8e8", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", @@ -219,19 +218,18 @@ "equation_FStar.DM4F.IntStore.in_", "equation_FStar.DM4F.IntStore.write", "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d0a2f43439878c729044c67d3822e84", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9d979f8d89d517e11b280d817a875789", "typing_FStar.DM4F.IntStore.in_", "typing_FStar.DM4F.IntStore.write", "unit_typing" ], 0, - "0de3a36111c3e05618435b242fb41bdb" + "70ade44f3f94cd4c1feac8220a468fba" ], [ "FStar.DM4F.IntStore.read_write_lemma1", @@ -251,12 +249,12 @@ "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "8dd4e14ad8cb15487149fae2854a6647" + "026053370cc6ee98265208792bca81d3" ], [ "FStar.DM4F.IntStore.bind_is", @@ -272,7 +270,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "277fa08a729e65814350551a81d358f6" + "2c2e2bf20424277ab74b48118239d833" ], [ "FStar.DM4F.IntStore._dm4f_INT_STORE_bind_wp", @@ -288,7 +286,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "ef8e271bbf4c6369b877614838fbbd5e" + "9271b89fdce87eba975a17f7dadbeda5" ], [ "FStar.DM4F.IntStore._dm4f_INT_STORE___proj__INT_STORE__item__get_elab", @@ -297,7 +295,7 @@ 1, [ "@query" ], 0, - "edae9b4960b36f9674cf52f42ca29a32" + "8f3db5f1f28c67dd0763c6a2c95687aa" ], [ "FStar.DM4F.IntStore._dm4f_INT_STORE___proj__INT_STORE__item__put_elab", @@ -306,7 +304,7 @@ 1, [ "@query" ], 0, - "423f752306c83467d20abfcee445b7a2" + "1da7b33f5335785da5b3afb5a5bc7c13" ], [ "FStar.DM4F.IntStore._dm4f_INT_STORE___proj__INT_STORE__item__raise__elab", @@ -315,7 +313,7 @@ 1, [ "@query" ], 0, - "99b32dceedadc85a6bca2f3d1b2eab7f" + "81aba7ebf9d8ef4ded48b6b3e1fade97" ], [ "FStar.DM4F.IntStore.INT_STORE", @@ -324,7 +322,7 @@ 1, [ "@query" ], 0, - "14c847af0dec28442b8e3d57922a1931" + "bd0214fe5d5f93e1fbc1322d19e14e3a" ], [ "FStar.DM4F.IntStore.INT_STORE", @@ -333,7 +331,7 @@ 1, [ "@query" ], 0, - "8c33753039f2245bd40c078abbc9f507" + "5cdda0ddf2a5ffca15aa0376aeff715c" ], [ "FStar.DM4F.IntStore.INT_STORE", @@ -342,7 +340,7 @@ 1, [ "@query" ], 0, - "7e1dc8a6dd185d68b9f0aa9c6c0b783d" + "dc43c628b922f2d0a140f7b59f0cebc3" ], [ "FStar.DM4F.IntStore.raise_", @@ -359,7 +357,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "0f76dd317afb8bf46d32b1e4b458772f" + "995c033cde771d662c993d9dcc38d6b4" ], [ "FStar.DM4F.IntStore.read", @@ -378,7 +376,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "b98de076ac432618d55f9afa129d81bf" + "790d20d95cc0e1eb582542f2c8a545e0" ], [ "FStar.DM4F.IntStore.read", @@ -390,7 +388,7 @@ "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" ], 0, - "c6813fb717d8ea5d7932c9f4bf9190e2" + "3a37698f32b81449d3de0b661d44af88" ], [ "FStar.DM4F.IntStore.write", @@ -410,7 +408,7 @@ "unit_typing" ], 0, - "d27ee5615406697ce76aef4406af5ca3" + "4e83e1f51032dde9c26be36156534f32" ], [ "FStar.DM4F.IntStore.write", @@ -422,7 +420,7 @@ "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" ], 0, - "caa250cfb15448d14bcbd9f837946728" + "fdddc9df378e60a50df27f1bc0384da4" ], [ "FStar.DM4F.IntStore.read_tot", @@ -437,7 +435,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "18b76e866251dba7aa7c0883c81b00da" + "b9deea08570ac97eb4938065b1f0fb19" ], [ "FStar.DM4F.IntStore.read_tot", @@ -449,7 +447,7 @@ "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" ], 0, - "06a65ec152b067391b8ddf5885256f54" + "caecc65dff3a5990d36e86e0f56e60dc" ], [ "FStar.DM4F.IntStore.write_tot", @@ -464,7 +462,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "c2fab02ee5bb24060d4d3727a4a9027c" + "cc091d8e8d36b7be3bdaabacf8466ded" ], [ "FStar.DM4F.IntStore.write_tot", @@ -476,7 +474,7 @@ "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" ], 0, - "591377ddb1580c31d99ba38d5a8db840" + "3787623952d1490ef37e0c49c988e4d3" ], [ "FStar.DM4F.IntStore.read_write_lemma1", @@ -500,7 +498,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "853a1a83f5a2c92bd5e923a54bcb69f8" + "3eb09a5bee2a7b31b0f962ee1bdea3a5" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.IntStoreExcFixed.fst.hints b/examples/dm4free/FStar.DM4F.IntStoreExcFixed.fst.hints index 895fdfd66c6..30448f4ae07 100644 --- a/examples/dm4free/FStar.DM4F.IntStoreExcFixed.fst.hints +++ b/examples/dm4free/FStar.DM4F.IntStoreExcFixed.fst.hints @@ -15,7 +15,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "87a1f9b46ed1c827784585d3765cb4e6" + "b40af9d5d270dcc90529c79b71eb0be6" ], [ "FStar.DM4F.IntStoreExcFixed._dm4f_INT_STORE_EXC_bind_wp", @@ -31,7 +31,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "0ec690c7f79e936d3b476721677d86d4" + "20dcef217bae37bb4d5b8227795aefb5" ], [ "FStar.DM4F.IntStoreExcFixed._dm4f_INT_STORE_EXC___proj__INT_STORE_EXC__item__get_elab", @@ -40,7 +40,7 @@ 1, [ "@query" ], 0, - "81e0ac3ba82e1834d05b0beddb376de4" + "36056fa1ed9a52a54387167d8803ea7b" ], [ "FStar.DM4F.IntStoreExcFixed._dm4f_INT_STORE_EXC___proj__INT_STORE_EXC__item__put_elab", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "bd788567fa1a70b4487389afbeaba974" + "4705782d22a29065966150ca9bb2b310" ], [ "FStar.DM4F.IntStoreExcFixed._dm4f_INT_STORE_EXC___proj__INT_STORE_EXC__item__raise__elab", @@ -58,7 +58,7 @@ 1, [ "@query" ], 0, - "a2e98ddd800f1d0763ee894ac4ec8032" + "4442bf27db2cbd0bb67ac5715fa47cab" ], [ "FStar.DM4F.IntStoreExcFixed.INT_STORE_EXC", @@ -67,7 +67,7 @@ 1, [ "@query" ], 0, - "fccb2da11c5fd44da50b7cbc2ef06d2a" + "9be1eb6d039badca6f2a5c425fad4563" ], [ "FStar.DM4F.IntStoreExcFixed.INT_STORE_EXC", @@ -76,7 +76,7 @@ 1, [ "@query" ], 0, - "e81c60a57e4fb5ed0da0540adef6a435" + "7b9afdf078e693b3a530d2bc14e7c4b8" ], [ "FStar.DM4F.IntStoreExcFixed.INT_STORE_EXC", @@ -85,7 +85,7 @@ 1, [ "@query" ], 0, - "12204ab1c0b2680542143299d042fca4" + "b0fc3405e734d4d3d2ac8d7d47e25700" ], [ "FStar.DM4F.IntStoreExcFixed.raise_", @@ -101,7 +101,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "aa70e2a4b24261d6728cab1c5e61f521" + "cb0cd3633fbd7c64aee4cb6da7ca5a17" ], [ "FStar.DM4F.IntStoreExcFixed.read", @@ -110,7 +110,7 @@ 1, [ "@query" ], 0, - "f3e008de578f20f5e05d93980ea2dfda" + "d1caa82f6ed7cba39ec1cab83cba98d5" ], [ "FStar.DM4F.IntStoreExcFixed.bind_is", @@ -126,7 +126,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "b36748205237d7b36cb4fb41cd3c583c" + "abeae0a06befd7bb2e05d17502f73cc7" ], [ "FStar.DM4F.IntStoreExcFixed._dm4f_INT_STORE_EXC_bind_wp", @@ -142,7 +142,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e6ca1297ac663b23bc6904ee5003d591" + "f0e8f6ee6bea54426409511000b009fc" ], [ "FStar.DM4F.IntStoreExcFixed._dm4f_INT_STORE_EXC___proj__INT_STORE_EXC__item__get_elab", @@ -151,7 +151,7 @@ 1, [ "@query" ], 0, - "29fb9d836849a0e981458a42f00df293" + "f65a4ed8c9c46e16a2fec5b64de842f1" ], [ "FStar.DM4F.IntStoreExcFixed._dm4f_INT_STORE_EXC___proj__INT_STORE_EXC__item__put_elab", @@ -160,7 +160,7 @@ 1, [ "@query" ], 0, - "571bfa9e1a72ae8d2e9917cab72ea5aa" + "3ac659bdd0c8b56172331c4a9f109737" ], [ "FStar.DM4F.IntStoreExcFixed._dm4f_INT_STORE_EXC___proj__INT_STORE_EXC__item__raise__elab", @@ -169,7 +169,7 @@ 1, [ "@query" ], 0, - "7566bb765e8791a3615087ef55857f22" + "fce0cdbadda8979e45e98b3b6a88a547" ], [ "FStar.DM4F.IntStoreExcFixed.INT_STORE_EXC", @@ -178,7 +178,7 @@ 1, [ "@query" ], 0, - "54b1c924a4779fc2a24b25dce2d7fde2" + "7c28c4867ed96229fe0d5c9e89bea855" ], [ "FStar.DM4F.IntStoreExcFixed.INT_STORE_EXC", @@ -187,7 +187,7 @@ 1, [ "@query" ], 0, - "e0046be81907ea9cd314840676c5c035" + "b70ac85b9a057d70cd49caf9a3e4ac07" ], [ "FStar.DM4F.IntStoreExcFixed.INT_STORE_EXC", @@ -196,7 +196,7 @@ 1, [ "@query" ], 0, - "8af65973147691ee68a2ee9bf2fd4e92" + "6edd24a37b47d0e1a0be0de3b5884da8" ], [ "FStar.DM4F.IntStoreExcFixed.raise_", @@ -212,7 +212,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "f5487f9938c9a2f464e4b845896883e1" + "b8b72d2fc7201a62e49727fa28aef0d7" ], [ "FStar.DM4F.IntStoreExcFixed.read", @@ -221,7 +221,7 @@ 1, [ "@query" ], 0, - "a43a0d08bbce595f44329ab1eb8a1e14" + "fe4b50d85b965a9417f6c117f9177476" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.IntStoreFixed.fst.hints b/examples/dm4free/FStar.DM4F.IntStoreFixed.fst.hints index 7e11fb6f692..dc55a344986 100644 --- a/examples/dm4free/FStar.DM4F.IntStoreFixed.fst.hints +++ b/examples/dm4free/FStar.DM4F.IntStoreFixed.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "9d819b9e0f406c40257eaa453c98589a" + "dd3394827eb83d721d72ea3b6ee209c8" ], [ "FStar.DM4F.IntStoreFixed._dm4f_INT_STORE___proj__INT_STORE__item__put_elab", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "d40186d6936354e3b5fd02dfafa36c1d" + "37ff7eb0c0cc3cd78cd52ab44a19ddd1" ], [ "FStar.DM4F.IntStoreFixed.INT_STORE", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "9fec4421ce67fbe8adceadb4f440c1e5" + "7fbd2489dac35931926c5ef2b51e9851" ], [ "FStar.DM4F.IntStoreFixed.INT_STORE", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "7b1a6534f2c9cb005dc8bd0a7a4dd743" + "dd030b4477ab645cb03004b9c2accba1" ], [ "FStar.DM4F.IntStoreFixed.read", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "b3be83eec1032d842ed32e80c1d882ac" + "0446f7673323bf2ccfe101745a5955c0" ], [ "FStar.DM4F.IntStoreFixed.refine_st", @@ -59,7 +59,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "2b04116f0fc88fcc1b9888ee0cd5f8db" + "5e124f8fade84b59ca47dbdebff2a3f4" ], [ "FStar.DM4F.IntStoreFixed._dm4f_INT_STORE___proj__INT_STORE__item__get_elab", @@ -68,7 +68,7 @@ 1, [ "@query" ], 0, - "b255844b05eb7b255498745597713776" + "f624c879a262aaba746b882858cbe5fb" ], [ "FStar.DM4F.IntStoreFixed._dm4f_INT_STORE___proj__INT_STORE__item__put_elab", @@ -77,7 +77,7 @@ 1, [ "@query" ], 0, - "f17b504b492ee9681ddda7c28ccc3884" + "4140017ada3b39ca39a05b0ee2f56053" ], [ "FStar.DM4F.IntStoreFixed.INT_STORE", @@ -86,7 +86,7 @@ 1, [ "@query" ], 0, - "f5189d80daaeafb224eaee0e0e4a07ae" + "82b3f245f51952c473d4727d347ba77e" ], [ "FStar.DM4F.IntStoreFixed.INT_STORE", @@ -95,7 +95,7 @@ 1, [ "@query" ], 0, - "8c0ce587fca3e1fd42ee642c840021e9" + "b3a5785f7be9674f10249c962b0423e9" ], [ "FStar.DM4F.IntStoreFixed.read", @@ -104,7 +104,7 @@ 1, [ "@query" ], 0, - "7b1f660b472257a1ef566139bff616b8" + "3ca1a25f382279dcf3d5873db3586428" ], [ "FStar.DM4F.IntStoreFixed.refine_st", @@ -119,7 +119,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "893fbf1575e9de77559f88501e101653" + "092e3855b9e5f572ef8912312ba90453" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.IntStoreFixedReader.fst.hints b/examples/dm4free/FStar.DM4F.IntStoreFixedReader.fst.hints index 8fd2a29bbbe..78fec290511 100644 --- a/examples/dm4free/FStar.DM4F.IntStoreFixedReader.fst.hints +++ b/examples/dm4free/FStar.DM4F.IntStoreFixedReader.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "7733ea3d00eb32d8a892b2341af86588" + "d7beef748b4382c4455f22cc10634421" ], [ "FStar.DM4F.IntStoreFixedReader.INT_STORE_READER", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "79053c9e04ad6ae7a643bd84320408ab" + "94903623e6012196ef96458f57082908" ], [ "FStar.DM4F.IntStoreFixedReader.read", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "f4bded058300ee1c32922576e99cc4eb" + "74ce54fe6dbc5ba92a48a2ef98634ed2" ], [ "FStar.DM4F.IntStoreFixedReader._dm4f_INT_STORE_READER___proj__INT_STORE_READER__item__get_elab", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "226fbbd6c77f8d11ccedfc5d8e94fcf3" + "dc77081274d078f94330936af5c1098c" ], [ "FStar.DM4F.IntStoreFixedReader.INT_STORE_READER", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "1e7b3740bd5a704b2d0922b07fc76b52" + "c94e75885ee3ab50860d138d7d053a44" ], [ "FStar.DM4F.IntStoreFixedReader.read", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "cb6bf811c9a70801b71fe0a13dc62dbd" + "4df14285b00abd681c1640296cb9fb0c" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.MonadLaws.fst.hints b/examples/dm4free/FStar.DM4F.MonadLaws.fst.hints index a65807cd4d3..101af4ef7b1 100644 --- a/examples/dm4free/FStar.DM4F.MonadLaws.fst.hints +++ b/examples/dm4free/FStar.DM4F.MonadLaws.fst.hints @@ -8,18 +8,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_6dd4b2d408ebb27b698bdc002d931e9e", + "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_a0084ca3a951f68c3110bd0ebd7c60fe", "equation_FStar.DM4F.MonadLaws.bind_st", "equation_FStar.DM4F.MonadLaws.return_st", "equation_FStar.DM4F.MonadLaws.st", "equation_FStar.FunctionalExtensionality.feq", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd", + "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", + "interpretation_Tm_abs_a02c4ab615d86c1fd4d6707b08902221", "token_correspondence_FStar.DM4F.MonadLaws.return_st" ], 0, - "e4c8d826eb245fadbea9111631edb489" + "0730f25bbfa699779ae7b34c34bb109d" ], [ "FStar.DM4F.MonadLaws.left_unit_st", @@ -30,13 +30,13 @@ "@query", "equation_FStar.DM4F.MonadLaws.bind_st", "equation_FStar.DM4F.MonadLaws.return_st", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd", + "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", + "interpretation_Tm_abs_a02c4ab615d86c1fd4d6707b08902221", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "e16081e6b809b7398c8caa4612a584d5" + "d5cb2cc016625e69199153edb7467e92" ], [ "FStar.DM4F.MonadLaws.assoc_st", @@ -46,11 +46,11 @@ [ "@query", "equation_FStar.DM4F.MonadLaws.bind_st", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_23486c87efe59bbb905404a415db766c", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd" + "interpretation_Tm_abs_684e5ffc9fdc1cae7fa344c11aac6e60", + "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b" ], 0, - "0257c3da5e48d827c4df8273131fd1a1" + "b3bfc4e8a005853a679a127f2912eda6" ], [ "FStar.DM4F.MonadLaws.bind_ifc", @@ -59,8 +59,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_78ab778ce57a84cc3a591a19162314cf", - "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_867fb0ec9bbaf080f2680ce5cdc0d2a3", + "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_03d7c8f404a3f17a41fbd38d1795a79e", + "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_05275a1cf51d299be9159781d6b8228d", "FStar.DM4F.MonadLaws_pretyping_eb5d41e13bf746cc49f141ba21a8c7a8", "bool_inversion", "bool_typing", "data_typing_intro_FStar.DM4F.MonadLaws.High@tok", @@ -73,7 +73,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "f3f3edc6bfb239c064696259098d5aa1" + "835b32eea23c912721c0ee4e07a69a6f" ], [ "FStar.DM4F.MonadLaws.left_unit", @@ -82,8 +82,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_78ab778ce57a84cc3a591a19162314cf", - "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_867fb0ec9bbaf080f2680ce5cdc0d2a3", + "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_03d7c8f404a3f17a41fbd38d1795a79e", + "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_05275a1cf51d299be9159781d6b8228d", "FStar.DM4F.MonadLaws_pretyping_eb5d41e13bf746cc49f141ba21a8c7a8", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", @@ -95,8 +95,8 @@ "fuel_guarded_inversion_FStar.DM4F.MonadLaws.label", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_2c3fe88de00766e47a38d5abdf3028bf", - "interpretation_Tm_abs_9632ed42bd4be5d70c1845ffa45db579", + "interpretation_Tm_abs_1654580b2318271d7b329211408eb334", + "interpretation_Tm_abs_6d60449855e44f314114039708e0f80a", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -105,7 +105,7 @@ "typing_FStar.DM4F.MonadLaws.return_ifc" ], 0, - "b4248b5d307ff602a106357f2c2a24c0" + "c149a345c53584242622af0f5dae5bc8" ], [ "FStar.DM4F.MonadLaws.right_unit", @@ -114,7 +114,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_78ab778ce57a84cc3a591a19162314cf", + "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_05275a1cf51d299be9159781d6b8228d", "FStar.DM4F.MonadLaws_pretyping_eb5d41e13bf746cc49f141ba21a8c7a8", "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.DM4F.MonadLaws.High@tok", @@ -126,8 +126,8 @@ "equation_FStar.FunctionalExtensionality.feq", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_2c3fe88de00766e47a38d5abdf3028bf", - "interpretation_Tm_abs_9632ed42bd4be5d70c1845ffa45db579", + "interpretation_Tm_abs_1654580b2318271d7b329211408eb334", + "interpretation_Tm_abs_6d60449855e44f314114039708e0f80a", "kinding_FStar.DM4F.MonadLaws.label@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", @@ -135,7 +135,7 @@ "token_correspondence_FStar.DM4F.MonadLaws.return_ifc" ], 0, - "b66644a58383fe373f05277de7bb0b6e" + "c56470bb3091ebfc69457be4c8b7c48d" ], [ "FStar.DM4F.MonadLaws.associativity", @@ -144,7 +144,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_78ab778ce57a84cc3a591a19162314cf", + "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_05275a1cf51d299be9159781d6b8228d", "FStar.DM4F.MonadLaws_pretyping_eb5d41e13bf746cc49f141ba21a8c7a8", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -161,8 +161,8 @@ "fuel_guarded_inversion_FStar.DM4F.MonadLaws.label", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_2c3fe88de00766e47a38d5abdf3028bf", - "interpretation_Tm_abs_aa4ee50d94978f5403fb7823029875f7", + "interpretation_Tm_abs_1654580b2318271d7b329211408eb334", + "interpretation_Tm_abs_fea701705593963d20006d2dcd055322", "kinding_FStar.DM4F.MonadLaws.label@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", @@ -172,12 +172,12 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__a", "projection_inverse_FStar.Pervasives.Native.Some_v", "typing_FStar.DM4F.MonadLaws.bind_ifc", - "typing_Tm_abs_aa4ee50d94978f5403fb7823029875f7", + "typing_Tm_abs_fea701705593963d20006d2dcd055322", "typing_tok_FStar.DM4F.MonadLaws.High@tok", "typing_tok_FStar.DM4F.MonadLaws.Low@tok" ], 0, - "722f731560082967551ad75b711b0a8a" + "4aedd2f8b1ea1f2f02c6ba5b72f6ca3b" ], [ "FStar.DM4F.MonadLaws.right_unit_st", @@ -186,18 +186,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_6dd4b2d408ebb27b698bdc002d931e9e", + "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_a0084ca3a951f68c3110bd0ebd7c60fe", "equation_FStar.DM4F.MonadLaws.bind_st", "equation_FStar.DM4F.MonadLaws.return_st", "equation_FStar.DM4F.MonadLaws.st", "equation_FStar.FunctionalExtensionality.feq", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd", + "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", + "interpretation_Tm_abs_a02c4ab615d86c1fd4d6707b08902221", "token_correspondence_FStar.DM4F.MonadLaws.return_st" ], 0, - "538e860d2b5712b543db8dc58f34b644" + "38682c8f38bf72569f7375ae76a6599a" ], [ "FStar.DM4F.MonadLaws.left_unit_st", @@ -208,13 +208,13 @@ "@query", "equation_FStar.DM4F.MonadLaws.bind_st", "equation_FStar.DM4F.MonadLaws.return_st", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_8c9aafe4aac684eba6e501bb6160d50b", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd", + "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", + "interpretation_Tm_abs_a02c4ab615d86c1fd4d6707b08902221", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "32ce328c98288ad1cb10d7e9c7fe368e" + "5292c696177ffed63cd2fdd687e2aba9" ], [ "FStar.DM4F.MonadLaws.assoc_st", @@ -224,11 +224,11 @@ [ "@query", "equation_FStar.DM4F.MonadLaws.bind_st", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_23486c87efe59bbb905404a415db766c", - "interpretation_Tm_abs_a077ae057068f89c39e76abbec52dbbd" + "interpretation_Tm_abs_684e5ffc9fdc1cae7fa344c11aac6e60", + "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b" ], 0, - "c921765db334a515fe9172be9b2d9bb0" + "1562fa0661832dd0a61972b3e17df1c3" ], [ "FStar.DM4F.MonadLaws.bind_ifc", @@ -237,8 +237,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_78ab778ce57a84cc3a591a19162314cf", - "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_867fb0ec9bbaf080f2680ce5cdc0d2a3", + "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_03d7c8f404a3f17a41fbd38d1795a79e", + "FStar.DM4F.MonadLaws_interpretation_Tm_arrow_05275a1cf51d299be9159781d6b8228d", "FStar.DM4F.MonadLaws_pretyping_eb5d41e13bf746cc49f141ba21a8c7a8", "bool_inversion", "bool_typing", "data_typing_intro_FStar.DM4F.MonadLaws.High@tok", @@ -251,7 +251,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "058a5930c3ef8334b8539f2e3da9cd32" + "cdf9a75aab3f7eb34434c9764ba7e8ff" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Random.fst.hints b/examples/dm4free/FStar.DM4F.Random.fst.hints index bb31bf609fd..aba455b8402 100644 --- a/examples/dm4free/FStar.DM4F.Random.fst.hints +++ b/examples/dm4free/FStar.DM4F.Random.fst.hints @@ -15,7 +15,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "6d4423befbdb834f39701d4eebfefe9d" + "2f49f62e76d62b0651591c90759c763e" ], [ "FStar.DM4F.Random._dm4f_RAND_bind_wp", @@ -31,7 +31,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "d2c1cce8c51cf9108b5aeeceebf37f74" + "9724497fc888c01683a25ffa0d31d051" ], [ "FStar.DM4F.Random._dm4f_RAND___proj__RAND__item__get_elab", @@ -40,7 +40,7 @@ 1, [ "@query" ], 0, - "2601b88a97d477663e760ff074107def" + "4dcf2779d743da581231564b9fb1dd67" ], [ "FStar.DM4F.Random._dm4f_RAND___proj__RAND__item__put_elab", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "0f1d58dafd436b1400cd03216196c281" + "049e65d1426bfc5e7bdad71cbbcd9b83" ], [ "FStar.DM4F.Random._dm4f_RAND___proj__RAND__item__raise_elab", @@ -58,7 +58,7 @@ 1, [ "@query" ], 0, - "1e7f134f3b4c6e5c9c80a2a720a4519d" + "ea9abde541d5e2e826170c22a0496549" ], [ "FStar.DM4F.Random.RAND", @@ -67,7 +67,7 @@ 1, [ "@query" ], 0, - "e80a1f291e1c24d594a031c74d4bdf6c" + "27f2032c7742b9fdf74126a0f1556dba" ], [ "FStar.DM4F.Random.RAND", @@ -76,7 +76,7 @@ 1, [ "@query" ], 0, - "a293979a95ccf328f187737c453a3a8a" + "f7131a590e273a2df07528c0000640da" ], [ "FStar.DM4F.Random.RAND", @@ -85,7 +85,7 @@ 1, [ "@query" ], 0, - "83474958cda389ab81c74ea8de7570e5" + "66100a6884b74813aac5708989e5b87b" ], [ "FStar.DM4F.Random.sample", @@ -94,7 +94,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "c56ff3bee9c84e8fc6fbb31356cc435c" + "5e73a286015256e139efce86d2ced315" ], [ "FStar.DM4F.Random.sample", @@ -107,7 +107,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "b6bf3d485ab6fb84dff308d1ed1c1187" + "950ad6483e67ef3e13275f6edd7fbc99" ], [ "FStar.DM4F.Random.test_sample_some", @@ -120,7 +120,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a5dfe7cf23a19f3de10c5ae7ca58e7eb" + "eb386e67a3f865deb7fdc5b099535392" ], [ "FStar.DM4F.Random.test_sample_some", @@ -132,7 +132,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "32db4de8ff000ba2a650cd96b468b33c" + "898f060111b72a50ef6f2b89fed72ba4" ], [ "FStar.DM4F.Random.test_sample_none", @@ -141,7 +141,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "5c7b710ea35509d35c0df9dd9697ffd3" + "74df1f03cf914f688df78069de6a264e" ], [ "FStar.DM4F.Random.__proj__Bijection__item__finv", @@ -158,7 +158,7 @@ "token_correspondence_FStar.DM4F.Random.__proj__Bijection__item__f" ], 0, - "f96ddaba4e419e5c61245c903da881a1" + "d170748ec50dfb5ea97023ac8dd344cb" ], [ "FStar.DM4F.Random.inverse", @@ -167,18 +167,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "FStar.DM4F.Random_interpretation_Tm_arrow_ddc1797fe0225acea7509e9e52d69401", "data_elim_FStar.DM4F.Random.Bijection", "fuel_guarded_inversion_FStar.DM4F.Random.bijection", "lemma_FStar.DM4F.Heap.Random.lemma_eq_elim", "proj_equation_FStar.DM4F.Random.Bijection_f", "proj_equation_FStar.DM4F.Random.Bijection_finv", - "refinement_interpretation_Tm_refine_d7b8b1f09ba6d136ef025fb9ed4aacac", + "refinement_interpretation_Tm_refine_bfe76c9e0915429570d222fc2c72fedd", "token_correspondence_FStar.DM4F.Random.__proj__Bijection__item__f", "token_correspondence_FStar.DM4F.Random.__proj__Bijection__item__finv" ], 0, - "b715525409f561fa39c9da456cccbf3b" + "e4f7ec313f2d804e04de4e279c9633b8" ], [ "FStar.DM4F.Random.sum_extensional", @@ -186,16 +186,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Random.sum" ], 0, - "d55d1b515973b683ca7e14cc824c5597" + "347cceb8c6a17ef0da55fea6095ba44d" ], [ "FStar.DM4F.Random.mass", @@ -207,7 +204,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e0f4793974f60ac9ed5a393b48d74e1d" + "81437abc8f5b9b86640dbc97b772f7f7" ], [ "FStar.DM4F.Random.point", @@ -221,7 +218,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "968cac3a78a527a9ae6e91902d87fefb" + "43f4434a932e7c3f7d05c38884d49da8" ], [ "FStar.DM4F.Random.pr_leq", @@ -233,7 +230,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "63a08d87892d20e70db6655b6169d872" + "184ec027508f1caa18ef3204cb540958" ], [ "FStar.DM4F.Random.pr_leq", @@ -242,7 +239,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "FStar.DM4F.Random_interpretation_Tm_arrow_ddc1797fe0225acea7509e9e52d69401", "data_elim_FStar.DM4F.Random.Bijection", "equation_FStar.DM4F.Heap.Random.size", "equation_FStar.DM4F.Random.inverse", @@ -253,11 +250,11 @@ "proj_equation_FStar.DM4F.Random.Bijection_finv", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.DM4F.Random.Bijection_f", - "refinement_interpretation_Tm_refine_d7b8b1f09ba6d136ef025fb9ed4aacac", + "refinement_interpretation_Tm_refine_bfe76c9e0915429570d222fc2c72fedd", "token_correspondence_FStar.DM4F.Random.__proj__Bijection__item__f" ], 0, - "c8859baacc8b2ad4df0afbae3e2b5836" + "166ab24d444855bd508f83e087e1be9b" ], [ "FStar.DM4F.Random.pr_eq", @@ -269,7 +266,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "6fcbe84864d65ce668b32441c866afee" + "7fe052b6f1e00778737348bcb851c1bd" ], [ "FStar.DM4F.Random.pr_eq", @@ -278,24 +275,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.DM4F.Random_interpretation_Tm_arrow_ddc1797fe0225acea7509e9e52d69401", "data_elim_FStar.DM4F.Random.Bijection", "equation_FStar.DM4F.Random.inverse", "equation_FStar.DM4F.Random.mass", "equation_Prims.nat", "fuel_guarded_inversion_FStar.DM4F.Random.bijection", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.DM4F.Heap.Random.lemma_eq_elim", "proj_equation_FStar.DM4F.Random.Bijection_f", "proj_equation_FStar.DM4F.Random.Bijection_finv", "projection_inverse_FStar.DM4F.Random.Bijection_f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d7b8b1f09ba6d136ef025fb9ed4aacac", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_bfe76c9e0915429570d222fc2c72fedd", "token_correspondence_FStar.DM4F.Random.__proj__Bijection__item__f", "typing_FStar.DM4F.Random.mass" ], 0, - "cc476cd9a54bf942e969f3dab896245d" + "c7d451674e5200153dc55b34af4cfa71" ], [ "FStar.DM4F.Random.cond", @@ -307,7 +302,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c11ec3ea17c3efbe034cea31f396bc54" + "cb9e59a73b1f78e099419669d5eacbac" ], [ "FStar.DM4F.Random.cond", @@ -319,7 +314,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3de147d98b9e73efa80aef0c0d47cb16" + "f9d32f4dfdee452a4c3b347de0079b47" ], [ "FStar.DM4F.Random.bind", @@ -335,7 +330,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "136e267caddfcf8b86cadb08720fa36e" + "905308f8e72d178b8ae574b1fe0b75e8" ], [ "FStar.DM4F.Random._dm4f_RAND_bind_wp", @@ -351,7 +346,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "8d65da64a3627555bbc74d353a01d5b8" + "0fc8a2fd5578d0276056bb8a82d84779" ], [ "FStar.DM4F.Random._dm4f_RAND___proj__RAND__item__get_elab", @@ -360,7 +355,7 @@ 1, [ "@query" ], 0, - "63070f83e96ee5722828bdf6f82dfe8c" + "03a4b3a44e9672d5f863af14fb2ee11b" ], [ "FStar.DM4F.Random._dm4f_RAND___proj__RAND__item__put_elab", @@ -369,7 +364,7 @@ 1, [ "@query" ], 0, - "d470a94412422e1fbc980001d4a6c0dd" + "a9ae648ebf27008e870659ff30c31150" ], [ "FStar.DM4F.Random._dm4f_RAND___proj__RAND__item__raise_elab", @@ -378,7 +373,7 @@ 1, [ "@query" ], 0, - "fade6708d4d1463dba58fe45ddb46eab" + "263a80f6f71da5092f474459926d7d02" ], [ "FStar.DM4F.Random.RAND", @@ -387,7 +382,7 @@ 1, [ "@query" ], 0, - "99466def3a2ac0c53b850c2ab6b59584" + "4cbc2a494fa5a7b538fd6fb102cb8494" ], [ "FStar.DM4F.Random.RAND", @@ -396,7 +391,7 @@ 1, [ "@query" ], 0, - "a804e7e4da0e4d24692f674458856053" + "4f8dc650b7ab8959638038ef19adbc45" ], [ "FStar.DM4F.Random.RAND", @@ -405,7 +400,7 @@ 1, [ "@query" ], 0, - "68a881134a9eb1305ebe8dad4d887b37" + "41610a852e1dc178d3edda76198c6f19" ], [ "FStar.DM4F.Random.sample", @@ -418,7 +413,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "42510986996416cb0ebaf69306181281" + "bf659bea2646a4c0e6e210772d0eed67" ], [ "FStar.DM4F.Random.sample", @@ -427,7 +422,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "d479ec09668ee9eceacd7464133f1d1c" + "cd142984601380c85440c36e3602ad18" ], [ "FStar.DM4F.Random.test_sample_some", @@ -439,7 +434,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e423e90738583e76b9e0a97c09f83e09" + "4d06084285a193813288c233e122f593" ], [ "FStar.DM4F.Random.test_sample_some", @@ -448,7 +443,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "cd42a528b4f0a9cb259a0e59a28b677a" + "91311bc664ae7ef9357a9742569f9f06" ], [ "FStar.DM4F.Random.test_sample_some", @@ -460,7 +455,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1fb5226648dbe53cad5ac3e527ae28f4" + "1db4ca3b093939a580a9ad0c773fb43c" ], [ "FStar.DM4F.Random.test_sample_none", @@ -469,7 +464,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "64dd52b16cdf4d67047940b085c94cd0" + "b207900f38c3ea94741ca6918c97bce2" ], [ "FStar.DM4F.Random.__proj__Bijection__item__finv", @@ -486,7 +481,7 @@ "token_correspondence_FStar.DM4F.Random.__proj__Bijection__item__f" ], 0, - "4f30b61833d34a3c72294d5ce7519bb9" + "efa80ce5ff54a7d639d8a46811e2f3f2" ], [ "FStar.DM4F.Random.inverse", @@ -495,18 +490,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "FStar.DM4F.Random_interpretation_Tm_arrow_ddc1797fe0225acea7509e9e52d69401", "data_elim_FStar.DM4F.Random.Bijection", "fuel_guarded_inversion_FStar.DM4F.Random.bijection", "lemma_FStar.DM4F.Heap.Random.lemma_eq_elim", "proj_equation_FStar.DM4F.Random.Bijection_f", "proj_equation_FStar.DM4F.Random.Bijection_finv", - "refinement_interpretation_Tm_refine_d7b8b1f09ba6d136ef025fb9ed4aacac", + "refinement_interpretation_Tm_refine_bfe76c9e0915429570d222fc2c72fedd", "token_correspondence_FStar.DM4F.Random.__proj__Bijection__item__f", "token_correspondence_FStar.DM4F.Random.__proj__Bijection__item__finv" ], 0, - "e0ba6dd1971331733cccc3d82d3a2955" + "912931a0fee4675d6e894f26b5ebf346" ], [ "FStar.DM4F.Random.mass", @@ -518,7 +513,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e2ad1c0fbb53d063603a039853813f76" + "e162b0de4c86afb57a261e48b1cdb502" ], [ "FStar.DM4F.Random.point", @@ -532,7 +527,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9d686ab0719520044b84a999a72cec29" + "65f29c118d833ba9c4cd713b7e060559" ], [ "FStar.DM4F.Random.pr_leq", @@ -544,7 +539,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "691ec5ae4a7e9c460d7343444e8536dd" + "290528903eff344ed1dabd224373a86e" ], [ "FStar.DM4F.Random.pr_eq", @@ -556,7 +551,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0a595908e0fc1b3468137db9d937b209" + "055c887b6c0241081124fc187c46ee81" ], [ "FStar.DM4F.Random.cond", @@ -568,7 +563,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8bcb3868817f10282fa61b6ed9cf8574" + "56ff7daeb411e46bfd6141c786f44ad4" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.ST.fst.hints b/examples/dm4free/FStar.DM4F.ST.fst.hints index b4e3f5a0d67..db1e751e61c 100644 --- a/examples/dm4free/FStar.DM4F.ST.fst.hints +++ b/examples/dm4free/FStar.DM4F.ST.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "cfc6065ecbdc86f476f8453778f58349" + "a33d7dcaf0d05f352184808a0ddff305" ], [ "FStar.DM4F.ST._dm4f_STATE_h___proj__STATE_h__item__put_elab", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "25fddff3f8c30eba2d9c056859181547" + "d5e24ccd4d8da2a76ba01375335c243a" ], [ "FStar.DM4F.ST.STATE_h", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "7b662f6d1f18267ae7fe313c165c7fc7" + "b12d6058a5a40fe28c2c51d43f3e893c" ], [ "FStar.DM4F.ST.STATE_h", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "709669181658fa11d98cc84cb5d6eeef" + "03a43017b30f58f656676eadcd72e2b3" ], [ "FStar.DM4F.ST._dm4f_STATE_h___proj__STATE_h__item__get_elab", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "5199be50abba4196367a6f3a33ca5c1e" + "8edfa2801535f3dd0946160ed011ab06" ], [ "FStar.DM4F.ST._dm4f_STATE_h___proj__STATE_h__item__put_elab", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "1b59b75d33442dede284d1631d90141d" + "633eb417709ea0f23cfa38a5af564442" ], [ "FStar.DM4F.ST.STATE_h", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "0ecbe98c9c3b631537ba0020f60174db" + "e099b2b6cace5906297e47bade099386" ], [ "FStar.DM4F.ST.STATE_h", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "f1ea437ac539b7a4b979b396f8ede3e2" + "c7aa84d5635743bfdbdf18fbb016f7be" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.StExn.fst.hints b/examples/dm4free/FStar.DM4F.StExn.fst.hints index 6e2447795e8..4ab55e9c0d3 100644 --- a/examples/dm4free/FStar.DM4F.StExn.fst.hints +++ b/examples/dm4free/FStar.DM4F.StExn.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.StExn_interpretation_Tm_arrow_52994bb0275470a0caf2252ea6901b0a", + "FStar.DM4F.StExn_interpretation_Tm_arrow_0e9d2ce21210024c64d270958ff1fc12", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -21,7 +21,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "47d1371bde216a351780fc9989bb810a" + "3c3933e2e8945833c6a377a2cf4c64b2" ], [ "FStar.DM4F.StExn._dm4f_STEXN_bind_wp", @@ -40,7 +40,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "6160056a6f1fc94b297ae4468565e29a" + "1b97cf2d4b0778e2521c873f7547f11e" ], [ "FStar.DM4F.StExn._dm4f_STEXN___proj__STEXN__item__get_elab", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "d7ae5f62d6f9848ff41ba374fe8f8ad7" + "47cc943d27a47ecd10cf532e3fb66a22" ], [ "FStar.DM4F.StExn._dm4f_STEXN___proj__STEXN__item__put_elab", @@ -58,7 +58,7 @@ 1, [ "@query" ], 0, - "6412b1391da07acbbc0218c69b250351" + "cad3f6562b5d4dcdd96477d10292c4be" ], [ "FStar.DM4F.StExn._dm4f_STEXN___proj__STEXN__item__raise_elab", @@ -67,7 +67,7 @@ 1, [ "@query" ], 0, - "82070dcdd109c3bff20397c6c2cfa391" + "fb9b4137087b6a995da3934c6d4a94b4" ], [ "FStar.DM4F.StExn.STEXN", @@ -76,7 +76,7 @@ 1, [ "@query" ], 0, - "61f4492b2875de76ae50a7f007f3ad3d" + "69d63d0e2719d602966bf33ff98e91d0" ], [ "FStar.DM4F.StExn.STEXN", @@ -85,7 +85,7 @@ 1, [ "@query" ], 0, - "8d6f790ae54207d37fe9824fc3e40674" + "b2e17cc44d188900abc860f084bdf686" ], [ "FStar.DM4F.StExn.STEXN", @@ -94,7 +94,7 @@ 1, [ "@query" ], 0, - "62c7faba84bb4ba3b30c7eb85dc7e239" + "0dbf81229008e16dde3cde81f6f8e293" ], [ "FStar.DM4F.StExn.div_intrinsic", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4804912b14fc8e65057df6b6af7d283e" + "5f4747ce46c79db91a92fa14845eb3ab" ], [ "FStar.DM4F.StExn.div_intrinsic", @@ -138,7 +138,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3144d4216f06f3da40e7083896700467" + "a10b356a1d88050a1cdbf5d408d15ba8" ], [ "FStar.DM4F.StExn.div_extrinsic", @@ -149,7 +149,7 @@ "@query", "assumption_Prims.HasEq_int", "primitive_Prims.op_Equality" ], 0, - "0f0ed0d70c032d4647c1e9b0427a8a36" + "c27dd67ee58563022753e8f1309c06c8" ], [ "FStar.DM4F.StExn.lemma_div_extrinsic", @@ -159,7 +159,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.DM4F.StExn.__proj__STEXN__item__raise_equality", - "FStar.DM4F.StExn_interpretation_Tm_arrow_c9355b1514fa231f684f1a75c0c05225", + "FStar.DM4F.StExn_interpretation_Tm_arrow_ed7d5ef17aca87967a2b5b7ec9442926", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -171,26 +171,25 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_23f291c7bf6dca38c3e08436832308c6", - "interpretation_Tm_abs_43c254713b07f66c95c49767010d3551", - "interpretation_Tm_abs_e30d573ee9eb3bf91e2c6a13f11d9fc9", + "interpretation_Tm_abs_48cafc9f08d413b982140a55f2480edf", + "interpretation_Tm_abs_663fa2def9a31c0aaf9fdd394df3438d", + "interpretation_Tm_abs_ebc7050a89f55643c1693d4ce5ac7848", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2f8685f5ec5ae6274cf7f5a786a8a235", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c116bdd19e9e85f9b28d04dc61e36012", "typing_FStar.DM4F.StExn.div_extrinsic", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "94369f9773bf535c84793352125cf345" + "170d42b6f18e4159a85b87a2c76b2ca9" ], [ "FStar.DM4F.StExn.bind", @@ -199,7 +198,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.StExn_interpretation_Tm_arrow_52994bb0275470a0caf2252ea6901b0a", + "FStar.DM4F.StExn_interpretation_Tm_arrow_0e9d2ce21210024c64d270958ff1fc12", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -212,7 +211,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "b6b28f278b80fe7c87941f824d34464f" + "8e92fd9db57ffc8280b7540ebd967743" ], [ "FStar.DM4F.StExn._dm4f_STEXN_bind_wp", @@ -231,7 +230,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "6f028cc81b13866165fcf5e2e6fe6c19" + "f85baca723faaa9930a61cf631e75c4f" ], [ "FStar.DM4F.StExn._dm4f_STEXN___proj__STEXN__item__get_elab", @@ -240,7 +239,7 @@ 1, [ "@query" ], 0, - "c5fc6f65f9f4147ee1542b98dcd84e3f" + "21fcc693ad9951810319d991e4a61ceb" ], [ "FStar.DM4F.StExn._dm4f_STEXN___proj__STEXN__item__put_elab", @@ -249,7 +248,7 @@ 1, [ "@query" ], 0, - "62876abb272462f8551904a79bfa9eed" + "7c2f8179db6171f3e407d6874d74d75c" ], [ "FStar.DM4F.StExn._dm4f_STEXN___proj__STEXN__item__raise_elab", @@ -258,7 +257,7 @@ 1, [ "@query" ], 0, - "e9f3e10e736a2a580e225dd24965813b" + "6c1d94714728e6e32df65f093a86bd39" ], [ "FStar.DM4F.StExn.STEXN", @@ -267,7 +266,7 @@ 1, [ "@query" ], 0, - "1ef196405ddc3cf3c095f44fd2726672" + "ca6f0c4f6f13b1b064244461c9e742b4" ], [ "FStar.DM4F.StExn.STEXN", @@ -276,7 +275,7 @@ 1, [ "@query" ], 0, - "deb6aac459e52de0ffee65bab4956c30" + "c411a0a9b57692a286c4134d6e237667" ], [ "FStar.DM4F.StExn.STEXN", @@ -285,7 +284,7 @@ 1, [ "@query" ], 0, - "ca0d8870ece836c8c3483c1d666c0637" + "f0866c067b85cd257d90ec5777fbdadc" ], [ "FStar.DM4F.StExn.div_intrinsic", @@ -312,7 +311,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3dd40f8aca60d99cf26d3f97d5d41c8b" + "ae649b82f42a053c3907fdecc213aa3f" ], [ "FStar.DM4F.StExn.div_intrinsic", @@ -329,7 +328,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1cbd9bde7fef5daebccc61af41bb7cba" + "0c0813c0651d4a982d4ee29dbe77edac" ], [ "FStar.DM4F.StExn.div_extrinsic", @@ -340,7 +339,7 @@ "@query", "assumption_Prims.HasEq_int", "primitive_Prims.op_Equality" ], 0, - "e89e40923bdf2311f1fd8bfdb7422bf6" + "7eca8bdef99f3b7e29260a0d3a4deb6e" ], [ "FStar.DM4F.StExn.lemma_div_extrinsic", @@ -359,7 +358,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "2f762fd26bb6d49091d87d3aaeaef90f" + "948f0b43c8e2b01713f86215430949a3" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.StExnC.fst.hints b/examples/dm4free/FStar.DM4F.StExnC.fst.hints index 7dd457a0ec6..4b6cc1c20e0 100644 --- a/examples/dm4free/FStar.DM4F.StExnC.fst.hints +++ b/examples/dm4free/FStar.DM4F.StExnC.fst.hints @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.StExnC_interpretation_Tm_arrow_87c209846ab6cd34c740b227ef50c4bf", + "FStar.DM4F.StExnC_interpretation_Tm_arrow_8c94faa02b24d9a28aeef5eeea96d931", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -22,7 +22,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "e345539974b22f1b08c16b40df49bc68" + "5faa3ad3174f8374521012e6240662a8" ], [ "FStar.DM4F.StExnC._dm4f_STEXNC_bind_wp", @@ -42,7 +42,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "22e38abc343ea84eb53d25b5d7be2c8f" + "e1942a0d294bd645661c802dde00d570" ], [ "FStar.DM4F.StExnC._dm4f_STEXNC___proj__STEXNC__item__raise_elab", @@ -51,7 +51,7 @@ 1, [ "@query" ], 0, - "c881ddeaaebbaa72275b4e63282a3801" + "6e53fb79ea751ec93d18d8f329a9a713" ], [ "FStar.DM4F.StExnC.STEXNC", @@ -60,7 +60,7 @@ 1, [ "@query" ], 0, - "c4ddeecf4a9c6f6c146aa864f3435378" + "4870fab7154007e8f9d917619aaef9f9" ], [ "FStar.DM4F.StExnC.div_intrinsic", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5969cdd15f889c5b62014949706d3acd" + "3a23aad1da2ce31bb706bbdbf9e60ef1" ], [ "FStar.DM4F.StExnC.div_intrinsic", @@ -101,7 +101,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "afd14f3d53d5ec8cdd9ba33a99540513" + "59dfb687a53841c7f036e3f60704c46d" ], [ "FStar.DM4F.StExnC.div_extrinsic", @@ -112,7 +112,7 @@ "@query", "assumption_Prims.HasEq_int", "primitive_Prims.op_Equality" ], 0, - "fc88027a4a9300cc1c426e3024678c51" + "b2b08f01b05ee23df3376e8afeb9b114" ], [ "FStar.DM4F.StExnC.lemma_div_extrinsic", @@ -122,7 +122,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.DM4F.StExnC.__proj__STEXNC__item__raise_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", @@ -131,9 +131,9 @@ "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_18abd3378255bc22972ac2641ee74995", - "interpretation_Tm_abs_a47717c5e7e5261c3175c3f26bf18738", - "interpretation_Tm_abs_f3ae886eb803df7e98673f24f8c3a92e", + "interpretation_Tm_abs_2da6c5d88c680daaa46407a57543835d", + "interpretation_Tm_abs_75e397dfef2feec85571dea964ccc7a1", + "interpretation_Tm_abs_b930d8614722094e625ea772ff902211", "kinding_FStar.Pervasives.Native.option@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", @@ -146,12 +146,11 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.uu___is_None" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "61d38512bc5bd24af303f83e867f9017" + "b912a6a2ba5e800cdcc0da832713edab" ], [ "FStar.DM4F.StExnC.bind", @@ -160,7 +159,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.StExnC_interpretation_Tm_arrow_87c209846ab6cd34c740b227ef50c4bf", + "FStar.DM4F.StExnC_interpretation_Tm_arrow_8c94faa02b24d9a28aeef5eeea96d931", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -174,7 +173,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "12996493b6af2081789c7ea1b3f39e2c" + "c7245647ab5a46ca222b73a6fe41bd6c" ], [ "FStar.DM4F.StExnC._dm4f_STEXNC_bind_wp", @@ -194,7 +193,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "fcdb2d59dfe66a1506569fd01707e0f7" + "c3f8670b87b96ed612620bd5fe9773c2" ], [ "FStar.DM4F.StExnC._dm4f_STEXNC___proj__STEXNC__item__raise_elab", @@ -203,7 +202,7 @@ 1, [ "@query" ], 0, - "8c89f7ffd26bd9a066e7906caa528008" + "27460c6b7c8cb0a5549eee95f4e5197a" ], [ "FStar.DM4F.StExnC.STEXNC", @@ -212,7 +211,7 @@ 1, [ "@query" ], 0, - "4657a2f96cc0384f959ce5d98ae1854b" + "60c3d48c55c68ecf1a1caa1da6757c6c" ], [ "FStar.DM4F.StExnC.div_intrinsic", @@ -236,7 +235,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ed5e85803179eeaf92c7493164c60fd5" + "9503c1fa564f007851b2c29811d45284" ], [ "FStar.DM4F.StExnC.div_intrinsic", @@ -253,7 +252,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a78d62aaf208c845dfe0b0f620cde05c" + "cb1beef2eb4d832156dd5cabb1caf011" ], [ "FStar.DM4F.StExnC.div_extrinsic", @@ -264,7 +263,7 @@ "@query", "assumption_Prims.HasEq_int", "primitive_Prims.op_Equality" ], 0, - "da3b36e4c65387a3762afb85e3c4324f" + "c7462dbb08ccb4a69525078059223c61" ], [ "FStar.DM4F.StExnC.lemma_div_extrinsic", @@ -283,9 +282,9 @@ "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_18abd3378255bc22972ac2641ee74995", - "interpretation_Tm_abs_a47717c5e7e5261c3175c3f26bf18738", - "interpretation_Tm_abs_f3ae886eb803df7e98673f24f8c3a92e", + "interpretation_Tm_abs_2da6c5d88c680daaa46407a57543835d", + "interpretation_Tm_abs_75e397dfef2feec85571dea964ccc7a1", + "interpretation_Tm_abs_b930d8614722094e625ea772ff902211", "kinding_FStar.Pervasives.Native.option@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", @@ -296,11 +295,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "8db72bee1fdfc5873de2c774dfabf35e" + "61bd3024c3270f685f0bcbb4995c1d46" ] ] ] \ No newline at end of file diff --git a/examples/dm4free/delimcc.fst.hints b/examples/dm4free/delimcc.fst.hints index 49ac6a09036..7dba9a577de 100644 --- a/examples/dm4free/delimcc.fst.hints +++ b/examples/dm4free/delimcc.fst.hints @@ -10,15 +10,15 @@ "@MaxIFuel_assumption", "@query", "equation_DelimCC.bind_k", "equation_DelimCC.kont", "equation_DelimCC.return_k", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_2fed7cd9250f800c09efac602adcbc2e", - "interpretation_Tm_abs_a20151ebb2c79727bc2df07ea615ed8e", - "interpretation_Tm_abs_d277b337acb848526141695568225a6e", - "refinement_interpretation_Tm_refine_759f304cb17f6310267e6a50a5229213", + "interpretation_Tm_abs_1375cdca81f1057e5eda83d9ff43a016", + "interpretation_Tm_abs_aad36e2eedb2945785e00c618a25bba1", + "interpretation_Tm_abs_dbc241f45b0c6f5a341c51802caa5547", + "refinement_interpretation_Tm_refine_84bbb68e2555b186061c13809014564f", "token_correspondence_DelimCC.return_k", - "typing_Tm_abs_d277b337acb848526141695568225a6e" + "typing_Tm_abs_dbc241f45b0c6f5a341c51802caa5547" ], 0, - "c1e2d8093a6241b2548b2db478f1a5d6" + "2a14d48e88c3fbffd7ef1f7cb1cf3349" ], [ "DelimCC.left_unit", @@ -28,12 +28,12 @@ [ "@query", "equation_DelimCC.bind_k", "equation_DelimCC.return_k", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_2fed7cd9250f800c09efac602adcbc2e", - "interpretation_Tm_abs_a20151ebb2c79727bc2df07ea615ed8e", - "interpretation_Tm_abs_d277b337acb848526141695568225a6e" + "interpretation_Tm_abs_1375cdca81f1057e5eda83d9ff43a016", + "interpretation_Tm_abs_aad36e2eedb2945785e00c618a25bba1", + "interpretation_Tm_abs_dbc241f45b0c6f5a341c51802caa5547" ], 0, - "c447a085d6f20368d31a2fc8c1ae642c" + "ec03954ba86ad17b231702f612457adb" ], [ "DelimCC.associativity", @@ -44,14 +44,14 @@ "@MaxIFuel_assumption", "@query", "equation_DelimCC.bind_k", "equation_DelimCC.kont", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_74c483f4b829068b5fcfbdd6779b10da", - "interpretation_Tm_abs_a20151ebb2c79727bc2df07ea615ed8e", - "interpretation_Tm_abs_d277b337acb848526141695568225a6e", - "refinement_interpretation_Tm_refine_759f304cb17f6310267e6a50a5229213", - "typing_Tm_abs_d277b337acb848526141695568225a6e" + "interpretation_Tm_abs_1375cdca81f1057e5eda83d9ff43a016", + "interpretation_Tm_abs_8fb38370c43370cf173b331103352a1e", + "interpretation_Tm_abs_dbc241f45b0c6f5a341c51802caa5547", + "refinement_interpretation_Tm_refine_84bbb68e2555b186061c13809014564f", + "typing_Tm_abs_dbc241f45b0c6f5a341c51802caa5547" ], 0, - "b044107a44f22102278cfd05cf17a049" + "b92c28f39bfb4f07e5906a7c4c968e35" ], [ "DelimCC.right_unit2", @@ -62,15 +62,15 @@ "@MaxIFuel_assumption", "@query", "equation_DelimCC.bind_k2", "equation_DelimCC.kont2", "equation_DelimCC.return_k2", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_2fed7cd9250f800c09efac602adcbc2e", - "interpretation_Tm_abs_a20151ebb2c79727bc2df07ea615ed8e", - "interpretation_Tm_abs_d277b337acb848526141695568225a6e", - "refinement_interpretation_Tm_refine_e726288f465e790f2e2be351b6c5c83c", + "interpretation_Tm_abs_0de330fc678989ce5861c85495562e0c", + "interpretation_Tm_abs_1e3b98a86efe10c813341778f12f9d1b", + "interpretation_Tm_abs_a210d7a9f583a6ace87f21677d0e5051", + "refinement_interpretation_Tm_refine_08d98d1a6a9f5eaedb943ec6a353e610", "token_correspondence_DelimCC.return_k2", - "typing_Tm_abs_d277b337acb848526141695568225a6e" + "typing_Tm_abs_a210d7a9f583a6ace87f21677d0e5051" ], 0, - "c0a1f2c0d662bd9446288634c8319501" + "7f4c1f174b16c85efa9ffb1a5c4da2f4" ], [ "DelimCC.left_unit2", @@ -80,12 +80,12 @@ [ "@query", "equation_DelimCC.bind_k2", "equation_DelimCC.return_k2", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_2fed7cd9250f800c09efac602adcbc2e", - "interpretation_Tm_abs_a20151ebb2c79727bc2df07ea615ed8e", - "interpretation_Tm_abs_d277b337acb848526141695568225a6e" + "interpretation_Tm_abs_0de330fc678989ce5861c85495562e0c", + "interpretation_Tm_abs_1e3b98a86efe10c813341778f12f9d1b", + "interpretation_Tm_abs_a210d7a9f583a6ace87f21677d0e5051" ], 0, - "6858ef58e48de28b1987334e55b3a854" + "f4fe07042ac980f662ba95424641bbb6" ], [ "DelimCC.associativity2", @@ -96,14 +96,14 @@ "@MaxIFuel_assumption", "@query", "equation_DelimCC.bind_k2", "equation_DelimCC.kont2", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_a20151ebb2c79727bc2df07ea615ed8e", - "interpretation_Tm_abs_c9e5c24ffc78e64388346d542b68606f", - "interpretation_Tm_abs_d277b337acb848526141695568225a6e", - "refinement_interpretation_Tm_refine_e726288f465e790f2e2be351b6c5c83c", - "typing_Tm_abs_d277b337acb848526141695568225a6e" + "interpretation_Tm_abs_0de330fc678989ce5861c85495562e0c", + "interpretation_Tm_abs_4e59e68fcdad5d80a4fa17c66d2981b9", + "interpretation_Tm_abs_a210d7a9f583a6ace87f21677d0e5051", + "refinement_interpretation_Tm_refine_08d98d1a6a9f5eaedb943ec6a353e610", + "typing_Tm_abs_a210d7a9f583a6ace87f21677d0e5051" ], 0, - "990b495ff1746200881f3807d7be3576" + "b90ce22cea9e69d7a0a44ffe49b96192" ], [ "DelimCC.ext", @@ -112,7 +112,7 @@ 1, [ "@query" ], 0, - "688027623507abaf1938153e1a415ac9" + "4556ac513e01757490e0aa8a423955d7" ], [ "DelimCC.left_unit3", @@ -121,7 +121,7 @@ 1, [ "@query" ], 0, - "925dd33cf541136616bed5eaee1aaa27" + "d9a8af3eef04faf7c6857e409ddfb1c1" ], [ "DelimCC.right_unit3", @@ -130,7 +130,7 @@ 1, [ "@query" ], 0, - "de3f2f29a9a9e218e147c0a7e917be12" + "b41de344eab6b842504f03f68d1caf42" ], [ "DelimCC.associativity3", @@ -139,7 +139,7 @@ 1, [ "@query" ], 0, - "cb04bca405261f1c99fc43d351bfebe8" + "223175c58bc16de746e8272198ef65ad" ] ] ] \ No newline at end of file diff --git a/examples/doublylinkedlist/DoublyLinkedList.fst b/examples/doublylinkedlist/DoublyLinkedList.fst index 4c6487894aa..6fa42c27e61 100644 --- a/examples/doublylinkedlist/DoublyLinkedList.fst +++ b/examples/doublylinkedlist/DoublyLinkedList.fst @@ -1,5 +1,5 @@ (* - Copyright 2008-2018 Microsoft Research + Copyright 2008-2019 Microsoft Research Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -405,6 +405,17 @@ let fragment_valid (#t:Type) (h0:heap) (f:fragment t) : GTot Type0 = fragment_aa f /\ fragment_conn h0 f +/// Talk about payloads of nodes remaining constant + +let unchanged_node_val h0 h1 n = + (h0 `contains` n ==> + ((n@h0).p == (n@h1).p /\ h1 `contains` n)) + +let rec unchanged_node_vals (h0 h1:HS.mem) (ns:nodelist 'a) : GTot prop = + match ns with + | [] -> True + | n :: ns' -> unchanged_node_val h0 h1 n /\ unchanged_node_vals h0 h1 ns' + /// Useful operations on nodes let ( =|> ) (#t:Type) (a:pointer (node t)) (b:pointer (node t)) : StackInline unit @@ -413,8 +424,7 @@ let ( =|> ) (#t:Type) (a:pointer (node t)) (b:pointer (node t)) : StackInline un Mod.loc_disjoint (Mod.loc_buffer a) (Mod.loc_buffer b))) (ensures (fun h0 _ h1 -> Mod.modifies (Mod.loc_buffer a) h0 h1 /\ - h1 `contains` a /\ - (a@h0).p == (a@h1).p /\ + unchanged_node_val h0 h1 a /\ (a@h0).blink == (a@h1).blink /\ b@h0 == b@h1 /\ (a@h1) |> b)) = @@ -426,9 +436,8 @@ let ( <|= ) (#t:Type) (a:pointer (node t)) (b:pointer (node t)) : StackInline un Mod.loc_disjoint (Mod.loc_buffer a) (Mod.loc_buffer b))) (ensures (fun h0 _ h1 -> Mod.modifies (Mod.loc_buffer b) h0 h1 /\ - h1 `contains` b /\ a@h0 == a@h1 /\ - (b@h0).p == (b@h1).p /\ + unchanged_node_val h0 h1 b /\ (b@h0).flink == (b@h1).flink /\ a <| (b@h1))) = b *= { !*b with blink = a } @@ -437,8 +446,7 @@ let ( !=|> ) (#t:Type) (a:pointer (node t)) : StackInline unit (requires (fun h0 -> h0 `contains` a)) (ensures (fun h0 _ h1 -> Mod.modifies (Mod.loc_buffer a) h0 h1 /\ - h1 `contains` a /\ - (a@h0).p == (a@h1).p /\ + unchanged_node_val h0 h1 a /\ (a@h0).blink == (a@h1).blink /\ (a@h1).flink == null)) = a *= { !*a with flink = null } @@ -447,8 +455,7 @@ let ( !<|= ) (#t:Type) (a:pointer (node t)) : StackInline unit (requires (fun h0 -> h0 `contains` a)) (ensures (fun h0 _ h1 -> Mod.modifies (Mod.loc_buffer a) h0 h1 /\ - h1 `contains` a /\ - (a@h0).p == (a@h1).p /\ + unchanged_node_val h0 h1 a /\ (a@h0).flink == (a@h1).flink /\ (a@h1).blink == null)) = a *= { !*a with blink = null } @@ -803,7 +810,8 @@ let piece_merge (#t:Type) (h0:heap) (a@h0 |> b) /\ (a <| b@h0) /\ Mod.loc_disjoint (piece_fp0 p1) (piece_fp0 p2))) - (ensures (fun p -> piece_valid h0 p)) = + (ensures (fun p -> (piece_valid h0 p) /\ + (reveal p.pnodes == reveal p1.pnodes `append` reveal p2.pnodes))) = let p = { phead = p1.phead ; ptail = p2.ptail ; pnodes = p1.pnodes ^@^ p2.pnodes } in lemma_append_last (reveal p1.pnodes) (reveal p2.pnodes); nodelist_append_valid h0 (reveal p1.pnodes) (reveal p2.pnodes); @@ -881,7 +889,7 @@ let single_piece_fragment_valid (#t:Type) (h0:heap) (p:piece t) : (requires (piece_valid h0 p)) (ensures (fragment_valid h0 (Frag1 p))) = () -#set-options "--z3rlimit 5 --initial_ifuel 2" +#set-options "--z3rlimit 40 --initial_ifuel 2" let tot_defragmentable_fragment_to_dll (#t:Type) (h0:heap) (f:fragment t{ fragment_valid h0 f /\ @@ -894,14 +902,25 @@ let tot_defragmentable_fragment_to_dll (#t:Type) (h0:heap) (f:fragment t{ ((a.phead@h0).blink == null) /\ ((b.ptail@h0).flink == null))) }) : - Tot (d:dll t{dll_valid h0 d}) = + Tot (d:dll t{dll_valid h0 d /\ dll_fp0 d `loc_equiv` fragment_fp0 f /\ + (reveal d.nodes == ( + match f with + | Frag0 -> [] + | Frag1 p1 -> reveal p1.pnodes + | Frag2 p1 p2 -> reveal p1.pnodes `append` reveal p2.pnodes + | Frag3 p1 p2 p3 -> + reveal p1.pnodes `append` reveal p2.pnodes `append` reveal p3.pnodes)) + }) = match f with | Frag0 -> empty_list | Frag1 p1 -> tot_piece_to_dll h0 p1 - | Frag2 p1 p2 -> tot_piece_to_dll h0 (piece_merge h0 p1 p2) + | Frag2 p1 p2 -> + piece_merge_fp0 h0 p1 p2; + tot_piece_to_dll h0 (piece_merge h0 p1 p2) | Frag3 p1 p2 p3 -> - let p' = piece_merge h0 p1 p2 in piece_merge_fp0 h0 p1 p2; + let p' = piece_merge h0 p1 p2 in + piece_merge_fp0 h0 p' p3; tot_piece_to_dll h0 (piece_merge h0 p' p3) #reset-options @@ -1074,7 +1093,9 @@ let tot_dll_to_fragment_split (#t:Type) (h0:heap) (d:dll t{dll_valid h0 d}) (ensures (fun f -> fragment_valid h0 f /\ fragment_length f = 2 /\ - loc_equiv (dll_fp0 d) (fragment_fp0 f))) = + loc_equiv (dll_fp0 d) (fragment_fp0 f) /\ + (let Frag2 p1 p2 = f in + reveal d.nodes == reveal p1.pnodes `append` reveal p2.pnodes))) = let split_nodes = elift2_p split_using d.nodes (hide n2) in lemma_split_using (reveal d.nodes) n2; let l1, l2 = (elift1 fst split_nodes), (elift1 snd split_nodes) in @@ -1143,7 +1164,9 @@ let singleton_dll (#t:Type) (n:pointer (node t)) : (h0 `contains` n))) (ensures (fun h0 d h1 -> Mod.modifies (Mod.loc_buffer n) h0 h1 /\ - dll_valid h1 d)) = + dll_valid h1 d /\ + unchanged_node_vals h0 h1 (reveal d.nodes) /\ + reveal d.nodes == [n])) = !=|> n; !<|= n; tot_node_to_dll (ST.get ()) n @@ -1168,7 +1191,7 @@ let tot_piece_tail (#t:Type) (h0:heap) (p:piece t) (n:pointer (node t)) : (ensures (fun q -> (piece_valid h0 q) /\ (reveal q.pnodes) == tl (reveal p.pnodes))) = - { phead = n ; ptail = p.ptail ; pnodes = elift1_p tl p.pnodes } + { phead = n ; ptail = p.ptail ; pnodes = elift1_p (tot_to_gtot tl) p.pnodes } /// If a dll is valid, then both the forward and backward links of /// each of the nodes are contained in the heap, and disjoint from @@ -1193,7 +1216,7 @@ let lemma_dll_links_contained (#t:Type) (h0:heap) (d:dll t) (i:nat) : (if i = length nl - 1 then () else extract_nodelist_contained h0 nl (i + 1)); lemma_unsnoc_is_last nl -#reset-options "--initial_ifuel 2 --max_ifuel 2 --max_fuel 2 --initial_fuel 2 --z3rlimit 20" +#set-options "--z3rlimit 10 --initial_ifuel 2" let lemma_dll_links_disjoint (#t:Type) (h0:heap) (d:dll t) (i:nat) : Lemma @@ -1335,15 +1358,75 @@ let piece_remains_valid_f (#t:Type) (h0 h1:heap) (p:piece t) : /// Testing is a node is within a dll or not let node_not_in_dll (#t:Type) (h0:heap) (n:pointer (node t)) (d:dll t) = - let m1 = Mod.loc_union (Mod.loc_buffer n) - (Mod.loc_union (node_fp_b (n@h0)) (node_fp_f (n@h0))) in - let m2 = Mod.loc_union (dll_fp0 d) (Mod.loc_union - (dll_fp_f h0 d) (dll_fp_b h0 d)) in + let m1 = Mod.loc_buffer n in + let m2 = dll_fp0 d in Mod.loc_disjoint m1 m2 +/// An empty dll has no nodes + +let _auto_empty_dll (#t:Type) (h0:heap) (d:dll t) : + Lemma + (requires (dll_valid h0 d /\ (d.lhead == null \/ d.ltail == null))) + (ensures (reveal d.nodes == [])) + [SMTPat (dll_valid h0 d); + SMTPat (reveal d.nodes)] = () + +/// Be able to easily reason about unchanged payloads + +let rec aux_unchanged_payload #t h0 h1 n0 (nl:nodelist t) : + Lemma + (requires (Mod.modifies (Mod.loc_buffer n0) h0 h1 /\ + (n0@h0).p == (n0@h1).p /\ + (nodelist_aa_r nl) /\ + (n0 `memP` nl \/ Mod.loc_disjoint (Mod.loc_buffer n0) (nodelist_fp0 nl)) + )) + (ensures (unchanged_node_vals h0 h1 nl)) + (decreases (length nl)) = + match nl with + | [] -> () + | n :: nl' -> + aux_unchanged_payload h0 h1 n0 nl'; + assert (n0 `memP` nl ==> (n == n0 \/ n0 `memP` nl')); + let goal () = unchanged_node_val h0 h1 n in + FStar.Classical.or_elim #_ #_ #goal + (fun (_:unit{n0 `memP` nl}) -> + FStar.Classical.or_elim #_ #_ #goal + (fun (_:unit{n == n0}) -> ()) + (fun (_:unit{n0 `memP` nl'}) -> + let i = nl' `index_of` n0 in + extract_nodelist_fp0 nl' i)) + (fun (_:unit{Mod.loc_disjoint (Mod.loc_buffer n0) (nodelist_fp0 nl)}) -> ()) + +let rec aux_unchanged_payload_nomod #t h0 h1 (nl:nodelist t) : + Lemma + (requires (Mod.modifies Mod.loc_none h0 h1)) + (ensures (unchanged_node_vals h0 h1 nl)) = + match nl with + | [] -> () + | n :: nl' -> + aux_unchanged_payload_nomod h0 h1 nl' + +let rec aux_unchanged_payload_transitive #t h0 h1 h2 (nl:nodelist t) : + Lemma + (requires (unchanged_node_vals h0 h1 nl /\ + unchanged_node_vals h1 h2 nl)) + (ensures (unchanged_node_vals h0 h2 nl)) = + match nl with + | [] -> () + | _ :: nl' -> aux_unchanged_payload_transitive h0 h1 h2 nl' + +let rec aux_unchanged_payload_append #t h0 h1 (nl1 nl2:nodelist t) : + Lemma + (requires (unchanged_node_vals h0 h1 nl1 /\ + unchanged_node_vals h0 h1 nl2)) + (ensures (unchanged_node_vals h0 h1 (nl1 `append` nl2))) = + match nl1 with + | [] -> () + | n :: nl' -> aux_unchanged_payload_append h0 h1 nl' nl2 + /// Now for the actual ST operations that will be exposed :) -#set-options "--z3rlimit 500 --max_fuel 2 --max_ifuel 0" +#set-options "--z3rlimit 500 --max_fuel 2 --max_ifuel 1" let dll_insert_at_head (#t:Type) (d:dll t) (n:pointer (node t)) : StackInline (dll t) @@ -1355,7 +1438,9 @@ let dll_insert_at_head (#t:Type) (d:dll t) (n:pointer (node t)) : Mod.modifies (Mod.loc_union (Mod.loc_buffer n) (Mod.loc_buffer d.lhead)) h0 h1 /\ - dll_valid h1 y)) = + dll_valid h1 y /\ + unchanged_node_vals h0 h1 (reveal y.nodes) /\ + reveal y.nodes == n :: reveal d.nodes)) = if is_null d.lhead then ( singleton_dll n ) else ( @@ -1368,6 +1453,10 @@ let dll_insert_at_head (#t:Type) (d:dll t) (n:pointer (node t)) : n <|= h; let h1 = ST.get () in // + aux_unchanged_payload h0 h0' n (reveal d.nodes); + aux_unchanged_payload h0' h1 h (reveal d.nodes); + aux_unchanged_payload_transitive h0 h0' h1 (reveal d.nodes); + // let Frag1 p1 = tot_dll_to_fragment h0 d in let p = tot_node_to_piece h0 n in let f' = Frag2 p p1 in @@ -1394,15 +1483,13 @@ let dll_insert_at_head (#t:Type) (d:dll t) (n:pointer (node t)) : // assert (is_null ((last f').ptail@h0').flink); // assert (is_null ((last f').ptail@h1).flink); let y = tot_defragmentable_fragment_to_dll h1 f' in - // admit (); // Instead of StackInline, if we use ST everywhere in - // // this file, it is unable to prove things // assert (dll_valid h1 y); y ) #reset-options -#set-options "--z3rlimit 500 --max_fuel 2 --max_ifuel 0" +#set-options "--z3rlimit 500 --max_fuel 2 --max_ifuel 1" let dll_insert_at_tail (#t:Type) (d:dll t) (n:pointer (node t)) : StackInline (dll t) @@ -1414,7 +1501,10 @@ let dll_insert_at_tail (#t:Type) (d:dll t) (n:pointer (node t)) : Mod.modifies (Mod.loc_union (Mod.loc_buffer n) (Mod.loc_buffer d.ltail)) h0 h1 /\ - dll_valid h1 y)) = + (dll_fp0 y `loc_equiv` B.loc_union (dll_fp0 d) (Mod.loc_buffer n)) /\ + dll_valid h1 y /\ + unchanged_node_vals h0 h1 (reveal y.nodes) /\ + reveal y.nodes == snoc (reveal d.nodes, n))) = if is_null d.lhead then ( singleton_dll n ) else ( @@ -1436,12 +1526,24 @@ let dll_insert_at_tail (#t:Type) (d:dll t) (n:pointer (node t)) : piece_remains_valid h0 h0' (Mod.loc_buffer n) p1; piece_remains_valid_f h0' h1 p1; let y = tot_defragmentable_fragment_to_dll h1 f' in + lemma_unsnoc_is_last (reveal y.nodes); + lemma_snoc_unsnoc (reveal d.nodes, n); + lemma_unsnoc_index (reveal y.nodes) (length (reveal y.nodes) - 2); + lemma_unsnoc_length (reveal y.nodes); + aux_unchanged_payload h0 h0' n (reveal y.nodes); + aux_unchanged_payload h0' h1 t (reveal y.nodes); + aux_unchanged_payload_transitive h0 h0' h1 (reveal y.nodes); y ) #reset-options -#set-options "--z3rlimit 1000 --initial_fuel 2 --initial_ifuel 2" +let _l_insert_after (x0:'a) (l:list 'a{x0 `memP` l}) (x:'a) : GTot (list 'a) = + let l1, x1 :: l2 = lemma_split_using l x0; split_using l x0 in + assert (x0 == x1); + l1 `append` (x0 :: (x :: l2)) + +#set-options "--z3rlimit 1000 --initial_fuel 2 --initial_ifuel 1" let dll_insert_after (#t:Type) (d:dll t) (e:pointer (node t)) (n:pointer (node t)) : StackInline (dll t) @@ -1458,7 +1560,10 @@ let dll_insert_after (#t:Type) (d:dll t) (e:pointer (node t)) (n:pointer (node t (Mod.loc_union (Mod.loc_buffer e) (Mod.loc_buffer (e@h0).flink))) h0 h1 /\ - dll_valid h1 y)) = + (dll_fp0 y `loc_equiv` B.loc_union (dll_fp0 d) (Mod.loc_buffer n)) /\ + dll_valid h1 y /\ + unchanged_node_vals h0 h1 (reveal y.nodes) /\ + reveal y.nodes == _l_insert_after e (reveal d.nodes) n)) = let h0 = ST.get () in // assert (length (reveal d.nodes) > 0); lemma_dll_links_contained h0 d (reveal d.nodes `index_of` e); @@ -1466,7 +1571,9 @@ let dll_insert_after (#t:Type) (d:dll t) (e:pointer (node t)) (n:pointer (node t let e1 = (!*e).blink in let e2 = (!*e).flink in if is_null e2 then ( - dll_insert_at_tail d n + let y = dll_insert_at_tail d n in + assume (reveal y.nodes == _l_insert_after e (reveal d.nodes) n); + y ) else ( extract_nodelist_fp0 (reveal d.nodes) (reveal d.nodes `index_of` e); lemma_unsnoc_is_last (reveal d.nodes); @@ -1544,11 +1651,24 @@ let dll_insert_after (#t:Type) (d:dll t) (e:pointer (node t)) (n:pointer (node t // assert (last f' == p3); // assert (is_null ((last f').ptail@h1).flink); let y = tot_defragmentable_fragment_to_dll h1 f' in + assume (n `memP` reveal y.nodes); + assume (e `memP` reveal y.nodes); + assume (e2 `memP` reveal y.nodes); + aux_unchanged_payload h0 h0' n (reveal y.nodes); + aux_unchanged_payload h0' h0'' e (reveal y.nodes); + aux_unchanged_payload h0'' h1 e2 (reveal y.nodes); + aux_unchanged_payload_transitive h0 h0' h0'' (reveal y.nodes); + aux_unchanged_payload_transitive h0 h0'' h1 (reveal y.nodes); + assume (reveal y.nodes == _l_insert_after e (reveal d.nodes) n); y ) #reset-options +let _l_insert_before (x0:'a) (l:list 'a{x0 `memP` l}) (x:'a) : GTot (list 'a) = + let l1, l2 = split_using l x0 in + l1 `append` (x :: l2) + #set-options "--z3rlimit 50" let dll_insert_before (#t:Type) (d:dll t) (e:pointer (node t)) (n:pointer (node t)) : @@ -1569,20 +1689,32 @@ let dll_insert_before (#t:Type) (d:dll t) (e:pointer (node t)) (n:pointer (node (Mod.loc_union (Mod.loc_buffer (e@h0).blink) (Mod.loc_buffer e)))) h0 h1 /\ - dll_valid h1 y)) = + (dll_fp0 y `loc_equiv` B.loc_union (dll_fp0 d) (Mod.loc_buffer n)) /\ + dll_valid h1 y /\ + unchanged_node_vals h0 h1 (reveal y.nodes) /\ + reveal y.nodes == _l_insert_before e (reveal d.nodes) n)) = let h0 = ST.get () in extract_nodelist_contained h0 (reveal d.nodes) (reveal d.nodes `index_of` e); let e1 = (!*e).blink in lemma_dll_links_contained h0 d (reveal d.nodes `index_of` e); if is_null e1 then ( - dll_insert_at_head d n + let y = dll_insert_at_head d n in + assume (reveal y.nodes == _l_insert_before e (reveal d.nodes) n); + y ) else ( extract_nodelist_conn h0 (reveal d.nodes) (reveal d.nodes `index_of` e - 1); - dll_insert_after d e1 n + let y = dll_insert_after d e1 n in + assume (reveal y.nodes == _l_insert_before e (reveal d.nodes) n); + y ) #reset-options +unfold +let _aux_fp_split_by_node (d0 d1:dll 'a) (n:pointer (node 'a)) = + dll_fp0 d0 `loc_equiv` B.loc_union (dll_fp0 d1) (Mod.loc_buffer n) /\ + dll_fp0 d1 `B.loc_disjoint` Mod.loc_buffer n + #set-options "--z3rlimit 20" let dll_remove_head (#t:Type) (d:dll t) : @@ -1592,7 +1724,10 @@ let dll_remove_head (#t:Type) (d:dll t) : (length (reveal d.nodes) > 0))) (ensures (fun h0 y h1 -> Mod.modifies (Mod.loc_buffer (d.lhead@h0).flink) h0 h1 /\ - dll_valid h1 y)) = + _aux_fp_split_by_node d y d.lhead /\ + dll_valid h1 y /\ + unchanged_node_vals h0 h1 (reveal d.nodes) /\ + reveal y.nodes == tl (reveal d.nodes))) = let h0 = ST.get () in let e = d.lhead in let e2 = (!*e).flink in @@ -1608,11 +1743,51 @@ let dll_remove_head (#t:Type) (d:dll t) : let f' = Frag1 p2 in piece_remains_valid_b h0 h1 p2; let y = tot_defragmentable_fragment_to_dll h1 f' in + aux_unchanged_payload h0 h1 e2 (reveal d.nodes); y ) #reset-options +let rec _lemma_only_head_can_point_left_to_null (#t:Type) (h0:heap) (e:pointer (node t)) (l:nodelist t) : + Lemma + (requires (e `memP` l /\ (e@h0).blink == null /\ nodelist_conn h0 l)) + (ensures (e == hd l)) = + match l with + | [_] -> () + | _ -> + FStar.Classical.or_elim #(e == hd l) #(e =!= hd l) #(fun () -> e == hd l) + (fun _ -> ()) + (fun _ -> + _lemma_only_head_can_point_left_to_null h0 e (tl l); + extract_nodelist_conn h0 l 0) + +let rec _lemma_only_tail_can_point_right_to_null (#t:Type) (h0:heap) (e:pointer (node t)) (l:nodelist t) : + Lemma + (requires (e `memP` l /\ (e@h0).flink == null /\ nodelist_conn h0 l)) + (ensures (e == last l)) = + match l with + | [_] -> () + | _ -> _lemma_only_tail_can_point_right_to_null h0 e (tl l) + +let rec _lemma_all_nodes_are_unique (#t:Type) (h0:heap) (l:nodelist t) (i j:nat) : + Lemma + (requires ( + (nodelist_conn h0 l) /\ + (i < length l) /\ + (j < length l) /\ + (((hd l)@h0).blink == null) /\ + (index l i == index l j))) + (ensures (i = j)) = + match i, j with + | 0, 0 -> () + | 0, _ -> extract_nodelist_conn h0 l (j - 1) + | _, 0 -> extract_nodelist_conn h0 l (i - 1) + | _ -> + extract_nodelist_conn h0 l (i - 1); + extract_nodelist_conn h0 l (j - 1); + _lemma_all_nodes_are_unique h0 l (i - 1) (j - 1) + #set-options "--z3rlimit 50" let dll_remove_tail (#t:Type) (d:dll t) : @@ -1622,13 +1797,17 @@ let dll_remove_tail (#t:Type) (d:dll t) : (length (reveal d.nodes) > 0))) (ensures (fun h0 y h1 -> Mod.modifies (Mod.loc_buffer (d.ltail@h0).blink) h0 h1 /\ - dll_valid h1 y)) = + _aux_fp_split_by_node d y d.ltail /\ + dll_valid h1 y /\ + unchanged_node_vals h0 h1 (reveal d.nodes) /\ + reveal y.nodes == fst (unsnoc (reveal d.nodes)))) = let h0 = ST.get () in let e = d.ltail in let e1 = (!*e).blink in lemma_dll_links_contained h0 d (length (reveal d.nodes) - 1); lemma_unsnoc_is_last (reveal d.nodes); if is_null e1 then ( + _lemma_only_head_can_point_left_to_null h0 e (reveal d.nodes); empty_list ) else ( extract_nodelist_contained h0 (reveal d.nodes) (length (reveal d.nodes) - 2); @@ -1639,17 +1818,24 @@ let dll_remove_tail (#t:Type) (d:dll t) : let h1 = ST.get () in let f = tot_dll_to_fragment_split h0 d e1 e in let Frag2 p1 p2 = f in - // assert (p2.phead == e); - // assert (p2.ptail == e); + lemma_snoc_length (reveal p1.pnodes, e); + // assert (reveal p1.pnodes == fst (unsnoc (reveal d.nodes))); let f' = Frag1 p1 in piece_remains_valid_f h0 h1 p1; let y = tot_defragmentable_fragment_to_dll h1 f' in + aux_unchanged_payload h0 h1 e1 (reveal d.nodes); + // assert (reveal y.nodes == reveal p1.pnodes); y ) #reset-options -#set-options "--z3rlimit 400" +let _l_remove_mid (l:list 'a{length l > 0}) (x:'a {x `memP` l}) : GTot (list 'a) = + let l1, x0 :: l2 = lemma_split_using l x; split_using l x in + assert (x == x0); + l1 `append` l2 + +#set-options "--z3rlimit 400 --initial_fuel 2 --initial_ifuel 2" let dll_remove_node (#t:Type) (d:dll t) (e:pointer (node t)) : StackInline (dll t) @@ -1664,17 +1850,27 @@ let dll_remove_node (#t:Type) (d:dll t) (e:pointer (node t)) : (Mod.loc_union (Mod.loc_buffer (e@h0).blink) (Mod.loc_buffer (e@h0).flink))) h0 h1 /\ - dll_valid h1 y)) = + _aux_fp_split_by_node d y e /\ + dll_valid h1 y /\ + unchanged_node_vals h0 h1 (reveal d.nodes) /\ + reveal y.nodes == _l_remove_mid (reveal d.nodes) e)) = let h0 = ST.get () in extract_nodelist_contained h0 (reveal d.nodes) (reveal d.nodes `index_of` e); let e1 = (!*e).blink in let e2 = (!*e).flink in lemma_dll_links_contained h0 d (reveal d.nodes `index_of` e); if is_null e1 then ( + _lemma_only_head_can_point_left_to_null h0 e (reveal d.nodes); dll_remove_head d ) else if is_null e2 then ( - dll_remove_tail d + _lemma_only_tail_can_point_right_to_null h0 e (reveal d.nodes); + let y = dll_remove_tail d in + let h1 = ST.get () in + // assume (unchanged_node_vals h0 h1 (reveal d.nodes)); + assume (reveal y.nodes == _l_remove_mid (reveal d.nodes) e); + y ) else ( + admit (); lemma_dll_links_contained h0 d (reveal d.nodes `index_of` e); extract_nodelist_conn h0 (reveal d.nodes) (reveal d.nodes `index_of` e - 1); extract_nodelist_aa_r (reveal d.nodes) (reveal d.nodes `index_of` e - 1); @@ -1697,5 +1893,124 @@ let dll_remove_node (#t:Type) (d:dll t) (e:pointer (node t)) : piece_remains_valid_b h0' h1 p2'; let y = tot_defragmentable_fragment_to_dll h1 f' in // assert (dll_valid h1 y); + assume (_aux_fp_split_by_node d y e); + assume (unchanged_node_vals h0 h1 (reveal d.nodes)); + assume (reveal y.nodes == _l_remove_mid (reveal d.nodes) e); + y + ) + +#reset-options + +#set-options "--z3rlimit 10 --max_fuel 2 --max_ifuel 1" + +let dll_append (#t:Type) (d1 d2:dll t) : + StackInline (dll t) + (requires (fun h0 -> + (dll_valid h0 d1) /\ + (dll_valid h0 d2) /\ + (dll_fp0 d1 `Mod.loc_disjoint` dll_fp0 d2))) + (ensures (fun h0 y h1 -> + Mod.modifies (Mod.loc_union + (Mod.loc_buffer d1.ltail) + (Mod.loc_buffer d2.lhead)) h0 h1 /\ + dll_fp0 y `loc_equiv` (dll_fp0 d1 `B.loc_union` dll_fp0 d2) /\ + dll_valid h1 y /\ + unchanged_node_vals h0 h1 (reveal y.nodes) /\ + reveal y.nodes == reveal d1.nodes `append` reveal d2.nodes)) = + let h0 = ST.get () in + if is_null d1.lhead then ( + let y = d2 in + let h1 = ST.get () in + aux_unchanged_payload_nomod h0 h1 (reveal y.nodes); y + ) else ( + if is_null d2.lhead then ( + let y = d1 in + let h1 = ST.get () in + aux_unchanged_payload_nomod h0 h1 (reveal y.nodes); + append_l_nil (reveal y.nodes); + y + ) else ( + let n1 = d1.ltail in + let n2 = d2.lhead in + n1 =|> n2; + let h0' = ST.get () in + n1 <|= n2; + let h1 = ST.get () in + // + let p1 = tot_dll_to_piece h0 d1 in + let p2 = tot_dll_to_piece h0 d2 in + let f' = Frag2 p1 p2 in + piece_remains_valid_f h0 h0' p1; + piece_remains_valid h0 h0' (Mod.loc_buffer n1) p2; + piece_remains_valid h0' h1 (Mod.loc_buffer n2) p1; + piece_remains_valid_b h0' h1 p2; + let y = tot_defragmentable_fragment_to_dll h1 f' in + lemma_unsnoc_is_last (reveal d1.nodes); + aux_unchanged_payload h0 h0' n1 (reveal d1.nodes); + aux_unchanged_payload h0 h0' n1 (reveal d2.nodes); + aux_unchanged_payload h0' h1 n2 (reveal d1.nodes); + aux_unchanged_payload h0' h1 n2 (reveal d2.nodes); + aux_unchanged_payload_transitive h0 h0' h1 (reveal d1.nodes); + aux_unchanged_payload_transitive h0 h0' h1 (reveal d2.nodes); + aux_unchanged_payload_append h0 h1 (reveal d1.nodes) (reveal d2.nodes); + y + ) ) + +#reset-options + +#set-options "--z3rlimit 40 --max_fuel 2 --max_ifuel 1" + +let dll_split_using (#t:Type) (d:dll t) (e:pointer (node t)) : + StackInline (dll t * dll t) + (requires (fun h0 -> + (dll_valid h0 d) /\ + (e `memP` reveal d.nodes))) + (ensures (fun h0 (y1, y2) h1 -> + Mod.modifies (Mod.loc_union + (Mod.loc_union + (Mod.loc_buffer (d.lhead@h0).flink) + (Mod.loc_buffer (d.ltail@h0).blink)) + (Mod.loc_union + (Mod.loc_buffer (e@h0).blink) + (Mod.loc_buffer e))) h0 h1 /\ + dll_valid h1 y1 /\ + dll_valid h1 y2 /\ + dll_fp0 d `loc_equiv` (dll_fp0 y1 `Mod.loc_union` dll_fp0 y2) /\ + dll_fp0 y1 `Mod.loc_disjoint` dll_fp0 y2 /\ + unchanged_node_vals h0 h1 (reveal d.nodes) /\ + (reveal y1.nodes, reveal y2.nodes) == split_using (reveal d.nodes) e)) = + let h0 = ST.get () in + extract_nodelist_contained h0 (reveal d.nodes) (reveal d.nodes `index_of` e); + let e1 = (!*e).blink in + lemma_dll_links_contained h0 d (reveal d.nodes `index_of` e); + if is_null e1 then ( + let d1, d2 = empty_list, d in + let h1 = ST.get () in + aux_unchanged_payload_nomod h0 h1 (reveal d.nodes); + _lemma_only_head_can_point_left_to_null h0 e (reveal d.nodes); + d1, d2 + ) else ( + lemma_dll_links_contained h0 d (reveal d.nodes `index_of` e); + extract_nodelist_conn h0 (reveal d.nodes) (reveal d.nodes `index_of` e - 1); + !=|> e1; + let h0' = ST.get () in + !<|= e; + let h1 = ST.get () in + // + let Frag2 p1 p2 = tot_dll_to_fragment_split h0 d e1 e in + lemma_unsnoc_is_last (reveal p1.pnodes); + piece_remains_valid_f h0 h0' p1; + piece_remains_valid h0 h0' (Mod.loc_buffer e1) p2; + piece_remains_valid h0' h1 (Mod.loc_buffer e) p1; + piece_remains_valid_b h0' h1 p2; + let d1 = tot_piece_to_dll h1 p1 in + let d2 = tot_piece_to_dll h1 p2 in + aux_unchanged_payload h0 h0' e1 (reveal d.nodes); + aux_unchanged_payload h0' h1 e (reveal d.nodes); + aux_unchanged_payload_transitive h0 h0' h1 (reveal d.nodes); + d1, d2 + ) + +#reset-options diff --git a/examples/doublylinkedlist/DoublyLinkedList.fst.hints b/examples/doublylinkedlist/DoublyLinkedList.fst.hints index ba4d37a3564..165ce58d9cf 100644 --- a/examples/doublylinkedlist/DoublyLinkedList.fst.hints +++ b/examples/doublylinkedlist/DoublyLinkedList.fst.hints @@ -1,5 +1,5 @@ [ - "¦]°c¼²áÿ¢ãŒ\u001c\r¨c<", + "\u001aÚ¯\u0007Iopëìœ\u000e0j\u0006*", [ [ "DoublyLinkedList.lemma_non_null", @@ -22,7 +22,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "ffa72f511404741b706ea53bbb8cbc3b" + "0747a576c713375188700dcb80471ff0" ], [ "DoublyLinkedList.op_At", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "ef553c0c0c71b17b267fcb8e3b2091f0" + "780ee65448683841397051d9f16862c9" ], [ "DoublyLinkedList.op_Hat_At", @@ -44,47 +44,43 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer_or_null", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_49875fd7a8a9e5d480065968845f9c04", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "3dfe38caa1a4e86a41d6c57c4b2ec870" + "3b0cc3159d30f088a61468e5aeaae877" ], [ "DoublyLinkedList.__proj__Frag1__item___0", @@ -98,7 +94,7 @@ "refinement_interpretation_Tm_refine_d56d2c22716a132051de7449f1f9f54c" ], 0, - "b6e508722fcddcae62070d0cc8dbc2b9" + "0b57c015de189fad84919c4d7004dbe7" ], [ "DoublyLinkedList.__proj__Frag2__item___0", @@ -112,7 +108,7 @@ "refinement_interpretation_Tm_refine_70bbde2f8ce7313b7302658284bddacb" ], 0, - "bb37219baa68208471e1def8e551767d" + "285379a86fe17928d8b73d7b5e499def" ], [ "DoublyLinkedList.__proj__Frag2__item___1", @@ -126,7 +122,7 @@ "refinement_interpretation_Tm_refine_70bbde2f8ce7313b7302658284bddacb" ], 0, - "63c4fe3d678e8cbfc589204ef509a02c" + "708e3c6857a3bb4419dd0f28db6bd582" ], [ "DoublyLinkedList.__proj__Frag3__item___0", @@ -140,7 +136,7 @@ "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" ], 0, - "0356116f7ec85b5990c0c10593a5d740" + "81bc32df3e9a80549cd14f1b77ca051e" ], [ "DoublyLinkedList.__proj__Frag3__item___1", @@ -154,7 +150,7 @@ "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" ], 0, - "5211fdf74110a7ed909e463adf2b7977" + "4a5bf74c7c2ea3675124df649b640df1" ], [ "DoublyLinkedList.__proj__Frag3__item___2", @@ -168,7 +164,7 @@ "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" ], 0, - "cf8c2061ada78a00dc7a9a05d861e5bc" + "7e7ce64b034276e87c7f404cf5eeb2f1" ], [ "DoublyLinkedList.empty_node", @@ -184,7 +180,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "7310e5fc7c4ce689df968b5334cb6062" + "79a75a9d03bed52010cad2b836088be4" ], [ "DoublyLinkedList.empty_list", @@ -200,7 +196,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "01945c78504da7000bc4622764b47a2c" + "da75f8b285c8a5e5aae4c547dab6c91b" ], [ "DoublyLinkedList.fragment_for_each0", @@ -216,7 +212,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "9bb97a7ca75b05e89e37a7cd28bd250b" + "6d574961a21d29f815bd3b2d2d3e4df3" ], [ "DoublyLinkedList.fragment_for_each1", @@ -232,7 +228,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "d9c497dc88b356898b89282a69244236" + "6d3ba21413945d535a0ad952b3de79b4" ], [ "DoublyLinkedList.fragment_length", @@ -248,7 +244,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "20f74fcf6f5a9bad2557d5a653faf1d5" + "66b4b357ea1671bcb92377d76e3100da" ], [ "DoublyLinkedList.dll_ghostly_connections", @@ -264,11 +260,11 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "int_inversion", "kinding_DoublyLinkedList.node@tok", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LowStar.Buffer.pointer" ], 0, - "67f3ac31a4bc5db49617e82e48a58dfd" + "0f88d0a0f025d2a2919c6962f314985b" ], [ "DoublyLinkedList.piece_ghostly_connections", @@ -284,11 +280,11 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "int_inversion", "kinding_DoublyLinkedList.node@tok", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LowStar.Buffer.pointer" ], 0, - "7d9b57f9603ef522772438cc821f498e" + "e4809c869da5d48f359b628e5d79bd16" ], [ "DoublyLinkedList.nodelist_contained0", @@ -306,7 +302,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "b2c6028a104c7a865d0fd7c3feb9a3ca" + "82ea2acd5bda50e0e6ebec04fefadce4" ], [ "DoublyLinkedList.nodelist_fp0", @@ -322,7 +318,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "67522698579d8e78012de473ea95942b" + "ee900e3f6b951a86b58ea512368cc5a4" ], [ "DoublyLinkedList.nodelist_fp_f", @@ -340,7 +336,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "cc87c3ecb2e66c78fa3d6e181f081c31" + "a1f184fd0b014f9c4b8adc723fadcbda" ], [ "DoublyLinkedList.nodelist_fp_b", @@ -358,7 +354,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "5846721f40e9b8740a2ca87d38a1ff91" + "fb608e9477c75299a6d0b94c9e04ec3e" ], [ "DoublyLinkedList.dll_fp_f", @@ -375,7 +371,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "58d859f43b5092cfa1b6c17b98ab43c1" + "2d6b79755114bba2c7bdc4051adc4a5d" ], [ "DoublyLinkedList.dll_fp_b", @@ -392,7 +388,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "0a5bb5d72df47a59093221482c93f3f6" + "c92ec9d223b3967341a259dcd6f9b1d6" ], [ "DoublyLinkedList.fragment_fp0", @@ -409,7 +405,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "b6839d770a9ce1f73b597f342f2f60dd" + "26da0d5d4077d8eca31b2c351b98476b" ], [ "DoublyLinkedList.loc_includes_union_l_nodelist_fp0", @@ -418,7 +414,7 @@ 1, [ "@query" ], 0, - "d764c663f9e7e28447bed503fb731e28" + "796540a41f84fa578bfc1ed55ba4e9fb" ], [ "DoublyLinkedList.loc_includes_union_l_dll_fp0", @@ -427,7 +423,7 @@ 1, [ "@query" ], 0, - "97dddd487c52c7ab0c463cd1053467b2" + "f3a926a0db11e2f74191a530996ef55c" ], [ "DoublyLinkedList.loc_includes_union_l_piece_fp0", @@ -436,7 +432,7 @@ 1, [ "@query" ], 0, - "2b0fff1e9822b4f8d6fcb5b8d8eaa348" + "e79b74c6ef23b775561a4459940b7bd0" ], [ "DoublyLinkedList.loc_includes_union_l_fragment_fp0", @@ -445,7 +441,7 @@ 1, [ "@query" ], 0, - "31eed6928e0a2eaae69bfa40c59dac8c" + "a6a3149075fa66506e74b71bd322bbb7" ], [ "DoublyLinkedList.loc_equiv_trans", @@ -454,7 +450,7 @@ 1, [ "@query", "equation_DoublyLinkedList.loc_equiv" ], 0, - "e46b9e3e93462832ac6ff2c736634f01" + "6d6884464e760297a405f35b7792ba30" ], [ "DoublyLinkedList.loc_equiv_union_union_loc", @@ -469,7 +465,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "bf8a9c39ed90cc9d14936dffb0e866a5" + "6841bbf8aeea1d6a42cab1fc4d43241c" ], [ "DoublyLinkedList.nodelist_aa_r", @@ -485,7 +481,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "1998a3eea3c31eafd5f3ce448aabc04c" + "f7c771344bc733ae74f78ab15a5474a7" ], [ "DoublyLinkedList.nodelist_aa_l", @@ -496,28 +492,26 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "@query", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "data_elim_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_DoublyLinkedList.nodelist", "equation_FStar.Pervasives.Native.fst", "equation_LowStar.Buffer.pointer", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_typing", "kinding_DoublyLinkedList.node@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", "well-founded-ordering-on-nat" ], 0, - "8190bf7541fc21448c75ef6da8eb9b72" + "5cff01181b87482a6bd9af42fcc29f82" ], [ "DoublyLinkedList.fragment_aa_lr", @@ -534,7 +528,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "27354ada95878fef9f7d6a891e367a7e" + "a7215b31f6e4c9f439df71d807a0f0ce" ], [ "DoublyLinkedList.op_Bar_Greater", @@ -543,7 +537,7 @@ 1, [ "@query" ], 0, - "538202dce00b5883344443092ea0cf43" + "6bdfb75fb714df77a2de7b956863c00a" ], [ "DoublyLinkedList.op_Less_Bar", @@ -552,7 +546,7 @@ 1, [ "@query" ], 0, - "e7edbdefcb9b64b49d52639f2df9272e" + "e6c3b53dbab2afaa596d435a683c0e1a" ], [ "DoublyLinkedList.nodelist_conn", @@ -563,8 +557,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", + "@query", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -572,19 +565,18 @@ "equation_LowStar.Buffer.pointer", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "kinding_DoublyLinkedList.node@tok", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", "well-founded-ordering-on-nat" ], 0, - "2b4b42a34ee2135c8b666fb2fe5dc8aa" + "4f181d62b0df54a7df65919138e8fd9b" ], [ "DoublyLinkedList.dll_conn", @@ -593,18 +585,19 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "data_elim_DoublyLinkedList.Mkdll", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_DoublyLinkedList.dll", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "int_typing", "kinding_DoublyLinkedList.node@tok", "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.vu_inv", @@ -615,10 +608,10 @@ "proj_equation_DoublyLinkedList.Mkdll_ltail", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", @@ -626,29 +619,64 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "dff98b7b90892ceac7160a578514fe0d" + "d09591c6a09b3bc5eb4657c53f03dbd8" ], [ - "DoublyLinkedList.op_Equals_Bar_Greater", + "DoublyLinkedList.unchanged_node_val", + 1, + 2, + 1, + [ "@query" ], + 0, + "d87764e66ec88fd04d93cd8779aa9961" + ], + [ + "DoublyLinkedList.unchanged_node_vals", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", + "Prims_pretyping_0da546199211a769a972571cdb3aec67", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "binder_x_f1423d82bf01b6617461d37febfab8cb_3", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equality_tok_Prims.T@tok", + "equation_DoublyLinkedList.nodelist", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.pointer", "equation_Prims.l_True", + "equation_Prims.l_and", "equation_Prims.squash", + "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "subterm_ordering_Prims.Cons", "typing_tok_Prims.T@tok", + "unit_typing" + ], + 0, + "ea1b9f7c699551369387dd91cc37fd49" + ], + [ + "DoublyLinkedList.op_Equals_Bar_Greater", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_DoublyLinkedList.op_Bar_Greater", + "equation_DoublyLinkedList.unchanged_node_val", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "kinding_DoublyLinkedList.node@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", @@ -664,12 +692,12 @@ "projection_inverse_DoublyLinkedList.Mknode_blink", "projection_inverse_DoublyLinkedList.Mknode_flink", "projection_inverse_DoublyLinkedList.Mknode_p", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_4daa5aea1f8d9ab8efe3c041985c20e1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_56ecb46c72382cf062ff8e5f2bf56b84", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a5a095fc5a56e1c9cc82fb4448710cd8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_df0f47acea0b626f36992dc2a652236d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -680,7 +708,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "0ba8891b56e572d55a72f6b34a3f01ff" + "579a420695a669b6ff2b0d5228aacc12" ], [ "DoublyLinkedList.op_Less_Bar_Equals", @@ -688,21 +716,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_DoublyLinkedList.op_Less_Bar", + "equation_DoublyLinkedList.unchanged_node_val", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "kinding_DoublyLinkedList.node@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", @@ -717,12 +744,12 @@ "projection_inverse_DoublyLinkedList.Mknode_blink", "projection_inverse_DoublyLinkedList.Mknode_flink", "projection_inverse_DoublyLinkedList.Mknode_p", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_4daa5aea1f8d9ab8efe3c041985c20e1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_56ecb46c72382cf062ff8e5f2bf56b84", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a5a095fc5a56e1c9cc82fb4448710cd8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_df0f47acea0b626f36992dc2a652236d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -733,7 +760,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "4e2099f9848c5673241e80ddcb87b19b" + "fe37af538088ecb22e3033d80cbb8c36" ], [ "DoublyLinkedList.op_Bang_Equals_Bar_Greater", @@ -742,6 +769,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_DoublyLinkedList.unchanged_node_val", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -749,12 +777,11 @@ "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.pointer_or_null", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.get", "fuel_guarded_inversion_DoublyLinkedList.node", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "kinding_DoublyLinkedList.node@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", @@ -769,12 +796,12 @@ "projection_inverse_DoublyLinkedList.Mknode_blink", "projection_inverse_DoublyLinkedList.Mknode_flink", "projection_inverse_DoublyLinkedList.Mknode_p", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_3ead78d44040470adbd6731d02e1fdd5", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_432e2e1111375a36707549fdc0ec4d94", + "refinement_interpretation_Tm_refine_56ecb46c72382cf062ff8e5f2bf56b84", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a5a095fc5a56e1c9cc82fb4448710cd8", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", @@ -787,7 +814,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "bd318f62c328a4425c260502bdf4a435" + "ce3eb02080f12e544c72c4588917cf8e" ], [ "DoublyLinkedList.op_Bang_Less_Bar_Equals", @@ -796,6 +823,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_DoublyLinkedList.unchanged_node_val", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -803,12 +831,11 @@ "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.pointer_or_null", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.get", "fuel_guarded_inversion_DoublyLinkedList.node", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "kinding_DoublyLinkedList.node@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", @@ -823,12 +850,12 @@ "projection_inverse_DoublyLinkedList.Mknode_blink", "projection_inverse_DoublyLinkedList.Mknode_flink", "projection_inverse_DoublyLinkedList.Mknode_p", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_3ead78d44040470adbd6731d02e1fdd5", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_432e2e1111375a36707549fdc0ec4d94", + "refinement_interpretation_Tm_refine_56ecb46c72382cf062ff8e5f2bf56b84", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a5a095fc5a56e1c9cc82fb4448710cd8", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", @@ -841,7 +868,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "3f385019cc28f3d0239d1a0edcb820fb" + "2599f76e367a0a54af04b6bea901cbf4" ], [ "DoublyLinkedList.extract_nodelist_contained", @@ -850,7 +877,7 @@ 1, [ "@query" ], 0, - "b84dbe47b2c931c3aeb8a34204e6bcc1" + "f0c3e0af2c141b8fb7b6232dee030a7b" ], [ "DoublyLinkedList.extract_nodelist_contained", @@ -867,8 +894,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", - "binder_x_36e0798a47fe15ae5358dd679f6ef135_3", + "binder_x_3be51da012170e1dbcd1a1a08f76b6e5_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", @@ -878,7 +905,7 @@ "equation_FStar.List.Tot.Base.tl", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_Prims.nat", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", @@ -892,15 +919,15 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_93202c6051afe12a31dea40b6c716be5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_861b02abd053e6d076aff802935941c8", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "subterm_ordering_Prims.Cons", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "6cf515b5abf3da96f8d9caaf28744324" + "887c047209aef5624e9c449f46cae120" ], [ "DoublyLinkedList.extract_nodelist_fp0", @@ -909,7 +936,7 @@ 1, [ "@query" ], 0, - "41b470a4c10157d4cee6ec5b73275bed" + "703579d694aa97b69ad0ec6699fd15b4" ], [ "DoublyLinkedList.extract_nodelist_fp0", @@ -925,15 +952,16 @@ "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_85ca1d8299771e519782251840a092d3_2", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_f1705b3df0ac998611f60d69e5699ce6_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", + "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", @@ -948,10 +976,10 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0cae5d84de7a9756ad4436cde66dea46", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_b4a61be8a49be4241aaa4e79909314d3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "subterm_ordering_Prims.Cons", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "typing_DoublyLinkedList.nodelist_fp0", @@ -960,7 +988,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "52913aabbfa6b7642c6e0ef1a2916f74" + "51befe13424daf5f0b1bbba2c24e64e5" ], [ "DoublyLinkedList.extract_nodelist_aa_r", @@ -969,7 +997,7 @@ 1, [ "@query" ], 0, - "155ec6ff5b5df4e01d016194ec1ffb9b" + "def7cae42544995f91bf70a558f2dd76" ], [ "DoublyLinkedList.extract_nodelist_aa_r", @@ -985,15 +1013,16 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_85ca1d8299771e519782251840a092d3_2", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_f1705b3df0ac998611f60d69e5699ce6_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", "equation_FStar.List.Tot.Base.split3", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", + "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", @@ -1010,17 +1039,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_278310215efeee6711dac7dda22e3343", + "refinement_interpretation_Tm_refine_0cae5d84de7a9756ad4436cde66dea46", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_b4a61be8a49be4241aaa4e79909314d3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_7212d1fdb0a1fa61dfa3c3e3c565e8d2", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.split3", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "773a6b048fc3a900a358ee955b0b41bc" + "e71267adddc5077c0adce828d3df3456" ], [ "DoublyLinkedList.extract_nodelist_aa_l", @@ -1029,7 +1058,7 @@ 1, [ "@query" ], 0, - "64b9500f3bc4b9e0ad1846127d5a1892" + "3b7310b50bf9e1222424fea1f3e47b7d" ], [ "DoublyLinkedList.extract_nodelist_aa_l", @@ -1042,8 +1071,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_f1705b3df0ac998611f60d69e5699ce6_2", + "b2t_def", "binder_x_85ca1d8299771e519782251840a092d3_2", + "binder_x_f1423d82bf01b6617461d37febfab8cb_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -1054,14 +1083,13 @@ "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.Pervasives.Native.fst", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "primitive_Prims.op_Equality", @@ -1073,12 +1101,12 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", + "refinement_interpretation_Tm_refine_0cae5d84de7a9756ad4436cde66dea46", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b4a61be8a49be4241aaa4e79909314d3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.split3", "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.UInt.fits", @@ -1087,7 +1115,7 @@ "typing_LowStar.Monotonic.Buffer.len", "well-founded-ordering-on-nat" ], 0, - "bc6e4615f054b5d5f4b59387ed14f0ef" + "0d001507d5375026c6413afafa0cd94b" ], [ "DoublyLinkedList.extract_nodelist_conn", @@ -1097,17 +1125,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@query", "equation_LowStar.Buffer.pointer", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ba018d288482a9b89b8a92e42e311da", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_50a4b24f75102e650c95d4aa6ef3306a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "497a111813ad03231536ceb62879a4e0" + "cfdc18d74fa913b8c2808958df90a1f6" ], [ "DoublyLinkedList.extract_nodelist_conn", @@ -1123,9 +1149,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", - "binder_x_7b3513907cc93690cfe12b73ab3fca97_3", + "binder_x_1a2b9cfc3d557f710f79654c139317ee_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", @@ -1140,7 +1165,9 @@ "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_FStar.UInt.min_int", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", @@ -1150,35 +1177,38 @@ "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_DoublyLinkedList.Mknode_blink", + "proj_equation_DoublyLinkedList.Mknode_flink", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1066b945f517b7898e5fbf05edb20539", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_305f4ba37065e80ee7fa4285bda3b81e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.index", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", + "typing_FStar.Seq.Base.index", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", "unit_typing", - "well-founded-ordering-on-nat" + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.get", "well-founded-ordering-on-nat" ], 0, - "151ebf8bd922c345d72c6f4a3e4befa3" + "429ed8fefa02de2005606ad38c98df54" ], [ "DoublyLinkedList.nodelist_remains_aa_l", @@ -1188,23 +1218,21 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "constructor_distinct_Tm_unit", + "@query", "b2t_def", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", "equation_LowStar.Buffer.pointer", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ce99412ed528e87a9597479799e8b9ef", + "refinement_interpretation_Tm_refine_274a849bc6dfbea829dc693d2348a612", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" ], 0, - "79f7749d51f23259ebadf8d15ab0133f" + "84ff10110eed8aa750b1d7ff76534d61" ], [ "DoublyLinkedList.nodelist_remains_aa_l", @@ -1222,8 +1250,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", + "b2t_def", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", @@ -1236,7 +1263,8 @@ "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.Pervasives.Native.fst", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_Prims.nat", "equation_Prims.squash", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", + "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", @@ -1258,20 +1286,20 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "true_interp", "typing_FStar.List.Tot.Base.length", "typing_FStar.Pervasives.Native.fst", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "unit_typing", + "typing_LowStar.Monotonic.Buffer.loc_buffer", "well-founded-ordering-on-nat" ], 0, - "2e5d4e5f7f5f7373e6a529ab5650b530" + "bd76e185decf276d125feaa4d4a2345e" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_fp0", @@ -1282,10 +1310,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b005d1dc22de2503e2168c71bec2a4b0" + "1367db9bb94f5c5b4e7d13006ab2be94" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_fp0", @@ -1301,8 +1329,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", + "b2t_def", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", @@ -1310,7 +1337,9 @@ "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.Pervasives.Native.fst", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_Prims.nat", "equation_Prims.squash", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", + "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", @@ -1331,26 +1360,25 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "subterm_ordering_Prims.Cons", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_DoublyLinkedList.nodelist", "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Pervasives.Native.fst", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_Prims.__proj__Cons__item__tl", "unit_typing" + "typing_Prims.__proj__Cons__item__tl" ], 0, - "10ac85746cd974246150fb9b30d8b573" + "ee06bfcdee616053eacbc7623a6ff9de" ], [ "DoublyLinkedList.snd_unsnoc_nodelist_fp0", @@ -1361,10 +1389,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b344f7dbf0bd34b0a3a719ffe9c361ba" + "b459a41e73345df8f8e46421c47c6b1c" ], [ "DoublyLinkedList.snd_unsnoc_nodelist_fp0", @@ -1380,18 +1408,17 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", + "b2t_def", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_DoublyLinkedList.nodelist", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.Pervasives.Native.snd", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", @@ -1411,25 +1438,22 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "subterm_ordering_Prims.Cons", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.nodelist", "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.Pervasives.Native.snd", - "typing_LowStar.Buffer.pointer", + "typing_FStar.List.Tot.Base.unsnoc", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_Prims.__proj__Cons__item__tl", "unit_typing" + "typing_Prims.__proj__Cons__item__tl" ], 0, - "741462d7d225aa6c9085bb34fc4b179f" + "6de48bed0077718056b1916c84671065" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_contained", @@ -1441,10 +1465,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "21b87ad39003270bc5817834454341a8" + "fdb60d86295ccd0fe7e0a4f48abf5e71" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_contained", @@ -1461,8 +1485,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", + "b2t_def", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -1479,8 +1502,8 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.l_and", + "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", @@ -1489,10 +1512,11 @@ "fuel_guarded_inversion_Prims.c_and", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -1502,17 +1526,18 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "true_interp", "typing_DoublyLinkedList.nodelist", "typing_FStar.List.Tot.Base.splitAt", "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", @@ -1520,10 +1545,10 @@ "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.length", - "typing_Prims.__proj__Cons__item__tl", "unit_typing" + "typing_Prims.__proj__Cons__item__tl" ], 0, - "7c281d087c8a7836156be05c91f720bb" + "46e7fd7609042d5ea8b352068fbb95aa" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_aa", @@ -1535,10 +1560,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "cd79a0c313d3a7360d7748d9b1125a7c" + "8bf0bd3f44bab619883209765985733e" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_aa", @@ -1558,8 +1583,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", + "b2t_def", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", @@ -1569,7 +1593,8 @@ "equation_FStar.List.Tot.Base.tl", "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.Pervasives.Native.fst", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", + "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", @@ -1589,21 +1614,21 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_DoublyLinkedList.nodelist", "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.Pervasives.Native.fst", "typing_LowStar.Buffer.pointer", - "typing_Prims.__proj__Cons__item__tl", "unit_typing" + "typing_Prims.__proj__Cons__item__tl" ], 0, - "8671eaf5cbf5d22a4b53829d98bc02c8" + "da544750d99693516dd9283171680f59" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_conn", @@ -1615,10 +1640,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1f877fb6c323fe35f452cb125845c140" + "4126b356adec74da552ace9bf6a0b49a" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_conn", @@ -1634,9 +1659,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -1654,6 +1678,7 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", @@ -1662,7 +1687,6 @@ "fuel_guarded_inversion_DoublyLinkedList.node", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", @@ -1673,19 +1697,21 @@ "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "true_interp", "typing_DoublyLinkedList.nodelist", "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", @@ -1693,10 +1719,10 @@ "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.get", - "typing_Prims.__proj__Cons__item__tl", "unit_typing" + "typing_Prims.__proj__Cons__item__tl" ], 0, - "d3b85da398fa4b7fa16c359305e1bbf4" + "fe09ccad67a715f89b31b3d97b54bdf2" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_valid", @@ -1704,18 +1730,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_DoublyLinkedList.nodelist_valid", "equation_FStar.Pervasives.Native.fst", "equation_LowStar.Buffer.pointer", "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7690e3679e74387f946d3925c1bde20b" + "40b646c239cdec04062469d47d7dbc26" ], [ "DoublyLinkedList.nodelist_includes_r_fp0", @@ -1729,8 +1753,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_Prims.Cons", @@ -1738,7 +1762,8 @@ "equality_tok_Prims.LexTop@tok", "equation_DoublyLinkedList.nodelist", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", @@ -1746,7 +1771,7 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", "lemma_FStar.List.Tot.Properties.append_l_nil", "lemma_LowStar.Monotonic.Buffer.length_null_1", @@ -1763,8 +1788,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_DoublyLinkedList.nodelist_fp0", @@ -1776,7 +1801,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "f5ab61bf0fb21b967594c4f14522b475" + "0519a938dbbe2983a14746e730a9e7b2" ], [ "DoublyLinkedList.nodelist_includes_l_fp0", @@ -1787,10 +1812,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -1803,17 +1827,17 @@ "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.Pervasives.Native.fst", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_FStar.List.Tot.Properties.append_length", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", @@ -1827,19 +1851,21 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_DoublyLinkedList.nodelist_fp0", + "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.splitAt", - "typing_LowStar.Buffer.pointer", + "typing_FStar.List.Tot.Base.unsnoc", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.length", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "94d29d12b7a7d8d9061a0cc79baaaf6b" + "111e26e6dc1d86381d2741760543ba11" ], [ "DoublyLinkedList.tot_dll_to_piece", @@ -1898,7 +1924,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "e25a434dccf84bb28823f9419f93b79d" + "7eed8e9d0c063d306f9e1bc5b7a1a9de" ], [ "DoublyLinkedList.tot_dll_to_fragment", @@ -1947,7 +1973,7 @@ "true_interp" ], 0, - "5995b4b29d99c7df948a5160accfd705" + "6b9103acbe6aa865b9ae7e955054c84f" ], [ "DoublyLinkedList.tot_piece_to_dll", @@ -1991,7 +2017,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "17d1fb683d5c3470389d2d3f8a56d3c7" + "6c1c7f2af861f15aa5afc7b910d06211" ], [ "DoublyLinkedList.nodelist_append_contained", @@ -2005,8 +2031,7 @@ "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", + "@query", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_f1423d82bf01b6617461d37febfab8cb_3", "binder_x_fe28d8bcde588226b4e538b35321de05_0", @@ -2014,23 +2039,20 @@ "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_DoublyLinkedList.nodelist", "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.pointer", "equation_Prims.l_and", - "equation_Prims.squash", + "equation_LowStar.Buffer.pointer", "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.c_and", "fuel_guarded_inversion_Prims.list", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append", - "typing_LowStar.Buffer.pointer", "unit_typing" + "typing_LowStar.Buffer.pointer" ], 0, - "2f639b43a982dc9c24cea363dbe4ba6d" + "2253e606d0a6b4973d8aee0e4f22e9d1" ], [ "DoublyLinkedList.nodelist_append_fp0", @@ -2075,7 +2097,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "8059e52a7ee804e5b24a50fbbc8a0c4c" + "7782753a9aeac32e2b468883f42db139" ], [ "DoublyLinkedList.nodelist_append_aa_l", @@ -2090,8 +2112,7 @@ "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", + "@query", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "data_elim_Prims.Cons", "disc_equation_Prims.Nil", @@ -2107,8 +2128,7 @@ "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_DoublyLinkedList.fst_unsnoc_nodelist_fp0", "lemma_DoublyLinkedList.snd_unsnoc_nodelist_fp0", @@ -2121,8 +2141,8 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "true_interp", "typing_DoublyLinkedList.nodelist", "typing_DoublyLinkedList.nodelist_fp0", @@ -2137,7 +2157,7 @@ "well-founded-ordering-on-nat" ], 0, - "88f2baf39caf0f54b12ae8d925e8c5b5" + "26ed6727461d977eea4a92766c602ba1" ], [ "DoublyLinkedList.nodelist_append_aa_r", @@ -2183,7 +2203,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "511fa42b05ed28e58134b6a3c9dda815" + "1344c07a3640762e8030a761a69f163d" ], [ "DoublyLinkedList.nodelist_append_aa", @@ -2192,7 +2212,7 @@ 1, [ "@query", "equation_DoublyLinkedList.nodelist_aa" ], 0, - "08e4c5a4bb9d50b61cd8ee797b55f0b9" + "f94fbadc89ee4d31fbb12597c1f9eb1b" ], [ "DoublyLinkedList.nodelist_append_conn", @@ -2203,8 +2223,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Tm_unit", + "@query", "bool_inversion", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", "equation_FStar.List.Tot.Base.hd", @@ -2215,24 +2234,23 @@ "equation_LowStar.Buffer.pointer", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "lemma_FStar.Map.lemma_ContainsDom", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e00d2b650f798ad2f7b27d3e7e7d9947", + "refinement_interpretation_Tm_refine_8d5c849cc77dedc1ac4cd40a930af6dc", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer" ], 0, - "f4ecbcc643fbd474acefb42023e69a61" + "261726eb1b4f6b7f318c1bc56bda724d" ], [ "DoublyLinkedList.nodelist_append_conn", @@ -2251,9 +2269,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", + "@query", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_f1423d82bf01b6617461d37febfab8cb_3", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", @@ -2272,6 +2288,7 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", @@ -2282,11 +2299,9 @@ "fuel_guarded_inversion_DoublyLinkedList.node", "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", "primitive_Prims.op_Addition", @@ -2296,11 +2311,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", "subterm_ordering_Prims.Cons", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", @@ -2308,16 +2323,17 @@ "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_Prims.__proj__Cons__item__tl", "unit_typing" + "typing_Prims.__proj__Cons__item__tl" ], 0, - "a178ea3df01907e4a33ad39eb41ad4ca" + "52f9afdeb577eaca35d9a5b8dced973c" ], [ "DoublyLinkedList.nodelist_append_valid", @@ -2341,7 +2357,7 @@ "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" ], 0, - "4502cddbb25fee31db4a84e3b74fa326" + "fe8d3ac100f1a3ce46f76c23d69967ea" ], [ "DoublyLinkedList.loc_includes_union_r_inv", @@ -2353,7 +2369,7 @@ "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_" ], 0, - "c2d521267f6b5e6dbb135544d0084a83" + "1c6fe736a977f4b23a0c632431d3a89d" ], [ "DoublyLinkedList.piece_merge", @@ -2369,12 +2385,11 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c04f0dbd7149fd597225c7e6a7fb4b23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.nodelist", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.List.Tot.Base_interpretation_Tm_arrow_54e38bdd456bab4cdb32b5d540c2274c", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.nodelist_valid", "equation_DoublyLinkedList.piece_aa", "equation_DoublyLinkedList.piece_conn", @@ -2397,10 +2412,8 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", "function_token_typing_FStar.List.Tot.Base.append", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_FStar.List.Tot.Properties.append_length", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -2416,10 +2429,10 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", @@ -2428,7 +2441,7 @@ "typing_DoublyLinkedList.nodelist_fp0", "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer", @@ -2437,7 +2450,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "b4e764b7c3dc952275a039d09248f0fe" + "6b39421edfabf97d4ede68bbaac8317b" ], [ "DoublyLinkedList.piece_merge_fp0", @@ -2453,14 +2466,10 @@ "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c04f0dbd7149fd597225c7e6a7fb4b23", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", + "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.loc_equiv", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.piece_fp0", @@ -2478,12 +2487,8 @@ "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", - "function_token_typing_FStar.List.Tot.Base.append", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList.loc_includes_union_l_nodelist_fp0", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", @@ -2492,11 +2497,9 @@ "lemma_LowStar.Monotonic.Buffer.loc_union_comm", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", "proj_equation_DoublyLinkedList.Mkpiece_ptail", "projection_inverse_BoxInt_proj_0", "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", "projection_inverse_DoublyLinkedList.Mkpiece_ptail", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", @@ -2504,11 +2507,10 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", @@ -2518,18 +2520,19 @@ "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", "typing_DoublyLinkedList.nodelist", "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.elift2", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.append", + "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.reveal", + "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", "unit_typing" + "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "a67da600a33a35acabc2ece5816da29a" + "b400b8914d0fdee36b05d2371e692010" ], [ "DoublyLinkedList.fragment_defragmentable", @@ -2543,9 +2546,8 @@ "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", - "binder_x_ddee853f2c842d23328281e57b93ea69_2", + "@query", "binder_x_e7ecc91e947925d7f6aa2925c9dc78fc_2", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_DoublyLinkedList.Frag2", "constructor_distinct_DoublyLinkedList.Frag3", @@ -2573,12 +2575,9 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.fragment", "fuel_guarded_inversion_DoublyLinkedList.piece", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", - "kinding_Prims.list@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", + "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "projection_inverse_BoxBool_proj_0", "projection_inverse_DoublyLinkedList.Frag2__0", "projection_inverse_DoublyLinkedList.Frag2__1", @@ -2586,23 +2585,23 @@ "projection_inverse_DoublyLinkedList.Frag3__0", "projection_inverse_DoublyLinkedList.Frag3__1", "projection_inverse_DoublyLinkedList.Frag3__2", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ac725823b1e011cc2eedcb6dabe84131", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cda049e1b2813250ad68b4358ea76c0d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_084af5f636eef5ff667a3a2497095b48", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7c850c52b68a8aea226df354ab018551", "token_correspondence_DoublyLinkedList.piece_aa", "token_correspondence_DoublyLinkedList.piece_conn", "token_correspondence_DoublyLinkedList.piece_contained", "token_correspondence_DoublyLinkedList.piece_ghostly_connections", "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer" ], 0, - "3fcf98d7cb503c455a8dd91dd0807688" + "5f0dec71b674331f411c2c31e0298a3b" ], [ "DoublyLinkedList.single_piece_fragment_valid", @@ -2637,7 +2636,7 @@ "projection_inverse_DoublyLinkedList.Frag1_t", "true_interp" ], 0, - "bb0c970256485d677867d57f6f399852" + "44abad1084833a1fe580e1b4a99ac4ab" ], [ "DoublyLinkedList.tot_defragmentable_fragment_to_dll", @@ -2653,7 +2652,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "a6f11da0642586d7eeb5480e9ad52b43" + "0d50f27825dbff9c6695470650936f1c" ], [ "DoublyLinkedList.tot_defragmentable_fragment_to_dll", @@ -2667,19 +2666,23 @@ "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "bool_inversion", "constructor_distinct_DoublyLinkedList.Frag0", "constructor_distinct_DoublyLinkedList.Frag1", "constructor_distinct_DoublyLinkedList.Frag2", "constructor_distinct_DoublyLinkedList.Frag3", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", + "constructor_distinct_Prims.Nil", "data_elim_DoublyLinkedList.Frag3", + "data_typing_intro_Prims.Nil@tok", "disc_equation_DoublyLinkedList.Frag0", "disc_equation_DoublyLinkedList.Frag1", "disc_equation_DoublyLinkedList.Frag2", @@ -2687,6 +2690,7 @@ "equation_DoublyLinkedList.dll_aa", "equation_DoublyLinkedList.dll_conn", "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.dll_valid", "equation_DoublyLinkedList.empty_list", @@ -2702,33 +2706,47 @@ "equation_DoublyLinkedList.piece_ghostly_connections", "equation_DoublyLinkedList.piece_merge", "equation_DoublyLinkedList.piece_valid", + "equation_DoublyLinkedList.tot_piece_to_dll", "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_Prims.logical", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.fragment", - "interpretation_Tm_abs_6d4a5699418213d52de7df374c14aa1a", + "fuel_guarded_inversion_DoublyLinkedList.piece", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedList.loc_equiv_union_union_loc", + "lemma_DoublyLinkedList.loc_includes_union_l_piece_fp0", "lemma_FStar.Ghost.reveal_hide", "lemma_LowStar.Monotonic.Buffer.live_is_null", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem", "proj_equation_DoublyLinkedList.Mkdll_lhead", "proj_equation_DoublyLinkedList.Mkdll_ltail", "proj_equation_DoublyLinkedList.Mkdll_nodes", "proj_equation_DoublyLinkedList.Mkpiece_phead", + "proj_equation_DoublyLinkedList.Mkpiece_pnodes", "proj_equation_DoublyLinkedList.Mkpiece_ptail", "projection_inverse_BoxInt_proj_0", "projection_inverse_DoublyLinkedList.Frag0_t", @@ -2740,6 +2758,7 @@ "projection_inverse_DoublyLinkedList.Frag3__0", "projection_inverse_DoublyLinkedList.Frag3__1", "projection_inverse_DoublyLinkedList.Frag3__2", + "projection_inverse_DoublyLinkedList.Frag3_t", "projection_inverse_DoublyLinkedList.Mkdll_lhead", "projection_inverse_DoublyLinkedList.Mkdll_ltail", "projection_inverse_DoublyLinkedList.Mkdll_nodes", @@ -2751,19 +2770,28 @@ "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", "refinement_interpretation_Tm_refine_4e294032e8e7cb4a89a4715854334ceb", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "token_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", "token_correspondence_DoublyLinkedList.piece_aa", "token_correspondence_DoublyLinkedList.piece_conn", "token_correspondence_DoublyLinkedList.piece_contained", "token_correspondence_DoublyLinkedList.piece_ghostly_connections", + "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", + "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", + "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", + "typing_DoublyLinkedList.fragment_fp0", "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.piece_fp0", "typing_LowStar.Buffer.pointer", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.reveal", + "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_union", "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "02f13aef5d0f52bce19775759a31febe" + "41331d0eec2d847301cc797c69ec3d11" ], [ "DoublyLinkedList.nodelist_split_contained", @@ -2777,7 +2805,7 @@ "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", + "@query", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_f1423d82bf01b6617461d37febfab8cb_3", "binder_x_fe28d8bcde588226b4e538b35321de05_0", @@ -2798,7 +2826,7 @@ "typing_FStar.List.Tot.Base.append", "typing_LowStar.Buffer.pointer" ], 0, - "0d27808fd15038d9c388fe0b522d677d" + "215ef45a0bbe1377c042ba89ced4faf1" ], [ "DoublyLinkedList.nodelist_split_fp0", @@ -2828,7 +2856,8 @@ "equation_FStar.List.Tot.Base.op_At", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", + "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", @@ -2851,9 +2880,9 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "subterm_ordering_Prims.Cons", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", @@ -2867,7 +2896,7 @@ "unit_typing" ], 0, - "98c3c6318a34dbf6d5039309b565a261" + "bb999d98cb3db29d0c94338818541e3a" ], [ "DoublyLinkedList.nodelist_split_fp0_equiv", @@ -2914,7 +2943,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "e1a1b024a6ecb291e1de4b9aeb0c2c6d" + "a686c7b392111442a661da6d5d2ebd75" ], [ "DoublyLinkedList.nodelist_split_aa_l", @@ -2929,8 +2958,7 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", + "@query", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", @@ -2943,8 +2971,7 @@ "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_FStar.List.Tot.Properties.append_length", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", @@ -2955,8 +2982,8 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "true_interp", "typing_DoublyLinkedList.nodelist", "typing_DoublyLinkedList.nodelist_fp0", @@ -2970,7 +2997,7 @@ "well-founded-ordering-on-nat" ], 0, - "6a15246fa3a3728d29556e2ead64a268" + "628cfc5054e709ae33e9eb2738e40997" ], [ "DoublyLinkedList.nodelist_split_aa_r", @@ -3013,7 +3040,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "1a3cf1129ed5ba1b538e54ee85768d34" + "80268617fb439ea7e2d579a7f33deb9b" ], [ "DoublyLinkedList.nodelist_split_aa", @@ -3035,7 +3062,7 @@ "kinding_DoublyLinkedList.node@tok", "typing_LowStar.Buffer.pointer" ], 0, - "3ee7f29d2d942219aaa6a5c5d809a986" + "53f93e9433e60e52e6edc776d9636e13" ], [ "DoublyLinkedList.nodelist_split_conn", @@ -3045,28 +3072,25 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.pointer", "equation_Prims.l_and", + "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f07610f66217f863e609db1ce99597ae", + "refinement_interpretation_Tm_refine_94a25e1fa0ccc91f4cb6b8dd8c77f427", "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" ], 0, - "6b3246111a35de06f2c04fe7dd100440" + "4e4c28cb753a2aedad5c779fe2b5dcb1" ], [ "DoublyLinkedList.nodelist_split_conn", @@ -3083,9 +3107,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", + "@query", "b2t_def", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_f1423d82bf01b6617461d37febfab8cb_3", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", @@ -3104,6 +3126,7 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", @@ -3113,38 +3136,37 @@ "fuel_guarded_inversion_DoublyLinkedList.node", "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_GreaterThan", "proj_equation_DoublyLinkedList.Mknode_blink", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "true_interp", "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.get", - "typing_Prims.__proj__Cons__item__tl", "unit_typing" + "typing_Prims.__proj__Cons__item__tl" ], 0, - "14e9d2a504dbc41d9cac3a488a46a1d2" + "8d01dc91f9b7f2c3ebbb0ee85eaea336" ], [ "DoublyLinkedList.nodelist_split_valid", @@ -3154,10 +3176,9 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", + "@query", "b2t_def", "bool_inversion", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.nodelist_valid", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -3167,23 +3188,22 @@ "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", "unit_typing" + "typing_LowStar.Buffer.pointer" ], 0, - "288a68697ae296ea5b586d49fa9ddffd" + "684e4ed28fba50aec47db1e152007857" ], [ "DoublyLinkedList.dll_fp0_is_nodelist_fp0", @@ -3196,20 +3216,19 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "eq2-interp", + "@query", "data_elim_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.dll_fp0", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.loc_equiv", "equation_DoublyLinkedList.nodelist", "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", "equation_Prims.nat", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_DoublyLinkedList.dll", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_DoublyLinkedList.snd_unsnoc_nodelist_fp0", "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", @@ -3220,10 +3239,11 @@ "lemma_LowStar.Monotonic.Buffer.loc_union_comm", "lemma_LowStar.Monotonic.Buffer.loc_union_idem", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", + "proj_equation_DoublyLinkedList.Mkdll_lhead", "proj_equation_DoublyLinkedList.Mkdll_ltail", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", @@ -3238,7 +3258,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "9bfe0e5afb71060211cb5e65b9fcff8e" + "7761210aec074b63feb5d747359e3f05" ], [ "DoublyLinkedList.piece_fp0_is_nodelist_fp0", @@ -3252,19 +3272,18 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "eq2-interp", + "@query", "data_elim_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.loc_equiv", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.piece_fp0", "equation_DoublyLinkedList.piece_ghostly_connections", "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", + "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_DoublyLinkedList.snd_unsnoc_nodelist_fp0", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", @@ -3275,8 +3294,8 @@ "proj_equation_DoublyLinkedList.Mkpiece_phead", "proj_equation_DoublyLinkedList.Mkpiece_ptail", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", @@ -3287,7 +3306,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "06fa1a80709501e740ebeee6e1bde86e" + "441335303db268c2a648e5ea050dab8a" ], [ "DoublyLinkedList.tot_dll_to_fragment_split", @@ -3310,16 +3329,14 @@ "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pervasives.Native_interpretation_Tm_arrow_d952d001575ecb20c572af535c88dd2d", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "bool_inversion", "constructor_distinct_BoxInt", "constructor_distinct_DoublyLinkedList.Frag2", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_aa", + "data_elim_Prims.Cons", "disc_equation_DoublyLinkedList.Frag2", + "eq2-interp", "equation_DoublyLinkedList.dll_aa", "equation_DoublyLinkedList.dll_conn", "equation_DoublyLinkedList.dll_contained", "equation_DoublyLinkedList.dll_fp0", @@ -3342,7 +3359,6 @@ "equation_DoublyLinkedList.piece_ghostly_connections", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", @@ -3361,6 +3377,7 @@ "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", @@ -3368,18 +3385,15 @@ "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_DoublyLinkedList.piece_ghostly_connections", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", + "function_token_typing_FStar.Pervasives.Native.snd", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "l_not-interp", "l_or-interp", "lemma_DoublyLinkedList.lemma_non_null", "lemma_DoublyLinkedList.loc_equiv_trans", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -3407,14 +3421,13 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_1e5438d14bb17f473f9a1e9d1a7cf83c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_6e14d887d8a2f331e441fa58c68d3a85", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", "token_correspondence_DoublyLinkedList.piece_aa", @@ -3430,20 +3443,16 @@ "typing_DoublyLinkedList.nodelist_fp0", "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.elift1", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2", - "unit_typing" + "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" ], 0, - "bb1611ab31781ad9b7a702f553e8f941" + "e6c44128eb3e2852eadc78a08f576464" ], [ "DoublyLinkedList.tot_node_to_dll", @@ -3516,7 +3525,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "6ab0935d45fe4ad9f300fd7f5219c010" + "7e8b6b142e94173d7975a5687535c1d9" ], [ "DoublyLinkedList.singleton_dll", @@ -3524,29 +3533,50 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.tot_node_to_dll", + "equation_DoublyLinkedList.unchanged_node_val", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", "function_token_typing_FStar.Monotonic.Heap.heap", - "kinding_DoublyLinkedList.node@tok", + "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", + "l_and-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "refinement_interpretation_Tm_refine_3ead78d44040470adbd6731d02e1fdd5", + "proj_equation_DoublyLinkedList.Mkdll_nodes", + "projection_inverse_DoublyLinkedList.Mkdll_nodes", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_432e2e1111375a36707549fdc0ec4d94", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "b9723135f6dabb64a1a832cd55a6d749" + "c036ab5cebe91111b40314a3a6806a19" ], [ "DoublyLinkedList.tot_node_to_piece", @@ -3626,7 +3656,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "c8d02733cb292f9d506ce0a8966736c9" + "65003f3be0bbff6f65460cd5ecf3b3a1" ], [ "DoublyLinkedList.tot_piece_tail", @@ -3649,13 +3679,13 @@ "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", - "DoublyLinkedList_interpretation_Tm_arrow_be203b441592ef52057226e891688f92", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "DoublyLinkedList_interpretation_Tm_arrow_74052fd66e28589830ddad1d83f167d6", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", + "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "b2t_def", "bool_inversion", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.nodelist_aa", "equation_DoublyLinkedList.op_Bar_Greater", @@ -3664,6 +3694,7 @@ "equation_DoublyLinkedList.piece_contained", "equation_DoublyLinkedList.piece_ghostly_connections", "equation_DoublyLinkedList.piece_valid", + "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", @@ -3674,6 +3705,7 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", @@ -3684,12 +3716,10 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Ghost.tot_to_gtot", "function_token_typing_FStar.List.Tot.Base.tl", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_bc617b992456846c9e984a6621d98ca5", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_48cba56a704db0ed348fc817520f6956", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_DoublyLinkedList.nodelist_remains_aa_l", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", @@ -3702,30 +3732,32 @@ "projection_inverse_DoublyLinkedList.Mkpiece_phead", "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "refinement_interpretation_Tm_refine_452b3403ebb9435eff94eb9cbcd9ffef", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_5f14f727ad7fd036590459a1d0800770", "refinement_interpretation_Tm_refine_6879f2120f914ef1172937ef4916686b", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.Ghost.tot_to_gtot", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.tl", "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", - "typing_Tm_abs_bc617b992456846c9e984a6621d98ca5" + "typing_Tm_abs_48cba56a704db0ed348fc817520f6956" ], 0, - "aeed72a82059ad12c8909603a99a9810" + "a1dcf12e08a56f6d13760f81546f9194" ], [ "DoublyLinkedList.lemma_dll_links_contained", @@ -3742,8 +3774,7 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_Prims.Cons", + "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_DoublyLinkedList.Mkdll", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", @@ -3762,6 +3793,7 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", @@ -3775,7 +3807,6 @@ "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", @@ -3793,20 +3824,20 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_52fd52c3e96fb4b41742efc8f738b032", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_FStar.List.Tot.Base.index", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer", @@ -3814,10 +3845,10 @@ "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.mnull", - "typing_Prims.__proj__Cons__item__tl", "unit_typing" + "typing_Prims.__proj__Cons__item__tl" ], 0, - "336d7ef2edaa06c37a3c70f2380f02e2" + "ac34424114307dadca1be2ebbac16dbb" ], [ "DoublyLinkedList.lemma_dll_links_disjoint", @@ -3835,11 +3866,9 @@ "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_Prims.Cons", + "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "data_elim_DoublyLinkedList.Mkdll", - "data_elim_DoublyLinkedList.Mknode", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.dll_aa", @@ -3862,22 +3891,20 @@ "equation_FStar.Pervasives.Native.snd", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_DoublyLinkedList.node", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", @@ -3885,6 +3912,7 @@ "lemma_DoublyLinkedList.snd_unsnoc_nodelist_fp0", "lemma_FStar.List.Tot.Properties.append_length", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", @@ -3910,17 +3938,18 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_52fd52c3e96fb4b41742efc8f738b032", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", + "refinement_interpretation_Tm_refine_774f7ae5017fb58700597faf7e3bcccd", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", @@ -3930,15 +3959,18 @@ "typing_DoublyLinkedList.nodelist", "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.List.Tot.Base.index", + "typing_FStar.List.Tot.Base.last", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.splitAt", "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", + "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.len", @@ -3949,7 +3981,7 @@ "unit_typing" ], 0, - "67d0be18cb9ddca5f6e863fc73c4c91c" + "dccd6b5738da10273237be353b574d76" ], [ "DoublyLinkedList.nodelist_remains_valid", @@ -3965,7 +3997,6 @@ "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", @@ -3973,28 +4004,27 @@ "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_2", - "binder_x_d0311cd50dcabda288e07699f600548a_3", + "binder_x_8358b93aec0670665ebb4c0f52fc04b7_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", "binder_x_f1423d82bf01b6617461d37febfab8cb_4", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.nodelist_aa", "equation_DoublyLinkedList.nodelist_valid", - "equation_FStar.List.Tot.Base.hd", + "equation_DoublyLinkedList.op_Bar_Greater", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", @@ -4003,34 +4033,28 @@ "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", "fuel_guarded_inversion_DoublyLinkedList.node", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "lemma_DoublyLinkedList.nodelist_remains_aa_l", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedList.nodelist_remains_aa_l", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", "subterm_ordering_Prims.Cons", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.Map.contains", + "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer", @@ -4039,7 +4063,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "b95acb2ba66b3b7a7e073b427ef341b4" + "23fb6858459cdd68bc27be4275afa824" ], [ "DoublyLinkedList.piece_remains_valid", @@ -4096,7 +4120,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "c51de77b97d14533f22f97767e29107d" + "c8671ed8b7e0ee574dff817e645d6493" ], [ "DoublyLinkedList.piece_remains_valid_b", @@ -4121,8 +4145,7 @@ "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Prims.Cons", + "@query", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", @@ -4161,11 +4184,9 @@ "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "lemma_DoublyLinkedList.nodelist_remains_aa_l", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedList.nodelist_remains_aa_l", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -4184,13 +4205,13 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", @@ -4201,6 +4222,7 @@ "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.last", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.tl", "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer", @@ -4209,7 +4231,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "a75956d788d227f2fe9c6ef049f0e802" + "6c6405d67f4d221d20ce81a1acfd1c43" ], [ "DoublyLinkedList.piece_remains_valid_f", @@ -4237,6 +4259,7 @@ "eq2-interp", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.nodelist_aa", "equation_DoublyLinkedList.nodelist_valid", + "equation_DoublyLinkedList.op_Bar_Greater", "equation_DoublyLinkedList.op_Less_Bar", "equation_DoublyLinkedList.piece_aa", "equation_DoublyLinkedList.piece_conn", @@ -4245,6 +4268,8 @@ "equation_DoublyLinkedList.piece_valid", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.snoc", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -4253,22 +4278,23 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eq2", + "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_DoublyLinkedList.snd_unsnoc_nodelist_fp0", @@ -4285,6 +4311,8 @@ "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mknode_blink", + "proj_equation_DoublyLinkedList.Mknode_flink", "proj_equation_DoublyLinkedList.Mkpiece_phead", "proj_equation_DoublyLinkedList.Mkpiece_ptail", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -4295,60 +4323,292 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "refinement_interpretation_Tm_refine_e88aba6d4c79a5625ab4330932edf7ed", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mknode__item__blink", + "true_interp", "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", "typing_DoublyLinkedList.nodelist_fp0", + "typing_FStar.List.Tot.Base.index", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.splitAt", "typing_FStar.Map.contains", + "typing_FStar.List.Tot.Base.splitAt", + "typing_FStar.List.Tot.Base.tl", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "ef7a547c80e9fa7723d141001ce58d1a" + "931bc0a382b0167c96f55711999a623b" ], [ - "DoublyLinkedList.dll_insert_at_head", + "DoublyLinkedList._auto_empty_dll", 1, 2, - 0, + 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_DoublyLinkedList.Frag1", - "constructor_distinct_DoublyLinkedList.Frag2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_typing_intro_DoublyLinkedList.Frag2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_DoublyLinkedList.Frag1", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "data_elim_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_LowStar.Buffer.buffer", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", + "primitive_Prims.op_Addition", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", + "typing_LowStar.Buffer.pointer" + ], + 0, + "1f49ced8efecb7394ee51851ae4dcf03" + ], + [ + "DoublyLinkedList.aux_unchanged_payload", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_a7fdc201a8ae2706f0931690143bdf76" + ], + 0, + "4bc5134b2acc81085a57874990f4b38f" + ], + [ + "DoublyLinkedList.aux_unchanged_payload", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "binder_x_47316f87bc732b0210927e772e74af94_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_f1423d82bf01b6617461d37febfab8cb_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.unchanged_node_val", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.node", + "fuel_guarded_inversion_Prims.list", "int_typing", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_or-interp", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_08f310903374cd33eafddcf362888833", + "refinement_interpretation_Tm_refine_52514895d5d5a0f27fe930981499c697", + "refinement_interpretation_Tm_refine_532ba21e30048b3e1b88e64a9308942a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_621cb8e62f8c5cc0006f0de06712d6a4", + "refinement_interpretation_Tm_refine_b85e371ee94860db54c28e7c643486c7", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_e10e0ee228bec168f40cc6711b037dec", + "true_interp", "typing_DoublyLinkedList.nodelist_fp0", + "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "well-founded-ordering-on-nat" + ], + 0, + "16d31d6665b07459cc4dd37d07c06827" + ], + [ + "DoublyLinkedList.aux_unchanged_payload_nomod", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@query", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_f1423d82bf01b6617461d37febfab8cb_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.unchanged_node_val", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "subterm_ordering_Prims.Cons", "true_interp", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none" + ], + 0, + "c652496a088707d5735e69ecf0571c7a" + ], + [ + "DoublyLinkedList.aux_unchanged_payload_transitive", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@query", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_3", + "binder_x_f1423d82bf01b6617461d37febfab8cb_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.unchanged_node_val", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.pointer", + "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "l_and-interp", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "subterm_ordering_Prims.Cons" + ], + 0, + "27d2ba8947117743ad2b33f35d82c21e" + ], + [ + "DoublyLinkedList.aux_unchanged_payload_append", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", + "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_f1423d82bf01b6617461d37febfab8cb_3", + "binder_x_f1423d82bf01b6617461d37febfab8cb_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_DoublyLinkedList.nodelist", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.pointer", "equation_Prims.l_and", + "equation_Prims.prop", "equation_Prims.squash", + "equation_Prims.subtype_of", + "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "fuel_guarded_inversion_Prims.c_and", + "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", + "subterm_ordering_Prims.Cons", + "typing_DoublyLinkedList.unchanged_node_vals", + "typing_FStar.List.Tot.Base.append", "typing_LowStar.Buffer.pointer", + "unit_inversion", "unit_typing" + ], + 0, + "9c294ae1394124a7693f3e2217b761d7" + ], + [ + "DoublyLinkedList.dll_insert_at_head", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@query", "bool_inversion", + "constructor_distinct_DoublyLinkedList.Frag1", + "constructor_distinct_DoublyLinkedList.Frag2", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_DoublyLinkedList.Frag2@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_DoublyLinkedList.Frag1", + "disc_equation_DoublyLinkedList.Frag2", "eq2-interp", + "equation_DoublyLinkedList.dll_aa", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", "equation_DoublyLinkedList.dll_fp0", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.dll_valid", @@ -4358,7 +4618,9 @@ "equation_DoublyLinkedList.fragment_valid", "equation_DoublyLinkedList.node_not_in_dll", "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.nodelist_aa", "equation_DoublyLinkedList.nonempty_dll", + "equation_DoublyLinkedList.op_Bar_Greater", "equation_DoublyLinkedList.op_Less_Bar", "equation_DoublyLinkedList.piece_conn", "equation_DoublyLinkedList.piece_contained", @@ -4368,6 +4630,7 @@ "equation_DoublyLinkedList.tot_dll_to_fragment", "equation_DoublyLinkedList.tot_dll_to_piece", "equation_DoublyLinkedList.tot_node_to_piece", + "equation_DoublyLinkedList.unchanged_node_val", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.List.Tot.Base.hd", "equation_FStar.Monotonic.Heap.equal_dom", @@ -4378,8 +4641,7 @@ "equation_LowStar.Buffer.pointer_or_null", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", @@ -4390,23 +4652,25 @@ "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", "function_token_typing_DoublyLinkedList.piece_aa", "function_token_typing_DoublyLinkedList.piece_conn", "function_token_typing_DoublyLinkedList.piece_contained", "function_token_typing_DoublyLinkedList.piece_ghostly_connections", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_6d4a5699418213d52de7df374c14aa1a", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", + "l_or-interp", "lemma_DoublyLinkedList._auto_empty_dll", "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -4415,19 +4679,19 @@ "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", "lemma_LowStar.Monotonic.Buffer.loc_union_comm", "lemma_LowStar.Monotonic.Buffer.loc_union_idem", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_Addition", "proj_equation_DoublyLinkedList.Mkdll_lhead", "proj_equation_DoublyLinkedList.Mkdll_ltail", "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mknode_blink", "proj_equation_DoublyLinkedList.Mkpiece_phead", "proj_equation_DoublyLinkedList.Mkpiece_pnodes", "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_DoublyLinkedList.Frag1__0", "projection_inverse_DoublyLinkedList.Frag1_t", @@ -4437,60 +4701,51 @@ "projection_inverse_DoublyLinkedList.Mkpiece_phead", "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_2a7e9c31800cd4a66118e4e5c0d2f66b", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_3ead78d44040470adbd6731d02e1fdd5", + "refinement_interpretation_Tm_refine_3e6be2a3291a50cbceea47cab192fc75", + "refinement_interpretation_Tm_refine_432e2e1111375a36707549fdc0ec4d94", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_64fd66712866fd699083320bb3e5fbbc", - "refinement_interpretation_Tm_refine_6e14d887d8a2f331e441fa58c68d3a85", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", "refinement_interpretation_Tm_refine_ed67a49e7765f4bfc329a9d51ec1270c", + "refinement_interpretation_Tm_refine_f9b251d68c00bfbbccdc0fd4967308e0", "token_correspondence_DoublyLinkedList.piece_conn", "token_correspondence_DoublyLinkedList.piece_contained", "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.dll_fp_b", - "typing_DoublyLinkedList.dll_fp_f", - "typing_DoublyLinkedList.node_fp_b", - "typing_DoublyLinkedList.node_fp_f", "typing_DoublyLinkedList.nodelist", "typing_DoublyLinkedList.nodelist_fp0", "typing_DoublyLinkedList.piece_fp0", "typing_DoublyLinkedList.tot_dll_to_piece", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.length", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_union", "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "c308632cb8f67a12769f1a89fe1a8575" + "e30aebd5a898ba3d541abde6e06b32a3" ], [ "DoublyLinkedList.dll_insert_at_tail", 1, 2, - 0, + 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", @@ -4498,23 +4753,34 @@ "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "constructor_distinct_DoublyLinkedList.Frag1", "constructor_distinct_DoublyLinkedList.Frag2", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", + "data_elim_Prims.Cons", "data_typing_intro_DoublyLinkedList.Frag2@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", - "disc_equation_DoublyLinkedList.Frag1", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.dll_conn", + "disc_equation_DoublyLinkedList.Frag1", + "disc_equation_DoublyLinkedList.Frag2", "disc_equation_Prims.Cons", + "eq2-interp", "equation_DoublyLinkedList.dll_aa", + "equation_DoublyLinkedList.dll_conn", "equation_DoublyLinkedList.dll_contained", "equation_DoublyLinkedList.dll_fp0", "equation_DoublyLinkedList.dll_ghostly_connections", @@ -4523,55 +4789,69 @@ "equation_DoublyLinkedList.fragment_for_each0", "equation_DoublyLinkedList.fragment_for_each1", "equation_DoublyLinkedList.fragment_valid", + "equation_DoublyLinkedList.loc_equiv", "equation_DoublyLinkedList.node_not_in_dll", "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.nodelist_aa", "equation_DoublyLinkedList.nonempty_dll", "equation_DoublyLinkedList.op_Bar_Greater", + "equation_DoublyLinkedList.op_Less_Bar", "equation_DoublyLinkedList.piece_conn", "equation_DoublyLinkedList.piece_contained", "equation_DoublyLinkedList.piece_fp0", "equation_DoublyLinkedList.piece_valid", - "equation_DoublyLinkedList.tot_defragmentable_fragment_to_dll", "equation_DoublyLinkedList.tot_dll_to_fragment", "equation_DoublyLinkedList.tot_dll_to_piece", "equation_DoublyLinkedList.tot_node_to_piece", + "equation_DoublyLinkedList.unchanged_node_val", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.snoc", + "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_stack_region", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.pointer_or_null", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", + "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.equals", + "fuel_guarded_inversion_Prims.list", "function_token_typing_DoublyLinkedList.piece_aa", "function_token_typing_DoublyLinkedList.piece_conn", "function_token_typing_DoublyLinkedList.piece_contained", "function_token_typing_DoublyLinkedList.piece_ghostly_connections", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_6d4a5699418213d52de7df374c14aa1a", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", + "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", + "l_and-interp", "l_not-interp", + "lemma_DoublyLinkedList._auto_empty_dll", "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", + "lemma_FStar.List.Tot.Properties.lemma_index_memP", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -4582,19 +4862,25 @@ "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", "lemma_LowStar.Monotonic.Buffer.loc_union_comm", "lemma_LowStar.Monotonic.Buffer.loc_union_idem", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "proj_equation_DoublyLinkedList.Mkdll_lhead", "proj_equation_DoublyLinkedList.Mkdll_ltail", "proj_equation_DoublyLinkedList.Mkdll_nodes", + "proj_equation_DoublyLinkedList.Mknode_blink", + "proj_equation_DoublyLinkedList.Mknode_flink", "proj_equation_DoublyLinkedList.Mkpiece_phead", "proj_equation_DoublyLinkedList.Mkpiece_pnodes", "proj_equation_DoublyLinkedList.Mkpiece_ptail", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_DoublyLinkedList.Frag1__0", @@ -4611,56 +4897,78 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_2a7e9c31800cd4a66118e4e5c0d2f66b", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_3ead78d44040470adbd6731d02e1fdd5", + "refinement_interpretation_Tm_refine_3e6be2a3291a50cbceea47cab192fc75", + "refinement_interpretation_Tm_refine_432e2e1111375a36707549fdc0ec4d94", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_64fd66712866fd699083320bb3e5fbbc", - "refinement_interpretation_Tm_refine_6e14d887d8a2f331e441fa58c68d3a85", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_883337e358bc56af1380199d288d85ea", "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", "refinement_interpretation_Tm_refine_ed67a49e7765f4bfc329a9d51ec1270c", "token_correspondence_DoublyLinkedList.piece_conn", "token_correspondence_DoublyLinkedList.piece_contained", + "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.dll_fp_b", - "typing_DoublyLinkedList.dll_fp_f", - "typing_DoublyLinkedList.node_fp_b", - "typing_DoublyLinkedList.node_fp_f", "typing_DoublyLinkedList.nodelist", "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedList.piece_fp0", "typing_DoublyLinkedList.tot_dll_to_piece", - "typing_DoublyLinkedList.tot_node_to_piece", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.hd", - "typing_FStar.List.Tot.Base.last", - "typing_FStar.List.Tot.Base.length", + "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_union", "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "2d0f7ddaa886115cb2995d0fa7c97c89" + "a04945a69077a30bf27090a4d20b7f32" ], [ - "DoublyLinkedList.dll_insert_after", + "DoublyLinkedList._l_insert_after", 1, 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", + "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", "kinding_Prims.list@tok", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + ], + 0, + "e59fda0227f942ce7ea960a5d7a90124" + ], + [ + "DoublyLinkedList.dll_insert_after", + 1, 2, + 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", @@ -4674,8 +4982,9 @@ "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp_f.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", @@ -4683,34 +4992,25 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@query", - "DoublyLinkedList_interpretation_Tm_arrow_3b1e6967ede63e40603ae718188b3e43", - "FStar.Ghost_interpretation_Tm_arrow_e364de514b8cfa10a64218d0f843f2bd", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_93d1a29208250c79b53313a09bc6c72f", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_BoxInt", "constructor_distinct_DoublyLinkedList.Frag2", "constructor_distinct_DoublyLinkedList.Frag3", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_DoublyLinkedList.Frag2", + "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_Prims.Cons", "data_typing_intro_DoublyLinkedList.Frag2@tok", "data_typing_intro_DoublyLinkedList.Frag3@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", - "disc_equation_DoublyLinkedList.Frag2", "disc_equation_Prims.Cons", + "disc_equation_DoublyLinkedList.Frag2", + "disc_equation_DoublyLinkedList.Frag3", "disc_equation_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.dll_aa", "equation_DoublyLinkedList.dll_conn", "equation_DoublyLinkedList.dll_contained", "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_fp_b", - "equation_DoublyLinkedList.dll_fp_f", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.dll_valid", "equation_DoublyLinkedList.fragment_aa", @@ -4730,6 +5030,7 @@ "equation_DoublyLinkedList.piece_valid", "equation_DoublyLinkedList.tot_dll_to_fragment_split", "equation_DoublyLinkedList.tot_node_to_piece", + "equation_DoublyLinkedList.unchanged_node_val", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.split3", @@ -4740,14 +5041,15 @@ "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_stack_region", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.pointer_or_null", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", - "equation_Prims.l_True", "equation_Prims.nat", - "equation_Prims.squash", + "equation_Prims.l_True", "equation_Prims.logical", + "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", @@ -4759,29 +5061,26 @@ "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_DoublyLinkedList.fragment", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_DoublyLinkedList.piece_aa", "function_token_typing_DoublyLinkedList.piece_conn", "function_token_typing_DoublyLinkedList.piece_contained", "function_token_typing_DoublyLinkedList.piece_ghostly_connections", - "function_token_typing_FStar.List.Tot.Properties.split_using", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_d0f4d0750aee5c6c21de612f4760a681", - "kinding_DoublyLinkedList.node@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Prims.list@tok", "l_and-interp", "l_not-interp", - "l_or-interp", "lemma_DoublyLinkedList.lemma_non_null", + "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", + "l_and-interp", "l_or-interp", + "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", @@ -4792,26 +5091,25 @@ "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", "lemma_LowStar.Monotonic.Buffer.loc_union_comm", "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", "proj_equation_DoublyLinkedList.Mknode_blink", "proj_equation_DoublyLinkedList.Mknode_flink", "proj_equation_DoublyLinkedList.Mkpiece_phead", @@ -4835,30 +5133,26 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_2a7e9c31800cd4a66118e4e5c0d2f66b", - "refinement_interpretation_Tm_refine_3d7b649663b4fab04cceb6e2c2c28fc1", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0bff7197fb6b2b2c957164190fd1d042", + "refinement_interpretation_Tm_refine_1c64adda5c7e63e25cc91fd733045080", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_3e6be2a3291a50cbceea47cab192fc75", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667", + "refinement_interpretation_Tm_refine_4daa5aea1f8d9ab8efe3c041985c20e1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_60615e112db050dff0da18a1fe8ab035", - "refinement_interpretation_Tm_refine_61bdd0e8dbbdcbe4e208cd41f59ba087", - "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_6e14d887d8a2f331e441fa58c68d3a85", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_98ca670bd55536995d93a04216011e2e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_bf8841a0fad4c4d761cd4032c1778dd4", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_d19bdea4645e737a8e9dbfa7dd17a72f", - "refinement_interpretation_Tm_refine_df0f47acea0b626f36992dc2a652236d", - "refinement_interpretation_Tm_refine_f91d486b69f3dae78b717a88fc16aabd", + "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f5f90df9a00fb1f306857e80bd78f6ce", + "token_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_DoublyLinkedList.piece_aa", "token_correspondence_DoublyLinkedList.piece_conn", @@ -4867,21 +5161,11 @@ "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.dll_fp_b", - "typing_DoublyLinkedList.dll_fp_f", - "typing_DoublyLinkedList.fragment_fp0", - "typing_DoublyLinkedList.node_fp_b", - "typing_DoublyLinkedList.node_fp_f", + "typing_DoublyLinkedList.nodelist", "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.nodelist_fp_f", - "typing_DoublyLinkedList.piece_fp0", - "typing_DoublyLinkedList.tot_dll_to_fragment_split", - "typing_FStar.Ghost.elift1", "typing_FStar.Ghost.elift2_p", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.index", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.split3", "typing_FStar.List.Tot.Base.tl", @@ -4889,18 +5173,32 @@ "typing_FStar.List.Tot.Properties.index_of", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Buffer.pointer", + "typing_FStar.Set.singleton", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_regions", "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull", - "typing_Tm_abs_d0f4d0750aee5c6c21de612f4760a681", "unit_typing" + "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" + ], + 0, + "289466d3bea8a2a4270c1e25d5e8bc60" + ], + [ + "DoublyLinkedList._l_insert_before", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71" ], 0, - "9ae8f2f73902220938a7d9048b332b17" + "29696c04e140428047555cdd95efb571" ], [ "DoublyLinkedList.dll_insert_before", @@ -4909,23 +5207,40 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.dll_conn", + "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", + "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "eq2-interp", "equation_DoublyLinkedList._l_insert_before", + "equation_DoublyLinkedList.dll_aa", + "equation_DoublyLinkedList.dll_conn", "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.loc_equiv", + "equation_DoublyLinkedList.node_not_in_dll", "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.nodelist_aa", "equation_DoublyLinkedList.op_Bar_Greater", "equation_DoublyLinkedList.op_Less_Bar", "equation_FStar.List.Tot.Base.hd", @@ -4933,64 +5248,107 @@ "equation_FStar.List.Tot.Base.tl", "equation_FStar.Monotonic.HyperStack.is_stack_region", "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_FStar.UInt.fits", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eq2", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.squash", + "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "l_not-interp", "l_or-interp", + "l_and-interp", "l_or-interp", + "lemma_DoublyLinkedList._auto_empty_dll", "lemma_FStar.List.Tot.Properties.lemma_index_memP", + "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_Subtraction", "proj_equation_DoublyLinkedList.Mkdll_lhead", "proj_equation_DoublyLinkedList.Mkdll_ltail", "proj_equation_DoublyLinkedList.Mknode_blink", + "proj_equation_DoublyLinkedList.Mknode_flink", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2a7e9c31800cd4a66118e4e5c0d2f66b", - "refinement_interpretation_Tm_refine_3d7b649663b4fab04cceb6e2c2c28fc1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_0bff7197fb6b2b2c957164190fd1d042", + "refinement_interpretation_Tm_refine_1c64adda5c7e63e25cc91fd733045080", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_52fd52c3e96fb4b41742efc8f738b032", + "refinement_interpretation_Tm_refine_3e6be2a3291a50cbceea47cab192fc75", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_60615e112db050dff0da18a1fe8ab035", - "refinement_interpretation_Tm_refine_61bdd0e8dbbdcbe4e208cd41f59ba087", + "refinement_interpretation_Tm_refine_774f7ae5017fb58700597faf7e3bcccd", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98ca670bd55536995d93a04216011e2e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_d19bdea4645e737a8e9dbfa7dd17a72f", + "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f5f90df9a00fb1f306857e80bd78f6ce", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mknode__item__flink", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.index", "typing_FStar.List.Tot.Base.tl", "typing_FStar.List.Tot.Properties.index_of", + "typing_FStar.List.Tot.Properties.split_using", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_LowStar.Buffer.pointer", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_union", "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" ], 0, - "cc7a23079ed82d7156e973bb1cc0e63a" + "208717605a007275c8123f1588d2be47" ], [ "DoublyLinkedList.dll_remove_head", @@ -5004,6 +5362,7 @@ "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", @@ -5011,20 +5370,31 @@ "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", + "DoublyLinkedList_interpretation_Tm_arrow_67515729f19bcf2d961c429a16eec6f0", + "FStar.Ghost_interpretation_Tm_ghost_arrow_4f9eac2d0622ae1c34d05baa5f6854c6", + "FStar.List.Tot.Properties_interpretation_Tm_ghost_arrow_583c096a402961cd40d8b718fb07bacc", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pervasives.Native_interpretation_Tm_arrow_d952d001575ecb20c572af535c88dd2d", + "FStar.Pervasives_interpretation_Tm_arrow_eb9b1a038524b37579c152a3f169145e", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "bool_inversion", "constructor_distinct_DoublyLinkedList.Frag1", - "constructor_distinct_DoublyLinkedList.Frag2", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_DoublyLinkedList.Mkdll", "data_elim_Prims.Cons", + "data_elim_Prims.Cons", "data_typing_intro_DoublyLinkedList.Frag1@tok", + "disc_equation_DoublyLinkedList.Frag1", "disc_equation_DoublyLinkedList.Frag2", "disc_equation_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.dll_aa", "equation_DoublyLinkedList.dll_conn", "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.dll_valid", "equation_DoublyLinkedList.empty_list", @@ -5032,24 +5402,36 @@ "equation_DoublyLinkedList.fragment_for_each0", "equation_DoublyLinkedList.fragment_for_each1", "equation_DoublyLinkedList.fragment_valid", + "equation_DoublyLinkedList.loc_equiv", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.nodelist_aa", "equation_DoublyLinkedList.op_Bar_Greater", + "equation_DoublyLinkedList.op_Less_Bar", + "equation_DoublyLinkedList.piece_fp0", + "equation_DoublyLinkedList.piece_ghostly_connections", "equation_DoublyLinkedList.piece_valid", + "equation_DoublyLinkedList.tot_defragmentable_fragment_to_dll", "equation_DoublyLinkedList.tot_dll_to_fragment_split", + "equation_DoublyLinkedList.tot_piece_to_dll", + "equation_DoublyLinkedList.unchanged_node_val", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperStack.is_stack_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", @@ -5057,18 +5439,24 @@ "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_DoublyLinkedList.fragment", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", "fuel_guarded_inversion_Prims.list", "function_token_typing_DoublyLinkedList.piece_conn", "function_token_typing_DoublyLinkedList.piece_contained", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "function_token_typing_FStar.List.Tot.Properties.split_using", + "function_token_typing_FStar.Pervasives.Native.fst", + "function_token_typing_FStar.Pervasives.Native.snd", "int_inversion", + "interpretation_Tm_abs_4b5371ade7ad9017745f7ed26082816f", + "kinding_DoublyLinkedList.node@tok", + "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "l_not-interp", "l_or-interp", "lemma_DoublyLinkedList.lemma_non_null", + "lemma_DoublyLinkedList.loc_equiv_union_union_loc", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", "lemma_FStar.UInt32.uv_inv", @@ -5076,34 +5464,54 @@ "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.live_is_null", "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "primitive_Prims.op_GreaterThan", "proj_equation_DoublyLinkedList.Mkdll_lhead", "proj_equation_DoublyLinkedList.Mkdll_ltail", "proj_equation_DoublyLinkedList.Mkdll_nodes", + "proj_equation_DoublyLinkedList.Mknode_blink", "proj_equation_DoublyLinkedList.Mkpiece_phead", + "proj_equation_DoublyLinkedList.Mkpiece_pnodes", "proj_equation_DoublyLinkedList.Mkpiece_ptail", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_DoublyLinkedList.Frag1__0", "projection_inverse_DoublyLinkedList.Frag1_t", + "projection_inverse_DoublyLinkedList.Frag2__0", "projection_inverse_DoublyLinkedList.Frag2__1", "projection_inverse_DoublyLinkedList.Mkdll_lhead", "projection_inverse_DoublyLinkedList.Mkdll_ltail", "projection_inverse_DoublyLinkedList.Mkdll_nodes", "projection_inverse_DoublyLinkedList.Mkpiece_phead", + "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_Prims.Nil_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_1a3131810ca45941a5ff10e548140be0", + "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_503bcd37191e340f6465f9d403e36673", + "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_6e14d887d8a2f331e441fa58c68d3a85", + "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", + "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_cf9d29550920706b893d54ef227756d4", + "refinement_interpretation_Tm_refine_da8cacb605f077cebf46369bd4bfb97a", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "token_correspondence_DoublyLinkedList.piece_aa", "token_correspondence_DoublyLinkedList.piece_conn", "token_correspondence_DoublyLinkedList.piece_contained", @@ -5112,75 +5520,699 @@ "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.empty_list", + "typing_DoublyLinkedList.fragment_fp0", "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Base.hd", "typing_LowStar.Buffer.pointer", + "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.elift1", + "typing_FStar.Ghost.elift2_p", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.hd", + "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mnull" + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull", + "typing_Tm_abs_4b5371ade7ad9017745f7ed26082816f" ], 0, - "8b11d672eb207232b694bba43016bdf5" + "f08c138c49acb148c187a7bc6b23a614" ], [ - "DoublyLinkedList.dll_remove_tail", + "DoublyLinkedList._lemma_only_head_can_point_left_to_null", 1, 2, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_DoublyLinkedList.Frag1", - "constructor_distinct_DoublyLinkedList.Frag2", - "constructor_distinct_Prims.Nil", "data_elim_DoublyLinkedList.Mkdll", - "data_elim_Prims.Cons", "data_elim_Prims.Refl", + "@query", "disc_equation_Prims.Cons", + "equation_DoublyLinkedList.nodelist", + "equation_LowStar.Buffer.pointer", "equation_Prims.squash", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_f72cecb41adf72945267f4346000ff05", + "typing_LowStar.Buffer.pointer" + ], + 0, + "c0f46b0695e68042d9164ef0bffdb9e2" + ], + [ + "DoublyLinkedList._lemma_only_head_can_point_left_to_null", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "binder_x_27214f305888e3e3602ca20e11f35db7_2", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_f1423d82bf01b6617461d37febfab8cb_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "eq2-interp", "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Less_Bar", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.squash", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.node", + "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", + "l_or-interp", "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "subterm_ordering_Prims.Cons", "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "d6fd0f6262a583bc382d4c8e5bc47c5f" + ], + [ + "DoublyLinkedList._lemma_only_tail_can_point_right_to_null", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "disc_equation_Prims.Cons", + "equation_DoublyLinkedList.nodelist", + "equation_LowStar.Buffer.pointer", "equation_Prims.squash", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7e9e339d4c8cef4afaa65a339f751525", + "typing_LowStar.Buffer.pointer" + ], + 0, + "37879cce13828a68704fedc7304ee9b8" + ], + [ + "DoublyLinkedList._lemma_only_tail_can_point_right_to_null", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "binder_x_27214f305888e3e3602ca20e11f35db7_2", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_f1423d82bf01b6617461d37febfab8cb_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "eq2-interp", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Bar_Greater", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.squash", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.node", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_or-interp", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "subterm_ordering_Prims.Cons", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "90d33162cd23c129e2a60d5f2d471069" + ], + [ + "DoublyLinkedList._lemma_all_nodes_are_unique", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Tm_unit", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "equation_DoublyLinkedList.nodelist", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.pointer", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_DoublyLinkedList.node@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_LowStar.Buffer.pointer" + ], + 0, + "7ec750eafa7c7003766bfa00eb04a531" + ], + [ + "DoublyLinkedList._lemma_all_nodes_are_unique", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_f1423d82bf01b6617461d37febfab8cb_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Less_Bar", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.node", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", "kinding_DoublyLinkedList.node@tok", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mknode_blink", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_305f4ba37065e80ee7fa4285bda3b81e", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "typing_FStar.List.Tot.Base.index", + "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.mnull", + "well-founded-ordering-on-nat" + ], + 0, + "871b67e7eed211c88062124d2a0a3bdf" + ], + [ + "DoublyLinkedList.dll_remove_tail", + 1, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", + "DoublyLinkedList_interpretation_Tm_arrow_67515729f19bcf2d961c429a16eec6f0", + "FStar.Ghost_interpretation_Tm_ghost_arrow_4f9eac2d0622ae1c34d05baa5f6854c6", + "FStar.List.Tot.Properties_interpretation_Tm_ghost_arrow_583c096a402961cd40d8b718fb07bacc", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pervasives.Native_interpretation_Tm_arrow_d952d001575ecb20c572af535c88dd2d", + "FStar.Pervasives_interpretation_Tm_arrow_eb9b1a038524b37579c152a3f169145e", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "constructor_distinct_DoublyLinkedList.Frag1", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "data_elim_Prims.Left", "data_typing_intro_DoublyLinkedList.Frag1@tok", "data_typing_intro_Prims.Nil@tok", + "disc_equation_DoublyLinkedList.Frag1", "disc_equation_DoublyLinkedList.Frag2", "disc_equation_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.dll_aa", "equation_DoublyLinkedList.dll_conn", "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.empty_list", + "equation_DoublyLinkedList.fragment_aa", + "equation_DoublyLinkedList.fragment_for_each0", + "equation_DoublyLinkedList.fragment_for_each1", + "equation_DoublyLinkedList.fragment_valid", + "equation_DoublyLinkedList.loc_equiv", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.nodelist_aa", + "equation_DoublyLinkedList.op_Bar_Greater", + "equation_DoublyLinkedList.op_Less_Bar", + "equation_DoublyLinkedList.piece_conn", + "equation_DoublyLinkedList.piece_fp0", + "equation_DoublyLinkedList.piece_ghostly_connections", + "equation_DoublyLinkedList.piece_valid", + "equation_DoublyLinkedList.tot_dll_to_fragment_split", + "equation_DoublyLinkedList.unchanged_node_val", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.snoc", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.List.Tot.Base.unsnoc", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", + "equation_Prims.l_or", "equation_Prims.logical", + "equation_Prims.nat", "equation_Prims.squash", + "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.c_or", + "fuel_guarded_inversion_Prims.equals", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_DoublyLinkedList.piece_conn", + "function_token_typing_DoublyLinkedList.piece_contained", + "function_token_typing_FStar.List.Tot.Properties.split_using", + "function_token_typing_FStar.Pervasives.Native.fst", + "function_token_typing_FStar.Pervasives.Native.snd", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", + "interpretation_Tm_abs_4b5371ade7ad9017745f7ed26082816f", + "kinding_DoublyLinkedList.node@tok", + "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", + "l_not-interp", "lemma_DoublyLinkedList.lemma_non_null", + "lemma_DoublyLinkedList.loc_equiv_union_union_loc", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", + "lemma_FStar.List.Tot.Properties.lemma_index_memP", + "lemma_FStar.List.Tot.Properties.lemma_snoc_unsnoc", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_refl", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "proj_equation_DoublyLinkedList.Mkdll_nodes", + "proj_equation_DoublyLinkedList.Mknode_flink", + "proj_equation_DoublyLinkedList.Mkpiece_phead", + "proj_equation_DoublyLinkedList.Mkpiece_pnodes", + "proj_equation_DoublyLinkedList.Mkpiece_ptail", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_DoublyLinkedList.Frag1__0", + "projection_inverse_DoublyLinkedList.Frag1_t", + "projection_inverse_DoublyLinkedList.Frag2__0", + "projection_inverse_DoublyLinkedList.Frag2__1", + "projection_inverse_DoublyLinkedList.Mkdll_lhead", + "projection_inverse_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_DoublyLinkedList.Mkdll_nodes", + "projection_inverse_DoublyLinkedList.Mkpiece_phead", + "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", + "projection_inverse_DoublyLinkedList.Mkpiece_ptail", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", + "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", + "refinement_interpretation_Tm_refine_1c64adda5c7e63e25cc91fd733045080", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", + "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_cf9d29550920706b893d54ef227756d4", + "refinement_interpretation_Tm_refine_da8cacb605f077cebf46369bd4bfb97a", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "token_correspondence_DoublyLinkedList.piece_aa", + "token_correspondence_DoublyLinkedList.piece_conn", + "token_correspondence_DoublyLinkedList.piece_contained", + "token_correspondence_DoublyLinkedList.piece_ghostly_connections", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Properties.split_using", + "token_correspondence_FStar.Pervasives.Native.fst", "true_interp", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist", + "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.elift1", + "typing_FStar.Ghost.elift2_p", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.hd", + "typing_FStar.List.Tot.Base.index", "typing_FStar.List.Tot.Base.tl", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2", + "typing_Tm_abs_4b5371ade7ad9017745f7ed26082816f" + ], + 0, + "558d5ff03b227fde66331c79ecf772e6" + ], + [ + "DoublyLinkedList._l_remove_mid", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_FStar.List.Tot.Base.hd", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", "kinding_Prims.list@tok", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + ], + 0, + "ef1c3600e6c0acd7624bd1079d823748" + ], + [ + "DoublyLinkedList.dll_remove_node", + 1, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "bool_inversion", "constructor_distinct_Prims.Nil", + "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", + "data_elim_DoublyLinkedList.Mknode", "data_elim_Prims.Cons", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "eq2-interp", "equation_DoublyLinkedList._l_remove_mid", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Bar_Greater", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.UInt.fits", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", + "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_DoublyLinkedList.node", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", + "proj_equation_DoublyLinkedList.Mknode_blink", + "proj_equation_DoublyLinkedList.Mknode_flink", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_019e2778ae7794508eed7500312ddd73", + "refinement_interpretation_Tm_refine_1c64adda5c7e63e25cc91fd733045080", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", + "refinement_interpretation_Tm_refine_cf9d29550920706b893d54ef227756d4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f5f90df9a00fb1f306857e80bd78f6ce", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.__proj__Mknode__item__blink", + "typing_DoublyLinkedList.__proj__Mknode__item__flink", + "typing_DoublyLinkedList._l_remove_mid", + "typing_DoublyLinkedList.nodelist", + "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.reveal", + "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.length", + "typing_FStar.List.Tot.Base.tl", + "typing_FStar.List.Tot.Properties.index_of", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2", + "unit_typing" + ], + 0, + "8cad8e59796c717a1197e50097f86af8" + ], + [ + "DoublyLinkedList.dll_append", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "bool_inversion", + "constructor_distinct_DoublyLinkedList.Frag2", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "data_typing_intro_DoublyLinkedList.Frag2@tok", + "disc_equation_DoublyLinkedList.Frag2", "eq2-interp", + "equation_DoublyLinkedList.dll_aa", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.empty_list", "equation_DoublyLinkedList.fragment_aa", "equation_DoublyLinkedList.fragment_for_each0", "equation_DoublyLinkedList.fragment_for_each1", "equation_DoublyLinkedList.fragment_valid", + "equation_DoublyLinkedList.loc_equiv", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.nodelist_aa", + "equation_DoublyLinkedList.op_Bar_Greater", "equation_DoublyLinkedList.op_Less_Bar", + "equation_DoublyLinkedList.piece_aa", + "equation_DoublyLinkedList.piece_contained", + "equation_DoublyLinkedList.piece_fp0", + "equation_DoublyLinkedList.piece_ghostly_connections", "equation_DoublyLinkedList.piece_valid", - "equation_DoublyLinkedList.tot_dll_to_fragment_split", + "equation_DoublyLinkedList.tot_defragmentable_fragment_to_dll", + "equation_DoublyLinkedList.tot_dll_to_piece", + "equation_DoublyLinkedList.unchanged_node_val", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", + "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_stack_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", @@ -5189,89 +6221,94 @@ "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_DoublyLinkedList.fragment", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", + "function_token_typing_DoublyLinkedList.piece_aa", "function_token_typing_DoublyLinkedList.piece_conn", "function_token_typing_DoublyLinkedList.piece_contained", - "function_token_typing_LowStar.Monotonic.Buffer.loc_none", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "l_not-interp", + "function_token_typing_DoublyLinkedList.piece_ghostly_connections", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", + "l_or-interp", "lemma_DoublyLinkedList._auto_empty_dll", "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.Ghost.reveal_hide", + "lemma_DoublyLinkedList.loc_equiv_union_union_loc", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", + "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_DoublyLinkedList.Mkdll_lhead", "proj_equation_DoublyLinkedList.Mkdll_ltail", "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mknode_blink", "proj_equation_DoublyLinkedList.Mkpiece_phead", + "proj_equation_DoublyLinkedList.Mkpiece_pnodes", "proj_equation_DoublyLinkedList.Mkpiece_ptail", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Frag1__0", - "projection_inverse_DoublyLinkedList.Frag1_t", "projection_inverse_DoublyLinkedList.Frag2__0", - "projection_inverse_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_DoublyLinkedList.Mkdll_nodes", + "projection_inverse_DoublyLinkedList.Frag2__1", + "projection_inverse_DoublyLinkedList.Frag2_t", "projection_inverse_DoublyLinkedList.Mkpiece_phead", + "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", "projection_inverse_DoublyLinkedList.Mkpiece_ptail", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_1a3131810ca45941a5ff10e548140be0", - "refinement_interpretation_Tm_refine_3d7b649663b4fab04cceb6e2c2c28fc1", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_503bcd37191e340f6465f9d403e36673", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_6e14d887d8a2f331e441fa58c68d3a85", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_e3895ad0345b2c62cc7ef40e555f5a4b", - "token_correspondence_DoublyLinkedList.piece_aa", - "token_correspondence_DoublyLinkedList.piece_conn", - "token_correspondence_DoublyLinkedList.piece_contained", - "token_correspondence_DoublyLinkedList.piece_ghostly_connections", + "refinement_interpretation_Tm_refine_da87f078a0fba2eb564b6fb89072ac2b", + "refinement_interpretation_Tm_refine_ee34ac562af661ae8d87b03924dd3e80", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Base.tl", "typing_FStar.UInt32.v", + "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist", + "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.reveal", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mnull", "unit_typing" + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "7bbf432a2dbe27d2a95ec298fce3cb13" + "a3823f0700e126841ea1d8b845f0b913" ], [ - "DoublyLinkedList.dll_remove_node", + "DoublyLinkedList.dll_split_using", 1, 2, 1, @@ -5281,8 +6318,10 @@ "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", @@ -5292,45 +6331,46 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", "@query", - "DoublyLinkedList_interpretation_Tm_arrow_3b1e6967ede63e40603ae718188b3e43", - "FStar.Ghost_interpretation_Tm_arrow_e364de514b8cfa10a64218d0f843f2bd", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_93d1a29208250c79b53313a09bc6c72f", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_DoublyLinkedList.Frag2", - "constructor_distinct_Prims.Cons", + "DoublyLinkedList_interpretation_Tm_arrow_67515729f19bcf2d961c429a16eec6f0", + "FStar.Ghost_interpretation_Tm_ghost_arrow_4f9eac2d0622ae1c34d05baa5f6854c6", + "FStar.List.Tot.Properties_interpretation_Tm_ghost_arrow_583c096a402961cd40d8b718fb07bacc", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pervasives.Native_interpretation_Tm_arrow_d952d001575ecb20c572af535c88dd2d", + "FStar.Pervasives_interpretation_Tm_arrow_eb9b1a038524b37579c152a3f169145e", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_DoublyLinkedList.Mknode", "data_elim_Prims.Cons", - "data_typing_intro_DoublyLinkedList.Frag2@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_DoublyLinkedList.Frag2", "disc_equation_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.dll_aa", "equation_DoublyLinkedList.dll_conn", "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.empty_list", "equation_DoublyLinkedList.fragment_aa", "equation_DoublyLinkedList.fragment_for_each0", "equation_DoublyLinkedList.fragment_for_each1", "equation_DoublyLinkedList.fragment_valid", + "equation_DoublyLinkedList.loc_equiv", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.nodelist_aa", "equation_DoublyLinkedList.op_Bar_Greater", "equation_DoublyLinkedList.op_Less_Bar", - "equation_DoublyLinkedList.piece_conn", "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", "equation_DoublyLinkedList.piece_valid", "equation_DoublyLinkedList.tot_dll_to_fragment_split", - "equation_DoublyLinkedList.tot_piece_tail", + "equation_DoublyLinkedList.tot_piece_to_dll", + "equation_DoublyLinkedList.unchanged_node_val", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", @@ -5339,20 +6379,23 @@ "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_stack_region", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.pointer_or_null", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.squash", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", + "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", @@ -5362,26 +6405,22 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_DoublyLinkedList.fragment", "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", - "function_token_typing_DoublyLinkedList.piece_aa", - "function_token_typing_DoublyLinkedList.piece_conn", - "function_token_typing_DoublyLinkedList.piece_contained", - "function_token_typing_DoublyLinkedList.piece_ghostly_connections", "function_token_typing_FStar.List.Tot.Properties.split_using", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pervasives.Native.snd", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_d0f4d0750aee5c6c21de612f4760a681", + "interpretation_Tm_abs_4b5371ade7ad9017745f7ed26082816f", "kinding_DoublyLinkedList.node@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "l_not-interp", "l_or-interp", + "lemma_DoublyLinkedList._auto_empty_dll", "lemma_DoublyLinkedList.lemma_non_null", + "lemma_DoublyLinkedList.loc_equiv_union_union_loc", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", @@ -5390,76 +6429,93 @@ "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", + "lemma_LowStar.Monotonic.Buffer.modifies_refl", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "proj_equation_DoublyLinkedList.Mkdll_nodes", "proj_equation_DoublyLinkedList.Mknode_blink", "proj_equation_DoublyLinkedList.Mknode_flink", "proj_equation_DoublyLinkedList.Mkpiece_phead", "proj_equation_DoublyLinkedList.Mkpiece_pnodes", "proj_equation_DoublyLinkedList.Mkpiece_ptail", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_DoublyLinkedList.Frag2__0", "projection_inverse_DoublyLinkedList.Frag2__1", - "projection_inverse_DoublyLinkedList.Frag2_t", + "projection_inverse_DoublyLinkedList.Mkdll_lhead", + "projection_inverse_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_DoublyLinkedList.Mkdll_nodes", "projection_inverse_DoublyLinkedList.Mkpiece_phead", "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_019e2778ae7794508eed7500312ddd73", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_1a3131810ca45941a5ff10e548140be0", - "refinement_interpretation_Tm_refine_3d7b649663b4fab04cceb6e2c2c28fc1", + "refinement_interpretation_Tm_refine_1c64adda5c7e63e25cc91fd733045080", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667", - "refinement_interpretation_Tm_refine_52fd52c3e96fb4b41742efc8f738b032", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_60615e112db050dff0da18a1fe8ab035", - "refinement_interpretation_Tm_refine_61bdd0e8dbbdcbe4e208cd41f59ba087", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", "refinement_interpretation_Tm_refine_6e14d887d8a2f331e441fa58c68d3a85", + "refinement_interpretation_Tm_refine_774f7ae5017fb58700597faf7e3bcccd", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_d19bdea4645e737a8e9dbfa7dd17a72f", - "refinement_interpretation_Tm_refine_f8cb2c2656add503443e3a800fddd532", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f5f90df9a00fb1f306857e80bd78f6ce", "token_correspondence_DoublyLinkedList.piece_aa", "token_correspondence_DoublyLinkedList.piece_conn", "token_correspondence_DoublyLinkedList.piece_contained", "token_correspondence_DoublyLinkedList.piece_ghostly_connections", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Properties.split_using", + "token_correspondence_FStar.Pervasives.Native.fst", + "token_correspondence_FStar.Pervasives.Native.snd", "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", "typing_DoublyLinkedList.__proj__Mknode__item__blink", "typing_DoublyLinkedList.__proj__Mknode__item__flink", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.empty_list", "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.elift1", + "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.elift1", "typing_FStar.Ghost.elift2_p", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.index", - "typing_FStar.List.Tot.Base.tl", + "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.hd", + "typing_FStar.List.Tot.Base.last", "typing_FStar.List.Tot.Base.tl", "typing_FStar.List.Tot.Properties.index_of", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.g_is_null", @@ -5467,12 +6523,13 @@ "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none", "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull", - "typing_Tm_abs_d0f4d0750aee5c6c21de612f4760a681", "unit_typing" + "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2", + "typing_Tm_abs_4b5371ade7ad9017745f7ed26082816f" ], 0, - "2b6c8d52eff111e8c7e1efdfd05ed4d3" + "9362141ca1aaddb9dfa59077c8de13fb" ], [ "DoublyLinkedList.lemma_non_null", @@ -5481,7 +6538,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "f53ca9424895bf10463714e0880bf6a1" + "1501fac5220d0c6e5d032ccdbac2b324" ], [ "DoublyLinkedList.op_At", @@ -5494,7 +6551,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "f8bf45c683b148160ac8071544a81b79" + "8d1da4a916a251446976342ac66969d0" ], [ "DoublyLinkedList.op_Hat_At", @@ -5503,47 +6560,43 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer_or_null", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_49875fd7a8a9e5d480065968845f9c04", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "2bc80378e9b72b6564a20c706e13d220" + "467924697b03ca381636b9723b0008a0" ], [ "DoublyLinkedList.__proj__Frag1__item___0", @@ -5557,7 +6610,7 @@ "refinement_interpretation_Tm_refine_d56d2c22716a132051de7449f1f9f54c" ], 0, - "f5df7d67ee39fc7882abf4bc649c5b0d" + "dbe4827be1f6a2c2f79f07ae322f44fe" ], [ "DoublyLinkedList.__proj__Frag2__item___0", @@ -5571,7 +6624,7 @@ "refinement_interpretation_Tm_refine_70bbde2f8ce7313b7302658284bddacb" ], 0, - "37765fc4c64426014cfb141ebf84b533" + "b3cb2ff5ed280c02a5c4585abc17000c" ], [ "DoublyLinkedList.__proj__Frag2__item___1", @@ -5585,7 +6638,7 @@ "refinement_interpretation_Tm_refine_70bbde2f8ce7313b7302658284bddacb" ], 0, - "aa540a2dc40de5c1aed257f02f7c6915" + "d2a0b7797912a21adb9da524b63eb4cf" ], [ "DoublyLinkedList.__proj__Frag3__item___0", @@ -5599,7 +6652,7 @@ "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" ], 0, - "08877175b2b5ff573f71ddc4376af2ad" + "37915121669ce4a7b900a8a54019b228" ], [ "DoublyLinkedList.__proj__Frag3__item___1", @@ -5613,7 +6666,7 @@ "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" ], 0, - "600dfcd5c3e00670e76d85de53a86606" + "34bef09704a0c0ec73183c2b131c0910" ], [ "DoublyLinkedList.__proj__Frag3__item___2", @@ -5627,7 +6680,7 @@ "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" ], 0, - "e34dac3ba0dcaf62bbe53093a0e2b395" + "0dfc358a5511d36453327f592c400bd5" ], [ "DoublyLinkedList.empty_node", @@ -5643,7 +6696,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "067fda782c74adc20e1522352a386b47" + "959becdf2118bc852825dba20eb255e2" ], [ "DoublyLinkedList.empty_list", @@ -5659,7 +6712,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "b03868fee5daaea56e05cfb8c24c8fd8" + "9918e779dd167d1cde33efb80868f0d9" ], [ "DoublyLinkedList.fragment_for_each0", @@ -5675,7 +6728,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "68eb2e1c510e0c0c2c8195b016b1899e" + "176c66021425f3e732b1d4f52b5ca374" ], [ "DoublyLinkedList.fragment_for_each1", @@ -5691,7 +6744,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "73007c07640f523180a136a4057da24d" + "5b9bbe835cdd0b33ae11530286391c58" ], [ "DoublyLinkedList.fragment_length", @@ -5707,7 +6760,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "3dc36b478a2da7ebfd2f770c95d0ef04" + "121f967e667cac148e8984011f797537" ], [ "DoublyLinkedList.dll_ghostly_connections", @@ -5723,11 +6776,11 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "int_inversion", "kinding_DoublyLinkedList.node@tok", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LowStar.Buffer.pointer" ], 0, - "8d824825d67187c09d1457a6f86a1186" + "f5b7ff604af7b0f060850589239b2910" ], [ "DoublyLinkedList.piece_ghostly_connections", @@ -5743,11 +6796,11 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "int_inversion", "kinding_DoublyLinkedList.node@tok", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LowStar.Buffer.pointer" ], 0, - "ed686ad8c56822ad929d2eb8a2d2a1e4" + "ec2bd927c8252f4327b0f457a312b18d" ], [ "DoublyLinkedList.nodelist_contained0", @@ -5765,7 +6818,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "dcf6bbbca11a9b6a468684dbcc8b8761" + "8d5c972b984b12b1f4d5273276d9848b" ], [ "DoublyLinkedList.nodelist_fp0", @@ -5781,7 +6834,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "7bfd04a265c423cc5e0f6471e1939acb" + "d748f496077a54530ad4c064bdea4ff9" ], [ "DoublyLinkedList.nodelist_fp_f", @@ -5799,7 +6852,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "3f0524c3f1867eb8b088339a683cafa1" + "694edc9a1f7cf989581dd3b67e44362e" ], [ "DoublyLinkedList.nodelist_fp_b", @@ -5817,7 +6870,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "199d22fc2d360cbd53e8a079f5974c89" + "b394a1ba2fe348512a02592c46f67030" ], [ "DoublyLinkedList.dll_fp_f", @@ -5834,7 +6887,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "927b68f936944fd4be0ba2b898d8ada7" + "5d936c04c262149c6418c0d871cb5f53" ], [ "DoublyLinkedList.dll_fp_b", @@ -5851,7 +6904,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "7e9dfd2e038ae229321e6529e4ae7457" + "4c098c75935398ed843cbc58e0738ef9" ], [ "DoublyLinkedList.fragment_fp0", @@ -5868,7 +6921,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "29519f94d94443dc62a4dcca2be327d8" + "a66d78dfb8577df96895a87677dcac59" ], [ "DoublyLinkedList.nodelist_aa_r", @@ -5884,7 +6937,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "eb7708c9c2a597195fbbb3274d0cd6c1" + "babbb65da54c971434e1b6eb665e63d4" ], [ "DoublyLinkedList.nodelist_aa_l", @@ -5895,28 +6948,26 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "@query", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "data_elim_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_DoublyLinkedList.nodelist", "equation_FStar.Pervasives.Native.fst", "equation_LowStar.Buffer.pointer", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_typing", "kinding_DoublyLinkedList.node@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", "well-founded-ordering-on-nat" ], 0, - "06e31740c7edb2d6dcaa0f1afaa66680" + "a1bb5aa170911a6ee65bda1cbd61ea65" ], [ "DoublyLinkedList.fragment_aa_lr", @@ -5933,7 +6984,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "8a0a0d96a53175d04112b80ba5603593" + "4f0588e9c7a54da64b3830aacc4ac486" ], [ "DoublyLinkedList.op_Bar_Greater", @@ -5942,7 +6993,7 @@ 1, [ "@query" ], 0, - "be2c33d4c71e091636cb205764de56e2" + "39929e5cf39e4f08b39ccf3ebfe5a0a3" ], [ "DoublyLinkedList.op_Less_Bar", @@ -5951,7 +7002,7 @@ 1, [ "@query" ], 0, - "13e1e76b3023a90f0f6d3f0bb0ae9f64" + "9edf2422d791b889a942e4c2fb6d2769" ], [ "DoublyLinkedList.nodelist_conn", @@ -5962,8 +7013,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", + "@query", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -5971,19 +7021,18 @@ "equation_LowStar.Buffer.pointer", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "kinding_DoublyLinkedList.node@tok", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", "well-founded-ordering-on-nat" ], 0, - "0c6ee5c1ac5e32e955f71ffc9a0f475b" + "17cf2d24cc040edc26e1255f9fa9ac86" ], [ "DoublyLinkedList.dll_conn", @@ -5992,18 +7041,19 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "data_elim_DoublyLinkedList.Mkdll", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_DoublyLinkedList.dll", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "int_typing", "kinding_DoublyLinkedList.node@tok", "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.vu_inv", @@ -6014,10 +7064,10 @@ "proj_equation_DoublyLinkedList.Mkdll_ltail", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", @@ -6025,7 +7075,79 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "ac2e69d09c747004423cd2ee01f93deb" + "ceb7ca928c13d70714543d14e77c2d56" + ], + [ + "DoublyLinkedList.unchanged_node_val", + 2, + 2, + 1, + [ "@query" ], + 0, + "447337270f016ff310e91e06e538ce3b" + ], + [ + "DoublyLinkedList.unchanged_node_vals", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_0da546199211a769a972571cdb3aec67", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "binder_x_f1423d82bf01b6617461d37febfab8cb_3", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equality_tok_Prims.T@tok", + "equation_DoublyLinkedList.nodelist", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.pointer", "equation_Prims.l_True", + "equation_Prims.l_and", "equation_Prims.squash", + "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "subterm_ordering_Prims.Cons", "typing_tok_Prims.T@tok", + "unit_typing" + ], + 0, + "1b6cf95ce2f125047df794cc5c6f8822" + ], + [ + "DoublyLinkedList.op_Equals_Bar_Greater", + 2, + 2, + 1, + [ "@query" ], + 0, + "b17a2d440d0e5189f38b16a61e64fbe2" + ], + [ + "DoublyLinkedList.op_Less_Bar_Equals", + 2, + 2, + 1, + [ "@query" ], + 0, + "9001ae550ffcc34676e527527fa0bfa9" + ], + [ + "DoublyLinkedList.op_Bang_Equals_Bar_Greater", + 2, + 2, + 1, + [ "@query" ], + 0, + "395c1e2be858f377fbd0458726b09ac3" + ], + [ + "DoublyLinkedList.op_Bang_Less_Bar_Equals", + 2, + 2, + 1, + [ "@query" ], + 0, + "6a716b1b8b4ded67588bd4f18a003c1a" ], [ "DoublyLinkedList.extract_nodelist_conn", @@ -6035,17 +7157,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@query", "equation_LowStar.Buffer.pointer", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fe57d3c9e95eb10538a40285d12bbe1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_e283e0657d8af1b34ba4daa2465b0138" ], 0, - "6f9d687380876743893b79f8d981ee14" + "a8baf598105c0ba43994e8f8d0130722" ], [ "DoublyLinkedList.nodelist_remains_aa_l", @@ -6055,22 +7175,20 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "constructor_distinct_Tm_unit", + "@query", "b2t_def", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", "equation_LowStar.Buffer.pointer", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" ], 0, - "d873120012c16a2ecb070b6c95784795" + "0a0323f6764e4e812ec76fff80c4f228" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_fp0", @@ -6081,10 +7199,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7da938b34000542bc19a27384e08a1a7" + "c4f49469cab025d065ce53a4fa59a242" ], [ "DoublyLinkedList.snd_unsnoc_nodelist_fp0", @@ -6095,10 +7213,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "48d87413abb22f249560db0b28e6b373" + "d9059fcadd88e570ba83145424519398" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_contained", @@ -6110,10 +7228,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c13818ab287ee17e960af2300f947759" + "f31baca2072cbb4f1cf45d965c1234b9" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_aa", @@ -6125,10 +7243,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a04faf96528abee9c1e7098f37f34e3a" + "5e18bf0aa8879ab63b982aeb4eb65ca8" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_conn", @@ -6140,10 +7258,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d7121978f5def24e9dc7d9bb4bd26958" + "0d913c65fd8a1e9d8e7a50b4e8fa6d97" ], [ "DoublyLinkedList.fst_unsnoc_nodelist_valid", @@ -6155,10 +7273,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "82d870176f672e5c62e28d78cecdb587" + "27bd379f4db83de62fffaa5998389e36" ], [ "DoublyLinkedList.tot_dll_to_piece", @@ -6217,7 +7335,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "28f2590ba9f667d5ea19310d4f2cf445" + "d4dbbb885fb160dae56d4fcbc27c6d31" ], [ "DoublyLinkedList.tot_dll_to_fragment", @@ -6266,7 +7384,7 @@ "true_interp" ], 0, - "39f31665ca877ad455790041949cf95a" + "663d9fc5184c34749fece510c63d5288" ], [ "DoublyLinkedList.tot_piece_to_dll", @@ -6310,7 +7428,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "de68c113cef7b8847aa9fe6f2a108df4" + "162af45eaab5c227041b9cf4dd5354c0" ], [ "DoublyLinkedList.tot_piece_to_dll", @@ -6328,7 +7446,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "742ad8e9580bc17e96b7789286e49ece" + "c5ad37716b7c016ea3a006c6452183c1" ], [ "DoublyLinkedList.nodelist_append_conn", @@ -6355,7 +7473,7 @@ "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" ], 0, - "5eb0959e227fb99a41e5b9d8df763eb9" + "403d6e0807c818d7e78295c361ae0d9e" ], [ "DoublyLinkedList.nodelist_append_valid", @@ -6378,7 +7496,7 @@ "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" ], 0, - "e3d3889ce11af527fc2107b2143599eb" + "33e5114fa8191a6503b60581f2682ed8" ], [ "DoublyLinkedList.piece_merge", @@ -6394,12 +7512,12 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c04f0dbd7149fd597225c7e6a7fb4b23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.nodelist", + "DoublyLinkedList_pretyping_3af7365c5f7bdaf0dff061828b22fd81", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.List.Tot.Base_interpretation_Tm_arrow_54e38bdd456bab4cdb32b5d540c2274c", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.nodelist_valid", "equation_DoublyLinkedList.piece_aa", "equation_DoublyLinkedList.piece_conn", @@ -6414,7 +7532,7 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_Prims.eq2", "equation_Prims.nat", + "equation_Prims.nat", "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", @@ -6422,10 +7540,8 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", "function_token_typing_FStar.List.Tot.Base.append", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_FStar.List.Tot.Properties.append_length", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -6441,10 +7557,10 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", @@ -6453,7 +7569,7 @@ "typing_DoublyLinkedList.nodelist_fp0", "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer", @@ -6462,7 +7578,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "0ffbaec9d29d97900a2e067488cb050f" + "7c50e63d3fd2af6db55b61e277e65b9a" ], [ "DoublyLinkedList.piece_merge", @@ -6472,8 +7588,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Tm_unit", + "@query", "bool_inversion", "constructor_distinct_Tm_unit", "data_elim_DoublyLinkedList.Mkpiece", "disc_equation_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.piece_ghostly_connections", @@ -6485,27 +7600,26 @@ "equation_LowStar.Buffer.pointer", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "proj_equation_DoublyLinkedList.Mkpiece_phead", "proj_equation_DoublyLinkedList.Mkpiece_ptail", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer" ], 0, - "2c734da4e0bdf121916d6e60c720ed51" + "cdbb977d5054052cae3d44c79e40dd40" ], [ "DoublyLinkedList.piece_merge_fp0", @@ -6515,10 +7629,8 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", + "@query", "bool_inversion", "constructor_distinct_Tm_unit", + "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.piece_ghostly_connections", "equation_DoublyLinkedList.piece_valid", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -6529,24 +7641,23 @@ "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", "unit_typing" + "typing_LowStar.Buffer.pointer" ], 0, - "b6dc44e6d69683d4daea7687bce8f80e" + "c4517213e510adf0a4f4002427b94743" ], [ "DoublyLinkedList.fragment_defragmentable", @@ -6560,9 +7671,8 @@ "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", - "binder_x_ddee853f2c842d23328281e57b93ea69_2", + "@query", "binder_x_e7ecc91e947925d7f6aa2925c9dc78fc_2", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_DoublyLinkedList.Frag2", "constructor_distinct_DoublyLinkedList.Frag3", @@ -6590,12 +7700,9 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.fragment", "fuel_guarded_inversion_DoublyLinkedList.piece", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", - "kinding_Prims.list@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", + "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "projection_inverse_BoxBool_proj_0", "projection_inverse_DoublyLinkedList.Frag2__0", "projection_inverse_DoublyLinkedList.Frag2__1", @@ -6603,23 +7710,23 @@ "projection_inverse_DoublyLinkedList.Frag3__0", "projection_inverse_DoublyLinkedList.Frag3__1", "projection_inverse_DoublyLinkedList.Frag3__2", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ac725823b1e011cc2eedcb6dabe84131", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cda049e1b2813250ad68b4358ea76c0d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_084af5f636eef5ff667a3a2497095b48", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7c850c52b68a8aea226df354ab018551", "token_correspondence_DoublyLinkedList.piece_aa", "token_correspondence_DoublyLinkedList.piece_conn", "token_correspondence_DoublyLinkedList.piece_contained", "token_correspondence_DoublyLinkedList.piece_ghostly_connections", "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.pointer" ], 0, - "2ed9cf3f1cb4a2761b2c1650480b75f5" + "66249ffb9d2828e42e0ff04c0466b8ec" ], [ "DoublyLinkedList.tot_defragmentable_fragment_to_dll", @@ -6635,7 +7742,7 @@ "fuel_guarded_inversion_DoublyLinkedList.fragment" ], 0, - "a28c5082431e95a623cd74b59fa9af53" + "173db53fcf9bf82e4fc2f1307f6c6259" ], [ "DoublyLinkedList.tot_defragmentable_fragment_to_dll", @@ -6649,19 +7756,23 @@ "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "bool_inversion", "constructor_distinct_DoublyLinkedList.Frag0", "constructor_distinct_DoublyLinkedList.Frag1", "constructor_distinct_DoublyLinkedList.Frag2", "constructor_distinct_DoublyLinkedList.Frag3", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", + "constructor_distinct_Prims.Nil", "data_elim_DoublyLinkedList.Frag3", + "data_typing_intro_Prims.Nil@tok", "disc_equation_DoublyLinkedList.Frag0", "disc_equation_DoublyLinkedList.Frag1", "disc_equation_DoublyLinkedList.Frag2", @@ -6669,6 +7780,7 @@ "equation_DoublyLinkedList.dll_aa", "equation_DoublyLinkedList.dll_conn", "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.dll_valid", "equation_DoublyLinkedList.empty_list", @@ -6684,33 +7796,46 @@ "equation_DoublyLinkedList.piece_ghostly_connections", "equation_DoublyLinkedList.piece_merge", "equation_DoublyLinkedList.piece_valid", + "equation_DoublyLinkedList.tot_piece_to_dll", "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_Prims.logical", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.fragment", - "interpretation_Tm_abs_6d4a5699418213d52de7df374c14aa1a", + "fuel_guarded_inversion_DoublyLinkedList.piece", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedList.loc_equiv_union_union_loc", "lemma_FStar.Ghost.reveal_hide", "lemma_LowStar.Monotonic.Buffer.live_is_null", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem", "proj_equation_DoublyLinkedList.Mkdll_lhead", "proj_equation_DoublyLinkedList.Mkdll_ltail", "proj_equation_DoublyLinkedList.Mkdll_nodes", "proj_equation_DoublyLinkedList.Mkpiece_phead", + "proj_equation_DoublyLinkedList.Mkpiece_pnodes", "proj_equation_DoublyLinkedList.Mkpiece_ptail", "projection_inverse_BoxInt_proj_0", "projection_inverse_DoublyLinkedList.Frag0_t", @@ -6722,6 +7847,7 @@ "projection_inverse_DoublyLinkedList.Frag3__0", "projection_inverse_DoublyLinkedList.Frag3__1", "projection_inverse_DoublyLinkedList.Frag3__2", + "projection_inverse_DoublyLinkedList.Frag3_t", "projection_inverse_DoublyLinkedList.Mkdll_lhead", "projection_inverse_DoublyLinkedList.Mkdll_ltail", "projection_inverse_DoublyLinkedList.Mkdll_nodes", @@ -6733,19 +7859,28 @@ "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", "refinement_interpretation_Tm_refine_4e294032e8e7cb4a89a4715854334ceb", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "token_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", "token_correspondence_DoublyLinkedList.piece_aa", "token_correspondence_DoublyLinkedList.piece_conn", "token_correspondence_DoublyLinkedList.piece_contained", "token_correspondence_DoublyLinkedList.piece_ghostly_connections", + "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", + "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", + "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", + "typing_DoublyLinkedList.fragment_fp0", "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.piece_fp0", "typing_LowStar.Buffer.pointer", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.reveal", + "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_union", "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "ce8a852ddfbb39ff27db45f3e9be43a9" + "b083d108668715f4f7a5772313e86291" ], [ "DoublyLinkedList.tot_defragmentable_fragment_to_dll", @@ -6761,11 +7896,13 @@ "data_elim_DoublyLinkedList.Frag2", "data_elim_DoublyLinkedList.Frag3", "data_elim_DoublyLinkedList.Mkpiece", + "disc_equation_DoublyLinkedList.Frag0", "disc_equation_DoublyLinkedList.Frag1", "disc_equation_DoublyLinkedList.Frag2", "disc_equation_DoublyLinkedList.Frag3", "equation_DoublyLinkedList.fragment_length", "equation_LowStar.Buffer.pointer", + "fuel_guarded_inversion_DoublyLinkedList.dll", "fuel_guarded_inversion_DoublyLinkedList.fragment", "fuel_guarded_inversion_DoublyLinkedList.piece", "proj_equation_DoublyLinkedList.Mkpiece_phead", @@ -6782,10 +7919,11 @@ "projection_inverse_DoublyLinkedList.Frag3_t", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_4e294032e8e7cb4a89a4715854334ceb", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "a515682bccd26db5f015761e9026016a" + "30d924d272f2c459489350f1bc8ab18e" ], [ "DoublyLinkedList.nodelist_split_conn", @@ -6795,26 +7933,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.pointer", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.l_and", + "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" ], 0, - "26207fda3ca99902c49e5b42993546fb" + "3c42ac34c5324a667e0d59c465eb5ead" ], [ "DoublyLinkedList.nodelist_split_valid", @@ -6824,23 +7960,21 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", "equation_LowStar.Buffer.pointer", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" ], 0, - "13b18578c1f9cbff07aa6da6a0fe9488" + "494c8e869b63563d73c5593cacbbb9d9" ], [ "DoublyLinkedList.tot_dll_to_fragment_split", @@ -6863,15 +7997,14 @@ "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pervasives.Native_interpretation_Tm_arrow_d952d001575ecb20c572af535c88dd2d", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "bool_inversion", "constructor_distinct_BoxInt", "constructor_distinct_DoublyLinkedList.Frag2", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", + "data_elim_Prims.Cons", "disc_equation_DoublyLinkedList.Frag2", + "disc_equation_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.dll_aa", "equation_DoublyLinkedList.dll_conn", "equation_DoublyLinkedList.dll_contained", @@ -6902,8 +8035,8 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eq2", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", @@ -6922,17 +8055,13 @@ "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", + "function_token_typing_FStar.Pervasives.Native.snd", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "l_not-interp", "l_or-interp", - "lemma_DoublyLinkedList.lemma_non_null", "lemma_DoublyLinkedList.loc_equiv_trans", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -6958,16 +8087,16 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1e5438d14bb17f473f9a1e9d1a7cf83c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_6e14d887d8a2f331e441fa58c68d3a85", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", "token_correspondence_DoublyLinkedList.piece_aa", "token_correspondence_DoublyLinkedList.piece_conn", @@ -6976,7 +8105,6 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", "token_correspondence_FStar.Pervasives.Native.snd", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", "typing_DoublyLinkedList.dll_fp0", "typing_DoublyLinkedList.nodelist", @@ -6984,20 +8112,20 @@ "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.elift1", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.last", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.List.Tot.Base.length", + "typing_FStar.List.Tot.Properties.split_using", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2", - "unit_typing" + "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" ], 0, - "e8980d87edaa4c138f19b3f020eb6fe6" + "1108ac75538773e8631afe7c11c4a3d4" ], [ "DoublyLinkedList.tot_dll_to_fragment_split", @@ -7005,12 +8133,18 @@ 8, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.pointer", + "@MaxIFuel_assumption", "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", + "disc_equation_DoublyLinkedList.Frag2", + "equation_DoublyLinkedList.fragment_length", + "equation_LowStar.Buffer.pointer", + "fuel_guarded_inversion_DoublyLinkedList.dll", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_6e14d887d8a2f331e441fa58c68d3a85" ], 0, - "14c67507631af38ad2d4155e9384dbde" + "4f62b12d736bb6c93a3963a5566cce8b" ], [ "DoublyLinkedList.tot_node_to_dll", @@ -7098,7 +8232,7 @@ "typing_LowStar.Monotonic.Buffer.mnull", "unit_typing" ], 0, - "d7f8756e37e48c3bdfa2ec6e64aa0982" + "9135b5e7f9fea2ec7d43241d839ad21a" ], [ "DoublyLinkedList.tot_node_to_dll", @@ -7111,7 +8245,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "18ec9cc36ecedb34d517b886e8066932" + "67b246378cb7ad2d34cca5326a47d4a4" ], [ "DoublyLinkedList.tot_node_to_piece", @@ -7195,7 +8329,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer", "unit_typing" ], 0, - "b85e7ebee2fc4d5784013555b171ba98" + "b01c8e50f88aea7456513bfa418e1dd8" ], [ "DoublyLinkedList.tot_piece_tail", @@ -7218,12 +8352,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", - "DoublyLinkedList_interpretation_Tm_arrow_be203b441592ef52057226e891688f92", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_Tm_unit", + "DoublyLinkedList_interpretation_Tm_arrow_74052fd66e28589830ddad1d83f167d6", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", + "b2t_def", "bool_inversion", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.nodelist", "equation_DoublyLinkedList.nodelist_aa", @@ -7233,6 +8366,7 @@ "equation_DoublyLinkedList.piece_contained", "equation_DoublyLinkedList.piece_ghostly_connections", "equation_DoublyLinkedList.piece_valid", + "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", @@ -7254,11 +8388,10 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Ghost.tot_to_gtot", "function_token_typing_FStar.List.Tot.Base.tl", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_bc617b992456846c9e984a6621d98ca5", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_48cba56a704db0ed348fc817520f6956", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "lemma_DoublyLinkedList.nodelist_remains_aa_l", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", @@ -7271,29 +8404,32 @@ "projection_inverse_DoublyLinkedList.Mkpiece_phead", "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", "projection_inverse_DoublyLinkedList.Mkpiece_ptail", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_5f14f727ad7fd036590459a1d0800770", "refinement_interpretation_Tm_refine_6879f2120f914ef1172937ef4916686b", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.Ghost.tot_to_gtot", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.tl", "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.tl", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", - "typing_Tm_abs_bc617b992456846c9e984a6621d98ca5" + "typing_Tm_abs_48cba56a704db0ed348fc817520f6956" ], 0, - "bfae45eeb2de6b7f00892aa399b2d2ec" + "f53e200d7ece7689975a03412a25f842" ], [ "DoublyLinkedList.tot_piece_tail", @@ -7322,7 +8458,7 @@ "typing_LowStar.Buffer.pointer" ], 0, - "b2092d0f9e5cf6c528ccd5b35c83047c" + "ee5e917dc592936d62d9504d8b12390c" ], [ "DoublyLinkedList.lemma_dll_links_contained", @@ -7333,10 +8469,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bfd66f1383dece2f0b647cf32b68f370" + "1bf580c5c49d7af64d3e45a993b1d896" ], [ "DoublyLinkedList.lemma_dll_links_disjoint", @@ -7347,10 +8483,85 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "ca6368900aac426ffacef8dbb0c2d9ce" + ], + [ + "DoublyLinkedList.aux_unchanged_payload", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_a7fdc201a8ae2706f0931690143bdf76" + ], + 0, + "d48d39ff79104fa40e50e5ad20045fc1" + ], + [ + "DoublyLinkedList._l_insert_after", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", + "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", "kinding_Prims.list@tok", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + ], + 0, + "38c7bca6808b04e5c5a6dd7af30c6e9a" + ], + [ + "DoublyLinkedList.dll_insert_after", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0bff7197fb6b2b2c957164190fd1d042" + ], + 0, + "a62ed569349b4e1a63b2b1132ffe00d4" + ], + [ + "DoublyLinkedList._l_insert_before", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71" + ], + 0, + "47e5b618046904df1167401ebcb7ee6b" + ], + [ + "DoublyLinkedList.dll_insert_before", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0bff7197fb6b2b2c957164190fd1d042" ], 0, - "68b62068794e4c7aea9533ad8cad06b4" + "05dee8d4d18b41c25bf579fb62fda5c1" ], [ "DoublyLinkedList.dll_remove_head", @@ -7360,26 +8571,107 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "data_elim_Prims.Cons", "eq2-interp", + "@query", "bool_inversion", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.dll_valid", "equation_DoublyLinkedList.nodelist", "equation_FStar.List.Tot.Base.hd", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.pointer", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_DoublyLinkedList.dll", "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "refinement_interpretation_Tm_refine_1a3131810ca45941a5ff10e548140be0", + "lemma_FStar.Map.lemma_ContainsDom", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_cf9d29550920706b893d54ef227756d4", "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_LowStar.Buffer.pointer" + ], + 0, + "96706b6028399f08138b4c84726e1694" + ], + [ + "DoublyLinkedList._lemma_only_head_can_point_left_to_null", + 3, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "disc_equation_Prims.Cons", + "equation_DoublyLinkedList.nodelist", + "equation_LowStar.Buffer.pointer", "equation_Prims.squash", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "typing_LowStar.Buffer.pointer" + ], + 0, + "8556282af20850181df6f9e39f4350bd" + ], + [ + "DoublyLinkedList._lemma_only_tail_can_point_right_to_null", + 3, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "disc_equation_Prims.Cons", + "equation_DoublyLinkedList.nodelist", + "equation_LowStar.Buffer.pointer", "equation_Prims.squash", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "typing_LowStar.Buffer.pointer" ], 0, - "5f6035bbd4f11b8ba746fd2ff81f85c2" + "6c4c72fb22334277fc2ca5bc47a3f100" + ], + [ + "DoublyLinkedList._lemma_all_nodes_are_unique", + 3, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_DoublyLinkedList.nodelist", + "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.pointer", + "equation_Prims.eqtype", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "kinding_DoublyLinkedList.node@tok", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" + ], + 0, + "97ffafae801dd9ee3ec95e1822149728" ], [ "DoublyLinkedList.dll_remove_tail", @@ -7388,79 +8680,141 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "data_elim_Prims.Cons", "eq2-interp", + "@query", "bool_inversion", "data_elim_Prims.Cons", "eq2-interp", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.dll_valid", "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_DoublyLinkedList.dll", "fuel_guarded_inversion_Prims.list", "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", - "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.vu_inv", + "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_2", "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "refinement_interpretation_Tm_refine_1a3131810ca45941a5ff10e548140be0", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_cf9d29550920706b893d54ef227756d4", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "26c72709acf9d09874b08ef0b264a1da" + "5c282c9d5c87eff0cdc43d2006a0c1f7" ], [ - "DoublyLinkedList.dll_remove_node", + "DoublyLinkedList._l_remove_mid", 2, 2, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_FStar.List.Tot.Base.hd", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", "kinding_Prims.list@tok", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + ], + 0, + "ce6221db983f2a6b40dca59e985eb52a" + ], + [ + "DoublyLinkedList.dll_remove_node", + 2, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_ghostly_connections", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", + "eq2-interp", "equation_DoublyLinkedList.dll_ghostly_connections", "equation_DoublyLinkedList.dll_valid", "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", + "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedList._auto_empty_dll", "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_019e2778ae7794508eed7500312ddd73", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f8cb2c2656add503443e3a800fddd532", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", + "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "8c0352612261b011dd90110373d51b79" + ], + [ + "DoublyLinkedList.dll_split_using", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", + "equation_DoublyLinkedList.nodelist", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Monotonic.Buffer.length", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", + "kinding_DoublyLinkedList.node@tok", + "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_019e2778ae7794508eed7500312ddd73", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", "typing_LowStar.Buffer.pointer", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "9aa0dbab6c09c862f0ee07fa97f33d59" + "02dd5a4671faabd2855afbe0a95d73b7" ] ] ] \ No newline at end of file diff --git a/examples/doublylinkedlist/DoublyLinkedListIface.fst b/examples/doublylinkedlist/DoublyLinkedListIface.fst new file mode 100644 index 00000000000..3a4efe090c8 --- /dev/null +++ b/examples/doublylinkedlist/DoublyLinkedListIface.fst @@ -0,0 +1,1040 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) + +module DoublyLinkedListIface + +/// This module consists of proofs / code for the iface that is +/// written in the actual fsti. Most of this code will never be user +/// facing, and will soon be merged into the DoublyLinkedList module, +/// as I work on moving stuff into DoublLinkedList.fsti from the iface +/// fsti. + +module DLL = DoublyLinkedList + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module G = FStar.Ghost +module L = FStar.List.Pure +module B = LowStar.Buffer + +open LowStar.BufferOps + +/// Convenience operators + +unfold let (@) (a:B.pointer 't) (h0:HS.mem) = B.get h0 a 0 +unfold let (^@) (a:B.pointer_or_null 't{a =!= B.null}) (h0:HS.mem) = B.get h0 a 0 + +/// Abstract types defined by this library +/// +/// Note: Somehow confusingly, a node in the iface is a pointer to a +/// real node, and a dll in the iface is a pointer to a real +/// dll. Fortunately though, most users of the library will never even +/// be looking inside the implementation, and thus hopefully it won't +/// be confusing. + +let node a = B.pointer (DLL.node a) +let dll a = B.pointer (DLL.dll a) + +/// Abstract Validity Predicates + +let node_valid h n = True /\ B.live h n // XXX: why do I need the True here? + +let dll_valid h d = + B.live h d /\ + DLL.dll_valid h (d@h) /\ + B.loc_buffer d `B.loc_disjoint` DLL.dll_fp0 (d@h) + +/// Abstract node and list footprints + +let fp_node n = B.loc_buffer n + +let fp_dll h d = + B.loc_union (B.loc_buffer d) (DLL.dll_fp0 (d@h)) + +/// Getters and setters for [node]s + +let g_node_val h n = + (n@h).DLL.p + +let node_val n = + (!*n).DLL.p + +let node_of v = + B.alloca (DLL.empty_node v) 1ul + +/// Abstract Predicate to help "recall" that updating the payload +/// leaves connections unchanged + +let unchanged_node_connections h0 h1 n = + (n@h0).DLL.flink == (n@h1).DLL.flink /\ + (n@h0).DLL.blink == (n@h1).DLL.blink + +/// Be able to modify the payload of a node easily, without affecting +/// membership + +let node_update n v = + n *= { !*n with DLL.p = v } + +/// Abstract Predicate to help "recall" that [g_node_val] remains +/// unchanged for nodes, across multiple [mem]s + +let unchanged_node_val (h0 h1:HS.mem) (n:node 'a) : GTot prop = + (B.live h0 n ==> + (g_node_val h0 n == g_node_val h1 n /\ B.live h1 n)) + +let rec unchanged_node_vals (h0 h1:HS.mem) (ns:list (node 'a)) : GTot prop = + match ns with + | [] -> True + | n :: ns' -> unchanged_node_val h0 h1 n /\ unchanged_node_vals h0 h1 ns' + +/// Viewing ghostly state of a list + +let as_list h d = + G.reveal (d@h).DLL.nodes + +/// Creating an empty DoublyLinkedList, and quickly accessing the head +/// and tail of a DoublyLinkedList + +let dll_new () = + B.alloca DLL.empty_list 1ul + +let is_empty d = + B.is_null (!*d).DLL.lhead + +let dll_head d = + (!*d).DLL.lhead + +let dll_tail d = + let h0 = HST.get () in + L.lemma_unsnoc_is_last (as_list h0 d); + (!*d).DLL.ltail + +/// Useful auxiliary lemmas + +(** If a node is inside a valid list, then the node is valid. *) +val lemma_node_in_valid_dll_is_valid (h:HS.mem) (d:dll 'a) (n:node 'a) : + Lemma + (requires (dll_valid h d /\ n `L.memP` as_list h d)) + (ensures (node_valid h n)) +let lemma_node_in_valid_dll_is_valid h d n = + let pos = L.index_of (as_list h d) n in + DLL.extract_nodelist_contained h (as_list h d) pos + +(** Aux lemma *) +val _lemma_nodelist_contained_in_unmodified_mem (h0 h1:HS.mem) (s:B.loc) (nl:list (node 'a)) : + Lemma + (requires (B.modifies s h0 h1 /\ + B.loc_disjoint s (DLL.nodelist_fp0 nl) /\ + (DLL.nodelist_contained0 h0 nl))) + (ensures (DLL.nodelist_contained0 h1 nl)) +let rec _lemma_nodelist_contained_in_unmodified_mem h0 h1 s nl = + match nl with + | [] -> () + | n :: ns -> + _lemma_nodelist_contained_in_unmodified_mem h0 h1 s ns + +(** Aux lemma *) +val _lemma_nodelist_conn_in_unmodified_mem (h0 h1:HS.mem) (s:B.loc) (nl:list (node 'a)) : + Lemma + (requires (B.modifies s h0 h1 /\ + B.loc_disjoint s (DLL.nodelist_fp0 nl) /\ + DLL.nodelist_contained0 h0 nl /\ + (DLL.nodelist_conn h0 nl))) + (ensures (DLL.nodelist_conn h1 nl)) +let rec _lemma_nodelist_conn_in_unmodified_mem h0 h1 s nl = + match nl with + | [] -> () + | n1 :: rest -> match rest with + | [] -> () + | n2 :: ns -> + _lemma_nodelist_conn_in_unmodified_mem h0 h1 s rest + +(** Aux lemma *) +val _lemma_nodelist_disjoint_in_push (h0 h1:HS.mem) (nl:list (node 'a)) : + Lemma + (requires (HS.fresh_frame h0 h1 /\ + DLL.nodelist_contained0 h0 nl)) + (ensures (DLL.nodelist_fp0 nl `B.loc_disjoint` (B.loc_region_only false (HS.get_tip h1)))) +let rec _lemma_nodelist_disjoint_in_push h0 h1 nl = + match nl with + | [] -> () + | n :: ns -> + _lemma_nodelist_disjoint_in_push h0 h1 ns + +(** If a new frame is pushed, then a dll remains valid and unchanged. *) +val _auto_dll_valid_and_unchanged_through_push (h0 h1:HS.mem) (d:dll 'a) : + Lemma + (requires (dll_valid h0 d /\ HS.fresh_frame h0 h1)) + (ensures (dll_valid h1 d /\ d@h0 == d@h1)) + [SMTPat (dll_valid h0 d); + SMTPat (HS.fresh_frame h0 h1)] +let _auto_dll_valid_and_unchanged_through_push h0 h1 d = + B.fresh_frame_modifies h0 h1; + _lemma_nodelist_contained_in_unmodified_mem h0 h1 B.loc_none (as_list h1 d); + _lemma_nodelist_conn_in_unmodified_mem h0 h1 B.loc_none (as_list h1 d) + +(** If a frame is popped, then a dll remains valid and unchanged. *) +val _lemma_dll_valid_and_unchanged_through_pop (h0 h1:HS.mem) (d:dll 'a) : + Lemma + (requires (dll_valid h0 d /\ HS.popped h0 h1 /\ + B.loc_disjoint (fp_dll h0 d) (B.loc_region_only false (HS.get_tip h0)))) + (ensures (dll_valid h1 d /\ d@h0 == d@h1)) +let _lemma_dll_valid_and_unchanged_through_pop h0 h1 d = + B.popped_modifies h0 h1; + assert (B.loc_region_only false (HS.get_tip h0) `B.loc_includes` + B.loc_region_only false (HS.get_tip h0)); // OBSERVE + let loc = B.loc_region_only false (HS.get_tip h0) in + _lemma_nodelist_contained_in_unmodified_mem h0 h1 loc (as_list h1 d); + _lemma_nodelist_conn_in_unmodified_mem h0 h1 loc (as_list h1 d) + +(** If stack discipline is followed, then a valid modification inside + a push-pop pair is also valid outside of it. *) +val _auto_dll_modified_with_push_pop (h0 h1:HS.mem) (d:dll 'a) (h2 h3:HS.mem) : + Lemma + (requires (dll_valid h0 d /\ + HS.fresh_frame h0 h1 /\ + B.modifies (B.loc_union (fp_dll h0 d) (fp_dll h3 d)) h1 h2 /\ + B.loc_disjoint (fp_dll h0 d) (B.loc_region_only false (HS.get_tip h2)) /\ + B.loc_disjoint (fp_dll h3 d) (B.loc_region_only false (HS.get_tip h2)) /\ + HS.get_tip h1 == HS.get_tip h2 /\ + dll_valid h2 d /\ + HS.popped h2 h3)) + (ensures (dll_valid h3 d)) + [SMTPat (HS.fresh_frame h0 h1); + SMTPat (HS.popped h2 h3); + SMTPat (dll_valid h3 d)] +let _auto_dll_modified_with_push_pop h0 h1 d h2 h3 = + let loc = B.loc_region_only false (HS.get_tip h2) in + B.popped_modifies h2 h3; + _lemma_nodelist_contained_in_unmodified_mem h2 h3 loc (as_list h3 d); + _lemma_nodelist_conn_in_unmodified_mem h2 h3 loc (as_list h3 d) + +(** If a new frame is pushed, the the dll's fp is disjoint from what just got pushed. *) +val _auto_dll_fp_disjoint_from_push (h0 h1:HS.mem) (d:dll 'a) : + Lemma + (requires (dll_valid h0 d /\ HS.fresh_frame h0 h1)) + (ensures (B.loc_disjoint (fp_dll h0 d) (B.loc_region_only false (HS.get_tip h1)))) + [SMTPat (dll_valid h0 d); + SMTPat (HS.fresh_frame h0 h1)] +let _auto_dll_fp_disjoint_from_push h0 h1 d = + _lemma_nodelist_disjoint_in_push h0 h1 (G.reveal (d@h0).DLL.nodes) + +(** If a valid dll is placed into a pointer, it stays valid *) +val _auto_dll_assign_valid_stays_valid (h0 h1:HS.mem) (d:dll 'a) (d2:DLL.dll 'a) : + Lemma + (requires (DLL.dll_valid h0 d2 /\ + B.modifies (B.loc_buffer d) h0 h1 /\ + B.loc_buffer d `B.loc_disjoint` DLL.dll_fp0 d2 /\ + B.live h0 d /\ + d@h1 == d2)) + (ensures (dll_valid h1 d)) + [SMTPat (DLL.dll_valid h0 d2); + SMTPat (B.modifies (B.loc_buffer d) h0 h1); + SMTPat (dll_valid h1 d)] +let _auto_dll_assign_valid_stays_valid h0 h1 d d2 = + _lemma_nodelist_conn_in_unmodified_mem h0 h1 (B.loc_buffer d) (G.reveal d2.DLL.nodes); + _lemma_nodelist_contained_in_unmodified_mem h0 h1 (B.loc_buffer d) (G.reveal d2.DLL.nodes) + +(** [unchanged_node_vals] is transitive *) +let rec _lemma_unchanged_node_vals_transitive (h0 h1 h2:HS.mem) (ns:list (node 'a)) : + Lemma + (requires ( + (unchanged_node_vals h0 h1 ns) /\ + (unchanged_node_vals h1 h2 ns))) + (ensures ( + (unchanged_node_vals h0 h2 ns))) = + match ns with + | [] -> () + | _ :: ns' -> _lemma_unchanged_node_vals_transitive h0 h1 h2 ns' + +(** Auxiliary predicate: node list is disjoint from region *) +let rec _pred_nl_disjoint (h:HS.mem) (ns:list (node 'a)) = + DLL.nodelist_fp0 ns `B.loc_disjoint` B.loc_region_only false (HS.get_tip h) + +(** If [unchanged_node_vals] is true, then it remains true through a push-pop. *) +val _auto_unchanged_node_vals_through_push_pop (h0 h1:HS.mem) (ns:list (node 'a)) (h2 h3:HS.mem) : + Lemma + (requires (unchanged_node_vals h1 h2 ns /\ + HS.fresh_frame h0 h1 /\ HS.popped h2 h3 /\ + _pred_nl_disjoint h1 ns /\ + HS.get_tip h1 == HS.get_tip h2)) + (ensures ( + unchanged_node_vals h0 h1 ns /\ // used only for proof. not necessary outside + unchanged_node_vals h2 h3 ns /\ // used only for proof. not necessary outside + unchanged_node_vals h0 h3 ns)) + [SMTPat (unchanged_node_vals h0 h3 ns); + SMTPat (HS.fresh_frame h0 h1); + SMTPat (HS.popped h2 h3)] +let rec _auto_unchanged_node_vals_through_push_pop h0 h1 ns h2 h3 = + match ns with + | [] -> () + | n :: ns' -> + _auto_unchanged_node_vals_through_push_pop h0 h1 ns' h2 h3; + // assert (unchanged_node_vals h0 h1 ns); + // assert (unchanged_node_vals h2 h3 ns); + B.popped_modifies h2 h3 + +(** If a valid dll has a frame pushed, [_pred_nl_disjoint] stays true *) +val _auto_pred_nl_disjoint_push (h0 h1:HS.mem) (d:dll 'a) : + Lemma + (requires (dll_valid h0 d /\ HS.fresh_frame h0 h1)) + (ensures (_pred_nl_disjoint h1 (as_list h1 d))) + [SMTPat (dll_valid h0 d); + SMTPat (HS.fresh_frame h0 h1)] +let _auto_pred_nl_disjoint_push h0 h1 d = + let loc = B.loc_region_only false (HS.get_tip h1) in + let rec aux (ns:list (node 'a)) : + Lemma + (requires (DLL.nodelist_contained h0 ns /\ HS.fresh_frame h0 h1)) + (ensures (_pred_nl_disjoint h1 ns)) = + match ns with + | [] -> () + | n :: ns' -> aux ns' + in + aux (as_list h0 d) + +(** The impl version of [unchanged_node_vals] is same as iface one *) +let rec _auto_unchanged_node_vals_DLL (h0 h1:HS.mem) (ns:list (node 'a)) : + Lemma + (requires (DLL.unchanged_node_vals h0 h1 ns)) + (ensures (unchanged_node_vals h0 h1 ns)) + [SMTPat (unchanged_node_vals h0 h1 ns)] = + match ns with + | [] -> () + | _ :: ns' -> _auto_unchanged_node_vals_DLL h0 h1 ns' + +(** If a valid dll is placed into a pointer, its nodes stay unchanged *) +val _auto_unchanged_node_vals_stays_valid (h0 h1:HS.mem) (d:dll 'a) (d2:DLL.dll 'a) : + Lemma + (requires (DLL.dll_valid h0 d2 /\ + B.modifies (B.loc_buffer d) h0 h1 /\ + B.loc_buffer d `B.loc_disjoint` DLL.dll_fp0 d2 /\ + B.live h0 d /\ + d@h1 == d2)) + (ensures (unchanged_node_vals h0 h1 (as_list h1 d))) + [SMTPat (DLL.dll_valid h0 d2); + SMTPat (B.modifies (B.loc_buffer d) h0 h1); + SMTPat (unchanged_node_vals h0 h1 (as_list h1 d))] +let _auto_unchanged_node_vals_stays_valid h0 h1 d d2 = + let rec aux nl : Lemma + (requires ( + B.modifies (B.loc_buffer d) h0 h1 /\ + DLL.nodelist_fp0 nl `B.loc_disjoint` B.loc_buffer d)) + (ensures (unchanged_node_vals h0 h1 nl)) = + match nl with + | [] -> () + | n :: ns -> aux ns in + aux (as_list h1 d) + +(** If a nodelist is disjoint from a modification, it stays unchanged *) +let rec _lemma_unchanged_node_vals_when_disjoint (h0 h1:HS.mem) loc nl : Lemma + (requires ( + B.modifies loc h0 h1 /\ + DLL.nodelist_fp0 nl `B.loc_disjoint` loc)) + (ensures (unchanged_node_vals h0 h1 nl)) = + match nl with + | [] -> () + | n :: ns -> _lemma_unchanged_node_vals_when_disjoint h0 h1 loc ns + +(** If a dll is assigned to, its original nodes stay unchanged *) +val _lemma_unchanged_node_vals_stays_valid0 (h0 h1:HS.mem) (d:dll 'a) : + Lemma + (requires (B.modifies (B.loc_buffer d) h0 h1 /\ + B.loc_buffer d `B.loc_disjoint` DLL.dll_fp0 (d@h0) /\ + B.live h0 d)) + (ensures (unchanged_node_vals h0 h1 (as_list h0 d))) +let _lemma_unchanged_node_vals_stays_valid0 h0 h1 d = + _lemma_unchanged_node_vals_when_disjoint h0 h1 (B.loc_buffer d) (as_list h0 d) + +(** If a node belongs to a dll, then its fp is included *) +let rec _lemma_node_in_list_is_included (n:node 'a) (nl:list (node 'a)) : + Lemma + (requires (n `L.memP` nl)) + (ensures (DLL.nodelist_fp0 nl `B.loc_includes` fp_node n)) = + match nl with + | [_] -> () + | n' :: ns -> + FStar.Classical.or_elim #_ #_ #(fun () -> DLL.nodelist_fp0 nl `B.loc_includes` fp_node n) + (fun (_:unit{n == n'}) -> ()) + (fun (_:unit{n =!= n'}) -> _lemma_node_in_list_is_included n ns) + +(** If a node_or_null is null or belongs to a dll, then its fp is included *) +let _lemma_node_in_list_or_null_is_included (n:B.pointer_or_null (DLL.node 'a)) (nl:list (node 'a)) : + Lemma + (requires (n =!= B.null ==> n `L.memP` nl)) + (ensures (DLL.nodelist_fp0 nl `B.loc_includes` B.loc_buffer n)) = + FStar.Classical.arrow_to_impl + #(n =!= B.null) #(DLL.nodelist_fp0 nl `B.loc_includes` B.loc_buffer n) + (fun _ -> _lemma_node_in_list_is_included n nl) + +(** If a node is in the list, then the node before it is also in the list if it is not null *) +let _lemma_prev_node_in_list (h:HS.mem) (n:node 'a) (d:dll 'a) : + Lemma + (requires (dll_valid h d /\ n `L.memP` as_list h d)) + (ensures (let n' = (n@h).DLL.blink in + n' =!= B.null ==> n' `L.memP` as_list h d)) = + let n' = (n@h).DLL.blink in + let l = as_list h d in + FStar.Classical.arrow_to_impl + #(n' =!= B.null) #(n' =!= B.null /\ n' `L.memP` l) + (fun _ -> + lemma_node_in_valid_dll_is_valid h d n; + DLL.extract_nodelist_conn h l (L.index_of l n - 1)) + +(** If a node is in the list, then the node after it is also in the list if it is not null *) +let _lemma_next_node_in_list (h:HS.mem) (n:node 'a) (d:dll 'a) : + Lemma + (requires (dll_valid h d /\ n `L.memP` as_list h d)) + (ensures (let n' = (n@h).DLL.flink in + n' =!= B.null ==> n' `L.memP` as_list h d)) = + let n' = (n@h).DLL.flink in + let l = as_list h d in + FStar.Classical.arrow_to_impl + #(n' =!= B.null) #(n' =!= B.null /\ n' `L.memP` l) + (fun _ -> + lemma_node_in_valid_dll_is_valid h d n; + L.lemma_unsnoc_is_last l; + DLL.extract_nodelist_conn h l (L.index_of l n)) + +(** Insertion operations maintain membership *) +let rec _lemma_insertion_maintains_memP (l1 l2:list 'a) (x0 x1 x:'a) : + Lemma + (requires ((x0 `L.memP` l1) /\ + ((l2 == DLL._l_insert_before x0 l1 x1) \/ + (l2 == DLL._l_insert_after x0 l1 x1)) /\ + (x `L.memP` l1 \/ x == x1))) + (ensures (x `L.memP` l2)) = + match l1 with + | [_] -> () + | x0' :: l1' -> + FStar.Classical.or_elim #_ #_ #(fun () -> x `L.memP` l2) + (fun (_:unit{x0' == x0 \/ x0' == x}) -> ()) + (fun (_:unit{x0' =!= x0 /\ x0' =!= x}) -> + _lemma_insertion_maintains_memP l1' (L.tl l2) x0 x1 x) + +(** Insertion operations maintain [unchanged_node_vals] *) +let rec _lemma_insertion_maintains_unchanged_node_vals (h0 h1:HS.mem) (l1 l2:list (node 'a)) (x0 x1:node 'a) : + Lemma + (requires ((x0 `L.memP` l1) /\ + ((l2 == DLL._l_insert_before x0 l1 x1) \/ + (l2 == DLL._l_insert_after x0 l1 x1)) /\ + (unchanged_node_vals h0 h1 l2))) + (ensures (unchanged_node_vals h0 h1 l1)) = + match l1 with + | [_] -> () + | x0' :: l1' -> + FStar.Classical.arrow_to_impl #(x0 =!= x0') #(unchanged_node_vals h0 h1 l1) + (fun _ -> + _lemma_insertion_maintains_unchanged_node_vals h0 h1 l1' (L.tl l2) x0 x1) + +(** Unchanged node vals means that the payloads maintain the changes + that happened *) +let rec _lemma_unchanged_node_vals_maintains_changes (h0 h1:HS.mem) (l:list (node 'a)) : + Lemma + (requires (DLL.nodelist_contained h0 l /\ unchanged_node_vals h0 h1 l)) + (ensures (g_node_vals h1 l == g_node_vals h0 l)) = + match l with + | [] -> () + | h :: t -> + _lemma_unchanged_node_vals_maintains_changes h0 h1 t + +(** Containment holds before/after [append]ing *) +let rec _lemma_append_contains (h0:HS.mem) (l1 l2:list (node 'a)) : + Lemma + (ensures ( + (DLL.nodelist_contained h0 (l1 `L.append` l2)) <==> + (DLL.nodelist_contained h0 l1 /\ DLL.nodelist_contained h0 l2))) = + match l1 with + | [] -> () + | h :: t -> _lemma_append_contains h0 t l2 + +(** [g_node_vals] before/after [append]ing *) +let rec _lemma_append_g_node_vals (h0:HS.mem) (l1 l2:list (node 'a)) : + Lemma + (ensures ( + (g_node_vals h0 (l1 `L.append` l2) == g_node_vals h0 l1 `L.append` g_node_vals h0 l2))) = + match l1 with + | [] -> () + | h :: t -> _lemma_append_g_node_vals h0 t l2 + +(** [unchanged_node_val] before/after [append]ing *) +let rec _lemma_unchanged_node_vals_append (h0 h1:HS.mem) (l1 l2:list (node 'a)) : + Lemma + (ensures ( + (unchanged_node_vals h0 h1 (l1 `L.append` l2) <==> + (unchanged_node_vals h0 h1 l1 /\ unchanged_node_vals h0 h1 l2)))) = + match l1 with + | [] -> () + | h :: t -> _lemma_unchanged_node_vals_append h0 h1 t l2 + +(** Getting a specific node from an [unchanged_node_val] *) +let rec _lemma_extract_unchanged_node_val (h0 h1:HS.mem) (n:node 'a) (l:list (node 'a)) : + Lemma + (requires (unchanged_node_vals h0 h1 l /\ n `L.memP` l)) + (ensures (unchanged_node_val h0 h1 n)) = + let h :: t = l in + FStar.Classical.or_elim #_ #_ #(fun () -> unchanged_node_val h0 h1 n) + (fun (_:unit{n == h}) -> ()) + (fun (_:unit{n =!= h}) -> _lemma_extract_unchanged_node_val h0 h1 n t) + +(** Connect [split_using] and [splitAt] *) +let rec _lemma_split_using_splitAt (l:list 'a) (x:'a) : + Lemma + (requires (x `L.memP` l)) + (ensures + (l `L.split_using` x == L.splitAt (l `L.index_of` x) l)) = + match l with + | [_] -> () + | h :: t -> + FStar.Classical.arrow_to_impl + #(x `L.memP` t) + #(l `L.split_using` x == L.splitAt (l `L.index_of` x) l) + (fun _ -> _lemma_split_using_splitAt t x) + +(** Length of a [g_node_vals] is same as orig list *) +let rec _lemma_length_g_node_vals (h0:HS.mem) (l:list (node 'a)) : + Lemma + (L.length (g_node_vals h0 l) = L.length l) = + match l with + | [] -> () + | h :: t -> + _lemma_length_g_node_vals h0 t + +/// Moving forwards or backwards in a list + +let has_next d n = + let h0 = HST.get () in + DLL.lemma_dll_links_contained h0 (d@h0) (as_list h0 d `L.index_of` n); + L.lemma_unsnoc_is_last (as_list h0 d); + let y = not (B.is_null (!*n).DLL.flink) in + FStar.Classical.or_elim #_ #_ #(fun () -> + y <==> as_list h0 d `L.index_of` n < L.length (as_list h0 d) - 1) + (fun (_:unit{y}) -> ()) + (fun (_:unit{not y}) -> + DLL._lemma_only_tail_can_point_right_to_null h0 n (as_list h0 d); + DLL._lemma_all_nodes_are_unique h0 (as_list h0 d) + (as_list h0 d `L.index_of` n) + (L.length (as_list h0 d) - 1)); + y + +let has_prev d n = + let h0 = HST.get () in + DLL.lemma_dll_links_contained h0 (d@h0) (as_list h0 d `L.index_of` n); + L.lemma_unsnoc_is_last (as_list h0 d); + let y = not (B.is_null (!*n).DLL.blink) in + FStar.Classical.or_elim #_ #_ #(fun () -> + y <==> as_list h0 d `L.index_of` n > 0) + (fun (_:unit{y}) -> ()) + (fun (_:unit{not y}) -> + DLL._lemma_only_head_can_point_left_to_null h0 n (as_list h0 d); + DLL._lemma_all_nodes_are_unique h0 (as_list h0 d) + (as_list h0 d `L.index_of` n) + 0); + y + +let next_node d n = + let h0 = HST.get () in + lemma_node_in_valid_dll_is_valid h0 d n; + DLL.extract_nodelist_conn h0 (as_list h0 d) (L.index_of (as_list h0 d) n); + (!*n).DLL.flink + +let prev_node d n = + let h0 = HST.get () in + lemma_node_in_valid_dll_is_valid h0 d n; + DLL.extract_nodelist_conn h0 (as_list h0 d) (L.index_of (as_list h0 d) n - 1); + (!*n).DLL.blink + +/// Stateful DoublyLinkedList operations +/// +/// These are most likely what you want to be using when writing +/// code. The rest of this interface lets you talk about these +/// operations easily. + +#set-options "--z3rlimit 20 --max_fuel 2 --max_ifuel 1" + +let dll_insert_at_head #t d n = + let h00 = HST.get () in + HST.push_frame (); + let h0 = HST.get () in + let y = DLL.dll_insert_at_head (!*d) n in + let h' = HST.get () in + d *= y; + let h1 = HST.get () in + _lemma_unchanged_node_vals_transitive h0 h' h1 (as_list h1 d); + HST.pop_frame (); + let h11 = HST.get () in + _lemma_unchanged_node_vals_maintains_changes h00 h11 (as_list h1 d) + +#reset-options + +#set-options "--z3rlimit 40 --max_fuel 2 --max_ifuel 1" + +let dll_insert_at_tail #t d n = + let h00 = HST.get () in + HST.push_frame (); + let h0 = HST.get () in + let y = DLL.dll_insert_at_tail (!*d) n in + let h' = HST.get () in + d *= y; + let h1 = HST.get () in + assert (_pred_nl_disjoint h0 (as_list h1 d)); // OBSERVE + _lemma_unchanged_node_vals_transitive h0 h' h1 (as_list h1 d); + HST.pop_frame (); + let h11 = HST.get () in + _lemma_append_contains h00 (as_list h0 d) [n]; + _lemma_unchanged_node_vals_maintains_changes h00 h11 (as_list h1 d); + _lemma_append_g_node_vals h11 (as_list h0 d) [n]; + L.lemma_unsnoc_is_last (as_list h1 d); + _lemma_extract_unchanged_node_val h0 h1 n (as_list h1 d); + _lemma_append_g_node_vals h00 (as_list h0 d) [n]; + _lemma_unchanged_node_vals_append h00 h11 (as_list h0 d) [n] + +#reset-options + +#set-options "--z3rlimit 80 --max_fuel 2 --max_ifuel 1" + +let dll_insert_before #t n' d n = + let h00 = HST.get () in + HST.push_frame (); + let h0 = HST.get () in + let y = DLL.dll_insert_before (!*d) n' n in + let h' = HST.get () in + d *= y; + let h1 = HST.get () in + assert (_pred_nl_disjoint h0 (as_list h1 d)); // OBSERVE + _lemma_unchanged_node_vals_transitive h0 h' h1 (as_list h1 d); + // assert (fp_dll h1 d `B.loc_includes` (B.loc_buffer (d@h0).DLL.lhead)); + // assert (fp_dll h1 d `B.loc_includes` (B.loc_buffer (d@h0).DLL.ltail)); + // assert (fp_dll h1 d `B.loc_includes` (B.loc_buffer n)); + _lemma_insertion_maintains_memP (as_list h0 d) (as_list h1 d) n' n n'; + // assert (n' `L.memP` as_list h1 d); + _lemma_prev_node_in_list h0 n' d; + FStar.Classical.arrow_to_impl #((n'@h0).DLL.blink =!= B.null) + #((n'@h0).DLL.blink =!= B.null /\ (n'@h0).DLL.blink `L.memP` as_list h1 d) + (fun _ -> + _lemma_insertion_maintains_memP (as_list h0 d) (as_list h1 d) n' n (n'@h0).DLL.blink); + // assert ((n'@h0).DLL.blink =!= B.null ==> (n'@h0).DLL.blink `L.memP` as_list h1 d); + _lemma_node_in_list_is_included n' (as_list h1 d); + _lemma_node_in_list_or_null_is_included (n'@h0).DLL.blink (as_list h1 d); + // assert (fp_dll h1 d `B.loc_includes` (B.loc_buffer n')); + // assert (fp_dll h1 d `B.loc_includes` (B.loc_buffer (n'@h0).DLL.blink)); + // assert (B.modifies (fp_dll h1 d) h0 h1); + HST.pop_frame (); + let h11 = HST.get () in + _lemma_split_using_splitAt (as_list h00 d) n'; + _lemma_append_g_node_vals h11 + (fst (L.splitAt (as_list h00 d `L.index_of` n') (as_list h00 d))) + (snd (L.splitAt (as_list h00 d `L.index_of` n') (as_list h00 d))); + L.lemma_splitAt_append (as_list h00 d `L.index_of` n') (as_list h00 d); + _lemma_length_g_node_vals h00 (as_list h00 d); + L.lemma_splitAt_append (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)); + // assert ((as_list h00 d `L.index_of` n') < L.length (g_node_vals h00 (as_list h00 d))); + _lemma_insertion_maintains_unchanged_node_vals h0 h1 (as_list h0 d) (as_list h1 d) n' n; + // assert (unchanged_node_vals h0 h1 (as_list h0 d)); + _lemma_unchanged_node_vals_maintains_changes h00 h11 (as_list h00 d); + // assert (g_node_vals h11 (as_list h00 d) == g_node_vals h00 (as_list h00 d)); + // assert ( + // let l1, l2 = L.splitAt (as_list h00 d `L.index_of` n') (as_list h00 d) in + // let m1, m2 = L.splitAt (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)) in + // g_node_vals h11 + // (l1 `L.append` l2) == (m1 `L.append` m2) /\ L.length l1 = L.length m1); + L.lemma_splitAt_append (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)); + _lemma_length_g_node_vals h11 (fst (L.splitAt (as_list h00 d `L.index_of` n') (as_list h00 d))); + L.append_length_inv_head + (g_node_vals h11 (fst (L.splitAt (as_list h00 d `L.index_of` n') (as_list h00 d)))) + (g_node_vals h11 (snd (L.splitAt (as_list h00 d `L.index_of` n') (as_list h00 d)))) + (fst (L.splitAt (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)))) + (snd (L.splitAt (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)))); + // assert (g_node_vals h11 (let l1, l2 = L.splitAt (as_list h00 d `L.index_of` n') (as_list h00 d) in l1) == ( + // let l1, l2 = L.splitAt (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)) in + // l1)); + // assert (g_node_vals h11 (let l1, l2 = L.splitAt (as_list h00 d `L.index_of` n') (as_list h00 d) in l2) == ( + // let l1, l2 = L.splitAt (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)) in + // l2)); + // assert (g_node_vals h11 (let l1, l2 = L.split_using (as_list h00 d) n' in l1) == ( + // let l1, l2 = L.splitAt (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)) in + // l1)); + // assert (g_node_vals h11 (let l1, l2 = L.split_using (as_list h00 d) n' in l2) == ( + // let l1, l2 = L.splitAt (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)) in + // l2)); + _lemma_insertion_maintains_memP (as_list h0 d) (as_list h1 d) n' n n; + // assert (n `L.memP` as_list h1 d); + _lemma_extract_unchanged_node_val h0 h1 n (as_list h1 d); + // assert (g_node_val h1 n == g_node_val h0 n); + _lemma_append_g_node_vals h11 + (let l1, l2 = L.split_using (as_list h00 d) n' in l1) + (let l1, l2 = L.split_using (as_list h00 d) n' in (n :: l2)); + // assert (g_node_vals h11 ( + // let l1, l2 = L.split_using (as_list h00 d) n' in + // l1 `L.append` (n :: l2)) == ( + // let l1, l2 = L.splitAt (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)) in + // l1 `L.append` ((g_node_val h00 n) :: l2))); + // assert (g_node_vals h11 (l_insert_before n' (as_list h00 d) n) == ( + // let l1, l2 = L.splitAt (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)) in + // l1 `L.append` ((g_node_val h00 n) :: l2))); + // assert (g_node_vals h11 (as_list h11 d) == ( + // let l1, l2 = L.splitAt (as_list h00 d `L.index_of` n') (g_node_vals h00 (as_list h00 d)) in + // l1 `L.append` ((g_node_val h00 n) :: l2))); + // assert (as_payload_list h11 d == ( + // let l1, l2 = L.splitAt (as_list h00 d `L.index_of` n') (as_payload_list h00 d) in + // l1 `L.append` ((g_node_val h00 n) :: l2))); + // assert (as_payload_list h11 d == l_insert_before' + // (as_list h00 d `L.index_of` n') (as_payload_list h00 d) (g_node_val h00 n)); + () + +#reset-options + +#set-options "--z3rlimit 80 --max_fuel 2 --max_ifuel 1" + +let dll_insert_after #t n' d n = + let h00 = HST.get () in + HST.push_frame (); + let h0 = HST.get () in + let y = DLL.dll_insert_after (!*d) n' n in + let h' = HST.get () in + d *= y; + let h1 = HST.get () in + assert (_pred_nl_disjoint h0 (as_list h1 d)); // OBSERVE + _lemma_unchanged_node_vals_transitive h0 h' h1 (as_list h1 d); + _lemma_insertion_maintains_memP (as_list h0 d) (as_list h1 d) n' n n'; + _lemma_next_node_in_list h0 n' d; + FStar.Classical.arrow_to_impl #((n'@h0).DLL.flink =!= B.null) + #((n'@h0).DLL.flink =!= B.null /\ (n'@h0).DLL.flink `L.memP` as_list h1 d) + (fun _ -> + _lemma_insertion_maintains_memP (as_list h0 d) (as_list h1 d) n' n (n'@h0).DLL.flink); + _lemma_node_in_list_is_included n' (as_list h1 d); + _lemma_node_in_list_or_null_is_included (n'@h0).DLL.flink (as_list h1 d); + // assert (B.modifies (fp_dll h1 d) h0 h1); + HST.pop_frame (); + let h11 = HST.get () in + admit () (* Due to recent "double ghost" change *) + +#reset-options + +#set-options "--z3rlimit 40 --max_fuel 2 --max_ifuel 1" + +let dll_remove_head #t d = + let h00 = HST.get () in + HST.push_frame (); + let h0 = HST.get () in + let y = DLL.dll_remove_head (!*d) in + let h' = HST.get () in + d *= y; + let h1 = HST.get () in + _lemma_unchanged_node_vals_stays_valid0 h' h1 d; + _lemma_unchanged_node_vals_transitive h0 h' h1 (as_list h0 d); + HST.pop_frame (); + let h11 = HST.get () in + admit () (* Due to recent "double ghost" change *) + +#reset-options + +#set-options "--z3rlimit 40 --max_fuel 2 --max_ifuel 1" + +let dll_remove_tail #t d = + let h00 = HST.get () in + HST.push_frame (); + let h0 = HST.get () in + let y = DLL.dll_remove_tail (!*d) in + let h' = HST.get () in + d *= y; + let h1 = HST.get () in + + FStar.Classical.arrow_to_impl + #(L.length (G.reveal (d@h0).DLL.nodes) >= 2) + #(DLL.dll_fp0 (d@h0) `B.loc_includes` B.loc_buffer ((d@h0).DLL.ltail@h0).DLL.blink) + (fun _ -> + DLL.extract_nodelist_conn h0 (G.reveal (d@h0).DLL.nodes) (L.length (G.reveal (d@h0).DLL.nodes) - 2); + DLL.extract_nodelist_fp0 (G.reveal (d@h0).DLL.nodes) (L.length (G.reveal (d@h0).DLL.nodes) - 2); + L.lemma_unsnoc_is_last (G.reveal (d@h0).DLL.nodes)); + + _lemma_unchanged_node_vals_stays_valid0 h' h1 d; + _lemma_unchanged_node_vals_transitive h0 h' h1 (as_list h0 d); + HST.pop_frame (); + let h11 = HST.get () in + admit () (* Due to recent "double ghost" change *) + +#reset-options + +#set-options "--z3rlimit 40 --max_fuel 2 --max_ifuel 1" + +let dll_remove_mid #t d n = + let h00 = HST.get () in + HST.push_frame (); + let h0 = HST.get () in + let y = DLL.dll_remove_node (!*d) n in + let h' = HST.get () in + d *= y; + let h1 = HST.get () in + + FStar.Classical.arrow_to_impl + #(L.length (G.reveal (d@h0).DLL.nodes) >= 2) + #(DLL.dll_fp0 (d@h0) `B.loc_includes` B.loc_buffer ((d@h0).DLL.ltail@h0).DLL.blink) + (fun _ -> + DLL.extract_nodelist_conn h0 (G.reveal (d@h0).DLL.nodes) (L.length (G.reveal (d@h0).DLL.nodes) - 2); + DLL.extract_nodelist_fp0 (G.reveal (d@h0).DLL.nodes) (L.length (G.reveal (d@h0).DLL.nodes) - 2); + L.lemma_unsnoc_is_last (G.reveal (d@h0).DLL.nodes)); + // assert (DLL.dll_fp0 (d@h0) `B.loc_includes` B.loc_buffer ((d@h0).DLL.lhead@h0).DLL.flink); + // assert (DLL.dll_fp0 (d@h0) `B.loc_includes` B.loc_buffer ((d@h0).DLL.ltail@h0).DLL.blink); + + _lemma_next_node_in_list h0 n d; + _lemma_node_in_list_or_null_is_included ((n@h0).DLL.flink) (G.reveal (d@h0).DLL.nodes); + _lemma_prev_node_in_list h0 n d; + _lemma_node_in_list_or_null_is_included ((n@h0).DLL.blink) (G.reveal (d@h0).DLL.nodes); + // assert (DLL.dll_fp0 (d@h0) `B.loc_includes` B.loc_buffer (n@h0).DLL.flink); + // assert (DLL.dll_fp0 (d@h0) `B.loc_includes` B.loc_buffer (n@h0).DLL.blink); + + _lemma_unchanged_node_vals_stays_valid0 h' h1 d; + _lemma_unchanged_node_vals_transitive h0 h' h1 (as_list h0 d); + HST.pop_frame (); + let h11 = HST.get () in + admit () (* Due to recent "double ghost" change *) + +#reset-options + +#set-options "--z3rlimit 20 --max_fuel 2 --max_ifuel 1" + +let dll_append #t d1 d2 = + let h00 = HST.get () in + HST.push_frame (); + let h0 = HST.get () in + let y = DLL.dll_append (!*d1) (!*d2) in + let h' = HST.get () in + d1 *= y; + let h1 = HST.get () in + DLL.nodelist_append_fp0 (as_list h0 d1) (as_list h0 d2); + assert (_pred_nl_disjoint h0 (as_list h1 d1)); // OBSERVE + _lemma_unchanged_node_vals_transitive h0 h' h1 (as_list h1 d1); + HST.pop_frame (); + let h11 = HST.get () in + admit () (* Due to recent "double ghost" change *) + +#reset-options + +#set-options "--z3rlimit 100 --max_fuel 2 --max_ifuel 1" + +let dll_split_using #t d1 d2 n = + let h00 = HST.get () in + HST.push_frame (); + let h0 = HST.get () in + let y1, y2 = DLL.dll_split_using (!*d1) n in + let h0' = HST.get () in + d1 *= y1; + let h0'' = HST.get () in + d2 *= y2; + let h1 = HST.get () in + assert (B.loc_buffer d1 `B.loc_disjoint` DLL.dll_fp0 (d1@h0)); + assert (DLL.dll_fp0 (d1@h0) `B.loc_includes` DLL.dll_fp0 y1); + FStar.Classical.arrow_to_impl + #(L.length (G.reveal (d1@h0).DLL.nodes) >= 2) + #(DLL.dll_fp0 (d1@h0) `B.loc_includes` B.loc_buffer ((d1@h0).DLL.ltail@h0).DLL.blink) + (fun _ -> + DLL.extract_nodelist_conn h0 (G.reveal (d1@h0).DLL.nodes) (L.length (G.reveal (d1@h0).DLL.nodes) - 2); + DLL.extract_nodelist_fp0 (G.reveal (d1@h0).DLL.nodes) (L.length (G.reveal (d1@h0).DLL.nodes) - 2); + L.lemma_unsnoc_is_last (G.reveal (d1@h0).DLL.nodes)); + _lemma_prev_node_in_list h0 n d1; + _lemma_node_in_list_or_null_is_included ((n@h0).DLL.blink) (G.reveal (d1@h0).DLL.nodes); + _lemma_node_in_list_is_included n (G.reveal (d1@h0).DLL.nodes); + assert (B.loc_buffer d1 `B.loc_disjoint` DLL.dll_fp0 (d1@h0')); + _lemma_unchanged_node_vals_stays_valid0 h0' h0'' d1; + _lemma_unchanged_node_vals_transitive h0 h0' h0'' (as_list h0 d1); + // + _lemma_unchanged_node_vals_when_disjoint h0'' h1 (B.loc_buffer d2) (as_list h0 d1); + assert (unchanged_node_vals h0'' h1 (as_list h0 d1)); + assert (_pred_nl_disjoint h0 (as_list h0 d1)); + assert (_pred_nl_disjoint h0 (as_list h1 d1)); + assert (_pred_nl_disjoint h0 (as_list h1 d2)); + _lemma_unchanged_node_vals_transitive h0 h0'' h1 (as_list h0 d1); + assert (dll_valid h0'' d1); + _lemma_nodelist_conn_in_unmodified_mem h0'' h1 (B.loc_buffer d2) (as_list h0'' d1); + _lemma_nodelist_contained_in_unmodified_mem h0'' h1 (B.loc_buffer d2) (as_list h0'' d1); + assert (dll_valid h1 d1); + _lemma_nodelist_conn_in_unmodified_mem h0' h0'' (B.loc_buffer d1) (G.reveal y2.DLL.nodes); + _lemma_nodelist_contained_in_unmodified_mem h0' h0'' (B.loc_buffer d1) (G.reveal y2.DLL.nodes); + assert (DLL.dll_valid h0'' y2); + assert (dll_valid h1 d2); + HST.pop_frame (); + let h11 = HST.get () in + B.popped_modifies h1 h11; + let loc = B.loc_region_only false (HS.get_tip h1) in + _lemma_nodelist_contained_in_unmodified_mem h1 h11 loc (as_list h11 d1); + _lemma_nodelist_contained_in_unmodified_mem h1 h11 loc (as_list h11 d2); + _lemma_nodelist_conn_in_unmodified_mem h1 h11 loc (as_list h11 d1); + _lemma_nodelist_conn_in_unmodified_mem h1 h11 loc (as_list h11 d2); + admit () (* Due to recent "double ghost" change *) + +#reset-options + +/// Automatic validity maintenance +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +let auto_dll_remains_valid_upon_staying_unchanged h0 h1 l d = + _lemma_nodelist_contained_in_unmodified_mem h0 h1 l (as_list h1 d); + _lemma_nodelist_conn_in_unmodified_mem h0 h1 l (as_list h1 d) + +let auto_node_remains_valid_upon_staying_unchanged h0 h1 l n = () + +let auto_node_remains_unchanged_upon_staying_unchanged_val h0 h1 n = () + +/// Automatic footprint maintenance +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +let auto_dll_fp_upon_staying_unchanged h0 h1 l d = () + +/// Automatic value maintenance +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +let auto_dll_as_list_staying_unchanged h0 h1 l d =() + +let auto_dll_as_payload_list_staying_unchanged h0 h1 loc d = + let rec aux loc nl : Lemma + (requires ( + B.modifies loc h0 h1 /\ + DLL.nodelist_contained h0 nl /\ + B.loc_disjoint (DLL.nodelist_fp0 nl) loc)) + (ensures (g_node_vals h0 nl == g_node_vals h1 nl)) = + match nl with + | [] -> () + | hd :: tl -> aux loc tl in + aux loc (as_list h1 d) + +let auto_node_val_staying_unchanged h0 h1 l n = () + +/// Properties of nodes inside and outside lists +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +let auto_node_in_list_is_included h0 n d = + _lemma_node_in_list_is_included n (as_list h0 d) + +let auto_node_in_list_is_valid h0 n d = + DLL.extract_nodelist_contained h0 (as_list h0 d) (as_list h0 d `L.index_of` n) + +/// Properties related to unchanged connections +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +let auto_unchanged_node_connections_list_unchanged h0 h1 d n = + assert (B.loc_disjoint (B.loc_buffer d) (DLL.dll_fp0 (d@h0))); + DLL.extract_nodelist_fp0 (as_list h0 d) (as_list h0 d `L.index_of` n); + assert (B.loc_disjoint (B.loc_buffer d) (B.loc_buffer n)) + +#set-options "--z3rlimit 10" + +let auto_unchanged_node_connections_dll_valid h0 h1 d (n:node 'a) = + DLL.extract_nodelist_fp0 (as_list h0 d) (as_list h0 d `L.index_of` n); + assert (d@h0 == d@h1); + assert (as_list h0 d == as_list h1 d); + let rec aux1 #nl' (nl:list (node 'a)) : + Lemma + (requires ( + (B.modifies (B.loc_buffer n) h0 h1) /\ + (DLL.nodelist_contained h0 nl) /\ + (DLL.nodelist_aa_r nl) /\ + (nl' `L.append` nl == as_list h1 d) /\ + (n `L.memP` nl \/ B.loc_buffer n `B.loc_disjoint` DLL.nodelist_fp0 nl))) + (ensures (DLL.nodelist_contained h1 nl)) + (decreases (L.length nl)) = + match nl with + | [] -> () + | x :: xs -> + let nl1', nl1 = L.snoc (nl', x), xs in + L.append_l_cons x xs nl'; + aux1 #nl1' nl1 in + aux1 #[] (as_list h1 d); + assert (DLL.nodelist_contained h1 (as_list h1 d)); + assert ((d@h1).DLL.lhead =!= B.null); + assert ((d@h1).DLL.ltail =!= B.null); + let rec aux2 #nl' (nl:list (node 'a)) : + Lemma + (requires ( + (B.modifies (B.loc_buffer n) h0 h1) /\ + unchanged_node_connections h0 h1 n /\ + (DLL.nodelist_contained h0 nl) /\ + (DLL.nodelist_contained h1 nl) /\ + (DLL.nodelist_conn h0 nl) /\ + (DLL.nodelist_aa_r nl) /\ + (nl' `L.append` nl == as_list h1 d) /\ + (n `L.memP` nl \/ B.loc_buffer n `B.loc_disjoint` DLL.nodelist_fp0 nl))) + (ensures (DLL.nodelist_conn h1 nl)) + (decreases (L.length nl)) = + match nl with + | [] -> () + | n1 :: rest -> + match rest with + | [] -> () + | n2 :: ns -> + let nl1', nl1 = L.snoc (nl', n1), rest in + L.append_l_cons n1 rest nl'; + aux2 #nl1' nl1; + assert (DLL.nodelist_conn h1 rest); + FStar.Classical.arrow_to_impl #(n `L.memP` rest) #((n1@h1).DLL.flink == (n1@h0).DLL.flink) + (fun _ -> DLL.extract_nodelist_fp0 rest (rest `L.index_of` n)); + FStar.Classical.arrow_to_impl #(n `L.memP` ns) #((n2@h1).DLL.blink == (n2@h0).DLL.blink) + (fun _ -> DLL.extract_nodelist_fp0 ns (ns `L.index_of` n)) in + aux2 #[] (as_list h1 d); + assert (DLL.nodelist_conn h1 (as_list h1 d)); + FStar.Classical.arrow_to_impl + #((d@h1).DLL.lhead =!= n) #(((d@h1).DLL.lhead@h1).DLL.blink == B.null) + (fun _ -> + let l = L.tl (as_list h1 d) in + DLL.extract_nodelist_fp0 l (l `L.index_of` n)); + L.lemma_unsnoc_is_last (as_list h1 d); + FStar.Classical.arrow_to_impl + #((d@h1).DLL.ltail =!= n) #(((d@h1).DLL.ltail@h1).DLL.flink == B.null) + (fun _ -> + let l, _ = L.unsnoc (as_list h1 d) in + let i = as_list h1 d `L.index_of` n in + assert (i < L.length (as_list h1 d)); + assert (i = L.length (as_list h1 d) ==> (d@h1).DLL.ltail == n); + assert ((d@h1).DLL.ltail =!= n); + assert (i < L.length (as_list h1 d) - 1); + L.lemma_unsnoc_length (as_list h1 d); + L.lemma_unsnoc_index (as_list h1 d) i; + DLL.extract_nodelist_fp0 l (l `L.index_of` n)) + +#reset-options + +/// Properties related to pushes and pops +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +let auto_dll_push_pop h0 h1 h2 h3 d = () + +let auto_dll_fp_push_pop h0 h1 h2 h3 d = () + +let auto_dll_fp_disjoint_push h0 h1 d = () diff --git a/examples/doublylinkedlist/DoublyLinkedListIface.fst.hints b/examples/doublylinkedlist/DoublyLinkedListIface.fst.hints new file mode 100644 index 00000000000..bbaaa24fb96 --- /dev/null +++ b/examples/doublylinkedlist/DoublyLinkedListIface.fst.hints @@ -0,0 +1,4577 @@ +[ + "“\u0006EDã¶\t\u0007\u0001¯ÌfË#E¸", + [ + [ + "DoublyLinkedListIface.op_At", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.pointer", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" + ], + 0, + "9af88153dbbc1f630184cd39e1deb338" + ], + [ + "DoublyLinkedListIface.op_Hat_At", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", + "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", + "lemma_DoublyLinkedList.lemma_non_null", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_49875fd7a8a9e5d480065968845f9c04", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_Prims.pow2.fuel_instrumented", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len" + ], + 0, + "f9515c2416f75956789471242ff62b85" + ], + [ + "DoublyLinkedListIface.node_valid", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.auto_squash", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "8167b9b01e6e8d85b350ac454e38641a" + ], + [ + "DoublyLinkedListIface.dll_valid", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "859a097afc3583d1f58600ad19d67bbe" + ], + [ + "DoublyLinkedListIface.node_val", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_DoublyLinkedListIface.g_node_val", + "equation_DoublyLinkedListIface.node_valid", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.Heap.equal_dom", + "fuel_guarded_inversion_DoublyLinkedList.node", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", + "refinement_interpretation_Tm_refine_7286a6f0958501c967dce1624240c9a7" + ], + 0, + "c8d23dd247b2cba24232f2f44fa44e43" + ], + [ + "DoublyLinkedListIface.node_of", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "equation_DoublyLinkedList.empty_node", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.g_node_val", + "equation_DoublyLinkedListIface.node_valid", + "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.fresh_loc", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_DoublyLinkedList.node@tok", + "lemma_FStar.Seq.Base.lemma_index_create", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", + "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", + "primitive_Prims.op_GreaterThan", + "proj_equation_DoublyLinkedList.Mknode_p", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_DoublyLinkedList.Mknode_p", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_264f9257c374d8f2bf67ecf52ac7ad2f", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_DoublyLinkedList.empty_node", + "typing_DoublyLinkedListIface.fp_node", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.is_stack_region", + "typing_FStar.Set.singleton", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_addresses", + "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", + "typing_LowStar.Monotonic.Buffer.loc_unused_in", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "bb06177f0da12c6d5ca66f4cfa5c4a96" + ], + [ + "DoublyLinkedListIface.unchanged_node_connections", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", + "equation_Prims.l_and", "equation_Prims.squash", + "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "efe28d8b886e1f2c2a2075380e174e46" + ], + [ + "DoublyLinkedListIface.node_update", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.g_node_val", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_DoublyLinkedListIface.unchanged_node_connections", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.Buffer.trivial_preorder", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "kinding_DoublyLinkedList.node@tok", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_create", + "lemma_FStar.Set.lemma_equal_elim", + "proj_equation_DoublyLinkedList.Mknode_blink", + "proj_equation_DoublyLinkedList.Mknode_flink", + "proj_equation_DoublyLinkedList.Mknode_p", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_DoublyLinkedList.Mknode_blink", + "projection_inverse_DoublyLinkedList.Mknode_flink", + "projection_inverse_DoublyLinkedList.Mknode_p", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_56ecb46c72382cf062ff8e5f2bf56b84", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7286a6f0958501c967dce1624240c9a7", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "true_interp", "typing_FStar.Map.domain", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Seq.Base.create", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.length" + ], + 0, + "833585f3dd61f7b7b76918e981432bcc" + ], + [ + "DoublyLinkedListIface.unchanged_node_val", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.l_imp", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "769238688ce59cd1949c4956d7cec38a" + ], + [ + "DoublyLinkedListIface.unchanged_node_vals", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_0da546199211a769a972571cdb3aec67", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equality_tok_Prims.T@tok", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.l_True", + "equation_Prims.l_and", "equation_Prims.squash", + "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "subterm_ordering_Prims.Cons", "typing_tok_Prims.T@tok", + "unit_typing" + ], + 0, + "3d7bdccf509394a521263043f5268049" + ], + [ + "DoublyLinkedListIface.g_node_vals", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperStack.mem", + "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" + ], + 0, + "e9f8062a0de907be3db1a4f3a41df4af" + ], + [ + "DoublyLinkedListIface.dll_new", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", + "eq2-interp", "equation_DoublyLinkedList.dll_aa", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.empty_list", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.nodelist_aa", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.fresh_loc", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Seq.Base.lemma_index_create", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.live_is_null", + "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", + "primitive_Prims.op_GreaterThan", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "proj_equation_DoublyLinkedList.Mkdll_nodes", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_DoublyLinkedList.Mkdll_lhead", + "projection_inverse_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_DoublyLinkedList.Mkdll_nodes", + "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_13aba8ad77992b089bfdab8aec42610b", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.empty_list", + "typing_DoublyLinkedList.nodelist", + "typing_DoublyLinkedListIface.fp_dll", "typing_FStar.Ghost.reveal", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.is_stack_region", + "typing_FStar.Seq.Base.index", "typing_FStar.Set.singleton", + "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_addresses", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", + "typing_LowStar.Monotonic.Buffer.loc_unused_in", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "58a5a00c453780b2163fb9dfcc2eb28c" + ], + [ + "DoublyLinkedListIface.is_empty", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_16cb19cdfda0ad15828e70e1c7f34226", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", + "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "d83f539581b26baba8f450e8a369d752" + ], + [ + "DoublyLinkedListIface.dll_head", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_DoublyLinkedListIface.node", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_DoublyLinkedListIface.node", + "typing_FStar.List.Tot.Base.length" + ], + 0, + "d242ede6d22f54ecd5f59e8fac39e660" + ], + [ + "DoublyLinkedListIface.dll_head", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "eq2-interp", "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", + "lemma_DoublyLinkedList.lemma_non_null", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", + "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.modifies_refl", + "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.node", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.loc_none" + ], + 0, + "d57359f1fcb8d1d88d28cb1d646f9891" + ], + [ + "DoublyLinkedListIface.dll_tail", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd" + ], + 0, + "a4126737dec8348d2ad6b96f2d27784f" + ], + [ + "DoublyLinkedListIface.dll_tail", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "eq2-interp", "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", + "lemma_DoublyLinkedList.lemma_non_null", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", + "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedListIface.node", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len" + ], + 0, + "80aca0c86a889687a659b30576a64a9b" + ], + [ + "DoublyLinkedListIface.lemma_node_in_valid_dll_is_valid", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_LowStar.Monotonic.Buffer.get", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" + ], + 0, + "2ac1b774d514fedcd29dfb7853933ba7" + ], + [ + "DoublyLinkedListIface._lemma_nodelist_contained_in_unmodified_mem", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", + "binder_x_8358b93aec0670665ebb4c0f52fc04b7_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "subterm_ordering_Prims.Cons", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.loc_buffer" + ], + 0, + "a70a7d0bcef5c6d033a2c8d576ee8f3e" + ], + [ + "DoublyLinkedListIface._lemma_nodelist_conn_in_unmodified_mem", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", + "binder_x_8358b93aec0670665ebb4c0f52fc04b7_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "subterm_ordering_Prims.Cons", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.loc_buffer", "unit_inversion", + "unit_typing" + ], + 0, + "edb4aa1d95fa95d5e919e3e167873a57" + ], + [ + "DoublyLinkedListIface._lemma_nodelist_disjoint_in_push", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", + "bool_typing", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Set.mem_intersect", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", + "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "subterm_ordering_Prims.Cons", + "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.Heap.emp", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Set.empty", "typing_FStar.Set.intersect", + "typing_FStar.Set.singleton", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_regions" + ], + 0, + "e4abb5e877d9c3796e292e176b194230" + ], + [ + "DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Prims.Nil", "eq2-interp", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", "int_typing", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", + "l_and-interp", "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "proj_equation_DoublyLinkedList.Mkdll_nodes", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none" + ], + 0, + "47f48f1b06236dc94df252c5cc0ff50f" + ], + [ + "DoublyLinkedListIface._lemma_dll_valid_and_unchanged_through_pop", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Nil", "eq2-interp", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", "int_typing", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_LowStar.Monotonic.Buffer.live_is_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.fp_dll", "typing_FStar.Ghost.reveal", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Set.singleton", "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_regions", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "b4e4b97bccdd8ff47f3a3015c74f1676" + ], + [ + "DoublyLinkedListIface._auto_dll_modified_with_push_pop", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", + "eq2-interp", "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.node", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", "int_typing", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", + "l_and-interp", "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_LowStar.Monotonic.Buffer.live_is_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "proj_equation_DoublyLinkedList.Mkdll_nodes", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.fp_dll", + "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "c2cbe125a88b38053e2eb70211c3618f" + ], + [ + "DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@query", "bool_inversion", "bool_typing", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Set.subset", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Set.mem_intersect", + "lemma_FStar.Set.mem_singleton", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", + "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", + "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.fp_dll", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.Heap.emp", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Set.singleton", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_addresses", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", + "typing_LowStar.Monotonic.Buffer.loc_regions", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "500c76838d46362c226bae004364e019" + ], + [ + "DoublyLinkedListIface._auto_dll_assign_valid_stays_valid", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", + "@query", "eq2-interp", "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.nodelist", + "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.reveal", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "d9389d1f91772debe9a6726c81911557" + ], + [ + "DoublyLinkedListIface._lemma_unchanged_node_vals_transitive", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.unchanged_node_val", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "l_and-interp", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "subterm_ordering_Prims.Cons" + ], + 0, + "9cc5fd7a245d2644f8e4bbb742bb0fb8" + ], + [ + "DoublyLinkedListIface._auto_unchanged_node_vals_through_push_pop", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_4", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_5", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_typing", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.g_node_val", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.unchanged_node_val", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.node", + "fuel_guarded_inversion_Prims.list", "int_typing", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "lemma_LowStar.Monotonic.Buffer.popped_modifies", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "subterm_ordering_Prims.Cons", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Set.singleton", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_LowStar.Monotonic.Buffer.loc_regions" + ], + 0, + "1bc939d62be949cd97972a8ce5008507" + ], + [ + "DoublyLinkedListIface._auto_pred_nl_disjoint_push", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@query", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", + "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Set.singleton", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.loc_addresses", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_not_unused_in" + ], + 0, + "02ab0ddb4b688624fc3fd502ef55dac4" + ], + [ + "DoublyLinkedListIface._auto_unchanged_node_vals_DLL", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.unchanged_node_val", + "equation_DoublyLinkedListIface.g_node_val", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.unchanged_node_val", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "l_and-interp", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "subterm_ordering_Prims.Cons", "true_interp" + ], + 0, + "1d6107f53800d05a2671207aa20e0c6a" + ], + [ + "DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.g_node_val", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.unchanged_node_val", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "subterm_ordering_Prims.Cons", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "1b78afaa684e299959038d6e6cb33d4a" + ], + [ + "DoublyLinkedListIface._lemma_unchanged_node_vals_when_disjoint", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", + "binder_x_8358b93aec0670665ebb4c0f52fc04b7_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.g_node_val", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.unchanged_node_val", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "subterm_ordering_Prims.Cons", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "true_interp", "typing_DoublyLinkedList.nodelist_fp0", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.loc_buffer" + ], + 0, + "a0f22b9ad7b7514fcf3fc992411e98aa" + ], + [ + "DoublyLinkedListIface._lemma_unchanged_node_vals_stays_valid0", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.node", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "int_typing", "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "b4358c6b7345ab6b5979d66c8e2ad64f" + ], + [ + "DoublyLinkedListIface._lemma_node_in_list_is_included", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "b2t_def", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", + "binder_x_d8fdf051d6079d1de957e0d41956a7f4_1", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "eq2-interp", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.node", "equation_FStar.UInt.fits", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", "int_typing", + "kinding_DoublyLinkedList.node@tok", "l_or-interp", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_9cb7520238d94c19c5c6abfdaba87763", + "refinement_interpretation_Tm_refine_abb737bf606a41c217b52ce6334abde3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "subterm_ordering_Prims.Cons", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.fp_node", + "typing_DoublyLinkedListIface.node", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_Prims.__proj__Cons__item__tl" + ], + 0, + "7f373cd7600d1db4bae80f90b106cc0e" + ], + [ + "DoublyLinkedListIface._lemma_node_in_list_or_null_is_included", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "eq2-interp", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.node", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_imp", + "equation_Prims.l_not", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.squash", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", + "kinding_DoublyLinkedList.node@tok", "l_imp-interp", "l_not-interp", + "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_Prims.pow2.fuel_instrumented", + "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "6deed8a2f4ef511bb6539c1fcdda4e4f" + ], + [ + "DoublyLinkedListIface._lemma_prev_node_in_list", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "@query", "bool_inversion", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Less_Bar", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", + "equation_Prims.l_imp", "equation_Prims.l_not", + "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.squash", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.node", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", + "l_not-interp", "l_or-interp", + "lemma_DoublyLinkedList.lemma_non_null", + "lemma_FStar.List.Tot.Properties.lemma_index_memP", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5704a6fa03e0d1adecb1d67a11a15306", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", + "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "typing_DoublyLinkedListIface.node", "typing_FStar.List.Tot.Base.hd", + "typing_FStar.List.Tot.Base.tl", + "typing_FStar.List.Tot.Properties.index_of", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" + ], + 0, + "a2f65af13c33070206863f91f669be4f" + ], + [ + "DoublyLinkedListIface._lemma_next_node_in_list", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "bool_inversion", "data_elim_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Bar_Greater", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_imp", + "equation_Prims.l_not", "equation_Prims.nat", + "equation_Prims.squash", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.node", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", + "l_not-interp", "lemma_DoublyLinkedList.lemma_non_null", + "lemma_FStar.List.Tot.Properties.lemma_index_memP", + "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_DoublyLinkedListIface.node", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "899e393c7c985a146082b2b779c680df" + ], + [ + "DoublyLinkedListIface._lemma_insertion_maintains_memP", + 1, + 2, + 1, + [ "@query" ], + 0, + "de512eea8068d76a9d489c31c1b538c0" + ], + [ + "DoublyLinkedListIface._lemma_insertion_maintains_memP", + 2, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_e09860b75d8922ab497a3e5bc9347578_4", + "binder_x_e09860b75d8922ab497a3e5bc9347578_5", + "binder_x_e09860b75d8922ab497a3e5bc9347578_6", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "eq2-interp", + "equation_DoublyLinkedList._l_insert_after", + "equation_DoublyLinkedList._l_insert_before", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_Prims.eq2", + "equation_Prims.logical", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Prims.list", "kinding_Prims.equals@tok", + "l_or-interp", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_61bbd3cde1f3e4f25b70f4528e2397a7", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_8e71700f15cfd6762db717902a479c9d", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", + "subterm_ordering_Prims.Cons", + "typing_FStar.List.Tot.Properties.split_using", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.__proj__Cons__item__tl", "typing_Prims.eq2", + "typing_Prims.squash" + ], + 0, + "af99e3965b495a6c9d8f11121c9c2e46" + ], + [ + "DoublyLinkedListIface._lemma_insertion_maintains_unchanged_node_vals", + 1, + 2, + 1, + [ "@query" ], + 0, + "c09312a2a4b0ed6b797e874b05717683" + ], + [ + "DoublyLinkedListIface._lemma_insertion_maintains_unchanged_node_vals", + 2, + 2, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", + "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", + "binder_x_d8fdf051d6079d1de957e0d41956a7f4_5", + "binder_x_d8fdf051d6079d1de957e0d41956a7f4_6", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "eq2-interp", + "equation_DoublyLinkedList._l_insert_after", + "equation_DoublyLinkedList._l_insert_before", + "equation_DoublyLinkedListIface.node", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eq2", + "equation_Prims.l_and", "equation_Prims.l_imp", + "equation_Prims.l_not", "equation_Prims.logical", + "equation_Prims.prop", "equation_Prims.squash", + "equation_Prims.subtype_of", + "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "false_interp", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Prims.c_and", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", + "l_imp-interp", "l_not-interp", "l_or-interp", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "lemma_FStar.Map.lemma_ContainsDom", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", + "subterm_ordering_Prims.Cons", "true_interp", + "typing_DoublyLinkedListIface.node", + "typing_DoublyLinkedListIface.unchanged_node_vals", + "typing_FStar.List.Tot.Properties.split_using", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.__proj__Cons__item__tl", "typing_Prims.eq2", + "unit_inversion", "unit_typing" + ], + 0, + "54cd62c2e141f13e85103d915dc14106" + ], + [ + "DoublyLinkedListIface._lemma_unchanged_node_vals_maintains_changes", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.unchanged_node_val", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "l_and-interp", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "subterm_ordering_Prims.Cons" + ], + 0, + "3a3ec465dd43c55bd10a806a451de0fe" + ], + [ + "DoublyLinkedListIface._lemma_append_contains", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", + "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "l_and-interp", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "subterm_ordering_Prims.Cons", "true_interp", + "typing_DoublyLinkedListIface.node", + "typing_FStar.List.Tot.Base.append" + ], + 0, + "acc02363292bc69b1acdd15679f21595" + ], + [ + "DoublyLinkedListIface._lemma_append_g_node_vals", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", + "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "subterm_ordering_Prims.Cons", + "typing_DoublyLinkedListIface.g_node_vals", + "typing_DoublyLinkedListIface.node", + "typing_FStar.List.Tot.Base.append" + ], + 0, + "638bda60c38c9cec81868bd9bb2e253a" + ], + [ + "DoublyLinkedListIface._lemma_unchanged_node_vals_append", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", + "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "l_and-interp", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "subterm_ordering_Prims.Cons", "true_interp", + "typing_DoublyLinkedListIface.node", + "typing_FStar.List.Tot.Base.append" + ], + 0, + "c5cb29ebec3a5bd309a35a9601e491d6" + ], + [ + "DoublyLinkedListIface._lemma_extract_unchanged_node_val", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", + "binder_x_d8fdf051d6079d1de957e0d41956a7f4_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "eq2-interp", "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", "l_and-interp", + "l_or-interp", "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_07389c3c2ef839235caf1c57f2f6e04d", + "refinement_interpretation_Tm_refine_65d23ea2899ec909f44dcc9816e6faa4", + "subterm_ordering_Prims.Cons", "typing_DoublyLinkedListIface.node" + ], + 0, + "36ed2e8383ba0c6ae91215b0a46fbe1e" + ], + [ + "DoublyLinkedListIface._lemma_split_using_splitAt", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" + ], + 0, + "7d928f6aecd90b73830618b7fc871e84" + ], + [ + "DoublyLinkedListIface._lemma_split_using_splitAt", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "binder_x_e09860b75d8922ab497a3e5bc9347578_3", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "eq2-interp", + "equation_FStar.List.Tot.Base.hd", "equation_Prims.eq2", + "equation_Prims.l_imp", "equation_Prims.logical", + "equation_Prims.nat", "equation_Prims.squash", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", "l_imp-interp", "l_or-interp", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2b44363072cdbb7c747614771b3f82c0", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", + "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "typing_FStar.List.Tot.Properties.index_of", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.__proj__Cons__item__tl", "typing_Prims.eq2" + ], + 0, + "957907bb01409953adbb894be8728ecb" + ], + [ + "DoublyLinkedListIface._lemma_length_g_node_vals", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "2b9a88bd66460c3a2ad69d2b80eff942" + ], + [ + "DoublyLinkedListIface._lemma_length_g_node_vals", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "subterm_ordering_Prims.Cons", + "typing_DoublyLinkedListIface.g_node_vals", + "typing_DoublyLinkedListIface.node" + ], + 0, + "65a77d7fa711cd0a2469392ecb7e8965" + ], + [ + "DoublyLinkedListIface.has_next", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" + ], + 0, + "9bf153b5267a151284d923f2d1fa9841" + ], + [ + "DoublyLinkedListIface.has_next", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "bool_inversion", "bool_typing", "eq2-interp", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", + "lemma_DoublyLinkedList.lemma_non_null", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", + "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e", + "refinement_interpretation_Tm_refine_8f68c7e17319ca709541d18c76db2671", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", + "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4", + "typing_DoublyLinkedList.__proj__Mknode__item__flink", + "typing_DoublyLinkedListIface.node", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.is_stack_region", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "2aacad7c99bde85dbd7187d65e2228fb" + ], + [ + "DoublyLinkedListIface.has_prev", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" + ], + 0, + "97d8fa786b4f7127f05461234dda2b15" + ], + [ + "DoublyLinkedListIface.has_prev", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "bool_inversion", "disc_equation_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", + "equation_Prims.logical", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", + "kinding_DoublyLinkedList.node@tok", "kinding_Prims.equals@tok", + "l_and-interp", "l_not-interp", "l_or-interp", + "lemma_DoublyLinkedList.lemma_non_null", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", + "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_8f68c7e17319ca709541d18c76db2671", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", + "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", + "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4", + "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "typing_DoublyLinkedList.__proj__Mknode__item__blink", + "typing_DoublyLinkedListIface.node", "typing_FStar.List.Tot.Base.tl", + "typing_FStar.List.Tot.Properties.index_of", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.is_stack_region", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2", + "typing_Prims.squash" + ], + 0, + "061f2dbdbd609a8e7f15e35012d4785a" + ], + [ + "DoublyLinkedListIface.next_node", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_4b7f486949c030b94228e6106566a490", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" + ], + 0, + "fe9ce3ba9267e734f14d36f126e52712" + ], + [ + "DoublyLinkedListIface.next_node", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@query", "eq2-interp", "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Bar_Greater", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "fuel_guarded_inversion_DoublyLinkedList.node", "int_typing", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_4b7f486949c030b94228e6106566a490", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", + "typing_DoublyLinkedListIface.node", + "typing_FStar.List.Tot.Base.index" + ], + 0, + "923fd7736f47d6efc940a18b313a7d96" + ], + [ + "DoublyLinkedListIface.prev_node", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_98e6e2f79e76c56949096085c8061d51", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" + ], + 0, + "5bd582053201ff699812d44d28834348" + ], + [ + "DoublyLinkedListIface.prev_node", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Bar_Greater", + "equation_DoublyLinkedList.op_Less_Bar", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eq2", + "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.squash", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.node", + "fuel_guarded_inversion_Prims.equals", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", + "l_and-interp", "l_or-interp", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mknode_blink", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5704a6fa03e0d1adecb1d67a11a15306", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_98e6e2f79e76c56949096085c8061d51", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", + "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "typing_DoublyLinkedList.__proj__Mknode__item__blink", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.node", "typing_FStar.List.Tot.Base.hd", + "typing_FStar.List.Tot.Base.index", "typing_FStar.List.Tot.Base.tl", + "typing_FStar.List.Tot.Properties.index_of", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_LowStar.Buffer.trivial_preorder", "typing_Prims.eq2" + ], + 0, + "145e714c9cfbee4128857d2061a9a032" + ], + [ + "DoublyLinkedListIface.l_insert_before", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71" + ], + 0, + "a55e65798e35be8b6c68cdfd43aca852" + ], + [ + "DoublyLinkedListIface.l_insert_after", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", + "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", "kinding_Prims.list@tok", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + ], + 0, + "f85e8997b133623614e9140e0fc8ed6a" + ], + [ + "DoublyLinkedListIface.l_insert_after'", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "disc_equation_Prims.Cons", + "equation_FStar.Pervasives.Native.snd", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_513bd087ae2f2716a3ebb59386c2db50", + "typing_FStar.Pervasives.Native.snd" + ], + 0, + "99a3fabbc5fe0171f55b642314651f89" + ], + [ + "DoublyLinkedListIface.l_remove_head", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", + "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length" + ], + 0, + "741012d28312d5861dbd27a216ed4c45" + ], + [ + "DoublyLinkedListIface.l_remove_mid", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_FStar.List.Tot.Base.hd", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", "kinding_Prims.list@tok", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + ], + 0, + "679c32d19e86027dc5280f72bd0f621e" + ], + [ + "DoublyLinkedListIface.l_remove_mid'", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "disc_equation_Prims.Cons", + "equation_FStar.Pervasives.Native.snd", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", + "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + ], + 0, + "81fd305b7ae5b5bd4da59187b03d24b7" + ], + [ + "DoublyLinkedListIface.dll_insert_at_head", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", + "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.node_not_in_dll", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.unchanged_node_val", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.as_payload_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.g_node_val", + "equation_DoublyLinkedListIface.l_insert_at_head", + "equation_DoublyLinkedListIface.loc_equiv", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_DoublyLinkedListIface.unchanged_node_val", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.pop", + "equation_FStar.Monotonic.HyperStack.poppable", + "equation_FStar.Monotonic.HyperStack.popped", + "equation_FStar.Monotonic.HyperStack.remove_elt", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.Buffer.trivial_preorder", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_DoublyLinkedList.loc_includes_union_l_nodelist_fp0", + "lemma_DoublyLinkedListIface._auto_dll_assign_valid_stays_valid", + "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", + "lemma_DoublyLinkedListIface._auto_dll_modified_with_push_pop", + "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", + "lemma_DoublyLinkedListIface._auto_pred_nl_disjoint_push", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_through_push_pop", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_create", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", + "lemma_FStar.Set.mem_union", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", + "lemma_LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", + "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", + "lemma_LowStar.Monotonic.Buffer.popped_modifies", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_5b639a91c64460c5c5ce01410bb80c64", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.fp_dll", + "typing_DoublyLinkedListIface.fp_node", + "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", + "typing_FStar.Monotonic.HyperHeap.mod_set", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.remove_elt", + "typing_FStar.Seq.Base.create", "typing_FStar.Set.complement", + "typing_FStar.Set.mem", "typing_FStar.Set.singleton", + "typing_FStar.Set.union", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", + "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_addresses", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", + "typing_LowStar.Monotonic.Buffer.loc_regions", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "06ff160eba33434d55b70c4bcc7fb087" + ], + [ + "DoublyLinkedListIface.dll_insert_at_tail", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", + "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", + "data_typing_intro_Prims.Cons@tok", + "data_typing_intro_Prims.Nil@tok", "eq2-interp", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.loc_equiv", + "equation_DoublyLinkedList.node_not_in_dll", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.as_payload_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.l_insert_at_tail", + "equation_DoublyLinkedListIface.loc_equiv", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_DoublyLinkedListIface.unchanged_node_val", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.snoc", + "equation_FStar.List.Tot.Base.unsnoc", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.pop", + "equation_FStar.Monotonic.HyperStack.poppable", + "equation_FStar.Monotonic.HyperStack.popped", + "equation_FStar.Monotonic.HyperStack.remove_elt", + "equation_FStar.Pervasives.Native.snd", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.Buffer.trivial_preorder", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_DoublyLinkedListIface._auto_dll_assign_valid_stays_valid", + "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", + "lemma_DoublyLinkedListIface._auto_dll_modified_with_push_pop", + "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_through_push_pop", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", + "lemma_FStar.List.Tot.Properties.lemma_index_memP", + "lemma_FStar.List.Tot.Properties.lemma_snoc_unsnoc", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_create", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", + "lemma_FStar.Set.mem_union", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", + "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", + "lemma_LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", + "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", + "lemma_LowStar.Monotonic.Buffer.popped_modifies", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_5b639a91c64460c5c5ce01410bb80c64", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.fp_dll", + "typing_DoublyLinkedListIface.fp_node", + "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", + "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_FStar.Monotonic.Heap.emp", + "typing_FStar.Monotonic.HyperHeap.mod_set", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.remove_elt", + "typing_FStar.Seq.Base.create", "typing_FStar.Set.complement", + "typing_FStar.Set.mem", "typing_FStar.Set.singleton", + "typing_FStar.Set.union", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", + "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_addresses", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", + "typing_LowStar.Monotonic.Buffer.loc_regions", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "d1f861825cab1f70b8bc48146340032a" + ], + [ + "DoublyLinkedListIface.dll_insert_before", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795" + ], + 0, + "4892faaed3cfe67b35b46a650434b3aa" + ], + [ + "DoublyLinkedListIface.dll_insert_before", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", + "bool_typing", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", + "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", + "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "eq2-interp", "equation_DoublyLinkedList._l_insert_before", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.loc_equiv", + "equation_DoublyLinkedList.node_not_in_dll", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.as_payload_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.g_node_val", + "equation_DoublyLinkedListIface.l_insert_before", + "equation_DoublyLinkedListIface.l_insert_before_", + "equation_DoublyLinkedListIface.loc_equiv", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_DoublyLinkedListIface.unchanged_node_val", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.pop", + "equation_FStar.Monotonic.HyperStack.poppable", + "equation_FStar.Monotonic.HyperStack.popped", + "equation_FStar.Monotonic.HyperStack.remove_elt", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", + "equation_Prims.eqtype", "equation_Prims.l_imp", + "equation_Prims.l_not", "equation_Prims.logical", + "equation_Prims.nat", "equation_Prims.squash", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.Buffer.trivial_preorder", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", + "l_not-interp", "l_or-interp", + "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_DoublyLinkedList.lemma_non_null", + "lemma_DoublyLinkedListIface._auto_dll_assign_valid_stays_valid", + "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", + "lemma_DoublyLinkedListIface._auto_dll_modified_with_push_pop", + "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", + "lemma_DoublyLinkedListIface._auto_pred_nl_disjoint_push", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_through_push_pop", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_create", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", + "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", + "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", + "lemma_LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", + "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", + "lemma_LowStar.Monotonic.Buffer.popped_modifies", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.__proj__Mknode__item__blink", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.fp_dll", + "typing_DoublyLinkedListIface.fp_node", + "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", + "typing_FStar.List.Tot.Base.hd", + "typing_FStar.List.Tot.Properties.split_using", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", + "typing_FStar.Monotonic.HyperHeap.mod_set", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.remove_elt", + "typing_FStar.Seq.Base.create", "typing_FStar.Set.complement", + "typing_FStar.Set.mem", "typing_FStar.Set.singleton", + "typing_FStar.Set.union", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", + "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_addresses", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", + "typing_LowStar.Monotonic.Buffer.loc_regions", + "typing_LowStar.Monotonic.Buffer.loc_union", "typing_Prims.eq2" + ], + 0, + "5bbde7e76073c9d2d75500c9e88157b4" + ], + [ + "DoublyLinkedListIface.dll_insert_after", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" + ], + 0, + "5ab899fe065ff9a854ad01ea7484d1ea" + ], + [ + "DoublyLinkedListIface.dll_insert_after", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@query", "bool_inversion", "bool_typing", "eq2-interp", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.loc_equiv", + "equation_DoublyLinkedList.node_not_in_dll", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.poppable", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", + "equation_Prims.l_imp", "equation_Prims.l_not", "equation_Prims.nat", + "equation_Prims.squash", + "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.Buffer.trivial_preorder", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", + "l_not-interp", "lemma_DoublyLinkedList.lemma_non_null", + "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", + "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_create", + "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", + "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.__proj__Mknode__item__flink", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.fp_dll", + "typing_DoublyLinkedListIface.fp_node", "typing_FStar.Ghost.reveal", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Seq.Base.create", "typing_FStar.Set.singleton", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", + "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_addresses", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", + "typing_LowStar.Monotonic.Buffer.loc_regions", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "26107c6ae4712a6cb586fd0e6881e9a2" + ], + [ + "DoublyLinkedListIface.dll_remove_head", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.as_payload_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.node", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.node", + "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "71ff1f224d9c904dfdde62352d8adfa4" + ], + [ + "DoublyLinkedListIface.dll_remove_head", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.loc_equiv", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Bar_Greater", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.poppable", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.Buffer.trivial_preorder", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", + "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "proj_equation_DoublyLinkedList.Mknode_flink", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.__proj__Mknode__item__flink", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "3847f245f6fc01c292020f3c726f2940" + ], + [ + "DoublyLinkedListIface.dll_remove_tail", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.as_payload_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.node", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.node", + "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "6c22798cec58778b4ab48840d36391c7" + ], + [ + "DoublyLinkedListIface.dll_remove_tail", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@query", "b2t_def", "bool_inversion", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Less_Bar", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.poppable", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_imp", + "equation_Prims.nat", "equation_Prims.squash", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.Buffer.trivial_preorder", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", + "l_not-interp", "lemma_DoublyLinkedList.lemma_non_null", + "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "primitive_Prims.op_Addition", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mknode_blink", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_47add9cc1545ad6564ffcb3d104fe1ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_a4b0a7d258ca4a7565c9e4d07a20f2fc", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mknode__item__blink", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.node", + "typing_FStar.List.Tot.Base.index", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "d0287ecb890e53c4b9ffc678f3e04d14" + ], + [ + "DoublyLinkedListIface.dll_remove_mid", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "data_elim_Prims.Cons", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.node", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7a3b887478da9d11fd253c0bb94bb7ba", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.node" + ], + 0, + "0f7db5d34e4d9d27fb1066df93adb23b" + ], + [ + "DoublyLinkedListIface.dll_remove_mid", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "b2t_def", "bool_inversion", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Bar_Greater", + "equation_DoublyLinkedList.op_Less_Bar", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.poppable", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_imp", + "equation_Prims.nat", "equation_Prims.squash", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.Buffer.trivial_preorder", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", + "l_or-interp", "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_DoublyLinkedList.lemma_non_null", + "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "primitive_Prims.op_Addition", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mknode_flink", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mknode__item__blink", + "typing_DoublyLinkedList.__proj__Mknode__item__flink", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.node", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "fdb11ede13c13438a9ad315ffcc0f307" + ], + [ + "DoublyLinkedListIface.dll_append", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@query", "bool_inversion", "bool_typing", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.loc_equiv", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.node", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.poppable", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.Buffer.trivial_preorder", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", + "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", + "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_create", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.fp_dll", + "typing_FStar.List.Tot.Base.append", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Seq.Base.create", "typing_FStar.Set.singleton", + "typing_LowStar.Buffer.pointer", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_regions", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "1ece5ada0b1912dea8a4dd163878ed00" + ], + [ + "DoublyLinkedListIface.dll_split_using", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_75b973181c1e06bed5da9965f6c8c60c" + ], + 0, + "a0647154984dc84d1a6809265d14ab36" + ], + [ + "DoublyLinkedListIface.dll_split_using", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "eq2-interp", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.loc_equiv", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.op_Bar_Greater", + "equation_DoublyLinkedList.op_Less_Bar", + "equation_DoublyLinkedList.unchanged_node_val", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.node", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.poppable", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_imp", + "equation_Prims.nat", "equation_Prims.squash", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.Buffer.trivial_preorder", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", + "l_and-interp", "l_imp-interp", + "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_DoublyLinkedList.lemma_non_null", + "lemma_DoublyLinkedListIface._auto_dll_assign_valid_stays_valid", + "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", + "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", + "lemma_DoublyLinkedListIface._auto_pred_nl_disjoint_push", + "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_create", + "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", + "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.loc_union_idem", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "primitive_Prims.op_Addition", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "proj_equation_DoublyLinkedList.Mknode_blink", + "proj_equation_DoublyLinkedList.Mknode_flink", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_47add9cc1545ad6564ffcb3d104fe1ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_a4b0a7d258ca4a7565c9e4d07a20f2fc", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.__proj__Mknode__item__blink", + "typing_DoublyLinkedList.__proj__Mknode__item__flink", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.fp_dll", + "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", + "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.index", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.Set.singleton", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_regions", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "f0e2201ac8e003259ba9705d13c9a3e2" + ], + [ + "DoublyLinkedListIface.auto_dll_remains_valid_upon_staying_unchanged", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", + "eq2-interp", "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.node", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", "int_typing", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", + "l_and-interp", "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_LowStar.Monotonic.Buffer.live_is_null", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "proj_equation_DoublyLinkedList.Mkdll_nodes", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.fp_dll", + "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull" + ], + 0, + "c62442059c5dc78786a15f53790c0aad" + ], + [ + "DoublyLinkedListIface.auto_node_remains_valid_upon_staying_unchanged", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "kinding_DoublyLinkedList.node@tok", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "typing_LowStar.Buffer.trivial_preorder" + ], + 0, + "8d40b7d9cd70bc5b6d0640f08b69599c" + ], + [ + "DoublyLinkedListIface.auto_dll_fp_upon_staying_unchanged", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "int_typing", "kinding_DoublyLinkedList.dll@tok", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedListIface.fp_dll", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer" + ], + 0, + "a15ac5ae75022f8d909772a381a495dd" + ], + [ + "DoublyLinkedListIface.auto_dll_as_list_staying_unchanged", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "int_typing", "kinding_DoublyLinkedList.dll@tok", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedListIface.fp_dll", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer" + ], + 0, + "74693ff81c8a2090ff9d63ac64695af1" + ], + [ + "DoublyLinkedListIface.auto_dll_as_payload_list_staying_unchanged", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.as_payload_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.g_node_val", + "equation_DoublyLinkedListIface.node", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", "int_typing", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", + "lemma_DoublyLinkedListIface.auto_dll_as_list_staying_unchanged", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "subterm_ordering_Prims.Cons", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.fp_dll", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "94441d6ac490bb5bd1f56c71025cc7ce" + ], + [ + "DoublyLinkedListIface.auto_node_val_staying_unchanged", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.g_node_val", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "kinding_DoublyLinkedList.node@tok", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "typing_LowStar.Buffer.trivial_preorder" + ], + 0, + "cc0e1d2cd920bc0d1936f3d7b6689980" + ], + [ + "DoublyLinkedListIface.auto_node_in_list_is_included", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@query", "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.fp_dll", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.node", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "int_typing", "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.dll_fp0", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.fp_node", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "f27599919e88a4932f707cdb825f9661" + ], + [ + "DoublyLinkedListIface.auto_node_in_list_is_valid", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.node_valid", + "equation_LowStar.Monotonic.Buffer.get", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" + ], + 0, + "9794712adc943327295c87560408a5c9" + ], + [ + "DoublyLinkedListIface.auto_unchanged_node_connections_list_unchanged", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.node", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", + "fuel_guarded_inversion_DoublyLinkedList.node", "int_typing", + "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", + "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.fp_node", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "6a5004412a46e4ad1bacb3bde26beda0" + ], + [ + "DoublyLinkedListIface.auto_unchanged_node_connections_dll_valid", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_DoublyLinkedList.Mkdll", + "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "eq2-interp", + "equality_tok_Prims.LexTop@tok", "equation_DoublyLinkedList.dll_aa", + "equation_DoublyLinkedList.dll_conn", + "equation_DoublyLinkedList.dll_contained", + "equation_DoublyLinkedList.dll_fp0", + "equation_DoublyLinkedList.dll_ghostly_connections", + "equation_DoublyLinkedList.dll_valid", + "equation_DoublyLinkedList.nodelist", + "equation_DoublyLinkedList.nodelist_aa", + "equation_DoublyLinkedList.op_Bar_Greater", + "equation_DoublyLinkedList.op_Less_Bar", + "equation_DoublyLinkedListIface.as_list", + "equation_DoublyLinkedListIface.dll", + "equation_DoublyLinkedListIface.dll_valid", + "equation_DoublyLinkedListIface.fp_node", + "equation_DoublyLinkedListIface.node", + "equation_DoublyLinkedListIface.unchanged_node_connections", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.op_At", + "equation_FStar.List.Tot.Base.snoc", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", + "equation_FStar.List.Tot.Base.unsnoc", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pervasives.Native.snd", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.pointer_or_null", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.get", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", + "equation_Prims.l_imp", "equation_Prims.nat", + "equation_Prims.squash", + "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", + "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", "kinding_DoublyLinkedList.dll@tok", + "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", + "l_not-interp", "l_or-interp", + "lemma_DoublyLinkedList._auto_empty_dll", + "lemma_DoublyLinkedList.lemma_non_null", + "lemma_FStar.List.Tot.Properties.lemma_index_memP", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "proj_equation_DoublyLinkedList.Mkdll_lhead", + "proj_equation_DoublyLinkedList.Mkdll_ltail", + "proj_equation_DoublyLinkedList.Mknode_blink", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_0326aeed61215cbbc0acb304a3692c19", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", + "refinement_interpretation_Tm_refine_ad374dd2c3b77cf0e9d91c82852c9c61", + "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", + "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", + "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", + "refinement_interpretation_Tm_refine_d8d4f77946f646e71c9e53c938d1a636", + "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", + "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", + "typing_DoublyLinkedList.nodelist_fp0", + "typing_DoublyLinkedListIface.node", + "typing_FStar.List.Tot.Base.length", + "typing_FStar.List.Tot.Base.unsnoc", + "typing_FStar.List.Tot.Properties.index_of", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mnull", "unit_inversion", + "unit_typing", "well-founded-ordering-on-nat" + ], + 0, + "aaeb3d9de327b1fc88b816f1b63657a6" + ], + [ + "DoublyLinkedListIface.auto_dll_push_pop", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_typing", + "equation_FStar.Monotonic.HyperStack.mem", + "lemma_DoublyLinkedListIface.auto_dll_remains_valid_upon_staying_unchanged", + "lemma_LowStar.Monotonic.Buffer.popped_modifies", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Set.singleton", + "typing_LowStar.Monotonic.Buffer.loc_regions" + ], + 0, + "1eea79e4d77b9c29f41b0fd225206c2e" + ], + [ + "DoublyLinkedListIface.auto_dll_fp_push_pop", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "bool_typing", + "equation_FStar.Monotonic.HyperStack.mem", + "lemma_DoublyLinkedListIface.auto_dll_fp_upon_staying_unchanged", + "lemma_LowStar.Monotonic.Buffer.popped_modifies", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Set.singleton", + "typing_LowStar.Monotonic.Buffer.loc_regions" + ], + 0, + "0b5179d10a711bdd4dece7d3771a6cdd" + ], + [ + "DoublyLinkedListIface.auto_dll_fp_disjoint_push", + 1, + 2, + 1, + [ + "@query", "equation_DoublyLinkedListIface.fp_dll", + "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", + "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push" + ], + 0, + "b2aa82b8d9b94d5ac33b26710c45fed0" + ] + ] +] \ No newline at end of file diff --git a/examples/doublylinkedlist/DoublyLinkedListIface.fsti b/examples/doublylinkedlist/DoublyLinkedListIface.fsti new file mode 100644 index 00000000000..32a5db5c970 --- /dev/null +++ b/examples/doublylinkedlist/DoublyLinkedListIface.fsti @@ -0,0 +1,521 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) + +module DoublyLinkedListIface + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module L = FStar.List.Tot +module B = LowStar.Buffer + +/// Abstract types defined by this library + +(** A singular node which stores a value of type [a] *) +val node (a:Type0) : Type0 + +(** A doublylinkedlist of elements of type [a] *) +val dll (a:Type0) : Type0 + +/// Abstract Validity Predicates + +val node_valid (h:HS.mem) (n:node 'a) : prop + +val dll_valid (h:HS.mem) (d:dll 'a) : prop + +/// Abstract node and list footprints + +val fp_node (n:node 'a) : GTot B.loc + +val fp_dll (h:HS.mem) (d:dll 'a) : GTot B.loc + +/// Getters and setters for [node]s + +val g_node_val (h:HS.mem) (n:node 'a) : GTot 'a + +val node_val (n:node 'a) : + HST.StackInline 'a + (requires (fun h0 -> node_valid h0 n)) + (ensures (fun h0 v h1 -> h0 == h1 /\ v == g_node_val h0 n)) + +val node_of (v:'a) : + HST.StackInline (node 'a) + (requires (fun h0 -> True)) + (ensures (fun h0 n h1 -> + B.modifies B.loc_none h0 h1 /\ + B.fresh_loc (fp_node n) h0 h1 /\ + node_valid h1 n /\ + v == g_node_val h1 n)) + +/// Abstract Predicate to help "recall" that updating the payload +/// leaves connections unchanged + +val unchanged_node_connections (h0 h1:HS.mem) (n:node 'a) : GTot prop + +/// Be able to modify the payload of a node easily, without affecting +/// membership + +val node_update (n:node 'a) (v:'a) : + HST.StackInline (unit) + (requires (fun h0 -> node_valid h0 n)) + (ensures (fun h0 () h1 -> + B.modifies (fp_node n) h0 h1 /\ + node_valid h1 n /\ + v == g_node_val h1 n /\ + unchanged_node_connections h0 h1 n)) + +/// Viewing ghostly state of a DoublyLinkedList as a list of nodes, +/// and as list of payloads + +val as_list (h:HS.mem) (d:dll 'a) : GTot (list (node 'a)) + +let rec g_node_vals (h:HS.mem) (l:list (node 'a)) : GTot (list 'a) = + match l with + | [] -> [] + | hd :: tl -> g_node_val h hd :: g_node_vals h tl + +let as_payload_list (h:HS.mem) (d:dll 'a) : GTot (list 'a) = + g_node_vals h (as_list h d) + +/// Creating an empty DoublyLinkedList, and quickly accessing the head +/// and tail of a DoublyLinkedList + +val dll_new (u:unit) : + HST.StackInline (dll 'a) + (requires (fun h0 -> True)) + (ensures (fun h0 d h1 -> + B.modifies B.loc_none h0 h1 /\ + B.fresh_loc (fp_dll h1 d) h0 h1 /\ + dll_valid h1 d /\ + as_list h1 d == [])) + +val is_empty (d:dll 'a) : + HST.StackInline (bool) + (requires (fun h0 -> dll_valid h0 d)) + (ensures (fun h0 y h1 -> + (h0 == h1) /\ + (y <==> as_list h0 d == []))) + +val dll_head (d:dll 'a) : + HST.StackInline (node 'a) + (requires (fun h0 -> dll_valid h0 d /\ L.length (as_list h0 d) > 0)) + (ensures (fun h0 n h1 -> + B.modifies B.loc_none h0 h1 /\ + dll_valid h1 d /\ + node_valid h1 n /\ + as_list h0 d == as_list h1 d /\ + n == L.hd (as_list h0 d))) + +val dll_tail (d:dll 'a) : + HST.StackInline (node 'a) + (requires (fun h0 -> dll_valid h0 d /\ L.length (as_list h0 d) > 0)) + (ensures (fun h0 n h1 -> + h0 == h1 /\ + dll_valid h1 d /\ + node_valid h1 n /\ + as_list h0 d == as_list h1 d /\ + n == snd (L.unsnoc (as_list h0 d)))) + +/// Moving forwards or backwards in a list + +val has_next (d:dll 'a) (n:node 'a) : + HST.StackInline bool + (requires (fun h0 -> + dll_valid h0 d /\ + node_valid h0 n /\ + n `L.memP` as_list h0 d)) + (ensures (fun h0 y h1 -> + (h0 == h1) /\ + (y <==> L.index_of (as_list h0 d) n < L.length (as_list h0 d) - 1))) + +val has_prev (d:dll 'a) (n:node 'a) : + HST.StackInline bool + (requires (fun h0 -> + dll_valid h0 d /\ + node_valid h0 n /\ + n `L.memP` as_list h0 d)) + (ensures (fun h0 y h1 -> + (h0 == h1) /\ + (y <==> L.index_of (as_list h0 d) n > 0))) + +val next_node (d:dll 'a) (n:node 'a) : + HST.StackInline (node 'a) + (requires (fun h0 -> + dll_valid h0 d /\ + n `L.memP` as_list h0 d /\ + L.index_of (as_list h0 d) n < L.length (as_list h0 d) - 1)) + (ensures (fun h0 n' h1 -> + h0 == h1 /\ + dll_valid h1 d /\ + node_valid h1 n /\ + as_list h0 d == as_list h1 d /\ + n' == L.index (as_list h0 d) (L.index_of (as_list h0 d) n + 1))) + +val prev_node (d:dll 'a) (n:node 'a) : + HST.StackInline (node 'a) + (requires (fun h0 -> + dll_valid h0 d /\ + n `L.memP` as_list h0 d /\ + L.index_of (as_list h0 d) n > 0)) + (ensures (fun h0 n' h1 -> + h0 == h1 /\ + dll_valid h1 d /\ + node_valid h1 n /\ + as_list h0 d == as_list h1 d /\ + n' == L.index (as_list h0 d) (L.index_of (as_list h0 d) n - 1))) + +/// DoublyLinkedList operations on standard [list]s instead + +let l_insert_at_head (l:list 'a) (x:'a) : GTot (list 'a) = + x :: l + +let l_insert_at_tail (l:list 'a) (x:'a) : GTot (list 'a) = + L.snoc (l, x) + +let l_insert_before (x0:'a) (l:list 'a{x0 `L.memP` l}) (x:'a) : GTot (list 'a) = + let l1, l2 = L.split_using l x0 in + l1 `L.append` (x :: l2) + +let l_insert_before' (i:nat) (l:list 'a) (x:'a) : GTot (list 'a) = + let l1, l2 = L.splitAt i l in + l1 `L.append` (x :: l2) + +let l_insert_after (x0:'a) (l:list 'a{x0 `L.memP` l}) (x:'a) : GTot (list 'a) = + let l1, x1 :: l2 = L.lemma_split_using l x0; L.split_using l x0 in + assert (x0 == x1); + l1 `L.append` (x0 :: (x :: l2)) + +let l_insert_after' (i:nat) (l:list 'a{i < L.length l}) (x:'a) : GTot (list 'a) = + let l1, x1 :: l2 = L.lemma_splitAt_snd_length i l; L.splitAt i l in + l1 `L.append` ((L.index l i) :: (x :: l2)) + +let l_remove_head (l:list 'a{L.length l > 0}) : GTot (list 'a) = + match l with + | _ :: l' -> l' + +let l_remove_tail (l:list 'a{L.length l > 0}) : GTot (list 'a) = + let l', _ = L.unsnoc l in + l' + +let l_remove_mid (l:list 'a{L.length l > 0}) (x:'a {x `L.memP` l}) : GTot (list 'a) = + let l1, x0 :: l2 = L.lemma_split_using l x; L.split_using l x in + assert (x == x0); + l1 `L.append` l2 + +let l_remove_mid' (l:list 'a{L.length l > 0}) (i:nat{i < L.length l}) : GTot (list 'a) = + let l1, x0 :: l2 = L.lemma_splitAt_snd_length i l; L.splitAt i l in + l1 `L.append` l2 + +let l_append (l1 l2:list 'a) : GTot (list 'a) = + l1 `L.append` l2 + +let l_split_using (l:list 'a) (x:'a{x `L.memP` l}) : GTot (list 'a * list 'a) = + L.split_using l x + +let l_split_using' (l:list 'a) (i:nat) : GTot (list 'a * list 'a) = + L.splitAt i l + +/// Useful "shortform" for equivalence of [loc]s + +let loc_equiv (a b:B.loc) = + B.loc_includes a b /\ B.loc_includes b a + +/// Stateful DoublyLinkedList operations +/// +/// These are most likely what you want to be using when writing +/// code. The rest of this interface lets you talk about these +/// operations easily. + +val dll_insert_at_head (#t:Type0) (d:dll t) (n:node t) : + HST.Stack unit + (requires (fun h0 -> dll_valid h0 d /\ node_valid h0 n /\ (fp_node n `B.loc_disjoint` fp_dll h0 d))) + (ensures (fun h0 () h1 -> + B.modifies (fp_dll h1 d) h0 h1 /\ + fp_dll h1 d `loc_equiv` B.loc_union (fp_dll h0 d) (fp_node n) /\ + dll_valid h1 d /\ node_valid h1 n /\ + as_payload_list h1 d == l_insert_at_head (as_payload_list h0 d) (g_node_val h0 n) /\ + as_list h1 d == l_insert_at_head (as_list h0 d) n)) + +val dll_insert_at_tail (#t:Type0) (d:dll t) (n:node t) : + HST.Stack unit + (requires (fun h0 -> dll_valid h0 d /\ node_valid h0 n /\ (fp_node n `B.loc_disjoint` fp_dll h0 d))) + (ensures (fun h0 () h1 -> + B.modifies (fp_dll h1 d) h0 h1 /\ + fp_dll h1 d `loc_equiv` B.loc_union (fp_dll h0 d) (fp_node n) /\ + dll_valid h1 d /\ node_valid h1 n /\ + as_payload_list h1 d == l_insert_at_tail (as_payload_list h0 d) (g_node_val h0 n) /\ + as_list h1 d == l_insert_at_tail (as_list h0 d) n)) + +val dll_insert_before (#t:Type0) (n':node t) (d:dll t) (n:node t) : + HST.Stack unit + (requires (fun h0 -> dll_valid h0 d /\ node_valid h0 n /\ (fp_node n `B.loc_disjoint` fp_dll h0 d) /\ n' `L.memP` as_list h0 d)) + (ensures (fun h0 () h1 -> + B.modifies (fp_dll h1 d) h0 h1 /\ + fp_dll h1 d `loc_equiv` B.loc_union (fp_dll h0 d) (fp_node n) /\ + dll_valid h1 d /\ node_valid h1 n /\ + as_payload_list h1 d == l_insert_before' + (as_list h0 d `L.index_of` n') (as_payload_list h0 d) (g_node_val h0 n) /\ + as_list h1 d == l_insert_before n' (as_list h0 d) n)) + +val dll_insert_after (#t:Type0) (n':node t) (d:dll t) (n:node t) : + HST.Stack unit + (requires (fun h0 -> dll_valid h0 d /\ node_valid h0 n /\ (fp_node n `B.loc_disjoint` fp_dll h0 d) /\ n' `L.memP` as_list h0 d)) + (ensures (fun h0 () h1 -> + B.modifies (fp_dll h1 d) h0 h1 /\ + fp_dll h1 d `loc_equiv` B.loc_union (fp_dll h0 d) (fp_node n) /\ + dll_valid h1 d /\ node_valid h1 n /\ + L.length (as_payload_list h0 d) = L.length (as_list h0 d) /\ // TODO: Why?! + as_payload_list h1 d == l_insert_after' + (as_list h0 d `L.index_of` n') (as_payload_list h0 d) (g_node_val h0 n) /\ + as_list h1 d == l_insert_after n' (as_list h0 d) n)) + +unfold +let fp_strictly_disjoint_union (l l1 l2:B.loc) = + l `loc_equiv` B.loc_union l1 l2 /\ + l1 `B.loc_disjoint` l2 + +unfold +let aux_fp_split_by_node (h0 h1:HS.mem) (d:dll 'a) (n:node 'a) = + fp_strictly_disjoint_union (fp_dll h0 d) (fp_dll h1 d) (fp_node n) + +val dll_remove_head (#t:Type0) (d:dll t) : + HST.Stack unit + (requires (fun h0 -> dll_valid h0 d /\ L.length (as_list h0 d) > 0)) + (ensures (fun h0 () h1 -> + B.modifies (fp_dll h0 d) h0 h1 /\ + aux_fp_split_by_node h0 h1 d (L.hd (as_list h0 d)) /\ + dll_valid h1 d /\ + node_valid h1 (L.hd (as_list h0 d)) /\ + g_node_val h0 (L.hd (as_list h0 d)) == g_node_val h1 (L.hd (as_list h0 d)) /\ + as_payload_list h1 d == l_remove_head (as_payload_list h0 d) /\ + as_list h1 d == l_remove_head (as_list h0 d))) + +val dll_remove_tail (#t:Type0) (d:dll t) : + HST.Stack unit + (requires (fun h0 -> dll_valid h0 d /\ L.length (as_list h0 d) > 0)) + (ensures (fun h0 () h1 -> + B.modifies (fp_dll h0 d) h0 h1 /\ + aux_fp_split_by_node h0 h1 d (L.last (as_list h0 d)) /\ + dll_valid h1 d /\ + node_valid h1 (L.last (as_list h0 d)) /\ + g_node_val h0 (L.last (as_list h0 d)) == g_node_val h1 (L.last (as_list h0 d)) /\ + as_payload_list h1 d == l_remove_tail (as_payload_list h0 d) /\ + as_list h1 d == l_remove_tail (as_list h0 d))) + +val dll_remove_mid (#t:Type0) (d:dll t) (n:node t) : + HST.Stack unit + (requires (fun h0 -> dll_valid h0 d /\ n `L.memP` as_list h0 d)) + (ensures (fun h0 () h1 -> + B.modifies (fp_dll h0 d) h0 h1 /\ + aux_fp_split_by_node h0 h1 d n /\ + dll_valid h1 d /\ + g_node_val h0 n == g_node_val h1 n /\ + L.length (as_payload_list h0 d) = L.length (as_list h0 d) /\ // TODO: Why?! + as_payload_list h1 d == l_remove_mid' (as_payload_list h0 d) (as_list h0 d `L.index_of` n) /\ + as_list h1 d == l_remove_mid (as_list h0 d) n)) + +val dll_append (#t:Type0) (d1 d2:dll t) : + HST.Stack unit + (requires (fun h0 -> + dll_valid h0 d1 /\ + dll_valid h0 d2 /\ + fp_dll h0 d1 `B.loc_disjoint` fp_dll h0 d2)) + (ensures (fun h0 () h1 -> + B.modifies (fp_dll h0 d1 `B.loc_union` fp_dll h0 d2) h0 h1 /\ + fp_strictly_disjoint_union (B.loc_union (fp_dll h1 d1) (fp_dll h1 d2)) + (fp_dll h0 d1) (fp_dll h0 d2) /\ + dll_valid h1 d1 /\ + as_payload_list h1 d1 == as_payload_list h0 d1 `l_append` as_payload_list h0 d2 /\ + as_list h1 d1 == as_list h0 d1 `l_append` as_list h0 d2)) + +val dll_split_using (#t:Type0) (d1 d2:dll t) (n:node t) : + HST.Stack unit + (requires (fun h0 -> + dll_valid h0 d1 /\ + n `L.memP` as_list h0 d1 /\ + dll_valid h0 d2 /\ + fp_dll h0 d1 `B.loc_disjoint` fp_dll h0 d2 /\ + as_list h0 d2 == [])) + (ensures (fun h0 () h1 -> + B.modifies (fp_dll h0 d1 `B.loc_union` fp_dll h0 d2) h0 h1 /\ + fp_strictly_disjoint_union (B.loc_union (fp_dll h1 d1) (fp_dll h1 d2)) + (fp_dll h0 d1) (fp_dll h0 d2) /\ + dll_valid h1 d1 /\ + dll_valid h1 d2 /\ + (as_payload_list h1 d1, as_payload_list h1 d2) == l_split_using' (as_payload_list h0 d1) (as_list h0 d1 `L.index_of` n) /\ + (as_list h1 d1, as_list h1 d2) == l_split_using (as_list h0 d1) n)) + +/// Automatic validity maintenance +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +val auto_dll_remains_valid_upon_staying_unchanged (h0 h1:HS.mem) (l:B.loc) (d:dll 'a) : + Lemma + (requires (dll_valid h0 d /\ + B.modifies l h0 h1 /\ + B.loc_disjoint (fp_dll h0 d) l)) + (ensures (dll_valid h1 d)) + [SMTPat (dll_valid h1 d); SMTPat (B.modifies l h0 h1)] + +val auto_node_remains_valid_upon_staying_unchanged (h0 h1:HS.mem) (l:B.loc) (n:node 'a) : + Lemma + (requires (node_valid h0 n /\ + B.modifies l h0 h1 /\ + B.loc_disjoint (fp_node n) l)) + (ensures (node_valid h1 n)) + [SMTPat (node_valid h1 n); SMTPat (B.modifies l h0 h1)] + +/// Automatic footprint maintenance +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +val auto_dll_fp_upon_staying_unchanged (h0 h1:HS.mem) (l:B.loc) (d:dll 'a) : + Lemma + (requires (dll_valid h0 d /\ + B.modifies l h0 h1 /\ + B.loc_disjoint (fp_dll h0 d) l)) + (ensures (fp_dll h1 d == fp_dll h0 d)) + [SMTPat (fp_dll h1 d); SMTPat (B.modifies l h0 h1)] + +/// Automatic value maintenance +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +val auto_dll_as_list_staying_unchanged (h0 h1:HS.mem) (l:B.loc) (d:dll 'a) : + Lemma + (requires (dll_valid h0 d /\ + B.modifies l h0 h1 /\ + B.loc_disjoint (fp_dll h0 d) l)) + (ensures (as_list h1 d == as_list h0 d)) + [SMTPat (as_list h1 d); SMTPat (B.modifies l h0 h1)] + +val auto_dll_as_payload_list_staying_unchanged (h0 h1:HS.mem) (l:B.loc) (d:dll 'a) : + Lemma + (requires (dll_valid h0 d /\ + B.modifies l h0 h1 /\ + B.loc_disjoint (fp_dll h0 d) l)) + (ensures (as_payload_list h1 d == as_payload_list h0 d)) + [SMTPat (as_payload_list h1 d); SMTPat (B.modifies l h0 h1)] + +val auto_node_val_staying_unchanged (h0 h1:HS.mem) (l:B.loc) (n:node 'a) : + Lemma + (requires (node_valid h0 n /\ + B.modifies l h0 h1 /\ + B.loc_disjoint (fp_node n) l)) + (ensures (g_node_val h1 n == g_node_val h0 n)) + [SMTPat (g_node_val h1 n); SMTPat (B.modifies l h0 h1)] + +/// Properties of nodes inside and outside lists +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +val auto_node_in_list_is_included (h0:HS.mem) (n:node 'a) (d:dll 'a) : + Lemma + (requires (dll_valid h0 d /\ + n `L.memP` as_list h0 d)) + (ensures (B.loc_includes (fp_dll h0 d) (fp_node n))) + [SMTPat (B.loc_includes (fp_dll h0 d) (fp_node n))] + +val auto_node_in_list_is_valid (h0:HS.mem) (n:node 'a) (d:dll 'a) : + Lemma + (requires (dll_valid h0 d /\ + n `L.memP` as_list h0 d)) + (ensures (node_valid h0 n)) + [SMTPat (node_valid h0 n); + SMTPat (dll_valid h0 d)] + +/// Properties related to unchanged connections +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +val auto_unchanged_node_connections_list_unchanged (h0 h1:HS.mem) (d:dll 'a) (n:node 'a) : + Lemma + (requires (dll_valid h0 d /\ + n `L.memP` as_list h0 d /\ + B.modifies (fp_node n) h0 h1 /\ + unchanged_node_connections h0 h1 n)) + (ensures (as_list h1 d == as_list h0 d)) + [SMTPat (as_list h1 d); + SMTPat (B.modifies (fp_node n) h0 h1); + SMTPat (unchanged_node_connections h0 h1 n)] + +val auto_unchanged_node_connections_dll_valid (h0 h1:HS.mem) (d:dll 'a) (n:node 'a) : + Lemma + (requires (dll_valid h0 d /\ + n `L.memP` as_list h0 d /\ + B.modifies (fp_node n) h0 h1 /\ + unchanged_node_connections h0 h1 n)) + (ensures (dll_valid h1 d)) + [SMTPat (dll_valid h1 d); + SMTPat (B.modifies (fp_node n) h0 h1); + SMTPat (unchanged_node_connections h0 h1 n)] + +/// Properties related to pushes and pops +/// +/// These are lemmas that you shouldn't really need to refer to +/// manually. If you do, it is (likely) a bug wrt the patterns, and +/// you should ask someone who knows about how this library works to +/// look at things. + +val auto_dll_push_pop (h0 h1 h2 h3:HS.mem) (d:dll 'a) : + Lemma + (requires ( + HS.fresh_frame h0 h1 /\ + B.loc_disjoint (fp_dll h2 d) (B.loc_region_only false (HS.get_tip h2)) /\ + HS.get_tip h1 == HS.get_tip h2 /\ + dll_valid h2 d /\ + HS.popped h2 h3)) + (ensures (dll_valid h3 d)) + [SMTPat (dll_valid h3 d); + SMTPat (HS.fresh_frame h0 h1); + SMTPat (HS.popped h2 h3)] + +val auto_dll_fp_push_pop (h0 h1 h2 h3:HS.mem) (d:dll 'a) : + Lemma + (requires ( + HS.fresh_frame h0 h1 /\ + B.loc_disjoint (fp_dll h2 d) (B.loc_region_only false (HS.get_tip h2)) /\ + HS.get_tip h1 == HS.get_tip h2 /\ + dll_valid h2 d /\ + HS.popped h2 h3)) + (ensures (fp_dll h3 d == fp_dll h2 d)) + [SMTPat (fp_dll h3 d); + SMTPat (HS.fresh_frame h0 h1); + SMTPat (HS.popped h2 h3)] + +val auto_dll_fp_disjoint_push (h0 h1:HS.mem) (d:dll 'a) : + Lemma + (requires ( + HS.fresh_frame h0 h1 /\ + dll_valid h0 d)) + (ensures ( + B.loc_disjoint (fp_dll h1 d) (B.loc_region_only false (HS.get_tip h1)))) + [SMTPat (B.loc_disjoint (fp_dll h1 d) (B.loc_region_only false (HS.get_tip h1))); + SMTPat (HS.fresh_frame h0 h1)] diff --git a/examples/doublylinkedlist/DoublyLinkedListIface.fsti.hints b/examples/doublylinkedlist/DoublyLinkedListIface.fsti.hints new file mode 100644 index 00000000000..0e1a6326567 --- /dev/null +++ b/examples/doublylinkedlist/DoublyLinkedListIface.fsti.hints @@ -0,0 +1,361 @@ +[ + "þw%\u007fa>®\u0016¼®o¥Í_", + [ + [ + "DoublyLinkedListIface.g_node_vals", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_FStar.Monotonic.HyperStack.mem", + "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" + ], + 0, + "4e6e1128df8b885b4d261c3107525867" + ], + [ + "DoublyLinkedListIface.dll_head", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_DoublyLinkedListIface.node", + "typing_FStar.List.Tot.Base.length" + ], + 0, + "126d66016edd23b2b6949fd8a3f68ea0" + ], + [ + "DoublyLinkedListIface.dll_tail", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd" + ], + 0, + "62fcadaddde2135f01dfd166302aa4d5" + ], + [ + "DoublyLinkedListIface.has_next", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" + ], + 0, + "56db0aa6f0cc0783558ab17682364eaa" + ], + [ + "DoublyLinkedListIface.has_prev", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" + ], + 0, + "f95ccb455c116b99c59edd6da1421cc4" + ], + [ + "DoublyLinkedListIface.next_node", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_4b7f486949c030b94228e6106566a490", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" + ], + 0, + "98f0a6b0d53c162c4ad234578a75b678" + ], + [ + "DoublyLinkedListIface.prev_node", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_98e6e2f79e76c56949096085c8061d51", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" + ], + 0, + "4b622d7aab32c3e6cd04985a2726ccc7" + ], + [ + "DoublyLinkedListIface.l_insert_before", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71" + ], + 0, + "3b646bce5e51c755130252c1bc24ef83" + ], + [ + "DoublyLinkedListIface.l_insert_after", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", + "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", "kinding_Prims.list@tok", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + ], + 0, + "4c43c0bb76e1ff2345a4ecb6193cfde0" + ], + [ + "DoublyLinkedListIface.l_insert_after'", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "disc_equation_Prims.Cons", + "equation_FStar.Pervasives.Native.snd", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_513bd087ae2f2716a3ebb59386c2db50", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + ], + 0, + "f8e49d7b7324766ef366a80c4fd31b7b" + ], + [ + "DoublyLinkedListIface.l_remove_head", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", + "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length" + ], + 0, + "c1ecdb7ea7619b52a5eb636867855515" + ], + [ + "DoublyLinkedListIface.l_remove_mid", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_FStar.List.Tot.Base.hd", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "int_inversion", "kinding_Prims.list@tok", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + ], + 0, + "016a6b462d46089a19c037e10bf1f2b9" + ], + [ + "DoublyLinkedListIface.l_remove_mid'", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "disc_equation_Prims.Cons", + "equation_FStar.Pervasives.Native.snd", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", + "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" + ], + 0, + "4d74d6e7367c55de6dcb8eae12b68a2c" + ], + [ + "DoublyLinkedListIface.dll_insert_before", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795" + ], + 0, + "f797aa63d51da31104150885385ea027" + ], + [ + "DoublyLinkedListIface.dll_insert_after", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795", + "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" + ], + 0, + "fe26ecb9f2421d777bad6113e3ff50e9" + ], + [ + "DoublyLinkedListIface.dll_remove_head", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", + "equation_DoublyLinkedListIface.as_payload_list", + "equation_FStar.List.Tot.Base.hd", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.node" + ], + 0, + "cc20811640c15cf29fe82933ffcbc29f" + ], + [ + "DoublyLinkedListIface.dll_remove_tail", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", + "equation_DoublyLinkedListIface.as_payload_list", + "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.node" + ], + 0, + "f66a751bfb72592dad11aef4d6a356bb" + ], + [ + "DoublyLinkedListIface.dll_remove_mid", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "data_elim_Prims.Cons", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "false_interp", "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7a3b887478da9d11fd253c0bb94bb7ba", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.node" + ], + 0, + "854165cbbc0516fc12fbbe34d54fb4c2" + ], + [ + "DoublyLinkedListIface.dll_split_using", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_75b973181c1e06bed5da9965f6c8c60c" + ], + 0, + "a059c014b4acf7329b33aef56bc57217" + ] + ] +] \ No newline at end of file diff --git a/examples/doublylinkedlist/Example.fst b/examples/doublylinkedlist/Example.fst new file mode 100644 index 00000000000..0e3da645037 --- /dev/null +++ b/examples/doublylinkedlist/Example.fst @@ -0,0 +1,67 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) + +module Example + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module B = LowStar.Buffer +module DLL = DoublyLinkedListIface +module L = FStar.List.Tot + +open DLL + +let rec l_reverse (l:list 'a) : GTot (y:list 'a) = + match l with + | [] -> [] + | hd :: tl -> + L.snoc ((l_reverse tl), hd) + +let rec reverse (d:dll 'a) : + HST.Stack (unit) + (fun h0 -> dll_valid h0 d) + (fun h0 () h1 -> + dll_valid h1 d /\ + as_list h1 d == l_reverse (as_list h0 d) /\ + as_payload_list h1 d == l_reverse (as_payload_list h0 d) /\ + B.modifies (fp_dll h0 d) h0 h1 /\ + fp_dll h0 d `loc_equiv` fp_dll h1 d) = + HST.push_frame (); + if is_empty d then ( + () + ) else ( + let n = dll_head d in + dll_remove_head d; + reverse d; + dll_insert_at_tail d n + ); + HST.pop_frame () + +let main () : HST.Stack (unit) (fun _ -> True) (fun _ _ _ -> True) = + HST.push_frame (); + let d : dll UInt32.t = dll_new () in + let n1 = node_of 1ul in + let n2 = node_of 2ul in + dll_insert_at_head d n1; + dll_insert_at_tail d n2; + let h0 = HST.get () in + reverse d; + let h1 = HST.get () in + assert (n2 `L.memP` as_list h1 d); // OBSERVE. TODO: WHY????!??? + let n1' = dll_head d in + let t = node_val n1' in + assert (t == 2ul); // Yay! + HST.pop_frame () diff --git a/examples/doublylinkedlist/Example.fst.hints b/examples/doublylinkedlist/Example.fst.hints new file mode 100644 index 00000000000..16b186b12af --- /dev/null +++ b/examples/doublylinkedlist/Example.fst.hints @@ -0,0 +1,265 @@ +[ + "B(åúD;&¢ÎE·p×Ç\u0019\u0016", + [ + [ + "Example.l_reverse", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" + ], + 0, + "30cf03745b93978d5812fd410d4aa449" + ], + [ + "Example.reverse", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_Example.l_reverse.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_Example.l_reverse.fuel_instrumented", "@query", + "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", + "bool_typing", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "equation_DoublyLinkedListIface.as_payload_list", + "equation_DoublyLinkedListIface.l_insert_at_tail", + "equation_DoublyLinkedListIface.l_remove_head", + "equation_DoublyLinkedListIface.loc_equiv", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.pop", + "equation_FStar.Monotonic.HyperStack.poppable", + "equation_FStar.Monotonic.HyperStack.popped", + "equation_FStar.Monotonic.HyperStack.remove_elt", + "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_Example.l_reverse.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_DoublyLinkedListIface.auto_dll_as_list_staying_unchanged", + "lemma_DoublyLinkedListIface.auto_dll_as_payload_list_staying_unchanged", + "lemma_DoublyLinkedListIface.auto_dll_fp_disjoint_push", + "lemma_DoublyLinkedListIface.auto_dll_fp_upon_staying_unchanged", + "lemma_DoublyLinkedListIface.auto_dll_push_pop", + "lemma_DoublyLinkedListIface.auto_dll_remains_valid_upon_staying_unchanged", + "lemma_DoublyLinkedListIface.auto_node_remains_valid_upon_staying_unchanged", + "lemma_DoublyLinkedListIface.auto_node_val_staying_unchanged", + "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Map.lemma_equal_elim", + "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", + "lemma_FStar.Set.mem_union", + "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", + "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", + "lemma_LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", + "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", + "lemma_LowStar.Monotonic.Buffer.popped_modifies", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_16cb19cdfda0ad15828e70e1c7f34226", + "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b639a91c64460c5c5ce01410bb80c64", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.as_payload_list", + "typing_DoublyLinkedListIface.fp_dll", + "typing_DoublyLinkedListIface.fp_node", + "typing_DoublyLinkedListIface.node", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_FStar.Monotonic.Heap.emp", + "typing_FStar.Monotonic.HyperHeap.mod_set", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.mk_mem", + "typing_FStar.Monotonic.HyperStack.remove_elt", + "typing_FStar.Set.complement", "typing_FStar.Set.intersect", + "typing_FStar.Set.mem", "typing_FStar.Set.singleton", + "typing_FStar.Set.union", "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_LowStar.Monotonic.Buffer.loc_regions", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "50934101cd8c0f26bec0fc85b658e3db" + ], + [ + "Example.main", + 1, + 4, + 2, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "@fuel_correspondence_Example.l_reverse.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", + "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", + "eq2-interp", "equation_DoublyLinkedListIface.as_payload_list", + "equation_DoublyLinkedListIface.l_insert_at_head", + "equation_DoublyLinkedListIface.l_insert_at_tail", + "equation_DoublyLinkedListIface.loc_equiv", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.List.Tot.Base.hd", + "equation_FStar.List.Tot.Base.snoc", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.pop", + "equation_FStar.Monotonic.HyperStack.poppable", + "equation_FStar.Monotonic.HyperStack.popped", + "equation_FStar.Monotonic.HyperStack.remove_elt", + "equation_LowStar.Monotonic.Buffer.fresh_loc", "equation_Prims.nat", + "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "equation_with_fuel_Example.l_reverse.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt32.t", "l_or-interp", + "lemma_DoublyLinkedListIface.auto_dll_as_list_staying_unchanged", + "lemma_DoublyLinkedListIface.auto_dll_as_payload_list_staying_unchanged", + "lemma_DoublyLinkedListIface.auto_dll_fp_upon_staying_unchanged", + "lemma_DoublyLinkedListIface.auto_dll_remains_valid_upon_staying_unchanged", + "lemma_DoublyLinkedListIface.auto_node_in_list_is_valid", + "lemma_DoublyLinkedListIface.auto_node_remains_valid_upon_staying_unchanged", + "lemma_DoublyLinkedListIface.auto_node_val_staying_unchanged", + "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", + "lemma_LowStar.Monotonic.Buffer.loc_union_comm", + "lemma_LowStar.Monotonic.Buffer.modifies_loc_unused_in", + "lemma_LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_78ab9b577cef43ee554dc4451361480d", + "refinement_interpretation_Tm_refine_a9cde84bd83a9caa08139f8ac755c9eb", + "token_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", + "token_correspondence_Example.l_reverse.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_DoublyLinkedListIface.as_list", + "typing_DoublyLinkedListIface.as_payload_list", + "typing_DoublyLinkedListIface.fp_dll", + "typing_DoublyLinkedListIface.fp_node", + "typing_DoublyLinkedListIface.g_node_val", + "typing_DoublyLinkedListIface.l_insert_at_head", + "typing_DoublyLinkedListIface.l_insert_at_tail", + "typing_DoublyLinkedListIface.node", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_FStar.Monotonic.Heap.emp", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.is_stack_region", + "typing_FStar.Monotonic.HyperStack.remove_elt", + "typing_FStar.Set.complement", "typing_FStar.Set.mem", + "typing_FStar.Set.singleton", "typing_FStar.Set.union", + "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_LowStar.Monotonic.Buffer.loc_union" + ], + 0, + "14a9f165788b50b7cd5fa4218474efd0" + ], + [ + "Example.l_reverse", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" + ], + 0, + "b75dd22ab176bb599febe35d663e538e" + ] + ] +] \ No newline at end of file diff --git a/examples/doublylinkedlist/Makefile b/examples/doublylinkedlist/Makefile index 4b04c149c95..47a7e590b0f 100644 --- a/examples/doublylinkedlist/Makefile +++ b/examples/doublylinkedlist/Makefile @@ -3,4 +3,7 @@ include ../Makefile.include all: uall -uall: DoublyLinkedList.uver +%.uveri: %.fsti + $(FSTAR) --use_extracted_interfaces true $^ + +uall: DoublyLinkedList.uver DoublyLinkedListIface.uver DoublyLinkedListIface.uveri Example.uver diff --git a/examples/extraction/Eta_expand.fst.hints b/examples/extraction/Eta_expand.fst.hints index 8a3b3711764..1858e20b57e 100644 --- a/examples/extraction/Eta_expand.fst.hints +++ b/examples/extraction/Eta_expand.fst.hints @@ -11,7 +11,7 @@ "disc_equation_Eta_expand.B", "fuel_guarded_inversion_Eta_expand.t" ], 0, - "cd22724211bad7f01cc466197491018e" + "e7eea137f9ea57933e98392f2186023c" ], [ "Eta_expand.choose", @@ -27,7 +27,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4477501436076496b4f356ab80299a20" + "3692982b39f2bd8256b3ab64fc860c25" ] ] ] \ No newline at end of file diff --git a/examples/extraction/InlineLet.fst b/examples/extraction/InlineLet.fst index fe3466c0508..fc91fd000e1 100644 --- a/examples/extraction/InlineLet.fst +++ b/examples/extraction/InlineLet.fst @@ -57,7 +57,12 @@ let maybe_ideal_op (i:int) = then some_stateful_operation i else i + 1 -let test (r:rid) (x:bool) = +(* + * AR: 07/11: adding a refinement to r to make sure that this + * unannotated top-level function has a trivial precondition + * cf. #1055 + *) +let test (r:rid{is_eternal_region r}) (x:bool) = let r : ref int = FStar.HyperStack.ST.ralloc r 0 in [@inline_let] let pkg = pkg_of_local_pkg r (LocalPkg maybe_ideal_op) in diff --git a/examples/extraction/InlineLet.fst.hints b/examples/extraction/InlineLet.fst.hints index 62bdd788026..325388507a2 100644 --- a/examples/extraction/InlineLet.fst.hints +++ b/examples/extraction/InlineLet.fst.hints @@ -1,5 +1,5 @@ [ - "â”\u0004„\u001cŸ×\u0004FaÐySª\u0012", + "1¦>áïÑ\u001e\n»Ý\u0015)K1§…", [ [ "InlineLet.pkg_of_local_pkg", @@ -7,8 +7,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", "equation_FStar.HyperStack.ST.equal_domains", @@ -23,13 +22,11 @@ "equation_FStar.Monotonic.HyperStack.is_stack_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.l_True", + "equation_FStar.Monotonic.HyperStack.upd", "fuel_guarded_inversion_InlineLet.local_pkg", "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd2", @@ -38,12 +35,9 @@ "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_5f6d06c73a1e0383cbf8715607a0bbd7", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_7f1d078ef9fd75c42e148658d4b495c7", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.domain", "typing_FStar.Map.sel", @@ -54,10 +48,53 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.is_mm", + "typing_FStar.Monotonic.HyperStack.mk_mem" + ], + 0, + "e2d444a88ad19b63ecb861e7fdc0f937" + ], + [ + "InlineLet.maybe_ideal_op", + 1, + 2, + 1, + [ "@query" ], + 0, + "80e6d37225fa78dd773a92ffe1307b63" + ], + [ + "InlineLet.test", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "equation_FStar.Heap.trivial_preorder", + "equation_FStar.HyperStack.ST.equal_stack_domains", + "equation_FStar.HyperStack.ST.is_eternal_region", + "equation_FStar.HyperStack.ST.mref", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperStack.is_eternal_color", + "equation_FStar.Monotonic.HyperStack.is_mm", + "equation_FStar.Monotonic.HyperStack.mref", + "equation_InlineLet.ideal", "equation_Prims.eqtype", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.int", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Monotonic.HyperHeap.color", + "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.is_mm" ], 0, - "4de4d446992c2f5f8b8d881991d5c541" + "b13bae6a3db34ccca7e99132b29dd5c4" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/friends/1/FriendConsumer.fst b/examples/friends/1/FriendConsumer.fst similarity index 100% rename from examples/micro-benchmarks/friends/1/FriendConsumer.fst rename to examples/friends/1/FriendConsumer.fst diff --git a/examples/micro-benchmarks/friends/1/FriendConsumer.fst.hints b/examples/friends/1/FriendConsumer.fst.hints similarity index 80% rename from examples/micro-benchmarks/friends/1/FriendConsumer.fst.hints rename to examples/friends/1/FriendConsumer.fst.hints index 2c0beba4b60..a06888d9ff4 100644 --- a/examples/micro-benchmarks/friends/1/FriendConsumer.fst.hints +++ b/examples/friends/1/FriendConsumer.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_FriendProvider.x" ], 0, - "e8e72c431c37297743a0fc5e6aa85bda" + "90f2dcb9aa9f2f400ae5e4849ec57f3c" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/friends/1/FriendConsumer.fsti b/examples/friends/1/FriendConsumer.fsti similarity index 100% rename from examples/micro-benchmarks/friends/1/FriendConsumer.fsti rename to examples/friends/1/FriendConsumer.fsti diff --git a/examples/friends/1/FriendConsumer.fsti.hints b/examples/friends/1/FriendConsumer.fsti.hints new file mode 100644 index 00000000000..ab22dce5f14 --- /dev/null +++ b/examples/friends/1/FriendConsumer.fsti.hints @@ -0,0 +1 @@ +[ "J>\u0014\u0019ý :,‰öªD\u0015ɨT", [] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/friends/1/FriendProvider.fst b/examples/friends/1/FriendProvider.fst similarity index 100% rename from examples/micro-benchmarks/friends/1/FriendProvider.fst rename to examples/friends/1/FriendProvider.fst diff --git a/examples/micro-benchmarks/friends/1/FriendProvider.fst.hints b/examples/friends/1/FriendProvider.fst.hints similarity index 100% rename from examples/micro-benchmarks/friends/1/FriendProvider.fst.hints rename to examples/friends/1/FriendProvider.fst.hints diff --git a/examples/micro-benchmarks/friends/1/FriendProvider.fsti b/examples/friends/1/FriendProvider.fsti similarity index 100% rename from examples/micro-benchmarks/friends/1/FriendProvider.fsti rename to examples/friends/1/FriendProvider.fsti diff --git a/examples/micro-benchmarks/friends/2/FriendProvider.fsti.hints b/examples/friends/1/FriendProvider.fsti.hints similarity index 100% rename from examples/micro-benchmarks/friends/2/FriendProvider.fsti.hints rename to examples/friends/1/FriendProvider.fsti.hints diff --git a/examples/micro-benchmarks/friends/Makefile b/examples/friends/1/Makefile similarity index 59% rename from examples/micro-benchmarks/friends/Makefile rename to examples/friends/1/Makefile index 186044a0bdf..0077850fb8c 100644 --- a/examples/micro-benchmarks/friends/Makefile +++ b/examples/friends/1/Makefile @@ -1,23 +1,20 @@ -DIRS=1 2 3 +FSTAR_HOME=../../.. all: verify-all -all-dirs: $(addsuffix .ver, $(DIRS)) +include .depend +include ../../Makefile.include -%.ver: - $(MAKE) -C $* verify-all +verify-all: $(addsuffix .checked, $(ALL_FST_FILES) $(ALL_FSTI_FILES)) .depend: $(FSTAR) --dep full $(wildcard *.fst *.fsti) > .depend -depend: .depend - -include .depend - -verify-all: $(addsuffix .checked, $(ALL_FST_FILES)) - %.checked: $(FSTAR) --cache_checked_modules $< + touch -c $@ clean: rm -f .depend *.checked + +depend: .depend diff --git a/examples/micro-benchmarks/friends/2/FriendConsumer.fst b/examples/friends/2/FriendConsumer.fst similarity index 100% rename from examples/micro-benchmarks/friends/2/FriendConsumer.fst rename to examples/friends/2/FriendConsumer.fst diff --git a/examples/micro-benchmarks/friends/2/FriendConsumer.fst.hints b/examples/friends/2/FriendConsumer.fst.hints similarity index 87% rename from examples/micro-benchmarks/friends/2/FriendConsumer.fst.hints rename to examples/friends/2/FriendConsumer.fst.hints index 8e94e83c5ce..3717b2edb4b 100644 --- a/examples/micro-benchmarks/friends/2/FriendConsumer.fst.hints +++ b/examples/friends/2/FriendConsumer.fst.hints @@ -11,7 +11,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "a4a2fe7d77d38a8dd58f6782ea77e7e4" + "4bea8e7d5d9e63e7b8ea50d6a6bfca9f" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/friends/2/FriendConsumer.fsti b/examples/friends/2/FriendConsumer.fsti similarity index 100% rename from examples/micro-benchmarks/friends/2/FriendConsumer.fsti rename to examples/friends/2/FriendConsumer.fsti diff --git a/examples/friends/2/FriendConsumer.fsti.hints b/examples/friends/2/FriendConsumer.fsti.hints new file mode 100644 index 00000000000..ab22dce5f14 --- /dev/null +++ b/examples/friends/2/FriendConsumer.fsti.hints @@ -0,0 +1 @@ +[ "J>\u0014\u0019ý :,‰öªD\u0015ɨT", [] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/friends/2/FriendProvider.fst b/examples/friends/2/FriendProvider.fst similarity index 100% rename from examples/micro-benchmarks/friends/2/FriendProvider.fst rename to examples/friends/2/FriendProvider.fst diff --git a/examples/micro-benchmarks/friends/2/FriendProvider.fst.hints b/examples/friends/2/FriendProvider.fst.hints similarity index 100% rename from examples/micro-benchmarks/friends/2/FriendProvider.fst.hints rename to examples/friends/2/FriendProvider.fst.hints diff --git a/examples/micro-benchmarks/friends/2/FriendProvider.fsti b/examples/friends/2/FriendProvider.fsti similarity index 100% rename from examples/micro-benchmarks/friends/2/FriendProvider.fsti rename to examples/friends/2/FriendProvider.fsti diff --git a/examples/friends/2/FriendProvider.fsti.hints b/examples/friends/2/FriendProvider.fsti.hints new file mode 100644 index 00000000000..a73e27286d8 --- /dev/null +++ b/examples/friends/2/FriendProvider.fsti.hints @@ -0,0 +1 @@ +[ "\u001e픹+¼šÏÕ¬nv\u0001¢D{", [] ] \ No newline at end of file diff --git a/examples/friends/2/Makefile b/examples/friends/2/Makefile new file mode 100644 index 00000000000..0077850fb8c --- /dev/null +++ b/examples/friends/2/Makefile @@ -0,0 +1,20 @@ +FSTAR_HOME=../../.. + +all: verify-all + +include .depend +include ../../Makefile.include + +verify-all: $(addsuffix .checked, $(ALL_FST_FILES) $(ALL_FSTI_FILES)) + +.depend: + $(FSTAR) --dep full $(wildcard *.fst *.fsti) > .depend + +%.checked: + $(FSTAR) --cache_checked_modules $< + touch -c $@ + +clean: + rm -f .depend *.checked + +depend: .depend diff --git a/examples/micro-benchmarks/friends/2/Other.fst b/examples/friends/2/Other.fst similarity index 100% rename from examples/micro-benchmarks/friends/2/Other.fst rename to examples/friends/2/Other.fst diff --git a/examples/micro-benchmarks/friends/2/Other.fst.hints b/examples/friends/2/Other.fst.hints similarity index 100% rename from examples/micro-benchmarks/friends/2/Other.fst.hints rename to examples/friends/2/Other.fst.hints diff --git a/examples/micro-benchmarks/friends/3/A.fst b/examples/friends/3/A.fst similarity index 100% rename from examples/micro-benchmarks/friends/3/A.fst rename to examples/friends/3/A.fst diff --git a/examples/micro-benchmarks/friends/3/A.fst.hints b/examples/friends/3/A.fst.hints similarity index 100% rename from examples/micro-benchmarks/friends/3/A.fst.hints rename to examples/friends/3/A.fst.hints diff --git a/examples/micro-benchmarks/friends/3/A.fsti b/examples/friends/3/A.fsti similarity index 100% rename from examples/micro-benchmarks/friends/3/A.fsti rename to examples/friends/3/A.fsti diff --git a/examples/micro-benchmarks/friends/3/A.fsti.hints b/examples/friends/3/A.fsti.hints similarity index 100% rename from examples/micro-benchmarks/friends/3/A.fsti.hints rename to examples/friends/3/A.fsti.hints diff --git a/examples/micro-benchmarks/friends/3/B.fst b/examples/friends/3/B.fst similarity index 100% rename from examples/micro-benchmarks/friends/3/B.fst rename to examples/friends/3/B.fst diff --git a/examples/micro-benchmarks/friends/3/B.fst.hints b/examples/friends/3/B.fst.hints similarity index 100% rename from examples/micro-benchmarks/friends/3/B.fst.hints rename to examples/friends/3/B.fst.hints diff --git a/examples/micro-benchmarks/friends/3/B.fsti b/examples/friends/3/B.fsti similarity index 100% rename from examples/micro-benchmarks/friends/3/B.fsti rename to examples/friends/3/B.fsti diff --git a/examples/micro-benchmarks/friends/3/B.fsti.hints b/examples/friends/3/B.fsti.hints similarity index 100% rename from examples/micro-benchmarks/friends/3/B.fsti.hints rename to examples/friends/3/B.fsti.hints diff --git a/examples/micro-benchmarks/friends/3/C.fst b/examples/friends/3/C.fst similarity index 100% rename from examples/micro-benchmarks/friends/3/C.fst rename to examples/friends/3/C.fst diff --git a/examples/micro-benchmarks/friends/3/C.fst.hints b/examples/friends/3/C.fst.hints similarity index 100% rename from examples/micro-benchmarks/friends/3/C.fst.hints rename to examples/friends/3/C.fst.hints diff --git a/examples/micro-benchmarks/friends/3/C.fsti b/examples/friends/3/C.fsti similarity index 100% rename from examples/micro-benchmarks/friends/3/C.fsti rename to examples/friends/3/C.fsti diff --git a/examples/micro-benchmarks/friends/3/C.fsti.hints b/examples/friends/3/C.fsti.hints similarity index 100% rename from examples/micro-benchmarks/friends/3/C.fsti.hints rename to examples/friends/3/C.fsti.hints diff --git a/examples/micro-benchmarks/friends/3/D.fst b/examples/friends/3/D.fst similarity index 100% rename from examples/micro-benchmarks/friends/3/D.fst rename to examples/friends/3/D.fst diff --git a/examples/micro-benchmarks/friends/3/D.fst.hints b/examples/friends/3/D.fst.hints similarity index 100% rename from examples/micro-benchmarks/friends/3/D.fst.hints rename to examples/friends/3/D.fst.hints diff --git a/examples/micro-benchmarks/friends/3/D.fsti b/examples/friends/3/D.fsti similarity index 100% rename from examples/micro-benchmarks/friends/3/D.fsti rename to examples/friends/3/D.fsti diff --git a/examples/friends/3/D.fsti.hints b/examples/friends/3/D.fsti.hints new file mode 100644 index 00000000000..e01df8a8588 --- /dev/null +++ b/examples/friends/3/D.fsti.hints @@ -0,0 +1 @@ +[ "\u0007o³í\\³Ñ)&\u007fë\u001cÿ\fŒ", [] ] \ No newline at end of file diff --git a/examples/friends/3/Makefile b/examples/friends/3/Makefile new file mode 100644 index 00000000000..0077850fb8c --- /dev/null +++ b/examples/friends/3/Makefile @@ -0,0 +1,20 @@ +FSTAR_HOME=../../.. + +all: verify-all + +include .depend +include ../../Makefile.include + +verify-all: $(addsuffix .checked, $(ALL_FST_FILES) $(ALL_FSTI_FILES)) + +.depend: + $(FSTAR) --dep full $(wildcard *.fst *.fsti) > .depend + +%.checked: + $(FSTAR) --cache_checked_modules $< + touch -c $@ + +clean: + rm -f .depend *.checked + +depend: .depend diff --git a/examples/friends/Makefile b/examples/friends/Makefile new file mode 100644 index 00000000000..5e042186056 --- /dev/null +++ b/examples/friends/Makefile @@ -0,0 +1,9 @@ +DIRS=1 2 3 + +all: $(addsuffix .ver, $(DIRS)) + +FSTAR_HOME=../.. +include ../Makefile.include + +%.ver: + $(MAKE) -C $* verify-all diff --git a/examples/generic/Interop.fst.hints b/examples/generic/Interop.fst.hints index 21d4c883014..d260a5eb717 100644 --- a/examples/generic/Interop.fst.hints +++ b/examples/generic/Interop.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Interop.reg__uu___haseq" ], 0, - "07d28fb1cdce0560fb3806d61a7607d6" + "17cda661c3fb727290acbf46d8787fc8" ], [ "Interop.as_reg", @@ -25,12 +25,12 @@ "equation_Interop.ireg", "int_inversion", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_a18b256a5ff66e5662b8b8ef9005d754", - "refinement_interpretation_Tm_refine_bca617b1b2ea961e009f31145da5d056" + "refinement_interpretation_Tm_refine_1dcd76ab6136496954794947e1c7ba5d", + "refinement_interpretation_Tm_refine_d0c6a6b279fcec66e53a880c702cfc68", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "cedc15469f80891366bf22df15e176be" + "7a3241a0933e5e4c9179ac250a9aa786" ], [ "Interop.n_arrow", @@ -40,23 +40,22 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_56c1ab2ee0f4251140470a15476e5e39_1", + "binder_x_49a4247c1099bc9e821570eed8ff54c1_1", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Interop.arity", - "equation_Interop.max_arity", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "well-founded-ordering-on-nat" ], 0, - "8b790d476c4b0b546be27c847696bb4b" + "ef6f958fc30e8c81845bbfba74656af7" ], [ "Interop.elim", @@ -67,14 +66,13 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Interop.n_arrow.fuel_instrumented", "@fuel_irrelevance_Interop.n_arrow.fuel_instrumented", "@query", - "Interop_interpretation_Tm_arrow_781c73df50b5e98eb39fe02899293e46", - "Interop_interpretation_Tm_arrow_f48bae5b7863fa01a81b7fe6f393bd14", - "equation_FStar.Integers.uint_64", + "Interop_interpretation_Tm_arrow_7a12f5600b069146a589d68cc041eac4", + "Interop_interpretation_Tm_arrow_9dbf12c94683beb1fbaf96c0a2417971", "equation_with_fuel_Interop.n_arrow.fuel_instrumented", "primitive_Prims.op_Subtraction" ], 0, - "09b29b9f7a49e414d9f688825f8faa4d" + "bbb7226c5cf29a35aeb4d4dee77d08f0" ], [ "Interop.elim_1", @@ -85,15 +83,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Interop.n_arrow.fuel_instrumented", "@fuel_irrelevance_Interop.n_arrow.fuel_instrumented", "@query", - "Interop_interpretation_Tm_arrow_781c73df50b5e98eb39fe02899293e46", - "Interop_interpretation_Tm_arrow_f48bae5b7863fa01a81b7fe6f393bd14", + "Interop_interpretation_Tm_arrow_7a12f5600b069146a589d68cc041eac4", + "Interop_interpretation_Tm_arrow_9dbf12c94683beb1fbaf96c0a2417971", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat", "equation_FStar.Integers.uint_64", - "equation_Interop.arity", "equation_Interop.max_arity", + "equation_FStar.Integers.nat", "equation_Interop.arity", "equation_with_fuel_Interop.n_arrow.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Equality", @@ -101,12 +98,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_81b2f4ed48c8f2d3bdd944b9e4809c72", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "02079a1d0eda98a43bcfc5b2b85cdc53" + "49d9d806c2925df65d1faca5b8aec0a2" ], [ "Interop.elim_m", @@ -115,27 +112,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Interop.reg__uu___haseq", - "binder_x_0fb053ba5a50bba796a4570cb71759af_3", - "binder_x_56c1ab2ee0f4251140470a15476e5e39_1", + "binder_x_49a4247c1099bc9e821570eed8ff54c1_1", + "binder_x_d6ab5bad6ecdec1fec56c1da5cec14df_3", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Interop.arity", - "equation_Interop.max_arity", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "equation_Interop.max_arity", "int_inversion", "int_typing", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_79946ff7346aa9dab72469549f15951c", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f0416b51d43bd6894b3fcbb95a619418", "well-founded-ordering-on-nat" ], 0, - "7acd66b38dc549b2093af45a818abf3a" + "7dd213e8a5c6f45eb836bd89338a3844" ], [ "Interop.as_vale_pre", @@ -143,14 +138,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "equation_Interop.arity", - "equation_Interop.max_arity", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2" + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "equation_Interop.arity", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "bd77db3c35875397acefb2e1bb890dc7" + "208c6f9585d27d059464385d860b2294" ], [ "Interop.as_vale_post", @@ -158,14 +152,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "equation_Interop.arity", - "equation_Interop.max_arity", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2" + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "equation_Interop.arity", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "4ee1156227673dab7af4a60091679b7d" + "a022f73941ffddfe58a261573de9aeaf" ], [ "Interop.as_lowstar_sig", @@ -174,7 +167,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_dfd7d317dc67fdbd03c2ea7482931690_0", "bool_inversion", + "binder_x_fbde5e13f445ced92a3c0bd339ad2bbf_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", @@ -185,17 +178,17 @@ "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_Interop.arity", - "equation_Interop.max_arity", "equation_Prims.prop", + "equation_Interop.max_arity", "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_fb331afb63f74a513c4a33e3d92d9692", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_6eacf6bc1bc62ed044ee4439b6573619", + "refinement_interpretation_Tm_refine_81b2f4ed48c8f2d3bdd944b9e4809c72", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -203,7 +196,7 @@ "well-founded-ordering-on-nat" ], 0, - "460038ed23fa0ddf75fc11309c3d3334" + "871c3c5f92bdd3374f35e5e4ff78c791" ], [ "Interop.wrap", @@ -218,20 +211,20 @@ "@fuel_irrelevance_Interop.as_lowstar_sig.fuel_instrumented", "@fuel_irrelevance_Interop.elim_m.fuel_instrumented", "@fuel_irrelevance_Interop.n_arrow.fuel_instrumented", "@query", - "Interop_interpretation_Tm_arrow_1166fc5d20c78e24a96c4e308eee4257", - "Interop_interpretation_Tm_arrow_285bc64c2329669fc99d2c63739e7e13", - "Interop_interpretation_Tm_arrow_2f18aecd1f59c81f361afbbf2098f294", - "Interop_interpretation_Tm_arrow_781c73df50b5e98eb39fe02899293e46", - "Interop_interpretation_Tm_arrow_90a999ffb7935041987a08e87dbb7253", - "Interop_interpretation_Tm_arrow_a6159f8c39d26b89398cf0af5a985e5c", - "Interop_interpretation_Tm_arrow_c9aecfb9d447196dd98170759a8f9075", - "Interop_interpretation_Tm_arrow_f48bae5b7863fa01a81b7fe6f393bd14", + "Interop_interpretation_Tm_arrow_3540c39d128f1dd454e8bfe179704b28", + "Interop_interpretation_Tm_arrow_7a12f5600b069146a589d68cc041eac4", + "Interop_interpretation_Tm_arrow_9dbf12c94683beb1fbaf96c0a2417971", + "Interop_interpretation_Tm_arrow_d36058ba7a2bc61f67a79f4d995ee240", + "Interop_interpretation_Tm_arrow_db354f0a1b6509a3ea9463c6495cdc63", + "Interop_interpretation_Tm_arrow_e2c5c8260e9a7f53945e2a0e1ed2b999", + "Interop_interpretation_Tm_ghost_arrow_03f9b220dea5d86a2320f2e023430eec", "Interop_pretyping_d0cf4df241d5c82acedf643c4d2d5e32", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Interop.reg__uu___haseq", - "binder_x_07f12b76e3df117a4a5f4de171f5ebab_2", - "binder_x_560f7dd42870aa477256c672055b8672_1", - "binder_x_a711378dca12c14570c7947fab2f3a4a_3", - "binder_x_dfd7d317dc67fdbd03c2ea7482931690_0", "bool_inversion", + "binder_x_054c867d1f22ade92fd8803be106fd6b_1", + "binder_x_485d7192aee833f26ba81d29d8b5fe66_2", + "binder_x_7badba34095474765f8308c376b0dbbd_3", + "binder_x_fbde5e13f445ced92a3c0bd339ad2bbf_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "constructor_distinct_Interop.R1", "constructor_distinct_Interop.R2", @@ -253,7 +246,6 @@ "equation_Interop.max_arity", "equation_Interop.registers", "equation_Interop.vale_post", "equation_Interop.vale_pre", "equation_Interop.vale_sig", "equation_Prims.eqtype", - "equation_Prims.prop", "equation_with_fuel_Interop.as_lowstar_sig.fuel_instrumented", "equation_with_fuel_Interop.elim_m.fuel_instrumented", "equation_with_fuel_Interop.n_arrow.fuel_instrumented", @@ -261,13 +253,14 @@ "fuel_token_correspondence_Interop.elim_m.fuel_instrumented_token", "function_token_typing_FStar.Integers.uint_64", "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_Interop.elim", "function_token_typing_Interop.elim_1", - "function_token_typing_Interop.elim_m", "int_inversion", - "int_typing", - "interpretation_Tm_abs_8a70e3d167489406200634fbede4d416", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", + "interpretation_Tm_abs_84403e24470963029f3549df4a198599", "kinding_Interop.reg@tok", - "kinding_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "kinding_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "kinding_Tm_arrow_251090685294ee7321ea5da5c16f7b99", + "kinding_Tm_arrow_d85545e13c5d41084b0cae256e392077", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", @@ -279,16 +272,17 @@ "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_Interop.Mkstate_memory", "projection_inverse_Interop.Mkstate_registers", - "refinement_interpretation_Tm_refine_31f15557065f4f6743fbc958b501e338", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1b02307dc42c5d97958315590dc76e55", + "refinement_interpretation_Tm_refine_1dcd76ab6136496954794947e1c7ba5d", + "refinement_interpretation_Tm_refine_214a5634eda30a70333ab88e64c9f73f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9f8241366652a378b9fd8aa7884bc8bf", - "refinement_interpretation_Tm_refine_a18b256a5ff66e5662b8b8ef9005d754", - "refinement_interpretation_Tm_refine_a8fb8867903ba6f352325ea168fdd7b9", - "refinement_interpretation_Tm_refine_bca617b1b2ea961e009f31145da5d056", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_4d9a25166140e8963de2fef595065682", + "refinement_interpretation_Tm_refine_81b2f4ed48c8f2d3bdd944b9e4809c72", + "refinement_interpretation_Tm_refine_d0c6a6b279fcec66e53a880c702cfc68", + "refinement_interpretation_Tm_refine_dbfa6ada5d3c5dfc2eb10b21b5fe9817", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "token_correspondence_Interop.elim", "token_correspondence_Interop.elim_1", "token_correspondence_Interop.elim_m", @@ -298,11 +292,13 @@ "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_Interop.as_reg", - "typing_Interop.n_arrow", "typing_tok_Interop.R2@tok", + "typing_Interop.elim", "typing_Interop.elim_1", + "typing_Interop.n_arrow", "typing_tok_Interop.R1@tok", + "typing_tok_Interop.R2@tok", "typing_tok_Interop.R3@tok", "well-founded-ordering-on-nat" ], 0, - "164e8b8be88fb805fe05385ff06b2ec6" + "925f9cee3c4f3a03a1aaa99138ab1d0b" ], [ "Interop.registers", @@ -311,7 +307,7 @@ 1, [ "@query", "assumption_Interop.reg__uu___haseq" ], 0, - "0b93c7e5d6e24bd2df957ea681ff395e" + "8edd7b738d2bf1185bfa9838c0c0ca21" ], [ "Interop.as_reg", @@ -328,12 +324,12 @@ "equation_Interop.ireg", "int_inversion", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_a18b256a5ff66e5662b8b8ef9005d754", - "refinement_interpretation_Tm_refine_bca617b1b2ea961e009f31145da5d056" + "refinement_interpretation_Tm_refine_1dcd76ab6136496954794947e1c7ba5d", + "refinement_interpretation_Tm_refine_d0c6a6b279fcec66e53a880c702cfc68", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "ee4efb005e1ab1beaf329713c67e15bc" + "11c125d00ddb8d46928f2980de316fce" ], [ "Interop.n_arrow", @@ -343,23 +339,22 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_56c1ab2ee0f4251140470a15476e5e39_1", + "binder_x_49a4247c1099bc9e821570eed8ff54c1_1", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Interop.arity", - "equation_Interop.max_arity", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "well-founded-ordering-on-nat" ], 0, - "dca48e7b9c02e892e59c620ed78e482a" + "fc07d556917d9f20ad243dec26ab166f" ], [ "Interop.elim", @@ -370,14 +365,13 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Interop.n_arrow.fuel_instrumented", "@fuel_irrelevance_Interop.n_arrow.fuel_instrumented", "@query", - "Interop_interpretation_Tm_arrow_781c73df50b5e98eb39fe02899293e46", - "Interop_interpretation_Tm_arrow_f48bae5b7863fa01a81b7fe6f393bd14", - "equation_FStar.Integers.uint_64", + "Interop_interpretation_Tm_arrow_7a12f5600b069146a589d68cc041eac4", + "Interop_interpretation_Tm_arrow_9dbf12c94683beb1fbaf96c0a2417971", "equation_with_fuel_Interop.n_arrow.fuel_instrumented", "primitive_Prims.op_Subtraction" ], 0, - "af0e3a6f7c12ea06993c28137f348002" + "7d5db91df30fa297c67ff5bbb3dc9b05" ], [ "Interop.elim_1", @@ -388,15 +382,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Interop.n_arrow.fuel_instrumented", "@fuel_irrelevance_Interop.n_arrow.fuel_instrumented", "@query", - "Interop_interpretation_Tm_arrow_781c73df50b5e98eb39fe02899293e46", - "Interop_interpretation_Tm_arrow_f48bae5b7863fa01a81b7fe6f393bd14", + "Interop_interpretation_Tm_arrow_7a12f5600b069146a589d68cc041eac4", + "Interop_interpretation_Tm_arrow_9dbf12c94683beb1fbaf96c0a2417971", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat", "equation_FStar.Integers.uint_64", - "equation_Interop.arity", "equation_Interop.max_arity", + "equation_FStar.Integers.nat", "equation_Interop.arity", "equation_with_fuel_Interop.n_arrow.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Equality", @@ -404,12 +397,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_81b2f4ed48c8f2d3bdd944b9e4809c72", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "b21211002f97c299cb706d62fa6cac7c" + "9361fdbe6f367638773239bfc20b7bfa" ], [ "Interop.elim_m", @@ -418,27 +411,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Interop.reg__uu___haseq", - "binder_x_0fb053ba5a50bba796a4570cb71759af_3", - "binder_x_56c1ab2ee0f4251140470a15476e5e39_1", + "binder_x_49a4247c1099bc9e821570eed8ff54c1_1", + "binder_x_d6ab5bad6ecdec1fec56c1da5cec14df_3", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Interop.arity", - "equation_Interop.max_arity", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "equation_Interop.max_arity", "int_inversion", "int_typing", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_79946ff7346aa9dab72469549f15951c", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f0416b51d43bd6894b3fcbb95a619418", "well-founded-ordering-on-nat" ], 0, - "fb90dc21aee9713390d94c5a45c4365b" + "76c55ef7407294d49c531a4c1fc53eee" ], [ "Interop.as_vale_pre", @@ -446,14 +437,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "equation_Interop.arity", - "equation_Interop.max_arity", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2" + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "equation_Interop.arity", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "0256c502334107ae78c1dc9d0e34b339" + "4efeb47765c74d6132bee69f21c02c4d" ], [ "Interop.as_vale_post", @@ -461,14 +451,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "equation_Interop.arity", - "equation_Interop.max_arity", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2" + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "equation_Interop.arity", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "fa4193b84cc0c81f1142a349d8f29672" + "b1e3869ac81ccb37cfe70a7fe014694b" ], [ "Interop.as_lowstar_sig", @@ -477,7 +466,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_dfd7d317dc67fdbd03c2ea7482931690_0", "bool_inversion", + "binder_x_fbde5e13f445ced92a3c0bd339ad2bbf_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", @@ -488,17 +477,17 @@ "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_Interop.arity", - "equation_Interop.max_arity", "equation_Prims.prop", + "equation_Interop.max_arity", "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_fb331afb63f74a513c4a33e3d92d9692", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_6eacf6bc1bc62ed044ee4439b6573619", + "refinement_interpretation_Tm_refine_81b2f4ed48c8f2d3bdd944b9e4809c72", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -506,7 +495,7 @@ "well-founded-ordering-on-nat" ], 0, - "9d1609021aaf3ffea540fc454fe63ef3" + "7e0e27bc8b4eb6ad770d40c22927713b" ], [ "Interop.wrap", @@ -521,20 +510,20 @@ "@fuel_irrelevance_Interop.as_lowstar_sig.fuel_instrumented", "@fuel_irrelevance_Interop.elim_m.fuel_instrumented", "@fuel_irrelevance_Interop.n_arrow.fuel_instrumented", "@query", - "Interop_interpretation_Tm_arrow_1166fc5d20c78e24a96c4e308eee4257", - "Interop_interpretation_Tm_arrow_285bc64c2329669fc99d2c63739e7e13", - "Interop_interpretation_Tm_arrow_2f18aecd1f59c81f361afbbf2098f294", - "Interop_interpretation_Tm_arrow_781c73df50b5e98eb39fe02899293e46", - "Interop_interpretation_Tm_arrow_90a999ffb7935041987a08e87dbb7253", - "Interop_interpretation_Tm_arrow_a6159f8c39d26b89398cf0af5a985e5c", - "Interop_interpretation_Tm_arrow_c9aecfb9d447196dd98170759a8f9075", - "Interop_interpretation_Tm_arrow_f48bae5b7863fa01a81b7fe6f393bd14", + "Interop_interpretation_Tm_arrow_3540c39d128f1dd454e8bfe179704b28", + "Interop_interpretation_Tm_arrow_7a12f5600b069146a589d68cc041eac4", + "Interop_interpretation_Tm_arrow_9dbf12c94683beb1fbaf96c0a2417971", + "Interop_interpretation_Tm_arrow_d36058ba7a2bc61f67a79f4d995ee240", + "Interop_interpretation_Tm_arrow_db354f0a1b6509a3ea9463c6495cdc63", + "Interop_interpretation_Tm_arrow_e2c5c8260e9a7f53945e2a0e1ed2b999", + "Interop_interpretation_Tm_ghost_arrow_03f9b220dea5d86a2320f2e023430eec", "Interop_pretyping_d0cf4df241d5c82acedf643c4d2d5e32", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Interop.reg__uu___haseq", - "binder_x_07f12b76e3df117a4a5f4de171f5ebab_2", - "binder_x_560f7dd42870aa477256c672055b8672_1", - "binder_x_a711378dca12c14570c7947fab2f3a4a_3", - "binder_x_dfd7d317dc67fdbd03c2ea7482931690_0", "bool_inversion", + "binder_x_054c867d1f22ade92fd8803be106fd6b_1", + "binder_x_485d7192aee833f26ba81d29d8b5fe66_2", + "binder_x_7badba34095474765f8308c376b0dbbd_3", + "binder_x_fbde5e13f445ced92a3c0bd339ad2bbf_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "constructor_distinct_Interop.R1", "constructor_distinct_Interop.R2", @@ -556,7 +545,6 @@ "equation_Interop.max_arity", "equation_Interop.registers", "equation_Interop.vale_post", "equation_Interop.vale_pre", "equation_Interop.vale_sig", "equation_Prims.eqtype", - "equation_Prims.prop", "equation_with_fuel_Interop.as_lowstar_sig.fuel_instrumented", "equation_with_fuel_Interop.elim_m.fuel_instrumented", "equation_with_fuel_Interop.n_arrow.fuel_instrumented", @@ -564,13 +552,14 @@ "fuel_token_correspondence_Interop.elim_m.fuel_instrumented_token", "function_token_typing_FStar.Integers.uint_64", "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_Interop.elim", "function_token_typing_Interop.elim_1", - "function_token_typing_Interop.elim_m", "int_inversion", - "int_typing", - "interpretation_Tm_abs_8a70e3d167489406200634fbede4d416", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", + "interpretation_Tm_abs_84403e24470963029f3549df4a198599", "kinding_Interop.reg@tok", - "kinding_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "kinding_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "kinding_Tm_arrow_251090685294ee7321ea5da5c16f7b99", + "kinding_Tm_arrow_d85545e13c5d41084b0cae256e392077", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", @@ -582,16 +571,17 @@ "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_Interop.Mkstate_memory", "projection_inverse_Interop.Mkstate_registers", - "refinement_interpretation_Tm_refine_31f15557065f4f6743fbc958b501e338", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1b02307dc42c5d97958315590dc76e55", + "refinement_interpretation_Tm_refine_1dcd76ab6136496954794947e1c7ba5d", + "refinement_interpretation_Tm_refine_214a5634eda30a70333ab88e64c9f73f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9f8241366652a378b9fd8aa7884bc8bf", - "refinement_interpretation_Tm_refine_a18b256a5ff66e5662b8b8ef9005d754", - "refinement_interpretation_Tm_refine_a8fb8867903ba6f352325ea168fdd7b9", - "refinement_interpretation_Tm_refine_bca617b1b2ea961e009f31145da5d056", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_4d9a25166140e8963de2fef595065682", + "refinement_interpretation_Tm_refine_81b2f4ed48c8f2d3bdd944b9e4809c72", + "refinement_interpretation_Tm_refine_d0c6a6b279fcec66e53a880c702cfc68", + "refinement_interpretation_Tm_refine_dbfa6ada5d3c5dfc2eb10b21b5fe9817", + "refinement_interpretation_Tm_refine_e83e6eee9c0a5399ecc3f6c0c93681bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "token_correspondence_Interop.elim", "token_correspondence_Interop.elim_1", "token_correspondence_Interop.elim_m", @@ -601,12 +591,11 @@ "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_Interop.as_reg", - "typing_Interop.n_arrow", "typing_tok_Interop.R1@tok", - "typing_tok_Interop.R2@tok", "typing_tok_Interop.R3@tok", - "well-founded-ordering-on-nat" + "typing_tok_Interop.R1@tok", "typing_tok_Interop.R2@tok", + "typing_tok_Interop.R3@tok", "well-founded-ordering-on-nat" ], 0, - "d93e172a90a55acdad6fb56016271c8e" + "b5d50d2ac53f250c2a7f7c3b1bcfd5de" ] ] ] \ No newline at end of file diff --git a/examples/hello/hello.fst b/examples/hello/Hello.fst similarity index 88% rename from examples/hello/hello.fst rename to examples/hello/Hello.fst index 66a7ababac8..e71e65a8671 100644 --- a/examples/hello/hello.fst +++ b/examples/hello/Hello.fst @@ -18,6 +18,3 @@ module Hello open FStar.IO let main = print_string "Hello F*!\n" - -let foo (x:(x:int & (y:int{y > x}) & int)) :int = match x with - | Mkdtuple3 x _ _ -> x diff --git a/examples/hello/Hello.fst.hints b/examples/hello/Hello.fst.hints new file mode 100755 index 00000000000..c298d7cdbd6 --- /dev/null +++ b/examples/hello/Hello.fst.hints @@ -0,0 +1 @@ +[ "g ¥(fþ²vá…ó‡ÁW¾r", [] ] \ No newline at end of file diff --git a/examples/hello/Makefile b/examples/hello/Makefile index 53e06c83cb0..190d5ff8bfc 100644 --- a/examples/hello/Makefile +++ b/examples/hello/Makefile @@ -1,61 +1,23 @@ -# For simplified Makefiles, define FSTAR_HOME, then include the file below. FSTAR_HOME=../.. -include ../Makefile.include -all: ocaml testseq +include ../Makefile.include include $(FSTAR_HOME)/ulib/ml/Makefile.include +all: hello testseq - -# This target is very concise and re-uses the variables defined in -# Makefile.include. You shouldn't need to call `cp` ever. -ocaml: out hello.fst - $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml hello.fst +hello: out Hello.fst + $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml --extract 'Hello' Hello.fst --record_hints $(OCAMLOPT) out/Hello.ml -o hello.exe ./hello.exe -# FIXME (Guido): This comment seems very stale. I made the rule look -# exactly as the one for `hello` and this works anyway. -# -# This target demonstrates how to compile with native_ints: the recursive -# invocation of $(MAKE) changes, and so do the include paths for `ocamlopt`. -# In this particular case, we need to compile against the extracted version of -# `FStar.Seq` (it is not realized in ML), so we pass it to `ocamlopt`. -testseq: out testseq.fst - $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml testseq.fst +testseq: out TestSeq.fst + $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml --extract 'TestSeq' TestSeq.fst --record_hints $(OCAMLOPT) out/TestSeq.ml -o testseq.exe ./testseq.exe -LIB=$(FSTAR_HOME)/ulib -BIN=$(FSTAR_HOME)/bin - -ifeq ($(OS),Windows_NT) -FSC = fsc --mlcompatibility -else -FSC = fsharpc --mlcompatibility -endif - -ifeq ($(OS),Windows_NT) -FSRUNTIME = -else -FSRUNTIME = mono -endif - -fs: out hello.fst - $(FSTAR) --odir out --codegen FSharp hello.fst - $(FSRUNTIME) ./out/hello.exe - -# CH: this target is dead, there is no ml/native_int anywhere -bat_testseq: out testseq.fst - $(FSTAR) --use_native_int --odir out --codegen OCaml testseq.fst - cp $(LIB)/ml/native_int/prims.ml $(LIB)/ml/FStar_IO.ml FStar_Seq.ml out - (cd out; ocamlfind ocamlc -package batteries -linkpkg -g -o testseq.exe nums.cma prims.ml FStar_IO.ml FStar_Seq.ml TestSeq.ml) - ./out/TestSeq.exe - out: mkdir -p out clean: - rm -rf out - rm -f *~ + rm -rf out *~ *.exe diff --git a/examples/hello/testseq.fst b/examples/hello/TestSeq.fst similarity index 77% rename from examples/hello/testseq.fst rename to examples/hello/TestSeq.fst index 22bbd38fda5..b47b2e655e8 100644 --- a/examples/hello/testseq.fst +++ b/examples/hello/TestSeq.fst @@ -14,16 +14,19 @@ limitations under the License. *) module TestSeq + open FStar open FStar.IO open FStar.All -val print_seq : i:nat -> s:Seq.seq int {i <= Seq.length s} -> ML unit -let rec print_seq i s = +val print_seq : s:Seq.seq int -> i:nat{i <= Seq.length s} -> ML unit +let rec print_seq s i = if i = Seq.length s then () else (print_string (string_of_int (Seq.index s i)); - print_seq (i + 1) s) + print_string "\n"; + print_seq s (i + 1)) let main = - let x = Seq.create 100 0 in - print_seq 0 x + let id i = i in + let s = Seq.init 10 id in + print_seq s 0 diff --git a/examples/hello/testseq.fst.hints b/examples/hello/TestSeq.fst.hints old mode 100644 new mode 100755 similarity index 60% rename from examples/hello/testseq.fst.hints rename to examples/hello/TestSeq.fst.hints index 0d8793251ff..b56da55c1e3 --- a/examples/hello/testseq.fst.hints +++ b/examples/hello/TestSeq.fst.hints @@ -1,5 +1,5 @@ [ - "ƒ\u0019¿c¼¸SµH3‡¦Uc’!", + "³S¼ÅXYB(ߤ6Ü9ù7Ó", [ [ "TestSeq.print_seq", @@ -14,16 +14,16 @@ "fuel_guarded_inversion_FStar.Pervasives.result", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_25b2b33b1d54676a70040d40b5b23ffa", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5885c715bf599d471c43c6b7dcb2413b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length", "unit_typing" ], 0, - "52cfa58f486bc56ecac657728a8d2f59" + "14ddf8864b0a15457de9470ddb8f489b" ], [ "TestSeq.main", @@ -32,17 +32,22 @@ 1, [ "@MaxIFuel_assumption", "@query", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", + "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d", + "lemma_FStar.Seq.Base.lemma_init_len", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "typing_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" ], 0, - "33fa0d527ab435a101222c5c2538a4e3" + "c7de97801ac7c401188c5194090c7a51" ] ] ] \ No newline at end of file diff --git a/examples/hello/hello.fst.hints b/examples/hello/hello.fst.hints deleted file mode 100644 index bde156c7577..00000000000 --- a/examples/hello/hello.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "@-lÙ\u0016v\u001f?Ç\u0018O>X+", [] ] \ No newline at end of file diff --git a/examples/indexed_effects/GEXN.fst.hints b/examples/indexed_effects/GEXN.fst.hints index 50852fbc89a..0d157325cb9 100644 --- a/examples/indexed_effects/GEXN.fst.hints +++ b/examples/indexed_effects/GEXN.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either" ], 0, - "9ba1ebab529041e1e95b04c6c0530edb" + "aa26174160254bbea6f3b7c18f8a07a6" ], [ "GEXN._dm4f_GEXN_bind_wp", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either" ], 0, - "7c1a2325d4a8507843849d6d2900d391" + "4b08dfc02745c4d17172226d2175f3f5" ], [ "GEXN._dm4f_GEXN___proj__GEXN__item__raise_elab", @@ -36,7 +36,7 @@ 1, [ "@query", "assumption_Prims.HasEq_string" ], 0, - "b68f28538ce757fd6798171f3eb2570e" + "345368925b17feb5084b41c63f11d99f" ], [ "GEXN.GEXN", @@ -45,7 +45,7 @@ 1, [ "@query", "assumption_Prims.HasEq_string" ], 0, - "5c26ad561876d1e3be1383f7bce4a8dd" + "26107054937f360a538b5d3975370e85" ], [ "GEXN.raise", @@ -54,7 +54,7 @@ 1, [ "@query", "assumption_Prims.HasEq_string", "equation_GEXN.exn" ], 0, - "9b67c00da90330692aea5970bf53529a" + "927f9d9057b7a1d08a434924601c0b23" ], [ "GEXN.bind_gex", @@ -68,7 +68,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either" ], 0, - "0c6ac79680222508328aa68a6e1a6578" + "e5fcd29bc1526ab794e1f339159cfd2a" ], [ "GEXN._dm4f_GEXN_bind_wp", @@ -82,7 +82,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either" ], 0, - "934ba2c768dc1e607f9b5e173c0b5d94" + "350161da2311c3375a770a34b5228266" ], [ "GEXN._dm4f_GEXN___proj__GEXN__item__raise_elab", @@ -91,7 +91,7 @@ 1, [ "@query", "assumption_Prims.HasEq_string" ], 0, - "071c272bab3873b76ec6e7aa1b5df9dc" + "ffcdbce58ab6483c95fa77ac45b8da88" ], [ "GEXN.GEXN", @@ -100,7 +100,7 @@ 1, [ "@query", "assumption_Prims.HasEq_string" ], 0, - "0bdc71158bbd2e05c171d0921b6dbcf7" + "372733a0f5087e4a288f7742326ec649" ], [ "GEXN.raise", @@ -109,7 +109,7 @@ 1, [ "@query", "assumption_Prims.HasEq_string", "equation_GEXN.exn" ], 0, - "664161003f08b8cdf7961245c85a9e2f" + "7e05f6118e22f63eaa344523a104bdb2" ] ] ] \ No newline at end of file diff --git a/examples/indexed_effects/GMST.fst.hints b/examples/indexed_effects/GMST.fst.hints index 5b5c1731474..8aeea280f06 100644 --- a/examples/indexed_effects/GMST.fst.hints +++ b/examples/indexed_effects/GMST.fst.hints @@ -8,13 +8,13 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_GMST.op_At", - "interpretation_Tm_abs_870f8db2e3988d7900709b0d68d92d50", - "l_quant_interp_c423f145abfd7b6883eab433fac5cd2b", + "interpretation_Tm_abs_52fe06aa3756057d09f0d03f1113e61e", + "l_quant_interp_0d4740bac0e7318c12dd62f1c939a21c", "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", "token_correspondence_GMST.op_At" ], 0, - "0a8db659cb778bef087622f746775469" + "1fad82ab0b2cd1832e274365577ef5c5" ], [ "GMST.gst_put", @@ -23,7 +23,7 @@ 1, [ "@query" ], 0, - "97d3887c5115464f2ee44f17cd48539e" + "d9656a724eb56f2054cad5b20713e5cf" ], [ "GMST.gst_witness", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "31255c9230ef2806b853d292c8702ffb" + "9c6e23341a552ddd37003efe4e4734cf" ], [ "GMST.gst_recall", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "476058eedebe5b69ad3bdf6bc14ec970" + "9affaf5c5059a7b09598131ebaff08bf" ], [ "GMST.app", @@ -63,13 +63,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_GMST.op_At", "equation_GMST.state", "int_inversion", - "interpretation_Tm_abs_870f8db2e3988d7900709b0d68d92d50", - "l_quant_interp_c423f145abfd7b6883eab433fac5cd2b", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", + "interpretation_Tm_abs_52fe06aa3756057d09f0d03f1113e61e", + "l_quant_interp_0d4740bac0e7318c12dd62f1c939a21c", + "refinement_interpretation_Tm_refine_2dbcc642e30c94354080ed8b90217c10", "token_correspondence_GMST.op_At" ], 0, - "a0171ae8536b7158760034d6dba7cfb4" + "b6cac8736e832d1e472541cad78af618" ], [ "GMST.lemma_preorder_comp_equiv", @@ -81,13 +81,13 @@ "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_GMST.op_At", - "interpretation_Tm_abs_870f8db2e3988d7900709b0d68d92d50", - "l_quant_interp_c423f145abfd7b6883eab433fac5cd2b", + "interpretation_Tm_abs_52fe06aa3756057d09f0d03f1113e61e", + "l_quant_interp_0d4740bac0e7318c12dd62f1c939a21c", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "token_correspondence_GMST.op_At" ], 0, - "fa7baf132e5c3d99ece20d8693252fd8" + "9c57df42ac96683584158a889b32c0b5" ], [ "GMST.preorder_app'", @@ -95,18 +95,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_GMST.op_At", + "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", + "equation_FStar.Preorder.preorder_rel", + "equation_FStar.Preorder.transitive", "equation_GMST.op_At", "equation_GMST.state", "equation_Prims.eqtype", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_870f8db2e3988d7900709b0d68d92d50", - "l_quant_interp_c423f145abfd7b6883eab433fac5cd2b", + "interpretation_Tm_abs_3e1ac81e52c423fbf074067ef8a21123", + "l_quant_interp_0d4740bac0e7318c12dd62f1c939a21c", "lemma_GMST.lemma_preorder_comp_equal", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", + "refinement_interpretation_Tm_refine_2dbcc642e30c94354080ed8b90217c10", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "token_correspondence_GMST.op_At" ], 0, - "9a9483c0c5b5a97a4a8de5843412c390" + "a64bc20360730bf3bad670d7ad9fa6ad" ], [ "GMST.transport_gmst_rel", @@ -114,11 +117,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_GMST.state", - "refinement_interpretation_Tm_refine_58b5760b9dc8afe2282a377442f6f031" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_bdc975851b597885266e1bf07a144b19" ], 0, - "815d61dd87ef6a318a6f1cf6e5238be0" + "05e43ade0a07b14c0ce3c62da35d1b36" ], [ "GMST.preorder_app", @@ -132,22 +135,20 @@ "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.transitive", "equation_GMST.lift_div_gmst", "equation_GMST.state", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_pre", "function_token_typing_Prims.int", - "int_inversion", - "interpretation_Tm_abs_39a475fdb63a2ff02e343235d8a91f5d", - "interpretation_Tm_abs_e08802d84558b4bbae42d319db03724c", - "interpretation_Tm_abs_e131fe0e051c1be096151356afa8379c", - "interpretation_Tm_abs_fd354fee9d3188fd514a4c65c75b563d", - "l_and-interp", "l_quant_interp_d66f58ee992ce04875abe71aafba96e6", + "function_token_typing_Prims.int", "int_inversion", + "interpretation_Tm_abs_72819708c8b3afb129c5494c62891a20", + "interpretation_Tm_abs_77be59ca9eff305ded82d5d23b6df3d7", + "interpretation_Tm_abs_9b728148fdfbb433bf963274e0ec60de", + "interpretation_Tm_abs_cb30d2844df941d3f38ad50aec5336aa", + "l_and-interp", "l_quant_interp_8e7f59dbbf720f12c514120d6e5684ae", "lemma_GMST.lemma_preorder_comp_equal", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", + "refinement_interpretation_Tm_refine_2dbcc642e30c94354080ed8b90217c10", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "token_correspondence_GMST.op_At", "true_interp", "unit_typing" ], 0, - "1ff160909d552c8cf6a1b0103b022b90" + "d9075d8d98f454f3082eed09f4c5118d" ], [ "GMST.gmst_bind", @@ -156,13 +157,13 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_GMST.op_At", - "interpretation_Tm_abs_870f8db2e3988d7900709b0d68d92d50", - "l_quant_interp_c423f145abfd7b6883eab433fac5cd2b", + "interpretation_Tm_abs_52fe06aa3756057d09f0d03f1113e61e", + "l_quant_interp_0d4740bac0e7318c12dd62f1c939a21c", "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", "token_correspondence_GMST.op_At" ], 0, - "20b86665a2c3396b9627efc2f3968a94" + "3da040b7acc39a2b94d11f9d9cfeaae4" ], [ "GMST.gst_put", @@ -171,7 +172,7 @@ 1, [ "@query" ], 0, - "d4f440513c4b0ebbd6987d85e3e7e37d" + "09d5ca5d1a78e4173a5b5fd84a831cb2" ], [ "GMST.gst_witness", @@ -186,7 +187,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "c071eebae601de80d58d449635b1b515" + "5aa5f0730f0e5c5ccd64f1ae69a8b6ed" ], [ "GMST.gst_recall", @@ -201,7 +202,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "37ea6a9c3e3a12aa329bbd78de4d3903" + "fd58f786b642b5ad477d19077437e711" ], [ "GMST.app", @@ -211,13 +212,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_GMST.op_At", "equation_GMST.state", "int_inversion", - "interpretation_Tm_abs_870f8db2e3988d7900709b0d68d92d50", - "l_quant_interp_c423f145abfd7b6883eab433fac5cd2b", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", + "interpretation_Tm_abs_52fe06aa3756057d09f0d03f1113e61e", + "l_quant_interp_0d4740bac0e7318c12dd62f1c939a21c", + "refinement_interpretation_Tm_refine_2dbcc642e30c94354080ed8b90217c10", "token_correspondence_GMST.op_At" ], 0, - "d57d6397c107ecf7e60379712d91110d" + "4414b4a4a72d9ecb6093ff5b49ed5f16" ], [ "GMST.preorder_app'", @@ -225,18 +226,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_GMST.op_At", + "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", + "equation_FStar.Preorder.preorder_rel", + "equation_FStar.Preorder.transitive", "equation_GMST.op_At", "equation_GMST.state", "equation_Prims.eqtype", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_870f8db2e3988d7900709b0d68d92d50", - "l_quant_interp_c423f145abfd7b6883eab433fac5cd2b", + "interpretation_Tm_abs_3e1ac81e52c423fbf074067ef8a21123", + "l_quant_interp_0d4740bac0e7318c12dd62f1c939a21c", "lemma_GMST.lemma_preorder_comp_equal", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", + "refinement_interpretation_Tm_refine_2dbcc642e30c94354080ed8b90217c10", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "token_correspondence_GMST.op_At" ], 0, - "12c554d81e58ce90f9841a357a8fac8d" + "680b0b8fb10bc53869eaedba6000815c" ], [ "GMST.transport_gmst_rel", @@ -244,11 +248,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_GMST.state", - "refinement_interpretation_Tm_refine_58b5760b9dc8afe2282a377442f6f031" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_bdc975851b597885266e1bf07a144b19" ], 0, - "0cacb649f2493d91e9d801a932761ad1" + "04d7cabbacfff8b6b9b9da03a64853ad" ], [ "GMST.preorder_app", @@ -256,18 +260,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_GMST.op_At", + "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", + "equation_FStar.Preorder.preorder_rel", + "equation_FStar.Preorder.transitive", "equation_GMST.op_At", "equation_GMST.state", "equation_Prims.eqtype", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_870f8db2e3988d7900709b0d68d92d50", - "l_quant_interp_c423f145abfd7b6883eab433fac5cd2b", + "interpretation_Tm_abs_3e1ac81e52c423fbf074067ef8a21123", + "l_quant_interp_0d4740bac0e7318c12dd62f1c939a21c", "lemma_GMST.lemma_preorder_comp_equal", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", + "refinement_interpretation_Tm_refine_2dbcc642e30c94354080ed8b90217c10", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "token_correspondence_GMST.op_At" ], 0, - "e6cae7222a1fb89109d0d55fe3ea531a" + "6eb45d3b4d45df06b01e78c7887ce94f" ] ] ] \ No newline at end of file diff --git a/examples/indexed_effects/IEXN.fst.hints b/examples/indexed_effects/IEXN.fst.hints index 7d7e4dedad1..e2aaf64baea 100644 --- a/examples/indexed_effects/IEXN.fst.hints +++ b/examples/indexed_effects/IEXN.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_7238506d51a0bcd660adb39c15951fa1" ], 0, - "9b96fd47f54d47c90a0522a246c676f7" + "a7b4256106494c6da237380fead8b6bf" ], [ "IEXN.__proj__E__item__e", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_c4a45b085cc780dedd2505084f3c2549" ], 0, - "f2c71c4bc13d9ef2b1118f7ceca0e333" + "4285a6ad43d20bafe3c67d3b404ec5b1" ], [ "IEXN.iex_bind_wp", @@ -37,7 +37,7 @@ "disc_equation_IEXN.V", "fuel_guarded_inversion_IEXN.result" ], 0, - "3f44c17c39131afd3bba67c75c03fc82" + "d62ccf139377e57f5bbfd104f77e8472" ], [ "IEXN.f", @@ -46,7 +46,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], 0, - "1993d52723eb67833a3909e42d2b7a4b" + "1984d63043ae1ad6366f2ec9084849ae" ], [ "IEXN.g", @@ -64,7 +64,7 @@ "typing_IEXN.exception2" ], 0, - "a5e8d70466bc4a2b4dd9c73034f21e02" + "790b033bceeebf84007fb659aebe2544" ], [ "IEXN.h", @@ -87,7 +87,7 @@ "unit_typing" ], 0, - "8aa2c56a75328f01325e49de754bf8e7" + "8f0c8c17272ac61dd12e2bcdfa240fdd" ], [ "IEXN.__proj__V__item__v", @@ -100,7 +100,7 @@ "refinement_interpretation_Tm_refine_7238506d51a0bcd660adb39c15951fa1" ], 0, - "b03d7783a438c24a9af505c3cbf276ce" + "58170c4532cc81b7d5268a6c01d015e4" ], [ "IEXN.__proj__E__item__e", @@ -113,7 +113,7 @@ "refinement_interpretation_Tm_refine_c4a45b085cc780dedd2505084f3c2549" ], 0, - "dfd748d1c31f234763c2cc6b57f89187" + "d6eee13910bebde4b92fefe60b7a6c8b" ], [ "IEXN.iex_bind_wp", @@ -125,7 +125,7 @@ "disc_equation_IEXN.V", "fuel_guarded_inversion_IEXN.result" ], 0, - "c293d54516bf6a98b4e550f24da47b73" + "4b533dd66f546c28889f638f5ce7d09c" ] ] ] \ No newline at end of file diff --git a/examples/indexed_effects/IMST.fst.hints b/examples/indexed_effects/IMST.fst.hints index be5c991c53e..1ff40c19716 100644 --- a/examples/indexed_effects/IMST.fst.hints +++ b/examples/indexed_effects/IMST.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_FStar.Pervasives.dfst" ], 0, - "86e653e261ea83dece7ba60ae3ba67fc" + "56a27ddcfd6bea1fe189771656626733" ], [ "IMST.nat_rel", @@ -24,7 +24,7 @@ "token_correspondence_IMST.nat_rel_" ], 0, - "645da12ad48921d0c7a576bd09697da2" + "f0c3fc1637f87a375f5ae4acbe8302e3" ], [ "IMST.f", @@ -32,18 +32,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.stable", "equation_IMST.nat_rel", - "equation_IMST.nat_rel_", "equation_Prims.nat", - "function_token_typing_IMST.nat_rel", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d126cb16e6816800d2f2c3cfba837ab", + "equation_IMST.nat_rel_", "equation_Prims.nat", "int_inversion", + "interpretation_Tm_abs_05f6ce5958841550e0655050d1696a3a", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "proj_equation_Prims.Mkdtuple2__1", @@ -52,13 +48,12 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "token_correspondence_FStar.Pervasives.dsnd", - "token_correspondence_IMST.nat_rel_" + "token_correspondence_IMST.nat_rel_", "typing_IMST.nat_rel" ], 0, - "049e828f2168c93895e8769f2e73fab1" + "af05634e8894efa9c8ee51d8ff6c8f0b" ], [ "IMST.op_Greater_Less", @@ -67,7 +62,7 @@ 1, [ "@query", "equation_FStar.Pervasives.dfst" ], 0, - "a1dd3893bd297108355a2712822b6888" + "effbc2c3842b3cbb1a2f3904705349f3" ], [ "IMST.nat_rel", @@ -83,7 +78,7 @@ "token_correspondence_IMST.nat_rel_" ], 0, - "747252d888e1b1316aaa31da1ad38eee" + "f8daa749acf1cc3b1f64d1fb701c1255" ], [ "IMST.f", @@ -92,16 +87,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Pervasives.dfst", "equation_IMST.nat_rel", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c14de98557f5b51e3fa326a223c47940" + "8d0a88052bd5f3128ce5c53c6430053a" ] ] ] \ No newline at end of file diff --git a/examples/indexed_effects/IMSTsub.fst.hints b/examples/indexed_effects/IMSTsub.fst.hints index 949e9033d90..19e66fe48a7 100644 --- a/examples/indexed_effects/IMSTsub.fst.hints +++ b/examples/indexed_effects/IMSTsub.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "a25d1caa6424093581af60466a223809" + "10ed64c24f7325ee0c63d78bfdfbefff" ], [ "IMSTsub.nat_rel", @@ -24,7 +24,7 @@ "token_correspondence_IMSTsub.nat_rel_" ], 0, - "6cc2b9d3fb2612c33192c7a0b37c7f63" + "9524177cf9fc9265b346283efd1b5cc7" ], [ "IMSTsub.eq_rel'", @@ -34,11 +34,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "57368e3ba6386eb07d158f252af46fe9" + "2afc2b9f1f511599ae96d707ea229497" ], [ "IMSTsub.eq_rel", @@ -54,7 +54,7 @@ "token_correspondence_IMSTsub.eq_rel_" ], 0, - "1cc1e95222018fa6001cddbf65fd5654" + "e72d461527734c08eb5a0765c989f381" ], [ "IMSTsub.f", @@ -63,7 +63,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], 0, - "fdcb60fd1999bfd45231e033e8e5b0bb" + "6ec075febb2a2e0e7ce47e6d0a26659d" ], [ "IMSTsub.g", @@ -71,33 +71,30 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.stable", "equation_IMSTsub.eq_rel", "equation_IMSTsub.eq_rel_", "equation_IMSTsub.nat_rel", "equation_IMSTsub.nat_rel_", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_IMSTsub.nat_rel", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_2d126cb16e6816800d2f2c3cfba837ab", - "interpretation_Tm_abs_931cc10fd6ad0513e7ea3949171c6cfa", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_05f6ce5958841550e0655050d1696a3a", + "interpretation_Tm_abs_51845e820d2f8cf7519520f3fb3ba4f6", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "token_correspondence_IMSTsub.eq_rel_", "token_correspondence_IMSTsub.nat_rel_" ], 0, - "46dfc99c96fd36e9a619f9ecd24a7c3d" + "18d01d75ba77d6f08199c4cd7986cc6e" ], [ "IMSTsub.h", @@ -110,19 +107,18 @@ "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_IMSTsub.eq_rel", "equation_IMSTsub.eq_rel_", "equation_IMSTsub.nat_rel", - "equation_IMSTsub.nat_rel_", "equation_Prims.nat", - "function_token_typing_IMSTsub.eq_rel", "int_inversion", + "equation_IMSTsub.nat_rel_", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "token_correspondence_IMSTsub.eq_rel_", "token_correspondence_IMSTsub.nat_rel_" ], 0, - "06b9cb8df5399aa34b7b4cf8de6cefcb" + "e5b0f371ebc3905611c7ac32959b5fee" ], [ "IMSTsub.idx", @@ -131,7 +127,7 @@ 1, [ "@query" ], 0, - "86ae17cbad2371597266ee20c93a45d8" + "48457c66b206cc1a86ff48d5744b7b65" ], [ "IMSTsub.nat_rel", @@ -147,7 +143,7 @@ "token_correspondence_IMSTsub.nat_rel_" ], 0, - "535a727604f923b7ea54a1192e7c5cbb" + "e76794f7c7ac0801321adb88b93ce119" ], [ "IMSTsub.eq_rel'", @@ -157,11 +153,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6cfd3a8f316d99478fadf0505cdffdbf" + "17dd7b0f0a170b19064ed268bd29a4a1" ], [ "IMSTsub.eq_rel", @@ -177,7 +173,7 @@ "token_correspondence_IMSTsub.eq_rel_" ], 0, - "3744f77276286ba2241697296a7347aa" + "75be9e7d3d8eb1917de43373d1491e89" ] ] ] \ No newline at end of file diff --git a/examples/indexed_effects/IST.fst.hints b/examples/indexed_effects/IST.fst.hints index 96cc0f6c73b..d2cc1f606e1 100644 --- a/examples/indexed_effects/IST.fst.hints +++ b/examples/indexed_effects/IST.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "61d398967f9b2c712920fbc7c8a776b3" + "ca7470eab62a647387ead3addd6b13cf" ], [ "IST.f", @@ -17,7 +17,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], 0, - "aa5fac7bd1dc18afcf31cae0f4e971e5" + "2a5649bf9824debcc548026e1e3b624b" ], [ "IST.g", @@ -25,12 +25,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_typing", + "@MaxIFuel_assumption", "@query", "int_typing", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" ], 0, - "e422794f6671e70c9b5a87b6ac884361" + "791d0a3557e2680583ba881657a1d407" ], [ "IST.op_Greater_Less", @@ -39,7 +39,7 @@ 1, [ "@query" ], 0, - "1d1a2e60b62fe3e6f5a4da9101c6bd64" + "b9b0bf25f953ac37404397bf1ac4b6fa" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/EnumParsing.fst.hints b/examples/kv_parsing/EnumParsing.fst.hints index 92f23cb5d83..513bae84dd6 100644 --- a/examples/kv_parsing/EnumParsing.fst.hints +++ b/examples/kv_parsing/EnumParsing.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "6c8e31c527ccc11bfea1cbe8678e31dd" + "291714d569ea3da50b95960ec3192163" ], [ "EnumParsing.__proj__OneNum__item__n", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_4f83c2c575e4b9df7e99e95590ac6726" ], 0, - "058025c77cd5fb82820e91f52de72d4b" + "aea0e6482428113d2dbec9b5fe70358f" ], [ "EnumParsing.__proj__TwoNums__item__n", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_f7b177f0e5c9dfa961ddcd32747ed85b" ], 0, - "280936563bdc3a2a084dd7d0689a8dbf" + "ae8193947729d41a9b6e1166869d2ec4" ], [ "EnumParsing.__proj__TwoNums__item__m", @@ -49,7 +49,7 @@ "refinement_interpretation_Tm_refine_f7b177f0e5c9dfa961ddcd32747ed85b" ], 0, - "f1bc99e051564081a29f8118babc1c5d" + "f3b8f91f40584b4a708f1315f4fa2943" ], [ "EnumParsing.numbers_tag_val", @@ -64,7 +64,7 @@ "fuel_guarded_inversion_EnumParsing.numbers" ], 0, - "87bfe2bb8e5a965e1965d3e1e0349ddc" + "4f7a83daf04447bdb9b8e8f52e5fb270" ], [ "EnumParsing.parse_numbers_tag", @@ -72,23 +72,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt8.lt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt8.lt", "int_inversion", "int_typing", + "lemma_FStar.UInt8.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt8.v" ], 0, - "26bcb15337da07b550b12c45eca070c5" + "c2ab95624f86768b2717cee27e83759a" ], [ "EnumParsing.parse_Nothing", @@ -102,7 +99,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "463e66f43a288a358388afbda37dba85" + "f22d8053e5952bb9d6c9734e08164a68" ], [ "EnumParsing.parse_OneNum", @@ -116,7 +113,7 @@ "projection_inverse_EnumParsing.OneNum_n" ], 0, - "e2bef6526f48a6c932b8c9949c636613" + "ae6aaae540383c2196b8266afe5bc3ca" ], [ "EnumParsing.parse_TwoNums", @@ -131,7 +128,7 @@ "projection_inverse_EnumParsing.TwoNums_n" ], 0, - "61c1357fc0d16dcb6ac67fe38b6ffdc5" + "c48a8e4f058ade7ed1e9dbae627afc2b" ], [ "EnumParsing.parser_forget", @@ -140,15 +137,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_Parsing.byte", "equation_Parsing.bytes32", - "equation_Parsing.parser", "equation_Prims.nat", + "equation_Parsing.parser", "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "4cd7f2d0439a859ddba54adcf21ca56a" + "337d0f67e09c915990e070b61f6a36f9" ], [ "EnumParsing.validate_ok", @@ -157,15 +153,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_ab9ce7708c6e76653e2fb989463d42e1", + "EnumParsing_interpretation_Tm_arrow_ea6ff306de64fab5d401f66813f858a6", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_EnumParsing.pure_validator", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", - "fuel_guarded_inversion_FStar.Pervasives.Native.option" + "equation_Slice.byte", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3" ], 0, - "b5ce73abe2873aeb94e97417ae8c5229" + "a6a92ed89c706f94990fa896bb952600" ], [ "EnumParsing.parser_forget_ok", @@ -176,9 +173,8 @@ "@query", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_EnumParsing.parser_forget", - "equation_EnumParsing.validate_ok", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Prims.nat", - "interpretation_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", + "equation_EnumParsing.validate_ok", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -186,7 +182,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "42ea09449b118f28853fc5e859c456dd" + "bd5fe1759dcdcc34d13d78a77dcfc73e" ], [ "EnumParsing.make_correct", @@ -195,12 +191,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_EnumParsing.pure_validator", "equation_EnumParsing.pure_validator_", - "refinement_interpretation_Tm_refine_e0227620956763aa0703230757ef418a" + "refinement_interpretation_Tm_refine_55b5ab4f9d251479e5f2c546a029fe66" ], 0, - "bc80e33e4e42d8fe09e7dd9e64ae04aa" + "9e485101c2b7aaae4e0de4b0ac2f9de3" ], [ "EnumParsing.validate_Nothing_pure", @@ -210,32 +205,28 @@ [ "@MaxIFuel_assumption", "@query", "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_EnumParsing.Nothing@tok", "equation_EnumParsing.parse_Nothing", "equation_EnumParsing.parser_forget", - "equation_EnumParsing.validate_ok", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Prims.nat", + "equation_EnumParsing.validate_ok", "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_8973909ca14bf7a053df5e3bb1529b81", - "interpretation_Tm_abs_8fe2d4664e5456984f49bb9210978241", - "interpretation_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", + "interpretation_Tm_abs_0304c8987a6fbc13bda52ca5c9856ab3", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", "typing_FStar.Seq.Base.length", "typing_tok_EnumParsing.Nothing@tok" ], 0, - "d5b7729fa8ac007118498ea6353c6558" + "7cd2a39ea7bce09bbcab7462722ecebc" ], [ "EnumParsing.validate_OneNum_pure", @@ -244,37 +235,29 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_ab9ce7708c6e76653e2fb989463d42e1", + "EnumParsing_interpretation_Tm_arrow_ea6ff306de64fab5d401f66813f858a6", "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "IntegerParsing_interpretation_Tm_arrow_f0f511e060d606d7cecde70dde28dcf2", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_EnumParsing.Nothing@tok", "equation_EnumParsing.parse_OneNum", "equation_EnumParsing.parser_forget", "equation_EnumParsing.validate_ok", - "equation_FStar.UInt32.n_minus_one", "equation_IntegerParsing.parse_u32", "equation_Parsing.and_then", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_EnumParsing.parse_OneNum", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_338f40c862088dd0f6f5a3300abd3638", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_7acd659b5c854331379edeacd66b4f53", - "interpretation_Tm_abs_80411679d7e2fe8a402b68e8ff367244", - "interpretation_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", + "function_token_typing_IntegerParsing.parse_u32", "int_inversion", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_8f6fe877a112d978e41245f3fd1fab06", + "interpretation_Tm_abs_ce5e1823ee05c64429dc8dc835421505", + "interpretation_Tm_abs_f7f49325f207e096ad37e733758ed378", "kinding_EnumParsing.numbers@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", @@ -285,17 +268,21 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", "token_correspondence_IntegerParsing.parse_u32", + "typing_EnumParsing.parse_OneNum", "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", + "typing_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "typing_Tm_abs_f7f49325f207e096ad37e733758ed378", "typing_tok_EnumParsing.Nothing@tok" ], 0, - "f16eba59dfb0545acc29b6d49d16eaef" + "79e5ed2191e93085ed30d4da4dccbe1c" ], [ "EnumParsing.validate_TwoNums_pure", @@ -304,16 +291,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_ab9ce7708c6e76653e2fb989463d42e1", + "EnumParsing_interpretation_Tm_arrow_ea6ff306de64fab5d401f66813f858a6", "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_EnumParsing.Nothing@tok", @@ -325,15 +309,16 @@ "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5e30cde4e5f399d2bd1b1af837bfe23a", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_995cb194c95044a4d819729169e5fe9b", - "interpretation_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", - "interpretation_Tm_abs_dfd9df3e52aa43135225ec3d28bebd57", - "interpretation_Tm_abs_f947c31d49136460098642b254f2db75", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_1a2d1364b4ef6a69b3426ad0fd95c303", + "interpretation_Tm_abs_3fa8fc3be00308febaf695b994447bac", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_9350c6c4636f88dd11b4f6aa41a0d5e6", + "interpretation_Tm_abs_a7c1c0da61522d7d94d89b6033582179", + "kinding_EnumParsing.numbers@tok", + "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -345,16 +330,23 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "token_correspondence_IntegerParsing.parse_u32", - "typing_EnumParsing.parse_TwoNums", "typing_FStar.Seq.Base.length", - "typing_tok_EnumParsing.Nothing@tok", "unit_typing" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_cc2820de02faf2db0f8980767ada8401", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "typing_EnumParsing.parse_TwoNums", + "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_FStar.Seq.Base.length", "typing_IntegerParsing.parse_u32", + "typing_Tm_abs_3fa8fc3be00308febaf695b994447bac", + "typing_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "typing_tok_EnumParsing.Nothing@tok" ], 0, - "799c665bd86f8e5636258dda5357a5de" + "82e85c22a4522f48bcddb54d4394b000" ], [ "EnumParsing.validate_numbers_data_pure", @@ -363,24 +355,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_EnumParsing.make_correct", - "equation_EnumParsing.parse_Nothing", - "equation_EnumParsing.parse_OneNum", - "equation_EnumParsing.parse_TwoNums", + "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", + "equality_tok_EnumParsing.Nothing@tok", "equation_EnumParsing.parse_numbers_data", "equation_EnumParsing.parser_forget", - "equation_EnumParsing.pure_validator", "equation_EnumParsing.pure_validator_", - "equation_EnumParsing.validate_Nothing_pure", - "equation_EnumParsing.validate_OneNum_pure", - "equation_EnumParsing.validate_TwoNums_pure", - "function_token_typing_EnumParsing.validate_Nothing_pure", - "function_token_typing_EnumParsing.validate_OneNum_pure", - "function_token_typing_EnumParsing.validate_TwoNums_pure", - "refinement_interpretation_Tm_refine_e0227620956763aa0703230757ef418a" + "refinement_interpretation_Tm_refine_55b5ab4f9d251479e5f2c546a029fe66", + "typing_tok_EnumParsing.Nothing@tok" ], 0, - "d25a07f4606c7cd1be404f343d027a5a" + "ac2cc2662fdba7a31a53973b54d2027c" ], [ "EnumParsing.seq_pure_validate", @@ -389,39 +373,31 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_ab9ce7708c6e76653e2fb989463d42e1", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.None", + "EnumParsing_interpretation_Tm_arrow_ea6ff306de64fab5d401f66813f858a6", + "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_EnumParsing.pure_validator", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", "equation_Prims.nat", - "equation_Serializer.max_entries_to_write", "equation_Slice.byte", - "equation_Slice.bytes", + "equation_EnumParsing.pure_validator", "equation_Prims.nat", + "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_81023981784575d82d8f679705b94012", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7df9fca9c378261111c55ecd562a6fde", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_cc2820de02faf2db0f8980767ada8401", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_kinding_Tm_refine_cc2820de02faf2db0f8980767ada8401", + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length" ], 0, - "05a5d5aad2ac44fcb9c24e602fa4aadd" + "3cad15ddf6302177db2676dcf345ca08" ], [ "EnumParsing.lemma_seq_pure_validate_A2_ok", @@ -430,9 +406,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_ab9ce7708c6e76653e2fb989463d42e1", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "EnumParsing_interpretation_Tm_arrow_ea6ff306de64fab5d401f66813f858a6", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -442,54 +417,45 @@ "equation_EnumParsing.pure_validator", "equation_EnumParsing.pure_validator_", "equation_EnumParsing.seq_pure_validate", - "equation_EnumParsing.validate_ok", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", - "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes", "equation_Parsing.bytes32", - "equation_Parsing.parser", "equation_Prims.nat", - "equation_Serializer.max_entries_to_write", "equation_Slice.byte", - "equation_Slice.bytes", + "equation_EnumParsing.validate_ok", "equation_Parsing.and_then", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", - "int_inversion", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_6ae52251a5a8d790d8b0d4104a9a8846", - "interpretation_Tm_abs_8646c69327c66c806947a8b0d54f54e0", - "interpretation_Tm_abs_d5a8f387647ba6b41afb9e49e60768ad", - "interpretation_Tm_abs_d72e03685bc02e97056d3c32f8be44bf", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "interpretation_Tm_abs_57a8b6408e26f333fe4e5472d48f9059", + "interpretation_Tm_abs_6dc16191ed4e9783df4eba9cfd53a1d7", + "interpretation_Tm_abs_75dbf887edbf86bd8fdaa40dae1f0088", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_947a5129c98fad5ca983c412eac35e84", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e0227620956763aa0703230757ef418a", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55b5ab4f9d251479e5f2c546a029fe66", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_cc2820de02faf2db0f8980767ada8401", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_kinding_Tm_refine_cc2820de02faf2db0f8980767ada8401", "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.v", - "typing_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "typing_Tm_abs_8646c69327c66c806947a8b0d54f54e0" + "typing_Parsing.and_then", + "typing_Tm_abs_6dc16191ed4e9783df4eba9cfd53a1d7", + "typing_Tm_abs_947a5129c98fad5ca983c412eac35e84" ], 0, - "be02f1edfaa426376627ed47fb36bb2c" + "ec3f9a3e7eb34b6f4180448a1e06c55a" ], [ "EnumParsing.then_pure_check", @@ -497,36 +463,31 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Serializer.max_entries_to_write", - "equation_Slice.byte", "equation_Slice.bytes", + "equation_Parsing.byte", "equation_Prims.nat", "equation_Slice.byte", + "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_81023981784575d82d8f679705b94012", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7df9fca9c378261111c55ecd562a6fde", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length" ], 0, - "72a45a3aba2c55441855ef89478d78cc" + "98f3e1ca827307b124e6f10821084a18" ], [ "EnumParsing.lemma_then_pure_check_ok", @@ -535,59 +496,52 @@ 2, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_38362b455f969007ce273dc9da656777", - "EnumParsing_interpretation_Tm_arrow_ab9ce7708c6e76653e2fb989463d42e1", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "EnumParsing_interpretation_Tm_arrow_e2109ff10a45e162e51d352200bbca60", + "EnumParsing_interpretation_Tm_arrow_ea6ff306de64fab5d401f66813f858a6", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_EnumParsing.pure_validator", "equation_EnumParsing.pure_validator_", "equation_EnumParsing.then_pure_check", - "equation_EnumParsing.validate_ok", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", - "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes", "equation_Parsing.bytes32", - "equation_Parsing.parser", "equation_Prims.nat", - "equation_Serializer.max_entries_to_write", "equation_Slice.byte", - "equation_Slice.bytes", + "equation_EnumParsing.validate_ok", "equation_Parsing.and_then", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", - "int_inversion", - "interpretation_Tm_abs_331e7e513bef23086dad502b10ca31f6", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "interpretation_Tm_abs_64efb5103162cd8fb6c4ee0be09cf3dd", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e0227620956763aa0703230757ef418a", + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55b5ab4f9d251479e5f2c546a029fe66", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_kinding_Tm_refine_cc2820de02faf2db0f8980767ada8401", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.v", - "typing_Tm_abs_331e7e513bef23086dad502b10ca31f6" + "typing_Parsing.and_then", + "typing_Tm_abs_64efb5103162cd8fb6c4ee0be09cf3dd" ], 0, - "5181b184b0f7bf08a4a7a2ca483b9935" + "d8b9f4790235824dccd019688b57cdf1" ], [ "EnumParsing.validate_numbers_pure", @@ -596,26 +550,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_38362b455f969007ce273dc9da656777", - "EnumParsing_interpretation_Tm_arrow_596d49b46f7eeaca914515cd76e4099b", - "EnumParsing_interpretation_Tm_arrow_f13b950bfea06fdb3c051b4ad759b5f4", + "EnumParsing_interpretation_Tm_arrow_8ed4c63b93e179ac9c7c2a7cc9c93e50", + "EnumParsing_interpretation_Tm_arrow_d9e1e54d58d48acefc252717fa3d7066", + "EnumParsing_interpretation_Tm_arrow_e2109ff10a45e162e51d352200bbca60", "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", - "Parsing_interpretation_Tm_arrow_93bea50833cfee6e6a0fc3fda481b438", + "Parsing_interpretation_Tm_arrow_9da54ec01a7fb5ae5df45379823bc61c", "equality_tok_EnumParsing.Nothing@tok", "equation_EnumParsing.numbers_tag", "equation_EnumParsing.parse_numbers", "equation_EnumParsing.parse_numbers_tag", - "function_token_typing_EnumParsing.numbers_tag", "function_token_typing_EnumParsing.parse_numbers_data", "function_token_typing_EnumParsing.validate_numbers_data_pure", "kinding_EnumParsing.numbers@tok", "lemma_EnumParsing.lemma_then_pure_check_ok", + "refinement_kinding_Tm_refine_cf7790351aeae149a69efde61bf62c74", "token_correspondence_EnumParsing.parse_numbers_data", "typing_EnumParsing.parse_numbers_tag", "typing_tok_EnumParsing.Nothing@tok" ], 0, - "880dc20c221d1bf1efad846d6a49853d" + "23da0742e9c9410bf0b0bb41de72ae7e" ], [ "EnumParsing.parse_numbers_tag_st", @@ -623,71 +577,62 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_EnumParsing.numbers_tag", "equation_EnumParsing.parse_numbers_tag", - "equation_FStar.Buffer.as_seq", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.live", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.lt", "equation_IntegerParsing.parse_u8", - "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Parsing.fail_parser", - "equation_Parsing.parser", "equation_Prims.nat", - "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Parsing.and_then", "equation_Parsing.fail_parser", + "equation_Parsing.parser", "equation_Slice.as_seq", + "equation_Slice.byte", "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_EnumParsing.numbers_tag", "function_token_typing_FStar.Ghost.reveal", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_a1a935749bc20ff9cbfd2b4c6fa3cff0", - "interpretation_Tm_abs_c3b2610ebc1fec0bb39d72aa640766b0", - "interpretation_Tm_abs_d9beb146212d1dfac748c8b501095af8", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_4937d8087b14b5f8e915731dc662c9d5", + "interpretation_Tm_abs_59e05faff0b48eaf6593f0b7ed5434a4", + "interpretation_Tm_abs_5b252fd22c23135b55a1d30d5a4eec7d", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pervasives.invertOption", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.mem_empty", + "lemma_FStar.UInt8.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", - "projection_inverse_BoxBool_proj_0", + "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_cf7790351aeae149a69efde61bf62c74", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_IntegerParsing.parse_u8", - "typing_EnumParsing.parse_numbers_tag", "typing_FStar.Map.contains", + "typing_EnumParsing.parse_numbers_tag", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.UInt32.v", "typing_FStar.UInt8.v", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len" + "typing_IntegerParsing.parse_u8", "typing_Parsing.parser" ], 0, - "6d71486957a3286ba1bb0de03018c042" + "bd26a8800e6f1964351b9279c363fc66" ], [ "EnumParsing.parse_numbers_tag_st_nochk", @@ -696,9 +641,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Tm_unit", "data_elim_FStar.Monotonic.HyperStack.MkRef", @@ -735,15 +679,12 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_EnumParsing.numbers_tag", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u8", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_a1a935749bc20ff9cbfd2b4c6fa3cff0", - "interpretation_Tm_abs_c3b2610ebc1fec0bb39d72aa640766b0", - "interpretation_Tm_abs_d9beb146212d1dfac748c8b501095af8", + "function_token_typing_FStar.UInt8.t", "int_typing", + "interpretation_Tm_abs_4937d8087b14b5f8e915731dc662c9d5", + "interpretation_Tm_abs_59e05faff0b48eaf6593f0b7ed5434a4", + "interpretation_Tm_abs_5b252fd22c23135b55a1d30d5a4eec7d", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", @@ -762,16 +703,16 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a30a36ef815dc8338d550ebc52c5605e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f8efa8b64e52ff41c5dfd18081c01dc1", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_72f82646e97a904ed812a709f7fca373", + "refinement_interpretation_Tm_refine_7b67e6321fd949651c483b0f7df13da2", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_cf7790351aeae149a69efde61bf62c74", "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_IntegerParsing.parse_u8", "typing_EnumParsing.parse_numbers_tag", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", @@ -783,38 +724,12 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", "typing_FStar.UInt8.v", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_IntegerParsing.parse_u8", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "a138c036af51318d6e5a4284421b0825" - ], - [ - "EnumParsing.parse_numbers_tag_st_nochk", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Parsing.byte", - "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", - "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" - ], - 0, - "7c7b7a3be22cf60a125062f116af551e" + "335d675201b077d5cc425a95d794f88d" ], [ "EnumParsing.check_length", @@ -827,7 +742,7 @@ "proj_equation_Slice.BSlice_len", "projection_inverse_BoxBool_proj_0" ], 0, - "772205895e23aeead4fdecf3620a3084" + "0c5ddf1fc4c4d57c80b1d2a98168b8ac" ], [ "EnumParsing.validate_Nothing", @@ -836,8 +751,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", @@ -857,16 +771,13 @@ "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "equation_Slice.as_seq", "equation_Slice.byte", "equation_Slice.lbuffer", "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_8973909ca14bf7a053df5e3bb1529b81", - "interpretation_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", + "function_token_typing_FStar.UInt8.t", "int_typing", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", "kinding_EnumParsing.numbers@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -889,11 +800,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Ghost.reveal", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.length", "typing_FStar.Map.concat", @@ -904,11 +815,11 @@ "typing_FStar.UInt32.v", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", - "typing_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", + "typing_Tm_abs_706a4a6db71082511cfaae439e2137ff", "typing_tok_EnumParsing.Nothing@tok" ], 0, - "5f1bd2d42e79d171201e2c88630e1596" + "4f3d88bb68046a6b283608ec0b34349d" ], [ "EnumParsing.validate_OneNum", @@ -919,9 +830,8 @@ "@MaxIFuel_assumption", "@query", "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", @@ -944,17 +854,16 @@ "equation_IntegerParsing.parse_u32", "equation_Parsing.and_then", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", - "equation_Prims.nat", "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.as_seq", "equation_Slice.byte", "equation_Slice.lbuffer", "equation_Slice.live", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_338f40c862088dd0f6f5a3300abd3638", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_7acd659b5c854331379edeacd66b4f53", - "interpretation_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", + "function_token_typing_FStar.UInt8.t", "int_typing", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_8f6fe877a112d978e41245f3fd1fab06", + "interpretation_Tm_abs_ce5e1823ee05c64429dc8dc835421505", "kinding_EnumParsing.numbers@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -981,15 +890,16 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Ghost.reveal", "token_correspondence_IntegerParsing.parse_u32", + "typing_EnumParsing.parse_OneNum", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", @@ -1002,11 +912,11 @@ "typing_FStar.Set.mem", "typing_FStar.UInt32.v", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", - "typing_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", + "typing_Tm_abs_706a4a6db71082511cfaae439e2137ff", "typing_tok_EnumParsing.Nothing@tok" ], 0, - "1d71b28a876ccbff87f960028323c38c" + "8cbcc186bce8749595df6a51346a3d86" ], [ "EnumParsing.validate_TwoNums", @@ -1016,13 +926,15 @@ [ "@MaxIFuel_assumption", "@query", "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", + "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", + "constructor_distinct_FStar.Pervasives.Native.option", + "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_EnumParsing.Nothing@tok", @@ -1032,6 +944,7 @@ "equation_FStar.Buffer.live", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.Kremlin.Endianness.bytes", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", @@ -1050,14 +963,12 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_5e30cde4e5f399d2bd1b1af837bfe23a", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_995cb194c95044a4d819729169e5fe9b", - "interpretation_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", - "interpretation_Tm_abs_f947c31d49136460098642b254f2db75", + "function_token_typing_FStar.UInt8.t", "int_typing", + "interpretation_Tm_abs_1a2d1364b4ef6a69b3426ad0fd95c303", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_9350c6c4636f88dd11b4f6aa41a0d5e6", + "interpretation_Tm_abs_a7c1c0da61522d7d94d89b6033582179", "kinding_EnumParsing.numbers@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -1085,17 +996,16 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_IntegerParsing.parse_u32", "typing_EnumParsing.parse_TwoNums", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", @@ -1106,16 +1016,18 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.slice", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.UInt32.v", "typing_Parsing.parser", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.Set.mem", "typing_FStar.UInt32.v", + "typing_IntegerParsing.parse_u32", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", - "typing_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", - "typing_tok_EnumParsing.Nothing@tok" + "typing_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "typing_Tm_abs_898692807cc82957fc188d1a18e680c4", + "typing_tok_EnumParsing.Nothing@tok", "unit_typing" ], 0, - "3e308ab8a45ea531df6763a61edfad96" + "77ef25e808474c20ced1ce8c04ce27cf" ], [ "EnumParsing.validate_numbers_data", @@ -1127,7 +1039,7 @@ "equation_Parsing.parser" ], 0, - "5be3a6f54750dbeb3ab478d56a1aa8cf" + "850e05e6d6cab7d0e2e1eb8ce9521d39" ], [ "EnumParsing.coerce_validator", @@ -1135,11 +1047,7 @@ 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -1149,16 +1057,13 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Parsing.byte", - "equation_Parsing.bytes", "equation_Parsing.bytes32", - "equation_Parsing.parser", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.lbuffer", - "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Ghost.reveal", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -1167,16 +1072,16 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_57961dfcb8a781355c1613eebf5c7dff", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_interpretation_Tm_refine_e8403adb54d4844b1d2548b431a9be37", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", - "typing_FStar.Buffer.as_seq", + "typing_FStar.Buffer.as_seq", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", @@ -1186,7 +1091,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "ec19ad90604699dfa3f91c2fc51ab423" + "f35a02e7ebe6888b6ac5a15652f1b11a" ], [ "EnumParsing.and_check", @@ -1197,14 +1102,16 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_54aa9a6abefc706c9471366116678213", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_93bea50833cfee6e6a0fc3fda481b438", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.Ghost_interpretation_Tm_ghost_arrow_b6961896be4aa232ab9751554f65807f", + "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Parsing_interpretation_Tm_arrow_9da54ec01a7fb5ae5df45379823bc61c", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Pervasives.Native.option", + "constructor_distinct_Prims.unit", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", @@ -1236,17 +1143,15 @@ "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "equation_Slice.advance_slice", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.bytes", - "equation_Slice.lbuffer", "equation_Slice.live", + "equation_Slice.byte", "equation_Slice.lbuffer", + "equation_Slice.live", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Ghost.reveal", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", @@ -1263,8 +1168,8 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", @@ -1276,6 +1181,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_content", + "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -1286,22 +1192,23 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_7ce862849ae2e4729232389a08121b03", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_92f4aa4b109ec408523e8bc7df2a862a", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_kinding_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", @@ -1312,7 +1219,6 @@ "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -1320,14 +1226,16 @@ "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_Parsing.and_then", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.Set.mem", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_Parsing.and_then", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", - "typing_Slice.as_seq" + "unit_typing" ], 0, - "d6127d6b615fe521c12196d75a42c4ab" + "322951edef79dd17d6db115977d74a9d" ], [ "EnumParsing.encode_numbers_tag", @@ -1335,18 +1243,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_EnumParsing.numbers_tag", "equation_Prims.nat", - "equation_Slice.byte", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "@MaxIFuel_assumption", "@query", "equation_EnumParsing.numbers_tag", + "equation_Prims.nat", "equation_Slice.byte", + "function_token_typing_FStar.UInt8.t", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8553e5f4bdd23d50f7ac0487da75fb38", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf7790351aeae149a69efde61bf62c74" ], 0, - "2a4f1f5cd00f2ad66e2627bf7de72e8e" + "8f2f0d09032766ffdd9f254839d2fef2" ], [ "EnumParsing.encode_Nothing", @@ -1355,7 +1261,7 @@ 1, [ "@query" ], 0, - "b64e9037e27667bb2debfa58df7883c8" + "f2057a20113b198606e8309b1dc59c82" ], [ "EnumParsing.encode_OneNum", @@ -1364,7 +1270,7 @@ 1, [ "@query", "equation_FStar.UInt8.byte", "equation_Slice.byte" ], 0, - "9fe85089c24c227eba5549328ccc8d58" + "2d9a12ec8f021f84d5e35f8e16388b85" ], [ "EnumParsing.encode_TwoNums", @@ -1374,15 +1280,17 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Kremlin.Endianness.bytes", - "equation_IntegerParsing.encode_u32", "equation_Slice.byte", - "function_token_typing_FStar.UInt8.t", - "lemma_FStar.Seq.Base.lemma_len_append", + "equation_IntegerParsing.encode_u32", "equation_Prims.nat", + "equation_Slice.byte", "function_token_typing_FStar.UInt8.t", + "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5e364155df21f0226cecbe41d10a4509", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_IntegerParsing.encode_u32" ], 0, - "c19ca747cbe1b88558ac947f9d28f31b" + "181f4f958539060168276130da6153cb" ], [ "EnumParsing.encode_numbers_data", @@ -1397,7 +1305,7 @@ "fuel_guarded_inversion_EnumParsing.numbers" ], 0, - "24afb7e58c8e20c2326902898f35e736" + "b95c41b6ba1907e7099ef891b61ee3a9" ], [ "EnumParsing.ser_Nothing", @@ -1406,8 +1314,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1443,9 +1349,8 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "l_and-interp", "lemma_FStar.Buffer.lemma_modifies_sub_1", + "function_token_typing_FStar.UInt8.t", "int_typing", "l_and-interp", + "lemma_FStar.Buffer.lemma_modifies_sub_1", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Seq.Properties.slice_is_empty", @@ -1469,16 +1374,16 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_481255d05c2774ac30bb6f6f38d094c9", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_92c2d2165b7e8b740babaf9b8bbb5e03", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_09e046c90fafe76dab7682660ed32bac", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_dc8a9e9dc0f2fc6141a17a796446a42b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_EnumParsing.encode_Nothing", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__length", @@ -1493,7 +1398,7 @@ "typing_Slice.bslice_split_at" ], 0, - "87911c4252439fe36e3524b5dfb74eeb" + "fb1116d6081604ce54c75e6104623a0e" ], [ "EnumParsing.ser_TwoNums", @@ -1502,31 +1407,30 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "equation_EnumParsing.encode_TwoNums", "equation_FStar.Kremlin.Endianness.bytes", - "equation_FStar.Monotonic.HyperStack.mem", "equation_IntegerParsing.encode_u32", "equation_Serializing.disjoint_from", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", + "function_token_typing_FStar.TSet.union", "function_token_typing_FStar.UInt8.t", "kinding_Slice.bslice@tok", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", "lemma_FStar.TSet.mem_union", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", - "refinement_interpretation_Tm_refine_0659ff967d6690e9071d2e049fe4774e", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_5e364155df21f0226cecbe41d10a4509", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", + "refinement_interpretation_Tm_refine_87eea2685b59711bb2e2b86e59ac3ffb", "token_correspondence_FStar.TSet.union", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", "typing_FStar.Seq.Base.append", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", "typing_IntegerParsing.encode_u32" ], 0, - "482289cec6edcb07439760aef6234ae2" + "8c3b3cbe179c3256e9da5beb8cd417ce" ], [ "EnumParsing.ser_TwoNums'", @@ -1536,16 +1440,15 @@ [ "@MaxIFuel_assumption", "@query", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Serializing.disjoint_from", "fuel_guarded_inversion_Slice.bslice", "kinding_Slice.bslice@tok", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "typing_FStar.TSet.empty", "typing_FStar.TSet.set" ], 0, - "231cf996e3a1cfb7c232d5c5128d4c72" + "cce32f01e80e1920b0dd9c609fa8c78a" ], [ "EnumParsing.ser_numbers_data", @@ -1569,7 +1472,7 @@ "projection_inverse_EnumParsing.TwoNums_n" ], 0, - "e7ea3e2735c72326613135a494410797" + "a883daea98ce455fc58ccbb969bf39f0" ], [ "EnumParsing.ser_numbers_data'", @@ -1582,17 +1485,16 @@ "disc_equation_EnumParsing.Nothing", "disc_equation_EnumParsing.OneNum", "disc_equation_EnumParsing.TwoNums", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Serializing.disjoint_from", "fuel_guarded_inversion_EnumParsing.numbers", "fuel_guarded_inversion_Slice.bslice", "kinding_Slice.bslice@tok", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "typing_FStar.TSet.empty", "typing_FStar.TSet.set" ], 0, - "26543091a47cc1bba7e15df556274367" + "a4acbf4d601f03c9dc33c94c06b67608" ], [ "EnumParsing.ser_numbers_data2", @@ -1605,17 +1507,16 @@ "disc_equation_EnumParsing.Nothing", "disc_equation_EnumParsing.OneNum", "disc_equation_EnumParsing.TwoNums", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Serializing.disjoint_from", "fuel_guarded_inversion_EnumParsing.numbers", "fuel_guarded_inversion_Slice.bslice", "kinding_Slice.bslice@tok", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "typing_FStar.TSet.empty", "typing_FStar.TSet.set" ], 0, - "375a64f73fd8e522e196f36f3ec18a6f" + "ed79895bc2b91ea69aa178cc3995401d" ], [ "EnumParsing.ser_numbers", @@ -1624,24 +1525,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "equation_EnumParsing.encode_numbers", "equation_EnumParsing.encode_numbers_tag", "equation_FStar.Kremlin.Endianness.bytes", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Serializing.disjoint_from", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", - "kinding_Slice.bslice@tok", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "lemma_FStar.TSet.mem_union", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", - "refinement_interpretation_Tm_refine_0659ff967d6690e9071d2e049fe4774e", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", + "function_token_typing_FStar.TSet.union", "kinding_Slice.bslice@tok", + "l_or-interp", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.TSet.mem_empty", "lemma_FStar.TSet.mem_union", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_de1cec5c540bb7dee824e05ea76d5280", + "refinement_interpretation_Tm_refine_87eea2685b59711bb2e2b86e59ac3ffb", + "refinement_interpretation_Tm_refine_cb0d6801c290eacaf3b2368e628aea8f", "token_correspondence_FStar.TSet.union", "typing_EnumParsing.encode_numbers", "typing_EnumParsing.encode_numbers_data", @@ -1651,7 +1550,7 @@ "typing_FStar.TSet.set" ], 0, - "9a7729a279129d0be463b7d2a9781b3e" + "9af7194b90c9b5d598ef0c1d1eec48d8" ], [ "EnumParsing.numbers", @@ -1660,7 +1559,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "bcd7d8b0891ac6beb9a0b6075b450811" + "6ef8fdbec76b1ab27d9ab0d9f996d179" ], [ "EnumParsing.__proj__OneNum__item__n", @@ -1673,7 +1572,7 @@ "refinement_interpretation_Tm_refine_4f83c2c575e4b9df7e99e95590ac6726" ], 0, - "917c51ab426002776d3053d28aafc98f" + "1d510ffad4a3e146727374674b023172" ], [ "EnumParsing.__proj__TwoNums__item__n", @@ -1687,7 +1586,7 @@ "refinement_interpretation_Tm_refine_f7b177f0e5c9dfa961ddcd32747ed85b" ], 0, - "ce4dd386ef00fbcfc9acfca5d345975b" + "3f904e584617f32ec8a524b55ae41e33" ], [ "EnumParsing.__proj__TwoNums__item__m", @@ -1701,7 +1600,7 @@ "refinement_interpretation_Tm_refine_f7b177f0e5c9dfa961ddcd32747ed85b" ], 0, - "b69f12f814cef49934e6900cb68cbc5f" + "6d4055a6528504df1f78c52f66356b9c" ], [ "EnumParsing.numbers_tag_val", @@ -1716,7 +1615,7 @@ "fuel_guarded_inversion_EnumParsing.numbers" ], 0, - "21aef99bd405179820a4859462ad4599" + "fe6b5d04eeaafd802d5ef080f0743bcb" ], [ "EnumParsing.parse_numbers_tag", @@ -1724,23 +1623,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt8.lt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt8.lt", "int_inversion", "int_typing", + "lemma_FStar.UInt8.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt8.v" ], 0, - "f90b3db94ea64a51d677a930eb3b522c" + "4bebe31880e6b270c4ece70dc5af4566" ], [ "EnumParsing.parse_Nothing", @@ -1754,7 +1650,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0b184d8e55b729ffa584c4edd773d65a" + "08dd0bee717350b8f0d5328bebba5374" ], [ "EnumParsing.parse_OneNum", @@ -1768,7 +1664,7 @@ "projection_inverse_EnumParsing.OneNum_n" ], 0, - "a69a33d59011cba04991b7f865ae9df2" + "675369dc8ac07b9d286e1261fd28e028" ], [ "EnumParsing.parse_TwoNums", @@ -1783,7 +1679,7 @@ "projection_inverse_EnumParsing.TwoNums_n" ], 0, - "8dbd39838e94181fdf877b928f401deb" + "dc2af647b1f433ec1a228fc155e850a5" ], [ "EnumParsing.parser_forget", @@ -1792,15 +1688,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_Parsing.byte", "equation_Parsing.bytes32", - "equation_Parsing.parser", "equation_Prims.nat", + "equation_Parsing.parser", "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "0dc6e951b4cf10c1b4c7f2d3458b0689" + "55ee40ab5046220f82b14f73c7ace2e3" ], [ "EnumParsing.validate_ok", @@ -1809,15 +1704,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_ab9ce7708c6e76653e2fb989463d42e1", + "EnumParsing_interpretation_Tm_arrow_ea6ff306de64fab5d401f66813f858a6", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_EnumParsing.pure_validator", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", - "fuel_guarded_inversion_FStar.Pervasives.Native.option" + "equation_Slice.byte", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3" ], 0, - "620583ed27efcd3386b817d8561783f9" + "31c668d2f2407da6efad7462d43a9346" ], [ "EnumParsing.make_correct", @@ -1826,12 +1722,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_EnumParsing.pure_validator", "equation_EnumParsing.pure_validator_", - "refinement_interpretation_Tm_refine_e0227620956763aa0703230757ef418a" + "refinement_interpretation_Tm_refine_55b5ab4f9d251479e5f2c546a029fe66" ], 0, - "74d337071c406847ed02030b19ccfe69" + "cfbda801627e23b7b959b229018b49a8" ], [ "EnumParsing.validate_Nothing_pure", @@ -1841,32 +1736,28 @@ [ "@MaxIFuel_assumption", "@query", "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_EnumParsing.Nothing@tok", "equation_EnumParsing.parse_Nothing", "equation_EnumParsing.parser_forget", - "equation_EnumParsing.validate_ok", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Prims.nat", + "equation_EnumParsing.validate_ok", "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_8973909ca14bf7a053df5e3bb1529b81", - "interpretation_Tm_abs_8fe2d4664e5456984f49bb9210978241", - "interpretation_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", + "interpretation_Tm_abs_0304c8987a6fbc13bda52ca5c9856ab3", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", "typing_FStar.Seq.Base.length", "typing_tok_EnumParsing.Nothing@tok" ], 0, - "c5745b816322c72354178a98d1fc4769" + "2e0526c2f5c0fee71b1862b8fed8d33b" ], [ "EnumParsing.validate_OneNum_pure", @@ -1875,37 +1766,29 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_ab9ce7708c6e76653e2fb989463d42e1", + "EnumParsing_interpretation_Tm_arrow_ea6ff306de64fab5d401f66813f858a6", "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "IntegerParsing_interpretation_Tm_arrow_f0f511e060d606d7cecde70dde28dcf2", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_EnumParsing.Nothing@tok", "equation_EnumParsing.parse_OneNum", "equation_EnumParsing.parser_forget", "equation_EnumParsing.validate_ok", - "equation_FStar.UInt32.n_minus_one", "equation_IntegerParsing.parse_u32", "equation_Parsing.and_then", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_EnumParsing.parse_OneNum", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_338f40c862088dd0f6f5a3300abd3638", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_7acd659b5c854331379edeacd66b4f53", - "interpretation_Tm_abs_80411679d7e2fe8a402b68e8ff367244", - "interpretation_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", + "function_token_typing_IntegerParsing.parse_u32", "int_inversion", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_8f6fe877a112d978e41245f3fd1fab06", + "interpretation_Tm_abs_ce5e1823ee05c64429dc8dc835421505", + "interpretation_Tm_abs_f7f49325f207e096ad37e733758ed378", "kinding_EnumParsing.numbers@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", @@ -1916,17 +1799,21 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", "token_correspondence_IntegerParsing.parse_u32", + "typing_EnumParsing.parse_OneNum", "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", + "typing_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "typing_Tm_abs_f7f49325f207e096ad37e733758ed378", "typing_tok_EnumParsing.Nothing@tok" ], 0, - "3d475ba0d755dcb850bde7d5c8c4ac9c" + "f05c8a08d6ad800abaae13f7b9c04164" ], [ "EnumParsing.validate_TwoNums_pure", @@ -1935,16 +1822,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_ab9ce7708c6e76653e2fb989463d42e1", + "EnumParsing_interpretation_Tm_arrow_ea6ff306de64fab5d401f66813f858a6", "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_EnumParsing.Nothing@tok", @@ -1956,15 +1840,16 @@ "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5e30cde4e5f399d2bd1b1af837bfe23a", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_995cb194c95044a4d819729169e5fe9b", - "interpretation_Tm_abs_cf0d2900e4d1757cf23b8f5d252875b3", - "interpretation_Tm_abs_dfd9df3e52aa43135225ec3d28bebd57", - "interpretation_Tm_abs_f947c31d49136460098642b254f2db75", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_1a2d1364b4ef6a69b3426ad0fd95c303", + "interpretation_Tm_abs_3fa8fc3be00308febaf695b994447bac", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_9350c6c4636f88dd11b4f6aa41a0d5e6", + "interpretation_Tm_abs_a7c1c0da61522d7d94d89b6033582179", + "kinding_EnumParsing.numbers@tok", + "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -1976,16 +1861,23 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "token_correspondence_IntegerParsing.parse_u32", - "typing_EnumParsing.parse_TwoNums", "typing_FStar.Seq.Base.length", - "typing_tok_EnumParsing.Nothing@tok", "unit_typing" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_cc2820de02faf2db0f8980767ada8401", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "typing_EnumParsing.parse_TwoNums", + "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_FStar.Seq.Base.length", "typing_IntegerParsing.parse_u32", + "typing_Tm_abs_3fa8fc3be00308febaf695b994447bac", + "typing_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "typing_tok_EnumParsing.Nothing@tok" ], 0, - "5d0c22f1233cbbee2e90b0c3bb0ef0b1" + "20c92315f5075ff1f25934c900216bab" ], [ "EnumParsing.validate_numbers_data_pure", @@ -1994,24 +1886,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_EnumParsing.make_correct", - "equation_EnumParsing.parse_Nothing", - "equation_EnumParsing.parse_OneNum", - "equation_EnumParsing.parse_TwoNums", + "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", + "equality_tok_EnumParsing.Nothing@tok", "equation_EnumParsing.parse_numbers_data", "equation_EnumParsing.parser_forget", - "equation_EnumParsing.pure_validator", "equation_EnumParsing.pure_validator_", - "equation_EnumParsing.validate_Nothing_pure", - "equation_EnumParsing.validate_OneNum_pure", - "equation_EnumParsing.validate_TwoNums_pure", - "function_token_typing_EnumParsing.validate_Nothing_pure", - "function_token_typing_EnumParsing.validate_OneNum_pure", - "function_token_typing_EnumParsing.validate_TwoNums_pure", - "refinement_interpretation_Tm_refine_e0227620956763aa0703230757ef418a" + "refinement_interpretation_Tm_refine_55b5ab4f9d251479e5f2c546a029fe66", + "typing_tok_EnumParsing.Nothing@tok" ], 0, - "1b557bad2cbfde3e64effaebece70324" + "3816c2730cbf4de179d902ae897f56b1" ], [ "EnumParsing.seq_pure_validate", @@ -2020,39 +1904,31 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_ab9ce7708c6e76653e2fb989463d42e1", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.None", + "EnumParsing_interpretation_Tm_arrow_ea6ff306de64fab5d401f66813f858a6", + "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_EnumParsing.pure_validator", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", "equation_Prims.nat", - "equation_Serializer.max_entries_to_write", "equation_Slice.byte", - "equation_Slice.bytes", + "equation_EnumParsing.pure_validator", "equation_Prims.nat", + "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_81023981784575d82d8f679705b94012", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7df9fca9c378261111c55ecd562a6fde", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_cc2820de02faf2db0f8980767ada8401", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_kinding_Tm_refine_cc2820de02faf2db0f8980767ada8401", + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length" ], 0, - "d992847a376cdc48fe02c21343ae9d8d" + "7bf9006f2986a6ffb95b370fa5959be5" ], [ "EnumParsing.then_pure_check", @@ -2060,36 +1936,31 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Serializer.max_entries_to_write", - "equation_Slice.byte", "equation_Slice.bytes", + "equation_Parsing.byte", "equation_Prims.nat", "equation_Slice.byte", + "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_81023981784575d82d8f679705b94012", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7df9fca9c378261111c55ecd562a6fde", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length" ], 0, - "4b4505e27a6c915d77c00d3f42b68e99" + "99e078015b2e9fbc4fe3ede1b88d9ff7" ], [ "EnumParsing.validate_numbers_pure", @@ -2098,26 +1969,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "EnumParsing_interpretation_Tm_arrow_38362b455f969007ce273dc9da656777", - "EnumParsing_interpretation_Tm_arrow_596d49b46f7eeaca914515cd76e4099b", - "EnumParsing_interpretation_Tm_arrow_f13b950bfea06fdb3c051b4ad759b5f4", + "EnumParsing_interpretation_Tm_arrow_8ed4c63b93e179ac9c7c2a7cc9c93e50", + "EnumParsing_interpretation_Tm_arrow_d9e1e54d58d48acefc252717fa3d7066", + "EnumParsing_interpretation_Tm_arrow_e2109ff10a45e162e51d352200bbca60", "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", - "Parsing_interpretation_Tm_arrow_93bea50833cfee6e6a0fc3fda481b438", + "Parsing_interpretation_Tm_arrow_9da54ec01a7fb5ae5df45379823bc61c", "equality_tok_EnumParsing.Nothing@tok", "equation_EnumParsing.numbers_tag", "equation_EnumParsing.parse_numbers", "equation_EnumParsing.parse_numbers_tag", - "function_token_typing_EnumParsing.numbers_tag", "function_token_typing_EnumParsing.parse_numbers_data", "function_token_typing_EnumParsing.validate_numbers_data_pure", "kinding_EnumParsing.numbers@tok", "lemma_EnumParsing.lemma_then_pure_check_ok", + "refinement_kinding_Tm_refine_cf7790351aeae149a69efde61bf62c74", "token_correspondence_EnumParsing.parse_numbers_data", "typing_EnumParsing.parse_numbers_tag", "typing_tok_EnumParsing.Nothing@tok" ], 0, - "4deffa111c3a4ce4a994989905865985" + "b3ad9a4442167b6bdfdd664e8c3a64bc" ], [ "EnumParsing.parse_numbers_tag_st", @@ -2125,54 +1996,159 @@ 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_EnumParsing.numbers_tag", + "equation_EnumParsing.parse_numbers_tag", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.live", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "equation_FStar.UInt8.lt", "equation_IntegerParsing.parse_u8", + "equation_Parsing.and_then", "equation_Parsing.fail_parser", + "equation_Parsing.parser", "equation_Slice.as_seq", + "equation_Slice.byte", "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", + "function_token_typing_FStar.Ghost.reveal", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_4937d8087b14b5f8e915731dc662c9d5", + "interpretation_Tm_abs_59e05faff0b48eaf6593f0b7ed5434a4", + "interpretation_Tm_abs_5b252fd22c23135b55a1d30d5a4eec7d", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.mem_empty", + "lemma_FStar.UInt8.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_cf7790351aeae149a69efde61bf62c74", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "token_correspondence_FStar.Ghost.reveal", + "typing_EnumParsing.parse_numbers_tag", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_FStar.UInt32.v", "typing_FStar.UInt8.v", + "typing_IntegerParsing.parse_u8", "typing_Parsing.parser" ], 0, - "c6d929aaf5872063c287151522f59243" + "7eac3bc031c8acfd0fcc824dc3034e05" ], [ "EnumParsing.parse_numbers_tag_st_nochk", - 3, + 2, 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Parsing.byte", - "equation_Slice.byte", "equation_Slice.lbuffer", + "@MaxIFuel_assumption", "@query", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Monotonic.HyperStack.MkRef", + "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_EnumParsing.numbers_tag", + "equation_EnumParsing.parse_numbers_tag", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.reference", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.frameOf", + "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_FStar.Monotonic.HyperStack.sel", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt8.lt", "equation_IntegerParsing.parse_u8", + "equation_Parsing.and_then", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Parsing.fail_parser", "equation_Parsing.parser", + "equation_Prims.nat", "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.bytes", "equation_Slice.lbuffer", + "equation_Slice.live", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_4937d8087b14b5f8e915731dc662c9d5", + "interpretation_Tm_abs_59e05faff0b48eaf6593f0b7ed5434a4", + "interpretation_Tm_abs_5b252fd22c23135b55a1d30d5a4eec7d", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.UInt8.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", + "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_72f82646e97a904ed812a709f7fca373", + "refinement_interpretation_Tm_refine_7b67e6321fd949651c483b0f7df13da2", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_cf7790351aeae149a69efde61bf62c74", + "token_correspondence_FStar.Ghost.reveal", + "typing_EnumParsing.parse_numbers_tag", + "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.restrict", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.Set.mem", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.v", "typing_FStar.UInt8.v", + "typing_IntegerParsing.parse_u8", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "a38cd4cfbe8f3ab117c72a1129396c29" + "37c533e47dad653bd28f9c3d826aa475" ], [ "EnumParsing.check_length", @@ -2199,7 +2175,7 @@ "typing_FStar.UInt32.v" ], 0, - "e0fe9fb876ed497a456844041bc4918a" + "8451096c6f2e3761c1bb0aba46bf1c1c" ], [ "EnumParsing.validate_Nothing", @@ -2207,24 +2183,76 @@ 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@MaxIFuel_assumption", "@query", + "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", "b2t_def", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equality_tok_EnumParsing.Nothing@tok", + "equation_EnumParsing.parse_Nothing", + "equation_EnumParsing.parser_forget", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.live", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "equation_Parsing.parser", "equation_Prims.nat", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt8.t", "int_typing", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "kinding_EnumParsing.numbers@tok", "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.Ghost.reveal", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.length", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.UInt32.v", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", + "typing_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "typing_tok_EnumParsing.Nothing@tok" ], 0, - "931f0f6b720e9b83162d9a120ff4fbe7" + "891c993d4d33b532f855460c0be7383b" ], [ "EnumParsing.validate_OneNum", @@ -2232,24 +2260,95 @@ 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@MaxIFuel_assumption", "@query", + "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.Some", + "equality_tok_EnumParsing.Nothing@tok", + "equation_EnumParsing.parse_OneNum", + "equation_EnumParsing.parser_forget", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "equation_IntegerParsing.parse_u32", "equation_Parsing.and_then", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt8.t", "int_typing", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_8f6fe877a112d978e41245f3fd1fab06", + "interpretation_Tm_abs_ce5e1823ee05c64429dc8dc835421505", + "kinding_EnumParsing.numbers@tok", "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.Ghost.reveal", + "typing_EnumParsing.parse_OneNum", + "typing_FStar.Buffer.__proj__MkBuffer__item__idx", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.as_seq", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.Set.mem", "typing_FStar.UInt32.v", + "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", + "typing_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "typing_tok_EnumParsing.Nothing@tok" ], 0, - "940d500137a035d63f53be8a4ec0f156" + "17ac99d2629987a11b801f577870e389" ], [ "EnumParsing.validate_TwoNums", @@ -2257,24 +2356,107 @@ 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@MaxIFuel_assumption", "@query", + "EnumParsing_pretyping_e5874b33a2d944645169b01fb4a5cb03", + "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Pervasives.Native.option", + "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.Some", + "equality_tok_EnumParsing.Nothing@tok", + "equation_EnumParsing.parse_TwoNums", + "equation_EnumParsing.parser_forget", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "equation_IntegerParsing.parse_u32", "equation_Parsing.and_then", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.nat", "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt8.t", "int_typing", + "interpretation_Tm_abs_1a2d1364b4ef6a69b3426ad0fd95c303", + "interpretation_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_9350c6c4636f88dd11b4f6aa41a0d5e6", + "interpretation_Tm_abs_a7c1c0da61522d7d94d89b6033582179", + "kinding_EnumParsing.numbers@tok", "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.Ghost.reveal", + "typing_EnumParsing.parse_TwoNums", + "typing_FStar.Buffer.__proj__MkBuffer__item__idx", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", + "typing_FStar.Map.concat", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Seq.Base.slice", "typing_FStar.Set.complement", + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u32", + "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", + "typing_Tm_abs_706a4a6db71082511cfaae439e2137ff", + "typing_tok_EnumParsing.Nothing@tok", "unit_typing" ], 0, - "85ca675e9e39704b7464b1346729ac66" + "a263db0eacfd95b56b5042ed001bcb5c" ], [ "EnumParsing.validate_numbers_data", @@ -2286,7 +2468,7 @@ "equation_Parsing.parser" ], 0, - "9d8bf146eb2c9ec2a9985033a61d483d" + "f9ea5d64c229a6ea9d4db417029654ac" ], [ "EnumParsing.coerce_validator", @@ -2294,11 +2476,7 @@ 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -2308,16 +2486,13 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Parsing.byte", - "equation_Parsing.bytes", "equation_Parsing.bytes32", - "equation_Parsing.parser", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.lbuffer", - "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Ghost.reveal", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -2326,16 +2501,16 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_57961dfcb8a781355c1613eebf5c7dff", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_interpretation_Tm_refine_e8403adb54d4844b1d2548b431a9be37", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", - "typing_FStar.Buffer.as_seq", + "typing_FStar.Buffer.as_seq", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", @@ -2345,7 +2520,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "669ce99ccf23bd2adc60e72a2cd3845e" + "947570e7512165fbeac47741946244bb" ], [ "EnumParsing.and_check", @@ -2353,17 +2528,18 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_54aa9a6abefc706c9471366116678213", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_93bea50833cfee6e6a0fc3fda481b438", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", + "FStar.Ghost_interpretation_Tm_ghost_arrow_b6961896be4aa232ab9751554f65807f", + "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Parsing_interpretation_Tm_arrow_9da54ec01a7fb5ae5df45379823bc61c", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Pervasives.Native.option", + "constructor_distinct_Prims.unit", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", @@ -2371,8 +2547,8 @@ "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.Buffer.sel", "equation_FStar.Buffer.sub", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.modifies_none", "equation_FStar.HyperStack.ST.mreference", @@ -2404,11 +2580,12 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "int_inversion", "int_typing", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Buffer.lemma_offset_spec", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.Buffer.lemma_sub_spec_", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -2419,13 +2596,13 @@ "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", @@ -2445,57 +2622,54 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_7ce862849ae2e4729232389a08121b03", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_92f4aa4b109ec408523e8bc7df2a862a", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_kinding_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", + "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", "typing_FStar.Ghost.hide", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_Parsing.and_then", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_Parsing.and_then", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", - "typing_Slice.as_seq" + "typing_Slice.as_seq", "unit_typing" ], 0, - "4aa20f5583b7412655d09baa66032eea" - ], - [ - "EnumParsing.validate_numbers", - 1, - 2, - 1, - [ "@query", "equation_EnumParsing.parse_numbers" ], - 0, - "948cd3a8bb829d29702627b7a248f61e" + "8a5100b1880881a0a56e6a062c393af4" ], [ "EnumParsing.encode_numbers_tag", @@ -2503,18 +2677,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_EnumParsing.numbers_tag", "equation_Prims.nat", - "equation_Slice.byte", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "@MaxIFuel_assumption", "@query", "equation_EnumParsing.numbers_tag", + "equation_Prims.nat", "equation_Slice.byte", + "function_token_typing_FStar.UInt8.t", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8553e5f4bdd23d50f7ac0487da75fb38", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf7790351aeae149a69efde61bf62c74" ], 0, - "1f562731580d272d380925037fff76fa" + "6707b8793c4a9fd25cc1e1a2bc1857a8" ], [ "EnumParsing.encode_Nothing", @@ -2523,7 +2695,7 @@ 1, [ "@query" ], 0, - "c3ce14218715588f953a3556d8cd0f34" + "b55c776086a14f4f41119b21048cedea" ], [ "EnumParsing.encode_OneNum", @@ -2532,7 +2704,7 @@ 1, [ "@query", "equation_FStar.UInt8.byte", "equation_Slice.byte" ], 0, - "7d19b394c343728ccf15e8f970fead37" + "cf51344a22da0e17090437cdd6dce615" ], [ "EnumParsing.encode_TwoNums", @@ -2542,15 +2714,17 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Kremlin.Endianness.bytes", - "equation_IntegerParsing.encode_u32", "equation_Slice.byte", - "function_token_typing_FStar.UInt8.t", - "lemma_FStar.Seq.Base.lemma_len_append", + "equation_IntegerParsing.encode_u32", "equation_Prims.nat", + "equation_Slice.byte", "function_token_typing_FStar.UInt8.t", + "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5e364155df21f0226cecbe41d10a4509", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_IntegerParsing.encode_u32" ], 0, - "5f5e6c8d7171553228548992fb2f426d" + "129a28e1b9696aed69db061f6e65e79d" ], [ "EnumParsing.encode_numbers_data", @@ -2565,16 +2739,100 @@ "fuel_guarded_inversion_EnumParsing.numbers" ], 0, - "58c9c88e4978b1e78c9679be5c0a4348" + "c692a4cb4dc535893d0c810af169b833" ], [ "EnumParsing.ser_Nothing", 2, 2, 1, - [ "@query" ], + [ + "@MaxIFuel_assumption", "@query", + "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Monotonic.HyperStack.MkRef", + "data_elim_FStar.Pervasives.Native.Mktuple2", "eq2-interp", + "equation_EnumParsing.encode_Nothing", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.sel", "equation_FStar.Buffer.sub", + "equation_FStar.Heap.trivial_preorder", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.reference", + "equation_FStar.Kremlin.Endianness.bytes", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_Serializing.disjoint_from", + "equation_Serializing.offset_into", + "equation_Serializing.serialized", "equation_Slice.as_seq", + "equation_Slice.bslice_split_at", "equation_Slice.buffer_split_at", + "equation_Slice.buffers_adjacent", "equation_Slice.byte", + "equation_Slice.bytes", "equation_Slice.is_concat_of", + "equation_Slice.lbuffer", "equation_Slice.live", + "equation_Slice.modifies_slice", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Kremlin.Endianness.bytes", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt8.t", "int_typing", "l_and-interp", + "lemma_FStar.Buffer.lemma_modifies_sub_1", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Seq.Properties.slice_is_empty", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_idx", + "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", + "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Buffer.MkBuffer_content", + "projection_inverse_FStar.Buffer.MkBuffer_idx", + "projection_inverse_FStar.Buffer.MkBuffer_max_length", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_Slice.BSlice_p", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_09e046c90fafe76dab7682660ed32bac", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_dc8a9e9dc0f2fc6141a17a796446a42b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_EnumParsing.encode_Nothing", + "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.domain", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v", + "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", + "typing_Slice.bslice_split_at" + ], 0, - "6153460013c0df520bb617b65f49f6af" + "023e21e48fc07d66a12bc9821f7bba26" ], [ "EnumParsing.ser_TwoNums", @@ -2583,31 +2841,30 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "equation_EnumParsing.encode_TwoNums", "equation_FStar.Kremlin.Endianness.bytes", - "equation_FStar.Monotonic.HyperStack.mem", "equation_IntegerParsing.encode_u32", "equation_Serializing.disjoint_from", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", + "function_token_typing_FStar.TSet.union", "function_token_typing_FStar.UInt8.t", "kinding_Slice.bslice@tok", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", "lemma_FStar.TSet.mem_union", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", - "refinement_interpretation_Tm_refine_0659ff967d6690e9071d2e049fe4774e", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_5e364155df21f0226cecbe41d10a4509", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", + "refinement_interpretation_Tm_refine_87eea2685b59711bb2e2b86e59ac3ffb", "token_correspondence_FStar.TSet.union", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", "typing_FStar.Seq.Base.append", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", "typing_IntegerParsing.encode_u32" ], 0, - "3b3239e4fcb09ba8da49e67a6a8b2426" + "5a781c9c056ae77a278fc9cba21cad45" ], [ "EnumParsing.ser_TwoNums'", @@ -2617,16 +2874,15 @@ [ "@MaxIFuel_assumption", "@query", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Serializing.disjoint_from", "fuel_guarded_inversion_Slice.bslice", "kinding_Slice.bslice@tok", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "typing_FStar.TSet.empty", "typing_FStar.TSet.set" ], 0, - "37b2f93965636986f0d932595b6a958c" + "ab2c5d117866a4a2c4eb2576571ce26e" ], [ "EnumParsing.ser_numbers_data", @@ -2660,7 +2916,7 @@ "typing_FStar.UInt32.v" ], 0, - "3ef2a94d9384498ed0fd4c93ccc6a640" + "3c8a043d1c4db5be90ee2f3c7ace441f" ], [ "EnumParsing.ser_numbers_data'", @@ -2673,17 +2929,16 @@ "disc_equation_EnumParsing.Nothing", "disc_equation_EnumParsing.OneNum", "disc_equation_EnumParsing.TwoNums", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Serializing.disjoint_from", "fuel_guarded_inversion_EnumParsing.numbers", "fuel_guarded_inversion_Slice.bslice", "kinding_Slice.bslice@tok", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "typing_FStar.TSet.empty", "typing_FStar.TSet.set" ], 0, - "ff8ad93dfd50864a31f50e5d10be5b21" + "831296ccab48ea2fb56ca56e3fea2ad0" ], [ "EnumParsing.ser_numbers_data2", @@ -2696,17 +2951,16 @@ "disc_equation_EnumParsing.Nothing", "disc_equation_EnumParsing.OneNum", "disc_equation_EnumParsing.TwoNums", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Serializing.disjoint_from", "fuel_guarded_inversion_EnumParsing.numbers", "fuel_guarded_inversion_Slice.bslice", "kinding_Slice.bslice@tok", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "typing_FStar.TSet.empty", "typing_FStar.TSet.set" ], 0, - "eea9f2f2e9ca38b27c941179e7e9eef3" + "891674f2e2c308786187890fc59c3e0b" ], [ "EnumParsing.ser_numbers", @@ -2715,24 +2969,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "equation_EnumParsing.encode_numbers", "equation_EnumParsing.encode_numbers_tag", "equation_FStar.Kremlin.Endianness.bytes", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Serializing.disjoint_from", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", - "kinding_Slice.bslice@tok", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "lemma_FStar.TSet.mem_union", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", - "refinement_interpretation_Tm_refine_0659ff967d6690e9071d2e049fe4774e", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", + "function_token_typing_FStar.TSet.union", "kinding_Slice.bslice@tok", + "l_or-interp", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.TSet.mem_empty", "lemma_FStar.TSet.mem_union", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_de1cec5c540bb7dee824e05ea76d5280", + "refinement_interpretation_Tm_refine_87eea2685b59711bb2e2b86e59ac3ffb", + "refinement_interpretation_Tm_refine_cb0d6801c290eacaf3b2368e628aea8f", "token_correspondence_FStar.TSet.union", "typing_EnumParsing.encode_numbers", "typing_EnumParsing.encode_numbers_data", @@ -2742,7 +2994,7 @@ "typing_FStar.TSet.set" ], 0, - "294c58a09098633ae26112531be9aa5c" + "c7a5beacd280de3443fec835f29e606a" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/IntegerParsing.fst.hints b/examples/kv_parsing/IntegerParsing.fst.hints index bb2d6ec8de0..997f16a6ebc 100644 --- a/examples/kv_parsing/IntegerParsing.fst.hints +++ b/examples/kv_parsing/IntegerParsing.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "33206fe0e841cc16949ccb6f7055d260" + "41a9864e5910b882007db0011f0117d1" ], [ "IntegerParsing.u16_array", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "819ee9d0f96e871c30f5ff9438291603" + "aa70edb1d6081ba2b109832921e8f69d" ], [ "IntegerParsing.u16_array", @@ -33,7 +33,7 @@ "haseqIntegerParsing_Tm_refine_67a0f7da090ddd7cabafb21bf5e2ed60" ], 0, - "9a226bef74e96cbd45b48a63c36bc4fd" + "cd7bf4b3ae0b71331997dfbfda7ea7f1" ], [ "IntegerParsing.u16_array", @@ -51,7 +51,7 @@ "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "810dacf85ebe6cd56b881e70ae831786" + "3cf0aa848d230654852f6ef5763e89b9" ], [ "IntegerParsing.__proj__U16Array__item__a16", @@ -60,7 +60,7 @@ 1, [ "@query" ], 0, - "6a2359495257325fc955c7d831f31c7c" + "5c7ba6ac9e9f01f7b12e0cef4601aad2" ], [ "IntegerParsing.__proj__U16Array__item__a16", @@ -72,7 +72,7 @@ "projection_inverse_IntegerParsing.U16Array_len16" ], 0, - "d44eab51b67d260c97173dc950d773b9" + "7ad30b5b87b293a69f07abe4173a6716" ], [ "IntegerParsing.u32_array", @@ -81,7 +81,7 @@ 1, [ "@query" ], 0, - "93cf75e93bb730872c2df62995fcfa05" + "b28c2f82049a3ae4971f8dcd01d04383" ], [ "IntegerParsing.u32_array", @@ -90,7 +90,7 @@ 1, [ "@query" ], 0, - "f631ff6b0ddab03e837e9922796e943b" + "cea69273feeaa6f6fd2b0edfd0c0be2a" ], [ "IntegerParsing.u32_array", @@ -106,7 +106,7 @@ "haseqIntegerParsing_Tm_refine_81c227cb3788ac9527a15eab9f2e5b39" ], 0, - "9f51c38c02de96582aef5cebc80f0f87" + "f0a6f3e2a5949908c82424f36c6e2314" ], [ "IntegerParsing.u32_array", @@ -124,7 +124,7 @@ "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "06329564f4484e737c439baf666e1cc9" + "add099fe45ea0219e2242c827b943150" ], [ "IntegerParsing.__proj__U32Array__item__a32", @@ -133,7 +133,7 @@ 1, [ "@query" ], 0, - "a21513b3c6256a34a0cd19295748d6c8" + "a3fe6597d606db1600b7970da9d30e74" ], [ "IntegerParsing.__proj__U32Array__item__a32", @@ -145,7 +145,7 @@ "projection_inverse_IntegerParsing.U32Array_len32" ], 0, - "85b4a11aea3fedda2ab2a6c34f6e7b02" + "f0921ec96c02503dd609cbe27d785f61" ], [ "IntegerParsing.parse_u8", @@ -157,7 +157,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "103b380b82bb0e2d86f6c5dca7c8f096" + "4ce03a5fa405f9a68f71b78a1454416e" ], [ "IntegerParsing.parse_u16", @@ -167,26 +167,24 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Kremlin.Endianness.be_to_n.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.Kremlin.Endianness.bytes", + "@query", "b2t_def", "equation_FStar.Kremlin.Endianness.bytes", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Kremlin.Endianness.be_to_n" ], 0, - "114d3e1bff438d252623d141c6b343c5" + "71c98f344172370d1bebbb766cf54fc7" ], [ "IntegerParsing.parse_u32", @@ -197,26 +195,24 @@ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Kremlin.Endianness.be_to_n.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Kremlin.Endianness.bytes", + "b2t_def", "equation_FStar.Kremlin.Endianness.bytes", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Kremlin.Endianness.be_to_n" ], 0, - "811098ebe6a8ec159557042dde209f3f" + "0d0255cfd5fed26e25206f96b9023699" ], [ "IntegerParsing.parse_u16_array", @@ -224,29 +220,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cdd15a61a8a8f4424284702869adc760", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6538b93ce9f11a54796f7fc94014d4d8", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt16.v" ], 0, - "57d050d0a69181e0c62f375d8490befd" + "16dbf452d5454b95f72f31a8255698fc" ], [ "IntegerParsing.parse_u32_array", @@ -254,29 +248,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cdd15a61a8a8f4424284702869adc760", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6538b93ce9f11a54796f7fc94014d4d8", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "fd81ff0f05fe46cda615960cc160a89c" + "b7afbf21dc9af43c51b109a5307f6149" ], [ "IntegerParsing.u16_array_st", @@ -285,7 +277,7 @@ 1, [ "@query" ], 0, - "ab7e86f71a817ffdb56dae2f773e05e3" + "0473fa4b8ffb5a1428ff96f572786a10" ], [ "IntegerParsing.__proj__U16ArraySt__item__a16_st", @@ -294,7 +286,7 @@ 1, [ "@query" ], 0, - "8460dba020f017dff51568ab9425f0c1" + "0aaa6833ebd07137999088f32dc15201" ], [ "IntegerParsing.__proj__U16ArraySt__item__a16_st", @@ -306,7 +298,7 @@ "projection_inverse_IntegerParsing.U16ArraySt_len16_st" ], 0, - "0f262a1464469eb730e83d2561fbbf54" + "8e297076be3ee69c50d744c3723c9bfd" ], [ "IntegerParsing.__proj__U32ArraySt__item__a32_st", @@ -318,7 +310,7 @@ "projection_inverse_IntegerParsing.U32ArraySt_len32_st" ], 0, - "662c936baa8ee890d62dcf2c50b895fe" + "9ddb3cc92614098d70e16282c58f529a" ], [ "IntegerParsing.as_u16_array", @@ -334,7 +326,7 @@ "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st" ], 0, - "f389547eb3f348ed6101239ead3ea32f" + "562c0bd5453c08f98769b3296151c4b9" ], [ "IntegerParsing.as_u32_array", @@ -350,7 +342,7 @@ "typing_IntegerParsing.__proj__U32ArraySt__item__a32_st" ], 0, - "683e78694ed7ec14dc924a86b3640ed7" + "3e6454cf41f9ded145340cd56893eb8b" ], [ "IntegerParsing.parse_u8_st_nochk", @@ -358,10 +350,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.HyperStack.ST.modifies_none", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -371,14 +361,12 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u8", - "equation_Parsing.byte", "equation_Parsing.parser", - "equation_Prims.nat", "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.bytes", "equation_Slice.lbuffer", - "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", + "equation_Parsing.byte", "equation_Prims.nat", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u8", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -398,52 +386,24 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f8efa8b64e52ff41c5dfd18081c01dc1", - "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_IntegerParsing.parse_u8", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.rid", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_7b67e6321fd949651c483b0f7df13da2", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.Ghost.reveal", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_IntegerParsing.parse_u8", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "df5c1f05459ba4c9af16e6867b3930e4" - ], - [ - "IntegerParsing.parse_u8_st_nochk", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Parsing.byte", - "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", - "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" - ], - 0, - "369423370db88ea5328b2310b8352e34" + "c78bca635090d75e74786fb5dccf8d87" ], [ "IntegerParsing.parse_u8_st", @@ -454,10 +414,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "FStar.Ghost_interpretation_Tm_ghost_arrow_e2f4c1991753137c5a80c115428d0cef", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Monotonic.HyperStack.MkRef", @@ -496,10 +456,9 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Ghost.reveal", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u8", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -526,72 +485,46 @@ "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7b67e6321fd949651c483b0f7df13da2", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f8efa8b64e52ff41c5dfd18081c01dc1", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_IntegerParsing.parse_u8", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Buffer.as_seq", "typing_FStar.Ghost.hide", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u8", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "b4532c06966e2359bba9e15a13921abd" - ], - [ - "IntegerParsing.parse_u8_st", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" - ], - 0, - "99f34e0621bc74353cb20cf864631fa5" + "61666c5a72ad3410c09e2defd16f03af" ], [ "IntegerParsing.parse_u16_st_nochk", @@ -599,13 +532,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.sub", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.sub", "equation_FStar.HyperStack.ST.modifies_none", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", @@ -614,16 +546,14 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u16", - "equation_Parsing.byte", "equation_Parsing.parser", - "equation_Prims.nat", "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.bytes", "equation_Slice.lbuffer", - "equation_Slice.live", "equation_Slice.truncated_slice", + "equation_Parsing.byte", "equation_Prims.nat", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "equation_Slice.truncated_slice", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt16.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u16", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "lemma_FStar.Buffer.lemma_sub_spec", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -639,6 +569,7 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", @@ -652,55 +583,30 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_16db5ab626eb2ce8dccedb6910af38fc", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d07ae9b1a90ff98c213b9e0736505687", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_IntegerParsing.parse_u16", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.idx", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_Parsing.parser", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_IntegerParsing.parse_u16", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "162d312febd29bb6346b901164e56d80" - ], - [ - "IntegerParsing.parse_u16_st_nochk", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Parsing.byte", - "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", - "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" - ], - 0, - "a5af558d182609b4b1b7c6d9f936cb19" + "2a2b3e2db7f55ecfba28eb1e9c2d8b50" ], [ "IntegerParsing.parse_u16_st", @@ -711,10 +617,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "FStar.Ghost_interpretation_Tm_ghost_arrow_e2f4c1991753137c5a80c115428d0cef", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Monotonic.HyperStack.MkRef", @@ -753,11 +659,10 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Ghost.reveal", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt16.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u16", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -788,68 +693,41 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_16db5ab626eb2ce8dccedb6910af38fc", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d07ae9b1a90ff98c213b9e0736505687", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_IntegerParsing.parse_u16", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Buffer.as_seq", "typing_FStar.Ghost.hide", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u16", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "f18a5a882aa874adc12823acf010f2c1" - ], - [ - "IntegerParsing.parse_u16_st", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" - ], - 0, - "f4fa2acbb84d859184825da5f8befbde" + "0a4fe99d5cf130bc3e2e1e74c78e6ae1" ], [ "IntegerParsing.parse_u32_st_nochk", @@ -858,12 +736,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.sub", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.sub", "equation_FStar.HyperStack.ST.modifies_none", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", @@ -872,16 +751,14 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u32", - "equation_Parsing.byte", "equation_Parsing.parser", - "equation_Prims.nat", "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.bytes", "equation_Slice.lbuffer", - "equation_Slice.live", "equation_Slice.truncated_slice", + "equation_Parsing.byte", "equation_Prims.nat", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "equation_Slice.truncated_slice", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "lemma_FStar.Buffer.lemma_sub_spec", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -897,6 +774,7 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", @@ -910,55 +788,30 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_7adff20f3fc093f41fd9b0a6bbbe533b", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd688c36a56d2eab6583f7cea83db8a5", "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_IntegerParsing.parse_u32", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.idx", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_Parsing.parser", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_IntegerParsing.parse_u32", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "1a31fdfac3f8b4a293e31c627af54615" - ], - [ - "IntegerParsing.parse_u32_st_nochk", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Parsing.byte", - "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", - "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" - ], - 0, - "621a521fc0ba9ad432b53e922fbed8f5" + "c999e07222f25c5ad651573f45e3993c" ], [ "IntegerParsing.parse_u32_st", @@ -970,9 +823,8 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Monotonic.HyperStack.MkRef", @@ -1012,13 +864,11 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", @@ -1029,11 +879,11 @@ "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", @@ -1045,20 +895,20 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_7adff20f3fc093f41fd9b0a6bbbe533b", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd688c36a56d2eab6583f7cea83db8a5", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_IntegerParsing.parse_u32", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", @@ -1071,40 +921,13 @@ "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u32", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "ae0983338b68c2c0eb53e8796f957d3c" - ], - [ - "IntegerParsing.parse_u32_st", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" - ], - 0, - "bcd462cdded0a94ae3885fc255f882fb" + "60af39afd71acdf25b6d98d79ed634bf" ], [ "IntegerParsing.parse_u16_array_nochk", @@ -1115,21 +938,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "IntegerParsing_pretyping_f928651cd1dc063506d0a9c71b59ba91", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Tm_unit", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Some", "data_elim_Slice.BSlice", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.offset", + "equation_FStar.Buffer.sel", "equation_FStar.Buffer.sub", + "equation_FStar.Heap.trivial_preorder", + "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.modifies_none", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", @@ -1157,12 +980,9 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt16.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u16", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_11f019f54ec5d87393e84bf414e2aebd", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_06e8d3f2db190cef8f3755616fbc7446", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1170,13 +990,13 @@ "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", @@ -1187,6 +1007,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_content", + "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -1197,46 +1018,50 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_16db5ab626eb2ce8dccedb6910af38fc", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_567309d5b87c38a1aa4e6421d0746da9", - "refinement_interpretation_Tm_refine_575ccbaada7bcc4f75834a1c3bf15afc", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_7723cb3ddd1e227ad12ec7e5b09a8688", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_824d2ceea0878576f4fa9b454895d083", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c5c640fc27b977413dca7079d16ca54c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d07ae9b1a90ff98c213b9e0736505687", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Ghost.reveal", "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Buffer.offset", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Int.Cast.uint16_to_uint32", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.length", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.UInt16.v", - "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u16_array", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", - "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.UInt.fits", "typing_FStar.UInt16.v", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u16", + "typing_IntegerParsing.parse_u16_array", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", "typing_Slice.as_seq" ], 0, - "793cfc35ad6a460c43f8cb48f812ad4c" + "cab63cea0aba5bf3dc06c4096cdbd9b3" ], [ "IntegerParsing.parse_u16_array_nochk", @@ -1246,23 +1071,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", + "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "f25176ceedd14f17451fce1ff443d913" + "44dc99b83512dc0d41a12ee2757f35e7" ], [ "IntegerParsing.parse_u32_array_nochk", @@ -1275,9 +1098,8 @@ "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "IntegerParsing_pretyping_baaea523a90db116e212d710acc6856f", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Tm_unit", "data_elim_FStar.Monotonic.HyperStack.MkRef", @@ -1315,12 +1137,9 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_bd06efe5686572b36c1db5b410b3bf2f", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_388eabe6c0c3ea4b660b3ea89546090f", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1355,22 +1174,22 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_76ea273cce3ad6b0a1296e957705c097", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_7adff20f3fc093f41fd9b0a6bbbe533b", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_937a08bbcc278a5d0c8b3f3c7770b2cb", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd688c36a56d2eab6583f7cea83db8a5", "token_correspondence_FStar.Ghost.reveal", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__length", @@ -1385,13 +1204,14 @@ "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Seq.Base.length", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.UInt32.v", + "typing_IntegerParsing.parse_u32", "typing_IntegerParsing.parse_u32_array", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", "typing_Slice.as_seq" ], 0, - "02abb471a5c2fcf16dff70c4b7f3e832" + "7551ec4ffed93165f35014fe8f482d5a" ], [ "IntegerParsing.parse_u32_array_nochk", @@ -1401,23 +1221,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", + "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "e05dc18451910d50211c8e762fdc4d3b" + "16c9dc8f08e0d07e9e82b879b0d2cc6d" ], [ "IntegerParsing.validate_u16_array_st", @@ -1428,26 +1246,28 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "IntegerParsing_interpretation_Tm_arrow_3a5a59511e388e6ead98da9ac809fa32", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", + "data_elim_FStar.Monotonic.HyperStack.MkRef", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.sel", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sel", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.reference", + "equation_FStar.Kremlin.Endianness.bytes", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -1458,105 +1278,92 @@ "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.lbuffer", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Ghost.reveal", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt16.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u16", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_11f019f54ec5d87393e84bf414e2aebd", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_06e8d3f2db190cef8f3755616fbc7446", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_IntegerParsing.u16_array@tok", + "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_equal_elim", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", + "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Buffer.MkBuffer_content", + "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", + "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_575ccbaada7bcc4f75834a1c3bf15afc", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_7723cb3ddd1e227ad12ec7e5b09a8688", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_824d2ceea0878576f4fa9b454895d083", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_IntegerParsing.parse_u16", + "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Int.Cast.uint16_to_uint32", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", + "typing_FStar.Buffer.offset", "typing_FStar.Buffer.sel", + "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Int.Cast.uint16_to_uint32", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.UInt16.v", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", + "typing_FStar.Seq.Base.slice", "typing_FStar.Set.empty", + "typing_FStar.UInt.fits", "typing_FStar.UInt16.v", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_IntegerParsing.parse_u16", "typing_IntegerParsing.parse_u16_array", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", - "typing_Slice.__proj__BSlice__item__p" - ], - 0, - "e67deecb2dbe972cbd2573529e2c8c1d" - ], - [ - "IntegerParsing.validate_u16_array_st", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "typing_Slice.__proj__BSlice__item__p", + "typing_Tm_abs_06e8d3f2db190cef8f3755616fbc7446" ], 0, - "983b4fbe193fa34f5b8268409b3f799c" + "b8f3c669d648d2910aa83bbb1f886b75" ], [ "IntegerParsing.u32_array_bound_is", @@ -1567,25 +1374,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_IntegerParsing.u32_array_bound", - "equation_Prims.nat", "function_token_typing_FStar.UInt32.n", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", + "equation_IntegerParsing.u32_array_bound", "equation_Prims.nat", + "int_typing", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v", "typing_IntegerParsing.u32_array_bound" ], 0, - "791788770ef2ab183d38ac7231a48bce" + "1e30221ced7985ddd11ecffafe971c61" ], [ "IntegerParsing.validate_u32_array_st", @@ -1597,24 +1402,21 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.live", "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.modifies_none", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", @@ -1627,29 +1429,24 @@ "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.lbuffer", + "equation_Slice.lbuffer", "equation_Slice.live", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_bd06efe5686572b36c1db5b410b3bf2f", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_388eabe6c0c3ea4b660b3ea89546090f", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_IntegerParsing.u32_array@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_equal_elim", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThanOrEqual", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -1662,58 +1459,31 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_IntegerParsing.parse_u32", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u32_array", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.Set.empty", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u32", + "typing_IntegerParsing.parse_u32_array", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "63117f70fc670dd998e54dc3ded6f55a" - ], - [ - "IntegerParsing.validate_u32_array_st", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" - ], - 0, - "dca2a8cde99bf0734ee85853829da6c1" + "96fa73d744a27f81d6d616ff7430a4ac" ], [ "IntegerParsing.encode_u8", @@ -1725,10 +1495,10 @@ "function_token_typing_FStar.UInt8.t", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a1020177d97cae6fde26135ecea87662" + "a9ed1ee7a3451664edae4bdf5b35f729" ], [ "IntegerParsing.encode_u16", @@ -1745,7 +1515,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "6f42226a3f5e8dc7a941f86e95b9daa4" + "faef1b5de6549ba8ac2393987e3f7226" ], [ "IntegerParsing.encode_u32", @@ -1753,21 +1523,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "8e69f58ac8e7e37923baa683bb4c7df4" + "95479b859a311cf5a2018f3facb92c0b" ], [ "IntegerParsing.encode_u16_array", @@ -1776,7 +1544,7 @@ 1, [ "@query" ], 0, - "b8d674fe2a39024625cfc99f54d17d48" + "8cd09c05196f8e21aecfc24cb57cfaf1" ], [ "IntegerParsing.encode_u32_array", @@ -1785,7 +1553,7 @@ 1, [ "@query" ], 0, - "c9bf749e9ba350dc43741eca339ede13" + "df98bfa6465f91ef598a855778c44e4b" ], [ "IntegerParsing.upd_len_1", @@ -1797,7 +1565,7 @@ "refinement_interpretation_Tm_refine_0e8e6d303853d84bc6b6f6552f57fff5" ], 0, - "38b921a2d7dcec45c17d163d1f940d9d" + "ac4d092928993f9e61d7ae9ed9bd5d58" ], [ "IntegerParsing.upd_len_1", @@ -1805,10 +1573,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -1818,14 +1583,14 @@ "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_0e8e6d303853d84bc6b6f6552f57fff5", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3c3203e5b03e9025ec4df0b2721783a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7c8ee51f19aba8ed02546025217dead0", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "5169157218042878a47d69702a83238b" + "c40cd4c0adfb8eac26e41332e38d1d70" ], [ "IntegerParsing.ser_byte", @@ -1836,7 +1601,6 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -1873,17 +1637,16 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "kinding_Slice.bslice@tok", "l_and-interp", "lemma_FStar.Buffer.lemma_modifies_sub_1", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.TSet.mem_empty", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", @@ -1900,14 +1663,15 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_492092f3e8239aa6b071b13325d63de1", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1caaabfcece81c865196281c0a4ca55c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_seq", "typing_FStar.Heap.trivial_preorder", @@ -1915,11 +1679,12 @@ "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "41143e873e7a1b1e130d418db9b16018" + "bb10646824079d7776f518062794edf2" ], [ "IntegerParsing.n_to_be_inv", @@ -1928,17 +1693,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Kremlin.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_81c227cb3788ac9527a15eab9f2e5b39", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_FStar.UInt8.t", "primitive_Prims.op_Multiply", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_22ea5f8ffc0117f1af0618fd6829bdcd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "d751e61eb68e909aa7db1434cdd58da6" + "eae2cc603be672a86136e43eab0abdc4" ], [ "IntegerParsing.store_be_inv", @@ -1946,17 +1709,14 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "f26d7be4b6c4e4e947a477b48bb0771b" + "36217d4e9aac7857c816efb0ae3b6fea" ], [ "IntegerParsing.store_be_inv", @@ -1964,17 +1724,14 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "a2d149ec689deb1b2dc3880b4d7edefc" + "0548b5937da80a67919b1a3caf299464" ], [ "IntegerParsing.store_be_inv", @@ -1992,7 +1749,7 @@ "typing_FStar.UInt32.v" ], 0, - "5a0571bb3330eed32604a0a437508b8e" + "e47c21370e5f15c40dba13a1eae61fd4" ], [ "IntegerParsing.ser_u16", @@ -2002,7 +1759,6 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -2037,17 +1793,16 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Slice.bslice@tok", - "l_and-interp", "lemma_FStar.Buffer.lemma_modifies_sub_1", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "kinding_Slice.bslice@tok", "l_and-interp", + "lemma_FStar.Buffer.lemma_modifies_sub_1", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Set.lemma_equal_refl", - "lemma_FStar.TSet.mem_empty", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.TSet.mem_empty", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_max_length", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", @@ -2063,13 +1818,14 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_seq", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Kremlin.Endianness.be_to_n", "typing_FStar.Map.domain", @@ -2077,12 +1833,13 @@ "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", - "typing_FStar.UInt16.v", "typing_FStar.UInt32.v", - "typing_Prims.pow2", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt16.v", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_Prims.pow2", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "0f8f10d8d26f5379a99739f1544d3ac0" + "d443fa0678a9816177709aa4a2be21b4" ], [ "IntegerParsing.ser_u32", @@ -2093,7 +1850,6 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -2126,16 +1882,15 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "kinding_Slice.bslice@tok", "l_and-interp", "lemma_FStar.Buffer.lemma_modifies_sub_1", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Set.lemma_equal_refl", - "lemma_FStar.TSet.mem_empty", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.TSet.mem_empty", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_max_length", @@ -2152,23 +1907,25 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_seq", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "7d9ed570eb9fd1c6d2d0fed5a1e6a287" + "aeac411b7f301088ea1312ff672def16" ], [ "IntegerParsing.enc_u16_array_st", @@ -2177,11 +1934,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_9834a243ad38517d628f708ee085bc54" + "refinement_interpretation_Tm_refine_b087b15f55861226688db043ad41e833" ], 0, - "be31e31f589757141cf589c449f05e43" + "d0e28439c02f7e8916c086aefc58ae86" ], [ "IntegerParsing.ser_u16_array", @@ -2203,7 +1959,7 @@ "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st" ], 0, - "e45b9297ce728bb6eabef38615d9ae52" + "c36dfd450277f09283dfcd1e3f6cae94" ], [ "IntegerParsing.ser_u16_array", @@ -2212,11 +1968,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "equation_FStar.Kremlin.Endianness.bytes", - "equation_FStar.Monotonic.HyperStack.mem", "equation_IntegerParsing.enc_u16_array_st", "equation_IntegerParsing.encode_u16", "equation_Serializing.disjoint_from", "equation_Slice.byte", @@ -2224,17 +1979,17 @@ "fuel_guarded_inversion_IntegerParsing.u16_array_st", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", - "kinding_Slice.bslice@tok", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "lemma_FStar.TSet.mem_singleton", "lemma_FStar.TSet.mem_union", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", + "function_token_typing_FStar.TSet.union", "kinding_Slice.bslice@tok", + "l_or-interp", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.TSet.mem_empty", "lemma_FStar.TSet.mem_singleton", + "lemma_FStar.TSet.mem_union", "proj_equation_IntegerParsing.U16ArraySt_a16_st", - "refinement_interpretation_Tm_refine_5c79768d89e4613c7e215e6a9e8ff6c3", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", "refinement_interpretation_Tm_refine_6c73df73778c66d999da99c694d60c59", - "refinement_interpretation_Tm_refine_77c014063b2dfee7b49c5f91ef79f44c", - "refinement_interpretation_Tm_refine_d9361af57de8e9c890ccbb01f86e36c9", - "refinement_interpretation_Tm_refine_ecee4ec5f15f2c640ed061b25cd92f35", + "refinement_interpretation_Tm_refine_977ed1e3c527c2e6fa4dfcc842b941cf", + "refinement_interpretation_Tm_refine_9f22201f4b143b379d4ba76c792803dc", + "refinement_interpretation_Tm_refine_d6c69da473cc6a12f74523500ba3bb6f", + "refinement_interpretation_Tm_refine_d948b2148a3d2de30c929b8c30d65c34", "token_correspondence_FStar.TSet.union", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", "typing_FStar.TSet.singleton", @@ -2243,7 +1998,7 @@ "typing_IntegerParsing.encode_u16" ], 0, - "80a5acef0f62b24bfd9d8efa3cd8f37f" + "c742aeb1f64bcf84226a542b747d12f8" ], [ "IntegerParsing.enc_u32_array_st", @@ -2252,11 +2007,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_01b2fceba02f49722cb73362c77b09cb" + "refinement_interpretation_Tm_refine_4d8fb130f892ac3594db66bb6c0ececa" ], 0, - "6ef2cabdc7f6162ef3296103f8745f67" + "fe38c51e13d59e7a9d7448959c5b0bef" ], [ "IntegerParsing.ser_u32_array", @@ -2278,7 +2032,7 @@ "typing_IntegerParsing.__proj__U32ArraySt__item__a32_st" ], 0, - "916c6f2f2b491edcfe2f32d755c8840b" + "e51595d3012e20b3d86db7416fa40723" ], [ "IntegerParsing.ser_u32_array", @@ -2287,11 +2041,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "equation_FStar.Kremlin.Endianness.bytes", - "equation_FStar.Monotonic.HyperStack.mem", "equation_IntegerParsing.enc_u32_array_st", "equation_IntegerParsing.encode_u32", "equation_Serializing.disjoint_from", "equation_Slice.byte", @@ -2299,17 +2052,17 @@ "fuel_guarded_inversion_IntegerParsing.u32_array_st", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", - "kinding_Slice.bslice@tok", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "lemma_FStar.TSet.mem_singleton", "lemma_FStar.TSet.mem_union", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", + "function_token_typing_FStar.TSet.union", "kinding_Slice.bslice@tok", + "l_or-interp", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.TSet.mem_empty", "lemma_FStar.TSet.mem_singleton", + "lemma_FStar.TSet.mem_union", "proj_equation_IntegerParsing.U32ArraySt_a32_st", - "refinement_interpretation_Tm_refine_1bc93e8f34b9dbeaf22ec7426d5c5b1e", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", + "refinement_interpretation_Tm_refine_5e364155df21f0226cecbe41d10a4509", "refinement_interpretation_Tm_refine_643a58adf3f89a596aa6061a97cbe390", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_b16f47dd6a7a264b2cd6d0c4eedae7c3", - "refinement_interpretation_Tm_refine_fdf942348d6e43cb3161ac5bb3dff079", + "refinement_interpretation_Tm_refine_66c9d57e06f5ce5759326edcf0583872", + "refinement_interpretation_Tm_refine_c28fc24ba4ed79485e2b825e478f3dfc", + "refinement_interpretation_Tm_refine_d49b7c4e7e7bbaf9253e0a20efa612f9", "token_correspondence_FStar.TSet.union", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", "typing_FStar.TSet.singleton", @@ -2318,7 +2071,7 @@ "typing_IntegerParsing.encode_u32" ], 0, - "94925eb5c6a41e75af000b72cefa5d23" + "d6dee75f0051c08fa17f1250e8dfdf28" ], [ "IntegerParsing.u16_array", @@ -2327,7 +2080,7 @@ 1, [ "@query" ], 0, - "a621a124de9da29b93c1376b2815f6fc" + "f09f0ff81a4201587f3b271d79f2de1d" ], [ "IntegerParsing.u16_array", @@ -2336,7 +2089,7 @@ 1, [ "@query" ], 0, - "2fc436a0725bce77a9d393f0b412c9f8" + "21561521514741bc0ef2334f9fa97670" ], [ "IntegerParsing.u16_array", @@ -2352,7 +2105,7 @@ "haseqIntegerParsing_Tm_refine_67a0f7da090ddd7cabafb21bf5e2ed60" ], 0, - "f00f95a550d35b72a9ca7a1fde4bfa21" + "373751ced93d3e0a16aff0b5d8bd27ef" ], [ "IntegerParsing.u16_array", @@ -2370,7 +2123,7 @@ "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d55cbe5ded8537087495fa0abee4706f" + "e2f635883c35645473da1d1f9ff4606c" ], [ "IntegerParsing.__proj__U16Array__item__a16", @@ -2379,7 +2132,7 @@ 1, [ "@query" ], 0, - "faa0b4f0ea14ec22b193649c3f3532b1" + "8e4dd12bf0852d9901ec04ce33745c9f" ], [ "IntegerParsing.__proj__U16Array__item__a16", @@ -2391,7 +2144,7 @@ "projection_inverse_IntegerParsing.U16Array_len16" ], 0, - "589b42b354a7280cc52a474a9d30658e" + "df026cb956e1df8f8be1f5a4987b160e" ], [ "IntegerParsing.u32_array", @@ -2400,7 +2153,7 @@ 1, [ "@query" ], 0, - "b6990effb176206d0105ae15cfd0bd7e" + "5f6298f9a1d7b9b11adbeeccf062fd1f" ], [ "IntegerParsing.u32_array", @@ -2409,7 +2162,7 @@ 1, [ "@query" ], 0, - "1114243d234fdf6bb816842bc76007d4" + "6e8460040dfb78585239c7fbc3b788fe" ], [ "IntegerParsing.u32_array", @@ -2425,7 +2178,7 @@ "haseqIntegerParsing_Tm_refine_81c227cb3788ac9527a15eab9f2e5b39" ], 0, - "d500ceed5c19292b2e361e9e395b1a77" + "23cf91b6d1af110528f208e6046865bb" ], [ "IntegerParsing.u32_array", @@ -2443,7 +2196,7 @@ "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c848211a19b10bffa492980371fb2b50" + "8d1ab44f94cabe548ee01e5a04c38743" ], [ "IntegerParsing.__proj__U32Array__item__a32", @@ -2452,7 +2205,7 @@ 1, [ "@query" ], 0, - "e9b137df55f4c1101b292f6452e04b77" + "5509a5ee8a8fe676e727ca27beb40f14" ], [ "IntegerParsing.__proj__U32Array__item__a32", @@ -2464,7 +2217,7 @@ "projection_inverse_IntegerParsing.U32Array_len32" ], 0, - "272324c5f308c059f4b8bc0c618085e7" + "d81daa7a37b9e145b662780c6ffe9523" ], [ "IntegerParsing.parse_u8", @@ -2476,7 +2229,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "176314c8d8f4eeb123dd019b0e35f617" + "1f307959ba9863ce42916e1b7122cada" ], [ "IntegerParsing.parse_u16", @@ -2486,26 +2239,24 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Kremlin.Endianness.be_to_n.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.Kremlin.Endianness.bytes", + "@query", "b2t_def", "equation_FStar.Kremlin.Endianness.bytes", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Kremlin.Endianness.be_to_n" ], 0, - "57c855d0a10c869b6d44099f792961e0" + "4e6ca6ba689684e30d82e55dfa0efaff" ], [ "IntegerParsing.parse_u32", @@ -2516,26 +2267,24 @@ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Kremlin.Endianness.be_to_n.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Kremlin.Endianness.bytes", + "b2t_def", "equation_FStar.Kremlin.Endianness.bytes", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Kremlin.Endianness.be_to_n" ], 0, - "b6f60776a742facedb1c7e95253f806f" + "8c73c5174dc41a72d36602c1fc714555" ], [ "IntegerParsing.parse_u16_array", @@ -2543,29 +2292,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cdd15a61a8a8f4424284702869adc760", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6538b93ce9f11a54796f7fc94014d4d8", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt16.v" ], 0, - "f30e36b239d243ba8a7b0c34bcd25a27" + "9d09285cd39fe7348a28e9b03149ce6e" ], [ "IntegerParsing.parse_u32_array", @@ -2573,29 +2320,31 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cdd15a61a8a8f4424284702869adc760", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6538b93ce9f11a54796f7fc94014d4d8", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "d488fd1a1c431988db2ede25893f3a6c" + "af21960edde38d752784a109ad9133c6" ], [ "IntegerParsing.u16_array_st", @@ -2604,7 +2353,7 @@ 1, [ "@query" ], 0, - "9605ad32e5c2b54176291601f9d1ec69" + "d8ea40bce297a497433a961b5fd29caa" ], [ "IntegerParsing.__proj__U16ArraySt__item__a16_st", @@ -2613,7 +2362,7 @@ 1, [ "@query" ], 0, - "beca5a782eebd3e95b081af312a671c7" + "5e9b995b0d0093ebf3c2029bf3c30466" ], [ "IntegerParsing.__proj__U16ArraySt__item__a16_st", @@ -2625,7 +2374,7 @@ "projection_inverse_IntegerParsing.U16ArraySt_len16_st" ], 0, - "c6067e6c8a885f777dbaa89d66eec4d0" + "1a28764dcbe23cde23ff8c0e14811a41" ], [ "IntegerParsing.__proj__U32ArraySt__item__a32_st", @@ -2637,7 +2386,7 @@ "projection_inverse_IntegerParsing.U32ArraySt_len32_st" ], 0, - "e1f761dfda6d8a7d72d5e34d54d0fca9" + "33a15cade43b2c8c0464534e641e5de8" ], [ "IntegerParsing.as_u16_array", @@ -2654,7 +2403,7 @@ "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st" ], 0, - "68feebbb4c0eb870243380f6c7da0824" + "9ecf2c0d0905f9580f7507b022a31bec" ], [ "IntegerParsing.as_u32_array", @@ -2671,171 +2420,592 @@ "typing_IntegerParsing.__proj__U32ArraySt__item__a32_st" ], 0, - "40102beee9d767f2b7184bed023ba465" + "ec8a57b4fef0daeba662c937cd761143" ], [ "IntegerParsing.parse_u8_st_nochk", - 3, + 2, 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Parsing.byte", - "equation_Slice.byte", "equation_Slice.lbuffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u8", + "equation_Parsing.byte", "equation_Prims.nat", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt8.t", "int_typing", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", + "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_7b67e6321fd949651c483b0f7df13da2", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.Ghost.reveal", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_IntegerParsing.parse_u8", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "af251a27efcae4d4bd192cd1acb6d1f0" + "b99489007c448eeb58059dfa5c5f501c" ], [ "IntegerParsing.parse_u8_st", - 3, + 2, 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "FStar.Ghost_interpretation_Tm_ghost_arrow_e2f4c1991753137c5a80c115428d0cef", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Monotonic.HyperStack.MkRef", + "data_elim_FStar.Pervasives.Native.Mktuple2", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", + "equation_FStar.Heap.trivial_preorder", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.reference", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.frameOf", + "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_FStar.Monotonic.HyperStack.sel", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_IntegerParsing.parse_u8", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.nat", "equation_Prims.pos", "equation_Slice.as_seq", + "equation_Slice.byte", "equation_Slice.bytes", + "equation_Slice.lbuffer", "equation_Slice.live", + "equation_with_fuel_Prims.pow2.fuel_instrumented", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Ghost.reveal", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt8.t", "int_typing", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_elim", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7b67e6321fd949651c483b0f7df13da2", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "token_correspondence_FStar.Ghost.reveal", + "token_correspondence_Prims.pow2.fuel_instrumented", + "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "typing_FStar.Buffer.__proj__MkBuffer__item__idx", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.as_seq", "typing_FStar.Ghost.hide", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u8", + "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "57528e06367626022222181d91f7627e" + "6db0f0037dfd7ffaa1e1b664536188ba" ], [ "IntegerParsing.parse_u16_st_nochk", - 3, + 2, 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Parsing.byte", - "equation_Slice.byte", "equation_Slice.lbuffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.sub", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u16", + "equation_Parsing.byte", "equation_Prims.nat", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "equation_Slice.truncated_slice", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", - "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt16.t", + "function_token_typing_FStar.UInt8.t", "int_typing", + "lemma_FStar.Buffer.lemma_sub_spec", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt16.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", + "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "projection_inverse_FStar.Buffer.MkBuffer_content", + "projection_inverse_FStar.Buffer.MkBuffer_max_length", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_Slice.BSlice_len", + "projection_inverse_Slice.BSlice_p", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d07ae9b1a90ff98c213b9e0736505687", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.Ghost.reveal", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.idx", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_IntegerParsing.parse_u16", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "9eafb9f90e361a94cbe8c5492df932f8" + "755f376555936ba98a40932c4d25d0fd" ], [ "IntegerParsing.parse_u16_st", - 3, + 2, 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "FStar.Ghost_interpretation_Tm_ghost_arrow_e2f4c1991753137c5a80c115428d0cef", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Monotonic.HyperStack.MkRef", + "data_elim_FStar.Pervasives.Native.Mktuple2", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", + "equation_FStar.Heap.trivial_preorder", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.reference", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.frameOf", + "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_FStar.Monotonic.HyperStack.sel", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", + "equation_FStar.UInt32.lt", "equation_IntegerParsing.parse_u16", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.nat", "equation_Prims.pos", "equation_Slice.as_seq", + "equation_Slice.byte", "equation_Slice.bytes", + "equation_Slice.lbuffer", "equation_Slice.live", + "equation_with_fuel_Prims.pow2.fuel_instrumented", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "function_token_typing_FStar.Ghost.reveal", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt16.t", + "function_token_typing_FStar.UInt8.t", "int_typing", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_elim", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d07ae9b1a90ff98c213b9e0736505687", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "token_correspondence_FStar.Ghost.reveal", + "token_correspondence_Prims.pow2.fuel_instrumented", + "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "typing_FStar.Buffer.__proj__MkBuffer__item__idx", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.as_seq", "typing_FStar.Ghost.hide", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u16", + "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "1d8c3a919bd6b87d3c4075de0d5c11d4" + "9714c6c90dd380919f842af93250a2a8" ], [ "IntegerParsing.parse_u32_st_nochk", - 3, + 2, 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Parsing.byte", - "equation_Slice.byte", "equation_Slice.lbuffer", + "@MaxIFuel_assumption", "@query", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.sub", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u32", + "equation_Parsing.byte", "equation_Prims.nat", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "equation_Slice.truncated_slice", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", - "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt32.t", + "function_token_typing_FStar.UInt8.t", "int_typing", + "lemma_FStar.Buffer.lemma_sub_spec", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", + "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "projection_inverse_FStar.Buffer.MkBuffer_content", + "projection_inverse_FStar.Buffer.MkBuffer_max_length", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_Slice.BSlice_len", + "projection_inverse_Slice.BSlice_p", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd688c36a56d2eab6583f7cea83db8a5", + "token_correspondence_FStar.Ghost.reveal", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.idx", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_IntegerParsing.parse_u32", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "670bd629ddd2091eeab25545f45323cd" + "1410a91fff193338de07099b8fc1cfd9" ], [ "IntegerParsing.parse_u32_st", - 3, + 2, 2, 1, [ - "@MaxIFuel_assumption", "@query", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Monotonic.HyperStack.MkRef", + "data_elim_FStar.Pervasives.Native.Mktuple2", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", + "equation_FStar.Heap.trivial_preorder", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.reference", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.frameOf", + "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_FStar.Monotonic.HyperStack.sel", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Parsing.byte", - "equation_Slice.byte", "equation_Slice.bytes", + "equation_FStar.UInt32.lt", "equation_IntegerParsing.parse_u32", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.nat", "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.bytes", "equation_Slice.lbuffer", + "equation_Slice.live", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt32.t", + "function_token_typing_FStar.UInt8.t", "int_typing", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_elim", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd688c36a56d2eab6583f7cea83db8a5", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "token_correspondence_FStar.Ghost.reveal", + "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "typing_FStar.Buffer.__proj__MkBuffer__item__idx", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.as_seq", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Map.concat", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u32", + "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "52d9a785f440688f47148f881db70567" + "6fcfb3ef1c14c3c0cc762d023b193a6d" ], [ "IntegerParsing.parse_u16_array_nochk", @@ -2845,23 +3015,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", + "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "a5624efbbc7f52a031fa826eed7acdb0" + "11ca6c1ca1ad7d964ffab6d2ed519442" ], [ "IntegerParsing.parse_u32_array_nochk", @@ -2871,85 +3039,201 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", + "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "071b4cef207e80e857363ee9672f68f6" + "d037315d3b00129ac45113d978cb590e" ], [ "IntegerParsing.validate_u16_array_st", - 3, + 2, 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "FStar.Ghost_interpretation_Tm_ghost_arrow_e2f4c1991753137c5a80c115428d0cef", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.live", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.lbuffer", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", + "equation_IntegerParsing.parse_u16", + "equation_IntegerParsing.parse_u16_array", + "equation_Parsing.and_then", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Parsing.parser", "equation_Prims.nat", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_p", + "function_token_typing_FStar.Ghost.reveal", + "function_token_typing_FStar.UInt16.t", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_06e8d3f2db190cef8f3755616fbc7446", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_IntegerParsing.u16_array@tok", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Set.mem_empty", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_7723cb3ddd1e227ad12ec7e5b09a8688", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "token_correspondence_FStar.Ghost.reveal", + "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", + "typing_FStar.Ghost.hide", "typing_FStar.Int.Cast.uint16_to_uint32", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_FStar.UInt16.v", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u16", + "typing_IntegerParsing.parse_u16_array", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "fc55ebaa6d59b97b95541a77cb2f047f" + "8d053e1ece44141a2a5e35fcb0c77468" ], [ "IntegerParsing.validate_u32_array_st", - 3, + 2, 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.live", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.lbuffer", + "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", + "equation_IntegerParsing.parse_u32", + "equation_IntegerParsing.parse_u32_array", + "equation_IntegerParsing.u32_array_bound", + "equation_Parsing.and_then", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Parsing.parser", "equation_Prims.nat", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_p", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt32.t", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_388eabe6c0c3ea4b660b3ea89546090f", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_IntegerParsing.u32_array@tok", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "token_correspondence_FStar.Ghost.reveal", + "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Set.empty", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u32", + "typing_IntegerParsing.parse_u32_array", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "3d7998298001065a7612e43e5d9e947f" + "9078357c6c552ba77ba9ee4a6d944e9a" ], [ "IntegerParsing.encode_u8", @@ -2961,10 +3245,10 @@ "function_token_typing_FStar.UInt8.t", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b0f113ce1fafd1274378586e1110874a" + "45bd74d3e173ff46d410c3e3ad76a58d" ], [ "IntegerParsing.encode_u16", @@ -2981,7 +3265,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3f71c45fd893c9d84267af78c9eb1e70" + "ae13bdc5dbf6aa8f036e20e8e26fc398" ], [ "IntegerParsing.encode_u32", @@ -2989,21 +3273,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "43e236ca44555e630685a53868c03e09" + "4df841b7f80a44eec2f9178057369743" ], [ "IntegerParsing.encode_u16_array", @@ -3012,7 +3294,7 @@ 1, [ "@query" ], 0, - "29c5b60e7c2dde1f8711865cecc700f8" + "051cb13b3d4812ef44123a6978f28012" ], [ "IntegerParsing.encode_u16_array", @@ -3021,7 +3303,7 @@ 1, [ "@query" ], 0, - "5b4447068ba0118073ae5fc8f624e61f" + "306693c4f2a6b97cdf4b7e36c09a1041" ], [ "IntegerParsing.encode_u32_array", @@ -3030,7 +3312,7 @@ 1, [ "@query" ], 0, - "d68547466395b5b64c2cb76dc9412ef1" + "459f00ffa0de35c4ff16e978437b8f02" ], [ "IntegerParsing.encode_u32_array", @@ -3039,7 +3321,7 @@ 1, [ "@query" ], 0, - "268171aea4395effb14006193fa84fe6" + "666f4f30f5e4b60ad772aa23ba36d857" ], [ "IntegerParsing.upd_len_1", @@ -3051,7 +3333,7 @@ "refinement_interpretation_Tm_refine_0e8e6d303853d84bc6b6f6552f57fff5" ], 0, - "54d026c67b40f94ecb8eeec7d0afc863" + "5702e9c25b0a595d995e86ede31ef5c3" ], [ "IntegerParsing.ser_byte", @@ -3062,7 +3344,6 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -3099,17 +3380,16 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "kinding_Slice.bslice@tok", "l_and-interp", "lemma_FStar.Buffer.lemma_modifies_sub_1", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.TSet.mem_empty", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", @@ -3126,14 +3406,15 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_492092f3e8239aa6b071b13325d63de1", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1caaabfcece81c865196281c0a4ca55c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_seq", "typing_FStar.Heap.trivial_preorder", @@ -3141,11 +3422,12 @@ "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "fac470d6596dbe26b2a872d2d5590325" + "089b560d54b22f4fb279407b6d8cff57" ], [ "IntegerParsing.n_to_be_inv", @@ -3154,17 +3436,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Kremlin.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_81c227cb3788ac9527a15eab9f2e5b39", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_FStar.UInt8.t", "primitive_Prims.op_Multiply", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_22ea5f8ffc0117f1af0618fd6829bdcd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "feb34d17ec1dda6140bdd1d78829c730" + "ce2d57cd95902ea363d94427684bee5a" ], [ "IntegerParsing.store_be_inv", @@ -3172,17 +3452,14 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "293232af1eebd6f3cdc3170f2ee671da" + "6fa17df7d1a30229295a33322078ef55" ], [ "IntegerParsing.ser_u16", @@ -3192,7 +3469,6 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -3227,17 +3503,16 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Slice.bslice@tok", - "l_and-interp", "lemma_FStar.Buffer.lemma_modifies_sub_1", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "kinding_Slice.bslice@tok", "l_and-interp", + "lemma_FStar.Buffer.lemma_modifies_sub_1", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Set.lemma_equal_refl", - "lemma_FStar.TSet.mem_empty", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.TSet.mem_empty", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_max_length", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", @@ -3253,13 +3528,14 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_seq", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Kremlin.Endianness.be_to_n", "typing_FStar.Map.domain", @@ -3267,12 +3543,13 @@ "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", - "typing_FStar.UInt16.v", "typing_FStar.UInt32.v", - "typing_Prims.pow2", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt16.v", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_Prims.pow2", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "9a7493dccfc9d224ae1da6aa44ecaa75" + "b1f4a95d9c559041c7385a250a705e24" ], [ "IntegerParsing.ser_u32", @@ -3283,7 +3560,6 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -3316,16 +3592,15 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_typing", "kinding_Slice.bslice@tok", "l_and-interp", "lemma_FStar.Buffer.lemma_modifies_sub_1", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Set.lemma_equal_refl", - "lemma_FStar.TSet.mem_empty", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.TSet.mem_empty", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_max_length", @@ -3342,23 +3617,25 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_seq", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "e2a7f933d69927307073bbb6f4d81c6f" + "7f4c1573a358e1b3cd2349af2be7e903" ], [ "IntegerParsing.enc_u16_array_st", @@ -3367,11 +3644,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_9834a243ad38517d628f708ee085bc54" + "refinement_interpretation_Tm_refine_b087b15f55861226688db043ad41e833" ], 0, - "e7afe04b83e0a68283c4c113b0256fc3" + "2f8684acaa419ed0efd683a97c12eff5" ], [ "IntegerParsing.ser_u16_array", @@ -3380,11 +3656,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "equation_FStar.Kremlin.Endianness.bytes", - "equation_FStar.Monotonic.HyperStack.mem", "equation_IntegerParsing.enc_u16_array_st", "equation_IntegerParsing.encode_u16", "equation_Serializing.disjoint_from", "equation_Slice.byte", @@ -3392,17 +3667,17 @@ "fuel_guarded_inversion_IntegerParsing.u16_array_st", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", - "kinding_Slice.bslice@tok", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "lemma_FStar.TSet.mem_singleton", "lemma_FStar.TSet.mem_union", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", + "function_token_typing_FStar.TSet.union", "kinding_Slice.bslice@tok", + "l_or-interp", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.TSet.mem_empty", "lemma_FStar.TSet.mem_singleton", + "lemma_FStar.TSet.mem_union", "proj_equation_IntegerParsing.U16ArraySt_a16_st", - "refinement_interpretation_Tm_refine_5c79768d89e4613c7e215e6a9e8ff6c3", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", "refinement_interpretation_Tm_refine_6c73df73778c66d999da99c694d60c59", - "refinement_interpretation_Tm_refine_77c014063b2dfee7b49c5f91ef79f44c", - "refinement_interpretation_Tm_refine_d9361af57de8e9c890ccbb01f86e36c9", - "refinement_interpretation_Tm_refine_ecee4ec5f15f2c640ed061b25cd92f35", + "refinement_interpretation_Tm_refine_977ed1e3c527c2e6fa4dfcc842b941cf", + "refinement_interpretation_Tm_refine_9f22201f4b143b379d4ba76c792803dc", + "refinement_interpretation_Tm_refine_d6c69da473cc6a12f74523500ba3bb6f", + "refinement_interpretation_Tm_refine_d948b2148a3d2de30c929b8c30d65c34", "token_correspondence_FStar.TSet.union", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", "typing_FStar.TSet.singleton", @@ -3411,7 +3686,7 @@ "typing_IntegerParsing.encode_u16" ], 0, - "92793f1c1ecfe9c33d2d9bd26008c4f5" + "c931acf1a953e7fa596f564b2eea022b" ], [ "IntegerParsing.ser_u16_array", @@ -3433,7 +3708,7 @@ "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st" ], 0, - "a00b0abd15dcdc0cc673bfda6c0979a2" + "de402c5b76687cbb5059fcc33f2f952e" ], [ "IntegerParsing.enc_u32_array_st", @@ -3442,11 +3717,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_01b2fceba02f49722cb73362c77b09cb" + "refinement_interpretation_Tm_refine_4d8fb130f892ac3594db66bb6c0ececa" ], 0, - "1638fccd1fd14c9870ba9d09f545fae9" + "99e9512ca7c8fcda0631394084f46ab3" ], [ "IntegerParsing.ser_u32_array", @@ -3455,11 +3729,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "equation_FStar.Kremlin.Endianness.bytes", - "equation_FStar.Monotonic.HyperStack.mem", "equation_IntegerParsing.enc_u32_array_st", "equation_IntegerParsing.encode_u32", "equation_Serializing.disjoint_from", "equation_Slice.byte", @@ -3467,17 +3740,17 @@ "fuel_guarded_inversion_IntegerParsing.u32_array_st", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", - "kinding_Slice.bslice@tok", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_empty", - "lemma_FStar.TSet.mem_singleton", "lemma_FStar.TSet.mem_union", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", + "function_token_typing_FStar.TSet.union", "kinding_Slice.bslice@tok", + "l_or-interp", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.TSet.mem_empty", "lemma_FStar.TSet.mem_singleton", + "lemma_FStar.TSet.mem_union", "proj_equation_IntegerParsing.U32ArraySt_a32_st", - "refinement_interpretation_Tm_refine_1bc93e8f34b9dbeaf22ec7426d5c5b1e", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", + "refinement_interpretation_Tm_refine_5e364155df21f0226cecbe41d10a4509", "refinement_interpretation_Tm_refine_643a58adf3f89a596aa6061a97cbe390", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_b16f47dd6a7a264b2cd6d0c4eedae7c3", - "refinement_interpretation_Tm_refine_fdf942348d6e43cb3161ac5bb3dff079", + "refinement_interpretation_Tm_refine_66c9d57e06f5ce5759326edcf0583872", + "refinement_interpretation_Tm_refine_c28fc24ba4ed79485e2b825e478f3dfc", + "refinement_interpretation_Tm_refine_d49b7c4e7e7bbaf9253e0a20efa612f9", "token_correspondence_FStar.TSet.union", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", "typing_FStar.TSet.singleton", @@ -3486,7 +3759,7 @@ "typing_IntegerParsing.encode_u32" ], 0, - "c02e4284a93f487bc79d9bc6d1370b0c" + "ba49a62b70320f57781dc12509fbc346" ], [ "IntegerParsing.ser_u32_array", @@ -3508,7 +3781,7 @@ "typing_IntegerParsing.__proj__U32ArraySt__item__a32_st" ], 0, - "ef0ab6b29b2020751a3d687de1b1d7c2" + "7e3a53819f6d8acb3853edbcad8f9bbb" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/KeyValue.fst.hints b/examples/kv_parsing/KeyValue.fst.hints index 46a7c8705da..a94366c806a 100644 --- a/examples/kv_parsing/KeyValue.fst.hints +++ b/examples/kv_parsing/KeyValue.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b66030d0fdff9c07e31666b84fad256b" + "6dd9da611fdee9af1a19895d9a607ba0" ], [ "KeyValue.encoded_entry", @@ -24,7 +24,7 @@ 1, [ "@query" ], 0, - "e99bec5bd8e17f829f491db1af90f6e1" + "b012c6185dd4fdfe0356036666959468" ], [ "KeyValue.encoded_entry", @@ -33,7 +33,7 @@ 1, [ "@query" ], 0, - "c39e7d70c325c51013c57905481e868b" + "d0ade68ba86069160513571aa95d2e1a" ], [ "KeyValue.encoded_entry", @@ -42,7 +42,7 @@ 1, [ "@query" ], 0, - "dfc918af79cd2308ee4c6f55ebe09206" + "65644d92eb0f71a5c5dd250c761e1a6b" ], [ "KeyValue.encoded_entry", @@ -60,7 +60,7 @@ "haseqIntegerParsing_Tm_refine_81c227cb3788ac9527a15eab9f2e5b39" ], 0, - "22a12babe3f08d2542500b8049981cb6" + "db81087bf25fe444ffaf08b9918832c6" ], [ "KeyValue.encoded_entry", @@ -80,7 +80,7 @@ "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a26eaa5d9976e3316c88b804d9fcebbb" + "d6f2d0e9039f9fce441dd5a1ebe08bc8" ], [ "KeyValue.__proj__EncodedEntry__item__key", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "d62f74359304b957a7e41f68824f55a8" + "c21ac9be98b381a3eba071860d1524b5" ], [ "KeyValue.__proj__EncodedEntry__item__key", @@ -101,7 +101,7 @@ "projection_inverse_KeyValue.EncodedEntry_key_len" ], 0, - "bbdbbb4de74ea035ad4df1d9e126ac20" + "4e2e7b86f9c1185ed5fc42d18723c811" ], [ "KeyValue.__proj__EncodedEntry__item__value", @@ -110,7 +110,7 @@ 1, [ "@query" ], 0, - "54cb8b934377dc0d2451984cf632ab41" + "4a2dd90df00e403397df5d6a654df2b6" ], [ "KeyValue.__proj__EncodedEntry__item__value", @@ -122,7 +122,7 @@ "projection_inverse_KeyValue.EncodedEntry_val_len" ], 0, - "c9e1d2ab5777d7865c3f7612b65f36f1" + "e58c7218b9dcfbec28a6f8bd949ce1e1" ], [ "KeyValue.store", @@ -131,7 +131,7 @@ 1, [ "@query" ], 0, - "956e2bd58bdba1799938fc08173df677" + "a17f05c0291e2405ce2d3765e939be51" ], [ "KeyValue.store", @@ -140,7 +140,7 @@ 1, [ "@query" ], 0, - "0672442dd946107ca59e342299204519" + "ab7ede8aabd78055a1b8414b210c4555" ], [ "KeyValue.store", @@ -155,7 +155,7 @@ "kinding_KeyValue.encoded_entry@tok" ], 0, - "ebaf84f10add8ab1184815630b154c9e" + "2e88d694aca251aa04a0fa3d40df4d8e" ], [ "KeyValue.store", @@ -170,7 +170,7 @@ "kinding_KeyValue.encoded_entry@tok" ], 0, - "ef8222516748811427e1611ec8fbfc9c" + "42085d565ca787dc2b0c3bb990562014" ], [ "KeyValue.__proj__Store__item__entries", @@ -179,7 +179,7 @@ 1, [ "@query" ], 0, - "7ee9ca92ed9af1617c7af0fe09c48aea" + "182ac02db341d8f880767ce2900cc58d" ], [ "KeyValue.__proj__Store__item__entries", @@ -191,7 +191,7 @@ "projection_inverse_KeyValue.Store_num_entries" ], 0, - "e5df6194cafb6d440ed2c855446ad9b3" + "b4dbff41625fef61b765174819a5b18a" ], [ "KeyValue.as_entry", @@ -203,7 +203,7 @@ "equation_KeyValue.entry_live", "equation_Slice.byte" ], 0, - "2216f91813da2d2ab38bdb6b6e0a6125" + "567a534138872d054a00ad3a8ea2160d" ], [ "KeyValue.entry", @@ -219,7 +219,7 @@ "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "540c584e96bc9ac7e44e24bebd608a99" + "87d6157b69b03b30bb1ccb8c9c8cbb46" ], [ "KeyValue.encoded_entry", @@ -228,7 +228,7 @@ 1, [ "@query" ], 0, - "c409f17628209af8a94234cd135ba03b" + "2c6cdef88028aab536fae3ef441d4708" ], [ "KeyValue.encoded_entry", @@ -237,7 +237,7 @@ 1, [ "@query" ], 0, - "420d4dcfeb762a30e3c62d2ebe649c79" + "b08d22121d03f07df44dea21a1d30935" ], [ "KeyValue.encoded_entry", @@ -246,7 +246,7 @@ 1, [ "@query" ], 0, - "48c79c5e2f42a5a32a24241c26d6d829" + "f4c21cf6226798de44657c8d0b252337" ], [ "KeyValue.encoded_entry", @@ -264,7 +264,7 @@ "haseqIntegerParsing_Tm_refine_81c227cb3788ac9527a15eab9f2e5b39" ], 0, - "c2d9b124f9a4acaa04644267244a2a37" + "0b59e04326ea1d2fd8055cd91a6c35e2" ], [ "KeyValue.encoded_entry", @@ -284,7 +284,7 @@ "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3c648c6d47a98a1db816cee89c94653b" + "0d080dbcb1b920bbcfb41bc4cf8b9725" ], [ "KeyValue.__proj__EncodedEntry__item__key", @@ -293,7 +293,7 @@ 1, [ "@query" ], 0, - "7f4110815b4edc1915410132ec9c767c" + "b0b26161ff25a7a94490b9ffe8ccd3c6" ], [ "KeyValue.__proj__EncodedEntry__item__key", @@ -305,7 +305,7 @@ "projection_inverse_KeyValue.EncodedEntry_key_len" ], 0, - "70994bcdd54e3a09a09cbde3c11e5a41" + "d8a8e4daa1f285cf9fda35793f58059c" ], [ "KeyValue.__proj__EncodedEntry__item__value", @@ -314,7 +314,7 @@ 1, [ "@query" ], 0, - "53cc3d73654f520b7f50856f3b20db09" + "7e90d49d89e8e7742a4fed791474828a" ], [ "KeyValue.__proj__EncodedEntry__item__value", @@ -326,7 +326,7 @@ "projection_inverse_KeyValue.EncodedEntry_val_len" ], 0, - "d0f74520ff7f12d232dca673b1378262" + "fce4da8e34fe4931bb8eb528042e2136" ], [ "KeyValue.store", @@ -335,7 +335,7 @@ 1, [ "@query" ], 0, - "43d69cc9442a688f5b300a91b1494033" + "dc109be2b99b6ce16123f5178bcc07e8" ], [ "KeyValue.store", @@ -344,7 +344,7 @@ 1, [ "@query" ], 0, - "4f4dadc1b4df160ed4bb892ed8c6ff3e" + "07105ca78a4a55fe545ed65ea17f935c" ], [ "KeyValue.store", @@ -359,7 +359,7 @@ "kinding_KeyValue.encoded_entry@tok" ], 0, - "d2ae86476227626f4271ebcbedaa6d43" + "a0d3bbf9891e70bb0aa854cabd11c726" ], [ "KeyValue.store", @@ -374,7 +374,7 @@ "kinding_KeyValue.encoded_entry@tok" ], 0, - "8a10b90a5458c4408e2277f69034abb0" + "0ca8904c072b9f744b573798e9244055" ], [ "KeyValue.__proj__Store__item__entries", @@ -383,7 +383,7 @@ 1, [ "@query" ], 0, - "d2b630913f9bf3ecd44c556030a50d95" + "7726619ad2692e9e6bceb870b6c6bc80" ], [ "KeyValue.__proj__Store__item__entries", @@ -395,7 +395,7 @@ "projection_inverse_KeyValue.Store_num_entries" ], 0, - "9cad76f8934a9e8966e1a9b989975691" + "7048fb201bb98b439c3cfda28af3afc0" ], [ "KeyValue.as_entry", @@ -409,7 +409,7 @@ "fuel_guarded_inversion_KeyValue.entry_st" ], 0, - "8e00fd86b6c5d3222633c2fd517dc8c7" + "766727fbeb77763409fba5180b4f3587" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/Parsing.fst.hints b/examples/kv_parsing/Parsing.fst.hints index 621f385a451..c831587346a 100644 --- a/examples/kv_parsing/Parsing.fst.hints +++ b/examples/kv_parsing/Parsing.fst.hints @@ -8,16 +8,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -25,14 +23,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_81023981784575d82d8f679705b94012", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_fea02b40deba8564e764b4a4a2d71d3a", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length" ], 0, - "aa923c74ffce1c2e1818a296f742a73a" + "485a52e1a17cbe471b7cec724a444620" ], [ "Parsing.parse_ret", @@ -40,18 +42,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "44d0886ec25359d561dd931c6ed03577" + "bb2f2801208aa7deab8357e0b66250c1" ], [ "Parsing.parsing_done", @@ -63,16 +62,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "87dc035a322685a7122fddfd87bb6071" - ], - [ - "Parsing.parse_result", - 1, - 2, - 1, - [ "@query" ], - 0, - "42d03882482159e2b3a458c93be6f903" + "95ff29800e6b5375e7635a6da22b81f1" ], [ "Parsing.parse_many", @@ -83,25 +73,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "@query", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_58f0cd1f7c26f3ab834d7cd5aa71e48f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2331d14b381c58776df612199f90c696", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "016606f52b3a504499e9094a14e69763" + "41f63ba4a486f0802c1f47ecb23044bb" ], [ "Parsing.parser_st", @@ -109,27 +97,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "b0937ca7d9683cd1bfc35c460ffae3f8" + "dadf7c1f85e8332bcdd0df8289c77025" ], [ "Parsing.parser_st_nochk", @@ -139,24 +124,22 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", + "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_77dd0e9556afadacd119b8c135278728", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "cd033730e0822ab81f9b9a076973958d" + "04ac70da6adf263e755c610a8feefd8a" ], [ "Parsing.validation_checks_parse", @@ -165,7 +148,7 @@ 1, [ "@query" ], 0, - "70b6835e52cc92cf11aeffb1108f4d04" + "14cb67da2d80b8834d2e7f80cb967d90" ], [ "Parsing.stateful_validator", @@ -175,22 +158,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "0e1a140e2af41af00a0719f8a37277ba" + "289a91b32507797124f28a82237b21ff" ], [ "Parsing.then_check", @@ -199,16 +180,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_54aa9a6abefc706c9471366116678213", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_51c544aec4f40c6f47f0ff597c1b82d1", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.Ghost_interpretation_Tm_ghost_arrow_e2f4c1991753137c5a80c115428d0cef", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Parsing_interpretation_Tm_ghost_arrow_d40ac0c57766ed51202e8d22db30ffed", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", @@ -243,18 +222,17 @@ "equation_Slice.byte", "equation_Slice.bytes", "equation_Slice.lbuffer", "equation_Slice.live", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Ghost.reveal", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_6ae52251a5a8d790d8b0d4104a9a8846", - "interpretation_Tm_abs_915bfad4d3c4ae4f3a7f88835581fcdc", - "interpretation_Tm_abs_d5a8f387647ba6b41afb9e49e60768ad", - "interpretation_Tm_abs_d72e03685bc02e97056d3c32f8be44bf", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_0a6a42c71f70e930a5d25020943aeab0", + "interpretation_Tm_abs_57a8b6408e26f333fe4e5472d48f9059", + "interpretation_Tm_abs_75dbf887edbf86bd8fdaa40dae1f0088", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_947a5129c98fad5ca983c412eac35e84", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Map.lemma_ContainsDom", @@ -266,12 +244,15 @@ "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "lemma_FStar.Set.mem_empty", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", @@ -281,58 +262,69 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_content", + "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2399b781b4e2acd156f8539be160e221", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_7ce862849ae2e4729232389a08121b03", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_92f4aa4b109ec408523e8bc7df2a862a", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb50bcb401fcc5fc2ef943cb53252bcf", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_kinding_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", + "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.reveal", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.UInt32.sub", + "typing_FStar.Set.mem", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", "typing_Slice.as_seq", "typing_Slice.u32_add_overflows", - "typing_Tm_abs_915bfad4d3c4ae4f3a7f88835581fcdc" + "typing_Tm_abs_0a6a42c71f70e930a5d25020943aeab0" ], 0, - "ead8e7b55a981fcb72a4e569d80e4d1f" + "9d39e2d336a1d55a02f4b3b32af745de" ], [ "Parsing.validate_done_st", @@ -360,14 +352,13 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.eq", - "equation_Parsing.byte", "equation_Parsing.parser", - "equation_Parsing.parsing_done", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.bytes", "equation_Slice.lbuffer", - "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", + "equation_Parsing.byte", "equation_Parsing.parsing_done", + "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Parsing.parsing_done", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", @@ -392,53 +383,29 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Ghost.reveal", - "token_correspondence_Parsing.parsing_done", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.length", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.UInt32.v", "typing_Parsing.parser", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_Parsing.parser", "typing_Parsing.parsing_done", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq", "unit_typing" ], 0, - "0f2338bc1f4b56feb96a10066306af2c" - ], - [ - "Parsing.validate_done_st", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" - ], - 0, - "9297196908b51e3b6a121ee4453a5617" + "c7fb1553645a4131de6c04118243278c" ], [ "Parsing.validate_fail", @@ -473,8 +440,8 @@ "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", @@ -484,32 +451,7 @@ "typing_FStar.Set.mem" ], 0, - "1a5ed9f04f110587f8e4af7b78fe9bd5" - ], - [ - "Parsing.validate_fail", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" - ], - 0, - "1b4ca77e0b7131b331ce75618da3896e" + "0fe700db2c41edf610c6fb3f4c07fd84" ], [ "Parsing.and_then_offset", @@ -518,9 +460,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_0b9d2fd55d38a69d75dabb927505da24", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Parsing_interpretation_Tm_arrow_e4fc590ee9d64383f0f7f3893fdda398", + "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", @@ -534,8 +476,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_FStar.UInt8.t", "function_token_typing_Parsing.and_then", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -550,16 +491,17 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_81023981784575d82d8f679705b94012", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_fea02b40deba8564e764b4a4a2d71d3a", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", "token_correspondence_Parsing.and_then", - "typing_FStar.Pervasives.Native.uu___is_Some" + "typing_FStar.Seq.Base.length" ], 0, - "f9072243d0c5d127e189fb078ee33de0" + "c0d94639c43480e4a18223c136c001c1" ], [ "Parsing.parse_many_parse_one", @@ -568,7 +510,7 @@ 1, [ "@query" ], 0, - "669857edd656781555a5c0ced4032c74" + "20e936e27311d964af90d7563e9fb38a" ], [ "Parsing.parse_many_parse_one", @@ -581,8 +523,7 @@ "@fuel_correspondence_Parsing.parse_many.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Parsing.parse_many.fuel_instrumented", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", @@ -591,17 +532,15 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Pervasives.Native.snd", "equation_Parsing.and_then", - "equation_Parsing.byte", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_Parsing.parse_many.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_a4f09aa299c66b5b118a4b0bd002830f", - "interpretation_Tm_abs_bee9165e468273ad13f736541c3cada6", + "interpretation_Tm_abs_2a3e7a8dad5634db69901489c977988b", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_a16bf78d9e2ceac6de894f1286b8db05", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", @@ -615,17 +554,17 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_0e8d5f62b47cde749d17bda36a0de7b6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", "refinement_kinding_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "token_correspondence_Parsing.and_then", "token_correspondence_Parsing.parse_many", - "typing_Parsing.parse_many", - "typing_Tm_abs_636d40c97aa72cc56c507936ee94e267" + "typing_FStar.List.Tot.Base.length", "typing_Parsing.parse_many", + "typing_Tm_abs_898692807cc82957fc188d1a18e680c4" ], 0, - "ee04255db7c49ec582078da0f5ac5efe" + "047a8b6e75ace3496e7ff4d38b864b29" ], [ "Parsing.validate_n_more", @@ -633,10 +572,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_Slice.BSlice", - "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_Slice.BSlice", "equation_FStar.Buffer.buffer", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -649,34 +586,32 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1cf5d176b296d61141ef598e763f3c73", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a1a855b5779e480e264012e63083b2b2", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c4e2ff1a5f3439c501188958b2a1a09c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fc1a613c0d8f31907811aa47c6bf299e", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "cb85802b33f3fc7962fe54f6012701a0" + "55ea2e5d0f93c84684adb99796fcbf9a" ], [ "Parsing.validate_n_more", @@ -684,10 +619,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_Slice.BSlice", - "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_Slice.BSlice", "equation_FStar.Buffer.buffer", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -700,35 +633,33 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1cf5d176b296d61141ef598e763f3c73", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_8a6b928400cc9ecaaa08d86158ba10e7", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a1a855b5779e480e264012e63083b2b2", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_4a672cbaba8c7d27066b372ff92c57a5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c4e2ff1a5f3439c501188958b2a1a09c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fc1a613c0d8f31907811aa47c6bf299e", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "be63c11d6f8da0eb2357447d818121af" + "0e6d961b0e7f8b750f375c90a3ee0cda" ], [ "Parsing.validate_n_more", @@ -739,15 +670,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Parsing.parse_many.fuel_instrumented", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_8", - "binder_x_269b88fc0ad5657224380452978d0ee3_2", - "binder_x_5556b187e3c727f1bae6a378583622ab_6", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "binder_x_269b88fc0ad5657224380452978d0ee3_2", + "binder_x_4153e50c405bd34d96ec1e4e6aac0894_6", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_7", "binder_x_cd8f079d77d5fe135ddfd4119c59f514_5", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_7", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_8", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", @@ -760,10 +690,8 @@ "equation_Slice.bytes", "equation_with_fuel_Parsing.parse_many.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_421f26d5d54dc4ffa3d39c1b2b48025c", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_be222158ebede10dcdac4e09c3de5520", "lemma_FStar.Seq.Properties.slice_length", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -774,17 +702,17 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_7bbd6ffddcb8b497ed37ec4c68723dc2", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_bda4aab34696036d6fb64decbc8f0edd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Parsing.parse_many", "typing_FStar.UInt32.v", "typing_Parsing.parse_many", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.as_seq" ], 0, - "47735d88ff59135a583c6e3362d948ad" + "2bd765724b117ddbd342ba5678f58811" ], [ "Parsing.validate_one_more", @@ -792,9 +720,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.sub", @@ -805,20 +731,15 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Slice.advance_slice", - "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.bytes", "equation_Slice.lbuffer", + "equation_Parsing.byte", "equation_Prims.nat", + "equation_Slice.advance_slice", "equation_Slice.as_seq", + "equation_Slice.byte", "equation_Slice.lbuffer", "equation_Slice.live", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_length", @@ -831,25 +752,26 @@ "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_7b4eff5c79b2bca5299e19f40310257f", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ef18ad541982cb526a8ed109390a270", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice" ], 0, - "8eaadf4300d3524d70885d5e93e9c482" + "4b2276552a4a7ebef7bddf86f9acb71f" ], [ "Parsing.validate_one_more", @@ -862,40 +784,36 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Parsing.parse_many.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_47a338d2181daa46adc46183ce403715", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Parsing_interpretation_Tm_arrow_645f6598fadfd4365d01e513b2a33ae9", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sub", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Parsing.and_then", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.offset", + "equation_FStar.Buffer.sub", "equation_FStar.Pervasives.Native.snd", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Parsing.and_then", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "equation_Slice.advance_slice", "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.bytes", "equation_Slice.lbuffer", - "equation_Slice.live", + "equation_Slice.lbuffer", "equation_Slice.live", "equation_with_fuel_Parsing.parse_many.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt32.n_minus_one", + "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Parsing.parse_many", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_421f26d5d54dc4ffa3d39c1b2b48025c", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_81520a011cde2109a7b7421f12b5dd11", - "interpretation_Tm_abs_832c52552567ce96d7e0b1177353862a", - "interpretation_Tm_abs_bee9165e468273ad13f736541c3cada6", + "function_token_typing_Parsing.parse_many", "int_inversion", + "int_typing", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_a16bf78d9e2ceac6de894f1286b8db05", + "interpretation_Tm_abs_ab85c5041ab033464d97bc6308b786c2", + "interpretation_Tm_abs_be222158ebede10dcdac4e09c3de5520", + "interpretation_Tm_abs_f274aa2d66a5ec95b610f54bbb471c16", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -918,30 +836,29 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e034206c554fce2090452f1ad81b91e8", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Parsing.parse_many", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.v", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", "typing_Slice.as_seq" ], 0, - "91449672af8aa6b5b1c0a3d419b79b05" + "9ca9e52bc82ccbaa418357ffdbc6fcfd" ], [ "Parsing.for_readonly", @@ -949,20 +866,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4be08e1091364d30e939c25d22d278fa", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_c0f38de1bc97323b91ca0f054a5e4cda", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "7ae01b7820894ec592a1c8b1d58a10ec" + "9d0993d9f38ff55919c942b5a1fe9928" ], [ "Parsing.for_readonly", @@ -970,18 +882,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4be08e1091364d30e939c25d22d278fa", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_c0f38de1bc97323b91ca0f054a5e4cda", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "4966b5ef437eb0daeb8a3324cda70df3" + "c0f15b787a1749af63414c74b5803122" ], [ "Parsing.for_readonly", @@ -991,7 +900,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", @@ -1026,9 +934,8 @@ "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_disjoint_symm", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_equal_domains_2", "lemma_FStar.Buffer.lemma_fresh_poppable", "lemma_FStar.Buffer.lemma_live_disjoint", @@ -1063,15 +970,15 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_10a65c9931e64fd993e985ad35dddd46", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a1fb977538aeaa087936f0ae7b8c021a", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f76e7f5b53fc5fb9905394aed22fced3", - "refinement_interpretation_Tm_refine_f7778f454ca10ea3f7cbfa8d2b913541", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.content", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", @@ -1095,7 +1002,7 @@ "typing_FStar.UInt32.v" ], 0, - "2fa4a6e356bda60da5f349015aba3793" + "dc0a2924fd23e89336dbe32efd75a020" ], [ "Parsing.validate_many_st", @@ -1108,11 +1015,11 @@ "equation_FStar.UInt.uint_t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "1efb1b855205bd14efb729fe3e3865e9" + "fda4203613725a738529e31676785c33" ], [ "Parsing.validate_many_st", @@ -1123,10 +1030,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Parsing.parse_many.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_84ebf5a71341b07a5e5f08ae390aa4af", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Parsing_interpretation_Tm_ghost_arrow_69d0373767b2780e0b55e6f4f1ffa055", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -1167,11 +1073,9 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Ghost.reveal", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_421f26d5d54dc4ffa3d39c1b2b48025c", - "interpretation_Tm_abs_5bd75f8b51509bd5a80f53fa28690173", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_be222158ebede10dcdac4e09c3de5520", + "interpretation_Tm_abs_fcf5f089b4575c189c74603aa57cb45b", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1180,9 +1084,10 @@ "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", @@ -1204,26 +1109,27 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1a7278fadda049236e8b8583513e38c1", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_77dd0e9556afadacd119b8c135278728", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7ce862849ae2e4729232389a08121b03", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aa4253c02edc78f96bbbdc9ebc200b62", - "refinement_interpretation_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c43e220c0ad9b2825fb69cd169b65d0e", - "refinement_interpretation_Tm_refine_ca2c77f69acff4fca0b44c61a9e317a7", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_92f4aa4b109ec408523e8bc7df2a862a", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_ec3305d00f9b47228f76a4dad6461f92", + "refinement_interpretation_Tm_refine_ec593ba8102c306ed9bd9dbc4bc8dab6", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "refinement_kinding_Tm_refine_0ee6aa807d126edd525f4cb8f1a962b9", - "refinement_kinding_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", + "refinement_kinding_Tm_refine_671a28ccc8295c656e799758965a2d7f", "token_correspondence_FStar.Ghost.reveal", "token_correspondence_Parsing.parse_many", "typing_FStar.Buffer.__proj__MkBuffer__item__content", @@ -1243,14 +1149,15 @@ "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", "typing_Slice.as_seq", - "typing_Tm_abs_5bd75f8b51509bd5a80f53fa28690173" + "typing_Tm_abs_fcf5f089b4575c189c74603aa57cb45b" ], 0, - "00960001ff46cb4677738f21025ac977" + "6a6c52e81fd6ca1538dd9f47550bd89e" ], [ "Parsing.and_then", @@ -1259,16 +1166,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -1276,14 +1181,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_81023981784575d82d8f679705b94012", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_fea02b40deba8564e764b4a4a2d71d3a", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length" ], 0, - "f528cc186577ce77bf08d5660c1434b5" + "6e38459d33655107d2ad7155a0979b4d" ], [ "Parsing.parse_ret", @@ -1291,18 +1200,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "495fc00fac2aaea87b0ec9c016b3f3f7" + "6fb4f7d1dc7529c8c59c40b7a5fa1f1b" ], [ "Parsing.parsing_done", @@ -1314,16 +1220,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "c2e82eec3d7f63eca3572e8fb98aba64" - ], - [ - "Parsing.parse_result", - 2, - 2, - 1, - [ "@query" ], - 0, - "65decb7e666a2adcc315cb5eb24ba823" + "f53c1ab43b78d337c3254627b03ecd01" ], [ "Parsing.parse_many", @@ -1334,25 +1231,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "@query", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_58f0cd1f7c26f3ab834d7cd5aa71e48f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2331d14b381c58776df612199f90c696", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "b660baf226d10dbd06b1defd2c4a0d54" + "8a4e37930bd7e3ad1c2e2f41fc8ab51a" ], [ "Parsing.parser_st", @@ -1360,27 +1255,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "a8fbaf80870c6e428639ee14d7ebd9f4" + "f3ca1d0641587c5e442b14db0025175b" ], [ "Parsing.parser_st_nochk", @@ -1390,24 +1282,22 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", + "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_77dd0e9556afadacd119b8c135278728", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "c09e4d4c36e8f8a3688942f6a95bfb5b" + "f284999b8c282ca7de36790a03606eb0" ], [ "Parsing.validation_checks_parse", @@ -1416,7 +1306,7 @@ 1, [ "@query" ], 0, - "3f2b76d4f0641ea971735d30b3f0eb23" + "16f691d532813b5b002efbc9ae5cc3e2" ], [ "Parsing.stateful_validator", @@ -1426,22 +1316,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "798a1285f7d202ec50456290a6614056" + "f318d3ae493a7f3f8eb2a4a1ebb6ec4c" ], [ "Parsing.then_check", @@ -1450,16 +1338,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_54aa9a6abefc706c9471366116678213", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_51c544aec4f40c6f47f0ff597c1b82d1", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.Ghost_interpretation_Tm_ghost_arrow_e2f4c1991753137c5a80c115428d0cef", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Parsing_interpretation_Tm_ghost_arrow_d40ac0c57766ed51202e8d22db30ffed", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", @@ -1494,18 +1380,17 @@ "equation_Slice.byte", "equation_Slice.bytes", "equation_Slice.lbuffer", "equation_Slice.live", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Ghost.reveal", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_6ae52251a5a8d790d8b0d4104a9a8846", - "interpretation_Tm_abs_915bfad4d3c4ae4f3a7f88835581fcdc", - "interpretation_Tm_abs_d5a8f387647ba6b41afb9e49e60768ad", - "interpretation_Tm_abs_d72e03685bc02e97056d3c32f8be44bf", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_0a6a42c71f70e930a5d25020943aeab0", + "interpretation_Tm_abs_57a8b6408e26f333fe4e5472d48f9059", + "interpretation_Tm_abs_75dbf887edbf86bd8fdaa40dae1f0088", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_947a5129c98fad5ca983c412eac35e84", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Map.lemma_ContainsDom", @@ -1517,9 +1402,11 @@ "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "lemma_FStar.Set.mem_empty", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", @@ -1536,120 +1423,193 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2399b781b4e2acd156f8539be160e221", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_7ce862849ae2e4729232389a08121b03", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_92f4aa4b109ec408523e8bc7df2a862a", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb50bcb401fcc5fc2ef943cb53252bcf", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_kinding_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", + "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.reveal", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", "typing_Slice.as_seq", "typing_Slice.u32_add_overflows", - "typing_Tm_abs_915bfad4d3c4ae4f3a7f88835581fcdc" + "typing_Tm_abs_0a6a42c71f70e930a5d25020943aeab0" ], 0, - "cbd1b7b3298135688799d2b34b4693f7" + "6a094ec88acb21d27f12fcbe9e290452" ], [ "Parsing.validate_done_st", - 3, + 2, 2, 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.live", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.lbuffer", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.eq", + "equation_Parsing.byte", "equation_Parsing.parsing_done", + "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_p", + "function_token_typing_Prims.unit", "int_typing", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.Ghost.reveal", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.length", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_Parsing.parser", "typing_Parsing.parsing_done", "typing_Slice.__proj__BSlice__item__len", - "typing_Slice.__proj__BSlice__item__p" + "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq", + "unit_typing" ], 0, - "5f6779c27e4131102e20c60231d41371" + "f5cdb31e37d862e607f7fc83591c2264" ], [ "Parsing.validate_fail", - 3, + 2, 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.live", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.lbuffer", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_Slice.byte", "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v", - "typing_Slice.__proj__BSlice__item__len", - "typing_Slice.__proj__BSlice__item__p" + "function_token_typing_FStar.Monotonic.Heap.heap", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "typing_FStar.Map.concat", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.Set.mem" ], 0, - "a199a5f1e19d750f88233589a8c01154" + "f8e88051c567a178f5851c1457f61c67" ], [ "Parsing.and_then_offset", @@ -1658,7 +1618,7 @@ 1, [ "@query" ], 0, - "6c763703363bf931abbaf6bf1b45da6f" + "eceb6a458cbc4502b254b3cf03b5f966" ], [ "Parsing.parse_many_parse_one", @@ -1667,7 +1627,7 @@ 1, [ "@query" ], 0, - "994c0b7e7e241357f9dc44599ea98d41" + "f54fbecf8a83829e2c44b9ff0147c28e" ], [ "Parsing.validate_n_more", @@ -1675,10 +1635,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_Slice.BSlice", - "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_Slice.BSlice", "equation_FStar.Buffer.buffer", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -1691,34 +1649,32 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1cf5d176b296d61141ef598e763f3c73", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a1a855b5779e480e264012e63083b2b2", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c4e2ff1a5f3439c501188958b2a1a09c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fc1a613c0d8f31907811aa47c6bf299e", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "c4f3d2f34cb564b59f7f6f89c946809a" + "347f02be2da9dd11d9f7175c00ec2c15" ], [ "Parsing.validate_one_more", @@ -1726,9 +1682,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.sub", @@ -1739,20 +1693,15 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Slice.advance_slice", - "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.bytes", "equation_Slice.lbuffer", + "equation_Parsing.byte", "equation_Prims.nat", + "equation_Slice.advance_slice", "equation_Slice.as_seq", + "equation_Slice.byte", "equation_Slice.lbuffer", "equation_Slice.live", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_length", @@ -1765,25 +1714,26 @@ "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_7b4eff5c79b2bca5299e19f40310257f", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ef18ad541982cb526a8ed109390a270", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice" ], 0, - "366983188926e6470459a3158035cdda" + "27b1b6d28c073f8311db33a7ad6a757b" ], [ "Parsing.for_readonly", @@ -1791,20 +1741,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4be08e1091364d30e939c25d22d278fa", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_c0f38de1bc97323b91ca0f054a5e4cda", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "9f2af347dcf417066dce79a863f76ff3" + "acfaff44ccdc6c6ff98baa3a9bf9fd04" ], [ "Parsing.validate_many_st", @@ -1815,10 +1760,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Parsing.parse_many.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_84ebf5a71341b07a5e5f08ae390aa4af", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Parsing_interpretation_Tm_ghost_arrow_69d0373767b2780e0b55e6f4f1ffa055", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -1859,11 +1803,9 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Ghost.reveal", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_421f26d5d54dc4ffa3d39c1b2b48025c", - "interpretation_Tm_abs_5bd75f8b51509bd5a80f53fa28690173", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_be222158ebede10dcdac4e09c3de5520", + "interpretation_Tm_abs_fcf5f089b4575c189c74603aa57cb45b", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1872,9 +1814,10 @@ "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", @@ -1896,30 +1839,30 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1a7278fadda049236e8b8583513e38c1", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_77dd0e9556afadacd119b8c135278728", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7ce862849ae2e4729232389a08121b03", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aa4253c02edc78f96bbbdc9ebc200b62", - "refinement_interpretation_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c43e220c0ad9b2825fb69cd169b65d0e", - "refinement_interpretation_Tm_refine_ca2c77f69acff4fca0b44c61a9e317a7", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_92f4aa4b109ec408523e8bc7df2a862a", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_ec3305d00f9b47228f76a4dad6461f92", + "refinement_interpretation_Tm_refine_ec593ba8102c306ed9bd9dbc4bc8dab6", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "refinement_kinding_Tm_refine_0ee6aa807d126edd525f4cb8f1a962b9", - "refinement_kinding_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", + "refinement_kinding_Tm_refine_671a28ccc8295c656e799758965a2d7f", "token_correspondence_FStar.Ghost.reveal", "token_correspondence_Parsing.parse_many", "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", @@ -1935,14 +1878,15 @@ "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", "typing_Slice.as_seq", - "typing_Tm_abs_5bd75f8b51509bd5a80f53fa28690173" + "typing_Tm_abs_fcf5f089b4575c189c74603aa57cb45b" ], 0, - "21ab9ad94d615ac64ef524b77800af2d" + "cdb5c68697d2eb0ce6a91d28028b1822" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/PureEncoder.fst.hints b/examples/kv_parsing/PureEncoder.fst.hints index 9668df33d80..f31c41c72e9 100644 --- a/examples/kv_parsing/PureEncoder.fst.hints +++ b/examples/kv_parsing/PureEncoder.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_FStar.UInt8.byte", "equation_Slice.byte" ], 0, - "f24271db81aa06e3b9cd40c2c3de25ad" + "464e390cc6893004c569cff02cfce2f1" ], [ "PureEncoder.encode_store", @@ -16,21 +16,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_KeyValue.Store", "equation_FStar.UInt.uint_t", + "@MaxIFuel_assumption", "@query", "data_elim_KeyValue.Store", + "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_KeyValue.store", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "proj_equation_KeyValue.Store_entries", "proj_equation_KeyValue.Store_num_entries", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_KeyValue.__proj__Store__item__num_entries" ], 0, - "552d780b7c98cacd5f9051cd0631ca25" + "9f3fa5f2a70e1c22345d7a95d6757820" ], [ "PureEncoder.encode_entry", @@ -39,7 +38,7 @@ 1, [ "@query", "equation_FStar.UInt8.byte", "equation_Slice.byte" ], 0, - "01732be6f8377ca840783a78aa9e7206" + "34ca6f53d8a7f59120cd581d11ef54d7" ], [ "PureEncoder.encode_store", @@ -47,21 +46,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_KeyValue.Store", "equation_FStar.UInt.uint_t", + "@MaxIFuel_assumption", "@query", "data_elim_KeyValue.Store", + "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_KeyValue.store", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "proj_equation_KeyValue.Store_entries", "proj_equation_KeyValue.Store_num_entries", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_KeyValue.__proj__Store__item__num_entries" ], 0, - "a815fad2d05a1799e4c539d8fc54dfc9" + "4c8a82edf9ac0174f4cd8701fe6a1813" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/PureParser.fst.hints b/examples/kv_parsing/PureParser.fst.hints index 56a6a755cf0..287b17c0686 100644 --- a/examples/kv_parsing/PureParser.fst.hints +++ b/examples/kv_parsing/PureParser.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_FStar.UInt8.byte", "equation_Slice.byte" ], 0, - "ed89eb76c8ae1242265d881edab9a87e" + "b14fbe95bf84b8f646b21c9a47a2fe9e" ], [ "PureParser.parse_abstract_store", @@ -21,11 +21,11 @@ "equation_FStar.UInt.uint_t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "e4caaf25b6f37309ba9ceadc09e8c7ea" + "1911e6730b4583089616f1700cc8d77c" ], [ "PureParser.parse_entries", @@ -38,11 +38,11 @@ "equation_FStar.UInt.uint_t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "f4bce829053974fdbc7d18cea08f7a49" + "f5490fbde1fc343b9e1b548980a938e0" ], [ "PureParser.parse_entry", @@ -51,7 +51,7 @@ 1, [ "@query", "equation_FStar.UInt8.byte", "equation_Slice.byte" ], 0, - "49fa512187c775d6930358d375594b8f" + "878390e65505f00c4997b03ece39770e" ], [ "PureParser.parse_abstract_store", @@ -64,11 +64,11 @@ "equation_FStar.UInt.uint_t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "ca487af0cf65a6c60b926afef54dff4d" + "9738f198ed0b050e10684d92112f4625" ], [ "PureParser.parse_entries", @@ -81,11 +81,11 @@ "equation_FStar.UInt.uint_t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "63dfbbaf7d61860d975171ac4241b814" + "8442410814fe601ad21d4b6093573395" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/PureValidator.fst.hints b/examples/kv_parsing/PureValidator.fst.hints index a1c0515c883..efef478fcd5 100644 --- a/examples/kv_parsing/PureValidator.fst.hints +++ b/examples/kv_parsing/PureValidator.fst.hints @@ -8,16 +8,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -25,14 +23,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_81023981784575d82d8f679705b94012", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_fea02b40deba8564e764b4a4a2d71d3a", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length" ], 0, - "c7356749594cd5fc826b4422accea644" + "89b99ebc2bf5f4c6c0c0ae7738e06e9b" ], [ "PureValidator.skip_bytes", @@ -45,7 +47,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "62abf2dceb23db211ba72adda4356508" + "a81a08e6382305d7af35ad3b35861339" ], [ "PureValidator.parser_validation_checks_parse", @@ -54,7 +56,7 @@ 1, [ "@query" ], 0, - "f23a8920291c86be7ecfcdebde9c1363" + "e69ba48de840504d996e76ccda04e284" ], [ "PureValidator.validate_u16_array", @@ -63,7 +65,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -73,9 +75,8 @@ "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_IntegerParsing.parse_u16_array", - "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Parsing.parser", - "equation_Prims.nat", + "equation_Parsing.and_then", "equation_Parsing.bytes32", + "equation_Parsing.parser", "equation_PureValidator.parser_validation_checks_parse", "equation_PureValidator.skip_bytes", "equation_PureValidator.then_validate", @@ -84,11 +85,10 @@ "equation_PureValidator.validator_checks_on", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_IntegerParsing.parse_u16", - "interpretation_Tm_abs_11f019f54ec5d87393e84bf414e2aebd", - "interpretation_Tm_abs_508e57d2f0e173c053bd23a13ba846e7", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_6e44872cc68c27f8b82153531cd0e6c1", + "interpretation_Tm_abs_06e8d3f2db190cef8f3755616fbc7446", + "interpretation_Tm_abs_602be2265b6ce3d161481bca9af5cb8c", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_f7c0337e4bae53a1cb81a606aea38d3a", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -99,7 +99,7 @@ "typing_IntegerParsing.parse_u16_array", "unit_typing" ], 0, - "3240a7eb4dfd1aa902537402aae219b3" + "6fbf580c7a6599fe22402eb1f6cfb967" ], [ "PureValidator.validate_u32_array", @@ -108,7 +108,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Pervasives.Native.None", @@ -118,9 +118,8 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u32_array", - "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Parsing.parser", - "equation_Prims.nat", + "equation_Parsing.and_then", "equation_Parsing.bytes32", + "equation_Parsing.parser", "equation_PureValidator.parser_validation_checks_parse", "equation_PureValidator.skip_bytes", "equation_PureValidator.then_validate", @@ -129,12 +128,11 @@ "equation_PureValidator.validator_checks_on", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_IntegerParsing.parse_u32", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_0525abdf9fdeb968a295755f4108db3d", - "interpretation_Tm_abs_508e57d2f0e173c053bd23a13ba846e7", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_bd06efe5686572b36c1db5b410b3bf2f", + "interpretation_Tm_abs_388eabe6c0c3ea4b660b3ea89546090f", + "interpretation_Tm_abs_602be2265b6ce3d161481bca9af5cb8c", + "interpretation_Tm_abs_7898fdbceefdcea7287c75d8b8cced20", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "lemma_FStar.Buffer.lemma_size", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -142,12 +140,12 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u32_array", "unit_typing" ], 0, - "cb784ded9ed7022765c884a92587a9c3" + "240d9d16aed64f9f82a4bf63316cf33a" ], [ "PureValidator.validate_accept", @@ -155,18 +153,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "e80235ec929c69e02f21fc3d039a36d7" + "eb776dade04ad07638c1c6a3110b9507" ], [ "PureValidator.validate_many'", @@ -174,17 +169,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "b8a9c700f7a4fda7586d38216805e252" + "a4df1fb62b057ffd423ab15b9d624055" ], [ "PureValidator.intro_validator_checks", @@ -193,7 +185,7 @@ 1, [ "@query", "equation_PureValidator.validator_checks" ], 0, - "7daef0a35c16267c853e057df9348b96" + "869a118af720c61c7b90919c7174c5c1" ], [ "PureValidator.validate_many'_ok", @@ -203,30 +195,26 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Parsing.parse_many.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_correspondence_PureValidator.validate_many_.fuel_instrumented", "@fuel_irrelevance_Parsing.parse_many.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_PureValidator.validate_many_.fuel_instrumented", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "binder_x_37553d06fd4024bec87513ee7ee79f60_4", "binder_x_463a74d9450ac14441b10ec205f1fbe4_3", - "binder_x_962d60aa2178385b50569e0dbbc2de64_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_inversion", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_fe28d8bcde588226b4e538b35321de05_2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", - "equation_Parsing.and_then", "equation_Parsing.byte", + "equation_FStar.Pervasives.Native.snd", "equation_Parsing.and_then", + "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", - "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_PureValidator.parser_validation_checks_parse", "equation_PureValidator.seq", "equation_PureValidator.validate_accept", @@ -237,20 +225,21 @@ "equation_with_fuel_PureValidator.validate_many_.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3c182662ecd42f7dfe674b99bdebc4ff", - "interpretation_Tm_abs_421f26d5d54dc4ffa3d39c1b2b48025c", - "interpretation_Tm_abs_442c6955ad09ce4c5988595a76cd647c", - "interpretation_Tm_abs_5978eb1588ec1864bf11f9516e6068ae", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_81520a011cde2109a7b7421f12b5dd11", - "interpretation_Tm_abs_832c52552567ce96d7e0b1177353862a", - "interpretation_Tm_abs_946424f929fd693ba2c7944ab1851d85", - "interpretation_Tm_abs_bee9165e468273ad13f736541c3cada6", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.UInt8.t", + "function_token_typing_Prims.unit", "int_inversion", "int_typing", + "interpretation_Tm_abs_1cdc6b8dfd9c2949e5096bc12e18ff5b", + "interpretation_Tm_abs_3ace39277a94f4351ce2104c3f10eeaa", + "interpretation_Tm_abs_483a9204ae7479cafa83004e7b9dc843", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_a16bf78d9e2ceac6de894f1286b8db05", + "interpretation_Tm_abs_ab85c5041ab033464d97bc6308b786c2", + "interpretation_Tm_abs_be222158ebede10dcdac4e09c3de5520", + "interpretation_Tm_abs_c3afdd75f81609013e1254851a4fa818", + "interpretation_Tm_abs_f274aa2d66a5ec95b610f54bbb471c16", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Seq.Properties.slice_length", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -261,14 +250,23 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05511bbb3f234837e62cbc881d0723a7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5dbae4d1341ec931de921af67c24859a", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", "token_correspondence_PureValidator.validate_accept", - "typing_FStar.UInt.fits", "typing_Parsing.parse_many", "unit_typing", + "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.slice", "typing_Parsing.parse_many", + "typing_PureValidator.validate_many_", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "b97b615b04282b482d3934047da765d7" + "b7af0bc9ad4dc0098d7af1d44fbbd27d" ], [ "PureValidator.validate_many", @@ -277,7 +275,7 @@ 1, [ "@query" ], 0, - "9d5924700b948270b5879aef6c629137" + "c2f0c182826aee94c00bbeda0e7cd12f" ], [ "PureValidator.validate_done", @@ -289,7 +287,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "43f4b1e668b5bc3dafac077d4b0ca67b" + "49f04c688f0e6d052b14dd544d57f127" ], [ "PureValidator.validate_done", @@ -298,22 +296,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Parsing.byte", "equation_Parsing.bytes32", - "equation_Parsing.parsing_done", "equation_Prims.nat", + "equation_Parsing.parsing_done", "equation_PureValidator.parser_validation_checks_parse", "equation_PureValidator.validator_checks", "equation_PureValidator.validator_checks_on", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_a7a3716d76310cc753660e6630dbffb0", - "projection_inverse_BoxBool_proj_0", + "interpretation_Tm_abs_9e92f502a06efd2b4ec949b429c84364", "token_correspondence_Parsing.parsing_done", "unit_typing" ], 0, - "fa5bf959b3e31c86b24aeb93546403f8" + "26e780ae2baaed7bc1fcf8357d92a0eb" ], [ "PureValidator.seq", @@ -322,16 +314,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parser", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -339,14 +329,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_81023981784575d82d8f679705b94012", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_fea02b40deba8564e764b4a4a2d71d3a", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length" ], 0, - "c52bbe1c88d5b63a72ef2aeb2276c717" + "7b140630a76a6162eb76e3ef83a34955" ], [ "PureValidator.skip_bytes", @@ -359,7 +353,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "20c53cc7e199cc87b33e4c9c17581eac" + "9190efd92cc9737750b4f7b76b470190" ], [ "PureValidator.parser_validation_checks_parse", @@ -368,7 +362,7 @@ 1, [ "@query" ], 0, - "62c75092d44e166c535724a24d273f18" + "dd5133e22f6efdf3423dfa851b76984a" ], [ "PureValidator.validate_u16_array", @@ -377,7 +371,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -387,9 +381,8 @@ "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_IntegerParsing.parse_u16_array", - "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Parsing.parser", - "equation_Prims.nat", + "equation_Parsing.and_then", "equation_Parsing.bytes32", + "equation_Parsing.parser", "equation_PureValidator.parser_validation_checks_parse", "equation_PureValidator.skip_bytes", "equation_PureValidator.then_validate", @@ -398,11 +391,10 @@ "equation_PureValidator.validator_checks_on", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_IntegerParsing.parse_u16", - "interpretation_Tm_abs_11f019f54ec5d87393e84bf414e2aebd", - "interpretation_Tm_abs_508e57d2f0e173c053bd23a13ba846e7", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_6e44872cc68c27f8b82153531cd0e6c1", + "interpretation_Tm_abs_06e8d3f2db190cef8f3755616fbc7446", + "interpretation_Tm_abs_602be2265b6ce3d161481bca9af5cb8c", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_f7c0337e4bae53a1cb81a606aea38d3a", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -413,7 +405,7 @@ "typing_IntegerParsing.parse_u16_array", "unit_typing" ], 0, - "cb48e0a5980d4a52e89092ce438d91cd" + "5bc8b46af917e9587a97a4eefcf79e02" ], [ "PureValidator.validate_u32_array", @@ -422,7 +414,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Pervasives.Native.None", @@ -432,9 +424,8 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u32_array", - "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Parsing.parser", - "equation_Prims.nat", + "equation_Parsing.and_then", "equation_Parsing.bytes32", + "equation_Parsing.parser", "equation_PureValidator.parser_validation_checks_parse", "equation_PureValidator.skip_bytes", "equation_PureValidator.then_validate", @@ -443,12 +434,11 @@ "equation_PureValidator.validator_checks_on", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_IntegerParsing.parse_u32", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_0525abdf9fdeb968a295755f4108db3d", - "interpretation_Tm_abs_508e57d2f0e173c053bd23a13ba846e7", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_bd06efe5686572b36c1db5b410b3bf2f", + "interpretation_Tm_abs_388eabe6c0c3ea4b660b3ea89546090f", + "interpretation_Tm_abs_602be2265b6ce3d161481bca9af5cb8c", + "interpretation_Tm_abs_7898fdbceefdcea7287c75d8b8cced20", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "lemma_FStar.Buffer.lemma_size", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -456,12 +446,12 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u32_array", "unit_typing" ], 0, - "8f46e6653e4359db5873b19253490c34" + "ffac33cf5e6350e25e71d01277ede5c8" ], [ "PureValidator.validate_accept", @@ -469,18 +459,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "c67fe7ad7e2a608f64d2d10bb0af6c30" + "a065d084939ccec47b9c80cc781e9598" ], [ "PureValidator.validate_many'", @@ -488,17 +475,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "fe2a25beb1908d2e32e66eb8b4c77ac5" + "f1ccc9b1f8ccefa44439c570c5e70539" ], [ "PureValidator.validate_many", @@ -507,7 +491,7 @@ 1, [ "@query" ], 0, - "506ba4b9b7631de22e9d86b837176632" + "7c1bbb2d55fc8deec1b209c325c603ad" ], [ "PureValidator.validate_done", @@ -519,7 +503,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "fa744bbac23fc9c20c073c75565f6107" + "5bcebb705a3456e2c26d87556514f38d" ], [ "PureValidator.validate_done", @@ -528,22 +512,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Parsing.byte", "equation_Parsing.bytes32", - "equation_Parsing.parsing_done", "equation_Prims.nat", + "equation_Parsing.parsing_done", "equation_PureValidator.parser_validation_checks_parse", "equation_PureValidator.validator_checks", "equation_PureValidator.validator_checks_on", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_a7a3716d76310cc753660e6630dbffb0", - "projection_inverse_BoxBool_proj_0", + "interpretation_Tm_abs_9e92f502a06efd2b4ec949b429c84364", "token_correspondence_Parsing.parsing_done", "unit_typing" ], 0, - "d0cfc4b3446980dc0d2f697712bae79a" + "568aa22b660a8a839471658cdd99cc71" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/Serializer.fst.hints b/examples/kv_parsing/Serializer.fst.hints index ca74001bb17..7bd2fad0149 100644 --- a/examples/kv_parsing/Serializer.fst.hints +++ b/examples/kv_parsing/Serializer.fst.hints @@ -28,7 +28,7 @@ "typing_KeyValue.__proj__EntrySt__item__val_st" ], 0, - "a19570b4a10dda665b2678ea9b0ca81e" + "21b739a6850d1db53a0569aa02a011f7" ], [ "Serializer.ser_entry", @@ -37,10 +37,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", - "equation_FStar.Monotonic.HyperStack.mem", "equation_IntegerParsing.enc_u16_array_st", "equation_IntegerParsing.enc_u32_array_st", "equation_Serializer.enc_entry_st", @@ -51,14 +50,13 @@ "function_token_typing_FStar.TSet.union", "kinding_Slice.bslice@tok", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_singleton", "lemma_FStar.TSet.mem_union", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", "proj_equation_IntegerParsing.U16ArraySt_a16_st", "proj_equation_IntegerParsing.U32ArraySt_a32_st", - "refinement_interpretation_Tm_refine_1b058eec55b9349a86dae0eb736e8183", + "refinement_interpretation_Tm_refine_16800bb23dca3cfcca25f46dbd78a41f", "refinement_interpretation_Tm_refine_643a58adf3f89a596aa6061a97cbe390", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", "refinement_interpretation_Tm_refine_6c73df73778c66d999da99c694d60c59", - "refinement_interpretation_Tm_refine_940f29318c64cfb66f9d035214680773", + "refinement_interpretation_Tm_refine_955b0b0acc7580c36a3f8016b05e1f0a", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", "typing_FStar.TSet.set", "typing_FStar.TSet.singleton", "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st", @@ -68,7 +66,7 @@ "typing_Serializer.entry_st_bufs" ], 0, - "7a37de161c9e1ae7a351db8bd4701982" + "84e5e054544bba565ed309205e9a49e0" ], [ "Serializer.adjacent_entries_disjoint", @@ -84,7 +82,7 @@ "typing_FStar.Buffer.__proj__MkBuffer__item__max_length" ], 0, - "4e607b5c252d76151a0445b38c362d23" + "f2b4bd0a8319e0e67fdfea657d9ee064" ], [ "Serializer.writer_inv", @@ -92,24 +90,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.content", "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.UInt.uint_t", "equation_Serializer.writer_valid", "equation_Slice.buffers_adjacent", "equation_Slice.byte", "equation_Slice.live", "equation_Slice.same_ref", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_AmpAmp", "proj_equation_Serializer.Mkwriter_entries_written_buf", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Serializer.__proj__Mkwriter__item__num_entries_written" ], 0, - "be2441c9e5f4b10d2ed93e50ae0869cc" + "92665d62396691dce2885b60cb42b5cb" ], [ "Serializer.adjacent_advance", @@ -117,25 +113,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Slice.advance_slice", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Buffer.MkBuffer", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.max_length", + "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Slice.advance_slice", "equation_Slice.buffers_adjacent", "equation_Slice.byte", "equation_Slice.lbuffer", "equation_Slice.same_ref", "equation_Slice.truncated_slice", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -148,17 +140,17 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_content", "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", @@ -169,7 +161,7 @@ "typing_Slice.truncated_slice" ], 0, - "3701138a9497b5bb5d10b0a52753cda9" + "a55770dfb9336cca333d7f605f04949a" ], [ "Serializer.adjacent_truncate", @@ -177,23 +169,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Slice.buffers_adjacent", "equation_Slice.byte", - "equation_Slice.lbuffer", "equation_Slice.same_ref", - "equation_Slice.truncated_slice", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", "equation_Slice.buffers_adjacent", + "equation_Slice.byte", "equation_Slice.lbuffer", + "equation_Slice.same_ref", "equation_Slice.truncated_slice", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_idx", @@ -203,13 +190,13 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.sub", "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", @@ -217,7 +204,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "07392aff2723a990184b3166ffd30077" + "892234915e973bd00d9e9bcdf7fa7f18" ], [ "Serializer.adjacent_0len", @@ -225,16 +212,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "e2cb708a2902483aac5de7c2dae62abb" + "9297623535fbdb4ee09f569afa763f7a" ], [ "Serializer.adjacent_0len", @@ -242,25 +226,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "equation_Slice.buffers_adjacent", - "equation_Slice.byte", "equation_Slice.lbuffer", - "equation_Slice.same_ref", "equation_Slice.truncated_slice", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_Slice.buffers_adjacent", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.same_ref", + "equation_Slice.truncated_slice", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_idx", @@ -272,14 +252,14 @@ "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.length", "typing_FStar.Buffer.sub", @@ -289,7 +269,7 @@ "typing_Slice.truncated_slice" ], 0, - "fd723cf9ad9fdca1c125014f19228550" + "2bb61ae2e6bee39984304a0c8c453e36" ], [ "Serializer.writer_init", @@ -302,18 +282,17 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_correspondence_Serializing.encode_many.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "KeyValue_interpretation_Tm_arrow_e644f870815d26b6079b97266c1b7e67", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Serializer_pretyping_1f083e2e7b6eac176acc28b560d13901", "b2t_def", - "bool_inversion", "bool_typing", + "PureEncoder_interpretation_Tm_arrow_64b86877bb62b38f55a510f3f796798b", + "Serializer_pretyping_1f083e2e7b6eac176acc28b560d13901", + "Serializing_interpretation_Tm_arrow_f9393af8d271da6947c7fccbad44763f", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Prims.Nil", "data_elim_Slice.BSlice", "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.sub", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.sub", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -334,15 +313,14 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_PureEncoder.encode_entry", "int_inversion", "int_typing", "kinding_KeyValue.encoded_entry@tok", "kinding_Prims.list@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_Serializer.adjacent_0len", "lemma_Serializer.adjacent_advance", "lemma_Serializer.adjacent_truncate", "primitive_Prims.op_Addition", @@ -371,30 +349,32 @@ "projection_inverse_Serializer.Mkwriter_num_entries_written", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_56d2f6e2c2f65322834d86e58dda1d3d", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_ac564100c94df62b38eecf1bce82dac0", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bff64a74ce868cc056ed7e46427d42be", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_interpretation_Tm_refine_e7f428a22d8554fbc54e9437c0d794c2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", "typing_FStar.Buffer.sub", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.UInt.fits", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "bcbadbb01912bd28689aaaad3a65bb4c" + "fedb76f0fa30bde7dec678f18fdab4df" ], [ "Serializer.writer_reinit", @@ -403,7 +383,7 @@ 1, [ "@query" ], 0, - "de92c0256e253df27ae8fd1f6513166d" + "937862ea0d08f9745df2bd639fef40dd" ], [ "Serializer.writer_reinit", @@ -413,24 +393,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Serializing.encode_many.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "KeyValue_interpretation_Tm_arrow_3a6e284d6a75a1cb70aaf20804fbf218", - "KeyValue_interpretation_Tm_arrow_e644f870815d26b6079b97266c1b7e67", + "@query", + "KeyValue_interpretation_Tm_arrow_5c18351913d964077906941c987afebb", "KeyValue_pretyping_93619dfd66afeb6658a655398dcaf8de", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "PureEncoder_interpretation_Tm_arrow_64b86877bb62b38f55a510f3f796798b", + "Serializing_interpretation_Tm_arrow_f9393af8d271da6947c7fccbad44763f", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.sub", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", "equation_FStar.Kremlin.Endianness.bytes", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_IntegerParsing.encode_u32", "equation_KeyValue.byte", - "equation_KeyValue.bytes", "equation_Prims.nat", - "equation_PureEncoder.encode_store", + "equation_FStar.UInt.uint_t", "equation_IntegerParsing.encode_u32", + "equation_KeyValue.byte", "equation_KeyValue.bytes", + "equation_Prims.nat", "equation_PureEncoder.encode_store", "equation_Serializer.writer_inv", "equation_Serializer.writer_valid", "equation_Slice.as_seq", "equation_Slice.bslice_split_at", "equation_Slice.buffer_split_at", "equation_Slice.buffers_adjacent", @@ -439,10 +416,8 @@ "equation_Slice.live", "equation_Slice.same_ref", "fuel_guarded_inversion_KeyValue.store", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", "function_token_typing_KeyValue.__proj__Store__item__entries", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_PureEncoder.encode_entry", "int_inversion", "int_typing", "kinding_KeyValue.encoded_entry@tok", "kinding_KeyValue.store@tok", "kinding_Prims.list@tok", @@ -470,17 +445,17 @@ "projection_inverse_Serializer.Mkwriter_num_entries_written", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", "refinement_interpretation_Tm_refine_15aeaee0fbd135ad20cef4125c051fdc", - "refinement_interpretation_Tm_refine_1e275c3bdc6f11dfc6d6f0feb4abf304", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5e364155df21f0226cecbe41d10a4509", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_6d65138bdcca62dc1368f00ad57b0f47", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_ac564100c94df62b38eecf1bce82dac0", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e7f428a22d8554fbc54e9437c0d794c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_KeyValue.__proj__Store__item__entries", "typing_FStar.Buffer.as_seq", "typing_FStar.Ghost.elift1", "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", @@ -492,7 +467,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "30b2a1fdaa349c627afd6cfedd35697f" + "4199c46851a7d0aeee03d20415d8402b" ], [ "Serializer.join_slices", @@ -501,9 +476,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -517,16 +489,14 @@ "equation_FStar.Buffer.max_length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "equation_Slice.buffers_adjacent", "equation_Slice.byte", - "equation_Slice.is_concat_of", "equation_Slice.lbuffer", - "equation_Slice.same_ref", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Slice.bslice@tok", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "equation_Slice.buffers_adjacent", + "equation_Slice.byte", "equation_Slice.is_concat_of", + "equation_Slice.lbuffer", "equation_Slice.same_ref", + "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.UInt8.t", "kinding_Slice.bslice@tok", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", @@ -542,12 +512,12 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_6189a2d1a8309b48981e73407c0aa96c", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb50bcb401fcc5fc2ef943cb53252bcf", + "refinement_interpretation_Tm_refine_2399b781b4e2acd156f8539be160e221", + "refinement_interpretation_Tm_refine_311272f043d01ff715fc2a0f0c807019", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", @@ -556,7 +526,7 @@ "typing_Slice.u32_add_overflows" ], 0, - "e7161f4ae6ee42c2e76f0afd5f676557" + "4a3091dd5b23549a428aea41fcecedd2" ], [ "Serializer.enc_one_more", @@ -565,7 +535,7 @@ 1, [ "@query" ], 0, - "85558147326afcdcb2e18f87b8228f7d" + "8043f405c3d308c9f5a2e5461b37772a" ], [ "Serializer.enc_one_more", @@ -605,7 +575,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "fb5c02eb41a18c4de69bd6f27858d3e3" + "c8d18758d443d20f61e7db7e729c8ea5" ], [ "Serializer.enc_one_more", @@ -621,11 +591,10 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Serializing.encode_many.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Serializer_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", + "Serializer_interpretation_Tm_arrow_bb3b5ae58de524d182f355f96bc5018f", + "Serializing_interpretation_Tm_arrow_f9393af8d271da6947c7fccbad44763f", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_b9620e3edb0bbe19811bad0989262d92_3", + "binder_x_255774e6e6f8651ac12e506d41639638_3", "binder_x_e09860b75d8922ab497a3e5bc9347578_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -633,27 +602,25 @@ "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_Prims.nat", - "equation_Slice.byte", "equation_Slice.bytes", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_Serializing.encode_many.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_81d0cc9c3afa8a4fab951cfde6909803", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e7f428a22d8554fbc54e9437c0d794c2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac564100c94df62b38eecf1bce82dac0", + "refinement_interpretation_Tm_refine_c890fd83e7f753b5e1c30ba4a4bf95f5", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.length" ], 0, - "a85fe9d34be366776f52b0bc2f623172" + "faf3c2304ba0a8a7b8d546ac1d2b44a6" ], [ "Serializer.max_entries_to_write", @@ -664,15 +631,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "41a2d4c02ab739df5ca4ab2001fe5264" + "2c4af1d5e2412268500d17c5ea815908" ], [ "Serializer.lt_max_entries", @@ -685,11 +649,11 @@ "equation_Serializer.max_entries_to_write", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", + "refinement_interpretation_Tm_refine_24d0e0e85f74bd952a874a0b64d3f414", "typing_Serializer.max_entries_to_write" ], 0, - "6ccd8e71c3e481a90d48514f411a28a9" + "17c63ce1c0f77840dbd42d5b6cc60552" ], [ "Serializer.join_adjacent_stable", @@ -698,27 +662,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "data_elim_Slice.BSlice", "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_Prims.squash", "equation_Serializer.join_slices", "equation_Slice.buffers_adjacent", "equation_Slice.byte", "equation_Slice.is_concat_of", "equation_Slice.lbuffer", "equation_Slice.same_ref", "fuel_guarded_inversion_Slice.bslice", "int_inversion", "int_typing", "l_and-interp", "primitive_Prims.op_Addition", + "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_8462561b0779c4481ed36cfa6b36b6a9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Serializer.join_slices", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_b0a2728403b7abf18a140c7a07e7c5d5", + "typing_Serializer.join_slices" ], 0, - "3b92f601b969473c2b3490b065142781" + "61277d67d8df2c1bbe16776d22c912bd" ], [ "Serializer.writer_append", @@ -727,7 +692,7 @@ 1, [ "@query" ], 0, - "df4f000a97e64dc66621ffd501c64565" + "cd8b198e2db35f3fc5bb0c1e72405dbb" ], [ "Serializer.writer_append", @@ -738,11 +703,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Serializer_interpretation_Tm_arrow_e92d7df14a2197af70d35a770d6aabaa", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "Serializer_interpretation_Tm_ghost_arrow_a59b671c2b180d22774bf3f675d9e751", "Serializer_pretyping_1f083e2e7b6eac176acc28b560d13901", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", @@ -758,7 +723,7 @@ "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.mreference", @@ -797,11 +762,10 @@ "fuel_guarded_inversion_KeyValue.entry_st", "fuel_guarded_inversion_Prims.list", "fuel_guarded_inversion_Serializer.writer", + "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_bc74e5b3628f4158eddb76c2f9030547", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "interpretation_Tm_abs_bd481f35f2a3e930ad4e8742ee503371", "kinding_KeyValue.encoded_entry@tok", "kinding_Prims.list@tok", "kinding_Slice.bslice@tok", "l_and-interp", "l_or-interp", "lemma_FStar.Buffer.no_upd_lemma_1", "lemma_FStar.Ghost.reveal_hide", @@ -839,6 +803,7 @@ "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -862,22 +827,23 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_24d0e0e85f74bd952a874a0b64d3f414", "refinement_interpretation_Tm_refine_290ac0c81fbc928068d0b413636b9c64", - "refinement_interpretation_Tm_refine_2c920a7ebd862f1908093942a4a2b626", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_300749fa2b78b4e9ca6447897d7cb109", - "refinement_interpretation_Tm_refine_39f893b4750a6ce16d30f56f2fb0ada5", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_4ec13a2f70342f937bd4199af6d155fa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_643a58adf3f89a596aa6061a97cbe390", + "refinement_interpretation_Tm_refine_6782aaca8d505340963e5148dd59d489", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_6c73df73778c66d999da99c694d60c59", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_da8d6f96ef3fad21d0dc2ba04842824d", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_f7741478ade30956228c630ade225df4", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", @@ -891,7 +857,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.TSet.set", "typing_FStar.TSet.singleton", - "typing_FStar.UInt32.v", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st", "typing_IntegerParsing.__proj__U32ArraySt__item__a32_st", "typing_IntegerParsing.__proj__U32ArraySt__item__len32_st", @@ -911,7 +877,7 @@ "typing_Slice.buffer_split_at" ], 0, - "9379ba744a2032c98690b79cffe52fad" + "25004ce3febfb23092e0841bc5b60aeb" ], [ "Serializer.join_is_concat", @@ -925,7 +891,7 @@ "typing_FStar.Buffer.__proj__MkBuffer__item__max_length" ], 0, - "6ea276dcf0a4f95f938ceb2611ce529d" + "f9a0b026a417074d7d8982aa4472d9e4" ], [ "Serializer.join_is_concat", @@ -933,10 +899,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.join", "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", @@ -945,12 +909,10 @@ "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "equation_Slice.buffers_adjacent", - "equation_Slice.is_concat_of", "equation_Slice.same_ref", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_Slice.buffers_adjacent", "equation_Slice.is_concat_of", + "equation_Slice.same_ref", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -965,17 +927,17 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "cb464e39ca981987614150beb8a09648" + "c0465d2f72254366983e777261ecb542" ], [ "Serializer.writer_store_buf", @@ -983,25 +945,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.join", "equation_FStar.Buffer.length", "equation_FStar.Buffer.max_length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "equation_Serializer.writer_valid", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_Serializer.writer_valid", "equation_Slice.buffers_adjacent", "equation_Slice.byte", "equation_Slice.is_concat_of", "equation_Slice.lbuffer", "equation_Slice.same_ref", "fuel_guarded_inversion_Serializer.writer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.UInt8.t", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_Serializer.Mkwriter_entries_written_buf", @@ -1010,11 +968,11 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_991cf39df663f115c7fccc2ad9070e46", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", @@ -1027,7 +985,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "21a4bd775c56811222c6a767c9014e5b" + "bb2a770d5fdbee063fcee81c40013e98" ], [ "Serializer.writer_finish", @@ -1129,7 +1087,7 @@ "typing_Slice.buffer_split_at" ], 0, - "046977c555387b08027de3f1db51a94f" + "131eca3491c6b947950b4e251b420ca0" ], [ "Serializer.writer_finish", @@ -1140,10 +1098,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_Serializing.encode_many.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "KeyValue_interpretation_Tm_arrow_e644f870815d26b6079b97266c1b7e67", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", + "PureEncoder_interpretation_Tm_arrow_64b86877bb62b38f55a510f3f796798b", + "Serializing_interpretation_Tm_arrow_f9393af8d271da6947c7fccbad44763f", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", @@ -1163,12 +1120,11 @@ "equation_FStar.HyperStack.ST.reference", "equation_FStar.Kremlin.Endianness.bytes", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_IntegerParsing.encode_u32", "equation_KeyValue.byte", - "equation_KeyValue.bytes", "equation_Prims.nat", - "equation_PureEncoder.encode_store", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_IntegerParsing.encode_u32", + "equation_KeyValue.byte", "equation_KeyValue.bytes", + "equation_Prims.nat", "equation_PureEncoder.encode_store", "equation_Serializer.writer_inv", "equation_Serializer.writer_store_buf", "equation_Serializer.writer_valid", @@ -1187,16 +1143,15 @@ "fuel_guarded_inversion_Serializer.writer", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Kremlin.Endianness.bytes", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_PureEncoder.encode_entry", - "kinding_KeyValue.encoded_entry@tok", "kinding_Prims.list@tok", - "kinding_Slice.bslice@tok", "l_and-interp", + "function_token_typing_PureEncoder.encode_entry", "int_inversion", + "int_typing", "kinding_KeyValue.encoded_entry@tok", + "kinding_Prims.list@tok", "kinding_Slice.bslice@tok", "l_and-interp", "lemma_FStar.Buffer.no_upd_lemma_1", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.TSet.mem_empty", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", @@ -1223,30 +1178,35 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_481255d05c2774ac30bb6f6f38d094c9", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_87239a110817bd08faaa2b20eef3e59f", - "refinement_interpretation_Tm_refine_9cd90bfb9007e98cd620bf3fb107896d", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_09e046c90fafe76dab7682660ed32bac", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_56743ea1dba6e3ac4ab6c124b73b8e19", + "refinement_interpretation_Tm_refine_5e364155df21f0226cecbe41d10a4509", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_ac564100c94df62b38eecf1bce82dac0", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_e7f428a22d8554fbc54e9437c0d794c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f8b56e773e03b6451ecf5b3ace4c8f77", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.content", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", "typing_FStar.Ghost.reveal", - "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Buffer.content", "typing_FStar.Buffer.idx", + "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", + "typing_FStar.Ghost.reveal", "typing_FStar.Heap.trivial_preorder", "typing_FStar.List.Tot.Base.length", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.empty", "typing_FStar.TSet.empty", - "typing_FStar.TSet.set", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_IntegerParsing.encode_u32", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", + "typing_FStar.TSet.empty", "typing_FStar.TSet.set", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_IntegerParsing.encode_u32", "typing_Serializer.__proj__Mkwriter__item__entries_scratch", "typing_Serializer.__proj__Mkwriter__item__entries_written_buf", "typing_Serializer.__proj__Mkwriter__item__entries_written_list", @@ -1258,7 +1218,7 @@ "typing_Slice.bslice_split_at" ], 0, - "4108e6e2d0b8316692396839097cc168" + "67397c41669bb3812d8b3a5e9c98da3a" ], [ "Serializer.enc_entry_st", @@ -1287,7 +1247,7 @@ "typing_KeyValue.__proj__EntrySt__item__val_st" ], 0, - "a0493b7e738180323f9dbb03c11e99b0" + "bf71452c43dbd2029dfa054c4624fd5e" ], [ "Serializer.ser_entry", @@ -1296,10 +1256,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", - "equation_FStar.Monotonic.HyperStack.mem", "equation_IntegerParsing.enc_u16_array_st", "equation_IntegerParsing.enc_u32_array_st", "equation_Serializer.enc_entry_st", @@ -1310,14 +1269,13 @@ "function_token_typing_FStar.TSet.union", "kinding_Slice.bslice@tok", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_singleton", "lemma_FStar.TSet.mem_union", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", "proj_equation_IntegerParsing.U16ArraySt_a16_st", "proj_equation_IntegerParsing.U32ArraySt_a32_st", - "refinement_interpretation_Tm_refine_1b058eec55b9349a86dae0eb736e8183", + "refinement_interpretation_Tm_refine_16800bb23dca3cfcca25f46dbd78a41f", "refinement_interpretation_Tm_refine_643a58adf3f89a596aa6061a97cbe390", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", "refinement_interpretation_Tm_refine_6c73df73778c66d999da99c694d60c59", - "refinement_interpretation_Tm_refine_940f29318c64cfb66f9d035214680773", + "refinement_interpretation_Tm_refine_955b0b0acc7580c36a3f8016b05e1f0a", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", "typing_FStar.TSet.set", "typing_FStar.TSet.singleton", "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st", @@ -1327,7 +1285,7 @@ "typing_Serializer.entry_st_bufs" ], 0, - "ec7c9b9a6b02ab343ccae14f5f5e9c92" + "32ed2677d0267ac75e98fdbe89667ea2" ], [ "Serializer.ser_entry", @@ -1362,7 +1320,7 @@ "typing_Serializer.entry_st_bufs" ], 0, - "97b0472d96e8fe9b7cf2000f48ae9eca" + "5d7b3208236c9c9b3ecd6f0a59bb7ebd" ], [ "Serializer.writer_inv", @@ -1370,24 +1328,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.content", "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.UInt.uint_t", "equation_Serializer.writer_valid", "equation_Slice.buffers_adjacent", "equation_Slice.byte", "equation_Slice.live", "equation_Slice.same_ref", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_AmpAmp", "proj_equation_Serializer.Mkwriter_entries_written_buf", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Serializer.__proj__Mkwriter__item__num_entries_written" ], 0, - "53280ba8193beb36874d2c4176daa9a3" + "b732b1056a37c03a9a516e740ae6d6d9" ], [ "Serializer.adjacent_0len", @@ -1395,16 +1351,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "33346f4f34d31a08d26089c6030e6b72" + "ba0ca87613931fcaa0d9ee4769a6508e" ], [ "Serializer.writer_init", @@ -1413,7 +1366,7 @@ 1, [ "@query" ], 0, - "6b750b77715547f6dc68a956c21686df" + "d7b39258f3e5af11fbabab76fc9a48ff" ], [ "Serializer.writer_reinit", @@ -1422,7 +1375,7 @@ 1, [ "@query" ], 0, - "b90474a420ae806557c841c40b8a503f" + "22009eb8692d905d4b3aeb0cc7dafd85" ], [ "Serializer.join_slices", @@ -1431,9 +1384,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -1447,16 +1397,14 @@ "equation_FStar.Buffer.max_length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "equation_Slice.buffers_adjacent", "equation_Slice.byte", - "equation_Slice.is_concat_of", "equation_Slice.lbuffer", - "equation_Slice.same_ref", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Slice.bslice@tok", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "equation_Slice.buffers_adjacent", + "equation_Slice.byte", "equation_Slice.is_concat_of", + "equation_Slice.lbuffer", "equation_Slice.same_ref", + "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.UInt8.t", "kinding_Slice.bslice@tok", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", @@ -1472,12 +1420,12 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_6189a2d1a8309b48981e73407c0aa96c", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb50bcb401fcc5fc2ef943cb53252bcf", + "refinement_interpretation_Tm_refine_2399b781b4e2acd156f8539be160e221", + "refinement_interpretation_Tm_refine_311272f043d01ff715fc2a0f0c807019", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", @@ -1486,7 +1434,7 @@ "typing_Slice.u32_add_overflows" ], 0, - "ab6b3180ce77eb9333af27088b68b0f9" + "8e0f66a4205f9352cdb095213577ea70" ], [ "Serializer.join_slices", @@ -1497,12 +1445,12 @@ "@MaxIFuel_assumption", "@query", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Slice.byte", + "disc_equation_FStar.Pervasives.Native.Some", "kinding_Slice.bslice@tok", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_6189a2d1a8309b48981e73407c0aa96c" + "refinement_interpretation_Tm_refine_311272f043d01ff715fc2a0f0c807019" ], 0, - "8e12b70d89a6f63b26ebe241fb980faa" + "01a900c0b525985dfb92f203b8f12b79" ], [ "Serializer.enc_one_more", @@ -1511,7 +1459,7 @@ 1, [ "@query" ], 0, - "099b77842f9a292779e8297a6bcc66c4" + "601ebfcb913b19b8a4f5adc4da3e12ca" ], [ "Serializer.max_entries_to_write", @@ -1522,15 +1470,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3e7442a7685ad22dad7fabdf3be1f964" + "d33944c9e825bf238dfdb14a61862606" ], [ "Serializer.join_adjacent_stable", @@ -1540,10 +1485,10 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f0bf28f37c5d3a873e89c7a1d2786573" + "7079fac29b1e1e0efd44ba6b541039dc" ], [ "Serializer.writer_append", @@ -1552,7 +1497,7 @@ 1, [ "@query" ], 0, - "4605e564ebf5cec5f6773b7dd4cf2f66" + "ab12e79e6f045efdeda8e1ae0fb276fe" ], [ "Serializer.join_is_concat", @@ -1566,7 +1511,7 @@ "typing_FStar.Buffer.__proj__MkBuffer__item__max_length" ], 0, - "e7de2ba8ec92ac2b33d8846c8548939f" + "1e3af24d8ce5ab1024b09cfc64c47506" ], [ "Serializer.writer_store_buf", @@ -1574,25 +1519,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.join", "equation_FStar.Buffer.length", "equation_FStar.Buffer.max_length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "equation_Serializer.writer_valid", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_Serializer.writer_valid", "equation_Slice.buffers_adjacent", "equation_Slice.byte", "equation_Slice.is_concat_of", "equation_Slice.lbuffer", "equation_Slice.same_ref", "fuel_guarded_inversion_Serializer.writer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.UInt8.t", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_Serializer.Mkwriter_entries_written_buf", @@ -1601,11 +1542,11 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_991cf39df663f115c7fccc2ad9070e46", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", @@ -1618,7 +1559,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "1f4572e9a4b4affbbe4f60be6c9aeea3" + "548d4b65726e3197fb41b0b279106bed" ], [ "Serializer.writer_finish", @@ -1627,7 +1568,7 @@ 1, [ "@query" ], 0, - "fe1e328191f8a64a397566a56a451ec1" + "842f8a69594b34d2aa1c5f841407a1db" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/Serializing.fst.hints b/examples/kv_parsing/Serializing.fst.hints index 0a450238c4a..a746d33ced0 100644 --- a/examples/kv_parsing/Serializing.fst.hints +++ b/examples/kv_parsing/Serializing.fst.hints @@ -10,23 +10,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bbe273dd12ec67709a094532c038c5b9", + "refinement_interpretation_Tm_refine_03932e6b561134cc896690160dd23beb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "bb05d31cb66c580f70e664fc297eeecb" + "027404c7a42c1137b4762bf6b883deb7" ], [ "Serializing.serialized", @@ -57,7 +55,7 @@ "typing_Serializing.offset_into" ], 0, - "ad3823ebc944376b9aa6d364fed655c1" + "1750789bbf487a1aa71a715b61c7ff59" ], [ "Serializing.buffer_fun", @@ -66,12 +64,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "fuel_guarded_inversion_Slice.bslice", - "refinement_interpretation_Tm_refine_ea21929d14a5897092e531f52b467d3a" + "refinement_interpretation_Tm_refine_438255d1fcd605ab769db9147b541996" ], 0, - "ffc91bf83f4e561fe37d37d09e1906c9" + "bfe1dd93272e36171988cd4b9f29319d" ], [ "Serializing.serializer_any", @@ -80,7 +77,7 @@ 1, [ "@query" ], 0, - "de54e4fb867326859b1b4347b503dde9" + "ab11a79b7c063ec0f57c559658e4f57f" ], [ "Serializing.serializer_1", @@ -88,16 +85,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_Serializing.buffer_fun", "equation_Slice.byte", - "equation_Slice.bytes", - "refinement_interpretation_Tm_refine_51225e3630252cc6e878bb0a6609d41a", - "refinement_interpretation_Tm_refine_9dd2c51694dd3d19c86cbf92e0ab5643", - "refinement_interpretation_Tm_refine_ea21929d14a5897092e531f52b467d3a" + "@MaxIFuel_assumption", "@query", "equation_Serializing.buffer_fun", + "refinement_interpretation_Tm_refine_3b10be5f02c06fce304dbcd6f6b44198", + "refinement_interpretation_Tm_refine_438255d1fcd605ab769db9147b541996", + "refinement_interpretation_Tm_refine_acd41a2cbb798d7aeb02a4f3f8605370" ], 0, - "dd6265349bf1b43f538772cb3bc9ebcf" + "65902afa5024c2c7f1aab5795b95ab5c" ], [ "Serializing.ser_input", @@ -106,8 +100,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -128,7 +120,6 @@ "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.UInt32.n_minus_one", "equation_Serializing.disjoint_from", "equation_Serializing.offset_into", "equation_Serializing.serialized", "equation_Slice.as_seq", @@ -140,12 +131,9 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", "kinding_Slice.bslice@tok", "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.no_upd_lemma_1", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.TSet.mem_empty", "lemma_FStar.TSet.mem_singleton", "lemma_FStar.UInt32.uv_inv", @@ -163,23 +151,23 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_481255d05c2774ac30bb6f6f38d094c9", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_88ed787a4f9fa49c0b6b70d8c489e0c1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_09e046c90fafe76dab7682660ed32bac", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_78ff7ee14a30e35cf526f54910c6b583", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.sel", + "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", @@ -188,7 +176,7 @@ "typing_Slice.bslice_split_at" ], 0, - "4da4ad78cf514f2438475e17c2d9b4ae" + "4af6ea627859ea1b69cf9c998c0a0469" ], [ "Serializing.ser_inputs", @@ -197,8 +185,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -223,22 +209,18 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.TSet.subset", "equation_FStar.UInt32.n_minus_one", - "equation_Serializing.buffer_fun", + "equation_FStar.TSet.subset", "equation_Serializing.buffer_fun", "equation_Serializing.disjoint_from", "equation_Serializing.offset_into", "equation_Serializing.serialized", "equation_Slice.as_seq", "equation_Slice.bslice_split_at", "equation_Slice.buffer_split_at", - "equation_Slice.byte", "equation_Slice.bytes", - "equation_Slice.is_concat_of", "equation_Slice.lbuffer", - "equation_Slice.live", "equation_Slice.modifies_slice", - "equation_Slice.same_ref", + "equation_Slice.byte", "equation_Slice.is_concat_of", + "equation_Slice.lbuffer", "equation_Slice.live", + "equation_Slice.modifies_slice", "equation_Slice.same_ref", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.no_upd_lemma_1", @@ -261,27 +243,26 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_481255d05c2774ac30bb6f6f38d094c9", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_09e046c90fafe76dab7682660ed32bac", + "refinement_interpretation_Tm_refine_0d2689d87ce3e7b06c01888650a0f511", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_3b10be5f02c06fce304dbcd6f6b44198", + "refinement_interpretation_Tm_refine_438255d1fcd605ab769db9147b541996", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_70346e0ffb5f809822223d3f4b05bfbd", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9dd2c51694dd3d19c86cbf92e0ab5643", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ea21929d14a5897092e531f52b467d3a", - "refinement_interpretation_Tm_refine_ff7ef01523b20ef9f4a02c43939579ad", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.domain", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Serializing.offset_into", @@ -289,7 +270,7 @@ "typing_Slice.bslice_split_at" ], 0, - "ef00a371a2d2ef8e3b896b014906f0b8" + "e0ffd7dbceac7dcfb8578be37704f1a0" ], [ "Serializing.ser_append", @@ -298,11 +279,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -312,14 +290,12 @@ "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -336,36 +312,29 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.TSet.union", + "function_token_typing_FStar.UInt8.t", "int_typing", "kinding_Slice.bslice@tok", "l_and-interp", "l_or-interp", "lemma_FStar.Buffer.lemma_disjoint_sub_", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_modifies_1_1", "lemma_FStar.Buffer.lemma_modifies_1_trans", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", - "lemma_FStar.Buffer.lemma_sub_spec_", "lemma_FStar.Buffer.modifies_subbuffer_1", "lemma_FStar.Buffer.no_upd_lemma_1", "lemma_FStar.Buffer.no_upd_lemma_2", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.TSet.mem_union", - "lemma_FStar.UInt32.vu_inv", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -375,35 +344,31 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c920a7ebd862f1908093942a4a2b626", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_0d2689d87ce3e7b06c01888650a0f511", + "refinement_interpretation_Tm_refine_2399b781b4e2acd156f8539be160e221", + "refinement_interpretation_Tm_refine_3b10be5f02c06fce304dbcd6f6b44198", + "refinement_interpretation_Tm_refine_438255d1fcd605ab769db9147b541996", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_6909585d1372234410b425dcd2d8f443", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_8ff646b4dee05def6a3903e39a5862ac", - "refinement_interpretation_Tm_refine_9a0c20403209c2c6477943d9be82fd26", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_9dd2c51694dd3d19c86cbf92e0ab5643", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb50bcb401fcc5fc2ef943cb53252bcf", - "refinement_interpretation_Tm_refine_ea21929d14a5897092e531f52b467d3a", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_da8d6f96ef3fad21d0dc2ba04842824d", + "refinement_interpretation_Tm_refine_dfb5cece6917cfd531d86c86e58838ba", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_f7741478ade30956228c630ade225df4", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", - "refinement_interpretation_Tm_refine_ff7ef01523b20ef9f4a02c43939579ad", "token_correspondence_FStar.TSet.union", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.length", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.sub", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.reveal", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.HyperStack.contains", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.TSet.set", "typing_FStar.UInt32.uint_to_t", @@ -413,7 +378,7 @@ "typing_Slice.buffer_split_at", "typing_Slice.u32_add_overflows" ], 0, - "4c02905562eea2fce1a60c9d83f75f29" + "8c6dc07f715308efc97445f0fc020fe7" ], [ "Serializing.ser_copy", @@ -423,14 +388,13 @@ [ "@MaxIFuel_assumption", "@query", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", - "equation_FStar.Monotonic.HyperStack.mem", "fuel_guarded_inversion_Slice.bslice", "kinding_Slice.bslice@tok", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_singleton", - "refinement_interpretation_Tm_refine_51225e3630252cc6e878bb0a6609d41a", + "refinement_interpretation_Tm_refine_acd41a2cbb798d7aeb02a4f3f8605370", "typing_FStar.TSet.set", "typing_FStar.TSet.singleton" ], 0, - "924947be69f16ece3329e3cc6f8e2472" + "5bc4ef96816a68491900401de95bdd0c" ], [ "Serializing.ser_copy", @@ -439,8 +403,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -477,14 +439,16 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Slice.bslice@tok", - "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "kinding_Slice.bslice@tok", "l_and-interp", + "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_modifies_sub_1", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.no_upd_lemma_1", - "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.Buffer.lemma_sub_spec_", + "lemma_FStar.Buffer.modifies_subbuffer_1", + "lemma_FStar.Buffer.no_upd_lemma_1", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_length", "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.TSet.mem_singleton", @@ -493,14 +457,13 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_idx", + "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", @@ -508,37 +471,42 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_88ed787a4f9fa49c0b6b70d8c489e0c1", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5662765762acc7e89137a981eaa9fed9", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_78ff7ee14a30e35cf526f54910c6b583", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_9ba9e67f4d75e75b41dae703cad31689", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b8020ef95107585784dd2fc477401b1b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c1f0a48fa6ba9c0fadc0d664c7bf5dfe", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Buffer.length", "typing_FStar.Buffer.lseq", + "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.sel", + "typing_FStar.Buffer.sub", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.TSet.set", - "typing_FStar.TSet.singleton", "typing_FStar.UInt32.add", + "typing_FStar.TSet.singleton", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "53a3e515ae297052b73c8a0ddf7960e3" + "9f124f7f89139222d3eab98e36a17822" ], [ "Serializing.encode_many", @@ -549,23 +517,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bbe273dd12ec67709a094532c038c5b9", + "refinement_interpretation_Tm_refine_03932e6b561134cc896690160dd23beb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "ddf791f27db54366ec6d4a325bd741ac" + "44ced2d7d9e8bbaec20951695207ad73" ], [ "Serializing.serialized", @@ -602,7 +568,7 @@ "typing_Serializing.offset_into" ], 0, - "47a728b6bd0d6be07569894bfa354abe" + "3a11b6895a34a9343318a21a2e54f9a8" ], [ "Serializing.buffer_fun", @@ -611,12 +577,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "fuel_guarded_inversion_Slice.bslice", - "refinement_interpretation_Tm_refine_ea21929d14a5897092e531f52b467d3a" + "refinement_interpretation_Tm_refine_438255d1fcd605ab769db9147b541996" ], 0, - "a38de619e5664a0c39dcf6b7fbd506b9" + "563919777197ee322aa3bfa38a04c445" ], [ "Serializing.serializer_any", @@ -625,7 +590,7 @@ 1, [ "@query" ], 0, - "dad0af164772d9eb5ac2eea9674d6567" + "0bec0bc38052eb4562460875c645246f" ], [ "Serializing.serializer_1", @@ -633,16 +598,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_Serializing.buffer_fun", "equation_Slice.byte", - "equation_Slice.bytes", - "refinement_interpretation_Tm_refine_51225e3630252cc6e878bb0a6609d41a", - "refinement_interpretation_Tm_refine_9dd2c51694dd3d19c86cbf92e0ab5643", - "refinement_interpretation_Tm_refine_ea21929d14a5897092e531f52b467d3a" + "@MaxIFuel_assumption", "@query", "equation_Serializing.buffer_fun", + "refinement_interpretation_Tm_refine_3b10be5f02c06fce304dbcd6f6b44198", + "refinement_interpretation_Tm_refine_438255d1fcd605ab769db9147b541996", + "refinement_interpretation_Tm_refine_acd41a2cbb798d7aeb02a4f3f8605370" ], 0, - "f46fd6c2f0968824eb91eef2de481fa7" + "49b44423036a735f550dd64e0eab76ec" ], [ "Serializing.ser_input", @@ -651,8 +613,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -673,7 +633,6 @@ "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.UInt32.n_minus_one", "equation_Serializing.disjoint_from", "equation_Serializing.offset_into", "equation_Serializing.serialized", "equation_Slice.as_seq", @@ -685,12 +644,9 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", "kinding_Slice.bslice@tok", "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.no_upd_lemma_1", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.TSet.mem_empty", "lemma_FStar.TSet.mem_singleton", "lemma_FStar.UInt32.uv_inv", @@ -708,23 +664,23 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_2efb162c1c79e36361eb6076f008d10a", - "refinement_interpretation_Tm_refine_481255d05c2774ac30bb6f6f38d094c9", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_88ed787a4f9fa49c0b6b70d8c489e0c1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_09e046c90fafe76dab7682660ed32bac", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_55b3b8debb05ed29e91f9b16ae416cef", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_78ff7ee14a30e35cf526f54910c6b583", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.sel", + "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_FStar.TSet.empty", "typing_FStar.TSet.set", @@ -733,7 +689,7 @@ "typing_Slice.bslice_split_at" ], 0, - "f903da4c96e278b9850423fa0353acdb" + "7ff53faa51dd19d31ad21e9778e16e98" ], [ "Serializing.ser_inputs", @@ -742,8 +698,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -768,22 +722,18 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.TSet.subset", "equation_FStar.UInt32.n_minus_one", - "equation_Serializing.buffer_fun", + "equation_FStar.TSet.subset", "equation_Serializing.buffer_fun", "equation_Serializing.disjoint_from", "equation_Serializing.offset_into", "equation_Serializing.serialized", "equation_Slice.as_seq", "equation_Slice.bslice_split_at", "equation_Slice.buffer_split_at", - "equation_Slice.byte", "equation_Slice.bytes", - "equation_Slice.is_concat_of", "equation_Slice.lbuffer", - "equation_Slice.live", "equation_Slice.modifies_slice", - "equation_Slice.same_ref", + "equation_Slice.byte", "equation_Slice.is_concat_of", + "equation_Slice.lbuffer", "equation_Slice.live", + "equation_Slice.modifies_slice", "equation_Slice.same_ref", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.no_upd_lemma_1", @@ -806,27 +756,26 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_481255d05c2774ac30bb6f6f38d094c9", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_09e046c90fafe76dab7682660ed32bac", + "refinement_interpretation_Tm_refine_0d2689d87ce3e7b06c01888650a0f511", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_3b10be5f02c06fce304dbcd6f6b44198", + "refinement_interpretation_Tm_refine_438255d1fcd605ab769db9147b541996", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_70346e0ffb5f809822223d3f4b05bfbd", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9dd2c51694dd3d19c86cbf92e0ab5643", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ea21929d14a5897092e531f52b467d3a", - "refinement_interpretation_Tm_refine_ff7ef01523b20ef9f4a02c43939579ad", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.domain", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Serializing.offset_into", @@ -834,7 +783,7 @@ "typing_Slice.bslice_split_at" ], 0, - "815f6f7b2d9d4dce1754e02e18a505bb" + "9eedac795e0139db95296e3587070425" ], [ "Serializing.ser_inputs", @@ -842,16 +791,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.TSet.subset", "equation_Serializing.buffer_fun", - "equation_Slice.byte", "equation_Slice.bytes", - "refinement_interpretation_Tm_refine_70346e0ffb5f809822223d3f4b05bfbd", - "refinement_interpretation_Tm_refine_9dd2c51694dd3d19c86cbf92e0ab5643", - "refinement_interpretation_Tm_refine_ea21929d14a5897092e531f52b467d3a" + "@MaxIFuel_assumption", "@query", "equation_FStar.TSet.subset", + "equation_Serializing.buffer_fun", + "refinement_interpretation_Tm_refine_3b10be5f02c06fce304dbcd6f6b44198", + "refinement_interpretation_Tm_refine_438255d1fcd605ab769db9147b541996", + "refinement_interpretation_Tm_refine_70346e0ffb5f809822223d3f4b05bfbd" ], 0, - "514b8127200f543ff2e1550414d97efa" + "14046df372711b8c2be638970f0c181d" ], [ "Serializing.ser_append", @@ -860,11 +807,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -879,9 +823,7 @@ "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -898,26 +840,21 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.TSet.union", + "function_token_typing_FStar.UInt8.t", "int_typing", "kinding_Slice.bslice@tok", "l_and-interp", "l_or-interp", "lemma_FStar.Buffer.lemma_disjoint_sub_", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_modifies_1_1", "lemma_FStar.Buffer.lemma_modifies_1_trans", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", - "lemma_FStar.Buffer.lemma_sub_spec_", "lemma_FStar.Buffer.modifies_subbuffer_1", "lemma_FStar.Buffer.no_upd_lemma_1", "lemma_FStar.Buffer.no_upd_lemma_2", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.TSet.mem_union", - "lemma_FStar.UInt32.vu_inv", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_length", @@ -927,6 +864,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_content", + "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -937,45 +875,38 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c920a7ebd862f1908093942a4a2b626", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_0d2689d87ce3e7b06c01888650a0f511", + "refinement_interpretation_Tm_refine_2399b781b4e2acd156f8539be160e221", + "refinement_interpretation_Tm_refine_3b10be5f02c06fce304dbcd6f6b44198", + "refinement_interpretation_Tm_refine_438255d1fcd605ab769db9147b541996", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_6909585d1372234410b425dcd2d8f443", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_8ff646b4dee05def6a3903e39a5862ac", - "refinement_interpretation_Tm_refine_9a0c20403209c2c6477943d9be82fd26", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_9dd2c51694dd3d19c86cbf92e0ab5643", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb50bcb401fcc5fc2ef943cb53252bcf", - "refinement_interpretation_Tm_refine_ea21929d14a5897092e531f52b467d3a", - "refinement_interpretation_Tm_refine_f7741478ade30956228c630ade225df4", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", - "refinement_interpretation_Tm_refine_ff7ef01523b20ef9f4a02c43939579ad", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_dfb5cece6917cfd531d86c86e58838ba", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.TSet.union", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.length", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.sub", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.reveal", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.HyperStack.contains", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.TSet.set", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_Serializing.offset_into", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", - "typing_Slice.buffer_split_at", "typing_Slice.u32_add_overflows" + "typing_Slice.u32_add_overflows" ], 0, - "d0d160de94a52d02938be45f286477c8" + "42f54237db28de18fc00f6aae5971a13" ], [ "Serializing.ser_append", @@ -984,24 +915,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Serializing_interpretation_Tm_arrow_c37c3e8dcdaf3a6b9af1c16fbb2fb00f", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_Serializing.buffer_fun", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "kinding_Slice.bslice@tok", "l_or-interp", - "lemma_FStar.TSet.mem_union", - "partial_app_typing_d6e269522b119d7234348f5f00fe3a5f", + "equation_Serializing.buffer_fun", + "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.TSet.union", "kinding_Slice.bslice@tok", + "l_or-interp", "lemma_FStar.TSet.mem_union", + "refinement_interpretation_Tm_refine_3b10be5f02c06fce304dbcd6f6b44198", + "refinement_interpretation_Tm_refine_438255d1fcd605ab769db9147b541996", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_9a0c20403209c2c6477943d9be82fd26", - "refinement_interpretation_Tm_refine_9dd2c51694dd3d19c86cbf92e0ab5643", - "refinement_interpretation_Tm_refine_ea21929d14a5897092e531f52b467d3a", + "refinement_interpretation_Tm_refine_6909585d1372234410b425dcd2d8f443", "token_correspondence_FStar.TSet.union", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.reveal", "typing_FStar.TSet.set" ], 0, - "dc35c76a5d25b70dfd3df57a445d6ec8" + "303d4091d319c102d5bf1f5f202b4100" ], [ "Serializing.ser_copy", @@ -1010,8 +939,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -1048,14 +975,16 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Slice.bslice@tok", - "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "kinding_Slice.bslice@tok", "l_and-interp", + "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_modifies_sub_1", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.no_upd_lemma_1", - "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.Buffer.lemma_sub_spec_", + "lemma_FStar.Buffer.modifies_subbuffer_1", + "lemma_FStar.Buffer.no_upd_lemma_1", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_length", "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.TSet.mem_singleton", @@ -1064,14 +993,13 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_idx", + "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", @@ -1079,37 +1007,42 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_88ed787a4f9fa49c0b6b70d8c489e0c1", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5662765762acc7e89137a981eaa9fed9", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_78ff7ee14a30e35cf526f54910c6b583", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_9ba9e67f4d75e75b41dae703cad31689", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b8020ef95107585784dd2fc477401b1b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c1f0a48fa6ba9c0fadc0d664c7bf5dfe", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Buffer.length", "typing_FStar.Buffer.lseq", + "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.sel", + "typing_FStar.Buffer.sub", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.TSet.set", - "typing_FStar.TSet.singleton", "typing_FStar.UInt32.add", + "typing_FStar.TSet.singleton", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "7e4c211e19b42e69e3ef720154263fa3" + "e7c685eb267d306e877c846f36d54096" ], [ "Serializing.ser_copy", @@ -1119,14 +1052,13 @@ [ "@MaxIFuel_assumption", "@query", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", - "equation_FStar.Monotonic.HyperStack.mem", "fuel_guarded_inversion_Slice.bslice", "kinding_Slice.bslice@tok", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.TSet.mem_singleton", - "refinement_interpretation_Tm_refine_51225e3630252cc6e878bb0a6609d41a", + "refinement_interpretation_Tm_refine_acd41a2cbb798d7aeb02a4f3f8605370", "typing_FStar.TSet.set", "typing_FStar.TSet.singleton" ], 0, - "9eef506587568bcc0f3990a4cd2021ed" + "b36e28f801cd6e5efb1fefd0d5bfa988" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/Slice.fst.hints b/examples/kv_parsing/Slice.fst.hints index 1cde548bd55..abcfdf0b1a0 100644 --- a/examples/kv_parsing/Slice.fst.hints +++ b/examples/kv_parsing/Slice.fst.hints @@ -7,16 +7,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "d8ad232aad27c0e1b589dd1bdb55a052" + "8705752be92a16b427ada71f1276531b" ], [ "Slice.__proj__BSlice__item__p", @@ -24,16 +21,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "fd69b6224c62d9d3bf9a354333dca2af" + "2194ba428feb1c292f81f4a747ac3290" ], [ "Slice.__proj__BSlice__item__p", @@ -44,17 +38,16 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_Slice.BSlice", "equation_FStar.UInt.uint_t", - "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", + "equation_Slice.lbuffer", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "proj_equation_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "fa55926541a1c9d2efcd25074adee645" + "a08418472d5248dac63dfc6b45eb4644" ], [ "Slice.as_seq", @@ -62,14 +55,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Slice.byte", - "equation_Slice.lbuffer", "proj_equation_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac", + "@MaxIFuel_assumption", "@query", "equation_Slice.lbuffer", + "proj_equation_Slice.BSlice_p", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_77dd0e9556afadacd119b8c135278728", "typing_Slice.__proj__BSlice__item__p" ], 0, - "392b8af2f8ae0f6b5b7726db212429a5" + "693231eeb7b55a16cd6068a4779099aa" ], [ "Slice.advance_slice", @@ -77,27 +70,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", + "equation_Slice.lbuffer", "fuel_guarded_inversion_Slice.bslice", "int_inversion", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "c37cb5c987958222f410f8de9c11ba90" + "7fef21de1ce5153a92bda70b2c3beacc" ], [ "Slice.advance_slice_spec", @@ -108,10 +98,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "data_elim_Slice.BSlice", + "b2t_def", "bool_inversion", "data_elim_Slice.BSlice", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sub", @@ -122,18 +109,14 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.squash", "equation_Slice.advance_slice", - "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.bytes", "equation_Slice.lbuffer", + "equation_FStar.UInt.uint_t", "equation_Prims.squash", + "equation_Slice.advance_slice", "equation_Slice.as_seq", + "equation_Slice.byte", "equation_Slice.lbuffer", "equation_Slice.live", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_offset_spec", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -150,27 +133,28 @@ "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", - "typing_Slice.as_seq", "unit_typing" + "typing_Slice.as_seq" ], 0, - "cb4927e0a0fec56232d4fe0e439b7530" + "1e2051d45a35b0db9f2ff9a7ddce2dc2" ], [ "Slice.u32_add_overflows", @@ -181,26 +165,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", + "b2t_def", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.n", - "equation_Prims.nat", "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt32.lt", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "e7c6d22be4b72708bace9194e7ba51b3" + "fb5ff57f6d6c98d09e24f2bac809909a" ], [ "Slice.truncate_slice", @@ -210,15 +191,14 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Slice.byte", - "equation_Slice.bytes", "primitive_Prims.op_AmpAmp", + "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8" + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e" ], 0, - "330efdb8d79a7a49182bf0ba1d9c7d50" + "172ce8d49d51c2404c0c6eaa294246b4" ], [ "Slice.truncate_slice", @@ -226,11 +206,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.HyperStack.MkRef", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", @@ -252,9 +229,8 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_Addition", @@ -270,18 +246,18 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_32f60b3fbad7ec3e9e3687553efef84b", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_94aab3fda88bca28d907a6441510fa92", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", @@ -295,7 +271,7 @@ "typing_Slice.__proj__BSlice__item__p" ], 0, - "62a0882e0f58acba81ce6a2ab5029b5d" + "a1ed2453c8053afd0ae5c4720f71a72a" ], [ "Slice.truncated_slice", @@ -303,27 +279,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", + "equation_Slice.lbuffer", "fuel_guarded_inversion_Slice.bslice", "int_inversion", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "4efadf3670155a984705862309bfdf55" + "09c78adf6a5da5a7eca9c07690229e07" ], [ "Slice.bslice_prefix_equals", @@ -345,7 +318,7 @@ "unit_typing" ], 0, - "2b6cae2ae6ce8026ddc76a72a712ed62" + "37a6757e7f032b275c8d62889d94350e" ], [ "Slice.bslice_prefix_equals", @@ -363,7 +336,7 @@ "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0" ], 0, - "2a874c174673270b540af219f6e8405f" + "14b195cf943a3f93e6dcce042f45035c" ], [ "Slice.bslice_prefix_trans", @@ -376,7 +349,7 @@ "equation_Slice.byte", "proj_equation_Slice.BSlice_p" ], 0, - "6d3641e7d848860e042c6ce3899f3b33" + "8ca145c5a414df3d9b56f2a75ca0fd7c" ], [ "Slice.u32_max", @@ -392,7 +365,7 @@ "projection_inverse_BoxBool_proj_0", "typing_FStar.UInt32.lte" ], 0, - "ed27b8bed401867942384795635ceb3b" + "3b2a0997db4ab232d138fd70748f246a" ], [ "Slice.modifies_prefix_plus", @@ -400,14 +373,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Slice.BSlice", "equation_FStar.Buffer.as_addr", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "data_elim_Slice.BSlice", + "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.sub", "equation_FStar.Buffer.to_set_2", @@ -418,16 +389,14 @@ "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n_minus_one", - "equation_Slice.byte", "equation_Slice.lbuffer", - "equation_Slice.modifies_prefix", "equation_Slice.modifies_slice", - "equation_Slice.truncated_slice", "equation_Slice.u32_max", + "equation_FStar.UInt32.lte", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.modifies_prefix", + "equation_Slice.modifies_slice", "equation_Slice.truncated_slice", + "equation_Slice.u32_max", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_modifies_one_trans_1", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Buffer.lemma_modifies_one_trans_1", "lemma_FStar.Buffer.modifies_trans_1_1_", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_content", @@ -442,10 +411,10 @@ "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_94fdc9e7624951c3a6c3f7b993e5417d", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_cd051eccb91e0e835da7693ad7be2e0c", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Slice.modifies_prefix", "token_correspondence_Slice.modifies_slice", "typing_FStar.Buffer.frameOf", "typing_FStar.UInt32.v", @@ -453,7 +422,7 @@ "typing_Slice.truncated_slice", "typing_Slice.u32_max" ], 0, - "3085cb8615c972beaf139a35e057646c" + "e658be4ccc8112431961d14e778b5b02" ], [ "Slice.modifies_prefix_times", @@ -461,10 +430,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_Slice.BSlice", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_Slice.BSlice", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.frameOf", @@ -486,26 +453,21 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "equation_Slice.advance_slice", + "equation_FStar.UInt.uint_t", "equation_Slice.advance_slice", "equation_Slice.byte", "equation_Slice.lbuffer", "equation_Slice.modifies_prefix", "equation_Slice.modifies_slice", "equation_Slice.truncated_slice", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_modifies_one_trans_1", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.modifies_trans_1_1_", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", @@ -521,25 +483,24 @@ "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b92a7691dcaf3692bddc722ec2f36d33", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f524968dcb3a38eaee95645c8472357a", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "token_correspondence_Slice.modifies_prefix", "token_correspondence_Slice.modifies_slice", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.sub", "typing_FStar.Map.contains", + "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.sub", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", @@ -548,7 +509,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice" ], 0, - "acd21e70927b37020af3744cdf0309bb" + "28ee83fbd1c298c28eb053231d2895cc" ], [ "Slice.same_ref_equivalence", @@ -557,7 +518,7 @@ 1, [ "@query", "equation_Slice.same_ref" ], 0, - "dae7cc1e142d7f63aa80f2d972ee60ca" + "20c0015a4169fab27d01a8ba04d3f463" ], [ "Slice.is_concat_liveness", @@ -573,7 +534,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem" ], 0, - "702db47a95bd9bc4b8777a989144f89f" + "e1aadda512b060810734e97dd563b0da" ], [ "Slice.is_concat_disjoint", @@ -590,7 +551,7 @@ "typing_FStar.Buffer.__proj__MkBuffer__item__max_length" ], 0, - "7a2f8a58d50c7e4ef80acb1c666d03c0" + "43e5a093c45e7dbe33b030f75b46b9b2" ], [ "Slice.is_concat_append", @@ -598,26 +559,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sel", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "equation_Slice.buffers_adjacent", "equation_Slice.is_concat_of", - "equation_Slice.same_ref", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", + "equation_Prims.nat", "equation_Slice.buffers_adjacent", + "equation_Slice.is_concat_of", "equation_Slice.same_ref", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -631,16 +587,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_75fe8a65f5666eaf920693fe19efc919", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_862b7620d8625da8f5f09569fcc4aa37", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.content", @@ -652,7 +608,7 @@ "typing_FStar.Monotonic.HyperStack.sel" ], 0, - "49d285617c293688019418602b8d020b" + "14190cba323caa2bd1a1ce02cecf3fa5" ], [ "Slice.is_concat_suffix", @@ -663,9 +619,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", + "b2t_def", "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", @@ -682,17 +636,12 @@ "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "equation_Slice.buffers_adjacent", "equation_Slice.is_concat_of", - "equation_Slice.same_ref", + "equation_Prims.nat", "equation_Slice.buffers_adjacent", + "equation_Slice.is_concat_of", "equation_Slice.same_ref", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Buffer.lemma_offset_spec", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", @@ -710,20 +659,21 @@ "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_824d2ceea0878576f4fa9b454895d083", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", - "refinement_interpretation_Tm_refine_ead60fa393de493a6960365861c87f8e", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", @@ -732,14 +682,14 @@ "typing_FStar.Buffer.length", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.offset", "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "8dcccbd45e197cca73286fc5da65533c" + "05e71e7c790794b09779b93c2106abe8" ], [ "Slice.is_concat_prefix", @@ -749,14 +699,12 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Monotonic.HyperStack_pretyping_fefbd35e6ac4b27a757485121cb06767", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", + "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", + "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -764,20 +712,16 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "equation_Slice.buffers_adjacent", "equation_Slice.is_concat_of", - "equation_Slice.same_ref", + "equation_Prims.nat", "equation_Slice.buffers_adjacent", + "equation_Slice.is_concat_of", "equation_Slice.same_ref", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", @@ -786,27 +730,27 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_75fe8a65f5666eaf920693fe19efc919", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel" ], 0, - "cfdbeb93073ff44c93f1e262109922cd" + "6f0360d7d6b1b596d9474b28a5c1a5d6" ], [ "Slice.buffer_split_at", @@ -867,7 +811,7 @@ "typing_FStar.UInt32.v" ], 0, - "6fd28d5209d78b8efc895075bf1cdf61" + "e646d4829af8ec99f5840755e8d7910c" ], [ "Slice.buffer_split_at", @@ -928,7 +872,7 @@ "typing_FStar.UInt32.v" ], 0, - "18a49d3e6a63b23cfbf34cde976b940b" + "1a78737b1eaf9d7022a38eaff5fc50fd" ], [ "Slice.buffer_split_at", @@ -936,24 +880,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Buffer.MkBuffer", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", + "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_Slice.buffers_adjacent", "equation_Slice.is_concat_of", "equation_Slice.same_ref", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -967,15 +907,16 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2c920a7ebd862f1908093942a4a2b626", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_a4cb8792c1d9ba659879a4bf3fbcee8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_da8d6f96ef3fad21d0dc2ba04842824d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", @@ -984,7 +925,7 @@ "typing_FStar.UInt32.v" ], 0, - "c843807f7f5c75d0794d643da80686e1" + "16ce9ea91997b0fdfdc8becf6221112a" ], [ "Slice.bslice_split_at", @@ -993,17 +934,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.sub", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Slice.buffer_split_at", "equation_Slice.byte", - "equation_Slice.lbuffer", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "data_elim_Slice.BSlice", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.sub", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Slice.buffer_split_at", + "equation_Slice.byte", "equation_Slice.lbuffer", + "fuel_guarded_inversion_Slice.bslice", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", @@ -1014,13 +954,13 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "744be8ce69be4c9eb4c301546b960547" + "2e882467d9c3a5ede74aeada85c410d7" ], [ "Slice.modifies_prefix_seq_intro", @@ -1028,14 +968,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Slice.byte", "equation_Slice.bytes", + "@MaxIFuel_assumption", "@query", "fuel_guarded_inversion_Slice.bslice", - "refinement_interpretation_Tm_refine_6b4236536050058f1168699821eb4510", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8" + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_ce73caf971ab960d176981762c6e6b39" ], 0, - "aa5f7c66a84ee4e6877e4810bf8f7830" + "705599a3aa3b25227bb293b7191f61b7" ], [ "Slice.modifies_prefix_seq_intro", @@ -1044,7 +983,7 @@ 1, [ "@query", "equation_Slice.modifies_slice" ], 0, - "7a5aa9ce3470ad985de4cc10754634f6" + "88ae80b882883bbae37fb5d41b6d3620" ], [ "Slice.modifies_prefix_split", @@ -1052,21 +991,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.length", "equation_FStar.UInt.uint_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Slice.byte", "equation_Slice.is_concat_of", - "equation_Slice.lbuffer", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", - "proj_equation_Slice.BSlice_p", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "equation_Slice.lbuffer", "lemma_FStar.Buffer.lemma_size", + "primitive_Prims.op_Addition", "proj_equation_Slice.BSlice_p", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "8a98a1209035193ebb173a145b8fe969" + "3160fad0b278ee2a7b6fc560f4820209" ], [ "Slice.modifies_prefix_split", @@ -1075,7 +1011,7 @@ 1, [ "@query", "equation_Slice.live" ], 0, - "9a38b609ba0a14076747e6139f667f03" + "cf78523c262c6b36023af68a26d52e31" ], [ "Slice.modifies_grow_from_b1", @@ -1083,29 +1019,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.max_length", - "equation_FStar.UInt.uint_t", "equation_Slice.byte", - "equation_Slice.is_concat_of", "equation_Slice.lbuffer", - "equation_Slice.live", "equation_Slice.modifies_slice", - "equation_Slice.same_ref", "fuel_guarded_inversion_Slice.bslice", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.max_length", "equation_FStar.UInt.uint_t", + "equation_Slice.byte", "equation_Slice.is_concat_of", + "equation_Slice.lbuffer", "equation_Slice.live", + "equation_Slice.modifies_slice", "equation_Slice.same_ref", + "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "2de80bb3104b9bfc624c5022fc383e3d" + "dfe2d1f149a777cf61cdaf3cdadd46b3" ], [ "Slice.modifies_grow_from_b2", @@ -1113,30 +1047,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.max_length", - "equation_FStar.UInt.uint_t", "equation_Slice.buffers_adjacent", - "equation_Slice.byte", "equation_Slice.is_concat_of", - "equation_Slice.lbuffer", "equation_Slice.live", - "equation_Slice.modifies_slice", "equation_Slice.same_ref", - "fuel_guarded_inversion_Slice.bslice", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.max_length", "equation_FStar.UInt.uint_t", + "equation_Slice.buffers_adjacent", "equation_Slice.byte", + "equation_Slice.is_concat_of", "equation_Slice.lbuffer", + "equation_Slice.live", "equation_Slice.modifies_slice", + "equation_Slice.same_ref", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "a3ec5e823fa936ae8e11dcf40735f394" + "dce3f79fcb8c52ec28159ca353390705" ], [ "Slice.bslice", @@ -1144,16 +1075,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "c0a3214dc03cfabbc136ee30f47dd5f9" + "a3d4289f1eadf31f70b26a07a355ff20" ], [ "Slice.__proj__BSlice__item__p", @@ -1161,16 +1089,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "396cb6a4420bc7904c7c76aaaab93b31" + "1fd09cb87c51fa2532a3d35e091ffd1c" ], [ "Slice.__proj__BSlice__item__p", @@ -1181,17 +1106,16 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_Slice.BSlice", "equation_FStar.UInt.uint_t", - "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", + "equation_Slice.lbuffer", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "proj_equation_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "1a3715de24d66400bb5da56e2dfe4e5a" + "27730a839c546d66d3773d522c00d2dc" ], [ "Slice.as_seq", @@ -1200,14 +1124,13 @@ 1, [ "@MaxIFuel_assumption", "@query", "data_elim_Slice.BSlice", - "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", + "equation_Slice.lbuffer", "fuel_guarded_inversion_Slice.bslice", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac" + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_77dd0e9556afadacd119b8c135278728" ], 0, - "dd05cfe90a427f68f12048cbbe58a9fa" + "ac4689a58c886112b3f3603b6d36a3a5" ], [ "Slice.as_seq", @@ -1216,7 +1139,7 @@ 1, [ "@query" ], 0, - "68f680b586348ea1bd4c9dc69cb27988" + "9be50b1ecf46ba2dc16d4694cd1f06f1" ], [ "Slice.advance_slice", @@ -1224,27 +1147,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", + "equation_Slice.lbuffer", "fuel_guarded_inversion_Slice.bslice", "int_inversion", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "fb3c1f09d6e60d094d5ed84200653473" + "2f7e83b18c3d54e03021df4e8b844e10" ], [ "Slice.advance_slice_spec", @@ -1252,25 +1172,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.live", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.UInt.uint_t", "equation_Prims.squash", - "equation_Slice.byte", "equation_Slice.bytes", "equation_Slice.live", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Slice.byte", "equation_Slice.live", + "fuel_guarded_inversion_Slice.bslice", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "7bf9170723ec4e8aa5986a3ff0ba1717" + "185529089cf3a1119582e281dbc8766d" ], [ "Slice.u32_add_overflows", @@ -1281,26 +1199,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", + "b2t_def", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.n", - "equation_Prims.nat", "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt32.lt", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "f9f6d4dcf73d29fe8794a9f6de6cff4e" + "2c732e6ec29631fcf071f7f614c55d0e" ], [ "Slice.truncate_slice", @@ -1310,15 +1225,14 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Slice.byte", - "equation_Slice.bytes", "primitive_Prims.op_AmpAmp", + "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8" + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e" ], 0, - "2378cd0d1623adbdd0d716264c9b0e17" + "0e3734ce76e47fd8878c556600909ebf" ], [ "Slice.truncated_slice", @@ -1326,27 +1240,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", + "equation_Slice.lbuffer", "fuel_guarded_inversion_Slice.bslice", "int_inversion", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "b8568a42b6273a05ef9739de234305c0" + "5b6b34d18ce5e3e3b3832ba8d667fd9f" ], [ "Slice.bslice_prefix_equals", @@ -1368,7 +1279,7 @@ "unit_typing" ], 0, - "e51d045bea76aa1fe3ccaa089a903e65" + "60b2e7d3353fb181889eec23f1b7b1ae" ], [ "Slice.u32_max", @@ -1384,7 +1295,7 @@ "projection_inverse_BoxBool_proj_0", "typing_FStar.UInt32.lte" ], 0, - "634fd6686802ddd081c9dbfddc3eed3c" + "6a771bfb22111baaff431b585bb76651" ], [ "Slice.modifies_prefix_plus", @@ -1393,10 +1304,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Slice.u32_max", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43" + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e" ], 0, - "a67b9a0bc38527cddda101de406c4607" + "0f7c7e076d6f6468f4b6a875d22b204c" ], [ "Slice.modifies_prefix_times", @@ -1404,42 +1315,36 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Slice.advance_slice", + "equation_FStar.UInt.uint_t", "equation_Slice.advance_slice", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Slice.BSlice_len", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b92a7691dcaf3692bddc722ec2f36d33", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f524968dcb3a38eaee95645c8472357a", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_Slice.__proj__BSlice__item__len" + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "eb1b47badc31ec00258eaee9b4123d5f" + "0d8c1cd9743c09a8d893fae65d341026" ], [ "Slice.is_concat_suffix", @@ -1454,12 +1359,12 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length" ], 0, - "4ad2a3d5f4337a0a40dd0d400d9803ff" + "7b8892c02dfe9fe4d51d2d69c198d34f" ], [ "Slice.is_concat_prefix", @@ -1474,12 +1379,12 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length" ], 0, - "edcba96b9d446ddf53692c58b85136bb" + "0cec37f42bb2caddd278555e837624d5" ], [ "Slice.buffer_split_at", @@ -1488,7 +1393,7 @@ 1, [ "@query" ], 0, - "f1da0ed8712b720753621fa69c6562ca" + "9d53aea661a9b56daaccf03100ee2811" ], [ "Slice.buffer_split_at", @@ -1496,24 +1401,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Buffer.MkBuffer", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", + "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_Slice.buffers_adjacent", "equation_Slice.is_concat_of", "equation_Slice.same_ref", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -1527,15 +1428,16 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2c920a7ebd862f1908093942a4a2b626", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_a4cb8792c1d9ba659879a4bf3fbcee8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_da8d6f96ef3fad21d0dc2ba04842824d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", @@ -1544,7 +1446,7 @@ "typing_FStar.UInt32.v" ], 0, - "849252799bb98e8f9ae6a10e9102062b" + "f20c397e745a33a7d8a4cb4fa0da0a44" ], [ "Slice.buffer_split_at", @@ -1553,7 +1455,7 @@ 1, [ "@query" ], 0, - "7602a7326c8bcb534705e50ead957f5b" + "f3b3610686e032eb28120148d79d292d" ], [ "Slice.bslice_split_at", @@ -1562,17 +1464,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.sub", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Slice.buffer_split_at", "equation_Slice.byte", - "equation_Slice.lbuffer", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "data_elim_Slice.BSlice", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.sub", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Slice.buffer_split_at", + "equation_Slice.byte", "equation_Slice.lbuffer", + "fuel_guarded_inversion_Slice.bslice", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", @@ -1583,13 +1484,13 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "ff37d1ac1d5c229b347110d1d7c68873" + "48f764935fba1b6a73a6b31c4f27ee6d" ], [ "Slice.modifies_prefix_seq_intro", @@ -1597,14 +1498,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Slice.byte", "equation_Slice.bytes", + "@MaxIFuel_assumption", "@query", "fuel_guarded_inversion_Slice.bslice", - "refinement_interpretation_Tm_refine_6b4236536050058f1168699821eb4510", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8" + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_ce73caf971ab960d176981762c6e6b39" ], 0, - "f025f828ac1dfb7fc00c4e60fa88c0b1" + "5461b04918a5101638521f2337ec02eb" ], [ "Slice.modifies_prefix_split", @@ -1612,21 +1512,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.length", "equation_FStar.UInt.uint_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Slice.byte", "equation_Slice.is_concat_of", - "equation_Slice.lbuffer", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", - "proj_equation_Slice.BSlice_p", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "equation_Slice.lbuffer", "lemma_FStar.Buffer.lemma_size", + "primitive_Prims.op_Addition", "proj_equation_Slice.BSlice_p", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p" ], 0, - "21e782464714e694886891d2666df6f4" + "22f6cf1c8d4e72f76abde621b1ead8e7" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/ValidatedAccess.fst.hints b/examples/kv_parsing/ValidatedAccess.fst.hints index 9b65cda5432..b8bf5ca37bc 100644 --- a/examples/kv_parsing/ValidatedAccess.fst.hints +++ b/examples/kv_parsing/ValidatedAccess.fst.hints @@ -7,21 +7,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4be08e1091364d30e939c25d22d278fa", - "refinement_interpretation_Tm_refine_91821d06f4e07fbd11a93bf01d90eafb", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_8bebd6c4b3996308f73b74b0846d737c", + "refinement_interpretation_Tm_refine_c0f38de1bc97323b91ca0f054a5e4cda", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "eca087c53d95773ac3aa819b54a42366" + "74edb9883130d86f88e4f6e7b9322d7f" ], [ "ValidatedAccess.for_readonly2", @@ -29,18 +24,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4be08e1091364d30e939c25d22d278fa", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_c0f38de1bc97323b91ca0f054a5e4cda", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "3048e1eafdbdf60dad9334e487a83570" + "2fadeb0329e1a6b5b076df0de6d12cca" ], [ "ValidatedAccess.for_readonly2", @@ -50,7 +42,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", @@ -85,9 +76,8 @@ "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_disjoint_symm", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_equal_domains_2", "lemma_FStar.Buffer.lemma_fresh_poppable", "lemma_FStar.Buffer.lemma_live_disjoint", @@ -122,17 +112,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_4be08e1091364d30e939c25d22d278fa", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_76ecb0933d6f1af728cccc71911d7a61", - "refinement_interpretation_Tm_refine_8201bf15f0f8e27dcec695b3ee617d41", - "refinement_interpretation_Tm_refine_91821d06f4e07fbd11a93bf01d90eafb", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_767d3bebc1b07f3b8080a6ace36f93c5", + "refinement_interpretation_Tm_refine_8bebd6c4b3996308f73b74b0846d737c", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_b503e9be300e7beedd2c036a7e5897c5", + "refinement_interpretation_Tm_refine_c0f38de1bc97323b91ca0f054a5e4cda", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.content", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", @@ -156,7 +146,7 @@ "typing_FStar.UInt32.v" ], 0, - "e1cc08b5560f956fa211e2cc868ca186" + "7532d2f0f16c33a653dca324ce29d341" ], [ "ValidatedAccess.lookup_in_entries", @@ -176,7 +166,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "6d41fa3433e2ff984295dcb7305eb361" + "f62a75316d35a1c164a7e206fead0ca6" ], [ "ValidatedAccess.lookup_in_entries_st", @@ -185,28 +175,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_Slice.bslice@tok", - "lemma_FStar.Buffer.lemma_size", + "fuel_guarded_inversion_Slice.bslice", "int_inversion", + "kinding_Slice.bslice@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "067d5fa638744088761644e31e3c5852" + "866bb338ff1888571d8506e5347c0caa" ], [ "ValidatedAccess.lookup_st", @@ -216,26 +203,24 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Slice.bslice@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "kinding_Slice.bslice@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "503b2e461a768aaa69843ce7fff52960" + "0484a548272e1a2694a746928d4cf39a" ], [ "ValidatedAccess.lookup_st", @@ -246,10 +231,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Some", "data_elim_Slice.BSlice", "disc_equation_FStar.Pervasives.Native.Some", @@ -278,17 +261,16 @@ "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parse_result", "equation_Parsing.parser", - "equation_Prims.nat", "equation_PureParser.parse_abstract_store", - "equation_PureParser.parse_entry", "equation_Slice.advance_slice", - "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.bytes", "equation_Slice.lbuffer", - "equation_Slice.live", "equation_ValidatedAccess.lookup", + "equation_PureParser.parse_abstract_store", + "equation_Slice.advance_slice", "equation_Slice.as_seq", + "equation_Slice.byte", "equation_Slice.bytes", + "equation_Slice.lbuffer", "equation_Slice.live", + "equation_ValidatedAccess.lookup", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Map.lemma_ContainsDom", @@ -302,8 +284,8 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", @@ -322,18 +304,18 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_017251f7778cf07f63677bd635dbcfc5", - "refinement_interpretation_Tm_refine_0d6d813e4cc2ee0ee0f404238943bc8c", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_5f4ce018fbbaa722c46ff94bec76911a", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1f975e2753c3af38957007b40de76603", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_b42722275f570d79acaba8f07fd905a5", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_e9390cd6ad718493a724a7da7713843c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", @@ -356,7 +338,7 @@ "typing_Slice.as_seq" ], 0, - "3fd9571a63e4088b6e938fcfbebf19da" + "87d9630454bb45dca7ed05e4bbf088f7" ], [ "ValidatedAccess.for_readonly2", @@ -364,21 +346,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4be08e1091364d30e939c25d22d278fa", - "refinement_interpretation_Tm_refine_91821d06f4e07fbd11a93bf01d90eafb", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_8bebd6c4b3996308f73b74b0846d737c", + "refinement_interpretation_Tm_refine_c0f38de1bc97323b91ca0f054a5e4cda", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "c6567b1c8042574a7888bb2f1d54b46d" + "44a2d922c988ddab8bb66307177c7b60" ], [ "ValidatedAccess.lookup_in_entries", @@ -398,7 +375,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "07be8e856ec4aebf9bb1553ac4e1ce69" + "edb2011172bf9035e54a9537d4063dad" ], [ "ValidatedAccess.lookup_in_entries_st", @@ -407,28 +384,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_Slice.bslice@tok", - "lemma_FStar.Buffer.lemma_size", + "fuel_guarded_inversion_Slice.bslice", "int_inversion", + "kinding_Slice.bslice@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "01f7940731c9db6b1896be8ec6e84009" + "fe95f45cf90c2c84b44169c29c1efda3" ], [ "ValidatedAccess.lookup_st", @@ -438,26 +412,24 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Slice_pretyping_cd8f079d77d5fe135ddfd4119c59f514", "b2t_def", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Slice.bslice@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "kinding_Slice.bslice@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "d05fe6da24a39646854a686be735770e" + "01a3a824016d18554faa40ab005a57f8" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/ValidatedParser.fst b/examples/kv_parsing/ValidatedParser.fst index c15500a163d..c5d26ea0331 100644 --- a/examples/kv_parsing/ValidatedParser.fst +++ b/examples/kv_parsing/ValidatedParser.fst @@ -371,6 +371,17 @@ let count_entries_example input = end; r -let count_entries_example' input = - let (num_entries, _) = parse_num_entries_valid input in +(* + * AR: 07/11: adding preconditions, cf. 1055 + *) +let count_entries_example' input + : ST _ + (requires fun h0 -> + live h0 input /\ + (let bs = as_seq h0 input in + Some? (parse_abstract_store bs) /\ + (let (s, _) = Some?.v (parse_abstract_store bs) in + Some? (parse_many parse_entry (U32.v s.num_entries) bs)))) + (ensures fun _ _ _ -> True) + = let (num_entries, _) = parse_num_entries_valid input in fold_left_buffer_n_st (fun acc e -> U32.add_mod acc 1ul) (fun acc e -> U32.add_mod acc 1ul) 0ul input num_entries diff --git a/examples/kv_parsing/ValidatedParser.fst.hints b/examples/kv_parsing/ValidatedParser.fst.hints index 159bbaf2b94..7471ec7a3b0 100644 --- a/examples/kv_parsing/ValidatedParser.fst.hints +++ b/examples/kv_parsing/ValidatedParser.fst.hints @@ -1,5 +1,5 @@ [ - "Ñ\fìÚ«\u0019v~_(¾HEöƒ®", + "\u0001NÑ¿šVÁÙ͘\u0002tiV—­", [ [ "ValidatedParser.fold_left_store_aux", @@ -14,7 +14,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2ee2a53e66ea3e34ecb4f5c53e086718" + "634a9ea48d9caaa3f6e647eec8883a50" ], [ "ValidatedParser.fold_left_store_n", @@ -26,23 +26,21 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "KeyValue_pretyping_b60cbe8b08773ded5a2f2ebea2df6ace", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_6a02e9ceac77bf0f455c7dbd8d82184b_4", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.tail", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_KeyValue.encoded_entry@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_725bf6a3217387bbce6e6fb8f3795e83", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0194154e760a43636abcf44a355919a1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "4a74a7c1169feff80dbf1a0e8c0dfd1f" + "c13b8d0ec377d55bd43c23d15caf1313" ], [ "ValidatedParser.fold_left_store_n_spec", @@ -50,21 +48,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_KeyValue.Store", "equation_FStar.UInt.uint_t", + "@MaxIFuel_assumption", "@query", "data_elim_KeyValue.Store", + "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_KeyValue.store", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "proj_equation_KeyValue.Store_entries", "proj_equation_KeyValue.Store_num_entries", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_KeyValue.__proj__Store__item__num_entries" ], 0, - "aa2187b32754b4f3e1335ec7934f0780" + "bf1428f8c075f84b0647913ae6227546" ], [ "ValidatedParser.fold_left_store_n_spec", @@ -72,22 +69,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_KeyValue.store", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "proj_equation_KeyValue.Store_entries", "refinement_interpretation_Tm_refine_15aeaee0fbd135ad20cef4125c051fdc", - "refinement_interpretation_Tm_refine_43f7ca6ebf156a0adbf3f501467dc6ed", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_da70c781888057fe91f451e97692c541", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_KeyValue.__proj__Store__item__entries", "typing_KeyValue.__proj__Store__item__num_entries" ], 0, - "65cb01045ac9057464c3c4e10f1e02cb" + "80e64989f61418efac75d9e25e45d875" ], [ "ValidatedParser.fold_left_store_n_spec", @@ -102,15 +96,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_ValidatedParser.fold_left_store_aux.fuel_instrumented", "@fuel_irrelevance_ValidatedParser.fold_left_store_n.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "ValidatedParser_interpretation_Tm_arrow_9042881b8309ea6e5b25dc7fc600dfb0", - "ValidatedParser_interpretation_Tm_arrow_cf11767ce2d283dcf1812c91d6539051", + "@query", + "ValidatedParser_interpretation_Tm_arrow_0c3b2dcb6e2e94a61bb5e1e6599c372f", + "ValidatedParser_interpretation_Tm_arrow_0e3a1ea8da0ff44d9981275b60f96f19", "b2t_def", "binder_x_93619dfd66afeb6658a655398dcaf8de_4", + "binder_x_a759721257a2678586305c8c72b1f119_2", "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_ea2d5d8a7507412544b62def6709994c_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "data_elim_KeyValue.Store", "data_elim_Prims.Cons", + "bool_typing", "data_elim_KeyValue.Store", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", @@ -122,11 +115,9 @@ "equation_with_fuel_ValidatedParser.fold_left_store_aux.fuel_instrumented", "equation_with_fuel_ValidatedParser.fold_left_store_n.fuel_instrumented", "fuel_guarded_inversion_KeyValue.store", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_KeyValue.encoded_entry@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_KeyValue.encoded_entry@tok", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_KeyValue.Store_entries", "proj_equation_KeyValue.Store_num_entries", @@ -134,18 +125,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_KeyValue.Store_entries", "projection_inverse_KeyValue.Store_num_entries", - "refinement_interpretation_Tm_refine_0c1b70a9d00feb3f95a81bc01ebc5464", "refinement_interpretation_Tm_refine_15aeaee0fbd135ad20cef4125c051fdc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f32f795985d916aba742b9d4ebc1bf42", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", + "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt32.v", "typing_KeyValue.__proj__Store__item__entries", "well-founded-ordering-on-nat" ], 0, - "76dd07b22d659bf4a4afd36713e31033" + "7bd1bb9a3afd2bc3ceb3cc82a9617b3f" ], [ "ValidatedParser.fold_left_entries_st", @@ -165,7 +156,7 @@ "proj_equation_FStar.Monotonic.HyperStack.HS_h" ], 0, - "b01baf2203342a8823d74e41224d753c" + "cf6cbfea343ad207894df259e3d15c93" ], [ "ValidatedParser.fold_left_buffer", @@ -174,46 +165,51 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", + "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u16_array", + "equation_IntegerParsing.parse_u32_array", "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Prims.nat", - "equation_PureParser.parse_entry", "equation_Slice.byte", - "equation_Slice.bytes", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Prims.nat", "equation_PureParser.parse_entry", + "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.UInt32.n_minus_one", + "function_token_typing_FStar.UInt32.t", "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_KeyValue.encoded_entry@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_de56a9d6a8662d12c7594db5cc160024", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.UInt32.v", "well-founded-ordering-on-nat" + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", + "typing_Tm_abs_898692807cc82957fc188d1a18e680c4", + "well-founded-ordering-on-nat" ], 0, - "a8e8e29624b5e2d4952bd4d9eb8b1a1a" + "704cc7f2d041c164ab764c175592c9f1" ], [ "ValidatedParser.parse_num_entries_valid", @@ -223,20 +219,16 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", + "data_elim_Slice.BSlice", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Parsing.byte", - "equation_Prims.nat", "equation_PureParser.parse_abstract_store", + "equation_Parsing.byte", "equation_PureParser.parse_abstract_store", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -245,16 +237,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0d6d813e4cc2ee0ee0f404238943bc8c", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_0b70d1eb8d85282c02401fc77680b0a9", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "27e06fa0ebc7b39254b2aa0d25a67cdf" + "df01b6f676157671291612e24a4632a0" ], [ "ValidatedParser.parse_num_entries_valid", @@ -262,42 +254,22 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", + "@query", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Parsing.and_then", - "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Parsing.parser", - "equation_Prims.nat", "equation_PureParser.parse_abstract_store", - "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.bytes", "equation_Slice.lbuffer", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", + "equation_IntegerParsing.parse_u32", "equation_Parsing.and_then", + "equation_PureParser.parse_abstract_store", "equation_Slice.as_seq", "function_token_typing_FStar.UInt32.t", - "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "token_correspondence_FStar.Ghost.reveal", "typing_FStar.UInt32.v", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", - "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "lemma_FStar.Ghost.reveal_hide", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "token_correspondence_FStar.Ghost.reveal", + "typing_IntegerParsing.parse_u32", "typing_Parsing.parser" ], 0, - "7de4d7b03c86253eee1480658c32684f" + "9bb6270e771d86bba27f9ffebd50f58e" ], [ "ValidatedParser.parse_entry_st_nochk", @@ -309,22 +281,20 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "IntegerParsing_pretyping_ddde50de02cf8b2606d022ce0aba6e04", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "IntegerParsing_interpretation_Tm_arrow_f0f511e060d606d7cecde70dde28dcf2", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Some", "data_elim_Slice.BSlice", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.offset", + "equation_FStar.Buffer.sel", "equation_FStar.Buffer.sub", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.modifies_none", "equation_FStar.HyperStack.ST.mreference", @@ -358,16 +328,15 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_156b0525bbf5b1004866fe2e1c594dd5", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_665e8469fe3aa896681e39660315665a", - "interpretation_Tm_abs_bd06efe5686572b36c1db5b410b3bf2f", - "interpretation_Tm_abs_bed3db6a3f0201d8a723f1f61badae62", + "function_token_typing_IntegerParsing.parse_u32", "int_inversion", + "int_typing", + "interpretation_Tm_abs_388eabe6c0c3ea4b660b3ea89546090f", + "interpretation_Tm_abs_4edfc962225066f223a8372d50ed1650", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_e0d655db1c0d519556b9884556ee3d8f", + "interpretation_Tm_abs_ec98f4a4100b7ee6e41ae5b5886b4120", "lemma_FStar.Buffer.lemma_offset_spec", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -404,7 +373,6 @@ "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_IntegerParsing.U16Array_a16", "projection_inverse_IntegerParsing.U16Array_len16", @@ -413,56 +381,54 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_567309d5b87c38a1aa4e6421d0746da9", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_6c73df73778c66d999da99c694d60c59", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9692d212edc6137bb0a862cc3cfe5f87", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_824d2ceea0878576f4fa9b454895d083", + "refinement_interpretation_Tm_refine_9375abf352c9edab5e9644ad82d8db32", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_a1180edb5e778c925c6c71ca38eb8971", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bcac6d9ed7fbde0c8e6797f7dd650cf4", - "refinement_interpretation_Tm_refine_efe1328b3467b44e7fddc6d15100829e", + "refinement_interpretation_Tm_refine_c5c640fc27b977413dca7079d16ca54c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "token_correspondence_IntegerParsing.parse_u32", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Buffer.length", "typing_FStar.Buffer.offset", + "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Map.concat", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", + "typing_FStar.Seq.Base.length", "typing_FStar.Set.complement", + "typing_FStar.Set.empty", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st", - "typing_IntegerParsing.as_u32_array", "typing_IntegerParsing.parse_u32_array", "typing_PureParser.parse_entry", "typing_Slice.__proj__BSlice__item__len", @@ -470,7 +436,7 @@ "typing_Slice.as_seq" ], 0, - "9246eb6fe78d6caba2351e2c71079a60" + "74b6698b3dd4ac71e103b66a889a1ee8" ], [ "ValidatedParser.parse_entry_st_nochk", @@ -480,23 +446,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", + "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "9bda79b33f6ab2c59924f01ee5988b1e" + "5b2770def85d4c92cf37be8300efc931" ], [ "ValidatedParser.parse_many_next", @@ -508,10 +472,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_Parsing.parse_many.fuel_instrumented", "@fuel_irrelevance_Parsing.parse_many.fuel_instrumented", "@query", - "Parsing_interpretation_Tm_arrow_47a338d2181daa46adc46183ce403715", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Parsing_interpretation_Tm_arrow_88295fd2c356cc90a7d297306941224a", + "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -525,17 +488,14 @@ "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_Parsing.parse_many.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Parsing.parse_many", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_81520a011cde2109a7b7421f12b5dd11", - "interpretation_Tm_abs_832c52552567ce96d7e0b1177353862a", - "interpretation_Tm_abs_bee9165e468273ad13f736541c3cada6", + "function_token_typing_Parsing.parse_many", "int_inversion", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_a16bf78d9e2ceac6de894f1286b8db05", + "interpretation_Tm_abs_ab85c5041ab033464d97bc6308b786c2", + "interpretation_Tm_abs_f274aa2d66a5ec95b610f54bbb471c16", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -548,18 +508,23 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_kinding_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "token_correspondence_Parsing.parse_many", - "typing_FStar.Pervasives.Native.__proj__Some__item__v" + "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length" ], 0, - "2ce68ff5bf7222b2b1da24123b75db68" + "da4cb69bb9386de7ba385ad432914695" ], [ "ValidatedParser.parse_one_entry", @@ -569,22 +534,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "KeyValue_pretyping_b60cbe8b08773ded5a2f2ebea2df6ace", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "@query", "KeyValue_pretyping_b60cbe8b08773ded5a2f2ebea2df6ace", + "b2t_def", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Parsing.byte", "equation_Prims.nat", "equation_Slice.byte", - "equation_Slice.bytes", + "equation_FStar.UInt.uint_t", "equation_Parsing.byte", + "equation_Slice.byte", "equation_Slice.bytes", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_KeyValue.encoded_entry@tok", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "kinding_KeyValue.encoded_entry@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -592,17 +552,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "8c69aba1ceb8df6f2e0bb0b137ecf4f0" + "1a116e1f0908a7726bc029bcb0e535cb" ], [ "ValidatedParser.parse_one_entry", @@ -613,9 +573,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Parsing.parse_many.fuel_instrumented", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Some", @@ -640,10 +599,10 @@ "equation_FStar.UInt.uint_t", "equation_Parsing.and_then", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parse_result", - "equation_Parsing.parser", "equation_Prims.nat", - "equation_PureParser.parse_entry", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.bytes", - "equation_Slice.lbuffer", "equation_Slice.live", + "equation_Parsing.parser", "equation_PureParser.parse_entry", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.bytes", "equation_Slice.lbuffer", + "equation_Slice.live", "equation_with_fuel_Parsing.parse_many.fuel_instrumented", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", @@ -651,8 +610,7 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "kinding_KeyValue.encoded_entry@tok", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", @@ -668,15 +626,15 @@ "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_6a82c28b03ee739037a61102275bbf41", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_bcac6d9ed7fbde0c8e6797f7dd650cf4", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9375abf352c9edab5e9644ad82d8db32", + "refinement_interpretation_Tm_refine_9a134d2b3fd43844526b3d254c18e2b0", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_Parsing.parse_many", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", @@ -691,7 +649,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "3e87b02472608142b6ba93ac70a5e169" + "ff696ba02b5e8aa020f5ea1ba157616d" ], [ "ValidatedParser.fold_left_store_n_unfold1", @@ -703,22 +661,20 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "KeyValue_pretyping_b60cbe8b08773ded5a2f2ebea2df6ace", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_KeyValue.encoded_entry@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_30c4f26016c0e8363d23289de00ee4f6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_549ef5dfbef10b37598ae3fca9c31af6", "typing_FStar.List.Tot.Base.length" ], 0, - "46667e6e3c861b8375b346820755512f" + "1b82c77f82a2cf6dece5e17cff3f2c20" ], [ "ValidatedParser.fold_left_store_n_unfold1", @@ -730,20 +686,18 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_ValidatedParser.fold_left_store_n.fuel_instrumented", "@fuel_irrelevance_ValidatedParser.fold_left_store_n.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.List.Tot.Base.tail", "equation_Prims.nat", + "@query", "equation_FStar.List.Tot.Base.tail", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_ValidatedParser.fold_left_store_n.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_KeyValue.encoded_entry@tok", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_KeyValue.encoded_entry@tok", "primitive_Prims.op_Subtraction", - "refinement_interpretation_Tm_refine_0c1b70a9d00feb3f95a81bc01ebc5464", - "refinement_interpretation_Tm_refine_30c4f26016c0e8363d23289de00ee4f6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_549ef5dfbef10b37598ae3fca9c31af6", + "refinement_interpretation_Tm_refine_f32f795985d916aba742b9d4ebc1bf42" ], 0, - "a8825c0de7f3132e3fc4819f0d906a53" + "1746e4dbbe6a0aada4dbeb623ca09d12" ], [ "ValidatedParser.fold_left_buffer_n_mut_st", @@ -752,9 +706,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "ValidatedParser_interpretation_Tm_arrow_715f9082862d242bc49014bd5d50c840", + "ValidatedParser_interpretation_Tm_ghost_arrow_36019132f86ff31a9a74d6d2ff801282", "b2t_def", "bool_inversion", "data_elim_Slice.BSlice", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", @@ -762,29 +714,26 @@ "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Prims.nat", - "equation_PureParser.parse_entry", "equation_Slice.as_seq", - "equation_Slice.bslice_prefix", "equation_Slice.byte", - "equation_Slice.lbuffer", "equation_Slice.live", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_Slice.bslice_prefix_equals", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Parsing.byte", "equation_PureParser.parse_entry", + "equation_Slice.as_seq", "equation_Slice.bslice_prefix", + "equation_Slice.byte", "equation_Slice.lbuffer", + "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_Slice.bslice_prefix_equals", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_967357bfe9852d5f0d30f2294bce77e3", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b68e7d89e4593e752b5ad27439c3a4dd", "refinement_interpretation_Tm_refine_f11362f77fe3e10dd773554886b74c24", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_seq", "typing_FStar.Heap.trivial_preorder", @@ -793,7 +742,7 @@ "typing_Slice.__proj__BSlice__item__p", "unit_typing" ], 0, - "a658f2b2ec8f109cf2e9f9620195a4f7" + "31a723465ddb50f7211f6e5b7840a8fb" ], [ "ValidatedParser.fold_left_buffer_n_mut_st", @@ -806,7 +755,7 @@ "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "78b8ebaf1e29d349c3fa3316322ff6a3" + "68f0818c768def988fefdd483af54afb" ], [ "ValidatedParser.fold_left_buffer_n_st", @@ -814,25 +763,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "68189ca85ad64721584f1645e6863332" + "212303cf14362dc45f023696cadc5e63" ], [ "ValidatedParser.fold_left_buffer_n_st", @@ -1010,7 +957,7 @@ "typing_Slice.as_seq" ], 0, - "c32081829bf3ed05849d7094a4aec704" + "c05b39748df58be0b0be44173305d3d6" ], [ "ValidatedParser.fold_left_buffer_n_st", @@ -1027,13 +974,10 @@ "@fuel_irrelevance_Parsing.parse_many.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_ValidatedParser.fold_left_store_n.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "KeyValue_pretyping_b60cbe8b08773ded5a2f2ebea2df6ace", - "Parsing_interpretation_Tm_arrow_47a338d2181daa46adc46183ce403715", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "@query", "KeyValue_pretyping_b60cbe8b08773ded5a2f2ebea2df6ace", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Parsing_interpretation_Tm_arrow_8bddf37f4461c249de7e7c3d7b694c1c", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_KeyValue.EncodedEntry", @@ -1088,14 +1032,13 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Parsing.parse_many", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_421f26d5d54dc4ffa3d39c1b2b48025c", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_81520a011cde2109a7b7421f12b5dd11", - "interpretation_Tm_abs_832c52552567ce96d7e0b1177353862a", - "interpretation_Tm_abs_bee9165e468273ad13f736541c3cada6", + "function_token_typing_Parsing.parse_many", "int_inversion", + "int_typing", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_a16bf78d9e2ceac6de894f1286b8db05", + "interpretation_Tm_abs_ab85c5041ab033464d97bc6308b786c2", + "interpretation_Tm_abs_be222158ebede10dcdac4e09c3de5520", + "interpretation_Tm_abs_f274aa2d66a5ec95b610f54bbb471c16", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_KeyValue.encoded_entry@tok", "lemma_FStar.Buffer.lemma_offset_spec", @@ -1156,32 +1099,33 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_0c1b70a9d00feb3f95a81bc01ebc5464", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_1ef18ad541982cb526a8ed109390a270", "refinement_interpretation_Tm_refine_290ac0c81fbc928068d0b413636b9c64", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3a6c40b19eb0eb35b559c0cbbc346e8f", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", "refinement_interpretation_Tm_refine_4f836baa789a61756cb797e4df6d0792", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", "refinement_interpretation_Tm_refine_643a58adf3f89a596aa6061a97cbe390", - "refinement_interpretation_Tm_refine_6a82c28b03ee739037a61102275bbf41", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_6c73df73778c66d999da99c694d60c59", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_7b4eff5c79b2bca5299e19f40310257f", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8326a20aa7d8654bfbbfaf4234363286", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_85635d7012285a91a168b52921bd1382", + "refinement_interpretation_Tm_refine_9a134d2b3fd43844526b3d254c18e2b0", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ba8354898c891a79eaa8258523b3b5b6", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f32f795985d916aba742b9d4ebc1bf42", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", "refinement_kinding_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "token_correspondence_Parsing.parse_many", "typing_FStar.Buffer.__proj__MkBuffer__item__content", @@ -1202,7 +1146,8 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.__proj__U16ArraySt__item__a16_st", "typing_IntegerParsing.__proj__U32ArraySt__item__a32_st", "typing_KeyValue.__proj__EntrySt__item__key_st", @@ -1214,7 +1159,7 @@ "typing_Slice.as_seq" ], 0, - "8e2d39ef4bbdb3aabdf7d24056619086" + "b2363ccf6e7cd21eb087dd25103a2f12" ], [ "ValidatedParser.fold_left_buffer_st", @@ -1224,22 +1169,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "4288e5a31e9a3b619989541ae6f22c8b" + "ccacce3e1094d462cd6aafc4f9ccc522" ], [ "ValidatedParser.fold_left_buffer_st", @@ -1356,7 +1299,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice" ], 0, - "4692f582a4bb33a7e5e6d89c5d2bff1f" + "48b1f2b0a76d76a575b7839cb73d844e" ], [ "ValidatedParser.fold_left_buffer_st", @@ -1367,9 +1310,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", + "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_FStar.Pervasives.Native.Some", "data_elim_Slice.BSlice", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", @@ -1397,17 +1340,15 @@ "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Parsing.parse_result", "equation_Parsing.parser", - "equation_Prims.nat", "equation_PureParser.parse_abstract_store", - "equation_PureParser.parse_entry", "equation_Slice.advance_slice", - "equation_Slice.as_seq", "equation_Slice.byte", - "equation_Slice.bytes", "equation_Slice.lbuffer", - "equation_Slice.live", + "equation_PureParser.parse_abstract_store", + "equation_Slice.advance_slice", "equation_Slice.as_seq", + "equation_Slice.byte", "equation_Slice.bytes", + "equation_Slice.lbuffer", "equation_Slice.live", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Map.lemma_ContainsDom", @@ -1442,16 +1383,16 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_0d6d813e4cc2ee0ee0f404238943bc8c", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_58483f59953b2f8184bb4db39a00e98c", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_77a8c37e52133da6a183aaef36d616d1", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_b42722275f570d79acaba8f07fd905a5", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", @@ -1468,7 +1409,7 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice" ], 0, - "14202db4ea0e477081deea18b0142a8d" + "cde48d65dab13832f7cc2b625e91259b" ], [ "ValidatedParser.fold_left_n_count", @@ -1478,23 +1419,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "kinding_KeyValue.encoded_entry@tok", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt32.v" ], 0, - "f8746cc9089afcd7e337796dfee947cc" + "22f72d452f718e6aeec4d2d68484bece" ], [ "ValidatedParser.fold_left_n_count", @@ -1504,24 +1443,22 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "kinding_KeyValue.encoded_entry@tok", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_07d4df1907c6fa6a5f9ad6f384f73378", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_66e36b8d26e78c3ddf73ebc2ec30bd20", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt32.v" ], 0, - "95c7820f9d76afe4ffc4ed8d9bacf2e5" + "b8b8c0db7ab09d0683d4eb4a0cb3c3e0" ], [ "ValidatedParser.fold_left_n_count", @@ -1537,41 +1474,37 @@ "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_ValidatedParser.fold_left_store_n.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3cfe4f5782784c1de200aa5f421ffb64_1", + "ValidatedParser_interpretation_Tm_arrow_0e3a1ea8da0ff44d9981275b60f96f19", + "ValidatedParser_interpretation_Tm_arrow_fdef160788b6698bb9e80fbe4f749bff", + "binder_x_041e3a67a2d2b51fd702f1f88cfc3b44_1", "binder_x_6a02e9ceac77bf0f455c7dbd8d82184b_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.tail", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.List.Tot.Base.tail", "equation_FStar.UInt.add_mod", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_ValidatedParser.fold_left_store_n.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_0d88f21e71af28959d0dff96098291d7", + "function_token_typing_FStar.UInt32.t", "int_inversion", + "int_typing", + "interpretation_Tm_abs_9088440950007ec910b969d80bfc6c73", "kinding_KeyValue.encoded_entry@tok", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Int.pow2_values", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0c1b70a9d00feb3f95a81bc01ebc5464", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f32f795985d916aba742b9d4ebc1bf42", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt32.v", - "typing_Tm_abs_0d88f21e71af28959d0dff96098291d7" + "typing_Tm_abs_9088440950007ec910b969d80bfc6c73" ], 0, - "c5d5f575ff2c1b8429771ddb9c777558" + "730193d1db20d3532ec3c5d8811f2c93" ], [ "ValidatedParser.fold_left_count", @@ -1582,29 +1515,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_KeyValue.Store", "equation_FStar.UInt.fits", + "b2t_def", "data_elim_KeyValue.Store", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_Prims.nat", "fuel_guarded_inversion_KeyValue.store", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_KeyValue.store", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_KeyValue.Store_entries", "proj_equation_KeyValue.Store_num_entries", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_KeyValue.__proj__Store__item__num_entries" ], 0, - "b4ea75381b094cc226b068777a4ab6a5" + "b6c2d6d57f7b4ab5d6d1ea4b6b523351" ], [ "ValidatedParser.count_entries_example", @@ -1614,22 +1543,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "1f673ff7b2307b16d4fe32e7afd709b6" + "91dc18ee16bec826b610e8d3158a2066" ], [ "ValidatedParser.count_entries_example", @@ -1639,12 +1566,14 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "IntegerParsing_interpretation_Tm_arrow_f0f511e060d606d7cecde70dde28dcf2", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.length", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.modifies_none", "equation_FStar.Monotonic.Heap.equal_dom", @@ -1665,9 +1594,9 @@ "fuel_guarded_inversion_KeyValue.entry_st", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt8.t", "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -1678,22 +1607,28 @@ "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_69273c71bb2ba656566be79c13b4fb2b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_13b04114139b04395e64d467db210386", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_IntegerParsing.parse_u32", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.idx", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.UInt32.v", "typing_PureParser.parse_abstract_store", @@ -1701,7 +1636,99 @@ "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" ], 0, - "9dc94cfa88dddbab1cd45e5b1c486903" + "43a75f87dc810da76d66bddeeba007ac" + ], + [ + "ValidatedParser.count_entries_example'", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", + "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", + "data_elim_Slice.BSlice", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.equal_stack_domains", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.reference", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.frameOf", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_FStar.Monotonic.HyperStack.sel", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Parsing.byte", "equation_Slice.as_seq", + "equation_Slice.byte", "equation_Slice.lbuffer", + "equation_Slice.live", "fuel_guarded_inversion_FStar.Buffer._buffer", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "fuel_guarded_inversion_KeyValue.entry_st", + "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt8.t", + "lemma_FStar.Buffer.lemma_size", + "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_elim", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_KeyValue.Store_num_entries", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_13b04114139b04395e64d467db210386", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_9a134d2b3fd43844526b3d254c18e2b0", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_b42722275f570d79acaba8f07fd905a5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fdd90d367a67141b2a57a9a43414c767", + "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.Set.mem", "typing_FStar.UInt32.v", + "typing_KeyValue.__proj__Store__item__num_entries", + "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p" + ], + 0, + "edc5498d3859dc6bcc4df7973ab43d1f" ], [ "ValidatedParser.fold_left_store_aux", @@ -1716,7 +1743,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "6206b28e848f1f5b8684269477f6d524" + "d9acff6b188ad7f957f4c028eae97829" ], [ "ValidatedParser.fold_left_store_n", @@ -1728,23 +1755,21 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "KeyValue_pretyping_b60cbe8b08773ded5a2f2ebea2df6ace", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_6a02e9ceac77bf0f455c7dbd8d82184b_4", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.tail", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_KeyValue.encoded_entry@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_725bf6a3217387bbce6e6fb8f3795e83", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0194154e760a43636abcf44a355919a1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "9f49807d1cb3c1bec11136116cac2d40" + "874a37fab621d138abc87f47cd85f8b9" ], [ "ValidatedParser.fold_left_store_n_spec", @@ -1752,22 +1777,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_KeyValue.store", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "proj_equation_KeyValue.Store_entries", "refinement_interpretation_Tm_refine_15aeaee0fbd135ad20cef4125c051fdc", - "refinement_interpretation_Tm_refine_43f7ca6ebf156a0adbf3f501467dc6ed", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_da70c781888057fe91f451e97692c541", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_KeyValue.__proj__Store__item__entries", "typing_KeyValue.__proj__Store__item__num_entries" ], 0, - "be7c1290efc1228ccb58967d3bf744bf" + "1f1c556dc2cdece2284e3ac6db850e79" ], [ "ValidatedParser.fold_left_store_n_spec", @@ -1782,15 +1804,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_ValidatedParser.fold_left_store_aux.fuel_instrumented", "@fuel_irrelevance_ValidatedParser.fold_left_store_n.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "ValidatedParser_interpretation_Tm_arrow_9042881b8309ea6e5b25dc7fc600dfb0", - "ValidatedParser_interpretation_Tm_arrow_cf11767ce2d283dcf1812c91d6539051", + "@query", + "ValidatedParser_interpretation_Tm_arrow_0c3b2dcb6e2e94a61bb5e1e6599c372f", + "ValidatedParser_interpretation_Tm_arrow_0e3a1ea8da0ff44d9981275b60f96f19", "b2t_def", "binder_x_93619dfd66afeb6658a655398dcaf8de_4", + "binder_x_a759721257a2678586305c8c72b1f119_2", "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_ea2d5d8a7507412544b62def6709994c_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "data_elim_KeyValue.Store", "data_elim_Prims.Cons", + "bool_typing", "data_elim_KeyValue.Store", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", @@ -1802,11 +1823,9 @@ "equation_with_fuel_ValidatedParser.fold_left_store_aux.fuel_instrumented", "equation_with_fuel_ValidatedParser.fold_left_store_n.fuel_instrumented", "fuel_guarded_inversion_KeyValue.store", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_KeyValue.encoded_entry@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_KeyValue.encoded_entry@tok", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_KeyValue.Store_entries", "proj_equation_KeyValue.Store_num_entries", @@ -1814,18 +1833,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_KeyValue.Store_entries", "projection_inverse_KeyValue.Store_num_entries", - "refinement_interpretation_Tm_refine_0c1b70a9d00feb3f95a81bc01ebc5464", "refinement_interpretation_Tm_refine_15aeaee0fbd135ad20cef4125c051fdc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f32f795985d916aba742b9d4ebc1bf42", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", + "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt32.v", "typing_KeyValue.__proj__Store__item__entries", "well-founded-ordering-on-nat" ], 0, - "b0b423fe7ede283d8183988e5a213e19" + "8a3608305fdf60a5c71212bcb4660bfb" ], [ "ValidatedParser.fold_left_buffer", @@ -1834,25 +1853,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", + "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u16_array", + "equation_IntegerParsing.parse_u32_array", "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Prims.nat", - "equation_PureParser.parse_entry", "equation_Slice.byte", - "equation_Slice.bytes", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Prims.nat", "equation_PureParser.parse_entry", + "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.UInt32.n_minus_one", + "function_token_typing_FStar.UInt32.t", "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_KeyValue.encoded_entry@tok", "lemma_FStar.Buffer.lemma_size", @@ -1864,16 +1883,21 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_de56a9d6a8662d12c7594db5cc160024", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.UInt32.v", "well-founded-ordering-on-nat" + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", + "typing_Tm_abs_898692807cc82957fc188d1a18e680c4", + "well-founded-ordering-on-nat" ], 0, - "4dc9570b369c0b55c438758edd49ef72" + "17424e075322e70af0a978872bfa0108" ], [ "ValidatedParser.parse_num_entries_valid", @@ -1883,20 +1907,16 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", + "data_elim_Slice.BSlice", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Parsing.byte", - "equation_Prims.nat", "equation_PureParser.parse_abstract_store", + "equation_Parsing.byte", "equation_PureParser.parse_abstract_store", "equation_Slice.byte", "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -1905,16 +1925,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0d6d813e4cc2ee0ee0f404238943bc8c", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_0b70d1eb8d85282c02401fc77680b0a9", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "443cec56f6dae395018293fb7aa94ce4" + "dfdfcf88ad0cfb3dbddcdf5aa989acef" ], [ "ValidatedParser.parse_entry_st_nochk", @@ -1924,23 +1944,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", + "b2t_def", "data_elim_Slice.BSlice", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", "equation_Slice.lbuffer", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "4ceae66496a5deb39002e78a87d436ea" + "0dd0b7e2f25852fa3f535ea258a173db" ], [ "ValidatedParser.parse_many_next", @@ -1951,37 +1969,38 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_Parsing.parse_many.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", + "@query", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", "equation_Parsing.and_then", - "equation_Parsing.byte", "equation_Parsing.bytes32", - "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", + "equation_Parsing.byte", "equation_Prims.nat", "equation_Slice.byte", + "equation_Slice.bytes", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_Parsing.parse_many.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "token_correspondence_Parsing.parse_many" + "refinement_kinding_Tm_refine_110510ba6cb46229babc23a912005012", + "token_correspondence_Parsing.parse_many", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length" ], 0, - "c2eea41dd92ad48a8a8d8d9eeef9e89a" + "221aaf8c28acf0ac3f02b178f58f0b50" ], [ "ValidatedParser.parse_one_entry", @@ -1991,22 +2010,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "KeyValue_pretyping_b60cbe8b08773ded5a2f2ebea2df6ace", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "@query", "KeyValue_pretyping_b60cbe8b08773ded5a2f2ebea2df6ace", + "b2t_def", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Parsing.byte", "equation_Prims.nat", "equation_Slice.byte", - "equation_Slice.bytes", + "equation_FStar.UInt.uint_t", "equation_Parsing.byte", + "equation_Slice.byte", "equation_Slice.bytes", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_KeyValue.encoded_entry@tok", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "kinding_KeyValue.encoded_entry@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -2014,17 +2028,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "c3b900599ad1413462cea9b56bef792c" + "f3b7b23d6251b88ebde94b9d01d46d08" ], [ "ValidatedParser.fold_left_store_n_unfold1", @@ -2036,22 +2050,20 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "KeyValue_pretyping_b60cbe8b08773ded5a2f2ebea2df6ace", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_KeyValue.encoded_entry@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_30c4f26016c0e8363d23289de00ee4f6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_549ef5dfbef10b37598ae3fca9c31af6", "typing_FStar.List.Tot.Base.length" ], 0, - "057d6edb2ffb1f1ab5bcee6273018288" + "6410143106d6155fe7363c5ac9250d95" ], [ "ValidatedParser.fold_left_buffer_n_mut_st", @@ -2060,9 +2072,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "ValidatedParser_interpretation_Tm_arrow_715f9082862d242bc49014bd5d50c840", + "ValidatedParser_interpretation_Tm_ghost_arrow_36019132f86ff31a9a74d6d2ff801282", "b2t_def", "bool_inversion", "data_elim_Slice.BSlice", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", @@ -2070,29 +2080,26 @@ "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Prims.nat", - "equation_PureParser.parse_entry", "equation_Slice.as_seq", - "equation_Slice.bslice_prefix", "equation_Slice.byte", - "equation_Slice.lbuffer", "equation_Slice.live", - "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_Slice.bslice_prefix_equals", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Parsing.byte", "equation_PureParser.parse_entry", + "equation_Slice.as_seq", "equation_Slice.bslice_prefix", + "equation_Slice.byte", "equation_Slice.lbuffer", + "equation_Slice.live", "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_Slice.bslice_prefix_equals", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_967357bfe9852d5f0d30f2294bce77e3", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b68e7d89e4593e752b5ad27439c3a4dd", "refinement_interpretation_Tm_refine_f11362f77fe3e10dd773554886b74c24", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_seq", "typing_FStar.Heap.trivial_preorder", @@ -2101,7 +2108,7 @@ "typing_Slice.__proj__BSlice__item__p", "unit_typing" ], 0, - "3fed2a9d1926ab3b6c9ccc67ae29ad81" + "ba069939a66b30e5c857ac0d465903bc" ], [ "ValidatedParser.fold_left_buffer_n_st", @@ -2109,25 +2116,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "06874ae704d007960d07d1261651750f" + "8d4635df97b5f365b0a7c9386111b66f" ], [ "ValidatedParser.fold_left_buffer_st", @@ -2137,22 +2142,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "e791467a11582881973052e2f95b472c" + "30ef170abb675e8a81a74c9989fd6feb" ], [ "ValidatedParser.fold_left_n_count", @@ -2162,23 +2165,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "kinding_KeyValue.encoded_entry@tok", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt32.v" ], 0, - "eda97ff854c70e45ac13a35b2ebdd7a2" + "a8fb9ff37e22065c75294fdd612bbcd3" ], [ "ValidatedParser.count_entries_example", @@ -2188,131 +2189,46 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Slice.bslice", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" ], 0, - "6ce28c8fee4869835d79a39c2182e1cc" + "ebe223fd12a5acfbf7975e8863462d45" ], [ "ValidatedParser.count_entries_example'", - 1, + 2, 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_Slice.BSlice", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.modifies_none", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", - "equation_IntegerParsing.parse_u32", "equation_Parsing.and_then", - "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Parsing.parser", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_PureParser.parse_abstract_store", - "equation_PureParser.parse_entry", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.bytes", - "equation_Slice.lbuffer", "equation_Slice.live", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Parsing.byte", "equation_Slice.byte", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.Monotonic.HyperHeap.root", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "function_token_typing_PureParser.parse_abstract_store", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_typing", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", + "proj_equation_KeyValue.Store_num_entries", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_0d6d813e4cc2ee0ee0f404238943bc8c", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6a82c28b03ee739037a61102275bbf41", - "refinement_interpretation_Tm_refine_73061219acedf795ff1e97b86a9bc700", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_IntegerParsing.parse_u32", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_Slice.__proj__BSlice__item__len", - "typing_Slice.__proj__BSlice__item__p", "typing_Slice.as_seq" + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v", + "typing_KeyValue.__proj__Store__item__num_entries", + "typing_Slice.__proj__BSlice__item__len" ], 0, - "95de546dcea37fc34666d6e84a8842f7" + "70b9805dfd490053eaa6c9ab32e8d4f3" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/Validator.fst.hints b/examples/kv_parsing/Validator.fst.hints index 3a288feaa28..e57140ca706 100644 --- a/examples/kv_parsing/Validator.fst.hints +++ b/examples/kv_parsing/Validator.fst.hints @@ -8,55 +8,78 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "Validator_interpretation_Tm_arrow_587c573a49bc397fa8a405a984c6a2a8", - "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Buffer.live", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.Ghost_interpretation_Tm_ghost_arrow_e2f4c1991753137c5a80c115428d0cef", + "IntegerParsing_interpretation_Tm_arrow_65b8d53c535b66b28a7190e5773815f2", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Validator_interpretation_Tm_ghost_arrow_29d909d23b59d2f5869ae1024279d376", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.live", + "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u16", "equation_IntegerParsing.parse_u16_array", - "equation_IntegerParsing.parse_u32_array", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Parsing.parser", - "equation_Prims.nat", "equation_PureParser.parse_entry", - "equation_Slice.byte", "equation_Slice.live", - "interpretation_Tm_abs_593746c6b4190cefcc35ab268e334591", + "equation_IntegerParsing.parse_u32_array", + "equation_Parsing.and_then", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Parsing.parser", "equation_PureParser.parse_entry", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Ghost.reveal", + "function_token_typing_FStar.UInt8.t", + "function_token_typing_IntegerParsing.parse_u16", + "interpretation_Tm_abs_34bc1948ccd284a89c0b9d776201afc6", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_9415b8e4f7e7b444614ec8ba0c552c84", + "interpretation_Tm_abs_bda8a608a334df52973086605f6c036a", + "interpretation_Tm_abs_ec98f4a4100b7ee6e41ae5b5886b4120", "kinding_IntegerParsing.u16_array@tok", "kinding_IntegerParsing.u32_array@tok", "kinding_KeyValue.encoded_entry@tok", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", + "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.Ghost.reveal", + "token_correspondence_IntegerParsing.parse_u16", + "typing_FStar.Buffer.as_seq", "typing_FStar.Ghost.elift2", + "typing_FStar.Ghost.hide", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u16_array", "typing_IntegerParsing.parse_u32_array", "typing_Parsing.parser", - "typing_Tm_abs_593746c6b4190cefcc35ab268e334591" - ], - 0, - "76e38d1edc75d3e72b451188f513dbbc" - ], - [ - "Validator.validate_entry_st", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" + "typing_PureParser.parse_entry", + "typing_Slice.__proj__BSlice__item__len", + "typing_Slice.__proj__BSlice__item__p", + "typing_Tm_abs_34bc1948ccd284a89c0b9d776201afc6" ], 0, - "78b8ea5c0608c49cc9dee5b5f7c62d45" + "7a336a6e973f69ae6abac76becc8ac65" ], [ "Validator.validate_entries_st", @@ -64,79 +87,70 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Parsing.parse_many.fuel_instrumented", - "@query", - "FStar.Ghost_interpretation_Tm_arrow_54aa9a6abefc706c9471366116678213", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxIFuel_assumption", "@query", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "Validator_interpretation_Tm_arrow_25ff77b848b34758c0bf71030ca2783c", - "Validator_interpretation_Tm_arrow_dee3cd185936c003472b6232d8b8417d", + "Validator_interpretation_Tm_ghost_arrow_3dec1c0de39edcd80761dc7a5afeff40", + "Validator_interpretation_Tm_ghost_arrow_ef31b8b4227405a836c8cb4866b637e4", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes", "equation_Parsing.bytes32", - "equation_Parsing.parser", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_PureParser.parse_entries", + "equation_FStar.Buffer.buffer", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Parsing.and_then", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.eqtype", "equation_PureParser.parse_entries", "equation_PureParser.parse_entry", "equation_Slice.as_seq", "equation_Slice.byte", "equation_Slice.lbuffer", - "equation_with_fuel_Parsing.parse_many.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Ghost.reveal", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Parsing.parsing_done", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "int_inversion", - "interpretation_Tm_abs_421f26d5d54dc4ffa3d39c1b2b48025c", - "interpretation_Tm_abs_4c0e7e9e2ed369d03d23a3c1600d5a17", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_bf712c1cf77aee55682f5d127b6b38bb", - "interpretation_Tm_abs_c469667def2116994fa9842dcf96c800", - "interpretation_Tm_abs_ecbe32e3b57f5c1e1c3bed88b2ff7e7a", + "interpretation_Tm_abs_17aa79fb8be9891730cb7afc19c9ddf2", + "interpretation_Tm_abs_2a1b4e8fe03f9a7ce95dfffa4032beae", + "interpretation_Tm_abs_60b4a4febf7cfc3f73482c828b17d3b5", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_a7373df0e65835a35486e3684742bdd2", "kinding_KeyValue.encoded_entry@tok", "kinding_KeyValue.store@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", + "refinement_interpretation_Tm_refine_3bcd95314e49c5f6fb0289b424efe049", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7e24955632f88da22fd34e8d572caab5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Ghost.reveal", "typing_FStar.Buffer.as_seq", "typing_FStar.Ghost.elift1", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.UInt32.v", - "typing_Parsing.parse_many", "typing_Parsing.parser", + "typing_Parsing.parser", "typing_Parsing.parsing_done", "typing_PureParser.parse_entries", "typing_PureParser.parse_entry", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", - "typing_Tm_abs_ecbe32e3b57f5c1e1c3bed88b2ff7e7a", "unit_typing" + "typing_Tm_abs_2a1b4e8fe03f9a7ce95dfffa4032beae", "unit_typing" ], 0, - "4cecd08eff9244761f49a4ad1cfd3f86" + "adc497696a5fae8e87229049be8c0677" ], [ "Validator.validate_store_st", @@ -150,11 +164,8 @@ "@fuel_irrelevance_Parsing.parse_many.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -184,10 +195,10 @@ "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes", "equation_Parsing.bytes32", - "equation_Parsing.parser", "equation_Prims.nat", - "equation_PureParser.parse_abstract_store", + "equation_IntegerParsing.parse_u32", "equation_Parsing.and_then", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.nat", "equation_PureParser.parse_abstract_store", "equation_PureParser.parse_entries", "equation_PureParser.parse_entry", "equation_Slice.advance_slice", "equation_Slice.as_seq", "equation_Slice.byte", @@ -197,12 +208,9 @@ "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.parse_u32", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_4a0a674ecb4186a98cc4fe8732508301", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "interpretation_Tm_abs_3da438a710231788a677e1c3b124d7bb", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_KeyValue.encoded_entry@tok", "kinding_KeyValue.store@tok", "lemma_FStar.Buffer.lemma_offset_spec", @@ -220,7 +228,7 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", @@ -237,28 +245,30 @@ "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__a", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_7ce862849ae2e4729232389a08121b03", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2399b781b4e2acd156f8539be160e221", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_92f4aa4b109ec408523e8bc7df2a862a", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb50bcb401fcc5fc2ef943cb53252bcf", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_kinding_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_kinding_Tm_refine_b09598f22c50b9f1c56ad9383e9735b7", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", "token_correspondence_FStar.Ghost.reveal", "token_correspondence_Parsing.parse_many.fuel_instrumented", "typing_FStar.Buffer.__proj__MkBuffer__item__content", @@ -268,7 +278,6 @@ "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -276,72 +285,93 @@ "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u32", "typing_Parsing.parser", "typing_PureParser.parse_abstract_store", "typing_PureParser.parse_entries", "typing_PureParser.parse_entry", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", - "typing_Slice.u32_add_overflows", "unit_typing" + "typing_Slice.u32_add_overflows" ], 0, - "aced18243edc0f4d8efbed1087b80802" - ], - [ - "Validator.validate_store_st", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.byte", - "equation_Slice.bytes", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "typing_FStar.UInt32.v", "typing_Slice.__proj__BSlice__item__len" - ], - 0, - "8282559ade3310265fcfec6db8f24faa" + "d3b958f87d013db987d06447b75fdeef" ], [ "Validator.validate_entry_st", - 3, + 2, 2, 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.Ghost_interpretation_Tm_ghost_arrow_e2f4c1991753137c5a80c115428d0cef", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Validator_interpretation_Tm_ghost_arrow_29d909d23b59d2f5869ae1024279d376", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.live", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.lbuffer", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_IntegerParsing.parse_u16", + "equation_IntegerParsing.parse_u16_array", + "equation_IntegerParsing.parse_u32_array", + "equation_Parsing.and_then", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", + "equation_Parsing.parser", "equation_PureParser.parse_entry", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", + "function_token_typing_FStar.Ghost.reveal", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_p", - "projection_inverse_BoxBool_proj_0", + "interpretation_Tm_abs_06e8d3f2db190cef8f3755616fbc7446", + "interpretation_Tm_abs_34bc1948ccd284a89c0b9d776201afc6", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_bda8a608a334df52973086605f6c036a", + "interpretation_Tm_abs_ec98f4a4100b7ee6e41ae5b5886b4120", + "kinding_IntegerParsing.u16_array@tok", + "kinding_IntegerParsing.u32_array@tok", + "kinding_KeyValue.encoded_entry@tok", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.Ghost.reveal", + "typing_FStar.Buffer.as_seq", "typing_FStar.Ghost.elift2", + "typing_FStar.Ghost.hide", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", + "typing_IntegerParsing.parse_u16_array", + "typing_IntegerParsing.parse_u32_array", "typing_Parsing.parser", + "typing_PureParser.parse_entry", "typing_Slice.__proj__BSlice__item__len", - "typing_Slice.__proj__BSlice__item__p" + "typing_Slice.__proj__BSlice__item__p", + "typing_Tm_abs_34bc1948ccd284a89c0b9d776201afc6" ], 0, - "3b8891ceb9228b1d85aba6163df99644" + "853dbe0ac902e8ab074a8831fabb85f6" ], [ "Validator.validate_entries_st", @@ -349,110 +379,214 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Parsing.parse_many.fuel_instrumented", - "@query", - "FStar.Ghost_interpretation_Tm_arrow_54aa9a6abefc706c9471366116678213", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxIFuel_assumption", "@query", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "Validator_interpretation_Tm_arrow_25ff77b848b34758c0bf71030ca2783c", - "Validator_interpretation_Tm_arrow_dee3cd185936c003472b6232d8b8417d", + "Validator_interpretation_Tm_ghost_arrow_3dec1c0de39edcd80761dc7a5afeff40", + "Validator_interpretation_Tm_ghost_arrow_ef31b8b4227405a836c8cb4866b637e4", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.and_then", "equation_Parsing.byte", - "equation_Parsing.bytes", "equation_Parsing.bytes32", - "equation_Parsing.parser", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_PureParser.parse_entries", + "equation_FStar.Buffer.buffer", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Parsing.and_then", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.eqtype", "equation_PureParser.parse_entries", "equation_PureParser.parse_entry", "equation_Slice.as_seq", "equation_Slice.byte", "equation_Slice.lbuffer", - "equation_with_fuel_Parsing.parse_many.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", "function_token_typing_FStar.Ghost.reveal", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Parsing.parsing_done", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "int_inversion", - "interpretation_Tm_abs_421f26d5d54dc4ffa3d39c1b2b48025c", - "interpretation_Tm_abs_4c0e7e9e2ed369d03d23a3c1600d5a17", - "interpretation_Tm_abs_636d40c97aa72cc56c507936ee94e267", - "interpretation_Tm_abs_bf712c1cf77aee55682f5d127b6b38bb", - "interpretation_Tm_abs_c469667def2116994fa9842dcf96c800", - "interpretation_Tm_abs_ecbe32e3b57f5c1e1c3bed88b2ff7e7a", + "interpretation_Tm_abs_17aa79fb8be9891730cb7afc19c9ddf2", + "interpretation_Tm_abs_2a1b4e8fe03f9a7ce95dfffa4032beae", + "interpretation_Tm_abs_60b4a4febf7cfc3f73482c828b17d3b5", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "interpretation_Tm_abs_a7373df0e65835a35486e3684742bdd2", "kinding_KeyValue.encoded_entry@tok", "kinding_KeyValue.store@tok", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", + "refinement_interpretation_Tm_refine_3bcd95314e49c5f6fb0289b424efe049", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7e24955632f88da22fd34e8d572caab5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Ghost.reveal", "typing_FStar.Buffer.as_seq", "typing_FStar.Ghost.elift1", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.UInt32.v", - "typing_Parsing.parse_many", "typing_Parsing.parser", + "typing_Parsing.parser", "typing_Parsing.parsing_done", "typing_PureParser.parse_entries", "typing_PureParser.parse_entry", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", - "typing_Tm_abs_ecbe32e3b57f5c1e1c3bed88b2ff7e7a", "unit_typing" + "typing_Tm_abs_2a1b4e8fe03f9a7ce95dfffa4032beae", "unit_typing" ], 0, - "6352ae0b8f7c4388d5dc48d2b6a38d49" + "657771467a8dc1a796a9545ccadd9cac" ], [ "Validator.validate_store_st", - 3, + 2, 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Parsing_interpretation_Tm_arrow_0443ccf0d964ca54743ecbdbffe07fae", + "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Monotonic.HyperStack.MkRef", + "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sel", + "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.modifies_none", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.reference", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperHeap.modifies_just", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.frameOf", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.Monotonic.HyperStack.modifies", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_FStar.Monotonic.HyperStack.sel", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Parsing.byte", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.lbuffer", + "equation_IntegerParsing.parse_u32", "equation_Parsing.and_then", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.nat", "equation_PureParser.parse_abstract_store", + "equation_PureParser.parse_entries", "equation_Slice.advance_slice", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.lbuffer", "equation_Slice.live", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Slice.bslice", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Slice.BSlice_p", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt32.t", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_3da438a710231788a677e1c3b124d7bb", + "interpretation_Tm_abs_898692807cc82957fc188d1a18e680c4", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_KeyValue.store@tok", "lemma_FStar.Buffer.lemma_offset_spec", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_SelConcat1", + "lemma_FStar.Map.lemma_SelConcat2", + "lemma_FStar.Map.lemma_SelRestrict", + "lemma_FStar.Map.lemma_equal_elim", + "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_empty", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_idx", + "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", + "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_FStar.Pervasives.Native.Some_v", + "proj_equation_Slice.BSlice_len", "proj_equation_Slice.BSlice_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "projection_inverse_FStar.Buffer.MkBuffer_content", + "projection_inverse_FStar.Buffer.MkBuffer_length", + "projection_inverse_FStar.Buffer.MkBuffer_max_length", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "projection_inverse_Slice.BSlice_len", + "projection_inverse_Slice.BSlice_p", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2399b781b4e2acd156f8539be160e221", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_92f4aa4b109ec408523e8bc7df2a862a", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_671a28ccc8295c656e799758965a2d7f", + "refinement_kinding_Tm_refine_e22f36d20d3bb31819412f1121d36e8e", + "token_correspondence_FStar.Ghost.reveal", + "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "typing_FStar.Buffer.__proj__MkBuffer__item__idx", + "typing_FStar.Buffer.__proj__MkBuffer__item__length", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", + "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", + "typing_FStar.Buffer.length", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Map.concat", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", + "typing_FStar.Monotonic.HyperStack.contains", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.sel", + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Set.complement", "typing_FStar.Set.empty", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_IntegerParsing.parse_u32", + "typing_Parsing.parser", "typing_PureParser.parse_abstract_store", + "typing_PureParser.parse_entries", "typing_Slice.__proj__BSlice__item__len", - "typing_Slice.__proj__BSlice__item__p" + "typing_Slice.__proj__BSlice__item__p", "typing_Slice.advance_slice", + "typing_Slice.u32_add_overflows" ], 0, - "544dc03342c286cc6a46926e6d86420e" + "4e271f02d948f6e7ee3e669ae57d6b1e" ] ] ] \ No newline at end of file diff --git a/examples/kv_parsing/VectorParsing.fst.hints b/examples/kv_parsing/VectorParsing.fst.hints index ab6023e1c3d..97d6a774564 100644 --- a/examples/kv_parsing/VectorParsing.fst.hints +++ b/examples/kv_parsing/VectorParsing.fst.hints @@ -8,28 +8,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Serializer.max_entries_to_write", - "equation_Slice.byte", + "equation_Parsing.byte", "equation_Prims.nat", "equation_Slice.byte", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3" ], 0, - "5e6fdbd03352144af3aee8767858cce6" + "89973d530083bbe065da2083f1c816ce" ], [ "VectorParsing.parse_elem_progress", @@ -45,7 +35,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "b79864364ba74d774a2adee00c3d982c" + "16e1e76ab94d235c613b174b5e40b887" ], [ "VectorParsing.parse_elem_progress", @@ -54,41 +44,32 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Serializer.max_entries_to_write", - "equation_Slice.byte", "equation_Slice.bytes", + "equation_Parsing.byte", "equation_Prims.nat", "equation_Slice.byte", + "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.UInt8.t", "int_typing", + "lemma_FStar.Seq.Base.lemma_len_slice", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_28e12d2d077c6fef323c79aa602a6901", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.UInt32.v", "typing_VectorParsing.enc_elem" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c7898cb1389dceb16db57540a3c2ab10", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "typing_VectorParsing.enc_elem" ], 0, - "1b2374e99b97b601a794e6e59fc51a46" + "86e250888468b935d2e87a4f1befaf0a" ], [ "VectorParsing.parse_elem_enc_length", @@ -104,7 +85,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "6d3ab1e9a19819fcbf69a32c8a2eab28" + "0c3c6008162d36a27e599004f29f3dea" ], [ "VectorParsing.parse_elem_enc_length", @@ -113,40 +94,29 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Serializer.max_entries_to_write", - "equation_Slice.byte", "equation_Slice.bytes", + "equation_Parsing.byte", "equation_Prims.nat", "equation_Slice.byte", + "equation_Slice.bytes", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3" ], 0, - "a75fbd8eccd958afcffd37998a54575e" + "b78a9bb9f5ac38918d1a6c0932d23088" ], [ "VectorParsing.vector_length", @@ -155,14 +125,13 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Slice.byte", "equation_Slice.bytes", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_28e12d2d077c6fef323c79aa602a6901", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c7898cb1389dceb16db57540a3c2ab10", "typing_VectorParsing.enc_elem" ], 0, - "936cb910ee317853ea53231297dd6023" + "d24f6ed8b02fbc435a362b98bdad63cf" ], [ "VectorParsing.parse_vector_length_pre", @@ -229,7 +198,7 @@ "well-founded-ordering-on-nat" ], 0, - "9dcca5ba99e0c7c68ace6cfd1f489607" + "16033c07f3e0f4343fb75c11a3bd940a" ], [ "VectorParsing.parse_vector_length_pre", @@ -289,7 +258,7 @@ "typing_VectorParsing.vector_length", "well-founded-ordering-on-nat" ], 0, - "79813c5128db97bfd89388fd87063ae1" + "cccf60bca7e64c76e96ec3ad104d7a97" ], [ "VectorParsing.parse_vector_length_pre", @@ -300,15 +269,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_280f00699b4f9c9e626049679361600e_0", - "binder_x_fb4b981d378e61f65b1d90c69ae86032_1", "bool_inversion", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "VectorParsing_interpretation_Tm_arrow_2230060b4fff22771ca1c9ca742326b7", + "b2t_def", "binder_x_9807ddb0e569187e389675611f2acf1e_0", + "binder_x_c6d11a5bc6169518ebacb7920ff56830_1", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -316,18 +287,17 @@ "equation_Slice.bytes", "equation_VectorParsing.vector", "equation_VectorParsing.vector_length", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "function_token_typing_VectorParsing.t", "int_inversion", "int_typing", - "interpretation_Tm_abs_ec34b345937420bc1132a36962083f3f", + "interpretation_Tm_abs_f7614cd9a99b6ad582b12dbabdedaab2", + "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -338,21 +308,23 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1162f5bfe77ef66d232f2a32f41231b2", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_35f8ce4fec0bd55d5b17ee30406fb75c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cea800c3dcd3d2cc262663da42897ef4", - "refinement_kinding_Tm_refine_35f8ce4fec0bd55d5b17ee30406fb75c", + "refinement_interpretation_Tm_refine_40c8c923b917bc25462bf3bf31c334b4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_584ba63c92351d308a69af0915e48ade", + "refinement_interpretation_Tm_refine_709d50ba80be7be9886118b8e85c7207", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_584ba63c92351d308a69af0915e48ade", + "refinement_kinding_Tm_refine_709d50ba80be7be9886118b8e85c7207", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Seq.Base.length", "typing_FStar.UInt16.v", - "typing_Tm_abs_ec34b345937420bc1132a36962083f3f", + "typing_Tm_abs_f7614cd9a99b6ad582b12dbabdedaab2", "typing_VectorParsing.vector_length", "well-founded-ordering-on-nat" ], 0, - "6597c06771051128231be53fe5c1e219" + "e8449bc6645ccb80cf25b3a94fdd5cda" ], [ "VectorParsing.parse_vector_length_pre_extend", @@ -360,33 +332,29 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Serializer.max_entries_to_write", - "equation_Slice.byte", "equation_Slice.bytes", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", + "equation_Parsing.byte", "equation_Prims.nat", "equation_Slice.byte", + "equation_Slice.bytes", "function_token_typing_FStar.UInt8.t", + "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_f89f005cb4e6a147650097d7d943b720", - "typing_FStar.UInt16.v", "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d74dd683b35f653b1297e831f01e0f99", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt16.v" ], 0, - "820285a475cccf285fad6b57b26db45f" + "8e28cbf87f014fc9f68f7cc63e14c088" ], [ "VectorParsing.parse_vector_length", @@ -414,7 +382,7 @@ "typing_FStar.UInt16.v" ], 0, - "e8178783eb304fb04ab891435d111300" + "6e8dba99b62c93812484d1035aba6c00" ], [ "VectorParsing.parse_vector_length", @@ -424,27 +392,28 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_VectorParsing.parse_vector_length_pre.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", + "@query", "b2t_def", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_Parsing.byte", - "equation_Parsing.bytes", "equation_Parsing.bytes32", - "equation_Slice.byte", "equation_Slice.bytes", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Slice.byte", + "equation_Slice.bytes", "equation_with_fuel_VectorParsing.parse_vector_length_pre.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.UInt32.n", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "fcbfb20178c07ff0a656be908fefd310" + "78994209fa55d8ccf9fecef271f0dd31" ], [ "VectorParsing.parse_vector_length_0", @@ -453,34 +422,29 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_correspondence_VectorParsing.parse_vector_length_pre.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Some", + "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Int16.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", "equation_Parsing.byte", - "equation_Parsing.bytes32", "equation_Prims.nat", - "equation_Prims.pos", "equation_Serializer.max_entries_to_write", - "equation_Slice.byte", "equation_Slice.bytes", - "equation_VectorParsing.parse_vector_length", - "equation_VectorParsing.vector", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Parsing.byte", + "equation_Prims.nat", "equation_Prims.pos", "equation_Slice.byte", + "equation_Slice.bytes", "equation_VectorParsing.parse_vector_length", "equation_VectorParsing.vector_length", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "equation_with_fuel_VectorParsing.parse_vector_length_pre.fuel_instrumented", - "function_token_typing_FStar.Int16.n", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.u32_array_bound", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", - "function_token_typing_Serializer.max_entries_to_write", - "function_token_typing_VectorParsing.t", "int_typing", - "interpretation_Tm_abs_5fa6f8401ee9fe68f49f62bab38d8a8b", + "function_token_typing_VectorParsing.t", "int_inversion", + "int_typing", + "interpretation_Tm_abs_b2f44e5477d2c08df7edaa6dce2a70e0", "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -489,20 +453,21 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_d688b119913f37d202a207d73899f7eb", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_Prims.pow2.fuel_instrumented", "token_correspondence_VectorParsing.parse_vector_length", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt16.uint_to_t", - "typing_FStar.UInt32.v", "typing_Prims.pow2", - "typing_Tm_abs_ec34b345937420bc1132a36962083f3f" + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt16.uint_to_t", + "typing_VectorParsing.parse_vector_length_pre", + "typing_VectorParsing.vector_length" ], 0, - "910d5550db85a0451d198debf4c2bd71" + "f6cd162fce149ce238ef46332af78a27" ], [ "VectorParsing.parse_vector_length_consumes_len", @@ -518,7 +483,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "d643f276ad0a61b6a6aa070d56d62239" + "b1097f84f84d452897a00a68fc0a63ba" ], [ "VectorParsing.parse_vector_length_consumes_len", @@ -526,34 +491,26 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", - "Parsing_interpretation_Tm_arrow_c56ea957114ed81b433d8f932a78e217", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "VectorParsing_interpretation_Tm_arrow_8ecc7ba91aaf9e4e12995dde35ef05ff", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.uint_t", "equation_Parsing.byte", - "equation_Parsing.bytes", "equation_Parsing.bytes32", - "equation_Parsing.parser", "equation_Prims.nat", - "equation_Slice.byte", "equation_Slice.bytes", + "@MaxIFuel_assumption", + "@fuel_correspondence_VectorParsing.parse_vector_length_pre.fuel_instrumented", + "@query", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", "equation_FStar.UInt.uint_t", "equation_VectorParsing.parse_vector_length", - "equation_VectorParsing.vector", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_VectorParsing.parse_vector_length", "int_inversion", - "interpretation_Tm_abs_5fa6f8401ee9fe68f49f62bab38d8a8b", + "interpretation_Tm_abs_b2f44e5477d2c08df7edaa6dce2a70e0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_VectorParsing.parse_vector_length", - "typing_FStar.UInt16.v" + "typing_FStar.UInt16.v", + "typing_VectorParsing.parse_vector_length_pre" ], 0, - "fad16fbc38c3740237848e852355d405" + "ce7ce00dd75b1fe7ea85c497202b7a86" ], [ "VectorParsing.parse_vector", @@ -562,7 +519,7 @@ 1, [ "@query" ], 0, - "fbd2928ff0a7aa472953f4b6add99db4" + "c82e5b6eac4047aa59bfd1ed7bd64acb" ], [ "VectorParsing.encode_vector_data", @@ -573,8 +530,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_42bec278dc7167e4dbaf1b0d30891e54_0", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "VectorParsing_interpretation_Tm_arrow_2230060b4fff22771ca1c9ca742326b7", + "binder_x_6d92be752172452166c6fb216391ec49_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", @@ -583,26 +542,25 @@ "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "function_token_typing_VectorParsing.t", "int_typing", - "interpretation_Tm_abs_ec34b345937420bc1132a36962083f3f", + "interpretation_Tm_abs_f7614cd9a99b6ad582b12dbabdedaab2", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_28e12d2d077c6fef323c79aa602a6901", - "refinement_interpretation_Tm_refine_40a7a4c55874a373d5d13a9db3b8962f", + "refinement_interpretation_Tm_refine_40c8c923b917bc25462bf3bf31c334b4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a641409ab5ae979add7ceea7a72cdc21", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cea800c3dcd3d2cc262663da42897ef4", + "refinement_interpretation_Tm_refine_c7898cb1389dceb16db57540a3c2ab10", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_ec34b345937420bc1132a36962083f3f", + "typing_Tm_abs_f7614cd9a99b6ad582b12dbabdedaab2", "typing_VectorParsing.enc_elem" ], 0, - "50513a5c13ed87502d075dbaf0082a7f" + "6d21ddcf6cfb3659f4cb8ffd7882a7c5" ], [ "VectorParsing.encode_vector", @@ -620,10 +578,10 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_cea800c3dcd3d2cc262663da42897ef4" + "refinement_interpretation_Tm_refine_40c8c923b917bc25462bf3bf31c334b4" ], 0, - "1c7139bc63397525913fe54567fcd7e2" + "1dbb541cf4444d143aa9145b67215bb5" ], [ "VectorParsing.do_while_readonly", @@ -632,7 +590,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", @@ -668,7 +625,6 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_equal_domains_2", "lemma_FStar.Buffer.lemma_fresh_poppable", @@ -701,15 +657,15 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_64222ffdbb536b1f9500acee0cf6662c", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c63ba8b319cc7d55b4d3022fd0a89187", - "refinement_interpretation_Tm_refine_c7d3bb24ed29bc112df6964f6c5f5f12", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c7e8b3372b265f16c11a449a16a8dcaa", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.content", @@ -734,7 +690,7 @@ "typing_FStar.UInt32.v" ], 0, - "a49955bc97c7193ace431756a529375a" + "9ec848b8e233a69c9a3cba3b9ee6b6b2" ], [ "VectorParsing.u16_bound", @@ -744,20 +700,18 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "c29a6e960cebf809dc8c5b425cb34f66" + "d670791d77a19c29ad1907051f15801b" ], [ "VectorParsing.validate_vector_data", @@ -766,7 +720,7 @@ 1, [ "@query" ], 0, - "e945213ff6090a000c3022a168202e20" + "650c87fe46b98460624372c1fa23cc17" ], [ "VectorParsing.validate_vector_data", @@ -779,10 +733,9 @@ "@fuel_correspondence_VectorParsing.parse_vector_length_pre.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "VectorParsing_interpretation_Tm_arrow_8248895f0c4779717b1377cd6dfa3f83", + "VectorParsing_interpretation_Tm_arrow_e0387db86e384d538232fe7d9cd544ee", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -815,12 +768,11 @@ "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.eq", "equation_FStar.UInt32.gt", "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Prims.nat", - "equation_Slice.advance_slice", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.bytes", - "equation_Slice.lbuffer", "equation_Slice.live", - "equation_VectorParsing.parse_vector_length", - "equation_VectorParsing.vector", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.nat", "equation_Slice.advance_slice", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.bytes", "equation_Slice.lbuffer", + "equation_Slice.live", "equation_VectorParsing.parse_vector_length", "equation_with_fuel_Prims.pow2.fuel_instrumented", "equation_with_fuel_VectorParsing.parse_vector_length_pre.fuel_instrumented", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", @@ -833,11 +785,11 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_VectorParsing.t", "int_inversion", "int_typing", - "interpretation_Tm_abs_5fa6f8401ee9fe68f49f62bab38d8a8b", + "interpretation_Tm_abs_b2f44e5477d2c08df7edaa6dce2a70e0", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", @@ -848,13 +800,13 @@ "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", - "lemma_FStar.UInt16.uv_inv", "lemma_FStar.UInt16.vu_inv", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", + "lemma_FStar.UInt16.vu_inv", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", @@ -867,6 +819,7 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_content", "projection_inverse_FStar.Buffer.MkBuffer_idx", + "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -878,28 +831,29 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_575ccbaada7bcc4f75834a1c3bf15afc", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_62174fdf8d6e1bbb55f291d4e7bbbe43", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_7d1b0efba8629536c637d9f56e109e4a", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_976642c136dc539b7d922083e83e4d87", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_2bf1d45655da01105da7e953de655b87", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_4ebb4e79fc348073475ecde1b19a1707", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_7723cb3ddd1e227ad12ec7e5b09a8688", + "refinement_interpretation_Tm_refine_77dd0e9556afadacd119b8c135278728", + "refinement_interpretation_Tm_refine_8eb588355540049f8cd4696611a09ea0", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d7ba62ec17a70a217f84a465b92e9039", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_interpretation_Tm_refine_e5afdcfff5c8b16d59b4e618050ebdd9", - "refinement_interpretation_Tm_refine_ecdbf204b2efa3e07b0f6e807d7a5d29", - "refinement_kinding_Tm_refine_66ced31e7f22d1e28fe9c5e051729bde", - "refinement_kinding_Tm_refine_e5afdcfff5c8b16d59b4e618050ebdd9", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e2e6d21106f8cdace8e0816f9bb4959f", + "refinement_interpretation_Tm_refine_e9121233fbd5c42f6e3000f60991a56a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_4ebb4e79fc348073475ecde1b19a1707", + "refinement_kinding_Tm_refine_6c6afa5370143f41071516d0f6fdfd67", + "refinement_kinding_Tm_refine_d688b119913f37d202a207d73899f7eb", "token_correspondence_FStar.Ghost.reveal", "token_correspondence_VectorParsing.parse_vector_length", "typing_FStar.Buffer.__proj__MkBuffer__item__content", @@ -923,17 +877,17 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.UInt.fits", "typing_FStar.UInt16.uint_to_t", "typing_FStar.UInt16.v", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", - "typing_Tm_abs_5fa6f8401ee9fe68f49f62bab38d8a8b", + "typing_Tm_abs_b2f44e5477d2c08df7edaa6dce2a70e0", "typing_VectorParsing.parse_elem", "typing_VectorParsing.parse_vector_length", "typing_VectorParsing.parse_vector_length_pre" ], 0, - "4a127707c58eb64d17e4d11fca7aec44" + "d15d46862ffb05dfb168ddbd90aee556" ], [ "VectorParsing.parse_elem_enc", @@ -942,28 +896,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Serializer.max_entries_to_write", - "equation_Slice.byte", + "equation_Parsing.byte", "equation_Prims.nat", "equation_Slice.byte", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_110510ba6cb46229babc23a912005012", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3" ], 0, - "81cd804a848fd5c3b8bfe3b6b5bd6416" + "63ee165a766a73e7e8094b045f4d31a0" ], [ "VectorParsing.parse_elem_progress", @@ -979,7 +923,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "6a11cea00e2aeff11c68fe0860f8fc84" + "688d157af4222e7953c991992a3ccd89" ], [ "VectorParsing.parse_elem_enc_length", @@ -995,7 +939,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "afc8115626dac6974b4a4e853c43d5ef" + "10ba7f4f6c4c1c3485142b2f486d91cb" ], [ "VectorParsing.vector_length", @@ -1004,14 +948,13 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Slice.byte", "equation_Slice.bytes", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_28e12d2d077c6fef323c79aa602a6901", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c7898cb1389dceb16db57540a3c2ab10", "typing_VectorParsing.enc_elem" ], 0, - "562f7fe522081c1916934f2df7c39372" + "3f4ce66b58def962bae159378a6003ef" ], [ "VectorParsing.parse_vector_length_pre", @@ -1020,7 +963,7 @@ 1, [ "@query" ], 0, - "cf3722ba25f6d5011c49626ee15db170" + "c623c65bf8ac7b6adfd4af8d46dda55e" ], [ "VectorParsing.parse_vector_length_pre", @@ -1031,15 +974,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_280f00699b4f9c9e626049679361600e_0", - "binder_x_fb4b981d378e61f65b1d90c69ae86032_1", "bool_inversion", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "VectorParsing_interpretation_Tm_arrow_2230060b4fff22771ca1c9ca742326b7", + "b2t_def", "binder_x_9807ddb0e569187e389675611f2acf1e_0", + "binder_x_c6d11a5bc6169518ebacb7920ff56830_1", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -1047,18 +992,17 @@ "equation_Slice.bytes", "equation_VectorParsing.vector", "equation_VectorParsing.vector_length", "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "function_token_typing_VectorParsing.t", "int_inversion", "int_typing", - "interpretation_Tm_abs_ec34b345937420bc1132a36962083f3f", + "interpretation_Tm_abs_f7614cd9a99b6ad582b12dbabdedaab2", + "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -1069,21 +1013,23 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1162f5bfe77ef66d232f2a32f41231b2", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_35f8ce4fec0bd55d5b17ee30406fb75c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cea800c3dcd3d2cc262663da42897ef4", - "refinement_kinding_Tm_refine_35f8ce4fec0bd55d5b17ee30406fb75c", + "refinement_interpretation_Tm_refine_40c8c923b917bc25462bf3bf31c334b4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_584ba63c92351d308a69af0915e48ade", + "refinement_interpretation_Tm_refine_709d50ba80be7be9886118b8e85c7207", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_584ba63c92351d308a69af0915e48ade", + "refinement_kinding_Tm_refine_709d50ba80be7be9886118b8e85c7207", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Seq.Base.length", "typing_FStar.UInt16.v", - "typing_Tm_abs_ec34b345937420bc1132a36962083f3f", + "typing_Tm_abs_f7614cd9a99b6ad582b12dbabdedaab2", "typing_VectorParsing.vector_length", "well-founded-ordering-on-nat" ], 0, - "7d3d885ae6e38821d2e454c981b0e1d5" + "88e8812201a77e0b00cc2b780ff04f81" ], [ "VectorParsing.parse_vector_length_pre_extend", @@ -1091,33 +1037,29 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_IntegerParsing.u32_array_bound", "equation_Parsing.byte", - "equation_Prims.nat", "equation_Serializer.max_entries_to_write", - "equation_Slice.byte", "equation_Slice.bytes", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_IntegerParsing.u32_array_bound", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Serializer.max_entries_to_write", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", + "equation_Parsing.byte", "equation_Prims.nat", "equation_Slice.byte", + "equation_Slice.bytes", "function_token_typing_FStar.UInt8.t", + "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbf5a4e73eb6850050f387d18311bd92", - "refinement_interpretation_Tm_refine_f89f005cb4e6a147650097d7d943b720", - "typing_FStar.UInt16.v", "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d74dd683b35f653b1297e831f01e0f99", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt16.v" ], 0, - "3e48a711ce0e46d7316dee417e5807f3" + "f3bfcb0733152ee8c8841872fe176fae" ], [ "VectorParsing.parse_vector_length", @@ -1127,27 +1069,28 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_VectorParsing.parse_vector_length_pre.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", + "@query", "b2t_def", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_Parsing.byte", - "equation_Parsing.bytes", "equation_Parsing.bytes32", - "equation_Slice.byte", "equation_Slice.bytes", + "equation_Parsing.byte", "equation_Parsing.bytes", + "equation_Parsing.bytes32", "equation_Slice.byte", + "equation_Slice.bytes", "equation_with_fuel_VectorParsing.parse_vector_length_pre.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.UInt32.n", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "1073de83eb031a9654add400cf01676e" + "7ed1b8af998ac4955279b8b2ab34b307" ], [ "VectorParsing.parse_vector_length", @@ -1156,7 +1099,7 @@ 1, [ "@query" ], 0, - "6c200d6a65e96ac1c84f4c4eb1472f27" + "d2395f501b2a9d0a80141d1df1e7a8b4" ], [ "VectorParsing.parse_vector_length_0", @@ -1165,28 +1108,57 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_correspondence_VectorParsing.parse_vector_length_pre.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Int16.n", "equation_Parsing.byte", + "VectorParsing_interpretation_Tm_arrow_e0387db86e384d538232fe7d9cd544ee", + "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Some", + "data_typing_intro_Prims.Nil@tok", + "disc_equation_FStar.Pervasives.Native.None", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Parsing.byte", + "equation_Parsing.bytes", "equation_Parsing.bytes32", "equation_Prims.nat", "equation_Prims.pos", "equation_Slice.byte", - "equation_Slice.bytes", "equation_VectorParsing.vector_length", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "function_token_typing_FStar.Int16.n", + "equation_Slice.bytes", "equation_VectorParsing.parse_vector_length", + "equation_VectorParsing.vector_length", + "equation_with_fuel_VectorParsing.parse_vector_length_pre.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", - "function_token_typing_VectorParsing.t", "int_typing", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2c4ed52ca61af0afe406eb07485d9cb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Seq.Base.length", "typing_Prims.pow2", - "typing_Tm_abs_ec34b345937420bc1132a36962083f3f" + "function_token_typing_VectorParsing.t", "int_inversion", + "int_typing", + "interpretation_Tm_abs_b2f44e5477d2c08df7edaa6dce2a70e0", + "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c6afa5370143f41071516d0f6fdfd67", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_d688b119913f37d202a207d73899f7eb", + "refinement_interpretation_Tm_refine_e503d707d8b9b985cc10fa9a525717b3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_Prims.pow2.fuel_instrumented", + "token_correspondence_VectorParsing.parse_vector_length", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt16.uint_to_t", + "typing_Tm_abs_b2f44e5477d2c08df7edaa6dce2a70e0", + "typing_VectorParsing.parse_vector_length_pre", + "typing_VectorParsing.vector_length" ], 0, - "c82c4d86671890d336aa866d5cb7ddda" + "da182790eb577fddba781f297b7965ca" ], [ "VectorParsing.parse_vector_length_consumes_len", @@ -1202,7 +1174,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "40406804a8d0acb1dc646b501a87f38a" + "8e6765efcb9d0e9c4ade894617f8f54d" ], [ "VectorParsing.parse_vector", @@ -1211,7 +1183,7 @@ 1, [ "@query" ], 0, - "374f9d84a33852ade171cdb0246f99e7" + "c7704418c80a61194b3484f1ac32bb94" ], [ "VectorParsing.encode_vector_data", @@ -1222,8 +1194,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_42bec278dc7167e4dbaf1b0d30891e54_0", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "VectorParsing_interpretation_Tm_arrow_2230060b4fff22771ca1c9ca742326b7", + "binder_x_6d92be752172452166c6fb216391ec49_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "equation_Slice.byte", "equation_Slice.bytes", @@ -1232,26 +1206,25 @@ "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "function_token_typing_VectorParsing.t", "int_typing", - "interpretation_Tm_abs_ec34b345937420bc1132a36962083f3f", + "interpretation_Tm_abs_f7614cd9a99b6ad582b12dbabdedaab2", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_28e12d2d077c6fef323c79aa602a6901", - "refinement_interpretation_Tm_refine_40a7a4c55874a373d5d13a9db3b8962f", + "refinement_interpretation_Tm_refine_40c8c923b917bc25462bf3bf31c334b4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a641409ab5ae979add7ceea7a72cdc21", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cea800c3dcd3d2cc262663da42897ef4", + "refinement_interpretation_Tm_refine_c7898cb1389dceb16db57540a3c2ab10", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_ec34b345937420bc1132a36962083f3f", + "typing_Tm_abs_f7614cd9a99b6ad582b12dbabdedaab2", "typing_VectorParsing.enc_elem" ], 0, - "b9ca5e5d97bdfe6ce82806608414bf43" + "c6ec5b9569fe862eeda212a9d5b07c15" ], [ "VectorParsing.encode_vector", @@ -1269,10 +1242,10 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_cea800c3dcd3d2cc262663da42897ef4" + "refinement_interpretation_Tm_refine_40c8c923b917bc25462bf3bf31c334b4" ], 0, - "e508ecd0a2ee4b5ad300fc1177611490" + "690bfe806956b883f98d4297dfa9490a" ], [ "VectorParsing.validate_vector_data", @@ -1285,10 +1258,9 @@ "@fuel_correspondence_VectorParsing.parse_vector_length_pre.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "VectorParsing_interpretation_Tm_arrow_8248895f0c4779717b1377cd6dfa3f83", + "VectorParsing_interpretation_Tm_arrow_e0387db86e384d538232fe7d9cd544ee", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1321,12 +1293,11 @@ "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.eq", "equation_FStar.UInt32.gt", "equation_Parsing.byte", "equation_Parsing.bytes", - "equation_Parsing.bytes32", "equation_Prims.nat", - "equation_Slice.advance_slice", "equation_Slice.as_seq", - "equation_Slice.byte", "equation_Slice.bytes", - "equation_Slice.lbuffer", "equation_Slice.live", - "equation_VectorParsing.parse_vector_length", - "equation_VectorParsing.vector", + "equation_Parsing.bytes32", "equation_Parsing.parser", + "equation_Prims.nat", "equation_Slice.advance_slice", + "equation_Slice.as_seq", "equation_Slice.byte", + "equation_Slice.bytes", "equation_Slice.lbuffer", + "equation_Slice.live", "equation_VectorParsing.parse_vector_length", "equation_with_fuel_Prims.pow2.fuel_instrumented", "equation_with_fuel_VectorParsing.parse_vector_length_pre.fuel_instrumented", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", @@ -1339,11 +1310,11 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_VectorParsing.t", "int_inversion", "int_typing", - "interpretation_Tm_abs_5fa6f8401ee9fe68f49f62bab38d8a8b", + "interpretation_Tm_abs_b2f44e5477d2c08df7edaa6dce2a70e0", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", @@ -1354,13 +1325,13 @@ "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", - "lemma_FStar.UInt16.uv_inv", "lemma_FStar.UInt16.vu_inv", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", + "lemma_FStar.UInt16.vu_inv", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", @@ -1373,6 +1344,7 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_content", "projection_inverse_FStar.Buffer.MkBuffer_idx", + "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -1384,35 +1356,37 @@ "projection_inverse_Slice.BSlice_len", "projection_inverse_Slice.BSlice_p", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2cce8b21947d7cc0465fdc87c7a1f882", - "refinement_interpretation_Tm_refine_575ccbaada7bcc4f75834a1c3bf15afc", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_7783767b1b768f2ea127a5df3fbaeaac", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_7d1b0efba8629536c637d9f56e109e4a", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_976642c136dc539b7d922083e83e4d87", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_2bf1d45655da01105da7e953de655b87", + "refinement_interpretation_Tm_refine_3e8908b178faae4417481d4e9d073df2", + "refinement_interpretation_Tm_refine_4ebb4e79fc348073475ecde1b19a1707", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_6a370c0e5e986585449f734855cffb28", + "refinement_interpretation_Tm_refine_7723cb3ddd1e227ad12ec7e5b09a8688", + "refinement_interpretation_Tm_refine_77dd0e9556afadacd119b8c135278728", + "refinement_interpretation_Tm_refine_8eb588355540049f8cd4696611a09ea0", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_9e2da0552185a8297811b9f8c0e5948c", + "refinement_interpretation_Tm_refine_a378fda394b0a6eda66853459dd2186f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b89bf9d8a6bca42f733fb835128df8e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d7ba62ec17a70a217f84a465b92e9039", - "refinement_interpretation_Tm_refine_d9369e6b3907b9331bc245544a6ab6a7", - "refinement_interpretation_Tm_refine_e5afdcfff5c8b16d59b4e618050ebdd9", - "refinement_interpretation_Tm_refine_ecdbf204b2efa3e07b0f6e807d7a5d29", - "refinement_kinding_Tm_refine_66ced31e7f22d1e28fe9c5e051729bde", - "refinement_kinding_Tm_refine_e5afdcfff5c8b16d59b4e618050ebdd9", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_e2e6d21106f8cdace8e0816f9bb4959f", + "refinement_interpretation_Tm_refine_e9121233fbd5c42f6e3000f60991a56a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_4ebb4e79fc348073475ecde1b19a1707", + "refinement_kinding_Tm_refine_6c6afa5370143f41071516d0f6fdfd67", + "refinement_kinding_Tm_refine_d688b119913f37d202a207d73899f7eb", "token_correspondence_FStar.Ghost.reveal", "token_correspondence_VectorParsing.parse_vector_length", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", + "typing_FStar.Buffer.length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Int.Cast.uint16_to_uint32", "typing_FStar.Int.Cast.uint32_to_uint16", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", @@ -1426,18 +1400,19 @@ "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.UInt16.uint_to_t", - "typing_FStar.UInt16.v", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_Parsing.parser", "typing_Slice.__proj__BSlice__item__len", + "typing_FStar.Set.mem", "typing_FStar.UInt.fits", + "typing_FStar.UInt16.uint_to_t", "typing_FStar.UInt16.v", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_Parsing.parser", + "typing_Slice.__proj__BSlice__item__len", "typing_Slice.__proj__BSlice__item__p", - "typing_Tm_abs_5fa6f8401ee9fe68f49f62bab38d8a8b", + "typing_Tm_abs_b2f44e5477d2c08df7edaa6dce2a70e0", "typing_VectorParsing.parse_elem", "typing_VectorParsing.parse_vector_length", "typing_VectorParsing.parse_vector_length_pre" ], 0, - "5089f41c4f2e00847304bf5d13ebd538" + "e0bfc167c7ad92f3f06613afadeffb37" ], [ "VectorParsing.validate_vector_data", @@ -1608,7 +1583,7 @@ "typing_VectorParsing_Tm_abs_35e00340110bed3b45665770431bd2a7" ], 0, - "133a76933f7609fbf01b60f218b00210" + "9fe4b58ad2e0948f5c92840d38fc82f3" ] ] ] \ No newline at end of file diff --git a/examples/low-level/crypto/Crypto.Symmetric.Chacha20.fst b/examples/low-level/crypto/Crypto.Symmetric.Chacha20.fst index 8dd4508b33a..1a2ab5bf162 100644 --- a/examples/low-level/crypto/Crypto.Symmetric.Chacha20.fst +++ b/examples/low-level/crypto/Crypto.Symmetric.Chacha20.fst @@ -53,7 +53,7 @@ type iv = lbytes (v ivlen) // internally, blocks are represented as 16 x 4-byte integers private type matrix = m:uint32s{length m = v blocklen / 4} -private type shuffle = +private unfold type shuffle = m:matrix -> STL unit (requires (fun h -> live h m)) (ensures (fun h0 _ h1 -> live h1 m /\ modifies_1 m h0 h1 )) diff --git a/examples/low-mitls-experiments/HSL.fst.hints b/examples/low-mitls-experiments/HSL.fst.hints index 13830d71ac6..3eca71b55ea 100755 --- a/examples/low-mitls-experiments/HSL.fst.hints +++ b/examples/low-mitls-experiments/HSL.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_HSL.Mk_state_len" ], 0, - "144428ba16da652cb247271f76e66406" + "451a31c03c3a32358038488e03910a53" ], [ "HSL.null_terminator_invariant_helper", @@ -19,20 +19,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_HSL.u32", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt32.t", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "equation_LowStar.Monotonic.Buffer.length", + "function_token_typing_FStar.UInt32.t", "int_inversion", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -40,13 +34,12 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a7116f1fca82e5801b7092749021b777", - "true_interp", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder" + "refinement_interpretation_Tm_refine_2508870a0df8d669aed21edc09942d2e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "71355250d64499d64fc4a5a5852e55b0" + "b7b7de1d0a0f7788676a72fa44a50032" ], [ "HSL.null_terminator_invariant", @@ -54,16 +47,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_HSL.u32", - "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_HSL.u32", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_aefed7d75105bc0157d4fd7d934bf79f" + "refinement_interpretation_Tm_refine_c73442cbf43eb3a6bec59266f183438d" ], 0, - "f515ae29f4402835541301ac159a3ae5" + "6bdaad310c276ff204156e2c8ec15965" ], [ "HSL.msgs_list_invariant_helper", @@ -72,7 +63,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", @@ -81,13 +71,8 @@ "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_HSL.u32", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt32.t", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "equation_LowStar.Monotonic.Buffer.length", + "function_token_typing_FStar.UInt32.t", "int_inversion", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -95,14 +80,14 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4e50d492a3dee99c4b6204acbbcdee05", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "true_interp", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_9a4997d733ddf031c9e6bb664d76d819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "6738afcc85733d61951abf6f529b717b" + "d804b17ff038ed34dde5838a92014dda" ], [ "HSL.msgs_list_invariant", @@ -110,17 +95,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.lte", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lte", "equation_FStar.UInt32.lte", "equation_HSL.u32", - "equation_Prims.nat", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_aefed7d75105bc0157d4fd7d934bf79f" + "refinement_interpretation_Tm_refine_c73442cbf43eb3a6bec59266f183438d" ], 0, - "eb41c40ac7cc3bef48496b95bb2bc7bc" + "1dfc895a5aebc5f12eea29ef6f2df9a6" ], [ "HSL.hsl_invariant_predicate", @@ -129,7 +113,7 @@ 1, [ "@query" ], 0, - "428113ab348eabc29635e995a8c94e02" + "6f3f8f89159cb243dbc2b0aa351f07d4" ], [ "HSL.lemma_hsl_invariant_elim", @@ -138,7 +122,7 @@ 1, [ "@query", "equation_HSL.hsl_invariant" ], 0, - "8b47e81fab34778ba09646fa2272f9a6" + "f2048f8ec853d5f76b7da266ef2a3bff" ], [ "HSL.hsl_footprint", @@ -146,23 +130,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.lte", - "equation_FStar.UInt32.lte", "equation_HSL.u32", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "fuel_guarded_inversion_HSL.hsl_state", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lte", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", + "equation_HSL.u32", "equation_LowStar.Monotonic.Buffer.length", + "fuel_guarded_inversion_HSL.hsl_state", "int_inversion", "lemma_HSL.lemma_hsl_invariant_elim", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_d300faea3c931a21ecdefde8392ce946", - "true_interp" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd5dd5dc18c41c7fea5974520194f37f", + "typing_FStar.UInt32.v" ], 0, - "7a9203bc250996f1cabf4827072f927d" + "27ae7e85be146b69f8d583ab90eb2440" ], [ "HSL.lemma_frame_hsl_invariant", @@ -170,12 +151,7 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "@MaxIFuel_assumption", "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -192,10 +168,9 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", + "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_HSL.hsl_footprint", "equation_HSL.hsl_get_buf", "equation_HSL.hsl_get_msgs", "equation_HSL.hsl_get_p0", "equation_HSL.hsl_get_p1", "equation_HSL.hsl_invariant", @@ -203,19 +178,14 @@ "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "fuel_guarded_inversion_HSL.hsl_state", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", @@ -223,6 +193,7 @@ "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.live_gsub", + "lemma_LowStar.Monotonic.Buffer.live_is_null", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", @@ -235,22 +206,24 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.List.Tot.Base.mem", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.as_ref", + "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -264,13 +237,14 @@ "typing_HSL.hsl_get_len", "typing_HSL.hsl_get_msgs", "typing_HSL.hsl_get_p0", "typing_HSL.hsl_get_p1", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.loc_addresses", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub", "unit_typing" + "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "a58e2e1e17f354705fe8c1948e0be783" + "720f38d966ccab46b5d270b589f53537" ], [ "HSL.hsl_create", @@ -280,9 +254,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", + "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Nil", "data_elim_HSL.Mk_state", @@ -316,15 +288,15 @@ "equation_HSL.hsl_get_len", "equation_HSL.hsl_get_msgs", "equation_HSL.hsl_get_p0", "equation_HSL.hsl_get_p1", "equation_HSL.hsl_invariant", "equation_HSL.u32", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.fresh_loc", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", @@ -359,31 +331,29 @@ "primitive_Prims.op_Subtraction", "proj_equation_HSL.Mk_state_buf", "proj_equation_HSL.Mk_state_msgs", "proj_equation_HSL.Mk_state_p0", "proj_equation_HSL.Mk_state_p1", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_HSL.Mk_state_buf", "projection_inverse_HSL.Mk_state_msgs", "projection_inverse_HSL.Mk_state_p0", "projection_inverse_HSL.Mk_state_p1", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_29be66d7834581218eaa93228c2c5dae", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5162887c6054b4734f59cfb79dd5cf2f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c1c6870886a55f37f8da073b7f666e03", - "refinement_interpretation_Tm_refine_c91c357d8b481b71bcfe70f0ece722d9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_c5601d5d007664f06de540aa0a21c3c7", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d0497e0673ac9cd1cffabf6b4c3854d0", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_f66e3e9c5cfa5dc28f9d0303f6e78009", + "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.addr_of", @@ -414,7 +384,7 @@ "typing_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "0b769f1e6e8f86994b2808dc22786de6" + "c5666d57a02ff454697a6a86f3c53d19" ], [ "HSL.aux_process", @@ -425,32 +395,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", + "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_Prims.Cons@tok", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_HSL.u32", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "kinding_FStar.Pervasives.Native.tuple2@tok", + "function_token_typing_FStar.UInt32.t", "int_inversion", + "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.UInt32.uv_inv", @@ -468,27 +431,25 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3392dfe7db7973de75beab08602695ce", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_66d646ef044288370cf5c192cd609522", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a6a49e13c31af74a201357299ad849d5", - "refinement_interpretation_Tm_refine_b1d807ba68b9d08be8721b6c7e46a433", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d1c444382a9eba506bf01f3d2cd6f5b2", - "true_interp", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "refinement_interpretation_Tm_refine_41fccc7ad9e57024e40164ed4cd64a6b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6e7111b63a76ba74e909adf4d428357b", + "refinement_interpretation_Tm_refine_8d327f05a4bda58f22431ce3a15fbbab", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe94d3ea0517add5b6a3836ed56ec7f8", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.List.Tot.Base.mem", "typing_FStar.UInt32.lt", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "ba3513a6efc4ec4761564c0bc849d168" + "6e4141acf88042a6f6e74df84c9395e2" ], [ "HSL.hsl_process", @@ -496,11 +457,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.UInt32.t", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.UInt32.t", "constructor_distinct_Prims.list", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", @@ -525,17 +483,15 @@ "equation_HSL.u32", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_HSL.hsl_state", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", @@ -552,8 +508,8 @@ "lemma_HSL.lemma_hsl_invariant_elim", "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.len_gsub", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_gsub", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", @@ -578,26 +534,24 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Mktuple5__2", "projection_inverse_FStar.Pervasives.Native.Mktuple5__3", "projection_inverse_FStar.Pervasives.Native.Mktuple5__4", "projection_inverse_FStar.Pervasives.Native.Mktuple5__5", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_4fc1c2e37254977952a9183680efa080", - "refinement_interpretation_Tm_refine_5f6d06c73a1e0383cbf8715607a0bbd7", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b1d807ba68b9d08be8721b6c7e46a433", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c59b2417f7b79afecd8ac0a54562e8f2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_593c826fa5d900c48e0e50c4baaab523", + "refinement_interpretation_Tm_refine_6e7111b63a76ba74e909adf4d428357b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_dde93cb799553eccc45aa7b989ab7f1b", + "refinement_interpretation_Tm_refine_e3e2661769768011a870b3a05512eac0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", @@ -626,7 +580,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "a9f9a1814a6b5a1bfb4683b9d365e218" + "35bed1e757693af8cf5ea23f376c07dc" ], [ "HSL.null_terminator_invariant_helper", @@ -634,20 +588,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_HSL.u32", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt32.t", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "equation_LowStar.Monotonic.Buffer.length", + "function_token_typing_FStar.UInt32.t", "int_inversion", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -655,13 +603,12 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a7116f1fca82e5801b7092749021b777", - "true_interp", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder" + "refinement_interpretation_Tm_refine_2508870a0df8d669aed21edc09942d2e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "cda09b69d5e518ebee579ba4e5dc4748" + "b304cdbcb699a6e027405f8733206868" ], [ "HSL.null_terminator_invariant", @@ -669,16 +616,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_HSL.u32", - "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_HSL.u32", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_aefed7d75105bc0157d4fd7d934bf79f" + "refinement_interpretation_Tm_refine_c73442cbf43eb3a6bec59266f183438d" ], 0, - "18ba43564b529801c79d259adf71919e" + "d04a0b4ba71a33ed2baaff702b2185e5" ], [ "HSL.null_terminator_invariant", @@ -686,17 +631,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "14bac9c4063812d5cad6cce8754760af" + "73e4933d3012653299dc361460df8ce8" ], [ "HSL.msgs_list_invariant_helper", @@ -705,7 +648,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", @@ -714,13 +656,8 @@ "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_HSL.u32", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt32.t", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "equation_LowStar.Monotonic.Buffer.length", + "function_token_typing_FStar.UInt32.t", "int_inversion", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -728,14 +665,14 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4e50d492a3dee99c4b6204acbbcdee05", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "true_interp", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_9a4997d733ddf031c9e6bb664d76d819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "315551012d86c4ed4d1c6835b65c3c65" + "99be05b13260f4779848c9d2e74b99dd" ], [ "HSL.msgs_list_invariant", @@ -743,17 +680,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.lte", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lte", "equation_FStar.UInt32.lte", "equation_HSL.u32", - "equation_Prims.nat", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_aefed7d75105bc0157d4fd7d934bf79f" + "refinement_interpretation_Tm_refine_c73442cbf43eb3a6bec59266f183438d" ], 0, - "6f057421774275816b3a6dd68eda291c" + "be89451646b79e5f6833fbe8e6f5b335" ], [ "HSL.msgs_list_invariant", @@ -761,17 +697,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e6d60fb027faaed2373e095037ca4487" + "d1aab1af23fb9b5adce9197c1bb8e677" ], [ "HSL.hsl_invariant_predicate", @@ -780,7 +714,7 @@ 1, [ "@query" ], 0, - "2b3aec7603a9a9d87692125630192084" + "a640087da67529623468ea05e8ec3c9f" ], [ "HSL.hsl_footprint", @@ -788,23 +722,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.lte", - "equation_FStar.UInt32.lte", "equation_HSL.u32", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_HSL.lemma_hsl_invariant_elim", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lte", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", + "equation_HSL.u32", "equation_LowStar.Monotonic.Buffer.length", + "int_inversion", "lemma_HSL.lemma_hsl_invariant_elim", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_d300faea3c931a21ecdefde8392ce946", - "true_interp" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd5dd5dc18c41c7fea5974520194f37f", + "typing_FStar.UInt32.v" ], 0, - "f212326ba3b84f215955602b2bf4c95e" + "7676d06b14dfe1a2ffc86204c1f75ac4" ], [ "HSL.lemma_frame_hsl_invariant", @@ -814,10 +744,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2eb4fb6fe749087e51f6d34d6e80a7fe" + "7831e7a5dfd801596b39641a6a215348" ], [ "HSL.aux_process", @@ -825,25 +755,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperStack.mem", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_HSL.u32", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", + "equation_Prims.pos", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt32.t", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -851,14 +781,20 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b1d807ba68b9d08be8721b6c7e46a433", - "true_interp", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6e7111b63a76ba74e909adf4d428357b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" + "typing_Prims.pow2" ], 0, - "545ae8d4c3bf1fc1dea89b577d6c1bd6" + "e1a630747285f67b0d7a61dcae797e1e" ] ] ] \ No newline at end of file diff --git a/examples/low-mitls-experiments/ImmutableBuffer.fst.hints b/examples/low-mitls-experiments/ImmutableBuffer.fst.hints index bb24662db15..0e0fa088a54 100644 --- a/examples/low-mitls-experiments/ImmutableBuffer.fst.hints +++ b/examples/low-mitls-experiments/ImmutableBuffer.fst.hints @@ -13,7 +13,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_typing_intro_Prims.Cons@tok", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", @@ -30,14 +30,15 @@ "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.UInt.max_int", "equation_Prims.eqtype", + "equation_FStar.UInt.max_int", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_typing", + "function_token_typing_Prims.int", "int_inversion", "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -58,26 +59,20 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_08b73966aee9c646db88e6c06828d161", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_3266db79cda8baa0de303d53b2098274", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0e1bc0ecfec26b844b06995e3ed2db4b", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_1e03183d0a0c671034d994d4c8630d7f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_70bcd2d516db6edb5890dc10eb12fb0c", - "refinement_interpretation_Tm_refine_7b9a619cbdc9e78b7bab25bfbc91cc01", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_41b3cd347c2c188e0dc4a2542c939e60", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_68529d04f0c603a967b130fa13a5e4d1", + "refinement_interpretation_Tm_refine_722299f5e3bc32daa9a361702e73f19c", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_7f37dde341db2b0a59aa8546850e3230", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_f461d9438eb746939325fb1d008d53af", - "refinement_interpretation_Tm_refine_fdd6ab907516d1d3b973a4a3f9b40794", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", @@ -86,7 +81,6 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region", "typing_FStar.Monotonic.HyperStack.remove_elt", "typing_FStar.Seq.Properties.seq_of_list", "typing_FStar.Set.complement", "typing_FStar.Set.singleton", @@ -94,7 +88,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "bc5dcd371dcb4e2455ade0b4c15df913" + "3cf0ef853ed32e74d8608abeb7c24a2e" ], [ "ImmutableBuffer.test", @@ -107,7 +101,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Seq.Base.seq__uu___haseq", "b2t_def", - "bool_inversion", "bool_typing", + "bool_inversion", "bool_typing", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.Monotonic.Heap.equal_dom", @@ -125,16 +120,16 @@ "equation_FStar.UInt.uint_t", "equation_LowStar.ImmutableBuffer.immutable_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -150,6 +145,7 @@ "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.live_is_null", @@ -159,43 +155,41 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_09c5d2cc27062496a9aa048a3546cfe2", - "refinement_interpretation_Tm_refine_1205a050dff76e44b765d2b5ecbf1a5d", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_667d56804fc34f39d6995f541eff3ada", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_87c995f5f3d0d2f451658a4c018ea563", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_84181ef14e7ea8ffbd84b53d61d2258e", + "refinement_interpretation_Tm_refine_915411848546f9ea1e85d5fbbe7eb9d5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ebc93ef715694dee6921eff3890549b5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f2b47b25447e3ea3942595237f1c9ed4", + "refinement_interpretation_Tm_refine_f2f71e9e7a803b71589ddd9ab9d1991c", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.replace_subseq", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.ImmutableBuffer.immutable_preorder", "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.len", "unit_inversion", "unit_typing" ], 0, - "fd96a4b57b207d9fb87ea52f9395662e" + "55bcb771280f3f4761b96fcf156ebb9e" ], [ "ImmutableBuffer.test_ub", @@ -215,13 +209,15 @@ "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.disjoint", + "equation_LowStar.UninitializedBuffer.initialization_preorder", "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", @@ -251,19 +247,20 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_3266db79cda8baa0de303d53b2098274", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48134de68a3fc0bbd7440496177c7060", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c14e52100ba2be04c4904256596e93a6", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_722299f5e3bc32daa9a361702e73f19c", + "refinement_interpretation_Tm_refine_766a4bf8914ee71a91c7886f213bf6ba", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", + "refinement_interpretation_Tm_refine_fcef3c8b977906461bdeb2e8f2192d95", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperHeap.rid", @@ -282,7 +279,7 @@ "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "4ef8e8f5f077e224119fb91ac7efaccf" + "8869b248798316d3762a7492cede58f5" ], [ "ImmutableBuffer.test_bigops", @@ -294,7 +291,7 @@ "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r" ], 0, - "946f2ed1e06fdff4874588d79950fedc" + "64c31afa1e122636155d19786cff12f6" ], [ "ImmutableBuffer.havoc_pf", @@ -307,11 +304,11 @@ "equation_LowStar.PrefixFreezableBuffer.u8", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "722b5cfe0fdc367e408cb5bf1b7bacee" + "6b524c1f680c6f5010c7470c5f817997" ], [ "ImmutableBuffer.test_pf", @@ -342,7 +339,7 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_25fb749add85dd49c30c3b2d719cdc52", + "interpretation_Tm_abs_32aadd7b1e4333bb1ff99b6ba05358ae", "l_and-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", @@ -367,27 +364,27 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a7cf7e0ea4276d09339b9b7a6557ee8", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_617eb571c90e6cacd07e03758f9ce47a", - "refinement_interpretation_Tm_refine_6c13749833c8ab065b333be6f2eab0ed", - "refinement_interpretation_Tm_refine_870de90b0d6be0adb01c51e4a477159e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9fca04456a176b6286c8b839ab0f9806", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bb507b949288672f8443c369d009550b", - "refinement_interpretation_Tm_refine_bed1d6638dbc22a9c070713dcb0d48c4", - "refinement_interpretation_Tm_refine_cf28100bade46f3e808e5aed89a33813", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", - "refinement_interpretation_Tm_refine_ebc83f6ee87843042e8e30564589d159", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_07010e92dfa822f4e995e2a247ca8fb6", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_36fc174880b6ee805f0cc14d73140949", + "refinement_interpretation_Tm_refine_4b6d5300853b29fc2910eb50490ddbc1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ddcd17dc792e10644cb14b9c09c6786", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8600c6b4832c6668abd9736a7e5ed0be", + "refinement_interpretation_Tm_refine_a49060b10d6e3d658ebb59ee5e13caba", + "refinement_interpretation_Tm_refine_b4c5136172443cb336c0969ad568ad1b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_ca26d473ef77c07e155e8b0e771e58b8", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d5af382becb37a8ffa0305b618c2e348", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_LowStar.PrefixFreezableBuffer.slice_is", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", "typing_FStar.Map.domain", @@ -404,7 +401,7 @@ "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "388e65cff1fb73af0e83c28c61ba0a31" + "56d01035406c439c1e96f028a60bba58" ], [ "ImmutableBuffer.test_bigops", @@ -416,7 +413,7 @@ "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r" ], 0, - "1699c1802cba194e0609fb65ca817ca5" + "d5107f11361aa83d52e9e815f278c31d" ], [ "ImmutableBuffer.havoc_pf", @@ -429,11 +426,11 @@ "equation_LowStar.PrefixFreezableBuffer.u8", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "a4d9d5b4d679af1c9c73c12acb717783" + "7af4dab3af3209c50bea79bf8059f99d" ] ] ] \ No newline at end of file diff --git a/examples/lowparse/LowParse.Bytes.fst.hints b/examples/lowparse/LowParse.Bytes.fst.hints deleted file mode 100644 index 5399ee5bc1c..00000000000 --- a/examples/lowparse/LowParse.Bytes.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "d·ä&ÚïÀæ|á‰X\u00018\u001b­", [] ] \ No newline at end of file diff --git a/examples/lowparse/LowParse.Bytes32.fst b/examples/lowparse/LowParse.Bytes32.fst deleted file mode 100644 index 74a54e847aa..00000000000 --- a/examples/lowparse/LowParse.Bytes32.fst +++ /dev/null @@ -1,76 +0,0 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) -module LowParse.Bytes32 -include FStar.Bytes - -module U32 = FStar.UInt32 - -(* TODO: move to FStar.Bytes *) - -inline_for_extraction -let b32slice - (b: bytes) - (s: U32.t) - (e: U32.t) -: Pure bytes - (requires (U32.v s <= U32.v e /\ U32.v e <= length b)) - (ensures (fun res -> reveal res == Seq.slice (reveal b) (U32.v s) (U32.v e))) -= slice b s e - -inline_for_extraction -let b32append - (b1: bytes) - (b2: bytes) -: Pure bytes - (requires (length b1 + length b2 < 4294967296)) - (ensures (fun y -> reveal y == Seq.append (reveal b1) (reveal b2))) -= append b1 b2 - -let b32_index_reveal - (b: bytes) - (i: nat { i < length b }) -: Lemma - (Seq.index (reveal b) i == index b i) -= () - -let b32_reveal_create - (len: U32.t) - (v: byte) -: Lemma - (reveal (create len v) == Seq.create (U32.v len) v) - [SMTPat (reveal (create len v))] -= let b = create len v in - let lhs = reveal b in - let rhs = Seq.create (U32.v len) v in - let pty = (i: nat { i < Seq.length lhs }) in - let post - (i: pty) - : GTot Type0 - = Seq.index lhs (i <: nat) == Seq.index rhs (i <: nat) - in - let f - (i: pty) - : Lemma - (post i) - = assert (get b (U32.uint_to_t i) == v) - in - Classical.forall_intro #pty #post f; - Seq.lemma_eq_intro lhs rhs; - Seq.lemma_eq_elim lhs rhs - -let reveal_empty () : Lemma - (reveal empty_bytes == Seq.empty) -= assert (Seq.equal (reveal empty_bytes) Seq.empty) diff --git a/examples/lowparse/LowParse.Bytes32.fst.hints b/examples/lowparse/LowParse.Bytes32.fst.hints deleted file mode 100644 index 11ad8e94437..00000000000 --- a/examples/lowparse/LowParse.Bytes32.fst.hints +++ /dev/null @@ -1,239 +0,0 @@ -[ - "I=kÉž\u0019îÙªl\fSðO\u0015§", - [ - [ - "LowParse.Bytes32.b32slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Bytes.length_reveal", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_27ca19a8920fa62202f63f8bd1450e11", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b54e8c5659a1dfabb64b83c21dcbdc33", - "typing_FStar.UInt32.v" - ], - 0, - "c77abae602d53e6a0344868e4593eb6b" - ], - [ - "LowParse.Bytes32.b32append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Bytes.length_reveal", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" - ], - 0, - "a237854a2deb1c24bad227cc629fcfd8" - ], - [ - "LowParse.Bytes32.b32_index_reveal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c8aca8c964b2b49cd8fed22770bc4b4", - "refinement_interpretation_Tm_refine_4b0b905d2f18d64a93f40ee69adcc50e", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8e89ce40da0492937e1f8b2ae702ba7", - "typing_FStar.Bytes.get", "typing_FStar.Bytes.len", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "cb05cd7e2fae651265c6f0eb26976f19" - ], - [ - "LowParse.Bytes32.b32_reveal_create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_49bbe83e96e661ea6d7306869b335209", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_70bc5b17606a501efd1a0f9cbb53f2e6", - "refinement_interpretation_Tm_refine_95abd79077b52856c0a81361dca54fa5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" - ], - 0, - "b87dddbbef5b560dcf5dcf74630efce5" - ], - [ - "LowParse.Bytes32.reveal_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Bytes.lbytes", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Bytes.empty_bytes", "typing_FStar.Bytes.reveal", - "typing_FStar.Seq.Base.empty" - ], - 0, - "409410b074fc44eed7c82c0fb7825c8d" - ], - [ - "LowParse.Bytes32.b32slice", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Bytes.length_reveal", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_27ca19a8920fa62202f63f8bd1450e11", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b54e8c5659a1dfabb64b83c21dcbdc33", - "typing_FStar.UInt32.v" - ], - 0, - "ef4699d06f2b480903cf4d1a0b20546e" - ], - [ - "LowParse.Bytes32.b32slice", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Bytes.length_reveal", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b54e8c5659a1dfabb64b83c21dcbdc33", - "typing_FStar.UInt32.v" - ], - 0, - "4371351c9e05093714ac23497a1a35cd" - ], - [ - "LowParse.Bytes32.b32append", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Bytes.length_reveal", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" - ], - 0, - "a37b630ea2f5a6ef14b52c031c9b0c5a" - ], - [ - "LowParse.Bytes32.b32_index_reveal", - 2, - 2, - 1, - [ "@query", "lemma_FStar.Bytes.length_reveal" ], - 0, - "ead39ef36731e9807c81e48a952943d2" - ], - [ - "LowParse.Bytes32.b32_reveal_create", - 2, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "6c1a28a331e81c1c8792b25ab8972b89" - ] - ] -] \ No newline at end of file diff --git a/examples/lowparse/LowParse.SLow.Base.fst b/examples/lowparse/LowParse.SLow.Base.fst deleted file mode 100644 index c379299e338..00000000000 --- a/examples/lowparse/LowParse.SLow.Base.fst +++ /dev/null @@ -1,309 +0,0 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) -module LowParse.SLow.Base -include LowParse.Spec.Base - -module B32 = LowParse.Bytes32 -module U32 = FStar.UInt32 - -let bytes32 = B32.bytes - -let parser32_correct - (#k: parser_kind) - (#t: Type0) - (p: parser k t) - (input: bytes32) - (res: option (t * U32.t)) -: GTot Type0 -= let gp = parse p (B32.reveal input) in - match res with - | None -> gp == None - | Some (hres, consumed) -> - Some? gp /\ ( - let (Some (hres' , consumed')) = gp in - hres == hres' /\ - U32.v consumed == (consumed' <: nat) - ) - -unfold -let parser32 - (#k: parser_kind) - (#t: Type0) - (p: parser k t) -: Tot Type0 -= (input: bytes32) -> Tot (res: option (t * U32.t) { parser32_correct p input res } ) - -inline_for_extraction -let make_parser32 - (#k: parser_kind) - (#t: Type0) - (p: parser k t) - (p32: (input: bytes32) -> Pure (option (t * U32.t)) (requires True) (ensures (fun res -> parser32_correct p input res))) -: Tot (parser32 p) -= (fun (input: bytes32) -> (p32 input <: (res: option (t * U32.t) { parser32_correct p input res } ))) - -inline_for_extraction -let coerce_parser32 - (t2: Type0) - (#k: parser_kind) - (#t1: Type0) - (#p: parser k t1) - (p32: parser32 p) - (u: unit { t2 == t1 } ) -: Tot (parser32 (coerce_parser t2 p)) -= p32 - -let validator_correct - (#k: parser_kind) - (#t: Type0) - (p: parser k t) - (input: bytes32) - (res: option U32.t) -: GTot Type0 -= let gp = parse p (B32.reveal input) in - match res with - | None -> gp == None - | Some (consumed) -> - Some? gp /\ ( - let (Some (_ , consumed')) = gp in - U32.v consumed == (consumed' <: nat) - ) - -let validator - (#k: parser_kind) - (#t: Type0) - (p: parser k t) -: Tot Type0 -= (input: bytes32) -> Tot (res: option U32.t { validator_correct p input res } ) - -let serializer32_correct - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) - (input: t) - (res: bytes32) -: GTot Type0 -= B32.reveal res == s input - -let serializer32 - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) -: Tot Type0 -= (input: t) -> Tot (res: bytes32 { serializer32_correct s input res } ) - -let partial_serializer32 - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) -: Tot Type0 -= (input: t { Seq.length (s input) < 4294967296 } ) -> Tot (res: bytes32 { serializer32_correct s input res } ) - -let serializer32_then_parser32 - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) - (p32: parser32 p) - (s32: serializer32 s) - (input: t) -: Lemma - (p32 (s32 input) == Some (input, B32.len (s32 input))) -= () - -let parser32_then_serializer32 - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) - (p32: parser32 p) - (s32: serializer32 s) - (input: bytes32) -: Lemma - (requires (Some? (p32 input))) - (ensures ( - let (Some (v, consumed)) = p32 input in - U32.v consumed <= B32.length input /\ - s32 v == B32.b32slice input 0ul consumed - )) -= serializer_correct_implies_complete p s - -let parser32_then_serializer32' - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (#s: serializer p) - (p32: parser32 p) - (s32: serializer32 s) - (input: bytes32) - (v: t) - (consumed: U32.t) -: Lemma - (requires (p32 input == Some (v, consumed))) - (ensures ( - B32.length (s32 v) == U32.v consumed /\ - U32.v consumed <= B32.length input /\ - B32.reveal (s32 v) == Seq.slice (B32.reveal input) 0 (U32.v consumed) - )) -= parser32_then_serializer32 s p32 s32 input - -let parser32_injective - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (p32: parser32 p) - (input1 input2: bytes32) -: Lemma - (requires ( - let p1 = p32 input1 in - let p2 = p32 input2 in - Some? p1 /\ - Some? p2 /\ ( - let (Some (v1, _)) = p1 in - let (Some (v2, _)) = p2 in - v1 == v2 - ))) - (ensures ( - let p1 = p32 input1 in - let p2 = p32 input2 in - Some? p1 /\ - Some? p2 /\ ( - let (Some (v1, consumed1)) = p1 in - let (Some (v2, consumed2)) = p2 in - v1 == v2 /\ - consumed1 == consumed2 /\ - U32.v consumed1 <= B32.length input1 /\ - U32.v consumed2 <= B32.length input2 /\ - B32.b32slice input1 0ul consumed1 == B32.b32slice input2 0ul consumed2 - ))) -= assert (injective_precond p (B32.reveal input1) (B32.reveal input2)); - assert (injective_postcond p (B32.reveal input1) (B32.reveal input2)) - -let serializer32_injective - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) - (s32: serializer32 s) - (input1 input2: t) -: Lemma - (requires (s32 input1 == s32 input2)) - (ensures (input1 == input2)) -= () - -let parse32_size - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (p32: parser32 p) - (input: bytes32) - (data: t) - (consumed: U32.t) -: Lemma - (requires (p32 input == Some (data, consumed))) - (ensures ( - k.parser_kind_low <= U32.v consumed /\ ( - Some? k.parser_kind_high ==> ( - let (Some hi) = k.parser_kind_high in - U32.v consumed <= hi - )))) -= () - -let parse32_total - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (p32: parser32 p) - (input: bytes32) -: Lemma - (requires ( - k.parser_kind_high == Some k.parser_kind_low /\ - k.parser_kind_metadata.parser_kind_metadata_total == true /\ - k.parser_kind_low <= B32.length input - )) - (ensures ( - Some? (p32 input) - )) -= () - - -let u32_max : (y: U32.t { forall (x: U32.t) . U32.v x <= U32.v y } ) = - 4294967295ul - -inline_for_extraction -let add_overflow - (x y: U32.t) -: Pure U32.t - (requires True) - (ensures (fun z -> - if U32.v x + U32.v y > U32.v u32_max then - z == u32_max - else U32.v z == U32.v x + U32.v y - )) -= if U32.lt (U32.sub u32_max y) x - then u32_max - else U32.add x y - -let size32_postcond - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) - (x: t) - (y: U32.t) -: GTot Type0 -= let sz = Seq.length (serialize s x) in - if sz > U32.v u32_max - then y == u32_max - else U32.v y == sz - -let size32 - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) -: Tot Type0 -= (x: t) -> - Tot (y: U32.t { - size32_postcond s x y - }) - -let size32_constant_precond - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) - (len32: U32.t) -: GTot Type0 -= k.parser_kind_high == Some k.parser_kind_low /\ - U32.v len32 == k.parser_kind_low - -inline_for_extraction -let size32_constant - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) - (len32: U32.t) - (u: unit { size32_constant_precond s len32 } ) -: Tot (size32 s) -= fun x -> - [@inline_let] - let (z: U32.t { size32_postcond s x z } ) = len32 in - z diff --git a/examples/lowparse/LowParse.SLow.Base.fst.hints b/examples/lowparse/LowParse.SLow.Base.fst.hints deleted file mode 100644 index 26a2f4dcd23..00000000000 --- a/examples/lowparse/LowParse.SLow.Base.fst.hints +++ /dev/null @@ -1,804 +0,0 @@ -[ - "1Ö\u0000-¦P‹V‘¥¬Ô\u0003\u000b4Û", - [ - [ - "LowParse.SLow.Base.parser32_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "function_token_typing_FStar.UInt32.t", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "d799a843e4690a3c5e426573d257b85f" - ], - [ - "LowParse.SLow.Base.make_parser32", - 1, - 2, - 1, - [ "@query" ], - 0, - "4f48d0b22c88450eb3cfe05cc80ffe24" - ], - [ - "LowParse.SLow.Base.coerce_parser32", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d" - ], - 0, - "02a3f0cfc7162d97cc59f2b4a30989df" - ], - [ - "LowParse.SLow.Base.validator_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "function_token_typing_FStar.UInt32.t", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "2c131a3a6cdf090fc468b1eb7b57628d" - ], - [ - "LowParse.SLow.Base.serializer32_then_parser32", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_1b54855b2588a97b3256c482ca2e7870", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowParse.Bytes.byte", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.SLow.Base.serializer32", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.Bytes.empty_bytes", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_e752124f651a437c8db65345677589fb", - "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" - ], - 0, - "e324167ebd24f802be0a462adde1a907" - ], - [ - "LowParse.SLow.Base.parser32_then_serializer32", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_1b54855b2588a97b3256c482ca2e7870", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Bytes32.b32slice", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.SLow.Base.serializer32", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_complete", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "l_and-interp", "lemma_FStar.Bytes.hide_reveal", - "lemma_FStar.Bytes.length_reveal", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_27ca19a8920fa62202f63f8bd1450e11", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e752124f651a437c8db65345677589fb", - "typing_FStar.Bytes.reveal", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowParse.Bytes32.b32slice", - "typing_LowParse.Spec.Base.parse", "unit_typing" - ], - 0, - "e1b7163b3f8034488702158f9db48672" - ], - [ - "LowParse.SLow.Base.parser32_then_serializer32'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_1b54855b2588a97b3256c482ca2e7870", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.SLow.Base.serializer32", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_27ca19a8920fa62202f63f8bd1450e11", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e752124f651a437c8db65345677589fb", - "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowParse.Bytes32.b32slice", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "9d718856235fe71c54a0f9ccc790839d" - ], - [ - "LowParse.SLow.Base.parser32_injective", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Bytes32.b32slice", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Bytes.hide_reveal", "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_27ca19a8920fa62202f63f8bd1450e11", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowParse.Bytes32.b32slice", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "1745af341d8c5f2ba455d931b02d6b71" - ], - [ - "LowParse.SLow.Base.serializer32_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_1b54855b2588a97b3256c482ca2e7870", - "eq2-interp", "equation_LowParse.Bytes.byte", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.serializer32", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_e752124f651a437c8db65345677589fb" - ], - 0, - "b7286360f860dacb7965586508ad2d2c" - ], - [ - "LowParse.SLow.Base.parse32_size", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "typing_FStar.Bytes.reveal" - ], - 0, - "064f2bb79bc7cfb036e894bb0dbb90c8" - ], - [ - "LowParse.SLow.Base.parse32_total", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", "eq2-interp", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt32.t", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "typing_FStar.Bytes.reveal" - ], - 0, - "0031b13c8f70481bddfd5d346da409d4" - ], - [ - "LowParse.SLow.Base.u32_max", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.UInt32.v" - ], - 0, - "9f223e7ac3e8f83f0202e209adbba715" - ], - [ - "LowParse.SLow.Base.add_overflow", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_LowParse.SLow.Base.u32_max", - "function_token_typing_LowParse.SLow.Base.u32_max", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_37aada3d4a501a6616c90a97d93560d2", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_LowParse.SLow.Base.u32_max" - ], - 0, - "d7d88a8d0ec30cab143df4de64872890" - ], - [ - "LowParse.SLow.Base.size32_postcond", - 1, - 2, - 1, - [ "@query" ], - 0, - "1682f833f950ab2149a035dd5f5b25e0" - ], - [ - "LowParse.SLow.Base.size32_constant_precond", - 1, - 2, - 1, - [ "@query" ], - 0, - "5d0083fb3f5e2ef1ac942e77ab3c4440" - ], - [ - "LowParse.SLow.Base.size32_constant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.size32_constant_precond", - "equation_LowParse.SLow.Base.size32_postcond", - "equation_LowParse.SLow.Base.u32_max", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.serialize", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_37aada3d4a501a6616c90a97d93560d2", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_af379a11a4c6cfb8446745090803283d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", - "typing_LowParse.SLow.Base.u32_max", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_low", - "typing_LowParse.Spec.Base.serialize" - ], - 0, - "98d1b4ba879c270c78173df4d7842391" - ], - [ - "LowParse.SLow.Base.parser32_correct", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "function_token_typing_FStar.UInt32.t", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "edea4a0c1d1309c1cf6c5c841fa946aa" - ], - [ - "LowParse.SLow.Base.make_parser32", - 2, - 2, - 1, - [ "@query" ], - 0, - "2fe29e287d4b7207b6c9038fc090a4ba" - ], - [ - "LowParse.SLow.Base.coerce_parser32", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d" - ], - 0, - "7636b5acce7f00fbb6b8dedca05be89d" - ], - [ - "LowParse.SLow.Base.coerce_parser32", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db" - ], - 0, - "445dd944bbe4b02c10efb653d814d166" - ], - [ - "LowParse.SLow.Base.validator_correct", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "function_token_typing_FStar.UInt32.t", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "6de5844c298eb30a9a0e8ffc02712d9e" - ], - [ - "LowParse.SLow.Base.parser32_then_serializer32", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], - 0, - "576c94d490cf7cceaf37c979d51b07b2" - ], - [ - "LowParse.SLow.Base.parser32_then_serializer32'", - 2, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_LowParse.SLow.Base.bytes32", - "lemma_FStar.Bytes.length_reveal", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "25890482e1482a80aa9392fc9891bcd9" - ], - [ - "LowParse.SLow.Base.parser32_injective", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], - 0, - "bbb95e60e1d5bab04f720d1986592cda" - ], - [ - "LowParse.SLow.Base.serializer32_injective", - 2, - 2, - 1, - [ "@query" ], - 0, - "8ac6939595f914f03ccbc8f2cbe3d576" - ], - [ - "LowParse.SLow.Base.parse32_size", - 2, - 2, - 1, - [ - "@query", "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.nat", "projection_inverse_BoxBool_proj_0" - ], - 0, - "cf55a96138b14f813a459f575c5f56f2" - ], - [ - "LowParse.SLow.Base.u32_max", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.UInt32.v" - ], - 0, - "a62966349c422ac9a393f0f06bdd33a4" - ], - [ - "LowParse.SLow.Base.add_overflow", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_LowParse.SLow.Base.u32_max", - "function_token_typing_LowParse.SLow.Base.u32_max", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_37aada3d4a501a6616c90a97d93560d2", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_LowParse.SLow.Base.u32_max" - ], - 0, - "6a756b5bc34e86034e376e5347cb89a1" - ], - [ - "LowParse.SLow.Base.size32_postcond", - 2, - 2, - 1, - [ "@query" ], - 0, - "8110f4415ae811da80074b098a8385c4" - ], - [ - "LowParse.SLow.Base.size32_constant_precond", - 2, - 2, - 1, - [ "@query" ], - 0, - "697efadf7516f2182dd81cb0c2f0e7dc" - ], - [ - "LowParse.SLow.Base.size32_constant", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.size32_constant_precond", - "equation_LowParse.SLow.Base.size32_postcond", - "equation_LowParse.SLow.Base.u32_max", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.serialize", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_37aada3d4a501a6616c90a97d93560d2", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_af379a11a4c6cfb8446745090803283d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", - "typing_LowParse.SLow.Base.u32_max", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_low", - "typing_LowParse.Spec.Base.serialize" - ], - 0, - "79269657138781364abb6df366e397bf" - ] - ] -] \ No newline at end of file diff --git a/examples/lowparse/LowParse.SLow.Combinators.fst b/examples/lowparse/LowParse.SLow.Combinators.fst deleted file mode 100644 index e2788961e7e..00000000000 --- a/examples/lowparse/LowParse.SLow.Combinators.fst +++ /dev/null @@ -1,298 +0,0 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) -module LowParse.SLow.Combinators -include LowParse.SLow.Base -include LowParse.Spec.Combinators - -module B32 = FStar.Bytes -module U32 = FStar.UInt32 - -#reset-options "--z3rlimit 16 --max_fuel 8 --max_ifuel 8" - -inline_for_extraction -let parse32_ret - (#t: Type) - (x: t) -: Tot (parser32 (parse_ret x)) -= (fun input -> ((Some (x, 0ul)) <: (res: option (t * U32.t) { parser32_correct (parse_ret x) input res } ))) - -inline_for_extraction -let parse32_and_then - (#k: parser_kind) - (#t:Type) - (#p:parser k t) - (p32: parser32 p) - (#k': parser_kind) - (#t':Type) - (p': (t -> Tot (parser k' t'))) - (u: unit { and_then_cases_injective p' } ) - (p32' : ((x: t) -> Tot (parser32 (p' x)))) -: Tot (parser32 (p `and_then` p')) -= fun (input: bytes32) -> - ((match p32 input with - | Some (v, l) -> - let input' = B32.slice input l (B32.len input) in - begin match p32' v input' with - | Some (v', l') -> - Some (v', U32.add l l') - | _ -> None - end - | _ -> None - ) <: (res: option (t' * U32.t) { parser32_correct (p `and_then` p') input res } )) - -inline_for_extraction -let parse32_nondep_then - (#k1: parser_kind) - (#t1: Type0) - (#p1: parser k1 t1) - (p1' : parser32 p1) - (#k2: parser_kind) - (#t2: Type0) - (#p2: parser k2 t2) - (p2' : parser32 p2) -: Tot (parser32 (nondep_then p1 p2)) -= fun (input: bytes32) -> - ((match p1' input with - | Some (v, l) -> - let input' = B32.slice input l (B32.len input) in - begin match p2' input' with - | Some (v', l') -> - Some ((v, v'), U32.add l l') - | _ -> None - end - | _ -> None - ) <: (res: option ((t1 * t2) * U32.t) { parser32_correct (p1 `nondep_then` p2) input res } )) - -let serialize32_kind_precond - (k1 k2: parser_kind) -: GTot bool -= Some? k1.parser_kind_high && - Some? k2.parser_kind_high && - Some?.v k1.parser_kind_high + Some?.v k2.parser_kind_high < 4294967296 - -inline_for_extraction -let serialize32_nondep_then - (#k1: parser_kind) - (#t1: Type0) - (#p1: parser k1 t1) - (#s1: serializer p1) - (s1' : serializer32 s1) - (u: unit { k1.parser_kind_subkind == Some ParserStrong } ) - (#k2: parser_kind) - (#t2: Type0) - (#p2: parser k2 t2) - (#s2: serializer p2) - (s2' : serializer32 s2) - (u' : unit { - serialize32_kind_precond k1 k2 - }) -: Tot (serializer32 (serialize_nondep_then p1 s1 u p2 s2)) -= fun (input: t1 * t2) -> - match input with - | (fs, sn) -> - let output1 = s1' fs in - let output2 = s2' sn in - ((B32.append output1 output2) <: - (res: bytes32 { serializer32_correct (serialize_nondep_then p1 s1 u p2 s2) input res } )) - -inline_for_extraction -let parse32_strengthen - (#k: parser_kind) - (#t1: Type0) - (#p1: parser k t1) - (p1' : parser32 p1) - (p2: t1 -> GTot Type0) - (prf: parse_strengthen_prf p1 p2) -: Tot (parser32 (parse_strengthen p1 p2 prf)) -= fun (xbytes: bytes32) -> (( - match p1' xbytes with - | Some (x, consumed) -> - [@inline_let] - let _ = prf (B32.reveal xbytes) (U32.v consumed) x in - [@inline_let] - let (x' : t1 { p2 x' } ) = x in - Some (x', consumed) - | _ -> None - ) <: (res: option ((x: t1 { p2 x}) * U32.t) { parser32_correct (parse_strengthen p1 p2 prf) xbytes res } )) - -inline_for_extraction -let parse32_synth - (#k: parser_kind) - (#t1: Type0) - (#t2: Type0) - (p1: parser k t1) - (f2: t1 -> GTot t2) - (f2': (x: t1) -> Tot (y: t2 { y == f2 x } )) - (p1' : parser32 p1) - (u: unit { - synth_injective f2 - }) -: Tot (parser32 (parse_synth p1 f2)) -= fun (input: bytes32) -> - (( - match p1' input with - | Some (v1, consumed) -> Some (f2' v1, consumed) - | _ -> None - ) <: (res: option (t2 * U32.t) { parser32_correct (parse_synth p1 f2) input res } )) - -inline_for_extraction -let serialize32_synth - (#k: parser_kind) - (#t1: Type0) - (#t2: Type0) - (p1: parser k t1) - (f2: t1 -> GTot t2) - (s1: serializer p1) - (s1' : serializer32 s1) - (g1: t2 -> GTot t1) - (g1': (x: t2) -> Tot (y: t1 { y == g1 x } ) ) - (u: unit { - synth_inverse f2 g1 /\ - synth_injective f2 - }) -: Tot (serializer32 (serialize_synth p1 f2 s1 g1 u)) -= fun (input: t2) -> - let x = g1' input in - (s1' x <: (res: bytes32 { serializer32_correct (serialize_synth p1 f2 s1 g1 u) input res } )) - -inline_for_extraction -let parse32_filter - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (p32: parser32 p) - (f: (t -> GTot bool)) - (g: ((x: t) -> Tot (b: bool { b == f x } ))) -: Tot (parser32 (parse_filter p f)) -= fun (input: bytes32) -> - (( - match p32 input with - | Some (v, consumed) -> - if g v - then - [@inline_let] - let (v' : t { f v' == true } ) = v in - Some (v', consumed) - else - None - | _ -> None - ) <: (res: option ((v': t { f v' == true } ) * U32.t) { parser32_correct (parse_filter p f) input res } )) - -inline_for_extraction -let serialize32_filter - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (#s: serializer p) - (s32: serializer32 s) - (f: (t -> GTot bool)) -: Tot (serializer32 #_ #_ #(parse_filter p f) (serialize_filter s f)) -= fun (input: t { f input == true } ) -> s32 input - -inline_for_extraction -let make_constant_size_parser32 - (sz: nat) - (sz' : U32.t { U32.v sz' == sz } ) - (#t: Type0) - (f: ((s: bytes {Seq.length s == sz}) -> GTot (option t))) - (u: unit { - make_constant_size_parser_precond sz t f - } ) - (f' : ((s: B32.lbytes sz) -> Tot (y: option t { y == f (B32.reveal s) } ))) -: Tot (parser32 (make_constant_size_parser sz t f)) -= fun (input: bytes32) -> (( - if U32.lt (B32.len input) sz' - then None - else begin - let s' = B32.slice input 0ul sz' in - match f' s' with - | None -> None - | Some v -> Some (v, sz') - end - ) <: (res: option (t * U32.t) { parser32_correct (make_constant_size_parser sz t f) input res } )) - -inline_for_extraction -let make_total_constant_size_parser32 - (sz: nat) - (sz' : U32.t { U32.v sz' == sz } ) - (#t: Type0) - (f: ((s: bytes {Seq.length s == sz}) -> GTot (t))) - (u: unit { - make_total_constant_size_parser_precond sz t f - }) - (f' : ((s: B32.lbytes sz) -> Tot (y: t { y == f (B32.reveal s) } ))) -: Tot (parser32 (make_total_constant_size_parser sz t f)) -= fun (input: bytes32) -> (( - if U32.lt (B32.len input) sz' - then None - else - let s' = B32.slice input 0ul sz' in - Some (f' s', sz') - ) <: (res: option (t * U32.t) { parser32_correct (make_total_constant_size_parser sz t f) input res } )) - -inline_for_extraction -let size32_nondep_then - (#k1: parser_kind) - (#t1: Type0) - (#p1: parser k1 t1) - (#s1: serializer p1) - (s1' : size32 s1) - (u: unit { k1.parser_kind_subkind == Some ParserStrong } ) - (#k2: parser_kind) - (#t2: Type0) - (#p2: parser k2 t2) - (#s2: serializer p2) - (s2' : size32 s2) -: Tot (size32 (serialize_nondep_then _ s1 u _ s2)) -= fun x -> - match x with - | (x1, x2) -> - let v1 = s1' x1 in - let v2 = s2' x2 in - let res = add_overflow v1 v2 in - (res <: (z : U32.t { size32_postcond (serialize_nondep_then _ s1 u _ s2) x z } )) - -inline_for_extraction -let size32_filter - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (#s: serializer p) - (s32: size32 s) - (f: (t -> GTot bool)) -: Tot (size32 #_ #_ #(parse_filter p f) (serialize_filter s f)) -= fun x -> s32 x - -inline_for_extraction -let size32_synth - (#k: parser_kind) - (#t1: Type0) - (#t2: Type0) - (p1: parser k t1) - (f2: t1 -> GTot t2) - (s1: serializer p1) - (s1' : size32 s1) - (g1: t2 -> GTot t1) - (g1': (x: t2) -> Tot (y: t1 { y == g1 x } ) ) - (u: unit { - synth_inverse f2 g1 /\ - synth_injective f2 - }) -: Tot (size32 (serialize_synth p1 f2 s1 g1 u)) -= fun (input: t2) -> - let x = g1' input in - let y = s1' x in - (y <: (res: U32.t { size32_postcond (serialize_synth p1 f2 s1 g1 u) input res } )) diff --git a/examples/lowparse/LowParse.SLow.Combinators.fst.hints b/examples/lowparse/LowParse.SLow.Combinators.fst.hints deleted file mode 100644 index 349f4c107dc..00000000000 --- a/examples/lowparse/LowParse.SLow.Combinators.fst.hints +++ /dev/null @@ -1,1879 +0,0 @@ -[ - "\u0005˜C\nTçD–²õ·HÙt›", - [ - [ - "LowParse.SLow.Combinators.parse32_ret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_b6111d469756053729f63e52c18a9eef", - "l_and-interp", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_Prims.pow2" - ], - 0, - "ac74cd41b3bbeec4c70ae68a9b670949" - ], - [ - "LowParse.SLow.Combinators.parse32_and_then", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_6c6c5ed9481b93e3cbdca370645a93fb", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_f606e6006ae87aba40228db8d71b9b3c", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_3e6aa714d1f2c3178c395f779a2d91c7", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_905b29c5c3a210995c5f7125f83f9112", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_6104f8db6c81338425424f301b9f9fbf", - "refinement_interpretation_Tm_refine_61debf8ac78ef71c0a578e2b599ea757", - "refinement_interpretation_Tm_refine_7115cb56cf9d276e0bee2fd506284b69", - "refinement_interpretation_Tm_refine_71929210c5bcaebd775743c9fa557052", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v", "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.and_then_bare", "unit_typing" - ], - 0, - "060eb2654fea80057e579829a1e6ecca" - ], - [ - "LowParse.SLow.Combinators.parse32_nondep_then", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.nondep_then", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5cfd6f14e075df50dc37e23a9e74eefd", - "interpretation_Tm_abs_be66d10ad80de3b214e3b36ea4778d09", - "interpretation_Tm_abs_d9c529ae48a75124fa8e8239377e2246", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_7115cb56cf9d276e0bee2fd506284b69", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_d9d265d62befb5c62b87e842c53d2a3c", - "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.nondep_then", "unit_typing" - ], - 0, - "cd229c83a72816c830cc70cede1e460e" - ], - [ - "LowParse.SLow.Combinators.serialize32_kind_precond", - 1, - 2, - 1, - [ "@query" ], - 0, - "3b6031773226900116e22b79aed11502" - ], - [ - "LowParse.SLow.Combinators.serialize32_nondep_then", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_1b54855b2588a97b3256c482ca2e7870", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.serializer32", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.SLow.Combinators.serialize32_kind_precond", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.bare_serialize_nondep_then", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.serialize_nondep_then", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_7a0e33e14cdeb4ac679234621cfa867c", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "lemma_FStar.Bytes.length_reveal", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_2bb1dc251a6550a4ef18cb6d8ee67daf", - "refinement_interpretation_Tm_refine_30ed63538295cfbee9638b7c92f49ab3", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e752124f651a437c8db65345677589fb", - "typing_FStar.Bytes.reveal", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "unit_inversion", "unit_typing" - ], - 0, - "c4687faf1100669e6710c40f8dc4cee0" - ], - [ - "LowParse.SLow.Combinators.parse32_strengthen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Combinators.bare_parse_strengthen", - "equation_LowParse.Spec.Combinators.parse_strengthen", - "equation_Prims.eq2", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_dbb2af12cfd877ec7d17efc40657ee06", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "88890a3bd604b349cb9130d470fcbeee" - ], - [ - "LowParse.SLow.Combinators.parse32_synth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.parse_synth", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "interpretation_Tm_abs_657f06e32b1c0f5168c9a51919755de8", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_d6b413f8c7f2a4d33220c4042f8100fb", - "refinement_interpretation_Tm_refine_d80f4f7d17573d0ef7f44270bf22754e", - "typing_FStar.Bytes.reveal", "typing_FStar.UInt32.v", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.parse_synth", "unit_typing" - ], - 0, - "15fd17472458f617229d6646b5084480" - ], - [ - "LowParse.SLow.Combinators.serialize32_synth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "eq2-interp", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Combinators.bare_serialize_synth", - "equation_LowParse.Spec.Combinators.serialize_synth", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "interpretation_Tm_abs_45bc106d66ff9e2c3c9f4100524b39b3", - "refinement_interpretation_Tm_refine_771453e5024aef25c5affda17b912259", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "8dcb1a6d07309187ffe8a665484ae8d0" - ], - [ - "LowParse.SLow.Combinators.parse32_filter", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_3e6aa714d1f2c3178c395f779a2d91c7", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_d2f99ede906c7fc3c3a038279a176954", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n_minus_one", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.fail_parser", - "equation_LowParse.Spec.Combinators.fail_parser_", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_filter", - "equation_LowParse.Spec.Combinators.parse_filter_payload", - "equation_LowParse.Spec.Combinators.parse_filter_payload_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt64.n_minus_one", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.parse_filter_payload", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "interpretation_Tm_abs_3b5e1bbd42cfa251bdbd2bf59972d742", - "interpretation_Tm_abs_9f42da36d16dacd7a5ec89a06b3e1741", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "token_correspondence_LowParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Bytes.reveal", "typing_FStar.UInt32.v", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.and_then_bare", "unit_typing" - ], - 0, - "91020be60af65d44e03cdc6cdc961492" - ], - [ - "LowParse.SLow.Combinators.serialize32_filter", - 1, - 2, - 1, - [ - "@query", "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.Spec.Combinators.serialize_filter", - "equation_LowParse.Spec.Combinators.serialize_filter_" - ], - 0, - "b5d0e496a86d10f4fc9c10b6fc89f3da" - ], - [ - "LowParse.SLow.Combinators.make_constant_size_parser32", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Bytes.lbytes", - "equation_LowParse.Bytes.byte", "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4" - ], - 0, - "c5aad0dd7bbe2fc85f642fb82fa18cbe" - ], - [ - "LowParse.SLow.Combinators.make_constant_size_parser32", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Combinators.make_constant_size_parser", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_c0d9bf6530e83279dcf438ac57e88332", - "l_and-interp", "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_129840e96030d9b3e0be8a614dfb5ce1", - "refinement_interpretation_Tm_refine_31a06bebb8e8b410546b9dc44d16232e", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_88b4299ef38c669fdb863cd4330445b8", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.UInt32.v" - ], - 0, - "2061de513d817f2bbb1b706517a2515b" - ], - [ - "LowParse.SLow.Combinators.make_total_constant_size_parser32", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Bytes.lbytes", - "equation_LowParse.Bytes.byte", "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4" - ], - 0, - "3eb9201cfdd48f51ea0bd4b293f28b33" - ], - [ - "LowParse.SLow.Combinators.make_total_constant_size_parser32", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.make_constant_size_parser", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_LowParse.Spec.Combinators.make_total_constant_size_parser", - "equation_LowParse.Spec.Combinators.total_constant_size_parser_kind", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_c0d9bf6530e83279dcf438ac57e88332", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_129840e96030d9b3e0be8a614dfb5ce1", - "refinement_interpretation_Tm_refine_204f94b64b3f447f684c82641a4a6faf", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_86e4b3a0d920b78e1ed344e9871a8fab", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a823e4fa765b909abf4a9acb025287d2", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", - "typing_FStar.UInt32.v", "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "typing_LowParse.Spec.Combinators.make_total_constant_size_parser", - "typing_Tm_abs_031e73223817d0ece5dfc43ac56f64b0" - ], - 0, - "6336b438812288c091f6a38453eada45" - ], - [ - "LowParse.SLow.Combinators.size32_nondep_then", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c83b870bbcba94f49cc6bf1b49fd83fe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.size32", - "equation_LowParse.SLow.Base.size32_postcond", - "equation_LowParse.SLow.Base.u32_max", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.serialize", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Combinators.and_then_kind", - "equation_LowParse.Spec.Combinators.bare_serialize_nondep_then", - "equation_LowParse.Spec.Combinators.nondep_then", - "equation_LowParse.Spec.Combinators.serialize_nondep_then", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.Bytes.empty_bytes", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.SLow.Base.u32_max", - "function_token_typing_LowParse.Spec.Base.default_parser_kind", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_7a0e33e14cdeb4ac679234621cfa867c", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "refinement_interpretation_Tm_refine_37aada3d4a501a6616c90a97d93560d2", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_4dc146ed944efb3b210bff483da51ba5", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f06e092c0a8c2b9d1ddc749013eae25f", - "typing_FStar.Bytes.len", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowParse.SLow.Base.u32_max", "unit_typing" - ], - 0, - "2d7625a89f71f4882c0b8f0ec660644b" - ], - [ - "LowParse.SLow.Combinators.size32_filter", - 1, - 2, - 1, - [ - "@query", "equation_LowParse.SLow.Base.size32_postcond", - "equation_LowParse.Spec.Base.serialize", - "equation_LowParse.Spec.Combinators.parse_filter", - "equation_LowParse.Spec.Combinators.parse_filter_kind", - "equation_LowParse.Spec.Combinators.serialize_filter", - "equation_LowParse.Spec.Combinators.serialize_filter_" - ], - 0, - "93e6557970aa6e2459d9251ce9f6507d" - ], - [ - "LowParse.SLow.Combinators.size32_synth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.size32_postcond", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serialize", - "equation_LowParse.Spec.Combinators.bare_serialize_synth", - "equation_LowParse.Spec.Combinators.parse_synth", - "equation_LowParse.Spec.Combinators.serialize_synth", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "interpretation_Tm_abs_45bc106d66ff9e2c3c9f4100524b39b3", - "refinement_interpretation_Tm_refine_771453e5024aef25c5affda17b912259", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "bd2cc65b94842eea12b64f61be0bdf44" - ], - [ - "LowParse.SLow.Combinators.parse32_ret", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_b6111d469756053729f63e52c18a9eef", - "l_and-interp", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_Prims.pow2" - ], - 0, - "0d1ff88576b313bc3f5724e041629dae" - ], - [ - "LowParse.SLow.Combinators.parse32_ret", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_b6111d469756053729f63e52c18a9eef", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Seq.Base.length", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_Tm_abs_b6111d469756053729f63e52c18a9eef" - ], - 0, - "e79260af31fd637a1fb0036d1b8283ed" - ], - [ - "LowParse.SLow.Combinators.parse32_and_then", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_6c6c5ed9481b93e3cbdca370645a93fb", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_f606e6006ae87aba40228db8d71b9b3c", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_3e6aa714d1f2c3178c395f779a2d91c7", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_905b29c5c3a210995c5f7125f83f9112", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_6104f8db6c81338425424f301b9f9fbf", - "refinement_interpretation_Tm_refine_61debf8ac78ef71c0a578e2b599ea757", - "refinement_interpretation_Tm_refine_7115cb56cf9d276e0bee2fd506284b69", - "refinement_interpretation_Tm_refine_71929210c5bcaebd775743c9fa557052", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v", "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.and_then_bare", "unit_typing" - ], - 0, - "a81af29c7875b4703e429e8479a4e864" - ], - [ - "LowParse.SLow.Combinators.parse32_and_then", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_61debf8ac78ef71c0a578e2b599ea757" - ], - 0, - "415bd734fe2ba1728effeca454e7fa4c" - ], - [ - "LowParse.SLow.Combinators.parse32_nondep_then", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.nondep_then", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_5cfd6f14e075df50dc37e23a9e74eefd", - "interpretation_Tm_abs_be66d10ad80de3b214e3b36ea4778d09", - "interpretation_Tm_abs_d9c529ae48a75124fa8e8239377e2246", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_7115cb56cf9d276e0bee2fd506284b69", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_d9d265d62befb5c62b87e842c53d2a3c", - "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.v", "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.nondep_then", "unit_typing" - ], - 0, - "a09f1d54d6612e37c7ed843f6b116f3d" - ], - [ - "LowParse.SLow.Combinators.serialize32_kind_precond", - 2, - 2, - 1, - [ "@query" ], - 0, - "ac094ff007b9dd9892d6006a2c073252" - ], - [ - "LowParse.SLow.Combinators.serialize32_nondep_then", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_1b54855b2588a97b3256c482ca2e7870", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.serializer32", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.SLow.Combinators.serialize32_kind_precond", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.bare_serialize_nondep_then", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.serialize_nondep_then", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_7a0e33e14cdeb4ac679234621cfa867c", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "lemma_FStar.Bytes.length_reveal", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_2bb1dc251a6550a4ef18cb6d8ee67daf", - "refinement_interpretation_Tm_refine_30ed63538295cfbee9638b7c92f49ab3", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e752124f651a437c8db65345677589fb", - "typing_FStar.Bytes.reveal", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "unit_inversion", "unit_typing" - ], - 0, - "b1c59e391e29e27c1cf956bdddc43e8c" - ], - [ - "LowParse.SLow.Combinators.parse32_strengthen", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Combinators.bare_parse_strengthen", - "equation_LowParse.Spec.Combinators.parse_strengthen", - "equation_Prims.eq2", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_dbb2af12cfd877ec7d17efc40657ee06", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "2d550b4ec7d49761eb01ce8858ee57a8" - ], - [ - "LowParse.SLow.Combinators.parse32_synth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.parse_synth", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "interpretation_Tm_abs_657f06e32b1c0f5168c9a51919755de8", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_interpretation_Tm_refine_d6b413f8c7f2a4d33220c4042f8100fb", - "refinement_interpretation_Tm_refine_d80f4f7d17573d0ef7f44270bf22754e", - "typing_FStar.Bytes.reveal", "typing_FStar.UInt32.v", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.parse_synth", "unit_typing" - ], - 0, - "8adf9ae148eddab30f22f278ca3e4635" - ], - [ - "LowParse.SLow.Combinators.parse32_synth", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d80f4f7d17573d0ef7f44270bf22754e" - ], - 0, - "befe4028f0e25a9e3ff525b9356d32ab" - ], - [ - "LowParse.SLow.Combinators.serialize32_synth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "eq2-interp", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Combinators.bare_serialize_synth", - "equation_LowParse.Spec.Combinators.serialize_synth", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "interpretation_Tm_abs_45bc106d66ff9e2c3c9f4100524b39b3", - "refinement_interpretation_Tm_refine_771453e5024aef25c5affda17b912259", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "96914798813c132100b98be2477aac41" - ], - [ - "LowParse.SLow.Combinators.serialize32_synth", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_771453e5024aef25c5affda17b912259" - ], - 0, - "8c039c9d108fcfd675e24b55268fb4c8" - ], - [ - "LowParse.SLow.Combinators.parse32_filter", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c4ceb127c0a3a5b372c26402269d6118", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_3e6aa714d1f2c3178c395f779a2d91c7", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_d2f99ede906c7fc3c3a038279a176954", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.fail_parser", - "equation_LowParse.Spec.Combinators.fail_parser_", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_filter", - "equation_LowParse.Spec.Combinators.parse_filter_payload", - "equation_LowParse.Spec.Combinators.parse_filter_payload_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.parse_filter_payload", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "interpretation_Tm_abs_3b5e1bbd42cfa251bdbd2bf59972d742", - "interpretation_Tm_abs_9f42da36d16dacd7a5ec89a06b3e1741", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c28ed5a0c122862bed8762ed717dc39e", - "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "token_correspondence_LowParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Bytes.reveal", "typing_FStar.UInt32.v", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.and_then_bare", "unit_typing" - ], - 0, - "9426367592a06d96c3b5f2ba7ffd583c" - ], - [ - "LowParse.SLow.Combinators.serialize32_filter", - 2, - 2, - 1, - [ - "@query", "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.Spec.Combinators.serialize_filter", - "equation_LowParse.Spec.Combinators.serialize_filter_" - ], - 0, - "fe2550056290efa8605957c751df5dcf" - ], - [ - "LowParse.SLow.Combinators.make_constant_size_parser32", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Bytes.lbytes", - "equation_LowParse.Bytes.byte", "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4" - ], - 0, - "985cd04df3f3cc26f9bf92646b33e60f" - ], - [ - "LowParse.SLow.Combinators.make_constant_size_parser32", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Combinators.make_constant_size_parser", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_c0d9bf6530e83279dcf438ac57e88332", - "l_and-interp", "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_129840e96030d9b3e0be8a614dfb5ce1", - "refinement_interpretation_Tm_refine_31a06bebb8e8b410546b9dc44d16232e", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_88b4299ef38c669fdb863cd4330445b8", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" - ], - 0, - "075852507697281633e8e59fa83304fb" - ], - [ - "LowParse.SLow.Combinators.make_constant_size_parser32", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Bytes.lbytes", "equation_LowParse.Bytes.byte", - "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_31a06bebb8e8b410546b9dc44d16232e", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", - "unit_typing" - ], - 0, - "08d9c314c0cc448b60aef47a43aadc08" - ], - [ - "LowParse.SLow.Combinators.make_total_constant_size_parser32", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Bytes.lbytes", - "equation_LowParse.Bytes.byte", "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4" - ], - 0, - "2e303af345652795898585dfb98cf0a8" - ], - [ - "LowParse.SLow.Combinators.make_total_constant_size_parser32", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.make_constant_size_parser", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_LowParse.Spec.Combinators.make_total_constant_size_parser", - "equation_LowParse.Spec.Combinators.total_constant_size_parser_kind", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_c0d9bf6530e83279dcf438ac57e88332", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_129840e96030d9b3e0be8a614dfb5ce1", - "refinement_interpretation_Tm_refine_204f94b64b3f447f684c82641a4a6faf", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_86e4b3a0d920b78e1ed344e9871a8fab", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a823e4fa765b909abf4a9acb025287d2", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "typing_LowParse.Spec.Combinators.make_total_constant_size_parser", - "typing_Tm_abs_031e73223817d0ece5dfc43ac56f64b0" - ], - 0, - "93246df5af7f820f352522196063278d" - ], - [ - "LowParse.SLow.Combinators.make_total_constant_size_parser32", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Bytes.lbytes", "equation_LowParse.Bytes.byte", - "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_a823e4fa765b909abf4a9acb025287d2", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", - "unit_typing" - ], - 0, - "a3c343064bdbdb69452286a56248fc9d" - ], - [ - "LowParse.SLow.Combinators.size32_nondep_then", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "LowParse.SLow.Base_interpretation_Tm_arrow_c83b870bbcba94f49cc6bf1b49fd83fe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.size32", - "equation_LowParse.SLow.Base.size32_postcond", - "equation_LowParse.SLow.Base.u32_max", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.serialize", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Combinators.and_then_kind", - "equation_LowParse.Spec.Combinators.bare_serialize_nondep_then", - "equation_LowParse.Spec.Combinators.nondep_then", - "equation_LowParse.Spec.Combinators.serialize_nondep_then", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.Bytes.empty_bytes", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.SLow.Base.u32_max", - "function_token_typing_LowParse.Spec.Base.default_parser_kind", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_7a0e33e14cdeb4ac679234621cfa867c", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "refinement_interpretation_Tm_refine_37aada3d4a501a6616c90a97d93560d2", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_4dc146ed944efb3b210bff483da51ba5", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f06e092c0a8c2b9d1ddc749013eae25f", - "typing_FStar.Bytes.len", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowParse.SLow.Base.u32_max", "unit_typing" - ], - 0, - "f1f3f0f3696021b65fdb2c1be5b7a615" - ], - [ - "LowParse.SLow.Combinators.size32_filter", - 2, - 2, - 1, - [ - "@query", "equation_LowParse.SLow.Base.size32_postcond", - "equation_LowParse.Spec.Base.serialize", - "equation_LowParse.Spec.Combinators.parse_filter", - "equation_LowParse.Spec.Combinators.parse_filter_kind", - "equation_LowParse.Spec.Combinators.serialize_filter", - "equation_LowParse.Spec.Combinators.serialize_filter_" - ], - 0, - "7de74def80fedbeb6eddba4bfcd27d91" - ], - [ - "LowParse.SLow.Combinators.size32_synth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.size32_postcond", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serialize", - "equation_LowParse.Spec.Combinators.bare_serialize_synth", - "equation_LowParse.Spec.Combinators.parse_synth", - "equation_LowParse.Spec.Combinators.serialize_synth", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "interpretation_Tm_abs_45bc106d66ff9e2c3c9f4100524b39b3", - "refinement_interpretation_Tm_refine_771453e5024aef25c5affda17b912259", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "9a17ee3e0ecad6745d81f8ea8c7b5612" - ], - [ - "LowParse.SLow.Combinators.size32_synth", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_771453e5024aef25c5affda17b912259" - ], - 0, - "f44f338fe278d77323a68183f8873ca7" - ] - ] -] \ No newline at end of file diff --git a/examples/lowparse/LowParse.SLow.Enum.fst b/examples/lowparse/LowParse.SLow.Enum.fst deleted file mode 100644 index d2079eb8183..00000000000 --- a/examples/lowparse/LowParse.SLow.Enum.fst +++ /dev/null @@ -1,219 +0,0 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) -module LowParse.SLow.Enum -include LowParse.Spec.Enum -include LowParse.SLow.Combinators - -module L = FStar.List.Tot -module U32 = FStar.UInt32 - -(* Parser for enums *) - -let maybe_enum_key_of_repr'_t - (#key #repr: eqtype) - (e: enum key repr) -: Tot Type0 -= (x: repr) -> - Tot (k: maybe_enum_key e { k == maybe_enum_key_of_repr e x } ) - -#set-options "--z3rlimit 32" - -inline_for_extraction -let enum_tail' - (#key #repr: eqtype) - (e: enum key repr) -: Pure (enum key repr) - (requires True) - (ensures (fun y -> Cons? e ==> (let (_ :: y') = e in y == y'))) -= match e with _ :: y -> y | _ -> [] - -inline_for_extraction -let maybe_enum_key_of_repr'_t_cons_nil - (#key #repr: eqtype) - (e: enum key repr) -: Pure (maybe_enum_key_of_repr'_t e) - (requires (Cons? e /\ Nil? (enum_tail' e))) - (ensures (fun _ -> True)) -= (fun (e' : list (key * repr) { e' == e } ) -> match e' with - | [(k, r)] -> - (fun x -> (( - if r = x - then Known k - else Unknown x - ) <: (k: maybe_enum_key e { k == maybe_enum_key_of_repr e x } )))) - e - -inline_for_extraction -let maybe_enum_key_of_repr'_t_cons - (#key #repr: eqtype) - (e: enum key repr ) - (g : maybe_enum_key_of_repr'_t (enum_tail' e)) -: Pure (maybe_enum_key_of_repr'_t e) - (requires (Cons? e)) - (ensures (fun _ -> True)) -= (fun (e' : list (key * repr) { e' == e } ) -> match e' with - | (k, r) :: _ -> - (fun x -> (( - if r = x - then Known k - else - let y : maybe_enum_key (enum_tail' e) = g x in - match y with - | Known k' -> Known (k' <: key) - | Unknown x' -> Unknown x - ) <: (k: maybe_enum_key e { k == maybe_enum_key_of_repr e x } )))) - e - -#reset-options - -inline_for_extraction -let parse32_maybe_enum_key_gen - (#k: parser_kind) - (#key #repr: eqtype) - (#p: parser k repr) - (p32: parser32 p) - (e: enum key repr) - (#k' : parser_kind) - (p' : parser k' (maybe_enum_key e)) - (u: unit { - k' == k /\ - p' == parse_maybe_enum_key p e - }) - (f: maybe_enum_key_of_repr'_t e) -: Tot (parser32 p') -= parse32_synth p (maybe_enum_key_of_repr e) f p32 () - -#set-options "--z3rlimit 32 --max_fuel 8 --max_ifuel 8" - -inline_for_extraction -let parse32_enum_key_gen - (#k: parser_kind) - (#key #repr: eqtype) - (p: parser k repr) - (e: enum key repr) - (#k' : parser_kind) - (p' : parser k' (enum_key e)) - (u: unit { - k' == parse_filter_kind k /\ - p' == parse_enum_key p e - }) - (pe: parser32 (parse_maybe_enum_key p e)) -: Tot (parser32 p') -= (fun (input: bytes32) -> (( - match pe input with - | Some (k, consumed) -> - begin match k with - | Known k' -> Some (k', consumed) - | _ -> None - end - | _ -> None - ) <: (res: option (enum_key e * U32.t) { parser32_correct (parse_enum_key p e) input res } ))) - -#reset-options - -let enum_repr_of_key'_t - (#key #repr: eqtype) - (e: enum key repr) -: Tot Type0 -= (x: enum_key e) -> - Tot (r: enum_repr e { r == enum_repr_of_key e x } ) - -inline_for_extraction -let serialize32_enum_key_gen - (#k: parser_kind) - (#key #repr: eqtype) - (#p: parser k repr) - (#s: serializer p) - (s32: serializer32 s) - (e: enum key repr) - (#k' : parser_kind) - (#p' : parser k' (enum_key e)) - (s' : serializer p') - (u: unit { - k' == parse_filter_kind k /\ - p' == parse_enum_key p e /\ - s' == serialize_enum_key p s e - }) - (f: enum_repr_of_key'_t e) -: Tot (serializer32 s') -= fun (input: enum_key e) -> ((s32 (f input)) <: (r: bytes32 { serializer32_correct (serialize_enum_key p s e) input r } )) - -inline_for_extraction -let enum_repr_of_key_cons - (#key #repr: eqtype) - (e: enum key repr) - (f : enum_repr_of_key'_t (enum_tail' e)) -: Pure (enum_repr_of_key'_t e) - (requires (Cons? e)) - (ensures (fun _ -> True)) -= (fun (e' : list (key * repr) { e' == e } ) -> match e' with - | (k, r) :: _ -> - (fun (x: enum_key e) -> ( - if k = x - then (r <: repr) - else (f (x <: key) <: repr) - ) <: (r: enum_repr e { enum_repr_of_key e x == r } ))) - e - -inline_for_extraction -let enum_repr_of_key_cons_nil - (#key #repr: eqtype) - (e: enum key repr) -: Pure (enum_repr_of_key'_t e) - (requires (Cons? e /\ Nil? (enum_tail' e))) - (ensures (fun _ -> True)) -= (fun (e' : list (key * repr) { e' == e } ) -> match e' with - | [(k, r)] -> - (fun (x: enum_key e) -> - (r <: (r: enum_repr e { enum_repr_of_key e x == r } )))) - e - -inline_for_extraction -let serialize32_maybe_enum_key_gen' - (#k: parser_kind) - (#key #repr: eqtype) - (#p: parser k repr) - (#s: serializer p) - (s32: serializer32 s) - (e: enum key repr) - (f: serializer32 (serialize_enum_key p s e)) -: Tot (serializer32 (serialize_maybe_enum_key p s e)) -= fun (input: maybe_enum_key e) -> (( - match input with - | Known k -> f k - | Unknown r -> s32 r - ) <: (r: bytes32 { serializer32_correct (serialize_maybe_enum_key p s e) input r } )) - -inline_for_extraction -let serialize32_maybe_enum_key_gen - (#k: parser_kind) - (#key #repr: eqtype) - (#p: parser k repr) - (#s: serializer p) - (s32: serializer32 s) - (e: enum key repr) - (#k' : parser_kind) - (#p' : parser k' (maybe_enum_key e)) - (s' : serializer p') - (u: unit { - k == k' /\ - p' == parse_maybe_enum_key p e /\ - s' == serialize_maybe_enum_key p s e - }) - (f: enum_repr_of_key'_t e) -: Tot (serializer32 s') -= serialize32_maybe_enum_key_gen' s32 e - (serialize32_enum_key_gen s32 e (serialize_enum_key _ s e) () f) diff --git a/examples/lowparse/LowParse.SLow.Enum.fst.hints b/examples/lowparse/LowParse.SLow.Enum.fst.hints deleted file mode 100644 index 4c5aafb9b9c..00000000000 --- a/examples/lowparse/LowParse.SLow.Enum.fst.hints +++ /dev/null @@ -1,1488 +0,0 @@ -[ - "\u000e‘\u0019Õ¤\u0002,oêfûknª±²", - [ - [ - "LowParse.SLow.Enum.enum_tail'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "bool_inversion", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_LowParse.Spec.Enum.list_map", "typing_Prims.uu___is_Cons" - ], - 0, - "11754b563094c247323a0f230f55d6c2" - ], - [ - "LowParse.SLow.Enum.maybe_enum_key_of_repr'_t_cons_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_LowParse.Spec.Enum.Known", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Enum.enum_tail_", - "equation_LowParse.SLow.Enum.maybe_enum_key_of_repr__t", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.enum_key_of_repr", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_72f117974446af50010a9019376f8ede", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "refinement_interpretation_Tm_refine_f63a4a268f020733364bf5736477d275", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "typing_LowParse.SLow.Enum.enum_tail_", - "typing_LowParse.Spec.Enum.enum_key_of_repr", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.maybe_enum_key_of_repr", "unit_typing" - ], - 0, - "d865e6baec7b68778b4f2b906762c39f" - ], - [ - "LowParse.SLow.Enum.maybe_enum_key_of_repr'_t_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "LowParse.SLow.Enum_interpretation_Tm_arrow_6ec5184018b870466464b825ae652265", - "LowParse.Spec.Enum_interpretation_Tm_arrow_b3341c3bf3b498aa9f3864df4c7e14c9", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "constructor_distinct_Prims.Cons", - "data_elim_LowParse.Spec.Enum.Unknown", - "disc_equation_LowParse.Spec.Enum.Known", - "disc_equation_LowParse.Spec.Enum.Unknown", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.SLow.Enum.enum_tail_", - "equation_LowParse.SLow.Enum.maybe_enum_key_of_repr__t", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.enum_key_of_repr", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.flip", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_LowParse.Spec.Enum.unknown_enum_repr", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Enum.flip", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "projection_inverse_LowParse.Spec.Enum.Known_e", - "projection_inverse_LowParse.Spec.Enum.Known_key", - "projection_inverse_LowParse.Spec.Enum.Known_repr", - "projection_inverse_LowParse.Spec.Enum.Unknown__0", - "projection_inverse_LowParse.Spec.Enum.Unknown_e", - "projection_inverse_LowParse.Spec.Enum.Unknown_key", - "projection_inverse_LowParse.Spec.Enum.Unknown_repr", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_42952339d1ff6a9a240497d58590f0b2", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_72f117974446af50010a9019376f8ede", - "refinement_interpretation_Tm_refine_880f39290599db112196b66954b20c9b", - "refinement_interpretation_Tm_refine_f63a4a268f020733364bf5736477d275", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "token_correspondence_LowParse.Spec.Enum.flip", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_LowParse.SLow.Enum.enum_tail_", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem" - ], - 0, - "671679e0ddaa446e2b1ded49f4993dfa" - ], - [ - "LowParse.SLow.Enum.parse32_maybe_enum_key_gen", - 1, - 2, - 1, - [ "@query" ], - 0, - "32851b2cfa206ec475a20bfda9a2c7b3" - ], - [ - "LowParse.SLow.Enum.parse32_maybe_enum_key_gen", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_LowParse.Spec.Enum.parse_maybe_enum_key", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "projection_inverse_LowParse.Spec.Enum.Unknown__0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_09e1f9370c13a9c844f6bdf409b6588f", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "token_correspondence_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "typing_LowParse.Spec.Enum.enum_key_of_repr", - "typing_LowParse.Spec.Enum.list_map", "unit_typing" - ], - 0, - "64988019f2ecbfd6ebbe447bf1af7d13" - ], - [ - "LowParse.SLow.Enum.parse32_enum_key_gen", - 1, - 2, - 1, - [ "@query" ], - 0, - "0fa95433fdf40abc553d2ade362c471c" - ], - [ - "LowParse.SLow.Enum.parse32_enum_key_gen", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "LowParse.SLow.Enum_interpretation_Tm_arrow_6d409ad0444a7d3597dfa5bc260e4b22", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_d2f99ede906c7fc3c3a038279a176954", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_LowParse.Spec.Enum.Known", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.fail_parser", - "equation_LowParse.Spec.Combinators.fail_parser_", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_filter", - "equation_LowParse.Spec.Combinators.parse_filter_payload", - "equation_LowParse.Spec.Combinators.parse_filter_payload_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.parse_synth", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_LowParse.Spec.Enum.parse_enum_key", - "equation_LowParse.Spec.Enum.parse_maybe_enum_key", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Enum.maybe_enum_key", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.parse_filter_payload", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "interpretation_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "interpretation_Tm_abs_3b5e1bbd42cfa251bdbd2bf59972d742", - "interpretation_Tm_abs_5a1e65b8e6f533d16a46dad85471df0d", - "interpretation_Tm_abs_657f06e32b1c0f5168c9a51919755de8", - "interpretation_Tm_abs_9f42da36d16dacd7a5ec89a06b3e1741", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "interpretation_Tm_abs_fc170b22dbd2d01b344c2e776a39848f", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_LowParse.Spec.Enum.maybe_enum_key@tok", "l_and-interp", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "refinement_interpretation_Tm_refine_2a0a620be47a3755af8fed95d48f57da", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f3aecd47eab53181f80b258acb279cf9", - "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "token_correspondence_LowParse.Spec.Combinators.parse_filter_payload", - "token_correspondence_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.v", "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Enum.enum_key", - "typing_LowParse.Spec.Enum.parse_maybe_enum_key", - "typing_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "typing_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "typing_Tm_abs_fc170b22dbd2d01b344c2e776a39848f", "unit_typing" - ], - 0, - "65ddeabc3215ea08751337a5d1e8808a" - ], - [ - "LowParse.SLow.Enum.serialize32_enum_key_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Enum.enum_key", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21" - ], - 0, - "417c643481ce316ba43b921f7f9fbf46" - ], - [ - "LowParse.SLow.Enum.serialize32_enum_key_gen", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Enum_interpretation_Tm_arrow_0e00c5570440ca168c406717e83c8c18", - "eq2-interp", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.SLow.Enum.enum_repr_of_key__t", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Enum.bare_serialize_enum_key", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.serialize_enum_key", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "interpretation_Tm_abs_a73129ab068fc6735e00b07c3be9e92b", - "refinement_interpretation_Tm_refine_3a0cdecaa2f7924b6a5773d2d46e8e8c", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_c0c63865f3bf84ade6c98d617f056b3f" - ], - 0, - "f749b28fc4ebc2a26dc30942ba0a93d1" - ], - [ - "LowParse.SLow.Enum.enum_repr_of_key_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.SLow.Enum.enum_repr_of_key__t", - "equation_LowParse.SLow.Enum.enum_tail_", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.enum_repr_of_key", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_3bbdc85b6e8648d7f7785223bbdcae3d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_72f117974446af50010a9019376f8ede", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_f63a4a268f020733364bf5736477d275", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "token_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "typing_LowParse.SLow.Enum.enum_tail_", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem" - ], - 0, - "3c0a44513cf66a2f89a2e390dd743417" - ], - [ - "LowParse.SLow.Enum.enum_repr_of_key_cons_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Enum.enum_repr_of_key__t", - "equation_LowParse.SLow.Enum.enum_tail_", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.enum_repr_of_key", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_72f117974446af50010a9019376f8ede", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_f63a4a268f020733364bf5736477d275", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "typing_LowParse.SLow.Enum.enum_tail_", - "typing_LowParse.Spec.Enum.list_map", "unit_typing" - ], - 0, - "b46e27e557b5c11993f708ace0de6fee" - ], - [ - "LowParse.SLow.Enum.serialize32_maybe_enum_key_gen'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "disc_equation_LowParse.Spec.Enum.Known", - "disc_equation_LowParse.Spec.Enum.Unknown", "eq2-interp", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Combinators.bare_serialize_synth", - "equation_LowParse.Spec.Combinators.parse_filter_kind", - "equation_LowParse.Spec.Combinators.serialize_synth", - "equation_LowParse.Spec.Enum.bare_serialize_enum_key", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.parse_enum_key", - "equation_LowParse.Spec.Enum.repr_of_maybe_enum_key", - "equation_LowParse.Spec.Enum.serialize_enum_key", - "equation_LowParse.Spec.Enum.serialize_maybe_enum_key", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Enum.maybe_enum_key", - "interpretation_Tm_abs_45bc106d66ff9e2c3c9f4100524b39b3", - "interpretation_Tm_abs_a73129ab068fc6735e00b07c3be9e92b", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "projection_inverse_LowParse.Spec.Enum.Known_e", - "projection_inverse_LowParse.Spec.Enum.Known_key", - "projection_inverse_LowParse.Spec.Enum.Known_repr", - "projection_inverse_LowParse.Spec.Enum.Unknown__0", - "projection_inverse_LowParse.Spec.Enum.Unknown_e", - "projection_inverse_LowParse.Spec.Enum.Unknown_key", - "projection_inverse_LowParse.Spec.Enum.Unknown_repr", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "token_correspondence_LowParse.Spec.Enum.repr_of_maybe_enum_key" - ], - 0, - "c8a17f8176dc49fdb23b3daf46d49333" - ], - [ - "LowParse.SLow.Enum.serialize32_maybe_enum_key_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.serializer", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21" - ], - 0, - "1001cfd879cba1ff9b9532d44aae6968" - ], - [ - "LowParse.SLow.Enum.serialize32_maybe_enum_key_gen", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b0a424bed641ec3dd9c337eaf8186a6f" - ], - 0, - "e4713803f579815a086e8def437449bd" - ], - [ - "LowParse.SLow.Enum.enum_tail'", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "bool_inversion", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_LowParse.Spec.Enum.list_map", "typing_Prims.uu___is_Cons" - ], - 0, - "40c88f2c44d5380b82600cc75e1133fe" - ], - [ - "LowParse.SLow.Enum.enum_tail'", - 3, - 2, - 1, - [ - "@query", "disc_equation_Prims.Cons", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f5f07a8d0d8282bc08f4f8915b5eb01f" - ], - [ - "LowParse.SLow.Enum.maybe_enum_key_of_repr'_t_cons_nil", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_LowParse.Spec.Enum.Known", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Enum.enum_tail_", - "equation_LowParse.SLow.Enum.maybe_enum_key_of_repr__t", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.enum_key_of_repr", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_72f117974446af50010a9019376f8ede", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "refinement_interpretation_Tm_refine_f63a4a268f020733364bf5736477d275", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "typing_LowParse.SLow.Enum.enum_tail_", - "typing_LowParse.Spec.Enum.enum_key_of_repr", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "typing_Prims.uu___is_Cons", "unit_typing" - ], - 0, - "e63ced942f61f287887e14456ee86f34" - ], - [ - "LowParse.SLow.Enum.maybe_enum_key_of_repr'_t_cons", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "LowParse.SLow.Enum_interpretation_Tm_arrow_6ec5184018b870466464b825ae652265", - "LowParse.Spec.Enum_interpretation_Tm_arrow_b3341c3bf3b498aa9f3864df4c7e14c9", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_LowParse.Spec.Enum.Unknown", "data_elim_Prims.Cons", - "disc_equation_LowParse.Spec.Enum.Known", - "disc_equation_LowParse.Spec.Enum.Unknown", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Enum.enum_tail_", - "equation_LowParse.SLow.Enum.maybe_enum_key_of_repr__t", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.enum_key_of_repr", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.flip", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_LowParse.Spec.Enum.unknown_enum_repr", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_LowParse.Spec.Enum.flip", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "projection_inverse_LowParse.Spec.Enum.Known_e", - "projection_inverse_LowParse.Spec.Enum.Known_key", - "projection_inverse_LowParse.Spec.Enum.Known_repr", - "projection_inverse_LowParse.Spec.Enum.Unknown__0", - "projection_inverse_LowParse.Spec.Enum.Unknown_e", - "projection_inverse_LowParse.Spec.Enum.Unknown_key", - "projection_inverse_LowParse.Spec.Enum.Unknown_repr", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_42952339d1ff6a9a240497d58590f0b2", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_72f117974446af50010a9019376f8ede", - "refinement_interpretation_Tm_refine_880f39290599db112196b66954b20c9b", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_f63a4a268f020733364bf5736477d275", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "token_correspondence_LowParse.Spec.Enum.flip", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_LowParse.SLow.Enum.enum_tail_", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem", "unit_typing" - ], - 0, - "c5436f90e923081c36d00f8ad171887e" - ], - [ - "LowParse.SLow.Enum.parse32_maybe_enum_key_gen", - 3, - 2, - 1, - [ "@query" ], - 0, - "f6be44715c1b42778520e22f7fe172a8" - ], - [ - "LowParse.SLow.Enum.parse32_maybe_enum_key_gen", - 4, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_LowParse.Spec.Enum.parse_maybe_enum_key", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "projection_inverse_LowParse.Spec.Enum.Unknown__0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_09e1f9370c13a9c844f6bdf409b6588f", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "token_correspondence_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "typing_LowParse.Spec.Enum.enum_key_of_repr", - "typing_LowParse.Spec.Enum.list_map", "unit_typing" - ], - 0, - "5a027dc9096f88f477c598049f68ce6b" - ], - [ - "LowParse.SLow.Enum.parse32_maybe_enum_key_gen", - 5, - 2, - 1, - [ "@query" ], - 0, - "5b3ee54aad975a748d7fb67456723d06" - ], - [ - "LowParse.SLow.Enum.parse32_enum_key_gen", - 3, - 2, - 1, - [ "@query" ], - 0, - "afd5f03228e3464e83c1907eac09bec0" - ], - [ - "LowParse.SLow.Enum.parse32_enum_key_gen", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "LowParse.SLow.Enum_interpretation_Tm_arrow_6d409ad0444a7d3597dfa5bc260e4b22", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_d2f99ede906c7fc3c3a038279a176954", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_LowParse.Spec.Enum.Known", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.bytes32", - "equation_LowParse.SLow.Base.parser32_correct", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.fail_parser", - "equation_LowParse.Spec.Combinators.fail_parser_", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_filter", - "equation_LowParse.Spec.Combinators.parse_filter_payload", - "equation_LowParse.Spec.Combinators.parse_filter_payload_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.parse_synth", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_LowParse.Spec.Enum.parse_enum_key", - "equation_LowParse.Spec.Enum.parse_maybe_enum_key", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Enum.maybe_enum_key", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.parse_filter_payload", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "interpretation_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "interpretation_Tm_abs_3b5e1bbd42cfa251bdbd2bf59972d742", - "interpretation_Tm_abs_5a1e65b8e6f533d16a46dad85471df0d", - "interpretation_Tm_abs_657f06e32b1c0f5168c9a51919755de8", - "interpretation_Tm_abs_9f42da36d16dacd7a5ec89a06b3e1741", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "interpretation_Tm_abs_fc170b22dbd2d01b344c2e776a39848f", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_LowParse.Spec.Enum.maybe_enum_key@tok", "l_and-interp", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "refinement_interpretation_Tm_refine_2a0a620be47a3755af8fed95d48f57da", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f3aecd47eab53181f80b258acb279cf9", - "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "token_correspondence_LowParse.Spec.Combinators.parse_filter_payload", - "token_correspondence_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "typing_FStar.Bytes.reveal", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.v", "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Enum.enum_key", - "typing_LowParse.Spec.Enum.parse_maybe_enum_key", - "typing_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "typing_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "typing_Tm_abs_fc170b22dbd2d01b344c2e776a39848f", "unit_typing" - ], - 0, - "e66ce4669afb59538557ee2e04083cdb" - ], - [ - "LowParse.SLow.Enum.parse32_enum_key_gen", - 5, - 2, - 1, - [ "@query" ], - 0, - "3879f49e8ec16a290fa6a3b893c8427a" - ], - [ - "LowParse.SLow.Enum.serialize32_enum_key_gen", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Enum.enum_key", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21" - ], - 0, - "40b85841ea1630b7ad2accb1f1f28af0" - ], - [ - "LowParse.SLow.Enum.serialize32_enum_key_gen", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.SLow.Enum_interpretation_Tm_arrow_0e00c5570440ca168c406717e83c8c18", - "eq2-interp", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.SLow.Enum.enum_repr_of_key__t", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Enum.bare_serialize_enum_key", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.serialize_enum_key", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "interpretation_Tm_abs_a73129ab068fc6735e00b07c3be9e92b", - "refinement_interpretation_Tm_refine_3a0cdecaa2f7924b6a5773d2d46e8e8c", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_c0c63865f3bf84ade6c98d617f056b3f" - ], - 0, - "3e7e5d5e2b86ba68ce0fe84210cbcf17" - ], - [ - "LowParse.SLow.Enum.serialize32_enum_key_gen", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Enum.enum_key", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21" - ], - 0, - "b59c64c3dc070b501ee9603d50f07491" - ], - [ - "LowParse.SLow.Enum.enum_repr_of_key_cons", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.SLow.Enum.enum_repr_of_key__t", - "equation_LowParse.SLow.Enum.enum_tail_", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.enum_repr_of_key", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_3bbdc85b6e8648d7f7785223bbdcae3d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_72f117974446af50010a9019376f8ede", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_f63a4a268f020733364bf5736477d275", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "token_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "typing_LowParse.SLow.Enum.enum_tail_", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem" - ], - 0, - "5c59ea65d783e222e6f99b92c2df1b6a" - ], - [ - "LowParse.SLow.Enum.enum_repr_of_key_cons_nil", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Enum.enum_repr_of_key__t", - "equation_LowParse.SLow.Enum.enum_tail_", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.enum_repr_of_key", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_72f117974446af50010a9019376f8ede", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_f63a4a268f020733364bf5736477d275", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "typing_LowParse.SLow.Enum.enum_tail_", - "typing_LowParse.Spec.Enum.list_map", "typing_Prims.uu___is_Cons", - "unit_typing" - ], - 0, - "3b5f1ab7113b48e58aa697267bf5757a" - ], - [ - "LowParse.SLow.Enum.serialize32_maybe_enum_key_gen'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "disc_equation_LowParse.Spec.Enum.Known", - "disc_equation_LowParse.Spec.Enum.Unknown", "eq2-interp", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.SLow.Base.serializer32_correct", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Combinators.bare_serialize_synth", - "equation_LowParse.Spec.Combinators.parse_filter_kind", - "equation_LowParse.Spec.Combinators.serialize_synth", - "equation_LowParse.Spec.Enum.bare_serialize_enum_key", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.parse_enum_key", - "equation_LowParse.Spec.Enum.repr_of_maybe_enum_key", - "equation_LowParse.Spec.Enum.serialize_enum_key", - "equation_LowParse.Spec.Enum.serialize_maybe_enum_key", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Enum.maybe_enum_key", - "interpretation_Tm_abs_45bc106d66ff9e2c3c9f4100524b39b3", - "interpretation_Tm_abs_a73129ab068fc6735e00b07c3be9e92b", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "projection_inverse_LowParse.Spec.Enum.Known_e", - "projection_inverse_LowParse.Spec.Enum.Known_key", - "projection_inverse_LowParse.Spec.Enum.Known_repr", - "projection_inverse_LowParse.Spec.Enum.Unknown__0", - "projection_inverse_LowParse.Spec.Enum.Unknown_e", - "projection_inverse_LowParse.Spec.Enum.Unknown_key", - "projection_inverse_LowParse.Spec.Enum.Unknown_repr", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "token_correspondence_LowParse.Spec.Enum.repr_of_maybe_enum_key" - ], - 0, - "7211c42ce2369f105a18ce0d77e36fef" - ], - [ - "LowParse.SLow.Enum.serialize32_maybe_enum_key_gen", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.serializer", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21" - ], - 0, - "dfb4a6ff2382d1404771e7ef4cc4184b" - ], - [ - "LowParse.SLow.Enum.serialize32_maybe_enum_key_gen", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b0a424bed641ec3dd9c337eaf8186a6f" - ], - 0, - "78e225274a154a987e0e8971103faf38" - ], - [ - "LowParse.SLow.Enum.serialize32_maybe_enum_key_gen", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.serializer", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21" - ], - 0, - "cb63e8dcd090de48e88678c84f2edbc3" - ] - ] -] \ No newline at end of file diff --git a/examples/lowparse/LowParse.Spec.Base.fst b/examples/lowparse/LowParse.Spec.Base.fst deleted file mode 100644 index 11a81644413..00000000000 --- a/examples/lowparse/LowParse.Spec.Base.fst +++ /dev/null @@ -1,777 +0,0 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) -module LowParse.Spec.Base -include LowParse.Bytes - -module Seq = FStar.Seq -module U8 = FStar.UInt8 -module U32 = FStar.UInt32 - -/// parse a value of type t -/// -/// - the parser can fail (currently reporting an uninformative [None]) -/// - it returns the parsed value as well as the number of bytes read -/// (this is intended to be the number of bytes to advance the input pointer) -/// -/// note that the type now forbids lookahead; the parser cannot depend on -/// values beyond the returned offset -/// -/// these parsers are used as specifications, and thus use unrepresentable types -/// such as byte sequences and natural numbers and are always pure - -[@"substitute"] -inline_for_extraction -let consumed_length (b: bytes) : Tot Type0 = (n: nat { n <= Seq.length b } ) - -inline_for_extraction -let bare_parser (t:Type0) : Tot Type0 = (b: bytes) -> GTot (option (t * consumed_length b)) - -let parse - (#t: Type0) - (p: bare_parser t) - (input: bytes) -: GTot (option (t * consumed_length input)) -= p input - -let no_lookahead_weak_on - (#t: Type0) - (f: bare_parser t) - (x x' : bytes) -: GTot Type0 -= Some? (parse f x) ==> ( - let (Some v) = parse f x in - let (y, off) = v in ( - (off <= Seq.length x' /\ Seq.length x' <= Seq.length x /\ Seq.slice x' 0 off == Seq.slice x 0 off) ==> - Some? (parse f x') /\ ( - let (Some v') = parse f x' in - let (y', off') = v' in - y == y' /\ (off <: nat) == (off' <: nat) - ))) - -let no_lookahead_weak_on_ext - (#t: Type0) - (f1 f2: bare_parser t) - (x x' : bytes) -: Lemma - (requires ( - parse f2 x == parse f1 x /\ - parse f2 x' == parse f1 x' - )) - (ensures ( - no_lookahead_weak_on f2 x x' <==> no_lookahead_weak_on f1 x x' - )) -= () - -let no_lookahead_weak - (#t: Type0) - (f: bare_parser t) -: GTot Type0 -= forall (x x' : bytes) . no_lookahead_weak_on f x x' - -let no_lookahead_weak_ext - (#t: Type0) - (f1 f2: bare_parser t) -: Lemma - (requires ( - (forall (b: bytes) . parse f2 b == parse f1 b) - )) - (ensures ( - no_lookahead_weak f2 <==> no_lookahead_weak f1 - )) -= Classical.forall_intro_2 (fun b1 -> Classical.move_requires (no_lookahead_weak_on_ext f1 f2 b1)) - -(** Injectivity of parsing *) - -let injective_precond - (#t: Type0) - (p: bare_parser t) - (b1 b2: bytes) -: GTot Type0 -= Some? (parse p b1) /\ - Some? (parse p b2) /\ ( - let (Some (v1, len1)) = parse p b1 in - let (Some (v2, len2)) = parse p b2 in - v1 == v2 - ) - -let injective_precond_ext - (#t: Type0) - (p1 p2: bare_parser t) - (b1 b2: bytes) -: Lemma - (requires ( - parse p2 b1 == parse p1 b1 /\ - parse p2 b2 == parse p1 b2 - )) - (ensures ( - injective_precond p2 b1 b2 <==> injective_precond p1 b1 b2 - )) -= () - -let injective_postcond - (#t: Type0) - (p: bare_parser t) - (b1 b2: bytes) -: GTot Type0 -= Some? (parse p b1) /\ - Some? (parse p b2) /\ ( - let (Some (v1, len1)) = parse p b1 in - let (Some (v2, len2)) = parse p b2 in - (len1 <: nat) == (len2 <: nat) /\ - Seq.slice b1 0 len1 == Seq.slice b2 0 len2 - ) - -let injective_postcond_ext - (#t: Type0) - (p1 p2: bare_parser t) - (b1 b2: bytes) -: Lemma - (requires ( - parse p2 b1 == parse p1 b1 /\ - parse p2 b2 == parse p1 b2 - )) - (ensures ( - injective_postcond p2 b1 b2 <==> injective_postcond p1 b1 b2 - )) -= () - -let injective (#t: Type0) (p: bare_parser t) : GTot Type0 = - forall (b1 b2: bytes) . - injective_precond p b1 b2 ==> - injective_postcond p b1 b2 - -let injective_ext - (#t: Type0) - (p1 p2: bare_parser t) -: Lemma - (requires ( - forall (b: bytes) . parse p2 b == parse p1 b - )) - (ensures ( - injective p2 <==> injective p1 - )) -= Classical.forall_intro_2 (fun b1 -> Classical.move_requires (injective_precond_ext p1 p2 b1)); - Classical.forall_intro_2 (fun b1 -> Classical.move_requires (injective_postcond_ext p1 p2 b1)) - -let no_lookahead_on_precond - (#t: Type0) - (f: bare_parser t) - (x x' : bytes) -: GTot Type0 -= Some? (parse f x) /\ ( - let (Some v) = parse f x in - let (_, off) = v in - off <= Seq.length x' /\ - Seq.slice x' 0 off == Seq.slice x 0 off - ) - -let no_lookahead_on_postcond - (#t: Type0) - (f: bare_parser t) - (x x' : bytes) -: GTot Type0 -= Some? (parse f x) ==> ( - let (Some v) = parse f x in - let (y, _) = v in - Some? (parse f x') /\ ( - let (Some v') = parse f x' in - let (y', _) = v' in - y == y' - )) - -let no_lookahead_on - (#t: Type0) - (f: bare_parser t) - (x x' : bytes) -: GTot Type0 -= no_lookahead_on_precond f x x' ==> no_lookahead_on_postcond f x x' - -let no_lookahead_on_ext - (#t: Type0) - (p1 p2: bare_parser t) - (b1 b2: bytes) -: Lemma - (requires ( - parse p2 b1 == parse p1 b1 /\ - parse p2 b2 == parse p1 b2 - )) - (ensures ( - no_lookahead_on p2 b1 b2 <==> no_lookahead_on p1 b1 b2 - )) -= () - -let no_lookahead - (#t: Type0) - (f: bare_parser t) -: GTot Type0 -= forall (x x' : bytes) . no_lookahead_on f x x' - -let no_lookahead_ext - (#t: Type0) - (p1 p2: bare_parser t) -: Lemma - (requires ( - forall (b: bytes) . parse p2 b == parse p1 b - )) - (ensures ( - no_lookahead p2 <==> no_lookahead p1 - )) -= Classical.forall_intro_2 (fun b1 -> Classical.move_requires (no_lookahead_on_ext p1 p2 b1)) - - -(** A parser that always consumes all its input *) - -let consumes_all - (#t: Type0) - (p: bare_parser t) -: GTot Type0 -= forall (b: bytes) . Some? (parse p b) ==> ( - let (Some (_, len)) = parse p b in - Seq.length b == len - ) - -let injective_consumes_all_no_lookahead_weak - (#t: Type0) - (p: bare_parser t) -: Lemma - (requires ( - injective p /\ - consumes_all p - )) - (ensures ( - no_lookahead_weak p - )) -= () - -(** Parsing data of bounded size *) - -let parses_at_least - (sz: nat) - (#t: Type0) - (f: bare_parser t) -: GTot Type0 -= forall (s: bytes) . - Some? (parse f s) ==> ( - let (_, consumed) = Some?.v (parse f s) in - sz <= (consumed <: nat) - ) - -let parses_at_least_0 - (#t: Type0) - (f: bare_parser t) -: Lemma - (parses_at_least 0 f) -= () - -let parses_at_least_le - (sz sz': nat) - (#t: Type0) - (f: bare_parser t) -: Lemma - (requires ( - parses_at_least sz f /\ - sz' <= sz - )) - (ensures ( - parses_at_least sz' f - )) -= () - - -(** A parser that always consumes at least one byte. - -A list can be serialized only if the parser for elements always -consumes at least one byte. Anyway, since we require such a parser to -have the prefix property, this is always true except for the parser -for empty data. - -*) - -let nonempty_strong_parser_consumes_at_least_one_byte - (#t: Type0) - (p: bare_parser t) - (x: bytes) -: Lemma - (requires ( - no_lookahead_weak p /\ - no_lookahead p /\ - injective p /\ ( - let px = parse p x in - Some? px /\ ( - let (Some (_, len)) = px in - len > 0 - )))) - (ensures ( - parses_at_least 1 p - )) -= let prf - (x' : bytes) - : Lemma - (requires (Some? (parse p x'))) - (ensures ( - let px' = parse p x' in - Some? px' /\ ( - let (Some (_, len')) = px' in - len' > 0 - ))) - = let (Some (_, len')) = parse p x' in - if len' > 0 - then () - else begin - assert (no_lookahead_weak_on p x' Seq.empty); - assert (no_lookahead_on p Seq.empty x); - assert (no_lookahead_on_precond p Seq.empty x); - assert (no_lookahead_on_postcond p Seq.empty x); - assert (injective_precond p Seq.empty x); - assert (injective_postcond p Seq.empty x) - end - in - Classical.forall_intro (Classical.move_requires prf) - - -let parses_at_most - (sz: nat) - (#t: Type0) - (f: bare_parser t) -: GTot Type0 -= forall (s: bytes) . - Some? (parse f s) ==> ( - let (_, consumed) = Some?.v (parse f s) in - sz >= (consumed <: nat) - ) - -let is_constant_size_parser - (sz: nat) - (#t: Type0) - (f: bare_parser t) -: GTot Type0 -= forall (s: bytes) . - Some? (parse f s) ==> ( - let (_, consumed) = Some?.v (parse f s) in - sz == (consumed <: nat) - ) - -let is_constant_size_parser_equiv - (sz: nat) - (#t: Type0) - (f: bare_parser t) -: Lemma - (is_constant_size_parser sz f <==> (parses_at_least sz f /\ parses_at_most sz f)) -= () - -let is_total_constant_size_parser - (sz: nat) - (#t: Type0) - (f: bare_parser t) -: GTot Type0 -= forall (s: bytes) . {:pattern (f s) } - (Seq.length s < sz) == (None? (f s)) - -type parser_subkind = - | ParserStrong - | ParserConsumesAll - -let parser_subkind_prop (k: parser_subkind) (#t: Type0) (f: bare_parser t) : GTot Type0 = - match k with - | ParserStrong -> - no_lookahead f - | ParserConsumesAll -> - consumes_all f - -type parser_kind_metadata_t = { - parser_kind_metadata_total: bool; -} - -type parser_kind' = { - parser_kind_low: nat; - parser_kind_high: option nat; - parser_kind_subkind: option parser_subkind; - parser_kind_metadata: parser_kind_metadata_t; -} - -let parser_kind = (x: parser_kind' { - Some? x.parser_kind_high ==> x.parser_kind_low <= Some?.v x.parser_kind_high -}) - -inline_for_extraction -let strong_parser_kind (lo hi: nat) (md: parser_kind_metadata_t) : Pure parser_kind - (requires (lo <= hi)) - (ensures (fun _ -> True)) -= { - parser_kind_low = lo; - parser_kind_high = Some hi; - parser_kind_subkind = Some ParserStrong; - parser_kind_metadata = md; - } - -let parser_kind_prop (#t: Type0) (k: parser_kind) (f: bare_parser t) : GTot Type0 = - no_lookahead_weak f /\ - injective f /\ - parses_at_least k.parser_kind_low f /\ - (Some? k.parser_kind_high ==> (parses_at_most (Some?.v k.parser_kind_high) f)) /\ - (((k.parser_kind_high == Some k.parser_kind_low) /\ (k.parser_kind_metadata.parser_kind_metadata_total == true)) ==> is_total_constant_size_parser k.parser_kind_low f) /\ - (Some? k.parser_kind_subkind ==> parser_subkind_prop (Some?.v k.parser_kind_subkind) f) - -let parser_kind_prop_ext - (#t: Type0) - (k: parser_kind) - (f1 f2: bare_parser t) -: Lemma - (requires (forall (input: bytes) . parse f1 input == parse f2 input)) - (ensures (parser_kind_prop k f1 <==> parser_kind_prop k f2)) -= no_lookahead_ext f1 f2; - no_lookahead_weak_ext f1 f2; - injective_ext f1 f2 - -inline_for_extraction -let parser - (k: parser_kind) - (t: Type0) -: Tot Type0 -= (f: bare_parser t { parser_kind_prop k f } ) - -let get_parser_kind - (#k: parser_kind) - (#t: Type0) - (p: parser k t) -: Tot parser_kind -= k - -let parser_kind_prop_intro - (k: parser_kind) - (#t: Type0) - (f: parser k t) -: Lemma - (parser_kind_prop k f) -= () - -let is_weaker_than - (k1 k2: parser_kind) -: GTot Type0 -= k1.parser_kind_low <= k2.parser_kind_low /\ - (Some? k1.parser_kind_high ==> ( - Some? k2.parser_kind_high /\ - Some?.v k2.parser_kind_high <= Some?.v k1.parser_kind_high - )) /\ - (k1.parser_kind_metadata.parser_kind_metadata_total == true ==> k2.parser_kind_metadata.parser_kind_metadata_total == true) /\ - (Some? k1.parser_kind_subkind ==> k1.parser_kind_subkind == k2.parser_kind_subkind) - -(* AR: see bug#1349 *) -unfold let coerce_to_bare_parser (t:Type0) (k2:parser_kind) (p:parser k2 t) - :Tot (bare_parser t) = p - -unfold -let weaken (k1: parser_kind) (#k2: parser_kind) (#t: Type0) (p2: parser k2 t) : Pure (parser k1 t) - (requires (k1 `is_weaker_than` k2)) - (ensures (fun _ -> True)) -= (coerce_to_bare_parser t k2 p2) <: (parser k1 t) - -#reset-options - -// inline_for_extraction -unfold -let strengthen (k: parser_kind) (#t: Type0) (f: bare_parser t) : Pure (parser k t) - (requires (parser_kind_prop k f)) - (ensures (fun _ -> True)) -= f - -let glb - (k1 k2: parser_kind) -: Pure parser_kind - (requires True) - (ensures (fun k -> - k `is_weaker_than` k1 /\ - k `is_weaker_than` k2 /\ - (forall k' . (k' `is_weaker_than` k1 /\ k' `is_weaker_than` k2) ==> k' `is_weaker_than` k) - )) -= { - parser_kind_low = (if k1.parser_kind_low < k2.parser_kind_low then k1.parser_kind_low else k2.parser_kind_low); - parser_kind_high = ( - if Some? k1.parser_kind_high && Some? k2.parser_kind_high - then if Some?.v k2.parser_kind_high < Some?.v k1.parser_kind_high - then k1.parser_kind_high - else k2.parser_kind_high - else None - ); - parser_kind_metadata = { - parser_kind_metadata_total = k1.parser_kind_metadata.parser_kind_metadata_total && k2.parser_kind_metadata.parser_kind_metadata_total; - }; - parser_kind_subkind = if k1.parser_kind_subkind = k2.parser_kind_subkind then k1.parser_kind_subkind else None - } - -let default_parser_kind : (x: parser_kind { - forall (t: Type0) (p: bare_parser t) . - (no_lookahead_weak p /\ injective p) ==> parser_kind_prop x p -}) -= { - parser_kind_low = 0; - parser_kind_high = None; - parser_kind_metadata = { - parser_kind_metadata_total = false; - }; - parser_kind_subkind = None; - } - -#set-options "--max_fuel 8 --max_ifuel 8" - -module L = FStar.List.Tot - -let rec glb_list_of - (#t: eqtype) - (f: (t -> Tot parser_kind)) - (l: list t) -: Pure parser_kind - (requires True) - (ensures (fun k -> - (forall kl . L.mem kl l ==> k `is_weaker_than` (f kl)) /\ - (forall k' . (Cons? l /\ (forall kl . L.mem kl l ==> k' `is_weaker_than` (f kl))) ==> k' `is_weaker_than` k) - )) -= match l with - | [] -> default_parser_kind - | [k] -> f k - | k1 :: q -> - let k' = glb_list_of f q in - glb (f k1) k' - -#reset-options - -let glb_list - (l: list parser_kind) -: Pure parser_kind - (requires True) - (ensures (fun k -> - (forall kl . L.mem kl l ==> k `is_weaker_than` kl) /\ - (forall k' . (Cons? l /\ (forall kl . L.mem kl l ==> k' `is_weaker_than` kl)) ==> k' `is_weaker_than` k) - )) -= glb_list_of id l - -(* Coercions *) - -unfold -let coerce - (t2: Type) - (#t1: Type) - (x: t1) -: Pure t2 - (requires (t1 == t2)) - (ensures (fun _ -> True)) -= (x <: t2) - -unfold -let coerce_parser - (t2: Type0) - (#k: parser_kind) - (#t1: Type0) - (p: parser k t1) -: Pure (parser k t2) - (requires (t2 == t1)) - (ensures (fun _ -> True)) -= p - -(* Pure serializers *) - -inline_for_extraction -let bare_serializer - (t: Type0) -: Tot Type0 -= t -> GTot bytes - -let serializer_correct - (#k: parser_kind) - (#t: Type0) - (p: parser k t) - (f: bare_serializer t) -: GTot Type0 -= forall (x: t) . parse p (f x) == Some (x, Seq.length (f x)) - -let serializer_correct_ext - (#k1: parser_kind) - (#t1: Type0) - (p1: parser k1 t1) - (f: bare_serializer t1) - (#k2: parser_kind) - (#t2: Type0) - (p2: parser k2 t2) -: Lemma - (requires (t1 == t2 /\ (forall (input: bytes) . parse p1 input == parse p2 input))) - (ensures (serializer_correct p1 f <==> serializer_correct p2 f)) -= () - -let serializer_complete - (#k: parser_kind) - (#t: Type0) - (p: parser k t) - (f: bare_serializer t) -: GTot Type0 -= forall (s: bytes) . - Some? (parse p s) ==> ( - let (Some (x, len)) = parse p s in - f x == Seq.slice s 0 len - ) - -let serializer_correct_implies_complete - (#k: parser_kind) - (#t: Type0) - (p: parser k t) - (f: bare_serializer t) -: Lemma - (requires (serializer_correct p f)) - (ensures (serializer_complete p f)) -= let prf - (s: bytes) - : Lemma - (requires (Some? (parse p s))) - (ensures ( - Some? (parse p s) /\ ( - let (Some (x, len)) = parse p s in - f x == Seq.slice s 0 len - ))) - = let (Some (x, len)) = parse p s in - assert (no_lookahead_weak_on p (f x) s); - assert (injective_precond p (f x) s); - assert (injective_postcond p (f x) s) - in - Classical.forall_intro (Classical.move_requires prf) - -inline_for_extraction -let serializer - (#k: parser_kind) - (#t: Type0) - (p: parser k t) -: Tot Type0 -= (f: bare_serializer t { serializer_correct p f } ) - -unfold -let coerce_serializer - (t2: Type0) - (#k: parser_kind) - (#t1: Type0) - (#p: parser k t1) - (s: serializer p) - (u: unit { t2 == t1 } ) -: Tot (serializer (coerce_parser t2 p)) -= s - -let serialize_ext - (#k1: parser_kind) - (#t1: Type0) - (p1: parser k1 t1) - (s1: serializer p1) - (#k2: parser_kind) - (#t2: Type0) - (p2: parser k2 t2) -: Pure (serializer p2) - (requires (t1 == t2 /\ (forall (input: bytes) . parse p1 input == parse p2 input))) - (ensures (fun _ -> True)) -= serializer_correct_ext p1 s1 p2; - (s1 <: bare_serializer t2) - -let serialize_ext' - (#k1: parser_kind) - (#t1: Type0) - (p1: parser k1 t1) - (s1: serializer p1) - (#k2: parser_kind) - (#t2: Type0) - (p2: parser k2 t2) -: Pure (serializer p2) - (requires (t1 == t2 /\ k1 == k2 /\ p1 == p2)) - (ensures (fun _ -> True)) -= serialize_ext p1 s1 p2 - -let serialize - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) - (x: t) -: GTot bytes -= s x - -let serializer_unique - (#k: parser_kind) - (#t: Type0) - (p: parser k t) - (s1 s2: serializer p) - (x: t) -: Lemma - (s1 x == s2 x) -= serializer_correct_implies_complete p s2 - -let serializer_injective - (#k: parser_kind) - (#t: Type0) - (p: parser k t) - (s: serializer p) - (x1 x2: t) -: Lemma - (requires (s x1 == s x2)) - (ensures (x1 == x2)) -= () - -let serializer_parser_unique' - (#k1: parser_kind) - (#t: Type0) - (p1: parser k1 t) - (#k2: parser_kind) - (p2: parser k2 t) - (s: bare_serializer t) - (x: bytes) -: Lemma - (requires ( - k2.parser_kind_subkind == Some ParserStrong /\ - serializer_correct p1 s /\ - serializer_correct p2 s /\ - Some? (p1 x) - )) - (ensures ( - p1 x == p2 x - )) -= serializer_correct_implies_complete p1 s; - let (Some (y, len)) = p1 x in - let x' = Seq.slice x 0 len in - assert (s y == x'); - let len' = Seq.length x' in - assert (len == len'); - assert (p1 x' == Some (y, len')); - assert (p2 x' == Some (y, len')); - assert (no_lookahead_on p2 x' x); - assert (no_lookahead_on_postcond p2 x' x); - assert (injective_postcond p2 x' x) - -let serializer_parser_unique - (#k1: parser_kind) - (#t: Type0) - (p1: parser k1 t) - (#k2: parser_kind) - (p2: parser k2 t) - (s: bare_serializer t) - (x: bytes) -: Lemma - (requires ( - k1.parser_kind_subkind == Some ParserStrong /\ - k2.parser_kind_subkind == Some ParserStrong /\ - serializer_correct p1 s /\ - serializer_correct p2 s - )) - (ensures ( - p1 x == p2 x - )) -= if Some? (p1 x) - then serializer_parser_unique' p1 p2 s x - else if Some? (p2 x) - then serializer_parser_unique' p2 p1 s x - else () diff --git a/examples/lowparse/LowParse.Spec.Base.fst.hints b/examples/lowparse/LowParse.Spec.Base.fst.hints deleted file mode 100644 index c3be3fc8195..00000000000 --- a/examples/lowparse/LowParse.Spec.Base.fst.hints +++ /dev/null @@ -1,1629 +0,0 @@ -[ - "ÿ.ÔG\b¨[AÄm3\bDõD", - [ - [ - "LowParse.Spec.Base.no_lookahead_weak_on", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "c64618d0ea3b64d2dac4904054e973e9" - ], - [ - "LowParse.Spec.Base.no_lookahead_weak_on_ext", - 1, - 2, - 1, - [ "@query", "equation_LowParse.Spec.Base.no_lookahead_weak_on" ], - 0, - "16ef74326f587dd2fba799967db90a2f" - ], - [ - "LowParse.Spec.Base.no_lookahead_weak_ext", - 1, - 2, - 1, - [ "@query", "equation_LowParse.Spec.Base.no_lookahead_weak" ], - 0, - "b106a72ae2f4f96d43a3b5ad66dbd337" - ], - [ - "LowParse.Spec.Base.injective_precond", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "eeee719e09818de2aec3ec48d30e61f4" - ], - [ - "LowParse.Spec.Base.injective_precond_ext", - 1, - 2, - 1, - [ "@query", "equation_LowParse.Spec.Base.injective_precond" ], - 0, - "78eb7da52a279c716d8b1972ce127553" - ], - [ - "LowParse.Spec.Base.injective_postcond", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "33e4366c770747d62d4e32eb413f2231" - ], - [ - "LowParse.Spec.Base.injective_postcond_ext", - 1, - 2, - 1, - [ "@query", "equation_LowParse.Spec.Base.injective_postcond" ], - 0, - "6afd0b67f491f17780389ce8a5895d21" - ], - [ - "LowParse.Spec.Base.injective_ext", - 1, - 2, - 1, - [ "@query", "equation_LowParse.Spec.Base.injective" ], - 0, - "c9859f5a86e9ba1ca9bd3437b3f120a2" - ], - [ - "LowParse.Spec.Base.no_lookahead_on_precond", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "c144e167c23b5f5a4c7abcc1653991aa" - ], - [ - "LowParse.Spec.Base.no_lookahead_on_postcond", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "c58b83c8a80c1136602fdb00e7fcf9c7" - ], - [ - "LowParse.Spec.Base.no_lookahead_on_ext", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "9d4bebf85d228e03f5b0d4c820c787e4" - ], - [ - "LowParse.Spec.Base.no_lookahead_ext", - 1, - 2, - 1, - [ "@query", "equation_LowParse.Spec.Base.no_lookahead" ], - 0, - "9224a3ad9feedf534d77bd4cfe029523" - ], - [ - "LowParse.Spec.Base.consumes_all", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "6b037c5384dc04b78b649d7fd7b92035" - ], - [ - "LowParse.Spec.Base.injective_consumes_all_no_lookahead_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumes_all", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length" - ], - 0, - "f017d888683226769c91b5f2de8d6e90" - ], - [ - "LowParse.Spec.Base.parses_at_least", - 1, - 2, - 1, - [ "@query" ], - 0, - "b0d7c69128845b07bc9314a90c4ba9c7" - ], - [ - "LowParse.Spec.Base.parses_at_least_0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parses_at_least", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "97023e1e2013802ba302cab0d950696e" - ], - [ - "LowParse.Spec.Base.parses_at_least_le", - 1, - 2, - 1, - [ "@query", "equation_LowParse.Spec.Base.parses_at_least" ], - 0, - "b33b6dc0d2aa7c49a1c0d4854cbf2c1c" - ], - [ - "LowParse.Spec.Base.nonempty_strong_parser_consumes_at_least_one_byte", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parses_at_least", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "e868253adfd4de3cfbaa6542cbcdeaf4" - ], - [ - "LowParse.Spec.Base.parses_at_most", - 1, - 2, - 1, - [ "@query" ], - 0, - "d57e5a0b0a650178b2fdf3881a49ae05" - ], - [ - "LowParse.Spec.Base.is_constant_size_parser", - 1, - 2, - 1, - [ "@query" ], - 0, - "c631b6f7dcb29066f72d3dc27b179807" - ], - [ - "LowParse.Spec.Base.is_constant_size_parser_equiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.is_constant_size_parser", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "0382c23e22f78a6dd6d6984ab25b61c2" - ], - [ - "LowParse.Spec.Base.parser_subkind_prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Base.ParserConsumesAll", - "disc_equation_LowParse.Spec.Base.ParserStrong", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_subkind" - ], - 0, - "fb1071bff8335b2e2d971c75b508382d" - ], - [ - "LowParse.Spec.Base.parser_kind'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_LowParse.Spec.Base.parser_kind_metadata_t__uu___haseq", - "assumption_LowParse.Spec.Base.parser_subkind__uu___haseq", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "fe31f8e7537ff3239abfe256f2c678fb" - ], - [ - "LowParse.Spec.Base.strong_parser_kind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_metadata_t", - "int_inversion", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "a83ae245eac0d77933e9fec5414322bd" - ], - [ - "LowParse.Spec.Base.parser_kind_prop_ext", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.consumes_all", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_subkind", - "function_token_typing_Prims.nat", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "8f63a6cec165e5d6ced05da6c44eb05f" - ], - [ - "LowParse.Spec.Base.parser_kind_prop_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db" - ], - 0, - "b3062f8ae5ef96628ceb0c1bd1987857" - ], - [ - "LowParse.Spec.Base.is_weaker_than", - 1, - 2, - 1, - [ "@query" ], - 0, - "8684b7f1950acf79db484bc9fd67ae6f" - ], - [ - "LowParse.Spec.Base.weaken", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.is_weaker_than", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_low", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "07162ee696f93002b655aa3f91cbaddf" - ], - [ - "LowParse.Spec.Base.strengthen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db" - ], - 0, - "d2b8adca9a1a3c60f3439f581e41386b" - ], - [ - "LowParse.Spec.Base.glb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_LowParse.Spec.Base.parser_subkind__uu___haseq", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "data_elim_LowParse.Spec.Base.Mkparser_kind_metadata_t", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", - "equation_LowParse.Spec.Base.is_weaker_than", - "equation_LowParse.Spec.Base.parser_kind", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_metadata_t", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "int_typing", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.UInt.fits", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_metadata", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind" - ], - 0, - "2a29992c6cf876b0ad6525fe500aa680" - ], - [ - "LowParse.Spec.Base.default_parser_kind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "3736f792ca4bec5710291e6b5fe153d3" - ], - [ - "LowParse.Spec.Base.glb_list_of", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "LowParse.Spec.Base_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_431d1d0757f2c95713fad6b6f3e263ab_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.is_weaker_than", - "equation_LowParse.Spec.Base.parser_kind", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1e405328920b24bbd3c3a388b8fc0407", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4456fd9f202cad396f7aebf87316051d", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_fefdbe636706a5956a68afb599332d5d", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.default_parser_kind", - "typing_LowParse.Spec.Base.glb", - "typing_LowParse.Spec.Base.glb_list_of", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "39a33ea3cc8096f0c52362cda0ad7e55" - ], - [ - "LowParse.Spec.Base.glb_list", - 1, - 2, - 1, - [ - "@query", "assumption_LowParse.Spec.Base.parser_kind___uu___haseq", - "equation_FStar.Pervasives.id", - "equation_LowParse.Spec.Base.parser_kind", "equation_Prims.nat", - "haseqTm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "a7e8f0a475aa5a9ff264824d8a7346c3" - ], - [ - "LowParse.Spec.Base.coerce", - 1, - 2, - 1, - [ "@query" ], - 0, - "67bf09572867e4c8a0f3ae4aef793172" - ], - [ - "LowParse.Spec.Base.coerce_parser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db" - ], - 0, - "7750ac305053608b6b978c101c455a53" - ], - [ - "LowParse.Spec.Base.serializer_correct", - 1, - 2, - 1, - [ "@query" ], - 0, - "628a384cdd34f34625c21a91abd793ca" - ], - [ - "LowParse.Spec.Base.serializer_correct_ext", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "unit_typing" - ], - 0, - "977d94b9ea9c7e67bb45778d2278b37c" - ], - [ - "LowParse.Spec.Base.serializer_complete", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "54dd0d74c53711e9748ce8db2033728c" - ], - [ - "LowParse.Spec.Base.serializer_correct_implies_complete", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_complete", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "3fef22d2031792b91bd73f75be41fda2" - ], - [ - "LowParse.Spec.Base.coerce_serializer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.serializer", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d" - ], - 0, - "3acc4559807e42cd07b45043b946813e" - ], - [ - "LowParse.Spec.Base.serialize_ext", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.serializer", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21" - ], - 0, - "bc60d742e1cd01e8bf8ea4a3b551a8a4" - ], - [ - "LowParse.Spec.Base.serialize_ext'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db" - ], - 0, - "c2cd1291a9ffd82fb034944d7622d263" - ], - [ - "LowParse.Spec.Base.serializer_unique", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_complete", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt8.t", - "lemma_FStar.Seq.Properties.slice_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "3560d9a2dd0014a10408492379907614" - ], - [ - "LowParse.Spec.Base.serializer_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "2654cad1431abc653dddb8343b22a3ef" - ], - [ - "LowParse.Spec.Base.serializer_parser_unique'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.serializer_complete", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "6593d222d5f0da79d70923e4f14de9cd" - ], - [ - "LowParse.Spec.Base.serializer_parser_unique", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.parser", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_LowParse.Spec.Base.consumed_length", "unit_inversion", - "unit_typing" - ], - 0, - "b538b4b4b1191d7d7bdec333533a16b8" - ], - [ - "LowParse.Spec.Base.no_lookahead_weak_on", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "a9d1cb73dbd2697d82fadbc9a8ae929f" - ], - [ - "LowParse.Spec.Base.injective_precond", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "bce698f88cf6067532a006c3a5236f22" - ], - [ - "LowParse.Spec.Base.injective_postcond", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "c40a1c33012f2f71484336e94bbf667e" - ], - [ - "LowParse.Spec.Base.no_lookahead_on_precond", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "2ca219aa0abf0505036d8125d5a4980a" - ], - [ - "LowParse.Spec.Base.no_lookahead_on_postcond", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "97246cc589f3f59a3196d0e7e2f1ec72" - ], - [ - "LowParse.Spec.Base.consumes_all", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "30879166829ce1902e06c954d81776dd" - ], - [ - "LowParse.Spec.Base.parses_at_least", - 2, - 2, - 1, - [ "@query" ], - 0, - "b04396bc55c229262e3ae312b0d171c2" - ], - [ - "LowParse.Spec.Base.nonempty_strong_parser_consumes_at_least_one_byte", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "547ae8a80179609d86cc03597d3d8098" - ], - [ - "LowParse.Spec.Base.parses_at_most", - 2, - 2, - 1, - [ "@query" ], - 0, - "c77b9771c6b80b518e09a8232e76e86d" - ], - [ - "LowParse.Spec.Base.is_constant_size_parser", - 2, - 2, - 1, - [ "@query" ], - 0, - "cffe74bf74fc40154098a13be6e77e8b" - ], - [ - "LowParse.Spec.Base.parser_subkind_prop", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Base.ParserConsumesAll", - "disc_equation_LowParse.Spec.Base.ParserStrong", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_subkind" - ], - 0, - "4ae2344e6584710c5190775e3f3847ae" - ], - [ - "LowParse.Spec.Base.parser_kind'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_LowParse.Spec.Base.parser_kind_metadata_t__uu___haseq", - "assumption_LowParse.Spec.Base.parser_subkind__uu___haseq", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "46c99101fcaeff4f61a98ebedda9ae61" - ], - [ - "LowParse.Spec.Base.strong_parser_kind", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_metadata_t", - "int_inversion", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "7a6b9ee755dc98b2fd18c8e588f12020" - ], - [ - "LowParse.Spec.Base.is_weaker_than", - 2, - 2, - 1, - [ "@query" ], - 0, - "46024ae3776b36fdf9a2b64dabe4233d" - ], - [ - "LowParse.Spec.Base.weaken", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.is_weaker_than", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "dd0e7e406d8bada4d9cf5e791b8e7187" - ], - [ - "LowParse.Spec.Base.strengthen", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "b1214967dc82f66a71f5c241f27699b2" - ], - [ - "LowParse.Spec.Base.glb", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_LowParse.Spec.Base.parser_subkind__uu___haseq", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "data_elim_LowParse.Spec.Base.Mkparser_kind_metadata_t", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", - "equation_LowParse.Spec.Base.is_weaker_than", - "equation_LowParse.Spec.Base.parser_kind", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_metadata_t", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "int_typing", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.UInt.fits", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_metadata", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind" - ], - 0, - "bcf7486f89e3061cd2030abfe6597722" - ], - [ - "LowParse.Spec.Base.default_parser_kind", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parses_at_least", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse" - ], - 0, - "a97c66228ba761797285f396fe072950" - ], - [ - "LowParse.Spec.Base.glb_list_of", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "LowParse.Spec.Base_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_431d1d0757f2c95713fad6b6f3e263ab_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.is_weaker_than", - "equation_LowParse.Spec.Base.parser_kind", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_Prims.list", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1e405328920b24bbd3c3a388b8fc0407", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4456fd9f202cad396f7aebf87316051d", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_fefdbe636706a5956a68afb599332d5d", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.default_parser_kind", - "typing_LowParse.Spec.Base.glb", - "typing_LowParse.Spec.Base.glb_list_of", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "a09741077242441ee88d16fa92b9f0dd" - ], - [ - "LowParse.Spec.Base.glb_list", - 2, - 2, - 1, - [ - "@query", "assumption_LowParse.Spec.Base.parser_kind___uu___haseq", - "equation_FStar.Pervasives.id", - "equation_LowParse.Spec.Base.parser_kind", "equation_Prims.nat", - "haseqTm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "6e9d431eb0b1c2df4a3275ba4d2e3764" - ], - [ - "LowParse.Spec.Base.glb_list", - 3, - 2, - 1, - [ - "@query", "assumption_LowParse.Spec.Base.parser_kind___uu___haseq", - "equation_LowParse.Spec.Base.parser_kind", "equation_Prims.nat", - "haseqTm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "5355300e0a26698a2dccbcd392dff048" - ], - [ - "LowParse.Spec.Base.coerce", - 2, - 2, - 1, - [ "@query" ], - 0, - "16d58b2280797c46a2623f4c07c195dd" - ], - [ - "LowParse.Spec.Base.coerce_parser", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db" - ], - 0, - "62c03f71c0f8803371165ff2f17d0a42" - ], - [ - "LowParse.Spec.Base.serializer_correct", - 2, - 2, - 1, - [ "@query" ], - 0, - "664e2cfd53bd6f3639a2740b87de0662" - ], - [ - "LowParse.Spec.Base.serializer_correct_ext", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" - ], - 0, - "3fbfc6f34ca0f07b4d0aabdac57a18c5" - ], - [ - "LowParse.Spec.Base.serializer_complete", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", - "equation_LowParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "389cabea5a582b801068fe4757180b1b" - ], - [ - "LowParse.Spec.Base.coerce_serializer", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.serializer", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d" - ], - 0, - "c96efb40bd85c7d91be5d7fda02c4a09" - ], - [ - "LowParse.Spec.Base.coerce_serializer", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db" - ], - 0, - "b975a6dbf5f741d476d05d6a06e27cea" - ], - [ - "LowParse.Spec.Base.serialize_ext", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.serializer", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21" - ], - 0, - "e68c6126c782d0bbbcd779361970ed73" - ], - [ - "LowParse.Spec.Base.serialize_ext", - 3, - 2, - 1, - [ "@query" ], - 0, - "d2bbedaded2bc1f9237272d95a5b4dba" - ], - [ - "LowParse.Spec.Base.serialize_ext'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db" - ], - 0, - "7a99b32a391a7162ca9f68879d1d1a86" - ], - [ - "LowParse.Spec.Base.serialize_ext'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db" - ], - 0, - "80271efca38aa0fa5436393c7a20ac2c" - ] - ] -] \ No newline at end of file diff --git a/examples/lowparse/LowParse.Spec.Combinators.fst b/examples/lowparse/LowParse.Spec.Combinators.fst deleted file mode 100644 index 96acfc32960..00000000000 --- a/examples/lowparse/LowParse.Spec.Combinators.fst +++ /dev/null @@ -1,964 +0,0 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) -module LowParse.Spec.Combinators -include LowParse.Spec.Base - -module Seq = FStar.Seq -module U8 = FStar.UInt8 -module U32 = FStar.UInt32 - -(** Constant-size parsers *) - -let make_constant_size_parser_aux - (sz: nat) - (t: Type0) - (f: ((s: bytes {Seq.length s == sz}) -> GTot (option t))) -: Tot (bare_parser t) -= fun (s: bytes) -> - if Seq.length s < sz - then None - else begin - let s' : bytes = Seq.slice s 0 sz in - match f s' with - | None -> None - | Some v -> - let (sz: consumed_length s) = sz in - Some (v, sz) - end - -let make_constant_size_parser_precond_precond - (sz: nat) - (t: Type0) - (f: ((s: bytes {Seq.length s == sz}) -> GTot (option t))) - (s1: bytes { Seq.length s1 == sz } ) - (s2: bytes { Seq.length s2 == sz } ) -: GTot Type0 -= (Some? (f s1) \/ Some? (f s2)) /\ f s1 == f s2 - -let make_constant_size_parser_precond - (sz: nat) - (t: Type0) - (f: ((s: bytes {Seq.length s == sz}) -> GTot (option t))) -: GTot Type0 -= forall (s1: bytes {Seq.length s1 == sz}) (s2: bytes {Seq.length s2 == sz}) . - make_constant_size_parser_precond_precond sz t f s1 s2 ==> Seq.equal s1 s2 - -let make_constant_size_parser_precond' - (sz: nat) - (t: Type0) - (f: ((s: bytes {Seq.length s == sz}) -> GTot (option t))) -: GTot Type0 -= forall (s1: bytes {Seq.length s1 == sz}) (s2: bytes {Seq.length s2 == sz}) . - make_constant_size_parser_precond_precond sz t f s1 s2 ==> s1 == s2 - -let make_constant_size_parser_injective - (sz: nat) - (t: Type0) - (f: ((s: bytes {Seq.length s == sz}) -> GTot (option t))) -: Lemma - (requires ( - make_constant_size_parser_precond sz t f - )) - (ensures ( - injective (make_constant_size_parser_aux sz t f) - )) -= let p : bare_parser t = make_constant_size_parser_aux sz t f in - let prf1 - (b1 b2: bytes) - : Lemma - (requires (injective_precond p b1 b2)) - (ensures (injective_postcond p b1 b2)) - = assert (Some? (parse p b1)); - assert (Some? (parse p b2)); - let (Some (v1, len1)) = parse p b1 in - let (Some (v2, len2)) = parse p b2 in - assert ((len1 <: nat) == (len2 <: nat)); - assert ((len1 <: nat) == sz); - assert ((len2 <: nat) == sz); - assert (make_constant_size_parser_precond_precond sz t f (Seq.slice b1 0 len1) (Seq.slice b2 0 len2)); - assert (make_constant_size_parser_precond' sz t f) - in - Classical.forall_intro_2 (fun (b1: bytes) -> Classical.move_requires (prf1 b1)) - -let constant_size_parser_kind - (sz: nat) -: Tot parser_kind -= strong_parser_kind sz sz ({ - parser_kind_metadata_total = false; - }) - -let make_constant_size_parser - (sz: nat) - (t: Type0) - (f: ((s: bytes {Seq.length s == sz}) -> GTot (option t))) -: Pure ( - parser - (constant_size_parser_kind sz) - t - ) - (requires ( - make_constant_size_parser_precond sz t f - )) - (ensures (fun _ -> True)) -= let p : bare_parser t = make_constant_size_parser_aux sz t f in - make_constant_size_parser_injective sz t f; - p - -let make_total_constant_size_parser_precond - (sz: nat) - (t: Type0) - (f: ((s: bytes {Seq.length s == sz}) -> GTot t)) -: GTot Type0 -= forall (s1: bytes {Seq.length s1 == sz}) (s2: bytes {Seq.length s2 == sz}) . - f s1 == f s2 ==> Seq.equal s1 s2 - -inline_for_extraction -let total_constant_size_parser_kind - (sz: nat) -: Tot parser_kind -= strong_parser_kind sz sz ({ - parser_kind_metadata_total = true; - }) - -let make_total_constant_size_parser - (sz: nat) - (t: Type0) - (f: ((s: bytes {Seq.length s == sz}) -> GTot t)) -: Pure ( - parser - (total_constant_size_parser_kind sz) - t - ) - (requires ( - make_total_constant_size_parser_precond sz t f - )) - (ensures (fun _ -> True)) -= let p : bare_parser t = make_constant_size_parser sz t (fun x -> Some (f x)) in - p - - -(** Combinators *) - -/// monadic return for the parser monad -unfold -let parse_ret' (#t:Type) (v:t) : Tot (bare_parser t) = - fun (b: bytes) -> Some (v, (0 <: consumed_length b)) - -// unfold -let parse_ret_kind : parser_kind = - strong_parser_kind 0 0 ({ - parser_kind_metadata_total = true; - }) - -unfold -let parse_ret (#t:Type) (v:t) : Tot (parser parse_ret_kind t) = - parse_ret' v - -let parse_empty : parser parse_ret_kind unit = - parse_ret () - -let serialize_empty : serializer parse_empty = - fun _ -> Seq.empty - -#set-options "--z3rlimit 16" - -let fail_parser_kind_precond - (k: parser_kind) -: GTot Type0 -= k.parser_kind_metadata.parser_kind_metadata_total == false /\ - (Some? k.parser_kind_high ==> k.parser_kind_low <= Some?.v k.parser_kind_high) - -let fail_parser' - (t: Type0) -: Tot (bare_parser t) -= fun _ -> None - -let fail_parser - (k: parser_kind) - (t: Type0) -: Pure (parser k t) - (requires (fail_parser_kind_precond k)) - (ensures (fun _ -> True)) -= let p = fail_parser' t in - strengthen k p - -/// monadic bind for the parser monad - -val and_then_bare : #t:Type -> #t':Type -> - p:bare_parser t -> - p': (t -> Tot (bare_parser t')) -> - Tot (bare_parser t') -let and_then_bare #t #t' p p' = - fun (b: bytes) -> - match parse p b with - | Some (v, l) -> - begin - let p'v = p' v in - let s' : bytes = Seq.slice b l (Seq.length b) in - match parse p'v s' with - | Some (v', l') -> - let res : consumed_length b = l + l' in - Some (v', res) - | None -> None - end - | None -> None - -val and_then_no_lookahead_weak_on - (#t:Type) - (#t':Type) - (p: bare_parser t) - (p': (t -> Tot (bare_parser t'))) - (x: bytes) - (x' : bytes) - : Lemma - (requires ( - no_lookahead_weak p /\ - (forall (x: t) . no_lookahead_weak (p' x)) - )) - (ensures (no_lookahead_weak_on (and_then_bare p p') x x')) - -let and_then_no_lookahead_weak_on #t #t' p p' x x' = - let f = and_then_bare p p' in - match f x with - | Some v -> - let (y, off) = v in - let off : nat = off in - let (off_x : consumed_length x ) = off in - if off <= Seq.length x' - then - let (off_x' : consumed_length x') = off in - let g () : Lemma - (requires (Seq.length x' <= Seq.length x /\ Seq.slice x' 0 off_x' == Seq.slice x 0 off_x)) - (ensures ( - Some? (parse f x') /\ ( - let (Some v') = parse f x' in - let (y', off') = v' in - y == y' /\ (off <: nat) == (off' <: nat) - ))) - = assert (Some? (parse p x)); - let (Some (y1, off1)) = parse p x in - assert (off1 <= off); - assert (off1 <= Seq.length x'); - assert (Seq.slice x' 0 off1 == Seq.slice (Seq.slice x' 0 off_x') 0 off1); - assert (Seq.slice x' 0 off1 == Seq.slice x 0 off1); - assert (no_lookahead_weak_on p x x'); - assert (Some? (parse p x')); - let (Some v1') = parse p x' in - let (y1', off1') = v1' in - assert (y1 == y1' /\ (off1 <: nat) == (off1' <: nat)); - let x2 : bytes = Seq.slice x off1 (Seq.length x) in - let x2' : bytes = Seq.slice x' off1 (Seq.length x') in - let p2 = p' y1 in - assert (Some? (parse p2 x2)); - let (Some (y', off2)) = parse p2 x2 in - assert (off == off1 + off2); - assert (off2 <= Seq.length x2); - assert (off2 <= Seq.length x2'); - assert (Seq.length x2' <= Seq.length x2); - assert (Seq.slice x2' 0 off2 == Seq.slice (Seq.slice x' 0 off_x') off1 (off1 + off2)); - assert (Seq.slice x2' 0 off2 == Seq.slice x2 0 off2); - assert (no_lookahead_weak_on p2 x2 x2'); - () - in - Classical.move_requires g () - else () - | _ -> () - -let and_then_no_lookahead_weak - (#t:Type) - (#t':Type) - (p: bare_parser t) - (p': (t -> Tot (bare_parser t'))) -: Lemma - (requires ( - no_lookahead_weak p /\ - (forall (x: t) . no_lookahead_weak (p' x)) - )) - (ensures (no_lookahead_weak (and_then_bare p p'))) -= Classical.forall_intro_2 (fun x -> Classical.move_requires (and_then_no_lookahead_weak_on p p' x)) - -let and_then_cases_injective_precond - (#t:Type) - (#t':Type) - (p': (t -> Tot (bare_parser t'))) - (x1 x2: t) - (b1 b2: bytes) -: GTot Type0 -= Some? ((p' x1) b1) /\ - Some? ((p' x2) b2) /\ ( - let (Some (v1, _)) = (p' x1) b1 in - let (Some (v2, _)) = (p' x2) b2 in - v1 == v2 - ) - -let and_then_cases_injective - (#t:Type) - (#t':Type) - (p': (t -> Tot (bare_parser t'))) -: GTot Type0 -= forall (x1 x2: t) (b1 b2: bytes) . - and_then_cases_injective_precond p' x1 x2 b1 b2 ==> - x1 == x2 - -val and_then_injective - (#t:Type) - (#t':Type) - (p: bare_parser t) - (p': (t -> Tot (bare_parser t'))) -: Lemma - (requires ( - injective p /\ - (forall (x: t) . injective (p' x)) /\ - and_then_cases_injective p' - )) - (ensures ( - injective (and_then_bare p p') - )) - -let and_then_injective #t #t' p p' = - let ps = and_then_bare p p' in - let f - (b1 b2: bytes) - : Lemma - (requires (injective_precond ps b1 b2)) - (ensures (injective_postcond ps b1 b2)) - = let (Some (v1, len1)) = p b1 in - let (Some (v2, len2)) = p b2 in - let b1' : bytes = Seq.slice b1 len1 (Seq.length b1) in - let b2' : bytes = Seq.slice b2 len2 (Seq.length b2) in - assert (Some? ((p' v1) b1')); - assert (Some? ((p' v2) b2')); - assert (and_then_cases_injective_precond p' v1 v2 b1' b2'); - assert (v1 == v2); - assert (injective_precond p b1 b2); - assert ((len1 <: nat) == (len2 <: nat)); - assert (injective (p' v1)); - assert (injective_precond (p' v1) b1' b2'); - assert (injective_postcond (p' v1) b1' b2'); - let (Some (_, len1')) = (p' v1) b1' in - let (Some (_, len2')) = (p' v2) b2' in - assert ((len1' <: nat) == (len2' <: nat)); - Seq.lemma_split (Seq.slice b1 0 (len1 + len1')) len1; - Seq.lemma_split (Seq.slice b2 0 (len2 + len2')) len1; - assert (injective_postcond ps b1 b2) - in - Classical.forall_intro_2 (fun x -> Classical.move_requires (f x)) - -val and_then_no_lookahead_on - (#t:Type) - (#t':Type) - (p: bare_parser t) - (p': (t -> Tot (bare_parser t'))) - (x: bytes) - (x' : bytes) - : Lemma - (requires ( - no_lookahead p /\ - injective p /\ - (forall (x: t) . no_lookahead (p' x)) - )) - (ensures (no_lookahead_on (and_then_bare p p') x x')) - -let and_then_no_lookahead_on #t #t' p p' x x' = - let f = and_then_bare p p' in - match f x with - | Some v -> - let (y, off) = v in - let off : nat = off in - let (off_x : consumed_length x ) = off in - if off <= Seq.length x' - then - let (off_x' : consumed_length x') = off in - let g () : Lemma - (requires (Seq.slice x' 0 off_x' == Seq.slice x 0 off_x)) - (ensures ( - Some? (f x') /\ ( - let (Some v') = f x' in - let (y', off') = v' in - y == y' - ))) - = assert (Some? (p x)); - let (Some (y1, off1)) = p x in - assert (off1 <= off); - assert (off1 <= Seq.length x'); - assert (Seq.slice x' 0 off1 == Seq.slice (Seq.slice x' 0 off_x') 0 off1); - assert (Seq.slice x' 0 off1 == Seq.slice x 0 off1); - assert (no_lookahead_on p x x'); - assert (Some? (p x')); - let (Some v1') = p x' in - let (y1', off1') = v1' in - assert (y1 == y1'); - assert (injective_precond p x x'); - assert ((off1 <: nat) == (off1' <: nat)); - let x2 : bytes = Seq.slice x off1 (Seq.length x) in - let x2' : bytes = Seq.slice x' off1 (Seq.length x') in - let p2 = p' y1 in - assert (Some? (p2 x2)); - let (Some (y2, off2)) = p2 x2 in - assert (off == off1 + off2); - assert (off2 <= Seq.length x2); - assert (off2 <= Seq.length x2'); - assert (Seq.slice x2' 0 off2 == Seq.slice (Seq.slice x' 0 off_x') off1 (off1 + off2)); - assert (Seq.slice x2' 0 off2 == Seq.slice x2 0 off2); - assert (no_lookahead_on p2 x2 x2'); - assert (Some? (p2 x2')); - let (Some v2') = p2 x2' in - let (y2', _) = v2' in - assert (y2 == y2') - in - Classical.move_requires g () - else () - | _ -> () - -let and_then_metadata - (k1 k2: parser_kind_metadata_t) -: Tot parser_kind_metadata_t -= { - parser_kind_metadata_total = k1.parser_kind_metadata_total && k2.parser_kind_metadata_total; - } - -// unfold -let and_then_kind - (k1 k2: parser_kind) -: Tot parser_kind -= { - parser_kind_low = k1.parser_kind_low + k2.parser_kind_low; - parser_kind_high = - begin - if Some? k1.parser_kind_high && Some? k2.parser_kind_high - then Some (Some?.v k1.parser_kind_high + Some?.v k2.parser_kind_high) - else None - end; - parser_kind_metadata = and_then_metadata k1.parser_kind_metadata k2.parser_kind_metadata; - parser_kind_subkind = - begin - if k2.parser_kind_subkind = Some ParserConsumesAll - then Some ParserConsumesAll - else if k1.parser_kind_subkind = Some ParserStrong && k2.parser_kind_subkind = Some ParserStrong - then Some ParserStrong - else if k2.parser_kind_high = Some 0 && k2.parser_kind_subkind = Some ParserStrong - then k1.parser_kind_subkind - else None - end; - } - -let and_then_no_lookahead - (#k: parser_kind) - (#t:Type) - (p:parser k t) - (#k': parser_kind) - (#t':Type) - (p': (t -> Tot (parser k' t'))) -: Lemma - (requires ( - and_then_cases_injective p' - )) - (ensures ((k.parser_kind_subkind == Some ParserStrong /\ k'.parser_kind_subkind == Some ParserStrong) ==> no_lookahead (and_then_bare p p'))) -= if k.parser_kind_subkind = Some ParserStrong && k.parser_kind_subkind = Some ParserStrong then - Classical.forall_intro_2 (fun x -> Classical.move_requires (and_then_no_lookahead_on p p' x)) - else () - -#set-options "--max_fuel 8 --max_ifuel 8 --z3rlimit 64" - -let and_then_correct - (#k: parser_kind) - (#t:Type) - (p:parser k t) - (#k': parser_kind) - (#t':Type) - (p': (t -> Tot (parser k' t'))) -: Lemma - (requires ( - and_then_cases_injective p' - )) - (ensures ( - no_lookahead_weak (and_then_bare p p') /\ - injective (and_then_bare p p') /\ - parser_kind_prop (and_then_kind k k') (and_then_bare p p') - )) -= and_then_no_lookahead_weak p p'; - and_then_injective p p'; - and_then_no_lookahead p p' - -#reset-options - -val and_then - (#k: parser_kind) - (#t:Type) - (p:parser k t) - (#k': parser_kind) - (#t':Type) - (p': (t -> Tot (parser k' t'))) -: Pure (parser (and_then_kind k k') t') - (requires ( - and_then_cases_injective p' - )) - (ensures (fun _ -> True)) - -let and_then #k #t p #k' #t' p' = - let f : bare_parser t' = and_then_bare p p' in - and_then_correct p p' ; - f - -(* Special case for non-dependent parsing *) - -let nondep_then - (#k1: parser_kind) - (#t1: Type0) - (p1: parser k1 t1) - (#k2: parser_kind) - (#t2: Type0) - (p2: parser k2 t2) -: Tot (parser (and_then_kind k1 k2) (t1 * t2)) -= p1 `and_then` (fun v1 -> p2 `and_then` (fun v2 -> (parse_ret (v1, v2)))) - -#set-options "--z3rlimit 32" - -let bare_serialize_nondep_then - (#k1: parser_kind) - (#t1: Type0) - (p1: parser k1 t1) - (s1: serializer p1) - (#k2: parser_kind) - (#t2: Type0) - (p2: parser k2 t2) - (s2: serializer p2) -: Tot (bare_serializer (t1 * t2)) -= fun (x: t1 * t2) -> - let (x1, x2) = x in - Seq.append (s1 x1) (s2 x2) - -let seq_slice_append_l - (#t: Type) - (s1 s2: Seq.seq t) -: Lemma - (Seq.slice (Seq.append s1 s2) 0 (Seq.length s1) == s1) -= assert (Seq.equal (Seq.slice (Seq.append s1 s2) 0 (Seq.length s1)) s1) - -let seq_slice_append_r - (#t: Type) - (s1 s2: Seq.seq t) -: Lemma - (Seq.slice (Seq.append s1 s2) (Seq.length s1) (Seq.length (Seq.append s1 s2)) == s2) -= assert (Seq.equal (Seq.slice (Seq.append s1 s2) (Seq.length s1) (Seq.length (Seq.append s1 s2))) s2) - -let bare_serialize_nondep_then_correct - (#k1: parser_kind) - (#t1: Type0) - (p1: parser k1 t1) - (s1: serializer p1) - (#k2: parser_kind) - (#t2: Type0) - (p2: parser k2 t2) - (s2: serializer p2) -: Lemma - (requires (k1.parser_kind_subkind == Some ParserStrong)) - (ensures (serializer_correct (nondep_then p1 p2) (bare_serialize_nondep_then p1 s1 p2 s2))) -= let prf - (x: t1 * t2) - : Lemma (parse (nondep_then p1 p2) (bare_serialize_nondep_then p1 s1 p2 s2 x) == Some (x, Seq.length (bare_serialize_nondep_then p1 s1 p2 s2 x))) - = let v1' = parse p1 (bare_serialize_nondep_then p1 s1 p2 s2 x) in - let v1 = parse p1 (s1 (fst x)) in - assert (Some? v1); - assert (no_lookahead_on p1 (s1 (fst x)) (bare_serialize_nondep_then p1 s1 p2 s2 x)); - let (Some (_, len')) = parse p1 (s1 (fst x)) in - assert (len' == Seq.length (s1 (fst x))); - assert (len' <= Seq.length (bare_serialize_nondep_then p1 s1 p2 s2 x)); - assert (Seq.slice (s1 (fst x)) 0 len' == s1 (fst x)); - seq_slice_append_l (s1 (fst x)) (s2 (snd x)); - assert (no_lookahead_on_precond p1 (s1 (fst x)) (bare_serialize_nondep_then p1 s1 p2 s2 x)); - assert (no_lookahead_on_postcond p1 (s1 (fst x)) (bare_serialize_nondep_then p1 s1 p2 s2 x)); - assert (Some? v1'); - assert (injective_precond p1 (s1 (fst x)) (bare_serialize_nondep_then p1 s1 p2 s2 x)); - assert (injective_postcond p1 (s1 (fst x)) (bare_serialize_nondep_then p1 s1 p2 s2 x)); - let (Some (x1, len1)) = v1 in - let (Some (x1', len1')) = v1' in - assert (x1 == x1'); - assert ((len1 <: nat) == (len1' <: nat)); - assert (x1 == fst x); - assert (len1 == Seq.length (s1 (fst x))); - assert (bare_serialize_nondep_then p1 s1 p2 s2 x == Seq.append (s1 (fst x)) (s2 (snd x))); - let s = bare_serialize_nondep_then p1 s1 p2 s2 x in - seq_slice_append_r (s1 (fst x)) (s2 (snd x)); - () - in - Classical.forall_intro prf - -let serialize_nondep_then - (#k1: parser_kind) - (#t1: Type0) - (p1: parser k1 t1) - (s1: serializer p1) - (u: unit { k1.parser_kind_subkind == Some ParserStrong } ) - (#k2: parser_kind) - (#t2: Type0) - (p2: parser k2 t2) - (s2: serializer p2) -: Tot (serializer (nondep_then p1 p2)) -= bare_serialize_nondep_then_correct p1 s1 p2 s2; - bare_serialize_nondep_then p1 s1 p2 s2 - - -(** Apply a total transformation on parsed data *) - -let parse_strengthen_prf - (#k: parser_kind) - (#t1: Type0) - (p1: parser k t1) - (p2: t1 -> GTot Type0) -: Tot Type0 -= (xbytes: bytes) -> - (consumed: consumed_length xbytes) -> - (x: t1) -> - Lemma - (requires (parse p1 xbytes == Some (x, consumed))) - (ensures (p2 x)) - -let bare_parse_strengthen - (#k: parser_kind) - (#t1: Type0) - (p1: parser k t1) - (p2: t1 -> GTot Type0) - (prf: parse_strengthen_prf p1 p2) -: Tot (bare_parser (x: t1 { p2 x } )) -= fun (xbytes: bytes) -> - match parse p1 xbytes with - | Some (x, consumed) -> - prf xbytes consumed x; - let (x' : t1 { p2 x' } ) = x in - Some (x', consumed) - | _ -> None - -let bare_parse_strengthen_no_lookahead_weak - (#k: parser_kind) - (#t1: Type0) - (p1: parser k t1) - (p2: t1 -> GTot Type0) - (prf: parse_strengthen_prf p1 p2) -: Lemma - (no_lookahead_weak (bare_parse_strengthen p1 p2 prf)) -= let p' : bare_parser (x: t1 { p2 x } ) = bare_parse_strengthen p1 p2 prf in - assert (forall b1 b2 . no_lookahead_weak_on p1 b1 b2 ==> no_lookahead_weak_on p' b1 b2) - -let bare_parse_strengthen_no_lookahead - (#k: parser_kind) - (#t1: Type0) - (p1: parser k t1) - (p2: t1 -> GTot Type0) - (prf: parse_strengthen_prf p1 p2) -: Lemma - (no_lookahead p1 ==> no_lookahead (bare_parse_strengthen p1 p2 prf)) -= let p' : bare_parser (x: t1 { p2 x } ) = bare_parse_strengthen p1 p2 prf in - assert (forall (b1 b2: bytes) . no_lookahead_on p1 b1 b2 ==> no_lookahead_on p' b1 b2) - -let bare_parse_strengthen_injective - (#k: parser_kind) - (#t1: Type0) - (p1: parser k t1) - (p2: t1 -> GTot Type0) - (prf: parse_strengthen_prf p1 p2) -: Lemma - (injective (bare_parse_strengthen p1 p2 prf)) -= let p' : bare_parser (x: t1 { p2 x } ) = bare_parse_strengthen p1 p2 prf in - assert (forall (b1 b2: bytes) . injective_precond p' b1 b2 ==> injective_precond p1 b1 b2); - assert (forall (b1 b2: bytes) . injective_postcond p1 b1 b2 ==> injective_postcond p' b1 b2) - -let bare_parse_strengthen_correct - (#k: parser_kind) - (#t1: Type0) - (p1: parser k t1) - (p2: t1 -> GTot Type0) - (prf: parse_strengthen_prf p1 p2) -: Lemma - (no_lookahead_weak (bare_parse_strengthen p1 p2 prf) /\ - injective (bare_parse_strengthen p1 p2 prf) /\ - parser_kind_prop k (bare_parse_strengthen p1 p2 prf)) -= bare_parse_strengthen_no_lookahead_weak p1 p2 prf; - bare_parse_strengthen_no_lookahead p1 p2 prf; - bare_parse_strengthen_injective p1 p2 prf; - () - -let parse_strengthen - (#k: parser_kind) - (#t1: Type0) - (p1: parser k t1) - (p2: t1 -> GTot Type0) - (prf: parse_strengthen_prf p1 p2) -: Tot (parser k (x: t1 { p2 x } )) -= bare_parse_strengthen_correct p1 p2 prf; - bare_parse_strengthen p1 p2 prf - -let serialize_strengthen' - (#k: parser_kind) - (#t1: Type0) - (#p1: parser k t1) - (p2: t1 -> GTot Type0) - (prf: parse_strengthen_prf p1 p2) - (s: serializer p1) - (input: t1 { p2 input } ) -: GTot bytes -= serialize s input - -let serialize_strengthen_correct - (#k: parser_kind) - (#t1: Type0) - (#p1: parser k t1) - (p2: t1 -> GTot Type0) - (prf: parse_strengthen_prf p1 p2) - (s: serializer p1) - (input: t1 { p2 input } ) -: Lemma - (let output = serialize_strengthen' p2 prf s input in - parse (parse_strengthen p1 p2 prf) output == Some (input, Seq.length output)) -= () - -let serialize_strengthen - (#k: parser_kind) - (#t1: Type0) - (#p1: parser k t1) - (p2: t1 -> GTot Type0) - (prf: parse_strengthen_prf p1 p2) - (s: serializer p1) -: Tot (serializer (parse_strengthen p1 p2 prf)) -= Classical.forall_intro (serialize_strengthen_correct p2 prf s); - serialize_strengthen' p2 prf s - -/// monadic return for the parser monad -unfold -let parse_fret' (#t #t':Type) (f: t -> GTot t') (v:t) : Tot (bare_parser t') = - fun (b: bytes) -> Some (f v, (0 <: consumed_length b)) - -unfold -let parse_fret (#t #t':Type) (f: t -> GTot t') (v:t) : Tot (parser parse_ret_kind t') = - parse_fret' f v - -let synth_injective - (#t1: Type0) - (#t2: Type0) - (f: (t1 -> GTot t2)) -: GTot Type0 -= forall (x x' : t1) . f x == f x' ==> x == x' - -let synth_injective_intro - (#t1: Type0) - (#t2: Type0) - (f: (t1 -> GTot t2)) -: Lemma - (requires (forall (x x' : t1) . f x == f x' ==> x == x')) - (ensures (synth_injective f)) -= () - -let parse_synth - (#k: parser_kind) - (#t1: Type0) - (#t2: Type0) - (p1: parser k t1) - (f2: t1 -> GTot t2) -: Pure (parser k t2) - (requires ( - synth_injective f2 - )) - (ensures (fun _ -> True)) -= coerce (parser k t2) (and_then p1 (fun v1 -> parse_fret f2 v1)) - -let compose (#t1 #t2 #t3: Type) (f1: t1 -> GTot t2) (f2: t2 -> GTot t3) (x: t1) : GTot t3 = - let y1 = f1 x in - f2 y1 - -let make_total_constant_size_parser_compose - (sz: nat) - (t1 t2: Type0) - (f1: ((s: bytes {Seq.length s == sz}) -> GTot t1)) - (g2: t1 -> GTot t2) -: Lemma - (requires ( - make_total_constant_size_parser_precond sz t1 f1 /\ - (forall x x' . g2 x == g2 x' ==> x == x') - )) - (ensures ( - make_total_constant_size_parser_precond sz t1 f1 /\ - make_total_constant_size_parser_precond sz t2 (f1 `compose` g2) /\ - (forall x x' . g2 x == g2 x' ==> x == x') /\ - (forall input . parse (make_total_constant_size_parser sz t2 (f1 `compose` g2)) input == parse (make_total_constant_size_parser sz t1 f1 `parse_synth` g2) input) - )) -= () - -val bare_serialize_synth - (#k: parser_kind) - (#t1: Type0) - (#t2: Type0) - (p1: parser k t1) - (f2: t1 -> GTot t2) - (s1: serializer p1) - (g1: t2 -> GTot t1) -: Tot (bare_serializer t2) - -let bare_serialize_synth #k #t1 #t2 p1 f2 s1 g1 = - fun (x: t2) -> s1 (g1 x) - -val bare_serialize_synth_correct - (#k: parser_kind) - (#t1: Type0) - (#t2: Type0) - (p1: parser k t1) - (f2: t1 -> GTot t2) - (s1: serializer p1) - (g1: t2 -> GTot t1) -: Lemma - (requires ( - (forall (x : t2) . f2 (g1 x) == x) /\ - (forall (x x' : t1) . f2 x == f2 x' ==> x == x') - )) - (ensures (serializer_correct (parse_synth p1 f2) (bare_serialize_synth p1 f2 s1 g1 ))) - -let bare_serialize_synth_correct #k #t1 #t2 p1 f2 s1 g1 = - () - -let synth_inverse - (#t1: Type0) - (#t2: Type0) - (f2: (t1 -> GTot t2)) - (g1: (t2 -> GTot t1)) -: GTot Type0 -= (forall (x : t2) . f2 (g1 x) == x) - -let synth_inverse_intro - (#t1: Type0) - (#t2: Type0) - (f2: (t1 -> GTot t2)) - (g1: (t2 -> GTot t1)) -: Lemma - (requires (forall (x : t2) . f2 (g1 x) == x)) - (ensures (synth_inverse f2 g1)) -= () - -let serialize_synth - (#k: parser_kind) - (#t1: Type0) - (#t2: Type0) - (p1: parser k t1) - (f2: t1 -> GTot t2) - (s1: serializer p1) - (g1: t2 -> GTot t1) - (u: unit { - synth_inverse f2 g1 /\ - synth_injective f2 - }) -: Tot (serializer (parse_synth p1 f2)) -= bare_serialize_synth_correct p1 f2 s1 g1; - bare_serialize_synth p1 f2 s1 g1 - - -(** Tot vs. Ghost *) - -unfold -let lift_parser' - (#k: parser_kind) - (#t: Type0) - (f: unit -> GTot (parser k t)) -: Tot (bare_parser t) -= fun (input: bytes) -> parse (f ()) input - -let lift_parser_correct - (#k: parser_kind) - (#t: Type0) - (f: unit -> GTot (parser k t)) -: Lemma - (parser_kind_prop k (lift_parser' f)) -= parser_kind_prop_ext k (f ()) (lift_parser' f) - -unfold -let lift_parser - (#k: parser_kind) - (#t: Type0) - (f: unit -> GTot (parser k t)) -: Tot (bare_parser t) -= lift_parser' f - -(** Refinements *) - -// unfold -let parse_filter_kind (k: parser_kind) : Tot parser_kind = - { - parser_kind_low = k.parser_kind_low; - parser_kind_high = k.parser_kind_high; - parser_kind_metadata = { - parser_kind_metadata_total = false; - }; - parser_kind_subkind = k.parser_kind_subkind; - } - -// unfold -let parse_filter_payload_kind : parser_kind = - strong_parser_kind 0 0 ({ - parser_kind_metadata_total = false; - }) - -let parse_filter_payload - (#t: Type0) - (f: (t -> GTot bool)) - (v: t) -: Tot (parser parse_filter_payload_kind (x: t { f x == true })) -= lift_parser (fun () -> - if f v - then - let v' : (x: t { f x == true } ) = v in - weaken parse_filter_payload_kind (parse_ret v') - else fail_parser parse_filter_payload_kind (x: t {f x == true} ) - ) - -let parse_filter - (#k: parser_kind) - (#t: Type0) - (p: parser k t) - (f: (t -> GTot bool)) -: Tot (parser (parse_filter_kind k) (x: t { f x == true })) -= p `and_then` (parse_filter_payload f) - -let serialize_filter' - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) - (f: (t -> GTot bool)) -: Tot (bare_serializer (x: t { f x == true } )) -= fun (input: t { f input == true } ) -> s input - -let serialize_filter_correct - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) - (f: (t -> GTot bool)) -: Lemma - (serializer_correct (parse_filter p f) (serialize_filter' s f)) -= () - -let serialize_filter - (#k: parser_kind) - (#t: Type0) - (#p: parser k t) - (s: serializer p) - (f: (t -> GTot bool)) -: Tot (serializer (parse_filter p f)) -= serialize_filter_correct s f; - serialize_filter' s f - -(* Helpers to define `if` combinators *) - -let cond_true (cond: bool) : Tot Type0 = (u: unit { cond == true } ) - -let cond_false (cond: bool) : Tot Type0 = (u: unit { cond == false } ) diff --git a/examples/lowparse/LowParse.Spec.Combinators.fst.hints b/examples/lowparse/LowParse.Spec.Combinators.fst.hints deleted file mode 100644 index c14e6ddd518..00000000000 --- a/examples/lowparse/LowParse.Spec.Combinators.fst.hints +++ /dev/null @@ -1,3067 +0,0 @@ -[ - "\f•#“ù‰qmä]\u0016\u0010ì\u001ašþ", - [ - [ - "LowParse.Spec.Combinators.make_constant_size_parser_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "7ea62f2217a7baac07ab7c63c6ec949b" - ], - [ - "LowParse.Spec.Combinators.make_constant_size_parser_precond'", - 1, - 2, - 1, - [ "@query" ], - 0, - "cf28d2c93b6a6500c241c462ad29e5cf" - ], - [ - "LowParse.Spec.Combinators.make_constant_size_parser_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_8a6a8e306c1b006b0c3a58b0503be25c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_precond", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_precond_", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_precond_precond", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_c0d9bf6530e83279dcf438ac57e88332", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b" - ], - 0, - "a707a09c51099a85f7b5587430c15e7f" - ], - [ - "LowParse.Spec.Combinators.constant_size_parser_kind", - 1, - 2, - 1, - [ "@query" ], - 0, - "b698ebfc99952865b51203b609b647d2" - ], - [ - "LowParse.Spec.Combinators.make_constant_size_parser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.constant_size_parser_kind", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_c0d9bf6530e83279dcf438ac57e88332", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.make_constant_size_parser_aux" - ], - 0, - "d50abdd3e4fbcd283da3207c57570608" - ], - [ - "LowParse.Spec.Combinators.total_constant_size_parser_kind", - 1, - 2, - 1, - [ "@query" ], - 0, - "80326c6e023fdc16ec940446b86a7f34" - ], - [ - "LowParse.Spec.Combinators.make_total_constant_size_parser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.constant_size_parser_kind", - "equation_LowParse.Spec.Combinators.make_constant_size_parser", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_precond", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_precond_precond", - "equation_LowParse.Spec.Combinators.make_total_constant_size_parser_precond", - "equation_LowParse.Spec.Combinators.total_constant_size_parser_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_c0d9bf6530e83279dcf438ac57e88332", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_b77443c350738a42156b2cb87a0955d1", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Combinators.make_constant_size_parser", - "typing_Tm_abs_031e73223817d0ece5dfc43ac56f64b0" - ], - 0, - "10888a751bb6683489983d2406efa84e" - ], - [ - "LowParse.Spec.Combinators.parse_ret'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length" - ], - 0, - "c5950bf39438290a0e8a949511f0e5f9" - ], - [ - "LowParse.Spec.Combinators.parse_ret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_b6111d469756053729f63e52c18a9eef", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Seq.Base.length", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_Tm_abs_b6111d469756053729f63e52c18a9eef" - ], - 0, - "e1ef3babe580df003bb6cebca6416eba" - ], - [ - "LowParse.Spec.Combinators.serialize_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "function_token_typing_FStar.UInt8.t", - "interpretation_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "typing_FStar.Seq.Base.empty", "unit_inversion", "unit_typing" - ], - 0, - "fa7ab5c60902ef6de39fdd3d64fb24a7" - ], - [ - "LowParse.Spec.Combinators.fail_parser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumes_all", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Combinators.fail_parser_", - "equation_LowParse.Spec.Combinators.fail_parser_kind_precond", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_subkind", - "interpretation_Tm_abs_9f42da36d16dacd7a5ec89a06b3e1741", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind" - ], - 0, - "893bc08700b73ab7fc0b574eee0668e8" - ], - [ - "LowParse.Spec.Combinators.and_then_bare", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "65626f3eefdcc745a2be71ae29cbeddc" - ], - [ - "LowParse.Spec.Combinators.and_then_no_lookahead_weak_on", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_3e6aa714d1f2c3178c395f779a2d91c7", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.parse_ret_kind", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "token_correspondence_LowParse.Spec.Combinators.and_then_bare", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_low", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", "unit_inversion", "unit_typing" - ], - 0, - "69bad9179a7e8914ad26ac759c0ece3c" - ], - [ - "LowParse.Spec.Combinators.and_then_no_lookahead_weak", - 1, - 2, - 1, - [ "@query", "equation_LowParse.Spec.Base.no_lookahead_weak" ], - 0, - "9a2cb0d90423a10f5134d3b3c9871c51" - ], - [ - "LowParse.Spec.Combinators.and_then_cases_injective_precond", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "bbe168021545e1ab742cb2b85dde599f" - ], - [ - "LowParse.Spec.Combinators.and_then_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_3e6aa714d1f2c3178c395f779a2d91c7", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.and_then_cases_injective", - "equation_LowParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.parse_ret_kind", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_cdd15a61a8a8f4424284702869adc760", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_low", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.and_then_bare", "unit_typing" - ], - 0, - "f7b0b298490cc68f0f189cf3b71dbdb4" - ], - [ - "LowParse.Spec.Combinators.and_then_no_lookahead_on", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_3e6aa714d1f2c3178c395f779a2d91c7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "token_correspondence_LowParse.Spec.Combinators.and_then_bare", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", "unit_inversion", "unit_typing" - ], - 0, - "f52870740b8163b9096eaa5ab45d1981" - ], - [ - "LowParse.Spec.Combinators.and_then_kind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_LowParse.Spec.Base.parser_subkind__uu___haseq", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_LowParse.Spec.Base.default_parser_kind", "unit_typing" - ], - 0, - "6b313c92db358270d2833678321d9c9a" - ], - [ - "LowParse.Spec.Combinators.and_then_no_lookahead", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_905b29c5c3a210995c5f7125f83f9112", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_LowParse.Spec.Base.parser_subkind__uu___haseq", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "typing_LowParse.Spec.Base.default_parser_kind", - "typing_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2" - ], - 0, - "721e3753dbbac475e9cc5f4260aab19b" - ], - [ - "LowParse.Spec.Combinators.and_then_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_3e6aa714d1f2c3178c395f779a2d91c7", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_905b29c5c3a210995c5f7125f83f9112", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserConsumesAll", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "data_elim_LowParse.Spec.Base.Mkparser_kind_metadata_t", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserConsumesAll@tok", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.consumes_all", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.and_then_kind", - "equation_LowParse.Spec.Combinators.and_then_metadata", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.serialize_empty", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_metadata_t", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_subkind", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", - "function_token_typing_Prims.unit", "int_inversion", "int_typing", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_metadata", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind_metadata_t__item__parser_kind_metadata_total", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.default_parser_kind", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.and_then_bare", - "typing_LowParse.Spec.Combinators.and_then_kind", - "typing_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", "unit_typing" - ], - 0, - "c21f884966f387a6bb6a5716c90b2f7e" - ], - [ - "LowParse.Spec.Combinators.and_then", - 1, - 2, - 1, - [ "@query" ], - 0, - "b37a90c63991f9d81931d251dcc35f89" - ], - [ - "LowParse.Spec.Combinators.nondep_then", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "data_elim_LowParse.Spec.Base.Mkparser_kind_metadata_t", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserConsumesAll@tok", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.and_then_cases_injective", - "equation_LowParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_LowParse.Spec.Combinators.and_then_kind", - "equation_LowParse.Spec.Combinators.and_then_metadata", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_metadata_t", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_subkind", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_5cfd6f14e075df50dc37e23a9e74eefd", - "interpretation_Tm_abs_be66d10ad80de3b214e3b36ea4778d09", - "interpretation_Tm_abs_d9c529ae48a75124fa8e8239377e2246", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_metadata", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.default_parser_kind", - "typing_LowParse.Spec.Base.parse", "unit_typing" - ], - 0, - "abdc2d6028aedacbc043c760dc47d510" - ], - [ - "LowParse.Spec.Combinators.seq_slice_append_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "e739189794c6adaf68a5a653f3943f39" - ], - [ - "LowParse.Spec.Combinators.seq_slice_append_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "22cdda83172fd202bd8e7a7ffe7e5198" - ], - [ - "LowParse.Spec.Combinators.bare_serialize_nondep_then_correct", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_907f30fa069e61f143dbf08ac9ae3ca1", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_9282761996dfe39ad973acf655f3ea23", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.bare_serialize_nondep_then", - "equation_LowParse.Spec.Combinators.nondep_then", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.Spec.Combinators.bare_serialize_nondep_then", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5cfd6f14e075df50dc37e23a9e74eefd", - "interpretation_Tm_abs_7a0e33e14cdeb4ac679234621cfa867c", - "interpretation_Tm_abs_be66d10ad80de3b214e3b36ea4778d09", - "interpretation_Tm_abs_d9c529ae48a75124fa8e8239377e2246", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "token_correspondence_LowParse.Spec.Combinators.bare_serialize_nondep_then", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.parse", - "typing_Tm_abs_7a0e33e14cdeb4ac679234621cfa867c", - "typing_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", "unit_typing" - ], - 0, - "c472cb7806a1e02469ff53e82ca56a34" - ], - [ - "LowParse.Spec.Combinators.serialize_nondep_then", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_30ed63538295cfbee9638b7c92f49ab3" - ], - 0, - "e5d9857fbf4184ee7690a2ea3743c498" - ], - [ - "LowParse.Spec.Combinators.bare_parse_strengthen", - 1, - 2, - 1, - [ "@query" ], - 0, - "8570234144bed9978428be87d75c6aae" - ], - [ - "LowParse.Spec.Combinators.bare_parse_strengthen_no_lookahead_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Combinators.bare_parse_strengthen", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "interpretation_Tm_abs_dbb2af12cfd877ec7d17efc40657ee06", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_kinding_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.bare_parse_strengthen" - ], - 0, - "939d4728f31993aa2ba31d0c9d481985" - ], - [ - "LowParse.Spec.Combinators.bare_parse_strengthen_no_lookahead", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Combinators.bare_parse_strengthen", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "interpretation_Tm_abs_dbb2af12cfd877ec7d17efc40657ee06", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_kinding_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.bare_parse_strengthen" - ], - 0, - "29a7afda112ce42f413fbb9bd5021204" - ], - [ - "LowParse.Spec.Combinators.bare_parse_strengthen_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_8d6bf589b02057881481dc95ae5fbec5", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Combinators.bare_parse_strengthen", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "interpretation_Tm_abs_dbb2af12cfd877ec7d17efc40657ee06", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "typing_LowParse.Spec.Base.parse", - "typing_Tm_abs_dbb2af12cfd877ec7d17efc40657ee06" - ], - 0, - "0a6370eac6562739b3b53b95adaa9662" - ], - [ - "LowParse.Spec.Combinators.bare_parse_strengthen_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.consumes_all", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.bare_parse_strengthen", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_subkind", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_dbb2af12cfd877ec7d17efc40657ee06", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.bare_parse_strengthen", - "unit_typing" - ], - 0, - "5d43b5594abc801d10d096a03ed7ce27" - ], - [ - "LowParse.Spec.Combinators.parse_strengthen", - 1, - 2, - 1, - [ "@query" ], - 0, - "6ac54cd0dab12523268f8cfa1fbc3300" - ], - [ - "LowParse.Spec.Combinators.serialize_strengthen_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.bytes", "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serialize", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Combinators.bare_parse_strengthen", - "equation_LowParse.Spec.Combinators.parse_strengthen", - "equation_LowParse.Spec.Combinators.serialize_strengthen_", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "interpretation_Tm_abs_dbb2af12cfd877ec7d17efc40657ee06", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "e71cdcfd3384d78519eb79747260b61a" - ], - [ - "LowParse.Spec.Combinators.serialize_strengthen", - 1, - 2, - 1, - [ - "@query", "equation_LowParse.Spec.Base.serializer_correct", - "token_correspondence_LowParse.Spec.Combinators.serialize_strengthen_" - ], - 0, - "6a5b8f4aa1768da595db29e5cbadac49" - ], - [ - "LowParse.Spec.Combinators.parse_fret'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length" - ], - 0, - "c5c0d46394de9189382fc59660df0b69" - ], - [ - "LowParse.Spec.Combinators.parse_fret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Seq.Base.length", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_Tm_abs_374466a0386d85a91ec68353d2b6cf25" - ], - 0, - "35938bfba630832b80eb46b8074ab8a4" - ], - [ - "LowParse.Spec.Combinators.synth_injective_intro", - 1, - 2, - 1, - [ "@query", "equation_LowParse.Spec.Combinators.synth_injective" ], - 0, - "889b468762d84b99a304979f03a05b43" - ], - [ - "LowParse.Spec.Combinators.parse_synth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserConsumesAll", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "data_elim_LowParse.Spec.Base.Mkparser_kind_metadata_t", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserConsumesAll@tok", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then_cases_injective", - "equation_LowParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_LowParse.Spec.Combinators.and_then_kind", - "equation_LowParse.Spec.Combinators.and_then_metadata", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_metadata_t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.parse_ret_kind", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "interpretation_Tm_abs_657f06e32b1c0f5168c9a51919755de8", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_metadata", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.default_parser_kind", - "typing_LowParse.Spec.Combinators.and_then_kind", "unit_typing" - ], - 0, - "37a082803ecb233d1229807ed82af54b" - ], - [ - "LowParse.Spec.Combinators.make_total_constant_size_parser_compose", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_d726b863a7974ee0a6f5595873bb4abe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.compose", - "equation_LowParse.Spec.Combinators.make_constant_size_parser", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_LowParse.Spec.Combinators.make_total_constant_size_parser", - "equation_LowParse.Spec.Combinators.make_total_constant_size_parser_precond", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.parse_synth", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Combinators.total_constant_size_parser_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "int_inversion", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "interpretation_Tm_abs_657f06e32b1c0f5168c9a51919755de8", - "interpretation_Tm_abs_c0d9bf6530e83279dcf438ac57e88332", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "partial_app_typing_804319db7dcfa82d70c4ae38bef40b6e", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_86e4b3a0d920b78e1ed344e9871a8fab", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d6b413f8c7f2a4d33220c4042f8100fb", - "token_correspondence_LowParse.Spec.Combinators.compose", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "typing_LowParse.Spec.Combinators.make_total_constant_size_parser", - "typing_LowParse.Spec.Combinators.parse_synth", - "typing_LowParse.Spec.Combinators.total_constant_size_parser_kind", - "typing_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "typing_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", "unit_typing" - ], - 0, - "11bfd6532813ec6dbb999abbddda6f2e" - ], - [ - "LowParse.Spec.Combinators.bare_serialize_synth_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "l_quant_interp_7cc3d9ede2bd14b4670839b44db0e745", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "56b2964b2c1a76648432a20ffab2d32b" - ], - [ - "LowParse.Spec.Combinators.bare_serialize_synth_correct", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.bare_serialize_synth", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.parse_synth", - "equation_LowParse.Spec.Combinators.serialize_empty", - "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "interpretation_Tm_abs_45bc106d66ff9e2c3c9f4100524b39b3", - "interpretation_Tm_abs_657f06e32b1c0f5168c9a51919755de8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Seq.Base.length", - "typing_LowParse.Spec.Combinators.bare_serialize_synth" - ], - 0, - "04887f1844f2c7c08272621a9fcb1471" - ], - [ - "LowParse.Spec.Combinators.synth_inverse_intro", - 1, - 2, - 1, - [ "@query", "equation_LowParse.Spec.Combinators.synth_inverse" ], - 0, - "742fbe102a02616da71008ec9ecde08d" - ], - [ - "LowParse.Spec.Combinators.serialize_synth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Combinators.synth_inverse", - "refinement_interpretation_Tm_refine_771453e5024aef25c5affda17b912259" - ], - 0, - "3ae0ea9bdd6f6f1d15d4560faa96713f" - ], - [ - "LowParse.Spec.Combinators.lift_parser_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_905b29c5c3a210995c5f7125f83f9112", - "equation_LowParse.Bytes.bytes", "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "interpretation_Tm_abs_a0e42c33949b7a30f3ae4258d9f5be76", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "unit_typing" - ], - 0, - "33ecdd58e4e0e368877ebce59dd5b7a6" - ], - [ - "LowParse.Spec.Combinators.parse_filter_kind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser_kind", "equation_Prims.nat", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "6811f94e886dc79eafcb1e2fb466e0e1" - ], - [ - "LowParse.Spec.Combinators.parse_filter_payload", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.is_weaker_than", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.fail_parser", - "equation_LowParse.Spec.Combinators.fail_parser_", - "equation_LowParse.Spec.Combinators.fail_parser_kind_precond", - "equation_LowParse.Spec.Combinators.parse_filter_payload_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "interpretation_Tm_abs_3b5e1bbd42cfa251bdbd2bf59972d742", - "interpretation_Tm_abs_9f42da36d16dacd7a5ec89a06b3e1741", - "lemma_FStar.Seq.Properties.slice_is_empty", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "typing_FStar.Seq.Base.length", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_low", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.parse_filter_payload_kind" - ], - 0, - "7a35d0c5bf977052e61aa59437403965" - ], - [ - "LowParse.Spec.Combinators.parse_filter", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_9c795ec7f5fe418d56fb5d7155b60d2f", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserConsumesAll", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserConsumesAll@tok", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then_cases_injective", - "equation_LowParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_LowParse.Spec.Combinators.and_then_kind", - "equation_LowParse.Spec.Combinators.and_then_metadata", - "equation_LowParse.Spec.Combinators.fail_parser", - "equation_LowParse.Spec.Combinators.fail_parser_", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_filter_kind", - "equation_LowParse.Spec.Combinators.parse_filter_payload", - "equation_LowParse.Spec.Combinators.parse_filter_payload_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_subkind", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "interpretation_Tm_abs_3b5e1bbd42cfa251bdbd2bf59972d742", - "interpretation_Tm_abs_9f42da36d16dacd7a5ec89a06b3e1741", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_LowParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.default_parser_kind", - "typing_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "typing_tok_LowParse.Spec.Base.ParserStrong@tok", "unit_typing" - ], - 0, - "0455da4cbe6a6b540eb6605a9868b3ca" - ], - [ - "LowParse.Spec.Combinators.serialize_filter_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_d2f99ede906c7fc3c3a038279a176954", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "equation_LowParse.Bytes.byte", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.bare_serializer", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_filter", - "equation_LowParse.Spec.Combinators.parse_filter_kind", - "equation_LowParse.Spec.Combinators.parse_filter_payload", - "equation_LowParse.Spec.Combinators.parse_filter_payload_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.serialize_empty", - "equation_LowParse.Spec.Combinators.serialize_filter_", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.Spec.Combinators.parse_filter_payload", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "interpretation_Tm_abs_3b5e1bbd42cfa251bdbd2bf59972d742", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "token_correspondence_LowParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Seq.Base.length", "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.parse_filter", - "typing_LowParse.Spec.Combinators.serialize_filter_", "unit_typing" - ], - 0, - "51d2c4a393c152e1eae8fa608be24b26" - ], - [ - "LowParse.Spec.Combinators.serialize_filter", - 1, - 2, - 1, - [ "@query" ], - 0, - "4e051500839ddcde7880bb59515d6199" - ], - [ - "LowParse.Spec.Combinators.make_constant_size_parser_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "d2488d4ebab083f6e486574248438d53" - ], - [ - "LowParse.Spec.Combinators.make_constant_size_parser_precond'", - 2, - 2, - 1, - [ "@query" ], - 0, - "e755ad8e0ce2c56e4698d4d56f494c58" - ], - [ - "LowParse.Spec.Combinators.constant_size_parser_kind", - 2, - 2, - 1, - [ "@query" ], - 0, - "1862b810664cc217f2a91461a0353b2c" - ], - [ - "LowParse.Spec.Combinators.make_constant_size_parser", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.constant_size_parser_kind", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_c0d9bf6530e83279dcf438ac57e88332", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.make_constant_size_parser_aux" - ], - 0, - "7937f232f48eacfc2b1bca7e4977c39a" - ], - [ - "LowParse.Spec.Combinators.total_constant_size_parser_kind", - 2, - 2, - 1, - [ "@query" ], - 0, - "bf9cc2243e53950a1e6ac81f31bf7c00" - ], - [ - "LowParse.Spec.Combinators.make_total_constant_size_parser", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.constant_size_parser_kind", - "equation_LowParse.Spec.Combinators.make_constant_size_parser", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_precond", - "equation_LowParse.Spec.Combinators.make_constant_size_parser_precond_precond", - "equation_LowParse.Spec.Combinators.make_total_constant_size_parser_precond", - "equation_LowParse.Spec.Combinators.total_constant_size_parser_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_inversion", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_c0d9bf6530e83279dcf438ac57e88332", - "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_b77443c350738a42156b2cb87a0955d1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_LowParse.Spec.Combinators.make_constant_size_parser", - "typing_Tm_abs_031e73223817d0ece5dfc43ac56f64b0" - ], - 0, - "45d6ef9add2ab087f2b3a7c271051823" - ], - [ - "LowParse.Spec.Combinators.parse_ret'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length" - ], - 0, - "dbd5bcfed4f01c317001b6a3d9a55980" - ], - [ - "LowParse.Spec.Combinators.parse_ret", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_b6111d469756053729f63e52c18a9eef", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Seq.Base.length", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_Tm_abs_b6111d469756053729f63e52c18a9eef" - ], - 0, - "36f90986e07da7d0b6c60732ea646a95" - ], - [ - "LowParse.Spec.Combinators.serialize_empty", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "function_token_typing_FStar.UInt8.t", - "interpretation_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "typing_FStar.Seq.Base.empty", "unit_inversion", "unit_typing" - ], - 0, - "14ff801762f774c69c5155da313b1873" - ], - [ - "LowParse.Spec.Combinators.fail_parser", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumes_all", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Combinators.fail_parser_", - "equation_LowParse.Spec.Combinators.fail_parser_kind_precond", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_subkind", - "interpretation_Tm_abs_9f42da36d16dacd7a5ec89a06b3e1741", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind" - ], - 0, - "34854246cab378e6ee07acbc6ec5f02c" - ], - [ - "LowParse.Spec.Combinators.and_then_bare", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "7703d5baf0456940f408bd79f5d69c33" - ], - [ - "LowParse.Spec.Combinators.and_then_cases_injective_precond", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.consumed_length" - ], - 0, - "93197c70b5110e21d247ed8cda4047b5" - ], - [ - "LowParse.Spec.Combinators.and_then_kind", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_LowParse.Spec.Base.parser_subkind__uu___haseq", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_LowParse.Spec.Base.default_parser_kind", "unit_typing" - ], - 0, - "a07f061b50829630c1fc51beec215431" - ], - [ - "LowParse.Spec.Combinators.and_then", - 2, - 2, - 1, - [ "@query" ], - 0, - "edd3badb2d2168050cf10ba997a6e0c0" - ], - [ - "LowParse.Spec.Combinators.nondep_then", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "data_elim_LowParse.Spec.Base.Mkparser_kind_metadata_t", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserConsumesAll@tok", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.and_then_cases_injective", - "equation_LowParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_LowParse.Spec.Combinators.and_then_kind", - "equation_LowParse.Spec.Combinators.and_then_metadata", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_metadata_t", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_subkind", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_5cfd6f14e075df50dc37e23a9e74eefd", - "interpretation_Tm_abs_be66d10ad80de3b214e3b36ea4778d09", - "interpretation_Tm_abs_d9c529ae48a75124fa8e8239377e2246", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "kinding_LowParse.Spec.Base.parser_subkind@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_metadata", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.default_parser_kind", - "typing_LowParse.Spec.Base.parse", "unit_typing" - ], - 0, - "6d91b03938a627d845e1f68b8dda9aa7" - ], - [ - "LowParse.Spec.Combinators.seq_slice_append_l", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length" - ], - 0, - "4bcfc7bddab6bae99416ce1b9f897004" - ], - [ - "LowParse.Spec.Combinators.seq_slice_append_r", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length" - ], - 0, - "3f94bf6bdcf36fbf9da3f8b161a7cea9" - ], - [ - "LowParse.Spec.Combinators.serialize_nondep_then", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_30ed63538295cfbee9638b7c92f49ab3" - ], - 0, - "cb0923f06b32749d5250f94011a5caaf" - ], - [ - "LowParse.Spec.Combinators.bare_parse_strengthen", - 2, - 2, - 1, - [ "@query" ], - 0, - "a833dd10fb87fb21e20e7f5925775b9f" - ], - [ - "LowParse.Spec.Combinators.parse_strengthen", - 2, - 2, - 1, - [ "@query" ], - 0, - "63073bc204e252d65a5c75409960d1a8" - ], - [ - "LowParse.Spec.Combinators.serialize_strengthen_correct", - 2, - 2, - 1, - [ "@query" ], - 0, - "b55714722e98bc9a25125a6f988ea5e6" - ], - [ - "LowParse.Spec.Combinators.serialize_strengthen", - 2, - 2, - 1, - [ - "@query", "equation_LowParse.Spec.Base.serializer_correct", - "token_correspondence_LowParse.Spec.Combinators.serialize_strengthen_" - ], - 0, - "f72ada7758a0cb67c7dc5a69d7434eb9" - ], - [ - "LowParse.Spec.Combinators.parse_fret'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length" - ], - 0, - "2c24930aa76e99b12948dc8024aa5b6e" - ], - [ - "LowParse.Spec.Combinators.parse_fret", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Seq.Base.length", - "typing_LowParse.Spec.Base.consumed_length", - "typing_LowParse.Spec.Base.parse", - "typing_Tm_abs_374466a0386d85a91ec68353d2b6cf25" - ], - 0, - "2e602f88b0ec0db2816acced809121ba" - ], - [ - "LowParse.Spec.Combinators.parse_synth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserConsumesAll", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "data_elim_LowParse.Spec.Base.Mkparser_kind_metadata_t", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserConsumesAll@tok", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then_cases_injective", - "equation_LowParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_LowParse.Spec.Combinators.and_then_kind", - "equation_LowParse.Spec.Combinators.and_then_metadata", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_metadata_t", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "interpretation_Tm_abs_657f06e32b1c0f5168c9a51919755de8", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_metadata", - "typing_LowParse.Spec.Base.default_parser_kind", "unit_typing" - ], - 0, - "ff8333d55754dc0499bc1dffa04cba03" - ], - [ - "LowParse.Spec.Combinators.make_total_constant_size_parser_compose", - 2, - 2, - 1, - [ "@query", "equation_LowParse.Spec.Combinators.synth_injective" ], - 0, - "5d8861e5f5c1583799e9a244663bc587" - ], - [ - "LowParse.Spec.Combinators.bare_serialize_synth_correct", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "l_quant_interp_7cc3d9ede2bd14b4670839b44db0e745", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "d5e575bbfadafaf7805603bff94ed562" - ], - [ - "LowParse.Spec.Combinators.serialize_synth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Combinators.synth_inverse", - "refinement_interpretation_Tm_refine_771453e5024aef25c5affda17b912259" - ], - 0, - "b17514f981c5968295ed0acc7c7f55c3" - ], - [ - "LowParse.Spec.Combinators.serialize_synth", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_771453e5024aef25c5affda17b912259" - ], - 0, - "89791750ceaa248ae5b4280eb19f8f65" - ], - [ - "LowParse.Spec.Combinators.parse_filter_kind", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Base.parser_kind", "equation_Prims.nat", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf" - ], - 0, - "c83d6da11f000049c1735917da026dca" - ], - [ - "LowParse.Spec.Combinators.parse_filter_payload", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowParse.Spec.Base_pretyping_e24e8cabdb5c58cdc1d812d5f6f285ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_LowParse.Spec.Base.ParserConsumesAll@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.injective", - "equation_LowParse.Spec.Base.injective_postcond", - "equation_LowParse.Spec.Base.injective_precond", - "equation_LowParse.Spec.Base.is_weaker_than", - "equation_LowParse.Spec.Base.no_lookahead", - "equation_LowParse.Spec.Base.no_lookahead_on", - "equation_LowParse.Spec.Base.no_lookahead_on_postcond", - "equation_LowParse.Spec.Base.no_lookahead_on_precond", - "equation_LowParse.Spec.Base.no_lookahead_weak", - "equation_LowParse.Spec.Base.no_lookahead_weak_on", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.parser_subkind_prop", - "equation_LowParse.Spec.Base.parses_at_least", - "equation_LowParse.Spec.Base.parses_at_most", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.fail_parser", - "equation_LowParse.Spec.Combinators.fail_parser_", - "equation_LowParse.Spec.Combinators.fail_parser_kind_precond", - "equation_LowParse.Spec.Combinators.parse_filter_payload_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "interpretation_Tm_abs_3b5e1bbd42cfa251bdbd2bf59972d742", - "interpretation_Tm_abs_9f42da36d16dacd7a5ec89a06b3e1741", - "lemma_FStar.Seq.Properties.slice_is_empty", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "typing_FStar.Seq.Base.length", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_low", - "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.parse_filter_payload_kind" - ], - 0, - "8fbd5b5a475d4c2b07e8863584932617" - ], - [ - "LowParse.Spec.Combinators.parse_filter", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_9c795ec7f5fe418d56fb5d7155b60d2f", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LowParse.Spec.Base.ParserConsumesAll", - "constructor_distinct_LowParse.Spec.Base.ParserStrong", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_LowParse.Spec.Base.Mkparser_kind_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_LowParse.Spec.Base.ParserConsumesAll@tok", - "equality_tok_LowParse.Spec.Base.ParserStrong@tok", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.consumed_length", - "equation_LowParse.Spec.Base.default_parser_kind", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.and_then_cases_injective", - "equation_LowParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_LowParse.Spec.Combinators.and_then_kind", - "equation_LowParse.Spec.Combinators.and_then_metadata", - "equation_LowParse.Spec.Combinators.fail_parser", - "equation_LowParse.Spec.Combinators.fail_parser_", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_filter_kind", - "equation_LowParse.Spec.Combinators.parse_filter_payload", - "equation_LowParse.Spec.Combinators.parse_filter_payload_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_subkind", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "interpretation_Tm_abs_3b5e1bbd42cfa251bdbd2bf59972d742", - "interpretation_Tm_abs_9f42da36d16dacd7a5ec89a06b3e1741", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_subkind", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_LowParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_high", - "typing_LowParse.Spec.Base.__proj__Mkparser_kind___item__parser_kind_subkind", - "typing_LowParse.Spec.Base.default_parser_kind", - "typing_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "typing_tok_LowParse.Spec.Base.ParserStrong@tok", "unit_typing" - ], - 0, - "9e202ef6e6675d4fe72eef4d23a391ae" - ], - [ - "LowParse.Spec.Combinators.serialize_filter", - 2, - 2, - 1, - [ "@query" ], - 0, - "72e07ae1b94fabb812ff4737e3368cd7" - ] - ] -] \ No newline at end of file diff --git a/examples/lowparse/LowParse.Spec.Enum.fst b/examples/lowparse/LowParse.Spec.Enum.fst deleted file mode 100644 index ab5742c29d4..00000000000 --- a/examples/lowparse/LowParse.Spec.Enum.fst +++ /dev/null @@ -1,375 +0,0 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) -module LowParse.Spec.Enum -include LowParse.Spec.Combinators - -module L = FStar.List.Tot - -inline_for_extraction -let eqtype : Type u#1 = (t: Type0 { hasEq t } ) -// eqtype u#0 // does not extract to OCaml - -noeq -type norm_t : Type0 = | Norm - -[@Norm] -let rec list_map - (#a #b: Type) - (f: (a -> Tot b)) - (l: list a) -: Tot (l' : list b { l' == L.map f l } ) -= match l with - | [] -> [] - | a :: q -> f a :: list_map f q - -type enum (key: eqtype) (repr: eqtype) = (l: list (key * repr) { - L.noRepeats (list_map fst l) /\ - L.noRepeats (list_map snd l) -}) - -[@Norm] -let rec list_mem - (#t: eqtype) - (x: t) - (l: list t) -: Tot (y: bool { y == true <==> L.mem x l == true } ) -= match l with - | [] -> false - | a :: q -> (x = a || list_mem x q) - -let norm_spec - (#t: Type) - (x: t) -: Lemma - (norm [delta_attr [`%Norm]; iota; zeta; primops] x == x) -= norm_spec [delta_attr [`%Norm]; iota; zeta; primops] x - -inline_for_extraction -let enum_key (#key #repr: eqtype) (e: enum key repr) : Tot eqtype = (s: key { list_mem s (list_map fst e) } ) - -inline_for_extraction -let enum_repr (#key #repr: eqtype) (e: enum key repr) : Tot eqtype = (r: repr { list_mem r (list_map snd e) } ) - -let flip (#a #b: Type) (c: (a * b)) : Tot (b * a) = let (ca, cb) = c in (cb, ca) - -let rec map_flip_flip (#a #b: Type) (l: list (a * b)) : Lemma - (list_map flip (list_map flip l) == l) -= match l with - | [] -> () - | _ :: q -> map_flip_flip q - -let rec map_fst_flip (#a #b: Type) (l: list (a * b)) : Lemma - (list_map fst (list_map flip l) == list_map snd l) -= match l with - | [] -> () - | _ :: q -> map_fst_flip q - -let rec map_snd_flip (#a #b: Type) (l: list (a * b)) : Lemma - (list_map snd (list_map flip l) == list_map fst l) -= match l with - | [] -> () - | _ :: q -> map_snd_flip q - -let rec assoc_mem_snd - (#a #b: eqtype) - (l: list (a * b)) - (x: a) - (y: b) -: Lemma - (requires (L.assoc x l == Some y)) - (ensures (list_mem y (list_map snd l) == true)) - (decreases l) -= let ((x', y') :: l') = l in - if x' = x - then () - else assoc_mem_snd l' x y - -let rec assoc_flip_elim - (#a #b: eqtype) - (l: list (a * b)) - (y: b) - (x: a) -: Lemma - (requires ( - L.noRepeats (list_map fst l) /\ - L.noRepeats (list_map snd l) /\ - L.assoc y (list_map flip l) == Some x - )) - (ensures ( - L.assoc x l == Some y - )) - (decreases l) -= let ((x', y') :: l') = l in - if y' = y - then () - else begin - if x' = x - then begin - assert (list_mem x' (list_map fst l') == false); - assoc_mem_snd (list_map flip l') y x; - map_snd_flip l'; - assert False - end - else - assoc_flip_elim l' y x - end - -let rec assoc_flip_intro - (#a #b: eqtype) - (l: list (a * b)) - (y: b) - (x: a) -: Lemma - (requires ( - L.noRepeats (list_map fst l) /\ - L.noRepeats (list_map snd l) /\ - L.assoc x l == Some y - )) - (ensures ( - L.assoc y (list_map flip l) == Some x - )) -= map_fst_flip l; - map_snd_flip l; - map_flip_flip l; - assoc_flip_elim (list_map flip l) x y - -let enum_key_of_repr - (#key #repr: eqtype) - (e: enum key repr) - (r: enum_repr e) -: Pure (enum_key e) - (requires True) - (ensures (fun y -> L.assoc y e == Some r)) -= map_fst_flip e; - let e' = list_map flip e in - L.assoc_mem r e'; - let k = Some?.v (L.assoc r e') in - assoc_flip_elim e r k; - L.assoc_mem k e; - (k <: enum_key e) - -let parse_enum_key - (#k: parser_kind) - (#key #repr: eqtype) - (p: parser k repr) - (e: enum key repr) -: Tot (parser (parse_filter_kind k) (enum_key e)) -= (p - `parse_filter` - (fun (r: repr) -> list_mem r (list_map snd e)) - ) - `parse_synth` - (fun (x: repr {list_mem x (list_map snd e) == true}) -> enum_key_of_repr e x) - -let enum_repr_of_key - (#key #repr: eqtype) - (e: enum key repr) - (k: enum_key e) -: Pure (enum_repr e) - (requires True) - (ensures (fun r -> L.assoc k e == Some r)) -= L.assoc_mem k e; - let r = Some?.v (L.assoc k e) in - assoc_flip_intro e r k; - L.assoc_mem r (list_map flip e); - map_fst_flip e; - (r <: enum_repr e) - -let enum_repr_of_key_of_repr - (#key #repr: eqtype) - (e: enum key repr) - (r: enum_repr e) -: Lemma - (enum_repr_of_key e (enum_key_of_repr e r) == r) -= () - -let enum_key_of_repr_of_key - (#key #repr: eqtype) - (e: enum key repr) - (k: enum_key e) -: Lemma - (enum_key_of_repr e (enum_repr_of_key e k) == k) -= assoc_flip_intro e (enum_repr_of_key e k) k - -let bare_serialize_enum_key - (#k: parser_kind) - (#key #repr: eqtype) - (p: parser k repr) - (s: serializer p) - (e: enum key repr) -: Tot (bare_serializer (enum_key e)) -= fun (k: enum_key e) -> s (enum_repr_of_key e k) - -#set-options "--z3rlimit 32" - -let bare_serialize_enum_key_correct - (#k: parser_kind) - (#key #repr: eqtype) - (p: parser k repr) - (s: serializer p) - (e: enum key repr) -: Lemma - (serializer_correct (parse_enum_key p e) (bare_serialize_enum_key p s e)) -= Classical.forall_intro (enum_key_of_repr_of_key e) - -#reset-options - -let serialize_enum_key - (#k: parser_kind) - (#key #repr: eqtype) - (p: parser k repr) - (s: serializer p) - (e: enum key repr) -: Tot (serializer (parse_enum_key p e)) -= bare_serialize_enum_key_correct p s e; - bare_serialize_enum_key p s e - -inline_for_extraction -let unknown_enum_repr (#key #repr: eqtype) (e: enum key repr) : Tot Type0 = - (r: repr { list_mem r (list_map snd e) == false } ) - -type maybe_enum_key (#key #repr: eqtype) (e: enum key repr) = -| Known of (enum_key e) -| Unknown of (unknown_enum_repr e) - -let maybe_enum_key_of_repr - (#key #repr: eqtype) - (e: enum key repr) - (r: repr) -: Tot (maybe_enum_key e) -= if list_mem r (list_map snd e) - then Known (enum_key_of_repr e r) - else Unknown r - -let parse_maybe_enum_key - (#k: parser_kind) - (#key #repr: eqtype) - (p: parser k repr) - (e: enum key repr) -: Tot (parser k (maybe_enum_key e)) -= p `parse_synth` (maybe_enum_key_of_repr e) - -let repr_of_maybe_enum_key - (#key #repr: eqtype) - (e: enum key repr) - (x: maybe_enum_key e) -: Tot (r: repr { maybe_enum_key_of_repr e r == x } ) -= match x with - | Known k' -> - enum_key_of_repr_of_key e k' ; - enum_repr_of_key e k' - | Unknown r -> r - -let serialize_maybe_enum_key - (#k: parser_kind) - (#key #repr: eqtype) - (p: parser k repr) - (s: serializer p) - (e: enum key repr) -: Tot (serializer (parse_maybe_enum_key p e)) -= serialize_synth p (maybe_enum_key_of_repr e) s (repr_of_maybe_enum_key e) () - -let is_total_enum (#key: eqtype) (#repr: eqtype) (l: list (key * repr)) : GTot Type0 = - forall (k: key) . list_mem k (list_map fst l) - -let total_enum (key: eqtype) (repr: eqtype) : Tot eqtype = - (l: enum key repr { is_total_enum l } ) - -let synth_total_enum_key - (#key: eqtype) - (#repr: eqtype) - (l: total_enum key repr) - (k: enum_key l) -: Tot key -= let k' : key = k in - k' - -let parse_total_enum_key - (#k: parser_kind) - (#key: eqtype) - (#repr: eqtype) - (p: parser k repr) - (l: total_enum key repr) -: Tot (parser (parse_filter_kind k) key) -= parse_enum_key p l `parse_synth` (synth_total_enum_key l) - -let synth_total_enum_key_recip - (#key: eqtype) - (#repr: eqtype) - (l: total_enum key repr) - (k: key) -: Tot (k' : enum_key l { synth_total_enum_key l k' == k } ) -= k - -let serialize_total_enum_key - (#k: parser_kind) - (#key: eqtype) - (#repr: eqtype) - (p: parser k repr) - (s: serializer p) - (l: total_enum key repr) -: Tot (serializer (parse_total_enum_key p l)) -= serialize_synth (parse_enum_key p l) (synth_total_enum_key l) (serialize_enum_key p s l) (synth_total_enum_key_recip l) () - -type maybe_total_enum_key (#key #repr: eqtype) (e: total_enum key repr) = -| TotalKnown of key -| TotalUnknown of (unknown_enum_repr e) - -let maybe_total_enum_key_of_repr - (#key #repr: eqtype) - (e: total_enum key repr) - (r: repr) -: Tot (maybe_total_enum_key e) -= if list_mem r (list_map snd e) - then TotalKnown (enum_key_of_repr e r) - else TotalUnknown r - -let parse_maybe_total_enum_key - (#k: parser_kind) - (#key #repr: eqtype) - (p: parser k repr) - (e: total_enum key repr) -: Tot (parser k (maybe_total_enum_key e)) -= p `parse_synth` (maybe_total_enum_key_of_repr e) - -let repr_of_maybe_total_enum_key - (#key #repr: eqtype) - (e: total_enum key repr) - (k: maybe_total_enum_key e) -: Tot (r: repr { maybe_total_enum_key_of_repr e r == k } ) -= match k with - | TotalKnown k' -> - enum_key_of_repr_of_key e k' ; - enum_repr_of_key e k' - | TotalUnknown r -> r - -let serialize_maybe_total_enum_key - (#k: parser_kind) - (#key #repr: eqtype) - (p: parser k repr) - (s: serializer p) - (e: total_enum key repr) -: Tot (serializer (parse_maybe_total_enum_key p e)) -= serialize_synth p (maybe_total_enum_key_of_repr e) s (repr_of_maybe_total_enum_key e) () - -let weaken_maybe_enum_key - (#key #repr: eqtype) - (e: total_enum key repr) - (k: maybe_total_enum_key e) -: Tot (maybe_enum_key e) -= match k with - | TotalKnown ek -> Known (ek <: key) - | TotalUnknown r -> Unknown r diff --git a/examples/lowparse/LowParse.Spec.Enum.fst.hints b/examples/lowparse/LowParse.Spec.Enum.fst.hints deleted file mode 100644 index bedad7bf74f..00000000000 --- a/examples/lowparse/LowParse.Spec.Enum.fst.hints +++ /dev/null @@ -1,1804 +0,0 @@ -[ - "y°‚Z§ÊDÇhÉó²p1k", - [ - [ - "LowParse.Spec.Enum.list_map", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "LowParse.Spec.Enum_interpretation_Tm_arrow_029b6cf8f9f8b0206538c448f94db434", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_158ccd3239cde10d7dceed65fcdf976a_4", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2e23a59a915c78beb390f83f671fb5d7", - "subterm_ordering_Prims.Cons" - ], - 0, - "2fd0578fbd1a47440ebc61875b1ae7e9" - ], - [ - "LowParse.Spec.Enum.list_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_4d10d2c0057c1798609433477669cc19_2", - "binder_x_c98d27394ecd79494d62e3800688554e_0", - "binder_x_d630a41066839dd0086b53684d4b0f98_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_d7bbcf81f0ad1adaba53c75902772625", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "subterm_ordering_Prims.Cons", "typing_LowParse.Spec.Enum.list_mem" - ], - 0, - "5a8343f5e17d136a4d29203f2e90fb00" - ], - [ - "LowParse.Spec.Enum.enum_key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Enum.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "c93d56279e5be512ab70a242aa9fea29" - ], - [ - "LowParse.Spec.Enum.enum_repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Enum.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "b5b8b2725371998df2342df058f9f9c4" - ], - [ - "LowParse.Spec.Enum.map_flip_flip", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "LowParse.Spec.Enum_interpretation_Tm_arrow_34693d21301324f175be7f75096eafe4", - "LowParse.Spec.Enum_interpretation_Tm_arrow_73b0d442a2939a696140942fedaaa922", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_b75e9fa191cd41274f574c20bf99b53c_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_LowParse.Spec.Enum.flip", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "partial_app_typing_29b4a45f1c4fbe690e385889d697930b", - "partial_app_typing_bac40072efb065b88385372e54e4955f", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "subterm_ordering_Prims.Cons", - "token_correspondence_LowParse.Spec.Enum.flip", - "token_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "typing_LowParse.Spec.Enum.list_map" - ], - 0, - "4195e6c5199a2071084a17997f7aa235" - ], - [ - "LowParse.Spec.Enum.map_fst_flip", - 1, - 2, - 1, - [ "@query" ], - 0, - "58800f6a2be26c3b4e0d4918cc7438fe" - ], - [ - "LowParse.Spec.Enum.map_fst_flip", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "LowParse.Spec.Enum_interpretation_Tm_arrow_11e9fcb728baeb8cca48c1eb646480b6", - "LowParse.Spec.Enum_interpretation_Tm_arrow_73b0d442a2939a696140942fedaaa922", - "LowParse.Spec.Enum_interpretation_Tm_arrow_a159de8d80c6f5ce6336d3ad27487fb7", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_b75e9fa191cd41274f574c20bf99b53c_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.Spec.Enum.flip", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "partial_app_typing_bac40072efb065b88385372e54e4955f", - "partial_app_typing_c1217d44cb4bcc1df8013d40672f8223", - "partial_app_typing_dba8e416033ec010220abd2e8ad2b7fb", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "token_correspondence_LowParse.Spec.Enum.flip", - "token_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "typing_LowParse.Spec.Enum.list_map" - ], - 0, - "757e062614768c41934894ae744b0640" - ], - [ - "LowParse.Spec.Enum.map_snd_flip", - 1, - 2, - 1, - [ "@query" ], - 0, - "811bcda3095feb6fe29a51d4529f1700" - ], - [ - "LowParse.Spec.Enum.map_snd_flip", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "LowParse.Spec.Enum_interpretation_Tm_arrow_3163f5587b6c0996f844d4958d919f31", - "LowParse.Spec.Enum_interpretation_Tm_arrow_5066bbe9a31b46386e1d85d08c8741db", - "LowParse.Spec.Enum_interpretation_Tm_arrow_73b0d442a2939a696140942fedaaa922", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_b75e9fa191cd41274f574c20bf99b53c_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.Spec.Enum.flip", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "partial_app_typing_7209b60a4ba985f5e69c20f7d962509d", - "partial_app_typing_bac40072efb065b88385372e54e4955f", - "partial_app_typing_fa0048aa100db840a4b139bd521ac979", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "token_correspondence_LowParse.Spec.Enum.flip", - "token_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "typing_LowParse.Spec.Enum.list_map" - ], - 0, - "2d7bfd32cba0cd59327844afbe8630f2" - ], - [ - "LowParse.Spec.Enum.assoc_mem_snd", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "LowParse.Spec.Enum_interpretation_Tm_arrow_cc733280c4b0f0645c55d71e6629f4d5", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_3fbafbc92962adb379c94880bc59694f_4", - "binder_x_7c3c6f7daf7f60be4d871e1a5606a6d2_2", - "binder_x_c98d27394ecd79494d62e3800688554e_0", - "binder_x_c98d27394ecd79494d62e3800688554e_1", - "binder_x_d630a41066839dd0086b53684d4b0f98_3", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "equality_tok_Prims.LexTop@tok", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "partial_app_typing_61e5a0c15f96c1b8082f4f1ad50d77b9", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Pervasives.Native.snd", - "typing_LowParse.Spec.Enum.list_map" - ], - 0, - "120cda2947d5186d01173cf3a1db33fe" - ], - [ - "LowParse.Spec.Enum.assoc_flip_elim", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@query", - "LowParse.Spec.Enum_interpretation_Tm_arrow_b7058fff4f8427ec68eab2870263ec47", - "LowParse.Spec.Enum_interpretation_Tm_arrow_c63c371c5f9be80da389bf5973f0f803", - "LowParse.Spec.Enum_interpretation_Tm_arrow_cc733280c4b0f0645c55d71e6629f4d5", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_3fbafbc92962adb379c94880bc59694f_3", - "binder_x_7c3c6f7daf7f60be4d871e1a5606a6d2_2", - "binder_x_c98d27394ecd79494d62e3800688554e_0", - "binder_x_c98d27394ecd79494d62e3800688554e_1", - "binder_x_d630a41066839dd0086b53684d4b0f98_4", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equality_tok_Prims.LexTop@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.flip", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "partial_app_typing_4f2a52c31e447e52dc2d88e048d50341", - "partial_app_typing_61e5a0c15f96c1b8082f4f1ad50d77b9", - "partial_app_typing_f88e00a5ff7b4a4b64c0d4c0c75c278f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "token_correspondence_LowParse.Spec.Enum.flip", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem", "unit_inversion", "unit_typing" - ], - 0, - "1a6a1c5dea9134c9eb54f7836940b356" - ], - [ - "LowParse.Spec.Enum.assoc_flip_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "4dac50b288af1b2dfd48cdb8902e1577" - ], - [ - "LowParse.Spec.Enum.enum_key_of_repr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "LowParse.Spec.Enum_interpretation_Tm_arrow_b3341c3bf3b498aa9f3864df4c7e14c9", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_LowParse.Spec.Enum.flip", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem" - ], - 0, - "ecc710eda34a66f2e6fd00258a14072d" - ], - [ - "LowParse.Spec.Enum.parse_enum_key", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.snd", - "interpretation_Tm_abs_5a1e65b8e6f533d16a46dad85471df0d", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "refinement_interpretation_Tm_refine_f6e1761e3e3cac417d43809fa9a6ac41", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "typing_LowParse.Spec.Enum.enum_key_of_repr", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem" - ], - 0, - "163f89297236511c16bff1f3b90e3329" - ], - [ - "LowParse.Spec.Enum.enum_repr_of_key", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "LowParse.Spec.Enum_interpretation_Tm_arrow_b3341c3bf3b498aa9f3864df4c7e14c9", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Enum.flip", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_f63a4a268f020733364bf5736477d275", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "typing_FStar.List.Tot.Base.mem", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem" - ], - 0, - "2c1c1a43b97de16cd7076681b3ff12a3" - ], - [ - "LowParse.Spec.Enum.enum_repr_of_key_of_repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Enum.enum_key_of_repr", - "equation_LowParse.Spec.Enum.enum_repr_of_key", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "typing_LowParse.Spec.Enum.enum_key_of_repr" - ], - 0, - "d350d3ca571121af6d043a4a3858ca47" - ], - [ - "LowParse.Spec.Enum.enum_key_of_repr_of_key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key_of_repr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38" - ], - 0, - "8bff28a6db1a5d75a245e8845fbe1f4a" - ], - [ - "LowParse.Spec.Enum.bare_serialize_enum_key_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "LowParse.Spec.Base_interpretation_Tm_arrow_8f715f5f264ee069249ef205f97117af", - "LowParse.Spec.Combinators_interpretation_Tm_arrow_d2f99ede906c7fc3c3a038279a176954", - "LowParse.Spec.Enum_interpretation_Tm_arrow_8bf1063c6d34d74232d54ac4618aac89", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "equation_LowParse.Bytes.byte", "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.bare_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind", - "equation_LowParse.Spec.Base.serializer", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Combinators.and_then", - "equation_LowParse.Spec.Combinators.and_then_bare", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_filter", - "equation_LowParse.Spec.Combinators.parse_filter_kind", - "equation_LowParse.Spec.Combinators.parse_filter_payload", - "equation_LowParse.Spec.Combinators.parse_filter_payload_kind", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.parse_synth", - "equation_LowParse.Spec.Combinators.serialize_empty", - "equation_LowParse.Spec.Enum.bare_serialize_enum_key", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.enum_repr_of_key", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.parse_enum_key", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowParse.Spec.Base.parser_kind_", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowParse.Spec.Combinators.parse_filter_payload", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_28fdd5bd59c8c42142c1f4f1dfe7703b", - "interpretation_Tm_abs_374466a0386d85a91ec68353d2b6cf25", - "interpretation_Tm_abs_3b5e1bbd42cfa251bdbd2bf59972d742", - "interpretation_Tm_abs_5a1e65b8e6f533d16a46dad85471df0d", - "interpretation_Tm_abs_657f06e32b1c0f5168c9a51919755de8", - "interpretation_Tm_abs_a73129ab068fc6735e00b07c3be9e92b", - "interpretation_Tm_abs_f08c122a5d88ddc9eb9265e54dc30ce2", - "interpretation_Tm_abs_fc170b22dbd2d01b344c2e776a39848f", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_40a24c6c363915cd0813473da688de21", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_9fc4b705eaf2fe68d9cc8785e7df72bf", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_ada01a50e9607a3644b78af595c2c990", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f63a4a268f020733364bf5736477d275", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "token_correspondence_LowParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Seq.Base.length", "typing_LowParse.Spec.Base.parse", - "typing_LowParse.Spec.Combinators.parse_filter", - "typing_LowParse.Spec.Enum.enum_key", - "typing_LowParse.Spec.Enum.enum_repr_of_key", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem", - "typing_LowParse.Spec.Enum.parse_enum_key", - "typing_Tm_abs_a73129ab068fc6735e00b07c3be9e92b", - "typing_Tm_abs_fc170b22dbd2d01b344c2e776a39848f", "unit_typing" - ], - 0, - "57a2705f12730a95763609645da7b178" - ], - [ - "LowParse.Spec.Enum.serialize_enum_key", - 1, - 2, - 1, - [ "@query" ], - 0, - "ec9ff076595c0b013cf725dd44b85454" - ], - [ - "LowParse.Spec.Enum.maybe_enum_key", - 1, - 2, - 1, - [ - "@query", "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.unknown_enum_repr", - "haseqTm_refine_42952339d1ff6a9a240497d58590f0b2", - "haseqTm_refine_f63a4a268f020733364bf5736477d275" - ], - 0, - "212aa11ea709ae09967278c5a0e17772" - ], - [ - "LowParse.Spec.Enum.__proj__Known__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Enum.Known", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6df6e363e9358104c78f228ae5971cbc" - ], - 0, - "ba8b8130157c7343ec6d01d015dfe054" - ], - [ - "LowParse.Spec.Enum.__proj__Unknown__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Enum.Unknown", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f652cf377b13de7bb903c495641fab58" - ], - 0, - "c6e05b46c79ab1c98d9a371e6a8b729e" - ], - [ - "LowParse.Spec.Enum.maybe_enum_key_of_repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_13b21ffbd07c55593e4a5ffefa988799" - ], - 0, - "391aba3275e4196b14c184b26a46f59e" - ], - [ - "LowParse.Spec.Enum.parse_maybe_enum_key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "projection_inverse_LowParse.Spec.Enum.Unknown__0", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "token_correspondence_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "typing_LowParse.Spec.Enum.enum_key_of_repr" - ], - 0, - "b974a210ce8d06682d52c2de5056b75d" - ], - [ - "LowParse.Spec.Enum.repr_of_maybe_enum_key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_LowParse.Spec.Enum.Unknown", - "disc_equation_LowParse.Spec.Enum.Known", - "disc_equation_LowParse.Spec.Enum.Unknown", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_LowParse.Spec.Enum.unknown_enum_repr", - "fuel_guarded_inversion_LowParse.Spec.Enum.maybe_enum_key", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_42952339d1ff6a9a240497d58590f0b2", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "typing_LowParse.Spec.Enum.maybe_enum_key_of_repr" - ], - 0, - "3da83b26967d17fabaf5eea9588f68f5" - ], - [ - "LowParse.Spec.Enum.serialize_maybe_enum_key", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "LowParse.Spec.Enum_interpretation_Tm_arrow_41d90cb60ba59c2d0738a22692746830", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Combinators.synth_inverse", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_LowParse.Spec.Enum.repr_of_maybe_enum_key", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "projection_inverse_LowParse.Spec.Enum.Unknown__0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "refinement_interpretation_Tm_refine_f87374d55b4b0bcbccace08f4ab4a6ec", - "token_correspondence_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "token_correspondence_LowParse.Spec.Enum.repr_of_maybe_enum_key", - "typing_LowParse.Spec.Enum.enum_key_of_repr", - "typing_LowParse.Spec.Enum.list_map", "unit_typing" - ], - 0, - "6fd92623c8caa0efcbca768b48497ddd" - ], - [ - "LowParse.Spec.Enum.total_enum", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.eqtype", - "haseqTm_refine_4678c84f1c3636490366d1f0f0d8db38", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "54b72bbd04ae6374edd5285d53270fb8" - ], - [ - "LowParse.Spec.Enum.parse_total_enum_key", - 1, - 2, - 1, - [ - "@query", "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Enum.synth_total_enum_key", - "token_correspondence_LowParse.Spec.Enum.synth_total_enum_key" - ], - 0, - "fc61917e097c0c1e7f17a6b7db558b41" - ], - [ - "LowParse.Spec.Enum.synth_total_enum_key_recip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Enum.is_total_enum", - "equation_LowParse.Spec.Enum.synth_total_enum_key", - "equation_LowParse.Spec.Enum.total_enum", - "refinement_interpretation_Tm_refine_e35dc699c7e7f39b8a2a75680e2b64a1" - ], - 0, - "46dbfe580da97f2e2bc14580b2b367e2" - ], - [ - "LowParse.Spec.Enum.serialize_total_enum_key", - 1, - 2, - 1, - [ - "@query", "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Combinators.synth_inverse", - "equation_LowParse.Spec.Enum.synth_total_enum_key", - "equation_LowParse.Spec.Enum.synth_total_enum_key_recip", - "token_correspondence_LowParse.Spec.Enum.synth_total_enum_key", - "token_correspondence_LowParse.Spec.Enum.synth_total_enum_key_recip" - ], - 0, - "881b464f3a8e9e35ef30574dda8dd716" - ], - [ - "LowParse.Spec.Enum.maybe_total_enum_key", - 1, - 2, - 1, - [ - "@query", "equation_LowParse.Spec.Enum.unknown_enum_repr", - "haseqTm_refine_42952339d1ff6a9a240497d58590f0b2" - ], - 0, - "4cdfcb3ee120fe39aecc3e588bcbef7e" - ], - [ - "LowParse.Spec.Enum.__proj__TotalKnown__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Enum.TotalKnown", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_61165db77dccbad3584ef84afe2d7026" - ], - 0, - "9e1ec9518cd4c836f900ad768b8214e2" - ], - [ - "LowParse.Spec.Enum.__proj__TotalUnknown__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Enum.TotalUnknown", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d1e0d1e98eabe13e3260b2ee1d4b9d2b" - ], - 0, - "b16ca2b8ca8456ad4df1de51afb3a320" - ], - [ - "LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_13b21ffbd07c55593e4a5ffefa988799" - ], - 0, - "5eb6656e6dbf270eea3ce4ebd6a5f3a2" - ], - [ - "LowParse.Spec.Enum.parse_maybe_total_enum_key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowParse.Spec.Enum.TotalKnown", - "constructor_distinct_LowParse.Spec.Enum.TotalUnknown", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - "equation_LowParse.Spec.Enum.total_enum", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Enum.TotalKnown__0", - "projection_inverse_LowParse.Spec.Enum.TotalUnknown__0", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "refinement_interpretation_Tm_refine_e35dc699c7e7f39b8a2a75680e2b64a1", - "token_correspondence_LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - "typing_LowParse.Spec.Enum.enum_key_of_repr" - ], - 0, - "bd458f1f8f1d0d98d652ef846139f2c3" - ], - [ - "LowParse.Spec.Enum.repr_of_maybe_total_enum_key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_LowParse.Spec.Enum.TotalUnknown", - "disc_equation_LowParse.Spec.Enum.TotalKnown", - "disc_equation_LowParse.Spec.Enum.TotalUnknown", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.is_total_enum", - "equation_LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - "equation_LowParse.Spec.Enum.total_enum", - "equation_LowParse.Spec.Enum.unknown_enum_repr", - "fuel_guarded_inversion_LowParse.Spec.Enum.maybe_total_enum_key", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_42952339d1ff6a9a240497d58590f0b2", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_e35dc699c7e7f39b8a2a75680e2b64a1", - "typing_LowParse.Spec.Enum.maybe_total_enum_key_of_repr" - ], - 0, - "5ea4be06c1014a6d13f22b8e5a203bda" - ], - [ - "LowParse.Spec.Enum.serialize_maybe_total_enum_key", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "LowParse.Spec.Enum_interpretation_Tm_arrow_060714082eec9869ae3c1551ee47d799", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_LowParse.Spec.Enum.TotalKnown", - "constructor_distinct_LowParse.Spec.Enum.TotalUnknown", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Combinators.synth_inverse", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - "equation_LowParse.Spec.Enum.total_enum", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_LowParse.Spec.Enum.repr_of_maybe_total_enum_key", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_LowParse.Spec.Enum.TotalKnown__0", - "projection_inverse_LowParse.Spec.Enum.TotalUnknown__0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0d39af973a1f72e5eb06d51b7e651afa", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "refinement_interpretation_Tm_refine_e35dc699c7e7f39b8a2a75680e2b64a1", - "token_correspondence_LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - "token_correspondence_LowParse.Spec.Enum.repr_of_maybe_total_enum_key", - "typing_LowParse.Spec.Enum.enum_key_of_repr", - "typing_LowParse.Spec.Enum.list_map", "unit_typing" - ], - 0, - "383eb83df2e833d3c6c7a0ea33fc298d" - ], - [ - "LowParse.Spec.Enum.weaken_maybe_enum_key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Enum.TotalKnown", - "disc_equation_LowParse.Spec.Enum.TotalUnknown", - "equation_LowParse.Spec.Enum.is_total_enum", - "equation_LowParse.Spec.Enum.total_enum", - "fuel_guarded_inversion_LowParse.Spec.Enum.maybe_total_enum_key", - "refinement_interpretation_Tm_refine_e35dc699c7e7f39b8a2a75680e2b64a1" - ], - 0, - "c7cc48ab4b149d364e5924af207aa1dc" - ], - [ - "LowParse.Spec.Enum.list_map", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "LowParse.Spec.Enum_interpretation_Tm_arrow_029b6cf8f9f8b0206538c448f94db434", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_158ccd3239cde10d7dceed65fcdf976a_4", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2e23a59a915c78beb390f83f671fb5d7", - "subterm_ordering_Prims.Cons" - ], - 0, - "b8c2bdd9d4b121a8563a8780e5e3d761" - ], - [ - "LowParse.Spec.Enum.list_mem", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_4d10d2c0057c1798609433477669cc19_2", - "binder_x_c98d27394ecd79494d62e3800688554e_0", - "binder_x_d630a41066839dd0086b53684d4b0f98_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_d7bbcf81f0ad1adaba53c75902772625", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "subterm_ordering_Prims.Cons", "typing_LowParse.Spec.Enum.list_mem" - ], - 0, - "195748bf381c0fe64ef5b37c6fcb5cb5" - ], - [ - "LowParse.Spec.Enum.enum_key", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Enum.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "dc9c9567e39cbe822cefe1c67153df1b" - ], - [ - "LowParse.Spec.Enum.enum_repr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Enum.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "307f463df6dd4264698f67f4c2cd384c" - ], - [ - "LowParse.Spec.Enum.map_fst_flip", - 3, - 2, - 1, - [ "@query" ], - 0, - "0d3d88d04655f20a1507563814fb81ff" - ], - [ - "LowParse.Spec.Enum.map_snd_flip", - 3, - 2, - 1, - [ "@query" ], - 0, - "9790772497a915a6c10689846e3f4d5b" - ], - [ - "LowParse.Spec.Enum.enum_key_of_repr", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "LowParse.Spec.Enum_interpretation_Tm_arrow_b3341c3bf3b498aa9f3864df4c7e14c9", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Enum.flip", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "typing_FStar.List.Tot.Base.mem", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem" - ], - 0, - "7d8141acf156cdce7bd36a774b47421e" - ], - [ - "LowParse.Spec.Enum.parse_enum_key", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.snd", - "interpretation_Tm_abs_5a1e65b8e6f533d16a46dad85471df0d", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "refinement_interpretation_Tm_refine_f6e1761e3e3cac417d43809fa9a6ac41", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "typing_LowParse.Spec.Enum.enum_key_of_repr", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem" - ], - 0, - "e500d712e5af407f5791a4facd3d0669" - ], - [ - "LowParse.Spec.Enum.enum_repr_of_key", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "LowParse.Spec.Enum_interpretation_Tm_arrow_b3341c3bf3b498aa9f3864df4c7e14c9", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.eqtype", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Enum.flip", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_f63a4a268f020733364bf5736477d275", - "refinement_interpretation_Tm_refine_ff9441126166844650678431ddb446e5", - "typing_FStar.List.Tot.Base.mem", - "typing_LowParse.Spec.Enum.list_map", - "typing_LowParse.Spec.Enum.list_mem" - ], - 0, - "0c996bdbe6928f196553e4a4c54b32fe" - ], - [ - "LowParse.Spec.Enum.serialize_enum_key", - 2, - 2, - 1, - [ "@query" ], - 0, - "5b08973b225a5bd16beab48bc61913cc" - ], - [ - "LowParse.Spec.Enum.maybe_enum_key", - 1, - 2, - 1, - [ - "@query", "equation_LowParse.Spec.Enum.enum_key", - "equation_LowParse.Spec.Enum.unknown_enum_repr", - "haseqTm_refine_42952339d1ff6a9a240497d58590f0b2", - "haseqTm_refine_f63a4a268f020733364bf5736477d275" - ], - 0, - "05dd7976987decffb5e5c9bb57b7eb04" - ], - [ - "LowParse.Spec.Enum.__proj__Known__item___0", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Enum.Known", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6df6e363e9358104c78f228ae5971cbc" - ], - 0, - "fa4cf61eca24fc2d7f2f28414e374752" - ], - [ - "LowParse.Spec.Enum.__proj__Unknown__item___0", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Enum.Unknown", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f652cf377b13de7bb903c495641fab58" - ], - 0, - "ddaf400f857b790fc77531ab3d93af15" - ], - [ - "LowParse.Spec.Enum.maybe_enum_key_of_repr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_13b21ffbd07c55593e4a5ffefa988799" - ], - 0, - "a49e5344fc7cc144b8c80a91c59240f3" - ], - [ - "LowParse.Spec.Enum.parse_maybe_enum_key", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "projection_inverse_LowParse.Spec.Enum.Unknown__0", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "token_correspondence_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "typing_LowParse.Spec.Enum.enum_key_of_repr" - ], - 0, - "76cb8394677cbb8efa09c322da32879b" - ], - [ - "LowParse.Spec.Enum.repr_of_maybe_enum_key", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_LowParse.Spec.Enum.Unknown", - "disc_equation_LowParse.Spec.Enum.Known", - "disc_equation_LowParse.Spec.Enum.Unknown", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_LowParse.Spec.Enum.unknown_enum_repr", - "fuel_guarded_inversion_LowParse.Spec.Enum.maybe_enum_key", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_42952339d1ff6a9a240497d58590f0b2", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "typing_LowParse.Spec.Enum.maybe_enum_key_of_repr" - ], - 0, - "bfc6ee35c4d1d904c92b8e2fbef8ba5d" - ], - [ - "LowParse.Spec.Enum.serialize_maybe_enum_key", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "LowParse.Spec.Enum_interpretation_Tm_arrow_41d90cb60ba59c2d0738a22692746830", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_LowParse.Spec.Enum.Known", - "constructor_distinct_LowParse.Spec.Enum.Unknown", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Combinators.synth_inverse", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_LowParse.Spec.Enum.repr_of_maybe_enum_key", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_LowParse.Spec.Enum.Known__0", - "projection_inverse_LowParse.Spec.Enum.Unknown__0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "refinement_interpretation_Tm_refine_f87374d55b4b0bcbccace08f4ab4a6ec", - "token_correspondence_LowParse.Spec.Enum.maybe_enum_key_of_repr", - "token_correspondence_LowParse.Spec.Enum.repr_of_maybe_enum_key", - "typing_LowParse.Spec.Enum.enum_key_of_repr", - "typing_LowParse.Spec.Enum.list_map", "unit_typing" - ], - 0, - "be021d35fa5c29398d18fd6621cdf6cb" - ], - [ - "LowParse.Spec.Enum.total_enum", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.eqtype", - "haseqTm_refine_4678c84f1c3636490366d1f0f0d8db38", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "cb038341badaa4072b17231ae46505cb" - ], - [ - "LowParse.Spec.Enum.parse_total_enum_key", - 2, - 2, - 1, - [ - "@query", "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Enum.synth_total_enum_key", - "token_correspondence_LowParse.Spec.Enum.synth_total_enum_key" - ], - 0, - "7700418b01bc30283e1ee50aed933449" - ], - [ - "LowParse.Spec.Enum.synth_total_enum_key_recip", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowParse.Spec.Enum.is_total_enum", - "equation_LowParse.Spec.Enum.synth_total_enum_key", - "equation_LowParse.Spec.Enum.total_enum", - "refinement_interpretation_Tm_refine_e35dc699c7e7f39b8a2a75680e2b64a1" - ], - 0, - "bb2644ebe68a38f695bb139fa73998a2" - ], - [ - "LowParse.Spec.Enum.serialize_total_enum_key", - 2, - 2, - 1, - [ - "@query", "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Combinators.synth_inverse", - "equation_LowParse.Spec.Enum.synth_total_enum_key", - "equation_LowParse.Spec.Enum.synth_total_enum_key_recip", - "token_correspondence_LowParse.Spec.Enum.synth_total_enum_key", - "token_correspondence_LowParse.Spec.Enum.synth_total_enum_key_recip" - ], - 0, - "20821ddb4defdcadc628e0eec295ee2a" - ], - [ - "LowParse.Spec.Enum.maybe_total_enum_key", - 1, - 2, - 1, - [ - "@query", "equation_LowParse.Spec.Enum.unknown_enum_repr", - "haseqTm_refine_42952339d1ff6a9a240497d58590f0b2" - ], - 0, - "069d737ef0ac896dcc70dc6989a1a01d" - ], - [ - "LowParse.Spec.Enum.__proj__TotalKnown__item___0", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Enum.TotalKnown", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_61165db77dccbad3584ef84afe2d7026" - ], - 0, - "8349712e26bc330b7849fd911d7af43d" - ], - [ - "LowParse.Spec.Enum.__proj__TotalUnknown__item___0", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Enum.TotalUnknown", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d1e0d1e98eabe13e3260b2ee1d4b9d2b" - ], - 0, - "fc11981569ec76e89ca17cc153b2458b" - ], - [ - "LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_13b21ffbd07c55593e4a5ffefa988799" - ], - 0, - "f4a51267bcff4dc0f5a6c4aa2bf9376b" - ], - [ - "LowParse.Spec.Enum.parse_maybe_total_enum_key", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowParse.Spec.Enum.TotalKnown", - "constructor_distinct_LowParse.Spec.Enum.TotalUnknown", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - "equation_LowParse.Spec.Enum.total_enum", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Enum.TotalKnown__0", - "projection_inverse_LowParse.Spec.Enum.TotalUnknown__0", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "refinement_interpretation_Tm_refine_e35dc699c7e7f39b8a2a75680e2b64a1", - "token_correspondence_LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - "typing_LowParse.Spec.Enum.enum_key_of_repr" - ], - 0, - "0433be5b41ae27897a9ea993344f0dba" - ], - [ - "LowParse.Spec.Enum.repr_of_maybe_total_enum_key", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_LowParse.Spec.Enum.TotalUnknown", - "disc_equation_LowParse.Spec.Enum.TotalKnown", - "disc_equation_LowParse.Spec.Enum.TotalUnknown", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.is_total_enum", - "equation_LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - "equation_LowParse.Spec.Enum.total_enum", - "equation_LowParse.Spec.Enum.unknown_enum_repr", - "fuel_guarded_inversion_LowParse.Spec.Enum.maybe_total_enum_key", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_42952339d1ff6a9a240497d58590f0b2", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_e35dc699c7e7f39b8a2a75680e2b64a1", - "typing_LowParse.Spec.Enum.maybe_total_enum_key_of_repr" - ], - 0, - "529761cf33359182624ff2c0b963167f" - ], - [ - "LowParse.Spec.Enum.serialize_maybe_total_enum_key", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_map.fuel_instrumented", - "@fuel_correspondence_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "LowParse.Spec.Enum_interpretation_Tm_arrow_060714082eec9869ae3c1551ee47d799", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_LowParse.Spec.Enum.TotalKnown", - "constructor_distinct_LowParse.Spec.Enum.TotalUnknown", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_LowParse.Bytes.bytes", - "equation_LowParse.Spec.Base.is_total_constant_size_parser", - "equation_LowParse.Spec.Base.parse", - "equation_LowParse.Spec.Base.parser", - "equation_LowParse.Spec.Base.parser_kind_prop", - "equation_LowParse.Spec.Base.serializer_correct", - "equation_LowParse.Spec.Base.strong_parser_kind", - "equation_LowParse.Spec.Combinators.parse_empty", - "equation_LowParse.Spec.Combinators.parse_ret_kind", - "equation_LowParse.Spec.Combinators.synth_injective", - "equation_LowParse.Spec.Combinators.synth_inverse", - "equation_LowParse.Spec.Enum.enum", - "equation_LowParse.Spec.Enum.enum_repr", - "equation_LowParse.Spec.Enum.eqtype", - "equation_LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - "equation_LowParse.Spec.Enum.total_enum", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_LowParse.Spec.Enum.list_mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_LowParse.Spec.Combinators.parse_empty", - "function_token_typing_LowParse.Spec.Combinators.serialize_empty", - "function_token_typing_LowParse.Spec.Enum.repr_of_maybe_total_enum_key", - "interpretation_Tm_abs_da58179025c3c262d9683a069d11ecd8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_LessThan", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "proj_equation_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "proj_equation_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_high", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_low", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind__parser_kind_metadata", - "projection_inverse_LowParse.Spec.Base.Mkparser_kind_metadata_t_parser_kind_metadata_total", - "projection_inverse_LowParse.Spec.Enum.TotalKnown__0", - "projection_inverse_LowParse.Spec.Enum.TotalUnknown__0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0d39af973a1f72e5eb06d51b7e651afa", - "refinement_interpretation_Tm_refine_265ae623270486ffca0ac639e4ca2c02", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4678c84f1c3636490366d1f0f0d8db38", - "refinement_interpretation_Tm_refine_4dc535732f9ebcd2a18294ea7fcdb82f", - "refinement_interpretation_Tm_refine_956bc881132332bd221131ea988e10db", - "refinement_interpretation_Tm_refine_a93ee9f22122db6b942ffee06822ff42", - "refinement_interpretation_Tm_refine_c37e04f9455b1fbf4702b2e5fcc26710", - "refinement_interpretation_Tm_refine_e35dc699c7e7f39b8a2a75680e2b64a1", - "token_correspondence_LowParse.Spec.Enum.maybe_total_enum_key_of_repr", - "token_correspondence_LowParse.Spec.Enum.repr_of_maybe_total_enum_key", - "typing_LowParse.Spec.Enum.enum_key_of_repr", - "typing_LowParse.Spec.Enum.list_map", "unit_typing" - ], - 0, - "cb51fdd2c627abe9873f9781d1b2dd14" - ], - [ - "LowParse.Spec.Enum.weaken_maybe_enum_key", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowParse.Spec.Enum.TotalKnown", - "disc_equation_LowParse.Spec.Enum.TotalUnknown", - "equation_LowParse.Spec.Enum.is_total_enum", - "equation_LowParse.Spec.Enum.total_enum", - "fuel_guarded_inversion_LowParse.Spec.Enum.maybe_total_enum_key", - "refinement_interpretation_Tm_refine_e35dc699c7e7f39b8a2a75680e2b64a1" - ], - 0, - "e29dab9cdf087304c59f6e225649b10c" - ] - ] -] \ No newline at end of file diff --git a/examples/lowparse/Makefile b/examples/lowparse/Makefile deleted file mode 100644 index 7aef2f32eee..00000000000 --- a/examples/lowparse/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -FSTAR_HOME=../.. -FSTAR_FILES= LowParse.Bytes.fst LowParse.Bytes32.fst \ - LowParse.Spec.Base.fst LowParse.SLow.Base.fst \ - LowParse.Spec.Combinators.fst \ - LowParse.SLow.Combinators.fst LowParse.Spec.Enum.fst \ - LowParse.SLow.Enum.fst - -all: - mkdir -p $(CACHE_DIR) - $(MAKE) verify-all - -include ../Makefile.common - -verify-all: $(addsuffix .checked, $(addprefix $(CACHE_DIR)/, $(FSTAR_FILES))) diff --git a/examples/maths/Gcd.fst.hints b/examples/maths/Gcd.fst.hints index 4ad0a9ebe57..32d5b431844 100644 --- a/examples/maths/Gcd.fst.hints +++ b/examples/maths/Gcd.fst.hints @@ -10,10 +10,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6d931e4d4ce45a4c8506be4ad146f613" + "0c17027df1faf74739d685c0fe9e7c1f" ], [ "Gcd.a_divides_a'", @@ -22,7 +22,7 @@ 1, [ "@query" ], 0, - "0e691d1d370f276b68854529dbde0afe" + "5fa3c75d31f8e261f594a9d2fda0ab42" ], [ "Gcd.gcd_triv", @@ -31,7 +31,7 @@ 1, [ "@query", "equation_Gcd.is_gcd" ], 0, - "2a8b7eb55a9ef8877d945d72a200cfb0" + "cc70ae7becc3627e27dfe8f93403eef4" ], [ "Gcd.a_divides_a'", @@ -40,7 +40,7 @@ 1, [ "@query" ], 0, - "83c99aacf00afb71a59c5d79255c5007" + "ba75c326bcbe9cae3e30fbd24f818257" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/LambdaOmega.fst.hints b/examples/metatheory/LambdaOmega.fst.hints index 64ac553c69c..7e158001067 100644 --- a/examples/metatheory/LambdaOmega.fst.hints +++ b/examples/metatheory/LambdaOmega.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "8afd59368a5508c0ef80a82bc2e439ae" + "087c349c348e16ea5e3c2dede17b943c" ], [ "LambdaOmega.__proj__KArr__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_8b48b9eeb2a347feedfef98eb374c34d" ], 0, - "6086f7b68560c61fda4f7f1330886436" + "ca5fae21702c4b84491cd78e6a962c20" ], [ "LambdaOmega.__proj__KArr__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_8b48b9eeb2a347feedfef98eb374c34d" ], 0, - "785b8c96edcc5bb3367acdd314b9c3b4" + "ec797f8106cd592fe6be051e5f0deb5d" ], [ "LambdaOmega.typ", @@ -46,11 +46,11 @@ "assumption_LambdaOmega.knd__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a86333f73b6e5d5f2baefb4865a208ad" + "0f7fd0d4d202eedcba8f4cdd5cc7f471" ], [ "LambdaOmega.__proj__TVar__item___0", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_8454d7d4c32c3f232806dd6979b25988" ], 0, - "2e06a9466c8562ccd25670a51652b131" + "e18a92a17bdace93266d63c52201ffad" ], [ "LambdaOmega.__proj__TLam__item___0", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_5f11a138c840cc7111e27e944b2f32fa" ], 0, - "64d2954f1c05087b99d48748c8dad776" + "7b4fa61c2ce313d4dd81558eaf5ef47a" ], [ "LambdaOmega.__proj__TLam__item__t", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_5f11a138c840cc7111e27e944b2f32fa" ], 0, - "0693697c649806971e852db1d83e98f7" + "49f677cbda378aabd1ddf603cee4486b" ], [ "LambdaOmega.__proj__TApp__item___0", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_0e28fa2f56a31115ec481703c0cb0a1c" ], 0, - "9f3887b51284f4d79001b17046117a3b" + "bec70178eaf53a2354836e29a6bde1aa" ], [ "LambdaOmega.__proj__TApp__item___1", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_0e28fa2f56a31115ec481703c0cb0a1c" ], 0, - "b0dfdcc75f6ae4ef0e44e16adb229ad5" + "858a93d88a515616be5885b72370328c" ], [ "LambdaOmega.__proj__TArr__item___0", @@ -128,7 +128,7 @@ "refinement_interpretation_Tm_refine_ebfacded5bfac7e16f0c4cf9d6c0a24b" ], 0, - "1d62ce6120fcad2b3f01052b1e9796c2" + "f20ac6e2942124fc514a9716a6ec609c" ], [ "LambdaOmega.__proj__TArr__item___1", @@ -141,7 +141,7 @@ "refinement_interpretation_Tm_refine_ebfacded5bfac7e16f0c4cf9d6c0a24b" ], 0, - "d8978d5af054f590f746a9d7493a1975" + "c730a23d7d4056cc0276a7e96f6692a0" ], [ "LambdaOmega.exp", @@ -153,11 +153,11 @@ "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2fffaf79c41069b585e90b1f75465d29" + "b19b0f7807bbdbed773a30781b44dd40" ], [ "LambdaOmega.__proj__EVar__item___0", @@ -170,7 +170,7 @@ "refinement_interpretation_Tm_refine_13c221c50ecb0c200f598116593dea3d" ], 0, - "b8f90ad8c7ee9f43da46d91f3f4e53ba" + "aea4fef0669cc2a6de208f38e3df8484" ], [ "LambdaOmega.__proj__EApp__item___0", @@ -183,7 +183,7 @@ "refinement_interpretation_Tm_refine_e64f1650f71e059a934486674c4393f7" ], 0, - "5eab4dc3cc41e1893367e24cb80eaa96" + "89a55aac948e80c5dacf8e6cdc7b6841" ], [ "LambdaOmega.__proj__EApp__item___1", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_e64f1650f71e059a934486674c4393f7" ], 0, - "e26cda2f85febd095edf22c0552a457f" + "a14e8c1b9556b8fb67815795d9ef90f0" ], [ "LambdaOmega.__proj__ELam__item___0", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_0c4cbaddf94de33c9fa2045e2ec86a00" ], 0, - "a026b76b6ca618f5f78ad9bcf75a4854" + "45b30df658facf35bd2dafd04778f027" ], [ "LambdaOmega.__proj__ELam__item___1", @@ -222,7 +222,7 @@ "refinement_interpretation_Tm_refine_0c4cbaddf94de33c9fa2045e2ec86a00" ], 0, - "855e9750fa2be9cca58654207f862954" + "7414cea0c66dd8c011a4f5f47cac61af" ], [ "LambdaOmega.is_erenaming", @@ -231,10 +231,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_815c4eca866d1c7c736f480f60423fbe" + "refinement_interpretation_Tm_refine_fbfece31e99154e48993e2ff9813691a" ], 0, - "c993a595075a8ff3e5b9c9cf455d2221" + "49926302e6b085985df8dbedddf0bd93" ], [ "LambdaOmega.esub_inc", @@ -245,10 +245,10 @@ "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4b1ea512834f046e77c545b013bdd7b8" + "eb58142f3f9e569121ceabcfcb2c7d29" ], [ "LambdaOmega.esubst", @@ -257,11 +257,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LambdaOmega_interpretation_Tm_arrow_af3d8eba0dc5d3956683426e190362ef", + "LambdaOmega_interpretation_Tm_arrow_06bd065149458295e65033e8ae238f27", + "LambdaOmega_interpretation_Tm_arrow_0f92dd0e14d50bdcc6e47d37377032a9", "LambdaOmega_pretyping_1c3eda042f75cb90bd281a839e46e47d", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_1c3eda042f75cb90bd281a839e46e47d_1", - "binder_x_72be33445e3cf5d60d578600fdf4ad4e_0", "bool_inversion", + "binder_x_2467ea16a8390f133518a74f18615c52_0", "bool_inversion", "constructor_distinct_LambdaOmega.EVar", "disc_equation_LambdaOmega.EApp", "disc_equation_LambdaOmega.ELam", "disc_equation_LambdaOmega.EVar", "equality_tok_Prims.LexTop@tok", @@ -274,9 +275,9 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.EVar__0", "refinement_interpretation_Tm_refine_16db7d9e55ec639a8c277fda1d255e67", - "refinement_interpretation_Tm_refine_aacdfe0e6f35a8e2959b27ef56f70b68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e966d49e99bb259fb40f929bd1862f96", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5ca2649b9947b9cfef9d85a0f4c89df8", + "refinement_interpretation_Tm_refine_8d6f20cd33d75a9a68572f6afadcfec4", "subterm_ordering_LambdaOmega.EApp", "subterm_ordering_LambdaOmega.ELam", "token_correspondence_LambdaOmega.esub_lam", @@ -284,7 +285,7 @@ "typing_LambdaOmega.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "9a6df92669616bdcc6e9049a5577ead9" + "fb76fe07d4320ca3a22e9060baae0fa2" ], [ "LambdaOmega.esubst", @@ -294,8 +295,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_72be33445e3cf5d60d578600fdf4ad4e_0", - "binder_x_fd2118004c9b4fcd0fcebc3eabc62881_1", "bool_inversion", + "binder_x_2467ea16a8390f133518a74f18615c52_0", + "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_1", "bool_inversion", "constructor_distinct_LambdaOmega.EVar", "disc_equation_LambdaOmega.EVar", "equation_LambdaOmega.erenaming", "equation_LambdaOmega.esub", "equation_LambdaOmega.esub_inc", @@ -307,14 +308,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.EVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e966d49e99bb259fb40f929bd1862f96", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5ca2649b9947b9cfef9d85a0f4c89df8", "token_correspondence_LambdaOmega.esub_inc", "typing_LambdaOmega.is_erenaming", "typing_LambdaOmega.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "192bc50e546a04811d262b3ada87d192" + "dc06b07e5137630511875445b25a1c7b" ], [ "LambdaOmega.esub_lam_renaming", @@ -329,7 +330,7 @@ "typing_LambdaOmega.esub_lam" ], 0, - "4cd558b5d41517fb758b3aa6a0aef90f" + "1f3da3e777230f783cf8456ed21c30a8" ], [ "LambdaOmega.esubst_extensional", @@ -343,16 +344,15 @@ "@fuel_irrelevance_LambdaOmega.esubst.fuel_instrumented", "@query", "LambdaOmega_pretyping_1c3eda042f75cb90bd281a839e46e47d", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_06de486deb40f7c98f3ebe1658d921d4_1", "binder_x_1c3eda042f75cb90bd281a839e46e47d_2", - "binder_x_43a9f649f8346f39b127b4b9cc63f387_1", - "binder_x_72be33445e3cf5d60d578600fdf4ad4e_0", + "binder_x_2467ea16a8390f133518a74f18615c52_0", "constructor_distinct_LambdaOmega.EApp", "constructor_distinct_LambdaOmega.EVar", "disc_equation_LambdaOmega.EApp", "disc_equation_LambdaOmega.ELam", "disc_equation_LambdaOmega.EVar", "equality_tok_Prims.LexTop@tok", "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.esub", "equation_LambdaOmega.var", - "equation_Prims.nat", + "equation_LambdaOmega.var", "equation_Prims.nat", "equation_with_fuel_LambdaOmega.esub_lam.fuel_instrumented", "equation_with_fuel_LambdaOmega.esubst.fuel_instrumented", "fuel_guarded_inversion_LambdaOmega.exp", @@ -362,14 +362,14 @@ "projection_inverse_LambdaOmega.EApp__0", "projection_inverse_LambdaOmega.EApp__1", "projection_inverse_LambdaOmega.EVar__0", - "refinement_interpretation_Tm_refine_7ba93f42f18fd99289d1ce6bc41f4f6c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c471eac9d5f7b007c00e0de0ace56c55", "subterm_ordering_LambdaOmega.EApp", "subterm_ordering_LambdaOmega.ELam", "token_correspondence_LambdaOmega.esub_lam", "true_interp" ], 0, - "aa56f7eed5d9459d790db7c2d6753d01" + "a31e5114ea6fd5ab0e6e5908b8b3ca99" ], [ "LambdaOmega.esub_lam_hoist", @@ -378,7 +378,7 @@ 1, [ "@query", "assumption_LambdaOmega.exp__uu___haseq" ], 0, - "8d39f01f652a49a578a3a50f34999b55" + "96a244dd30337ae0b996449e0a60552c" ], [ "LambdaOmega.esub_lam_hoist", @@ -387,7 +387,7 @@ 1, [ "@query", "assumption_LambdaOmega.exp__uu___haseq", "true_interp" ], 0, - "d76ed29ca00086fa261e3aa582a634b6" + "eaa3678ad826e288e0ef7853a5a969d1" ], [ "LambdaOmega.esub_beta", @@ -395,16 +395,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LambdaOmega.var", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", + "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6cbd575592478f9feeb57ea3db6c69fe" + "cabb0cd38ad6694c73503f6fc50ced2e" ], [ "LambdaOmega.is_trenaming", @@ -413,10 +410,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_724f68be0871f50df73ba6f499afda02" + "refinement_interpretation_Tm_refine_a3541ea2aa7a52c156e8f5632774ffb6" ], 0, - "7be8f3c8f8270a061658a55ca74916b1" + "cfff24fa7315d06308e6edbee455ab85" ], [ "LambdaOmega.tsub_inc_above", @@ -427,10 +424,10 @@ "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e329df6f56ba306e26af5b226451f752" + "754eba168d984c137b1e6a0346eac127" ], [ "LambdaOmega.trenaming_sub_inc", @@ -452,7 +449,7 @@ "token_correspondence_LambdaOmega.tsub_inc" ], 0, - "eb9c335ef63cd61efe47d124882ca956" + "1c032a059c50d182a2af0319395a84ef" ], [ "LambdaOmega.tsubst", @@ -461,11 +458,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LambdaOmega_interpretation_Tm_arrow_d56aef442f3a994e377e5ffb4a30688c", + "LambdaOmega_interpretation_Tm_arrow_1fc17894ab8a84446150f9cbd4ae3dfb", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_82c741e99312e71219473071e8fee127_0", "bool_inversion", + "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_0", + "binder_x_18f4961c1d91234a8baf199895e17f88_1", "bool_inversion", "constructor_distinct_LambdaOmega.TVar", "disc_equation_LambdaOmega.TApp", "disc_equation_LambdaOmega.TArr", "disc_equation_LambdaOmega.TLam", "disc_equation_LambdaOmega.TVar", @@ -478,10 +476,10 @@ "int_inversion", "int_typing", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_adf6129dac0c057870e0fed85299cde6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_1ab36994513d2cff854e7d6ef2c4819d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ce615ce2294eb74a8456da4b7daece8c", - "refinement_interpretation_Tm_refine_f04322e656e90caea36e2bf316eed9a3", + "refinement_interpretation_Tm_refine_dceed1b95380314a1c26e033051eede6", "subterm_ordering_LambdaOmega.TApp", "subterm_ordering_LambdaOmega.TArr", "subterm_ordering_LambdaOmega.TLam", @@ -490,7 +488,7 @@ "typing_LambdaOmega.uu___is_TVar", "well-founded-ordering-on-nat" ], 0, - "c1d414a4933944270ae1eef65786bdad" + "a2e8eb48c20009fe32a5cdfeafec83d4" ], [ "LambdaOmega.tsubst", @@ -499,29 +497,31 @@ 1, [ "@MaxIFuel_assumption", "@query", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_82c741e99312e71219473071e8fee127_0", - "binder_x_fd2118004c9b4fcd0fcebc3eabc62881_1", "bool_inversion", + "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_0", + "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_1", "bool_inversion", "constructor_distinct_LambdaOmega.TVar", "disc_equation_LambdaOmega.TVar", "equation_LambdaOmega.is_tvar", "equation_LambdaOmega.trenaming", "equation_LambdaOmega.tsub", "equation_LambdaOmega.tsub_inc", "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", - "equation_Prims.nat", "function_token_typing_LambdaOmega.tsub_inc", + "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.typ", + "function_token_typing_LambdaOmega.tsub_inc", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f04322e656e90caea36e2bf316eed9a3", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dceed1b95380314a1c26e033051eede6", "token_correspondence_LambdaOmega.tsub_inc", "typing_LambdaOmega.is_trenaming", "typing_LambdaOmega.uu___is_TVar", "well-founded-ordering-on-nat" ], 0, - "691db8d10a73713233ad58fa97696766" + "e2deb0b7ddecb268e94ab43473765b58" ], [ "LambdaOmega.tsubst_extensional", @@ -530,7 +530,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "6873d021788e300c66d86ef4156490a5" + "a6d7b9dbddf768053eb45c90f6aeec3f" ], [ "LambdaOmega.tsubst_extensional", @@ -539,7 +539,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "9a975f45be40676bbd7b89d6d44faac2" + "0d5a7d6ffa4e00005fb707b4a3d259cc" ], [ "LambdaOmega.tsubst_extensional", @@ -553,9 +553,9 @@ "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_0", + "binder_x_0c7cb9ff7b1d3d53917093f35a115e13_1", "binder_x_18f4961c1d91234a8baf199895e17f88_2", - "binder_x_82c741e99312e71219473071e8fee127_0", - "binder_x_dee2094fe479c74967fe93b87ddc9a8c_1", "constructor_distinct_LambdaOmega.TApp", "constructor_distinct_LambdaOmega.TArr", "constructor_distinct_LambdaOmega.TVar", @@ -563,8 +563,7 @@ "disc_equation_LambdaOmega.TLam", "disc_equation_LambdaOmega.TVar", "equality_tok_Prims.LexTop@tok", "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.tsub", "equation_LambdaOmega.var", - "equation_Prims.nat", + "equation_LambdaOmega.var", "equation_Prims.nat", "equation_with_fuel_LambdaOmega.tsub_lam.fuel_instrumented", "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", "fuel_guarded_inversion_LambdaOmega.typ", @@ -576,15 +575,15 @@ "projection_inverse_LambdaOmega.TArr__0", "projection_inverse_LambdaOmega.TArr__1", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_3e43675b9f0767c746e51554f858a6f7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d046d1cc6e5cacaf43979914c10f811a", "subterm_ordering_LambdaOmega.TApp", "subterm_ordering_LambdaOmega.TArr", "subterm_ordering_LambdaOmega.TLam", "token_correspondence_LambdaOmega.tsub_lam", "true_interp" ], 0, - "724a6564f7ea713005537161ffa644c9" + "c13f32734aa9a69560040e40efe023c7" ], [ "LambdaOmega.tsub_lam_hoist", @@ -593,7 +592,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "ac1c1dcd8e45326f9947ce2b83113751" + "8e9a93a70888272466ded79059c56e53" ], [ "LambdaOmega.tsub_lam_hoist", @@ -602,7 +601,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq", "true_interp" ], 0, - "b16034bc2521684d296b12565b978632" + "c0c6059a10093b6cf24195e418bca4e8" ], [ "LambdaOmega.tsub_comp_inc", @@ -611,7 +610,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "a10ce5e90d10cc00f3fa5ba54b02ea1a" + "a164b88fe408935524d0c38ed5e44ef4" ], [ "LambdaOmega.tsub_comp_inc", @@ -623,13 +622,12 @@ "@fuel_correspondence_LambdaOmega.tsub_lam.fuel_instrumented", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_96a8c0f2d2d4542ae4967d419ea1a944", - "LambdaOmega_interpretation_Tm_arrow_c0505f650c79f3614ced647875bfbcc2", + "LambdaOmega_interpretation_Tm_arrow_24caba0a08aa3403fcbe8182b76a2ceb", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_LambdaOmega.TVar", - "data_elim_LambdaOmega.TVar", "equation_FStar.UInt.min_int", - "equation_LambdaOmega.tsub", "equation_LambdaOmega.tsub_comp", - "equation_LambdaOmega.tsub_inc", + "data_elim_LambdaOmega.TVar", "equation_LambdaOmega.tsub", + "equation_LambdaOmega.tsub_comp", "equation_LambdaOmega.tsub_inc", "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", "equation_Prims.nat", "equation_with_fuel_LambdaOmega.tsub_lam.fuel_instrumented", @@ -638,21 +636,21 @@ "function_token_typing_LambdaOmega.tsub_lam", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_85b4ef0565f0021c1a6b313c163ccfb8", + "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ce615ce2294eb74a8456da4b7daece8c", "token_correspondence_LambdaOmega.tsub_comp", "token_correspondence_LambdaOmega.tsub_inc", - "token_correspondence_LambdaOmega.tsub_lam" + "token_correspondence_LambdaOmega.tsub_lam", + "typing_LambdaOmega.tsub_inc" ], 0, - "ff32508bbc3422fe8fd643aeb4dfc388" + "c98b205e03a157b09d4cf0f4c41dce48" ], [ "LambdaOmega.tsub_lam_renaming", @@ -667,7 +665,7 @@ "typing_LambdaOmega.tsub_lam" ], 0, - "fd807bf81ba1cf62ce70dfd669d93ff5" + "398783cb146bfd9d8a52ce9e1f7814cb" ], [ "LambdaOmega.tsubst_comp", @@ -676,7 +674,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "03978c5aa52fbcc2d84112a19640780a" + "b25db0ec2e6fa91e3613d3b6f5e381f4" ], [ "LambdaOmega.tsubst_comp", @@ -685,7 +683,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "15862e9e9c43c1e229d357c3d15ed7ef" + "0bc7df045fe985605c43b8d0c59a0ded" ], [ "LambdaOmega.tsubst_comp", @@ -697,15 +695,14 @@ "@fuel_correspondence_LambdaOmega.tsub_lam.fuel_instrumented", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_96a8c0f2d2d4542ae4967d419ea1a944", - "LambdaOmega_interpretation_Tm_arrow_c0505f650c79f3614ced647875bfbcc2", + "LambdaOmega_interpretation_Tm_arrow_24caba0a08aa3403fcbe8182b76a2ceb", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_LambdaOmega.typ__uu___haseq", + "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_0", + "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_1", "binder_x_18f4961c1d91234a8baf199895e17f88_2", - "binder_x_82c741e99312e71219473071e8fee127_0", - "binder_x_82c741e99312e71219473071e8fee127_1", "bool_typing", "constructor_distinct_LambdaOmega.TApp", "constructor_distinct_LambdaOmega.TArr", "constructor_distinct_LambdaOmega.TVar", @@ -724,8 +721,8 @@ "function_token_typing_LambdaOmega.tsub_inc", "function_token_typing_LambdaOmega.tsub_lam", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_85b4ef0565f0021c1a6b313c163ccfb8", + "int_inversion", + "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -734,11 +731,11 @@ "projection_inverse_LambdaOmega.TArr__0", "projection_inverse_LambdaOmega.TArr__1", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_c71882535845cace6743477a5ad3a8ac", "refinement_interpretation_Tm_refine_ce615ce2294eb74a8456da4b7daece8c", - "refinement_interpretation_Tm_refine_f04322e656e90caea36e2bf316eed9a3", + "refinement_interpretation_Tm_refine_dceed1b95380314a1c26e033051eede6", "subterm_ordering_LambdaOmega.TApp", "subterm_ordering_LambdaOmega.TArr", "subterm_ordering_LambdaOmega.TLam", @@ -747,11 +744,10 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_LambdaOmega.is_trenaming", "typing_LambdaOmega.is_tvar", "typing_LambdaOmega.trenaming", "typing_LambdaOmega.tsub_comp", - "typing_LambdaOmega.tsub_lam", "typing_LambdaOmega.tsubst", - "well-founded-ordering-on-nat" + "typing_LambdaOmega.tsubst", "well-founded-ordering-on-nat" ], 0, - "f485f7c98de1c484624b064ed7110d54" + "c452e621534347f030cbcc27ab77f7c6" ], [ "LambdaOmega.tsub_lam_comp", @@ -760,7 +756,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "9b7320daff9037762a009f38bc83ce40" + "2c665dcfdebfdc31e562bd25161d695f" ], [ "LambdaOmega.tsub_lam_comp", @@ -772,10 +768,10 @@ "@fuel_correspondence_LambdaOmega.tsub_lam.fuel_instrumented", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_96a8c0f2d2d4542ae4967d419ea1a944", - "LambdaOmega_interpretation_Tm_arrow_c0505f650c79f3614ced647875bfbcc2", + "LambdaOmega_interpretation_Tm_arrow_24caba0a08aa3403fcbe8182b76a2ceb", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_LambdaOmega.typ__uu___haseq", + "assumption_LambdaOmega.typ__uu___haseq", "bool_inversion", "constructor_distinct_LambdaOmega.TVar", "disc_equation_LambdaOmega.TVar", "equation_FStar.FunctionalExtensionality.feq", @@ -785,22 +781,23 @@ "equation_with_fuel_LambdaOmega.tsub_lam.fuel_instrumented", "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", "function_token_typing_LambdaOmega.tsub_comp", + "function_token_typing_LambdaOmega.tsub_inc", "function_token_typing_LambdaOmega.tsub_lam", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_85b4ef0565f0021c1a6b313c163ccfb8", + "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ce615ce2294eb74a8456da4b7daece8c", "token_correspondence_LambdaOmega.tsub_comp", "token_correspondence_LambdaOmega.tsub_lam", - "typing_LambdaOmega.tsub_comp", "typing_LambdaOmega.tsub_lam" + "typing_LambdaOmega.tsub_comp", "typing_LambdaOmega.uu___is_TVar" ], 0, - "9cd6fd9e67da989f9a52737981475a1c" + "958a5b9c6f4bbb44f821463c553efc5b" ], [ "LambdaOmega.tsubst_id", @@ -809,7 +806,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "dce0236af5fd0aa2a31253512ad8f7d8" + "6a91222625f791337233a5e6344fe373" ], [ "LambdaOmega.tsubst_id", @@ -818,7 +815,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "6a1f0fc8895554014400d8c15728b300" + "92b624eab3b997d03d5047e2a6d9dff4" ], [ "LambdaOmega.tsubst_id", @@ -836,10 +833,9 @@ "constructor_distinct_LambdaOmega.TVar", "disc_equation_LambdaOmega.TApp", "disc_equation_LambdaOmega.TArr", "disc_equation_LambdaOmega.TLam", "disc_equation_LambdaOmega.TVar", - "equation_LambdaOmega.tsub", "equation_LambdaOmega.tsub_id", + "equation_LambdaOmega.tsub_id", "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_LambdaOmega.tsub_id", "projection_inverse_LambdaOmega.TApp__0", "projection_inverse_LambdaOmega.TApp__1", "projection_inverse_LambdaOmega.TArr__0", @@ -847,11 +843,11 @@ "projection_inverse_LambdaOmega.TVar__0", "subterm_ordering_LambdaOmega.TApp", "subterm_ordering_LambdaOmega.TArr", - "subterm_ordering_LambdaOmega.TLam", - "token_correspondence_LambdaOmega.tsub_id", "true_interp" + "subterm_ordering_LambdaOmega.TLam", "true_interp", + "typing_LambdaOmega.tsub_id" ], 0, - "32ca8fb52bd7e8ca8485261daa79bde6" + "a4011d623bcab37586208c1f3207fd49" ], [ "LambdaOmega.tsubst_id", @@ -861,7 +857,9 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_LambdaOmega.TLam", "constructor_distinct_LambdaOmega.TVar", "disc_equation_LambdaOmega.TVar", @@ -874,20 +872,19 @@ "function_token_typing_LambdaOmega.tsub_inc", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_33adcf7e92e67b0aac9ac299d70ac2df", + "interpretation_Tm_abs_2b5f80e84d66d0682a75a4ef996a9947", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_3961e1cbc8f19103687ad83fdf41a5e1", - "refinement_interpretation_Tm_refine_aab73cfff3345620c8844a77fdfcff87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_LambdaOmega.tsub_id", + "refinement_interpretation_Tm_refine_2842f7f59e1790b354fd6eacdcfb4ad2", + "refinement_interpretation_Tm_refine_4e6bd25a3bf0c2a52e5fc3a58482b750", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LambdaOmega.tsub_inc", "typing_LambdaOmega.tsub_id" ], 0, - "0f979096d47c29d5d7a7336f288ac78c" + "33ea30a8a913aee88ffc211d64bb4687" ], [ "LambdaOmega.tsub_beta_gen", @@ -895,20 +892,17 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LambdaOmega.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "126a3e7eca6d7cf32465184e919358d3" + "8688c718260aaa4823271b3952815068" ], [ "LambdaOmega.step", @@ -920,7 +914,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "20765934a14ea2f4be01cef8e2a34eae" + "77ffb027e613e2ee37e33b050a6102da" ], [ "LambdaOmega.__proj__SBeta__item__t", @@ -933,7 +927,7 @@ "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" ], 0, - "582bfba1634fb2db9a073c3ef58416d6" + "5fc6fe592001548cc5c002814caeb906" ], [ "LambdaOmega.__proj__SBeta__item__e1", @@ -946,7 +940,7 @@ "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" ], 0, - "2aaf0310ed49a59f51cb55a45c605ac3" + "f659b8c00b02b6d434b19c231e314d74" ], [ "LambdaOmega.__proj__SBeta__item__e2", @@ -959,7 +953,7 @@ "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" ], 0, - "6e83a77d437fd2e0177fa284221027a5" + "bf75989cee9b434e4bed1121efdf5455" ], [ "LambdaOmega.__proj__SApp1__item__e1", @@ -972,7 +966,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "8693ac291a66fa80071d7b25299c0d73" + "5e8f416815ab2a5e4148848383563c9e" ], [ "LambdaOmega.__proj__SApp1__item__e2", @@ -985,7 +979,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "bcf7548d7cf1c5f68d7a40dd429760d5" + "9c1b2bd8d2b710d288117723f86b0ed0" ], [ "LambdaOmega.__proj__SApp1__item__e1'", @@ -998,7 +992,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "6291427eb1fb569d63dece0dd3f6ccc3" + "49232360993d81ecd01e9342ff72c1bd" ], [ "LambdaOmega.__proj__SApp1__item__hst", @@ -1015,7 +1009,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "55f3ee8e51c0a6d1e03582738bfbeb63" + "5391ef01bc893036741e23f74c6b2a82" ], [ "LambdaOmega.__proj__SApp2__item__e1", @@ -1028,7 +1022,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "3ddbff47217483d8b3ec1bff64b39454" + "e9320a951fd9c1fb3a983882ca39182b" ], [ "LambdaOmega.__proj__SApp2__item__e2", @@ -1041,7 +1035,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "b5f93d678f4d8e7e576a591c2a0e0fae" + "1be9c0d1e9d9a471faf771bcefc8306e" ], [ "LambdaOmega.__proj__SApp2__item__e2'", @@ -1054,7 +1048,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "5782f5da6e699fa9f032f699d58e2356" + "86fcb95c7b00dfffa28d308305a3ef96" ], [ "LambdaOmega.__proj__SApp2__item__hst", @@ -1071,7 +1065,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "f4ee976d9c6a4a725c7a635760622a9c" + "2b8b5e900994eeec7bc886c57bcc3727" ], [ "LambdaOmega.extend_tvar", @@ -1079,24 +1073,22 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_LambdaOmega.lookup_evar", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_LambdaOmega.typ@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LambdaOmega.lookup_evar" ], 0, - "49c2c50cc2258c973d2ea48948c1538e" + "8cefd10a71affd08d44abac0a9a57c32" ], [ "LambdaOmega.extend_evar", @@ -1104,19 +1096,16 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ae1f87a863fc237e74375dd763ff77cc" + "b6ed2a0a832787bd410218882d550739" ], [ "LambdaOmega.kinding", @@ -1124,12 +1113,11 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_47d81d21bda8f121fb1a16c8ff2d0c04" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_993a048a28d1b26044734a9b4a5efdcc" ], 0, - "7701260c5cd1a18e05a105e3a56ef682" + "36a4c1a61dad0609260ea8559f14727d" ], [ "LambdaOmega.__proj__KiVar__item__g", @@ -1142,7 +1130,7 @@ "refinement_interpretation_Tm_refine_728f5aba7f4b5dc37458445279a7deb5" ], 0, - "ebc5c97edc5bb4f0fe3146c4f6722aea" + "b8797f3b0222765d1c6668f2a629f2c2" ], [ "LambdaOmega.__proj__KiVar__item__a", @@ -1159,7 +1147,7 @@ "refinement_interpretation_Tm_refine_728f5aba7f4b5dc37458445279a7deb5" ], 0, - "5b9400f3b8869ec7563480ea5718b349" + "db795a4ab01249a5f53a030eb6332938" ], [ "LambdaOmega.__proj__KiLam__item__g", @@ -1172,7 +1160,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "139ce55ce692e22a8354b478c7965ef5" + "b644114a473cefdd996aed092f66f37c" ], [ "LambdaOmega.__proj__KiLam__item__k", @@ -1185,7 +1173,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "96b5c2333df321f16c67cc245d0b0b07" + "9496b5964ff1b2d52a90b0996c3d0dce" ], [ "LambdaOmega.__proj__KiLam__item__t", @@ -1198,7 +1186,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "79a3abb5f86b319793b44c7c87e8ddbc" + "c41f52a6c6918b52b790f5902518f244" ], [ "LambdaOmega.__proj__KiLam__item__k'", @@ -1211,7 +1199,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "dd8109581d01b59242678d2bbb39cdaa" + "fca7af8799ac7df0df852af3732022ef" ], [ "LambdaOmega.__proj__KiLam__item__hk", @@ -1242,7 +1230,7 @@ "typing_LambdaOmega.lookup_evar" ], 0, - "fcc582e5c79e1ae91de6f68acb0e8fbe" + "8e5b072abcea091d1437b3e413d2d12e" ], [ "LambdaOmega.__proj__KiApp__item__g", @@ -1255,7 +1243,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "44e805a5ec163beb3cccf2f97d8a0e9d" + "ff1e774bc800adc5c32d086fac83ce78" ], [ "LambdaOmega.__proj__KiApp__item__t1", @@ -1268,7 +1256,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "7e851a5fdac15a7a85be3881b8131b0e" + "f7785630ce9e077ad82d92b247289070" ], [ "LambdaOmega.__proj__KiApp__item__t2", @@ -1281,7 +1269,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "0449f7f13ddcf94aa0d93794fead8f67" + "e7294d5a1fc7af79598acbe84abc501c" ], [ "LambdaOmega.__proj__KiApp__item__k11", @@ -1294,7 +1282,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "2413047b65999c7b3387d6c22cd88034" + "0d8ab2c7c1156e9d150c70d4467df1bd" ], [ "LambdaOmega.__proj__KiApp__item__k12", @@ -1307,7 +1295,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "937f5ceecd6febaef54f099f4202e076" + "f627ba698144f3d084bdbab19cdfae0c" ], [ "LambdaOmega.__proj__KiApp__item__hk1", @@ -1330,7 +1318,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "af30a2d8c78635ba86b66020c78f5c1f" + "98a4e0cc3074d31d68eb3b7c28796197" ], [ "LambdaOmega.__proj__KiApp__item__hk2", @@ -1352,7 +1340,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "160fe0224b774c13a4cb153a49f961b7" + "1f67fd6a4403caeecc48366faa7c0b91" ], [ "LambdaOmega.__proj__KiArr__item__g", @@ -1365,7 +1353,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "7cb6120c389ec5d89034d1f546d00d0c" + "4c3ee3ab29cfd4b70484cc34d62b6814" ], [ "LambdaOmega.__proj__KiArr__item__t1", @@ -1378,7 +1366,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "01fa01d176cfb73978b9db3ceecd1a93" + "524dc9bcc1bddd1812ef7b1be1db86c8" ], [ "LambdaOmega.__proj__KiArr__item__t2", @@ -1391,7 +1379,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "22d164f9c4c63c3e545e6f0ff7a5f235" + "de2b804034a35186a52f544ce0e67a50" ], [ "LambdaOmega.__proj__KiArr__item__hk1", @@ -1411,7 +1399,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "f6bf1c22de7f643660d29d6ec188c13d" + "e6caa8736387e51750184db5a4e2dc82" ], [ "LambdaOmega.__proj__KiArr__item__hk2", @@ -1431,7 +1419,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "13b602da2df087f14c3669d6809261a6" + "527110188e921f326c4db152198aa790" ], [ "LambdaOmega.tequiv", @@ -1443,7 +1431,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "b0eb395651b77abd47cbe6db30f7b816" + "d09b3156a3b9c339380af848e646bc55" ], [ "LambdaOmega.__proj__EqRefl__item__t", @@ -1456,7 +1444,7 @@ "refinement_interpretation_Tm_refine_c9253dcb041a3b4f852211144c57ce7b" ], 0, - "ef3a72498695d125d365ccd787c0782e" + "a45c8fdfa0ab81a8417e1d22fc715e9d" ], [ "LambdaOmega.__proj__EqSymm__item__t1", @@ -1469,7 +1457,7 @@ "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" ], 0, - "f6696586fd26e7645f149ac999193d5d" + "cda63a2909805ac5411d0f9de013f037" ], [ "LambdaOmega.__proj__EqSymm__item__t2", @@ -1482,7 +1470,7 @@ "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" ], 0, - "410788c1242a288cbaa5b553b38f65e1" + "f88e5d14c601eb300062d44017bf8fd5" ], [ "LambdaOmega.__proj__EqSymm__item__he", @@ -1499,7 +1487,7 @@ "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" ], 0, - "82a607fc8b2f784d820ecb9cc04f87c9" + "630f3ce441bfc3380b42d9951fbecae1" ], [ "LambdaOmega.__proj__EqTran__item__t1", @@ -1512,7 +1500,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "03dd2346a8abb3e0eaf1bf312ebf40d6" + "5a27fc6b7b3a28cc4d3af5f052c0ad8a" ], [ "LambdaOmega.__proj__EqTran__item__t2", @@ -1525,7 +1513,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "0def3b54af7f77280b788d47e9466d4b" + "7fe780603e52d21579fb1821d6d864ae" ], [ "LambdaOmega.__proj__EqTran__item__t3", @@ -1538,7 +1526,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "36fd66224af88c1a408ac5acd0191346" + "47d8db415be7b18b3f599cfacb40033f" ], [ "LambdaOmega.__proj__EqTran__item__he12", @@ -1555,7 +1543,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "077f5bb5c2d8aa25787e785f43f5a0bb" + "6a275ea6a2e3ca84af76dc08c857871d" ], [ "LambdaOmega.__proj__EqTran__item__he23", @@ -1572,7 +1560,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "74466654cd8b1455ee59c3698a85895d" + "5254e4c0459d07735b5e781901f724b5" ], [ "LambdaOmega.__proj__EqLam__item__t", @@ -1585,7 +1573,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "160506287b95f001e951754f6cd87f18" + "953db122e0ad652aab6e98fe7ac58031" ], [ "LambdaOmega.__proj__EqLam__item__t'", @@ -1598,7 +1586,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "bd083afa2a0bdd3d96254df79ba90ac7" + "2058db560ff3b580a6932eb33fb9348b" ], [ "LambdaOmega.__proj__EqLam__item__k", @@ -1611,7 +1599,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "9fb8300a9e8d482f57fcbb56b948fe65" + "c9effc6e0bac1ed9563d56e45e735c5f" ], [ "LambdaOmega.__proj__EqLam__item__he", @@ -1628,7 +1616,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "afeac236433fb1dee218a55af2a31ba5" + "0c44de1a2b6597e472d7b078949afad2" ], [ "LambdaOmega.__proj__EqApp__item__t1", @@ -1641,7 +1629,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "03361675fab65e54f8ca262d7e688817" + "64e45bf774cab3772b0a8ccc3cc5a009" ], [ "LambdaOmega.__proj__EqApp__item__t1'", @@ -1654,7 +1642,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "f95571ab1de3d98856d6161f677ab97c" + "83e33f2ce5a9d599dc24d16db1d5240d" ], [ "LambdaOmega.__proj__EqApp__item__t2", @@ -1667,7 +1655,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "93f84ec2a6b695967a711399550892c2" + "199cb70d1543acf49c83702be460122a" ], [ "LambdaOmega.__proj__EqApp__item__t2'", @@ -1680,7 +1668,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "51212c1bac78e9aa7d7791a12c8769af" + "7c64576e468b16006a6d2036dfb5096f" ], [ "LambdaOmega.__proj__EqApp__item__he1", @@ -1697,7 +1685,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "7f4beca145fa8ff193ab865fe3a0eb0a" + "45dd626d6201077c966341338532cc05" ], [ "LambdaOmega.__proj__EqApp__item__he2", @@ -1714,7 +1702,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "38216f4afa34bd9e30c07abc245e6587" + "8e4161d72195aa53210eb9dd75f25b7f" ], [ "LambdaOmega.__proj__EqBeta__item__k", @@ -1727,7 +1715,7 @@ "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" ], 0, - "1eb57b3055310db7095e1771b64300a1" + "4c32b23e83c2b2ccf070a41b15ec3074" ], [ "LambdaOmega.__proj__EqBeta__item__t1", @@ -1740,7 +1728,7 @@ "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" ], 0, - "1dc063568f209a77ec3570474027d07e" + "e4c530a56e4e9e62d75b59b58be30fc4" ], [ "LambdaOmega.__proj__EqBeta__item__t2", @@ -1753,7 +1741,7 @@ "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" ], 0, - "bfbb8e4087ac99121cbc614fb008536e" + "889805119109c8167dd5986d7dec860c" ], [ "LambdaOmega.__proj__EqArr__item__t1", @@ -1766,7 +1754,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "4b1b6e9bb06e2d19a89c741e21a9411d" + "c111c750ed963ed599bda59199d8f50b" ], [ "LambdaOmega.__proj__EqArr__item__t1'", @@ -1779,7 +1767,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "743897e5957e4582aa83dec9510e0f90" + "dfa59964cccb713e5c7bee6365e48ab2" ], [ "LambdaOmega.__proj__EqArr__item__t2", @@ -1792,7 +1780,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "cb7555596a027d7a497eea369a561338" + "e64d0543c0b93740f278f64834b6700c" ], [ "LambdaOmega.__proj__EqArr__item__t2'", @@ -1805,7 +1793,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "ef10d34d26b36562c3c24eb58c2f8681" + "ce01718c0bffcd394a64bad8429b1ecf" ], [ "LambdaOmega.__proj__EqArr__item__he1", @@ -1822,7 +1810,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "e3a1b19585e2f4ce7d00509386a16910" + "9e197ddd4afdf983463c973c690395ac" ], [ "LambdaOmega.__proj__EqArr__item__he2", @@ -1839,7 +1827,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "541ad8b4a3780754fbd4529781c78301" + "b66cbf2386b7c76d6d106d5991ca3332" ], [ "LambdaOmega.typing", @@ -1847,12 +1835,11 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_1f03a4667bab304b484fe08cfaa8deae" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" ], 0, - "6da61bb8c50ce61a2f53ed8a868de3cc" + "b824e72e45a48c3b8f95408d0d633187" ], [ "LambdaOmega.typing", @@ -1860,12 +1847,11 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_1f03a4667bab304b484fe08cfaa8deae" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" ], 0, - "28b901950c18ee5888c3b3abe85f5b13" + "27830df5922b98b9e2a8c4527176d5e1" ], [ "LambdaOmega.__proj__TyVar__item__g", @@ -1878,7 +1864,7 @@ "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d" ], 0, - "33827b31de8d77c4415a6174449da708" + "a9319e6caf764395e149e7cce2f83d23" ], [ "LambdaOmega.__proj__TyVar__item__x", @@ -1895,7 +1881,7 @@ "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d" ], 0, - "ef73f09c6de04c24d6aa547bd6b44f2c" + "2d9bb8e4b37391ef25f34365570fe5a5" ], [ "LambdaOmega.__proj__TyVar__item__hk", @@ -1903,13 +1889,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", "proj_equation_LambdaOmega.TyVar_x", - "refinement_interpretation_Tm_refine_9d03d55a0b054a335f4a9713bce16478", + "@MaxIFuel_assumption", "@query", + "proj_equation_LambdaOmega.TyVar_x", + "refinement_interpretation_Tm_refine_bb2a3e12e3207e896b9dce3921df8c1c", "typing_LambdaOmega.__proj__TyVar__item__x" ], 0, - "bc201c153d3d0431b7526772ad5998c7" + "40c29465a60d009922bd09ccc83cb4ad" ], [ "LambdaOmega.__proj__TyVar__item__hk", @@ -1922,18 +1908,18 @@ "data_elim_LambdaOmega.TyVar", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_LambdaOmega.TyVar", - "equation_LambdaOmega.lookup_evar", "equation_LambdaOmega.var", - "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", + "equation_LambdaOmega.lookup_evar", + "fuel_guarded_inversion_LambdaOmega.env", "proj_equation_LambdaOmega.TyVar_g", "proj_equation_LambdaOmega.TyVar_x", "projection_inverse_BoxBool_proj_0", "projection_inverse_LambdaOmega.TyVar_g", "projection_inverse_LambdaOmega.TyVar_x", - "refinement_interpretation_Tm_refine_1f03a4667bab304b484fe08cfaa8deae", - "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d" + "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d", + "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" ], 0, - "e4131c6ba4055147b9e48664284e8256" + "87bc16b40b878898ad43f51d6d468dc1" ], [ "LambdaOmega.__proj__TyLam__item__g", @@ -1946,7 +1932,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "f3da755ef8812137a1506c8ef4480cd8" + "12003f04d8771bc9a54cf9ba70018bd2" ], [ "LambdaOmega.__proj__TyLam__item__t", @@ -1959,7 +1945,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "79db9dbd1b39744d9e1f17d43b7cfa97" + "cd4294c8e315a9fb6e37f6df8550159c" ], [ "LambdaOmega.__proj__TyLam__item__e1", @@ -1972,7 +1958,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "28af76aa04f0375a87af5ecbf0482a7b" + "6dcae5f3008e3ece2ad3b5cfad24799e" ], [ "LambdaOmega.__proj__TyLam__item__t'", @@ -1985,7 +1971,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "36ac71e4c8fafde61f9433c2b5c765f8" + "61cc0991536ce472c6d13a7263be4ff4" ], [ "LambdaOmega.__proj__TyLam__item__hk", @@ -2003,7 +1989,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "cb1782034acb98769e0f4c318d4e5a83" + "8891774cf097e3fbfd2d26a37b8c3c8a" ], [ "LambdaOmega.__proj__TyLam__item__ht", @@ -2029,7 +2015,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "f51672a32359a7fbf06636c5ee059d4f" + "fe97715f3f0f29bfdfe908a2baf2319e" ], [ "LambdaOmega.__proj__TyApp__item__g", @@ -2042,7 +2028,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "ee515252299aa190a537cd481b39b44b" + "d175aae430b89ce5ee8c2fc77e6c9d1a" ], [ "LambdaOmega.__proj__TyApp__item__e1", @@ -2055,7 +2041,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "b0bf3a8ebda4d504367c3ea8330f88c5" + "ae60a01a8be10e9329ef5539ea0fefdb" ], [ "LambdaOmega.__proj__TyApp__item__e2", @@ -2068,7 +2054,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "ae05ea7129a82212327b66856ca8e16f" + "2f5db7d910113169d9f086e114a7ac55" ], [ "LambdaOmega.__proj__TyApp__item__t1", @@ -2081,7 +2067,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "bd1e8095024e585d04ed28378b2fd8c7" + "22592c39ce1c7b1d011f3a9f09b29853" ], [ "LambdaOmega.__proj__TyApp__item__t2", @@ -2094,7 +2080,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "13e914839062c7edd390232355ba6fb0" + "df25bce2148c31c0891233e20ea68199" ], [ "LambdaOmega.__proj__TyApp__item__ht1", @@ -2117,7 +2103,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "5a8752bbba176e77ff5e59f8bf6c993e" + "01fef00ecda969fa14febc4cc8fefecd" ], [ "LambdaOmega.__proj__TyApp__item__ht2", @@ -2139,7 +2125,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "27537585d3b81868a19069ca1f37a84b" + "a76dc8bebe88411e4c4092de4f75c1ca" ], [ "LambdaOmega.__proj__TyEqu__item__g", @@ -2152,7 +2138,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "17a6c4b1d8cbf05952c9968f7c21e8c6" + "e3d5d4041dd9c1240da3ab6d68b4505f" ], [ "LambdaOmega.__proj__TyEqu__item__e", @@ -2165,7 +2151,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "63cc10e25a37998d7efa206f3793358f" + "5484682c9509561d82728cb42ffcb4d6" ], [ "LambdaOmega.__proj__TyEqu__item__t1", @@ -2178,7 +2164,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "f8122afaabfc8aa9c755df37aa2689c2" + "487c9665c502bf9393de375f21f4f219" ], [ "LambdaOmega.__proj__TyEqu__item__t2", @@ -2191,7 +2177,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "3f64cbde13fa2b85e5135bc5cd1bcee8" + "9142cedbc8f4afc6f55b0e272eb7931f" ], [ "LambdaOmega.__proj__TyEqu__item__ht", @@ -2211,7 +2197,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "b99de661a1d76872e9eeb0b83fd92032" + "39506bd135716d2c147a5f82438c5e02" ], [ "LambdaOmega.__proj__TyEqu__item__he", @@ -2229,7 +2215,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "1e009aeccfda5140abc6e92c5202b948" + "45a73b9aa8ca2977c41a5c3cc8f7b173" ], [ "LambdaOmega.__proj__TyEqu__item__hk", @@ -2247,7 +2233,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "fc745b8511de6e3e9b42ac14a7215b00" + "6390c6650977b71db40f0aeef707ffd8" ], [ "LambdaOmega.progress", @@ -2259,7 +2245,6 @@ "FStar.Constructive_pretyping_ec7f6accda98fe92e9f2ddc2265c6e3a", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", "LambdaOmega_pretyping_1c3eda042f75cb90bd281a839e46e47d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_18f4961c1d91234a8baf199895e17f88_1", "binder_x_1c3eda042f75cb90bd281a839e46e47d_0", "binder_x_66baa181dd1f16ff8b0da344a3ce1042_2", "bool_inversion", @@ -2277,14 +2262,13 @@ "equation_LambdaOmega.var", "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.exp", "fuel_guarded_inversion_LambdaOmega.typ", - "fuel_guarded_inversion_LambdaOmega.typing", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "proj_equation_LambdaOmega.MkEnv_x", + "fuel_guarded_inversion_LambdaOmega.typing", "int_inversion", + "proj_equation_LambdaOmega.MkEnv_x", "projection_inverse_BoxBool_proj_0", "projection_inverse_LambdaOmega.EVar__0", "projection_inverse_LambdaOmega.MkEnv_x", - "refinement_interpretation_Tm_refine_1f03a4667bab304b484fe08cfaa8deae", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280", "subterm_ordering_LambdaOmega.TyApp", "subterm_ordering_LambdaOmega.TyEqu", "token_correspondence_LambdaOmega.__proj__MkEnv__item__x", @@ -2292,7 +2276,7 @@ "typing_LambdaOmega.is_value", "typing_LambdaOmega.uu___is_ELam" ], 0, - "c2e50ec7a4880cf87d1f7f109d4f168a" + "026d41d2154375d2cfa745d111e77ce6" ], [ "LambdaOmega.tappears_free_in", @@ -2302,26 +2286,24 @@ [ "@MaxIFuel_assumption", "@query", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_fd2118004c9b4fcd0fcebc3eabc62881_0", + "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_0", "disc_equation_LambdaOmega.TApp", "disc_equation_LambdaOmega.TArr", "disc_equation_LambdaOmega.TLam", "disc_equation_LambdaOmega.TVar", "equality_tok_Prims.LexTop@tok", "equation_LambdaOmega.var", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_LambdaOmega.TApp", "subterm_ordering_LambdaOmega.TArr", "subterm_ordering_LambdaOmega.TLam" ], 0, - "bd6e57d56154bc4d673930b8d68e07da" + "23dcbb815c385a6a95873aa7828288aa" ], [ "LambdaOmega.envEqualT", @@ -2334,7 +2316,7 @@ "kinding_LambdaOmega.knd@tok" ], 0, - "40986f2f3583e131716e7844f58e8b7c" + "13dc36f16c65c18a792d2c16e416c7ab" ], [ "LambdaOmega.tcontext_invariance", @@ -2346,7 +2328,6 @@ "@fuel_correspondence_LambdaOmega.tappears_free_in.fuel_instrumented", "@fuel_irrelevance_LambdaOmega.tappears_free_in.fuel_instrumented", "@query", "LambdaOmega_pretyping_70c83ac278a85936c5acf6225bba94f0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0f94a85e12455d40abc5a7e501edf70a_1", "binder_x_18f4961c1d91234a8baf199895e17f88_0", "binder_x_6050e9e7c1bb51167bcebb201168376a_4", @@ -2367,11 +2348,9 @@ "equation_Prims.nat", "equation_with_fuel_LambdaOmega.tappears_free_in.fuel_instrumented", "fuel_guarded_inversion_LambdaOmega.env", - "fuel_guarded_inversion_LambdaOmega.kinding", - "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_9b9d5560c3f685bae3d7e667916bc59c", + "fuel_guarded_inversion_LambdaOmega.kinding", "int_inversion", + "int_typing", + "interpretation_Tm_abs_d0ac3e691ad180385451b64a9ace6920", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", @@ -2383,11 +2362,12 @@ "projection_inverse_LambdaOmega.TApp__1", "projection_inverse_LambdaOmega.TArr__0", "projection_inverse_LambdaOmega.TArr__1", + "projection_inverse_LambdaOmega.TLam__0", "projection_inverse_LambdaOmega.TLam_t", "projection_inverse_LambdaOmega.TVar__0", "refinement_interpretation_Tm_refine_3458e653754a43264e020e0cfa8f3d18", - "refinement_interpretation_Tm_refine_47d81d21bda8f121fb1a16c8ff2d0c04", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_993a048a28d1b26044734a9b4a5efdcc", "subterm_ordering_LambdaOmega.KiApp", "subterm_ordering_LambdaOmega.KiArr", "subterm_ordering_LambdaOmega.KiLam", @@ -2397,7 +2377,7 @@ "typing_tok_LambdaOmega.KTyp@tok" ], 0, - "a2de0ebaba9e020f1582111d84c9aec2" + "0227dac294639744f8903c83c8052f47" ], [ "LambdaOmega.kinding_extensional", @@ -2407,10 +2387,9 @@ [ "@MaxIFuel_assumption", "@query", "LambdaOmega_pretyping_70c83ac278a85936c5acf6225bba94f0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0f94a85e12455d40abc5a7e501edf70a_0", + "binder_x_31b49f4dad8d7c150a0642ac10fe7db6_4", "binder_x_8aaf1d45bebed33bc36bbf557748330b_3", - "binder_x_ba74a345600d7ec8db5bb3915cb4b2da_4", "data_elim_LambdaOmega.KiApp", "data_elim_LambdaOmega.KiArr", "data_elim_LambdaOmega.KiLam", "data_elim_LambdaOmega.KiVar", "disc_equation_FStar.Pervasives.Native.Some", @@ -2423,25 +2402,24 @@ "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", "fuel_guarded_inversion_LambdaOmega.kinding", "function_token_typing_LambdaOmega.__proj__MkEnv__item__a", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_9b9d5560c3f685bae3d7e667916bc59c", + "interpretation_Tm_abs_d0ac3e691ad180385451b64a9ace6920", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "proj_equation_LambdaOmega.MkEnv_a", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.MkEnv_a", - "refinement_interpretation_Tm_refine_0148736e59fc57f4eb5eb2340ec6cf4b", - "refinement_interpretation_Tm_refine_47d81d21bda8f121fb1a16c8ff2d0c04", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_993a048a28d1b26044734a9b4a5efdcc", + "refinement_interpretation_Tm_refine_a98769239d9b45c5fe1586dd5ec4a675", "subterm_ordering_LambdaOmega.KiApp", "subterm_ordering_LambdaOmega.KiArr", "subterm_ordering_LambdaOmega.KiLam", "typing_tok_LambdaOmega.KTyp@tok" ], 0, - "4de52a12036007a8bf61b9ea20c109c3" + "7d334c42c0454f43d53514ca0ba2689d" ], [ "LambdaOmega.kinding_weakening_ebnd", @@ -2455,12 +2433,12 @@ "equation_LambdaOmega.lookup_tvar", "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", "function_token_typing_LambdaOmega.__proj__MkEnv__item__a", - "interpretation_Tm_abs_b84302ccba0aeafac9f05d232578700b", + "interpretation_Tm_abs_58f7b77376fdfbfe40fd648ed99aee32", "proj_equation_LambdaOmega.MkEnv_a", "projection_inverse_LambdaOmega.MkEnv_a" ], 0, - "19bf53d9d8244245cd44fe3570aed185" + "f8befc5f8c1b2408037ec3515bf6a744" ], [ "LambdaOmega.tshift_up_above_lam", @@ -2471,10 +2449,10 @@ "@MaxIFuel_assumption", "@query", "assumption_LambdaOmega.typ__uu___haseq", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c374d7a51114933c3c488a5e5ddebbf7" + "2331821032903817ae4fcc9a746ce330" ], [ "LambdaOmega.tshift_up_above_lam", @@ -2483,17 +2461,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.tshift_up_above", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp" ], 0, - "364d600060386d501e9cca849102f386" + "6f590266aed172d6538a9e0f886cd0a8" ], [ "LambdaOmega.tshift_up_above_lam", @@ -2504,8 +2480,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_43ecdb1aabd807a0ba71e1a40cd19b1e", - "LambdaOmega_interpretation_Tm_arrow_c0505f650c79f3614ced647875bfbcc2", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", + "LambdaOmega_interpretation_Tm_arrow_af7a990611c7c891cd2476ef479fe7e6", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "constructor_distinct_LambdaOmega.TVar", "data_elim_LambdaOmega.TVar", "disc_equation_LambdaOmega.TVar", @@ -2516,29 +2492,30 @@ "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", "equation_Prims.nat", "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", + "fuel_guarded_inversion_LambdaOmega.typ", "function_token_typing_LambdaOmega.tsub_inc", "function_token_typing_LambdaOmega.tsub_inc_above", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_26848f8e6b4c2fccf4fdf83506565d5e", - "interpretation_Tm_abs_4f5a1ef4c08de6829487686218785d48", + "interpretation_Tm_abs_8bf2deaceafb7a389a3b7b1e496ee380", + "interpretation_Tm_abs_c3d39ec559ae60d73d8273dd8c0e0d25", "partial_app_typing_be6e4803788ea8fa11040eebb3377f75", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", + "refinement_interpretation_Tm_refine_0d4a7b28948e10e7910f7a80390248d0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8ce46bcd45ce8fd25452750898637c35", - "refinement_interpretation_Tm_refine_a1086482ce87448ed437efcd31ad3388", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb858bdc9e5021bea4bc9aed19446bbe", + "refinement_interpretation_Tm_refine_b62263626586659ba57dd25bd279beb8", "token_correspondence_LambdaOmega.tsub_inc", "token_correspondence_LambdaOmega.tsub_inc_above", "typing_LambdaOmega.tsub_inc_above", - "typing_Tm_abs_4f5a1ef4c08de6829487686218785d48" + "typing_Tm_abs_8bf2deaceafb7a389a3b7b1e496ee380" ], 0, - "785c25f1aef463458ab6d39998b4502f" + "3f1641831f6045e63fadce7da1bdb5cc" ], [ "LambdaOmega.kinding_weakening_tbnd", @@ -2548,30 +2525,29 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", + "LambdaOmega_interpretation_Tm_arrow_1985927471cb43fb77bae5f2d8f48e8e", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", "LambdaOmega_pretyping_70c83ac278a85936c5acf6225bba94f0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "binder_x_0f94a85e12455d40abc5a7e501edf70a_0", "binder_x_18f4961c1d91234a8baf199895e17f88_1", + "binder_x_70c83ac278a85936c5acf6225bba94f0_5", "binder_x_8aaf1d45bebed33bc36bbf557748330b_3", - "binder_x_fd2118004c9b4fcd0fcebc3eabc62881_4", "bool_inversion", + "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_4", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_LambdaOmega.TApp", "constructor_distinct_LambdaOmega.TArr", "constructor_distinct_LambdaOmega.TVar", "data_elim_LambdaOmega.KiApp", "data_elim_LambdaOmega.KiArr", "data_elim_LambdaOmega.KiLam", "data_elim_LambdaOmega.KiVar", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_LambdaOmega.KiApp", "disc_equation_LambdaOmega.KiArr", "disc_equation_LambdaOmega.KiLam", "disc_equation_LambdaOmega.KiVar", "equality_tok_LambdaOmega.KTyp@tok", "equality_tok_Prims.LexTop@tok", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_LambdaOmega.extend_tvar", + "equation_LambdaOmega.extend_tvar", "equation_LambdaOmega.lookup_tvar", "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub", "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", @@ -2580,41 +2556,34 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_LambdaOmega.env", "fuel_guarded_inversion_LambdaOmega.kinding", - "function_token_typing_FStar.UInt32.n", "function_token_typing_LambdaOmega.__proj__MkEnv__item__a", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_9b9d5560c3f685bae3d7e667916bc59c", - "lemma_FStar.UInt.pow2_values", - "partial_app_typing_be6e4803788ea8fa11040eebb3377f75", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", + "function_token_typing_LambdaOmega.tsub_inc_above", "int_inversion", + "int_typing", + "interpretation_Tm_abs_d0ac3e691ad180385451b64a9ace6920", + "kinding_LambdaOmega.knd@tok", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "proj_equation_LambdaOmega.MkEnv_a", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_LambdaOmega.MkEnv_a", "projection_inverse_LambdaOmega.TApp__0", "projection_inverse_LambdaOmega.TApp__1", "projection_inverse_LambdaOmega.TArr__0", "projection_inverse_LambdaOmega.TArr__1", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_47d81d21bda8f121fb1a16c8ff2d0c04", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_993a048a28d1b26044734a9b4a5efdcc", "subterm_ordering_LambdaOmega.KiApp", "subterm_ordering_LambdaOmega.KiArr", "subterm_ordering_LambdaOmega.KiLam", "token_correspondence_LambdaOmega.__proj__MkEnv__item__a", "token_correspondence_LambdaOmega.tsub_inc_above", - "typing_FStar.UInt.fits", "typing_LambdaOmega.lookup_evar", - "typing_tok_LambdaOmega.KTyp@tok" + "typing_LambdaOmega.extend_tvar", "typing_LambdaOmega.lookup_evar", + "typing_LambdaOmega.lookup_tvar", "typing_tok_LambdaOmega.KTyp@tok" ], 0, - "02c078d4d133d49479689e8fd754da2b" + "3511740bbb6fab63841af698e54692d8" ], [ "LambdaOmega.kinding_strengthening_ebnd", @@ -2628,12 +2597,12 @@ "equation_LambdaOmega.lookup_tvar", "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", "function_token_typing_LambdaOmega.__proj__MkEnv__item__a", - "interpretation_Tm_abs_b84302ccba0aeafac9f05d232578700b", + "interpretation_Tm_abs_58f7b77376fdfbfe40fd648ed99aee32", "proj_equation_LambdaOmega.MkEnv_a", "projection_inverse_LambdaOmega.MkEnv_a" ], 0, - "952c5991d60d568bb24dcd860fd8efe0" + "47c198a31cd866791e5da5be6fe5ce90" ], [ "LambdaOmega.kinding_inversion_arrow", @@ -2657,7 +2626,7 @@ "projection_inverse_LambdaOmega.TArr__1" ], 0, - "14f0302b75ccc67eb1bf359d457893ab" + "db9833f3a077dba942e1d03f1f7d84c4" ], [ "LambdaOmega.typing_to_kinding", @@ -2683,7 +2652,7 @@ "subterm_ordering_LambdaOmega.TyLam" ], 0, - "700c88cfcd414e585e8e9eb693026252" + "2e6877779e3e87fa12b1691b0a0841b1" ], [ "LambdaOmega.tshift_up_above_tsubst_beta_aux", @@ -2695,10 +2664,10 @@ "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5517052e68de2472f4907249ab03755b" + "df28d1bf396f5f95a94344856f6f8cd4" ], [ "LambdaOmega.tshift_up_above_tsubst_beta_aux", @@ -2708,43 +2677,32 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_c0505f650c79f3614ced647875bfbcc2", - "LambdaOmega_interpretation_Tm_arrow_c1a172423470e087fc85a99486ca5066", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_LambdaOmega.TVar", - "data_elim_LambdaOmega.TVar", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", - "equation_LambdaOmega.tsub", "equation_LambdaOmega.tsub_beta_gen", + "@query", + "LambdaOmega_interpretation_Tm_arrow_1985927471cb43fb77bae5f2d8f48e8e", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", + "constructor_distinct_LambdaOmega.TVar", "equation_LambdaOmega.tsub", + "equation_LambdaOmega.tsub_beta_gen", "equation_LambdaOmega.tsub_comp", "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", "equation_Prims.nat", "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_LambdaOmega.tsub_inc_above", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_85b4ef0565f0021c1a6b313c163ccfb8", - "interpretation_Tm_abs_e011d61ed14f4a767f2d8ab2f488df43", - "lemma_FStar.UInt.pow2_values", - "partial_app_typing_be6e4803788ea8fa11040eebb3377f75", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "function_token_typing_LambdaOmega.tsub_inc_above", "int_inversion", + "int_typing", + "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", + "interpretation_Tm_abs_55787ff87ff44db96d410d941f4f43c6", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LambdaOmega.tsub_comp", "token_correspondence_LambdaOmega.tsub_inc_above", - "typing_FStar.UInt.fits", - "typing_Tm_abs_e011d61ed14f4a767f2d8ab2f488df43" + "typing_LambdaOmega.tsub_inc_above", + "typing_Tm_abs_55787ff87ff44db96d410d941f4f43c6" ], 0, - "80ed6ac6c0a2e3513aa77dbbd2aa04bb" + "0f9e2c840c0c8b855ddd9e0b467cee76" ], [ "LambdaOmega.tshift_up_above_tsubst_beta", @@ -2756,10 +2714,10 @@ "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "dcc187bc598d7f9985c14c7de548a9b8" + "f68c4371416f4cf72216294f1a6a1167" ], [ "LambdaOmega.tshift_up_above_tsubst_beta", @@ -2771,10 +2729,10 @@ "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bc039ed34502477edd44b2dfcbc2d8bf" + "575ffe3a8675408aea102b92c931cc7a" ], [ "LambdaOmega.tshift_up_above_tsubst_beta", @@ -2784,7 +2742,7 @@ [ "@MaxIFuel_assumption", "@query", "assumption_LambdaOmega.typ__uu___haseq", - "binder_x_fd2118004c9b4fcd0fcebc3eabc62881_0", + "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_0", "equation_FStar.FunctionalExtensionality.feq", "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub_beta_gen", @@ -2793,10 +2751,10 @@ "equation_Prims.nat", "function_token_typing_LambdaOmega.tsub_comp", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1100a9686f48226a5ef4439cc398f81e" + "52771a78129757095a12b74ca6a370e7" ], [ "LambdaOmega.tequiv_tshift", @@ -2807,10 +2765,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", + "LambdaOmega_interpretation_Tm_arrow_1985927471cb43fb77bae5f2d8f48e8e", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "binder_x_18f4961c1d91234a8baf199895e17f88_0", "binder_x_18f4961c1d91234a8baf199895e17f88_1", "binder_x_5cab34c66eb89a1d6c55fc593f4ae190_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "constructor_distinct_LambdaOmega.TApp", "constructor_distinct_LambdaOmega.TArr", "data_elim_LambdaOmega.EqApp", "data_elim_LambdaOmega.EqArr", @@ -2824,16 +2784,16 @@ "disc_equation_LambdaOmega.EqSymm", "disc_equation_LambdaOmega.EqTran", "equality_tok_Prims.LexTop@tok", "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.var", "equation_Prims.nat", + "equation_Prims.nat", "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.tequiv", "int_inversion", - "partial_app_typing_be6e4803788ea8fa11040eebb3377f75", + "fuel_guarded_inversion_LambdaOmega.tequiv", + "function_token_typing_LambdaOmega.tsub_inc_above", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TApp__0", "projection_inverse_LambdaOmega.TApp__1", "projection_inverse_LambdaOmega.TArr__0", "projection_inverse_LambdaOmega.TArr__1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_LambdaOmega.EqApp", "subterm_ordering_LambdaOmega.EqArr", "subterm_ordering_LambdaOmega.EqLam", @@ -2841,7 +2801,7 @@ "subterm_ordering_LambdaOmega.EqTran" ], 0, - "f75fa1271a99bc585aa55927e0bd6de1" + "f6c687827297f387e850a95826fcb1de" ], [ "LambdaOmega.is_renaming", @@ -2850,10 +2810,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_966672de449e8409105d41d366b3311c" + "refinement_interpretation_Tm_refine_9195fc48fb1fed46e22584772c46e277" ], 0, - "0f8dd81e296fc80decae7ee65283f9a1" + "7e3cadfef7ece30908503051a9731c08" ], [ "LambdaOmega.subst_typing", @@ -2861,12 +2821,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_1f03a4667bab304b484fe08cfaa8deae" + "@MaxIFuel_assumption", "@query", + "fuel_guarded_inversion_LambdaOmega.env", + "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" ], 0, - "32f6698c4efb09688d355efb9c29abf6" + "767c97a5c2544b1da766f741ddc05a76" ], [ "LambdaOmega.substitution", @@ -2878,28 +2838,25 @@ "@fuel_correspondence_LambdaOmega.esub_lam.fuel_instrumented", "@fuel_correspondence_LambdaOmega.esubst.fuel_instrumented", "@fuel_irrelevance_LambdaOmega.esubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_13d2a45eacf5cb7bfbd7711e4427ca1a", - "LambdaOmega_interpretation_Tm_arrow_2d63b0c383305306c9041e36e1390789", - "LambdaOmega_interpretation_Tm_arrow_cf49c5dba70b9cc822b94464d6e8221c", + "LambdaOmega_interpretation_Tm_arrow_06bd065149458295e65033e8ae238f27", + "LambdaOmega_interpretation_Tm_arrow_9fc94ff913fdb9cf171d478e92b8e694", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_0f94a85e12455d40abc5a7e501edf70a_0", "binder_x_0f94a85e12455d40abc5a7e501edf70a_4", "binder_x_18f4961c1d91234a8baf199895e17f88_2", "binder_x_1c3eda042f75cb90bd281a839e46e47d_1", + "binder_x_2467ea16a8390f133518a74f18615c52_3", "binder_x_6a04811a3f854d3aedcee81cba095638_5", - "binder_x_72be33445e3cf5d60d578600fdf4ad4e_3", - "binder_x_d1118ee19aa57516fe7fabc70fe73d16_6", "bool_typing", + "binder_x_f5f530b2c111e92fad1518951621ccae_6", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_LambdaOmega.EApp", "constructor_distinct_LambdaOmega.ELam", "constructor_distinct_LambdaOmega.EVar", "constructor_distinct_LambdaOmega.TyApp", "constructor_distinct_LambdaOmega.TyLam", - "data_elim_LambdaOmega.MkEnv", "data_elim_LambdaOmega.TyApp", - "data_elim_LambdaOmega.TyEqu", "data_elim_LambdaOmega.TyLam", - "data_elim_LambdaOmega.TyVar", + "data_elim_LambdaOmega.TyApp", "data_elim_LambdaOmega.TyEqu", + "data_elim_LambdaOmega.TyLam", "data_elim_LambdaOmega.TyVar", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_LambdaOmega.EVar", "disc_equation_LambdaOmega.TyApp", @@ -2912,8 +2869,7 @@ "equation_LambdaOmega.lookup_evar", "equation_LambdaOmega.lookup_tvar", "equation_LambdaOmega.renaming", "equation_LambdaOmega.subst_typing", "equation_LambdaOmega.var", - "equation_LambdaOmega.x_env", "equation_Prims.logical", - "equation_Prims.nat", + "equation_Prims.logical", "equation_Prims.nat", "equation_with_fuel_LambdaOmega.esub_lam.fuel_instrumented", "equation_with_fuel_LambdaOmega.esubst.fuel_instrumented", "fuel_guarded_inversion_LambdaOmega.env", @@ -2923,8 +2879,8 @@ "function_token_typing_LambdaOmega.esub_lam", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_932746826b9cea7cd1feee57fa37274f", - "interpretation_Tm_abs_b84302ccba0aeafac9f05d232578700b", + "interpretation_Tm_abs_58f7b77376fdfbfe40fd648ed99aee32", + "interpretation_Tm_abs_f3211b767c48df41a375f6d933ed84f5", "kinding_LambdaOmega.typ@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", @@ -2937,15 +2893,15 @@ "projection_inverse_LambdaOmega.EVar__0", "projection_inverse_LambdaOmega.MkEnv_a", "projection_inverse_LambdaOmega.MkEnv_x", + "refinement_interpretation_Tm_refine_15f6cd009e691c5f1d67622a139dd963", "refinement_interpretation_Tm_refine_16db7d9e55ec639a8c277fda1d255e67", - "refinement_interpretation_Tm_refine_1f03a4667bab304b484fe08cfaa8deae", - "refinement_interpretation_Tm_refine_302ced2cb5d4095329ca802603b9d89b", - "refinement_interpretation_Tm_refine_35425d004a15dc376edd5809e95fdfbc", - "refinement_interpretation_Tm_refine_53c39e20839342c19ad8add4f38eb696", - "refinement_interpretation_Tm_refine_7209c05ebf4eb062d04e8cc9f85114da", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9b97565509a7f45ae5f025017a041ca5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6719be171bf8bda3993c40ae08337d39", + "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280", + "refinement_interpretation_Tm_refine_9af9d24fd256966b65deb5bb6b654d2b", + "refinement_interpretation_Tm_refine_b8d6090de47fdfad300336d5d49eabad", + "refinement_interpretation_Tm_refine_c56c8f366a592e10a20c89d1e73735e7", "subterm_ordering_LambdaOmega.TyApp", "subterm_ordering_LambdaOmega.TyEqu", "subterm_ordering_LambdaOmega.TyLam", @@ -2954,11 +2910,11 @@ "token_correspondence_LambdaOmega.esub_lam", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_LambdaOmega.extend_evar", "typing_LambdaOmega.is_renaming", - "typing_LambdaOmega.is_var", "typing_LambdaOmega.renaming", - "well-founded-ordering-on-nat" + "typing_LambdaOmega.is_var", "typing_LambdaOmega.lookup_evar", + "typing_LambdaOmega.renaming", "well-founded-ordering-on-nat" ], 0, - "1e526a64e0480c303f67bd7f8c738d61" + "8713a8b2a353cfaa6cf1d771e103cbb1" ], [ "LambdaOmega.typing_substitution", @@ -2966,32 +2922,24 @@ 1, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "@MaxIFuel_assumption", "@query", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0f94a85e12455d40abc5a7e501edf70a_4", - "binder_x_18f4961c1d91234a8baf199895e17f88_2", "bool_inversion", + "binder_x_18f4961c1d91234a8baf199895e17f88_2", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_LambdaOmega.esub_beta", - "equation_LambdaOmega.extend_evar", + "equation_LambdaOmega.esub_beta", "equation_LambdaOmega.extend_evar", "equation_LambdaOmega.lookup_evar", "equation_LambdaOmega.lookup_tvar", "equation_LambdaOmega.var", "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", - "function_token_typing_FStar.UInt32.n", "function_token_typing_LambdaOmega.__proj__MkEnv__item__a", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_932746826b9cea7cd1feee57fa37274f", - "interpretation_Tm_abs_b84302ccba0aeafac9f05d232578700b", - "interpretation_Tm_abs_cc36933f2bedf7f3168116958b93671c", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "int_inversion", + "interpretation_Tm_abs_0e615b7342fa94b702d0189b28cd0215", + "interpretation_Tm_abs_58f7b77376fdfbfe40fd648ed99aee32", + "interpretation_Tm_abs_f3211b767c48df41a375f6d933ed84f5", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_LambdaOmega.MkEnv_a", @@ -3001,14 +2949,13 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_LambdaOmega.MkEnv_a", "projection_inverse_LambdaOmega.MkEnv_x", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bb25010286843a0552d1bd45cc7671e7", + "refinement_interpretation_Tm_refine_3d1481e163e7c11ab4c5e86e915875dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LambdaOmega.__proj__MkEnv__item__x", - "token_correspondence_LambdaOmega.esub_beta", - "typing_FStar.UInt.fits" + "token_correspondence_LambdaOmega.esub_beta" ], 0, - "76755f20ffdca03e7ec1a47967237b1c" + "8eca7d8ea37e4b38510cd392efa3a529" ], [ "LambdaOmega.tsubst_gen_tlam_aux", @@ -3020,10 +2967,10 @@ "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "037561f6c89837a5f805a93951f4e5ce" + "d00d83d46dc94e7f5b1f9239f09dbb2c" ], [ "LambdaOmega.tsubst_gen_tlam_aux", @@ -3034,19 +2981,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LambdaOmega.tsub_lam.fuel_instrumented", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_LambdaOmega.typ__uu___haseq", "b2t_def", - "bool_inversion", "constructor_distinct_LambdaOmega.TVar", + "assumption_LambdaOmega.typ__uu___haseq", + "constructor_distinct_LambdaOmega.TVar", "data_elim_LambdaOmega.TVar", "disc_equation_LambdaOmega.TVar", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_LambdaOmega.trenaming", - "equation_LambdaOmega.tshift_up", + "equation_LambdaOmega.trenaming", "equation_LambdaOmega.tshift_up", "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub", "equation_LambdaOmega.tsub_beta_gen", "equation_LambdaOmega.tsub_inc", @@ -3054,27 +2997,24 @@ "equation_Prims.nat", "equation_with_fuel_LambdaOmega.tsub_lam.fuel_instrumented", "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", + "fuel_guarded_inversion_LambdaOmega.typ", "function_token_typing_LambdaOmega.tsub_inc", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_e011d61ed14f4a767f2d8ab2f488df43", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "int_inversion", + "interpretation_Tm_abs_55787ff87ff44db96d410d941f4f43c6", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LambdaOmega.tsub_beta_gen", "token_correspondence_LambdaOmega.tsub_inc", "token_correspondence_LambdaOmega.tsub_inc_above", - "typing_FStar.UInt.fits", "typing_LambdaOmega.tsub_beta_gen", - "unit_inversion", "unit_typing" + "typing_LambdaOmega.tsub_beta_gen", "unit_inversion", "unit_typing" ], 0, - "5f4146af9e6a0fc7871bd3f6c41ccaac" + "bd5a5e55c76c0d13870e0456a1af911f" ], [ "LambdaOmega.tsubst_gen_tlam", @@ -3086,10 +3026,10 @@ "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fa06fb906ee700d412d7e12e8d53d33c" + "349f612402395f7089438c68dc011bf4" ], [ "LambdaOmega.tsubst_gen_tlam", @@ -3105,11 +3045,11 @@ "equation_Prims.nat", "function_token_typing_LambdaOmega.tsub_beta_gen", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LambdaOmega.tsub_lam" ], 0, - "27044c4cc76edb7ad82ab32a2c1ac0c9" + "101c3a61f777f439153d58329f9d3d97" ], [ "LambdaOmega.tred", @@ -3121,7 +3061,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "029dedd0bef57f48b6aeb1c85644a19b" + "5db3459c4ab614746364014bfc47d433" ], [ "LambdaOmega.__proj__TrRefl__item__t", @@ -3134,7 +3074,7 @@ "refinement_interpretation_Tm_refine_ec02c1428e5505f04555fdddbba4f245" ], 0, - "e2e56de57eae25b2468a08888d633ef0" + "9a67e6aaee82eeb5f9c0cf55872f0b1b" ], [ "LambdaOmega.__proj__TrArr__item__t1", @@ -3147,7 +3087,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "473b6cfaeee6f616d32943dd68750776" + "bcf31abb94dc1826abc1b6adde2868fe" ], [ "LambdaOmega.__proj__TrArr__item__t2", @@ -3160,7 +3100,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "b1a3a04d96a7f0fb459e42c813a9d18d" + "b0c7ee40d6d9fb9b5c899a8222adee52" ], [ "LambdaOmega.__proj__TrArr__item__t1'", @@ -3173,7 +3113,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "4e17cbb1f1643968d72474190bcca939" + "d283556f9abef2a0f692ae024639e5ce" ], [ "LambdaOmega.__proj__TrArr__item__t2'", @@ -3186,7 +3126,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "414f45775191cc4590b9da89051528e7" + "ccf9d3f292968772d30bcd2d917079c8" ], [ "LambdaOmega.__proj__TrArr__item__hr1", @@ -3203,7 +3143,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "a867732a0b32bf7d32b4b158570fc940" + "d70121eb85d66d2ee649be64fbdf7313" ], [ "LambdaOmega.__proj__TrArr__item__hr2", @@ -3220,7 +3160,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "fe9a4e52030a7d1a87e3ac2012b60ab0" + "5b6b6e6363fd0b6257c160e8a4d29b93" ], [ "LambdaOmega.__proj__TrLam__item__t1", @@ -3233,7 +3173,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "7e4ed984a7e100a26fb7a188ea17f4ab" + "a155260666339d3a4fbadb0d86d384c4" ], [ "LambdaOmega.__proj__TrLam__item__t2", @@ -3246,7 +3186,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "a34a92012bb02f37265a803e0948c3d2" + "149bd4c0da6668cdf414f5d77e2f3fff" ], [ "LambdaOmega.__proj__TrLam__item__k", @@ -3259,7 +3199,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "f9e9913b6ad404189726cebe68c243a3" + "b13d4279cd51a59f8021c7f4f7202f97" ], [ "LambdaOmega.__proj__TrLam__item__hr", @@ -3276,7 +3216,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "26b5d1db1425937a14dedcdd8ccd6da4" + "f5b0e89d6152bf191e27e372f24106b6" ], [ "LambdaOmega.__proj__TrApp__item__t1", @@ -3289,7 +3229,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "859fb46b612251764febd784566c1915" + "99ae88faec6e6ce1f7d96ddfd534346d" ], [ "LambdaOmega.__proj__TrApp__item__t2", @@ -3302,7 +3242,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "c4b5fe172d7ce068947178258a86ea19" + "3a1bf7e00e0ba20ceb5d573917a5e7be" ], [ "LambdaOmega.__proj__TrApp__item__t1'", @@ -3315,7 +3255,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "fe0a7fc7ddac183d6650c0da20677068" + "9884867721f42c7f0b70e2de9998c2db" ], [ "LambdaOmega.__proj__TrApp__item__t2'", @@ -3328,7 +3268,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "244b499aabb9eca098e8d8bbfcfa8389" + "626b92a23ea03f9127b6e750b1eba9a7" ], [ "LambdaOmega.__proj__TrApp__item__hr1", @@ -3345,7 +3285,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "0881deccc1bd71619cdd749477b24463" + "ca8e2740ded014c475cb4b2243f8dd1e" ], [ "LambdaOmega.__proj__TrApp__item__hr2", @@ -3362,7 +3302,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "5b44cbcfd44a036ab38d9419b7a59ac0" + "d4d6dc636fae475fb2d5f7bd17768d36" ], [ "LambdaOmega.__proj__TrBeta__item__t1", @@ -3375,7 +3315,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "71b1ffc00c45f3531bb565f7bb3ae74f" + "2f3641194f5a985135a8917c425c38b2" ], [ "LambdaOmega.__proj__TrBeta__item__t2", @@ -3388,7 +3328,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "5ca4c001fd788d98598084cfe1cbac1f" + "06da8c439057c298566f116f7d06ec83" ], [ "LambdaOmega.__proj__TrBeta__item__t1'", @@ -3401,7 +3341,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "cf83b2726193c946178c48e1cf5f2227" + "e3e54529137cbe9d4ba2d5d25a4dc64c" ], [ "LambdaOmega.__proj__TrBeta__item__t2'", @@ -3414,7 +3354,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "eaa7fa66cff5189ae098e248c166fbc9" + "052e96c861773ac43c6eb289a1ecff29" ], [ "LambdaOmega.__proj__TrBeta__item__k", @@ -3427,7 +3367,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "043c0c32fafd4f5b2c9938b168be25fb" + "6a0aa8937e25f4ed8c09eb0ea8963f2c" ], [ "LambdaOmega.__proj__TrBeta__item__hr1", @@ -3444,7 +3384,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "e0d09de2ff182ff1a33d6ec8e3c9b01f" + "a9961bbe1acf4fef7982a8a3f2c0b7ee" ], [ "LambdaOmega.__proj__TrBeta__item__hr2", @@ -3461,7 +3401,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "588bf6b4d78685924e840aa1a5e18e92" + "79b4ccf1ef7be905a61456cd46299941" ], [ "LambdaOmega.tred_shiftup_above", @@ -3472,9 +3412,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", + "LambdaOmega_interpretation_Tm_arrow_1985927471cb43fb77bae5f2d8f48e8e", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "binder_x_18f4961c1d91234a8baf199895e17f88_0", "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_e93b1302a18a833d9aeed77330c8e15a_3", "constructor_distinct_LambdaOmega.TApp", "constructor_distinct_LambdaOmega.TArr", @@ -3486,23 +3428,23 @@ "disc_equation_LambdaOmega.TrLam", "disc_equation_LambdaOmega.TrRefl", "equality_tok_Prims.LexTop@tok", "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.var", "equation_Prims.nat", + "equation_Prims.nat", "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.tred", "int_inversion", - "partial_app_typing_be6e4803788ea8fa11040eebb3377f75", + "fuel_guarded_inversion_LambdaOmega.tred", + "function_token_typing_LambdaOmega.tsub_inc_above", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TApp__0", "projection_inverse_LambdaOmega.TApp__1", "projection_inverse_LambdaOmega.TArr__0", "projection_inverse_LambdaOmega.TArr__1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_LambdaOmega.TrApp", "subterm_ordering_LambdaOmega.TrArr", "subterm_ordering_LambdaOmega.TrBeta", "subterm_ordering_LambdaOmega.TrLam" ], 0, - "0545042069c05ae03f12eb2bde635154" + "d989c665de799ef650f7247a10c350a5" ], [ "LambdaOmega.subst_of_tred", @@ -3514,11 +3456,10 @@ "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_18f4961c1d91234a8baf199895e17f88_0", "binder_x_18f4961c1d91234a8baf199895e17f88_1", "binder_x_18f4961c1d91234a8baf199895e17f88_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "constructor_distinct_LambdaOmega.TApp", "constructor_distinct_LambdaOmega.TArr", "constructor_distinct_LambdaOmega.TVar", @@ -3530,10 +3471,9 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_e011d61ed14f4a767f2d8ab2f488df43", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_55787ff87ff44db96d410d941f4f43c6", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", @@ -3544,14 +3484,14 @@ "projection_inverse_LambdaOmega.TArr__1", "projection_inverse_LambdaOmega.TVar__0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_LambdaOmega.TApp", "subterm_ordering_LambdaOmega.TArr", "subterm_ordering_LambdaOmega.TLam", "typing_LambdaOmega.tsub_beta_gen" ], 0, - "83be327aa46a251c31cdd84f56f9cd5b" + "b047c1b1d4b385c2ddaebe41a8c0f9f7" ], [ "LambdaOmega.shift_above_and_subst", @@ -3560,7 +3500,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "2b0e1a3c17b1edee54710e6c2480575b" + "17661ef9f48bd8a4e70236e10eb3edba" ], [ "LambdaOmega.shift_above_and_subst", @@ -3569,7 +3509,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "d15733064b86bda8e56ad9a93a1893ae" + "0ad2f5acaee2f8f032f2cf9ba2b50070" ], [ "LambdaOmega.shift_above_and_subst", @@ -3580,12 +3520,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_c0505f650c79f3614ced647875bfbcc2", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LambdaOmega_interpretation_Tm_arrow_1985927471cb43fb77bae5f2d8f48e8e", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "binder_x_18f4961c1d91234a8baf199895e17f88_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "constructor_distinct_LambdaOmega.TVar", - "data_elim_LambdaOmega.TVar", "equation_FStar.FunctionalExtensionality.feq", "equation_LambdaOmega.ts", "equation_LambdaOmega.tsh", "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub", @@ -3596,23 +3535,20 @@ "equation_Prims.nat", "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_85b4ef0565f0021c1a6b313c163ccfb8", - "interpretation_Tm_abs_e011d61ed14f4a767f2d8ab2f488df43", - "partial_app_typing_be6e4803788ea8fa11040eebb3377f75", + "function_token_typing_LambdaOmega.tsub_inc_above", "int_inversion", + "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", + "interpretation_Tm_abs_55787ff87ff44db96d410d941f4f43c6", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LambdaOmega.tsub_id", "token_correspondence_LambdaOmega.tsub_inc_above", - "typing_LambdaOmega.tsub_beta_gen", - "typing_Tm_abs_85b4ef0565f0021c1a6b313c163ccfb8" + "typing_LambdaOmega.tsub_beta_gen" ], 0, - "057e5eec0915e914c50569b714db187b" + "a4a87f7a37ad8c7b41b2d1ff8ca3b1ff" ], [ "LambdaOmega.tsubst_commute_aux", @@ -3623,11 +3559,11 @@ "@MaxIFuel_assumption", "@query", "assumption_LambdaOmega.typ__uu___haseq", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "71cbd8bec29ac84c2caa5612ea067393" + "a2c672979f0f954d7b5c2b46e5dd02ee" ], [ "LambdaOmega.tsubst_commute_aux", @@ -3638,10 +3574,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_c0505f650c79f3614ced647875bfbcc2", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_LambdaOmega.TVar", - "disc_equation_LambdaOmega.TVar", "equation_LambdaOmega.ts", + "constructor_distinct_LambdaOmega.TVar", "equation_LambdaOmega.ts", "equation_LambdaOmega.tsh", "equation_LambdaOmega.tsub", "equation_LambdaOmega.tsub_beta_gen", "equation_LambdaOmega.tsub_comp", @@ -3650,22 +3585,22 @@ "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", "fuel_guarded_inversion_LambdaOmega.typ", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_85b4ef0565f0021c1a6b313c163ccfb8", - "interpretation_Tm_abs_e011d61ed14f4a767f2d8ab2f488df43", + "int_inversion", "int_typing", + "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", + "interpretation_Tm_abs_55787ff87ff44db96d410d941f4f43c6", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", "token_correspondence_LambdaOmega.tsub_comp", "typing_LambdaOmega.tsub_beta_gen", - "typing_Tm_abs_e011d61ed14f4a767f2d8ab2f488df43" + "typing_Tm_abs_55787ff87ff44db96d410d941f4f43c6" ], 0, - "f106cbf47062ebc9cd3b9b14bc7d2e5c" + "227b92b1b26995e133a8b6ce21d327e5" ], [ "LambdaOmega.tsubst_commute", @@ -3676,11 +3611,11 @@ "@MaxIFuel_assumption", "@query", "assumption_LambdaOmega.typ__uu___haseq", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "987482d2559350f26509fa9e981f5a52" + "e1d275dbcc06bf0e56a74f07b70e31d8" ], [ "LambdaOmega.tsubst_commute", @@ -3691,11 +3626,11 @@ "@MaxIFuel_assumption", "@query", "assumption_LambdaOmega.typ__uu___haseq", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "47f65315356ae8d9dcbb8fa0322aaeb0" + "73010edf67481ecc7b495a2cf0ca9473" ], [ "LambdaOmega.tsubst_commute", @@ -3704,24 +3639,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_LambdaOmega.typ__uu___haseq", - "binder_x_09f7a4a5742d4e509918b6613bca579b_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_ea3b2c7e81fd9e0b42f9e02adb99fd82_3", "equation_FStar.FunctionalExtensionality.feq", "equation_LambdaOmega.ts", "equation_LambdaOmega.tsh", "equation_LambdaOmega.tsub_beta_gen", "equation_LambdaOmega.tsub_comp", "equation_LambdaOmega.tsubst_beta_gen", "equation_LambdaOmega.var", "equation_Prims.nat", "function_token_typing_LambdaOmega.tsub_comp", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6f144dd15765c3032d5dce1eadd492a7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a7ee391026890c35c50aa78e24f7d2f1" ], 0, - "f5d96cd9a55744491983d65662490bf7" + "7cacbc328f264d0ed1b3ca809e4a69a4" ], [ "LambdaOmega.subst_of_tred_tred", @@ -3736,8 +3669,8 @@ "binder_x_18f4961c1d91234a8baf199895e17f88_1", "binder_x_18f4961c1d91234a8baf199895e17f88_2", "binder_x_18f4961c1d91234a8baf199895e17f88_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", "binder_x_d896225a1ee0893734646fc1e9ce385b_6", - "binder_x_e22ba7a032a73f6d0678d3d186686631_4", "constructor_distinct_LambdaOmega.TApp", "constructor_distinct_LambdaOmega.TArr", "data_elim_LambdaOmega.TrApp", "data_elim_LambdaOmega.TrArr", @@ -3760,7 +3693,7 @@ "projection_inverse_LambdaOmega.TApp__1", "projection_inverse_LambdaOmega.TArr__0", "projection_inverse_LambdaOmega.TArr__1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_LambdaOmega.TrApp", "subterm_ordering_LambdaOmega.TrArr", "subterm_ordering_LambdaOmega.TrBeta", @@ -3768,7 +3701,7 @@ "typing_LambdaOmega.tsub_beta_gen" ], 0, - "18e6233b71fb2707b32f01fb7bb4d8d9" + "aedc3f1734dfb6efe8229e1c20e6ea28" ], [ "LambdaOmega.ltup", @@ -3780,7 +3713,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "9515b6093523ae0d814f69f2aed47a46" + "b36cbf60742c630c5ea9ae18ded36ff7" ], [ "LambdaOmega.__proj__MkLTup__item__h1", @@ -3794,7 +3727,7 @@ "projection_inverse_LambdaOmega.MkLTup_t" ], 0, - "d9e78fa612fc99ab8a38b4138de4c89e" + "f79aa15f4c7c6fb3a5d7bd1bab805046" ], [ "LambdaOmega.__proj__MkLTup__item__h2", @@ -3808,7 +3741,7 @@ "projection_inverse_LambdaOmega.MkLTup_u" ], 0, - "2db093c7d7d0637ea614aa1d39f73c1b" + "fa2916d3b2f84e3a68255d497a9111fb" ], [ "LambdaOmega.tred_diamond", @@ -3879,7 +3812,7 @@ "subterm_ordering_LambdaOmega.TrLam" ], 0, - "c2580f3acca15201e8e4e18ef18886a6" + "bf94d1e724b926c2c0c1399fc80e638c" ], [ "LambdaOmega.tred_star", @@ -3891,7 +3824,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "e61a4591bb6cb9dc70fe6d55a2cb39fc" + "f551eb2e1f76783419d1bee03eff95c6" ], [ "LambdaOmega.__proj__TsRefl__item__t", @@ -3904,7 +3837,7 @@ "refinement_interpretation_Tm_refine_1a7575284e0bd4a4c04a45a4b9ef5e55" ], 0, - "fe8087ab6e0ce245af577a0a308315f8" + "6d27dc6ba8e40c536b01d2550421a2f6" ], [ "LambdaOmega.__proj__TsStep__item__t1", @@ -3917,7 +3850,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "4482faf46b978294312f0d79c3f74aa3" + "38dcbe8f414a69787752c40e8434f3ee" ], [ "LambdaOmega.__proj__TsStep__item__t2", @@ -3930,7 +3863,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "6963cb29117eed70dc55354d08fd1897" + "93cc5e01455f18c5ac64f5d0cafd0027" ], [ "LambdaOmega.__proj__TsStep__item__t3", @@ -3943,7 +3876,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "70e9b60040cd352fbb5ad8a6de648a20" + "a43f591c3aaa321fa430bbcf8ac0eabf" ], [ "LambdaOmega.__proj__TsStep__item__hr12", @@ -3960,7 +3893,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "3542d77eda8e58b587f363877d2554ad" + "41dccc79ab82d3f11d34a7d98d05c19b" ], [ "LambdaOmega.__proj__TsStep__item__hr23", @@ -3977,7 +3910,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "a8e39227a36c6c9536e855a476d2f4e6" + "80b0dbbd824dad57093656dc58dd340e" ], [ "LambdaOmega.tred_star_one_loop", @@ -3994,7 +3927,7 @@ "subterm_ordering_LambdaOmega.TsStep" ], 0, - "a25cd59e9bc1db00245814062b0cab81" + "e99e8921ec4bd4ff782bb71e8f991c8b" ], [ "LambdaOmega.confluence", @@ -4011,7 +3944,7 @@ "subterm_ordering_LambdaOmega.TsStep" ], 0, - "f0e4f663b3fcee66756bb0ddc678af91" + "f5732f369d09a19a188cf4d2d09cf222" ], [ "LambdaOmega.ts_tran", @@ -4028,7 +3961,7 @@ "subterm_ordering_LambdaOmega.TsStep" ], 0, - "903d75a09812321529393d74414639c7" + "0ece35ccfe4d5e0ddfa84a3db5a9a0aa" ], [ "LambdaOmega.tred_star_sym", @@ -4040,7 +3973,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "5be8820de8dbaf0f22dca7f669f14aca" + "cf9633e43b79b945b606af4dcab390d0" ], [ "LambdaOmega.__proj__TssBase__item__t1", @@ -4054,7 +3987,7 @@ "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" ], 0, - "c7518f48d177aa832e5e497def7670e3" + "7c7ec220dcb2edc5bf3931326d1aea91" ], [ "LambdaOmega.__proj__TssBase__item__t2", @@ -4068,7 +4001,7 @@ "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" ], 0, - "ca0ab4806f583afd115c506999480409" + "cf5df01568c5e12e6fe015b520447fbe" ], [ "LambdaOmega.__proj__TssBase__item__hr", @@ -4086,7 +4019,7 @@ "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" ], 0, - "746bfa842cccd122cdc754fad7d6fdf0" + "201f4bb2fd751d94b785c90330ac8d21" ], [ "LambdaOmega.__proj__TssSym__item__t1", @@ -4099,7 +4032,7 @@ "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" ], 0, - "10d157427ce1f244f8f9bc48590a48f2" + "0d1b5e0b103c79bbcb52fd5f83bd89e8" ], [ "LambdaOmega.__proj__TssSym__item__t2", @@ -4112,7 +4045,7 @@ "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" ], 0, - "4f437b37634b61b490796ea005b8d483" + "1daea579e7939fdecc1774a89b50fcc3" ], [ "LambdaOmega.__proj__TssSym__item__hr", @@ -4129,7 +4062,7 @@ "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" ], 0, - "1eb87b70a478fb0280bede14e94a8949" + "993cae5e1ff7c9243f387eadeaef2613" ], [ "LambdaOmega.__proj__TssTran__item__t1", @@ -4143,7 +4076,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "cdac593e3ac86ff996f0dfc5a2ed4a3a" + "790b9bbb7812764628c75f723128ef23" ], [ "LambdaOmega.__proj__TssTran__item__t2", @@ -4157,7 +4090,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "a081bad2c78826ba63376639c44051dc" + "dc73a6146a3467310020700a764429df" ], [ "LambdaOmega.__proj__TssTran__item__t3", @@ -4171,7 +4104,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "db6c5eca61572188d2d26712e65748b1" + "9ea18af8af2fabd22e66df3aa4f16cff" ], [ "LambdaOmega.__proj__TssTran__item__hr12", @@ -4189,7 +4122,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "5c2348b25e4a5152ce6e345b3a75915a" + "5f0adf19d961aa8b651186c5155b6a1e" ], [ "LambdaOmega.__proj__TssTran__item__hr23", @@ -4207,7 +4140,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "e33522e44044970aeca3f4e46eb24017" + "d25849151bde46f58401f1796c6b30a0" ], [ "LambdaOmega.tred_star_sym_confluent", @@ -4226,7 +4159,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "e293c962dee3aaf0f11a39ca97c5401f" + "a02d92362d8cfde0a2e007bb5231af90" ], [ "LambdaOmega.trlam_tss", @@ -4245,7 +4178,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "8cfa6ee04977318dfd42e75ee89f260e" + "d9dc7948a4093bef8564ed75bcb7e2c7" ], [ "LambdaOmega.trapp_tss_1", @@ -4264,7 +4197,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "b0db8c3f0ff1cec743a9ca40414eefcf" + "fb51792cd2f2c86cdfae5a02c1ff3976" ], [ "LambdaOmega.trapp_tss_2", @@ -4283,7 +4216,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "6364c0b14e5460e37d9ea0cecd2ae513" + "349f80139c440a79345de3194a26e9d6" ], [ "LambdaOmega.trarr_tss_1", @@ -4302,7 +4235,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "d90bec9cbeecf084d4c6da2ee713e77d" + "d1ab2055c65edd09ccecfb0199d32c5e" ], [ "LambdaOmega.trarr_tss_2", @@ -4321,7 +4254,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "a7930bf16c4c7d7a22c84c70c4e66606" + "d0941322a957323782d4407d1b490a57" ], [ "LambdaOmega.tequiv_tss", @@ -4349,7 +4282,7 @@ "subterm_ordering_LambdaOmega.EqTran" ], 0, - "cd7829d303fd7b3210a5212f9fa41e77" + "31b3c808f95c40e018e8e1fa6783c3b2" ], [ "LambdaOmega.tred_tequiv", @@ -4373,7 +4306,7 @@ "subterm_ordering_LambdaOmega.TrLam" ], 0, - "08c9f29f213aa8bac0ec0a033495c7fd" + "27bc3b79e33371ed069f18594bd8070a" ], [ "LambdaOmega.tred_star_tequiv", @@ -4390,7 +4323,7 @@ "subterm_ordering_LambdaOmega.TsStep" ], 0, - "4c8967d16b15f6dc18f8f07c6be3933a" + "54280a7ede521338ee9a30d90d060b6a" ], [ "LambdaOmega.tss_tequiv", @@ -4409,7 +4342,7 @@ "subterm_ordering_LambdaOmega.TssTran" ], 0, - "7acc4a0d119e29b6fc162fe54266f373" + "2e860882e8c27a7caab571966d063a9e" ], [ "LambdaOmega.tred_tarr_preserved", @@ -4418,7 +4351,7 @@ 2, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "265b052577d47598590a8a29d0fa292a" + "bce48d58b3899a3c3a0f0482ebabb8be" ], [ "LambdaOmega.tred_tarr_preserved", @@ -4427,7 +4360,7 @@ 2, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "181bc6db58e82962c803c13ac4581964" + "86dc4752b3c003a6c51ab7e51352a631" ], [ "LambdaOmega.tred_tarr_preserved", @@ -4452,15 +4385,15 @@ "disc_equation_LambdaOmega.TsStep", "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_LambdaOmega.tred", "fuel_guarded_inversion_LambdaOmega.tred_star", - "interpretation_Tm_abs_2e633be25cde9249c93e9d34d0d0e603", - "interpretation_Tm_abs_9b2a9a9b0b14676e60a280acd0bea8e2", + "interpretation_Tm_abs_2f3626c38da2147ea54883e5b605087c", + "interpretation_Tm_abs_a6d62359d07b718f9e8513bc2472c001", "projection_inverse_LambdaOmega.TArr__0", "projection_inverse_LambdaOmega.TArr__1", "refinement_interpretation_Tm_refine_9905a098cd2081ba5e7ac6fe0963c694", "subterm_ordering_LambdaOmega.TsStep" ], 0, - "56d2848a148e5e7ccf140ce6a53ea7e8" + "98829215d4eee654c9ca73ba801b3dc6" ], [ "LambdaOmega.inversion_elam", @@ -4470,7 +4403,6 @@ [ "@MaxIFuel_assumption", "@query", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_LambdaOmega.typ__uu___haseq", "binder_x_0f94a85e12455d40abc5a7e501edf70a_0", "binder_x_18f4961c1d91234a8baf199895e17f88_1", @@ -4484,23 +4416,22 @@ "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", "fuel_guarded_inversion_LambdaOmega.typing", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_2c495d8ffde90f78d9ef9ebbd0ad52eb", - "interpretation_Tm_abs_44c482646b8cbd3eb05df5bb409d8628", - "interpretation_Tm_abs_5063753389953b5f1a1565b518e75b2e", - "interpretation_Tm_abs_91ff293f78adcefffb4d2a50126f0535", + "interpretation_Tm_abs_7ae603f2daea1ce53d0356db36a1bb14", + "interpretation_Tm_abs_b06b900b26d8e5f6cf2b617a322abd10", + "interpretation_Tm_abs_cd0079e364ee6b339ef57682977eb93b", + "interpretation_Tm_abs_f23a5c79fada8c788cb02f0e439363b5", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_LambdaOmega.ELam__0", "projection_inverse_LambdaOmega.ELam__1", "projection_inverse_LambdaOmega.TArr__0", "projection_inverse_LambdaOmega.TArr__1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7fec4f6a372e5b0140dba18b2961e68a", "refinement_interpretation_Tm_refine_b5e4032467ebb0261095436b05e1ebb5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "subterm_ordering_LambdaOmega.TyEqu" ], 0, - "b53011da882d4f3f0f16176e9c93162a" + "31fed394af87d5ed321540c8937d9daa" ], [ "LambdaOmega.preservation", @@ -4532,7 +4463,7 @@ "subterm_ordering_LambdaOmega.TyEqu" ], 0, - "d041861ce1ea0c3c1c725e3605a2df5b" + "58de41f31b7f17829a3f84142745f66e" ], [ "LambdaOmega.knd", @@ -4541,7 +4472,7 @@ 1, [ "@query" ], 0, - "8427bb130e807b9b27c0139a1db43f52" + "0336ce6b784c96accb64f85dbe89a7f4" ], [ "LambdaOmega.__proj__KArr__item___0", @@ -4554,7 +4485,7 @@ "refinement_interpretation_Tm_refine_8b48b9eeb2a347feedfef98eb374c34d" ], 0, - "3dbfef9886448192d5aa25868a339253" + "41d6d267920c506e9b80cd54a3452bc4" ], [ "LambdaOmega.__proj__KArr__item___1", @@ -4567,7 +4498,7 @@ "refinement_interpretation_Tm_refine_8b48b9eeb2a347feedfef98eb374c34d" ], 0, - "d540a366857137bb7914a4545889e68f" + "49bc7cef59e90bf48734f219b75a144b" ], [ "LambdaOmega.typ", @@ -4579,11 +4510,11 @@ "assumption_LambdaOmega.knd__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b8ccf901951d84d644c25f7f25cb365a" + "d554b5729dd2445c4a92b284bcf08526" ], [ "LambdaOmega.__proj__TVar__item___0", @@ -4596,7 +4527,7 @@ "refinement_interpretation_Tm_refine_8454d7d4c32c3f232806dd6979b25988" ], 0, - "09327c1b8aed78f5212c21ba926a570b" + "f144528130177272842e63f3e68cd8bd" ], [ "LambdaOmega.__proj__TLam__item___0", @@ -4609,7 +4540,7 @@ "refinement_interpretation_Tm_refine_5f11a138c840cc7111e27e944b2f32fa" ], 0, - "595cfa05967a86c775878151e169664a" + "27396a86fb334a441520ea1295d55ee3" ], [ "LambdaOmega.__proj__TLam__item__t", @@ -4622,7 +4553,7 @@ "refinement_interpretation_Tm_refine_5f11a138c840cc7111e27e944b2f32fa" ], 0, - "aa687db6fa9991d09aa0788e72cb6732" + "2b9a47bc1bbda7446d6ed9046f5b1bb9" ], [ "LambdaOmega.__proj__TApp__item___0", @@ -4635,7 +4566,7 @@ "refinement_interpretation_Tm_refine_0e28fa2f56a31115ec481703c0cb0a1c" ], 0, - "7c3ef2ee6a31c067ae435b6ca3fb70e5" + "b37dfe332edd046c96feadaf8c94b7a7" ], [ "LambdaOmega.__proj__TApp__item___1", @@ -4648,7 +4579,7 @@ "refinement_interpretation_Tm_refine_0e28fa2f56a31115ec481703c0cb0a1c" ], 0, - "56f283d9e367f93e61bc296df7c725e1" + "3a3bcc64e5c410ce6aec529cf9f08368" ], [ "LambdaOmega.__proj__TArr__item___0", @@ -4661,7 +4592,7 @@ "refinement_interpretation_Tm_refine_ebfacded5bfac7e16f0c4cf9d6c0a24b" ], 0, - "f11161a4c53f7cd32500fbd5285f6e80" + "c46bb92d5a428586a0761792d00da649" ], [ "LambdaOmega.__proj__TArr__item___1", @@ -4674,7 +4605,7 @@ "refinement_interpretation_Tm_refine_ebfacded5bfac7e16f0c4cf9d6c0a24b" ], 0, - "a42bcd3848e83d02ba567a8e9a6372e3" + "1c33239067b5ba6a8bebe9379dbb0152" ], [ "LambdaOmega.exp", @@ -4686,11 +4617,11 @@ "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b65e614b6abb03c1a0201d603d9f3fbd" + "2247c0858687520a0bb627349504ac79" ], [ "LambdaOmega.__proj__EVar__item___0", @@ -4703,7 +4634,7 @@ "refinement_interpretation_Tm_refine_13c221c50ecb0c200f598116593dea3d" ], 0, - "6acb26939721dd4d3e809f786efd9270" + "1bf55601363e5653ca60d2d04495ffba" ], [ "LambdaOmega.__proj__EApp__item___0", @@ -4716,7 +4647,7 @@ "refinement_interpretation_Tm_refine_e64f1650f71e059a934486674c4393f7" ], 0, - "c7619ff3433322ff4a805cc3e47eda04" + "54d510160f64fcbf7979022b379f6482" ], [ "LambdaOmega.__proj__EApp__item___1", @@ -4729,7 +4660,7 @@ "refinement_interpretation_Tm_refine_e64f1650f71e059a934486674c4393f7" ], 0, - "a002da06eb48b43d20c708126e0c8664" + "36b4ccf4ee0ec307952f8fe74167a7a6" ], [ "LambdaOmega.__proj__ELam__item___0", @@ -4742,7 +4673,7 @@ "refinement_interpretation_Tm_refine_0c4cbaddf94de33c9fa2045e2ec86a00" ], 0, - "066be80d5db1e31d7120a2239143df89" + "857af610229634d939d66e03e96a2a35" ], [ "LambdaOmega.__proj__ELam__item___1", @@ -4755,7 +4686,7 @@ "refinement_interpretation_Tm_refine_0c4cbaddf94de33c9fa2045e2ec86a00" ], 0, - "ecd25a2d238a83c7370f4e0955cab878" + "86f9ff60fe21b0b30cfb9f8b8682cd91" ], [ "LambdaOmega.is_erenaming", @@ -4764,10 +4695,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_815c4eca866d1c7c736f480f60423fbe" + "refinement_interpretation_Tm_refine_fbfece31e99154e48993e2ff9813691a" ], 0, - "47fa6f8f710c2a8c4fb3991dc4b95b68" + "a492983b73a2dd92bd09ff1ab94441ac" ], [ "LambdaOmega.esub_inc", @@ -4778,10 +4709,10 @@ "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "608e2e1a6b4b6a584260b07755beeac6" + "0791639c3b385bb1d59c8ed9a5a54bf3" ], [ "LambdaOmega.esubst", @@ -4790,11 +4721,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LambdaOmega_interpretation_Tm_arrow_af3d8eba0dc5d3956683426e190362ef", + "LambdaOmega_interpretation_Tm_arrow_06bd065149458295e65033e8ae238f27", + "LambdaOmega_interpretation_Tm_arrow_0f92dd0e14d50bdcc6e47d37377032a9", "LambdaOmega_pretyping_1c3eda042f75cb90bd281a839e46e47d", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_1c3eda042f75cb90bd281a839e46e47d_1", - "binder_x_72be33445e3cf5d60d578600fdf4ad4e_0", "bool_inversion", + "binder_x_2467ea16a8390f133518a74f18615c52_0", "bool_inversion", "constructor_distinct_LambdaOmega.EVar", "disc_equation_LambdaOmega.EApp", "disc_equation_LambdaOmega.ELam", "disc_equation_LambdaOmega.EVar", "equality_tok_Prims.LexTop@tok", @@ -4807,9 +4739,9 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.EVar__0", "refinement_interpretation_Tm_refine_16db7d9e55ec639a8c277fda1d255e67", - "refinement_interpretation_Tm_refine_aacdfe0e6f35a8e2959b27ef56f70b68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e966d49e99bb259fb40f929bd1862f96", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5ca2649b9947b9cfef9d85a0f4c89df8", + "refinement_interpretation_Tm_refine_8d6f20cd33d75a9a68572f6afadcfec4", "subterm_ordering_LambdaOmega.EApp", "subterm_ordering_LambdaOmega.ELam", "token_correspondence_LambdaOmega.esub_lam", @@ -4817,7 +4749,7 @@ "typing_LambdaOmega.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "80d716fc20cbec86d3bfd85176ba5797" + "a178f0c47f5186be9de36182a95d40f0" ], [ "LambdaOmega.esubst", @@ -4827,8 +4759,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_72be33445e3cf5d60d578600fdf4ad4e_0", - "binder_x_fd2118004c9b4fcd0fcebc3eabc62881_1", "bool_inversion", + "binder_x_2467ea16a8390f133518a74f18615c52_0", + "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_1", "bool_inversion", "constructor_distinct_LambdaOmega.EVar", "disc_equation_LambdaOmega.EVar", "equation_LambdaOmega.erenaming", "equation_LambdaOmega.esub", "equation_LambdaOmega.esub_inc", @@ -4840,14 +4772,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.EVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e966d49e99bb259fb40f929bd1862f96", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5ca2649b9947b9cfef9d85a0f4c89df8", "token_correspondence_LambdaOmega.esub_inc", "typing_LambdaOmega.is_erenaming", "typing_LambdaOmega.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "95e02983b00f180108c53ad5217c3ed0" + "8a019b39a2c41dff6e6ea413383545b5" ], [ "LambdaOmega.esub_lam_hoist", @@ -4856,7 +4788,7 @@ 1, [ "@query", "assumption_LambdaOmega.exp__uu___haseq" ], 0, - "001301102be1b5a4abad97500227ea00" + "daa1a472cedeebb25b6857bd9d38963b" ], [ "LambdaOmega.esub_beta", @@ -4864,16 +4796,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LambdaOmega.var", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", + "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1f72484866acea8c2bccc64ad9edc616" + "de1ae4d1c2fd1055901e1f587ad06d2c" ], [ "LambdaOmega.is_trenaming", @@ -4882,10 +4811,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_724f68be0871f50df73ba6f499afda02" + "refinement_interpretation_Tm_refine_a3541ea2aa7a52c156e8f5632774ffb6" ], 0, - "171173e9e1c1d4fb9ec1353ffadd6363" + "ee845574c68f6d52d1ddcac9a9a80893" ], [ "LambdaOmega.tsub_inc_above", @@ -4896,10 +4825,10 @@ "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a9b4086f64b7a62f844785700b077e30" + "a22e54828de5e87309ef13e823c7ffc0" ], [ "LambdaOmega.tsubst", @@ -4908,11 +4837,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LambdaOmega_interpretation_Tm_arrow_d56aef442f3a994e377e5ffb4a30688c", + "LambdaOmega_interpretation_Tm_arrow_1fc17894ab8a84446150f9cbd4ae3dfb", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_82c741e99312e71219473071e8fee127_0", "bool_inversion", + "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_0", + "binder_x_18f4961c1d91234a8baf199895e17f88_1", "bool_inversion", "constructor_distinct_LambdaOmega.TVar", "disc_equation_LambdaOmega.TApp", "disc_equation_LambdaOmega.TArr", "disc_equation_LambdaOmega.TLam", "disc_equation_LambdaOmega.TVar", @@ -4925,10 +4855,10 @@ "int_inversion", "int_typing", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_adf6129dac0c057870e0fed85299cde6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_1ab36994513d2cff854e7d6ef2c4819d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ce615ce2294eb74a8456da4b7daece8c", - "refinement_interpretation_Tm_refine_f04322e656e90caea36e2bf316eed9a3", + "refinement_interpretation_Tm_refine_dceed1b95380314a1c26e033051eede6", "subterm_ordering_LambdaOmega.TApp", "subterm_ordering_LambdaOmega.TArr", "subterm_ordering_LambdaOmega.TLam", @@ -4937,7 +4867,7 @@ "typing_LambdaOmega.uu___is_TVar", "well-founded-ordering-on-nat" ], 0, - "56feb1af67650a3e41d3abde45eb0f99" + "66879dcc078f3931abefccafbcff7ed9" ], [ "LambdaOmega.tsubst", @@ -4946,29 +4876,31 @@ 1, [ "@MaxIFuel_assumption", "@query", + "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_82c741e99312e71219473071e8fee127_0", - "binder_x_fd2118004c9b4fcd0fcebc3eabc62881_1", "bool_inversion", + "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_0", + "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_1", "bool_inversion", "constructor_distinct_LambdaOmega.TVar", "disc_equation_LambdaOmega.TVar", "equation_LambdaOmega.is_tvar", "equation_LambdaOmega.trenaming", "equation_LambdaOmega.tsub", "equation_LambdaOmega.tsub_inc", "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", - "equation_Prims.nat", "function_token_typing_LambdaOmega.tsub_inc", + "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.typ", + "function_token_typing_LambdaOmega.tsub_inc", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f04322e656e90caea36e2bf316eed9a3", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dceed1b95380314a1c26e033051eede6", "token_correspondence_LambdaOmega.tsub_inc", "typing_LambdaOmega.is_trenaming", "typing_LambdaOmega.uu___is_TVar", "well-founded-ordering-on-nat" ], 0, - "e8e8d0d5e1a242eeaaeb59f00697f04c" + "675e793dcc5b3a2d2d482c3e9a99fc8b" ], [ "LambdaOmega.tsubst_extensional", @@ -4977,7 +4909,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "a1b292c6bafdebdcb22d4a6a6b1f08a2" + "f1768eb9effff970b4ccb33d423c78b7" ], [ "LambdaOmega.tsub_lam_hoist", @@ -4986,7 +4918,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "127a3ed6704a2057f07d1ccdaa6d3ad4" + "51b67d1c770b570dbb77f02b2465aba4" ], [ "LambdaOmega.tsub_comp_inc", @@ -4995,7 +4927,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "a4e3320028c9a295f585a72041be133e" + "3b42669caf6dfb1ec4d23b3304657163" ], [ "LambdaOmega.tsubst_comp", @@ -5004,7 +4936,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "c142c804cb267d6ad288b29467b6991f" + "454dd8f0f42ec26871a1d632eb799125" ], [ "LambdaOmega.tsub_lam_comp", @@ -5013,7 +4945,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "70fde7b550a5e5f8bebf09e071754975" + "2aa431a941d9bf66bd13de594bfc4236" ], [ "LambdaOmega.tsubst_id", @@ -5022,7 +4954,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "c04dabc88d052017728d4e945cbaad14" + "eb04eee03aaa35c31f5268cc9e581eaf" ], [ "LambdaOmega.tsub_beta_gen", @@ -5030,20 +4962,17 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LambdaOmega.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d610367ba29a18da773aef3f3532a94d" + "5ed611df47d965cd0b971a7e68ac3136" ], [ "LambdaOmega.step", @@ -5055,7 +4984,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "990c21764f7170a0a3c133d53b164a0f" + "cbe167633acacfc8e7b15a2c42e728da" ], [ "LambdaOmega.__proj__SBeta__item__t", @@ -5068,7 +4997,7 @@ "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" ], 0, - "65f18642bebaf3c9ac02d177b96a9512" + "c52d065edb9cb23957bd012caa383fed" ], [ "LambdaOmega.__proj__SBeta__item__e1", @@ -5081,7 +5010,7 @@ "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" ], 0, - "e0946bb4625bac93435c128b833bd679" + "e311f5605a48d1985c98788b7914eefd" ], [ "LambdaOmega.__proj__SBeta__item__e2", @@ -5094,7 +5023,7 @@ "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" ], 0, - "c42bca010532c5b9bd610833766ad07c" + "c1ecc80b914495f2f453ae30859dafec" ], [ "LambdaOmega.__proj__SApp1__item__e1", @@ -5107,7 +5036,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "2df4ab8316662ab7418f039e243e9dbc" + "336639176192fad24a706c846308120b" ], [ "LambdaOmega.__proj__SApp1__item__e2", @@ -5120,7 +5049,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "cdf32725329ad2fff619cf665835ec07" + "01c0263f2a0b2010123f4e8c81856687" ], [ "LambdaOmega.__proj__SApp1__item__e1'", @@ -5133,7 +5062,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "7e7e16f3fa9fc45b6b53055caaeb3613" + "1f4ec9a16769f2d8ddb178286b05444d" ], [ "LambdaOmega.__proj__SApp1__item__hst", @@ -5150,7 +5079,7 @@ "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" ], 0, - "ab3fabb2bee9f6203304962d6cf84a08" + "bb712618bc5279801bf85146c6981999" ], [ "LambdaOmega.__proj__SApp2__item__e1", @@ -5163,7 +5092,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "8bc092114f99086a5bc663a34bfe2cee" + "7be7a0b8bb6904839b4c8014b7d05bb7" ], [ "LambdaOmega.__proj__SApp2__item__e2", @@ -5176,7 +5105,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "0ac41876a2a2045a098af80d09bac76a" + "7c14dc34632eda922a5120c03cf9896f" ], [ "LambdaOmega.__proj__SApp2__item__e2'", @@ -5189,7 +5118,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "7a01f1f8b4147316cdb1b14775102239" + "8002561afd4d2606670cb4541c08b685" ], [ "LambdaOmega.__proj__SApp2__item__hst", @@ -5206,7 +5135,7 @@ "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" ], 0, - "697d5d273866ba2a0c809f80184ca942" + "cdcff3695361ad1804e839f051d31464" ], [ "LambdaOmega.extend_tvar", @@ -5214,24 +5143,22 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_LambdaOmega.lookup_evar", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_LambdaOmega.typ@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LambdaOmega.lookup_evar" ], 0, - "51b42c70ded884e9357cb816492b476e" + "9f9c08e592ebccdd4e80138a26d4c9a6" ], [ "LambdaOmega.extend_evar", @@ -5239,19 +5166,16 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0d0e45a9e5aa63efe9e99f2ffc90944b" + "28afae9bf1774eb4292a4599c4743182" ], [ "LambdaOmega.kinding", @@ -5259,12 +5183,11 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_47d81d21bda8f121fb1a16c8ff2d0c04" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_993a048a28d1b26044734a9b4a5efdcc" ], 0, - "4f70ed82a5c97388d81258b758e8e572" + "2fd748dc3d047a15fcc6e47aeeed0a52" ], [ "LambdaOmega.__proj__KiVar__item__g", @@ -5277,7 +5200,7 @@ "refinement_interpretation_Tm_refine_728f5aba7f4b5dc37458445279a7deb5" ], 0, - "68a380ad82cd2543b1f5f301b51f2d0e" + "4b2762985413325ef8633b53745996c8" ], [ "LambdaOmega.__proj__KiVar__item__a", @@ -5294,7 +5217,7 @@ "refinement_interpretation_Tm_refine_728f5aba7f4b5dc37458445279a7deb5" ], 0, - "35272167ee9d305e5c174d1ac609e010" + "83362e78360c2f996e6b4a526d74e7cd" ], [ "LambdaOmega.__proj__KiLam__item__g", @@ -5307,7 +5230,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "741e9f7dba3a68a3c710348962bf30f7" + "c1902c350b01d8f88ff8254bb1eb83bc" ], [ "LambdaOmega.__proj__KiLam__item__k", @@ -5320,7 +5243,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "5e43b90bcc948273fa6bf26e537911e7" + "fd6ad0ff4e7b56a546bd114fc2d67a53" ], [ "LambdaOmega.__proj__KiLam__item__t", @@ -5333,7 +5256,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "b9c256d9daeda3f9e3b117297aabdc1b" + "6687d0f4730758fa909f78623ede7138" ], [ "LambdaOmega.__proj__KiLam__item__k'", @@ -5346,7 +5269,7 @@ "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" ], 0, - "c0279cc4f344b77ae5ccf034f064699b" + "26b53522b2ad408eba4d3052cbd11854" ], [ "LambdaOmega.__proj__KiLam__item__hk", @@ -5377,7 +5300,7 @@ "typing_LambdaOmega.lookup_evar" ], 0, - "ea1158eceff9bb90b0173d805b31a5be" + "dded44ff37e8a33f0cf1c384cd7821a1" ], [ "LambdaOmega.__proj__KiApp__item__g", @@ -5390,7 +5313,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "630967f7c33bc643c8889b22a582cd4f" + "ad1f9f043018bd580518cde3ed0ae2fe" ], [ "LambdaOmega.__proj__KiApp__item__t1", @@ -5403,7 +5326,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "f79b2500cae1c1e46415ff2a967734ff" + "6f8302fd36274a4f8100a2a4c5b09573" ], [ "LambdaOmega.__proj__KiApp__item__t2", @@ -5416,7 +5339,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "61d92df98543dbef5fb705fa298d161f" + "1fa906e0a65722e3b59026a8990374d6" ], [ "LambdaOmega.__proj__KiApp__item__k11", @@ -5429,7 +5352,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "70f760607d8a02236bce7639be5f241d" + "d3d37ef8d9c2cc6dddeaa09fd4197f90" ], [ "LambdaOmega.__proj__KiApp__item__k12", @@ -5442,7 +5365,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "088471c630a605a7797b39abc58be813" + "7672b40591cf789ae0b71f0b54281134" ], [ "LambdaOmega.__proj__KiApp__item__hk1", @@ -5465,7 +5388,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "f1b3776c1a3097b842a0fcc6215097d1" + "9c15b1aa87d4a267fd2f484f66651943" ], [ "LambdaOmega.__proj__KiApp__item__hk2", @@ -5487,7 +5410,7 @@ "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" ], 0, - "0425244ad41b91ad27aa0a2d346a5573" + "0004185d5f2782b5d8000c72f6111810" ], [ "LambdaOmega.__proj__KiArr__item__g", @@ -5500,7 +5423,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "e5d76c312e5f45c1a592ceeeb34d42d2" + "2cbdd4bc22f3d754df074a11541d2f94" ], [ "LambdaOmega.__proj__KiArr__item__t1", @@ -5513,7 +5436,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "5b6991c6bc3a5bb9de96a7545b4d555f" + "73613190f5a7f6304c0af4c025d91cf8" ], [ "LambdaOmega.__proj__KiArr__item__t2", @@ -5526,7 +5449,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "9e937e7c68f639621aec3f6de29ab106" + "9520ed84ece038a6801259488649b7dd" ], [ "LambdaOmega.__proj__KiArr__item__hk1", @@ -5546,7 +5469,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "cb9a0448a75452fddcf3445b5957a34b" + "fbabd50331996eaa0494e7e418a25c64" ], [ "LambdaOmega.__proj__KiArr__item__hk2", @@ -5566,7 +5489,7 @@ "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" ], 0, - "9a3e7ebe8eca0b2d94628b3e6a29ba95" + "139be671a363495713fbe1d9b5fdd69b" ], [ "LambdaOmega.tequiv", @@ -5578,7 +5501,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "7872e622045d7fcee72c79e2dd554517" + "1c368595e52613ef4fe5207424ec6d14" ], [ "LambdaOmega.__proj__EqRefl__item__t", @@ -5591,7 +5514,7 @@ "refinement_interpretation_Tm_refine_c9253dcb041a3b4f852211144c57ce7b" ], 0, - "5375c137d656dcfdc711b49072ace6a1" + "3c60d5a01fe53d5fadb7a34bcf81f2e9" ], [ "LambdaOmega.__proj__EqSymm__item__t1", @@ -5604,7 +5527,7 @@ "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" ], 0, - "4758cb7dd2bae13be41abe19b3243b13" + "ae59c66a145340c22a7724d9172aff8a" ], [ "LambdaOmega.__proj__EqSymm__item__t2", @@ -5617,7 +5540,7 @@ "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" ], 0, - "d2ff0067cd9b17db54ef0a0bad9b4546" + "1c944db9c489cf57d49955f0e840894e" ], [ "LambdaOmega.__proj__EqSymm__item__he", @@ -5634,7 +5557,7 @@ "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" ], 0, - "7729c040a6233508e7e5a30107c1c730" + "8c5d33db190f0c228c7aa1a803c19783" ], [ "LambdaOmega.__proj__EqTran__item__t1", @@ -5647,7 +5570,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "3fec37289e39f5627684c00ca9a3c16b" + "ac9fd38b1a84f29b3ccc5e2696b9ff74" ], [ "LambdaOmega.__proj__EqTran__item__t2", @@ -5660,7 +5583,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "78d7e568a7cf47b3df36c0aeecdbcb8c" + "66dee5025d3275c8381252f84c0cc361" ], [ "LambdaOmega.__proj__EqTran__item__t3", @@ -5673,7 +5596,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "1af3ddeef7e016d216f8e2422f2dc71b" + "98265f05ca7ab110a3bec4c181d97956" ], [ "LambdaOmega.__proj__EqTran__item__he12", @@ -5690,7 +5613,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "b776781f92fc50dc7fa19c399a001fab" + "a61cdbedb0e91609d01f84850231f5d0" ], [ "LambdaOmega.__proj__EqTran__item__he23", @@ -5707,7 +5630,7 @@ "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" ], 0, - "e6adcc5db7b6becc0e87513aaee1dd2b" + "f8e0b2454b994ef9e859b3c40a94b128" ], [ "LambdaOmega.__proj__EqLam__item__t", @@ -5720,7 +5643,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "80364a69041e540fa33697c1f8fe523e" + "a202c5433c0d41f66a111a25d3db49d5" ], [ "LambdaOmega.__proj__EqLam__item__t'", @@ -5733,7 +5656,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "1fd27084943031ea94d965acbc2e9b90" + "09655fb8f4d031af2cc326fc5aea56fa" ], [ "LambdaOmega.__proj__EqLam__item__k", @@ -5746,7 +5669,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "5538e8f290c74ce7c41390cfc1052592" + "9126bf84be6759a5efa6de1d4df0133c" ], [ "LambdaOmega.__proj__EqLam__item__he", @@ -5763,7 +5686,7 @@ "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" ], 0, - "5b5d8c3bdbdf28ba3e8b11517775721b" + "88a52c0bc2cd9805b1537bfea9ccd149" ], [ "LambdaOmega.__proj__EqApp__item__t1", @@ -5776,7 +5699,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "aad12336b621d7ae53a00db362da94cf" + "d35093f0d7231aa1495848c0128c2ce3" ], [ "LambdaOmega.__proj__EqApp__item__t1'", @@ -5789,7 +5712,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "383cabf7f43e208dd7d4575dd9e5ccb3" + "2ce852ef503ef257406e3fafdd196fd0" ], [ "LambdaOmega.__proj__EqApp__item__t2", @@ -5802,7 +5725,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "ab28bfeecad7a6ccd44413c837ba61b8" + "3010ad0f2a73e208bc78de5598ea09a6" ], [ "LambdaOmega.__proj__EqApp__item__t2'", @@ -5815,7 +5738,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "ebb175e74eb939b56d24b1e2a95f2c10" + "976daf073aac84c1893c82d7f95ca5f6" ], [ "LambdaOmega.__proj__EqApp__item__he1", @@ -5832,7 +5755,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "5030012e1fe9e7cf7fa76c3ae928c733" + "e485a6dba827c697af73228b916dcf7b" ], [ "LambdaOmega.__proj__EqApp__item__he2", @@ -5849,7 +5772,7 @@ "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" ], 0, - "83fb33a46dd44a6719601b1bf0f99b35" + "09122159b625af9256b349066216d74a" ], [ "LambdaOmega.__proj__EqBeta__item__k", @@ -5862,7 +5785,7 @@ "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" ], 0, - "666ab8c90e90c24ffd70862ecbf81019" + "a36c9688379413e96f8dc158bcafe32a" ], [ "LambdaOmega.__proj__EqBeta__item__t1", @@ -5875,7 +5798,7 @@ "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" ], 0, - "5286caa78cc2d3c4084bc36f25ba8fac" + "606f0aaafcc9ae29b10f4684aaf59a32" ], [ "LambdaOmega.__proj__EqBeta__item__t2", @@ -5888,7 +5811,7 @@ "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" ], 0, - "4c6a4251db60c74087044b33f2f11894" + "b13dd593c56a26abf78da973762af6a0" ], [ "LambdaOmega.__proj__EqArr__item__t1", @@ -5901,7 +5824,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "ccb30c60489a00836170effcc091e367" + "544a64caa73bb4328f16f4e29cc69712" ], [ "LambdaOmega.__proj__EqArr__item__t1'", @@ -5914,7 +5837,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "b039f6c1fdbb00fd4d4b90d5afc7297d" + "65dd96e46695f01c129aacc3d6136630" ], [ "LambdaOmega.__proj__EqArr__item__t2", @@ -5927,7 +5850,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "69b3006024c7e84328e7b02bed0dc12b" + "aad06e4eca99838c72f28303018d8807" ], [ "LambdaOmega.__proj__EqArr__item__t2'", @@ -5940,7 +5863,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "bd6d5dce86ac752240759e5d236ebb1a" + "76563296f24bbc971810d1cd0327288d" ], [ "LambdaOmega.__proj__EqArr__item__he1", @@ -5957,7 +5880,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "feef1b5ac298c855c3297ae726cb52a6" + "b6e105674bcdd641c37f3cd816ae3842" ], [ "LambdaOmega.__proj__EqArr__item__he2", @@ -5974,7 +5897,7 @@ "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" ], 0, - "32c7b8852e93e37c4db00390099cc3d4" + "6ebf75404755c15ed4a4064964e638e6" ], [ "LambdaOmega.typing", @@ -5982,12 +5905,11 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_1f03a4667bab304b484fe08cfaa8deae" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" ], 0, - "274a22c948dc366b4fadaf7bc5c013c6" + "f37087bedad111ceea8b991eb87cbe82" ], [ "LambdaOmega.typing", @@ -5995,12 +5917,11 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_1f03a4667bab304b484fe08cfaa8deae" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" ], 0, - "aa3297d9f44f6e385343ffcccae64bd8" + "11a8d5dec06f0003f455f73d98222693" ], [ "LambdaOmega.__proj__TyVar__item__g", @@ -6013,7 +5934,7 @@ "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d" ], 0, - "4646c5f90f6fceda4f53802a5c478c6a" + "7d0a4feade34fa5a3e2299f7cd362aaf" ], [ "LambdaOmega.__proj__TyVar__item__x", @@ -6030,7 +5951,7 @@ "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d" ], 0, - "4cba02fc0c18060aa31473435b59422b" + "95d6c23bcab965a0fc58c6bf254aa2f6" ], [ "LambdaOmega.__proj__TyVar__item__hk", @@ -6038,13 +5959,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", "proj_equation_LambdaOmega.TyVar_x", - "refinement_interpretation_Tm_refine_9d03d55a0b054a335f4a9713bce16478", + "@MaxIFuel_assumption", "@query", + "proj_equation_LambdaOmega.TyVar_x", + "refinement_interpretation_Tm_refine_bb2a3e12e3207e896b9dce3921df8c1c", "typing_LambdaOmega.__proj__TyVar__item__x" ], 0, - "6e4d22b7d03ef3cadf4b3c33fe0c1c6d" + "b41e51925cde9a00244bf07ae0e9c58d" ], [ "LambdaOmega.__proj__TyVar__item__hk", @@ -6057,18 +5978,18 @@ "data_elim_LambdaOmega.TyVar", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_LambdaOmega.TyVar", - "equation_LambdaOmega.lookup_evar", "equation_LambdaOmega.var", - "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", + "equation_LambdaOmega.lookup_evar", + "fuel_guarded_inversion_LambdaOmega.env", "proj_equation_LambdaOmega.TyVar_g", "proj_equation_LambdaOmega.TyVar_x", "projection_inverse_BoxBool_proj_0", "projection_inverse_LambdaOmega.TyVar_g", "projection_inverse_LambdaOmega.TyVar_x", - "refinement_interpretation_Tm_refine_1f03a4667bab304b484fe08cfaa8deae", - "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d" + "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d", + "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" ], 0, - "51fcfa48b17ec50ab4bab6d9f5192288" + "215f2b9abd731adeb69f98ee43113da0" ], [ "LambdaOmega.__proj__TyLam__item__g", @@ -6081,7 +6002,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "70b97be197ad5b72ccdaf7054951029f" + "ee5bb81b2cf12c3377988d14badafd03" ], [ "LambdaOmega.__proj__TyLam__item__t", @@ -6094,7 +6015,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "304c3c6e208ede1cc9ee4e0151daad23" + "b6660a09edd51facdb946f9e49e071a5" ], [ "LambdaOmega.__proj__TyLam__item__e1", @@ -6107,7 +6028,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "c26f6e27d0d1e830d2a396c501afef12" + "f5cec3982e2418759ca4d44592fdb746" ], [ "LambdaOmega.__proj__TyLam__item__t'", @@ -6120,7 +6041,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "5d2fa876bde685cfa8b76a317bf53474" + "3f45931a9fccbe4ff17e87f7a8755df9" ], [ "LambdaOmega.__proj__TyLam__item__hk", @@ -6138,7 +6059,7 @@ "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" ], 0, - "ff34f92cc85b92b5ceb2e920dfb27eda" + "850f19e80aa9fc20b867280226503c06" ], [ "LambdaOmega.__proj__TyLam__item__ht", @@ -6164,7 +6085,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "5268bbf45a406f602a78ca5a06522a80" + "30d64c735124f74c584d1f525282b2dd" ], [ "LambdaOmega.__proj__TyApp__item__g", @@ -6177,7 +6098,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "03fc2028158650cdb1e31c887da63056" + "817f4976a5185efa8c6433d4d312e9f0" ], [ "LambdaOmega.__proj__TyApp__item__e1", @@ -6190,7 +6111,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "749a2f6c7b331ea7ec4589dc908003a3" + "8d2039276542cd311ca9d081d3492e2f" ], [ "LambdaOmega.__proj__TyApp__item__e2", @@ -6203,7 +6124,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "e22d4c2d7f46fc1ed4d0d75b405fcbb1" + "9e9298610851ccdf8d75660f7f10a12a" ], [ "LambdaOmega.__proj__TyApp__item__t1", @@ -6216,7 +6137,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "bc39f95fe7ee75a22f3bd50ffaa41fdb" + "e6b82d803324e3169a6275880bb67230" ], [ "LambdaOmega.__proj__TyApp__item__t2", @@ -6229,7 +6150,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "56aec99d0568b1753ef2bd0caa1be0e7" + "12e9bbaa322f02eb2ccb5eb8a6340e4e" ], [ "LambdaOmega.__proj__TyApp__item__ht1", @@ -6252,7 +6173,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "7799dae6efbd3f34113d77cd8a54ae5c" + "ecc5d2f11be715493eccda28a9ce8df5" ], [ "LambdaOmega.__proj__TyApp__item__ht2", @@ -6274,7 +6195,7 @@ "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" ], 0, - "d20d4222d1f7e22672af442c4bb5581e" + "9f94471f8f415615a922363e13c6fb6b" ], [ "LambdaOmega.__proj__TyEqu__item__g", @@ -6287,7 +6208,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "b4bb168aec3a285d4d5f68c837b6d96a" + "3e367eb92f3655480f8473a780f4d079" ], [ "LambdaOmega.__proj__TyEqu__item__e", @@ -6300,7 +6221,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "b4dc46b13e9af5cca89ee0cfddcc9341" + "ad8b6e6adfc705a48a5b6ce31ef4ac1e" ], [ "LambdaOmega.__proj__TyEqu__item__t1", @@ -6313,7 +6234,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "ee308dd3cf89ab27752eb2702d426504" + "b42a42ec59dfe5e4a0616513e72b8a50" ], [ "LambdaOmega.__proj__TyEqu__item__t2", @@ -6326,7 +6247,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "5d5207ee333efd1196529de4bb5ec5e9" + "188770a020e18443f1c2e588a6e49c52" ], [ "LambdaOmega.__proj__TyEqu__item__ht", @@ -6346,7 +6267,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "753f8fd82882c0cc39b3e1b11a523dad" + "03d54bce7612bdeff3e893f95bc3e6d3" ], [ "LambdaOmega.__proj__TyEqu__item__he", @@ -6364,7 +6285,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "1bbd0ccd1092b3f2dcbde9217f171dec" + "1217c0fae7983d1c2e6b65e1870484b0" ], [ "LambdaOmega.__proj__TyEqu__item__hk", @@ -6382,7 +6303,7 @@ "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" ], 0, - "4fd2fbd34f2dc00bca03ff90e4787f53" + "9eb825eee4b6e45429623a2c61d30380" ], [ "LambdaOmega.tappears_free_in", @@ -6392,26 +6313,24 @@ [ "@MaxIFuel_assumption", "@query", "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_fd2118004c9b4fcd0fcebc3eabc62881_0", + "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_0", "disc_equation_LambdaOmega.TApp", "disc_equation_LambdaOmega.TArr", "disc_equation_LambdaOmega.TLam", "disc_equation_LambdaOmega.TVar", "equality_tok_Prims.LexTop@tok", "equation_LambdaOmega.var", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_LambdaOmega.TApp", "subterm_ordering_LambdaOmega.TArr", "subterm_ordering_LambdaOmega.TLam" ], 0, - "05621712ef6206c6e9e710841431cf96" + "4cac51f4880fd835e31b734d0accf19a" ], [ "LambdaOmega.envEqualT", @@ -6424,7 +6343,7 @@ "kinding_LambdaOmega.knd@tok" ], 0, - "29251c11d13504da0743cb4adbacf4a3" + "331fb21ba48a6e636061e2c3311fa1a1" ], [ "LambdaOmega.tshift_up_above_lam", @@ -6435,10 +6354,10 @@ "@MaxIFuel_assumption", "@query", "assumption_LambdaOmega.typ__uu___haseq", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "06fad4a2dcdb9634d9ac0fc3a2707bad" + "331b5dc9863b7688459e66a543083125" ], [ "LambdaOmega.tshift_up_above_tsubst_beta_aux", @@ -6450,10 +6369,10 @@ "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "27441f3426f5497fc32423d3281f550c" + "fa49d11ea6425b5f6395c68d3d7cc9fd" ], [ "LambdaOmega.tshift_up_above_tsubst_beta", @@ -6465,10 +6384,10 @@ "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9d375864f9d572be5aab690aba5efdde" + "f7c140f4ca784dcb973d26306189a565" ], [ "LambdaOmega.is_renaming", @@ -6477,10 +6396,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_966672de449e8409105d41d366b3311c" + "refinement_interpretation_Tm_refine_9195fc48fb1fed46e22584772c46e277" ], 0, - "ab8cfc5a2d9b704ff8f755c96292ee4a" + "81997442609c5e15f1e04c50ccc1a20c" ], [ "LambdaOmega.subst_typing", @@ -6488,12 +6407,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_1f03a4667bab304b484fe08cfaa8deae" + "@MaxIFuel_assumption", "@query", + "fuel_guarded_inversion_LambdaOmega.env", + "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" ], 0, - "5b46564836b8b2a0f07a4f7fb422002c" + "ec129013e11a9102114e3f89ade3ff46" ], [ "LambdaOmega.tsubst_gen_tlam_aux", @@ -6505,10 +6424,10 @@ "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a4b0c79b5aaf45ae80c756099fd62231" + "8218de66cc52b210a05989692d8acf3e" ], [ "LambdaOmega.tsubst_gen_tlam", @@ -6520,10 +6439,10 @@ "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9a670d56cacd445cb8ad5982cb98c548" + "7c5b08c7d59e5ff348ab82ca01106792" ], [ "LambdaOmega.tred", @@ -6535,7 +6454,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "56caf8468259a5f54700802e3606ff4a" + "26883c09b4b57933c632cff396671dde" ], [ "LambdaOmega.__proj__TrRefl__item__t", @@ -6548,7 +6467,7 @@ "refinement_interpretation_Tm_refine_ec02c1428e5505f04555fdddbba4f245" ], 0, - "7b340441d67f20ce0a5ccb3e7a1afa02" + "46b9e430c9995e3482a133cc155624b4" ], [ "LambdaOmega.__proj__TrArr__item__t1", @@ -6561,7 +6480,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "0f8b22abb8e16708ebf75c36abc1e92b" + "ef502c1aea037d129d79f8bdd4985170" ], [ "LambdaOmega.__proj__TrArr__item__t2", @@ -6574,7 +6493,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "bfbf747ab4fbbdc1f1ba98edb8f6112f" + "851d712f43b2a471fe1cf7485277a233" ], [ "LambdaOmega.__proj__TrArr__item__t1'", @@ -6587,7 +6506,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "48700b55bb771c516d18fb4903f597f7" + "bdf81b988415d96a8d9247a18155c25b" ], [ "LambdaOmega.__proj__TrArr__item__t2'", @@ -6600,7 +6519,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "359346c7db06949c586983585d74ed9f" + "1754df6d94976e793bd079a4f3bf5ef8" ], [ "LambdaOmega.__proj__TrArr__item__hr1", @@ -6617,7 +6536,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "fa6c2fee7bfa4242860974abdc7ae827" + "75f1d1e07cfcd4b965644bbac4b8675e" ], [ "LambdaOmega.__proj__TrArr__item__hr2", @@ -6634,7 +6553,7 @@ "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" ], 0, - "9fdfcbada4abe6de9836fe3e3c2b9a43" + "38e579465ca7eb3e54160e6665f1214b" ], [ "LambdaOmega.__proj__TrLam__item__t1", @@ -6647,7 +6566,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "01741ebfe84969bb209e61cf238aff2a" + "bfa66bc0d0a36e39672199524cac7ca6" ], [ "LambdaOmega.__proj__TrLam__item__t2", @@ -6660,7 +6579,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "ba8a726347336ae9f34faa58588844c3" + "a292b7ce27cefc6e6b8ad90afb3acb83" ], [ "LambdaOmega.__proj__TrLam__item__k", @@ -6673,7 +6592,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "8074a5874df42cd0301b68cc4ccac556" + "b668c85cbd83f9dc3d8dfcc463ae364f" ], [ "LambdaOmega.__proj__TrLam__item__hr", @@ -6690,7 +6609,7 @@ "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" ], 0, - "6f670a022b2d108451b0d8bd1ef799ba" + "f1a90ff01c76878a930c04b88a40ceb7" ], [ "LambdaOmega.__proj__TrApp__item__t1", @@ -6703,7 +6622,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "e7b8c0b1529066a27766315f6f8e7df9" + "62a4643833515c2b68d9ac33a4da5d0a" ], [ "LambdaOmega.__proj__TrApp__item__t2", @@ -6716,7 +6635,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "14931d4865de581842e508363c318cd9" + "7c728a3e8cf1bdf6d82e0cc730fd0756" ], [ "LambdaOmega.__proj__TrApp__item__t1'", @@ -6729,7 +6648,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "bd0aa01b9f03c0b55c943ab852b766ef" + "66cd70a5bf5240149d4b938dfbd72504" ], [ "LambdaOmega.__proj__TrApp__item__t2'", @@ -6742,7 +6661,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "9bf4fad7e8dd9459b6b32cd3900bd65a" + "ba20b3c2e0116878ecfb11af8d22ddf4" ], [ "LambdaOmega.__proj__TrApp__item__hr1", @@ -6759,7 +6678,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "4d598deb4555aa1d4b4aaa5cb0490fa2" + "347818c853257eb261bafb1cd00041f0" ], [ "LambdaOmega.__proj__TrApp__item__hr2", @@ -6776,7 +6695,7 @@ "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" ], 0, - "e7bf29aed6b2bd1e97f78e7fc9d68ff2" + "23f5fc12a61c2a50bc8f4dacc897a301" ], [ "LambdaOmega.__proj__TrBeta__item__t1", @@ -6789,7 +6708,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "1eaf38cd8a191312336b1f313002ea62" + "65a08183607164fc0674b689d052d186" ], [ "LambdaOmega.__proj__TrBeta__item__t2", @@ -6802,7 +6721,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "2f3933dd18dd04433406839ca5b151fb" + "1ca6c406e5f5cf79f54eb4f63465e107" ], [ "LambdaOmega.__proj__TrBeta__item__t1'", @@ -6815,7 +6734,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "d01a09a0b9357fa89fa655e70fe9a3b1" + "005f15cd9ed9e6a4907774e582073737" ], [ "LambdaOmega.__proj__TrBeta__item__t2'", @@ -6828,7 +6747,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "8a75625eb7f9526b5a5bd5474e7b3919" + "fbf5a61ee37b312f711f0372f1d4fd87" ], [ "LambdaOmega.__proj__TrBeta__item__k", @@ -6841,7 +6760,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "de63ee015085014741bab5c91ae55463" + "e4519675109f7cbf93888a31ba96a161" ], [ "LambdaOmega.__proj__TrBeta__item__hr1", @@ -6858,7 +6777,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "2e936406b09a7b0fb36300ea2f0c627f" + "d8005620c38e9ceb3b1a061e02469915" ], [ "LambdaOmega.__proj__TrBeta__item__hr2", @@ -6875,7 +6794,7 @@ "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" ], 0, - "c5312fca8d5d7af040bfbe409606009b" + "cda539981405c97e7eb8e0dbe5a4476c" ], [ "LambdaOmega.shift_above_and_subst", @@ -6884,7 +6803,7 @@ 1, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "461963c37a8beb78994dda3ca0e0da8c" + "cee399adc4872d66031939a68ab8bb80" ], [ "LambdaOmega.tsubst_commute_aux", @@ -6895,11 +6814,11 @@ "@MaxIFuel_assumption", "@query", "assumption_LambdaOmega.typ__uu___haseq", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "e52c86dd93005f6919a06cfeadcd9ebc" + "2fc7c295a6b65f03626ffb845809e3ad" ], [ "LambdaOmega.tsubst_commute", @@ -6910,11 +6829,11 @@ "@MaxIFuel_assumption", "@query", "assumption_LambdaOmega.typ__uu___haseq", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "2eca4f38aa0a956f70a2d031ea389f89" + "964ec35d67778950b2bb18f4e77d7918" ], [ "LambdaOmega.ltup", @@ -6926,7 +6845,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "6cb2bf94fced677a5e575c7c826c1fbb" + "4a163446a4eef328b5acf1b7262a69dc" ], [ "LambdaOmega.__proj__MkLTup__item__h1", @@ -6940,7 +6859,7 @@ "projection_inverse_LambdaOmega.MkLTup_t" ], 0, - "3afc71d296e919d29ec1ac4046f49fdd" + "a65b84bc85a400cccf03a063c4066b1b" ], [ "LambdaOmega.__proj__MkLTup__item__h2", @@ -6954,7 +6873,7 @@ "projection_inverse_LambdaOmega.MkLTup_u" ], 0, - "7ac588644b7f6bc90e9814888a6b7aff" + "8039b12fceac2dc479e7a771b8d67b9a" ], [ "LambdaOmega.tred_star", @@ -6966,7 +6885,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "127f4eba7b9f3d8cac7ee540ea374262" + "de6a38ae3ce47b5992546000c273f0aa" ], [ "LambdaOmega.__proj__TsRefl__item__t", @@ -6979,7 +6898,7 @@ "refinement_interpretation_Tm_refine_1a7575284e0bd4a4c04a45a4b9ef5e55" ], 0, - "585a341d28f05f1dfe2f22618c411d9d" + "c60bbfdceb64654a4d8eaaa637a5760e" ], [ "LambdaOmega.__proj__TsStep__item__t1", @@ -6992,7 +6911,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "2e1598b5244ebd70cec211e42a55404a" + "f55166688e2821eaaf9f416da2f0599b" ], [ "LambdaOmega.__proj__TsStep__item__t2", @@ -7005,7 +6924,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "c526d84ccc4c335caf5c6401a97bbb5f" + "3fa18cf4594531ed6c1d3b58030cfc41" ], [ "LambdaOmega.__proj__TsStep__item__t3", @@ -7018,7 +6937,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "703c2b33f8fc18e32c6281d192e4b153" + "e45635d879133b39855ed5d6fc419a6c" ], [ "LambdaOmega.__proj__TsStep__item__hr12", @@ -7035,7 +6954,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "0dde2ff6d9088496e40389cd08b25277" + "46e29c21fec8e01eef9a69c7e96aceb4" ], [ "LambdaOmega.__proj__TsStep__item__hr23", @@ -7052,7 +6971,7 @@ "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" ], 0, - "961d676df52485f6421ca61965bcd4ab" + "dc7ef46dc740f2c2b351eaa366107382" ], [ "LambdaOmega.tred_star_sym", @@ -7064,7 +6983,7 @@ "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "2ad0fa4141a52e459f6b023666f9ab8d" + "451beb85d47b48a20df7561e171f6f54" ], [ "LambdaOmega.__proj__TssBase__item__t1", @@ -7078,7 +6997,7 @@ "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" ], 0, - "83d0f4cad01ccedaa3012fd9504b4810" + "8c85fe13800126bf89e66e642876dbb4" ], [ "LambdaOmega.__proj__TssBase__item__t2", @@ -7092,7 +7011,7 @@ "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" ], 0, - "85ed710ce88a4a2393c7db34d3c03ffd" + "69fe1467d654e557ea7015f82f0e8ed1" ], [ "LambdaOmega.__proj__TssBase__item__hr", @@ -7110,7 +7029,7 @@ "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" ], 0, - "0f807cfe5b875db8475c8ee7d9d6c18a" + "517ed519f122c2c32d924e321ec43b92" ], [ "LambdaOmega.__proj__TssSym__item__t1", @@ -7123,7 +7042,7 @@ "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" ], 0, - "93e6c4dfe09bc475d73f10cf5ffbc66c" + "637bd8c3357ff3bf4e3aa14a4017a0ba" ], [ "LambdaOmega.__proj__TssSym__item__t2", @@ -7136,7 +7055,7 @@ "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" ], 0, - "096bc272ae8f7e1af01a646a4ee7e914" + "ac3600304c1135f145ad24643e44fbbe" ], [ "LambdaOmega.__proj__TssSym__item__hr", @@ -7153,7 +7072,7 @@ "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" ], 0, - "c7be0c12147569f95a530a23271e7109" + "60267bf9fcf3cb505da5f50da6913ad7" ], [ "LambdaOmega.__proj__TssTran__item__t1", @@ -7167,7 +7086,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "03f643bd182f48d94d77496ea9eea281" + "534daa76deff6579474648382ab5c546" ], [ "LambdaOmega.__proj__TssTran__item__t2", @@ -7181,7 +7100,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "0dea7a80a4b5e7d83cbff0a23380e983" + "6feec457515fadd41f29b8546546481d" ], [ "LambdaOmega.__proj__TssTran__item__t3", @@ -7195,7 +7114,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "dd822cd5d826f8248150e31291fa3904" + "39a362e6188b5d0a6fa190fa95962c3f" ], [ "LambdaOmega.__proj__TssTran__item__hr12", @@ -7213,7 +7132,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "088b0d53f13da47b1a9ebc82d1da123b" + "3eeada4f23e228c256ed3019952c948e" ], [ "LambdaOmega.__proj__TssTran__item__hr23", @@ -7231,7 +7150,7 @@ "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" ], 0, - "761aace2dc0743ee68c91db2a77ede45" + "fd2f2b252dd334172d622040921f7d6c" ], [ "LambdaOmega.tred_tarr_preserved", @@ -7240,7 +7159,7 @@ 2, [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], 0, - "5a57dd718fced18349ae8aeddd0a7a83" + "a5acefaad93af0e07998aa6a3465eb42" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/ParSubst.fst.hints b/examples/metatheory/ParSubst.fst.hints index 15a5be9bd29..8afa35764f8 100644 --- a/examples/metatheory/ParSubst.fst.hints +++ b/examples/metatheory/ParSubst.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "dd394801ab1728d7e84f63d0984751de" + "ffa3f218ad014716f2a86e9edca2c3e4" ], [ "ParSubst.exp", @@ -20,11 +20,11 @@ "assumption_ParSubst.ty__uu___haseq", "equation_ParSubst.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5fedef24a036443048a4ac14dfc50ba1" + "9b906f525acf89f59b1ad832d75fd4f5" ], [ "ParSubst.__proj__EVar__item___0", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_943feaa075f629a91cb492a3c84ce6a4" ], 0, - "a1f72e37fb286d0941793cdff4a55fa4" + "d9c7486fa5865521dd20b0db7e43a734" ], [ "ParSubst.__proj__EApp__item___0", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_1671cc933db960f7ca6afb279f753fd0" ], 0, - "b5226f4d2eec7516c97d9056b51023f7" + "aae8cb3ba9bd7399f9a897dc063d85ae" ], [ "ParSubst.__proj__EApp__item___1", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_1671cc933db960f7ca6afb279f753fd0" ], 0, - "9c6dfaa4da463fada15ba0185656074f" + "fbad3045a231978dc72e3e45ca05fd5d" ], [ "ParSubst.__proj__EAbs__item___0", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_58bb134335ce00d990053a5f172c1453" ], 0, - "4da886c4ec5aa7c11691ea349a51df5e" + "b49d11b573ad5ba2a58ad89333c5e6b6" ], [ "ParSubst.__proj__EAbs__item___1", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_58bb134335ce00d990053a5f172c1453" ], 0, - "3e7e29d4977892bb8c8d607677a37cee" + "fc44c0175041a2941aeb3b905e3366c7" ], [ "ParSubst.sub_inc", @@ -100,10 +100,10 @@ "@MaxIFuel_assumption", "@query", "equation_ParSubst.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "361baf08743eb0cf59b25074ec75a772" + "398000cf27e29ea853918dcc8f69a8cc" ], [ "ParSubst.renaming_sub_inc", @@ -118,7 +118,7 @@ "token_correspondence_ParSubst.sub_inc" ], 0, - "340f8a8f6d274ae1ca3965fcc89128dc" + "0efe0056180a96b71adc2d6705ae05d8" ], [ "ParSubst.subst", @@ -127,37 +127,35 @@ 1, [ "@MaxIFuel_assumption", "@query", - "ParSubst_interpretation_Tm_arrow_ab19e52e86b0ef7282d84c380a1b644c", - "ParSubst_interpretation_Tm_arrow_ffde041010018e98855f775572cc70ce", + "ParSubst_interpretation_Tm_arrow_9f86a6ebe25dc228c3bce49e59d77f80", + "ParSubst_interpretation_Tm_arrow_f2a31c87ef29308c16bbaf2975f12ab4", "ParSubst_pretyping_26c3b6ccfcbd94452acb614866f829fb", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_26c3b6ccfcbd94452acb614866f829fb_0", - "binder_x_387d71a930d867c375624ccb57d4ec61_1", "bool_inversion", + "binder_x_c8b96788d953f90f6fad3c267b3e5dca_1", "bool_inversion", + "constructor_distinct_ParSubst.EAbs", "constructor_distinct_ParSubst.EVar", "disc_equation_ParSubst.EAbs", "disc_equation_ParSubst.EApp", "disc_equation_ParSubst.EVar", - "equality_tok_Prims.LexTop@tok", "equation_FStar.UInt.min_int", - "equation_FStar.UInt32.n", "equation_ParSubst.is_var", + "equality_tok_Prims.LexTop@tok", "equation_ParSubst.is_var", "equation_ParSubst.renaming", "equation_ParSubst.sub", "equation_ParSubst.var", "equation_Prims.nat", "fuel_guarded_inversion_ParSubst.exp", - "function_token_typing_FStar.UInt32.n", "function_token_typing_ParSubst.subst_eabs", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_ParSubst.EVar__0", "refinement_interpretation_Tm_refine_2a9d5c0d7ced78435ba0c3bb20d7f840", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e857d5775d0df3c0b10d55cf5cd457f5", - "refinement_interpretation_Tm_refine_f50a6272ac66d3520c3e18321fb77b3a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a7d80a786471c7bea949765173d38151", + "refinement_interpretation_Tm_refine_d8d2d4849e000b437573af585b779cf4", "subterm_ordering_ParSubst.EAbs", "subterm_ordering_ParSubst.EApp", "token_correspondence_ParSubst.subst_eabs", - "typing_FStar.UInt.min_int", "typing_ParSubst.is_renaming", - "typing_ParSubst.is_var", "typing_ParSubst.uu___is_EVar", - "well-founded-ordering-on-nat" + "typing_ParSubst.is_renaming", "typing_ParSubst.is_var", + "typing_ParSubst.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "40b4a98a7110ad9492c50981abe62a35" + "912852022f7f08c0d7776b1632a2b84b" ], [ "ParSubst.subst", @@ -167,8 +165,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_387d71a930d867c375624ccb57d4ec61_0", - "binder_x_61a4f6399c70d98b310d91ed9fcf33ba_1", "bool_inversion", + "binder_x_4f5eda47a107254c61252e2e07f3e7db_1", + "binder_x_c8b96788d953f90f6fad3c267b3e5dca_0", "bool_inversion", "constructor_distinct_ParSubst.EVar", "disc_equation_ParSubst.EVar", "equation_ParSubst.is_var", "equation_ParSubst.renaming", "equation_ParSubst.sub", "equation_ParSubst.sub_inc", @@ -180,14 +178,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_ParSubst.EVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e857d5775d0df3c0b10d55cf5cd457f5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a7d80a786471c7bea949765173d38151", "token_correspondence_ParSubst.sub_inc", "typing_ParSubst.is_renaming", "typing_ParSubst.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "3f2d5b8dfe9b5d7356a086ff6921aa6f" + "74f90c4d3775a398a5e31084a1b27d9c" ], [ "ParSubst.subst_extensional", @@ -196,7 +194,7 @@ 1, [ "@query", "assumption_ParSubst.exp__uu___haseq" ], 0, - "99fd63b97d779e6da12a8f06958d56e0" + "ebc5dc62217253398d9747becc87e0df" ], [ "ParSubst.subst_extensional", @@ -205,7 +203,7 @@ 1, [ "@query", "assumption_ParSubst.exp__uu___haseq" ], 0, - "dc999991a249d4688dc5b9e21920abe5" + "d92e158263d97308bdb1008479d8c4bf" ], [ "ParSubst.subst_extensional", @@ -219,15 +217,14 @@ "@fuel_irrelevance_ParSubst.subst.fuel_instrumented", "@query", "ParSubst_pretyping_26c3b6ccfcbd94452acb614866f829fb", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1d09e02ea06e6345e52e009c808c84f0_2", "binder_x_26c3b6ccfcbd94452acb614866f829fb_0", - "binder_x_387d71a930d867c375624ccb57d4ec61_1", + "binder_x_3c51acd39e8416940abb9e424d6a6a4e_2", + "binder_x_c8b96788d953f90f6fad3c267b3e5dca_1", "constructor_distinct_ParSubst.EApp", "constructor_distinct_ParSubst.EVar", "disc_equation_ParSubst.EAbs", "disc_equation_ParSubst.EApp", "disc_equation_ParSubst.EVar", "equation_FStar.FunctionalExtensionality.feq", - "equation_ParSubst.sub", "equation_ParSubst.var", - "equation_Prims.nat", + "equation_ParSubst.var", "equation_Prims.nat", "equation_with_fuel_ParSubst.subst.fuel_instrumented", "equation_with_fuel_ParSubst.subst_eabs.fuel_instrumented", "fuel_guarded_inversion_ParSubst.exp", @@ -237,13 +234,13 @@ "projection_inverse_ParSubst.EApp__0", "projection_inverse_ParSubst.EApp__1", "projection_inverse_ParSubst.EVar__0", - "refinement_interpretation_Tm_refine_0e4db59220b90f21e30af30411424aa1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f202b85b7e24817f173706b103613ec8", "subterm_ordering_ParSubst.EAbs", "subterm_ordering_ParSubst.EApp", "token_correspondence_ParSubst.subst_eabs", "true_interp" ], 0, - "c87f0f4a05d356a7477df7d13106c14d" + "3d7cee44681be2caaa00ba0151a50171" ], [ "ParSubst.test_hoist", @@ -256,8 +253,8 @@ "@fuel_correspondence_ParSubst.subst_eabs.fuel_instrumented", "@fuel_irrelevance_ParSubst.subst.fuel_instrumented", "@fuel_irrelevance_ParSubst.subst_eabs.fuel_instrumented", "@query", - "ParSubst_interpretation_Tm_arrow_89d2ac60f51b1943625b113efae8b9b1", - "ParSubst_interpretation_Tm_arrow_ffde041010018e98855f775572cc70ce", + "ParSubst_interpretation_Tm_arrow_2e84b6a094cddd7e0bfbffbb01e5fa5d", + "ParSubst_interpretation_Tm_arrow_f2a31c87ef29308c16bbaf2975f12ab4", "assumption_ParSubst.exp__uu___haseq", "constructor_distinct_ParSubst.EAbs", "data_typing_intro_ParSubst.EAbs@tok", @@ -271,12 +268,12 @@ "projection_inverse_ParSubst.EAbs__0", "projection_inverse_ParSubst.EAbs__1", "refinement_interpretation_Tm_refine_2a9d5c0d7ced78435ba0c3bb20d7f840", - "refinement_interpretation_Tm_refine_b7b855a9a1507c7aee67153efcae0dd7", + "refinement_interpretation_Tm_refine_f58f61e62f9b42499bab7ea9e1f745fa", "token_correspondence_ParSubst.subst_eabs", "token_correspondence_ParSubst.subst_eabs.fuel_instrumented" ], 0, - "6ae0413dd6bc37c6ccacad3120c7da37" + "828e5393b88e24b8f095958adc02b8ed" ], [ "ParSubst.ty", @@ -285,7 +282,7 @@ 1, [ "@query" ], 0, - "fdaca0fc184fa4704a9630044cf3dccd" + "8f904179ea4238db889b946fd5b91546" ], [ "ParSubst.exp", @@ -297,11 +294,11 @@ "assumption_ParSubst.ty__uu___haseq", "equation_ParSubst.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1cffe5389e8dc83115007c958d71d75c" + "d499466671ea3dc30efb1ce6418bb12a" ], [ "ParSubst.__proj__EVar__item___0", @@ -314,7 +311,7 @@ "refinement_interpretation_Tm_refine_943feaa075f629a91cb492a3c84ce6a4" ], 0, - "21666039e2254ceafa467b154fbe5f14" + "987dd2a94d33a432db836600c650c149" ], [ "ParSubst.__proj__EApp__item___0", @@ -327,7 +324,7 @@ "refinement_interpretation_Tm_refine_1671cc933db960f7ca6afb279f753fd0" ], 0, - "ee63a75681e911883721529515cee0a3" + "f69a66e33f52e2d23cbf0042497554cf" ], [ "ParSubst.__proj__EApp__item___1", @@ -340,7 +337,7 @@ "refinement_interpretation_Tm_refine_1671cc933db960f7ca6afb279f753fd0" ], 0, - "03b68e2ebc73a2a44affeda09a05a788" + "0a125737cc1556118b7440712e00f7e4" ], [ "ParSubst.__proj__EAbs__item___0", @@ -353,7 +350,7 @@ "refinement_interpretation_Tm_refine_58bb134335ce00d990053a5f172c1453" ], 0, - "7b97fd78a7adf2fdce68a90e2da9ee82" + "0f326d34b3a27ffb3646bfa5a0892ea5" ], [ "ParSubst.__proj__EAbs__item___1", @@ -366,7 +363,7 @@ "refinement_interpretation_Tm_refine_58bb134335ce00d990053a5f172c1453" ], 0, - "4265227d2c41ec39cd6e2c159abd8008" + "0fcb43fb777975b721ea930f4163d0b1" ], [ "ParSubst.sub_inc", @@ -377,10 +374,10 @@ "@MaxIFuel_assumption", "@query", "equation_ParSubst.var", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3cf72c6bcc49837f7a84ac1cda480f6d" + "b4727d5b07a732454493bc7d3a50d8bb" ], [ "ParSubst.subst", @@ -389,12 +386,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "ParSubst_interpretation_Tm_arrow_ab19e52e86b0ef7282d84c380a1b644c", - "ParSubst_interpretation_Tm_arrow_ffde041010018e98855f775572cc70ce", + "ParSubst_interpretation_Tm_arrow_9f86a6ebe25dc228c3bce49e59d77f80", + "ParSubst_interpretation_Tm_arrow_f2a31c87ef29308c16bbaf2975f12ab4", "ParSubst_pretyping_26c3b6ccfcbd94452acb614866f829fb", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_26c3b6ccfcbd94452acb614866f829fb_0", - "binder_x_387d71a930d867c375624ccb57d4ec61_1", "bool_inversion", + "binder_x_c8b96788d953f90f6fad3c267b3e5dca_1", "bool_inversion", + "constructor_distinct_ParSubst.EAbs", "constructor_distinct_ParSubst.EVar", "disc_equation_ParSubst.EAbs", "disc_equation_ParSubst.EApp", "disc_equation_ParSubst.EVar", "equality_tok_Prims.LexTop@tok", "equation_ParSubst.is_var", @@ -407,16 +405,16 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_ParSubst.EVar__0", "refinement_interpretation_Tm_refine_2a9d5c0d7ced78435ba0c3bb20d7f840", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e857d5775d0df3c0b10d55cf5cd457f5", - "refinement_interpretation_Tm_refine_f50a6272ac66d3520c3e18321fb77b3a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a7d80a786471c7bea949765173d38151", + "refinement_interpretation_Tm_refine_d8d2d4849e000b437573af585b779cf4", "subterm_ordering_ParSubst.EAbs", "subterm_ordering_ParSubst.EApp", "token_correspondence_ParSubst.subst_eabs", "typing_ParSubst.is_renaming", "typing_ParSubst.is_var", "typing_ParSubst.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "39a31fe47b70e0c5740831c06dc3ae2e" + "a6c9aca2dcd05e6f94826e78c343e904" ], [ "ParSubst.subst", @@ -426,8 +424,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_387d71a930d867c375624ccb57d4ec61_0", - "binder_x_61a4f6399c70d98b310d91ed9fcf33ba_1", "bool_inversion", + "binder_x_4f5eda47a107254c61252e2e07f3e7db_1", + "binder_x_c8b96788d953f90f6fad3c267b3e5dca_0", "bool_inversion", "constructor_distinct_ParSubst.EVar", "disc_equation_ParSubst.EVar", "equation_ParSubst.is_var", "equation_ParSubst.renaming", "equation_ParSubst.sub", "equation_ParSubst.sub_inc", @@ -439,14 +437,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_ParSubst.EVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e857d5775d0df3c0b10d55cf5cd457f5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a7d80a786471c7bea949765173d38151", "token_correspondence_ParSubst.sub_inc", "typing_ParSubst.is_renaming", "typing_ParSubst.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "2666bc55849355c21b5ffb556a3815ba" + "496fb31c0c9f921bbd9641a4ee111a2b" ], [ "ParSubst.subst_extensional", @@ -455,7 +453,7 @@ 1, [ "@query", "assumption_ParSubst.exp__uu___haseq" ], 0, - "568e1e8416cfdaeb7903bfac76660f79" + "c9ce139933da5a66b775c21d2b39971a" ], [ "ParSubst.test_hoist", @@ -468,8 +466,8 @@ "@fuel_correspondence_ParSubst.subst_eabs.fuel_instrumented", "@fuel_irrelevance_ParSubst.subst.fuel_instrumented", "@fuel_irrelevance_ParSubst.subst_eabs.fuel_instrumented", "@query", - "ParSubst_interpretation_Tm_arrow_89d2ac60f51b1943625b113efae8b9b1", - "ParSubst_interpretation_Tm_arrow_ffde041010018e98855f775572cc70ce", + "ParSubst_interpretation_Tm_arrow_2e84b6a094cddd7e0bfbffbb01e5fa5d", + "ParSubst_interpretation_Tm_arrow_f2a31c87ef29308c16bbaf2975f12ab4", "assumption_ParSubst.exp__uu___haseq", "constructor_distinct_ParSubst.EAbs", "data_typing_intro_ParSubst.EAbs@tok", @@ -483,12 +481,12 @@ "projection_inverse_ParSubst.EAbs__0", "projection_inverse_ParSubst.EAbs__1", "refinement_interpretation_Tm_refine_2a9d5c0d7ced78435ba0c3bb20d7f840", - "refinement_interpretation_Tm_refine_b7b855a9a1507c7aee67153efcae0dd7", + "refinement_interpretation_Tm_refine_f58f61e62f9b42499bab7ea9e1f745fa", "token_correspondence_ParSubst.subst_eabs", "token_correspondence_ParSubst.subst_eabs.fuel_instrumented" ], 0, - "d81334cad3482b85b4a9ede18a7bcbdb" + "14f47aee0992a837a86af4fba0bf7bf0" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/StackMachine.fst.hints b/examples/metatheory/StackMachine.fst.hints index 0975cc0a234..f3d22ee7a35 100644 --- a/examples/metatheory/StackMachine.fst.hints +++ b/examples/metatheory/StackMachine.fst.hints @@ -10,11 +10,11 @@ "@MaxIFuel_assumption", "@query", "assumption_StackMachine.binop__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5c3c81292a3748f1755735f6840c66db" + "c9c936765e9ea2091dc48d93568cf6e5" ], [ "StackMachine.__proj__Const__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_733535f472f5bce64316080d16cf1692" ], 0, - "36b089c2609c36810138d561a89ed5dc" + "121cb11d6ae6fd5445ba05cc2c75fa76" ], [ "StackMachine.__proj__Binop__item___0", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" ], 0, - "dd63d34ba6330b66b7d634e70b0b1636" + "868c62ab0d5cc7e8a8f6605cc6fcc46d" ], [ "StackMachine.__proj__Binop__item___1", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" ], 0, - "52f26c76e39e0e813a74d96858b9926b" + "1859a438d12ef1ada7fbf73e18fa06a6" ], [ "StackMachine.__proj__Binop__item___2", @@ -66,7 +66,7 @@ "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" ], 0, - "2dec6131f619b0f6f163820dab5b9bfc" + "7b0221ffb959dc46e03e7525c904d03e" ], [ "StackMachine.add_nat", @@ -76,10 +76,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a9ee28c3ae32e07b17ac4265511748a3" + "fca4a549f2002e9906e3259d13c87e3b" ], [ "StackMachine.mul_nat", @@ -89,10 +89,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "092d5b2a31e5c9c0cb992a78d26201ec" + "94149e2b51b9b4702ff70d53cdb6749e" ], [ "StackMachine.eq_nat", @@ -102,11 +102,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2f43eb15d81fb5a5b9950d028af51f30" + "a6f1fe8f99f800bd650735017f31aad3" ], [ "StackMachine.binopDenote", @@ -119,7 +119,7 @@ "fuel_guarded_inversion_StackMachine.binop" ], 0, - "3b8ce971adfec041af710024c781929a" + "0680bffcb91a9b51a9d29d625ecbe6af" ], [ "StackMachine.expDenote", @@ -135,7 +135,7 @@ "subterm_ordering_StackMachine.Binop" ], 0, - "31632c8c21118b4ba05b5338b4ee00f4" + "37795ab5033f128e20cbaba7de807985" ], [ "StackMachine.instr", @@ -146,11 +146,11 @@ "@MaxIFuel_assumption", "@query", "assumption_StackMachine.binop__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0150730f60826c11a6347c390ee32b88" + "6abf05547b9b618d6b949d3c7bd17d07" ], [ "StackMachine.__proj__IConst__item___0", @@ -164,7 +164,7 @@ "refinement_interpretation_Tm_refine_a31651c68d304738b29495c5aeb6aa44" ], 0, - "07b36b02c71a41a2ee402a126acafa76" + "caf376cefb91d37580bcccf0857c6a08" ], [ "StackMachine.__proj__IBinop__item___0", @@ -178,7 +178,7 @@ "refinement_interpretation_Tm_refine_94dbe5757f232f1d6a06d4d6dfaafd34" ], 0, - "7beb95fd2de9c266b997d1aab5cebd63" + "3ed9f2116113a0a25de959781544556a" ], [ "StackMachine.instrDenote", @@ -192,7 +192,7 @@ "fuel_guarded_inversion_StackMachine.instr" ], 0, - "d8c6d140a1e81a2e873a0ad72271bdcb" + "9791998bb370835fc61f18ca41524356" ], [ "StackMachine.progDenote", @@ -201,21 +201,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_ce0b7b036f4e4c7e19ed25969fddd4c5_0", - "binder_x_dcdba5a2d1eb2df70eb1f1e41b6fb908_1", "bool_inversion", + "binder_x_3c9ae8002a222e92248c26cdf9185c83_1", + "binder_x_fe682cb2a18a2940e86b58f8bbe9df33_0", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_StackMachine.instrDenote", "equation_StackMachine.prog", "equation_StackMachine.stack", "fuel_guarded_inversion_Prims.list", "function_token_typing_StackMachine.stack", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons", + "lemma_FStar.Pervasives.invertOption", "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", "typing_StackMachine.instrDenote" ], 0, - "3e807c96f7d56c4fd075382b788b87f7" + "b2aac8c87e5b8db18ce5c57394d0aaaa" ], [ "StackMachine.compile", @@ -231,7 +230,7 @@ "subterm_ordering_StackMachine.Binop" ], 0, - "c3951754a91778c595984eae93301dd1" + "4bf473756c00cb92722f4e386bca2ca9" ], [ "StackMachine.app_assoc_reverse", @@ -258,7 +257,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "cf758868244ad6c3f355ec52c73feb78" + "0a857474fab1b6bfde15c1fdcb296362" ], [ "StackMachine.compile_correct'", @@ -267,18 +266,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StackMachine.stack", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_StackMachine.stack", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bd813d6d50aa42b2cee421147c02f474" + "d454b8a187c7212f7e158deff9f8281e" ], [ "StackMachine.compile_correct'", @@ -296,14 +294,13 @@ "@fuel_irrelevance_StackMachine.progDenote.fuel_instrumented", "@query", "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "StackMachine_pretyping_2a319081b764dd27a6651686e4e88bbc", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Prims.list__uu___haseq", "binder_x_2a319081b764dd27a6651686e4e88bbc_0", "binder_x_9f48d967f2ac834d566c856feb7a9952_1", - "binder_x_a21c6d0afff00f7e13fcf2d1497e4726_2", + "binder_x_b46f9febde162e476374095e6787c208_2", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Pervasives.Native.option", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -326,10 +323,9 @@ "equation_with_fuel_StackMachine.progDenote.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "fuel_guarded_inversion_StackMachine.exp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_StackMachine.stack", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_StackMachine.instr@tok", "lemma_StackMachine.app_assoc_reverse", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -343,8 +339,9 @@ "projection_inverse_StackMachine.Const__0", "projection_inverse_StackMachine.IBinop__0", "projection_inverse_StackMachine.IConst__0", + "refinement_interpretation_Tm_refine_00607db3d9c4cc317cc3026dc305cb85", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ceeed09ed7b26a4e35c7f1a11e9a3a91", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StackMachine.Binop", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_StackMachine.compile.fuel_instrumented", @@ -353,7 +350,7 @@ "unit_typing" ], 0, - "778683c23982174ae9f508e2c1426739" + "0b571b17443acd82a0f56f48b0626327" ], [ "StackMachine.app_nil_end", @@ -370,7 +367,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "3d548dbc2da9e14b1e5e93698ce85428" + "e3c65eea324bb650f0d3752fa47d30bc" ], [ "StackMachine.compile_correct", @@ -380,26 +377,25 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_StackMachine.progDenote.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.option__uu___haseq", + "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Prims.list__uu___haseq", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StackMachine.prog", "equation_StackMachine.stack", "equation_with_fuel_StackMachine.progDenote.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_StackMachine.stack", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_StackMachine.instr@tok", "lemma_FStar.List.Tot.Properties.append_l_nil", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_StackMachine.compile", "typing_StackMachine.expDenote" ], 0, - "53e6a0e338bbc9def11e4c1682c9f09a" + "12803c3f435bd8d59f356592592947b5" ], [ "StackMachine.tbinop", @@ -408,7 +404,7 @@ 1, [ "@query", "assumption_StackMachine.typ__uu___haseq" ], 0, - "ce6081a31e937f23a9fd00e9bcf61746" + "5e61c54bd9504cf3fc0df8fc89caec1b" ], [ "StackMachine.__proj__TEq__item__t", @@ -421,7 +417,7 @@ "refinement_interpretation_Tm_refine_013f03405ee56e2bee5ec40dee6f6602" ], 0, - "f40fecefeac31bac9e10f65ba09e053b" + "3b1065b1a479b461cba2825dcfdd35db" ], [ "StackMachine.texp", @@ -430,17 +426,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_StackMachine.tbinop__uu___haseq", "assumption_StackMachine.typ__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "216495c54b8a7f6424ad82b74dd35227" + "7a5c4427ef5b0775816cf2fc8d21a72e" ], [ "StackMachine.__proj__TNConst__item___0", @@ -454,7 +447,7 @@ "refinement_interpretation_Tm_refine_6dd4891ce41bb7d9b26ab7b05113bdd5" ], 0, - "f89b811d02c511106bcdb7646c36e2c8" + "da7ab6e3c29bcf775a1db72381ffe8b4" ], [ "StackMachine.__proj__TBConst__item___0", @@ -468,7 +461,7 @@ "refinement_interpretation_Tm_refine_9da0b8f720646900d62e529141346f6a" ], 0, - "6c0893629eb184ba15125467d29e406e" + "5d68bc7e1da1191e31f5eaf0672ac9fc" ], [ "StackMachine.__proj__TBinop__item__t1", @@ -482,7 +475,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "3e255ac3efc00017814b488c5c78db60" + "75025d073309248537d25e430e959891" ], [ "StackMachine.__proj__TBinop__item__t2", @@ -496,7 +489,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "fda460dc5484dd576aae72a7a81eb135" + "802c4aecc36097974a8f5b85f4b85222" ], [ "StackMachine.__proj__TBinop__item__t", @@ -510,7 +503,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "4463a1c198abf74aa8ddf5f7afef883d" + "551529144c1bfa676143d64a7ea0f9bd" ], [ "StackMachine.__proj__TBinop__item___3", @@ -530,7 +523,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "e3749651980c9d7e0d94bb0861d4bfe1" + "e6237b053da3c41bc63e3cdbaa1e09fa" ], [ "StackMachine.__proj__TBinop__item___4", @@ -546,7 +539,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "fb973e273c4ec626b94e04a93d39e294" + "d7b6c54b306c6a81895e94e9720f91d7" ], [ "StackMachine.__proj__TBinop__item___5", @@ -562,7 +555,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "26ada4e498e6c068f683fc7b43bdd1a2" + "28fcd54616bbf115d7de3e95e5686397" ], [ "StackMachine.typeDenote", @@ -575,7 +568,7 @@ "fuel_guarded_inversion_StackMachine.typ" ], 0, - "3c637245c2c0c2f2a139c83ba593dc7b" + "ac47b745b557acf9dfd0c8837bfefe88" ], [ "StackMachine.tbinopDenote", @@ -607,7 +600,7 @@ "typing_tok_StackMachine.TTimes@tok" ], 0, - "37b82bea0fc7975a3485618cdef8234c" + "b8860ddf309fc7d08c7a00a682ec4536" ], [ "StackMachine.texpDenote", @@ -634,7 +627,7 @@ "subterm_ordering_StackMachine.TBinop" ], 0, - "26e5554618b79251871487cee8e01aac" + "7defda3963537b8a41d6d7b521acfd72" ], [ "StackMachine.tinstr", @@ -643,21 +636,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", "assumption_Prims.list__uu___haseq", "assumption_StackMachine.tbinop__uu___haseq", "assumption_StackMachine.typ__uu___haseq", "data_typing_intro_StackMachine.Bool@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StackMachine.tstack", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_StackMachine.typ@tok", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6e819e9e5a6ec4a9002a36b9491e3968" + "e61a19bc685cc6eb522de1a8f51d0b1e" ], [ "StackMachine.__proj__TiNConst__item__s", @@ -671,7 +662,7 @@ "refinement_interpretation_Tm_refine_a56f6ca6150cb01114a8fab36ff93703" ], 0, - "22b755030e334eef865b2b41ea2b7911" + "50428ccbcb12dc5cec948638ed413bae" ], [ "StackMachine.__proj__TiNConst__item___1", @@ -685,7 +676,7 @@ "refinement_interpretation_Tm_refine_a56f6ca6150cb01114a8fab36ff93703" ], 0, - "c28fb6bedc8b22a5bab3da110c469970" + "b7a8daafaa1421724c995a498487b66c" ], [ "StackMachine.__proj__TiBConst__item__s", @@ -699,7 +690,7 @@ "refinement_interpretation_Tm_refine_55dae19a239461194000bc379645c48e" ], 0, - "56b1d09dfcb2bab7ecbc9f2c94d9547b" + "e9bfebac4dfe22b11bffad7291de3ec2" ], [ "StackMachine.__proj__TiBConst__item___1", @@ -713,7 +704,7 @@ "refinement_interpretation_Tm_refine_55dae19a239461194000bc379645c48e" ], 0, - "38341975774353cfd5195bdca5d8e06f" + "e0ef8894c130f04426fd7a40715de7d3" ], [ "StackMachine.__proj__TiBinop__item__arg1", @@ -727,7 +718,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "f2eb9da0a9cda14fc05dbb32166819e6" + "706be64d90bfbc1bf79771d1b50c3f11" ], [ "StackMachine.__proj__TiBinop__item__arg2", @@ -741,7 +732,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "ce0d7e956fcc2ea7a8d3e63b098bc781" + "160fcc1c3fafab909696f549ac11241a" ], [ "StackMachine.__proj__TiBinop__item__res", @@ -755,7 +746,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "f191f70d2def0985557ed0d46b889929" + "a92f7ab58b9d1db6cb8f7301079755c6" ], [ "StackMachine.__proj__TiBinop__item__s", @@ -769,7 +760,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "8ef2c2131661782cbb716c71ad4ad651" + "3dffb703521f2d337f31e82c910f65bf" ], [ "StackMachine.__proj__TiBinop__item___4", @@ -789,7 +780,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "723ec844d8e8fa55839aa846675fc58e" + "ced5781beec2d9b48c665db50fa13628" ], [ "StackMachine.tprog", @@ -805,7 +796,7 @@ "equation_StackMachine.tstack", "kinding_StackMachine.typ@tok" ], 0, - "6c2953d62fdac9fa0bd6432661edccce" + "5859fbb3e09e05fe715258c1f9deddee" ], [ "StackMachine.__proj__TNil__item__s", @@ -818,7 +809,7 @@ "refinement_interpretation_Tm_refine_f199955d1c0a09a2e1c2187aa1c27dfb" ], 0, - "4253c82459e01eb21e82f725636104d0" + "55bf08a4dfd49f02d9491bb4dcca24bb" ], [ "StackMachine.__proj__TCons__item__s1", @@ -831,7 +822,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "cc5e5690b898bab78b0d171904224f09" + "aebf4755f6430fb9c90121c5411753f0" ], [ "StackMachine.__proj__TCons__item__s2", @@ -844,7 +835,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "c9abd3dd704016d915607eefd3e91960" + "35483d5e2ec55b4ae552457b95769b15" ], [ "StackMachine.__proj__TCons__item__s3", @@ -857,7 +848,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "4e1b94fb1c25b69318769ed597a044bd" + "8a8b3c1763337d2eb3785ba9b4ec257f" ], [ "StackMachine.__proj__TCons__item___3", @@ -874,7 +865,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "b4f7832e12323b1a7eae3338e39d9d8b" + "e14433da1370b58585e302ac5c2cfb03" ], [ "StackMachine.__proj__TCons__item___4", @@ -891,7 +882,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "876db8cdffc1171e6f91bf39cdaf1722" + "c951dc0dca94bd99e9d5cef8b25cf5d5" ], [ "StackMachine.vstack", @@ -901,14 +892,14 @@ [ "@MaxIFuel_assumption", "@query", "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", - "binder_x_cf343fd28b20efbaca6407bd0be2d5d9_0", + "binder_x_16a921c956d1ccece42ab1b05699fdf1_0", "data_typing_intro_StackMachine.Bool@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_StackMachine.tstack", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "17e72b4b278280e5f3553bae9a1d36ec" + "2b119f27c98d188986283c590add64bf" ], [ "StackMachine.tinstrDenote", @@ -920,13 +911,13 @@ "@fuel_correspondence_StackMachine.vstack.fuel_instrumented", "@fuel_irrelevance_StackMachine.vstack.fuel_instrumented", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "StackMachine_interpretation_Tm_arrow_ad7f6e8ac67476b46c01dcd129449ceb", - "StackMachine_interpretation_Tm_arrow_d46b06b51d00c200611b787a2827120c", + "StackMachine_interpretation_Tm_arrow_2d71a237d1d23d83fe2231dae14f26a9", + "StackMachine_interpretation_Tm_arrow_aa95041870b22db0050daf9c687449fb", "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", - "binder_x_157fa1f06d1d5a6c95e32afa7f793892_3", - "binder_x_cf343fd28b20efbaca6407bd0be2d5d9_0", - "binder_x_cf343fd28b20efbaca6407bd0be2d5d9_1", - "binder_x_d201d0fe1ea4bf24386ad4ee58d738aa_2", "bool_typing", + "binder_x_16a921c956d1ccece42ab1b05699fdf1_0", + "binder_x_16a921c956d1ccece42ab1b05699fdf1_1", + "binder_x_4660ce528ccb71fc8bb9d6b825ca3a5a_2", + "binder_x_ec5a2f91b89276de9e637eac70b8acd5_3", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_StackMachine.Bool", "constructor_distinct_StackMachine.Nat", @@ -946,17 +937,17 @@ "fuel_guarded_inversion_Prims.list", "fuel_guarded_inversion_StackMachine.tinstr", "function_token_typing_Prims.bool", - "function_token_typing_Prims.nat", "function_token_typing_StackMachine.tbinopDenote", "kinding_StackMachine.typ@tok", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_StackMachine.tbinopDenote", "typing_StackMachine.typeDenote", "typing_StackMachine.vstack" ], 0, - "46715ae838c65e47f67b76e741fe9744" + "71e2f4982706784530e42a0e3d1ef953" ], [ "StackMachine.tprogDenote", @@ -965,7 +956,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_79caf56c07a51dbcb893cc9d588140fa_2", + "binder_x_974496a40345cd37a4bd3e98318859b9_2", "data_elim_StackMachine.TCons", "data_elim_StackMachine.TNil", "disc_equation_StackMachine.TCons", "disc_equation_StackMachine.TNil", "equality_tok_Prims.LexTop@tok", @@ -973,7 +964,7 @@ "subterm_ordering_StackMachine.TCons" ], 0, - "7a8109321d0b4b51fdb1d887349bdaa6" + "62f95b851617e9420e8441a69f1e8ec1" ], [ "StackMachine.tconcat", @@ -982,7 +973,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_79caf56c07a51dbcb893cc9d588140fa_3", + "binder_x_974496a40345cd37a4bd3e98318859b9_3", "data_elim_StackMachine.TCons", "data_elim_StackMachine.TNil", "disc_equation_StackMachine.TCons", "disc_equation_StackMachine.TNil", "equality_tok_Prims.LexTop@tok", @@ -990,7 +981,7 @@ "subterm_ordering_StackMachine.TCons" ], 0, - "e718401f37495a178a53bdd66256be97" + "d1f2ab10ef1727138bbc1b6772cd7df5" ], [ "StackMachine.tcompile", @@ -1011,7 +1002,7 @@ "subterm_ordering_StackMachine.TBinop" ], 0, - "6815911b6178fadba2581b81b89f3f8f" + "759f4331b01d0647e3b92514b3b043eb" ], [ "StackMachine.tconcat_correct", @@ -1024,10 +1015,10 @@ "@fuel_correspondence_StackMachine.tprogDenote.fuel_instrumented", "@fuel_irrelevance_StackMachine.tconcat.fuel_instrumented", "@fuel_irrelevance_StackMachine.tprogDenote.fuel_instrumented", - "@query", "binder_x_157fa1f06d1d5a6c95e32afa7f793892_5", - "binder_x_79caf56c07a51dbcb893cc9d588140fa_3", - "binder_x_8c31b98bb1efa3cf38d62ca2eb76fb55_4", - "binder_x_cf343fd28b20efbaca6407bd0be2d5d9_2", + "@query", "binder_x_16a921c956d1ccece42ab1b05699fdf1_2", + "binder_x_6139a6130ce3dbbc55c3991e4703c482_4", + "binder_x_974496a40345cd37a4bd3e98318859b9_3", + "binder_x_ec5a2f91b89276de9e637eac70b8acd5_5", "constructor_distinct_StackMachine.TCons", "constructor_distinct_StackMachine.TNil", "data_elim_StackMachine.TCons", "data_elim_StackMachine.TNil", @@ -1045,7 +1036,7 @@ "subterm_ordering_StackMachine.TCons", "typing_StackMachine.tconcat" ], 0, - "05b23654e2a2e69734f9227e2e279a5b" + "a71a4c7315b3726f61b6f4f1af76b438" ], [ "StackMachine.tcompile_correct'", @@ -1066,9 +1057,9 @@ "@fuel_irrelevance_StackMachine.tprogDenote.fuel_instrumented", "@fuel_irrelevance_StackMachine.vstack.fuel_instrumented", "@query", "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", - "binder_x_7d54b3c439c13c0513a3d9fa17edc5ab_3", + "binder_x_16a921c956d1ccece42ab1b05699fdf1_2", + "binder_x_6c1df4396abfdddfd116f15b23ec8d1a_3", "binder_x_99009f55474bb74b46709f3fb0f7bfdf_0", - "binder_x_cf343fd28b20efbaca6407bd0be2d5d9_2", "binder_x_e9914cc59dbecc2ac85148e3e6b7dd9a_1", "constructor_distinct_StackMachine.Bool", "constructor_distinct_StackMachine.Nat", @@ -1098,6 +1089,7 @@ "equation_with_fuel_StackMachine.texpDenote.fuel_instrumented", "equation_with_fuel_StackMachine.tinstrDenote.fuel_instrumented", "equation_with_fuel_StackMachine.tprogDenote.fuel_instrumented", + "equation_with_fuel_StackMachine.vstack.fuel_instrumented", "fuel_guarded_inversion_StackMachine.tbinop", "fuel_guarded_inversion_StackMachine.texp", "fuel_guarded_inversion_StackMachine.typ", @@ -1127,15 +1119,16 @@ "projection_inverse_StackMachine.TiBinop_s", "projection_inverse_StackMachine.TiNConst__1", "projection_inverse_StackMachine.TiNConst_s", - "refinement_interpretation_StackMachine_Tm_refine_960172259ff2d889cc50e189baf8de4d", + "refinement_interpretation_Tm_refine_252b3ad7754577a73062088fd5913a0a", "subterm_ordering_StackMachine.TBinop", + "token_correspondence_StackMachine.tcompile.fuel_instrumented", "typing_StackMachine.tcompile", "typing_StackMachine.tconcat", "typing_StackMachine.texpDenote", "typing_StackMachine.tinstrDenote", "typing_StackMachine.tprogDenote", "typing_tok_StackMachine.Bool@tok", "typing_tok_StackMachine.Nat@tok" ], 0, - "398c4baf5cc31100333e4d0a163952a1" + "ec47900ec6d351978fe6cf3b0b17fe67" ], [ "StackMachine.exp", @@ -1146,11 +1139,11 @@ "@MaxIFuel_assumption", "@query", "assumption_StackMachine.binop__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "04c55a9c2c2eae7b80131dce3026a11c" + "919fd3d881f8520852baf378b644493c" ], [ "StackMachine.__proj__Const__item___0", @@ -1163,7 +1156,7 @@ "refinement_interpretation_Tm_refine_733535f472f5bce64316080d16cf1692" ], 0, - "2f41af3eb7295d94ee79873b58a8d9d1" + "f638b4c399f62350e1abbbe9630c97bc" ], [ "StackMachine.__proj__Binop__item___0", @@ -1176,7 +1169,7 @@ "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" ], 0, - "95ca3a56a27a641f9009f6e77e37ca58" + "1d91de3e7fe62b6d1cfeee1241801209" ], [ "StackMachine.__proj__Binop__item___1", @@ -1189,7 +1182,7 @@ "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" ], 0, - "72483f257da07457998380e6dd2ba69f" + "2d61fc3bf7eeaab5061427722e7cb2ce" ], [ "StackMachine.__proj__Binop__item___2", @@ -1202,7 +1195,7 @@ "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" ], 0, - "0170f0bd1d3f4cb7a26d4a1f5fa94a5e" + "eb1e8fa31f7350fe809c3bb292ab15c8" ], [ "StackMachine.add_nat", @@ -1212,10 +1205,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a38c71da0571d24b0ddf5814d79101ad" + "c20af568ad6c0775170ffaa993c4cc92" ], [ "StackMachine.mul_nat", @@ -1225,10 +1218,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "baae67905dc7a189d239479578361eff" + "971664e2595f0eafb625098d82c260dc" ], [ "StackMachine.eq_nat", @@ -1238,11 +1231,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eb2991c718990130d69a34368c264951" + "c07c8adbc8169b6361c4b48123d00d03" ], [ "StackMachine.binopDenote", @@ -1255,7 +1248,7 @@ "fuel_guarded_inversion_StackMachine.binop" ], 0, - "9d988865824c39518217ff0615cff00e" + "46463dd56d71f422ddc032bf1261dba5" ], [ "StackMachine.expDenote", @@ -1271,7 +1264,7 @@ "subterm_ordering_StackMachine.Binop" ], 0, - "07ec095c17546021566ef4ea4fc28f33" + "34125e88c4d4c5996d2141e75feb268c" ], [ "StackMachine.instr", @@ -1282,11 +1275,11 @@ "@MaxIFuel_assumption", "@query", "assumption_StackMachine.binop__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a0b2c973aa6e3119ef3f4ebb21da4db3" + "02b53bcf317ed2b6b72b2705c3c9998d" ], [ "StackMachine.__proj__IConst__item___0", @@ -1300,7 +1293,7 @@ "refinement_interpretation_Tm_refine_a31651c68d304738b29495c5aeb6aa44" ], 0, - "ad49e31767fea28fa4949f784bc5ca0c" + "6d0c4ee1087c39f01cdd66814afe91f9" ], [ "StackMachine.__proj__IBinop__item___0", @@ -1314,7 +1307,7 @@ "refinement_interpretation_Tm_refine_94dbe5757f232f1d6a06d4d6dfaafd34" ], 0, - "6822ac1af5feb947c27e6d4a69191006" + "fa6ef232fd4fbd38b7d2b1a24d04b999" ], [ "StackMachine.instrDenote", @@ -1328,7 +1321,7 @@ "fuel_guarded_inversion_StackMachine.instr" ], 0, - "56e8a2ddc3b8644dc6bb8719c90eba83" + "ea2bc8a105893e1442775c6643794427" ], [ "StackMachine.progDenote", @@ -1337,21 +1330,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_ce0b7b036f4e4c7e19ed25969fddd4c5_0", - "binder_x_dcdba5a2d1eb2df70eb1f1e41b6fb908_1", "bool_inversion", + "binder_x_3c9ae8002a222e92248c26cdf9185c83_1", + "binder_x_fe682cb2a18a2940e86b58f8bbe9df33_0", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_StackMachine.instrDenote", "equation_StackMachine.prog", "equation_StackMachine.stack", "fuel_guarded_inversion_Prims.list", "function_token_typing_StackMachine.stack", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons", + "lemma_FStar.Pervasives.invertOption", "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", "typing_StackMachine.instrDenote" ], 0, - "562255f62512e1ca17a093c8425941b6" + "5ded2a1799089deb753cb00fcf283821" ], [ "StackMachine.compile", @@ -1367,7 +1359,7 @@ "subterm_ordering_StackMachine.Binop" ], 0, - "4ee7ba31960be66b3db6c318cb375adb" + "a1766caabafa8c8bb0f34db5ce4f9c02" ], [ "StackMachine.compile_correct'", @@ -1376,18 +1368,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StackMachine.stack", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_StackMachine.stack", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "67a16d0dde37239172c0053ffcf846b1" + "b89f64e74eec938a412abbeda5abbb4f" ], [ "StackMachine.compile_correct", @@ -1396,18 +1387,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StackMachine.stack", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_StackMachine.stack", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "73d56454e78a28d32eb290d5fff72590" + "2dfd65c28cda456d63aca49422cca50f" ], [ "StackMachine.tbinop", @@ -1416,7 +1406,7 @@ 1, [ "@query", "assumption_StackMachine.typ__uu___haseq" ], 0, - "d49ba97903647d1a03de79764823691c" + "5471dfd88a0fb37e5b47e8df65bbf0db" ], [ "StackMachine.__proj__TEq__item__t", @@ -1429,7 +1419,7 @@ "refinement_interpretation_Tm_refine_013f03405ee56e2bee5ec40dee6f6602" ], 0, - "ddd4674daec8b8ea45ec6578220eea85" + "c0706801c24dd117e6ed58abfbef71ff" ], [ "StackMachine.texp", @@ -1438,17 +1428,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_StackMachine.tbinop__uu___haseq", "assumption_StackMachine.typ__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0cf8877c16d0dd9391f50bbb5dbabb75" + "87472e842be1fa85a1e452efe2835d09" ], [ "StackMachine.__proj__TNConst__item___0", @@ -1462,7 +1449,7 @@ "refinement_interpretation_Tm_refine_6dd4891ce41bb7d9b26ab7b05113bdd5" ], 0, - "1ee7e3a94e670b3e14a708b4d0489411" + "0e5ed738fa58cbbe3a47b006844afc56" ], [ "StackMachine.__proj__TBConst__item___0", @@ -1476,7 +1463,7 @@ "refinement_interpretation_Tm_refine_9da0b8f720646900d62e529141346f6a" ], 0, - "38fc28e619c90cf80d5f39c10a332fb1" + "060654253888ea4347b18d057dafd909" ], [ "StackMachine.__proj__TBinop__item__t1", @@ -1490,7 +1477,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "67d11bf03e8ef4cc11ca2fb83d2bcc76" + "9a72b88849cb582dbc76eb8b80392c49" ], [ "StackMachine.__proj__TBinop__item__t2", @@ -1504,7 +1491,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "67e9f29244eb9859e5645fcdb951fd15" + "31a60aa9232e86019bd84a3750c27a5b" ], [ "StackMachine.__proj__TBinop__item__t", @@ -1518,7 +1505,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "3dc799344c63b85b3145d6a59949d657" + "92f2420064218277cda6087a0ee0c472" ], [ "StackMachine.__proj__TBinop__item___3", @@ -1538,7 +1525,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "3c51512abe0712a525d2cfe8c7461bc8" + "5232e72469df2500604965236a2a3f5c" ], [ "StackMachine.__proj__TBinop__item___4", @@ -1554,7 +1541,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "455a42a43216bd1940171c9ebe109265" + "5f28eb29f5082edd1323a55507c7bc48" ], [ "StackMachine.__proj__TBinop__item___5", @@ -1570,7 +1557,7 @@ "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" ], 0, - "be47b4489ba1504d7dc15f0c45bf9708" + "c65aaa9fc881bf571c60e7f1f1a04de1" ], [ "StackMachine.typeDenote", @@ -1583,7 +1570,7 @@ "fuel_guarded_inversion_StackMachine.typ" ], 0, - "6ce954db1e8ad1ac2a7a1f7e81d9c930" + "d52db5be46391dcad2a4a607b8f5765b" ], [ "StackMachine.tbinopDenote", @@ -1616,7 +1603,7 @@ "typing_tok_StackMachine.TTimes@tok" ], 0, - "074c7eb44552fbe8450bcdbf1e63792d" + "480918ed9f590ceef13522f7aaff6595" ], [ "StackMachine.texpDenote", @@ -1643,7 +1630,7 @@ "subterm_ordering_StackMachine.TBinop" ], 0, - "be291c6cc8de6b8e9f50c662bf92fa3d" + "39e4077ef4c2ff059a9750b6e836bd18" ], [ "StackMachine.tinstr", @@ -1652,21 +1639,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", "assumption_Prims.list__uu___haseq", "assumption_StackMachine.tbinop__uu___haseq", "assumption_StackMachine.typ__uu___haseq", "data_typing_intro_StackMachine.Bool@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StackMachine.tstack", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_StackMachine.typ@tok", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "93fb82e13314d61ae49ede7101c20095" + "7073ea76384d0b30a7d878db13bfcc74" ], [ "StackMachine.__proj__TiNConst__item__s", @@ -1680,7 +1665,7 @@ "refinement_interpretation_Tm_refine_a56f6ca6150cb01114a8fab36ff93703" ], 0, - "f59f7007e2bb31977fc76455de39bd76" + "051fa3fc66ab9636da317d67996b64cc" ], [ "StackMachine.__proj__TiNConst__item___1", @@ -1694,7 +1679,7 @@ "refinement_interpretation_Tm_refine_a56f6ca6150cb01114a8fab36ff93703" ], 0, - "623157e8a8ab7ef1de136e32bd1a6669" + "feabad8dbd78109f4d92248b7989e14a" ], [ "StackMachine.__proj__TiBConst__item__s", @@ -1708,7 +1693,7 @@ "refinement_interpretation_Tm_refine_55dae19a239461194000bc379645c48e" ], 0, - "540823edc2c43adcd3f887b33e7249c8" + "e857b45105077f2f8ab210d9a3fd3a23" ], [ "StackMachine.__proj__TiBConst__item___1", @@ -1722,7 +1707,7 @@ "refinement_interpretation_Tm_refine_55dae19a239461194000bc379645c48e" ], 0, - "775a37118e68637b999c439ba2914173" + "a061510501e07020498b4f4f4a625d98" ], [ "StackMachine.__proj__TiBinop__item__arg1", @@ -1736,7 +1721,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "af918c5b8ee8a15be0990e279e3e4a2f" + "141cf10c57502b46866b20efe632b966" ], [ "StackMachine.__proj__TiBinop__item__arg2", @@ -1750,7 +1735,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "158ce7c9568648740f63a8f15631ceb3" + "1b493b8b11b2a20bbb2939983a517f00" ], [ "StackMachine.__proj__TiBinop__item__res", @@ -1764,7 +1749,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "38805250f12f86151b04cf40f6ea5894" + "9b5da43e47a221a82c42e9568f6a90f9" ], [ "StackMachine.__proj__TiBinop__item__s", @@ -1778,7 +1763,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "0cd3a7aba293c0bc079f0eaeec1d476f" + "90ad3acb140852a9e12c39bfdf0eae8d" ], [ "StackMachine.__proj__TiBinop__item___4", @@ -1798,7 +1783,7 @@ "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" ], 0, - "be5ddf6c782d0136c8953f4f0826ce29" + "5a2d7695cf98f75838753cb0500e7308" ], [ "StackMachine.tprog", @@ -1814,7 +1799,7 @@ "equation_StackMachine.tstack", "kinding_StackMachine.typ@tok" ], 0, - "8dccc548bfd9cc9d099520e512cc77e0" + "d9a41b356082c7df1bd0c27b8214c501" ], [ "StackMachine.__proj__TNil__item__s", @@ -1827,7 +1812,7 @@ "refinement_interpretation_Tm_refine_f199955d1c0a09a2e1c2187aa1c27dfb" ], 0, - "0e1e872549d0eb0df5225a516e605517" + "75df6e0f1e778cfcbe3ea9cc67b66aa1" ], [ "StackMachine.__proj__TCons__item__s1", @@ -1840,7 +1825,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "0b5d43a4c628fdb7305d34f8b76fdd5d" + "05d17b838d47a6be761f356903139caa" ], [ "StackMachine.__proj__TCons__item__s2", @@ -1853,7 +1838,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "b9bb8f439542751dc7f38a85dbe3ff7b" + "4ab16c10924ba11ccf7a2493f66c5d3f" ], [ "StackMachine.__proj__TCons__item__s3", @@ -1866,7 +1851,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "86bc825096abe30954d0fb91e8031144" + "8c6741040cd4b1ae9f3922e95bc93347" ], [ "StackMachine.__proj__TCons__item___3", @@ -1883,7 +1868,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "fb8c606256fa305ca898c1124c2529fb" + "b5e457284456c580c6c028840f5da1b4" ], [ "StackMachine.__proj__TCons__item___4", @@ -1900,7 +1885,7 @@ "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" ], 0, - "dfc02ff4bc59368e78fef5cbf96f28c4" + "a5759bb1f683182007b73d6bcd8aa410" ], [ "StackMachine.vstack", @@ -1910,14 +1895,14 @@ [ "@MaxIFuel_assumption", "@query", "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", - "binder_x_cf343fd28b20efbaca6407bd0be2d5d9_0", + "binder_x_16a921c956d1ccece42ab1b05699fdf1_0", "data_typing_intro_StackMachine.Bool@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_StackMachine.tstack", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "d923d189691c7d4e14472be82726e1a8" + "bcb3e549c3a9e1f52c2591f11fbf63ae" ], [ "StackMachine.tinstrDenote", @@ -1929,13 +1914,13 @@ "@fuel_correspondence_StackMachine.vstack.fuel_instrumented", "@fuel_irrelevance_StackMachine.vstack.fuel_instrumented", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "StackMachine_interpretation_Tm_arrow_ad7f6e8ac67476b46c01dcd129449ceb", - "StackMachine_interpretation_Tm_arrow_d46b06b51d00c200611b787a2827120c", + "StackMachine_interpretation_Tm_arrow_2d71a237d1d23d83fe2231dae14f26a9", + "StackMachine_interpretation_Tm_arrow_aa95041870b22db0050daf9c687449fb", "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", - "binder_x_157fa1f06d1d5a6c95e32afa7f793892_3", - "binder_x_cf343fd28b20efbaca6407bd0be2d5d9_0", - "binder_x_cf343fd28b20efbaca6407bd0be2d5d9_1", - "binder_x_d201d0fe1ea4bf24386ad4ee58d738aa_2", "bool_typing", + "binder_x_16a921c956d1ccece42ab1b05699fdf1_0", + "binder_x_16a921c956d1ccece42ab1b05699fdf1_1", + "binder_x_4660ce528ccb71fc8bb9d6b825ca3a5a_2", + "binder_x_ec5a2f91b89276de9e637eac70b8acd5_3", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_StackMachine.Bool", "constructor_distinct_StackMachine.Nat", @@ -1955,17 +1940,17 @@ "fuel_guarded_inversion_Prims.list", "fuel_guarded_inversion_StackMachine.tinstr", "function_token_typing_Prims.bool", - "function_token_typing_Prims.nat", "function_token_typing_StackMachine.tbinopDenote", "kinding_StackMachine.typ@tok", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_StackMachine.tbinopDenote", "typing_StackMachine.typeDenote", "typing_StackMachine.vstack" ], 0, - "5840467c15b9d08196fb9f05718e77af" + "62a84aab080eb82ddc3a7383fecb299f" ], [ "StackMachine.tprogDenote", @@ -1974,7 +1959,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_79caf56c07a51dbcb893cc9d588140fa_2", + "binder_x_974496a40345cd37a4bd3e98318859b9_2", "data_elim_StackMachine.TCons", "data_elim_StackMachine.TNil", "disc_equation_StackMachine.TCons", "disc_equation_StackMachine.TNil", "equality_tok_Prims.LexTop@tok", @@ -1982,7 +1967,7 @@ "subterm_ordering_StackMachine.TCons" ], 0, - "f090d34efce3733509f69af54f1ed2e2" + "e944e25800741767018a9ea81be09e24" ], [ "StackMachine.tconcat", @@ -1991,7 +1976,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_79caf56c07a51dbcb893cc9d588140fa_3", + "binder_x_974496a40345cd37a4bd3e98318859b9_3", "data_elim_StackMachine.TCons", "data_elim_StackMachine.TNil", "disc_equation_StackMachine.TCons", "disc_equation_StackMachine.TNil", "equality_tok_Prims.LexTop@tok", @@ -1999,7 +1984,7 @@ "subterm_ordering_StackMachine.TCons" ], 0, - "b94cba88aa4aee25f548876e8b94bf91" + "46cf756d56a7aa39eed556f10c56e363" ], [ "StackMachine.tcompile", @@ -2020,7 +2005,7 @@ "subterm_ordering_StackMachine.TBinop" ], 0, - "89e2acde0a0c180c6c2f47ea305de618" + "f2368b5ca6c2d083876fc1b1c99223c8" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/StlcCbvDbParSubst.fst.hints b/examples/metatheory/StlcCbvDbParSubst.fst.hints index d9f870172c3..5b83934969d 100644 --- a/examples/metatheory/StlcCbvDbParSubst.fst.hints +++ b/examples/metatheory/StlcCbvDbParSubst.fst.hints @@ -10,10 +10,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "cd60dd0590579060a97db5c85c220ee0" + "2daf24dd24c41fe65e09ca76ab4ef448" ], [ "StlcCbvDbParSubst.extend_gen", @@ -21,20 +21,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ef8cae2c3c3461075859c826a0ba985f" + "3fa68bb58733c84fe9175b4c94eac5ae" ], [ "StlcCbvDbParSubst.weakening", @@ -44,12 +41,12 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcCbvDbParSubst_interpretation_Tm_arrow_ef5f683a925963b7361ea8b532d24561", - "StlcStrongDbParSubst_interpretation_Tm_arrow_2c819e1f05629de933e177636811f25f", + "StlcCbvDbParSubst_interpretation_Tm_arrow_9da8b82da5f86d650d16ce1167a0fa4e", + "StlcStrongDbParSubst_interpretation_Tm_arrow_537baed5a6ddfc86c6c3de16b2197b39", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "binder_x_d228c7564ceec50cff24ad0ca9a8c943_5", - "binder_x_da63d231f99fc2e595f8d0d2ff9c3290_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_aa529169e17553eab2fd2cf8e2e00d43_5", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_d7a08fe95d0edeffd31477bbf4345664_1", "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_4", "constructor_distinct_FStar.Pervasives.Native.Some", "data_typing_intro_StlcStrongDbParSubst.TUnit@tok", @@ -65,20 +62,20 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_StlcCbvDbParSubst.extend_gen", "int_inversion", "int_typing", - "interpretation_Tm_abs_b2ff7981df6c84510d62a9dd4ec12341", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", + "interpretation_Tm_abs_8e8cef3f3b2af03d991302fd11832ac3", "kinding_StlcStrongDbParSubst.typ@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_94080fa84db56c51354ba00f2f70de62", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c5d162fb39ed27e3122cb49f4606e8da", "token_correspondence_StlcCbvDbParSubst.extend_gen" ], 0, - "09a1775beaeeb7555553e35da5d7082a" + "47df0de5bce8a74306084c260fd0eacb" ], [ "StlcCbvDbParSubst.step", @@ -99,7 +96,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "f4bd5f01d53e016a6aaa5b53f62e2635" + "bda72df46e07ba82a03b287632436ac6" ], [ "StlcCbvDbParSubst.progress", @@ -110,11 +107,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_StlcCbvDbParSubst.step.fuel_instrumented", "@fuel_irrelevance_StlcCbvDbParSubst.step.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_b2458c6bb744e6db0882db4d2da5d94c_2", + "binder_x_d9e38d5f55016f34266b7ac1885a774d_2", "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -144,7 +141,6 @@ "fuel_guarded_inversion_StlcStrongDbParSubst.exp", "fuel_guarded_inversion_StlcStrongDbParSubst.typ", "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_StlcStrongDbParSubst.exp@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", @@ -153,15 +149,14 @@ "projection_inverse_StlcStrongDbParSubst.ELam__0", "projection_inverse_StlcStrongDbParSubst.ELam__1", "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", "subterm_ordering_StlcStrongDbParSubst.TyApp", - "token_correspondence_StlcStrongDbParSubst.empty", "typing_StlcCbvDbParSubst.step", "typing_StlcStrongDbParSubst.is_value" ], 0, - "debf5107d12071a056b1b24094e0c829" + "c34108a6481651d0e01e6f9de7274464" ], [ "StlcCbvDbParSubst.typing_extensional", @@ -171,8 +166,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_963540a20a0f9ee2ea8ad130988b76bc_3", - "binder_x_b96ae89ca7a9aa45e4802bad25f771f7_4", + "binder_x_5a46e118e90c9e1bd3eb623781c03d15_3", + "binder_x_68954c3ef788afaa9618aa171f544a7e_4", "data_elim_StlcStrongDbParSubst.TyApp", "data_elim_StlcStrongDbParSubst.TyLam", "data_elim_StlcStrongDbParSubst.TyUnit", @@ -183,23 +178,22 @@ "disc_equation_StlcStrongDbParSubst.TyVar", "equality_tok_Prims.LexTop@tok", "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.env", "equation_StlcStrongDbParSubst.extend", "equation_StlcStrongDbParSubst.var", "fuel_guarded_inversion_StlcStrongDbParSubst.typing", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c919e3c6d4a96f002e618a70dc310cda", + "refinement_interpretation_Tm_refine_21f1268484afa29917c4777ed538910e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", "subterm_ordering_StlcStrongDbParSubst.TyApp", "subterm_ordering_StlcStrongDbParSubst.TyLam" ], 0, - "7b8406bd4d57df13ef80bd6cfa6478c4" + "e8d019148390df19ef893bd3ff8e4567" ], [ "StlcCbvDbParSubst.appears_free_in", @@ -208,10 +202,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_efdd934bb8b090f4e1b7156061e14150_0", + "binder_x_994c99bbacb216630d104a4d01f030da_0", "data_typing_intro_StlcStrongDbParSubst.EUnit@tok", "disc_equation_StlcStrongDbParSubst.EApp", "disc_equation_StlcStrongDbParSubst.ELam", @@ -220,17 +213,16 @@ "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "fuel_guarded_inversion_StlcStrongDbParSubst.exp", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam" ], 0, - "d9e348c90023febcf9a20f1009ba171a" + "19f120d3201403f36e0d2f1d37e54127" ], [ "StlcCbvDbParSubst.envEqualE", @@ -243,7 +235,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "507de696e2b72af34bd090f1acb57cd4" + "8bcfc81a038cab498e6d7f1abd15765b" ], [ "StlcCbvDbParSubst.context_invariance", @@ -257,8 +249,8 @@ "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_963540a20a0f9ee2ea8ad130988b76bc_3", - "binder_x_fbb409a6327af54f9761eecbc745f05c_4", "bool_inversion", + "binder_x_5a46e118e90c9e1bd3eb623781c03d15_3", + "binder_x_cce50e4c07746e3ce32d26de8b3af145_4", "bool_inversion", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.ELam", "constructor_distinct_StlcStrongDbParSubst.EVar", @@ -275,14 +267,13 @@ "disc_equation_StlcStrongDbParSubst.TyVar", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_StlcCbvDbParSubst.envEqualE", - "equation_StlcStrongDbParSubst.env", "equation_StlcStrongDbParSubst.extend", "equation_StlcStrongDbParSubst.var", "equation_with_fuel_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", "fuel_guarded_inversion_StlcStrongDbParSubst.typing", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", @@ -292,16 +283,16 @@ "projection_inverse_StlcStrongDbParSubst.ELam__0", "projection_inverse_StlcStrongDbParSubst.ELam__1", "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_6c3cb1ea2a7f82ce218b5ba54a5ca9f0", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", + "refinement_interpretation_Tm_refine_f5705c081cc8d8395b0d7e23ef7d0b72", "subterm_ordering_StlcStrongDbParSubst.TyApp", "subterm_ordering_StlcStrongDbParSubst.TyLam", "token_correspondence_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", "typing_StlcCbvDbParSubst.appears_free_in" ], 0, - "aa68326ce2cde27bd73de3c0db088f00" + "cdc814424f5db5307ed8f353c272a24c" ], [ "StlcCbvDbParSubst.free_in_context", @@ -310,15 +301,13 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_correspondence_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "b2t_def", "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_4f967934e12fef5c15afc13913046f99_4", - "binder_x_efdd934bb8b090f4e1b7156061e14150_0", "bool_inversion", + "binder_x_00c2c856e702f50718a37c394bb4dba3_1", + "binder_x_1d732eb866c2d6a93569d4f5389d0e8a_4", + "binder_x_994c99bbacb216630d104a4d01f030da_0", "bool_inversion", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.ELam", "constructor_distinct_StlcStrongDbParSubst.EUnit", @@ -335,23 +324,16 @@ "disc_equation_StlcStrongDbParSubst.TyUnit", "disc_equation_StlcStrongDbParSubst.TyVar", "equality_tok_Prims.LexTop@tok", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_Prims.nat", + "equality_tok_StlcStrongDbParSubst.EUnit@tok", "equation_Prims.nat", "equation_StlcStrongDbParSubst.extend", "equation_StlcStrongDbParSubst.var", "equation_with_fuel_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_StlcStrongDbParSubst.extend", "int_inversion", - "int_typing", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", + "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_StlcStrongDbParSubst.EApp__0", @@ -359,15 +341,15 @@ "projection_inverse_StlcStrongDbParSubst.ELam__0", "projection_inverse_StlcStrongDbParSubst.ELam__1", "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", "subterm_ordering_StlcStrongDbParSubst.TyApp", "subterm_ordering_StlcStrongDbParSubst.TyLam", - "typing_FStar.UInt.fits", "typing_StlcCbvDbParSubst.appears_free_in", + "typing_StlcCbvDbParSubst.appears_free_in", "typing_tok_StlcStrongDbParSubst.EUnit@tok" ], 0, - "a973a1483c7ac24abeffda5ebd568c2a" + "e93b171ede69e9955ecab0619db923c1" ], [ "StlcCbvDbParSubst.typable_empty_not_free", @@ -384,7 +366,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "015328ea83bf972de58859ef74d5a4a5" + "08f12156a15781320b5383949841fc67" ], [ "StlcCbvDbParSubst.below", @@ -395,7 +377,7 @@ "@MaxIFuel_assumption", "@query", "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_efdd934bb8b090f4e1b7156061e14150_0", + "binder_x_994c99bbacb216630d104a4d01f030da_0", "data_typing_intro_StlcStrongDbParSubst.EUnit@tok", "disc_equation_StlcStrongDbParSubst.EApp", "disc_equation_StlcStrongDbParSubst.ELam", @@ -405,12 +387,12 @@ "equation_StlcStrongDbParSubst.var", "fuel_guarded_inversion_StlcStrongDbParSubst.exp", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam" ], 0, - "649a9854d769d2d178ef68c84e944c27" + "6ac098b10b8cf1b1fa619c0d64810620" ], [ "StlcCbvDbParSubst.below_env", @@ -423,7 +405,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "463751fcc72a3f4ec89e0a1a62c0a805" + "c07c83b2d1322e7afe0c1b09b04660a3" ], [ "StlcCbvDbParSubst.typable_below", @@ -437,8 +419,8 @@ "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_2", - "binder_x_5d4e3573009f737808912e3bf7707092_4", - "binder_x_efdd934bb8b090f4e1b7156061e14150_0", "bool_inversion", + "binder_x_23043b15956034e880f31c79bfd896e4_4", + "binder_x_994c99bbacb216630d104a4d01f030da_0", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.ELam", @@ -463,7 +445,7 @@ "fuel_guarded_inversion_StlcStrongDbParSubst.typing", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", @@ -474,16 +456,16 @@ "projection_inverse_StlcStrongDbParSubst.ELam__0", "projection_inverse_StlcStrongDbParSubst.ELam__1", "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_0b916d71354843b5a54c851c427eb028", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_17412b10d7e1a0cd831412000ec09ff7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", "subterm_ordering_StlcStrongDbParSubst.TyApp", "subterm_ordering_StlcStrongDbParSubst.TyLam", "typing_StlcCbvDbParSubst.below", "typing_tok_StlcStrongDbParSubst.EUnit@tok" ], 0, - "b04e21f4befce231b7a1ab58d0e25dc5" + "e47eb802473f9f30d4655bdda0fefaef" ], [ "StlcCbvDbParSubst.typable_empty_closed", @@ -497,7 +479,7 @@ "token_correspondence_StlcStrongDbParSubst.empty" ], 0, - "5ca2f5be425da73248482f1eee6d8ed0" + "5a98f8d09588668abad23519076f2ee0" ], [ "StlcCbvDbParSubst.sub_beta_gen", @@ -505,20 +487,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0a14d4b68f31bba7dacba8dc133e44ed" + "b44158a42c73f37fff7e4f9099a77a06" ], [ "StlcCbvDbParSubst.subst_gen_var_lt", @@ -527,7 +506,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "770bdf2b61151b31077c6f1d347a3392" + "7a5ee93a4864ed182a2385185b546184" ], [ "StlcCbvDbParSubst.subst_gen_var_lt", @@ -543,15 +522,15 @@ "equation_StlcStrongDbParSubst.var", "equation_with_fuel_StlcStrongDbParSubst.subst.fuel_instrumented", "int_inversion", - "interpretation_Tm_abs_10a1efac22edd7b7e51f22265fd6665e", + "interpretation_Tm_abs_d70941dbcdfb3551376d504a2f54c457", "primitive_Prims.op_LessThan", "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_3a345ec5eba935b818b440723b04f8eb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_StlcCbvDbParSubst.sub_beta_gen" ], 0, - "e858860ab304166ee25bd1ed0dec0a36" + "130f2a83574f0b962eb1332fb826fbff" ], [ "StlcCbvDbParSubst.extend_lt", @@ -564,7 +543,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "36cfb3e619296ba987209d4b1b655b87" + "6e5eeb8d2c12170944da32e5de2a0262" ], [ "StlcCbvDbParSubst.extend_lt", @@ -579,15 +558,15 @@ "fuel_guarded_inversion_StlcStrongDbParSubst.typ", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_b2ff7981df6c84510d62a9dd4ec12341", + "interpretation_Tm_abs_8e8cef3f3b2af03d991302fd11832ac3", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_3a345ec5eba935b818b440723b04f8eb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_StlcCbvDbParSubst.extend_gen" ], 0, - "200856618470c8cd6e28ca40900c0e54" + "651cfb743170df2a18707ea33428a2f1" ], [ "StlcCbvDbParSubst.extend_gt", @@ -596,20 +575,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_StlcStrongDbParSubst.typ__uu___haseq", "data_typing_intro_StlcStrongDbParSubst.TUnit@tok", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_StlcStrongDbParSubst.typ@tok", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8bc57b47ea1eb56e7fd13ac08bf9b683", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_fcd11dd703480908b3c65df7f524bbfe" ], 0, - "8a3c6a4792dd91a36c7178c34c8fad4c" + "4d8b4f0f837a196cb7b0041203531bb5" ], [ "StlcCbvDbParSubst.extend_gt", @@ -625,16 +602,16 @@ "fuel_guarded_inversion_StlcStrongDbParSubst.typ", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_b2ff7981df6c84510d62a9dd4ec12341", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", + "interpretation_Tm_abs_8e8cef3f3b2af03d991302fd11832ac3", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8bc57b47ea1eb56e7fd13ac08bf9b683", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_fcd11dd703480908b3c65df7f524bbfe", "token_correspondence_StlcCbvDbParSubst.extend_gen" ], 0, - "0988083e056bd9bf13c908949e2e35b7" + "d048ec914dbbffdd6dad62e08fefbab9" ], [ "StlcCbvDbParSubst.extend_twice", @@ -645,10 +622,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "dced4d5ba5c52326b89cb69f862d6bb6" + "f335e86352cb32635bf5591b397e7bd2" ], [ "StlcCbvDbParSubst.extend_twice", @@ -665,16 +642,16 @@ "fuel_guarded_inversion_StlcStrongDbParSubst.typ", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_b2ff7981df6c84510d62a9dd4ec12341", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", + "interpretation_Tm_abs_8e8cef3f3b2af03d991302fd11832ac3", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0ee8cf655176cf655adf57c798e5b1d3" + "b9fb5c67470a8dcce06b5c261a80f3ca" ], [ "StlcCbvDbParSubst.sub_below", @@ -683,7 +660,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "0096805d804de7121acd4a8db039079b" + "6ad79be936a637cede87568d35c8f4e3" ], [ "StlcCbvDbParSubst.subst_below", @@ -692,7 +669,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "87b7f244a76c993450b772dd7439f755" + "a6db1b3e08ef68a48dcfcdc4f36ca0df" ], [ "StlcCbvDbParSubst.subst_below", @@ -764,7 +741,7 @@ "typing_StlcStrongDbParSubst.uu___is_EVar" ], 0, - "1db4829c9ee7b36dd9469658ab18b749" + "5da2466c9e3fc567b59d146bfdbcf52a" ], [ "StlcCbvDbParSubst.subst_below", @@ -780,12 +757,12 @@ "@fuel_irrelevance_StlcStrongDbParSubst.sub_elam.fuel_instrumented", "@fuel_irrelevance_StlcStrongDbParSubst.subst.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_interpretation_Tm_arrow_a30b9f6b7ca969a69d3f40851e07b43a", - "StlcStrongDbParSubst_interpretation_Tm_arrow_d770bec2c0904e1a4bb1c364ff6c6ed9", + "StlcStrongDbParSubst_interpretation_Tm_arrow_86f0d4fd92d6b9638311c2f0e85836bb", + "StlcStrongDbParSubst_interpretation_Tm_arrow_d7c23eed18639be8032fa5f7062f80fe", "assumption_StlcStrongDbParSubst.exp__uu___haseq", - "binder_x_40f6a5fbca4cf956a8e5fa20cbfacd99_2", - "binder_x_c04c4044983a439572aec2b4e01a667d_1", - "binder_x_efdd934bb8b090f4e1b7156061e14150_0", "bool_inversion", + "binder_x_5b9d765ad3faa1eaf3f2d264958bfc68_2", + "binder_x_994c99bbacb216630d104a4d01f030da_0", + "binder_x_b18d8f57b457b8a39aa74f6fc8a9ad4c_1", "bool_inversion", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.ELam", "constructor_distinct_StlcStrongDbParSubst.EUnit", @@ -821,11 +798,11 @@ "projection_inverse_StlcStrongDbParSubst.ELam__0", "projection_inverse_StlcStrongDbParSubst.ELam__1", "projection_inverse_StlcStrongDbParSubst.EVar__0", + "refinement_interpretation_Tm_refine_13235449bc298814e56647817a5a5586", "refinement_interpretation_Tm_refine_3949545d6bf3f1c8a6f29ddc1f66f50e", - "refinement_interpretation_Tm_refine_aed57c45c26bc1a288eeeab78c02e426", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d0dbb011f2b1b00c3673c42052db1f3e", - "refinement_interpretation_Tm_refine_d42dce5911c71681bf654d4b9ec06787", + "refinement_interpretation_Tm_refine_3a608b8abbc2c0adff54f5c4ee0a7b37", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_88d77cd7bfeeb0c60949fc1418a69f5a", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam", "token_correspondence_StlcCbvDbParSubst.below.fuel_instrumented", @@ -837,7 +814,7 @@ "typing_tok_StlcStrongDbParSubst.EUnit@tok" ], 0, - "88bbc64a1e5b12fd2f8fb07821597408" + "f82fc4fe9815ceb6438b0c35ef041d39" ], [ "StlcCbvDbParSubst.subst_closed", @@ -846,7 +823,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "79145841c0a835a2835aa7af6b3a7a5f" + "6e75cca0d9c3d014c352db74b732a597" ], [ "StlcCbvDbParSubst.subst_closed", @@ -855,7 +832,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "aac5f3e720490e926c6a0b8b261e6de3" + "28139534f7b38ee0fda69a8b6cb12de8" ], [ "StlcCbvDbParSubst.subst_closed", @@ -864,17 +841,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_79883e0c942a6d23a4d1b5b6cecbdfff_0", "equation_Prims.nat", "equation_StlcCbvDbParSubst.closed", "equation_StlcCbvDbParSubst.sub_below", "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bf0131f13155cbc90a3c62011d12629b" ], 0, - "00b488d0833e05045ffb9ff0cbe7f5e0" + "200b21c6383d0e4b010f5584927243ef" ], [ "StlcCbvDbParSubst.subst_gen_elam_aux", @@ -886,10 +861,10 @@ "assumption_StlcStrongDbParSubst.exp__uu___haseq", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e8b966ea621c5e4547f1e239dea487e1" + "ab92675324dd101db8404a63c9c9c68f" ], [ "StlcCbvDbParSubst.subst_gen_elam_aux", @@ -914,13 +889,13 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_StlcStrongDbParSubst.sub_inc", "int_inversion", - "interpretation_Tm_abs_10a1efac22edd7b7e51f22265fd6665e", + "interpretation_Tm_abs_d70941dbcdfb3551376d504a2f54c457", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bf0131f13155cbc90a3c62011d12629b", "token_correspondence_StlcCbvDbParSubst.sub_beta_gen", "token_correspondence_StlcStrongDbParSubst.sub_inc", @@ -929,7 +904,7 @@ "unit_typing" ], 0, - "a31e2de61b94c118b10bc4a94c894505" + "796078ae049390d1017edf46aec01163" ], [ "StlcCbvDbParSubst.subst_gen_elam_aux_forall", @@ -940,10 +915,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4e9cf98e49d8447281f515492f792a2b" + "1378e580f218dfd4476b3b9b7deb7f8a" ], [ "StlcCbvDbParSubst.subst_gen_elam", @@ -955,10 +930,10 @@ "assumption_StlcStrongDbParSubst.exp__uu___haseq", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ac5e8aba9257c521372e0dc58eb5e569" + "0063d37860042827726d9c67a46b6c1e" ], [ "StlcCbvDbParSubst.subst_gen_elam", @@ -972,7 +947,7 @@ "@fuel_irrelevance_StlcStrongDbParSubst.sub_elam.fuel_instrumented", "@fuel_irrelevance_StlcStrongDbParSubst.subst.fuel_instrumented", "@query", - "StlcStrongDbParSubst_interpretation_Tm_arrow_a30b9f6b7ca969a69d3f40851e07b43a", + "StlcStrongDbParSubst_interpretation_Tm_arrow_86f0d4fd92d6b9638311c2f0e85836bb", "assumption_StlcStrongDbParSubst.exp__uu___haseq", "constructor_distinct_StlcStrongDbParSubst.ELam", "data_typing_intro_StlcStrongDbParSubst.ELam@tok", @@ -982,19 +957,19 @@ "equation_StlcStrongDbParSubst.var", "equation_with_fuel_StlcStrongDbParSubst.subst.fuel_instrumented", "fuel_token_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented_token", - "lemma_StlcStrongDbParSubst.subst_extensional", + "int_inversion", "lemma_StlcStrongDbParSubst.subst_extensional", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_StlcStrongDbParSubst.ELam__0", "projection_inverse_StlcStrongDbParSubst.ELam__1", "refinement_interpretation_Tm_refine_3949545d6bf3f1c8a6f29ddc1f66f50e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d42dce5911c71681bf654d4b9ec06787", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_88d77cd7bfeeb0c60949fc1418a69f5a", "token_correspondence_StlcStrongDbParSubst.sub_elam", "token_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "typing_Tm_abs_10a1efac22edd7b7e51f22265fd6665e" + "typing_Tm_abs_d70941dbcdfb3551376d504a2f54c457" ], 0, - "ffaa5762ef706d55d7f8961c38bd84be" + "3d8bfb60dbd9f75738b54f7c0d7a2eb2" ], [ "StlcCbvDbParSubst.substitution_preserves_typing", @@ -1011,8 +986,8 @@ "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_1", "binder_x_00c2c856e702f50718a37c394bb4dba3_2", - "binder_x_d1fcaaeeebb99f91e4c5fae3d6023e07_7", - "binder_x_efdd934bb8b090f4e1b7156061e14150_0", + "binder_x_994c99bbacb216630d104a4d01f030da_0", + "binder_x_e2a570d8125c49d1f3924d13b2d20065_7", "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_3", "bool_inversion", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.EUnit", @@ -1046,11 +1021,10 @@ "fuel_guarded_inversion_StlcStrongDbParSubst.typing", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", - "interpretation_Tm_abs_10a1efac22edd7b7e51f22265fd6665e", - "interpretation_Tm_abs_b2ff7981df6c84510d62a9dd4ec12341", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", + "interpretation_Tm_abs_8e8cef3f3b2af03d991302fd11832ac3", + "interpretation_Tm_abs_d70941dbcdfb3551376d504a2f54c457", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1061,8 +1035,8 @@ "projection_inverse_StlcStrongDbParSubst.EApp__1", "projection_inverse_StlcStrongDbParSubst.EVar__0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam", "typing_StlcCbvDbParSubst.appears_free_in", @@ -1070,7 +1044,7 @@ "typing_tok_StlcStrongDbParSubst.EUnit@tok" ], 0, - "d8e75349fc16594e15ae0c7fe2008a06" + "38873ebf49133b3c4401ec9bd08ddfbb" ], [ "StlcCbvDbParSubst.extend_gen_0_aux", @@ -1083,7 +1057,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "709d90409b45a403ab999c795cb896c5" + "847ffc7911081878b0c61a9bb8b408a6" ], [ "StlcCbvDbParSubst.extend_gen_0_aux", @@ -1105,7 +1079,7 @@ "token_correspondence_StlcStrongDbParSubst.extend" ], 0, - "80a691274db673d8e0ae64c540674be2" + "9c7db58a9340d03ec9b50d9ab392a284" ], [ "StlcCbvDbParSubst.extend_gen_0", @@ -1125,7 +1099,7 @@ "token_correspondence_StlcStrongDbParSubst.extend" ], 0, - "63e101f4be67287133c2e699cda5a9ca" + "6a88c64c0e144d8a2f73010ed83033d1" ], [ "StlcCbvDbParSubst.extend_gen_typing_conversion", @@ -1137,7 +1111,7 @@ "primitive_Prims.op_Equality" ], 0, - "7a64922f98fedcd8b5529100f256b921" + "6c7bcae999075de67ca4771e90d2de50" ], [ "StlcCbvDbParSubst.preservation", @@ -1146,10 +1120,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_818eb8deeb41e1ac5b8e965c162075af" + "refinement_interpretation_Tm_refine_a1a9f2b954f3c5a7c2ac682c70117cd2" ], 0, - "3d16baae5f86ddd0c53d580026768b47" + "cc658c14795532e457ac0ab0b01ae1eb" ], [ "StlcCbvDbParSubst.preservation", @@ -1158,10 +1132,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d88f214d7750952ff05fd787870d77a3" + "refinement_interpretation_Tm_refine_5a59f6c00b67873911a7ccdde214a267" ], 0, - "f147f266c2f0dee96dd4a9ec9f83c136" + "47de7b74d39412ae65dbc03856475bab" ], [ "StlcCbvDbParSubst.preservation", @@ -1178,7 +1152,7 @@ "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_ad6ba5c223531a346896dd8c9c3f5c53_2", + "binder_x_899c1942672ed57783ec1a64844e5ee3_2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.ELam", @@ -1204,16 +1178,15 @@ "equation_StlcCbvDbParSubst.sub_beta_gen", "equation_StlcStrongDbParSubst.empty", "equation_StlcStrongDbParSubst.is_value", - "equation_StlcStrongDbParSubst.sub", "equation_StlcStrongDbParSubst.sub_beta", "equation_StlcStrongDbParSubst.var", "equation_with_fuel_StlcCbvDbParSubst.step.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_StlcStrongDbParSubst.typing", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_10a1efac22edd7b7e51f22265fd6665e", - "interpretation_Tm_abs_1a8f62e35bc2e93780f266730f3dcb0a", + "int_inversion", "int_typing", + "interpretation_Tm_abs_3348a440425b62f388c69bf898593dad", + "interpretation_Tm_abs_d70941dbcdfb3551376d504a2f54c457", "kinding_StlcStrongDbParSubst.exp@tok", "lemma_FStar.Pervasives.invertOption", "lemma_StlcStrongDbParSubst.subst_extensional", @@ -1228,18 +1201,17 @@ "projection_inverse_StlcStrongDbParSubst.ELam__1", "projection_inverse_StlcStrongDbParSubst.TArr__0", "projection_inverse_StlcStrongDbParSubst.TArr__1", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d42dce5911c71681bf654d4b9ec06787", - "refinement_interpretation_Tm_refine_dde411585801ce14e0dcb2a95405db5e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", + "refinement_interpretation_Tm_refine_88d77cd7bfeeb0c60949fc1418a69f5a", + "refinement_interpretation_Tm_refine_e8ddf2f052418b94356dc5507e2d1c42", "subterm_ordering_StlcStrongDbParSubst.EApp", - "token_correspondence_StlcStrongDbParSubst.empty", "typing_StlcCbvDbParSubst.step", - "typing_StlcStrongDbParSubst.sub_beta", - "typing_Tm_abs_10a1efac22edd7b7e51f22265fd6665e" + "typing_StlcCbvDbParSubst.sub_beta_gen", + "typing_StlcStrongDbParSubst.sub_beta" ], 0, - "8876fd453fb0d44b1b3f1108be5789be" + "b08f048266848cbcfad25f3e72995d5c" ], [ "StlcCbvDbParSubst.sub_inc_above", @@ -1250,10 +1222,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "148fe5f097b051d50c89f3a4f023ca7b" + "837bc60b195947533c7f40f7c3633f10" ], [ "StlcCbvDbParSubst.extend_gen", @@ -1261,20 +1233,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8dd0902381028cc70ac88f15af755de5" + "6cbedbb9469abef6000e823cf8601422" ], [ "StlcCbvDbParSubst.step", @@ -1295,7 +1264,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "ec807667b97540068c263ba127b94246" + "cf9f5384c7a6d733346a4b75f16dd25e" ], [ "StlcCbvDbParSubst.appears_free_in", @@ -1304,10 +1273,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_efdd934bb8b090f4e1b7156061e14150_0", + "binder_x_994c99bbacb216630d104a4d01f030da_0", "data_typing_intro_StlcStrongDbParSubst.EUnit@tok", "disc_equation_StlcStrongDbParSubst.EApp", "disc_equation_StlcStrongDbParSubst.ELam", @@ -1316,17 +1284,16 @@ "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "fuel_guarded_inversion_StlcStrongDbParSubst.exp", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam" ], 0, - "000942affa757bafe1d59c90472ed832" + "00c42b2fed7331a0a5afe59bed80544b" ], [ "StlcCbvDbParSubst.envEqualE", @@ -1339,7 +1306,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "5898178da36e52c785500d2bedafe07f" + "861fde003e3c81e25fcae8af76eaa039" ], [ "StlcCbvDbParSubst.context_invariance", @@ -1353,8 +1320,8 @@ "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_963540a20a0f9ee2ea8ad130988b76bc_3", - "binder_x_fbb409a6327af54f9761eecbc745f05c_4", "bool_inversion", + "binder_x_5a46e118e90c9e1bd3eb623781c03d15_3", + "binder_x_cce50e4c07746e3ce32d26de8b3af145_4", "bool_inversion", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.ELam", "constructor_distinct_StlcStrongDbParSubst.EVar", @@ -1371,14 +1338,13 @@ "disc_equation_StlcStrongDbParSubst.TyVar", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_StlcCbvDbParSubst.envEqualE", - "equation_StlcStrongDbParSubst.env", "equation_StlcStrongDbParSubst.extend", "equation_StlcStrongDbParSubst.var", "equation_with_fuel_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", "fuel_guarded_inversion_StlcStrongDbParSubst.typing", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", @@ -1388,16 +1354,16 @@ "projection_inverse_StlcStrongDbParSubst.ELam__0", "projection_inverse_StlcStrongDbParSubst.ELam__1", "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_6c3cb1ea2a7f82ce218b5ba54a5ca9f0", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", + "refinement_interpretation_Tm_refine_f5705c081cc8d8395b0d7e23ef7d0b72", "subterm_ordering_StlcStrongDbParSubst.TyApp", "subterm_ordering_StlcStrongDbParSubst.TyLam", "token_correspondence_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", "typing_StlcCbvDbParSubst.appears_free_in" ], 0, - "35c7a76b34a6c3309e6f6bdc3933d59e" + "1b365d2062983fff291065d1d8b13733" ], [ "StlcCbvDbParSubst.below", @@ -1408,7 +1374,7 @@ "@MaxIFuel_assumption", "@query", "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_efdd934bb8b090f4e1b7156061e14150_0", + "binder_x_994c99bbacb216630d104a4d01f030da_0", "data_typing_intro_StlcStrongDbParSubst.EUnit@tok", "disc_equation_StlcStrongDbParSubst.EApp", "disc_equation_StlcStrongDbParSubst.ELam", @@ -1418,12 +1384,12 @@ "equation_StlcStrongDbParSubst.var", "fuel_guarded_inversion_StlcStrongDbParSubst.exp", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam" ], 0, - "b1c2230b86d5c143811fbc7168a21eb7" + "b5d03a457fa92fc944e9f3c95f269e3d" ], [ "StlcCbvDbParSubst.below_env", @@ -1436,7 +1402,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "f44d656507824903ae96b76e7a4cc9f0" + "21f4b3f8783c237a249ad99c5779fa93" ], [ "StlcCbvDbParSubst.sub_beta_gen", @@ -1444,20 +1410,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6b29a17b767097434ed51ac896aed582" + "d16d9e85155c298e22574da0f3f0ff52" ], [ "StlcCbvDbParSubst.subst_gen_var_lt", @@ -1466,7 +1429,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "f260e8c6b666e3f4c0929a9b89e7132a" + "7f33905e12669adc687f55f1a3043f99" ], [ "StlcCbvDbParSubst.extend_lt", @@ -1479,7 +1442,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "2eff5da2c0723336be2c399bec8c9f30" + "69d95bc882d08d28e24d879d9eef20b4" ], [ "StlcCbvDbParSubst.extend_gt", @@ -1488,20 +1451,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "assumption_FStar.Pervasives.Native.option__uu___haseq", "assumption_StlcStrongDbParSubst.typ__uu___haseq", "data_typing_intro_StlcStrongDbParSubst.TUnit@tok", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_StlcStrongDbParSubst.typ@tok", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8bc57b47ea1eb56e7fd13ac08bf9b683", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_fcd11dd703480908b3c65df7f524bbfe" ], 0, - "50ee4288d359ddfc4f5fa79962ea80c4" + "680c812da9dc934a509d1ff7c025e0a5" ], [ "StlcCbvDbParSubst.extend_twice", @@ -1512,10 +1473,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "358b5da8079f9f45023aabec580bca70" + "787ecd231db0f6e0274c521b35584247" ], [ "StlcCbvDbParSubst.sub_below", @@ -1524,7 +1485,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "dbd04661a7d21c20de0973b5f8f10e70" + "0eb1ec6210d90f0064171b6457b84afc" ], [ "StlcCbvDbParSubst.subst_below", @@ -1533,7 +1494,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "d84ffcf597600123be776f483976c88f" + "7c903294477799a9470550c91ed26b79" ], [ "StlcCbvDbParSubst.subst_closed", @@ -1542,7 +1503,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "9768f7f0828348cc5dd11f9d51e93e98" + "5f43e3f31286c910183651a9c8c0907c" ], [ "StlcCbvDbParSubst.subst_gen_elam_aux", @@ -1554,10 +1515,10 @@ "assumption_StlcStrongDbParSubst.exp__uu___haseq", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4c4bd7fe668889c33b7d0b22e4e8c041" + "fb704c4b67a1a4a89f498dfd9c031dfe" ], [ "StlcCbvDbParSubst.subst_gen_elam_aux_forall", @@ -1568,10 +1529,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4a203a0a269d13f115b66c976294f7cc" + "6d4eac07641742a41b0db2d343dc600f" ], [ "StlcCbvDbParSubst.subst_gen_elam", @@ -1583,10 +1544,10 @@ "assumption_StlcStrongDbParSubst.exp__uu___haseq", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3e51bb3b21a32e6f47a9ce9713b5175a" + "c845141fc06e0ac594e878d513164f62" ], [ "StlcCbvDbParSubst.substitution_preserves_typing", @@ -1603,8 +1564,8 @@ "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_1", "binder_x_00c2c856e702f50718a37c394bb4dba3_2", - "binder_x_d1fcaaeeebb99f91e4c5fae3d6023e07_7", - "binder_x_efdd934bb8b090f4e1b7156061e14150_0", + "binder_x_994c99bbacb216630d104a4d01f030da_0", + "binder_x_e2a570d8125c49d1f3924d13b2d20065_7", "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_3", "bool_inversion", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.EUnit", @@ -1638,11 +1599,11 @@ "fuel_guarded_inversion_StlcStrongDbParSubst.typing", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_10a1efac22edd7b7e51f22265fd6665e", - "interpretation_Tm_abs_b2ff7981df6c84510d62a9dd4ec12341", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", + "interpretation_Tm_abs_8e8cef3f3b2af03d991302fd11832ac3", + "interpretation_Tm_abs_d70941dbcdfb3551376d504a2f54c457", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1653,8 +1614,8 @@ "projection_inverse_StlcStrongDbParSubst.EApp__1", "projection_inverse_StlcStrongDbParSubst.EVar__0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam", "typing_StlcCbvDbParSubst.appears_free_in", @@ -1662,7 +1623,7 @@ "typing_tok_StlcStrongDbParSubst.EUnit@tok" ], 0, - "3e8e17b5be9a4c438d72f229f5c54e71" + "b884833d7b719a9e2e1fa002b0a07c31" ], [ "StlcCbvDbParSubst.extend_gen_0_aux", @@ -1675,7 +1636,7 @@ "kinding_StlcStrongDbParSubst.typ@tok" ], 0, - "253a143d80eaeb68835a639d9a48d640" + "a0dce53a6d0a5f3cf207a8a031e96ec2" ], [ "StlcCbvDbParSubst.extend_gen_typing_conversion", @@ -1687,7 +1648,7 @@ "primitive_Prims.op_Equality" ], 0, - "4ac29bd8fc3eace1272ac71dbb864fa7" + "8d4d0231ea8d56a3ae921ea60edea2b2" ], [ "StlcCbvDbParSubst.preservation", @@ -1696,10 +1657,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d88f214d7750952ff05fd787870d77a3" + "refinement_interpretation_Tm_refine_5a59f6c00b67873911a7ccdde214a267" ], 0, - "aa0e09e3babf72515fadb27a15d92953" + "bc139cea8b20593c53965bb001584b02" ], [ "StlcCbvDbParSubst.preservation", @@ -1716,7 +1677,7 @@ "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_ad6ba5c223531a346896dd8c9c3f5c53_2", + "binder_x_899c1942672ed57783ec1a64844e5ee3_2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.ELam", @@ -1742,16 +1703,15 @@ "equation_StlcCbvDbParSubst.sub_beta_gen", "equation_StlcStrongDbParSubst.empty", "equation_StlcStrongDbParSubst.is_value", - "equation_StlcStrongDbParSubst.sub", "equation_StlcStrongDbParSubst.sub_beta", "equation_StlcStrongDbParSubst.var", "equation_with_fuel_StlcCbvDbParSubst.step.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_StlcStrongDbParSubst.typing", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_10a1efac22edd7b7e51f22265fd6665e", - "interpretation_Tm_abs_1a8f62e35bc2e93780f266730f3dcb0a", + "int_inversion", "int_typing", + "interpretation_Tm_abs_3348a440425b62f388c69bf898593dad", + "interpretation_Tm_abs_d70941dbcdfb3551376d504a2f54c457", "kinding_StlcStrongDbParSubst.exp@tok", "lemma_FStar.Pervasives.invertOption", "lemma_StlcStrongDbParSubst.subst_extensional", @@ -1766,18 +1726,17 @@ "projection_inverse_StlcStrongDbParSubst.ELam__1", "projection_inverse_StlcStrongDbParSubst.TArr__0", "projection_inverse_StlcStrongDbParSubst.TArr__1", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d42dce5911c71681bf654d4b9ec06787", - "refinement_interpretation_Tm_refine_dde411585801ce14e0dcb2a95405db5e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", + "refinement_interpretation_Tm_refine_88d77cd7bfeeb0c60949fc1418a69f5a", + "refinement_interpretation_Tm_refine_e8ddf2f052418b94356dc5507e2d1c42", "subterm_ordering_StlcStrongDbParSubst.EApp", - "token_correspondence_StlcStrongDbParSubst.empty", "typing_StlcCbvDbParSubst.step", - "typing_StlcStrongDbParSubst.sub_beta", - "typing_Tm_abs_10a1efac22edd7b7e51f22265fd6665e" + "typing_StlcCbvDbParSubst.sub_beta_gen", + "typing_StlcStrongDbParSubst.sub_beta" ], 0, - "28d5e308d03e30f4b7de6ef054bd733c" + "b9218f127e2676e55d35e2b3a7b55991" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/StlcCbvDbPntSubstNoLists.fst.hints b/examples/metatheory/StlcCbvDbPntSubstNoLists.fst.hints index 0c5b1761118..d527275eed7 100644 --- a/examples/metatheory/StlcCbvDbPntSubstNoLists.fst.hints +++ b/examples/metatheory/StlcCbvDbPntSubstNoLists.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "173ede1e136dafe01553d316cb18ed61" + "45d60f0a62a71619f781b49c88f9d956" ], [ "StlcCbvDbPntSubstNoLists.exp", @@ -21,11 +21,11 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_StlcCbvDbPntSubstNoLists.var", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ff956de540d5216c0803558637f9e040" + "dbc3dd7df8f0e9db4af8f69c241b2cd0" ], [ "StlcCbvDbPntSubstNoLists.__proj__EVar__item___0", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_b0fc1a2f197b450737fc60602f5bbe98" ], 0, - "5c2b1e66cea0d57d19a52fda43f26857" + "384f459aefe1383eaf004d81841b6799" ], [ "StlcCbvDbPntSubstNoLists.__proj__EApp__item___0", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_e80fa73901831fcccf979556beeb043f" ], 0, - "f16d9b8346b89adbe1769053100643a2" + "85bb8a3eaf6225a0df3ed23ad9ed0938" ], [ "StlcCbvDbPntSubstNoLists.__proj__EApp__item___1", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_e80fa73901831fcccf979556beeb043f" ], 0, - "23561b1cdafdd52b9755cf585bd02c47" + "6bdde77ca4ffa8e6b8b8f875b7cef158" ], [ "StlcCbvDbPntSubstNoLists.__proj__EAbs__item___0", @@ -81,7 +81,7 @@ "refinement_interpretation_Tm_refine_a8f27480ee432505641e15da6e41375d" ], 0, - "626150568c62fe70de3bc6ffdcacd9fb" + "00bcae07393b3ebbf2fb3143f7b2f812" ], [ "StlcCbvDbPntSubstNoLists.__proj__EAbs__item___1", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_a8f27480ee432505641e15da6e41375d" ], 0, - "d223150c3e37d4ffeaf78d158a60f5e6" + "72a99cb017b8f3d84f416e1298ba5f88" ], [ "StlcCbvDbPntSubstNoLists.subst_beta", @@ -104,30 +104,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", "binder_x_7597dc0c465777776dc6eae797c43037_1", "binder_x_7597dc0c465777776dc6eae797c43037_2", - "binder_x_bb482801c9518103b7dfbdbbe7ca8f5f_0", + "binder_x_dbcb0a2632e1fed74e708f131516d100_0", "disc_equation_StlcCbvDbPntSubstNoLists.EAbs", "disc_equation_StlcCbvDbPntSubstNoLists.EApp", "disc_equation_StlcCbvDbPntSubstNoLists.EVar", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StlcCbvDbPntSubstNoLists.var", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.exp", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StlcCbvDbPntSubstNoLists.EAbs", "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp" ], 0, - "b26294b527ef2387525be5a461f17c02" + "2f671f02c30b98325a3d39f0822f2b12" ], [ "StlcCbvDbPntSubstNoLists.step", @@ -148,7 +146,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e7f6feb568fdf66ab96aadce566912b1" + "5816bd95814f31dd25e89551627fba00" ], [ "StlcCbvDbPntSubstNoLists.extend", @@ -156,20 +154,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.var", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_StlcCbvDbPntSubstNoLists.var", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0162e6293cdf1eb6bb2b3f2f3a71f645" + "20ae1782a708918ae6a0826377826da2" ], [ "StlcCbvDbPntSubstNoLists.rtyping", @@ -177,12 +172,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.var", - "refinement_interpretation_Tm_refine_a7f06165e980adee8d576633475327ac" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b" ], 0, - "e6fb1b0cd9e51faa6bd8e6c26e01f00d" + "08e1836ec7bd77b8afc63c7ca17e1562" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyVar__item__g", @@ -196,7 +190,7 @@ "refinement_interpretation_Tm_refine_4a45eaafbd1e608025e81692345ae7ec" ], 0, - "5e38e72672c7655638a37e10c884cc12" + "815215bf3a21fdeeebd54a751e37f806" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyVar__item__x", @@ -215,7 +209,7 @@ "token_correspondence_StlcCbvDbPntSubstNoLists.__proj__TyVar__item__g" ], 0, - "811b3bdd7459f7fe9eaca2459c3e3ef6" + "fbfe65c87216db8b7a52fd5c4ca44046" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__g", @@ -229,7 +223,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "0979b59e2f590283b5ad0562001687fa" + "5d0ad457d6d2af393ec8bdc3e2d0dc3b" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__t", @@ -243,7 +237,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "d4f69da8b323ffcb36720805ab447328" + "206ff832bc25f1391ebf0e15716bb2f1" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__e1", @@ -257,7 +251,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "841390bf61fd53667e7be816c709ca8b" + "9dc99f94380a2a82f10ae6f27dc97835" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__t'", @@ -271,7 +265,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "43d4de0be5a2aa85ccb2407fff2aa010" + "17ee0bd515363dadcd3275bcc4e808ce" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item___4", @@ -294,7 +288,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "857a64e46aac21ff00e7beb8826f90c6" + "5584fbb3b49b46bf1a6d3d82c75f36c9" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__g", @@ -308,7 +302,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "8a5fc6662ed933ca32e8110c475212cb" + "27a6fc52391cd86b383bc79dd6ab7607" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__e1", @@ -322,7 +316,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "e19db2884d6a8aab914e2e8f8449b8cb" + "7137f305f1af25e6d661bcc07f058d41" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__e2", @@ -336,7 +330,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "2b5aad1fc04705d14fe43613e6f414b1" + "84a0561da2c3ace649a42c8d679d7d82" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__t11", @@ -350,7 +344,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "2c20e712c9a1abef3bdadc0e7066867c" + "799fef3a835f7cc59b961906c3202071" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__t12", @@ -364,7 +358,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "cdba4866c94cb4d9fbac73c4724be11e" + "73091342f3d8861e07e11a5fd8591317" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item___5", @@ -387,7 +381,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "4ccac824c213f0e900525006652d3c9f" + "bafa2f5081d784a00419714f4297ef30" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item___6", @@ -408,7 +402,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "f58e5af4b7671b94e6e095ab728a28e1" + "fb48d91917f685e34b4a6b0d3c1e5286" ], [ "StlcCbvDbPntSubstNoLists.progress", @@ -424,7 +418,7 @@ "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_1", "binder_x_7597dc0c465777776dc6eae797c43037_0", - "binder_x_a16840cec166f414e7b39d69c2d974f0_2", "bool_inversion", + "binder_x_fecd6847b5a8d5f5a0404882b9c78c3b_2", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", @@ -438,10 +432,9 @@ "disc_equation_StlcCbvDbPntSubstNoLists.TyAbs", "disc_equation_StlcCbvDbPntSubstNoLists.TyApp", "disc_equation_StlcCbvDbPntSubstNoLists.TyVar", - "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", + "equality_tok_Prims.LexTop@tok", "equation_StlcCbvDbPntSubstNoLists.empty", "equation_StlcCbvDbPntSubstNoLists.is_value", - "equation_StlcCbvDbPntSubstNoLists.var", "equation_with_fuel_StlcCbvDbPntSubstNoLists.step.fuel_instrumented", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", @@ -452,14 +445,13 @@ "projection_inverse_StlcCbvDbPntSubstNoLists.EAbs__1", "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__0", "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", - "refinement_interpretation_Tm_refine_a7f06165e980adee8d576633475327ac", + "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b", "subterm_ordering_StlcCbvDbPntSubstNoLists.TyApp", - "token_correspondence_StlcCbvDbPntSubstNoLists.empty", "typing_StlcCbvDbPntSubstNoLists.is_value", "typing_StlcCbvDbPntSubstNoLists.step" ], 0, - "646355198d1665ce19419c5dac9d2c5e" + "677ee4f89482a079189963ce99d97de5" ], [ "StlcCbvDbPntSubstNoLists.appears_free_in", @@ -468,27 +460,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", "binder_x_7597dc0c465777776dc6eae797c43037_1", - "binder_x_bb482801c9518103b7dfbdbbe7ca8f5f_0", + "binder_x_dbcb0a2632e1fed74e708f131516d100_0", "disc_equation_StlcCbvDbPntSubstNoLists.EAbs", "disc_equation_StlcCbvDbPntSubstNoLists.EApp", "disc_equation_StlcCbvDbPntSubstNoLists.EVar", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StlcCbvDbPntSubstNoLists.var", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.exp", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StlcCbvDbPntSubstNoLists.EAbs", "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp" ], 0, - "6b648fd5bf576e9b4cde47c5d79d01f7" + "821292d4c58e9a3d1d20ce6363574769" ], [ "StlcCbvDbPntSubstNoLists.free_in_context", @@ -501,10 +491,10 @@ "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", "@query", "StlcCbvDbPntSubstNoLists_pretyping_50e78c3fdc2d5cb83ab6b5165045e606", - "binder_x_1ed7b9dffbbf95094d53c54450129743_4", "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_3", "binder_x_7597dc0c465777776dc6eae797c43037_1", - "binder_x_bb482801c9518103b7dfbdbbe7ca8f5f_0", "bool_inversion", + "binder_x_dbcb0a2632e1fed74e708f131516d100_0", + "binder_x_fc629662061e6c9429df5f5b5e9daeef_4", "bool_inversion", "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", "constructor_distinct_StlcCbvDbPntSubstNoLists.EApp", "constructor_distinct_StlcCbvDbPntSubstNoLists.EVar", @@ -523,7 +513,7 @@ "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", "function_token_typing_StlcCbvDbPntSubstNoLists.extend", "int_inversion", - "interpretation_Tm_abs_59a1731cd8dbc0ef29bc05f6ae881715", + "interpretation_Tm_abs_bb5dcb84faf64402e65d56a8e18c7515", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", @@ -534,14 +524,14 @@ "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__0", "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", "projection_inverse_StlcCbvDbPntSubstNoLists.EVar__0", - "refinement_interpretation_Tm_refine_a7f06165e980adee8d576633475327ac", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StlcCbvDbPntSubstNoLists.TyAbs", "subterm_ordering_StlcCbvDbPntSubstNoLists.TyApp", "typing_StlcCbvDbPntSubstNoLists.appears_free_in" ], 0, - "5051016e6fb600860c86340d73ec3ea9" + "b99d1ccd1f803775ee27bb2ce7bb88cc" ], [ "StlcCbvDbPntSubstNoLists.typable_empty_closed", @@ -557,7 +547,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "09ca28d2657b0d312e5ea2408bbae1fd" + "7365e8719256908da9a35315b09a2503" ], [ "StlcCbvDbPntSubstNoLists.equal", @@ -570,7 +560,7 @@ "kinding_StlcCbvDbPntSubstNoLists.ty@tok" ], 0, - "f4e6753def92996325a61e1bb2b1d734" + "a2fb7852c8d648ae071441f51bd06a09" ], [ "StlcCbvDbPntSubstNoLists.equalE", @@ -583,7 +573,7 @@ "kinding_StlcCbvDbPntSubstNoLists.ty@tok" ], 0, - "123f0e84fe6e4eaf959c0d5ab09ffb74" + "72309963a9f1b7cc8d5015f85f714f98" ], [ "StlcCbvDbPntSubstNoLists.context_invariance", @@ -594,12 +584,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "StlcCbvDbPntSubstNoLists_pretyping_50e78c3fdc2d5cb83ab6b5165045e606", "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_2", "binder_x_7597dc0c465777776dc6eae797c43037_0", - "binder_x_7657d68962160ff40d0ad8d37c13f377_3", - "binder_x_ac2b6c42bc4055e7a2ceea08c2401bc5_4", "bool_inversion", + "binder_x_b0a0c387eae96635c99da73049677b7d_4", + "binder_x_f13b353f253e46f81d1f501f9ef4c276_3", "bool_inversion", "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", "constructor_distinct_StlcCbvDbPntSubstNoLists.EApp", "constructor_distinct_StlcCbvDbPntSubstNoLists.EVar", @@ -611,16 +601,14 @@ "disc_equation_StlcCbvDbPntSubstNoLists.TyApp", "disc_equation_StlcCbvDbPntSubstNoLists.TyVar", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.env", "equation_StlcCbvDbPntSubstNoLists.equalE", "equation_StlcCbvDbPntSubstNoLists.extend", "equation_StlcCbvDbPntSubstNoLists.var", "equation_with_fuel_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_59a1731cd8dbc0ef29bc05f6ae881715", + "interpretation_Tm_abs_bb5dcb84faf64402e65d56a8e18c7515", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", @@ -631,16 +619,16 @@ "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__0", "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", "projection_inverse_StlcCbvDbPntSubstNoLists.EVar__0", - "refinement_interpretation_Tm_refine_a7f06165e980adee8d576633475327ac", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e2b7d90f620aa025c864c8dd7532dc44", + "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ba34e2ab1508520d8b212977f6e55794", "subterm_ordering_StlcCbvDbPntSubstNoLists.TyAbs", "subterm_ordering_StlcCbvDbPntSubstNoLists.TyApp", "token_correspondence_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", "typing_StlcCbvDbPntSubstNoLists.appears_free_in" ], 0, - "c81a2adbc2fd6971fb23dd0aee6fbac8" + "fadd1481fe1fedb7818dd8d331b4a605" ], [ "StlcCbvDbPntSubstNoLists.typing_extensional", @@ -652,7 +640,7 @@ "equation_StlcCbvDbPntSubstNoLists.equalE" ], 0, - "07cbbc929562777eb6ebd513b2e41602" + "be16ea610ee5790c88c215251c49de56" ], [ "StlcCbvDbPntSubstNoLists.substitution_preserves_typing", @@ -664,7 +652,7 @@ "@fuel_correspondence_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", "@fuel_correspondence_StlcCbvDbPntSubstNoLists.subst_beta.fuel_instrumented", "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.subst_beta.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "StlcCbvDbPntSubstNoLists_pretyping_50e78c3fdc2d5cb83ab6b5165045e606", "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_3", @@ -672,8 +660,8 @@ "binder_x_7597dc0c465777776dc6eae797c43037_1", "binder_x_7597dc0c465777776dc6eae797c43037_2", "binder_x_9e4fbee373a9008603c91d4472b0af8e_6", - "binder_x_bb482801c9518103b7dfbdbbe7ca8f5f_0", - "binder_x_cf489a145ea8e9ddae6f2e27c309b685_7", "bool_inversion", + "binder_x_dbcb0a2632e1fed74e708f131516d100_0", + "binder_x_f498b240629ba8d814a9923ab86d50f6_7", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", "constructor_distinct_StlcCbvDbPntSubstNoLists.EApp", @@ -697,11 +685,10 @@ "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.exp", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_59a1731cd8dbc0ef29bc05f6ae881715", + "interpretation_Tm_abs_bb5dcb84faf64402e65d56a8e18c7515", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -714,15 +701,15 @@ "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", "projection_inverse_StlcCbvDbPntSubstNoLists.EVar__0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a7f06165e980adee8d576633475327ac", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StlcCbvDbPntSubstNoLists.EAbs", "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp", "token_correspondence_StlcCbvDbPntSubstNoLists.empty", "typing_StlcCbvDbPntSubstNoLists.appears_free_in" ], 0, - "fae70025eff91f95994226fe8678ab20" + "c13012552343c960dac74382e2ba00ae" ], [ "StlcCbvDbPntSubstNoLists.preservation", @@ -731,10 +718,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2947ccd2945e3f380be179fa7e70dd3a" + "refinement_interpretation_Tm_refine_7c28f4ae4def0de7a4957ce0bef8e0a3" ], 0, - "2fd4aa1ae54e3db4923a2716775bfbbe" + "a962a995b5706e66958eaf5280b55f7f" ], [ "StlcCbvDbPntSubstNoLists.preservation", @@ -743,10 +730,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_96cd34f4772ade3da753da11f912a4b8" + "refinement_interpretation_Tm_refine_aec9be1587021059dae510d43f8f112c" ], 0, - "a8abea232fcd23597bdee0700ab2ac02" + "d94813a59623ffb71ef5e3938afeb626" ], [ "StlcCbvDbPntSubstNoLists.preservation", @@ -759,8 +746,8 @@ "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.step.fuel_instrumented", "@query", "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", - "binder_x_35d2f434da62d5e501fab748be12c3df_2", "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_1", + "binder_x_712f8ef1f5239133a92e853010402ae9_2", "binder_x_7597dc0c465777776dc6eae797c43037_0", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", @@ -779,7 +766,6 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "function_token_typing_StlcCbvDbPntSubstNoLists.empty", "kinding_StlcCbvDbPntSubstNoLists.exp@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -790,12 +776,12 @@ "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", "projection_inverse_StlcCbvDbPntSubstNoLists.TArrow_t1", "projection_inverse_StlcCbvDbPntSubstNoLists.TArrow_t2", - "refinement_interpretation_Tm_refine_8333681d34c6663d1f4f91edae6a7d34", + "refinement_interpretation_Tm_refine_f37d7c08290e28d70c839a5ceabfa495", "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp", "typing_StlcCbvDbPntSubstNoLists.step" ], 0, - "50cb022e0c8918ce5171fa412798eacd" + "ff0d0a40c4833195e93e9f8e6dc0ee80" ], [ "StlcCbvDbPntSubstNoLists.ty", @@ -804,7 +790,7 @@ 1, [ "@query" ], 0, - "a5cbcc09cf15b090e89ec63a3aee090b" + "248a640cf7c03fadd4ad151071dfeb70" ], [ "StlcCbvDbPntSubstNoLists.exp", @@ -817,11 +803,11 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_StlcCbvDbPntSubstNoLists.var", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f804f4e8b48da55184f8127cec205dab" + "0e32f61bf77142fb2bc2f5880148b238" ], [ "StlcCbvDbPntSubstNoLists.__proj__EVar__item___0", @@ -835,7 +821,7 @@ "refinement_interpretation_Tm_refine_b0fc1a2f197b450737fc60602f5bbe98" ], 0, - "bf31c2e9029947927c6940c99e79441c" + "cc1ce4f1c8dee4ac5c9a8e18303c2d64" ], [ "StlcCbvDbPntSubstNoLists.__proj__EApp__item___0", @@ -849,7 +835,7 @@ "refinement_interpretation_Tm_refine_e80fa73901831fcccf979556beeb043f" ], 0, - "bb27e0ab7137df1ca019ffa9bc190f08" + "dcf0fe80e2e59a1f5ceba874aac31763" ], [ "StlcCbvDbPntSubstNoLists.__proj__EApp__item___1", @@ -863,7 +849,7 @@ "refinement_interpretation_Tm_refine_e80fa73901831fcccf979556beeb043f" ], 0, - "07990dd389b726ee6103a361a222551b" + "463c92091a6ec38b6cc7576bd47305de" ], [ "StlcCbvDbPntSubstNoLists.__proj__EAbs__item___0", @@ -877,7 +863,7 @@ "refinement_interpretation_Tm_refine_a8f27480ee432505641e15da6e41375d" ], 0, - "9e17b9be27a26c5421326cefc3eccba9" + "03de715985e5ad528543e6fa5f38c3c3" ], [ "StlcCbvDbPntSubstNoLists.__proj__EAbs__item___1", @@ -891,7 +877,7 @@ "refinement_interpretation_Tm_refine_a8f27480ee432505641e15da6e41375d" ], 0, - "890093cf8e2ee5d79412d927ad608f00" + "b332312b4e4439918956c3829c488962" ], [ "StlcCbvDbPntSubstNoLists.subst_beta", @@ -900,30 +886,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", "binder_x_7597dc0c465777776dc6eae797c43037_1", "binder_x_7597dc0c465777776dc6eae797c43037_2", - "binder_x_bb482801c9518103b7dfbdbbe7ca8f5f_0", + "binder_x_dbcb0a2632e1fed74e708f131516d100_0", "disc_equation_StlcCbvDbPntSubstNoLists.EAbs", "disc_equation_StlcCbvDbPntSubstNoLists.EApp", "disc_equation_StlcCbvDbPntSubstNoLists.EVar", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StlcCbvDbPntSubstNoLists.var", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.exp", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StlcCbvDbPntSubstNoLists.EAbs", "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp" ], 0, - "4b92aa6538dfd43d889f732eead77c82" + "4a3b99580608e09e6baba404655b5b35" ], [ "StlcCbvDbPntSubstNoLists.step", @@ -944,7 +928,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "3cfafa01e853cb79907071bcc5261bf4" + "7f6f8f2994575b67ee236d0905717a94" ], [ "StlcCbvDbPntSubstNoLists.extend", @@ -952,20 +936,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.var", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_StlcCbvDbPntSubstNoLists.var", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a7057ee6b6511d3e64e01bc24a98f664" + "eceae546e22e474336a252b36b65c1de" ], [ "StlcCbvDbPntSubstNoLists.rtyping", @@ -973,12 +954,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.var", - "refinement_interpretation_Tm_refine_a7f06165e980adee8d576633475327ac" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b" ], 0, - "138133f0aae941bd524d3b73c284a598" + "914a677143496048b6507bb980ce37dc" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyVar__item__g", @@ -992,7 +972,7 @@ "refinement_interpretation_Tm_refine_4a45eaafbd1e608025e81692345ae7ec" ], 0, - "00219fa338741cfdb558c6d42758d4ac" + "085d8861721ef43583666d33b4e3b6b7" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyVar__item__x", @@ -1011,7 +991,7 @@ "token_correspondence_StlcCbvDbPntSubstNoLists.__proj__TyVar__item__g" ], 0, - "d634044c34ab9785fc5c004a6067a22d" + "ba3ac1342d4acc4e58d19674e36ca612" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__g", @@ -1025,7 +1005,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "64cb76bf03f105f8f58fbef6b5294938" + "4d24a2177724e4ef894d2eadc79ebc2e" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__t", @@ -1039,7 +1019,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "9e88918990063ab9cfbeb9a78040c0c4" + "2b7e07c426c73bff333d0104e9dec984" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__e1", @@ -1053,7 +1033,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "af839c4d8d4684e402bd65c092a162de" + "e92128fff4bc4780e0c7e65f63e11548" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__t'", @@ -1067,7 +1047,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "0ea4fc3e7bb35dd4d92ded24fccecda4" + "0b75c40391e62fd1cb30257b5543d365" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item___4", @@ -1090,7 +1070,7 @@ "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" ], 0, - "1a481ff097e9c0404325f8e9d0ab4115" + "1cc751604ad94b2de2d03faf059cdd05" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__g", @@ -1104,7 +1084,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "9150e2d54a5b8fcc27a776b9445c0cd3" + "867f92c15921ad980c67eb5aeb851972" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__e1", @@ -1118,7 +1098,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "591d54be71f95733e50295974a1948ff" + "f64e6dc63b949859a2d780a4ce06ad54" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__e2", @@ -1132,7 +1112,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "953d6b5ec278a91a120d6f2488db96b0" + "797cfa6e81a2b8875c2b26cc8c0a704b" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__t11", @@ -1146,7 +1126,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "99798043ee3c02da659cd57270c45c9d" + "96fc6b164114cf63ab2f5941f251ca2e" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__t12", @@ -1160,7 +1140,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "081cda294b7b980069be2b831170c1df" + "6b2a2fcda5fffe1977fc629ad41de9f9" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item___5", @@ -1183,7 +1163,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "96267fc102625ad7ae44156002abdf5b" + "2db0775661a13326c46ca09c863ecb13" ], [ "StlcCbvDbPntSubstNoLists.__proj__TyApp__item___6", @@ -1204,7 +1184,7 @@ "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" ], 0, - "feda3d2021c47a5877f28d2d8a646887" + "91ec06c45ccd9e3ab3fbfbc5b08e3d40" ], [ "StlcCbvDbPntSubstNoLists.appears_free_in", @@ -1213,27 +1193,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", "binder_x_7597dc0c465777776dc6eae797c43037_1", - "binder_x_bb482801c9518103b7dfbdbbe7ca8f5f_0", + "binder_x_dbcb0a2632e1fed74e708f131516d100_0", "disc_equation_StlcCbvDbPntSubstNoLists.EAbs", "disc_equation_StlcCbvDbPntSubstNoLists.EApp", "disc_equation_StlcCbvDbPntSubstNoLists.EVar", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_StlcCbvDbPntSubstNoLists.var", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.exp", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StlcCbvDbPntSubstNoLists.EAbs", "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp" ], 0, - "815bbac4cc6bcb9498c33c6094bc77a8" + "f04d9a68977367385b3757e52ee66027" ], [ "StlcCbvDbPntSubstNoLists.equal", @@ -1246,7 +1224,7 @@ "kinding_StlcCbvDbPntSubstNoLists.ty@tok" ], 0, - "c1e85841341e3d57645b4116593a9dbc" + "1cf03b424e8ca807a84325fbf7c1d89c" ], [ "StlcCbvDbPntSubstNoLists.equalE", @@ -1259,7 +1237,7 @@ "kinding_StlcCbvDbPntSubstNoLists.ty@tok" ], 0, - "112f51f3681a700f9c29052c83f42841" + "09a3a96870f6146fe3516b5cbdd64cf1" ], [ "StlcCbvDbPntSubstNoLists.context_invariance", @@ -1270,12 +1248,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "StlcCbvDbPntSubstNoLists_pretyping_50e78c3fdc2d5cb83ab6b5165045e606", "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_2", "binder_x_7597dc0c465777776dc6eae797c43037_0", - "binder_x_7657d68962160ff40d0ad8d37c13f377_3", - "binder_x_ac2b6c42bc4055e7a2ceea08c2401bc5_4", "bool_inversion", + "binder_x_b0a0c387eae96635c99da73049677b7d_4", + "binder_x_f13b353f253e46f81d1f501f9ef4c276_3", "bool_inversion", "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", "constructor_distinct_StlcCbvDbPntSubstNoLists.EApp", "constructor_distinct_StlcCbvDbPntSubstNoLists.EVar", @@ -1287,16 +1265,14 @@ "disc_equation_StlcCbvDbPntSubstNoLists.TyApp", "disc_equation_StlcCbvDbPntSubstNoLists.TyVar", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.env", "equation_StlcCbvDbPntSubstNoLists.equalE", "equation_StlcCbvDbPntSubstNoLists.extend", "equation_StlcCbvDbPntSubstNoLists.var", "equation_with_fuel_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_59a1731cd8dbc0ef29bc05f6ae881715", + "interpretation_Tm_abs_bb5dcb84faf64402e65d56a8e18c7515", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", @@ -1307,16 +1283,16 @@ "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__0", "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", "projection_inverse_StlcCbvDbPntSubstNoLists.EVar__0", - "refinement_interpretation_Tm_refine_a7f06165e980adee8d576633475327ac", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e2b7d90f620aa025c864c8dd7532dc44", + "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ba34e2ab1508520d8b212977f6e55794", "subterm_ordering_StlcCbvDbPntSubstNoLists.TyAbs", "subterm_ordering_StlcCbvDbPntSubstNoLists.TyApp", "token_correspondence_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", "typing_StlcCbvDbPntSubstNoLists.appears_free_in" ], 0, - "2d8f5bcfa7f29e753e951a31ac5208e7" + "29cbb3de67968e7254a3f975b5b2e6e2" ], [ "StlcCbvDbPntSubstNoLists.typing_extensional", @@ -1328,7 +1304,7 @@ "equation_StlcCbvDbPntSubstNoLists.equalE" ], 0, - "d6179499dfc227c95c52eb7b390d7fbf" + "fa79f38d92bc74e7c0ca0b8d1fb6131c" ], [ "StlcCbvDbPntSubstNoLists.substitution_preserves_typing", @@ -1340,7 +1316,7 @@ "@fuel_correspondence_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", "@fuel_correspondence_StlcCbvDbPntSubstNoLists.subst_beta.fuel_instrumented", "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.subst_beta.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "StlcCbvDbPntSubstNoLists_pretyping_50e78c3fdc2d5cb83ab6b5165045e606", "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_3", @@ -1348,8 +1324,8 @@ "binder_x_7597dc0c465777776dc6eae797c43037_1", "binder_x_7597dc0c465777776dc6eae797c43037_2", "binder_x_9e4fbee373a9008603c91d4472b0af8e_6", - "binder_x_bb482801c9518103b7dfbdbbe7ca8f5f_0", - "binder_x_cf489a145ea8e9ddae6f2e27c309b685_7", "bool_inversion", + "binder_x_dbcb0a2632e1fed74e708f131516d100_0", + "binder_x_f498b240629ba8d814a9923ab86d50f6_7", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", "constructor_distinct_StlcCbvDbPntSubstNoLists.EApp", @@ -1373,11 +1349,10 @@ "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.exp", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_59a1731cd8dbc0ef29bc05f6ae881715", + "interpretation_Tm_abs_bb5dcb84faf64402e65d56a8e18c7515", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1390,15 +1365,15 @@ "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", "projection_inverse_StlcCbvDbPntSubstNoLists.EVar__0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a7f06165e980adee8d576633475327ac", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_StlcCbvDbPntSubstNoLists.EAbs", "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp", "token_correspondence_StlcCbvDbPntSubstNoLists.empty", "typing_StlcCbvDbPntSubstNoLists.appears_free_in" ], 0, - "4f897fa83ff9e5ec34ae7f76c14ec3f5" + "938204741468e6994057c7a05bc61336" ], [ "StlcCbvDbPntSubstNoLists.preservation", @@ -1407,10 +1382,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_96cd34f4772ade3da753da11f912a4b8" + "refinement_interpretation_Tm_refine_aec9be1587021059dae510d43f8f112c" ], 0, - "9ffc8d40804e3075683c033d16073efb" + "8eaca018cf48b36befa1dd46ebc1144e" ], [ "StlcCbvDbPntSubstNoLists.preservation", @@ -1423,8 +1398,8 @@ "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.step.fuel_instrumented", "@query", "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", - "binder_x_35d2f434da62d5e501fab748be12c3df_2", "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_1", + "binder_x_712f8ef1f5239133a92e853010402ae9_2", "binder_x_7597dc0c465777776dc6eae797c43037_0", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", @@ -1443,7 +1418,6 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "function_token_typing_StlcCbvDbPntSubstNoLists.empty", "kinding_StlcCbvDbPntSubstNoLists.exp@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -1454,12 +1428,12 @@ "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", "projection_inverse_StlcCbvDbPntSubstNoLists.TArrow_t1", "projection_inverse_StlcCbvDbPntSubstNoLists.TArrow_t2", - "refinement_interpretation_Tm_refine_8333681d34c6663d1f4f91edae6a7d34", + "refinement_interpretation_Tm_refine_f37d7c08290e28d70c839a5ceabfa495", "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp", "typing_StlcCbvDbPntSubstNoLists.step" ], 0, - "ca1655131e6e9f30abfc0d78e2f9be51" + "71f59a6c64f91be9659b23481e677510" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/StlcStrongDbParSubst.fst.hints b/examples/metatheory/StlcStrongDbParSubst.fst.hints index 5a62eebc262..5ef698791d5 100644 --- a/examples/metatheory/StlcStrongDbParSubst.fst.hints +++ b/examples/metatheory/StlcStrongDbParSubst.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "7914beb53c2c2ecfad57fa3f1a4b57c0" + "f08c41d3317e43005233537501fdd524" ], [ "StlcStrongDbParSubst.__proj__TArr__item___0", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_ccaa7b9f2c4e22321120f7ea92a71de5" ], 0, - "00a7bfb5b76421ce482d41124b1ba785" + "cf38ed342ab96b1d615f8ae9f4fe1fc7" ], [ "StlcStrongDbParSubst.__proj__TArr__item___1", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_ccaa7b9f2c4e22321120f7ea92a71de5" ], 0, - "75463aa367aa2876f9a2a46477f320a6" + "d3efa72b3855a7f3f964343de5770ce9" ], [ "StlcStrongDbParSubst.exp", @@ -49,11 +49,11 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "82f102cbee2ba49d2cad4237530d2c11" + "f475f78472079ea8576bc1888572bf84" ], [ "StlcStrongDbParSubst.__proj__EVar__item___0", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_f4accbbd705c655c07c4d28fa0433bd8" ], 0, - "a5a9c14dc07cf71f2352682cb13bb0ce" + "3c6b94a6cbbd2afa8baf15946150c461" ], [ "StlcStrongDbParSubst.__proj__EApp__item___0", @@ -81,7 +81,7 @@ "refinement_interpretation_Tm_refine_cfeb4851717f0f570c09b19bff9e1ba0" ], 0, - "a01faf6d3fc4f1a09e8b8005c6cc1b46" + "b6b4781655255617edb41bd76384741d" ], [ "StlcStrongDbParSubst.__proj__EApp__item___1", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_cfeb4851717f0f570c09b19bff9e1ba0" ], 0, - "050e1e0869dce514c33d5d5fe42c96c8" + "57efaa5e56080a19bcdcbcf5d2080c7b" ], [ "StlcStrongDbParSubst.__proj__ELam__item___0", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_c2b6bc5fb9f0c781cc9a468d147cb416" ], 0, - "4432cccbd1010bf3fd4005dc39c90a7f" + "0ec6114be9c51057ba04494d3d95f56a" ], [ "StlcStrongDbParSubst.__proj__ELam__item___1", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_c2b6bc5fb9f0c781cc9a468d147cb416" ], 0, - "49a51b46537bade3547e9d69d8b67bfc" + "9e2f4a13a3af14aca4bc56c95aea641d" ], [ "StlcStrongDbParSubst.is_renaming", @@ -132,10 +132,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7e0e8fe097c61d6e1bb114136c2600bd" + "refinement_interpretation_Tm_refine_a2e3e4f07183c4d928088ca9c9dcb623" ], 0, - "4cdfd8e2b1dc36af50e83c78bf891575" + "f611b5902f56613df937b4e070e0e040" ], [ "StlcStrongDbParSubst.sub_inc", @@ -146,10 +146,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e2d8c2e988f53ae44ed47173426565a0" + "5515f69165c860f9aaec083096c6824c" ], [ "StlcStrongDbParSubst.renaming_sub_inc", @@ -166,7 +166,7 @@ "token_correspondence_StlcStrongDbParSubst.sub_inc" ], 0, - "7acefb66c74cd4e4f8bbdfeec8d19ce7" + "530c7e08a25ddfcf4120cce5d2f1ff09" ], [ "StlcStrongDbParSubst.subst", @@ -176,10 +176,11 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_interpretation_Tm_arrow_8ae507ed6be189cfef9e8527913f41f6", + "StlcStrongDbParSubst_interpretation_Tm_arrow_847e119791448968f3b4d5ecfd64021f", + "StlcStrongDbParSubst_interpretation_Tm_arrow_86f0d4fd92d6b9638311c2f0e85836bb", "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_f55ec7832b4822a4b2709f9a7b906c22_0", "bool_inversion", + "binder_x_b2dd1823af72defc268fddaa468960d0_0", "bool_inversion", "constructor_distinct_StlcStrongDbParSubst.EVar", "data_typing_intro_StlcStrongDbParSubst.EUnit@tok", "disc_equation_StlcStrongDbParSubst.EApp", @@ -198,10 +199,10 @@ "int_inversion", "int_typing", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_StlcStrongDbParSubst.EVar__0", + "refinement_interpretation_Tm_refine_38d9e94985993c1c28936bd159c6e7c5", "refinement_interpretation_Tm_refine_3949545d6bf3f1c8a6f29ddc1f66f50e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ee730cdf91252a26d7e5878a9759b245", - "refinement_interpretation_Tm_refine_f515e529110be016072f7813e8261e63", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5a12858307737c9d94392cddb7f09ea0", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam", "token_correspondence_StlcStrongDbParSubst.sub_elam", @@ -212,7 +213,7 @@ "well-founded-ordering-on-nat" ], 0, - "c00638b39402de8e39f556bb82ccb91b" + "f5b3c40140504759087523e39a17f44d" ], [ "StlcStrongDbParSubst.subst", @@ -222,8 +223,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_efdd934bb8b090f4e1b7156061e14150_1", - "binder_x_f55ec7832b4822a4b2709f9a7b906c22_0", "bool_inversion", + "binder_x_994c99bbacb216630d104a4d01f030da_1", + "binder_x_b2dd1823af72defc268fddaa468960d0_0", "bool_inversion", "constructor_distinct_StlcStrongDbParSubst.EVar", "disc_equation_StlcStrongDbParSubst.EVar", "equation_Prims.nat", "equation_StlcStrongDbParSubst.is_var", @@ -238,15 +239,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f515e529110be016072f7813e8261e63", + "refinement_interpretation_Tm_refine_38d9e94985993c1c28936bd159c6e7c5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_StlcStrongDbParSubst.sub_inc", "typing_StlcStrongDbParSubst.is_renaming", "typing_StlcStrongDbParSubst.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "5091e391ec7aa711549812ba97356e2a" + "8f6e4ca87059664b5a6dc4407bb7accf" ], [ "StlcStrongDbParSubst.sub_beta", @@ -254,16 +255,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_StlcStrongDbParSubst.var", "int_inversion", + "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f673beeca28ceb9a7bf5d116c2eb8fb6" + "f1cc8344f5df6e5d5c88ca7f3566aba5" ], [ "StlcStrongDbParSubst.step", @@ -275,7 +274,7 @@ "assumption_StlcStrongDbParSubst.typ__uu___haseq" ], 0, - "eedd9838bed072f9d702ba8141a33909" + "4a29e23b4b2bedb69e7cc08bb7918eb0" ], [ "StlcStrongDbParSubst.__proj__SBeta__item__t", @@ -289,7 +288,7 @@ "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" ], 0, - "5af017b34b9d4d27c6fa05adc4d76d9a" + "4aa0d4ea6673040c50456c139995bf95" ], [ "StlcStrongDbParSubst.__proj__SBeta__item__e1", @@ -303,7 +302,7 @@ "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" ], 0, - "c88f90c627dde49dd8c16e557c7e273c" + "bc93465e81431d823ccd6f38f0523e16" ], [ "StlcStrongDbParSubst.__proj__SBeta__item__e2", @@ -317,7 +316,7 @@ "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" ], 0, - "ff3e988be3ccde0d8ed076d97a457322" + "893fc710c8521fa99f33dd3acce7c969" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__e1", @@ -331,7 +330,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "3ebddb1eae33738e8f2da04208b1f6da" + "48032215c4146cb4b9af4eaa215a2031" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__e2", @@ -345,7 +344,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "de4807c6b1864a1e0ef84e3aeb857a8b" + "86cdea5d7d1636d852ba3bf04d94a0ab" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__e1'", @@ -359,7 +358,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "86f2e9f637e80bbfa32ccf297e9e40f8" + "50f4dc3f26b3faf9c647da7b3dc70805" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__hst", @@ -377,7 +376,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "f44f626a9b5fe142b20b78a48bda1046" + "2a378ce25bddc46f2b0957fce9253057" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__e1", @@ -391,7 +390,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "cfa214e4725d44df5566fa2998a14b98" + "10a3a2f1b99b8628e4420ed1983001ab" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__e2", @@ -405,7 +404,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "2f8c13108827e035a20e04c41f4a4c99" + "fc139d6716142ae59c44e4cca9ee7bc7" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__e2'", @@ -419,7 +418,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "b9e146947dfae7f2652fc9b9583c8bed" + "ead6601ee146a9217aa5d65ec208ed15" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__hst", @@ -437,7 +436,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "c398bb5340cabd5c11e403a4d4b79c3a" + "4bf3bd0921e21c966591d160aa2d7da0" ], [ "StlcStrongDbParSubst.extend", @@ -445,16 +444,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_StlcStrongDbParSubst.var", "int_inversion", + "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e11d17efba8eea19519d179eb916c043" + "32dda4fd51f90fd5641e4269915e2b01" ], [ "StlcStrongDbParSubst.typing", @@ -462,12 +459,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8" ], 0, - "c756bde48e1793211397a4558424e897" + "b9a5c058c81fdb51da37e12f33bc27ea" ], [ "StlcStrongDbParSubst.__proj__TyVar__item__g", @@ -481,7 +477,7 @@ "refinement_interpretation_Tm_refine_7f43f3559559e11687ceb54b75692147" ], 0, - "c2816009bed596d7feee074080822a4b" + "69db3becf8fdbec3cb7315f6caf2797e" ], [ "StlcStrongDbParSubst.__proj__TyVar__item__x", @@ -499,7 +495,7 @@ "token_correspondence_StlcStrongDbParSubst.__proj__TyVar__item__g" ], 0, - "4186de1628836f1c4281fc15b53235dc" + "ff0e941acc786fb5ef2166af3abee798" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__g", @@ -513,7 +509,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "f957098a72d2ae3970e562509223a6f6" + "7c45f7c0f08d63428917aec2ce7ae2dc" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__t", @@ -527,7 +523,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "89a783672c3d431f6873adbc6a8edcbc" + "6471a636064685ca4a45789bc05a517a" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__e1", @@ -541,7 +537,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "297144930ec8535ac6bb42dbd05d2080" + "75626df9c06d962b6f60ceb42abfa747" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__t'", @@ -555,7 +551,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "90681ec19435435b03b1668490c60e2b" + "ec6db37d8eea1e8069f79538a22203b8" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__hbody", @@ -577,7 +573,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "3c76e1ddd521593bc7fe85e192e96ebe" + "7825b1f9074cfd01f4992157deaa82ee" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__g", @@ -591,7 +587,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "c5532ac5166f90d27664f50d08f5d508" + "bfe30cb059db3d7fdf198db4dee9c037" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__e1", @@ -605,7 +601,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "cb7601cb70a92ce58c52ebed2159d6fd" + "c98a7ba29c59fb940cbbc92eebc3f662" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__e2", @@ -619,7 +615,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "9dae24d3f7966423d7a1d5a09b14c4d6" + "341bd07f6eec334be7b627f279f9d1b9" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__t11", @@ -633,7 +629,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "00b2a00328b6fa28503c93cbc908d3da" + "8dea1157fd220012ef6f17150e504a99" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__t12", @@ -647,7 +643,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "d380b7b9f6e0171f995b4a6e2c2bad98" + "d97ba68ccf5125396a80d2cca2b9a890" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__h1", @@ -670,7 +666,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "27dc8c13f802d995e42c4bebf0fc605b" + "3b19f8454277e93c4d50cc5d95d019a4" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__h2", @@ -692,7 +688,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "ad779d384f7c173646b63a9da7d7acb8" + "3dde95b8af9d9e9357003cba951b2934" ], [ "StlcStrongDbParSubst.__proj__TyUnit__item__g", @@ -706,7 +702,7 @@ "refinement_interpretation_Tm_refine_62fcb6772a40efbdd7f1359f787e4a99" ], 0, - "79a7b6090e8d0095b561d38e2b365c05" + "dd64f465195aadfd492e3e20233d3551" ], [ "StlcStrongDbParSubst.progress", @@ -715,10 +711,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_b2458c6bb744e6db0882db4d2da5d94c_2", + "binder_x_d9e38d5f55016f34266b7ac1885a774d_2", "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_StlcStrongDbParSubst.EApp", @@ -745,7 +740,6 @@ "fuel_guarded_inversion_StlcStrongDbParSubst.exp", "fuel_guarded_inversion_StlcStrongDbParSubst.typ", "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "projection_inverse_StlcStrongDbParSubst.EVar__0", @@ -756,15 +750,14 @@ "projection_inverse_StlcStrongDbParSubst.TyApp_h2", "projection_inverse_StlcStrongDbParSubst.TyApp_t11", "projection_inverse_StlcStrongDbParSubst.TyApp_t12", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", "subterm_ordering_StlcStrongDbParSubst.TyApp", - "token_correspondence_StlcStrongDbParSubst.empty", "typing_StlcStrongDbParSubst.uu___is_ELam", "typing_StlcStrongDbParSubst.uu___is_EUnit" ], 0, - "3171ad74e5d97cf11b6d5cc4527ae405" + "9bf1e16d84cedabb2f4e1f2306b49f18" ], [ "StlcStrongDbParSubst.subst_extensional", @@ -773,7 +766,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "73fc12bb4ed1af3591892b60573df4a3" + "d01979c4e2faeaf410a758febc896051" ], [ "StlcStrongDbParSubst.subst_extensional", @@ -782,7 +775,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "cb12eeeabd926be817476510162a9a67" + "603cd4beb228d986cc5ba9aca9c0fae5" ], [ "StlcStrongDbParSubst.subst_extensional", @@ -797,8 +790,8 @@ "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "binder_x_00c2c856e702f50718a37c394bb4dba3_2", - "binder_x_42f2a5cf5bcd1a73c92b75bbfaf1aa79_1", - "binder_x_f55ec7832b4822a4b2709f9a7b906c22_0", + "binder_x_4fd769c52a9ae2a37539f4903dec252d_1", + "binder_x_b2dd1823af72defc268fddaa468960d0_0", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.EVar", "data_typing_intro_StlcStrongDbParSubst.EUnit@tok", @@ -806,7 +799,6 @@ "disc_equation_StlcStrongDbParSubst.ELam", "disc_equation_StlcStrongDbParSubst.EVar", "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.sub", "equation_StlcStrongDbParSubst.var", "equation_with_fuel_StlcStrongDbParSubst.sub_elam.fuel_instrumented", "equation_with_fuel_StlcStrongDbParSubst.subst.fuel_instrumented", @@ -817,14 +809,14 @@ "projection_inverse_StlcStrongDbParSubst.EApp__0", "projection_inverse_StlcStrongDbParSubst.EApp__1", "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f08a7b18f8825920162320aea6cbc7b0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7820b04d531adf27f5431a5615e70979", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam", "token_correspondence_StlcStrongDbParSubst.sub_elam", "true_interp" ], 0, - "b0ce7e00ecb485c3cb9e14bee90ddd87" + "7e5554f65d4a9b7a46c799716cadbaae" ], [ "StlcStrongDbParSubst.subst_typing", @@ -832,12 +824,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8" ], 0, - "d3da3b65d2188187efcdd6d816240736" + "10bc03c361fc8e607253762313c42022" ], [ "StlcStrongDbParSubst.substitution", @@ -851,16 +842,16 @@ "@fuel_irrelevance_StlcStrongDbParSubst.sub_elam.fuel_instrumented", "@fuel_irrelevance_StlcStrongDbParSubst.subst.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_interpretation_Tm_arrow_2c819e1f05629de933e177636811f25f", - "StlcStrongDbParSubst_interpretation_Tm_arrow_68b0c03d02cafcc5f092e9e752c67ff0", - "StlcStrongDbParSubst_interpretation_Tm_arrow_a30b9f6b7ca969a69d3f40851e07b43a", - "StlcStrongDbParSubst_interpretation_Tm_arrow_d770bec2c0904e1a4bb1c364ff6c6ed9", + "StlcStrongDbParSubst_interpretation_Tm_arrow_25520bf18d16d55849d5d48bb3b3d5c2", + "StlcStrongDbParSubst_interpretation_Tm_arrow_537baed5a6ddfc86c6c3de16b2197b39", + "StlcStrongDbParSubst_interpretation_Tm_arrow_86f0d4fd92d6b9638311c2f0e85836bb", + "StlcStrongDbParSubst_interpretation_Tm_arrow_d7c23eed18639be8032fa5f7062f80fe", "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_da63d231f99fc2e595f8d0d2ff9c3290_4", - "binder_x_e4818d0e36fbe85a9213ed243ca8718b_5", - "binder_x_f55ec7832b4822a4b2709f9a7b906c22_3", + "binder_x_3acd6cf3d511e8950aef9606edca1e67_5", + "binder_x_b2dd1823af72defc268fddaa468960d0_3", + "binder_x_d7a08fe95d0edeffd31477bbf4345664_4", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.ELam", @@ -901,7 +892,7 @@ "function_token_typing_StlcStrongDbParSubst.sub_elam", "function_token_typing_StlcStrongDbParSubst.sub_inc", "int_inversion", "int_typing", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", "kinding_StlcStrongDbParSubst.typ@tok", "lemma_FStar.Pervasives.invertOption", "lemma_StlcStrongDbParSubst.subst_extensional", @@ -914,13 +905,13 @@ "projection_inverse_StlcStrongDbParSubst.ELam__0", "projection_inverse_StlcStrongDbParSubst.ELam__1", "projection_inverse_StlcStrongDbParSubst.EVar__0", + "refinement_interpretation_Tm_refine_38d9e94985993c1c28936bd159c6e7c5", "refinement_interpretation_Tm_refine_3949545d6bf3f1c8a6f29ddc1f66f50e", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_aa7d22060be05af9c07afc47ab5a0e7e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3af297a15d85dd9cc54003b6ce8d9b8", - "refinement_interpretation_Tm_refine_d42dce5911c71681bf654d4b9ec06787", - "refinement_interpretation_Tm_refine_f515e529110be016072f7813e8261e63", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", + "refinement_interpretation_Tm_refine_88d77cd7bfeeb0c60949fc1418a69f5a", + "refinement_interpretation_Tm_refine_b6d41b085882337eb3a51804b6abc61f", + "refinement_interpretation_Tm_refine_e7bdf8f54f445fcd98bcae5ce60a3134", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam", "token_correspondence_StlcStrongDbParSubst.extend", @@ -933,7 +924,7 @@ "well-founded-ordering-on-nat" ], 0, - "a045a9df4f3cc02a5de87ed1131892b2" + "ed10710ad4ae379e0b342be037b05119" ], [ "StlcStrongDbParSubst.substitution_beta", @@ -951,18 +942,18 @@ "equation_StlcStrongDbParSubst.var", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_StlcStrongDbParSubst.extend", "int_inversion", - "interpretation_Tm_abs_1a8f62e35bc2e93780f266730f3dcb0a", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", + "interpretation_Tm_abs_3348a440425b62f388c69bf898593dad", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c754cef5e8484205d4bfc5b61ba0bc28", + "refinement_interpretation_Tm_refine_2deffb1206c09c545f7c9ce557b1be3a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_StlcStrongDbParSubst.sub_beta" ], 0, - "a6470f37abcd2547e526d5cee6d45e47" + "9e56c42742c5c9df92d3a9dd5e6575f9" ], [ "StlcStrongDbParSubst.preservation", @@ -973,7 +964,7 @@ "@MaxIFuel_assumption", "@query", "StlcStrongDbParSubst_pretyping_973b93b4201307dd6e1098e2198db95c", "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_868b2cf51d5b1589c88978bfebb23ae3_4", + "binder_x_30925f6f6134112724c347ed3160f742_4", "binder_x_95056e764e3c2e74ab841758ae495679_5", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.ELam", @@ -1009,7 +1000,7 @@ "subterm_ordering_StlcStrongDbParSubst.TyApp" ], 0, - "604825c1596650dcf5a470b6ca1b31e6" + "7546f7cf7ac50a22f486f18a6f207e12" ], [ "StlcStrongDbParSubst.typ", @@ -1018,7 +1009,7 @@ 1, [ "@query" ], 0, - "e2948bf37bd1a25e989aa16a95a79fb7" + "492733495310506b0ce45f07b4241bf1" ], [ "StlcStrongDbParSubst.__proj__TArr__item___0", @@ -1032,7 +1023,7 @@ "refinement_interpretation_Tm_refine_ccaa7b9f2c4e22321120f7ea92a71de5" ], 0, - "1e27f1894658273325c1bcc3d03f595b" + "5bcd37fb6f854ff037d871b77c5efd57" ], [ "StlcStrongDbParSubst.__proj__TArr__item___1", @@ -1046,7 +1037,7 @@ "refinement_interpretation_Tm_refine_ccaa7b9f2c4e22321120f7ea92a71de5" ], 0, - "e4fb608b4d8403d315ee51d762265d87" + "d08cf3ab555347ad96a73232a6738b91" ], [ "StlcStrongDbParSubst.exp", @@ -1059,11 +1050,11 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cc4022e5952244946d2e24c585fef159" + "6c09fbd7891a49df1dae58b1c77a02ae" ], [ "StlcStrongDbParSubst.__proj__EVar__item___0", @@ -1077,7 +1068,7 @@ "refinement_interpretation_Tm_refine_f4accbbd705c655c07c4d28fa0433bd8" ], 0, - "44816ef59937b6c82de78a65ae027112" + "03ded689593999c2e9a9128a3c5c76b4" ], [ "StlcStrongDbParSubst.__proj__EApp__item___0", @@ -1091,7 +1082,7 @@ "refinement_interpretation_Tm_refine_cfeb4851717f0f570c09b19bff9e1ba0" ], 0, - "add115a7fa2673ac29d58319b03ee320" + "687cfb6c1b031a3a07a4d0da16f98b4d" ], [ "StlcStrongDbParSubst.__proj__EApp__item___1", @@ -1105,7 +1096,7 @@ "refinement_interpretation_Tm_refine_cfeb4851717f0f570c09b19bff9e1ba0" ], 0, - "201c67247d0115175940236d64a6b0aa" + "684996d708835a9dab71cbe23472b3e0" ], [ "StlcStrongDbParSubst.__proj__ELam__item___0", @@ -1119,7 +1110,7 @@ "refinement_interpretation_Tm_refine_c2b6bc5fb9f0c781cc9a468d147cb416" ], 0, - "959b65994d7ef0547a5a09f0eb2b4ab5" + "aed05a26ca9f7cceb50af1840e8aaa0a" ], [ "StlcStrongDbParSubst.__proj__ELam__item___1", @@ -1133,7 +1124,7 @@ "refinement_interpretation_Tm_refine_c2b6bc5fb9f0c781cc9a468d147cb416" ], 0, - "3bf9c142e98ddb0edc682cf67a2fec02" + "fe1a734ea85fc696fc705b77b123915d" ], [ "StlcStrongDbParSubst.is_renaming", @@ -1142,10 +1133,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7e0e8fe097c61d6e1bb114136c2600bd" + "refinement_interpretation_Tm_refine_a2e3e4f07183c4d928088ca9c9dcb623" ], 0, - "d1490b22a311166d3b5472729c19e8b5" + "e6f7ca8c9d25e28df833ef7c28a7a89e" ], [ "StlcStrongDbParSubst.sub_inc", @@ -1156,10 +1147,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "907f20e3f8817038daa171791b6da68b" + "a07bcff0461e03256f8046e025dd515b" ], [ "StlcStrongDbParSubst.subst", @@ -1169,10 +1160,11 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_interpretation_Tm_arrow_8ae507ed6be189cfef9e8527913f41f6", + "StlcStrongDbParSubst_interpretation_Tm_arrow_847e119791448968f3b4d5ecfd64021f", + "StlcStrongDbParSubst_interpretation_Tm_arrow_86f0d4fd92d6b9638311c2f0e85836bb", "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_f55ec7832b4822a4b2709f9a7b906c22_0", "bool_inversion", + "binder_x_b2dd1823af72defc268fddaa468960d0_0", "bool_inversion", "constructor_distinct_StlcStrongDbParSubst.EVar", "data_typing_intro_StlcStrongDbParSubst.EUnit@tok", "disc_equation_StlcStrongDbParSubst.EApp", @@ -1191,10 +1183,10 @@ "int_inversion", "int_typing", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_StlcStrongDbParSubst.EVar__0", + "refinement_interpretation_Tm_refine_38d9e94985993c1c28936bd159c6e7c5", "refinement_interpretation_Tm_refine_3949545d6bf3f1c8a6f29ddc1f66f50e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ee730cdf91252a26d7e5878a9759b245", - "refinement_interpretation_Tm_refine_f515e529110be016072f7813e8261e63", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5a12858307737c9d94392cddb7f09ea0", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam", "token_correspondence_StlcStrongDbParSubst.sub_elam", @@ -1205,7 +1197,7 @@ "well-founded-ordering-on-nat" ], 0, - "6cdfd6fabfeb13c58f77fc442f95cc60" + "55b1439ee717583e6c39d3e9fd646f41" ], [ "StlcStrongDbParSubst.subst", @@ -1215,8 +1207,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_efdd934bb8b090f4e1b7156061e14150_1", - "binder_x_f55ec7832b4822a4b2709f9a7b906c22_0", "bool_inversion", + "binder_x_994c99bbacb216630d104a4d01f030da_1", + "binder_x_b2dd1823af72defc268fddaa468960d0_0", "bool_inversion", "constructor_distinct_StlcStrongDbParSubst.EVar", "disc_equation_StlcStrongDbParSubst.EVar", "equation_Prims.nat", "equation_StlcStrongDbParSubst.is_var", @@ -1231,15 +1223,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f515e529110be016072f7813e8261e63", + "refinement_interpretation_Tm_refine_38d9e94985993c1c28936bd159c6e7c5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_StlcStrongDbParSubst.sub_inc", "typing_StlcStrongDbParSubst.is_renaming", "typing_StlcStrongDbParSubst.uu___is_EVar", "well-founded-ordering-on-nat" ], 0, - "36699df25f374390a10cb7cc05feea14" + "61197e87c93549ddd54be31ab635d1c0" ], [ "StlcStrongDbParSubst.sub_beta", @@ -1247,16 +1239,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_StlcStrongDbParSubst.var", "int_inversion", + "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e5fad1712e745454a516f23c5a3762c1" + "65fa2ae75b55c5b6f6babc9cdd5c18f1" ], [ "StlcStrongDbParSubst.step", @@ -1268,7 +1258,7 @@ "assumption_StlcStrongDbParSubst.typ__uu___haseq" ], 0, - "ae5d753baa0abb2ac3c4fc88277cf518" + "f3cd7a0b3e82047516de2ef1bf70457e" ], [ "StlcStrongDbParSubst.__proj__SBeta__item__t", @@ -1282,7 +1272,7 @@ "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" ], 0, - "e0d570d50084deb549d53024006ac6dc" + "97457867f75f02f8480c1235aaca71a4" ], [ "StlcStrongDbParSubst.__proj__SBeta__item__e1", @@ -1296,7 +1286,7 @@ "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" ], 0, - "1327b13c47f8ec28372b4119cda6c113" + "f5f3d639a55bffa93cf47a618d90490d" ], [ "StlcStrongDbParSubst.__proj__SBeta__item__e2", @@ -1310,7 +1300,7 @@ "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" ], 0, - "c27d3b455f14d22e27096f68906bceb6" + "9efeb45a5aa19ec287333aa5017739f9" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__e1", @@ -1324,7 +1314,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "3f857c4c7695bef9244a407b88bfd42d" + "001e544da2ea346bb4ebd80dd8314b5a" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__e2", @@ -1338,7 +1328,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "bb0787baf0ab79b49b7cea5d11fb1ca7" + "7d48ce401407edc2832c248f0875ee77" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__e1'", @@ -1352,7 +1342,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "abc7598a9f0da7e9a382ffcfc2e3e9fa" + "ab790c74270729a2e8efbb624a4f5306" ], [ "StlcStrongDbParSubst.__proj__SApp1__item__hst", @@ -1370,7 +1360,7 @@ "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" ], 0, - "04cba0471ed853d47c2a7ca89a9f4da5" + "334824c964f2510a9a20e82bfed7ba05" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__e1", @@ -1384,7 +1374,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "9c56b78669ee71ea1f0c68664c398d6c" + "0cfcf0a1a6b25b5ab26d8982d9977b18" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__e2", @@ -1398,7 +1388,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "8e0078f8655252e76d67a1853adddb8c" + "e2514ae181e40d0131db248dc03841ba" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__e2'", @@ -1412,7 +1402,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "51f3cd6a25fd91eee02396d190b2db7f" + "464292f4cf7983bfc0f1808bf336ff0f" ], [ "StlcStrongDbParSubst.__proj__SApp2__item__hst", @@ -1430,7 +1420,7 @@ "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" ], 0, - "02f727d666c4529daf960d18a8843d0c" + "13d5bd0bd0d348f09c468cae95d44d4c" ], [ "StlcStrongDbParSubst.extend", @@ -1438,16 +1428,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_StlcStrongDbParSubst.var", "int_inversion", + "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ce35849e09a21540f258b34721671cf9" + "09bf36a4872f9c121fb59a88fc9edb25" ], [ "StlcStrongDbParSubst.typing", @@ -1455,12 +1443,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8" ], 0, - "2be9a274cc12593e5a26a885d3002fa5" + "2d8ce97258d71b921a38fb665243d294" ], [ "StlcStrongDbParSubst.__proj__TyVar__item__g", @@ -1474,7 +1461,7 @@ "refinement_interpretation_Tm_refine_7f43f3559559e11687ceb54b75692147" ], 0, - "ca824e22191e3a1e6a193840f794f0e9" + "e089bafdbc7561d850bf292087fb16be" ], [ "StlcStrongDbParSubst.__proj__TyVar__item__x", @@ -1492,7 +1479,7 @@ "token_correspondence_StlcStrongDbParSubst.__proj__TyVar__item__g" ], 0, - "c4f5ad106666ff0dcc8512fdfb496393" + "9b2996278d96d7d053c9d89b206eca79" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__g", @@ -1506,7 +1493,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "2cde7cb11471f25e660034e5a2d84a41" + "9694f9bacb96dfe61bc800e644cc87cc" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__t", @@ -1520,7 +1507,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "b42f9286b63ad2cf9f2e4be6492dd6c7" + "8f4f1fff9b61ce72c0d787f793111102" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__e1", @@ -1534,7 +1521,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "9890cc8b372b2de83210bbf54588e24b" + "688968748c85fea68c464ed202e34ea3" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__t'", @@ -1548,7 +1535,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "7b0244076380954df8e73fabb793b274" + "beff6be908d8b922e08b108e309e1b61" ], [ "StlcStrongDbParSubst.__proj__TyLam__item__hbody", @@ -1570,7 +1557,7 @@ "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" ], 0, - "c41774738e34ed21cd7777221f344178" + "4fc770fdf9637b8f8ebe1371a5237f8f" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__g", @@ -1584,7 +1571,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "f8c10a6a3e9b77ae486785afbb9957de" + "489166ea2d2b8bbdb4a5ad1b97925ce1" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__e1", @@ -1598,7 +1585,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "7ebda2df7cb3001a1ad842a37b664698" + "78ab3cea2527b3ffbc72501eb095a284" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__e2", @@ -1612,7 +1599,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "0346a3d4837b77e8cce9f0b3bd55bc33" + "939401334beab0aff5261cb025350772" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__t11", @@ -1626,7 +1613,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "df8a0e8cb32a78ce04a58f48b9a34e32" + "4df65f9da943478c6cb48960441685df" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__t12", @@ -1640,7 +1627,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "6260fe924689b58e33b2894c35f4ab2f" + "649d16f657f03db92f45757e1e21f8a6" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__h1", @@ -1663,7 +1650,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "62e1c227ffd4c52c67a1b81058c00edb" + "162572b39a017128ac70808dc6077cb0" ], [ "StlcStrongDbParSubst.__proj__TyApp__item__h2", @@ -1685,7 +1672,7 @@ "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" ], 0, - "c515d3aed72d50e02531552f6c6c15d8" + "5e65dcb3368eb62dbdeeada18c42b8ce" ], [ "StlcStrongDbParSubst.__proj__TyUnit__item__g", @@ -1699,7 +1686,7 @@ "refinement_interpretation_Tm_refine_62fcb6772a40efbdd7f1359f787e4a99" ], 0, - "3ade65d5d5e8f57df05c086462f0854e" + "51339a47ac61492a9e4fe8f42cad6b63" ], [ "StlcStrongDbParSubst.progress", @@ -1708,10 +1695,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_b2458c6bb744e6db0882db4d2da5d94c_2", + "binder_x_d9e38d5f55016f34266b7ac1885a774d_2", "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_StlcStrongDbParSubst.EApp", @@ -1737,19 +1723,17 @@ "fuel_guarded_inversion_StlcStrongDbParSubst.exp", "fuel_guarded_inversion_StlcStrongDbParSubst.typ", "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", "subterm_ordering_StlcStrongDbParSubst.TyApp", - "token_correspondence_StlcStrongDbParSubst.empty", "typing_StlcStrongDbParSubst.uu___is_ELam", "typing_StlcStrongDbParSubst.uu___is_EUnit" ], 0, - "a046471f9b4a26a32923e2f5786242c0" + "f5a772fa199349f3c8e92be7cdb5a3a4" ], [ "StlcStrongDbParSubst.subst_extensional", @@ -1758,7 +1742,7 @@ 1, [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], 0, - "1a1087ebec515ff8727344c9534c7f7f" + "1cc574d6dfb705070ffbfe28808f720f" ], [ "StlcStrongDbParSubst.subst_typing", @@ -1766,12 +1750,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8" ], 0, - "b3fc449dae67ab3629918634917f9f52" + "6acd49b820ab33a01181d2f8e907746e" ], [ "StlcStrongDbParSubst.substitution", @@ -1785,16 +1768,16 @@ "@fuel_irrelevance_StlcStrongDbParSubst.sub_elam.fuel_instrumented", "@fuel_irrelevance_StlcStrongDbParSubst.subst.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_interpretation_Tm_arrow_2c819e1f05629de933e177636811f25f", - "StlcStrongDbParSubst_interpretation_Tm_arrow_68b0c03d02cafcc5f092e9e752c67ff0", - "StlcStrongDbParSubst_interpretation_Tm_arrow_a30b9f6b7ca969a69d3f40851e07b43a", - "StlcStrongDbParSubst_interpretation_Tm_arrow_d770bec2c0904e1a4bb1c364ff6c6ed9", + "StlcStrongDbParSubst_interpretation_Tm_arrow_25520bf18d16d55849d5d48bb3b3d5c2", + "StlcStrongDbParSubst_interpretation_Tm_arrow_537baed5a6ddfc86c6c3de16b2197b39", + "StlcStrongDbParSubst_interpretation_Tm_arrow_86f0d4fd92d6b9638311c2f0e85836bb", + "StlcStrongDbParSubst_interpretation_Tm_arrow_d7c23eed18639be8032fa5f7062f80fe", "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_da63d231f99fc2e595f8d0d2ff9c3290_4", - "binder_x_e4818d0e36fbe85a9213ed243ca8718b_5", - "binder_x_f55ec7832b4822a4b2709f9a7b906c22_3", + "binder_x_3acd6cf3d511e8950aef9606edca1e67_5", + "binder_x_b2dd1823af72defc268fddaa468960d0_3", + "binder_x_d7a08fe95d0edeffd31477bbf4345664_4", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.ELam", @@ -1835,7 +1818,7 @@ "function_token_typing_StlcStrongDbParSubst.sub_elam", "function_token_typing_StlcStrongDbParSubst.sub_inc", "int_inversion", "int_typing", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", "kinding_StlcStrongDbParSubst.typ@tok", "lemma_FStar.Pervasives.invertOption", "lemma_StlcStrongDbParSubst.subst_extensional", @@ -1848,13 +1831,13 @@ "projection_inverse_StlcStrongDbParSubst.ELam__0", "projection_inverse_StlcStrongDbParSubst.ELam__1", "projection_inverse_StlcStrongDbParSubst.EVar__0", + "refinement_interpretation_Tm_refine_38d9e94985993c1c28936bd159c6e7c5", "refinement_interpretation_Tm_refine_3949545d6bf3f1c8a6f29ddc1f66f50e", - "refinement_interpretation_Tm_refine_7414eee80b22bba253a9c605eb7a8bda", - "refinement_interpretation_Tm_refine_aa7d22060be05af9c07afc47ab5a0e7e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3af297a15d85dd9cc54003b6ce8d9b8", - "refinement_interpretation_Tm_refine_d42dce5911c71681bf654d4b9ec06787", - "refinement_interpretation_Tm_refine_f515e529110be016072f7813e8261e63", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", + "refinement_interpretation_Tm_refine_88d77cd7bfeeb0c60949fc1418a69f5a", + "refinement_interpretation_Tm_refine_b6d41b085882337eb3a51804b6abc61f", + "refinement_interpretation_Tm_refine_e7bdf8f54f445fcd98bcae5ce60a3134", "subterm_ordering_StlcStrongDbParSubst.EApp", "subterm_ordering_StlcStrongDbParSubst.ELam", "token_correspondence_StlcStrongDbParSubst.extend", @@ -1867,7 +1850,7 @@ "well-founded-ordering-on-nat" ], 0, - "35fcd65af4ed147bd4b504265292227b" + "09134a622f58c39c501726151306d8cf" ], [ "StlcStrongDbParSubst.substitution_beta", @@ -1885,18 +1868,18 @@ "equation_StlcStrongDbParSubst.var", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_StlcStrongDbParSubst.extend", "int_inversion", - "interpretation_Tm_abs_1a8f62e35bc2e93780f266730f3dcb0a", - "interpretation_Tm_abs_c275489c7af05faed8bf59779d89095a", + "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", + "interpretation_Tm_abs_3348a440425b62f388c69bf898593dad", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c754cef5e8484205d4bfc5b61ba0bc28", + "refinement_interpretation_Tm_refine_2deffb1206c09c545f7c9ce557b1be3a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_StlcStrongDbParSubst.sub_beta" ], 0, - "042c99428072db3270d313ffb45bcd7c" + "a6fc592ca881f0db1cf40cb669d31ac5" ], [ "StlcStrongDbParSubst.preservation", @@ -1907,7 +1890,7 @@ "@MaxIFuel_assumption", "@query", "StlcStrongDbParSubst_pretyping_973b93b4201307dd6e1098e2198db95c", "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_868b2cf51d5b1589c88978bfebb23ae3_4", + "binder_x_30925f6f6134112724c347ed3160f742_4", "binder_x_95056e764e3c2e74ab841758ae495679_5", "constructor_distinct_StlcStrongDbParSubst.EApp", "constructor_distinct_StlcStrongDbParSubst.ELam", @@ -1943,7 +1926,7 @@ "subterm_ordering_StlcStrongDbParSubst.TyApp" ], 0, - "eb4e52d778daf17efe8f77feaa3244d9" + "8fc58ffe51a8f9a018332e678fc5ad46" ] ] ] \ No newline at end of file diff --git a/examples/metatheory/indind.fst.hints b/examples/metatheory/indind.fst.hints index 40e61902833..5e97fac641c 100644 --- a/examples/metatheory/indind.fst.hints +++ b/examples/metatheory/indind.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "ce061becf8396db9e19668b29b23f825" + "03fc298eed8a2a25620b1c1b636de9ce" ], [ "Indind.__proj__Cons__item__tail", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_f2b0a695d9cf05c47cf3e9edd0a8491e" ], 0, - "428233b5b95ff7fd11f7be669bb3c06d" + "7eb9f1c4fc6a6fb4b39535ce2057d439" ], [ "Indind.__proj__Cons__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_f2b0a695d9cf05c47cf3e9edd0a8491e" ], 0, - "bd71a93d6c0fbbf4eaf7d3b92dbe1fdc" + "ae0f556225f6a6892daf359522a1d718" ], [ "Indind.__proj__S__item__l", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_2a5da96b896242ec4724a0edc1956d4a" ], 0, - "6c642c1fc20a4ed29f141eabb27ee091" + "6e3e7fb214a310a30abef0434e8b2d9a" ], [ "Indind.__proj__S__item__x", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_2a5da96b896242ec4724a0edc1956d4a" ], 0, - "3e4294e595b5bed373403d65aae745c1" + "fb932295efb3545f1794a5434f8d84f3" ], [ "Indind.vdl_valid", @@ -79,7 +79,7 @@ "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "4bf392adbd813d6710c38cdddbed2599" + "6a13813568fc6b462e432e88f35e7b50" ], [ "Indind.vdl_valid", @@ -99,7 +99,7 @@ "typing_tok_Indind.Z@tok" ], 0, - "8265daf4cd8dae1da537102340ae3934" + "e0a4046c498255efb6f103f0daf8679a" ], [ "Indind.vdl_induction", @@ -130,7 +130,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "4e04211d7c0c1594ac846e63c2b26845" + "1dc036b3023d072dae5dfa7a0b77f208" ], [ "Indind.vdl_induction", @@ -143,7 +143,7 @@ "@fuel_correspondence_Indind.vdl_valid.fuel_instrumented", "@fuel_irrelevance_Indind.content_valid.fuel_instrumented", "@query", "Indind_pretyping_c036994c42c57d1c399c8bad9fcec1c8", - "binder_x_efff607bddf601ce83b409dae3f152e3_6", + "binder_x_9deb54e5638969c5c40d598c80f71413_6", "constructor_distinct_Indind.Cons", "constructor_distinct_Indind.Nil", "disc_equation_Indind.Cons", "disc_equation_Indind.Nil", "eq2-interp", @@ -161,7 +161,7 @@ "typing_tok_Indind.Nil@tok" ], 0, - "53c5808c8798bf86b3e353d62fb4a03e" + "259d61ff46497f4b0ceaa92b2148be75" ], [ "Indind.vdl_induction", @@ -192,7 +192,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "0951805a015865cf2805f0edbd64d310" + "4be071105f74ba83f6cae38042c7b5d0" ], [ "Indind.vdl_induction", @@ -206,8 +206,8 @@ "@fuel_irrelevance_Indind.content_valid.fuel_instrumented", "@fuel_irrelevance_Indind.vdl_valid.fuel_instrumented", "@query", "Indind_pretyping_c036994c42c57d1c399c8bad9fcec1c8", - "binder_x_bec68c6c6ec838c7b0d79919e8a74b07_7", - "binder_x_efff607bddf601ce83b409dae3f152e3_6", + "binder_x_9deb54e5638969c5c40d598c80f71413_6", + "binder_x_e5a1e0108979f3214409b56f719f3a62_7", "constructor_distinct_Indind.S", "disc_equation_Indind.S", "disc_equation_Indind.Z", "eq2-interp", "equality_tok_Indind.Nil@tok", "equality_tok_Indind.Z@tok", @@ -222,7 +222,7 @@ "subterm_ordering_Indind.Cons", "typing_tok_Indind.Nil@tok" ], 0, - "9c07162bdac63a94825dc439fb00d332" + "6ad094ce3c28596e6f2c040a51467251" ], [ "Indind.vdl_induction", @@ -251,7 +251,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "e7ed7b18da10fcec2bcef7acfbcea85b" + "2e6edac4bd8c423f7e9b538750193fe4" ], [ "Indind.vdl_induction", @@ -271,7 +271,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "010f393175d0547c264431e18ff74a97" + "6c2622968698eb50d699436bf6c27240" ], [ "Indind.vdl_induction", @@ -300,7 +300,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "352726199222839f05f1ff52d525c03c" + "7ba4951f6b1851e8ee05aa07c0175bc7" ], [ "Indind.vdl_induction", @@ -320,7 +320,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "805e107d820b192543a23454c98b6010" + "ba088fd9798ae118801f470c03d9dd9f" ], [ "Indind.vdl_induction", @@ -335,7 +335,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "60d321785393072824dc89c93a920907" + "3e51ae884d04b9829307f1da5fee0bcd" ], [ "Indind.vdl_induction", @@ -355,7 +355,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "322e2068d8812e928ad8d7aa2887c679" + "38d4e9d96aaa1abf1d41afebb3da4332" ], [ "Indind.vdl_induction", @@ -370,7 +370,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "cd3acb14e8af1be6eac5874c093191f2" + "12e0e38d99c918e25e9936a7a8898616" ], [ "Indind.vdl_induction", @@ -390,7 +390,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "3a041fe86fa6ee1650c4a1fa3a5510f3" + "aa020cd7c6e457e434879fcd831e6b7e" ], [ "Indind.vdl_induction", @@ -405,7 +405,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "05e8109024019d4f1279948f0e782b9e" + "823ec5f3b703ecb43e9a918e7bdbb590" ], [ "Indind.vdl_induction", @@ -425,7 +425,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "bf7b1b4d1466d853ad2bbf5f455b1dc2" + "f1ce9832f2f9f5e0d3be5de86cd7dbb9" ], [ "Indind.vdl_induction", @@ -440,7 +440,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "f9e25deb4323d1f665b7ab18a239c8dc" + "1d9cd789de01049b675f0a877b9f9044" ], [ "Indind.vdl_induction", @@ -460,7 +460,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "e1371d7c96c1b0172360ff8cc07d2579" + "951465303cd1608c4841e368205dd2ed" ], [ "Indind.vdl_induction", @@ -475,7 +475,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "72d24c1ab774f5c7fb62b13013f7a91f" + "7e792e348ab99a106433f7484f6da5f6" ], [ "Indind.vdl_induction", @@ -495,7 +495,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "c84575ad282490924d9d9f61035646ff" + "c03e8cf710e77fd1528986ca3b40c493" ], [ "Indind.vdl_induction", @@ -510,7 +510,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "4f462e3a0de4299d40cdc8390852ccd7" + "8ed0818615421129d15c5dcf21337a19" ], [ "Indind.vdl_induction", @@ -530,7 +530,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "f67a825d0a5d77499a6b52594150a613" + "ff7852e2fa18bdd55ad450d4dfd0feb2" ], [ "Indind.ctx0", @@ -539,7 +539,7 @@ 1, [ "@query" ], 0, - "9b545d634d0b12dbd67c304fd58d8d21" + "0be17de11d7cc95ebb5fbc939f23dcea" ], [ "Indind.__proj__ConsCtx__item__g", @@ -552,7 +552,7 @@ "refinement_interpretation_Tm_refine_e3baa197ad5eea1780d7a86146099756" ], 0, - "219113000ab7b4d85f86fa77e1e415b0" + "aa1c4463fb6c122b73aaa5bf280ddc9e" ], [ "Indind.__proj__ConsCtx__item__a", @@ -565,7 +565,7 @@ "refinement_interpretation_Tm_refine_e3baa197ad5eea1780d7a86146099756" ], 0, - "caa8c9bf084708f3404cbe3beaf61601" + "58a9596c7e4546db8c5927e9c93393ae" ], [ "Indind.__proj__Unit__item__g", @@ -578,7 +578,7 @@ "refinement_interpretation_Tm_refine_0dc85a3677e9bc75ef37439f19783424" ], 0, - "2147e6f207e3febc6a62c534d54396da" + "da48eeb0c24d377de98a3dc28b3b5b7f" ], [ "Indind.__proj__Bool__item__g", @@ -591,7 +591,7 @@ "refinement_interpretation_Tm_refine_ea431236476936535bf46955fedbfdc2" ], 0, - "23d34ef62e4c67ecd1cf864769c928c6" + "434c771982dd99d4adefeb7e181e6288" ], [ "Indind.__proj__Prod__item__g", @@ -604,7 +604,7 @@ "refinement_interpretation_Tm_refine_3c79ee0fccfffabe0477a0ac05c33065" ], 0, - "913a87edd42a1a1cdb77add254b8562a" + "c85bc73c95abcca663746e6d5cc91bbd" ], [ "Indind.__proj__Prod__item__a", @@ -617,7 +617,7 @@ "refinement_interpretation_Tm_refine_3c79ee0fccfffabe0477a0ac05c33065" ], 0, - "82025a6d318f9ef72da24e2f95133e6b" + "300f145c5f2efd3e9c400ba415b1e6ad" ], [ "Indind.__proj__Prod__item__b", @@ -630,7 +630,7 @@ "refinement_interpretation_Tm_refine_3c79ee0fccfffabe0477a0ac05c33065" ], 0, - "5f979b256f52299715b572d3d7739938" + "a372944d748ae02f8024dad5e332b98d" ], [ "Indind.__proj__U__item__g", @@ -643,7 +643,7 @@ "refinement_interpretation_Tm_refine_0443c2448a0ac6491f3d06f4a4d5008d" ], 0, - "3ba4460ed6a1cc62eead250290d5e480" + "f135a871e55bba5df02e2e23e1fc1964" ], [ "Indind.__proj__Var__item__g", @@ -656,7 +656,7 @@ "refinement_interpretation_Tm_refine_caae48ea10f3641ef7ea72ad50f19db4" ], 0, - "a258fe5aa711c12702226c49fad84eb2" + "035cbc484a7c522a6370814ee2a688ac" ], [ "Indind.__proj__Var__item___1", @@ -669,7 +669,7 @@ "refinement_interpretation_Tm_refine_caae48ea10f3641ef7ea72ad50f19db4" ], 0, - "9f7cfcc34e394d98be9c1c0f55838552" + "348744d6655652f387afa2d5fbc94ce8" ], [ "Indind.__proj__UHere__item__g", @@ -682,7 +682,7 @@ "refinement_interpretation_Tm_refine_6d034f126c626bc9c0962d683e6b9995" ], 0, - "45fca11543cc5611ca72007c1b22e72f" + "6be65fc4271aabb83359e204a0666269" ], [ "Indind.__proj__UNext__item__g", @@ -695,7 +695,7 @@ "refinement_interpretation_Tm_refine_696eac43ea98aadff1ccb166db0c0ee6" ], 0, - "83d4ed3e33030384cbd9fbe38c9409ec" + "f65e757104bb3522fccd6ffbbed93fbc" ], [ "Indind.__proj__UNext__item__a", @@ -708,7 +708,7 @@ "refinement_interpretation_Tm_refine_696eac43ea98aadff1ccb166db0c0ee6" ], 0, - "3a7441d441a7055e9b9c2c5f456558fc" + "f6ccbc1621124c6f5ae494e9106aa39c" ], [ "Indind.__proj__UNext__item___2", @@ -721,7 +721,7 @@ "refinement_interpretation_Tm_refine_696eac43ea98aadff1ccb166db0c0ee6" ], 0, - "3f57c6e4e5f59fcc51b3451bfddcb368" + "a91f6b5d8e350dc579400ec77e03648d" ], [ "Indind.ctx_valid", @@ -739,7 +739,7 @@ "subterm_ordering_Indind.ConsCtx", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "6af991e5967e603fbebbecda36d6eaa3" + "b1d0ba9be455f34f499aa699fcb3448b" ], [ "Indind.ctx_valid", @@ -762,7 +762,7 @@ "subterm_ordering_Indind.Var", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "a7d47acc4be52b50265d0c363f66249e" + "0f2f78a9be7f817ca4e574f0259711d0" ], [ "Indind.ctx_valid", @@ -782,7 +782,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "5dda89f0d3bb8127c02b105047123b8c" + "635ff64f3ac3b1636e44b7e2021dbcda" ], [ "Indind.empty_ctx", @@ -798,7 +798,7 @@ "true_interp", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "c1882ff660046b2bd8cbf1497d759420" + "1adc2751a90298eb7e4a1d62cf84cfae" ], [ "Indind.cons_ctx", @@ -821,7 +821,7 @@ "refinement_interpretation_Tm_refine_f441914d47c90ea32f27f2a05474ce96" ], 0, - "d75618927c869b07c540fb8f61ab937e" + "53b3248909c00618160d83079011e958" ], [ "Indind.unit", @@ -843,7 +843,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "741a9f41189982c1287f2989dc453e2f" + "b68afeb7b27d3b148cd73ede4edf8434" ], [ "Indind.bool", @@ -865,7 +865,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "c990acc33c019477eda78fdb5c9c752c" + "a57af1e9d69aa7ec6879a28b71a3f6e2" ], [ "Indind.prod", @@ -893,7 +893,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "fab2b70243965f9fa5bc58c2fd82ed92" + "400186058f3d42253655281e3187c744" ], [ "Indind.u", @@ -915,7 +915,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "505d08740fd62c7c92ec888729b36624" + "0ad8a6ea73f0585a8080d7e778c3d861" ], [ "Indind.var", @@ -942,7 +942,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "762d6bdd3b7771277e7c6b66aebc8f0f" + "6d0497f900111c8bee64e2053724e1fd" ], [ "Indind.u_here", @@ -966,7 +966,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "b542513ed864cde9a36089efd431ff28" + "cbe45b56a7f2ace99086376086fd1a53" ], [ "Indind.u_next", @@ -999,7 +999,7 @@ "typing_Indind.cons_ctx", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "b29ebed8ce9282950cca01cb4a111328" + "e6aefd7a275a9ba2cf9d79a6ae8d43c5" ], [ "Indind.vdl0", @@ -1008,7 +1008,7 @@ 1, [ "@query" ], 0, - "179b2566d87f4d9281e6282ff2cf89b3" + "cfdd24820bd033eafba0d63b700f6556" ], [ "Indind.__proj__Cons__item__tail", @@ -1021,7 +1021,7 @@ "refinement_interpretation_Tm_refine_f2b0a695d9cf05c47cf3e9edd0a8491e" ], 0, - "097043195e537dd01a487a67cbdbdb3f" + "b922042f62a008b435cc3ecbc10cb60a" ], [ "Indind.__proj__Cons__item___1", @@ -1034,7 +1034,7 @@ "refinement_interpretation_Tm_refine_f2b0a695d9cf05c47cf3e9edd0a8491e" ], 0, - "14588fa2fb6fe9b5833cf9b44f51243c" + "4472b93bc9993838756ed610afcee09a" ], [ "Indind.__proj__S__item__l", @@ -1047,7 +1047,7 @@ "refinement_interpretation_Tm_refine_2a5da96b896242ec4724a0edc1956d4a" ], 0, - "4482a571d355e503ebe7398bccbbd03a" + "ee1af23dab9226768faeb7d182ea07ac" ], [ "Indind.__proj__S__item__x", @@ -1060,7 +1060,7 @@ "refinement_interpretation_Tm_refine_2a5da96b896242ec4724a0edc1956d4a" ], 0, - "238f31a5b5f3b848bd4b7c713bfa8a1e" + "9eb1f24581f04ce3d8058d18f163fbdc" ], [ "Indind.vdl_valid", @@ -1079,7 +1079,7 @@ "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "0224c92d60785266fb30791a1579098f" + "14e014607ea180548b3e2b7ea3f90803" ], [ "Indind.vdl_valid", @@ -1099,7 +1099,7 @@ "typing_tok_Indind.Z@tok" ], 0, - "9bef66649c0383b7703065289c8822be" + "20673fecd8c80df1c2e4319aed15bd7b" ], [ "Indind.vdl_induction", @@ -1130,7 +1130,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "d424b763c04740c7889cdb447b199ba3" + "b97cd44e9706cd2698af4a83f966ea71" ], [ "Indind.vdl_induction", @@ -1143,7 +1143,7 @@ "@fuel_correspondence_Indind.vdl_valid.fuel_instrumented", "@fuel_irrelevance_Indind.content_valid.fuel_instrumented", "@query", "Indind_pretyping_c036994c42c57d1c399c8bad9fcec1c8", - "binder_x_efff607bddf601ce83b409dae3f152e3_6", + "binder_x_9deb54e5638969c5c40d598c80f71413_6", "constructor_distinct_Indind.Cons", "constructor_distinct_Indind.Nil", "disc_equation_Indind.Cons", "disc_equation_Indind.Nil", "eq2-interp", @@ -1161,7 +1161,7 @@ "typing_tok_Indind.Nil@tok" ], 0, - "0fbc6c6493ba31245733a36b44eadd21" + "4a5ee156ecb66b3a03a75fe5458d1b0c" ], [ "Indind.vdl_induction", @@ -1192,7 +1192,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "cb3f4106afb99999e03c9fef82c50951" + "edcdd6d292c61c3dff5e61e60339dc42" ], [ "Indind.vdl_induction", @@ -1206,8 +1206,8 @@ "@fuel_irrelevance_Indind.content_valid.fuel_instrumented", "@fuel_irrelevance_Indind.vdl_valid.fuel_instrumented", "@query", "Indind_pretyping_c036994c42c57d1c399c8bad9fcec1c8", - "binder_x_bec68c6c6ec838c7b0d79919e8a74b07_7", - "binder_x_efff607bddf601ce83b409dae3f152e3_6", + "binder_x_9deb54e5638969c5c40d598c80f71413_6", + "binder_x_e5a1e0108979f3214409b56f719f3a62_7", "constructor_distinct_Indind.S", "disc_equation_Indind.S", "disc_equation_Indind.Z", "eq2-interp", "equality_tok_Indind.Nil@tok", "equality_tok_Indind.Z@tok", @@ -1222,7 +1222,7 @@ "subterm_ordering_Indind.Cons", "typing_tok_Indind.Nil@tok" ], 0, - "5184ad290390b2f3f6d50621e0c0a2bb" + "f4136afe26015e2ad317a29252b0a9df" ], [ "Indind.vdl_induction", @@ -1237,7 +1237,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "ae4da860dfc3e95b800a1061d20358ed" + "2a89ddaaffd887f59f40565405897282" ], [ "Indind.vdl_induction", @@ -1257,7 +1257,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "9ff9f7336343c8a122e1a37c29b136f0" + "d3288814ba42c0cd55b2b51698c4b7dc" ], [ "Indind.vdl_induction", @@ -1272,7 +1272,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "2fedb45f6e411bf57ddf2b049e7bc5c2" + "7fa8cb71e2dbc0f450c7d864e4d9da7d" ], [ "Indind.vdl_induction", @@ -1292,7 +1292,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "30cf727b40a33f852840899006fbd760" + "40a607e0b554f0d959878da0127bcaa0" ], [ "Indind.vdl_induction", @@ -1307,7 +1307,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "fd57c78427b52dbbf56749aee4df131b" + "32f296604e40240b1756cd3f797dde8c" ], [ "Indind.vdl_induction", @@ -1327,7 +1327,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "e241b26fb9791423ab6a70c4ad4accc0" + "f5577a1b7fc144ad1b919933ebc29177" ], [ "Indind.vdl_induction", @@ -1342,7 +1342,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "b6628dbf3992fcbd63bed904ec12c541" + "e7369d691bf1745576a5cd44c8719eeb" ], [ "Indind.vdl_induction", @@ -1362,7 +1362,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "cda500c09e7f92380d97e0ccedf36e00" + "570a1a5fabe57d18f6ce04ed3b5bbd4e" ], [ "Indind.vdl_induction", @@ -1377,7 +1377,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "c1f0737048d37a69d79677981a5e741c" + "3d6c11f7090397cefbe5b555df9b3c12" ], [ "Indind.vdl_induction", @@ -1397,7 +1397,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "14451ee685ff6dad303c893af123c38d" + "3030a9330b4e5aeab707ee960cc1b1f4" ], [ "Indind.vdl_induction", @@ -1412,7 +1412,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "4e42bb8bca79d460bf1f262e70cdb82f" + "799999381fe81e19e2752d691f224651" ], [ "Indind.vdl_induction", @@ -1432,7 +1432,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "deb1642a12be75a103e7a333bd13cab5" + "cfa0398c84c32472232e090d21344f0a" ], [ "Indind.vdl_induction", @@ -1447,7 +1447,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "7364d3d536fc81afcbc7dc24faedf191" + "8c7dba49a86ed690dc545cca0611d730" ], [ "Indind.vdl_induction", @@ -1467,7 +1467,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "ab998c455e6f4d4af5e0ba3fe1b776f7" + "dc87ac99ec95e0afa50f46b32881a630" ], [ "Indind.vdl_induction", @@ -1482,7 +1482,7 @@ "true_interp", "typing_tok_Indind.Nil@tok" ], 0, - "bc5263774bb137c3cee15642325b5363" + "48070c5696b7e33cea800b85537f0b15" ], [ "Indind.vdl_induction", @@ -1502,7 +1502,7 @@ "true_interp", "typing_tok_Indind.Nil@tok", "typing_tok_Indind.Z@tok" ], 0, - "4b1329d0b95930a11d5386fc1b1305b0" + "b1af0e0ff09930626ae2904bcd49eb18" ], [ "Indind.ctx0", @@ -1511,7 +1511,7 @@ 1, [ "@query" ], 0, - "e0bbf26ba7c867635195576872c60c1b" + "aae2b7a4017dce9bd418b2c1713f8535" ], [ "Indind.__proj__ConsCtx__item__g", @@ -1524,7 +1524,7 @@ "refinement_interpretation_Tm_refine_e3baa197ad5eea1780d7a86146099756" ], 0, - "9277df95277cfea63bbbc689a17e7ef1" + "76e4f25a6f9c23f771a35330debbe77a" ], [ "Indind.__proj__ConsCtx__item__a", @@ -1537,7 +1537,7 @@ "refinement_interpretation_Tm_refine_e3baa197ad5eea1780d7a86146099756" ], 0, - "22d50298855b45371706fd3281cf050c" + "8640ab6f731b7ee864b38a15db3520e5" ], [ "Indind.__proj__Unit__item__g", @@ -1550,7 +1550,7 @@ "refinement_interpretation_Tm_refine_0dc85a3677e9bc75ef37439f19783424" ], 0, - "ba26d5fa1aefb66c4c25900783191ed7" + "f7195a1c0ba95acbf0f7a1711c12f738" ], [ "Indind.__proj__Bool__item__g", @@ -1563,7 +1563,7 @@ "refinement_interpretation_Tm_refine_ea431236476936535bf46955fedbfdc2" ], 0, - "34182c689fbd41d5a01a71f7d443e7d3" + "38103cfc92ca7bb93bbb11a3210376b2" ], [ "Indind.__proj__Prod__item__g", @@ -1576,7 +1576,7 @@ "refinement_interpretation_Tm_refine_3c79ee0fccfffabe0477a0ac05c33065" ], 0, - "655be7018ed5098def70c52e30e91ff8" + "87d7a5be1c9c2d3dfcd9086594140c90" ], [ "Indind.__proj__Prod__item__a", @@ -1589,7 +1589,7 @@ "refinement_interpretation_Tm_refine_3c79ee0fccfffabe0477a0ac05c33065" ], 0, - "46eeaf0938d7f94d7fa1d63c083c650d" + "75618672b05ed87ebdada841c690ed8d" ], [ "Indind.__proj__Prod__item__b", @@ -1602,7 +1602,7 @@ "refinement_interpretation_Tm_refine_3c79ee0fccfffabe0477a0ac05c33065" ], 0, - "296bb0cc9867d97f2ef9e65addf35d03" + "5508eac689621ec06c20968586a742bf" ], [ "Indind.__proj__U__item__g", @@ -1615,7 +1615,7 @@ "refinement_interpretation_Tm_refine_0443c2448a0ac6491f3d06f4a4d5008d" ], 0, - "10615036b249db6c9f966171c09a25d4" + "10baad1fd3b982de34b0e6568643b598" ], [ "Indind.__proj__Var__item__g", @@ -1628,7 +1628,7 @@ "refinement_interpretation_Tm_refine_caae48ea10f3641ef7ea72ad50f19db4" ], 0, - "fe5d6ed0389cb68ec7b4ab7c82374299" + "2cdd48362bcef6340c1cef44008f9268" ], [ "Indind.__proj__Var__item___1", @@ -1641,7 +1641,7 @@ "refinement_interpretation_Tm_refine_caae48ea10f3641ef7ea72ad50f19db4" ], 0, - "c673c80380b7fa7fc8c3cd391e40ffde" + "7840923c50f67640b34b29763e3b98e7" ], [ "Indind.__proj__UHere__item__g", @@ -1654,7 +1654,7 @@ "refinement_interpretation_Tm_refine_6d034f126c626bc9c0962d683e6b9995" ], 0, - "40c7ab9c9998634f79664ac4ed2ffb8c" + "dd97c64a1792e00f8968fc1da2f66d51" ], [ "Indind.__proj__UNext__item__g", @@ -1667,7 +1667,7 @@ "refinement_interpretation_Tm_refine_696eac43ea98aadff1ccb166db0c0ee6" ], 0, - "b5d4304ea19d1b0d671d5ddda240949f" + "759aa266c018d68f3cf2aa1c90d0c330" ], [ "Indind.__proj__UNext__item__a", @@ -1680,7 +1680,7 @@ "refinement_interpretation_Tm_refine_696eac43ea98aadff1ccb166db0c0ee6" ], 0, - "5855bf70812fa9a264ba6b1a97619668" + "1d0d3139499a8e01d721295e551d118a" ], [ "Indind.__proj__UNext__item___2", @@ -1693,7 +1693,7 @@ "refinement_interpretation_Tm_refine_696eac43ea98aadff1ccb166db0c0ee6" ], 0, - "3ef79a0a4c48659d9b5683cdc6e73036" + "6216ee9020a2858c1118cb6278040783" ], [ "Indind.ctx_valid", @@ -1711,7 +1711,7 @@ "subterm_ordering_Indind.ConsCtx", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "a47d84f7c6218c7cfaca1f61970e2840" + "c8765d446d82629b021651aeba1fc4aa" ], [ "Indind.ctx_valid", @@ -1734,7 +1734,7 @@ "subterm_ordering_Indind.Var", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "8956ba36bf65784e823675bfb9fad211" + "f58b8fd014da877c2502ec88c7f4ea9d" ], [ "Indind.ctx_valid", @@ -1754,7 +1754,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "ddb3de06793bbb59bbf610fee26fff5e" + "8801a261e8b6cd857f79cbf48e8f42ff" ], [ "Indind.empty_ctx", @@ -1770,7 +1770,7 @@ "true_interp", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "e24626441975ac17eb57a0597cf30b05" + "df179eb9a849d377451b9094f05ab91b" ], [ "Indind.cons_ctx", @@ -1793,7 +1793,7 @@ "refinement_interpretation_Tm_refine_f441914d47c90ea32f27f2a05474ce96" ], 0, - "98f415306a80bd52555b42afc6c88664" + "b1007fdc06bdcc90af9e5b2031540360" ], [ "Indind.unit", @@ -1815,7 +1815,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "7e83719e424e6edaabf61ccfceeaede4" + "396ba2990e3a6d5c6a760ce300f3dbb9" ], [ "Indind.bool", @@ -1837,7 +1837,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "e87827f777598bf4305aa4127b631f3e" + "df05a5e40cf5d663b51de0ffe8aa501b" ], [ "Indind.prod", @@ -1865,7 +1865,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "b63faabe1410de036514d6aa3d08b8af" + "169878a4071b7ff0748036672724a1fc" ], [ "Indind.u", @@ -1887,7 +1887,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "13e5ebf62c6c09068f1b1759b123a603" + "b2feffd9ce69f6707dc494fc183e935d" ], [ "Indind.var", @@ -1914,7 +1914,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "eeefef6b485b6bc7738e621902319dd7" + "fa4f011c1d15954f05c84e2cbbd50663" ], [ "Indind.u_here", @@ -1938,7 +1938,7 @@ "typing_tok_Indind.EmptyCtx@tok" ], 0, - "99a65f850c2e9d835d36e969fbb91d15" + "d99632100863b49efd9a901831a3a000" ], [ "Indind.u_next", @@ -1971,7 +1971,7 @@ "typing_Indind.cons_ctx", "typing_tok_Indind.EmptyCtx@tok" ], 0, - "20489c20874f4b7abff125ad8c47f0c3" + "3a2abbf7b163cc857b8d42b45352ff74" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/AssumeRequires.fst.hints b/examples/micro-benchmarks/AssumeRequires.fst.hints index 8a33f2eb708..98ca2ab5062 100644 --- a/examples/micro-benchmarks/AssumeRequires.fst.hints +++ b/examples/micro-benchmarks/AssumeRequires.fst.hints @@ -7,11 +7,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_55be818f8bfa7783140f53c8c7dfdd82" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_171102353e1b083f2928c7db4f12f64d" ], 0, - "5d9b92dfe088aefc46387997eb350c92" + "e4638851e1092b21c1059ab9221fe3e2" ], [ "AssumeRequires.get", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" ], 0, - "aea741909a3b79021a6d61ea7f30c869" + "33f987c0d4ec5419bd017f30c83b1a77" ], [ "AssumeRequires.get", @@ -38,7 +38,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e44bc22ffc78fb7660769e7dd0e2aa51" + "aa22a03ed221242ae83835bfe07c1618" ], [ "AssumeRequires.get_div", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" ], 0, - "72410094ca7fc01e6ff0f2e8f4f3d529" + "9f60bf7f537c1058a9fdc78314472de1" ], [ "AssumeRequires.get_div", @@ -66,7 +66,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "be627e6ecc9f85847651ba5a549b1245" + "579fe08586010585bc968c0cde3d92ce" ], [ "AssumeRequires.lem", @@ -75,10 +75,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5d8f0a2734545e1546b9478315116328" + "96aa014e8b402aeccf1d18aa123dbdfd" ], [ "AssumeRequires.lem", @@ -94,7 +94,7 @@ "projection_inverse_BoxBool_proj_0", "unit_inversion", "unit_typing" ], 0, - "24b4bd52548ced81f4c1cfbb74bda15b" + "3a32104271597a55ab73de7096b5d924" ], [ "AssumeRequires.get_ghost", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" ], 0, - "42d97c7d5443e1d5a292cea01f8cc52e" + "e8c84f99580d508afc358179c6990acb" ], [ "AssumeRequires.get_ghost", @@ -121,7 +121,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "4d602158784761c420e3231c285380eb" + "d5b167f625c0a0cb5b74bdb7759d1a06" ], [ "AssumeRequires.get_exn", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_1aa4ddd9449a841d91645885e773d708" ], 0, - "24f8dccf637250f634e7115f97f4b610" + "8f140f4e5cefbb323589555b45fe8c25" ], [ "AssumeRequires.get_exn", @@ -149,7 +149,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "ecc5552df9b10e6f42fe8d2178de109c" + "4cd8893d2931df6703828d2300782fcd" ], [ "AssumeRequires.get_st", @@ -158,10 +158,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_55be818f8bfa7783140f53c8c7dfdd82" + "refinement_interpretation_Tm_refine_8cfe70f96f95e8856e5cb7b580b983ec" ], 0, - "94538b16b83a62df2b57f45832ecc933" + "c38b89b0efc41e4daf4f83b469b695bb" ], [ "AssumeRequires.get_st", @@ -173,11 +173,11 @@ "disc_equation_FStar.Pervasives.Native.Some", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_55be818f8bfa7783140f53c8c7dfdd82", + "refinement_interpretation_Tm_refine_8cfe70f96f95e8856e5cb7b580b983ec", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "5500e132be6990e041d07a2d123977da" + "40622eda8e30f7f14c159d7ed678b46a" ], [ "AssumeRequires.get_all", @@ -186,11 +186,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_55be818f8bfa7783140f53c8c7dfdd82" + "refinement_interpretation_Tm_refine_7d6cce771b4c73ce62cb5d6b4190154a" ], 0, - "392c88237125375bbbb0deae4732364c" + "520b3b44d3edec9a996ad1b7be77280d" ], [ "AssumeRequires.get_all", @@ -201,14 +200,13 @@ "@MaxIFuel_assumption", "@query", "bool_inversion", "data_typing_intro_FStar.Pervasives.V@tok", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperStack.mem", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_55be818f8bfa7783140f53c8c7dfdd82", + "refinement_interpretation_Tm_refine_7d6cce771b4c73ce62cb5d6b4190154a", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "5676e0f3e42a74585b21f61f98bf897e" + "0eceb3e30d6918d01f570f5b3401ebe1" ], [ "AssumeRequires.well_typed", @@ -216,11 +214,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_55be818f8bfa7783140f53c8c7dfdd82" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_171102353e1b083f2928c7db4f12f64d" ], 0, - "c1bf5bbc50fab86b0351247e267014d5" + "d9d96564b6d021d3c4fdae9d5ea6004d" ], [ "AssumeRequires.get", @@ -235,7 +233,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "d576f894be2ec9c8a352c164241cf608" + "b724a44c277d1e1f22ea5a421b849ad5" ], [ "AssumeRequires.get_div", @@ -247,7 +245,7 @@ "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" ], 0, - "ba434d55fb1525c5918d4c8ddb100be2" + "8710af8f4da2379e8b6fd40ff769d686" ], [ "AssumeRequires.lem", @@ -256,10 +254,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e7d28364413aa728cf5ea65ef07d096c" + "0a1d091d11046653063bc228729216e5" ], [ "AssumeRequires.get_ghost", @@ -274,7 +272,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "1fb3ae340fb052e773d0b12d35743181" + "50c574b901c6407bd37aed1b27057dbb" ], [ "AssumeRequires.get_exn", @@ -286,7 +284,7 @@ "refinement_interpretation_Tm_refine_1aa4ddd9449a841d91645885e773d708" ], 0, - "14c1001bd1b90d05e4aa72cbc22d8abd" + "c610652e35bfaf3d7a8012d788985808" ], [ "AssumeRequires.get_st", @@ -295,10 +293,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_55be818f8bfa7783140f53c8c7dfdd82" + "refinement_interpretation_Tm_refine_8cfe70f96f95e8856e5cb7b580b983ec" ], 0, - "f81bc8f622264bec3445253e4b50d8b2" + "a4a6ed82f386aa2cfe7f8a22b54870e0" ], [ "AssumeRequires.get_all", @@ -307,11 +305,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_55be818f8bfa7783140f53c8c7dfdd82" + "refinement_interpretation_Tm_refine_7d6cce771b4c73ce62cb5d6b4190154a" ], 0, - "b2f37bd43cde3051b6cb8819771d77fa" + "bc70c47c9538631ca857ea19f4b780cf" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/DoNotation.fst.hints b/examples/micro-benchmarks/DoNotation.fst.hints index 21ae2472fd2..aa0b910ea9d 100644 --- a/examples/micro-benchmarks/DoNotation.fst.hints +++ b/examples/micro-benchmarks/DoNotation.fst.hints @@ -9,15 +9,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "e4cbba46830f8e0d631bffc3706ee59f" + "e20ba20dae2cf3378fbe971ab95bf909" ], [ "DoNotation.uu___23", @@ -32,7 +32,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "41cf23d07ef79e7e1995e92c32f75dd5" + "6285208042273b491dedb86ae7e269c6" ], [ "DoNotation.add", @@ -42,15 +42,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "95b05da6cd52e710d556146246109050" + "e27995e6fa5bbdc33cd653bb352302b6" ], [ "DoNotation.uu___23", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a713228458c15fdaebd81d8b8270a340" + "4fa230386804727d92ad548ccc76f65b" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/FirstProofs.fst.hints b/examples/micro-benchmarks/FirstProofs.fst.hints index b874377a8f6..b757832696d 100644 --- a/examples/micro-benchmarks/FirstProofs.fst.hints +++ b/examples/micro-benchmarks/FirstProofs.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "086f6a5015301d63d8e06b6d04dbc309" + "7568af4d462a0afa178f6ffdac19bbd4" ], [ "FirstProofs.factorial_is_positive", @@ -30,19 +28,19 @@ "@fuel_correspondence_FirstProofs.factorial.fuel_instrumented", "@fuel_irrelevance_FirstProofs.factorial.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "equation_with_fuel_FirstProofs.factorial.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1216492b2ae187548ac2b3a154606de3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cc98951263b359d7650ab45083f72aaa", "well-founded-ordering-on-nat" ], 0, - "95e43cd9928633b390d50010d88fada8" + "74ff1fc2276cded0cb6fb8cab14c730a" ], [ "FirstProofs.factorial_is_increasing", @@ -54,20 +52,20 @@ "@fuel_correspondence_FirstProofs.factorial.fuel_instrumented", "@fuel_irrelevance_FirstProofs.factorial.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a9e8551faf9e713c6c6badb1e0f387fd_0", "equation_Prims.nat", + "binder_x_cc4f0568bcfe0e328e96ec8a8f1cce9a_0", "equation_Prims.nat", "equation_with_fuel_FirstProofs.factorial.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ae8d7bc8e7cdbe001c7fb33d1c3618db", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c17178b821e20c435443603420b23ddd", + "refinement_interpretation_Tm_refine_45626e3fb191d65dc06c4dc9870b6b11", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a742c27047faf8f9a8f6263ecd2e6f8e", "well-founded-ordering-on-nat" ], 0, - "5ae672775d7721a39761ba0e355bd4bd" + "e480c62641b686e76f2067cb0fd5d3f2" ], [ "FirstProofs.factorial_is_doubling", @@ -79,20 +77,19 @@ "@fuel_correspondence_FirstProofs.factorial.fuel_instrumented", "@fuel_irrelevance_FirstProofs.factorial.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_18b8cdaa9703ee072f65ff44e771412a_0", "equation_Prims.nat", + "binder_x_341f51172cbc07bb6db29a15470e13c0_0", "equation_Prims.nat", "equation_with_fuel_FirstProofs.factorial.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c6b35ad0a703d7d5a0a68f196e3e7e06", - "token_correspondence_FirstProofs.factorial.fuel_instrumented", + "refinement_interpretation_Tm_refine_3fd582fff7abe35f926b0f5977b70ae5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "28cf02d6e91413b179f817e3c23a18b8" + "d5043ab8a4d14c2818ebbc8e0f0ddb5e" ], [ "FirstProofs.fibonacci", @@ -100,17 +97,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "4abc8a3ccdeb2645be450865523069aa" + "3fcf79944b6ff7382b1ed0b48c285325" ], [ "FirstProofs.fibonacci_is_increasing", @@ -121,21 +115,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FirstProofs.fibonacci.fuel_instrumented", "@fuel_irrelevance_FirstProofs.fibonacci.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "@query", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "equation_Prims.nat", "equation_with_fuel_FirstProofs.fibonacci.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d326adfc763244aad9cd18a05317116b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d6773504ead7ffb1521ad91f1b0cdeaa", "token_correspondence_FirstProofs.fibonacci.fuel_instrumented", "typing_FirstProofs.fibonacci", "well-founded-ordering-on-nat" ], 0, - "fbcd2956d78407b0f0b5f1c5582c2fe4" + "2f24446144e04af47ab9a13eb74285aa" ], [ "FirstProofs.factorial", @@ -144,17 +137,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "6251c9403006c10f42c536bfe4b28ae2" + "1ee8e66669f5ef8721207977cbb9161b" ], [ "FirstProofs.fibonacci", @@ -162,17 +153,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "7726a5d42d5384c3d200363221918225" + "690e3e93b63fc1e68b5ba8220ec1f9f1" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/IntNormalization.fst b/examples/micro-benchmarks/IntNormalization.fst index d658df5a84d..37859347a32 100644 --- a/examples/micro-benchmarks/IntNormalization.fst +++ b/examples/micro-benchmarks/IntNormalization.fst @@ -24,16 +24,10 @@ let by_red () : Tac unit = norm [primops; delta]; trivial () -let _ = assert_by_tactic (0ul = 0ul) - by_red -let _ = assert_by_tactic (0ul == 0ul) - by_red -let _ = assert_by_tactic (0ul === 0ul) - by_red - -let _ = assert_by_tactic (0ul <> 1ul) - by_red -let _ = assert_by_tactic (~(0ul == 1ul)) - by_red -let _ = assert_by_tactic (0ul =!= 1ul) - by_red +let _ = assert (0ul = 0ul) by by_red () +let _ = assert (0ul == 0ul) by by_red () +let _ = assert (0ul === 0ul) by by_red () + +let _ = assert (0ul <> 1ul) by by_red () +let _ = assert (~(0ul == 1ul)) by by_red () +let _ = assert (0ul =!= 1ul) by by_red () diff --git a/examples/micro-benchmarks/IntNormalization.fst.hints b/examples/micro-benchmarks/IntNormalization.fst.hints index 7f4707d296e..1d9903c82c7 100644 --- a/examples/micro-benchmarks/IntNormalization.fst.hints +++ b/examples/micro-benchmarks/IntNormalization.fst.hints @@ -1,5 +1,5 @@ [ - "$EB\u007fb&û¶(ô\u001bØ”Ú0Ñ", + "õˆ¨*ï8\u0000\u001c_5¥Ø’ª\u0017_", [ [ "IntNormalization.uu___2", @@ -8,16 +8,16 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq", "true_interp" ], 0, - "2a79dfa0d94a1971b841510a7dacb405" + "03c43837b8a3efd6dbc4c7f64c2f1cb5" ], [ - "IntNormalization.uu___5", + "IntNormalization.uu___11", 1, 2, 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq", "true_interp" ], 0, - "b2088cc0f5b62a347a098bfbf7f4192c" + "b96c3834296180c18bba60967a707cc3" ], [ "IntNormalization.uu___2", @@ -26,16 +26,16 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq", "true_interp" ], 0, - "4328f6c7a55b751b2c10c0e10f33b0e3" + "83e3d4de8af2c7ee4c71edf595751fb3" ], [ - "IntNormalization.uu___5", + "IntNormalization.uu___11", 2, 2, 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq", "true_interp" ], 0, - "678dc6411b1bf17b624aaf8ea7a20d16" + "97d5aecdc81274ac717e70604cc68972" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Mac.fst.hints b/examples/micro-benchmarks/Mac.fst.hints index 7d13f0656de..14debb29e01 100644 --- a/examples/micro-benchmarks/Mac.fst.hints +++ b/examples/micro-benchmarks/Mac.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d5f080c1563ac1d2a93b6e72ffb2646f" + "3a9c7343197607580fd815330f2cf4e4" ], [ "MAC.key", @@ -24,7 +24,7 @@ "@query", "equation_MAC.keysize", "projection_inverse_BoxInt_proj_0" ], 0, - "3ae1a68456dbf4a41a373078cc29abb8" + "40f2bf12dc3c0f94ceb2e8ce80a6be2e" ], [ "MAC.tag", @@ -35,7 +35,7 @@ "@query", "equation_MAC.macsize", "projection_inverse_BoxInt_proj_0" ], 0, - "5d84fd23347a75e1cc1f4558c0ab9138" + "934ed8b8cd507b4b339d27d9918e0503" ], [ "MAC.sha1verify", @@ -44,7 +44,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "424fd8b1ebc5cc45ae5cce63426df007" + "23d2b2b8c2c15cb97efdf1d65654ef44" ], [ "MAC.__proj__Entry__item__t", @@ -56,7 +56,7 @@ "projection_inverse_MAC.Entry_k" ], 0, - "de8433de93d019957fceb3f62eac3466" + "d0fc49dd509bac64d66771d98572dd0f" ], [ "MAC.mac", @@ -65,12 +65,12 @@ 1, [ "@query", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "equation_FStar.Heap.trivial_rel", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" ], 0, - "047536cf7a630b04d60619dabdcbbad9" + "cfffa8c2330198b2750da4444de2a477" ], [ "MAC.verify", @@ -79,7 +79,6 @@ 2, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt8.t__uu___haseq", "data_elim_FStar.Pervasives.Native.Some", "data_elim_MAC.Entry", "disc_equation_FStar.Pervasives.Native.Some", "equation_MAC.bytes", @@ -91,15 +90,15 @@ "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_eq_elim", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", + "refinement_interpretation_Tm_refine_24f96d372f056b2b001c8ca8c8aa6768", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_41dd6cceb17df1e54d0ecf64f0496d0f", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_f16bc6d060834fc8a7755be1bcd69222", - "refinement_interpretation_Tm_refine_f904f6c16e829f6df71f9c4ec26e4ace", + "refinement_interpretation_Tm_refine_96807bd778933bec2f93da500e3a6d12", + "refinement_interpretation_Tm_refine_a3cce69ec80854392e6eeb250cd85695", "typing_FStar.Seq.Base.eq" ], 0, - "d84d445d38d39c059a79b0a10c6ee440" + "40f8881d0d27dd9c4a6d5fd273fddcde" ], [ "MAC.nbytes", @@ -109,11 +108,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a14c266469e262bdf526aa340690c0a8" + "f63bc7b22e0470a51367cd1fb3795b10" ], [ "MAC.key", @@ -124,7 +123,7 @@ "@query", "equation_MAC.keysize", "projection_inverse_BoxInt_proj_0" ], 0, - "e7cc49d77a836a875c322d9e6dfb35ec" + "d52771f8983ba550f790cb4a80ed37cd" ], [ "MAC.tag", @@ -135,7 +134,7 @@ "@query", "equation_MAC.macsize", "projection_inverse_BoxInt_proj_0" ], 0, - "477bdf0828306ceee41d7de9e3900691" + "b25a9e1dd992ae2b710162c71e63435d" ], [ "MAC.sha1verify", @@ -144,7 +143,7 @@ 1, [ "@query", "assumption_FStar.UInt8.t__uu___haseq" ], 0, - "e35217a9403682ae03fdbf966be392d2" + "fba1e41f6a24258cc6cb33ceaf5ab8aa" ], [ "MAC.__proj__Entry__item__t", @@ -156,7 +155,7 @@ "projection_inverse_MAC.Entry_k" ], 0, - "1e01041bd590fbd94ef396689d14fecd" + "84e153e596525f27e034632a6f800338" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Makefile b/examples/micro-benchmarks/Makefile index 7049221cab0..e0881837bb2 100644 --- a/examples/micro-benchmarks/Makefile +++ b/examples/micro-benchmarks/Makefile @@ -13,10 +13,7 @@ else NEGTESTS=3 endif -all: uall - -uall: all-pos - +$(MAKE) -C friends all-dirs +all: all-pos MustEraseForExtraction.uver: OTHERFLAGS += --warn_error @318 @@ -32,7 +29,7 @@ all-pos: Unit1.Basic.uver Unit1.Projectors2.uver Unit1.WPsAndTriples.uver Unit1. NegativeTests.Bug260.uver NegativeTests.Neg.uver NegativeTests.Termination.uver \ NegativeTests.False.uver NegativeTests.Set.uver NegativeTests.Positivity.uver \ NegativeTests.ZZImplicitFalse.uver StableErr.uver ChrisCheck.uver PatCoerce.uver \ - OccursCheckOnArrows.uver Test.Integers.uver AnotType.uver Test.ReifyNBE.fst TestHasEq.uver \ + OccursCheckOnArrows.uver Test.Integers.uver AnotType.uver Test.ReifyNBE.uver TestHasEq.uver \ PatAnnot.uver TupleSyntax.uver Test.FunctionalExtensionality.uver ArgsAndQuals.uver Test.Printf.uver \ MustEraseForExtraction.uver UnifyReify.uver NestedLemma.uver NormTypesForSMT.uver diff --git a/examples/micro-benchmarks/NegativeTests.BST.fst.hints b/examples/micro-benchmarks/NegativeTests.BST.fst.hints index 4f77bf9623e..3d0746f872e 100644 --- a/examples/micro-benchmarks/NegativeTests.BST.fst.hints +++ b/examples/micro-benchmarks/NegativeTests.BST.fst.hints @@ -12,7 +12,7 @@ "int_inversion", "kinding_NegativeTests.BST.tree@tok" ], 0, - "de1807dca71170e8670708ce5197ac7e" + "68bc9a8f8f1529af1e1bae7f381f0831" ], [ "NegativeTests.BST.__proj__Leaf__item__n", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_c89ea22d08945e60fddbf2e1bfa3e94f" ], 0, - "4e5762b0a9e266f431d29bf45edf48e2" + "ae2e448f8877efeafaea238bbb37d8b9" ], [ "NegativeTests.BST.__proj__Node__item__l", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "560b2f74cc6b54f4441f8ee954bd6599" + "c38e27e7022b1b7973d924849336da9b" ], [ "NegativeTests.BST.__proj__Node__item__left", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "0c4184c6c329504f104f8c20fe6c30da" + "cc13a9b4f0060c1bb78f67fa7b0900b4" ], [ "NegativeTests.BST.__proj__Node__item__n", @@ -70,7 +70,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "891d2d41516e0cfed63bffe974d896eb" + "9c7aff5fb7487d5151d13ad4a1598762" ], [ "NegativeTests.BST.__proj__Node__item__r", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "90f3237f57cc40e6978757a1c52b5c9d" + "c96ea21f48f1e6f8362493ecdd52a082" ], [ "NegativeTests.BST.__proj__Node__item__right", @@ -111,7 +111,7 @@ "typing_FStar.Pervasives.Native.uu___is_None" ], 0, - "eddd9859cbb0f6db391fe438f8bde2bb" + "413e527083590a6fa741107273c2ced2" ], [ "NegativeTests.BST.test_node_1", @@ -125,7 +125,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "bbbedfe22a2af98b84ad6bbb21c9b144" + "8f34414bb7c1785d1b16eee97c1e690b" ], [ "NegativeTests.BST.test_node_2", @@ -142,7 +142,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "ace5eef8535ded3c0de180c0568f06d1" + "945c8d2ebb85621635ed67d45caeb40d" ], [ "NegativeTests.BST.test_node_3", @@ -157,7 +157,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d741a000a95fb80a56cdc5ff1de65fe6" + "fddf5271be4df3a0dd9721e10ff50cdf" ], [ "NegativeTests.BST.tree", @@ -170,7 +170,7 @@ "int_inversion", "kinding_NegativeTests.BST.tree@tok" ], 0, - "80a4fadf17b34c31987115ec492fe7eb" + "547ee76c37693341952cbd963516070b" ], [ "NegativeTests.BST.__proj__Leaf__item__n", @@ -184,7 +184,7 @@ "refinement_interpretation_Tm_refine_c89ea22d08945e60fddbf2e1bfa3e94f" ], 0, - "ba4da63db55da39f1433e0017fed4ff7" + "4fcd3ef90eb50851a5b5f9cc0fe9f9e0" ], [ "NegativeTests.BST.__proj__Node__item__l", @@ -198,7 +198,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "32a531691f6aff8355322f87a6dab611" + "9a9d9b11d5e1c8cd750f43273f239801" ], [ "NegativeTests.BST.__proj__Node__item__left", @@ -214,7 +214,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "12c4e22328d97fa668facdca5a6f8604" + "29462df1e59ed036a6ae942f62189457" ], [ "NegativeTests.BST.__proj__Node__item__n", @@ -228,7 +228,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "645ce4cfd1c10c5bc194eefd36719001" + "90c20d9b6392261dcab261283faa536c" ], [ "NegativeTests.BST.__proj__Node__item__r", @@ -242,7 +242,7 @@ "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" ], 0, - "70d3008b3dbf5c5f8eeb6bb55f1b018b" + "d1d12e729bfbf487c66c42df57d6b00d" ], [ "NegativeTests.BST.__proj__Node__item__right", @@ -269,7 +269,7 @@ "typing_FStar.Pervasives.Native.uu___is_None" ], 0, - "17c6f69b49f5915e42da7fa0610aefa1" + "96b6d43cd6a7641b391069d3def56fed" ], [ "NegativeTests.BST.test_node_1", @@ -283,7 +283,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "b46d4d3a51b07c37b4e358599e7a4a02" + "e3ab7fdad132a5ef4daaba372db299a7" ], [ "NegativeTests.BST.test_node_2", @@ -300,7 +300,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "3c077c3d8cf35270b02e7d7904359fe4" + "565620b5007ee7afe7c4efcba8e92cae" ], [ "NegativeTests.BST.test_node_3", @@ -315,7 +315,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0ab677be17f4c683da0654c7e3ee24a6" + "7221e0fb7e175122a1fbe5b51b332ec8" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/NegativeTests.Bug260.fst.hints b/examples/micro-benchmarks/NegativeTests.Bug260.fst.hints index 814fcddd4ec..cb069be481f 100644 --- a/examples/micro-benchmarks/NegativeTests.Bug260.fst.hints +++ b/examples/micro-benchmarks/NegativeTests.Bug260.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "238149d935c3f14b59839f35ba55d4a5" + "f284dd86d54f9b604a870ea6669d2094" ], [ "NegativeTests.Bug260.__proj__S__item___0", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_c7798980fdaa69b62544817f36c3402f" ], 0, - "a460ec220f25966f8784f4bdc73173a2" + "25a3077bbfb5a346a21ba5e466f6407f" ], [ "NegativeTests.Bug260.validity", @@ -31,7 +31,7 @@ 1, [ "@query", "assumption_NegativeTests.Bug260.pnat__uu___haseq" ], 0, - "9ad83a927f991ed4b0d23a92ad6530d1" + "57381213892cfccd5d821b17f789d928" ], [ "NegativeTests.Bug260.pnat", @@ -40,7 +40,7 @@ 1, [ "@query" ], 0, - "5d6c7d10e7dbf3640169822ad0420005" + "cd338eec2ec30df34847adab52abba5e" ], [ "NegativeTests.Bug260.__proj__S__item___0", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_c7798980fdaa69b62544817f36c3402f" ], 0, - "5edf0d74b548268df9e70b767bfab7ff" + "799be032b1b698902ffc518d9033f1a9" ], [ "NegativeTests.Bug260.validity", @@ -63,7 +63,7 @@ 1, [ "@query", "assumption_NegativeTests.Bug260.pnat__uu___haseq" ], 0, - "ecd647bc2d2093ec005e8c7c53ceb130" + "2cd387e1f8dd4da4fa547150d3285c19" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/NegativeTests.False.fst.hints b/examples/micro-benchmarks/NegativeTests.False.fst.hints index 6793ed2173f..d80e3d02c5d 100644 --- a/examples/micro-benchmarks/NegativeTests.False.fst.hints +++ b/examples/micro-benchmarks/NegativeTests.False.fst.hints @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6bf7e0d19c9816135a96d2d4a380fa10" + "refinement_interpretation_Tm_refine_85721560a0c745412eef4b2aa333de58" ], 0, - "dfd570cfd18da3dd383f3dbe2e8e38b9" + "d35fc67a5913ab0c38b8f048677c75ab" ], [ "NegativeTests.False.f", @@ -22,11 +22,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.l_True", "equation_Prims.squash", "function_token_typing_Prims.unit", - "haseqTm_refine_8d65e998a07dd53ec478e27017d9dba5", + "haseqTm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8ceeefcb8fe35bf64cdd715079f2cb9b" + "8c3a5ecf65ceb0eaf30350f1ca669a5c" ], [ "NegativeTests.False.f", @@ -35,7 +35,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], 0, - "e5bb58f03129b6364abec5befccef357" + "8737e514ecbfeb573beaaf6213240746" ], [ "NegativeTests.False.foo", @@ -44,10 +44,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6bf7e0d19c9816135a96d2d4a380fa10" + "refinement_interpretation_Tm_refine_85721560a0c745412eef4b2aa333de58" ], 0, - "f6866e1fdf88dae57952a55c4dfc1b63" + "faa9310953967667c11581af55f23488" ], [ "NegativeTests.False.f", @@ -58,11 +58,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.l_True", "equation_Prims.squash", "function_token_typing_Prims.unit", - "haseqTm_refine_8d65e998a07dd53ec478e27017d9dba5", + "haseqTm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "39a257eec1543c0f2d520d705a8a2220" + "da90bf1f64693824d66a5dbfdfd397f7" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/NegativeTests.Neg.fst.hints b/examples/micro-benchmarks/NegativeTests.Neg.fst.hints index e4b2cc2087f..c11ec75b0b6 100644 --- a/examples/micro-benchmarks/NegativeTests.Neg.fst.hints +++ b/examples/micro-benchmarks/NegativeTests.Neg.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "86e98592c2e8eebcc9038c351026cd0c" + "dbc920bb38394d6dcc1da5ed76459d7d" ], [ "NegativeTests.Neg.test_label", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "aa074ff5e565e2d518cf5173ea9ce2bf" + "9bd8b70ccac3f01c9df1bf15563fd70c" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/NegativeTests.Positivity.fst.hints b/examples/micro-benchmarks/NegativeTests.Positivity.fst.hints index 880dedf3b46..c3cbafaba8b 100644 --- a/examples/micro-benchmarks/NegativeTests.Positivity.fst.hints +++ b/examples/micro-benchmarks/NegativeTests.Positivity.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_b87d6bbfde336dc7bda327a6b8b57fe0" ], 0, - "598be58f9f6ce06f9d1061b217dcea34" + "0da2f30c12effc77ff52079b6d66c3cc" ], [ "NegativeTests.Positivity.__proj__C42__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" ], 0, - "ffd22a5510a93a08f618094ab4c681bd" + "b6dc28aa0daf82d8ec93b3de8954dd91" ], [ "NegativeTests.Positivity.__proj__C42__item___1", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" ], 0, - "b0a08f5cf222cc32b837fa6132486a68" + "5146202a05c592bf0cde4942e19b91b1" ], [ "NegativeTests.Positivity.__proj__C61__item___0", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" ], 0, - "9395a450d046c7f701aba9c90dda664f" + "cd4ad926e528038651d89c731bceb00f" ], [ "NegativeTests.Positivity.__proj__C61__item___1", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" ], 0, - "35bc4c35582b42958a98ad102d2f0d5d" + "03288b46f26ae4910fb46a6cf7d25579" ], [ "NegativeTests.Positivity.__proj__C41__item___0", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_b87d6bbfde336dc7bda327a6b8b57fe0" ], 0, - "85d633270190429ef3f9156524358d70" + "2472d908f0817d593b370c19204eaa14" ], [ "NegativeTests.Positivity.__proj__C42__item___0", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" ], 0, - "fcdd9fb3ef33329ee27ecb32b4210ebc" + "153bc45443f02299075d3a2b442319dc" ], [ "NegativeTests.Positivity.__proj__C42__item___1", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" ], 0, - "a7d9ed53aa650c8da1fcdc18d28043d6" + "2101417d3d405ae888b28df2b136b5fd" ], [ "NegativeTests.Positivity.__proj__C61__item___0", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" ], 0, - "f34cc500410df73c31ee8763828d4ba2" + "12772aacbf8efbac617dd1b2e5298d51" ], [ "NegativeTests.Positivity.__proj__C61__item___1", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" ], 0, - "c17c3124edc38c4b380cbee4d1f5b296" + "147ebd6ab3352ae73be0c8217d78a8d3" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/NegativeTests.Termination.fst.hints b/examples/micro-benchmarks/NegativeTests.Termination.fst.hints index 8cdfcac1b6b..f954d37a07c 100644 --- a/examples/micro-benchmarks/NegativeTests.Termination.fst.hints +++ b/examples/micro-benchmarks/NegativeTests.Termination.fst.hints @@ -9,16 +9,16 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "a627dc972f36d58eb070303d3f7f25ec" + "a99179ee4e2697840a03918ce6b79d8b" ], [ "NegativeTests.Termination.snat", @@ -27,7 +27,7 @@ 1, [ "@query" ], 0, - "835cc16a8048cae6a5406b6b842b798b" + "096b2e19dec09cde547abd5144d50d8a" ], [ "NegativeTests.Termination.__proj__S__item___0", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_58d69b53f68a55a0902003d29e7d86f7" ], 0, - "86e2bc8245b5d89b8bf1fc20dfd85f53" + "478a04303b154067fe857e8c08781620" ], [ "NegativeTests.Termination.sumto", @@ -51,16 +51,16 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "e86a96169f9ad6b8c093e98f6893c811" + "b9a489a9f742e828fd9764947aae3bf2" ], [ "NegativeTests.Termination.snat", @@ -69,7 +69,7 @@ 1, [ "@query" ], 0, - "bbd7eb291b6e0f08b994b50ef3571b2f" + "c2e336394410b0f1ac47c491d1211bdb" ], [ "NegativeTests.Termination.__proj__S__item___0", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_58d69b53f68a55a0902003d29e7d86f7" ], 0, - "72c474c2f93ff402fe79714120a67a93" + "17bb5d5de45b7541984f15167671e873" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/NestedLemma.fst.hints b/examples/micro-benchmarks/NestedLemma.fst.hints index 068bf63fe5f..27bef7d8498 100644 --- a/examples/micro-benchmarks/NestedLemma.fst.hints +++ b/examples/micro-benchmarks/NestedLemma.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "39c7874fcdcf9679ff6f422bab6e7745" + "277d319aae399acb7579e12111da3fba" ], [ "NestedLemma.test", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "4b72fa299b62f98ed11fb1e9050c665d" + "d6b436c82095cf5fffac71e833272728" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/NormTypesForSMT.fst.hints b/examples/micro-benchmarks/NormTypesForSMT.fst.hints index 99a332a5303..53cab86e5d5 100644 --- a/examples/micro-benchmarks/NormTypesForSMT.fst.hints +++ b/examples/micro-benchmarks/NormTypesForSMT.fst.hints @@ -14,7 +14,7 @@ "equation_NormTypesForSMT.d_" ], 0, - "44bef623eed9494603a97b330ce757f5" + "207918626078cc2deaf39fb88ab64199" ], [ "NormTypesForSMT.test", @@ -29,7 +29,7 @@ "equation_NormTypesForSMT.d_" ], 0, - "aa8f01a8b0a75a1e715ab7a3195cd07c" + "f618eb5582e521b18e9f967eb0efba82" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/NormVsSMT.fst b/examples/micro-benchmarks/NormVsSMT.fst index 205a99dd24f..b767d0baf77 100644 --- a/examples/micro-benchmarks/NormVsSMT.fst +++ b/examples/micro-benchmarks/NormVsSMT.fst @@ -26,8 +26,12 @@ let _ = assert_norm (True \/ True) (* val l1 : (a : Type) -> Lemma (a ==> squash a) *) (* let l1 a = assert_norm (a ==> squash a) *) +(* This needs the validity axioms to succeed *) +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" val l2 : (a : Type) -> Lemma (squash a ==> a) let l2 a = assert_norm (squash a ==> a) +#pop-options + // Why does the third one need SMT and not the second? Investigate let _ = assert_norm (1 = 1) diff --git a/examples/micro-benchmarks/NormVsSMT.fst.hints b/examples/micro-benchmarks/NormVsSMT.fst.hints index 5e469866604..7b8504910a2 100644 --- a/examples/micro-benchmarks/NormVsSMT.fst.hints +++ b/examples/micro-benchmarks/NormVsSMT.fst.hints @@ -1,5 +1,5 @@ [ - "¢Ý`‡\u0016Qm–Ï:9 >\u000f‹`", + "+\u001a»‹˜õí#‡\u0014ÓSq…N", [ [ "NormVsSMT.l2", @@ -8,12 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "43782b3638993965390199278b48583d" + "792b1e831aed2a9f8f4929a2d6825fb3" ], [ "NormVsSMT.uu___5", @@ -22,7 +20,7 @@ 1, [ "@query" ], 0, - "4fc52464224a81ae7625ce784b4b42af" + "a6a1805c3e7a35c9b007317837347f86" ], [ "NormVsSMT.uu___6", @@ -31,7 +29,7 @@ 1, [ "@query" ], 0, - "bc3abe61939919e9bd30c4862ae13f44" + "5f2c1367fe1e379ab2381abfb5bb4f24" ], [ "NormVsSMT.uu___7", @@ -40,7 +38,7 @@ 1, [ "@query" ], 0, - "f262e1ca271f0f3a849c78bec34a4e09" + "2b7de247a297ee7e8a1f124a6811c4cb" ], [ "NormVsSMT.uu___11", @@ -49,10 +47,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_417497e72c9ba78cde76740d8f1356ba" + "refinement_interpretation_Tm_refine_1780a0fddfda88c43d203b562c6d3f5b" ], 0, - "2f53a1c8bf29b166afbc8c84118c90f3" + "a98e19de4cfae2d54c973a23c38fbaab" ], [ "NormVsSMT.uu___14", @@ -61,7 +59,7 @@ 1, [ "@query", "equation_NormVsSMT.trigger", "int_typing" ], 0, - "c4299b145ecd0bd89b4f5be663853c1a" + "4dae3228bd40b58ff2e45e35abeb8b6d" ], [ "NormVsSMT.uu___5", @@ -70,7 +68,7 @@ 1, [ "@query" ], 0, - "9b8ab5ddef495c64e76cec7baf17684f" + "452e557835bca818ed7402c011229d2e" ], [ "NormVsSMT.uu___6", @@ -79,7 +77,7 @@ 1, [ "@query" ], 0, - "70fae845913be3a6cff7bd5b58852384" + "cc2027881ac3b0d7970340de4d63dc7f" ], [ "NormVsSMT.uu___7", @@ -88,7 +86,7 @@ 1, [ "@query" ], 0, - "ade7a896ce3f95a3a141769c1a6cba47" + "78ed90d7654661f42f54c37de8d9db86" ], [ "NormVsSMT.uu___11", @@ -97,10 +95,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_417497e72c9ba78cde76740d8f1356ba" + "refinement_interpretation_Tm_refine_1780a0fddfda88c43d203b562c6d3f5b" ], 0, - "a4cd25da07ffa0b7175d29edd97e364a" + "341d25effe9343cacd9e12fd2f159088" ], [ "NormVsSMT.uu___14", @@ -109,7 +107,7 @@ 1, [ "@query", "equation_NormVsSMT.trigger", "int_typing" ], 0, - "e1bbf23551f0857b51e588f8dc4c1a7c" + "6b31ce0d43ca4a6c315ed1153c1e4170" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Normalization.fst.hints b/examples/micro-benchmarks/Normalization.fst.hints index 414a2e069c0..acb3268ff33 100644 --- a/examples/micro-benchmarks/Normalization.fst.hints +++ b/examples/micro-benchmarks/Normalization.fst.hints @@ -8,7 +8,7 @@ 0, [ "@query" ], 0, - "a00060d95da9b266be65fa39b25ddbc7" + "4cca347f1caa906d77283e4e6f838aaf" ], [ "Normalization.id", @@ -16,17 +16,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "e2975b17fff3ad9ef054e18b9f98fba1" + "122be2b524ac7683c83ab911d511c56f" ], [ "Normalization.test2", @@ -35,7 +32,7 @@ 0, [ "@query" ], 0, - "fe19a7e40d293008069ecdf0da542f0f" + "1f18241dac21d681e8ac9fc14afe3305" ], [ "Normalization.pow2_values", @@ -44,7 +41,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "cce74fbf4955a36fd85cc08a98fc84eb" + "67a6cc5f5d1fa6924d07e390d9bf912b" ], [ "Normalization.test_sort", @@ -58,7 +55,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fb46c9784fdd98f5c0073fa494ac06c3" + "e8979a0de36b3eaeb37d0f9341b10e95" ], [ "Normalization.test_sort1", @@ -72,7 +69,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "618115598a979393c0351775412bfb87" + "1eecf6893cc1f03982cf141e597c1715" ], [ "Normalization.f_1529_3", @@ -80,14 +77,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "function_token_typing_Normalization.f_1529", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_d043881a492feb079f99a347e342e079" + "@query", "function_token_typing_Normalization.f_1529", + "interpretation_Tm_abs_8284a06c98cf4d08ee876bb3cd7024dc" ], 0, - "ca27ac809191473b444eebb27d85e5e6" + "c8c05228ca8f490290a0b9c897ad647c" ], [ "Normalization.id", @@ -95,17 +89,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "c6e3fb1c1ac77073fe585b7c5d7a2a09" + "05c4e830b85c8b49c80bf1ce41598ef3" ], [ "Normalization.test_sort", @@ -119,7 +110,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c8045bf06909f7e8b58b168ab36fe604" + "46c52aa18f03b1bff0ab6090b622224b" ], [ "Normalization.test_sort1", @@ -133,7 +124,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d40e38cd654c5a896f694ff0f00d102a" + "623b56cd7581d8ccaf88ec9703512992" ], [ "Normalization.f_1529_3", @@ -141,14 +132,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "function_token_typing_Normalization.f_1529", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_d043881a492feb079f99a347e342e079" + "@query", "function_token_typing_Normalization.f_1529", + "interpretation_Tm_abs_8284a06c98cf4d08ee876bb3cd7024dc" ], 0, - "6e1aef86296148892fc3a395ebfccbfc" + "f3ed2addce86f1f761ccf42954313acf" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/PatAnnot.fst.hints b/examples/micro-benchmarks/PatAnnot.fst.hints index 3438fd1d767..717533d79b0 100644 --- a/examples/micro-benchmarks/PatAnnot.fst.hints +++ b/examples/micro-benchmarks/PatAnnot.fst.hints @@ -10,10 +10,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0e753da7fcea3206ef789db9e50d03ee" + "d52c59490ea9de01e54f14faa939f3c7" ], [ "PatAnnot.test4", @@ -30,7 +30,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "9f67954bb4d31a976c7216fc3240dc13" + "a5451be9880e526a38f9e891e3edffb4" ], [ "PatAnnot.test2", @@ -41,10 +41,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e098dcab1de83d6fbed37e40d6166c22" + "81a7d24ea6068e788928dbcb674622e8" ], [ "PatAnnot.test4", @@ -61,7 +61,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "844984488d5e78c8a338bb98c78a8d73" + "9415966ba7fb0f960ce69b0f1bf59890" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Positivity.fst.hints b/examples/micro-benchmarks/Positivity.fst.hints index e6df03ac716..3e00e83f77d 100644 --- a/examples/micro-benchmarks/Positivity.fst.hints +++ b/examples/micro-benchmarks/Positivity.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "872dd910f178cb1b7e597dc57b96b197" + "fea891c67301a11122d428fcd9ac8c67" ], [ "Positivity.__proj__MCons__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_00cc95768cae04bdad385f349f0eb239" ], 0, - "b530830bea97fe6804e9c650e313a7e9" + "08dc70a1860aca151e5b0cb97a75441c" ], [ "Positivity.__proj__MCons__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_00cc95768cae04bdad385f349f0eb239" ], 0, - "84f552ebff5a5a7ec5bd00d5043d5cf5" + "c086f9139b728a8b36ecaac6b5662b03" ], [ "Positivity.__proj__NCons__item___0", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_b1f025c1267dea430ff99e02f912bf79" ], 0, - "4f3840b6467af9faf71d67f53c14b793" + "1274aec456496ff2116427fec983bb70" ], [ "Positivity.__proj__NCons__item___1", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_b1f025c1267dea430ff99e02f912bf79" ], 0, - "8e4fb72432e4ab0d6275ef8d2b0bb0fc" + "d7cc8148c8afd9e3b657a39ff0a3cac4" ], [ "Positivity.l_868", @@ -74,7 +74,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4f39000bb1fb91a9532cb072ebb74699" + "0e808d92e765d288fcfb65ff7b182b92" ], [ "Positivity.essai_868", @@ -92,7 +92,7 @@ "typing_Positivity.l_868" ], 0, - "f737f1d44a7d396dae3add7abffb34c4" + "8c921ae0e32a9438c4e060ba4c6fb226" ], [ "Positivity.mlist", @@ -101,7 +101,7 @@ 1, [ "@query" ], 0, - "b1f466b13a47e704539e1fecab82ff79" + "f4f89250265addb11818b4054b17e5ea" ], [ "Positivity.__proj__MCons__item___0", @@ -114,7 +114,7 @@ "refinement_interpretation_Tm_refine_00cc95768cae04bdad385f349f0eb239" ], 0, - "15692bdfac7c5d2a3fb40f0e3f67d347" + "d77886e0c2e81d4e5756e1e43b164480" ], [ "Positivity.__proj__MCons__item___1", @@ -127,7 +127,7 @@ "refinement_interpretation_Tm_refine_00cc95768cae04bdad385f349f0eb239" ], 0, - "a993d6001b3ff165241bad8be1de3165" + "92a04330f4c93f212ab04e9fb4050200" ], [ "Positivity.__proj__NCons__item___0", @@ -140,7 +140,7 @@ "refinement_interpretation_Tm_refine_b1f025c1267dea430ff99e02f912bf79" ], 0, - "3d209d4a0b73f2c4ad6bd5d9690720f0" + "f3c8aaa8eac7da4d9200c76a4f4803a3" ], [ "Positivity.__proj__NCons__item___1", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_b1f025c1267dea430ff99e02f912bf79" ], 0, - "8212bf4b2c3498c56898fa23a0778c9a" + "c07d61e2f2484b271e7c6fe11399a1ca" ], [ "Positivity.l_868", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ba40195b0879fdfcb4c5fd597cbecb97" + "27005b5b00b8d1dd07020e857753f4fe" ], [ "Positivity.essai_868", @@ -185,7 +185,7 @@ "typing_Positivity.l_868" ], 0, - "9d1df7f57cbd46247d826e7a1f640f8a" + "06684fa55e205f59c6995510d3bd325a" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Pruning.fst.hints b/examples/micro-benchmarks/Pruning.fst.hints index 543a6fbccca..cf6c6e3ce06 100644 --- a/examples/micro-benchmarks/Pruning.fst.hints +++ b/examples/micro-benchmarks/Pruning.fst.hints @@ -7,10 +7,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -22,18 +19,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_81746e462692213c028719b75d01a164", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "7b65f9b21a763877def11abaf2938f24" + "c3785596fa0d8e0349b881a3b9b958b9" ], [ "Pruning.lemma", @@ -41,18 +38,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_81746e462692213c028719b75d01a164", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length" ], 0, - "60c15d20460868acc015c73006ac777a" + "8bcec8a8865e1dcacc678fe7e5dd0b97" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Raising.fst.hints b/examples/micro-benchmarks/Raising.fst.hints index 187da85a98d..fd1fb106bbb 100644 --- a/examples/micro-benchmarks/Raising.fst.hints +++ b/examples/micro-benchmarks/Raising.fst.hints @@ -20,7 +20,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "8a2f559bc424ab556e186cff5fd27ab5" + "85335d13c6176e0457a53da3202c9a12" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/RangeStep.fst.hints b/examples/micro-benchmarks/RangeStep.fst.hints index 57fb4b49c46..dd70135febe 100644 --- a/examples/micro-benchmarks/RangeStep.fst.hints +++ b/examples/micro-benchmarks/RangeStep.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_30105c1426a2dffc017b47ba8a15b498" ], 0, - "1c9e7598ad8dc3e8f10c7503d810eb24" + "96bbdad02993722a70f5c4554abecc21" ], [ "RangeStep.__proj__Failed__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_933a2345b5e878accdf9565aab041e3d" ], 0, - "2ad15a5d436f13b88490d4a0eda35baf" + "c016ccf2181c66d17c5a043665767042" ], [ "RangeStep.bind", @@ -34,14 +34,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "RangeStep_interpretation_Tm_arrow_4ce1d595eabf6dbb8ca05c1bc44adac1", + "RangeStep_interpretation_Tm_arrow_814c564a07615031ba408e0d9f3d0c14", "disc_equation_RangeStep.Failed", "disc_equation_RangeStep.Success", "equation_RangeStep.tac", "fuel_guarded_inversion_RangeStep.result", "typing_FStar.Range.prims_to_fstar_range", "typing_RangeStep.set_proofstate_range" ], 0, - "72e5df262219d9ecbfeca4fc4f1e37fe" + "b8048ddf0aafa58dff3a2610a88f3099" ], [ "RangeStep.__proj__Success__item___0", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_30105c1426a2dffc017b47ba8a15b498" ], 0, - "693430cc809e48c8b56a98eaf55d7e2f" + "0303c33a167089290b08c433e273d20a" ], [ "RangeStep.__proj__Failed__item___0", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_933a2345b5e878accdf9565aab041e3d" ], 0, - "887a930949e6bb6ceac208d6a36d6cb3" + "36492d0cdb02d4cefcf34255a4c2da8d" ], [ "RangeStep.bind", @@ -76,14 +76,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "RangeStep_interpretation_Tm_arrow_4ce1d595eabf6dbb8ca05c1bc44adac1", + "RangeStep_interpretation_Tm_arrow_814c564a07615031ba408e0d9f3d0c14", "disc_equation_RangeStep.Failed", "disc_equation_RangeStep.Success", "equation_RangeStep.tac", "fuel_guarded_inversion_RangeStep.result", "typing_FStar.Range.prims_to_fstar_range", "typing_RangeStep.set_proofstate_range" ], 0, - "425668dddd45505d492954543cd46f8b" + "7247fc670a1f3d7f444c6d92151d7c0a" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Test.FunctionalExtensionality.fst.hints b/examples/micro-benchmarks/Test.FunctionalExtensionality.fst.hints index f09fbc269b5..7fa9c2fdd5f 100644 --- a/examples/micro-benchmarks/Test.FunctionalExtensionality.fst.hints +++ b/examples/micro-benchmarks/Test.FunctionalExtensionality.fst.hints @@ -8,31 +8,34 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Test.FunctionalExtensionality_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Test.FunctionalExtensionality.f", "int_inversion", - "interpretation_Tm_abs_2f8d5aea36a0e923f753193796278d1c", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", + "interpretation_Tm_abs_d28f38ba11bb810de36e822e960dcddd", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Test.FunctionalExtensionality.g", "typing_Test.FunctionalExtensionality.h", - "typing_Tm_abs_2f8d5aea36a0e923f753193796278d1c", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", + "typing_Tm_abs_d28f38ba11bb810de36e822e960dcddd" ], 0, - "02d9dbee90bfd9dce59f84567b8be9cf" + "35f364784845c58d714d95dbfdab93ff" ], [ "Test.FunctionalExtensionality.shrinking_domains_ok", @@ -41,20 +44,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", - "function_token_typing_Test.FunctionalExtensionality.g1", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "typing_Test.FunctionalExtensionality.g1" ], 0, - "ecec726dc7af7f910844e27f36a271b2" + "52a357e2870f8af4871d9085d935eb7f" ], [ "Test.FunctionalExtensionality.test_1542", @@ -63,7 +61,7 @@ 1, [ "@query" ], 0, - "fdcb60c53f3420964397049fadf5a877" + "4acf71ab6b862f24401510f0763fece7" ], [ "Test.FunctionalExtensionality.restricted_t_2_idem", @@ -73,12 +71,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4" + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" ], 0, - "072d402d99cfb4b6599e08f69bf7cbd8" + "82298db3182bb5c34cf3c3e7702e8cb9" ], [ "Test.FunctionalExtensionality.on_2_interp", @@ -87,24 +84,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Test.FunctionalExtensionality_interpretation_Tm_arrow_3cd5966b06d51ddd16177840ac4c042c", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Test.FunctionalExtensionality_interpretation_Tm_arrow_a15b7232b9450418501106922ece800a", "equation_FStar.FunctionalExtensionality.feq", "equation_Test.FunctionalExtensionality.on_2", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_b60bd8ac5d1ce0c2f38737831c228c02", - "interpretation_Tm_abs_c5bedeade5b2432853c969d8dc913acf", - "interpretation_Tm_abs_ef729c669b59d7371835b1011608f7bc", + "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", + "interpretation_Tm_abs_8a1913ab668eccf45d64a086a31b9ee1", + "interpretation_Tm_abs_aeea220d0385f55e5cf0750c5592cb08", + "interpretation_Tm_abs_e9b780d87b9e0e900694c1825f5011b6", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "token_correspondence_Test.FunctionalExtensionality.on_2", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_b60bd8ac5d1ce0c2f38737831c228c02", - "typing_Tm_abs_c5bedeade5b2432853c969d8dc913acf", - "typing_Tm_abs_ef729c669b59d7371835b1011608f7bc" + "typing_Tm_abs_134069e179ddf4705519081c391c4e10", + "typing_Tm_abs_8a1913ab668eccf45d64a086a31b9ee1", + "typing_Tm_abs_aeea220d0385f55e5cf0750c5592cb08", + "typing_Tm_abs_e9b780d87b9e0e900694c1825f5011b6" ], 0, - "c55890d94ff4e23c04925b8ee95cd6f8" + "3e50a382aa3a28dc568e9b72f6bd8f9c" ], [ "Test.FunctionalExtensionality.needs_explicit_coercion", @@ -113,23 +110,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", "equation_FStar.FunctionalExtensionality.is_restricted", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "interpretation_Tm_abs_2f8d5aea36a0e923f753193796278d1c", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", + "interpretation_Tm_abs_fe1329e4eb0e5867f47cbc40ae23746e", "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_2f8d5aea36a0e923f753193796278d1c" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" ], 0, - "978d577ae28b6d87d12ac191f424519b" + "b0287003e14ad057092862405fc4659a" ], [ "Test.FunctionalExtensionality.sub_currently_not_why", @@ -138,24 +137,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "interpretation_Tm_abs_2f8d5aea36a0e923f753193796278d1c", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", + "interpretation_Tm_abs_fe1329e4eb0e5867f47cbc40ae23746e", "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_2f8d5aea36a0e923f753193796278d1c" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" ], 0, - "ab88a82c944333b88457ce1bca2b2b6f" + "6174fe53607d2543a0553f364f13adb6" ], [ "Test.FunctionalExtensionality.on_dom_transitivity_of_equality", @@ -164,31 +164,34 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Test.FunctionalExtensionality_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Test.FunctionalExtensionality.f", "int_inversion", - "interpretation_Tm_abs_2f8d5aea36a0e923f753193796278d1c", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", + "interpretation_Tm_abs_d28f38ba11bb810de36e822e960dcddd", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Test.FunctionalExtensionality.g", "typing_Test.FunctionalExtensionality.h", - "typing_Tm_abs_2f8d5aea36a0e923f753193796278d1c", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", + "typing_Tm_abs_d28f38ba11bb810de36e822e960dcddd" ], 0, - "9b5a7b0cb3f569d6d77632a62353caf8" + "0304bc0d0871718596b4d76311df095c" ], [ "Test.FunctionalExtensionality.shrinking_domains_ok", @@ -197,20 +200,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", - "function_token_typing_Test.FunctionalExtensionality.g1", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "typing_Test.FunctionalExtensionality.g1" ], 0, - "575044a72715fead28c82f207fb5c054" + "2b539e7b8f11d0b72f2b9d4b992d458f" ], [ "Test.FunctionalExtensionality.test_1542", @@ -219,7 +217,7 @@ 1, [ "@query" ], 0, - "c30e116babe87b420dd6f9887b8c9720" + "3bda27c236e1946f579a75fb26e813e6" ], [ "Test.FunctionalExtensionality.needs_explicit_coercion", @@ -228,23 +226,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", "equation_FStar.FunctionalExtensionality.is_restricted", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "interpretation_Tm_abs_2f8d5aea36a0e923f753193796278d1c", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", + "interpretation_Tm_abs_fe1329e4eb0e5867f47cbc40ae23746e", "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_2f8d5aea36a0e923f753193796278d1c" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" ], 0, - "cce5668316f123e2c71081b150cccc86" + "069934dcee9dbf7f3d669034292d7aeb" ], [ "Test.FunctionalExtensionality.sub_currently_not_why", @@ -253,24 +253,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "interpretation_Tm_abs_2f8d5aea36a0e923f753193796278d1c", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", + "interpretation_Tm_abs_fe1329e4eb0e5867f47cbc40ae23746e", "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_2f8d5aea36a0e923f753193796278d1c" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" ], 0, - "c0a775664484f5be4c4123ff071b9705" + "9e9c9ee48026a797a66c780016f4400a" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Test.HyperStack.fst.hints b/examples/micro-benchmarks/Test.HyperStack.fst.hints index 0689574beb8..1e1d22cb4c3 100644 --- a/examples/micro-benchmarks/Test.HyperStack.fst.hints +++ b/examples/micro-benchmarks/Test.HyperStack.fst.hints @@ -12,12 +12,12 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9f7c0e33327880f92c4f679b04383ba0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_77d6c8e013b14e7bcc36518b73395f10", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "30ff2f77615c620bbe39329a916835e7" + "5c5d2bdeb173d666eed69b6cef4a5525" ], [ "Test.HyperStack.test1", @@ -32,15 +32,15 @@ "equation_FStar.Monotonic.HyperStack.mem", "lemma_FStar.Monotonic.HyperHeap.root_is_root", "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9f7c0e33327880f92c4f679b04383ba0", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_77d6c8e013b14e7bcc36518b73395f10", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_stack_region" ], 0, - "f4176d9ffe486b82fdd4d8ff425badc3" + "f1c1df1d8b80ad33898587636f4fe269" ], [ "Test.HyperStack.test2", @@ -53,13 +53,13 @@ "equation_FStar.Monotonic.HyperStack.sid", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_d9ecb114f9e47d4857aebe5d54eaadad", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_a5b46786944acc16cc4fe92ba9a698b9", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "ecddf830e0ed38f1e1c93e37217a48dd" + "e5e7e3716ab93d4d8c8f059ce71d6974" ], [ "Test.HyperStack.dc_elim", @@ -69,11 +69,11 @@ [ "@MaxIFuel_assumption", "@query", "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", - "refinement_interpretation_Tm_refine_1f280a87e1b98f79d3dac344a394dd1e", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01" + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_645daf543db7209ab47300e6c88dad99" ], 0, - "63831356f8b1f540a2b47a75287db15c" + "6ec6e24e288a016a46eb0b379a0fc448" ], [ "Test.HyperStack.test3", @@ -93,14 +93,14 @@ "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ecd73d3a86c9e7c9a464006de307b5a5", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_f7803bdde8b6839e42390e041b4e70af", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "a45cc88b9c3b18e156beac5503e3aac4" + "5297255dc359d89b3fcf924395c5257b" ], [ "Test.HyperStack.test4", @@ -119,16 +119,16 @@ "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8ff976a193f9a61e2d3927ee29bb5edb", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_201c3c2608dd2ddfbda81578176cc2d7", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.is_stack_region" ], 0, - "f41a91b168aad83dadc2c50f2f7df73d" + "71df1be26ce2dee2220b7fc366791341" ], [ "Test.HyperStack.stronger_fresh_region_was_redundant", @@ -140,7 +140,7 @@ "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant" ], 0, - "d8681ff5fbbcfead034a0415fc32124f" + "bfe94f58d051f6c8b8c0244bd8651a94" ], [ "Test.HyperStack.test5", @@ -148,12 +148,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.live_region", @@ -161,10 +159,9 @@ "equation_FStar.Monotonic.HyperStack.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -179,14 +176,14 @@ "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", @@ -198,7 +195,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "e5a065e0acda2dc83f020a875efb1b36" + "9c23c8f5c4b64accbaa363bdc98980bd" ], [ "Test.HyperStack.test_do_nothing", @@ -206,8 +203,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -218,9 +214,7 @@ "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", @@ -234,15 +228,8 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", @@ -255,7 +242,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "567046b588fa03536a7cc51da55bc14e" + "1cbaa7fc991c3a8a6e59912dd4d6515d" ], [ "Test.HyperStack.test_do_something", @@ -299,19 +286,12 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0a57b08acd03f726c781eb6d56c1d62a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7c7e316625bf5749e33b6cfc4aee180d", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", @@ -328,7 +308,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "36442d6fff99149ff92b2a427cf3ed73" + "b0e024ad2b5df9aa48f524f7c8da56e6" ], [ "Test.HyperStack.test_do_something_else", @@ -337,9 +317,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.HyperStack.ST.equal_domains", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.is_live_for_rw_in", "equation_FStar.HyperStack.ST.mstackref", "equation_FStar.Monotonic.Heap.equal_dom", @@ -347,7 +326,6 @@ "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", @@ -369,8 +347,6 @@ "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", "lemma_FStar.Set.lemma_equal_elim", @@ -380,22 +356,14 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_11815357fd56c921bd36dd9004d3ac62", - "refinement_interpretation_Tm_refine_1d30bd7bd8847d37deb7f60b5d8ed49f", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_6e82c4fe4f3cfa8ddf13af2dff40c22c", + "refinement_interpretation_Tm_refine_75eda4ddf1514dcd885832d9e6ba112a", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", @@ -417,7 +385,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "1554b76e7dff1921af66e128722abd3a" + "37051e5fd45ad26e1c054c195db80577" ], [ "Test.HyperStack.test_allocate", @@ -445,12 +413,11 @@ "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.l_True", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -467,20 +434,13 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_409bc789decd6bd955d2ffac5e1223d1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", + "refinement_interpretation_Tm_refine_52adbcc5120b9f24f066605394aa85fe", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", @@ -498,7 +458,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "085c7270bdd2e604ebee4f6e10baf6de" + "434747e6f527e092caf03db61ad65105" ], [ "Test.HyperStack.test_nested_stl", @@ -507,7 +467,7 @@ 1, [ "@query" ], 0, - "2a69b927e6270f11375f3d0d067e3cce" + "55a59d5a18e1a9ea2ae0064ef2ae0f4a" ], [ "Test.HyperStack.test_nested_stl2", @@ -515,8 +475,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.fresh_frame", @@ -526,9 +485,7 @@ "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -543,15 +500,8 @@ "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.emp", @@ -565,7 +515,7 @@ "typing_FStar.Set.singleton" ], 0, - "a285c49bd820c054fd083dea4a991a0a" + "823c581896a13080fbfeca20ec4f42f2" ], [ "Test.HyperStack.test_stack", @@ -574,8 +524,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", "equation_FStar.HyperStack.ST.equal_domains", @@ -601,12 +550,11 @@ "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.l_True", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -631,21 +579,14 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_09df673f28f06f16f0f1c8201a3ff630", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_131e770cef4d346f450559d124ae4297", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", @@ -668,7 +609,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "536bf5a20da5ddb5fc1b144e4289b93b" + "0a5a97445005d97581a2ceecf550045c" ], [ "Test.HyperStack.test_stack_with_long_lived", @@ -677,9 +618,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.HyperStack.ST.equal_domains", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.is_live_for_rw_in", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.Heap.equal_dom", @@ -710,7 +650,7 @@ "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelConcat1", "lemma_FStar.Map.lemma_SelConcat2", "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", @@ -730,20 +670,13 @@ "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_11815357fd56c921bd36dd9004d3ac62", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6636788f4b5d4541e4026434b316a38f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_75eda4ddf1514dcd885832d9e6ba112a", + "refinement_interpretation_Tm_refine_b30f5c3d35800ce02e466e06a8e659f2", "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", @@ -768,7 +701,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "718df43a2ee434f27df4c567fbfbe1e4" + "188edc0fc854707de436b544541c75b7" ], [ "Test.HyperStack.test_heap_code_with_stack_calls", @@ -778,7 +711,6 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", @@ -801,12 +733,11 @@ "equation_FStar.Monotonic.HyperStack.modifies_transitively", "equation_FStar.Monotonic.HyperStack.mref", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.l_True", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -826,17 +757,14 @@ "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05bc334238c091d24e4ed3e648b202ad", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_3b8a5cb83f79097414e60b0bacd6babf", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_3e29a123a81b1efe1fbb1504425e0f59", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b655fe253be98144eafe01f5d9147df", - "refinement_interpretation_Tm_refine_6de531f05fa5c5829a29a850f356b23f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_c66dfda7f93911ac8fcc8dddd7a9bb5c", + "refinement_interpretation_Tm_refine_9ab2938802636d8d4f057f2ba6ba44a9", + "refinement_interpretation_Tm_refine_c0d3772a9648dd83d333f4e841be06a8", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", @@ -856,7 +784,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "2c56ffb177014d028b6d7300e59b8bdb" + "c84a3aaa32cff1acb74ac401868ce1ae" ], [ "Test.HyperStack.test_heap_code_with_stack_calls_and_regions", @@ -865,9 +793,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", @@ -890,18 +817,18 @@ "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.modifies_transitively", "equation_FStar.Monotonic.HyperStack.mref", + "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.upd", "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.l_True", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelConcat1", "lemma_FStar.Map.lemma_SelConcat2", "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", @@ -912,21 +839,19 @@ "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05bc334238c091d24e4ed3e648b202ad", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_3e90ae9b880d7c840910236ee9ddadf4", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_6b655fe253be98144eafe01f5d9147df", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_c66dfda7f93911ac8fcc8dddd7a9bb5c", + "refinement_interpretation_Tm_refine_9ab2938802636d8d4f057f2ba6ba44a9", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", @@ -947,7 +872,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "1cd98b3110d04e9a8107477e06e2a218" + "6018ed2f64ae8365a6ffddc64ff71ccb" ], [ "Test.HyperStack.test_lax_code_with_stack_calls_and_regions", @@ -956,8 +881,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.Heap.trivial_preorder", @@ -980,17 +904,17 @@ "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.modifies_transitively", "equation_FStar.Monotonic.HyperStack.mref", + "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.pop", "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.l_True", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -1009,25 +933,20 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_1980adb4aab367044e4ecf6994fc69c7", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_6b655fe253be98144eafe01f5d9147df", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", + "refinement_interpretation_Tm_refine_9ab2938802636d8d4f057f2ba6ba44a9", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", @@ -1051,7 +970,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "32ae5e99712a332a79a8d21f8d300c51" + "fefcc2b43a45ecf86ad8b836759e9f26" ], [ "Test.HyperStack.test_lax_code_with_stack_calls_and_regions_2", @@ -1060,8 +979,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.Heap.trivial_preorder", @@ -1084,18 +1002,18 @@ "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.modifies_transitively", "equation_FStar.Monotonic.HyperStack.mref", + "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.pop", "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_FStar.Monotonic.HyperStack.upd", "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.l_True", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -1113,24 +1031,19 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_1980adb4aab367044e4ecf6994fc69c7", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_6b655fe253be98144eafe01f5d9147df", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_9ab2938802636d8d4f057f2ba6ba44a9", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", @@ -1153,7 +1066,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "8933e7f4e1d529d1ea64ff64d36a0476" + "63b1326e7024f53eae824e3d29143b22" ], [ "Test.HyperStack.test_to_be_stack_inlined", @@ -1162,8 +1075,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", "equation_FStar.HyperStack.ST.equal_domains", @@ -1186,18 +1098,17 @@ "equation_FStar.Monotonic.HyperStack.mstackref", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.l_True", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", @@ -1205,17 +1116,14 @@ "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_409bc789decd6bd955d2ffac5e1223d1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", + "refinement_interpretation_Tm_refine_52adbcc5120b9f24f066605394aa85fe", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", @@ -1228,11 +1136,10 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "c5a5345b89e0325b44565ea3552d0a01" + "6f042ccb3ad8e10ed3127f8bbccedd14" ], [ "Test.HyperStack.test_stack_function_with_inline", @@ -1241,8 +1148,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", @@ -1281,19 +1187,12 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", @@ -1311,7 +1210,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "e1bcc5f97856ed42630037bb304872d2" + "e8af09c702ff0598acf9d0678743711e" ], [ "Test.HyperStack.test_st_function_with_inline", @@ -1351,16 +1250,9 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", @@ -1373,7 +1265,7 @@ "typing_FStar.Set.union" ], 0, - "5d6e1ec22087bcb6d8c88dce9397843a" + "6276f80d7eddc2e5081bbfe0d7d93371" ], [ "Test.HyperStack.test_to_be_inlined", @@ -1404,13 +1296,13 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mref", "equation_FStar.Monotonic.HyperStack.mstackref", + "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.l_True", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_stack_regions_intro", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.Map.lemma_ContainsDom", @@ -1419,23 +1311,22 @@ "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0c61ed66f1cd0c5a01a5cc451101f9e8", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_409bc789decd6bd955d2ffac5e1223d1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", + "refinement_interpretation_Tm_refine_4adbd4e8be8e0e2c3bdcd70053e1e6c2", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", @@ -1449,7 +1340,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "837bc87d7079d87715025e31ad4ddd99" + "da19cc597c6aacc904daa3479e3cc83b" ], [ "Test.HyperStack.test_st_function_with_inline_2", @@ -1458,8 +1349,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.inline_inv", @@ -1499,19 +1389,12 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", @@ -1528,7 +1411,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "f129a45f1fa3f6782afe8fc3de6dbb8c" + "3257108ff0f1958bf1aba2c7febf34a6" ], [ "Test.HyperStack.with_frame", @@ -1538,12 +1421,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.poppable", - "refinement_interpretation_Tm_refine_6a06166666e1554fc56a4b17e6d25d25" + "refinement_interpretation_Tm_refine_84acff27f7e89d6fa6a0f8d221b6aaf1" ], 0, - "ecda9e8dab96a144e161984f2f18135f" + "5a2fdef0820514d667c323468f27d29e" ], [ "Test.HyperStack.with_frame", @@ -1551,8 +1433,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.fresh_frame", @@ -1562,9 +1443,7 @@ "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -1579,17 +1458,10 @@ "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_557d46919d3626ac17d05f14a46b11ea", - "refinement_interpretation_Tm_refine_6a06166666e1554fc56a4b17e6d25d25", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_84acff27f7e89d6fa6a0f8d221b6aaf1", + "refinement_interpretation_Tm_refine_b16bf82b210653a34e4d7322fab91ffb", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.emp", @@ -1603,7 +1475,7 @@ "typing_FStar.Set.singleton" ], 0, - "2a13de7cc4fe90ded875039cc9aa7f01" + "6b8e1fe4ae56e36591f4cd49dbf9e53a" ], [ "Test.HyperStack.mm_tests", @@ -1612,8 +1484,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", @@ -1639,6 +1510,7 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mmmref", "equation_FStar.Monotonic.HyperStack.mmmstackref", + "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.pop", "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", @@ -1649,31 +1521,31 @@ "function_token_typing_Prims.int", "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Monotonic.Heap.lemma_free_mm_contains", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_077942947f03017592acbd4457f123a1", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1fe4ea9449b44f071a0ba69c564508a4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "refinement_interpretation_Tm_refine_81f342659eefffbc67c5aa64093ad0b3", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.emp", @@ -1689,10 +1561,12 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Monotonic.HyperStack.is_stack_region", + "typing_FStar.Monotonic.HyperStack.remove_elt", + "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "b0e8b112d4c05e84574eddadc23203e5" + "417c0f0dd6cb01aaef72cbb8b8af11d9" ], [ "Test.HyperStack.mods_test2", @@ -1700,9 +1574,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.mref", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", @@ -1723,9 +1595,8 @@ "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1740,14 +1611,15 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_08104fa71225a4393a63fb81b5d36171", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_20fe33f7603381fd587c6aa3b80e7c4d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", @@ -1766,7 +1638,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "f6b1aceffdbf0f58112aa29461e5092c" + "4847484716fa4d6b1cc66932feffe323" ], [ "Test.HyperStack.test_alloc", @@ -1775,7 +1647,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.m_rref", @@ -1793,16 +1664,12 @@ "equation_FStar.Monotonic.Seq.rid", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "refinement_kinding_Tm_refine_310e7a29569e2d208223322b6967b938", @@ -1816,7 +1683,7 @@ "typing_FStar.Monotonic.Seq.grows_p" ], 0, - "12e30b2cf5fe5d0b7ef88e11f54f4bb5" + "2e011461bd72dd64a5234c472561a988" ], [ "Test.HyperStack.test0", @@ -1829,12 +1696,12 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9f7c0e33327880f92c4f679b04383ba0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_77d6c8e013b14e7bcc36518b73395f10", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "cd4671d64cd9ece1574d2aa2d542f669" + "78194648e3d30a7c6998aba911d0c6bf" ], [ "Test.HyperStack.test1", @@ -1849,15 +1716,15 @@ "equation_FStar.Monotonic.HyperStack.mem", "lemma_FStar.Monotonic.HyperHeap.root_is_root", "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9f7c0e33327880f92c4f679b04383ba0", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_77d6c8e013b14e7bcc36518b73395f10", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_stack_region" ], 0, - "4d09a24127628c25a69359a91f1b9309" + "794e5529f85ff386adc6d5ee8abf9f57" ], [ "Test.HyperStack.test2", @@ -1870,13 +1737,13 @@ "equation_FStar.Monotonic.HyperStack.sid", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_d9ecb114f9e47d4857aebe5d54eaadad", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_a5b46786944acc16cc4fe92ba9a698b9", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "66823584746b3d2d3d99e316576e82fa" + "d4147c4ae071485bc66440bb90b15a92" ], [ "Test.HyperStack.stronger_fresh_region_was_redundant", @@ -1888,7 +1755,7 @@ "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant" ], 0, - "755b720648c7342221dd88d0e1c9f7a8" + "dc4e766cfdc274677a83accba0b0eefa" ], [ "Test.HyperStack.test5", @@ -1896,12 +1763,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.live_region", @@ -1909,10 +1774,9 @@ "equation_FStar.Monotonic.HyperStack.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1927,14 +1791,14 @@ "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", @@ -1946,7 +1810,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "0a6b062b7f63a1f0420791e6a034f890" + "af8bd28353d5ac04153f59d167dffb2f" ], [ "Test.HyperStack.with_frame", @@ -1956,12 +1820,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.poppable", - "refinement_interpretation_Tm_refine_6a06166666e1554fc56a4b17e6d25d25" + "refinement_interpretation_Tm_refine_84acff27f7e89d6fa6a0f8d221b6aaf1" ], 0, - "26d6a62fdf5f8980d64b7b23fd632aab" + "aba5b094733c2c7700c925d30d0ff0c3" ], [ "Test.HyperStack.mods_test2", @@ -1970,22 +1833,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.HyperStack.ST.mref", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.mref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "typing_FStar.Monotonic.HyperStack.as_addr" ], 0, - "19d0333ca100309d0220a2b9cd448b0b" + "110b3fbc876ce7ffc74d349918d0cf6f" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Test.Integers.fst.hints b/examples/micro-benchmarks/Test.Integers.fst.hints index 24c9f8d8ff7..da1d4d9b9c3 100644 --- a/examples/micro-benchmarks/Test.Integers.fst.hints +++ b/examples/micro-benchmarks/Test.Integers.fst.hints @@ -7,13 +7,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c" + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "e86b9dd7caecd1b1b642e7c95baa51c3" + "6d2c6a670a7644846ad9c8eb7df9c1b6" ], [ "Test.Integers.ex3_nat_custom_int_pos", @@ -21,15 +20,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "equation_FStar.Integers.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8bc57b47ea1eb56e7fd13ac08bf9b683", - "refinement_interpretation_Tm_refine_bca617b1b2ea961e009f31145da5d056" + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "equation_FStar.Integers.pos", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_1dcd76ab6136496954794947e1c7ba5d", + "refinement_interpretation_Tm_refine_e6589278d1a60057bd36694aaa684fb1", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "66d936b4e9a1b68371406e35a85e7046" + "59f8b2ee729b29cb225fb52bd0793293" ], [ "Test.Integers.ex4_prims_again", @@ -37,15 +36,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "equation_FStar.Integers.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8bc57b47ea1eb56e7fd13ac08bf9b683", - "refinement_interpretation_Tm_refine_bca617b1b2ea961e009f31145da5d056" + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "equation_FStar.Integers.pos", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_1dcd76ab6136496954794947e1c7ba5d", + "refinement_interpretation_Tm_refine_e6589278d1a60057bd36694aaa684fb1", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "d1e118ea5e89bcf3083ee71fa4e94e45" + "f6ba4186ae2844d0788e627874fefb1b" ], [ "Test.Integers.ex5_uint32_ok", @@ -69,7 +68,7 @@ "refinement_interpretation_FStar.Integers_Tm_refine_91f2e7d181d0f784b9bfbe2d7f48ce5d" ], 0, - "97b60b4bbd507dd3d5eb7ed6145a3133" + "30c593d6178b3e93bf79c234ec0280c7" ], [ "Test.Integers.ex5_uint32_ok", @@ -85,13 +84,12 @@ "equality_tok_FStar.Integers.W128@tok", "equality_tok_FStar.Integers.W32@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.uint_32", "equation_FStar.Integers.width_of_sw", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_91f2e7d181d0f784b9bfbe2d7f48ce5d" + "refinement_interpretation_Tm_refine_5de72983cc1b1e1eeb38d35a903b751b" ], 0, - "dc7ee8bc83255ea7e0ae00496b17a4c9" + "bf842c4acbca65ab342c97c7e94a1b7b" ], [ "Test.Integers.ex6", @@ -99,11 +97,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.uint_32", - "refinement_interpretation_Tm_refine_92fb66a13cd537482de5df552d060cc2" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_9cf21e41b9c3df4c91bd5ee70305a52c" ], 0, - "bc8d58fdc12aa54f1c352c36104585b9" + "b1a03fd1248d797652470844424cfb08" ], [ "Test.Integers.ex10", @@ -118,10 +116,10 @@ "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_430a2c8e535428482a96476f5918c058" + "refinement_interpretation_Tm_refine_647426bd6238e4ea8ebf91cc7d30ef9c" ], 0, - "b3ce9488f772577ed534834f037a5fc3" + "800157d9441dbf22921ab38c75df2b8b" ], [ "Test.Integers.ex13", @@ -132,31 +130,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", + "b2t_def", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_16", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "092143d5cfad51a953c5da19e4b25cef" + "4c8cd83857f944ddc4da6e9ece86c66d" ], [ "Test.Integers.ex13", @@ -167,27 +159,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", + "b2t_def", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W16", "equality_tok_FStar.Integers.W16@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_16", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "34fe092d67f9e156a719b33693476d36" + "0ba55e8b5bc4007632a2cb688e4f4870" ], [ "Test.Integers.ex14", @@ -198,27 +188,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "5a462c8dbfc113b0b54b38088851c3dd" + "d50a4180286d3d558edd49db6b7ca285" ], [ "Test.Integers.ex15", @@ -229,27 +212,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "650719781902647816b7cfb2881fa89a" + "a89f86af8528354d868a94540f142073" ], [ "Test.Integers.ex16", @@ -260,27 +236,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "b6f124241c17224326f2ce4f934dcb66" + "072509cde13ef5c9595ecd08909c50f4" ], [ "Test.Integers.ex17", @@ -288,36 +257,28 @@ 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.n", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", + "equation_FStar.UInt32.lt", "equation_Prims.nat", "int_inversion", + "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_95abd79077b52856c0a81361dca54fa5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_Prims.pow2" + "refinement_interpretation_Tm_refine_2f5d15d8fd13241733609aae692d4f56", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "9334fb307dd2e104cc09e9bfa522002d" + "25f7d248667bacc1860f8dd01e07e9be" ], [ "Test.Integers.ex20", @@ -328,7 +289,6 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Int32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.W16", @@ -345,35 +305,31 @@ "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.lt", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Int31.n", "equation_FStar.Int32.lt", - "equation_FStar.Integers.int_32", "equation_FStar.Integers.int_t", - "equation_FStar.Integers.v", "equation_FStar.UInt32.n", + "equation_FStar.Int32.lt", "equation_FStar.Integers.int_32", + "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.Int31.n", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Int32.uv_inv", - "lemma_FStar.Int32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", + "lemma_FStar.Int32.uv_inv", "lemma_FStar.Int32.vu_inv", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_044beed7c4e882285765d0f59a64c413", - "refinement_interpretation_Tm_refine_34942728358b2f294486a87d89598bbc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7036553975e23c16b837d95f649b510e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f26696e0866dc892be2102019f8da24", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_8e9911a9feca48488b6be694cd03b42c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_de03296927e755695593c3efc35c009e", "typing_FStar.Int.fits", "typing_FStar.Int32.int_to_t", "typing_FStar.Int32.sub", "typing_FStar.Int32.v", "typing_Prims.pow2" ], 0, - "1816828b5fd4ab3bc6bd734914f7db09" + "d2cd65047b3ea76bca90f4da3a7fa713" ], [ "Test.Integers.t0", @@ -382,7 +338,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "93f78667a47f4bf80ce0519924135d3f" + "5b22b09038717dbdaaf6f15dc05ab332" ], [ "Test.Integers.t1", @@ -399,7 +355,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "06b22b42af141de4445595c6fdf9cc59" + "f84e65bae0cd9532e00a6625412d41ce" ], [ "Test.Integers.ex1_const_nat", @@ -407,13 +363,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c" + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "caa82e646fd99c5cedeae3159d0d24d9" + "9da9ea9ded7ff7304a416fd95aab1329" ], [ "Test.Integers.ex3_nat_custom_int_pos", @@ -421,15 +376,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "equation_FStar.Integers.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8bc57b47ea1eb56e7fd13ac08bf9b683", - "refinement_interpretation_Tm_refine_bca617b1b2ea961e009f31145da5d056" + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "equation_FStar.Integers.pos", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_1dcd76ab6136496954794947e1c7ba5d", + "refinement_interpretation_Tm_refine_e6589278d1a60057bd36694aaa684fb1", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "4ecb819279c63ae991832167fade780e" + "15641c3a23ec7e5e22f4b51500bdc244" ], [ "Test.Integers.ex4_prims_again", @@ -437,15 +392,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "equation_FStar.Integers.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8bc57b47ea1eb56e7fd13ac08bf9b683", - "refinement_interpretation_Tm_refine_bca617b1b2ea961e009f31145da5d056" + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "equation_FStar.Integers.pos", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_1dcd76ab6136496954794947e1c7ba5d", + "refinement_interpretation_Tm_refine_e6589278d1a60057bd36694aaa684fb1", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "7b4b255b03a035b6e9397e6cde36f468" + "91b49ebbae477fb36a273f0450fc4499" ], [ "Test.Integers.ex5_uint32_ok", @@ -466,7 +421,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "9edef324344558fd58ad6938ab294e05" + "d2d34d31e247120ef4ff3c3e33e6d46f" ], [ "Test.Integers.ex5_uint32_ok", @@ -482,13 +437,12 @@ "equality_tok_FStar.Integers.W128@tok", "equality_tok_FStar.Integers.W32@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.uint_32", "equation_FStar.Integers.width_of_sw", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_91f2e7d181d0f784b9bfbe2d7f48ce5d" + "refinement_interpretation_Tm_refine_5de72983cc1b1e1eeb38d35a903b751b" ], 0, - "b81c30b5dec434e8433d557123c13687" + "aa4287943307d61786eba6783d22431a" ], [ "Test.Integers.ex6", @@ -496,11 +450,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.uint_32", - "refinement_interpretation_Tm_refine_92fb66a13cd537482de5df552d060cc2" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_9cf21e41b9c3df4c91bd5ee70305a52c" ], 0, - "255a1e0a7904b5e51ea7c0ea8569997f" + "a5b2c813f3ddd8fcc86d95175d055c96" ], [ "Test.Integers.ex9", @@ -510,24 +464,19 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Integers.int_t", "equation_Prims.nat", - "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "96da1ad1d9a86a734fedf7c32e877832" + "57f351fdde288e8be8ab7f59f9322a7a" ], [ "Test.Integers.ex10", @@ -542,10 +491,10 @@ "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_430a2c8e535428482a96476f5918c058" + "refinement_interpretation_Tm_refine_647426bd6238e4ea8ebf91cc7d30ef9c" ], 0, - "bd838ee594d3f9a1a46b9be9f4721806" + "7d5b28211bec1023c5fe5eda308c07f0" ], [ "Test.Integers.ex13", @@ -556,31 +505,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", + "b2t_def", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_16", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "8140879c04f6c7462c3a4650ffba3721" + "e8b508975f46d27d6ec5dbdc7d06f218" ], [ "Test.Integers.ex13", @@ -591,27 +534,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", + "b2t_def", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W16", "equality_tok_FStar.Integers.W16@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_16", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "fa943de3631b00586cb2d8db993c59c4" + "d30ed4e6467c6f56c2f6e6ff6d0bdd1b" ], [ "Test.Integers.ex13", @@ -622,31 +563,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", + "b2t_def", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_16", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "a99fd3f4eb04cfc562b2ad4edc8a23a3" + "4c49fbdf0546656117be394c8ef369be" ], [ "Test.Integers.ex14", @@ -657,27 +592,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "7cd237d0f95e6c85ed4ff72368b9fce0" + "8d29e58efb2d3118db51f9309d5ee56a" ], [ "Test.Integers.ex15", @@ -688,27 +616,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "7388f900ba6a501a8dadcb8ca6ddb1db" + "44cbd5c72671cd9dcb4cd6b949faea53" ], [ "Test.Integers.ex16", @@ -719,27 +640,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "6c3abe664eb26bb9234a08861d81363b" + "a147d9510344c1ad0f06f22ef99c5830" ], [ "Test.Integers.ex17", @@ -747,36 +661,28 @@ 2, 1, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.n", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", + "equation_FStar.UInt32.lt", "equation_Prims.nat", "int_inversion", + "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_95abd79077b52856c0a81361dca54fa5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_Prims.pow2" + "refinement_interpretation_Tm_refine_2f5d15d8fd13241733609aae692d4f56", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "af1f42ccb746ce35f3c23207c89928f4" + "90aa9715aae0b46ad22a66b61fc831e7" ], [ "Test.Integers.ex20", @@ -787,7 +693,6 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Int32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.W16", @@ -804,35 +709,31 @@ "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.lt", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Int31.n", "equation_FStar.Int32.lt", - "equation_FStar.Integers.int_32", "equation_FStar.Integers.int_t", - "equation_FStar.Integers.v", "equation_FStar.UInt32.n", + "equation_FStar.Int32.lt", "equation_FStar.Integers.int_32", + "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.Int31.n", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "lemma_FStar.Int.pow2_values", "lemma_FStar.Int32.uv_inv", - "lemma_FStar.Int32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", + "lemma_FStar.Int32.uv_inv", "lemma_FStar.Int32.vu_inv", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_044beed7c4e882285765d0f59a64c413", - "refinement_interpretation_Tm_refine_34942728358b2f294486a87d89598bbc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7036553975e23c16b837d95f649b510e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f26696e0866dc892be2102019f8da24", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_8e9911a9feca48488b6be694cd03b42c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_de03296927e755695593c3efc35c009e", "typing_FStar.Int.fits", "typing_FStar.Int32.int_to_t", "typing_FStar.Int32.sub", "typing_FStar.Int32.v", "typing_Prims.pow2" ], 0, - "d59f928a38b22704d953d46abe044b8f" + "f83ef3e6322f9f133aa63b3937e037d0" ], [ "Test.Integers.t0", @@ -841,7 +742,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "b5dddafec8a82acb3b2d3c339122c883" + "a8422d074ff3419d888bbed3079b315a" ], [ "Test.Integers.t1", @@ -858,7 +759,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "276285f8ef5cd78fca227aade3aac612" + "364d63b507945065c556d6d9ab61a82c" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Test.Printf.fst.hints b/examples/micro-benchmarks/Test.Printf.fst.hints index 0f77e21c2c0..34600d81730 100755 --- a/examples/micro-benchmarks/Test.Printf.fst.hints +++ b/examples/micro-benchmarks/Test.Printf.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "05c09025662fb5475da002ea6ea2c084" + "436e53f5825b674eec776a2ad3f3e9e8" ], [ "Test.Printf.something_to_string", @@ -21,7 +21,7 @@ "fuel_guarded_inversion_Test.Printf.something" ], 0, - "bc907d99d2155ed582e549641704e7ad" + "eee0de854f376488fb84abdea199b7cc" ], [ "Test.Printf.parse_something", @@ -33,7 +33,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "44a816ef7a83bcc592ea1bd3fb6c01f6" + "9b5557ee75fdb8e6756fb73d8422de32" ], [ "Test.Printf.test_ext", @@ -42,7 +42,7 @@ 1, [ "@query" ], 0, - "df04411f52022a3e12ba90165456e49e" + "8f911bcc326addfd1ccb51b3bcfe1ccc" ], [ "Test.Printf.test_sprintf", @@ -51,7 +51,7 @@ 1, [ "@query" ], 0, - "a14e50c99f388abc8303f8c902a089c7" + "5da4b4fe8b2b0d7325d10373a2e03d36" ], [ "Test.Printf.something_to_string", @@ -64,7 +64,7 @@ "fuel_guarded_inversion_Test.Printf.something" ], 0, - "101649b5bc1bdc062125fc112706f5bf" + "f35d3edab21270e80ea6feeacbd694a9" ], [ "Test.Printf.parse_something", @@ -76,7 +76,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "afdd3be5443dc5c3c493eaee07511c9c" + "322519b21a1f9559c48f91da269822d5" ], [ "Test.Printf.my_sprintf", @@ -87,37 +87,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Printf.parse_format.fuel_instrumented", "@fuel_irrelevance_FStar.Printf.parse_format.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", + "@query", "constructor_distinct_Tm_unit", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Printf.extension_parser", "equation_FStar.Printf.parse_format_string", - "equation_FStar.String.char", "equation_Test.Printf.parse_something", "equation_with_fuel_FStar.Printf.parse_format.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Test.Printf.parse_something", - "interpretation_Tm_abs_a32fe4802e125dbd09453ccc952c3af6", - "kinding_FStar.Printf.dir@tok", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", + "fuel_guarded_inversion_Prims.list", "kinding_FStar.Printf.dir@tok", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_c3ab046d66a0ca000894bd6a94ec3f87", - "token_correspondence_FStar.Printf.parse_format.fuel_instrumented", + "refinement_interpretation_Tm_refine_071fb86acfb88d31651d2a018a879f84", "typing_FStar.Printf.parse_format", "typing_FStar.Printf.parse_format_string", - "typing_FStar.String.list_of_string", "unit_typing" + "typing_FStar.String.list_of_string", + "typing_Test.Printf.parse_something" ], 0, - "aa2cf2cf65685a613f3db3b96a19ee72" + "ac93cc59994f45402d10547f983090d1" ], [ "Test.Printf.test_ext", @@ -126,7 +112,7 @@ 1, [ "@query" ], 0, - "d42fe6dbf42c1290de026c69693c6567" + "3b5474eb9c02dc86ce95d6b4ea0a31f0" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Test.ReifyNBE.fst b/examples/micro-benchmarks/Test.ReifyNBE.fst index 61a91ad3323..101e7e2dd0a 100644 --- a/examples/micro-benchmarks/Test.ReifyNBE.fst +++ b/examples/micro-benchmarks/Test.ReifyNBE.fst @@ -39,9 +39,9 @@ let test1 (a:Type) (y:a) = open FStar.Tactics let test2 (a:Type) (x:a) = - assert True by (fun () -> let t0 = quote (reify (ID?.reflect (return_id a x)) ()) in - (* print ("t0 = " ^ term_to_string t0); *) - let t1 = norm_term [nbe; delta] t0 in - if term_eq t1 (quote x) - then () - else fail ("The reify was not normalized!: " ^ term_to_string t1)) + assert True by (let t0 = quote (reify (ID?.reflect (return_id a x)) ()) in + (* print ("t0 = " ^ term_to_string t0); *) + let t1 = norm_term [nbe; delta] t0 in + if term_eq t1 (quote x) + then () + else fail ("The reify was not normalized!: " ^ term_to_string t1)) diff --git a/examples/micro-benchmarks/Test.ReifyNBE.fst.hints b/examples/micro-benchmarks/Test.ReifyNBE.fst.hints new file mode 100644 index 00000000000..a67fa3d6126 --- /dev/null +++ b/examples/micro-benchmarks/Test.ReifyNBE.fst.hints @@ -0,0 +1 @@ +[ "«O\u001a—nzT39Š#:cQ\u0001Å", [] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/TestGhost.fst.hints b/examples/micro-benchmarks/TestGhost.fst.hints index 3927563be8d..87f057d233d 100644 --- a/examples/micro-benchmarks/TestGhost.fst.hints +++ b/examples/micro-benchmarks/TestGhost.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "6b23244a36f12631d47435831f4ea0b6" + "ebecb9dd8493f6719ddd82fd6afda5c0" ], [ "TestGhost.i", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "535d2e1e4378b3bab28cee2abc7b0e70" + "8970d147a8de2332867f28bf48722eb2" ], [ "TestGhost.h", @@ -30,7 +30,7 @@ 1, [ "@query" ], 0, - "c61ee10531a94e23d782af8e9a0cb219" + "daac9fa8810d454f2733e4620abc048f" ], [ "TestGhost.i", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fb808cc5d0df4b588e4e9dda8a704963" + "c94fce9e055f7c419274052019a0e159" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/TestHasEq.fst.hints b/examples/micro-benchmarks/TestHasEq.fst.hints index b0d988a5e15..dbe08aa4ab2 100644 --- a/examples/micro-benchmarks/TestHasEq.fst.hints +++ b/examples/micro-benchmarks/TestHasEq.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "5c4ba3b855c7208106083198bc704dc9" + "0c7a32c17708248143688b23e96249c1" ], [ "TestHasEq.__proj__MCons__item__hd", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_04c57beb84c7e65ffbf87f2b1dfc7ef5" ], 0, - "c882d2b563adf90c3794882b2b4372b4" + "005b25dbe6a6583a28698686a3ec2b3a" ], [ "TestHasEq.__proj__MCons__item__tl", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_04c57beb84c7e65ffbf87f2b1dfc7ef5" ], 0, - "8407d7d1786f4156c1fe063e7c1578cb" + "be62ae1e8b6b2f760b56ce055c6541e3" ], [ "TestHasEq.__proj__NCons__item__hd", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_7b907b210749d62a64a384804262b9e4" ], 0, - "f20ffea61425567bc5739821b6107e80" + "add23c855bef7b126c684a3944e32461" ], [ "TestHasEq.__proj__NCons__item__tl", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_7b907b210749d62a64a384804262b9e4" ], 0, - "872ada1d35145bc41b310b83229b686c" + "ceeb5f1220f41f854cb6779ae571cc45" ], [ "TestHasEq.test1", @@ -69,17 +69,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_TestHasEq.mlist__uu___haseq", "assumption_TestHasEq.nlist__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2d1682eebba6cd13eaa1a089ed1bc39d" + "4d8262466ce333a9e4f98088599faa8a" ], [ "TestHasEq.__proj__C__item__y", @@ -91,7 +89,7 @@ "projection_inverse_TestHasEq.C_x" ], 0, - "c02981e212e146f5a5f0e8da24482105" + "1056ebd87a971b8f3153941e417c3694" ], [ "TestHasEq.test2", @@ -100,20 +98,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "TestHasEq_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "assumption_TestHasEq.t__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_8bc57b47ea1eb56e7fd13ac08bf9b683", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_9c71e49fab397a21c52431b680d6832f", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_2b9cd3e1fbccf82e9ebe34941f00564d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_387fd552e28fe87679131f6c15e8816b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_9c71e49fab397a21c52431b680d6832f" + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Tm_abs_387fd552e28fe87679131f6c15e8816b" ], 0, - "fcc3fe39453722cf512af19d7b77d636" + "96ccb595e979f1c9acbc52f2c539d54e" ], [ "TestHasEq.t1", @@ -121,16 +118,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4c9eefc348b77cb8b6b53b03750954e7" + "4b17a44b995a3da6cb7fdbfd3647ea39" ], [ "TestHasEq.__proj__C1__item__z", @@ -142,7 +136,7 @@ "projection_inverse_TestHasEq.C1_y" ], 0, - "f3815a3710b4afdcafe0f6a83aba806d" + "a29df469a2ed9e1b00dcb234e3ca084b" ], [ "TestHasEq.test3", @@ -156,7 +150,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "59567d5444d5482f389d7c5344aa4017" + "1337c0f7661e382759ca966c28e96724" ], [ "TestHasEq.test4", @@ -165,20 +159,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "TestHasEq_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "assumption_Prims.dtuple2__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_8bc57b47ea1eb56e7fd13ac08bf9b683", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_9c71e49fab397a21c52431b680d6832f", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_2b9cd3e1fbccf82e9ebe34941f00564d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_387fd552e28fe87679131f6c15e8816b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_9c71e49fab397a21c52431b680d6832f" + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Tm_abs_387fd552e28fe87679131f6c15e8816b" ], 0, - "f803c2ea43d4df6d13d3ee26ef54fe70" + "c26b16546ddc5a1085503b96beead803" ], [ "TestHasEq.t4", @@ -188,11 +181,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "af9ac84ef18f047ed0cbd03c41caf2f9" + "7c72648c61be523ce8be8965fd528f5f" ], [ "TestHasEq.mlist", @@ -201,7 +194,7 @@ 1, [ "@query" ], 0, - "7ff4f82caea94e3796e35939ffd6c07a" + "55bd204c701ca588ab8c28935abd3d48" ], [ "TestHasEq.__proj__MCons__item__hd", @@ -214,7 +207,7 @@ "refinement_interpretation_Tm_refine_04c57beb84c7e65ffbf87f2b1dfc7ef5" ], 0, - "78da6a0cadff78f0a0ebf528d9dad4bb" + "7c9d1378bc40ca915b485651e11a39ae" ], [ "TestHasEq.__proj__MCons__item__tl", @@ -227,7 +220,7 @@ "refinement_interpretation_Tm_refine_04c57beb84c7e65ffbf87f2b1dfc7ef5" ], 0, - "9b4fd58c507ad85b6f5550cb2393e912" + "cf4caa72ab051a4188ee5edc011283d6" ], [ "TestHasEq.__proj__NCons__item__hd", @@ -240,7 +233,7 @@ "refinement_interpretation_Tm_refine_7b907b210749d62a64a384804262b9e4" ], 0, - "97c2efbc1a5ac0bf45800a4cf75584ac" + "326946d14d3591d1d2f38f6c2ff8e659" ], [ "TestHasEq.__proj__NCons__item__tl", @@ -253,7 +246,7 @@ "refinement_interpretation_Tm_refine_7b907b210749d62a64a384804262b9e4" ], 0, - "d59e77cef5271e00383cbb73d20e25fc" + "0f639f5329fce144a2c993113008eee3" ], [ "TestHasEq.test1", @@ -262,17 +255,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_TestHasEq.mlist__uu___haseq", "assumption_TestHasEq.nlist__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ef1a49c23e43e0eddd8586e8c264d9a5" + "fec99f29f0ccc1e6e4e9c0d9ab72402d" ], [ "TestHasEq.__proj__C__item__y", @@ -284,7 +275,7 @@ "projection_inverse_TestHasEq.C_x" ], 0, - "4b5a7b8f35bf8fbd2d79fdcf125966b9" + "396a27c56d5017c39a8bd923ac26b942" ], [ "TestHasEq.test2", @@ -293,20 +284,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "TestHasEq_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "assumption_TestHasEq.t__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_8bc57b47ea1eb56e7fd13ac08bf9b683", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_9c71e49fab397a21c52431b680d6832f", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_2b9cd3e1fbccf82e9ebe34941f00564d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_387fd552e28fe87679131f6c15e8816b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_9c71e49fab397a21c52431b680d6832f" + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Tm_abs_387fd552e28fe87679131f6c15e8816b" ], 0, - "246fb5bb919e9e9d8996de28fed94374" + "85248fd28e5d2195318f4f3639f2ab4b" ], [ "TestHasEq.t1", @@ -314,16 +304,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d592b6fda341f5d5b8d0b59ea88232ee" + "a571f20348da6d310492a74e0c8b90d5" ], [ "TestHasEq.__proj__C1__item__z", @@ -335,7 +322,7 @@ "proj_equation_TestHasEq.C1_y", "projection_inverse_TestHasEq.C1_y" ], 0, - "47415dd05388e293142b427c9ed29385" + "34b6107b11ee32267b9296b8332f05d8" ], [ "TestHasEq.test3", @@ -349,7 +336,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "19efd86641b6bf47753a6982219d539b" + "aa4e2b4c0123c383d994d00bdbff32ec" ], [ "TestHasEq.test4", @@ -358,20 +345,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "TestHasEq_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", "assumption_Prims.dtuple2__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_8bc57b47ea1eb56e7fd13ac08bf9b683", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_9c71e49fab397a21c52431b680d6832f", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_2b9cd3e1fbccf82e9ebe34941f00564d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_387fd552e28fe87679131f6c15e8816b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_9c71e49fab397a21c52431b680d6832f" + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Tm_abs_387fd552e28fe87679131f6c15e8816b" ], 0, - "2c0bb25097b1566301abd00f052d9451" + "a9b8598d536dd7ead308ebca2b1976bb" ], [ "TestHasEq.t4", @@ -381,11 +367,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5cc65ff3b79b38d3c747a7bfaa4cc87f" + "472bc050b758754a6b4ff0c0358b0a22" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/TestHeap.fst.hints b/examples/micro-benchmarks/TestHeap.fst.hints index 828c39b2681..0f49adfc7eb 100644 --- a/examples/micro-benchmarks/TestHeap.fst.hints +++ b/examples/micro-benchmarks/TestHeap.fst.hints @@ -11,12 +11,12 @@ "equation_Prims.eqtype", "function_token_typing_Prims.int", "int_typing", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51b7a9dbd8da476b9c15c039c3994747", + "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", "typing_FStar.Heap.trivial_preorder", "typing_TestHeap.h", "typing_TestHeap.x" ], 0, - "f1688453a534301914a4e380459da206" + "48559af0676901bdceef236cdc9e3eda" ], [ "TestHeap.test1", @@ -33,13 +33,13 @@ "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51b7a9dbd8da476b9c15c039c3994747", + "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.upd", "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" ], 0, - "b15b71b7124628cd4f331873ec9e9392" + "856c2223a4acca7fc2c520a4848be48a" ], [ "TestHeap.test3", @@ -51,13 +51,13 @@ "equation_Prims.eqtype", "function_token_typing_Prims.int", "int_typing", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51b7a9dbd8da476b9c15c039c3994747", + "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.upd", "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" ], 0, - "621372dd523ff14fdf473a2730964836" + "ef04600d3c4b790488eb5612701adc2e" ], [ "TestHeap.test7", @@ -74,13 +74,13 @@ "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51b7a9dbd8da476b9c15c039c3994747", + "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.upd", "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" ], 0, - "38568ed483c75cd4e6f638e1da5933d9" + "0dbd07be2e03644e35e6edeff7d434e4" ], [ "TestHeap.test8", @@ -93,12 +93,12 @@ "function_token_typing_Prims.int", "int_typing", "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51b7a9dbd8da476b9c15c039c3994747", + "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", "typing_FStar.Heap.trivial_preorder", "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" ], 0, - "463fb6f8ec3eb74e0064d46e3d493610" + "1fd9939cddc6dbc854ec90d548d3be7f" ], [ "TestHeap.test0", @@ -110,12 +110,12 @@ "equation_Prims.eqtype", "function_token_typing_Prims.int", "int_typing", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51b7a9dbd8da476b9c15c039c3994747", + "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", "typing_FStar.Heap.trivial_preorder", "typing_TestHeap.h", "typing_TestHeap.x" ], 0, - "2ec638448b39dcbc47fb9e378670adf4" + "6a6526f6ce64f7e73a66ef128d89b17a" ], [ "TestHeap.test1", @@ -132,13 +132,13 @@ "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51b7a9dbd8da476b9c15c039c3994747", + "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.upd", "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" ], 0, - "4c80c9adefcabaaa4006cc4eeb5b3382" + "64d78983f6584815c142c95d17581925" ], [ "TestHeap.test3", @@ -150,13 +150,13 @@ "equation_Prims.eqtype", "function_token_typing_Prims.int", "int_typing", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51b7a9dbd8da476b9c15c039c3994747", + "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.upd", "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" ], 0, - "3d4059cb7b9e9ce9cff68804df4d6436" + "6b4840fcdfede2e1bb01ca6bf28a029d" ], [ "TestHeap.test7", @@ -173,13 +173,13 @@ "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51b7a9dbd8da476b9c15c039c3994747", + "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.upd", "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" ], 0, - "00d8e7c4b22f3672967e19260e14f16a" + "62fa1f34818ac6c43629e07d0ae3f1cf" ], [ "TestHeap.test8", @@ -192,12 +192,12 @@ "function_token_typing_Prims.int", "int_typing", "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51b7a9dbd8da476b9c15c039c3994747", + "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", "typing_FStar.Heap.trivial_preorder", "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" ], 0, - "3d4ad428c2f12e8920112c9e78937640" + "90e86ad8b66b613972dce5074133f7d1" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/TestMRef.fst.hints b/examples/micro-benchmarks/TestMRef.fst.hints index d79b6e2adbe..f4feb848433 100644 --- a/examples/micro-benchmarks/TestMRef.fst.hints +++ b/examples/micro-benchmarks/TestMRef.fst.hints @@ -11,14 +11,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", + "equation_FStar.Preorder.transitive", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "7c26f34c3eebc62610d67e6d4c0da467" + "aa4dd2ee95b540f49b540192d64d03fe" ], [ "TestMRef.x", @@ -30,14 +30,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", + "equation_FStar.Preorder.transitive", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "d21f712b3c580906ece4b0e6f23e7653" + "4483a4e8d4fa7194cb61750b50e26934" ], [ "TestMRef.test_frame_write_ref", @@ -52,27 +52,28 @@ "equation_FStar.Monotonic.Heap.only", "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3e25c94fccc441d722fc2757ab35f01c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ccd22cadcaebc923cd755f1346c740d5", + "refinement_interpretation_Tm_refine_428c3775a4c1194ebbe7cf7d60b4e887", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_93d9cd084302274fcc3576482c95555c", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.singleton", "typing_TestMRef.y", "typing_TestMRef.z" ], 0, - "e14daee87c2908a3114ee2abad575302" + "140a9c42b07a226de20f57328c445eec" ], [ "TestMRef.test_frame_write_mref", @@ -84,14 +85,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", + "equation_FStar.Preorder.transitive", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "770297919960452d689e853c1f8dde09" + "e463a76c26907929e424016d23a86dbc" ], [ "TestMRef.test_frame_write_mref", @@ -110,31 +111,33 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1e87dc65781b521f62012a1cb0c182b6", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ccd22cadcaebc923cd755f1346c740d5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_93d9cd084302274fcc3576482c95555c", + "refinement_interpretation_Tm_refine_a681b05b5562988702243d9a96074b70", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_eec04bfdf4d8c02294d16fc30fe16cbc", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_TestMRef.x", "typing_TestMRef.y" ], 0, - "a85d1e3ba75fe4cd6356338f1b78a64d" + "7f234f21f122a6e2726f51b824e92230" ], [ "TestMRef.test_frame_alloc_mref", @@ -146,14 +149,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", + "equation_FStar.Preorder.transitive", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "053dfc92e018f79a7fa6458433821e37" + "c68cf8d2334ced3dab159093b6959923" ], [ "TestMRef.test_frame_alloc_mref", @@ -169,26 +172,28 @@ "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "lemma_FStar.Set.mem_empty", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_769338d37e2d555d728186a4af466836", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a681b05b5562988702243d9a96074b70", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f4815c29e6d223a0542345de168f253e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty", "typing_TestMRef.x" ], 0, - "8b3c798838f93be1cf89d40e73de3a0d" + "159c46cff6ca43b947a73bce6d1c8db4" ], [ "TestMRef.test_write_mref", @@ -200,14 +205,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", + "equation_FStar.Preorder.transitive", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "ab9906615d367c4f7c37d3573e3171e6" + "fcc472f3c4f74cf2f3a33ebf198dedaf" ], [ "TestMRef.test_write_mref", @@ -220,18 +225,18 @@ "equation_FStar.Monotonic.Heap.only", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", + "equation_FStar.Preorder.transitive", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a97bd1c492fe5e342e20afca0369e002", - "refinement_interpretation_Tm_refine_f4815c29e6d223a0542345de168f253e" + "refinement_interpretation_Tm_refine_1b20e2d67a02e14eb4b50ec6bab5acf0", + "refinement_interpretation_Tm_refine_769338d37e2d555d728186a4af466836" ], 0, - "e5ef90aed1268f5151ee6e5fb6a4e849" + "9f481f32636ff167a191ddc51f448919" ], [ "TestMRef.x", @@ -243,14 +248,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", + "equation_FStar.Preorder.transitive", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "36485632dc14d719f8b86bfed2d6eb91" + "3cf3a5f088c881375008262290fb71fe" ], [ "TestMRef.test_frame_write_mref", @@ -262,14 +267,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", + "equation_FStar.Preorder.transitive", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "ff72d5b31a85b31d6a6eb3a5bd627df6" + "7fd71bc12229e14b84a0aeceda944b80" ], [ "TestMRef.test_frame_alloc_mref", @@ -281,14 +286,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", + "equation_FStar.Preorder.transitive", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "42279973226a9d4b43930989453cee0a" + "72e6b58069f5b879adbbdebcc7e4b615" ], [ "TestMRef.test_write_mref", @@ -300,14 +305,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", + "equation_FStar.Preorder.transitive", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3a97b8f84fa53d37df49e5f9e7c5aafe", + "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "09ba819ecf67f7c265ed3d27c692547d" + "0d44f9122b59b09bf2abcc95e89d6d56" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/TestSet.fst.hints b/examples/micro-benchmarks/TestSet.fst.hints index 4a61bece998..77c328b02c9 100644 --- a/examples/micro-benchmarks/TestSet.fst.hints +++ b/examples/micro-benchmarks/TestSet.fst.hints @@ -15,7 +15,7 @@ "typing_TestSet.a", "typing_TestSet.b" ], 0, - "018e5339e52859a510a2351d6cd48609" + "2bcf2a8ea9cd6e9e96f953da234a6548" ], [ "TestSet.should_succeed", @@ -31,7 +31,7 @@ "typing_TestSet.a", "typing_TestSet.b" ], 0, - "36254a46096a9b8e102c40e818928841" + "9af8ecb485b08422371896b8131e5520" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/TestTwoLevelHeap.fst.hints b/examples/micro-benchmarks/TestTwoLevelHeap.fst.hints index 226c2530692..4fe040e9ac2 100644 --- a/examples/micro-benchmarks/TestTwoLevelHeap.fst.hints +++ b/examples/micro-benchmarks/TestTwoLevelHeap.fst.hints @@ -33,16 +33,16 @@ "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_bdd7cf97d4b17c7b65136fc13b914970", + "refinement_interpretation_Tm_refine_a07e93d5072ee8991daf90e89e78753b", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" + "typing_FStar.Set.union", "typing_FStar.TwoLevelHeap.rid" ], 0, - "f9ea7dfd1d3a5b673ba7f71c0ce814c3" + "76986c1c7453ed380061696b3e50140b" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/TwoPhaseTC.fst.hints b/examples/micro-benchmarks/TwoPhaseTC.fst.hints index d46fcf84525..cfd33dc183c 100644 --- a/examples/micro-benchmarks/TwoPhaseTC.fst.hints +++ b/examples/micro-benchmarks/TwoPhaseTC.fst.hints @@ -14,14 +14,14 @@ "equation_Prims.l_and", "equation_Prims.prop", "equation_Prims.squash", "equation_Prims.subtype_of", "equation_TwoPhaseTC.right_unitality_lemma", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_c5b6d273684b2a65b0f6b44a93b5720a", "token_correspondence_Prims.l_and", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "f53e078907d4aaa34bf538b37ec66654" + "3383e63759a6b766db31c35f8314eed3" ], [ "TwoPhaseTC.false_elim", @@ -30,11 +30,11 @@ 0, [ "@MaxIFuel_assumption", - "binder_x_0b0fd0e401a63319f8f8988c3e105751_2", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "binder_x_b5a692fb53e94161e02ca937fc603fc6_2", + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "287cf514d7b817a7730b8ded6c11ecf4" + "ca6cb813bb8c533e3b08a1e85cb56199" ], [ "TwoPhaseTC.f8", @@ -48,7 +48,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "599e52332534d53179ebd52f7c4bcde9" + "e495c7c9f8a8e3e92e5c4ff8e8836225" ], [ "TwoPhaseTC.f12", @@ -57,7 +57,7 @@ 0, [ "@query" ], 0, - "43afa81c27dd2c51b82a2e5cb6da051e" + "90ed55eb458e871aa7053575634393dd" ], [ "TwoPhaseTC.f13", @@ -66,17 +66,15 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "cf935e82c39d8cbf53907ec414397f08" + "6984d02c0e450851278b97a47fdc4461" ], [ "TwoPhaseTC.f14", @@ -85,7 +83,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "7fd93aaee7ee4081c5d177e7c1ffebf6" + "a285ecf1ee52c3c17976fec8f8e966cf" ], [ "TwoPhaseTC.f18", @@ -94,7 +92,7 @@ 0, [ "@query" ], 0, - "81c17a7d44891ceb8f84bc18d2560e8a" + "2349a207bf5aa916b45d61abf53fea12" ], [ "TwoPhaseTC.__proj__ExIntro__item___1", @@ -106,7 +104,7 @@ "projection_inverse_TwoPhaseTC.ExIntro_x" ], 0, - "f8b1a94416bab7519509655deacacf1c" + "25d7644bd48a268a84e1b307e1a92646" ], [ "TwoPhaseTC.foo_1451", @@ -119,7 +117,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "c8de80c03c1e62fbaa3e0aac1bd74c8d" + "cc27796a9da2f38d18c016e3ffa27162" ], [ "TwoPhaseTC.t2_1129", @@ -128,16 +126,14 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_TwoPhaseTC.T_hasEq_1129", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_typing", + "equation_Prims.nat", "function_token_typing_Prims.bool", + "int_typing", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d46507d2284bad082eaaec7016ea07af" + "fd544d2abce7efbe3f0bc439d98bb77c" ], [ "TwoPhaseTC.t3_1129", @@ -151,7 +147,7 @@ "typing_TwoPhaseTC.t2_1129" ], 0, - "f756ac1a647c3559356da8bafb9bc962" + "56972f93c0b2995966584df40e446068" ], [ "TwoPhaseTC.nth_tot_1124", @@ -161,17 +157,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.nth.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", + "@query", "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", + "disc_equation_FStar.Pervasives.Native.Some", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", "typing_FStar.List.Tot.Base.nth" ], 0, - "55b3bed10978365691404c31c78966a1" + "4e5c9b34cf0de4fa4a1ad5d00e3bed31" ], [ "TwoPhaseTC.calc_1124", @@ -182,20 +178,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ae4ee9fcc39051e655e0c83407678c36", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_addfa9db9092ba3f2ecadb8f08bbc08a", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "ec779572a0d94fc1b4e4994c8349033c" + "b8252c8dbd1622bd332daecd9eb64a7c" ], [ "TwoPhaseTC.copy'_754", @@ -204,13 +198,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "9df8f8c09d77c2a0297077c866c71e04" + "9dd9fb0c8e3781aa0ed6265025ad8264" ], [ "TwoPhaseTC.test2_754", @@ -218,16 +212,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d355cab64599ed58517615e04f0ddaaf" + "e8840f9b2e37bab0253d7fac001eee3b" ], [ "TwoPhaseTC.test2_754", @@ -236,7 +227,7 @@ 1, [ "@query" ], 0, - "2b1e3beb46b80b96e4a3e8b6259e65f0" + "5bc5316281111561c3c469f2371b3c90" ], [ "TwoPhaseTC.conjunction_monoid", @@ -251,14 +242,14 @@ "equation_Prims.l_and", "equation_Prims.prop", "equation_Prims.squash", "equation_Prims.subtype_of", "equation_TwoPhaseTC.right_unitality_lemma", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_c5b6d273684b2a65b0f6b44a93b5720a", "token_correspondence_Prims.l_and", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "9c375fd90b00ba11b13078da80abb287" + "0e7db9e4e363ec2bab67400e550116b5" ], [ "TwoPhaseTC.false_elim", @@ -267,11 +258,11 @@ 0, [ "@MaxIFuel_assumption", - "binder_x_0b0fd0e401a63319f8f8988c3e105751_2", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "binder_x_b5a692fb53e94161e02ca937fc603fc6_2", + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "ece2ee43275e0d6896c93334060a30d9" + "4eaddb8d5dc0e308c8c659587d9adb0b" ], [ "TwoPhaseTC.f8", @@ -283,7 +274,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b0d86bdada73f85e0ce96b87d6d23afe" + "8c23953430c0c32bbedcf22d9001b34c" ], [ "TwoPhaseTC.f12", @@ -292,7 +283,7 @@ 0, [ "@query" ], 0, - "1f1a6caf521905de262203923c032869" + "d79ec8be0458df9050cfb12987802c53" ], [ "TwoPhaseTC.f13", @@ -301,17 +292,15 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "64231e544da53226e79dd9d06f179593" + "28341136c2bca583f10b43e87b27d38b" ], [ "TwoPhaseTC.f14", @@ -320,7 +309,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "2b81f80e01db99737164539cb8ac518b" + "f679e7cc308e91e2891eb226e4039c63" ], [ "TwoPhaseTC.__proj__ExIntro__item___1", @@ -332,7 +321,7 @@ "projection_inverse_TwoPhaseTC.ExIntro_x" ], 0, - "ccaedc35057c4b0a0bca305f6b0658c2" + "d23e36e6fa8aaeeae0ea1e85ac756982" ], [ "TwoPhaseTC.foo_1451", @@ -345,7 +334,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "4d25fe9ed385e085fc40060ac862e5e1" + "b1842a8917c3d4b44e7bf08ba57c0232" ], [ "TwoPhaseTC.t2_1129", @@ -354,16 +343,14 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_TwoPhaseTC.T_hasEq_1129", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_typing", + "equation_Prims.nat", "function_token_typing_Prims.bool", + "int_typing", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "87fe8edc009b68fd1f76b7a8b8533bf7" + "adc7584c816909d515f33b8704e35590" ], [ "TwoPhaseTC.t3_1129", @@ -377,7 +364,7 @@ "typing_TwoPhaseTC.t2_1129" ], 0, - "350fbd3f2e0c0c9912103636b17a9050" + "56542df46c0eefa2b377d57a36462b44" ], [ "TwoPhaseTC.nth_tot_1124", @@ -387,17 +374,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.nth.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", + "@query", "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", + "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", + "disc_equation_FStar.Pervasives.Native.Some", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", "typing_FStar.List.Tot.Base.nth" ], 0, - "90df8dbc53de622cab9ec87c4c57db96" + "a5898a91b5c09c967c59519fcf48bca2" ], [ "TwoPhaseTC.calc_1124", @@ -408,20 +395,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ae4ee9fcc39051e655e0c83407678c36", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_addfa9db9092ba3f2ecadb8f08bbc08a", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "40c91375e6d32bc951c976b491a77e28" + "3bc2db70ea9d2def6dca66dfee01e0c0" ], [ "TwoPhaseTC.copy'_754", @@ -430,13 +415,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "243a8a90da81ca58b5b2840457b8a72e" + "806aa5d75057c09f69420d1a75acba70" ], [ "TwoPhaseTC.test2_754", @@ -444,16 +429,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bf90b2039d947cc1c55624fb9325de25" + "7548f451b0caac504e9f2853ebf211cf" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/UnifyMatch.fst b/examples/micro-benchmarks/UnifyMatch.fst index 192c6b77200..1a1e7d0a142 100644 --- a/examples/micro-benchmarks/UnifyMatch.fst +++ b/examples/micro-benchmarks/UnifyMatch.fst @@ -122,6 +122,5 @@ let tests () : Tac (list (term * term * bool)) = [ true); ] -let _ = assert_by_tactic True - (fun () -> let _ = Tactics.Util.map test1 (tests ()) in - ()) +let _ = assert True + by (let _ = Tactics.Util.map test1 (tests ()) in ()) diff --git a/examples/micro-benchmarks/UnifyMatch.fst.hints b/examples/micro-benchmarks/UnifyMatch.fst.hints index 235a17b7985..8e94d882d03 100644 --- a/examples/micro-benchmarks/UnifyMatch.fst.hints +++ b/examples/micro-benchmarks/UnifyMatch.fst.hints @@ -1,5 +1,5 @@ [ - "çÇ$çŒ\u0015Þêò˜>\u001fKÉþ", + "\n‡\u0010\"\u0010ÌZçÜ\u0005áµù)«`", [ [ "UnifyMatch.unat", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "366b796dd73c517417630d00eed9f645" + "c926568856a2ee4fd4a862ee11af7308" ], [ "UnifyMatch.__proj__S__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_b909e5f5ff265386c08f5741455e23b9" ], 0, - "bfc0bd51d987feeb9e7b1a8530274fa0" + "18195e323aaf6a6720d57293a31bc09a" ], [ "UnifyMatch.nat2unary", @@ -31,15 +31,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "b1cbfee87ed814784cad8b90602db4a3" + "ea9fdce233ccd44bda448718302e25f2" ], [ "UnifyMatch.even", @@ -48,7 +48,7 @@ 1, [ "@query", "assumption_UnifyMatch.unat__uu___haseq" ], 0, - "eb9dafe2076672f51d9530a327195fec" + "c4fa4e399c0f364bb06e2e7123af6fa5" ], [ "UnifyMatch.__proj__Even_SS__item__n", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_b82e9317628d0fc1fba9e36ac5ed44f2" ], 0, - "3ac20aa641432d28d7dd2f7d373ba74a" + "d7a7cc40e56f9984adf2eab3dc2c2feb" ], [ "UnifyMatch.__proj__Even_SS__item___1", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_b82e9317628d0fc1fba9e36ac5ed44f2" ], 0, - "54cff72221ef020dc79d9f02f6edd734" + "c7619681e3c44909494c8cfe5926b6a5" ], [ "UnifyMatch.unat", @@ -85,7 +85,7 @@ 1, [ "@query" ], 0, - "b761d8f48c0e374c7a0feffe93f44262" + "b5512f5f60cae2fbcef2b039ec08865c" ], [ "UnifyMatch.__proj__S__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_b909e5f5ff265386c08f5741455e23b9" ], 0, - "e2584f7d0853c7213252967f02958a11" + "e3d2d4873831bc2f96e98b7c477e63e3" ], [ "UnifyMatch.nat2unary", @@ -108,15 +108,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "2496076214b48fbae664d1ca1f4668d3" + "2969f62b897bfa37032cd7b6b96bd53f" ], [ "UnifyMatch.even", @@ -125,7 +125,7 @@ 1, [ "@query", "assumption_UnifyMatch.unat__uu___haseq" ], 0, - "5f86590e1bd78d0af6d1f02ea7fabf55" + "7cc749abe537ac5dc33af72b2b62aba9" ], [ "UnifyMatch.__proj__Even_SS__item__n", @@ -138,7 +138,7 @@ "refinement_interpretation_Tm_refine_b82e9317628d0fc1fba9e36ac5ed44f2" ], 0, - "e98b19f6bcdde618fda06aae1adb1edc" + "b14ab3829bed68a7f97a50778387d3b7" ], [ "UnifyMatch.__proj__Even_SS__item___1", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_b82e9317628d0fc1fba9e36ac5ed44f2" ], 0, - "b62783e5f638fab5331930d32c23fa1f" + "53d434a21700ef369a2f8bf85b3fa08a" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/UnifyRefs.fst.hints b/examples/micro-benchmarks/UnifyRefs.fst.hints index c5e8e4e5ba0..769db41ff1f 100644 --- a/examples/micro-benchmarks/UnifyRefs.fst.hints +++ b/examples/micro-benchmarks/UnifyRefs.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "eaee58fa7d474cbd28005be493b48b40" + "5b07ba6a55f9c18a3d1261ddb841840a" ], [ "UnifyRefs.nat32_to_nat64'1", @@ -17,7 +17,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "a40ae1b34ede5ffc75252d3d82c23b15" + "615a1864f36c134543d6d12139ffc3ea" ], [ "UnifyRefs.nat32_to_nat64'2", @@ -26,7 +26,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "308c531fdcee923558fbaf8d319c3c04" + "0f1aa4c73251297b3dc75cf79bf445e8" ], [ "UnifyRefs.nat32_to_nat64'3", @@ -35,7 +35,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "33757872abcce5e7a6f7eb68137165e6" + "22843c4ebcd3cf414e69baf4ed512be4" ], [ "UnifyRefs.nat64_to_nat32'0", @@ -43,11 +43,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_UnifyRefs.nat64", - "refinement_interpretation_Tm_refine_6e4b4a2387d7c1a73684f335e617968d" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a9bd9beb63a95cd322a4835be6205c9b" ], 0, - "a95519fcbb8a1a3c1bd3b3cb1b5e1748" + "a7c2db2675a703c87bf0a72b4e461fd9" ], [ "UnifyRefs.nat64_to_nat32'1", @@ -55,11 +55,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_UnifyRefs.nat64", - "refinement_interpretation_Tm_refine_6e4b4a2387d7c1a73684f335e617968d" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a9bd9beb63a95cd322a4835be6205c9b" ], 0, - "a82f2fd6336092f72ca743fbbc31e35f" + "556a4528ef7e2ce5f3236da14584c6e4" ], [ "UnifyRefs.nat64_to_nat32'2", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_0958fc86fbbb72ab4560bf1ef55e2fe9" ], 0, - "62959466c0ad1717776f5cb55c10fc0b" + "d9dbcdeb95a7627401ddb108407bbb54" ], [ "UnifyRefs.nat64_to_nat32'3", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_0958fc86fbbb72ab4560bf1ef55e2fe9" ], 0, - "4a5f205bcb398ca1698a3f6fb158340a" + "425b84a396b93c772e1d684192b11dc2" ], [ "UnifyRefs.nat32_to_nat64'4", @@ -92,7 +92,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "2e10d4176d3997300b9540ebcb84b98b" + "95479e923aefe216bd70a8d34c10ac0c" ], [ "UnifyRefs.nat32_to_nat64'5", @@ -101,7 +101,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "6d9a75d42eb2710aaafe2ae81109a2d4" + "bbd11f53a50796ea171d7ac2fa2dfecb" ], [ "UnifyRefs.nat64_to_nat32'4", @@ -110,7 +110,7 @@ 1, [ "@query" ], 0, - "4cd8105efc534327cf57c737f19e5586" + "06e20f486a5d30e201215d2fbb60ded4" ], [ "UnifyRefs.nat64_to_nat32'5", @@ -119,7 +119,7 @@ 1, [ "@query" ], 0, - "e3675e23011e297ff1d6696020ad04dc" + "9c53b35f067520d5ab061765769963ae" ], [ "UnifyRefs.nat32_to_nat64'0", @@ -128,7 +128,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "51b181d8def4cbaccfad830f7fbe2ebc" + "e7b7cbb513a22f23e2e4e5601118f956" ], [ "UnifyRefs.nat32_to_nat64'1", @@ -137,7 +137,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "d5a8e60f6b5650431b98e5deb73c9e50" + "502a6f412216b432e9612fd0c0aea0dd" ], [ "UnifyRefs.nat32_to_nat64'2", @@ -146,7 +146,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "7a9511e8e08788c810099be8a18ce74d" + "a24c53a90c74ce74eb91d0e7238a8c14" ], [ "UnifyRefs.nat32_to_nat64'3", @@ -155,7 +155,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "e998b80ba93bdef6308e8d1023d78c66" + "9c9e1ac6217a1156bfcdea45e68a7d6f" ], [ "UnifyRefs.nat64_to_nat32'0", @@ -163,11 +163,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_UnifyRefs.nat64", - "refinement_interpretation_Tm_refine_6e4b4a2387d7c1a73684f335e617968d" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a9bd9beb63a95cd322a4835be6205c9b" ], 0, - "19c97b5d4e1a4ddcbdff961f82f79180" + "aa4ab159cf5e8bfa57cd37f08ca6839d" ], [ "UnifyRefs.nat64_to_nat32'1", @@ -175,11 +175,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_UnifyRefs.nat64", - "refinement_interpretation_Tm_refine_6e4b4a2387d7c1a73684f335e617968d" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_a9bd9beb63a95cd322a4835be6205c9b" ], 0, - "16dba0f8e7cc7117d41c7e1e44dec0e9" + "0cd78047605417d2fbf969ede0445f9d" ], [ "UnifyRefs.nat64_to_nat32'2", @@ -191,7 +191,7 @@ "refinement_interpretation_Tm_refine_0958fc86fbbb72ab4560bf1ef55e2fe9" ], 0, - "da0175f9a1e676fa99a05439a6a133ea" + "bde20a22829894b59ba9016b2a143d9e" ], [ "UnifyRefs.nat64_to_nat32'3", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_0958fc86fbbb72ab4560bf1ef55e2fe9" ], 0, - "4a70c44d3b0b41603ae4a24c959aebfe" + "8ef41a93be32a29df8db2d852e84bfc9" ], [ "UnifyRefs.nat32_to_nat64'4", @@ -212,7 +212,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "bc227d04b5fe1150d02e383b9cd5a07b" + "a23028007ee445db614dbb22c91fad02" ], [ "UnifyRefs.nat32_to_nat64'5", @@ -221,7 +221,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "c43194fa1fd99f8c0ff6096eb5e8759c" + "15cf4a955d8d6750eff11c55ed930bc3" ], [ "UnifyRefs.nat64_to_nat32'4", @@ -230,7 +230,7 @@ 1, [ "@query" ], 0, - "fdf41cbd5280f689a6f95429306ed0bb" + "4c2383200e1ecbe377ad96ffc14d3035" ], [ "UnifyRefs.nat64_to_nat32'5", @@ -239,7 +239,7 @@ 1, [ "@query" ], 0, - "b9056aaca53800f96a6f2007775985b3" + "6b261851bc1ddf4835303cd5d33010bf" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/UnifyReify.fst b/examples/micro-benchmarks/UnifyReify.fst index 969ebaff59a..abe16cf6aaf 100644 --- a/examples/micro-benchmarks/UnifyReify.fst +++ b/examples/micro-benchmarks/UnifyReify.fst @@ -41,6 +41,5 @@ let tests () : Tac (list (term * term * bool)) = [ ] -let _ = assert_by_tactic True - (fun () -> let _ = Tactics.Util.map test1 (tests ()) in - ()) +let _ = assert True + by (let _ = Tactics.Util.map test1 (tests ()) in ()) diff --git a/examples/micro-benchmarks/UnifyReify.fst.hints b/examples/micro-benchmarks/UnifyReify.fst.hints index a945072847e..438f72d547d 100644 --- a/examples/micro-benchmarks/UnifyReify.fst.hints +++ b/examples/micro-benchmarks/UnifyReify.fst.hints @@ -1,5 +1,5 @@ [ - "‹Ø\u0003Eíijƒ¿?¶ûêO‡", + "'\u001a\u001dÚ\u0015Ñ\u0000ê\u001ar'SCc\u0015", [ [ "UnifyReify.c1", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "5ad9c9dcbd6c96a6791289f3f101110e" + "ce2f5b82c3396da20bc475803032d6f9" ], [ "UnifyReify.uu___24", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "6119d3e14ee3fa8cdcdec5b0f9147a8f" + "d2be1cc9282972a719f7f83eee05bc91" ], [ "UnifyReify.c1", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "85ce59e94a135e8f745a7653c3eb3898" + "603dd57bf301304a14d851cf2bdebbd2" ], [ "UnifyReify.uu___24", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "2fa652e9ca93f3db24f6651602eb9b77" + "fd1d7cba64cc99bd7bb158f32bff79ac" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Unit1.Basic.fst.hints b/examples/micro-benchmarks/Unit1.Basic.fst.hints index cad85618412..2381a5162bd 100644 --- a/examples/micro-benchmarks/Unit1.Basic.fst.hints +++ b/examples/micro-benchmarks/Unit1.Basic.fst.hints @@ -7,15 +7,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Unit1.Basic.zero", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_13822e8d415cca32657fdd044ba9fbfb" + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Unit1.Basic.zero", + "fuel_guarded_inversion_Prims.list", + "refinement_interpretation_Tm_refine_acd05ee6f9ccb986c4590aadf00c124b" ], 0, - "d874667655616d7eae1680c4efd14454" + "15c7b9f8ff9495a6ce653836451330b7" ], [ "Unit1.Basic.list_zero_to_zero", @@ -28,7 +26,21 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "1ea895652d69e58d42549982f20e3c6d" + "b0e921b96d999ed1fee783d60e2acc64" + ], + [ + "Unit1.Basic.hd_int_impure", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "data_typing_intro_FStar.Pervasives.V@tok", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "fuel_guarded_inversion_Prims.list" + ], + 0, + "6c6a20fbca9b0d9b6fda2d4db4a15976" ], [ "Unit1.Basic.hd_int_pure", @@ -38,10 +50,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" + "refinement_interpretation_Tm_refine_f2205c42e53352d11cca139ab42ad44a" ], 0, - "c24cce09e6e1d6abf6d0830ac2d2214f" + "87940e7aa58d0197360db0dd5f746f33" ], [ "Unit1.Basic.square_is_nat", @@ -53,7 +65,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "211c67b266801b61c60f5515e9b560ef" + "33d0319bfebd6a983bfddd3a6a4675fd" ], [ "Unit1.Basic.check_nat", @@ -67,7 +79,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e42488fc4a160712e80f72385a8952ba" + "81a56684ba4af7aec8ab5883fb2f30dd" ], [ "Unit1.Basic.assert_nat", @@ -81,7 +93,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1d401f12341ea739f73a0435652bcb72" + "bcf5e9ad91f044a12c6379929b8d53b0" ], [ "Unit1.Basic.tabs_id_pure_annot_eq", @@ -90,7 +102,7 @@ 1, [ "@query" ], 0, - "f7220c904d05205b77231653531549ab" + "cd968dae561f90c7ebb443677b2bdb93" ], [ "Unit1.Basic.id_pure_annot_eq", @@ -99,7 +111,7 @@ 1, [ "@query" ], 0, - "7bd9f3144a7f413f32262c4cfb97db37" + "687213e3f8a30e20c26b77f1a4e62dce" ], [ "Unit1.Basic.id_all_annot_eq", @@ -108,7 +120,7 @@ 1, [ "@query" ], 0, - "c9e319c378497529d8b74fcbc9afd603" + "aa7ed159aaaa6fcc4c76b30806c2f4b0" ], [ "Unit1.Basic.id_all_annot_eq", @@ -127,7 +139,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0701151e3fb8a19a044b3d2930ec06b7" + "15bcee60b8713c9085390e33d47a493f" ], [ "Unit1.Basic.hd_pure", @@ -140,7 +152,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "bae18884bd45d8673856a82bd09da705" + "65d8831ecf477944662d6b816b312215" ], [ "Unit1.Basic.hd_pure_alt", @@ -153,7 +165,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "5001a8936759e3c234ca27e3ca68018d" + "f6861c8e5390c571eb4574b266715d1a" ], [ "Unit1.Basic.dup_pure_eq", @@ -167,7 +179,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "ba21c89118aee29f75e5aaa4bb019fd1" + "30ffa3cab1cf6508da74ccd37d2de799" ], [ "Unit1.Basic.get_false", @@ -179,7 +191,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "cd80284d9878cee2ea658287d77d1b30" + "f40b85cf97b153aac0be8d74e0085dc9" ], [ "Unit1.Basic.get_false_ANF", @@ -191,7 +203,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "081ec3319abe4b53557b7e516324f799" + "732c7d088090985b58047328f5ef775f" ], [ "Unit1.Basic.record", @@ -205,7 +217,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ea142b1762535115b753690212c6db3a" + "d42c0807f9b1776dcd5906bcca75cc67" ], [ "Unit1.Basic.record_f_exhaustive", @@ -223,7 +235,7 @@ "typing_Unit1.Basic.__proj__Mkrecord__item__f" ], 0, - "6fec544a43f959de42185cf998ac9dbb" + "e6ff2ef4ed3a0d35b0833c1590b360d7" ], [ "Unit1.Basic.repeat", @@ -233,16 +245,16 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "535134422ba12c448e685c5b54437a43" + "753dd15de44957f093225f590ce03fb1" ], [ "Unit1.Basic.inat", @@ -251,7 +263,7 @@ 1, [ "@query" ], 0, - "3682526a4340bc960f0115ac357e9c4e" + "3518530127f312d1e53b17f69b49e851" ], [ "Unit1.Basic.__proj__S__item___0", @@ -264,7 +276,7 @@ "refinement_interpretation_Tm_refine_032c459a1771732822c24b5fb03d8206" ], 0, - "08051e096f336778577e654472d8058c" + "24dd756d7f5f9b9bc772a865561c0279" ], [ "Unit1.Basic.minus", @@ -284,7 +296,7 @@ "subterm_ordering_Unit1.Basic.S" ], 0, - "1cd84100d5ece8c08785f899f13c527f" + "520e59be79d3bdc1ba43d43ead91da4d" ], [ "Unit1.Basic.ackermann", @@ -294,19 +306,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "00cb91adbe9852fb318eff0e04440003" + "144f2c0bf34ab1f056547198d41c32b8" ], [ "Unit1.Basic.__proj__Seq__item__end_i", @@ -318,7 +330,7 @@ "projection_inverse_Unit1.Basic.Seq_start_i" ], 0, - "d42e3a91efe5b56478de4b3b09bbef46" + "82599e0990556eedf23f2e9131fb830c" ], [ "Unit1.Basic.unsafe_slice", @@ -327,7 +339,7 @@ 1, [ "@query" ], 0, - "c61fded42c23d73e0e7d8a0fd94c4fef" + "976a70717c7a1331fa01689404b0e72a" ], [ "Unit1.Basic.test_impure", @@ -336,8 +348,8 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BaseTypes.char", - "equation_Prims.nat", "equation_Unit1.Basic.message", - "equation_Unit1.Basic.slength", "equation_Unit1.Basic.unsafe_slice", + "equation_Unit1.Basic.message", "equation_Unit1.Basic.slength", + "equation_Unit1.Basic.unsafe_slice", "fuel_guarded_inversion_Unit1.Basic.seq", "primitive_Prims.op_Subtraction", "proj_equation_Unit1.Basic.Seq_end_i", @@ -345,11 +357,11 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_Unit1.Basic.Seq_end_i", "projection_inverse_Unit1.Basic.Seq_start_i", - "refinement_interpretation_Tm_refine_92bff85c0bff9c88fe25d18998436c39", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_2c150e55cd3542ba8a210442d19fae8c", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" ], 0, - "f6c5bb9a38ab5dab70dd0da020cb9498" + "35ad4c6691b44a3818d8e802db97fa2a" ], [ "Unit1.Basic.mlist", @@ -358,17 +370,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_Unit1.Basic.mlist@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "62bcadf521e65d15b4ecb402f9502f94" + "d01d66ade883ede8007ffcd9c34bee1d" ], [ "Unit1.Basic.__proj__C__item___0", @@ -381,7 +392,7 @@ "refinement_interpretation_Tm_refine_cf0a408a7bcff1bd8c91cbe0536a3232" ], 0, - "bf1a962a59cf147ce15073631b6e606f" + "3170c48480f97cc6c076922cf9d472b7" ], [ "Unit1.Basic.zero_list", @@ -400,7 +411,7 @@ "subterm_ordering_Unit1.Basic.C", "typing_tok_Unit1.Basic.N@tok" ], 0, - "291bb7f951b975b2d8e0a48cd22f571f" + "cda8a23ac2360f4ad068e180eb930fd3" ], [ "Unit1.Basic.pre", @@ -412,7 +423,7 @@ "assumption_Unit1.Basic.mlist__uu___haseq" ], 0, - "5cc2ca405f3482dde21b605ae2e749e6" + "f5ec61912557dc4ee83765a6dc3da494" ], [ "Unit1.Basic.do_ok", @@ -442,7 +453,7 @@ "typing_Unit1.Basic.zero_list", "typing_tok_Unit1.Basic.N@tok" ], 0, - "cfcd9a6b6cd2ead3161bad70254b010b" + "8673d8ccf6f5708326b818f23909c948" ], [ "Unit1.Basic.short_circuit1", @@ -451,10 +462,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_214f835beccad32d5a8c324d7d306af9" + "refinement_interpretation_Tm_refine_0a3371b9bf192fbacf4a03b1e0518d82" ], 0, - "3ad2570373f3b12b146d81efc542a3cc" + "3775ce4b0d401b18e37584a34532d4a3" ], [ "Unit1.Basic.test_skolem_app", @@ -463,10 +474,10 @@ 1, [ "@query", "equation_Unit1.Basic.apply", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" ], 0, - "53ccfaf740cdaefa5c6a14f417b5cf33" + "98106612a49aa551a6b579fc5c95585c" ], [ "Unit1.Basic.test_skolem_match", @@ -475,10 +486,10 @@ 1, [ "@query", "equation_Unit1.Basic.apply", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" ], 0, - "674e93ea6383fca10543bdac983fd908" + "6c8f2086938a72423e6fc19c5ae1b00b" ], [ "Unit1.Basic.test_skolem_refinement", @@ -486,15 +497,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Unit1.Basic._T", - "equation_Unit1.Basic.apply", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Unit1.Basic._T", "equation_Unit1.Basic.apply", + "function_token_typing_Prims.__cache_version_number__", + "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7b9fa918ce77b9e5adc73f4acd17e337" + "refinement_interpretation_Tm_refine_613b69cf4ffdf1fc873bdc5a0f78d33a" ], 0, - "e0d9a4bb95139462c99f51fc20562862" + "349e403e7890df92a7db2b416bd0c173" ], [ "Unit1.Basic.find", @@ -509,7 +522,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "ee3193a736517193aecd77f8f3a68420" + "9eabea9bcf86c0926cc55861153dec38" ], [ "Unit1.Basic.test_skolem_let", @@ -518,24 +531,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Unit1.Basic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.eqtype", "equation_Unit1.Basic._T", - "function_token_typing_Prims.int", - "function_token_typing_Unit1.Basic._T", - "interpretation_Tm_abs_6079fc6e1dae3dc52d066d61aabc28c6", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "interpretation_Tm_abs_8dba68de8f18ea9ccc9a44b1f30dc77b", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6079fc6e1dae3dc52d066d61aabc28c6", + "typing_Tm_abs_8dba68de8f18ea9ccc9a44b1f30dc77b", "typing_Unit1.Basic.find" ], 0, - "a96931d6800212974764e3f83aa7daf8" + "22b7a86f7ac3baa93bdde75fdd72378d" ], [ "Unit1.Basic.use_id_wrap", @@ -544,7 +555,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "50a22079a046fe09f0ea74b34e814524" + "c121106c3979cf51fd19b9d103532f26" ], [ "Unit1.Basic.idl", @@ -558,7 +569,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c2a95f9deb3a77068c80f37742bc36da" + "86cb6387968f66d8cc4a97d1dc177a42" ], [ "Unit1.Basic.idl", @@ -572,7 +583,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "67c72bed05a1b7133e9c579736ad5896" + "7d5958de4e6e27e1fb914f6ed232cee6" ], [ "Unit1.Basic.idl", @@ -583,7 +594,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -599,7 +610,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "99d547e6823fc67c8ec15003fd5068e5" + "a16bd6caa91c82834ff79a6987870be7" ], [ "Unit1.Basic.st_f", @@ -608,7 +619,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "3fbda430b8dc33fc54ecce25a1631de1" + "701bec06c9c229f00d0ca892140da020" ], [ "Unit1.Basic.factorial", @@ -617,17 +628,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "405167afda086980a2d5448801112caa" + "2d1c2c0ebf0b74b9bb92bd5e7afa3472" ], [ "Unit1.Basic.factorial_is_positive", @@ -636,32 +645,22 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_correspondence_Unit1.Basic.factorial.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Unit1.Basic.factorial.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", - "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "equation_with_fuel_Unit1.Basic.factorial.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_09978ed63e427638b6e16e01fa80d182", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.UInt.fits", "well-founded-ordering-on-nat" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841456de0d71bacb66e5910e45bf7993", + "well-founded-ordering-on-nat" ], 0, - "9bcade2feda7175afefd77aaa377d236" + "4564244a2ab1f09860a93489e9518947" ], [ "Unit1.Basic.length", @@ -675,7 +674,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "075b33f8fe76a362effaac3deb2bd2e7" + "7ddbbaeabedd7bc526aa7b3351e6c67c" ], [ "Unit1.Basic.map", @@ -689,7 +688,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "0d8db7f2228e2ffbf10f13c71583113b" + "4895a641bbd7a25d195e6c67049c70f5" ], [ "Unit1.Basic.test_map1", @@ -699,33 +698,28 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.map.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Unit1.Basic.apply", "equation_Unit1.Basic.one", "equation_Unit1.Basic.plus_one", "equation_with_fuel_Unit1.Basic.map.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Unit1.Basic.one", "function_token_typing_Unit1.Basic.plus_one", "int_inversion", - "int_typing", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "int_typing", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Unit1.Basic.plus_one", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply" + "token_correspondence_Unit1.Basic.plus_one" ], 0, - "c3de3fd992df33afc097409c85d1a943" + "66bbae54c8b5f544da18f6fc487de5d6" ], [ "Unit1.Basic.test_map2", @@ -735,32 +729,26 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.map.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Unit1.Basic.apply", "equation_Unit1.Basic.one", "equation_with_fuel_Unit1.Basic.map.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "function_token_typing_Unit1.Basic.one", "int_inversion", - "int_typing", - "interpretation_Tm_abs_5362b7577c1f843a686dd68fa062f6e3", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "interpretation_Tm_abs_b0ccd7de28a6672e541735f7bc00b394", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_5362b7577c1f843a686dd68fa062f6e3", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply" + "typing_Tm_abs_b0ccd7de28a6672e541735f7bc00b394" ], 0, - "ccb072b5fef7214314a1fd87c5a8c286" + "555167f5507a4463ff98e5ac33530556" ], [ "Unit1.Basic.even", @@ -770,15 +758,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "1d47192c6dcd1d9db776b1f6ec4e218d" + "6c5442f1405a2f88f34f7ae689037fff" ], [ "Unit1.Basic.even", @@ -788,15 +776,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "3fcbfe68a69233502f797e9b825d185a" + "88aaf219ed08c4e1bb655c6f087628d6" ], [ "Unit1.Basic.test_even1", @@ -806,22 +794,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.even.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Prims.nat", "equation_Unit1.Basic.apply", - "equation_Unit1.Basic.one", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Prims.nat", "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Unit1.Basic.one", "int_typing", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply", "typing_Unit1.Basic.even" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bf9b5c9a8e3557836643043e5935ecbc" + "db202a9a395abb4d5fa6e9a9536eea7e" ], [ "Unit1.Basic.test_even2", @@ -832,22 +816,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.even.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Prims.nat", "equation_Unit1.Basic.apply", - "equation_Unit1.Basic.one", + "equation_Prims.nat", "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Unit1.Basic.one", "int_typing", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply", "typing_Unit1.Basic.even" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Unit1.Basic.even" ], 0, - "9f11c7214b5b6fb399e8fecf405bb545" + "7de8e05aab35b8a4ee97080e8ee940f1" ], [ "Unit1.Basic.test_odd1", @@ -858,21 +838,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.odd.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Prims.nat", "equation_Unit1.Basic.apply", - "equation_Unit1.Basic.one", + "equation_Prims.nat", "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Unit1.Basic.one", "int_typing", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply", "typing_Unit1.Basic.odd" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Unit1.Basic.odd" ], 0, - "ef6b74a1ba5c5fea09b599031f369f91" + "ad10e03591e9429d8570a946f699b4e2" ], [ "Unit1.Basic.test_odd2", @@ -882,22 +859,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.odd.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Prims.nat", "equation_Unit1.Basic.apply", - "equation_Unit1.Basic.one", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Prims.nat", "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Unit1.Basic.one", "int_typing", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply", "typing_Unit1.Basic.odd" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "472c5bf67c0358678609be904e0df490" + "91103bfbd83ad8f0eaff75c1510a53d5" ], [ "Unit1.Basic.logic_test3", @@ -905,14 +878,13 @@ 2, 1, [ - "@query", "equation_Prims.l_True", - "equation_Unit1.Basic.logic_test2", - "interpretation_Tm_abs_e8501decb3585f424f06c90c3cd765cf", - "l_quant_interp_6a820012601694fe456dc2594ba93740", + "@query", "equation_Unit1.Basic.logic_test2", + "interpretation_Tm_abs_f310dc3533378853b62edbdd32c6ea33", + "l_quant_interp_9bc3d2b0679e092fa7d5ffcdc6fa6ce5", "token_correspondence_Unit1.Basic.logic_test2" ], 0, - "eb60c9855eb9b4c4a9febc17d8c23a18" + "3f67ac081a7af213b5d37b9a6013b3f2" ], [ "Unit1.Basic.logic_test5", @@ -924,7 +896,7 @@ "equation_Unit1.Basic.logic_test4", "l_quant_interp__4163" ], 0, - "e92e95ea6043d4d09d41ba8fdced0dc2" + "c9274a45e89ff121895a488382b03e02" ], [ "Unit1.Basic.__proj__Star_append__item__s1", @@ -938,7 +910,7 @@ "refinement_interpretation_Tm_refine_69840826db2e37f0f44c90e8d747dead" ], 0, - "b075e4aa3e70ca1acf2d220d786eb7a2" + "80769b29033771f7532ca2f3cf4d5162" ], [ "Unit1.Basic.__proj__Star_append__item__s2", @@ -952,7 +924,7 @@ "refinement_interpretation_Tm_refine_69840826db2e37f0f44c90e8d747dead" ], 0, - "b685a5e87e6bc068308d857648c2d32b" + "3f91c6a9dc46fbb5f5f781339269ef05" ], [ "Unit1.Basic.__proj__Star_append__item___2", @@ -970,7 +942,7 @@ "string_inversion" ], 0, - "5350dba878705d43b10ee96e10b63898" + "8c3d3cdbecbfece53b158ef933f09158" ], [ "Unit1.Basic.__proj__Star_append__item___3", @@ -987,7 +959,7 @@ "string_inversion" ], 0, - "9a6377b1e40072b03bf9c949544c596e" + "a521bf2bfca4b98b82af0f18c2517d3a" ], [ "Unit1.Basic.bind_test1", @@ -996,10 +968,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "eee902b4a11231829822c2fb9acb810e" + "41ebc60c8a8b7db00a705a524e673d8f" ], [ "Unit1.Basic.bind_test2", @@ -1008,10 +980,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "46b2f6445a28ee98009845587b30f290" + "86b8f81af3e9d722d126d5976c2e527a" ], [ "Unit1.Basic.bind_test3", @@ -1020,10 +992,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "48ee5609de5a840d8eab371bae0b3403" + "e2b6682dc4d8141fe42d3f868b748dde" ], [ "Unit1.Basic.list_zero_to_int_assert", @@ -1031,15 +1003,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Unit1.Basic.zero", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_13822e8d415cca32657fdd044ba9fbfb" + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_Unit1.Basic.zero", + "fuel_guarded_inversion_Prims.list", + "refinement_interpretation_Tm_refine_acd05ee6f9ccb986c4590aadf00c124b" ], 0, - "5118121bce4b57e7448974add4950470" + "f2159575b6db68ed552c5d1b7dbdf5fa" ], [ "Unit1.Basic.list_zero_to_zero", @@ -1052,7 +1022,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "52b2fb0a5979097d16b5f41dc1b4fec1" + "5b75c4792676fff11a398630d38f5dbf" ], [ "Unit1.Basic.hd_int_pure", @@ -1062,10 +1032,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" + "refinement_interpretation_Tm_refine_f2205c42e53352d11cca139ab42ad44a" ], 0, - "24955ddf0b5acde03e2c4997e5b3f44c" + "f7ec3d4c4d9236d607dbd270039fd589" ], [ "Unit1.Basic.square_is_nat", @@ -1077,7 +1047,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3b6cab1d01efa28d314e3efafdbe5f51" + "a4cf6340df87f6543d1ce2dcda06adf9" ], [ "Unit1.Basic.check_nat", @@ -1091,7 +1061,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "748eaeb9bd3696472d30258219182e8f" + "8635db5637beb09729c736de98cd97f8" ], [ "Unit1.Basic.tabs_id_pure_annot_eq", @@ -1100,7 +1070,7 @@ 1, [ "@query" ], 0, - "f0f22b75bdd49777e1176cc8feded0bd" + "7ca256abff8fa499fcca38f808fcbce5" ], [ "Unit1.Basic.id_pure_annot_eq", @@ -1109,7 +1079,7 @@ 1, [ "@query" ], 0, - "e50603dde6451ff69b80d26cee9e244e" + "7ebeb08c7143417c4d81d4a659a23e74" ], [ "Unit1.Basic.id_all_annot_eq", @@ -1118,7 +1088,7 @@ 1, [ "@query" ], 0, - "db8cca931eb3ff1fc72a508ca5d1715a" + "1a33241e3d3bb3d3263ada847a18c613" ], [ "Unit1.Basic.hd_pure", @@ -1131,7 +1101,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "356d23fad4327d995e8a97de039acc1a" + "29e08252baa2f6b068452c6f4c89737a" ], [ "Unit1.Basic.hd_pure_alt", @@ -1144,7 +1114,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "c8a240804c61686f90382d83de1681cb" + "701c3e8a600b05555258b764e5fd18b7" ], [ "Unit1.Basic.dup_pure_eq", @@ -1158,7 +1128,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "00ad8869ffe368f2e97e3b270a9c6ef9" + "53ebc0f772a6a707d3476959b64bf598" ], [ "Unit1.Basic.record", @@ -1172,7 +1142,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0a379f52dc08a3e1b658fea04bf78f4d" + "9f22eb2d75682da1a2430b090d14cd5c" ], [ "Unit1.Basic.record_f_exhaustive", @@ -1190,7 +1160,7 @@ "typing_Unit1.Basic.__proj__Mkrecord__item__f" ], 0, - "0a6d5d47bbfbda3f90603630dd8c3be1" + "d83f1ff20929ab3fd94ce19a2b13328c" ], [ "Unit1.Basic.repeat", @@ -1200,16 +1170,16 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "b00de6bef760a73ad693cff68a8a2ba5" + "a818bb607660e0d35932ad48c9d5764b" ], [ "Unit1.Basic.inat", @@ -1218,7 +1188,7 @@ 1, [ "@query" ], 0, - "b079d8851e0fe7e344303eaca17b3eae" + "8877f9648ca29953b9adaea805d5fdbf" ], [ "Unit1.Basic.__proj__S__item___0", @@ -1231,7 +1201,7 @@ "refinement_interpretation_Tm_refine_032c459a1771732822c24b5fb03d8206" ], 0, - "3c0a79de239c0dcd37c0bec8b90fa5b0" + "f23c2e793aef0e7758b8fa2b70fe1d9d" ], [ "Unit1.Basic.minus", @@ -1251,7 +1221,7 @@ "subterm_ordering_Unit1.Basic.S" ], 0, - "4ef8fd7002afb26a5c805589c804b10c" + "cc752640c906eda10f4e2947ee717e3c" ], [ "Unit1.Basic.ackermann", @@ -1261,19 +1231,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "6e2d65b1f8d34d6a732970589621efc8" + "a9f6e1dd7bff012651321fbb51f609df" ], [ "Unit1.Basic.__proj__Seq__item__end_i", @@ -1285,7 +1255,7 @@ "projection_inverse_Unit1.Basic.Seq_start_i" ], 0, - "92b338fb6b853c48f9dcb5a053ca9847" + "c9ce809c483f9d76e028ad3a258f8a34" ], [ "Unit1.Basic.unsafe_slice", @@ -1294,7 +1264,7 @@ 1, [ "@query" ], 0, - "cfd3f3121e87a0008bc13ddc877b4cb7" + "6e55c49d4926a57eb17e7c44453e533b" ], [ "Unit1.Basic.mlist", @@ -1303,17 +1273,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_Unit1.Basic.mlist@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5819bb6e47f5d973181fed7e735e95f2" + "fa8941875cfabb59f3bfa519aee0b1d1" ], [ "Unit1.Basic.__proj__C__item___0", @@ -1326,7 +1295,7 @@ "refinement_interpretation_Tm_refine_cf0a408a7bcff1bd8c91cbe0536a3232" ], 0, - "e8871c2ce27761ad99f244c29cf0cf34" + "fbada215309a154441bdeb1cdfcb5d5d" ], [ "Unit1.Basic.zero_list", @@ -1345,7 +1314,7 @@ "subterm_ordering_Unit1.Basic.C", "typing_tok_Unit1.Basic.N@tok" ], 0, - "e70dd7611c7703524a91996384fa3c24" + "d7ec7cf87f0a2d7271a0aa09d6c1c633" ], [ "Unit1.Basic.pre", @@ -1357,7 +1326,7 @@ "assumption_Unit1.Basic.mlist__uu___haseq" ], 0, - "0c858494f22ac45a7275515d1b51d007" + "c9f3cf0ce9af202eff8d2113e342c5d2" ], [ "Unit1.Basic.do_ok", @@ -1387,7 +1356,7 @@ "typing_Unit1.Basic.zero_list", "typing_tok_Unit1.Basic.N@tok" ], 0, - "c5c7011c798b87d1aa437a6fa1a4feee" + "194a2ddbd18f572f4a1820f45fb3f1b1" ], [ "Unit1.Basic.short_circuit1", @@ -1396,10 +1365,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_214f835beccad32d5a8c324d7d306af9" + "refinement_interpretation_Tm_refine_0a3371b9bf192fbacf4a03b1e0518d82" ], 0, - "22f0088f8244d3ada339967c1f0fdfb9" + "08a0cba4e9eb212038c5978cc42dd22c" ], [ "Unit1.Basic.test_skolem_app", @@ -1408,10 +1377,10 @@ 1, [ "@query", "equation_Unit1.Basic.apply", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" ], 0, - "532ee42786a1714e3a27784edfcc060d" + "f48f594f0029f1c467089a9e9cfcdf31" ], [ "Unit1.Basic.test_skolem_match", @@ -1420,10 +1389,10 @@ 1, [ "@query", "equation_Unit1.Basic.apply", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" ], 0, - "051f58154371ecdde5af600139bbc027" + "892f2709edec6a4a84a1e5e2eee5f0a2" ], [ "Unit1.Basic.test_skolem_refinement", @@ -1431,15 +1400,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Unit1.Basic._T", - "equation_Unit1.Basic.apply", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Unit1.Basic._T", "equation_Unit1.Basic.apply", + "function_token_typing_Prims.__cache_version_number__", + "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7b9fa918ce77b9e5adc73f4acd17e337" + "refinement_interpretation_Tm_refine_613b69cf4ffdf1fc873bdc5a0f78d33a" ], 0, - "9c5dc2310f225a5d4414b7787d2fe01b" + "c37e8181ef52054bef2c6b58082480a6" ], [ "Unit1.Basic.find", @@ -1454,7 +1425,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "f36012074c1e524f125cd89cbe35025d" + "837d2f44b8aed2cc1ddd8cb6afeb7644" ], [ "Unit1.Basic.test_skolem_let", @@ -1463,24 +1434,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "Unit1.Basic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.eqtype", "equation_Unit1.Basic._T", - "function_token_typing_Prims.int", - "function_token_typing_Unit1.Basic._T", - "interpretation_Tm_abs_6079fc6e1dae3dc52d066d61aabc28c6", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "interpretation_Tm_abs_8dba68de8f18ea9ccc9a44b1f30dc77b", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6079fc6e1dae3dc52d066d61aabc28c6", + "typing_Tm_abs_8dba68de8f18ea9ccc9a44b1f30dc77b", "typing_Unit1.Basic.find" ], 0, - "a9c9afb799a381c2fa98f2aac30b8090" + "3fba1d18b46988f269b79a6cf33370b6" ], [ "Unit1.Basic.use_id_wrap", @@ -1489,7 +1458,7 @@ 1, [ "@query" ], 0, - "46f600de9a53a5641367be9b5547fbf4" + "8ae38d6c8ffce0f31d7adc00b3d7df20" ], [ "Unit1.Basic.idl", @@ -1503,7 +1472,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "49de04defebe418255519106dfde2e5c" + "7e482f9dffc77b1f78629e6fd5030eda" ], [ "Unit1.Basic.idl", @@ -1514,7 +1483,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -1530,7 +1499,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "63095608943a0f2b8674d2a0a73c8c21" + "fbb975e80c62bc49b64f30ea19a54eb9" ], [ "Unit1.Basic.factorial", @@ -1539,17 +1508,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "804175acc8921d43ca9f56e3f4c42f36" + "3f289604295c0c669810f3e084e795a9" ], [ "Unit1.Basic.length", @@ -1563,7 +1530,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "9de885e4a3acff275edf21acaa954f67" + "87aa3a9350b1c32f061a4f38bf226ad2" ], [ "Unit1.Basic.map", @@ -1577,7 +1544,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e95f50f7a415644e5be57ac123537e03" + "41c51818aabc57565c91bf9267d69cdb" ], [ "Unit1.Basic.test_map1", @@ -1587,33 +1554,28 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.map.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Unit1.Basic.apply", "equation_Unit1.Basic.one", "equation_Unit1.Basic.plus_one", "equation_with_fuel_Unit1.Basic.map.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Unit1.Basic.one", "function_token_typing_Unit1.Basic.plus_one", "int_inversion", - "int_typing", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "int_typing", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Unit1.Basic.plus_one", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply" + "token_correspondence_Unit1.Basic.plus_one" ], 0, - "93f0f8fb2d877471702e8ed4424ba843" + "2bb7c0ef75b1a9d843ecbfa34d2b4d36" ], [ "Unit1.Basic.test_map2", @@ -1623,32 +1585,26 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.map.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Unit1.Basic.apply", "equation_Unit1.Basic.one", "equation_with_fuel_Unit1.Basic.map.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "function_token_typing_Unit1.Basic.one", "int_inversion", - "int_typing", - "interpretation_Tm_abs_5362b7577c1f843a686dd68fa062f6e3", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "interpretation_Tm_abs_b0ccd7de28a6672e541735f7bc00b394", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_5362b7577c1f843a686dd68fa062f6e3", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply" + "typing_Tm_abs_b0ccd7de28a6672e541735f7bc00b394" ], 0, - "0550b3d43a2c7016f1229809ed6e1e18" + "32af3ebdd2277b4d720defa2d6890f64" ], [ "Unit1.Basic.even", @@ -1658,15 +1614,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "9557d3aba4cbde58e59aa9a3b9c1688d" + "329ff18dfc2016ade12979f475af2a67" ], [ "Unit1.Basic.even", @@ -1676,15 +1632,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "3a2b202c035f7356989f3b9675cde7b7" + "9015dfd0ccfe1faede5948de1278c7db" ], [ "Unit1.Basic.test_even1", @@ -1694,22 +1650,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.even.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Prims.nat", "equation_Unit1.Basic.apply", - "equation_Unit1.Basic.one", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Prims.nat", "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Unit1.Basic.one", "int_typing", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply", "typing_Unit1.Basic.even" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "29b307a3cabffde80c47afa43bbe411f" + "0bd197b8ac8eacb6761da96f3db0bb70" ], [ "Unit1.Basic.test_even2", @@ -1720,22 +1672,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.even.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Prims.nat", "equation_Unit1.Basic.apply", - "equation_Unit1.Basic.one", + "equation_Prims.nat", "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Unit1.Basic.one", "int_typing", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply", "typing_Unit1.Basic.even" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Unit1.Basic.even" ], 0, - "dc3b671c7c621e5f8997aff30566793f" + "c578a15db3e824940d345479ebb037ee" ], [ "Unit1.Basic.test_odd1", @@ -1746,21 +1694,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.odd.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Prims.nat", "equation_Unit1.Basic.apply", - "equation_Unit1.Basic.one", + "equation_Prims.nat", "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Unit1.Basic.one", "int_typing", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply", "typing_Unit1.Basic.odd" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Unit1.Basic.odd" ], 0, - "c94970ea19154a65ca7c35cf576c7519" + "76323fcb10273157ec0c898fdd54f573" ], [ "Unit1.Basic.test_odd2", @@ -1770,22 +1715,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Unit1.Basic.odd.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Prims.nat", "equation_Unit1.Basic.apply", - "equation_Unit1.Basic.one", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Prims.nat", "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Unit1.Basic.one", "int_typing", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", - "typing_Unit1.Basic.apply", "typing_Unit1.Basic.odd" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ab627088c91db150449b05e8ae7552ed" + "d098ff048d72ef0804bf07a24cb701f2" ], [ "Unit1.Basic.__proj__Star_append__item__s1", @@ -1799,7 +1740,7 @@ "refinement_interpretation_Tm_refine_69840826db2e37f0f44c90e8d747dead" ], 0, - "03603a294b4275cdb5a8a17db5896f7e" + "6a9b5f884226ab4831024f3af8fae8f5" ], [ "Unit1.Basic.__proj__Star_append__item__s2", @@ -1813,7 +1754,7 @@ "refinement_interpretation_Tm_refine_69840826db2e37f0f44c90e8d747dead" ], 0, - "d759ac17b5bbd98bf7d8448ab0b616c1" + "ff3687084d7a0a2468e6b4f31080666e" ], [ "Unit1.Basic.__proj__Star_append__item___2", @@ -1831,7 +1772,7 @@ "string_inversion" ], 0, - "e8c48eafb5ea1ce2480762351f21d181" + "f5a37d1a7b52f63c1825f3b532c2d5b4" ], [ "Unit1.Basic.__proj__Star_append__item___3", @@ -1848,7 +1789,7 @@ "string_inversion" ], 0, - "2024aa1d8f2fbb7906d3d6875c381374" + "d0487e47a159322fa26d8afd4d252bd9" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Unit1.Parser.fst.hints b/examples/micro-benchmarks/Unit1.Parser.fst.hints index 0b026b9c97d..7e4f44396e0 100644 --- a/examples/micro-benchmarks/Unit1.Parser.fst.hints +++ b/examples/micro-benchmarks/Unit1.Parser.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f49d6e43a04b218fe0c6c599302297de" + "0f603afb35fe98e8e780ccab2a46df3c" ], [ "Unit1.Parser.t3", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f2f4b75b4dc5329317ba7003a2a669dd" + "71d4b542624098ccc4d84d79200b8de0" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Unit1.Projectors1.fst.hints b/examples/micro-benchmarks/Unit1.Projectors1.fst.hints index 01e9b9a4466..f43bab4d195 100644 --- a/examples/micro-benchmarks/Unit1.Projectors1.fst.hints +++ b/examples/micro-benchmarks/Unit1.Projectors1.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e0c646fa2d4a31491f08433e1e247809" + "a5da4bec35de914aecb1742987732411" ], [ "Unit1.Projectors1.s", @@ -23,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5d29b6120cd5f57ef8d3c14177c1b1c4" + "10047181e9a0548d8eda3591c7a2fc48" ], [ "Unit1.Projectors1.u", @@ -41,7 +41,7 @@ "typing_FStar.BaseTypes.char" ], 0, - "795d654f3b0a259fae8eee8192dba095" + "b1539ffaa3963d5bf065d3a41d529404" ], [ "Unit1.Projectors1.v", @@ -51,11 +51,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c172983c6eac116d8ba84a7298251b21" + "0210377a1a1b0d1d7ac3b2dac7c43692" ], [ "Unit1.Projectors1.t", @@ -65,11 +65,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fdd271f757b4fc92490bc1e03af02eca" + "fd9c475f48f433a18d3b893532cdfaad" ], [ "Unit1.Projectors1.s", @@ -79,11 +79,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "11acb05ed39291a3e4b1964dce0e33c0" + "3ed94616ca28634b4bd302b07efd020a" ], [ "Unit1.Projectors1.u", @@ -97,7 +97,7 @@ "typing_FStar.BaseTypes.char" ], 0, - "ad4acfb01dde41b6f3262d1835e49b37" + "13a7b7936428c4a0489366f1c56c8193" ], [ "Unit1.Projectors1.v", @@ -107,11 +107,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7fa42087d96c0206f58b8fda5f7b89b1" + "37c28ee6de989da49dc79888f314665f" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Unit1.RecursiveTypeFunctions.fst.hints b/examples/micro-benchmarks/Unit1.RecursiveTypeFunctions.fst.hints index 3bdcff85be9..910536ce53a 100644 --- a/examples/micro-benchmarks/Unit1.RecursiveTypeFunctions.fst.hints +++ b/examples/micro-benchmarks/Unit1.RecursiveTypeFunctions.fst.hints @@ -7,16 +7,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "29d99ed4b96385cca636c18929459ceb" + "4c037d46b56eb9c68572474f5c7b262f" ], [ "Unit1.RecursiveTypeFunctions.__proj__T__item___0", @@ -30,7 +27,7 @@ "refinement_interpretation_Tm_refine_dcce9542b98cdc0b1ce1526881708dd3" ], 0, - "bd1f3ec91b0529e3ec3c9863366df99a" + "257da4ffc0c79e7bd27bbe184fe4b735" ], [ "Unit1.RecursiveTypeFunctions.__proj__TofS__item___0", @@ -44,7 +41,7 @@ "refinement_interpretation_Tm_refine_e6a5d49e9de9d9d32d37d5b69a69eb80" ], 0, - "1e0c9647a479f4c92cad4575b487f9c0" + "7ce5f71364df88150351a246970f260b" ], [ "Unit1.RecursiveTypeFunctions.__proj__S__item___0", @@ -58,7 +55,7 @@ "refinement_interpretation_Tm_refine_463ab24589f7b97a63a32a93a8999adc" ], 0, - "e8dbfa7b242e7168965c8b0376b51002" + "cb34a16e191c6a5320950d73e19eba82" ], [ "Unit1.RecursiveTypeFunctions.__proj__SofT__item___0", @@ -72,7 +69,7 @@ "refinement_interpretation_Tm_refine_6c51bbe51c5c443619d248c8823721da" ], 0, - "aa97c3a3946b5e643b79709abf7f6737" + "ab9d2d1130eba66c87d10144f1f254af" ], [ "Unit1.RecursiveTypeFunctions.good_t", @@ -88,7 +85,7 @@ "subterm_ordering_Unit1.RecursiveTypeFunctions.TofS" ], 0, - "316c18d06a98ac639f97221c1521eed1" + "ceb7bb0c33bb65161f9f600ab7e7bc9a" ], [ "Unit1.RecursiveTypeFunctions.good_t", @@ -104,7 +101,7 @@ "subterm_ordering_Unit1.RecursiveTypeFunctions.SofT" ], 0, - "c06401525bbc29b740318b2af0c8a2ce" + "d97cbac10ec079ddcae93e387b531669" ], [ "Unit1.RecursiveTypeFunctions.extract_nat_t", @@ -116,7 +113,7 @@ "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_s.fuel_instrumented", "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_t.fuel_instrumented", "@fuel_irrelevance_Unit1.RecursiveTypeFunctions.good_s.fuel_instrumented", - "@query", "b2t_def", "binder_x_82f527a714db151b64042595dd98fc3a_0", + "@query", "b2t_def", "binder_x_449e04ae025f7f462a05f8e29447ede6_0", "constructor_distinct_Unit1.RecursiveTypeFunctions.T", "constructor_distinct_Unit1.RecursiveTypeFunctions.TofS", "disc_equation_Unit1.RecursiveTypeFunctions.T", @@ -133,7 +130,7 @@ "subterm_ordering_Unit1.RecursiveTypeFunctions.TofS" ], 0, - "ad0255aa7453ac094aa2799bf8e6af38" + "76c77cfc6316c5785424ec28246b8ac4" ], [ "Unit1.RecursiveTypeFunctions.extract_nat_t", @@ -145,7 +142,7 @@ "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_s.fuel_instrumented", "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_t.fuel_instrumented", "@fuel_irrelevance_Unit1.RecursiveTypeFunctions.good_t.fuel_instrumented", - "@query", "b2t_def", "binder_x_f8d4faaab6031329d2d2f13175552828_0", + "@query", "b2t_def", "binder_x_8bf57e319697974178b3f839487d61ff_0", "constructor_distinct_Unit1.RecursiveTypeFunctions.S", "constructor_distinct_Unit1.RecursiveTypeFunctions.SofT", "disc_equation_Unit1.RecursiveTypeFunctions.S", @@ -163,7 +160,7 @@ "subterm_ordering_Unit1.RecursiveTypeFunctions.SofT" ], 0, - "90b1ed353fc746a34976fca5b9214ce3" + "ce0a4ddea307390ddeb4937547757951" ], [ "Unit1.RecursiveTypeFunctions.pointwise_eq", @@ -183,7 +180,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "dccb0d6896d50cd6efb30802cb1383e5" + "0227effe6c0936c0148ba98f959bbe24" ], [ "Unit1.RecursiveTypeFunctions.pointwise_eq_length", @@ -193,11 +190,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "520b8849af57543cfe9f8781412da2cf" + "1d642cd2b0a0de112e03bcda89fc4105" ], [ "Unit1.RecursiveTypeFunctions.pointwise_eq_length", @@ -210,8 +207,7 @@ "@fuel_correspondence_Unit1.RecursiveTypeFunctions.pointwise_eq.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Unit1.RecursiveTypeFunctions.pointwise_eq.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -220,9 +216,8 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_Unit1.RecursiveTypeFunctions.pointwise_eq.fuel_instrumented", "false_interp", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -234,7 +229,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "5c07f58a1147bc6307f70b1366eaa9ca" + "297d863b14714ef583ba2bcb6ee2f018" ], [ "Unit1.RecursiveTypeFunctions.pre_t", @@ -242,16 +237,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "52aa365ea790d46eb862d83835c02a47" + "eda1532885b2babb43bfcc14c173aaf2" ], [ "Unit1.RecursiveTypeFunctions.__proj__T__item___0", @@ -265,7 +257,7 @@ "refinement_interpretation_Tm_refine_dcce9542b98cdc0b1ce1526881708dd3" ], 0, - "0a0f999a0387d990a84dfedb8f6fb538" + "c448d51dd641dd481e0d9f605f6c2c2a" ], [ "Unit1.RecursiveTypeFunctions.__proj__TofS__item___0", @@ -279,7 +271,7 @@ "refinement_interpretation_Tm_refine_e6a5d49e9de9d9d32d37d5b69a69eb80" ], 0, - "880b1fb46f652550b5228649287e56e4" + "6a1ae8ae1b987f79b64d221ba1eae266" ], [ "Unit1.RecursiveTypeFunctions.__proj__S__item___0", @@ -293,7 +285,7 @@ "refinement_interpretation_Tm_refine_463ab24589f7b97a63a32a93a8999adc" ], 0, - "47686b3e97b2b1e0a81fc1769f67876b" + "38c3717498c0cada7ec91a03a79d2dd6" ], [ "Unit1.RecursiveTypeFunctions.__proj__SofT__item___0", @@ -307,7 +299,7 @@ "refinement_interpretation_Tm_refine_6c51bbe51c5c443619d248c8823721da" ], 0, - "34bcc7f08eb74bdd0695941d7c557d35" + "dd08baa75788cf9d7c940823f11a7a8b" ], [ "Unit1.RecursiveTypeFunctions.good_t", @@ -323,7 +315,7 @@ "subterm_ordering_Unit1.RecursiveTypeFunctions.TofS" ], 0, - "f244f19c640f35e48daef9ab63fee1c9" + "8ef67d2432a0088d54d49d64e3a50307" ], [ "Unit1.RecursiveTypeFunctions.good_t", @@ -339,7 +331,7 @@ "subterm_ordering_Unit1.RecursiveTypeFunctions.SofT" ], 0, - "edb1fc0c1b76faa5ea175978a301df0a" + "2bd7a8ee7a5486f2b767ccf2141d345b" ], [ "Unit1.RecursiveTypeFunctions.extract_nat_t", @@ -351,7 +343,7 @@ "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_s.fuel_instrumented", "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_t.fuel_instrumented", "@fuel_irrelevance_Unit1.RecursiveTypeFunctions.good_s.fuel_instrumented", - "@query", "b2t_def", "binder_x_82f527a714db151b64042595dd98fc3a_0", + "@query", "b2t_def", "binder_x_449e04ae025f7f462a05f8e29447ede6_0", "constructor_distinct_Unit1.RecursiveTypeFunctions.T", "constructor_distinct_Unit1.RecursiveTypeFunctions.TofS", "disc_equation_Unit1.RecursiveTypeFunctions.T", @@ -368,7 +360,7 @@ "subterm_ordering_Unit1.RecursiveTypeFunctions.TofS" ], 0, - "777da866b1536c26c246ebb183da8ab8" + "fab82996746f58bbdd3b2314ee07a317" ], [ "Unit1.RecursiveTypeFunctions.extract_nat_t", @@ -380,7 +372,7 @@ "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_s.fuel_instrumented", "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_t.fuel_instrumented", "@fuel_irrelevance_Unit1.RecursiveTypeFunctions.good_t.fuel_instrumented", - "@query", "b2t_def", "binder_x_f8d4faaab6031329d2d2f13175552828_0", + "@query", "b2t_def", "binder_x_8bf57e319697974178b3f839487d61ff_0", "constructor_distinct_Unit1.RecursiveTypeFunctions.S", "constructor_distinct_Unit1.RecursiveTypeFunctions.SofT", "disc_equation_Unit1.RecursiveTypeFunctions.S", @@ -398,7 +390,7 @@ "subterm_ordering_Unit1.RecursiveTypeFunctions.SofT" ], 0, - "d4f55d46ca8b378971a241f815325f78" + "b6e9077867c43eaabd1fe97f6024d827" ], [ "Unit1.RecursiveTypeFunctions.pointwise_eq", @@ -418,7 +410,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "2a86cdb14adae068b979f80e5f73f73b" + "7bcfe83966e79443ce9ea32e95b49f2b" ], [ "Unit1.RecursiveTypeFunctions.pointwise_eq_length", @@ -428,11 +420,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e2c8fcd2e326f1a6ed754cc5e604c0db" + "b37c285496802619c3823ced47bbaf91" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Unit1.TopLevelPats.fst.hints b/examples/micro-benchmarks/Unit1.TopLevelPats.fst.hints index b4e69323b0a..4b897600b91 100644 --- a/examples/micro-benchmarks/Unit1.TopLevelPats.fst.hints +++ b/examples/micro-benchmarks/Unit1.TopLevelPats.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "bbf8054310cfd9994203a05681e8d1f2" + "81f5380994d9dbb4261d47db814035d9" ], [ "Unit1.TopLevelPats.uu___8", @@ -31,7 +31,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "de6602f2b1b522caa2f80be1bc80e77d" + "3a6f52a07b69e884009bdb3dfbd039c6" ], [ "Unit1.TopLevelPats.uu___17", @@ -51,7 +51,7 @@ "typing_Unit1.TopLevelPats.z" ], 0, - "3a64611fb24d5fb70e76a2f7a5f4266a" + "87e564394fe75464fd1f3bd1baec0e48" ], [ "Unit1.TopLevelPats.uu___18", @@ -71,7 +71,7 @@ "typing_Unit1.TopLevelPats.w" ], 0, - "8fd19f7555e1e3966c66c27af4fa6ee9" + "2a83bc89400974f107e723d15b34c67c" ], [ "Unit1.TopLevelPats.uu___7", @@ -87,7 +87,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "4f2b8920e81b3448c5877b80827300ef" + "1e74805d291f7c61eabb3ce01140ad69" ], [ "Unit1.TopLevelPats.uu___8", @@ -103,7 +103,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "7c2d08facf57bc7a97cb4e12a372efbe" + "aaac04f872e63072ace8b9d1d3f82d8f" ], [ "Unit1.TopLevelPats.uu___17", @@ -123,7 +123,7 @@ "typing_Unit1.TopLevelPats.z" ], 0, - "52add7f426e2dd87e5b869f09397a439" + "6215dfde857b9b1189d1a2317bd32202" ], [ "Unit1.TopLevelPats.uu___18", @@ -143,7 +143,7 @@ "typing_Unit1.TopLevelPats.w" ], 0, - "fedc45f97de4ea4208bbc0d0ffcdbf68" + "de4b2d398aba55cd904e8c72a10f7cc2" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Unit1.UnificationTests.fst.hints b/examples/micro-benchmarks/Unit1.UnificationTests.fst.hints index 78737b415d5..1587465e2b5 100644 --- a/examples/micro-benchmarks/Unit1.UnificationTests.fst.hints +++ b/examples/micro-benchmarks/Unit1.UnificationTests.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Unit1.UnificationTests.some_enum" ], 0, - "5f8ffc145158e5ee910dbfc5c083f9ce" + "298a9f87187a642a8e6af42f2e78818e" ], [ "Unit1.UnificationTests.t_indexed", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_Unit1.UnificationTests.some_enum" ], 0, - "ef5d9b639aa891a844f8b62a1638e0cf" + "011831d8ff45a75022a372ec48d8a91a" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Unit1.WPsAndTriples.fst.hints b/examples/micro-benchmarks/Unit1.WPsAndTriples.fst.hints index 442c9ba3eb0..b5f1231be12 100644 --- a/examples/micro-benchmarks/Unit1.WPsAndTriples.fst.hints +++ b/examples/micro-benchmarks/Unit1.WPsAndTriples.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "a6e5d2e0702fb3c52b66e91d49097697" + "eaff266de947d203c27f26d23755e069" ], [ "Unit1.WPsAndTriples.h", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "4b695bd23c756b864370b7493fe9db1c" + "a550e376f8c211e0b25098bce7d913f4" ], [ "Unit1.WPsAndTriples.g", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "637a063ec9584bf608f46df36081250a" + "cd0c47220aba3a70cfa305db2eb510e1" ], [ "Unit1.WPsAndTriples.f", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "eb15e6db3357a7c4cac88c06baa53eca" + "ba1aed65b70c4aab266761220c95e24f" ], [ "Unit1.WPsAndTriples.h", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "98d289fdbc6bb326679c973305a321fd" + "6fdf83b19a38bab716dc09822ea4b04c" ], [ "Unit1.WPsAndTriples.g", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "2cbf652128fe63a5be6c9d941623157e" + "a5bca3187f0ada7c845b0f10cdae515f" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Unit1.WPsAndTriples_ST.fst.hints b/examples/micro-benchmarks/Unit1.WPsAndTriples_ST.fst.hints index 11f9c04da6a..3cdaf35495a 100644 --- a/examples/micro-benchmarks/Unit1.WPsAndTriples_ST.fst.hints +++ b/examples/micro-benchmarks/Unit1.WPsAndTriples_ST.fst.hints @@ -1,6 +1,15 @@ [ "™wÇà}k©b+ì\u007f•\u0006è±", [ + [ + "Unit1.WPsAndTriples_ST.f", + 1, + 2, + 1, + [ "@query" ], + 0, + "65866872beec59ac7c9a9f3dad5218ce" + ], [ "Unit1.WPsAndTriples_ST.g", 1, @@ -11,7 +20,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "55f82d0b1d09b3f33ba1de90f1806b9b" + "6c6795ab08ef0fac1ab56b21f88f6879" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/Unit2.fst b/examples/micro-benchmarks/Unit2.fst index d627d462857..1848d8781f6 100644 --- a/examples/micro-benchmarks/Unit2.fst +++ b/examples/micro-benchmarks/Unit2.fst @@ -28,9 +28,18 @@ type geq (z:int) = x:int{x >= z} let test5 _ = assert (nat == zat) +//SMT encoding does not encode delta equivalence +//It used to work accidentally for types that are equivalent +//for the unfolding of nullary constants +//But, not anymore, since the fix to bug #1750 +//Instead of SMT, this fact can be proven by normalization +[@(expect_failure [19])] let test6 _ = assert ((a:Type -> x:nat -> Tot (vector a x)) == (b:Type -> y:zat -> Tot (vector b y))) +let test7 _ = assert_norm ((a:Type -> x:nat -> Tot (vector a x)) == + (b:Type -> y:zat -> Tot (vector b y))) + (* let test7 _ = assert ((a:Type -> x:nat -> Tot (vector a x)) == *) (* (b:Type -> y:int{y>=0} -> Tot (vector b y))) *) diff --git a/examples/micro-benchmarks/Unit2.fst.hints b/examples/micro-benchmarks/Unit2.fst.hints index 5c0ba64f179..bbcbb7d7867 100644 --- a/examples/micro-benchmarks/Unit2.fst.hints +++ b/examples/micro-benchmarks/Unit2.fst.hints @@ -1,5 +1,5 @@ [ - "™F¼”œÑ©‰Òž\u0016DMh`Í", + "\u0000-×n³êô`î^O€¸\u0017†D", [ [ "Unit2.test1", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d9d757e4b29c8ea870c6a38a5107dfe2" + "d5e089f3ead7021ec8ff7141d3127213" ], [ "Unit2.test2", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "cf1e6977a9dcddc276d6ffa7db402de5" + "08b283473c755d1ac5ae6637abaa1753" ], [ "Unit2.test3", @@ -26,7 +26,7 @@ 1, [ "@query", "equation_Prims.nat" ], 0, - "41ba25fd7c6690d274f97b41f3e522a0" + "598c4ae0d3669bf9ec4b8aa895adda4c" ], [ "Unit2.test5", @@ -35,16 +35,16 @@ 1, [ "@query", "equation_Prims.nat", "equation_Unit2.zat" ], 0, - "76e18636c6f2cc0f8d6b17cacf3217f0" + "a95cb20217bc6ac361de9d70193f4241" ], [ - "Unit2.test6", + "Unit2.test7", 1, 2, 1, - [ "@query", "equation_Prims.nat", "equation_Unit2.zat" ], + [ "@query" ], 0, - "8d15bd31f580489487d16385e7157d40" + "31ac4d613ca5bf5650911a9579ae328c" ], [ "Unit2.__proj__Int__item__i", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_a80b1732c37b674c773643729bebf97c" ], 0, - "26548a6e3c7df4972eb4cea292b930af" + "8365ca43b7e66b821879eb384e13d3ff" ], [ "Unit2.__proj__Bool__item__b", @@ -70,7 +70,7 @@ "refinement_interpretation_Tm_refine_51f253259fbb75b1f44c4d01d8397ea7" ], 0, - "940f9cda171471db809089b1f8b3e627" + "d95c18ce14464d5c87cbc15daf960345" ], [ "Unit2.f", @@ -85,7 +85,7 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_Negation" ], 0, - "f4bb516d5ae7c755a3e3ae6c366bedbf" + "d476c701be161377fb051ef5991c28ba" ], [ "Unit2.test1", @@ -94,7 +94,7 @@ 1, [ "@query" ], 0, - "7f8d0ced20a4edc52cbd01fca963eee0" + "1a836fe54d9973c94a1c12dbdb7dc4c7" ], [ "Unit2.test2", @@ -103,7 +103,7 @@ 1, [ "@query" ], 0, - "af4b29c5731aba3f04fe1b70a7f423f8" + "af4b1fb5ecb3cca86f2517d5091f5ed2" ], [ "Unit2.test3", @@ -112,7 +112,7 @@ 1, [ "@query", "equation_Prims.nat" ], 0, - "c42fc75d7bd3c6c4e2ab6770909adbcf" + "61ff5759a1c21ef7e9554b2bbd097082" ], [ "Unit2.test5", @@ -121,16 +121,16 @@ 1, [ "@query", "equation_Prims.nat", "equation_Unit2.zat" ], 0, - "20798f1dd58cd0f281639a95fd4218ab" + "06962b5b6ac76c34376265cc3fda458d" ], [ - "Unit2.test6", + "Unit2.test7", 2, 2, 1, - [ "@query", "equation_Prims.nat", "equation_Unit2.zat" ], + [ "@query" ], 0, - "7bbd0e198c1266383594f70a4714efa1" + "411acfa1d3b0442471f53c01d89a721c" ], [ "Unit2.__proj__Int__item__i", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_a80b1732c37b674c773643729bebf97c" ], 0, - "f53c01c36500c7494dacc0780c5ec15c" + "ea11ede23baee5cf5bb8752fd6abeedf" ], [ "Unit2.__proj__Bool__item__b", @@ -156,7 +156,7 @@ "refinement_interpretation_Tm_refine_51f253259fbb75b1f44c4d01d8397ea7" ], 0, - "2e7163a905140a85aa0817e9082d7e5b" + "619561e5738ead601243e80a4c13831e" ], [ "Unit2.f", @@ -171,7 +171,7 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_Negation" ], 0, - "6e31f1a0e14c82228e18e5f5fa1c700b" + "6ebbf3196bc371c7bcd6cb2447dcd420" ] ] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/WPExtensionality.fst b/examples/micro-benchmarks/WPExtensionality.fst index 73e41274fb4..a824442737a 100644 --- a/examples/micro-benchmarks/WPExtensionality.fst +++ b/examples/micro-benchmarks/WPExtensionality.fst @@ -22,95 +22,95 @@ assume val wp2 : (int -> unit -> Type0) -> Type0 (* 1 arg direct *) let direct_1 () -= assert_by_tactic True - (fun () -> let tm = quote (forall p. (forall x. p x) ==> wp1 p) in - debug ("before = " ^ term_to_string tm); - let tm' = norm_term [simplify] tm in - debug ("after= " ^ term_to_string tm'); - if term_eq tm' (`(wp1 (fun (_:int) -> True))) - then () - else fail "failed") += assert True + by (let tm = quote (forall p. (forall x. p x) ==> wp1 p) in + debug ("before = " ^ term_to_string tm); + let tm' = norm_term [simplify] tm in + debug ("after= " ^ term_to_string tm'); + if term_eq tm' (`(wp1 (fun (_:int) -> True))) + then () + else fail "failed") (* 2 arg direct *) let direct_2 () -= assert_by_tactic True - (fun () -> let tm = quote (forall p. (forall x y. p x y) ==> wp2 p) in - debug ("before = " ^ term_to_string tm); - let tm' = norm_term [simplify] tm in - debug ("after= " ^ term_to_string tm'); - if term_eq tm' (`(wp2 (fun (_:int) (_:unit) -> True))) - then () - else fail "failed") += assert True + by (let tm = quote (forall p. (forall x y. p x y) ==> wp2 p) in + debug ("before = " ^ term_to_string tm); + let tm' = norm_term [simplify] tm in + debug ("after= " ^ term_to_string tm'); + if term_eq tm' (`(wp2 (fun (_:int) (_:unit) -> True))) + then () + else fail "failed") (* 1 arg indirect *) let indirect_1 -= assert_by_tactic True - (fun () -> admit(); - let tm = quote (forall p. (forall x. p x <==> True) ==> wp1 p) in - debug ("before = " ^ term_to_string tm); - let tm' = norm_term [simplify] tm in - debug ("after= " ^ term_to_string tm'); - if term_eq tm' (`(wp1 (fun (_:int) -> True))) - then () - else fail "failed") += assert True + by (admit(); + let tm = quote (forall p. (forall x. p x <==> True) ==> wp1 p) in + debug ("before = " ^ term_to_string tm); + let tm' = norm_term [simplify] tm in + debug ("after= " ^ term_to_string tm'); + if term_eq tm' (`(wp1 (fun (_:int) -> True))) + then () + else fail "failed") (* 2 arg indirect *) let indirect_2 () -= assert_by_tactic True - (fun () -> admit (); - let tm = quote (forall p. (forall x y. p x y <==> True) ==> wp2 p) in - debug ("before = " ^ term_to_string tm); - let tm' = norm_term [simplify] tm in - debug ("after= " ^ term_to_string tm'); - if term_eq tm' (`(wp2 (fun (_:int) (_:unit) -> True))) - then () - else fail "failed") += assert True + by (admit (); + let tm = quote (forall p. (forall x y. p x y <==> True) ==> wp2 p) in + debug ("before = " ^ term_to_string tm); + let tm' = norm_term [simplify] tm in + debug ("after= " ^ term_to_string tm'); + if term_eq tm' (`(wp2 (fun (_:int) (_:unit) -> True))) + then () + else fail "failed") (* 1 arg negated direct *) let neg_direct_1 () -= assert_by_tactic True - (fun () -> let tm = quote (forall p. (forall x. ~(p x)) ==> wp1 p) in - debug ("before = " ^ term_to_string tm); - let tm' = norm_term [simplify] tm in - debug ("after= " ^ term_to_string tm'); - if term_eq tm' (`(wp1 (fun (_:int) -> False))) - then () - else fail "failed") += assert True + by (let tm = quote (forall p. (forall x. ~(p x)) ==> wp1 p) in + debug ("before = " ^ term_to_string tm); + let tm' = norm_term [simplify] tm in + debug ("after= " ^ term_to_string tm'); + if term_eq tm' (`(wp1 (fun (_:int) -> False))) + then () + else fail "failed") (* 2 arg negated direct *) let neg_direct_2 () -= assert_by_tactic True - (fun () -> let tm = quote (forall p. (forall x y. ~(p x y)) ==> wp2 p) in - debug ("before = " ^ term_to_string tm); - let tm' = norm_term [simplify] tm in - debug ("after= " ^ term_to_string tm'); - if term_eq tm' (`(wp2 (fun (_:int) (_:unit) -> False))) - then () - else fail "failed") += assert True + by (let tm = quote (forall p. (forall x y. ~(p x y)) ==> wp2 p) in + debug ("before = " ^ term_to_string tm); + let tm' = norm_term [simplify] tm in + debug ("after= " ^ term_to_string tm'); + if term_eq tm' (`(wp2 (fun (_:int) (_:unit) -> False))) + then () + else fail "failed") (* 1 arg negated indirect *) let neg_indirect_1 () -= assert_by_tactic True - (fun () -> admit(); - let tm = quote (forall p. (forall x. p x <==> False) ==> wp1 p) in - debug ("before = " ^ term_to_string tm); - let tm' = norm_term [simplify] tm in - debug ("after= " ^ term_to_string tm'); - if term_eq tm' (`(wp1 (fun (_:int) -> False))) - then () - else fail "failed") += assert True + by (admit(); + let tm = quote (forall p. (forall x. p x <==> False) ==> wp1 p) in + debug ("before = " ^ term_to_string tm); + let tm' = norm_term [simplify] tm in + debug ("after= " ^ term_to_string tm'); + if term_eq tm' (`(wp1 (fun (_:int) -> False))) + then () + else fail "failed") (* 2 arg negated indirect *) let neg_indirect_2 () -= assert_by_tactic True - (fun () -> admit (); - let tm = quote (forall p. (forall x y. p x y <==> False) ==> wp2 p) in - debug ("before = " ^ term_to_string tm); - let tm' = norm_term [simplify] tm in - debug ("after= " ^ term_to_string tm'); - if term_eq tm' (`(wp2 (fun (_:int) (_:unit) -> False))) - then () - else fail "failed") += assert True + by (admit (); + let tm = quote (forall p. (forall x y. p x y <==> False) ==> wp2 p) in + debug ("before = " ^ term_to_string tm); + let tm' = norm_term [simplify] tm in + debug ("after= " ^ term_to_string tm'); + if term_eq tm' (`(wp2 (fun (_:int) (_:unit) -> False))) + then () + else fail "failed") // Bug reported by Jay [@expect_failure] diff --git a/examples/micro-benchmarks/WPExtensionality.fst.hints b/examples/micro-benchmarks/WPExtensionality.fst.hints index d0eb9ba89bf..2173a1ebf2f 100644 --- a/examples/micro-benchmarks/WPExtensionality.fst.hints +++ b/examples/micro-benchmarks/WPExtensionality.fst.hints @@ -1 +1 @@ -[ "‰¦Ä°ß¬iç#k”\u000e\u0011“1\u0000", [] ] \ No newline at end of file +[ "\u0005plDÑ­ºös‰Á¢\u0007ÿCº", [] ] \ No newline at end of file diff --git a/examples/micro-benchmarks/friends/1/Makefile b/examples/micro-benchmarks/friends/1/Makefile deleted file mode 100644 index 9ab5699b206..00000000000 --- a/examples/micro-benchmarks/friends/1/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME=../../../.. -include ../../../Makefile.include -include ../Makefile diff --git a/examples/micro-benchmarks/friends/2/Makefile b/examples/micro-benchmarks/friends/2/Makefile deleted file mode 100644 index 9ab5699b206..00000000000 --- a/examples/micro-benchmarks/friends/2/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME=../../../.. -include ../../../Makefile.include -include ../Makefile diff --git a/examples/micro-benchmarks/friends/3/Makefile b/examples/micro-benchmarks/friends/3/Makefile deleted file mode 100644 index 9ab5699b206..00000000000 --- a/examples/micro-benchmarks/friends/3/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME=../../../.. -include ../../../Makefile.include -include ../Makefile diff --git a/examples/miniparse/MiniParse.Impl.Base.fst.hints b/examples/miniparse/MiniParse.Impl.Base.fst.hints index 040aafe96ba..9bcd1899792 100644 --- a/examples/miniparse/MiniParse.Impl.Base.fst.hints +++ b/examples/miniparse/MiniParse.Impl.Base.fst.hints @@ -8,15 +8,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8" ], 0, - "4fc55525137606b943a298067f7fba57" + "ddc4270d714995c49c29b20f132366d2" ], [ "MiniParse.Impl.Base.coerce_parser_impl", @@ -26,10 +23,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1a1ecfbf0ab0f71dc325bf1130a76f35" + "d9af6d11f072a0a122e498abc5ac5cf1" ], [ "MiniParse.Impl.Base.serializer_impl", @@ -54,7 +51,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "eb501735c6f5b4e164c8ddf8732b13be" + "85299689d11e6187f053e9ad76dfa644" ], [ "MiniParse.Impl.Base.parser_impl", @@ -63,15 +60,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8" ], 0, - "61f75562626bcb96431e289d363577a6" + "7e14779ea99092812d470c07689a440f" ], [ "MiniParse.Impl.Base.coerce_parser_impl", @@ -81,10 +75,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9e52ac406bfd50a688b31b04a9ac8fbd" + "0dccf1d46c0e9645026562b900c02dbb" ], [ "MiniParse.Impl.Base.coerce_parser_impl", @@ -94,10 +88,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e6491265ce94caf470e4f6be89f5b6d3" + "8f31de0c790e51e7ecb161fa0605dc99" ], [ "MiniParse.Impl.Base.serializer_impl", @@ -122,7 +116,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "6db5aa6f404a720bdf5bb71a637499e0" + "b2a1df685ea32f4958f7855f6e3bb1a6" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Impl.Combinators.fst.hints b/examples/miniparse/MiniParse.Impl.Combinators.fst.hints index 93fd3f59740..b7f0e710438 100644 --- a/examples/miniparse/MiniParse.Impl.Combinators.fst.hints +++ b/examples/miniparse/MiniParse.Impl.Combinators.fst.hints @@ -9,9 +9,7 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperStack.mem", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", @@ -25,9 +23,8 @@ "equation_MiniParse.Spec.Combinators.parse_ret", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", + "function_token_typing_FStar.UInt8.t", "int_typing", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -40,10 +37,10 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.loc_none", @@ -51,7 +48,7 @@ "typing_MiniParse.Spec.Combinators.parse_ret", "typing_Prims.pow2" ], 0, - "3856477b7565e8ed599ebbba7727c288" + "b405144ce325d167bbad00b1f7353cdc" ], [ "MiniParse.Impl.Combinators.serialize_empty_impl", @@ -61,48 +58,27 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.bare_serializer", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.parse_empty", "equation_MiniParse.Spec.Combinators.serialize_empty", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.Pervasives.invertOption", + "function_token_typing_Prims.unit", "int_typing", + "interpretation_Tm_abs_b7b0a736cd039536e76a0ce4f5dcb7b7", "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -113,31 +89,30 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt32.uint_to_t", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mgsub", "typing_Prims.pow2", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_inversion", - "unit_typing" + "typing_LowStar.Monotonic.Buffer.mgsub", + "typing_MiniParse.Spec.Base.serialize", + "typing_MiniParse.Spec.Combinators.parse_empty", + "typing_MiniParse.Spec.Combinators.serialize_empty", + "typing_Prims.pow2", "unit_inversion", "unit_typing" ], 0, - "0b9b2457f9f06df39d9ab0f328fd9b9f" + "84a097ea05b271a3eda585399d12c9a6" ], [ "MiniParse.Impl.Combinators.parse_and_then_impl", @@ -147,14 +122,15 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -162,7 +138,6 @@ "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.bare_parser", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", @@ -172,22 +147,21 @@ "equation_MiniParse.Spec.Combinators.and_then_bare", "equation_MiniParse.Spec.Combinators.and_then_cases_injective", "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", + "int_inversion", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_gsub", + "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_includes_none", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", @@ -205,25 +179,27 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_795fb455fe887e79d318ca3f6d129a29", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "true_interp", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.parse", - "typing_Tm_abs_6b9f07622de314635857db7a00b8f265" + "typing_MiniParse.Spec.Combinators.and_then" ], 0, - "b5f6a702ffdeba891c4f746f93b84344" + "b606cb272630365165cd773bb4693f01" ], [ "MiniParse.Impl.Combinators.parse_nondep_then_impl", @@ -232,16 +208,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Base_interpretation_Tm_arrow_8b94f06b65bdfa9931a04193ffed9763", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_23b9d98b390c442f64c83306fada9853", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_84eb031c18bd35e3c76ba4886d9ede0b", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ac0692899dfa447ad13c5f2aefde77c5", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "equation_MiniParse.Spec.Base.bare_parser", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Combinators.and_then", "equation_MiniParse.Spec.Combinators.and_then_bare", @@ -252,22 +226,21 @@ "equation_MiniParse.Spec.Combinators.parse_ret", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_67cc31e4cd95e9040eed6bf1482dd417", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_aec720a61e81f5f66fcca740b80664eb", - "partial_app_typing_aa417c34624199050813b07881526d71", + "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a", + "interpretation_Tm_abs_b1966e89e7cd8f7f0d8af601292dbb6f", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "kinding_FStar.Pervasives.Native.tuple2@tok", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "a8f67141340106cdf1af68b4a51d025f" + "0f4c806ef7f341865bd9609b866fb4b9" ], [ "MiniParse.Impl.Combinators.seq_append_slice", @@ -275,21 +248,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_MiniParse.Spec.Base.Serializer", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_Prims.nat", "equation_Prims.squash", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -301,20 +261,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c2f575b3d23d23189e5d12bd5a9e4337", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "typing_FStar.Seq.Base.length" ], 0, - "9df615014bece4a90e702c8a9d0483f4" + "7f711cdc5f29e1b7d318217c8faa768d" ], [ "MiniParse.Impl.Combinators.serialize_nondep_then_impl", @@ -322,25 +280,21 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_MiniParse.Spec.Base.Serializer", "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.Base.buffer8", @@ -350,34 +304,25 @@ "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.bare_serialize_nondep_then", "equation_MiniParse.Spec.Combinators.nondep_then", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Combinators.serialize_nondep_then", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", + "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_33d6ebd2f604b90bcf43964f0b57bbfd", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_64113ecd0ee525e7323eebf77f2bd8c9", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", + "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.gsub_gsub", + "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_gsub", @@ -401,35 +346,34 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", + "true_interp", "typing_FStar.Map.domain", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_MiniParse.Spec.Base.serialize", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Base.serialize" ], 0, - "7524efa24d0ad6492e212fe87cb8f4dd" + "4b0a336c2ca08f9dfcf0d6accca915ac" ], [ "MiniParse.Impl.Combinators.parse_synth_impl", @@ -439,16 +383,12 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParse.Impl.Combinators_interpretation_Tm_arrow_17a8ae48ff4e38c1b9892af4d61f9562", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", @@ -460,23 +400,17 @@ "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "equation_MiniParse.Spec.Combinators.parse_synth", "equation_Prims.squash", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowStar.Monotonic.Buffer.loc_none", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "partial_app_typing_aa417c34624199050813b07881526d71", "primitive_Prims.op_Addition", "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -484,18 +418,23 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_MiniParse.Spec.Base.__proj__Parser__item__f", + "typing_MiniParse.Spec.Base.bparse", + "typing_MiniParse.Spec.Combinators.and_then_bare" ], 0, - "0c7193e825fc817383ca1d562636f633" + "1fbc878bf8f3ad6c7e7b9853820080e6" ], [ "MiniParse.Impl.Combinators.serialize_synth_impl", @@ -504,24 +443,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "equation_MiniParse.Spec.Base.bytes", + "MiniParse.Impl.Combinators_interpretation_Tm_arrow_17a8ae48ff4e38c1b9892af4d61f9562", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.bare_serialize_synth", "equation_MiniParse.Spec.Combinators.parse_synth", "equation_MiniParse.Spec.Combinators.serialize_synth", "equation_Prims.l_and", "equation_Prims.squash", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "interpretation_Tm_abs_a739c2c8080b7a370d97e04cdc621b20", + "interpretation_Tm_abs_5726c850e5adc579388e02f8d1747910", "l_and-interp", "proj_equation_MiniParse.Spec.Base.Serializer_f", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "unit_inversion" ], 0, - "c041f57f7e26ad6fe55de535a2dec048" + "fd46ec5b62654242eb035c6619dd96d5" ], [ "MiniParse.Impl.Combinators.serialize_synth_impl'", @@ -532,12 +470,12 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", "equation_Prims.l_and", "equation_Prims.squash", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "l_and-interp", "l_quant_interp_537fae6837d3b2ff3f9f8d2cc5d05f24", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_and-interp", "l_quant_interp_11a503c7ec6c1d4e661305993abd5b17", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "unit_inversion" ], 0, - "3a697ef24bca53ee9f72df2e02212a9c" + "95903d147998067c20fecca07ab6723d" ], [ "MiniParse.Impl.Combinators.parse_filter_impl", @@ -547,17 +485,14 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "MiniParse.Impl.Combinators_interpretation_Tm_arrow_e67e1cf02410ac3968fa1518d8fab72e", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.bparse", @@ -575,14 +510,11 @@ "equation_MiniParse.Spec.Combinators.parse_ret", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_92382c1c22acef1240f22e978450f6f6", - "interpretation_Tm_abs_e9ed39f641c8e126edd4b315c3640938", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", + "interpretation_Tm_abs_70f489119d60d8732ac22a9de0b5f7be", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_Addition", "proj_equation_MiniParse.Spec.Base.Parser_f", @@ -593,9 +525,9 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_d4f23485b8c30988b700aa6b6f5e5f32", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", @@ -604,11 +536,10 @@ "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Combinators.parse_filter", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Combinators.parse_filter" ], 0, - "6380d8be87e21a49d38d7cdf704966d8" + "6536c3f92d156ef3a70c6fbc8e720241" ], [ "MiniParse.Impl.Combinators.serialize_filter_impl", @@ -617,19 +548,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.parse_filter", "equation_MiniParse.Spec.Combinators.serialize_filter", "equation_MiniParse.Spec.Combinators.serialize_filter_", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "interpretation_Tm_abs_0b21701f93e4f4fdea7c77b23b854271", + "interpretation_Tm_abs_f1ff1752f992f8166b0d544dd38cf6b2", "proj_equation_MiniParse.Spec.Base.Serializer_f", "projection_inverse_MiniParse.Spec.Base.Serializer_f", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f" ], 0, - "e01ecf8fadfee48532e390bff1a7e2d8" + "f3014840de462c87e7db5f9c1876a48e" ], [ "MiniParse.Impl.Combinators.make_constant_size_parser_impl", @@ -642,11 +572,11 @@ "equation_MiniParse.Spec.Base.byte", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_c24220f534a8e3c0586a244123d58329", + "refinement_interpretation_Tm_refine_20d07c17222b6216b9179e79f8c04275", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "2b99ab05813f728c0d66a9dd67b191a9" + "e63badeb4067ff1ccdc43fe0d0c6bb3a" ], [ "MiniParse.Impl.Combinators.make_constant_size_parser_impl", @@ -655,15 +585,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", + "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", @@ -684,16 +610,14 @@ "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.Combinators.make_constant_size_parser", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", @@ -714,13 +638,13 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -732,11 +656,10 @@ "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.loc_none", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Combinators.make_constant_size_parser_aux", - "unit_typing" + "typing_MiniParse.Spec.Combinators.make_constant_size_parser_aux" ], 0, - "0fd147ecbe02c81aa1896e02c605f00f" + "8b2438b1703aeee7b5b3525090a66bb2" ], [ "MiniParse.Impl.Combinators.make_total_constant_size_parser_impl", @@ -749,11 +672,11 @@ "equation_MiniParse.Spec.Base.byte", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_c24220f534a8e3c0586a244123d58329", + "refinement_interpretation_Tm_refine_20d07c17222b6216b9179e79f8c04275", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "ffb6a33604e6df2f656ac14c07c14843" + "0be5edaa4398d7963f53dca656ee125f" ], [ "MiniParse.Impl.Combinators.make_total_constant_size_parser_impl", @@ -762,8 +685,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -787,17 +709,15 @@ "equation_MiniParse.Spec.Combinators.make_constant_size_parser", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "interpretation_Tm_abs_58be95b26582b1c154eb6e5a49ee6ad4", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", @@ -817,14 +737,14 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_795fb455fe887e79d318ca3f6d129a29", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -838,7 +758,7 @@ "typing_MiniParse.Spec.Combinators.make_total_constant_size_parser" ], 0, - "3d1c8e4b39b70bf9c7c4a86fd9eb4576" + "73d28af2e2f97d2dd73a9373e98f2876" ], [ "MiniParse.Impl.Combinators.parse_ret_impl", @@ -848,9 +768,7 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperStack.mem", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", @@ -864,9 +782,8 @@ "equation_MiniParse.Spec.Combinators.parse_ret", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", + "function_token_typing_FStar.UInt8.t", "int_typing", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -879,10 +796,10 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.loc_none", @@ -890,7 +807,7 @@ "typing_MiniParse.Spec.Combinators.parse_ret", "typing_Prims.pow2" ], 0, - "3d90f384c68fe5a56194eb454a636620" + "d562a917cfcf8d6dd0c1c5d219989cad" ], [ "MiniParse.Impl.Combinators.serialize_empty_impl", @@ -900,49 +817,27 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.bare_serializer", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.parse_empty", "equation_MiniParse.Spec.Combinators.serialize_empty", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.Pervasives.invertOption", + "function_token_typing_Prims.unit", "int_typing", + "interpretation_Tm_abs_b7b0a736cd039536e76a0ce4f5dcb7b7", "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -953,31 +848,30 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt32.uint_to_t", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mgsub", "typing_Prims.pow2", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_inversion", - "unit_typing" + "typing_LowStar.Monotonic.Buffer.mgsub", + "typing_MiniParse.Spec.Base.serialize", + "typing_MiniParse.Spec.Combinators.parse_empty", + "typing_MiniParse.Spec.Combinators.serialize_empty", + "typing_Prims.pow2", "unit_inversion", "unit_typing" ], 0, - "d7f7a44ac8c39ac4916695776b8112c3" + "baba565965ff1be4680bbf4bdfd56822" ], [ "MiniParse.Impl.Combinators.parse_and_then_impl", @@ -987,10 +881,8 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ce3c5e46aa08229e6b50ae91f4b2300d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -1005,7 +897,6 @@ "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.bare_parser", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", @@ -1015,20 +906,16 @@ "equation_MiniParse.Spec.Combinators.and_then_bare", "equation_MiniParse.Spec.Combinators.and_then_cases_injective", "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -1051,30 +938,27 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_795fb455fe887e79d318ca3f6d129a29", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Combinators.and_then", - "typing_Tm_abs_6b9f07622de314635857db7a00b8f265" + "typing_MiniParse.Spec.Combinators.and_then" ], 0, - "248ddca55ab5f4bb0f0ab3c5a93079ac" + "8d2913d051b4dd4a5acc106fd18789f2" ], [ "MiniParse.Impl.Combinators.parse_and_then_impl", @@ -1085,10 +969,10 @@ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Combinators.and_then_cases_injective", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c734a78632a38f3a6ca287ae406598c8" + "b86f1fc598a392ae41f1d0af763c4bb1" ], [ "MiniParse.Impl.Combinators.parse_nondep_then_impl", @@ -1097,16 +981,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Base_interpretation_Tm_arrow_8b94f06b65bdfa9931a04193ffed9763", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_23b9d98b390c442f64c83306fada9853", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_84eb031c18bd35e3c76ba4886d9ede0b", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ac0692899dfa447ad13c5f2aefde77c5", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "equation_MiniParse.Spec.Base.bare_parser", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Combinators.and_then", "equation_MiniParse.Spec.Combinators.and_then_bare", @@ -1117,22 +999,21 @@ "equation_MiniParse.Spec.Combinators.parse_ret", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_67cc31e4cd95e9040eed6bf1482dd417", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_aec720a61e81f5f66fcca740b80664eb", - "partial_app_typing_aa417c34624199050813b07881526d71", + "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a", + "interpretation_Tm_abs_b1966e89e7cd8f7f0d8af601292dbb6f", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "kinding_FStar.Pervasives.Native.tuple2@tok", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "df37eca470978fdc849f91d8e5eed694" + "624a0ee9101dab190e62d1449c7b2351" ], [ "MiniParse.Impl.Combinators.seq_append_slice", @@ -1140,24 +1021,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_MiniParse.Spec.Base.byte", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_Prims.nat", "equation_Prims.squash", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Seq.Base.length" ], 0, - "214386afb4465dcac650040f387e9704" + "2a552632f129580ea4921147b4768928" ], [ "MiniParse.Impl.Combinators.serialize_nondep_then_impl", @@ -1167,21 +1042,19 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_MiniParse.Spec.Base.Serializer", "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.Base.buffer8", @@ -1191,32 +1064,25 @@ "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.bare_serialize_nondep_then", "equation_MiniParse.Spec.Combinators.nondep_then", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Combinators.serialize_nondep_then", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", + "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_33d6ebd2f604b90bcf43964f0b57bbfd", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_64113ecd0ee525e7323eebf77f2bd8c9", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.gsub_gsub", + "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_gsub", @@ -1240,36 +1106,33 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "true_interp", "typing_FStar.Map.domain", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_MiniParse.Spec.Base.serialize", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Base.serialize" ], 0, - "a5e856db67cac39bd4d09e753c954f03" + "e106cf46282038b35e829e348d202061" ], [ "MiniParse.Impl.Combinators.parse_synth_impl", @@ -1279,16 +1142,12 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParse.Impl.Combinators_interpretation_Tm_arrow_17a8ae48ff4e38c1b9892af4d61f9562", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", @@ -1300,23 +1159,17 @@ "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "equation_MiniParse.Spec.Combinators.parse_synth", "equation_Prims.squash", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowStar.Monotonic.Buffer.loc_none", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "partial_app_typing_aa417c34624199050813b07881526d71", "primitive_Prims.op_Addition", "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -1324,18 +1177,23 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_MiniParse.Spec.Base.__proj__Parser__item__f", + "typing_MiniParse.Spec.Base.bparse", + "typing_MiniParse.Spec.Combinators.and_then_bare" ], 0, - "53b05fc3bc856469a4fa74398f0b85ec" + "95582510efd43579e137684496637937" ], [ "MiniParse.Impl.Combinators.parse_synth_impl", @@ -1344,10 +1202,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "448e28ad80119b7d3f0e9f4ff57ddde4" + "6cb0fd275efa023bc11b83242d86d01b" ], [ "MiniParse.Impl.Combinators.serialize_synth_impl", @@ -1356,24 +1214,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "equation_MiniParse.Spec.Base.bytes", + "MiniParse.Impl.Combinators_interpretation_Tm_arrow_17a8ae48ff4e38c1b9892af4d61f9562", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.bare_serialize_synth", "equation_MiniParse.Spec.Combinators.parse_synth", "equation_MiniParse.Spec.Combinators.serialize_synth", "equation_Prims.l_and", "equation_Prims.squash", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "interpretation_Tm_abs_a739c2c8080b7a370d97e04cdc621b20", + "interpretation_Tm_abs_5726c850e5adc579388e02f8d1747910", "l_and-interp", "proj_equation_MiniParse.Spec.Base.Serializer_f", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "unit_inversion" ], 0, - "dc1bcd74e88cb24fb2803462833ce3d5" + "38c0445177548a8f72f8aec09cc85483" ], [ "MiniParse.Impl.Combinators.serialize_synth_impl", @@ -1383,10 +1240,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3ddc738c37d89d33264c30f0e2d36406" + "5c7af8d751a5c183254b3b0cd74670ea" ], [ "MiniParse.Impl.Combinators.serialize_synth_impl'", @@ -1397,12 +1254,12 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", "equation_Prims.l_and", "equation_Prims.squash", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "l_and-interp", "l_quant_interp_537fae6837d3b2ff3f9f8d2cc5d05f24", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_and-interp", "l_quant_interp_11a503c7ec6c1d4e661305993abd5b17", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "unit_inversion" ], 0, - "70abf1fa21966f19c8a3ed5a0e2a9d2f" + "0a10b37237fc603f17eb3360ec3b28e2" ], [ "MiniParse.Impl.Combinators.serialize_synth_impl'", @@ -1412,10 +1269,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0ea70518dc1259ab1b6d428ace7754b5" + "dcee43c778eeb13a36111112c52c65a1" ], [ "MiniParse.Impl.Combinators.parse_filter_impl", @@ -1425,17 +1282,14 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "MiniParse.Impl.Combinators_interpretation_Tm_arrow_e67e1cf02410ac3968fa1518d8fab72e", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.bparse", @@ -1453,14 +1307,11 @@ "equation_MiniParse.Spec.Combinators.parse_ret", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_92382c1c22acef1240f22e978450f6f6", - "interpretation_Tm_abs_e9ed39f641c8e126edd4b315c3640938", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", + "interpretation_Tm_abs_70f489119d60d8732ac22a9de0b5f7be", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_Addition", "proj_equation_MiniParse.Spec.Base.Parser_f", @@ -1471,9 +1322,9 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_d4f23485b8c30988b700aa6b6f5e5f32", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", @@ -1482,11 +1333,10 @@ "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Combinators.parse_filter", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Combinators.parse_filter" ], 0, - "08bf46ccc45432cbbe5a376e17537263" + "0d0d8ac2c409452621940879021a69a5" ], [ "MiniParse.Impl.Combinators.serialize_filter_impl", @@ -1495,19 +1345,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.parse_filter", "equation_MiniParse.Spec.Combinators.serialize_filter", "equation_MiniParse.Spec.Combinators.serialize_filter_", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "interpretation_Tm_abs_0b21701f93e4f4fdea7c77b23b854271", + "interpretation_Tm_abs_f1ff1752f992f8166b0d544dd38cf6b2", "proj_equation_MiniParse.Spec.Base.Serializer_f", "projection_inverse_MiniParse.Spec.Base.Serializer_f", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f" ], 0, - "042976b0a9767f624fcd23093535fd91" + "60d33ecce001e290b72c05778b2f259a" ], [ "MiniParse.Impl.Combinators.make_constant_size_parser_impl", @@ -1520,11 +1369,11 @@ "equation_MiniParse.Spec.Base.byte", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_c24220f534a8e3c0586a244123d58329", + "refinement_interpretation_Tm_refine_20d07c17222b6216b9179e79f8c04275", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "8286f6ed063329c12627ee67d96f326d" + "4220dd7c6c52fb6ace1802b2ee45e819" ], [ "MiniParse.Impl.Combinators.make_constant_size_parser_impl", @@ -1533,11 +1382,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", @@ -1558,16 +1407,14 @@ "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.Combinators.make_constant_size_parser", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", @@ -1588,13 +1435,13 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -1609,7 +1456,7 @@ "typing_MiniParse.Spec.Combinators.make_constant_size_parser_aux" ], 0, - "40670f02049f751147436be087da8f8f" + "2188e455dfde2d5d03261f7f00b46481" ], [ "MiniParse.Impl.Combinators.make_constant_size_parser_impl", @@ -1618,16 +1465,17 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.byte", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_c24220f534a8e3c0586a244123d58329", + "refinement_interpretation_Tm_refine_20d07c17222b6216b9179e79f8c04275", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "9361e14c9d42b45a46df2019c0356248" + "e4a2d7fcd4de2759dfbffcb729f1ab81" ], [ "MiniParse.Impl.Combinators.make_total_constant_size_parser_impl", @@ -1640,11 +1488,11 @@ "equation_MiniParse.Spec.Base.byte", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_c24220f534a8e3c0586a244123d58329", + "refinement_interpretation_Tm_refine_20d07c17222b6216b9179e79f8c04275", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "661409c242ce07c11579444e9ea11495" + "82fe80cf6ea754bd5e670b51cf8012ff" ], [ "MiniParse.Impl.Combinators.make_total_constant_size_parser_impl", @@ -1653,8 +1501,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1678,17 +1525,15 @@ "equation_MiniParse.Spec.Combinators.make_constant_size_parser", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "interpretation_Tm_abs_58be95b26582b1c154eb6e5a49ee6ad4", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", @@ -1708,14 +1553,14 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_795fb455fe887e79d318ca3f6d129a29", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -1729,7 +1574,7 @@ "typing_MiniParse.Spec.Combinators.make_total_constant_size_parser" ], 0, - "a899d97d94fb6dcd4392b766d870637f" + "96cec10b2325c5d60b54c69710e4d7a1" ], [ "MiniParse.Impl.Combinators.make_total_constant_size_parser_impl", @@ -1738,16 +1583,17 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.byte", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_c24220f534a8e3c0586a244123d58329", + "refinement_interpretation_Tm_refine_20d07c17222b6216b9179e79f8c04275", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "320da0e54d359f37545d1d8697b9b6dc" + "9c5dd8fd6b72cbebd8edd86054684125" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Impl.Int.fst.hints b/examples/miniparse/MiniParse.Impl.Int.fst.hints index 9b286a7a72d..fd2c9ef9a87 100644 --- a/examples/miniparse/MiniParse.Impl.Int.fst.hints +++ b/examples/miniparse/MiniParse.Impl.Int.fst.hints @@ -8,29 +8,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser_precond", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_2b8fa38de99da038dc88ddf2f6c0bfbb", + "interpretation_Tm_abs_8a31b19a1d76478fab1a92b3580ce9db", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_6f4652d33c371e59262ee501415c0ace", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_de1cec5c540bb7dee824e05ea76d5280", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", + "refinement_interpretation_Tm_refine_423fdb34d4b75c3bab2168e5abf27989", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_686a5fd412754d3b3a22a4d3cf1eb3e1", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "7860d00624d04d3b25883018a1a055f4" + "b4b392d35a2ea822d972cdd4266b70f9" ], [ "MiniParse.Impl.Int.serialize_u8_impl", @@ -41,36 +37,30 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", + "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", + "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Int.parse_u8", - "equation_MiniParse.Spec.Int.serialize_u8", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", + "equation_MiniParse.Spec.Int.serialize_u8", "equation_Prims.nat", + "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.t", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "lemma_FStar.Pervasives.invertOption", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_abe39403e7ecb7eefc1a316047051357", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -79,11 +69,13 @@ "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.Seq.Properties.upd_slice", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_gsub", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -95,26 +87,24 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "token_correspondence_Prims.pow2.fuel_instrumented", "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.loc_buffer", @@ -123,7 +113,7 @@ "typing_MiniParse.Spec.Int.serialize_u8" ], 0, - "9d407b3964e758d4d2fafdb0d4963688" + "6fd42a2c5eefd41074a17182d70dc6c5" ], [ "MiniParse.Impl.Int.parse_u16_impl", @@ -132,20 +122,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Int.parse_u16_aux", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_13c751b1cd60d3ecd1786be4234ecdee", - "refinement_interpretation_Tm_refine_8fc1d2c586f294b7bde773fe24bd704f", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_07f12a16276606a93474d48fd5f8b772", + "refinement_interpretation_Tm_refine_af8636cafa07354ad4272bfa8c0b3ef3", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "6762014b361e7d55cb83523e0c4e749f" + "917366b45774d46c07278b41b4eb2b47" ], [ "MiniParse.Impl.Int.serialize_u16_impl", @@ -156,25 +143,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", + "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", + "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", @@ -183,21 +169,19 @@ "equation_MiniParse.Spec.Int.parse_u16", "equation_MiniParse.Spec.Int.parse_u16_aux", "equation_MiniParse.Spec.Int.serialize_u16", - "equation_MiniParse.Spec.Int.serialize_u16_", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_MiniParse.Spec.Int.serialize_u16_", "equation_Prims.nat", + "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt32.t", + "function_token_typing_FStar.UInt16.t", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_MiniParse.Spec.Int.parse_u16_aux", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -206,14 +190,13 @@ "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -228,43 +211,42 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_13c751b1cd60d3ecd1786be4234ecdee", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3764d8b52e47f7800284117921eb8cc2", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", + "refinement_interpretation_Tm_refine_40a8c0ab0171d87d8d2dfc8c1b938266", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_af8636cafa07354ad4272bfa8c0b3ef3", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c4c00397311c9c965ed6bffb113c7575", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "token_correspondence_MiniParse.Spec.Int.parse_u16_aux", "token_correspondence_Prims.pow2.fuel_instrumented", "true_interp", - "typing_FStar.Int.Cast.uint16_to_uint8", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Int.Cast.uint16_to_uint8", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_MiniParse.Spec.Int.Aux.encode_u16" + "typing_MiniParse.Spec.Base.serialize", + "typing_MiniParse.Spec.Int.Aux.encode_u16", + "typing_MiniParse.Spec.Int.parse_u16", + "typing_MiniParse.Spec.Int.serialize_u16" ], 0, - "c76fb1485cf915b82f8affde7b0eb3c9" + "af1478e07158d570c09a911dfb2e3213" ], [ "MiniParse.Impl.Int.parse_bounded_u16_impl", @@ -275,32 +257,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "MiniParse.Impl.Int_interpretation_Tm_arrow_262d908c8bfb1fee9d4139f7219f05f3", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_8a6a8e306c1b006b0c3a58b0503be25c", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ce3c5e46aa08229e6b50ae91f4b2300d", - "MiniParse.Spec.Int_interpretation_Tm_arrow_5c4e36d41d0d28d99a62f6e651accf39", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", + "MiniParse.Impl.Int_interpretation_Tm_ghost_arrow_11a3052de0e5dcb7956a047027ae7d69", + "MiniParse.Impl.Int_interpretation_Tm_ghost_arrow_a7c933fd5bb0b55a3981b51677c379f4", + "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_b6fdf01d77647e45e27073a5ce6ef89d", + "MiniParse.Spec.Int_interpretation_Tm_ghost_arrow_c10cb60342a53d218fa6ba9eb354e5d2", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", "equation_FStar.Int16.n", + "constructor_distinct_Tm_unit", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.lt", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt16.lt", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.bare_parser", - "equation_MiniParse.Spec.Base.bare_serializer", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", @@ -312,41 +283,35 @@ "equation_MiniParse.Spec.Combinators.make_constant_size_parser", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser", - "equation_MiniParse.Spec.Combinators.parse_empty", "equation_MiniParse.Spec.Combinators.parse_filter", "equation_MiniParse.Spec.Combinators.parse_filter_payload", "equation_MiniParse.Spec.Combinators.parse_ret", "equation_MiniParse.Spec.Combinators.parse_synth", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.Int.bounded_u16", "equation_MiniParse.Spec.Int.parse_bounded_u16", "equation_MiniParse.Spec.Int.parse_u16", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Int16.n", "function_token_typing_FStar.UInt16.t", - "function_token_typing_FStar.UInt32.n", "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowStar.Monotonic.Buffer.loc_none", "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_MiniParse.Spec.Int.parse_u16", - "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_MiniParse.Spec.Int.parse_u16_aux", "int_inversion", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_1698f097e6e4da1ca61aa2524ebb84aa", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_416f13523682d026df5ec115706e07a0", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "interpretation_Tm_abs_6864a22d2e0f54d89da86a77cc6a6ef1", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_7e95d59e5f81c716d0e3639a3e695709", - "interpretation_Tm_abs_896d16731742ddbe5812a989f377389d", - "interpretation_Tm_abs_92382c1c22acef1240f22e978450f6f6", - "lemma_FStar.Int.pow2_values", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", + "interpretation_Tm_abs_379a8ad10ba5daa7becb86c13242308c", + "interpretation_Tm_abs_58be95b26582b1c154eb6e5a49ee6ad4", + "interpretation_Tm_abs_66066ed7b050ca3d7143efba65295160", + "interpretation_Tm_abs_6b5eee671c81a9a2748f24900cb0dc3c", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "interpretation_Tm_abs_d2d893f706a9d346b33a526c979efa8b", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "interpretation_Tm_abs_f93fc952529fa217538632e90133d07f", "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", @@ -359,41 +324,38 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", + "projection_inverse_MiniParse.Spec.Base.Parser_t", + "refinement_interpretation_Tm_refine_15105f0ad7318b3348d436c7619fd5de", + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_778ab6f4ddc6a50dffe20fdcd7f849b3", "refinement_interpretation_Tm_refine_795fb455fe887e79d318ca3f6d129a29", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb23b672d47da008f1b639a164584fa8", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_af8636cafa07354ad4272bfa8c0b3ef3", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt16.v", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt16.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_MiniParse.Spec.Base.bparse", + "typing_LowStar.Monotonic.Buffer.loc_none", "typing_MiniParse.Spec.Base.parse", + "typing_MiniParse.Spec.Combinators.make_total_constant_size_parser", "typing_MiniParse.Spec.Combinators.parse_synth", "typing_MiniParse.Spec.Int.bounded_u16", "typing_MiniParse.Spec.Int.parse_bounded_u16", - "typing_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "typing_Tm_abs_416f13523682d026df5ec115706e07a0", - "typing_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", - "typing_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "typing_Tm_abs_6864a22d2e0f54d89da86a77cc6a6ef1", "unit_typing" + "typing_Tm_abs_f93fc952529fa217538632e90133d07f" ], 0, - "d839abde1a798131785df67f4109834c" + "03ef3bb608e2db30c83a1378db6b92d2" ], [ "MiniParse.Impl.Int.serialize_bounded_u16_impl", @@ -402,7 +364,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.bytes", + "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.bare_serialize_synth", "equation_MiniParse.Spec.Combinators.parse_filter", @@ -415,16 +377,16 @@ "equation_MiniParse.Spec.Int.serialize_bounded_u16", "equation_MiniParse.Spec.Int.serialize_u16", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_0b21701f93e4f4fdea7c77b23b854271", - "interpretation_Tm_abs_1698f097e6e4da1ca61aa2524ebb84aa", - "interpretation_Tm_abs_a739c2c8080b7a370d97e04cdc621b20", + "interpretation_Tm_abs_5726c850e5adc579388e02f8d1747910", + "interpretation_Tm_abs_6b5eee671c81a9a2748f24900cb0dc3c", + "interpretation_Tm_abs_f1ff1752f992f8166b0d544dd38cf6b2", "proj_equation_MiniParse.Spec.Base.Serializer_f", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f" ], 0, - "33cad8fb9c2d2091dddf2fb512127586" + "3bb5f13b137d63fbbef804896bdbca00" ], [ "MiniParse.Impl.Int.parse_u8_impl", @@ -433,29 +395,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser_precond", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_2b8fa38de99da038dc88ddf2f6c0bfbb", + "interpretation_Tm_abs_8a31b19a1d76478fab1a92b3580ce9db", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_6f4652d33c371e59262ee501415c0ace", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_de1cec5c540bb7dee824e05ea76d5280", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", + "refinement_interpretation_Tm_refine_423fdb34d4b75c3bab2168e5abf27989", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_686a5fd412754d3b3a22a4d3cf1eb3e1", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "90048424b6e14d0a1ed6232e71c5aa23" + "80330c6419994477ca9ffd256222696b" ], [ "MiniParse.Impl.Int.serialize_u8_impl", @@ -466,15 +424,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -486,17 +440,14 @@ "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Int.parse_u8", - "equation_MiniParse.Spec.Int.serialize_u8", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", + "equation_MiniParse.Spec.Int.serialize_u8", "equation_Prims.nat", + "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.t", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "lemma_FStar.Pervasives.invertOption", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_abe39403e7ecb7eefc1a316047051357", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -505,11 +456,13 @@ "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.Seq.Properties.upd_slice", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_gsub", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -521,36 +474,33 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "token_correspondence_Prims.pow2.fuel_instrumented", "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_MiniParse.Spec.Base.serialize", "typing_MiniParse.Spec.Int.parse_u8", - "typing_MiniParse.Spec.Int.serialize_u8", "typing_Prims.pow2" + "typing_MiniParse.Spec.Int.serialize_u8" ], 0, - "1f44ea69ee996cc937ff889a91a13228" + "0bd55eb568e9c99684483ddaff2da9c0" ], [ "MiniParse.Impl.Int.parse_u16_impl", @@ -559,20 +509,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Int.parse_u16_aux", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_13c751b1cd60d3ecd1786be4234ecdee", - "refinement_interpretation_Tm_refine_8fc1d2c586f294b7bde773fe24bd704f", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_07f12a16276606a93474d48fd5f8b772", + "refinement_interpretation_Tm_refine_af8636cafa07354ad4272bfa8c0b3ef3", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "f6fc10ec95ec58554f9aead25ab340ea" + "b08200c49e7c4aa2a2ab704b8c9b2272" ], [ "MiniParse.Impl.Int.serialize_u16_impl", @@ -583,8 +530,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -611,18 +557,16 @@ "equation_MiniParse.Spec.Int.parse_u16", "equation_MiniParse.Spec.Int.parse_u16_aux", "equation_MiniParse.Spec.Int.serialize_u16", - "equation_MiniParse.Spec.Int.serialize_u16_", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_MiniParse.Spec.Int.serialize_u16_", "equation_Prims.nat", + "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt32.t", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_MiniParse.Spec.Int.parse_u16_aux", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Pervasives.invertOption", @@ -635,12 +579,14 @@ "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_gsub", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_refl", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -655,21 +601,21 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_13c751b1cd60d3ecd1786be4234ecdee", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3764d8b52e47f7800284117921eb8cc2", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", + "refinement_interpretation_Tm_refine_40a8c0ab0171d87d8d2dfc8c1b938266", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_af8636cafa07354ad4272bfa8c0b3ef3", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c4c00397311c9c965ed6bffb113c7575", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "token_correspondence_MiniParse.Spec.Int.parse_u16_aux", "token_correspondence_Prims.pow2.fuel_instrumented", "true_interp", @@ -690,7 +636,7 @@ "typing_MiniParse.Spec.Int.Aux.encode_u16" ], 0, - "05c26cf7e299d51dc9442b0e3f3c46c4" + "657daf20114e4c01c6668458979204bc" ], [ "MiniParse.Impl.Int.parse_bounded_u16_impl", @@ -701,31 +647,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "MiniParse.Impl.Int_interpretation_Tm_arrow_262d908c8bfb1fee9d4139f7219f05f3", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_d726b863a7974ee0a6f5595873bb4abe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_5c4e36d41d0d28d99a62f6e651accf39", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8fac8ab2a09aa633481733abfd98d077", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", + "MiniParse.Impl.Int_interpretation_Tm_ghost_arrow_11a3052de0e5dcb7956a047027ae7d69", + "MiniParse.Impl.Int_interpretation_Tm_ghost_arrow_a7c933fd5bb0b55a3981b51677c379f4", + "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_b6fdf01d77647e45e27073a5ce6ef89d", + "MiniParse.Spec.Int_interpretation_Tm_ghost_arrow_c10cb60342a53d218fa6ba9eb354e5d2", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_MiniParse.Spec.Base.Serializer", "equation_FStar.Int16.n", + "constructor_distinct_Tm_unit", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.lt", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt16.lt", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.bare_parser", - "equation_MiniParse.Spec.Base.bare_serializer", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", @@ -737,43 +673,35 @@ "equation_MiniParse.Spec.Combinators.make_constant_size_parser", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser", - "equation_MiniParse.Spec.Combinators.parse_empty", "equation_MiniParse.Spec.Combinators.parse_filter", "equation_MiniParse.Spec.Combinators.parse_filter_payload", "equation_MiniParse.Spec.Combinators.parse_ret", "equation_MiniParse.Spec.Combinators.parse_synth", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.Int.bounded_u16", "equation_MiniParse.Spec.Int.parse_bounded_u16", "equation_MiniParse.Spec.Int.parse_u16", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Int16.n", "function_token_typing_FStar.UInt16.t", - "function_token_typing_FStar.UInt32.n", "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowStar.Monotonic.Buffer.loc_none", "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_MiniParse.Spec.Int.parse_u16", "function_token_typing_MiniParse.Spec.Int.parse_u16_aux", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_1698f097e6e4da1ca61aa2524ebb84aa", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_416f13523682d026df5ec115706e07a0", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "interpretation_Tm_abs_6864a22d2e0f54d89da86a77cc6a6ef1", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_7e95d59e5f81c716d0e3639a3e695709", - "interpretation_Tm_abs_896d16731742ddbe5812a989f377389d", - "interpretation_Tm_abs_92382c1c22acef1240f22e978450f6f6", - "lemma_FStar.Int.pow2_values", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", + "interpretation_Tm_abs_379a8ad10ba5daa7becb86c13242308c", + "interpretation_Tm_abs_58be95b26582b1c154eb6e5a49ee6ad4", + "interpretation_Tm_abs_66066ed7b050ca3d7143efba65295160", + "interpretation_Tm_abs_6b5eee671c81a9a2748f24900cb0dc3c", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "interpretation_Tm_abs_d2d893f706a9d346b33a526c979efa8b", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "interpretation_Tm_abs_f93fc952529fa217538632e90133d07f", "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", @@ -786,41 +714,38 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_13c751b1cd60d3ecd1786be4234ecdee", + "projection_inverse_MiniParse.Spec.Base.Parser_t", + "refinement_interpretation_Tm_refine_15105f0ad7318b3348d436c7619fd5de", + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_77c014063b2dfee7b49c5f91ef79f44c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_778ab6f4ddc6a50dffe20fdcd7f849b3", "refinement_interpretation_Tm_refine_795fb455fe887e79d318ca3f6d129a29", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb23b672d47da008f1b639a164584fa8", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_af8636cafa07354ad4272bfa8c0b3ef3", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt16.v", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt16.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_MiniParse.Spec.Base.bparse", + "typing_LowStar.Monotonic.Buffer.loc_none", "typing_MiniParse.Spec.Base.parse", + "typing_MiniParse.Spec.Combinators.make_total_constant_size_parser", "typing_MiniParse.Spec.Combinators.parse_synth", "typing_MiniParse.Spec.Int.bounded_u16", "typing_MiniParse.Spec.Int.parse_bounded_u16", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_416f13523682d026df5ec115706e07a0", - "typing_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", - "typing_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "typing_Tm_abs_6864a22d2e0f54d89da86a77cc6a6ef1", "unit_typing" + "typing_Tm_abs_f93fc952529fa217538632e90133d07f" ], 0, - "0626a58a944a8973d3a0a3662fd438a6" + "cfb6df75acf30755bae534c55e53d74c" ], [ "MiniParse.Impl.Int.serialize_bounded_u16_impl", @@ -829,7 +754,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.bytes", + "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.bare_serialize_synth", "equation_MiniParse.Spec.Combinators.parse_filter", @@ -842,16 +767,16 @@ "equation_MiniParse.Spec.Int.serialize_bounded_u16", "equation_MiniParse.Spec.Int.serialize_u16", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_0b21701f93e4f4fdea7c77b23b854271", - "interpretation_Tm_abs_1698f097e6e4da1ca61aa2524ebb84aa", - "interpretation_Tm_abs_a739c2c8080b7a370d97e04cdc621b20", + "interpretation_Tm_abs_5726c850e5adc579388e02f8d1747910", + "interpretation_Tm_abs_6b5eee671c81a9a2748f24900cb0dc3c", + "interpretation_Tm_abs_f1ff1752f992f8166b0d544dd38cf6b2", "proj_equation_MiniParse.Spec.Base.Serializer_f", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f" ], 0, - "c53c88ca3660cd36b68f966aa9344528" + "ba8f9eb3db86ea615bdc28e3ff349d50" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Impl.List.fst.hints b/examples/miniparse/MiniParse.Impl.List.fst.hints index ad007ac278e..3698834a98d 100644 --- a/examples/miniparse/MiniParse.Impl.List.fst.hints +++ b/examples/miniparse/MiniParse.Impl.List.fst.hints @@ -7,35 +7,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.List.parse_nlist_impl_inv_easy", - "equation_MiniParse.Spec.Base.byte", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "true_interp", "typing_FStar.UInt32.v", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "45be319713ef277619a9935bb5076805" + "1c8f5884367e507632a882435c634eae" ], [ "MiniParse.Impl.List.list_assoc_append", @@ -58,7 +48,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a" ], 0, - "3a75c7c4dcc491d914cc6c12df976021" + "1dba394d603c3a9fe8afee7778d3570c" ], [ "MiniParse.Impl.List.parse_nlist_impl_inv_false_intro", @@ -66,17 +56,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "b8c365c33393923416f303f09f46a8fa" + "b123d70c61ef4cf44afc266827a38040" ], [ "MiniParse.Impl.List.parse_nlist_impl_inv_false_intro", @@ -86,78 +73,95 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", + "@fuel_irrelevance_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", + "@query", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_9142d2bae8c7d17f5b41cdeff1cf06fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_9f105b6dd4865b677aba1da7243d12f3", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ac0692899dfa447ad13c5f2aefde77c5", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", - "disc_equation_FStar.Pervasives.Native.None", "eq2-interp", + "constructor_distinct_Tm_unit", + "data_elim_MiniParse.Spec.Base.Parser", "eq2-interp", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Impl.List.parse_nlist_impl_inv", - "equation_MiniParse.Spec.Base.bare_serializer", + "equation_MiniParse.Spec.Base.bare_parser", + "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", + "equation_MiniParse.Spec.Base.parse", + "equation_MiniParse.Spec.Combinators.and_then", + "equation_MiniParse.Spec.Combinators.and_then_bare", + "equation_MiniParse.Spec.Combinators.nondep_then", + "equation_MiniParse.Spec.Combinators.parse_synth", "equation_MiniParse.Spec.List.nlist", "equation_Prims.eq2", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", + "equation_with_fuel_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", + "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.gsub_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", + "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "projection_inverse_MiniParse.Spec.Base.Parser_f", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "refinement_interpretation_Tm_refine_9949c4a2a4b08b9d597851f02ea25762", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_6c04604a6818a270d2fa48a388019163", - "true_interp", "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "refinement_kinding_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", + "token_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", @@ -166,10 +170,13 @@ "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.len", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Base.bparse", + "typing_MiniParse.Spec.Combinators.and_then_bare", + "typing_MiniParse.Spec.List.parse_nlist", + "typing_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a" ], 0, - "e745aa504c9c6fc7326d907c287fec3e" + "258cff8b82fc3703b4d1fa1a8b8a6002" ], [ "MiniParse.Impl.List.parse_nlist_impl_body", @@ -179,10 +186,10 @@ [ "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d69b5d507ff95b91fc5e7b55106875a" + "refinement_interpretation_Tm_refine_54d94c0992c7a8e5e9a2a6c531309bee" ], 0, - "fab28555ac6547cb8f39f6a8af2dad74" + "bc2f385d6827199f7322a203b771c15a" ], [ "MiniParse.Impl.List.parse_nlist_impl_body", @@ -192,9 +199,10 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@query", + "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -228,7 +236,6 @@ "equation_MiniParse.Spec.Combinators.nondep_then", "equation_MiniParse.Spec.Combinators.parse_synth", "equation_MiniParse.Spec.List.nlist", "equation_Prims.eq2", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", @@ -240,8 +247,8 @@ "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", @@ -249,7 +256,7 @@ "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.gsub_gsub", @@ -286,23 +293,25 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_3dd4cbdad37e820e34752d57e6719b7c", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0a092d745aa9f52ed508498bba450c39", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_54d94c0992c7a8e5e9a2a6c531309bee", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_8d69b5d507ff95b91fc5e7b55106875a", + "refinement_interpretation_Tm_refine_7ebc2e5a1dda4e0541c779145927b7f4", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", "refinement_interpretation_Tm_refine_9949c4a2a4b08b9d597851f02ea25762", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_d98418e3cc3f668d67542d2ebb5a422f", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_kinding_Tm_refine_6c04604a6818a270d2fa48a388019163", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_a80d5f4643502cbb4b5605e65907358f", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_973b28b2580cb2ade406b929eb2fc334", "refinement_kinding_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "token_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", "true_interp", "typing_FStar.Map.contains", @@ -319,15 +328,16 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_none", "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mgsub", "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.consumed_length", "typing_MiniParse.Spec.Base.parse", "typing_MiniParse.Spec.Combinators.nondep_then", "typing_MiniParse.Spec.List.nlist", - "typing_MiniParse.Spec.List.parse_nlist", "unit_typing" + "typing_MiniParse.Spec.List.parse_nlist" ], 0, - "b5e8e371e073d219692a0f31440a15d1" + "0db56da30e40251d6d9ccc6d2a46606d" ], [ "MiniParse.Impl.List.list_rev", @@ -358,7 +368,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a" ], 0, - "c326bdd2644a27ac1d25e603d0f6e495" + "fdd0269cfba764e0789e3a26066d01ba" ], [ "MiniParse.Impl.List.parse_nlist_impl", @@ -367,7 +377,7 @@ 1, [ "@query" ], 0, - "d7bcf24427b0ced74826946be39b8b38" + "7dc6733f7b7747113f717a4f180a31b2" ], [ "MiniParse.Impl.List.parse_nlist_impl", @@ -411,10 +421,11 @@ "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", + "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Impl.List.parse_nlist_impl_inv", "equation_MiniParse.Impl.List.parse_nlist_impl_inv_easy", "equation_MiniParse.Spec.Base.bparse", @@ -436,10 +447,10 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", "kinding_Prims.list@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -502,25 +513,28 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", "refinement_interpretation_Tm_refine_51063a777a1e9a0f9bc59c6793064953", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_74f0e87eb3d0768e6cb90b13e60ac370", - "refinement_interpretation_Tm_refine_889c4502b968d974d555d34ffbbde1f3", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_739d212a992267f1432ab3bdc73fd864", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", "refinement_interpretation_Tm_refine_9949c4a2a4b08b9d597851f02ea25762", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_a1927231ad9d6f77b862af8ebc19ad0a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_bca9ee91370a187714453950d7301d12", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_6c04604a6818a270d2fa48a388019163", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "refinement_kinding_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.rev", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", @@ -551,12 +565,13 @@ "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", "typing_LowStar.Monotonic.Buffer.loc_regions", "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mgsub", "typing_MiniParse.Spec.Base.parse", "typing_MiniParse.Spec.List.nlist", "typing_MiniParse.Spec.List.parse_nlist" ], 0, - "878440c58978ef7942cb363b2320cfff" + "da96e5da6f9788ea8a6f1e6bf9be82c9" ], [ "MiniParse.Impl.List.serialize_nlist_impl_inv", @@ -564,25 +579,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowStar.Buffer.trivial_preorder", - "equation_MiniParse.Spec.Base.byte", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "true_interp", "typing_FStar.List.Tot.Base.length", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "typing_FStar.List.Tot.Base.length" ], 0, - "550b4a7f9de0a1e8b866f1f92fb4d121" + "0af76fd54df023957d640685120b9d59" ], [ "MiniParse.Impl.List.serialize_nlist_impl_body", @@ -592,14 +597,12 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_correspondence_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@fuel_irrelevance_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", + "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Prims.Cons", "data_elim_MiniParse.Spec.Base.Serializer", @@ -612,9 +615,8 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", @@ -625,31 +627,23 @@ "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", - "equation_MiniParse.Spec.List.nlist", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_MiniParse.Spec.List.nlist", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "kinding_Prims.list@tok", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", + "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.gsub_gsub", @@ -682,31 +676,33 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_287303ffa14cca5840e98f5b5b2bd56f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_54d94c0992c7a8e5e9a2a6c531309bee", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", "refinement_interpretation_Tm_refine_75cc4805a0aaf24e673f43926e92885a", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8d69b5d507ff95b91fc5e7b55106875a", "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", "refinement_interpretation_Tm_refine_9949c4a2a4b08b9d597851f02ea25762", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d98418e3cc3f668d67542d2ebb5a422f", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_e89eb12b67e697dde95107022220d15a", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_a80d5f4643502cbb4b5605e65907358f", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_6c04604a6818a270d2fa48a388019163", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_973b28b2580cb2ade406b929eb2fc334", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", + "token_correspondence_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", "true_interp", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", @@ -714,6 +710,7 @@ "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_union", @@ -721,11 +718,10 @@ "typing_MiniParse.Spec.Base.serialize", "typing_MiniParse.Spec.List.nlist", "typing_MiniParse.Spec.List.parse_nlist", - "typing_MiniParse.Spec.List.serialize_nlist", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.List.serialize_nlist" ], 0, - "58e8a4a344b181abfabee738bdbe2fcc" + "0d819fd3975147620cd821bb0a67d2b1" ], [ "MiniParse.Impl.List.serialize_nlist_impl", @@ -734,7 +730,7 @@ 1, [ "@query" ], 0, - "7a4548c879e1d8be4d4fb5ed755305be" + "1349ad92e07858ec2167d5a6977d0f9c" ], [ "MiniParse.Impl.List.serialize_nlist_impl", @@ -743,7 +739,9 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", @@ -751,6 +749,7 @@ "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.HyperStack.ST.equal_domains", @@ -768,29 +767,30 @@ "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", + "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Impl.List.serialize_nlist_impl_inv", "equation_MiniParse.Impl.List.serialize_nlist_impl_inv_easy", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.List.nlist", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", + "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_32b6d03e67430f0d75178a2b7b612e87", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_c5a140c552f614642285f1ea28412673", "kinding_Prims.list@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -804,8 +804,10 @@ "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", + "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", @@ -813,6 +815,7 @@ "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", + "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", @@ -856,35 +859,32 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_244565db752433be5448b54ab852784a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", "refinement_interpretation_Tm_refine_51063a777a1e9a0f9bc59c6793064953", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_74f0e87eb3d0768e6cb90b13e60ac370", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_75cc4805a0aaf24e673f43926e92885a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e103b5b8def2b3257b703067e84a14e0", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_bca9ee91370a187714453950d7301d12", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_6c04604a6818a270d2fa48a388019163", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "true_interp", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", @@ -907,6 +907,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_addresses", @@ -919,7 +920,7 @@ "typing_MiniParse.Spec.List.serialize_nlist" ], 0, - "572deda1471fc7b5839960a9fd6e79b8" + "2d0b58b056601673d5698017e00b230a" ], [ "MiniParse.Impl.List.parse_nlist_impl_inv", @@ -927,35 +928,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.List.parse_nlist_impl_inv_easy", - "equation_MiniParse.Spec.Base.byte", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "true_interp", "typing_FStar.UInt32.v", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "b559f0117073693987953225425496e8" + "2561dc9341e152546b604cdc97ccb74c" ], [ "MiniParse.Impl.List.parse_nlist_impl_inv_false_intro", @@ -963,9 +954,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", @@ -974,35 +967,35 @@ "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.byte", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_LowStar.Monotonic.Buffer.len_gsub", + "equation_MiniParse.Spec.Base.byte", "equation_Prims.nat", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "kinding_Prims.list@tok", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_kinding_Tm_refine_6c04604a6818a270d2fa48a388019163", - "true_interp", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "aa05539fb189a782e59b071409caf917" + "2e550e391e359c174fe5fef436f27a98" ], [ "MiniParse.Impl.List.parse_nlist_impl_body", @@ -1012,10 +1005,10 @@ [ "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d69b5d507ff95b91fc5e7b55106875a" + "refinement_interpretation_Tm_refine_54d94c0992c7a8e5e9a2a6c531309bee" ], 0, - "030c539c92ec290eef54857a71a6475a" + "0bae244256e6a60a7feffc1586d08274" ], [ "MiniParse.Impl.List.list_rev", @@ -1046,7 +1039,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a" ], 0, - "39c023428e57ec8dd6b803d55ac9f155" + "8de25d51ef5653edd62a6b6f11d4aaca" ], [ "MiniParse.Impl.List.parse_nlist_impl", @@ -1055,7 +1048,7 @@ 1, [ "@query" ], 0, - "b45b9c3434ab2865773a28279c69bd73" + "68a73deeb8a7a351ba4883bac432c96c" ], [ "MiniParse.Impl.List.parse_nlist_impl", @@ -1068,18 +1061,25 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "@query", + "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_9142d2bae8c7d17f5b41cdeff1cf06fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ac0692899dfa447ad13c5f2aefde77c5", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Nil", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", + "data_elim_MiniParse.Spec.Base.Parser", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.HyperStack.ST.equal_domains", @@ -1099,20 +1099,28 @@ "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", + "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Impl.List.parse_nlist_impl_inv", "equation_MiniParse.Impl.List.parse_nlist_impl_inv_easy", + "equation_MiniParse.Spec.Base.bare_parser", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Base.parse", + "equation_MiniParse.Spec.Combinators.and_then", + "equation_MiniParse.Spec.Combinators.and_then_bare", + "equation_MiniParse.Spec.Combinators.nondep_then", "equation_MiniParse.Spec.Combinators.parse_ret", + "equation_MiniParse.Spec.Combinators.parse_synth", "equation_MiniParse.Spec.List.nlist", - "equation_MiniParse.Spec.List.nlist_nil", "equation_Prims.eqtype", + "equation_MiniParse.Spec.List.nlist_cons", + "equation_MiniParse.Spec.List.nlist_nil", + "equation_MiniParse.Spec.List.synth_nlist", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", @@ -1121,13 +1129,18 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", + "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", + "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", + "function_token_typing_MiniParse.Spec.List.synth_nlist", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -1140,17 +1153,17 @@ "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.vu_inv", + "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", + "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", @@ -1191,30 +1204,34 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", "refinement_interpretation_Tm_refine_51063a777a1e9a0f9bc59c6793064953", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_74f0e87eb3d0768e6cb90b13e60ac370", - "refinement_interpretation_Tm_refine_889c4502b968d974d555d34ffbbde1f3", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_739d212a992267f1432ab3bdc73fd864", + "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", "refinement_interpretation_Tm_refine_9949c4a2a4b08b9d597851f02ea25762", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_a1927231ad9d6f77b862af8ebc19ad0a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_bca9ee91370a187714453950d7301d12", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_6c04604a6818a270d2fa48a388019163", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "refinement_kinding_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", + "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.rev", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", @@ -1235,7 +1252,6 @@ "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_addresses", @@ -1244,12 +1260,17 @@ "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", "typing_LowStar.Monotonic.Buffer.loc_regions", "typing_LowStar.Monotonic.Buffer.loc_union", + "typing_LowStar.Monotonic.Buffer.mgsub", + "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.parse", + "typing_MiniParse.Spec.Combinators.and_then_bare", "typing_MiniParse.Spec.List.nlist", - "typing_MiniParse.Spec.List.parse_nlist" + "typing_MiniParse.Spec.List.nlist_nil", + "typing_MiniParse.Spec.List.parse_nlist", + "typing_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a" ], 0, - "d6223c9f136ef8e43b4133e751ef2ff6" + "a7a123be18110359a1b6b4c690417d8e" ], [ "MiniParse.Impl.List.parse_nlist_impl", @@ -1258,7 +1279,7 @@ 1, [ "@query" ], 0, - "98931231e8af907866d1ecb60426c225" + "5251878dbe2004e2775ae1651c60cf0f" ], [ "MiniParse.Impl.List.serialize_nlist_impl_inv", @@ -1266,25 +1287,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowStar.Buffer.trivial_preorder", - "equation_MiniParse.Spec.Base.byte", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "true_interp", "typing_FStar.List.Tot.Base.length", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "typing_FStar.List.Tot.Base.length" ], 0, - "d36b241a044a282843ed9d988ae19b8e" + "4241fc4f5176cdeb88e183ea7d1afa18" ], [ "MiniParse.Impl.List.serialize_nlist_impl_body", @@ -1294,10 +1305,10 @@ [ "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d69b5d507ff95b91fc5e7b55106875a" + "refinement_interpretation_Tm_refine_54d94c0992c7a8e5e9a2a6c531309bee" ], 0, - "691db580b6e46709f48190e6265c1121" + "ea2c674519f69ff3208a0a60266e4c8c" ], [ "MiniParse.Impl.List.serialize_nlist_impl", @@ -1306,7 +1317,7 @@ 1, [ "@query" ], 0, - "0fa55d18732c75d2eb88ac49219fc258" + "c2549dd1642ec300bbd93059febc82e4" ], [ "MiniParse.Impl.List.serialize_nlist_impl", @@ -1340,29 +1351,28 @@ "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", + "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Impl.List.serialize_nlist_impl_inv", "equation_MiniParse.Impl.List.serialize_nlist_impl_inv_easy", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.List.nlist", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_with_fuel_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_32b6d03e67430f0d75178a2b7b612e87", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_c5a140c552f614642285f1ea28412673", "kinding_Prims.list@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -1376,8 +1386,10 @@ "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", + "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", @@ -1385,6 +1397,7 @@ "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", + "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", @@ -1428,35 +1441,31 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_244565db752433be5448b54ab852784a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", "refinement_interpretation_Tm_refine_51063a777a1e9a0f9bc59c6793064953", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6c04604a6818a270d2fa48a388019163", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_74f0e87eb3d0768e6cb90b13e60ac370", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_75cc4805a0aaf24e673f43926e92885a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_973b28b2580cb2ade406b929eb2fc334", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e103b5b8def2b3257b703067e84a14e0", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_bca9ee91370a187714453950d7301d12", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_6c04604a6818a270d2fa48a388019163", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_973b28b2580cb2ade406b929eb2fc334", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "true_interp", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", @@ -1479,6 +1488,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.get", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_addresses", @@ -1491,7 +1501,7 @@ "typing_MiniParse.Spec.List.serialize_nlist" ], 0, - "3cb93932fbde1c92516e8b9fd766161a" + "5ffe92f6f3c5e83e0893de54038310a5" ], [ "MiniParse.Impl.List.serialize_nlist_impl", @@ -1500,7 +1510,7 @@ 1, [ "@query" ], 0, - "fadff34b1ad5bed6f79613b078bad227" + "b3f9b34ff8d3718113e7df1705f8ecef" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Impl.TSum.fst.hints b/examples/miniparse/MiniParse.Impl.TSum.fst.hints index 14be9dbc6da..8d5eab370ab 100644 --- a/examples/miniparse/MiniParse.Impl.TSum.fst.hints +++ b/examples/miniparse/MiniParse.Impl.TSum.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_23b9d98b390c442f64c83306fada9853", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_9a4ba975564e8634f4b2f92e9afe114b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_3eceb8781c126a3d01c6e46f4545621c", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -23,10 +23,10 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Spec.Base.bare_parser", + "equation_MiniParse.Impl.Base.buffer8", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", @@ -39,7 +39,6 @@ "equation_MiniParse.Spec.TSum.parse_tagged_union", "equation_MiniParse.Spec.TSum.refine_with_tag", "equation_MiniParse.Spec.TSum.synth_tagged_union_data", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", @@ -47,17 +46,19 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_2c0d0e03f9cb7bebd163e7719893f6ad", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "interpretation_Tm_abs_ffaf4a9727175bbc0400abb3f8770c92", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.live_gsub", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", @@ -65,7 +66,6 @@ "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "partial_app_typing_aa417c34624199050813b07881526d71", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -78,32 +78,32 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.TSum.synth_tagged_union_data", "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_none", + "typing_MiniParse.Spec.Base.__proj__Parser__item__f", "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.parse", "typing_MiniParse.Spec.TSum.parse_tagged_union", "typing_MiniParse.Spec.TSum.refine_with_tag", - "typing_Tm_abs_586c0b287ededeb8939e1276aa3d81f3" + "typing_Tm_abs_ffaf4a9727175bbc0400abb3f8770c92" ], 0, - "d58aa6e7d4f2b648c052fe6921aecb7d" + "7f08513c364ea2a81dd0ab36e5c4c732" ], [ "MiniParse.Impl.TSum.serialize_tagged_union_impl", @@ -113,25 +113,27 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_9a4ba975564e8634f4b2f92e9afe114b", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_da337a61bdaacea5b205ce6543f9610a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "MiniParse.Impl.Combinators_interpretation_Tm_arrow_17a8ae48ff4e38c1b9892af4d61f9562", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_3eceb8781c126a3d01c6e46f4545621c", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_ed41901a05b4649f0933af23a21a4eb8", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_MiniParse.Spec.Base.Serializer", "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.Base.buffer8", + "equation_MiniParse.Spec.Base.bare_serializer", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", @@ -139,22 +141,23 @@ "equation_MiniParse.Spec.TSum.parse_tagged_union", "equation_MiniParse.Spec.TSum.refine_with_tag", "equation_MiniParse.Spec.TSum.serialize_tagged_union", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", + "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_MiniParse.Spec.Base.__proj__Serializer__item__f", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_6c26bf716935f58ebecfb40c30a59e78", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_c2d72d3ca9df560ef95f9f1adaa20bbc", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.gsub_gsub", + "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_gsub", @@ -176,30 +179,36 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "true_interp", "typing_FStar.Map.domain", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.mgsub", + "typing_MiniParse.Spec.Base.__proj__Serializer__item__f", "typing_MiniParse.Spec.Base.serialize", - "typing_MiniParse.Spec.TSum.refine_with_tag", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.TSum.refine_with_tag" ], 0, - "c342547e6b14c9fa8246184ca4f9910b" + "1577c89ba0b6bcbf68bcf1631b3e0cf8" ], [ "MiniParse.Impl.TSum.parse_tagged_union_impl", @@ -208,28 +217,27 @@ 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_23b9d98b390c442f64c83306fada9853", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ce3c5e46aa08229e6b50ae91f4b2300d", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_9a4ba975564e8634f4b2f92e9afe114b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_84eb031c18bd35e3c76ba4886d9ede0b", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_3eceb8781c126a3d01c6e46f4545621c", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", + "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", + "data_elim_MiniParse.Spec.Base.Parser", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", + "equation_MiniParse.Impl.Base.buffer8", + "equation_MiniParse.Spec.Base.bare_parser", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", @@ -242,7 +250,6 @@ "equation_MiniParse.Spec.TSum.parse_tagged_union", "equation_MiniParse.Spec.TSum.refine_with_tag", "equation_MiniParse.Spec.TSum.synth_tagged_union_data", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", @@ -250,14 +257,14 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_2c0d0e03f9cb7bebd163e7719893f6ad", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "interpretation_Tm_abs_ffaf4a9727175bbc0400abb3f8770c92", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -268,7 +275,6 @@ "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "partial_app_typing_aa417c34624199050813b07881526d71", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -281,18 +287,18 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.TSum.synth_tagged_union_data", "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", @@ -303,10 +309,11 @@ "typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "typing_MiniParse.Spec.TSum.parse_tagged_union", "typing_MiniParse.Spec.TSum.refine_with_tag", - "typing_Tm_abs_1ced14677814d2a2e314a4f44263eb98", "unit_typing" + "typing_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "typing_Tm_abs_ffaf4a9727175bbc0400abb3f8770c92" ], 0, - "7d34368b8853b7ab35957f33e091b076" + "77de6617976228046d9edf08ecb4aabe" ], [ "MiniParse.Impl.TSum.serialize_tagged_union_impl", @@ -314,28 +321,25 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_9cc0cda389243f05d907d33345d67743", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_9a4ba975564e8634f4b2f92e9afe114b", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_da337a61bdaacea5b205ce6543f9610a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "MiniParse.Impl.Combinators_interpretation_Tm_arrow_17a8ae48ff4e38c1b9892af4d61f9562", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_3eceb8781c126a3d01c6e46f4545621c", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_ed41901a05b4649f0933af23a21a4eb8", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_MiniParse.Spec.Base.Serializer", "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_MiniParse.Impl.Base.buffer8", @@ -343,32 +347,26 @@ "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.TSum.bare_serialize_tagged_union", "equation_MiniParse.Spec.TSum.parse_tagged_union", "equation_MiniParse.Spec.TSum.refine_with_tag", "equation_MiniParse.Spec.TSum.serialize_tagged_union", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", + "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_MiniParse.Spec.Base.__proj__Serializer__item__f", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_6c26bf716935f58ebecfb40c30a59e78", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_c2d72d3ca9df560ef95f9f1adaa20bbc", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.gsub_gsub", + "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_gsub", @@ -390,35 +388,34 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_15d901d34c4a684eec9e5c2f749ce352", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_a4b1d0d9e069df4f92fd37236a38ad3d", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "true_interp", "typing_FStar.Map.domain", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_MiniParse.Spec.Base.__proj__Serializer__item__f", "typing_MiniParse.Spec.Base.serialize", "typing_MiniParse.Spec.TSum.refine_with_tag", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_Tm_abs_c2d72d3ca9df560ef95f9f1adaa20bbc" ], 0, - "430f6e0c0e109d2d4fcb16855e3002a4" + "9f5e476cb6e3eb29696b0c4822f16f87" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.Base.fst.hints b/examples/miniparse/MiniParse.Spec.Base.fst.hints index ade38db8124..2deab7d898b 100644 --- a/examples/miniparse/MiniParse.Spec.Base.fst.hints +++ b/examples/miniparse/MiniParse.Spec.Base.fst.hints @@ -7,22 +7,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "ad4dd4867906a3f2b700398dce7eea79" + "cb94579c9899771f92989627088648fd" ], [ "MiniParse.Spec.Base.no_lookahead_weak_on_ext", @@ -31,7 +27,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.no_lookahead_weak_on" ], 0, - "3ad265887af80fd45cf9c0e0c6676f4e" + "98dc3c8929b3572b99eb970388e7522f" ], [ "MiniParse.Spec.Base.no_lookahead_weak_ext", @@ -40,7 +36,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.no_lookahead_weak" ], 0, - "daaee148776a9d9a57969209578d0e72" + "f2b8e18e13657660679644ae0b5b8517" ], [ "MiniParse.Spec.Base.injective_precond", @@ -56,7 +52,7 @@ "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "485c7756cb169838c019ce00a47edb7a" + "d9319690a9f567edd11a39ad385781e4" ], [ "MiniParse.Spec.Base.injective_precond_ext", @@ -65,7 +61,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.injective_precond" ], 0, - "8d210289a3734134eef69bf02c31996d" + "7db4b928d13cd086eda05722501f36ea" ], [ "MiniParse.Spec.Base.injective_postcond", @@ -73,23 +69,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "5c641ec7fb59fd5da320320aaec05d33" + "e6c284a9e5760a3812713e352f6aa3bf" ], [ "MiniParse.Spec.Base.injective_postcond_ext", @@ -98,7 +90,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.injective_postcond" ], 0, - "0c615f20977acb21c2fc6183bd8dceb6" + "a3447bfc6cc6aa20e8675a2d8ba1e4c8" ], [ "MiniParse.Spec.Base.injective_ext", @@ -107,7 +99,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.injective" ], 0, - "eab22760861f06e04a7ed393ae0cf9c7" + "2b1a29a22c7c1418f91669967ab4ee24" ], [ "MiniParse.Spec.Base.no_lookahead_on_precond", @@ -115,22 +107,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "e17bbfb5370cf7164155a4b9dd3d2d2d" + "466a0438d700cc8168f4621c98abd23f" ], [ "MiniParse.Spec.Base.no_lookahead_on_postcond", @@ -145,7 +133,7 @@ "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "ec6281e3eb62dd7bf0ac9d031292df6a" + "a420b8c0247946d693b56ef2322bf3e9" ], [ "MiniParse.Spec.Base.no_lookahead_on_ext", @@ -165,7 +153,7 @@ "typing_MiniParse.Spec.Base.bparse" ], 0, - "729a4afab574a95a408e49f7bea6636b" + "540b3228e6155f060f3f35401866d67c" ], [ "MiniParse.Spec.Base.no_lookahead_ext", @@ -174,7 +162,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.no_lookahead" ], 0, - "b318c34679810121ad73996e9cfc6520" + "e47bd3837c4285c67b1fee7358951a3f" ], [ "MiniParse.Spec.Base.coerce", @@ -183,7 +171,7 @@ 1, [ "@query" ], 0, - "48655bed8f19566c48ac59994364a03b" + "0eb520bea364c0e347d7fbdc52ecba57" ], [ "MiniParse.Spec.Base.coerce_parser", @@ -192,7 +180,7 @@ 1, [ "@query" ], 0, - "1cfdce61f3a7f9933e4cc7ab11ea33c9" + "be09c1e9a15c599d372c3ae89040e06c" ], [ "MiniParse.Spec.Base.serializer_correct", @@ -201,7 +189,7 @@ 1, [ "@query" ], 0, - "08e4e8b6cded50f451b3c0ed8448acf2" + "734aa85e6f6084353c50a2e06eda2db1" ], [ "MiniParse.Spec.Base.serializer_correct_ext", @@ -210,19 +198,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.bytes", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", + "eq2-interp", "equation_MiniParse.Spec.Base.bare_serializer", "equation_MiniParse.Spec.Base.serializer_correct", "equation_Prims.squash", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bc3fae4c3cd0806da3ea99d465e778cd" + "f3f1e398552b094b63fdf9f507ecd2b6" ], [ "MiniParse.Spec.Base.serializer_complete", @@ -230,22 +215,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "d80990837a48a9598da9ce3cd4770c6a" + "4ba57f5698553d6ccfa8b0e6127ced69" ], [ "MiniParse.Spec.Base.serializer_correct_implies_complete", @@ -254,8 +235,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_MiniParse.Spec.Base.Parser", "disc_equation_FStar.Pervasives.Native.Some", @@ -273,7 +253,6 @@ "equation_Prims.nat", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Seq.Properties.slice_length", "primitive_Prims.op_LessThanOrEqual", "proj_equation_MiniParse.Spec.Base.Parser_f", @@ -282,12 +261,12 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b" + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8" ], 0, - "11af35ab2206f5498cbc1510357839f9" + "77671498c9ec4a538e106bbbc84562d5" ], [ "MiniParse.Spec.Base.coerce_serializer", @@ -297,10 +276,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7e2503a0d2b82587575b438ebed6f4db" + "b5611f03de61acb15b4da3f172350901" ], [ "MiniParse.Spec.Base.serialize_ext", @@ -315,7 +294,7 @@ "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a" ], 0, - "1734bd70ef0c0b7706a6a4d4c5d609be" + "ea858343c886980fe6562d4353a2aa87" ], [ "MiniParse.Spec.Base.serialize_ext'", @@ -324,7 +303,7 @@ 1, [ "@query" ], 0, - "9f6d5fe5d13c306592130d1e3b224a2f" + "226ad2d7f373958227332f51ed3d0228" ], [ "MiniParse.Spec.Base.serializer_unique", @@ -361,7 +340,7 @@ "typing_MiniParse.Spec.Base.serialize" ], 0, - "8160d8ce0ecb265a56d4c4010909c00b" + "f4bdab226ca96e5988f5dac729d669fd" ], [ "MiniParse.Spec.Base.serializer_injective", @@ -381,7 +360,7 @@ "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f" ], 0, - "68351cb3e0115b87abc479549e886f74" + "0d1c857a7cf9e92ce4aa2100817ccc7f" ], [ "MiniParse.Spec.Base.serializer_parser_unique'", @@ -390,8 +369,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", "data_elim_MiniParse.Spec.Base.Parser", @@ -414,34 +393,29 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Parser_f", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_MiniParse.Spec.Base.__proj__Parser__item__f", "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "fbefeef1af04531560bd0599cdfca63f" + "3c790ee510ca81cf67863a1feb4eaefc" ], [ "MiniParse.Spec.Base.serializer_parser_unique", @@ -462,7 +436,7 @@ "typing_MiniParse.Spec.Base.parse", "unit_inversion", "unit_typing" ], 0, - "ba32a3ba10f9828c2ea3e4c3aaebb411" + "13a7f8215778490da200d1145b093bc7" ], [ "MiniParse.Spec.Base.no_lookahead_weak_on", @@ -470,22 +444,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "51fdb408e2041ac6227f7a7809266cd2" + "d3fbc3f943603fa43a5e350f36dd1b17" ], [ "MiniParse.Spec.Base.injective_precond", @@ -501,7 +471,7 @@ "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "bbd4a9b99eed7f237cb48df969a98d4c" + "6358f21c922ce012169c807877c2555b" ], [ "MiniParse.Spec.Base.injective_postcond", @@ -509,23 +479,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "66d9bcac8dd688f7fbb214304a7b711d" + "2df2b29f6b17fa1fbfff20314c667cd7" ], [ "MiniParse.Spec.Base.no_lookahead_on_precond", @@ -533,22 +499,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "162d922a7a41387bf469b76ef3d1dc8b" + "9c01b3ec14ade18a3fc0867994f1a3f9" ], [ "MiniParse.Spec.Base.no_lookahead_on_postcond", @@ -563,7 +525,7 @@ "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "f35cf2a22a0ddb39dc833a0caa694881" + "fe0fceef4a2366de2d17412914f95ac8" ], [ "MiniParse.Spec.Base.coerce", @@ -572,7 +534,7 @@ 1, [ "@query" ], 0, - "0b5d787a99c4caf0733b1b45a26a118e" + "17a6ac3607e4b184a7e66d9de959692f" ], [ "MiniParse.Spec.Base.coerce_parser", @@ -584,7 +546,7 @@ "fuel_guarded_inversion_MiniParse.Spec.Base.parser" ], 0, - "d241590e3030b4fbaf6ccfef5db0fc19" + "0fc9fa1548024e388087b8bfc0a32b9d" ], [ "MiniParse.Spec.Base.serializer_correct", @@ -593,7 +555,7 @@ 1, [ "@query" ], 0, - "484b4e74e06bd62ad9afd37658c4983f" + "007951b7e6364d498300fabb2efaabee" ], [ "MiniParse.Spec.Base.serializer_correct_ext", @@ -601,16 +563,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.squash", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "daf04b4dee02868a8fb108c7baa9282c" + "09c046dba7564edebb6c56670b7d48ac" ], [ "MiniParse.Spec.Base.serializer_complete", @@ -618,22 +578,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "889894d00a8c700aa283c67c94fc5eb3" + "5d06bd6bdb876dfecf81df8faa6dc0f1" ], [ "MiniParse.Spec.Base.coerce_serializer", @@ -643,10 +599,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "44fbda9dc9886a9a25f993e405e1eefd" + "1168643504e3fe515e6bd4ec28926beb" ], [ "MiniParse.Spec.Base.coerce_serializer", @@ -656,10 +612,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "46fd30e5f58ec77abb54105592f224d8" + "dc5de5a6f9b76396eef00493658cef83" ], [ "MiniParse.Spec.Base.serialize_ext", @@ -674,7 +630,7 @@ "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a" ], 0, - "2faf16ccb9e74b9f647ae24265124f4b" + "d9a394a06496fe9f33f71f5f6f8f68a5" ], [ "MiniParse.Spec.Base.serialize_ext", @@ -683,7 +639,7 @@ 1, [ "@query" ], 0, - "c40b8349995e6097f1376af154a8f1da" + "e7942ed385eacd3a72473cb45881cd39" ], [ "MiniParse.Spec.Base.serialize_ext'", @@ -692,7 +648,7 @@ 1, [ "@query" ], 0, - "431a00278effc3a2bee1b253678d6c13" + "c39d313e437e89a63c568f0a8b7ab1d8" ], [ "MiniParse.Spec.Base.serialize_ext'", @@ -701,7 +657,7 @@ 1, [ "@query" ], 0, - "a6ba59670ef57d5df0269ecf4f9147c6" + "bf05894d3cc3e550b777b4926a5af192" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.Combinators.fst.hints b/examples/miniparse/MiniParse.Spec.Combinators.fst.hints index b9b0afcfdfe..803f79be4d6 100644 --- a/examples/miniparse/MiniParse.Spec.Combinators.fst.hints +++ b/examples/miniparse/MiniParse.Spec.Combinators.fst.hints @@ -7,27 +7,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "82511ddfc3763fa363816eb812640e3c" + "6e0907520208dcb4bda35d57dccf4921" ], [ "MiniParse.Spec.Combinators.make_constant_size_parser_precond'", @@ -36,7 +34,7 @@ 1, [ "@query" ], 0, - "24030b9718e1386d2adf0d2612292492" + "96e7f111435ad3fe59317a084f021bdc" ], [ "MiniParse.Spec.Combinators.make_constant_size_parser_injective", @@ -45,8 +43,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_8a6a8e306c1b006b0c3a58b0503be25c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_9a965c10deea593a8f7c1114c608bf75", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.Some", @@ -63,26 +60,22 @@ "equation_MiniParse.Spec.Combinators.make_constant_size_parser_precond_precond", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "typing_FStar.Seq.Base.slice" + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8" ], 0, - "fe3939cf7a0ab55948e042627ad42b04" + "ae7cd8e5530c70cf1e26ba0606854564" ], [ "MiniParse.Spec.Combinators.make_constant_size_parser", @@ -90,15 +83,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", + "equation_MiniParse.Spec.Base.bare_parser", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Base.no_lookahead", "equation_MiniParse.Spec.Base.no_lookahead_on", @@ -111,17 +104,21 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "int_inversion", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThan", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Pervasives.Native.uu___is_Some", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Combinators.make_constant_size_parser_aux" + "typing_MiniParse.Spec.Base.consumed_length", + "typing_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f" ], 0, - "ca096ed9d31ad0154cbc71517445e835" + "5d44bf4250b60faf52091eeeeb09ca4f" ], [ "MiniParse.Spec.Combinators.make_total_constant_size_parser", @@ -130,18 +127,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_precond", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_precond_precond", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser_precond", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", + "interpretation_Tm_abs_58be95b26582b1c154eb6e5a49ee6ad4", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "23101d750d2a9f0b9251549807da181c" + "c579110e659f11aa72af9d3b0f479593" ], [ "MiniParse.Spec.Combinators.parse_ret'", @@ -150,16 +145,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "c2b88501d1301ee151e77ef0d90b6215" + "f5b3b0d0e1f6e64ff69f787d6030a25c" ], [ "MiniParse.Spec.Combinators.parse_ret", @@ -168,7 +161,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.bparse", @@ -185,20 +177,20 @@ "equation_MiniParse.Spec.Base.no_lookahead_weak", "equation_MiniParse.Spec.Base.no_lookahead_weak_on", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", + "int_typing", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", "lemma_FStar.Seq.Properties.slice_is_empty", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "typing_FStar.Seq.Base.length" ], 0, - "bdfa5a3abb0b955d0bd638422f8c682d" + "ab3bcec2753cbbaff259c0fb88c6c625" ], [ "MiniParse.Spec.Combinators.serialize_empty", @@ -209,21 +201,20 @@ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.Base.serializer_correct", "equation_MiniParse.Spec.Combinators.parse_empty", "equation_MiniParse.Spec.Combinators.parse_ret", "function_token_typing_FStar.UInt8.t", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_0b81c94932332f7859446d448ebb98d3", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_b7b0a736cd039536e76a0ce4f5dcb7b7", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_MiniParse.Spec.Base.Parser_f", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", "typing_FStar.Seq.Base.empty", "unit_inversion" ], 0, - "12f39ae4632e65bf2d34b4e3e00d7541" + "66390f28175820b706193fb0b785b4b7" ], [ "MiniParse.Spec.Combinators.fail_parser", @@ -234,7 +225,6 @@ "@query", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.injective", "equation_MiniParse.Spec.Base.injective_precond", "equation_MiniParse.Spec.Base.no_lookahead", @@ -243,11 +233,11 @@ "equation_MiniParse.Spec.Base.no_lookahead_weak", "equation_MiniParse.Spec.Base.no_lookahead_weak_on", "equation_MiniParse.Spec.Combinators.fail_parser_", - "interpretation_Tm_abs_e9ed39f641c8e126edd4b315c3640938", + "interpretation_Tm_abs_70f489119d60d8732ac22a9de0b5f7be", "projection_inverse_BoxBool_proj_0" ], 0, - "641e85c6f0251d4fbe33e2e75a16a928" + "bcaf4d369b0e53886f1ac06a0db998cf" ], [ "MiniParse.Spec.Combinators.and_then_bare", @@ -255,15 +245,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -271,13 +258,15 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "03b262d2e38986ea51f93501bbd16da3" + "c6081865086b6962d541a64d7a302f78" ], [ "MiniParse.Spec.Combinators.and_then_no_lookahead_weak_on", @@ -285,26 +274,16 @@ 2, 2, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_23b9d98b390c442f64c83306fada9853", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_9142d2bae8c7d17f5b41cdeff1cf06fc", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", - "equation_MiniParse.Spec.Base.bare_serializer", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", @@ -312,24 +291,16 @@ "equation_MiniParse.Spec.Base.no_lookahead_weak", "equation_MiniParse.Spec.Base.no_lookahead_weak_on", "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -337,24 +308,22 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8e4c2db3fc48c67334f2f8dcbfb6fd83", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "token_correspondence_MiniParse.Spec.Combinators.and_then_bare", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.consumed_length", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_inversion", + "typing_MiniParse.Spec.Base.bparse", + "typing_MiniParse.Spec.Base.consumed_length", "unit_inversion", "unit_typing" ], 0, - "fb0157afdcd97af8d5976524c34f0851" + "7be4123ad2cece0a49ae8c13479a158d" ], [ "MiniParse.Spec.Combinators.and_then_no_lookahead_weak", @@ -363,7 +332,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Base.no_lookahead_weak" ], 0, - "7613091cb4b0b7ac02986c4f6ce53439" + "0ed98db096315190f8e969c7aad3f13a" ], [ "MiniParse.Spec.Combinators.and_then_cases_injective_precond", @@ -379,7 +348,7 @@ "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "bc4e30c83c5950a0bbff25804cfb0540" + "27c1a9b9173d6a708f2065f5521dc825" ], [ "MiniParse.Spec.Combinators.and_then_injective", @@ -387,28 +356,18 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Base_interpretation_Tm_arrow_8b94f06b65bdfa9931a04193ffed9763", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_23b9d98b390c442f64c83306fada9853", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_84eb031c18bd35e3c76ba4886d9ede0b", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_9142d2bae8c7d17f5b41cdeff1cf06fc", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", + "equation_FStar.Seq.Properties.split", "equation_MiniParse.Spec.Base.bare_parser", - "equation_MiniParse.Spec.Base.bare_serializer", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", @@ -419,24 +378,18 @@ "equation_MiniParse.Spec.Combinators.and_then_bare", "equation_MiniParse.Spec.Combinators.and_then_cases_injective_", "equation_MiniParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt32.n", "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Base.bytes", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", + "function_token_typing_MiniParse.Spec.Base.bytes", "int_inversion", + "int_typing", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -446,24 +399,21 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_cdd15a61a8a8f4424284702869adc760", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_becf32d504dbf92d8b6316b90d9e6f8e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.split", "typing_FStar.UInt.fits", + "typing_FStar.Seq.Properties.split", "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.consumed_length", - "typing_MiniParse.Spec.Combinators.and_then_bare", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Combinators.and_then_bare" ], 0, - "6a77bf89b6ad12885de085e23a73c467" + "5deae91abd048c53962ef75d909a1d3d" ], [ "MiniParse.Spec.Combinators.and_then_no_lookahead_on", @@ -471,28 +421,18 @@ 2, 2, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Base_interpretation_Tm_arrow_8b94f06b65bdfa9931a04193ffed9763", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_23b9d98b390c442f64c83306fada9853", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_84eb031c18bd35e3c76ba4886d9ede0b", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_9142d2bae8c7d17f5b41cdeff1cf06fc", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_MiniParse.Spec.Base.bare_parser", - "equation_MiniParse.Spec.Base.bare_serializer", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", @@ -505,48 +445,39 @@ "equation_MiniParse.Spec.Base.no_lookahead_on_postcond", "equation_MiniParse.Spec.Base.no_lookahead_on_precond", "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "token_correspondence_MiniParse.Spec.Combinators.and_then_bare", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.consumed_length", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_inversion", + "typing_MiniParse.Spec.Base.bparse", + "typing_MiniParse.Spec.Base.consumed_length", "unit_inversion", "unit_typing" ], 0, - "637d6ff7600e97fed2b1915508b94e5a" + "99b005c7a290ec1145f4b05b4a99d1b6" ], [ "MiniParse.Spec.Combinators.and_then_no_lookahead", @@ -555,7 +486,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", "equation_MiniParse.Spec.Base.no_lookahead", "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", @@ -564,7 +495,7 @@ "typing_MiniParse.Spec.Base.__proj__Parser__item__f" ], 0, - "fe7a4c54a3c47dc9e209f78f846af313" + "3dafb8e3b2e22b2cefaccdbd9bfc0b9e" ], [ "MiniParse.Spec.Combinators.and_then_correct", @@ -573,7 +504,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", "data_elim_MiniParse.Spec.Base.Parser", "equation_MiniParse.Spec.Combinators.and_then_cases_injective", "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", @@ -583,7 +514,7 @@ "typing_MiniParse.Spec.Base.__proj__Parser__item__f" ], 0, - "77a7ef608fe41fc94d819f1889137224" + "13c08aaeeb5dac0f2b24e87542348678" ], [ "MiniParse.Spec.Combinators.and_then", @@ -592,7 +523,7 @@ 1, [ "@query" ], 0, - "a309a113da52b4974e0b29b18d8f24b3" + "eeac5d49985649411ea1b230f61a7cc2" ], [ "MiniParse.Spec.Combinators.nondep_then", @@ -601,12 +532,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Tm_unit", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Combinators.and_then", "equation_MiniParse.Spec.Combinators.and_then_bare", @@ -616,21 +544,19 @@ "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "equation_MiniParse.Spec.Combinators.parse_ret", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_67cc31e4cd95e9040eed6bf1482dd417", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_aec720a61e81f5f66fcca740b80664eb", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a", + "interpretation_Tm_abs_b1966e89e7cd8f7f0d8af601292dbb6f", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "addbf5880bf145731be00382deb2fe2f" + "ed297598c18774d989e515030b9bff46" ], [ "MiniParse.Spec.Combinators.nondep_then_eq", @@ -639,8 +565,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -658,11 +582,10 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_67cc31e4cd95e9040eed6bf1482dd417", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_aec720a61e81f5f66fcca740b80664eb", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a", + "interpretation_Tm_abs_b1966e89e7cd8f7f0d8af601292dbb6f", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", @@ -674,16 +597,19 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", + "typing_FStar.Seq.Base.length", + "typing_MiniParse.Spec.Base.__proj__Parser__item__f", + "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Combinators.nondep_then", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Combinators.nondep_then" ], 0, - "712705adca62180816470694b2ab63d1" + "7b73e9600f03a1e1a9d2759338bd80cb" ], [ "MiniParse.Spec.Combinators.seq_slice_append_l", @@ -691,10 +617,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -705,15 +628,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f0ea2cd12d365af73fc937e14e60086d", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "616b3952c17efd9538ccbd0660abc4bd" + "ba01b4b2042e72825f88c2994b448a94" ], [ "MiniParse.Spec.Combinators.seq_slice_append_r", @@ -721,10 +645,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -735,16 +656,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_029e9ae182bcbfc60680e2719e1a1fdb", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "8d168fbfcc102500de8665d2c64de576" + "fd1b84c7c5f16f4aa9db8dd513f8d85b" ], [ "MiniParse.Spec.Combinators.bare_serialize_nondep_then_correct", @@ -753,13 +675,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_23b9d98b390c442f64c83306fada9853", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_328bdb9c60fdaca8ef59fdce3d5f1d06", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ce3c5e46aa08229e6b50ae91f4b2300d", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fbdead4b01007fbb75d6c1cf644b993f", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_383de413e051f04d83f8d52608a46263", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ac0692899dfa447ad13c5f2aefde77c5", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", + "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_74d5ca20293ddc2696b34978f3cd4f0a", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -797,17 +718,16 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_MiniParse.Spec.Combinators.bare_serialize_nondep_then", "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_33d6ebd2f604b90bcf43964f0b57bbfd", - "interpretation_Tm_abs_67cc31e4cd95e9040eed6bf1482dd417", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_aec720a61e81f5f66fcca740b80664eb", + "int_inversion", "int_typing", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_64113ecd0ee525e7323eebf77f2bd8c9", + "interpretation_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a", + "interpretation_Tm_abs_b1966e89e7cd8f7f0d8af601292dbb6f", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Seq.Properties.slice_length", - "partial_app_typing_aa417c34624199050813b07881526d71", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -820,22 +740,23 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "token_correspondence_MiniParse.Spec.Combinators.bare_serialize_nondep_then", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_MiniParse.Spec.Base.bparse", + "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.empty", + "typing_FStar.Seq.Base.length", "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.serialize", - "typing_Tm_abs_67cc31e4cd95e9040eed6bf1482dd417", - "typing_Tm_abs_aec720a61e81f5f66fcca740b80664eb" + "typing_Tm_abs_64113ecd0ee525e7323eebf77f2bd8c9", + "typing_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a", + "typing_Tm_abs_b1966e89e7cd8f7f0d8af601292dbb6f" ], 0, - "96a30fe2267d1655e2802af7dc767316" + "bd80a4338f215ddfcb6693610d9e82de" ], [ "MiniParse.Spec.Combinators.serialize_nondep_then", @@ -844,7 +765,7 @@ 1, [ "@query" ], 0, - "ab190feb67c8b219a72927929495b165" + "61a2175ab4f7a692cad05235eac000af" ], [ "MiniParse.Spec.Combinators.parse_fret'", @@ -853,16 +774,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "d4d11d39716e9ac69fb6301379664a5b" + "698c46cfd3451327f377351f120a84a0" ], [ "MiniParse.Spec.Combinators.parse_fret", @@ -871,7 +790,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.bparse", @@ -888,20 +806,20 @@ "equation_MiniParse.Spec.Base.no_lookahead_weak", "equation_MiniParse.Spec.Base.no_lookahead_weak_on", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", + "int_typing", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", "lemma_FStar.Seq.Properties.slice_is_empty", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "typing_FStar.Seq.Base.length" ], 0, - "ced63e3518e05075a5edf118965ef0e4" + "f963051efe4d952cdc033a5d0af36648" ], [ "MiniParse.Spec.Combinators.parse_synth'", @@ -910,27 +828,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Combinators.and_then_cases_injective", "equation_MiniParse.Spec.Combinators.and_then_cases_injective_", "equation_MiniParse.Spec.Combinators.and_then_cases_injective_precond", "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "2601d736484110d69633bb95a315a0b4" + "d2c40146848ad75677732ac8bcd70b88" ], [ "MiniParse.Spec.Combinators.parse_synth", @@ -939,9 +852,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Combinators.and_then_cases_injective", "equation_MiniParse.Spec.Combinators.and_then_cases_injective_", @@ -949,18 +859,16 @@ "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "equation_MiniParse.Spec.Combinators.synth_inverse", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "4f37a0b687dd72e1b28d939a3d594658" + "7c6533d445272460a253f3f3603ea19f" ], [ "MiniParse.Spec.Combinators.parse_synth_eq", @@ -968,17 +876,13 @@ 2, 2, [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.Combinators.and_then", @@ -989,11 +893,10 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", + "int_inversion", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "proj_equation_MiniParse.Spec.Base.Parser_f", @@ -1004,18 +907,18 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_MiniParse.Spec.Base.consumed_length", - "typing_MiniParse.Spec.Base.parse", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Base.__proj__Parser__item__f", + "typing_MiniParse.Spec.Base.bparse", + "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "6be7104a5b6a641d88c4b023d44d5495" + "416afbc36e1f4954767fc7bb54841528" ], [ "MiniParse.Spec.Combinators.bare_serialize_synth_correct", @@ -1025,10 +928,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "52cd8b2d7afe961bbced0918a5aa4fee" + "bd83960733e0f530e69a00fd8c5d639e" ], [ "MiniParse.Spec.Combinators.bare_serialize_synth_correct", @@ -1037,9 +940,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_MiniParse.Spec.Base.Serializer", "equation_MiniParse.Spec.Base.bparse", @@ -1056,13 +957,11 @@ "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_Prims.nat", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_a739c2c8080b7a370d97e04cdc621b20", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_5726c850e5adc579388e02f8d1747910", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "primitive_Prims.op_Addition", "proj_equation_MiniParse.Spec.Base.Parser_f", "proj_equation_MiniParse.Spec.Base.Serializer_f", @@ -1072,17 +971,15 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "typing_FStar.Seq.Base.length", - "typing_MiniParse.Spec.Base.serialize", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Base.serialize" ], 0, - "c46bdb23da3c0c1d45a880b40dc3940c" + "e42192d1b3b5fbc7f7cbf9fbb1264ba6" ], [ "MiniParse.Spec.Combinators.synth_inverse_intro", @@ -1091,7 +988,7 @@ 1, [ "@query", "equation_MiniParse.Spec.Combinators.synth_inverse" ], 0, - "208514aeb0792d5dec765fcc961718cb" + "e27fbdb1367f894dd5fe2a1a22d1fafd" ], [ "MiniParse.Spec.Combinators.serialize_synth", @@ -1101,10 +998,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d8872babd9946e76253cda2ea500ad71" + "2dcad94968d46d4ec12de3a76091ea11" ], [ "MiniParse.Spec.Combinators.lift_parser", @@ -1113,17 +1010,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", + "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_ac6e6f456246d2c100c6577d38c5a1e7", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.parse", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_190e0e35bca4ed8a4a1685ab8cf6ff76", + "interpretation_Tm_abs_fb66773af7f5fd01e183cbed4fff8be6", "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", "typing_MiniParse.Spec.Base.__proj__Parser__item__f", "unit_typing" ], 0, - "0bcae6734d5793dea21bdd9dd543e5d1" + "59be705ce2d31241d656a5c43eeb7d45" ], [ "MiniParse.Spec.Combinators.parse_filter", @@ -1132,13 +1028,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.bare_parser", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.Combinators.and_then_cases_injective", @@ -1151,25 +1043,23 @@ "equation_MiniParse.Spec.Combinators.parse_ret", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_92382c1c22acef1240f22e978450f6f6", - "interpretation_Tm_abs_e9ed39f641c8e126edd4b315c3640938", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", + "interpretation_Tm_abs_70f489119d60d8732ac22a9de0b5f7be", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.parse", "typing_MiniParse.Spec.Combinators.fail_parser", - "typing_Tm_abs_037cdb2405bff23906addda651878033", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_Tm_abs_24c49183d745861a79c9e705ccd478d5" ], 0, - "2cfcf0982de62ea08bd92918dd53fd88" + "564bce7af2129406e0185d23dd03349a" ], [ "MiniParse.Spec.Combinators.serialize_filter", @@ -1178,16 +1068,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ce3c5e46aa08229e6b50ae91f4b2300d", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_eb419504469cee35f18be0519e8e2a53", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_dd40325d19cf9e9f3e68140eb0c1fb89", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_MiniParse.Spec.Base.Serializer", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", + "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Base.serializer_correct", @@ -1204,18 +1093,15 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "function_token_typing_MiniParse.Spec.Combinators.parse_filter_payload", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_0b21701f93e4f4fdea7c77b23b854271", - "interpretation_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_92382c1c22acef1240f22e978450f6f6", + "int_inversion", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "interpretation_Tm_abs_f1ff1752f992f8166b0d544dd38cf6b2", "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "proj_equation_MiniParse.Spec.Base.Parser_f", "proj_equation_MiniParse.Spec.Base.Serializer_f", - "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -1223,22 +1109,20 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", "refinement_interpretation_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.serialize", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Base.serialize" ], 0, - "d8df84cbb7917f6312947759a647c472" + "bcc58aed0c652dcf939b88cc66769f41" ], [ "MiniParse.Spec.Combinators.make_constant_size_parser_aux", @@ -1246,27 +1130,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "6637a22c3b74fe5b099c96f3a68ccda0" + "d601a66d511d29f521bbc61fbe25df81" ], [ "MiniParse.Spec.Combinators.make_constant_size_parser_precond'", @@ -1275,7 +1157,7 @@ 1, [ "@query" ], 0, - "b37f0be21278ebb25c5caaf349c040f5" + "ec272ea0decca13ac16e3e2912f12d33" ], [ "MiniParse.Spec.Combinators.make_constant_size_parser", @@ -1283,15 +1165,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", + "equation_MiniParse.Spec.Base.bare_parser", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Base.no_lookahead", "equation_MiniParse.Spec.Base.no_lookahead_on", @@ -1304,17 +1185,20 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "int_inversion", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Pervasives.Native.uu___is_Some", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Combinators.make_constant_size_parser_aux" + "typing_MiniParse.Spec.Base.consumed_length", + "typing_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f" ], 0, - "2d28899c244f2158be2824f95866da42" + "5a3f012cc252f4b4a6b5267d9e4c84c1" ], [ "MiniParse.Spec.Combinators.make_total_constant_size_parser", @@ -1323,18 +1207,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_precond", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_precond_precond", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser_precond", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", + "interpretation_Tm_abs_58be95b26582b1c154eb6e5a49ee6ad4", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a6c2329198b48e2f4e389376398e6671" + "d51074c5efbf53e717c642960d9cbfb2" ], [ "MiniParse.Spec.Combinators.parse_ret'", @@ -1343,16 +1225,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "6c31cbd429ccfe0dcc8bb21f47315296" + "4540e8f0e391cec030f6435d3451bcda" ], [ "MiniParse.Spec.Combinators.parse_ret", @@ -1361,7 +1241,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.bparse", @@ -1378,20 +1257,20 @@ "equation_MiniParse.Spec.Base.no_lookahead_weak", "equation_MiniParse.Spec.Base.no_lookahead_weak_on", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", + "int_typing", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", "lemma_FStar.Seq.Properties.slice_is_empty", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "typing_FStar.Seq.Base.length" ], 0, - "9f2d375e32a2e6974044508432997022" + "ed23b474a33016757e3b2eaf339328ee" ], [ "MiniParse.Spec.Combinators.serialize_empty", @@ -1402,21 +1281,20 @@ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.Base.serializer_correct", "equation_MiniParse.Spec.Combinators.parse_empty", "equation_MiniParse.Spec.Combinators.parse_ret", "function_token_typing_FStar.UInt8.t", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_0b81c94932332f7859446d448ebb98d3", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_b7b0a736cd039536e76a0ce4f5dcb7b7", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_MiniParse.Spec.Base.Parser_f", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", "typing_FStar.Seq.Base.empty", "unit_inversion" ], 0, - "a1723dec34d99eebf0bd50caee73f283" + "02677b8e7febcccba25d8bc2b1c43897" ], [ "MiniParse.Spec.Combinators.fail_parser", @@ -1427,7 +1305,6 @@ "@query", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.injective", "equation_MiniParse.Spec.Base.injective_precond", "equation_MiniParse.Spec.Base.no_lookahead", @@ -1436,11 +1313,11 @@ "equation_MiniParse.Spec.Base.no_lookahead_weak", "equation_MiniParse.Spec.Base.no_lookahead_weak_on", "equation_MiniParse.Spec.Combinators.fail_parser_", - "interpretation_Tm_abs_e9ed39f641c8e126edd4b315c3640938", + "interpretation_Tm_abs_70f489119d60d8732ac22a9de0b5f7be", "projection_inverse_BoxBool_proj_0" ], 0, - "06b65d2e4a0057ec187b6c4ba7216f6e" + "3414bfdc26d8fbb1defbdea3db4d31b1" ], [ "MiniParse.Spec.Combinators.and_then_bare", @@ -1448,15 +1325,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -1464,13 +1338,15 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "023677f6607507cc9f9d4ebcddeee285" + "b18ea8fab37b08e9fcef17f90fd83454" ], [ "MiniParse.Spec.Combinators.and_then_cases_injective_precond", @@ -1486,7 +1362,7 @@ "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "bb8566fc3cd8d293c5cb934ac657004b" + "6d21fa92687579b098cd772a5c4b234b" ], [ "MiniParse.Spec.Combinators.and_then", @@ -1495,7 +1371,7 @@ 1, [ "@query" ], 0, - "683d75383e409155b21f40f4bc0dd32f" + "7722703657d24f6def2fb8ce3a8ed044" ], [ "MiniParse.Spec.Combinators.nondep_then", @@ -1504,12 +1380,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Tm_unit", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Combinators.and_then", "equation_MiniParse.Spec.Combinators.and_then_bare", @@ -1519,21 +1392,19 @@ "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "equation_MiniParse.Spec.Combinators.parse_ret", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_67cc31e4cd95e9040eed6bf1482dd417", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_aec720a61e81f5f66fcca740b80664eb", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a", + "interpretation_Tm_abs_b1966e89e7cd8f7f0d8af601292dbb6f", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "3d2145824539a86e248a2bcf4d001174" + "6207f9ef1367fee726efffea8f411989" ], [ "MiniParse.Spec.Combinators.nondep_then_eq", @@ -1542,22 +1413,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", + "typing_FStar.Seq.Base.length" ], 0, - "7233b42ea3fea6798a56d3baef90138f" + "ad0b3ce61ffb5f670ffd141142472ae1" ], [ "MiniParse.Spec.Combinators.seq_slice_append_l", @@ -1565,22 +1436,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_MiniParse.Spec.Base.byte", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Seq.Base.length" ], 0, - "3d62878fa679a2fd7041d9328899cb5d" + "6445f9809089293dde7a633d88e33823" ], [ "MiniParse.Spec.Combinators.seq_slice_append_r", @@ -1588,19 +1453,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "90872e43800dada698af9658db2c3c8d" + "81880a7476721245693f3eefc7545852" ], [ "MiniParse.Spec.Combinators.serialize_nondep_then", @@ -1609,7 +1471,7 @@ 1, [ "@query" ], 0, - "c4e482d8a4347839ef71f226cb3c46d8" + "c5aa293652cc11498b25aabc9c47ac5d" ], [ "MiniParse.Spec.Combinators.parse_fret'", @@ -1618,16 +1480,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "080096269bd10512cb1a3b7e818fb050" + "86b664307b87c62be8e3fafbb30fb7f2" ], [ "MiniParse.Spec.Combinators.parse_fret", @@ -1636,7 +1496,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.bparse", @@ -1653,20 +1512,20 @@ "equation_MiniParse.Spec.Base.no_lookahead_weak", "equation_MiniParse.Spec.Base.no_lookahead_weak_on", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", + "int_typing", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", "lemma_FStar.Seq.Properties.slice_is_empty", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "typing_FStar.Seq.Base.length" ], 0, - "1fb3b511700ff35f41bc9b5001afae92" + "4677f0ebd0adfbed4b58f1f8ec7fcc18" ], [ "MiniParse.Spec.Combinators.parse_synth'", @@ -1675,27 +1534,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Combinators.and_then_cases_injective", "equation_MiniParse.Spec.Combinators.and_then_cases_injective_", "equation_MiniParse.Spec.Combinators.and_then_cases_injective_precond", "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "587d0a548421714ef9e5d88d59b83ad3" + "fa46df9efb2ca6be6d8238caccaefb3d" ], [ "MiniParse.Spec.Combinators.parse_synth", @@ -1704,9 +1558,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Combinators.and_then_cases_injective", "equation_MiniParse.Spec.Combinators.and_then_cases_injective_", @@ -1714,18 +1565,16 @@ "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "equation_MiniParse.Spec.Combinators.synth_inverse", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" ], 0, - "e4ff7505be8ad202e31f8cd405b997de" + "096cb62d3779b9276595bd1d1df2b235" ], [ "MiniParse.Spec.Combinators.parse_synth_eq", @@ -1741,11 +1590,11 @@ "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_MiniParse.Spec.Base.consumed_length" ], 0, - "74d0ed58ef16f21e5cfcafabc07d000b" + "7b69c2044440d7821927a05721bb12c4" ], [ "MiniParse.Spec.Combinators.bare_serialize_synth_correct", @@ -1755,10 +1604,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c24b01636a2ab3bb26f170f700613abd" + "bea0dbea460744ebd5b87a3a2f51e55b" ], [ "MiniParse.Spec.Combinators.serialize_synth", @@ -1768,10 +1617,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d6102d157601fef4b2cc21e535affd8c" + "b4bdfb292cb14b1e07003f09493e80b8" ], [ "MiniParse.Spec.Combinators.serialize_synth", @@ -1781,10 +1630,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "286b611df0c98f155de4238414f6d087" + "6ab56232323639f85cf66f4cc613a1eb" ], [ "MiniParse.Spec.Combinators.lift_parser", @@ -1793,17 +1642,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", + "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_ac6e6f456246d2c100c6577d38c5a1e7", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.parse", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_190e0e35bca4ed8a4a1685ab8cf6ff76", + "interpretation_Tm_abs_fb66773af7f5fd01e183cbed4fff8be6", "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", "typing_MiniParse.Spec.Base.__proj__Parser__item__f", "unit_typing" ], 0, - "ed8ccf405e1bfcd804a859ea6ce74daa" + "8d2e169bcbe8a995529731d40098b98a" ], [ "MiniParse.Spec.Combinators.parse_filter", @@ -1812,13 +1660,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", "equation_MiniParse.Spec.Base.bare_parser", "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.Combinators.and_then_cases_injective", @@ -1831,25 +1675,23 @@ "equation_MiniParse.Spec.Combinators.parse_ret", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_92382c1c22acef1240f22e978450f6f6", - "interpretation_Tm_abs_e9ed39f641c8e126edd4b315c3640938", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", + "interpretation_Tm_abs_70f489119d60d8732ac22a9de0b5f7be", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.parse", "typing_MiniParse.Spec.Combinators.fail_parser", - "typing_Tm_abs_037cdb2405bff23906addda651878033", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_Tm_abs_24c49183d745861a79c9e705ccd478d5" ], 0, - "824f24fa60c793910c9da59813d6d9aa" + "9518a9f1b9d23f2a75d32bb6df98d9e3" ], [ "MiniParse.Spec.Combinators.serialize_filter", @@ -1858,16 +1700,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ce3c5e46aa08229e6b50ae91f4b2300d", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_eb419504469cee35f18be0519e8e2a53", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_dd40325d19cf9e9f3e68140eb0c1fb89", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_MiniParse.Spec.Base.Serializer", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", + "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Base.serializer_correct", @@ -1884,18 +1725,15 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "function_token_typing_MiniParse.Spec.Combinators.parse_filter_payload", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_0b21701f93e4f4fdea7c77b23b854271", - "interpretation_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_92382c1c22acef1240f22e978450f6f6", + "int_inversion", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "interpretation_Tm_abs_f1ff1752f992f8166b0d544dd38cf6b2", "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "proj_equation_MiniParse.Spec.Base.Parser_f", "proj_equation_MiniParse.Spec.Base.Serializer_f", - "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -1903,22 +1741,20 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", "refinement_interpretation_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.serialize", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Base.serialize" ], 0, - "600ebcd6c9f1c4060e22291e7cd86020" + "af61f46db081b0db3f8f0dac02a7730f" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.Int.Aux.fst.hints b/examples/miniparse/MiniParse.Spec.Int.Aux.fst.hints index 227bb94ea14..a54eef7fcb5 100644 --- a/examples/miniparse/MiniParse.Spec.Int.Aux.fst.hints +++ b/examples/miniparse/MiniParse.Spec.Int.Aux.fst.hints @@ -10,24 +10,22 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Addition", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_706065148667abfe61f4be36fe9e9ea4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e3b116ce41757a2531424f27b2e61c60", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Int.Cast.uint8_to_uint16", "typing_FStar.UInt16.v", "typing_FStar.UInt8.v" ], 0, - "b5f2d406053199510c50251bd0e49ee4" + "9e7a7a83efad079f0c2b967d991d4d3e" ], [ "MiniParse.Spec.Int.Aux.encode_u16", @@ -36,34 +34,27 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "b7ba64604d0d92486a1c432304e452a3" + "c18fbdc19f0e98a8fcd8b0a740298dc5" ], [ "MiniParse.Spec.Int.Aux.encode_u16_decode_u16", 1, 2, - 2, + 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Int16.n", "equation_FStar.Int8.n", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", + "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Int.Aux.decode_u16", "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Int16.n", - "function_token_typing_FStar.Int8.n", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", "lemma_FStar.UInt8.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", @@ -71,16 +62,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_33de0dc41e43798f6f51a72f21223fc0", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_706065148667abfe61f4be36fe9e9ea4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_be0eb8aa7649733300bb1da296cdc916", - "refinement_interpretation_Tm_refine_cb234d6c3c063878e1f6a91b7fdaec55", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2d13984d764b4d9bf25fd676af9ca788", + "refinement_interpretation_Tm_refine_2e33cd83d3c91966aa0ce7a0a5c2d3a2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_b8ca54cbb92aab1d06093921cb1b79d4", + "refinement_interpretation_Tm_refine_c4c00397311c9c965ed6bffb113c7575", + "refinement_interpretation_Tm_refine_e3b116ce41757a2531424f27b2e61c60", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Int.Cast.uint16_to_uint8", "typing_FStar.Int.Cast.uint8_to_uint16", "typing_FStar.UInt.fits", "typing_FStar.UInt16.add", "typing_FStar.UInt16.div", @@ -89,7 +80,7 @@ "typing_MiniParse.Spec.Int.Aux.decode_u16", "typing_Prims.pow2" ], 0, - "a1b6f12809c14d23f7e75eee4c52c74e" + "e8797df62653db5c943e51e94b15ba3a" ], [ "MiniParse.Spec.Int.Aux.decode_u16_encode_u16", @@ -100,50 +91,42 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Int16.n", "equation_FStar.Int8.n", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", + "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Int.Aux.decode_u16", "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.Int16.n", - "function_token_typing_FStar.Int8.n", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt16.uv_inv", "lemma_FStar.UInt16.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "equation_Prims.pos", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", + "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_33de0dc41e43798f6f51a72f21223fc0", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_706065148667abfe61f4be36fe9e9ea4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_be0eb8aa7649733300bb1da296cdc916", - "refinement_interpretation_Tm_refine_cb234d6c3c063878e1f6a91b7fdaec55", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2d13984d764b4d9bf25fd676af9ca788", + "refinement_interpretation_Tm_refine_2e33cd83d3c91966aa0ce7a0a5c2d3a2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_b8ca54cbb92aab1d06093921cb1b79d4", + "refinement_interpretation_Tm_refine_c4c00397311c9c965ed6bffb113c7575", + "refinement_interpretation_Tm_refine_e3b116ce41757a2531424f27b2e61c60", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Int.Cast.uint16_to_uint8", "typing_FStar.Int.Cast.uint8_to_uint16", "typing_FStar.UInt.fits", "typing_FStar.UInt16.add", "typing_FStar.UInt16.div", "typing_FStar.UInt16.mul", "typing_FStar.UInt16.uint_to_t", - "typing_FStar.UInt16.v", "typing_FStar.UInt8.v", - "typing_MiniParse.Spec.Int.Aux.decode_u16", + "typing_FStar.UInt16.v", "typing_MiniParse.Spec.Int.Aux.decode_u16", "typing_MiniParse.Spec.Int.Aux.encode_u16", "typing_Prims.pow2" ], 0, - "fd3b828c45abd1c209e022f8048134e6" + "60c322fd819ff1caa8a2881748f19859" ], [ "MiniParse.Spec.Int.Aux.decode_u16", @@ -154,24 +137,22 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Addition", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_706065148667abfe61f4be36fe9e9ea4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e3b116ce41757a2531424f27b2e61c60", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Int.Cast.uint8_to_uint16", "typing_FStar.UInt16.v", "typing_FStar.UInt8.v" ], 0, - "704e37820e49edf27e8b09450c04c91b" + "4d75f14f12a28644e104eb0ff8499094" ], [ "MiniParse.Spec.Int.Aux.encode_u16", @@ -182,23 +163,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "3d4830f93f94269b934225e02d2ac78a" + "8ce480b9a0f49fcffb7fbf4578c2a3a7" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.Int.fst.hints b/examples/miniparse/MiniParse.Spec.Int.fst.hints index ff76d9785d6..2bb7f9f2c3b 100644 --- a/examples/miniparse/MiniParse.Spec.Int.fst.hints +++ b/examples/miniparse/MiniParse.Spec.Int.fst.hints @@ -8,23 +8,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser_precond", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_e5c83496cd5c94293aaa920108aa52e9", + "interpretation_Tm_abs_12bf9b9f39059a818367a55f6d1bebb3", "lemma_FStar.Seq.Base.lemma_eq_intro", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_de1cec5c540bb7dee824e05ea76d5280" + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", + "refinement_interpretation_Tm_refine_423fdb34d4b75c3bab2168e5abf27989", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "1b6209132347886a674f0fd4d178b3aa" + "eaf60f4aa80cacfb26b7c6a377a14655" ], [ "MiniParse.Spec.Int.serialize_u8", @@ -33,13 +31,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8540ab936aaf1248e0cfa8ccfb5b2463", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParse.Spec.Int_interpretation_Tm_ghost_arrow_66c74bc1101ae66e668286fb80f0e945", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", - "equation_MiniParse.Spec.Base.bare_serializer", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", @@ -48,16 +41,12 @@ "equation_MiniParse.Spec.Combinators.make_constant_size_parser", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Int.parse_u8", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "interpretation_Tm_abs_e5c83496cd5c94293aaa920108aa52e9", + "function_token_typing_FStar.UInt8.t", "int_typing", + "interpretation_Tm_abs_12bf9b9f39059a818367a55f6d1bebb3", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "interpretation_Tm_abs_58be95b26582b1c154eb6e5a49ee6ad4", + "interpretation_Tm_abs_abe39403e7ecb7eefc1a316047051357", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Properties.slice_length", @@ -68,16 +57,13 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", "unit_typing" + "typing_Tm_abs_abe39403e7ecb7eefc1a316047051357" ], 0, - "825ef36efe2fe9a7945046b4c44c28bf" + "1079293f3d6140f904cc9fe31977523d" ], [ "MiniParse.Spec.Int.parse_u16_aux", @@ -85,14 +71,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_77c014063b2dfee7b49c5f91ef79f44c" + "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_15105f0ad7318b3348d436c7619fd5de" ], 0, - "227f12aa86efc932ea2c9990f92d5f90" + "a3459d281dc4ad4bfc422ae09e0a70f0" ], [ "MiniParse.Spec.Int.parse_u16_aux", @@ -103,70 +86,40 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_d726b863a7974ee0a6f5595873bb4abe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8540ab936aaf1248e0cfa8ccfb5b2463", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8fac8ab2a09aa633481733abfd98d077", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Int16.n", "equation_FStar.Int8.n", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_MiniParse.Spec.Base.bare_serializer", + "b2t_def", "bool_inversion", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser_precond", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Int.Aux.decode_u16", "equation_Prims.nat", - "function_token_typing_FStar.Int16.n", - "function_token_typing_FStar.Int8.n", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "interpretation_Tm_abs_d42b7e73e77ea79f2d425faf67c4eece", - "lemma_FStar.Int.pow2_values", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.UInt16.vu_inv", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_3b3be9b0bff4965ce40f703b6d56da33", + "lemma_FStar.Seq.Base.lemma_eq_intro", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", "lemma_FStar.UInt8.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_706065148667abfe61f4be36fe9e9ea4", - "refinement_interpretation_Tm_refine_77c014063b2dfee7b49c5f91ef79f44c", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_be0eb8aa7649733300bb1da296cdc916", - "refinement_interpretation_Tm_refine_cb234d6c3c063878e1f6a91b7fdaec55", + "refinement_interpretation_Tm_refine_2d13984d764b4d9bf25fd676af9ca788", + "refinement_interpretation_Tm_refine_2e33cd83d3c91966aa0ce7a0a5c2d3a2", + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e3b116ce41757a2531424f27b2e61c60", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Int.Cast.uint8_to_uint16", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt16.add", - "typing_FStar.UInt16.mul", "typing_FStar.UInt16.uint_to_t", - "typing_FStar.UInt16.v", "typing_FStar.UInt8.v", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "typing_Tm_abs_d42b7e73e77ea79f2d425faf67c4eece", "unit_typing" + "typing_FStar.Seq.Base.index", "typing_FStar.UInt.fits", + "typing_FStar.UInt16.add", "typing_FStar.UInt16.mul", + "typing_FStar.UInt16.uint_to_t", "typing_FStar.UInt16.v", + "typing_FStar.UInt8.v" ], 0, - "adb5f9a094b0ee698db19e2b0d2716a6" + "72b07828359e5fbea9228af402cc791b" ], [ "MiniParse.Spec.Int.parse_u16", @@ -175,12 +128,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "refinement_interpretation_Tm_refine_13c751b1cd60d3ecd1786be4234ecdee" + "refinement_interpretation_Tm_refine_af8636cafa07354ad4272bfa8c0b3ef3" ], 0, - "7419b4b86182f9f1a8d24efd27a8c6ce" + "c5fd5711a480ed52dc313a3942af4a17" ], [ "MiniParse.Spec.Int.serialize_u16", @@ -191,16 +142,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_d726b863a7974ee0a6f5595873bb4abe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8fac8ab2a09aa633481733abfd98d077", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", + "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_b6fdf01d77647e45e27073a5ce6ef89d", + "MiniParse.Spec.Int_interpretation_Tm_ghost_arrow_c10cb60342a53d218fa6ba9eb354e5d2", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Base.bparse", + "equation_FStar.UInt.uint_t", + "equation_MiniParse.Spec.Base.bare_serializer", + "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.parse", @@ -215,22 +167,21 @@ "equation_MiniParse.Spec.Int.serialize_u16_", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.UInt8.t", "function_token_typing_MiniParse.Spec.Int.parse_u16_aux", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", - "lemma_FStar.Int.pow2_values", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "interpretation_Tm_abs_58be95b26582b1c154eb6e5a49ee6ad4", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.UInt16.uv_inv", "lemma_FStar.UInt16.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", + "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -239,22 +190,22 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_13c751b1cd60d3ecd1786be4234ecdee", - "refinement_interpretation_Tm_refine_33de0dc41e43798f6f51a72f21223fc0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_706065148667abfe61f4be36fe9e9ea4", - "refinement_interpretation_Tm_refine_77c014063b2dfee7b49c5f91ef79f44c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_be0eb8aa7649733300bb1da296cdc916", - "refinement_interpretation_Tm_refine_cb234d6c3c063878e1f6a91b7fdaec55", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_15105f0ad7318b3348d436c7619fd5de", + "refinement_interpretation_Tm_refine_2d13984d764b4d9bf25fd676af9ca788", + "refinement_interpretation_Tm_refine_2e33cd83d3c91966aa0ce7a0a5c2d3a2", + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_af8636cafa07354ad4272bfa8c0b3ef3", + "refinement_interpretation_Tm_refine_b8ca54cbb92aab1d06093921cb1b79d4", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c4c00397311c9c965ed6bffb113c7575", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e3b116ce41757a2531424f27b2e61c60", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Int.parse_u16_aux", "typing_FStar.Int.Cast.uint16_to_uint8", "typing_FStar.Int.Cast.uint8_to_uint16", @@ -266,7 +217,7 @@ "typing_MiniParse.Spec.Int.serialize_u16_", "typing_Prims.pow2" ], 0, - "fca6e802a105c79f49abadf27b44cfba" + "8f02446a7a72dbfa03f6190f2abf0882" ], [ "MiniParse.Spec.Int.mk_u16", @@ -277,20 +228,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "155f52a743899689b93c8b9f3de7a830" + "2e85f60a553f653da7b1ac277f14f210" ], [ "MiniParse.Spec.Int.bounded_u16", @@ -302,7 +250,7 @@ "haseqMiniParse.Spec.Int_Tm_refine_4a34c5b30307f7bc5de1b73c66981962" ], 0, - "175237b35eaae3ab6e37ea1cfde370df" + "cc61bc59afaf9c1f8ca48998603b140b" ], [ "MiniParse.Spec.Int.map_u16_to_bounded_u16", @@ -314,11 +262,11 @@ "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", "int_inversion", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "82da7d5faacf8f5e41cf920e0aefb5b4" + "cda6a7346ffc95f623d09df6335f6233" ], [ "MiniParse.Spec.Int.pred_pre", @@ -326,12 +274,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_495178224cc4ee09f8973715e15c5a58" + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_35fb8759ee35d7bf7cf3df6dd7bf565c" ], 0, - "8aba6881bdf476b3727e24a12af97b85" + "ed29e21e4985a94855b4268a18daa227" ], [ "MiniParse.Spec.Int.pred_pre", @@ -342,26 +290,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_495178224cc4ee09f8973715e15c5a58", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35fb8759ee35d7bf7cf3df6dd7bf565c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "2af90b84b5080cac063ef0a6610d1bf2" + "a05ff0408a9e265f89a3fe728eccb217" ], [ "MiniParse.Spec.Int.pred_large_bound", @@ -369,12 +316,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_d097853969f7073342a7c20a25ad0a7d" + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_ed1ec337958d4240fdc3197cba495263" ], 0, - "a818d3dd9944e04c91f7a8ef8f7a351e" + "97ab5249db69574ed202cb5f65b734a7" ], [ "MiniParse.Spec.Int.pred_large_bound", @@ -385,10 +332,10 @@ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Int.bounded_u16", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962" + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674" ], 0, - "e109608f059eb323fdf51dc85db42001" + "2bfd52e38d59e4a2adb3f9404717e12f" ], [ "MiniParse.Spec.Int.forall_bounded_u16", @@ -397,18 +344,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "759e48ab64598385fe20d55fcc7937f8" + "6abb4e7c6ab5de662180285c08735821" ], [ "MiniParse.Spec.Int.forall_bounded_u16_elim", @@ -421,32 +366,25 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_MiniParse.Spec.Int.forall_bounded_u16.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8540ab936aaf1248e0cfa8ccfb5b2463", - "MiniParse.Spec.Int_interpretation_Tm_arrow_87d5aca0c0d96c2f10b674101dd4406d", - "MiniParse.Spec.Int_interpretation_Tm_arrow_da423df2783b6da6468a8aa202ee6055", + "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", + "MiniParse.Spec.Int_interpretation_Tm_arrow_534c2251d1d7899f0032ed0037e2c308", + "MiniParse.Spec.Int_interpretation_Tm_arrow_7b48bf5c91b1e428e5f3665bb06f2192", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt16.t__uu___haseq", "b2t_def", - "binder_x_ac9443f1aef759bdb6227b13ad791fac_2", - "binder_x_b74e162e5ca1976cb767831c4b185e72_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "binder_x_9716943083047efaa0a6d0dedf9fe7db_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_f71c85792223bc237994463b8c0517d4_2", "bool_inversion", "bool_typing", "equality_tok_Prims.LexTop@tok", - "equation_FStar.Int16.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Int.Aux.encode_u16", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Int.bounded_u16", "equation_MiniParse.Spec.Int.pred_large_bound", "equation_MiniParse.Spec.Int.pred_pre", "equation_Prims.nat", "equation_with_fuel_MiniParse.Spec.Int.forall_bounded_u16.fuel_instrumented", - "function_token_typing_FStar.Int16.n", - "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "l_and-interp", "lemma_FStar.Int.pow2_values", - "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt16.uv_inv", + "int_inversion", "int_typing", "l_and-interp", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", @@ -454,23 +392,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_be0eb8aa7649733300bb1da296cdc916", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "typing_FStar.Int.Cast.uint16_to_uint8", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt16.add", + "refinement_interpretation_Tm_refine_2e33cd83d3c91966aa0ce7a0a5c2d3a2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt.fits", "typing_FStar.UInt16.add", "typing_FStar.UInt16.uint_to_t", "typing_FStar.UInt16.v", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" + "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "5e3d8f5bf95b4babb90beeb4d8f86e69" + "fd38aaae6263713b5af0d1742cf3fbb9" ], [ "MiniParse.Spec.Int.parse_bounded_u16", @@ -482,15 +414,15 @@ "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_1698f097e6e4da1ca61aa2524ebb84aa", - "interpretation_Tm_abs_896d16731742ddbe5812a989f377389d", + "interpretation_Tm_abs_379a8ad10ba5daa7becb86c13242308c", + "interpretation_Tm_abs_6b5eee671c81a9a2748f24900cb0dc3c", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb23b672d47da008f1b639a164584fa8" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_778ab6f4ddc6a50dffe20fdcd7f849b3", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674" ], 0, - "d2d8772535ac9f5e28b3434e0cd44ddc" + "cad1098e7c1007d69a55c35463200a8b" ], [ "MiniParse.Spec.Int.serialize_bounded_u16", @@ -502,15 +434,15 @@ "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_1698f097e6e4da1ca61aa2524ebb84aa", - "interpretation_Tm_abs_896d16731742ddbe5812a989f377389d", + "interpretation_Tm_abs_379a8ad10ba5daa7becb86c13242308c", + "interpretation_Tm_abs_6b5eee671c81a9a2748f24900cb0dc3c", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb23b672d47da008f1b639a164584fa8" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_778ab6f4ddc6a50dffe20fdcd7f849b3", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674" ], 0, - "758e5460727a648f4f4c3b003c889449" + "3a480387e50084ce81a2655975bb5a26" ], [ "MiniParse.Spec.Int.parse_u8", @@ -519,23 +451,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser_precond", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_e5c83496cd5c94293aaa920108aa52e9", + "interpretation_Tm_abs_12bf9b9f39059a818367a55f6d1bebb3", "lemma_FStar.Seq.Base.lemma_eq_intro", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_de1cec5c540bb7dee824e05ea76d5280" + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", + "refinement_interpretation_Tm_refine_423fdb34d4b75c3bab2168e5abf27989", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "3c1f278657b05b8a962c49be9c2b1a3d" + "4b63199471a69a4af4936f9194d99106" ], [ "MiniParse.Spec.Int.serialize_u8", @@ -544,13 +474,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8540ab936aaf1248e0cfa8ccfb5b2463", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParse.Spec.Int_interpretation_Tm_ghost_arrow_66c74bc1101ae66e668286fb80f0e945", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", - "equation_MiniParse.Spec.Base.bare_serializer", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", @@ -559,16 +484,12 @@ "equation_MiniParse.Spec.Combinators.make_constant_size_parser", "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Int.parse_u8", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "interpretation_Tm_abs_e5c83496cd5c94293aaa920108aa52e9", + "function_token_typing_FStar.UInt8.t", "int_typing", + "interpretation_Tm_abs_12bf9b9f39059a818367a55f6d1bebb3", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "interpretation_Tm_abs_58be95b26582b1c154eb6e5a49ee6ad4", + "interpretation_Tm_abs_abe39403e7ecb7eefc1a316047051357", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Properties.slice_length", @@ -579,16 +500,13 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", "unit_typing" + "typing_Tm_abs_abe39403e7ecb7eefc1a316047051357" ], 0, - "61acf48e2ed671fdf86ad9ae136f4e8c" + "5b01e7a6c94770d334811c37e0427563" ], [ "MiniParse.Spec.Int.parse_u16_aux", @@ -596,14 +514,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_77c014063b2dfee7b49c5f91ef79f44c" + "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_15105f0ad7318b3348d436c7619fd5de" ], 0, - "75081b3119ada4c80d7132da3205fba4" + "a2b2dca9c30812307d685b23f05e47a0" ], [ "MiniParse.Spec.Int.parse_u16_aux", @@ -614,70 +529,40 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_d726b863a7974ee0a6f5595873bb4abe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8540ab936aaf1248e0cfa8ccfb5b2463", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8fac8ab2a09aa633481733abfd98d077", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Int16.n", "equation_FStar.Int8.n", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_MiniParse.Spec.Base.bare_serializer", + "b2t_def", "bool_inversion", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser_precond", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Int.Aux.decode_u16", "equation_Prims.nat", - "function_token_typing_FStar.Int16.n", - "function_token_typing_FStar.Int8.n", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "interpretation_Tm_abs_d42b7e73e77ea79f2d425faf67c4eece", - "lemma_FStar.Int.pow2_values", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.UInt16.vu_inv", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "interpretation_Tm_abs_3b3be9b0bff4965ce40f703b6d56da33", + "lemma_FStar.Seq.Base.lemma_eq_intro", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", "lemma_FStar.UInt8.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_706065148667abfe61f4be36fe9e9ea4", - "refinement_interpretation_Tm_refine_77c014063b2dfee7b49c5f91ef79f44c", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_be0eb8aa7649733300bb1da296cdc916", - "refinement_interpretation_Tm_refine_cb234d6c3c063878e1f6a91b7fdaec55", + "refinement_interpretation_Tm_refine_2d13984d764b4d9bf25fd676af9ca788", + "refinement_interpretation_Tm_refine_2e33cd83d3c91966aa0ce7a0a5c2d3a2", + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e3b116ce41757a2531424f27b2e61c60", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Int.Cast.uint8_to_uint16", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt16.add", - "typing_FStar.UInt16.mul", "typing_FStar.UInt16.uint_to_t", - "typing_FStar.UInt16.v", "typing_FStar.UInt8.v", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "typing_Tm_abs_d42b7e73e77ea79f2d425faf67c4eece", "unit_typing" + "typing_FStar.Seq.Base.index", "typing_FStar.UInt.fits", + "typing_FStar.UInt16.add", "typing_FStar.UInt16.mul", + "typing_FStar.UInt16.uint_to_t", "typing_FStar.UInt16.v", + "typing_FStar.UInt8.v" ], 0, - "41faded52257e4a2ef894788cbbd2a26" + "23b53f4a96cbba1d52b624c32aa0592d" ], [ "MiniParse.Spec.Int.parse_u16", @@ -686,12 +571,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "refinement_interpretation_Tm_refine_13c751b1cd60d3ecd1786be4234ecdee" + "refinement_interpretation_Tm_refine_af8636cafa07354ad4272bfa8c0b3ef3" ], 0, - "82fd459efb135b816b9baa03dd5cf0b0" + "105badba9c3906fb40ad6123786eaa64" ], [ "MiniParse.Spec.Int.serialize_u16", @@ -702,16 +585,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_d726b863a7974ee0a6f5595873bb4abe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8fac8ab2a09aa633481733abfd98d077", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", + "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_b6fdf01d77647e45e27073a5ce6ef89d", + "MiniParse.Spec.Int_interpretation_Tm_ghost_arrow_c10cb60342a53d218fa6ba9eb354e5d2", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Base.bparse", + "equation_FStar.UInt.uint_t", + "equation_MiniParse.Spec.Base.bare_serializer", + "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.parse", @@ -726,22 +610,21 @@ "equation_MiniParse.Spec.Int.serialize_u16_", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.UInt8.t", "function_token_typing_MiniParse.Spec.Int.parse_u16_aux", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_031e73223817d0ece5dfc43ac56f64b0", - "interpretation_Tm_abs_4f1dc95cab650abf88c2810c5c9683a3", - "lemma_FStar.Int.pow2_values", + "interpretation_Tm_abs_295b15dcb172ee5e05236e9fa2f0be8f", + "interpretation_Tm_abs_58be95b26582b1c154eb6e5a49ee6ad4", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.UInt16.uv_inv", "lemma_FStar.UInt16.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", + "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -750,22 +633,22 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_13c751b1cd60d3ecd1786be4234ecdee", - "refinement_interpretation_Tm_refine_33de0dc41e43798f6f51a72f21223fc0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_706065148667abfe61f4be36fe9e9ea4", - "refinement_interpretation_Tm_refine_77c014063b2dfee7b49c5f91ef79f44c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b769c0bf16cb286238e7b11ff583e99b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_be0eb8aa7649733300bb1da296cdc916", - "refinement_interpretation_Tm_refine_cb234d6c3c063878e1f6a91b7fdaec55", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_15105f0ad7318b3348d436c7619fd5de", + "refinement_interpretation_Tm_refine_2d13984d764b4d9bf25fd676af9ca788", + "refinement_interpretation_Tm_refine_2e33cd83d3c91966aa0ce7a0a5c2d3a2", + "refinement_interpretation_Tm_refine_31cc36672e71d6553fa94a95dedba361", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_af8636cafa07354ad4272bfa8c0b3ef3", + "refinement_interpretation_Tm_refine_b8ca54cbb92aab1d06093921cb1b79d4", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c4c00397311c9c965ed6bffb113c7575", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e3b116ce41757a2531424f27b2e61c60", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Int.parse_u16_aux", "typing_FStar.Int.Cast.uint16_to_uint8", "typing_FStar.Int.Cast.uint8_to_uint16", @@ -773,11 +656,12 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "typing_FStar.UInt16.add", "typing_FStar.UInt16.div", "typing_FStar.UInt16.mul", "typing_FStar.UInt16.uint_to_t", - "typing_FStar.UInt16.v", "typing_MiniParse.Spec.Int.Aux.encode_u16", + "typing_FStar.UInt16.v", "typing_FStar.UInt8.v", + "typing_MiniParse.Spec.Int.Aux.encode_u16", "typing_MiniParse.Spec.Int.serialize_u16_", "typing_Prims.pow2" ], 0, - "7054fb54ad205d402a1a45ab8684631b" + "117edd33c5c5d2016640bc9291b1e76a" ], [ "MiniParse.Spec.Int.mk_u16", @@ -788,20 +672,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4f5974b4caed911fa970e5ff3d5cd127" + "b536dc0179ac4e5be4e117e52bef6802" ], [ "MiniParse.Spec.Int.bounded_u16", @@ -813,7 +694,7 @@ "haseqMiniParse.Spec.Int_Tm_refine_4a34c5b30307f7bc5de1b73c66981962" ], 0, - "3d573d082f277de0657aae727f81e303" + "7892d68ad0dbc6a5949cc7577a227ccc" ], [ "MiniParse.Spec.Int.map_u16_to_bounded_u16", @@ -825,11 +706,11 @@ "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", "int_inversion", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1895c28209c04f664bbbb5d87180204a" + "e73864f2a060b8f1870f3dc62c8e637a" ], [ "MiniParse.Spec.Int.pred_pre", @@ -837,12 +718,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_495178224cc4ee09f8973715e15c5a58" + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_35fb8759ee35d7bf7cf3df6dd7bf565c" ], 0, - "53a03fc18ca4765b26b12f47a6242918" + "aae33343b56f514053eba7daef21e4d3" ], [ "MiniParse.Spec.Int.pred_pre", @@ -853,26 +734,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_495178224cc4ee09f8973715e15c5a58", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35fb8759ee35d7bf7cf3df6dd7bf565c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "f3451955031f5c5b718ef82c3ae4188a" + "446585cff38a5f3e8977e0a848fae07c" ], [ "MiniParse.Spec.Int.pred_pre", @@ -880,12 +760,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_495178224cc4ee09f8973715e15c5a58" + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_35fb8759ee35d7bf7cf3df6dd7bf565c" ], 0, - "6afd54aee046fb7749bd09adb341541a" + "7cf74aa71f3f427db1ea406fd499948d" ], [ "MiniParse.Spec.Int.pred_large_bound", @@ -893,12 +773,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_d097853969f7073342a7c20a25ad0a7d" + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_ed1ec337958d4240fdc3197cba495263" ], 0, - "cbd39a05ebf4a877bf24a9e7255faf68" + "1b84b793bc30aa6a730d4623143b9ecd" ], [ "MiniParse.Spec.Int.pred_large_bound", @@ -909,10 +789,10 @@ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Int.bounded_u16", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962" + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674" ], 0, - "4a7b342395b6c67f8f76fa762f34fb95" + "442c2d19f602f14e8b34ae400e57ac62" ], [ "MiniParse.Spec.Int.pred_large_bound", @@ -920,12 +800,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_d097853969f7073342a7c20a25ad0a7d" + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_ed1ec337958d4240fdc3197cba495263" ], 0, - "6531dd0730267ea48647b762593d7e89" + "29987ccd5a83b19997cb1feb8e0faa9a" ], [ "MiniParse.Spec.Int.forall_bounded_u16", @@ -934,18 +814,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "29bd24bee3c8728c42b60ae37d997c67" + "521461c0ae0d3bf285b26ad291525a31" ], [ "MiniParse.Spec.Int.parse_bounded_u16", @@ -957,15 +835,15 @@ "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_1698f097e6e4da1ca61aa2524ebb84aa", - "interpretation_Tm_abs_896d16731742ddbe5812a989f377389d", + "interpretation_Tm_abs_379a8ad10ba5daa7becb86c13242308c", + "interpretation_Tm_abs_6b5eee671c81a9a2748f24900cb0dc3c", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb23b672d47da008f1b639a164584fa8" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_778ab6f4ddc6a50dffe20fdcd7f849b3", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674" ], 0, - "8fe2b9ecaafa6df48365e08f645a64a3" + "d001751d810f5680658761ffa6cad643" ], [ "MiniParse.Spec.Int.serialize_bounded_u16", @@ -977,15 +855,15 @@ "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_1698f097e6e4da1ca61aa2524ebb84aa", - "interpretation_Tm_abs_896d16731742ddbe5812a989f377389d", + "interpretation_Tm_abs_379a8ad10ba5daa7becb86c13242308c", + "interpretation_Tm_abs_6b5eee671c81a9a2748f24900cb0dc3c", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cb23b672d47da008f1b639a164584fa8" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_778ab6f4ddc6a50dffe20fdcd7f849b3", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674" ], 0, - "053c13fd18f34a70bbfc5bd0ab6c906a" + "5f7ef2efae436fb71588095e0683474d" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.List.fst.hints b/examples/miniparse/MiniParse.Spec.List.fst.hints index 8ba723e3eae..4d5ab6eff8b 100644 --- a/examples/miniparse/MiniParse.Spec.List.fst.hints +++ b/examples/miniparse/MiniParse.Spec.List.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "818cef4d5a5063c31c12f359cfe39d99" + "c30e6a1b0378e97bd3dcdf50fe9d4531" ], [ "MiniParse.Spec.List.nlist_nil_unique", @@ -27,19 +27,17 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_Prims.Cons", "equation_MiniParse.Spec.List.nlist", "equation_MiniParse.Spec.List.nlist_nil", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "776d10a62ce5ed7a519323574d232d8e" + "4f4215795d677dd2757c7e1f7ddd11d1" ], [ "MiniParse.Spec.List.nlist_cons", @@ -50,23 +48,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", + "@query", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "equation_MiniParse.Spec.List.nlist", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "typing_FStar.List.Tot.Base.length" ], 0, - "99725ac4d0fd12e326f24f5a5b2cdcd5" + "c60476e2bd695b73e20d3ec6cd104bd6" ], [ "MiniParse.Spec.List.nlist_destruct", @@ -76,10 +72,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "398c9d9c95991848b65c7e472df26a52" + "62a27da25caa47c1f5e7e14a3b364072" ], [ "MiniParse.Spec.List.nlist_destruct", @@ -90,24 +86,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_MiniParse.Spec.List.nlist", "equation_Prims.nat", + "@query", "constructor_distinct_Prims.Cons", + "disc_equation_Prims.Cons", "equation_MiniParse.Spec.List.nlist", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length" ], 0, - "0158ea91b8818dd16736f480c9203de1" + "dabacb8f338457b98b27787e0ab114ec" ], [ "MiniParse.Spec.List.nlist_cons_unique", @@ -117,10 +110,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "97c64673bf3da5eda14104940c6718c6" + "c75c9080b5df354d978c8b3ce71f1207" ], [ "MiniParse.Spec.List.nlist_cons_unique", @@ -138,11 +131,11 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d" ], 0, - "da93a90fbbbcdd10310547326ca9f972" + "1ee09d687f0eaa036740f3bbde1d1f6e" ], [ "MiniParse.Spec.List.synth_nlist", @@ -150,16 +143,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "039989937226755b01392b397276b66d" + "0647e2068ca93f1865b8aa8715b233e4" ], [ "MiniParse.Spec.List.synth_nlist_recip", @@ -169,10 +159,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "87fb95cd71645baf81d59a8a77981b22" + "db301ada4ad83eb443c7d278a259788b" ], [ "MiniParse.Spec.List.synth_inverse_1", @@ -182,8 +172,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_MiniParse.Spec.Combinators.synth_inverse", + "@query", "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.List.nlist", "equation_MiniParse.Spec.List.nlist_cons", "equation_MiniParse.Spec.List.nlist_destruct", @@ -191,19 +180,17 @@ "equation_MiniParse.Spec.List.synth_nlist_recip", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "token_correspondence_MiniParse.Spec.List.synth_nlist", "token_correspondence_MiniParse.Spec.List.synth_nlist_recip" ], 0, - "a6eb49ef074b9bec1d515c0ec90c0fee" + "45c79ddd026f828ea08b524d0ef22d7b" ], [ "MiniParse.Spec.List.synth_inverse_2", @@ -211,9 +198,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", + "@MaxIFuel_assumption", "@query", "constructor_distinct_Prims.Cons", "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.List.nlist", "equation_MiniParse.Spec.List.nlist_cons", @@ -222,18 +207,17 @@ "equation_MiniParse.Spec.List.synth_nlist_recip", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_MiniParse.Spec.List.synth_nlist", "token_correspondence_MiniParse.Spec.List.synth_nlist_recip" ], 0, - "d5c89b0be88e396d17b38456f28f0f09" + "c902619244105d29849aa085b24a4722" ], [ "MiniParse.Spec.List.parse_nlist'", @@ -242,12 +226,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "binder_x_dd56f5a1741310742e5ad4135b193cac_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "constructor_distinct_Prims.Cons", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.List.nlist_cons", "equation_MiniParse.Spec.List.nlist_destruct", @@ -264,15 +246,13 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_MiniParse.Spec.List.synth_nlist", "token_correspondence_MiniParse.Spec.List.synth_nlist_recip", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "32a090f6d68c28f0363ee9eeb4b9daff" + "5943cb5c0a6794de0020710a9e565114" ], [ "MiniParse.Spec.List.parse_nlist_eq", @@ -283,31 +263,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", - "data_elim_MiniParse.Spec.Base.Serializer", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", - "equation_MiniParse.Spec.Base.bare_serializer", + "data_typing_intro_Prims.Cons@tok", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Base.parse", + "equation_MiniParse.Spec.Combinators.and_then", + "equation_MiniParse.Spec.Combinators.and_then_bare", "equation_MiniParse.Spec.Combinators.nondep_then", - "equation_MiniParse.Spec.Combinators.parse_empty", "equation_MiniParse.Spec.Combinators.parse_ret", - "equation_MiniParse.Spec.Combinators.serialize_empty", + "equation_MiniParse.Spec.Combinators.parse_synth", "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.List.nlist", "equation_MiniParse.Spec.List.nlist_cons", @@ -322,16 +294,13 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_FStar.UInt32.n", "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "kinding_FStar.Pervasives.Native.tuple2@tok", + "int_inversion", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Parser_f", @@ -344,21 +313,18 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "token_correspondence_MiniParse.Spec.List.synth_nlist", "token_correspondence_MiniParse.Spec.List.synth_nlist_recip", "typing_FStar.List.Tot.Base.length", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.List.nlist_nil", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.Base.parse", + "typing_MiniParse.Spec.List.nlist_nil" ], 0, - "afbd236c16d188797571c6ac9e5267eb" + "dd4c5a34db18194b21bbf8bf420c9e46" ], [ "MiniParse.Spec.List.serialize_nlist'", @@ -370,12 +336,11 @@ "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", "@fuel_irrelevance_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "binder_x_dd56f5a1741310742e5ad4135b193cac_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.Base.serializer_correct", "equation_MiniParse.Spec.Combinators.parse_ret", @@ -386,20 +351,20 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_497dd7cca3fe9f90a27fbbb81fd6a165", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_bb8d1ff188acf4fd62b47a53a9b662c2", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_MiniParse.Spec.Base.Parser_f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.empty", "well-founded-ordering-on-nat" ], 0, - "445169497699996b204136e9e74c910c" + "38910465fd09757d5968255e53c99179" ], [ "MiniParse.Spec.List.serialize_nlist_nil", @@ -412,7 +377,6 @@ "@fuel_correspondence_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.List.nlist", "equation_MiniParse.Spec.List.parse_nlist", @@ -421,7 +385,7 @@ "equation_with_fuel_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_32b6d03e67430f0d75178a2b7b612e87", + "interpretation_Tm_abs_c5a140c552f614642285f1ea28412673", "primitive_Prims.op_Equality", "proj_equation_MiniParse.Spec.Base.Serializer_f", "projection_inverse_MiniParse.Spec.Base.Serializer_f", @@ -430,7 +394,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "ac19c670eba4cc0aab4731ac40cfbffd" + "dfc656eff9cde2ab1bcd42befa401098" ], [ "MiniParse.Spec.List.serialize_list_cons", @@ -445,19 +409,15 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", "@fuel_irrelevance_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", - "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", + "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", + "data_typing_intro_Prims.Cons@tok", "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.bare_serialize_nondep_then", "equation_MiniParse.Spec.Combinators.bare_serialize_synth", + "equation_MiniParse.Spec.Combinators.nondep_then", "equation_MiniParse.Spec.Combinators.serialize_nondep_then", "equation_MiniParse.Spec.Combinators.serialize_synth", "equation_MiniParse.Spec.List.nlist", @@ -473,8 +433,8 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_33d6ebd2f604b90bcf43964f0b57bbfd", - "interpretation_Tm_abs_a739c2c8080b7a370d97e04cdc621b20", + "interpretation_Tm_abs_5726c850e5adc579388e02f8d1747910", + "interpretation_Tm_abs_64113ecd0ee525e7323eebf77f2bd8c9", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Serializer_f", @@ -488,16 +448,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "token_correspondence_MiniParse.Spec.List.synth_nlist_recip", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_FStar.List.Tot.Base.length" ], 0, - "7d7fe6af3b6323696ab142ca99318849" + "4a0811f9fe6629e28dcdd5b90ef35df3" ], [ "MiniParse.Spec.List.serialize_list_singleton", @@ -510,14 +469,13 @@ "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", "@fuel_correspondence_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", "@fuel_irrelevance_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", + "@fuel_irrelevance_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.serialize", "equation_MiniParse.Spec.Combinators.bare_serialize_nondep_then", "equation_MiniParse.Spec.Combinators.bare_serialize_synth", @@ -534,12 +492,11 @@ "equation_with_fuel_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", "equation_with_fuel_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_MiniParse.Spec.Base.__proj__Serializer__item__f", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_32b6d03e67430f0d75178a2b7b612e87", - "interpretation_Tm_abs_33d6ebd2f604b90bcf43964f0b57bbfd", - "interpretation_Tm_abs_a739c2c8080b7a370d97e04cdc621b20", + "interpretation_Tm_abs_5726c850e5adc579388e02f8d1747910", + "interpretation_Tm_abs_64113ecd0ee525e7323eebf77f2bd8c9", + "interpretation_Tm_abs_c5a140c552f614642285f1ea28412673", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Serializer_f", @@ -553,14 +510,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "token_correspondence_MiniParse.Spec.List.synth_nlist_recip", "typing_FStar.List.Tot.Base.length" ], 0, - "56afe1946dd2192f1c1c5313cea33789" + "bf0f9fa95802533e58fc8af8f31430ee" ], [ "MiniParse.Spec.List.list_length_append", @@ -573,7 +530,7 @@ "token_correspondence_FStar.List.Tot.Base.op_At" ], 0, - "a64d16c264a75b900ae51916623e4f98" + "ec1b1410db7d2e95b6ef7ec58a3c68ac" ], [ "MiniParse.Spec.List.serialize_list_append", @@ -590,12 +547,12 @@ "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", "lemma_MiniParse.Spec.List.list_length_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_81e2e4fed8bcfc7dcf7fedb9549b929c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_1269510dfd91da12ff511e5f8c297c16", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d" ], 0, - "4755f2cbb2b1a3655d2e99a72ac1d274" + "eeb6fcec1a388a1208a659bb999844ec" ], [ "MiniParse.Spec.List.serialize_list_append", @@ -608,12 +565,11 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ca9ca6986a77da9487820b7dd71417b_6", + "@query", "binder_x_a9e0bb21ca89fa6861e217a6f5ed5400_6", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_c6cd01eef0773b294d9fe6297655bff9_3", - "binder_x_c925a846782317d25533f1382b5107d8_5", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_db92428075d7966ccfe801eeaff8949c_5", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -621,23 +577,20 @@ "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", "lemma_MiniParse.Spec.List.list_length_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.append", "well-founded-ordering-on-nat" ], 0, - "f9f49b1a578e0f122bfa3e5155079c8c" + "1f729d9e6e617305b88ad528d054e854" ], [ "MiniParse.Spec.List.nlist_nil", @@ -653,7 +606,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "2492b3cac7df6cad43e0f029c65aa891" + "2af491e10c1d67666dbdf3ab0b9a53d0" ], [ "MiniParse.Spec.List.nlist_cons", @@ -664,23 +617,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", + "@query", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "equation_MiniParse.Spec.List.nlist", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "typing_FStar.List.Tot.Base.length" ], 0, - "4be239c528db5e681aa6d8e44a611e70" + "88637b1878ca9e31a4428a384fe8abc4" ], [ "MiniParse.Spec.List.nlist_destruct", @@ -690,10 +641,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "afd8f686703968b41488b35fecc3e6c3" + "5e748c121607ef5cb0d360a0e525e695" ], [ "MiniParse.Spec.List.nlist_destruct", @@ -704,24 +655,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_MiniParse.Spec.List.nlist", "equation_Prims.nat", + "@query", "constructor_distinct_Prims.Cons", + "disc_equation_Prims.Cons", "equation_MiniParse.Spec.List.nlist", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length" ], 0, - "adf8f60ab302a0a88f056f749f7f8e3f" + "0b791e06bbdf92c01fa919d021da70e2" ], [ "MiniParse.Spec.List.nlist_cons_unique", @@ -729,15 +677,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "998f2ba29d6faf5321d843f07f599c5f" + "1dfb49e22ce952a112b276088848f663" ], [ "MiniParse.Spec.List.synth_nlist", @@ -745,16 +690,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e25039898f0a954d20161b126ccd215b" + "e352730108750f2f507478383e3daaad" ], [ "MiniParse.Spec.List.synth_nlist_recip", @@ -764,10 +706,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5230d48d45ae47e797343908282d6142" + "5e9b954719c16f4ad3ce7e8b0ded2c09" ], [ "MiniParse.Spec.List.synth_inverse_1", @@ -777,10 +719,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0ca56a2283f150f8289d9b21c1127c9d" + "8e15b3876e2da0b4bea5c9eb50cc46ff" ], [ "MiniParse.Spec.List.synth_inverse_2", @@ -790,10 +732,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "47fdb083c86b04e954156c47f54597f3" + "685417ab05df8900d4b51bc00577b0d0" ], [ "MiniParse.Spec.List.parse_nlist'", @@ -802,12 +744,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "binder_x_dd56f5a1741310742e5ad4135b193cac_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "constructor_distinct_Prims.Cons", - "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.List.nlist_cons", "equation_MiniParse.Spec.List.nlist_destruct", @@ -824,15 +764,13 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_MiniParse.Spec.List.synth_nlist", "token_correspondence_MiniParse.Spec.List.synth_nlist_recip", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "c570f27f975f2136ce803f5e94e08c59" + "1760edb2b9d458c38ec6005fe20ab125" ], [ "MiniParse.Spec.List.parse_nlist_eq", @@ -843,31 +781,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", - "data_elim_MiniParse.Spec.Base.Serializer", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", - "equation_MiniParse.Spec.Base.bare_serializer", + "data_typing_intro_Prims.Cons@tok", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", "equation_MiniParse.Spec.Base.parse", + "equation_MiniParse.Spec.Combinators.and_then", + "equation_MiniParse.Spec.Combinators.and_then_bare", "equation_MiniParse.Spec.Combinators.nondep_then", - "equation_MiniParse.Spec.Combinators.parse_empty", "equation_MiniParse.Spec.Combinators.parse_ret", - "equation_MiniParse.Spec.Combinators.serialize_empty", + "equation_MiniParse.Spec.Combinators.parse_synth", "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_MiniParse.Spec.List.nlist", "equation_MiniParse.Spec.List.nlist_cons", @@ -881,16 +811,13 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_FStar.UInt32.n", "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "kinding_FStar.Pervasives.Native.tuple2@tok", + "int_inversion", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Parser_f", @@ -903,23 +830,20 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_9949c4a2a4b08b9d597851f02ea25762", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "token_correspondence_MiniParse.Spec.List.synth_nlist", "token_correspondence_MiniParse.Spec.List.synth_nlist_recip", "typing_FStar.List.Tot.Base.length", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_MiniParse.Spec.Base.parse", + "typing_MiniParse.Spec.Base.parse", "typing_MiniParse.Spec.List.nlist_nil", - "typing_MiniParse.Spec.List.parse_nlist", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", "unit_typing" + "typing_MiniParse.Spec.List.parse_nlist" ], 0, - "31e125f51f403754a13a3a1d4a7e311e" + "c3465e6d07f13ff70e9ed6c79d67460a" ], [ "MiniParse.Spec.List.parse_nlist_eq", @@ -951,15 +875,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "typing_FStar.List.Tot.Base.length", "typing_FStar.Seq.Base.length", "typing_MiniParse.Spec.List.nlist_nil" ], 0, - "cdc7a12f761e01dbbe75b52ffed5c919" + "dafda8087a6e2823561eac5b6123a7d7" ], [ "MiniParse.Spec.List.serialize_nlist'", @@ -971,12 +895,11 @@ "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", "@fuel_irrelevance_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "binder_x_dd56f5a1741310742e5ad4135b193cac_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.parse", "equation_MiniParse.Spec.Base.serializer_correct", "equation_MiniParse.Spec.Combinators.parse_ret", @@ -986,24 +909,24 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_037cdb2405bff23906addda651878033", - "interpretation_Tm_abs_497dd7cca3fe9f90a27fbbb81fd6a165", + "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", + "interpretation_Tm_abs_bb8d1ff188acf4fd62b47a53a9b662c2", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_MiniParse.Spec.Base.Parser_f", + "refinement_interpretation_Tm_refine_010d6ebab1b0297b357bb6437bfa383f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_9949c4a2a4b08b9d597851f02ea25762", - "refinement_interpretation_Tm_refine_9c12d8478e4814d80c9572e37f458cba", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.empty", "typing_MiniParse.Spec.List.parse_nlist", "well-founded-ordering-on-nat" ], 0, - "c88ce4eec35c054af974f596036d6303" + "d5cf0c91eeb574729f901147f902a9c3" ], [ "MiniParse.Spec.List.serialize_nlist_nil", @@ -1019,7 +942,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "5ab4998cafe11f474804afa9f9195272" + "c50138c9853b1d520fe886183af3d8ee" ], [ "MiniParse.Spec.List.serialize_list_cons", @@ -1030,24 +953,22 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", + "@query", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "equation_MiniParse.Spec.List.nlist", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", "typing_FStar.List.Tot.Base.length" ], 0, - "3803dd0c5db039e31f3c63b39b2a5a0f" + "aa2e6af4694847ca63d46263522103cb" ], [ "MiniParse.Spec.List.serialize_list_singleton", @@ -1073,7 +994,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "48828a6d07188f77d68f6992d0fb6a54" + "0bafb2e88904cd7cbb000fcba53c0d23" ], [ "MiniParse.Spec.List.serialize_list_append", @@ -1086,17 +1007,15 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_MiniParse.Spec.List.nlist", "equation_Prims.nat", + "@query", "equation_MiniParse.Spec.List.nlist", "equation_Prims.nat", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_MiniParse.Spec.List.list_length_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d" ], 0, - "552c27180f9d6d33c45cc1067922d1ee" + "01639270a37d531903951a3e36bf8296" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.TEnum.fst.hints b/examples/miniparse/MiniParse.Spec.TEnum.fst.hints index ce44d011e4f..c5fdcf94dec 100644 --- a/examples/miniparse/MiniParse.Spec.TEnum.fst.hints +++ b/examples/miniparse/MiniParse.Spec.TEnum.fst.hints @@ -8,27 +8,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Reflection.Data.argv", "equation_FStar.Reflection.Types.name", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", "projection_inverse_FStar.Tactics.Result.Success_a", "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3f7e3cb2a89409f4702390d1e6731232" + "97e31e3007d279f87baae9285c081330" ], [ "MiniParse.Spec.TEnum.get_inductive_constructors", @@ -46,7 +43,7 @@ "typing_FStar.Reflection.Basic.lookup_typ" ], 0, - "4ec7424c2117a9117210812af6551d86" + "612735778928da416412b2388187faa9" ], [ "MiniParse.Spec.TEnum.invert_branches_with_cascade", @@ -67,7 +64,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "a04a1f97c8b6adac21331b969b50d0f7" + "21584dda1c3c508fea897d6dd3ffd3f5" ], [ "MiniParse.Spec.TEnum.synth_inverse_forall_bounded_u16_intro", @@ -81,11 +78,11 @@ "equation_MiniParse.Spec.TEnum.synth_inverse_forall_bounded_u16_", "equation_MiniParse.Spec.TEnum.synth_inverse_forall_bounded_u16_pred", "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "dcac976c59b442ae9193159e9d47fa30" + "3735eafb3768b60b83084aa9d71b6bc8" ], [ "MiniParse.Spec.TEnum.mk_tenum_branches", @@ -94,27 +91,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Tactics.Result.Failed", "constructor_distinct_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Reflection.Data.argv", "equation_FStar.Reflection.Types.name", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", "projection_inverse_FStar.Tactics.Result.Success_a", "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "aef2f3a7497e386e7f8c234efabb5800" + "7cb2af3f808cadb55766315d5e27751e" ], [ "MiniParse.Spec.TEnum.get_inductive_constructors", @@ -132,7 +126,7 @@ "typing_FStar.Reflection.Basic.lookup_typ" ], 0, - "e6f7ae69e26094bf132f4b6b88db224e" + "ec6fdfa4e03313597355506a317ea713" ], [ "MiniParse.Spec.TEnum.invert_branches_with_cascade", @@ -153,7 +147,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "0f20ee030e92b462682acb9bbe1af7fc" + "ade251046ab10594bf58f3975c1be364" ], [ "MiniParse.Spec.TEnum.synth_inverse_forall_bounded_u16_intro", @@ -167,11 +161,11 @@ "equation_MiniParse.Spec.TEnum.synth_inverse_forall_bounded_u16_", "equation_MiniParse.Spec.TEnum.synth_inverse_forall_bounded_u16_pred", "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fac9151805b2cf79f4280c66e6f857f4" + "d9743b1436316dbd1fae997c92e6dca5" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.TSum.fst.hints b/examples/miniparse/MiniParse.Spec.TSum.fst.hints index dd790ff4369..b6857621028 100644 --- a/examples/miniparse/MiniParse.Spec.TSum.fst.hints +++ b/examples/miniparse/MiniParse.Spec.TSum.fst.hints @@ -8,13 +8,10 @@ 2, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ce3c5e46aa08229e6b50ae91f4b2300d", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_9a4ba975564e8634f4b2f92e9afe114b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_538204d788d601eb4770a9e77d40bc5e", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_3eceb8781c126a3d01c6e46f4545621c", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", @@ -38,36 +35,32 @@ "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", "function_token_typing_FStar.UInt8.t", "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_2c0d0e03f9cb7bebd163e7719893f6ad", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "interpretation_Tm_abs_ffaf4a9727175bbc0400abb3f8770c92", "primitive_Prims.op_LessThanOrEqual", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.TSum.synth_tagged_union_data", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_MiniParse.Spec.Base.__proj__Parser__item__f", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "typing_MiniParse.Spec.TSum.refine_with_tag", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_1ced14677814d2a2e314a4f44263eb98", "unit_typing" + "typing_Tm_abs_957e8ad743772cbc360e7d8acd225cc1" ], 0, - "bdfc0a3153b3a3ace56f97b9d9da15f0" + "b632ee08293f9eca8c435b0aca1f8536" ], [ "MiniParse.Spec.TSum.bare_serialize_tagged_union_correct", @@ -75,26 +68,18 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_23b9d98b390c442f64c83306fada9853", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ce3c5e46aa08229e6b50ae91f4b2300d", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_9a4ba975564e8634f4b2f92e9afe114b", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_da337a61bdaacea5b205ce6543f9610a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", + "MiniParse.Spec.Base_interpretation_Tm_arrow_6fff714fa503dca55f8dee51ce96a75c", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_3eceb8781c126a3d01c6e46f4545621c", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_ed41901a05b4649f0933af23a21a4eb8", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_MiniParse.Spec.Base.Parser", "data_elim_MiniParse.Spec.Base.Serializer", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_MiniParse.Spec.Base.bparse", + "equation_MiniParse.Spec.Base.bparse", "equation_MiniParse.Spec.Base.byte", "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Base.consumed_length", @@ -120,26 +105,19 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_FStar.UInt32.n", "function_token_typing_FStar.UInt8.t", "function_token_typing_MiniParse.Spec.Base.__proj__Serializer__item__f", "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "function_token_typing_MiniParse.Spec.TSum.bare_serialize_tagged_union", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_2c0d0e03f9cb7bebd163e7719893f6ad", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", - "interpretation_Tm_abs_6c26bf716935f58ebecfb40c30a59e78", + "int_inversion", "int_typing", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "interpretation_Tm_abs_c2d72d3ca9df560ef95f9f1adaa20bbc", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "interpretation_Tm_abs_ffaf4a9727175bbc0400abb3f8770c92", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.UInt.pow2_values", - "partial_app_typing_aa417c34624199050813b07881526d71", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "proj_equation_MiniParse.Spec.Base.Parser_f", "proj_equation_MiniParse.Spec.Base.Serializer_f", "projection_inverse_BoxBool_proj_0", @@ -149,29 +127,22 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.TSum.bare_serialize_tagged_union", "token_correspondence_MiniParse.Spec.TSum.synth_tagged_union_data", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", - "typing_MiniParse.Spec.Base.__proj__Serializer__item__f", "typing_MiniParse.Spec.Base.bparse", "typing_MiniParse.Spec.Base.serialize", "typing_MiniParse.Spec.TSum.refine_with_tag", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "typing_Tm_abs_2c0d0e03f9cb7bebd163e7719893f6ad", "unit_typing" + "typing_Tm_abs_ffaf4a9727175bbc0400abb3f8770c92" ], 0, - "ce8f71eff19ed3044a05b58b7dbc85a0" + "ae543f500b72fa3eb910822f59fde43f" ], [ "MiniParse.Spec.TSum.serialize_tagged_union", @@ -180,7 +151,7 @@ 1, [ "@query" ], 0, - "20b77eb99f70fd229a9a0f53d47ebee5" + "0d38bb4f499c185d4b360993ebb20e27" ], [ "MiniParse.Spec.TSum.__proj__Case__item__p", @@ -192,7 +163,7 @@ "projection_inverse_MiniParse.Spec.TSum.Case_ty" ], 0, - "666d8735c6d867688d23c22d819cfaf4" + "07ef3d432fecd9d38893b32a91432f18" ], [ "MiniParse.Spec.TSum.__proj__Case__item__s", @@ -206,7 +177,7 @@ "projection_inverse_MiniParse.Spec.TSum.Case_ty" ], 0, - "cb86c94d708c0b38c05bed0299b16632" + "59c433d549f53f64bb854a5c5fe06a4b" ], [ "MiniParse.Spec.TSum.__proj__Case__item__ty_to_data", @@ -218,7 +189,7 @@ "projection_inverse_MiniParse.Spec.TSum.Case_ty" ], 0, - "d8054e7ebd58dc0eb9e541d5ed94e314" + "4937a0892c47fe798ef7be455047c21b" ], [ "MiniParse.Spec.TSum.__proj__Case__item__data_to_ty", @@ -230,7 +201,7 @@ "projection_inverse_MiniParse.Spec.TSum.Case_ty" ], 0, - "021dc2b9d2aa71cb71557cc8ec2cb26a" + "88a228f2968fa572036dc029937950ea" ], [ "MiniParse.Spec.TSum.__proj__Case__item__u", @@ -246,7 +217,7 @@ "projection_inverse_MiniParse.Spec.TSum.Case_ty_to_data" ], 0, - "54cc59d3fb7323f06d0e8b972ec7d47f" + "4fcc907b4fd3bcdfc08042d2fb686605" ], [ "MiniParse.Spec.TSum.parse_sum", @@ -255,7 +226,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_e63b5902c44dc092e8704b235c72ad7c", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_0b46b789776527a019efb7fee4d9c7f4", "data_elim_MiniParse.Spec.TSum.Case", "equation_MiniParse.Spec.TSum.sum_case", "equation_Prims.l_and", "equation_Prims.squash", @@ -264,12 +235,12 @@ "l_and-interp", "proj_equation_MiniParse.Spec.TSum.Case_data_to_ty", "proj_equation_MiniParse.Spec.TSum.Case_ty", "proj_equation_MiniParse.Spec.TSum.Case_ty_to_data", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "token_correspondence_MiniParse.Spec.TSum.sum_case", "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok" ], 0, - "7eae53ed71fc688650ff54ba1ff21f37" + "210c11a782a8fdb6c3ad02fe082091bb" ], [ "MiniParse.Spec.TSum.serialize_sum", @@ -278,7 +249,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_e63b5902c44dc092e8704b235c72ad7c", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_0b46b789776527a019efb7fee4d9c7f4", "data_elim_MiniParse.Spec.TSum.Case", "equation_MiniParse.Spec.TSum.sum_case", "equation_Prims.l_and", "equation_Prims.squash", @@ -287,12 +258,12 @@ "l_and-interp", "proj_equation_MiniParse.Spec.TSum.Case_data_to_ty", "proj_equation_MiniParse.Spec.TSum.Case_ty", "proj_equation_MiniParse.Spec.TSum.Case_ty_to_data", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "token_correspondence_MiniParse.Spec.TSum.sum_case", "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok" ], 0, - "b553329381c1e05961d8a76517f2e712" + "5ac2c8e67d4da3f115625fd1b78eb44a" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_intro", @@ -301,7 +272,7 @@ 1, [ "@query" ], 0, - "e69f7fb588623d59ba438d3bb614e58f" + "68019c7a86267904a293d0fac116bb3f" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_intro", @@ -311,10 +282,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Int.bounded_u16", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962" + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674" ], 0, - "8295cc038933a02cc70107b911ce10dc" + "2e0a12b3244177df039cdf0328c67b79" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_nil", @@ -322,23 +293,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8929b6a49ad90480497efcbee0d1156d", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "2d31602dca4cf3cb9bbfbfb244b1c0dd" + "16253c1ceae1fcc44c3655ac9394035e" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons_nil", @@ -346,11 +315,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" ], 0, - "518272e883839d68ff950d1207f642e3" + "b5d178c75b6d3b3872f5abac5cb01e53" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons_nil", @@ -358,24 +327,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.UInt16.uv_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_3978fa5c9ad2d31e884921dcda9c8cda", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "55737848c9dec1664c440a15b2cab5f6" + "c045f83c1759ebc49cabbf1c8d166ad2" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons", @@ -387,7 +355,7 @@ "refinement_interpretation_Tm_refine_a862ca15d1f0242a9d595faaa976e72f" ], 0, - "d56fb2f0b43707358b298c1b623b8cf8" + "3421b0a865e9d2a22ceebad56b13e982" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons", @@ -395,29 +363,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.lt", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.UInt16.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_71f1f97265819fee6e93bac3aa32a5c3", "refinement_interpretation_Tm_refine_861f2a08335171509111e05ba62333e0", "refinement_interpretation_Tm_refine_92e202fef9ef8f4165f20a0bc5207c57", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a862ca15d1f0242a9d595faaa976e72f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.uint_to_t", "typing_FStar.UInt16.v" ], 0, - "e821c2d40100d7b6ef9852f6f170b58e" + "f05e7a08418d35e338b1fb16fa13a77c" ], [ "MiniParse.Spec.TSum.parse_tagged_union", @@ -426,13 +392,10 @@ 2, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_c4e1325f8ca8dfe3da78806d8decf278", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ce3c5e46aa08229e6b50ae91f4b2300d", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_9a4ba975564e8634f4b2f92e9afe114b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", + "MiniParse.Spec.Combinators_interpretation_Tm_arrow_538204d788d601eb4770a9e77d40bc5e", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_3eceb8781c126a3d01c6e46f4545621c", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", @@ -456,36 +419,32 @@ "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", "function_token_typing_FStar.UInt8.t", "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_1ced14677814d2a2e314a4f44263eb98", - "interpretation_Tm_abs_2c0d0e03f9cb7bebd163e7719893f6ad", - "interpretation_Tm_abs_586c0b287ededeb8939e1276aa3d81f3", - "interpretation_Tm_abs_6b9f07622de314635857db7a00b8f265", + "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", + "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", + "interpretation_Tm_abs_e8852c46447ab93d7b8f31522e988b77", + "interpretation_Tm_abs_ffaf4a9727175bbc0400abb3f8770c92", "primitive_Prims.op_LessThanOrEqual", "proj_equation_MiniParse.Spec.Base.Parser_f", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_MiniParse.Spec.Base.Parser_f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_dc637847b7b99b4939b5789dbf5309e8", "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "token_correspondence_MiniParse.Spec.TSum.synth_tagged_union_data", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_MiniParse.Spec.Base.__proj__Parser__item__f", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", "typing_MiniParse.Spec.TSum.refine_with_tag", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_1ced14677814d2a2e314a4f44263eb98", "unit_typing" + "typing_Tm_abs_957e8ad743772cbc360e7d8acd225cc1" ], 0, - "8a2e6ffcfa820609eb2a5a4caee057fd" + "b62ea8555301866c676ef8d0af3a6585" ], [ "MiniParse.Spec.TSum.serialize_tagged_union", @@ -494,7 +453,7 @@ 1, [ "@query" ], 0, - "ff85c0ebb169d1c1b163f1be961ca9b3" + "f41facf8d8c5db85306189f7217b2c1d" ], [ "MiniParse.Spec.TSum.__proj__Case__item__p", @@ -506,7 +465,7 @@ "projection_inverse_MiniParse.Spec.TSum.Case_ty" ], 0, - "2821fa2474eb074f868d5b9e9dac516b" + "661709f5afb66a837490b4d27450d9e5" ], [ "MiniParse.Spec.TSum.__proj__Case__item__s", @@ -520,7 +479,7 @@ "projection_inverse_MiniParse.Spec.TSum.Case_ty" ], 0, - "4c29a19cd6734b26194493f81591575d" + "d3174a232476c7bce6edec166cc966d3" ], [ "MiniParse.Spec.TSum.__proj__Case__item__ty_to_data", @@ -532,7 +491,7 @@ "projection_inverse_MiniParse.Spec.TSum.Case_ty" ], 0, - "c06cccadc8203a60cc82e9829e58046c" + "23503a448cddf85a07fcf1e0f5c1ef3f" ], [ "MiniParse.Spec.TSum.__proj__Case__item__data_to_ty", @@ -544,7 +503,7 @@ "projection_inverse_MiniParse.Spec.TSum.Case_ty" ], 0, - "c636a7d13a8da5c951f06e61230461d5" + "0ddcce4bfc0e680b48f44a57f45f95e1" ], [ "MiniParse.Spec.TSum.__proj__Case__item__u", @@ -560,7 +519,7 @@ "projection_inverse_MiniParse.Spec.TSum.Case_ty_to_data" ], 0, - "8ae51ff7805d3259f9beb065dba1a453" + "db264bcfc1fb87d9f431dec0393662c1" ], [ "MiniParse.Spec.TSum.parse_sum", @@ -569,7 +528,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_e63b5902c44dc092e8704b235c72ad7c", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_0b46b789776527a019efb7fee4d9c7f4", "data_elim_MiniParse.Spec.TSum.Case", "equation_MiniParse.Spec.TSum.sum_case", "equation_Prims.l_and", "equation_Prims.squash", @@ -578,12 +537,12 @@ "l_and-interp", "proj_equation_MiniParse.Spec.TSum.Case_data_to_ty", "proj_equation_MiniParse.Spec.TSum.Case_ty", "proj_equation_MiniParse.Spec.TSum.Case_ty_to_data", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "token_correspondence_MiniParse.Spec.TSum.sum_case", "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok" ], 0, - "ae3ebdf3aa00d874b3baa321150a2dd6" + "948d24f1d21f16985906fb9ed8a1bc10" ], [ "MiniParse.Spec.TSum.serialize_sum", @@ -592,7 +551,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_e63b5902c44dc092e8704b235c72ad7c", + "MiniParse.Spec.TSum_interpretation_Tm_arrow_0b46b789776527a019efb7fee4d9c7f4", "data_elim_MiniParse.Spec.TSum.Case", "equation_MiniParse.Spec.TSum.sum_case", "equation_Prims.l_and", "equation_Prims.squash", @@ -601,12 +560,12 @@ "l_and-interp", "proj_equation_MiniParse.Spec.TSum.Case_data_to_ty", "proj_equation_MiniParse.Spec.TSum.Case_ty", "proj_equation_MiniParse.Spec.TSum.Case_ty_to_data", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "token_correspondence_MiniParse.Spec.TSum.sum_case", "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok" ], 0, - "ed76c9342df5b9734139380077673076" + "5e8a2ddf13518f33c9c2d19b98e13d76" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_intro", @@ -615,7 +574,7 @@ 1, [ "@query" ], 0, - "8a270c0eea8787c673b32e9ec8d2c884" + "267795895788398341e4fc246bdea03c" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_intro", @@ -625,10 +584,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Int.bounded_u16", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962" + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674" ], 0, - "35efc0ad203d81ac25032938cb062274" + "683a43613cae6b1b3d079da3ecf43f77" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_intro", @@ -637,7 +596,7 @@ 1, [ "@query" ], 0, - "7e969df08ca70fb9f5ebf3d848eb6652" + "f14725866dfdb5a850c288db7ee1150a" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_nil", @@ -645,23 +604,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8929b6a49ad90480497efcbee0d1156d", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "b996dda70322d1e07d3999afc61d6b56" + "1e3b88b647e84c364e68da6112181201" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_nil", @@ -670,10 +627,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "76cdc1ca55734b192efac85f09e32c37" + "5068cc7bb04e7998d6e9efd5f79c4250" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons_nil", @@ -681,11 +638,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" ], 0, - "dbb13e8b103fde2e83c7b074022529ea" + "3318f30075f260a7ccf93f0220946904" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons_nil", @@ -693,24 +650,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.UInt16.uv_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_3978fa5c9ad2d31e884921dcda9c8cda", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.v" ], 0, - "6a77da585f051bcf84c73a5e01109a94" + "7138facff7f6d1bb1e0562dff4e8d111" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons_nil", @@ -720,21 +676,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", "typing_Prims.pow2" ], 0, - "706645b219410bbb441178fe0886eadc" + "875f568d847062be32e5648823029f9e" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons", @@ -746,7 +701,7 @@ "refinement_interpretation_Tm_refine_a862ca15d1f0242a9d595faaa976e72f" ], 0, - "d62659d990712b32a28cc64f1be4ac5b" + "c2edfa6c18fcbd9ea1c40fe49b39122d" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons", @@ -754,29 +709,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.lt", "equation_MiniParse.Spec.Int.bounded_u16", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.UInt16.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_71f1f97265819fee6e93bac3aa32a5c3", "refinement_interpretation_Tm_refine_861f2a08335171509111e05ba62333e0", "refinement_interpretation_Tm_refine_92e202fef9ef8f4165f20a0bc5207c57", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a862ca15d1f0242a9d595faaa976e72f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt16.uint_to_t", "typing_FStar.UInt16.v" ], 0, - "5138e9f76abef128a9b587adf52c08a8" + "c11178d267332d9f110e657f7ef9b4c5" ], [ "MiniParse.Spec.TSum.bounded_u16_match_t_aux_cons", @@ -784,16 +737,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a862ca15d1f0242a9d595faaa976e72f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_71f1f97265819fee6e93bac3aa32a5c3" ], 0, - "7076d134af741fe76bb0ad698a36e006" + "44308d876d228089539bd3d7323fa6bb" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Tac.Base.fst.hints b/examples/miniparse/MiniParse.Tac.Base.fst.hints index cd95508c74c..5af05bb8668 100644 --- a/examples/miniparse/MiniParse.Tac.Base.fst.hints +++ b/examples/miniparse/MiniParse.Tac.Base.fst.hints @@ -11,7 +11,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "d053f0cb768cff69f48aebbf52831afc" + "d0fcf93a3822c390383d53be5ba9fe35" ], [ "MiniParse.Tac.Base.mk_if_t", @@ -20,7 +20,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "f75ccd630bfb8701c3a53c254de16c02" + "b15ed5e973ebd972ae0141cae4eb7051" ], [ "MiniParse.Tac.Base.string_of_name", @@ -35,7 +35,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "1378a3f4820dfe10cdd3665c8b42f695" + "51c6fbd7e49073114fd999b0d9107e8f" ], [ "MiniParse.Tac.Base.app_head_rev_tail", @@ -47,7 +47,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "cdcfbd176da6f2cc713f027841d52c0c" + "59b46f14891fe67398083e06686308c5" ], [ "MiniParse.Tac.Base.mk_if_t", @@ -56,7 +56,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "3ac3e2ff2f5add8408a65a72f7ddaf44" + "f224af73aad0ffcf4c99430f657189b3" ], [ "MiniParse.Tac.Base.string_of_name", @@ -71,7 +71,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "4a18deeed97206f4bb72116b812317f5" + "dea279f585cc1abf1bf7d880fa3bf10d" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Tac.Impl.fst.hints b/examples/miniparse/MiniParse.Tac.Impl.fst.hints index d823d6483e9..3e7121cf7ac 100644 --- a/examples/miniparse/MiniParse.Tac.Impl.fst.hints +++ b/examples/miniparse/MiniParse.Tac.Impl.fst.hints @@ -10,20 +10,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "23ee5d937fc9b8deac3bdc8bddd78b51" + "a45578968be86affeae97e50c34c77bf" ], [ "MiniParse.Tac.Impl.r", @@ -33,13 +30,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Combinators.synth_inverse", "int_inversion", - "interpretation_Tm_abs_5362b7577c1f843a686dd68fa062f6e3", - "interpretation_Tm_abs_8d1a1142d2db6b836727ffdbd1579224", + "interpretation_Tm_abs_1181112302ca653100236f21bc94276b", + "interpretation_Tm_abs_c5a3b65549471fc030328f36ea9f771f", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "03598777b195d13fb27d05cc1dc2e917" + "db4ea0ed98534f46c971cfbcd97c75a8" ], [ "MiniParse.Tac.Impl.r'", @@ -49,13 +46,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Combinators.synth_inverse", "int_inversion", - "interpretation_Tm_abs_5362b7577c1f843a686dd68fa062f6e3", - "interpretation_Tm_abs_8d1a1142d2db6b836727ffdbd1579224", + "interpretation_Tm_abs_1181112302ca653100236f21bc94276b", + "interpretation_Tm_abs_c5a3b65549471fc030328f36ea9f771f", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "9cf78d40d8760d7ace4775fb386f04ba" + "84fb175786b6bf0515e18d5c0ce38470" ], [ "MiniParse.Tac.Impl.mk_u32", @@ -66,20 +63,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a52128ed67ea5224c0059592e5a385b2" + "866b058bb894aab62c0381d5bee723e2" ], [ "MiniParse.Tac.Impl.r", @@ -89,13 +83,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Combinators.synth_inverse", "int_inversion", - "interpretation_Tm_abs_5362b7577c1f843a686dd68fa062f6e3", - "interpretation_Tm_abs_8d1a1142d2db6b836727ffdbd1579224", + "interpretation_Tm_abs_1181112302ca653100236f21bc94276b", + "interpretation_Tm_abs_c5a3b65549471fc030328f36ea9f771f", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "80b0dda93638a151b8b1683e478fad46" + "87fd3b603c62adacfb624df6c3f1faf3" ], [ "MiniParse.Tac.Impl.r'", @@ -105,42 +99,40 @@ [ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Combinators.synth_inverse", "int_inversion", - "interpretation_Tm_abs_5362b7577c1f843a686dd68fa062f6e3", - "interpretation_Tm_abs_8d1a1142d2db6b836727ffdbd1579224", + "interpretation_Tm_abs_1181112302ca653100236f21bc94276b", + "interpretation_Tm_abs_c5a3b65549471fc030328f36ea9f771f", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "ce78153ad93713818274fa37a4eef57d" + "58d5301923696e540a54bfe2064d8349" ], [ "MiniParse.Tac.Impl.j32", 1, - 8, 2, + 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_MiniParse.Tac.Impl.mk_u32", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", "int_typing", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "equation_FStar.UInt.uint_t", "equation_MiniParse.Tac.Impl.mk_u32", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_Prims.pow2" ], 0, - "d5987599a376fd63dc0d701e7daa56d0" + "fa3083d620e0c225be207306631fadf0" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Tac.Spec.fst.hints b/examples/miniparse/MiniParse.Tac.Spec.fst.hints index 97d4214d137..83582d9b194 100644 --- a/examples/miniparse/MiniParse.Tac.Spec.fst.hints +++ b/examples/miniparse/MiniParse.Tac.Spec.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_MiniParse.Tac.Spec.Package_p" ], 0, - "255b21f1e8c8edcaafd33cc7ae896298" + "60535eff21cbc5d260b00db65e3af79e" ], [ "MiniParse.Tac.Spec.__proj__Package__item__s", @@ -23,7 +23,7 @@ "projection_inverse_MiniParse.Tac.Spec.Package_p" ], 0, - "df6424c5e9d2ab7aea2ce7b7d713920e" + "63ddb752a665813915c7112b6fe62f0e" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParseExample.fst.hints b/examples/miniparse/MiniParseExample.fst.hints index 85b5e7ceb0f..6ac643db608 100644 --- a/examples/miniparse/MiniParseExample.fst.hints +++ b/examples/miniparse/MiniParseExample.fst.hints @@ -10,87 +10,60 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParseExample_interpretation_Tm_arrow_11ac4611c663f40af9f9453fc8be306e", - "MiniParseExample_interpretation_Tm_arrow_5204e160a517b244ff5b27383e672de9", + "MiniParseExample_interpretation_Tm_ghost_arrow_0c0a07e051cd3560e9243ce2553853ff", "MiniParseExample_pretyping_2551098c9a00877536d6e75fbf59ada2", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "b2t_def", "bool_inversion", "bool_typing", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "constructor_distinct_MiniParseExample.TA", "constructor_distinct_MiniParseExample.TB", "constructor_distinct_MiniParseExample.TC", "constructor_distinct_MiniParseExample.TD", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_MiniParse.Spec.Base.Serializer", - "data_typing_intro_MiniParseExample.TB@tok", + "data_typing_intro_MiniParseExample.TC@tok", "eq2-interp", "equality_tok_MiniParseExample.TA@tok", "equality_tok_MiniParseExample.TB@tok", "equality_tok_MiniParseExample.TC@tok", "equality_tok_MiniParseExample.TD@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.n", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Combinators.synth_inverse", - "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_MiniParse.Spec.Int.bounded_u16", "equation_MiniParse.Spec.Int.bounded_u16_eq", "equation_MiniParse.Spec.Int.mk_u16", - "equation_MiniParse.Spec.Int.parse_u8", - "equation_MiniParse.Spec.Int.serialize_u16_", - "equation_MiniParse.Spec.Int.serialize_u8", - "equation_MiniParse.Tac.Base.mk_if_t", "equation_Prims.nat", - "fuel_guarded_inversion_MiniParseExample.test", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Combinators.serialize_empty", - "function_token_typing_MiniParse.Spec.Int.serialize_u16_", - "function_token_typing_MiniParse.Spec.Int.serialize_u8", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2e43d9f3203cf8dba2a96e38b5993298", - "interpretation_Tm_abs_30bec657c7a5d0f482b94fabbd9bad4d", - "interpretation_Tm_abs_531c8eda1dbb797fbfa343740aac0bb1", - "interpretation_Tm_abs_70f95b86e5089d355d30a11ed580a6c3", - "interpretation_Tm_abs_b07ef54dee1dd79a872714370b55a220", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "interpretation_Tm_abs_bcec332da9e627596d365e145bfd8fd6", - "interpretation_Tm_abs_eec88788baf69ac4e1df5f7f5c26af05", - "interpretation_Tm_abs_f4db72e4d712209bc1cee9d071828c7f", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", - "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_Addition", + "equation_MiniParse.Tac.Base.ctest", + "equation_MiniParse.Tac.Base.mk_if_t", "equation_Prims.eq2", + "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", + "equation_with_fuel_Prims.pow2.fuel_instrumented", + "fuel_guarded_inversion_MiniParseExample.test", "int_inversion", + "int_typing", + "interpretation_Tm_abs_145bc3e3819b5f861dec525aa7bb01e9", + "interpretation_Tm_abs_4fe8fce8953c51532642a1945925e007", + "interpretation_Tm_abs_7350511a32a347a84c2fe5a4eca0955f", + "interpretation_Tm_abs_955c855c8b6cdeaafd16b2cd752105a4", + "interpretation_Tm_abs_9a561e7b4154fa336cd0ceb3d36bd217", + "interpretation_Tm_abs_a7cecded9bce5c958339f4d35469d87a", + "interpretation_Tm_abs_de5c4f556fff53d159fb81a2d6d6da97", + "interpretation_Tm_abs_faa9e5cff5df42ab6564d6584bf6a1cc", + "lemma_FStar.UInt16.uv_inv", "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1ab9a872c8d2a2f1849e6ad173d78d4a", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_641a6a7f4fb70f47c0def193c3c84dcf", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_eccc8485be5b1198387fff0ba1cee674", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParse.Spec.Int.bounded_u16_eq", "token_correspondence_Prims.op_Equality", - "typing_FStar.Int.Cast.uint16_to_uint8", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", + "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.UInt.fits", "typing_FStar.UInt16.v", - "typing_MiniParse.Spec.Int.Aux.encode_u16", "typing_MiniParse.Spec.Int.mk_u16", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_531c8eda1dbb797fbfa343740aac0bb1", - "typing_Tm_abs_f4db72e4d712209bc1cee9d071828c7f", "unit_typing" + "typing_Tm_abs_faa9e5cff5df42ab6564d6584bf6a1cc" ], 0, - "01e0ee15ac9d82513e065404aa18eff0" + "4eae0c66af94fef8f44b191a96da82b3" ], [ "MiniParseExample.q", @@ -101,11 +74,11 @@ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_Prims.squash", - "interpretation_Tm_abs_531c8eda1dbb797fbfa343740aac0bb1", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "interpretation_Tm_abs_faa9e5cff5df42ab6564d6584bf6a1cc", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "04506961b05966f43d939301a8548c08" + "4fd662a07bdec0abf8941b0d8118ec08" ], [ "MiniParseExample.q", @@ -116,11 +89,11 @@ "@MaxIFuel_assumption", "@query", "equation_MiniParse.Spec.Combinators.synth_inverse", "equation_Prims.squash", - "interpretation_Tm_abs_531c8eda1dbb797fbfa343740aac0bb1", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "interpretation_Tm_abs_faa9e5cff5df42ab6564d6584bf6a1cc", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "eb847a4cc14fe06cdc4acc700c6d5d16" + "8c986398024555d78ea42073f33a0fd6" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParseExample2.fst.hints b/examples/miniparse/MiniParseExample2.fst.hints index 19def55dc5f..be9f9537540 100644 --- a/examples/miniparse/MiniParseExample2.fst.hints +++ b/examples/miniparse/MiniParseExample2.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_fb807a479aa69c50ca430264cffc40b0" ], 0, - "0e1665e693cfed85c9e1903635773643" + "cf91df7d2754b0f8d42ce82157134cc5" ], [ "MiniParseExample2.c3", @@ -24,68 +24,34 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8540ab936aaf1248e0cfa8ccfb5b2463", "MiniParseExample2_pretyping_ceb38713929ce0ad4653241d7f1fb55b", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_MiniParseExample2.X", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_MiniParse.Spec.Base.Serializer", "data_typing_intro_MiniParseExample2.V@tok", - "disc_equation_FStar.Pervasives.Native.None", "equality_tok_MiniParseExample2.X@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.n", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Combinators.synth_inverse", - "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_MiniParse.Spec.Int.bounded_u16", - "equation_MiniParse.Spec.Int.parse_u8", - "equation_MiniParse.Spec.Int.serialize_u16_", - "equation_MiniParse.Spec.Int.serialize_u8", "equation_MiniParse.Spec.TSum.refine_with_tag", "equation_MiniParseExample2.imp0", "equation_Prims.nat", - "fuel_guarded_inversion_MiniParseExample2.somme", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Int.serialize_u8", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_34fe90c57faa312ea957d089dca81bdd", - "interpretation_Tm_abs_62d8704a7dd6b9cfa06422a58681bc46", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", + "fuel_guarded_inversion_MiniParseExample2.somme", "int_typing", + "interpretation_Tm_abs_08c129ddcf347e2556f36c62e9aa9458", + "interpretation_Tm_abs_75d2b5c7e9dd61a62b8838e06daed2b3", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "token_correspondence_MiniParseExample2.imp0", - "typing_FStar.Int.Cast.uint16_to_uint8", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_MiniParse.Spec.Int.Aux.encode_u16", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", "unit_inversion", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_MiniParseExample2.imp0", "unit_inversion", "unit_typing" ], 0, - "05b4927f63069957afc18e0531855746" + "8a52ebe13b70564a4dc0a5c6ea5f2571" ], [ "MiniParseExample2.c2", @@ -96,79 +62,34 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParseExample2_interpretation_Tm_arrow_d88fcd85f161336b95f1267b843ef4c8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "MiniParseExample2_pretyping_ceb38713929ce0ad4653241d7f1fb55b", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_MiniParseExample2.W", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_MiniParse.Spec.Base.Serializer", - "data_elim_MiniParse.Spec.TSum.Case", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_MiniParseExample2.W@tok", - "equality_tok_MiniParseExample2.X@tok", "equation_FStar.UInt.fits", + "data_typing_intro_MiniParseExample2.V@tok", + "equality_tok_MiniParseExample2.W@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.n", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Combinators.synth_inverse", - "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_MiniParse.Spec.Int.bounded_u16", - "equation_MiniParse.Spec.Int.parse_u8", - "equation_MiniParse.Spec.Int.serialize_u16_", - "equation_MiniParse.Spec.Int.serialize_u8", "equation_MiniParse.Spec.TSum.refine_with_tag", - "equation_MiniParse.Spec.TSum.sum_case", - "equation_MiniParseExample2.c3", "equation_MiniParseExample2.imp0", - "equation_Prims.nat", "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Int.serialize_u8", - "function_token_typing_MiniParseExample2.c3", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_34fe90c57faa312ea957d089dca81bdd", - "interpretation_Tm_abs_adf334211f3febb86b333fb2fc47f58d", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "interpretation_Tm_abs_ec3a4935709cd47a2253bc423f79d4e5", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", - "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_MiniParseExample2.imp0", "equation_Prims.nat", + "int_typing", + "interpretation_Tm_abs_66d72f3f79503afaf64db0452ca74475", + "interpretation_Tm_abs_6b69a9adc63dd4e1ca285614b34e1ff6", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_33de0dc41e43798f6f51a72f21223fc0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "token_correspondence_MiniParse.Spec.TSum.sum_case", - "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok", - "token_correspondence_MiniParseExample2.imp0", - "typing_FStar.Int.Cast.uint16_to_uint8", "typing_FStar.UInt.fits", - "typing_FStar.UInt16.div", "typing_FStar.UInt16.uint_to_t", - "typing_FStar.UInt16.v", "typing_MiniParse.Spec.Int.Aux.encode_u16", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_34fe90c57faa312ea957d089dca81bdd", - "typing_tok_MiniParseExample2.X@tok", "unit_inversion", "unit_typing" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_MiniParseExample2.imp0", "unit_inversion", + "unit_typing" ], 0, - "09a761a4da02185b23dbbdc5938297b9" + "30752bf4b92cc86568f8acdd4f83c218" ], [ "MiniParseExample2.c1", @@ -179,94 +100,37 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8540ab936aaf1248e0cfa8ccfb5b2463", - "MiniParseExample2_interpretation_Tm_arrow_1e47e1d752f2495bd25044d8b4c4cfc1", - "MiniParseExample2_interpretation_Tm_arrow_d88fcd85f161336b95f1267b843ef4c8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "MiniParseExample2_pretyping_ceb38713929ce0ad4653241d7f1fb55b", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_MiniParseExample2.V", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_MiniParse.Spec.Base.Serializer", - "data_elim_MiniParse.Spec.TSum.Case", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_MiniParseExample2.V@tok", - "equality_tok_MiniParseExample2.W@tok", - "equality_tok_MiniParseExample2.X@tok", "equation_FStar.UInt.fits", + "data_typing_intro_MiniParseExample2.V@tok", + "equality_tok_MiniParseExample2.V@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.n", "equation_FStar.UInt8.n", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Combinators.synth_inverse", - "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_MiniParse.Spec.Int.bounded_u16", - "equation_MiniParse.Spec.Int.parse_u8", - "equation_MiniParse.Spec.Int.serialize_u16_", - "equation_MiniParse.Spec.Int.serialize_u8", "equation_MiniParse.Spec.TSum.refine_with_tag", - "equation_MiniParse.Spec.TSum.sum_case", - "equation_MiniParseExample2.c3", "equation_MiniParseExample2.imp0", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt8.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Int.serialize_u16_", - "function_token_typing_MiniParse.Spec.Int.serialize_u8", - "function_token_typing_MiniParseExample2.c3", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_20be470c63339250beae1cc8d17a50c3", - "interpretation_Tm_abs_34fe90c57faa312ea957d089dca81bdd", - "interpretation_Tm_abs_6fcaa7fcc2b2c8003fe896fe7355d3e2", - "interpretation_Tm_abs_adf334211f3febb86b333fb2fc47f58d", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", - "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_MiniParseExample2.imp0", "equation_Prims.nat", + "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", + "interpretation_Tm_abs_1bf9f3d1155ea2a0f26362b34ce40257", + "interpretation_Tm_abs_857c746961cf6eade2603f7c2935f2c4", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_33de0dc41e43798f6f51a72f21223fc0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_MiniParse.Spec.TSum.sum_case", - "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParseExample2.imp0", "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.Cast.uint16_to_uint8", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt16.div", "typing_FStar.UInt16.uint_to_t", - "typing_FStar.UInt16.v", "typing_MiniParse.Spec.Int.Aux.encode_u16", - "typing_Prims.pow2", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_34fe90c57faa312ea957d089dca81bdd", - "typing_Tm_abs_adf334211f3febb86b333fb2fc47f58d", - "typing_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "typing_tok_MiniParseExample2.W@tok", - "typing_tok_MiniParseExample2.X@tok", "unit_inversion", "unit_typing" + "typing_Prims.pow2", "unit_inversion", "unit_typing" ], 0, - "c8cd44983957fabe327aef56d31c6892" + "60cb26a3094db8b1f965bcd56a701902" ], [ "MiniParseExample2.c0", @@ -275,71 +139,43 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt8_pretyping_f7639caba3299bd00d496f54e3519c93", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParseExample2_interpretation_Tm_arrow_14dbabb0f3de598bad47ea1b2d80331d", - "MiniParseExample2_interpretation_Tm_arrow_8e6a4f1424c3f23cec55f727cd6163d1", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParseExample2_interpretation_Tm_arrow_46fc0e554e4d61943fe3c30a6ed9b004", + "MiniParseExample2_pretyping_ceb38713929ce0ad4653241d7f1fb55b", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.UInt8.t", "constructor_distinct_MiniParseExample2.U", "constructor_distinct_Prims.unit", - "data_elim_MiniParse.Spec.TSum.Case", - "disc_equation_FStar.Pervasives.Native.None", + "data_typing_intro_MiniParseExample2.V@tok", "disc_equation_MiniParseExample2.U", - "equality_tok_MiniParseExample2.U@tok", - "equality_tok_MiniParseExample2.V@tok", "equation_FStar.UInt.fits", + "equality_tok_MiniParseExample2.U@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.n", "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Combinators.synth_inverse", - "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_MiniParse.Spec.Int.bounded_u16", "equation_MiniParse.Spec.TSum.refine_with_tag", - "equation_MiniParse.Spec.TSum.sum_case", - "equation_MiniParseExample2.c3", "equation_MiniParseExample2.imp0", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParseExample2.c3", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_6fcaa7fcc2b2c8003fe896fe7355d3e2", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "interpretation_Tm_abs_fe4b8b178914090164050d9e538e20fd", - "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt16.vu_inv", + "equation_MiniParseExample2.imp0", "equation_Prims.nat", + "equation_Prims.pos", "int_typing", + "interpretation_Tm_abs_23c5c0cf2c7891b49dc95c33563132b9", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_MiniParseExample2.U__0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_MiniParse.Spec.TSum.sum_case", - "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParseExample2.imp0", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.Cast.uint16_to_uint8", "typing_FStar.UInt.fits", - "typing_FStar.UInt16.v", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_6fcaa7fcc2b2c8003fe896fe7355d3e2", - "typing_tok_MiniParseExample2.V@tok", "unit_typing" + "typing_FStar.UInt.fits", "typing_Prims.pow2", + "typing_Tm_abs_23c5c0cf2c7891b49dc95c33563132b9", "unit_typing" ], 0, - "e5e97894a7d50ff8cb6c028a8a29c824" + "404b55e2a7ec3b35e856ae692db4a54b" ], [ "MiniParseExample2.__proj__U__item___0", @@ -353,7 +189,7 @@ "refinement_interpretation_Tm_refine_fb807a479aa69c50ca430264cffc40b0" ], 0, - "da4209401a315b6bb7ce83bf80ade457" + "50b0b5df4f51c8fe2023525336afd0cb" ], [ "MiniParseExample2.c3", @@ -364,68 +200,34 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8540ab936aaf1248e0cfa8ccfb5b2463", "MiniParseExample2_pretyping_ceb38713929ce0ad4653241d7f1fb55b", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_MiniParseExample2.X", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_MiniParse.Spec.Base.Serializer", "data_typing_intro_MiniParseExample2.V@tok", - "disc_equation_FStar.Pervasives.Native.None", "equality_tok_MiniParseExample2.X@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.n", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_MiniParse.Spec.Combinators.synth_inverse", - "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_MiniParse.Spec.Int.bounded_u16", - "equation_MiniParse.Spec.Int.parse_u8", - "equation_MiniParse.Spec.Int.serialize_u16_", - "equation_MiniParse.Spec.Int.serialize_u8", "equation_MiniParse.Spec.TSum.refine_with_tag", "equation_MiniParseExample2.imp0", "equation_Prims.nat", - "fuel_guarded_inversion_MiniParseExample2.somme", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Int.serialize_u8", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_34fe90c57faa312ea957d089dca81bdd", - "interpretation_Tm_abs_62d8704a7dd6b9cfa06422a58681bc46", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", + "fuel_guarded_inversion_MiniParseExample2.somme", "int_typing", + "interpretation_Tm_abs_08c129ddcf347e2556f36c62e9aa9458", + "interpretation_Tm_abs_75d2b5c7e9dd61a62b8838e06daed2b3", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "token_correspondence_MiniParseExample2.imp0", - "typing_FStar.Int.Cast.uint16_to_uint8", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_MiniParse.Spec.Int.Aux.encode_u16", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", "unit_inversion", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_MiniParseExample2.imp0", "unit_inversion", "unit_typing" ], 0, - "0128bf2ee74e284e9b017bf0bb472092" + "154f454e424d60c1320a0aeebce39a22" ], [ "MiniParseExample2.c2", @@ -436,83 +238,34 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParseExample2_interpretation_Tm_arrow_d88fcd85f161336b95f1267b843ef4c8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "MiniParseExample2_pretyping_ceb38713929ce0ad4653241d7f1fb55b", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_MiniParseExample2.W", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_MiniParse.Spec.Base.Serializer", - "data_elim_MiniParse.Spec.TSum.Case", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_MiniParseExample2.W@tok", - "equality_tok_MiniParseExample2.X@tok", "equation_FStar.UInt.fits", + "data_typing_intro_MiniParseExample2.V@tok", + "equality_tok_MiniParseExample2.W@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.n", "equation_FStar.UInt8.n", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Combinators.synth_inverse", - "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_MiniParse.Spec.Int.bounded_u16", - "equation_MiniParse.Spec.Int.parse_u8", - "equation_MiniParse.Spec.Int.serialize_u16_", - "equation_MiniParse.Spec.Int.serialize_u8", "equation_MiniParse.Spec.TSum.refine_with_tag", - "equation_MiniParse.Spec.TSum.sum_case", - "equation_MiniParseExample2.c3", "equation_MiniParseExample2.imp0", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt8.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Int.serialize_u8", - "function_token_typing_MiniParseExample2.c3", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_34fe90c57faa312ea957d089dca81bdd", - "interpretation_Tm_abs_adf334211f3febb86b333fb2fc47f58d", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "interpretation_Tm_abs_ec3a4935709cd47a2253bc423f79d4e5", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", - "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_MiniParseExample2.imp0", "equation_Prims.nat", + "int_typing", + "interpretation_Tm_abs_66d72f3f79503afaf64db0452ca74475", + "interpretation_Tm_abs_6b69a9adc63dd4e1ca285614b34e1ff6", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_33de0dc41e43798f6f51a72f21223fc0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_MiniParse.Spec.TSum.sum_case", - "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok", - "token_correspondence_MiniParseExample2.imp0", - "typing_FStar.Int.Cast.uint16_to_uint8", "typing_FStar.UInt.fits", - "typing_FStar.UInt16.div", "typing_FStar.UInt16.uint_to_t", - "typing_FStar.UInt16.v", "typing_MiniParse.Spec.Int.Aux.encode_u16", - "typing_Prims.pow2", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_34fe90c57faa312ea957d089dca81bdd", - "typing_tok_MiniParseExample2.X@tok", "unit_inversion", "unit_typing" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_MiniParseExample2.imp0", "unit_inversion", + "unit_typing" ], 0, - "4de122ebeda0b3a6ec742e87c7cbd2e4" + "9305c9f02fd4dca14cf84547f8fec214" ], [ "MiniParseExample2.c1", @@ -523,92 +276,37 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParse.Spec.Int_interpretation_Tm_arrow_8540ab936aaf1248e0cfa8ccfb5b2463", - "MiniParseExample2_interpretation_Tm_arrow_1e47e1d752f2495bd25044d8b4c4cfc1", - "MiniParseExample2_interpretation_Tm_arrow_d88fcd85f161336b95f1267b843ef4c8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "MiniParseExample2_pretyping_ceb38713929ce0ad4653241d7f1fb55b", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_MiniParseExample2.V", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_MiniParse.Spec.Base.Serializer", - "data_elim_MiniParse.Spec.TSum.Case", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_MiniParseExample2.V@tok", - "equality_tok_MiniParseExample2.W@tok", - "equality_tok_MiniParseExample2.X@tok", "equation_FStar.UInt.fits", + "data_typing_intro_MiniParseExample2.V@tok", + "equality_tok_MiniParseExample2.V@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.n", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Combinators.synth_inverse", - "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_MiniParse.Spec.Int.bounded_u16", - "equation_MiniParse.Spec.Int.parse_u8", - "equation_MiniParse.Spec.Int.serialize_u16_", - "equation_MiniParse.Spec.Int.serialize_u8", "equation_MiniParse.Spec.TSum.refine_with_tag", - "equation_MiniParse.Spec.TSum.sum_case", - "equation_MiniParseExample2.c3", "equation_MiniParseExample2.imp0", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParse.Spec.Int.serialize_u16_", - "function_token_typing_MiniParse.Spec.Int.serialize_u8", - "function_token_typing_MiniParseExample2.c3", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_20be470c63339250beae1cc8d17a50c3", - "interpretation_Tm_abs_34fe90c57faa312ea957d089dca81bdd", - "interpretation_Tm_abs_6fcaa7fcc2b2c8003fe896fe7355d3e2", - "interpretation_Tm_abs_adf334211f3febb86b333fb2fc47f58d", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", - "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_MiniParseExample2.imp0", "equation_Prims.nat", + "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", + "interpretation_Tm_abs_1bf9f3d1155ea2a0f26362b34ce40257", + "interpretation_Tm_abs_857c746961cf6eade2603f7c2935f2c4", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_33de0dc41e43798f6f51a72f21223fc0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb", - "refinement_interpretation_Tm_refine_611eef8c26cc74ddf93b4464d3cc9ab6", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_MiniParse.Spec.TSum.sum_case", - "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParseExample2.imp0", "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.Cast.uint16_to_uint8", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt16.div", "typing_FStar.UInt16.uint_to_t", - "typing_FStar.UInt16.v", "typing_MiniParse.Spec.Int.Aux.encode_u16", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_34fe90c57faa312ea957d089dca81bdd", - "typing_Tm_abs_adf334211f3febb86b333fb2fc47f58d", - "typing_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "typing_tok_MiniParseExample2.W@tok", - "typing_tok_MiniParseExample2.X@tok", "unit_inversion", "unit_typing" + "unit_inversion", "unit_typing" ], 0, - "0512e8959cc57b82d35d8aa6ae8b939e" + "84f2c0cd2645a8ee0b3400d9219effab" ], [ "MiniParseExample2.c0", @@ -617,71 +315,43 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt8_pretyping_f7639caba3299bd00d496f54e3519c93", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_74a3d0a4af661e247f2a4948baf4cebe", - "MiniParseExample2_interpretation_Tm_arrow_14dbabb0f3de598bad47ea1b2d80331d", - "MiniParseExample2_interpretation_Tm_arrow_8e6a4f1424c3f23cec55f727cd6163d1", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MiniParseExample2_interpretation_Tm_arrow_46fc0e554e4d61943fe3c30a6ed9b004", + "MiniParseExample2_pretyping_ceb38713929ce0ad4653241d7f1fb55b", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.UInt8.t", "constructor_distinct_MiniParseExample2.U", "constructor_distinct_Prims.unit", - "data_elim_MiniParse.Spec.TSum.Case", - "disc_equation_FStar.Pervasives.Native.None", + "data_typing_intro_MiniParseExample2.V@tok", "disc_equation_MiniParseExample2.U", - "equality_tok_MiniParseExample2.U@tok", - "equality_tok_MiniParseExample2.V@tok", "equation_FStar.UInt.fits", + "equality_tok_MiniParseExample2.U@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.n", "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", "equation_MiniParse.Spec.Combinators.synth_inverse", - "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_MiniParse.Spec.Int.bounded_u16", "equation_MiniParse.Spec.TSum.refine_with_tag", - "equation_MiniParse.Spec.TSum.sum_case", - "equation_MiniParseExample2.c3", "equation_MiniParseExample2.imp0", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_MiniParseExample2.c3", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_6fcaa7fcc2b2c8003fe896fe7355d3e2", - "interpretation_Tm_abs_b6d127a87a7cca5dcf39fdb53be216b9", - "interpretation_Tm_abs_fe4b8b178914090164050d9e538e20fd", - "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt16.vu_inv", + "equation_MiniParseExample2.imp0", "equation_Prims.nat", + "equation_Prims.pos", "int_typing", + "interpretation_Tm_abs_23c5c0cf2c7891b49dc95c33563132b9", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_MiniParseExample2.U__0", - "refinement_interpretation_Tm_refine_4a34c5b30307f7bc5de1b73c66981962", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d19ad5ca1ccf8e24db65b1c1f013a780", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_MiniParse.Spec.TSum.sum_case", - "token_correspondence_MiniParse.Spec.TSum.sum_case_@tok", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_MiniParseExample2.imp0", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.Cast.uint16_to_uint8", "typing_FStar.UInt.fits", - "typing_FStar.UInt16.v", - "typing_Tm_abs_0b81c94932332f7859446d448ebb98d3", - "typing_Tm_abs_6fcaa7fcc2b2c8003fe896fe7355d3e2", - "typing_tok_MiniParseExample2.V@tok", "unit_typing" + "typing_FStar.UInt.fits", "typing_Prims.pow2", + "typing_Tm_abs_23c5c0cf2c7891b49dc95c33563132b9", "unit_typing" ], 0, - "36b5b5e3f3ca73540737f618e02e3777" + "68cd92442f73c8e7899f3b98526d8317" ] ] ] \ No newline at end of file diff --git a/examples/miniparse/MiniParseExample3.fst.hints b/examples/miniparse/MiniParseExample3.fst.hints index c8a98cfc78d..c96b1dbce74 100644 --- a/examples/miniparse/MiniParseExample3.fst.hints +++ b/examples/miniparse/MiniParseExample3.fst.hints @@ -1,30 +1 @@ -[ - "Q]Å\u001fËcÁ\u000eÝÅŽÈÒÁá'", - [ - [ - "MiniParseExample3.s", - 1, - 2, - 1, - [ - "@query", "equation_MiniParse.Tac.Spec.mk_package", - "equation_MiniParse.Tac.Spec.package_parser", - "equation_MiniParseExample3.palette", - "equation_MiniParseExample3.ps", - "proj_equation_MiniParse.Tac.Spec.Package_p", - "projection_inverse_MiniParse.Tac.Spec.Package_p" - ], - 0, - "fd5eb8519f168f40ba1ef45e48574c49" - ], - [ - "MiniParseExample3.s", - 2, - 2, - 1, - [ "@query", "equation_MiniParseExample3.ps" ], - 0, - "afc61a24f7640f914cf942394303a8b9" - ] - ] -] \ No newline at end of file +[ "Q]Å\u001fËcÁ\u000eÝÅŽÈÒÁá'", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Apply.fst b/examples/native_tactics/Apply.fst index b9059cfa8c7..d71d2ad6551 100644 --- a/examples/native_tactics/Apply.fst +++ b/examples/native_tactics/Apply.fst @@ -27,4 +27,4 @@ let refl a x = () let tau () : Tac unit = apply_lemma (`refl) -let lem1 = assert_by_tactic (x == x) tau +let lem1 = assert (x == x) by tau () diff --git a/examples/native_tactics/Apply.fst.hints b/examples/native_tactics/Apply.fst.hints index b66e0ceb9a6..0a887bcbd01 100644 --- a/examples/native_tactics/Apply.fst.hints +++ b/examples/native_tactics/Apply.fst.hints @@ -1 +1 @@ -[ "\u000bŽœ§\u001aáÈiåËú‚wâÏè", [] ] \ No newline at end of file +[ "ÙÅ)j±È9;\u0000µ\u001eH\u0012%k÷", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Arith.fst b/examples/native_tactics/Arith.fst index 5c5bc1fbe00..37726276109 100644 --- a/examples/native_tactics/Arith.fst +++ b/examples/native_tactics/Arith.fst @@ -22,8 +22,8 @@ open FStar.Tactics.Arith open FStar.List let lem0 (x:int) = - assert_by_tactic (op_Multiply 2 (x + 3) == 6 + (op_Multiply 3 x) - x) - (fun () ->prune ""; addns "Prims") + assert (op_Multiply 2 (x + 3) == 6 + (op_Multiply 3 x) - x) + by (prune ""; addns "Prims") // Can't locally define tactics [@plugin] @@ -39,21 +39,21 @@ let tau1 () : Tac unit = smt () let lem1 (x:int) = - assert_by_tactic (List.rev [1;2;3;4] == [4;3;2;1] /\ op_Multiply 2 (x + 3) == 6 + (op_Multiply 3 x) - x) - tau1 + assert (List.rev [1;2;3;4] == [4;3;2;1] /\ op_Multiply 2 (x + 3) == 6 + (op_Multiply 3 x) - x) + by tau1 () let lem2 (x:int) = - assert_by_tactic (List.rev [1;2;3;4] == [4;3;2;1] /\ op_Multiply 2 (x + 3) == 6 + (op_Multiply 3 x) - x) - split_arith + assert (List.rev [1;2;3;4] == [4;3;2;1] /\ op_Multiply 2 (x + 3) == 6 + (op_Multiply 3 x) - x) + by split_arith () let lem3 (x y z : int) (f : int -> int) = assume (x + f y > 2); - assert_by_tactic (x + f y > 1 /\ f == f /\ List.length (List.Tot.tail [1;2;3]) == 2) - split_arith + assert (x + f y > 1 /\ f == f /\ List.length (List.Tot.tail [1;2;3]) == 2) + by split_arith () let lem4 (x y z : int) (f : int -> int) = assume (forall y. f y > y); - assert_by_tactic (f 5 > 1 /\ f == f /\ List.length (List.Tot.tail [1;2;3]) == 2 + assert (f 5 > 1 /\ f == f /\ List.length (List.Tot.tail [1;2;3]) == 2 /\ 1 + 2 == 3 /\ (forall x. f (f x) > x) /\ (forall (x y : int). x > 2 /\ y > 2 ==> op_Multiply x y > x + y)) - split_arith + by split_arith () diff --git a/examples/native_tactics/Arith.fst.hints b/examples/native_tactics/Arith.fst.hints index c4df7792e43..e674d3991ff 100644 --- a/examples/native_tactics/Arith.fst.hints +++ b/examples/native_tactics/Arith.fst.hints @@ -1,5 +1,5 @@ [ - "~f„¬Ë\\\":ËÉ3ݨë…t", + "õ]q±¦oŽ›Ÿ²(dÊÁQÇ", [ [ "Arith.lem0", @@ -12,7 +12,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3d7cb8a9ffaa6fe6986a955153f9d578" + "4c3a1766a3e74c6c2a24930c59787606" ], [ "Arith.lem1", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9f312306e474e03c52c8d58e603598a0" + "7f61926c1a8355f22a68797a6bf97019" ], [ "Arith.lem1", @@ -48,7 +48,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "6bd6ac08f6c5e205f441bf7432359894" + "1e03f3f131b599f9f9f1293fc769cd6c" ], [ "Arith.lem2", @@ -61,7 +61,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3b0e35bb796cae8ddfa5eff94c7ce671" + "76178b170f4bc2f0c8a706e7c018398a" ], [ "Arith.lem2", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fff2370dfca7531c22e48447d5d60992" + "70f7e46da72fee11cbee4432a3809b77" ], [ "Arith.lem3", @@ -99,7 +99,7 @@ "projection_inverse_Prims.Cons_tl", "true_interp" ], 0, - "769fd3cc5c43bb6e07cdd9eefe2ee95d" + "8f4d58f1e6d1f6a1677c59956bfb5c5d" ], [ "Arith.lem3", @@ -121,11 +121,11 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "81464c88155db7494cce4564fe936ef7" + "a4232ac38121350f1d8247e85992bf06" ], [ "Arith.lem3", @@ -138,7 +138,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "19d229680135f0a24d70ec4ac2d790e5" + "df0b5cd90426e3aa4dce7355d20a1b14" ], [ "Arith.lem4", @@ -153,7 +153,7 @@ "projection_inverse_Prims.Cons_tl", "true_interp" ], 0, - "a3e49c0f33e5c1c6954125494559ab22" + "86da0b0d39056cddd398faa3efa6dc53" ], [ "Arith.lem4", @@ -161,17 +161,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", + "@query", "b2t_def", "equation_Prims.l_and", "l_and-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_inversion", "unit_typing" + "projection_inverse_BoxInt_proj_0" ], 0, - "85c689a1e33ad6a85c86b240c4d87d41" + "f3746602d71819c802d3d4b2919ddc51" ], [ "Arith.lem4", @@ -180,12 +176,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", "int_inversion", - "refinement_interpretation_Tm_refine_6c84834c3a3e1848d0176ea60ab2b178" + "refinement_interpretation_Tm_refine_51a1a11c85affab19a1e24b7b60f7bf9" ], 0, - "f6f3b1d9daaee6dcb49da3d1287431aa" + "390d639718a58fcd2e5135d7427c98cc" ], [ "Arith.lem4", @@ -207,11 +203,11 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "68eeb6dfbcd5e5fe2c00d2a7b13c53bd" + "f6ce7521a90d79355f1c93a068f51e7c" ], [ "Arith.lem4", @@ -221,10 +217,10 @@ [ "@MaxIFuel_assumption", "@query", "int_typing", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c84834c3a3e1848d0176ea60ab2b178" + "refinement_interpretation_Tm_refine_51a1a11c85affab19a1e24b7b60f7bf9" ], 0, - "d62413e79dc7dad98408fcfaae41b722" + "1a90527c964de9a4eba4c9231c47041e" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/BV.Test.fst b/examples/native_tactics/BV.Test.fst index b000c6dc2ba..5306bd57b21 100644 --- a/examples/native_tactics/BV.Test.fst +++ b/examples/native_tactics/BV.Test.fst @@ -29,48 +29,48 @@ module U64 = FStar.UInt64 //Some examples working on FStar.UInt.uint_t, i.e., bounded natural numbers //////////////////////////////////////////////////////////////////////////////// let test1 (x y: uint_t 64) = - assert_by_tactic (logand x y == logand y x) - bv_tac + assert (logand x y == logand y x) + by bv_tac () let test2 (x y : uint_t 64) = - assert_by_tactic (logand (logand x y) y == logand y (logand y x)) - bv_tac + assert (logand (logand x y) y == logand y (logand y x)) + by bv_tac () let test3 (x y : uint_t 64) = - assert_by_tactic (logand (logand (logand x y) x) y == logand y (logand x (logand y x))) - bv_tac + assert (logand (logand (logand x y) x) y == logand y (logand x (logand y x))) + by bv_tac () let test4 (x y : uint_t 64) = - assert_by_tactic (logand (logand x (logxor x y)) y == logand y (logand x (logxor y x))) - bv_tac + assert (logand (logand x (logxor x y)) y == logand y (logand x (logxor y x))) + by bv_tac () /// This also works when you expliclity coerce from a machine integer to a uint_t let test5 (x y: U64.t) = - assert_by_tactic (logand (U64.v x) (U64.v y) == logand (U64.v y) (U64.v x)) - bv_tac + assert (logand (U64.v x) (U64.v y) == logand (U64.v y) (U64.v x)) + by bv_tac () let test6 (x y: uint_t 64) = - assert_by_tactic (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)) == logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)) + assert (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)) == logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)) ) - bv_tac + by bv_tac () let test7 (x y: uint_t 64) = - assert_by_tactic (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) == logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) - bv_tac + assert (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) == logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) + by bv_tac () let test8 (x y: uint_t 64) = - assert_by_tactic (logand (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)))) (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) == logand (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))))) - bv_tac + assert (logand (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)))) (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) == logand (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))))) + by bv_tac () let test9 (x y: uint_t 64) = - assert_by_tactic (logor (logand (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)))) (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))))) (logand (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))))) == logor (logand (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))))) (logand (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)))) (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))))) - bv_tac + assert (logor (logand (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)))) (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))))) (logand (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))))) == logor (logand (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))))) (logand (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)))) (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))))) + by bv_tac () let test10 (x y: uint_t 64) = - assert_by_tactic ( + assert ( logand (logor (logand (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)))) (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))))) (logand (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)))))) (logor (logand (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))))) (logand (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)))) (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))))) == logand (logor (logand (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))))) (logand (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)))) (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))))) (logor (logand (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x)))) (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))))) (logand (logor (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))) (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y)))) (logor (logand (logor (logand x y) (logand y x)) (logor (logand y x) (logand x y))) (logand (logor (logand y x) (logand x y)) (logor (logand x y) (logand y x))))))) - bv_tac + by bv_tac () //////////////////////////////////////////////////////////////////////////////// @@ -83,8 +83,8 @@ logand (logor (logand (logor (logand (logor (logand x y) (logand y x)) (logor (l /// First a simple one let test11 (x y: U64.t) = - assert_by_tactic (U64.logand x y == U64.logand y x) - bv64_tac + assert (U64.logand x y == U64.logand y x) + by bv64_tac () /// In this one, the tactic works by: /// -- 1. rewriting the goal to @@ -102,6 +102,6 @@ let test11 (x y: U64.t) = /// -- 4. Finally, F*'s built-in SMT encoding encode FStar.BitVector.t 64 /// to Z3's primitive bv 64. let test12 (x y z: U64.t) = - assert_by_tactic (U64.logand x (U64.logand y (U64.logand z z)) == + assert (U64.logand x (U64.logand y (U64.logand z z)) == U64.logand (U64.logand x y) z) - bv64_tac + by bv64_tac () diff --git a/examples/native_tactics/BV.Test.fst.hints b/examples/native_tactics/BV.Test.fst.hints index 7b0eb1732a6..6883bc677e0 100644 --- a/examples/native_tactics/BV.Test.fst.hints +++ b/examples/native_tactics/BV.Test.fst.hints @@ -1,5 +1,5 @@ [ - "jð\u000fÊRú5è£\u007fãä2;\u0017å", + "T¶f>\u0018\u001aiËÒÁØ\u0003\u001bî\u0012\r", [ [ "BV.Test.test1", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c2e2059886497c964ea394965c445229" + "6a38bc672e905c75d05c72292539116d" ], [ "BV.Test.test2", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "48f4e70d35de9aaf81adfba4b4b88bbc" + "e6ff9bed2e90d6d46a363acdc0551bde" ], [ "BV.Test.test3", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "bc6823912188d7167c0d4fdf5224e22e" + "82c4a55b18425f40e1f882bb89131885" ], [ "BV.Test.test4", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "9ca826f7ee583c4ae81d8faef4a8ea27" + "4c39d29bb79965225e48230306d479db" ], [ "BV.Test.test5", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "b0c1fdb1ed8d683daffbfe29a188ee4c" + "a6be80ed7692f0d402e49ee3552169b7" ], [ "BV.Test.test6", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "2b72e8c24f1b311712f46316a9f5168d" + "5d1e54a0663272b359a7538aaf73f17b" ], [ "BV.Test.test7", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "31d67d887d3e00f5e0f6f78cf7be2d25" + "50e5649e295625e26d85992f7962b4a2" ], [ "BV.Test.test8", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "dd62805fd6fbc6a016c67bc7d144b385" + "82556fb66d16ac81cf721e611b8948b0" ], [ "BV.Test.test9", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "860ea56ebf0df967539f169777de902d" + "03f266fe270224990aad575f1d210580" ], [ "BV.Test.test10", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "d46b99149d74a31d098c6292b5bb6bfa" + "02191575b7ad31cfc0d6dde92ba0df8c" ], [ "BV.Test.test11", @@ -98,7 +98,7 @@ 1, [ "@query", "true_interp" ], 0, - "80fc53c3afc7b5ae932326c7060d2c85" + "33eea0b5e55fe829cd15ca4749aba171" ], [ "BV.Test.test11", @@ -107,7 +107,7 @@ 1, [ "@query" ], 0, - "3766ca109647b15245c042f24097a6c5" + "d24b3ead196e8c224ff86bc623f01737" ], [ "BV.Test.test12", @@ -116,7 +116,7 @@ 1, [ "@query", "true_interp" ], 0, - "da99b113f7a81b1304aadf681c9c8b1a" + "8855811e386571e9179fa36ffe065789" ], [ "BV.Test.test12", @@ -125,7 +125,7 @@ 1, [ "@query" ], 0, - "03bd4b9bfe775aa99d72a7612cb9dff2" + "4e2ee4d45085b10c6d12efe46d95ff7a" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/BV.fst.hints b/examples/native_tactics/BV.fst.hints index 436c4d0533d..127a439fd62 100644 --- a/examples/native_tactics/BV.fst.hints +++ b/examples/native_tactics/BV.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "5659bafd2de30ec5b63b37061885de8a" + "317047fffc4ff1e5c09dba06aa68f5f9" ], [ "BV.cong_bvand", @@ -17,10 +17,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b03f00cfa3bc5a9fe129d62f22e039a7" + "ff35a96d3e292101eb0ec8cc543edd0e" ], [ "BV.cong_bvand", @@ -30,10 +30,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4abddf27cebbb60aeeaf769374660da4" + "1c82f72903de125badc2c3a9df0c481b" ], [ "BV.cong_bvxor", @@ -42,10 +42,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d0c364447d84ab4e1b2467ccadecdda8" + "7eb4585d53e73cadc8c2d5da9a0758e3" ], [ "BV.cong_bvxor", @@ -54,10 +54,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "dbf907b22271b06cead3a22da74c3bd7" + "f106859c80b6d50513f8c1bc0c856ac3" ], [ "BV.cong_bvxor", @@ -66,10 +66,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "da09c4a01af5138d9d9b1efb4dea6b1f" + "733c915111f43775c21d2a93877188a6" ], [ "BV.cong_bvxor", @@ -79,10 +79,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c0f7494f0323e8d5bef26a32545fcd64" + "fc019aa530b5cdcaa5b2f5b5fd918d2e" ], [ "BV.cong_bvor", @@ -91,10 +91,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f71c250a92d31d1e2cfd505081de3d5b" + "6108ed120bab152d1950d1af7136991c" ], [ "BV.cong_bvor", @@ -103,10 +103,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d88aa2877fca5d631150b8a375c742dd" + "0ef0ab70cdf6b48e390abb8bd474b6ac" ], [ "BV.cong_bvor", @@ -115,10 +115,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "da9eee2273e5427cd53cc27e5e4d9790" + "cac1ae45efecc283ddb39baaa817cfb4" ], [ "BV.cong_bvor", @@ -128,10 +128,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "818f2177c869c3b996342a2c89fa16df" + "8d96ee0bc79d854577c74b0905d52d4d" ], [ "BV.cong_bvshl", @@ -140,10 +140,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2c6b610ddabc3ad33bb364756d12d8a8" + "2dbb6eb7681ff49bc27e86890d4e404a" ], [ "BV.cong_bvshl", @@ -152,10 +152,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "eed92484283e086c7257cb70decff44c" + "f0a5a6c3d283f0406766c3c86dbb5673" ], [ "BV.cong_bvshl", @@ -163,20 +163,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "e704b368df06025cf5704529d29d884f" + "beb092b05e26c2d76af37973ba75d01f" ], [ "BV.cong_bvshl", @@ -186,10 +183,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0b2f62098b095c81e16b4fd56a01ba37" + "45a2d655687b7390561a6df204383bf1" ], [ "BV.cong_bvshr", @@ -198,7 +195,7 @@ 1, [ "@query" ], 0, - "bc62bf0a65275e31590cabf49e2105c0" + "be87e3d3637fafc681694428f20c2700" ], [ "BV.cong_bvshr", @@ -206,20 +203,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "8e8a63d25558c26acf7553f45343842b" + "cda4d2f18331f5a1b1c57dcf0f7a0f86" ], [ "BV.cong_bvshr", @@ -229,10 +223,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "49ae5c98f0a74af58a8e03585f8c6e0b" + "efef7623a9e4c8dc11f4700ab11c2b64" ], [ "BV.cong_bvdiv", @@ -241,7 +235,7 @@ 1, [ "@query" ], 0, - "b283360d3258ae0d3a9ab25340dbc5ab" + "6e6590203f1a7c94bcb67878ec6ea504" ], [ "BV.cong_bvdiv", @@ -250,10 +244,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "86f3860040acae45427539e7fd124394" + "9fdd4a1fb1b1e36dc880374774f8a5d1" ], [ "BV.cong_bvdiv", @@ -263,10 +257,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "61b7558ce65b0a7a3be2630498a6f8d4" + "5093be11e57a343e3547c38a9e3f7e3a" ], [ "BV.cong_bvmod", @@ -275,7 +269,7 @@ 1, [ "@query" ], 0, - "8b11837bef292e75cee6507283bf5c8c" + "a97f2d9efd6ccd6057fde696b3300392" ], [ "BV.cong_bvmod", @@ -284,10 +278,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1d9aa13624f3f9381ecfef6e768eb72d" + "bdfd2b53b24b0d6d1319df96bd90aa15" ], [ "BV.cong_bvmod", @@ -297,10 +291,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "cdcd2ecfc4a9275eb839d1fd25f1e2af" + "b3bbc26aa2ab8f77ed24299f0594235c" ], [ "BV.cong_bvmul", @@ -309,7 +303,7 @@ 1, [ "@query" ], 0, - "515de8c1fa44603fc9c636d38a8fb3fb" + "ff8535bf95046f738e757834b3018db9" ], [ "BV.cong_bvmul", @@ -318,10 +312,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a035043d1e44adb473a4fbdc2b094968" + "e1f1686fffd1a4a9e71be92335ebf9c7" ], [ "BV.cong_bvmul", @@ -331,10 +325,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6d597ead8bdbfef5fb98b72cd8ab45ee" + "1490a781f1ad2fd689f4fa195435f1c1" ], [ "BV.cong_bvadd", @@ -343,10 +337,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "10e51734e968ddb9f81f2ad7308cc7ba" + "0f32d60dc75b3b8e9face6794c8152a8" ], [ "BV.cong_bvadd", @@ -355,10 +349,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7c5cc7ca96c3bf42b9fcacb756ceb1b5" + "4bf3815b2080c498e20eab3336893816" ], [ "BV.cong_bvadd", @@ -367,10 +361,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d4e450783df5efaecb8878bcf5214fce" + "4e1756a8e60302832ec0ff8e7fa29649" ], [ "BV.cong_bvadd", @@ -380,10 +374,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "399cf09f8210fd972ca717db25494e29" + "f7fab44c1fe0b3ea92cfa09f4e21167d" ], [ "BV.cong_bvsub", @@ -392,10 +386,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "37eed8ebc5e8769f38b1bcbbf5f5acf7" + "4f7f2c093730aaf1788e1031d03365fd" ], [ "BV.cong_bvsub", @@ -404,10 +398,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "20bb4f7076eae2f53fbdccaf4a8e6068" + "874c44a657ce6921277da924d7a18e0f" ], [ "BV.cong_bvsub", @@ -416,10 +410,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "dcf8aead24a6febb4b65141574b3470e" + "6fb90beedd4c6d16eed02e076fa65ce1" ], [ "BV.cong_bvsub", @@ -429,10 +423,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "47c83bf0162549d0b0ab34c6c1510d00" + "cf50053257abadc269c671f52cccc1f5" ], [ "BV.eq_to_bv", @@ -441,7 +435,7 @@ 1, [ "@query" ], 0, - "e1fdd05705d68cfc741f912dfe9cc836" + "4088ce700e24dc8bf91bd512c675416c" ], [ "BV.eq_to_bv", @@ -450,10 +444,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "266dc78ee5192389a302da16cd4a5782" + "20a90e4cb3e120faf5091885afff4420" ], [ "BV.eq_to_bv", @@ -463,10 +457,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e0f71da2a809e3a297c1b8c2119096f6" + "362c0ea36a6f23ec32af669f5206d040" ], [ "BV.lt_to_bv", @@ -475,10 +469,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "13ce1b1005d5e9fc3f4d173502075772" + "f21ed4278ec35318e28320fdf4a34d04" ], [ "BV.lt_to_bv", @@ -487,7 +481,7 @@ 1, [ "@query", "b2t_def" ], 0, - "f7a5987ad76685bc4d5455120c4465e3" + "112dd99bd065eed854d58cc6ef521d7b" ], [ "BV.trans", @@ -496,10 +490,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "bba3ec262f35936c59b4226fed90a9f0" + "6e1877c7753d114717beae8d48d749ad" ], [ "BV.trans", @@ -509,10 +503,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "60abac2097edc27e028f8c8ed651b49c" + "1ddaa0081ad56b1ef60802c502cf5fc0" ], [ "BV.trans_lt", @@ -521,10 +515,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ca5c120e11bed17f08bb5a7a37aa5ccd" + "40247b9ad37393612235a82cdb400b30" ], [ "BV.trans_lt", @@ -533,11 +527,11 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "af9d836e764af8d9a40f6d3ae9eef153" + "342e5e1550c4c6837b5d50783a5a037c" ], [ "BV.trans_lt2", @@ -546,7 +540,7 @@ 1, [ "@query" ], 0, - "ed353acdae6c27b6d61caa79592b1826" + "2958e3e99a3b52c995bd11361843ed0d" ], [ "BV.trans_lt2", @@ -555,7 +549,7 @@ 1, [ "@query" ], 0, - "42a24012f8b50c350a33fe5438c022bf" + "17d39a466b18669103ac0e9d862ea5d7" ], [ "BV.trans_lt2", @@ -564,10 +558,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d11dae4b56b516cc69e01dce9cff2a0e" + "a07e590bd5a800822d0dc6d24d513d3d" ], [ "BV.trans_lt2", @@ -577,10 +571,10 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5b10d3725003817c029e46aec01c0ebf" + "2000f2452314d2a8f91133bd0aa5ffb1" ], [ "BV.v64_eq", @@ -589,7 +583,7 @@ 1, [ "@query", "lemma_FStar.UInt64.uv_inv" ], 0, - "efb0ce9d9cca332333a479ec5dcd71bd" + "02a4dc545e28a7a33c02fdfb2742abb2" ], [ "BV.unfold_logand64", @@ -598,12 +592,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "refinement_interpretation_Tm_refine_3eddd6f6718ab081a94d9ef5c683e848", + "refinement_interpretation_Tm_refine_fc8b02edd6d4507c20589e697568337f", "typing_FStar.UInt64.logand" ], 0, - "3baac0134601bc8ca1a98260a08ccc9d" + "1165c87ed0640e22d500805427909a3f" ], [ "BV.unfold_logor64", @@ -612,12 +605,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "refinement_interpretation_Tm_refine_a77c3e97e98860ba2765bae2f6c2d4bb", + "refinement_interpretation_Tm_refine_310e35e7b50334cd45a94554dfa7956f", "typing_FStar.UInt64.logor" ], 0, - "a10b1bc74b43bc23d5749820195aaff0" + "493cb924370af0a9080c94a519af20af" ], [ "BV.unfold_logxor64", @@ -626,12 +618,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "refinement_interpretation_Tm_refine_9508a06939a0f9d15496f1a6ddfc0123", + "refinement_interpretation_Tm_refine_75ef378c01efa37f4dfff3ea9efb36a5", "typing_FStar.UInt64.logxor" ], 0, - "a7175849b87c976e9d78bd369202fdb3" + "b5bb4dd29fb1ed352e7e4f592958b42b" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Bane.Test.fst b/examples/native_tactics/Bane.Test.fst index 95de8f5d983..8828b8cf20b 100644 --- a/examples/native_tactics/Bane.Test.fst +++ b/examples/native_tactics/Bane.Test.fst @@ -18,4 +18,4 @@ open FStar.Tactics open Bane let test = - assert_by_tactic for_you12 mytac + assert for_you12 by mytac () diff --git a/examples/native_tactics/Bane.Test.fst.hints b/examples/native_tactics/Bane.Test.fst.hints index 9f7af73f7b7..0b6be6fa975 100644 --- a/examples/native_tactics/Bane.Test.fst.hints +++ b/examples/native_tactics/Bane.Test.fst.hints @@ -1 +1 @@ -[ "/­µB(‡GxÈŠ\ný@ý† ", [] ] \ No newline at end of file +[ "ä¥oËÿÍ vz\u0002*ÞuÝ™S", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Bane.fst.hints b/examples/native_tactics/Bane.fst.hints index 3f197c41f97..199b840320a 100644 --- a/examples/native_tactics/Bane.fst.hints +++ b/examples/native_tactics/Bane.fst.hints @@ -20,7 +20,7 @@ "unit_typing" ], 0, - "7afb981e05ab27b3550ba5e4051f2509" + "02041058f29a046a30efe4251e8ccdf8" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Bug1270.fst b/examples/native_tactics/Bug1270.fst index 56ed869693d..2aabf54d266 100644 --- a/examples/native_tactics/Bug1270.fst +++ b/examples/native_tactics/Bug1270.fst @@ -29,5 +29,5 @@ let mytac = | h :: _ -> ()) `or_else` trivial) let test = - assert_by_tactic (True ==> True) mytac + assert (True ==> True) by mytac () diff --git a/examples/native_tactics/Canon.Test.fst b/examples/native_tactics/Canon.Test.fst index 358091a6400..b21725235b0 100644 --- a/examples/native_tactics/Canon.Test.fst +++ b/examples/native_tactics/Canon.Test.fst @@ -23,44 +23,44 @@ assume val x : int assume val y : int assume val z : int -let lem0 = assert_by_tactic (x * (y * z) == (x * y) * z) check_canon +let lem0 = assert (x * (y * z) == (x * y) * z) by check_canon () // TODO: for now, canon is not enough as we don't collect factors let lem1 = - assert_by_tactic ((x + y) * (z + z) == 2 * z * (y + x)) - canon + assert ((x + y) * (z + z) == 2 * z * (y + x)) + by canon () let lem2 (x : int) = - assert_by_tactic (2 + x + 3 * 8 == x + 26) check_canon + assert (2 + x + 3 * 8 == x + 26) by check_canon () let lem3 (a b c d e : int) = - assert_by_tactic (c + (b + a) == b + (a + c)) check_canon + assert (c + (b + a) == b + (a + c)) by check_canon () let lem4 (a b c : int) = - assert_by_tactic ((a+c+b)*(b+c+a) == a * a + (((b+c)*(c+b) + a * (b+c)) + c*a) + b*a) check_canon + assert ((a+c+b)*(b+c+a) == a * a + (((b+c)*(c+b) + a * (b+c)) + c*a) + b*a) by check_canon () let lem5 (a b c d e : int) = - assert_by_tactic + assert ((a+b+c+d+e)*(a+b+c+d+e) == a * a + a * b + a * c + a * d + a * e + b * a + b * b + b * c + b * d + b * e + c * a + c * b + c * c + c * d + c * e + d * a + d * b + d * c + d * d + d * e + e * a + e * b + e * c + e * d + e * e) - check_canon + by check_canon () let lem6 (a b c d e : int) = - assert_by_tactic + assert ((a+b+c+d+e)*(e+d+c+b+a) == a * a + a * b + a * c + a * d + a * e + b * a + b * b + b * c + b * d + b * e + c * a + c * b + c * c + c * d + c * e + d * a + d * b + d * c + d * d + d * e + e * a + e * b + e * c + e * d + e * e) - check_canon + by check_canon () let lem7 (a b c d : int) = - assert_by_tactic + assert ((a+b+c+d)*(b+c+d+a) == a * a + b * b @@ -72,20 +72,20 @@ let lem7 (a b c d : int) = + b * c + b * c + b * d + b * d + c * d + c * d) - check_canon + by check_canon () let lem8 (a b c d : int) = assert_norm (1 * 1 == 1); - assert_by_tactic ((a * b) * (c * d) == d * b * c * a) - check_canon + assert ((a * b) * (c * d) == d * b * c * a) + by check_canon () let lem9 (n:int) (p:int) (r:int) (h:int) (r0:int) (r1:int) (h0:int) (h1:int) (h2:int) (s1:int) (d0:int) (d1:int) (d2:int) (hh:int) = - assert_by_tactic (((h2 * (n * n) + h1 * n + h0) * (r1*n + r0)) = + assert (((h2 * (n * n) + h1 * n + h0) * (r1*n + r0)) = ((h2 * r1) * (n * n * n) + (h2 * r0 + h1 * r1) * (n * n) + (h1 * r0 + h0 * r1) * n + h0 * r0)) - check_canon + by check_canon () let lem10 (a b c : int) (n:int) (p:int) (r:int) (h:int) (r0:int) (r1:int) (h0:int) (h1:int) (h2:int) (s1:int) (d0:int) (d1:int) (d2:int) (hh:int) = - assert_by_tactic ((((h2 * (n * n) + h1 * n + h0) * (r1*n + r0))) * ((a+b+c)*(a+b+c)) = + assert ((((h2 * (n * n) + h1 * n + h0) * (r1*n + r0))) * ((a+b+c)*(a+b+c)) = (((h2 * r1) * (n * n * n) + (h2 * r0 + h1 * r1) * (n * n) + (h1 * r0 + h0 * r1) * n + h0 * r0)) * (a * a + a * b + a * c + b * a + b * b + b * c + c * a + c * b + c * c)) - check_canon + by check_canon () diff --git a/examples/native_tactics/Canon.Test.fst.hints b/examples/native_tactics/Canon.Test.fst.hints index fabe0acadfc..aa8d18d9107 100644 --- a/examples/native_tactics/Canon.Test.fst.hints +++ b/examples/native_tactics/Canon.Test.fst.hints @@ -1,5 +1,5 @@ [ - "GΩs.­(Ó\u0007Wc\"s\f«8", + "$—ûì›ëÀ\n_¤t@’¾\u0012", [ [ "Canon.Test.lem1", @@ -12,7 +12,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "aa79a38cd347edd394bad67af4d102bb" + "4275448f5868911524ef9c286a0f5ddd" ], [ "Canon.Test.lem8", @@ -21,7 +21,7 @@ 1, [ "@query", "true_interp" ], 0, - "74b906ebdb4388dbc48436e7e27d8e86" + "384e38cf9ca51172c24aab9142a87200" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/CanonDeep.fst b/examples/native_tactics/CanonDeep.fst index 84b48be92bb..9c4ef745335 100644 --- a/examples/native_tactics/CanonDeep.fst +++ b/examples/native_tactics/CanonDeep.fst @@ -202,4 +202,4 @@ let check_canon_deep () = (fun () -> dump "`canon deep` left the following goals"; fail "") -let lem0 = assert_by_tactic (x * (y * z) == (x * y) * z) check_canon_deep +let lem0 = assert (x * (y * z) == (x * y) * z) by check_canon_deep () diff --git a/examples/native_tactics/CanonDeep.fst.hints b/examples/native_tactics/CanonDeep.fst.hints index 9e330f25979..40cb7c6963d 100644 --- a/examples/native_tactics/CanonDeep.fst.hints +++ b/examples/native_tactics/CanonDeep.fst.hints @@ -1,5 +1,5 @@ [ - "°\u000e,¡òºŒ3 XÀöE2’", + "\u0004gýª'™Iø[a'\\‚Ý•", [ [ "CanonDeep.canon_expr", @@ -28,7 +28,7 @@ "fuel_guarded_inversion_FStar.Reflection.Arith.expr" ], 0, - "320695408d81b0006cdb5213bcede050" + "41f389890d601a497223fa0f9a6323e8" ], [ "CanonDeep.expr_to_term", @@ -74,7 +74,7 @@ "subterm_ordering_FStar.Reflection.Arith.Umod" ], 0, - "1cff6f60d7100babfcc7c59c8fc0620d" + "bfbf4693815fb8608309d0afd96bd9ee" ], [ "CanonDeep.canon_correct", @@ -83,7 +83,7 @@ 1, [ "@query", "equation_CanonDeep.canon_expr_" ], 0, - "a6dab5843804b0b88772e785f50e2e78" + "31515533ca34bec1c75ebda560b1717c" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/CanonMonoid.fst b/examples/native_tactics/CanonMonoid.fst index 3ffd5b514d4..ab2ff2557ed 100644 --- a/examples/native_tactics/CanonMonoid.fst +++ b/examples/native_tactics/CanonMonoid.fst @@ -113,12 +113,12 @@ let change t1 = let change_sq t1 = change (mk_e_app (`squash) [t1]) -let g f = assert_by_tactic (f (3 + 5) > 0) - (fun () -> change_sq (quote (f 8 > 0)); admit1()) +let g f = assert (f (3 + 5) > 0) + by (change_sq (quote (f 8 > 0)); admit1()) assume val f:int->int -let _ = assert_by_tactic (f (3 + 5) > 0) - (fun () -> change_sq (`(f 8 > 0)); admit1()) +let _ = assert (f (3 + 5) > 0) + by (change_sq (`(f 8 > 0)); admit1()) let canon_monoid (#a:Type) (m:monoid a) (*a_to_string:a->string*) : Tac unit = norm []; @@ -141,8 +141,8 @@ let canon_monoid (#a:Type) (m:monoid a) (*a_to_string:a->string*) : Tac unit = | _ -> fail "Goal should be an equality" let lem0 (a b c d : int) = - assert_by_tactic (0 + a + b + c + d == (0 + a) + (b + c + 0) + (d + 0)) - (fun _ -> canon_monoid int_plus_monoid (* string_of_int *); trefl()) + assert (0 + a + b + c + d == (0 + a) + (b + c + 0) + (d + 0)) + by (canon_monoid int_plus_monoid (* string_of_int *); trefl()) (* TODO: should extend this to a commutative monoid and sort the list to prove things like a + b = b + a; diff --git a/examples/native_tactics/Cases.fst b/examples/native_tactics/Cases.fst index 218aa767620..94a24b499f6 100644 --- a/examples/native_tactics/Cases.fst +++ b/examples/native_tactics/Cases.fst @@ -28,9 +28,8 @@ assume val f : unit -> Lemma (p ==> r) assume val g : unit -> Lemma (q ==> r) let test_cases (h : (p \/ q)) : Lemma r = - assert_by_tactic r - (fun () -> - let t = quote h in + assert r + by (let t = quote h in cases_or t; apply_lemma (quote f); apply_lemma (quote g); @@ -38,9 +37,8 @@ let test_cases (h : (p \/ q)) : Lemma r = // Taking a squashed hypothesis, we can unsquash it as we're in an irrelevant context let test_cases_unsquash (h : squash (p \/ q)) : Lemma r = - assert_by_tactic r - (fun () -> - let t = quote h in + assert r + by (let t = quote h in let t = unsquash t in cases_or t; apply_lemma (quote f); @@ -55,33 +53,30 @@ let test_cases_unsquash (h : squash (p \/ q)) : Lemma r = (* let ll () : Lemma (pp \/ ~pp) = () *) (* let test_em () : Lemma qq = *) -(* assert_by_tactic qq *) -(* (fun () -> *) -(* let empp = quote ll in *) -(* let p_or_not_p = get_lemma empp in *) -(* let p_or_not_p = unsquash p_or_not_p in *) -(* let h_pp_npp = cases p_or_not_p in *) -(* let h_pp, h_npp = h_pp_npp in *) -(* apply_lemma (quote ff); exact (h_pp); *) -(* apply_lemma (quote gg); exact (h_npp); *) -(* qed () *) -(* ) *) + (* assert qq *) + (* by (let empp = quote ll in *) + (* let p_or_not_p = get_lemma empp in *) + (* let p_or_not_p = unsquash p_or_not_p in *) + (* let h_pp_npp = cases p_or_not_p in *) + (* let h_pp, h_npp = h_pp_npp in *) + (* apply_lemma (quote ff); exact (h_pp); *) + (* apply_lemma (quote gg); exact (h_npp); *) + (* qed () *) + (* ) *) assume val pred : bool -> Type assume val pred_true : squash (pred true) assume val pred_false : squash (pred false) let test_cases_bool (b:bool) : Lemma (pred b) = - assert_by_tactic (pred b) - (fun () -> - let b = quote b in + assert (pred b) + by (let b = quote b in cases_bool b; exact (quote pred_true); exact (quote pred_false); qed ()) let test_cases_bool_2 (x:int) : Lemma (x + x == 2 * x) = - assert_by_tactic (x + x == 2 * x) - (fun () -> - let t = quote (x = 0) in + assert (x + x == 2 * x) + by (let t = quote (x = 0) in cases_bool t) diff --git a/examples/native_tactics/Change.fst b/examples/native_tactics/Change.fst index d93c165bf71..8c5984e169f 100644 --- a/examples/native_tactics/Change.fst +++ b/examples/native_tactics/Change.fst @@ -23,7 +23,7 @@ let id #a (x:a) : a = x // let tau1 = fun () -> dump "0"; // change_sq (`(eq2 #int (id #int 5) 5)); // dump "1" -// let _ = assert_by_tactic (id 5 == 5) tau1 +// let _ = assert (id 5 == 5) by tau1 () let rec is_five (x: nat) = match x with @@ -34,10 +34,10 @@ let rec is_five (x: nat) = let tau2 = fun () -> dump "0"; change_sq (`(id 5 == (match (is_five 5) with | true -> 5 | false -> 4))); dump "1" -let _ = assert_by_tactic (id 5 == 5) tau2 +let _ = assert (id 5 == 5) by tau2 // [@plugin] // let tau3 = fun () -> dump "0"; // change_sq (`(5 == 5)); // dump "1" -// let _ = assert_by_tactic (id 5 == 5) tau3 +// let _ = assert (id 5 == 5) by tau3 diff --git a/examples/native_tactics/Clear.fst b/examples/native_tactics/Clear.fst index d0b90f9e2b7..c729329a182 100644 --- a/examples/native_tactics/Clear.fst +++ b/examples/native_tactics/Clear.fst @@ -32,7 +32,7 @@ let tau1 = fun () -> exact (`p) let l1 (x : bool) (y : int) (z : unit) = - assert_by_tactic (phi ==> (psi ==> xi)) tau1 + assert (phi ==> (psi ==> xi)) by tau1 () let clear_all_of_type (t : typ) : Tac unit = @@ -57,4 +57,4 @@ let tau2 = fun () -> let e = cur_env () in guard (List.length (binders_of_env e) = n - 2) let l2 (x : int) (y : bool) (z : int) = - assert_by_tactic (phi ==> (psi ==> xi)) tau2 + assert (phi ==> (psi ==> xi)) by tau2 () diff --git a/examples/native_tactics/Clear.fst.hints b/examples/native_tactics/Clear.fst.hints index 61c0e748ab1..e589a7fb40e 100644 --- a/examples/native_tactics/Clear.fst.hints +++ b/examples/native_tactics/Clear.fst.hints @@ -1,5 +1,5 @@ [ - "9\u0001…¹#ù7‰ HYÚö¡®\u0003", + "âÆÑ«5Ðï\u001d”îý\u000b\u0003Êþæ", [ [ "Clear.l2", @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "function_token_typing_Clear.p", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "77a06acd0215101f3c6e4ec45fe28e4f" + "117099c7774147d25967c79e01d8238d" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Cut.fst b/examples/native_tactics/Cut.fst index 22a13d1da1e..cb6c6008b8c 100644 --- a/examples/native_tactics/Cut.fst +++ b/examples/native_tactics/Cut.fst @@ -34,5 +34,5 @@ let tau = exact (`p1)) let _ = - assert_by_tactic phi tau + assert phi by tau () diff --git a/examples/native_tactics/Cut.fst.hints b/examples/native_tactics/Cut.fst.hints index 379e6eb40e3..87938dccc8e 100644 --- a/examples/native_tactics/Cut.fst.hints +++ b/examples/native_tactics/Cut.fst.hints @@ -1 +1 @@ -[ "‡ÎÖ\u001d´*4\u0015˜¦ò:žÂúV", [] ] \ No newline at end of file +[ "%r\n\u0015c?ÆÉ£|‘¢\"\u001d", [] ] \ No newline at end of file diff --git a/examples/native_tactics/DependentSynth.fst.hints b/examples/native_tactics/DependentSynth.fst.hints index 67a9de1ff4e..aadb5961436 100644 --- a/examples/native_tactics/DependentSynth.fst.hints +++ b/examples/native_tactics/DependentSynth.fst.hints @@ -11,7 +11,7 @@ "equation_DependentSynth.myty", "int_typing", "unit_typing" ], 0, - "b41efc8461391fa22a8301468f098f7d" + "93b83996fd6c4e1260ac082d88996502" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Evens.Test.fst b/examples/native_tactics/Evens.Test.fst index bbb58d8d473..9c31f926f80 100644 --- a/examples/native_tactics/Evens.Test.fst +++ b/examples/native_tactics/Evens.Test.fst @@ -19,5 +19,5 @@ open FStar.Tactics #set-options "--__temp_fast_implicits" let even_test () = - assert_by_tactic (even (normalize_term (nat2unary 1024))) - prove_even + assert (even (normalize_term (nat2unary 1024))) + by prove_even () diff --git a/examples/native_tactics/Evens.Test.fst.hints b/examples/native_tactics/Evens.Test.fst.hints index 79d9cc1dfd5..c15af710b8a 100644 --- a/examples/native_tactics/Evens.Test.fst.hints +++ b/examples/native_tactics/Evens.Test.fst.hints @@ -1 +1 @@ -[ "FÂà|Ä™Uá†N·á7À¸", [] ] \ No newline at end of file +[ "TåS–ßHƵ¨{ðûo»u\u0014", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Evens.fst b/examples/native_tactics/Evens.fst index ce59ede23ac..d7e20c5be90 100644 --- a/examples/native_tactics/Evens.fst +++ b/examples/native_tactics/Evens.fst @@ -33,11 +33,11 @@ let evenSSn (n: unary_nat) : Lemma (requires even n) (ensures even (US (US n))) = // What's the proper way to do this? - assert_by_tactic (even n ==> even (US (US n))) - (fun () -> ignore (implies_intro ()); - squash_intro (); - apply (`Even_SSn); - assumption ()) + assert (even n ==> even (US (US n))) + by (ignore (implies_intro ()); + squash_intro (); + apply (`Even_SSn); + assumption ()) [@plugin] let prove_even () : Tac unit = ignore (repeat (fun () -> apply_lemma (`evenSSn))); diff --git a/examples/native_tactics/Evens.fst.hints b/examples/native_tactics/Evens.fst.hints index 94cc32d614d..42e0e93a648 100644 --- a/examples/native_tactics/Evens.fst.hints +++ b/examples/native_tactics/Evens.fst.hints @@ -1,5 +1,5 @@ [ - "\\ÎÆÖ'Y_‹h)‰\u0011‰£ˆI", + "‹_tVT|,u凪ÜÁÅçn", [ [ "Evens.unary_nat", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "13c7ec81db1a23ff6480f62a38a8d7c9" + "78f72f83c648e791ba585476d828482a" ], [ "Evens.__proj__US__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_7094be438dbc16658c0caec70fa7452e" ], 0, - "9e5e5379ef4906ce87a8353f516adf7a" + "4c439f6e3c50d33fd6414db4394eeed4" ], [ "Evens.even", @@ -30,7 +30,7 @@ 1, [ "@query", "assumption_Evens.unary_nat__uu___haseq" ], 0, - "bd8acf739e97dc7b47739ac8c07afa0a" + "dc6b724e0f886b72f938c5de118e441a" ], [ "Evens.__proj__Even_SSn__item__n", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_6b35b246e3f3e217f09d76d285c6fcd3" ], 0, - "f2cbefe140f6fc9cb8e2d3be12525608" + "82247e9be453c643dede27e98dcb0a43" ], [ "Evens.__proj__Even_SSn__item___1", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_6b35b246e3f3e217f09d76d285c6fcd3" ], 0, - "88e7148cc78c0c2fca5a6d005bf9e4b7" + "852f856b2e5464b2881b218e9f8b8b89" ], [ "Evens.nat2unary", @@ -67,14 +67,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "e853c6cb8ecb59a61c2e50f4fe47500a" + "b421daf6ca467b599240d87734d904b2" ], [ "Evens.even0", @@ -86,7 +86,7 @@ "equality_tok_Evens.U0@tok", "typing_tok_Evens.Even0@tok" ], 0, - "4b4b2804b17529cbfab3da6caac59967" + "d3e1603c71b66639b9d3acee762f83ac" ], [ "Evens.evenSSn", @@ -95,7 +95,7 @@ 1, [ "@query", "true_interp" ], 0, - "6cda79d7e70d16857c39492a0cf7d48e" + "40c81c23016a5e0c59cce5fa3d918be6" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Fail.fst b/examples/native_tactics/Fail.fst index 306e836f96e..0e6f221e164 100644 --- a/examples/native_tactics/Fail.fst +++ b/examples/native_tactics/Fail.fst @@ -34,4 +34,4 @@ let tau () : Tac unit = apply (`g); exact (`vq) -let _ = assert_by_tactic r tau +let _ = assert r by tau () diff --git a/examples/native_tactics/Fail.fst.hints b/examples/native_tactics/Fail.fst.hints index 827d4f0883c..da8e4c50ad9 100644 --- a/examples/native_tactics/Fail.fst.hints +++ b/examples/native_tactics/Fail.fst.hints @@ -1 +1 @@ -[ "Ô8sÛG?Fk\u0002`\u001a\nËÿûS", [] ] \ No newline at end of file +[ "á\u0015šà¶\u0000CeQã¨1Z)gh", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Imp.fst.hints b/examples/native_tactics/Imp.fst.hints index 6225e607971..87d2917ebc9 100644 --- a/examples/native_tactics/Imp.fst.hints +++ b/examples/native_tactics/Imp.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Imp.f" ], 0, - "94e2e70a30d25ed677a1b97eae0026c1" + "8ee480b70afa6178f65650dfedc8b062" ], [ "Imp.uu___4", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_Imp.g" ], 0, - "18878c87d36c7be78504094b4177a73a" + "c0e62636ce24d41a569c946418c205ab" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Logic.fst b/examples/native_tactics/Logic.fst index 3b390ffe75b..dc35ed30340 100644 --- a/examples/native_tactics/Logic.fst +++ b/examples/native_tactics/Logic.fst @@ -33,4 +33,4 @@ let tau () : Tac unit = qed () let _ = - assert_by_tactic (phi /\ xi ==> psi \/ phi) tau + assert (phi /\ xi ==> psi \/ phi) by tau () diff --git a/examples/native_tactics/Logic.fst.hints b/examples/native_tactics/Logic.fst.hints index 7b92a631193..46732491b2f 100644 --- a/examples/native_tactics/Logic.fst.hints +++ b/examples/native_tactics/Logic.fst.hints @@ -1 +1 @@ -[ "¨\u001b\u0003‚*Æd\rúÿ÷5V\u0003\n=", [] ] \ No newline at end of file +[ "­aZ\u0011½SUÈgöÇ ™ñ\\~", [] ] \ No newline at end of file diff --git a/examples/native_tactics/MApply.fst b/examples/native_tactics/MApply.fst index bc88db1be1f..98af9862db5 100644 --- a/examples/native_tactics/MApply.fst +++ b/examples/native_tactics/MApply.fst @@ -27,17 +27,17 @@ assume val f_sq : squash p -> squash q assume val f_unsq : squash p -> q let _ = - assert_by_tactic q (fun () -> mapply (quote lem_imp); - mapply (quote x)) + assert q by (mapply (quote lem_imp); + mapply (quote x)) let _ = - assert_by_tactic q (fun () -> mapply (quote lem); - mapply (quote x)) + assert q by (mapply (quote lem); + mapply (quote x)) let _ = - assert_by_tactic q (fun () -> mapply (quote f_sq); - mapply (quote x)) + assert q by (mapply (quote f_sq); + mapply (quote x)) let _ = - assert_by_tactic q (fun () -> mapply (quote f_unsq); - mapply (quote x)) + assert q by (mapply (quote f_unsq); + mapply (quote x)) diff --git a/examples/native_tactics/Nest.fst b/examples/native_tactics/Nest.fst index 5bbf5925762..b54c3f58c47 100644 --- a/examples/native_tactics/Nest.fst +++ b/examples/native_tactics/Nest.fst @@ -22,4 +22,4 @@ open FStar.Tactics [@plugin] let tau = fun () -> pointwise (fun () -> pointwise trefl; trefl ()) -let _ = assert_by_tactic (3 == 3) tau +let _ = assert (3 == 3) by tau () diff --git a/examples/native_tactics/Nest.fst.hints b/examples/native_tactics/Nest.fst.hints index 37d99d66cf6..c73b029ae30 100644 --- a/examples/native_tactics/Nest.fst.hints +++ b/examples/native_tactics/Nest.fst.hints @@ -1 +1 @@ -[ "\u001b¾÷m\u0004¿·á’2¿â»ÎÚ", [] ] \ No newline at end of file +[ "E“=ºùÄGßán\u0014‚›½Ã", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Normalization.fst b/examples/native_tactics/Normalization.fst index 7b3e4052d27..c697639ed5d 100644 --- a/examples/native_tactics/Normalization.fst +++ b/examples/native_tactics/Normalization.fst @@ -47,49 +47,45 @@ let def_of (#t:Type) (x:t) : Tac term = let add_1 (x:int) : int = x + 1 (* add_2 is defined to be (x + 1) + 1 *) -let add_2 (x:int) : int = synth_by_tactic (fun () -> normalize [primops; delta] (add_1 (add_1 x))) +let add_2 (x:int) : int = _ by (normalize [primops; delta] (add_1 (add_1 x))) (* `four` is defined as `4` ... *) -let four : int = synth_by_tactic (fun () -> normalize [primops; delta] (add_2 2)) +let four : int = _ by (normalize [primops; delta] (add_2 2)) (* .. as we can check by inspecting its definition *) -let _ = assert_by_tactic True - (fun () -> - let t = def_of four in - if compare_term t (`4) = FStar.Order.Eq - then () - else fail "Test 1") +let _ = assert True + by (let t = def_of four in + if compare_term t (`4) = FStar.Order.Eq + then () + else fail "Test 1") (* If we only allow for Delta steps, then there's no primitive computation and we * end up with (2 + 1) + 1 *) -let four' : int = synth_by_tactic (fun () -> normalize [delta] (add_2 2)) +let four' : int = _ by (normalize [delta] (add_2 2)) -let _ = assert_by_tactic True - (fun () -> - let t = def_of four' in - if compare_term t (`((2 + 1) + 1)) = FStar.Order.Eq - then () - else fail "Test 2") +let _ = assert True + by (let t = def_of four' in + if compare_term t (`((2 + 1) + 1)) = FStar.Order.Eq + then () + else fail "Test 2") (* Here, we allow for primitive computation but don't allow for `add_2` to be expanded to * its definition, so the final result is `add_2 1` *) let unfold_add_1: norm_step = delta_only ["Normalization.add_1"] -let three : int = synth_by_tactic - (fun () -> normalize [delta; unfold_add_1; primops] (add_2 (add_1 0))) +let three : int = _ by (normalize [delta; unfold_add_1; primops] (add_2 (add_1 0))) -let _ = assert_by_tactic True - (fun () -> - let t = def_of three in - if compare_term t (`(add_2 1)) = FStar.Order.Eq - then () - else fail "Test 3") +let _ = assert True + by (let t = def_of three in + if compare_term t (`(add_2 1)) = FStar.Order.Eq + then () + else fail "Test 3") (* Writing a function that normalizes its argument does not work! The tactic runs * when this definition is type-checked, and not when it's called. So, this function is just an * identity function with no special semantics. *) let does_not_normalize (#t:Type) (x:t) : t = - synth_by_tactic #t #unit (fun () -> normalize [primops; delta] x) + _ by (normalize [primops; delta] x) let four'' : int = does_not_normalize (2+2) @@ -97,10 +93,9 @@ let four'' : int = does_not_normalize (2+2) * *semantically* equal to 4, but not syntactically as the following tests show *) let _ = assert (four'' == 4) -let _ = assert_by_tactic True - (fun () -> - let t = def_of four'' in - let s = `(does_not_normalize #int (2 + 2)) in - if compare_term t s = FStar.Order.Eq - then () - else fail "Test 4") +let _ = assert True + by (let t = def_of four'' in + let s = `(does_not_normalize #int (2 + 2)) in + if compare_term t s = FStar.Order.Eq + then () + else fail "Test 4") diff --git a/examples/native_tactics/Plugins.Test.fst.hints b/examples/native_tactics/Plugins.Test.fst.hints index 0bf5daaf70b..c737423b249 100644 --- a/examples/native_tactics/Plugins.Test.fst.hints +++ b/examples/native_tactics/Plugins.Test.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d460f973711eb966810296a2c9980d5c" + "8c436a38a6662653bc52f34a7ef3a171" ], [ "Plugins.Test.uu___1", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ee2aeca20893d803087ae196ae8cf2a2" + "47dba564adb0eaadd55a17eb6e45a3a4" ], [ "Plugins.Test.uu___1", @@ -32,7 +32,7 @@ 1, [ "@query" ], 0, - "9699fcf56b8cc138643693e93ea5dcfa" + "aeadbb68c5c7f210f57bad2e7c43c35d" ], [ "Plugins.Test.uu___2", @@ -46,7 +46,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3996c97bc7ad2d72248a4b833d91ae80" + "57f55d87fdfd0d7b4c5f2061216bb2c7" ], [ "Plugins.Test.uu___2", @@ -55,7 +55,7 @@ 1, [ "@query" ], 0, - "51481cc1df9c6b7f0ac411aa8defe373" + "69207933eccce4dad566bf31c21652f3" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Print.Test.fst b/examples/native_tactics/Print.Test.fst index 61158131480..9c5f28899d5 100644 --- a/examples/native_tactics/Print.Test.fst +++ b/examples/native_tactics/Print.Test.fst @@ -19,5 +19,5 @@ open FStar.Tactics open Print let test_print_goal1 = - assert_by_tactic (forall (y:int). y==0 ==> 0==y) - (fun () -> just_print "something") + assert (forall (y:int). y==0 ==> 0==y) + by (just_print "something") diff --git a/examples/native_tactics/Print.Test.fst.hints b/examples/native_tactics/Print.Test.fst.hints index 5b0a81a88c9..dc54eae9f7d 100644 --- a/examples/native_tactics/Print.Test.fst.hints +++ b/examples/native_tactics/Print.Test.fst.hints @@ -1,5 +1,5 @@ [ - "G\nãMÈØ­$7þß•Ç9ÅÖ", + "Þ\u0013È\u0007\u0011\u0015ø\b·Ïzá¢Üïo", [ [ "Print.Test.test_print_goal1", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d5c6ad5d77b38916ae5bfd56c643810e" + "499d035be809b6c82c1af2134f8f66a9" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Pruning.fst b/examples/native_tactics/Pruning.fst index 65e5f12dc59..4aeff12bd4e 100644 --- a/examples/native_tactics/Pruning.fst +++ b/examples/native_tactics/Pruning.fst @@ -80,7 +80,7 @@ let tau1 = // This one should be sent in a pruned context -let _ = assert_by_tactic (rev [1;2] == [2;1]) tau1 +let _ = assert (rev [1;2] == [2;1]) by tau1 () [@plugin] let tau2 = @@ -96,4 +96,4 @@ let tau2 = // First one should go to the SMT, also in pruned context -let _ = assert_by_tactic (rev [1;2] == [2;1] /\ 1 == 1) tau2 +let _ = assert (rev [1;2] == [2;1] /\ 1 == 1) by tau2 () diff --git a/examples/native_tactics/Pruning.fst.hints b/examples/native_tactics/Pruning.fst.hints index c046c23fff4..123420b2d0e 100644 --- a/examples/native_tactics/Pruning.fst.hints +++ b/examples/native_tactics/Pruning.fst.hints @@ -1,5 +1,5 @@ [ - "ð“\u0004\u00024€\u0005l8ãÑ\u000e\u000b\u0017èè", + "~¿:òšð\t¯ü7Ç–\u0016\"ì", [ [ "Pruning.f", @@ -8,7 +8,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "e62e55e9ac82f85652b2333286a0c2c5" + "85881eb556c84b37f1b3adadd8733fda" ], [ "Pruning.uu___4", @@ -31,10 +31,10 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "89ee45f936c9dbaa22ab57f8033bed01" + "93fad5839f0e63576cf34c9c5fb28338" ], [ - "Pruning.uu___11", + "Pruning.uu___13", 1, 4, 2, @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "36c5f4918eea1a65bb7d652ef565d284" + "983240f67da4fd45df15e6fe0dfefdd1" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Registers.List.fst.hints b/examples/native_tactics/Registers.List.fst.hints index 9ea945aa34a..cdfd85d4176 100644 --- a/examples/native_tactics/Registers.List.fst.hints +++ b/examples/native_tactics/Registers.List.fst.hints @@ -26,7 +26,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "2d9581b101eda29cf842b7513468f817" + "10c3f6520510824e1ce3339e42fc69e1" ], [ "Registers.List.const_map_n", @@ -35,16 +35,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "4ff423471992031bb951a478a1d20b15" + "0eca4e0995c9ed771025eb2cc90c2acc" ], [ "Registers.List.identity_map", @@ -53,16 +51,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "0bfa17d598df586ca1831433bb0db729" + "26693776c57dc9c2e665b96f3e22e0c4" ], [ "Registers.List.eta_map", @@ -70,17 +66,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "2ec99f9161c8686a0857f2893ad82eac" + "1862cdb7aabba8182a32a224788fcb3b" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Rename.fst b/examples/native_tactics/Rename.fst index e4d6f7ed3f3..3f3da5db1fd 100644 --- a/examples/native_tactics/Rename.fst +++ b/examples/native_tactics/Rename.fst @@ -34,14 +34,13 @@ let tau = exact (`p) let l1 (x : bool) (y : int) (z : unit) = - assert_by_tactic (phi ==> (psi ==> xi)) tau + assert (phi ==> (psi ==> xi)) by tau () // this error should show pretty binders too (* let _ = *) -(* assert_by_tactic (False ==> True) *) -(* (fun () -> *) -(* let h0 = implies_intro () in *) -(* let x = quote (fun x -> 1 + x) in *) -(* let t = mk_e_app x [pack (Tv_Const C_Unit)] in *) -(* let _ = tc t in *) -(* trivial ()) *) +(* assert (False ==> True) *) +(* by (let h0 = implies_intro () in *) +(* let x = quote (fun x -> 1 + x) in *) +(* let t = mk_e_app x [pack (Tv_Const C_Unit)] in *) +(* let _ = tc t in *) +(* trivial ()) *) diff --git a/examples/native_tactics/Rename.fst.hints b/examples/native_tactics/Rename.fst.hints index 24f8b01dcd5..75842e55ec0 100644 --- a/examples/native_tactics/Rename.fst.hints +++ b/examples/native_tactics/Rename.fst.hints @@ -1 +1 @@ -[ "ž0DGCt™\u0013,ÐV\u0016ö |Ì", [] ] \ No newline at end of file +[ "ŸŸ@=Ú—\b¨\u001aGúì:4 ", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Retype.fst b/examples/native_tactics/Retype.fst index 694fc93b2f8..a7b8865c48b 100644 --- a/examples/native_tactics/Retype.fst +++ b/examples/native_tactics/Retype.fst @@ -61,4 +61,4 @@ let tau () : Tac unit = fail "should be impossible" let _ = - assert_by_tactic (True ==> True ==> True ==> p ==> q) tau + assert (True ==> True ==> True ==> p ==> q) by tau () diff --git a/examples/native_tactics/Retype.fst.hints b/examples/native_tactics/Retype.fst.hints index d175fddedae..cdc6e22297a 100644 --- a/examples/native_tactics/Retype.fst.hints +++ b/examples/native_tactics/Retype.fst.hints @@ -1 +1 @@ -[ "\u0015Á5h¦¯ûCë·W–懘$", [] ] \ No newline at end of file +[ "_\u0000AnkOÒ†\u0015`¢,ç\u001cm", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Sequences.fst b/examples/native_tactics/Sequences.fst index 47180828454..face38bf124 100644 --- a/examples/native_tactics/Sequences.fst +++ b/examples/native_tactics/Sequences.fst @@ -103,8 +103,8 @@ let tau = fun () -> or_else sequence_pruning idtac let test (#a:Type0) (s:seq a) (x:a) (from:nat) (to:nat{from<=to /\ to<=length s}) (l:seq a) (y:nat) = assume (y == 17); //I would like to prune this out assume (l == snoc s x); //I would like to retain this fact from the local environment - assert_by_tactic (slice s from to == slice l from to) //would prefer to write this, and have the tactic switch to extensional equality - (tau) + assert (slice s from to == slice l from to) //would prefer to write this, and have the tactic switch to extensional equality + by tau () (* ////////////////// *) diff --git a/examples/native_tactics/Sequences.fst.hints b/examples/native_tactics/Sequences.fst.hints index 8908e0c0abb..0a241f25a78 100644 --- a/examples/native_tactics/Sequences.fst.hints +++ b/examples/native_tactics/Sequences.fst.hints @@ -1,5 +1,5 @@ [ - "¶:„bê}ÕkE½‰Û2¢x", + "Þ(æõërøC\u000f#\u001f´8òæ\\", [ [ "Sequences.unrefine_eq_lem", @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a4b6ecc1cd898d2be9a7bc1a3026706f" + "dc1ba673620aae3bfe42c325375f1971" ], [ "Sequences.test", @@ -21,7 +21,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", @@ -29,13 +28,13 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "true_interp", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "4c9a1142b52408ac36464c9bd0725c61" + "6d5ee262dc98f565d62405e53940c1e7" ], [ "Sequences.test", @@ -44,9 +43,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -58,17 +55,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2f31165bd40d954c464e64a8448716f5", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6aea8ef6600fce1e84d24892f02432e9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9b21d7f9d55f88197f4945f7f93d2b78", + "refinement_interpretation_Tm_refine_afaf4b57639ac7637b31f559ee7739fe", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "542e5685921d4384989e01094e44afa1" + "fee9e44820598e5c5032c8bf8fc45bc5" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Simple.Test.fst.hints b/examples/native_tactics/Simple.Test.fst.hints index aca2d92e9fc..5d4da1f5090 100644 --- a/examples/native_tactics/Simple.Test.fst.hints +++ b/examples/native_tactics/Simple.Test.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "ac0b15fdbcb151dd95a6a283b21ed0ee" + "af191779f9b255fc30aeb525b83d3941" ], [ "Simple.Test.test1", @@ -17,7 +17,7 @@ 1, [ "@query", "assumption_Simple.Test.t__uu___haseq" ], 0, - "37c6a2d49878ea9a33ef0d1847ca1f8e" + "44f12aef9c3c841aade823421b7520c1" ], [ "Simple.Test.test1", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "96f75543fae3de973e1bbfdf855cb918" + "d9d650a0c8c2e32adf9aac46d84a5259" ], [ "Simple.Test.test2", @@ -38,7 +38,7 @@ "assumption_Simple.Test.t__uu___haseq", "kinding_Simple.Test.t@tok" ], 0, - "666d8866b036d0b7a0e303e02ee30211" + "0980bf6f8de4b84fdc5b5b24532096a2" ], [ "Simple.Test.test2", @@ -47,7 +47,7 @@ 1, [ "@query" ], 0, - "8b89a253816ff0986c4db1fba7dfd5a8" + "f05f253f3019632fc59743b65a0d4f51" ], [ "Simple.Test.test3", @@ -59,7 +59,7 @@ "assumption_Simple.Test.t__uu___haseq", "kinding_Simple.Test.t@tok" ], 0, - "96dc5e4c2cfe5422480aa3ba7517cfb2" + "3856c076029b73767be544adcc3a7fb7" ], [ "Simple.Test.test3", @@ -68,7 +68,7 @@ 1, [ "@query" ], 0, - "d88a7f20055f261ff623cd9415d16813" + "a518f30710df59824dca6967c61db1b8" ], [ "Simple.Test.test4", @@ -77,7 +77,7 @@ 1, [ "@query" ], 0, - "004122143cb8c47106bfdf463d8fa0d7" + "1f9a083e4fedefde3f20e77aa032b9cd" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Simple.fst.hints b/examples/native_tactics/Simple.fst.hints index 2401765afc3..c16e879cfd9 100644 --- a/examples/native_tactics/Simple.fst.hints +++ b/examples/native_tactics/Simple.fst.hints @@ -13,11 +13,11 @@ "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "6a6cfb12d5e86203a06324a2a925e4f9" + "cc25c5a507e2f5c796caaeff7efb7a55" ], [ "Simple.poly_id", @@ -31,11 +31,11 @@ "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "b4435ccc2bae119d0829e0a2c9a4c871" + "886f7cfc9529c4f1ef42f9db4e00b333" ], [ "Simple.mk_n_list", @@ -43,17 +43,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "ce9b24be33930d3962f1f6f52ecc8b96" + "6ffddde6da6e18ae6ab923964404a213" ], [ "Simple.poly_list_id", @@ -66,7 +63,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "357689f5d8e32a33660e2be1c879eb82" + "8b4a1dc7599aa347aba7a5d94a108f6f" ], [ "Simple.eq_int_list", @@ -75,14 +72,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "equality_tok_Prims.LexTop@tok", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "subterm_ordering_Prims.Cons" ], 0, - "f43218cac84ce4e47716aa54f3ec0ed0" + "7d80447f388f7aaaa698dcdefe8c4ea2" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/SimpleTactic.Test.fst b/examples/native_tactics/SimpleTactic.Test.fst index 6a7df63e982..9ff72bfe385 100644 --- a/examples/native_tactics/SimpleTactic.Test.fst +++ b/examples/native_tactics/SimpleTactic.Test.fst @@ -17,4 +17,4 @@ module SimpleTactic.Test open FStar.Tactics open SimpleTactic let go () = - assert_by_tactic (id 1000 = 1000) test + assert (id 1000 = 1000) by test () diff --git a/examples/native_tactics/SimpleTactic.Test.fst.hints b/examples/native_tactics/SimpleTactic.Test.fst.hints index 57e594e7bb1..33e47010275 100644 --- a/examples/native_tactics/SimpleTactic.Test.fst.hints +++ b/examples/native_tactics/SimpleTactic.Test.fst.hints @@ -1 +1 @@ -[ "ŒªÅ4Ã\u0019\u0004\u0001άކø“\u0006¯", [] ] \ No newline at end of file +[ "Ø\fOŸÆ)÷Ó\"ó0M\u0018G\u001eé", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Simplifier.fst b/examples/native_tactics/Simplifier.fst index a7dba85bd6c..6585f53d5af 100644 --- a/examples/native_tactics/Simplifier.fst +++ b/examples/native_tactics/Simplifier.fst @@ -54,63 +54,63 @@ let test2 (r: ref int) = r := 10) <: St unit by simplify_c () -// let _ = assert_by_tactic (True /\ True) -// test_simplify -// let _ = assert_by_tactic (True \/ True) -// test_simplify -// let _ = assert_by_tactic (True \/ False) -// test_simplify -// let _ = assert_by_tactic (False \/ True) -// test_simplify - -// let _ = assert_by_tactic (False \/ (True /\ True)) -// test_simplify -// let _ = assert_by_tactic ((True /\ False) \/ (True /\ True)) -// test_simplify -// let _ = assert_by_tactic (False \/ ((True /\ False) \/ (True /\ True))) -// test_simplify - -// let _ = assert_by_tactic (False ==> True) -// test_simplify -// let _ = assert_by_tactic (False ==> False) -// test_simplify -// let _ = assert_by_tactic (True ==> True) -// test_simplify - -// let _ = assert_by_tactic ((False ==> False) ==> True) -// test_simplify -// let _ = assert_by_tactic (False ==> (False ==> False)) -// test_simplify -// let _ = assert_by_tactic ((False ==> False) ==> (True ==> True)) -// test_simplify -// let _ = assert_by_tactic ((True ==> True) ==> (False ==> False)) -// test_simplify - -// let _ = assert_by_tactic (~False) -// test_simplify -// let _ = assert_by_tactic (~(~True)) -// test_simplify - -// let _ = assert_by_tactic (forall (x:int). True) -// test_simplify -// let _ = assert_by_tactic (forall (x:int). ((True ==> True) ==> (False ==> False))) -// test_simplify - -// let _ = assert_by_tactic ((exists (x:int). False) ==> False) -// test_simplify -// let _ = assert_by_tactic (~(exists (x:int). False)) -// test_simplify -// let _ = assert_by_tactic (~(exists (x:int). ((True ==> True) ==> (True ==> False)))) -// test_simplify - -// let _ = assert_by_tactic (False <==> False) -// test_simplify -// let _ = assert_by_tactic ((False <==> False) <==> True) -// test_simplify -let _ = assert_by_tactic (False <==> (False <==> True)) - test_simplify - -let _ = assert_by_tactic ((exists (x:int). True) <==> True) - test_simplify -let _ = assert_by_tactic ((forall (x:int). False) <==> False) - test_simplify +let _ = assert (True /\ True) + by test_simplify () +let _ = assert (True \/ True) + by test_simplify () +let _ = assert (True \/ False) + by test_simplify () +let _ = assert (False \/ True) + by test_simplify () + +let _ = assert (False \/ (True /\ True)) + by test_simplify () +let _ = assert ((True /\ False) \/ (True /\ True)) + by test_simplify () +let _ = assert (False \/ ((True /\ False) \/ (True /\ True))) + by test_simplify () + +let _ = assert (False ==> True) + by test_simplify () +let _ = assert (False ==> False) + by test_simplify () +let _ = assert (True ==> True) + by test_simplify () + +let _ = assert ((False ==> False) ==> True) + by test_simplify () +let _ = assert (False ==> (False ==> False)) + by test_simplify () +let _ = assert ((False ==> False) ==> (True ==> True)) + by test_simplify () +let _ = assert ((True ==> True) ==> (False ==> False)) + by test_simplify () + +let _ = assert (~False) + by test_simplify () +let _ = assert (~(~True)) + by test_simplify () + +let _ = assert (forall (x:int). True) + by test_simplify () +let _ = assert (forall (x:int). ((True ==> True) ==> (False ==> False))) + by test_simplify () + +let _ = assert ((exists (x:int). False) ==> False) + by test_simplify () +let _ = assert (~(exists (x:int). False)) + by test_simplify () +let _ = assert (~(exists (x:int). ((True ==> True) ==> (True ==> False)))) + by test_simplify () + +let _ = assert (False <==> False) + by test_simplify () +let _ = assert ((False <==> False) <==> True) + by test_simplify () +let _ = assert (False <==> (False <==> True)) + by test_simplify () + +let _ = assert ((exists (x:int). True) <==> True) + by test_simplify () +let _ = assert ((forall (x:int). False) <==> False) + by test_simplify () diff --git a/examples/native_tactics/Simplifier.fst.hints b/examples/native_tactics/Simplifier.fst.hints index 34b860f0590..d7b408969f4 100644 --- a/examples/native_tactics/Simplifier.fst.hints +++ b/examples/native_tactics/Simplifier.fst.hints @@ -1 +1 @@ -[ "jÌ~OxH8v2‚@7\u001e\u001a", [] ] \ No newline at end of file +[ "Ø[±éšy£¯1åÈ[Ö·›á", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Split.Test.fst b/examples/native_tactics/Split.Test.fst index 4e379d30ad4..cd15dda3b68 100644 --- a/examples/native_tactics/Split.Test.fst +++ b/examples/native_tactics/Split.Test.fst @@ -18,7 +18,4 @@ open FStar.Tactics open Split let test = - assert_by_tactic (True /\ True) compiled_split - - - + assert (True /\ True) by compiled_split () diff --git a/examples/native_tactics/Split.Test.fst.hints b/examples/native_tactics/Split.Test.fst.hints index fd37f114388..30c1d58422a 100644 --- a/examples/native_tactics/Split.Test.fst.hints +++ b/examples/native_tactics/Split.Test.fst.hints @@ -1 +1 @@ -[ "2ºZNòz‡ŽÚG@eæ÷W", [] ] \ No newline at end of file +[ "¶Šý+–pz§¤\fSP‹", [] ] \ No newline at end of file diff --git a/examples/native_tactics/Split.fst.hints b/examples/native_tactics/Split.fst.hints index e500fecfef8..5b9c5e50c98 100644 --- a/examples/native_tactics/Split.fst.hints +++ b/examples/native_tactics/Split.fst.hints @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "51d039fbc90f0f3e9a566aab0eb0f2bc" + "4dfd344b032f0aada84bbd379a950371" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Syntax.fst b/examples/native_tactics/Syntax.fst index 38e5241f86b..5afc652b707 100644 --- a/examples/native_tactics/Syntax.fst +++ b/examples/native_tactics/Syntax.fst @@ -19,29 +19,26 @@ open FStar.Tactics open FStar.Reflection.Arith let quote_sanity_check = - assert_by_tactic True - (fun () -> - let t = quote (1+1) in - match inspect t with - | Tv_App _ _ -> () - | _ -> fail ("oops!: " ^ term_to_string t)) + assert True + by (let t = quote (1+1) in + match inspect t with + | Tv_App _ _ -> () + | _ -> fail ("oops!: " ^ term_to_string t)) let goal_sanity_check = - assert_by_tactic (True /\ True) - (fun () -> - let g = cur_goal () in - match term_as_formula g with - | And _ _ -> () - | _ -> fail ("oops!: " ^ term_to_string g)) + assert (True /\ True) + by (let g = cur_goal () in + match term_as_formula g with + | And _ _ -> () + | _ -> fail ("oops!: " ^ term_to_string g)) let test1 = 24 -let test2 = assert_by_tactic True - (fun () -> - let x = quote test1 in - match inspect x with - | Tv_FVar fv -> () - | _ -> fail "wat") +let test2 = assert True + by (let x = quote test1 in + match inspect x with + | Tv_FVar fv -> () + | _ -> fail "wat") let rec blah (t : term) : Tac term = @@ -65,79 +62,71 @@ let rec blah (t : term) : Tac term = | Tv_Unknown -> Tv_Unknown in pack tv -let _ = assert_by_tactic True - (fun () -> - let t = quote (1+1) in - let t' = blah t in - if term_eq t t' - then () - else fail "blah not an identity?") - -let _ = assert_by_tactic True - (fun () -> - let t = quote blah in - match inspect t with - | Tv_FVar _ -> () - | _ -> fail "Free variable did not return an FV") - -let _ = assert_by_tactic True - (fun () -> - let t = quote (5 == 2 + 3) in - match term_as_formula' t with - | Comp (Eq _) _ _ -> () - | f -> fail ("term_as_formula did not recognize an equality: " ^ formula_to_string f) - ) - -let _ = assert_by_tactic True - (fun () -> - let t = quote ((fun (x:int) -> x) 5) in +let _ = assert True + by (let t = quote (1+1) in + let t' = blah t in + if term_eq t t' + then () + else fail "blah not an identity?") + +let _ = assert True + by (let t = quote blah in + match inspect t with + | Tv_FVar _ -> () + | _ -> fail "Free variable did not return an FV") + +let _ = assert True + by (let t = quote (5 == 2 + 3) in + match term_as_formula' t with + | Comp (Eq _) _ _ -> () + | f -> fail ("term_as_formula did not recognize an equality: " ^ formula_to_string f)) + +let _ = assert True + by (let t = quote ((fun (x:int) -> x) 5) in match inspect t with | Tv_App _ _ -> () | Tv_Const (C_Int 5) -> fail "Quoted term got reduced!" | _ -> fail "What?") -let _ = assert_by_tactic True - (fun () -> - let t = quote ((x:int) -> x == 2 /\ False) in - match term_as_formula' t with - | Forall _ _ -> () - | _ -> fail ("This should be a forall: " ^ term_to_string t)) +let _ = assert True + by (let t = quote ((x:int) -> x == 2 /\ False) in + match term_as_formula' t with + | Forall _ _ -> () + | _ -> fail ("This should be a forall: " ^ term_to_string t)) // The implicit type argument for eq2 (==) mentions x and y, so this is not seen as an implication... // In detail, initially the type is `?u y x` for some unification variable `?u`, and unification // then resolves it to `(fun _ _ -> int) y x`, so `y` and `x` are still free. // // Tweaking inference to do some normalization could get rid of this, I think.. -let _ = assert_by_tactic True - (fun () -> - let t = quote ((y:int) -> (x:int) -> x + 2 == 5) in - match term_as_formula t with - | Implies _ _ -> fail "" // make it fail for now, but this is the wanted result, I think - | f -> print ("This should be an implication: " ^ formula_to_string f); - print "But that's a known issue..."; - ()) +let _ = assert True + by (let t = quote ((y:int) -> (x:int) -> x + 2 == 5) in + match term_as_formula t with + | Implies _ _ -> fail "" // make it fail for now, but this is the wanted result, I think + | f -> print ("This should be an implication: " ^ formula_to_string f); + print "But that's a known issue..."; + ()) open FStar.Tactics let arith_test1 = - assert_by_tactic True - (fun () -> let t = quote (1 + 2) in - match run_tm (is_arith_expr t) with - | Inr (Plus (Lit 1) (Lit 2)) -> print "alright!" - | Inl s -> fail ("oops: " ^ s) - | _ -> fail "different thing") + assert True + by (let t = quote (1 + 2) in + match run_tm (is_arith_expr t) with + | Inr (Plus (Lit 1) (Lit 2)) -> print "alright!" + | Inl s -> fail ("oops: " ^ s) + | _ -> fail "different thing") let arith_test2 (x : int) = - assert_by_tactic True - (fun () -> let t = quote (x + x) in - match run_tm (is_arith_expr t) with - | Inr (Plus (Atom 0 _) (Atom 0 _)) -> print "alright!" - | Inl s -> fail ("oops: " ^ s) - | _ -> fail "different thing") - -let _ = assert_by_tactic True - (fun () -> - let t = quote (let x = 2 in x + 6) in + assert True + by (let t = quote (x + x) in + match run_tm (is_arith_expr t) with + | Inr (Plus (Atom 0 _) (Atom 0 _)) -> print "alright!" + | Inl s -> fail ("oops: " ^ s) + | _ -> fail "different thing") + +let _ = assert True + by (let t = quote (let x = 2 in x + 6) in match inspect t with | Tv_Let r bv t1 t2 -> ( print ("r = " ^ (if r then "true" else "false")); @@ -147,9 +136,8 @@ let _ = assert_by_tactic True ) | _ -> fail "wat?") -let _ = assert_by_tactic True - (fun () -> - let t = quote (let rec f x = if (x <= 0) then 1 else f (x - 1) in f 5) in +let _ = assert True + by (let t = quote (let rec f x = if (x <= 0) then 1 else f (x - 1) in f 5) in match inspect t with | Tv_Let r bv t1 t2 -> ( print ("r = " ^ (if r then "true" else "false")); diff --git a/examples/native_tactics/Tutorial.fst.hints b/examples/native_tactics/Tutorial.fst.hints index 10adc8e6a20..f33b9c574e6 100644 --- a/examples/native_tactics/Tutorial.fst.hints +++ b/examples/native_tactics/Tutorial.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3e3df68b78a87b38646f61a57b032af0" + "df0e30cbfcb18779126a0900c0375d64" ], [ "Tutorial.ex3'", @@ -22,10 +22,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b23c233908858dbf71fe75ed6524963a" + "141eb10a21af3c2a2e48be4aca594f5f" ], [ "Tutorial.ex4", @@ -35,10 +35,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f1140855aa545433b79eedd5be40347b" + "27ffc1d6515cb49cfee5663b48f50ee9" ], [ "Tutorial.ex4", @@ -48,10 +48,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Minus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "45c72140bf798b8a17831b0f9e6f2d2f" + "d163dfa94816120e9e3dee40394fac9d" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/Unify.fst.hints b/examples/native_tactics/Unify.fst.hints index ada892d00db..2aad0d5cf07 100644 --- a/examples/native_tactics/Unify.fst.hints +++ b/examples/native_tactics/Unify.fst.hints @@ -6,12 +6,9 @@ 1, 2, 1, - [ - "@query", "equation_Unify.h", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], + [ "@query", "equation_Unify.h" ], 0, - "5b07899d292ee623797289f5e73e78a4" + "cc336bcd29a327ea9a6ab82c8e11c9aa" ] ] ] \ No newline at end of file diff --git a/examples/native_tactics/UnitTests.Test.fst b/examples/native_tactics/UnitTests.Test.fst index edce7c73e70..4c0bd4ea82c 100644 --- a/examples/native_tactics/UnitTests.Test.fst +++ b/examples/native_tactics/UnitTests.Test.fst @@ -18,4 +18,4 @@ module UnitTests.Test open FStar.Tactics open UnitTests -let _ = assert_by_tactic True (fun () -> let i = testnat 42 in ()) +let _ = assert True by (let i = testnat 42 in ()) diff --git a/examples/native_tactics/UnitTests.Test.fst.hints b/examples/native_tactics/UnitTests.Test.fst.hints index 687a790d9af..451883461e9 100644 --- a/examples/native_tactics/UnitTests.Test.fst.hints +++ b/examples/native_tactics/UnitTests.Test.fst.hints @@ -1 +1 @@ -[ "Kë¦IÉrÿΦüÁ‹/õ÷", [] ] \ No newline at end of file +[ "M³d×µZx\u007faQÏÅcÈýM", [] ] \ No newline at end of file diff --git a/examples/native_tactics/X64.Poly1305.Bitvectors_i.fst b/examples/native_tactics/X64.Poly1305.Bitvectors_i.fst index 01725b075b5..bb6b2c9e027 100644 --- a/examples/native_tactics/X64.Poly1305.Bitvectors_i.fst +++ b/examples/native_tactics/X64.Poly1305.Bitvectors_i.fst @@ -25,41 +25,39 @@ open FStar.UInt #reset-options "--smtencoding.elim_box true" let lemma_shr2 x = - assert_by_tactic (shift_right #64 x 2 == udiv #64 x 4) bv_tac + assert (shift_right #64 x 2 == udiv #64 x 4) by bv_tac () let lemma_shr4 x = - assert_by_tactic (shift_right #64 x 4 == udiv #64 x 16) bv_tac + assert (shift_right #64 x 4 == udiv #64 x 16) by bv_tac () let lemma_and_mod_n x = - assert_by_tactic (logand #64 x 3 == mod #64 x 4 /\ logand #64 x 15 == mod #64 x 16) - (fun () -> seq split bv_tac) + assert (logand #64 x 3 == mod #64 x 4 /\ logand #64 x 15 == mod #64 x 16) + by (seq split bv_tac) let lemma_clear_lower_2 x = - assert_by_tactic - (logand #8 x 0xfc == mul_mod #8 (udiv #8 x 4) 4) - bv_tac + assert (logand #8 x 0xfc == mul_mod #8 (udiv #8 x 4) 4) + by bv_tac () let lemma_and_constants x = - assert_by_tactic - (logand #64 x 0 == (0 <: uint_t 64) /\ - logand #64 x 0xffffffffffffffff == x) - (fun () -> seq split bv_tac) + assert + (logand #64 x 0 == (0 <: uint_t 64) /\ + logand #64 x 0xffffffffffffffff == x) + by (seq split bv_tac) let lemma_poly_constants x = - assert_by_tactic + assert (logand #64 x 0x0ffffffc0fffffff < (0x1000000000000000 <: uint_t 64) /\ logand #64 x 0x0ffffffc0ffffffc < (0x1000000000000000 <: uint_t 64) /\ mod #64 (logand #64 x 0x0ffffffc0ffffffc) 4 == (0 <: uint_t 64)) - (fun () -> split (); - split (); - bv_tac_lt 64; - bv_tac_lt 64; - bv_tac ()) + by (split (); + split (); + bv_tac_lt 64; + bv_tac_lt 64; + bv_tac ()) let lemma_and_commutes x y = - assert_by_tactic - (logand #64 x y == logand #64 y x) - bv_tac + assert (logand #64 x y == logand #64 y x) + by bv_tac () let lemma_bv128_64_64_and_helper x x0 x1 y y0 y1 z z0 z1 = // TODO @@ -73,52 +71,52 @@ let lemma_bv128_64_64_and x x0 x1 y y0 y1 z z0 z1 = #reset-options "--smtencoding.elim_box true --z3cliopt smt.case_split=3" let lemma_bytes_shift_constants0 x = - assert_by_tactic (shift_left #64 0 3 == (0 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 0 == (0x1 <: uint_t 64)) bv_tac + assert (shift_left #64 0 3 == (0 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 0 == (0x1 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants1 x = - assert_by_tactic (shift_left #64 1 3 == (8 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 8 == (0x100 <: uint_t 64)) bv_tac + assert (shift_left #64 1 3 == (8 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 8 == (0x100 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants2 x = - assert_by_tactic (shift_left #64 2 3 == (16 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 16 == (0x10000 <: uint_t 64)) bv_tac + assert (shift_left #64 2 3 == (16 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 16 == (0x10000 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants3 x = - assert_by_tactic (shift_left #64 3 3 == (24 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 24 == (0x1000000 <: uint_t 64)) bv_tac + assert (shift_left #64 3 3 == (24 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 24 == (0x1000000 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants4 x = - assert_by_tactic (shift_left #64 4 3 == (32 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 32 == (0x100000000 <: uint_t 64)) bv_tac + assert (shift_left #64 4 3 == (32 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 32 == (0x100000000 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants5 x = - assert_by_tactic (shift_left #64 5 3 == (40 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 40 == (0x10000000000 <: uint_t 64)) bv_tac + assert (shift_left #64 5 3 == (40 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 40 == (0x10000000000 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants6 x = - assert_by_tactic (shift_left #64 6 3 == (48 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 48 == (0x1000000000000 <: uint_t 64)) bv_tac + assert (shift_left #64 6 3 == (48 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 48 == (0x1000000000000 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants7 x = - assert_by_tactic (shift_left #64 7 3 == (56 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 56 == (0x100000000000000 <: uint_t 64)) bv_tac + assert (shift_left #64 7 3 == (56 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 56 == (0x100000000000000 <: uint_t 64)) by bv_tac () let lemma_bytes_and_mod0 x = - assert_by_tactic (logand #64 x (0x1 - 1) == mod #64 x 0x1) bv_tac + assert (logand #64 x (0x1 - 1) == mod #64 x 0x1) by bv_tac () let lemma_bytes_and_mod1 x = - assert_by_tactic (logand #64 x (0x100 - 1) == mod #64 x 0x100) bv_tac + assert (logand #64 x (0x100 - 1) == mod #64 x 0x100) by bv_tac () let lemma_bytes_and_mod2 x = - assert_by_tactic (logand #64 x (0x10000 - 1) == mod #64 x 0x10000) bv_tac + assert (logand #64 x (0x10000 - 1) == mod #64 x 0x10000) by bv_tac () let lemma_bytes_and_mod3 x = - assert_by_tactic (logand #64 x (0x1000000 - 1) == mod #64 x 0x1000000) bv_tac + assert (logand #64 x (0x1000000 - 1) == mod #64 x 0x1000000) by bv_tac () let lemma_bytes_and_mod4 x = - assert_by_tactic (logand #64 x (0x100000000 - 1) == mod #64 x 0x100000000) bv_tac + assert (logand #64 x (0x100000000 - 1) == mod #64 x 0x100000000) by bv_tac () let lemma_bytes_and_mod5 x = - assert_by_tactic (logand #64 x (0x10000000000 - 1) == mod #64 x 0x10000000000) bv_tac + assert (logand #64 x (0x10000000000 - 1) == mod #64 x 0x10000000000) by bv_tac () let lemma_bytes_and_mod6 x = - assert_by_tactic (logand #64 x (0x1000000000000 - 1) == mod #64 x 0x1000000000000) bv_tac + assert (logand #64 x (0x1000000000000 - 1) == mod #64 x 0x1000000000000) by bv_tac () let lemma_bytes_and_mod7 x = - assert_by_tactic (logand #64 x (0x100000000000000 - 1) == mod #64 x 0x100000000000000) bv_tac + assert (logand #64 x (0x100000000000000 - 1) == mod #64 x 0x100000000000000) by bv_tac () let lemma_bytes_and_mod x y = match y with diff --git a/examples/paradoxes/IOWPInconsistent.fst.hints b/examples/paradoxes/IOWPInconsistent.fst.hints index 667ba19acdb..691f97b69fb 100644 --- a/examples/paradoxes/IOWPInconsistent.fst.hints +++ b/examples/paradoxes/IOWPInconsistent.fst.hints @@ -7,14 +7,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_inversion", "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", + "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "unit_inversion" ], 0, - "f844d82adad01824bf39604b7704976f" + "005a979754f5b00892c82b9e8155c84c" ], [ "IOWPInconsistent.inj_injective", @@ -23,12 +22,11 @@ 1, [ "@query", "eq2-interp", "equation_IOWPInconsistent.inj", - "equation_IOWPInconsistent.prop", - "interpretation_Tm_abs_f0b2e79e0638237573385c8ed82603a7", + "interpretation_Tm_abs_a918fb8b14539788a7a532dc6f6a04a3", "token_correspondence_IOWPInconsistent.inj" ], 0, - "4a1e7b40512db033dcfb1682dbe4e824" + "c6460f1c251fc4c67ab563910e665d62" ], [ "IOWPInconsistent.f_injective", @@ -41,7 +39,7 @@ "projection_inverse_IOWPInconsistent.Intro__0" ], 0, - "1bead28ea8af1d6530009ba74a9a9807" + "b16437c3df432621076cd4070507fb69" ], [ "IOWPInconsistent.p0", @@ -49,14 +47,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_Exists", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_inversion", "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_Exists", + "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "unit_inversion" ], 0, - "ffc9a8fb8691bfb46ea2beeccca361bb" + "b54ad85466fe5ec710f47501cb8acb86" ], [ "IOWPInconsistent.bad1", @@ -64,13 +61,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_IOWPInconsistent.prop", - "equation_IOWPInconsistent.x0", + "@MaxIFuel_assumption", "@query", "equation_IOWPInconsistent.x0", "function_token_typing_IOWPInconsistent.p0", - "refinement_interpretation_Tm_refine_afe8b8d28b6da7225e41a8321ed1771a" + "refinement_interpretation_Tm_refine_6725bf085bac499ccfe650045e02384d" ], 0, - "581ce439219e5a0c66ca8583a606a634" + "480183878b728f6876dbec7e730dadd3" ], [ "IOWPInconsistent.bad2", @@ -79,11 +75,11 @@ 1, [ "@query", "equation_IOWPInconsistent.p0", - "equation_IOWPInconsistent.prop", "equation_IOWPInconsistent.x0", - "l_quant_interp_2d38465f60875957a608b41d7f423c20" + "equation_IOWPInconsistent.x0", + "l_quant_interp_3d5f610aa0975e34cfaa0a7c62d6f069" ], 0, - "5ff578ea8ebc5e98afb283b67f88864d" + "6104f79f2b52c2fab429380582d3d3e8" ], [ "IOWPInconsistent.out_wp_inconsistent", @@ -92,7 +88,7 @@ 1, [ "@query" ], 0, - "dfbc6805c252474c8cae599e76fbfc3b" + "f565acef10766256fbe7bb80c35a220a" ] ] ] \ No newline at end of file diff --git a/examples/paradoxes/InjectiveTypeFormers.Explicit.fst b/examples/paradoxes/InjectiveTypeFormers.Explicit.fst index ea92c81b8ef..069fa04a1ca 100644 --- a/examples/paradoxes/InjectiveTypeFormers.Explicit.fst +++ b/examples/paradoxes/InjectiveTypeFormers.Explicit.fst @@ -27,6 +27,8 @@ let q = i p let _ = intro_ambient q val false_of_pq : p q -> Lemma False + +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" let false_of_pq pq = FStar.Classical.( exists_elim @@ -34,14 +36,15 @@ let false_of_pq pq = (give_witness pq) (fun (a:(Type u#1 -> Type u#0){i a == q /\ ~(a q)}) -> isInj_admit p a w)) +#pop-options -let false_of_pq_squash (pq: p q) : False = +let false_of_pq_squash (pq: p q) : GTot False = false_of_pq pq; coerce (FStar.Squash.return_squash #c_False (match () with)) let not_pq : ~ (p q) = FStar.Classical.give_witness - #(p q -> False) false_of_pq_squash + #(p q -> GTot False) false_of_pq_squash let _ = intro_ambient not_pq diff --git a/examples/paradoxes/InjectiveTypeFormers.Explicit.fst.hints b/examples/paradoxes/InjectiveTypeFormers.Explicit.fst.hints index 8264e601ee8..77ea47d7409 100644 --- a/examples/paradoxes/InjectiveTypeFormers.Explicit.fst.hints +++ b/examples/paradoxes/InjectiveTypeFormers.Explicit.fst.hints @@ -1,5 +1,5 @@ [ - "¿eoôP—ÿ\u0001ÆRE/\u0018\u0011¿Ã", + "³\u000f\u0004ƒŒG\nÉãæ\u0003®zúÝ5", [ [ "InjectiveTypeFormers.Explicit.coerce", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "38f68c1052183bddb3220b43e3cdcd92" + "94005546aa762ba91cb8d0c5173ec7bd" ], [ "InjectiveTypeFormers.Explicit.lemma_of_squash", @@ -20,10 +20,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d8556485155e2961d1be8ae5e895572b" + "d879f7134803bb1e4d6196a78c2e60b1" ], [ "InjectiveTypeFormers.Explicit.false_of_pq", @@ -37,10 +37,10 @@ "equation_InjectiveTypeFormers.Explicit.q", "fuel_guarded_inversion_Prims.c_False", "function_token_typing_InjectiveTypeFormers.Explicit.p", - "refinement_interpretation_Tm_refine_0a9dd668d96098fcd9f12df1b6843b10" + "refinement_interpretation_Tm_refine_f8d77454f67999dfa4ab72b69f8c092c" ], 0, - "9e4c63809861d1a5789a89fb0557e9f0" + "0b23934a7c78de63cc782586bf5af402" ], [ "InjectiveTypeFormers.Explicit.not_pq", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "3057328527512a5a5b6d64468b7dc6a4" + "90e4b9858232904a7424adc13d28c264" ], [ "InjectiveTypeFormers.Explicit.pq", @@ -65,7 +65,7 @@ "l_not-interp", "typing_InjectiveTypeFormers.Explicit.not_pq" ], 0, - "73c8eda6e05c6030b45adb06fe774832" + "d06abf76e5e7e8b65ecdf4f10188b3b9" ] ] ] \ No newline at end of file diff --git a/examples/paradoxes/InjectiveTypeFormers.SMT.fst.hints b/examples/paradoxes/InjectiveTypeFormers.SMT.fst.hints index 74f2fa3e41d..356182a17ee 100644 --- a/examples/paradoxes/InjectiveTypeFormers.SMT.fst.hints +++ b/examples/paradoxes/InjectiveTypeFormers.SMT.fst.hints @@ -13,7 +13,7 @@ "lemma_InjectiveTypeFormers.SMT.isInj_admit" ], 0, - "5111ea0523de980022ac2aa1cb710b1d" + "cd35db8a792ce20479e6503da547ea10" ], [ "InjectiveTypeFormers.SMT.pq", @@ -28,7 +28,7 @@ "token_correspondence_InjectiveTypeFormers.SMT.p" ], 0, - "b84ae226cd4c074a4213f9bf2de3b855" + "2d090b8c6ddc421962b1f4e143331e2a" ] ] ] \ No newline at end of file diff --git a/examples/paradoxes/PropositionalExtensionalityInconsistent.fst b/examples/paradoxes/PropositionalExtensionalityInconsistent.fst index 86872fa9a89..040f54009e0 100644 --- a/examples/paradoxes/PropositionalExtensionalityInconsistent.fst +++ b/examples/paradoxes/PropositionalExtensionalityInconsistent.fst @@ -35,10 +35,13 @@ let propExt_Type_inconsistent () sub-singletons is also inconsistent. *) let sub_singleton = a:Type{forall (x y:a). x == y} let propExt_sub_singleton = forall (p1 p2:sub_singleton). (p1 <==> p2) <==> p1==p2 + +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" let propExt_sub_singleton_inconsistent() : Lemma (requires propExt_sub_singleton) (ensures False) = () //SMT finds the proof automatically, by noticing, e.g., T == () +#pop-options (* predicate extensionality essentially implies propositional diff --git a/examples/paradoxes/PropositionalExtensionalityInconsistent.fst.hints b/examples/paradoxes/PropositionalExtensionalityInconsistent.fst.hints index 634953ea011..23357b22c08 100644 --- a/examples/paradoxes/PropositionalExtensionalityInconsistent.fst.hints +++ b/examples/paradoxes/PropositionalExtensionalityInconsistent.fst.hints @@ -1,5 +1,5 @@ [ - "6Œé\u001a‚'JFÏáÄbÉB¨", + "\u0000\t\u0007\u0003g—=ï’£ñ„ByÐ", [ [ "PropositionalExtensionalityInconsistent.propExt_Type_inconsistent", @@ -9,22 +9,30 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_0da546199211a769a972571cdb3aec67", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_FStar.Pervasives.__internal_ocaml_attributes__uu___haseq", "constructor_distinct_Tm_unit", "equality_tok_Prims.T@tok", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.squash", + "equation_Prims.eqtype", "equation_Prims.l_True", + "equation_Prims.logical", "equation_Prims.squash", "equation_PropositionalExtensionalityInconsistent.propExt_Type", "fuel_guarded_inversion_Prims.c_True", + "function_token_typing_Prims.int", "function_token_typing_Prims.l_True", + "function_token_typing_Prims.unit", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_564db2f0aa0878b4d96c60508be3dd36", + "haseqTm_refine_f1ecc6ab6882a651504f328937700647", "kinding_FStar.Pervasives.__internal_ocaml_attributes@tok", "kinding_Prims.c_True@tok", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_564db2f0aa0878b4d96c60508be3dd36", + "refinement_kinding_Tm_refine_f1ecc6ab6882a651504f328937700647", "true_interp", "typing_Prims.hasEq", "typing_tok_Prims.T@tok", - "unit_inversion", "unit_typing" + "unit_inversion" ], 0, - "469ebe104111ea564064e55818055735" + "43448efe759404e7761f48af25bc5af0" ], [ "PropositionalExtensionalityInconsistent.propExt_sub_singleton_inconsistent", @@ -34,7 +42,6 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_0da546199211a769a972571cdb3aec67", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_Prims.T", "constructor_distinct_Tm_unit", "equality_tok_Prims.T@tok", "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.squash", @@ -42,13 +49,12 @@ "equation_PropositionalExtensionalityInconsistent.sub_singleton", "fuel_guarded_inversion_Prims.c_True", "function_token_typing_Prims.l_True", "kinding_Prims.c_True@tok", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_a5a4b976760c8ff6c395fec345e05f6d", - "true_interp", "typing_tok_Prims.T@tok", "unit_inversion", - "unit_typing" + "true_interp", "typing_tok_Prims.T@tok", "unit_inversion" ], 0, - "fe36f32c03b3b2505e647736f9d39678" + "93cdc2c8c3f136eb40d73100f005c003" ], [ "PropositionalExtensionalityInconsistent.predExt_Type_inconsistent", @@ -65,13 +71,13 @@ "equation_Prims.l_True", "equation_Prims.squash", "equation_PropositionalExtensionalityInconsistent.peq", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_5fc5a08fb5498efaa7f5bcfaa504ccf5", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "interpretation_Tm_abs_5f478a51ba82de0380aaee3374dfcd4b", + "interpretation_Tm_abs_a0be80dbcd7890445af35e952679947a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "true_interp", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "d8c2b0b0c73728ba584c6a1df23d708c" + "c41f08447e9915a392b16c0603a9b4ad" ], [ "PropositionalExtensionalityInconsistent.predExt_ss_inconsistent", @@ -87,17 +93,16 @@ "constructor_distinct_Prims.unit", "equality_tok_Prims.T@tok", "equation_Prims.l_True", "equation_Prims.squash", "equation_PropositionalExtensionalityInconsistent.peq_ss", - "equation_PropositionalExtensionalityInconsistent.sub_singleton", "fuel_guarded_inversion_Prims.c_True", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_065a0b6ca0215aa34971e45fd5239f9e", - "interpretation_Tm_abs_b89658086632e6f08a6c3a947077ae77", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "interpretation_Tm_abs_5ced8a58168ff59885f48f422ca1077e", + "interpretation_Tm_abs_fe99e319c4155387f8c311f51229dd3a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "true_interp", "typing_tok_Prims.T@tok", "unit_inversion", "unit_typing" ], 0, - "40037d1c1c73de32885a389a7780bb40" + "49e70ae669bd71d63227423df5b0deff" ] ] ] \ No newline at end of file diff --git a/examples/paradoxes/propImpredicativeAndNonStrictlyPositiveinductives.fst.hints b/examples/paradoxes/propImpredicativeAndNonStrictlyPositiveinductives.fst.hints index 94900bd493a..e928a805330 100644 --- a/examples/paradoxes/propImpredicativeAndNonStrictlyPositiveinductives.fst.hints +++ b/examples/paradoxes/propImpredicativeAndNonStrictlyPositiveinductives.fst.hints @@ -7,14 +7,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_inversion", "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", + "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "unit_inversion" ], 0, - "03b8c5f8e1ec4f01f61c2853d2b6ce6b" + "0c36020bd983710478629c756afb1591" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.inj_injective", @@ -24,12 +23,11 @@ [ "@query", "eq2-interp", "equation_PropImpredicativeAndNonStrictlyPositiveInductives.inj", - "equation_PropImpredicativeAndNonStrictlyPositiveInductives.prop", - "interpretation_Tm_abs_f0b2e79e0638237573385c8ed82603a7", + "interpretation_Tm_abs_9951d8bbbf25b027bdea9053a3abd95b", "token_correspondence_PropImpredicativeAndNonStrictlyPositiveInductives.inj" ], 0, - "b0fa71291d5e81f1460113678ff79b10" + "8bcab353ff9876a459f140375c86dc24" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.f_injective", @@ -42,7 +40,7 @@ "projection_inverse_PropImpredicativeAndNonStrictlyPositiveInductives.IntroA__0" ], 0, - "89030d8342aba7a8beb20f134579f110" + "bbd041a16cf14c1c4c40388e7f25ebc9" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.p0", @@ -50,14 +48,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_Exists", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_inversion", "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_Exists", + "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "unit_inversion" ], 0, - "77ee232c73008121f6b4d4873a95e039" + "f0baee22288c718241a18c029e6aa84b" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.bad1", @@ -66,13 +63,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_PropImpredicativeAndNonStrictlyPositiveInductives.prop", "equation_PropImpredicativeAndNonStrictlyPositiveInductives.x0", "function_token_typing_PropImpredicativeAndNonStrictlyPositiveInductives.p0", - "refinement_interpretation_Tm_refine_a76790a67dd7603a5ece16b7793a8efe" + "refinement_interpretation_Tm_refine_104aa28b549e0db1b9235eb785e4cc79" ], 0, - "753191d05a2b9ea6fe3883e81d70978b" + "84e153074d30240df814cf1a8cd61d81" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.bad2", @@ -82,12 +78,12 @@ [ "@query", "equation_PropImpredicativeAndNonStrictlyPositiveInductives.p0", - "equation_PropImpredicativeAndNonStrictlyPositiveInductives.prop", "equation_PropImpredicativeAndNonStrictlyPositiveInductives.x0", - "l_quant_interp_d3ca68f152efd3be60d9d9b53977e58f" + "function_token_typing_PropImpredicativeAndNonStrictlyPositiveInductives.p0", + "l_quant_interp_47acc1ba6e48f85f7ef66adc112f8bce" ], 0, - "e252bfd70cf5b96d75ecac54068277f4" + "534386a9c147e952465392496215ea24" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.bad", @@ -96,7 +92,7 @@ 1, [ "@query" ], 0, - "9995469b298a2463ec3375ed5a24fd6e" + "1341512a80545b1cdab711b9ff833e2f" ], [ "PropImpredicativeAndNonStrictlyPositiveInductives.worse", @@ -105,7 +101,7 @@ 1, [ "@query" ], 0, - "8f87f0774c7408b8488a6deea288d70c" + "34cd5dbf6b46a2aec724d99daaf2efd8" ] ] ] \ No newline at end of file diff --git a/examples/preorders/AllocST.fst.hints b/examples/preorders/AllocST.fst.hints index 446d6bb9ace..263664220d3 100644 --- a/examples/preorders/AllocST.fst.hints +++ b/examples/preorders/AllocST.fst.hints @@ -8,10 +8,10 @@ 1, [ "@query", "equation_AllocST.contains" ], 0, - "12aeab894b76d25488b403dc9fba70ea" + "be5e6777555b9063eb67c184404b2660" ], [ - "AllocST.1910", + "AllocST.1915", 1, 2, 1, @@ -23,7 +23,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "23ee24e9139b7091740c3ae47296eb34" + "d11e3f10b4fcf5107816eed5ba3b4d7b" ], [ "AllocST.ist_witnessed", @@ -38,7 +38,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "b6b965bfc781e285758ae3b162597dc8" + "5504c916cd0c4f5fcdac8fadb9a8da4a" ], [ "AllocST.ist_witnessed", @@ -53,7 +53,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "3f6915110bca8623797e8961283328f0" + "e911242aec4d111985d94673c77dd9f2" ], [ "AllocST.ist_witness", @@ -68,7 +68,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "57394e7c053709ee4305dcae0d7da936" + "74888c0c706e19cabb61e2fca9c7b599" ], [ "AllocST.ist_recall", @@ -83,7 +83,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "73c310a052356ca0b8a4fd377e6bc8a0" + "5195834e8f548ccac3b405b379145a61" ], [ "AllocST.ref", @@ -97,7 +97,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "8b6bf3ef1c05caff0d5149b754494f4f" + "8ab77cf7b2364512c6c87a16e27082fa" ], [ "AllocST.alloc", @@ -109,15 +109,15 @@ "equation_AllocST.heap_rel", "equation_FStar.Preorder.stable", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_NatHeap.heap", "lemma_AllocST.contains_lemma", + "refinement_interpretation_Tm_refine_81559c2acf3805dd0108c30eedb8fa98", "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96", - "refinement_interpretation_Tm_refine_d6eb0b9d9b7dbffddd8c83717854c2a8", "token_correspondence_AllocST.contains", "token_correspondence_AllocST.heap_rel", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "typing_NatHeap.ref" ], 0, - "20a5bf890addf745b985f24818414e07" + "cea8486b9de33ea3b970faa0169856ca" ], [ "AllocST.read", @@ -126,7 +126,7 @@ 1, [ "@query", "equation_AllocST.contains" ], 0, - "4d6fe1af9b44a1d680d279fa24c30d51" + "690ae61bedb8d97f3f9f50d14f617cf3" ], [ "AllocST.read", @@ -142,7 +142,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "e8b3eaac732dc8c3e4cf1bd094e52773" + "2c2bf72bbf96a2f5522a61e97130e4aa" ], [ "AllocST.write", @@ -151,7 +151,7 @@ 1, [ "@query", "equation_AllocST.contains" ], 0, - "991e36793ee889f9ba883bd5c6e45b13" + "408c8ea02a2817ed59ca7c23202df362" ], [ "AllocST.write", @@ -162,14 +162,14 @@ "@MaxIFuel_assumption", "@query", "equation_AllocST.contains", "equation_AllocST.heap_rel", "equation_AllocST.ref", "equation_FStar.Preorder.stable", "lemma_AllocST.contains_lemma", + "refinement_interpretation_Tm_refine_85621f6b13017c7f48eb2b0b56d56485", "refinement_interpretation_Tm_refine_a8458d0cd2385c727af0fa1002df0eb2", "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96", - "refinement_interpretation_Tm_refine_ce1bbc0041beb9be57b139c98a8c9ca1", "token_correspondence_AllocST.contains", "token_correspondence_AllocST.heap_rel" ], 0, - "467922f6b274233c52758c71a0cd5954" + "9e65c50f5452f5d5b1f2896638902fbe" ], [ "AllocST.recall", @@ -184,10 +184,10 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "569acbdbe45a24843dcd0269b3601fbe" + "eea3a7c3721e61f913f2dfd558df53a4" ], [ - "AllocST.12121", + "AllocST.11283", 1, 2, 1, @@ -199,7 +199,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "a816d34069707453c434782c97e2ae5f" + "e3e6f769b1e22822cafd1081b53f04e9" ], [ "AllocST.ist_witnessed", @@ -214,7 +214,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "7830cfc5d0de6d5e51b1a5d4df738745" + "3f8acd51f275524c8d8077992498ade6" ], [ "AllocST.ist_witnessed", @@ -229,7 +229,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "692ced871a2240acabcf32aa1f1a0355" + "74da814e27b969b652f983a0c6646b15" ], [ "AllocST.ist_witnessed", @@ -244,7 +244,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "0c8bd405a6ee5b9ccc85e95155d33bda" + "3ea4050214bbb49f5f691ed01dee8bf2" ], [ "AllocST.ist_witness", @@ -259,7 +259,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "687aa6067dcc9c2ccc608063cfae6f05" + "b0c9b0e139df157c916cb806c4e752c8" ], [ "AllocST.ist_recall", @@ -274,7 +274,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "878d6431454f55d96fb0105e0dfbe377" + "5ff8a3de1db9eab585e94ba6b64c29cb" ], [ "AllocST.ref", @@ -288,7 +288,7 @@ "token_correspondence_AllocST.heap_rel" ], 0, - "435697725985319892313698ac3eab58" + "4a66b952298ccd6db0bf6a23689fef98" ], [ "AllocST.read", @@ -297,7 +297,7 @@ 1, [ "@query", "equation_AllocST.contains" ], 0, - "a85285be6fc424bf352b445d04135514" + "a0e1790beccd7976d882ce4f550b434c" ], [ "AllocST.write", @@ -306,7 +306,7 @@ 1, [ "@query", "equation_AllocST.contains" ], 0, - "98672f51e5aa53e8b78e69a95e5b4e0d" + "53299fee37de7b6fe5081ca9698999aa" ] ] ] \ No newline at end of file diff --git a/examples/preorders/AllocSTwHeaps.fst.hints b/examples/preorders/AllocSTwHeaps.fst.hints index 08ba4fe1750..52bce5c368d 100644 --- a/examples/preorders/AllocSTwHeaps.fst.hints +++ b/examples/preorders/AllocSTwHeaps.fst.hints @@ -2,7 +2,7 @@ "ÚîMŒþµî1w[w\u001d‚\u001d", [ [ - "AllocSTwHeaps.1834", + "AllocSTwHeaps.1837", 1, 2, 1, @@ -14,7 +14,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "2b8cb6882b65e9aeed1c8b0616eb8b4c" + "06452c3b54aeb9ea806c917d65f04915" ], [ "AllocSTwHeaps.ist_witnessed", @@ -29,7 +29,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "56c005278b54599b64a57873e0be1ce9" + "1ba83f15802f15a06c2187dac2195d88" ], [ "AllocSTwHeaps.ist_witnessed", @@ -44,7 +44,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "d13dde5285d5c4fab2260788a1e82fb9" + "dd0ad2f0bab63f0edee26f817187f495" ], [ "AllocSTwHeaps.ist_witness", @@ -59,7 +59,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "d71bcedfdf6bef8a259019e73d97f688" + "b304516dffe1f8b8e23e18473d3b124e" ], [ "AllocSTwHeaps.ist_recall", @@ -74,7 +74,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "03af4a82df0641597f20e0f5c8a5d83d" + "f398cb3865a26695cc01ce0748dc1c21" ], [ "AllocSTwHeaps.contains_lemma", @@ -86,14 +86,14 @@ "equation_AllocSTwHeaps.contains", "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", "equation_FStar.ST.ref", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "19cd716d33b4882d18b2fc7fee662802" + "28b143f05df33265a82c989ce51e7c25" ], [ "AllocSTwHeaps.ref", @@ -106,7 +106,7 @@ "equation_FStar.Heap.trivial_preorder", "equation_FStar.Preorder.stable", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "lemma_AllocSTwHeaps.contains_lemma", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_AllocSTwHeaps.contains", "token_correspondence_AllocSTwHeaps.heap_rel", @@ -115,7 +115,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "a5a598af06954bb4dc7dd21f097a03ac" + "bae248fb2648c312d760f560c0b9c7a1" ], [ "AllocSTwHeaps.alloc", @@ -123,10 +123,9 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_AllocSTwHeaps.contains", "equation_AllocSTwHeaps.heap_rel", - "equation_AllocSTwHeaps.ref", "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "equation_AllocSTwHeaps.contains", + "equation_AllocSTwHeaps.heap_rel", "equation_AllocSTwHeaps.ref", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.Preorder.stable", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "lemma_AllocSTwHeaps.contains_lemma", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", @@ -134,11 +133,11 @@ "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5694aa6cb032c1a787a03895fe77cef3", "refinement_interpretation_Tm_refine_7d1ecf302207478c2c2b5f3c521f42f8", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a51928430ff7628816c2d836c4b2574e", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_interpretation_Tm_refine_ec74995abaf3afbf48bfcaea8401c27c", "token_correspondence_AllocSTwHeaps.contains", "token_correspondence_AllocSTwHeaps.heap_rel", "typing_AllocSTwHeaps.gen_ref", "typing_AllocSTwHeaps.upd", @@ -147,7 +146,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "6a039875ee754472c35b4afd57769559" + "eebd6fe2add577805f4e769168f9c9f0" ], [ "AllocSTwHeaps.read", @@ -161,7 +160,7 @@ "typing_AllocSTwHeaps.sel" ], 0, - "5675eb619ffa2d1866f91c384722deb8" + "52b16f526b97209d50d37b81c2897a05" ], [ "AllocSTwHeaps.write", @@ -174,12 +173,12 @@ "equation_FStar.ST.mref", "equation_FStar.ST.ref", "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", "refinement_interpretation_Tm_refine_7d1ecf302207478c2c2b5f3c521f42f8", - "refinement_interpretation_Tm_refine_a51928430ff7628816c2d836c4b2574e", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_interpretation_Tm_refine_ec74995abaf3afbf48bfcaea8401c27c", "typing_AllocSTwHeaps.upd", "typing_FStar.Heap.trivial_preorder" ], 0, - "accfff8b910eed04266207ea8e701dcf" + "bfef8371851a819ce6473733ae4066df" ], [ "AllocSTwHeaps.precise_write", @@ -192,12 +191,12 @@ "equation_FStar.ST.mref", "equation_FStar.ST.ref", "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", "refinement_interpretation_Tm_refine_7d1ecf302207478c2c2b5f3c521f42f8", - "refinement_interpretation_Tm_refine_a51928430ff7628816c2d836c4b2574e", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_interpretation_Tm_refine_ec74995abaf3afbf48bfcaea8401c27c", "typing_AllocSTwHeaps.upd", "typing_FStar.Heap.trivial_preorder" ], 0, - "464cb6396ab59e521681ee362310d6c1" + "cb1577318d46efbe0cdda9ba36265d9c" ], [ "AllocSTwHeaps.recall", @@ -205,14 +204,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_AllocSTwHeaps.contains", "equation_AllocSTwHeaps.heap_rel", - "equation_AllocSTwHeaps.ref", "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "equation_AllocSTwHeaps.contains", + "equation_AllocSTwHeaps.heap_rel", "equation_AllocSTwHeaps.ref", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.Preorder.stable", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "lemma_AllocSTwHeaps.contains_lemma", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_7d1ecf302207478c2c2b5f3c521f42f8", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_AllocSTwHeaps.contains", "token_correspondence_AllocSTwHeaps.heap_rel", @@ -221,10 +219,10 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "2501693253d976515055cba7ef9daa48" + "9b5274058cbbd474aba6972ffbb279f8" ], [ - "AllocSTwHeaps.8066", + "AllocSTwHeaps.8085", 1, 2, 1, @@ -236,7 +234,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "1f73d783b4c7b6e5e056ed60091f3b88" + "925a32be287b8c47ceedd704826fdeec" ], [ "AllocSTwHeaps.ist_witnessed", @@ -251,7 +249,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "cdbb26df0e808285aaada76f38fb3e1d" + "99d7a6abdc8f9702e29cbefc2b1a1d8b" ], [ "AllocSTwHeaps.ist_witnessed", @@ -266,7 +264,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "c7f00567730b40ca8d6b126946808f8f" + "13685a3456543c80b0bca3ac6f81a510" ], [ "AllocSTwHeaps.ist_witnessed", @@ -281,7 +279,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "bf4d5e913ebfcc71c5beb56871cd4da0" + "893719978da324cd1813bc4d974a0d00" ], [ "AllocSTwHeaps.ist_witness", @@ -296,7 +294,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "44b21beba1d69615701595c753c06470" + "40e1f8379d1fe79f38067f34c344dcda" ], [ "AllocSTwHeaps.ist_recall", @@ -311,7 +309,7 @@ "token_correspondence_AllocSTwHeaps.heap_rel" ], 0, - "a00d11796fe8f2aa4c54d52076a6097a" + "8d880aaba2411ad5bc2f08f646b3ac6a" ], [ "AllocSTwHeaps.ref", @@ -324,7 +322,7 @@ "equation_FStar.Heap.trivial_preorder", "equation_FStar.Preorder.stable", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "lemma_AllocSTwHeaps.contains_lemma", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_AllocSTwHeaps.contains", "token_correspondence_AllocSTwHeaps.heap_rel", @@ -333,7 +331,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "20b0d8ea8fca0aa23630d6b06cc95aa5" + "622d00c94450d7aac5bb34ed3e10eab7" ] ] ] \ No newline at end of file diff --git a/examples/preorders/Ariadne.fst.hints b/examples/preorders/Ariadne.fst.hints index 721710a9540..a9659f72f1c 100644 --- a/examples/preorders/Ariadne.fst.hints +++ b/examples/preorders/Ariadne.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8e56aef8018794744a1d5dbefab02033" + "a265c899938648b051856d8103afe616" ], [ "Ariadne.__proj__Ok__item__saved", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_433d08d8d7a72b888729343254dd5f4a" ], 0, - "8a3615a971f1086ef50b404f3f472556" + "645d4e75e8bbf83fc794f8e4c83fd9c4" ], [ "Ariadne.__proj__Recover__item__read", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_4866c1405a82ccc72c55102aa593b7ee" ], 0, - "b3d80e0274fc1760de50053983bdac36" + "f7a1d1c2a7594822568ca8653ff852c1" ], [ "Ariadne.__proj__Recover__item__other", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_4866c1405a82ccc72c55102aa593b7ee" ], 0, - "fb11451c4e7e32c350e424285c344cfb" + "b2fd1938889f527e8956e2cf36b98cc9" ], [ "Ariadne.__proj__Writing__item__written", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_4fff7e1627aecb8a01ff14db8bd98023" ], 0, - "27439ec867b3692b99fb0cb75deb1af7" + "8e8705e25a3dc0804eb319f593949ef1" ], [ "Ariadne.__proj__Writing__item__old", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_4fff7e1627aecb8a01ff14db8bd98023" ], 0, - "d697a89b7fdce47838903e181a14ec4e" + "c2685fb12f8a4b5ce250a2c62f6e3f74" ], [ "Ariadne.__proj__Crash__item__read", @@ -90,7 +90,7 @@ "refinement_interpretation_Tm_refine_afc93d5e07c3e90000704a2ee31d4fab" ], 0, - "53e1d3b766a0c472d8d1dadd9ffe6770" + "4e6f87287a82bd5cc87781380bcb6776" ], [ "Ariadne.__proj__Crash__item__other", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_afc93d5e07c3e90000704a2ee31d4fab" ], 0, - "5d6c19399fb3f75ad599595e994ea47c" + "49e83969dd98e3f9f842964929d31334" ], [ "Ariadne.counter", @@ -115,11 +115,11 @@ "assumption_Ariadne.case__uu___haseq", "equation_Ariadne.index", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "343d30e63e6b7055fb7403771632d861" + "149e33a54b7a8f04864b4245ca851efa" ], [ "Ariadne.saved", @@ -127,19 +127,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "disc_equation_Ariadne.Crash", "disc_equation_Ariadne.Ok", - "disc_equation_Ariadne.Recover", "disc_equation_Ariadne.Writing", - "equation_Ariadne.index", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_Ariadne.case", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "disc_equation_Ariadne.Crash", + "disc_equation_Ariadne.Ok", "disc_equation_Ariadne.Recover", + "disc_equation_Ariadne.Writing", "equation_Ariadne.index", + "equation_Prims.eqtype", "equation_Prims.nat", + "fuel_guarded_inversion_Ariadne.case", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c814565ce0ae7beaa173e5219e4c45d1" + "c066892972e58560b197a6b4fb9989f0" ], [ "Ariadne.preorder'", @@ -147,15 +145,14 @@ 2, 1, [ - "@query", "equation_Ariadne.record", - "equation_FStar.Preorder.preorder_rel", + "@query", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", - "interpretation_Tm_abs_a75a4b4452e062cb62993cc75a104fe9", - "l_quant_interp_fb8974c9a0913bc45b159a710f5815fa" + "interpretation_Tm_abs_94ac1d7db7c09cc7672544949d0efc27", + "l_quant_interp_2d93d1e2e978575420277bf29c7a470b" ], 0, - "e2b855766dd641843d4abea91495312b" + "e95c91c536580158cfaf5fae3bd2d6ad" ], [ "Ariadne.saved_backup", @@ -165,20 +162,19 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ariadne.ctr", "equation_Ariadne.index", "equation_Ariadne.preorder_", - "equation_Ariadne.record", "equation_FStar.Preorder.preorder", - "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", - "equation_FStar.ST.stable", "equation_Prims.nat", + "equation_Ariadne.record", "equation_FStar.ST.heap_rel", + "equation_FStar.ST.mref", "equation_FStar.ST.stable", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_c9a4506cd82e392629372f7bea6ad0b4", + "interpretation_Tm_abs_94ac1d7db7c09cc7672544949d0efc27", + "interpretation_Tm_abs_a5ca6fe12225dcddc723177173d17b3f", "kinding_Ariadne.counter@tok", "l_and-interp", - "l_quant_interp_fb8974c9a0913bc45b159a710f5815fa", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "l_quant_interp_2d93d1e2e978575420277bf29c7a470b", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e50eebbafecdb257461f6aebb21031dd", "typing_Ariadne.preorder_" ], 0, - "806756a86f7677a8ebf458b3ae561102" + "e0fc8808516d50fb72694afe82f5b194" ], [ "Ariadne.log_pre", @@ -195,12 +191,12 @@ "equation_FStar.Preorder.transitive", "equation_with_fuel_FStar.List.Tot.Base.strict_prefix_of.fuel_instrumented", "false_interp", "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_4bd8127a0fb603d288c0726096d22efe", + "interpretation_Tm_abs_b12da42f1278d37b8e165027f8b750bf", "lemma_FStar.List.Tot.Properties.strict_prefix_of_trans", "typing_Ariadne.backup" ], 0, - "7a79c28bdb6a190fd44ad321cd53f567" + "3f5d87e65e3cdaf4c03182239190d57e" ], [ "Ariadne.__proj__Protect__item__k", @@ -212,7 +208,7 @@ "projection_inverse_Ariadne.Protect_c" ], 0, - "41b166b0445c083fd07729ee433224be" + "2f81deb8824be12c64c77be4669608b5" ], [ "Ariadne.create", @@ -220,8 +216,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_Ariadne.Ok", "equation_Ariadne.index", "equation_Ariadne.saved", "equation_Ariadne.saved_backup", "equation_Ariadne.state", "equation_FStar.Monotonic.Heap.fresh", @@ -229,10 +224,9 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Preorder.preorder", "equation_FStar.ST.mref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_c9a4506cd82e392629372f7bea6ad0b4", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_a5ca6fe12225dcddc723177173d17b3f", "kinding_Ariadne.counter@tok", "l_and-interp", "l_or-interp", "lemma_FStar.Set.mem_empty", "lemma_FStar.TSet.lemma_mem_tset_of_set", @@ -245,17 +239,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "refinement_interpretation_Tm_refine_e50eebbafecdb257461f6aebb21031dd", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Ariadne.saved_backup", "typing_Ariadne.preorder_", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "01e0810a8f8c208a3d17d118080f1d99" + "520124c80750a1a6c3b65497dffdb59a" ], [ "Ariadne.pre0", @@ -269,7 +264,7 @@ "fuel_guarded_inversion_Ariadne.case" ], 0, - "4670ea64951d482003a41e663fb52a91" + "7a1586406de192b7b441cdbbfc8a54a9" ], [ "Ariadne.step0", @@ -283,7 +278,7 @@ "equation_Ariadne.state", "fuel_guarded_inversion_Ariadne.case" ], 0, - "309e6ad578119cdf299bed0f0cd17df8" + "e3eec4a586f842898ad580e3c5a732a6" ], [ "Ariadne.save", @@ -321,14 +316,15 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Ariadne.log_pre", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Prims.unit", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4bd8127a0fb603d288c0726096d22efe", - "interpretation_Tm_abs_c9a4506cd82e392629372f7bea6ad0b4", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_94ac1d7db7c09cc7672544949d0efc27", + "interpretation_Tm_abs_a5ca6fe12225dcddc723177173d17b3f", + "interpretation_Tm_abs_b12da42f1278d37b8e165027f8b750bf", "kinding_Ariadne.counter@tok", "kinding_Prims.list@tok", "l_and-interp", "l_or-interp", - "l_quant_interp_fb8974c9a0913bc45b159a710f5815fa", + "l_quant_interp_2d93d1e2e978575420277bf29c7a470b", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Addition", @@ -347,24 +343,24 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1f4e0855d939aa31f2c61b89dcc02e8b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_692460e85337d68ddb5b0b17393773b2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_86912c6282931d8f4ff264b08dd92cfe", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_ddc72791e0a7e8078ea3d12f3bc22aa8", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e50eebbafecdb257461f6aebb21031dd", - "refinement_interpretation_Tm_refine_e73f961ffc26408fdd83fe134a1b9432", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f67d546da9881cfa74376ca29779f011", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "string_inversion", "token_correspondence_Ariadne.saved_backup", "typing_Ariadne.backup", "typing_Ariadne.log_pre", "typing_Ariadne.preorder_", "typing_Ariadne.step0", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Set.singleton", - "unit_inversion", "unit_typing" + "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Set.mem", + "typing_FStar.Set.singleton", "unit_inversion", "unit_typing" ], 0, - "9289b71bdd24c9eaa06ab29161b85822" + "436bcb048a4b5b170d6559b1088e7894" ], [ "Ariadne.step1", @@ -378,7 +374,7 @@ "refinement_interpretation_Tm_refine_4187e98250438914a336576d12992752" ], 0, - "fc533bec9b04fdc67f20a2ff3d5732af" + "9eed90defcfeab88ab5a8bcbf754997a" ], [ "Ariadne.incr", @@ -389,10 +385,10 @@ "@MaxIFuel_assumption", "@query", "equation_Ariadne.index", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9d86c483b0b3c8ddeee455c049370ed5" + "551ba623712ca0ef6351addeb661ca4a" ], [ "Ariadne.incr", @@ -410,12 +406,14 @@ "disc_equation_Ariadne.Crash", "disc_equation_Ariadne.Writing", "disc_equation_FStar.Pervasives.Err", "equation_Ariadne.index", "equation_Ariadne.pre1", "equation_Ariadne.preorder_", - "equation_Ariadne.record", "equation_Ariadne.saved", - "equation_Ariadne.step1", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_Ariadne.case", + "equation_Ariadne.saved", "equation_Ariadne.step1", + "equation_Prims.eqtype", "equation_Prims.nat", + "fuel_guarded_inversion_Ariadne.case", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.unit", "l_and-interp", "l_or-interp", - "l_quant_interp_fb8974c9a0913bc45b159a710f5815fa", + "function_token_typing_Prims.unit", + "interpretation_Tm_abs_94ac1d7db7c09cc7672544949d0efc27", + "l_and-interp", "l_or-interp", + "l_quant_interp_2d93d1e2e978575420277bf29c7a470b", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "projection_inverse_Ariadne.Counter_c", @@ -428,13 +426,13 @@ "projection_inverse_FStar.Pervasives.V_a", "projection_inverse_FStar.Pervasives.V_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_58601f6fa0a51e9c99a513ddc98cb44c", - "refinement_interpretation_Tm_refine_a4992cee426b0c6f8157e2e3150653e3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9d91c33d96b506495430913749b5c7ab", + "refinement_interpretation_Tm_refine_cf033fa1d66fb0cf90de40898b4185e1", "unit_inversion", "unit_typing" ], 0, - "20a14fbc0b2cf43bff5b9e136c140f8b" + "8468917516e88e0e852d6b7564ad3f37" ], [ "Ariadne.store", @@ -443,7 +441,7 @@ 1, [ "@query", "assumption_Ariadne.case__uu___haseq" ], 0, - "08741d6bcd32c8c6ab29883a52c40e48" + "27a854524962a528c1e0c86d8654dbe9" ], [ "Ariadne.store", @@ -469,14 +467,14 @@ "projection_inverse_Ariadne.Writing_old", "projection_inverse_Ariadne.Writing_written", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_02bb29ef48b588a48b43851dc34efce0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8b6aafb6507833e0d691364b77f38e0c", - "refinement_interpretation_Tm_refine_a4992cee426b0c6f8157e2e3150653e3", - "refinement_interpretation_Tm_refine_e73f961ffc26408fdd83fe134a1b9432", + "refinement_interpretation_Tm_refine_cf033fa1d66fb0cf90de40898b4185e1", + "refinement_interpretation_Tm_refine_f67d546da9881cfa74376ca29779f011", "string_inversion", "unit_typing" ], 0, - "370d9bd318c6f670d71ce87f36ffef44" + "b8aaade48349a2fe128c22571d4029e5" ], [ "Ariadne.recover", @@ -490,7 +488,7 @@ "equation_Ariadne.state", "fuel_guarded_inversion_Ariadne.case" ], 0, - "76cc3da422586769913f821b94ea8cf6" + "0d1c1876206fc573715ea878abec9096" ], [ "Ariadne.recover", @@ -499,7 +497,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "constructor_distinct_Ariadne.Crash", "constructor_distinct_Ariadne.Ok", @@ -518,18 +515,17 @@ "disc_equation_Ariadne.Crash", "disc_equation_Ariadne.Writing", "equation_Ariadne.backup", "equation_Ariadne.index", "equation_Ariadne.pre0", "equation_Ariadne.pre1", - "equation_Ariadne.record", "equation_Ariadne.saved", - "equation_Ariadne.saved_backup", "equation_Ariadne.state", - "equation_Ariadne.step0", "equation_Ariadne.step1", - "equation_Prims.eqtype", "equation_Prims.nat", "false_interp", + "equation_Ariadne.saved", "equation_Ariadne.saved_backup", + "equation_Ariadne.state", "equation_Ariadne.step0", + "equation_Ariadne.step1", "equation_Prims.eqtype", + "equation_Prims.nat", "false_interp", "fuel_guarded_inversion_Ariadne.case", "fuel_guarded_inversion_FStar.Pervasives.result", "function_token_typing_Ariadne.saved_backup", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.string", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_c9a4506cd82e392629372f7bea6ad0b4", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_a5ca6fe12225dcddc723177173d17b3f", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", "l_or-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", @@ -553,14 +549,14 @@ "projection_inverse_FStar.Pervasives.V_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4187e98250438914a336576d12992752", - "refinement_interpretation_Tm_refine_8fc22a5b967c3b88fb70037a5da87fc6", - "refinement_interpretation_Tm_refine_a4992cee426b0c6f8157e2e3150653e3", - "refinement_interpretation_Tm_refine_e73f961ffc26408fdd83fe134a1b9432", + "refinement_interpretation_Tm_refine_cf033fa1d66fb0cf90de40898b4185e1", + "refinement_interpretation_Tm_refine_e55319c085bf178a09f5c6b692f5d239", + "refinement_interpretation_Tm_refine_f67d546da9881cfa74376ca29779f011", "string_inversion", "string_typing", "typing_Ariadne.step0", "typing_Ariadne.step1", "unit_typing" ], 0, - "eb43294fe97fa41844785b5c1bdbdfa1" + "0f9672aea620a8aef6a897931febd1b2" ], [ "Ariadne.example", @@ -587,12 +583,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_02bb29ef48b588a48b43851dc34efce0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8b6aafb6507833e0d691364b77f38e0c", "string_inversion", "string_typing", "unit_inversion", "unit_typing" ], 0, - "16c969681e2aa7ac6101c0ed914bcfe9" + "c7aaf7d8f39d323edac4282b716c11c6" ], [ "Ariadne.case", @@ -605,7 +601,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "aa8b20fc39f28d85dd76e2012c01193a" + "a5b03539e78b81a677606f7359f16a9c" ], [ "Ariadne.__proj__Ok__item__saved", @@ -618,7 +614,7 @@ "refinement_interpretation_Tm_refine_433d08d8d7a72b888729343254dd5f4a" ], 0, - "23c444bb91866f1fb6cc1fe71efd0295" + "26637dbe218ff29c50e4c81a75ece1a6" ], [ "Ariadne.__proj__Recover__item__read", @@ -631,7 +627,7 @@ "refinement_interpretation_Tm_refine_4866c1405a82ccc72c55102aa593b7ee" ], 0, - "32c9c937e46329e66e47ceb2345ac5d7" + "930bd16181d0ced22dbc05f112e49f2f" ], [ "Ariadne.__proj__Recover__item__other", @@ -644,7 +640,7 @@ "refinement_interpretation_Tm_refine_4866c1405a82ccc72c55102aa593b7ee" ], 0, - "f1509737b216f13dd664fe3e7ae9067b" + "c6d0784c6fc2a84ddfad0081445fb9af" ], [ "Ariadne.__proj__Writing__item__written", @@ -657,7 +653,7 @@ "refinement_interpretation_Tm_refine_4fff7e1627aecb8a01ff14db8bd98023" ], 0, - "0940869c9fb97b2bb2a605e26c7a103b" + "22bcb0925b8c876b7153e8a606fac89d" ], [ "Ariadne.__proj__Writing__item__old", @@ -670,7 +666,7 @@ "refinement_interpretation_Tm_refine_4fff7e1627aecb8a01ff14db8bd98023" ], 0, - "190e35304b4630e0142aba17a5b52840" + "ea3fe571595814aaf3107484678153e3" ], [ "Ariadne.__proj__Crash__item__read", @@ -683,7 +679,7 @@ "refinement_interpretation_Tm_refine_afc93d5e07c3e90000704a2ee31d4fab" ], 0, - "9d64238eeb6e795d53d3fac54e146486" + "fc84410246774863cc9d691d8a091b66" ], [ "Ariadne.__proj__Crash__item__other", @@ -696,7 +692,7 @@ "refinement_interpretation_Tm_refine_afc93d5e07c3e90000704a2ee31d4fab" ], 0, - "7b231e072f91cfcc0c471b2a5cff8fbb" + "8fa6a2c6a538631f135efcfc8877b16e" ], [ "Ariadne.counter", @@ -708,11 +704,11 @@ "assumption_Ariadne.case__uu___haseq", "equation_Ariadne.index", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "07d2480b59dcfb489479a04531c4168b" + "fe173aaf66927b06f834cdcfc03a8299" ], [ "Ariadne.saved", @@ -720,19 +716,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "disc_equation_Ariadne.Crash", "disc_equation_Ariadne.Ok", - "disc_equation_Ariadne.Recover", "disc_equation_Ariadne.Writing", - "equation_Ariadne.index", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_Ariadne.case", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "disc_equation_Ariadne.Crash", + "disc_equation_Ariadne.Ok", "disc_equation_Ariadne.Recover", + "disc_equation_Ariadne.Writing", "equation_Ariadne.index", + "equation_Prims.eqtype", "equation_Prims.nat", + "fuel_guarded_inversion_Ariadne.case", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "726155ac4407b3eb29a9cbf04fa6f14d" + "b8416c5563d89b4150d6e1a5d046ecd5" ], [ "Ariadne.preorder'", @@ -740,15 +734,14 @@ 2, 1, [ - "@query", "equation_Ariadne.record", - "equation_FStar.Preorder.preorder_rel", + "@query", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", - "interpretation_Tm_abs_a75a4b4452e062cb62993cc75a104fe9", - "l_quant_interp_fb8974c9a0913bc45b159a710f5815fa" + "interpretation_Tm_abs_94ac1d7db7c09cc7672544949d0efc27", + "l_quant_interp_2d93d1e2e978575420277bf29c7a470b" ], 0, - "f6c4783b5c66f20794141e25e6d408e3" + "af827b8208bb4a4a9d54d55ada5ddbe7" ], [ "Ariadne.saved_backup", @@ -758,20 +751,19 @@ [ "@MaxIFuel_assumption", "@query", "equation_Ariadne.ctr", "equation_Ariadne.index", "equation_Ariadne.preorder_", - "equation_Ariadne.record", "equation_FStar.Preorder.preorder", - "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", - "equation_FStar.ST.stable", "equation_Prims.nat", + "equation_Ariadne.record", "equation_FStar.ST.heap_rel", + "equation_FStar.ST.mref", "equation_FStar.ST.stable", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_c9a4506cd82e392629372f7bea6ad0b4", + "interpretation_Tm_abs_94ac1d7db7c09cc7672544949d0efc27", + "interpretation_Tm_abs_a5ca6fe12225dcddc723177173d17b3f", "kinding_Ariadne.counter@tok", "l_and-interp", - "l_quant_interp_fb8974c9a0913bc45b159a710f5815fa", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "l_quant_interp_2d93d1e2e978575420277bf29c7a470b", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e50eebbafecdb257461f6aebb21031dd", "typing_Ariadne.preorder_" ], 0, - "07788d1863f297cdee7425e0b2363c6d" + "8a40bfa8c37989476e6965f7b775e6c9" ], [ "Ariadne.log_pre", @@ -788,12 +780,12 @@ "equation_FStar.Preorder.transitive", "equation_with_fuel_FStar.List.Tot.Base.strict_prefix_of.fuel_instrumented", "false_interp", "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_4bd8127a0fb603d288c0726096d22efe", + "interpretation_Tm_abs_b12da42f1278d37b8e165027f8b750bf", "lemma_FStar.List.Tot.Properties.strict_prefix_of_trans", "typing_Ariadne.backup" ], 0, - "04dbee056496cac7d511adf7a516407a" + "12a7782b2a1c24a8088f291900948368" ], [ "Ariadne.__proj__Protect__item__k", @@ -805,7 +797,7 @@ "projection_inverse_Ariadne.Protect_c" ], 0, - "eea80f3fdc929a897ed5254de1d1517b" + "f8b73b79228ebf169b49de66fe7a2330" ], [ "Ariadne.pre0", @@ -819,7 +811,7 @@ "fuel_guarded_inversion_Ariadne.case" ], 0, - "bfd5298177e9fd50e6adfaad76858a20" + "0c8854c42e7c6dc87322d29feba723d8" ], [ "Ariadne.step0", @@ -833,7 +825,7 @@ "equation_Ariadne.state", "fuel_guarded_inversion_Ariadne.case" ], 0, - "c84e71f1c3f3e43225baa0b0117ff450" + "c66b0557d5fa79d4086e6b3b1682d352" ], [ "Ariadne.step1", @@ -847,7 +839,7 @@ "refinement_interpretation_Tm_refine_4187e98250438914a336576d12992752" ], 0, - "23dfdd7b92a7a1d8bdc859b694a3cb71" + "46e1ed35c6bdaf20ef5c95bfbd7eedf4" ], [ "Ariadne.incr", @@ -858,10 +850,10 @@ "@MaxIFuel_assumption", "@query", "equation_Ariadne.index", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b68947336f6a7e0eb2c31fb92c34efac" + "70226de4beab81b18f2bab7efbe98ae1" ], [ "Ariadne.store", @@ -870,7 +862,7 @@ 1, [ "@query", "assumption_Ariadne.case__uu___haseq" ], 0, - "29d15f663b37819106117c3c23b6e7cf" + "dbfe6ca8ff83e8af26f0ea894319e59d" ], [ "Ariadne.recover", @@ -884,7 +876,39 @@ "equation_Ariadne.state", "fuel_guarded_inversion_Ariadne.case" ], 0, - "5ebae4cdd322766ede7abfe0451f8b8d" + "2201723616e9809adb55786d3b0437b2" + ], + [ + "Ariadne.example", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "constructor_distinct_Ariadne.Ok", + "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.E", "data_elim_FStar.Pervasives.Err", + "data_typing_intro_FStar.Pervasives.E@tok", + "data_typing_intro_FStar.Pervasives.Err@tok", + "data_typing_intro_FStar.Pervasives.V@tok", + "disc_equation_Ariadne.Ok", "equation_Ariadne.state", + "equation_Prims.eqtype", + "fuel_guarded_inversion_FStar.Pervasives.result", + "function_token_typing_Prims.unit", + "proj_equation_Ariadne.Protect_c", + "projection_inverse_Ariadne.Counter_c", + "projection_inverse_Ariadne.Ok_saved", + "projection_inverse_Ariadne.Protect_c", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_02bb29ef48b588a48b43851dc34efce0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "string_inversion", "string_typing", "unit_inversion", "unit_typing" + ], + 0, + "df19424bee841c03e81caab03336e651" ] ] ] \ No newline at end of file diff --git a/examples/preorders/ArrayUtils.fst.hints b/examples/preorders/ArrayUtils.fst.hints index 9da4461454d..dda9e6b716b 100644 --- a/examples/preorders/ArrayUtils.fst.hints +++ b/examples/preorders/ArrayUtils.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "d97c8478f9ec73c88552eddd7826488f" + "e8cd6a289015d66ef47fc07d5a96bcbe" ], [ "ArrayUtils.lemma_get_some_equivalent_length", @@ -22,7 +22,7 @@ "typing_ArrayUtils.get_some_equivalent" ], 0, - "0189b7ef1572b907ad463da8d87d89c9" + "54d38a4752a8210d2142938017675855" ], [ "ArrayUtils.lemma_get_some_equivalent_index", @@ -38,7 +38,7 @@ "typing_ArrayUtils.get_some_equivalent" ], 0, - "e8080b221bbba3e63aa1dbe2ca2f39f6" + "46d56450c2193c609cb19e6f37cc0769" ], [ "ArrayUtils.lemma_get_some_equivalent_snoc", @@ -47,13 +47,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", @@ -65,15 +63,15 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" ], 0, - "7e701b6286816715d016e8c103fba1d9" + "2b1b8864ff71f2e4c70c57c9b6cc1dbb" ], [ "ArrayUtils.lemma_get_some_equivalent_append", @@ -82,11 +80,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", @@ -96,14 +92,14 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length" ], 0, - "1afcab1bc223b43f647cb3c10cd22fa9" + "40042730e5c8e0d7fb7394b9c172da92" ], [ "ArrayUtils.lemma_get_some_equivalent_slice", @@ -112,10 +108,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_ArrayUtils.lemma_get_some_equivalent_length", @@ -125,13 +119,13 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1" ], 0, - "79c3e71547ac69516b8c411cb609b28b" + "5ed9928cbb251d8fbd6f59e57a6333ee" ], [ "ArrayUtils.lemma_get_equivalent_sequence_slice", @@ -140,8 +134,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", @@ -150,7 +143,7 @@ "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", - "l_quant_interp_972ad3fa77d200812a27d1f2abe2ca99", + "l_quant_interp_30f6881f24cda52630c3e40c335494eb", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -160,16 +153,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.index", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "typing_FStar.Seq.Base.index" ], 0, - "2d7c9ce518d2825c190fcf3b469cd22e" + "86d363314b5b76c0902b1b450e816400" ], [ "ArrayUtils.copy_seq", @@ -177,21 +170,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "kinding_FStar.Pervasives.Native.option@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_077237cabd91707d6b4c088d07b1fa1e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "2b6bb1f5ecd083281164ef756c13d812" + "4063f5b3378f20c1f6e9d5987588fa18" ], [ "ArrayUtils.is_prefix_of", @@ -200,7 +190,7 @@ 1, [ "@query" ], 0, - "0db2bc4dbe203d167cfc2e15bbeec40a" + "faf52ff6fc18b317c337e088c97fdc00" ], [ "ArrayUtils.lemma_is_prefix_of_slice", @@ -220,7 +210,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "fc3bf2b022db20b7ba8cab264b37d774" + "f9ea98376c1d415cc8d1a55834fe6b94" ], [ "ArrayUtils.seq_map", @@ -228,16 +218,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c3d34a9500c49f3f11e3958b36703edd" + "674e74b77fefeee95a1e6d2610d2d200" ], [ "ArrayUtils.some_equivalent_seqs", @@ -246,7 +233,7 @@ 1, [ "@query" ], 0, - "76f37bc62d81f468b30928d1d6a2c1d3" + "9a0daee4dcb0a9d10202c1f4cfd35535" ], [ "ArrayUtils.lemma_get_some_equivalent_index", @@ -255,7 +242,7 @@ 1, [ "@query", "lemma_ArrayUtils.lemma_get_some_equivalent_length" ], 0, - "713d1652f2cad31af69f1439dfa929aa" + "f92793f2dde4dfbc1dda68af0a9f1eac" ], [ "ArrayUtils.lemma_get_some_equivalent_snoc", @@ -264,13 +251,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", @@ -282,15 +267,15 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" ], 0, - "9ee34e422970f6b7b2bd5691d83b9422" + "8dc388304af5a6477e554b70d5d0a5f8" ], [ "ArrayUtils.lemma_get_some_equivalent_append", @@ -299,11 +284,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", @@ -313,14 +296,14 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length" ], 0, - "eaa42d886cd51e6d88a865056d6de3cd" + "0c060bb8c9813385e899802eb7ca7ad1" ], [ "ArrayUtils.lemma_get_some_equivalent_slice", @@ -329,10 +312,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_ArrayUtils.lemma_get_some_equivalent_length", @@ -342,13 +323,13 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1" ], 0, - "a643a480d993c4173531a68c54e80fc7" + "1911e7e9e0a54122e152d52c2bdf34d4" ], [ "ArrayUtils.lemma_get_equivalent_sequence_slice", @@ -357,8 +338,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", @@ -367,7 +347,7 @@ "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", - "l_quant_interp_972ad3fa77d200812a27d1f2abe2ca99", + "l_quant_interp_30f6881f24cda52630c3e40c335494eb", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -377,16 +357,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.index", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "typing_FStar.Seq.Base.index" ], 0, - "cd235cb9832ee509e9d2f0935054fad3" + "a842df8c196feda5630622e62743c94e" ], [ "ArrayUtils.copy_seq", @@ -394,21 +374,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "kinding_FStar.Pervasives.Native.option@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_077237cabd91707d6b4c088d07b1fa1e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "cf831d5747f24b9c4f83a5b7bf8c15dd" + "03fb585a6845e81c2e6649a43823d886" ], [ "ArrayUtils.is_prefix_of", @@ -417,7 +394,7 @@ 1, [ "@query" ], 0, - "57fbe9b097394583a7428a9d0c4d7cb0" + "5c54eb901fe66dfc21e684c524b607ef" ], [ "ArrayUtils.lemma_is_prefix_of_slice", @@ -437,7 +414,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "57dce80019b240ecc45adfbb1a1e8cd8" + "fb2e5afa760a199dd2281f6079e6e6a5" ], [ "ArrayUtils.seq_map", @@ -445,16 +422,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "02581408f306dd738830442074d9db4a" + "018729c115ec096c8c59989b55a357c0" ] ] ] \ No newline at end of file diff --git a/examples/preorders/Closure.fst b/examples/preorders/Closure.fst new file mode 100644 index 00000000000..7d509309629 --- /dev/null +++ b/examples/preorders/Closure.fst @@ -0,0 +1,177 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module Closure + +open FStar.ReflexiveTransitiveClosure + +module B = LowStar.Buffer +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +/// Simple Test + +type state = | A | B | C + +let r x y = + match x, y with + | A, B | B, C | C, B -> True + | _ -> False + +let q = function + | A -> False + | B | C -> True + +let reachable_from_B (x:state{ closure r B x }) : Lemma (x = B \/ x = C) = + stable_on_closure r q () + +/// More complex test based on TLS Handshake + +assume val handshake_message : Type + +assume val is_client_hello (hs:handshake_message) : Type0 + +assume val is_server_hello (hs:handshake_message) : Type0 + +let hs_ch = m:handshake_message{is_client_hello m} + +let hs_sh = m:handshake_message{is_server_hello m} + +let offer = hs_ch + +type retry = hs_ch & hs_sh + +let bounded_list 'a n = l:list 'a{List.Tot.length l < n} + +assume val max_transcript_size : nat + +noeq +type transcript_t = + | Start: + retried:option retry -> + transcript_t + + | Hello: + retried:option retry -> + ch:hs_ch -> + transcript_t + + | Transcript12: + ch:hs_ch -> + sh:hs_sh -> + rest:bounded_list handshake_message max_transcript_size -> + transcript_t + + | Transcript13: + retried:option retry -> + ch:hs_ch -> + sh:hs_sh -> + rest:bounded_list handshake_message max_transcript_size -> + transcript_t + +let transcript_size (t:transcript_t) = + match t with + | Start _ + | Hello _ _ -> 0 + | Transcript12 _ _ rest -> List.Tot.length rest + | Transcript13 _ _ _ rest -> List.Tot.length rest + +let trans (n:nat) = tr:transcript_t { transcript_size tr <= n } + +assume val mode : Type + +noeq +type client_state = + | C_init : client_state + + | C_truncated_ClientHello: + transcript: Ghost.erased (trans 0) -> + offer: offer{ Ghost.reveal transcript == Hello None offer } -> + client_state + + | C_wait_ServerHello: + transcript: Ghost.erased (trans 0) -> + offer: offer{ Ghost.reveal transcript == Hello None offer } -> + client_state + + | C13_wait_Finished1: + transcript: Ghost.erased (trans 1) -> + mode: mode {exists offer sh. Ghost.reveal transcript == Transcript13 None offer sh [] } -> + client_state + +/// We define an update condition on the state that encodes the state +/// machine and ensures stability on selected properties of +/// interest. For example, the transcript is monotonic; and +/// Negotiation's offer and mode are SSA. + +assume val transition_hsm: transcript_t -> handshake_message -> option transcript_t + +assume val mode_offer : mode -> offer + +let step (st0 st1: client_state) = + match st0, st1 with + | C_init, + C_truncated_ClientHello transcript0 offer0 -> True + + | C_truncated_ClientHello transcript0 offer0, + C_wait_ServerHello transcript1 offer1 -> + let transcript0 = Ghost.reveal transcript0 in + let transcript1 = Ghost.reveal transcript1 in + exists binders. Some transcript1 == transition_hsm transcript0 binders + // /\ offer1 == transcript_offer transcript1 + + | C_wait_ServerHello transcript0 offer0, + C13_wait_Finished1 transcript1 mode0 -> + let transcript0 = Ghost.reveal transcript0 in + let transcript1 = Ghost.reveal transcript1 in + offer0 == mode_offer mode0 /\ + (exists sh. Some transcript1 == transition_hsm transcript0 sh ) + + | _, _ -> False + +/// Sample lemma: the offer is SSA + +let st_offer (st0: client_state) : option offer = + match st0 with + | C_wait_ServerHello transcript0 offer0 -> Some offer0 + | C13_wait_Finished1 transcript0 mode0 -> Some (mode_offer mode0) + | _ -> None + +let mrel = closure step + +/// Main type for the connection handshake +noeq type t = | C_State: HST.mreference client_state mrel -> t + +/// Testing monotonicity + +open HST + +let p (r:mreference client_state mrel) (o:offer) h0 = + st_offer (HS.sel h0 r) == Some o + +val witness_offer (st:t) : + ST (o: offer { let C_State r = st in token_p r (p r o) } ) + (requires fun h0 -> + let C_State r = st in + h0 `HS.contains` r /\ + ~(C_init? (HS.sel h0 r)) /\ + ~(C_truncated_ClientHello? (HS.sel h0 r))) + (ensures fun h0 o h1 -> h0 == h1) +let witness_offer st = + let C_State r = st in + let Some o = st_offer !r in + stable_on_closure step (fun st -> st_offer st == Some o) (); + witness_p r (p r o); + o diff --git a/examples/preorders/Closure.fst.hints b/examples/preorders/Closure.fst.hints new file mode 100644 index 00000000000..97b6289df1c --- /dev/null +++ b/examples/preorders/Closure.fst.hints @@ -0,0 +1,685 @@ +[ + "M„çxÃ%N6ˆƒö\u0019\u0012†\u0001[", + [ + [ + "Closure.q", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Closure.A", + "disc_equation_Closure.B", "disc_equation_Closure.C", + "fuel_guarded_inversion_Closure.state" + ], + 0, + "b24f9171f61ce1a57bce128b4d937f08" + ], + [ + "Closure.reachable_from_B", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Closure_pretyping_bd6dd607bb76f365d3804ac263d1494e", + "assumption_Closure.state__uu___haseq", + "constructor_distinct_Closure.A", "constructor_distinct_Closure.B", + "constructor_distinct_Closure.C", "data_typing_intro_Closure.B@tok", + "equality_tok_Closure.B@tok", "equality_tok_Closure.C@tok", + "equation_Closure.q", "equation_Closure.r", + "fuel_guarded_inversion_Closure.state", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_dd3fee846623b444616ae777c48b4704", + "typing_tok_Closure.B@tok" + ], + 0, + "b7c89f6039347a37bf236ecc6ee3e13c" + ], + [ + "Closure.__proj__Start__item__retried", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Closure.Start", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_9b8feac8e67696762ba27b558e40f256" + ], + 0, + "ccc80b9add253d41374c38b8666826d4" + ], + [ + "Closure.__proj__Hello__item__retried", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Closure.Hello", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_8abf72c04d002ce86c7c7f261e811ec5" + ], + 0, + "06eb5f73b38336f9de5ecf2e157a7808" + ], + [ + "Closure.__proj__Hello__item__ch", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Closure.Hello", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_8abf72c04d002ce86c7c7f261e811ec5" + ], + 0, + "842e420e83b9ec332285ad9423f0b261" + ], + [ + "Closure.__proj__Transcript12__item__ch", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript12", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_8be6d7d0f86d71af96581ee9ae09ad53" + ], + 0, + "32f27f262b83efc0800d2e56f889678b" + ], + [ + "Closure.__proj__Transcript12__item__sh", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript12", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_8be6d7d0f86d71af96581ee9ae09ad53" + ], + 0, + "5983635845b344e30365f89effb67e0c" + ], + [ + "Closure.__proj__Transcript12__item__rest", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript12", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_8be6d7d0f86d71af96581ee9ae09ad53" + ], + 0, + "f38727ffd3470418137687873899d294" + ], + [ + "Closure.__proj__Transcript13__item__retried", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript13", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" + ], + 0, + "d9af78807e87297ac91077f238725af7" + ], + [ + "Closure.__proj__Transcript13__item__ch", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript13", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" + ], + 0, + "5ec1a929372c48a1628eae79b89ad7ef" + ], + [ + "Closure.__proj__Transcript13__item__sh", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript13", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" + ], + 0, + "155fa49ad00a068a36b49911d477bf57" + ], + [ + "Closure.__proj__Transcript13__item__rest", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript13", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" + ], + 0, + "681a808f0915d82cb38070f5379cd733" + ], + [ + "Closure.transcript_size", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Closure.Hello", + "disc_equation_Closure.Start", "disc_equation_Closure.Transcript12", + "disc_equation_Closure.Transcript13", + "fuel_guarded_inversion_Closure.transcript_t" + ], + 0, + "5c6572bb0d88a0f4d783b1da59b15426" + ], + [ + "Closure.client_state", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "data_elim_Closure.Transcript13", + "equation_Closure.bounded_list", "equation_Closure.trans", + "equation_Prims.nat", "int_inversion", + "refinement_interpretation_Tm_refine_15a5a0786f9d93d98189c913fd5d4cd5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_78a4b3cb1e73985c7eb89385f9a6ef6f", + "refinement_interpretation_Tm_refine_97b5d0648d70b22a9061aeb250fab276", + "refinement_kinding_Tm_refine_78a4b3cb1e73985c7eb89385f9a6ef6f", + "typing_Closure.max_transcript_size", "typing_FStar.Ghost.reveal" + ], + 0, + "dbebf815933e694123a93bb426fed095" + ], + [ + "Closure.__proj__C_truncated_ClientHello__item__transcript", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.C_truncated_ClientHello", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_ee2d48a428eec18a9bf958fc9b3867d8" + ], + 0, + "68979b977f6a20fa010a03bdd3b1020f" + ], + [ + "Closure.__proj__C_truncated_ClientHello__item__offer", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.C_truncated_ClientHello", + "proj_equation_Closure.C_truncated_ClientHello_transcript", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Closure.C_truncated_ClientHello_transcript", + "refinement_interpretation_Tm_refine_ee2d48a428eec18a9bf958fc9b3867d8" + ], + 0, + "777c63ec8d323fb59bbf097062f02716" + ], + [ + "Closure.__proj__C_wait_ServerHello__item__transcript", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.C_wait_ServerHello", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_ba03bb475e226de884d5d34396eaf785" + ], + 0, + "0e87213fdf00ae6b93a786ea40a2eeb0" + ], + [ + "Closure.__proj__C_wait_ServerHello__item__offer", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.C_wait_ServerHello", + "proj_equation_Closure.C_wait_ServerHello_transcript", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Closure.C_wait_ServerHello_transcript", + "refinement_interpretation_Tm_refine_ba03bb475e226de884d5d34396eaf785" + ], + 0, + "cf7ebc67cec47d7626caef0f60e06bd6" + ], + [ + "Closure.__proj__C13_wait_Finished1__item__transcript", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.C13_wait_Finished1", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_d027e86d743ce1c67ee5fe0ba7862796" + ], + 0, + "7f78ac7e1d1cd9f33a35c8a33faf51a7" + ], + [ + "Closure.__proj__C13_wait_Finished1__item__mode", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_Closure.C13_wait_Finished1", + "data_elim_Closure.Transcript13", + "disc_equation_Closure.C13_wait_Finished1", + "equation_Closure.bounded_list", "equation_Prims.nat", + "int_inversion", + "proj_equation_Closure.C13_wait_Finished1_transcript", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_15a5a0786f9d93d98189c913fd5d4cd5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_97b5d0648d70b22a9061aeb250fab276", + "refinement_interpretation_Tm_refine_d027e86d743ce1c67ee5fe0ba7862796", + "typing_Closure.max_transcript_size" + ], + 0, + "c6cb5cfffd41df2a6c46b213aa0e4f29" + ], + [ + "Closure.__proj__C13_wait_Finished1__item__mode", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_Closure.C13_wait_Finished1", + "data_elim_Closure.Transcript13", + "disc_equation_Closure.C13_wait_Finished1", + "equation_Closure.bounded_list", "equation_Prims.nat", + "int_inversion", + "proj_equation_Closure.C13_wait_Finished1_transcript", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Closure.C13_wait_Finished1_transcript", + "refinement_interpretation_Tm_refine_15a5a0786f9d93d98189c913fd5d4cd5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_97b5d0648d70b22a9061aeb250fab276", + "refinement_interpretation_Tm_refine_d027e86d743ce1c67ee5fe0ba7862796", + "typing_Closure.max_transcript_size" + ], + 0, + "81bffae860cf016f5fa0af56d0003877" + ], + [ + "Closure.witness_offer", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Closure_pretyping_7cd3e99cd75db7bf34f5afe1bd019474", + "constructor_distinct_Closure.C_init", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_Closure.C_init", + "disc_equation_Closure.C_truncated_ClientHello", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", + "equality_tok_Closure.C_init@tok", "equation_Closure.hs_ch", + "equation_Closure.mrel", "equation_Closure.offer", + "equation_Closure.p", "equation_Closure.st_offer", + "equation_Closure.step", + "equation_FStar.HyperStack.ST.is_live_for_rw_in", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.sel", + "fuel_guarded_inversion_Closure.client_state", + "function_token_typing_FStar.ReflexiveTransitiveClosure.closure", + "kinding_Closure.client_state@tok", + "lemma_FStar.Pervasives.invertOption", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Closure.C_State__0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_58b493790886f0a649f1c9027d6253f0", + "refinement_kinding_Tm_refine_9671101e782c461842cbbd186393c79e", + "typing_Closure.mrel", "typing_FStar.Monotonic.HyperStack.sel", + "typing_tok_Closure.C_init@tok" + ], + 0, + "7469f9d20f429d9b6f14ca3b3652ddf0" + ], + [ + "Closure.q", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Closure.A", + "disc_equation_Closure.B", "disc_equation_Closure.C", + "fuel_guarded_inversion_Closure.state" + ], + 0, + "f723e01f277f6b5a58c3ceb2935cb825" + ], + [ + "Closure.reachable_from_B", + 2, + 2, + 1, + [ "@query", "assumption_Closure.state__uu___haseq" ], + 0, + "0e0f6e45e4360e7c99d403c357c3da2b" + ], + [ + "Closure.__proj__Start__item__retried", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Closure.Start", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_9b8feac8e67696762ba27b558e40f256" + ], + 0, + "6b6dbc0b37e8bc5c0b3851de3cb9105d" + ], + [ + "Closure.__proj__Hello__item__retried", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Closure.Hello", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_8abf72c04d002ce86c7c7f261e811ec5" + ], + 0, + "327f1df7c055dca9781abe4874e90e1f" + ], + [ + "Closure.__proj__Hello__item__ch", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Closure.Hello", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_8abf72c04d002ce86c7c7f261e811ec5" + ], + 0, + "9e26d6520be5c7540971cd737a20acf8" + ], + [ + "Closure.__proj__Transcript12__item__ch", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript12", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_8be6d7d0f86d71af96581ee9ae09ad53" + ], + 0, + "ef209711ac7dfc1736ad299c796ac5e1" + ], + [ + "Closure.__proj__Transcript12__item__sh", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript12", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_8be6d7d0f86d71af96581ee9ae09ad53" + ], + 0, + "04709c04aaa6f404af4b339951a36814" + ], + [ + "Closure.__proj__Transcript12__item__rest", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript12", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_8be6d7d0f86d71af96581ee9ae09ad53" + ], + 0, + "30562ebe6c8c1e25970743f32d08baaf" + ], + [ + "Closure.__proj__Transcript13__item__retried", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript13", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" + ], + 0, + "c58447d582df3d37a86bcefc83ef79b4" + ], + [ + "Closure.__proj__Transcript13__item__ch", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript13", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" + ], + 0, + "fa6930aa09167b61021bafc84e66a2b2" + ], + [ + "Closure.__proj__Transcript13__item__sh", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript13", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" + ], + 0, + "c20ff8e4a0481ea93d6a1d938425652a" + ], + [ + "Closure.__proj__Transcript13__item__rest", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.Transcript13", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_c3bb8422e22464cd744542b84591ff3f" + ], + 0, + "bdc75002c96c947e778beae0af6d4c1f" + ], + [ + "Closure.transcript_size", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Closure.Hello", + "disc_equation_Closure.Start", "disc_equation_Closure.Transcript12", + "disc_equation_Closure.Transcript13", + "fuel_guarded_inversion_Closure.transcript_t" + ], + 0, + "2c818277baeae654e1d4ff5a5fc76af0" + ], + [ + "Closure.client_state", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "data_elim_Closure.Transcript13", + "equation_Closure.bounded_list", "equation_Closure.trans", + "equation_Prims.nat", "int_inversion", + "refinement_interpretation_Tm_refine_15a5a0786f9d93d98189c913fd5d4cd5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_78a4b3cb1e73985c7eb89385f9a6ef6f", + "refinement_interpretation_Tm_refine_97b5d0648d70b22a9061aeb250fab276", + "refinement_kinding_Tm_refine_78a4b3cb1e73985c7eb89385f9a6ef6f", + "typing_Closure.max_transcript_size", "typing_FStar.Ghost.reveal" + ], + 0, + "2c836dc9d46170b425bbd1901bf6f689" + ], + [ + "Closure.__proj__C_truncated_ClientHello__item__transcript", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.C_truncated_ClientHello", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_ee2d48a428eec18a9bf958fc9b3867d8" + ], + 0, + "ec17089bf59a9d8b510454dc6ec85f65" + ], + [ + "Closure.__proj__C_truncated_ClientHello__item__offer", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.C_truncated_ClientHello", + "proj_equation_Closure.C_truncated_ClientHello_transcript", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Closure.C_truncated_ClientHello_transcript", + "refinement_interpretation_Tm_refine_ee2d48a428eec18a9bf958fc9b3867d8" + ], + 0, + "ad2da4960b8ce52bd1b551e5a809a7db" + ], + [ + "Closure.__proj__C_wait_ServerHello__item__transcript", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.C_wait_ServerHello", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_ba03bb475e226de884d5d34396eaf785" + ], + 0, + "6f84e3b7c7da4d5328135af3f7d9004b" + ], + [ + "Closure.__proj__C_wait_ServerHello__item__offer", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.C_wait_ServerHello", + "proj_equation_Closure.C_wait_ServerHello_transcript", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Closure.C_wait_ServerHello_transcript", + "refinement_interpretation_Tm_refine_ba03bb475e226de884d5d34396eaf785" + ], + 0, + "974ea8676c8ef84ff9cc99b57e347395" + ], + [ + "Closure.__proj__C13_wait_Finished1__item__transcript", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_Closure.C13_wait_Finished1", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_d027e86d743ce1c67ee5fe0ba7862796" + ], + 0, + "652d34408e7a26e474ac4aa21e6af3c7" + ], + [ + "Closure.__proj__C13_wait_Finished1__item__mode", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_Closure.C13_wait_Finished1", + "data_elim_Closure.Transcript13", + "disc_equation_Closure.C13_wait_Finished1", + "equation_Closure.bounded_list", "equation_Prims.nat", + "int_inversion", + "proj_equation_Closure.C13_wait_Finished1_transcript", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_15a5a0786f9d93d98189c913fd5d4cd5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_97b5d0648d70b22a9061aeb250fab276", + "refinement_interpretation_Tm_refine_d027e86d743ce1c67ee5fe0ba7862796", + "typing_Closure.max_transcript_size" + ], + 0, + "d67bf1dffd3f227782c0e4a426bc15cb" + ], + [ + "Closure.__proj__C13_wait_Finished1__item__mode", + 4, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_Closure.C13_wait_Finished1", + "data_elim_Closure.Transcript13", + "disc_equation_Closure.C13_wait_Finished1", + "equation_Closure.bounded_list", "equation_Prims.nat", + "int_inversion", + "proj_equation_Closure.C13_wait_Finished1_transcript", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_Closure.C13_wait_Finished1_transcript", + "refinement_interpretation_Tm_refine_15a5a0786f9d93d98189c913fd5d4cd5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_97b5d0648d70b22a9061aeb250fab276", + "refinement_interpretation_Tm_refine_d027e86d743ce1c67ee5fe0ba7862796", + "typing_Closure.max_transcript_size" + ], + 0, + "b93de7994ef8a1f7d8be683cd4a53cf9" + ] + ] +] \ No newline at end of file diff --git a/examples/preorders/ImmutableST.fst.hints b/examples/preorders/ImmutableST.fst.hints index da0fa679738..e7fa505bc53 100644 --- a/examples/preorders/ImmutableST.fst.hints +++ b/examples/preorders/ImmutableST.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_ImmutableST.contains" ], 0, - "be519534cc09cd187099cf109d420660" + "d745b9ab3af9154d5aeb782cafa96599" ], [ "ImmutableST.heap_rel", @@ -21,10 +21,10 @@ "refinement_interpretation_Tm_refine_6f8aef5da32367b0818e015b75ddf1d7" ], 0, - "8f00e1c4f9e57bc8225fe65d5b459d21" + "cc8b18f6d5b2b0b4235c245d624f3458" ], [ - "ImmutableST.2466", + "ImmutableST.2471", 1, 2, 1, @@ -38,7 +38,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "2ef57a5e32d446d9fcd20a04e6e25353" + "6d92d5d9373e03e1ab03c23333628d54" ], [ "ImmutableST.ist_witnessed", @@ -55,7 +55,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "5ca6a22912d24a93126fab2a02018072" + "2ceb6f6ca6a51c839b5a49a0e1a92b5c" ], [ "ImmutableST.ist_witnessed", @@ -72,7 +72,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "2236f9debdf51b621b9a6c08ec30081b" + "4bf41b37e82f8329377fb3a3eebb9190" ], [ "ImmutableST.ist_witness", @@ -89,7 +89,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "2a6a445c85f064fcce81d6a685eb7206" + "d3f365fa92e6e3116893b6b7ca09da5c" ], [ "ImmutableST.ist_recall", @@ -106,7 +106,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "f5906bcdddf6836bac0a280db7e6617d" + "9ad03977cac24ad09083afba7e67c7b2" ], [ "ImmutableST.ref", @@ -120,7 +120,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "9d47fa1ef99a048afc54e872ab41c2dd" + "9b5d3c4ed14f61a8b98b3d4fa0b573cc" ], [ "ImmutableST.alloc", @@ -134,15 +134,15 @@ "function_token_typing_NatHeap.heap", "lemma_ImmutableST.contains_lemma", "refinement_interpretation_Tm_refine_6f8aef5da32367b0818e015b75ddf1d7", + "refinement_interpretation_Tm_refine_81559c2acf3805dd0108c30eedb8fa98", "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96", - "refinement_interpretation_Tm_refine_d6eb0b9d9b7dbffddd8c83717854c2a8", "token_correspondence_ImmutableST.contains", "token_correspondence_ImmutableST.heap_rel", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "typing_NatHeap.ref" ], 0, - "6db952a66d1a0fff4b117720704a4cc2" + "c664bb220afacf8023bd7f3efbf82f72" ], [ "ImmutableST.read", @@ -151,7 +151,7 @@ 1, [ "@query", "equation_ImmutableST.contains" ], 0, - "52c110ffad1748d68859361156133742" + "4644067347548ebb21ae85192e1f70ee" ], [ "ImmutableST.read", @@ -167,7 +167,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "de6ceae3c0b97c406b624f5cb0d21605" + "23122169c872e09a1d62d945e1b819e1" ], [ "ImmutableST.write", @@ -176,7 +176,7 @@ 1, [ "@query", "equation_ImmutableST.contains" ], 0, - "5af1db2b79c0d58c3eb557db7da37116" + "530901970abdfe54c0bf2cc7793646bd" ], [ "ImmutableST.write", @@ -185,7 +185,7 @@ 1, [ "@query", "equation_ImmutableST.heap_rel" ], 0, - "e080668cf3a3ca0c9bbb8be9a0b04d61" + "4c441ee12667ec6c852fab06f2765d4b" ], [ "ImmutableST.write_nop", @@ -194,7 +194,7 @@ 1, [ "@query", "equation_ImmutableST.contains" ], 0, - "d43b80009bae916128630f0d7ffdb474" + "38cece5d2cd44f35a8216e392c454e9b" ], [ "ImmutableST.write_nop", @@ -203,7 +203,7 @@ 1, [ "@query" ], 0, - "6add53236635d0f384d4b88773e2d509" + "8e3def05741c16b120d7212ac23d4fba" ], [ "ImmutableST.recall", @@ -218,7 +218,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "80d67fe0f6d51bf3c9d205a80f0902dc" + "2478be38e3c3f7a794525d511f57f4aa" ], [ "ImmutableST.heap_rel", @@ -231,10 +231,10 @@ "refinement_interpretation_Tm_refine_6f8aef5da32367b0818e015b75ddf1d7" ], 0, - "d766af8279cce95d1969d6f6d24526e9" + "808dcc9814bfb1200e1a035e5e53339a" ], [ - "ImmutableST.11216", + "ImmutableST.10783", 1, 2, 1, @@ -248,7 +248,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "46647c5f5572555fb92549e84d5b295d" + "18d37550910b9483acf8fb376f6088cb" ], [ "ImmutableST.ist_witnessed", @@ -265,7 +265,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "91c13b68bc6923353b3567b6ee1e19f2" + "dc17cbce5c4622b0265eef1b1d3b7f8e" ], [ "ImmutableST.ist_witnessed", @@ -282,7 +282,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "0f1184866777acfe850df2a606930254" + "fd811bf896b673396c184b6113ea4fd5" ], [ "ImmutableST.ist_witnessed", @@ -299,7 +299,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "64efc331dd122c494750bd98f6dbb34c" + "aa44afa7a975209333d8af536e7351f0" ], [ "ImmutableST.ist_witness", @@ -316,7 +316,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "7b74333b20f52d0172aacbef39e3465f" + "e3ae2508e2c6b4e7490d28293e85a789" ], [ "ImmutableST.ist_recall", @@ -333,7 +333,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "81ba155c6eb39f0f40d6f9b70d58429b" + "4fc0deaec58d671e1606afc923670d94" ], [ "ImmutableST.ref", @@ -347,7 +347,7 @@ "token_correspondence_ImmutableST.heap_rel" ], 0, - "2f0b0ac7848c5e6c2bb023f503fd6e13" + "690e9e3161f92f795f88a5ab41da8cb2" ], [ "ImmutableST.read", @@ -356,7 +356,7 @@ 1, [ "@query", "equation_ImmutableST.contains" ], 0, - "215ed24f61c1a89d7b26f4ea0de54d31" + "cc54044ac23ade35b9d05bed20a28ec1" ], [ "ImmutableST.write", @@ -365,7 +365,7 @@ 1, [ "@query", "equation_ImmutableST.contains" ], 0, - "70d9032e381e3b04282424574465869c" + "0e3fafab5967e5570700f41850b6ae1e" ], [ "ImmutableST.write_nop", @@ -374,7 +374,7 @@ 1, [ "@query", "equation_ImmutableST.contains" ], 0, - "c38dd00d199bd3dfadd6f8db56440bd2" + "8eeed64da8c43917155912927d6b43df" ] ] ] \ No newline at end of file diff --git a/examples/preorders/ImmutableSTwHeaps.fst.hints b/examples/preorders/ImmutableSTwHeaps.fst.hints index b41645f7de4..f15f2dc5a4e 100644 --- a/examples/preorders/ImmutableSTwHeaps.fst.hints +++ b/examples/preorders/ImmutableSTwHeaps.fst.hints @@ -8,10 +8,10 @@ 1, [ "@query" ], 0, - "3ed4ac9c67ab450bfc97c59538e1b2ed" + "50ced0db64bc18c7b4b94de88ac982a7" ], [ - "ImmutableSTwHeaps.2258", + "ImmutableSTwHeaps.2261", 1, 2, 1, @@ -23,7 +23,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "371ce68562fb03f37b50a01f366e1054" + "cb31c85c0598fba2adfeaff0cff4ca66" ], [ "ImmutableSTwHeaps.ist_witnessed", @@ -38,7 +38,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "6c8df18cb52587ae576ee8d2703c388c" + "473448743e0d669f84ea327eff88ff14" ], [ "ImmutableSTwHeaps.ist_witnessed", @@ -53,7 +53,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "0d9962b7af8b03fc7059bc114db60c9b" + "faa4df3777d5a26df86009024284a29f" ], [ "ImmutableSTwHeaps.ist_witness", @@ -68,7 +68,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "833d49149fe5637718c70e3e6d0ac81e" + "4c6864bf7385c4a99518cda00912d61a" ], [ "ImmutableSTwHeaps.ist_recall", @@ -83,7 +83,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "201a63b3949f879da9c867a6926708c1" + "220b073e64599273d14806fd1483d0af" ], [ "ImmutableSTwHeaps.alloc", @@ -102,14 +102,14 @@ "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "refinement_interpretation_Tm_refine_012d464f8c2a08388dffaf30b5904708", - "refinement_interpretation_Tm_refine_a51928430ff7628816c2d836c4b2574e", + "refinement_interpretation_Tm_refine_ec74995abaf3afbf48bfcaea8401c27c", "refinement_interpretation_Tm_refine_fcc3ae3430dace306efd930c647e1fda", "typing_FStar.Heap.trivial_preorder", "typing_ImmutableSTwHeaps.gen_ref", "typing_ImmutableSTwHeaps.sel", "typing_ImmutableSTwHeaps.upd" ], 0, - "69602cb7a58e9e7aca6cb6c460a4859f" + "09ec176f89908456720968515efc8333" ], [ "ImmutableSTwHeaps.read", @@ -121,7 +121,7 @@ "refinement_interpretation_ImmutableSTwHeaps_Tm_refine_fcc3ae3430dace306efd930c647e1fda" ], 0, - "aa25516bdd988b76553da219d2b9e10d" + "cb60fb6c0423d553935401ca681410e9" ], [ "ImmutableSTwHeaps.write", @@ -139,13 +139,13 @@ "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "refinement_interpretation_Tm_refine_a51928430ff7628816c2d836c4b2574e", + "refinement_interpretation_Tm_refine_ec74995abaf3afbf48bfcaea8401c27c", "refinement_interpretation_Tm_refine_fcc3ae3430dace306efd930c647e1fda", "typing_FStar.Heap.trivial_preorder", "typing_ImmutableSTwHeaps.sel", "typing_ImmutableSTwHeaps.upd" ], 0, - "e178379ee0b1e4726a4ea5c63e29f41b" + "9d64c025bcf11b1fe91d8abbeb41c453" ], [ "ImmutableSTwHeaps.heap_rel", @@ -154,10 +154,10 @@ 1, [ "@query" ], 0, - "b7d3f0156afe31ab01a920909f568447" + "13730aa919007fba763bf856dc788e93" ], [ - "ImmutableSTwHeaps.7925", + "ImmutableSTwHeaps.7943", 1, 2, 1, @@ -169,7 +169,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "041282a841d7ef2ec6847f97ae98eef2" + "61e91fbd6c7bc1fa4c4f15b750c3356a" ], [ "ImmutableSTwHeaps.ist_witnessed", @@ -184,7 +184,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "720af53c6386c1c20800a7b852636c17" + "ab9bfbf6cccd03c6ab35a4a7b3c363eb" ], [ "ImmutableSTwHeaps.ist_witnessed", @@ -199,7 +199,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "bb25bb8468145bc62f2ee593225398ed" + "786afb6675c07b41f3b3622c8ad632d1" ], [ "ImmutableSTwHeaps.ist_witnessed", @@ -214,7 +214,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "f9b1212e57a7bf45690ff723c2ca75b4" + "1d506fa3f0f93ad016bdb226a5b256ef" ], [ "ImmutableSTwHeaps.ist_witness", @@ -229,7 +229,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "4c40893646aaa57c19ca21a946dba589" + "f0ec67cc7dc5c5597577a7845bd0912b" ], [ "ImmutableSTwHeaps.ist_recall", @@ -244,7 +244,7 @@ "token_correspondence_ImmutableSTwHeaps.heap_rel" ], 0, - "544605b791676dfdb2e8ba5557f89535" + "3fa56666a7692cc38268111d2ffa50e3" ] ] ] \ No newline at end of file diff --git a/examples/preorders/MRefHeap.fst.hints b/examples/preorders/MRefHeap.fst.hints index 0cdb1e6900c..3fdcdb0bfdd 100644 --- a/examples/preorders/MRefHeap.fst.hints +++ b/examples/preorders/MRefHeap.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_FStar.Pervasives.dfst" ], 0, - "ccf2dc9b76f6f13a98750d39e88e5bc9" + "fed89defe9d635bb1159d7c9c0bcd275" ], [ "MRefHeap.contains_same_addr_lemma", @@ -16,23 +16,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_MRefHeap.addr_of", "equation_MRefHeap.contains", - "equation_MRefHeap.heap", "equation_MRefHeap.heap_cell", - "equation_MRefHeap.mref", "equation_Prims.eqtype", - "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_MRefHeap.addr_of", + "equation_MRefHeap.contains", "equation_MRefHeap.heap", + "equation_MRefHeap.heap_cell", "equation_MRefHeap.mref", + "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae7928a4b4a4c805d35f0abc425c2c90", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8f2fff72b18dc472afbc83d481143bc1" ], 0, - "5ac70b1762b963dda56ac014a8c3c803" + "bc9f5777e957c01bb23bf0aad4847eb6" ], [ "MRefHeap.contains_diff_addr_lemma", @@ -40,18 +37,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_MRefHeap.addr_of", "equation_MRefHeap.mref", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_MRefHeap.addr_of", + "equation_MRefHeap.mref", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5f8838e2cbe95d9066dbaf2b02d6ca7b" + "95fa5775e34597ae37321a39d5ff3456" ], [ "MRefHeap.sel", @@ -72,7 +66,7 @@ "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466" ], 0, - "15cac44d9d1f6802023bb06b9f9449f0" + "0e253dfc4d42c69b68aff16ae7381468" ], [ "MRefHeap.alloc_ref", @@ -84,7 +78,7 @@ "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466" ], 0, - "48b72a9ef8ef8cd6788ac89efede6771" + "f223918a27eda76bc8e5f683619603b3" ], [ "MRefHeap.alloc_ref", @@ -93,8 +87,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MRefHeap_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MRefHeap_interpretation_Tm_arrow_88fbbb8324e439f5a2200610d8306464", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -110,12 +103,10 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_MRefHeap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_a2faf32d7cb5880dc075a9085a21954b", - "kinding_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_1b58821c02ca886f6dd60a60f78c61fb", + "kinding_Tm_arrow_88fbbb8324e439f5a2200610d8306464", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -131,14 +122,16 @@ "projection_inverse_Prims.Mkdtuple2__2", "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae7928a4b4a4c805d35f0abc425c2c90", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8f2fff72b18dc472afbc83d481143bc1", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_8f2fff72b18dc472afbc83d481143bc1", "token_correspondence_FStar.Pervasives.Native.snd", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd" ], 0, - "5b6a0c5a4ab8bd10492a897494e1edf0" + "ed747355f59e34338aef99c3394c446c" ], [ "MRefHeap.upd", @@ -146,17 +139,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "98c4fe53da9252911bdbf462f8cded7b" + "0145e2536bc2b599d3a9b4bfcdb03b1a" ], [ "MRefHeap.upd", @@ -165,8 +155,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "MRefHeap_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "MRefHeap_interpretation_Tm_arrow_88fbbb8324e439f5a2200610d8306464", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", @@ -183,10 +172,9 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_89a073bfefc9052ffdf006cfa81c4bbd", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_72890939e4a344d6db0dfd1dabd629bc", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -201,12 +189,12 @@ "projection_inverse_Prims.Mkdtuple2__2", "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae7928a4b4a4c805d35f0abc425c2c90", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8f2fff72b18dc472afbc83d481143bc1", "token_correspondence_FStar.Pervasives.Native.snd" ], 0, - "820ec5aa7bc66eeebeb84710425d1b4f" + "5ac4f0c55443104f532d9264964ce9b8" ], [ "MRefHeap.emp", @@ -215,21 +203,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_MRefHeap.heap_cell", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_6f6fcc3ebec52b2da2b95be9b0664954", + "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", + "int_inversion", + "interpretation_Tm_abs_24704110e5e983dcd0d75f2fdaf3decd", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Pervasives.Native.snd" ], 0, - "caa9d7c309e8920aaa1a3bfbafab4bec" + "e0b1391448a0110c6dfd8e232b04101b" ], [ "MRefHeap.contains_same_addr_lemma", @@ -237,16 +223,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fd00bf165494671db860b1cd6e10f347" + "652318b32d2ecdc9e127a54952c2edd7" ], [ "MRefHeap.contains_diff_addr_lemma", @@ -256,11 +239,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "823a05f5bca05eb270db8fa60a2fb649" + "0e636dae4d94b21d6173ad7e64cabe96" ], [ "MRefHeap.alloc_ref", @@ -272,7 +255,7 @@ "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466" ], 0, - "2d814f5f6716bc349c859d1296a5d9a7" + "3b489ef24721c3dc84d09de7b9526b99" ], [ "MRefHeap.upd", @@ -280,17 +263,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "beb759d20ed54aea6c975e7aba337975" + "5e4b60488df426da1b7ddffd1c82a48b" ] ] ] \ No newline at end of file diff --git a/examples/preorders/MRefST.fst.hints b/examples/preorders/MRefST.fst.hints index 406e0fb1666..3dd206a0c9e 100644 --- a/examples/preorders/MRefST.fst.hints +++ b/examples/preorders/MRefST.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "30964154fe1bacab4386c0cac4988c67" + "fddcf1703e86d11791516141d3595010" ], [ "MRefST._dm4f_ISTATE___proj__ISTATE__item__put_elab", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "ddfa3ed0559b971bacd3540e2fc88479" + "f3a1e1e4063efd75fa43a6a62f18a972" ], [ "MRefST.ISTATE", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "fb643d1f3fb45d9a0f14a72c5f5e0332" + "140abeb527d7161120623282a8733bf5" ], [ "MRefST.ISTATE", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "d2e2d6f027232d146cd3622b7c44337f" + "d7f5244b8f3111d7a46afa9247300481" ], [ "MRefST.contains_lemma", @@ -44,7 +44,7 @@ 1, [ "@query", "equation_MRefST.contains" ], 0, - "d82a98f40645693d5d0dce090e3992a5" + "408eba6b4300bf58186c3fd72f02eaf7" ], [ "MRefST.heap_rel", @@ -57,10 +57,10 @@ "refinement_interpretation_Tm_refine_3568bcf9133bbe8512b3c2560361e2a6" ], 0, - "75ca643906eb56ae48235fa031d5063f" + "14615afe61447b804c33431ea687910a" ], [ - "MRefST.21740", + "MRefST.21771", 1, 2, 1, @@ -77,7 +77,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "30cee7398ff163553cffd9ba53ef6744" + "c2c76e7d9a8488efc3e20e9197a63566" ], [ "MRefST.ist_get", @@ -86,7 +86,7 @@ 1, [ "@query" ], 0, - "c766b06c5d4cb4df17d639a1e8379f5b" + "e31eaf93505430c6ab469b5e9f54e014" ], [ "MRefST.ist_put", @@ -95,7 +95,7 @@ 1, [ "@query", "unit_typing" ], 0, - "178a950c11b03bd34006db5dc82cd399" + "ce9ff143dc08c14d3211867a266acf29" ], [ "MRefST.ist_witnessed", @@ -115,7 +115,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "e40e8cd0a08978c5f77268f42a707dbd" + "4a19a7391e7b70920ec68b9fb99d6f0e" ], [ "MRefST.ist_witnessed", @@ -135,7 +135,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "3d53e2d913b02efce26701d8710fd389" + "9d47ef61fdd4c984bb7e89e182559e09" ], [ "MRefST.ist_witness", @@ -155,7 +155,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "0fc68f581a32fe04fc5fae9a652a49fc" + "d61e11c1df47d5df99776124d4e194eb" ], [ "MRefST.ist_recall", @@ -175,7 +175,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "558e912e5671a532900225967cda207f" + "49b7b34052ed87de355a60894327140d" ], [ "MRefST.mref", @@ -189,7 +189,7 @@ "token_correspondence_MRefST.heap_rel" ], 0, - "99a1deabeaddc0a4db92fc9013418df1" + "58910f0aa518c164c8c6dfb1ee28213e" ], [ "MRefST.alloc", @@ -206,8 +206,8 @@ "function_token_typing_MRefHeap.heap", "lemma_MRefST.contains_lemma", "refinement_interpretation_Tm_refine_3568bcf9133bbe8512b3c2560361e2a6", "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466", - "refinement_interpretation_Tm_refine_99fc5c527c8e67383b59fcf62697bfb6", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_f07337a29cfe3dbf224739cd84fc5577", "token_correspondence_MRefST.contains", "token_correspondence_MRefST.heap_rel", "typing_FStar.Pervasives.Native.fst", @@ -215,7 +215,7 @@ "typing_MRefHeap.sel" ], 0, - "b277bb647ef1beac0cf896cfea1e9ee0" + "f4fc39c23dd18910cbee92172efd253a" ], [ "MRefST.read", @@ -224,7 +224,7 @@ 1, [ "@query", "equation_MRefST.contains" ], 0, - "08d33aeb7435d8d4f074daf8e6974d82" + "b8f7fd6ff4e0f533e1dc49d77c1d7107" ], [ "MRefST.read", @@ -240,7 +240,7 @@ "token_correspondence_MRefST.heap_rel" ], 0, - "3ea62d5f52346fd755160296ab8d419d" + "75c21bef997d95f1f2b553be0564a821" ], [ "MRefST.write", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_da9cbab0485332770e2f963089e2dda6" ], 0, - "2f1462192b61c0a27c7692afdc518614" + "22ae9da1536fb02c467457244e3d8d70" ], [ "MRefST.write", @@ -261,30 +261,26 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Preorder.preorder", + "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.stable", "equation_MRefHeap.preorder_t", "equation_MRefST.contains", "equation_MRefST.heap_rel", "equation_MRefST.mref", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_MRefHeap.contains_same_addr_lemma", "refinement_interpretation_Tm_refine_3568bcf9133bbe8512b3c2560361e2a6", "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d3a6a1c6b7e9eac89f637dcaeb65950", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_da9cbab0485332770e2f963089e2dda6", + "refinement_interpretation_Tm_refine_deef6248c9cb1ee1196561ef08ad1dda", "token_correspondence_MRefST.contains", "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "4709b2d047d3a283e42e634329391a9d" + "690ef9f313fc5e6800b4812b3f86c4da" ], [ "MRefST.stable_on_heap_aux", @@ -293,7 +289,7 @@ 1, [ "@query", "equation_MRefST.contains" ], 0, - "72c41808c725049cc7793bce60aa0e01" + "826764f56ef912eedb3c662ca03b4ee8" ], [ "MRefST.stable_on_heap_stable", @@ -308,7 +304,7 @@ "refinement_interpretation_Tm_refine_da9cbab0485332770e2f963089e2dda6" ], 0, - "315bd35c0d5edaf136fec688e4ffddc9" + "8e865803f7653875d0cf3d24ecc4974f" ], [ "MRefST.witness", @@ -319,11 +315,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.stable", "equation_MRefST.stable_on_heap", "lemma_MRefST.stable_on_heap_stable", - "refinement_interpretation_Tm_refine_3fdeafd9a408f7c625e01e87abdb6170", + "refinement_interpretation_Tm_refine_84103d4d35761d12d97de209c219f7ba", "token_correspondence_MRefST.heap_rel" ], 0, - "517fa8bbf71e66ff8627605b1bcf3ac6" + "819025742f832b31d0453d99140f4c16" ], [ "MRefST.witness", @@ -334,11 +330,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.stable", "equation_MRefST.stable_on_heap", "lemma_MRefST.stable_on_heap_stable", - "refinement_interpretation_Tm_refine_3fdeafd9a408f7c625e01e87abdb6170", + "refinement_interpretation_Tm_refine_84103d4d35761d12d97de209c219f7ba", "token_correspondence_MRefST.heap_rel" ], 0, - "09dd3c38e4f1430fe2a0c79db1b1aa4d" + "e13fddafb6ed037c9044e1d770bf2fee" ], [ "MRefST.recall", @@ -349,11 +345,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.stable", "equation_MRefST.stable_on_heap", "lemma_MRefST.stable_on_heap_stable", - "refinement_interpretation_Tm_refine_3fdeafd9a408f7c625e01e87abdb6170", + "refinement_interpretation_Tm_refine_84103d4d35761d12d97de209c219f7ba", "token_correspondence_MRefST.heap_rel" ], 0, - "7cc63d37e235875e31a2bde451cd74c1" + "9a57aea9ef5f1f8d9753bc163b72628d" ], [ "MRefST.recall", @@ -364,11 +360,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.stable", "equation_MRefST.stable_on_heap", "lemma_MRefST.stable_on_heap_stable", - "refinement_interpretation_Tm_refine_3fdeafd9a408f7c625e01e87abdb6170", + "refinement_interpretation_Tm_refine_84103d4d35761d12d97de209c219f7ba", "token_correspondence_MRefST.heap_rel" ], 0, - "7b29cc44e6043c90ac4ed2cd8e088fd4" + "8644f58c7aa945b0564b9f028e7e20c3" ], [ "MRefST._dm4f_ISTATE___proj__ISTATE__item__get_elab", @@ -377,7 +373,7 @@ 1, [ "@query" ], 0, - "95ac63e5a590e909f49933dd36e1e5ca" + "8c343f52a77e94ec4b83743ab5edd73a" ], [ "MRefST._dm4f_ISTATE___proj__ISTATE__item__put_elab", @@ -386,7 +382,7 @@ 1, [ "@query" ], 0, - "b77b28ac1c20e6116be533ed8e63ad68" + "3f22f0be2a7cd623e5be7bb448086df3" ], [ "MRefST.ISTATE", @@ -395,7 +391,7 @@ 1, [ "@query" ], 0, - "456ffa0e322d52333bbf90def9be3b88" + "5a88698320d5329a4327bd2ceca1e757" ], [ "MRefST.ISTATE", @@ -404,7 +400,7 @@ 1, [ "@query" ], 0, - "8539428646d282a9d3e0f7dc58feae21" + "89589df4dbe90237fcd10344c87ff51e" ], [ "MRefST.heap_rel", @@ -417,10 +413,10 @@ "refinement_interpretation_Tm_refine_3568bcf9133bbe8512b3c2560361e2a6" ], 0, - "3fc058fe22c1989c2b3ce0e5079e96e9" + "b719a2f7297c060ca526c00c2bb96b63" ], [ - "MRefST.59829", + "MRefST.58566", 1, 2, 1, @@ -437,7 +433,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "d80bfeaa53c84a3cf8b1d04797a652c6" + "1cdb9261cc21df1a71bc2caa98b7090b" ], [ "MRefST.ist_get", @@ -446,7 +442,7 @@ 1, [ "@query" ], 0, - "c06401d447afc4a8eb445d6305c7aa5f" + "03dc6671090a193d3b8ed12af71b1f97" ], [ "MRefST.ist_put", @@ -455,7 +451,7 @@ 1, [ "@query", "unit_typing" ], 0, - "cc6493db5f2e551703c686828767105d" + "7a21bd276024e99f21d1776f1620b61d" ], [ "MRefST.ist_witnessed", @@ -475,7 +471,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "a5e89bd152fd41049e02f8d0f7040129" + "467a3a640a6e1a3c808c52bdace2ac30" ], [ "MRefST.ist_witnessed", @@ -495,7 +491,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "ae46bf89edfd2b0ee259c5b89c279c90" + "f3ea29b97dea39833639f7df329c5cf0" ], [ "MRefST.ist_witnessed", @@ -515,7 +511,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "5f80262c8092fe1899dc3e1761ea3a20" + "c0454e4d5245369facca6e2316766259" ], [ "MRefST.ist_witness", @@ -535,7 +531,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "6355d55744e1e7f9f037e662006d5cd2" + "c15bcb9c0be953db0cd03ffb7211a309" ], [ "MRefST.ist_recall", @@ -555,7 +551,7 @@ "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "79917aeb2580f03a2e2ec049f9f9c8ee" + "cf6839ac1d1c319884ace441d7709bbf" ], [ "MRefST.mref", @@ -569,7 +565,7 @@ "token_correspondence_MRefST.heap_rel" ], 0, - "2ba05a3bb82112b8686a7943a4d3502b" + "97dde9dc46bd351f5cbc464e717a920c" ], [ "MRefST.alloc", @@ -586,8 +582,8 @@ "function_token_typing_MRefHeap.heap", "lemma_MRefST.contains_lemma", "refinement_interpretation_Tm_refine_3568bcf9133bbe8512b3c2560361e2a6", "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466", - "refinement_interpretation_Tm_refine_99fc5c527c8e67383b59fcf62697bfb6", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_f07337a29cfe3dbf224739cd84fc5577", "token_correspondence_MRefST.contains", "token_correspondence_MRefST.heap_rel", "typing_FStar.Pervasives.Native.fst", @@ -595,7 +591,7 @@ "typing_MRefHeap.sel" ], 0, - "791bf1f3e2726ccbe9ad6677ba745eaa" + "6df67dd2c0969f2a7fcda24b4e1361c9" ], [ "MRefST.read", @@ -611,7 +607,7 @@ "token_correspondence_MRefST.heap_rel" ], 0, - "d4035a8b24a1fb74de5cc689cb878f49" + "0a79257842c71356d88b22526ea710cf" ], [ "MRefST.read", @@ -620,7 +616,7 @@ 1, [ "@query", "equation_MRefST.contains" ], 0, - "1ca1fe3ae44626d36f6b6bd07f546a8a" + "b7d2938018f361e537db27aa27a6f3b3" ], [ "MRefST.write", @@ -628,30 +624,26 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Preorder.preorder", + "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.stable", "equation_MRefHeap.preorder_t", "equation_MRefST.contains", "equation_MRefST.heap_rel", "equation_MRefST.mref", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_MRefHeap.contains_same_addr_lemma", "refinement_interpretation_Tm_refine_3568bcf9133bbe8512b3c2560361e2a6", "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d3a6a1c6b7e9eac89f637dcaeb65950", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_da9cbab0485332770e2f963089e2dda6", + "refinement_interpretation_Tm_refine_deef6248c9cb1ee1196561ef08ad1dda", "token_correspondence_MRefST.contains", "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.sel" ], 0, - "50ceabcf56eedf06e7b10082a9d622b0" + "e6aebc15fa2ca07904b1b6ea65f1b479" ], [ "MRefST.write", @@ -664,7 +656,7 @@ "refinement_interpretation_Tm_refine_da9cbab0485332770e2f963089e2dda6" ], 0, - "19487eed366e2e9511e477c32d3fa59e" + "a016470195d59c3a68cf4279d4cbe6c7" ], [ "MRefST.stable_on_heap_aux", @@ -673,7 +665,7 @@ 1, [ "@query", "equation_MRefST.contains" ], 0, - "87856ecef08066382a99aae7d985e801" + "41e06c2583ac32f098820561aa792b71" ], [ "MRefST.witness", @@ -684,11 +676,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.stable", "equation_MRefST.stable_on_heap", "lemma_MRefST.stable_on_heap_stable", - "refinement_interpretation_Tm_refine_3fdeafd9a408f7c625e01e87abdb6170", + "refinement_interpretation_Tm_refine_84103d4d35761d12d97de209c219f7ba", "token_correspondence_MRefST.heap_rel" ], 0, - "bb5176b419dea842690ace651da22989" + "d009f1c1a5cf0cac7b8e2617a784e331" ], [ "MRefST.witness", @@ -699,11 +691,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.stable", "equation_MRefST.stable_on_heap", "lemma_MRefST.stable_on_heap_stable", - "refinement_interpretation_Tm_refine_3fdeafd9a408f7c625e01e87abdb6170", + "refinement_interpretation_Tm_refine_84103d4d35761d12d97de209c219f7ba", "token_correspondence_MRefST.heap_rel" ], 0, - "47d55280ba7a34e15c5d788cf88d460f" + "841890e054c6846a5f69cdc0ebf50c5d" ], [ "MRefST.recall", @@ -714,11 +706,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.stable", "equation_MRefST.stable_on_heap", "lemma_MRefST.stable_on_heap_stable", - "refinement_interpretation_Tm_refine_3fdeafd9a408f7c625e01e87abdb6170", + "refinement_interpretation_Tm_refine_84103d4d35761d12d97de209c219f7ba", "token_correspondence_MRefST.heap_rel" ], 0, - "f6083f824abc3beb89c485ca54ed9672" + "023ec9376c02f180d5ef231d11795ea6" ], [ "MRefST.recall", @@ -729,11 +721,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.stable", "equation_MRefST.stable_on_heap", "lemma_MRefST.stable_on_heap_stable", - "refinement_interpretation_Tm_refine_3fdeafd9a408f7c625e01e87abdb6170", + "refinement_interpretation_Tm_refine_84103d4d35761d12d97de209c219f7ba", "token_correspondence_MRefST.heap_rel" ], 0, - "9f66fcae2eb49e161147f9e3060b9c72" + "7110b656fda4c7dc4e41e1dfd2f6658f" ] ] ] \ No newline at end of file diff --git a/examples/preorders/MonotonicArray.fst.hints b/examples/preorders/MonotonicArray.fst.hints index 3bbbc847fc6..ffb740e0fb4 100644 --- a/examples/preorders/MonotonicArray.fst.hints +++ b/examples/preorders/MonotonicArray.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e6f49475e5f190368e55eb79afeaa0f1" + "76c70a7e1feb43fcf962ebd6f049de4f" ], [ "MonotonicArray.seq_rel", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b" ], 0, - "a36abdc4bd7240321980b688688abc1f" + "b045972345913febf3df29d477e436fc" ], [ "MonotonicArray.seq_pre", @@ -52,15 +52,15 @@ "equation_MonotonicArray.seq_rel", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MonotonicArray.flag", "int_inversion", - "interpretation_Tm_abs_3c59ba45887379c6829cd32e1101b440", + "interpretation_Tm_abs_2a41f81cb3960af0bc3e8006f6c144c0", "l_and-interp", "l_imp-interp", "l_not-interp", - "l_quant_interp_06f8271884b0fd13dd1faea40aa48a82", + "l_quant_interp_2dae2a79e712d23dc7849dafb82b9a59", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a4a50de294df5786dbb5fb33aef8bd4d" + "05b2a6c5f0df1d1f6f6d212b2d10c37c" ], [ "MonotonicArray.__proj__A__item__s_ref", @@ -72,7 +72,7 @@ "projection_inverse_MonotonicArray.A_m" ], 0, - "2b39ed7cb488fb54695662bd290a3ae9" + "72b46152ef0b1321136d771ea10ee63f" ], [ "MonotonicArray.__proj__A__item__offset", @@ -84,7 +84,7 @@ "projection_inverse_MonotonicArray.A_m" ], 0, - "d7cbb633d65ea6031446030b45acb929" + "0f9a9ff4e0b93ebc50606518d3e415e0" ], [ "MonotonicArray.mutable_pred", @@ -94,7 +94,6 @@ [ "@MaxIFuel_assumption", "@query", "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_MonotonicArray.A", "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", "equality_tok_MonotonicArray.Mutable@tok", @@ -104,19 +103,18 @@ "equation_MonotonicArray.repr", "equation_MonotonicArray.seq_pre", "equation_MonotonicArray.seq_rel", "equation_Prims.eq2", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_3c59ba45887379c6829cd32e1101b440", - "interpretation_Tm_abs_c6903977a4160a782847c9ab0c1e142d", + "interpretation_Tm_abs_2a41f81cb3960af0bc3e8006f6c144c0", + "interpretation_Tm_abs_c2b13f65516e7f58a943f40b81f001bd", "l_and-interp", "l_imp-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "refinement_kinding_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", "typing_MonotonicArray.seq_pre" ], 0, - "8e0e2c6d1669d865739561af90f4606c" + "b74a07ec9fd6de9c5a19df6ddb31bea6" ], [ "MonotonicArray.freezable_pred", @@ -126,7 +124,6 @@ [ "@MaxIFuel_assumption", "@query", "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_MonotonicArray.A", "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", "eq2-interp", "equality_tok_MonotonicArray.Frozen@tok", @@ -138,17 +135,15 @@ "equation_MonotonicArray.repr", "equation_MonotonicArray.seq_pre", "equation_MonotonicArray.seq_rel", "equation_Prims.eq2", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.flag", - "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_3c59ba45887379c6829cd32e1101b440", - "interpretation_Tm_abs_99d1143881bffa96654251f42a010abd", + "fuel_guarded_inversion_MonotonicArray.t", "int_inversion", + "interpretation_Tm_abs_2a41f81cb3960af0bc3e8006f6c144c0", + "interpretation_Tm_abs_8007abdd148d4491e72bbc1ef231aafc", "kinding_FStar.Pervasives.Native.option@tok", "kinding_MonotonicArray.flag@tok", "l_and-interp", "l_imp-interp", "l_not-interp", "l_or-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "refinement_kinding_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", "typing_FStar.Monotonic.Heap.sel", @@ -156,7 +151,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "78c13102498b5a6fd157e238764e88e8" + "56fee42bf1dbdda00c5c0c0b19db1621" ], [ "MonotonicArray.is_full_array", @@ -166,11 +161,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a586a3f63f3ce6c8b35fc9cd4392d89c" + "40d2adfbc31c494d2d72a79f8c561046" ], [ "MonotonicArray.array_footprint", @@ -178,16 +173,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7382941cbcd489a733f39aa9d99d7aa5" + "48cd6c695c629291e7505b2d99e38c41" ], [ "MonotonicArray.fresh_arr", @@ -197,11 +189,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "920689ab97997462b805ea4dc8d3c3d3" + "1f842201ec909187c02e9401d50eb27c" ], [ "MonotonicArray.fcreate", @@ -222,9 +214,7 @@ "equality_tok_MonotonicArray.MutableUntilFrozen@tok", "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_FStar.ST.mref", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.ST.mref", "equation_MonotonicArray.array_footprint", "equation_MonotonicArray.contains_array", "equation_MonotonicArray.farray", @@ -237,9 +227,9 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_MonotonicArray.freezable_pred", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_99d1143881bffa96654251f42a010abd", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_8007abdd148d4491e72bbc1ef231aafc", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", "l_or-interp", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -258,17 +248,18 @@ "projection_inverse_MonotonicArray.A_s_ref", "refinement_interpretation_Tm_refine_0abd72348a3d48e6b5024703275bc79a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.mem", "typing_MonotonicArray.array_footprint", "typing_MonotonicArray.freezable_pred", "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "6b06407381973f196c0e019903f4b11f" + "dff23788108432ddda08f49f8f0aeb88" ], [ "MonotonicArray.create", @@ -289,9 +280,7 @@ "equality_tok_MonotonicArray.Mutable@tok", "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_FStar.ST.mref", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.ST.mref", "equation_MonotonicArray.array", "equation_MonotonicArray.array_footprint", "equation_MonotonicArray.contains_array", @@ -304,9 +293,9 @@ "equation_Prims.pos", "function_token_typing_MonotonicArray.mutable_pred", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_c6903977a4160a782847c9ab0c1e142d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_c2b13f65516e7f58a943f40b81f001bd", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "lemma_FStar.Seq.Base.lemma_create_len", @@ -323,18 +312,19 @@ "projection_inverse_MonotonicArray.A_offset", "projection_inverse_MonotonicArray.A_s_ref", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.mem", "typing_MonotonicArray.array_footprint", "typing_MonotonicArray.mutable_pred", "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "e5c0ed6602c65d0125804f2ee9d38b0a" + "03fe4b3fb553192fb2c63e678822fe7a" ], [ "MonotonicArray.as_seq", @@ -342,23 +332,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.ST.mref", "equation_MonotonicArray.repr", - "equation_MonotonicArray.seq_pre", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_FStar.ST.mref", + "equation_MonotonicArray.repr", "equation_MonotonicArray.seq_pre", + "equation_Prims.nat", "primitive_Prims.op_Addition", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59326a79ac7b4a997deb38c6324243a9", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e4af4cfc8344f8e7a30fd6c0b28da8a1", "typing_FStar.Monotonic.Heap.sel", "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "b2277b96a5b94e61d478db9f66b00b0e" + "0559e0f1dd3a1b24a42ba2ba5821da14" ], [ "MonotonicArray.lemma_as_seq_length", @@ -368,16 +356,14 @@ [ "@MaxIFuel_assumption", "@query", "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_MonotonicArray.A", "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.ST.mref", "equation_MonotonicArray.as_seq", "equation_MonotonicArray.repr", "equation_MonotonicArray.seq_pre", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "kinding_MonotonicArray.flag@tok", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -387,10 +373,10 @@ "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59326a79ac7b4a997deb38c6324243a9", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e4af4cfc8344f8e7a30fd6c0b28da8a1", "refinement_kinding_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.length", @@ -398,7 +384,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "50958ca3145131626aac4722fa778bd2" + "e0f8c032d5f5214a5e59dabc6cc3c19c" ], [ "MonotonicArray.init_at_arr", @@ -413,7 +399,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "c92c293a4492c4b886ae1e22b339cdf3" + "f1506ac1081ea96d1378f1d409250db8" ], [ "MonotonicArray.initialized", @@ -422,12 +408,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", - "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.init_at_seq", "equation_FStar.Pervasives.Native.fst", "equation_FStar.ST.heap_rel", @@ -439,18 +422,13 @@ "equation_MonotonicArray.initialized_", "equation_MonotonicArray.repr", "equation_MonotonicArray.seq_pre", "equation_MonotonicArray.seq_rel", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.emp", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_3c59ba45887379c6829cd32e1101b440", - "interpretation_Tm_abs_f21a5655c24bfda0d9cfea77ad5ac16e", + "interpretation_Tm_abs_2a41f81cb3960af0bc3e8006f6c144c0", + "interpretation_Tm_abs_62814b2ddb024747908d1fbb417240dc", "kinding_FStar.Pervasives.Native.option@tok", "kinding_MonotonicArray.flag@tok", "l_and-interp", - "l_quant_interp_06f8271884b0fd13dd1faea40aa48a82", - "lemma_FStar.Pervasives.invertOption", + "l_quant_interp_2dae2a79e712d23dc7849dafb82b9a59", "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_MonotonicArray.lemma_as_seq_length", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxBool_proj_0", @@ -460,20 +438,18 @@ "projection_inverse_MonotonicArray.A_offset", "projection_inverse_MonotonicArray.A_s_ref", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59326a79ac7b4a997deb38c6324243a9", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e4af4cfc8344f8e7a30fd6c0b28da8a1", "typing_FStar.Monotonic.Heap.sel", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.seq", "typing_MonotonicArray.as_seq", + "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.seq", "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "e9d1f9b6f884b86d671d6081950789e6" + "672ad255211ba3ff314f5eaafe4c7da7" ], [ "MonotonicArray.frozen_pred", @@ -484,7 +460,6 @@ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_MonotonicArray.A", "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", "eq2-interp", "equation_FStar.Pervasives.Native.fst", @@ -497,20 +472,17 @@ "equation_MonotonicArray.repr", "equation_MonotonicArray.seq_pre", "equation_MonotonicArray.seq_rel", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_146caa84b0e52a07fba4971d8dce1008", - "interpretation_Tm_abs_3c59ba45887379c6829cd32e1101b440", + "interpretation_Tm_abs_2a41f81cb3960af0bc3e8006f6c144c0", + "interpretation_Tm_abs_da65f05006c214329b43692e7afaea00", "l_and-interp", "l_imp-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "refinement_kinding_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", "typing_MonotonicArray.as_seq", "typing_MonotonicArray.seq_pre" ], 0, - "bb7b929469aca0f18509b9ae27629d67" + "023ff5352251a67082ac11de1789c908" ], [ "MonotonicArray.freeze", @@ -532,9 +504,7 @@ "equation_ArrayUtils.some_equivalent_seqs", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_FStar.ST.mref", + "equation_FStar.Pervasives.Native.snd", "equation_FStar.ST.mref", "equation_MonotonicArray.array_footprint", "equation_MonotonicArray.as_seq", "equation_MonotonicArray.contains_array", @@ -555,13 +525,13 @@ "function_token_typing_MonotonicArray.freezable_pred", "function_token_typing_MonotonicArray.frozen_pred", "function_token_typing_MonotonicArray.seq_pre", "int_inversion", - "interpretation_Tm_abs_146caa84b0e52a07fba4971d8dce1008", - "interpretation_Tm_abs_3c59ba45887379c6829cd32e1101b440", - "interpretation_Tm_abs_99d1143881bffa96654251f42a010abd", + "interpretation_Tm_abs_2a41f81cb3960af0bc3e8006f6c144c0", + "interpretation_Tm_abs_8007abdd148d4491e72bbc1ef231aafc", + "interpretation_Tm_abs_da65f05006c214329b43692e7afaea00", "kinding_FStar.Pervasives.Native.option@tok", "kinding_MonotonicArray.flag@tok", "l_and-interp", "l_imp-interp", "l_not-interp", "l_or-interp", - "l_quant_interp_06f8271884b0fd13dd1faea40aa48a82", + "l_quant_interp_2dae2a79e712d23dc7849dafb82b9a59", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Seq.Properties.slice_length", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -576,18 +546,18 @@ "projection_inverse_MonotonicArray.A_s_ref", "refinement_interpretation_Tm_refine_0abd72348a3d48e6b5024703275bc79a", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_4b32f136e3a03401a2ea62b4c7ec99c4", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_1c62e78d19d1264e1cf8667026c02501", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_eeae45cb27c3b9c41613fd5cf8829ef1", + "refinement_interpretation_Tm_refine_e71961bbb214a97fbf24e69060b68afc", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.seq", "typing_MonotonicArray.freezable_pred", "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "3ad4a61e85b495e124ac8cc1467d0061" + "be79898d5698d1b167a0e40268b53645" ], [ "MonotonicArray.read", @@ -597,14 +567,11 @@ [ "@MaxIFuel_assumption", "@query", "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_MonotonicArray.A", + "b2t_def", "data_elim_MonotonicArray.A", "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.init_at_seq", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_FStar.ST.mref", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.ST.mref", "equation_MonotonicArray.as_seq", "equation_MonotonicArray.index", "equation_MonotonicArray.init_at", "equation_MonotonicArray.init_at_arr", @@ -614,10 +581,9 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_MonotonicArray.initialized", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_f21a5655c24bfda0d9cfea77ad5ac16e", + "function_token_typing_MonotonicArray.initialized", "int_inversion", + "int_typing", + "interpretation_Tm_abs_62814b2ddb024747908d1fbb417240dc", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_MonotonicArray.lemma_as_seq_length", @@ -631,21 +597,21 @@ "projection_inverse_MonotonicArray.A_offset", "projection_inverse_MonotonicArray.A_s_ref", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59326a79ac7b4a997deb38c6324243a9", "refinement_interpretation_Tm_refine_81607a3aa49a257c80978da6415b0769", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e4af4cfc8344f8e7a30fd6c0b28da8a1", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.index", "typing_MonotonicArray.as_seq", "typing_MonotonicArray.initialized", "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "b1980c0a2918c7ffd5856283c839acd7" + "d88ca6131080f16ecaa71a81fce3ea2f" ], [ "MonotonicArray.write_common", @@ -655,8 +621,7 @@ [ "@MaxIFuel_assumption", "@query", "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_MonotonicArray.Frozen", "constructor_distinct_MonotonicArray.Mutable", "constructor_distinct_MonotonicArray.MutableUntilFrozen", @@ -672,11 +637,9 @@ "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.st_pre_h", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.ST.heap_predicate", "equation_FStar.ST.mref", + "equation_FStar.Preorder.reflexive", "equation_FStar.ST.mref", "equation_MonotonicArray.array_footprint", "equation_MonotonicArray.as_seq", "equation_MonotonicArray.contains_array", @@ -691,14 +654,13 @@ "fuel_guarded_inversion_MonotonicArray.flag", "fuel_guarded_inversion_MonotonicArray.t", "function_token_typing_MonotonicArray.initialized", - "function_token_typing_MonotonicArray.seq_pre", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3c59ba45887379c6829cd32e1101b440", - "interpretation_Tm_abs_f21a5655c24bfda0d9cfea77ad5ac16e", + "function_token_typing_MonotonicArray.seq_pre", "int_inversion", + "int_typing", + "interpretation_Tm_abs_2a41f81cb3960af0bc3e8006f6c144c0", + "interpretation_Tm_abs_62814b2ddb024747908d1fbb417240dc", "kinding_FStar.Pervasives.Native.option@tok", "kinding_MonotonicArray.flag@tok", "l_and-interp", "l_imp-interp", - "l_quant_interp_06f8271884b0fd13dd1faea40aa48a82", + "l_quant_interp_2dae2a79e712d23dc7849dafb82b9a59", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_index_upd1", @@ -716,20 +678,20 @@ "projection_inverse_MonotonicArray.A_offset", "projection_inverse_MonotonicArray.A_s_ref", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_21a921eda03ee9d9d9ef65aae2828926", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5df759715e9a1196335578a55c419714", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59326a79ac7b4a997deb38c6324243a9", + "refinement_interpretation_Tm_refine_92b6ac93fb421c01768ba5431a3071f5", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_ddce57dceec006bb487c878bdffedfbd", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c147c74c24f092faa85f5b977d3e23a4", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e2af26714aacb45b5c7237458083cad9", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e4af4cfc8344f8e7a30fd6c0b28da8a1", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.seq", "typing_MonotonicArray.as_seq", @@ -737,7 +699,7 @@ "typing_MonotonicArray.seq_pre" ], 0, - "1ebc5310a557e6b37abd601a4047e3c9" + "9ef5eff3a0bcfc4ee0f609d4f2f857c0" ], [ "MonotonicArray.write", @@ -749,24 +711,23 @@ "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", "eq2-interp", "equality_tok_MonotonicArray.Mutable@tok", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_MonotonicArray.array", + "equation_MonotonicArray.array", "equation_MonotonicArray.is_mutable", "equation_MonotonicArray.mutable_pred", "equation_MonotonicArray.mutable_pred_", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", "function_token_typing_MonotonicArray.mutable_pred", "int_inversion", - "interpretation_Tm_abs_c6903977a4160a782847c9ab0c1e142d", + "interpretation_Tm_abs_c2b13f65516e7f58a943f40b81f001bd", "l_and-interp", "lemma_MonotonicArray.lemma_as_seq_length", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddce57dceec006bb487c878bdffedfbd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_92b6ac93fb421c01768ba5431a3071f5", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "typing_MonotonicArray.mutable_pred" ], 0, - "57f9a6790e81372ba722ca9262c017a3" + "3e1c8fea87c138bd5052af8c30ec56b6" ], [ "MonotonicArray.fwrite", @@ -777,10 +738,10 @@ "@MaxIFuel_assumption", "@query", "equation_MonotonicArray.farray", "lemma_MonotonicArray.lemma_as_seq_length", "refinement_interpretation_Tm_refine_0abd72348a3d48e6b5024703275bc79a", - "refinement_interpretation_Tm_refine_ddce57dceec006bb487c878bdffedfbd" + "refinement_interpretation_Tm_refine_92b6ac93fb421c01768ba5431a3071f5" ], 0, - "b60c51bcfe18f91957d4baad6cc53480" + "4b31376baccbb125c3736bbea304d727" ], [ "MonotonicArray.sub", @@ -788,18 +749,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e4af4cfc8344f8e7a30fd6c0b28da8a1", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59326a79ac7b4a997deb38c6324243a9", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953" ], 0, - "5505ca82ded5258e6d1c593e6223358e" + "9cf116a737439c4ff0f5a49ca391589d" ], [ "MonotonicArray.suffix", @@ -807,17 +765,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "fuel_guarded_inversion_MonotonicArray.t", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "02077b5567ab1e7f0801e09c5e435b6d" + "28d2bcbc5d139631a7c6e0de61d8e44f" ], [ "MonotonicArray.prefix", @@ -829,7 +785,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d2d87ac46a3c80c1d7a860cbbb40704b" + "dbc35f9f2081086555208f70c0891c4d" ], [ "MonotonicArray.lemma_sub_preserves_array_mutable_flag", @@ -837,27 +793,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_MonotonicArray.A", "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", + "@MaxIFuel_assumption", "@query", "data_elim_MonotonicArray.A", "equation_MonotonicArray.mutable_pred", "equation_MonotonicArray.mutable_pred_", "equation_MonotonicArray.sub", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_MonotonicArray.mutable_pred", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_c6903977a4160a782847c9ab0c1e142d", + "function_token_typing_MonotonicArray.mutable_pred", "int_inversion", + "interpretation_Tm_abs_c2b13f65516e7f58a943f40b81f001bd", "projection_inverse_MonotonicArray.A_m", "projection_inverse_MonotonicArray.A_s_ref", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", "typing_MonotonicArray.mutable_pred" ], 0, - "08e974ce69214bf21cec8ae4985c632b" + "d2f0f393f4183e0256544642f116e2c9" ], [ "MonotonicArray.lemma_sub_preserves_array_freezable_flag", @@ -865,27 +816,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_MonotonicArray.A", "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", + "@MaxIFuel_assumption", "@query", "data_elim_MonotonicArray.A", "equation_MonotonicArray.freezable_pred", "equation_MonotonicArray.freezable_pred_", "equation_MonotonicArray.sub", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", "function_token_typing_MonotonicArray.freezable_pred", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_99d1143881bffa96654251f42a010abd", + "interpretation_Tm_abs_8007abdd148d4491e72bbc1ef231aafc", "projection_inverse_MonotonicArray.A_m", "projection_inverse_MonotonicArray.A_s_ref", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", "typing_MonotonicArray.freezable_pred" ], 0, - "e9c014c6cbfb770f34d0820f152d181b" + "b7319a5a57a19ae083cc634d45c2316b" ], [ "MonotonicArray.lemma_sub_is_slice", @@ -895,14 +842,12 @@ [ "@MaxIFuel_assumption", "@query", "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_MonotonicArray.A", "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.ST.mref", "equation_MonotonicArray.as_seq", "equation_MonotonicArray.repr", "equation_MonotonicArray.seq_pre", "equation_MonotonicArray.sub", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "kinding_MonotonicArray.flag@tok", @@ -915,20 +860,20 @@ "projection_inverse_MonotonicArray.A_m", "projection_inverse_MonotonicArray.A_offset", "projection_inverse_MonotonicArray.A_s_ref", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59326a79ac7b4a997deb38c6324243a9", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e4af4cfc8344f8e7a30fd6c0b28da8a1", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", "refinement_kinding_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Seq.Base.seq", "typing_MonotonicArray.seq_pre" ], 0, - "ef489c432915ccd9ec37e18eca11b623" + "46edbbfe8604e5c91def07b90572460a" ], [ "MonotonicArray.lemma_sub_footprint", @@ -937,22 +882,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_MonotonicArray.A", "equation_MonotonicArray.array_footprint", "equation_MonotonicArray.sub", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "projection_inverse_MonotonicArray.A_m", "projection_inverse_MonotonicArray.A_s_ref", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953" ], 0, - "66ea856773d19b18d84b624c6cea9ee3" + "35418924ce07e2ae0790be967f958ee1" ], [ "MonotonicArray.lemma_sub_contains", @@ -967,7 +909,7 @@ "projection_inverse_MonotonicArray.A_s_ref" ], 0, - "408979db484d2015e1bf2e6dc9e15951" + "f058e1f6cfc017fb866fd1d603a8eea5" ], [ "MonotonicArray.lemma_sub_is_mutable", @@ -982,7 +924,7 @@ "projection_inverse_MonotonicArray.A_s_ref" ], 0, - "663573bd05a9b25e520cec0e9d2cb594" + "8693578ac82b67f5a5c5eb56fd20c5e9" ], [ "MonotonicArray.lemma_sub_frozen", @@ -990,21 +932,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_MonotonicArray.A", + "@MaxIFuel_assumption", "@query", "data_elim_MonotonicArray.A", "equation_ArrayUtils.some_equivalent_seqs", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_MonotonicArray.as_seq", + "equation_MonotonicArray.as_seq", "equation_MonotonicArray.frozen_bit", "equation_MonotonicArray.frozen_pred", "equation_MonotonicArray.frozen_pred_", "equation_MonotonicArray.frozen_with", "equation_MonotonicArray.sub", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_MonotonicArray.frozen_pred", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_146caa84b0e52a07fba4971d8dce1008", + "function_token_typing_MonotonicArray.frozen_pred", "int_inversion", + "int_typing", + "interpretation_Tm_abs_da65f05006c214329b43692e7afaea00", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -1018,20 +956,20 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_MonotonicArray.A_m", "projection_inverse_MonotonicArray.A_s_ref", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_25e23962182c5bfb4af463d98d49b30e", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_3878595f5207dee091872a4537eb7af7", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_a03678d69a2eb47bc653b6c6511ca035", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", - "typing_FStar.Ghost.reveal", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_MonotonicArray.as_seq", - "typing_MonotonicArray.frozen_pred", "typing_MonotonicArray.sub" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "typing_FStar.Ghost.reveal", "typing_FStar.Seq.Base.seq", + "typing_MonotonicArray.as_seq", "typing_MonotonicArray.frozen_pred", + "typing_MonotonicArray.sub" ], 0, - "d20726e17ac7a40388d13b33d4d42b6e" + "36f7a7f0c31a3788f557b67fde132aeb" ], [ "MonotonicArray.lemma_sub_init_at", @@ -1039,13 +977,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_MonotonicArray.A", "disc_equation_FStar.Pervasives.Native.Some", - "equation_ArrayUtils.init_at_seq", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_MonotonicArray.as_seq", + "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.as_seq", "equation_MonotonicArray.contains_array", "equation_MonotonicArray.index", "equation_MonotonicArray.init_at", "equation_MonotonicArray.init_at_arr", @@ -1054,10 +989,9 @@ "equation_MonotonicArray.sub", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_MonotonicArray.initialized", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_f21a5655c24bfda0d9cfea77ad5ac16e", + "function_token_typing_MonotonicArray.initialized", "int_inversion", + "int_typing", + "interpretation_Tm_abs_62814b2ddb024747908d1fbb417240dc", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_MonotonicArray.lemma_as_seq_length", @@ -1068,20 +1002,20 @@ "projection_inverse_MonotonicArray.A_m", "projection_inverse_MonotonicArray.A_s_ref", "refinement_interpretation_Tm_refine_07d42d481cf119dc0746fa408e885a96", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_45b45690e95d6d557b24b79ee0491da4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", "refinement_interpretation_Tm_refine_81607a3aa49a257c80978da6415b0769", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", - "refinement_interpretation_Tm_refine_fe476469419aaf814add845d5e79779e", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_MonotonicArray.as_seq", "typing_MonotonicArray.initialized" ], 0, - "e573913d65bf9b23d0a8947ca3efee40" + "714853b0fb74df911f44bbbadcd9dd67" ], [ "MonotonicArray.recall_init", @@ -1089,30 +1023,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", - "equation_ArrayUtils.init_at_seq", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_MonotonicArray.as_seq", + "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.as_seq", "equation_MonotonicArray.index", "equation_MonotonicArray.init_at", "equation_MonotonicArray.init_at_arr", "equation_MonotonicArray.initialized", "equation_MonotonicArray.initialized_", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_MonotonicArray.initialized", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_f21a5655c24bfda0d9cfea77ad5ac16e", + "function_token_typing_MonotonicArray.initialized", "int_inversion", + "interpretation_Tm_abs_62814b2ddb024747908d1fbb417240dc", "l_and-interp", "lemma_MonotonicArray.lemma_as_seq_length", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_81607a3aa49a257c80978da6415b0769", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_MonotonicArray.initialized", "unit_typing" ], 0, - "343f61fed6e59950eebdd78134c46540" + "b935c78012192eafbd8e77edad83f3e0" ], [ "MonotonicArray.recall_frozen", @@ -1121,21 +1050,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_MonotonicArray.frozen_pred", "equation_MonotonicArray.frozen_pred_", "equation_MonotonicArray.frozen_with", "fuel_guarded_inversion_MonotonicArray.t", "function_token_typing_MonotonicArray.frozen_pred", - "interpretation_Tm_abs_146caa84b0e52a07fba4971d8dce1008", + "interpretation_Tm_abs_da65f05006c214329b43692e7afaea00", "l_and-interp", "refinement_interpretation_Tm_refine_3878595f5207dee091872a4537eb7af7", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", "typing_MonotonicArray.frozen_pred", "unit_typing" ], 0, - "d851c27245e6217af0df0e0338dca4ef" + "79f40e35601f25b7f2154efa8f961a65" ], [ "MonotonicArray.recall_contains", @@ -1149,7 +1076,7 @@ "projection_inverse_MonotonicArray.A_s_ref", "unit_typing" ], 0, - "45691e1556c80c5a19753d83b059378b" + "4f80cad5c3e41ce0f882fa4dec93a14f" ], [ "MonotonicArray.lemma_frozen_implies_init_at", @@ -1157,14 +1084,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.init_at_seq", "equation_ArrayUtils.some_equivalent_seqs", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_MonotonicArray.as_seq", + "equation_MonotonicArray.as_seq", "equation_MonotonicArray.contains_array", "equation_MonotonicArray.frozen_pred", "equation_MonotonicArray.frozen_pred_", @@ -1175,22 +1100,20 @@ "equation_MonotonicArray.initialized_", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", "function_token_typing_MonotonicArray.frozen_pred", - "function_token_typing_MonotonicArray.initialized", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_146caa84b0e52a07fba4971d8dce1008", - "interpretation_Tm_abs_f21a5655c24bfda0d9cfea77ad5ac16e", + "function_token_typing_MonotonicArray.initialized", "int_inversion", + "interpretation_Tm_abs_62814b2ddb024747908d1fbb417240dc", + "interpretation_Tm_abs_da65f05006c214329b43692e7afaea00", "l_and-interp", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_3878595f5207dee091872a4537eb7af7", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_MonotonicArray.frozen_pred" ], 0, - "53e02d56703e0c7f173462748024117e" + "50ac616aa560703bcb5ea6349b2ceee9" ], [ "MonotonicArray.all_init_i_j", @@ -1198,11 +1121,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_8c609505d0458b7f32106b56f6922da9" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ba560d8a941cf6251ebf4b60a86ab6b7" ], 0, - "39f0e30d8c6845729aa94ab4ae8af234" + "284c9bd07843434ee6d774a6b051e478" ], [ "MonotonicArray.all_init", @@ -1211,10 +1134,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8d8432527915d5f3571173e23492c381" + "edfae433bbfc25d9de1e317833798f85" ], [ "MonotonicArray.init_arr_in_heap_i_j", @@ -1222,12 +1145,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "lemma_MonotonicArray.lemma_as_seq_length", - "refinement_interpretation_Tm_refine_8c609505d0458b7f32106b56f6922da9" + "refinement_interpretation_Tm_refine_ba560d8a941cf6251ebf4b60a86ab6b7" ], 0, - "b74d434e0fb70e0e0ed81ba14b133943" + "25540276ba2566eb6eabbbcd2da657ea" ], [ "MonotonicArray.init_arr_in_heap", @@ -1236,10 +1159,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "cf76307e5e6913ebcfa4defc42d1a730" + "d872c3c6653581bf9b9c90b6a0e7fd59" ], [ "MonotonicArray.recall_all_init_i_j", @@ -1251,10 +1174,7 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.init_at_seq", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_MonotonicArray.all_init_i_j", - "equation_MonotonicArray.as_seq", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.init_at", "equation_MonotonicArray.init_at_arr", @@ -1264,21 +1184,21 @@ "function_token_typing_MonotonicArray.initialized", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_f21a5655c24bfda0d9cfea77ad5ac16e", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_62814b2ddb024747908d1fbb417240dc", "l_and-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dc516b1e32ebe0af54652215bf630e9", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_414dbeb3d8d24161127c0d61de138914", - "refinement_interpretation_Tm_refine_96d7b01df8f1ef8d238608f2fa760bf8", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f549b8f0e1b6665855a50a653e74eb1", + "refinement_interpretation_Tm_refine_9a693a1faf8adf1eae7a845c23175ce5", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", + "refinement_interpretation_Tm_refine_f166ffa285da58385ce2ad2356e56767" ], 0, - "65c3a32459f8ec7a9128f9c164696242" + "4decb12becc3a9cf746c145bb8aa3d00" ], [ "MonotonicArray.recall_all_init", @@ -1289,11 +1209,11 @@ "@MaxIFuel_assumption", "@query", "equation_MonotonicArray.all_init", "equation_MonotonicArray.init_arr_in_heap", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "refinement_interpretation_Tm_refine_841a7dab4e44e4e07aab6383c1e10f2e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841a7dab4e44e4e07aab6383c1e10f2e" ], 0, - "5cd720d7f1fb131e78883d5ba6d612d3" + "5d51e061853f86d0f31a66df3a864cf7" ], [ "MonotonicArray.witness_all_init_i_j", @@ -1305,8 +1225,6 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.init_at_seq", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_MonotonicArray.all_init_i_j", "equation_MonotonicArray.contains_array", "equation_MonotonicArray.init_arr_in_heap_i_j", @@ -1318,23 +1236,23 @@ "function_token_typing_MonotonicArray.initialized", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_f21a5655c24bfda0d9cfea77ad5ac16e", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_62814b2ddb024747908d1fbb417240dc", "l_and-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dc516b1e32ebe0af54652215bf630e9", + "refinement_interpretation_Tm_refine_36f301297fabd37650c7555c93775ef8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_414dbeb3d8d24161127c0d61de138914", - "refinement_interpretation_Tm_refine_480d10e0b676cb3a6951014b9f5bf119", - "refinement_interpretation_Tm_refine_8c609505d0458b7f32106b56f6922da9", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f549b8f0e1b6665855a50a653e74eb1", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", + "refinement_interpretation_Tm_refine_ba560d8a941cf6251ebf4b60a86ab6b7", + "refinement_interpretation_Tm_refine_f166ffa285da58385ce2ad2356e56767", "unit_inversion", "unit_typing" ], 0, - "95a70bf66bd2598f90a6ccf58201c0e8" + "a56da1ee0180b1151e065492aca2b51a" ], [ "MonotonicArray.witness_all_init", @@ -1345,11 +1263,11 @@ "@MaxIFuel_assumption", "@query", "equation_MonotonicArray.all_init", "equation_MonotonicArray.init_arr_in_heap", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bd8d4db9d3a9311de14f79ed9ca68931" + "refinement_interpretation_Tm_refine_1610b271f314d3ab4b29e3f89dcdaa2b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "11a2c8dc10974482d7bc3afbd11d3277" + "805119be520dc4a1fa68bfb39e370549" ], [ "MonotonicArray.as_initialized_seq", @@ -1357,20 +1275,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.nat", - "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_MonotonicArray.lemma_as_seq_length", - "refinement_interpretation_Tm_refine_7e0ef605884bf213e0b162984a63eb31", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "fuel_guarded_inversion_MonotonicArray.t", "int_inversion", + "lemma_MonotonicArray.lemma_as_seq_length", + "refinement_interpretation_Tm_refine_4183060ba5404f285780b6cf19647e32", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b49542170a628ccac8740bd0d38b8b45" + "857be16ac47567064e258fecd81f028f" ], [ "MonotonicArray.as_initialized_subseq", @@ -1378,15 +1294,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.nat", - "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.option@tok", + "fuel_guarded_inversion_MonotonicArray.t", "int_inversion", + "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_MonotonicArray.lemma_as_seq_length", @@ -1394,15 +1307,15 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5e6ca8186676c4a43c361642490c1be4", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a2bea900bf9c6309aac9131f4b0fc594", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "b90d6b7bac5287dcd281247274f9b2b6" + "64fae7818983ac5871a3d06154c4c092" ], [ "MonotonicArray.read_subseq_i_j", @@ -1412,8 +1325,7 @@ [ "@MaxIFuel_assumption", "@query", "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_MonotonicArray.A", + "b2t_def", "data_elim_MonotonicArray.A", "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", @@ -1423,12 +1335,12 @@ "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.repr", "equation_MonotonicArray.seq_pre", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "kinding_MonotonicArray.flag@tok", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_MonotonicArray.lemma_as_seq_length", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -1439,21 +1351,21 @@ "projection_inverse_MonotonicArray.A_offset", "projection_inverse_MonotonicArray.A_s_ref", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3afe25c598e781e4bc4fb07cc8ad4bed", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6b8f3f7a9dc567d803f36ce18db8d411", - "refinement_interpretation_Tm_refine_8c609505d0458b7f32106b56f6922da9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59326a79ac7b4a997deb38c6324243a9", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ad6f2d43315767973e5cafa3daf44e77", + "refinement_interpretation_Tm_refine_ba560d8a941cf6251ebf4b60a86ab6b7", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d90b8eae04635c5dcd9661827286f61c", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e4af4cfc8344f8e7a30fd6c0b28da8a1", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.seq", "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "5ce4b9d10bc537d46404842425da33a0" + "db0524d1ab3fb0ae929a03851ca7d2b5" ], [ "MonotonicArray.lemma_framing_of_is_mutable", @@ -1463,11 +1375,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4a54a63636217fc89d106d0a2459ae7c" + "2baefad3771bd72cd2a12cce575b9000" ], [ "MonotonicArray.lemma_framing_of_is_mutable", @@ -1475,8 +1387,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "data_elim_MonotonicArray.A", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.mref", @@ -1484,27 +1395,26 @@ "equation_MonotonicArray.as_seq", "equation_MonotonicArray.contains_array", "equation_MonotonicArray.is_mutable", "equation_MonotonicArray.repr", - "equation_MonotonicArray.seq_pre", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.disjoint_not_in_both", "lemma_FStar.Set.mem_singleton", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_Equality", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "refinement_kinding_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.mem", "typing_MonotonicArray.array_footprint", "typing_MonotonicArray.seq_pre" ], 0, - "7ff02476bf919012a2c9292483b03725" + "53873441aea34cb1d9319fd2d83d18ff" ], [ "MonotonicArray.lemma_framing_of_as_seq", @@ -1514,11 +1424,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bcf3327c8162897411df5c08c08e19d5" + "e54d522e4d38633dbf924a36878b60b1" ], [ "MonotonicArray.lemma_framing_of_as_seq", @@ -1526,35 +1436,34 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "data_elim_MonotonicArray.A", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.mref", "equation_MonotonicArray.array_footprint", "equation_MonotonicArray.as_seq", "equation_MonotonicArray.contains_array", - "equation_MonotonicArray.repr", "equation_MonotonicArray.seq_pre", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_MonotonicArray.repr", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.disjoint_not_in_both", "lemma_FStar.Set.mem_singleton", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_Equality", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "refinement_kinding_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.mem", "typing_MonotonicArray.array_footprint", "typing_MonotonicArray.seq_pre" ], 0, - "8e0d388c0e8938b08cf8be56c120077a" + "5908d91cbce10793cdd3897016eb3da9" ], [ "MonotonicArray.lemma_all_init_i_j_sub", @@ -1562,22 +1471,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_MonotonicArray.all_init", - "equation_MonotonicArray.all_init_i_j", - "equation_MonotonicArray.sub", "equation_Prims.nat", - "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", + "@MaxIFuel_assumption", "@query", "equation_MonotonicArray.all_init", + "equation_MonotonicArray.all_init_i_j", "equation_Prims.nat", + "fuel_guarded_inversion_MonotonicArray.t", "int_inversion", + "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_26091a33962b7c859bfdf23d268f9ca9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", "refinement_interpretation_Tm_refine_841a7dab4e44e4e07aab6383c1e10f2e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997" + "refinement_interpretation_Tm_refine_fa6e2032b6226618d2946ec88b516a44" ], 0, - "e5fba5e1879ae5af5493a9599bf9e6f7" + "5a84f79b267feb03e14ae99aaf3d283c" ], [ "MonotonicArray.lemma_disjoint_sibling_suffix_prefix", @@ -1585,28 +1490,26 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_MonotonicArray.A", "eq2-interp", "eq3-interp", "equation_MonotonicArray.disjoint_sibling", "equation_MonotonicArray.prefix", "equation_MonotonicArray.sub", "equation_MonotonicArray.suffix", "equation_Prims.nat", - "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", "l_or-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_MonotonicArray.t", "int_inversion", + "l_and-interp", "l_or-interp", "primitive_Prims.op_Addition", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_MonotonicArray.A_m", "projection_inverse_MonotonicArray.A_offset", "projection_inverse_MonotonicArray.A_s_ref", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e4af4cfc8344f8e7a30fd6c0b28da8a1" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59326a79ac7b4a997deb38c6324243a9", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "4fa19fd9981b21f8115210328ad47272" + "7de9abe3d2c2d12e0ddd2e68ad903c8e" ], [ "MonotonicArray.lemma_disjoint_sibling_remain_same_for_unrelated_mods", @@ -1614,16 +1517,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "791702a8a37bd56f9df436558fb9960c" + "23015bb2ab7ca20ef003aab16772582f" ], [ "MonotonicArray.lemma_disjoint_sibling_remain_same_for_unrelated_mods", @@ -1638,11 +1538,11 @@ "equation_MonotonicArray.disjoint_siblings_remain_same", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", "l_and-interp", "lemma_MonotonicArray.lemma_framing_of_as_seq", - "refinement_interpretation_Tm_refine_82dda99ad6773c4acfce2d6d585a88d4", - "refinement_interpretation_Tm_refine_8925174e563830f49d5167af2ec946be" + "refinement_interpretation_Tm_refine_6cc4cc8b53b30d178fe768e85f82ce24", + "refinement_interpretation_Tm_refine_ce5b565e4e8ce1a2eb5c9cbff4c59287" ], 0, - "91765e5701d7b07bd7314139a07f1b74" + "c546bce47ba5796c458e01c09fdfcbf4" ], [ "MonotonicArray.lemma_disjoint_sibling_remain_same_transitive", @@ -1651,7 +1551,7 @@ 1, [ "@query", "equation_MonotonicArray.disjoint_siblings_remain_same" ], 0, - "846632280c1cfca04758e908c9b17247" + "1f30ee0ae3ba78c85bdd5f8d3574e6b9" ], [ "MonotonicArray.fill_common", @@ -1661,14 +1561,12 @@ [ "@MaxIFuel_assumption", "@query", "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_MonotonicArray.Frozen", "constructor_distinct_MonotonicArray.Mutable", "constructor_distinct_MonotonicArray.MutableUntilFrozen", "data_elim_MonotonicArray.A", "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", - "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equality_tok_MonotonicArray.Frozen@tok", "equality_tok_MonotonicArray.Mutable@tok", @@ -1691,14 +1589,11 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_MonotonicArray.flag", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_MonotonicArray.seq_pre", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3c59ba45887379c6829cd32e1101b440", - "kinding_FStar.Pervasives.Native.option@tok", - "kinding_MonotonicArray.flag@tok", "l_and-interp", "l_imp-interp", - "l_quant_interp_06f8271884b0fd13dd1faea40aa48a82", - "lemma_FStar.Pervasives.invertOption", + "function_token_typing_MonotonicArray.seq_pre", "int_inversion", + "int_typing", + "interpretation_Tm_abs_2a41f81cb3960af0bc3e8006f6c144c0", + "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", + "l_imp-interp", "l_quant_interp_2dae2a79e712d23dc7849dafb82b9a59", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Properties.slice_slice", "lemma_MonotonicArray.lemma_as_seq_length", @@ -1715,26 +1610,23 @@ "projection_inverse_MonotonicArray.A_m", "projection_inverse_MonotonicArray.A_offset", "projection_inverse_MonotonicArray.A_s_ref", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_242c07654787cb751ca14fcf2abd63da", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59326a79ac7b4a997deb38c6324243a9", + "refinement_interpretation_Tm_refine_92b6ac93fb421c01768ba5431a3071f5", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_d872c5fb83c0bb7ff4e5b2fa63b8aca0", - "refinement_interpretation_Tm_refine_ddce57dceec006bb487c878bdffedfbd", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e4af4cfc8344f8e7a30fd6c0b28da8a1", - "typing_ArrayUtils.copy_seq", "typing_FStar.Monotonic.Heap.sel", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_MonotonicArray.as_seq", "typing_MonotonicArray.repr", - "typing_MonotonicArray.seq_pre" + "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.length", "typing_MonotonicArray.as_seq", + "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "2cd6c8b799c131837e3a6d65ef7f2b85" + "768a368b8e569cabf7ef922fe6f57cc1" ], [ "MonotonicArray.fill_common", @@ -1757,16 +1649,16 @@ "projection_inverse_MonotonicArray.A_m", "projection_inverse_MonotonicArray.A_offset", "projection_inverse_MonotonicArray.A_s_ref", - "refinement_interpretation_Tm_refine_01ddfcd0d553ddfd3e10c745ad7293b8", - "refinement_interpretation_Tm_refine_166402626356384b6562cacb8d578a21", - "refinement_interpretation_Tm_refine_527145c989ce1bde2a89810ad2cf332b", - "refinement_interpretation_Tm_refine_61efdee02bdc88723a6a16578fff4f8b", - "refinement_interpretation_Tm_refine_7067bbf4d8a4b7144549ed2e30271f87", - "refinement_interpretation_Tm_refine_9bdacfd68ec9ecb7621f719b04dd89e1", - "refinement_interpretation_Tm_refine_b552378cf38cc731bf2ca247867d45df" + "refinement_interpretation_Tm_refine_11d849cec8533f77ddd33ced6813c02c", + "refinement_interpretation_Tm_refine_1449dbe9cbc7a0f95f23942b8c53c3cf", + "refinement_interpretation_Tm_refine_1775d80192ad8ab5b1a943c27d34b978", + "refinement_interpretation_Tm_refine_2bbaab55321bd2f6e0738ea31f44d733", + "refinement_interpretation_Tm_refine_31442ca775c0658671c890319ebd9da1", + "refinement_interpretation_Tm_refine_9a12924fd38d3f4033e43620416e7837", + "refinement_interpretation_Tm_refine_ecc83f368fd82d2680e2f7b7bd749455" ], 0, - "e1dec0bd18e38a2e8f29e3d6b7a52ffa" + "26b56ae0c2b631ebdd54474507032deb" ], [ "MonotonicArray.fill_common", @@ -1780,22 +1672,22 @@ "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.ST.mref", "equation_MonotonicArray.repr", "equation_MonotonicArray.seq_pre", - "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", + "fuel_guarded_inversion_MonotonicArray.t", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_01ddfcd0d553ddfd3e10c745ad7293b8", + "refinement_interpretation_Tm_refine_11d849cec8533f77ddd33ced6813c02c", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_7067bbf4d8a4b7144549ed2e30271f87", + "refinement_interpretation_Tm_refine_6347fb2156fdc8d9dd987b4ea83164ce", "refinement_interpretation_Tm_refine_d872c5fb83c0bb7ff4e5b2fa63b8aca0", - "refinement_interpretation_Tm_refine_dbadf16bb4d9994122dc42f877841e35", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_interpretation_Tm_refine_ecc83f368fd82d2680e2f7b7bd749455", "typing_FStar.Monotonic.Heap.sel", "typing_MonotonicArray.repr", "typing_MonotonicArray.seq_pre" ], 0, - "2b4b1fada449c89b0f8e1958bdff9432" + "f4bbb6aa6be32a5f298e0a2927ed5703" ], [ "MonotonicArray.fill", @@ -1805,29 +1697,25 @@ [ "@MaxIFuel_assumption", "@query", "MonotonicArray_pretyping_999af01faf598d6aa669080b717bdc17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_typing_intro_MonotonicArray.MutableUntilFrozen@tok", "eq2-interp", "equality_tok_MonotonicArray.Mutable@tok", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_MonotonicArray.array", + "equation_MonotonicArray.array", "equation_MonotonicArray.is_mutable", "equation_MonotonicArray.mutable_pred", "equation_MonotonicArray.mutable_pred_", "equation_Prims.nat", "fuel_guarded_inversion_MonotonicArray.t", - "function_token_typing_MonotonicArray.mutable_pred", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_c6903977a4160a782847c9ab0c1e142d", + "function_token_typing_MonotonicArray.mutable_pred", "int_inversion", + "interpretation_Tm_abs_c2b13f65516e7f58a943f40b81f001bd", "l_and-interp", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_92b6ac93fb421c01768ba5431a3071f5", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", "refinement_interpretation_Tm_refine_d872c5fb83c0bb7ff4e5b2fa63b8aca0", - "refinement_interpretation_Tm_refine_ddce57dceec006bb487c878bdffedfbd", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "typing_FStar.Seq.Base.length", "typing_MonotonicArray.mutable_pred" ], 0, - "9e3e93cb07ad86b502b1c99d1c75a364" + "2fccf7915d77b94ffd5d45b55de448d7" ], [ "MonotonicArray.ffill", @@ -1835,16 +1723,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d872c5fb83c0bb7ff4e5b2fa63b8aca0", "typing_FStar.Seq.Base.length" ], 0, - "1327568720694573e1a63c8ba64031b3" + "f68bb3bea924f82a9c8311ac8931f323" ], [ "MonotonicArray.repr", @@ -1854,11 +1739,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0df52a61fe605cab70af92b720918c78" + "dd6c5a2f92d190af668ea27740d56b88" ], [ "MonotonicArray.seq_rel", @@ -1874,7 +1759,7 @@ "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b" ], 0, - "75b67b4afd1a68d1c6c9f5878f29865c" + "30a7939846db5b613b98baf27263eaf8" ], [ "MonotonicArray.seq_pre", @@ -1897,15 +1782,15 @@ "equation_MonotonicArray.seq_rel", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_MonotonicArray.flag", "int_inversion", - "interpretation_Tm_abs_3c59ba45887379c6829cd32e1101b440", + "interpretation_Tm_abs_2a41f81cb3960af0bc3e8006f6c144c0", "l_and-interp", "l_imp-interp", "l_not-interp", - "l_quant_interp_06f8271884b0fd13dd1faea40aa48a82", + "l_quant_interp_2dae2a79e712d23dc7849dafb82b9a59", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "refinement_interpretation_Tm_refine_1c06f03ca080cc620e1f3b84e7e08d8b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2b866e46b78a86d31301fe386a608ff5" + "1dfba15ac42f143981a47d28253f24ce" ], [ "MonotonicArray.array_footprint", @@ -1915,11 +1800,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0bc242f55391a14cb4f33d17db29dd50" + "97c00d9b1442570514c69c5184c32c64" ], [ "MonotonicArray.fresh_arr", @@ -1929,11 +1814,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4a982789260ce9e8be81058e03bf3dcf" + "837a7c6444aaad9c39b505af4f92c99b" ], [ "MonotonicArray.fcreate", @@ -1943,11 +1828,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "db2ba7377545e474dc54efef3a34f8c0" + "76ca63b7dae01451dbb3ed6f336c0019" ], [ "MonotonicArray.create", @@ -1957,11 +1842,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d683fe7a3b132c90b3c5b66d91a651f1" + "5f115e6bea0104f3b0ce5ff58ae37a71" ], [ "MonotonicArray.lemma_as_seq_length", @@ -1971,11 +1856,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a573e6fa8c903a901f58de82048a5bf6" + "d08314b05bce3e997627f02ac2290d15" ], [ "MonotonicArray.read", @@ -1992,7 +1877,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "e9e08457e10c0bb8bdc8c862002d52c5" + "ed064987dd10a80b4a3132fa9c4cd00a" ], [ "MonotonicArray.write_common", @@ -2002,10 +1887,10 @@ [ "@MaxIFuel_assumption", "@query", "lemma_MonotonicArray.lemma_as_seq_length", - "refinement_interpretation_Tm_refine_ddce57dceec006bb487c878bdffedfbd" + "refinement_interpretation_Tm_refine_92b6ac93fb421c01768ba5431a3071f5" ], 0, - "8f84e97a5b15e05311728a4d1af12552" + "454138159752a5515a038f2181958e21" ], [ "MonotonicArray.write", @@ -2018,7 +1903,7 @@ "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d" ], 0, - "40393de45c892618a3098a6d1628a3b2" + "e9a41cb7516b6dcfe79f8f4b73429022" ], [ "MonotonicArray.fwrite", @@ -2029,10 +1914,10 @@ "@MaxIFuel_assumption", "@query", "equation_MonotonicArray.farray", "lemma_MonotonicArray.lemma_as_seq_length", "refinement_interpretation_Tm_refine_0abd72348a3d48e6b5024703275bc79a", - "refinement_interpretation_Tm_refine_ddce57dceec006bb487c878bdffedfbd" + "refinement_interpretation_Tm_refine_92b6ac93fb421c01768ba5431a3071f5" ], 0, - "7574a3e9ea6fd87de061fd703a3e92d7" + "8774238ea7c108fa8cd51cf133d11857" ], [ "MonotonicArray.suffix", @@ -2040,17 +1925,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "15e00080ef16be171ba0f0df6f5f0624" + "1c4465e6794c1615cf0cc736986d4763" ], [ "MonotonicArray.suffix", @@ -2058,12 +1940,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2" + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "eb7e504e738f86ceb5b07566da450c49" + "8416b9d6e4384f9db8dbe2072c902d8a" ], [ "MonotonicArray.prefix", @@ -2075,7 +1957,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "ecacfd83e47d05b97b65db9bfd43a1e2" + "590082f75942fce5c9dced89aff452d7" ], [ "MonotonicArray.lemma_sub_is_slice", @@ -2083,19 +1965,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_MonotonicArray.lemma_as_seq_length", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953" ], 0, - "f0c2cbb359bac5586d4741ec2057e9fd" + "77b7affc79030629583bab3735d7813d" ], [ "MonotonicArray.lemma_sub_footprint", @@ -2105,11 +1984,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6f99167edeedb438275ac9fbaa414f83" + "4c3729ef0dd6732708f6c4f101fbc1f5" ], [ "MonotonicArray.lemma_sub_frozen", @@ -2117,20 +1996,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", + "equation_Prims.nat", "equation_Prims.squash", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953" ], 0, - "f6a1f7b09426b1a20fbdd86c8c5cafaa" + "6f21507613864e9b05af7c47f4016867" ], [ "MonotonicArray.lemma_sub_init_at", @@ -2138,20 +2014,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_MonotonicArray.index", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "@MaxIFuel_assumption", "@query", "equation_MonotonicArray.index", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_07d42d481cf119dc0746fa408e885a96", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_45b45690e95d6d557b24b79ee0491da4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_81607a3aa49a257c80978da6415b0769", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fe476469419aaf814add845d5e79779e" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "2dc666ed5843fc0f1253bd9dd902ab1b" + "ee74e4d93c0cda697e9c24200abd6728" ], [ "MonotonicArray.recall_init", @@ -2168,7 +2041,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "b696b10902e85ec6dc6765ebd714d826" + "50d9535769d66bc08af7a2bd71b78e30" ], [ "MonotonicArray.all_init_i_j", @@ -2176,11 +2049,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_8c609505d0458b7f32106b56f6922da9" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_ba560d8a941cf6251ebf4b60a86ab6b7" ], 0, - "bd8eb7b39a0e73683f34ed76704dd0e8" + "c24c50fe3ca9e140ed7e04f00de2d4fd" ], [ "MonotonicArray.all_init", @@ -2189,10 +2062,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d6e3471186544500a71804739c62f128" + "af288d6ef425e86d0868052d71bd83c7" ], [ "MonotonicArray.init_arr_in_heap_i_j", @@ -2200,12 +2073,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "lemma_MonotonicArray.lemma_as_seq_length", - "refinement_interpretation_Tm_refine_8c609505d0458b7f32106b56f6922da9" + "refinement_interpretation_Tm_refine_ba560d8a941cf6251ebf4b60a86ab6b7" ], 0, - "c575761bbff9cde21d8f44485789c827" + "c87fa8350acb7c6b5ab1a9631d9656dd" ], [ "MonotonicArray.init_arr_in_heap", @@ -2214,10 +2087,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9303ee8309958089a4e879e62ea88c1d" + "599ca1c72d703f4321d3a73de8066648" ], [ "MonotonicArray.recall_all_init_i_j", @@ -2226,7 +2099,7 @@ 1, [ "@query" ], 0, - "575b71e573ab34ed9324232f063c8186" + "f28f831abd3974bd7b646ff59aff0f0a" ], [ "MonotonicArray.as_initialized_seq", @@ -2234,19 +2107,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_MonotonicArray.lemma_as_seq_length", - "refinement_interpretation_Tm_refine_7e0ef605884bf213e0b162984a63eb31", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_4183060ba5404f285780b6cf19647e32", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f6caafc278c51b385727e8d9e17fd31a" + "50364017d937fb6de09ecdab99ad65e4" ], [ "MonotonicArray.as_initialized_subseq", @@ -2254,13 +2125,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -2270,16 +2139,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5e6ca8186676c4a43c361642490c1be4", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a2bea900bf9c6309aac9131f4b0fc594", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index" ], 0, - "b77cb3f1c5054af844b02250631d306d" + "c50d97cc8d82960fd224c0ea66508223" ], [ "MonotonicArray.read_subseq_i_j", @@ -2288,7 +2157,7 @@ 1, [ "@query" ], 0, - "9573a6fca7fcd87810312bd7a3426228" + "584878c35915e9578cfa4b956cbf6a27" ], [ "MonotonicArray.lemma_framing_of_is_mutable", @@ -2296,16 +2165,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bfe21c9d89bf483dc2c0d372a8e78a8e" + "2ea46c42da227e3c3a8d0751edcc3cf0" ], [ "MonotonicArray.lemma_framing_of_as_seq", @@ -2313,16 +2179,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1d49899dfa63add73d9524cf56188ceb" + "b5675463803fc7567ccd9dc4da7fe8b6" ], [ "MonotonicArray.lemma_disjoint_sibling_suffix_prefix", @@ -2330,17 +2193,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "daea4eafac70b1a7f15f00293a34abbd" + "4f2ec67666d574b2f538a27ad0b427cf" ], [ "MonotonicArray.lemma_disjoint_sibling_remain_same_for_unrelated_mods", @@ -2348,16 +2208,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9bd7378a7583362c9324097af8fbbed0" + "c36addd1d56286e4c8781c09fc82d011" ], [ "MonotonicArray.fill_common", @@ -2365,16 +2222,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d872c5fb83c0bb7ff4e5b2fa63b8aca0", "typing_FStar.Seq.Base.length" ], 0, - "6024f5ecca1819cbd3f9de73f5796882" + "a29b5e7df92169904203b84565cc1be5" ], [ "MonotonicArray.fill", @@ -2382,16 +2236,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d872c5fb83c0bb7ff4e5b2fa63b8aca0", "typing_FStar.Seq.Base.length" ], 0, - "40410c4829b501884cd37ef86dced3a0" + "9d99cd47496fb12c32754a7bd10fdf5b" ], [ "MonotonicArray.ffill", @@ -2399,16 +2250,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d872c5fb83c0bb7ff4e5b2fa63b8aca0", "typing_FStar.Seq.Base.length" ], 0, - "df8c28497c62d1f13613325a3965f476" + "41b0ec1663e35b3c54776f05167bc205" ] ] ] \ No newline at end of file diff --git a/examples/preorders/NatHeap.fst.hints b/examples/preorders/NatHeap.fst.hints index 3b7f15958b3..d1a0ce11dd6 100644 --- a/examples/preorders/NatHeap.fst.hints +++ b/examples/preorders/NatHeap.fst.hints @@ -17,7 +17,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "282a6a48d0e89a3bdf479f7fc5d7e77f" + "bfa787ef44a6212d742f998a6d74d278" ], [ "NatHeap.alloc_ref", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "be67aa4e448c6ba46439d08b6ead7824" + "91288477115b2d974eea83ace49b9bf3" ], [ "NatHeap.alloc_ref", @@ -38,14 +38,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", + "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_NatHeap.contains", "equation_NatHeap.heap", "equation_NatHeap.ref", @@ -53,12 +55,10 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_NatHeap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_b5a95a18a36603c66bbc964cc60e2242", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_fa1972c58aa5d1db48df78048fae6a64", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -71,16 +71,20 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_661df9fac53c1aa9dfae4938e83032c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96", - "typing_FStar.FunctionalExtensionality.restricted_t", + "refinement_interpretation_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_kinding_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "7aecaef1dbd37ecbffcc28e80ab6658c" + "597f7c4f77072fa6e054e159131feef1" ], [ "NatHeap.upd", @@ -92,7 +96,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "d0c0acbe08d9fd1f597a3ddc04fe0bf9" + "3d7c1da6861c8e6892be03c65c1685e0" ], [ "NatHeap.upd", @@ -101,14 +105,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_NatHeap.contains", @@ -116,11 +121,10 @@ "equation_NatHeap.sel", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c8377daa6996bf7cce8b21e4d75b66ee", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_278857eefeb5694cca21f6b3f1ee9f74", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -133,15 +137,16 @@ "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_661df9fac53c1aa9dfae4938e83032c9", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96", + "refinement_interpretation_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Pervasives.Native.snd", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "1d44556466527a6194028bd4760a2220" + "df01ece75b6b37503e46f5b97b80af85" ], [ "NatHeap.emp", @@ -150,29 +155,30 @@ 1, [ "@MaxIFuel_assumption", "@query", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Pervasives.Native.snd", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "00b95cdc239fbd4b2db8190473d21230" + "41233e518418c9ad5d2bf96a6396cbcd" ], [ "NatHeap.concat", @@ -181,34 +187,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.None", - "data_elim_Prims.Mkdtuple2", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_NatHeap.emp", - "equation_NatHeap.heap", "equation_NatHeap.max", - "equation_Prims.logical", "equation_Prims.nat", + "equation_FStar.Pervasives.Native.snd", "equation_NatHeap.heap", + "equation_NatHeap.max", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_NatHeap.emp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2dec7dbab9b7ef58d88a130ee50ef407", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "kinding_Prims.dtuple2@tok", + "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_GreaterThan", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -218,19 +216,16 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2e41fb7d06e112424daaf88d02c96d15", - "refinement_interpretation_Tm_refine_661df9fac53c1aa9dfae4938e83032c9", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_f2a7258a07d1d96cb6c864908ecae400", + "refinement_interpretation_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Pervasives.Native.snd", - "typing_FStar.FunctionalExtensionality.restricted_t", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "1fe06caa56ec09f5a4bfd962ce555aa3" + "0897a22d493c46341f57080f3e1db6f8" ], [ "NatHeap.consistent_refl", @@ -242,7 +237,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "d3820a14da973cb35963295eb047a5fe" + "46a8457eb72a69b71f2c4223fbb764ab" ], [ "NatHeap.emp_consistent", @@ -251,30 +246,38 @@ 1, [ "@MaxIFuel_assumption", "@query", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "equation_FStar.FunctionalExtensionality.restricted_t", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_NatHeap.consistent", "equation_NatHeap.emp", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "equation_NatHeap.heap", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_FStar.Pervasives.Native.snd", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_FStar.Pervasives.Native.fst", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "5b4925cf609f95f383ffeef540955888" + "a3fa399bb6a3ba30a38d5be11226ed6e" ], [ "NatHeap.upd_consistent", @@ -283,22 +286,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Pervasives.dfst", "equation_NatHeap.consistent", "equation_NatHeap.contains", "equation_NatHeap.heap", "equation_NatHeap.ref", "equation_NatHeap.sel", "equation_NatHeap.upd", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c8377daa6996bf7cce8b21e4d75b66ee", + "int_inversion", + "interpretation_Tm_abs_278857eefeb5694cca21f6b3f1ee9f74", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -309,17 +312,18 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_661df9fac53c1aa9dfae4938e83032c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_85621f6b13017c7f48eb2b0b56d56485", "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96", - "refinement_interpretation_Tm_refine_ce1bbc0041beb9be57b139c98a8c9ca1", + "refinement_interpretation_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Pervasives.Native.snd", "typing_NatHeap.upd", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_c8377daa6996bf7cce8b21e4d75b66ee" + "typing_Tm_abs_278857eefeb5694cca21f6b3f1ee9f74", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "851e2df7cdcc6c27d91c966e93818f01" + "660f749314629ecf3df331554580fb81" ], [ "NatHeap.alloc_ref_consistent", @@ -328,37 +332,42 @@ 1, [ "@MaxIFuel_assumption", "@query", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "equation_FStar.FunctionalExtensionality.restricted_t", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_NatHeap.alloc_ref", "equation_NatHeap.consistent", "equation_NatHeap.heap", "equation_NatHeap.ref", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_b5a95a18a36603c66bbc964cc60e2242", + "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_fa1972c58aa5d1db48df78048fae6a64", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_661df9fac53c1aa9dfae4938e83032c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81559c2acf3805dd0108c30eedb8fa98", + "refinement_interpretation_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_facce1686c7a52366b131e42a1c2bdac", "token_correspondence_FStar.Pervasives.Native.snd", - "typing_FStar.FunctionalExtensionality.restricted_t", - "typing_FStar.Pervasives.Native.fst", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_b5a95a18a36603c66bbc964cc60e2242" + "typing_FStar.Pervasives.Native.fst", "typing_NatHeap.alloc_ref", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_fa1972c58aa5d1db48df78048fae6a64" ], 0, - "0df787b1b616673a341f85f8c12dc18c" + "4e8daa5f1c450b5b13e50a0b392de473" ], [ "NatHeap.contains_sel", @@ -378,7 +387,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "fbd1096db623b6159d8df216e9fc36a6" + "20f627ac13f3e72db1bc49a547a01da4" ], [ "NatHeap.contains_upd", @@ -386,15 +395,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_NatHeap.heap", - "equation_NatHeap.ref", "equation_NatHeap.upd", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ce1bbc0041beb9be57b139c98a8c9ca1", + "@MaxIFuel_assumption", "@query", "equation_NatHeap.ref", + "equation_NatHeap.upd", "equation_Prims.nat", "int_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_85621f6b13017c7f48eb2b0b56d56485", "typing_NatHeap.upd" ], 0, - "1cbed3000851b22b3d6b907fd79ab89e" + "5b5bb2a21b0675a656993afbfc7258d7" ], [ "NatHeap.contains_emp", @@ -403,27 +411,30 @@ 1, [ "@MaxIFuel_assumption", "@query", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.snd", "equation_NatHeap.contains", "equation_NatHeap.emp", "equation_NatHeap.ref", "equation_Prims.nat", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_4da172b34fadf48770712dc41820c83b", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Pervasives.Native.snd", - "typing_Tm_abs_4da172b34fadf48770712dc41820c83b", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" ], 0, - "362a7f58edb44c325b1d0212275c5d0e" + "f383436fc4a306524782d6065e49ef18" ], [ "NatHeap.sel_upd1", @@ -435,7 +446,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "3a2a3771cbabfc0af393caac78179e89" + "d4906f16b2b6ea4bdb1dd6adfd3932b9" ], [ "NatHeap.sel_upd1", @@ -443,13 +454,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_NatHeap.heap", - "equation_NatHeap.upd", - "refinement_interpretation_Tm_refine_ce1bbc0041beb9be57b139c98a8c9ca1", + "@MaxIFuel_assumption", "@query", "equation_NatHeap.upd", + "refinement_interpretation_Tm_refine_85621f6b13017c7f48eb2b0b56d56485", "typing_NatHeap.upd" ], 0, - "699253baef2d9132c1792ffb67d9ea3d" + "980883c6e190cd6c9c863b620be86022" ], [ "NatHeap.sel_upd2", @@ -461,7 +471,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "915d198c61962bd8fa5ee788c56f8d23" + "1b62fbafd212d03384be771dc4974c2e" ], [ "NatHeap.sel_upd2", @@ -469,13 +479,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_NatHeap.heap", - "equation_NatHeap.upd", - "refinement_interpretation_Tm_refine_ce1bbc0041beb9be57b139c98a8c9ca1", + "@MaxIFuel_assumption", "@query", "equation_NatHeap.upd", + "refinement_interpretation_Tm_refine_85621f6b13017c7f48eb2b0b56d56485", "typing_NatHeap.upd" ], 0, - "bc376f9015b29ffd680712bb3be59299" + "d75895f8cff54ff34bee69746580f47f" ], [ "NatHeap.upd_sel", @@ -484,25 +493,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Pervasives.Native_interpretation_Tm_arrow_bd1227b5e537b64c3a90ae9e01d7beaf", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_NatHeap.contains", "equation_NatHeap.heap", "equation_NatHeap.ref", "equation_NatHeap.sel", "equation_NatHeap.upd", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_c8377daa6996bf7cce8b21e4d75b66ee", + "function_token_typing_FStar.Pervasives.Native.snd", "int_inversion", + "interpretation_Tm_abs_278857eefeb5694cca21f6b3f1ee9f74", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", @@ -513,18 +521,19 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_661df9fac53c1aa9dfae4938e83032c9", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96", + "refinement_interpretation_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_FStar.Pervasives.Native.snd", "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.FunctionalExtensionality.restricted_t", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "typing_Tm_abs_c8377daa6996bf7cce8b21e4d75b66ee" + "typing_Tm_abs_278857eefeb5694cca21f6b3f1ee9f74", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" ], 0, - "bb72160a692a03efd8ad70c1a9357b9b" + "9ed1dcf6ec2667233471274cce43e9ec" ], [ "NatHeap.contains_concat1", @@ -533,8 +542,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -543,7 +554,6 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Pervasives.dfst", "equation_NatHeap.concat", @@ -552,11 +562,10 @@ "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2dec7dbab9b7ef58d88a130ee50ef407", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65", + "function_token_typing_Prims.logical", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "interpretation_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7", "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", @@ -568,16 +577,17 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2e41fb7d06e112424daaf88d02c96d15", - "refinement_interpretation_Tm_refine_661df9fac53c1aa9dfae4938e83032c9", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_f2a7258a07d1d96cb6c864908ecae400", + "refinement_interpretation_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Pervasives.Native.snd", - "typing_Tm_abs_2dec7dbab9b7ef58d88a130ee50ef407", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7" ], 0, - "921b37310b247636f21a04d7cf7d2d4e" + "ec2946913c12960b18ee081559777890" ], [ "NatHeap.contains_concat2", @@ -586,34 +596,42 @@ 1, [ "@MaxIFuel_assumption", "@query", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "constructor_distinct_FStar.Pervasives.Native.None", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Pervasives.Native.option", + "constructor_distinct_Prims.unit", + "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.snd", "equation_NatHeap.concat", "equation_NatHeap.contains", "equation_NatHeap.heap", "equation_NatHeap.ref", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2dec7dbab9b7ef58d88a130ee50ef407", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2e41fb7d06e112424daaf88d02c96d15", - "refinement_interpretation_Tm_refine_661df9fac53c1aa9dfae4938e83032c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_f2a7258a07d1d96cb6c864908ecae400", + "refinement_interpretation_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Pervasives.Native.snd", - "typing_Tm_abs_2dec7dbab9b7ef58d88a130ee50ef407", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_NatHeap.concat", + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7", "unit_typing" ], 0, - "9bf81c27742caec77247d79228f47864" + "7f5b38d9c33f4793689ef4f947b04a00" ], [ "NatHeap.sel_concat1", @@ -625,7 +643,7 @@ "refinement_interpretation_Tm_refine_241ad8bfe898ca08359d47be04127cb2" ], 0, - "666d6ce3310d87bea975238a9d464baa" + "114f8f419b1c4c45ef49a2fcfc8c75a5" ], [ "NatHeap.sel_concat1", @@ -634,17 +652,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_caf985f824d0c8c31cc1333a92d97b40", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Mkdtuple2", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Pervasives.dfst", "equation_NatHeap.concat", @@ -654,13 +673,10 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2dec7dbab9b7ef58d88a130ee50ef407", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", - "interpretation_Tm_abs_a9812c86ef62bbb577ce57f6d6a39b65", + "function_token_typing_Prims.logical", "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", + "interpretation_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7", "kinding_Prims.dtuple2@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", @@ -674,18 +690,18 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Mkdtuple2__1", "refinement_interpretation_Tm_refine_241ad8bfe898ca08359d47be04127cb2", - "refinement_interpretation_Tm_refine_2e41fb7d06e112424daaf88d02c96d15", - "refinement_interpretation_Tm_refine_661df9fac53c1aa9dfae4938e83032c9", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_f2a7258a07d1d96cb6c864908ecae400", + "refinement_interpretation_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Pervasives.Native.snd", - "typing_FStar.FunctionalExtensionality.restricted_t", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_Tm_abs_2dec7dbab9b7ef58d88a130ee50ef407", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7" ], 0, - "dbb506eed0f4e69e94f08c8a953b175d" + "0468c5f008b05c530307245aca617d48" ], [ "NatHeap.sel_concat2", @@ -697,7 +713,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "6b35f4eb6594beacd7a596affd1d2239" + "ed43722c42aed58d23afb538b250b722" ], [ "NatHeap.sel_concat2", @@ -706,21 +722,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "NatHeap_interpretation_Tm_arrow_5228397acdbc6d9100dee84537889682", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "NatHeap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", + "NatHeap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Pervasives.Native.snd", "equation_NatHeap.concat", "equation_NatHeap.contains", "equation_NatHeap.heap", "equation_NatHeap.ref", "equation_NatHeap.sel", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2dec7dbab9b7ef58d88a130ee50ef407", - "interpretation_Tm_abs_827f13a9613cacc88efb4deda70b853c", + "int_inversion", + "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "interpretation_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_NatHeap.contains_concat2", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -728,16 +744,17 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2e41fb7d06e112424daaf88d02c96d15", - "refinement_interpretation_Tm_refine_661df9fac53c1aa9dfae4938e83032c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96", + "refinement_interpretation_Tm_refine_f2a7258a07d1d96cb6c864908ecae400", + "refinement_interpretation_Tm_refine_facce1686c7a52366b131e42a1c2bdac", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Pervasives.Native.snd", - "typing_Tm_abs_2dec7dbab9b7ef58d88a130ee50ef407", - "typing_Tm_abs_827f13a9613cacc88efb4deda70b853c" + "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", + "typing_Tm_abs_be68577b6111a37d97443f6d3a0dc9b7" ], 0, - "0349e0c7784762470dc68bc9e6dc3eee" + "2ef90648f1f096c4228c933182a09f82" ], [ "NatHeap.alloc_ref", @@ -749,7 +766,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "c3a6a2f9503f8fc77924983684eba26d" + "cca9d994875927db02cfe5af93ef6d91" ], [ "NatHeap.upd", @@ -761,7 +778,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "8e3b57cf49e67ee064b7274da3c06428" + "bc5b7c2b5aeba59ceb635725d3fe6d3a" ], [ "NatHeap.sel_upd1", @@ -773,7 +790,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "f0fb8a7e68026cf1602f4abb57f2c6ff" + "9b5c52ed9dcea347f3629c12c8c5d897" ], [ "NatHeap.sel_upd2", @@ -785,7 +802,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "f7c0273748140e20ad5c636d4a21d079" + "4e1536d0ec691bae1a343196b9ab888a" ], [ "NatHeap.sel_concat1", @@ -797,7 +814,7 @@ "refinement_interpretation_Tm_refine_241ad8bfe898ca08359d47be04127cb2" ], 0, - "646513283571162b9ce3a052ba142162" + "06a099f33a152de5137b7b84453f0757" ], [ "NatHeap.sel_concat2", @@ -809,7 +826,7 @@ "refinement_interpretation_Tm_refine_bd8b23217d2ca10ddfdabbb5d0948e96" ], 0, - "7a3ab1059c705650ad85ca139124c2b5" + "911959fb790ed03fbc015a2e400eb760" ] ] ] \ No newline at end of file diff --git a/examples/preorders/Protocol.fst b/examples/preorders/Protocol.fst index 74bdad987ff..43826771037 100644 --- a/examples/preorders/Protocol.fst +++ b/examples/preorders/Protocol.fst @@ -562,7 +562,7 @@ val receive_aux h1 `live_connection` c /\ receive_aux_post #n file c h_init from pos ropt h1)) -#push-options "--query_stats" +#reset-options "--max_fuel 0 --max_ifuel 0 --z3rlimit 20 --using_facts_from '* -ArrayUtils.lemma_get_some_equivalent_append'" let rec receive_aux #n file c h_init from pos = let h0 = ST.get() in let filled0 = prefix file pos in @@ -572,10 +572,10 @@ let rec receive_aux #n file c h_init from pos assert (array_footprint sub_file == array_footprint file); match receive sub_file c with | None -> None - | Some k -> + | Some k -> let h1 = ST.get () in let filled_bytes0' = iarray_as_seq filled0 in - lemma_disjoint_sibling_suffix_prefix file pos; + lemma_disjoint_sibling_suffix_prefix file pos; assert (filled_bytes0 == filled_bytes0'); let filled = prefix file (pos + k) in recall_all_init_i_j sub_file 0 k; @@ -583,9 +583,9 @@ let rec receive_aux #n file c h_init from pos extend_initialization file pos k h1; witness_all_init filled; let filled_bytes1 = iarray_as_seq filled in - let received_frag = read_subseq_i_j sub_file 0 k in - let h2 = ST.get () in - assert (h2 == h1); + let received_frag = read_subseq_i_j sub_file 0 k in + let h2 = ST.get () in + assert (h2 == h1); assert (log c h0 == log c h1); assert (sent_bytes filled_bytes0 c from (ctr c h0) h0); assert (filled_bytes0 == flatten (Seq.slice (log c h0) from (ctr c h0))); @@ -606,9 +606,12 @@ let rec receive_aux #n file c h_init from pos assert (modifies_r c file h0 h1); //weaken assert (modifies_r c file h0 h_post); //transitivity assert (receive_aux_post #n file c h_init from pos res h_post); + assert (modifies_r c file h0 h_post /\ + h_post `live_connection` c /\ + receive_aux_post #n file c h_init from pos res h_post); res) else None - +#reset-options val receive_file (#n:nat{fragment_size <= n}) (file:array byte n) (c:connection{receiver c /\ Set.disjoint (connection_footprint c) (array_footprint file)}) diff --git a/examples/preorders/Protocol.fst.hints b/examples/preorders/Protocol.fst.hints index 9823dff653f..13193e7a9b7 100644 --- a/examples/preorders/Protocol.fst.hints +++ b/examples/preorders/Protocol.fst.hints @@ -1,5 +1,5 @@ [ - "Ã7õ\u0006\bG\u0006œe\u0015v+¼a¦-", + "\u0000r\t¦\u0001\u0018˜Ž7Ÿ€û\u0019ÞÌ\\", [ [ "Protocol.lemma_seq_append_unstable", @@ -7,10 +7,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -22,17 +19,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_4eafbcb438fb79493974de24a3b20fd7", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e817afe063dc290a16f0283d5f203109", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "6799b51081559a095e20f1f0ead4e84f" + "55144df9759dac54a1ec75e490fd9fd1" ], [ "Protocol.network_message", @@ -42,11 +39,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c8639a9f18983b3bf1cbade10d2ae5cf" + "a4bdd8dee6cc9ba08c50da68dc4e0ac9" ], [ "Protocol.zeroes", @@ -56,11 +53,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "667028707ee112e5ceb77667575890e0" + "d7b6c6076f0bebdfefc5ef4c40217dac" ], [ "Protocol.zeroes", @@ -72,7 +69,7 @@ "lemma_FStar.Seq.Base.lemma_create_len", "typing_Protocol.zero_b" ], 0, - "0f0101056b3abf8618abd71d40bd6134" + "f61ded6f12421a40e6355eefb240207e" ], [ "Protocol.pad", @@ -80,21 +77,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Protocol.message", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Protocol.byte", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Protocol.message", "function_token_typing_Protocol.byte", + "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ab7f67372ea9c5cf0fb97bcb8587305", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d872c5fb83c0bb7ff4e5b2fa63b8aca0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8cf65a0e984801514f164a721568601b", + "refinement_interpretation_Tm_refine_d67864297fcf8add81b20505cbf933e2", "typing_FStar.Seq.Base.length", "typing_Protocol.fragment_size" ], 0, - "6f95e4b0bd29b299e5e6fa69f9b97ad0" + "d89142869e9adeea986b052520ad86f7" ], [ "Protocol.unpad", @@ -104,11 +98,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9bd7537cc4ee2d53cf93a43fe77f3515" + "f087bead9fbb06b1d5f0194408a8e009" ], [ "Protocol.__proj__E__item__cipher", @@ -121,7 +115,7 @@ "projection_inverse_Protocol.E_msg" ], 0, - "a681a6df7f36ac59228e33f3ab3cca8a" + "c9f2f53cfe595430216c2992f4f80476" ], [ "Protocol.__proj__E__item__tag", @@ -134,7 +128,7 @@ "projection_inverse_Protocol.E_i" ], 0, - "c7caf4ec663a859ba405065ba8559619" + "86a3db49f7790fd04094e1a56a1f42d5" ], [ "Protocol.entries", @@ -144,11 +138,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "10c25a04d764dda389493fc67df56c17" + "9250e558ad7a3212fca8e34f707f67d8" ], [ "Protocol.is_prefix_of", @@ -157,7 +151,7 @@ 1, [ "@query" ], 0, - "39981cd194eb0bd770e103e5582533fd" + "60f025a4256d6d8d003b9a0afcc16f1b" ], [ "Protocol.entries_pre", @@ -169,10 +163,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "41a3a5fcee884ae46cc538fe085eed7d" + "f646a748aa8faff7632387c538ff216e" ], [ "Protocol.counter_pred", @@ -184,10 +178,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "a1eacccd6c84649a1afafaab734b4b93" + "204f4940f2bc9513044410755e44dee2" ], [ "Protocol.counter_pred", @@ -204,17 +198,17 @@ "equation_Prims.nat", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "int_inversion", - "interpretation_Tm_abs_61e8acb5a424cb357bc03b6d02292e60", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "interpretation_Tm_abs_545607f5016b8a9efe7d1f635f16c449", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "typing_Protocol.entries", "typing_Protocol.entries_rel" ], 0, - "9c40b5d1f4612f58b2d844da87be349e" + "75b42c83b7237c45be03a4f68c9b6690" ], [ "Protocol.counter_t", @@ -226,10 +220,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "c0ae23dd5f35a1b89924a449074b6b4a" + "c9421256ebd6da4b2df24abef0017a39" ], [ "Protocol.counter_rel", @@ -241,10 +235,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "b8d53ad4308a335ebfb2fd85180f5570" + "4b1ea38d05795415123e2dcbd26f36a9" ], [ "Protocol.counter_pre", @@ -256,10 +250,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "0cb2fdbb5499bfd12e5880c0c6401ea8" + "bf644cf01930f358c654fd5fd1497bdb" ], [ "Protocol.counter_pre", @@ -271,12 +265,12 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.counter_rel", "equation_Protocol.counter_t", - "interpretation_Tm_abs_d592ffd623391d3ab4b7320762157c39", + "interpretation_Tm_abs_7bb1aca7f565f38c176c14dd92322edb", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "b08f09009c8974b93e4c6efdd4796f4a" + "4a076a1aeaaeb4ea8b3c4e11874f9d5e" ], [ "Protocol.connection", @@ -288,10 +282,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "847b17e41fbe15644004e6a22530c41e" + "22c29bb006346b7c5d53483226726e8d" ], [ "Protocol.connection", @@ -303,10 +297,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "7d2eaf4eff66607bca194b9aa346db54" + "ac14ec03b657080f2ac2f0c66668d066" ], [ "Protocol.__proj__S__item__rand", @@ -319,7 +313,7 @@ "refinement_interpretation_Tm_refine_e6ab7d7d11fd937f30ad6128228c18b5" ], 0, - "18d6af81fa975670482a2f079c89fb68" + "b4948d1f27e8f6fa4480908e8491bec5" ], [ "Protocol.__proj__S__item__entries", @@ -331,11 +325,11 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "proj_equation_Protocol.S_rand" ], 0, - "502e1371823f1019ae9990900ceccc0d" + "a34acad624aed7c747da99bfe81d26d6" ], [ "Protocol.__proj__S__item__entries", @@ -349,7 +343,7 @@ "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "proj_equation_Protocol.S_rand", "projection_inverse_BoxBool_proj_0", "projection_inverse_Protocol.S_entries", "projection_inverse_Protocol.S_rand", @@ -357,7 +351,7 @@ "refinement_interpretation_Tm_refine_e6ab7d7d11fd937f30ad6128228c18b5" ], 0, - "89371677efd74f2d0a85fe73a480bbaa" + "521a1ca13b2d9375b95515241f8f8cbf" ], [ "Protocol.__proj__R__item__rand", @@ -370,7 +364,7 @@ "refinement_interpretation_Tm_refine_1515f8c9bed8836c1665cbcf6953f9bb" ], 0, - "c79761b626e2d45faf3233e7377ad330" + "f25a076de481b8e75db65238e4106377" ], [ "Protocol.__proj__R__item__entries", @@ -382,11 +376,11 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "proj_equation_Protocol.R_rand" ], 0, - "122d70f649a82c58de041ec335637d10" + "685d1fe936d785e12cb7fb552d9d8e8c" ], [ "Protocol.__proj__R__item__entries", @@ -400,7 +394,7 @@ "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "proj_equation_Protocol.R_rand", "projection_inverse_BoxBool_proj_0", "projection_inverse_Protocol.R_entries", "projection_inverse_Protocol.R_rand", @@ -408,7 +402,7 @@ "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47" ], 0, - "1319257d31da9004ed142b694d623e0a" + "dd968c062a8bb7620658bb981ce2a502" ], [ "Protocol.__proj__R__item__ctr", @@ -428,7 +422,7 @@ "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47" ], 0, - "de2b399dfec32cd94a0e1ee699f8f6ee" + "651595090b2625612c8d416df276d9dc" ], [ "Protocol.rand_of", @@ -441,7 +435,7 @@ "fuel_guarded_inversion_Protocol.connection" ], 0, - "a5c7b8fadb233423ba0c1b161ac46b86" + "fc8f34084b2fa55b5b612a9484760448" ], [ "Protocol.entries_of", @@ -457,7 +451,7 @@ "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.rand_of", "fuel_guarded_inversion_Protocol.connection", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "projection_inverse_Protocol.R_ctr", "projection_inverse_Protocol.R_entries", "projection_inverse_Protocol.R_rand", @@ -466,7 +460,7 @@ "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47" ], 0, - "284b3121d3fb4d77204778f8e54f478f" + "79107beda58be8f2503d48bec45f4ce3" ], [ "Protocol.live_connection", @@ -480,10 +474,10 @@ "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "fuel_guarded_inversion_Protocol.connection", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "9ff5cac4d62bf0f9edd30c3f95c5642b" + "c5ff1b0d2e75e33861ce6ade8978ad4d" ], [ "Protocol.recall_connection_liveness", @@ -499,7 +493,7 @@ "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.live_connection", "fuel_guarded_inversion_Protocol.connection", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "l_and-interp", "projection_inverse_Protocol.R_ctr", "projection_inverse_Protocol.R_entries", "projection_inverse_Protocol.R_rand", @@ -507,7 +501,7 @@ "projection_inverse_Protocol.S_rand", "unit_typing" ], 0, - "3b96eb070055ef41fcb31d87ca6c1930" + "8de8201ce934f28ea9793137f2167c5d" ], [ "Protocol.lemma_sel_entries_equals_sel_tot_entries", @@ -516,7 +510,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Prims.squash", @@ -524,13 +517,12 @@ "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.live_connection", "equation_Protocol.rand_of", "fuel_guarded_inversion_Protocol.connection", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4edb4faf106caf6f6feb1303b9e917bf" + "51a99b33d6edb15f99eb04d8b1d77690" ], [ "Protocol.lemma_sel_ctr_ref_equals_sel_tot_ctr_ref", @@ -538,21 +530,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "disc_equation_Protocol.R", "equation_Prims.squash", - "equation_Protocol.live_connection", "l_and-interp", - "proj_equation_Protocol.R_ctr", "proj_equation_Protocol.R_entries", - "proj_equation_Protocol.R_rand", "projection_inverse_BoxBool_proj_0", + "@MaxIFuel_assumption", "@query", "disc_equation_Protocol.R", + "equation_Prims.squash", "equation_Protocol.live_connection", + "l_and-interp", "proj_equation_Protocol.R_ctr", + "proj_equation_Protocol.R_entries", "proj_equation_Protocol.R_rand", + "projection_inverse_BoxBool_proj_0", "projection_inverse_Protocol.R_ctr", "projection_inverse_Protocol.R_entries", "projection_inverse_Protocol.R_rand", "refinement_interpretation_Tm_refine_1515f8c9bed8836c1665cbcf6953f9bb", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "17374d34e569f99781374ec05d3afc38" + "81da29afee10804384ceea020b5d93fe" ], [ "Protocol.log", @@ -568,12 +558,12 @@ "equation_Protocol.is_prefix_of", "equation_Protocol.live_connection", "equation_Protocol.rand_of", "fuel_guarded_inversion_Protocol.connection", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "l_and-interp", - "refinement_interpretation_Tm_refine_0b9bfa7c9199a4522bd11aa0a624263b" + "refinement_interpretation_Tm_refine_12e73119c459be812384fdc8e6c9733a" ], 0, - "d9cb949ba49e45ea9aa68d025ec43405" + "ef5e05cf5c5ca5152dd9e556d42a3204" ], [ "Protocol.lemma_prefix_entries_implies_prefix_log", @@ -588,12 +578,12 @@ "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.log", "equation_Protocol.message", "equation_Protocol.rand_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", - "refinement_interpretation_Tm_refine_6ad1911ba7997a4706e7f484754f6c48" + "refinement_interpretation_Tm_refine_3d0c21849d5cf8d118afc092733f14a4" ], 0, - "63f2a22e5b6fcf8f7518513614e01d2d" + "cf137a11e85aff02200f2688633106f9" ], [ "Protocol.ctr", @@ -609,14 +599,14 @@ "equation_Protocol.is_prefix_of", "equation_Protocol.live_connection", "equation_Protocol.rand_of", "fuel_guarded_inversion_Protocol.connection", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "l_and-interp", "proj_equation_Protocol.R_ctr", "proj_equation_Protocol.R_entries", "proj_equation_Protocol.R_rand", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0b9bfa7c9199a4522bd11aa0a624263b" + "refinement_interpretation_Tm_refine_12e73119c459be812384fdc8e6c9733a" ], 0, - "209f2ed1f19c434b020090220ced131f" + "3a83f9460dec8f62948bf65bd465124e" ], [ "Protocol.recall_counter", @@ -625,26 +615,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", "b2t_def", "constructor_distinct_Protocol.R", "constructor_distinct_Protocol.S", "disc_equation_Protocol.R", - "disc_equation_Protocol.S", "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.Preorder.preorder", + "disc_equation_Protocol.S", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "equation_FStar.ST.heap_predicate", "equation_FStar.ST.mref", - "equation_Prims.nat", "equation_Protocol.counter_pre", - "equation_Protocol.counter_pred", "equation_Protocol.counter_t", - "equation_Protocol.ctr", "equation_Protocol.entries", - "equation_Protocol.entries_of", "equation_Protocol.entries_rel", - "equation_Protocol.is_prefix_of", "equation_Protocol.log", - "equation_Protocol.message", "equation_Protocol.rand_of", + "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", + "equation_Protocol.counter_pre", "equation_Protocol.counter_pred", + "equation_Protocol.counter_t", "equation_Protocol.ctr", + "equation_Protocol.entries", "equation_Protocol.entries_of", + "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", + "equation_Protocol.log", "equation_Protocol.message", + "equation_Protocol.rand_of", "fuel_guarded_inversion_Protocol.connection", - "function_token_typing_Protocol.message", - "interpretation_Tm_abs_61e8acb5a424cb357bc03b6d02292e60", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "interpretation_Tm_abs_545607f5016b8a9efe7d1f635f16c449", "kinding_Protocol.entry@tok", "l_and-interp", "lemma_Protocol.lemma_sel_ctr_ref_equals_sel_tot_ctr_ref", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", @@ -657,21 +644,22 @@ "projection_inverse_Protocol.S_entries", "projection_inverse_Protocol.S_rand", "refinement_interpretation_Tm_refine_1515f8c9bed8836c1665cbcf6953f9bb", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", - "refinement_interpretation_Tm_refine_5b9d4afb00631771b470453395549e99", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", + "refinement_interpretation_Tm_refine_931dcd8377a7c87ea65f2ca091543de1", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", "token_correspondence_Protocol.counter_pred", "typing_ArrayUtils.seq_map", "typing_FStar.Monotonic.Heap.sel", "typing_Protocol.counter_pre", "typing_Protocol.counter_pred", "typing_Protocol.counter_t", "typing_Protocol.entries", "typing_Protocol.entries_rel", "typing_Protocol.rand_of", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b", "unit_typing" + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e", "unit_typing" ], 0, - "12794e4079d40648dc3768446f4011a0" + "a2e7a20ea058423c9d9ace0a27a77b0b" ], [ "Protocol.snapshot", @@ -680,48 +668,45 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", "b2t_def", "data_elim_Protocol.R", "disc_equation_Protocol.R", "disc_equation_Protocol.S", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", "equation_FStar.ST.stable", - "equation_Prims.nat", "equation_Protocol.counter_pre", - "equation_Protocol.counter_rel", "equation_Protocol.counter_t", - "equation_Protocol.ctr", "equation_Protocol.entries", - "equation_Protocol.entries_of", "equation_Protocol.entries_rel", - "equation_Protocol.is_prefix_of", + "equation_Protocol.counter_pre", "equation_Protocol.counter_rel", + "equation_Protocol.counter_t", "equation_Protocol.ctr", + "equation_Protocol.entries", "equation_Protocol.entries_of", + "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.live_connection", "equation_Protocol.log", "equation_Protocol.message", "equation_Protocol.rand_of", "fuel_guarded_inversion_Protocol.connection", - "function_token_typing_Protocol.message", - "interpretation_Tm_abs_81a1aa550ab48962516ca0c36d0a7a7d", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", - "interpretation_Tm_abs_d592ffd623391d3ab4b7320762157c39", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "interpretation_Tm_abs_7bb1aca7f565f38c176c14dd92322edb", + "interpretation_Tm_abs_eeabe0e6e5ca3e7a109fddadcd4aea2e", "kinding_Protocol.entry@tok", "l_and-interp", - "lemma_Protocol.lemma_prefix_entries_implies_prefix_log", "lemma_Protocol.lemma_sel_ctr_ref_equals_sel_tot_ctr_ref", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", "primitive_Prims.op_LessThanOrEqual", "proj_equation_Protocol.R_ctr", "proj_equation_Protocol.R_entries", "proj_equation_Protocol.R_rand", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0b9bfa7c9199a4522bd11aa0a624263b", + "refinement_interpretation_Tm_refine_12e73119c459be812384fdc8e6c9733a", "refinement_interpretation_Tm_refine_1515f8c9bed8836c1665cbcf6953f9bb", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", - "refinement_interpretation_Tm_refine_6ad1911ba7997a4706e7f484754f6c48", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", "typing_ArrayUtils.seq_map", "typing_FStar.Monotonic.Heap.sel", "typing_Protocol.counter_pre", "typing_Protocol.counter_t", "typing_Protocol.entries", "typing_Protocol.entries_of", "typing_Protocol.entries_rel", "typing_Protocol.rand_of", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b" + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "141f0cc4db2e8b8d122459cc0fcf3423" + "b95d0b098923525bed6fe2f171df5baf" ], [ "Protocol.snap", @@ -729,20 +714,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pervasives.st_pre_h", - "equation_FStar.ST.heap_predicate", "equation_Protocol.ctr", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Protocol.ctr", "equation_Protocol.is_prefix_of", "equation_Protocol.log", "equation_Protocol.message", "equation_Protocol.snapshot", "function_token_typing_Protocol.snapshot", - "interpretation_Tm_abs_81a1aa550ab48962516ca0c36d0a7a7d", + "interpretation_Tm_abs_eeabe0e6e5ca3e7a109fddadcd4aea2e", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", "unit_typing" ], 0, - "54cf7013597d93ffdd8050bafbb1b270" + "8878fd30d8881f6d91983d1fe9d0d8e7" ], [ "Protocol.connection_footprint", @@ -750,23 +733,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "disc_equation_Protocol.R", "disc_equation_Protocol.S", - "equation_FStar.Preorder.preorder_rel", + "@MaxIFuel_assumption", "@query", "disc_equation_Protocol.R", + "disc_equation_Protocol.S", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "fuel_guarded_inversion_Protocol.connection", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "793914ee22344a10ccaebc9340568c10" + "27d95aa12dee87b09592178afc5fc79c" ], [ "Protocol.lemma_snoc_log", @@ -779,17 +759,16 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "equation_Protocol.log", "equation_Protocol.message", - "equation_Protocol.sender", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "equation_Protocol.log", "equation_Protocol.sender", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_1c47ef53210a35133af7e2a27422427f", "refinement_interpretation_Tm_refine_349b58696eb9cfae6073e9368f8333df", - "refinement_interpretation_Tm_refine_6ad1911ba7997a4706e7f484754f6c48", - "refinement_interpretation_Tm_refine_8b8773cc8e8e97faff9782919cb96e44" + "refinement_interpretation_Tm_refine_3d0c21849d5cf8d118afc092733f14a4" ], 0, - "a730609d598a55b89f044ded71ac6409" + "5e17ffd87791b2582fffb5a14a8d9d0b" ], [ "Protocol.network_send", @@ -803,14 +782,14 @@ "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.sender", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Protocol.S_rand", "refinement_interpretation_Tm_refine_349b58696eb9cfae6073e9368f8333df", "typing_Protocol.sender" ], 0, - "6a084226f3247805d0d24b32f3c5fe0e" + "1393d2fb78b20813ca8d06eab6aa7fe7" ], [ "Protocol.send", @@ -819,9 +798,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Protocol.S", "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", "equation_ArrayUtils.some_equivalent_seqs", @@ -842,11 +821,10 @@ "equation_Protocol.iarray", "equation_Protocol.is_prefix_of", "equation_Protocol.live_connection", "equation_Protocol.pad", "equation_Protocol.rand_of", "equation_Protocol.sender", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Protocol.byte", "function_token_typing_Protocol.entries_rel", "int_inversion", "int_typing", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "kinding_FStar.Pervasives.Native.option@tok", "kinding_Protocol.entry@tok", "lemma_ArrayUtils.lemma_get_some_equivalent_length", @@ -869,28 +847,29 @@ "projection_inverse_Protocol.E_tag", "projection_inverse_Protocol.S_entries", "projection_inverse_Protocol.S_rand", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", "refinement_interpretation_Tm_refine_349b58696eb9cfae6073e9368f8333df", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_59588aa05256a48fbb0f2fd6cd1a026d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_641858926cf6e272c6ed004472cbe5e2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "refinement_interpretation_Tm_refine_e50addb6c1bbd8f85fb54bf03b146e15", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "token_correspondence_Protocol.rand_of", "typing_ArrayUtils.get_some_equivalent", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_MonotonicArray.as_seq", + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.slice", "typing_MonotonicArray.as_seq", "typing_Prims.min", "typing_Protocol.entries", "typing_Protocol.fragment_size", "typing_Protocol.sender", "typing_Protocol.zero_b" ], 0, - "aea8a1694b37e5d9e33a0a96d07b9cef" + "5d63c16b4fccf1a37b1a09bfcc9a1d5f" ], [ "Protocol.ciphers", @@ -903,10 +882,10 @@ "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.rand_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "e39d5fd75b2383c0f9885cde9dbc8918" + "b96c47bb172eede34237c2b1500ad703" ], [ "Protocol.modifies_r", @@ -916,11 +895,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "46a9b96d92424c1116733619f60f5a21" + "c007686217680619ad7e704b38a649ee" ], [ "Protocol.verify", @@ -934,12 +913,12 @@ "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.receiver", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "refinement_interpretation_Tm_refine_e478ac71fa1875d2f6d4c23ab44e0977", "typing_Protocol.receiver" ], 0, - "506dd1e8a6b65f7b2b22f76114f02044" + "92b739cdd03e53affc3af9fbe3689f6b" ], [ "Protocol.receive", @@ -948,10 +927,11 @@ 1, [ "@MaxIFuel_assumption", "@query", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", + "Protocol_interpretation_Tm_arrow_c4ab2f2abbb10d1c3c06f26d3c3abf61", "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", @@ -968,12 +948,10 @@ "equation_FStar.Monotonic.Heap.set", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.st_pre_h", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "equation_FStar.ST.heap_predicate", "equation_FStar.ST.mref", + "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", "equation_MonotonicArray.array", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", @@ -989,25 +967,23 @@ "equation_Protocol.rand_of", "equation_Protocol.randomness", "equation_Protocol.receiver", "fuel_guarded_inversion_Protocol.entry", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", "function_token_typing_Protocol.counter_pre", "function_token_typing_Protocol.counter_pred", - "function_token_typing_Protocol.fragment_size", - "function_token_typing_Protocol.message", - "function_token_typing_Protocol.network_message", - "function_token_typing_Protocol.zero_b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_53acb4ddc87666d390ac6a8650fb424b", - "interpretation_Tm_abs_61e8acb5a424cb357bc03b6d02292e60", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", - "interpretation_Tm_abs_d592ffd623391d3ab4b7320762157c39", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", + "interpretation_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "interpretation_Tm_abs_545607f5016b8a9efe7d1f635f16c449", + "interpretation_Tm_abs_7bb1aca7f565f38c176c14dd92322edb", + "kinding_FStar.Pervasives.Native.option@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Protocol.entry@tok", "l_and-interp", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Set.disjoint_not_in_both", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", @@ -1018,6 +994,7 @@ "lemma_Protocol.lemma_xor", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_Protocol.E_i", "proj_equation_Protocol.R_ctr", @@ -1032,38 +1009,44 @@ "projection_inverse_Protocol.R_ctr", "projection_inverse_Protocol.R_entries", "projection_inverse_Protocol.R_rand", + "refinement_interpretation_Tm_refine_06a3b635d7a6fcb8747c79851d24e776", "refinement_interpretation_Tm_refine_1515f8c9bed8836c1665cbcf6953f9bb", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_447f63c6e0e80fb7e6b79de6001870cb", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", - "refinement_interpretation_Tm_refine_4a733db3a658e850aa0730fac7409e0b", - "refinement_interpretation_Tm_refine_5b9d4afb00631771b470453395549e99", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_69bea4f40a62733f1108dba3118ebcc1", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6261f1452b3e7c2df9d267c7f3d29bd3", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7d16d25b876cec5da09fa2351454844a", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8cf65a0e984801514f164a721568601b", + "refinement_interpretation_Tm_refine_931dcd8377a7c87ea65f2ca091543de1", + "refinement_interpretation_Tm_refine_9e2ef3afda27e5221fd7708295db6eed", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d872c5fb83c0bb7ff4e5b2fa63b8aca0", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "refinement_interpretation_Tm_refine_e478ac71fa1875d2f6d4c23ab44e0977", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", - "refinement_kinding_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", - "refinement_kinding_Tm_refine_5b9d4afb00631771b470453395549e99", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_84f2654672d0a3698a905d302d0b961d", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", + "refinement_kinding_Tm_refine_931dcd8377a7c87ea65f2ca091543de1", + "refinement_kinding_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", "typing_ArrayUtils.seq_map", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.sel", + "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.seq", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_Protocol.counter_pre", - "typing_Protocol.entries_rel", "typing_Protocol.pad", - "typing_Protocol.rand_of", "typing_Protocol.receiver", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b" + "typing_FStar.Set.union", "typing_MonotonicArray.as_seq", + "typing_Protocol.counter_pre", "typing_Protocol.entries_rel", + "typing_Protocol.pad", "typing_Protocol.rand_of", + "typing_Protocol.receiver", "typing_Protocol.zero_b", + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "56b8f8302fa618271a31f57e78082d24" + "193de493f85b6c55e4bda7c79d6f92ca" ], [ "Protocol.lemma_is_prefix_of_slice", @@ -1084,7 +1067,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "55f6cf4cc954cf7bafc37da29ff6fe09" + "1be3d1d0c5db574d2329e7db873df620" ], [ "Protocol.sent_bytes'", @@ -1102,7 +1085,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "5b4ee9967f8f5cc25b88c8daa3915bd3" + "224ba530d9d3f44ba341d39c4eb466ee" ], [ "Protocol.sent_bytes", @@ -1111,10 +1094,9 @@ 1, [ "@MaxIFuel_assumption", "@query", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", "b2t_def", "data_elim_Protocol.R", "eq2-interp", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", @@ -1128,35 +1110,34 @@ "equation_Protocol.live_connection", "equation_Protocol.log", "equation_Protocol.message", "equation_Protocol.rand_of", "equation_Protocol.sent_bytes_", - "fuel_guarded_inversion_Protocol.connection", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Protocol.message", "int_inversion", - "interpretation_Tm_abs_855d7c814f9b1253729041e289e69d2a", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", - "interpretation_Tm_abs_d592ffd623391d3ab4b7320762157c39", + "fuel_guarded_inversion_Protocol.connection", "int_inversion", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "interpretation_Tm_abs_7bb1aca7f565f38c176c14dd92322edb", + "interpretation_Tm_abs_7f6e09c57851a655e400606396618bbe", "kinding_Protocol.entry@tok", "l_and-interp", "lemma_Protocol.lemma_is_prefix_of_slice", "lemma_Protocol.lemma_prefix_entries_implies_prefix_log", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", + "refinement_interpretation_Tm_refine_21ba3780ecd4c31fe9f89ff8d60a5f28", + "refinement_interpretation_Tm_refine_3d0c21849d5cf8d118afc092733f14a4", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", "refinement_interpretation_Tm_refine_6472b0a877e3e824d44d3d3f19ad04e0", - "refinement_interpretation_Tm_refine_6ad1911ba7997a4706e7f484754f6c48", - "refinement_interpretation_Tm_refine_9e187340f4f1ab60993a542a5c9f6d11", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", "typing_ArrayUtils.seq_map", "typing_FStar.Monotonic.Heap.sel", "typing_Protocol.counter_pre", "typing_Protocol.counter_t", "typing_Protocol.entries", "typing_Protocol.entries_of", "typing_Protocol.entries_rel", "typing_Protocol.rand_of", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b" + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "26d90fcae70a62e389b5bfe1c02f2ef5" + "00ad1a0e1a40b657373682e1c3151d1a" ], [ "Protocol.iarray_as_seq", @@ -1164,8 +1145,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.all_init", "equation_MonotonicArray.array", @@ -1173,18 +1153,17 @@ "equation_MonotonicArray.as_initialized_subseq", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.nat", - "equation_Protocol.iarray", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.Pervasives.Native.option@tok", + "equation_Protocol.iarray", "int_inversion", + "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Seq.Properties.slice_length", "lemma_MonotonicArray.lemma_as_seq_length", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "typing_MonotonicArray.as_seq" ], 0, - "4e55066b687a53c0629e4c5f9961f8c8" + "ab7a780a02c3ad475570b167dc88a790" ], [ "Protocol.fully_initialized_in", @@ -1197,7 +1176,7 @@ "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d" ], 0, - "b76245d60312d41cb1a49bdd353e85fd" + "e8907972c9de1461f0e5d8f39f439510" ], [ "Protocol.subseq_suffix", @@ -1205,39 +1184,53 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", + "constructor_distinct_FStar.Pervasives.Native.Some", + "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", + "equation_ArrayUtils.some_equivalent_seqs", "equation_MonotonicArray.array", "equation_MonotonicArray.as_initialized_subseq", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.suffix", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", "equation_Protocol.iarray", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_ArrayUtils.lemma_get_some_equivalent_slice", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_index_slice", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_length", "lemma_FStar.Seq.Properties.slice_slice", "lemma_MonotonicArray.lemma_as_seq_length", "lemma_MonotonicArray.lemma_sub_is_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5e6ca8186676c4a43c361642490c1be4", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_a84c31dd3ffb7247ff03d9663266e434", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_a720e2971b18d448d8104342893dbddc", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e50addb6c1bbd8f85fb54bf03b146e15", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", + "typing_ArrayUtils.get_some_equivalent", + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", "typing_MonotonicArray.as_seq" ], 0, - "85e9f1757919eb30f34dc7b72959be13" + "0c654cd6bf426b365874b9ba34e686d3" ], [ "Protocol.slice_snoc", @@ -1246,9 +1239,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -1261,16 +1252,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" ], 0, - "da5ae93fde9c9aab3d901561828fc0fe" + "c04bd3eec4ff38bab463f37f0dc4d81f" ], [ "Protocol.slice_snoc2", @@ -1279,9 +1270,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -1296,19 +1285,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" ], 0, - "be67de459735ceddaccdf0f4c302eccb" + "b38e6d747dceab17516e549af59e0f7d" ], [ "Protocol.append_subseq", @@ -1316,8 +1305,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", @@ -1327,7 +1315,6 @@ "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.suffix", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", "equation_Protocol.iarray", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_ArrayUtils.lemma_get_some_equivalent_slice", @@ -1342,24 +1329,24 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_a84c31dd3ffb7247ff03d9663266e434", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d84f386e45061b7c12be71a3f01f28a5", + "refinement_interpretation_Tm_refine_a45eecf773bb058423347fc26aca76e2", + "refinement_interpretation_Tm_refine_a720e2971b18d448d8104342893dbddc", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_e50addb6c1bbd8f85fb54bf03b146e15", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "typing_ArrayUtils.get_some_equivalent", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_MonotonicArray.as_seq" + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", + "typing_MonotonicArray.as_seq" ], 0, - "8ded48ecdb3d18fb018df2bcaa9983f5" + "24456e7d4341312355038afbe12c38f6" ], [ "Protocol.lemma_sender_connection_ctr_equals_length_log", @@ -1368,36 +1355,36 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", "bool_inversion", "disc_equation_Protocol.S", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", - "equation_Prims.nat", "equation_Protocol.ctr", - "equation_Protocol.entries", "equation_Protocol.entries_of", - "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "equation_Protocol.log", "equation_Protocol.message", - "equation_Protocol.rand_of", "equation_Protocol.sender", - "function_token_typing_Protocol.message", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "equation_Protocol.ctr", "equation_Protocol.entries", + "equation_Protocol.entries_of", "equation_Protocol.entries_rel", + "equation_Protocol.is_prefix_of", "equation_Protocol.log", + "equation_Protocol.message", "equation_Protocol.rand_of", + "equation_Protocol.sender", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "kinding_Protocol.entry@tok", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", - "refinement_interpretation_Tm_refine_0b9bfa7c9199a4522bd11aa0a624263b", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", + "refinement_interpretation_Tm_refine_12e73119c459be812384fdc8e6c9733a", "refinement_interpretation_Tm_refine_349b58696eb9cfae6073e9368f8333df", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", "typing_ArrayUtils.seq_map", "typing_FStar.Monotonic.Heap.sel", "typing_Protocol.entries", "typing_Protocol.entries_of", "typing_Protocol.entries_rel", "typing_Protocol.rand_of", "typing_Protocol.uu___is_S", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b" + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "30720f95359511c4ecf1feec0de53da4" + "f90b5f9191307cf1a033177aa1c9934f" ], [ "Protocol.send_aux", @@ -1405,33 +1392,28 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_Protocol.S", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.array", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", "equation_Protocol.iarray", - "equation_Protocol.sender", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", + "equation_Protocol.sender", "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.zero_b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_MonotonicArray.lemma_as_seq_length", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_377d0118686d11596ae874abd2ea7677", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f517b5f7d02af5291ebd79945a22e63", - "refinement_interpretation_Tm_refine_8aa1c18a13fbc3e3fe9376d1a9627ecc", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_9c53eb855ade94a7b7c9e39b74b4706d", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d" ], 0, - "912ef144b8a1916467ae0cb4bb33fb35" + "4196749ca511139b5a5c13ba2e164d5a" ], [ "Protocol.send_aux", @@ -1441,11 +1423,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "36f4d8a48e70ec47aeca3c1ef9b5e507" + "21e0cb7b2dd2abd4ec0dc8fe29ecedd9" ], [ "Protocol.send_aux", @@ -1454,11 +1436,9 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", - "disc_equation_Protocol.S", "eq2-interp", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", + "b2t_def", "disc_equation_Protocol.S", "eq2-interp", "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", "equation_ArrayUtils.some_equivalent_seqs", "equation_FStar.Monotonic.Heap.modifies", @@ -1471,36 +1451,33 @@ "equation_MonotonicArray.as_initialized_seq", "equation_MonotonicArray.as_initialized_subseq", "equation_MonotonicArray.init_arr_in_heap_i_j", - "equation_MonotonicArray.suffix", "equation_Prims.eqtype", - "equation_Prims.min", "equation_Prims.nat", - "equation_Protocol.connection_footprint", "equation_Protocol.ctr", - "equation_Protocol.entries", "equation_Protocol.entries_rel", + "equation_MonotonicArray.suffix", "equation_Prims.eq2", + "equation_Prims.eqtype", "equation_Prims.min", "equation_Prims.nat", + "equation_Prims.squash", "equation_Protocol.connection_footprint", + "equation_Protocol.ctr", "equation_Protocol.entries", + "equation_Protocol.entries_rel", "equation_Protocol.fully_initialized_in", "equation_Protocol.iarray", "equation_Protocol.is_prefix_of", "equation_Protocol.live_connection", "equation_Protocol.log", "equation_Protocol.message", "equation_Protocol.sender", "equation_Protocol.sent_bytes", "equation_Protocol.sent_bytes_", - "function_token_typing_Prims.__cache_version_number__", + "fuel_guarded_inversion_Prims.equals", "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.fragment_size", "function_token_typing_Protocol.message", - "function_token_typing_Protocol.zero_b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_855d7c814f9b1253729041e289e69d2a", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_7f6e09c57851a655e400606396618bbe", + "interpretation_Tm_abs_e90e77a4133961f8d1a8bcade31f3d59", "kinding_FStar.Pervasives.Native.option@tok", "kinding_Protocol.entry@tok", "l_and-interp", "lemma_ArrayUtils.lemma_get_some_equivalent_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Seq.Properties.slice_slice", "lemma_MonotonicArray.lemma_as_seq_length", "lemma_MonotonicArray.lemma_framing_of_as_seq", "lemma_MonotonicArray.lemma_sub_contains", "lemma_MonotonicArray.lemma_sub_footprint", - "lemma_MonotonicArray.lemma_sub_is_slice", "lemma_MonotonicArray.lemma_sub_preserves_array_mutable_flag", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -1508,19 +1485,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_377d0118686d11596ae874abd2ea7677", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_5f517b5f7d02af5291ebd79945a22e63", - "refinement_interpretation_Tm_refine_7d5d8d52fd8ac87597c956560cb50e0e", - "refinement_interpretation_Tm_refine_8aa1c18a13fbc3e3fe9376d1a9627ecc", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_58fa7036de540210b95296146042b45b", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9c53eb855ade94a7b7c9e39b74b4706d", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "refinement_interpretation_Tm_refine_e50addb6c1bbd8f85fb54bf03b146e15", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", @@ -1529,11 +1506,11 @@ "typing_FStar.Monotonic.Heap.sel", "typing_MonotonicArray.as_seq", "typing_Protocol.connection_footprint", "typing_Protocol.entries", "typing_Protocol.entries_of", "typing_Protocol.entries_rel", - "typing_Protocol.rand_of", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b" + "typing_Protocol.fragment_size", "typing_Protocol.rand_of", + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "c3cc658f53dcfa0eaebe66bdead37163" + "9e814bd16b202b1cc300139efd8e71d5" ], [ "Protocol.send_file", @@ -1543,11 +1520,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d7754fd15a1bb31156eec1948b6697c3" + "181b15a936e39033e45f26d8a515b5d1" ], [ "Protocol.send_file", @@ -1556,19 +1533,17 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", - "bool_inversion", "disc_equation_Protocol.S", "eq2-interp", - "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", + "b2t_def", "bool_inversion", "disc_equation_Protocol.S", + "eq2-interp", "equation_ArrayUtils.all_some", + "equation_ArrayUtils.init_at_seq", "equation_ArrayUtils.some_equivalent_seqs", - "equation_FStar.Pervasives.st_pre_h", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "equation_FStar.ST.heap_predicate", "equation_FStar.ST.mref", + "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", "equation_MonotonicArray.array", "equation_MonotonicArray.as_initialized_seq", "equation_MonotonicArray.as_initialized_subseq", @@ -1582,36 +1557,32 @@ "equation_Protocol.message", "equation_Protocol.rand_of", "equation_Protocol.sender", "equation_Protocol.sent", "equation_Protocol.sent_bytes", "equation_Protocol.sent_bytes_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.message", - "function_token_typing_Protocol.zero_b", "int_inversion", - "interpretation_Tm_abs_855d7c814f9b1253729041e289e69d2a", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", - "kinding_FStar.Pervasives.Native.option@tok", + "function_token_typing_Protocol.byte", "int_inversion", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "interpretation_Tm_abs_7f6e09c57851a655e400606396618bbe", "kinding_Protocol.entry@tok", "l_and-interp", "lemma_ArrayUtils.lemma_get_some_equivalent_slice", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_length", "lemma_MonotonicArray.lemma_as_seq_length", "lemma_MonotonicArray.lemma_framing_of_as_seq", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_5f517b5f7d02af5291ebd79945a22e63", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", + "refinement_interpretation_Tm_refine_377d0118686d11596ae874abd2ea7677", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "refinement_interpretation_Tm_refine_e50addb6c1bbd8f85fb54bf03b146e15", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", "token_correspondence_Protocol.sent_bytes", "typing_ArrayUtils.get_some_equivalent", "typing_ArrayUtils.seq_map", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.empty", @@ -1619,10 +1590,10 @@ "typing_Protocol.connection_footprint", "typing_Protocol.entries", "typing_Protocol.entries_of", "typing_Protocol.entries_rel", "typing_Protocol.rand_of", "typing_Protocol.sender", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b" + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "8fe61551d559d0f12c13626e7cdb14da" + "77da405eb4e49d1af7e332539fc25c69" ], [ "Protocol.received", @@ -1639,7 +1610,7 @@ "function_token_typing_Protocol.zero_b" ], 0, - "9e2c447d45fc711b795062a6d6be37ed" + "94429ab6cdc4ebcec0238727802f79df" ], [ "Protocol.append_filled", @@ -1647,8 +1618,7 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -1661,11 +1631,11 @@ "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.prefix", "equation_MonotonicArray.suffix", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_ArrayUtils.lemma_get_some_equivalent_append", "lemma_ArrayUtils.lemma_get_some_equivalent_index", + "lemma_ArrayUtils.lemma_get_some_equivalent_length", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -1673,7 +1643,6 @@ "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Seq.Properties.slice_slice", "lemma_MonotonicArray.lemma_as_seq_length", "lemma_MonotonicArray.lemma_sub_is_slice", @@ -1684,29 +1653,29 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5e6ca8186676c4a43c361642490c1be4", - "refinement_interpretation_Tm_refine_7e0ef605884bf213e0b162984a63eb31", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_4183060ba5404f285780b6cf19647e32", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a2bea900bf9c6309aac9131f4b0fc594", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_e50addb6c1bbd8f85fb54bf03b146e15", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "typing_ArrayUtils.get_some_equivalent", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_MonotonicArray.as_initialized_seq", "typing_MonotonicArray.as_initialized_subseq", - "typing_MonotonicArray.as_seq", "typing_MonotonicArray.sub" + "typing_MonotonicArray.as_seq", "typing_MonotonicArray.sub", + "typing_MonotonicArray.suffix" ], 0, - "005d1118408c9b59e374e81bcad52553" + "10a136e60613ba87ab54e85cc2d1d849" ], [ "Protocol.extend_initialization", @@ -1714,36 +1683,39 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", "equation_MonotonicArray.array", "equation_MonotonicArray.prefix", "equation_MonotonicArray.suffix", "equation_Prims.nat", - "equation_Protocol.fully_initialized_in", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.option@tok", + "equation_Protocol.fully_initialized_in", "int_inversion", + "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Seq.Base.lemma_index_slice", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", "lemma_MonotonicArray.lemma_as_seq_length", "lemma_MonotonicArray.lemma_sub_contains", "lemma_MonotonicArray.lemma_sub_is_slice", "lemma_MonotonicArray.lemma_sub_preserves_array_mutable_flag", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c96dacf268ffee31ff6caa8cad464bdb", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_39e8d89b7b9a6a218b28cd8240c1c44d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9007fbc417d54bac8a69eb57c27f77cb", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", + "typing_FStar.Pervasives.Native.uu___is_Some", "typing_MonotonicArray.as_seq" ], 0, - "bf34588e5d391dee2b2fb519f7d076c1" + "e94eed2670dc16584cc21807667414a3" ], [ "Protocol.receive_aux_post", @@ -1751,16 +1723,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ea9eae2efbc5b4a0956cadd2fed978cf" + "a8787621b95cb633b6cc8a49bbd18775" ], [ "Protocol.receive_aux_post", @@ -1768,30 +1737,27 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.array", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.prefix", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Protocol.byte", "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", "lemma_MonotonicArray.lemma_sub_preserves_array_mutable_flag", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", - "refinement_kinding_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", + "refinement_kinding_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "82abe3226226d20b8677a9d21def93de" + "403d9d5ef6fe3b0fdeb9ddb1bc67a4ce" ], [ "Protocol.receive_aux", @@ -1799,30 +1765,28 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.array", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.prefix", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_MonotonicArray.lemma_sub_preserves_array_mutable_flag", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_30410201f562422d8c7462f7ae8a84f3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_cbf50e93edf9116e0fd7249b89712a6f", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "typing_Protocol.fragment_size" ], 0, - "70136f29ec900eb1abf2937d028f9e2c" + "d147bf840091ffbd62196743bc6dc577" ], [ "Protocol.receive_aux", @@ -1830,16 +1794,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "248110513748909b6a0c74d67966eae2" + "f159a2175fbf22043032bc5661a81f99" ], [ "Protocol.receive_aux", @@ -1847,11 +1808,8 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -1872,13 +1830,11 @@ "equation_Protocol.receiver", "equation_Protocol.sent_bytes", "equation_Protocol.sent_bytes_", "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.message", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_855d7c814f9b1253729041e289e69d2a", + "interpretation_Tm_abs_7f6e09c57851a655e400606396618bbe", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -1894,66 +1850,63 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_0b9bfa7c9199a4522bd11aa0a624263b", - "refinement_interpretation_Tm_refine_12fb2df9fc828e6c6d9940aa5ee6940f", - "refinement_interpretation_Tm_refine_1c436640d0dccebb5efc79a37badffa3", - "refinement_interpretation_Tm_refine_30410201f562422d8c7462f7ae8a84f3", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_410c1f619e4e5c3e034bc09fcd230e17", + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", + "refinement_interpretation_Tm_refine_12e73119c459be812384fdc8e6c9733a", + "refinement_interpretation_Tm_refine_204bbc11789d77aef2f9c7584430b800", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_7e0ef605884bf213e0b162984a63eb31", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d872c5fb83c0bb7ff4e5b2fa63b8aca0", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", - "refinement_interpretation_Tm_refine_f2fe1d4402093ed479c64cfcce20abd2", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", + "refinement_interpretation_Tm_refine_4183060ba5404f285780b6cf19647e32", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_8cf65a0e984801514f164a721568601b", + "refinement_interpretation_Tm_refine_9369c00496f340c518775121622f1d8d", + "refinement_interpretation_Tm_refine_cbf50e93edf9116e0fd7249b89712a6f", + "refinement_interpretation_Tm_refine_d0133371861679eeaff3aa3cbed4f5a2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f3d030fd3c7708a629843ece19a805f3", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", "token_correspondence_Protocol.sent_bytes", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.index", "typing_MonotonicArray.as_initialized_seq", "typing_MonotonicArray.as_seq", "typing_Protocol.ctr", "typing_Protocol.fragment_size", "typing_Protocol.log", - "typing_Protocol.receiver", "unit_typing" + "typing_Protocol.receiver" ], 0, - "0062802726eddb2e194f83e9cccfc1d5" + "0cc431d148fc2b0a7635f46169d164b2" ], [ "Protocol.receive_file", 1, - 0, - 0, + 2, + 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "disc_equation_FStar.Pervasives.Native.None", "equation_MonotonicArray.all_init", "equation_MonotonicArray.array", "equation_MonotonicArray.prefix", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "equation_Prims.nat", "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.fragment_size", - "function_token_typing_Protocol.zero_b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", "lemma_MonotonicArray.lemma_sub_preserves_array_mutable_flag", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_7d16d25b876cec5da09fa2351454844a", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", - "typing_FStar.Pervasives.Native.uu___is_None", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "de606a48e0263bfdd44ade0981c053d0" + "e69e929a2049c49b217bbaab8250bab5" ], [ "Protocol.receive_file", @@ -1963,23 +1916,22 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5cd34573d04d7420ddc7d66dc4976356" + "b3def906892d1b6b034aea2be84cfd08" ], [ "Protocol.receive_file", 3, - 0, - 0, + 2, + 1, [ "@MaxIFuel_assumption", "@query", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1988,12 +1940,10 @@ "disc_equation_Protocol.R", "disc_equation_Protocol.S", "eq2-interp", "equation_ArrayUtils.all_some", "equation_ArrayUtils.some_equivalent_seqs", - "equation_FStar.Pervasives.st_pre_h", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "equation_FStar.ST.heap_predicate", "equation_FStar.ST.mref", + "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", "equation_MonotonicArray.all_init", "equation_MonotonicArray.all_init_i_j", "equation_MonotonicArray.array", @@ -2011,17 +1961,15 @@ "equation_Protocol.receive_aux_post", "equation_Protocol.received", "equation_Protocol.receiver", "equation_Protocol.sent", "equation_Protocol.sent_bytes", "equation_Protocol.sent_bytes_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", "function_token_typing_Protocol.counter_pred", - "function_token_typing_Protocol.message", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_61e8acb5a424cb357bc03b6d02292e60", - "interpretation_Tm_abs_855d7c814f9b1253729041e289e69d2a", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", - "interpretation_Tm_abs_d592ffd623391d3ab4b7320762157c39", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "interpretation_Tm_abs_545607f5016b8a9efe7d1f635f16c449", + "interpretation_Tm_abs_7bb1aca7f565f38c176c14dd92322edb", + "interpretation_Tm_abs_7f6e09c57851a655e400606396618bbe", "kinding_Protocol.entry@tok", "l_and-interp", "lemma_ArrayUtils.lemma_get_some_equivalent_slice", "lemma_FStar.Seq.Base.lemma_eq_refl", @@ -2042,52 +1990,53 @@ "projection_inverse_Protocol.R_ctr", "projection_inverse_Protocol.R_entries", "projection_inverse_Protocol.R_rand", - "refinement_interpretation_Tm_refine_0b9bfa7c9199a4522bd11aa0a624263b", + "refinement_interpretation_Tm_refine_12e73119c459be812384fdc8e6c9733a", "refinement_interpretation_Tm_refine_1515f8c9bed8836c1665cbcf6953f9bb", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", - "refinement_interpretation_Tm_refine_5b9d4afb00631771b470453395549e99", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_9a235a00ca88753e7a8adbc0a3feff13", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_7d16d25b876cec5da09fa2351454844a", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_931dcd8377a7c87ea65f2ca091543de1", + "refinement_interpretation_Tm_refine_9ebae4790e7e2c9942a9d9b1e40e2618", + "refinement_interpretation_Tm_refine_a11098d99239284f14b49e1dd0266896", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_dfe4999e7871d818ad31a6b977b74b78", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "refinement_interpretation_Tm_refine_e50addb6c1bbd8f85fb54bf03b146e15", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", - "refinement_interpretation_Tm_refine_f2fe1d4402093ed479c64cfcce20abd2", + "refinement_interpretation_Tm_refine_f3d030fd3c7708a629843ece19a805f3", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", "token_correspondence_Protocol.sent_bytes", "typing_ArrayUtils.get_some_equivalent", "typing_ArrayUtils.seq_map", "typing_FStar.Monotonic.Heap.sel", "typing_MonotonicArray.as_seq", "typing_Protocol.counter_pre", "typing_Protocol.counter_pred", "typing_Protocol.counter_t", "typing_Protocol.ctr", - "typing_Protocol.entries", "typing_Protocol.entries_of", - "typing_Protocol.entries_rel", "typing_Protocol.rand_of", - "typing_Protocol.receiver", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b" + "typing_Protocol.entries", "typing_Protocol.entries_rel", + "typing_Protocol.rand_of", "typing_Protocol.receiver", + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "f7a4546dab684f7942a223b3e3212f6c" + "c6eb9ab0c2adedfd91bf02a8042a2993" ], [ "Protocol.tags", 1, - 0, - 0, + 2, + 1, [ "@query", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.rand_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "e67d6f9c8c4729b53a80fc9eff9f09b7" + "1e5d5056e37f85b7d536eb9fdfd93b44" ], [ "Protocol.lemma_partial_length_hiding", @@ -2096,7 +2045,7 @@ 1, [ "@query" ], 0, - "6a56ee35f499b4a935b0eb31793cbe1d" + "ef56b80c2d01a1fa6fd9cbd13dd628ce" ], [ "Protocol.lemma_partial_length_hiding", @@ -2105,63 +2054,67 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", - "Protocol_interpretation_Tm_arrow_5e71670f9c6a2fb58159b4bea900647c", - "Protocol_interpretation_Tm_arrow_afe0a89ff2e825195e02da13f7ed404a", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", - "bool_inversion", "disc_equation_Protocol.S", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "Protocol_interpretation_Tm_arrow_0c657c755035f596d0eab9121565aa88", + "Protocol_interpretation_Tm_arrow_2f7fbe14a1d944bed4262138122c830a", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", + "b2t_def", "bool_inversion", "disc_equation_Protocol.S", "equation_ArrayUtils.init_at_seq", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", + "equation_MonotonicArray.array", + "equation_MonotonicArray.as_initialized_seq", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.nat", - "equation_Protocol.ciphers", "equation_Protocol.entries", - "equation_Protocol.entries_of", "equation_Protocol.entries_rel", - "equation_Protocol.fully_initialized_in", + "equation_Prims.squash", "equation_Protocol.ciphers", + "equation_Protocol.entries", "equation_Protocol.entries_of", + "equation_Protocol.entries_rel", + "equation_Protocol.fully_initialized_in", "equation_Protocol.iarray", "equation_Protocol.is_prefix_of", "equation_Protocol.log", "equation_Protocol.message", "equation_Protocol.network_message", - "equation_Protocol.rand_of", "equation_Protocol.randomness", - "equation_Protocol.sender", "equation_Protocol.tags", - "fuel_guarded_inversion_Protocol.entry", - "function_token_typing_Prims.__cache_version_number__", + "equation_Protocol.rand_of", "equation_Protocol.sender", + "equation_Protocol.tags", "fuel_guarded_inversion_Protocol.entry", "function_token_typing_Protocol.__proj__E__item__cipher", "function_token_typing_Protocol.__proj__E__item__tag", - "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.message", - "function_token_typing_Protocol.network_message", - "function_token_typing_Protocol.zero_b", "int_inversion", - "interpretation_Tm_abs_53acb4ddc87666d390ac6a8650fb424b", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", - "kinding_Protocol.entry@tok", + "function_token_typing_Protocol.byte", "int_inversion", + "interpretation_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "kinding_Protocol.entry@tok", "l_and-interp", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", "proj_equation_Protocol.E_msg", "projection_inverse_BoxBool_proj_0", "projection_inverse_Protocol.S_rand", - "refinement_interpretation_Tm_refine_170acaa3b4bfa3c3779f1f41167ea2ec", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", + "refinement_interpretation_Tm_refine_051d9e349a951b7cc38f0eec26e27bba", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_349b58696eb9cfae6073e9368f8333df", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3d8b69f45266afaee0912d763ad8eb45", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", - "refinement_interpretation_Tm_refine_846e1b09362939e3afc5c7e72e29ccb8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4183060ba5404f285780b6cf19647e32", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_816b2eace640393e825c4f39ff9fa479", + "refinement_interpretation_Tm_refine_92e7b880117ab7e25bd98d4e419d5f5f", + "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f99876d259154b55a429b2fe76e92ee5", + "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", + "refinement_interpretation_Tm_refine_fc5e8c1ea1d73a44adede890f3588579", + "refinement_kinding_Tm_refine_84f2654672d0a3698a905d302d0b961d", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", "token_correspondence_Protocol.__proj__E__item__cipher", "token_correspondence_Protocol.__proj__E__item__tag", "typing_ArrayUtils.seq_map", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.seq", + "typing_MonotonicArray.as_initialized_seq", "typing_Protocol.entries", "typing_Protocol.entries_of", "typing_Protocol.entries_rel", "typing_Protocol.rand_of", "typing_Protocol.sender", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b" + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "cf5368a58dbd6cdd3bca021a67f704cc" + "933c9a7b86085e0bde8e89a9411ad68e" ], [ "Protocol.lemma_seq_append_unstable", @@ -2169,20 +2122,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4eafbcb438fb79493974de24a3b20fd7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e817afe063dc290a16f0283d5f203109", "typing_FStar.Seq.Base.length" ], 0, - "bb30e6cd1e1f6849b1b92e14bae20260" + "efafa9da025154cad4821cb0d2aa489d" ], [ "Protocol.network_message", @@ -2192,11 +2142,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6e49458ed2d4cd42c16ebb88738efe44" + "02b23faead18af3dd2949ae094bb4f07" ], [ "Protocol.zeroes", @@ -2208,7 +2158,7 @@ "lemma_FStar.Seq.Base.lemma_create_len", "typing_Protocol.zero_b" ], 0, - "a56bc7b7258f15eb0071f5dd71b9ca73" + "eb9af8feef56dc8467e7a20559732f46" ], [ "Protocol.zeroes", @@ -2218,11 +2168,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1c670b9db674376e3d0a22f5d5736575" + "f95397a2d431f9c9a50dcd30849152bc" ], [ "Protocol.pad", @@ -2230,21 +2180,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Protocol.message", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Protocol.byte", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Protocol.message", "function_token_typing_Protocol.byte", + "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ab7f67372ea9c5cf0fb97bcb8587305", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d872c5fb83c0bb7ff4e5b2fa63b8aca0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8cf65a0e984801514f164a721568601b", + "refinement_interpretation_Tm_refine_d67864297fcf8add81b20505cbf933e2", "typing_FStar.Seq.Base.length", "typing_Protocol.fragment_size" ], 0, - "13339118a24db2f67ddbf7d983d20068" + "e1af69a107c61180f613ba444e1072b0" ], [ "Protocol.unpad", @@ -2254,11 +2201,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a46ff9846f08ac721d6905a5fba332bf" + "a9cc90e9cb9c3f65f7729f5c67990875" ], [ "Protocol.__proj__E__item__cipher", @@ -2271,7 +2218,7 @@ "projection_inverse_Protocol.E_msg" ], 0, - "00effd11ee415a8c3f4a2024ea73304e" + "2d1cb40239aea923806d85e65d057d2d" ], [ "Protocol.__proj__E__item__tag", @@ -2284,7 +2231,7 @@ "projection_inverse_Protocol.E_i" ], 0, - "f89addf02219f01eb362ae79a27856e0" + "b61fc3b2dcc4d6d51de72d8d15fdc48e" ], [ "Protocol.entries", @@ -2294,11 +2241,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fe2f1178933b3e93aa373beae9587687" + "e8c2e0e3c1d1a7d52ae2b8d5210be488" ], [ "Protocol.is_prefix_of", @@ -2307,7 +2254,7 @@ 1, [ "@query" ], 0, - "f36b42a8e8ebd621860f5299b3d02b0b" + "157a8ea1975645cf2e89f182f1b80367" ], [ "Protocol.entries_pre", @@ -2319,10 +2266,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "2b37a2efa7076fc811e1da248f1f0ffa" + "bf8fa41b360eba7ff588245505518fd1" ], [ "Protocol.counter_pred", @@ -2334,10 +2281,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "31141928ed048a65294390fef1d8e2e9" + "d7636cff749bcc920c590e64ca7de41f" ], [ "Protocol.counter_pred", @@ -2354,17 +2301,17 @@ "equation_Prims.nat", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "int_inversion", - "interpretation_Tm_abs_61e8acb5a424cb357bc03b6d02292e60", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "interpretation_Tm_abs_545607f5016b8a9efe7d1f635f16c449", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "typing_Protocol.entries", "typing_Protocol.entries_rel" ], 0, - "3c7073c77c595bda1c166e73635ef55f" + "14b02f59835f6eaff2849f7edd8b3127" ], [ "Protocol.counter_pred", @@ -2376,10 +2323,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "60ebc48f78b51598f93c4169e601812b" + "45f05edc81931479df596f3f02d7d9d0" ], [ "Protocol.counter_t", @@ -2391,10 +2338,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "5647f382a78eeca0388c70fac980c324" + "4e01202355592c30f0696448dd4c0968" ], [ "Protocol.counter_t", @@ -2406,10 +2353,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "64c17970f8872ffd4a9260e750fd81eb" + "ea742e15824f7220d2c362f707057bca" ], [ "Protocol.counter_rel", @@ -2421,10 +2368,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "9626c89579b58a2d3ce78198aa1424a6" + "921e055392a04732980405d92745b8d2" ], [ "Protocol.counter_rel", @@ -2436,10 +2383,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "b5b9374d6c66b97032e294b05833343b" + "fe55bdfc93dc14837a97ec5e1705e942" ], [ "Protocol.counter_pre", @@ -2451,10 +2398,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "5397a940db4bae7c6da1fd40280ed87f" + "9fa9b4acbfd215f4006830ff26871180" ], [ "Protocol.counter_pre", @@ -2466,12 +2413,12 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.counter_rel", "equation_Protocol.counter_t", - "interpretation_Tm_abs_d592ffd623391d3ab4b7320762157c39", + "interpretation_Tm_abs_7bb1aca7f565f38c176c14dd92322edb", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "3c39f0714503b76f14eae84ac5e18ee8" + "901322431aeb0c04a8ba66a4a673226b" ], [ "Protocol.counter_pre", @@ -2483,10 +2430,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "e9c55926cdc995c65f5c9252eda18d32" + "f3cd55db04e57dadd336ded1d83a8e3e" ], [ "Protocol.connection", @@ -2498,10 +2445,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "0829c5a9904a9e7befccf1187a4fd5bb" + "ed2ec5889672233aa30b1c4b3027534f" ], [ "Protocol.connection", @@ -2513,10 +2460,10 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "40a99074cd388d79b5d36f004beb9df5" + "c8b98f5e56aa4f30d18a92fb7185cd91" ], [ "Protocol.__proj__S__item__rand", @@ -2529,7 +2476,7 @@ "refinement_interpretation_Tm_refine_e6ab7d7d11fd937f30ad6128228c18b5" ], 0, - "c976819fc12a292837caba6ce5e8bf1b" + "290fd10b4479b9dc120430a9610a5734" ], [ "Protocol.__proj__S__item__entries", @@ -2541,11 +2488,11 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "proj_equation_Protocol.S_rand" ], 0, - "0a3d0af067917b989916db0368f2846f" + "3cc312c25669c28a0cfec9d71ba8e1fa" ], [ "Protocol.__proj__S__item__entries", @@ -2559,7 +2506,7 @@ "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "proj_equation_Protocol.S_rand", "projection_inverse_BoxBool_proj_0", "projection_inverse_Protocol.S_entries", "projection_inverse_Protocol.S_rand", @@ -2567,7 +2514,7 @@ "refinement_interpretation_Tm_refine_e6ab7d7d11fd937f30ad6128228c18b5" ], 0, - "a311f39448695b6df276ea57b8325b49" + "61926abf10c3f83582480ad63fb07ef8" ], [ "Protocol.__proj__R__item__rand", @@ -2580,7 +2527,7 @@ "refinement_interpretation_Tm_refine_1515f8c9bed8836c1665cbcf6953f9bb" ], 0, - "56d7e7eb50855565f47d9e9587f3660b" + "c4508cc029914c57ed39f2fc1f660e6a" ], [ "Protocol.__proj__R__item__entries", @@ -2592,11 +2539,11 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "proj_equation_Protocol.R_rand" ], 0, - "38c5b13c3e7d3f40a1806d016e52125e" + "1b56c7908bbba8610e548c5723ca0aab" ], [ "Protocol.__proj__R__item__entries", @@ -2610,7 +2557,7 @@ "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "proj_equation_Protocol.R_rand", "projection_inverse_BoxBool_proj_0", "projection_inverse_Protocol.R_entries", "projection_inverse_Protocol.R_rand", @@ -2618,7 +2565,7 @@ "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47" ], 0, - "ee049457264ae5dd1fc3184c588d1cc9" + "382dc123c773b539678d96fb6551ce93" ], [ "Protocol.__proj__R__item__ctr", @@ -2638,7 +2585,7 @@ "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47" ], 0, - "36623df96c64972c8265cc7f12078bb5" + "ea6cfd73d10a08d402e71a149b24a859" ], [ "Protocol.rand_of", @@ -2651,7 +2598,7 @@ "fuel_guarded_inversion_Protocol.connection" ], 0, - "bd369654cdcff169f568b02d73ac660b" + "d1ec8800c343b401f2bacaace1d56d02" ], [ "Protocol.entries_of", @@ -2667,7 +2614,7 @@ "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.rand_of", "fuel_guarded_inversion_Protocol.connection", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "projection_inverse_Protocol.R_ctr", "projection_inverse_Protocol.R_entries", "projection_inverse_Protocol.R_rand", @@ -2676,7 +2623,7 @@ "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47" ], 0, - "054eb21fe4a05ab0792e761fd9d3bb2f" + "9a57fb6e32fd7672b08a961a2156931f" ], [ "Protocol.entries_of", @@ -2689,10 +2636,10 @@ "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.rand_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "7313a2448f75e3f168185bd8e14f591a" + "80f54fcaf65d3baa53a80f79ceb0c844" ], [ "Protocol.live_connection", @@ -2706,10 +2653,10 @@ "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "fuel_guarded_inversion_Protocol.connection", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "bf2fe4f47f16c3927604e7ab37fa6d07" + "86e4d17d4db38fa82592a495195c4c01" ], [ "Protocol.lemma_sel_entries_equals_sel_tot_entries", @@ -2725,12 +2672,12 @@ "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.live_connection", "equation_Protocol.rand_of", "fuel_guarded_inversion_Protocol.connection", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "28850eb5932a228475cfa1d1296ab25a" + "9d7d02b8ec8485408e9336ed795aa325" ], [ "Protocol.lemma_sel_ctr_ref_equals_sel_tot_ctr_ref", @@ -2746,11 +2693,11 @@ "projection_inverse_Protocol.R_entries", "projection_inverse_Protocol.R_rand", "refinement_interpretation_Tm_refine_1515f8c9bed8836c1665cbcf6953f9bb", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_Protocol.uu___is_R" ], 0, - "b0dff46475125f9440ecd132d13ac283" + "2221b646acd6191a2689a4f7f5aba82b" ], [ "Protocol.log", @@ -2766,12 +2713,12 @@ "equation_Protocol.is_prefix_of", "equation_Protocol.live_connection", "equation_Protocol.rand_of", "fuel_guarded_inversion_Protocol.connection", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "l_and-interp", - "refinement_interpretation_Tm_refine_0b9bfa7c9199a4522bd11aa0a624263b" + "refinement_interpretation_Tm_refine_12e73119c459be812384fdc8e6c9733a" ], 0, - "143b68212262941a635aee2c5f1871d9" + "352e0bc9d67082a9c19829faded97748" ], [ "Protocol.lemma_prefix_entries_implies_prefix_log", @@ -2785,11 +2732,11 @@ "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.rand_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", - "refinement_interpretation_Tm_refine_6ad1911ba7997a4706e7f484754f6c48" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "refinement_interpretation_Tm_refine_3d0c21849d5cf8d118afc092733f14a4" ], 0, - "f6c7b8bddd276dac8d05db14a066c542" + "7ebd6fbad875bed7f672d3d5783f0b6e" ], [ "Protocol.ctr", @@ -2805,14 +2752,14 @@ "equation_Protocol.is_prefix_of", "equation_Protocol.live_connection", "equation_Protocol.rand_of", "fuel_guarded_inversion_Protocol.connection", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "l_and-interp", "proj_equation_Protocol.R_ctr", "proj_equation_Protocol.R_entries", "proj_equation_Protocol.R_rand", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0b9bfa7c9199a4522bd11aa0a624263b" + "refinement_interpretation_Tm_refine_12e73119c459be812384fdc8e6c9733a" ], 0, - "8ccb9175e86bff8612db86d6e1891ef3" + "d6ece6fe47cd09ac5a3db2843a14e76a" ], [ "Protocol.recall_counter", @@ -2821,7 +2768,7 @@ 1, [ "@query" ], 0, - "0086c88153d625e41cadd3864a4441d5" + "f8f10de329621cb61d7b93b68d682003" ], [ "Protocol.snapshot", @@ -2830,48 +2777,45 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", "b2t_def", "data_elim_Protocol.R", "disc_equation_Protocol.R", "disc_equation_Protocol.S", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", "equation_FStar.ST.stable", - "equation_Prims.nat", "equation_Protocol.counter_pre", - "equation_Protocol.counter_rel", "equation_Protocol.counter_t", - "equation_Protocol.ctr", "equation_Protocol.entries", - "equation_Protocol.entries_of", "equation_Protocol.entries_rel", - "equation_Protocol.is_prefix_of", + "equation_Protocol.counter_pre", "equation_Protocol.counter_rel", + "equation_Protocol.counter_t", "equation_Protocol.ctr", + "equation_Protocol.entries", "equation_Protocol.entries_of", + "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.live_connection", "equation_Protocol.log", "equation_Protocol.message", "equation_Protocol.rand_of", "fuel_guarded_inversion_Protocol.connection", - "function_token_typing_Protocol.message", - "interpretation_Tm_abs_81a1aa550ab48962516ca0c36d0a7a7d", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", - "interpretation_Tm_abs_d592ffd623391d3ab4b7320762157c39", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "interpretation_Tm_abs_7bb1aca7f565f38c176c14dd92322edb", + "interpretation_Tm_abs_eeabe0e6e5ca3e7a109fddadcd4aea2e", "kinding_Protocol.entry@tok", "l_and-interp", - "lemma_Protocol.lemma_prefix_entries_implies_prefix_log", "lemma_Protocol.lemma_sel_ctr_ref_equals_sel_tot_ctr_ref", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", "primitive_Prims.op_LessThanOrEqual", "proj_equation_Protocol.R_ctr", "proj_equation_Protocol.R_entries", "proj_equation_Protocol.R_rand", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0b9bfa7c9199a4522bd11aa0a624263b", + "refinement_interpretation_Tm_refine_12e73119c459be812384fdc8e6c9733a", "refinement_interpretation_Tm_refine_1515f8c9bed8836c1665cbcf6953f9bb", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", - "refinement_interpretation_Tm_refine_6ad1911ba7997a4706e7f484754f6c48", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", "typing_ArrayUtils.seq_map", "typing_FStar.Monotonic.Heap.sel", "typing_Protocol.counter_pre", "typing_Protocol.counter_t", "typing_Protocol.entries", "typing_Protocol.entries_of", "typing_Protocol.entries_rel", "typing_Protocol.rand_of", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b" + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "77302c34801501cfecdadf135dac61b9" + "8d7a5a31ea402b8d06be276ba8603f63" ], [ "Protocol.snap", @@ -2880,7 +2824,7 @@ 1, [ "@query" ], 0, - "c473963f757f3584519e5222e9c7c79b" + "2045a1a5183a2ca94cd701d657babe9d" ], [ "Protocol.connection_footprint", @@ -2888,23 +2832,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "disc_equation_Protocol.R", "disc_equation_Protocol.S", - "equation_FStar.Preorder.preorder_rel", + "@MaxIFuel_assumption", "@query", "disc_equation_Protocol.R", + "disc_equation_Protocol.S", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "fuel_guarded_inversion_Protocol.connection", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "75974925acd1b96b9667d0f8eab3cc78" + "4dbfdd611483184e2a9ae8e4c00dac5f" ], [ "Protocol.connection_footprint", @@ -2914,11 +2855,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "99e55262dd21866fa1ece55da2aca00c" + "f683c765a438855f966340adc86450a5" ], [ "Protocol.lemma_snoc_log", @@ -2931,13 +2872,12 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", - "equation_Protocol.message", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", - "refinement_interpretation_Tm_refine_6ad1911ba7997a4706e7f484754f6c48", - "refinement_interpretation_Tm_refine_8b8773cc8e8e97faff9782919cb96e44" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "refinement_interpretation_Tm_refine_1c47ef53210a35133af7e2a27422427f", + "refinement_interpretation_Tm_refine_3d0c21849d5cf8d118afc092733f14a4" ], 0, - "fb8422d2dd4c8cfd8a0098c050d947ca" + "8dcf23483d5952777d1d105e6badd6db" ], [ "Protocol.network_send", @@ -2951,14 +2891,14 @@ "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.sender", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Protocol.S_rand", "refinement_interpretation_Tm_refine_349b58696eb9cfae6073e9368f8333df", "typing_Protocol.sender" ], 0, - "f673bf51f59259e7b1626b7b9727d92e" + "4bbfecb6adcaf07ed66bcdde7e803a67" ], [ "Protocol.send", @@ -2966,22 +2906,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", - "bool_inversion", "equation_ArrayUtils.all_some", - "equation_ArrayUtils.init_at_seq", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", "equation_ArrayUtils.some_equivalent_seqs", "equation_MonotonicArray.array", "equation_MonotonicArray.as_initialized_subseq", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.min", "equation_Prims.nat", "equation_Protocol.iarray", - "equation_Protocol.sender", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.fragment_size", - "function_token_typing_Protocol.zero_b", "int_inversion", - "int_typing", "lemma_ArrayUtils.lemma_get_some_equivalent_slice", + "equation_Protocol.sender", "function_token_typing_Protocol.byte", + "int_inversion", "int_typing", + "lemma_ArrayUtils.lemma_get_some_equivalent_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_MonotonicArray.lemma_as_seq_length", "primitive_Prims.op_LessThanOrEqual", @@ -2989,16 +2923,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_349b58696eb9cfae6073e9368f8333df", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_e50addb6c1bbd8f85fb54bf03b146e15", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "typing_ArrayUtils.get_some_equivalent", - "typing_MonotonicArray.as_seq", "typing_Protocol.sender" + "typing_MonotonicArray.as_seq", "typing_Protocol.fragment_size", + "typing_Protocol.sender" ], 0, - "bc27e2e424df7d81a63026debe6651e2" + "91cf8c15d90288589280fbf1dfe67131" ], [ "Protocol.ciphers", @@ -3011,10 +2946,10 @@ "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.rand_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "a6f9fb708563dfd451a5f49a7e224d3d" + "df1d00b4877117a0be101e9c657f30ad" ], [ "Protocol.modifies_r", @@ -3024,11 +2959,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "28b127463fdc561aa2021b58be7e5263" + "aa154ebf53b55dd5a35031d4bf4982fc" ], [ "Protocol.verify", @@ -3042,12 +2977,12 @@ "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.receiver", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "refinement_interpretation_Tm_refine_e478ac71fa1875d2f6d4c23ab44e0977", "typing_Protocol.receiver" ], 0, - "85beaf592eb3f72a02b337a611730a88" + "3a0e053eb8063b1090a91993088e9abb" ], [ "Protocol.receive", @@ -3055,34 +2990,28 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_Protocol.R", "equation_ArrayUtils.init_at_seq", - "equation_MonotonicArray.array", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "disc_equation_FStar.Pervasives.Native.None", + "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.array", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Protocol.receiver", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.zero_b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Pervasives.invertOption", "lemma_MonotonicArray.lemma_as_seq_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4a733db3a658e850aa0730fac7409e0b", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e478ac71fa1875d2f6d4c23ab44e0977", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7d16d25b876cec5da09fa2351454844a", + "refinement_interpretation_Tm_refine_9e2ef3afda27e5221fd7708295db6eed", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "592b66ed20106f85bc542354ad276467" + "45f1c95088ecc2aa34cd00b85bc2a670" ], [ "Protocol.lemma_is_prefix_of_slice", @@ -3090,19 +3019,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Protocol.is_prefix_of", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Protocol.is_prefix_of", "int_inversion", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_21ba3780ecd4c31fe9f89ff8d60a5f28", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_6472b0a877e3e824d44d3d3f19ad04e0", - "refinement_interpretation_Tm_refine_9e187340f4f1ab60993a542a5c9f6d11", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length" ], 0, - "de0dbbdc8a0718fea2e5c8290ccb6b19" + "1daf79b6d8d0c113748c076204ac2292" ], [ "Protocol.sent_bytes'", @@ -3110,17 +3037,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913" ], 0, - "75baeb47427d4491a32012027f87420c" + "c9ba978a78cfea7b6d670eaf4bfbbc8c" ], [ "Protocol.sent_bytes", @@ -3129,10 +3053,9 @@ 1, [ "@MaxIFuel_assumption", "@query", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", "b2t_def", "data_elim_Protocol.R", "eq2-interp", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", @@ -3146,35 +3069,34 @@ "equation_Protocol.live_connection", "equation_Protocol.log", "equation_Protocol.message", "equation_Protocol.rand_of", "equation_Protocol.sent_bytes_", - "fuel_guarded_inversion_Protocol.connection", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Protocol.message", "int_inversion", - "interpretation_Tm_abs_855d7c814f9b1253729041e289e69d2a", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", - "interpretation_Tm_abs_d592ffd623391d3ab4b7320762157c39", + "fuel_guarded_inversion_Protocol.connection", "int_inversion", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", + "interpretation_Tm_abs_7bb1aca7f565f38c176c14dd92322edb", + "interpretation_Tm_abs_7f6e09c57851a655e400606396618bbe", "kinding_Protocol.entry@tok", "l_and-interp", "lemma_Protocol.lemma_is_prefix_of_slice", "lemma_Protocol.lemma_prefix_entries_implies_prefix_log", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", + "refinement_interpretation_Tm_refine_21ba3780ecd4c31fe9f89ff8d60a5f28", + "refinement_interpretation_Tm_refine_3d0c21849d5cf8d118afc092733f14a4", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", "refinement_interpretation_Tm_refine_6472b0a877e3e824d44d3d3f19ad04e0", - "refinement_interpretation_Tm_refine_6ad1911ba7997a4706e7f484754f6c48", - "refinement_interpretation_Tm_refine_9e187340f4f1ab60993a542a5c9f6d11", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", "typing_ArrayUtils.seq_map", "typing_FStar.Monotonic.Heap.sel", "typing_Protocol.counter_pre", "typing_Protocol.counter_t", "typing_Protocol.entries", "typing_Protocol.entries_of", "typing_Protocol.entries_rel", "typing_Protocol.rand_of", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b" + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "ab937680d1b07b2a7f7eec82e9825d9d" + "3cc866e1aa1ab92247acd5e425551db3" ], [ "Protocol.iarray_as_seq", @@ -3188,12 +3110,12 @@ "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.nat", "equation_Protocol.iarray", "int_inversion", "lemma_MonotonicArray.lemma_as_seq_length", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d" ], 0, - "ca8121adc46657e382362345c8743bc5" + "4df088a5d435d183f8048773fa0d6617" ], [ "Protocol.fully_initialized_in", @@ -3206,7 +3128,7 @@ "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d" ], 0, - "1f99bcf8700d70d6094993d5830139ec" + "292b79fbdba8265f54f8cdb51389ff75" ], [ "Protocol.subseq_suffix", @@ -3214,14 +3136,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.array", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.suffix", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", "equation_Protocol.iarray", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -3229,17 +3149,17 @@ "lemma_MonotonicArray.lemma_sub_is_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_a84c31dd3ffb7247ff03d9663266e434", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_a720e2971b18d448d8104342893dbddc", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "typing_MonotonicArray.as_seq" ], 0, - "b13d54affb69a4ce3f9d11184edc53fd" + "3371cc4ee19782e17fe8b905156fc93a" ], [ "Protocol.slice_snoc", @@ -3248,21 +3168,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "fd1ae98ef78385f859cd772d332bfa73" + "f48ac9923becd99c5d8118a3863b4f74" ], [ "Protocol.slice_snoc2", @@ -3271,21 +3189,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "6fd6d9310f2334229cc762ef4d4bc176" + "d05052c020800133e93e652b08b3eb68" ], [ "Protocol.append_subseq", @@ -3293,15 +3209,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", - "equation_ArrayUtils.all_some", "equation_ArrayUtils.init_at_seq", - "equation_MonotonicArray.array", + "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.array", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.suffix", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", "equation_Protocol.iarray", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -3309,17 +3222,17 @@ "lemma_MonotonicArray.lemma_sub_is_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_a84c31dd3ffb7247ff03d9663266e434", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_a720e2971b18d448d8104342893dbddc", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "typing_MonotonicArray.as_seq" ], 0, - "01517e7a8083bb8ef5962b9e9446e641" + "f094f537906462ef307ebb988a19126b" ], [ "Protocol.send_aux", @@ -3327,33 +3240,28 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_Protocol.S", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.array", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", "equation_Protocol.iarray", - "equation_Protocol.sender", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", + "equation_Protocol.sender", "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.zero_b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_MonotonicArray.lemma_as_seq_length", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_377d0118686d11596ae874abd2ea7677", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f517b5f7d02af5291ebd79945a22e63", - "refinement_interpretation_Tm_refine_8aa1c18a13fbc3e3fe9376d1a9627ecc", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_9c53eb855ade94a7b7c9e39b74b4706d", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d" ], 0, - "9681edfd44a4abfda740760c21c5cfd9" + "36796f0d7f556caf23fbe4c1ebe070f4" ], [ "Protocol.send_file", @@ -3361,27 +3269,22 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.array", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Protocol.iarray", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", + "equation_Protocol.iarray", "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.zero_b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_MonotonicArray.lemma_as_seq_length", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d" ], 0, - "3625aa3ba56bf6eba40edaf390f3712d" + "66568cacb75315bff051b2519503e1d0" ], [ "Protocol.received", @@ -3389,16 +3292,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", - "equation_ArrayUtils.init_at_seq", + "@query", "b2t_def", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", - "equation_Protocol.fully_initialized_in", - "function_token_typing_Protocol.zero_b" + "equation_Protocol.fully_initialized_in" ], 0, - "6e64bfc66051e23b4d3d6eaf3741ab23" + "d253b349c3fd9b2d6fc834e992d3d5f8" ], [ "Protocol.append_filled", @@ -3406,9 +3306,7 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -3420,7 +3318,6 @@ "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.prefix", "equation_MonotonicArray.suffix", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Pervasives.invertOption", @@ -3433,21 +3330,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2af26714aacb45b5c7237458083cad9", "refinement_interpretation_Tm_refine_e50addb6c1bbd8f85fb54bf03b146e15", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "typing_ArrayUtils.get_some_equivalent", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Seq.Base.index", "typing_MonotonicArray.as_seq" ], 0, - "dd274c2b556995bae61831253fbc1e7e" + "893bb262ea0685375bc635816a7845f9" ], [ "Protocol.extend_initialization", @@ -3455,21 +3353,18 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_MonotonicArray.array", "equation_MonotonicArray.prefix", - "equation_MonotonicArray.suffix", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "@MaxIFuel_assumption", "@query", "equation_MonotonicArray.array", + "equation_MonotonicArray.prefix", "equation_MonotonicArray.suffix", + "equation_Prims.nat", "int_inversion", "int_typing", "lemma_MonotonicArray.lemma_sub_preserves_array_mutable_flag", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d" ], 0, - "27d5e974408b3cded75a5a17c08ddcaf" + "31adaff9817f66eb3f8ebd1c2292d930" ], [ "Protocol.receive_aux_post", @@ -3477,16 +3372,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d9b264ee1845103eba84b9f9ff1b537f" + "454419d372e41e877618688cf963f188" ], [ "Protocol.receive_aux_post", @@ -3494,30 +3386,27 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.array", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.prefix", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Protocol.byte", "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", "lemma_MonotonicArray.lemma_sub_preserves_array_mutable_flag", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", - "refinement_kinding_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", + "refinement_kinding_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "2ad0b1acb8675d10bf01b86e994d9a56" + "b16f3d1f0f9d8c412b7923a70cd56bc9" ], [ "Protocol.receive_aux_post", @@ -3525,16 +3414,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "11e8413f078c8f1eee5c0a712258760b" + "9093194418adad67da547f7866fa10f9" ], [ "Protocol.receive_aux", @@ -3542,79 +3428,73 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_ArrayUtils.init_at_seq", "equation_MonotonicArray.array", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_MonotonicArray.prefix", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Protocol.fully_initialized_in", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_MonotonicArray.lemma_sub_preserves_array_mutable_flag", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_30410201f562422d8c7462f7ae8a84f3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_cbf50e93edf9116e0fd7249b89712a6f", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", "typing_Protocol.fragment_size" ], 0, - "5af3d4f7e17b1ac95ccd7caf17ed8e92" + "6f2287f60263f5586f3e782204c86b3e" ], [ "Protocol.receive_file", 4, - 0, - 0, + 2, + 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "disc_equation_FStar.Pervasives.Native.None", "equation_MonotonicArray.all_init", "equation_MonotonicArray.array", "equation_MonotonicArray.prefix", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "equation_Prims.nat", "function_token_typing_Prims.int", "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.fragment_size", - "function_token_typing_Protocol.zero_b", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", "lemma_MonotonicArray.lemma_sub_preserves_array_mutable_flag", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9c270e74b09a745564fcd74dbca4997", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", + "refinement_interpretation_Tm_refine_7d16d25b876cec5da09fa2351454844a", "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", - "typing_FStar.Pervasives.Native.uu___is_None", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "3d4e47f9b7136ee2bed921be0840682c" + "bc864e23c76deb404b5b00a110385055" ], [ "Protocol.tags", 2, - 0, - 0, + 2, + 1, [ "@query", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Protocol.entries", "equation_Protocol.entries_rel", "equation_Protocol.is_prefix_of", "equation_Protocol.rand_of", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc" + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1" ], 0, - "d221efe3656f41e0621710cfad091711" + "821448128a92f5abe84e8766b23e504d" ], [ "Protocol.lemma_partial_length_hiding", @@ -3623,60 +3503,64 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "Protocol_interpretation_Tm_arrow_3a12d11149297e47488de3dd4a6a28b8", - "Protocol_interpretation_Tm_arrow_5e71670f9c6a2fb58159b4bea900647c", - "Protocol_interpretation_Tm_arrow_afe0a89ff2e825195e02da13f7ed404a", - "Protocol_pretyping_d1978c882b530b60e372963c3ccf3dc6", "b2t_def", - "bool_inversion", "disc_equation_Protocol.S", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "Protocol_interpretation_Tm_arrow_0c657c755035f596d0eab9121565aa88", + "Protocol_interpretation_Tm_arrow_2f7fbe14a1d944bed4262138122c830a", + "Protocol_interpretation_Tm_arrow_bbf9c13f2e1689774c895427eb4d7c9a", + "b2t_def", "bool_inversion", "disc_equation_Protocol.S", "equation_ArrayUtils.init_at_seq", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", + "equation_MonotonicArray.array", + "equation_MonotonicArray.as_initialized_seq", "equation_MonotonicArray.init_arr_in_heap", "equation_MonotonicArray.init_arr_in_heap_i_j", "equation_Prims.nat", "equation_Prims.squash", "equation_Protocol.ciphers", "equation_Protocol.entries", "equation_Protocol.entries_of", "equation_Protocol.entries_rel", - "equation_Protocol.fully_initialized_in", + "equation_Protocol.fully_initialized_in", "equation_Protocol.iarray", "equation_Protocol.is_prefix_of", "equation_Protocol.log", "equation_Protocol.message", "equation_Protocol.network_message", - "equation_Protocol.rand_of", "equation_Protocol.randomness", - "equation_Protocol.sender", "equation_Protocol.tags", - "fuel_guarded_inversion_Protocol.entry", + "equation_Protocol.rand_of", "equation_Protocol.sender", + "equation_Protocol.tags", "fuel_guarded_inversion_Protocol.entry", "function_token_typing_Protocol.__proj__E__item__cipher", "function_token_typing_Protocol.__proj__E__item__tag", - "function_token_typing_Protocol.byte", - "function_token_typing_Protocol.message", - "function_token_typing_Protocol.network_message", - "function_token_typing_Protocol.zero_b", "int_inversion", - "interpretation_Tm_abs_b78c6ebdb40fd3e5a9c5e5eaa18321fc", + "function_token_typing_Protocol.byte", "int_inversion", + "interpretation_Tm_abs_41efd131336ec34ef1b819bed745d3d1", "kinding_Protocol.entry@tok", "l_and-interp", "lemma_Protocol.lemma_sel_entries_equals_sel_tot_entries", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_170acaa3b4bfa3c3779f1f41167ea2ec", - "refinement_interpretation_Tm_refine_2244126fa9e3f73aca320e63eaeaee37", + "refinement_interpretation_Tm_refine_051d9e349a951b7cc38f0eec26e27bba", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_349b58696eb9cfae6073e9368f8333df", - "refinement_interpretation_Tm_refine_3d8b69f45266afaee0912d763ad8eb45", - "refinement_interpretation_Tm_refine_46f08a99bb3521bb89400ae6ad3f6d4e", - "refinement_interpretation_Tm_refine_846e1b09362939e3afc5c7e72e29ccb8", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_4183060ba5404f285780b6cf19647e32", + "refinement_interpretation_Tm_refine_4a193488219f747acf46a37f5644f382", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_816b2eace640393e825c4f39ff9fa479", + "refinement_interpretation_Tm_refine_92e7b880117ab7e25bd98d4e419d5f5f", + "refinement_interpretation_Tm_refine_9dd2f7dc4f1c13136a80acee9d90b531", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_c52766f1ffb36bccccc81ae2f2d192be", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f99876d259154b55a429b2fe76e92ee5", + "refinement_interpretation_Tm_refine_f984cba283a0017499e468d307a8fd1d", + "refinement_interpretation_Tm_refine_fc5e8c1ea1d73a44adede890f3588579", + "refinement_kinding_Tm_refine_84f2654672d0a3698a905d302d0b961d", + "refinement_kinding_Tm_refine_8cf65a0e984801514f164a721568601b", "token_correspondence_Protocol.__proj__E__item__cipher", "token_correspondence_Protocol.__proj__E__item__tag", "typing_ArrayUtils.seq_map", "typing_FStar.Monotonic.Heap.sel", - "typing_FStar.Seq.Base.seq", "typing_Protocol.entries", - "typing_Protocol.entries_of", "typing_Protocol.entries_rel", - "typing_Protocol.rand_of", "typing_Protocol.sender", - "typing_Tm_abs_53acb4ddc87666d390ac6a8650fb424b", "unit_typing" + "typing_FStar.Seq.Base.seq", + "typing_MonotonicArray.as_initialized_seq", + "typing_Protocol.entries", "typing_Protocol.entries_of", + "typing_Protocol.entries_rel", "typing_Protocol.rand_of", + "typing_Protocol.sender", + "typing_Tm_abs_1f17782d7f15dca3aa2da1fe8e018a7e" ], 0, - "e554bc4a91d5cfcd6e4c75db5c42c1e9" + "fad4cff143c2aa0bfd1378f14ca9d9eb" ] ] ] \ No newline at end of file diff --git a/examples/preorders/ReifyTest.fst.hints b/examples/preorders/ReifyTest.fst.hints index 16e03235781..351604968fc 100644 --- a/examples/preorders/ReifyTest.fst.hints +++ b/examples/preorders/ReifyTest.fst.hints @@ -8,8 +8,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Preorder.predicate", + "MRefST_interpretation_Tm_arrow_fddf70d42854bcd0aeeb74533f06ee86", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "equation_FStar.Preorder.predicate", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", @@ -17,13 +18,11 @@ "equation_FStar.Preorder.transitive", "equation_MRefHeap.preorder_t", "equation_MRefST.contains", "equation_MRefST.heap_rel", "equation_MRefST.mref", "equation_MRefST.stable_on_heap", - "equation_MRefST.stable_on_heap_aux", "equation_Prims.logical", - "equation_Prims.nat", + "equation_MRefST.stable_on_heap_aux", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_typing", - "interpretation_Tm_abs_0d0dbc92c6c780adf3ff8b9398c8e216", - "interpretation_Tm_abs_eda2c43f6dbdcedd7223bc56b8d132d5", + "int_typing", + "interpretation_Tm_abs_577bb0504d99bec50af9e2beb88b9dcb", + "interpretation_Tm_abs_c66f7e87d18c04430a63c341491495ae", "l_and-interp", "lemma_MRefST.stable_on_heap_stable", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", @@ -31,15 +30,18 @@ "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_3568bcf9133bbe8512b3c2560361e2a6", "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466", - "refinement_interpretation_Tm_refine_8d3a6a1c6b7e9eac89f637dcaeb65950", - "refinement_interpretation_Tm_refine_99fc5c527c8e67383b59fcf62697bfb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_aa392cfb19a7bef11def16af498eb713", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_da9cbab0485332770e2f963089e2dda6", + "refinement_interpretation_Tm_refine_deef6248c9cb1ee1196561ef08ad1dda", + "refinement_interpretation_Tm_refine_f07337a29cfe3dbf224739cd84fc5577", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.alloc_ref", "typing_MRefHeap.upd" ], 0, - "fcce1325e60b40395de54a13b16ba20b" + "8393cb6623e38e583a6a8632a19f652a" ], [ "ReifyTest.test_reify_recall", @@ -48,8 +50,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Preorder.predicate", + "MRefST_interpretation_Tm_arrow_fddf70d42854bcd0aeeb74533f06ee86", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "equation_FStar.Preorder.predicate", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", @@ -57,13 +60,11 @@ "equation_FStar.Preorder.transitive", "equation_MRefHeap.preorder_t", "equation_MRefST.contains", "equation_MRefST.heap_rel", "equation_MRefST.mref", "equation_MRefST.stable_on_heap", - "equation_MRefST.stable_on_heap_aux", "equation_Prims.logical", - "equation_Prims.nat", + "equation_MRefST.stable_on_heap_aux", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_typing", - "interpretation_Tm_abs_0d0dbc92c6c780adf3ff8b9398c8e216", - "interpretation_Tm_abs_eda2c43f6dbdcedd7223bc56b8d132d5", + "int_typing", + "interpretation_Tm_abs_577bb0504d99bec50af9e2beb88b9dcb", + "interpretation_Tm_abs_c66f7e87d18c04430a63c341491495ae", "l_and-interp", "lemma_MRefST.stable_on_heap_stable", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", @@ -71,15 +72,18 @@ "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_3568bcf9133bbe8512b3c2560361e2a6", "refinement_interpretation_Tm_refine_36453e3eb6145226f640e16ed9612466", - "refinement_interpretation_Tm_refine_8d3a6a1c6b7e9eac89f637dcaeb65950", - "refinement_interpretation_Tm_refine_99fc5c527c8e67383b59fcf62697bfb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_aa392cfb19a7bef11def16af498eb713", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_da9cbab0485332770e2f963089e2dda6", + "refinement_interpretation_Tm_refine_deef6248c9cb1ee1196561ef08ad1dda", + "refinement_interpretation_Tm_refine_f07337a29cfe3dbf224739cd84fc5577", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_MRefST.heap_rel", "typing_MRefHeap.alloc_ref", "typing_MRefHeap.upd" ], 0, - "16b584c8110fdcc63d2a958cefa207af" + "8c019a928453d5700943722832a1a801" ] ] ] \ No newline at end of file diff --git a/examples/preorders/ReifyTestTSST.fst.hints b/examples/preorders/ReifyTestTSST.fst.hints index 0d22f12b879..bfc79a4115e 100644 --- a/examples/preorders/ReifyTestTSST.fst.hints +++ b/examples/preorders/ReifyTestTSST.fst.hints @@ -11,7 +11,7 @@ "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" ], 0, - "3fabf80e9f651a68745b02f4be9fec8d" + "243e5908744d244eff21aa34ec355d0d" ], [ "ReifyTestTSST.older_than_antisymmetric", @@ -23,10 +23,10 @@ "equation_ReifyTestTSST.older_than", "equation_ReifyTestTSST.timestamp", "int_inversion", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ff34f34b5ef8e6cea9a52746c9784487" + "6549dd99e7e68188bba03a178e2037df" ], [ "ReifyTestTSST.state_rel", @@ -38,12 +38,12 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Prims.nat", "equation_ReifyTestTSST.state", - "interpretation_Tm_abs_6945cbac26a9ec710739baf04e8fdc56", + "interpretation_Tm_abs_7ff78844d989c680ed3076243ce490a2", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "e76810d7c858a1837c4e0a0035de429f" + "6bcc82dd2e0fa7df29443e64b60c487d" ], [ "ReifyTestTSST.reify_recall_test", @@ -51,27 +51,26 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Preorder.stable", "equation_Prims.nat", "equation_ReifyTestTSST.get_timestamp", "equation_ReifyTestTSST.older_than", "equation_ReifyTestTSST.state", "equation_ReifyTestTSST.state_rel", "equation_ReifyTestTSST.timestamp", - "equation_ReifyTestTSST.witnessed", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_2d126cb16e6816800d2f2c3cfba837ab", + "equation_ReifyTestTSST.witnessed", "int_inversion", + "interpretation_Tm_abs_7ff78844d989c680ed3076243ce490a2", + "interpretation_Tm_abs_e528333b9d5eec3dd11db629fcea7508", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_ReifyTestTSST.get_state", "typing_ReifyTestTSST.get_timestamp" ], 0, - "a7d725776503d424a12179558aabc7ac" + "47fa0040eccf753d93f8d1bc572d6fa6" ], [ "ReifyTestTSST.state_rel", @@ -83,12 +82,12 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Prims.nat", "equation_ReifyTestTSST.state", - "interpretation_Tm_abs_6945cbac26a9ec710739baf04e8fdc56", + "interpretation_Tm_abs_7ff78844d989c680ed3076243ce490a2", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "1a5e91da1793109758fb7b708a935962" + "60f1547139dbb6c61933513a29defaaf" ] ] ] \ No newline at end of file diff --git a/examples/preorders/SnapshotST.fst.hints b/examples/preorders/SnapshotST.fst.hints index d40572e2800..b2864169dda 100644 --- a/examples/preorders/SnapshotST.fst.hints +++ b/examples/preorders/SnapshotST.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_abc8984d7fb6dc87dbd65572f74bda11" ], 0, - "0b758b06833858eaf513adb3ad015443" + "fda9636c10d5c9303f45bb78a70dc51b" ], [ "SnapshotST.__proj__Tmp__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_8373c0a53fce8bd921acbd00ee47726c" ], 0, - "0a5fa81307df1cdcd6dce2b68eb750df" + "f20c491ba60f93c51d355153ac4a37c9" ], [ "SnapshotST.__proj__Tmp__item___1", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_8373c0a53fce8bd921acbd00ee47726c" ], 0, - "1c8aed02236e797d652d04216d3b6953" + "af8514c09cec903c7e370708359f289a" ], [ "SnapshotST.rel_t", @@ -56,7 +56,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "82e1f20d320f95c05b48a2aea74e7968" + "ca3f9bd79d6024aae9a33cf6d0d671dd" ], [ "SnapshotST.lift_predicate", @@ -68,7 +68,7 @@ "disc_equation_SnapshotST.Tmp", "fuel_guarded_inversion_SnapshotST.t" ], 0, - "b4ae34a766d811828e3ab9d73833f188" + "9d4fe9abffcb76580facf9f2a146cfd5" ], [ "SnapshotST.lift_stability", @@ -84,10 +84,10 @@ "fuel_guarded_inversion_SnapshotST.t", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_99f53608a2d93ee6ac1800c4e882081f" + "refinement_interpretation_Tm_refine_4919007296017533ad3fcdbcd84b282e" ], 0, - "99dfcc2866e76292bf030feb4886d198" + "51900d0962bdbff79534cf6f4d253803" ], [ "SnapshotST.witnessed", @@ -109,7 +109,7 @@ "token_correspondence_SnapshotST.rel_t", "typing_SnapshotST.rel_s" ], 0, - "2228ed3cf10fa104bae03048b8fa8789" + "59e7be94cd10e98e064740a3e9bcc81e" ], [ "SnapshotST.witness", @@ -131,7 +131,7 @@ "token_correspondence_SnapshotST.rel_t", "typing_SnapshotST.rel_s" ], 0, - "1e430b454de0e067a4cb71f034919882" + "d5f8304e953e1ebf5efcf2721058dd16" ], [ "SnapshotST.recall", @@ -153,7 +153,7 @@ "token_correspondence_SnapshotST.rel_t", "typing_SnapshotST.rel_s" ], 0, - "c17a53953a00dacd73078c36f06a2213" + "a2eb10e447de5bc333f807c1287d62e4" ], [ "SnapshotST.get_s", @@ -165,7 +165,7 @@ "disc_equation_SnapshotST.Tmp", "fuel_guarded_inversion_SnapshotST.t" ], 0, - "1ac3e637521e84c3b9b1b369273c2ecf" + "06ef222d52be6a6022df6be56271a34c" ], [ "SnapshotST.get_s", @@ -183,7 +183,7 @@ "projection_inverse_SnapshotST.Tmp__1" ], 0, - "7e447fb579286c6f1a6234669343807e" + "2a406c6df0e07432fddc32085d6cac30" ], [ "SnapshotST.put_s", @@ -195,7 +195,7 @@ "disc_equation_SnapshotST.Tmp", "fuel_guarded_inversion_SnapshotST.t" ], 0, - "a83ecb782c420beb867ffcfa623691b4" + "06b14947643c901d7795c491704566c5" ], [ "SnapshotST.put_s", @@ -223,7 +223,7 @@ "typing_SnapshotST.rel_s", "unit_inversion", "unit_typing" ], 0, - "a7213e6662a95f008543ea2601fd62fe" + "5d875120e711ef0eef263f1629e8f5f6" ], [ "SnapshotST.witness_s", @@ -235,7 +235,7 @@ "disc_equation_SnapshotST.Ok", "typing_SnapshotST.uu___is_Ok" ], 0, - "a0426e03d2eb5048af0d3910e3ac445d" + "248b994535a1f9e94e389c5d7c63aa5e" ], [ "SnapshotST.witness_s", @@ -250,14 +250,14 @@ "equation_SnapshotST.lift_predicate", "equation_SnapshotST.rel_t", "equation_SnapshotST.witnessed_s", "fuel_guarded_inversion_SnapshotST.t", - "interpretation_Tm_abs_73a1115b799b1dd058fa4210eb1e9020", + "interpretation_Tm_abs_398a8dcc1d5750e1a61f0be4356584b9", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_99f53608a2d93ee6ac1800c4e882081f", + "refinement_interpretation_Tm_refine_4919007296017533ad3fcdbcd84b282e", "token_correspondence_SnapshotST.rel_t" ], 0, - "b5a8db4a9c6259b5b5d42ffc3682e3e6" + "f2f4c036bbc1186d72af66580f82a4bc" ], [ "SnapshotST.recall_s", @@ -269,7 +269,7 @@ "typing_SnapshotST.uu___is_Ok" ], 0, - "8cd9980d8bec7f41c4ad8740a2827d88" + "362db5b27fad0e958073dcc57a9fbedc" ], [ "SnapshotST.recall_s", @@ -284,15 +284,15 @@ "equation_SnapshotST.lift_predicate", "equation_SnapshotST.rel_t", "equation_SnapshotST.witnessed_s", "fuel_guarded_inversion_SnapshotST.t", - "interpretation_Tm_abs_73a1115b799b1dd058fa4210eb1e9020", + "interpretation_Tm_abs_398a8dcc1d5750e1a61f0be4356584b9", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_99f53608a2d93ee6ac1800c4e882081f", + "refinement_interpretation_Tm_refine_4919007296017533ad3fcdbcd84b282e", "token_correspondence_SnapshotST.rel_t" ], 0, - "ce1ceaae220fdc6a15b1dfd23c9ca102" + "e8ec55ad0d26facca6a61ac17e7caf0f" ], [ "SnapshotST.break", @@ -304,7 +304,7 @@ "disc_equation_SnapshotST.Ok", "typing_SnapshotST.uu___is_Ok" ], 0, - "c40af5843219f876de49765c7162b92a" + "e07ab788ee13d21aa3e9e901f7348a4a" ], [ "SnapshotST.break", @@ -329,7 +329,7 @@ "typing_SnapshotST.rel_s", "typing_SnapshotST.uu___is_Ok" ], 0, - "a8e1a497376e49e5a69fb32a32ae420c" + "a958e07d1695cc62ac18abfb49733156" ], [ "SnapshotST.restore", @@ -341,7 +341,7 @@ "disc_equation_SnapshotST.Tmp", "typing_SnapshotST.uu___is_Tmp" ], 0, - "d384a2560041d1782f79f0812c09ac8a" + "0ceb2b65020bb000ad58b36f91ef89a1" ], [ "SnapshotST.restore", @@ -359,7 +359,7 @@ "projection_inverse_SnapshotST.Tmp__1" ], 0, - "4ad144861ab5e654850a6d800b2f9a2e" + "c686ea370d73c01be5c4e0fe84523f2c" ], [ "SnapshotST.__proj__Ok__item___0", @@ -372,7 +372,7 @@ "refinement_interpretation_Tm_refine_abc8984d7fb6dc87dbd65572f74bda11" ], 0, - "80af09bbb60d2ff7d32c11b6dd74146e" + "88c3b9ced1d7ec8d9e21a983630c462e" ], [ "SnapshotST.__proj__Tmp__item___0", @@ -385,7 +385,7 @@ "refinement_interpretation_Tm_refine_8373c0a53fce8bd921acbd00ee47726c" ], 0, - "2f00178e3a2d1dee643d2fbfbbba5996" + "06a4a7310365c09ede437aa253405f70" ], [ "SnapshotST.__proj__Tmp__item___1", @@ -398,7 +398,7 @@ "refinement_interpretation_Tm_refine_8373c0a53fce8bd921acbd00ee47726c" ], 0, - "b9acfd4ec3c7ddf8aac53e7d9628f971" + "887040bf9e75385086a1555509a392a8" ], [ "SnapshotST.rel_t", @@ -416,7 +416,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "73cf900c05fcd55c331d0468c1b815ab" + "59a0dabd8d63a5f478907f1ea0fdd4cd" ], [ "SnapshotST.lift_predicate", @@ -428,7 +428,7 @@ "disc_equation_SnapshotST.Tmp", "fuel_guarded_inversion_SnapshotST.t" ], 0, - "7c25f1e34371a379af7f1876d974c09b" + "3848bf3d92d97924420deff474ebc680" ], [ "SnapshotST.witnessed", @@ -450,7 +450,7 @@ "token_correspondence_SnapshotST.rel_t", "typing_SnapshotST.rel_s" ], 0, - "b3672e0e0f6690593d62479e7cd0397f" + "1483863d3d94a1ec521e51ac388e90c4" ], [ "SnapshotST.witness", @@ -472,7 +472,7 @@ "token_correspondence_SnapshotST.rel_t", "typing_SnapshotST.rel_s" ], 0, - "02c889393839855afa684216b37c080c" + "7084fb03807f3f8a493da45c4cc333ec" ], [ "SnapshotST.recall", @@ -494,7 +494,7 @@ "token_correspondence_SnapshotST.rel_t", "typing_SnapshotST.rel_s" ], 0, - "6030a59fe6c7b20f27f893edb4a3ea6a" + "72f0405ea52f22edb842a3b63f9172f1" ], [ "SnapshotST.get_s", @@ -506,7 +506,7 @@ "disc_equation_SnapshotST.Tmp", "fuel_guarded_inversion_SnapshotST.t" ], 0, - "bc6f54bc24a52b22ff01cc757af62014" + "68825a029c69a17eac8ca9cda8231219" ], [ "SnapshotST.put_s", @@ -518,7 +518,7 @@ "disc_equation_SnapshotST.Tmp", "fuel_guarded_inversion_SnapshotST.t" ], 0, - "57c6c9760faf8572354f4cc4e6769a00" + "e6cca71e37f2fc9617f2e37f0d6b3102" ], [ "SnapshotST.witness_s", @@ -530,7 +530,7 @@ "disc_equation_SnapshotST.Ok", "typing_SnapshotST.uu___is_Ok" ], 0, - "f35266de5c102e7e155779d4d091c5ca" + "b1e60abbfe7d2356a436ce54c1bab960" ], [ "SnapshotST.recall_s", @@ -542,7 +542,7 @@ "typing_SnapshotST.uu___is_Ok" ], 0, - "28e11de1ea878be44bbc52a05593a487" + "455f63e21b599bd8b0d75704b87eda0a" ], [ "SnapshotST.break", @@ -554,7 +554,7 @@ "disc_equation_SnapshotST.Ok", "typing_SnapshotST.uu___is_Ok" ], 0, - "29f4334dbe40791663f03abe3277c371" + "f362d89fab87d127231e9d7f863f6254" ], [ "SnapshotST.restore", @@ -566,7 +566,7 @@ "disc_equation_SnapshotST.Tmp", "typing_SnapshotST.uu___is_Tmp" ], 0, - "0ab66c9dbbfff19a0395de8de08ae3f6" + "e37113983148b70e1e0cca59380a2231" ] ] ] \ No newline at end of file diff --git a/examples/printf/SimplePrintf.fst.hints b/examples/printf/SimplePrintf.fst.hints index c3bebbe613e..1dcdbd6cb13 100644 --- a/examples/printf/SimplePrintf.fst.hints +++ b/examples/printf/SimplePrintf.fst.hints @@ -14,7 +14,7 @@ "typing_FStar.String.char" ], 0, - "3a65ba6267d8b7255cc42c105d40ca62" + "c0736a1f9ee4c12ad8ab83ae83a6a584" ], [ "SimplePrintf.__proj__Lit__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_4c947cba4356c53de258d6a2aaf1bdcf" ], 0, - "8c8252292042c3eebbf315644cf2afb0" + "4086d8b2329da2ca99827f1f92db62d0" ], [ "SimplePrintf.__proj__Arg__item___0", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_18496ceb9c66ce4705128a993a338a20" ], 0, - "8a143fd91191ed26abe5afbed2d71cb4" + "b284070db69b3952f80fd230ba1773b3" ], [ "SimplePrintf.arg_type", @@ -54,7 +54,7 @@ "fuel_guarded_inversion_SimplePrintf.arg" ], 0, - "e896c693586abd26faf160a17bd878c3" + "d7ae1262790203135c8d5bbcf62f8167" ], [ "SimplePrintf.dir_type", @@ -74,7 +74,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd" ], 0, - "e5d32a72da32154568636891868a469a" + "53694fd7a35ee46cd9177c7535faabcf" ], [ "SimplePrintf.string_of_dirs", @@ -86,12 +86,12 @@ "@fuel_correspondence_SimplePrintf.dir_type.fuel_instrumented", "@fuel_irrelevance_SimplePrintf.dir_type.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", - "SimplePrintf_interpretation_Tm_arrow_352767d400f691c9087c9fe137ff2a2a", - "SimplePrintf_interpretation_Tm_arrow_920700e18f4a827a573cc108b4a8b178", - "SimplePrintf_interpretation_Tm_arrow_e6c430e76be26dc6ad28f8fdd2dc70ca", + "FStar.String_interpretation_Tm_arrow_70affe4dada4ca8ba18740c614ba5211", + "SimplePrintf_interpretation_Tm_arrow_04517b06830101b5b49a227952fd3ff1", + "SimplePrintf_interpretation_Tm_arrow_3873417a0c5a715c94309020865ce362", + "SimplePrintf_interpretation_Tm_arrow_e1ef6ee49e1437584d148eed1eb1d9ab", + "binder_x_2b7d8f2dadd0193f4caa6b86ea292a53_1", "binder_x_513418ee1a9bd16c03f003addbbcba09_0", - "binder_x_a703a5688952559d5cefe1268f16f195_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_SimplePrintf.Arg", "constructor_distinct_SimplePrintf.Lit", "disc_equation_Prims.Cons", @@ -114,10 +114,10 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "string_typing", "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd", - "typing_Tm_abs_e058403f954553e2cb5359d4f61a042f" + "typing_Tm_abs_55d28017a0da5d545c9b30c6c0d37957" ], 0, - "86e416b98cda817cf13c92ed5e9d06e7" + "bd7d4dc96fe5c90d186304cb06edcef0" ], [ "SimplePrintf.add_dir", @@ -134,7 +134,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "f3d6c5278c314b945a90b28560c68887" + "f2dbc18d25d68cfda6c9e8ff3e82d4f4" ], [ "SimplePrintf.parse_format_pure", @@ -155,7 +155,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "33b89124ef2d56ca4767080ff180f593" + "15765cad433b99199522a18e9dec24a4" ], [ "SimplePrintf.sprintf", @@ -169,8 +169,7 @@ "@fuel_correspondence_SimplePrintf.string_of_dirs.fuel_instrumented", "@fuel_irrelevance_SimplePrintf.dir_type.fuel_instrumented", "@fuel_irrelevance_SimplePrintf.parse_format_pure.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Pervasives.Native.None", + "@query", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -184,14 +183,14 @@ "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_189be86eb20fb7b22f365eee2b75b254", + "refinement_interpretation_Tm_refine_126f729eec635bc6a3e5b51a6eb88afb", "string_inversion", "typing_FStar.String.list_of_string", "typing_SimplePrintf.parse_format_string", - "typing_Tm_abs_11a0bd243c323383d18bc7b10b6727f0", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "typing_Tm_abs_38f0e3de21ebfcefba9633e487c58028", + "typing_Tm_abs_7de968e83fab2a5ec34920f38db5f8bf" ], 0, - "7c5da767689c3c226ed7baae3b4e8bc6" + "45ee9f2b58270eed49ed8b8f95379fa8" ], [ "SimplePrintf.test", @@ -200,7 +199,7 @@ 1, [ "@query" ], 0, - "7b66183899d8cc5411779bb072a507ba" + "a0d4541114c2de697a61fe683beaf6b3" ], [ "SimplePrintf.dir", @@ -215,7 +214,7 @@ "typing_FStar.String.char" ], 0, - "08c43a125e0ebd95d2581d22a4c64bcb" + "5bc845d79c4b5a319b8148b4882feeba" ], [ "SimplePrintf.__proj__Lit__item___0", @@ -228,7 +227,7 @@ "refinement_interpretation_Tm_refine_4c947cba4356c53de258d6a2aaf1bdcf" ], 0, - "5036ffbb93de5c8c7ab796e7c250d85b" + "461c65688f9ff84b59743bf70f0d6f33" ], [ "SimplePrintf.__proj__Arg__item___0", @@ -241,7 +240,7 @@ "refinement_interpretation_Tm_refine_18496ceb9c66ce4705128a993a338a20" ], 0, - "57c71afcfe4e52d592a21f24daf6c7b4" + "9292f4666d195544fd75553a3990c833" ], [ "SimplePrintf.arg_type", @@ -255,7 +254,7 @@ "fuel_guarded_inversion_SimplePrintf.arg" ], 0, - "930a4c642e09a14b143978a68c8b49ac" + "560d20745ba10bf72c3016784ad91842" ], [ "SimplePrintf.dir_type", @@ -275,7 +274,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd" ], 0, - "2aa6d723d6c08e0eeac83fd485336095" + "2fe9026b6838cc0728217fad357a1d07" ], [ "SimplePrintf.string_of_dirs", @@ -287,12 +286,12 @@ "@fuel_correspondence_SimplePrintf.dir_type.fuel_instrumented", "@fuel_irrelevance_SimplePrintf.dir_type.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", - "SimplePrintf_interpretation_Tm_arrow_352767d400f691c9087c9fe137ff2a2a", - "SimplePrintf_interpretation_Tm_arrow_920700e18f4a827a573cc108b4a8b178", - "SimplePrintf_interpretation_Tm_arrow_e6c430e76be26dc6ad28f8fdd2dc70ca", + "FStar.String_interpretation_Tm_arrow_70affe4dada4ca8ba18740c614ba5211", + "SimplePrintf_interpretation_Tm_arrow_04517b06830101b5b49a227952fd3ff1", + "SimplePrintf_interpretation_Tm_arrow_3873417a0c5a715c94309020865ce362", + "SimplePrintf_interpretation_Tm_arrow_e1ef6ee49e1437584d148eed1eb1d9ab", + "binder_x_2b7d8f2dadd0193f4caa6b86ea292a53_1", "binder_x_513418ee1a9bd16c03f003addbbcba09_0", - "binder_x_a703a5688952559d5cefe1268f16f195_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_SimplePrintf.Arg", "constructor_distinct_SimplePrintf.Lit", "disc_equation_Prims.Cons", @@ -315,10 +314,10 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "string_typing", "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd", - "typing_Tm_abs_e058403f954553e2cb5359d4f61a042f" + "typing_Tm_abs_55d28017a0da5d545c9b30c6c0d37957" ], 0, - "a097eb2ef4aecda865796e664df44d8e" + "0d13bc0ad77951d0cc752066110e12e0" ], [ "SimplePrintf.add_dir", @@ -335,7 +334,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e4f70e372faece9caba2b4e19af717d8" + "6b82a8f0fa6aebd007050f48705009ab" ], [ "SimplePrintf.parse_format_pure", @@ -356,7 +355,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "dcc91c6ae4521f95af00e2f8b2fdbc07" + "c9ec364ebaa0a2ac16d9869cbab0bd70" ], [ "SimplePrintf.sprintf", @@ -370,8 +369,7 @@ "@fuel_correspondence_SimplePrintf.string_of_dirs.fuel_instrumented", "@fuel_irrelevance_SimplePrintf.dir_type.fuel_instrumented", "@fuel_irrelevance_SimplePrintf.parse_format_pure.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Pervasives.Native.None", + "@query", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -385,14 +383,14 @@ "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_189be86eb20fb7b22f365eee2b75b254", + "refinement_interpretation_Tm_refine_126f729eec635bc6a3e5b51a6eb88afb", "string_inversion", "typing_FStar.String.list_of_string", "typing_SimplePrintf.parse_format_string", - "typing_Tm_abs_11a0bd243c323383d18bc7b10b6727f0", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "typing_Tm_abs_38f0e3de21ebfcefba9633e487c58028", + "typing_Tm_abs_7de968e83fab2a5ec34920f38db5f8bf" ], 0, - "20040ac0149113bf8886ffbf9353222d" + "33148a14930db8a5f7a5c89abfb89f77" ], [ "SimplePrintf.sprintf", @@ -403,21 +401,26 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_SimplePrintf.parse_format_pure.fuel_instrumented", "@fuel_irrelevance_SimplePrintf.parse_format_pure.fuel_instrumented", - "@query", "disc_equation_FStar.Pervasives.Native.None", + "@query", "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.String.char", "equation_SimplePrintf.add_dir", "equation_SimplePrintf.parse_format_string", "equation_with_fuel_SimplePrintf.parse_format_pure.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Prims.list@tok", "kinding_SimplePrintf.dir@tok", + "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", + "kinding_SimplePrintf.dir@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_189be86eb20fb7b22f365eee2b75b254", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_126f729eec635bc6a3e5b51a6eb88afb", "typing_FStar.String.list_of_string", "typing_SimplePrintf.parse_format_pure", "typing_SimplePrintf.parse_format_string" ], 0, - "6bf31311d4d7cb447ab92002cbf0e45a" + "fc2173885efcd564337730248ec09e5a" ], [ "SimplePrintf.test", @@ -426,7 +429,7 @@ 1, [ "@query" ], 0, - "23ab708d48986f94e10ccffd8c81df99" + "00d40693bcfa5a55a40ce2df5f27330e" ] ] ] \ No newline at end of file diff --git a/examples/refinement/HighComp.fst b/examples/refinement/HighComp.fst index 3a0ee87f446..20b30ad7d83 100644 --- a/examples/refinement/HighComp.fst +++ b/examples/refinement/HighComp.fst @@ -137,14 +137,14 @@ let for_wp_unfold (wp:int -> hwp_mon unit) (lo : int) (hi : int{hi >= lo}) : by (compute ()) = () (* - assert (~ (lo = hi)); - assert ((if lo = hi then (return_wp ()) - else (bind_wp (wp lo) (fun (_:unit) -> for_wp wp (lo + 1) hi))) == - bind_wp (wp lo) (fun _ -> for_wp wp (lo + 1) hi)); - assert_norm (for_wp wp lo hi == - (if lo = hi then (return_wp ()) - else (bind_wp (wp lo) (fun (_:unit) -> for_wp wp (lo + 1) hi)))) -*) +// assert (~ (lo = hi)); +// assert ((if lo = hi then (return_wp ()) +// else (bind_wp (wp lo) (fun (_:unit) -> for_wp wp (lo + 1) hi))) == +// bind_wp (wp lo) (fun _ -> for_wp wp (lo + 1) hi)); +// assert_norm (for_wp wp lo hi == +// (if lo = hi then (return_wp ()) +// else (bind_wp (wp lo) (fun (_:unit) -> for_wp wp (lo + 1) hi)))) +// *) @@ -153,7 +153,8 @@ let rec for (#wp : int -> hwp_mon unit) (lo : int) (hi : int{lo <= hi}) (f : (i: HIGH unit (for_wp wp lo hi) (decreases (hi - lo)) = if lo = hi then () else - (f lo; for #wp (lo + 1) hi f) + (f lo; + for #wp (lo + 1) hi f) let get () : H state = (HIGH?.get 0, HIGH?.get 1) @@ -228,7 +229,7 @@ let put_action = HIGH?.put let get_action = HIGH?.get let ite_elab (#a:Type) (b : bool) (#wp1 : hwp_mon a) (c1:comp_wp a wp1) - (#wp2 : hwp_mon a) (c2:comp_wp a wp2) : comp_wp a (ite_wp b wp1 wp2) = + (#wp2 : hwp_mon a) (c2:comp_wp a wp2) : Tot (comp_wp a (ite_wp b wp1 wp2)) by (compute (); explode () ;dump "") = (fun s0 -> if b then c1 s0 else c2 s0) @@ -275,7 +276,8 @@ assume val for_inv' (inv : state -> int -> Type0) (** ** Explicit casting to stronger WPs **) -let cast #a (#wp1 : hwp_mon a) (wp2: hwp_mon a{subsumes wp1 wp2}) (c : comp_wp a wp1) : comp_wp a wp2 = c +let cast #a (#wp1 : hwp_mon a) (wp2: hwp_mon a{subsumes wp1 wp2}) (c : comp_wp a wp1) : comp_wp a wp2 = + c //GM: Oct 22, 2018: This lemma now fails to verify due to the fix for #1533. However, it doesn't seem to be used. (* let cast_eq #a (#wp1 : hwp_mon a) (wp2: hwp_mon a{subsumes wp1 wp2}) (c : comp_wp a wp1) : Lemma (c === cast wp2 c) = () *) @@ -283,9 +285,10 @@ let cast #a (#wp1 : hwp_mon a) (wp2: hwp_mon a{subsumes wp1 wp2}) (c : comp_wp a (** ** Equality on high computations **) -let h_eq (#a:Type) (wp1:hwp_mon a) (wp2:hwp_mon a) (c1:comp_wp a wp1) (c2:comp_wp a wp2) = +let h_eq (#a:Type) (wp1:hwp_mon a) (wp2:hwp_mon a) (c1:comp_wp a wp1) (c2:comp_wp a wp2) + = (forall s0. wp1 s0 (fun _ -> True) <==> wp2 s0 (fun _ -> True)) /\ - (forall s0. wp1 s0 (fun _ -> True) ==> c1 s0 == c2 s0) + (forall s0. (wp1 s0 (fun _ -> True) /\ wp2 s0 (fun _ -> True)) ==> c1 s0 == c2 s0) (** ** Reify commutes **) diff --git a/examples/refinement/HighComp.fst.hints b/examples/refinement/HighComp.fst.hints index 0ea4b4571b3..05bc4d915da 100644 --- a/examples/refinement/HighComp.fst.hints +++ b/examples/refinement/HighComp.fst.hints @@ -1,5 +1,5 @@ [ - "¿\u001d@ÑnOû~‰zì¬3\u0017V", + "3ÁÙ3JþAàù[xy;\u0005ea", [ [ "HighComp._dm4f_HIGH___proj__HIGH__item__get_elab", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3e59514ac24eea9daee937fdb5296bdb" + "f0030682ea9740101ad944d9f987a106" ], [ "HighComp._dm4f_HIGH___proj__HIGH__item__put_elab", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "7881b934ea007bb576fb4f65de4fbdb1" + "fa82114e1952be4f3b3e408646850574" ], [ "HighComp.HIGH", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "6064355eedb3203e38c7d45336aae28e" + "d1e95231a9ba979b5fc5058d769752ce" ], [ "HighComp.HIGH", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "842057626fc8f4c0011777cff7344402" + "5b12c739f56f8035eea3ab5b88e76f2a" ], [ "HighComp.null_wp", @@ -43,12 +43,12 @@ 2, 1, [ - "@query", "equation_HighComp.monotonic", "equation_Prims.logical", - "interpretation_Tm_abs_e72dbf7d1f22d87a9e08eeff00693321", - "l_quant_interp_d07a446dc42f9dbdf2ec501ea6daf07e" + "@query", "equation_HighComp.monotonic", + "interpretation_Tm_abs_2ca21f989202cb80aa282bef412ce262", + "l_quant_interp_97ed6edeb346edeee504d495b9a7c640" ], 0, - "7dc508053695eab16138f06c74fb8013" + "eb6a26e0a5ff5cfae054fd943d6c2882" ], [ "HighComp.comp_p", @@ -62,11 +62,11 @@ "equation_HighComp.state", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_HighComp.state", - "interpretation_Tm_abs_e85ee51e2e334085c35e02672d23c41a", - "l_and-interp", "l_quant_interp_06b95131b311ecdb7f2b5a8ef9c9684c" + "interpretation_Tm_abs_b7f99de0dce87b8f48633bc594757907", + "l_and-interp", "l_quant_interp_9ea5fbcc1dc57ef6d54897e6255fbe2b" ], 0, - "6b45672150944168a43c99e16cc8e408" + "bf14d5ed90f4fa52188decd6915c1749" ], [ "HighComp.Hi", @@ -80,11 +80,11 @@ "equation_HighComp.state", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_HighComp.state", - "interpretation_Tm_abs_e85ee51e2e334085c35e02672d23c41a", - "l_and-interp", "l_quant_interp_06b95131b311ecdb7f2b5a8ef9c9684c" + "interpretation_Tm_abs_b7f99de0dce87b8f48633bc594757907", + "l_and-interp", "l_quant_interp_9ea5fbcc1dc57ef6d54897e6255fbe2b" ], 0, - "5934fc75cc6ae55057e762750caf1b6b" + "1d0487f11a4b1d23eb4664d44ea45101" ], [ "HighComp.return_wp", @@ -96,10 +96,10 @@ "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_HighComp.state", "function_token_typing_HighComp.state", - "interpretation_Tm_abs_fbf3138696c9f5ef6a98555cde25a77f" + "interpretation_Tm_abs_e065eba6db3c0fa74e1f3f6b6be45624" ], 0, - "a44fb824855c978db309ff258c6cd83a" + "0ee6b02bb651ff45d3f7b6eaf667129a" ], [ "HighComp.bind_wp", @@ -108,20 +108,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "HighComp_interpretation_Tm_arrow_d0aa44f0ba28d0fd18a7018f827358d9", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_9ac61cb34262c672a326d2e6ddada6e9", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_HighComp.hwp_mon", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_Prims.logical", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_94cf25fa02e98f1790d16edbf70733ef", - "interpretation_Tm_abs_d587337e289a5f558084aab62bcd5ae4", + "interpretation_Tm_abs_add5a39bc4ff3a8e430826e9bcc8e3de", + "interpretation_Tm_abs_bfcf95d966a29ae0e75999c65063eadd", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "typing_Tm_abs_d587337e289a5f558084aab62bcd5ae4" + "typing_Tm_abs_add5a39bc4ff3a8e430826e9bcc8e3de" ], 0, - "ffcfb0b11dba16709ee4f11241d70bad" + "308af5f5ecc0be7034caca0b3ea6d0ec" ], [ "HighComp.read_wp", @@ -130,22 +130,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_4993d5863e5eec7c082d0c11036f9c9d", - "HighComp_interpretation_Tm_arrow_6dd4b2d408ebb27b698bdc002d931e9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "HighComp_interpretation_Tm_arrow_22d4a2a27381d3f39ec17ac4d5ae4640", + "HighComp_interpretation_Tm_arrow_aaa32d0fa26946a144f0cd9ca9ace5e9", "equation_HighComp.comp", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_HighComp.state", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_HighComp.hread", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_95cd2481a791070b7e6ddcf878dcdf35", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_HighComp.hread", "int_inversion", + "interpretation_Tm_abs_37290cdcfa0fb0f064ea73d1dde5536d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_HighComp.hread" ], 0, - "5cb81fdbf0e9bf1837e1751f1adf28f6" + "3171130fe73c84cb899227b8d02a0354" ], [ "HighComp.write_wp", @@ -154,20 +151,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_6dd4b2d408ebb27b698bdc002d931e9e", + "HighComp_interpretation_Tm_arrow_22d4a2a27381d3f39ec17ac4d5ae4640", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_HighComp.comp", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_HighComp.state", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "int_inversion", - "interpretation_Tm_abs_a748f93d21ad99c6986f0883ddfb432f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "interpretation_Tm_abs_39e6c9f72ee07d412ca497378e7eb0d2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_HighComp.hwrite", "typing_HighComp.hwrite", "unit_typing" ], 0, - "77c24cd55b0aeb7c9bbac3cd979564c7" + "380cd21ff90e5da776c5f17867238f83" ], [ "HighComp.ite_wp", @@ -176,14 +173,14 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_HighComp.hwp_mon", - "equation_HighComp.monotonic", "equation_Prims.logical", + "equation_HighComp.monotonic", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_9178aa9c1aab04c0e78b914e950889bd", + "interpretation_Tm_abs_0fc35abe1b6ba1335cf839db711cafe7", "l_and-interp", "l_imp-interp", "l_not-interp", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069" ], 0, - "1420424084fbb7395b2f815bc717758a" + "f8c5ce79d758e193fca9c325da98156f" ], [ "HighComp.for_wp", @@ -193,18 +190,18 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4336015ff2aeb9f57a1af06d300f4cad_2", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", + "binder_x_3d2e852850749bd53020c6a3707f7eac_2", + "binder_x_ae567c2fb75be05905677af440075565_1", "equality_tok_Prims.LexTop@tok", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_b56edf4baebf6e1b4363b6290cddf2b4", + "refinement_interpretation_Tm_refine_1023854503b27ff7911096afe3dc1f0f", "well-founded-ordering-on-nat" ], 0, - "591d656b1e4e85d97edff36dbc8a37e2" + "acfb7c021658a2183a9a8f7951cb46ff" ], [ "HighComp.for_wp_unfold", @@ -213,8 +210,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", @@ -222,12 +218,11 @@ "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_4f1d92a9a3f071e1fa3026ba94fce31c" ], 0, - "e709854a716acda3d858685fc29115c4" + "5e0cc23a81764783f84bdb9d992c039a" ], [ "HighComp.for", @@ -236,7 +231,7 @@ 1, [ "@query" ], 0, - "c26d0d3574954d5f0d048ea8e10e9608" + "4c4a2163e516e0c2718e34a85d968add" ], [ "HighComp.for", @@ -247,16 +242,16 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_HighComp.for_wp.fuel_instrumented", "@fuel_irrelevance_HighComp.for_wp.fuel_instrumented", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_75bf25b98aa6263501669510483d2c7e", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "HighComp_interpretation_Tm_arrow_d0aa44f0ba28d0fd18a7018f827358d9", - "Prims_interpretation_Tm_arrow_0ec447216505a81a2a46f6969481fbca", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "HighComp_interpretation_Tm_arrow_f7ee7e378468830622ee785da17254d6", + "HighComp_interpretation_Tm_arrow_f8c8243cf802e657378904d5688f91c2", + "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", - "binder_x_d0406079767990e39e45632af50675e0_0", + "binder_x_6f4cd716815feded419380642ebb760e_0", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "data_elim_FStar.Pervasives.Native.Mktuple2", "equality_tok_Prims.LexTop@tok", "equation_HighComp.hwp_mon", "equation_HighComp.mint", "equation_HighComp.monotonic", @@ -265,31 +260,31 @@ "equation_with_fuel_HighComp.for_wp.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_token_correspondence_HighComp.for_wp.fuel_instrumented_token", - "function_token_typing_HighComp.for_wp", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_79d44e4d2ef5b3cbc748e6d59016d5f8", - "interpretation_Tm_abs_a24c6e1169be9aca1e1a99ce88f45d12", - "interpretation_Tm_abs_bfcef404e2c3840e321b567111dd3c47", - "interpretation_Tm_abs_d5989ca76f5504451e1e712452776f6d", + "interpretation_Tm_abs_1365dd7e3488592e2cedae1e54cc742a", + "interpretation_Tm_abs_51a345821e3f60379117d219ffa63e3c", + "interpretation_Tm_abs_e0b06a1405eced9c8c3134f6b8bb2d86", + "interpretation_Tm_abs_fd289fbebce69bf4f210b8a3d137e88f", "l_and-interp", "l_imp-interp", - "l_quant_interp_516c1d03ee22a73644a573593e1c2a1b", + "l_quant_interp_bdf805b0092bda2904c0ed801b0510ca", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", + "refinement_interpretation_Tm_refine_4f1d92a9a3f071e1fa3026ba94fce31c", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", - "token_correspondence_HighComp.for_wp", "true_interp", - "typing_Tm_abs_a24c6e1169be9aca1e1a99ce88f45d12", - "typing_Tm_abs_d5989ca76f5504451e1e712452776f6d", "unit_inversion", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", + "token_correspondence_HighComp.for_wp", + "token_correspondence_HighComp.for_wp.fuel_instrumented", + "true_interp", "typing_Tm_abs_51a345821e3f60379117d219ffa63e3c", + "typing_Tm_abs_e0b06a1405eced9c8c3134f6b8bb2d86", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "ebd5ec062379f06b11676fb8c3671307" + "869cea91995869975c3727adf837ea8f" ], [ "HighComp.get", @@ -302,17 +297,16 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_HighComp.mint", "equation_HighComp.null_wp", "equation_HighComp.state", - "equation_Prims.logical", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_HighComp.state", - "interpretation_Tm_abs_e72dbf7d1f22d87a9e08eeff00693321", - "l_quant_interp_d07a446dc42f9dbdf2ec501ea6daf07e", + "interpretation_Tm_abs_2ca21f989202cb80aa282bef412ce262", + "l_quant_interp_97ed6edeb346edeee504d495b9a7c640", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "token_correspondence_HighComp.null_wp" ], 0, - "e84d3eb5cd1c369fc242f1ae8fea4366" + "30299cdd590f68ac962e3e8357cfb0b9" ], [ "HighComp.for'", @@ -322,8 +316,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "binder_x_a5f0bf195fabdbd76f8eeb097a684c65_3", + "binder_x_110240fe57cc40e8acbe53b4a3e03f13_3", + "binder_x_ae567c2fb75be05905677af440075565_2", "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.__cache_version_number__", @@ -331,11 +325,11 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_73a4ca27874d7eefa1d173a08c6fe123", + "refinement_interpretation_Tm_refine_438e0ada50abf73e7aa6b7e0b907e75a", "well-founded-ordering-on-nat" ], 0, - "d85e9ee44d74254123551e86e429108c" + "6b094c9c03ad4705c10daa794ab59de0" ], [ "HighComp.for_elab", @@ -344,7 +338,7 @@ 1, [ "@query" ], 0, - "f3721ff1cf9abfc0977a087b30df43e0" + "64ee09b51f9b97929171c45446ac9a12" ], [ "HighComp.for_elab", @@ -355,28 +349,27 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_HighComp.for_wp.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", - "binder_x_d0406079767990e39e45632af50675e0_0", + "binder_x_6f4cd716815feded419380642ebb760e_0", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "equality_tok_Prims.LexTop@tok", "equation_with_fuel_HighComp.for_wp.fuel_instrumented", "function_token_typing_HighComp.for_wp", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_204ce222a71aabf04262d9bae0f41c55", - "interpretation_Tm_abs_79d44e4d2ef5b3cbc748e6d59016d5f8", + "interpretation_Tm_abs_1365dd7e3488592e2cedae1e54cc742a", + "interpretation_Tm_abs_be91579e68dd4cde2a6abad26c889afc", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", - "token_correspondence_HighComp.for_wp", "unit_typing", + "refinement_interpretation_Tm_refine_4f1d92a9a3f071e1fa3026ba94fce31c", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", + "token_correspondence_HighComp.for_wp", "well-founded-ordering-on-nat" ], 0, - "86d73bcfda7b570e34bb76248ca57cdf" + "8bd0ad4bd3ed74fbfe8fb96b44953ff6" ], [ "HighComp.for_elab_unfold", @@ -387,9 +380,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_HighComp.for_wp.fuel_instrumented", "@fuel_irrelevance_HighComp.for_wp.fuel_instrumented", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "HighComp_interpretation_Tm_arrow_d0aa44f0ba28d0fd18a7018f827358d9", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "HighComp_interpretation_Tm_arrow_f7ee7e378468830622ee785da17254d6", + "HighComp_interpretation_Tm_arrow_f8c8243cf802e657378904d5688f91c2", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", "equation_HighComp.hwp_mon", @@ -402,22 +396,22 @@ "function_token_typing_HighComp.for_wp", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_a24c6e1169be9aca1e1a99ce88f45d12", - "interpretation_Tm_abs_bfcef404e2c3840e321b567111dd3c47", - "interpretation_Tm_abs_f68e7722c5dceb4fee17cee0cae947e1", + "interpretation_Tm_abs_980ab32fda98e6ad801e6c635c04e120", + "interpretation_Tm_abs_e0b06a1405eced9c8c3134f6b8bb2d86", + "interpretation_Tm_abs_fd289fbebce69bf4f210b8a3d137e88f", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_4f1d92a9a3f071e1fa3026ba94fce31c", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", "token_correspondence_HighComp.for_wp", - "typing_Tm_abs_a24c6e1169be9aca1e1a99ce88f45d12", - "typing_Tm_abs_f68e7722c5dceb4fee17cee0cae947e1", "unit_typing" + "typing_Tm_abs_980ab32fda98e6ad801e6c635c04e120", + "typing_Tm_abs_e0b06a1405eced9c8c3134f6b8bb2d86", "unit_typing" ], 0, - "7db1a10b62971eedaf39c559068caccc" + "73944ec45f7ce860ee502487959ab78f" ], [ "HighComp.for_elab_unfold", @@ -426,23 +420,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "equation_Prims.squash", "function_token_typing_HighComp.for_wp", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_204ce222a71aabf04262d9bae0f41c55", + "interpretation_Tm_abs_be91579e68dd4cde2a6abad26c889afc", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885" ], 0, - "1578b2addc4ecebff4e4665679eff0f6" + "bbfd5ef9296953157a0db43b299d6f17" ], [ "HighComp.for_elab'", @@ -453,28 +445,28 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "binder_x_a5f0bf195fabdbd76f8eeb097a684c65_3", + "binder_x_110240fe57cc40e8acbe53b4a3e03f13_3", + "binder_x_ae567c2fb75be05905677af440075565_2", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equality_tok_Prims.LexTop@tok", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_HighComp.state", "equation_Prims.eqtype", "function_token_typing_HighComp.state", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "int_inversion", "int_typing", - "interpretation_Tm_abs_726223bbe2e304f40db84a688272619c", - "interpretation_Tm_abs_c459a4b9744c622c01192c4649cfc725", - "l_and-interp", "l_quant_interp_590872cf321fb9d62f12fc131c9b16ed", - "l_quant_interp_b93dfe9bc93e7ff573013e167167edd0", + "interpretation_Tm_abs_5e016eaa6f016661a122a75daf62fab6", + "interpretation_Tm_abs_769f81e5732cd233118a9297b1535dfa", + "l_and-interp", "l_quant_interp_0302608fa1784e3e0d12e3155bb9ae05", + "l_quant_interp_9d52ba400fc62dd12760a8ecc7ae4070", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_73a4ca27874d7eefa1d173a08c6fe123", + "refinement_interpretation_Tm_refine_438e0ada50abf73e7aa6b7e0b907e75a", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "9891351910e2f6641f245ed6bc45ba03" + "b5885c65a2284f42f6d096f03b3fb6f5" ], [ "HighComp.hread_elab", @@ -482,19 +474,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_HighComp.hread", "equation_HighComp.mint", - "equation_HighComp.state", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_HighComp.hread", + "equation_HighComp.mint", "equation_HighComp.state", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_b90077ee13f6630e4c68820d24f9bc97", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "interpretation_Tm_abs_c952206c46a99bd455aa4f15bdd38d10", "token_correspondence_HighComp.hread" ], 0, - "8472f5dda2302a6a5ac86df378749791" + "804772f5b49d8cad64880345006a56d7" ], [ "HighComp.hwrite_elab", @@ -502,20 +489,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_HighComp.hwrite", "equation_HighComp.mint", - "equation_HighComp.state", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_HighComp.hwrite", + "equation_HighComp.mint", "equation_HighComp.state", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_e6222a0ee1d4ecc6995b85513137eff6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_HighComp.hwrite", "unit_typing" + "interpretation_Tm_abs_54699eb1638e10bfc6105d8e13b8c557", + "token_correspondence_HighComp.hwrite" ], 0, - "e83d3db856155111f26e824b2bedc1c3" + "8b51e2b60195e1b33f6543b70a91fd65" ], [ "HighComp.ite_elab", @@ -524,22 +505,38 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "Prims_interpretation_Tm_arrow_0ec447216505a81a2a46f6969481fbca", - "bool_inversion", "equation_HighComp.hwp_mon", - "equation_HighComp.mint", "equation_HighComp.monotonic", - "equation_HighComp.state", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.pure_post", - "equation_Prims.pure_post_", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "equation_HighComp.hwp_mon", "equation_HighComp.monotonic", + "equation_Prims.logical", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_0c5f573fbabc0bf3a83dd47edee5e871", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp" + "refinement_interpretation_Tm_refine_9f6e27363b8452f755a0056c5397c9ce", + "refinement_interpretation_Tm_refine_fa42c25d61804d8fc38031b24dc9d999" ], 0, - "882fadeb351c081e128bc1dd99cf5f4a" + "70706ff1c45879d86900e93aa8fdd254" + ], + [ + "HighComp.ite_elab", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "equation_HighComp.hwp_mon", "equation_HighComp.monotonic", + "equation_Prims.logical", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "refinement_interpretation_Tm_refine_0c5f573fbabc0bf3a83dd47edee5e871", + "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", + "refinement_interpretation_Tm_refine_6164d9b106667485d32a033534b8978a", + "refinement_interpretation_Tm_refine_fa42c25d61804d8fc38031b24dc9d999" + ], + 0, + "b1e6b1b7417331dc448435e79681492d" ], [ "HighComp.for_inv", @@ -548,7 +545,7 @@ 1, [ "@query" ], 0, - "d0798b06cf7d9ea1827f9542c6bdfdbe" + "aea202df0cc9f83871f286c73370279e" ], [ "HighComp.cast", @@ -557,8 +554,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "Prims_interpretation_Tm_arrow_0ec447216505a81a2a46f6969481fbca", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", "equation_HighComp.mint", "equation_HighComp.state", "equation_HighComp.subsumes", "equation_Prims.l_True", "equation_Prims.pure_post", "equation_Prims.pure_post_", @@ -568,7 +565,7 @@ "true_interp" ], 0, - "676aa348fa09fefb5be25f6d6c15dec9" + "002bc007b18a06c71b3eba6d7a1bfe1b" ], [ "HighComp.h_eq", @@ -577,23 +574,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", + "HighComp_interpretation_Tm_arrow_2352533ff40bbeeecc88cc67ef321a83", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", "equation_HighComp.hwp_mon", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_HighComp.state", - "equation_Prims.l_True", "equation_Prims.logical", + "equation_Prims.logical", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_1b67c1dd22542c130131d09e57344085", - "interpretation_Tm_abs_623d8abb9383ae0818a611aa801ca23d", + "interpretation_Tm_abs_0ee6682d8ba7f613c746f4dca1b9d03f", + "interpretation_Tm_abs_cc6795f94c0cd972025a6d19eafc9ba3", "l_imp-interp", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "true_interp", "typing_Tm_abs_1b67c1dd22542c130131d09e57344085", - "typing_Tm_abs_623d8abb9383ae0818a611aa801ca23d", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa" + "true_interp", "typing_Tm_abs_0ee6682d8ba7f613c746f4dca1b9d03f", + "typing_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad", + "typing_Tm_abs_cc6795f94c0cd972025a6d19eafc9ba3" ], 0, - "0dc032ab5d3b1c1c639002950fe068c7" + "42014fe575ab725c8c86688d2f844246" ], [ "HighComp.hwrite_eq", @@ -603,22 +600,19 @@ [ "@MaxIFuel_assumption", "@query", "HighComp.__proj__HIGH__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_HighComp.h_eq", "equation_HighComp.hwrite", - "equation_HighComp.hwrite_elab", "equation_HighComp.mint", - "equation_HighComp.state", "equation_Prims.nat", + "equation_HighComp.hwrite_elab", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_7b393533a1a9c78f125094e210a00c85", - "interpretation_Tm_abs_aba45c7c523855a36c337b7eb728f2dd", - "interpretation_Tm_abs_e6222a0ee1d4ecc6995b85513137eff6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "interpretation_Tm_abs_54699eb1638e10bfc6105d8e13b8c557", + "interpretation_Tm_abs_5d1a4a2c2cb2424c6f0e034ad6db90c7", + "interpretation_Tm_abs_93354ae4fd045abce5dc420563aa2877", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_HighComp.hwrite", "unit_typing" ], 0, - "c788a9ca55ffe19d1c072b3786feba24" + "20c4a19efc393d168250f2eec1c96a08" ], [ "HighComp.hread_eq", @@ -628,21 +622,19 @@ [ "@MaxIFuel_assumption", "@query", "HighComp.__proj__HIGH__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_HighComp.h_eq", "equation_HighComp.hread", "equation_HighComp.hread_elab", "equation_HighComp.mint", - "equation_HighComp.state", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_3ed0f51a48a508521f654505e1aa5220", - "interpretation_Tm_abs_459b8ca050f4e4cc415acd8c9f20acbc", - "interpretation_Tm_abs_b90077ee13f6630e4c68820d24f9bc97", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "interpretation_Tm_abs_0e77ba0ea5bea79a5213b55f8c5fd5f7", + "interpretation_Tm_abs_77ca50968915e35a7e1d4169863492a1", + "interpretation_Tm_abs_c952206c46a99bd455aa4f15bdd38d10", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_HighComp.hread" ], 0, - "aa8cb9d815fa5ca921e9129f5c4c87b4" + "eb3ebfe0279570e458d0dd837b11dbee" ], [ "HighComp.reify_bind_commutes", @@ -651,29 +643,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "HighComp_interpretation_Tm_arrow_d0aa44f0ba28d0fd18a7018f827358d9", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_9ac61cb34262c672a326d2e6ddada6e9", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_HighComp.hwp_mon", "equation_HighComp.mint", - "equation_HighComp.monotonic", "equation_Prims.l_True", - "equation_Prims.logical", + "equation_HighComp.monotonic", "equation_Prims.logical", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_3c27def08137c4e0a76ae98342588f38", - "interpretation_Tm_abs_4af5fafcc87c3cfdfbed9633e4a5365d", - "interpretation_Tm_abs_5c8544b883efb08bc7eb8b21ecad525a", - "interpretation_Tm_abs_c9d56696e845a71d264470daaa6ec149", + "interpretation_Tm_abs_221210a864cf48aef9fcd9f993afc7b2", + "interpretation_Tm_abs_4396e263db3f458b8646c1ce17247edc", + "interpretation_Tm_abs_b00ec84478eed89f8758dcfc75d390ce", + "interpretation_Tm_abs_de99ab6d3a1b4053398a0d68cb50535e", "l_and-interp", "l_imp-interp", - "l_quant_interp_27da3e443e2df3b51991ebd56e652576", + "l_quant_interp_68d96c609bde7e56994710baeb96ccfb", + "refinement_interpretation_Tm_refine_50b2fbb4c7554925de0a7eeebc59d801", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "refinement_interpretation_Tm_refine_9202310cb15c3fa928846cf837918579", - "typing_Tm_abs_3c27def08137c4e0a76ae98342588f38", - "typing_Tm_abs_4af5fafcc87c3cfdfbed9633e4a5365d", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", - "typing_Tm_abs_c9d56696e845a71d264470daaa6ec149" + "typing_Tm_abs_221210a864cf48aef9fcd9f993afc7b2", + "typing_Tm_abs_4396e263db3f458b8646c1ce17247edc", + "typing_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad", + "typing_Tm_abs_de99ab6d3a1b4053398a0d68cb50535e" ], 0, - "b8abc8c324c6b68288a8ea924ef69324" + "70071f3e9cbf5cc843f024607ba980c3" ], [ "HighComp.ite_reif", @@ -682,9 +673,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "Prims_interpretation_Tm_arrow_0ec447216505a81a2a46f6969481fbca", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", "bool_inversion", "equation_HighComp.hwp_mon", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_HighComp.state", "equation_Prims.l_True", @@ -697,7 +688,7 @@ "true_interp" ], 0, - "6ce9a8f1c5de612f17534cd53b0e6dae" + "3cbcbc15d5266f423edae1a2813946f8" ], [ "HighComp.reify_ite_commutes", @@ -706,26 +697,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", + "HighComp_interpretation_Tm_arrow_2352533ff40bbeeecc88cc67ef321a83", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", "b2t_def", "bool_inversion", "equation_HighComp.hwp_mon", "equation_HighComp.mint", "equation_HighComp.monotonic", - "equation_HighComp.state", "equation_Prims.l_True", - "equation_Prims.logical", + "equation_HighComp.state", "equation_Prims.logical", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_623d8abb9383ae0818a611aa801ca23d", - "interpretation_Tm_abs_cd3563a0e39e3c90b5ab349badd138b3", + "function_token_typing_Prims.l_True", + "interpretation_Tm_abs_0ee6682d8ba7f613c746f4dca1b9d03f", + "interpretation_Tm_abs_e30746590fc2f591afd40e8540fac1a0", "l_and-interp", "l_imp-interp", "l_not-interp", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "refinement_interpretation_Tm_refine_da743cc5013a8326dd482f8b800ba095", - "true_interp", "typing_Tm_abs_623d8abb9383ae0818a611aa801ca23d", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", - "typing_Tm_abs_cd3563a0e39e3c90b5ab349badd138b3" + "refinement_interpretation_Tm_refine_7abb5beec370ea981c501d898db79e2e", + "true_interp", "typing_Tm_abs_0ee6682d8ba7f613c746f4dca1b9d03f", + "typing_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad", + "typing_Tm_abs_e30746590fc2f591afd40e8540fac1a0" ], 0, - "d47ef02520276e08f3187d4a0074586a" + "8abfb8630c4bb0e1bddfc5da7ee9b1d0" ], [ "HighComp.test", @@ -734,23 +725,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_HighComp.state", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.UInt32.t", "function_token_typing_HighComp.state", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "int_inversion", - "interpretation_Tm_abs_24229340ffc5bfe897a47dbc62c4e62c", + "interpretation_Tm_abs_5383d7bd379e734c35cad3ed86011e51", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "unit_typing" ], 0, - "9214251376d0eb477d3558ae8d866b9a" + "5e9d8938563a8743e3916b8ee401f543" ], [ "HighComp.test2_tac", @@ -759,23 +748,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_HighComp.state", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.UInt32.t", "function_token_typing_HighComp.state", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "int_inversion", - "interpretation_Tm_abs_24229340ffc5bfe897a47dbc62c4e62c", + "interpretation_Tm_abs_5383d7bd379e734c35cad3ed86011e51", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "unit_typing" ], 0, - "0623c4e7d0e4d12ea94a465dd459059b" + "f9ced0fe177747bf2dd7bfc676f37e77" ], [ "HighComp.test2_tac_again", @@ -784,7 +771,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_HighComp.mint", "equation_HighComp.monotonic", @@ -793,16 +779,15 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_FStar.UInt32.t", "function_token_typing_HighComp.state", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "int_inversion", - "interpretation_Tm_abs_24229340ffc5bfe897a47dbc62c4e62c", + "interpretation_Tm_abs_5383d7bd379e734c35cad3ed86011e51", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "unit_typing" ], 0, - "752a22ec475cb5b790aeac9320ac151c" + "7ac9f01f64864a439ef14a32d178caa7" ], [ "HighComp.test2_tac_again", @@ -811,7 +796,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_HighComp.mint", "equation_HighComp.monotonic", @@ -820,16 +804,15 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_FStar.UInt32.t", "function_token_typing_HighComp.state", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "int_inversion", - "interpretation_Tm_abs_24229340ffc5bfe897a47dbc62c4e62c", + "interpretation_Tm_abs_5383d7bd379e734c35cad3ed86011e51", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "unit_typing" ], 0, - "d0c569819e5f5ffd7adfb1f8a7fcccbb" + "fb96446e766a6889f30b3375cc730598" ], [ "HighComp.bind_commutes_lemma", @@ -838,7 +821,7 @@ 1, [ "@query", "true_interp" ], 0, - "48c62284dbacea20235bd9e9ac207e47" + "2c8d7f127015b9af8786d807b1d1059a" ], [ "HighComp.ite_commutes_lemma", @@ -846,22 +829,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "equation_HighComp.ite_elab", - "equation_HighComp.ite_reif", "equation_HighComp.mint", - "equation_HighComp.reif", "equation_HighComp.reify_ite_commutes", - "equation_HighComp.state", "equation_Prims.squash", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_HighComp.ite_elab", "equation_HighComp.ite_reif", + "equation_HighComp.mint", "equation_HighComp.reif", + "equation_HighComp.reify_ite_commutes", "equation_HighComp.state", + "equation_Prims.l_and", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_a41408e7855e5e4af3117461f012f2c9", + "interpretation_Tm_abs_0d21d4602bd04c1ce5331c02f2dcdc46", "l_and-interp", "l_imp-interp", "l_not-interp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "token_correspondence_HighComp.ite_elab", - "token_correspondence_HighComp.ite_reif", "unit_typing" + "token_correspondence_HighComp.ite_reif" ], 0, - "75edddd4985f69e6c99cbb012e373e5e" + "f058dade4b245cd64530d5b7a83de01c" ] ] ] \ No newline at end of file diff --git a/examples/refinement/LowComp.fst b/examples/refinement/LowComp.fst index f3223418898..f7c71131f56 100644 --- a/examples/refinement/LowComp.fst +++ b/examples/refinement/LowComp.fst @@ -31,7 +31,6 @@ module U32 = FStar.UInt32 module Map = FStar.Map module M = LowStar.Modifies - type lstate = pointer mint * pointer mint val well_formed : HS.mem -> lstate -> GTot Type0 @@ -103,7 +102,8 @@ let state_as_lstate_put_put h ls bs1 bs2 = (** ** Low computations and their WPs **) -let lcomp_wp (a:Type) (wp : hwp_mon a) (c : comp_wp a wp) = +let lcomp_wp (a:Type) (wp : hwp_mon a) (c : comp_wp a wp) + = ls:lstate -> Stack a (requires (fun h -> well_formed h ls /\ (let s0 = lstate_as_state h ls in wp s0 (fun _ -> True)))) @@ -120,7 +120,8 @@ let lcomp (a : Type) pre post (c : comp_p a pre post) = //Rather than get into trouble with applying `c` directly in a context //where we have to think about the VC of the continuation, //let's factor this into a `run`, which makes things a lot more predictable -let run_high #a #wp (c:comp_wp a wp) (s0:_{wp s0 (fun _ -> True)}) : Tot (a * state) = c s0 +let run_high #a #wp (c:comp_wp a wp) (s0:_{wp s0 (fun _ -> True)}) : Tot (a * state) = + c s0 type lwp a = lstate -> (mem -> (a * mem -> Type) -> Type) @@ -453,6 +454,16 @@ let subsumes_sat #a (wp1 wp2 : hwp_mon a) : Lemma (requires (subsumes wp1 wp2 /\ (** ** Commutation of morphism **) +(* + * AR: 06/19: The following proofs (seem to) rely on the Valid intro and elim axioms + * that are no longer default in the smt encoding. So unless your .emacs + * adds those options (--smtencoding.valid_intro true --smtencoding.valid_elim true), + * the following proofs will fail in the interactive mode. + * (I could manage to work some proofs without those options though.) + *) +(* GM: Jun 25, 2019: Adding a set-options for them *) +#set-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" + let morph_return #a (wp : hwp_mon a) (c : comp_wp a wp) (x : a) : Lemma (requires (c === return_elab x)) diff --git a/examples/refinement/LowComp.fst.hints b/examples/refinement/LowComp.fst.hints index 3802aede286..e4d04adcef3 100644 --- a/examples/refinement/LowComp.fst.hints +++ b/examples/refinement/LowComp.fst.hints @@ -1,5 +1,5 @@ [ - "O)\u0018„9÷앬A[ܶòú\b", + "÷RÞ¬·]¢oFØi:‘þüå", [ [ "LowComp.lstate_as_state", @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "3eaa430b2413632c75cde2391d07097e" + "d00395d1efc5b86754fd340e00ff971a" ], [ "LowComp.state_as_lstate", @@ -22,17 +22,16 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_HighComp.mint", - "equation_LowComp.lstate", "equation_LowComp.well_formed", - "equation_LowStar.Buffer.pointer", + "equation_LowComp.well_formed", "equation_LowStar.Buffer.pointer", "equation_LowStar.Monotonic.Buffer.disjoint", "l_and-interp", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45" + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "5783951da27770e8d136ee40aca1fe40" + "5d45e2093234150a51fc142fc6e16462" ], [ "LowComp.state_as_lstate_put_get", @@ -41,7 +40,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_HighComp.mint", - "equation_LowComp.lstate", "equation_LowComp.lstate_as_state", + "equation_LowComp.lstate_as_state", "equation_LowComp.state_as_lstate", "equation_LowComp.well_formed", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Monotonic.Buffer.disjoint", @@ -50,13 +49,13 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "2fafda29b43f8fe12146c82173b3dc1e" + "049739b014a3692c33f9eb30fa6522f3" ], [ "LowComp.state_as_lstate_put_put", @@ -65,12 +64,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_ce3c79735904a77aa4891650e9d63842", + "refinement_interpretation_Tm_refine_b2865651b045520ff476a10d87ee2b8c", "typing_LowComp.state_as_lstate" ], 0, - "4740bd24bb3e36bc8ef8afe6917bdd29" + "f7b7b4c8eeacd561300779218e9eb127" ], [ "LowComp.state_as_lstate_put_put", @@ -79,16 +77,16 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_HighComp.mint", - "equation_LowComp.lstate", "equation_LowComp.state_as_lstate", - "equation_LowComp.well_formed", "equation_LowStar.Buffer.pointer", - "l_and-interp", "projection_inverse_BoxInt_proj_0", + "equation_LowComp.state_as_lstate", "equation_LowComp.well_formed", + "equation_LowStar.Buffer.pointer", "l_and-interp", + "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45" + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", + "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "f832ce8bd97f41455749c03a181af936" + "2e7b39445e2f6953dcc1510a732c253b" ], [ "LowComp.lcomp_wp", @@ -97,24 +95,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "equation_FStar.Monotonic.HyperStack.mem", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "LowComp_interpretation_Tm_arrow_2352533ff40bbeeecc88cc67ef321a83", "equation_HighComp.hwp_mon", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_HighComp.state", - "equation_LowComp.lstate", "equation_Prims.l_True", - "equation_Prims.logical", + "equation_LowComp.lstate", "equation_Prims.logical", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_51fe3967d5e8432798a94cd5200dddd1", - "l_imp-interp", "l_quant_interp_ba5741b6c16381f70dcc616ffac5b78b", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", + "interpretation_Tm_abs_b43d5b7390bca9fcf5e7a3a9fd90dfa5", + "l_imp-interp", "l_quant_interp_927f681d3882f88ee04588abc07b33ce", + "refinement_interpretation_Tm_refine_4ade5e941d526256a8282cebaa1494a8", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "typing_Tm_abs_51fe3967d5e8432798a94cd5200dddd1", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa" + "typing_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad", + "typing_Tm_abs_b43d5b7390bca9fcf5e7a3a9fd90dfa5" ], 0, - "b8687eff3908abdbda373dc91f210ac3" + "cf91aeffecfaa0c061c1f09b123288f0" ], [ "LowComp.lcomp", @@ -125,14 +121,14 @@ "@MaxIFuel_assumption", "@query", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_HighComp.mint", "equation_HighComp.monotonic", - "equation_HighComp.state", "equation_Prims.logical", + "equation_HighComp.state", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_HighComp.state", - "interpretation_Tm_abs_b4f989e40d01d15d6e8df93424565bd9", - "l_and-interp", "l_quant_interp_fe5ecef2ebd465f87a6300f615aa3636" + "interpretation_Tm_abs_6d895bc1d1c4998b3a0c2ee13a88a8d0", + "l_and-interp", "l_quant_interp_1f821b69510a2c2d2608da319f0c185f" ], 0, - "78953eb2609504a0b885258f202365fb" + "578f7d0e2223ca4f3541d2971b04aa62" ], [ "LowComp.run_high", @@ -141,21 +137,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "equation_HighComp.hwp_mon", "equation_HighComp.mint", - "equation_HighComp.monotonic", "equation_HighComp.state", - "equation_Prims.l_True", "equation_Prims.logical", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "LowComp_interpretation_Tm_arrow_2352533ff40bbeeecc88cc67ef321a83", + "equation_HighComp.hwp_mon", "equation_HighComp.monotonic", + "equation_Prims.logical", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_623d8abb9383ae0818a611aa801ca23d", + "function_token_typing_Prims.l_True", + "interpretation_Tm_abs_0ee6682d8ba7f613c746f4dca1b9d03f", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "refinement_interpretation_Tm_refine_7a1ab0b4ace2ea59fcb7ddc05a5e822d", - "true_interp", "typing_Tm_abs_623d8abb9383ae0818a611aa801ca23d", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa" + "refinement_interpretation_Tm_refine_bb76e1671feb529cfb6158e0cf52abc7", + "true_interp", "typing_Tm_abs_0ee6682d8ba7f613c746f4dca1b9d03f", + "typing_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad" ], 0, - "c250d18b864453a71227ca75f3c80e37" + "459dbb61c8e60a492a8f52e9de8ba158" ], [ "LowComp.as_lwp", @@ -164,22 +160,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "LowComp_interpretation_Tm_arrow_2352533ff40bbeeecc88cc67ef321a83", "equation_HighComp.hwp_mon", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_HighComp.state", - "equation_LowComp.lstate", "equation_Prims.l_True", - "equation_Prims.logical", + "equation_LowComp.lstate", "equation_Prims.logical", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_bed2f4c2892e5e211996418e7dd60d21", - "l_imp-interp", "l_quant_interp_8e6804cbf7ab2c1d75f94338ab100bd4", + "interpretation_Tm_abs_e33e6e50ae80d4245cdbdc701bf34b3c", + "l_imp-interp", "l_quant_interp_d756bc41bc21865710951c019b0943a5", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", - "typing_Tm_abs_bed2f4c2892e5e211996418e7dd60d21" + "typing_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad", + "typing_Tm_abs_e33e6e50ae80d4245cdbdc701bf34b3c" ], 0, - "4abb91b4496d15d3cb4aebf540a0b699" + "f6bef6113f214b00313f0355420ae1f2" ], [ "LowComp.gh1", @@ -187,12 +182,11 @@ 2, 1, [ - "@query", "equation_HighComp.monotonic", "equation_Prims.l_False", - "equation_Prims.logical", "false_interp", - "interpretation_Tm_abs_70ed2a60409a8d537cc88620abdf7bd3" + "@query", "equation_HighComp.monotonic", "false_interp", + "interpretation_Tm_abs_dbfd37eb78de510ba704fb122ad98058" ], 0, - "17fe264d09e5a1e4f647103f19ff1898" + "e8e6eddc8befd9e3915bf9eca6cbda33" ], [ "LowComp.gh2", @@ -200,12 +194,11 @@ 2, 1, [ - "@query", "equation_HighComp.monotonic", "equation_Prims.l_False", - "equation_Prims.logical", "false_interp", - "interpretation_Tm_abs_70ed2a60409a8d537cc88620abdf7bd3" + "@query", "equation_HighComp.monotonic", "false_interp", + "interpretation_Tm_abs_dbfd37eb78de510ba704fb122ad98058" ], 0, - "d9107ccf05accd931967c27fbe1b2795" + "40a2fe2be39d4ea6e3aa420a4e0eb3ba" ], [ "LowComp.gl1", @@ -213,12 +206,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "@query", "equation_HighComp.monotonic", "false_interp", + "interpretation_Tm_abs_dbfd37eb78de510ba704fb122ad98058" ], 0, - "cbb35ed298a5df3389abf115ae6b9fa6" + "904659757f10d7f11547dba99e895a3e" ], [ "LowComp.gl2", @@ -226,12 +218,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "@query", "equation_HighComp.monotonic", "false_interp", + "interpretation_Tm_abs_dbfd37eb78de510ba704fb122ad98058" ], 0, - "6a3115549d6255a4bf177c06c66464f3" + "fb9d5a9d98414a94051bf83360df32b3" ], [ "LowComp.test", @@ -241,22 +232,20 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.monotonic", "equation_LowComp.as_lwp", "equation_LowComp.gh1", "equation_LowComp.gh2", - "equation_LowComp.l_eq", "equation_LowComp.lstate", - "equation_LowComp.lwp_eq", "equation_LowComp.precise", - "equation_LowComp.sat", "equation_LowComp.well_formed", - "equation_Prims.l_False", "equation_Prims.l_True", - "equation_Prims.logical", "false_interp", + "equation_LowComp.l_eq", "equation_LowComp.lwp_eq", + "equation_LowComp.precise", "equation_LowComp.sat", + "equation_LowComp.well_formed", "equation_Prims.l_False", + "false_interp", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_70ed2a60409a8d537cc88620abdf7bd3", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_dbfd37eb78de510ba704fb122ad98058", "l_and-interp", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "95b98eaac0ad146988bc7b2776a0c51a" + "6a2dc1c525eb14a4120438b6bc006968" ], [ "LowComp.morph", @@ -264,18 +253,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.mint", + "@MaxIFuel_assumption", "@query", "equation_HighComp.mint", "equation_HighComp.state", "equation_LowComp.lstate_as_state", "equation_LowComp.run_high", "equation_LowComp.state_as_lstate", "equation_LowComp.well_formed", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt32.t", + "equation_LowStar.Monotonic.Buffer.get", + "function_token_typing_FStar.UInt32.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "l_and-interp", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -283,13 +271,13 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", + "refinement_interpretation_Tm_refine_4ade5e941d526256a8282cebaa1494a8", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "true_interp", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "0e8e75dbba3d3a75cb10b9ae9bf530dc" + "3ad345f9ab809104a350f2581ab3289b" ], [ "LowComp.morph_p", @@ -303,11 +291,11 @@ "equation_HighComp.state", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_HighComp.state", - "interpretation_Tm_abs_e85ee51e2e334085c35e02672d23c41a", - "l_and-interp", "l_quant_interp_06b95131b311ecdb7f2b5a8ef9c9684c" + "interpretation_Tm_abs_b7f99de0dce87b8f48633bc594757907", + "l_and-interp", "l_quant_interp_9ea5fbcc1dc57ef6d54897e6255fbe2b" ], 0, - "6f60c58e1b0b346ec68d97d240efdd7e" + "642288a69c4b63c0bfb460de1d1fa1f9" ], [ "LowComp.lreturn", @@ -315,21 +303,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.mint", + "@MaxIFuel_assumption", "@query", "equation_HighComp.mint", "equation_HighComp.return_elab", "equation_LowComp.lstate_as_state", "equation_LowComp.state_as_lstate", "equation_LowComp.well_formed", "equation_LowStar.Buffer.pointer", - "interpretation_Tm_abs_f70489914642ceaf1a376af7ed4b1473", + "interpretation_Tm_abs_21f594a54daf77252df5d88ff7779ce6", "l_and-interp", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_300fde9bb8c5eac22f6fbfa614d14766", + "refinement_interpretation_Tm_refine_2027d41f5e9c4b0327a9d10c10416cfd", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", "token_correspondence_HighComp.return_elab" ], 0, - "f1bbfff99fcbdede6661fdf17decb2f7" + "f7702ccc8d0c151594b7cd66d5b7be6a" ], [ "LowComp.upd", @@ -343,7 +330,7 @@ "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" ], 0, - "1dc60e66eb07b9f26430a7186a7cf6d8" + "42460a7591bc9cbb6d3d5fce9ff369ec" ], [ "LowComp.lwrite", @@ -365,17 +352,14 @@ "equation_LowComp.state_as_lstate", "equation_LowComp.well_formed", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.disjoint", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_FStar.UInt32.t", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_e6222a0ee1d4ecc6995b85513137eff6", + "interpretation_Tm_abs_54699eb1638e10bfc6105d8e13b8c557", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -387,13 +371,13 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_300fde9bb8c5eac22f6fbfa614d14766", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2027d41f5e9c4b0327a9d10c10416cfd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ed9ef45c8532eedd8145ba9a3cf7d034", + "refinement_interpretation_Tm_refine_e9d2acd716e976eddb0f03391caae2b5", "token_correspondence_HighComp.hwrite_elab", "true_interp", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.trivial_preorder", @@ -401,7 +385,7 @@ "unit_typing" ], 0, - "287f5f9044ad252bbbc5a1bedaa2bcc0" + "ca833a4e6470d0461d1642112aa0a079" ], [ "LowComp.lread", @@ -421,13 +405,13 @@ "equation_HighComp.state", "equation_LowComp.lstate_as_state", "equation_LowComp.state_as_lstate", "equation_LowComp.well_formed", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_FStar.UInt32.t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_b90077ee13f6630e4c68820d24f9bc97", + "interpretation_Tm_abs_c952206c46a99bd455aa4f15bdd38d10", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -438,19 +422,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_300fde9bb8c5eac22f6fbfa614d14766", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2027d41f5e9c4b0327a9d10c10416cfd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ed9ef45c8532eedd8145ba9a3cf7d034", + "refinement_interpretation_Tm_refine_e9d2acd716e976eddb0f03391caae2b5", "token_correspondence_HighComp.hread_elab", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "635bd00b38b2e0e527ed0949c1ef27cc" + "88f26811d6774a030673859f3d032252" ], [ "LowComp.lbind", @@ -459,31 +443,30 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_7efaa2e711a6370958704ee903959461", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "HighComp_interpretation_Tm_arrow_d0aa44f0ba28d0fd18a7018f827358d9", - "HighComp_interpretation_Tm_arrow_fbec052f205dc07531788783e76a8755", + "HighComp_interpretation_Tm_arrow_05704536adceedb4db3c9fef2a346e71", + "HighComp_interpretation_Tm_arrow_327db2b67b7486cbd3e81415fb326440", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_9ac61cb34262c672a326d2e6ddada6e9", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", - "eq2-interp", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.snd", + "eq2-interp", "equation_FStar.Pervasives.Native.snd", "equation_HighComp.bind_elab", "equation_HighComp.comp_wp", "equation_HighComp.hwp_mon", "equation_HighComp.mint", "equation_HighComp.monotonic", "equation_HighComp.state", "equation_LowComp.lstate_as_state", "equation_LowComp.run_high", - "equation_Prims.l_True", "equation_Prims.logical", + "equation_Prims.logical", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_HighComp.bind_elab", "function_token_typing_HighComp.state", "function_token_typing_Prims.l_True", - "interpretation_Tm_abs_3c27def08137c4e0a76ae98342588f38", - "interpretation_Tm_abs_7697fc817374c67ef7d4031b9ea309a1", - "interpretation_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", - "interpretation_Tm_abs_94cf25fa02e98f1790d16edbf70733ef", - "interpretation_Tm_abs_d587337e289a5f558084aab62bcd5ae4", - "interpretation_Tm_abs_db1b34554faf107bb9abca0c81bebf2f", - "interpretation_Tm_abs_fbdcfaad2f505b31c71af51c18e52fd5", + "interpretation_Tm_abs_4396e263db3f458b8646c1ce17247edc", + "interpretation_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad", + "interpretation_Tm_abs_add5a39bc4ff3a8e430826e9bcc8e3de", + "interpretation_Tm_abs_bb0ebafede7072cf89272ecaf01eeeff", + "interpretation_Tm_abs_bfcf95d966a29ae0e75999c65063eadd", + "interpretation_Tm_abs_e48d311d97a58c4825fadbeef478c99a", + "interpretation_Tm_abs_f0d8d90a73d25b2a78ef78b85d7e0f92", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pervasives.Native.tuple3@tok", "l_not-interp", "lemma_FStar.Ghost.reveal_hide", @@ -493,18 +476,19 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_102a41af64035a883bab2d9eeba71268", + "refinement_interpretation_Tm_refine_107f34e48b40b3bae3df07d43aac01f9", + "refinement_interpretation_Tm_refine_395b67c583c8f847e3e7cd1bc5153d18", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "refinement_interpretation_Tm_refine_6a9ddcd18392ac5aab5ee22fe53237c6", - "refinement_interpretation_Tm_refine_72b8aaf7e9bdee56cffe236847c433da", - "refinement_interpretation_Tm_refine_ff64f5124632290d75fa35751ebc3710", "true_interp", "typing_LowComp.lstate_as_state", - "typing_Tm_abs_3c27def08137c4e0a76ae98342588f38", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", - "typing_Tm_abs_d587337e289a5f558084aab62bcd5ae4", - "typing_Tm_abs_db1b34554faf107bb9abca0c81bebf2f" + "typing_Tm_abs_4396e263db3f458b8646c1ce17247edc", + "typing_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad", + "typing_Tm_abs_add5a39bc4ff3a8e430826e9bcc8e3de", + "typing_Tm_abs_bb0ebafede7072cf89272ecaf01eeeff", + "typing_Tm_abs_e48d311d97a58c4825fadbeef478c99a" ], 0, - "4899b46bf437a87cd487840a21354c85" + "e156ce9c5aca83884b9c11a017952f2d" ], [ "LowComp.lite", @@ -519,31 +503,30 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.ite_elab", "equation_HighComp.mint", - "equation_HighComp.state", "equation_LowComp.lstate", - "equation_LowComp.lstate_as_state", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", "equation_Prims.l_True", + "equation_LowComp.lstate", "equation_LowComp.lstate_as_state", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_FStar.UInt32.t", - "interpretation_Tm_abs_a41408e7855e5e4af3117461f012f2c9", + "interpretation_Tm_abs_0d21d4602bd04c1ce5331c02f2dcdc46", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_190e848a215c6b3777e62e19c7f30f1c", + "refinement_interpretation_Tm_refine_4ade5e941d526256a8282cebaa1494a8", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_dcb024f1a59be61e5e982c0113eff485", "token_correspondence_HighComp.ite_elab", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "9690a1424981bd9fddd3f1e506efbd05" + "63383382766a263c0d773b5dba02a734" ], [ "LowComp.lfor", @@ -552,7 +535,7 @@ 1, [ "@query" ], 0, - "77d5b7c45955843bc3a561ef4d32b214" + "0d1c1b95d1db49c8be55b791801fecac" ], [ "LowComp.lfor", @@ -562,25 +545,22 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_HighComp.for_elab.fuel_instrumented", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "HighComp_interpretation_Tm_arrow_d0aa44f0ba28d0fd18a7018f827358d9", - "HighComp_interpretation_Tm_arrow_d5f4a7fb8c2d0edb7fc19688868b48e0", - "LowComp_interpretation_Tm_arrow_42020142d3ea31f5e403b6b22ee2b0be", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_d5c4ff782e5bd5fefca95be0e2034725", + "HighComp_interpretation_Tm_arrow_f7ee7e378468830622ee785da17254d6", + "HighComp_interpretation_Tm_arrow_f8c8243cf802e657378904d5688f91c2", + "LowComp_interpretation_Tm_arrow_721553489c4cae96d69f44e038c4bb15", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_1e0ab6aa972376888405c4b80693f039_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "binder_x_a5f0bf195fabdbd76f8eeb097a684c65_3", - "binder_x_d0406079767990e39e45632af50675e0_0", - "equality_tok_Prims.LexTop@tok", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_HighComp.hwp_mon", "equation_HighComp.mint", - "equation_HighComp.monotonic", "equation_HighComp.return_elab", - "equation_HighComp.state", "equation_LowComp.lstate", - "equation_LowComp.lstate_as_state", - "equation_LowStar.Buffer.pointer", "equation_Prims.l_True", - "equation_Prims.logical", + "binder_x_110240fe57cc40e8acbe53b4a3e03f13_3", + "binder_x_3df574b463c76807766c866f6bf335ce_1", + "binder_x_6f4cd716815feded419380642ebb760e_0", + "binder_x_ae567c2fb75be05905677af440075565_2", + "equality_tok_Prims.LexTop@tok", "equation_HighComp.hwp_mon", + "equation_HighComp.mint", "equation_HighComp.monotonic", + "equation_HighComp.return_elab", "equation_HighComp.state", + "equation_LowComp.lstate", "equation_LowComp.lstate_as_state", + "equation_LowStar.Buffer.pointer", "equation_Prims.logical", "equation_with_fuel_HighComp.for_elab.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_HighComp.bind_elab", @@ -588,30 +568,30 @@ "function_token_typing_HighComp.for_wp", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_052290280996677e58c65b93924020d5", - "interpretation_Tm_abs_408007881a9973a96484ad4c5b4ab57e", - "interpretation_Tm_abs_cf1d2b2dfa2f90760ac8dd3b05795e7b", - "interpretation_Tm_abs_f70489914642ceaf1a376af7ed4b1473", + "interpretation_Tm_abs_21f594a54daf77252df5d88ff7779ce6", + "interpretation_Tm_abs_913adbcf100f9a1607a34f8deb6290eb", + "interpretation_Tm_abs_f28523d6e221e458e1ee63dde06a0a76", + "interpretation_Tm_abs_fae90261cf0ccc9db3ce16437a7a6f9d", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_05947b1eb1a9ce5563b54a11b8e47df1", - "refinement_interpretation_Tm_refine_300fde9bb8c5eac22f6fbfa614d14766", + "refinement_interpretation_Tm_refine_09cb2e0ed062651774016af70be8a8e2", + "refinement_interpretation_Tm_refine_2027d41f5e9c4b0327a9d10c10416cfd", + "refinement_interpretation_Tm_refine_438e0ada50abf73e7aa6b7e0b907e75a", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_73a4ca27874d7eefa1d173a08c6fe123", - "refinement_interpretation_Tm_refine_cb487ce72b7ac003704c32b4d4fe25c3", + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_daf52faa2f75fceab54b7848812c64cd", "token_correspondence_HighComp.for_elab", "token_correspondence_HighComp.return_elab", "typing_LowComp.lstate_as_state", - "typing_Tm_abs_408007881a9973a96484ad4c5b4ab57e", - "typing_Tm_abs_cf1d2b2dfa2f90760ac8dd3b05795e7b", "unit_inversion", + "typing_Tm_abs_913adbcf100f9a1607a34f8deb6290eb", + "typing_Tm_abs_f28523d6e221e458e1ee63dde06a0a76", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "d20c452a4fe7390cca42b6bb319428b7" + "33781bf9d188a224e2ace9f66379ff93" ], [ "LowComp.lfor'", @@ -620,7 +600,7 @@ 1, [ "@query" ], 0, - "3eccdd49c79c8283aaf7b61ca6326b30" + "6e310fa0963b0e9492b58796aafdc518" ], [ "LowComp.lfor'", @@ -631,62 +611,59 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_HighComp.for_elab_.fuel_instrumented", "@fuel_irrelevance_HighComp.for_elab_.fuel_instrumented", "@query", - "HighComp_interpretation_Tm_arrow_7efaa2e711a6370958704ee903959461", - "HighComp_interpretation_Tm_arrow_ad5bc1979ab62f6027ab6343af0d6e81", - "LowComp_interpretation_Tm_arrow_51737ec63ece43048911059743b91e31", + "HighComp_interpretation_Tm_arrow_327db2b67b7486cbd3e81415fb326440", + "HighComp_interpretation_Tm_arrow_ef4c058e2bd16cfc1bc816af27073797", + "LowComp_interpretation_Tm_arrow_3ddc0a9cd8745a275dd3b8c94a43d7b3", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_11b9fc3ae2fcc099f01a3829678ef2c6_1", - "binder_x_37833c1b5288988ba11de074309455cd_4", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_3", - "binder_x_b052b01c0beb1bdd6e0a985d5623231d_0", + "binder_x_0c85a6508d8e6fd361a47e5e219009e9_1", + "binder_x_30030376a5f97552e717a62840c85bf6_4", + "binder_x_9d27bb152640c482e1eae6bf1a18254d_0", + "binder_x_ae567c2fb75be05905677af440075565_3", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_Prims.LexTop@tok", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_HighComp.bind_elab", "equation_HighComp.comp_p", - "equation_HighComp.comp_wp", "equation_HighComp.mint", - "equation_HighComp.monotonic", "equation_HighComp.return_elab", - "equation_HighComp.state", "equation_LowComp.lstate_as_state", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", + "equality_tok_Prims.LexTop@tok", "equation_HighComp.bind_elab", + "equation_HighComp.comp_p", "equation_HighComp.comp_wp", + "equation_HighComp.mint", "equation_HighComp.monotonic", + "equation_HighComp.return_elab", "equation_HighComp.state", + "equation_LowComp.lstate_as_state", "equation_Prims.eqtype", "equation_with_fuel_HighComp.for_elab_.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_HighComp.state", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "int_inversion", "int_typing", - "interpretation_Tm_abs_2c5de20c9024abab3adce555f23a831e", - "interpretation_Tm_abs_4466a9f46b37bfb23a34772a6913a13c", - "interpretation_Tm_abs_46c7bafac69fd824cb3f65aa8bc1b7b1", - "interpretation_Tm_abs_50fc7001cb3bb2a75cb4044f029a6fb0", - "interpretation_Tm_abs_5f484ef99a546a69811e29712da69f65", - "interpretation_Tm_abs_7697fc817374c67ef7d4031b9ea309a1", - "interpretation_Tm_abs_bb419c04a584468429345a3d58ebf24c", - "interpretation_Tm_abs_bb9cf1dee487e7a4758b15d9793261fe", - "interpretation_Tm_abs_df8b64eb9698acc01a2c102397677108", - "interpretation_Tm_abs_e85ee51e2e334085c35e02672d23c41a", - "interpretation_Tm_abs_f70489914642ceaf1a376af7ed4b1473", - "interpretation_Tm_abs_fbdcfaad2f505b31c71af51c18e52fd5", - "l_and-interp", "l_quant_interp_06b95131b311ecdb7f2b5a8ef9c9684c", - "l_quant_interp_460af67c7938ccac00162e05f94d7864", - "l_quant_interp_ec1b14c4c3c48a2581ea93c01b0688cf", + "interpretation_Tm_abs_21f594a54daf77252df5d88ff7779ce6", + "interpretation_Tm_abs_44fc240d46610554c53460826f80dd5a", + "interpretation_Tm_abs_543425eb44498a820fb44cdfc0e6a95c", + "interpretation_Tm_abs_699ca939c79812ccd8a2ffec7702bd07", + "interpretation_Tm_abs_87544908cf29c323d27196f7d7eaee85", + "interpretation_Tm_abs_8af920b497c381572507c1143fe7d162", + "interpretation_Tm_abs_9400c552ba144fb02fd7b9ef580187d9", + "interpretation_Tm_abs_9735f5f1513020b96b235b2484483886", + "interpretation_Tm_abs_b7f99de0dce87b8f48633bc594757907", + "interpretation_Tm_abs_d274c6edee9771421632cba94cd3b0a8", + "interpretation_Tm_abs_e48d311d97a58c4825fadbeef478c99a", + "interpretation_Tm_abs_f0d8d90a73d25b2a78ef78b85d7e0f92", + "l_and-interp", "l_quant_interp_6b633a25971212395979503af0e5f2a0", + "l_quant_interp_9ea5fbcc1dc57ef6d54897e6255fbe2b", + "l_quant_interp_fc14dded7edda0c3efe0cfcc3ced5931", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_300fde9bb8c5eac22f6fbfa614d14766", + "refinement_interpretation_Tm_refine_102a41af64035a883bab2d9eeba71268", + "refinement_interpretation_Tm_refine_2027d41f5e9c4b0327a9d10c10416cfd", + "refinement_interpretation_Tm_refine_33db63b835abb976d494759a2d54bfd7", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_687689070c80f2d4519310f5e2ee016f", - "refinement_interpretation_Tm_refine_72b8aaf7e9bdee56cffe236847c433da", - "refinement_interpretation_Tm_refine_c091b1c3ac1136cbd64cd760dbf5eee4", + "refinement_interpretation_Tm_refine_436ada0a7f15df9dbb1b8e416429b249", + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", "token_correspondence_HighComp.bind_elab", "token_correspondence_HighComp.for_elab_", "token_correspondence_HighComp.return_elab", "true_interp", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "f3f4e85111b31d34ae3909a4b080af6b" + "295b9c672073a433704a560a282fd2ab" ], [ "LowComp.lwrite'", @@ -694,18 +671,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_HighComp.hwrite", "equation_HighComp.mint", - "equation_HighComp.state", + "@MaxIFuel_assumption", "@query", "equation_HighComp.hwrite", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_e6222a0ee1d4ecc6995b85513137eff6", - "token_correspondence_HighComp.hwrite", "unit_typing" + "interpretation_Tm_abs_54699eb1638e10bfc6105d8e13b8c557", + "token_correspondence_HighComp.hwrite" ], 0, - "7e43c04c28283234e7c68f21e9c0dda4" + "ddacd8e7065473b37f123e04532ea3c9" ], [ "LowComp.lwrite'", @@ -729,19 +701,16 @@ "equation_LowComp.state_as_lstate", "equation_LowComp.well_formed", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.disjoint", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_FStar.UInt32.t", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_7b393533a1a9c78f125094e210a00c85", - "interpretation_Tm_abs_aba45c7c523855a36c337b7eb728f2dd", - "interpretation_Tm_abs_e6222a0ee1d4ecc6995b85513137eff6", + "interpretation_Tm_abs_54699eb1638e10bfc6105d8e13b8c557", + "interpretation_Tm_abs_5d1a4a2c2cb2424c6f0e034ad6db90c7", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_93354ae4fd045abce5dc420563aa2877", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -753,13 +722,13 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_300fde9bb8c5eac22f6fbfa614d14766", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2027d41f5e9c4b0327a9d10c10416cfd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ed9ef45c8532eedd8145ba9a3cf7d034", + "refinement_interpretation_Tm_refine_e9d2acd716e976eddb0f03391caae2b5", "token_correspondence_HighComp.hwrite_elab", "true_interp", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.trivial_preorder", @@ -767,7 +736,7 @@ "unit_typing" ], 0, - "f03f0cc831a04e5f209b0facdc48513e" + "462f2a490ea44a4e159695fd6baf4c77" ], [ "LowComp.lread'", @@ -775,17 +744,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_HighComp.hread", "equation_HighComp.mint", - "equation_HighComp.state", + "@MaxIFuel_assumption", "@query", "equation_HighComp.hread", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_b90077ee13f6630e4c68820d24f9bc97", + "interpretation_Tm_abs_c952206c46a99bd455aa4f15bdd38d10", "token_correspondence_HighComp.hread" ], 0, - "4a23cca5ea9fc30390d00a0176684119" + "f6fcf86faa562cc0d94c509420260b32" ], [ "LowComp.lread'", @@ -806,14 +771,14 @@ "equation_HighComp.state", "equation_LowComp.lstate_as_state", "equation_LowComp.state_as_lstate", "equation_LowComp.well_formed", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_FStar.UInt32.t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_3ed0f51a48a508521f654505e1aa5220", - "interpretation_Tm_abs_459b8ca050f4e4cc415acd8c9f20acbc", + "interpretation_Tm_abs_0e77ba0ea5bea79a5213b55f8c5fd5f7", + "interpretation_Tm_abs_77ca50968915e35a7e1d4169863492a1", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -824,18 +789,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_300fde9bb8c5eac22f6fbfa614d14766", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2027d41f5e9c4b0327a9d10c10416cfd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ed9ef45c8532eedd8145ba9a3cf7d034", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_e9d2acd716e976eddb0f03391caae2b5", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "6b42745512d975fd5491578b1556ef45" + "cb7ae627de1b34819412de5116ff9dfb" ], [ "LowComp.lcast", @@ -844,22 +809,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "Prims_interpretation_Tm_arrow_0ec447216505a81a2a46f6969481fbca", - "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.mint", - "equation_HighComp.state", "equation_HighComp.subsumes", - "equation_LowComp.lstate", "equation_LowStar.Buffer.pointer", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", + "equation_HighComp.mint", "equation_HighComp.state", + "equation_HighComp.subsumes", "equation_LowComp.lstate", + "equation_LowStar.Buffer.pointer", "equation_Prims.l_True", + "equation_Prims.pure_post", "equation_Prims.pure_post_", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", + "refinement_interpretation_Tm_refine_4ade5e941d526256a8282cebaa1494a8", "refinement_interpretation_Tm_refine_5e37e783a97140b1cb9e51d940c98ed4", "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", "true_interp", "typing_LowComp.lstate_as_state", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa" + "typing_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad" ], 0, - "c052dfd4f70edfb7481044a55b9329bf" + "9401f5bffdd8d628118b274b6d0c5e92" ], [ "LowComp.as_lwp_precise", @@ -869,19 +833,18 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowComp.as_lwp", - "equation_LowComp.lstate", "equation_LowComp.precise", - "equation_LowComp.sat", "equation_LowComp.well_formed", - "equation_Prims.l_True", - "interpretation_Tm_abs_81caac2a9d11e078bb550de95b342e1f", - "interpretation_Tm_abs_eab6edafb948c4ff5ef38386aed168a7", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", + "equation_LowComp.precise", "equation_LowComp.sat", + "equation_LowComp.well_formed", + "interpretation_Tm_abs_3a04e6b12ff48dffb7e3ca3a8a5d4ebb", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_99088d20391beecd9c2f7f7f95242c8c", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45" + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4" ], 0, - "a0b2c709fd7b4f09791b534e387b2859" + "a8ec4f8c78da1bd6b9a3b0fef6f6f119" ], [ "LowComp.h_eq_implies_l_eq", @@ -893,20 +856,19 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.h_eq", "equation_HighComp.mint", "equation_HighComp.state", "equation_LowComp.as_lwp", "equation_LowComp.l_eq", - "equation_LowComp.lstate", "equation_LowComp.lwp_eq", - "equation_LowComp.precise", "equation_LowComp.sat", - "equation_LowComp.well_formed", "equation_Prims.l_True", - "interpretation_Tm_abs_81caac2a9d11e078bb550de95b342e1f", - "interpretation_Tm_abs_eab6edafb948c4ff5ef38386aed168a7", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", + "equation_LowComp.lwp_eq", "equation_LowComp.precise", + "equation_LowComp.sat", "equation_LowComp.well_formed", + "interpretation_Tm_abs_3a04e6b12ff48dffb7e3ca3a8a5d4ebb", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_99088d20391beecd9c2f7f7f95242c8c", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45", + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", "typing_LowComp.lstate_as_state" ], 0, - "126b1a0cdc327a7363e0900c8c0e3a6f" + "5b784fd3ee836095b9653497ce6a3055" ], [ "LowComp.h_eq_refl", @@ -915,7 +877,7 @@ 1, [ "@query", "equation_HighComp.h_eq" ], 0, - "088acb7c6b6c686113d4c1aeaa9fbf3b" + "3e30ef817ceaa1ee50b044bc02d73e1f" ], [ "LowComp.l_eq_refl", @@ -925,20 +887,19 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowComp.as_lwp", - "equation_LowComp.l_eq", "equation_LowComp.lstate", - "equation_LowComp.lwp_eq", "equation_LowComp.precise", - "equation_LowComp.sat", "equation_LowComp.well_formed", - "equation_Prims.l_True", - "interpretation_Tm_abs_81caac2a9d11e078bb550de95b342e1f", - "interpretation_Tm_abs_eab6edafb948c4ff5ef38386aed168a7", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", + "equation_LowComp.l_eq", "equation_LowComp.lwp_eq", + "equation_LowComp.precise", "equation_LowComp.sat", + "equation_LowComp.well_formed", + "interpretation_Tm_abs_3a04e6b12ff48dffb7e3ca3a8a5d4ebb", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_99088d20391beecd9c2f7f7f95242c8c", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45" + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4" ], 0, - "b04381c5e4ee01b49805fedf18785aa3" + "9861e8a04cd1a16ca4bcde660af1b20b" ], [ "LowComp.lcomp_unique_inhabitant", @@ -948,20 +909,19 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowComp.as_lwp", - "equation_LowComp.l_eq", "equation_LowComp.lstate", - "equation_LowComp.lwp_eq", "equation_LowComp.precise", - "equation_LowComp.sat", "equation_LowComp.well_formed", - "equation_Prims.l_True", - "interpretation_Tm_abs_81caac2a9d11e078bb550de95b342e1f", - "interpretation_Tm_abs_eab6edafb948c4ff5ef38386aed168a7", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", + "equation_LowComp.l_eq", "equation_LowComp.lwp_eq", + "equation_LowComp.precise", "equation_LowComp.sat", + "equation_LowComp.well_formed", + "interpretation_Tm_abs_3a04e6b12ff48dffb7e3ca3a8a5d4ebb", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_99088d20391beecd9c2f7f7f95242c8c", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45" + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4" ], 0, - "70acdf06779dd4b0493dbf2339956ce9" + "cee8994ccd9e34689f3e490d10e8baba" ], [ "LowComp.lcomp_respects_h_eq", @@ -969,18 +929,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.h_eq", + "@MaxIFuel_assumption", "@query", "equation_HighComp.h_eq", "equation_HighComp.mint", "equation_HighComp.state", "equation_LowComp.lstate", "equation_LowComp.lstate_as_state", - "equation_Prims.l_True", "equation_Prims.squash", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_4ade5e941d526256a8282cebaa1494a8", "typing_LowComp.lstate_as_state" ], 0, - "a5d1042ac6b990eeb8c7b2ac51426175" + "03124e484a6a5ba6dde9bac90455fbbe" ], [ "LowComp.return_wp_sat", @@ -988,13 +947,13 @@ 2, 1, [ - "@query", "equation_LowComp.sat_as_lwp", "equation_Prims.l_True", - "interpretation_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", - "interpretation_Tm_abs_fbf3138696c9f5ef6a98555cde25a77f", + "@query", "equation_LowComp.sat_as_lwp", + "interpretation_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad", + "interpretation_Tm_abs_e065eba6db3c0fa74e1f3f6b6be45624", "true_interp" ], 0, - "2e19c4bd6fa46656088d90f2a73a4d7a" + "ebcda404d29c7dfb58ccd2bd57458260" ], [ "LowComp.write_wp_sat", @@ -1004,14 +963,13 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_HighComp.state", "equation_LowComp.sat_as_lwp", - "equation_Prims.l_True", - "interpretation_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", - "interpretation_Tm_abs_a748f93d21ad99c6986f0883ddfb432f", + "equation_LowComp.sat_as_lwp", + "interpretation_Tm_abs_39e6c9f72ee07d412ca497378e7eb0d2", + "interpretation_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad", "true_interp", "unit_typing" ], 0, - "e67ca694fd30ca1555358248a0a82f14" + "886b5bd81a2ad3f004acde32fe15f84b" ], [ "LowComp.read_wp_sat", @@ -1020,15 +978,14 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_HighComp.mint", - "equation_HighComp.state", "equation_LowComp.sat_as_lwp", - "equation_Prims.l_True", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", - "interpretation_Tm_abs_95cd2481a791070b7e6ddcf878dcdf35", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_LowComp.sat_as_lwp", "equation_Prims.nat", "int_inversion", + "interpretation_Tm_abs_37290cdcfa0fb0f064ea73d1dde5536d", + "interpretation_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp" ], 0, - "3ad05754c9108c310bb3e144bd13b701" + "ce62cca944a1e095878c34136009f8d9" ], [ "LowComp.subsumes_sat", @@ -1038,14 +995,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_HighComp.mint", "equation_HighComp.state", "equation_HighComp.subsumes", - "equation_LowComp.lstate", "equation_LowComp.sat_as_lwp", - "equation_Prims.l_True", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45", + "equation_LowComp.sat_as_lwp", + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", "typing_LowComp.lstate_as_state", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa" + "typing_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad" ], 0, - "33f6d15c359d51a428bdbdbb4fcc964a" + "a0a39af2a15750072c56f3f48a923ddd" ], [ "LowComp.morph_return", @@ -1053,32 +1009,28 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "eq3-interp", "equation_FStar.Monotonic.HyperStack.mem", - "equation_HighComp.cast", "equation_HighComp.comp_wp", - "equation_LowComp.as_lwp", "equation_LowComp.l_eq", - "equation_LowComp.lstate", "equation_LowComp.lwp_eq", + "@MaxIFuel_assumption", "@query", "eq2-interp", "eq3-interp", + "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.cast", + "equation_HighComp.comp_wp", "equation_LowComp.as_lwp", + "equation_LowComp.l_eq", "equation_LowComp.lwp_eq", "equation_LowComp.precise", "equation_LowComp.sat", "equation_LowComp.well_formed", "equation_Prims.eq3", - "equation_Prims.l_True", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.h_equals", + "equation_Prims.squash", "fuel_guarded_inversion_Prims.h_equals", "function_token_typing_HighComp.cast", "function_token_typing_HighComp.return_elab", - "interpretation_Tm_abs_81caac2a9d11e078bb550de95b342e1f", - "interpretation_Tm_abs_eab6edafb948c4ff5ef38386aed168a7", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", + "interpretation_Tm_abs_3a04e6b12ff48dffb7e3ca3a8a5d4ebb", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_99088d20391beecd9c2f7f7f95242c8c", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_300fde9bb8c5eac22f6fbfa614d14766", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45", - "unit_typing" + "refinement_interpretation_Tm_refine_2027d41f5e9c4b0327a9d10c10416cfd", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", + "refinement_interpretation_Tm_refine_4ade5e941d526256a8282cebaa1494a8" ], 0, - "b666a12ba027df37e661de8e5a445c48" + "ec2612b3f7211f5922c23680c5b1885c" ], [ "LowComp.morph_read", @@ -1087,41 +1039,35 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp.__proj__HIGH__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", + "HighComp.__proj__HIGH__item__get_equality", "eq2-interp", "eq3-interp", "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.cast", "equation_HighComp.comp_wp", "equation_HighComp.get_action", "equation_HighComp.hread_elab", - "equation_HighComp.mint", "equation_HighComp.state", - "equation_LowComp.as_lwp", "equation_LowComp.l_eq", - "equation_LowComp.lstate", "equation_LowComp.lstate_as_state", + "equation_HighComp.mint", "equation_LowComp.as_lwp", + "equation_LowComp.l_eq", "equation_LowComp.lstate_as_state", "equation_LowComp.lwp_eq", "equation_LowComp.precise", "equation_LowComp.sat", "equation_LowComp.well_formed", - "equation_Prims.eq3", "equation_Prims.l_True", "equation_Prims.nat", - "equation_Prims.squash", "fuel_guarded_inversion_Prims.h_equals", - "function_token_typing_HighComp.cast", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_3ed0f51a48a508521f654505e1aa5220", - "interpretation_Tm_abs_459b8ca050f4e4cc415acd8c9f20acbc", - "interpretation_Tm_abs_81caac2a9d11e078bb550de95b342e1f", - "interpretation_Tm_abs_b90077ee13f6630e4c68820d24f9bc97", - "interpretation_Tm_abs_eab6edafb948c4ff5ef38386aed168a7", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", + "equation_Prims.eq3", "equation_Prims.nat", "equation_Prims.squash", + "fuel_guarded_inversion_Prims.h_equals", + "function_token_typing_HighComp.cast", "int_inversion", + "interpretation_Tm_abs_0e77ba0ea5bea79a5213b55f8c5fd5f7", + "interpretation_Tm_abs_3a04e6b12ff48dffb7e3ca3a8a5d4ebb", + "interpretation_Tm_abs_77ca50968915e35a7e1d4169863492a1", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_99088d20391beecd9c2f7f7f95242c8c", + "interpretation_Tm_abs_c952206c46a99bd455aa4f15bdd38d10", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_300fde9bb8c5eac22f6fbfa614d14766", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45", - "refinement_interpretation_Tm_refine_ed9ef45c8532eedd8145ba9a3cf7d034", - "unit_typing" + "refinement_interpretation_Tm_refine_2027d41f5e9c4b0327a9d10c10416cfd", + "refinement_interpretation_Tm_refine_21575e9a54b70be2f7199543699bd893", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e9d2acd716e976eddb0f03391caae2b5" ], 0, - "e7366a01082a1f98a7b11e141b2eeed9" + "f67518cbfa0fac5fd7eb7294e426a565" ], [ "LowComp.morph_write", @@ -1131,62 +1077,54 @@ [ "@MaxIFuel_assumption", "@query", "HighComp.__proj__HIGH__item__put_equality", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_6dd4b2d408ebb27b698bdc002d931e9e", - "HighComp_interpretation_Tm_arrow_7aaa55bbeb86dc27a3996ab04c70367a", - "HighComp_interpretation_Tm_arrow_7efaa2e711a6370958704ee903959461", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "HighComp_interpretation_Tm_arrow_fbec052f205dc07531788783e76a8755", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_elim_FStar.Pervasives.Native.Mktuple2", "eq2-interp", + "HighComp_interpretation_Tm_arrow_05704536adceedb4db3c9fef2a346e71", + "HighComp_interpretation_Tm_arrow_327db2b67b7486cbd3e81415fb326440", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", "eq3-interp", "equation_FStar.Monotonic.HyperStack.mem", - "equation_HighComp.cast", "equation_HighComp.comp", - "equation_HighComp.comp_wp", "equation_HighComp.hwp_mon", - "equation_HighComp.hwrite", "equation_HighComp.hwrite_elab", - "equation_HighComp.mint", "equation_HighComp.monotonic", - "equation_HighComp.put_action", "equation_HighComp.state", - "equation_HighComp.subsumes", "equation_LowComp.as_lwp", - "equation_LowComp.l_eq", "equation_LowComp.lstate", + "equation_HighComp.cast", "equation_HighComp.comp_wp", + "equation_HighComp.hwp_mon", "equation_HighComp.hwrite", + "equation_HighComp.hwrite_elab", "equation_HighComp.mint", + "equation_HighComp.monotonic", "equation_HighComp.put_action", + "equation_HighComp.state", "equation_HighComp.subsumes", + "equation_LowComp.as_lwp", "equation_LowComp.l_eq", "equation_LowComp.lstate_as_state", "equation_LowComp.lwp_eq", "equation_LowComp.precise", "equation_LowComp.sat", "equation_LowComp.well_formed", "equation_Prims.eq3", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.squash", + "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.h_equals", "function_token_typing_HighComp.cast", - "function_token_typing_HighComp.hwrite", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.l_True", "int_inversion", - "interpretation_Tm_abs_7697fc817374c67ef7d4031b9ea309a1", - "interpretation_Tm_abs_7b393533a1a9c78f125094e210a00c85", - "interpretation_Tm_abs_81caac2a9d11e078bb550de95b342e1f", - "interpretation_Tm_abs_a748f93d21ad99c6986f0883ddfb432f", - "interpretation_Tm_abs_aba45c7c523855a36c337b7eb728f2dd", - "interpretation_Tm_abs_db1b34554faf107bb9abca0c81bebf2f", - "interpretation_Tm_abs_e6222a0ee1d4ecc6995b85513137eff6", - "interpretation_Tm_abs_eab6edafb948c4ff5ef38386aed168a7", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", + "interpretation_Tm_abs_39e6c9f72ee07d412ca497378e7eb0d2", + "interpretation_Tm_abs_3a04e6b12ff48dffb7e3ca3a8a5d4ebb", + "interpretation_Tm_abs_54699eb1638e10bfc6105d8e13b8c557", + "interpretation_Tm_abs_5d1a4a2c2cb2424c6f0e034ad6db90c7", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_93354ae4fd045abce5dc420563aa2877", + "interpretation_Tm_abs_99088d20391beecd9c2f7f7f95242c8c", + "interpretation_Tm_abs_bb0ebafede7072cf89272ecaf01eeeff", + "interpretation_Tm_abs_e48d311d97a58c4825fadbeef478c99a", "l_and-interp", "l_not-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_300fde9bb8c5eac22f6fbfa614d14766", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", + "refinement_interpretation_Tm_refine_102a41af64035a883bab2d9eeba71268", + "refinement_interpretation_Tm_refine_2027d41f5e9c4b0327a9d10c10416cfd", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", + "refinement_interpretation_Tm_refine_395b67c583c8f847e3e7cd1bc5153d18", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "refinement_interpretation_Tm_refine_6a9ddcd18392ac5aab5ee22fe53237c6", - "refinement_interpretation_Tm_refine_72b8aaf7e9bdee56cffe236847c433da", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45", - "refinement_interpretation_Tm_refine_ed9ef45c8532eedd8145ba9a3cf7d034", + "refinement_interpretation_Tm_refine_d4d2c99e6bcc7019ad26effe307b725d", + "refinement_interpretation_Tm_refine_e9d2acd716e976eddb0f03391caae2b5", "token_correspondence_HighComp.hwrite", "true_interp", - "typing_LowComp.lstate_as_state", - "typing_Tm_abs_db1b34554faf107bb9abca0c81bebf2f", "unit_inversion", - "unit_typing" + "typing_Tm_abs_bb0ebafede7072cf89272ecaf01eeeff", + "typing_Tm_abs_e48d311d97a58c4825fadbeef478c99a", "unit_typing" ], 0, - "c6ad0d924822b02deb4fec5f0ead958d" + "fbd82b444948c7c0ab1feb4985f99684" ], [ "LowComp.morph_bind", @@ -1195,45 +1133,44 @@ 1, [ "@MaxIFuel_assumption", "@query", - "HighComp_interpretation_Tm_arrow_3c176054cf96076f830aea276ec03568", - "HighComp_interpretation_Tm_arrow_c08aeed28d2bd085c3c5793e25168258", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "eq3-interp", "equation_FStar.Monotonic.HyperStack.mem", - "equation_HighComp.cast", "equation_HighComp.comp_wp", - "equation_HighComp.hwp_mon", "equation_HighComp.mint", - "equation_HighComp.monotonic", "equation_HighComp.state", - "equation_HighComp.subsumes", "equation_LowComp.as_lwp", - "equation_LowComp.l_eq", "equation_LowComp.lcast", - "equation_LowComp.lstate", "equation_LowComp.lstate_as_state", - "equation_LowComp.lwp_eq", "equation_LowComp.precise", - "equation_LowComp.sat", "equation_LowComp.well_formed", - "equation_LowStar.Buffer.pointer", "equation_Prims.eq3", - "equation_Prims.l_True", "equation_Prims.logical", + "HighComp_interpretation_Tm_arrow_6e26f36dfee5fb7da46cc83a3773c12c", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "eq2-interp", "eq3-interp", + "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.cast", + "equation_HighComp.comp_wp", "equation_HighComp.hwp_mon", + "equation_HighComp.mint", "equation_HighComp.monotonic", + "equation_HighComp.state", "equation_HighComp.subsumes", + "equation_LowComp.as_lwp", "equation_LowComp.l_eq", + "equation_LowComp.lcast", "equation_LowComp.lstate", + "equation_LowComp.lstate_as_state", "equation_LowComp.lwp_eq", + "equation_LowComp.precise", "equation_LowComp.sat", + "equation_LowComp.well_formed", "equation_LowStar.Buffer.pointer", + "equation_Prims.eq3", "equation_Prims.logical", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.h_equals", "function_token_typing_HighComp.bind_elab", - "interpretation_Tm_abs_3c27def08137c4e0a76ae98342588f38", - "interpretation_Tm_abs_81caac2a9d11e078bb550de95b342e1f", - "interpretation_Tm_abs_94cf25fa02e98f1790d16edbf70733ef", - "interpretation_Tm_abs_d587337e289a5f558084aab62bcd5ae4", - "interpretation_Tm_abs_eab6edafb948c4ff5ef38386aed168a7", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", + "interpretation_Tm_abs_3a04e6b12ff48dffb7e3ca3a8a5d4ebb", + "interpretation_Tm_abs_4396e263db3f458b8646c1ce17247edc", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_99088d20391beecd9c2f7f7f95242c8c", + "interpretation_Tm_abs_add5a39bc4ff3a8e430826e9bcc8e3de", + "interpretation_Tm_abs_bfcf95d966a29ae0e75999c65063eadd", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", + "refinement_interpretation_Tm_refine_107f34e48b40b3bae3df07d43aac01f9", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", + "refinement_interpretation_Tm_refine_4ade5e941d526256a8282cebaa1494a8", "refinement_interpretation_Tm_refine_56e456688dd4d1622be7afafae18c069", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45", - "refinement_interpretation_Tm_refine_ff64f5124632290d75fa35751ebc3710", "typing_LowComp.lstate_as_state", - "typing_Tm_abs_3c27def08137c4e0a76ae98342588f38", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", - "typing_Tm_abs_d587337e289a5f558084aab62bcd5ae4", "unit_typing" + "typing_Tm_abs_4396e263db3f458b8646c1ce17247edc", + "typing_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad", + "typing_Tm_abs_add5a39bc4ff3a8e430826e9bcc8e3de" ], 0, - "e6dbfe516fbb887ae98f8056ce1bba9b" + "11a88768b9e7fdde0988ce751c4aa684" ], [ "LowComp.morph_for", @@ -1242,6 +1179,8 @@ 1, [ "@MaxIFuel_assumption", "@query", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "HighComp_interpretation_Tm_arrow_f7ee7e378468830622ee785da17254d6", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", "eq3-interp", "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.cast", "equation_HighComp.comp_wp", @@ -1252,27 +1191,27 @@ "equation_LowComp.lwp_eq", "equation_LowComp.precise", "equation_LowComp.sat", "equation_LowComp.well_formed", "equation_LowStar.Buffer.pointer", "equation_Prims.eq3", - "equation_Prims.l_True", "equation_Prims.squash", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.h_equals", "function_token_typing_HighComp.for_elab", "function_token_typing_HighComp.for_wp", "int_inversion", - "interpretation_Tm_abs_81caac2a9d11e078bb550de95b342e1f", - "interpretation_Tm_abs_eab6edafb948c4ff5ef38386aed168a7", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", + "interpretation_Tm_abs_3a04e6b12ff48dffb7e3ca3a8a5d4ebb", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_99088d20391beecd9c2f7f7f95242c8c", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_99e58fac02a604ee45e6666c934dbb25", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_d4d2c99e6bcc7019ad26effe307b725d", + "refinement_interpretation_Tm_refine_e7b29751a2705eb76e393dfcd4f9b762", "typing_LowComp.lstate_as_state", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", "unit_typing" + "typing_Tm_abs_8fd9dc39e791d2c1a3e94fdc1822aced", "unit_typing" ], 0, - "e9adeab5e8bb30de691f73cdffe90a2b" + "d37106658968fd1e823d0fcaaff2a6a3" ], [ "LowComp.morph_for'", @@ -1281,6 +1220,8 @@ 1, [ "@MaxIFuel_assumption", "@query", + "HighComp_interpretation_Tm_arrow_e3cfe1ebcb97ee55d9ec5bb99e6dc1b6", + "HighComp_interpretation_Tm_arrow_f7ee7e378468830622ee785da17254d6", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "eq2-interp", "eq3-interp", @@ -1294,32 +1235,32 @@ "equation_LowComp.precise", "equation_LowComp.sat", "equation_LowComp.well_formed", "equation_LowStar.Buffer.pointer", "equation_Prims.eq3", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.squash", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.h_equals", "function_token_typing_HighComp.for_elab_", "function_token_typing_HighComp.state", "function_token_typing_Prims.unit", "int_inversion", - "interpretation_Tm_abs_2e55ddbfc136671f79ae281e3b643933", - "interpretation_Tm_abs_81caac2a9d11e078bb550de95b342e1f", - "interpretation_Tm_abs_eab6edafb948c4ff5ef38386aed168a7", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", - "interpretation_Tm_abs_fa1fb510b4e87c58118f4e451cef98dd", - "l_and-interp", "l_quant_interp_9b9cb07863c0fd3974933b6cff93ba59", - "l_quant_interp_df7885a01a69a1dffd224f202e45d798", + "interpretation_Tm_abs_263be8757c9ad92b308b6ecf2869a14e", + "interpretation_Tm_abs_3a04e6b12ff48dffb7e3ca3a8a5d4ebb", + "interpretation_Tm_abs_42c4782019b9c86a1719b2bcead1938e", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_99088d20391beecd9c2f7f7f95242c8c", + "l_and-interp", "l_quant_interp_35b908ae62130555267f56bf2e6e8276", + "l_quant_interp_cb1b864b9c4c1d0efe5ce00548a56995", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_d0536e0dad5e45cde36969b56edeb517", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45", + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_d4d2c99e6bcc7019ad26effe307b725d", + "refinement_interpretation_Tm_refine_ead9ac524af207f3194733bf132c352c", "typing_LowComp.lstate_as_state", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", "unit_typing" + "typing_Tm_abs_8fd9dc39e791d2c1a3e94fdc1822aced", "unit_typing" ], 0, - "7ddaa1c3fb634b4d622048ee35a57520" + "299fb37bfd4e7b435e0ee3da0e022363" ], [ "LowComp.morph_ite", @@ -1327,9 +1268,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "eq2-interp", "eq3-interp", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "eq3-interp", "equation_FStar.Monotonic.HyperStack.mem", "equation_HighComp.cast", "equation_HighComp.comp_wp", "equation_HighComp.mint", "equation_HighComp.state", "equation_HighComp.subsumes", @@ -1338,28 +1278,27 @@ "equation_LowComp.lstate_as_state", "equation_LowComp.lwp_eq", "equation_LowComp.precise", "equation_LowComp.sat", "equation_LowComp.well_formed", "equation_LowStar.Buffer.pointer", - "equation_Prims.eq3", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.squash", + "equation_Prims.eq3", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.h_equals", "function_token_typing_HighComp.ite_elab", - "interpretation_Tm_abs_81caac2a9d11e078bb550de95b342e1f", - "interpretation_Tm_abs_9178aa9c1aab04c0e78b914e950889bd", - "interpretation_Tm_abs_eab6edafb948c4ff5ef38386aed168a7", - "interpretation_Tm_abs_f91df65aaa9fec0db4577aeb915b855d", + "interpretation_Tm_abs_0fc35abe1b6ba1335cf839db711cafe7", + "interpretation_Tm_abs_3a04e6b12ff48dffb7e3ca3a8a5d4ebb", + "interpretation_Tm_abs_89a95d6170b50e987ee6d4cf7f87e0bc", + "interpretation_Tm_abs_99088d20391beecd9c2f7f7f95242c8c", "l_and-interp", "l_imp-interp", "l_not-interp", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_31a4c7f6822cf26d636ef57794c2e70d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_d2f3518076b7e1beb204ab058d64de45", - "refinement_interpretation_Tm_refine_dcb024f1a59be61e5e982c0113eff485", + "refinement_interpretation_Tm_refine_190e848a215c6b3777e62e19c7f30f1c", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_317ca8835e4044239f2a210ab75703c4", + "refinement_interpretation_Tm_refine_4ade5e941d526256a8282cebaa1494a8", "typing_LowComp.lstate_as_state", - "typing_Tm_abs_8c0133fab609362d9e6cef621bc2f5aa", "unit_typing" + "typing_Tm_abs_a74817b7b2c640c0cc04aa86503cfaad" ], 0, - "2ee025cb93fef15fad32a543cad7028c" + "a98b6e842eefa31dd60a1994016f337d" ] ] ] \ No newline at end of file diff --git a/examples/refinement/Mem_eq.fst.hints b/examples/refinement/Mem_eq.fst.hints index 30b05d3d1a5..9cc5d64c11b 100644 --- a/examples/refinement/Mem_eq.fst.hints +++ b/examples/refinement/Mem_eq.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_bcd17831d1f1d1a9e47beb50c2eddaad" ], 0, - "450385a7cf3026907879934685291424" + "ea498f3de937dcdd09914745fa149633" ], [ "Mem_eq.g_upd_preserves_live", @@ -21,27 +21,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.pointer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.g_upd", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_upd", + "int_typing", "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_98e67f2232917955d7f07a5ab0244110", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bcd17831d1f1d1a9e47beb50c2eddaad", + "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.g_upd_seq" ], 0, - "c2ab7afe8dad67a12e609018f2b08555" + "e5649d51f2b487930bd78a9bc8f6cf23" ], [ "Mem_eq.get_upd_eq", @@ -49,12 +46,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_4a37b33eb3cc477bf8853ca6f137a34b", + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_6a8195c6d08fa7c9b7f47125e485acf5", "refinement_interpretation_Tm_refine_bcd17831d1f1d1a9e47beb50c2eddaad" ], 0, - "21fc2d2df9cf876c1736b3fcd70b4844" + "eb31b445caac07bc5c3e6e03e26be1fe" ], [ "Mem_eq.upd_upd_eq", @@ -62,18 +59,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4a37b33eb3cc477bf8853ca6f137a34b", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.pointer", + "equation_Prims.nat", "int_inversion", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_6a8195c6d08fa7c9b7f47125e485acf5", "refinement_interpretation_Tm_refine_bcd17831d1f1d1a9e47beb50c2eddaad" ], 0, - "54c477e1567629e46e2a215685c3f503" + "93bd67df5ce800b2d76e57b3a401e6f4" ], [ "Mem_eq.upd_com", @@ -88,7 +83,7 @@ "refinement_interpretation_Tm_refine_bcd17831d1f1d1a9e47beb50c2eddaad" ], 0, - "40bab6d70fc4ed5e074c425b07a8e3f2" + "781d7c2a101c5f7e6c5e60e982948b94" ], [ "Mem_eq.get_upd_same", @@ -102,7 +97,7 @@ "refinement_interpretation_Tm_refine_bcd17831d1f1d1a9e47beb50c2eddaad" ], 0, - "9360301f48951ed31704f96d9e003d05" + "fdd7506cb5e86609e8e3fecf6f1c459a" ], [ "Mem_eq.get_upd_other", @@ -116,7 +111,7 @@ "refinement_interpretation_Tm_refine_bcd17831d1f1d1a9e47beb50c2eddaad" ], 0, - "13c4b543b0b500de5bae8bf46df91a04" + "53406aa5bb89ab43c4ee026a7a198927" ] ] ] \ No newline at end of file diff --git a/examples/refinement/sum_and_swap.fst.hints b/examples/refinement/sum_and_swap.fst.hints index c517618982c..bbea13f1acf 100644 --- a/examples/refinement/sum_and_swap.fst.hints +++ b/examples/refinement/sum_and_swap.fst.hints @@ -18,12 +18,12 @@ "function_token_typing_HighComp.state", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_2368b0d4ad188f65187809c9431f2cbb", + "interpretation_Tm_abs_40df6cfad88a14a99c3abe39ea404877", "primitive_Prims.op_Addition", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1f5fc6d39a063fb1829b5ff6e63e6efa" + "3a95bd71dc5c7ef8aa2dc443b60a0caf" ], [ "Sum_and_swap.wp_impl", @@ -38,8 +38,8 @@ "equation_HighComp.hwrite", "equation_HighComp.mint", "equation_HighComp.state", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_b90077ee13f6630e4c68820d24f9bc97", - "interpretation_Tm_abs_e6222a0ee1d4ecc6995b85513137eff6", + "interpretation_Tm_abs_54699eb1638e10bfc6105d8e13b8c557", + "interpretation_Tm_abs_c952206c46a99bd455aa4f15bdd38d10", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -51,7 +51,7 @@ "token_correspondence_HighComp.hwrite", "unit_typing" ], 0, - "44abffb4325941b8fa5ba02711099078" + "acba29bccfd6b09545d2dfde84805eda" ], [ "Sum_and_swap.sum_post", @@ -60,7 +60,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "f0812fbdb19bbefd90f95ecafd99d16c" + "176291d25303ca76ab70e1a06690233c" ], [ "Sum_and_swap.hswap_and_sum", @@ -75,7 +75,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "677447a06de77b3533b5d777576eae3c" + "ec6825ffdd77219cd40681e8446783c5" ], [ "Sum_and_swap.lswap_and_sum", @@ -90,8 +90,8 @@ "equation_HighComp.hwrite", "equation_HighComp.mint", "equation_HighComp.state", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_b90077ee13f6630e4c68820d24f9bc97", - "interpretation_Tm_abs_e6222a0ee1d4ecc6995b85513137eff6", + "interpretation_Tm_abs_54699eb1638e10bfc6105d8e13b8c557", + "interpretation_Tm_abs_c952206c46a99bd455aa4f15bdd38d10", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -103,7 +103,7 @@ "token_correspondence_HighComp.hwrite", "unit_typing" ], 0, - "a439de46e8db8974c712ce865ee4d213" + "f71fb2afa132d34ef13080462ed7e157" ] ] ] \ No newline at end of file diff --git a/examples/regional/RVector.fst.hints b/examples/regional/RVector.fst.hints index 378b23989e0..90ca32be126 100644 --- a/examples/regional/RVector.fst.hints +++ b/examples/regional/RVector.fst.hints @@ -10,32 +10,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int16.n", - "equation_FStar.Int31.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "equation_FStar.UInt32.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.Int16.n", - "function_token_typing_FStar.Int31.n", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.gt", "equation_Prims.nat", + "equation_Prims.pos", "int_typing", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.UInt.fits", "typing_Prims.pow2" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_Prims.pow2" ], 0, - "e7e9498d4c7d134d006f5ed6ddb9605e" + "621129a09301726d6ced8c3ce07c7734" ], [ "RVector.two_regional_buffers_disjoint", @@ -44,16 +36,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.disjoint", + "LowStar.Regional.Instances_interpretation_Tm_ghost_arrow_c4b43f46d7681f869867c1484fabc25f", + "bool_inversion", "bool_typing", + "equation_FStar.Monotonic.HyperHeap.disjoint", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Regional.Instances.buffer_region_of", "equation_LowStar.Regional.Instances.buffer_regional", "equation_Prims.eqtype", "equation_Prims.nat", "equation_RVector.breg", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_LowStar.Regional.Instances.buffer_region_of", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_addresses", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", @@ -64,6 +58,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_LowStar.Regional.Rgl_region_of", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LowStar.Regional.Instances.buffer_region_of", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "typing_FStar.Monotonic.HyperHeap.includes", @@ -72,11 +67,10 @@ "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Regional.Instances.buffer_region_of" + "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "93888e4179eb01382cee53dede5b2119" + "0d6fc20318848afe6977cebcd7b6982a" ], [ "RVector.two_regional_vectors_disjoint", @@ -85,7 +79,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LowStar.RVector_interpretation_Tm_arrow_642c3bb143fe9058592e0cee265f40bc", + "LowStar.Regional.Instances_interpretation_Tm_ghost_arrow_eede091701a37973ca651c844473dd7f", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.disjoint", "equation_LowStar.Buffer.buffer", @@ -117,7 +111,7 @@ "typing_RVector.breg" ], 0, - "3cd1cd5eb5d76ffdb58155d06c6555b9" + "361f8ea07acf8b713f53a35fa890a30f" ], [ "RVector.bcpy", @@ -128,18 +122,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "LowStar.Regional.Instances_interpretation_Tm_arrow_89429275d453604bfd463d3a7289b4c5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.Regional.Instances_interpretation_Tm_ghost_arrow_b59d7623ebebd4a291712af8765a17fd", + "LowStar.Regional_interpretation_Tm_ghost_arrow_8efe83896e61f87df00cf72ae31ef9ac", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", + "data_elim_LowStar.Regional.Rgl", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", @@ -150,24 +144,22 @@ "equation_LowStar.Regional.Instances.buffer_r_repr", "equation_LowStar.Regional.Instances.buffer_region_of", "equation_LowStar.Regional.Instances.buffer_regional", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Regional.Instances.buffer_repr", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_RVector.breg", "function_token_typing_FStar.Integers.uint_32", "function_token_typing_FStar.UInt32.t", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_LowStar.Regional.Instances.buffer_region_of", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_FStar.Seq.Properties.slice_length", "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_addresses", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -175,6 +167,7 @@ "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", @@ -187,11 +180,14 @@ "projection_inverse_LowStar.Regional.Rgl_r_inv", "projection_inverse_LowStar.Regional.Rgl_r_repr", "projection_inverse_LowStar.Regional.Rgl_region_of", - "refinement_interpretation_Tm_refine_2bc144de01d64d7e672e94682c459e88", + "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_645dd2478c64067716c1c94d92dd5694", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5d0cd33b6c27c5ff6c0a093792118783", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_a726b9833a009d607b2880b68a42f654", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LowStar.Regional.Instances.buffer_r_inv", "token_correspondence_LowStar.Regional.Instances.buffer_r_repr", "token_correspondence_LowStar.Regional.Instances.buffer_region_of", @@ -207,10 +203,11 @@ "typing_LowStar.Monotonic.Buffer.loc_addresses", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Regional.Instances.buffer_region_of" + "typing_LowStar.Regional.Instances.buffer_region_of", + "typing_RVector.breg" ], 0, - "b69a919b4c8a1302aa9437c21dfef622" + "ad7d66004bc1d6777c20f06ae42fc9a1" ], [ "RVector.insert_does_not_affect_the_other", @@ -219,12 +216,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_RVector.breg", - "equation_RVector.vreg", - "refinement_interpretation_Tm_refine_ef0e9a665cf71cacfbe90d8460722502" + "refinement_interpretation_Tm_refine_a2158c1f0e8ea5195cca969afe103215" ], 0, - "437eb984c9d122b5f9eeed53281ac2ee" + "1128875de98385e062be919992a1d27f" ], [ "RVector.insert_does_not_affect_the_other", @@ -233,12 +228,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LowStar.RVector_interpretation_Tm_arrow_642c3bb143fe9058592e0cee265f40bc", - "LowStar.Regional.Instances_interpretation_Tm_arrow_752f948448c6e8fb1924a253336d7c46", - "LowStar.Regional.Instances_interpretation_Tm_arrow_89429275d453604bfd463d3a7289b4c5", + "LowStar.Regional.Instances_interpretation_Tm_ghost_arrow_281d5dad356e603ad9011ab60765d002", + "LowStar.Regional.Instances_interpretation_Tm_ghost_arrow_b59d7623ebebd4a291712af8765a17fd", + "LowStar.Regional.Instances_interpretation_Tm_ghost_arrow_eede091701a37973ca651c844473dd7f", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.RVector.loc_rvector", "equation_LowStar.RVector.rvector", @@ -273,10 +267,10 @@ "projection_inverse_LowStar.Regional.Rgl_r_repr", "projection_inverse_LowStar.Regional.Rgl_region_of", "projection_inverse_LowStar.Regional.Rgl_repr", - "refinement_interpretation_Tm_refine_44478cdd0048f89a9d7d4c4179eea324", + "refinement_interpretation_Tm_refine_25a73a9b48e2385006eb2fb36e82fa0d", "refinement_interpretation_Tm_refine_6ba0eef49d712d4e7d15449cb137366b", - "refinement_interpretation_Tm_refine_8379076b34568ec24138f82a20ec9539", - "refinement_interpretation_Tm_refine_ef0e9a665cf71cacfbe90d8460722502", + "refinement_interpretation_Tm_refine_84c78e39362ff86546a47954d054f902", + "refinement_interpretation_Tm_refine_a2158c1f0e8ea5195cca969afe103215", "token_correspondence_LowStar.Regional.Instances.buffer_region_of", "token_correspondence_LowStar.Regional.Instances.vector_r_inv", "token_correspondence_LowStar.Regional.Instances.vector_r_repr", @@ -294,7 +288,7 @@ "typing_LowStar.Vector.is_full", "typing_RVector.breg" ], 0, - "eb437ab516c4a85f56a1860f79049b38" + "9c91af5e4263bfd2d22a236a82c87b20" ], [ "RVector.free_does_not_affect_the_other", @@ -303,12 +297,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_RVector.breg", - "equation_RVector.vreg", - "refinement_interpretation_Tm_refine_e0455d9185d4a6b8dc75f5db81147723" + "refinement_interpretation_Tm_refine_38d4080156c592f538f5e5ea8a23092c" ], 0, - "0fb15dc1147eb989b4053973120a7539" + "b3460af37888356ddeda02121368c2cd" ], [ "RVector.free_does_not_affect_the_other", @@ -317,11 +309,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LowStar.RVector_interpretation_Tm_arrow_642c3bb143fe9058592e0cee265f40bc", - "LowStar.Regional.Instances_interpretation_Tm_arrow_752f948448c6e8fb1924a253336d7c46", + "LowStar.Regional.Instances_interpretation_Tm_ghost_arrow_281d5dad356e603ad9011ab60765d002", + "LowStar.Regional.Instances_interpretation_Tm_ghost_arrow_eede091701a37973ca651c844473dd7f", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.RVector.loc_rvector", "equation_LowStar.RVector.rvector", @@ -355,10 +346,10 @@ "projection_inverse_LowStar.Regional.Rgl_r_repr", "projection_inverse_LowStar.Regional.Rgl_region_of", "projection_inverse_LowStar.Regional.Rgl_repr", + "refinement_interpretation_Tm_refine_23ceac9115e83c3e3ba8101c10ce422d", + "refinement_interpretation_Tm_refine_25a73a9b48e2385006eb2fb36e82fa0d", + "refinement_interpretation_Tm_refine_38d4080156c592f538f5e5ea8a23092c", "refinement_interpretation_Tm_refine_6ba0eef49d712d4e7d15449cb137366b", - "refinement_interpretation_Tm_refine_8379076b34568ec24138f82a20ec9539", - "refinement_interpretation_Tm_refine_e0455d9185d4a6b8dc75f5db81147723", - "refinement_interpretation_Tm_refine_f6765fa375f28c4b03d071c90803d191", "token_correspondence_LowStar.Regional.Instances.vector_r_inv", "token_correspondence_LowStar.Regional.Instances.vector_r_repr", "token_correspondence_LowStar.Regional.Instances.vector_region_of", @@ -375,7 +366,7 @@ "typing_LowStar.Vector.is_full", "typing_RVector.breg" ], 0, - "f5cf2c5e0fb3107b6371de746113af84" + "b0c5fe95d80756f13b9b8ced44b550d6" ], [ "RVector.breg", @@ -386,32 +377,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int16.n", - "equation_FStar.Int31.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "equation_FStar.UInt32.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.Int16.n", - "function_token_typing_FStar.Int31.n", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.gt", "equation_Prims.nat", + "equation_Prims.pos", "int_typing", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.UInt.fits", "typing_Prims.pow2" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_Prims.pow2" ], 0, - "9f4a1172e4ca12b7ad7d078b9085b0ed" + "37ff52ee69576279e5c980cfe1a6b863" ], [ "RVector.bcpy", @@ -422,18 +405,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "LowStar.Regional.Instances_interpretation_Tm_arrow_89429275d453604bfd463d3a7289b4c5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.Regional.Instances_interpretation_Tm_ghost_arrow_b59d7623ebebd4a291712af8765a17fd", + "LowStar.Regional_interpretation_Tm_ghost_arrow_8efe83896e61f87df00cf72ae31ef9ac", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", + "data_elim_LowStar.Regional.Rgl", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", @@ -444,24 +427,22 @@ "equation_LowStar.Regional.Instances.buffer_r_repr", "equation_LowStar.Regional.Instances.buffer_region_of", "equation_LowStar.Regional.Instances.buffer_regional", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Regional.Instances.buffer_repr", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_RVector.breg", "function_token_typing_FStar.Integers.uint_32", "function_token_typing_FStar.UInt32.t", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_LowStar.Regional.Instances.buffer_region_of", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_FStar.Seq.Properties.slice_length", "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_addresses", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -469,6 +450,7 @@ "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", @@ -481,11 +463,14 @@ "projection_inverse_LowStar.Regional.Rgl_r_inv", "projection_inverse_LowStar.Regional.Rgl_r_repr", "projection_inverse_LowStar.Regional.Rgl_region_of", - "refinement_interpretation_Tm_refine_2bc144de01d64d7e672e94682c459e88", + "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_645dd2478c64067716c1c94d92dd5694", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5d0cd33b6c27c5ff6c0a093792118783", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_a726b9833a009d607b2880b68a42f654", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LowStar.Regional.Instances.buffer_r_inv", "token_correspondence_LowStar.Regional.Instances.buffer_r_repr", "token_correspondence_LowStar.Regional.Instances.buffer_region_of", @@ -501,10 +486,11 @@ "typing_LowStar.Monotonic.Buffer.loc_addresses", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Regional.Instances.buffer_region_of" + "typing_LowStar.Regional.Instances.buffer_region_of", + "typing_RVector.breg" ], 0, - "00821c9b727ae22c25bb011227d0be84" + "6e0324f8dc4c852e920346a5ba15a92f" ], [ "RVector.insert_does_not_affect_the_other", @@ -513,12 +499,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_RVector.breg", - "equation_RVector.vreg", - "refinement_interpretation_Tm_refine_ef0e9a665cf71cacfbe90d8460722502" + "refinement_interpretation_Tm_refine_a2158c1f0e8ea5195cca969afe103215" ], 0, - "200435de128bbbe4eb5202ade04d6b46" + "f8a7c7291fee0ac30c6231fb4a035862" ], [ "RVector.free_does_not_affect_the_other", @@ -527,12 +511,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_RVector.breg", - "equation_RVector.vreg", - "refinement_interpretation_Tm_refine_e0455d9185d4a6b8dc75f5db81147723" + "refinement_interpretation_Tm_refine_38d4080156c592f538f5e5ea8a23092c" ], 0, - "6e2ce36c5c0b9f714650031f567f87f4" + "39c1e9f7d373a00b86e371e7ebc3c1dd" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.Aux.fst.hints b/examples/rel/Benton2004.Aux.fst.hints index 7f9beff9970..c7da5c2bfee 100644 --- a/examples/rel/Benton2004.Aux.fst.hints +++ b/examples/rel/Benton2004.Aux.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Benton2004.Aux.holds" ], 0, - "d4424e691e828145290d6dddbc134b3e" + "6874e0c582a15b72503e27f16a6d3e77" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.DDCC.Examples.fst.hints b/examples/rel/Benton2004.DDCC.Examples.fst.hints index 1aa5526d08c..1c5fc67a62c 100644 --- a/examples/rel/Benton2004.DDCC.Examples.fst.hints +++ b/examples/rel/Benton2004.DDCC.Examples.fst.hints @@ -8,11 +8,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "equation_Benton2004.op_abs", "lemma_Benton2004.DDCC.holds_ns_singl" ], 0, - "0eb4e8adc0ad499035a232f2d574b580" + "4d678f397edd4e9b52f4f1b5dd6cd3c7" ], [ "Benton2004.DDCC.Examples.d_op_singl", @@ -21,7 +21,7 @@ 1, [ "@query" ], 0, - "2b00b3f408d22527b68bed6ebc22e795" + "e1f2709e36f9d231451edae9fa10c53e" ], [ "Benton2004.DDCC.Examples.fig3_d1", @@ -30,6 +30,7 @@ 1, [ "@MaxIFuel_assumption", "@query", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Benton2004.DDCC.ns_singl", @@ -42,8 +43,11 @@ "lemma_Benton2004.DDCC.d_assign", "lemma_Benton2004.DDCC.d_kbt", "lemma_Benton2004.DDCC.d_n", "lemma_Benton2004.DDCC.d_v", "lemma_Benton2004.DDCC.eval_equiv_const", - "partial_app_typing_1fcd32033ac5bfb51efb86051d9afe13", + "primitive_Prims.op_Equality", + "primitive_tot_fun_Prims.op_Equality.1", + "primitive_tot_fun_Prims.op_Equality.2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "token_correspondence_Prims.op_Equality", "typing_Benton2004.DDCC.ns_singl", "typing_Benton2004.DDCC.st_intersect", "typing_Benton2004.DDCC.st_var", "typing_Benton2004.assign", @@ -51,7 +55,7 @@ "typing_Benton2004.evar", "typing_Benton2004.skip" ], 0, - "10a614c8f40912239a558409bfe69b2d" + "f095a61fae07bc08d942602548f97e99" ], [ "Benton2004.DDCC.Examples.fig3_d2", @@ -60,22 +64,27 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", + "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.ns_singl", - "equation_Benton2004.DDCC.ns_t", "equation_Benton2004.DDCC.per", - "equation_Benton2004.DDCC.st_cons", + "equation_Benton2004.DDCC.ns_singl", "equation_Benton2004.DDCC.ns_t", + "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", "equation_Benton2004.DDCC.st_fresh_in", "equation_Benton2004.DDCC.st_intersect", "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", - "equation_Benton2004.assign", "equation_Benton2004.eop", - "equation_Benton2004.eval_equiv", + "equation_Benton2004.assign", "equation_Benton2004.const", + "equation_Benton2004.eop", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.included", "equation_Benton2004.reify_exp", - "equation_Benton2004.var", "equation_Prims.eqtype", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", + "equation_Benton2004.var", "equation_FStar.DM4F.IntStoreFixed.read", + "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_40bbc20d4ec5bd59fb3558a26c0b5898", + "interpretation_Tm_abs_65ebdb73615159850359c6ce6b2be936", + "interpretation_Tm_abs_add11b2cfe5041f2aeacbd5ad2faf9f7", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", "lemma_Benton2004.DDCC.d_assign", "lemma_Benton2004.DDCC.d_cf", "lemma_Benton2004.DDCC.d_csub", "lemma_Benton2004.DDCC.d_n", "lemma_Benton2004.DDCC.d_v", "lemma_Benton2004.DDCC.exec_equiv_sym", @@ -83,20 +92,27 @@ "lemma_Benton2004.DDCC.holds_ns_t", "lemma_Benton2004.DDCC.holds_st_intersect", "lemma_Benton2004.DDCC.holds_st_var", - "lemma_Benton2004.holds_intersect", "primitive_Prims.op_Addition", + "lemma_Benton2004.holds_intersect", + "lemma_Benton2004.is_per_holds_sym", "primitive_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition.1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "token_correspondence_Prims.op_Addition", "typing_Benton2004.DDCC.ns_singl", "typing_Benton2004.DDCC.ns_t", "typing_Benton2004.DDCC.st_intersect", "typing_Benton2004.DDCC.st_var", "typing_Benton2004.assign", "typing_Benton2004.const", "typing_Benton2004.eop", - "typing_Benton2004.evar", "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5" + "typing_Benton2004.evar", + "typing_FStar.DM4F.Heap.IntStoreFixed.heap", + "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "7682ae0c98427a43a548b8e85cc35f98" + "54aefc4ad5ce0aa12a0263427edd648f" ], [ "Benton2004.DDCC.Examples.fig3_d3", @@ -136,7 +152,7 @@ "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5" ], 0, - "2091f12d54729d0e94039695de336aa4" + "bf272c858ba54757fd5258a11742d89e" ], [ "Benton2004.DDCC.Examples.fig3", @@ -145,11 +161,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.ns_singl", - "equation_Benton2004.DDCC.ns_t", "equation_Benton2004.DDCC.per", - "equation_Benton2004.DDCC.st_cons", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "equation_Benton2004.DDCC.ns_singl", "equation_Benton2004.DDCC.ns_t", + "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", "equation_Benton2004.DDCC.st_fresh_in", "equation_Benton2004.DDCC.st_intersect", "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", @@ -166,13 +182,16 @@ "lemma_Benton2004.DDCC.holds_ns_singl", "lemma_Benton2004.DDCC.holds_st_intersect", "lemma_Benton2004.DDCC.holds_st_var", - "lemma_Benton2004.holds_intersect", - "partial_app_typing_1fcd32033ac5bfb51efb86051d9afe13", - "primitive_Prims.op_Addition", + "lemma_Benton2004.holds_intersect", "primitive_Prims.op_Addition", + "primitive_Prims.op_Equality", "primitive_tot_fun_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition.1", + "primitive_tot_fun_Prims.op_Equality.1", + "primitive_tot_fun_Prims.op_Equality.2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "token_correspondence_Prims.op_Addition", + "token_correspondence_Prims.op_Equality", "typing_Benton2004.DDCC.ns_singl", "typing_Benton2004.DDCC.ns_t", "typing_Benton2004.DDCC.st_intersect", "typing_Benton2004.DDCC.st_var", "typing_Benton2004.assign", @@ -180,11 +199,10 @@ "typing_Benton2004.evar", "typing_Benton2004.ifthenelse", "typing_Benton2004.seq", "typing_Benton2004.skip", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5" + "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "45a69e74f13740529e44122313ed2e7c" + "842c8846b6292688f59df497b259c395" ], [ "Benton2004.DDCC.Examples.fig3_d1", @@ -193,7 +211,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "8e416150b7b8278560efe728c66bbd78" + "13b4f640a7923bf1b935c6e7dd1ea2fd" ], [ "Benton2004.DDCC.Examples.fig3_d2", @@ -203,9 +221,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.ns_singl", - "equation_Benton2004.DDCC.ns_t", "equation_Benton2004.DDCC.per", - "equation_Benton2004.DDCC.st_cons", + "equation_Benton2004.DDCC.ns_singl", "equation_Benton2004.DDCC.ns_t", + "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", "equation_Benton2004.DDCC.st_fresh_in", "equation_Benton2004.DDCC.st_intersect", "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", @@ -213,18 +230,19 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", "lemma_Benton2004.DDCC.holds_ns_singl", + "lemma_Benton2004.DDCC.holds_st_intersect", "lemma_Benton2004.DDCC.holds_st_var", "lemma_Benton2004.holds_intersect", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "typing_Benton2004.DDCC.ns_singl", "typing_Benton2004.DDCC.ns_t", + "typing_Benton2004.DDCC.st_var", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5" + "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "36775cfbfc3ceb6e2b17b773d36eeedf" + "082ffe36c6bfe60760627f1f779d3272" ], [ "Benton2004.DDCC.Examples.fig3_d3", @@ -234,9 +252,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.ns_singl", - "equation_Benton2004.DDCC.ns_t", "equation_Benton2004.DDCC.per", - "equation_Benton2004.DDCC.st_cons", + "equation_Benton2004.DDCC.ns_singl", "equation_Benton2004.DDCC.ns_t", + "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", "equation_Benton2004.DDCC.st_fresh_in", "equation_Benton2004.DDCC.st_intersect", "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", @@ -244,18 +261,19 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", "lemma_Benton2004.DDCC.holds_ns_singl", + "lemma_Benton2004.DDCC.holds_st_intersect", "lemma_Benton2004.DDCC.holds_st_var", "lemma_Benton2004.holds_intersect", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "typing_Benton2004.DDCC.ns_singl", "typing_Benton2004.DDCC.ns_t", + "typing_Benton2004.DDCC.st_var", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5" + "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "cb7a90c0e1f63e52f89707035c1a297f" + "508e9f4adc096c2b9b0481257388cac1" ], [ "Benton2004.DDCC.Examples.fig3", @@ -265,9 +283,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.ns_singl", - "equation_Benton2004.DDCC.ns_t", "equation_Benton2004.DDCC.per", - "equation_Benton2004.DDCC.st_cons", + "equation_Benton2004.DDCC.ns_singl", "equation_Benton2004.DDCC.ns_t", + "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", "equation_Benton2004.DDCC.st_fresh_in", "equation_Benton2004.DDCC.st_intersect", "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", @@ -275,18 +292,19 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", "lemma_Benton2004.DDCC.holds_ns_singl", + "lemma_Benton2004.DDCC.holds_st_intersect", "lemma_Benton2004.DDCC.holds_st_var", "lemma_Benton2004.holds_intersect", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "typing_Benton2004.DDCC.ns_singl", "typing_Benton2004.DDCC.ns_t", + "typing_Benton2004.DDCC.st_var", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5" + "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "8c28230d70eca9587b5bb8cdcd5dd0c2" + "8489515da20093982d5956c2e7d5673e" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.DDCC.fst.hints b/examples/rel/Benton2004.DDCC.fst.hints index aaf30da9e62..73cfc54a4e4 100644 --- a/examples/rel/Benton2004.DDCC.fst.hints +++ b/examples/rel/Benton2004.DDCC.fst.hints @@ -7,12 +7,11 @@ 2, 1, [ - "@query", "equation_Benton2004.is_per", "equation_Prims.l_False", - "equation_Prims.logical", "false_interp", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329" + "@query", "equation_Benton2004.is_per", "false_interp", + "interpretation_Tm_abs_ae022191d12f579e8538d045291407c5" ], 0, - "4b105810a1b8903869d1b3c21578b285" + "d594b19837a239023e73e747751f14b3" ], [ "Benton2004.DDCC.holds_ns_f", @@ -20,13 +19,12 @@ 2, 1, [ - "@query", "equation_Benton2004.DDCC.ns_f", "equation_Prims.l_False", - "equation_Prims.logical", "false_interp", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "@query", "equation_Benton2004.DDCC.ns_f", "false_interp", + "interpretation_Tm_abs_ae022191d12f579e8538d045291407c5", "token_correspondence_Benton2004.DDCC.ns_f" ], 0, - "57a2267fefed31348f1cb00c115a9372" + "ad945dc27694b2f9d7fe7b626634e076" ], [ "Benton2004.DDCC.ns_t", @@ -34,13 +32,12 @@ 2, 1, [ - "@query", "equation_Benton2004.is_per", "equation_Prims.l_True", - "equation_Prims.logical", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "@query", "equation_Benton2004.is_per", + "interpretation_Tm_abs_ff00b8fd22c394615f2004a5a0b8e8e4", "true_interp" ], 0, - "f6366b455fbb8157b5b23042396315a7" + "4b987a935aee7099ec7b85e94cf0749c" ], [ "Benton2004.DDCC.holds_ns_t", @@ -48,13 +45,12 @@ 2, 1, [ - "@query", "equation_Benton2004.DDCC.ns_t", "equation_Prims.l_True", - "equation_Prims.logical", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "@query", "equation_Benton2004.DDCC.ns_t", + "interpretation_Tm_abs_ff00b8fd22c394615f2004a5a0b8e8e4", "token_correspondence_Benton2004.DDCC.ns_t", "true_interp" ], 0, - "f9932d57c1e842390ac7c618e97daaa3" + "cffbef45101c4a2d08f573fda3496404" ], [ "Benton2004.DDCC.ns_singl", @@ -62,12 +58,12 @@ 2, 1, [ - "@query", "equation_Benton2004.is_per", "equation_Prims.logical", - "interpretation_Tm_abs_e3529756e290149e182bcd86ec66d92e", + "@query", "equation_Benton2004.is_per", + "interpretation_Tm_abs_23adbb396a334507fd6a71c45d738f1b", "l_and-interp" ], 0, - "056ff65aa8a05729761b77f740ec991f" + "3aec3b5d37db1de8b8d1a2db4d6c05c0" ], [ "Benton2004.DDCC.holds_ns_singl", @@ -76,12 +72,11 @@ 1, [ "@query", "eq2-interp", "equation_Benton2004.DDCC.ns_singl", - "equation_Prims.logical", - "interpretation_Tm_abs_e3529756e290149e182bcd86ec66d92e", + "interpretation_Tm_abs_23adbb396a334507fd6a71c45d738f1b", "l_and-interp", "token_correspondence_Benton2004.DDCC.ns_singl" ], 0, - "9787362904f4e690b8637154d4fa09b0" + "fd4eb505fd55a134c6d19850a1e7bf1c" ], [ "Benton2004.DDCC.ns_delta", @@ -90,11 +85,10 @@ 1, [ "@query", "eq2-interp", "equation_Benton2004.is_per", - "equation_Prims.logical", - "interpretation_Tm_abs_f0b2e79e0638237573385c8ed82603a7" + "interpretation_Tm_abs_08b4392d55e1ac4be3f5d3b7fe223f99" ], 0, - "749a6930b644c3655576d235e5fd361c" + "9831f07b9ddee8c16940f8a0bc79ffee" ], [ "Benton2004.DDCC.holds_ns_delta", @@ -103,12 +97,11 @@ 1, [ "@query", "eq2-interp", "equation_Benton2004.DDCC.ns_delta", - "equation_Prims.logical", - "interpretation_Tm_abs_f0b2e79e0638237573385c8ed82603a7", + "interpretation_Tm_abs_08b4392d55e1ac4be3f5d3b7fe223f99", "token_correspondence_Benton2004.DDCC.ns_delta" ], 0, - "3de673f7f4933f15c440c3c32bc57a0e" + "a9ee305d34b6b473db8a58e4af247592" ], [ "Benton2004.DDCC.interpolable_ns_f", @@ -117,12 +110,11 @@ 1, [ "@query", "equation_Benton2004.DDCC.ns_f", - "equation_Benton2004.interpolable", "equation_Prims.l_False", - "equation_Prims.logical", "false_interp", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329" + "equation_Benton2004.interpolable", "false_interp", + "interpretation_Tm_abs_ae022191d12f579e8538d045291407c5" ], 0, - "921c55c483a591e8f3d6b57b0b021652" + "7006040c149a08fe14530f8540c631cc" ], [ "Benton2004.DDCC.interpolable_ns_t", @@ -131,13 +123,12 @@ 1, [ "@query", "equation_Benton2004.DDCC.ns_t", - "equation_Benton2004.interpolable", "equation_Prims.l_True", - "equation_Prims.logical", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "equation_Benton2004.interpolable", + "interpretation_Tm_abs_ff00b8fd22c394615f2004a5a0b8e8e4", "true_interp" ], 0, - "35a5ca6e59722bd51d90db9325e4641b" + "7e2202270d0c3a677baa8b9edde0c16c" ], [ "Benton2004.DDCC.interpolable_ns_singl", @@ -146,12 +137,12 @@ 1, [ "@query", "eq2-interp", "equation_Benton2004.DDCC.ns_singl", - "equation_Benton2004.interpolable", "equation_Prims.logical", - "interpretation_Tm_abs_e3529756e290149e182bcd86ec66d92e", + "equation_Benton2004.interpolable", + "interpretation_Tm_abs_23adbb396a334507fd6a71c45d738f1b", "l_and-interp" ], 0, - "79e9219d7c474e41445d32d0018aa480" + "c514c48568a3a85882c8ef44f6c078dd" ], [ "Benton2004.DDCC.interpolable_ns_delta", @@ -160,11 +151,11 @@ 1, [ "@query", "eq2-interp", "equation_Benton2004.DDCC.ns_delta", - "equation_Benton2004.interpolable", "equation_Prims.logical", - "interpretation_Tm_abs_f0b2e79e0638237573385c8ed82603a7" + "equation_Benton2004.interpolable", + "interpretation_Tm_abs_08b4392d55e1ac4be3f5d3b7fe223f99" ], 0, - "99302ecd76db0e0f71136e8b0ccb769f" + "d86c192db42076aebe06e7496be5cfe8" ], [ "Benton2004.DDCC.st_nil", @@ -173,12 +164,12 @@ 1, [ "@query", "equation_Benton2004.interpolable", - "equation_Benton2004.is_per", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "equation_Benton2004.is_per", + "interpretation_Tm_abs_0179ecbfa0db629fb9c86bfd7965834d", "true_interp" ], 0, - "a42d51853c46b67df41272d1091d648f" + "24f25296ccf24c0b2677a0de8d7954ea" ], [ "Benton2004.DDCC.holds_st_nil", @@ -186,12 +177,12 @@ 2, 1, [ - "@query", "equation_Benton2004.DDCC.st_nil", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "@query", "equation_Benton2004.DDCC.st_nil", + "interpretation_Tm_abs_0179ecbfa0db629fb9c86bfd7965834d", "true_interp" ], 0, - "58f912d54c6fb1fa935f91a542b2743f" + "30aa6939824ed544bfcae6f4a44dc02b" ], [ "Benton2004.DDCC.st_var", @@ -200,24 +191,26 @@ 1, [ "@MaxIFuel_assumption", "@query", + "Benton2004.Aux_interpretation_Tm_arrow_a19f9d49348d4e0038f0ded87d87802f", + "Benton2004.DDCC_interpretation_Tm_arrow_67c3708e9fcd5fd6e9793daaa0c96b0e", "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.nstype", "equation_Benton2004.DDCC.per", "equation_Benton2004.interpolable", "equation_Benton2004.is_per", "equation_Benton2004.var", "equation_Prims.eqtype", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "interpretation_Tm_abs_04b4b1a839a48e842d2fa816f86804d5", + "interpretation_Tm_abs_7f4d9b86535dc362f91f3e6952cf3f99", "lemma_Benton2004.is_per_holds_sym", "lemma_Benton2004.per_holds_trans", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5" + "typing_Tm_abs_7f4d9b86535dc362f91f3e6952cf3f99" ], 0, - "aab9d9309508cb14883bf6071865301e" + "39d524873698e34932ef462375d198e9" ], [ "Benton2004.DDCC.holds_st_var", @@ -226,11 +219,11 @@ 1, [ "@query", "equation_Benton2004.DDCC.st_var", - "interpretation_Tm_abs_04b4b1a839a48e842d2fa816f86804d5", + "interpretation_Tm_abs_7f4d9b86535dc362f91f3e6952cf3f99", "token_correspondence_Benton2004.DDCC.st_var" ], 0, - "46c518802be9cbef27a3b0b20da05142" + "74d693ac07364d848142575e3e67f2a8" ], [ "Benton2004.DDCC.st_intersect", @@ -242,17 +235,16 @@ "equation_Benton2004.DDCC.sttype", "equation_Benton2004.interpolable", "equation_Benton2004.intersect", "equation_Benton2004.is_per", "equation_Prims.eqtype", - "equation_Prims.logical", - "interpretation_Tm_abs_720cb5ef0d0931857d8d1bd0faa5dbd1", + "interpretation_Tm_abs_0c3c3776232d8864b92d4e7ab3c428d5", "l_and-interp", "lemma_Benton2004.is_per_holds_sym", "lemma_Benton2004.per_holds_trans", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "typing_FStar.DM4F.Heap.IntStoreFixed.heap" ], 0, - "5c6b4be7989bd4880cde4dd8d8a03daf" + "78aff889ca2ed83768cede1c653d2a26" ], [ "Benton2004.DDCC.holds_st_intersect", @@ -265,12 +257,12 @@ "equation_Benton2004.DDCC.sttype", "equation_Prims.eqtype", "lemma_Benton2004.holds_intersect", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "typing_FStar.DM4F.Heap.IntStoreFixed.heap" ], 0, - "3757606b8f83eb7da438dae2aeca4ba7" + "f65d3e94d86d1aefd9b627fc1012d0c7" ], [ "Benton2004.DDCC.st_fresh_in_nil", @@ -283,7 +275,7 @@ "lemma_Benton2004.DDCC.holds_st_nil" ], 0, - "5d2a484335eab2eab945de98f1270348" + "9c72320886755cf146821b89737dbdb9" ], [ "Benton2004.DDCC.st_cons", @@ -292,7 +284,7 @@ 1, [ "@query" ], 0, - "bf03fad311669a9a2d719524a97f0482" + "4aeff31e407a3f502eaea6904095fe38" ], [ "Benton2004.DDCC.st_fresh_in_var", @@ -311,7 +303,7 @@ "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7d41c790f076df9e223d21ad16eb93bb" + "058f14ba546b529c88926399cacdd068" ], [ "Benton2004.DDCC.st_fresh_in_intersect", @@ -323,7 +315,7 @@ "lemma_Benton2004.DDCC.holds_st_intersect" ], 0, - "7e0665f313784bc5badbe71f241db7f6" + "2a7a2df7165a68cfb58378c2d8340140" ], [ "Benton2004.DDCC.st_fresh_in_cons", @@ -345,7 +337,7 @@ "typing_Benton2004.DDCC.st_var" ], 0, - "79132f3e3c45e020754970ed9f83b484" + "bfb73186870fd775bb28bd1a1ee1d6a2" ], [ "Benton2004.DDCC.subtype_ns_f", @@ -357,7 +349,7 @@ "lemma_Benton2004.DDCC.holds_ns_f" ], 0, - "b036bffead979cf3ee9cddc1e3714cb8" + "851dbc71fdf4df0521b67961f22e8401" ], [ "Benton2004.DDCC.subtype_ns_singl_delta", @@ -370,7 +362,7 @@ "lemma_Benton2004.DDCC.holds_ns_singl" ], 0, - "144319c6ae1ad407ea38bd72879ea643" + "7c912f36972befc9ad7a193a9197513e" ], [ "Benton2004.DDCC.subtype_ns_t", @@ -382,7 +374,7 @@ "lemma_Benton2004.DDCC.holds_ns_t" ], 0, - "726b7da4cb904430aff59a33c6534a2f" + "cb017450c4141da3e10a88f8f076bb36" ], [ "Benton2004.DDCC.subtype_st_nil", @@ -394,7 +386,7 @@ "equation_Benton2004.included", "lemma_Benton2004.DDCC.holds_st_nil" ], 0, - "6b4145d35769af7e0b6d060a679f3c9c" + "e4763f29f241ac50f4ad93a6b53d995a" ], [ "Benton2004.DDCC.subtype_st_f", @@ -417,7 +409,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "4119f127569737b4ab8181cc0e8361e1" + "12a57611ec07a33dba24855e26f88de8" ], [ "Benton2004.DDCC.subtype_st_t", @@ -440,7 +432,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "ba855cb45c90d9e6e15daef8883d1a3d" + "d8fb576212cede732a87c46d32585409" ], [ "Benton2004.DDCC.subtype_st_cons", @@ -460,7 +452,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "77243c959f8e5f5aece97d8de135c000" + "7b5f9eb743a71495d3e19bbd4a4a5408" ], [ "Benton2004.DDCC.eval_equiv_reified_elim", @@ -472,7 +464,7 @@ "equation_Benton2004.eval_equiv_reified" ], 0, - "a652e662715f61e029bf5208291f4692" + "6ea7effbecf897e0f280b94ebb933229" ], [ "Benton2004.DDCC.terminates_equiv_reified_elim", @@ -484,7 +476,7 @@ "equation_Benton2004.terminates_equiv_reified" ], 0, - "862a8e540dbc846d077215b65d65d316" + "92054a58223c9a6a9771c47d6165fe73" ], [ "Benton2004.DDCC.exec_equiv_reified_terminates", @@ -497,7 +489,7 @@ "equation_Benton2004.exec_equiv_reified" ], 0, - "36083e11fa9b3789d7808053cc7dc110" + "bb755e12b51ed090bcf9cea1e244777b" ], [ "Benton2004.DDCC.exec_equiv_reified_elim", @@ -512,7 +504,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "21912708ae1077df4ce6aa9ed6ead9d6" + "b45845bda427418c894315b2e79430c2" ], [ "Benton2004.DDCC.eval_equiv_sym", @@ -522,11 +514,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Benton2004.DDCC.nstype", "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.sttype", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", - "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341" + "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705" ], 0, - "8411416ea90e7d133830d2aa26087553" + "424d00e9f98629031e7d3ef5947badaa" ], [ "Benton2004.DDCC.exec_equiv_sym", @@ -540,11 +532,11 @@ "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.sttype", "equation_Benton2004.exec_equiv", "equation_Benton2004.reify_computation", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", - "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341" + "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705" ], 0, - "4a55b42a882ff14d0429a67837ccd20b" + "93a733e7d22f50dfacf96c631d50ba61" ], [ "Benton2004.DDCC.eval_equiv_trans", @@ -554,11 +546,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Benton2004.DDCC.nstype", "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.sttype", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", - "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341" + "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705" ], 0, - "a30b8750f8cb10737b43fef855c95bff" + "06c373e854d5131975f6cb25e1e5380a" ], [ "Benton2004.DDCC.exec_equiv_reified_trans", @@ -569,11 +561,11 @@ "@MaxIFuel_assumption", "@query", "equation_Benton2004.DDCC.exec_equiv_reified", "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.sttype", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", - "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341" + "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705" ], 0, - "f6a0725395e67eacd0ef4082821cc62b" + "248cfd7918a234c58fbe6daa5f693d11" ], [ "Benton2004.DDCC.exec_equiv_trans", @@ -585,7 +577,7 @@ "equation_Benton2004.reify_computation" ], 0, - "9bfbda30f1d1a97ebf4a201bc1a90fe6" + "40a47f9bd50ba113ae2be29e3e39e6d9" ], [ "Benton2004.DDCC.d_ct", @@ -595,7 +587,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.exec_equiv", + "equation_Benton2004.DDCC.exec_equiv", "equation_Benton2004.DDCC.exec_equiv_reified", "equation_Benton2004.DDCC.ns_f", "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", @@ -611,15 +603,14 @@ "lemma_Benton2004.DDCC.holds_st_var", "lemma_Benton2004.holds_intersect", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", - "typing_Benton2004.DDCC.ns_f", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", + "typing_Benton2004.DDCC.ns_f", "typing_Benton2004.DDCC.st_var", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5" + "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "a43bec3832637a56841a5dea397506df" + "91f7bab6350580d24db17ceeb6c052f9" ], [ "Benton2004.DDCC.d_et1", @@ -628,19 +619,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "equation_Benton2004.DDCC.ns_t", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.reified_exp", "equation_Benton2004.reify_exp", "equation_Prims.eqtype", "lemma_Benton2004.DDCC.holds_ns_t", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", "typing_Benton2004.reify_exp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.fst" ], 0, - "39c0701134f681ce14d718d19dd200f1" + "ecf8ef544d7cc1860caf7c68c0f3e9cf" ], [ "Benton2004.DDCC.d_et2", @@ -650,28 +641,21 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.ns_f", - "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", - "equation_Benton2004.DDCC.st_intersect", - "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", - "equation_Benton2004.eval_equiv", + "equation_Benton2004.DDCC.ns_f", "equation_Benton2004.DDCC.st_cons", + "equation_Benton2004.DDCC.st_var", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.var", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "lemma_Benton2004.DDCC.holds_ns_f", + "lemma_Benton2004.DDCC.holds_st_intersect", "lemma_Benton2004.DDCC.holds_st_var", - "lemma_Benton2004.holds_intersect", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", - "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", - "typing_Benton2004.DDCC.ns_f", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5" + "typing_Benton2004.DDCC.ns_f", "typing_Benton2004.DDCC.st_var", + "typing_FStar.DM4F.Heap.IntStoreFixed.sel" ], 0, - "0063a4b3c651a6891212b121ed3e1423" + "1488b396e4903376fc170f27417ae2f5" ], [ "Benton2004.DDCC.d_csub", @@ -685,7 +669,7 @@ "equation_Benton2004.reify_computation" ], 0, - "9d691ef511ad2709c0cc350697cac307" + "998bae5320a3b4045661f255d36f5675" ], [ "Benton2004.DDCC.d_v", @@ -696,33 +680,25 @@ "@MaxIFuel_assumption", "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", - "equation_Benton2004.DDCC.st_intersect", - "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", - "equation_Benton2004.eval_equiv", + "equation_Benton2004.DDCC.st_var", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.evar", "equation_Benton2004.reify_exp", "equation_FStar.DM4F.Heap.IntStoreFixed.sel", "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", + "equation_FStar.Pervasives.Native.fst", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_0c2cc0911ab3d6a623b1849f79c051b3", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_65ebdb73615159850359c6ce6b2be936", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "lemma_Benton2004.DDCC.holds_st_intersect", "lemma_Benton2004.DDCC.holds_st_var", - "lemma_Benton2004.holds_intersect", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", - "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5", "unit_typing" + "typing_Benton2004.DDCC.st_var" ], 0, - "834380eff15451a2f4c29102497c311b" + "b135e24108553e486b2beb9d92ab70a6" ], [ "Benton2004.DDCC.eval_equiv_const", @@ -730,22 +706,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Benton2004.DDCC.ns_singl", "equation_Benton2004.const", - "equation_Benton2004.eval_equiv", + "@query", "equation_Benton2004.DDCC.ns_singl", + "equation_Benton2004.const", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.reify_exp", "equation_FStar.Pervasives.Native.fst", - "interpretation_Tm_abs_3aa86277dbfa84120c86f55d9f428679", - "interpretation_Tm_abs_f0ff2465114cebc3f8141782403605d7", + "interpretation_Tm_abs_40bbc20d4ec5bd59fb3558a26c0b5898", + "interpretation_Tm_abs_add11b2cfe5041f2aeacbd5ad2faf9f7", "lemma_Benton2004.DDCC.holds_ns_singl", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "unit_typing" + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "504aacbf47cfc154666ff2ec24a234a5" + "91dbaa2ec6c3a842dd2a738026e7e7e3" ], [ "Benton2004.DDCC.d_skip", @@ -759,7 +732,7 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.skip" ], 0, - "5fe36d4c1ef2dd92b07ac15052bf6dff" + "ff41836a30f675c01dd99b33d7795b21" ], [ "Benton2004.DDCC.d_assign", @@ -768,18 +741,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.exec_equiv", + "equation_Benton2004.DDCC.exec_equiv", "equation_Benton2004.DDCC.exec_equiv_reified", "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", "equation_Benton2004.DDCC.st_fresh_in", - "equation_Benton2004.DDCC.st_intersect", "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", "equation_Benton2004.assign", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", @@ -797,16 +769,15 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_27b0cce4ebadaf09a076dfd9df22afe8", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_a60394580a1de13edff4fcbbf1060cab", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_cd4b8074c6e255e941314fae5413b9f0", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", + "interpretation_Tm_abs_f78feaf94612d60cddafba586931d8da", "lemma_Benton2004.DDCC.exec_equiv_sym", "lemma_Benton2004.DDCC.holds_st_intersect", "lemma_Benton2004.DDCC.holds_st_var", @@ -817,24 +788,22 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "typing_Benton2004.DDCC.st_intersect", "typing_Benton2004.DDCC.st_var", "typing_Benton2004.assign", - "typing_Benton2004.intersect", "typing_Benton2004.reify_computation", - "typing_Benton2004.reify_exp", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", + "typing_Benton2004.reify_computation", "typing_Benton2004.reify_exp", + "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5", "unit_typing" + "typing_FStar.Pervasives.Native.snd", "unit_typing" ], 0, - "7563c18d3826b751385e8422858c193c" + "cb45fd3bd478936edf3513a60f414823" ], [ "Benton2004.DDCC.d_seq", @@ -848,7 +817,7 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.seq" ], 0, - "31d346d8d846e331a11c87bed83f64b4" + "117c674379d94564d2d6bcfcc7c43e9c" ], [ "Benton2004.DDCC.d_ifthenelse", @@ -857,9 +826,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Benton2004.DDCC.exec_equiv", "equation_Benton2004.DDCC.exec_equiv_reified", @@ -879,17 +847,16 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_05bdc28d64a525403666deee2b115250", - "interpretation_Tm_abs_5c0db98276b67dfd933e006467ffcdef", + "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", + "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", "lemma_Benton2004.DDCC.holds_ns_delta", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Benton2004.ifthenelse", "typing_Benton2004.reify_computation", "typing_Benton2004.reify_exp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", @@ -897,7 +864,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "ab791b21a0e7abb002946eb52e20339f" + "f78e855db5c51038ac75ae559a6d6db9" ], [ "Benton2004.DDCC.d_whl_terminates", @@ -910,13 +877,13 @@ "@fuel_irrelevance_Benton2004.while_raw.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0ac08b4f060e29fc808ae11b9241f76d_2", - "binder_x_0ac08b4f060e29fc808ae11b9241f76d_3", + "binder_x_372d0036a278ac09888c7df9a2e87e0f_2", + "binder_x_372d0036a278ac09888c7df9a2e87e0f_3", "binder_x_7ab1748f97b7be5091389973104c9c7b_5", "binder_x_7ab1748f97b7be5091389973104c9c7b_6", - "binder_x_a101f9ce6e7b42e1e2592940b5f71f23_0", - "binder_x_a101f9ce6e7b42e1e2592940b5f71f23_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_7", + "binder_x_ac072c231e83001d31e04ab21ab215ef_0", + "binder_x_ac072c231e83001d31e04ab21ab215ef_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_7", "equality_tok_Prims.LexTop@tok", "equation_Benton2004.DDCC.exec_equiv", "equation_Benton2004.DDCC.exec_equiv_reified", @@ -925,9 +892,7 @@ "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", "equation_Benton2004.reify_exp", "equation_Benton2004.reify_raw_computation", @@ -941,9 +906,9 @@ "function_token_typing_Benton2004.reify_computation", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", - "interpretation_Tm_abs_4ad91084c88a72e29424536a3fe587d2", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", + "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", + "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", "lemma_Benton2004.DDCC.holds_ns_delta", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", @@ -952,17 +917,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Benton2004.reify_computation", "token_correspondence_Benton2004.reify_exp", "token_correspondence_Benton2004.while_raw", "typing_Benton2004.while", "well-founded-ordering-on-nat" ], 0, - "c855c028a17be3cfd84250189278c566" + "3b59017e7d5049230d035b900b064485" ], [ "Benton2004.DDCC.d_whl", @@ -975,7 +940,6 @@ "@fuel_irrelevance_Benton2004.while_raw.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equality_tok_Prims.LexTop@tok", "equation_Benton2004.DDCC.eval_equiv_reified", "equation_Benton2004.DDCC.exec_equiv", @@ -996,9 +960,9 @@ "function_token_typing_Benton2004.reify_computation", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", - "interpretation_Tm_abs_4ad91084c88a72e29424536a3fe587d2", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", + "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", + "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", "lemma_Benton2004.DDCC.exec_equiv_sym", "lemma_Benton2004.DDCC.holds_ns_delta", "lemma_Benton2004.is_per_holds_sym", "primitive_Prims.op_Equality", @@ -1009,17 +973,17 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "token_correspondence_Benton2004.while_raw", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "unit_typing", + "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "well-founded-ordering-on-nat" ], 0, - "9788441999f8d5fcfeb63450dca7969d" + "ad413814673dbce14eee56c262fceb28" ], [ "Benton2004.DDCC.d_su1", @@ -1034,7 +998,7 @@ "equation_Benton2004.skip" ], 0, - "79f1db1d269bcced3c10c7a4e0af5954" + "59e6b983de8dadd68e11f73ca37e1bde" ], [ "Benton2004.DDCC.d_su1'", @@ -1049,7 +1013,7 @@ "equation_Benton2004.skip" ], 0, - "2a70dc283a6145771d065ba84baf080f" + "21ac9c75c3f8955a44ff870a82bcaccf" ], [ "Benton2004.DDCC.d_su1''", @@ -1061,7 +1025,7 @@ "lemma_Benton2004.DDCC.d_csub", "typing_Benton2004.skip" ], 0, - "773e307bb3e3bc76b5d8069226d28f21" + "3fd0986a23bf4c1a90c460aae165ae66" ], [ "Benton2004.DDCC.d_su2", @@ -1076,7 +1040,7 @@ "equation_Benton2004.skip" ], 0, - "9708805de438dbe01180639815abe7ee" + "48e7121dfcb33209791da04ddaa519f0" ], [ "Benton2004.DDCC.d_assoc", @@ -1090,7 +1054,7 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.seq" ], 0, - "041a0968db4fe1cd91e36a5672d2a567" + "7934304e16056c9c839d65a7349fb368" ], [ "Benton2004.DDCC.d_cc", @@ -1104,7 +1068,7 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.seq" ], 0, - "cbd0940947a69563ee7cfca6cb0bc4fc" + "2409d086e3d4a90d45a51af57494e33e" ], [ "Benton2004.DDCC.d_lu1", @@ -1119,7 +1083,7 @@ "equation_Benton2004.while" ], 0, - "ec9159073fb0d3aed129d19cb4219cde" + "423adcd07f90ae623bbe819079eef1f6" ], [ "Benton2004.DDCC.d_lu2", @@ -1133,7 +1097,7 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.while" ], 0, - "1b32237f661b38bc77242ace38257c46" + "686f2563c15ea426426ac0cba67d2ec9" ], [ "Benton2004.DDCC.d_sas", @@ -1142,12 +1106,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.exec_equiv", + "equation_Benton2004.DDCC.exec_equiv", "equation_Benton2004.DDCC.exec_equiv_reified", "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", "equation_Benton2004.DDCC.st_fresh_in", @@ -1165,19 +1129,15 @@ "equation_FStar.DM4F.IntStoreFixed.write", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", - "interpretation_Tm_abs_0c2cc0911ab3d6a623b1849f79c051b3", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_279cb70c5588009308bc0ec3e1ed04e4", - "interpretation_Tm_abs_27b0cce4ebadaf09a076dfd9df22afe8", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", - "interpretation_Tm_abs_a60394580a1de13edff4fcbbf1060cab", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "lemma_Benton2004.DDCC.holds_st_intersect", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_65ebdb73615159850359c6ce6b2be936", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_cd4b8074c6e255e941314fae5413b9f0", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", + "interpretation_Tm_abs_f78feaf94612d60cddafba586931d8da", "lemma_Benton2004.DDCC.holds_st_var", "lemma_Benton2004.holds_intersect", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", @@ -1186,21 +1146,20 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "typing_Benton2004.DDCC.st_var", "typing_Benton2004.assign", "typing_Benton2004.evar", "typing_Benton2004.reify_computation", "typing_Benton2004.skip", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5", "unit_typing" + "typing_FStar.Pervasives.Native.snd", "unit_typing" ], 0, - "fe58768cb5b8d5456dd8b4f04271fd73" + "1e74f38377c93eeddde87ff8a3b9537e" ], [ "Benton2004.DDCC.d_das", @@ -1209,8 +1168,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", @@ -1221,16 +1180,13 @@ "equation_Benton2004.DDCC.ns_t", "equation_Benton2004.DDCC.st_cons", "equation_Benton2004.DDCC.st_fresh_in", "equation_Benton2004.DDCC.st_var", "equation_Benton2004.assign", - "equation_Benton2004.computation", "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.mention", "equation_Benton2004.raw_computation", + "equation_Benton2004.mention", "equation_Benton2004.reified_computation", "equation_Benton2004.reified_exp", "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.skip", + "equation_Benton2004.reify_exp", "equation_Benton2004.skip", "equation_Benton2004.terminates_equiv_reified", "equation_Benton2004.terminates_on", "equation_Benton2004.var", "equation_FStar.DM4F.Heap.IntStoreFixed.sel", @@ -1239,19 +1195,15 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.skip", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_279cb70c5588009308bc0ec3e1ed04e4", - "interpretation_Tm_abs_27b0cce4ebadaf09a076dfd9df22afe8", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", - "interpretation_Tm_abs_a60394580a1de13edff4fcbbf1060cab", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_cd4b8074c6e255e941314fae5413b9f0", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", + "interpretation_Tm_abs_f78feaf94612d60cddafba586931d8da", "lemma_Benton2004.DDCC.exec_equiv_sym", "lemma_Benton2004.DDCC.holds_ns_t", "lemma_Benton2004.DDCC.holds_st_intersect", @@ -1261,22 +1213,21 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "typing_Benton2004.DDCC.ns_t", "typing_Benton2004.DDCC.st_intersect", "typing_Benton2004.DDCC.st_var", "typing_Benton2004.assign", "typing_Benton2004.reify_computation", "typing_Benton2004.reify_exp", - "typing_Benton2004.reify_raw_computation", + "typing_Benton2004.skip", + "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.snd", "unit_typing" ], 0, - "13be290681cd422b8eee899f02c1da87" + "573c8890a68d6b56af21f47581d3ed97" ], [ "Benton2004.DDCC.d_bre", @@ -1290,7 +1241,7 @@ "equation_Benton2004.reify_computation" ], 0, - "ceeb28ab87749eba8c9cf484edf6f0fe" + "427663fe4ad1bb6566f829c7707556fc" ], [ "Benton2004.DDCC.d_cf", @@ -1299,27 +1250,32 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Benton2004.DDCC.ns_singl", "equation_Benton2004.const", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", + "equation_Benton2004.DDCC.ns_singl", "equation_Benton2004.DDCC.per", + "equation_Benton2004.DDCC.sttype", "equation_Benton2004.const", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.reified_exp", "equation_Benton2004.reify_exp", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "interpretation_Tm_abs_3aa86277dbfa84120c86f55d9f428679", - "interpretation_Tm_abs_f0ff2465114cebc3f8141782403605d7", + "equation_Benton2004.sttype", "equation_FStar.Pervasives.Native.fst", + "equation_Prims.eqtype", + "interpretation_Tm_abs_40bbc20d4ec5bd59fb3558a26c0b5898", + "interpretation_Tm_abs_add11b2cfe5041f2aeacbd5ad2faf9f7", "lemma_Benton2004.DDCC.holds_ns_singl", + "lemma_Benton2004.is_per_holds_sym", + "lemma_Benton2004.per_holds_trans", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "typing_Benton2004.reify_exp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst", "unit_typing" + "typing_FStar.Pervasives.Native.fst" ], 0, - "6680c515404e5b953daf1d3c593bc092" + "4490f967ee033a853b5c466cb2cb2d6f" ], [ "Benton2004.DDCC.d_kb", @@ -1328,9 +1284,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "equation_Benton2004.DDCC.exec_equiv", "equation_Benton2004.DDCC.exec_equiv_reified", @@ -1350,29 +1305,28 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_05bdc28d64a525403666deee2b115250", - "interpretation_Tm_abs_5c0db98276b67dfd933e006467ffcdef", + "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", + "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", "lemma_Benton2004.DDCC.exec_equiv_sym", "lemma_Benton2004.DDCC.holds_ns_singl", "lemma_Benton2004.is_per_holds_sym", "lemma_Benton2004.per_holds_trans", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "typing_Benton2004.reify_computation", "typing_Benton2004.reify_exp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Pervasives.Native.fst" ], 0, - "6750039a63c1316e9ea8d93447385e97" + "46b346267e00bfe535f6197777e9caab" ], [ "Benton2004.DDCC.d_dwh", @@ -1383,9 +1337,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Benton2004.DDCC.exec_equiv", "equation_Benton2004.DDCC.exec_equiv_reified", @@ -1393,9 +1345,7 @@ "equation_Benton2004.DDCC.sttype", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.reified_computation", "equation_Benton2004.reified_exp", - "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", "equation_Benton2004.reify_exp", "equation_Benton2004.skip", "equation_Benton2004.sttype", @@ -1406,10 +1356,8 @@ "equation_Prims.nat", "equation_with_fuel_Benton2004.while_raw.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_279cb70c5588009308bc0ec3e1ed04e4", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", + "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", "lemma_Benton2004.DDCC.holds_ns_singl", "lemma_Benton2004.is_per_holds_sym", "lemma_Benton2004.per_holds_trans", @@ -1418,20 +1366,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "token_correspondence_Benton2004.while_raw", - "typing_Benton2004.reify_computation", "typing_Benton2004.reify_exp", - "typing_Benton2004.skip", + "typing_Benton2004.reify_exp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "9b5943e2d8daf39be6244db6860834b6" + "93088c2ba06b02e0945f83ab321d47d3" ], [ "Benton2004.DDCC.d_div", @@ -1442,10 +1388,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", "@fuel_irrelevance_Benton2004.while_raw.fuel_instrumented", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_typing", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equality_tok_Prims.LexTop@tok", "equation_Benton2004.DDCC.exec_equiv", "equation_Benton2004.DDCC.exec_equiv_reified", @@ -1455,7 +1400,6 @@ "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_exp", "equation_Benton2004.reify_computation", "equation_Benton2004.reify_exp", @@ -1470,8 +1414,8 @@ "function_token_typing_Benton2004.reify_computation", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", - "interpretation_Tm_abs_4ad91084c88a72e29424536a3fe587d2", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", + "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", "lemma_Benton2004.DDCC.holds_ns_singl", "lemma_Benton2004.is_per_holds_sym", "lemma_Benton2004.per_holds_trans", "primitive_Prims.op_Addition", @@ -1481,20 +1425,20 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "token_correspondence_Benton2004.while_raw", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "0ed19e30b1a18b4588f1d43108dc8d9f" + "045d4f549a181fa7ad431f0032f0a84b" ], [ "Benton2004.DDCC.ns_f", @@ -1502,12 +1446,11 @@ 2, 1, [ - "@query", "equation_Benton2004.is_per", "equation_Prims.l_False", - "equation_Prims.logical", "false_interp", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329" + "@query", "equation_Benton2004.is_per", "false_interp", + "interpretation_Tm_abs_ae022191d12f579e8538d045291407c5" ], 0, - "4d0a8907389dab8d27bc0443fc7f6c99" + "4e84051e117dfdcb0642a54b34710e72" ], [ "Benton2004.DDCC.ns_t", @@ -1515,13 +1458,12 @@ 2, 1, [ - "@query", "equation_Benton2004.is_per", "equation_Prims.l_True", - "equation_Prims.logical", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "@query", "equation_Benton2004.is_per", + "interpretation_Tm_abs_ff00b8fd22c394615f2004a5a0b8e8e4", "true_interp" ], 0, - "cc1617ca24460a10ac48f66108beb71f" + "520747e5139295d0283425163d24dc14" ], [ "Benton2004.DDCC.ns_singl", @@ -1529,12 +1471,12 @@ 2, 1, [ - "@query", "equation_Benton2004.is_per", "equation_Prims.logical", - "interpretation_Tm_abs_e3529756e290149e182bcd86ec66d92e", + "@query", "equation_Benton2004.is_per", + "interpretation_Tm_abs_23adbb396a334507fd6a71c45d738f1b", "l_and-interp" ], 0, - "3575c62c31ab9db8a754fd8b13a02289" + "bb5e43ea8b6d882953986487cfad8bcc" ], [ "Benton2004.DDCC.ns_delta", @@ -1543,11 +1485,10 @@ 1, [ "@query", "eq2-interp", "equation_Benton2004.is_per", - "equation_Prims.logical", - "interpretation_Tm_abs_f0b2e79e0638237573385c8ed82603a7" + "interpretation_Tm_abs_08b4392d55e1ac4be3f5d3b7fe223f99" ], 0, - "f8438861e1e20ba80ac6366351cd87a1" + "2ce9a5c6862efdffb2b73c8bfb048cf5" ], [ "Benton2004.DDCC.st_nil", @@ -1556,12 +1497,12 @@ 1, [ "@query", "equation_Benton2004.interpolable", - "equation_Benton2004.is_per", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "equation_Benton2004.is_per", + "interpretation_Tm_abs_0179ecbfa0db629fb9c86bfd7965834d", "true_interp" ], 0, - "7ef9b563dfaf5c76a4a77b8ea8f9909f" + "acea9e8618cbcdd230ee3ea6eaafe081" ], [ "Benton2004.DDCC.st_var", @@ -1570,24 +1511,26 @@ 1, [ "@MaxIFuel_assumption", "@query", + "Benton2004.Aux_interpretation_Tm_arrow_a19f9d49348d4e0038f0ded87d87802f", + "Benton2004.DDCC_interpretation_Tm_arrow_67c3708e9fcd5fd6e9793daaa0c96b0e", "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Benton2004.Aux.rel", "equation_Benton2004.DDCC.nstype", "equation_Benton2004.DDCC.per", "equation_Benton2004.interpolable", "equation_Benton2004.is_per", "equation_Benton2004.var", "equation_Prims.eqtype", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "interpretation_Tm_abs_04b4b1a839a48e842d2fa816f86804d5", + "interpretation_Tm_abs_7f4d9b86535dc362f91f3e6952cf3f99", "lemma_Benton2004.is_per_holds_sym", "lemma_Benton2004.per_holds_trans", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_Tm_abs_04b4b1a839a48e842d2fa816f86804d5" + "typing_Tm_abs_7f4d9b86535dc362f91f3e6952cf3f99" ], 0, - "f4e1597f8168d3d2afed7ae2b4e24da7" + "92598aca8705951c3d0b10a3d0b3f038" ], [ "Benton2004.DDCC.st_intersect", @@ -1599,17 +1542,16 @@ "equation_Benton2004.DDCC.sttype", "equation_Benton2004.interpolable", "equation_Benton2004.intersect", "equation_Benton2004.is_per", "equation_Prims.eqtype", - "equation_Prims.logical", - "interpretation_Tm_abs_720cb5ef0d0931857d8d1bd0faa5dbd1", + "interpretation_Tm_abs_0c3c3776232d8864b92d4e7ab3c428d5", "l_and-interp", "lemma_Benton2004.is_per_holds_sym", "lemma_Benton2004.per_holds_trans", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6e59f68a0d33b59bc022e273d9bc9e1d", "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "typing_FStar.DM4F.Heap.IntStoreFixed.heap" ], 0, - "b6a4c48b08ddda8fd0b3679eba64fb0c" + "a55fc5eb8c5dfdc9b425060096306a0d" ], [ "Benton2004.DDCC.st_cons", @@ -1618,7 +1560,7 @@ 1, [ "@query" ], 0, - "a3f4df412498772f01d544a37cc58801" + "b0db3a50e2212bd4352ca901bac3cf75" ], [ "Benton2004.DDCC.subtype_st_cons", @@ -1627,7 +1569,7 @@ 1, [ "@query" ], 0, - "99d8230a51cb3acbf2b7860642bdd8c3" + "057a8ee941194d1e3bc228f50a0e67d9" ], [ "Benton2004.DDCC.d_assign", @@ -1636,7 +1578,7 @@ 1, [ "@query" ], 0, - "67b649e03e263a215752ddec3122ae8a" + "10ed0d5ca8e16f32daa9b2d1606bd575" ], [ "Benton2004.DDCC.d_sas", @@ -1645,7 +1587,7 @@ 1, [ "@query" ], 0, - "a5becc485f489c921b80156f0eb00cf9" + "e207e81c7fac39a0e698dbd8ff4c0733" ], [ "Benton2004.DDCC.d_das", @@ -1654,7 +1596,7 @@ 1, [ "@query" ], 0, - "d9e7632d065bb6b15ca670061fbc7493" + "9b26daf46e112031ef6b6aaafca4b031" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.RHL.Derived.fst.hints b/examples/rel/Benton2004.RHL.Derived.fst.hints index bca32fe6261..63e8c831373 100644 --- a/examples/rel/Benton2004.RHL.Derived.fst.hints +++ b/examples/rel/Benton2004.RHL.Derived.fst.hints @@ -13,10 +13,10 @@ "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gsubst", "equation_Benton2004.assign", "lemma_Benton2004.RHL.included_alt", "lemma_Benton2004.RHL.r_sub", "typing_Benton2004.assign", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958" + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "65332860be6b11da917049918b48a5d7" + "7552fc96cbcc96f47c44d64140ca67eb" ], [ "Benton2004.RHL.Derived.r_dassl", @@ -27,13 +27,13 @@ "@query", "equality_tok_Benton2004.RHL.Left@tok", "equation_Benton2004.RHL.exp_to_gexp", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gsubst", - "equation_Benton2004.assign", "equation_Benton2004.skip", - "lemma_Benton2004.RHL.included_alt", "lemma_Benton2004.RHL.r_sub", - "typing_Benton2004.assign", "typing_Benton2004.skip", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958" + "equation_Benton2004.assign", "lemma_Benton2004.RHL.included_alt", + "lemma_Benton2004.RHL.r_sub", "typing_Benton2004.assign", + "typing_Benton2004.skip", + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "51e1d5eb81896acd5194c5d603c73d9e" + "458e5190b874a23d42fa94b00f8fbc77" ], [ "Benton2004.RHL.Derived.flip_flip", @@ -42,11 +42,11 @@ 1, [ "@query", "equation_Benton2004.RHL.flip", - "interpretation_Tm_abs_825e66287e60624a3d8a9405d4639eac", + "interpretation_Tm_abs_7b55f5364627b0d4e2dd3436d31b7812", "token_correspondence_Benton2004.RHL.flip" ], 0, - "5f8dae9b226dddd8f351babedb910368" + "52391eb441b66386d525dfe836695e81" ], [ "Benton2004.RHL.Derived.r_dassr", @@ -64,16 +64,16 @@ "equation_Benton2004.RHL.flip", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gsubst", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_825e66287e60624a3d8a9405d4639eac", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_7b55f5364627b0d4e2dd3436d31b7812", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "lemma_Benton2004.RHL.exec_equiv_flip", "lemma_Benton2004.RHL.included_alt", "typing_Benton2004.RHL.flip", "typing_Benton2004.assign", "typing_Benton2004.skip", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958" + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "d15f5480253618659a7c9f54874bff43" + "3d6759ed85885d3f11938c29ae0a9ad5" ], [ "Benton2004.RHL.Derived.d_su1'_flip", @@ -86,7 +86,7 @@ "typing_Benton2004.skip" ], 0, - "56033024f73b0829cafa9614712618cd" + "cd988696adb64ef2bf8c66d1729a3e94" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.RHL.Examples.fst b/examples/rel/Benton2004.RHL.Examples.fst index 1c637307cee..ff06249a3e7 100644 --- a/examples/rel/Benton2004.RHL.Examples.fst +++ b/examples/rel/Benton2004.RHL.Examples.fst @@ -185,7 +185,7 @@ let d_su1'_flip ]] = d_su1' c c' c'' (flip phi) (flip phi') (flip phi'') -#set-options "--z3rlimit 40" +#set-options "--z3rlimit 100" let sec43 (i n x y: var) (diffs: squash (List.Tot.noRepeats [i; n; x; y] == true)) diff --git a/examples/rel/Benton2004.RHL.Examples.fst.hints b/examples/rel/Benton2004.RHL.Examples.fst.hints index efb91c03fab..517dff09214 100644 --- a/examples/rel/Benton2004.RHL.Examples.fst.hints +++ b/examples/rel/Benton2004.RHL.Examples.fst.hints @@ -1,5 +1,5 @@ [ - "q£¨Ý-\t\u000f‡¹8Ý!\u0001!\u0013³", + "€M\u0001\u0019ÚÃõî)òZ®Ê\u0018‰", [ [ "Benton2004.RHL.Examples.sec42_ex1", @@ -8,7 +8,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", @@ -29,10 +30,10 @@ "function_token_typing_Benton2004.RHL.gvar", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_68ce9a9576183a0413a016e9fa989fa0", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "lemma_Benton2004.RHL.exp_to_gexp_const", "lemma_Benton2004.RHL.exp_to_gexp_eop", "lemma_Benton2004.RHL.exp_to_gexp_evar", @@ -40,25 +41,27 @@ "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Equality", "primitive_tot_fun_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition.1", + "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "token_correspondence_Benton2004.RHL.gop", "token_correspondence_Prims.op_Addition", "token_correspondence_Prims.op_AmpAmp", "token_correspondence_Prims.op_Equality", - "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.geq", - "typing_Benton2004.RHL.gvar", "typing_Benton2004.assign", - "typing_Benton2004.const", "typing_Benton2004.eop", - "typing_Benton2004.evar", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "typing_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gvar", + "typing_Benton2004.assign", "typing_Benton2004.const", + "typing_Benton2004.eop", "typing_Benton2004.evar", + "typing_FStar.DM4F.Heap.IntStoreFixed.upd", + "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "typing_tok_Benton2004.RHL.Left@tok", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "cc1fd2acc5919a39405d710943b26103" + "ebb10c98728d13d2d5977fdadab01e49" ], [ "Benton2004.RHL.Examples.sec42_ex2", @@ -67,7 +70,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", @@ -88,42 +92,38 @@ "function_token_typing_Benton2004.RHL.gsubst", "function_token_typing_Benton2004.RHL.gvar", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_68ce9a9576183a0413a016e9fa989fa0", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "function_token_typing_Prims.int", "int_typing", + "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", + "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", "lemma_Benton2004.RHL.exp_to_gexp_const", "lemma_Benton2004.RHL.exp_to_gexp_eop", "lemma_Benton2004.RHL.exp_to_gexp_evar", - "lemma_Benton2004.RHL.gsubst_geq", "lemma_Benton2004.RHL.gsubst_gop", "lemma_Benton2004.RHL.gsubst_gvar_other", - "lemma_Benton2004.RHL.gsubst_gvar_same", "lemma_Benton2004.RHL.included_alt", "lemma_Benton2004.RHL.r_sub", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "partial_app_typing_cf89826423a621710bf401acaa409063", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", + "primitive_Prims.op_Equality", "primitive_tot_fun_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition.1", + "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Benton2004.RHL.gop", "token_correspondence_Prims.op_Addition", "token_correspondence_Prims.op_AmpAmp", "token_correspondence_Prims.op_Equality", - "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gsubst", - "typing_Benton2004.RHL.gvar", "typing_Benton2004.assign", + "typing_Benton2004.RHL.geq", "typing_Benton2004.assign", "typing_Benton2004.const", "typing_Benton2004.eop", "typing_Benton2004.evar", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "typing_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "typing_tok_Benton2004.RHL.Left@tok", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "c245a68426e9b345a58c96e8a8b33b36" + "d59a9dcdf13df3ad06bbebedc64eb629" ], [ "Benton2004.RHL.Examples.sec42_ex3", @@ -132,32 +132,30 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equality_tok_Benton2004.RHL.Left@tok", "equality_tok_Benton2004.RHL.Right@tok", "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.gvar", "equation_Benton2004.RHL.included", - "equation_Benton2004.RHL.interp", "equation_Benton2004.included", + "equation_Benton2004.RHL.included", "equation_Benton2004.RHL.interp", + "equation_Benton2004.included", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_68ce9a9576183a0413a016e9fa989fa0", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "lemma_Benton2004.RHL.holds_geq", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "token_correspondence_Prims.op_Addition", "token_correspondence_Prims.op_AmpAmp", "token_correspondence_Prims.op_Equality", "typing_Benton2004.RHL.gand", "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gvar", - "typing_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", + "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "typing_tok_Benton2004.RHL.Left@tok", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "f8cd9d7cf7d60ca51f32ac8cdca990a1" + "0b58ac494bf880e98cc04c99f5f3312b" ], [ "Benton2004.RHL.Examples.sec42_ex4", @@ -166,7 +164,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "Prims_pretyping_ae567c2fb75be05905677af440075565", "equality_tok_Benton2004.RHL.Left@tok", "equality_tok_Benton2004.RHL.Right@tok", @@ -177,19 +175,20 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", "lemma_Benton2004.RHL.included_alt", "lemma_Benton2004.RHL.r_sub", - "primitive_Prims.op_Addition", + "primitive_Prims.op_Addition", "primitive_tot_fun_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition.1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Prims.op_Addition", "typing_Benton2004.RHL.gand", "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gvar", "typing_Benton2004.assign", "typing_Benton2004.const", "typing_Benton2004.eop", "typing_Benton2004.evar", - "typing_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", + "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "typing_tok_Benton2004.RHL.Left@tok", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "113b5c6e916d04f8f3bfe2799be7f353" + "7384ebda4db199b76f450d4f3e2ae15e" ], [ "Benton2004.RHL.Examples.sec42_ex5", @@ -198,7 +197,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "Prims_pretyping_ae567c2fb75be05905677af440075565", "equality_tok_Benton2004.RHL.Left@tok", "equality_tok_Benton2004.RHL.Right@tok", @@ -209,18 +208,20 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", "lemma_Benton2004.RHL.r_seq", "primitive_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition.1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Prims.op_Addition", "typing_Benton2004.RHL.gand", "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gvar", "typing_Benton2004.assign", "typing_Benton2004.const", "typing_Benton2004.eop", "typing_Benton2004.evar", - "typing_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", + "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "typing_tok_Benton2004.RHL.Left@tok", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "169e6152b78e30e75180d66e77c41d73" + "3134215072239dffe013f410f3831831" ], [ "Benton2004.RHL.Examples.r_ass", @@ -234,10 +235,10 @@ "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gsubst", "equation_Benton2004.assign", "lemma_Benton2004.RHL.included_alt", "lemma_Benton2004.RHL.r_sub", "typing_Benton2004.assign", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958" + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "ca6b5a961193c264b395f7f805acc9a4" + "20b5b797c6b3fa0b49f98e886a368309" ], [ "Benton2004.RHL.Examples.r_dassl", @@ -248,13 +249,13 @@ "@query", "equality_tok_Benton2004.RHL.Left@tok", "equation_Benton2004.RHL.exp_to_gexp", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gsubst", - "equation_Benton2004.assign", "equation_Benton2004.skip", - "lemma_Benton2004.RHL.included_alt", "lemma_Benton2004.RHL.r_sub", - "typing_Benton2004.assign", "typing_Benton2004.skip", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958" + "equation_Benton2004.assign", "lemma_Benton2004.RHL.included_alt", + "lemma_Benton2004.RHL.r_sub", "typing_Benton2004.assign", + "typing_Benton2004.skip", + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "6b5cd4eb89f28b32df8ddb9a820d9ec8" + "3c0f9d248a0dc8e845eaded2e5c9e567" ], [ "Benton2004.RHL.Examples.flip_flip", @@ -263,11 +264,11 @@ 1, [ "@query", "equation_Benton2004.RHL.flip", - "interpretation_Tm_abs_825e66287e60624a3d8a9405d4639eac", + "interpretation_Tm_abs_7b55f5364627b0d4e2dd3436d31b7812", "token_correspondence_Benton2004.RHL.flip" ], 0, - "2807f813bb1127248beb0cfddb7b7ee1" + "9f87b7500e8fabbd4b92e29bf1f1aaf6" ], [ "Benton2004.RHL.Examples.r_dassr", @@ -285,16 +286,16 @@ "equation_Benton2004.RHL.flip", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gsubst", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_825e66287e60624a3d8a9405d4639eac", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_7b55f5364627b0d4e2dd3436d31b7812", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "lemma_Benton2004.RHL.exec_equiv_flip", "lemma_Benton2004.RHL.included_alt", "typing_Benton2004.RHL.flip", "typing_Benton2004.assign", "typing_Benton2004.skip", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958" + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908" ], 0, - "73a4a23b46942440ffa73a17c669aa97" + "f67b44b74f014cc8e3d4b16debb96f62" ], [ "Benton2004.RHL.Examples.d_su1'_flip", @@ -307,7 +308,7 @@ "typing_Benton2004.skip" ], 0, - "d9fa94a51d687d2eb7b0e5e35d588542" + "71bd1c1e41a933d5d35a4cec2bd1baea" ], [ "Benton2004.RHL.Examples.sec43", @@ -320,8 +321,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "Benton2004.RHL_interpretation_Tm_arrow_6f9bcf2585eda47c05b18ffc8e05abe2", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_3a9f704193a9eea2b2d71fe9223e76a0", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_8ad11f5647fcf8dc0156369f7ebdc0dc", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", @@ -355,13 +358,13 @@ "function_token_typing_Benton2004.RHL.gvar", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_68ce9a9576183a0413a016e9fa989fa0", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", - "interpretation_Tm_abs_c29c3ea3c30668b21df5919b320572b3", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "function_token_typing_Prims.int", "int_typing", + "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", + "interpretation_Tm_abs_5a5b2fc6ab1ec9b20cbdfbb11c4abfa3", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", + "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", "lemma_Benton2004.RHL.exp_to_gexp_const", "lemma_Benton2004.RHL.exp_to_gexp_eop", "lemma_Benton2004.RHL.exp_to_gexp_evar", @@ -369,22 +372,26 @@ "lemma_Benton2004.RHL.gsubst_gop", "lemma_Benton2004.RHL.gsubst_gvar_other", "lemma_Benton2004.RHL.gsubst_gvar_same", - "lemma_Benton2004.RHL.holds_gand", + "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_geq", + "lemma_Benton2004.RHL.holds_interp", "lemma_Benton2004.RHL.included_alt", "lemma_Benton2004.RHL.r_sub", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "partial_app_typing_cf89826423a621710bf401acaa409063", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", + "primitive_Prims.op_Negation", "primitive_tot_fun_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition.1", + "primitive_tot_fun_Prims.op_AmpAmp", + "primitive_tot_fun_Prims.op_Equality.1", + "primitive_tot_fun_Prims.op_LessThan", + "primitive_tot_fun_Prims.op_LessThan.1", + "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", - "token_correspondence_Benton2004.RHL.exp_to_gexp", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "token_correspondence_Benton2004.RHL.gop", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_Prims.op_Addition", @@ -392,23 +399,23 @@ "token_correspondence_Prims.op_Equality", "token_correspondence_Prims.op_LessThan", "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.gand", - "typing_Benton2004.RHL.gconst", "typing_Benton2004.RHL.geq", - "typing_Benton2004.RHL.gsubst", "typing_Benton2004.RHL.gvar", - "typing_Benton2004.assign", "typing_Benton2004.const", - "typing_Benton2004.eop", "typing_Benton2004.evar", - "typing_Benton2004.seq", "typing_Benton2004.var", - "typing_Benton2004.while", + "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gnot", + "typing_Benton2004.RHL.gor", "typing_Benton2004.RHL.gsubst", + "typing_Benton2004.RHL.gvar", "typing_Benton2004.assign", + "typing_Benton2004.const", "typing_Benton2004.eop", + "typing_Benton2004.evar", "typing_Benton2004.seq", + "typing_Benton2004.var", "typing_Benton2004.while", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "typing_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", - "typing_Tm_abs_c29c3ea3c30668b21df5919b320572b3", + "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", + "typing_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", "typing_tok_Benton2004.RHL.Left@tok", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "6a70bffbffbf58ee763ce42b4c9ecdcb" + "6303ecb6639e45bebb5bc3416973e11f" ], [ "Benton2004.RHL.Examples.sec43'", @@ -417,12 +424,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_e81ecb2a5945ca2e2a9229d2ea25b033", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", + "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", "constructor_distinct_Benton2004.RHL.Right", "equality_tok_Benton2004.RHL.Left@tok", @@ -434,51 +439,52 @@ "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gnot", "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gsubst", "equation_Benton2004.RHL.gvar", + "equation_Benton2004.RHL.included", "equation_Benton2004.RHL.interp", "equation_Benton2004.const", "equation_Benton2004.eop", - "equation_Benton2004.evar", "equation_Benton2004.reified_exp", + "equation_Benton2004.evar", "equation_Benton2004.included", "equation_Benton2004.reify_exp", "equation_Benton2004.var", "equation_FStar.DM4F.Heap.IntStoreFixed.sel", "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", + "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", "function_token_typing_Benton2004.RHL.exp_to_gexp", - "function_token_typing_Benton2004.reify_exp", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_0c2cc0911ab3d6a623b1849f79c051b3", - "interpretation_Tm_abs_179dd890f55a2468c0407882ad9ac44d", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_5965452e5497fee86bdfcf5bcda356e9", - "interpretation_Tm_abs_68ce9a9576183a0413a016e9fa989fa0", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", - "interpretation_Tm_abs_c29c3ea3c30668b21df5919b320572b3", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "interpretation_Tm_abs_05240244b80fb15ad0f10a3eca729431", + "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_5a5b2fc6ab1ec9b20cbdfbb11c4abfa3", + "interpretation_Tm_abs_65ebdb73615159850359c6ce6b2be936", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", + "interpretation_Tm_abs_db01b848f41e001cf1941b274374e070", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", "lemma_Benton2004.RHL.exp_to_gexp_const", "lemma_Benton2004.RHL.exp_to_gexp_evar", + "lemma_Benton2004.RHL.holds_interp", "lemma_Benton2004.RHL.included_alt", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", "token_correspondence_Benton2004.RHL.gconst", "token_correspondence_Benton2004.reify_exp", "token_correspondence_Prims.op_AmpAmp", "token_correspondence_Prims.op_GreaterThan", "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.gnot", "typing_Benton2004.evar", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "typing_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", - "typing_tok_Benton2004.RHL.Left@tok", "unit_typing" + "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", + "typing_tok_Benton2004.RHL.Left@tok" ], 0, - "6c1b8be20f4a10e86e33b659217c876c" + "c79fa67bc33059b78ddd399711582196" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.RHL.Examples2.fst.hints b/examples/rel/Benton2004.RHL.Examples2.fst.hints index a2e91d148e8..1ca699f8193 100644 --- a/examples/rel/Benton2004.RHL.Examples2.fst.hints +++ b/examples/rel/Benton2004.RHL.Examples2.fst.hints @@ -11,7 +11,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", @@ -28,8 +29,8 @@ "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gsubst", "equation_Benton2004.RHL.gvar", "equation_Benton2004.RHL.included", - "equation_Benton2004.evar", "equation_Benton2004.included", - "equation_Benton2004.var", + "equation_Benton2004.RHL.interp", "equation_Benton2004.evar", + "equation_Benton2004.included", "equation_Benton2004.var", "equation_FStar.DM4F.Heap.IntStoreFixed.sel", "equation_Prims.eq2", "equation_Prims.eqtype", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", @@ -39,11 +40,11 @@ "function_token_typing_Benton2004.RHL.gvar", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_68ce9a9576183a0413a016e9fa989fa0", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", + "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", "lemma_Benton2004.RHL.exp_to_gexp_eop", "lemma_Benton2004.RHL.exp_to_gexp_evar", "lemma_Benton2004.RHL.holds_gand", @@ -53,13 +54,15 @@ "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "primitive_tot_fun_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition.1", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "token_correspondence_Benton2004.RHL.gop", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_Prims.op_Addition", @@ -71,14 +74,14 @@ "typing_Benton2004.RHL.Examples2.y", "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gvar", "typing_Benton2004.evar", "typing_Benton2004.var", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "typing_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "typing_tok_Benton2004.RHL.Left@tok", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "6525f0704b3fe2af620ae7ede0df27eb" + "7a38399310346efae269cee71335af17" ], [ "Benton2004.RHL.Examples2.proof", @@ -91,8 +94,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "Benton2004.RHL_interpretation_Tm_arrow_6f9bcf2585eda47c05b18ffc8e05abe2", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_3a9f704193a9eea2b2d71fe9223e76a0", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_8ad11f5647fcf8dc0156369f7ebdc0dc", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", @@ -108,6 +113,7 @@ "equation_Benton2004.RHL.Examples2.l", "equation_Benton2004.RHL.Examples2.phi", "equation_Benton2004.RHL.Examples2.r", + "equation_Benton2004.RHL.exp_to_gexp", "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gconst", "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gnot", "equation_Benton2004.RHL.gop", @@ -130,32 +136,40 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_68ce9a9576183a0413a016e9fa989fa0", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", - "interpretation_Tm_abs_c29c3ea3c30668b21df5919b320572b3", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", + "interpretation_Tm_abs_5a5b2fc6ab1ec9b20cbdfbb11c4abfa3", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", + "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", "lemma_Benton2004.RHL.Derived.r_ass", "lemma_Benton2004.RHL.Derived.r_dassl", "lemma_Benton2004.RHL.Derived.r_dassr", "lemma_Benton2004.RHL.exp_to_gexp_const", "lemma_Benton2004.RHL.exp_to_gexp_eop", "lemma_Benton2004.RHL.exp_to_gexp_evar", - "lemma_Benton2004.RHL.gsubst_gop", - "lemma_Benton2004.RHL.gsubst_gvar_other", + "lemma_Benton2004.RHL.gsubst_gand", "lemma_Benton2004.RHL.holds_gand", + "lemma_Benton2004.RHL.holds_interp", "lemma_Benton2004.RHL.included_alt", "lemma_Benton2004.RHL.r_sub", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Negation", "primitive_tot_fun_Prims.op_Addition", + "primitive_tot_fun_Prims.op_Addition.1", + "primitive_tot_fun_Prims.op_AmpAmp", + "primitive_tot_fun_Prims.op_Equality.1", + "primitive_tot_fun_Prims.op_LessThan", + "primitive_tot_fun_Prims.op_LessThan.1", + "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", + "token_correspondence_Benton2004.RHL.gand", "token_correspondence_Benton2004.RHL.gop", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", @@ -171,21 +185,20 @@ "typing_Benton2004.RHL.Examples2.x", "typing_Benton2004.RHL.Examples2.y", "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.gand", - "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gop", + "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gnot", + "typing_Benton2004.RHL.gop", "typing_Benton2004.RHL.gor", "typing_Benton2004.RHL.gsubst", "typing_Benton2004.RHL.gvar", "typing_Benton2004.assign", "typing_Benton2004.const", "typing_Benton2004.evar", "typing_Benton2004.seq", "typing_Benton2004.var", "typing_Benton2004.while", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "typing_Tm_abs_68ce9a9576183a0413a016e9fa989fa0", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", - "typing_Tm_abs_c29c3ea3c30668b21df5919b320572b3", + "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "typing_tok_Benton2004.RHL.Left@tok", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "1952b9f8504a88c94c179809f8be6e41" + "af67b6886b9ee75d5c08e37b05d40063" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.RHL.fst.hints b/examples/rel/Benton2004.RHL.fst.hints index db7e1c37026..5406afac5f5 100644 --- a/examples/rel/Benton2004.RHL.fst.hints +++ b/examples/rel/Benton2004.RHL.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Benton2004.RHL.pos" ], 0, - "ee7fb202442eee90a69400b3e756ff2b" + "18bfdfdad30df51bafa2606a9c4816a1" ], [ "Benton2004.RHL.gsubst", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_Benton2004.RHL.pos" ], 0, - "a71e2e98c8e064673fa4847ceefcb63f" + "0f194175a8edba0015a9fb4fd1fe6f87" ], [ "Benton2004.RHL.gsubst_gconst", @@ -38,13 +38,13 @@ "@MaxIFuel_assumption", "@query", "equation_Benton2004.RHL.gconst", "equation_Benton2004.RHL.gsubst", "fuel_guarded_inversion_Benton2004.RHL.pos", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", + "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", "token_correspondence_Benton2004.RHL.gconst", "token_correspondence_Benton2004.RHL.gsubst" ], 0, - "f79e95fece0b1a8acc2829730d612f09" + "42fa3807e7a3dd3e72281480bba28fe6" ], [ "Benton2004.RHL.gsubst_gvar_same", @@ -53,7 +53,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_Benton2004.RHL.Left", "constructor_distinct_Benton2004.RHL.Right", @@ -63,13 +63,13 @@ "fuel_guarded_inversion_Benton2004.RHL.pos", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_68ce9a9576183a0413a016e9fa989fa0", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "token_correspondence_Benton2004.RHL.gsubst" ], 0, - "bccc9e3255b33d9ebaea1af69fd6b321" + "469d15ec496d52a62a4562969e7a1931" ], [ "Benton2004.RHL.gsubst_gvar_other", @@ -78,7 +78,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Benton2004.RHL.pos__uu___haseq", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gsubst", @@ -87,15 +87,15 @@ "fuel_guarded_inversion_Benton2004.RHL.pos", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_68ce9a9576183a0413a016e9fa989fa0", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "token_correspondence_Benton2004.RHL.gsubst", "token_correspondence_Benton2004.RHL.gvar" ], 0, - "09c4293aa3e6d99cd0c0e29c71771ffc" + "e7b172fd35f2bf0657ab82a13f407698" ], [ "Benton2004.RHL.gsubst_gop", @@ -106,13 +106,13 @@ "@MaxIFuel_assumption", "@query", "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gsubst", "fuel_guarded_inversion_Benton2004.RHL.pos", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "token_correspondence_Benton2004.RHL.gop", "token_correspondence_Benton2004.RHL.gsubst" ], 0, - "c94faff91821e43c9ae0806d94ca7a7f" + "21d817cea324e923af3cf37ae3c76387" ], [ "Benton2004.RHL.holds_interp", @@ -121,11 +121,11 @@ 1, [ "@query", "eq2-interp", "equation_Benton2004.RHL.interp", - "interpretation_Tm_abs_9ae5cba10e96601af2fc7e1ec8bd27bf", + "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", "token_correspondence_Benton2004.RHL.interp" ], 0, - "318ca1815fd6ddbf221ca6ce3055200f" + "fcb1258bed059ad131c7005190e7524a" ], [ "Benton2004.RHL.exec_equiv_elim", @@ -134,7 +134,7 @@ 1, [ "@query", "equation_Benton2004.RHL.exec_equiv" ], 0, - "5ac828851e10d89b09a5557ccad6be50" + "4b8897abd9963de998b3ee952a951c49" ], [ "Benton2004.RHL.r_skip", @@ -146,7 +146,7 @@ "equation_Benton2004.skip" ], 0, - "de37246c41370595b53c9730e9f4c183" + "cb1fbca0d2a7b927e5bacd1ea6cd337f" ], [ "Benton2004.RHL.exp_to_gexp", @@ -160,7 +160,7 @@ "fuel_guarded_inversion_Benton2004.RHL.pos" ], 0, - "2bac1b018f9ff6f9c83dd476c4643dd4" + "7aba7019d932c2a1027000ba40628f43" ], [ "Benton2004.RHL.exp_to_gexp_const", @@ -168,24 +168,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Benton2004.RHL.exp_to_gexp", + "@query", "equation_Benton2004.RHL.exp_to_gexp", "equation_Benton2004.RHL.gconst", "equation_Benton2004.const", "equation_Benton2004.reify_exp", "equation_FStar.Pervasives.Native.fst", - "interpretation_Tm_abs_3aa86277dbfa84120c86f55d9f428679", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", - "interpretation_Tm_abs_f0ff2465114cebc3f8141782403605d7", + "interpretation_Tm_abs_40bbc20d4ec5bd59fb3558a26c0b5898", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_add11b2cfe5041f2aeacbd5ad2faf9f7", + "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "token_correspondence_Benton2004.RHL.exp_to_gexp", "token_correspondence_Benton2004.RHL.gconst", - "token_correspondence_Benton2004.reify_exp", "unit_typing" + "token_correspondence_Benton2004.reify_exp" ], 0, - "1a1e12dd7c0fbfe9df5ebd89cb9f173a" + "e8c124620735873178395083ae22416e" ], [ "Benton2004.RHL.exp_to_gexp_evar", @@ -196,7 +194,6 @@ "@MaxIFuel_assumption", "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Benton2004.RHL.exp_to_gexp", "equation_Benton2004.RHL.gvar", "equation_Benton2004.evar", "equation_Benton2004.reify_exp", @@ -204,19 +201,19 @@ "equation_FStar.DM4F.IntStoreFixed.read", "equation_FStar.Pervasives.Native.fst", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_0c2cc0911ab3d6a623b1849f79c051b3", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_68ce9a9576183a0413a016e9fa989fa0", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_65ebdb73615159850359c6ce6b2be936", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "token_correspondence_Benton2004.RHL.exp_to_gexp", "token_correspondence_Benton2004.RHL.gvar", - "token_correspondence_Benton2004.reify_exp", "unit_typing" + "token_correspondence_Benton2004.reify_exp" ], 0, - "a4e38a276f14604f0ef139737222ee2c" + "5a6db90ebcc21e81f174f8c9ab0d929f" ], [ "Benton2004.RHL.exp_to_gexp_eop", @@ -225,9 +222,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_e81ecb2a5945ca2e2a9229d2ea25b033", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "Benton2004_interpretation_Tm_ghost_arrow_debbd5f6f0bc60f40a8152c3da3c9c9b", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Benton2004.RHL.exp_to_gexp", "equation_Benton2004.RHL.gop", "equation_Benton2004.eop", "equation_Benton2004.reified_exp", @@ -237,22 +233,21 @@ "fuel_guarded_inversion_Benton2004.RHL.pos", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_exp", - "interpretation_Tm_abs_179dd890f55a2468c0407882ad9ac44d", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_5965452e5497fee86bdfcf5bcda356e9", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", + "interpretation_Tm_abs_05240244b80fb15ad0f10a3eca729431", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_db01b848f41e001cf1941b274374e070", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "token_correspondence_Benton2004.RHL.exp_to_gexp", "token_correspondence_Benton2004.RHL.gop", - "token_correspondence_Benton2004.reify_exp", "typing_Benton2004.eop", - "unit_typing" + "token_correspondence_Benton2004.reify_exp", "typing_Benton2004.eop" ], 0, - "8c948534a3dd2b19000d43b59ebc440f" + "8d8bde63be1ed0c3cdce2a494a562a2e" ], [ "Benton2004.RHL.holds_gand", @@ -261,16 +256,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", "bool_inversion", "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gop", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "token_correspondence_Prims.op_AmpAmp", "typing_Benton2004.RHL.gand" ], 0, - "e5c9466f4528467aeee7b8b032242c9f" + "ce20f03ff6a64e5cf791991383966345" ], [ "Benton2004.RHL.gsubst_gand", @@ -279,21 +274,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gsubst", "equation_Prims.eqtype", "fuel_guarded_inversion_Benton2004.RHL.pos", "function_token_typing_Prims.bool", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Benton2004.RHL.gand", "token_correspondence_Benton2004.RHL.gsubst", "typing_Benton2004.RHL.gsubst" ], 0, - "43b1e562baed9ae0e4cb8cc07385da04" + "5806d21337249a48819c5a8f062ef6d5" ], [ "Benton2004.RHL.holds_gor", @@ -302,16 +297,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", "bool_inversion", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gor", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "token_correspondence_Prims.op_BarBar", "typing_Benton2004.RHL.gor" ], 0, - "a974b3313220ebeb4b4cc9d49db6ea45" + "21d4f8248f897df769ba718df7d17c51" ], [ "Benton2004.RHL.gsubst_gor", @@ -320,21 +315,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gor", "equation_Benton2004.RHL.gsubst", "equation_Prims.eqtype", "fuel_guarded_inversion_Benton2004.RHL.pos", "function_token_typing_Prims.bool", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Benton2004.RHL.gor", "token_correspondence_Benton2004.RHL.gsubst", "typing_Benton2004.RHL.gsubst" ], 0, - "e860d432460f84fd91a49668d276533d" + "ef0caf8a298d09145ee1d7afdbd4b418" ], [ "Benton2004.RHL.holds_gnot", @@ -343,15 +338,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", "bool_inversion", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gnot", - "interpretation_Tm_abs_c29c3ea3c30668b21df5919b320572b3", + "interpretation_Tm_abs_5a5b2fc6ab1ec9b20cbdfbb11c4abfa3", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "typing_Benton2004.RHL.gnot" ], 0, - "0e9d9e85b136acc3a798c1156ee71994" + "1cd0eae00047eceb3e4932b7f9a7ee68" ], [ "Benton2004.RHL.holds_geq", @@ -361,13 +356,13 @@ [ "@query", "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gop", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "token_correspondence_Prims.op_Equality", "typing_Benton2004.RHL.geq" ], 0, - "bdfdc388831fe2fc16602dde14971037" + "a6231d075a49e932e691b33708212cd9" ], [ "Benton2004.RHL.gsubst_geq", @@ -376,20 +371,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gsubst", "equation_Prims.eqtype", "fuel_guarded_inversion_Benton2004.RHL.pos", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Benton2004.RHL.geq", "token_correspondence_Benton2004.RHL.gsubst", "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gsubst" ], 0, - "9438cca9512fd4916a48ad3cd0890a7f" + "4aff146d16c800e566bd77445e957ee5" ], [ "Benton2004.RHL.holds_exp_to_gexp_left", @@ -403,14 +398,14 @@ "equality_tok_Benton2004.RHL.Left@tok", "equation_Benton2004.RHL.exp_to_gexp", "equation_Prims.eqtype", "function_token_typing_Prims.bool", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", "lemma_Benton2004.RHL.holds_interp", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_Benton2004.RHL.exp_to_gexp", "typing_tok_Benton2004.RHL.Left@tok" ], 0, - "309a8a208a89e6744a54abe61697ad7f" + "1ba75d660f72bf0e0134d92ee89ce483" ], [ "Benton2004.RHL.holds_exp_to_gexp_right", @@ -424,14 +419,14 @@ "equality_tok_Benton2004.RHL.Right@tok", "equation_Benton2004.RHL.exp_to_gexp", "equation_Prims.eqtype", "function_token_typing_Prims.bool", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", "lemma_Benton2004.RHL.holds_interp", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_Benton2004.RHL.exp_to_gexp", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "d7d08b5a269deb9808446b1af3dd6fae" + "8485ec0a9d7a0608abb5b77ca9a92ee7" ], [ "Benton2004.RHL.holds_r_if_precond_true", @@ -440,8 +435,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_arrow_6f9bcf2585eda47c05b18ffc8e05abe2", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_8ad11f5647fcf8dc0156369f7ebdc0dc", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", "constructor_distinct_Benton2004.RHL.Right", @@ -453,8 +448,8 @@ "equation_Benton2004.RHL.r_if_precond_true", "equation_Prims.eqtype", "function_token_typing_Benton2004.RHL.gand", "function_token_typing_Prims.bool", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", @@ -466,7 +461,7 @@ "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "116af381b9298a3ebbca2f207b881819" + "eea4a0af2e756dab14289b28b9a87d80" ], [ "Benton2004.RHL.holds_r_if_precond_false", @@ -475,8 +470,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_arrow_6f9bcf2585eda47c05b18ffc8e05abe2", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_8ad11f5647fcf8dc0156369f7ebdc0dc", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", "constructor_distinct_Benton2004.RHL.Right", @@ -489,9 +484,9 @@ "equation_Benton2004.RHL.r_if_precond_false", "equation_Prims.eqtype", "function_token_typing_Benton2004.RHL.gor", "function_token_typing_Prims.bool", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_c29c3ea3c30668b21df5919b320572b3", + "interpretation_Tm_abs_5a5b2fc6ab1ec9b20cbdfbb11c4abfa3", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_gnot", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", @@ -499,14 +494,13 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Prims.op_AmpAmp", "token_correspondence_Prims.op_BarBar", - "typing_Benton2004.RHL.exp_to_gexp", + "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.gnot", "typing_Benton2004.RHL.r_if_precond_false", - "typing_Tm_abs_c29c3ea3c30668b21df5919b320572b3", "typing_tok_Benton2004.RHL.Left@tok", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "93818644a1905094bd74c49c07da344c" + "af77a2f692cb561dccf6cf22bafb5f23" ], [ "Benton2004.RHL.holds_r_if_precond", @@ -515,6 +509,7 @@ 1, [ "@MaxIFuel_assumption", "@query", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_ecb26f344ca6ba8768e067992c9abfe7", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", "constructor_distinct_Benton2004.RHL.Right", @@ -524,22 +519,23 @@ "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.r_if_precond", "equation_Prims.eqtype", + "function_token_typing_Benton2004.RHL.geq", "function_token_typing_Prims.bool", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Prims.op_AmpAmp", "token_correspondence_Prims.op_Equality", - "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.geq", + "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.r_if_precond", "typing_tok_Benton2004.RHL.Left@tok", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "69a3ae85a4e59ec71ee77707342c06a0" + "a20ff15a3ddced92ad7f4932d23379c4" ], [ "Benton2004.RHL.r_if", @@ -548,14 +544,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Benton2004_interpretation_Tm_arrow_e81ecb2a5945ca2e2a9229d2ea25b033", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_debbd5f6f0bc60f40a8152c3da3c9c9b", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", "constructor_distinct_Benton2004.RHL.Right", - "data_elim_FStar.Pervasives.Native.Mktuple2", "equality_tok_Benton2004.RHL.Left@tok", "equality_tok_Benton2004.RHL.Right@tok", "equation_Benton2004.RHL.exec_equiv", @@ -580,19 +574,18 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_exp", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_05bdc28d64a525403666deee2b115250", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_5c0db98276b67dfd933e006467ffcdef", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", + "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Benton2004.reify_exp", "token_correspondence_Prims.op_AmpAmp", "token_correspondence_Prims.op_Equality", @@ -601,7 +594,7 @@ "typing_Benton2004.ifthenelse", "typing_Benton2004.reify_computation" ], 0, - "250d88c0baeb49b482446a6261d6fe07" + "f932e4c09b53b8ec2c6e4295e7efc514" ], [ "Benton2004.RHL.r_seq", @@ -614,7 +607,7 @@ "lemma_Benton2004.d_seq", "typing_Benton2004.RHL.interp" ], 0, - "125dcdbe3f6e081aa28fe85842e2b8c2" + "8e5a252ec56f8e05533cfb264cc5c618" ], [ "Benton2004.RHL.r_ass", @@ -623,9 +616,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Benton2004_interpretation_Tm_arrow_e81ecb2a5945ca2e2a9229d2ea25b033", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_debbd5f6f0bc60f40a8152c3da3c9c9b", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", @@ -651,34 +644,34 @@ "equation_FStar.DM4F.IntStoreFixed.write", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Benton2004.reify_exp", + "function_token_typing_Benton2004.reify_exp", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_27b0cce4ebadaf09a076dfd9df22afe8", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_a60394580a1de13edff4fcbbf1060cab", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_cd4b8074c6e255e941314fae5413b9f0", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", + "interpretation_Tm_abs_f78feaf94612d60cddafba586931d8da", "lemma_Benton2004.RHL.holds_interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", "token_correspondence_Benton2004.reify_exp", "typing_Benton2004.assign", "typing_Benton2004.reify_computation", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.snd", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", "unit_typing" + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "unit_typing" ], 0, - "fafc84c7bdf4579a2e7deef6a24ec068" + "6ae5dd30c332d639f06b0807a2801e7e" ], [ "Benton2004.RHL.included_alt", @@ -690,7 +683,7 @@ "equation_Benton2004.included", "lemma_Benton2004.RHL.holds_interp" ], 0, - "cdd4b7ee9564c7775fa6ec190c737b77" + "2b9154e9471e36602a96ba49ad609249" ], [ "Benton2004.RHL.r_sub", @@ -702,7 +695,7 @@ "equation_Benton2004.RHL.included", "equation_Benton2004.RHL.interp" ], 0, - "5326494fe3027c8cfe93150662b5e0d0" + "f34a044c00f6ec2f8926df08f7f42057" ], [ "Benton2004.RHL.r_while_terminates'", @@ -713,18 +706,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", "@fuel_irrelevance_Benton2004.while_raw.fuel_instrumented", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_e81ecb2a5945ca2e2a9229d2ea25b033", + "Benton2004_interpretation_Tm_ghost_arrow_debbd5f6f0bc60f40a8152c3da3c9c9b", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0ac08b4f060e29fc808ae11b9241f76d_2", - "binder_x_0ac08b4f060e29fc808ae11b9241f76d_3", + "binder_x_372d0036a278ac09888c7df9a2e87e0f_2", + "binder_x_372d0036a278ac09888c7df9a2e87e0f_3", "binder_x_7ab1748f97b7be5091389973104c9c7b_7", "binder_x_7ab1748f97b7be5091389973104c9c7b_8", - "binder_x_a101f9ce6e7b42e1e2592940b5f71f23_0", - "binder_x_a101f9ce6e7b42e1e2592940b5f71f23_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_9", - "binder_x_f91cb9ef2e7afbc1eefe829723440c55_4", "bool_inversion", + "binder_x_ac072c231e83001d31e04ab21ab215ef_0", + "binder_x_ac072c231e83001d31e04ab21ab215ef_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_9", + "binder_x_fbacef190c4295388da41f5a709ceecd_4", "bool_inversion", "constructor_distinct_Benton2004.RHL.Left", "constructor_distinct_Benton2004.RHL.Right", "equality_tok_Benton2004.RHL.Left@tok", @@ -738,10 +731,8 @@ "equation_Benton2004.computation", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.fuel_monotonic", "equation_Benton2004.included", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_computation", "equation_Benton2004.reified_exp", - "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", "equation_Benton2004.reify_exp", "equation_Benton2004.reify_raw_computation", @@ -756,11 +747,11 @@ "function_token_typing_Benton2004.reify_exp", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_4ad91084c88a72e29424536a3fe587d2", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", + "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", + "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_interp", "lemma_Benton2004.RHL.included_alt", "primitive_Prims.op_Addition", @@ -771,11 +762,11 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Benton2004.reify_computation", "token_correspondence_Benton2004.reify_exp", "token_correspondence_Benton2004.while_raw", @@ -783,11 +774,11 @@ "token_correspondence_Prims.op_Equality", "typing_Benton2004.RHL.gand", "typing_Benton2004.RHL.geq", "typing_Benton2004.while", - "typing_Tm_abs_78dc658e59036ce24028200e7c14ebbb", + "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", "well-founded-ordering-on-nat" ], 0, - "6e8e24e83f0481cab8c9b6acfb813a1a" + "5caa48a4dd4beab54169112ac42ba978" ], [ "Benton2004.RHL.holds_interp_flip", @@ -796,11 +787,11 @@ 1, [ "@query", "equation_Benton2004.RHL.flip", - "interpretation_Tm_abs_825e66287e60624a3d8a9405d4639eac", + "interpretation_Tm_abs_7b55f5364627b0d4e2dd3436d31b7812", "lemma_Benton2004.RHL.holds_interp", "typing_Benton2004.RHL.flip" ], 0, - "5528a7861d95f985e56552ffed402a6c" + "3d14d99f3b33c4f77eb68858bc8c00eb" ], [ "Benton2004.RHL.exec_equiv_flip", @@ -809,10 +800,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "equation_Benton2004.Aux.rel", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.flip", "equation_Benton2004.RHL.interp", - "equation_Benton2004.exec_equiv", + "Benton2004_interpretation_Tm_ghost_arrow_f8f7e967f3d529da543199be80a3eb28", + "equation_Benton2004.RHL.exec_equiv", "equation_Benton2004.RHL.flip", + "equation_Benton2004.RHL.interp", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.flip", "equation_Benton2004.included", "equation_Benton2004.reified_computation", @@ -821,18 +811,16 @@ "equation_Benton2004.sttype", "equation_Benton2004.terminates_equiv_reified", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", "function_token_typing_Prims.bool", "lemma_Benton2004.d_csub", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_Benton2004.RHL.flip", "typing_Benton2004.RHL.interp", - "typing_Benton2004.reify_computation", - "typing_FStar.Pervasives.Native.snd", - "typing_Tm_abs_dd81b4b305007bc0612814972b98aed1" + "typing_Benton2004.flip", "typing_Benton2004.reify_computation", + "typing_FStar.DM4F.Heap.IntStoreFixed.heap", + "typing_FStar.Pervasives.Native.snd" ], 0, - "beabebe60ee50c05d0874c84b5142484" + "d00189d70f81da3739264f904efb0d48" ], [ "Benton2004.RHL.r_while_terminates", @@ -841,9 +829,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_arrow_6f9bcf2585eda47c05b18ffc8e05abe2", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_8ad11f5647fcf8dc0156369f7ebdc0dc", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", "constructor_distinct_Benton2004.RHL.Right", @@ -858,32 +846,31 @@ "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", "equation_Benton2004.terminates_on", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.RHL.gand", "function_token_typing_Benton2004.reify_computation", "function_token_typing_Prims.bool", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_825e66287e60624a3d8a9405d4639eac", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_7b55f5364627b0d4e2dd3436d31b7812", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "lemma_Benton2004.RHL.exec_equiv_flip", "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_interp", "lemma_Benton2004.RHL.included_alt", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Prims.op_AmpAmp", "token_correspondence_Prims.op_Equality", "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.flip", "typing_Benton2004.RHL.gand", "typing_Benton2004.RHL.geq", "typing_Benton2004.reify_computation", "typing_Benton2004.while", - "typing_Tm_abs_78dc658e59036ce24028200e7c14ebbb", + "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", "typing_tok_Benton2004.RHL.Left@tok", "typing_tok_Benton2004.RHL.Right@tok" ], 0, - "db5c37774b2bc0483c832cb2ad708c66" + "ebed3ce330ecfe1f66643939eb24e953" ], [ "Benton2004.RHL.r_while_correct", @@ -894,20 +881,22 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", "@fuel_irrelevance_Benton2004.while_raw.fuel_instrumented", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_e81ecb2a5945ca2e2a9229d2ea25b033", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_debbd5f6f0bc60f40a8152c3da3c9c9b", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0ac08b4f060e29fc808ae11b9241f76d_2", - "binder_x_0ac08b4f060e29fc808ae11b9241f76d_3", + "binder_x_372d0036a278ac09888c7df9a2e87e0f_2", + "binder_x_372d0036a278ac09888c7df9a2e87e0f_3", "binder_x_7ab1748f97b7be5091389973104c9c7b_5", "binder_x_7ab1748f97b7be5091389973104c9c7b_6", - "binder_x_a101f9ce6e7b42e1e2592940b5f71f23_0", - "binder_x_a101f9ce6e7b42e1e2592940b5f71f23_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_7", - "binder_x_f91cb9ef2e7afbc1eefe829723440c55_4", "bool_inversion", + "binder_x_ac072c231e83001d31e04ab21ab215ef_0", + "binder_x_ac072c231e83001d31e04ab21ab215ef_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_7", + "binder_x_fbacef190c4295388da41f5a709ceecd_4", "bool_inversion", "constructor_distinct_Benton2004.RHL.Left", "constructor_distinct_Benton2004.RHL.Right", + "data_elim_FStar.Pervasives.Native.Mktuple2", "equality_tok_Benton2004.RHL.Left@tok", "equality_tok_Benton2004.RHL.Right@tok", "equality_tok_Prims.LexTop@tok", @@ -918,7 +907,9 @@ "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gor", "equation_Benton2004.RHL.interp", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", + "equation_Benton2004.reified_computation", "equation_Benton2004.reified_exp", + "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", "equation_Benton2004.reify_exp", "equation_Benton2004.while", "equation_FStar.Pervasives.Native.fst", @@ -930,11 +921,11 @@ "function_token_typing_Benton2004.reify_exp", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_4ad91084c88a72e29424536a3fe587d2", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", + "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", + "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_gnot", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", @@ -944,9 +935,10 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Benton2004.reify_computation", "token_correspondence_Benton2004.reify_exp", "token_correspondence_Benton2004.while_raw", @@ -954,11 +946,11 @@ "token_correspondence_Prims.op_Equality", "typing_Benton2004.RHL.gand", "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gnot", "typing_Benton2004.RHL.gor", - "typing_Tm_abs_78dc658e59036ce24028200e7c14ebbb", + "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", "well-founded-ordering-on-nat" ], 0, - "e21db02106033df2642552f69afda905" + "ff4e186a94fe288e19aab667c5e4b64f" ], [ "Benton2004.RHL.r_while", @@ -976,7 +968,7 @@ "function_token_typing_Benton2004.reify_computation" ], 0, - "e2a0b6250a96170ffed5917139b59d65" + "e04bbf535f8bb5546e21728399fe82ae" ], [ "Benton2004.RHL.is_per_geq_exp_to_gexp", @@ -991,14 +983,14 @@ "equation_Benton2004.RHL.exp_to_gexp", "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.interp", "equation_Benton2004.RHL.is_per", "equation_Benton2004.is_per", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_9ae5cba10e96601af2fc7e1ec8bd27bf", + "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "token_correspondence_Prims.op_Equality" ], 0, - "4789bc69e926aead5ce4a316d0725566" + "a3f9ad9dca5dab4ac3b31e6851662e1d" ], [ "Benton2004.RHL.is_per_gand_exp_to_gexp", @@ -1014,14 +1006,14 @@ "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.interp", "equation_Benton2004.RHL.is_per", "equation_Benton2004.is_per", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_9ae5cba10e96601af2fc7e1ec8bd27bf", + "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "token_correspondence_Prims.op_AmpAmp" ], 0, - "83cda363b0af66810459bce6e2aafc34" + "cf77b51daedbfd0ff9509aea8454f7d1" ], [ "Benton2004.RHL.is_per_gand", @@ -1033,7 +1025,7 @@ "equation_Benton2004.RHL.interp", "equation_Benton2004.RHL.is_per", "equation_Benton2004.is_per", "equation_Benton2004.sttype", "equation_Prims.eqtype", - "interpretation_Tm_abs_9ae5cba10e96601af2fc7e1ec8bd27bf", + "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_interp", "lemma_Benton2004.is_per_holds_sym", @@ -1043,7 +1035,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.heap" ], 0, - "1aa658c9fdce051861bdc5ea03e621f6" + "8f8fea427d4939e884e6d0458b840e66" ], [ "Benton2004.RHL.r_sym", @@ -1055,7 +1047,7 @@ "equation_Benton2004.RHL.interp", "equation_Benton2004.RHL.is_per" ], 0, - "e90930032b41475b91961c87337e9751" + "ce2e989f89d7ee5adaa7b923c16b867f" ], [ "Benton2004.RHL.interpolable_geq_exp_to_gexp", @@ -1071,14 +1063,14 @@ "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.interp", "equation_Benton2004.RHL.interpolable", "equation_Benton2004.interpolable", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_9ae5cba10e96601af2fc7e1ec8bd27bf", + "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "token_correspondence_Prims.op_Equality" ], 0, - "6df3086d16aeabc3a82a964bee5150eb" + "4c107f9e24db8501f41b2832df795428" ], [ "Benton2004.RHL.interpolable_gand_exp_to_gexp", @@ -1087,7 +1079,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", "bool_inversion", "constructor_distinct_Benton2004.RHL.Left", "constructor_distinct_Benton2004.RHL.Right", "eq2-interp", "equality_tok_Benton2004.RHL.Left@tok", @@ -1097,15 +1089,15 @@ "equation_Benton2004.RHL.interp", "equation_Benton2004.RHL.interpolable", "equation_Benton2004.interpolable", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_9ae5cba10e96601af2fc7e1ec8bd27bf", + "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "token_correspondence_Prims.op_AmpAmp", - "typing_Tm_abs_78dc658e59036ce24028200e7c14ebbb" + "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b" ], 0, - "5852ddfe088af37ca95db1de2b3f2e98" + "68f1f970ad8948909b27a95b9857997c" ], [ "Benton2004.RHL.r_trans", @@ -1120,7 +1112,7 @@ "lemma_Benton2004.exec_equiv_trans", "typing_Benton2004.RHL.interp" ], 0, - "335b05f85d6a58d3001827a4c588c50c" + "5249a86ed7c7f8a7b4c22b3a699989c3" ], [ "Benton2004.RHL.d_su1", @@ -1133,7 +1125,7 @@ "equation_Benton2004.skip" ], 0, - "027a558080dd5dabaf95cb4d91768bcb" + "ddb758371e6087e077bfe3f0bae8acad" ], [ "Benton2004.RHL.d_su1'", @@ -1146,7 +1138,7 @@ "equation_Benton2004.skip" ], 0, - "46de27e1eb0ce64db329a3266d4a1152" + "951eb20baad242d5bf61c0975b80c93c" ], [ "Benton2004.RHL.d_su2", @@ -1159,7 +1151,7 @@ "equation_Benton2004.skip" ], 0, - "acf5e1cbc14a0ef5e577f7e745f6dc0c" + "69eb6977fdf5bfbc38cf10d17cd356ed" ], [ "Benton2004.RHL.d_assoc", @@ -1171,7 +1163,7 @@ "equation_Benton2004.RHL.interp", "equation_Benton2004.seq" ], 0, - "cb238acd3dee09397cb59eda04052d63" + "0840ab3b83070ad23ecf23525f33ae86" ], [ "Benton2004.RHL.d_cc", @@ -1184,7 +1176,7 @@ "lemma_Benton2004.d_cc", "typing_Benton2004.RHL.interp" ], 0, - "7712531c7d549b302c770e35392723e1" + "9ce260a1831f69aae094e342f6693d86" ], [ "Benton2004.RHL.d_lu1", @@ -1197,7 +1189,7 @@ "equation_Benton2004.skip", "equation_Benton2004.while" ], 0, - "e44688291fce22e6ed482880b997f232" + "d183db7e0c0d2fff288ad30b9a283779" ], [ "Benton2004.RHL.d_lu2", @@ -1209,7 +1201,7 @@ "equation_Benton2004.RHL.interp", "equation_Benton2004.while" ], 0, - "8f00fc030325f181247ebc36b31ef83f" + "261f91c4187c7f585cc5c1838b33a329" ], [ "Benton2004.RHL.r_f", @@ -1226,14 +1218,14 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.terminates_equiv_reified", "equation_Prims.eqtype", "function_token_typing_Prims.bool", - "interpretation_Tm_abs_c3d992b769a8182bd559ffd08a3ce329", + "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", "lemma_Benton2004.RHL.holds_interp", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_Benton2004.RHL.gconst" ], 0, - "66341bbe9cf53f4d0f091a3974ca867e" + "b5d5156a1dbb396268c0ea7b7554e2b1" ], [ "Benton2004.RHL.r_dassl", @@ -1242,9 +1234,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Benton2004_interpretation_Tm_arrow_e81ecb2a5945ca2e2a9229d2ea25b033", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_debbd5f6f0bc60f40a8152c3da3c9c9b", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", @@ -1268,37 +1260,35 @@ "equation_FStar.DM4F.IntStoreFixed.write", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Benton2004.reify_exp", + "function_token_typing_Benton2004.reify_exp", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_279cb70c5588009308bc0ec3e1ed04e4", - "interpretation_Tm_abs_27b0cce4ebadaf09a076dfd9df22afe8", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", - "interpretation_Tm_abs_a60394580a1de13edff4fcbbf1060cab", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_cd4b8074c6e255e941314fae5413b9f0", + "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", + "interpretation_Tm_abs_f78feaf94612d60cddafba586931d8da", "lemma_Benton2004.RHL.holds_interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", "token_correspondence_Benton2004.reify_exp", "typing_Benton2004.assign", "typing_Benton2004.reify_computation", "typing_Benton2004.skip", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.snd", - "typing_Tm_abs_be9bc03bbcbe71638c4d9a98e14d2958", "unit_typing" + "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", "unit_typing" ], 0, - "c429f34114af8c493154903d60fc3654" + "239f6428d8a28672a55811809d162b63" ], [ "Benton2004.RHL.r_cbl", @@ -1307,11 +1297,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Benton2004_interpretation_Tm_arrow_e81ecb2a5945ca2e2a9229d2ea25b033", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_debbd5f6f0bc60f40a8152c3da3c9c9b", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", "equality_tok_Benton2004.RHL.Left@tok", @@ -1319,52 +1308,48 @@ "equation_Benton2004.RHL.exp_to_gexp", "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gnot", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.interp", "equation_Benton2004.computation", - "equation_Benton2004.exec_equiv", + "equation_Benton2004.RHL.interp", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.ifthenelse", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_computation", "equation_Benton2004.reified_exp", "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", "equation_Benton2004.terminates_equiv_reified", "equation_Benton2004.terminates_on", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", + "equation_Prims.l_Forall", "equation_Prims.nat", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_exp", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_05bdc28d64a525403666deee2b115250", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_5c0db98276b67dfd933e006467ffcdef", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_c29c3ea3c30668b21df5919b320572b3", + "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", + "interpretation_Tm_abs_5a5b2fc6ab1ec9b20cbdfbb11c4abfa3", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", + "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", + "l_quant_interp_384aac8193b7bd389273b42b63b47269", "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_gnot", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Benton2004.reify_exp", "token_correspondence_Prims.op_AmpAmp", "typing_Benton2004.RHL.gand", - "typing_Benton2004.ifthenelse", + "typing_Benton2004.RHL.gnot", "typing_Benton2004.ifthenelse", "typing_Benton2004.reify_computation", - "typing_Benton2004.reify_raw_computation", - "typing_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "typing_Tm_abs_c29c3ea3c30668b21df5919b320572b3" + "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b" ], 0, - "aa7231c6dfbaa94ab32c774404eaa5fb" + "598473424018a574e282677effd38227" ], [ "Benton2004.RHL.r_dwhll", @@ -1375,43 +1360,32 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Benton2004_interpretation_Tm_arrow_e81ecb2a5945ca2e2a9229d2ea25b033", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_debbd5f6f0bc60f40a8152c3da3c9c9b", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "constructor_distinct_Benton2004.RHL.Left", "equality_tok_Benton2004.RHL.Left@tok", "equation_Benton2004.RHL.exec_equiv", "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gexp", - "equation_Benton2004.RHL.gnot", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.interp", "equation_Benton2004.computation", + "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gnot", + "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.interp", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_exp", - "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.skip", + "equation_Benton2004.reify_exp", "equation_Benton2004.skip", "equation_Benton2004.terminates_equiv_reified", "equation_Benton2004.terminates_on", "equation_Benton2004.while", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_Benton2004.while_raw.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_exp", - "function_token_typing_Benton2004.skip", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_279cb70c5588009308bc0ec3e1ed04e4", - "interpretation_Tm_abs_3169e0cf1eb2cbd3e631b620e9b26507", - "interpretation_Tm_abs_78dc658e59036ce24028200e7c14ebbb", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", - "interpretation_Tm_abs_c29c3ea3c30668b21df5919b320572b3", + "interpretation_Tm_abs_5a5b2fc6ab1ec9b20cbdfbb11c4abfa3", + "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", + "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", + "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_gnot", "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", @@ -1420,20 +1394,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Benton2004.reify_exp", "token_correspondence_Benton2004.while_raw", "token_correspondence_Prims.op_AmpAmp", "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.gand", - "typing_Benton2004.reify_raw_computation", - "typing_Tm_abs_c29c3ea3c30668b21df5919b320572b3", - "typing_tok_Benton2004.RHL.Left@tok" + "typing_Benton2004.RHL.gnot", "typing_tok_Benton2004.RHL.Left@tok" ], 0, - "7d7d637295759b92f58ea538fec65cdf" + "914b0f71d678c6387f7fd752cb3a97af" ], [ "Benton2004.RHL.gvar", @@ -1447,7 +1418,7 @@ "fuel_guarded_inversion_Benton2004.RHL.pos" ], 0, - "b6ca15c946ac17ed902666d9897e6037" + "0f20007b8585f61dada233a4abc50b50" ], [ "Benton2004.RHL.gsubst", @@ -1461,7 +1432,7 @@ "fuel_guarded_inversion_Benton2004.RHL.pos" ], 0, - "305b71ca5ec2c95635bf9063becc2236" + "d814b4cceb6340bc6a0fb4204178ec51" ], [ "Benton2004.RHL.gsubst_gvar_other", @@ -1476,7 +1447,7 @@ "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "716953918acc4940b8859d2588398a53" + "d1e6691064d093c4e03dd18c89ed9251" ], [ "Benton2004.RHL.exp_to_gexp", @@ -1490,7 +1461,7 @@ "fuel_guarded_inversion_Benton2004.RHL.pos" ], 0, - "fa15881e6d45a2fc0390c2b6388401e9" + "eccb05866f023d5bf0912a45e9ed9a8e" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.SmithVolpano.fst.hints b/examples/rel/Benton2004.SmithVolpano.fst.hints index ad55f73e3c5..cdce26cfe97 100644 --- a/examples/rel/Benton2004.SmithVolpano.fst.hints +++ b/examples/rel/Benton2004.SmithVolpano.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel" ], 0, - "4e3f1c29aaf0fba9f99de36d09de6eca" + "55ee7f8285d150696833de07ba8335f4" ], [ "Benton2004.SmithVolpano.interp_context", @@ -30,16 +30,17 @@ "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e1074acf0727d8fb429989683154048c_0", "bool_inversion", + "binder_x_c44b6ac9014362db9329439a4299fe18_0", "bool_inversion", "constructor_distinct_Prims.Cons", "data_typing_intro_Benton2004.SmithVolpano.High@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Benton2004.DDCC.nstype", "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", "equation_Benton2004.DDCC.st_fresh_in", - "equation_Benton2004.DDCC.st_var", + "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", "equation_Benton2004.SmithVolpano.context", "equation_Benton2004.SmithVolpano.interp_seclevel", "equation_Benton2004.var", "equation_FStar.Pervasives.Native.fst", @@ -55,7 +56,8 @@ "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_Benton2004.DDCC.holds_st_intersect", "lemma_Benton2004.DDCC.holds_st_nil", - "lemma_Benton2004.DDCC.holds_st_var", "primitive_Prims.op_AmpAmp", + "lemma_Benton2004.DDCC.holds_st_var", + "lemma_Benton2004.is_per_holds_sym", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxBool_proj_0", @@ -64,19 +66,23 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae305807264330b7e650acb911d74fc7", + "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", "typing_Benton2004.DDCC.st_var", "typing_Benton2004.SmithVolpano.interp_seclevel", - "typing_Benton2004.var", "typing_FStar.List.Tot.Base.mem", + "typing_Benton2004.var", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", + "typing_FStar.DM4F.Heap.IntStoreFixed.sel", + "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "67ec0ba3118baba42fe009efef041b16" + "dc5e0688b4cf5176956898e7f8568a63" ], [ "Benton2004.SmithVolpano.eval_equiv_def", @@ -85,7 +91,7 @@ 1, [ "@query", "equation_Benton2004.SmithVolpano.eval_equiv" ], 0, - "c5811b47e1f34e735db389dac9c64204" + "9850e7ea8ff34714b58357a9af3ed1e3" ], [ "Benton2004.SmithVolpano.exec_equiv", @@ -99,7 +105,7 @@ "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel" ], 0, - "d81924ced6d7e4dcc37db27d47914018" + "08721f43ab7ef23185e7a3a5e4d2516b" ], [ "Benton2004.SmithVolpano.exec_equiv_def", @@ -114,7 +120,7 @@ "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel" ], 0, - "222bb9b31016164438b47923797f34a7" + "b867ed72fcafc2e06be0e06b2384d796" ], [ "Benton2004.SmithVolpano.eval_equiv_var_same", @@ -131,8 +137,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "constructor_distinct_Prims.Cons", @@ -162,9 +168,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae305807264330b7e650acb911d74fc7", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.noRepeats", @@ -172,7 +177,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "125c40552394eef211c1360bad197f62" + "edb5c95128851c186334614c1d55428e" ], [ "Benton2004.SmithVolpano.eval_equiv_var_other", @@ -189,8 +194,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "constructor_distinct_Prims.Cons", @@ -200,7 +205,6 @@ "equality_tok_Benton2004.SmithVolpano.High@tok", "equality_tok_Benton2004.SmithVolpano.Low@tok", "equation_Benton2004.DDCC.st_cons", - "equation_Benton2004.DDCC.sttype", "equation_Benton2004.SmithVolpano.context", "equation_Benton2004.SmithVolpano.eval_equiv", "equation_Benton2004.SmithVolpano.fresh_in", @@ -227,10 +231,9 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae305807264330b7e650acb911d74fc7", - "refinement_interpretation_Tm_refine_cad6f27dcc558a7ef0127f02b505a36f", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", "token_correspondence_FStar.Pervasives.Native.fst", "typing_Benton2004.DDCC.st_var", "typing_Benton2004.SmithVolpano.interp_context", @@ -241,7 +244,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "c7d285429dbd8286a67239c99e53bdc4" + "9d45b62dbaf4146fc61845a5c937d28a" ], [ "Benton2004.SmithVolpano.eval_equiv_const", @@ -250,7 +253,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Benton2004.SmithVolpano.eval_equiv", "equation_Benton2004.SmithVolpano.interp_seclevel", "equation_Benton2004.const", "equation_Benton2004.eval_equiv", @@ -258,16 +260,16 @@ "equation_Benton2004.reify_exp", "equation_FStar.Pervasives.Native.fst", "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "interpretation_Tm_abs_3aa86277dbfa84120c86f55d9f428679", - "interpretation_Tm_abs_f0ff2465114cebc3f8141782403605d7", + "interpretation_Tm_abs_40bbc20d4ec5bd59fb3558a26c0b5898", + "interpretation_Tm_abs_add11b2cfe5041f2aeacbd5ad2faf9f7", + "lemma_Benton2004.DDCC.d_et1", "lemma_Benton2004.DDCC.holds_ns_delta", - "lemma_Benton2004.DDCC.holds_ns_t", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "unit_typing" + "typing_Benton2004.const" ], 0, - "36ca744b9926a46f1d756cfe765c53a2" + "8a35101bd56ef943a0fb78755402236d" ], [ "Benton2004.SmithVolpano.op_abs_interp_seclevel", @@ -276,7 +278,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", "equation_Benton2004.SmithVolpano.interp_seclevel", "equation_Benton2004.op_abs", "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", @@ -284,7 +286,7 @@ "lemma_Benton2004.DDCC.holds_ns_t" ], 0, - "4a398d6407098bba9c57f84991377550" + "a713d22ca74ef5dfe6a9b1ba282914a2" ], [ "Benton2004.SmithVolpano.eval_equiv_op", @@ -296,7 +298,7 @@ "equation_Benton2004.eop" ], 0, - "3defac73480986a4f79c16d14c384045" + "d1accd09c2b314ef5347774df6f812ee" ], [ "Benton2004.SmithVolpano.exec_equiv_assign", @@ -313,8 +315,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "constructor_distinct_Prims.Cons", @@ -348,9 +350,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae305807264330b7e650acb911d74fc7", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.noRepeats", @@ -358,7 +359,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "f9d0508e1882dfc5a89ed1283642da75" + "5065481a84ce89e8b45d06d816df3ac3" ], [ "Benton2004.SmithVolpano.exec_equiv_seq", @@ -371,17 +372,16 @@ "@query", "constructor_distinct_Benton2004.SmithVolpano.High", "disc_equation_Benton2004.SmithVolpano.High", "disc_equation_Benton2004.SmithVolpano.Low", - "equation_Benton2004.DDCC.sttype", "equation_Benton2004.SmithVolpano.exec_equiv", - "equation_Benton2004.seq", "equation_Benton2004.var", + "equation_Benton2004.seq", "equation_with_fuel_Benton2004.SmithVolpano.interp_context.fuel_instrumented", "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", "lemma_Benton2004.DDCC.d_seq", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_cad6f27dcc558a7ef0127f02b505a36f", + "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", "typing_Benton2004.SmithVolpano.interp_context" ], 0, - "6a8b679db7b000435e9945f9d6d900f1" + "a5519e8146e374e2898bc8b6ff6a4500" ], [ "Benton2004.SmithVolpano.exec_equiv_ifthenelse", @@ -391,20 +391,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@query", "equation_Benton2004.DDCC.sttype", - "equation_Benton2004.SmithVolpano.eval_equiv", + "@query", "equation_Benton2004.SmithVolpano.eval_equiv", "equation_Benton2004.SmithVolpano.exec_equiv", "equation_Benton2004.SmithVolpano.interp_seclevel", - "equation_Benton2004.var", "equation_with_fuel_Benton2004.SmithVolpano.interp_context.fuel_instrumented", "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", "lemma_Benton2004.DDCC.d_bre", "lemma_Benton2004.DDCC.d_ifthenelse", - "refinement_interpretation_Tm_refine_cad6f27dcc558a7ef0127f02b505a36f", + "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", "typing_Benton2004.SmithVolpano.interp_context", "typing_Benton2004.skip" ], 0, - "87d5d916e3b261bfa94b0929e283467e" + "b4148fbb3c6113e418a7f5580e0fe868" ], [ "Benton2004.SmithVolpano.exec_equiv_while", @@ -416,16 +414,15 @@ "@fuel_correspondence_Benton2004.SmithVolpano.interp_context.fuel_instrumented", "@query", "constructor_distinct_Benton2004.SmithVolpano.Low", "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.DDCC.sttype", "equation_Benton2004.SmithVolpano.eval_equiv", "equation_Benton2004.SmithVolpano.exec_equiv", "equation_Benton2004.SmithVolpano.interp_seclevel", - "equation_Benton2004.var", "lemma_Benton2004.DDCC.d_whl", - "refinement_interpretation_Tm_refine_cad6f27dcc558a7ef0127f02b505a36f", + "lemma_Benton2004.DDCC.d_whl", + "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", "typing_Benton2004.SmithVolpano.interp_context" ], 0, - "2abd2661d1502c1fac0681b5a8aeb097" + "35d4d41bf720753021910bb73fb31d54" ], [ "Benton2004.SmithVolpano.eval_equiv_low_to_high", @@ -436,25 +433,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Benton2004.SmithVolpano.interp_context.fuel_instrumented", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "constructor_distinct_Benton2004.SmithVolpano.High", "constructor_distinct_Benton2004.SmithVolpano.Low", "equality_tok_Benton2004.SmithVolpano.High@tok", "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.DDCC.sttype", "equation_Benton2004.SmithVolpano.eval_equiv", "equation_Benton2004.SmithVolpano.interp_seclevel", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.included", "equation_Benton2004.reified_exp", - "equation_Benton2004.reify_exp", "equation_Benton2004.var", + "equation_Benton2004.reify_exp", "equation_with_fuel_Benton2004.SmithVolpano.interp_context.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "lemma_Benton2004.DDCC.d_esub", "lemma_Benton2004.DDCC.holds_ns_delta", "lemma_Benton2004.DDCC.holds_ns_t", - "refinement_interpretation_Tm_refine_cad6f27dcc558a7ef0127f02b505a36f", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", + "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", "typing_Benton2004.SmithVolpano.interp_context", "typing_Benton2004.SmithVolpano.interp_seclevel", "typing_Benton2004.reify_exp", @@ -462,7 +458,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "d7a9be78cfa157c70610650bf60beb7c" + "a91c1e1412237e29b79cbb3f98d07913" ], [ "Benton2004.SmithVolpano.exec_equiv_high_to_low", @@ -476,18 +472,16 @@ "constructor_distinct_Benton2004.SmithVolpano.Low", "equality_tok_Benton2004.SmithVolpano.High@tok", "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.DDCC.sttype", "equation_Benton2004.SmithVolpano.exec_equiv", - "equation_Benton2004.var", "equation_with_fuel_Benton2004.SmithVolpano.interp_context.fuel_instrumented", "lemma_Benton2004.DDCC.exec_equiv_sym", "lemma_Benton2004.DDCC.exec_equiv_trans", - "refinement_interpretation_Tm_refine_cad6f27dcc558a7ef0127f02b505a36f", + "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", "typing_Benton2004.SmithVolpano.interp_context", "typing_Benton2004.skip" ], 0, - "606d6cd25e66118db9a6e560e4c4fbe5" + "6d43e8742422162d92e58c4198e64de4" ], [ "Benton2004.SmithVolpano.interp_seclevel", @@ -501,7 +495,7 @@ "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel" ], 0, - "bd26973dc34424538aea617e7d72ec0d" + "c45700e19c923be5807c767d9a8a6ac1" ], [ "Benton2004.SmithVolpano.interp_context", @@ -518,16 +512,17 @@ "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e1074acf0727d8fb429989683154048c_0", "bool_inversion", + "binder_x_c44b6ac9014362db9329439a4299fe18_0", "bool_inversion", "constructor_distinct_Prims.Cons", "data_typing_intro_Benton2004.SmithVolpano.High@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Benton2004.DDCC.nstype", "equation_Benton2004.DDCC.per", "equation_Benton2004.DDCC.st_cons", "equation_Benton2004.DDCC.st_fresh_in", - "equation_Benton2004.DDCC.st_var", + "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", "equation_Benton2004.SmithVolpano.context", "equation_Benton2004.SmithVolpano.interp_seclevel", "equation_Benton2004.var", "equation_FStar.Pervasives.Native.fst", @@ -543,7 +538,8 @@ "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_Benton2004.DDCC.holds_st_intersect", "lemma_Benton2004.DDCC.holds_st_nil", - "lemma_Benton2004.DDCC.holds_st_var", "primitive_Prims.op_AmpAmp", + "lemma_Benton2004.DDCC.holds_st_var", + "lemma_Benton2004.is_per_holds_sym", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxBool_proj_0", @@ -552,19 +548,23 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae305807264330b7e650acb911d74fc7", + "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", + "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", "typing_Benton2004.DDCC.st_var", "typing_Benton2004.SmithVolpano.interp_seclevel", - "typing_Benton2004.var", "typing_FStar.List.Tot.Base.mem", + "typing_Benton2004.var", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", + "typing_FStar.DM4F.Heap.IntStoreFixed.sel", + "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "4ac83687d0b25cc39e2992b8d22976ac" + "e6c1835e68da0492aed3a14083545153" ], [ "Benton2004.SmithVolpano.exec_equiv_def", @@ -578,7 +578,7 @@ "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel" ], 0, - "6f3680c18d23743ff95222aeb3bdf8ac" + "de0c209691ea96e9cfdfed479b24d208" ], [ "Benton2004.SmithVolpano.eval_equiv_var_same", @@ -592,8 +592,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "bool_inversion", "constructor_distinct_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_Prims.Cons@tok", "eq2-interp", @@ -615,8 +615,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae305807264330b7e650acb911d74fc7", "token_correspondence_FStar.Pervasives.Native.fst", "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.noRepeats", @@ -624,7 +624,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "06e0d1136c8aa307f00cfcec6815e7df" + "39621dfb1d521ff9dfbf9daacaa05567" ], [ "Benton2004.SmithVolpano.eval_equiv_var_other", @@ -638,8 +638,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "bool_inversion", "constructor_distinct_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_Prims.Cons@tok", "eq2-interp", @@ -661,8 +661,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae305807264330b7e650acb911d74fc7", "token_correspondence_FStar.Pervasives.Native.fst", "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.noRepeats", @@ -670,7 +670,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "c42e5a2c3d476f4470a162f575e4c6fd" + "2b17dd72309146eb903feb90d3f1f7b2" ], [ "Benton2004.SmithVolpano.exec_equiv_assign", @@ -685,8 +685,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "constructor_distinct_Prims.Cons", "data_typing_intro_Benton2004.SmithVolpano.High@tok", @@ -711,9 +711,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae305807264330b7e650acb911d74fc7", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.noRepeats", @@ -721,7 +720,7 @@ "typing_tok_Benton2004.SmithVolpano.Low@tok" ], 0, - "f5b9ed8509421b59c675645608d2033c" + "eb5c813b4ebd33ec3881b704a43fabeb" ] ] ] \ No newline at end of file diff --git a/examples/rel/Benton2004.fst.hints b/examples/rel/Benton2004.fst.hints index 398acd83c73..d082c383b1b 100644 --- a/examples/rel/Benton2004.fst.hints +++ b/examples/rel/Benton2004.fst.hints @@ -8,12 +8,11 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Benton2004.computation", - "equation_Benton2004.raw_computation", "equation_Benton2004.reify_raw_computation", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895" + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3" ], 0, - "12974aa1737e6386385d29f51d5fa8c2" + "fabde97441abe2298c5ec3370b4ecfb2" ], [ "Benton2004.skip", @@ -22,11 +21,11 @@ 1, [ "@query", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reify_raw_computation", "equation_Prims.nat", - "interpretation_Tm_abs_279cb70c5588009308bc0ec3e1ed04e4" + "equation_Benton2004.reify_raw_computation", + "interpretation_Tm_abs_454b5c8be0f759bcdd62149a698a8067" ], 0, - "427398478b9ead1e602201276177bd55" + "e35eb981cd6d6bbda2a895e2ee401d73" ], [ "Benton2004.reify_exp", @@ -43,7 +42,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.heap" ], 0, - "611b55b6f5df7495e5c750cc947afe05" + "f5e12d193dfeeac5483d93d09565df03" ], [ "Benton2004.const", @@ -52,7 +51,7 @@ 1, [ "@query" ], 0, - "a3edd7831d87f9e2c62908ced97e2906" + "f41ac2d0889428088d19244a06e061ec" ], [ "Benton2004.evar", @@ -64,7 +63,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.index" ], 0, - "d6ccaec5f3b1691504452eb4daffd9d5" + "5cc353ffab3cd98b392135d0a02c4ad6" ], [ "Benton2004.assign", @@ -73,11 +72,11 @@ 1, [ "@query", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reify_raw_computation", "equation_Prims.nat", - "interpretation_Tm_abs_27b0cce4ebadaf09a076dfd9df22afe8" + "equation_Benton2004.reify_raw_computation", + "interpretation_Tm_abs_f78feaf94612d60cddafba586931d8da" ], 0, - "b4e18b7ac8db1ab3e612936db545805a" + "0d5da296a9af3a38cf8e419f9d3ac20a" ], [ "Benton2004.ifthenelse", @@ -86,14 +85,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Benton2004_interpretation_Tm_arrow_e81ecb2a5945ca2e2a9229d2ea25b033", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_debbd5f6f0bc60f40a8152c3da3c9c9b", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Benton2004.computation", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_exp", "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", @@ -104,24 +101,23 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_exp", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_05bdc28d64a525403666deee2b115250", - "interpretation_Tm_abs_5c0db98276b67dfd933e006467ffcdef", + "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", + "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Benton2004.reify_computation", "token_correspondence_Benton2004.reify_exp", "typing_Benton2004.reify_exp", "typing_Benton2004.reify_raw_computation" ], 0, - "4d97322dd0951b8618247b4c5174d72b" + "3f68ffaa04132a34b03f6131f75fa780" ], [ "Benton2004.seq", @@ -130,12 +126,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Benton2004.computation", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", "equation_Benton2004.reify_raw_computation", @@ -143,25 +137,24 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_6ed53e84202b22b7f141b8568dd1d66f", - "interpretation_Tm_abs_a557c45a6706994dec0ee66ef8157d28", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", + "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", + "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Benton2004.reify_computation", "typing_Benton2004.reify_raw_computation", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "01e764f57088c58a4bc312273d5cc3dc" + "83f3a684814fa52bd5b5e72d8fb6dc37" ], [ "Benton2004.while_raw", @@ -170,15 +163,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "71b84d2b38fe809295cdbaadf7ba0023" + "03c0f8c63c51109516040c7e22d0c373" ], [ "Benton2004.fuel_monotonic_while", @@ -192,7 +185,6 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "equality_tok_Prims.LexTop@tok", "equation_Benton2004.computation", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.raw_computation", "equation_Benton2004.reify_computation", "equation_Benton2004.reify_exp", "equation_Benton2004.reify_raw_computation", @@ -201,9 +193,9 @@ "equation_with_fuel_Benton2004.while_raw.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_4ad91084c88a72e29424536a3fe587d2", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_d5542ae5e88d66ede84abd2fc69e6ae1", + "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", + "interpretation_Tm_abs_6cb654fd77e86dfc001a8b166d50cec2", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -211,12 +203,12 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "1fef1e33a73655deea9e8413fa66c043" + "6c5be5b425f0c48cb280ee2dc6d690ed" ], [ "Benton2004.while", @@ -229,7 +221,7 @@ "token_correspondence_Benton2004.reify_raw_computation" ], 0, - "875138c7366b8ecec4e1ccf3ba6ed9b3" + "aebe3277b5c682ff98397a9f7c552a70" ], [ "Benton2004.is_per_holds_sym", @@ -238,7 +230,7 @@ 1, [ "@query", "equation_Benton2004.is_per" ], 0, - "5b2210eb5edb71d0a20a7a19e4a913f8" + "73b923ae3c04d44dedf576549c8d28eb" ], [ "Benton2004.per_holds_trans", @@ -247,7 +239,7 @@ 1, [ "@query", "equation_Benton2004.is_per" ], 0, - "77a2b8a4280336017549974ab23b9e06" + "d5100c53a1233dca5754b1dcbbb731ce" ], [ "Benton2004.holds_intersect", @@ -255,12 +247,12 @@ 2, 1, [ - "@query", "equation_Benton2004.intersect", "equation_Prims.logical", - "interpretation_Tm_abs_720cb5ef0d0931857d8d1bd0faa5dbd1", + "@query", "equation_Benton2004.intersect", + "interpretation_Tm_abs_0c3c3776232d8864b92d4e7ab3c428d5", "l_and-interp", "token_correspondence_Benton2004.intersect" ], 0, - "bac24d7956a0f96dc63420dcc41be67e" + "8072b5048f93a9aa9bdfa56e46f7ff2e" ], [ "Benton2004.interpolable_elim", @@ -269,7 +261,7 @@ 1, [ "@query", "equation_Benton2004.interpolable" ], 0, - "2cc2082d8a0b72287d57bd9b940aeb08" + "822f2fda07e8bc597c6d03cd646d16a0" ], [ "Benton2004.terminates_equiv_reified_sym", @@ -284,7 +276,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.heap" ], 0, - "c00e5229965fc3604d96333f5c060aa9" + "84732885681d9a597d82a82e155e6cf1" ], [ "Benton2004.holds_flip", @@ -294,10 +286,10 @@ [ "@query", "equation_Benton2004.flip", "function_token_typing_Benton2004.flip", - "interpretation_Tm_abs_dd81b4b305007bc0612814972b98aed1" + "interpretation_Tm_abs_13e1a32540ac087750a1053d59e4a269" ], 0, - "588518a344a91c70774b7b67f2a8aaf9" + "a55fe01522cda94b91e50f93bb6f681d" ], [ "Benton2004.holds_flip'", @@ -306,7 +298,7 @@ 1, [ "@query" ], 0, - "fbbc85a2c7757e896451545640fbc0f1" + "61cc433aee082078bebd6aa451b98653" ], [ "Benton2004.eval_equiv_flip", @@ -315,19 +307,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.flip", "equation_Benton2004.reified_exp", "equation_Benton2004.reify_exp", "equation_Prims.eqtype", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", "typing_Benton2004.reify_exp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.fst" ], 0, - "03e661dbc1cd924611eb33aa7459ec5e" + "f23dcc63d725669113483b0fc8a87e1b" ], [ "Benton2004.exec_equiv_flip", @@ -336,24 +328,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "equation_Benton2004.computation", "equation_Benton2004.exec_equiv", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.flip", - "equation_Benton2004.raw_computation", + "equation_Benton2004.reified_computation", "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", "equation_Benton2004.terminates_equiv_reified", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.bool", + "equation_Prims.eqtype", "function_token_typing_Prims.bool", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "typing_Benton2004.reify_raw_computation", + "typing_Benton2004.reify_computation", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.snd" ], 0, - "5e454f292e5ad7cfa42275c23a8a57a9" + "210478f7fa46154b56da8be94095e3a5" ], [ "Benton2004.eval_equiv_sym", @@ -362,20 +352,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.nstype", "equation_Benton2004.reified_exp", "equation_Benton2004.reify_exp", "equation_Benton2004.sttype", "equation_Prims.eqtype", "lemma_Benton2004.is_per_holds_sym", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", "typing_Benton2004.reify_exp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.fst" ], 0, - "c0205bd824c2404c83a855c1846c7563" + "6df18a7f14da00bb78f19b4967f23133" ], [ "Benton2004.exec_equiv_sym", @@ -384,26 +374,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "equation_Benton2004.computation", "equation_Benton2004.exec_equiv", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.raw_computation", + "equation_Benton2004.reified_computation", "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", "equation_Benton2004.sttype", "equation_Benton2004.terminates_equiv_reified", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.bool", + "equation_Prims.eqtype", "function_token_typing_Prims.bool", "lemma_Benton2004.is_per_holds_sym", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "typing_Benton2004.reify_raw_computation", + "typing_Benton2004.reify_computation", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.snd" ], 0, - "43dde994194c06dda54eb175c00c7ddd" + "cbc2982c1be1cba44bfaea27d80c5c55" ], [ "Benton2004.eval_equiv_trans", @@ -412,7 +400,7 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.nstype", "equation_Benton2004.reified_exp", @@ -420,15 +408,15 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_exp", "lemma_Benton2004.per_holds_trans", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d21498eafe198fd75279d9ddf6e7faa", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_6ac7c3f2c345ed548558d0c5f5e5db36", "typing_Benton2004.reify_exp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.fst" ], 0, - "915471dbb905bb751f5942cc3c704385" + "b61f21e4046c9881f53be872f15ad279" ], [ "Benton2004.exec_equiv_reified_trans", @@ -437,8 +425,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_f8f7e967f3d529da543199be80a3eb28", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.fuel_monotonic", @@ -450,18 +437,17 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_Benton2004.per_holds_trans", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "18d862e8697b7c0f1e3c95e7391841d2" + "435c55b056c2f66ac74d4ca9744fcae1" ], [ "Benton2004.exec_equiv_trans", @@ -473,7 +459,7 @@ "equation_Benton2004.reify_computation" ], 0, - "af3e163eba4886207ee6fd75989f619f" + "cae8a5d1ab9b610e829864ee7a2a5257" ], [ "Benton2004.d_esub", @@ -482,19 +468,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.included", "equation_Benton2004.reified_exp", "equation_Benton2004.reify_exp", "equation_Prims.eqtype", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", "typing_Benton2004.reify_exp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.fst" ], 0, - "895f4a42f7bb79b41d5051789561e886" + "29683a3954b509a1df70d780b01694e8" ], [ "Benton2004.d_csub", @@ -503,7 +489,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.included", @@ -511,16 +497,15 @@ "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", "equation_Benton2004.terminates_equiv_reified", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.bool", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "equation_Prims.eqtype", "function_token_typing_Prims.bool", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_Benton2004.reify_computation", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.snd" ], 0, - "6f16f4173ed0fcc861898198dc9b1f71" + "8f8fd643d5880faceae4df1fc0950481" ], [ "Benton2004.eop", @@ -529,7 +514,7 @@ 1, [ "@query" ], 0, - "4c7b73ba5998d17eeee2aa37c7763966" + "0ce433f59f5ab5217167f708de6f7fe5" ], [ "Benton2004.d_op", @@ -538,8 +523,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "equation_Benton2004.eop", "equation_Benton2004.eval_equiv", "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.op_abs", "equation_Benton2004.reified_exp", @@ -547,19 +531,19 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_179dd890f55a2468c0407882ad9ac44d", - "interpretation_Tm_abs_5965452e5497fee86bdfcf5bcda356e9", + "interpretation_Tm_abs_05240244b80fb15ad0f10a3eca729431", + "interpretation_Tm_abs_db01b848f41e001cf1941b274374e070", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", "typing_Benton2004.reify_exp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.fst", "unit_typing" + "typing_FStar.Pervasives.Native.fst" ], 0, - "8ca6d906ec542fecb3f55e7c312b56e7" + "722923e6c6863a5362aed0787fdb5734" ], [ "Benton2004.d_skip", @@ -582,7 +566,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "0f60796075c2802b61b80b2d075fd621" + "78889d48291ede633ba25364a92cf979" ], [ "Benton2004.d_seq_terminates", @@ -591,13 +575,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Benton2004.computation", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_computation", "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", @@ -610,26 +592,25 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_computation", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_6ed53e84202b22b7f141b8568dd1d66f", - "interpretation_Tm_abs_a557c45a6706994dec0ee66ef8157d28", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", + "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", + "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.snd" ], 0, - "5a586e9e7042e96667370808bc85be31" + "a3244180d2bc3546fa9ac6533fa5633d" ], [ "Benton2004.d_seq_terminates_recip", @@ -638,7 +619,7 @@ 1, [ "@query", "lemma_Benton2004.exec_equiv_flip" ], 0, - "2b2011f99bdd9a4fb05d63229edbe563" + "62e9399d4830b341f62c98d039e5a5b8" ], [ "Benton2004.d_seq", @@ -646,9 +627,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Benton2004.exec_equiv", + "@MaxIFuel_assumption", "@query", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.reify_computation", "equation_Benton2004.seq", "equation_Benton2004.terminates_equiv_reified", @@ -657,22 +636,21 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_computation", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_6ed53e84202b22b7f141b8568dd1d66f", - "interpretation_Tm_abs_a557c45a6706994dec0ee66ef8157d28", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", + "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", + "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.snd" ], 0, - "9b89e494c965be1185e646c8f87b0977" + "944e39651984490b30445b6545c99bd6" ], [ "Benton2004.d_su1", @@ -681,42 +659,29 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Benton2004.computation", "equation_Benton2004.exec_equiv", + "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_computation", "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.seq", "equation_Benton2004.skip", + "equation_Benton2004.reify_computation", "equation_Benton2004.seq", + "equation_Benton2004.skip", "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", + "equation_Benton2004.terminates_on", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.skip", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_279cb70c5588009308bc0ec3e1ed04e4", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_6ed53e84202b22b7f141b8568dd1d66f", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", - "interpretation_Tm_abs_a557c45a6706994dec0ee66ef8157d28", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", + "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", + "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Benton2004.reify_computation", - "typing_Benton2004.reify_raw_computation", "typing_Benton2004.seq" + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Benton2004.reify_computation", "typing_Benton2004.seq", + "typing_Benton2004.skip" ], 0, - "af0627003ab0d967323ba021d6ae2e86" + "6b06bd30f7cc4e4187d80f8c2bad957d" ], [ "Benton2004.d_su1'", @@ -725,7 +690,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.reified_computation", @@ -733,21 +698,19 @@ "equation_Benton2004.reify_computation", "equation_Benton2004.seq", "equation_Benton2004.skip", "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", "equation_Prims.nat", + "equation_Benton2004.terminates_on", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_computation", - "interpretation_Tm_abs_279cb70c5588009308bc0ec3e1ed04e4", - "interpretation_Tm_abs_6ed53e84202b22b7f141b8568dd1d66f", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", - "interpretation_Tm_abs_a557c45a6706994dec0ee66ef8157d28", + "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", + "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", "lemma_Benton2004.d_seq", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", "typing_Benton2004.skip" ], 0, - "409eaf7a5917caba7568ae7de2944184" + "ef4669c0d6b67e8b9783f695d28e3f5a" ], [ "Benton2004.d_su2", @@ -756,8 +719,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", @@ -769,23 +731,20 @@ "equation_Benton2004.terminates_on", "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.skip", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_279cb70c5588009308bc0ec3e1ed04e4", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_6ed53e84202b22b7f141b8568dd1d66f", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", - "interpretation_Tm_abs_a557c45a6706994dec0ee66ef8157d28", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", + "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", + "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_Benton2004.reify_computation", "typing_Benton2004.seq" + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Benton2004.reify_computation", "typing_Benton2004.seq", + "typing_Benton2004.skip" ], 0, - "009f4916cbbd3bfc4b3cf3117457fb7d" + "03d30758e48ac7ac5b31daf0ef4ec0ba" ], [ "Benton2004.d_assoc", @@ -794,8 +753,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.reified_computation", @@ -805,19 +763,18 @@ "equation_Benton2004.terminates_on", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_computation", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_6ed53e84202b22b7f141b8568dd1d66f", - "interpretation_Tm_abs_a557c45a6706994dec0ee66ef8157d28", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", + "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", + "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fda4bfe9f1cebb0cb3e3260a75302d29" + "30608a744876b4a9686a5ab92fcb320b" ], [ "Benton2004.d_cc", @@ -825,32 +782,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Benton2004.exec_equiv", + "@MaxIFuel_assumption", "@query", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.ifthenelse", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", "equation_Benton2004.seq", "equation_Benton2004.terminates_equiv_reified", "equation_Benton2004.terminates_on", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_computation", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_05bdc28d64a525403666deee2b115250", - "interpretation_Tm_abs_5c0db98276b67dfd933e006467ffcdef", - "interpretation_Tm_abs_6ed53e84202b22b7f141b8568dd1d66f", - "interpretation_Tm_abs_a557c45a6706994dec0ee66ef8157d28", + "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", + "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", + "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", + "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", "lemma_Benton2004.d_seq", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Benton2004.ifthenelse" ], 0, - "6020a58e4c17e41b3308e3215ae876f8" + "c6719f9e56843ce07a6ae636b9b5b883" ], [ "Benton2004.d_lu1", @@ -861,15 +810,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", "@fuel_irrelevance_Benton2004.while_raw.fuel_instrumented", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Benton2004.computation", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.fuel_monotonic", "equation_Benton2004.ifthenelse", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_computation", "equation_Benton2004.reified_exp", "equation_Benton2004.reified_raw_computation", @@ -887,13 +835,13 @@ "function_token_typing_Benton2004.reify_exp", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_05bdc28d64a525403666deee2b115250", - "interpretation_Tm_abs_4ad91084c88a72e29424536a3fe587d2", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_5c0db98276b67dfd933e006467ffcdef", - "interpretation_Tm_abs_6ed53e84202b22b7f141b8568dd1d66f", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", - "interpretation_Tm_abs_a557c45a6706994dec0ee66ef8157d28", + "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", + "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", + "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", + "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", + "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", + "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -901,15 +849,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Benton2004.while_raw", "typing_Benton2004.while" ], 0, - "daac9c67c51bedbbc8e9353513a1f8f1" + "8ec437c5888fe55927b7c9ac7dec20d0" ], [ "Benton2004.d_lu2", @@ -920,7 +868,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", "@fuel_irrelevance_Benton2004.while_raw.fuel_instrumented", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -929,7 +877,6 @@ "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.fuel_monotonic", "equation_Benton2004.ifthenelse", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_computation", "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", @@ -946,14 +893,13 @@ "function_token_typing_Benton2004.reify_computation", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", - "interpretation_Tm_abs_05bdc28d64a525403666deee2b115250", - "interpretation_Tm_abs_279cb70c5588009308bc0ec3e1ed04e4", - "interpretation_Tm_abs_4ad91084c88a72e29424536a3fe587d2", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_5c0db98276b67dfd933e006467ffcdef", - "interpretation_Tm_abs_6ed53e84202b22b7f141b8568dd1d66f", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", - "interpretation_Tm_abs_a557c45a6706994dec0ee66ef8157d28", + "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", + "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", + "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", + "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", + "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", + "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -961,11 +907,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5eb5b499cdcf673d069908c79cbed95b", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ee013610c0cfc1a3273482acd2475d8f", "token_correspondence_Benton2004.while_raw", "typing_Benton2004.ifthenelse", "typing_Benton2004.reify_raw_computation", "typing_Benton2004.seq", @@ -975,7 +922,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "508389c88249a861a0d1a0bf2c2ab71f" + "afa90d8c4a3dcb8d2dbf607d70b4cbb2" ], [ "Benton2004.d_bre", @@ -984,10 +931,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Benton2004.exec_equiv", "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.ifthenelse", "equation_Benton2004.mention", @@ -998,23 +945,22 @@ "equation_Benton2004.reify_exp", "equation_Benton2004.terminates_equiv_reified", "equation_Benton2004.terminates_on", - "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_05bdc28d64a525403666deee2b115250", - "interpretation_Tm_abs_5c0db98276b67dfd933e006467ffcdef", + "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", + "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_19740681924b8e3f1389bc7c09e2f42c", + "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_Benton2004.ifthenelse", "typing_Benton2004.reify_computation", "typing_Benton2004.reify_exp" ], 0, - "f6177f097efd9087edf881cd4d55616b" + "49ddc69c0ff303747c2d7365426618b5" ], [ "Benton2004.reify_computation", @@ -1023,12 +969,11 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Benton2004.computation", - "equation_Benton2004.raw_computation", "equation_Benton2004.reify_raw_computation", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895" + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3" ], 0, - "fcd7c3e9a624b1cc1f3da7cea8aab7ce" + "1b1778144c68e182c5467aadfc4cf6d0" ], [ "Benton2004.skip", @@ -1037,11 +982,11 @@ 1, [ "@query", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reify_raw_computation", "equation_Prims.nat", - "interpretation_Tm_abs_279cb70c5588009308bc0ec3e1ed04e4" + "equation_Benton2004.reify_raw_computation", + "interpretation_Tm_abs_454b5c8be0f759bcdd62149a698a8067" ], 0, - "ee8b0fb72d074d6f797722e233198c19" + "71d384402091009eba4def75b4e31e8f" ], [ "Benton2004.reify_exp", @@ -1058,7 +1003,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.heap" ], 0, - "130dcacf8977896f3d323ce72ba240d3" + "691c22ca017825fc330ad7b5a00faa14" ], [ "Benton2004.const", @@ -1067,7 +1012,7 @@ 1, [ "@query" ], 0, - "c32408fe0c3b7b9100192a45f9203ab2" + "247aa2b14e2729e8f3b8dbeb4d129c86" ], [ "Benton2004.evar", @@ -1079,7 +1024,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.index" ], 0, - "8ca3b656236adffcda0d3153da756a49" + "4fc9606e015d2eb661049094a8fea3dd" ], [ "Benton2004.assign", @@ -1088,11 +1033,11 @@ 1, [ "@query", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reify_raw_computation", "equation_Prims.nat", - "interpretation_Tm_abs_27b0cce4ebadaf09a076dfd9df22afe8" + "equation_Benton2004.reify_raw_computation", + "interpretation_Tm_abs_f78feaf94612d60cddafba586931d8da" ], 0, - "c7d0d4ea7e11553ab836998f7da07b08" + "dc450a7b547bffb765a5ff87f9558f22" ], [ "Benton2004.ifthenelse", @@ -1101,14 +1046,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_88151fb1bcdb411f4b0ef263d91306e3", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Benton2004_interpretation_Tm_arrow_e81ecb2a5945ca2e2a9229d2ea25b033", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", + "Benton2004_interpretation_Tm_ghost_arrow_debbd5f6f0bc60f40a8152c3da3c9c9b", + "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Benton2004.computation", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_exp", "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", @@ -1119,24 +1062,23 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Benton2004.reify_exp", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_05bdc28d64a525403666deee2b115250", - "interpretation_Tm_abs_5c0db98276b67dfd933e006467ffcdef", + "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", + "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7398afa07276a41388ff40a65b1c542", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Benton2004.reify_computation", "token_correspondence_Benton2004.reify_exp", "typing_Benton2004.reify_exp", "typing_Benton2004.reify_raw_computation" ], 0, - "a050fb12586ca2df76fa2b0cd89382fb" + "7c28a9b25fdc8af8759dbb4deaccc41b" ], [ "Benton2004.seq", @@ -1145,12 +1087,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_d529593900c5e5ecc5fc0986b45b6cb5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Benton2004.computation", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.raw_computation", "equation_Benton2004.reified_raw_computation", "equation_Benton2004.reify_computation", "equation_Benton2004.reify_raw_computation", @@ -1158,25 +1098,24 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", - "interpretation_Tm_abs_4d293e6499c863400e62836d53b29232", - "interpretation_Tm_abs_6ed53e84202b22b7f141b8568dd1d66f", - "interpretation_Tm_abs_a557c45a6706994dec0ee66ef8157d28", + "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", + "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", + "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_72f59247ec9aa4a8317b20902c00c895", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Benton2004.reify_computation", "typing_Benton2004.reify_raw_computation", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "b80b6b7b36e63478731ca830dd53bd5c" + "48e85597ec4fa46fc195046f83961ae8" ], [ "Benton2004.while_raw", @@ -1185,15 +1124,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "c75023b2dbb71a6a7eff2f4e77b6bd78" + "64cadb13511b98774cd76b0b4caa9a50" ], [ "Benton2004.while", @@ -1206,7 +1145,7 @@ "token_correspondence_Benton2004.reify_raw_computation" ], 0, - "005a712f37145e4037efc70ad0c39252" + "d3c00abd80ab648f061349efd2fc34cc" ], [ "Benton2004.eop", @@ -1215,7 +1154,7 @@ 1, [ "@query" ], 0, - "cbec687831dc198b7b334094139385f6" + "939d0a325c5fcb17cd3f1b2f757f178b" ] ] ] \ No newline at end of file diff --git a/examples/rel/Bijection.fst.hints b/examples/rel/Bijection.fst.hints index 05101d2218d..aec11a34613 100644 --- a/examples/rel/Bijection.fst.hints +++ b/examples/rel/Bijection.fst.hints @@ -8,12 +8,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "Bijection_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", "equation_Bijection.bijection", "equation_Bijection.injection", "equation_Bijection.inverses", "equation_Bijection.surjection" ], 0, - "e8710c3286e5260394fa8daa007ce41d" + "3009e793b227d217a488a09febf04018" ] ] ] \ No newline at end of file diff --git a/examples/rel/ElGamal.fst.hints b/examples/rel/ElGamal.fst.hints index 77528eef2c1..987e4c5f5b1 100644 --- a/examples/rel/ElGamal.fst.hints +++ b/examples/rel/ElGamal.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "2314ebd8229e7cedc5eacba602129ba4" + "3fe82baf3f531410261fda0fe080aee4" ], [ "ElGamal.mod_plus_minus", @@ -21,7 +21,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2b00dcfce7bed3111a70a59968e2c7a5" + "fad1457959d4ee25b7792e7e0d7fe11e" ], [ "ElGamal.mod_minus_plus", @@ -34,7 +34,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6a0a618df4a11ff170c2d1cf2189aa30" + "81e31e620cb19c70f15b191ca0a2b6e7" ], [ "ElGamal.bij'", @@ -46,24 +46,24 @@ "equation_FStar.DM4F.Heap.Random.elem", "equation_FStar.DM4F.Heap.Random.sel", "equation_FStar.DM4F.Heap.Random.size", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_FStar.DM4F.Heap.Random.q", "int_inversion", - "int_typing", "lemma_ElGamal.mod_minus_plus", - "lemma_ElGamal.mod_plus_minus", + "equation_Prims.pos", "int_inversion", "int_typing", + "lemma_ElGamal.mod_minus_plus", "lemma_ElGamal.mod_plus_minus", "lemma_FStar.DM4F.Heap.Random.lemma_eq_intro", "lemma_FStar.DM4F.Heap.Random.lemma_index_upd1", "lemma_FStar.DM4F.Heap.Random.lemma_index_upd2", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", - "typing_ElGamal.log", "typing_FStar.DM4F.Heap.Random.sel", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c214c9b992936e25888fdce6a55eb676", + "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178", + "typing_ElGamal.log", "typing_FStar.DM4F.Heap.Random.q", + "typing_FStar.DM4F.Heap.Random.sel", "typing_FStar.DM4F.Heap.Random.to_id", "typing_FStar.DM4F.Heap.Random.upd" ], 0, - "366993dc04235ac66b9d74bec0e131a6" + "09c9425e0c421321d3dc52926d02966d" ], [ "ElGamal.elgamal_prop", @@ -72,7 +72,7 @@ 1, [ "@query" ], 0, - "b4ce0e175786d458806d19adc65ec54b" + "d27fab171f5b3c1c6c84baae3d2a6558" ], [ "ElGamal.elgamal_prop", @@ -81,12 +81,13 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "function_token_typing_FStar.DM4F.Heap.Random.q", "int_inversion", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "int_inversion", "primitive_Prims.op_Modulus", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "typing_FStar.DM4F.Heap.Random.q" ], 0, - "28a058b7f8d36c7538fa63e86906434f" + "64ea21cdd8866479de5793fcc1e8d103" ], [ "ElGamal.elgamal_equiv", @@ -95,11 +96,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "ElGamal_interpretation_Tm_arrow_cd2da3d8c742fb09c09d0904533f4136", + "ElGamal_interpretation_Tm_arrow_5aa73796cbb708691c8f2c5a374496f2", "FStar.DM4F.Random.__proj__RAND__item__get_equality", - "FStar.DM4F.Random_interpretation_Tm_arrow_7585fd2e6757bdc141cfba15c3935352", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "FStar.DM4F.Random_interpretation_Tm_arrow_94c158f8d4432cbb9324ef8d51167f92", + "FStar.DM4F.Random_interpretation_Tm_arrow_ddc1797fe0225acea7509e9e52d69401", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -114,9 +114,9 @@ "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "int_inversion", "int_typing", - "interpretation_Tm_abs_72b382aaf4ac1300d599277d1bedc90b", - "interpretation_Tm_abs_9db29db46153c4404783fe7ac1f4ce6e", - "interpretation_Tm_abs_f0aa07af8f72e77920771a24d606db5e", + "interpretation_Tm_abs_08b2c35cfaeb2e20bb589307624ccf4c", + "interpretation_Tm_abs_477d3d1e9836c871c9c7462413a82773", + "interpretation_Tm_abs_b035eee8be26b28d0f3920d11c25d44b", "lemma_ElGamal.elgamal_prop", "lemma_FStar.DM4F.Heap.Random.lemma_index_upd1", "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", @@ -129,11 +129,12 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_869066ee2e3e0b37bdf5eefd6ef75873", - "refinement_interpretation_Tm_refine_889065bd6dbc226e8efd5972222a6d00", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178", + "refinement_interpretation_Tm_refine_c4a8805e1b619cf71b3b791bc8815240", + "refinement_interpretation_Tm_refine_cfc842179a3acfd8a193ab15227d0b0b", "token_correspondence_FStar.DM4F.Random.__proj__Bijection__item__f", "typing_ElGamal.elgamal", "typing_ElGamal.elgamal_", "typing_FStar.DM4F.Heap.Random.id", @@ -142,10 +143,10 @@ "typing_FStar.DM4F.Heap.Random.tape", "typing_FStar.DM4F.Heap.Random.to_id", "typing_FStar.DM4F.Random.sample", - "typing_Tm_abs_72b382aaf4ac1300d599277d1bedc90b", "unit_typing" + "typing_Tm_abs_b035eee8be26b28d0f3920d11c25d44b", "unit_typing" ], 0, - "22bf04909fdf6b0f1e56e774d733fdbc" + "ff177381ff9246807d7d534a47b9131c" ], [ "ElGamal.mul_pow", @@ -154,7 +155,7 @@ 1, [ "@query" ], 0, - "75dc70eb5595b6c63e5366cd2eca53a9" + "2bee291e266dc25f746381b34befcc68" ], [ "ElGamal.mod_plus_minus", @@ -167,7 +168,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d4a51105af701a76ef9c253bff621ea8" + "088725f2864da0c688c3d7b45c702d76" ], [ "ElGamal.mod_minus_plus", @@ -180,7 +181,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b200c12246847c15790ff5a654393fa4" + "4c33f2b5bebbe57e6d310c3a7358acdf" ], [ "ElGamal.bij'", @@ -192,24 +193,24 @@ "equation_FStar.DM4F.Heap.Random.elem", "equation_FStar.DM4F.Heap.Random.sel", "equation_FStar.DM4F.Heap.Random.size", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_FStar.DM4F.Heap.Random.q", "int_inversion", - "int_typing", "lemma_ElGamal.mod_minus_plus", - "lemma_ElGamal.mod_plus_minus", + "equation_Prims.pos", "int_inversion", "int_typing", + "lemma_ElGamal.mod_minus_plus", "lemma_ElGamal.mod_plus_minus", "lemma_FStar.DM4F.Heap.Random.lemma_eq_intro", "lemma_FStar.DM4F.Heap.Random.lemma_index_upd1", "lemma_FStar.DM4F.Heap.Random.lemma_index_upd2", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", - "typing_ElGamal.log", "typing_FStar.DM4F.Heap.Random.sel", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c214c9b992936e25888fdce6a55eb676", + "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178", + "typing_ElGamal.log", "typing_FStar.DM4F.Heap.Random.q", + "typing_FStar.DM4F.Heap.Random.sel", "typing_FStar.DM4F.Heap.Random.to_id", "typing_FStar.DM4F.Heap.Random.upd" ], 0, - "7f967ef5cec0f25ef2c7cfad2f693e1b" + "fff27477adcddebd4b2726b42b095a22" ], [ "ElGamal.elgamal_prop", @@ -218,7 +219,7 @@ 1, [ "@query" ], 0, - "167e81ce944ebf89097cb02e9fdf75c8" + "56c2c471d24dbc437ab2436c700877ab" ] ] ] \ No newline at end of file diff --git a/examples/rel/Equivalence.fst.hints b/examples/rel/Equivalence.fst.hints index 9b31475b480..4015bcc8725 100644 --- a/examples/rel/Equivalence.fst.hints +++ b/examples/rel/Equivalence.fst.hints @@ -7,12 +7,12 @@ 2, 1, [ - "@query", "interpretation_Tm_abs_5646eff0017a4d35a78f1f3103e85ba6", + "@query", "interpretation_Tm_abs_b1c8883932587d6e77c9b9f49bf1529e", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "ecd7285defe00ae327353dc9c2dcde98" + "ed9e373965c057284407c8151bcf957e" ], [ "Equivalence.if_left_wp", @@ -29,7 +29,7 @@ "unit_typing" ], 0, - "0ce3252220e021b2d1272d4805b01704" + "b92b4647f24c2cb8b2123eadd0119c4b" ], [ "Equivalence.if_left_wp", @@ -38,15 +38,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "interpretation_Tm_abs_968bb084620bc6b97e58dd1307a49221", + "interpretation_Tm_abs_05c3413dc4edfd6c38ded12b8b1dcb1b", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3bb8de9165e5ea42e5e07a8efedd0281", - "unit_typing" + "refinement_interpretation_Tm_refine_094528a14195bb43a4115d3ab2b2fa93" ], 0, - "546d427ba25bbc788f22e4c47255ae27" + "ceef724b00e53644ca9f9a911be54b79" ], [ "Equivalence.if_left_wp'", @@ -56,14 +54,14 @@ [ "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Pervasives.Native.fst", - "interpretation_Tm_abs_5646eff0017a4d35a78f1f3103e85ba6", + "interpretation_Tm_abs_b1c8883932587d6e77c9b9f49bf1529e", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_362a15a1e90690626f6a6a30d2273471" + "refinement_interpretation_Tm_refine_1b1eb13a580a20bc2322fb527824ddae" ], 0, - "2780b93ac3376bc48b262d31786070bf" + "d2856b8db2a4006dde3e80fa3ff4347a" ], [ "Equivalence.if_left_wp", @@ -74,10 +72,10 @@ "@MaxIFuel_assumption", "@query", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3bb8de9165e5ea42e5e07a8efedd0281" + "refinement_interpretation_Tm_refine_094528a14195bb43a4115d3ab2b2fa93" ], 0, - "03c6f7a5f1e5f6017a41174f335a461a" + "3a51645337afc885d06df7a892bf6257" ], [ "Equivalence.if_left_wp'", @@ -86,10 +84,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_362a15a1e90690626f6a6a30d2273471" + "refinement_interpretation_Tm_refine_1b1eb13a580a20bc2322fb527824ddae" ], 0, - "ffab144c8485782a4fac2998339d4e55" + "846d751d40303f348f76ea9b27fc0e70" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcComposeReify.fst.hints b/examples/rel/IfcComposeReify.fst.hints index 41dd2fd527d..4a8fdc6407e 100644 --- a/examples/rel/IfcComposeReify.fst.hints +++ b/examples/rel/IfcComposeReify.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "d14fda267fe93fbbf01fc6fcdd7ad510" + "1e6c43095869c73b53eaeafef05127fb" ], [ "IfcComposeReify.ni_p1", @@ -19,7 +19,7 @@ "@MaxIFuel_assumption", "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_ada8876c48f06277d150f9f593b5d61f", + "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_b2d6b30e9174a09501e8a5719e7357a0", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_typing", @@ -32,11 +32,11 @@ "equation_IfcComposeReify.low_equiv", "equation_IfcComposeReify.p1", "equation_IfcComposeReify.p1_r", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_3e68d7267577aceb7caedc436fd63165", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_8b75b2dcc80e5f7725ee53b5d022ae38", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Equality", @@ -46,9 +46,9 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", + "refinement_interpretation_Tm_refine_03a927a17b13c20652477177d78fbc88", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_637135077ae3b9a43e6f37874b54e5e1", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.DM4F.Heap.IntStoreFixed.index", "typing_FStar.DM4F.IntStoreFixed.write", @@ -56,7 +56,7 @@ "unit_typing" ], 0, - "f01f9ae9b68cf106dff6829c640d3491" + "e953f877761a658604078b8c1ad951ac" ], [ "IfcComposeReify.ni_p2", @@ -67,7 +67,7 @@ "@MaxIFuel_assumption", "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_ada8876c48f06277d150f9f593b5d61f", + "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_b2d6b30e9174a09501e8a5719e7357a0", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_typing", @@ -80,11 +80,11 @@ "equation_IfcComposeReify.low_equiv", "equation_IfcComposeReify.p2", "equation_IfcComposeReify.p2_r", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_3e68d7267577aceb7caedc436fd63165", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_8b75b2dcc80e5f7725ee53b5d022ae38", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Equality", @@ -94,9 +94,9 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", + "refinement_interpretation_Tm_refine_03a927a17b13c20652477177d78fbc88", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_637135077ae3b9a43e6f37874b54e5e1", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.DM4F.Heap.IntStoreFixed.index", "typing_FStar.DM4F.IntStoreFixed.write", @@ -104,7 +104,7 @@ "unit_typing" ], 0, - "23143a0fda6dc855a7ec57120c53a8e3" + "6d1fb16e76345b9eddebf99e70d71240" ], [ "IfcComposeReify.ni_p3", @@ -115,7 +115,7 @@ "@MaxIFuel_assumption", "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_ada8876c48f06277d150f9f593b5d61f", + "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_b2d6b30e9174a09501e8a5719e7357a0", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "disc_equation_IfcComposeReify.Low", @@ -129,11 +129,11 @@ "equation_IfcComposeReify.p2_r", "equation_IfcComposeReify.p3", "equation_IfcComposeReify.p3_r", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_3e68d7267577aceb7caedc436fd63165", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_8b75b2dcc80e5f7725ee53b5d022ae38", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Equality", @@ -144,9 +144,9 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", + "refinement_interpretation_Tm_refine_03a927a17b13c20652477177d78fbc88", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_637135077ae3b9a43e6f37874b54e5e1", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.DM4F.Heap.IntStoreFixed.index", "typing_FStar.DM4F.IntStoreFixed.write", @@ -155,7 +155,7 @@ "unit_typing" ], 0, - "b4d741b47c44068c2db2e10600f207d7" + "15bca807ae8f8f5b2525405cebebda31" ], [ "IfcComposeReify.is_x", @@ -164,7 +164,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "692d9c33536280248fc9b17ec31e0cb0" + "200099bc24af57ce3abf78c1eccb1ae2" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcDeclassify.fst.hints b/examples/rel/IfcDeclassify.fst.hints index 0679d92d2c6..521971386f0 100644 --- a/examples/rel/IfcDeclassify.fst.hints +++ b/examples/rel/IfcDeclassify.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "0ccba7b611c24a1b5eba1f0ca02131df" + "5f7ecdfd88f895b02494af2e4970d4ac" ], [ "IfcDeclassify._dm4f_STATE___proj__STATE__item__put_elab", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "00258c1f04ce55cd9e3454c1fd8fc64c" + "e148806cca5f94a06eb2f0641f9fb32d" ], [ "IfcDeclassify.STATE", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "253490f8b45ac8b041756670bf04f9d9" + "a2e3f7a24ad8948007591105fc536794" ], [ "IfcDeclassify.STATE", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "b09b5bb77f30e350e5fd89ae3e7836c2" + "609ae032f029ae3a10e4b1674c7ae2dc" ], [ "IfcDeclassify.ni_p1", @@ -49,10 +49,10 @@ "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.Pervasives.Native.snd", "equation_IfcDeclassify.low_equiv", "equation_IfcDeclassify.p1", - "interpretation_Tm_abs_3b623786f2fbf4b7dc2f04e449e07fa7", - "interpretation_Tm_abs_41a6aeb344744b378388d8bbab6d95a6", - "interpretation_Tm_abs_96d463c7b76392302248096fccbe9818", + "interpretation_Tm_abs_060fb0145582815ad5d57a5db47359d7", + "interpretation_Tm_abs_0f8654d7239488f093d83aa1c1768f47", "interpretation_Tm_abs_cf5d9a25e2ec20e0acdb40514a0389c2", + "interpretation_Tm_abs_e162a7d3105291b2cbbda7621a49cf36", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -61,7 +61,7 @@ "unit_typing" ], 0, - "17a9fb307e068404e7f970316c1ae97e" + "f5519950d07f1e7cc6a7dd69f1d0eae8" ], [ "IfcDeclassify.ni_p2", @@ -75,10 +75,10 @@ "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.Pervasives.Native.snd", "equation_IfcDeclassify.low_equiv", "equation_IfcDeclassify.p2", - "interpretation_Tm_abs_3b623786f2fbf4b7dc2f04e449e07fa7", - "interpretation_Tm_abs_41a6aeb344744b378388d8bbab6d95a6", - "interpretation_Tm_abs_96d463c7b76392302248096fccbe9818", + "interpretation_Tm_abs_060fb0145582815ad5d57a5db47359d7", + "interpretation_Tm_abs_0f8654d7239488f093d83aa1c1768f47", "interpretation_Tm_abs_cf5d9a25e2ec20e0acdb40514a0389c2", + "interpretation_Tm_abs_e162a7d3105291b2cbbda7621a49cf36", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_IfcDeclassify.Mkstate_public", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", @@ -89,7 +89,7 @@ "unit_typing" ], 0, - "b0367bfcc1d16e45525be38e9f2ed9fb" + "7a455c894b8ede2feb61f32fccdef22d" ], [ "IfcDeclassify.ni_p4", @@ -101,8 +101,8 @@ "IfcDeclassify.__proj__STATE__item__put_equality", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.Pervasives.Native.snd", "equation_IfcDeclassify.p4", - "interpretation_Tm_abs_3b623786f2fbf4b7dc2f04e449e07fa7", - "interpretation_Tm_abs_41a6aeb344744b378388d8bbab6d95a6", + "interpretation_Tm_abs_0f8654d7239488f093d83aa1c1768f47", + "interpretation_Tm_abs_e162a7d3105291b2cbbda7621a49cf36", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_IfcDeclassify.Mkstate_release", "projection_inverse_BoxBool_proj_0", @@ -110,7 +110,7 @@ "projection_inverse_IfcDeclassify.Mkstate_release", "unit_typing" ], 0, - "a4d5b8926cd25a11deff6c22493d9926" + "52b386374f3fd4988b4e5893af3a6213" ], [ "IfcDeclassify._dm4f_STATE___proj__STATE__item__get_elab", @@ -119,7 +119,7 @@ 1, [ "@query" ], 0, - "0f3f7ecde4e9d771b413340942d5a34b" + "06fa566eaa3f0ee917be6bd2fe404d38" ], [ "IfcDeclassify._dm4f_STATE___proj__STATE__item__put_elab", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "7881489f94ce0543668dbd48e4fa61e8" + "d6490fc67a28a3082fc19976fd9e7e45" ], [ "IfcDeclassify.STATE", @@ -137,7 +137,7 @@ 1, [ "@query" ], 0, - "aa5bd0007aa9599f8e35b678c88873bc" + "77b8f52820c7258b2227330606a48ee2" ], [ "IfcDeclassify.STATE", @@ -146,7 +146,82 @@ 1, [ "@query" ], 0, - "14b4f516d3b6f0d30ccf3091ff5caacd" + "e9775b0ccbd9a34faf7d020502199c01" + ], + [ + "IfcDeclassify.ni_p1", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "IfcDeclassify.__proj__STATE__item__get_equality", + "IfcDeclassify.__proj__STATE__item__put_equality", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "equation_FStar.Pervasives.Native.snd", + "equation_IfcDeclassify.low_equiv", "equation_IfcDeclassify.p1", + "interpretation_Tm_abs_060fb0145582815ad5d57a5db47359d7", + "interpretation_Tm_abs_0f8654d7239488f093d83aa1c1768f47", + "interpretation_Tm_abs_cf5d9a25e2ec20e0acdb40514a0389c2", + "interpretation_Tm_abs_e162a7d3105291b2cbbda7621a49cf36", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", + "unit_typing" + ], + 0, + "64fff255987e058964995236a32a1d0e" + ], + [ + "IfcDeclassify.ni_p2", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "IfcDeclassify.__proj__STATE__item__get_equality", + "IfcDeclassify.__proj__STATE__item__put_equality", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "equation_FStar.Pervasives.Native.snd", + "equation_IfcDeclassify.low_equiv", "equation_IfcDeclassify.p2", + "interpretation_Tm_abs_060fb0145582815ad5d57a5db47359d7", + "interpretation_Tm_abs_0f8654d7239488f093d83aa1c1768f47", + "interpretation_Tm_abs_cf5d9a25e2ec20e0acdb40514a0389c2", + "interpretation_Tm_abs_e162a7d3105291b2cbbda7621a49cf36", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_IfcDeclassify.Mkstate_public", + "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_IfcDeclassify.Mkstate_public", + "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", + "unit_typing" + ], + 0, + "ee4075570eddb13887391f20ddd478e1" + ], + [ + "IfcDeclassify.ni_p4", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "IfcDeclassify.__proj__STATE__item__put_equality", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "equation_FStar.Pervasives.Native.snd", "equation_IfcDeclassify.p4", + "interpretation_Tm_abs_0f8654d7239488f093d83aa1c1768f47", + "interpretation_Tm_abs_e162a7d3105291b2cbbda7621a49cf36", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", + "proj_equation_IfcDeclassify.Mkstate_release", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_IfcDeclassify.Mkstate_release", "unit_typing" + ], + 0, + "c2bb23f913902dac7372f7405c406d7f" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcDelimitedRelease.fst.hints b/examples/rel/IfcDelimitedRelease.fst.hints index 6e73fbd2d88..4095e6a3651 100644 --- a/examples/rel/IfcDelimitedRelease.fst.hints +++ b/examples/rel/IfcDelimitedRelease.fst.hints @@ -8,19 +8,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_466a7e3aef0026821187dcfc71319c05_0", + "binder_x_9bde3db3b6043b2fb2d90fefaba897c3_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.pos", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_Prims.Cons" ], 0, - "9b2bf9a777a32942a57a6357e257a867" + "f07dca820fe97fad595085577d3dd15f" ], [ "IfcDelimitedRelease.prog", @@ -30,11 +28,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "35abec79157dd12d0486403d181dcb17" + "286e3cc8c68f6742f5f8a640ef9aeb98" ], [ "IfcDelimitedRelease.low_equiv", @@ -43,7 +41,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "267dbc19645b577ec304870a0062baf6" + "910e6ce6bfd9346a9fa8e14bd532a6a3" ], [ "IfcDelimitedRelease.g_for_all", @@ -57,7 +55,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "37d2da253dfc3b7d7c3570502863af56" + "810aacfe354412cf21120264dfcc179e" ], [ "IfcDelimitedRelease.del_rel", @@ -70,13 +68,13 @@ "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", + "refinement_interpretation_Tm_refine_33bc10db63ef26eac973ff2cc57125df", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4b4ecc668e76a7a2208d80db90283fdd", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "39c365baaf596a9721224124f51b7c95" + "d450a1937a8159729a746b8db74449c9" ], [ "IfcDelimitedRelease.del_rel", @@ -93,7 +91,7 @@ "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "370db7cdfb92e40338f0f40960e0fa4e" + "cfa153a95a59ad7adebb5c55cc05c147" ], [ "IfcDelimitedRelease.test", @@ -103,11 +101,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c2d2b12fdd8e67af0be7f077e9fea78b" + "09d80b6e68c40e6e104908b85364c94b" ], [ "IfcDelimitedRelease.test", @@ -118,26 +116,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_961fa425c803d15506c1d8a335167127", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_eaa6af43830359e718bf8afdc42f6bf5", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.mref" ], 0, - "e525f3c3579cc1f4ac9bd6b641be0a54" + "9806206d3f001e83c2244d7800a825ed" ], [ "IfcDelimitedRelease.verify_test", @@ -164,7 +159,7 @@ "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "470e097c93aa61364cc0a0eeb7d265da" + "6c68db5474763d922c14d2dc19b52b08" ], [ "IfcDelimitedRelease.verify_test", @@ -175,9 +170,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_IfcDelimitedRelease.g_for_all.fuel_instrumented", "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_IfcDelimitedRelease.High", + "@query", + "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_cc6398078858b69925aca0d956a4bad0", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "constructor_distinct_IfcDelimitedRelease.High", + "constructor_distinct_IfcDelimitedRelease.Low", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", @@ -191,20 +189,19 @@ "equation_IfcDelimitedRelease.low_equiv", "equation_IfcDelimitedRelease.rel_contains", "equation_IfcDelimitedRelease.test", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_with_fuel_IfcDelimitedRelease.g_for_all.fuel_instrumented", "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "fuel_guarded_inversion_Rel.rel", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_IfcDelimitedRelease.iexpr", + "function_token_typing_IfcDelimitedRelease.iexpr_eq", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_5bb13c80cf3cca86df1dceb4355168c7", - "interpretation_Tm_abs_e78fcd2ad579dc10ea7612ac352b48ef", + "interpretation_Tm_abs_159865349521372ad9811da827e4930e", + "interpretation_Tm_abs_d3a89872dba6d38d4d1599aa797a3ea5", + "kinding_Tm_ghost_arrow_c1c0bc18c968aa5a062af710123f23be", "l_and-interp", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "partial_app_typing_0711b28b39b67822035a59c2cad5e18d", "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", "projection_inverse_BoxBool_proj_0", @@ -218,10 +215,10 @@ "typing_FStar.Heap.ref", "typing_FStar.Heap.trivial_preorder", "typing_IfcDelimitedRelease.g_for_all", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_5bb13c80cf3cca86df1dceb4355168c7" + "typing_Tm_abs_159865349521372ad9811da827e4930e" ], 0, - "d74abcea0ef1209730839031f0f69ecd" + "ffa5a79cf9f2f4b9d1e8bb752da2debb" ], [ "IfcDelimitedRelease.sum", @@ -231,11 +228,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "121f2f3249ec2e7bb496a5470d62f75d" + "6c123ff0b723592c422207741c8c5863" ], [ "IfcDelimitedRelease.sum", @@ -245,29 +242,25 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6972f42faf29bfbdfb482b87028d4cc1", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbe57fb7a4789e8dc1a9e2855a6f55ea", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.mref", "typing_Prims.__proj__Cons__item__tl" ], 0, - "e8ced443b7a91faf87c132201e655b78" + "2a18726b671e323ddcf4084ea46348c8" ], [ "IfcDelimitedRelease.verify_sum", @@ -277,26 +270,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "c4aa602a5768b654843cef988b4815fa" + "e399c034143c699101421ebe3f630452" ], [ "IfcDelimitedRelease.verify_sum", @@ -307,10 +298,13 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_IfcDelimitedRelease.g_for_all.fuel_instrumented", "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", + "@query", + "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_53dd7ded5e11e7eaf12112b7503f3c56", + "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_cc6398078858b69925aca0d956a4bad0", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.Heap.ref", "equation_FStar.Heap.trivial_preorder", "equation_IfcDelimitedRelease.bexpr", @@ -324,16 +318,16 @@ "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "fuel_guarded_inversion_Rel.rel", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_IfcDelimitedRelease.bexpr", - "function_token_typing_IfcDelimitedRelease.iexpr", + "function_token_typing_IfcDelimitedRelease.bexpr_eq", + "function_token_typing_IfcDelimitedRelease.iexpr_eq", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_9a9191e98e7a0c159eb4ccf131ab15fa", + "interpretation_Tm_abs_61cd66595b3820a3e0bf75c013334561", + "kinding_Tm_ghost_arrow_888af68e7518cbbf754945dfbdd439d3", + "kinding_Tm_ghost_arrow_c1c0bc18c968aa5a062af710123f23be", "l_and-interp", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "partial_app_typing_0711b28b39b67822035a59c2cad5e18d", - "partial_app_typing_89b7a380ee95b3611df7e8b56a0f485d", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", "projection_inverse_BoxBool_proj_0", @@ -347,10 +341,10 @@ "typing_FStar.Heap.ref", "typing_FStar.Heap.trivial_preorder", "typing_IfcDelimitedRelease.g_for_all", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_9a9191e98e7a0c159eb4ccf131ab15fa" + "typing_Tm_abs_61cd66595b3820a3e0bf75c013334561" ], 0, - "f5cbbf93b37248fa8c9c83491c416158" + "179a8af0fdbb877b6a0c9a19f2a72c00" ], [ "IfcDelimitedRelease.sum_swap", @@ -360,11 +354,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b61d646d0e84ba55d25801bd4299c39d" + "2eaedc29e5965cd5046bfd79120e9cb5" ], [ "IfcDelimitedRelease.sum_swap", @@ -375,30 +369,27 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6972f42faf29bfbdfb482b87028d4cc1", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbe57fb7a4789e8dc1a9e2855a6f55ea", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.mref", "typing_Prims.__proj__Cons__item__tl" ], 0, - "d265e99ef81625ddb492fb294c05565c" + "8592edc2d4c00d01fd1fbf83606003cc" ], [ "IfcDelimitedRelease.verify_sum_swap", @@ -408,26 +399,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "494964107d197a5e24ba258cec75eb47" + "ff0d865eda98a9f2125b803ad92e7480" ], [ "IfcDelimitedRelease.verify_sum_swap", @@ -442,10 +431,12 @@ "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", - "IfcDelimitedRelease_interpretation_Tm_arrow_4cc402257d014a1f91a29f1cccfddb48", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_IfcDelimitedRelease.High", + "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_53dd7ded5e11e7eaf12112b7503f3c56", + "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_cc6398078858b69925aca0d956a4bad0", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "constructor_distinct_IfcDelimitedRelease.High", + "constructor_distinct_IfcDelimitedRelease.Low", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", @@ -457,7 +448,6 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_IfcDelimitedRelease.bexpr", "equation_IfcDelimitedRelease.del_rel", - "equation_IfcDelimitedRelease.env", "equation_IfcDelimitedRelease.iexpr", "equation_IfcDelimitedRelease.iexpr_eq", "equation_IfcDelimitedRelease.low_equiv", @@ -468,27 +458,26 @@ "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "equation_with_fuel_IfcDelimitedRelease.g_for_all.fuel_instrumented", "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "fuel_guarded_inversion_IfcDelimitedRelease.label", "fuel_guarded_inversion_Rel.rel", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_IfcDelimitedRelease.bexpr", - "function_token_typing_IfcDelimitedRelease.iexpr", + "function_token_typing_IfcDelimitedRelease.bexpr_eq", + "function_token_typing_IfcDelimitedRelease.iexpr_eq", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_3349f262ca469ddd3fd3348c4188b67a", - "interpretation_Tm_abs_9a9191e98e7a0c159eb4ccf131ab15fa", + "interpretation_Tm_abs_0af7f196ba1cbc07e74809b7abbecff4", + "interpretation_Tm_abs_61cd66595b3820a3e0bf75c013334561", + "kinding_Tm_ghost_arrow_888af68e7518cbbf754945dfbdd439d3", + "kinding_Tm_ghost_arrow_c1c0bc18c968aa5a062af710123f23be", "l_and-interp", "l_or-interp", - "l_quant_interp_347e01da3f4df0c953869315d6a45c87", + "l_quant_interp_4a7af2cbe35cf1da46bd7a94fb604973", "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", "lemma_FStar.Set.mem_singleton", "lemma_FStar.TSet.lemma_mem_tset_of_set", - "partial_app_typing_0711b28b39b67822035a59c2cad5e18d", - "partial_app_typing_89b7a380ee95b3611df7e8b56a0f485d", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", "projection_inverse_BoxBool_proj_0", @@ -498,8 +487,9 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_IfcDelimitedRelease.iexpr_eq", "token_correspondence_IfcDelimitedRelease.sum_swap", "typing_FStar.Heap.ref", "typing_FStar.Heap.trivial_preorder", @@ -508,11 +498,10 @@ "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Set.singleton", "typing_IfcDelimitedRelease.g_for_all", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_3349f262ca469ddd3fd3348c4188b67a", - "typing_Tm_abs_9a9191e98e7a0c159eb4ccf131ab15fa" + "typing_Tm_abs_61cd66595b3820a3e0bf75c013334561" ], 0, - "46491833b7daf2e17f09a0f1cbf88f7f" + "ca0a450c5ac2049495ef0e9de0d71762" ], [ "IfcDelimitedRelease.sum_att", @@ -522,11 +511,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6be250459b6ee7be704028f05c34a172" + "6a4911baebde62802556a487b3aa2e9c" ], [ "IfcDelimitedRelease.sum_att", @@ -536,29 +525,25 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6972f42faf29bfbdfb482b87028d4cc1", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbe57fb7a4789e8dc1a9e2855a6f55ea", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.mref", "typing_Prims.__proj__Cons__item__tl" ], 0, - "d4c129bb1bd710e0e016acea8ec245fe" + "d92b3ea64f3e051ed257df16d862cd81" ], [ "IfcDelimitedRelease.wallet", @@ -568,11 +553,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3b889efd7c52121451cbb6585b7304a2" + "ecf7def89adcee6090b6be9aae810659" ], [ "IfcDelimitedRelease.wallet", @@ -583,26 +568,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_961fa425c803d15506c1d8a335167127", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_eaa6af43830359e718bf8afdc42f6bf5", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.mref" ], 0, - "f9a7876dcc514def04f135d508c0a15c" + "e1bba5e105f32129f46ee4e353ec58b6" ], [ "IfcDelimitedRelease.verify_wallet", @@ -629,7 +611,7 @@ "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "e7cf1f370542af151b244b1c5b3e3ddd" + "e6e8a1dd249290e82b857d343f6aaca3" ], [ "IfcDelimitedRelease.verify_wallet", @@ -641,9 +623,13 @@ "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_correspondence_IfcDelimitedRelease.g_for_all.fuel_instrumented", "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", + "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_53dd7ded5e11e7eaf12112b7503f3c56", + "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_IfcDelimitedRelease.High", + "constructor_distinct_IfcDelimitedRelease.Low", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", @@ -659,24 +645,23 @@ "equation_IfcDelimitedRelease.low_equiv", "equation_IfcDelimitedRelease.rel_contains", "equation_IfcDelimitedRelease.wallet", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "equation_with_fuel_IfcDelimitedRelease.g_for_all.fuel_instrumented", "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "fuel_guarded_inversion_Rel.rel", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_IfcDelimitedRelease.bexpr", + "function_token_typing_IfcDelimitedRelease.bexpr_eq", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_4982e42fd1a9a5839fec378345303e99", - "interpretation_Tm_abs_892ec48686f9dafddcc1744e61534eed", + "interpretation_Tm_abs_7af0828ee869ba8b9278405ff5a09f7a", + "interpretation_Tm_abs_b11839f9561d1cf4aa3eddb3679466a6", + "kinding_Tm_ghost_arrow_888af68e7518cbbf754945dfbdd439d3", "l_and-interp", "l_or-interp", - "l_quant_interp_347e01da3f4df0c953869315d6a45c87", + "l_quant_interp_4a7af2cbe35cf1da46bd7a94fb604973", "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "partial_app_typing_89b7a380ee95b3611df7e8b56a0f485d", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", "projection_inverse_BoxBool_proj_0", @@ -692,10 +677,10 @@ "typing_FStar.Monotonic.Heap.upd", "typing_IfcDelimitedRelease.g_for_all", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_892ec48686f9dafddcc1744e61534eed" + "typing_Tm_abs_7af0828ee869ba8b9278405ff5a09f7a" ], 0, - "e10a11414bd23d0f0437a733c87bab99" + "6d1f03a5bb53ae716865c3af9e459ee5" ], [ "IfcDelimitedRelease.wallet_attack_loop", @@ -712,13 +697,13 @@ "function_token_typing_Prims.int", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_3a8574a79a9d8330119441a0bb3648a0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69a37e723c357e1d083c60acb68267c9", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.mref" ], 0, - "6f9584a7bc09e4178489e73c4fea2fe0" + "2a14521350950c4c9f15adefe7d4f5c1" ], [ "IfcDelimitedRelease.wallet_attack_loop", @@ -728,21 +713,20 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.Heap.ref", - "equation_Prims.eqtype", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_3a8574a79a9d8330119441a0bb3648a0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69a37e723c357e1d083c60acb68267c9", - "typing_FStar.Heap.ref" + "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Monotonic.Heap.mref" ], 0, - "5da0f11b5b94973455a81c96fb43adc4" + "fd86bf0dfe93232e0dbd656c9d4b73c9" ], [ "IfcDelimitedRelease.wallet_attack_loop", @@ -756,14 +740,14 @@ "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_09fa656219c233a5952ca86dbc7a8bb3_0", - "binder_x_509eebd2b299641d9ab38cbd0e44db7c_1", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_3a9854bd66c6f9b540d1417c2626e660_1", + "binder_x_f14fbccf1987229a63a9e5d5ceaa2ab1_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_FStar.Heap.ref", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.List.Tot.Base.hd", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", @@ -775,13 +759,15 @@ "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_typing", "l_and-interp", - "l_or-interp", "l_quant_interp_347e01da3f4df0c953869315d6a45c87", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "l_and-interp", "l_or-interp", + "l_quant_interp_4a7af2cbe35cf1da46bd7a94fb604973", "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", + "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", @@ -789,20 +775,20 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1f6e775fb8f802d683537c399ed9d907", + "refinement_interpretation_Tm_refine_3a8574a79a9d8330119441a0bb3648a0", + "refinement_interpretation_Tm_refine_3c3ea66d312ddf9d12e2fa683a996ecd", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69a37e723c357e1d083c60acb68267c9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_FStar.Heap.ref", - "typing_FStar.Heap.trivial_preorder", + "true_interp", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Monotonic.Heap.mref", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.upd", "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" ], 0, - "e5ef182ff11cfc4c81ce96f2d8959428" + "7414840abc1043e258cffe6449a45dc3" ], [ "IfcDelimitedRelease.wallet_attack", @@ -812,11 +798,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "54e5ab2f46894921a8f67a310a57eac4" + "22b648f5e6fae690e64cb4ba8fe25a8a" ], [ "IfcDelimitedRelease.wallet_attack", @@ -828,18 +814,18 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_FStar.Heap.trivial_preorder", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_typing", "l_and-interp", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "l_and-interp", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", @@ -847,18 +833,18 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_3a8574a79a9d8330119441a0bb3648a0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69a37e723c357e1d083c60acb68267c9", - "refinement_interpretation_Tm_refine_7a1fe9ce4ef22602cb7b3705c8dd7807", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_62aa0f33e95f78544e07168f5af778f4", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_FStar.Heap.ref", - "typing_FStar.Heap.trivial_preorder", + "true_interp", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Monotonic.Heap.mref", "typing_Prims.__proj__Cons__item__tl" ], 0, - "b1cf66f15e1fa874fb3c11a3324a8de7" + "6a8d926de6dc1497dbd2dd9e9b580ecf" ], [ "IfcDelimitedRelease.refs_invariant", @@ -867,19 +853,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_466a7e3aef0026821187dcfc71319c05_0", + "binder_x_9bde3db3b6043b2fb2d90fefaba897c3_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.pos", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_Prims.Cons" ], 0, - "004167892f562871b98d0c461ccf46a1" + "03d8c0e4d1198fac3cecfcee7bfb0913" ], [ "IfcDelimitedRelease.prog", @@ -889,11 +873,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4e0640527e199fd31790401aa48d26c3" + "45e28480ab838d1c07b8e3a5dddd1dd7" ], [ "IfcDelimitedRelease.low_equiv", @@ -902,7 +886,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "821b4a4165df71e6a3180496cc5ad079" + "080211908556ef9ef35446871deef149" ], [ "IfcDelimitedRelease.g_for_all", @@ -916,7 +900,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "3bf30c3c14ad63abd6aed75c19d25250" + "a3b1f77139a98e9ee8d371c22dd32ec0" ], [ "IfcDelimitedRelease.del_rel", @@ -929,13 +913,13 @@ "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", + "refinement_interpretation_Tm_refine_33bc10db63ef26eac973ff2cc57125df", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4b4ecc668e76a7a2208d80db90283fdd", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "90ba35c5a5af9d69bf9d46b84216a406" + "2e37c9695c0b36c3853561120756c912" ], [ "IfcDelimitedRelease.del_rel", @@ -944,7 +928,7 @@ 1, [ "@query" ], 0, - "6a028f121af769e590706c18ee485cbd" + "e3af8f138a0661dd4d212688c5c39dde" ], [ "IfcDelimitedRelease.del_rel", @@ -957,13 +941,13 @@ "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", + "refinement_interpretation_Tm_refine_33bc10db63ef26eac973ff2cc57125df", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4b4ecc668e76a7a2208d80db90283fdd", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "610b3c9460d01cb3b2d17a55dd812129" + "a773f97708188facdb4df6ba5ba2627c" ], [ "IfcDelimitedRelease.test", @@ -973,11 +957,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e78c659cbb2cf4ebfb6c710bffcdedff" + "85e8dcd67b143511d2d56da41915452b" ], [ "IfcDelimitedRelease.test", @@ -988,40 +972,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_961fa425c803d15506c1d8a335167127", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_eaa6af43830359e718bf8afdc42f6bf5", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.mref" ], 0, - "486c88dcac77f4582ecbbf9422852183" - ], - [ - "IfcDelimitedRelease.test", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "1d9975b5af58b73414bf0d31ea8e926a" + "0c03fbcc83b7e22432a57b446521cd9f" ], [ "IfcDelimitedRelease.verify_test", @@ -1048,7 +1015,7 @@ "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "5543dac0e6fe385470d0b43d6a5ff192" + "78ba82366bdd66d1918fbb352787d482" ], [ "IfcDelimitedRelease.sum", @@ -1058,11 +1025,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "33b070663b5198f9d4912f285796c515" + "606dd3f46dea1c2a646627a95bbff4a4" ], [ "IfcDelimitedRelease.sum", @@ -1072,43 +1039,25 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6972f42faf29bfbdfb482b87028d4cc1", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbe57fb7a4789e8dc1a9e2855a6f55ea", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.mref", "typing_Prims.__proj__Cons__item__tl" ], 0, - "6d34c7496c2acb11362876cd91769936" - ], - [ - "IfcDelimitedRelease.sum", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "ab3ab7a241099190e5b2b7593ad81c11" + "3be2f510916b29a727cdabcb873aca5a" ], [ "IfcDelimitedRelease.verify_sum", @@ -1118,26 +1067,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "8f5cb53a53111a091f4b1574a5412e29" + "35884e467d34be48fa014ae3cadf3f13" ], [ "IfcDelimitedRelease.sum_swap", @@ -1147,11 +1094,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0a1f668385e494ae0724c56c2501f122" + "2ca3734d21695ea854b2d626508785b9" ], [ "IfcDelimitedRelease.sum_swap", @@ -1162,44 +1109,27 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6972f42faf29bfbdfb482b87028d4cc1", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbe57fb7a4789e8dc1a9e2855a6f55ea", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.mref", "typing_Prims.__proj__Cons__item__tl" ], 0, - "0d731fbe4fd4ba99e0e441efc165a819" - ], - [ - "IfcDelimitedRelease.sum_swap", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "010ddfedad6578c50ca34280b221f0cd" + "16e60ccc39bceef751d2b2556955707d" ], [ "IfcDelimitedRelease.verify_sum_swap", @@ -1209,26 +1139,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "5a0e3b3fd847610dee232277709581d8" + "2bf3e4da34d7e2eb4562a871a9664539" ], [ "IfcDelimitedRelease.sum_att", @@ -1238,11 +1166,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "14206dfe789168ceadbcd9c3d602e402" + "14b7db2f92fa43dbb3f4956edbb4b34c" ], [ "IfcDelimitedRelease.sum_att", @@ -1252,43 +1180,25 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6972f42faf29bfbdfb482b87028d4cc1", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbe57fb7a4789e8dc1a9e2855a6f55ea", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.mref", "typing_Prims.__proj__Cons__item__tl" ], 0, - "cb0ce59d3c3d83cda62cd87305d97a2e" - ], - [ - "IfcDelimitedRelease.sum_att", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "853e9c64321cf306a1abad049b8027ef" + "ba43fe2b7ab59f238074c6421aa88c8c" ], [ "IfcDelimitedRelease.wallet", @@ -1298,11 +1208,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d4b89df6dab568bea189e57248a57882" + "a713ca46937aa09e0747e2e5d2e487e3" ], [ "IfcDelimitedRelease.wallet", @@ -1313,40 +1223,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_961fa425c803d15506c1d8a335167127", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_eaa6af43830359e718bf8afdc42f6bf5", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.mref" ], 0, - "a47cce459712b153e3cae8d6da0fd91e" - ], - [ - "IfcDelimitedRelease.wallet", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "239ece58f2a412ebc6aaed97b5ac60ae" + "ead58326687a69ea04fc4367dda17586" ], [ "IfcDelimitedRelease.verify_wallet", @@ -1373,7 +1266,7 @@ "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length" ], 0, - "494ba6fff40f72e6c01e3adcd3926bd4" + "b35d61c56e9cc5d19b0614d6c6b41543" ], [ "IfcDelimitedRelease.wallet_attack_loop", @@ -1383,21 +1276,20 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.Heap.ref", - "equation_Prims.eqtype", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_FStar.Heap.ref", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_3a8574a79a9d8330119441a0bb3648a0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69a37e723c357e1d083c60acb68267c9", - "typing_FStar.Heap.ref" + "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Monotonic.Heap.mref" ], 0, - "52a000b00969c2fa6281e5214ca04100" + "d1649ed87d3d0eae9a8fb56dafa0298b" ], [ "IfcDelimitedRelease.wallet_attack_loop", @@ -1411,14 +1303,14 @@ "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_09fa656219c233a5952ca86dbc7a8bb3_0", - "binder_x_509eebd2b299641d9ab38cbd0e44db7c_1", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_3a9854bd66c6f9b540d1417c2626e660_1", + "binder_x_f14fbccf1987229a63a9e5d5ceaa2ab1_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_FStar.Heap.ref", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.List.Tot.Base.hd", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", @@ -1430,13 +1322,15 @@ "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_typing", "l_and-interp", - "l_or-interp", "l_quant_interp_347e01da3f4df0c953869315d6a45c87", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "l_and-interp", "l_or-interp", + "l_quant_interp_4a7af2cbe35cf1da46bd7a94fb604973", "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", + "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", @@ -1444,20 +1338,20 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1f6e775fb8f802d683537c399ed9d907", + "refinement_interpretation_Tm_refine_3a8574a79a9d8330119441a0bb3648a0", + "refinement_interpretation_Tm_refine_3c3ea66d312ddf9d12e2fa683a996ecd", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69a37e723c357e1d083c60acb68267c9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_FStar.Heap.ref", - "typing_FStar.Heap.trivial_preorder", + "true_interp", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Monotonic.Heap.mref", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.upd", "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" ], 0, - "bfa09c3a8d61218e904cc65e2ee16307" + "698db2286f51cb4e56ed5e2624ae0583" ], [ "IfcDelimitedRelease.wallet_attack", @@ -1467,11 +1361,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b7a240252f8ee0107eff5f8d28db2ef6" + "2f6646990a100d9d69e413c268870cb5" ], [ "IfcDelimitedRelease.wallet_attack", @@ -1483,18 +1377,18 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_FStar.Heap.trivial_preorder", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_typing", "l_and-interp", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "l_and-interp", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", @@ -1502,32 +1396,18 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_3a8574a79a9d8330119441a0bb3648a0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69a37e723c357e1d083c60acb68267c9", - "refinement_interpretation_Tm_refine_7a1fe9ce4ef22602cb7b3705c8dd7807", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_62aa0f33e95f78544e07168f5af778f4", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_FStar.Heap.ref", - "typing_FStar.Heap.trivial_preorder", + "true_interp", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Monotonic.Heap.mref", "typing_Prims.__proj__Cons__item__tl" ], 0, - "10d0f9ffe6c7fe32f2887645fa6d474b" - ], - [ - "IfcDelimitedRelease.wallet_attack", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "efa634a6726b100d71df533291278826" + "40697c3a7c237daae45a6dff5136abf1" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcDelimitedReleaseReify.fst.hints b/examples/rel/IfcDelimitedReleaseReify.fst.hints index 362877901b7..684969e227e 100644 --- a/examples/rel/IfcDelimitedReleaseReify.fst.hints +++ b/examples/rel/IfcDelimitedReleaseReify.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_IfcDelimitedReleaseReify_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d" ], 0, - "a5a9f58fc27cef9facaf23eb966e562c" + "d8d321e90dd4370875c7f73944404471" ], [ "IfcDelimitedReleaseReify.test", @@ -22,24 +22,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_136b16c9f8ac9a7271eaa40df3bd5ead", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5216dc2e383a8145ef37b65b6a5c2395", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "61bb75d5775d068eee2472ab24c29c58" + "24a0a87cd4f0176c45b7b5903ae80342" ], [ "IfcDelimitedReleaseReify.verify_test", @@ -67,7 +64,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "a4f64688a3bb44601926797ad20a7a24" + "c50d588db4090b720bdf930cfe14cbd8" ], [ "IfcDelimitedReleaseReify.verify_test", @@ -82,10 +79,12 @@ "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_4f677a567e5a2f2b98386ee8705a08d2", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_110868616776d1eee0eb7f537ee349e8", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_3cc7175fd65342b981d888d9966735e3", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_ac19a5c9813efdb2b2434431a78f9376", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_f25e2a177497037e71582d7c9531f27d", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", @@ -109,20 +108,20 @@ "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedReleaseReify.bexpr", - "function_token_typing_IfcDelimitedReleaseReify.iexpr", + "function_token_typing_IfcDelimitedReleaseReify.bexpr_eq", + "function_token_typing_IfcDelimitedReleaseReify.iexpr_eq", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_13a0fe21dc933cd3a7d1eb3b49c5e967", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_2fed55513e1e03c1287a01dc5a5fe842", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_e91b23479abc3ec9e4849fd8888604cd", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_5d5db1b2e8b966b65f72595259c61892", + "interpretation_Tm_abs_74cd6c493c6979d35d76e0163e2ee286", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_d630b70fe62642785214a5f25ab54373", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", + "kinding_Tm_arrow_4585721726f8f0b730e5a42d862fc7d6", + "kinding_Tm_arrow_f25e2a177497037e71582d7c9531f27d", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "partial_app_typing_b8ba91fc330684fcafadb714956fc10d", - "partial_app_typing_e63bf235050e9c3eb7bccd4a834d240b", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -135,7 +134,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_IfcDelimitedReleaseReify.iexpr_eq", "token_correspondence_IfcDelimitedReleaseReify.test", @@ -145,11 +144,11 @@ "typing_FStar.List.Tot.Base.noRepeats", "typing_IfcDelimitedReleaseReify.uu___is_Low", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_2fed55513e1e03c1287a01dc5a5fe842", - "typing_Tm_abs_ea1179b51fb44a77e76323f3dff3522b", "unit_typing" + "typing_Tm_abs_05c8477386d8cba74577790a688cd159", + "typing_Tm_abs_5d5db1b2e8b966b65f72595259c61892", "unit_typing" ], 0, - "fcd656b2aab268c27d09acfb25097bc0" + "63b7bccbabbe663d17808ef2a8c1f9bc" ], [ "IfcDelimitedReleaseReify.sum4", @@ -160,24 +159,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ec925ab20dceb4e74d4fb1be58c3355", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "9289fc6f0f4fa84b470c5ff903edbca8" + "0398568707bc693195b56a09386eee94" ], [ "IfcDelimitedReleaseReify.verify_sum4", @@ -206,7 +202,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "cd1c979bb9cb2ac76b1c764fcb2b0598" + "e65408efae44dd705c2e57ab00c00512" ], [ "IfcDelimitedReleaseReify.verify_sum4", @@ -221,10 +217,11 @@ "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_4f677a567e5a2f2b98386ee8705a08d2", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_110868616776d1eee0eb7f537ee349e8", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_3cc7175fd65342b981d888d9966735e3", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_ac19a5c9813efdb2b2434431a78f9376", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "constructor_distinct_IfcDelimitedReleaseReify.High", "constructor_distinct_IfcDelimitedReleaseReify.Low", @@ -251,23 +248,23 @@ "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedReleaseReify.bexpr", - "function_token_typing_IfcDelimitedReleaseReify.iexpr", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_1b85bb83a5b84e5759254df06885d209", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_2e41cfe6db7f6753582d439276bf8bbd", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_4f0c113cd0cf45ea3f22e8a8d06d6ef0", - "interpretation_Tm_abs_ace8b4a495ee82885cfae984a5b1282a", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "function_token_typing_IfcDelimitedReleaseReify.bexpr_eq", + "function_token_typing_IfcDelimitedReleaseReify.iexpr_eq", + "function_token_typing_Prims.__cache_version_number__", "int_typing", + "interpretation_Tm_abs_0c6f276022af68d2c90a68ca00ae9cbd", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_6738851c7095093addf7081b81f439c0", + "interpretation_Tm_abs_6ece28a3618b867d30fe4fdaadc30a57", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_eff865b177b0c08399dc81dfd995ad5d", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", + "kinding_Tm_arrow_4585721726f8f0b730e5a42d862fc7d6", + "kinding_Tm_arrow_f25e2a177497037e71582d7c9531f27d", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "partial_app_typing_b8ba91fc330684fcafadb714956fc10d", - "partial_app_typing_e63bf235050e9c3eb7bccd4a834d240b", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", "projection_inverse_BoxBool_proj_0", @@ -278,7 +275,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "token_correspondence_IfcDelimitedReleaseReify.iexpr_eq", "token_correspondence_IfcDelimitedReleaseReify.sum4", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", @@ -288,11 +285,11 @@ "typing_FStar.List.Tot.Base.noRepeats", "typing_IfcDelimitedReleaseReify.uu___is_Low", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_1b85bb83a5b84e5759254df06885d209", - "typing_Tm_abs_2e41cfe6db7f6753582d439276bf8bbd", "unit_typing" + "typing_Tm_abs_6738851c7095093addf7081b81f439c0", + "typing_Tm_abs_eff865b177b0c08399dc81dfd995ad5d", "unit_typing" ], 0, - "4b0baf4e5fcc7025a4fe29786fd68f1d" + "f81a9510824abaca0080d15aa05c35c9" ], [ "IfcDelimitedReleaseReify.sum", @@ -303,24 +300,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4072c7c13b89c1ffa6b54e4bbe46f0de", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b2f2093e3a09f0bcf5960ff6a4b95dd5", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "9cb772db8bedaa1fd65fa38928165401" + "38545f42f42150a55d785acfcb1416ed" ], [ "IfcDelimitedReleaseReify.verify_sum", @@ -348,7 +342,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "1a6a49b6059564714520b220ef4e7a4c" + "75dd562d9593a11eca66f924a937fcab" ], [ "IfcDelimitedReleaseReify.verify_sum", @@ -363,10 +357,11 @@ "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_4f677a567e5a2f2b98386ee8705a08d2", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_110868616776d1eee0eb7f537ee349e8", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_3cc7175fd65342b981d888d9966735e3", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_ac19a5c9813efdb2b2434431a78f9376", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "constructor_distinct_IfcDelimitedReleaseReify.High", "constructor_distinct_IfcDelimitedReleaseReify.Low", @@ -393,23 +388,23 @@ "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedReleaseReify.bexpr", - "function_token_typing_IfcDelimitedReleaseReify.iexpr", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_08c06cf473427ada4f5a959c674c2afc", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_7fa053909d20da7d48cc942c1614b529", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_d18e1b5bd121d0db40c69cd55360a58c", - "interpretation_Tm_abs_d2826619efbcb842a9ce383fd856289e", + "function_token_typing_IfcDelimitedReleaseReify.bexpr_eq", + "function_token_typing_IfcDelimitedReleaseReify.iexpr_eq", + "function_token_typing_Prims.__cache_version_number__", "int_typing", + "interpretation_Tm_abs_1734aba4fa1d2ecf806e2684fd4943e0", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_72ecc62be215167123f2c2c36a3e660c", + "interpretation_Tm_abs_8445202ffcf3e7c459c3fe953294463a", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_b3d5ee0fc3024f5a3a530181e6360e07", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", + "kinding_Tm_arrow_4585721726f8f0b730e5a42d862fc7d6", + "kinding_Tm_arrow_f25e2a177497037e71582d7c9531f27d", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "partial_app_typing_b8ba91fc330684fcafadb714956fc10d", - "partial_app_typing_e63bf235050e9c3eb7bccd4a834d240b", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", "projection_inverse_BoxBool_proj_0", @@ -420,7 +415,7 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "token_correspondence_IfcDelimitedReleaseReify.iexpr_eq", "token_correspondence_IfcDelimitedReleaseReify.sum", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", @@ -430,11 +425,11 @@ "typing_FStar.List.Tot.Base.noRepeats", "typing_IfcDelimitedReleaseReify.uu___is_Low", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_08c06cf473427ada4f5a959c674c2afc", - "typing_Tm_abs_7fa053909d20da7d48cc942c1614b529", "unit_typing" + "typing_Tm_abs_72ecc62be215167123f2c2c36a3e660c", + "typing_Tm_abs_8445202ffcf3e7c459c3fe953294463a", "unit_typing" ], 0, - "afab1c8df4584f006c04a8dfa486078b" + "7d10913c3e26c9c6be1a33c2375dab18" ], [ "IfcDelimitedReleaseReify.sum_swap", @@ -445,24 +440,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4072c7c13b89c1ffa6b54e4bbe46f0de", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b2f2093e3a09f0bcf5960ff6a4b95dd5", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "117b6709b330f7261729383073d270e4" + "bc241589bdd21465c3e205a289a2d3fd" ], [ "IfcDelimitedReleaseReify.length6", @@ -490,7 +482,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "e964e8c544ede9fa9eae12d73b8f4b78" + "5f0a9c0abe17900a50eae6282f34c09f" ], [ "IfcDelimitedReleaseReify.sum_swap_help", @@ -500,26 +492,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba830f145b21b8cb0ea75dd20949c7d8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d1ba3efe80c495c4c23cd19c5b413856", "typing_FStar.DM4F.Heap.IntStoreFixed.id", "typing_FStar.List.Tot.Base.length" ], 0, - "4be312bc4345d599b6ca9c20549b7c28" + "7ee761364bc834f0fa0cab567f08b355" ], [ "IfcDelimitedReleaseReify.sum_swap_help", @@ -534,7 +524,6 @@ "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -547,11 +536,11 @@ "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_3604a9bd7d129eb836283c53e85c10a4", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_8a9abbdb79fad76810d75c23c3afec9e", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -563,9 +552,9 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_4072c7c13b89c1ffa6b54e4bbe46f0de", - "refinement_interpretation_Tm_refine_ba830f145b21b8cb0ea75dd20949c7d8", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", + "refinement_interpretation_Tm_refine_b2f2093e3a09f0bcf5960ff6a4b95dd5", + "refinement_interpretation_Tm_refine_d1ba3efe80c495c4c23cd19c5b413856", "token_correspondence_IfcDelimitedReleaseReify.sum_swap", "typing_FStar.DM4F.Heap.IntStoreFixed.id", "typing_FStar.DM4F.Heap.IntStoreFixed.index", @@ -574,7 +563,7 @@ "typing_FStar.List.Tot.Base.noRepeats", "unit_typing" ], 0, - "21602a234f7947e28cc8d3ab147311a7" + "3d193dc539fbfbf7b651c9092df35dc5" ], [ "IfcDelimitedReleaseReify.verify_sum_swap", @@ -584,26 +573,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba830f145b21b8cb0ea75dd20949c7d8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d1ba3efe80c495c4c23cd19c5b413856", "typing_FStar.DM4F.Heap.IntStoreFixed.id", "typing_FStar.List.Tot.Base.length" ], 0, - "8d71a09c58aa40b6905360c058bf3480" + "73ce537d7516d5e1d0f5232db0959954" ], [ "IfcDelimitedReleaseReify.verify_sum_swap", @@ -617,10 +604,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_4f677a567e5a2f2b98386ee8705a08d2", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_110868616776d1eee0eb7f537ee349e8", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "constructor_distinct_IfcDelimitedReleaseReify.High", "constructor_distinct_IfcDelimitedReleaseReify.Low", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -631,7 +617,6 @@ "equation_FStar.DM4F.IntStoreFixed.read", "equation_FStar.Pervasives.Native.fst", "equation_IfcDelimitedReleaseReify.del_rel_", - "equation_IfcDelimitedReleaseReify.env", "equation_IfcDelimitedReleaseReify.get_heap", "equation_IfcDelimitedReleaseReify.iexpr", "equation_IfcDelimitedReleaseReify.iexpr_eq", @@ -641,14 +626,14 @@ "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_IfcDelimitedReleaseReify.iexpr", + "function_token_typing_IfcDelimitedReleaseReify.iexpr_eq", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_08c06cf473427ada4f5a959c674c2afc", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_7fa053909d20da7d48cc942c1614b529", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_d2826619efbcb842a9ce383fd856289e", - "partial_app_typing_b8ba91fc330684fcafadb714956fc10d", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_72ecc62be215167123f2c2c36a3e660c", + "interpretation_Tm_abs_8445202ffcf3e7c459c3fe953294463a", + "interpretation_Tm_abs_b3d5ee0fc3024f5a3a530181e6360e07", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "kinding_Tm_arrow_f25e2a177497037e71582d7c9531f27d", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -661,18 +646,16 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba830f145b21b8cb0ea75dd20949c7d8", + "refinement_interpretation_Tm_refine_d1ba3efe80c495c4c23cd19c5b413856", "token_correspondence_IfcDelimitedReleaseReify.iexpr_eq", "typing_FStar.DM4F.Heap.IntStoreFixed.id", "typing_FStar.List.Tot.Base.for_all", "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.noRepeats", - "typing_IfcDelimitedReleaseReify.uu___is_Low", - "typing_Tm_abs_08c06cf473427ada4f5a959c674c2afc", - "typing_Tm_abs_7fa053909d20da7d48cc942c1614b529", "unit_typing" + "typing_Tm_abs_8445202ffcf3e7c459c3fe953294463a" ], 0, - "5dd7e8e8466bede351fa0ee114f4c67f" + "09c4ed2504da15a87aca1fff0c3d10e4" ], [ "IfcDelimitedReleaseReify.sum_att", @@ -683,24 +666,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4072c7c13b89c1ffa6b54e4bbe46f0de", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b2f2093e3a09f0bcf5960ff6a4b95dd5", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "d14a54da254b5e4e8f38519220fe08b3" + "13f43c488167afb839a326d7dad75154" ], [ "IfcDelimitedReleaseReify.wallet", @@ -711,24 +691,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_136b16c9f8ac9a7271eaa40df3bd5ead", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5216dc2e383a8145ef37b65b6a5c2395", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "ae34c906bf8dec8964968444a5212869" + "9d05a3644aada0f3d7821607ad9122e5" ], [ "IfcDelimitedReleaseReify.verify_wallet", @@ -756,7 +733,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "54902404cb6dc122dc24865c78fdf042" + "c588c7bd305531d4b36670d88d92ae58" ], [ "IfcDelimitedReleaseReify.verify_wallet", @@ -771,7 +748,9 @@ "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_4f677a567e5a2f2b98386ee8705a08d2", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_3cc7175fd65342b981d888d9966735e3", + "IfcDelimitedReleaseReify_interpretation_Tm_arrow_ad853ebaa6a8d4926a5451d3ed1c03f2", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", @@ -800,21 +779,22 @@ "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedReleaseReify.bexpr", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_009297309fb3b808b3f6302b913e8c1a", - "interpretation_Tm_abs_0e5595daa5269b616072184ea939d4bc", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_245e8ad1ab0035c9fe355263fcc5f9a5", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_7118eb129e1e8ce98d9b40c620feff33", - "interpretation_Tm_abs_9e6e7c99332844428c0e500785232353", - "interpretation_Tm_abs_a1a66ae5ce5441f7df8d1239cc7599d2", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "function_token_typing_IfcDelimitedReleaseReify.bexpr_eq", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", + "interpretation_Tm_abs_0f02d2e4a76ba56456d5e254f2be2a09", + "interpretation_Tm_abs_1eb84c2f1a4ea30ada6f469f9946efbf", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_3feaaedb2e69906b2230b23ec5ebfb48", + "interpretation_Tm_abs_4844b93a5c89522011aa8643d50db2ea", + "interpretation_Tm_abs_908f8370d64c6d5f8a39ca7726a39b6b", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_e6f1465af09695f5c3836da531da07aa", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", + "kinding_Tm_arrow_4585721726f8f0b730e5a42d862fc7d6", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "partial_app_typing_e63bf235050e9c3eb7bccd4a834d240b", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", @@ -828,22 +808,23 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_IfcDelimitedReleaseReify.bexpr_eq", "token_correspondence_IfcDelimitedReleaseReify.wallet", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.DM4F.Heap.IntStoreFixed.id", + "typing_FStar.DM4F.Heap.IntStoreFixed.index", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "typing_FStar.List.Tot.Base.for_all", "typing_FStar.List.Tot.Base.noRepeats", "typing_IfcDelimitedReleaseReify.uu___is_Low", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_009297309fb3b808b3f6302b913e8c1a", - "typing_Tm_abs_0e5595daa5269b616072184ea939d4bc", "unit_typing" + "typing_Tm_abs_0f02d2e4a76ba56456d5e254f2be2a09", + "typing_Tm_abs_3feaaedb2e69906b2230b23ec5ebfb48", "unit_typing" ], 0, - "b48bb882f7bac7d5f0f8ba50e3af79f5" + "e77be7dddef92d705a5f5dee262754bd" ], [ "IfcDelimitedReleaseReify.wallet_attack_loop", @@ -860,13 +841,13 @@ "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ec925ab20dceb4e74d4fb1be58c3355", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", "typing_FStar.DM4F.Heap.IntStoreFixed.id", "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "3a956c9a52ce504877c3c8002287680a" + "4332fde51e08058eef25c87288708dc0" ], [ "IfcDelimitedReleaseReify.wallet_attack_loop", @@ -877,23 +858,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_BoxInt", + "@query", "bool_inversion", "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ec925ab20dceb4e74d4fb1be58c3355", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d9562e018cf6612714166845333a6b1e", + "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", + "refinement_interpretation_Tm_refine_c319c74ad24f64da156d594230eb7872", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "4bbfdcd18364bc9e054b09e0e70780d2" + "22558521f1e62e256e1b815c837cfb9e" ], [ "IfcDelimitedReleaseReify.wallet_attack_loop", @@ -908,8 +887,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_38a24bd15fe5e8581a29b251214818b3_1", - "binder_x_7ab1748f97b7be5091389973104c9c7b_0", "bool_inversion", + "binder_x_7ab1748f97b7be5091389973104c9c7b_0", + "binder_x_dde7165d5dbaecb2cd90361c6b388ac8_1", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", @@ -922,6 +901,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", @@ -930,10 +910,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0ec925ab20dceb4e74d4fb1be58c3355", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id", "typing_FStar.DM4F.Heap.IntStoreFixed.index", @@ -941,7 +922,7 @@ "well-founded-ordering-on-nat" ], 0, - "24809575f5c5f4fb30459e1455fcc1ae" + "575002074e50bc22ab7883e2dc5ef06d" ], [ "IfcDelimitedReleaseReify.wallet_attack", @@ -953,25 +934,22 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ec925ab20dceb4e74d4fb1be58c3355", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "145fbc1363ddc780cda02970fa7cf0c9" + "401d411b71c9d0698ac9e00598365efa" ], [ "IfcDelimitedReleaseReify.del_rel'", @@ -980,7 +958,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "f2d42cd0b67f22a80219925ff4c0b89f" + "54db5f887c7d8487a86f658ab10e62c0" ], [ "IfcDelimitedReleaseReify.test", @@ -991,24 +969,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_136b16c9f8ac9a7271eaa40df3bd5ead", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5216dc2e383a8145ef37b65b6a5c2395", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "7a89adc4541838e2c2f150f547764529" + "aa71ca9f3a203bbf52f425f9fe7da539" ], [ "IfcDelimitedReleaseReify.verify_test", @@ -1036,7 +1011,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "c8c57ea3eb49448037ed26529dd80668" + "9d1b57ebfc20b3c71e4388db4714f9ef" ], [ "IfcDelimitedReleaseReify.sum4", @@ -1047,24 +1022,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ec925ab20dceb4e74d4fb1be58c3355", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "1f594236f744e24d148984274db4f51d" + "22b92ccb0a8c822a25491d4419c3204f" ], [ "IfcDelimitedReleaseReify.verify_sum4", @@ -1093,7 +1065,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "9a538ffe244b8ca369b59d5c4513ee35" + "ba5d446ef89cf1dba8c90a5ffe74544a" ], [ "IfcDelimitedReleaseReify.sum", @@ -1104,24 +1076,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4072c7c13b89c1ffa6b54e4bbe46f0de", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b2f2093e3a09f0bcf5960ff6a4b95dd5", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "9acd6244f859439ce18f913114bdc1ba" + "e3f99f4073c4ea229b3af6c61c4a9ebf" ], [ "IfcDelimitedReleaseReify.verify_sum", @@ -1149,7 +1118,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "3b1e39eeb2413ed76687312cbee3ddb7" + "5d0a6847bfc0abbbf4e3a17af31daa1e" ], [ "IfcDelimitedReleaseReify.sum_swap", @@ -1160,24 +1129,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4072c7c13b89c1ffa6b54e4bbe46f0de", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b2f2093e3a09f0bcf5960ff6a4b95dd5", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "e7cff1ab492a92d84e28753f8f16cb18" + "9639070b7bbd0ada0454b99173d7f27d" ], [ "IfcDelimitedReleaseReify.sum_swap_help", @@ -1187,26 +1153,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba830f145b21b8cb0ea75dd20949c7d8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d1ba3efe80c495c4c23cd19c5b413856", "typing_FStar.DM4F.Heap.IntStoreFixed.id", "typing_FStar.List.Tot.Base.length" ], 0, - "a362b68b3cdbe8992993581575dfbff9" + "9b2395ceff037d9a218069a265104c64" ], [ "IfcDelimitedReleaseReify.verify_sum_swap", @@ -1216,26 +1180,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba830f145b21b8cb0ea75dd20949c7d8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d1ba3efe80c495c4c23cd19c5b413856", "typing_FStar.DM4F.Heap.IntStoreFixed.id", "typing_FStar.List.Tot.Base.length" ], 0, - "f1508f067e79520eb1556cc6b340303f" + "594ccd1b95961956f420b8ee98a772c2" ], [ "IfcDelimitedReleaseReify.sum_att", @@ -1246,24 +1208,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4072c7c13b89c1ffa6b54e4bbe46f0de", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b2f2093e3a09f0bcf5960ff6a4b95dd5", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "fe52a8f1dfc54b3cc9fe2b0055f7dec7" + "6752d363dc28a31d723a8874270edf8a" ], [ "IfcDelimitedReleaseReify.wallet", @@ -1274,24 +1233,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_136b16c9f8ac9a7271eaa40df3bd5ead", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5216dc2e383a8145ef37b65b6a5c2395", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "67f75409a8c59227a83d19026bf5f026" + "ca8f8999f79cf257aa603c570f877fd5" ], [ "IfcDelimitedReleaseReify.verify_wallet", @@ -1319,7 +1275,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "f9cc25ab3ab5512b02948aed44bfd9b0" + "389000657055d055b0ff339de650f60b" ], [ "IfcDelimitedReleaseReify.wallet_attack_loop", @@ -1330,23 +1286,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_BoxInt", + "@query", "bool_inversion", "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ec925ab20dceb4e74d4fb1be58c3355", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d9562e018cf6612714166845333a6b1e", + "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", + "refinement_interpretation_Tm_refine_c319c74ad24f64da156d594230eb7872", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "0ada6f3b7c22d0b28259d9ecc7550520" + "05deef1165afe6d0b00ecc6008a634c6" ], [ "IfcDelimitedReleaseReify.wallet_attack_loop", @@ -1361,8 +1315,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_38a24bd15fe5e8581a29b251214818b3_1", - "binder_x_7ab1748f97b7be5091389973104c9c7b_0", "bool_inversion", + "binder_x_7ab1748f97b7be5091389973104c9c7b_0", + "binder_x_dde7165d5dbaecb2cd90361c6b388ac8_1", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", @@ -1375,6 +1329,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", @@ -1383,10 +1338,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0ec925ab20dceb4e74d4fb1be58c3355", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id", "typing_FStar.DM4F.Heap.IntStoreFixed.index", @@ -1394,7 +1350,7 @@ "well-founded-ordering-on-nat" ], 0, - "9ac1aebf65a8b52589caaed44ff6f194" + "ed8095ec5af1b1e1a584211f61f0842f" ], [ "IfcDelimitedReleaseReify.wallet_attack", @@ -1406,25 +1362,22 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "@query", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ec925ab20dceb4e74d4fb1be58c3355", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "98e0be122dc1a9865e020ed0bce556db" + "4461be6884394bd013afc4b14f89fafe" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcExample.fst.hints b/examples/rel/IfcExample.fst.hints index f1c5d0432a4..125a2bdc61c 100644 --- a/examples/rel/IfcExample.fst.hints +++ b/examples/rel/IfcExample.fst.hints @@ -15,7 +15,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "491310171b0bc00a7b74ff33a64b3b77" + "90381efe758cd2fc7a435325a3fb4ca6" ], [ "IfcExample.c1_1_ni", @@ -73,7 +73,7 @@ "typing_tok_IfcRules.Low@tok" ], 0, - "9d6659bd509a16f6c259684381ba5f06" + "a07c298718b4235be907755060fb8766" ], [ "IfcExample.c1_2_ni", @@ -135,7 +135,7 @@ "typing_tok_IfcRules.Low@tok" ], 0, - "823ee38104eca7ef4314ea872e41eb85" + "8578072525638dbaee62744e3c59590b" ], [ "IfcExample.c1_3_ni", @@ -199,7 +199,7 @@ "typing_While.interpret_exp", "typing_tok_IfcRules.Low@tok" ], 0, - "2aa65c14958b8b019d046d9361ce852f" + "24564bcd8e222684e966ae0aa5e85f9a" ], [ "IfcExample.c1_3_4_ni", @@ -272,7 +272,7 @@ "typing_While.interpret_exp", "typing_tok_IfcRules.Low@tok" ], 0, - "0728e9506c456a3033d5e30ab576300d" + "0741cf71904fcf2830d9a0785f0c7fc9" ], [ "IfcExample.c1_ni", @@ -360,7 +360,7 @@ "typing_tok_While.Skip@tok" ], 0, - "14c792c024cd5bdfbed36467018a90a8" + "43004d1d95fea7dd7b83585d0ad0004f" ], [ "IfcExample.env", @@ -376,7 +376,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "122f6f03ccf6843ba2518decd2818c7c" + "25fa05c495a670ed9d4c0ce086e7cd6c" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify0.fst.hints b/examples/rel/IfcExampleReify0.fst.hints index ffb56cd65f4..5c185e8e48b 100644 --- a/examples/rel/IfcExampleReify0.fst.hints +++ b/examples/rel/IfcExampleReify0.fst.hints @@ -11,7 +11,7 @@ "unit_typing" ], 0, - "d3167b0a8bc57ff42941cc6551bcf1f9" + "325169a124ef9eda2c138a8a9beddf41" ], [ "IfcExampleReify0.ifc_b", @@ -24,7 +24,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "unit_typing" ], 0, - "a142fef3d8674e322f9ab9f391de804a" + "e0c8571d2d5e5343e5e354faf5da9dcb" ], [ "IfcExampleReify0.ni_ifc_c1", @@ -33,7 +33,7 @@ 1, [ "@query" ], 0, - "5e29a8bf8095eb616a858b32b4671ba3" + "86d9b1de6f948313cc68fea35ff229c4" ], [ "IfcExampleReify0.ni_ifc_c2", @@ -42,7 +42,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "a26e6c593f4d3b4769accf25eb3191eb" + "01da74b541145c4d20f24af966c3d545" ], [ "IfcExampleReify0.ni_ifc_c3", @@ -60,10 +60,10 @@ "equation_IfcExampleReify0.ifc_c", "equation_IfcExampleReify0.ifc_c_r", "equation_Prims.eqtype", "fuel_guarded_inversion_Rel.rel", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", @@ -75,7 +75,7 @@ "unit_typing" ], 0, - "c21fda726a4655021d60adef460caed6" + "e84d5db07764a27dfa7ed352a0d5b026" ], [ "IfcExampleReify0.ni_ifc_c4", @@ -92,10 +92,10 @@ "equation_FStar.Pervasives.Native.snd", "equation_IfcExampleReify0.ifc_c", "equation_IfcExampleReify0.ifc_c_r", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -103,7 +103,7 @@ "unit_typing" ], 0, - "1ef9dd38ca7d9d4a0b5abd7ac07fda47" + "8f0e4947a31dd8b368e41738cd49152c" ], [ "IfcExampleReify0.ifc_a", @@ -115,7 +115,7 @@ "unit_typing" ], 0, - "a7ea636a53d6fe3f4a7c9c3bdf2ab4c7" + "a3c1f8eb03601c367e4272e5ebd9bf40" ], [ "IfcExampleReify0.ifc_b", @@ -128,7 +128,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "unit_typing" ], 0, - "6ca62c2ced92bc3a6ef0aaf72877af31" + "ff1703ac6016c740a26458dacbf44734" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify1.fst.hints b/examples/rel/IfcExampleReify1.fst.hints index de138291c64..45ea6476517 100644 --- a/examples/rel/IfcExampleReify1.fst.hints +++ b/examples/rel/IfcExampleReify1.fst.hints @@ -19,7 +19,7 @@ "typing_IfcExampleReify1.env" ], 0, - "f9d64c4ca77c31efdc1478215d92cc62" + "4cca78576a062d2ae617384e0f864389" ], [ "IfcExampleReify1.c1_2_ni", @@ -35,7 +35,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "fab4de9caf69777d5a101338e5fabd83" + "f2a802289c6b02f178019f8cdeb4b293" ], [ "IfcExampleReify1.c1_5_ni", @@ -47,7 +47,7 @@ "equation_IfcExampleReify1.env", "primitive_Prims.op_Equality" ], 0, - "3f917f596e17690e01204ee5d48d0bdf" + "f515899d6f3bf7d71c1f9b12acf47833" ], [ "IfcExampleReify1.c1_3_4_ni", @@ -62,11 +62,10 @@ "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__put_equality", "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "IfcRulesReify_interpretation_Tm_arrow_1488a937a3e8deec79f7ef763bb356a7", + "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_f4cec3169d68beadefc0d25ad6b0c0e5", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Mktuple2", "constructor_distinct_FStar.Pervasives.Native.None", @@ -85,6 +84,7 @@ "data_typing_intro_WhileReify.AInt@tok", "data_typing_intro_WhileReify.AVar@tok", "data_typing_intro_WhileReify.Seq@tok", + "disc_equation_FStar.Pervasives.Native.None", "equality_tok_IfcRulesReify.High@tok", "equality_tok_IfcRulesReify.Low@tok", "equality_tok_WhileReify.Plus@tok", @@ -100,19 +100,18 @@ "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcExampleReify1.env", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_2ca2ac6fc76f9adb0c42fe5c105caf1d", - "interpretation_Tm_abs_4a6fb92fc3aadbdc6543585d1b85d3da", - "interpretation_Tm_abs_5c59cd068d3dce416980eccbe7e3e940", - "interpretation_Tm_abs_8c2a419742da6558bef0939e5808a305", - "interpretation_Tm_abs_acf1a72f2765ca9d9d5df1b700243fa4", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_b38fe3182e21fefd54ea2f8ffd759df0", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", - "interpretation_Tm_abs_e2de9af40e7addcec157eaf54701dd16", - "interpretation_Tm_abs_fb49622d5f0ea4c46753f5a31493400f", - "l_imp-interp", "l_quant_interp_0e5bea26761b1cb07f14f299ca135848", + "function_token_typing_IfcExampleReify1.env", "int_typing", + "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", + "interpretation_Tm_abs_18b56141e981518d5158ae8287c1437d", + "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", + "interpretation_Tm_abs_8e0458ea656a29089d238795e8d3dab6", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", + "interpretation_Tm_abs_9a81ce357713086fb08135480f8b928b", + "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", + "l_imp-interp", "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -120,6 +119,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", @@ -132,19 +132,19 @@ "projection_inverse_WhileReify.Assign_var", "projection_inverse_WhileReify.Seq_first", "projection_inverse_WhileReify.Seq_second", - "refinement_interpretation_Tm_refine_a972e5548b471e2ee7efa31cae74e4fe", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", - "token_correspondence_IfcExampleReify1.env", - "token_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "true_interp", "typing_IfcExampleReify1.c1_3", - "typing_IfcExampleReify1.c1_4", "typing_IfcExampleReify1.x", - "typing_IfcExampleReify1.y", "typing_IfcExampleReify1.z", - "typing_IfcRulesReify.op_Less", "typing_WhileReify.interpret_com", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", + "token_correspondence_IfcExampleReify1.env", "true_interp", + "typing_FStar.DM4F.Heap.IntStoreFixed.upd", + "typing_IfcExampleReify1.c1_3", "typing_IfcExampleReify1.c1_4", + "typing_IfcExampleReify1.x", "typing_IfcExampleReify1.y", + "typing_IfcExampleReify1.z", "typing_IfcRulesReify.op_Less", + "typing_WhileReify.interpret_com", "typing_WhileReify.interpret_com_st", "typing_tok_IfcRulesReify.Low@tok", "unit_typing" ], 0, - "3b244cc25612f685e95de8a20df24629" + "b42d0dafd87a21ac7cdb69cc0dffcc7f" ], [ "IfcExampleReify1.c1_6_ni", @@ -153,7 +153,7 @@ 1, [ "@query", "equation_IfcExampleReify1.c1_6" ], 0, - "968166ab4de3713c355a9564369f77a9" + "16fe6ccbcb4389697fac021b51e0cfa5" ], [ "IfcExampleReify1.c1_ni", @@ -166,7 +166,7 @@ "equation_IfcExampleReify1.env", "primitive_Prims.op_Equality" ], 0, - "bd516a3f308a9f3e71caeb6cd86dfe46" + "fe629f1736ccb57fd67c302ed6bde0b5" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify2.fst.hints b/examples/rel/IfcExampleReify2.fst.hints index 06382202e7c..3ff4343a588 100644 --- a/examples/rel/IfcExampleReify2.fst.hints +++ b/examples/rel/IfcExampleReify2.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "ba29a965c5308e5b2b73514e00d1a2df" + "6af7fd804dc0ffc4cb66ac67387607e9" ], [ "IfcExampleReify2.lo", @@ -23,7 +23,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "b1c9521eea25279042b1f85b54a29b1f" + "98c60fe2c14e99adef7a442766fcaf2b" ], [ "IfcExampleReify2.c", @@ -35,7 +35,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "09b79b68c7e5ed750e159d8d08bcd9bd" + "10c3e9e2c4bd2052718cd12187006640" ], [ "IfcExampleReify2.c_2_3_ni", @@ -50,12 +50,12 @@ "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__put_equality", "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "IfcRulesReify_interpretation_Tm_arrow_1488a937a3e8deec79f7ef763bb356a7", + "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_f4cec3169d68beadefc0d25ad6b0c0e5", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Mktuple2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_IfcRulesReify.High", @@ -73,6 +73,7 @@ "data_typing_intro_WhileReify.AOp@tok", "data_typing_intro_WhileReify.AVar@tok", "data_typing_intro_WhileReify.Seq@tok", + "disc_equation_FStar.Pervasives.Native.None", "equality_tok_IfcRulesReify.High@tok", "equality_tok_IfcRulesReify.Low@tok", "equality_tok_WhileReify.Plus@tok", @@ -83,26 +84,24 @@ "equation_IfcRulesReify.inv_com_", "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com", "equation_IfcRulesReify.ni_com_", "equation_IfcRulesReify.op_Less", - "equation_Prims.eqtype", "equation_WhileReify.interpret_binop", + "equation_WhileReify.interpret_binop", "equation_WhileReify.interpret_com", "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcExampleReify2.env", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_2ca2ac6fc76f9adb0c42fe5c105caf1d", - "interpretation_Tm_abs_4a6fb92fc3aadbdc6543585d1b85d3da", - "interpretation_Tm_abs_5c59cd068d3dce416980eccbe7e3e940", - "interpretation_Tm_abs_8c2a419742da6558bef0939e5808a305", - "interpretation_Tm_abs_acf1a72f2765ca9d9d5df1b700243fa4", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_b38fe3182e21fefd54ea2f8ffd759df0", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", - "interpretation_Tm_abs_e2de9af40e7addcec157eaf54701dd16", - "interpretation_Tm_abs_fb49622d5f0ea4c46753f5a31493400f", - "l_imp-interp", "l_quant_interp_0e5bea26761b1cb07f14f299ca135848", + "function_token_typing_IfcExampleReify2.env", "int_typing", + "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", + "interpretation_Tm_abs_18b56141e981518d5158ae8287c1437d", + "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", + "interpretation_Tm_abs_8e0458ea656a29089d238795e8d3dab6", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", + "interpretation_Tm_abs_9a81ce357713086fb08135480f8b928b", + "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", + "l_imp-interp", "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -122,24 +121,22 @@ "projection_inverse_WhileReify.Assign_var", "projection_inverse_WhileReify.Seq_first", "projection_inverse_WhileReify.Seq_second", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a972e5548b471e2ee7efa31cae74e4fe", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", - "token_correspondence_IfcExampleReify2.env", - "token_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "true_interp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", + "token_correspondence_IfcExampleReify2.env", "true_interp", "typing_FStar.DM4F.Heap.IntStoreFixed.index", + "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "typing_IfcExampleReify2.c", "typing_IfcExampleReify2.c_2", "typing_IfcExampleReify2.c_3", "typing_IfcExampleReify2.hi", "typing_IfcExampleReify2.lo", "typing_IfcRulesReify.op_Less", - "typing_Rel.__proj__R__item__r", "typing_WhileReify.interpret_binop", + "typing_WhileReify.interpret_binop", "typing_WhileReify.interpret_com", "typing_WhileReify.interpret_com_st", "typing_tok_IfcRulesReify.Low@tok", "typing_tok_WhileReify.Plus@tok", "unit_typing" ], 0, - "39feaafcab52ec46734b43a5ffe11d46" + "fbd027ac6a0916081e87ec284d7583e8" ], [ "IfcExampleReify2.cmd_ni", @@ -153,13 +150,14 @@ "@query", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__put_equality", - "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_8ac411f6dd273bb90bd9a234cd6a9243", "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", + "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_f4cec3169d68beadefc0d25ad6b0c0e5", + "WhileReify_interpretation_Tm_arrow_5cc3fe9a934fab146a17c236e91665d4", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", "WhileReify_pretyping_db9f5591f9c8c6a645bfa61f7afb22db", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Mktuple2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -177,6 +175,7 @@ "data_typing_intro_WhileReify.AInt@tok", "data_typing_intro_WhileReify.AVar@tok", "data_typing_intro_WhileReify.Seq@tok", + "disc_equation_FStar.Pervasives.Native.None", "equality_tok_IfcRulesReify.High@tok", "equality_tok_IfcRulesReify.Low@tok", "equality_tok_WhileReify.Plus@tok", @@ -195,20 +194,19 @@ "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_2ca2ac6fc76f9adb0c42fe5c105caf1d", - "interpretation_Tm_abs_4a6fb92fc3aadbdc6543585d1b85d3da", - "interpretation_Tm_abs_5c59cd068d3dce416980eccbe7e3e940", - "interpretation_Tm_abs_8c2a419742da6558bef0939e5808a305", - "interpretation_Tm_abs_acf1a72f2765ca9d9d5df1b700243fa4", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_b38fe3182e21fefd54ea2f8ffd759df0", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", - "interpretation_Tm_abs_e2de9af40e7addcec157eaf54701dd16", - "interpretation_Tm_abs_fb49622d5f0ea4c46753f5a31493400f", - "l_imp-interp", "l_quant_interp_0e5bea26761b1cb07f14f299ca135848", + "function_token_typing_IfcExampleReify2.env", "int_typing", + "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", + "interpretation_Tm_abs_18b56141e981518d5158ae8287c1437d", + "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", + "interpretation_Tm_abs_8e0458ea656a29089d238795e8d3dab6", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", + "interpretation_Tm_abs_9a81ce357713086fb08135480f8b928b", + "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", + "l_imp-interp", "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -231,24 +229,22 @@ "projection_inverse_WhileReify.Assign_var", "projection_inverse_WhileReify.Seq_first", "projection_inverse_WhileReify.Seq_second", - "refinement_interpretation_Tm_refine_929ddef54676d42bdfa18701e40f066d", - "refinement_interpretation_Tm_refine_a972e5548b471e2ee7efa31cae74e4fe", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", + "refinement_interpretation_Tm_refine_74c38e5fee3f0966a725896a41650e22", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", "token_correspondence_IfcExampleReify2.env", "token_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "true_interp", "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_FStar.DM4F.IntStoreExcFixed.write", - "typing_IfcExampleReify2.c", "typing_IfcExampleReify2.c_2", - "typing_IfcExampleReify2.c_3", "typing_IfcExampleReify2.hi", - "typing_IfcExampleReify2.lo", "typing_WhileReify.interpret_binop", - "typing_WhileReify.interpret_com", + "true_interp", "typing_IfcExampleReify2.c", + "typing_IfcExampleReify2.c_2", "typing_IfcExampleReify2.c_3", + "typing_IfcExampleReify2.hi", "typing_IfcExampleReify2.lo", + "typing_IfcRulesReify.op_Less", "typing_WhileReify.interpret_com", "typing_WhileReify.interpret_com_st", - "typing_tok_WhileReify.Plus@tok", "typing_tok_WhileReify.Skip@tok", + "typing_WhileReify.interpret_exp_st", + "typing_tok_IfcRulesReify.Low@tok", "typing_tok_WhileReify.Skip@tok", "unit_typing" ], 0, - "f18dff1769fac41ea66e7f9f5af427c2" + "64b9136a50fd61aa5dfdc628744a5612" ], [ "IfcExampleReify2.hi", @@ -260,7 +256,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1a02a330638572b6c6445ef272eb7f02" + "b2ee0d5778984150cb1f1fd7cfd06d37" ], [ "IfcExampleReify2.lo", @@ -272,7 +268,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f9f0638355467924c4ca6f8a440b6249" + "f5bad39b5012249b78c02768f97f8ea5" ], [ "IfcExampleReify2.c", @@ -284,7 +280,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "86f7945a16436e9755b0639b0e656128" + "7a1203f1529b7cd117c27ba974c12eed" ], [ "IfcExampleReify2.cmd_ni", @@ -298,13 +294,14 @@ "@query", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__put_equality", - "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_8ac411f6dd273bb90bd9a234cd6a9243", "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", + "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_f4cec3169d68beadefc0d25ad6b0c0e5", + "WhileReify_interpretation_Tm_arrow_5cc3fe9a934fab146a17c236e91665d4", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", "WhileReify_pretyping_db9f5591f9c8c6a645bfa61f7afb22db", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Mktuple2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -322,6 +319,7 @@ "data_typing_intro_WhileReify.AInt@tok", "data_typing_intro_WhileReify.AVar@tok", "data_typing_intro_WhileReify.Seq@tok", + "disc_equation_FStar.Pervasives.Native.None", "equality_tok_IfcRulesReify.High@tok", "equality_tok_IfcRulesReify.Low@tok", "equality_tok_WhileReify.Plus@tok", @@ -341,18 +339,18 @@ "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_2ca2ac6fc76f9adb0c42fe5c105caf1d", - "interpretation_Tm_abs_4a6fb92fc3aadbdc6543585d1b85d3da", - "interpretation_Tm_abs_5c59cd068d3dce416980eccbe7e3e940", - "interpretation_Tm_abs_8c2a419742da6558bef0939e5808a305", - "interpretation_Tm_abs_acf1a72f2765ca9d9d5df1b700243fa4", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_b38fe3182e21fefd54ea2f8ffd759df0", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", - "interpretation_Tm_abs_e2de9af40e7addcec157eaf54701dd16", - "interpretation_Tm_abs_fb49622d5f0ea4c46753f5a31493400f", - "l_imp-interp", "l_quant_interp_0e5bea26761b1cb07f14f299ca135848", + "function_token_typing_IfcExampleReify2.env", "int_typing", + "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", + "interpretation_Tm_abs_18b56141e981518d5158ae8287c1437d", + "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", + "interpretation_Tm_abs_8e0458ea656a29089d238795e8d3dab6", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", + "interpretation_Tm_abs_9a81ce357713086fb08135480f8b928b", + "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", + "l_imp-interp", "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -375,23 +373,23 @@ "projection_inverse_WhileReify.Assign_var", "projection_inverse_WhileReify.Seq_first", "projection_inverse_WhileReify.Seq_second", - "refinement_interpretation_Tm_refine_929ddef54676d42bdfa18701e40f066d", - "refinement_interpretation_Tm_refine_a972e5548b471e2ee7efa31cae74e4fe", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", + "refinement_interpretation_Tm_refine_74c38e5fee3f0966a725896a41650e22", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", "token_correspondence_IfcExampleReify2.env", "token_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "true_interp", "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.IntStoreExcFixed.write", + "true_interp", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "typing_IfcExampleReify2.c", "typing_IfcExampleReify2.c_2", "typing_IfcExampleReify2.c_3", "typing_IfcExampleReify2.hi", - "typing_IfcExampleReify2.lo", "typing_WhileReify.interpret_binop", + "typing_IfcExampleReify2.lo", "typing_IfcRulesReify.op_Less", "typing_WhileReify.interpret_com", "typing_WhileReify.interpret_com_st", - "typing_tok_WhileReify.Plus@tok", "typing_tok_WhileReify.Skip@tok", + "typing_WhileReify.interpret_exp_st", + "typing_tok_IfcRulesReify.Low@tok", "typing_tok_WhileReify.Skip@tok", "unit_typing" ], 0, - "82c19b6f70c0a5cdd13d20eeb079cbc5" + "ca7a49779027ed5b5c691da723e3d310" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify3.fst.hints b/examples/rel/IfcExampleReify3.fst.hints index d4ac8e06f6f..c3f1edafa6d 100644 --- a/examples/rel/IfcExampleReify3.fst.hints +++ b/examples/rel/IfcExampleReify3.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "07252cc9e4ea838eb99f0d308414cad5" + "20c10389bcde495d07952011e2a4fdc8" ], [ "IfcExampleReify3.p1_x", @@ -28,12 +28,12 @@ "equation_IfcExampleReify3.is_x", "equation_IfcExampleReify3.p1", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_7ec298f91538d42bce4fe9b448a559f5", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_e43ceb024e3b93aa0d9df91d5bcb71cf", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_a114b03ea33c9ca67314a3920e1a730f", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_b6eaf05a24fcaade101ba9ed4b202a85", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -43,12 +43,12 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "typing_FStar.DM4F.Heap.IntStoreFixed.sel", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "unit_typing" ], 0, - "c446fab30c368dba02935f374b2ab6e3" + "7762061756289b2e9d48730866566781" ], [ "IfcExampleReify3.ni_p1", @@ -69,12 +69,12 @@ "equation_IfcExampleReify3.low_equiv", "equation_IfcExampleReify3.p1", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_7ec298f91538d42bce4fe9b448a559f5", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_e43ceb024e3b93aa0d9df91d5bcb71cf", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_a114b03ea33c9ca67314a3920e1a730f", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_b6eaf05a24fcaade101ba9ed4b202a85", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -83,14 +83,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", "unit_typing" ], 0, - "45315b7cccc8bd1c26d213a6e86d073d" + "14c46bf36d84a77f695c55b7527321e3" ], [ "IfcExampleReify3.is_x", @@ -99,7 +99,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "4db7ae5bce0d99fa6414d82e927df21e" + "47315f560647664720450b4a60ed7ce7" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcRecursiveReify.fst.hints b/examples/rel/IfcRecursiveReify.fst.hints index 018c4947227..2476ea7d6b8 100644 --- a/examples/rel/IfcRecursiveReify.fst.hints +++ b/examples/rel/IfcRecursiveReify.fst.hints @@ -8,24 +8,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_Prims.LexTop@tok", - "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "equation_Prims.eqtype", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.store_size", - "function_token_typing_Prims.unit", "int_inversion", "int_typing", + "binder_x_ae567c2fb75be05905677af440075565_2", + "equality_tok_Prims.LexTop@tok", "int_typing", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" + "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "b283e912595b97f835164ea91b21f67e" + "fe5bb10d28a99003d09c269dece8d584" ], [ "IfcRecursiveReify.ni_p1", @@ -42,8 +32,8 @@ "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_0", "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", "binder_x_9250a25a01be23c89a24518d1dd0ceb1_4", + "binder_x_ae567c2fb75be05905677af440075565_2", "constructor_distinct_IfcRecursiveReify.High", "constructor_distinct_IfcRecursiveReify.Low", "disc_equation_IfcRecursiveReify.High", @@ -56,15 +46,14 @@ "equation_IfcRecursiveReify.p1_r", "equation_Prims.eqtype", "equation_with_fuel_IfcRecursiveReify.p1.fuel_instrumented", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_1d3e7cedd561243e58afbd0014116832", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_7118eb129e1e8ce98d9b40c620feff33", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_7fb147a0b0642776e9a75824bbb3b652", + "interpretation_Tm_abs_908f8370d64c6d5f8a39ca7726a39b6b", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -75,12 +64,13 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", + "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "4a80075b5f91b6851c68bedfd639eec0" + "e4599cf88e1af7bfdabd49b69510de72" ], [ "IfcRecursiveReify.p2", @@ -89,24 +79,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_Prims.LexTop@tok", - "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "equation_Prims.eqtype", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.store_size", - "function_token_typing_Prims.unit", "int_inversion", "int_typing", + "binder_x_ae567c2fb75be05905677af440075565_2", + "equality_tok_Prims.LexTop@tok", "int_typing", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" + "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "ca91bff5361b40ea2ad57b5c0a41cf94" + "c8d64a957ba943f69ef97a41f61b918c" ], [ "IfcRecursiveReify.ni_p2", @@ -123,8 +103,8 @@ "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_0", "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", "binder_x_9250a25a01be23c89a24518d1dd0ceb1_4", + "binder_x_ae567c2fb75be05905677af440075565_2", "constructor_distinct_IfcRecursiveReify.High", "constructor_distinct_IfcRecursiveReify.Low", "disc_equation_IfcRecursiveReify.High", @@ -137,15 +117,14 @@ "equation_IfcRecursiveReify.p2_r", "equation_Prims.eqtype", "equation_with_fuel_IfcRecursiveReify.p2.fuel_instrumented", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_50731495eda41099005a085cf5210af0", - "interpretation_Tm_abs_7118eb129e1e8ce98d9b40c620feff33", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_1b3ea9ae757225dcb1405c9ca13dc451", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_908f8370d64c6d5f8a39ca7726a39b6b", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", @@ -157,12 +136,13 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", + "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "7a5dd163584743a4f710495f8a375548" + "a4e06a4a28f0dacdf2840fd8d2855b31" ], [ "IfcRecursiveReify.ni_p3", @@ -184,7 +164,7 @@ "unit_typing" ], 0, - "95c517e7db7e80e5a843bcf9cb06ebeb" + "17ec081544e04acd5216ebf924d1a919" ], [ "IfcRecursiveReify.p1", @@ -193,24 +173,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_Prims.LexTop@tok", - "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "equation_Prims.eqtype", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.store_size", - "function_token_typing_Prims.unit", "int_inversion", "int_typing", + "binder_x_ae567c2fb75be05905677af440075565_2", + "equality_tok_Prims.LexTop@tok", "int_typing", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" + "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "473c7ec86849f55ab5bdbfbc1c0bb50b" + "7bf9f906e8828cb52ab43c176b611557" ], [ "IfcRecursiveReify.p2", @@ -219,24 +189,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_Prims.LexTop@tok", - "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "equation_Prims.eqtype", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "function_token_typing_FStar.DM4F.Heap.IntStoreFixed.store_size", - "function_token_typing_Prims.unit", "int_inversion", "int_typing", + "binder_x_ae567c2fb75be05905677af440075565_2", + "equality_tok_Prims.LexTop@tok", "int_typing", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" + "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "f0f15148af5682b3e965a6ae70dada3b" + "1c78637f1db7963c922177ed0b7f5c8a" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcReificationRegressionTest.fst.hints b/examples/rel/IfcReificationRegressionTest.fst.hints index 701903f872a..3b20394aee3 100644 --- a/examples/rel/IfcReificationRegressionTest.fst.hints +++ b/examples/rel/IfcReificationRegressionTest.fst.hints @@ -16,13 +16,14 @@ "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.ifc", "equation_FStar.DM4F.IntST.incr", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_788bc8bd667637c166aa3ff181a7ecff", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_f8c01a29edb01f1019ca798566e073fc", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_7ca25d477a3e0e2f7c64f9fcd444202e", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", + "interpretation_Tm_abs_cd4af824bd65da4276f069890c42565c", + "l_quant_interp_73e04930d99e06da9af16587c2e544b4", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -32,7 +33,7 @@ "unit_typing" ], 0, - "a12db216ae5840a1ed5c5113eccb9ae8" + "05c9120b489c39aa8d4e5815e1b82d3f" ], [ "IfcReificationRegressionTest.bidule1", @@ -49,13 +50,14 @@ "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.incr", "equation_IfcReificationRegressionTest.x1", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_9ac87f1134ba4f196a80ceb9464b662f", - "interpretation_Tm_abs_bacaba0cf2096614bc5f5308da06512a", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_9671cefc2d47cb18916753cef9d076a9", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", + "interpretation_Tm_abs_dcf94c66cae98421f3584199bb55864e", + "l_quant_interp_65d9f64a9048d086fdbb6fdbcc203a63", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -65,7 +67,7 @@ "token_correspondence_IfcReificationRegressionTest.x1", "unit_typing" ], 0, - "6b79df0e4bc7d0038574809234904f26" + "7949058693ac39976a9a213d775b5208" ], [ "IfcReificationRegressionTest.bidule2", @@ -82,14 +84,15 @@ "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.incr", "equation_IfcReificationRegressionTest.x2", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_788bc8bd667637c166aa3ff181a7ecff", - "interpretation_Tm_abs_896bfe9ab5ea8f2c3284bfb116dfb0c9", - "interpretation_Tm_abs_bacaba0cf2096614bc5f5308da06512a", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_7ca25d477a3e0e2f7c64f9fcd444202e", + "interpretation_Tm_abs_9671cefc2d47cb18916753cef9d076a9", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", + "interpretation_Tm_abs_e360ff8f2c868d9daa532f1cb46820c8", + "l_quant_interp_3c73381c87fc81876fe1b95ceb037039", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -99,7 +102,7 @@ "token_correspondence_IfcReificationRegressionTest.x2", "unit_typing" ], 0, - "ae08dce8b78f6ae6eb3c85ec10d98ba9" + "e658ddc1d0508a4bb375f0c0e2e3c6e6" ], [ "IfcReificationRegressionTest.bidule3", @@ -117,11 +120,11 @@ "equation_IfcReificationRegressionTest.x3", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_788bc8bd667637c166aa3ff181a7ecff", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_7ca25d477a3e0e2f7c64f9fcd444202e", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -130,7 +133,7 @@ "unit_typing" ], 0, - "b6c7c5d88a30627285309b290a8a3c80" + "c05b36dc5cb96d887e12842acb33b8a2" ], [ "IfcReificationRegressionTest.bidule0", @@ -147,13 +150,14 @@ "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.ifc", "equation_FStar.DM4F.IntST.incr", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_788bc8bd667637c166aa3ff181a7ecff", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_f8c01a29edb01f1019ca798566e073fc", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_7ca25d477a3e0e2f7c64f9fcd444202e", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", + "interpretation_Tm_abs_cd4af824bd65da4276f069890c42565c", + "l_quant_interp_73e04930d99e06da9af16587c2e544b4", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -163,7 +167,7 @@ "unit_typing" ], 0, - "dca4c25b0755355a114fdc50ec12698d" + "1af40becac6e2ac1b6945f13d9578f77" ], [ "IfcReificationRegressionTest.bidule1", @@ -180,13 +184,14 @@ "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.incr", "equation_IfcReificationRegressionTest.x1", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_9ac87f1134ba4f196a80ceb9464b662f", - "interpretation_Tm_abs_bacaba0cf2096614bc5f5308da06512a", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_9671cefc2d47cb18916753cef9d076a9", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", + "interpretation_Tm_abs_dcf94c66cae98421f3584199bb55864e", + "l_quant_interp_65d9f64a9048d086fdbb6fdbcc203a63", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -196,7 +201,7 @@ "token_correspondence_IfcReificationRegressionTest.x1", "unit_typing" ], 0, - "d67cb4a12871f441288bb27cf7da4be0" + "ad00481e9136c775d47cf4a67d3276f4" ], [ "IfcReificationRegressionTest.bidule2", @@ -213,14 +218,15 @@ "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.incr", "equation_IfcReificationRegressionTest.x2", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_788bc8bd667637c166aa3ff181a7ecff", - "interpretation_Tm_abs_896bfe9ab5ea8f2c3284bfb116dfb0c9", - "interpretation_Tm_abs_bacaba0cf2096614bc5f5308da06512a", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "function_token_typing_Prims.int", "int_inversion", "int_typing", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_7ca25d477a3e0e2f7c64f9fcd444202e", + "interpretation_Tm_abs_9671cefc2d47cb18916753cef9d076a9", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", + "interpretation_Tm_abs_e360ff8f2c868d9daa532f1cb46820c8", + "l_quant_interp_3c73381c87fc81876fe1b95ceb037039", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -230,7 +236,7 @@ "token_correspondence_IfcReificationRegressionTest.x2", "unit_typing" ], 0, - "3ace5640009ac37d643b2de50d88fadb" + "fee8619803c64517d448c304b96e6808" ], [ "IfcReificationRegressionTest.bidule3", @@ -248,11 +254,11 @@ "equation_IfcReificationRegressionTest.x3", "equation_Prims.eqtype", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_788bc8bd667637c166aa3ff181a7ecff", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", + "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", + "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", + "interpretation_Tm_abs_7ca25d477a3e0e2f7c64f9fcd444202e", + "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -261,7 +267,7 @@ "unit_typing" ], 0, - "f3514c3c9683dae4f5b6600baaf3f445" + "b8306f26c31bdf833033a0ea03c69ae1" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcRules.fst.hints b/examples/rel/IfcRules.fst.hints index 4395d0fd03b..a41aedf89b4 100644 --- a/examples/rel/IfcRules.fst.hints +++ b/examples/rel/IfcRules.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "970b841dd99b3eb8413271887e716b8d" + "a15f636be8675aba7b6a238187c01db0" ], [ "IfcRules.low_equiv", @@ -20,7 +20,7 @@ "assumption_Prims.HasEq_int" ], 0, - "ef6acc34a22ca58d192347edb25fbb70" + "350884038bfd6ed4f39af00564d4a730" ], [ "IfcRules.ni_com'", @@ -40,7 +40,7 @@ "typing_FStar.Heap.trivial_preorder" ], 0, - "48cced73991576e0eada2f1e93ed0e11" + "c9a102dc4e460e9397eb57dcf6988d70" ], [ "IfcRules.sub_exp", @@ -62,7 +62,7 @@ "typing_IfcRules.uu___is_Low" ], 0, - "77eeaa98c4f908033bdf8f7b30476c77" + "5039b4107314853e32a32772370dd63d" ], [ "IfcRules.avar_exp", @@ -85,7 +85,7 @@ "typing_Rel.__proj__R__item__r" ], 0, - "4179a7070b80176f0d86667dce60dee2" + "8a0fedf767b824e2a96154915eaa102c" ], [ "IfcRules.aint_exp", @@ -105,7 +105,7 @@ "typing_Rel.__proj__R__item__r" ], 0, - "749d66c29a3339c46332906e5a405a61" + "b07f5bc4d282cc36507c9901ba850ffa" ], [ "IfcRules.binop_exp", @@ -126,7 +126,7 @@ "typing_Rel.__proj__R__item__r" ], 0, - "1760569455b0df15f67901417e05bac9" + "fa61273ec4076b71f0f7a8bd3563c4b2" ], [ "IfcRules.sub_com", @@ -157,7 +157,7 @@ "typing_IfcRules.op_Less_Equals", "typing_tok_IfcRules.Low@tok" ], 0, - "23de54c1fe26716a74b99e7fb618566b" + "37f9cba528c225086f64f95ba5dd85bf" ], [ "IfcRules.assign_com", @@ -205,7 +205,7 @@ "projection_inverse_While.Assign_term", "projection_inverse_While.Assign_var", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_55be8c4edd9b153cd30fa3816bfcc5b2", + "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Pervasives.Native.uu___is_Some", @@ -215,7 +215,7 @@ "typing_tok_IfcRules.Low@tok" ], 0, - "c44a87fdb3500519f8852159772a2168" + "84e5ac0afd5f5580c27904e57ac00829" ], [ "IfcRules.seq_com'", @@ -261,7 +261,7 @@ "typing_While.interpret_com" ], 0, - "7214a510c215eeba7827315e51929508" + "1855b0c81555583cd53ef81f19519ab3" ], [ "IfcRules.seq_com", @@ -270,7 +270,7 @@ 1, [ "@query", "equation_IfcRules.ni_com" ], 0, - "96adb370ee55e51b122c5ca963e385fb" + "3ee35a6562b7adb10b8ab36ef56254c1" ], [ "IfcRules.cond_com", @@ -313,14 +313,14 @@ "projection_inverse_While.If_cond", "projection_inverse_While.If_else_branch", "projection_inverse_While.If_then_branch", - "refinement_interpretation_Tm_refine_55be8c4edd9b153cd30fa3816bfcc5b2", + "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "typing_IfcRules.label_of", "typing_IfcRules.op_Less", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", "typing_tok_IfcRules.Low@tok", "typing_tok_While.Skip@tok" ], 0, - "052469b87fa95079cfda9f58e01d82d8" + "252c8d01f2be8ecd5fa7cdfaa221c436" ], [ "IfcRules.skip_com", @@ -350,7 +350,7 @@ "typing_tok_While.Skip@tok" ], 0, - "9d9906ddcc53cd715692a74b5124a6a0" + "490970d1bbbcb2fdb2845ec76b8f0d70" ], [ "IfcRules.decr_while", @@ -368,7 +368,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "ae046b86e0d00aa8dbb010ea1c8256fc" + "8608d7601ff2f5f5ba5fd403ce1712f4" ], [ "IfcRules.while_com'", @@ -386,13 +386,14 @@ "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_41cc1cbfb6e5d3313e9b9ea3157d9aab_4", "binder_x_4b8b77728a8eea29532c6e327f811b98_1", - "binder_x_4bae944360e9a29c8e7a9d5f7fe1e90e_3", "binder_x_59b54fa21cedada836226afdcb64958b_2", - "binder_x_f703d322c043fe5e12eb7ceedb667c6c_5", "bool_inversion", + "binder_x_a145072d084d31417409bb15829690bb_5", + "binder_x_d43159b27a7293e81ceca7290b77263e_3", + "binder_x_f1e95d2b8fc0086a50bd19ef5489fb29_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_IfcRules.High", - "constructor_distinct_IfcRules.Low", + "constructor_distinct_IfcRules.Low", "constructor_distinct_Tm_unit", "constructor_distinct_While.While", "data_typing_intro_IfcRules.High@tok", "data_typing_intro_Rel.R@tok", "data_typing_intro_While.While@tok", @@ -402,9 +403,10 @@ "equality_tok_IfcRules.Low@tok", "equality_tok_Prims.LexTop@tok", "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_IfcRules.decr_while", - "equation_IfcRules.low_equiv", "equation_IfcRules.ni_com", - "equation_IfcRules.ni_com_", "equation_IfcRules.ni_exp", - "equation_IfcRules.op_Less", "equation_Prims.nat", + "equation_IfcRules.label_of", "equation_IfcRules.low_equiv", + "equation_IfcRules.ni_com", "equation_IfcRules.ni_com_", + "equation_IfcRules.ni_exp", "equation_IfcRules.op_Less", + "equation_Prims.nat", "equation_While.id", "equation_with_fuel_While.interpret_com.fuel_instrumented", "equation_with_fuel_While.interpret_while.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", @@ -434,20 +436,23 @@ "projection_inverse_While.While_body", "projection_inverse_While.While_cond", "projection_inverse_While.While_variant", - "refinement_interpretation_Tm_refine_55be8c4edd9b153cd30fa3816bfcc5b2", - "refinement_interpretation_Tm_refine_5cc2a6798bf2889cb456629e4b5c48f4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", "refinement_interpretation_Tm_refine_9f1548f821ac5aa32cdc0b620d5d324d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_a58d41437d7ede339ffa0f4a04faa472", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_While.interpret_com.fuel_instrumented", + "token_correspondence_While.interpret_while.fuel_instrumented", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_IfcRules.decr_while", "typing_Rel.__proj__R__item__l", + "typing_IfcRules.decr_while", "typing_IfcRules.label_of", + "typing_IfcRules.op_Less", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", "typing_While.interpret_com", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" + "typing_tok_IfcRules.Low@tok", "unit_inversion", "unit_typing", + "well-founded-ordering-on-nat" ], 0, - "731e399e2a1949f81584ad099ce14aee" + "b0d23a2797ca5f2babc34bc68b6138db" ], [ "IfcRules.while_com", @@ -456,7 +461,7 @@ 1, [ "@query", "equation_IfcRules.ni_com" ], 0, - "12ce72893fce4663240366eef1e8fda9" + "2b68e05a2b2b04801f1c18f0025558aa" ], [ "IfcRules.label_of", @@ -465,7 +470,7 @@ 1, [ "@query" ], 0, - "bedae4805b00a38a0c53f80259e0b97c" + "ae145e9210b93e77c9fcaa83a42335c9" ], [ "IfcRules.low_equiv", @@ -477,7 +482,7 @@ "assumption_Prims.HasEq_int" ], 0, - "6d26fa6c7f6d25e35e87190c3b8661f9" + "b6e77263ef428359b8ca28a4b019f2dc" ], [ "IfcRules.ni_com'", @@ -497,7 +502,7 @@ "typing_FStar.Heap.trivial_preorder" ], 0, - "e816081f546557e9d2c938504a6ec643" + "527059adc2d45bdaa8fbfb89ed00f869" ], [ "IfcRules.decr_while", @@ -515,7 +520,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "8e505196564fd94bde66be4e53e7ce29" + "a252bee18b999e974c5717cde96e6e0e" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcRulesReify.fst.hints b/examples/rel/IfcRulesReify.fst.hints index 23b7243f497..2f816b99b08 100644 --- a/examples/rel/IfcRulesReify.fst.hints +++ b/examples/rel/IfcRulesReify.fst.hints @@ -19,7 +19,7 @@ "typing_IfcRulesReify.meet", "typing_IfcRulesReify.op_Less_Equals" ], 0, - "a8203ddf619032778fc66f525bbc7c74" + "2f3b2c87d83d62ee78fd66bba0b1fed1" ], [ "IfcRulesReify.low_equiv", @@ -31,7 +31,7 @@ "assumption_Prims.HasEq_int" ], 0, - "ca2f230a42309b411007da328f913aaf" + "6184177f10de3f435a292a3d79fa9405" ], [ "IfcRulesReify.inv_com'", @@ -49,7 +49,7 @@ "typing_WhileReify.interpret_com" ], 0, - "e02e951036fcc01561549c70c2815429" + "7a089fff876b81df57d7b50f96247e91" ], [ "IfcRulesReify.sub_exp", @@ -71,7 +71,7 @@ "typing_IfcRulesReify.uu___is_Low" ], 0, - "6c8a822630d5da2cd2e5b5f9c4bfa215" + "1070ba2584e00b60cfecda6579ee9da6" ], [ "IfcRulesReify.avar_exp", @@ -83,7 +83,6 @@ "@fuel_correspondence_WhileReify.interpret_exp_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_WhileReify.AVar", "data_typing_intro_WhileReify.AVar@tok", "disc_equation_IfcRulesReify.Low", @@ -91,15 +90,14 @@ "equation_FStar.DM4F.IntStoreFixedReader.read", "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_exp", "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "interpretation_Tm_abs_4a6fb92fc3aadbdc6543585d1b85d3da", - "interpretation_Tm_abs_fb49622d5f0ea4c46753f5a31493400f", + "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", + "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", "projection_inverse_BoxBool_proj_0", - "projection_inverse_WhileReify.AVar__0", "unit_typing" + "projection_inverse_WhileReify.AVar__0" ], 0, - "8553646f366f633cae3eae6ffb12ac6d" + "5f1571c656e8f5604f991d222c98ca6e" ], [ "IfcRulesReify.aint_exp", @@ -114,13 +112,12 @@ "equality_tok_IfcRulesReify.Low@tok", "equation_IfcRulesReify.ni_exp", "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "interpretation_Tm_abs_e2de9af40e7addcec157eaf54701dd16", + "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", "projection_inverse_WhileReify.AInt__0" ], 0, - "b05966ba633934dca790df3cc5c5464b" + "1703c7a1b9e79ab69a010d58e667e3a9" ], [ "IfcRulesReify.binop_exp", @@ -135,15 +132,14 @@ "data_typing_intro_WhileReify.AOp@tok", "equation_IfcRulesReify.ni_exp", "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "interpretation_Tm_abs_2ca2ac6fc76f9adb0c42fe5c105caf1d", + "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", "projection_inverse_WhileReify.AOp__0", "projection_inverse_WhileReify.AOp__1", "projection_inverse_WhileReify.AOp__2" ], 0, - "a482aa5ee834d9836003403f3115cd65" + "1b714826e83d19b3e66b9d140a46da53" ], [ "IfcRulesReify.sub_com", @@ -154,7 +150,6 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", "@query", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_IfcRulesReify.High", @@ -170,9 +165,8 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_IfcRulesReify.label", "fuel_guarded_inversion_WhileReify.com", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_e7758be48acf7f590e3405e463df8b93", - "l_quant_interp_0e5bea26761b1cb07f14f299ca135848", + "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", + "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -182,7 +176,7 @@ "unit_typing" ], 0, - "ad8afeade231539360eff60c7c25aa7a" + "50f13e00ac41b368ead6897701e05ab5" ], [ "IfcRulesReify.assign_inv_com0", @@ -193,8 +187,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", "@query", - "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_8ac411f6dd273bb90bd9a234cd6a9243", - "IfcRulesReify_interpretation_Tm_arrow_1488a937a3e8deec79f7ef763bb356a7", + "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_76bb22c2410237a1d6e93fd6cf776ff8", + "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_IfcRulesReify.High", @@ -211,7 +205,7 @@ "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "fuel_guarded_inversion_IfcRulesReify.label", "fuel_guarded_inversion_Rel.rel", - "interpretation_Tm_abs_b38fe3182e21fefd54ea2f8ffd759df0", + "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", "l_imp-interp", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", @@ -226,15 +220,15 @@ "projection_inverse_WhileReify.Assign_term", "projection_inverse_WhileReify.Assign_var", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_929ddef54676d42bdfa18701e40f066d", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", + "refinement_interpretation_Tm_refine_9a99f0fcd9292b5760b9e17468c48bb8", "true_interp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", "typing_FStar.DM4F.IntStoreExcFixed.write", "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", "unit_inversion", "unit_typing" ], 0, - "47cb581f610f04e3754346e1f1d25a9a" + "133efee6002d4130a7ea8bf46ec7bedb" ], [ "IfcRulesReify.assign_inv_com'", @@ -246,10 +240,9 @@ "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_8ac411f6dd273bb90bd9a234cd6a9243", - "IfcRulesReify_interpretation_Tm_arrow_1488a937a3e8deec79f7ef763bb356a7", + "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_76bb22c2410237a1d6e93fd6cf776ff8", + "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -265,11 +258,10 @@ "equation_WhileReify.interpret_com", "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_b38fe3182e21fefd54ea2f8ffd759df0", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", - "l_quant_interp_0e5bea26761b1cb07f14f299ca135848", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", + "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -278,14 +270,14 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_WhileReify.Assign_term", "projection_inverse_WhileReify.Assign_var", - "refinement_interpretation_Tm_refine_929ddef54676d42bdfa18701e40f066d", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", + "refinement_interpretation_Tm_refine_9a99f0fcd9292b5760b9e17468c48bb8", "true_interp", "typing_FStar.DM4F.IntStoreExcFixed.write", "typing_IfcRulesReify.op_Less", "typing_WhileReify.interpret_com", "unit_typing" ], 0, - "24bfe3430920e0f30026240766c7ce89" + "7d0aea4f1fb89bed8aee14bde1fda912" ], [ "IfcRulesReify.assign_com", @@ -294,7 +286,7 @@ 1, [ "@query", "equation_IfcRulesReify.ni_com" ], 0, - "47c81f0f6a7e652ec30f7fb92f4fcfd7" + "84528ff0cfe0741a2de8fe018b8c07ad" ], [ "IfcRulesReify.seq_nil1", @@ -316,9 +308,9 @@ "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_8c2a419742da6558bef0939e5808a305", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_9a81ce357713086fb08135480f8b928b", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -331,7 +323,7 @@ "unit_typing" ], 0, - "73b3457272d22234cd7ba4c3ed6796ee" + "e745e3507bfc3098d4a134d05dd45e59" ], [ "IfcRulesReify.seq_nil2", @@ -345,8 +337,9 @@ "@query", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_f4cec3169d68beadefc0d25ad6b0c0e5", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", "assumption_FStar.Pervasives.Native.option__uu___haseq", + "constructor_distinct_FStar.Pervasives.Native.Mktuple2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -355,11 +348,10 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_8c2a419742da6558bef0939e5808a305", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_9a81ce357713086fb08135480f8b928b", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -369,11 +361,11 @@ "projection_inverse_WhileReify.Seq_first", "projection_inverse_WhileReify.Seq_second", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a972e5548b471e2ee7efa31cae74e4fe", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", "typing_WhileReify.interpret_com_st", "unit_typing" ], 0, - "5185365de9d5bb31c906e37605cc7950" + "a41ee820c91c64dab13f1e3f3e205314" ], [ "IfcRulesReify.seq_inv_com'", @@ -386,8 +378,9 @@ "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -401,12 +394,12 @@ "equation_Prims.eqtype", "equation_WhileReify.interpret_com", "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_8c2a419742da6558bef0939e5808a305", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", - "l_quant_interp_0e5bea26761b1cb07f14f299ca135848", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_9a81ce357713086fb08135480f8b928b", + "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -419,12 +412,14 @@ "projection_inverse_WhileReify.Seq_first", "projection_inverse_WhileReify.Seq_second", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", "true_interp", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_WhileReify.interpret_com", "unit_inversion", "unit_typing" + "typing_WhileReify.interpret_com", + "typing_WhileReify.interpret_com_st", "unit_inversion", "unit_typing" ], 0, - "36c97da0b80b05edd9ca395733db8853" + "2188a15ce4659fbf99d360a2892e0476" ], [ "IfcRulesReify.use_ni_com", @@ -433,7 +428,7 @@ 1, [ "@query" ], 0, - "9c0a89ed43d6ba9c670ad7c04df9b4ec" + "177db8d07c499dbf55905d9f2b95caf3" ], [ "IfcRulesReify.seq_com'", @@ -446,9 +441,8 @@ "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_f4cec3169d68beadefc0d25ad6b0c0e5", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Mktuple2", "constructor_distinct_FStar.Pervasives.Native.None", @@ -460,6 +454,7 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_WhileReify.Skip@tok", + "equation_FStar.DM4F.IntStoreExcFixed.write", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com", @@ -470,10 +465,12 @@ "fuel_guarded_inversion_Rel.rel", "fuel_guarded_inversion_WhileReify.com", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_8c2a419742da6558bef0939e5808a305", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", - "interpretation_Tm_abs_e7758be48acf7f590e3405e463df8b93", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_9a81ce357713086fb08135480f8b928b", + "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", + "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", + "interpretation_Tm_abs_f9f55955158f503b137dc2f17a533201", "l_imp-interp", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -488,9 +485,10 @@ "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", "projection_inverse_WhileReify.Seq_first", "projection_inverse_WhileReify.Seq_second", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a972e5548b471e2ee7efa31cae74e4fe", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", + "token_correspondence_WhileReify.interpret_com_st.fuel_instrumented", "true_interp", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", @@ -499,7 +497,7 @@ "typing_tok_WhileReify.Skip@tok", "unit_inversion", "unit_typing" ], 0, - "406f845c27d63d2a435250626953b8b1" + "f596226da5e8c1ff2b1128ef448a64cf" ], [ "IfcRulesReify.seq_com", @@ -508,7 +506,7 @@ 1, [ "@query", "equation_IfcRulesReify.ni_com" ], 0, - "b8e9df98b19bdeec401673381049e8be" + "61009363c9a67c6f0b246180f6556b19" ], [ "IfcRulesReify.cond_inv_com'", @@ -521,22 +519,22 @@ "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_f4cec3169d68beadefc0d25ad6b0c0e5", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "constructor_distinct_WhileReify.If", + "constructor_distinct_WhileReify.Skip", "data_typing_intro_WhileReify.If@tok", + "equality_tok_WhileReify.Skip@tok", "equation_IfcRulesReify.inv_com_", "equation_IfcRulesReify.ni_com", "equation_WhileReify.interpret_com", "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_6d3b3b14e04643b62fa007dd7a5b3bed", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", + "interpretation_Tm_abs_f9f55955158f503b137dc2f17a533201", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", @@ -544,12 +542,13 @@ "projection_inverse_WhileReify.If_cond", "projection_inverse_WhileReify.If_else_branch", "projection_inverse_WhileReify.If_then_branch", - "refinement_interpretation_Tm_refine_a972e5548b471e2ee7efa31cae74e4fe", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", "true_interp", "typing_WhileReify.interpret_com", - "typing_WhileReify.interpret_com_st", "unit_typing" + "typing_WhileReify.interpret_com_st", + "typing_tok_WhileReify.Skip@tok", "unit_typing" ], 0, - "cc3bf76482ca5d4273f4905fa87777d4" + "67e1d210794c87ef73417ac904a698e1" ], [ "IfcRulesReify.interpret_cond", @@ -562,26 +561,23 @@ "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_WhileReify.If", "data_typing_intro_WhileReify.If@tok", "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_6d3b3b14e04643b62fa007dd7a5b3bed", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_f9f55955158f503b137dc2f17a533201", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_WhileReify.If_cond", "projection_inverse_WhileReify.If_else_branch", - "projection_inverse_WhileReify.If_then_branch", "unit_typing" + "projection_inverse_WhileReify.If_then_branch" ], 0, - "22c39decd02988ab06a4332aaa2f9f89" + "053d41aa2168db44b3e9774c50da2bcd" ], [ "IfcRulesReify.cond_ni_com'", @@ -592,10 +588,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", "@query", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_f4cec3169d68beadefc0d25ad6b0c0e5", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -605,6 +599,7 @@ "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_IfcRulesReify.High@tok", "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_IfcRulesReify.Low", "equality_tok_IfcRulesReify.Low@tok", "equation_IfcRulesReify.inv_com_", @@ -614,10 +609,8 @@ "equation_Prims.logical", "equation_WhileReify.interpret_com", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_IfcRulesReify.label", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.unit", "l_imp-interp", - "l_quant_interp_0e5bea26761b1cb07f14f299ca135848", + "fuel_guarded_inversion_Rel.rel", "function_token_typing_Prims.unit", + "l_imp-interp", "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", @@ -628,17 +621,16 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a972e5548b471e2ee7efa31cae74e4fe", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", "true_interp", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_IfcRulesReify.low_equiv", "typing_WhileReify.interpret_com", "typing_WhileReify.interpret_com_st", "unit_inversion", "unit_typing" ], 0, - "7e9454956e71b3eb85e9827c000b2c3d" + "e8122156e1c0af553b8bd189f5937018" ], [ "IfcRulesReify.cond_com", @@ -647,7 +639,7 @@ 1, [ "@query", "equation_IfcRulesReify.ni_com" ], 0, - "73eda9525d41591c553e72e690bd2fac" + "f9d3c2cbe23f18a3eeb0b44a4f5a5040" ], [ "IfcRulesReify.skip_com", @@ -657,8 +649,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_WhileReify.Skip", "equality_tok_IfcRulesReify.High@tok", @@ -670,9 +661,8 @@ "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_e7758be48acf7f590e3405e463df8b93", - "l_imp-interp", "l_quant_interp_0e5bea26761b1cb07f14f299ca135848", + "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", + "l_imp-interp", "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -686,7 +676,7 @@ "unit_typing" ], 0, - "a010b0742b5d8a96e3fe1f68ff7406eb" + "32b50d259d6475a9be13c523fff19d51" ], [ "IfcRulesReify.interpret_while_nil", @@ -712,10 +702,10 @@ "equation_WhileReify.interpret_com", "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_4cdfc99f063f6028366d379909b7ff87", - "interpretation_Tm_abs_9d5a05d6885a0b68f588d94381bdefe0", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_6773fb7c1387c548753600703be0cd90", + "interpretation_Tm_abs_915c07277a44cf624cd86132b1785c33", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", "primitive_Prims.op_disEquality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -729,7 +719,7 @@ "typing_WhileReify.interpret_com", "unit_typing" ], 0, - "6324fc4e9f26858838265ce64853d126" + "3f75c6e1870214b7bc0954cebae7a58e" ], [ "IfcRulesReify.interpret_while_loops", @@ -746,7 +736,7 @@ "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_f4cec3169d68beadefc0d25ad6b0c0e5", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -763,12 +753,12 @@ "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_43c254713b07f66c95c49767010d3551", - "interpretation_Tm_abs_4cdfc99f063f6028366d379909b7ff87", - "interpretation_Tm_abs_9b7d6141e65c618a2f36d3988897ea97", - "interpretation_Tm_abs_9d5a05d6885a0b68f588d94381bdefe0", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", + "interpretation_Tm_abs_4df67859ca0f08a0d33b463b20bafafc", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_6773fb7c1387c548753600703be0cd90", + "interpretation_Tm_abs_915c07277a44cf624cd86132b1785c33", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_a58fc4a40c7e82e8f9b1f0bae2dee567", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_disEquality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -782,13 +772,13 @@ "projection_inverse_WhileReify.While_cond", "projection_inverse_WhileReify.While_metric", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a972e5548b471e2ee7efa31cae74e4fe", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", "typing_FStar.Pervasives.Native.uu___is_None", "typing_WhileReify.interpret_com", "typing_WhileReify.interpret_com_st", "unit_typing" ], 0, - "8db45fcdede398644fc88fd165e7219b" + "24ccb02a86da5bc08e2ec0dd8c8ebfb1" ], [ "IfcRulesReify.while_inv_com'", @@ -801,17 +791,17 @@ "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "IfcRulesReify_interpretation_Tm_arrow_1488a937a3e8deec79f7ef763bb356a7", + "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_f4cec3169d68beadefc0d25ad6b0c0e5", - "binder_x_23f26fef2d95b9c15b1301c4b1c61298_0", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", "binder_x_2955b9def59aee347877a1c125573f29_1", "binder_x_7ab1748f97b7be5091389973104c9c7b_5", - "binder_x_7f7fd22f485db00c3460b0c87e01227e_3", + "binder_x_87ec6f72b2dda9ab01bf259aff6551e3_0", "binder_x_961a83ca4e58bd70b992f49bc5b8c30f_4", - "binder_x_db9f5591f9c8c6a645bfa61f7afb22db_2", "bool_inversion", + "binder_x_db9f5591f9c8c6a645bfa61f7afb22db_2", + "binder_x_f1b0adbf3001da485bb55c0cfa02da25_3", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Mktuple2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -827,18 +817,19 @@ "equation_IfcRulesReify.label_fun", "equation_IfcRulesReify.ni_com", "equation_IfcRulesReify.op_Less", "equation_Prims.eqtype", "equation_Prims.nat", "equation_WhileReify.decr_while", - "equation_WhileReify.interpret_com", "equation_WhileReify.metric", + "equation_WhileReify.interpret_com", + "equation_WhileReify.interpret_exp_", "equation_WhileReify.metric", "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_WhileReify.com", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_4cdfc99f063f6028366d379909b7ff87", - "interpretation_Tm_abs_9d5a05d6885a0b68f588d94381bdefe0", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", - "interpretation_Tm_abs_e7758be48acf7f590e3405e463df8b93", - "l_quant_interp_0e5bea26761b1cb07f14f299ca135848", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_6773fb7c1387c548753600703be0cd90", + "interpretation_Tm_abs_915c07277a44cf624cd86132b1785c33", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", + "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_disEquality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -853,8 +844,8 @@ "projection_inverse_WhileReify.While_cond", "projection_inverse_WhileReify.While_metric", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a972e5548b471e2ee7efa31cae74e4fe", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", "true_interp", "typing_FStar.Pervasives.Native.uu___is_None", "typing_IfcRulesReify.op_Less", "typing_WhileReify.interpret_com", "typing_WhileReify.interpret_com_st", @@ -862,7 +853,7 @@ "well-founded-ordering-on-nat" ], 0, - "e1462ea3b1be9cac1af17fe03c21cfea" + "93c4331cb7aedbbd3a390025de83c51c" ], [ "IfcRulesReify.while_ni_com'_low_equiv_high", @@ -872,7 +863,6 @@ [ "@MaxIFuel_assumption", "@query", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -886,9 +876,8 @@ "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com_", "equation_IfcRulesReify.op_Less", "equation_Prims.eqtype", "equation_WhileReify.interpret_com", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "l_imp-interp", - "l_quant_interp_0e5bea26761b1cb07f14f299ca135848", + "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", @@ -905,7 +894,7 @@ "typing_IfcRulesReify.uu___is_High", "unit_inversion", "unit_typing" ], 0, - "6d31f0e69b0bcb88aa5fec3692b2a4a1" + "57c5f91197760dd8e8004fa0de869b5f" ], [ "IfcRulesReify.while_ni_com'_low_equiv_low", @@ -918,14 +907,15 @@ "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", + "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_1bd6721ccd4079df1149fa1546eb53a3", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_f4cec3169d68beadefc0d25ad6b0c0e5", + "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", "binder_x_2955b9def59aee347877a1c125573f29_1", - "binder_x_7f7fd22f485db00c3460b0c87e01227e_3", "binder_x_9250a25a01be23c89a24518d1dd0ceb1_5", "binder_x_961a83ca4e58bd70b992f49bc5b8c30f_4", - "binder_x_db9f5591f9c8c6a645bfa61f7afb22db_2", "bool_inversion", + "binder_x_db9f5591f9c8c6a645bfa61f7afb22db_2", + "binder_x_f1b0adbf3001da485bb55c0cfa02da25_3", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", @@ -935,21 +925,23 @@ "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_IfcRulesReify.Low", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", - "equation_IfcRulesReify.ni_com", "equation_IfcRulesReify.ni_com_", - "equation_IfcRulesReify.ni_exp", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_WhileReify.decr_while", + "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com", + "equation_IfcRulesReify.ni_com_", "equation_IfcRulesReify.ni_exp", + "equation_Prims.eqtype", "equation_Prims.nat", + "equation_WhileReify.decr_while", "equation_WhileReify.interpret_com", "equation_WhileReify.interpret_exp_", "equation_WhileReify.metric", "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_WhileReify.com", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "int_typing", - "interpretation_Tm_abs_4cdfc99f063f6028366d379909b7ff87", - "interpretation_Tm_abs_9d5a05d6885a0b68f588d94381bdefe0", - "interpretation_Tm_abs_b2f853a94f0029c2238ba7921a2ea700", - "interpretation_Tm_abs_e298093be7ab71d8f4ab9c15fca47b21", - "interpretation_Tm_abs_e7758be48acf7f590e3405e463df8b93", + "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", + "interpretation_Tm_abs_6773fb7c1387c548753600703be0cd90", + "interpretation_Tm_abs_915c07277a44cf624cd86132b1785c33", + "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", + "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", "l_imp-interp", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_disEquality", @@ -965,18 +957,21 @@ "projection_inverse_WhileReify.While_body", "projection_inverse_WhileReify.While_cond", "projection_inverse_WhileReify.While_metric", + "refinement_interpretation_Tm_refine_24b0c33f0ae481eeb7b739aae21aff2d", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a972e5548b471e2ee7efa31cae74e4fe", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "true_interp", "typing_FStar.Pervasives.Native.uu___is_None", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", + "true_interp", "typing_FStar.DM4F.IntStoreExcFixed.raise_", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_IfcRulesReify.uu___is_Low", + "typing_WhileReify.interpret_com", "typing_WhileReify.interpret_com_st", "typing_WhileReify.interpret_exp_", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "6cf28ce7a9f3b3ef2c4aa9114f49658b" + "b71b7ec3acb2a5e3b6994050e5f602d1" ], [ "IfcRulesReify.while_ni_com'", @@ -984,21 +979,20 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_IfcRulesReify.High", "disc_equation_IfcRulesReify.Low", "equation_IfcRulesReify.ni_com_", "equation_Prims.logical", "fuel_guarded_inversion_IfcRulesReify.label", "fuel_guarded_inversion_Rel.rel", "l_imp-interp", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "true_interp", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_IfcRulesReify.low_equiv", "unit_inversion", "unit_typing" ], 0, - "884398b9d358a7342d9e26dad3c607ce" + "c9f9342e2cb506b94cd205f8d09af799" ], [ "IfcRulesReify.while_com", @@ -1007,7 +1001,7 @@ 1, [ "@query", "equation_IfcRulesReify.ni_com" ], 0, - "919f1ee003a10a41b6417446f627a178" + "fd48abdbfe132fce943bc5dbb31bd01e" ], [ "IfcRulesReify.low_equiv", @@ -1019,7 +1013,7 @@ "assumption_Prims.HasEq_int" ], 0, - "6d629eedaf357aa6eb08b2f33d226541" + "0e838f5ad6c800375d817b6251814cc8" ], [ "IfcRulesReify.inv_com'", @@ -1037,7 +1031,7 @@ "typing_WhileReify.interpret_com" ], 0, - "f662abb42238ede3f8bc3e73399ee280" + "67e0c17b002175afd8c89dadc755df85" ], [ "IfcRulesReify.seq_nil1", @@ -1053,7 +1047,7 @@ "unit_typing" ], 0, - "8124737c36df6046a17fe2479a4cde72" + "17611b545ec67a92d8a0f531f1568a82" ], [ "IfcRulesReify.seq_nil2", @@ -1069,7 +1063,7 @@ "unit_typing" ], 0, - "6782dfe745ffa900229a69c952d59fd8" + "c6b6d702bf1b73625a3fd648ad568a56" ], [ "IfcRulesReify.interpret_while_loops", @@ -1096,7 +1090,7 @@ "typing_WhileReify.interpret_com_st", "unit_typing" ], 0, - "74710d367e0af10e46ddfcc3b37dc1b7" + "01b7c525760310a78f4ad93697ea7aa1" ] ] ] \ No newline at end of file diff --git a/examples/rel/IfcTypechecker.fst.hints b/examples/rel/IfcTypechecker.fst.hints index c34492fd74f..9524c9bd694 100644 --- a/examples/rel/IfcTypechecker.fst.hints +++ b/examples/rel/IfcTypechecker.fst.hints @@ -38,7 +38,7 @@ "typing_IfcRulesReify.uu___is_Low" ], 0, - "a9ac3f34a8f37c4bce5c96a86f2e5df6" + "db798f5d53a5759f3ace0de2913335eb" ], [ "IfcTypechecker.tc_com", @@ -95,7 +95,7 @@ "typing_tok_WhileReify.Skip@tok", "unit_typing" ], 0, - "f61f4e8b71c2ee05366cf5db50633666" + "6e85534b0b2f3267d5fbe822a9527fb9" ], [ "IfcTypechecker.tc_com_hybrid", @@ -106,13 +106,13 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_IfcTypechecker.tc_exp.fuel_instrumented", "@query", - "IfcRulesReify_interpretation_Tm_arrow_1488a937a3e8deec79f7ef763bb356a7", + "IfcRulesReify_interpretation_Tm_arrow_d416eb3c1d7e9a4732fdb1c00dbc65ba", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "WhileReify_pretyping_db9f5591f9c8c6a645bfa61f7afb22db", "assumption_WhileReify.com__uu___haseq", - "binder_x_23f26fef2d95b9c15b1301c4b1c61298_0", + "binder_x_87ec6f72b2dda9ab01bf259aff6551e3_0", "binder_x_db9f5591f9c8c6a645bfa61f7afb22db_1", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Inl", "constructor_distinct_FStar.Pervasives.Inr", @@ -153,8 +153,8 @@ "projection_inverse_FStar.Pervasives.Inr_v", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_85267d103cfe8ddc19f58ac8328412ff", - "refinement_kinding_Tm_refine_85267d103cfe8ddc19f58ac8328412ff", + "refinement_interpretation_Tm_refine_cff862e5e3bb0825453f58f95be63608", + "refinement_kinding_Tm_refine_cff862e5e3bb0825453f58f95be63608", "subterm_ordering_WhileReify.If", "subterm_ordering_WhileReify.Seq", "subterm_ordering_WhileReify.While", "typing_FStar.Pervasives.Native.uu___is_Some", @@ -164,7 +164,7 @@ "typing_tok_WhileReify.Skip@tok", "unit_typing" ], 0, - "0228710441ca5ad50acea3d6e642f4c9" + "9b8e7a503e371a586cc6c716b96af146" ], [ "IfcTypechecker.tc_exp", @@ -203,7 +203,7 @@ "typing_IfcRulesReify.uu___is_Low" ], 0, - "4c4383198bb2f982ecb5335370419561" + "d55f02a007d9429f2ac9f60b993b6076" ], [ "IfcTypechecker.tc_com", @@ -260,7 +260,7 @@ "typing_tok_WhileReify.Skip@tok", "unit_typing" ], 0, - "23c1450ba6f47619db56e7b48960093c" + "67341ba2c5175f7709352852f31237ca" ], [ "IfcTypechecker.tc_com_hybrid", @@ -271,13 +271,13 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_IfcTypechecker.tc_exp.fuel_instrumented", "@query", - "IfcRulesReify_interpretation_Tm_arrow_1488a937a3e8deec79f7ef763bb356a7", + "IfcRulesReify_interpretation_Tm_arrow_d416eb3c1d7e9a4732fdb1c00dbc65ba", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "WhileReify_pretyping_db9f5591f9c8c6a645bfa61f7afb22db", "assumption_WhileReify.com__uu___haseq", - "binder_x_23f26fef2d95b9c15b1301c4b1c61298_0", + "binder_x_87ec6f72b2dda9ab01bf259aff6551e3_0", "binder_x_db9f5591f9c8c6a645bfa61f7afb22db_1", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Inl", "constructor_distinct_FStar.Pervasives.Inr", @@ -318,8 +318,8 @@ "projection_inverse_FStar.Pervasives.Inr_v", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_85267d103cfe8ddc19f58ac8328412ff", - "refinement_kinding_Tm_refine_85267d103cfe8ddc19f58ac8328412ff", + "refinement_interpretation_Tm_refine_cff862e5e3bb0825453f58f95be63608", + "refinement_kinding_Tm_refine_cff862e5e3bb0825453f58f95be63608", "subterm_ordering_WhileReify.If", "subterm_ordering_WhileReify.Seq", "subterm_ordering_WhileReify.While", "typing_FStar.Pervasives.Native.uu___is_Some", @@ -329,7 +329,7 @@ "typing_tok_WhileReify.Skip@tok", "unit_typing" ], 0, - "b15d2aefd9408f205bb5bff7097c079b" + "d65b6c46b2aa92994248388d1e94b7b3" ] ] ] \ No newline at end of file diff --git a/examples/rel/Loops.fst.hints b/examples/rel/Loops.fst.hints index 6e038831a84..dd829438e26 100644 --- a/examples/rel/Loops.fst.hints +++ b/examples/rel/Loops.fst.hints @@ -9,19 +9,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "equality_tok_Prims.LexTop@tok", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", "well-founded-ordering-on-nat" ], 0, - "0c074e0a7557c5366bd79380a1866bca" + "ca0b4409bd09f388c738d92a63fd223f" ], [ "Loops.sum_up_eq", @@ -30,11 +30,11 @@ 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f", - "refinement_interpretation_Tm_refine_dfd9c580f16c35b4f2acf3f5ae146baa" + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d", + "refinement_interpretation_Tm_refine_b9b5dc8fa9622a82d145f8db3f11638f" ], 0, - "dca3bcb436aedc3978d110d5f822d738" + "d83aedc847639c3f344f0b08333b85d0" ], [ "Loops.sum_up_eq", @@ -46,15 +46,15 @@ "@fuel_correspondence_Loops.sum_up.fuel_instrumented", "@fuel_irrelevance_Loops.sum_up.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_129f8fec3d60652a61aa73a0dfef43b7", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_72b7280882bba5ddffb54d4f3e42a10a", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_3b04e6e179fe4fabe28fe13ac21d6cec", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_f020b2cd0cdcb1081fafa42ebe1ca797", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_47aef85a14105108c0c9b94cc517ed29_3", - "binder_x_47aef85a14105108c0c9b94cc517ed29_4", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", - "binder_x_9e994b2094c854066a1cc086b0bba147_0", + "binder_x_12e7a5c451a804bc9be1a9a1f0fbc931_0", + "binder_x_35a92270f0447ac5b92dac6a463b4119_3", + "binder_x_35a92270f0447ac5b92dac6a463b4119_4", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.DM4F.Heap.ST.op_Bang", "equation_FStar.DM4F.Heap.ST.op_Colon_Equals", @@ -65,10 +65,10 @@ "equation_with_fuel_Loops.sum_up.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_7118eb129e1e8ce98d9b40c620feff33", - "interpretation_Tm_abs_9fc5401e9c4359ac881c6083d89589a8", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_33ca3e15ccdbf81acba6953928f085d6", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_b7590d405bfdb70d46cfdf36e4d08ade", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -78,18 +78,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_218a7f8b7200b90979b7e60049d43060", + "refinement_interpretation_Tm_refine_289855aa746535562d5330d01c24b5ff", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_9e27fe458dc7e8a006ce72fa58e6d592", - "refinement_interpretation_Tm_refine_ad73e49331556eaf04e29fff3e919dc5", - "refinement_interpretation_Tm_refine_ae1109702f05096c0d2c61f5314e5349", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", + "refinement_interpretation_Tm_refine_ccc923dfc1f3793051b4d3e28c081105", "typing_FStar.DM4F.Heap.ST.op_Bang", "typing_FStar.DM4F.Heap.ST.op_Colon_Equals", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "f3f49d16508dd41a980429680d9589b0" + "0f334475fbf7b127264c230f05fb129b" ], [ "Loops.sum_up_commute", @@ -104,11 +104,11 @@ "function_token_typing_Prims.int", "int_inversion", "int_typing", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "primitive_Prims.op_Addition", - "refinement_interpretation_Tm_refine_2ab633278384ad083c45debce7a2e127", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_a0db9f8fcb4d65fa49fcbae399c18742" ], 0, - "2e980b82b40f12a2b55655bf0f44abdd" + "f4c3eb8b03fc6d8617147e800fbeeba5" ], [ "Loops.sum_up_commute", @@ -120,16 +120,16 @@ "@fuel_correspondence_Loops.sum_up.fuel_instrumented", "@fuel_irrelevance_Loops.sum_up.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_129f8fec3d60652a61aa73a0dfef43b7", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_72b7280882bba5ddffb54d4f3e42a10a", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_b4acae69c8647bc192426d98a21f189e", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_3b04e6e179fe4fabe28fe13ac21d6cec", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_459eebfe514ede00b4e707ad8461278c", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_f020b2cd0cdcb1081fafa42ebe1ca797", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_47aef85a14105108c0c9b94cc517ed29_4", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_3", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", - "binder_x_9e994b2094c854066a1cc086b0bba147_0", + "binder_x_12e7a5c451a804bc9be1a9a1f0fbc931_0", + "binder_x_35a92270f0447ac5b92dac6a463b4119_4", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_ae567c2fb75be05905677af440075565_3", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.DM4F.Heap.ST.op_Bang", "equation_FStar.DM4F.Heap.ST.op_Colon_Equals", @@ -142,10 +142,10 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.unit", "int_inversion", "int_typing", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_7118eb129e1e8ce98d9b40c620feff33", - "interpretation_Tm_abs_9fc5401e9c4359ac881c6083d89589a8", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_33ca3e15ccdbf81acba6953928f085d6", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_b7590d405bfdb70d46cfdf36e4d08ade", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -155,13 +155,13 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_218a7f8b7200b90979b7e60049d43060", + "refinement_interpretation_Tm_refine_289855aa746535562d5330d01c24b5ff", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_9e27fe458dc7e8a006ce72fa58e6d592", - "refinement_interpretation_Tm_refine_ad73e49331556eaf04e29fff3e919dc5", - "refinement_interpretation_Tm_refine_ae1109702f05096c0d2c61f5314e5349", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", - "refinement_interpretation_Tm_refine_b16b81a3f4d84b00f18d15cc726fe4a6", + "refinement_interpretation_Tm_refine_41ecba646f02f1b0dd449ea5cb2576de", + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", + "refinement_interpretation_Tm_refine_ccc923dfc1f3793051b4d3e28c081105", "typing_FStar.DM4F.Heap.ST.op_Bang", "typing_FStar.DM4F.Heap.ST.op_Colon_Equals", "typing_FStar.DM4F.Heap.sel", "typing_FStar.DM4F.Heap.upd", @@ -169,7 +169,7 @@ "typing_Loops.sum_up", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "6705764f16b83c43384d01135085c6e7" + "c9255b7a6138ea8a7dd211b39dd9c923" ], [ "Loops.sum_dn", @@ -179,19 +179,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "equality_tok_Prims.LexTop@tok", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", "well-founded-ordering-on-nat" ], 0, - "25c010e239fb163131d89171733cea85" + "6127a22d56dbb9d4b8d6aa4194c8ddf1" ], [ "Loops.sum_dn_eq", @@ -200,11 +200,11 @@ 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a58f99d2165bf4edc52fc87932b803e7", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f" + "refinement_interpretation_Tm_refine_31a9c52eb8dc72167874a969c79b74f4", + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d" ], 0, - "6836eb2e5cef74cba4b751b97b317170" + "a716812d6d088af90bdd8c2df34b4f4d" ], [ "Loops.sum_dn_eq", @@ -216,15 +216,15 @@ "@fuel_correspondence_Loops.sum_dn.fuel_instrumented", "@fuel_irrelevance_Loops.sum_dn.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_129f8fec3d60652a61aa73a0dfef43b7", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_72b7280882bba5ddffb54d4f3e42a10a", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_3b04e6e179fe4fabe28fe13ac21d6cec", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_f020b2cd0cdcb1081fafa42ebe1ca797", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_47aef85a14105108c0c9b94cc517ed29_3", - "binder_x_47aef85a14105108c0c9b94cc517ed29_4", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", - "binder_x_9e994b2094c854066a1cc086b0bba147_0", + "binder_x_12e7a5c451a804bc9be1a9a1f0fbc931_0", + "binder_x_35a92270f0447ac5b92dac6a463b4119_3", + "binder_x_35a92270f0447ac5b92dac6a463b4119_4", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.DM4F.Heap.ST.op_Bang", "equation_FStar.DM4F.Heap.ST.op_Colon_Equals", @@ -235,10 +235,10 @@ "equation_with_fuel_Loops.sum_dn.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_7118eb129e1e8ce98d9b40c620feff33", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_f69a72c12e8f47f4d5c54917ac993ab1", + "interpretation_Tm_abs_3332b5d629b3701324736f704c59e6a6", + "interpretation_Tm_abs_33ca3e15ccdbf81acba6953928f085d6", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -248,18 +248,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_218a7f8b7200b90979b7e60049d43060", + "refinement_interpretation_Tm_refine_289855aa746535562d5330d01c24b5ff", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_9e27fe458dc7e8a006ce72fa58e6d592", - "refinement_interpretation_Tm_refine_ad73e49331556eaf04e29fff3e919dc5", - "refinement_interpretation_Tm_refine_ae1109702f05096c0d2c61f5314e5349", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", + "refinement_interpretation_Tm_refine_ccc923dfc1f3793051b4d3e28c081105", "typing_FStar.DM4F.Heap.ST.op_Bang", "typing_FStar.DM4F.Heap.ST.op_Colon_Equals", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "64fe2d983fc0c6efe0e3dac116ad350c" + "7b6e3519887eaf6312cb4a4d0a5ab963" ], [ "Loops.sum_dn_commute", @@ -275,10 +275,10 @@ "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "primitive_Prims.op_Addition", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ed3a78156c952d6373eab4b4b7f86ddf" + "refinement_interpretation_Tm_refine_b75de91155fd9aeba10ce0ee5ce0a0b0" ], 0, - "2dbea10f807e6e74811ed22345a27e2a" + "c4ff77a01001a0e4b4dba0e987bfb240" ], [ "Loops.sum_dn_commute", @@ -290,16 +290,16 @@ "@fuel_correspondence_Loops.sum_dn.fuel_instrumented", "@fuel_irrelevance_Loops.sum_dn.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_129f8fec3d60652a61aa73a0dfef43b7", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_72b7280882bba5ddffb54d4f3e42a10a", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_b4acae69c8647bc192426d98a21f189e", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_3b04e6e179fe4fabe28fe13ac21d6cec", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_459eebfe514ede00b4e707ad8461278c", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_f020b2cd0cdcb1081fafa42ebe1ca797", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_47aef85a14105108c0c9b94cc517ed29_4", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_3", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", - "binder_x_9e994b2094c854066a1cc086b0bba147_0", + "binder_x_12e7a5c451a804bc9be1a9a1f0fbc931_0", + "binder_x_35a92270f0447ac5b92dac6a463b4119_4", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_ae567c2fb75be05905677af440075565_3", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.DM4F.Heap.ST.op_Bang", "equation_FStar.DM4F.Heap.ST.op_Colon_Equals", @@ -312,10 +312,10 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.unit", "int_inversion", "int_typing", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_7118eb129e1e8ce98d9b40c620feff33", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_f69a72c12e8f47f4d5c54917ac993ab1", + "interpretation_Tm_abs_3332b5d629b3701324736f704c59e6a6", + "interpretation_Tm_abs_33ca3e15ccdbf81acba6953928f085d6", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -325,13 +325,13 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_218a7f8b7200b90979b7e60049d43060", + "refinement_interpretation_Tm_refine_289855aa746535562d5330d01c24b5ff", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_9e27fe458dc7e8a006ce72fa58e6d592", - "refinement_interpretation_Tm_refine_ad73e49331556eaf04e29fff3e919dc5", - "refinement_interpretation_Tm_refine_ae1109702f05096c0d2c61f5314e5349", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", - "refinement_interpretation_Tm_refine_b16b81a3f4d84b00f18d15cc726fe4a6", + "refinement_interpretation_Tm_refine_41ecba646f02f1b0dd449ea5cb2576de", + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", + "refinement_interpretation_Tm_refine_ccc923dfc1f3793051b4d3e28c081105", "typing_FStar.DM4F.Heap.ST.op_Bang", "typing_FStar.DM4F.Heap.ST.op_Colon_Equals", "typing_FStar.DM4F.Heap.sel", "typing_FStar.DM4F.Heap.upd", @@ -339,7 +339,7 @@ "typing_Loops.sum_dn", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "f731739fda4042a24c993cece405d011" + "fd0912f4ad27ae7b3ec5aae8c54ee8fa" ], [ "Loops.sum_up_dn_aux", @@ -348,11 +348,11 @@ 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f" + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d" ], 0, - "a6b5184091ba511d941eddd324b3f707" + "3497d2f72229e4e3c430ac53d37d2c85" ], [ "Loops.sum_up_dn_aux", @@ -361,11 +361,11 @@ 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_661e276b1929763d1d8a9d781fe1683d" + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_dd840875f8b0025567b6289d2ceea983" ], 0, - "4aa1907d3302a2d89fced9e5d79ed4ac" + "8d53c3a08d7fcd39ffa7893e76575359" ], [ "Loops.sum_up_dn_aux", @@ -379,16 +379,16 @@ "@fuel_irrelevance_Loops.sum_dn.fuel_instrumented", "@fuel_irrelevance_Loops.sum_up.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_129f8fec3d60652a61aa73a0dfef43b7", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_72b7280882bba5ddffb54d4f3e42a10a", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_b4acae69c8647bc192426d98a21f189e", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_3b04e6e179fe4fabe28fe13ac21d6cec", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_459eebfe514ede00b4e707ad8461278c", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_f020b2cd0cdcb1081fafa42ebe1ca797", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_17d402a6159d3275a67abf979d7a167c_3", - "binder_x_47aef85a14105108c0c9b94cc517ed29_4", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", - "binder_x_9e994b2094c854066a1cc086b0bba147_0", + "binder_x_12e7a5c451a804bc9be1a9a1f0fbc931_0", + "binder_x_35a92270f0447ac5b92dac6a463b4119_4", + "binder_x_acf45f6ea958c9688770d55e79892fbe_3", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.DM4F.Heap.ST.op_Bang", "equation_FStar.DM4F.Heap.ST.op_Colon_Equals", @@ -400,11 +400,11 @@ "equation_with_fuel_Loops.sum_up.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_7118eb129e1e8ce98d9b40c620feff33", - "interpretation_Tm_abs_9fc5401e9c4359ac881c6083d89589a8", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_f69a72c12e8f47f4d5c54917ac993ab1", + "interpretation_Tm_abs_3332b5d629b3701324736f704c59e6a6", + "interpretation_Tm_abs_33ca3e15ccdbf81acba6953928f085d6", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_b7590d405bfdb70d46cfdf36e4d08ade", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -412,20 +412,20 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_218a7f8b7200b90979b7e60049d43060", + "refinement_interpretation_Tm_refine_289855aa746535562d5330d01c24b5ff", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_9e27fe458dc7e8a006ce72fa58e6d592", - "refinement_interpretation_Tm_refine_ad73e49331556eaf04e29fff3e919dc5", - "refinement_interpretation_Tm_refine_ae1109702f05096c0d2c61f5314e5349", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", - "refinement_interpretation_Tm_refine_b16b81a3f4d84b00f18d15cc726fe4a6", - "refinement_interpretation_Tm_refine_bca1a219c5a0e458e9688294d6b239ff", + "refinement_interpretation_Tm_refine_41ecba646f02f1b0dd449ea5cb2576de", + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", + "refinement_interpretation_Tm_refine_b360700d065490e5ebb78bc370b0e9a2", + "refinement_interpretation_Tm_refine_ccc923dfc1f3793051b4d3e28c081105", "typing_FStar.DM4F.Heap.ST.op_Bang", "typing_FStar.DM4F.Heap.ST.op_Colon_Equals", "typing_Loops.sum_up", "typing_Loops.v", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "e5e71d56735c68af2c8a6e0cb4310704" + "e9a2d84da06dcbdd10a8007de2adf5e9" ], [ "Loops.equiv_sum_up_dn", @@ -437,7 +437,7 @@ "@fuel_correspondence_Loops.sum_dn.fuel_instrumented", "@fuel_correspondence_Loops.sum_up.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_b4acae69c8647bc192426d98a21f189e", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_459eebfe514ede00b4e707ad8461278c", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.DM4F.Heap.ST.op_Bang", @@ -447,22 +447,22 @@ "equation_with_fuel_Loops.sum_up.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_7118eb129e1e8ce98d9b40c620feff33", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_33ca3e15ccdbf81acba6953928f085d6", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_b16b81a3f4d84b00f18d15cc726fe4a6", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f", + "refinement_interpretation_Tm_refine_41ecba646f02f1b0dd449ea5cb2576de", + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d", "typing_Loops.sum_dn", "typing_Loops.v", "unit_typing" ], 0, - "724c95d6c380a141fd7c6fff2d84e9ba" + "430449912545d4bac8a0800cb841c9a3" ], [ "Loops.sum_up", @@ -472,19 +472,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "equality_tok_Prims.LexTop@tok", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", "well-founded-ordering-on-nat" ], 0, - "4b954eb6e06d8549426d91b21bd0cc46" + "127e10963b9c0c073f0320b4b04a9d5f" ], [ "Loops.sum_up_eq", @@ -493,10 +493,10 @@ 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f" + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d" ], 0, - "dc40c6f0e9d89d51bf785115305a8151" + "97ca1a154857fb519d59710d25e8637d" ], [ "Loops.sum_up_commute", @@ -512,10 +512,10 @@ "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "primitive_Prims.op_Addition", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f" + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d" ], 0, - "2ffbfb4c6078e965e60775dd99ff1d87" + "82c267923e208a6176aafe33ae66e436" ], [ "Loops.sum_dn", @@ -525,19 +525,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_7a6d54e0c00a8de2fec939f280a0567c_2", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "equality_tok_Prims.LexTop@tok", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_b154ce3b342a495bb8730cab2e6b9e58", + "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", "well-founded-ordering-on-nat" ], 0, - "4731a78c550d00845ba81a733c3e02e4" + "78c3d55e99b5f9ca6a15a6b60a7df796" ], [ "Loops.sum_dn_eq", @@ -546,10 +546,10 @@ 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f" + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d" ], 0, - "23bc78a20258f00f9fd92d53fb8e3d2f" + "089891740072c2b7cc413e8daed950a5" ], [ "Loops.sum_dn_commute", @@ -565,10 +565,10 @@ "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "primitive_Prims.op_Addition", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f" + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d" ], 0, - "0e47c33ecb7ed87c1171996b4a11d667" + "3b74e149f8ae82a944dc446fd9b274bf" ], [ "Loops.sum_up_dn_aux", @@ -577,11 +577,11 @@ 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f" + "refinement_interpretation_Tm_refine_72ffcbdb7a7dbf1acd542d96c7babf51", + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d" ], 0, - "7a88908797367ebf536439b476156bba" + "157fca66c645ecf98857ae6dbdaca867" ], [ "Loops.equiv_sum_up_dn", @@ -590,10 +590,10 @@ 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d3cff47ff117e43191fee5488bb29a1f" + "refinement_interpretation_Tm_refine_9073a13f8a9480d1df752d719746198d" ], 0, - "0cffc9b6ffaa0620c752edaf4ef7a32a" + "b3052d29e21fbd5df41acde75612e118" ] ] ] \ No newline at end of file diff --git a/examples/rel/Memo.fst.hints b/examples/rel/Memo.fst.hints index eceeb382641..d0835286799 100644 --- a/examples/rel/Memo.fst.hints +++ b/examples/rel/Memo.fst.hints @@ -11,7 +11,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "e2a6293b9642388051f2029d6973d904" + "765998ad30db5550cf3093757a89d74d" ], [ "Memo._dm4f_MEMO___proj__MEMO__item__get_complete_type", @@ -23,7 +23,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "8617b844bfc26dce6f32107487b9d969" + "c21299907d81457c801848e10f189307" ], [ "Memo._dm4f_MEMO___proj__MEMO__item__put_elab", @@ -32,7 +32,7 @@ 1, [ "@query" ], 0, - "75bb2bff55a301fa98441659e79d673f" + "669b19136c76674f2af4cffb98679681" ], [ "Memo.MEMO", @@ -44,7 +44,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "1159831244c8adb827d10db9df724904" + "9b0e1a48745ead0380a2d8725dd88cb8" ], [ "Memo.MEMO", @@ -56,7 +56,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "b4d44f6436274369f7630e3386e252e6" + "da6b4a6214d1ff79ac958c62d15d4756" ], [ "Memo.MEMO", @@ -68,7 +68,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "5af84b4e7b320a611e79f1e031dcd50d" + "982bc3fd65ccc2a727296410852a6b10" ], [ "Memo.MEMO", @@ -80,7 +80,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "356983c32f4049ee57324ed804d0d056" + "dd17efbb18783b6fde9cf267d0e57aa1" ], [ "Memo.get_heap", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "a027c7753e942a8b1df8a4a94165e0e4" + "3b37ec1ba04079a7f6726774afe8d9c4" ], [ "Memo.for_all_prop", @@ -104,7 +104,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "f6174d50b8b99a70e3cc812de9f33d55" + "d9643c84c0051025c67a09648914419d" ], [ "Memo.for_all_prop_assoc_lemma", @@ -117,12 +117,12 @@ "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_bdac3d0476ce1b4e50ba4829d7e8f486", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "binder_x_07c04e67c7cab1ba5acd0cd207adcc61_5", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_6e844a023434f60a9f88ee5bfb503f43_4", - "binder_x_a81196f4caaaa4b43052179035836caa_3", + "Memo_interpretation_Tm_arrow_5442b04833aa109a3217750e84d27097", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "binder_x_0a14a9dac97d0b000645f91a075f98fe_4", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_5", + "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -143,7 +143,7 @@ "subterm_ordering_Prims.Cons", "unit_inversion", "unit_typing" ], 0, - "222c617305990bd16231781690244558" + "1028bab011d1d01f94f434ffd176fc14" ], [ "Memo.forall_prop_assoc_lemma2", @@ -156,7 +156,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "8043afc5bbbb5efeebdd59c12e8b2e60" + "eed02e5ffc9eb604619e80b9873b76c1" ], [ "Memo.valid_memo_preserve", @@ -167,8 +167,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_Prims.Cons@tok", "eq2-interp", @@ -176,17 +176,17 @@ "equation_Memo.valid_memo", "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", "function_token_typing_Memo.codom", - "interpretation_Tm_abs_fb91ee50b4f295d677943c01495ebb79", + "interpretation_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "2a16e63aa2df1bde60f48298d835b54b" + "f7d1c349df3141e6a7f0318b82fd74b0" ], [ "Memo.memo_heap_to_valid_memo", @@ -197,10 +197,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_09b1b03984f41dd6a7019a3fc0a939a1_1", + "binder_x_6e3c01f0eed6133f194ff06b8f84b155_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", "equation_Memo.codom", @@ -209,7 +209,7 @@ "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Memo.codom", - "interpretation_Tm_abs_fb91ee50b4f295d677943c01495ebb79", + "interpretation_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -219,12 +219,12 @@ "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_04e5088bc2459b0ceff327077eb08072", + "refinement_interpretation_Tm_refine_25892094954cf3c4453a858726e6e50e", "subterm_ordering_Prims.Cons", "true_interp", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "558573a38ad6c84f0452a1d645cf2f7b" + "fd60d8b7a783bfb82308e4ba257396c9" ], [ "Memo.valid_memo_to_memo_heap", @@ -235,9 +235,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "binder_x_ad85172fea9fa4567b80eb1cfa7a04f1_1", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "binder_x_b452d91d178977ab8a165cc3d1d79f55_1", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", @@ -245,16 +245,16 @@ "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Memo.codom", - "interpretation_Tm_abs_fb91ee50b4f295d677943c01495ebb79", + "interpretation_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "abdf141870beea9de2aecef1dd8cf3d7" + "4e647caea68ef3e18d95042204b8202d" ], [ "Memo.valid_memo_id_lemma", @@ -270,10 +270,10 @@ "@fuel_irrelevance_Memo.memo_heap_to_valid_memo.fuel_instrumented", "@fuel_irrelevance_Memo.valid_memo_to_memo_heap.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "binder_x_290088a5465251f3858384e37b2b77aa_0", - "binder_x_ad85172fea9fa4567b80eb1cfa7a04f1_1", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "binder_x_b452d91d178977ab8a165cc3d1d79f55_1", + "binder_x_ca345f267175521c92d03647988584f5_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", @@ -296,10 +296,10 @@ "subterm_ordering_Prims.Cons", "token_correspondence_Memo.valid_memo_to_memo_heap.fuel_instrumented", "typing_Memo.valid_memo_to_memo_heap", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "6adf084e57ba10ed0c3fe8a4c4ff8606" + "9d0f231b6a72bbbe6796c24d915846fc" ], [ "Memo.memo_heap_id", @@ -334,7 +334,7 @@ "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons" ], 0, - "a2e6e6828529b702ff147f28ac5c4561" + "f6dd06a4be67cb6083694cb9cb2ef0f7" ], [ "Memo.memo_heap_id", @@ -349,12 +349,12 @@ "@fuel_irrelevance_Memo.valid_memo_to_memo_heap.fuel_instrumented", "@query", "Prims_pretyping_09d9235a8068627898e77b75945bdc5c", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_09b1b03984f41dd6a7019a3fc0a939a1_1", - "binder_x_290088a5465251f3858384e37b2b77aa_0", + "binder_x_6e3c01f0eed6133f194ff06b8f84b155_1", + "binder_x_ca345f267175521c92d03647988584f5_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Memo.codom", - "equation_Memo.dom", "equation_Memo.heap", "equation_Memo.memo_heap", + "equation_Memo.dom", "equation_Memo.memo_heap", "equation_with_fuel_Memo.memo_heap_to_valid_memo.fuel_instrumented", "equation_with_fuel_Memo.valid_memo_to_memo_heap.fuel_instrumented", "fuel_guarded_inversion_Prims.dtuple2", @@ -368,13 +368,13 @@ "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2_b", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01a3e7ba4c18f679654536b14b1a32c8", + "refinement_interpretation_Tm_refine_149f7f4377cd21b9fdbc18019d12629a", "subterm_ordering_Prims.Cons", "token_correspondence_Memo.memo_heap_to_valid_memo.fuel_instrumented", "typing_Memo.memo_heap_to_valid_memo" ], 0, - "b0ddb7359c8327532ecd66cfff52b1e8" + "9809fce2100aacaafe713fb9d62ebb02" ], [ "Memo.apply_memo", @@ -384,16 +384,16 @@ [ "@MaxIFuel_assumption", "@query", "equation_Memo.codom", "equation_Memo.computes", "equation_Memo.dom", "equation_Memo.heap", - "equation_Prims.l_True", "int_inversion", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "int_inversion", + "interpretation_Tm_abs_1b867e276f7d3415d84ff082ac1ad7dd", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_01a3e7ba4c18f679654536b14b1a32c8", - "refinement_interpretation_Tm_refine_95cbda274547f530284e0905746fa1c3", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", + "refinement_interpretation_Tm_refine_149f7f4377cd21b9fdbc18019d12629a", + "refinement_interpretation_Tm_refine_180e31b4c3677d2eb3ee2e7066371cd2", + "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a", "true_interp" ], 0, - "331b65accd4904b1b99420c0a9b3b508" + "4d7be93878e918ecf2abedbf786ae1e7" ], [ "Memo.memo_", @@ -406,44 +406,41 @@ "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "Memo_interpretation_Tm_arrow_8ac6f0906b6e072ce898c8652d05dc71", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_elim_Prims.Refl", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", "data_typing_intro_Prims.Cons@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_Memo.codom", "equation_Memo.dom", - "equation_Memo.valid_memo", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_Memo.valid_memo", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_Memo.codom", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_fb91ee50b4f295d677943c01495ebb79", + "interpretation_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "lemma_FStar.Pervasives.invertOption", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", "typing_FStar.List.Tot.Base.assoc", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79", "unit_typing" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "0bb7b341fb1f19450fce33af64ad1a81" + "a91874bd4e69d3f50330be321168de0f" ], [ "Memo.memo_extr", @@ -467,7 +464,7 @@ "typing_FStar.List.Tot.Base.assoc" ], 0, - "83e115ca031817e68c60a0b9acad5f5c" + "18df054c4448a6a588b59b33597907be" ], [ "Memo.memo_extr_lemma", @@ -482,11 +479,13 @@ "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@query", "Memo.__proj__MEMO__item__get_equality", "Memo.__proj__MEMO__item__put_equality", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Memo_interpretation_Tm_arrow_6ffb695c855e427ae76d4910e675ecb4", - "Memo_interpretation_Tm_arrow_726487576b658769494b5ed82b9fc5aa", - "Memo_interpretation_Tm_arrow_782adeb33dec9d9754daba26e785d550", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_0df223618d7f2903d6bef1e83cb6670a", + "Memo_interpretation_Tm_arrow_2f46c241e230aba577036513add6ea33", + "Memo_interpretation_Tm_arrow_4ad24712ea8f8fab9277a5a6a9933510", + "Memo_interpretation_Tm_arrow_4b5e45dd14d188d2696776e13cadaac3", + "Memo_interpretation_Tm_arrow_8ac6f0906b6e072ce898c8652d05dc71", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -501,13 +500,11 @@ "function_token_typing_Memo.codom", "function_token_typing_Memo.heap", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_429781f4c3f358b79729cac67b603119", - "interpretation_Tm_abs_55076bef9b213a00151b269c01787d48", - "interpretation_Tm_abs_686fb703941f1f6613eea33966d6ecd2", - "interpretation_Tm_abs_8caf1a7724eae57ff036e136022e1c02", - "interpretation_Tm_abs_d12084b44a6b1e7cb58ea961fb6de5d1", - "interpretation_Tm_abs_f6f05ab52fde29bff165bfbeea0e8493", - "interpretation_Tm_abs_fb91ee50b4f295d677943c01495ebb79", + "interpretation_Tm_abs_a6cde80832b645a8c283d64328e0ab91", + "interpretation_Tm_abs_b052c65cae448d95c207add4d312dcb3", + "interpretation_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", + "interpretation_Tm_abs_b7cac61763039933e9ffe65ea6c3ead0", + "interpretation_Tm_abs_d411a13b7c3ffb1df46dd872e0edf68c", "kinding_FStar.Pervasives.Native.option@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "lemma_FStar.Pervasives.invertOption", @@ -520,16 +517,16 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_40c284de7d1d464b3bd832bbe90a2d1d", - "refinement_interpretation_Tm_refine_f3fb9d977e846cfaf056aaf749bdc4e6", + "refinement_interpretation_Tm_refine_1ab8b9a2cde08ce0aa6014fc46341f08", + "refinement_interpretation_Tm_refine_7d8d7a93814453e9018345b035c74bd5", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_Memo.memo_extr", - "typing_Tm_abs_429781f4c3f358b79729cac67b603119", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79", "unit_inversion", + "typing_Tm_abs_6bbf66d2e6d70242ded12d7a52e54c1c", + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", + "typing_Tm_abs_d411a13b7c3ffb1df46dd872e0edf68c", "unit_inversion", "unit_typing" ], 0, - "6212cb9fd221e13d7ed06f40a66e616e" + "0fa38fc9cf81b0a977ba3b5ad8eba050" ], [ "Memo.memo_extr_computes", @@ -539,11 +536,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Memo.codom", "equation_Memo.computes", "equation_Memo.dom", "equation_Memo.heap", - "function_token_typing_Memo.memo_extr", "int_inversion", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" + "function_token_typing_Memo.memo_extr", + "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a" ], 0, - "8c69e5a6a20d6f5f90f882c1180549d3" + "09a97d7f8c17200ea070f37e9bc5a049" ], [ "Memo.to_memo_pack", @@ -553,8 +550,8 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", "equation_Memo.valid_memo", @@ -562,10 +559,10 @@ "function_token_typing_Memo.codom", "kinding_FStar.Pervasives.Native.tuple2@tok", "projection_inverse_Prims.Nil_a", "true_interp", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "69563fa17bb0ac0155a1a53bd2695712" + "fc3175966440e03bea841cf6f3eb36a0" ], [ "Memo.memo_extr_p", @@ -586,11 +583,11 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", + "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a", "typing_FStar.List.Tot.Base.assoc" ], 0, - "faadbb9abaf15e2dc72f1816657ef819" + "9608e6f16be5a41a2533d454906d7dbe" ], [ "Memo.memo_extr_p_lemma", @@ -605,11 +602,11 @@ "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@query", "Memo.__proj__MEMO__item__get_equality", "Memo.__proj__MEMO__item__put_equality", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Memo_interpretation_Tm_arrow_6ffb695c855e427ae76d4910e675ecb4", - "Memo_interpretation_Tm_arrow_726487576b658769494b5ed82b9fc5aa", - "Memo_interpretation_Tm_arrow_782adeb33dec9d9754daba26e785d550", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_2f46c241e230aba577036513add6ea33", + "Memo_interpretation_Tm_arrow_4b5e45dd14d188d2696776e13cadaac3", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Memo_interpretation_Tm_arrow_f744eadd9eb9c5cf1745fc3ef6826cdc", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -625,13 +622,11 @@ "function_token_typing_Memo.codom", "function_token_typing_Memo.heap", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_429781f4c3f358b79729cac67b603119", - "interpretation_Tm_abs_55076bef9b213a00151b269c01787d48", - "interpretation_Tm_abs_686fb703941f1f6613eea33966d6ecd2", - "interpretation_Tm_abs_997f48b5bd03905b10556475be533c0c", - "interpretation_Tm_abs_d12084b44a6b1e7cb58ea961fb6de5d1", - "interpretation_Tm_abs_f6f05ab52fde29bff165bfbeea0e8493", - "interpretation_Tm_abs_fb91ee50b4f295d677943c01495ebb79", + "interpretation_Tm_abs_b052c65cae448d95c207add4d312dcb3", + "interpretation_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", + "interpretation_Tm_abs_b7cac61763039933e9ffe65ea6c3ead0", + "interpretation_Tm_abs_d411a13b7c3ffb1df46dd872e0edf68c", + "interpretation_Tm_abs_fa559d72a9a06a5270031e1aa2dd6948", "kinding_FStar.Pervasives.Native.option@tok", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "lemma_FStar.Pervasives.invertOption", @@ -644,17 +639,17 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_40c284de7d1d464b3bd832bbe90a2d1d", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_f3fb9d977e846cfaf056aaf749bdc4e6", + "refinement_interpretation_Tm_refine_1ab8b9a2cde08ce0aa6014fc46341f08", + "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a", + "refinement_interpretation_Tm_refine_ebd80cf9d1b58137cb972c96384e690a", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Pervasives.Native.uu___is_None", "typing_Memo.memo_extr_p", - "typing_Tm_abs_429781f4c3f358b79729cac67b603119", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79", "unit_typing" + "typing_Tm_abs_6bbf66d2e6d70242ded12d7a52e54c1c", + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", "unit_typing" ], 0, - "7b7253de5e97e266217a80024c8753f1" + "db2706f130325388860c9d00e624709f" ], [ "Memo.memo_extr_p_computes", @@ -664,11 +659,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Memo.codom", "equation_Memo.computes", "equation_Memo.dom", "equation_Memo.heap", - "function_token_typing_Memo.memo_extr_p", "int_inversion", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" + "function_token_typing_Memo.memo_extr_p", + "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a" ], 0, - "128e9e530c3aca8a1a42fdd22fbe8fbb" + "d8b9565efe18c35a9bf8425c32016da0" ], [ "Memo.__proj__Done__item___0", @@ -681,7 +676,7 @@ "refinement_interpretation_Tm_refine_15f52b39c3d87063c54b0f5cdbf60666" ], 0, - "10c6d8a07fdb84cfbdd5fe5ad42b656b" + "dc5444eabb2fdeb1d3243c194a8aa3d9" ], [ "Memo.__proj__Need__item__x", @@ -694,7 +689,7 @@ "refinement_interpretation_Tm_refine_c9a3df9b7a80baa5e1e4e171e951da2c" ], 0, - "199bee54efd25ff6a8f08cdc5435abc2" + "321d9bc022a823729ed781c016b7ac06" ], [ "Memo.__proj__Need__item__cont", @@ -707,7 +702,7 @@ "refinement_interpretation_Tm_refine_c9a3df9b7a80baa5e1e4e171e951da2c" ], 0, - "932bcb946bd7129ad51bf6225d44c71e" + "80865a589fb9ffd737f1cedbdd947851" ], [ "Memo.complete_fixp", @@ -727,7 +722,7 @@ "subterm_ordering_Memo.Need" ], 0, - "93dca5fac5c89d92bc58563712bae7f3" + "2bece6d53ebb783926c17aed45441b48" ], [ "Memo.complete_fixp", @@ -739,7 +734,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "22eba214f3c82d7478678740011b3ccf" + "6d4e80ef99d512b031fa64b4eb54c663" ], [ "Memo.__proj__Later__item__x", @@ -752,7 +747,7 @@ "refinement_interpretation_Tm_refine_820ced0781b733de8c06f727e2e4491b" ], 0, - "fe57f5f7cab51172562aeaa1c8085ff9" + "bdea54ce169023485df4612e83267aa0" ], [ "Memo.__proj__Later__item__cont", @@ -765,7 +760,7 @@ "refinement_interpretation_Tm_refine_820ced0781b733de8c06f727e2e4491b" ], 0, - "589dc6bd635dd99fed620dcd1a4e104c" + "3aba20fe5dbcd4a2fcc4ffe687a8ccec" ], [ "Memo.__proj__Later__item___2", @@ -782,7 +777,7 @@ "refinement_interpretation_Tm_refine_820ced0781b733de8c06f727e2e4491b" ], 0, - "c8f1a562c5e8f6c7521583ae83f50acf" + "b9b872880a9ea96a61881db3b65eee82" ], [ "Memo.reachable_lemma", @@ -795,11 +790,11 @@ "@fuel_correspondence_Memo.fixp.fuel_instrumented", "@fuel_irrelevance_Memo.complete_fixp.fuel_instrumented", "@fuel_irrelevance_Memo.fixp.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_e5476cbf7a48d379d9f78fd22a8e30cb", - "Memo_interpretation_Tm_arrow_f519feb1755a262e3dd14101ee110897", - "binder_x_36bcb0f2e93386adf379e4fbcb25d8a4_3", - "binder_x_50c2585f54b279b9b7bd449cadd03335_0", + "Memo_interpretation_Tm_arrow_142184949ba8f4fda3a4c774db4cf665", + "Memo_interpretation_Tm_arrow_17c8c8e47d042bd84bdab9248339e83e", + "binder_x_2340909ab2906bb8b332921fd75fd38b_0", "binder_x_8a18aea33ba1592be7e68160cffa5875_1", + "binder_x_bcea5bccba9015a86e170d41d0c3377e_3", "constructor_distinct_Memo.Need", "data_elim_Memo.Later", "data_elim_Memo.Now", "disc_equation_Memo.Later", "disc_equation_Memo.Now", "equality_tok_Prims.LexTop@tok", @@ -814,12 +809,12 @@ "projection_inverse_Memo.Need_cont", "projection_inverse_Memo.Need_x", "projection_inverse_Memo.Need_x0", "projection_inverse_Memo.Now_f", "projection_inverse_Memo.Now_x0", - "refinement_interpretation_Tm_refine_61b448dda6b7a99f468c4e30e2e32d91", - "refinement_interpretation_Tm_refine_6eb8b8c1e31e7b0727e56a7d00309679", + "refinement_interpretation_Tm_refine_89231e960fb41558f0f1bdef9bf4abb8", + "refinement_interpretation_Tm_refine_f74d0784547ede96812c95ca1cd30613", "subterm_ordering_Memo.Later", "typing_Memo.fixp" ], 0, - "8e5ae8bd74be3371e1275b3c3fe5db5d" + "add502f5a49f80e64c0fd1f981d92936" ], [ "Memo.fpartial_result", @@ -836,7 +831,7 @@ "projection_inverse_Memo.Need_cont", "subterm_ordering_Memo.Need" ], 0, - "5070eb7030a2e46a069ab922ae77a57d" + "67f873277d95ddc7b4db2b870ec6acf9" ], [ "Memo.fpartial_result_lemma", @@ -849,7 +844,7 @@ "@fuel_correspondence_Memo.fixp.fuel_instrumented", "@fuel_correspondence_Memo.fpartial_result.fuel_instrumented", "@fuel_irrelevance_Memo.fpartial_result.fuel_instrumented", "@query", - "binder_x_50c2585f54b279b9b7bd449cadd03335_0", + "binder_x_2340909ab2906bb8b332921fd75fd38b_0", "binder_x_8a18aea33ba1592be7e68160cffa5875_1", "binder_x_9263cd6fd338f86b6055ab9fb91aa9d2_2", "constructor_distinct_Memo.Done", "constructor_distinct_Memo.Need", @@ -865,7 +860,7 @@ "subterm_ordering_Memo.Need" ], 0, - "17dc14bceb2a126b923d62cb2c12ab52" + "4f6837cd69aa8a45e797eb29f698e1e2" ], [ "Memo.valid_memo_rec_lemma", @@ -879,7 +874,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "9574afe6ffd1ab3b15141007aac903e2" + "fa010fa28ed66bd3dd9ed44c5c2f54ef" ], [ "Memo.complete_memo_rec", @@ -895,63 +890,58 @@ "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_Memo.fpartial_result.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Memo_interpretation_Tm_arrow_c4e1e79649719f170d79f2c9222c00db", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_50c2585f54b279b9b7bd449cadd03335_0", - "binder_x_8a18aea33ba1592be7e68160cffa5875_1", - "binder_x_fa7333089c04d1036de26ae98cf00705_2", "bool_inversion", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Memo_interpretation_Tm_arrow_b8dc7c1eb64255f8b4bd528858a82279", + "Memo_interpretation_Tm_arrow_bb6db2c0de9eec9a06542422d5380c2f", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "binder_x_2340909ab2906bb8b332921fd75fd38b_0", + "binder_x_4a2a6ca44ec40a1cade0d78609ba70f8_2", + "binder_x_8a18aea33ba1592be7e68160cffa5875_1", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Memo.Done", "constructor_distinct_Memo.Need", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_elim_Prims.Refl", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", "data_typing_intro_Prims.Cons@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Memo.Done", "disc_equation_Memo.Need", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_FStar.WellFounded.apply", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", - "equation_Memo.valid_memo_rec", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_Memo.valid_memo_rec", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", "equation_with_fuel_Memo.fpartial_result.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Memo.partial_result", - "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_Memo.codom", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_6e0977cc9f984a7fc28b542cb1b7a084", - "interpretation_Tm_abs_a9c11cad6ed3e227e64506269730c83b", + "interpretation_Tm_abs_38b91bd7809dfc261e0bdcb3cefe69ca", + "interpretation_Tm_abs_4ccc5ae027f1d1525ba11012a32920e8", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__a", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__b", "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Memo.Done__0", "projection_inverse_Memo.Done_x0", "projection_inverse_Memo.Need_cont", "projection_inverse_Memo.Need_x", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_4b11fc62d9597b14b79bfaf2aa05e59e", - "refinement_interpretation_Tm_refine_6eb8b8c1e31e7b0727e56a7d00309679", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_f40c7f71398f9a1a734402166eb8798c", + "refinement_interpretation_Tm_refine_0e1bb79cab494857e0e76dec8d810e35", + "refinement_interpretation_Tm_refine_132173c77071434719dc980b2315ec1b", + "refinement_interpretation_Tm_refine_f74d0784547ede96812c95ca1cd30613", "subterm_ordering_Memo.Need", "typing_FStar.List.Tot.Base.assoc", "typing_FStar.WellFounded.apply", "typing_Memo.fixp", - "typing_Tm_abs_6e0977cc9f984a7fc28b542cb1b7a084", - "typing_Tm_abs_a9c11cad6ed3e227e64506269730c83b", "unit_typing" + "typing_Tm_abs_38b91bd7809dfc261e0bdcb3cefe69ca", + "typing_Tm_abs_4ccc5ae027f1d1525ba11012a32920e8" ], 0, - "9c19d467a7291d2965b0c1921eb00a55" + "0cd7bd3f93a3cfb145a42c4d9d476e05" ], [ "Memo.memo_rec", @@ -967,29 +957,24 @@ "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_Memo.fpartial_result.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_elim_Prims.Refl", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", "data_typing_intro_Prims.Cons@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", - "equation_Memo.valid_memo_rec", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_Memo.valid_memo_rec", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_Memo.codom", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_6e0977cc9f984a7fc28b542cb1b7a084", + "interpretation_Tm_abs_38b91bd7809dfc261e0bdcb3cefe69ca", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "lemma_FStar.Pervasives.invertOption", "lemma_Memo.fpartial_result_init_lemma", @@ -997,15 +982,16 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", "typing_FStar.List.Tot.Base.assoc", "typing_Memo.fixp", - "typing_Tm_abs_6e0977cc9f984a7fc28b542cb1b7a084", "unit_typing" + "typing_Tm_abs_38b91bd7809dfc261e0bdcb3cefe69ca" ], 0, - "b5f74d27303d7c6a6cdc99c0a0940df1" + "ee4546456990c86eb6905076fb7883a2" ], [ "Memo.complete_memo_rec_extr", @@ -1026,7 +1012,7 @@ "well-founded-ordering-on-nat" ], 0, - "a1e5edd0b5dbb75b6c8fbfab5d6a8d28" + "a2b08a7843cca0a5c3453bdd2d85f07c" ], [ "Memo.complete_memo_rec_extr", @@ -1039,7 +1025,7 @@ "projection_inverse_LexCons_1", "projection_inverse_LexCons_2" ], 0, - "90dff98a79b0c36f282b923b4dcf3f32" + "05a3827313dbf173f1e721c924c66ff0" ], [ "Memo.complete_memo_rec_extr", @@ -1051,7 +1037,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "174c77010a16d5a7c793957061d4de15" + "c181e7eebf000c793cbff062762a8c6b" ], [ "Memo.complete_memo_rec_extr_computes", @@ -1061,34 +1047,32 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.complete_memo_rec_extr.fuel_instrumented", - "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@fuel_correspondence_Memo.fpartial_result.fuel_instrumented", "@fuel_correspondence_Memo.memo_rec_extr.fuel_instrumented", "@fuel_correspondence_Memo.memo_rec_extr_temp.fuel_instrumented", "@fuel_irrelevance_Memo.complete_memo_rec_extr.fuel_instrumented", "@fuel_irrelevance_Memo.fpartial_result.fuel_instrumented", "@fuel_irrelevance_Memo.memo_rec_extr.fuel_instrumented", "@query", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "Memo.__proj__MEMO__item__get_equality", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Memo_interpretation_Tm_arrow_c4e1e79649719f170d79f2c9222c00db", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_2f46c241e230aba577036513add6ea33", + "Memo_interpretation_Tm_arrow_4b5e45dd14d188d2696776e13cadaac3", + "Memo_interpretation_Tm_arrow_b8dc7c1eb64255f8b4bd528858a82279", + "Memo_interpretation_Tm_arrow_bb6db2c0de9eec9a06542422d5380c2f", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_e4836109f73687024ac3edd113084865", - "binder_x_50c2585f54b279b9b7bd449cadd03335_0", + "binder_x_2340909ab2906bb8b332921fd75fd38b_0", "binder_x_8a18aea33ba1592be7e68160cffa5875_1", "binder_x_9263cd6fd338f86b6055ab9fb91aa9d2_2", - "binder_x_ad85172fea9fa4567b80eb1cfa7a04f1_3", + "binder_x_b452d91d178977ab8a165cc3d1d79f55_3", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Memo.Done", "constructor_distinct_Memo.Need", - "data_elim_Prims.Cons", "disc_equation_Memo.Done", - "disc_equation_Memo.Need", "eq2-interp", + "data_elim_FStar.Pervasives.Native.Mktuple2", + "disc_equation_Memo.Done", "disc_equation_Memo.Need", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_FStar.WellFounded.apply", "equation_Memo.codom", "equation_Memo.computes", "equation_Memo.dom", "equation_Memo.heap", "equation_Memo.memo_extr_p", "equation_Memo.p", - "equation_Memo.valid_memo", "equation_with_fuel_Memo.complete_memo_rec_extr.fuel_instrumented", - "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", "equation_with_fuel_Memo.fpartial_result.fuel_instrumented", "equation_with_fuel_Memo.memo_rec_extr.fuel_instrumented", "equation_with_fuel_Memo.memo_rec_extr_temp.fuel_instrumented", @@ -1100,42 +1084,37 @@ "function_token_typing_Memo.fixp", "function_token_typing_Memo.memo_extr_p", "function_token_typing_Memo.memo_rec_extr_temp", - "function_token_typing_Memo.p", "function_token_typing_Prims.int", - "int_inversion", "int_typing", - "interpretation_Tm_abs_391dbfe2e658718492c57f689165d4c3", - "interpretation_Tm_abs_429781f4c3f358b79729cac67b603119", - "interpretation_Tm_abs_4cce6f7084af96b993753287038d0090", - "interpretation_Tm_abs_5adc91444f1ea8efaaaad59abb7f8658", - "interpretation_Tm_abs_686fb703941f1f6613eea33966d6ecd2", - "interpretation_Tm_abs_997f48b5bd03905b10556475be533c0c", - "interpretation_Tm_abs_a9c11cad6ed3e227e64506269730c83b", - "interpretation_Tm_abs_f6f05ab52fde29bff165bfbeea0e8493", - "interpretation_Tm_abs_fb91ee50b4f295d677943c01495ebb79", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", + "function_token_typing_Memo.p", "int_inversion", "int_typing", + "interpretation_Tm_abs_0db9af4b45d19deaaa265b483eae1040", + "interpretation_Tm_abs_1212125c1399b4866b28141019a6289a", + "interpretation_Tm_abs_4ccc5ae027f1d1525ba11012a32920e8", + "interpretation_Tm_abs_6bbf66d2e6d70242ded12d7a52e54c1c", + "interpretation_Tm_abs_b052c65cae448d95c207add4d312dcb3", + "interpretation_Tm_abs_c8bbccb0428fc8ab9b0752f71f82d6f7", + "interpretation_Tm_abs_d7c6529a7cd22892956013971ab062af", + "interpretation_Tm_abs_fa559d72a9a06a5270031e1aa2dd6948", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_LexCons_1", "projection_inverse_LexCons_2", "projection_inverse_Memo.Done__0", "projection_inverse_Memo.Done_x0", "projection_inverse_Memo.Need_cont", "projection_inverse_Memo.Need_x", - "refinement_interpretation_Tm_refine_45fac896a642a4b738ffd8d627356053", - "refinement_interpretation_Tm_refine_52394f0046bfad9f2249188024d599a3", - "refinement_interpretation_Tm_refine_6eb8b8c1e31e7b0727e56a7d00309679", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_f40c7f71398f9a1a734402166eb8798c", - "subterm_ordering_Memo.Need", "token_correspondence_Memo.fixp", - "token_correspondence_Memo.p", "typing_FStar.List.Tot.Base.assoc", + "refinement_interpretation_Tm_refine_0e1bb79cab494857e0e76dec8d810e35", + "refinement_interpretation_Tm_refine_1ab8b9a2cde08ce0aa6014fc46341f08", + "refinement_interpretation_Tm_refine_3445826f64e843da95b494a15f206a0f", + "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a", + "refinement_interpretation_Tm_refine_d327320f8f7618bcda677091f49c67a2", + "refinement_interpretation_Tm_refine_f74d0784547ede96812c95ca1cd30613", + "subterm_ordering_Memo.Need", "token_correspondence_Memo.p", "typing_FStar.WellFounded.apply", "typing_Memo.fixp", - "typing_Tm_abs_a9c11cad6ed3e227e64506269730c83b", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79", + "typing_Tm_abs_4ccc5ae027f1d1525ba11012a32920e8", + "typing_Tm_abs_6bbf66d2e6d70242ded12d7a52e54c1c", "typing_tok_Prims.LexTop@tok", "well-founded-ordering-on-nat" ], 0, - "8510857e396b8c7a20ff55ad8efa8dce" + "41254cd602bb7a11651b79386118a5c9" ], [ "Memo.complete_memo_rec_extr_computes", @@ -1149,7 +1128,7 @@ "@fuel_correspondence_Memo.memo_rec_extr.fuel_instrumented", "@fuel_irrelevance_Memo.complete_memo_rec_extr.fuel_instrumented", "@fuel_irrelevance_Memo.fpartial_result.fuel_instrumented", "@query", - "binder_x_50c2585f54b279b9b7bd449cadd03335_0", + "binder_x_2340909ab2906bb8b332921fd75fd38b_0", "binder_x_8a18aea33ba1592be7e68160cffa5875_1", "equation_Memo.dom", "equation_with_fuel_Memo.memo_rec_extr.fuel_instrumented", "int_inversion", "int_typing", @@ -1157,7 +1136,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "763214bfb1ab751a80efa997cef2304c" + "75dfd149d5cb4c6442269f595b32418e" ], [ "Memo.memo_rec_lemma", @@ -1168,11 +1147,11 @@ "@MaxIFuel_assumption", "@query", "equation_Memo.codom", "equation_Memo.computes", "equation_Memo.dom", "equation_Memo.heap", "function_token_typing_Memo.fixp", - "function_token_typing_Memo.memo_rec_extr", "int_inversion", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" + "function_token_typing_Memo.memo_rec_extr", + "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a" ], 0, - "5a1f91393dab64ea840ecde5727fce8b" + "44ba19c7c1641ee55a39341ece422155" ], [ "Memo.to_memo_pack_rec", @@ -1182,8 +1161,8 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", "equation_Memo.valid_memo", @@ -1191,10 +1170,10 @@ "function_token_typing_Memo.codom", "kinding_FStar.Pervasives.Native.tuple2@tok", "projection_inverse_Prims.Nil_a", "true_interp", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "9f786f84cfe79111458e2daf8a1f4319" + "2485c271e61055181cf244e92df771d5" ], [ "Memo.complete_fixp_eq_proof", @@ -1211,7 +1190,7 @@ "projection_inverse_Memo.Need_cont", "subterm_ordering_Memo.Need" ], 0, - "5c0c2c4642702aff1de4ca4c33643a7d" + "ae578158b41b4895f69671ff29578e10" ], [ "Memo.complete_fixp_eq", @@ -1225,9 +1204,9 @@ "@fuel_irrelevance_Memo.complete_fixp_eq_proof.fuel_instrumented", "@fuel_irrelevance_Memo.fpartial_result.fuel_instrumented", "@query", "binder_x_1ef53ada84169caea9058560ce209750_3", - "binder_x_290088a5465251f3858384e37b2b77aa_1", - "binder_x_50c2585f54b279b9b7bd449cadd03335_0", + "binder_x_2340909ab2906bb8b332921fd75fd38b_0", "binder_x_8a18aea33ba1592be7e68160cffa5875_2", + "binder_x_ca345f267175521c92d03647988584f5_1", "constructor_distinct_Memo.Done", "constructor_distinct_Memo.Need", "disc_equation_Memo.Done", "disc_equation_Memo.Need", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_FStar.WellFounded.apply", @@ -1239,11 +1218,11 @@ "projection_inverse_Memo.Done_x0", "projection_inverse_Memo.Need_cont", "projection_inverse_Memo.Need_x", - "refinement_interpretation_Memo_Tm_refine_8d05c13f2fea09792088de6424f9c99c", + "refinement_interpretation_Tm_refine_20ce7eca8ca53631d43f9e82444adb84", "subterm_ordering_Memo.Need" ], 0, - "6aa2bb1c60ca3ff30d2cc657078ee99f" + "174dbc51a371166505cbf7fe51402cfb" ], [ "Memo.complete_fixp_eq", @@ -1254,14 +1233,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.fpartial_result.fuel_instrumented", "@fuel_irrelevance_Memo.fpartial_result.fuel_instrumented", "@query", - "binder_x_50c2585f54b279b9b7bd449cadd03335_0", + "binder_x_2340909ab2906bb8b332921fd75fd38b_0", "binder_x_8a18aea33ba1592be7e68160cffa5875_2", "equation_Memo.dom", "int_inversion", "int_typing", "lemma_Memo.fpartial_result_init_lemma", "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "a21bdbdaee516c253d132dcc5560fc5f" + "ce0087630317d7eba9f44186cdd0462e" ], [ "Memo.fixp_eq", @@ -1274,7 +1253,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "56a275eb101ab7f69053869bdee94307" + "0f689d054807f72a375564e83a7d7866" ], [ "Memo.fibonnacci_partial", @@ -1288,7 +1267,7 @@ "well-founded-ordering-on-nat" ], 0, - "e05b377f72ca779446cbad900f63f2a1" + "6e8af2dd9c516c5d8f49cbb81b734f31" ], [ "Memo.fibonnacci", @@ -1303,7 +1282,7 @@ "well-founded-ordering-on-nat" ], 0, - "ff4f1f7cf08ddfce2fec2596f456d015" + "dabddbdb0be9d68519026cb87086d543" ], [ "Memo.fibo_complete_fixp_eq_proof", @@ -1316,7 +1295,9 @@ "@fuel_correspondence_Memo.fibonnacci.fuel_instrumented", "@fuel_irrelevance_Memo.complete_fixp_eq_proof.fuel_instrumented", "@fuel_irrelevance_Memo.fibonnacci.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_e5476cbf7a48d379d9f78fd22a8e30cb", + "Memo_interpretation_Tm_arrow_142184949ba8f4fda3a4c774db4cf665", + "Memo_interpretation_Tm_arrow_8ac6f0906b6e072ce898c8652d05dc71", + "Memo_interpretation_Tm_arrow_c1d6174c51d6b411bfb2d413819867c0", "constructor_distinct_Memo.Done", "constructor_distinct_Memo.Need", "disc_equation_Memo.Done", "disc_equation_Memo.Need", "eq2-interp", "equation_FStar.WellFounded.apply", "equation_Memo.codom", @@ -1325,18 +1306,18 @@ "equation_with_fuel_Memo.fibonnacci.fuel_instrumented", "function_token_typing_Memo.fibonnacci", "function_token_typing_Memo.fibonnacci_partial", "int_inversion", - "interpretation_Tm_abs_1de6d3a37f264ccbf64262239f4f98ec", - "interpretation_Tm_abs_a93dbc45409c2265a9e563e873a68948", + "interpretation_Tm_abs_5806e1a5981cb45e9b0357c2f4f2d5d1", + "interpretation_Tm_abs_59304008045687ce38f587892de10ab6", "l_imp-interp", "projection_inverse_Memo.Done__0", "projection_inverse_Memo.Done_x0", "projection_inverse_Memo.Need_cont", "projection_inverse_Memo.Need_x", "projection_inverse_Memo.Need_x0", - "refinement_interpretation_Tm_refine_61b448dda6b7a99f468c4e30e2e32d91", + "refinement_interpretation_Tm_refine_89231e960fb41558f0f1bdef9bf4abb8", "token_correspondence_Memo.fibonnacci", "typing_Memo.fibonnacci", "typing_Memo.fibonnacci_partial" ], 0, - "b665a8208e754aef94b32f8ef8081248" + "b5589c466596f82f8322dc0f0f1402de" ], [ "Memo.fibonnacci_partial_induces_fibonnacci", @@ -1345,7 +1326,7 @@ 1, [ "@query" ], 0, - "249f47f9cf6946ce98e63bba2f9a4851" + "cd3db4bc6d2815d959c38a1616594d3f" ], [ "Memo.valid_memo_extensionality", @@ -1356,9 +1337,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "binder_x_ad85172fea9fa4567b80eb1cfa7a04f1_2", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "binder_x_b452d91d178977ab8a165cc3d1d79f55_2", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -1369,16 +1350,16 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "function_token_typing_Memo.codom", "int_inversion", "int_typing", - "interpretation_Tm_abs_fb91ee50b4f295d677943c01495ebb79", + "interpretation_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "336bf68859ff4b261c39dbb8c1e2ee30" + "e119b9c8da025e1b73f35638e28eea32" ], [ "Memo.computes_extensionality", @@ -1388,14 +1369,14 @@ [ "@MaxIFuel_assumption", "@query", "equation_Memo.codom", "equation_Memo.computes", "equation_Memo.dom", "equation_Memo.heap", - "equation_Prims.l_True", "int_inversion", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "int_inversion", + "interpretation_Tm_abs_1b867e276f7d3415d84ff082ac1ad7dd", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", + "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a", "true_interp" ], 0, - "e073390a54f6280ada10d64af15c3df6" + "9483adbe011c38049d655bd81748c16d" ], [ "Memo.fibonnacci_memo_computes_fibonnacci", @@ -1404,7 +1385,7 @@ 1, [ "@query" ], 0, - "de504b20e8e6867bc758de820db659f5" + "f72341c5b229718d5a21c269bb2e3b91" ], [ "Memo.fibo", @@ -1414,8 +1395,8 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", "equation_Memo.valid_memo", @@ -1423,10 +1404,10 @@ "function_token_typing_Memo.codom", "kinding_FStar.Pervasives.Native.tuple2@tok", "projection_inverse_Prims.Nil_a", "true_interp", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "cda0d9ce55e6140ace01f16bf5708835" + "bac83745523a60826ded77e1acc42029" ], [ "Memo._dm4f_MEMO___proj__MEMO__item__get_elab", @@ -1439,7 +1420,7 @@ "equation_Memo.dom", "fuel_guarded_inversion_Prims.list" ], 0, - "59b791334f1b22710c5ab7ee2ffff1b4" + "cbac63f458145cc51d352d7207578e60" ], [ "Memo._dm4f_MEMO___proj__MEMO__item__get_elab", @@ -1451,7 +1432,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "0bc1a973ce8d145ff9cefac0e0129dda" + "355cc0d4c78f11dbc74af2c21cf76638" ], [ "Memo._dm4f_MEMO___proj__MEMO__item__get_complete_type", @@ -1463,7 +1444,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "e6d01dbdd6fc60f6257eadbc2181c120" + "dde832173829e6dfec710650b58f23b8" ], [ "Memo._dm4f_MEMO___proj__MEMO__item__put_elab", @@ -1472,7 +1453,7 @@ 1, [ "@query" ], 0, - "a0d2bfb126a723971c650e2751121058" + "287bb20c5100502bcc3a06a868ae9e09" ], [ "Memo.MEMO", @@ -1484,7 +1465,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "4e2ca97e93f7e165fc93ae8dc13cf1e5" + "22df9721ed2c3cc4a97e889ce36f3c78" ], [ "Memo.MEMO", @@ -1496,7 +1477,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "ba5b16bd900065ecb5303a833cdddd8b" + "25d13674a344a97028fb34ecd6d1ea75" ], [ "Memo.MEMO", @@ -1509,7 +1490,7 @@ "equation_Memo.dom", "fuel_guarded_inversion_Prims.list" ], 0, - "8afc8e77d76936a63de713f9eb1dbef1" + "c81864a7132f02be063719fae1432e90" ], [ "Memo.MEMO", @@ -1518,7 +1499,7 @@ 1, [ "@query" ], 0, - "9d852b57a7814b2a82378312984ad061" + "77f996f75cc4170d16bcb3822b37ed80" ], [ "Memo.get_heap", @@ -1527,7 +1508,7 @@ 1, [ "@query" ], 0, - "db176704ef63ebd447ee4ff595852e93" + "a0942ea1696a14edd6d53aa55dc2182e" ], [ "Memo.for_all_prop", @@ -1542,7 +1523,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "852571405af380a303e6fdafb04851b8" + "fff6edb697fef5ad19157c39c6d06895" ], [ "Memo.memo_heap_to_valid_memo", @@ -1553,10 +1534,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_09b1b03984f41dd6a7019a3fc0a939a1_1", + "binder_x_6e3c01f0eed6133f194ff06b8f84b155_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", "equation_Memo.codom", @@ -1565,7 +1546,7 @@ "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Memo.codom", - "interpretation_Tm_abs_fb91ee50b4f295d677943c01495ebb79", + "interpretation_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", @@ -1575,12 +1556,12 @@ "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_04e5088bc2459b0ceff327077eb08072", + "refinement_interpretation_Tm_refine_25892094954cf3c4453a858726e6e50e", "subterm_ordering_Prims.Cons", "true_interp", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "b2511f4e75cbe1913e753204d8f20eaf" + "33138d59c2f9a0e1a0c510724606bb56" ], [ "Memo.valid_memo_to_memo_heap", @@ -1591,9 +1572,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "binder_x_ad85172fea9fa4567b80eb1cfa7a04f1_1", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "binder_x_b452d91d178977ab8a165cc3d1d79f55_1", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", @@ -1601,16 +1582,16 @@ "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Memo.codom", - "interpretation_Tm_abs_fb91ee50b4f295d677943c01495ebb79", + "interpretation_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "179f92087c1807f946cbc9e66833ea30" + "8e217070ce08d1fadea06b240dc58e85" ], [ "Memo.memo_heap_id", @@ -1619,7 +1600,7 @@ 1, [ "@query" ], 0, - "5865df22da95a3b5fa2dcdaef9ac2642" + "17702f71d43ab6614fde72b51909e6b1" ], [ "Memo.apply_memo", @@ -1629,16 +1610,16 @@ [ "@MaxIFuel_assumption", "@query", "equation_Memo.codom", "equation_Memo.computes", "equation_Memo.dom", "equation_Memo.heap", - "equation_Prims.l_True", "int_inversion", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "int_inversion", + "interpretation_Tm_abs_1b867e276f7d3415d84ff082ac1ad7dd", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_01a3e7ba4c18f679654536b14b1a32c8", - "refinement_interpretation_Tm_refine_0fc747c505f6557639d0a6aae6501bc5", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", + "refinement_interpretation_Tm_refine_149f7f4377cd21b9fdbc18019d12629a", + "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a", + "refinement_interpretation_Tm_refine_e16a84ebe28cb6f29c366c7251df528b", "true_interp" ], 0, - "407492c2cc7ea05b13d3c0cdebf9a2ab" + "9e907aedbdcb1d21cdaf565df357a7bd" ], [ "Memo.memo_", @@ -1651,43 +1632,41 @@ "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "Memo_interpretation_Tm_arrow_8ac6f0906b6e072ce898c8652d05dc71", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_elim_Prims.Refl", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", "data_typing_intro_Prims.Cons@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_Memo.codom", "equation_Memo.dom", - "equation_Memo.valid_memo", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_Memo.valid_memo", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", - "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_Memo.codom", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_fb91ee50b4f295d677943c01495ebb79", + "interpretation_Tm_abs_b2de65af70b9a0772601dbf616e82fd6", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "lemma_FStar.Pervasives.invertOption", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", "typing_FStar.List.Tot.Base.assoc", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79", "unit_typing" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "ac0e69352a9740cd81b2e18e468e4d2c" + "2ee13aaac5e908fdaa26b581727dd18c" ], [ "Memo.memo_extr", @@ -1711,7 +1690,7 @@ "typing_FStar.List.Tot.Base.assoc" ], 0, - "4015890e279ad3278c493c9365151d08" + "c3f52899881866afc3fa49995f8deee0" ], [ "Memo.to_memo_pack", @@ -1721,8 +1700,8 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", "equation_Memo.valid_memo", @@ -1730,10 +1709,10 @@ "function_token_typing_Memo.codom", "kinding_FStar.Pervasives.Native.tuple2@tok", "projection_inverse_Prims.Nil_a", "true_interp", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "5678a14b4e54f12bfa8ebd03abd937a2" + "c2c8b821bb89caca3cd9ee3aaae488af" ], [ "Memo.memo_extr_p", @@ -1754,11 +1733,11 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", + "refinement_interpretation_Tm_refine_70dfe8c2be64894ff1d5ad419978724a", "typing_FStar.List.Tot.Base.assoc" ], 0, - "20e0efaf7a3c7326c10d886a58ffcf34" + "53182921c2b82fce4293e181c5f3eeb2" ], [ "Memo.memo_extr_p_lemma", @@ -1767,7 +1746,7 @@ 1, [ "@query" ], 0, - "56df128184115312de7941055d659843" + "05e84aaaf7d741b72c2e41fcb76bc52b" ], [ "Memo.__proj__Done__item___0", @@ -1780,7 +1759,7 @@ "refinement_interpretation_Tm_refine_15f52b39c3d87063c54b0f5cdbf60666" ], 0, - "fc6470d218f813d4123b9d9114602180" + "30ae47f5070363abf7494b6250c4f7d6" ], [ "Memo.__proj__Need__item__x", @@ -1793,7 +1772,7 @@ "refinement_interpretation_Tm_refine_c9a3df9b7a80baa5e1e4e171e951da2c" ], 0, - "dccbe37ed085ac438af2b0158d2809b4" + "88bfa7a52473e8b16f5d6955370ac70b" ], [ "Memo.__proj__Need__item__cont", @@ -1806,7 +1785,7 @@ "refinement_interpretation_Tm_refine_c9a3df9b7a80baa5e1e4e171e951da2c" ], 0, - "b3dd144a2a955be0c45614290bab91c6" + "984e88efd18ef340923be9ff59376db8" ], [ "Memo.complete_fixp", @@ -1826,7 +1805,7 @@ "subterm_ordering_Memo.Need" ], 0, - "28a0113308684a0859456fffb92800cd" + "d1a5f372a66beaba68a4c9cbe9484813" ], [ "Memo.complete_fixp", @@ -1838,7 +1817,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "44a2a5b7091e001fb4b1937b73718128" + "023204b05534bfbd036696512a42359f" ], [ "Memo.__proj__Later__item__x", @@ -1851,7 +1830,7 @@ "refinement_interpretation_Tm_refine_820ced0781b733de8c06f727e2e4491b" ], 0, - "f152218bfaf05506a7c139ea6a4d9845" + "6f728b98a8b73a13e6682020847e1672" ], [ "Memo.__proj__Later__item__cont", @@ -1864,7 +1843,7 @@ "refinement_interpretation_Tm_refine_820ced0781b733de8c06f727e2e4491b" ], 0, - "795419c22fddf7967c64f1ad759ab98e" + "edef250343bda454982c940b8dc820e1" ], [ "Memo.__proj__Later__item___2", @@ -1881,7 +1860,7 @@ "refinement_interpretation_Tm_refine_820ced0781b733de8c06f727e2e4491b" ], 0, - "50221660b8249551692ec25ae36fb1c6" + "59c2e48a13600eef3d6e63fb08efe1a9" ], [ "Memo.fpartial_result", @@ -1898,7 +1877,7 @@ "projection_inverse_Memo.Need_cont", "subterm_ordering_Memo.Need" ], 0, - "638ca4c059d0bc220336a7fb7149d600" + "f51ba007e57520bdd47bca3b16990e62" ], [ "Memo.complete_memo_rec", @@ -1914,60 +1893,58 @@ "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_Memo.fpartial_result.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Memo_interpretation_Tm_arrow_c4e1e79649719f170d79f2c9222c00db", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_50c2585f54b279b9b7bd449cadd03335_0", - "binder_x_8a18aea33ba1592be7e68160cffa5875_1", - "binder_x_fa7333089c04d1036de26ae98cf00705_2", "bool_inversion", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Memo_interpretation_Tm_arrow_b8dc7c1eb64255f8b4bd528858a82279", + "Memo_interpretation_Tm_arrow_bb6db2c0de9eec9a06542422d5380c2f", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "binder_x_2340909ab2906bb8b332921fd75fd38b_0", + "binder_x_4a2a6ca44ec40a1cade0d78609ba70f8_2", + "binder_x_8a18aea33ba1592be7e68160cffa5875_1", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Memo.Done", "constructor_distinct_Memo.Need", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_elim_Prims.Refl", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", "data_typing_intro_Prims.Cons@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Memo.Done", "disc_equation_Memo.Need", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_FStar.WellFounded.apply", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", - "equation_Memo.valid_memo_rec", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_Memo.valid_memo_rec", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", "equation_with_fuel_Memo.fpartial_result.fuel_instrumented", "fuel_guarded_inversion_Memo.partial_result", - "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_Memo.codom", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_6e0977cc9f984a7fc28b542cb1b7a084", - "interpretation_Tm_abs_a9c11cad6ed3e227e64506269730c83b", + "interpretation_Tm_abs_38b91bd7809dfc261e0bdcb3cefe69ca", + "interpretation_Tm_abs_4ccc5ae027f1d1525ba11012a32920e8", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Memo.Done__0", "projection_inverse_Memo.Done_x0", "projection_inverse_Memo.Need_cont", "projection_inverse_Memo.Need_x", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_4b11fc62d9597b14b79bfaf2aa05e59e", - "refinement_interpretation_Tm_refine_6eb8b8c1e31e7b0727e56a7d00309679", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_f40c7f71398f9a1a734402166eb8798c", + "refinement_interpretation_Tm_refine_0e1bb79cab494857e0e76dec8d810e35", + "refinement_interpretation_Tm_refine_132173c77071434719dc980b2315ec1b", + "refinement_interpretation_Tm_refine_f74d0784547ede96812c95ca1cd30613", "subterm_ordering_Memo.Need", "typing_FStar.List.Tot.Base.assoc", "typing_FStar.WellFounded.apply", "typing_Memo.fixp", - "typing_Tm_abs_6e0977cc9f984a7fc28b542cb1b7a084", - "typing_Tm_abs_a9c11cad6ed3e227e64506269730c83b", "unit_typing" + "typing_Tm_abs_38b91bd7809dfc261e0bdcb3cefe69ca", + "typing_Tm_abs_4ccc5ae027f1d1525ba11012a32920e8" ], 0, - "df06e800df83f9f9146c8b969d236090" + "a5ac19b41bf65588d5070b372962ca2c" ], [ "Memo.memo_rec", @@ -1983,28 +1960,24 @@ "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", "@fuel_irrelevance_Memo.for_all_prop.fuel_instrumented", "@fuel_irrelevance_Memo.fpartial_result.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_elim_Prims.Refl", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", "data_typing_intro_Prims.Cons@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", - "equation_Memo.valid_memo_rec", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_Memo.valid_memo_rec", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_Memo.for_all_prop.fuel_instrumented", - "fuel_guarded_inversion_Prims.equals", "fuel_guarded_inversion_Prims.list", "function_token_typing_Memo.codom", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_6e0977cc9f984a7fc28b542cb1b7a084", + "interpretation_Tm_abs_38b91bd7809dfc261e0bdcb3cefe69ca", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "lemma_FStar.Pervasives.invertOption", "lemma_Memo.fpartial_result_init_lemma", @@ -2012,15 +1985,16 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", "typing_FStar.List.Tot.Base.assoc", "typing_Memo.fixp", - "typing_Tm_abs_6e0977cc9f984a7fc28b542cb1b7a084", "unit_typing" + "typing_Tm_abs_38b91bd7809dfc261e0bdcb3cefe69ca" ], 0, - "7ba9da124fb7fc98a9ce11c3c7572cca" + "8f2b281cd119cb3aa70a7fa88cfa184b" ], [ "Memo.complete_memo_rec_extr", @@ -2041,7 +2015,7 @@ "well-founded-ordering-on-nat" ], 0, - "7a60752f79535329ab0e9e4e979ab4f6" + "6817711a914767aa8f47e2f91d8ba582" ], [ "Memo.complete_memo_rec_extr", @@ -2054,7 +2028,7 @@ "projection_inverse_LexCons_2" ], 0, - "ee5cba3b1c76909f7fae91c51ffb57c0" + "c028e5497d91a1b69e160d23b5e9fa25" ], [ "Memo.complete_memo_rec_extr", @@ -2066,7 +2040,7 @@ "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "ceedc39236751e3574b1a017fb197351" + "5f0a3a7a7de2ff42315dfd7f0c6bb1dd" ], [ "Memo.to_memo_pack_rec", @@ -2076,8 +2050,8 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", "equation_Memo.valid_memo", @@ -2085,10 +2059,10 @@ "function_token_typing_Memo.codom", "kinding_FStar.Pervasives.Native.tuple2@tok", "projection_inverse_Prims.Nil_a", "true_interp", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "092ec6517255dadf6d456167f52f9186" + "c7ead926d7a55640b0b28eba97e19e99" ], [ "Memo.complete_fixp_eq_proof", @@ -2105,7 +2079,7 @@ "projection_inverse_Memo.Need_cont", "subterm_ordering_Memo.Need" ], 0, - "9b5300bcc11dd2f31f9a17d277cbee71" + "d936b64be2482a03e76eb08e9dba03c9" ], [ "Memo.fibonnacci_partial", @@ -2119,7 +2093,7 @@ "well-founded-ordering-on-nat" ], 0, - "a4b169c66220998fbd1668872e6073fc" + "873c9e2316c59dad8f2f8e7f2db76d6c" ], [ "Memo.fibonnacci", @@ -2134,7 +2108,7 @@ "well-founded-ordering-on-nat" ], 0, - "2722e58f5362f09b27dadcf1347022c4" + "f3a8970adc7e1759e89ba29d8f9f1dfa" ], [ "Memo.fibo", @@ -2144,8 +2118,8 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Memo.for_all_prop.fuel_instrumented", "@query", - "Memo_interpretation_Tm_arrow_612e653498dcf6d22c0a52bfa2476ed9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Memo_interpretation_Tm_arrow_eef11d065e3f3ee91b3f7ba3f83ce6aa", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equation_Memo.codom", "equation_Memo.dom", "equation_Memo.heap", "equation_Memo.valid_memo", @@ -2153,10 +2127,10 @@ "function_token_typing_Memo.codom", "kinding_FStar.Pervasives.Native.tuple2@tok", "projection_inverse_Prims.Nil_a", "true_interp", - "typing_Tm_abs_fb91ee50b4f295d677943c01495ebb79" + "typing_Tm_abs_b2de65af70b9a0772601dbf616e82fd6" ], 0, - "fe72fdb53410f5ec10309f7c7771122c" + "5a5ab249f28fb586fafb9993b713647e" ] ] ] \ No newline at end of file diff --git a/examples/rel/NetKat.fst.hints b/examples/rel/NetKat.fst.hints index cea1991d345..37b964593a0 100644 --- a/examples/rel/NetKat.fst.hints +++ b/examples/rel/NetKat.fst.hints @@ -11,7 +11,7 @@ "assumption_Prims.HasEq_string" ], 0, - "8aabd199c340f9c75d5bf04b2bf4944c" + "2b8ac6da9edcb7e8062f37e1c3592889" ], [ "NetKat.__proj__PrFieldEq__item__f", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_bec35291186e95c3d6c80baa7a08d736" ], 0, - "c9d063ba7c823ed8e6205d03a9f934b9" + "c58a1dcd6c52882dbff6dabcbe8ae772" ], [ "NetKat.__proj__PrFieldEq__item__v", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_bec35291186e95c3d6c80baa7a08d736" ], 0, - "4472b9b641de606d54d26a236f88003b" + "3e3b03958dbca6ee5243a680017f0478" ], [ "NetKat.__proj__PrOr__item__p1", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_d8586aba505eaf6dbae671713c3d3051" ], 0, - "6e3ef2cc7f6b5e6b7da0e618de34d56d" + "31e1a56115da997eb832844800010b64" ], [ "NetKat.__proj__PrOr__item__p2", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_d8586aba505eaf6dbae671713c3d3051" ], 0, - "2988b09f59ef538ad532306018295b4d" + "1dd9f84d6f3a0555e2e56400e27d6424" ], [ "NetKat.__proj__PrAnd__item__p1", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_1946ce43305aefbee803bf8108076b85" ], 0, - "6bfc5a04234f3c4fa41125fb9f55c9d5" + "ac0296b3edfd94fde222a3c2b139613f" ], [ "NetKat.__proj__PrAnd__item__p2", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_1946ce43305aefbee803bf8108076b85" ], 0, - "c6f6ebd9b19f99bc43bbe66172a074a7" + "9da674cbeb3341669c4d9ff856305b57" ], [ "NetKat.__proj__PrNot__item__p", @@ -102,7 +102,7 @@ "refinement_interpretation_Tm_refine_7760677cd8a5f6510bfc8a68ad245267" ], 0, - "7e349fdd446b0fae9d68e8c319446c8f" + "cace2ceda1c8eab35f3ae84ff9fe15f2" ], [ "NetKat.__proj__PoFilter__item__p", @@ -115,7 +115,7 @@ "refinement_interpretation_Tm_refine_e0380cdb056d7ca9abeae44e9ba6fa85" ], 0, - "f57e3e664161d8191b29d01b86c4a896" + "b06ecfb95256b439dc63989ff535b3c5" ], [ "NetKat.__proj__PoMod__item__f", @@ -128,7 +128,7 @@ "refinement_interpretation_Tm_refine_cbdb8a3b39554f903e421008232b8117" ], 0, - "1cb3548bad4d469a362fd5c257364eb7" + "4b46ac843d496848a664d9f1868db136" ], [ "NetKat.__proj__PoMod__item__v", @@ -141,7 +141,7 @@ "refinement_interpretation_Tm_refine_cbdb8a3b39554f903e421008232b8117" ], 0, - "12ab0fde59ea822af3c8a0afe4ace457" + "780252bd1b057e23e89ea9f8fc2395ab" ], [ "NetKat.__proj__PoUnion__item__p1", @@ -154,7 +154,7 @@ "refinement_interpretation_Tm_refine_a8893467cf1d00dd4f2ceb1dbd36a332" ], 0, - "84581f94b26fca9d4d97019377383c77" + "1f93638ec3557740b3c24f547e1ef72b" ], [ "NetKat.__proj__PoUnion__item__p2", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_a8893467cf1d00dd4f2ceb1dbd36a332" ], 0, - "af48b33392744a6d799727eae983b8a4" + "02cb6289466528ea7005062a0afa2e72" ], [ "NetKat.__proj__PoSeq__item__p1", @@ -180,7 +180,7 @@ "refinement_interpretation_Tm_refine_dc2206fbcc21342adf2266b89e13e92a" ], 0, - "540531a42721ed0af8a729a560b3fef7" + "fcae41f20b7db60336d1c514de90f753" ], [ "NetKat.__proj__PoSeq__item__p2", @@ -193,7 +193,7 @@ "refinement_interpretation_Tm_refine_dc2206fbcc21342adf2266b89e13e92a" ], 0, - "dd55b72dc5e9bd686ca7de3b0c7c39ff" + "9357d0b08b402cf891fbe8a35c5fc09b" ], [ "NetKat.__proj__PoStar__item__p", @@ -206,7 +206,7 @@ "refinement_interpretation_Tm_refine_85f8b73a81bd8fc5fad5d793e629d0e4" ], 0, - "47c3a98b1c1ffa3f7c03e920709435e2" + "95cea7a9664836e47b932dd447d92dad" ], [ "NetKat.predicate", @@ -218,7 +218,7 @@ "assumption_Prims.HasEq_string" ], 0, - "f8d92217fab96d3105854e44c318b5e7" + "a07c63734df5dc73441dbc1bcb78b47b" ], [ "NetKat.__proj__PrFieldEq__item__f", @@ -231,7 +231,7 @@ "refinement_interpretation_Tm_refine_bec35291186e95c3d6c80baa7a08d736" ], 0, - "996b2b882826a8bd6e8467398726d044" + "504e730f7c6c725fea824ff3b25df348" ], [ "NetKat.__proj__PrFieldEq__item__v", @@ -244,7 +244,7 @@ "refinement_interpretation_Tm_refine_bec35291186e95c3d6c80baa7a08d736" ], 0, - "ac93417247888a05e833736743378649" + "ac7cdb75caaec0d1a3937b3fd796183a" ], [ "NetKat.__proj__PrOr__item__p1", @@ -257,7 +257,7 @@ "refinement_interpretation_Tm_refine_d8586aba505eaf6dbae671713c3d3051" ], 0, - "5cbca044e9802669475a82577f950155" + "79aae2e0a4494a3922487dfa11cb313e" ], [ "NetKat.__proj__PrOr__item__p2", @@ -270,7 +270,7 @@ "refinement_interpretation_Tm_refine_d8586aba505eaf6dbae671713c3d3051" ], 0, - "e40e187230a92e3fb2b235b64a17839d" + "91f76818cf271b9cdc8328c06eb97ae9" ], [ "NetKat.__proj__PrAnd__item__p1", @@ -283,7 +283,7 @@ "refinement_interpretation_Tm_refine_1946ce43305aefbee803bf8108076b85" ], 0, - "a4b356bc6edceaccea5f52d037cf3e18" + "502b776b60933ebc514b655902fa5012" ], [ "NetKat.__proj__PrAnd__item__p2", @@ -296,7 +296,7 @@ "refinement_interpretation_Tm_refine_1946ce43305aefbee803bf8108076b85" ], 0, - "654430f2264c11c0cc7bc78b5be62b61" + "904487138e806bf2412c25ce9547abd6" ], [ "NetKat.__proj__PrNot__item__p", @@ -309,7 +309,7 @@ "refinement_interpretation_Tm_refine_7760677cd8a5f6510bfc8a68ad245267" ], 0, - "c0e6a2933bda1a608cbb0679dd722a91" + "b637179ab3426749005b287b472839b9" ], [ "NetKat.__proj__PoFilter__item__p", @@ -322,7 +322,7 @@ "refinement_interpretation_Tm_refine_e0380cdb056d7ca9abeae44e9ba6fa85" ], 0, - "3ae3226680fafdf5edeea8c3fce7dc0f" + "5cd4282a8729856a0f09516f6574ac4d" ], [ "NetKat.__proj__PoMod__item__f", @@ -335,7 +335,7 @@ "refinement_interpretation_Tm_refine_cbdb8a3b39554f903e421008232b8117" ], 0, - "ee4c00a8c1dfd40d05413ffa5e64b258" + "170a69f9e9dd840c17ceba8fa1850c8f" ], [ "NetKat.__proj__PoMod__item__v", @@ -348,7 +348,7 @@ "refinement_interpretation_Tm_refine_cbdb8a3b39554f903e421008232b8117" ], 0, - "72d98e00a999e265abd3855a29635638" + "d09e81b11f7be13c3f3d9f307ae65387" ], [ "NetKat.__proj__PoUnion__item__p1", @@ -361,7 +361,7 @@ "refinement_interpretation_Tm_refine_a8893467cf1d00dd4f2ceb1dbd36a332" ], 0, - "eaf25ba0980494de3fd7e5302a8018e4" + "017a72d9ac490c5edcba0270fcd4ab34" ], [ "NetKat.__proj__PoUnion__item__p2", @@ -374,7 +374,7 @@ "refinement_interpretation_Tm_refine_a8893467cf1d00dd4f2ceb1dbd36a332" ], 0, - "73ad541e376a984824e6fad372278c42" + "1f78b2d800b39cf587aa2c8d42a6d3bb" ], [ "NetKat.__proj__PoSeq__item__p1", @@ -387,7 +387,7 @@ "refinement_interpretation_Tm_refine_dc2206fbcc21342adf2266b89e13e92a" ], 0, - "1d1834c9933e50b3aed11e4f64441622" + "4831c9086f99c7c78b7db42b03881c5b" ], [ "NetKat.__proj__PoSeq__item__p2", @@ -400,7 +400,7 @@ "refinement_interpretation_Tm_refine_dc2206fbcc21342adf2266b89e13e92a" ], 0, - "b20c40c40990613ed74d3920726534d2" + "b348549a1b86a12b0bf2fa9f426dc89d" ], [ "NetKat.__proj__PoStar__item__p", @@ -413,7 +413,7 @@ "refinement_interpretation_Tm_refine_85f8b73a81bd8fc5fad5d793e629d0e4" ], 0, - "694ba5bacb04eeab33c2324e2ff46f14" + "ea87fc684b96771a8066922eef6c8242" ] ] ] \ No newline at end of file diff --git a/examples/rel/OTP.fst.hints b/examples/rel/OTP.fst.hints index 71e46e17df5..1844a248242 100644 --- a/examples/rel/OTP.fst.hints +++ b/examples/rel/OTP.fst.hints @@ -17,7 +17,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ef4db6e3810beb2c9ad1b61c19b92588" + "589dd1093af45be1839aa7085402f841" ], [ "OTP.xor_idempotent", @@ -28,30 +28,28 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.DM4F.OTP.Heap.elem", "equation_OTP.op_Hat_Hat", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.Seq.Base.lemma_eq_elim", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_9029a2debbe120d6b546c7f6eaff04fb", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5fe6997c7dcd85a789398b4f012d50e2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "token_correspondence_FStar.BitVector.logxor_vec", "token_correspondence_OTP.op_Hat_Hat", "typing_FStar.BitVector.logxor_vec", "typing_FStar.DM4F.OTP.Heap.q", "typing_FStar.Seq.Base.index" ], 0, - "bf949ed0fda2121d04572e4a6715548c" + "d66bc28768ea989267cd55e8c2c45b5e" ], [ "OTP.bij", @@ -60,28 +58,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.BitVector_interpretation_Tm_arrow_3a656a9c42cd07d7f3caa5bf33717900", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.BitVector_interpretation_Tm_arrow_d5001f682a0789c7aa8e67d06058b034", "equation_FStar.DM4F.OTP.Heap.elem", "equation_FStar.DM4F.OTP.Heap.sel", "equation_FStar.DM4F.OTP.Heap.size", "equation_OTP.op_Hat_Hat", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.BitVector.logxor_vec", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", + "function_token_typing_FStar.BitVector.logxor_vec", "int_typing", "lemma_FStar.DM4F.OTP.Heap.lemma_eq_intro", "lemma_FStar.DM4F.OTP.Heap.lemma_index_upd1", "lemma_FStar.DM4F.OTP.Heap.lemma_index_upd2", "lemma_OTP.xor_idempotent", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a7b6a6d2bd5866f2aebb991bbb9a8621", + "refinement_interpretation_Tm_refine_ab1935d06c5b83d762f98a79720546e5", "token_correspondence_FStar.BitVector.logxor_vec", "token_correspondence_OTP.op_Hat_Hat", "typing_FStar.DM4F.OTP.Heap.q", "typing_FStar.DM4F.OTP.Heap.sel", "typing_FStar.DM4F.OTP.Heap.to_id", "typing_FStar.DM4F.OTP.Heap.upd" ], 0, - "9d2fddeffbe34887a6de536401eae54d" + "21853bc336384bc5b91d9830be741b47" ], [ "OTP.xor_prop", @@ -99,7 +95,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "de43aad298807dd8bf8be562b5c4a296" + "1423a82da94dc2a05703c7dac79c0799" ], [ "OTP.xor_prop", @@ -111,32 +107,30 @@ "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@query", - "FStar.BitVector_interpretation_Tm_arrow_3a656a9c42cd07d7f3caa5bf33717900", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.BitVector_interpretation_Tm_arrow_006f5bd096f4bee0f94d2d70b137c448", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.DM4F.OTP.Heap.elem", "equation_OTP.op_Hat_Hat", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.BitVector.logxor_vec", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.Seq.Base.lemma_eq_elim", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_497d3a1622e1f0387fbf159a2909ffbb", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_e823aa4a10399492746a2bbc2bdbec0f", "token_correspondence_FStar.BitVector.logxor_vec", "token_correspondence_OTP.op_Hat_Hat", "typing_FStar.BitVector.logxor_vec", "typing_FStar.DM4F.OTP.Heap.q", "typing_FStar.Seq.Base.index" ], 0, - "bc49993b15088a1e05205f7da01317b2" + "aeafe17f7152e8b3cdb1023a6f0e73f9" ], [ "OTP.otp_secure", @@ -147,15 +141,12 @@ "@MaxIFuel_assumption", "@query", "assumption_FStar.Seq.Base.seq__uu___haseq", "equation_FStar.BitVector.bv_t", "equation_FStar.DM4F.OTP.Heap.elem", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_FStar.DM4F.OTP.Heap.q", - "function_token_typing_Prims.bool", - "haseqTm_refine_a0cd7d06c5da6444b6b51b319febde8e", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "equation_Prims.eqtype", "function_token_typing_Prims.bool", + "haseqTm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "11b18b98cbe5aaf6fe5966f5f447db02" + "709de9ca8b1c166d1c61d76e6f7bdf3f" ], [ "OTP.otp_secure", @@ -164,15 +155,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.BitVector_interpretation_Tm_arrow_3a656a9c42cd07d7f3caa5bf33717900", + "FStar.BitVector_interpretation_Tm_arrow_006f5bd096f4bee0f94d2d70b137c448", "FStar.DM4F.OTP.Random.__proj__RAND__item__get_equality", - "FStar.DM4F.OTP.Random_interpretation_Tm_arrow_428b44280eceb7045d68894e65b63635", - "OTP_interpretation_Tm_arrow_47bf4cc39a02d867ef093bf2c915524e", - "OTP_interpretation_Tm_arrow_4b4eb92eb3a7aeefa9a11e7930641435", - "OTP_interpretation_Tm_arrow_cd2da3d8c742fb09c09d0904533f4136", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "FStar.DM4F.OTP.Random_interpretation_Tm_arrow_19b50565b2f27cf009cfcafec0e5d5e3", + "FStar.DM4F.OTP.Random_interpretation_Tm_arrow_6cffc838e221e9db79a8e9b298c3ba2a", + "OTP_interpretation_Tm_arrow_84260374a2e55174fcd8c3ba8765d3c8", + "OTP_interpretation_Tm_arrow_9c56a03660ecd074369d8ffa99e7149c", + "OTP_interpretation_Tm_arrow_e3ea7d3043261e3ad0d03fb81322bc33", "assumption_FStar.Seq.Base.seq__uu___haseq", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -185,16 +174,15 @@ "equation_FStar.DM4F.OTP.Random.point", "equation_FStar.DM4F.OTP.Random.sample", "equation_OTP.bij", "equation_OTP.op_Hat_Hat", "equation_OTP.otp", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_FStar.BitVector.logxor_vec", "function_token_typing_OTP.op_Hat_Hat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", - "haseqTm_refine_a0cd7d06c5da6444b6b51b319febde8e", "int_typing", - "interpretation_Tm_abs_7c6e1fcf551a60b73b6fbfb6318d7eca", - "interpretation_Tm_abs_9db29db46153c4404783fe7ac1f4ce6e", - "interpretation_Tm_abs_f0aa07af8f72e77920771a24d606db5e", + "haseqTm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "int_typing", + "interpretation_Tm_abs_1b12fa825dfc555f2845b85867dd0ae0", + "interpretation_Tm_abs_905568eda7f67f1801eaeecdb9c0177c", + "interpretation_Tm_abs_b97f6849cb4f11954f60fbc76fdb609b", "lemma_FStar.DM4F.OTP.Heap.lemma_eq_elim", "lemma_FStar.DM4F.OTP.Heap.lemma_index_upd1", "lemma_OTP.xor_idempotent", "lemma_OTP.xor_prop", @@ -207,12 +195,12 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_03a578a32186c85a6294c5dde709df60", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_889065bd6dbc226e8efd5972222a6d00", - "refinement_interpretation_Tm_refine_8a730f9be4fc3e6d9b4fbd3fe5cbcbf8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ed5305f37534e0ae92a1b6703466f27c", + "refinement_interpretation_Tm_refine_4f2602ed16edfdfa10e803e5c8009ca5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6e1cd8b072e751339d1179e813fda863", + "refinement_interpretation_Tm_refine_ab1935d06c5b83d762f98a79720546e5", "token_correspondence_FStar.BitVector.logxor_vec", "token_correspondence_FStar.DM4F.OTP.Random.__proj__Bijection__item__f", "token_correspondence_OTP.op_Hat_Hat", @@ -221,11 +209,11 @@ "typing_FStar.DM4F.OTP.Heap.tape", "typing_FStar.DM4F.OTP.Heap.to_id", "typing_FStar.DM4F.OTP.Random.sample", "typing_OTP.bij", - "typing_OTP.otp", "typing_Tm_abs_7c6e1fcf551a60b73b6fbfb6318d7eca", + "typing_OTP.otp", "typing_Tm_abs_b97f6849cb4f11954f60fbc76fdb609b", "unit_typing" ], 0, - "477472c1ba4759a99cecd984330f5d5d" + "c73935792eaadc1b1dd16aef12c8f1db" ], [ "OTP.one_time_pad", @@ -253,7 +241,7 @@ "typing_FStar.DM4F.OTP.Heap.incr" ], 0, - "020532d23ff2c4fd103390f1c7053c32" + "51e1231ec9a7b7e50e9aa8d048f6c0f7" ], [ "OTP.op_Hat_Hat", @@ -265,7 +253,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5690aebcdc7a7a1df9cf93fb41983eea" + "26d74a8dc23b6bd45aced5e3f8b16544" ], [ "OTP.xor_idempotent", @@ -299,7 +287,7 @@ "typing_FStar.BitVector.logxor_vec", "typing_FStar.Seq.Base.index" ], 0, - "1fb85b46635bf4f741aa36f186d9f093" + "2e4687d1c762762dcb8f5609b6346fc1" ], [ "OTP.bij", @@ -308,28 +296,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.BitVector_interpretation_Tm_arrow_3a656a9c42cd07d7f3caa5bf33717900", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.BitVector_interpretation_Tm_arrow_d5001f682a0789c7aa8e67d06058b034", "equation_FStar.DM4F.OTP.Heap.elem", "equation_FStar.DM4F.OTP.Heap.sel", "equation_FStar.DM4F.OTP.Heap.size", "equation_OTP.op_Hat_Hat", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.BitVector.logxor_vec", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", + "function_token_typing_FStar.BitVector.logxor_vec", "int_typing", "lemma_FStar.DM4F.OTP.Heap.lemma_eq_intro", "lemma_FStar.DM4F.OTP.Heap.lemma_index_upd1", "lemma_FStar.DM4F.OTP.Heap.lemma_index_upd2", "lemma_OTP.xor_idempotent", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a7b6a6d2bd5866f2aebb991bbb9a8621", + "refinement_interpretation_Tm_refine_ab1935d06c5b83d762f98a79720546e5", "token_correspondence_FStar.BitVector.logxor_vec", "token_correspondence_OTP.op_Hat_Hat", "typing_FStar.DM4F.OTP.Heap.q", "typing_FStar.DM4F.OTP.Heap.sel", "typing_FStar.DM4F.OTP.Heap.to_id", "typing_FStar.DM4F.OTP.Heap.upd" ], 0, - "4e046389a12ef7da28e2a451a1570069" + "c19bda7532d561c82b6fdfe33ff5a711" ], [ "OTP.xor_prop", @@ -363,7 +349,7 @@ "typing_FStar.BitVector.logxor_vec", "typing_FStar.Seq.Base.index" ], 0, - "151011f6b01d8e3f935c0ce5a71173d8" + "1ec2f045ccd98a3a97f3231d3ee0f290" ], [ "OTP.otp_secure", @@ -374,15 +360,12 @@ "@MaxIFuel_assumption", "@query", "assumption_FStar.Seq.Base.seq__uu___haseq", "equation_FStar.BitVector.bv_t", "equation_FStar.DM4F.OTP.Heap.elem", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_FStar.DM4F.OTP.Heap.q", - "function_token_typing_Prims.bool", - "haseqTm_refine_a0cd7d06c5da6444b6b51b319febde8e", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "equation_Prims.eqtype", "function_token_typing_Prims.bool", + "haseqTm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c530de3cf871ad58faf6b10797056662" + "286f08b5843277db96e3516e5974b9fa" ], [ "OTP.one_time_pad", @@ -410,7 +393,7 @@ "typing_FStar.DM4F.OTP.Heap.incr" ], 0, - "bf3ac2528af4a8c662eff7118b4ba803" + "dc030ba17ba4cc316f828518bb33a4cc" ] ] ] \ No newline at end of file diff --git a/examples/rel/OneTimePad.fst.hints b/examples/rel/OneTimePad.fst.hints index e84a1952a62..c25bb95fad4 100644 --- a/examples/rel/OneTimePad.fst.hints +++ b/examples/rel/OneTimePad.fst.hints @@ -27,7 +27,7 @@ "typing_OneTimePad.xor_b" ], 0, - "846032a057ad7bbe60029d2c362d3fdc" + "aeaafd4bfcef8cf0bd86c3f86d6f5447" ], [ "OneTimePad._dm4f_RANDOM___proj__RANDOM__item__rand_elab", @@ -36,7 +36,7 @@ 4, [ "@query" ], 0, - "1ba60b026b6f0d7780d93c5205a64eb9" + "8d5147812f7d609e365926b692726113" ], [ "OneTimePad.RANDOM", @@ -45,7 +45,7 @@ 4, [ "@query" ], 0, - "cea95b3926bec97e195a90f0dfd41f7c" + "9930dd942616cebe69a7eb7de0a2ed96" ], [ "OneTimePad.related_tape", @@ -60,7 +60,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "59dd71d475f0672259341fd7f05b4069" + "5891ca0d5970bc89133fbdc2c5b99508" ], [ "OneTimePad.xor_at", @@ -69,10 +69,8 @@ 4, [ "@MaxIFuel_assumption", "@query", - "OneTimePad_interpretation_Tm_arrow_9fbd9638cf623289ed842c175de6fcc1", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple4", + "OneTimePad_interpretation_Tm_arrow_8219266297ea508c644ea01d180cf9e2", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple4", "equation_Bijection.bijection", "equation_Bijection.injection", "equation_Bijection.surjection", "equation_OneTimePad.id_nib", "equation_OneTimePad.nib", "equation_OneTimePad.xor", @@ -91,7 +89,7 @@ "token_correspondence_OneTimePad.xor" ], 0, - "7dbed78618ed2a1351f27e7913335b2a" + "67a2e72b8631031a6760ad9b0f53f388" ], [ "OneTimePad.one_time_pad_ok", @@ -101,27 +99,21 @@ [ "@MaxIFuel_assumption", "@query", "OneTimePad.__proj__RANDOM__item__rand_equality", - "OneTimePad_interpretation_Tm_arrow_a688b7451ff7903b77e3e81762419855", - "OneTimePad_interpretation_Tm_arrow_ea171f68ae4980abed1817fcfa33edb7", + "OneTimePad_interpretation_Tm_arrow_9ea4c6dc50c4c3a862b8aacf05289049", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_FStar.Pervasives.Native.tuple4__uu___haseq", "bool_inversion", "bool_typing", "data_elim_FStar.Pervasives.Native.Mktuple4", - "equation_Bijection.bij", "equation_Bijection.bijection", - "equation_Bijection.injection", "equation_OneTimePad.nib", - "equation_OneTimePad.one_time_pad", + "equation_OneTimePad.nib", "equation_OneTimePad.one_time_pad", "equation_OneTimePad.related_tape", "equation_OneTimePad.xor", "equation_OneTimePad.xor_at", "equation_OneTimePad.xor_b", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple4", - "function_token_typing_OneTimePad.xor", - "function_token_typing_OneTimePad.xor_at", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_typing", - "interpretation_Tm_abs_95007dd0de95f190decea7c547ab197f", - "interpretation_Tm_abs_c8c48c08e2225280893c51a3031c784c", - "interpretation_Tm_abs_e22081f7765a58543ff385bf1a02830f", + "interpretation_Tm_abs_67b52d1a93722be6e507b928b8ba9499", + "interpretation_Tm_abs_8097da73f7bef1b936d8a81686e3b972", + "interpretation_Tm_abs_eb2a79aac6815f897d2f7c468320d8a3", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -131,13 +123,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_bedbf63443a3067e5f531c7e2c2f28b5", "token_correspondence_OneTimePad.xor", - "token_correspondence_OneTimePad.xor_at", "typing_OneTimePad.xor", - "typing_OneTimePad.xor_b", "unit_typing" + "token_correspondence_OneTimePad.xor_at", "typing_OneTimePad.xor_b" ], 0, - "4cb1d17f7a89b01855c9cb86538682cb" + "2c9c9aa2a658564063ca8f8f32936055" ], [ "OneTimePad.xor_properties", @@ -165,7 +155,7 @@ "typing_OneTimePad.xor_b" ], 0, - "9d51d3b3e7f6f9d324657941eceace5c" + "f9a0b524c7c0df0b0c56101488017ab1" ], [ "OneTimePad._dm4f_RANDOM___proj__RANDOM__item__rand_elab", @@ -174,7 +164,7 @@ 4, [ "@query" ], 0, - "0f6fb9a3bf6ad8cdff27c7d8bb71b65a" + "46143e7897d3300d378959e73dcf4d5a" ], [ "OneTimePad.RANDOM", @@ -183,7 +173,7 @@ 4, [ "@query" ], 0, - "c6e947748fee1334284ea0cbb6485d1b" + "e3dd6b5c65975f56987bbf41f505bd66" ], [ "OneTimePad.related_tape", @@ -198,7 +188,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "66e4ddf30c344035144938b968a1fbb2" + "a7bbef9db02b74a43bb3b95dfa1b69f7" ], [ "OneTimePad.xor_at", @@ -207,10 +197,8 @@ 4, [ "@MaxIFuel_assumption", "@query", - "OneTimePad_interpretation_Tm_arrow_9fbd9638cf623289ed842c175de6fcc1", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple4", + "OneTimePad_interpretation_Tm_arrow_8219266297ea508c644ea01d180cf9e2", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple4", "equation_Bijection.bijection", "equation_Bijection.injection", "equation_Bijection.surjection", "equation_OneTimePad.id_nib", "equation_OneTimePad.nib", "equation_OneTimePad.xor", @@ -229,7 +217,7 @@ "token_correspondence_OneTimePad.xor" ], 0, - "67bc22f8bb340a14a09111f8738dc78a" + "dc358745d63782f5e60bc6d27d9a155f" ], [ "OneTimePad.one_time_pad_ok", @@ -244,7 +232,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7e37ea26869ecddc2ff772dabef1508b" + "1e8aaec1068a23ab3d2d584053016eb7" ] ] ] \ No newline at end of file diff --git a/examples/rel/Point.fst.hints b/examples/rel/Point.fst.hints index 7be22e9a316..08f6a86b8e4 100644 --- a/examples/rel/Point.fst.hints +++ b/examples/rel/Point.fst.hints @@ -12,7 +12,7 @@ "token_correspondence_Point.__proj__C__item__inv" ], 0, - "9e1606c80c3ec4134b39672fe574d101" + "09f4caf132320dea4f9220977c7a5b3a" ], [ "Point.move", @@ -26,7 +26,7 @@ "token_correspondence_Point.__proj__C__item__inv" ], 0, - "3d3fd2a57adbe7b662f9e79dc79f3e9a" + "901b733f9fd78c597361fdc9ecb57533" ], [ "Point.get", @@ -40,7 +40,7 @@ "token_correspondence_Point.__proj__C__item__inv" ], 0, - "bc5790a9b650f185ab465ad39b8f15f1" + "bb5c57f9db423ee13ef77a8ba66f4ec8" ], [ "Point.inv_point", @@ -50,23 +50,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Point.fp", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.ref" ], 0, - "fe95ac479781051b14ef60d7dee94c1d" + "dabccb4bed1296cf828e719b08058fe3" ], [ "Point.get_point", @@ -78,26 +78,25 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Point.contains_well_typed_refs", "equation_Point.fp", "equation_Point.inv_point", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.ref" ], 0, - "65e0775683b69b62db8b3628e25b6241" + "54d8f63f7980b97879b84a861efb2353" ], [ "Point.move_point", @@ -109,26 +108,25 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Point.contains_well_typed_refs", "equation_Point.fp", "equation_Point.inv_point", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.ref" ], 0, - "b94e14123174f5304c59ff5b6fd4cf13" + "3a3b41dd40e3a4e1f760fe8e750be2fe" ], [ "Point.init_point", @@ -139,11 +137,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Point.C", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.DM4F.Heap.modifies", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_Point.C", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "eq2-interp", "equation_FStar.DM4F.Heap.modifies", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", @@ -152,10 +149,8 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "false_interp", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_or-interp", "lemma_FStar.DM4F.Heap.contains_a_well_typed_implies_contains", "lemma_FStar.DM4F.Heap.contains_addr_of", @@ -166,7 +161,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_Point.__proj__C__item__inv", "token_correspondence_Point.inv_point", @@ -174,7 +170,7 @@ "typing_Point.__proj__C__item__fp" ], 0, - "06fde65fba4de066c03ff50fe3c8c6d1" + "c2d2715eec2baa85f3b3902c669b2508" ], [ "Point.inv_colored_point", @@ -184,24 +180,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.tail", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Point.fp", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.ref" ], 0, - "76911658940aa9ad46d558da35f967b5" + "2e49c225ccc1bc6c23719b5426165503" ], [ "Point.move_colored_point", @@ -212,25 +207,27 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Point.contains_well_typed_refs", "equation_Point.fp", "equation_Point.inv_colored_point", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.DM4F.Heap.ref" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_9b3c706b3d455058b345f836c8fcf9cb", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.DM4F.Heap.ref", "typing_FStar.List.Tot.Base.tl" ], 0, - "9894253074ecc43e86a5d8c14fb78424" + "f7eaecfc547ceac4974fef18c477aaeb" ], [ "Point.get_colored_point", @@ -255,7 +252,7 @@ "projection_inverse_BoxInt_proj_0", "typing_FStar.DM4F.Heap.ref" ], 0, - "e56dc8c9c4caa2ffd87a78712a70c9e9" + "0bcf3ac89b5f3cb419ceebdce950ec08" ], [ "Point.init_colored_point", @@ -266,11 +263,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Point.C", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.DM4F.Heap.modifies", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_Point.C", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "eq2-interp", "equation_FStar.DM4F.Heap.modifies", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", @@ -279,10 +275,8 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "false_interp", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_or-interp", "lemma_FStar.DM4F.Heap.contains_a_well_typed_implies_contains", "lemma_FStar.DM4F.Heap.contains_addr_of", @@ -293,7 +287,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_Point.__proj__C__item__inv", "token_correspondence_Point.inv_colored_point", @@ -301,7 +296,7 @@ "typing_Point.__proj__C__item__fp" ], 0, - "02698ddb25f99d35e0e05a427270efb6" + "84ee0911732c6028bd07869fa2bec921" ], [ "Point.ref_not_in_fp", @@ -311,11 +306,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f54d502c993d1528b0f434458bce6fca" + "b45ee96bf271d6d8de9bdc84669f2f9b" ], [ "Point.lemma", @@ -328,10 +323,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", "FStar.DM4F.Heap.ST.__proj__STATE__item__put_equality", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_3ff93f59e42b0f53e5b41a184961ef72", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_c1ca2969e9e77196bb235d81cfeb0df2", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_f7c8ba40b631eae5fd309c4212a77f7b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_070cadfa5a458dd5497b7794d2007481", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_ac5361e199150771809c566299892b49", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_f44d8f2ed0f1ef578d9e8f34c3d20822", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -354,14 +348,12 @@ "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.DM4F.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_ee8b9e79ec3b34703e299378e0d7f3b0", + "function_token_typing_FStar.DM4F.Heap.heap", "int_typing", + "interpretation_Tm_abs_3956dcb22289b54ec1d7aa53012106c7", + "interpretation_Tm_abs_487b9a6200a4bf314d2acf58de7b1956", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_992a7fcd52d4ea409c7cc27018142f11", "l_or-interp", "lemma_FStar.DM4F.Heap.alloc_lemma", "lemma_FStar.DM4F.Heap.lemma_sel_tot_is_sel_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.lemma_upd_tot_is_upd_if_contains_a_well_typed", @@ -379,13 +371,14 @@ "projection_inverse_Point.C_p", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0e7a73424c5c69a04baa89ff1fc2df2e", - "refinement_interpretation_Tm_refine_2bf22004417aad066a958ee1fe22b30d", + "refinement_interpretation_Tm_refine_04837a31074cf44afebea027271a1960", + "refinement_interpretation_Tm_refine_082ea62efeb9d86394ed9e317e2f1b1c", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", - "refinement_interpretation_Tm_refine_6c5e05b49ea85391a7a2ddafea914324", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8cea77192da5fc86331510b0cbe6909a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_962ba9b0d48975fc1520d2dfe3a7b8e7", + "refinement_interpretation_Tm_refine_c5b3de7a99e306459a24808731cd703f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_Point.__proj__C__item__inv", "token_correspondence_Point.get_colored_point", @@ -405,7 +398,7 @@ "typing_Point.__proj__C__item__fp", "unit_inversion", "unit_typing" ], 0, - "846074a3f3389f1107aac2def605499c" + "4f0eed4370dcfdbb18745f619fb97a3a" ], [ "Point.__proj__C__item__p", @@ -418,7 +411,7 @@ "token_correspondence_Point.__proj__C__item__inv" ], 0, - "4c679e6aadd0d112ecd313aebb52f53c" + "67f13abc68518d723415eb1c61a79c90" ], [ "Point.move", @@ -432,7 +425,7 @@ "token_correspondence_Point.__proj__C__item__inv" ], 0, - "3a8830b1c48595e413a1a22fad7b4408" + "340d228adc6e7ac3e927d1afbae68b16" ], [ "Point.get", @@ -446,7 +439,7 @@ "token_correspondence_Point.__proj__C__item__inv" ], 0, - "2ffc2c0de54733dbec841af1df0ddd24" + "a134f27abda18a6f5219acebd0c8de2d" ], [ "Point.inv_point", @@ -456,23 +449,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Point.fp", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.ref" ], 0, - "f388b368f1c69b3068e92369419242a6" + "ffa073efea72f0bd53a5a9f2e1892140" ], [ "Point.get_point", @@ -484,26 +477,25 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Point.contains_well_typed_refs", "equation_Point.fp", "equation_Point.inv_point", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.ref" ], 0, - "9639f9f5c0f822058322093cc562d251" + "e678163391f5c16428992f71b1d8ba77" ], [ "Point.move_point", @@ -515,26 +507,25 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Point.contains_well_typed_refs", "equation_Point.fp", "equation_Point.inv_point", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.ref" ], 0, - "b4afd93f474b183de0d7dc0522fd2067" + "1fda16e2af95b99ca975efa94e38f633" ], [ "Point.init_point", @@ -545,11 +536,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Point.C", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.DM4F.Heap.modifies", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_Point.C", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "eq2-interp", "equation_FStar.DM4F.Heap.modifies", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", @@ -558,10 +548,8 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "false_interp", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_or-interp", "lemma_FStar.DM4F.Heap.contains_a_well_typed_implies_contains", "lemma_FStar.DM4F.Heap.contains_addr_of", @@ -572,7 +560,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_Point.__proj__C__item__inv", "token_correspondence_Point.inv_point", @@ -580,7 +569,7 @@ "typing_Point.__proj__C__item__fp" ], 0, - "bb4a489546bc20bd8edce188907d3c8c" + "067451385441c386aca28f7afb0ec9db" ], [ "Point.inv_colored_point", @@ -590,24 +579,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.tail", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Point.fp", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.ref" ], 0, - "67ad8a931aa1bc108b37d2b5d07267c9" + "c6ee946f291359c580e10c609fefb0d9" ], [ "Point.move_colored_point", @@ -618,25 +606,27 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Point.contains_well_typed_refs", "equation_Point.fp", "equation_Point.inv_colored_point", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.DM4F.Heap.ref" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_9b3c706b3d455058b345f836c8fcf9cb", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.DM4F.Heap.ref", "typing_FStar.List.Tot.Base.tl" ], 0, - "1d86fc6a45ea7075f7869a4e91853cf5" + "8e394d2534f367dffe43a621e31d0016" ], [ "Point.get_colored_point", @@ -661,7 +651,7 @@ "projection_inverse_BoxInt_proj_0", "typing_FStar.DM4F.Heap.ref" ], 0, - "764d944859895122edc6081dbca72168" + "62afa86f823c79570ab633bdd9050e36" ], [ "Point.init_colored_point", @@ -672,11 +662,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Point.C", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.DM4F.Heap.modifies", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_Point.C", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", + "eq2-interp", "equation_FStar.DM4F.Heap.modifies", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", @@ -685,10 +674,8 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "false_interp", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_or-interp", "lemma_FStar.DM4F.Heap.contains_a_well_typed_implies_contains", "lemma_FStar.DM4F.Heap.contains_addr_of", @@ -699,7 +686,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_Point.__proj__C__item__inv", "token_correspondence_Point.inv_colored_point", @@ -707,7 +695,7 @@ "typing_Point.__proj__C__item__fp" ], 0, - "d40a90bc1fdd83779442a4aafcfa0d88" + "f76b1aeef7238667ef584f48482011ba" ], [ "Point.ref_not_in_fp", @@ -717,11 +705,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "30f32722761a404b690e6ef98545dccb" + "3c1aa336c3c640f3871ffe7dd86807cb" ], [ "Point.lemma", @@ -734,10 +722,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", "FStar.DM4F.Heap.ST.__proj__STATE__item__put_equality", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_3ff93f59e42b0f53e5b41a184961ef72", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_c1ca2969e9e77196bb235d81cfeb0df2", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_f7c8ba40b631eae5fd309c4212a77f7b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_070cadfa5a458dd5497b7794d2007481", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_ac5361e199150771809c566299892b49", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_f44d8f2ed0f1ef578d9e8f34c3d20822", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -760,14 +747,12 @@ "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.DM4F.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_ee8b9e79ec3b34703e299378e0d7f3b0", + "function_token_typing_FStar.DM4F.Heap.heap", "int_typing", + "interpretation_Tm_abs_3956dcb22289b54ec1d7aa53012106c7", + "interpretation_Tm_abs_487b9a6200a4bf314d2acf58de7b1956", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_992a7fcd52d4ea409c7cc27018142f11", "l_or-interp", "lemma_FStar.DM4F.Heap.alloc_lemma", "lemma_FStar.DM4F.Heap.lemma_sel_tot_is_sel_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.lemma_upd_tot_is_upd_if_contains_a_well_typed", @@ -785,13 +770,14 @@ "projection_inverse_Point.C_p", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0e7a73424c5c69a04baa89ff1fc2df2e", - "refinement_interpretation_Tm_refine_2bf22004417aad066a958ee1fe22b30d", + "refinement_interpretation_Tm_refine_04837a31074cf44afebea027271a1960", + "refinement_interpretation_Tm_refine_082ea62efeb9d86394ed9e317e2f1b1c", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", - "refinement_interpretation_Tm_refine_6c5e05b49ea85391a7a2ddafea914324", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8cea77192da5fc86331510b0cbe6909a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_962ba9b0d48975fc1520d2dfe3a7b8e7", + "refinement_interpretation_Tm_refine_c5b3de7a99e306459a24808731cd703f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_Point.__proj__C__item__inv", "token_correspondence_Point.get_colored_point", @@ -812,7 +798,7 @@ "typing_Point.__proj__C__item__fp", "unit_inversion", "unit_typing" ], 0, - "e990dc22bd63e9d65c2c18bc118d74cf" + "89ff96b9bdeb1860c80cc56bff9f7f0d" ] ] ] \ No newline at end of file diff --git a/examples/rel/ProgramEquivalence.fst.hints b/examples/rel/ProgramEquivalence.fst.hints index 17728b01d19..9309abc6fbd 100644 --- a/examples/rel/ProgramEquivalence.fst.hints +++ b/examples/rel/ProgramEquivalence.fst.hints @@ -12,7 +12,7 @@ "token_correspondence_ProgramEquivalence.__proj__C__item__inv" ], 0, - "5043b535488fad74da2267dbb25fa3d9" + "841d02ff722ce95d94333f51308daeab" ], [ "ProgramEquivalence.increment", @@ -28,7 +28,7 @@ "token_correspondence_ProgramEquivalence.__proj__C__item__inv" ], 0, - "63e93ecfbeff93771f9b9db80c1912f8" + "ef93be97ee4971766029cb17ad62322c" ], [ "ProgramEquivalence.get", @@ -44,7 +44,7 @@ "token_correspondence_ProgramEquivalence.__proj__C__item__inv" ], 0, - "28efe017152c425c5ecdb5660426dc96" + "0c47364535e696eec74e4e5a695c6976" ], [ "ProgramEquivalence.incr_0", @@ -55,24 +55,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", "equation_Prims.nat", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", + "equation_Prims.nat", "equation_ProgramEquivalence.contains_well_typed_refs", "equation_ProgramEquivalence.fp", "equation_ProgramEquivalence.inv_0", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.ref" ], 0, - "c5d8a10851863e7debfe3f3a38fb7fa2" + "521c22bb73b55fd2b26eac2d0a65edce" ], [ "ProgramEquivalence.get_0", @@ -97,7 +97,7 @@ "projection_inverse_BoxInt_proj_0", "typing_FStar.DM4F.Heap.ref" ], 0, - "cbebcb387026962f06dca3bb91ee3ba0" + "ccf6888e3bb9cba3ae2b74da214cc7fb" ], [ "ProgramEquivalence.init_counter_0", @@ -136,7 +136,7 @@ "typing_ProgramEquivalence.__proj__C__item__fp" ], 0, - "1cc626bae6908ae9cd4fc936bc40f73f" + "071a6f3d9fcf14930bf59137c76eebff" ], [ "ProgramEquivalence.inv_1", @@ -146,23 +146,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", "equation_Prims.nat", "equation_ProgramEquivalence.fp", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.ref" ], 0, - "01720bd554ad06ab1fc7078a80359301" + "ff189ff4c73fdcbcaddbb0f148ca90b2" ], [ "ProgramEquivalence.incr_1", @@ -174,10 +174,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", "equation_ProgramEquivalence.contains_well_typed_refs", @@ -185,16 +184,16 @@ "equation_ProgramEquivalence.inv_1", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.ref" ], 0, - "b7af6f513abaa976baf3fdabfdd32671" + "b0e73063930068991296f0c0c27d6324" ], [ "ProgramEquivalence.get_1", @@ -206,10 +205,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", "equation_ProgramEquivalence.contains_well_typed_refs", @@ -217,16 +215,16 @@ "equation_ProgramEquivalence.inv_1", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.ref" ], 0, - "5a68fff2666d3bece4626dd6f4a9cb59" + "90b4d6fc3b44a70d0f737a08d6e26454" ], [ "ProgramEquivalence.counter_0", @@ -239,7 +237,7 @@ "token_correspondence_ProgramEquivalence.inv_0" ], 0, - "e0aadd9563a6fcb7115e2a6bb192f7d4" + "67c53c8784677447a0ad9fc51d1626bb" ], [ "ProgramEquivalence.counter_1", @@ -252,7 +250,7 @@ "token_correspondence_ProgramEquivalence.inv_1" ], 0, - "6a08cae6997fd0b3864c5a2c729ea7f3" + "a818b50d098eccb39e27ad0e670dcbf1" ], [ "ProgramEquivalence.init_counter_1", @@ -263,11 +261,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_elim_ProgramEquivalence.C", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "data_elim_ProgramEquivalence.C", "data_typing_intro_Prims.Nil@tok", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", "equation_Prims.nat", @@ -277,10 +274,8 @@ "equation_ProgramEquivalence.live", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "false_interp", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", "proj_equation_ProgramEquivalence.C_fp", "proj_equation_ProgramEquivalence.C_inv", @@ -291,7 +286,8 @@ "projection_inverse_ProgramEquivalence.C_fp", "projection_inverse_ProgramEquivalence.C_inv", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_ProgramEquivalence.__proj__C__item__inv", "token_correspondence_ProgramEquivalence.inv_1", @@ -299,7 +295,7 @@ "typing_ProgramEquivalence.__proj__C__item__fp" ], 0, - "135f6891c92c83e8408e270e6381058d" + "0f75766f97b95690ea3b60274ebed4b8" ], [ "ProgramEquivalence.increment_m", @@ -309,15 +305,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "4f9c169909ee075601bc6b071f27c522" + "e87ebb577da92ead99f280eb873b247e" ], [ "ProgramEquivalence.ref_not_in_fp", @@ -327,11 +323,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a2f90cc1ae6747f75f8f6d212f3e8662" + "9545976ffe9788d798931d7a3e978aa5" ], [ "ProgramEquivalence.observational_equivalence'", @@ -339,17 +335,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_62a743791b63ba8269fbb4ad5655e284" + "refinement_interpretation_Tm_refine_fd3c87fdcb359d5ccdb15904a6488582" ], 0, - "d5292e21d59d100ae0f359f752ede3be" + "a26be7bdab2eae3c639906b588d5a0b3" ], [ "ProgramEquivalence.observational_equivalence'", @@ -366,17 +359,16 @@ "@fuel_irrelevance_ProgramEquivalence.increment_m.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", "FStar.DM4F.Heap.ST.__proj__STATE__item__put_equality", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_3ff93f59e42b0f53e5b41a184961ef72", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_f7c8ba40b631eae5fd309c4212a77f7b", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_070cadfa5a458dd5497b7794d2007481", + "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_ac5361e199150771809c566299892b49", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "ProgramEquivalence_interpretation_Tm_arrow_0b2f4f171ee50f8e19dae8054b2b68fa", - "ProgramEquivalence_interpretation_Tm_arrow_7c9095cfefd372f313a64357740eb7fa", - "binder_x_6905fd0192d8db21734857d3fff472a8_1", - "binder_x_7315cb6a8b503790cb23f08989ec15d8_3", - "binder_x_8b36c4bf5654bcf6a3092b0293f474bc_2", - "binder_x_a20f3045e295388ca94d4e434b549145_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_4", + "ProgramEquivalence_interpretation_Tm_arrow_f5fbc8b5803f05e2cda2783f914052c9", + "binder_x_11d6e93c143fa57afaea39ab15997bbf_0", + "binder_x_3f275e9326cbb97691299c196c6acc0d_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", + "binder_x_ddca183e6369161ee24743e7de200fbc_1", + "binder_x_ea8a0006c7ce01205ef2018e828eaae8_2", "constructor_distinct_BoxInt", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "data_elim_ProgramEquivalence.C", "disc_equation_Prims.Cons", @@ -410,15 +402,15 @@ "fuel_guarded_inversion_ProgramEquivalence.counter", "function_token_typing_FStar.DM4F.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_ProgramEquivalence.__proj__C__item__inv", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_025d8451c09790a30073325b7d219674", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3956dcb22289b54ec1d7aa53012106c7", + "interpretation_Tm_abs_44ce6bc9b54f2332f340b738e44a42aa", + "interpretation_Tm_abs_487b9a6200a4bf314d2acf58de7b1956", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "l_or-interp", "lemma_FStar.DM4F.Heap.lemma_sel_tot_is_sel_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.lemma_upd_tot_is_upd_if_contains_a_well_typed", @@ -436,24 +428,20 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_0e7a73424c5c69a04baa89ff1fc2df2e", - "refinement_interpretation_Tm_refine_1c340823b5dcf3a15e7f381b7d3e4309", - "refinement_interpretation_Tm_refine_31523c98368a10548811b67ae6a7e29b", + "refinement_interpretation_Tm_refine_04837a31074cf44afebea027271a1960", + "refinement_interpretation_Tm_refine_082ea62efeb9d86394ed9e317e2f1b1c", + "refinement_interpretation_Tm_refine_0b3dff208d78c971b40c81aa984ac562", + "refinement_interpretation_Tm_refine_2502e1ae294e514d343fe5d1528f6901", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_66594372d057e8e92cecb95f07d084a9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_63fd6a381ef6bd004cb8974fb561ba6a", + "refinement_interpretation_Tm_refine_67ec944a6663250d928faa6474e74c6a", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_7d5495e9095b8a85b961ff78fb4b285a", - "refinement_interpretation_Tm_refine_8cea77192da5fc86331510b0cbe6909a", - "refinement_interpretation_Tm_refine_9e98466b6789707a436c126e1fad9548", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bd608ae7fcafcddc38fe7d300ec408aa", + "refinement_interpretation_Tm_refine_8613ae4daf6f36e4c5d6ddcb75ccb22e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_ProgramEquivalence.get_0", - "token_correspondence_ProgramEquivalence.get_1", - "token_correspondence_ProgramEquivalence.incr_0", - "token_correspondence_ProgramEquivalence.incr_1", "token_correspondence_ProgramEquivalence.inv_0", "token_correspondence_ProgramEquivalence.inv_1", "typing_FStar.DM4F.Heap.ST.read_weak", @@ -463,11 +451,11 @@ "typing_FStar.List.Tot.Base.tail", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_ProgramEquivalence.__proj__C__item__fp", - "typing_ProgramEquivalence.get", "typing_ProgramEquivalence.get_1", - "unit_typing", "well-founded-ordering-on-nat" + "typing_ProgramEquivalence.get", "unit_inversion", "unit_typing", + "well-founded-ordering-on-nat" ], 0, - "22e8bfaba16193d22a449dfa318a2efc" + "570412361b4ebd876358130f158fc38d" ], [ "ProgramEquivalence.counts_even_numbers", @@ -476,10 +464,10 @@ 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_62a743791b63ba8269fbb4ad5655e284" + "refinement_interpretation_Tm_refine_fd3c87fdcb359d5ccdb15904a6488582" ], 0, - "e41e8adc480bf538d5cc7159aaa3d6d0" + "9f79adc28f8f4e2feed83fbaf3eb5355" ], [ "ProgramEquivalence.counts_even_numbers", @@ -496,10 +484,10 @@ "FStar.DM4F.Heap.ST.__proj__STATE__item__put_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "ProgramEquivalence_interpretation_Tm_arrow_0b2f4f171ee50f8e19dae8054b2b68fa", - "binder_x_8b36c4bf5654bcf6a3092b0293f474bc_1", - "binder_x_a20f3045e295388ca94d4e434b549145_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "ProgramEquivalence_interpretation_Tm_arrow_f5fbc8b5803f05e2cda2783f914052c9", + "binder_x_11d6e93c143fa57afaea39ab15997bbf_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_ea8a0006c7ce01205ef2018e828eaae8_1", "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "eq2-interp", "equality_tok_Prims.LexTop@tok", @@ -520,14 +508,13 @@ "equation_with_fuel_ProgramEquivalence.increment_m.fuel_instrumented", "fuel_guarded_inversion_ProgramEquivalence.counter", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "function_token_typing_ProgramEquivalence.__proj__C__item__inv", "int_inversion", "int_typing", - "interpretation_Tm_abs_025d8451c09790a30073325b7d219674", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3956dcb22289b54ec1d7aa53012106c7", + "interpretation_Tm_abs_44ce6bc9b54f2332f340b738e44a42aa", + "interpretation_Tm_abs_487b9a6200a4bf314d2acf58de7b1956", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "l_or-interp", "lemma_FStar.DM4F.Heap.lemma_sel_tot_is_sel_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.lemma_upd_tot_is_upd_if_contains_a_well_typed", @@ -541,23 +528,22 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1c340823b5dcf3a15e7f381b7d3e4309", + "refinement_interpretation_Tm_refine_2502e1ae294e514d343fe5d1528f6901", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", - "refinement_interpretation_Tm_refine_66594372d057e8e92cecb95f07d084a9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_67ec944a6663250d928faa6474e74c6a", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bd608ae7fcafcddc38fe7d300ec408aa", - "token_correspondence_ProgramEquivalence.get_0", - "token_correspondence_ProgramEquivalence.incr_0", + "refinement_interpretation_Tm_refine_8613ae4daf6f36e4c5d6ddcb75ccb22e", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_ProgramEquivalence.inv_0", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel_tot", "typing_FStar.List.Tot.Base.hd", "typing_ProgramEquivalence.__proj__C__item__fp", - "typing_ProgramEquivalence.get", "unit_typing", + "typing_ProgramEquivalence.get", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "4633c5bec2dfc239d02368c757ed22dc" + "65b17f69937470941d9a72436491ebdb" ], [ "ProgramEquivalence.__proj__C__item__c", @@ -570,7 +556,7 @@ "token_correspondence_ProgramEquivalence.__proj__C__item__inv" ], 0, - "7834149b63a049f4d653cff9e12a08e3" + "b5ef32e4cb08d48506dac864408cabbc" ], [ "ProgramEquivalence.increment", @@ -586,7 +572,7 @@ "token_correspondence_ProgramEquivalence.__proj__C__item__inv" ], 0, - "41796586a53354376b3d2e8010f803ed" + "570674aff9ceb65b25246382e29a747b" ], [ "ProgramEquivalence.get", @@ -602,7 +588,7 @@ "token_correspondence_ProgramEquivalence.__proj__C__item__inv" ], 0, - "b8b2b9ed9c2802459259b23a53f69203" + "ed1a213fff97fb8ceacd2fa15460b1de" ], [ "ProgramEquivalence.incr_0", @@ -613,24 +599,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", "equation_Prims.nat", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", + "equation_Prims.nat", "equation_ProgramEquivalence.contains_well_typed_refs", "equation_ProgramEquivalence.fp", "equation_ProgramEquivalence.inv_0", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.ref" ], 0, - "18603c0a1f63b4fd5380328df8697e05" + "bbed21deca6ce637fe88f311276f430f" ], [ "ProgramEquivalence.get_0", @@ -655,7 +641,7 @@ "projection_inverse_BoxInt_proj_0", "typing_FStar.DM4F.Heap.ref" ], 0, - "c919f2ca76b406ad7c7c1762290dae94" + "4dc3ab78cb498df674497e96635ddc84" ], [ "ProgramEquivalence.init_counter_0", @@ -694,7 +680,7 @@ "typing_ProgramEquivalence.__proj__C__item__fp" ], 0, - "13b8a745389c3cdd21b48dd23502d381" + "b8ad2eca5128616959e9f92af3781eb2" ], [ "ProgramEquivalence.inv_1", @@ -704,23 +690,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", "equation_Prims.nat", "equation_ProgramEquivalence.fp", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.ref" ], 0, - "5201767a91ac2e80f0068ed64183651c" + "71817850a93d840eb16c45b6be055ac8" ], [ "ProgramEquivalence.incr_1", @@ -732,10 +718,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", "equation_ProgramEquivalence.contains_well_typed_refs", @@ -743,16 +728,16 @@ "equation_ProgramEquivalence.inv_1", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.ref" ], 0, - "ca28ff6d85540f969adfe591639d79e0" + "199b8daa49804856d668eb7f63f380b5" ], [ "ProgramEquivalence.get_1", @@ -764,10 +749,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_BoxInt", + "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", "equation_ProgramEquivalence.contains_well_typed_refs", @@ -775,16 +759,16 @@ "equation_ProgramEquivalence.inv_1", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_or-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", + "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.DM4F.Heap.ref" ], 0, - "ad194b69423d24430b8bc89e29dcbea0" + "cf3a41d0b20ce6401c3b646b7ec99c71" ], [ "ProgramEquivalence.counter_0", @@ -797,7 +781,7 @@ "token_correspondence_ProgramEquivalence.inv_0" ], 0, - "740cae2adbfaec0c8b1f80826da0daea" + "0521c81b2982b02d10e13dbad0cc2bbd" ], [ "ProgramEquivalence.counter_1", @@ -810,7 +794,7 @@ "token_correspondence_ProgramEquivalence.inv_1" ], 0, - "162c9908060f8c9493d477cc4767d778" + "03de64abf3ec24b8d683ddf44f797911" ], [ "ProgramEquivalence.init_counter_1", @@ -821,11 +805,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_elim_ProgramEquivalence.C", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", + "data_elim_ProgramEquivalence.C", "data_typing_intro_Prims.Nil@tok", + "eq2-interp", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", "equation_Prims.nat", @@ -835,10 +818,8 @@ "equation_ProgramEquivalence.live", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "false_interp", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", "proj_equation_ProgramEquivalence.C_fp", "proj_equation_ProgramEquivalence.C_inv", @@ -849,7 +830,8 @@ "projection_inverse_ProgramEquivalence.C_fp", "projection_inverse_ProgramEquivalence.C_inv", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_ProgramEquivalence.__proj__C__item__inv", "token_correspondence_ProgramEquivalence.inv_1", @@ -857,7 +839,7 @@ "typing_ProgramEquivalence.__proj__C__item__fp" ], 0, - "f6f03f901886fc693dcf3b7087a1f994" + "44fb9e521a72b49c3f30bc8d7d75591f" ], [ "ProgramEquivalence.increment_m", @@ -867,15 +849,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "b19f4f2ad91b188ca12ad965876172ee" + "2b2d0808a7696db276e91d32a8ca24a4" ], [ "ProgramEquivalence.ref_not_in_fp", @@ -885,11 +867,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b0605ebd9d88a0f939398703f6cac650" + "1995303e43e1e1d0613fe7ab9f493581" ], [ "ProgramEquivalence.observational_equivalence'", @@ -897,17 +879,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_62a743791b63ba8269fbb4ad5655e284" + "refinement_interpretation_Tm_refine_fd3c87fdcb359d5ccdb15904a6488582" ], 0, - "789a1d08a106708fa329bf7f12ffae38" + "d6d40983c70edec8e71e42e3fdaa8f42" ], [ "ProgramEquivalence.counts_even_numbers", @@ -916,10 +895,10 @@ 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_62a743791b63ba8269fbb4ad5655e284" + "refinement_interpretation_Tm_refine_fd3c87fdcb359d5ccdb15904a6488582" ], 0, - "4217c1f0e024e209284a89f5cbc5c190" + "87311c8f7cb3c7e67fbb94e9d0292176" ] ] ] \ No newline at end of file diff --git a/examples/rel/ProgramOptimizations.fst.hints b/examples/rel/ProgramOptimizations.fst.hints index b3f6a1c1f69..2ce4671d567 100644 --- a/examples/rel/ProgramOptimizations.fst.hints +++ b/examples/rel/ProgramOptimizations.fst.hints @@ -14,7 +14,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "47e3a4e14c8e35dfcae5d91d28239aab" + "fedb4033db8230fcd0f2d604ccd43a32" ], [ "ProgramOptimizations.__proj__Const__item___0", @@ -28,7 +28,7 @@ "refinement_interpretation_Tm_refine_2fcef4c7d94b8a858b8533b4392720e2" ], 0, - "78a7c2b8b7888eeb0d7ebd63b870d128" + "1efaf12de61a1804ad480f9489e3569a" ], [ "ProgramOptimizations.__proj__Var__item___0", @@ -42,7 +42,7 @@ "refinement_interpretation_Tm_refine_070fdf407f5c8dff9a7cfa1b6bdb70b2" ], 0, - "c23ed8e1e57836b544fb4ef282b464eb" + "c4dc348e045df0c711f5ee620ac500be" ], [ "ProgramOptimizations.__proj__IOp__item___0", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_60265d5d95f52c83223c5542d14d69ad" ], 0, - "1b7330c5601d36a3b3d8be43683e5694" + "804d8bc74073878c233527c58b720669" ], [ "ProgramOptimizations.__proj__IOp__item___1", @@ -70,7 +70,7 @@ "refinement_interpretation_Tm_refine_60265d5d95f52c83223c5542d14d69ad" ], 0, - "06d4d5b70163f7221e5466156b8175ed" + "3c67c8a1515b49e175ea9500973feda7" ], [ "ProgramOptimizations.__proj__IOp__item___2", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_60265d5d95f52c83223c5542d14d69ad" ], 0, - "e55dd16507bafa428ed322ab77d64242" + "281bf99e96b7a148ae1fd57eb5f61781" ], [ "ProgramOptimizations.__proj__UMinus__item___0", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_442de479845adbb7045f5e74cb6e91c7" ], 0, - "a5797e88d17747bf619221b7a3fd8fae" + "92347f20436ec400a81d63c49dcbffc6" ], [ "ProgramOptimizations.b_exp", @@ -111,7 +111,7 @@ "assumption_ProgramOptimizations.r_op__uu___haseq" ], 0, - "6504660bcae52d1741f2f7d2bffa387a" + "c80411f134b698cf8485623042ac1438" ], [ "ProgramOptimizations.__proj__ROp__item___0", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_4a5ef12b44ef9a7535345360695fbca3" ], 0, - "57ce4d11d6367c027396eb70d960c29b" + "3666ea46cf1fc2d86a16aa896a885812" ], [ "ProgramOptimizations.__proj__ROp__item___1", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_4a5ef12b44ef9a7535345360695fbca3" ], 0, - "03fac3930b7523d7c9c62fbedaaceabd" + "734b9f79847002b9a15c627fd683b908" ], [ "ProgramOptimizations.__proj__ROp__item___2", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_4a5ef12b44ef9a7535345360695fbca3" ], 0, - "39934e98039310ee3247f379961ce381" + "365dd4c8ab47fda91cb9e9efa961fe98" ], [ "ProgramOptimizations.__proj__BOp__item___0", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_9a6ad1dc93a230235fe0787ef9e71d3c" ], 0, - "dbea22fb30b5f60563193113b00d9d70" + "b13e1571f8c9c1f471d98ba9bfd36d2b" ], [ "ProgramOptimizations.__proj__BOp__item___1", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_9a6ad1dc93a230235fe0787ef9e71d3c" ], 0, - "9ab82e30645cca6c1c55afc54794815c" + "037c6b1cb0944d7208bf1783c0293122" ], [ "ProgramOptimizations.__proj__BOp__item___2", @@ -195,7 +195,7 @@ "refinement_interpretation_Tm_refine_9a6ad1dc93a230235fe0787ef9e71d3c" ], 0, - "8136e2aca414185477070eae2665d3d0" + "6c5b22435756ea92432a68fb1d1c4034" ], [ "ProgramOptimizations.__proj__Not__item___0", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_12b6cb78b0bb34a6f9e6cec940ff4c4b" ], 0, - "8692b7634dc2871d58f9221c37d607e6" + "2a3f5e06621364ae9b02b15bcbc74746" ], [ "ProgramOptimizations.com", @@ -225,7 +225,7 @@ "typing_ProgramOptimizations.var" ], 0, - "853ea4662d34f990ea54c3e9db17c025" + "782295cd8de74c8ae6699b09d0c36b2d" ], [ "ProgramOptimizations.__proj__Assign__item___0", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_c0d40d9e73009748e017cb692fa26ea2" ], 0, - "4d182a32e9e6817d7a308f9b08e00b30" + "da5b6f5c1c4d171efc0b5fa9a7b237fd" ], [ "ProgramOptimizations.__proj__Assign__item___1", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_c0d40d9e73009748e017cb692fa26ea2" ], 0, - "5874c19f61302e10c46b5245f6af4e01" + "d8d5192662a5f3cdd35dcacda26e29d8" ], [ "ProgramOptimizations.__proj__Seq__item___0", @@ -267,7 +267,7 @@ "refinement_interpretation_Tm_refine_4b4fcb1be48e91dd2f57609170464f5b" ], 0, - "2af5a4ae80eb99608f5e7428a4fd0f45" + "1b4b0015ed829cf542df78dd3c660017" ], [ "ProgramOptimizations.__proj__Seq__item___1", @@ -281,7 +281,7 @@ "refinement_interpretation_Tm_refine_4b4fcb1be48e91dd2f57609170464f5b" ], 0, - "98fc321f3e2ef8655df934037b58a21a" + "cf03e414b92e7546c30006e88879944b" ], [ "ProgramOptimizations.__proj__If__item___0", @@ -295,7 +295,7 @@ "refinement_interpretation_Tm_refine_4daabbe5c401b179ea3d747bf659cdaa" ], 0, - "35fad73c14005dec96caf8cb67273b66" + "e3588b0a8b3716e117970b03ed96031b" ], [ "ProgramOptimizations.__proj__If__item___1", @@ -309,7 +309,7 @@ "refinement_interpretation_Tm_refine_4daabbe5c401b179ea3d747bf659cdaa" ], 0, - "0825465271d4bc4194f0f2d38935542d" + "856d4d88d8a3b6c9d1af404a3b84132c" ], [ "ProgramOptimizations.__proj__If__item___2", @@ -323,7 +323,7 @@ "refinement_interpretation_Tm_refine_4daabbe5c401b179ea3d747bf659cdaa" ], 0, - "210f0b4f5c5adaa323375d363d01cf5e" + "7404192eebbf517c839aed078d3c55d9" ], [ "ProgramOptimizations.i_exp_denotation", @@ -356,7 +356,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.index" ], 0, - "51ee4166707e3ffa5fa2ecfd5c493584" + "48121ff9773f4cd2d5c460e20b3c52d0" ], [ "ProgramOptimizations.b_exp_denotation", @@ -395,7 +395,7 @@ "subterm_ordering_ProgramOptimizations.Not" ], 0, - "13e83a357a28adfccb59858704f2a780" + "f000abea1d093424c81f3a0a8ad34366" ], [ "ProgramOptimizations.com_denotation", @@ -427,7 +427,7 @@ "unit_typing" ], 0, - "c364bd8c0cba47fe76079590a0e18e5e" + "e8deb848defa6522a720d009bcd3704e" ], [ "ProgramOptimizations.g_exp", @@ -442,7 +442,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "211c842b3c139465cd59c60783c7f292" + "567a7805b8597c316f111645832dfb21" ], [ "ProgramOptimizations.__proj__GConst__item___0", @@ -456,7 +456,7 @@ "refinement_interpretation_Tm_refine_763b2f3802e5c78ed32f1a103955a718" ], 0, - "2d0b0036aa97e5f5ac92b4065e1d0088" + "73b9ae740f118fb814704015b31d0deb" ], [ "ProgramOptimizations.__proj__Left__item___0", @@ -470,7 +470,7 @@ "refinement_interpretation_Tm_refine_f8c0148749c4b3167a4d9b51186c1c41" ], 0, - "563f9b08253c88fd8996ebdac43c3952" + "282cb4987ee68a90587c13966a3448ac" ], [ "ProgramOptimizations.__proj__Right__item___0", @@ -484,7 +484,7 @@ "refinement_interpretation_Tm_refine_620381ea672ccfd3b418034bc8698907" ], 0, - "d86cec2f820c368753722d5e60169bd9" + "d5812e5b5c935601a728bf617b588407" ], [ "ProgramOptimizations.__proj__GIOp__item___0", @@ -498,7 +498,7 @@ "refinement_interpretation_Tm_refine_e8390095c46ad4b4504e93fcb97945ad" ], 0, - "49347352937992e1fbe214a08c76dbfa" + "5d0b9eba235affb9e64fb676aa0967f0" ], [ "ProgramOptimizations.__proj__GIOp__item___1", @@ -512,7 +512,7 @@ "refinement_interpretation_Tm_refine_e8390095c46ad4b4504e93fcb97945ad" ], 0, - "958a7a8b9cdf9b46178c57c2aa5038ed" + "2ad09028252b10065fb99582edcc9c13" ], [ "ProgramOptimizations.__proj__GIOp__item___2", @@ -526,7 +526,7 @@ "refinement_interpretation_Tm_refine_e8390095c46ad4b4504e93fcb97945ad" ], 0, - "061e0465ba936411cda56d942ce0eb60" + "dd96b9384478af5bc2f55307ada98b03" ], [ "ProgramOptimizations.rel_exp", @@ -539,7 +539,7 @@ "assumption_ProgramOptimizations.r_op__uu___haseq" ], 0, - "6a32900482fcaa14850a9f88ddc8320a" + "25bf2bb55b7d7e961209ae8aa28b142a" ], [ "ProgramOptimizations.__proj__RROp__item___0", @@ -553,7 +553,7 @@ "refinement_interpretation_Tm_refine_d829131e15517bf17222eb552e4b583d" ], 0, - "c283016035659130f8b87ebb451683d1" + "689dc0edca6c0168073d405513bfdf29" ], [ "ProgramOptimizations.__proj__RROp__item___1", @@ -567,7 +567,7 @@ "refinement_interpretation_Tm_refine_d829131e15517bf17222eb552e4b583d" ], 0, - "e8b5320e6ac6b021e4e81fa1181227b7" + "79d0d9a341667704a14a43323e4bbede" ], [ "ProgramOptimizations.__proj__RROp__item___2", @@ -581,7 +581,7 @@ "refinement_interpretation_Tm_refine_d829131e15517bf17222eb552e4b583d" ], 0, - "390e055b3dcbfe3c8e3e4a42db6042ca" + "ec1bc20820210462c1457764f65d9b7b" ], [ "ProgramOptimizations.__proj__RBOp__item___0", @@ -595,7 +595,7 @@ "refinement_interpretation_Tm_refine_0a3a4050a2d640427d05fa88e3d033cf" ], 0, - "7048a3d927463344e76fddfc98c0bf64" + "2562090ee0ed017cbdaa043394a21de8" ], [ "ProgramOptimizations.__proj__RBOp__item___1", @@ -609,7 +609,7 @@ "refinement_interpretation_Tm_refine_0a3a4050a2d640427d05fa88e3d033cf" ], 0, - "ca71f0da5cf3f075a557d441d53ec1c0" + "9943154c99debd1abdb04af284d9a179" ], [ "ProgramOptimizations.__proj__RBOp__item___2", @@ -623,7 +623,7 @@ "refinement_interpretation_Tm_refine_0a3a4050a2d640427d05fa88e3d033cf" ], 0, - "e6339fc0283e620d04da2bab0650bf07" + "127c085ae0ae1f132c21c9f091d2b9b2" ], [ "ProgramOptimizations.__proj__RNot__item___0", @@ -637,7 +637,7 @@ "refinement_interpretation_Tm_refine_18c04c0e3da4d915a0f616009fbb557d" ], 0, - "116f09a065ff9641949bffe6fd7359c9" + "54f1038068a5a856515bbf593b90619d" ], [ "ProgramOptimizations.g_exp_denotation", @@ -658,7 +658,7 @@ "subterm_ordering_ProgramOptimizations.GIOp" ], 0, - "fa4a6bd83723081397e3d08d07fc0e51" + "f46fea2d05c37ce824c521b6a5ecccfb" ], [ "ProgramOptimizations.rel_exp_denotation", @@ -685,7 +685,7 @@ "subterm_ordering_ProgramOptimizations.RNot" ], 0, - "d1dc215f32b6b51505390ef25f1006fb" + "b9513bd0dcb42e8abd29908f46dff4a3" ], [ "ProgramOptimizations.lemma_sound_optimization1", @@ -704,11 +704,12 @@ "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "ProgramOptimizations_interpretation_Tm_arrow_da9bd8d883395072b5863d3f1686b425", + "ProgramOptimizations_interpretation_Tm_arrow_4010f6cd298dc994d34705da7dfb9b00", + "ProgramOptimizations_interpretation_Tm_arrow_8e243e1c9c6979f8f794d86375497818", "ProgramOptimizations_pretyping_79e826c48a872559bd2152b28dce49e3", "ProgramOptimizations_pretyping_ab9d74bcd696e9ebfbef75cd7baa5766", "ProgramOptimizations_pretyping_ef8fa22f5d385ef466af4bf5a3b3ecca", - "assumption_ProgramOptimizations.Distinct_vars", "bool_inversion", + "assumption_ProgramOptimizations.Distinct_vars", "constructor_distinct_ProgramOptimizations.Add", "constructor_distinct_ProgramOptimizations.And", "constructor_distinct_ProgramOptimizations.Assign", @@ -747,14 +748,14 @@ "equation_with_fuel_ProgramOptimizations.rel_exp_denotation.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_4091958e98d0040e492458c74b966357", - "interpretation_Tm_abs_43e36b88ddd099c63b8603486f6fd04e", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_8b24abe3be8462340ec3356baea75573", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_c4af61a5d343ed5c66fc611ea2155f1f", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_57570f50129f473ca1bdb2ad83be0cee", + "interpretation_Tm_abs_638ee732d8edd1f3864a2956e87e86bc", + "interpretation_Tm_abs_81b5220b8b29bc5dc7fa1efb165d62a7", + "interpretation_Tm_abs_958d3b3f4074d05f6c832fa5eb9d43ff", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -778,8 +779,9 @@ "projection_inverse_ProgramOptimizations.Seq__0", "projection_inverse_ProgramOptimizations.Seq__1", "projection_inverse_ProgramOptimizations.Var__0", - "refinement_interpretation_Tm_refine_bc47297a0ab0ae18a118231b3f41d29f", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_1a34f5d216f39c9c0f32d8082f2adf30", + "refinement_interpretation_Tm_refine_3050378e5d706900afabddaf4f49c58b", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "token_correspondence_ProgramOptimizations.com_denotation.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.index", "typing_ProgramOptimizations.com11", @@ -788,14 +790,12 @@ "typing_ProgramOptimizations.g_exp_denotation", "typing_ProgramOptimizations.i_exp_denotation", "typing_ProgramOptimizations.rel11", - "typing_ProgramOptimizations.rel12", - "typing_ProgramOptimizations.rel_exp_denotation", - "typing_ProgramOptimizations.x", "typing_ProgramOptimizations.y", - "typing_ProgramOptimizations.z", + "typing_ProgramOptimizations.rel12", "typing_ProgramOptimizations.x", + "typing_ProgramOptimizations.y", "typing_ProgramOptimizations.z", "typing_tok_ProgramOptimizations.Skip@tok", "unit_typing" ], 0, - "bad9e5fdfb30b7ff738fdbaa11255ecc" + "9ca4d7bc3dfc231fdce227f9dbbeb36a" ], [ "ProgramOptimizations.lemma_sound_optimization2", @@ -812,11 +812,12 @@ "@fuel_irrelevance_ProgramOptimizations.rel_exp_denotation.fuel_instrumented", "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_ada8876c48f06277d150f9f593b5d61f", + "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "ProgramOptimizations_interpretation_Tm_arrow_da9bd8d883395072b5863d3f1686b425", + "ProgramOptimizations_interpretation_Tm_arrow_8e243e1c9c6979f8f794d86375497818", + "ProgramOptimizations_interpretation_Tm_arrow_ef2265aac645a1bd75721130a4eb1135", "ProgramOptimizations_pretyping_79e826c48a872559bd2152b28dce49e3", "ProgramOptimizations_pretyping_ab9d74bcd696e9ebfbef75cd7baa5766", "ProgramOptimizations_pretyping_bd01081bbed424400b976af90f0b241d", @@ -849,6 +850,7 @@ "equality_tok_ProgramOptimizations.Skip@tok", "equation_FStar.DM4F.Heap.IntStoreFixed.sel", "equation_FStar.DM4F.IntStoreFixed.read", + "equation_FStar.DM4F.IntStoreFixed.write", "equation_ProgramOptimizations.com21", "equation_ProgramOptimizations.com22", "equation_ProgramOptimizations.rel21", @@ -861,13 +863,15 @@ "equation_with_fuel_ProgramOptimizations.rel_exp_denotation.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_4091958e98d0040e492458c74b966357", - "interpretation_Tm_abs_43e36b88ddd099c63b8603486f6fd04e", - "interpretation_Tm_abs_48cdf7238eeada831305d511a7af061c", - "interpretation_Tm_abs_7118eb129e1e8ce98d9b40c620feff33", - "interpretation_Tm_abs_9ae686da9ae22d46a0753e9c99207cd8", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_467f7a7851381474afdcf43fe5488409", + "interpretation_Tm_abs_57570f50129f473ca1bdb2ad83be0cee", + "interpretation_Tm_abs_5df3747711c7a01e34534b5962e12cf8", + "interpretation_Tm_abs_638ee732d8edd1f3864a2956e87e86bc", + "interpretation_Tm_abs_908f8370d64c6d5f8a39ca7726a39b6b", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", @@ -893,14 +897,13 @@ "projection_inverse_ProgramOptimizations.RROp__2", "projection_inverse_ProgramOptimizations.Right__0", "projection_inverse_ProgramOptimizations.Var__0", - "refinement_interpretation_Tm_refine_637135077ae3b9a43e6f37874b54e5e1", - "refinement_interpretation_Tm_refine_bc47297a0ab0ae18a118231b3f41d29f", + "refinement_interpretation_Tm_refine_1a34f5d216f39c9c0f32d8082f2adf30", + "refinement_interpretation_Tm_refine_92020a3dff7223d1d531095cb57d57e6", "token_correspondence_ProgramOptimizations.rel_exp_denotation.fuel_instrumented", - "typing_FStar.DM4F.IntStoreFixed.write", + "typing_FStar.DM4F.Heap.IntStoreFixed.index", "typing_ProgramOptimizations.b_exp_denotation", "typing_ProgramOptimizations.com21", "typing_ProgramOptimizations.com_denotation", - "typing_ProgramOptimizations.i_exp_denotation", "typing_ProgramOptimizations.rel21", "typing_ProgramOptimizations.rel22", "typing_ProgramOptimizations.rel_exp_denotation", @@ -908,7 +911,7 @@ "typing_tok_ProgramOptimizations.Skip@tok", "unit_typing" ], 0, - "3e5b39b80278e14eb0fa4caf6681af2a" + "630bbc8346707a8210eda22ba3eab8fd" ], [ "ProgramOptimizations.lemma_sound_optimization3", @@ -922,14 +925,16 @@ "@fuel_correspondence_ProgramOptimizations.g_exp_denotation.fuel_instrumented", "@fuel_correspondence_ProgramOptimizations.i_exp_denotation.fuel_instrumented", "@fuel_correspondence_ProgramOptimizations.rel_exp_denotation.fuel_instrumented", + "@fuel_irrelevance_ProgramOptimizations.rel_exp_denotation.fuel_instrumented", "@query", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_ada8876c48f06277d150f9f593b5d61f", + "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_b2d6b30e9174a09501e8a5719e7357a0", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "ProgramOptimizations_interpretation_Tm_arrow_da9bd8d883395072b5863d3f1686b425", + "ProgramOptimizations_interpretation_Tm_arrow_8e243e1c9c6979f8f794d86375497818", + "ProgramOptimizations_interpretation_Tm_arrow_ef2265aac645a1bd75721130a4eb1135", "ProgramOptimizations_pretyping_79e826c48a872559bd2152b28dce49e3", "ProgramOptimizations_pretyping_bd01081bbed424400b976af90f0b241d", "constructor_distinct_ProgramOptimizations.And", @@ -958,13 +963,11 @@ "data_typing_intro_ProgramOptimizations.Var@tok", "equality_tok_ProgramOptimizations.And@tok", "equality_tok_ProgramOptimizations.Eq@tok", - "equality_tok_ProgramOptimizations.RTrue@tok", "equation_FStar.DM4F.Heap.IntStoreFixed.sel", "equation_FStar.DM4F.IntStoreFixed.read", "equation_FStar.DM4F.IntStoreFixed.write", "equation_ProgramOptimizations.com31", "equation_ProgramOptimizations.com32", - "equation_ProgramOptimizations.rel31", "equation_ProgramOptimizations.rel32", "equation_ProgramOptimizations.var", "equation_with_fuel_ProgramOptimizations.b_exp_denotation.fuel_instrumented", @@ -974,14 +977,14 @@ "equation_with_fuel_ProgramOptimizations.rel_exp_denotation.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_4091958e98d0040e492458c74b966357", - "interpretation_Tm_abs_43e36b88ddd099c63b8603486f6fd04e", - "interpretation_Tm_abs_48cdf7238eeada831305d511a7af061c", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_9ae686da9ae22d46a0753e9c99207cd8", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_467f7a7851381474afdcf43fe5488409", + "interpretation_Tm_abs_57570f50129f473ca1bdb2ad83be0cee", + "interpretation_Tm_abs_5df3747711c7a01e34534b5962e12cf8", + "interpretation_Tm_abs_638ee732d8edd1f3864a2956e87e86bc", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", @@ -1006,8 +1009,9 @@ "projection_inverse_ProgramOptimizations.RROp__2", "projection_inverse_ProgramOptimizations.Right__0", "projection_inverse_ProgramOptimizations.Var__0", - "refinement_interpretation_Tm_refine_637135077ae3b9a43e6f37874b54e5e1", - "refinement_interpretation_Tm_refine_bc47297a0ab0ae18a118231b3f41d29f", + "refinement_interpretation_Tm_refine_03a927a17b13c20652477177d78fbc88", + "refinement_interpretation_Tm_refine_1a34f5d216f39c9c0f32d8082f2adf30", + "refinement_interpretation_Tm_refine_92020a3dff7223d1d531095cb57d57e6", "typing_FStar.DM4F.IntStoreFixed.write", "typing_ProgramOptimizations.b_exp_denotation", "typing_ProgramOptimizations.com31", @@ -1017,10 +1021,10 @@ "typing_ProgramOptimizations.rel32", "typing_ProgramOptimizations.rel_exp_denotation", "typing_ProgramOptimizations.x", "typing_ProgramOptimizations.y", - "typing_tok_ProgramOptimizations.RTrue@tok", "unit_typing" + "unit_typing" ], 0, - "500b9b627b44c1ab74c40a0f2200fb82" + "9131b242c0e99d758a95f78c0b7f58db" ], [ "ProgramOptimizations.lemma_sound_optimization4", @@ -1040,7 +1044,7 @@ "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "ProgramOptimizations_interpretation_Tm_arrow_da9bd8d883395072b5863d3f1686b425", + "ProgramOptimizations_interpretation_Tm_arrow_8e243e1c9c6979f8f794d86375497818", "ProgramOptimizations_pretyping_79e826c48a872559bd2152b28dce49e3", "ProgramOptimizations_pretyping_ab9d74bcd696e9ebfbef75cd7baa5766", "ProgramOptimizations_pretyping_ef8fa22f5d385ef466af4bf5a3b3ecca", @@ -1084,14 +1088,14 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_43e36b88ddd099c63b8603486f6fd04e", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_688f434eb87b65abfd4fc14921eb7477", - "interpretation_Tm_abs_8b24abe3be8462340ec3356baea75573", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", - "interpretation_Tm_abs_c4af61a5d343ed5c66fc611ea2155f1f", + "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", + "interpretation_Tm_abs_57570f50129f473ca1bdb2ad83be0cee", + "interpretation_Tm_abs_59a173c049b380431c6426c74c3fc496", + "interpretation_Tm_abs_81b5220b8b29bc5dc7fa1efb165d62a7", + "interpretation_Tm_abs_958d3b3f4074d05f6c832fa5eb9d43ff", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -1118,8 +1122,8 @@ "projection_inverse_ProgramOptimizations.Seq__1", "projection_inverse_ProgramOptimizations.UMinus__0", "projection_inverse_ProgramOptimizations.Var__0", - "refinement_interpretation_Tm_refine_bc47297a0ab0ae18a118231b3f41d29f", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_1a34f5d216f39c9c0f32d8082f2adf30", + "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", "token_correspondence_ProgramOptimizations.com_denotation.fuel_instrumented", "token_correspondence_ProgramOptimizations.rel_exp_denotation.fuel_instrumented", "typing_FStar.DM4F.Heap.IntStoreFixed.index", @@ -1135,7 +1139,7 @@ "typing_tok_ProgramOptimizations.Skip@tok", "unit_typing" ], 0, - "3fe181d1f99fbbd15b071cb92dede69d" + "566c8a426cdd8b3ec39eee09c95805ef" ], [ "ProgramOptimizations.lemma_r_cbl", @@ -1150,7 +1154,7 @@ "@fuel_irrelevance_ProgramOptimizations.com_denotation.fuel_instrumented", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "ProgramOptimizations_interpretation_Tm_arrow_da9bd8d883395072b5863d3f1686b425", + "ProgramOptimizations_interpretation_Tm_arrow_8e243e1c9c6979f8f794d86375497818", "bool_inversion", "constructor_distinct_ProgramOptimizations.CTrue", "constructor_distinct_ProgramOptimizations.If", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -1161,20 +1165,20 @@ "equation_with_fuel_ProgramOptimizations.com_denotation.fuel_instrumented", "equation_with_fuel_ProgramOptimizations.rel_exp_denotation.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_48cdf7238eeada831305d511a7af061c", - "interpretation_Tm_abs_89cf49708de8c5eccda32d187dcb2e2a", + "interpretation_Tm_abs_5df3747711c7a01e34534b5962e12cf8", + "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_ProgramOptimizations.If__0", "projection_inverse_ProgramOptimizations.If__1", "projection_inverse_ProgramOptimizations.If__2", - "refinement_interpretation_Tm_refine_bc47297a0ab0ae18a118231b3f41d29f", + "refinement_interpretation_Tm_refine_1a34f5d216f39c9c0f32d8082f2adf30", "typing_ProgramOptimizations.com_denotation", "typing_ProgramOptimizations.rel_exp_denotation", "typing_tok_ProgramOptimizations.CTrue@tok", "unit_typing" ], 0, - "7174e6487cfa82f641372923d24cfe7f" + "a90a4353c7d6cf24eda8397357c5bcee" ], [ "ProgramOptimizations.i_exp", @@ -1189,7 +1193,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "dc19e3472802ac6b644f4caed134c46a" + "436787530bf417ffdf64f6f77d728ab4" ], [ "ProgramOptimizations.__proj__Const__item___0", @@ -1203,7 +1207,7 @@ "refinement_interpretation_Tm_refine_2fcef4c7d94b8a858b8533b4392720e2" ], 0, - "03414a7550635b7e1ca32304e89a461d" + "a4a7ba34089e4ff27658fe2bd2d92b56" ], [ "ProgramOptimizations.__proj__Var__item___0", @@ -1217,7 +1221,7 @@ "refinement_interpretation_Tm_refine_070fdf407f5c8dff9a7cfa1b6bdb70b2" ], 0, - "d1d13badd5c36489283526e110d0594f" + "116f26d83535d8368b985e2dd7aff302" ], [ "ProgramOptimizations.__proj__IOp__item___0", @@ -1231,7 +1235,7 @@ "refinement_interpretation_Tm_refine_60265d5d95f52c83223c5542d14d69ad" ], 0, - "dced655a0728c07ebe5cfb4b16a2f853" + "132d28affcb0e0d7f738471f0be044ff" ], [ "ProgramOptimizations.__proj__IOp__item___1", @@ -1245,7 +1249,7 @@ "refinement_interpretation_Tm_refine_60265d5d95f52c83223c5542d14d69ad" ], 0, - "99e4ee2c6ce1e78b5a7c77f8f7869c07" + "f44806d9a568e20fbd8ac8db32bdece9" ], [ "ProgramOptimizations.__proj__IOp__item___2", @@ -1259,7 +1263,7 @@ "refinement_interpretation_Tm_refine_60265d5d95f52c83223c5542d14d69ad" ], 0, - "e3f55ab211bbf34687c07b5f6b9bc467" + "e7ff471e89b16f9d5a1b9f4fd28b4624" ], [ "ProgramOptimizations.__proj__UMinus__item___0", @@ -1273,7 +1277,7 @@ "refinement_interpretation_Tm_refine_442de479845adbb7045f5e74cb6e91c7" ], 0, - "d1a1fa4121110d93508d45a524de4214" + "85f9012f1d109aa11526c51fabc8049e" ], [ "ProgramOptimizations.b_exp", @@ -1286,7 +1290,7 @@ "assumption_ProgramOptimizations.r_op__uu___haseq" ], 0, - "b2a17a6ee2370c6426bcfdfe356a47b0" + "2f12362909d70303524dc7b7bfe906d9" ], [ "ProgramOptimizations.__proj__ROp__item___0", @@ -1300,7 +1304,7 @@ "refinement_interpretation_Tm_refine_4a5ef12b44ef9a7535345360695fbca3" ], 0, - "1644a26c2db00a3dc76f126b63b12e2e" + "8b1d11679a2c0f771303a248f3f82e86" ], [ "ProgramOptimizations.__proj__ROp__item___1", @@ -1314,7 +1318,7 @@ "refinement_interpretation_Tm_refine_4a5ef12b44ef9a7535345360695fbca3" ], 0, - "9231e16678404dc7e90acefc8245d49a" + "36fb52aec77d064f39c649adeb187389" ], [ "ProgramOptimizations.__proj__ROp__item___2", @@ -1328,7 +1332,7 @@ "refinement_interpretation_Tm_refine_4a5ef12b44ef9a7535345360695fbca3" ], 0, - "41c15a7e84a38cc53f8a1cbd58cc6e91" + "4473e8850de415e8379375c6a57a63a8" ], [ "ProgramOptimizations.__proj__BOp__item___0", @@ -1342,7 +1346,7 @@ "refinement_interpretation_Tm_refine_9a6ad1dc93a230235fe0787ef9e71d3c" ], 0, - "174f0e9b261d46e022946b615510f882" + "f429dc03f1cd68de777f1db5727e71dc" ], [ "ProgramOptimizations.__proj__BOp__item___1", @@ -1356,7 +1360,7 @@ "refinement_interpretation_Tm_refine_9a6ad1dc93a230235fe0787ef9e71d3c" ], 0, - "37579463cd5792bc57c2c787142cf891" + "bc9a668ed303f4ee6b5b3c632f0d808d" ], [ "ProgramOptimizations.__proj__BOp__item___2", @@ -1370,7 +1374,7 @@ "refinement_interpretation_Tm_refine_9a6ad1dc93a230235fe0787ef9e71d3c" ], 0, - "0d5092dae90a1cc33de02b629dab9833" + "fae1a4a26038ac4c9645cab60d9dbe5f" ], [ "ProgramOptimizations.__proj__Not__item___0", @@ -1384,7 +1388,7 @@ "refinement_interpretation_Tm_refine_12b6cb78b0bb34a6f9e6cec940ff4c4b" ], 0, - "17c92a761504735f397f2a79d66d5dc7" + "004c753959aa12cc58bb128ec2689b16" ], [ "ProgramOptimizations.com", @@ -1400,7 +1404,7 @@ "typing_ProgramOptimizations.var" ], 0, - "39cc5e51a83f5260d44f9a13a3e2d782" + "30a4a7c574e5e8ad8a2a3fa51e8ad434" ], [ "ProgramOptimizations.__proj__Assign__item___0", @@ -1414,7 +1418,7 @@ "refinement_interpretation_Tm_refine_c0d40d9e73009748e017cb692fa26ea2" ], 0, - "ddf780b00eb00d02cc9992cc93807170" + "587d84c330d0bdf277aa45299bdddb38" ], [ "ProgramOptimizations.__proj__Assign__item___1", @@ -1428,7 +1432,7 @@ "refinement_interpretation_Tm_refine_c0d40d9e73009748e017cb692fa26ea2" ], 0, - "1bf556dc21d7bb593edac7dfdebd8477" + "4b422796805d52b6a3191a3e4c809859" ], [ "ProgramOptimizations.__proj__Seq__item___0", @@ -1442,7 +1446,7 @@ "refinement_interpretation_Tm_refine_4b4fcb1be48e91dd2f57609170464f5b" ], 0, - "b20784dd69805866649c6bb80c26935c" + "af485a4c6bd98be9c1afbbf2ea9da4b4" ], [ "ProgramOptimizations.__proj__Seq__item___1", @@ -1456,7 +1460,7 @@ "refinement_interpretation_Tm_refine_4b4fcb1be48e91dd2f57609170464f5b" ], 0, - "dc5bfacbb047315717e2ecad0127a3d9" + "aecda811198a0a836cbadcf07db0c216" ], [ "ProgramOptimizations.__proj__If__item___0", @@ -1470,7 +1474,7 @@ "refinement_interpretation_Tm_refine_4daabbe5c401b179ea3d747bf659cdaa" ], 0, - "9ef2d94eff8cb4a86e499de4fd4099aa" + "b1f23434c1c265c3add8dc2ab9d95994" ], [ "ProgramOptimizations.__proj__If__item___1", @@ -1484,7 +1488,7 @@ "refinement_interpretation_Tm_refine_4daabbe5c401b179ea3d747bf659cdaa" ], 0, - "14262d24c3a1963e4f94ebcd5b25a8b0" + "27c080bbf8e020c1fc1c7896aa85870a" ], [ "ProgramOptimizations.__proj__If__item___2", @@ -1498,7 +1502,7 @@ "refinement_interpretation_Tm_refine_4daabbe5c401b179ea3d747bf659cdaa" ], 0, - "a05041c1eae18885a6fab85376010e9c" + "2e748416725c15fdc13fe132dc221b9d" ], [ "ProgramOptimizations.i_exp_denotation", @@ -1531,7 +1535,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.index" ], 0, - "55d7c00a46e3f5d78521c2e94b427e42" + "f640873ff7ebe5a200199461ab623e69" ], [ "ProgramOptimizations.b_exp_denotation", @@ -1570,7 +1574,7 @@ "subterm_ordering_ProgramOptimizations.Not" ], 0, - "b36afe890ab296b62458cee9339eaa14" + "218b74423eb35c41da849a9742b98e9d" ], [ "ProgramOptimizations.com_denotation", @@ -1602,7 +1606,7 @@ "unit_typing" ], 0, - "94de7c5829ca78f45cff58d873f7e03c" + "9e531a869b125f62cd3ae520347ceaf7" ], [ "ProgramOptimizations.g_exp", @@ -1617,7 +1621,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "8cfd305c2a9009d2cab8f6031f479bf8" + "be297c6c806ef753abbeda32ee371af8" ], [ "ProgramOptimizations.__proj__GConst__item___0", @@ -1631,7 +1635,7 @@ "refinement_interpretation_Tm_refine_763b2f3802e5c78ed32f1a103955a718" ], 0, - "6f727f3c24fc1f3508f11ae1a043aa31" + "0c9dc1a3740b41e5108126fbfddff26b" ], [ "ProgramOptimizations.__proj__Left__item___0", @@ -1645,7 +1649,7 @@ "refinement_interpretation_Tm_refine_f8c0148749c4b3167a4d9b51186c1c41" ], 0, - "f4b7745cbd50d2b929fb2a57b421fca3" + "44b57c01d609f0a5680bb63ec7eb0085" ], [ "ProgramOptimizations.__proj__Right__item___0", @@ -1659,7 +1663,7 @@ "refinement_interpretation_Tm_refine_620381ea672ccfd3b418034bc8698907" ], 0, - "4b9b5a9014373cf668a8492bcca6fd93" + "d698989cb79ae65dcf66f7147e295534" ], [ "ProgramOptimizations.__proj__GIOp__item___0", @@ -1673,7 +1677,7 @@ "refinement_interpretation_Tm_refine_e8390095c46ad4b4504e93fcb97945ad" ], 0, - "9dcab694fac4d18779bd6e00660cf453" + "a17d00a5d24bdf6a6c7f04c1158696b3" ], [ "ProgramOptimizations.__proj__GIOp__item___1", @@ -1687,7 +1691,7 @@ "refinement_interpretation_Tm_refine_e8390095c46ad4b4504e93fcb97945ad" ], 0, - "ce858c960359170ce06cf8d0b7a1d4d4" + "9198b85a2b4ba3c1725e1e0c52d7a121" ], [ "ProgramOptimizations.__proj__GIOp__item___2", @@ -1701,7 +1705,7 @@ "refinement_interpretation_Tm_refine_e8390095c46ad4b4504e93fcb97945ad" ], 0, - "0bea8a3ff1d5e046e85e43648b3752c8" + "deafe1a474dc56ba7900ae9507836ced" ], [ "ProgramOptimizations.rel_exp", @@ -1714,7 +1718,7 @@ "assumption_ProgramOptimizations.r_op__uu___haseq" ], 0, - "b6c4d8461854fd533e416f29994d6321" + "52e39740c9f7971d6896c5ca5ef265ae" ], [ "ProgramOptimizations.__proj__RROp__item___0", @@ -1728,7 +1732,7 @@ "refinement_interpretation_Tm_refine_d829131e15517bf17222eb552e4b583d" ], 0, - "3e8f9551159a919391d1cf60d5bfa20b" + "b395a970f8fb2bc46cc51ea8fe32f3d5" ], [ "ProgramOptimizations.__proj__RROp__item___1", @@ -1742,7 +1746,7 @@ "refinement_interpretation_Tm_refine_d829131e15517bf17222eb552e4b583d" ], 0, - "3792046681db7d9d70ff80a8066b0aad" + "66c96b59b00036db3bf5a183f97aef80" ], [ "ProgramOptimizations.__proj__RROp__item___2", @@ -1756,7 +1760,7 @@ "refinement_interpretation_Tm_refine_d829131e15517bf17222eb552e4b583d" ], 0, - "87a9ca25ae02ffb64478a69643c95272" + "594c6470f52e1da2a2a86f704b8c18fe" ], [ "ProgramOptimizations.__proj__RBOp__item___0", @@ -1770,7 +1774,7 @@ "refinement_interpretation_Tm_refine_0a3a4050a2d640427d05fa88e3d033cf" ], 0, - "f4ebef78205e7b32fa037c7dbf204d99" + "8ccb35f734f5f01f6cffedd91c0ab399" ], [ "ProgramOptimizations.__proj__RBOp__item___1", @@ -1784,7 +1788,7 @@ "refinement_interpretation_Tm_refine_0a3a4050a2d640427d05fa88e3d033cf" ], 0, - "d56a871b08688f1146ad8fb10b8b65ef" + "9f6071863137e842d67ba332cd8f9258" ], [ "ProgramOptimizations.__proj__RBOp__item___2", @@ -1798,7 +1802,7 @@ "refinement_interpretation_Tm_refine_0a3a4050a2d640427d05fa88e3d033cf" ], 0, - "aa06678a404d43443af09933ba133a25" + "16ffa8960e41de788502b793fb63d3df" ], [ "ProgramOptimizations.__proj__RNot__item___0", @@ -1812,7 +1816,7 @@ "refinement_interpretation_Tm_refine_18c04c0e3da4d915a0f616009fbb557d" ], 0, - "ab0288091cafffc5218b0d7e53cdc82b" + "2846805bb9e2e28ab65fabcc85863e68" ], [ "ProgramOptimizations.g_exp_denotation", @@ -1833,7 +1837,7 @@ "subterm_ordering_ProgramOptimizations.GIOp" ], 0, - "246a7c2b4ed74a595abb4558e0789bd9" + "90914ee6cf191312d963cc59a7901a5c" ], [ "ProgramOptimizations.rel_exp_denotation", @@ -1860,7 +1864,7 @@ "subterm_ordering_ProgramOptimizations.RNot" ], 0, - "f45dac455b887901a63954ed204663db" + "7374e05ef13cb1d8a7774c7a43cec6d4" ] ] ] \ No newline at end of file diff --git a/examples/rel/RandomTapes.fst.hints b/examples/rel/RandomTapes.fst.hints index eecb85ff105..20a7fc74fde 100644 --- a/examples/rel/RandomTapes.fst.hints +++ b/examples/rel/RandomTapes.fst.hints @@ -12,10 +12,10 @@ "equation_Bijection.bijection", "equation_Bijection.injection", "equation_Bijection.surjection", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" ], 0, - "c83ee115873026e44202a67f07e98f6a" + "08d4c557a3e10cda29c582d85b2e753d" ], [ "RandomTapes.add", @@ -37,7 +37,7 @@ "token_correspondence_RandomTapes.minus" ], 0, - "7124c83d5a5aa2ff93c1b7ece920cc39" + "4ab83656df4c1bd81d56e87bd947daad" ], [ "RandomTapes.otp_eq", @@ -57,7 +57,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_a4d58150162363e254d4badae476cf49", + "refinement_interpretation_Tm_refine_7652310343f5e61aeeb391d6ef043a76", "token_correspondence_Prims.op_Addition", "token_correspondence_RandomTapes.otp", "token_correspondence_RandomTapes.otp_rand", @@ -65,7 +65,7 @@ "token_correspondence_Rel.__proj__R__item__r" ], 0, - "041c3dace3e8a9cfdc1da33874b99fc7" + "27e36aa882d3456600c31c278d3fdbb0" ], [ "RandomTapes.otp2_eq", @@ -87,7 +87,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple5__4", "projection_inverse_FStar.Pervasives.Native.Mktuple5__5", "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_a4d58150162363e254d4badae476cf49", + "refinement_interpretation_Tm_refine_7652310343f5e61aeeb391d6ef043a76", "token_correspondence_Prims.op_Addition", "token_correspondence_RandomTapes.otp2", "token_correspondence_RandomTapes.otp2_rand", @@ -95,7 +95,7 @@ "token_correspondence_Rel.__proj__R__item__r" ], 0, - "3f487ce389d7927838e80be747e40041" + "ca48d90e6359fa33a799de15c70faac2" ], [ "RandomTapes.id", @@ -108,10 +108,10 @@ "equation_Bijection.bijection", "equation_Bijection.injection", "equation_Bijection.surjection", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" ], 0, - "e4b02ce1c681f3cb6dde15528707094f" + "daa352a7d42638fce57d1a32240fd16f" ], [ "RandomTapes.add", @@ -133,7 +133,7 @@ "token_correspondence_RandomTapes.minus" ], 0, - "aab9164785cf914b58fc810ea863e528" + "d8568d9371f6970a0282d2040387b032" ] ] ] \ No newline at end of file diff --git a/examples/rel/Recursive.fst.hints b/examples/rel/Recursive.fst.hints index 4627ea0137e..9183d773202 100644 --- a/examples/rel/Recursive.fst.hints +++ b/examples/rel/Recursive.fst.hints @@ -8,17 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "e94fd4a47c9197446efdd883625b97b9" + "0d6aeb3611befee7197c7fe5380b1a41" ], [ "Recursive.fac_mon", @@ -30,8 +28,8 @@ "@fuel_correspondence_Recursive.fac.fuel_instrumented", "@fuel_irrelevance_Recursive.fac.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", "equation_with_fuel_Recursive.fac.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", @@ -42,12 +40,12 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_b6f35ce75f1749b3ce52a367ddcd9fb3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2109a9cb7598c32b2a6dc17a8260aba2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Recursive.fac", "well-founded-ordering-on-nat" ], 0, - "56138ce578d7745e58f4713a06c7924c" + "2394d3caccafa0325ed67d52ca407641" ], [ "Recursive.fac_sum", @@ -59,11 +57,11 @@ "@fuel_correspondence_Recursive.fac.fuel_instrumented", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Recursive.fac" ], 0, - "5ae55f22a30143fca56dc77ddd47d28e" + "bee05c98b923adfe71b28023fdf09441" ], [ "Recursive.fac_sum_mon", @@ -76,7 +74,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3d7038e0aae8ce2be6dcdfa3aed0fa77" + "e70ff15fa43807873930fd9c171dba92" ], [ "Recursive.fac", @@ -85,17 +83,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "4eeb76ba0b9c2207453ec1e47df558f0" + "1f600cf7185bd64f737b3d0324b05a79" ], [ "Recursive.fac_sum", @@ -107,11 +103,11 @@ "@fuel_correspondence_Recursive.fac.fuel_instrumented", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Recursive.fac" ], 0, - "d78679ea347f24422c783a2717d7802d" + "3b16fdd91734f06efd99a567e2dd1851" ] ] ] \ No newline at end of file diff --git a/examples/rel/ReifyLong.fst.hints b/examples/rel/ReifyLong.fst.hints index 27638240388..149f481f026 100644 --- a/examples/rel/ReifyLong.fst.hints +++ b/examples/rel/ReifyLong.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "95d40b19b1f463d1683a3537e656731c" + "70ccbf36a22cadacfba59dbe32f941f8" ], [ "ReifyLong.bidule", @@ -21,14 +21,14 @@ "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.DM4F.IntStoreFixed.write", "equation_FStar.Pervasives.Native.fst", "equation_ReifyLong.p1", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", + "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", + "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "unit_typing" ], 0, - "f976c2126d6039892bf284ba64a9da55" + "68fe1ccdad60ead79cbf0cdb48fd1747" ], [ "ReifyLong.is_x", @@ -37,7 +37,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "58e4347f708699cbddde659eb5d62628" + "3a0d872e9d44c7a6bb4394f1021768a9" ] ] ] \ No newline at end of file diff --git a/examples/rel/Rel.fst.hints b/examples/rel/Rel.fst.hints index 79e0808aae8..d0b2cd92da0 100644 --- a/examples/rel/Rel.fst.hints +++ b/examples/rel/Rel.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "67cdf12d06607ef762f53a0d3426cbff" + "9c92b8a82f08abb7ad9cde81be948a34" ], [ "Rel.rel", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "e5f087401e77e9345358e7575fcb97e6" + "4fbb8b9a99926420a1bd5490aa79be24" ] ] ] \ No newline at end of file diff --git a/examples/rel/StRel.fst.hints b/examples/rel/StRel.fst.hints index 6c910ff0fdc..328ba59d7cd 100644 --- a/examples/rel/StRel.fst.hints +++ b/examples/rel/StRel.fst.hints @@ -26,7 +26,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "f4d33883473a948088103d1a30de5b41" + "2e1ee77946b8d59494942e37f8f9d57f" ], [ "StRel.f2", @@ -44,7 +44,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "4c4057a8cb6b55f6d88a3df69cdec113" + "7638fdb22e9eb79113d8816ca535052d" ], [ "StRel.f1_ni", @@ -65,7 +65,7 @@ "token_correspondence_StRel.f1_hp" ], 0, - "b7104282eb3c244f85eead5f2cf4f88c" + "094878bc4086a953082f3968a4c64603" ], [ "StRel.f2_ni", @@ -85,7 +85,7 @@ "token_correspondence_StRel.f2_hp" ], 0, - "47784777d9e328bc1c747c106ca6f3d1" + "22e940546e6c2824ed111883228868e3" ] ] ] \ No newline at end of file diff --git a/examples/rel/Swap.fst.hints b/examples/rel/Swap.fst.hints index 6a433335695..5d80f907cb2 100644 --- a/examples/rel/Swap.fst.hints +++ b/examples/rel/Swap.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cd8a9236a99b75abe6d42e48b0b3dcf0" + "8ea4b30d9f41e548ca71415ae160f043" ], [ "Swap.heap_equiv_on", @@ -23,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e3b9ac3b17fa087142bcc497a1448812" + "708099269f6462761f13c4a9b1e1dc2b" ], [ "Swap.seq'", @@ -36,7 +36,7 @@ 0, [ "@query" ], 0, - "3a2bf8d0a3b69999eef21b0e061dbcb7" + "7ac63c2891ee176eda06f9a557137930" ], [ "Swap.seq'_lem", @@ -45,28 +45,26 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Swap.addr_set", "equation_Swap.cmd", - "equation_Swap.command", "equation_Swap.footprint", - "equation_Swap.fp_body", "equation_Swap.heap_equiv_on", - "equation_Swap.no_alloc", "equation_Swap.seq_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Swap.footprint", "equation_Swap.fp_body", + "equation_Swap.heap_equiv_on", "equation_Swap.no_alloc", + "equation_Swap.seq_", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0824ffa0e4317f41dc8da00682b8f3c0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_cc1e5b0deb40b7cfe7b4c18e59b44ae9", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Swap.seq_", "typing_FStar.DM4F.Heap.addr_of", "typing_FStar.Set.mem", "typing_FStar.Set.union", "unit_inversion", "unit_typing" ], 0, - "ea272f92de9c4be9c9596236321bfcb9" + "62353878f58df6c928d1cc37f35e4416" ], [ "Swap.op_Greater_Greater", @@ -74,16 +72,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "90a541e43c03b5fcbd3c2b687875cc1a" + "9cd6c7a9d2a7d0dc43b9b903d8597553" ], [ "Swap.swap", @@ -92,27 +87,25 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Swap.addr_set", "equation_Swap.cmd", - "equation_Swap.command", "equation_Swap.equiv", - "equation_Swap.equiv_on_h", "equation_Swap.footprint", - "equation_Swap.fp_body", "equation_Swap.heap_eq", - "equation_Swap.heap_equiv_on", "equation_Swap.no_alloc", - "equation_Swap.op_Greater_Greater", "equation_Swap.seq_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Swap.equiv", "equation_Swap.equiv_on_h", + "equation_Swap.footprint", "equation_Swap.fp_body", + "equation_Swap.heap_eq", "equation_Swap.heap_equiv_on", + "equation_Swap.no_alloc", "equation_Swap.op_Greater_Greater", + "equation_Swap.seq_", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.disjoint_not_in_both", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0824ffa0e4317f41dc8da00682b8f3c0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_cc1e5b0deb40b7cfe7b4c18e59b44ae9", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Swap.seq_", "typing_FStar.DM4F.Heap.addr_of", "typing_Swap.op_Greater_Greater", "unit_typing" ], 0, - "93c91ffff663b2d958f45856eb52244a" + "e963829ac51b23cd2615712136467f02" ], [ "Swap.idem", @@ -121,27 +114,25 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Swap.addr_set", "equation_Swap.cmd", - "equation_Swap.command", "equation_Swap.equiv", - "equation_Swap.equiv_on_h", "equation_Swap.footprint", - "equation_Swap.fp_body", "equation_Swap.heap_eq", - "equation_Swap.heap_equiv_on", "equation_Swap.no_alloc", - "equation_Swap.op_Greater_Greater", "equation_Swap.seq_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Swap.equiv", "equation_Swap.equiv_on_h", + "equation_Swap.footprint", "equation_Swap.fp_body", + "equation_Swap.heap_eq", "equation_Swap.heap_equiv_on", + "equation_Swap.no_alloc", "equation_Swap.op_Greater_Greater", + "equation_Swap.seq_", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.disjoint_not_in_both", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0824ffa0e4317f41dc8da00682b8f3c0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_cc1e5b0deb40b7cfe7b4c18e59b44ae9", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Swap.seq_", "typing_FStar.DM4F.Heap.addr_of", "typing_Swap.op_Greater_Greater", "unit_typing" ], 0, - "56b85568f45ba6843a563a81921f526b" + "e7cc1e06af7c2dc48639775155c10dbf" ], [ "Swap.cond", @@ -150,7 +141,7 @@ 0, [ "@query" ], 0, - "e18896ef8977b580e3d3a2c837ae8bc5" + "3f032441133fb3da70b281697a86121b" ], [ "Swap.lemma_replace_cond", @@ -171,7 +162,7 @@ "token_correspondence_Swap.cond", "unit_typing" ], 0, - "87464cfbe0e247f0da573b0447e02f3b" + "98c21da3e23e80099491f2b83a579735" ], [ "Swap.lemma_skip_c1", @@ -180,28 +171,26 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.DM4F.Heap.modifies", "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Swap.addr_set", "equation_Swap.cmd", - "equation_Swap.command", "equation_Swap.equiv", + "equation_Swap.addr_set", "equation_Swap.cmd", "equation_Swap.equiv", "equation_Swap.equiv_on_h", "equation_Swap.footprint", "equation_Swap.fp_body", "equation_Swap.heap_eq", "equation_Swap.heap_equiv_on", "equation_Swap.no_alloc", "equation_Swap.op_Greater_Greater", "equation_Swap.seq_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.disjoint_not_in_both", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0824ffa0e4317f41dc8da00682b8f3c0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_cc1e5b0deb40b7cfe7b4c18e59b44ae9", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Swap.seq_", "typing_FStar.DM4F.Heap.addr_of", "typing_Swap.op_Greater_Greater", "unit_typing" ], 0, - "794e653bbfded2b94fd133e829d976ea" + "f161e1cba649092bff7d25f30082aa44" ], [ "Swap.swap_old", @@ -209,16 +198,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "17c4d9b72da330add44075c876a67777" + "e4ac95568ff1c58c618c29cde5a4cddc" ], [ "Swap.swap_old", @@ -227,22 +213,21 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Swap.addr_set", "equation_Swap.footprint2", "equation_Swap.heap_eq", "equation_Swap.heap_equiv_on", "equation_Swap.no_alloc", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.disjoint_not_in_both", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.addr_of" ], 0, - "74b2769b2e94eb8b2688d3fbe1211d1b" + "2e39ad95fed44cf3fc18a26eb0ca8b1d" ], [ "Swap.idem_old", @@ -251,22 +236,21 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.DM4F.Heap.modifies", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Swap.addr_set", "equation_Swap.footprint2", "equation_Swap.heap_eq", "equation_Swap.heap_equiv_on", "equation_Swap.no_alloc", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.disjoint_not_in_both", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.DM4F.Heap.addr_of", "unit_typing" ], 0, - "e9417b452aca2cca18ceb85c5054e43a" + "bc4849e4018b6688b445006ebbf78064" ], [ "Swap.addr_set", @@ -276,11 +260,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cf2a9a06ba51c090a77dd6b628a58ada" + "5db9e4ce8f1d7989ef52604c6f5ae048" ], [ "Swap.heap_equiv_on", @@ -290,11 +274,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6cb98b39e53c20e2703dee44a176562a" + "e8e40d916f81668af5c200d279809dd7" ], [ "Swap.seq'", @@ -303,7 +287,7 @@ 0, [ "@query" ], 0, - "e13a6aa7b9d7f1b3e4f4100099c7b169" + "abfcb365af20902fd12ace49e333fe33" ], [ "Swap.seq'_lem", @@ -311,16 +295,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2c4cf58d5c004872d2cdf793701428bb" + "f49e8bdbbff839b5ed1748e92428f12d" ], [ "Swap.op_Greater_Greater", @@ -328,16 +309,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bc8d92dcf8dcf38685076142be98981b" + "7e93e7624c8487a226b9f11d0e3b17f3" ], [ "Swap.op_Greater_Greater", @@ -345,16 +323,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c704334b389d5bc2b0381a776a7c1391" + "043d4ff672ef5c1910321e62ace4e7a6" ], [ "Swap.swap", @@ -362,16 +337,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0027c0cf8ab3439b3a1fcb36f0d051af" + "6836716766b69dc32c5b1dc2c96b74be" ], [ "Swap.idem", @@ -379,16 +351,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eace322f75aaf61aae086444517557a1" + "efef84b2c19fec77cf5252d19bcd8092" ], [ "Swap.cond", @@ -397,7 +366,7 @@ 0, [ "@query" ], 0, - "9450c8fb5d196c704a94351b450217df" + "f4ad3a168d5f141355d327e60ddcf1a2" ], [ "Swap.lemma_skip_c1", @@ -405,16 +374,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7beb11184945b46ad325d000c6b61fbe" + "dcec53d035ab5dc8d62ccc515148129e" ], [ "Swap.swap_old", @@ -422,16 +388,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a089b7e0c9d2f24de1cfe274bf52bba1" + "af331815eb23e2ee034bfaafd57d0b04" ], [ "Swap.idem_old", @@ -439,16 +402,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0d90514383d300f1ba6e36e84a3a61c2" + "20af9b2585e2f5ac1ff0d426a3e3ae2c" ] ] ] \ No newline at end of file diff --git a/examples/rel/UnionFind.Forest.fst.hints b/examples/rel/UnionFind.Forest.fst.hints index a0c91dd29d8..cba642d44c3 100644 --- a/examples/rel/UnionFind.Forest.fst.hints +++ b/examples/rel/UnionFind.Forest.fst.hints @@ -8,20 +8,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "7decf69a55f1a9889c3ac5aee95ee1a5" + "befd15529eea6597e0e3ec7a2d8898a3" ], [ "UnionFind.Forest.set_n", @@ -31,24 +28,24 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "well-founded-ordering-on-nat" ], 0, - "f53b5fb0e8890396519e448b266d11de" + "167644568a0879006ee67abf46557bce" ], [ "UnionFind.Forest.uf_forest", @@ -58,11 +55,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4ce5a366cbeff7fc3deb7dccc5fc2cb2" + "c7fc255eb0257161d56f63a81e55a73b" ], [ "UnionFind.Forest.live", @@ -70,22 +67,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "c0695fc20acb787379ee26d70607f350" + "784e5479d3fd6767123bba9bb23e0772" ], [ "UnionFind.Forest.get", @@ -105,7 +99,7 @@ "typing_UnionFind.Forest.elt" ], 0, - "5639e1d70eafbc70af57f16fe1aced01" + "c9b302cd99165649d819cd055dd0d765" ], [ "UnionFind.Forest.set", @@ -127,7 +121,7 @@ "typing_UnionFind.Forest.elt", "unit_typing" ], 0, - "129b13b6db76cc13a68feffa4e526c07" + "676841607305efee100ece7f2c710b6b" ], [ "UnionFind.Forest.subtree_t", @@ -136,20 +130,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "0f44642a66672bef14e37cdb60f4eb53" + "19889075129ebf5f00f35f76acfdc8a7" ], [ "UnionFind.Forest.set_n", @@ -159,24 +150,24 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "well-founded-ordering-on-nat" ], 0, - "493e184cb7d9aa2c7247c4d81dad4e00" + "8e3356fab367b6c38101426025c1ac5e" ], [ "UnionFind.Forest.uf_forest", @@ -186,11 +177,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b1d43a4004181a75f673084334c906dc" + "60c6e5e31cec52f55452a01b6c28f435" ], [ "UnionFind.Forest.live", @@ -198,22 +189,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "a682f6bb59853c14d4123491d9a3b442" + "42211305d32479d566a78016b54f8237" ], [ "UnionFind.Forest.get", @@ -233,7 +221,7 @@ "typing_UnionFind.Forest.elt" ], 0, - "af40077ea870a5adeefc3d3c39ebc98a" + "7c5d444b7bf3678f90c113667ad8bd55" ], [ "UnionFind.Forest.get", @@ -246,7 +234,7 @@ "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "37babad7917362a4a70c7a56dab28e44" + "fbbb443ed24dbe18b4ef52497940dfac" ], [ "UnionFind.Forest.set", @@ -268,7 +256,7 @@ "typing_UnionFind.Forest.elt", "unit_typing" ], 0, - "917e9f263f543d294177190ef7d7649c" + "c0cc4c7cab5ee6bcc36dd6b64c66f90b" ], [ "UnionFind.Forest.set", @@ -281,7 +269,7 @@ "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "16cfc688281172462d742dbae654ed6f" + "0dea74a83b222fbd9ec4f5de3b91dd64" ] ] ] \ No newline at end of file diff --git a/examples/rel/UnionFind.Functions.fst.hints b/examples/rel/UnionFind.Functions.fst.hints index 2ed69c46ce0..81a26e59526 100644 --- a/examples/rel/UnionFind.Functions.fst.hints +++ b/examples/rel/UnionFind.Functions.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "6e98b53063ef98bfa308facb61b0c495" + "c36a88c42a3fbffca0d3dc8901fbb7f9" ], [ "UnionFind.Functions.height", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "02573649608227e86ae459cd1fbd7772" + "54f2518f0a216831abb6c886dc38b649" ], [ "UnionFind.Functions.subtree", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "184c07e59d490dd61b7a1f82f29b3d92" + "fb9a0fce0eff7cfaf44342d7b3a3a90a" ], [ "UnionFind.Functions.well_formed", @@ -47,21 +47,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.id", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "eee0de0c0c64e7a3bfa532159624176a" + "c0c04f0ad6ca6db17f1e0eb98429750f" ], [ "UnionFind.Functions.diff", @@ -70,20 +68,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "8ebeb483b6466607701328b581970dae" + "b1c127d54f388ac7e671dcf7a4c6b2da" ], [ "UnionFind.Functions.find", @@ -91,21 +86,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "e4d48e63d1f5ceb0a2548a9e26e7651a" + "4490d27f7b9189a37dfea21a0c45ec96" ], [ "UnionFind.Functions.find", @@ -116,12 +109,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_UnionFind.Forest.set_n.fuel_instrumented", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_4d11e6bf0761cdfe82b6309ef0dd5d59_1", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "binder_x_9fb225dd23012a31a4f6e7f699e4988d_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_2", "bool_inversion", "bool_typing", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", @@ -131,25 +122,27 @@ "equation_UnionFind.Functions.diff", "equation_UnionFind.Functions.well_formed", "equation_with_fuel_UnionFind.Forest.set_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "lemma_FStar.OrdSet.lemma_strict_subset_minus_size", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.Ghost.erased", "typing_FStar.Ghost.reveal", @@ -161,7 +154,7 @@ "well-founded-ordering-on-nat" ], 0, - "0d9604c7278b8a88999320e49a7ef5cd" + "d3c588ea8b1d761e9889f45812726f78" ], [ "UnionFind.Functions.find_opt", @@ -170,24 +163,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "2246ca5460094bc4bc5285d39edc3b34" + "c0d2892b3c007d077a6420c6bd6771ac" ], [ "UnionFind.Functions.find_opt", @@ -198,13 +189,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_UnionFind.Forest.set_n.fuel_instrumented", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_70a52c6db0f4051196ef25c73ee29697", - "FStar.DM4F.Heap_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_4d11e6bf0761cdfe82b6309ef0dd5d59_1", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "FStar.DM4F.Heap_interpretation_Tm_ghost_arrow_535b38975b72732540270e219fc3b993", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "binder_x_9fb225dd23012a31a4f6e7f699e4988d_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_2", "bool_inversion", "bool_typing", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", @@ -218,11 +207,10 @@ "equation_with_fuel_UnionFind.Forest.set_n.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "function_token_typing_FStar.DM4F.Heap.sel", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "lemma_FStar.DM4F.Heap.sel_same_addr_of", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", @@ -231,18 +219,21 @@ "lemma_FStar.OrdSet.lemma_strict_subset_size", "lemma_FStar.OrdSet.lemma_strict_subset_transitive", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.Ghost.erased", "typing_FStar.Ghost.reveal", @@ -256,7 +247,7 @@ "well-founded-ordering-on-nat" ], 0, - "ae3c8d223889a064193a2b2496ab2441" + "99f63ec238800da1f343e182b8129404" ], [ "UnionFind.Functions.well_formed_decreases_lemma", @@ -265,10 +256,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "data_elim_FStar.Pervasives.Native.Mktuple3", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_typing", "data_elim_FStar.Pervasives.Native.Mktuple3", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.elt", "equation_UnionFind.Forest.id", @@ -277,22 +266,24 @@ "equation_UnionFind.Functions.diff", "equation_UnionFind.Functions.well_formed", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "lemma_FStar.OrdSet.lemma_strict_subset_minus_size", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.Ghost.erased", "typing_FStar.Ghost.reveal", @@ -301,7 +292,7 @@ "typing_UnionFind.Forest.id", "typing_UnionFind.Forest.set_n" ], 0, - "5fc783573a04ad591239c7a9cb9a0d51" + "215d59a0326d123ba73319569f250701" ], [ "UnionFind.Functions.merge", @@ -312,9 +303,11 @@ "@MaxIFuel_assumption", "@fuel_correspondence_UnionFind.Forest.set_n.fuel_instrumented", "@query", - "FStar.DM4F.ST_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", + "FStar.DM4F.ST_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "UnionFind.Functions_interpretation_Tm_arrow_662f79f28855ca077083bc695b31e006", + "UnionFind.Forest_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", + "UnionFind.Functions_interpretation_Tm_arrow_f5529d02374000b020f0423d4000bb9c", "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", @@ -327,10 +320,10 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "function_token_typing_FStar.OrdSet.union", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "lemma_FStar.OrdSet.lemma_disjoint_union_subset", @@ -339,20 +332,24 @@ "lemma_FStar.OrdSet.lemma_strict_subset_transitive", "lemma_FStar.OrdSet.lemma_subset_union", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.union_comm", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.OrdSet.size_empty", "lemma_FStar.OrdSet.union_comm", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_65376b005b48d052de6715eb5c94f188", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f942b1f603501187cd069cabad317d70", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.erased", @@ -364,7 +361,7 @@ "typing_UnionFind.Forest.id", "typing_UnionFind.Forest.set_n" ], 0, - "88c38703ef63517b7427e863f48d06ea" + "ee17ce84dc48d10a5144fcde40257dce" ], [ "UnionFind.Functions.merge_opt", @@ -376,9 +373,11 @@ "@fuel_correspondence_UnionFind.Forest.set_n.fuel_instrumented", "@fuel_irrelevance_UnionFind.Forest.set_n.fuel_instrumented", "@query", - "FStar.DM4F.ST_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", + "FStar.DM4F.ST_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "UnionFind.Functions_interpretation_Tm_arrow_662f79f28855ca077083bc695b31e006", + "UnionFind.Forest_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", + "UnionFind.Functions_interpretation_Tm_arrow_f5529d02374000b020f0423d4000bb9c", "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", @@ -392,12 +391,12 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "function_token_typing_FStar.OrdSet.union", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "lemma_FStar.DM4F.Heap.sel_same_addr_of", - "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "int_typing", "lemma_FStar.DM4F.Heap.sel_upd1", + "lemma_FStar.DM4F.Heap.sel_upd2", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "lemma_FStar.OrdSet.lemma_disjoint_union_subset", "lemma_FStar.OrdSet.lemma_intersect_symmetric", @@ -406,22 +405,26 @@ "lemma_FStar.OrdSet.lemma_subset_union", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.union_comm", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.OrdSet.size_empty", "lemma_FStar.OrdSet.union_comm", + "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", + "primitive_tot_fun_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_UnionFind.Forest.set_n.fuel_instrumented", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", @@ -435,7 +438,7 @@ "typing_UnionFind.Forest.id", "typing_UnionFind.Forest.set_n" ], 0, - "8463787fb3e51cc2d119a429becb8cab" + "c919c82ac40bb841212fdb9f9b723380" ], [ "UnionFind.Functions.parent", @@ -448,7 +451,7 @@ "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "2d2720669af704acfa4f8eb8286044de" + "325786516edf8ff1c9a3d13eeabb57e2" ], [ "UnionFind.Functions.height", @@ -461,7 +464,7 @@ "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "5779180d56319ca146f1e9e716e7cb10" + "24de6fc795f04da51029a23f0faa5b2f" ], [ "UnionFind.Functions.subtree", @@ -474,7 +477,7 @@ "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "c3ca7cf4a56858f02eece2d52649b29f" + "03420482abc42b13ecf08bead5b65f82" ], [ "UnionFind.Functions.well_formed", @@ -483,21 +486,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.id", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "b3836e68c62462219cd08121d9e9de95" + "ca8ce87a98dde2a0dfb2a53dffddf237" ], [ "UnionFind.Functions.diff", @@ -506,20 +507,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "94701c1ae3be2fcd629d296936664a2a" + "2ae88d159066346e2974f97c12fbe1de" ], [ "UnionFind.Functions.find", @@ -527,21 +525,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "f0e51bcff2eccc0e64a317f716bbd8ab" + "d6d6c8991e2650ab936cd8a8784e443f" ], [ "UnionFind.Functions.find", @@ -552,12 +548,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_UnionFind.Forest.set_n.fuel_instrumented", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_4d11e6bf0761cdfe82b6309ef0dd5d59_1", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "binder_x_9fb225dd23012a31a4f6e7f699e4988d_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_2", "bool_inversion", "bool_typing", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", @@ -567,25 +561,27 @@ "equation_UnionFind.Functions.diff", "equation_UnionFind.Functions.well_formed", "equation_with_fuel_UnionFind.Forest.set_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "lemma_FStar.OrdSet.lemma_strict_subset_minus_size", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.Ghost.erased", "typing_FStar.Ghost.reveal", @@ -597,7 +593,7 @@ "well-founded-ordering-on-nat" ], 0, - "6494d1fa9835ee2eb0ecf5b02bf09655" + "b82bd66f0d4668dc9d066fa9aedebe93" ], [ "UnionFind.Functions.find_opt", @@ -606,24 +602,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "3c7de81676328c85a3c8fa721a766a43" + "3d39e395a5632a2aeff0d9fb618fc4ad" ], [ "UnionFind.Functions.find_opt", @@ -634,13 +628,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_UnionFind.Forest.set_n.fuel_instrumented", "@query", - "FStar.DM4F.Heap_interpretation_Tm_arrow_70a52c6db0f4051196ef25c73ee29697", - "FStar.DM4F.Heap_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_4d11e6bf0761cdfe82b6309ef0dd5d59_1", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "FStar.DM4F.Heap_interpretation_Tm_ghost_arrow_535b38975b72732540270e219fc3b993", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "binder_x_9fb225dd23012a31a4f6e7f699e4988d_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_2", "bool_inversion", "bool_typing", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", @@ -654,11 +646,10 @@ "equation_with_fuel_UnionFind.Forest.set_n.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "function_token_typing_FStar.DM4F.Heap.sel", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "lemma_FStar.DM4F.Heap.sel_same_addr_of", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", @@ -667,18 +658,21 @@ "lemma_FStar.OrdSet.lemma_strict_subset_size", "lemma_FStar.OrdSet.lemma_strict_subset_transitive", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.Ghost.erased", "typing_FStar.Ghost.reveal", @@ -692,7 +686,7 @@ "well-founded-ordering-on-nat" ], 0, - "cb10e80dd084de5ddc306eb35958e196" + "9881f6eb9e4f0e642194d8744ca75d85" ], [ "UnionFind.Functions.well_formed_decreases_lemma", @@ -700,22 +694,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "bf97f225c67c5ea409febc585d5fe028" + "17f0ab4847197478e91209c32db0b9a6" ], [ "UnionFind.Functions.merge", @@ -726,9 +717,11 @@ "@MaxIFuel_assumption", "@fuel_correspondence_UnionFind.Forest.set_n.fuel_instrumented", "@query", - "FStar.DM4F.ST_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", + "FStar.DM4F.ST_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "UnionFind.Functions_interpretation_Tm_arrow_662f79f28855ca077083bc695b31e006", + "UnionFind.Forest_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", + "UnionFind.Functions_interpretation_Tm_arrow_f5529d02374000b020f0423d4000bb9c", "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", @@ -741,10 +734,10 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "function_token_typing_FStar.OrdSet.union", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "lemma_FStar.OrdSet.lemma_disjoint_union_subset", @@ -753,20 +746,24 @@ "lemma_FStar.OrdSet.lemma_strict_subset_transitive", "lemma_FStar.OrdSet.lemma_subset_union", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.union_comm", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.OrdSet.size_empty", "lemma_FStar.OrdSet.union_comm", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_65376b005b48d052de6715eb5c94f188", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f942b1f603501187cd069cabad317d70", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.Ghost.elift2", "typing_FStar.Ghost.erased", @@ -778,7 +775,7 @@ "typing_UnionFind.Forest.id", "typing_UnionFind.Forest.set_n" ], 0, - "57a8a6e9f889f47bab5a731b289aea1f" + "b520b9c5cf2987bcef6336292df3b72e" ], [ "UnionFind.Functions.merge_opt", @@ -790,9 +787,11 @@ "@fuel_correspondence_UnionFind.Forest.set_n.fuel_instrumented", "@fuel_irrelevance_UnionFind.Forest.set_n.fuel_instrumented", "@query", - "FStar.DM4F.ST_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", + "FStar.DM4F.ST_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "UnionFind.Functions_interpretation_Tm_arrow_662f79f28855ca077083bc695b31e006", + "UnionFind.Forest_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", + "UnionFind.Functions_interpretation_Tm_arrow_f5529d02374000b020f0423d4000bb9c", "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", @@ -806,12 +805,12 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "function_token_typing_FStar.OrdSet.union", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "lemma_FStar.DM4F.Heap.sel_same_addr_of", - "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "int_typing", "lemma_FStar.DM4F.Heap.sel_upd1", + "lemma_FStar.DM4F.Heap.sel_upd2", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "lemma_FStar.OrdSet.lemma_disjoint_union_subset", "lemma_FStar.OrdSet.lemma_intersect_symmetric", @@ -820,22 +819,26 @@ "lemma_FStar.OrdSet.lemma_subset_union", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.union_comm", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.OrdSet.size_empty", "lemma_FStar.OrdSet.union_comm", + "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", + "primitive_tot_fun_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d7a23068c8281d569b86d1ab084ce7a3", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_UnionFind.Forest.set_n.fuel_instrumented", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", @@ -849,7 +852,7 @@ "typing_UnionFind.Forest.id", "typing_UnionFind.Forest.set_n" ], 0, - "02141b9241098a2bf5434c541e2cdf8c" + "cb8163a66a1b59135652de860c0d31e6" ] ] ] \ No newline at end of file diff --git a/examples/rel/UnionFind.fst.hints b/examples/rel/UnionFind.fst.hints index 3b63860345e..d4a3f823120 100644 --- a/examples/rel/UnionFind.fst.hints +++ b/examples/rel/UnionFind.fst.hints @@ -11,34 +11,30 @@ "@fuel_correspondence_UnionFind.Functions.find.fuel_instrumented", "@fuel_irrelevance_UnionFind.Functions.find.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Forest_interpretation_Tm_arrow_c22bdb3bb5df0565008b7c666e565cb5", + "UnionFind.Forest_interpretation_Tm_arrow_94114ee10387cdeef401e2bfc7e27cc5", "equation_Prims.nat", "equation_UnionFind.Forest.elt", "equation_UnionFind.Forest.get", "equation_UnionFind.Forest.id", - "equation_UnionFind.Forest.subtree_t", "equation_UnionFind.Forest.uf_forest", "equation_with_fuel_UnionFind.Functions.find.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_147f4c422caf490e8d6b9515dfc79441", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", - "refinement_interpretation_Tm_refine_9d43960dfbd98148a7aef35f1a87173f", + "refinement_interpretation_Tm_refine_045347825b4b2d03e804eb420d44d021", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_f4e9005607f1e3eda83352eb28b65ffb", "token_correspondence_UnionFind.Functions.find.fuel_instrumented", - "typing_UnionFind.Forest.get", "unit_typing" + "typing_UnionFind.Forest.get" ], 0, - "d8d37bffea593424aae0e3c28f9a3b31" + "a9d9af41abf79dc68f9f2b055f08c130" ], [ "UnionFind.lemma_find_height_independence", @@ -46,25 +42,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", - "equation_UnionFind.Forest.subtree_t", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "refinement_interpretation_Tm_refine_1ee546c30eb04ecc3ff3d77c9843b0e5", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", + "refinement_interpretation_Tm_refine_40fce66e0306424213f5720a66924c94", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "a9503c815bf010506186002528e443fb" + "63c57c7b0a12fd2deeed63fd233a296a" ], [ "UnionFind.lemma_find_height_independence", @@ -76,14 +68,12 @@ "@fuel_correspondence_UnionFind.Functions.find.fuel_instrumented", "@fuel_irrelevance_UnionFind.Functions.find.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Forest_interpretation_Tm_arrow_c22bdb3bb5df0565008b7c666e565cb5", - "binder_x_4d11e6bf0761cdfe82b6309ef0dd5d59_1", - "binder_x_5f4be677d7ab4183f5ba0864e2e20847_3", - "binder_x_5f4be677d7ab4183f5ba0864e2e20847_4", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "UnionFind.Forest_interpretation_Tm_arrow_94114ee10387cdeef401e2bfc7e27cc5", + "binder_x_9fb225dd23012a31a4f6e7f699e4988d_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_e0d03a94976bd43557cf4d5911c000f8_3", + "binder_x_e0d03a94976bd43557cf4d5911c000f8_4", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_2", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.elt", "equation_UnionFind.Forest.get", "equation_UnionFind.Forest.id", @@ -91,39 +81,38 @@ "equation_UnionFind.Forest.uf_forest", "equation_UnionFind.Functions.diff", "equation_with_fuel_UnionFind.Functions.find.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_6fd1b78dff0ca37f7f327f8e0667175f", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_f26bddb72edd764e0186b25f51516044", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_147f4c422caf490e8d6b9515dfc79441", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_045347825b4b2d03e804eb420d44d021", + "refinement_interpretation_Tm_refine_3454f306b62adc882973ca33b970cd28", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_79b8679e2609c5f48750c6a1e885add2", - "refinement_interpretation_Tm_refine_9d43960dfbd98148a7aef35f1a87173f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f4e9005607f1e3eda83352eb28b65ffb", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_UnionFind.Functions.find.fuel_instrumented", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.Ghost.erased", "typing_FStar.Ghost.reveal", "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3", "typing_FStar.Seq.Base.index", "typing_UnionFind.Forest.elt", "typing_UnionFind.Forest.get", "typing_UnionFind.Forest.id", - "typing_UnionFind.Functions.diff", "unit_typing", - "well-founded-ordering-on-nat" + "typing_UnionFind.Functions.diff", "well-founded-ordering-on-nat" ], 0, - "9b890598d55ec9740f1140abcda06889" + "ddd63c14753fbf6417b45741316fa518" ], [ "UnionFind.lemma_find_opt_helper", @@ -136,9 +125,8 @@ "@fuel_irrelevance_UnionFind.Functions.find_opt.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", "FStar.DM4F.Heap.ST.__proj__STATE__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Forest_interpretation_Tm_arrow_c22bdb3bb5df0565008b7c666e565cb5", + "UnionFind.Forest_interpretation_Tm_arrow_94114ee10387cdeef401e2bfc7e27cc5", "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.elt", "equation_UnionFind.Forest.get", @@ -147,16 +135,15 @@ "equation_UnionFind.Forest.subtree_t", "equation_UnionFind.Forest.uf_forest", "equation_with_fuel_UnionFind.Functions.find_opt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_1dfd815f221fc91c74740e6a98037bca", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "interpretation_Tm_abs_35bcd80acacb6d82496254cc9432116c", + "interpretation_Tm_abs_3956dcb22289b54ec1d7aa53012106c7", + "interpretation_Tm_abs_487b9a6200a4bf314d2acf58de7b1956", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "lemma_FStar.DM4F.Heap.lemma_upd_tot_is_upd_if_contains_a_well_typed", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -164,21 +151,22 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_147f4c422caf490e8d6b9515dfc79441", + "refinement_interpretation_Tm_refine_045347825b4b2d03e804eb420d44d021", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4a2fd50bad9adccc36cd1f2da12ca3c9", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6920b9243670ddc3ed6b986d0654fcae", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_UnionFind.Functions.find_opt.fuel_instrumented", "typing_FStar.Ghost.erased", "typing_UnionFind.Forest.elt", "typing_UnionFind.Forest.get", "typing_UnionFind.Forest.id", "unit_typing" ], 0, - "2844708bd377d55c31b46797db5ccb85" + "e971660d3efbea4f3bc91f08c7b80a06" ], [ "UnionFind.lemma_find_find_opt_same_result", @@ -186,24 +174,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", - "equation_UnionFind.Forest.subtree_t", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6e7073b5999cbd69d40014e5797b6f0e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_75a586b0e5e6dc0e37e67212a1d7daac", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "edbe67259d0bc20d85cec6dff1799311" + "168bd062cdfb9133e729ae5f4b2f203d" ], [ "UnionFind.lemma_find_find_opt_same_result", @@ -218,13 +202,11 @@ "@fuel_irrelevance_UnionFind.Functions.find.fuel_instrumented", "@fuel_irrelevance_UnionFind.Functions.find_opt.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Forest_interpretation_Tm_arrow_c22bdb3bb5df0565008b7c666e565cb5", - "binder_x_4d11e6bf0761cdfe82b6309ef0dd5d59_1", - "binder_x_5f4be677d7ab4183f5ba0864e2e20847_3", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "UnionFind.Forest_interpretation_Tm_arrow_94114ee10387cdeef401e2bfc7e27cc5", + "binder_x_9fb225dd23012a31a4f6e7f699e4988d_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_e0d03a94976bd43557cf4d5911c000f8_3", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.elt", @@ -234,14 +216,13 @@ "equation_UnionFind.Functions.diff", "equation_with_fuel_UnionFind.Functions.find.fuel_instrumented", "equation_with_fuel_UnionFind.Functions.find_opt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_1dfd815f221fc91c74740e6a98037bca", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "interpretation_Tm_abs_35bcd80acacb6d82496254cc9432116c", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", @@ -251,25 +232,25 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_147f4c422caf490e8d6b9515dfc79441", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_045347825b4b2d03e804eb420d44d021", + "refinement_interpretation_Tm_refine_3454f306b62adc882973ca33b970cd28", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_79b8679e2609c5f48750c6a1e885add2", - "refinement_interpretation_Tm_refine_9d43960dfbd98148a7aef35f1a87173f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f4e9005607f1e3eda83352eb28b65ffb", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_UnionFind.Functions.find.fuel_instrumented", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.Ghost.erased", "typing_FStar.Ghost.reveal", "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3", "typing_FStar.Seq.Base.index", "typing_UnionFind.Forest.elt", "typing_UnionFind.Forest.get", "typing_UnionFind.Forest.id", - "typing_UnionFind.Functions.diff", "unit_typing", - "well-founded-ordering-on-nat" + "typing_UnionFind.Functions.diff", "well-founded-ordering-on-nat" ], 0, - "a2926cd56bec0540fb1619639a48f092" + "a7585b1c80633e1459cd4096be0e94d0" ], [ "UnionFind.lemma_find_opt_parent_same_as_find_root", @@ -277,26 +258,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", - "equation_UnionFind.Forest.subtree_t", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", + "refinement_interpretation_Tm_refine_131a50c01db767315e7df4a733e1cff2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", - "refinement_interpretation_Tm_refine_9812e88e405e7ef0c2106252330c1ae0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "ae198999d5cc6d6f1fecee855e7bf2fd" + "be046f836735800e6f55a9afd4bea7e1" ], [ "UnionFind.lemma_find_opt_parent_same_as_find_root", @@ -310,14 +287,12 @@ "@fuel_correspondence_UnionFind.Functions.find_opt.fuel_instrumented", "@fuel_irrelevance_UnionFind.Functions.find.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Forest_interpretation_Tm_arrow_c22bdb3bb5df0565008b7c666e565cb5", - "binder_x_4d11e6bf0761cdfe82b6309ef0dd5d59_1", - "binder_x_5f4be677d7ab4183f5ba0864e2e20847_3", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_2", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "UnionFind.Forest_interpretation_Tm_arrow_94114ee10387cdeef401e2bfc7e27cc5", + "binder_x_9fb225dd23012a31a4f6e7f699e4988d_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_e0d03a94976bd43557cf4d5911c000f8_3", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_2", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_4", "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", @@ -329,13 +304,12 @@ "equation_UnionFind.Functions.diff", "equation_with_fuel_UnionFind.Functions.find.fuel_instrumented", "equation_with_fuel_UnionFind.Functions.find_opt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -348,15 +322,16 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_147f4c422caf490e8d6b9515dfc79441", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_045347825b4b2d03e804eb420d44d021", + "refinement_interpretation_Tm_refine_3454f306b62adc882973ca33b970cd28", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4a2fd50bad9adccc36cd1f2da12ca3c9", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_79b8679e2609c5f48750c6a1e885add2", - "refinement_interpretation_Tm_refine_9d43960dfbd98148a7aef35f1a87173f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6920b9243670ddc3ed6b986d0654fcae", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f4e9005607f1e3eda83352eb28b65ffb", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_UnionFind.Functions.find.fuel_instrumented", "token_correspondence_UnionFind.Functions.find_opt.fuel_instrumented", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", @@ -368,7 +343,7 @@ "well-founded-ordering-on-nat" ], 0, - "384c920cfd527a7638757bf94e716ac9" + "32d4651a16d1af26d27b4d8cbda6a485" ], [ "UnionFind.lemma_find_find_opt_equivalence", @@ -376,26 +351,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", - "equation_UnionFind.Forest.subtree_t", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c538e2b32c33bf721fc6e0b3d2f49e8c" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_def6697cfd5f9cd77c3c83a313d0eeaf" ], 0, - "f1887e1ba0e7c38f88cd22fb39a66994" + "7c68dc4198d36ee653cf8115679aeef9" ], [ "UnionFind.lemma_find_find_opt_equivalence", @@ -406,13 +377,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_UnionFind.Functions.find.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Forest_interpretation_Tm_arrow_c22bdb3bb5df0565008b7c666e565cb5", - "binder_x_4d11e6bf0761cdfe82b6309ef0dd5d59_1", - "binder_x_5f4be677d7ab4183f5ba0864e2e20847_3", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "UnionFind.Forest_interpretation_Tm_arrow_94114ee10387cdeef401e2bfc7e27cc5", + "binder_x_9fb225dd23012a31a4f6e7f699e4988d_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_e0d03a94976bd43557cf4d5911c000f8_3", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_4", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.elt", @@ -421,14 +390,13 @@ "equation_UnionFind.Forest.uf_forest", "equation_UnionFind.Functions.diff", "equation_with_fuel_UnionFind.Functions.find.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_6fd1b78dff0ca37f7f327f8e0667175f", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_f26bddb72edd764e0186b25f51516044", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", @@ -439,12 +407,13 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_147f4c422caf490e8d6b9515dfc79441", + "refinement_interpretation_Tm_refine_045347825b4b2d03e804eb420d44d021", + "refinement_interpretation_Tm_refine_3454f306b62adc882973ca33b970cd28", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_79b8679e2609c5f48750c6a1e885add2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Ghost.erased", "typing_FStar.Ghost.reveal", "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3", "typing_UnionFind.Forest.get", "typing_UnionFind.Forest.id", @@ -452,7 +421,7 @@ "well-founded-ordering-on-nat" ], 0, - "48265da49ede93414683f0236706a776" + "6511e9e937c4e75a13120781fb896c16" ], [ "UnionFind.lemma_merge_helper", @@ -463,15 +432,13 @@ "@MaxIFuel_assumption", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", "FStar.DM4F.Heap.ST.__proj__STATE__item__put_equality", - "FStar.DM4F.Heap_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.DM4F.ST_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "FStar.OrdSet_interpretation_Tm_arrow_c3476503b5f5b409b6160049a65209e7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.DM4F.ST_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "FStar.OrdSet_interpretation_Tm_arrow_f3b791bc2f7bdc4ab6fe54aeca307ddb", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Forest_interpretation_Tm_arrow_c04ac841514f2824739f253220258d83", - "UnionFind.Forest_interpretation_Tm_arrow_c22bdb3bb5df0565008b7c666e565cb5", - "UnionFind.Functions_interpretation_Tm_arrow_70096601e1afbefd87ba50e2515d68aa", + "UnionFind.Forest_interpretation_Tm_arrow_0c589910a06fc3cdc50c0be66a8ec99b", + "UnionFind.Forest_interpretation_Tm_arrow_94114ee10387cdeef401e2bfc7e27cc5", + "UnionFind.Functions_interpretation_Tm_arrow_11fc845d70e5548e7c9d4b47126e39f8", "bool_inversion", "bool_typing", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", @@ -486,39 +453,41 @@ "equation_UnionFind.Functions.well_formed", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "function_token_typing_FStar.OrdSet.union", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_62e4c4cab6e0340733e22a2a489428bd", - "interpretation_Tm_abs_652ff2c10e03bc000716cdbef442aeb2", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "interpretation_Tm_abs_3956dcb22289b54ec1d7aa53012106c7", + "interpretation_Tm_abs_487b9a6200a4bf314d2acf58de7b1956", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_59f115b96b458a2442cbd10b27298753", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_f4de2c96d9b11fd34c1080527e7ef83b", "lemma_FStar.DM4F.Heap.lemma_sel_tot_is_sel_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.lemma_upd_tot_is_upd_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_147f4c422caf490e8d6b9515dfc79441", + "refinement_interpretation_Tm_refine_045347825b4b2d03e804eb420d44d021", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", + "refinement_interpretation_Tm_refine_1e1696e1e026f45931536e72e9c9db8a", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", - "refinement_interpretation_Tm_refine_706eb71ffdffbf0e1436ac8f685434c8", - "refinement_interpretation_Tm_refine_85de92141026d0a4b51a537e567e5906", + "refinement_interpretation_Tm_refine_6c2086181309e68535791b76dccaef04", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.DM4F.Heap.upd_tot", "typing_FStar.Ghost.elift2", @@ -531,7 +500,7 @@ "typing_UnionFind.Functions.merge", "unit_inversion", "unit_typing" ], 0, - "c045cdefa022949bd3d01ff7f0ccccd1" + "ebb614700b21cdfdbb25f96c85b35b2b" ], [ "UnionFind.lemma_merge_opt_helper", @@ -543,14 +512,12 @@ "@fuel_correspondence_UnionFind.Functions.find.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", "FStar.DM4F.Heap.ST.__proj__STATE__item__put_equality", - "FStar.DM4F.Heap_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.DM4F.ST_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", - "FStar.OrdSet_interpretation_Tm_arrow_c3476503b5f5b409b6160049a65209e7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.DM4F.ST_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "FStar.OrdSet_interpretation_Tm_arrow_f3b791bc2f7bdc4ab6fe54aeca307ddb", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Forest_interpretation_Tm_arrow_c22bdb3bb5df0565008b7c666e565cb5", - "UnionFind.Functions_interpretation_Tm_arrow_70096601e1afbefd87ba50e2515d68aa", + "UnionFind.Forest_interpretation_Tm_arrow_94114ee10387cdeef401e2bfc7e27cc5", + "UnionFind.Functions_interpretation_Tm_arrow_11fc845d70e5548e7c9d4b47126e39f8", "bool_inversion", "bool_typing", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", @@ -565,18 +532,17 @@ "equation_UnionFind.Functions.well_formed", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "function_token_typing_FStar.OrdSet.union", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "int_typing", - "interpretation_Tm_abs_1a6f6bd84d34a242817215300fb8cb6f", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_4740e49eb8aad97b81e7ae9ffbd40445", - "interpretation_Tm_abs_493a6a2efdc1ba856d2ec47940085959", - "interpretation_Tm_abs_4a8b355e761ea24a09faaa45dbec1b63", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "interpretation_Tm_abs_17e6f7da788d0529ce3f905ba5c87427", + "interpretation_Tm_abs_3956dcb22289b54ec1d7aa53012106c7", + "interpretation_Tm_abs_487b9a6200a4bf314d2acf58de7b1956", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_c62b1705b63acb1bb44e2fa5b4c7fd74", "lemma_FStar.DM4F.Heap.lemma_sel_tot_is_sel_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.lemma_upd_tot_is_upd_if_contains_a_well_typed", "lemma_FStar.DM4F.Heap.sel_same_addr_of", @@ -584,24 +550,27 @@ "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual", + "primitive_tot_fun_Prims.op_LessThanOrEqual.1", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_147f4c422caf490e8d6b9515dfc79441", + "refinement_interpretation_Tm_refine_045347825b4b2d03e804eb420d44d021", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", + "refinement_interpretation_Tm_refine_1e1696e1e026f45931536e72e9c9db8a", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", - "refinement_interpretation_Tm_refine_706eb71ffdffbf0e1436ac8f685434c8", - "refinement_interpretation_Tm_refine_9d43960dfbd98148a7aef35f1a87173f", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f4e9005607f1e3eda83352eb28b65ffb", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_LessThanOrEqual", "token_correspondence_UnionFind.Functions.find.fuel_instrumented", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", @@ -612,10 +581,11 @@ "typing_FStar.Seq.Base.index", "typing_UnionFind.Forest.elt", "typing_UnionFind.Forest.get", "typing_UnionFind.Forest.id", "typing_UnionFind.Forest.set_n", - "typing_UnionFind.Functions.merge_opt", "unit_typing" + "typing_UnionFind.Functions.merge_opt", "unit_inversion", + "unit_typing" ], 0, - "2da66660e8820e5d40ae333155e1b3da" + "898c2ce8c982132f8aad8d00911dc375" ], [ "UnionFind.lemma_merge_height_independence", @@ -626,24 +596,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_UnionFind.Functions.find.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Functions_interpretation_Tm_arrow_70096601e1afbefd87ba50e2515d68aa", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.elt", "equation_UnionFind.Forest.get", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.subtree_t", "equation_UnionFind.Forest.uf_forest", "equation_UnionFind.Functions.merge", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_62e4c4cab6e0340733e22a2a489428bd", - "interpretation_Tm_abs_7118eb129e1e8ce98d9b40c620feff33", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "interpretation_Tm_abs_33ca3e15ccdbf81acba6953928f085d6", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_59f115b96b458a2442cbd10b27298753", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", "lemma_FStar.Ghost.hide_reveal", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__2", @@ -654,24 +621,23 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", - "refinement_interpretation_Tm_refine_706eb71ffdffbf0e1436ac8f685434c8", - "refinement_interpretation_Tm_refine_9d43960dfbd98148a7aef35f1a87173f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f4e9005607f1e3eda83352eb28b65ffb", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_UnionFind.Functions.find.fuel_instrumented", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.Ghost.erased", "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3", "typing_FStar.Seq.Base.index", "typing_UnionFind.Forest.elt", - "typing_UnionFind.Forest.id", "typing_UnionFind.Functions.merge", - "unit_typing" + "typing_UnionFind.Forest.id", "unit_typing" ], 0, - "98f336474022257b57feabefc36a4ca2" + "3522c70ceda52d3f36e278a538c6af67" ], [ "UnionFind.lemma_merge_merge_opt_equivalence_helper_diff", @@ -680,27 +646,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.id", - "equation_UnionFind.Forest.subtree_t", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", + "refinement_interpretation_Tm_refine_264d736bf6519a3451febac4515416b1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bf7cd7f120d42840b5e39ea528a0b9e8", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "unit_typing" ], 0, - "946af6051e08f4f51777530d6c7cc1a1" + "0822669f971f4d7dfd147cceece7b99c" ], [ "UnionFind.lemma_merge_merge_opt_equivalence_helper_diff", @@ -712,13 +675,12 @@ "@fuel_correspondence_UnionFind.Functions.find.fuel_instrumented", "@fuel_irrelevance_UnionFind.Functions.find.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Forest_interpretation_Tm_arrow_c22bdb3bb5df0565008b7c666e565cb5", - "binder_x_4d11e6bf0761cdfe82b6309ef0dd5d59_1", - "binder_x_5f4be677d7ab4183f5ba0864e2e20847_4", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_5", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "UnionFind.Forest_interpretation_Tm_arrow_94114ee10387cdeef401e2bfc7e27cc5", + "binder_x_9fb225dd23012a31a4f6e7f699e4988d_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_e0d03a94976bd43557cf4d5911c000f8_4", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_5", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.elt", @@ -726,14 +688,13 @@ "equation_UnionFind.Forest.subtree_t", "equation_UnionFind.Functions.diff", "equation_with_fuel_UnionFind.Functions.find.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_6fd1b78dff0ca37f7f327f8e0667175f", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_f26bddb72edd764e0186b25f51516044", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", @@ -742,21 +703,22 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_147f4c422caf490e8d6b9515dfc79441", + "refinement_interpretation_Tm_refine_045347825b4b2d03e804eb420d44d021", + "refinement_interpretation_Tm_refine_3454f306b62adc882973ca33b970cd28", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_79b8679e2609c5f48750c6a1e885add2", - "refinement_interpretation_Tm_refine_9d43960dfbd98148a7aef35f1a87173f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_f4e9005607f1e3eda83352eb28b65ffb", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_UnionFind.Functions.find.fuel_instrumented", "typing_FStar.Ghost.erased", "typing_FStar.Ghost.reveal", "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3", "typing_UnionFind.Forest.get", "typing_UnionFind.Forest.id", - "typing_UnionFind.Functions.diff", "unit_typing", + "typing_UnionFind.Functions.diff", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "06f5051cda9c34d06a4fdd9be63fe346" + "54bbdb0b8e59ffef01e1e7f4cd868a86" ], [ "UnionFind.lemma_merge_merge_opt_equivalence_helper_same", @@ -765,27 +727,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.id", - "equation_UnionFind.Forest.subtree_t", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", + "refinement_interpretation_Tm_refine_2d2737829d03f49ec88298ebbf0b26bf", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", - "refinement_interpretation_Tm_refine_ac107bc9dbd3245e845311529ca3cd66", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "unit_typing" ], 0, - "f62af256aa2669ae27be667f0bda5ca4" + "1ca9412e08b5261c5d5f31b8cf669dbb" ], [ "UnionFind.lemma_merge_merge_opt_equivalence_helper_same", @@ -797,15 +756,14 @@ "@fuel_correspondence_UnionFind.Functions.find.fuel_instrumented", "@fuel_irrelevance_UnionFind.Functions.find.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Forest_interpretation_Tm_arrow_c22bdb3bb5df0565008b7c666e565cb5", - "binder_x_4d11e6bf0761cdfe82b6309ef0dd5d59_1", - "binder_x_5f4be677d7ab4183f5ba0864e2e20847_4", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_2", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_3", - "binder_x_db56e96cb93d0199cd65359846e7b6e1_5", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "UnionFind.Forest_interpretation_Tm_arrow_94114ee10387cdeef401e2bfc7e27cc5", + "binder_x_9fb225dd23012a31a4f6e7f699e4988d_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_e0d03a94976bd43557cf4d5911c000f8_4", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_2", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_3", + "binder_x_f3a2fe69dcbe73fa3584b2f379bf0eea_5", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.elt", @@ -815,14 +773,13 @@ "equation_UnionFind.Forest.uf_forest", "equation_UnionFind.Functions.diff", "equation_with_fuel_UnionFind.Functions.find.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", + "function_token_typing_Prims.int", "function_token_typing_UnionFind.Forest.subtree_t", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_6fd1b78dff0ca37f7f327f8e0667175f", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_f26bddb72edd764e0186b25f51516044", "lemma_FStar.DM4F.Heap.lemma_sel_tot_is_sel_if_contains_a_well_typed", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -835,26 +792,27 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_147f4c422caf490e8d6b9515dfc79441", + "refinement_interpretation_Tm_refine_045347825b4b2d03e804eb420d44d021", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_3454f306b62adc882973ca33b970cd28", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_79b8679e2609c5f48750c6a1e885add2", - "refinement_interpretation_Tm_refine_9d43960dfbd98148a7aef35f1a87173f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f4e9005607f1e3eda83352eb28b65ffb", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_UnionFind.Functions.find.fuel_instrumented", "typing_FStar.DM4F.Heap.ref", "typing_FStar.DM4F.Heap.sel", "typing_FStar.Ghost.erased", "typing_FStar.Ghost.reveal", "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___3", "typing_FStar.Seq.Base.index", "typing_UnionFind.Forest.elt", "typing_UnionFind.Forest.get", "typing_UnionFind.Forest.id", - "typing_UnionFind.Functions.diff", "unit_typing", + "typing_UnionFind.Functions.diff", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "242675ce0369408626135c3b31543f29" + "2b6c07e7901fe79f86ac1fbe572a4ad3" ], [ "UnionFind.lemma_merge_merge_opt_equivalence", @@ -865,25 +823,22 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_UnionFind.Functions.find.fuel_instrumented", "@query", "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "UnionFind.Forest_interpretation_Tm_arrow_c22bdb3bb5df0565008b7c666e565cb5", + "UnionFind.Forest_interpretation_Tm_arrow_94114ee10387cdeef401e2bfc7e27cc5", "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.elt", "equation_UnionFind.Forest.get", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.live", - "equation_UnionFind.Forest.subtree_t", "equation_UnionFind.Forest.uf_forest", "equation_UnionFind.Functions.merge", "equation_UnionFind.Functions.merge_opt", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_232c1c56b0ee33f36e69f63bcc467adc", - "interpretation_Tm_abs_4a8b355e761ea24a09faaa45dbec1b63", - "interpretation_Tm_abs_62e4c4cab6e0340733e22a2a489428bd", - "interpretation_Tm_abs_be1f098a73b727536eabaf253dd83852", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", + "interpretation_Tm_abs_59f115b96b458a2442cbd10b27298753", + "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", + "interpretation_Tm_abs_c62b1705b63acb1bb44e2fa5b4c7fd74", "lemma_FStar.DM4F.Heap.lemma_sel_tot_is_sel_if_contains_a_well_typed", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", @@ -893,20 +848,20 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_147f4c422caf490e8d6b9515dfc79441", + "refinement_interpretation_Tm_refine_045347825b4b2d03e804eb420d44d021", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", - "refinement_interpretation_Tm_refine_9d43960dfbd98148a7aef35f1a87173f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_f4e9005607f1e3eda83352eb28b65ffb", "token_correspondence_UnionFind.Functions.find.fuel_instrumented", "typing_UnionFind.Forest.elt", "typing_UnionFind.Forest.get", "unit_inversion", "unit_typing" ], 0, - "85a67b33a0f21eb04a856381de0fdd2f" + "3ceb7fe1a39535a00b759bb110779b85" ], [ "UnionFind.lemma_find_helper", @@ -916,11 +871,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_UnionFind.Forest.uf_forest", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50" ], 0, - "5340a3b7419ccbe96b7541d67cf49f8a" + "cd5fe1f60d78f60cb9d6eb96dff484c3" ], [ "UnionFind.lemma_find_height_independence", @@ -928,23 +883,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "8d8ef965ac8b2cd2ea1c22f0c076d9ff" + "3b784859062e37162fa5225d2f24be4b" ], [ "UnionFind.lemma_find_opt_helper", @@ -952,23 +904,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "c055e78e08a577ceef8c8a697dc11f25" + "bfef953d6ca84bd992e6f49f6c38c935" ], [ "UnionFind.lemma_find_find_opt_same_result", @@ -976,23 +925,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "85a4d315a53e64c9a9118baa7cc38a36" + "023eafee954a377580d9936321cc3f2f" ], [ "UnionFind.lemma_find_opt_parent_same_as_find_root", @@ -1000,24 +946,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "450cc570f01d51c23b04ee021595207d" + "a71b9ae5072cbe291309004f8d8b2f7d" ], [ "UnionFind.lemma_find_find_opt_equivalence", @@ -1025,24 +968,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "9a226bd5043c166feda9b71b94136014" + "f8aaa7d06b299beaa54b434e6b278706" ], [ "UnionFind.lemma_merge_helper", @@ -1051,26 +991,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "fa47527c547001f773b68c4f13b3bbf5" + "dd64bb46aed96bba13a56fc44d721f07" ], [ "UnionFind.lemma_merge_opt_helper", @@ -1079,28 +1017,26 @@ 4, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Prims.op_LessThanOrEqual" ], 0, - "317fe469e6e5c5b5c544c29740af0690" + "b374fcfb798e64becf8eb0fd1b484fc7" ], [ "UnionFind.lemma_merge_height_independence", @@ -1108,20 +1044,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_UnionFind.Forest.id", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ae37068ed5f1dbd935bb235a2f9ac1af" + "c6254fe2ceb5ee947fd6d0229ad16e6f" ], [ "UnionFind.lemma_merge_merge_opt_equivalence_helper_diff", @@ -1130,25 +1063,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "unit_typing" ], 0, - "6d6ffe20da61a5f437b5519c4b1962b6" + "51ce43aa4e5b8094382a3bbf32d48c0b" ], [ "UnionFind.lemma_merge_merge_opt_equivalence_helper_same", @@ -1157,25 +1088,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Prims.eqtype", "equation_Prims.nat", "equation_UnionFind.Forest.id", "equation_UnionFind.Forest.uf_forest", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b9e11f705ac7edee3fdb554505ed9f50", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "unit_typing" ], 0, - "503d111447f4fa890fafb9f22ff54912" + "cd4cd020d414270ed8da3dc9665a9732" ], [ "UnionFind.lemma_merge_merge_opt_equivalence", @@ -1184,22 +1113,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_UnionFind.Forest.id", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_UnionFind.Forest.id", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0b26a49a25aa557ea0f5dfefe2d16b5e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6ce797c4d7ee72530ef1bdb95b2425ba", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "unit_typing" ], 0, - "5af6c1182967bf0ef73db5f9bf680649" + "c13ad33947364073e98c119901308bd6" ] ] ] \ No newline at end of file diff --git a/examples/rel/While.fst.hints b/examples/rel/While.fst.hints index 578abc45800..82c7a778075 100644 --- a/examples/rel/While.fst.hints +++ b/examples/rel/While.fst.hints @@ -12,7 +12,7 @@ "disc_equation_While.Times", "fuel_guarded_inversion_While.binop" ], 0, - "3ab6c999521189cd9566792133ca6976" + "32174ccca5226721d5525044a4851b1b" ], [ "While.__proj__AInt__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_94ebaa80e9cf95cffc242c7914de3c00" ], 0, - "ead065ce50d8e8cbbc82dd2815eb5b1c" + "e423ee6a91943234bd0114eb52a8a180" ], [ "While.__proj__AVar__item___0", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_be67e6dd42460413742cd5885f052b86" ], 0, - "772a197797b919537c2c273d7a3b8885" + "97028a4e6d582e9da19246f05154041f" ], [ "While.__proj__AOp__item___0", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_a075d9df1f5c243dba503141508929bb" ], 0, - "b7df902b8c8d58cd191eabce2059766e" + "6f14548846f05fb3bafe23f38890f0e3" ], [ "While.__proj__AOp__item___1", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_a075d9df1f5c243dba503141508929bb" ], 0, - "2d15088e45241c6f8eab391332a6476d" + "ef6735eb860f95706423c06009165dc1" ], [ "While.__proj__AOp__item___2", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_a075d9df1f5c243dba503141508929bb" ], 0, - "05205503e0049aa366368c558115d54a" + "8e302da492fa387974b23d8d898af3ac" ], [ "While.interpret_exp", @@ -92,7 +92,7 @@ "fuel_guarded_inversion_While.exp", "subterm_ordering_While.AOp" ], 0, - "bf06bd139a748e620735cc8e94471332" + "1554c9af607659994f22a35759fc2417" ], [ "While.__proj__Assign__item__var", @@ -105,7 +105,7 @@ "refinement_interpretation_Tm_refine_b9111ee85b655c8456fbdffc10913247" ], 0, - "dc4f4779e810d4578a9d3e1d85ec0ea3" + "a56568cceed636dabdc4d314e3ad0d99" ], [ "While.__proj__Assign__item__term", @@ -118,7 +118,7 @@ "refinement_interpretation_Tm_refine_b9111ee85b655c8456fbdffc10913247" ], 0, - "eea8ccf136490a3ee64ea4b872d8e1e2" + "15a1a23ff9d85361e9034eef536eb765" ], [ "While.__proj__Seq__item__first", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_e301b9284cf53dcfdd19d29aff2de799" ], 0, - "a5f25ba5bf8c1d26d27d9548e6373cc2" + "e012f2fa8441ecd5ff7642430715ab39" ], [ "While.__proj__Seq__item__second", @@ -144,7 +144,7 @@ "refinement_interpretation_Tm_refine_e301b9284cf53dcfdd19d29aff2de799" ], 0, - "d48f0841dfdb8c8aab03c14ffe17b296" + "b261b542a3ce4b421e02108be1656a6a" ], [ "While.__proj__If__item__cond", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_11047f422339fc49495ea91916ee701e" ], 0, - "8a7bc0864a4e301ca642bfbfc5737464" + "bc5805c1c0e8c8014dea8beb518fb6b0" ], [ "While.__proj__If__item__then_branch", @@ -170,7 +170,7 @@ "refinement_interpretation_Tm_refine_11047f422339fc49495ea91916ee701e" ], 0, - "217d69b93cb21da22f1668a444588280" + "8f76e9468289b44afb6e52414f0684c4" ], [ "While.__proj__If__item__else_branch", @@ -183,7 +183,7 @@ "refinement_interpretation_Tm_refine_11047f422339fc49495ea91916ee701e" ], 0, - "325f839b4d8c93dae9b81148c5cad19b" + "bc4f944dcf24a7b33f84897e34bbb0f5" ], [ "While.__proj__While__item__cond", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_9f1548f821ac5aa32cdc0b620d5d324d" ], 0, - "3a245fff30c30f98ca50d4afdc1a9396" + "b53ede119dc374f972152663acdd0cb8" ], [ "While.__proj__While__item__body", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_9f1548f821ac5aa32cdc0b620d5d324d" ], 0, - "e1958278c8ccb3f5ff735c4d74dc2e1b" + "567186f9901f189629a86d9b9ae84b86" ], [ "While.__proj__While__item__variant", @@ -222,7 +222,7 @@ "refinement_interpretation_Tm_refine_9f1548f821ac5aa32cdc0b620d5d324d" ], 0, - "7fce4d28247c1afa98f7084bfa4438ba" + "a9b251f074b7edafe2c81877842f688f" ], [ "While.interpret_while", @@ -234,7 +234,7 @@ "@fuel_correspondence_While.interpret_exp.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "While_pretyping_59b54fa21cedada836226afdcb64958b", - "binder_x_04be18fc2a1909fb42b2c6016a52763f_0", + "binder_x_62d3edbdd6751c298a41ed78cdaff61a_0", "binder_x_8d3099468343f7dd5eec47424656ca3a_1", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_While.While", "equality_tok_While.Skip@tok", @@ -256,7 +256,7 @@ "well-founded-ordering-on-nat" ], 0, - "9e602dc720def11a874174d337263cc8" + "5e6958bef46c1fca87ea1c57dd21c62e" ], [ "While.interpret_while", @@ -280,7 +280,7 @@ "well-founded-ordering-on-nat" ], 0, - "f046f3260fe49cd920e66de825ec91c2" + "aad121feb2e85525600023d8ad03ddd7" ], [ "While.interpret_exp_st", @@ -313,7 +313,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "9c58ee6be55c27118a63085d36f3b656" + "650c11a7edfeb7d3e58458cce755655a" ], [ "While.interpret_com_st", @@ -324,15 +324,15 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", "equation_Prims.l_True", + "equation_FStar.Heap.trivial_rel", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", - "refinement_interpretation_Tm_refine_fc83f25424539824d394a73dd287ca2e", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", + "refinement_interpretation_Tm_refine_9b02ea10d5f9be03ff5306328ed3e0b7", "true_interp" ], 0, - "143dcf73512f389a33f51d265b3813a3" + "e3a1a349114fbe75c8f1a8989f2911e6" ], [ "While.interpret_binop", @@ -345,7 +345,7 @@ "disc_equation_While.Times", "fuel_guarded_inversion_While.binop" ], 0, - "592b4b809a4e4133020a9c7925a80893" + "750e6768535095b300e64a859e6297de" ], [ "While.__proj__AInt__item___0", @@ -358,7 +358,7 @@ "refinement_interpretation_Tm_refine_94ebaa80e9cf95cffc242c7914de3c00" ], 0, - "5825d75af84a5423829d06277a44b25d" + "dfa284dc0d62e91c3ecc0fe820a904de" ], [ "While.__proj__AVar__item___0", @@ -371,7 +371,7 @@ "refinement_interpretation_Tm_refine_be67e6dd42460413742cd5885f052b86" ], 0, - "2ab4e83da7b26748492299ae63e91085" + "c50eabcb63d775993ef558c77642f0e7" ], [ "While.__proj__AOp__item___0", @@ -384,7 +384,7 @@ "refinement_interpretation_Tm_refine_a075d9df1f5c243dba503141508929bb" ], 0, - "5719b83c8a433d704a4479666d2d861e" + "a64accea295df07b6a8b3d7d6c2cc0c5" ], [ "While.__proj__AOp__item___1", @@ -397,7 +397,7 @@ "refinement_interpretation_Tm_refine_a075d9df1f5c243dba503141508929bb" ], 0, - "79983a5bf9235a352a1dd5da69ed9830" + "1532baaa969c1168a9d8759981b72210" ], [ "While.__proj__AOp__item___2", @@ -410,7 +410,7 @@ "refinement_interpretation_Tm_refine_a075d9df1f5c243dba503141508929bb" ], 0, - "1083e8eaff60d3c2e9b8bdb6381bf432" + "2070c78a73123c716583a21814195427" ], [ "While.interpret_exp", @@ -425,7 +425,7 @@ "fuel_guarded_inversion_While.exp", "subterm_ordering_While.AOp" ], 0, - "fb90bb27b33a7e2d065dafbd6e1fcf3b" + "23ed3dbe8ba37aad53107cc2c0449980" ], [ "While.__proj__Assign__item__var", @@ -438,7 +438,7 @@ "refinement_interpretation_Tm_refine_b9111ee85b655c8456fbdffc10913247" ], 0, - "9c4be28be5d8878139f908ffa3b333f7" + "d3b8a3975b3c0f390fe429adc0bfb907" ], [ "While.__proj__Assign__item__term", @@ -451,7 +451,7 @@ "refinement_interpretation_Tm_refine_b9111ee85b655c8456fbdffc10913247" ], 0, - "990b99fa394897018a949c27836d8525" + "98045378760a459c09b3ff231864eb7f" ], [ "While.__proj__Seq__item__first", @@ -464,7 +464,7 @@ "refinement_interpretation_Tm_refine_e301b9284cf53dcfdd19d29aff2de799" ], 0, - "b75c85e70b01933ed560682c2639669a" + "63ddf187ecde958a35a1b669f1752f94" ], [ "While.__proj__Seq__item__second", @@ -477,7 +477,7 @@ "refinement_interpretation_Tm_refine_e301b9284cf53dcfdd19d29aff2de799" ], 0, - "0e6e39ea1c382480c742d62be74f036c" + "7c1171bb9979bee4f86fb6b4ca52358c" ], [ "While.__proj__If__item__cond", @@ -490,7 +490,7 @@ "refinement_interpretation_Tm_refine_11047f422339fc49495ea91916ee701e" ], 0, - "9bfacd6a4d5d3153ff9a0620997749e2" + "d33f666032be05fd50f59b5300c7513a" ], [ "While.__proj__If__item__then_branch", @@ -503,7 +503,7 @@ "refinement_interpretation_Tm_refine_11047f422339fc49495ea91916ee701e" ], 0, - "fb637422f6b5b4e47eb284992e372dae" + "16814d7c4be1acf48351474d579ed021" ], [ "While.__proj__If__item__else_branch", @@ -516,7 +516,7 @@ "refinement_interpretation_Tm_refine_11047f422339fc49495ea91916ee701e" ], 0, - "5ac5d5320949434be8b87217217c90a0" + "8f5bd92d068674c8f3cf3b2141bfe3b1" ], [ "While.__proj__While__item__cond", @@ -529,7 +529,7 @@ "refinement_interpretation_Tm_refine_9f1548f821ac5aa32cdc0b620d5d324d" ], 0, - "ba8b6adf8c7585cef3f4a142e7fdb44b" + "f13d380bc464f6ff9985b12e6b0e9622" ], [ "While.__proj__While__item__body", @@ -542,7 +542,7 @@ "refinement_interpretation_Tm_refine_9f1548f821ac5aa32cdc0b620d5d324d" ], 0, - "44ee5b81389bfbdea72a08a7791268ca" + "204ee82266ca17077bc8ef4e459fd44b" ], [ "While.__proj__While__item__variant", @@ -555,7 +555,7 @@ "refinement_interpretation_Tm_refine_9f1548f821ac5aa32cdc0b620d5d324d" ], 0, - "d4defbdec75440f51b43f33d41adbeb2" + "4047befac7f24d9517484c30320ecf6c" ], [ "While.interpret_while", @@ -563,11 +563,11 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@MaxIFuel_assumption", "@fuel_correspondence_While.interpret_exp.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "While_pretyping_59b54fa21cedada836226afdcb64958b", - "binder_x_04be18fc2a1909fb42b2c6016a52763f_0", + "binder_x_62d3edbdd6751c298a41ed78cdaff61a_0", "binder_x_8d3099468343f7dd5eec47424656ca3a_1", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_While.While", "equality_tok_While.Skip@tok", @@ -589,7 +589,7 @@ "well-founded-ordering-on-nat" ], 0, - "6791a1f8066589c00938860172c07d9e" + "b2f4cfcbb5c7146027b60164710ab3ff" ], [ "While.interpret_while", @@ -613,7 +613,7 @@ "well-founded-ordering-on-nat" ], 0, - "acf6313e3aff974d709b55645886a10f" + "7fb4f7f84ecf14d1c764287adb869753" ] ] ] \ No newline at end of file diff --git a/examples/rel/WhileReify.fst.hints b/examples/rel/WhileReify.fst.hints index 42c948e21a6..06ff89f17bb 100644 --- a/examples/rel/WhileReify.fst.hints +++ b/examples/rel/WhileReify.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_WhileReify.binop" ], 0, - "4cc86e450430ca4c63c0366edeaae0fb" + "4164e906d559d1230398de15a7988eb9" ], [ "WhileReify.exp", @@ -27,7 +27,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "0bad95bfd77e861e3e4256cbd005ff14" + "2baf721c551806b878b27aa6869a606d" ], [ "WhileReify.__proj__AInt__item___0", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_0add5ff0a561d40ba564f66ead022700" ], 0, - "dbd61fb2d26825114ac3a08ac236f7dd" + "992ff9af68a20da74199aa0648e6392d" ], [ "WhileReify.__proj__AVar__item___0", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_c7bb9ae7b944e08fb527e97372845503" ], 0, - "c7545f859112c61e7c12364a2b6e798f" + "965609eb7cc7f4e7a985c00b05575cd0" ], [ "WhileReify.__proj__AOp__item___0", @@ -66,7 +66,7 @@ "refinement_interpretation_Tm_refine_647225795b9d6bcf91005b32fa64ac20" ], 0, - "8dfa9ae0ccf97dcf5fae7aa7e616a58a" + "9340c76ed10e9df9c9613b3a9431b370" ], [ "WhileReify.__proj__AOp__item___1", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_647225795b9d6bcf91005b32fa64ac20" ], 0, - "b82e57fd6e3197f1a91cd2aa17f42870" + "a9cd0e71619eda5041a8f23252fe025c" ], [ "WhileReify.__proj__AOp__item___2", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_647225795b9d6bcf91005b32fa64ac20" ], 0, - "6e93c332edaa54d6c304acf04a9148c8" + "27ecade9751f8f17cd7da86dbdf7c49b" ], [ "WhileReify.com", @@ -107,7 +107,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "db0a9cf1c3bf9021894b81c61bdc7623" + "f52242ade22ccb24eceabde52da965ca" ], [ "WhileReify.__proj__Assign__item__var", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_b4ca4f8261c0ffd1d6239fd5d8f8a68c" ], 0, - "5be9f7b7a00acd71a232891a9fd2486f" + "a6bc6302523f3a98cb1169afb2af66bc" ], [ "WhileReify.__proj__Assign__item__term", @@ -133,7 +133,7 @@ "refinement_interpretation_Tm_refine_b4ca4f8261c0ffd1d6239fd5d8f8a68c" ], 0, - "f7d70f77b49543b7ab876fbfaab3f0fd" + "0035056ecffa42b6c15e59723228518d" ], [ "WhileReify.__proj__Seq__item__first", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_9daf575df0f09c310d4a988973469100" ], 0, - "aec38456a11c1ddcdc2f252eda5b5ba1" + "483fbbd72e5d0f6ee652fa3eb679606f" ], [ "WhileReify.__proj__Seq__item__second", @@ -159,7 +159,7 @@ "refinement_interpretation_Tm_refine_9daf575df0f09c310d4a988973469100" ], 0, - "133e5c4fa32f4885dfe3d3dfd37ea339" + "9f5dcaa7798d22f1067667dbd8065160" ], [ "WhileReify.__proj__If__item__cond", @@ -172,7 +172,7 @@ "refinement_interpretation_Tm_refine_8fa1b646879801a2172adb9c083178ea" ], 0, - "8b01f4939d5a1266a4d07a55df2c7e0c" + "30518fb3b72a95e05cc4939cd97cf1eb" ], [ "WhileReify.__proj__If__item__then_branch", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_8fa1b646879801a2172adb9c083178ea" ], 0, - "c85df2d059a9008253e8a9c78dcc2302" + "7270bb7b562a4421171d5ae25df262a7" ], [ "WhileReify.__proj__If__item__else_branch", @@ -198,7 +198,7 @@ "refinement_interpretation_Tm_refine_8fa1b646879801a2172adb9c083178ea" ], 0, - "23e9bda82312989519550719a56ec790" + "8befc60233d88d71439936e4a5a820a0" ], [ "WhileReify.__proj__While__item__cond", @@ -211,7 +211,7 @@ "refinement_interpretation_Tm_refine_78179a791815afbcdc83897b79011567" ], 0, - "dd1f04c6e8031fb61e0dc3f0a9266fbb" + "b63520faae1ae64bebe2352acd42285b" ], [ "WhileReify.__proj__While__item__body", @@ -224,7 +224,7 @@ "refinement_interpretation_Tm_refine_78179a791815afbcdc83897b79011567" ], 0, - "36d7a892ffac1f2a59d6809fbdb770f5" + "5fffa19ea2e5da982b440c05fa01ee20" ], [ "WhileReify.__proj__While__item__metric", @@ -237,7 +237,7 @@ "refinement_interpretation_Tm_refine_78179a791815afbcdc83897b79011567" ], 0, - "1fdc9c3d38f0dddb89b2fe9789b36bb4" + "03b7d613ee8d6813a2815371d8af74e8" ], [ "WhileReify.interpret_exp_st", @@ -255,7 +255,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.index" ], 0, - "32c3bce51e8f851e0e40e487deb29973" + "f99fde532ed4f5dcc11d774ee3911c95" ], [ "WhileReify.interpret_exp'", @@ -264,7 +264,7 @@ 1, [ "@query", "primitive_Prims.op_GreaterThan" ], 0, - "0652c66cb40ab6002740498618ac58f7" + "71d93912308307701ecd06a424d13283" ], [ "WhileReify.interpret_com_st", @@ -273,7 +273,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "WhileReify_pretyping_db9f5591f9c8c6a645bfa61f7afb22db", "binder_x_7ab1748f97b7be5091389973104c9c7b_1", @@ -288,7 +287,6 @@ "equation_Prims.nat", "equation_WhileReify.decr_while", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_WhileReify.com", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -296,7 +294,7 @@ "projection_inverse_WhileReify.While_cond", "projection_inverse_WhileReify.While_metric", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_WhileReify.If", "subterm_ordering_WhileReify.Seq", "subterm_ordering_WhileReify.While", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", @@ -304,7 +302,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "669ea736c4b4cea6c343760de02364fa" + "e652b8541d45220931f3c4ae9beeff49" ], [ "WhileReify.interpret_com", @@ -331,7 +329,7 @@ "typing_WhileReify.interpret_com_st", "unit_typing" ], 0, - "9d763f9a57d71ba1e54963e95166bd43" + "5fb83af747da6fca26b83e1222fa532b" ], [ "WhileReify.bidule", @@ -343,7 +341,6 @@ "@fuel_correspondence_WhileReify.interpret_exp_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_WhileReify.AInt", "constructor_distinct_WhileReify.AOp", "constructor_distinct_WhileReify.AVar", @@ -355,20 +352,20 @@ "equation_WhileReify.interpret_binop", "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", "int_inversion", "int_typing", - "interpretation_Tm_abs_2ca2ac6fc76f9adb0c42fe5c105caf1d", - "interpretation_Tm_abs_4a6fb92fc3aadbdc6543585d1b85d3da", - "interpretation_Tm_abs_e2de9af40e7addcec157eaf54701dd16", - "interpretation_Tm_abs_fb49622d5f0ea4c46753f5a31493400f", + "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", + "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", + "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", + "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_create", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_WhileReify.AInt__0", "projection_inverse_WhileReify.AOp__0", "projection_inverse_WhileReify.AOp__1", "projection_inverse_WhileReify.AOp__2", - "projection_inverse_WhileReify.AVar__0", "unit_typing" + "projection_inverse_WhileReify.AVar__0" ], 0, - "de8dbf6693fd6ea2bfb179026e4329e2" + "067d75a66a9be46718163860fe0690e1" ], [ "WhileReify.bidule2", @@ -380,7 +377,6 @@ "@fuel_correspondence_WhileReify.interpret_exp_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_WhileReify.AInt", "constructor_distinct_WhileReify.AOp", "constructor_distinct_WhileReify.AVar", @@ -393,20 +389,20 @@ "equation_WhileReify.interpret_exp", "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", "int_inversion", "int_typing", - "interpretation_Tm_abs_2ca2ac6fc76f9adb0c42fe5c105caf1d", - "interpretation_Tm_abs_4a6fb92fc3aadbdc6543585d1b85d3da", - "interpretation_Tm_abs_e2de9af40e7addcec157eaf54701dd16", - "interpretation_Tm_abs_fb49622d5f0ea4c46753f5a31493400f", + "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", + "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", + "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", + "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_create", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_WhileReify.AInt__0", "projection_inverse_WhileReify.AOp__0", "projection_inverse_WhileReify.AOp__1", "projection_inverse_WhileReify.AOp__2", - "projection_inverse_WhileReify.AVar__0", "unit_typing" + "projection_inverse_WhileReify.AVar__0" ], 0, - "a5043097e5d3ff3a9236fb5929368088" + "77708324894abdc4a4942345b5a348b0" ], [ "WhileReify.interpret_binop", @@ -420,7 +416,7 @@ "fuel_guarded_inversion_WhileReify.binop" ], 0, - "a1e166ed8cd2d235d0e9d0a091e73839" + "9c95a3943484d7b5daa44bdb2e744bd5" ], [ "WhileReify.exp", @@ -434,7 +430,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "40cac640f12d2dd6a7172ae513a3227d" + "19a3361a65e2ac9fe1a616e60a8d44c1" ], [ "WhileReify.__proj__AInt__item___0", @@ -447,7 +443,7 @@ "refinement_interpretation_Tm_refine_0add5ff0a561d40ba564f66ead022700" ], 0, - "4c0efdf9a5cc51584451f19b2ed7aca9" + "69c1336469f8d4100b80788a1cd9bc10" ], [ "WhileReify.__proj__AVar__item___0", @@ -460,7 +456,7 @@ "refinement_interpretation_Tm_refine_c7bb9ae7b944e08fb527e97372845503" ], 0, - "08d47c2af82839833602429c0a84dae2" + "2ecb49d6beaac928fe26a196ab87e02e" ], [ "WhileReify.__proj__AOp__item___0", @@ -473,7 +469,7 @@ "refinement_interpretation_Tm_refine_647225795b9d6bcf91005b32fa64ac20" ], 0, - "bde924834e8996ff78a4ff55224e165c" + "1ee761dfbaec7619faa29a61d973247e" ], [ "WhileReify.__proj__AOp__item___1", @@ -486,7 +482,7 @@ "refinement_interpretation_Tm_refine_647225795b9d6bcf91005b32fa64ac20" ], 0, - "25179a3a06577f8573237366de615c03" + "91133a465cf1630ffd8e6ba07ee84e22" ], [ "WhileReify.__proj__AOp__item___2", @@ -499,7 +495,7 @@ "refinement_interpretation_Tm_refine_647225795b9d6bcf91005b32fa64ac20" ], 0, - "ac7f271e8078b62d67d29c8e08d0056f" + "4e85d1d0dad335550b6eb1f4cd50a12d" ], [ "WhileReify.com", @@ -514,7 +510,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.id" ], 0, - "105a61c6012ff50c0445fc1fcae238b3" + "2c75586ac8dfb16643dddb12d867e76c" ], [ "WhileReify.__proj__Assign__item__var", @@ -527,7 +523,7 @@ "refinement_interpretation_Tm_refine_b4ca4f8261c0ffd1d6239fd5d8f8a68c" ], 0, - "db98d564905ff08eb69f5ca6a922ffbf" + "568d7cc01a9a9bbdfbe683323eff2ba5" ], [ "WhileReify.__proj__Assign__item__term", @@ -540,7 +536,7 @@ "refinement_interpretation_Tm_refine_b4ca4f8261c0ffd1d6239fd5d8f8a68c" ], 0, - "25085245d9583ff817c12e4252553c72" + "39a88eca6c42fb9862b500898903a21f" ], [ "WhileReify.__proj__Seq__item__first", @@ -553,7 +549,7 @@ "refinement_interpretation_Tm_refine_9daf575df0f09c310d4a988973469100" ], 0, - "d8780ad5dc0faa3f21f07ec6f64f86de" + "909390c3373eb2fb9d3ce94d62f2be7a" ], [ "WhileReify.__proj__Seq__item__second", @@ -566,7 +562,7 @@ "refinement_interpretation_Tm_refine_9daf575df0f09c310d4a988973469100" ], 0, - "a0d32cde3a660cc9ec92e207810e8373" + "67d01984fe8bc9f666c7785bae4000a7" ], [ "WhileReify.__proj__If__item__cond", @@ -579,7 +575,7 @@ "refinement_interpretation_Tm_refine_8fa1b646879801a2172adb9c083178ea" ], 0, - "a081c22fe68d039f15edda3462e5e088" + "564a3d94e651ba22da9b31d67c260a17" ], [ "WhileReify.__proj__If__item__then_branch", @@ -592,7 +588,7 @@ "refinement_interpretation_Tm_refine_8fa1b646879801a2172adb9c083178ea" ], 0, - "ce0af87802e55a3f8b9d0ee257d09fbe" + "fa563559f64a4f12799f0d39be3c99fa" ], [ "WhileReify.__proj__If__item__else_branch", @@ -605,7 +601,7 @@ "refinement_interpretation_Tm_refine_8fa1b646879801a2172adb9c083178ea" ], 0, - "4b440d79254a14e094f84a25b2473cad" + "dc7de542ae736bdee442fd5203b973b0" ], [ "WhileReify.__proj__While__item__cond", @@ -618,7 +614,7 @@ "refinement_interpretation_Tm_refine_78179a791815afbcdc83897b79011567" ], 0, - "7f04da46b33377f8ff1056bf44869927" + "1e525fc7c276413b7a47907ce958c4d9" ], [ "WhileReify.__proj__While__item__body", @@ -631,7 +627,7 @@ "refinement_interpretation_Tm_refine_78179a791815afbcdc83897b79011567" ], 0, - "29d48026f2a60f20d7d0a6431810737c" + "4c6c81320a550aeecb80ec3bec29a538" ], [ "WhileReify.__proj__While__item__metric", @@ -644,7 +640,7 @@ "refinement_interpretation_Tm_refine_78179a791815afbcdc83897b79011567" ], 0, - "a9fd2c09f6ebb370c3fcac697af9fa3b" + "8dce1df78bf8d93be5ea5a321fdb7f99" ], [ "WhileReify.interpret_exp_st", @@ -661,7 +657,7 @@ "typing_FStar.DM4F.Heap.IntStoreFixed.index" ], 0, - "7dbfac84ec69e50dbbd3cf4f9f716e39" + "4fd19f927cf2f13b1afa20f7524a1b74" ], [ "WhileReify.interpret_exp'", @@ -670,7 +666,7 @@ 1, [ "@query", "primitive_Prims.op_GreaterThan" ], 0, - "985ae43305a5f56211084c39138b6201" + "43164079e6ffc6c7e997927ca9e1fb65" ], [ "WhileReify.interpret_com_st", @@ -679,7 +675,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "WhileReify_pretyping_db9f5591f9c8c6a645bfa61f7afb22db", "binder_x_7ab1748f97b7be5091389973104c9c7b_1", @@ -692,9 +687,9 @@ "disc_equation_WhileReify.While", "equality_tok_Prims.LexTop@tok", "equality_tok_WhileReify.Skip@tok", "equation_Prims.eqtype", "equation_Prims.nat", "equation_WhileReify.decr_while", + "equation_WhileReify.metric", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_WhileReify.com", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.unit", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -702,15 +697,16 @@ "projection_inverse_WhileReify.While_cond", "projection_inverse_WhileReify.While_metric", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_WhileReify.If", "subterm_ordering_WhileReify.Seq", "subterm_ordering_WhileReify.While", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_WhileReify.decr_while", "typing_tok_WhileReify.Skip@tok", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" + "typing_WhileReify.decr_while", "typing_WhileReify.interpret_exp_", + "typing_tok_WhileReify.Skip@tok", "unit_inversion", "unit_typing", + "well-founded-ordering-on-nat" ], 0, - "5fd096d33206fb96ef2cc9b32bf97f01" + "ab811165bb280eed2cb8d442f3b677f1" ], [ "WhileReify.interpret_com", @@ -737,7 +733,7 @@ "typing_WhileReify.interpret_com_st", "unit_typing" ], 0, - "a3e4a0bf436e370a8867a059e352ed6f" + "e4da471e064f6d34fea015b2bc9734b8" ], [ "WhileReify.bidule", @@ -749,7 +745,6 @@ "@fuel_correspondence_WhileReify.interpret_exp_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_WhileReify.AInt", "constructor_distinct_WhileReify.AOp", "constructor_distinct_WhileReify.AVar", @@ -761,20 +756,20 @@ "equation_WhileReify.interpret_binop", "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", "int_inversion", "int_typing", - "interpretation_Tm_abs_2ca2ac6fc76f9adb0c42fe5c105caf1d", - "interpretation_Tm_abs_4a6fb92fc3aadbdc6543585d1b85d3da", - "interpretation_Tm_abs_e2de9af40e7addcec157eaf54701dd16", - "interpretation_Tm_abs_fb49622d5f0ea4c46753f5a31493400f", + "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", + "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", + "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", + "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_create", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_WhileReify.AInt__0", "projection_inverse_WhileReify.AOp__0", "projection_inverse_WhileReify.AOp__1", "projection_inverse_WhileReify.AOp__2", - "projection_inverse_WhileReify.AVar__0", "unit_typing" + "projection_inverse_WhileReify.AVar__0" ], 0, - "8dbd34737d8c82e17a257f562baa53c6" + "d9672a0594f29510c73574f1ed467e38" ], [ "WhileReify.bidule2", @@ -786,7 +781,6 @@ "@fuel_correspondence_WhileReify.interpret_exp_st.fuel_instrumented", "@query", "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_WhileReify.AInt", "constructor_distinct_WhileReify.AOp", "constructor_distinct_WhileReify.AVar", @@ -799,20 +793,20 @@ "equation_WhileReify.interpret_exp", "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", "int_inversion", "int_typing", - "interpretation_Tm_abs_2ca2ac6fc76f9adb0c42fe5c105caf1d", - "interpretation_Tm_abs_4a6fb92fc3aadbdc6543585d1b85d3da", - "interpretation_Tm_abs_e2de9af40e7addcec157eaf54701dd16", - "interpretation_Tm_abs_fb49622d5f0ea4c46753f5a31493400f", + "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", + "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", + "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", + "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_create", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_WhileReify.AInt__0", "projection_inverse_WhileReify.AOp__0", "projection_inverse_WhileReify.AOp__1", "projection_inverse_WhileReify.AOp__2", - "projection_inverse_WhileReify.AVar__0", "unit_typing" + "projection_inverse_WhileReify.AVar__0" ], 0, - "c4d4b34d7ed0df5f16e61c9e2d0d22b3" + "866e3165ab37a1c86dc89cfa4933312f" ] ] ] \ No newline at end of file diff --git a/examples/sample_project/Makefile b/examples/sample_project/Makefile index 75eb6cc5339..504af72617a 100644 --- a/examples/sample_project/Makefile +++ b/examples/sample_project/Makefile @@ -54,7 +54,7 @@ $(OUTPUT_DIRECTORY)/c/out.krml: $(addsuffix .checked,$(FSTAR_FILES)) krml -fsopts --cache_checked_modules -tmpdir $(OUTPUT_DIRECTORY)/c -skip-translation $(FSTAR_FILES) $(KREMLIN_EXE): $(OUTPUT_DIRECTORY)/c/out.krml - krml $< -tmpdir $(OUTPUT_DIRECTORY)/c -no-prefix A -o $@ + krml -add-include '"kremlin/internal/compat.h"' $< -tmpdir $(OUTPUT_DIRECTORY)/c -no-prefix A -o $@ -drop WasmSupport test.kremlin: $(KREMLIN_EXE) ./$< hello diff --git a/examples/seplogic/Examples.fst.hints b/examples/seplogic/Examples.fst.hints index 0bd9f2b0699..c5147031a5d 100644 --- a/examples/seplogic/Examples.fst.hints +++ b/examples/seplogic/Examples.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "7c90279d04d76569c65567bdfb294ba3" + "3d7a4f7945c821c3d3ece51371b14b41" ], [ "Examples.increment_ok", @@ -25,7 +25,7 @@ "unit_inversion", "unit_typing" ], 0, - "e98a51e1936bb112773f49942fdbc76c" + "83ce12412563b6d77bdcbc99290ea2aa" ], [ "Examples.increment_ok", @@ -40,7 +40,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "3d872c21b7bd68605f04172d204f1c44" + "6a70f05658e5402dc0422b73a3dac8ae" ], [ "Examples.increment_ok", @@ -55,13 +55,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "868a6ea3d3301c8819cbf91fae790521" + "34601254fafdf4d200a994acb4dca25c" ], [ "Examples.swap_ok", @@ -71,12 +71,12 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "true_interp" ], 0, - "047d7e8cf027e7785cb2ab7aea0e373c" + "fdbd3ebfdc14db862834e3d4e185ea49" ], [ "Examples.swap_ok", @@ -88,7 +88,7 @@ "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "349573cb8c7e8fe170382f24776b19c7" + "05a474d3478ea86a161cf02a7de4cf27" ], [ "Examples.swap_ok", @@ -106,7 +106,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "cf8c4db0b7627a82641407499d731f56" + "c36d11f1772a63b2969b2452323533c3" ], [ "Examples.swap_ok", @@ -118,7 +118,7 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" ], 0, - "8440aff0b45ccf6d223ffa6c7b898463" + "d6eb0a1ca95e243f7a8e0e053df1ad84" ], [ "Examples.swap_ok", @@ -137,7 +137,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "ff524aff530e74facfeb7600abbaa1e0" + "12715365087ebba7f117a2e812fcef7c" ], [ "Examples.swap_ok", @@ -163,7 +163,7 @@ "typing_FStar.SL.Monotonic.Heap.sel" ], 0, - "0708d913155a866f2140675f20891e62" + "a804da04bfb7aaffaca5c840d8a79f7c" ], [ "Examples.swap_ok", @@ -182,7 +182,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "9e2278096833e2afc45015c0478f943c" + "c8d248750f4fa806f7acd2f30e1f5c6c" ], [ "Examples.swap_ok", @@ -197,13 +197,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "fc5c2d78fee632723ecaa855c67b373a" + "28a9f8d6256784b2bbae5560ac70a165" ], [ "Examples.swap_ok", @@ -218,13 +218,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "c068cd328acd6caff37098f5c0012c7b" + "61cc72a9eb1c816fd0933c8e8e860147" ], [ "Examples.double_increment_ok", @@ -239,7 +239,7 @@ "unit_inversion", "unit_typing" ], 0, - "6f4618090fd3c8ca6d57b10baee39b40" + "6144ea60bfd102f4a3394411f260cf1f" ], [ "Examples.double_increment_ok", @@ -254,7 +254,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "d7f9b60f4f781c6a13084586702d06a4" + "836240064a2b97f7f72e5dd1109026b4" ], [ "Examples.double_increment_ok", @@ -272,7 +272,7 @@ "typing_FStar.SL.Monotonic.Heap.get_next_addr" ], 0, - "3e795135765f798d6083ea67157270f7" + "bd01125864df537b341ea1332ebe81d9" ], [ "Examples.double_increment_ok", @@ -291,7 +291,7 @@ "typing_FStar.SL.Monotonic.Heap.get_next_addr" ], 0, - "5ecc1141bba70b18abea45878d0ffa11" + "c48464e704e60fb377a95e9390741913" ], [ "Examples.double_increment_ok", @@ -299,16 +299,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_Examples.t", - "equation_FStar.SL.Heap.ref", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_Examples.t", "equation_FStar.SL.Heap.ref", "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Lang.addr", "equation_Lang.t", "function_token_typing_FStar.UInt64.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", @@ -318,20 +315,20 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", - "refinement_interpretation_Tm_refine_450edd65928250ceedc6fa10f57a5358", - "refinement_interpretation_Tm_refine_74f171b37d5da015f5b10d9596d4a176", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_f4936c852aaca3d63c83da7b40353bce", + "refinement_interpretation_Tm_refine_30520f4aa1db6a708962f02a92706a29", + "refinement_interpretation_Tm_refine_348f35b5cb6c5853965b93f3b8a8627d", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fb34617cae39ea38c65bb70d2e0f0d79", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to", "typing_FStar.UInt64.add_underspec", "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v" ], 0, - "6c96a31359d47320cbe99c02e6a7a7cf" + "8d63b76f1a02d98c8b77470ad153bbc5" ], [ "Examples.init_ok", @@ -341,16 +338,13 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.SL.Heap.ref", + "b2t_def", "equation_FStar.SL.Heap.ref", "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n", - "equation_Lang.addr", "equation_Lang.t", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.UInt64.n", - "function_token_typing_FStar.UInt64.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_FStar.UInt.uint_t", "equation_Lang.addr", + "equation_Lang.t", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_FStar.UInt64.t", "int_typing", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_points_to_unused_h", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_emp_with_next_addr", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_points_to", @@ -360,17 +354,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08a9f6b1350da17e8f2ca6f7c829495a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bf9ef7c4e1907c48bae3e5a80998ec74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.get_next_addr", "typing_FStar.UInt64.uint_to_t", "typing_Prims.pow2" ], 0, - "8493b17368d6b621aaa444c8cbb441b8" + "df0ea89df8480771e1cd8d55b9aa8050" ], [ "Examples.init_ok", @@ -385,9 +379,8 @@ "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n", - "equation_Lang.addr", "equation_Lang.t", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.UInt64.n", + "equation_FStar.UInt.uint_t", "equation_Lang.addr", + "equation_Lang.t", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.UInt64.t", "function_token_typing_Prims.__cache_version_number__", "int_typing", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_emp_with_next_addr", @@ -397,17 +390,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08a9f6b1350da17e8f2ca6f7c829495a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bf9ef7c4e1907c48bae3e5a80998ec74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.get_next_addr", "typing_FStar.UInt64.uint_to_t", "typing_Prims.pow2" ], 0, - "dadf8af1d83079c342449180353ef3db" + "3688fa32941bf01701edea8ce1b4ab64" ], [ "Examples.copy_ok", @@ -415,17 +408,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "true_interp" ], 0, - "b65854ed8be9b2b1885b6e039536c520" + "db940df43b73dcb36ec0d38fb90df73b" ], [ "Examples.copy_ok", @@ -440,7 +430,7 @@ "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "1813ddcb9abd60e7a3c8f217044e8178" + "c0938bbcdf33725b15347dc1922faf31" ], [ "Examples.copy_ok", @@ -458,7 +448,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "e862fad235fc03e292c3fc04e8e0b44d" + "83bbde1025c0fe6e3055ee401e7ba35f" ], [ "Examples.copy_ok", @@ -476,7 +466,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "6df3b55f9022f2bb710bd0a1361e58fc" + "07a623219842c4cbd70f5304ccb8cea4" ], [ "Examples.copy_ok", @@ -491,13 +481,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "6bd4cadefd425732fa859c79ed171f86" + "4ba6a4149350b8c8dcd4e9743f903b9f" ], [ "Examples.copy_ok", @@ -515,7 +505,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "d50d41793d85649a5f0cd9862a8fd662" + "5225908d781ba435f6aba4732b1388ef" ], [ "Examples.copy_ok", @@ -527,7 +517,7 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" ], 0, - "9a3fa93bc373f28d23f4a8d2a317f45d" + "7f7547396de6297419181ef58e2b8796" ], [ "Examples.copy_ok", @@ -535,11 +525,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Lang.t", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974" ], 0, - "5dcbb0cc487b9ce4f9efdff44af193e2" + "c0b2222fb2e18e24b28ae34ef3c73458" ], [ "Examples.write_ok", @@ -548,7 +538,7 @@ 1, [ "@query" ], 0, - "90d48bf5bd49586174b809ac1bffb742" + "a9ce565754c680d17c417ce8553b5fa1" ], [ "Examples.increment_ok", @@ -557,7 +547,7 @@ 1, [ "@query" ], 0, - "256aca10ca8a8da2d43cd272e58f4da7" + "335ed119e2976f2c6e8147137aab5d00" ], [ "Examples.increment_ok", @@ -572,7 +562,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "7a0b895f5f5718b55448cbb641bbf5e0" + "233b865e0562acc31d5fd56b724ed824" ], [ "Examples.increment_ok", @@ -587,13 +577,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "5ef11552202f7114377093936bf796a2" + "4704ee99a40851ebc3ec65005bef235c" ], [ "Examples.swap_ok", @@ -603,12 +593,12 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "true_interp" ], 0, - "bc32395363e71d095772b35dd26b459c" + "d456b5a9e85865cd87d4932d361ecbe0" ], [ "Examples.swap_ok", @@ -617,7 +607,7 @@ 1, [ "@query" ], 0, - "0c52770d980ed353e5087db89d51c362" + "69aafc5309c1d35438beb166e26f7f54" ], [ "Examples.swap_ok", @@ -635,7 +625,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "cacf0bdfaace601902cbef4ba62f15e2" + "50fd5727512c6cdf42daf65cb45f9517" ], [ "Examples.swap_ok", @@ -647,7 +637,7 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" ], 0, - "a7b00705ec30e51b0805e2c207f62813" + "3e409a3913ea1b09b4cf6935e6932a3f" ], [ "Examples.swap_ok", @@ -666,7 +656,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "01b6a07bcdae5b1675e45758d1abe022" + "3cc9ab9ea955e58ce39478b4a0cb47c9" ], [ "Examples.swap_ok", @@ -692,7 +682,7 @@ "typing_FStar.SL.Monotonic.Heap.sel" ], 0, - "60bb29fd9d406c228179b2531a3685e5" + "80cb85dbb19d6a718737e621ddea78f4" ], [ "Examples.swap_ok", @@ -711,7 +701,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "34a7ae7270b9cdc61b78cfcd8f8d151b" + "0ac66df63d7d5173d7ff1d62ec0e4c26" ], [ "Examples.swap_ok", @@ -726,13 +716,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "c4e4252fed7665e894fb7a978b376753" + "9a6d4fcfdeac95f0677645e96ae6997d" ], [ "Examples.swap_ok", @@ -747,13 +737,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "40fe8db7535f752a8d4b62f6aed712d8" + "8c6fb61e99e3c9af5256f3a4d1162e03" ], [ "Examples.double_increment_ok", @@ -762,7 +752,7 @@ 1, [ "@query" ], 0, - "e0e468ea6cf2ae7982aefde669d4733e" + "93fe702f001d1062f7f62ea7cc371682" ], [ "Examples.double_increment_ok", @@ -777,7 +767,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "c4ba992fe6785e476cc84dfe257cedac" + "cd895bd08b88b55cd19b913ae8898c00" ], [ "Examples.double_increment_ok", @@ -795,7 +785,7 @@ "typing_FStar.SL.Monotonic.Heap.get_next_addr" ], 0, - "42d8e4699a4993f3d67b1c0656d82f62" + "241553a54efa1be0fe897b79022510de" ], [ "Examples.double_increment_ok", @@ -814,7 +804,7 @@ "typing_FStar.SL.Monotonic.Heap.get_next_addr" ], 0, - "a6ffcea19d61e146169954868b28569a" + "f31fc0d35a04e7874a4a0d2678688889" ], [ "Examples.double_increment_ok", @@ -822,16 +812,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_Examples.t", - "equation_FStar.SL.Heap.ref", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_Examples.t", "equation_FStar.SL.Heap.ref", "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Lang.addr", "equation_Lang.t", "function_token_typing_FStar.UInt64.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", @@ -841,20 +828,20 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", - "refinement_interpretation_Tm_refine_450edd65928250ceedc6fa10f57a5358", - "refinement_interpretation_Tm_refine_74f171b37d5da015f5b10d9596d4a176", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_f4936c852aaca3d63c83da7b40353bce", + "refinement_interpretation_Tm_refine_30520f4aa1db6a708962f02a92706a29", + "refinement_interpretation_Tm_refine_348f35b5cb6c5853965b93f3b8a8627d", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fb34617cae39ea38c65bb70d2e0f0d79", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to", "typing_FStar.UInt64.add_underspec", "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v" ], 0, - "83ab588ca2b15b537e9622bd95342836" + "4584178a1420c7e845a5e1310125284d" ], [ "Examples.init_ok", @@ -864,16 +851,13 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.SL.Heap.ref", + "b2t_def", "equation_FStar.SL.Heap.ref", "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n", - "equation_Lang.addr", "equation_Lang.t", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.UInt64.n", - "function_token_typing_FStar.UInt64.t", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_FStar.UInt.uint_t", "equation_Lang.addr", + "equation_Lang.t", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_FStar.UInt64.t", "int_typing", "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_points_to_unused_h", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_emp_with_next_addr", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_points_to", @@ -883,17 +867,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08a9f6b1350da17e8f2ca6f7c829495a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bf9ef7c4e1907c48bae3e5a80998ec74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.get_next_addr", "typing_FStar.UInt64.uint_to_t", "typing_Prims.pow2" ], 0, - "cdc47567fc3fadee6862a0b5b1494f74" + "7b908fa2a7cde5849746153a2f10dfa5" ], [ "Examples.init_ok", @@ -908,9 +892,8 @@ "equation_FStar.SL.Heap.trivial_preorder", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n", - "equation_Lang.addr", "equation_Lang.t", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.UInt64.n", + "equation_FStar.UInt.uint_t", "equation_Lang.addr", + "equation_Lang.t", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.UInt64.t", "function_token_typing_Prims.__cache_version_number__", "int_typing", "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_emp_with_next_addr", @@ -920,17 +903,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08a9f6b1350da17e8f2ca6f7c829495a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0d613e63865150efd1f73378fdc77ae", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bf9ef7c4e1907c48bae3e5a80998ec74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.get_next_addr", "typing_FStar.UInt64.uint_to_t", "typing_Prims.pow2" ], 0, - "cb6c4e95543e430ce706f81d69ac3eb5" + "341a8ab175647ab9cb78681343555929" ], [ "Examples.copy_ok", @@ -938,17 +921,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "true_interp" ], 0, - "6581e412a66fa72bf4541d9edc06d6c2" + "822d2cee4ee68ab0aa59fcaf6ab9f7b3" ], [ "Examples.copy_ok", @@ -957,7 +937,7 @@ 1, [ "@query" ], 0, - "2b213da42f996d5a773ecfb2b6814635" + "d11c450a47c757c27a6d74bcccb3841e" ], [ "Examples.copy_ok", @@ -975,7 +955,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "92648196761f8b81ee2ea0271803e3b1" + "ad05a8a908c7d730bd984c2161212f4f" ], [ "Examples.copy_ok", @@ -993,7 +973,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "9a44793baee3166bb7816456edc0cd8c" + "44254aa3b75669154efdea1f538d11bc" ], [ "Examples.copy_ok", @@ -1008,13 +988,13 @@ "lemma_FStar.SL.Monotonic.Heap.equal_extensional", "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_1909cb0492dede0cd0e0156e11d2e580", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360", + "refinement_interpretation_Tm_refine_8bcf1913771c2f122320dab0324d24b2", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974", "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.SL.Monotonic.Heap.points_to" ], 0, - "12170a1fde17efda177d37ac114214c9" + "875a3c9c867b913745e1aaa58c15c88a" ], [ "Examples.copy_ok", @@ -1032,7 +1012,7 @@ "typing_FStar.SL.Heap.trivial_preorder" ], 0, - "7aee473462c628d7cdde74d406a0f4fb" + "ca5c34e3c5f7c29f497c058d7715f98f" ], [ "Examples.copy_ok", @@ -1044,7 +1024,7 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" ], 0, - "f7a51e378fc6fc8c56bad46df413f3f7" + "0c74afc6ad6f4e38e1b428215301942b" ], [ "Examples.copy_ok", @@ -1052,11 +1032,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Lang.t", - "refinement_interpretation_Tm_refine_27e663d45ab46f5b4e6a1f9a37782360" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_e5829fe30a7dc62e6bb885af47bb2974" ], 0, - "15945b582f39c35672700c03889488ad" + "1bb620403401ba995df00e0364fff8f3" ] ] ] \ No newline at end of file diff --git a/examples/seplogic/SL.ExamplesAuto.fst b/examples/seplogic/SL.ExamplesAuto.fst index d2829f66fd2..f99bd099b17 100644 --- a/examples/seplogic/SL.ExamplesAuto.fst +++ b/examples/seplogic/SL.ExamplesAuto.fst @@ -110,13 +110,14 @@ let pointsto_to_string (fp_refs:list term) (t:term) : Tac string = else "2" | _, _ -> "2" // have to accept at least Tv_Uvar _ here -let sort_sl (a:Type) (vm:vmap a string) (xs:list var) : Tot (list var) = - List.Tot.sortWith #var - (fun x y -> FStar.String.compare (select_extra y vm) - (select_extra x vm)) xs +let sort_sl (a:Type) (vm:vmap a string) : (xs:list var) -> list var = + let sortf x y = FStar.String.compare (select_extra y vm) (select_extra x vm) in + List.Tot.sortWith #var sortf let sort_sl_correct : permute_correct sort_sl = - fun #a m vm xs -> sortWith_correct (fun x y -> FStar.String.compare (select_extra y vm) (select_extra x vm)) #a m vm xs + fun #a m vm xs -> + let sortf x y = FStar.String.compare (select_extra y vm) (select_extra x vm) in + sortWith_correct sortf #a m vm xs let canon_monoid_sl (fp:list term) : Tac unit = canon_monoid_with string (pointsto_to_string fp) "" diff --git a/examples/seplogic/SL.ExamplesAuto.fst.hints b/examples/seplogic/SL.ExamplesAuto.fst.hints index 33448d66938..102af4ddcec 100644 --- a/examples/seplogic/SL.ExamplesAuto.fst.hints +++ b/examples/seplogic/SL.ExamplesAuto.fst.hints @@ -1,5 +1,5 @@ [ - "\u001c9\u001cåüù˜‚Ñ]%\u0011 True) = x + +let caller () : HST.Stack int - (requires (fun _ -> True)) - (ensures (fun _ z _ -> z == 18)) -= HST.push_frame(); - let dm : S.struct struct = S.struct_create struct [(|"I", 18|); (|"B", true|)] in + (requires fun _ -> True) + (ensures (fun _ z _ -> z == 18)) = + HST.push_frame(); + let l : S.struct_literal struct = mk_struct_literal [(|"I", 18|); (| "B", true |)] in + let dm : S.struct struct = S.struct_create struct l in let b = S.buffer_of_array_pointer (S.screate (S.TArray 2ul struct_t) (Some (Seq.create 2 dm))) in let pfrom : obj = S.pointer_of_buffer_cell b (UInt32.uint_to_t 0) in let pto : obj = S.pointer_of_buffer_cell b (UInt32.uint_to_t 1) in diff --git a/examples/struct/array.pos/Test.fst.hints b/examples/struct/array.pos/Test.fst.hints index e57a001ff4c..2a28b0b5040 100644 --- a/examples/struct/array.pos/Test.fst.hints +++ b/examples/struct/array.pos/Test.fst.hints @@ -1,5 +1,5 @@ [ - "N¾w‡–ÖùO¼œ˜Äï\u0012Òû", + "p_!\n¤_!‹=aâì™q5È", [ [ "Test.struct", @@ -12,8 +12,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -50,7 +50,7 @@ "typing_tok_FStar.Pointer.Base.TInt@tok" ], 0, - "7b8de86d73de03ca8f108aadc78153e6" + "4bc831204194f9d70cb7532fb02ee99d" ], [ "Test.callee", @@ -64,14 +64,13 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.TBase", "constructor_distinct_FStar.Pointer.Base.TInt", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "equality_tok_FStar.Pointer.Base.TInt@tok", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.modifies_1", @@ -110,12 +109,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_134e4f4c1747efc6a2cc99203e1a1e8b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7cf2266e751c4716c1812afeccd78dcd", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_4dd239885be7fbca445e28b68b14a54e", + "refinement_interpretation_Tm_refine_a37a3c8ca4dcf11aa431310e3dd5ee90", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_d0289c880ab990123baa443e94dd3ce7", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.Pervasives.Native.fst", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", "typing_FStar.Monotonic.HyperStack.live_region", @@ -125,7 +124,7 @@ "typing_Test.struct_t" ], 0, - "b832d87d8c0bd426234d7a379f85fa69" + "8d18c28afcab60f45a06aa918b857ab3" ], [ "Test.caller", @@ -143,16 +142,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pointer.Base_interpretation_Tm_arrow_0a44b12744e216c6d692aa1730cf3d23", - "FStar.Pointer.Base_interpretation_Tm_arrow_2eab9385222ca254010896b1b77908b3", - "FStar.Pointer.Base_interpretation_Tm_arrow_69b9b0424244573475b5a2ed1ea95ee1", - "FStar.Pointer.Base_interpretation_Tm_arrow_94538233ac7d770dcd5647f9257e59c4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_28e00c6cddbebec863cfb4ba46afe386", + "FStar.Pointer.Base_interpretation_Tm_arrow_3039342fd2e0851a3664dcc7db386d3a", + "FStar.Pointer.Base_interpretation_Tm_arrow_6fc799a790a74ce5209418d25bd87e6d", + "FStar.Pointer.Base_interpretation_Tm_arrow_dc341725e79c77ee2826c69229248156", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", @@ -181,21 +178,21 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Test.struct", - "equation_Test.struct_t", + "equation_Prims.nat", "equation_Test.mk_struct_literal", + "equation_Test.struct", "equation_Test.struct_t", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.find.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.dfst_struct_field", "function_token_typing_FStar.Pointer.Base.fun_of_list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "int_typing", - "interpretation_Tm_abs_35dde1e06a2e2d55c427174b04c5ef2d", + "interpretation_Tm_abs_38d4bb2034e4c433acd11631b66192dd", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", @@ -233,13 +230,6 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_Prims.Cons_a", @@ -248,19 +238,19 @@ "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_0ac192743de52a9c212800a3bfc27c72", - "refinement_interpretation_Tm_refine_134e4f4c1747efc6a2cc99203e1a1e8b", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a37a3c8ca4dcf11aa431310e3dd5ee90", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", - "string_typing", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", + "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -284,10 +274,10 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.UInt32.v", "typing_Test.struct", "typing_Test.struct_t", - "typing_Tm_abs_35dde1e06a2e2d55c427174b04c5ef2d" + "typing_Tm_abs_38d4bb2034e4c433acd11631b66192dd" ], 0, - "7ab8bb4e1c02947dc0286e89903d7589" + "e93bb06a7c8baff5ef21bb60f2f2311a" ] ] ] \ No newline at end of file diff --git a/examples/struct/disjoint.pos/Test.fst b/examples/struct/disjoint.pos/Test.fst index 63fff5ec5ea..c0ebde3dc09 100644 --- a/examples/struct/disjoint.pos/Test.fst +++ b/examples/struct/disjoint.pos/Test.fst @@ -58,13 +58,22 @@ let more_obj = S.pointer more_struct_t #reset-options "--z3rlimit 16" +(* + * AR: 06/19: Blindly applying the #1750 fix from array.pos/Test.fst + *) + +let mk_struct_literal (x:S.struct_literal 'a) : Pure (S.struct_literal 'a) + (requires True) + (ensures fun _ -> True) = x + let caller () : HST.Stack int (requires (fun _ -> True)) (ensures (fun _ z _ -> z == 18)) = HST.push_frame(); - let ofrom : obj = S.screate _ (Some (S.struct_create struct [(|"I",18|); (|"B",true|)])) in + let l : S.struct_literal struct = mk_struct_literal [(|"I", 18|); (| "B", true |)] in + let ofrom : obj = S.screate _ (Some (S.struct_create struct l)) in let moto : more_obj = S.screate _ (Some (S.struct_create more_struct [(|"Less",S.struct_create struct [(|"I",1729|); (|"B",false|)]|); (|"ThisMore", ()|)])) in let pfrom : obj = ofrom in let pto : obj = S.field moto "Less" in diff --git a/examples/struct/disjoint.pos/Test.fst.hints b/examples/struct/disjoint.pos/Test.fst.hints index acc36d3f763..3081d3cf7b6 100644 --- a/examples/struct/disjoint.pos/Test.fst.hints +++ b/examples/struct/disjoint.pos/Test.fst.hints @@ -1,5 +1,5 @@ [ - "‡H4Žm¸hE\u0018éS\u001dŸ\u0001ðh", + "0—\u0006X~uà˃³*r†ã£†", [ [ "Test.struct", @@ -12,8 +12,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -50,7 +50,7 @@ "typing_tok_FStar.Pointer.Base.TInt@tok" ], 0, - "5a40d4a0b0c63627c53201ba4e203585" + "3de88de60380befe05a5492ef441c059" ], [ "Test.callee", @@ -64,14 +64,13 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.TBase", "constructor_distinct_FStar.Pointer.Base.TInt", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "equality_tok_FStar.Pointer.Base.TInt@tok", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.modifies_1", @@ -110,12 +109,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_134e4f4c1747efc6a2cc99203e1a1e8b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7cf2266e751c4716c1812afeccd78dcd", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_4dd239885be7fbca445e28b68b14a54e", + "refinement_interpretation_Tm_refine_a37a3c8ca4dcf11aa431310e3dd5ee90", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_d0289c880ab990123baa443e94dd3ce7", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.Pervasives.Native.fst", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", "typing_FStar.Monotonic.HyperStack.live_region", @@ -125,7 +124,7 @@ "typing_Test.struct_t" ], 0, - "8b76f7ff36872ca1a088ef7a7d37c070" + "e90bcdfc5f422d69f14ae65ae469b5c2" ], [ "Test.more_struct", @@ -139,10 +138,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pointer.Base.TBase@tok", @@ -168,8 +167,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", @@ -179,7 +178,7 @@ "typing_Test.struct_t" ], 0, - "48900398855302f981f9e28dac835f8b" + "95700e7eecff861a15b7b7d012edd186" ], [ "Test.caller", @@ -197,16 +196,15 @@ "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pointer.Base_interpretation_Tm_arrow_0a44b12744e216c6d692aa1730cf3d23", - "FStar.Pointer.Base_interpretation_Tm_arrow_2eab9385222ca254010896b1b77908b3", - "FStar.Pointer.Base_interpretation_Tm_arrow_69b9b0424244573475b5a2ed1ea95ee1", - "FStar.Pointer.Base_interpretation_Tm_arrow_94538233ac7d770dcd5647f9257e59c4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_28e00c6cddbebec863cfb4ba46afe386", + "FStar.Pointer.Base_interpretation_Tm_arrow_3039342fd2e0851a3664dcc7db386d3a", + "FStar.Pointer.Base_interpretation_Tm_arrow_6fc799a790a74ce5209418d25bd87e6d", + "FStar.Pointer.Base_interpretation_Tm_arrow_dc341725e79c77ee2826c69229248156", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "data_elim_Prims.Mkdtuple2", "data_typing_intro_Prims.Nil@tok", @@ -237,23 +235,23 @@ "equation_FStar.Pointer.Base.type_of_struct_field", "equation_FStar.Pointer.Base.type_of_struct_field_", "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_Prims.eqtype", "equation_Test.more_struct", - "equation_Test.more_struct_t", "equation_Test.struct", - "equation_Test.struct_t", + "equation_Prims.eqtype", "equation_Test.mk_struct_literal", + "equation_Test.more_struct", "equation_Test.more_struct_t", + "equation_Test.struct", "equation_Test.struct_t", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.find.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.dfst_struct_field", "function_token_typing_FStar.Pointer.Base.fun_of_list", "function_token_typing_FStar.Pointer.Base.type_of_typ", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", - "interpretation_Tm_abs_35dde1e06a2e2d55c427174b04c5ef2d", + "interpretation_Tm_abs_38d4bb2034e4c433acd11631b66192dd", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", @@ -264,10 +262,7 @@ "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", "lemma_FStar.Pointer.Base.gread_gfield", "lemma_FStar.Pointer.Base.live_gfield", "lemma_FStar.Pointer.Base.live_unused_in_disjoint", @@ -288,13 +283,6 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_Prims.Cons_a", @@ -303,15 +291,14 @@ "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_0ac192743de52a9c212800a3bfc27c72", - "refinement_interpretation_Tm_refine_134e4f4c1747efc6a2cc99203e1a1e8b", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", - "string_typing", + "refinement_interpretation_Tm_refine_a37a3c8ca4dcf11aa431310e3dd5ee90", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", "token_correspondence_FStar.Pointer.Base.dfst_struct_field", @@ -323,7 +310,6 @@ "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -339,10 +325,10 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_Test.more_struct", "typing_Test.more_struct_t", "typing_Test.struct", "typing_Test.struct_t", - "typing_Tm_abs_35dde1e06a2e2d55c427174b04c5ef2d" + "typing_Tm_abs_38d4bb2034e4c433acd11631b66192dd" ], 0, - "7b7e2a8c45a36f5bfe74cddc6c466537" + "e6546862364c8970906aff843193e968" ] ] ] \ No newline at end of file diff --git a/examples/struct/nested.pos/Test.fst.hints b/examples/struct/nested.pos/Test.fst.hints index 437c50c5153..1639c924e69 100644 --- a/examples/struct/nested.pos/Test.fst.hints +++ b/examples/struct/nested.pos/Test.fst.hints @@ -12,12 +12,12 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.array_length_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", @@ -25,7 +25,6 @@ "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", @@ -40,8 +39,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", @@ -50,7 +49,7 @@ "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.v" ], 0, - "422deadb01b951dcd9d6974fbeb2bd0e" + "695df3166fdf336f220f4e483845ad58" ], [ "Test.ty", @@ -63,12 +62,12 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.array_length_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", @@ -76,7 +75,6 @@ "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", @@ -91,8 +89,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", @@ -101,7 +99,7 @@ "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.v" ], 0, - "f8159bca0907862bb3eb4c5b793aeeeb" + "50d156a684f1f574418b8f45a8fcea43" ], [ "Test.f", @@ -119,15 +117,10 @@ "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.TBase", - "constructor_distinct_FStar.Pointer.Base.TUInt32", - "constructor_distinct_Prims.Cons", + "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_FStar.Pointer.Base.TStruct", "data_elim_Prims.Cons", "data_typing_intro_FStar.Pointer.Base.TBase@tok", @@ -152,7 +145,6 @@ "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.typ_of_struct_field", "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_base_typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", @@ -208,33 +200,25 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pointer.Base.TBase_b", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bda1058c71a030250a63d2c4e9095975", - "refinement_interpretation_Tm_refine_c524b42a1db240f5828a9b7d184ab11c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b8ca662b1ac32cab8f6f7eec9c46ad7c", + "refinement_interpretation_Tm_refine_c286fb718a6bf0819aebd9f7aa47fa97", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", @@ -259,7 +243,7 @@ "typing_Test.ty", "typing_tok_FStar.Pointer.Base.TUInt32@tok" ], 0, - "ccceb8818ac2f20412bdc6b76c44b8ef" + "f7d79b2ee420fe13b51802524671d4f7" ] ] ] \ No newline at end of file diff --git a/examples/struct/point-with-nesting.pos/Test.fst.hints b/examples/struct/point-with-nesting.pos/Test.fst.hints index baf9ef9f3bc..0047bdcda7f 100644 --- a/examples/struct/point-with-nesting.pos/Test.fst.hints +++ b/examples/struct/point-with-nesting.pos/Test.fst.hints @@ -12,8 +12,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -48,7 +48,7 @@ "typing_tok_FStar.Pointer.Base.TInt@tok" ], 0, - "edff8b373e39907c203f96c422c8dc89" + "25619ec0aa8bcca671c8fe15e0dbdaec" ], [ "Test.colored_object_struct", @@ -62,10 +62,11 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pointer.Base.TBase@tok", @@ -80,7 +81,6 @@ "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_Prims.string", - "function_token_typing_Test.point_struct", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", @@ -92,17 +92,17 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats" + "typing_FStar.List.Tot.Base.noRepeats", "typing_Test.point_struct" ], 0, - "a0affacbcb34290e9f09a76d1c426b41" + "1040ce0d3e652a92315c69fe095ef11d" ], [ "Test.write_struct_field", @@ -112,7 +112,6 @@ [ "@MaxIFuel_assumption", "@query", "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pointer.Base.modifies_1", "equation_FStar.Pointer.Base.struct_field", "equation_FStar.Pointer.Base.struct_field_", @@ -125,16 +124,16 @@ "lemma_FStar.Pointer.Base.modifies_1_readable_struct", "lemma_FStar.Pointer.Base.readable_live", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_19e84712ded1601a7059be40abccde49", - "refinement_interpretation_Tm_refine_739a91a2b02a1b49933eab814f4505e3", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_47cf4255480bcdf7c4f806aa33ac9e3f", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_cbc48cae9b8b6a3b9ce94ee71b2d46ac", "string_inversion", "token_correspondence_FStar.Pointer.Base.type_of_struct_field", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", "token_correspondence_FStar.Pointer.Base.type_of_typ" ], 0, - "e923edbe4ab16797c8783c399bc3179d" + "d3b446a691f8e01bcfca60912bd8dce8" ], [ "Test.flip", @@ -150,13 +149,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.modifies_1", @@ -204,14 +201,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_19e84712ded1601a7059be40abccde49", - "refinement_interpretation_Tm_refine_2877a411275574224c1052be29f9c165", + "refinement_interpretation_Tm_refine_391d9a8d011ba7c83bc75512adbfd9dc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_84ad335e16eb5c3dcc4de8c022b8f02e", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_d8ac5cf2cd95dc868268009ed8399a0e", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_4f7395a509aebc6d5dfadd81558c3d22", + "refinement_interpretation_Tm_refine_52816e020198d54bb0a4d17de79c5900", + "refinement_interpretation_Tm_refine_8cf6c77bc1de6ecf3a696b39dccf9a91", + "refinement_interpretation_Tm_refine_a395c6c0777307da6362e4d733b0b698", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", @@ -225,7 +222,7 @@ "typing_Test.point_struct", "typing_Test.point_t" ], 0, - "2f8d4f4255674cb10cf4c1847e1a04d7" + "19d518ee99f187c4c9124d3a1f3f2d41" ], [ "Test.flip'", @@ -241,13 +238,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.modifies_1", @@ -295,14 +290,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_19e84712ded1601a7059be40abccde49", - "refinement_interpretation_Tm_refine_2877a411275574224c1052be29f9c165", + "refinement_interpretation_Tm_refine_391d9a8d011ba7c83bc75512adbfd9dc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_84ad335e16eb5c3dcc4de8c022b8f02e", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_d8ac5cf2cd95dc868268009ed8399a0e", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_4f7395a509aebc6d5dfadd81558c3d22", + "refinement_interpretation_Tm_refine_52816e020198d54bb0a4d17de79c5900", + "refinement_interpretation_Tm_refine_8cf6c77bc1de6ecf3a696b39dccf9a91", + "refinement_interpretation_Tm_refine_a395c6c0777307da6362e4d733b0b698", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", @@ -316,7 +311,7 @@ "typing_Test.point_struct", "typing_Test.point_t" ], 0, - "8c4ef4b986f5dcc7f7444fed7f51fd6f" + "4c3597ee0bcf4118ad5706e332ad4e7b" ] ] ] \ No newline at end of file diff --git a/examples/struct/point.pos/Test.fst.hints b/examples/struct/point.pos/Test.fst.hints index 9e9fe6c0756..df5776e6934 100644 --- a/examples/struct/point.pos/Test.fst.hints +++ b/examples/struct/point.pos/Test.fst.hints @@ -12,8 +12,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -50,7 +50,7 @@ "typing_tok_FStar.Pointer.Base.TInt@tok" ], 0, - "397c3bcbd4efe35f5b2e8f72b8c444d5" + "068f5fe011112f1f3b702ed6ac014589" ], [ "Test.flip", @@ -65,14 +65,11 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", + "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.modifies_1", "equation_FStar.Pointer.Base.struct_field", @@ -114,14 +111,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_2eedbc2c54b30760c06ee08bd1905f86", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_798a0c855ad9155fb9b3356fcc12624b", - "refinement_interpretation_Tm_refine_8f0e035d092a0131eb9efad8f0162726", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_b621d7ed0791fcf82b7522ccee82cf0d", - "refinement_interpretation_Tm_refine_ebcf57cd61a79f04a0e64af1c7eb845d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_6713fe67348d058a72ebc2fb73d1d0eb", + "refinement_interpretation_Tm_refine_7d19561a7c1d6c9faa5e6cc9b897e318", + "refinement_interpretation_Tm_refine_8cf6c77bc1de6ecf3a696b39dccf9a91", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_cfb5187013c7ae2d7dd434c29ae851c8", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", @@ -134,7 +131,7 @@ "typing_Test.point_struct_t" ], 0, - "ca5be602e2f8423b038d0f06d3eb60ec" + "4ac1d440ffbb77a887b1d00620ca3941" ], [ "Test.flip'", @@ -149,14 +146,11 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", + "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.modifies_1", "equation_FStar.Pointer.Base.struct_field", @@ -198,14 +192,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_2eedbc2c54b30760c06ee08bd1905f86", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_798a0c855ad9155fb9b3356fcc12624b", - "refinement_interpretation_Tm_refine_8f0e035d092a0131eb9efad8f0162726", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_b621d7ed0791fcf82b7522ccee82cf0d", - "refinement_interpretation_Tm_refine_ebcf57cd61a79f04a0e64af1c7eb845d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_6713fe67348d058a72ebc2fb73d1d0eb", + "refinement_interpretation_Tm_refine_7d19561a7c1d6c9faa5e6cc9b897e318", + "refinement_interpretation_Tm_refine_8cf6c77bc1de6ecf3a696b39dccf9a91", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_cfb5187013c7ae2d7dd434c29ae851c8", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", @@ -218,7 +212,7 @@ "typing_Test.point_struct_t" ], 0, - "779bce2e28b0b3ee766e8dd3f733ddfa" + "048c8e2802b70193dd119ccb001185df" ] ] ] \ No newline at end of file diff --git a/examples/struct/taggedunion.pos/Test.fst.hints b/examples/struct/taggedunion.pos/Test.fst.hints index 27c409fe05e..e8ebf90a024 100644 --- a/examples/struct/taggedunion.pos/Test.fst.hints +++ b/examples/struct/taggedunion.pos/Test.fst.hints @@ -12,9 +12,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -46,7 +46,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "fe506e245541826e31428a8a8ffc43c8" + "056b7db2d3154312f74a30269ec51372" ], [ "Test.either_tags", @@ -60,42 +60,38 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.union_typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_Test.either_l", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", + "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt32.vu_inv", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", @@ -105,24 +101,26 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "string_typing", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", + "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.uint_to_t", "typing_Prims.pow2", "typing_Test.either_l" ], 0, - "15ee3f16b56144485eb86f56546172df" + "3f36403e815a2d77b5ee3cf57959e45e" ], [ "Test.option_l", @@ -135,9 +133,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -172,7 +170,7 @@ "typing_tok_FStar.Pointer.Base.TUnit@tok" ], 0, - "029d7a9c618dc8bc570c5754d93758e3" + "b4cc864e849bd886c01494d1fb35e314" ], [ "Test.option_tags", @@ -186,42 +184,38 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.union_typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_Test.option_l", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", + "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt32.vu_inv", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", @@ -231,24 +225,26 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "string_typing", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", + "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.uint_to_t", "typing_Prims.pow2", "typing_Test.option_l" ], 0, - "10faf6f7a3cda7c7a46e809b54ef2d16" + "1b0138c58257c038f9de042cf5c24867" ], [ "Test.s_l", @@ -261,8 +257,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -297,7 +293,7 @@ "typing_tok_FStar.Pointer.Base.TUInt8@tok" ], 0, - "ead8bf55b74667e740588828feb6b93d" + "e52c31ffeb2cdbe61c3dbf44282cd8a0" ], [ "Test.s_x", @@ -310,8 +306,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "bool_inversion", "constructor_distinct_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", "equation_Test.s_l", @@ -328,8 +324,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.Pervasives.Native.fst", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.noRepeats", @@ -337,7 +333,7 @@ "typing_Test.s_l" ], 0, - "2345d2e479fc65d121f4c43180813928" + "cbc243b379b76aaf1c1f3c56f7153d6b" ], [ "Test.s_y", @@ -350,12 +346,11 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Test.s_l", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "bool_inversion", "constructor_distinct_Prims.Cons", + "data_elim_Prims.Cons", "equation_FStar.Pervasives.Native.fst", + "equation_Prims.eqtype", "equation_Test.s_l", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "function_token_typing_FStar.Pervasives.Native.fst", @@ -369,8 +364,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -380,7 +375,7 @@ "typing_Test.s_l" ], 0, - "1d2e55a4004f4650707a89c00316dd20" + "b8d3b854c57f1d6ef52aa6c6b2832fe8" ], [ "Test.step_0", @@ -394,10 +389,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TBase", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "bool_inversion", "constructor_distinct_FStar.Pointer.Base.TBase", "constructor_distinct_FStar.Pointer.Base.TUInt8", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", @@ -405,7 +399,6 @@ "equality_tok_FStar.Pointer.Base.TUInt16@tok", "equality_tok_FStar.Pointer.Base.TUInt8@tok", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.modifies_1", "equation_FStar.Pointer.Base.struct_field", @@ -451,11 +444,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_fa4c2f1f37f5de2534b577caafde40a3", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_8f840f280af8d7eb0bf7bcc4407014b1", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_fc9654ce4b1ec59d794a7d8ae7206123", "string_typing", "token_correspondence_FStar.Pervasives.Native.fst", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", "typing_FStar.Monotonic.HyperStack.live_region", @@ -467,7 +460,7 @@ "typing_tok_FStar.Pointer.Base.TUInt16@tok" ], 0, - "3ed587ff3b48062aba68dbbb7ec7c98a" + "1973585ccfad0cd2cace8e4e23fece66" ], [ "Test.step", @@ -483,8 +476,8 @@ "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "assumption_FStar.UInt32.t__uu___haseq", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -535,14 +528,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_10d2114b0677452a689e8a3374fb6710", - "refinement_interpretation_Tm_refine_2cd2e6d548e6664ecaeaca294848154a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_173489672a6ed91286550aff1a10f363", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", - "refinement_interpretation_Tm_refine_fa4c2f1f37f5de2534b577caafde40a3", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_d4fd04b182ed2cb7a81d3be4fd38602c", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", + "refinement_interpretation_Tm_refine_fc9654ce4b1ec59d794a7d8ae7206123", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", @@ -556,7 +549,7 @@ "typing_Test.st_typ", "typing_tok_FStar.Pointer.Base.TUInt16@tok" ], 0, - "6633cf26f301f796b322765fe35fc7e8" + "d01ef499c632432d68f12b9e2ebe2d30" ], [ "Test.step_alt", @@ -570,8 +563,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "assumption_FStar.UInt32.t__uu___haseq", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -639,17 +632,18 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_2cd2e6d548e6664ecaeaca294848154a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_92a815dc70897168b711ef53e3e29b4a", + "refinement_interpretation_Tm_refine_8f840f280af8d7eb0bf7bcc4407014b1", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9cebae7efeeb142e733f4bf1e19f0f00", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", + "refinement_interpretation_Tm_refine_96a0180c31e77f4e13a19681491bfb15", "refinement_interpretation_Tm_refine_bc4a7bb32eb4db8bcf4cc79868d17c38", - "refinement_interpretation_Tm_refine_fa4c2f1f37f5de2534b577caafde40a3", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_d4fd04b182ed2cb7a81d3be4fd38602c", + "refinement_interpretation_Tm_refine_dc125554d674a3cffedc49709b8f49c2", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", + "refinement_interpretation_Tm_refine_fc9654ce4b1ec59d794a7d8ae7206123", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", @@ -669,7 +663,7 @@ "unit_inversion", "unit_typing" ], 0, - "648ff5eed668cbd10bdfbfaa41ba9b9e" + "8317c2ad87a285de7c2f32005bf46c6f" ] ] ] \ No newline at end of file diff --git a/examples/struct/union.pos/Test.fst.hints b/examples/struct/union.pos/Test.fst.hints index ca406c944e3..10b6d09e477 100644 --- a/examples/struct/union.pos/Test.fst.hints +++ b/examples/struct/union.pos/Test.fst.hints @@ -12,8 +12,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", @@ -50,7 +50,7 @@ "typing_tok_FStar.Pointer.Base.TUnit@tok" ], 0, - "740b99837f7b716eb11a0ee2c7bf50a3" + "f8d6aa8da31ef971cbc8e0f663ba53ba" ], [ "Test.u", @@ -64,10 +64,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pointer.Base.TBase@tok", @@ -93,8 +93,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", @@ -104,7 +104,7 @@ "typing_tok_FStar.Pointer.Base.TUInt32@tok" ], 0, - "bbf8ad33eee7e9bd79ef502c50196605" + "c3560e38230d45886da987addc159609" ], [ "Test.f", @@ -118,10 +118,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "bool_inversion", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "equation_FStar.HyperStack.ST.equal_domains", @@ -174,14 +174,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_0dca68545d746f4e0650dbc225571885", + "refinement_interpretation_Tm_refine_04d90561d6fe87478a2505f11a105992", + "refinement_interpretation_Tm_refine_383edd4de650216f4c9a21d114d12b77", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7cf2266e751c4716c1812afeccd78dcd", - "refinement_interpretation_Tm_refine_7e42291fd69a2db2d4e3c50a81b13c96", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_b621d7ed0791fcf82b7522ccee82cf0d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_5416e64ce737f1da0488c255921721b9", + "refinement_interpretation_Tm_refine_919979f086a489c5badf922e0df226ec", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_dfe5fd280f3011063cb4a6fe6ede63c7", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_eda6b0f0d041a898bc465336a5339e3b", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -195,7 +196,7 @@ "typing_Test.t", "typing_Test.u" ], 0, - "5eb0d29d1f7d046c4502c6a5a7bd4ddc" + "1c6518ffed91ac4d2973ffb65e43361c" ] ] ] \ No newline at end of file diff --git a/examples/tactics/AnnoyingVCs.fst.hints b/examples/tactics/AnnoyingVCs.fst.hints index d6b210ab6e6..19da8aeca43 100644 --- a/examples/tactics/AnnoyingVCs.fst.hints +++ b/examples/tactics/AnnoyingVCs.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "ffecd333026288c82d918fab6a239861" + "2fa2fe671f011cc63ad55ab4342261a9" ], [ "AnnoyingVCs.test2", @@ -17,7 +17,7 @@ 1, [ "@query", "true_interp" ], 0, - "7c64ffdb7c0730a23ae4978d85f8693c" + "63c33b79404a3f147c5bfca38d019f18" ], [ "AnnoyingVCs.test2", @@ -26,7 +26,7 @@ 1, [ "@query", "true_interp" ], 0, - "f3d41dbbac0a543e51f08d9e41ecb882" + "10c985579febccf71facc6c2684a8aa0" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Antiquote.fst b/examples/tactics/Antiquote.fst index 32e0988cb69..695c9799069 100644 --- a/examples/tactics/Antiquote.fst +++ b/examples/tactics/Antiquote.fst @@ -17,62 +17,62 @@ module Antiquote open FStar.Tactics -let _ = assert_by_tactic True - (fun () -> let tm = (`(1 + `@(1))) in - let z = 16 in - let x = `16 in - let tm2 = `(1 + `@(z)) in - let tm3 = `(1 + `#(x)) in - debug ("tm = " ^ term_to_string tm); - debug ("tm2 = " ^ term_to_string tm2); - debug ("tm3 = " ^ term_to_string tm3); - let ty = tc tm in - debug ("ty = " ^ term_to_string ty); - let ty2 = tc tm2 in - debug ("ty2 = " ^ term_to_string ty2); - let ty3 = tc tm3 in - debug ("ty3 = " ^ term_to_string ty3); - ()) +let _ = assert True + by (let tm = (`(1 + `@(1))) in + let z = 16 in + let x = `16 in + let tm2 = `(1 + `@(z)) in + let tm3 = `(1 + `#(x)) in + debug ("tm = " ^ term_to_string tm); + debug ("tm2 = " ^ term_to_string tm2); + debug ("tm3 = " ^ term_to_string tm3); + let ty = tc tm in + debug ("ty = " ^ term_to_string ty); + let ty2 = tc tm2 in + debug ("ty2 = " ^ term_to_string ty2); + let ty3 = tc tm3 in + debug ("ty3 = " ^ term_to_string ty3); + ()) (* TODO: When --use_extracted_interfaces is given, if we do * ignore (tc tm), the tactics get stuck. Investigate. *) -let _ = assert_by_tactic True - (fun () -> let y = True in - let tm = `(False ==> `@y) in - debug ("tm = " ^ term_to_string tm); - ignore (tc tm)) +let _ = assert True + by (let y = True in + let tm = `(False ==> `@y) in + debug ("tm = " ^ term_to_string tm); + ignore (tc tm)) -let _ = assert_by_tactic True - (fun () -> let y = bool in - let tm = `(int * (`@y)) in - debug ("tm = " ^ term_to_string tm); - ignore (tc tm)) +let _ = assert True + by (let y = bool in + let tm = `(int * (`@y)) in + debug ("tm = " ^ term_to_string tm); + ignore (tc tm)) -let _ = assert_by_tactic True - (fun () -> let y = 5 in - let tm = `((+) (`@y) 25) in - debug ("tm = " ^ term_to_string tm); - ignore (tc tm)) +let _ = assert True + by (let y = 5 in + let tm = `((+) (`@y) 25) in + debug ("tm = " ^ term_to_string tm); + ignore (tc tm)) -let _ = assert_by_tactic True - (fun () -> let y = 5 in - let tm = `(fun z -> z + (`@y)) in - debug ("tm = " ^ term_to_string tm); - ignore (tc tm)) +let _ = assert True + by (let y = 5 in + let tm = `(fun z -> z + (`@y)) in + debug ("tm = " ^ term_to_string tm); + ignore (tc tm)) -let _ = assert_by_tactic True - (fun () -> let y = 5 in - let tm = `(if (`@y) = 22 then (`@y) - 1 else 1 - (`@y)) in - debug ("tm = " ^ term_to_string tm); - ignore (tc tm)) +let _ = assert True + by (let y = 5 in + let tm = `(if (`@y) = 22 then (`@y) - 1 else 1 - (`@y)) in + debug ("tm = " ^ term_to_string tm); + ignore (tc tm)) -let _ = assert_by_tactic True - (fun () -> let y = 5 in - let tm = `(match (`@y) with | 4 -> 1 + (`@y) | _ -> 99) in - debug ("tm = " ^ term_to_string tm); - ignore (tc tm)) +let _ = assert True + by (let y = 5 in + let tm = `(match (`@y) with | 4 -> 1 + (`@y) | _ -> 99) in + debug ("tm = " ^ term_to_string tm); + ignore (tc tm)) // This one can extract, basically to mk_e_app (plus, [1; t]) let f (t : term) = `(1 + (`#t)) diff --git a/examples/tactics/Antiquote.fst.hints b/examples/tactics/Antiquote.fst.hints index 88a26e0b6be..8bb0e7ee617 100644 --- a/examples/tactics/Antiquote.fst.hints +++ b/examples/tactics/Antiquote.fst.hints @@ -1 +1 @@ -[ "^@y0\u001ae—wj3ÖÆáš<Ž", [] ] \ No newline at end of file +[ "³v\twÊÊø¤Ã¾M†b\f€\u0006", [] ] \ No newline at end of file diff --git a/examples/tactics/Apply.fst b/examples/tactics/Apply.fst index 98d9afc3220..27cf3c4a387 100644 --- a/examples/tactics/Apply.fst +++ b/examples/tactics/Apply.fst @@ -26,4 +26,4 @@ let refl a x = () let tau () : Tac unit = apply_lemma (quote refl) -let lem1 = assert_by_tactic (x == x) tau +let lem1 = assert (x == x) by tau () diff --git a/examples/tactics/Apply.fst.hints b/examples/tactics/Apply.fst.hints index 69a9f823d57..654f988234a 100644 --- a/examples/tactics/Apply.fst.hints +++ b/examples/tactics/Apply.fst.hints @@ -1 +1 @@ -[ ":šžÚâ0\u0017&Ö\u0017ìX¼€¯$", [] ] \ No newline at end of file +[ "øCF©w–‰ñiªNpÕÔ4\u000f", [] ] \ No newline at end of file diff --git a/examples/tactics/ApplyLemma.fst b/examples/tactics/ApplyLemma.fst index b464011531b..88a2081ef56 100644 --- a/examples/tactics/ApplyLemma.fst +++ b/examples/tactics/ApplyLemma.fst @@ -24,10 +24,10 @@ assume val x : p assume val lem1 : p -> Lemma q assume val lem2 : p -> squash q -let _ = assert_by_tactic q - (fun () -> apply_lemma (`lem1); - exact (`x)) +let _ = assert q + by (apply_lemma (`lem1); + exact (`x)) -let _ = assert_by_tactic q - (fun () -> apply_lemma (`lem2); - exact (`x)) +let _ = assert q + by (apply_lemma (`lem2); + exact (`x)) diff --git a/examples/tactics/ApplyLemma.fst.hints b/examples/tactics/ApplyLemma.fst.hints index 52439ee0338..9a9d8160724 100644 --- a/examples/tactics/ApplyLemma.fst.hints +++ b/examples/tactics/ApplyLemma.fst.hints @@ -1 +1 @@ -[ "žã\rñ9)fyXˆ¥}\t(Ãý", [] ] \ No newline at end of file +[ "gô\u0018)$$À\b\u0007ÔÞ¯È Vž", [] ] \ No newline at end of file diff --git a/examples/tactics/Arith.fst b/examples/tactics/Arith.fst index 23c45b4f92c..56cc7f2eb6a 100644 --- a/examples/tactics/Arith.fst +++ b/examples/tactics/Arith.fst @@ -43,17 +43,17 @@ let lem1 (x:int) = by tau1 () let lem2 (x:int) = - assert_by_tactic (List.rev [1;2;3;4] == [4;3;2;1] /\ op_Multiply 2 (x + 3) == 6 + (op_Multiply 3 x) - x) - split_arith + assert (List.rev [1;2;3;4] == [4;3;2;1] /\ op_Multiply 2 (x + 3) == 6 + (op_Multiply 3 x) - x) + by split_arith () let lem3 (x y z : int) (f : int -> int) = assume (x + f y > 2); - assert_by_tactic (x + f y > 1 /\ f == f /\ List.length (List.Tot.tail [1;2;3]) == 2) - split_arith + assert (x + f y > 1 /\ f == f /\ List.length (List.Tot.tail [1;2;3]) == 2) + by split_arith () let lem4 (x y z : int) (f : int -> int) = assume (forall y. f y > y); - assert_by_tactic (f 5 > 1 /\ f == f /\ List.length (List.Tot.tail [1;2;3]) == 2 - /\ 1 + 2 == 3 /\ (forall x. f (f x) > x) - /\ (forall (x y : int). x > 2 /\ y > 2 ==> op_Multiply x y > x + y)) - split_arith + assert (f 5 > 1 /\ f == f /\ List.length (List.Tot.tail [1;2;3]) == 2 + /\ 1 + 2 == 3 /\ (forall x. f (f x) > x) + /\ (forall (x y : int). x > 2 /\ y > 2 ==> op_Multiply x y > x + y)) + by split_arith () diff --git a/examples/tactics/Arith.fst.hints b/examples/tactics/Arith.fst.hints index 952452177d8..fe6c283c187 100644 --- a/examples/tactics/Arith.fst.hints +++ b/examples/tactics/Arith.fst.hints @@ -1,5 +1,5 @@ [ - "6\t³~Z\u0010uÄôJ\u0013Æ\fSØT", + "`T\u0018…11ì™hÜj¤\tÆ\u000e¿", [ [ "Arith.lem0", @@ -12,7 +12,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a4b7b0b2d6784b313f4e49413ef1a861" + "eef119a9a94ee5ee30307b387f1a6f4c" ], [ "Arith.lem1", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a543ff21125d45532093eeb01440fdeb" + "4d92f8975f90c3d699acb7a4831ea00b" ], [ "Arith.lem1", @@ -48,7 +48,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "886a71e3827c2430b565463dee419c47" + "d224d8ef9a53dd88cec0486930b7b462" ], [ "Arith.lem2", @@ -61,7 +61,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c4031206cd72f7742997ee02118233b6" + "6207704667208c4d846ab11ae867eba9" ], [ "Arith.lem2", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "50b2f77a6e242cc04efd2c40e993549e" + "2000f4676ede77c63a838bb14547996a" ], [ "Arith.lem3", @@ -99,7 +99,7 @@ "projection_inverse_Prims.Cons_tl", "true_interp" ], 0, - "1472e5bd09102063660d39099b504fb5" + "057b520e8de6e6f110251f2f98804cd0" ], [ "Arith.lem3", @@ -125,7 +125,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "dd6b93966a0b345bd45d77444d91577c" + "93ef39a6614b946a0f7ef0d14ee399ed" ], [ "Arith.lem3", @@ -140,7 +140,7 @@ "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" ], 0, - "908952678c73e54f4a6cbe415eba7e14" + "b98b297367631d310d7be8ba57944557" ], [ "Arith.lem4", @@ -155,7 +155,7 @@ "projection_inverse_Prims.Cons_tl", "true_interp" ], 0, - "942cf54c6e66b7b221cfd3bb58dd1ea0" + "b30d655488357f51c71863768344ff78" ], [ "Arith.lem4", @@ -173,7 +173,7 @@ "unit_inversion", "unit_typing" ], 0, - "2c983970342dc88e9414aecf30ff397a" + "fff2952aa33ee7f14f12c26d4e130201" ], [ "Arith.lem4", @@ -182,12 +182,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", "int_inversion", - "refinement_interpretation_Tm_refine_6c84834c3a3e1848d0176ea60ab2b178" + "refinement_interpretation_Tm_refine_51a1a11c85affab19a1e24b7b60f7bf9" ], 0, - "82b72a415569873563e6b1a1fd2e4ece" + "934e25d86aa6002526be3c58395373eb" ], [ "Arith.lem4", @@ -213,7 +213,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "cf89949d8b8e8d31c5bfa884187f2574" + "344b76807eed3c9197ba3b9a8c875b54" ], [ "Arith.lem4", @@ -223,10 +223,10 @@ [ "@MaxIFuel_assumption", "@query", "int_typing", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c84834c3a3e1848d0176ea60ab2b178" + "refinement_interpretation_Tm_refine_51a1a11c85affab19a1e24b7b60f7bf9" ], 0, - "2d08fee331b27836bddddb349901f9ac" + "35ec823c8ae713a6bd1140c0ceb4d06b" ], [ "Arith.lem0", @@ -239,7 +239,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9e0f1733bfa1005f179d781021ab9482" + "ca9a06bb552361984f0632d0d54b6866" ], [ "Arith.lem1", @@ -262,7 +262,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2e3c6dea3fc135301e7ec827294b7a61" + "7399cca8ae47860df73c362911944d52" ], [ "Arith.lem1", @@ -275,7 +275,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "64c075b1f00fb7dff86d819797876150" + "d889a4d2fb04a595601d5b9cd6e89023" ], [ "Arith.lem2", @@ -288,7 +288,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0e3b8b58c9549b07c98b76b8ea0f3dbe" + "e5b10653f0b72e746b72ef0acd4b1b8f" ], [ "Arith.lem2", @@ -311,7 +311,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1c59aeebd52daeb9a5398edbc9a4ef43" + "bf44954f3d86e00c2c945fb1172a1ee4" ], [ "Arith.lem3", @@ -326,7 +326,7 @@ "projection_inverse_Prims.Cons_tl", "true_interp" ], 0, - "c0e3f3d923b622dedf90db3fefc01ce4" + "701eed3d6c21df0a6a0c6e1fbccc80f7" ], [ "Arith.lem3", @@ -352,7 +352,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "ca1e95fa94458b328b6bc031b351b8f6" + "68450fc0ab159b7db2bba21be4cbb38b" ], [ "Arith.lem3", @@ -367,7 +367,7 @@ "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" ], 0, - "058e7402ce669354a0cfb06fac5979cc" + "448b389859279321e39cde362dcaf71c" ], [ "Arith.lem4", @@ -382,7 +382,7 @@ "projection_inverse_Prims.Cons_tl", "true_interp" ], 0, - "107f002d2ae13f9cebd171e89b1703fe" + "a63c6a6be096c243b4fe9580f4334ce6" ], [ "Arith.lem4", @@ -400,7 +400,7 @@ "unit_inversion", "unit_typing" ], 0, - "d5190caa999cc8999b8527a2f90432bd" + "d1291a00b4d72c9cda80f0161c6ca419" ], [ "Arith.lem4", @@ -409,12 +409,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", "int_inversion", - "refinement_interpretation_Tm_refine_6c84834c3a3e1848d0176ea60ab2b178" + "refinement_interpretation_Tm_refine_51a1a11c85affab19a1e24b7b60f7bf9" ], 0, - "98370ed0b12f329e5a6675a390b64922" + "2861483c71ef622e3c439d9003b2179a" ], [ "Arith.lem4", @@ -440,7 +440,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "fb7254d67ee7bc5b815681a867355be3" + "40f1537aa9db9f4063e9072b870b5210" ], [ "Arith.lem4", @@ -450,10 +450,10 @@ [ "@MaxIFuel_assumption", "@query", "int_typing", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c84834c3a3e1848d0176ea60ab2b178" + "refinement_interpretation_Tm_refine_51a1a11c85affab19a1e24b7b60f7bf9" ], 0, - "c2e67f963d6752c3ebab8c84ea0d823c" + "965f54740b406ddee4a628cd05a2877e" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Bane.Lib.fst.hints b/examples/tactics/Bane.Lib.fst.hints index 9e9bc387fc6..9a622ffe470 100644 --- a/examples/tactics/Bane.Lib.fst.hints +++ b/examples/tactics/Bane.Lib.fst.hints @@ -20,7 +20,7 @@ "unit_typing" ], 0, - "bd61316de21a92b58ff84b00a70faa17" + "8711a0936867baafdd31add407adc085" ], [ "Bane.Lib.repeat_or_fail", @@ -41,7 +41,7 @@ "unit_typing" ], 0, - "a2d03709edee2b54b4a6974ebc0d0ec4" + "2aefffe0f494253aa667360d8ec9fb46" ], [ "Bane.Lib.mytac", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "be39d75f0ab887aa0c2ad2c9081782c5" + "f173810bef57b752b36f38f80e0021fe" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Bane.Test.fst b/examples/tactics/Bane.Test.fst index b8dd4675f4b..f830638c4ff 100644 --- a/examples/tactics/Bane.Test.fst +++ b/examples/tactics/Bane.Test.fst @@ -18,4 +18,4 @@ open FStar.Tactics open Bane.Lib let test = - assert_by_tactic for_you Bane.Lib.mytac + assert for_you by Bane.Lib.mytac () diff --git a/examples/tactics/Bane.Test.fst.hints b/examples/tactics/Bane.Test.fst.hints index d7ce39dcb65..d3644356692 100644 --- a/examples/tactics/Bane.Test.fst.hints +++ b/examples/tactics/Bane.Test.fst.hints @@ -1 +1 @@ -[ "ª\u001aŽˆ2Í6¹ª­æ±£œa", [] ] \ No newline at end of file +[ "Ó–\u001c·nd\u0013÷ûq+|$©­\u0002", [] ] \ No newline at end of file diff --git a/examples/tactics/Bug1252.fst.hints b/examples/tactics/Bug1252.fst.hints index e9417de3bcb..f6bcb900bed 100644 --- a/examples/tactics/Bug1252.fst.hints +++ b/examples/tactics/Bug1252.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "function_token_typing_Bug1252.p1", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "86da561f779893d8093c811079ee3cd9" + "26fd99f62caca3bff3e9329af17101b2" ], [ "Bug1252.f", @@ -22,10 +22,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "function_token_typing_Bug1252.p1", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c291b09185dfe2872134cb71034ed1e9" + "0d991c3c019acb0be7ff3d06bbe66a20" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Bug1256.fst b/examples/tactics/Bug1256.fst index fb090c99b73..58bc6e46cc4 100644 --- a/examples/tactics/Bug1256.fst +++ b/examples/tactics/Bug1256.fst @@ -28,42 +28,38 @@ let my_cut (t:term) : Tac unit = assume val aug : (unit -> Type0) -> Type0 let test (p:(unit -> Type0)) (q:(unit -> Type0)) - = assert_by_tactic - (p == q ==> + = assert (p == q ==> aug p ==> aug q) - (fun () -> - let eq = implies_intro () in - let h = implies_intro () in - ddump "A"; - my_cut (type_of_binder h); - ddump "B"; - rewrite eq; - norm []; - ddump "C"; - let hh = intro () in - apply (quote return_squash); - exact (pack (Tv_Var (bv_of_binder hh))); - ddump "D"; - exact (pack (Tv_Var (bv_of_binder h))) ) + by (let eq = implies_intro () in + let h = implies_intro () in + ddump "A"; + my_cut (type_of_binder h); + ddump "B"; + rewrite eq; + norm []; + ddump "C"; + let hh = intro () in + apply (quote return_squash); + exact (pack (Tv_Var (bv_of_binder hh))); + ddump "D"; + exact (pack (Tv_Var (bv_of_binder h))) ) [@expect_failure] let test2 (post:(unit -> Type0)) - = assert_by_tactic - ((post == (fun x -> post ())) ==> + = assert ((post == (fun x -> post ())) ==> aug post ==> aug (fun x -> post ())) - (fun () -> - let eq = implies_intro () in - let h = implies_intro () in - ddump "A"; - my_cut (type_of_binder h); - ddump "B"; - rewrite eq; - norm []; - ddump "C"; - let hh = intro () in - () ) + by (let eq = implies_intro () in + let h = implies_intro () in + ddump "A"; + my_cut (type_of_binder h); + ddump "B"; + rewrite eq; + norm []; + ddump "C"; + let hh = intro () in + ()) let test3 (p:(unit -> Type0)) (q:(unit -> Type0)) = assert (p == q ==> aug p ==> aug q) diff --git a/examples/tactics/Bug1256.fst.hints b/examples/tactics/Bug1256.fst.hints index b273e894901..c8963370e07 100644 --- a/examples/tactics/Bug1256.fst.hints +++ b/examples/tactics/Bug1256.fst.hints @@ -1,5 +1,5 @@ [ - " ˜\bÿFÛžBäúºF@=€", + "àHæm’î¯×‡&\u0004¶¼`Î", [ [ "Bug1256.ddump", @@ -16,7 +16,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a8ab9d15adf223e04a871fafd4aae92b" + "0294f95b758875a2ae68d423b08882a8" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Bug1270.fst b/examples/tactics/Bug1270.fst index 6adca1d3980..83f85a84289 100644 --- a/examples/tactics/Bug1270.fst +++ b/examples/tactics/Bug1270.fst @@ -18,9 +18,8 @@ module Bug1270 open FStar.Tactics let test = - assert_by_tactic (True ==> True) - (fun () -> - (fun () -> + assert (True ==> True) + by ((fun () -> let _ = forall_intros () in let env = cur_env () in let hyps = binders_of_env env in diff --git a/examples/tactics/Bug1270.fst.hints b/examples/tactics/Bug1270.fst.hints index d0028d1c666..e370716e63f 100644 --- a/examples/tactics/Bug1270.fst.hints +++ b/examples/tactics/Bug1270.fst.hints @@ -1,5 +1,5 @@ [ - "\u0010JVAc¡ÓIq\fÛ4%vÍö", + "Bˆ\u0003\u001aÉÅS\u0011Ãu\u0002\u0011\u0000\u001eò)", [ [ "Bug1270.test", @@ -16,7 +16,7 @@ "typing_FStar.Reflection.Basic.binders_of_env" ], 0, - "09533ed5193c7e2a1c969d6c1265dea3" + "39183aae0b319e9bea5989c539fc96cc" ], [ "Bug1270.test", @@ -33,7 +33,7 @@ "typing_FStar.Reflection.Basic.binders_of_env" ], 0, - "969a13142a08160ba24bebd19a033cf8" + "c031d5cf75e8e96e2464302b95b81505" ], [ "Bug1270.test", @@ -50,7 +50,7 @@ "typing_FStar.Reflection.Basic.binders_of_env" ], 0, - "2c62ac0b64265e7cdf1e3a013d72f5ab" + "1e25a18aa0eb5f08985bdddd8d4dc05e" ], [ "Bug1270.test", @@ -67,7 +67,7 @@ "typing_FStar.Reflection.Basic.binders_of_env" ], 0, - "82ae53380292aa94711615f7cc073b78" + "c8e12adf12c9d240c93a2331249ab04c" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Bug1272.fst b/examples/tactics/Bug1272.fst index c75801b1dc5..af3d3b7fac8 100644 --- a/examples/tactics/Bug1272.fst +++ b/examples/tactics/Bug1272.fst @@ -23,17 +23,16 @@ let unsquash #a : a -> squash a = fun _ -> () let broken (a: Type0) = - assert_by_tactic a (fun () -> - apply (quote (unsquash #a)); - let xx : a = admit () in - exact (quote xx)) + assert a + by (apply (quote (unsquash #a)); + let xx : a = admit () in + exact (quote xx)) let yy : (Type0 -> unit) = synth_by_tactic (fun () -> exact (norm_term [] (quote broken))) let _ = - assert_by_tactic True - (fun () -> - admit (); - let x = quote 1 in - debug (term_to_string (norm_term [] x))) + assert True + by (admit (); + let x = quote 1 in + debug (term_to_string (norm_term [] x))) diff --git a/examples/tactics/Bug1272.fst.hints b/examples/tactics/Bug1272.fst.hints index 5fea83d5f4e..31035c8f36b 100644 --- a/examples/tactics/Bug1272.fst.hints +++ b/examples/tactics/Bug1272.fst.hints @@ -1 +1 @@ -[ "ZµS-“û\u0016þ^Z?ø <|j", [] ] \ No newline at end of file +[ "çòûÔ»2\u0006ªä\u000ejäg;A", [] ] \ No newline at end of file diff --git a/examples/tactics/Bug1299.fst b/examples/tactics/Bug1299.fst index 4b9c22bc441..72328b26fbb 100644 --- a/examples/tactics/Bug1299.fst +++ b/examples/tactics/Bug1299.fst @@ -35,9 +35,9 @@ let make_term () : Tac term = pack (Tv_Abs binder (mk_app id_tm [(mk_app failing_tm [(tt_tm, Q_Explicit)], Q_Explicit)])) let test : unit = - assert_by_tactic True - (fun () -> should_fail (fun () -> let tm = make_term () in - let normalized_tm = norm_term [delta] tm in - debug ("n = " ^ term_to_string normalized_tm); - let t = unquote #(unit -> Tac unit) normalized_tm in - t ())) + assert True + by (should_fail (fun () -> let tm = make_term () in + let normalized_tm = norm_term [delta] tm in + debug ("n = " ^ term_to_string normalized_tm); + let t = unquote #(unit -> Tac unit) normalized_tm in + t ())) diff --git a/examples/tactics/Bug1299.fst.hints b/examples/tactics/Bug1299.fst.hints index 98dabadb715..ed060ca56a8 100644 --- a/examples/tactics/Bug1299.fst.hints +++ b/examples/tactics/Bug1299.fst.hints @@ -1,5 +1,5 @@ [ - "@9\u001cdÌ'}^Ì5·úìÝY\"", + "®7È=6\u0003}\u0005|/|gK|u\\", [ [ "Bug1299.should_fail", @@ -26,7 +26,7 @@ "unit_typing" ], 0, - "58c5ec3d54b35fefc4bcbcd2b20ceac4" + "251a995c73abeb84ba460ae25a5ffad0" ], [ "Bug1299.should_fail", @@ -53,7 +53,7 @@ "unit_typing" ], 0, - "cf14a97b7f86f91f4f571e50381c36f1" + "892baa3e595a3550427a4ea598c9f283" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Canon.fst b/examples/tactics/Canon.fst index 9405b89875d..f4d79a098dc 100644 --- a/examples/tactics/Canon.fst +++ b/examples/tactics/Canon.fst @@ -31,56 +31,56 @@ let check_canon () = (fun () -> dump "`canon` left the following goals"; fail "") -let lem0 = assert_by_tactic (x * (y * z) == (x * y) * z) check_canon -let lem0' = assert_by_tactic (w * (x * (y * z)) == ((z * y) * x) * w) check_canon +let lem0 = assert (x * (y * z) == (x * y) * z) by check_canon () +let lem0' = assert (w * (x * (y * z)) == ((z * y) * x) * w) by check_canon () // TODO: for now, canon is not enough as we don't collect factors, so we // leave the rest to the SMT let lem1 = - assert_by_tactic ((x + y) * (z + z) == 2 * z * (y + x)) - canon + assert ((x + y) * (z + z) == 2 * z * (y + x)) + by canon () let lem2 (x : int) = - assert_by_tactic (2 + x + 3 * 8 == x + 26) - check_canon + assert (2 + x + 3 * 8 == x + 26) + by check_canon () let lem3 (a b c d e : int) = - assert_by_tactic (c + (b + a) == b + (a + c)) - check_canon + assert (c + (b + a) == b + (a + c)) + by check_canon () let lem3_nat (a b c d e : (x:nat{0 <= x /\ x < 256})) = - assert_by_tactic (c + (b + a) == b + (a + c)) - check_canon + assert (c + (b + a) == b + (a + c)) + by check_canon () let lem4 (a b c : int) = - assert_by_tactic ((a+c+b)*(b+c+a) == a * a + (((b+c)*(c+b) + a * (b+c)) + c*a) + b*a) - check_canon + assert ((a+c+b)*(b+c+a) == a * a + (((b+c)*(c+b) + a * (b+c)) + c*a) + b*a) + by check_canon () (* The following tests should pass, but it's too slow to run them on every regression build, *) (* and the previous ones are probably enough *) let lem5 (a b c d e : int) = - assert_by_tactic + assert ((a+b+c+d+e)*(a+b+c+d+e) == a * a + a * b + a * c + a * d + a * e + b * a + b * b + b * c + b * d + b * e + c * a + c * b + c * c + c * d + c * e + d * a + d * b + d * c + d * d + d * e + e * a + e * b + e * c + e * d + e * e) - check_canon + by check_canon () let lem6 (a b c d e : int) = - assert_by_tactic + assert ((a+b+c+d+e)*(e+d+c+b+a) == a * a + a * b + a * c + a * d + a * e + b * a + b * b + b * c + b * d + b * e + c * a + c * b + c * c + c * d + c * e + d * a + d * b + d * c + d * d + d * e + e * a + e * b + e * c + e * d + e * e) - check_canon + by check_canon () let lem7 (a b c d : int) = - assert_by_tactic + assert ((a+b+c+d)*(b+c+d+a) == a * a + b * b @@ -92,21 +92,21 @@ let lem7 (a b c d : int) = + b * c + b * c + b * d + b * d + c * d + c * d) - check_canon + by check_canon () let lem8 (a b c d : int) = assert_norm (1 * 1 == 1); - assert_by_tactic ((a * b) * (c * d) == d * b * c * a) - check_canon + assert ((a * b) * (c * d) == d * b * c * a) + by check_canon () let lem9 (n:int) (p:int) (r:int) (h:int) (r0:int) (r1:int) (h0:int) (h1:int) (h2:int) (s1:int) (d0:int) (d1:int) (d2:int) (hh:int) = - assert_by_tactic (((h2 * (n * n) + h1 * n + h0) * (r1*n + r0)) = + assert (((h2 * (n * n) + h1 * n + h0) * (r1*n + r0)) = ((h2 * r1) * (n * n * n) + (h2 * r0 + h1 * r1) * (n * n) + (h1 * r0 + h0 * r1) * n + h0 * r0)) - check_canon + by check_canon () // Takes long, around a minute (* let lem10 (a b c : int) (n:int) (p:int) (r:int) (h:int) (r0:int) (r1:int) (h0:int) (h1:int) (h2:int) (s1:int) (d0:int) (d1:int) (d2:int) (hh:int) = *) -(* assert_by_tactic ((((h2 * (n * n) + h1 * n + h0) * (r1*n + r0))) * ((a+b+c)*(a+b+c)) = *) +(* assert ((((h2 * (n * n) + h1 * n + h0) * (r1*n + r0))) * ((a+b+c)*(a+b+c)) = *) (* (((h2 * r1) * (n * n * n) + (h2 * r0 + h1 * r1) * (n * n) + (h1 * r0 + h0 * r1) * n + h0 * r0)) *) (* * (a * a + a * b + a * c + b * a + b * b + b * c + c * a + c * b + c * c)) *) -(* check_canon *) +(* by check_canon () *) diff --git a/examples/tactics/Canon.fst.hints b/examples/tactics/Canon.fst.hints index 7e11762d840..c2f84459b0d 100644 --- a/examples/tactics/Canon.fst.hints +++ b/examples/tactics/Canon.fst.hints @@ -1,5 +1,5 @@ [ - "×ïÕŠ¦\u000fW@_ dump "`canon deep` left the following goals"; fail "") -let lem0 = assert_by_tactic (x * (y * z) == (x * y) * z) check_canon_deep +let lem0 = assert (x * (y * z) == (x * y) * z) by check_canon_deep () diff --git a/examples/tactics/Cases.fst b/examples/tactics/Cases.fst index 218aa767620..f96795c61e1 100644 --- a/examples/tactics/Cases.fst +++ b/examples/tactics/Cases.fst @@ -28,9 +28,8 @@ assume val f : unit -> Lemma (p ==> r) assume val g : unit -> Lemma (q ==> r) let test_cases (h : (p \/ q)) : Lemma r = - assert_by_tactic r - (fun () -> - let t = quote h in + assert r + by (let t = quote h in cases_or t; apply_lemma (quote f); apply_lemma (quote g); @@ -38,9 +37,8 @@ let test_cases (h : (p \/ q)) : Lemma r = // Taking a squashed hypothesis, we can unsquash it as we're in an irrelevant context let test_cases_unsquash (h : squash (p \/ q)) : Lemma r = - assert_by_tactic r - (fun () -> - let t = quote h in + assert r + by (let t = quote h in let t = unsquash t in cases_or t; apply_lemma (quote f); @@ -55,33 +53,29 @@ let test_cases_unsquash (h : squash (p \/ q)) : Lemma r = (* let ll () : Lemma (pp \/ ~pp) = () *) (* let test_em () : Lemma qq = *) -(* assert_by_tactic qq *) -(* (fun () -> *) -(* let empp = quote ll in *) -(* let p_or_not_p = get_lemma empp in *) -(* let p_or_not_p = unsquash p_or_not_p in *) -(* let h_pp_npp = cases p_or_not_p in *) -(* let h_pp, h_npp = h_pp_npp in *) -(* apply_lemma (quote ff); exact (h_pp); *) -(* apply_lemma (quote gg); exact (h_npp); *) -(* qed () *) -(* ) *) +(* assert qq *) +(* by (let empp = quote ll in *) +(* let p_or_not_p = get_lemma empp in *) +(* let p_or_not_p = unsquash p_or_not_p in *) +(* let h_pp_npp = cases p_or_not_p in *) +(* let h_pp, h_npp = h_pp_npp in *) +(* apply_lemma (quote ff); exact (h_pp); *) +(* apply_lemma (quote gg); exact (h_npp); *) +(* qed ()) *) assume val pred : bool -> Type assume val pred_true : squash (pred true) assume val pred_false : squash (pred false) let test_cases_bool (b:bool) : Lemma (pred b) = - assert_by_tactic (pred b) - (fun () -> - let b = quote b in + assert (pred b) + by (let b = quote b in cases_bool b; exact (quote pred_true); exact (quote pred_false); qed ()) let test_cases_bool_2 (x:int) : Lemma (x + x == 2 * x) = - assert_by_tactic (x + x == 2 * x) - (fun () -> - let t = quote (x = 0) in + assert (x + x == 2 * x) + by (let t = quote (x = 0) in cases_bool t) diff --git a/examples/tactics/Cases.fst.hints b/examples/tactics/Cases.fst.hints index f21b2d44c9c..252fc70129e 100644 --- a/examples/tactics/Cases.fst.hints +++ b/examples/tactics/Cases.fst.hints @@ -1,5 +1,5 @@ [ - "Üçð6\u0013\t[ãä‘͘)ˆ}", + "\"†,ù¬ÉqË0\u0011<\u001d©[\u0011h", [ [ "Cases.test_cases", @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "87585ba9ca700982e1a30a098d9982d9" + "afdc3dfe4704efec2782a0159dafabb5" ], [ "Cases.test_cases_unsquash", @@ -17,7 +17,7 @@ 1, [ "@query", "true_interp" ], 0, - "a53a3b97a906ce71ca734d3116083dff" + "39a34f93a8dc542ebcbf2cbcfe8fef06" ], [ "Cases.test_cases_bool", @@ -26,7 +26,7 @@ 1, [ "@query", "true_interp" ], 0, - "c11deb8a24f9bb40b65238143fb14f77" + "fa32ff7418a711a0295b5265b7232770" ], [ "Cases.test_cases_bool_2", @@ -35,7 +35,7 @@ 1, [ "@query", "true_interp" ], 0, - "cb14c012f79087cff94b448fd9b82c94" + "f96ef7fb9df8ab5950c159dbf7bd0bae" ], [ "Cases.test_cases_bool_2", @@ -47,7 +47,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "705d2a469f77eab1bccf07f8c8a0c76a" + "5b4b491cf1aabe48ea9064c13c734f8c" ], [ "Cases.test_cases_bool_2", @@ -61,7 +61,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "7f6252155553a6064b9398fb48b11f85" + "aea870ac8136895c1b99c219cb69a282" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Change.fst b/examples/tactics/Change.fst index a596aa1bfdf..f8846da0ed9 100644 --- a/examples/tactics/Change.fst +++ b/examples/tactics/Change.fst @@ -24,17 +24,17 @@ let dump msg = then Tactics.dump msg else () -let _ = assert_by_tactic (id 5 == 5) - (fun () -> dump "0"; - change_sq (`(eq2 #int (id #int 5) 5)); - dump "1") - -let _ = assert_by_tactic (id 5 == 5) - (fun () -> dump "0"; - change_sq (`(id 5 == 5)); - dump "1") - -let _ = assert_by_tactic (id 5 == 5) - (fun () -> dump "0"; - change_sq (`(5 == 5)); - dump "1") +let _ = assert (id 5 == 5) + by (dump "0"; + change_sq (`(eq2 #int (id #int 5) 5)); + dump "1") + +let _ = assert (id 5 == 5) + by (dump "0"; + change_sq (`(id 5 == 5)); + dump "1") + +let _ = assert (id 5 == 5) + by (dump "0"; + change_sq (`(5 == 5)); + dump "1") diff --git a/examples/tactics/Change.fst.hints b/examples/tactics/Change.fst.hints index e3ee5517b46..ca4d47d9d06 100644 --- a/examples/tactics/Change.fst.hints +++ b/examples/tactics/Change.fst.hints @@ -1,5 +1,5 @@ [ - "\u001fîÅQÚÚ[ªšÎÄ;ùs<ë", + "Âéâe\u0005T…@µ‹n5\u0010t8[", [ [ "Change.uu___4", @@ -8,16 +8,16 @@ 1, [ "@query", "equation_Change.id" ], 0, - "7cf4ea169408bc98faab0b29483e42b7" + "5bbd380c55330eed591bd5dd9df0aa3b" ], [ - "Change.uu___8", + "Change.uu___9", 1, 2, 1, [ "@query", "equation_Change.id" ], 0, - "5563641d91c370fca772928b9b93f5b2" + "eb870c691d138151f688f66f2c89c277" ], [ "Change.uu___4", @@ -26,16 +26,16 @@ 1, [ "@query", "equation_Change.id" ], 0, - "f21cff776acaf06169aca492343a1ca4" + "2941ae73db8bd80b50db4a8f29b32ecf" ], [ - "Change.uu___8", + "Change.uu___9", 2, 2, 1, [ "@query", "equation_Change.id" ], 0, - "a1a987e50e0b22b20b7b1e2c1e70e284" + "da7791bd592df510f99c4e5d442abbc3" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Clear.fst b/examples/tactics/Clear.fst index 4af22cbfdc4..391c772de1f 100644 --- a/examples/tactics/Clear.fst +++ b/examples/tactics/Clear.fst @@ -24,14 +24,12 @@ assume val xi : Type assume val p : squash xi let l1 (x : bool) (y : int) (z : unit) = - assert_by_tactic (phi ==> (psi ==> xi)) - (fun () -> - let _ = implies_intro () in - clear_top (); - let _ = implies_intro () in - clear_top (); - exact (quote p) - ) + assert (phi ==> (psi ==> xi)) + by (let _ = implies_intro () in + clear_top (); + let _ = implies_intro () in + clear_top (); + exact (quote p)) let clear_all_of_type (t : typ) : Tac unit = let e = cur_env () in @@ -46,11 +44,11 @@ let clear_all_of_type (t : typ) : Tac unit = () let l2 (x : int) (y : bool) (z : int) = - assert_by_tactic (phi ==> (psi ==> xi)) - (fun () -> let e = cur_env () in - let n = List.length (binders_of_env e) in - let u = quote int in - clear_all_of_type u; - let e = cur_env () in - // We're removing two binders - guard (List.length (binders_of_env e) = n - 2)) + assert (phi ==> (psi ==> xi)) + by (let e = cur_env () in + let n = List.length (binders_of_env e) in + let u = quote int in + clear_all_of_type u; + let e = cur_env () in + // We're removing two binders + guard (List.length (binders_of_env e) = n - 2)) diff --git a/examples/tactics/Clear.fst.hints b/examples/tactics/Clear.fst.hints index b659c41d536..7cbf76a06d0 100644 --- a/examples/tactics/Clear.fst.hints +++ b/examples/tactics/Clear.fst.hints @@ -1,5 +1,5 @@ [ - "ÄD‘\u0014Ü\u0017±áwáÇ\ne\t„", + "œ¹ñ Ý!ky„\u0006m¿ÿn", [ [ "Clear.l2", @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "function_token_typing_Clear.p", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "14e75e1c17cc44c37558ff5114516bd8" + "aec91161fbb7b6c5f03fdccfaf5e679a" ], [ "Clear.l2", @@ -22,10 +22,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "function_token_typing_Clear.p", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3280d76f1dfc6a1500223f3e1a21276c" + "0f20eb22348f04a367ee3125f2f9c507" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Cut.fst b/examples/tactics/Cut.fst index 01092331666..4e39d702bf9 100644 --- a/examples/tactics/Cut.fst +++ b/examples/tactics/Cut.fst @@ -24,11 +24,10 @@ assume val p1 : psi assume val p2 : psi -> squash phi let _ = - assert_by_tactic phi - (fun () -> - let psi' = quote psi in - let _ = tcut psi' in - flip (); - exact (`p1); // TODO: kinda pointless example - apply (`p2); - exact (`p1)) + assert phi + by (let psi' = quote psi in + let _ = tcut psi' in + flip (); + exact (`p1); // TODO: kinda pointless example + apply (`p2); + exact (`p1)) diff --git a/examples/tactics/Cut.fst.hints b/examples/tactics/Cut.fst.hints index 4f5ee168c0d..8a0aa9b6682 100644 --- a/examples/tactics/Cut.fst.hints +++ b/examples/tactics/Cut.fst.hints @@ -1 +1 @@ -[ "%Y²ªÇc\u0003kô_’rkê?[", [] ] \ No newline at end of file +[ "\\T/£”ñW.Ó˜èeCä´", [] ] \ No newline at end of file diff --git a/examples/tactics/DeltaDepth.fst.hints b/examples/tactics/DeltaDepth.fst.hints index 073e3d5ea2c..e28fa520fe6 100644 --- a/examples/tactics/DeltaDepth.fst.hints +++ b/examples/tactics/DeltaDepth.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_5e57589849c6497f93798a0ea15a1df2" ], 0, - "f80606408b5632e9e18f2c99d4d55cae" + "131b23bd040796a3f7a466fc21f21c31" ], [ "DeltaDepth.__proj__B__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_90c35950d1e7f0a820470167e5c76674" ], 0, - "b5a357525e7722055dcc0eb5b7b5fa03" + "9c88479f21a158787c865cd4a0272c86" ], [ "DeltaDepth.m", @@ -38,7 +38,7 @@ "projection_inverse_DeltaDepth.A__0" ], 0, - "b5c1a6524397e6d499a62912fed79bdd" + "7b4f1a6b6cf4757a9b0f97bc156111b3" ], [ "DeltaDepth.__proj__A__item___0", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_5e57589849c6497f93798a0ea15a1df2" ], 0, - "388ccc1d3b32d96895736629d7fa310d" + "dc0156ab19c1b3eff3cc4ae43e5a390b" ], [ "DeltaDepth.__proj__B__item___0", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_90c35950d1e7f0a820470167e5c76674" ], 0, - "78bbdeb70f9b86845badf2c5806455fc" + "f71ea9a6c7e7c487f03d7bf1436953b3" ], [ "DeltaDepth.m", @@ -77,7 +77,7 @@ "projection_inverse_DeltaDepth.A__0" ], 0, - "36cce9944875126fdd3e69e425808c81" + "2acb4aa7c68cf55ebe5741f96855c194" ] ] ] \ No newline at end of file diff --git a/examples/tactics/DependentSynth.fst.hints b/examples/tactics/DependentSynth.fst.hints index 042a225ad15..fb562924ea9 100644 --- a/examples/tactics/DependentSynth.fst.hints +++ b/examples/tactics/DependentSynth.fst.hints @@ -11,7 +11,7 @@ "equation_DependentSynth.myty", "int_typing", "unit_typing" ], 0, - "b41efc8461391fa22a8301468f098f7d" + "93b83996fd6c4e1260ac082d88996502" ], [ "DependentSynth.f", @@ -23,7 +23,7 @@ "equation_DependentSynth.myty", "int_typing", "unit_typing" ], 0, - "c61f2060754630a0096025b871098fd3" + "a4974e00fe357ce7722b2b51271faa26" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Destruct.fst.hints b/examples/tactics/Destruct.fst.hints index e2478840b13..4f506e6e668 100644 --- a/examples/tactics/Destruct.fst.hints +++ b/examples/tactics/Destruct.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c3783cb78496f6bb4be33584c713caed" + "49cd289375a3256292647874e852feba" ], [ "Destruct.uu___17", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "091cd352df2fe6eb3dcc663c22cdd55c" + "3cd19752aa961fe9768a4db125bf43ba" ], [ "Destruct.uu___18", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "fd07455653b6659f67ae093b32e3e5e8" + "b596d52337afc12599c7313d57d23b71" ], [ "Destruct.t2", @@ -41,11 +41,11 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cbb03a3da61b26be8b05a23d6ac6e8d3" + "935da81b551d4ba3e3478fcec6ba8081" ], [ "Destruct.__proj__A2__item___0", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_15d80be637ca75d5c418364229a1bb22" ], 0, - "9ca8d56514ed6e23b0cd7080027a6214" + "e93c94df4fdd583a6bf985d170963cc5" ], [ "Destruct.__proj__B2__item___0", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_cb5b47cb8fe6a6ad9ef550685a5d6a5d" ], 0, - "130ca0709609d6f79a00e04a03ea38d0" + "72a98f86496185ff8770fc3f67836d0d" ], [ "Destruct.__proj__C2__item___0", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" ], 0, - "38d6a42b31125e3e7ab51e967ce7b474" + "70ec32da9dcb050727b4de2a1ba055f5" ], [ "Destruct.__proj__C2__item___1", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" ], 0, - "52bf7bfc5a4c3b87c7309fa213359f81" + "1380afd48d300d3d4e87b0384d010202" ], [ "Destruct.__proj__C2__item___2", @@ -110,7 +110,7 @@ "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" ], 0, - "bba2e1e8a6b4dc26a5db70027af15d0e" + "fcaf36f5e0f212a5604e22a1808af713" ], [ "Destruct.uu___45", @@ -119,7 +119,7 @@ 1, [ "@query" ], 0, - "1d3a81201b23e878e861f03dceee87f6" + "2d0d0457cb21f70abfce919d5fcab168" ], [ "Destruct.uu___46", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "7ee66f34e678a721432c934cd1ae95c6" + "84641dcc0c4b7ad688d7f91a56a3d2ee" ], [ "Destruct.uu___47", @@ -137,7 +137,7 @@ 1, [ "@query" ], 0, - "e177e79d792e0aa5094c2b277e429d30" + "79f5fe6731dd0177dadee1f7e31210b9" ], [ "Destruct.t3", @@ -152,11 +152,11 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.string", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6c040fadb3e3ae8598029b8305bc88b1" + "aa6e4ee765cd9ea09a956699f878a6b2" ], [ "Destruct.__proj__B3__item___0", @@ -169,7 +169,7 @@ "refinement_interpretation_Tm_refine_09dde35c659cf7f75ce8e59a37558929" ], 0, - "a9f0a6011704372781fbb0942fe93129" + "e89cf9486416118cf949803f3e2fc149" ], [ "Destruct.__proj__C3__item___0", @@ -182,7 +182,7 @@ "refinement_interpretation_Tm_refine_11b50967a69485f0d567e8d70b8ffdc0" ], 0, - "32c0c5ae0d84318e970a9c22a6d3b252" + "42a1744259856dd21bf19ac458ff89c9" ], [ "Destruct.__proj__C3__item___1", @@ -195,7 +195,7 @@ "refinement_interpretation_Tm_refine_11b50967a69485f0d567e8d70b8ffdc0" ], 0, - "0e133316e40ce92930f6a0ea7162da5d" + "b3d2a55edd56602ffe69645199f81b90" ], [ "Destruct.uu___64", @@ -204,7 +204,7 @@ 1, [ "@query" ], 0, - "c6c0829d09d63f11a869642ee86a721e" + "8743f0e8c9a19a0dc6ce161ec27a4e4e" ], [ "Destruct.uu___65", @@ -213,7 +213,7 @@ 1, [ "@query" ], 0, - "ce904b96e39b1e0763e6ecc8d667f15e" + "efdde4e2d3e13bfc69b8855286273a6c" ], [ "Destruct.uu___66", @@ -222,7 +222,7 @@ 1, [ "@query" ], 0, - "a4003aa6b38b4ca9217900175ba170d1" + "34d21ec6d011261b6d0ba18c6c38b881" ], [ "Destruct.t4", @@ -236,11 +236,11 @@ "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "167b25282da329f62bf0d518b4d324ee" + "a7514dde385476c0d820b381c668ed97" ], [ "Destruct.__proj__A4__item___0", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_56ba732a08a46e2a006cb7cd49c61bb2" ], 0, - "321f218ca0cf8eddfe1ba1ad485258a0" + "2dc63d9bf60f62afe84337b4a460e2b0" ], [ "Destruct.__proj__B4__item___0", @@ -266,7 +266,7 @@ "refinement_interpretation_Tm_refine_316b60465156994faf26a3b05c39e34a" ], 0, - "c99d01062e38a772c7f0d715fe326ec0" + "7853928029975228df47888a12fc80b7" ], [ "Destruct.__proj__C4__item___0", @@ -279,7 +279,7 @@ "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" ], 0, - "670e368fac60fed256af732721ac4e6e" + "7206c8b9ffbc6e90b571844fb28c7abb" ], [ "Destruct.__proj__C4__item___1", @@ -292,7 +292,7 @@ "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" ], 0, - "dcacd3b34582830339949688defaafd1" + "370999bf8878c47f06f4913c0ad04d0f" ], [ "Destruct.__proj__C4__item___2", @@ -305,7 +305,7 @@ "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" ], 0, - "1ec2aa0a5afa83780a9d3d8891333f22" + "3ec740cc19887c6f0970551da5aaba01" ], [ "Destruct.uu___86", @@ -314,7 +314,7 @@ 1, [ "@query" ], 0, - "cb4f79df39dbe2b104d8aa2ed242ed95" + "209c4555b04e97b92c2580c8a62e528a" ], [ "Destruct.uu___87", @@ -323,7 +323,7 @@ 1, [ "@query" ], 0, - "2967e7f7beaf1be36d315aea2eed00b7" + "3dc8625bc84aa8588759180cad7e040c" ], [ "Destruct.uu___88", @@ -332,7 +332,7 @@ 1, [ "@query" ], 0, - "58d5c8dcebddbdf604d6df2b2da56f6c" + "34c56e6f546c8fdb16f5388e8cf24119" ], [ "Destruct.vec", @@ -342,10 +342,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5aef86b9f72b6f6309aef64c12287291" + "985bc9c7065d95af97e35496cbcf1274" ], [ "Destruct.vec", @@ -353,17 +353,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5c15b99f703f7f2dac6583ee382505e2" + "9d881f238976ba26fbe8a3be9e3ccd46" ], [ "Destruct.__proj__VCons__item__n", @@ -376,7 +373,7 @@ "refinement_interpretation_Tm_refine_30dcdfe3f7fdaa373efe7d0f17e40dc2" ], 0, - "4c1880f8ea1286dc4d9b666b5d67abda" + "59c66eb4c32eec05baf2e64741834045" ], [ "Destruct.__proj__VCons__item___1", @@ -389,7 +386,7 @@ "refinement_interpretation_Tm_refine_30dcdfe3f7fdaa373efe7d0f17e40dc2" ], 0, - "efc639efb0dd248c7b1a6c903f2d2317" + "99a7a68a076f3992ab5d687b3d71c74f" ], [ "Destruct.__proj__VCons__item___2", @@ -406,7 +403,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "ec7a570083ef227fdbe22cf38f94d1c1" + "88c1fe218e5eab0d5cbfb9bcf518e917" ], [ "Destruct.uu___109", @@ -415,7 +412,7 @@ 1, [ "@query" ], 0, - "ec6240f3f4d45a601d541a12e1c30b95" + "c0225fdc60398984e8ef4d2a2234ecd5" ], [ "Destruct.uu___110", @@ -424,7 +421,7 @@ 1, [ "@query" ], 0, - "1dd03e799298e5d65668b9ff407837ae" + "4be2e2059b9b32fc473b97c2a0da8c4c" ], [ "Destruct.uu___111", @@ -433,7 +430,7 @@ 1, [ "@query" ], 0, - "429278205ae614e97de19a17f06e194e" + "09f3bce3e7db107680d03fdcba8ae931" ], [ "Destruct.fin", @@ -443,10 +440,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "772c33e4c08a53438232403ee3afc576" + "5b4eb1c38b7851dbd9853caad6778ca9" ], [ "Destruct.fin", @@ -454,16 +451,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "35337d136d25057c2472d12f1187caea" + "0299183e47fec1d357f8589d255420e5" ], [ "Destruct.__proj__Z__item__n", @@ -476,7 +470,7 @@ "refinement_interpretation_Tm_refine_091244a5b42f3d992595a20613c09453" ], 0, - "222cee796ea90b42bbc73019786e56dd" + "46c51a04f99ece553e0b6aa142ba402f" ], [ "Destruct.__proj__S__item__n", @@ -489,7 +483,7 @@ "refinement_interpretation_Tm_refine_409191d6e26cee56f95ecac12bcba703" ], 0, - "6968ddcfd433d3af951fd746c7c0a1c5" + "d8e636f77fb26585a06711326f9198a5" ], [ "Destruct.__proj__S__item___1", @@ -505,7 +499,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "23c2b05405fd36dcfbd1c98e40724d5a" + "0e7a54c08718228f44176c79909274a1" ], [ "Destruct.decr2", @@ -517,11 +511,11 @@ "eq2-interp", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8005f3ae5bc941571e02299d8c2c6362" + "96c87ff1ff5d4f05b05159d5500936e9" ], [ "Destruct.decr2", @@ -531,10 +525,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8881c5c64e0fd56e60ca9eeacad0c0a4" + "3cae8b10092dfcc1cdba95630bca8c56" ], [ "Destruct.intros'", @@ -552,7 +546,7 @@ "typing_FStar.Tactics.Result.uu___is_Failed" ], 0, - "411c3ed860311688bbd424b6b996a3cc" + "aa6aaf999aa5d16b0d8d7c13aff89efa" ], [ "Destruct.destruct", @@ -570,7 +564,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "819318609ab5d6ce5fabad10360e7218" + "951deafa0da28961f258685fe0ac44bb" ], [ "Destruct.f1", @@ -583,7 +577,7 @@ "fuel_guarded_inversion_Destruct.t1" ], 0, - "9648be7f6127b397c7f6944219de57f0" + "b9fdbbc755dc1715287280e936fe8deb" ], [ "Destruct.uu___16", @@ -592,7 +586,7 @@ 1, [ "@query" ], 0, - "1525c83962a762e9682d9210fae64481" + "259adfeb4d6a111d30d56f8ade57c691" ], [ "Destruct.uu___17", @@ -601,7 +595,7 @@ 1, [ "@query" ], 0, - "a8f9a9ac050e010754336566ffb2a10e" + "b5af9bae0ee76b7e715c5473dbcb5fb5" ], [ "Destruct.uu___18", @@ -610,7 +604,7 @@ 1, [ "@query" ], 0, - "028bc5952c13cc2e90190edc7f4f9ac0" + "3b9ef0a43b91c84e4ba79b98b8274ff9" ], [ "Destruct.t2", @@ -625,11 +619,11 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "382fc37d2423605db61ebebcb9a1a03d" + "f03ec9ebd401eaf607ec089f307d961b" ], [ "Destruct.__proj__A2__item___0", @@ -642,7 +636,7 @@ "refinement_interpretation_Tm_refine_15d80be637ca75d5c418364229a1bb22" ], 0, - "772d4cfc652a527055d62d8b4e110083" + "79fa32383590100cbc2d55c48c9df8ad" ], [ "Destruct.__proj__B2__item___0", @@ -655,7 +649,7 @@ "refinement_interpretation_Tm_refine_cb5b47cb8fe6a6ad9ef550685a5d6a5d" ], 0, - "e57f7323ea9a3322885fb8ac601564c4" + "c57f81978fc3a088e1d3d13023c5f89c" ], [ "Destruct.__proj__C2__item___0", @@ -668,7 +662,7 @@ "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" ], 0, - "ce9558f8e86cdff638cc9552d5ac2647" + "52217961df8121277d2919035a03fb10" ], [ "Destruct.__proj__C2__item___1", @@ -681,7 +675,7 @@ "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" ], 0, - "95427fe5be5617049872b523c96fda3a" + "ecdd9a87d94e3bca62273368c244631a" ], [ "Destruct.__proj__C2__item___2", @@ -694,7 +688,7 @@ "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" ], 0, - "cee4f4875980d5c7559357b1a7445c32" + "9f839026578351fac96d4c9709dd3a1f" ], [ "Destruct.f2", @@ -707,7 +701,7 @@ "fuel_guarded_inversion_Destruct.t2" ], 0, - "9e99c47158a70c3645ff15d7c9175fa2" + "89426a1cf22420d78ad69e759c179553" ], [ "Destruct.uu___45", @@ -716,7 +710,7 @@ 1, [ "@query" ], 0, - "9bae55dd0a3329eee524373936843c29" + "4265e549c4d963cd352445ce49b63892" ], [ "Destruct.uu___46", @@ -725,7 +719,7 @@ 1, [ "@query" ], 0, - "519f882fe85c4ac8530de84ddba980e0" + "9073ddf7d5126793ad1325cf6587351c" ], [ "Destruct.uu___47", @@ -734,7 +728,7 @@ 1, [ "@query" ], 0, - "21873dd959cd0768e61bea718f126adb" + "024c22499957a8c9e083aae7e23747fd" ], [ "Destruct.t3", @@ -749,11 +743,11 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.string", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "edea90389f9c18f0d0c42a7c51b55c32" + "bda514829f8545448a82822c251bae2c" ], [ "Destruct.__proj__B3__item___0", @@ -766,7 +760,7 @@ "refinement_interpretation_Tm_refine_09dde35c659cf7f75ce8e59a37558929" ], 0, - "74960fd141c70318cc8bbe8f805a91e9" + "858ef31a370d768abffd88fb2e095526" ], [ "Destruct.__proj__C3__item___0", @@ -779,7 +773,7 @@ "refinement_interpretation_Tm_refine_11b50967a69485f0d567e8d70b8ffdc0" ], 0, - "af6585f0777dfce29e09c56452d8cf97" + "d5eb60851c369bd3161047afe702f81f" ], [ "Destruct.__proj__C3__item___1", @@ -792,7 +786,7 @@ "refinement_interpretation_Tm_refine_11b50967a69485f0d567e8d70b8ffdc0" ], 0, - "67626b04205d28adef77d2539e6b5225" + "d9fb81d932386910950b8375f204b34b" ], [ "Destruct.f3", @@ -805,7 +799,7 @@ "fuel_guarded_inversion_Destruct.t3" ], 0, - "177ce0ce73191c88ef78df24303d2e76" + "786ce23242d570483335bd1ce302506d" ], [ "Destruct.uu___64", @@ -814,7 +808,7 @@ 1, [ "@query" ], 0, - "d740028137992e59d73ca3afba680f9c" + "d414b454305fd3f3550140e49031f259" ], [ "Destruct.uu___65", @@ -823,7 +817,7 @@ 1, [ "@query" ], 0, - "683d33e46aff3f3bb27cabb1d1a22983" + "ca92234c88238ffbca666fa7c0158c6e" ], [ "Destruct.uu___66", @@ -832,7 +826,7 @@ 1, [ "@query" ], 0, - "baa481957c78e4c592831ca518943751" + "9a580d2902c3836f3e6eef2d19fee7d9" ], [ "Destruct.t4", @@ -846,11 +840,11 @@ "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a3dcfec0a5dc0104fdb33b83c5fe188b" + "60380ba015b20998dacecfb675cda126" ], [ "Destruct.__proj__A4__item___0", @@ -863,7 +857,7 @@ "refinement_interpretation_Tm_refine_56ba732a08a46e2a006cb7cd49c61bb2" ], 0, - "90573ddc048f370560aef07cd9dc1b43" + "2cdfe8333c2775c79bcb778534f266d1" ], [ "Destruct.__proj__B4__item___0", @@ -876,7 +870,7 @@ "refinement_interpretation_Tm_refine_316b60465156994faf26a3b05c39e34a" ], 0, - "12d8c40c6460e6c231b9c8e48fd6f365" + "cb25b11877f6358ba49797f23bc533f9" ], [ "Destruct.__proj__C4__item___0", @@ -889,7 +883,7 @@ "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" ], 0, - "49d81e70bb51c0f5fda8fe18d03f1a77" + "15d92c880183558a8a968607499da403" ], [ "Destruct.__proj__C4__item___1", @@ -902,7 +896,7 @@ "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" ], 0, - "d0efc3446f234e7a803fccd798adffa9" + "3797381c95f73d153a07309de1c342ec" ], [ "Destruct.__proj__C4__item___2", @@ -915,7 +909,7 @@ "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" ], 0, - "452e04534924b7349c4fb7af4cfc51b1" + "46ca2e8c30a8db7d48f25375ce1bf264" ], [ "Destruct.f4", @@ -928,7 +922,7 @@ "fuel_guarded_inversion_Destruct.t4" ], 0, - "825cd73e9bcf626e445294a7fdc0ebb4" + "6cfdbe7fd9d96996edcea294dd78fbc2" ], [ "Destruct.uu___86", @@ -937,7 +931,7 @@ 1, [ "@query" ], 0, - "598bbb1a7296657bb1612d391faf5bdb" + "b25a007a2944755b5a9b356cd8909393" ], [ "Destruct.uu___87", @@ -946,7 +940,7 @@ 1, [ "@query" ], 0, - "0563f2555d1f9d1a795cc9d9471fa3e1" + "95a614ae978c11a6407c1abb0588aba3" ], [ "Destruct.uu___88", @@ -955,7 +949,7 @@ 1, [ "@query" ], 0, - "aa15dc497d14c3fadd8d4e30021913b0" + "5e73a7553fd9b4ad97b79e8a16318140" ], [ "Destruct.vec", @@ -965,10 +959,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "368d0ac6307656d117df3c1b6114bb8b" + "666844e6211176297eb9558f14825ac7" ], [ "Destruct.vec", @@ -976,17 +970,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "01b115c24e667d6ddbe010b9362321d7" + "40c9bd5d3ee826abbd9e7b07d529fa6b" ], [ "Destruct.__proj__VCons__item__n", @@ -999,7 +990,7 @@ "refinement_interpretation_Tm_refine_30dcdfe3f7fdaa373efe7d0f17e40dc2" ], 0, - "015a26f05938bb2d52710a740f5f2052" + "df54365e674c0d3588e5bcc63b7ce2f5" ], [ "Destruct.__proj__VCons__item___1", @@ -1012,7 +1003,7 @@ "refinement_interpretation_Tm_refine_30dcdfe3f7fdaa373efe7d0f17e40dc2" ], 0, - "9aed40f11f543ce09e5bd0e8ffc692f4" + "46800623fda27c9d0f02b75df1b5ef52" ], [ "Destruct.__proj__VCons__item___2", @@ -1029,7 +1020,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "36a247635195a94da372fe38f60dc2a7" + "93937df78a06380283ed493fa99356c3" ], [ "Destruct.vlen", @@ -1041,7 +1032,7 @@ "disc_equation_Destruct.VNil", "fuel_guarded_inversion_Destruct.vec" ], 0, - "58e66bbb11461a7c60bf4f4c3881eb8d" + "6d3866548f971fe6c05fc094b50ae099" ], [ "Destruct.uu___109", @@ -1050,7 +1041,7 @@ 1, [ "@query" ], 0, - "c25929980994aab5874eaa3920836701" + "976b47912a4376621e8d799e0a81705c" ], [ "Destruct.uu___110", @@ -1059,7 +1050,7 @@ 1, [ "@query" ], 0, - "478dc8539c56a879693dc163feb39fb8" + "7e8d310a620a01afb580c5b129d6b86b" ], [ "Destruct.uu___111", @@ -1068,7 +1059,7 @@ 1, [ "@query" ], 0, - "ec69eb58739be0f0b786f273266ace96" + "903851759b00fa81cfb8d3e6c74f704f" ], [ "Destruct.fin", @@ -1078,10 +1069,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e6ffb346f0930ac34f49a61f3f93ae8a" + "80114d74afe309c155debd1b3670ee77" ], [ "Destruct.fin", @@ -1089,16 +1080,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "958cf0ab5d95ee85ee3b3b0847af715d" + "b30aeb20c3a827f12d99c26a71f00ef3" ], [ "Destruct.__proj__Z__item__n", @@ -1111,7 +1099,7 @@ "refinement_interpretation_Tm_refine_091244a5b42f3d992595a20613c09453" ], 0, - "fb042a9efb94277e2c66a10b33183530" + "26ae79898d08ee812e76d219f7c85806" ], [ "Destruct.__proj__S__item__n", @@ -1124,7 +1112,7 @@ "refinement_interpretation_Tm_refine_409191d6e26cee56f95ecac12bcba703" ], 0, - "b134f61496ead021182f5e8f4cde678c" + "4cf5ee485bbd8e60af36d61adc3efb12" ], [ "Destruct.__proj__S__item___1", @@ -1140,7 +1128,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "63536c90a4cdd1c1b9652e223418adbe" + "dfdb3c3f0bdebec547cab3d6bb719c00" ], [ "Destruct.decr2", @@ -1150,10 +1138,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "195b110f6c3ea649e558e5a3e9782a71" + "3a7674ef66c1bfa89d8e2369fb801fee" ], [ "Destruct.decr2", @@ -1161,18 +1149,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Destruct.S", "disc_equation_Destruct.S", - "disc_equation_Destruct.Z", "equation_Prims.nat", - "fuel_guarded_inversion_Destruct.fin", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "data_elim_Destruct.S", + "disc_equation_Destruct.S", "disc_equation_Destruct.Z", + "equation_Prims.nat", "fuel_guarded_inversion_Destruct.fin", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ea4a10cd54ce53750f8ac49e972b9068" + "1244f843b1d49f51d985a5c106f02fb5" ], [ "Destruct.decr2", @@ -1182,10 +1167,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2f6887298fa717951d8d02e3d0af813a" + "fd9e01eddcb4110594db9daaa28805b1" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Div.fst b/examples/tactics/Div.fst index b25abd54ad9..22f24faa72b 100644 --- a/examples/tactics/Div.fst +++ b/examples/tactics/Div.fst @@ -23,4 +23,4 @@ let g0 (x : int) : Tac int = f0 x (* Testing that a non-diverging example works *) let rec f (x : int) : Dv int = 25 let g (x : int) : Tac int = f x -let _ = assert_by_tactic True (fun () -> let x = g 2 in trivial ()) +let _ = assert True by (let x = g 2 in trivial ()) diff --git a/examples/tactics/Div.fst.hints b/examples/tactics/Div.fst.hints index 7d9a7c7d2cb..1d98f04fb78 100644 --- a/examples/tactics/Div.fst.hints +++ b/examples/tactics/Div.fst.hints @@ -1 +1 @@ -[ "ï\u001eÕ0Ðü\u0016qû¢üÅ\u0007\u0003B", [] ] \ No newline at end of file +[ "›\u0016”\rßCv‰5Ò‚Ü¥þ¦†", [] ] \ No newline at end of file diff --git a/examples/tactics/EExists.fst b/examples/tactics/EExists.fst index 4a75d4005fc..2d98f16fce9 100644 --- a/examples/tactics/EExists.fst +++ b/examples/tactics/EExists.fst @@ -26,14 +26,13 @@ let eexists (a:Type) (t:unit -> Tac a) : Tac a = fst (divide (ngoals()-1) t dismiss) let f1 = - assert_by_tactic (exists x. x == 42 ==> x + 1 == 43) - (fun _ -> eexists unit (fun _ -> - let b = implies_intro() in - let _ = tcut (mk_e_app (pack_fv' squash_qn) [type_of_binder b]) in - flip(); - trefl(); - norm [primops]; trefl() - )) + assert (exists x. x == 42 ==> x + 1 == 43) + by (eexists unit (fun _ -> + let b = implies_intro() in + let _ = tcut (mk_e_app (pack_fv' squash_qn) [type_of_binder b]) in + flip(); + trefl(); + norm [primops]; trefl())) // inlining this tactic below causes the end of the world let foo () : Tac unit = @@ -48,4 +47,4 @@ let foo () : Tac unit = | _, _ -> fail "unexpected2") | _ -> fail "unexpected3")) -let f2 = assert_by_tactic (exists x. x == 42 ==> x + 1 == 43) foo +let f2 = assert (exists x. x == 42 ==> x + 1 == 43) by foo () diff --git a/examples/tactics/EExists.fst.hints b/examples/tactics/EExists.fst.hints index f7aa87fa427..1a913fb1099 100644 --- a/examples/tactics/EExists.fst.hints +++ b/examples/tactics/EExists.fst.hints @@ -1 +1 @@ -[ "\u001c\n7mØf6ϲÄ\u0006øâóhâ", [] ] \ No newline at end of file +[ "{×Ê{ÞË`È¡\u0012€Òq\u007fSb", [] ] \ No newline at end of file diff --git a/examples/tactics/Easy.fst.hints b/examples/tactics/Easy.fst.hints index 0104bbdc2f3..182384dac9a 100644 --- a/examples/tactics/Easy.fst.hints +++ b/examples/tactics/Easy.fst.hints @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5fae9fa7d4d57f0be778bca089a444ff" + "47bb410d86ce349329319c94aa415a36" ], [ "Easy.plus_assoc", @@ -23,7 +23,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "f26ec2c5fc8beef9295368d1da01d677" + "52750fd71bcea6632ceea5cc1458703d" ], [ "Easy.plus_comm", @@ -35,7 +35,7 @@ "primitive_Prims.op_Addition" ], 0, - "0a510d966552645301e9f7b1816d1fd3" + "c36bb814aab5bb4a21e969a08b486092" ], [ "Easy.easy_fill", @@ -56,7 +56,7 @@ "typing_FStar.Tactics.Result.uu___is_Success" ], 0, - "cab50bc117e7a9ba39c8fbc6e862cb65" + "87a180293a7f9d18624ff53d17c0787c" ] ] ] \ No newline at end of file diff --git a/examples/tactics/ElimExists.fst.hints b/examples/tactics/ElimExists.fst.hints index e7709442a6c..40914fe60c9 100644 --- a/examples/tactics/ElimExists.fst.hints +++ b/examples/tactics/ElimExists.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "53acdc8d09dc93581fb3aca0be15641a" + "b0175194a0cc97f8793fc03384aa3b18" ], [ "ElimExists.lem", @@ -17,10 +17,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_98863a16d94ec778cc4f71fc65c4dded" + "refinement_interpretation_Tm_refine_17693b9c0be6584f79f76d61935752d0" ], 0, - "641824cfaaf241fb4f7a0f33fb60856e" + "44c0dbddadbbb3e87e4aa2d235b7c28c" ] ] ] \ No newline at end of file diff --git a/examples/tactics/EnvSquash.fst b/examples/tactics/EnvSquash.fst index b0271714053..048053a7432 100644 --- a/examples/tactics/EnvSquash.fst +++ b/examples/tactics/EnvSquash.fst @@ -33,4 +33,4 @@ let test () = | _ -> fail ("unexpected type for last binder: " ^ term_to_string (type_of_binder b)) in assume (exists x. p x); - assert_by_tactic True tau + assert True by tau () diff --git a/examples/tactics/EnvSquash.fst.hints b/examples/tactics/EnvSquash.fst.hints index 4d86ebacf94..5d4912fde54 100644 --- a/examples/tactics/EnvSquash.fst.hints +++ b/examples/tactics/EnvSquash.fst.hints @@ -1,5 +1,5 @@ [ - "\b¨ü¤Ì\nØt\u0017Ç£ÑÍÖU\f", + "ŸY¡ÿ¦sN¼N\u001at\u0005G\u0014¤Þ", [ [ "EnvSquash.test", @@ -24,7 +24,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "unit_typing" ], 0, - "bb9e49f469cfe935dc9da2c721f292d3" + "b44abfcecac6f7b62cdcdb83ed88f308" ], [ "EnvSquash.test", @@ -50,7 +50,7 @@ "unit_typing" ], 0, - "d69725e2ff3048ba7597a886dc5c842f" + "b2b3fa4bd6a56b11ac477566e11242e8" ], [ "EnvSquash.test", @@ -75,7 +75,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "unit_typing" ], 0, - "1c37803fedfe41bd4b69b2434b356715" + "b74c52d9ee8a18fb203897f63d3584d1" ], [ "EnvSquash.test", @@ -101,7 +101,7 @@ "unit_typing" ], 0, - "bc2ed1cb5bef915a8c93d89ad6771e89" + "e5808f19c3ef08454bdf95f85ab1247b" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Even.fst.hints b/examples/tactics/Even.fst.hints index 3575508e24e..2c2fd01818c 100644 --- a/examples/tactics/Even.fst.hints +++ b/examples/tactics/Even.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c8b5dfc8d2d246cf340f0aa07398c414" + "de4b0543814a226e78bc146b7e9a8cf0" ], [ "Even.__proj__S__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_bb628da1f7d40b6a048cba9503380f5d" ], 0, - "3cc96fc5474535aaffe0f3de108fbef1" + "712156b40569fe44ee63e5faee0fbe96" ], [ "Even.nat2unary", @@ -31,15 +31,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "bd84a80b606368dc652398180005c2e3" + "e1ad2f24f90b07004df078db0cbe3b4d" ], [ "Even.even", @@ -48,7 +48,7 @@ 1, [ "@query", "assumption_Even.unat__uu___haseq" ], 0, - "972dda7ee9dd95c636a87561c0c7bece" + "2c900aa9864869a90f7fed2da21d5f2c" ], [ "Even.__proj__Even_SS__item__n", @@ -61,7 +61,7 @@ "refinement_interpretation_Tm_refine_54b3fdb8b64a7b5a7f1535a28234d0d5" ], 0, - "eafcc7324d0c66ea6a2385130c3643a5" + "8184f0c9bf685075ee68454def9c8095" ], [ "Even.__proj__Even_SS__item___1", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_54b3fdb8b64a7b5a7f1535a28234d0d5" ], 0, - "ebfcf6739f601a1c07f775f87c0cb7aa" + "fa8ec7ac62fbc4ea16e1a1ee6acd2d0a" ], [ "Even.unat", @@ -84,7 +84,7 @@ 1, [ "@query" ], 0, - "f4a458eceb69e22460514e4b217875e5" + "76e4acf7932d64a567d6c6ec5c835c5a" ], [ "Even.__proj__S__item___0", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_bb628da1f7d40b6a048cba9503380f5d" ], 0, - "9f77d4bc3100d5e1d03e8f78abcdc732" + "36e56066f3c3d1da2f85a3a142a89949" ], [ "Even.nat2unary", @@ -107,15 +107,15 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "1fe4fc9527fe16dd83fb884e921222ee" + "32872c9bb07df0e06168f4d8da2b04b9" ], [ "Even.even", @@ -124,7 +124,7 @@ 1, [ "@query", "assumption_Even.unat__uu___haseq" ], 0, - "bec4e0b5c69b7a3977504e01fa5d2da3" + "f0176a7bad657d08400c6019de1058ab" ], [ "Even.__proj__Even_SS__item__n", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_54b3fdb8b64a7b5a7f1535a28234d0d5" ], 0, - "f1f90f36a11fbeed25ab9403e02d9e27" + "68eee953deb8d270b4fed04c067ae746" ], [ "Even.__proj__Even_SS__item___1", @@ -151,7 +151,7 @@ "refinement_interpretation_Tm_refine_54b3fdb8b64a7b5a7f1535a28234d0d5" ], 0, - "fbd86e0718649d6c44fdb2c23958bcc9" + "ca3999f130d8324e112d76fc6059c4e5" ], [ "Even.prove_even", @@ -171,7 +171,7 @@ "typing_FStar.Tactics.Result.uu___is_Success", "unit_typing" ], 0, - "764f18eb243fac7fc80ef7fe32759532" + "3f37e08275581b044dec127305dbc07d" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Fail.fst b/examples/tactics/Fail.fst index 0dd607704e7..9fe82edfab2 100644 --- a/examples/tactics/Fail.fst +++ b/examples/tactics/Fail.fst @@ -33,4 +33,4 @@ let tau () : Tac unit = apply (quote g); exact (quote vq) -let _ = assert_by_tactic r tau +let _ = assert r by tau () diff --git a/examples/tactics/Fail.fst.hints b/examples/tactics/Fail.fst.hints index 2f294d15e9c..7497099b9cf 100644 --- a/examples/tactics/Fail.fst.hints +++ b/examples/tactics/Fail.fst.hints @@ -1 +1 @@ -[ "TŸô–þ\u0005¯=,×\\±o¬*N", [] ] \ No newline at end of file +[ "¥\u001b¡\u0010»#9`TðA-\u0019\u001cîI", [] ] \ No newline at end of file diff --git a/examples/tactics/Fresh.fst b/examples/tactics/Fresh.fst index e852bcb5e6c..d84505d71bd 100644 --- a/examples/tactics/Fresh.fst +++ b/examples/tactics/Fresh.fst @@ -17,9 +17,8 @@ module Fresh open FStar.Tactics -let _ = assert_by_tactic True - (fun () -> - let n = fresh () in +let _ = assert True + by (let n = fresh () in let n = fresh () in let n = fresh () in let n = fresh () in diff --git a/examples/tactics/Fresh.fst.hints b/examples/tactics/Fresh.fst.hints index c599ecec6e8..a1aec00ea8e 100644 --- a/examples/tactics/Fresh.fst.hints +++ b/examples/tactics/Fresh.fst.hints @@ -1 +1 @@ -[ "ö\u0000X@}ùÃä\u0015¸‡ê\rïÒ", [] ] \ No newline at end of file +[ "K¯~ÄÀÊŽOLÞÞë_ÅR{", [] ] \ No newline at end of file diff --git a/examples/tactics/GRewrite.fst b/examples/tactics/GRewrite.fst index fe729a83c31..f8d73e302dc 100644 --- a/examples/tactics/GRewrite.fst +++ b/examples/tactics/GRewrite.fst @@ -19,35 +19,35 @@ open FStar.Tactics (* Tests for the grewrite function *) let test_grewrite (a b c : int) (l : squash (b == c)) = - assert_by_tactic (a + b == a + c) - (fun () -> grewrite (quote b) (quote c); - trivial (); - exact (quote l)) + assert (a + b == a + c) + by (grewrite (quote b) (quote c); + trivial (); + exact (quote l)) let test_grewrite2 (w x y z:int) = - assert_by_tactic (w + (x + (z + y)) == (y + z) + (x + w)) - (fun () -> grewrite (quote (z + y)) (quote (y + z)); - grewrite (quote (x + (y + z))) (quote ((y + z) + x)); - grewrite (quote (w + ((y + z) + x))) (quote (((y + z) + x) + w))) + assert (w + (x + (z + y)) == (y + z) + (x + w)) + by (grewrite (quote (z + y)) (quote (y + z)); + grewrite (quote (x + (y + z))) (quote ((y + z) + x)); + grewrite (quote (w + ((y + z) + x))) (quote (((y + z) + x) + w))) let test_grewrite3 (w x y z : int) = - assert_by_tactic ((1+2, 3+4) == (5-2, 7+0)) - (fun () -> grewrite (quote (1 + 2)) (quote 3); - grewrite (quote (3, 3+4)) (quote (3,7))) + assert ((1+2, 3+4) == (5-2, 7+0)) + by (grewrite (quote (1 + 2)) (quote 3); + grewrite (quote (3, 3+4)) (quote (3,7))) // Rewrites all at once let test_grewrite4 (f : int -> int -> int) (w : int) = - assert_by_tactic (f w w == w ==> f (f w w) (f w w) == w) - (fun () -> let _ = implies_intro () in - seq (fun () -> grewrite (quote (f w w)) (quote w)) - l_revert) + assert (f w w == w ==> f (f w w) (f w w) == w) + by (let _ = implies_intro () in + seq (fun () -> grewrite (quote (f w w)) (quote w)) + l_revert) let test_grewrite5 (n m : int) (p1 : squash (n == m)) (p2 : (fun x -> x + n) == (fun x -> m + x)) = - assert_by_tactic ((fun x -> x + n) == (fun x -> m + x)) - (fun () -> grewrite (quote n) (quote m); - flip (); - exact (quote p1)) + assert ((fun x -> x + n) == (fun x -> m + x)) + by (grewrite (quote n) (quote m); + flip (); + exact (quote p1)) let guard (b:bool) : Tac unit = if b then () @@ -55,8 +55,8 @@ let guard (b:bool) : Tac unit = // Sanity checks for term_eq let test_term_eq (m n o : int) = - assert_by_tactic True (fun () -> guard (term_eq (quote n) (quote n))); - assert_by_tactic True (fun () -> guard (term_eq (quote (n+m)) (quote (n+m)))); + assert True by (guard (term_eq (quote n) (quote n))); + assert True by (guard (term_eq (quote (n+m)) (quote (n+m)))); // These fail because of uvars present in types (of the arguments) //assert_by_tactic (liftM1' guard (liftM2' term_eq (quote (fun x -> n)) (quote (fun x -> n)))) True; diff --git a/examples/tactics/GRewrite.fst.hints b/examples/tactics/GRewrite.fst.hints index 59c323c87b1..fd2a7227cdf 100644 --- a/examples/tactics/GRewrite.fst.hints +++ b/examples/tactics/GRewrite.fst.hints @@ -1,5 +1,5 @@ [ - "\\\u0015š¯>ŠžB®\u0010ˆ\u0015\u001cÎÉì", + "ñ\bÄÂIYqŸ’~Öå6YA", [ [ "GRewrite.test_grewrite2", @@ -8,7 +8,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "fa1c315951e6e175c103684693d2bad4" + "4d2e3f2f32123cd7d5cd0b8b2b1b43dc" ], [ "GRewrite.test_grewrite2", @@ -17,7 +17,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "a5ecf8ffa9743448e6017f051361e64a" + "79fa8f3ef3d50ed0b3c909ec4db903ee" ], [ "GRewrite.test_grewrite2", @@ -26,7 +26,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "8d014a3fe5c9077df10e6d797312753d" + "8190bc0e32e8a791826b4ee614875d61" ], [ "GRewrite.test_grewrite2", @@ -38,7 +38,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "5a9798674c670687bbb9f0843a692023" + "92ba31f28ded89b0cc0e95e3edd4ef42" ], [ "GRewrite.test_grewrite4", @@ -47,7 +47,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "035be30dc23e184ec6862ac7469cbcab" + "301197d071f2e68c4fe9e0b6e321fd0e" ], [ "GRewrite.test_grewrite5", @@ -57,11 +57,11 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_25bfe8259020aebee0f86494b04984bd", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_09041e6fff6fde49ee461fc74c5d26b5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "173943ae8f58b1dc423db3757173a232" + "e51a5e0b8a140a7bcd7217272a3957c7" ], [ "GRewrite.test_term_eq", @@ -70,7 +70,7 @@ 1, [ "@query", "true_interp" ], 0, - "a586b3e3d4e201a7a03bf1dbfb6c27ac" + "c36a44abae97b3acd749b618ffa78647" ], [ "GRewrite.test_grewrite2", @@ -79,7 +79,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "447ab1b780e4e1cfba1366c5ed348f86" + "2b40b8fb778dcdc38769113b04cadb12" ], [ "GRewrite.test_grewrite2", @@ -88,7 +88,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "a7f106a685c539767ee26920d7d90cb2" + "a2cba987833fa1ac60c1fa94429a86ed" ], [ "GRewrite.test_grewrite2", @@ -97,7 +97,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "a43aab65730e92f5b17277c0c2340d1a" + "04287482a15b3d13cd145857b5d8d753" ], [ "GRewrite.test_grewrite2", @@ -109,7 +109,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "16a05a6d83c5f5ae7becfd058f0bcec8" + "abb61f07a5e148cd2aaead4498698ffc" ], [ "GRewrite.test_grewrite4", @@ -118,7 +118,7 @@ 1, [ "@query", "eq2-interp", "equation_Prims.eq2" ], 0, - "77c0d9e6e0cb20248ff9888d248ba76c" + "1419983233f8779f19de2d03430fe69f" ], [ "GRewrite.test_grewrite5", @@ -128,11 +128,11 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_25bfe8259020aebee0f86494b04984bd", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_09041e6fff6fde49ee461fc74c5d26b5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0109ee78e85195ea91c2c08e43e1e64c" + "6af2629c0ea9ca3a7d3fc331883292bd" ], [ "GRewrite.test_term_eq", @@ -141,7 +141,7 @@ 1, [ "@query", "true_interp" ], 0, - "e03feca5d44469e080c41c58a5c3b176" + "472ee50f5574336fb3e6ab0e7387b4ab" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Goals.fst.hints b/examples/tactics/Goals.fst.hints index 47f19398a7c..8530f4161c4 100644 --- a/examples/tactics/Goals.fst.hints +++ b/examples/tactics/Goals.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "8635329df9ef5d0eb589f24bb9301ebc" + "eedabf08a46f998a164c3d8b5fc8eead" ], [ "Goals.elim", @@ -17,10 +17,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "210d5d8dd728f8d52c01e5001ea98330" + "2a651c8d2e171c5e8e458ec4f6ac7da7" ], [ "Goals.intro_sq", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "6938c1fba222cfe5f2e664bc7958aff6" + "81e796a8164f645f8d0ec075b7cb9054" ], [ "Goals.elim", @@ -38,10 +38,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "ee15107ebfa9864d37efc7433fe34eb1" + "2432a480358fd11dfa7aea0f84c18c1c" ] ] ] \ No newline at end of file diff --git a/examples/tactics/HoleBy.fst.hints b/examples/tactics/HoleBy.fst.hints index fa3e6fc3531..3d71d4f7b15 100644 --- a/examples/tactics/HoleBy.fst.hints +++ b/examples/tactics/HoleBy.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_HoleBy.x" ], 0, - "dabbd5552848a9b450cfe2e2548a0c79" + "c363be858f5eb1d03d619e7796cd539c" ], [ "HoleBy.lem2", @@ -17,7 +17,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "bb2312099e1db112582b5b6398ff2e29" + "3bf249f6dc4e3b9f3a70786af38af1bd" ], [ "HoleBy.uu___1", @@ -26,7 +26,7 @@ 1, [ "@query", "equation_HoleBy.x" ], 0, - "04bec0f8ffad62fa4a810527a60de947" + "512e8f13b5d2cfa976d2d74d4d43a014" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Ill1.fst b/examples/tactics/Ill1.fst index 806ed0a9fb0..1b8e3f7dd8b 100644 --- a/examples/tactics/Ill1.fst +++ b/examples/tactics/Ill1.fst @@ -19,5 +19,6 @@ open FStar.Tactics assume val f : term -> int [@(expect_failure [228])] -let _ = assert_by_tactic True (fun () -> let tm = quote (fun x -> x + 1) in - exact (quote (f tm))) +let _ = assert True + by (let tm = quote (fun x -> x + 1) in + exact (quote (f tm))) diff --git a/examples/tactics/Ill1.fst.hints b/examples/tactics/Ill1.fst.hints index 89d07eff245..8729a16f9f2 100644 --- a/examples/tactics/Ill1.fst.hints +++ b/examples/tactics/Ill1.fst.hints @@ -1 +1 @@ -[ "Y0ÎxJG\u0014f*3‚F ÈíZ", [] ] \ No newline at end of file +[ "s˜\u0006{\nÀ?¤½Ûtóz¥©%", [] ] \ No newline at end of file diff --git a/examples/tactics/Imp.fst.hints b/examples/tactics/Imp.fst.hints index e723ab365f9..fd8d75babcc 100644 --- a/examples/tactics/Imp.fst.hints +++ b/examples/tactics/Imp.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f1cf15b0487916b7f1cfcebbef361e2f" + "e90ab72e139f5766b59c3fa7e5224977" ], [ "Imp.__proj__Add__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" ], 0, - "c1c363a7e9ba3387798dc834b0378bdc" + "09b88a1a7081e0da6020fa647de381c4" ], [ "Imp.__proj__Add__item___1", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" ], 0, - "38c7ddd2859811e7731b9578e2c54114" + "cd53605fbe59b71f0d3b01cba73e5943" ], [ "Imp.__proj__Add__item___2", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" ], 0, - "31db414fadbce6254cdf95fac7e4c29a" + "c2fe4e5ea8f3879fc5660cb7636efaf3" ], [ "Imp.__proj__Sub__item___0", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" ], 0, - "a4032fba2f8142075e085e6d26101bbc" + "c22b8ee25f4fdc5b01c1c89b83b965cb" ], [ "Imp.__proj__Sub__item___1", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" ], 0, - "2cc2c5cacfc7c858be7ca8816f13c160" + "86deface2eea6b0f8f25b46b16e2359c" ], [ "Imp.__proj__Sub__item___2", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" ], 0, - "bc3827a1e8b44c35d1bd4b319a6dbd55" + "f1df3c4fd025bfdad2cc7282c1b5563b" ], [ "Imp.__proj__Mul__item___0", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" ], 0, - "afc2a105fb5f750842b6c59c6b71279d" + "c59be328610e40ae83a0a57886bf52f8" ], [ "Imp.__proj__Mul__item___1", @@ -117,7 +117,7 @@ "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" ], 0, - "af740cce6741e828e9e907e089ac707b" + "23e4058e46e2d58f4bf3da773c1c1f9c" ], [ "Imp.__proj__Mul__item___2", @@ -130,7 +130,7 @@ "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" ], 0, - "3f6cc3410383af005d3818a8b1a57249" + "e34e1b7f09b164d346fb382e5100beac" ], [ "Imp.__proj__Const__item___0", @@ -143,7 +143,7 @@ "refinement_interpretation_Tm_refine_01ac0c7f58b13b9a9cb14230122b0e7a" ], 0, - "20cbfb714a4bf4dd4661c313753ed8d0" + "4cf98ca330edd2e92a4bbd4b19283aa3" ], [ "Imp.__proj__Const__item___1", @@ -156,7 +156,7 @@ "refinement_interpretation_Tm_refine_01ac0c7f58b13b9a9cb14230122b0e7a" ], 0, - "1204a8cc2fa54fb0b26643747aef5e82" + "b14fcb8f1da47691cab21f51790ebf41" ], [ "Imp.size", @@ -171,7 +171,7 @@ "fuel_guarded_inversion_Imp.inst" ], 0, - "929a01da4138bcc44ccb30173cfc692c" + "b2fa9c52f2ed35631356f493ab12949f" ], [ "Imp.size", @@ -180,16 +180,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_c436a29572a007a00562c41c572f87a4_0", + "binder_x_c90eb51ccd640fa99cdfa73d3bcafabb_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Imp.prog", "equation_Prims.pos", "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "subterm_ordering_Prims.Cons" ], 0, - "b5e76e0e479770b9ce86a5b233c2eb44" + "306e4f0e8c68056a9553077324a575a7" ], [ "Imp.override", @@ -198,7 +198,7 @@ 1, [ "@query", "assumption_Imp.reg__uu___haseq" ], 0, - "52e01b0b15bc8eefd34b07b0d6aafa51" + "3ac7a53077d3a5657e229e8629d57d3b" ], [ "Imp.eval'", @@ -213,7 +213,7 @@ "fuel_guarded_inversion_Imp.inst" ], 0, - "79668ccd8e35e3a8abb0ad6a3dc765df" + "17b2cbd675e3b80dedae12da5e0783fc" ], [ "Imp.uu___66", @@ -222,7 +222,7 @@ 1, [ "@query" ], 0, - "9e5ccfc450efc2b97f3cb3e7d9bab107" + "e987a511ac1ec3fa7ebc74a0d9f2ffca" ], [ "Imp.uu___75", @@ -231,7 +231,7 @@ 1, [ "@query" ], 0, - "b9a64a075bd88a7f997c32a79ec09a5f" + "212ae8472c2f0f3511c4488895277ff0" ], [ "Imp.uu___78", @@ -240,7 +240,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "a10df39ec4c6246e34f15d119949f44a" + "ed01967846a48c50bb98a1ed7efa08e4" ], [ "Imp.uu___81", @@ -249,7 +249,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "786e635b73d4f30d5c75523848c6718c" + "925fb820e452acbb2bb3ed314e733f65" ], [ "Imp.uu___84", @@ -258,7 +258,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "259383ae35196b941c54bc4d1ec696e7" + "9e8dc8d04671bf1acaf6ef8305767fad" ], [ "Imp.uu___87", @@ -267,7 +267,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "935fa536215bf970668dd573f50383d0" + "d80b1ab34e47fca9db319a3cbc06aa61" ], [ "Imp.uu___90", @@ -276,7 +276,7 @@ 1, [ "@query" ], 0, - "e58770695bc8f6ba05ac756916c94c2c" + "b62d4d981c3c8fa1563e43337825f209" ], [ "Imp.uu___112", @@ -285,7 +285,7 @@ 1, [ "@query" ], 0, - "4dc956dd60a18109b0fe9bcf3c91340f" + "921e6ffc1674653c0b50239630879831" ], [ "Imp.uu___113", @@ -294,7 +294,7 @@ 1, [ "@query" ], 0, - "3692f6dbe6416e708950c0a6f94a0dfe" + "00bfce6c2f1ef2af1c86dbad660e4762" ], [ "Imp.uu___114", @@ -303,7 +303,7 @@ 1, [ "@query" ], 0, - "41b8727f79abcc7b49c94a66a2ae401b" + "80a99c2b3c44b01991990ef08be70fee" ], [ "Imp.uu___116", @@ -312,7 +312,7 @@ 1, [ "@query" ], 0, - "ecbb8afd2360f582bfe4e14e7416ed9c" + "06c8b8a6f8d7e6633f43342ec2865d75" ], [ "Imp.uu___117", @@ -321,7 +321,7 @@ 1, [ "@query" ], 0, - "0b99fcd7df79d0d1bece9ec68bc5a622" + "c167eafbca68426d9926c0fd7521dba9" ], [ "Imp.uu___118", @@ -330,7 +330,7 @@ 1, [ "@query" ], 0, - "55593bf4b93d75416e4438a7a5607dff" + "67bd775153a427fab091f92d07249411" ], [ "Imp.uu___119", @@ -342,7 +342,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "a1bcc61c3ca6fb716a1a29c93392d035" + "69317723f27bf1d3e13e71b25ee5ced5" ], [ "Imp.reg", @@ -352,11 +352,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6644a0fa3285573f6e710f391a4638d0" + "5667514a667b5276c507262e3168136f" ], [ "Imp.__proj__Add__item___0", @@ -369,7 +369,7 @@ "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" ], 0, - "db718735f2cb89617ca716c072e69b5b" + "b96393521a126012ff02d53c13c5f881" ], [ "Imp.__proj__Add__item___1", @@ -382,7 +382,7 @@ "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" ], 0, - "7e1082ee67dda9e964adc47c9c4fe05f" + "090784df3a6c6fdec2214622c1bc203c" ], [ "Imp.__proj__Add__item___2", @@ -395,7 +395,7 @@ "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" ], 0, - "aaa33eb3f984d529715ea258674e05a6" + "e2ed09bafa96a34c173df498b546fcaf" ], [ "Imp.__proj__Sub__item___0", @@ -408,7 +408,7 @@ "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" ], 0, - "2b27715d231d07377d29234d658f88b2" + "756baea124248f43412db9d6861121dc" ], [ "Imp.__proj__Sub__item___1", @@ -421,7 +421,7 @@ "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" ], 0, - "62c25baf20f936b4f38b77933fe924b7" + "6ad730a3ad59ebf630be7992d84eab30" ], [ "Imp.__proj__Sub__item___2", @@ -434,7 +434,7 @@ "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" ], 0, - "d4547a842dd78ef5b53af91e8d6c96c6" + "9bcdbe2d5ac2077cb505b4d464fe2780" ], [ "Imp.__proj__Mul__item___0", @@ -447,7 +447,7 @@ "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" ], 0, - "98c426ed86787753e97f13b6fbfdb035" + "5f9594dee64cc8fa077a3abe0add79a6" ], [ "Imp.__proj__Mul__item___1", @@ -460,7 +460,7 @@ "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" ], 0, - "32322435e22d02003c858c676e14e909" + "e3ee44847e21b40bb2d57107726b7519" ], [ "Imp.__proj__Mul__item___2", @@ -473,7 +473,7 @@ "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" ], 0, - "fecf186df4cc56cf10a7b55999658d6e" + "a1d23da82eb1569b53dc409902c4034a" ], [ "Imp.__proj__Const__item___0", @@ -486,7 +486,7 @@ "refinement_interpretation_Tm_refine_01ac0c7f58b13b9a9cb14230122b0e7a" ], 0, - "a219400100e5ffc918184f972c486850" + "80d42460a366f124d65d40f0f0225f20" ], [ "Imp.__proj__Const__item___1", @@ -499,7 +499,7 @@ "refinement_interpretation_Tm_refine_01ac0c7f58b13b9a9cb14230122b0e7a" ], 0, - "b56190545bd968398f53eacd2e063254" + "993ac13be7d6d07c7b960f488676b9d7" ], [ "Imp.size", @@ -514,7 +514,7 @@ "fuel_guarded_inversion_Imp.inst" ], 0, - "8e9bbf4e8b371d250d395a80a74c4d87" + "a306479d3dcc7cac873089de21dca74f" ], [ "Imp.size", @@ -523,16 +523,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_c436a29572a007a00562c41c572f87a4_0", + "binder_x_c90eb51ccd640fa99cdfa73d3bcafabb_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Imp.prog", "equation_Prims.pos", "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "subterm_ordering_Prims.Cons" ], 0, - "6a7939b688942db0cd7066ca6fc29e48" + "91ce2319ec079f8aa85c9fd029729ee4" ], [ "Imp.override", @@ -541,7 +541,7 @@ 1, [ "@query", "assumption_Imp.reg__uu___haseq" ], 0, - "1fe0a9745ac1e2226e78bca273b44ca8" + "a52dba00599ba5bc4be53ee358b5ee68" ], [ "Imp.eval'", @@ -556,7 +556,7 @@ "fuel_guarded_inversion_Imp.inst" ], 0, - "41920d362ea599be2f87da6e47227239" + "b297da63d65215658425977f361e35ad" ], [ "Imp.uu___66", @@ -565,7 +565,7 @@ 1, [ "@query" ], 0, - "80a14e1a7c02550fbc61e8dd3736b7f5" + "a3107e28a9ffbd89366fae765942848b" ], [ "Imp.uu___75", @@ -574,7 +574,7 @@ 1, [ "@query" ], 0, - "f2e277108ca9e1419164541a123f6d69" + "d8d2e99396025456734f4241eea5362b" ], [ "Imp.uu___78", @@ -583,7 +583,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "6b702de77ae5638aa14d918a53cc91a2" + "e16373f50c04acdc0bc1da7aabb44901" ], [ "Imp.uu___81", @@ -592,7 +592,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "c758e331f4dfe2e2fa543e017603056e" + "643e143a06697a51078120232e0bc640" ], [ "Imp.uu___84", @@ -601,7 +601,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "81c7749cc5ddffc127b29d09551960e4" + "7bcb5b3e54f93fae97f2cabd6e00298f" ], [ "Imp.uu___87", @@ -610,7 +610,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "71974e51ec022219a362749fc165040b" + "1dbffa251adf68df028d06367fc3734a" ], [ "Imp.uu___90", @@ -619,7 +619,7 @@ 1, [ "@query" ], 0, - "171caf025b61eba69fb250a8b26b1f9e" + "d9506faf2dd774aa444d6fc261b0304f" ], [ "Imp.uu___112", @@ -628,7 +628,7 @@ 1, [ "@query" ], 0, - "a62c7258657d88cd60b4bf6bee3a2f74" + "2b5bcf1fda29f236f94afb992d78d357" ], [ "Imp.uu___113", @@ -637,7 +637,7 @@ 1, [ "@query" ], 0, - "fc8ff283d3bc3a1edf4e72f8526bbc4b" + "079dd4c1d78d28d62dd531108cb90fc7" ], [ "Imp.uu___114", @@ -646,7 +646,7 @@ 1, [ "@query" ], 0, - "a107835251f1c53011505fb81ed5f67e" + "291857187cb6e9e0a746d1856b301a2b" ], [ "Imp.uu___116", @@ -655,7 +655,7 @@ 1, [ "@query" ], 0, - "e8c27c965386cf0636a967bf0abf9f86" + "cc399def155c084225ad30d2e4efa186" ], [ "Imp.uu___117", @@ -664,7 +664,7 @@ 1, [ "@query" ], 0, - "a232585168a0c7c6df129adbebe23731" + "19d50aa824bc75e3ecc580d87a88abdf" ], [ "Imp.uu___118", @@ -673,7 +673,7 @@ 1, [ "@query" ], 0, - "0de8fa6f0be94f0a357b30f687d275a1" + "3d914e5ce73a0cd2db4d9a5775c00d2c" ], [ "Imp.uu___119", @@ -686,7 +686,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f650457ab8bdb2ed6d7977c65db83cca" + "ff33ed557b5211d5bbc8c617abef940f" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Inlining.fst b/examples/tactics/Inlining.fst index 971608742a4..7ba5d3de4ae 100644 --- a/examples/tactics/Inlining.fst +++ b/examples/tactics/Inlining.fst @@ -31,8 +31,14 @@ open FStar.Buffer let add_1 (x:int) : int = x+1 -let set_to_1 (x: buffer U32.t{length x == 1}) = - x.(0ul) <- 1ul +(* + * AR: 07/11: non-trivial precondition, need a spec + *) +let set_to_1 (x: buffer U32.t{length x == 1}) + : ST unit + (requires fun h -> live h x) + (ensures fun h0 _ h1 -> True) + = x.(0ul) <- 1ul // eg, we want to inline add_1 into this function let add_2 (x:int) : int = add_1 (add_1 x) diff --git a/examples/tactics/Inlining.fst.hints b/examples/tactics/Inlining.fst.hints index 9aa70f24f9b..fb6ef1bd802 100644 --- a/examples/tactics/Inlining.fst.hints +++ b/examples/tactics/Inlining.fst.hints @@ -1,6 +1,26 @@ [ - "\u0017\u0000Çp‘d}zmýñlh\u000bž—", + "g\u0001’²†Ò8»\u000etð&ÖúS", [ + [ + "Inlining.set_to_1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.HyperStack.ST.equal_domains", + "equation_FStar.HyperStack.ST.equal_stack_domains", + "fuel_guarded_inversion_FStar.Buffer._buffer", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_1115aaaf6e5c0fbb62d1696a83c64cd7", + "refinement_interpretation_Tm_refine_a3fe8ac6e0cdfb8431473d414e7da495", + "refinement_interpretation_Tm_refine_dece61d06ef92f926e8bc95cf5f2b2dd" + ], + 0, + "d8772210bd1a89f50ab354aca5f640b3" + ], [ "Inlining.create_add_1", 1, @@ -10,8 +30,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", + "b2t_def", "bool_inversion", + "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.fresh_frame", @@ -25,8 +45,7 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Inlining.add_1", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Buffer.lemma_fresh_poppable", "lemma_FStar.Buffer.modifies_poppable_0", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", @@ -44,16 +63,9 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", @@ -65,7 +77,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "322f6cc0229f1e1a8863324f775111cc" + "7d0c777a75506924c592782b04038389" ], [ "Inlining.create_add_1'", @@ -76,8 +88,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", + "b2t_def", "bool_inversion", + "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.fresh_frame", @@ -91,8 +103,7 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Inlining.add_1", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Buffer.lemma_fresh_poppable", "lemma_FStar.Buffer.modifies_poppable_0", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", @@ -110,16 +121,9 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", @@ -131,7 +135,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "891a3cdcddc2a6f05ee5839e757c2c54" + "ed87e8b5da3b3391e87b5b5f94059e89" ], [ "Inlining.create_add_1'", @@ -142,8 +146,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", + "b2t_def", "bool_inversion", + "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.fresh_frame", @@ -157,8 +161,7 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Inlining.add_1", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Buffer.lemma_fresh_poppable", "lemma_FStar.Buffer.modifies_poppable_0", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", @@ -176,16 +179,9 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", @@ -197,7 +193,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "dd05cab6e6b57b4fdd2458bdeaff142e" + "3bb347d2e52a4fa7ad261c54aebb94ee" ], [ "Inlining.create_add_1'", @@ -208,8 +204,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", + "b2t_def", "bool_inversion", + "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.fresh_frame", @@ -223,8 +219,7 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Inlining.add_1", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Buffer.lemma_fresh_poppable", "lemma_FStar.Buffer.modifies_poppable_0", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", @@ -242,16 +237,9 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", @@ -263,7 +251,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "9f742c2f151ca960e618f2f4e6b0f033" + "12a22697b6f180afe3a935e5e1d40dde" ], [ "Inlining.create_and_set", @@ -271,35 +259,53 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "equation_FStar.HyperStack.ST.equal_domains", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.max_length", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.fresh_frame", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.pop", "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "lemma_FStar.Buffer.lemma_equal_domains_2", + "equation_FStar.Monotonic.HyperStack.remove_elt", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.Buffer.modifies_poppable_0", - "lemma_FStar.Buffer.modifies_poppable_1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_dc4119174f6bc7aff4bc23eee994711e" + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_dece61d06ef92f926e8bc95cf5f2b2dd", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.remove_elt", + "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "04cee2917e13ecba546fcc1ae7013096" + "db17725b83319416197f12e7cad99254" ], [ "Inlining.create_and_set'", @@ -307,35 +313,53 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "equation_FStar.HyperStack.ST.equal_domains", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.max_length", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.fresh_frame", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.pop", "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "lemma_FStar.Buffer.lemma_equal_domains_2", + "equation_FStar.Monotonic.HyperStack.remove_elt", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.Buffer.modifies_poppable_0", - "lemma_FStar.Buffer.modifies_poppable_1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_dc4119174f6bc7aff4bc23eee994711e" + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_dece61d06ef92f926e8bc95cf5f2b2dd", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.remove_elt", + "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "514f1d1c0037b60ad39903ae9fc25afb" + "8732f8112f240870bbeecba3cfb52cdd" ], [ "Inlining.create_and_set'", @@ -343,35 +367,53 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "equation_FStar.HyperStack.ST.equal_domains", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.max_length", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.fresh_frame", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.pop", "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "lemma_FStar.Buffer.lemma_equal_domains_2", + "equation_FStar.Monotonic.HyperStack.remove_elt", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.Buffer.modifies_poppable_0", - "lemma_FStar.Buffer.modifies_poppable_1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_dc4119174f6bc7aff4bc23eee994711e" + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_dece61d06ef92f926e8bc95cf5f2b2dd", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.remove_elt", + "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "b8ec012c89cf58a2fb1dcf548216115e" + "39490b57a917753b36cce0433500e2c9" ], [ "Inlining.create_and_set'", @@ -379,68 +421,53 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "equation_FStar.HyperStack.ST.equal_domains", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.max_length", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.fresh_frame", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.pop", "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "lemma_FStar.Buffer.lemma_equal_domains_2", + "equation_FStar.Monotonic.HyperStack.remove_elt", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.Buffer.modifies_poppable_0", - "lemma_FStar.Buffer.modifies_poppable_1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_dc4119174f6bc7aff4bc23eee994711e" - ], - 0, - "462a4a0926ba1ccad31964b3500409cc" - ], - [ - "Inlining.set_to_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Buffer.MkBuffer_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d4da60cb6187749d65a25df63d2ab15", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.v" + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomRestrict", + "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", + "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_dece61d06ef92f926e8bc95cf5f2b2dd", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.remove_elt", + "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "b4b651a3de59c0f5e08f4a8371f512de" + "76d4e9b23203c681ed5a930fb6cb9cce" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Instantiate.fst.hints b/examples/tactics/Instantiate.fst.hints index 62fe1297e89..396c90c2b73 100644 --- a/examples/tactics/Instantiate.fst.hints +++ b/examples/tactics/Instantiate.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "b661eaab9b61c1fa39d9ab28916fe29c" + "633211837d623469be738e389cefb5c2" ], [ "Instantiate.test", @@ -17,10 +17,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a01d550e6d2f94f9934a1cf242766e63" + "5befa50ca1311605aa77603eaff69ee9" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Join.fst.hints b/examples/tactics/Join.fst.hints index 8591016733f..b4cbfb462d3 100644 --- a/examples/tactics/Join.fst.hints +++ b/examples/tactics/Join.fst.hints @@ -9,19 +9,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "2f18900a0d4768eedc4416571da44dcd" + "18bd1550dc50fdee1762e8a473a2f72f" ], [ "Join.test1", @@ -31,19 +29,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "d13474afddec319a5ac000a7ae9c216b" + "3fab378969cd5f57535e378be18a9aed" ], [ "Join.test1", @@ -53,19 +49,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "262540dc1cd5ff4b9022acb42a4f4d99" + "f5f2185424c73aff0e2fb89f19f79403" ], [ "Join.test1", @@ -75,19 +69,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "9b69b997eb0307f1f3b154d66cef00ad" + "1c3efec7e5c12be3f08c65366925a26c" ], [ "Join.test1", @@ -97,19 +89,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "5de48900c760d1f48b39c856285de10f" + "d663db7d9d442fcf0ec86e853119d20e" ], [ "Join.test1", @@ -119,19 +109,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "86ab3b47a707e28b178318579d6d837f" + "dd8b9fb58982c17e7a1114d39717ee79" ], [ "Join.test1", @@ -141,19 +129,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "2db52d6462793879684bf79606004da4" + "a1a3280441f3b9ad41bc866b7f9de83f" ], [ "Join.test1", @@ -163,19 +149,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "a6175b72796ed1879c88746dacce4cbc" + "1978341b051056d4779560bee3b14e25" ], [ "Join.test1", @@ -185,19 +169,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "117a2fd7bfd16abe592bd050dfcf0a54" + "88edb55012c3e84ea0ef5cbdb563ef58" ], [ "Join.test1", @@ -207,19 +189,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "6a4d60c3959c10b2f2bc40c38b2a3fac" + "250529122420432a888907ae35ea2521" ], [ "Join.test1", @@ -229,19 +209,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "71d53b0aa63ae96200d1198471bd088a" + "9c1da53028fd3f267484e747d11e6686" ], [ "Join.test1", @@ -251,19 +229,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "d0a92ffe03c4347b89c9a9b03136e495" + "5ac951abcbf223671b6ba172684e5d89" ], [ "Join.test1", @@ -273,19 +249,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "b27c7a3daed0730a0e302391b75abb0c" + "34b95f3b1aaa8566a22cbce588e2548d" ], [ "Join.test1", @@ -295,19 +269,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "a49d21ea34899de4f940f5a9b411301c" + "d76e04762b90fe5226d186fde4c2bb86" ], [ "Join.test1", @@ -317,19 +289,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "a7932d7cf1f580c7996799a7165f3fed" + "1c89ae1d7b082698a0545d7e0f8c87bf" ], [ "Join.test1", @@ -339,19 +309,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "872d6793f4152e45fe2c37470f6ab5f7" + "f7ab8dc2c95b2b7579cff43bbe046571" ], [ "Join.test1", @@ -361,19 +329,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "5c1abae5136dce3e32a6b29bbbbbbeb6" + "2150b8561632dd119990e5b51dc0eab0" ], [ "Join.test1", @@ -383,19 +349,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "3a8e1da7c69aaa8b289968c3a9dcaf5d" + "40fa7227b635406128902ade48d62a66" ], [ "Join.test1", @@ -405,19 +369,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "6567c29a1f4e967bb241bca654e6d109" + "51fb8410087206c5dfc4a826049be4a5" ], [ "Join.test1", @@ -427,19 +389,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "b3e9d458a74aee8a36afc9e155989f6b" + "3780642f79572ad58d8adab50261700a" ], [ "Join.test1", @@ -449,19 +409,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "11487dbda6250c4aeb4e42d1016f1885" + "44301f119e1c63a14183888ffc2e9cea" ], [ "Join.test1", @@ -471,19 +429,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "819ed8c4489281e9bd19c9f4990a5fec" + "42243733a876137944d839c9dbacfca1" ], [ "Join.test1", @@ -493,19 +449,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "6403369676e694caaecd891dcd71ab5a" + "2276c896bdf3a52dca619491566665db" ], [ "Join.test1", @@ -515,19 +469,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "9390229aca81c31d885a908937668dea" + "d4c74e7fb939957b7391334ee6422e65" ], [ "Join.test1", @@ -537,19 +489,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "25fe6b576110b4ea979c67c8938b7089" + "2ee6e83299a412989f09a3117546a265" ], [ "Join.test1", @@ -559,19 +509,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "e49014fb7ab20c41b8011c383c988eba" + "092f95f882a266b44cc9f6bbe1a44312" ], [ "Join.test1", @@ -581,19 +529,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "5c154103dcb242b5ee0ce353c6456e24" + "9f0be3f96547678107aa1224da0bd268" ], [ "Join.test1", @@ -603,19 +549,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "3b5d8831a476f5759d0af034b1fb5b9c" + "7c8273fc202253fa9b8f6fc5f1320be6" ], [ "Join.test1", @@ -625,19 +569,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "001b34ac78148b38759472bd93a2ce1c" + "340a9bf29b20173b805ac19536b7811c" ], [ "Join.test1", @@ -647,19 +589,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "5a8b82e6038e36107d4a648d10f0407e" + "855ffda125954fea8dba0e7434741901" ], [ "Join.test1", @@ -668,10 +608,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "3f50e03aa1e5021f78af76ca15d5cd29" + "07e06ca447ff07c8d18135f078435972" ], [ "Join.test1", @@ -681,19 +621,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "f96b9e9b95f0349dfe1a50326672ad1a" + "c8bff135cb0787e16f96008032effaf0" ], [ "Join.test1", @@ -703,19 +641,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "21d6a252a2e9dbe281495e240df16573" + "944002323c2c99a3cb6821ad660d50a3" ], [ "Join.test1", @@ -725,19 +661,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "c5e5070a5dbc2c3c309be04b95ff01b5" + "289f79fc730e79a87edc3683bd4d5809" ], [ "Join.test1", @@ -747,19 +681,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "ad4031555378ad7cd0bf03a22cdf3333" + "eeb1947b990b4c8f5fd51f717432e6f9" ], [ "Join.test1", @@ -769,19 +701,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "ee1f604ee734f251f42a8a1a3e583192" + "f42a69eaacf0cf7597b17d3308ee33ac" ], [ "Join.test1", @@ -791,19 +721,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "0e33bf6706cfba8016eaafc8a3dc6611" + "83f1c55ca23556fdbb52b735abf83f10" ], [ "Join.test1", @@ -813,19 +741,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "6628206d88fc458dc212c37038582711" + "608961a84d430f682c78cea4d9de3691" ], [ "Join.test1", @@ -835,19 +761,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "94b168135b26c666f8dbe34bc6f82e8c" + "ad4ab964d62a8f9c7bf1da7e76a906f0" ], [ "Join.test1", @@ -857,19 +781,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "155ac2cf8678f434467a3fdf63ba543b" + "3c55b4c5829b3a70f42a4eeea839c399" ], [ "Join.test1", @@ -879,19 +801,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "63e6aa79eac662dbef98c2620d78954c" + "610babf5e51828f83009ef89c7f55e09" ], [ "Join.test1", @@ -901,19 +821,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "a4f8bda0df4fbd3c18f35e92f05e49eb" + "37f686b7c9176f36d6e3bde32d7684de" ], [ "Join.test1", @@ -923,19 +841,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "5a26ba45ae48c6fed77d559f53bb2beb" + "d30878e36a1f6debe07e4caffcc004f3" ], [ "Join.test1", @@ -945,19 +861,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "3af1eedb707c88897db26caa6859eb65" + "1969e0a43c5ba77aa6bfa84cca3b6ecc" ], [ "Join.test1", @@ -967,19 +881,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "fb1e35c150f74bfef2346a907c25e4cd" + "6260947e528458a0dfdb4f7ccdc61a17" ], [ "Join.test1", @@ -989,19 +901,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "86891fea09be551e6ee883f50f0d1505" + "45af356030a6ca3871ab5f585ed0a198" ], [ "Join.test1", @@ -1011,19 +921,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "e2d73ab82a268dbad14be5022ccfa7fb" + "df0da30b436939bda05811aa3b253a40" ], [ "Join.test1", @@ -1033,19 +941,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "fa4d78fd7f0d730034c104cdb70d1d97" + "ff1701f615da9b27f250c14b0366783f" ], [ "Join.test1", @@ -1055,19 +961,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "aef1085d38264244e0a130eb292c0ced" + "61142e3b53591cfb9ed7b830ea48419b" ], [ "Join.test1", @@ -1077,19 +981,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "89aef0463f58e0a5458cf3924086f360" + "61fc1df354a4a0b2405e6b26785c2365" ], [ "Join.test1", @@ -1099,19 +1001,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "df3c0118cf6e92fed38f242d71639f6d" + "25734612ce31ad12e4e345ffcc65e900" ], [ "Join.test1", @@ -1121,19 +1021,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "791f420b808b2c9361066a31c563864c" + "f1b5d8e15bccaf5269805217da518000" ], [ "Join.test1", @@ -1143,19 +1041,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "52b57c546813bd07001d5eb85fb73139" + "a060e5e4dadd0a607d0d8bd76b9ead08" ], [ "Join.test1", @@ -1165,19 +1061,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "e1e24273497f9aa8647f211dd2459c06" + "a2c0343f1792001a040fcf44bf1d68a6" ], [ "Join.test2", @@ -1187,19 +1081,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "c7d48e70c31305dfd2411fbc18e8097f" + "268f34e835235ab50dce237311d6bf1f" ], [ "Join.uu___1", @@ -1209,19 +1101,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "9a1af9e3c087a5f0f457fab9bc19c86a" + "e1a1b2d07ef2a56664be064d09e837ee" ], [ "Join.implies_intro'", @@ -1238,7 +1128,7 @@ "typing_FStar.Tactics.Result.uu___is_Failed" ], 0, - "11fe26949036a82cff6afa93186797b8" + "966e84bc8bbb7dfd6f98f621428131aa" ], [ "Join.tau", @@ -1258,7 +1148,7 @@ "typing_FStar.Tactics.Result.uu___is_Success", "unit_typing" ], 0, - "9e46ec6d38eff0fd2851dcc6acb88086" + "f9bec5509cc83b4f0c04ee79f017c692" ], [ "Join.test1", @@ -1268,19 +1158,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "2d7d98bd2a46790c242da63966717667" + "e789e9a0f421add147b65d9971899ac1" ], [ "Join.test1", @@ -1290,19 +1178,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "19d00c43d7721031b1a326bfe903b61b" + "5d92218f7009e7d99ee5ff56998f37e8" ], [ "Join.test1", @@ -1312,19 +1198,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "4bc79aca86bfe7c798dc64dd749998cb" + "c7eeb17b93d505e36a8abe333ac98a09" ], [ "Join.test1", @@ -1334,19 +1218,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "b6191e16c3072b80386f1b0ead846e82" + "f1feb9c85eb1784577a4f00f4bb177e5" ], [ "Join.test1", @@ -1356,19 +1238,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "1698d53d01d820650aea2d162d8a8c61" + "fe9298679e66070d3fbf12dd2fb2701f" ], [ "Join.test1", @@ -1378,19 +1258,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "58647afcec1c0824819954c8945767b1" + "623330defd96534735c9269b5d14bc34" ], [ "Join.test1", @@ -1400,19 +1278,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "e1c263a7472d67b2b210c5723dea43e2" + "9e1700a72875291bda315ca75a630f8b" ], [ "Join.test1", @@ -1422,19 +1298,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "172f21506049703ffe8e42d5cf7af4d8" + "be0c72c9a040224ad275b172b603ba55" ], [ "Join.test1", @@ -1444,19 +1318,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "8d3fb2a95e9b68be2b2268b711628f4b" + "00d0a343ebf05da5b39837ec8f4303f2" ], [ "Join.test1", @@ -1466,19 +1338,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "c2c91af7243a0639b041834504fbe07b" + "94af65c3407239231ec4b18791baee56" ], [ "Join.test1", @@ -1488,19 +1358,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "a4a2f697626ab6a3773471ea01dde0b3" + "6d89d143f43a6b5dd25bd98d63dc85ff" ], [ "Join.test1", @@ -1510,19 +1378,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "ce795047bff6dbde534d9fbffda32e18" + "c7478addc2bdfd3122c980316855a112" ], [ "Join.test1", @@ -1532,19 +1398,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "3e15e9934fe275c60597124c5f5bf04c" + "9f81771720e6bf7c55113dd3cb90c483" ], [ "Join.test1", @@ -1554,19 +1418,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "856293a380862ad34ac119519b1df8b1" + "425159c27c996fc53c2e77aac362fe84" ], [ "Join.test1", @@ -1576,19 +1438,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "d298997008fef6a1781035695a5163cb" + "652a44f3d63a7c79a71bdec7889ffcd3" ], [ "Join.test1", @@ -1598,19 +1458,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "b1ad9a434c836bd59d8f9e3adf2bd9e4" + "3a67c58879e164662f991286bdcb85dd" ], [ "Join.test1", @@ -1620,19 +1478,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "0cea65103765155fb573d3a5dc718023" + "fcdd08e04ffa364a3d804e508f29e1d6" ], [ "Join.test1", @@ -1642,19 +1498,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "623509bc90afd8938ed7d6f787b5ca3c" + "7e5d2ffcfceb5ced4e78583dd671c562" ], [ "Join.test1", @@ -1664,19 +1518,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "db5d7662186ae5bcb9ff91a116df271e" + "aab6c7025f55bc4d496732301723efc4" ], [ "Join.test1", @@ -1686,19 +1538,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "4d7b1eb9a822af0339b49a823abde9cd" + "77c6cce465952bc9f049995bd965d520" ], [ "Join.test1", @@ -1708,19 +1558,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "4d39cee743c18b4039ab0ff277b5e7b1" + "84b1ac5b0e253d9224b09ba39c3a4076" ], [ "Join.test1", @@ -1730,19 +1578,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "8457a1501735c313797fa55d1a9614ab" + "2db56053d1d81f5c70dfd1f35eb84e62" ], [ "Join.test1", @@ -1752,19 +1598,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "724cf7771ff55ea417f0da6e1b8a5466" + "a596af997dfa1c8c26cc6ec1424370fd" ], [ "Join.test1", @@ -1774,19 +1618,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "380714efbb19fbb38950274f3604a3ca" + "a32a54762fb8d2316a1cc3320d9cb29b" ], [ "Join.test1", @@ -1796,19 +1638,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "8b58c5cffa7d98313ec7d8bf0f515417" + "87634191cd043fd4c8d48986f5626dce" ], [ "Join.test1", @@ -1818,19 +1658,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "63f2175ac59515e9ea729d0b92fcc805" + "9f0ad417d7cc2c980b15026866d86212" ], [ "Join.test1", @@ -1840,19 +1678,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "fdc8c03c36dd2c60807bc6575ebdb7d9" + "57473f8845e3a822efc54850c37ce46b" ], [ "Join.test1", @@ -1862,19 +1698,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "6b5020a477870bb2df7061ea2e7d7ab3" + "989e518f550d5abc1939f67036a885c0" ], [ "Join.test1", @@ -1884,19 +1718,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "662d5597ffebfa174c9ddae8014fb649" + "b00e47686f22ced1e646c294fdd462f5" ], [ "Join.test1", @@ -1905,10 +1737,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "e2adaae3fd80163efffd62c788659d5d" + "bfc9ab6486d7fde594882d5add7f0ee9" ], [ "Join.test1", @@ -1918,19 +1750,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "32ef8cf414b8ef4761c8f09cb050fc57" + "585c630d96472f850634f85a7a2ec394" ], [ "Join.test1", @@ -1940,19 +1770,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "dd5d6cefc8ad9f70c90bbe55054dac55" + "54e1ac52ff508312d297bc8b481bc603" ], [ "Join.test1", @@ -1962,19 +1790,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "a88e21373a7ea371f3045aee297f3929" + "9915591e2fca3356cc30390c328f2eff" ], [ "Join.test1", @@ -1984,19 +1810,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "f1b2dacb69b6d7395848c1e65ac154ae" + "a56c21136e7a555465d36a9e0c85f8c5" ], [ "Join.test1", @@ -2006,19 +1830,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "89105a6a4d09279e683294d27b295096" + "f34e362f47ad73126bdcc2b49b0dde86" ], [ "Join.test1", @@ -2028,19 +1850,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "bacdfc0032935bedfe34111ef8c65798" + "01ce80b6a667afec553cb33810bdd4ee" ], [ "Join.test1", @@ -2050,19 +1870,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "cda74738401b1b4a06a1d23323ea5cc0" + "8b79b37aae08063c2ac67f9916dd2def" ], [ "Join.test1", @@ -2072,19 +1890,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "2cad1e503c763fbb3eeae2e5aa2db40f" + "53fae64ad865ee23b5096375712ebbfa" ], [ "Join.test1", @@ -2094,19 +1910,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "bf927da7ee0ece30a9129063c3fdd9e5" + "5ef545d2e691f8a9ca2825280a9787ff" ], [ "Join.test1", @@ -2116,19 +1930,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "392180a2996abe26bcc2ccb6a77c47ec" + "bf702eb8ce8c9d02877a3834e8a63a4d" ], [ "Join.test1", @@ -2138,19 +1950,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "9e1471552dcc9e554bf93220c071c4eb" + "a292b83523be8a902b022c397a26e325" ], [ "Join.test1", @@ -2160,19 +1970,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "08ba9affea797cece21fce304d59d489" + "d69a0a1c2318496bc6e687ea4748c7d3" ], [ "Join.test1", @@ -2182,19 +1990,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "2d103f878db25b1d408fefc837fd8689" + "3a39a291dccd2c04d50608b782f13a8c" ], [ "Join.test1", @@ -2204,19 +2010,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "851e884ab33b693d05c37bcae48b2ec5" + "a420e9d06ddd9fe05c7509459812ec7b" ], [ "Join.test1", @@ -2226,19 +2030,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "0049ea59a78a9727dbabd1b8c07c9f6f" + "d0053ce3e8175e2260344d181032b115" ], [ "Join.test1", @@ -2248,19 +2050,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "c222dc8f9a769a0421ce8364c5396e4b" + "8f91e543c334ac97586de20f7b5772e0" ], [ "Join.test1", @@ -2270,19 +2070,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "f82b89087e076123fd588ed548a7abff" + "f7e67c01f9282bf7b55d82a5e90443bd" ], [ "Join.test1", @@ -2292,19 +2090,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "2bc4a40c8a580b0ef5fd39b88ed5929f" + "3aa902d330c22dd9b7a9f1b66d33e64a" ], [ "Join.test1", @@ -2314,19 +2110,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "6f1964e72fe34d0a9a88bcc4a4f36b53" + "92781eedd782d2d4dbe7dabecc31ead9" ], [ "Join.test1", @@ -2336,19 +2130,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "8c830c0d267e780eb36511eb441cf69d" + "539b81898826a22f6bce33eb1f489cec" ], [ "Join.test1", @@ -2358,19 +2150,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "3a3d17fa836888d4725952994a995160" + "ffc2ccb977313c94d0c7b9126e965851" ], [ "Join.test1", @@ -2380,19 +2170,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "26470f5598624f362cebd16666fe7d20" + "78a57453ae1ef2e8809fa8ce35f08f8b" ], [ "Join.test1", @@ -2402,19 +2190,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "cf7b85cb2763bc18072d6bc0baf06eec" + "23003742e4b542da7a694f01f42893b4" ], [ "Join.test2", @@ -2424,19 +2210,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "231df156e56c38ecd8724ccdc071c033" + "a63768b6f2090517ede2d66b9530fed5" ] ] ] \ No newline at end of file diff --git a/examples/tactics/LN.fst b/examples/tactics/LN.fst index 1f6d280d0ca..dafab6a024d 100644 --- a/examples/tactics/LN.fst +++ b/examples/tactics/LN.fst @@ -24,4 +24,6 @@ let badtm () : Tac term = bv_sort = (`int); bv_ppname = "ouch"; }))) let _ = - assert_by_tactic True (fun () -> let _ = trytac (fun () -> exact (badtm ())) in trivial ()) + assert True + by (let _ = trytac (fun () -> exact (badtm ())) in + trivial ()) diff --git a/examples/tactics/LN.fst.hints b/examples/tactics/LN.fst.hints index 24785e4cf60..1f927b2efcb 100644 --- a/examples/tactics/LN.fst.hints +++ b/examples/tactics/LN.fst.hints @@ -1 +1 @@ -[ "Ò}=YF„4éF³ðìÔv-", [] ] \ No newline at end of file +[ "ê#\u0013~ñ=6x¨\n•íš\u0015¿", [] ] \ No newline at end of file diff --git a/examples/tactics/Labels.fst.hints b/examples/tactics/Labels.fst.hints index 0bafef13bd5..bbf7cac6bd6 100644 --- a/examples/tactics/Labels.fst.hints +++ b/examples/tactics/Labels.fst.hints @@ -14,7 +14,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "3652182578820f9fe31d278ed709a163" + "2e76f8857836fa9b8301cb5c44f61f98" ], [ "Labels.uu___0", @@ -29,7 +29,7 @@ "fuel_guarded_inversion_Prims.list", "true_interp" ], 0, - "b86121f056e8171835e73cb97df928c3" + "32288345b1db80bad8a040dae2fd1e8c" ], [ "Labels.uu___0", @@ -44,7 +44,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "329e9215ae4135f3f8e278e1191fd1ab" + "16e7be7be792dbe7a63a8b93c90da43c" ], [ "Labels.uu___0", @@ -59,7 +59,7 @@ "fuel_guarded_inversion_Prims.list", "true_interp" ], 0, - "769ff52e77d792675ddae7d492a35592" + "428df7fc10166d1af59517d5743f1b9d" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Launch.fst b/examples/tactics/Launch.fst index 335460cf8b8..89aa8fc4760 100644 --- a/examples/tactics/Launch.fst +++ b/examples/tactics/Launch.fst @@ -22,16 +22,16 @@ open FStar.Tactics *) let _ = - assert_by_tactic True - (fun () -> let s = launch_process "date" "" "" in - debug ("The date is: <" ^ s ^ ">")) + assert True + by (let s = launch_process "date" [] "" in + debug ("The date is: <" ^ s ^ ">")) let _ = - assert_by_tactic True - (fun () -> let s = launch_process "echo" "Hello F*!" "" in - debug ("Greeting: <" ^ s ^ ">")) + assert True + by (let s = launch_process "echo" ["Hello F*!"] "" in + debug ("Greeting: <" ^ s ^ ">")) let _ = - assert_by_tactic True - (fun () -> let s = launch_process "cat" "" "input" in - debug ("Testing input: <" ^ s ^ ">")) + assert True + by (let s = launch_process "cat" [] "input" in + debug ("Testing input: <" ^ s ^ ">")) diff --git a/examples/tactics/LemmaArgs.fst b/examples/tactics/LemmaArgs.fst index cd007182a65..6730f127ed5 100644 --- a/examples/tactics/LemmaArgs.fst +++ b/examples/tactics/LemmaArgs.fst @@ -24,8 +24,8 @@ let lemma_example1 (a:int) (b:int{b <> a}) (* This one should work *) let example0 x : Lemma (requires (x <> 5)) (ensures True) = - assert_by_tactic (x <> 5) (fun () -> apply_lemma (quote lemma_example1)) + assert (x <> 5) by (apply_lemma (quote lemma_example1)) [@(expect_failure [19])] let example1 x : Lemma (requires (x == 5)) (ensures False) = - assert_by_tactic (x <> 5) (fun () -> apply_lemma (quote lemma_example1)) + assert (x <> 5) by (apply_lemma (quote lemma_example1)) diff --git a/examples/tactics/LemmaArgs.fst.hints b/examples/tactics/LemmaArgs.fst.hints index a62cba505b8..37c8455dd9d 100644 --- a/examples/tactics/LemmaArgs.fst.hints +++ b/examples/tactics/LemmaArgs.fst.hints @@ -1,5 +1,5 @@ [ - "´\u0007yrÚÃo¾Õ÷\f\"ÓXÎ", + " Y^¥~\u007fz²\u0001ÄÒ$ñ[š™", [ [ "LemmaArgs.lemma_example1", @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01" + "refinement_interpretation_Tm_refine_b80473856ccf72c395276ef95e2db4d6" ], 0, - "f9f66df0e0cefe8304c98826400f9ca2" + "99357e1efb31fe70c9b32f156cae9954" ], [ "LemmaArgs.example0", @@ -20,7 +20,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int", "true_interp" ], 0, - "1457145c9c9b90d133b992d277bcc2c8" + "6a175dec6336de81c1fe92bde1ab41f8" ], [ "LemmaArgs.example0", @@ -29,10 +29,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_842655952076029599c9f4d30d10e96e" + "refinement_interpretation_Tm_refine_db815536b8c60a25cb27b439971d8826" ], 0, - "7d305b44328f4fd1bfc2df406c356cf0" + "baa758bf5bdaa1f19e78adb0f422f20d" ], [ "LemmaArgs.example1", @@ -41,7 +41,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int", "true_interp" ], 0, - "e0f848bee7b9a463e6dfdaa77ffe7845" + "fd3475255931e24185e41dfbf5eb8fba" ] ] ] \ No newline at end of file diff --git a/examples/tactics/MApply.fst b/examples/tactics/MApply.fst index bc88db1be1f..98af9862db5 100644 --- a/examples/tactics/MApply.fst +++ b/examples/tactics/MApply.fst @@ -27,17 +27,17 @@ assume val f_sq : squash p -> squash q assume val f_unsq : squash p -> q let _ = - assert_by_tactic q (fun () -> mapply (quote lem_imp); - mapply (quote x)) + assert q by (mapply (quote lem_imp); + mapply (quote x)) let _ = - assert_by_tactic q (fun () -> mapply (quote lem); - mapply (quote x)) + assert q by (mapply (quote lem); + mapply (quote x)) let _ = - assert_by_tactic q (fun () -> mapply (quote f_sq); - mapply (quote x)) + assert q by (mapply (quote f_sq); + mapply (quote x)) let _ = - assert_by_tactic q (fun () -> mapply (quote f_unsq); - mapply (quote x)) + assert q by (mapply (quote f_unsq); + mapply (quote x)) diff --git a/examples/tactics/MApply.fst.hints b/examples/tactics/MApply.fst.hints index 1a1d6caf860..13dcb39d6b0 100644 --- a/examples/tactics/MApply.fst.hints +++ b/examples/tactics/MApply.fst.hints @@ -1 +1 @@ -[ "\u0001‘nKŽ€Z\u0006&€\u0012(-¤³\"", [] ] \ No newline at end of file +[ "†ØS\u0004ÞQñ¯¥=B\u007f*»!z", [] ] \ No newline at end of file diff --git a/examples/tactics/Makefile b/examples/tactics/Makefile index 9b1c3b6ad90..a8ce0f6d504 100644 --- a/examples/tactics/Makefile +++ b/examples/tactics/Makefile @@ -2,7 +2,7 @@ FSTAR_HOME=../.. KREMLIN_HOME?=$(FSTAR_HOME)/../Kremlin INCLUDE_PATHS=$(KREMLIN_HOME)/kremlib # Poly files are here for benchmarking, and expected to fail without tactics -EXCLUDED_FSTAR_FILES=Launch.fst Test.Math.Lemmas.fst CanonDeep.fst Poly1.fst Poly2.fst +EXCLUDED_FSTAR_FILES=Launch.fst Test.Math.Lemmas.fst CanonDeep.fst Poly1.fst Poly2.fst StringPrinterTest.fst FSTAR_FILES = $(filter-out $(EXCLUDED_FSTAR_FILES), $(wildcard *.fst)) all: verify-all #stringprintertest diff --git a/examples/tactics/Map.OpaqueToSMT.Test.fst.hints b/examples/tactics/Map.OpaqueToSMT.Test.fst.hints index dca74edb4e0..f7550622048 100644 --- a/examples/tactics/Map.OpaqueToSMT.Test.fst.hints +++ b/examples/tactics/Map.OpaqueToSMT.Test.fst.hints @@ -8,7 +8,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "949490687c99c00a793652c689bf9682" + "936893430175751da75f78a2ed48d993" ], [ "Map.OpaqueToSMT.Test.test2", @@ -17,7 +17,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "1c2654ec9b9b030040b93f44eddeb142" + "87ece9a0d4dda7134bef262615ebd0a5" ], [ "Map.OpaqueToSMT.Test.test1", @@ -26,7 +26,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "9677c613b6d5eb76253bfe7d61ea2776" + "d7de67705eb3f25726fc03f5c723cc1b" ], [ "Map.OpaqueToSMT.Test.test2", @@ -35,7 +35,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "80ae375221666ffba936ef7c2f4882a8" + "ddd24dc186ff7de21dfd8d79b3cdb980" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Map.OpaqueToSMT.fst.hints b/examples/tactics/Map.OpaqueToSMT.fst.hints index ddd9ab4f87b..580a821fa0d 100644 --- a/examples/tactics/Map.OpaqueToSMT.fst.hints +++ b/examples/tactics/Map.OpaqueToSMT.fst.hints @@ -8,11 +8,11 @@ 1, [ "@query", "equation_Map.sel", "equation_Map.upd", - "interpretation_Tm_abs_548fb28910eff84e5dd76db235010e0b", + "interpretation_Tm_abs_348c08fa704c38ca466fa974d66ea283", "primitive_Prims.op_Equality" ], 0, - "3c17dddc3a50072b915cad5a0869769c" + "9591b1585902faceb4661f28e2cb6300" ], [ "Map.OpaqueToSMT.sel_upd2", @@ -21,11 +21,11 @@ 1, [ "@query", "equation_Map.sel", "equation_Map.upd", - "interpretation_Tm_abs_548fb28910eff84e5dd76db235010e0b", + "interpretation_Tm_abs_348c08fa704c38ca466fa974d66ea283", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "eaa4ac29aa3ab5bec947f5841a20fc89" + "58952bf3ac1b5448f1f61d8bff3a83db" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Map.fst.hints b/examples/tactics/Map.fst.hints index cf6fc2d8379..d9cd9e6741d 100644 --- a/examples/tactics/Map.fst.hints +++ b/examples/tactics/Map.fst.hints @@ -8,11 +8,11 @@ 1, [ "@query", "equation_Map.sel", "equation_Map.upd", - "interpretation_Tm_abs_548fb28910eff84e5dd76db235010e0b", + "interpretation_Tm_abs_348c08fa704c38ca466fa974d66ea283", "primitive_Prims.op_Equality" ], 0, - "05dae54e4002212f00612aba433aba65" + "b2a275fa0c2694adc71ff7496f33b7fe" ], [ "Map.sel_upd2", @@ -21,11 +21,11 @@ 1, [ "@query", "equation_Map.sel", "equation_Map.upd", - "interpretation_Tm_abs_548fb28910eff84e5dd76db235010e0b", + "interpretation_Tm_abs_348c08fa704c38ca466fa974d66ea283", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "c42396d02da225f5c05d0e4ff77e92e4" + "dd63945999da9c8c1156c39267847b69" ] ] ] \ No newline at end of file diff --git a/examples/tactics/MetaArgs.fst.hints b/examples/tactics/MetaArgs.fst.hints index cd9974d262a..5322f9cc762 100644 --- a/examples/tactics/MetaArgs.fst.hints +++ b/examples/tactics/MetaArgs.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_MetaArgs.test1" ], 0, - "2f06843689aba402b114fa567e2f665a" + "ed32612487ad726d0a9721ce65792a9f" ], [ "MetaArgs.uu___7", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_MetaArgs.diag" ], 0, - "bff5f3f3d94c1bc38653a718f2732bd2" + "98e3474de694d9626b694746b43ee773" ], [ "MetaArgs.uu___8", @@ -26,7 +26,7 @@ 1, [ "@query", "equation_MetaArgs.diag" ], 0, - "63ce3f12891af8954d335300635c11d8" + "4b54b6d0c39ae4355805dd1dfab1722b" ], [ "MetaArgs.uu___2", @@ -35,7 +35,7 @@ 1, [ "@query", "equation_MetaArgs.test1" ], 0, - "d58d9e9373d8b5a682921ba2e64f0039" + "d024f131bdc56cb1e844ee4cc1dee1d1" ], [ "MetaArgs.same_as", @@ -52,7 +52,7 @@ "typing_FStar.Tactics.Result.uu___is_Failed" ], 0, - "c4de1a88e6a4d2a3c4b24a33c21ca0db" + "3a39e2d5ec2e578e56bf4a66940d1eb0" ], [ "MetaArgs.uu___7", @@ -61,7 +61,7 @@ 1, [ "@query", "equation_MetaArgs.diag" ], 0, - "d7056e40a3a9d59b1a48e1c3522efffb" + "d8a5fab6a7a46f328d9a9bfe1ddeea94" ], [ "MetaArgs.uu___8", @@ -70,7 +70,7 @@ 1, [ "@query", "equation_MetaArgs.diag" ], 0, - "5a99d3d11df237acf4a4f7fa787a55b8" + "2884175d63c8a19e84b74b6f46d100f2" ] ] ] \ No newline at end of file diff --git a/examples/tactics/MetaCoq.fst.hints b/examples/tactics/MetaCoq.fst.hints index 34f9b95e3f8..110bab4d191 100644 --- a/examples/tactics/MetaCoq.fst.hints +++ b/examples/tactics/MetaCoq.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_d546a4ece9ccffe78d7c00983bdb4280" ], 0, - "e6b0581e1ce7679ea1b62b1114733208" + "be81e990ab93f56a6b59a4177d17cced" ], [ "MetaCoq.__proj__Goal__item___1", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_d546a4ece9ccffe78d7c00983bdb4280" ], 0, - "30271738557f121cd22075c43c7e82a2" + "38cab5ecbc5b0d7b9d7b6014c0d49b55" ], [ "MetaCoq.__proj__AHyp__item__a", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_44d6fb2015c988380b64ed0fb222ced8" ], 0, - "9da669885ae051c2a065199b60624d0b" + "452feff6e255d95170a1844b043e4031" ], [ "MetaCoq.__proj__AHyp__item___1", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_44d6fb2015c988380b64ed0fb222ced8" ], 0, - "8c6669a11fb601b4d2f8a93fc26c323c" + "42dbe3e5db9e9a4af919308216d683f7" ], [ "MetaCoq.__proj__AHyp__item___2", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_44d6fb2015c988380b64ed0fb222ced8" ], 0, - "0c45df1a623ff1d3f04edbb63f47bc84" + "800a2a2bdb32543a0d4ef1d08faa2dae" ], [ "MetaCoq.__proj__Goal__item__a", @@ -80,7 +80,7 @@ "refinement_interpretation_Tm_refine_d546a4ece9ccffe78d7c00983bdb4280" ], 0, - "919ea71e23a44a7e3dfaec518573214e" + "72fc2cac0b23cd2f03d9714accc20d74" ], [ "MetaCoq.__proj__Goal__item___1", @@ -94,7 +94,7 @@ "refinement_interpretation_Tm_refine_d546a4ece9ccffe78d7c00983bdb4280" ], 0, - "5c9912d76c4ef76516bef28699cd5a7f" + "f6bd93c1b962baed9f33112ee0397ba4" ], [ "MetaCoq.__proj__AHyp__item__a", @@ -107,7 +107,7 @@ "refinement_interpretation_Tm_refine_44d6fb2015c988380b64ed0fb222ced8" ], 0, - "717323914fda1d0245e269c04d4a7f7e" + "9e94607695854c756c6accb5e0271d07" ], [ "MetaCoq.__proj__AHyp__item___1", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_44d6fb2015c988380b64ed0fb222ced8" ], 0, - "f14ef834c6c88a7180fa4920d38344df" + "0c1b3f7dcbbba0aeaf2f7a469dd83810" ], [ "MetaCoq.__proj__AHyp__item___2", @@ -135,7 +135,7 @@ "refinement_interpretation_Tm_refine_44d6fb2015c988380b64ed0fb222ced8" ], 0, - "bd189bd4e66dfcdf93f1fc530b9ce6d4" + "51d209b0454b29860e16a18223c1f243" ] ] ] \ No newline at end of file diff --git a/examples/tactics/MkList.fst.hints b/examples/tactics/MkList.fst.hints index 308ec0e179c..6cbbb494829 100644 --- a/examples/tactics/MkList.fst.hints +++ b/examples/tactics/MkList.fst.hints @@ -11,33 +11,29 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", + "b2t_def", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt8.n", "equation_Prims.nat", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_FStar.UInt8.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt8.uint_to_t" ], 0, - "f471d1a9de38c2e800099181e95b08dc" + "6b4f6b694e32e0cb72ab3c125acd2c6a" ], [ "MkList.l2", @@ -49,32 +45,30 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt8.uint_to_t" ], 0, - "1f32eb711fb5111ef0173ba9719ecf9c" + "9f26e99530d2304427ab38c1f0266b8b" ], [ "MkList.l1", @@ -86,33 +80,29 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", + "b2t_def", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt8.n", "equation_Prims.nat", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_FStar.UInt8.n", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt8.uint_to_t" ], 0, - "534cfc5d6fd9796548eb8e924531a6f4" + "a1685a1fa5fdafc1ef340cf990e36b3f" ], [ "MkList.l2", @@ -124,32 +114,30 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt8.uint_to_t" ], 0, - "826bce802298d8388472dc67cb8fbf76" + "1f9ac323e816d6b51443b8361a9fb62b" ] ] ] \ No newline at end of file diff --git a/examples/tactics/NArrows.fst.hints b/examples/tactics/NArrows.fst.hints index 0ad344f8392..a601b0549fa 100644 --- a/examples/tactics/NArrows.fst.hints +++ b/examples/tactics/NArrows.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_BoxInt_proj_0", "typing_NArrows.xxx" ], 0, - "1f0df696ed16d603ab6900a270676251" + "3363f9a2932a802ccd58201fa6050ba4" ], [ "NArrows.uu___6", @@ -29,7 +29,7 @@ "projection_inverse_BoxInt_proj_0", "typing_NArrows.xxx" ], 0, - "04951f83081cc3493015c9320376625d" + "aeb9ba0fffbcd49b29788e4e04b04147" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Neg.fst b/examples/tactics/Neg.fst index 4440e6420e3..dfffe630a8a 100644 --- a/examples/tactics/Neg.fst +++ b/examples/tactics/Neg.fst @@ -30,7 +30,7 @@ assume val c1 : unit -> ST unit (requires (fun h0 -> phi)) (ensures (fun h0 () h assume val c2 : unit -> ST unit (requires (fun h0 -> psi)) (ensures (fun h0 () h1 -> xi)) val c3 : unit -> ST unit (requires (fun h0 -> phi)) (ensures (fun h0 () h1 -> xi)) -let c3 () = c1 (); c2 (); assert_by_tactic xi idtac +let c3 () = c1 (); c2 (); assert xi by idtac () // with_tactic is in negative position, should be peeled off! val c4 : unit -> ST unit (requires (fun h0 -> phi)) (ensures (fun h0 () h1 -> xi)) diff --git a/examples/tactics/Neg.fst.hints b/examples/tactics/Neg.fst.hints index 9e6a51c0501..1d26b53b46a 100644 --- a/examples/tactics/Neg.fst.hints +++ b/examples/tactics/Neg.fst.hints @@ -1,5 +1,5 @@ [ - "/2\bã\u0019§^„ÈQÈ~°\u000f$=", + "|òï9\u0014ÿD£\t]3\u0016fØ{%", [ [ "Neg.c3", @@ -7,13 +7,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Neg.phi", - "equation_Neg.psi", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_519d6c8ad121abd4794050901c2e145e", + "refinement_interpretation_Tm_refine_fd0c520ca043d65b8667158c64ea0acc", "true_interp" ], 0, - "264ce70b5f0ffa59d273bedb4b3487c2" + "19459a9d2d11d16e72239d59301d8ffe" ], [ "Neg.c3", @@ -26,7 +26,7 @@ "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" ], 0, - "b667f2f462bc0d9e3af8cc9c2b82f87a" + "fe6b280d38209142a6296ac45afbcaa4" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Nest.fst b/examples/tactics/Nest.fst index baea4b0c865..9151039e827 100644 --- a/examples/tactics/Nest.fst +++ b/examples/tactics/Nest.fst @@ -19,5 +19,5 @@ module Nest open FStar.Tactics -let _ = assert_by_tactic (3 == 3) - (fun () -> pointwise (fun () -> pointwise trefl; trefl ())) +let _ = assert (3 == 3) + by (pointwise (fun () -> pointwise trefl; trefl ())) diff --git a/examples/tactics/Nest.fst.hints b/examples/tactics/Nest.fst.hints index 3edf2ae7857..00eeb0c37e0 100644 --- a/examples/tactics/Nest.fst.hints +++ b/examples/tactics/Nest.fst.hints @@ -1 +1 @@ -[ "T\\5\b\u001br_\u0007o»uë\fÍ", [] ] \ No newline at end of file +[ "¾+\u0007B&r‰æ,e»µ~¦47", [] ] \ No newline at end of file diff --git a/examples/tactics/NonTot.fst b/examples/tactics/NonTot.fst index b7e8e028179..5b6525664ab 100644 --- a/examples/tactics/NonTot.fst +++ b/examples/tactics/NonTot.fst @@ -22,4 +22,4 @@ let h x = () [@(expect_failure [228])] let _ = - assert_by_tactic False (fun () -> apply (quote h)) + assert False by (apply (quote h)) diff --git a/examples/tactics/NonTot.fst.hints b/examples/tactics/NonTot.fst.hints index d096fb5742e..bee768c4416 100644 --- a/examples/tactics/NonTot.fst.hints +++ b/examples/tactics/NonTot.fst.hints @@ -1 +1 @@ -[ "Îúô#¹\u007fY î\u0003ˆ'lx‚", [] ] \ No newline at end of file +[ "‹÷D½·W\u0005l\u0011Ôë°ÿHªº", [] ] \ No newline at end of file diff --git a/examples/tactics/NormBinderType.fst.hints b/examples/tactics/NormBinderType.fst.hints index ba7b854f01c..6b1d973cb01 100644 --- a/examples/tactics/NormBinderType.fst.hints +++ b/examples/tactics/NormBinderType.fst.hints @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "9bd9d96fb413cc29c08355a055152740" + "631d81d643ecc2d4f024c618c38ac4f1" ], [ "NormBinderType.g", @@ -21,10 +21,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_NormBinderType.f", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9c82b93e266cb0aa7d252a122683f7de" + "refinement_interpretation_Tm_refine_6d065d00df42c579750cf75aca13b8a2" ], 0, - "4f882f24d9a05a22a150ea319d071ba6" + "043dacf95e92a2cd1f14f54416b2dd4f" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Normalization.fst b/examples/tactics/Normalization.fst index 2bfcc143c9d..c697639ed5d 100644 --- a/examples/tactics/Normalization.fst +++ b/examples/tactics/Normalization.fst @@ -29,6 +29,7 @@ let normalize (#t:Type) (steps : list norm_step) (x:t) : Tac unit = (* This tactic also depends on said behaviour of quote, and returns the definition of a top-level fvar *) let def_of (#t:Type) (x:t) : Tac term = + admit(); let e = cur_env () in let t = quote x in match inspect t with @@ -46,50 +47,45 @@ let def_of (#t:Type) (x:t) : Tac term = let add_1 (x:int) : int = x + 1 (* add_2 is defined to be (x + 1) + 1 *) -let add_2 (x:int) : int = synth_by_tactic (fun () -> normalize [primops; delta] (add_1 (add_1 x))) +let add_2 (x:int) : int = _ by (normalize [primops; delta] (add_1 (add_1 x))) (* `four` is defined as `4` ... *) -let four : int = synth_by_tactic (fun () -> normalize [primops; delta] (add_2 2)) +let four : int = _ by (normalize [primops; delta] (add_2 2)) (* .. as we can check by inspecting its definition *) -let _ = assert_by_tactic True - (fun () -> - let t = def_of four in - if compare_term t (`4) = FStar.Order.Eq - then () - else fail "Test 1") +let _ = assert True + by (let t = def_of four in + if compare_term t (`4) = FStar.Order.Eq + then () + else fail "Test 1") (* If we only allow for Delta steps, then there's no primitive computation and we * end up with (2 + 1) + 1 *) -let four' : int = synth_by_tactic (fun () -> normalize [delta] (add_2 2)) +let four' : int = _ by (normalize [delta] (add_2 2)) -(* But... the unifier does some primop-computation now, and we actually get 4 *) -(* let _ = assert_by_tactic True *) -(* (fun () -> *) -(* let t = def_of four' in *) -(* if compare_term t (`((2 + 1) + 1)) = FStar.Order.Eq *) -(* then () *) -(* else fail "Test 2") *) +let _ = assert True + by (let t = def_of four' in + if compare_term t (`((2 + 1) + 1)) = FStar.Order.Eq + then () + else fail "Test 2") (* Here, we allow for primitive computation but don't allow for `add_2` to be expanded to * its definition, so the final result is `add_2 1` *) let unfold_add_1: norm_step = delta_only ["Normalization.add_1"] -let three : int = synth_by_tactic - (fun () -> normalize [delta; unfold_add_1; primops] (add_2 (add_1 0))) +let three : int = _ by (normalize [delta; unfold_add_1; primops] (add_2 (add_1 0))) -let _ = assert_by_tactic True - (fun () -> - let t = def_of three in - if compare_term t (`(add_2 1)) = FStar.Order.Eq - then () - else fail "Test 3") +let _ = assert True + by (let t = def_of three in + if compare_term t (`(add_2 1)) = FStar.Order.Eq + then () + else fail "Test 3") (* Writing a function that normalizes its argument does not work! The tactic runs * when this definition is type-checked, and not when it's called. So, this function is just an * identity function with no special semantics. *) let does_not_normalize (#t:Type) (x:t) : t = - synth_by_tactic #t (fun () -> normalize [primops; delta] x) + _ by (normalize [primops; delta] x) let four'' : int = does_not_normalize (2+2) @@ -97,10 +93,9 @@ let four'' : int = does_not_normalize (2+2) * *semantically* equal to 4, but not syntactically as the following tests show *) let _ = assert (four'' == 4) -let _ = assert_by_tactic True - (fun () -> - let t = def_of four'' in - let s = `(does_not_normalize #int (2 + 2)) in - if compare_term t s = FStar.Order.Eq - then () - else fail "Test 4") +let _ = assert True + by (let t = def_of four'' in + let s = `(does_not_normalize #int (2 + 2)) in + if compare_term t s = FStar.Order.Eq + then () + else fail "Test 4") diff --git a/examples/tactics/Normalization.fst.hints b/examples/tactics/Normalization.fst.hints index 67a59086222..5ad75d0729d 100644 --- a/examples/tactics/Normalization.fst.hints +++ b/examples/tactics/Normalization.fst.hints @@ -1,32 +1,34 @@ [ - "žÆÊ<./S^Þ\u0016þIO²Ã2", + "\u0014ÝÓ\u0019’\u001f1SœN\u0016jn¯X\u0001", [ [ - "Normalization.def_of", + "Normalization.uu___29", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", - "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", - "bool_inversion", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Reflection.Types.sigelt", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Reflection.Basic.inspect_fv", - "typing_FStar.Reflection.Basic.lookup_typ" + "assumption_FStar.Order.order__uu___haseq", + "fuel_guarded_inversion_FStar.Tactics.Result.__result" + ], + 0, + "346aaece20ea2bb97a6a5026ad3f0b5d" + ], + [ + "Normalization.uu___29", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "assumption_FStar.Order.order__uu___haseq", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "0fa30d0291fac849a9bc8929837c2c0d" + "066c9e788bea46de02bf4cf959bc3180" ], [ - "Normalization.uu___28", + "Normalization.uu___35", 1, 2, 1, @@ -36,10 +38,10 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "ffdb0134a408e35fc60195e440e5f7ea" + "2e8f8a253f420a0173f2c2b074543fe7" ], [ - "Normalization.uu___28", + "Normalization.uu___35", 2, 2, 1, @@ -49,10 +51,10 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "daa35b8c51c43e768ce94f7729126d02" + "f0a009135bc7141437ad0dac03cd8bab" ], [ - "Normalization.uu___34", + "Normalization.uu___41", 1, 2, 1, @@ -62,10 +64,10 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "e84a35fa4c6b107aa9ab514b4fc325dd" + "32fef752d7be4873b05eac00af804629" ], [ - "Normalization.uu___34", + "Normalization.uu___41", 2, 2, 1, @@ -75,23 +77,22 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "adea83f580c0cd510415a61c1e651a8d" + "a196a31d7c4efd889f676ec0f4a0b9f4" ], [ - "Normalization.uu___41", + "Normalization.uu___49", 1, 2, 1, [ "@query", "equation_Normalization.does_not_normalize", - "equation_Normalization.four__", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" + "equation_Normalization.four__" ], 0, - "ab794b329fd328f838c1bbd08bfaaaf7" + "36eadf9f6a910f49bf77f60e0db989fc" ], [ - "Normalization.uu___42", + "Normalization.uu___50", 1, 2, 1, @@ -101,10 +102,10 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "cdfcce184e0d30f0837bcdb0d02080b0" + "0eb7404292af9ebf5118650235a4cde2" ], [ - "Normalization.uu___42", + "Normalization.uu___50", 2, 2, 1, @@ -114,34 +115,36 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "8ff60b131b835557e389d97d121c9255" + "ec340285b178c6e306de5ea911f9c8b6" ], [ - "Normalization.def_of", + "Normalization.uu___29", + 3, 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "assumption_FStar.Order.order__uu___haseq", + "fuel_guarded_inversion_FStar.Tactics.Result.__result" + ], + 0, + "bc0b6d773f28dfac57d1e5cd1aa4f687" + ], + [ + "Normalization.uu___29", + 4, 2, 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", - "FStar.Reflection.Types_pretyping_b57262eead998d474939c05a17e1ffab", - "bool_inversion", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Reflection.Types.sigelt", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Reflection.Basic.inspect_fv", - "typing_FStar.Reflection.Basic.lookup_typ" + "assumption_FStar.Order.order__uu___haseq", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "4010bf74e281c13aecabea20ecfd1bf8" + "617c27b4648c8c54b5ba92b4ed3e48a6" ], [ - "Normalization.uu___28", + "Normalization.uu___35", 3, 2, 1, @@ -151,10 +154,10 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "98c0741d4f8826abe323964d48638395" + "68cf7d0e5db44bcf6590838db74016a5" ], [ - "Normalization.uu___28", + "Normalization.uu___35", 4, 2, 1, @@ -164,10 +167,10 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "ada038a3dd3cef8d2598a3bde08f9591" + "7c92e2502c54125a36ea713787967c94" ], [ - "Normalization.uu___34", + "Normalization.uu___41", 3, 2, 1, @@ -177,10 +180,10 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "0cf5aacee0592274f90b752ebc68441a" + "932cfaab85163842f0a4c07ee066d726" ], [ - "Normalization.uu___34", + "Normalization.uu___41", 4, 2, 1, @@ -190,23 +193,22 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "86ebebc03071652a8e725f1e78ad6afe" + "3f1336110152d19c6b1d51cfb1eb5874" ], [ - "Normalization.uu___41", + "Normalization.uu___49", 2, 2, 1, [ "@query", "equation_Normalization.does_not_normalize", - "equation_Normalization.four__", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" + "equation_Normalization.four__" ], 0, - "9830697efba519d320f4ea67267f3ca2" + "7e7b150b217c9e7291484511782f3eac" ], [ - "Normalization.uu___42", + "Normalization.uu___50", 3, 2, 1, @@ -216,10 +218,10 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "045f44214717a20da5f4ccbe043f43c2" + "d8e5b7fcd825e72e9cec3e7ed9c83049" ], [ - "Normalization.uu___42", + "Normalization.uu___50", 4, 2, 1, @@ -229,7 +231,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result", "true_interp" ], 0, - "cf161a2872dbd528776e8bcaac393a25" + "a1c1f0d2a4d36fee8632a39695053119" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Poly.fst.hints b/examples/tactics/Poly.fst.hints index 5c2f6f89ebf..2d09a08ba46 100644 --- a/examples/tactics/Poly.fst.hints +++ b/examples/tactics/Poly.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "36da89532bc7d8ce411b4a4aeda3fc9f" + "a71d13731807cbbadd59aaaa6e3f4afa" ], [ "Poly.lemma_div_mod", @@ -24,7 +24,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ee82d5b71c8e5d72b8c8d7d7084148dc" + "3f42bb4d66311a8a4b2405464104da55" ], [ "Poly.lemma_poly_multiply_canon", @@ -37,7 +37,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d9f6e18bbfa9b521dfc623258e5b961a" + "945d9f0041c4ce2f0465e85631bd1406" ], [ "Poly.modulo_addition_lemma", @@ -50,7 +50,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a179b4362cea02de13d336dd06788b3d" + "229969ebe27c558d80145dc888bd9ac4" ], [ "Poly.lemma_div_mod", @@ -62,7 +62,7 @@ "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "38db614c1a87e1227da3182c0df4222f" + "adc7cf9f68bd71624a837c2cb8bc8277" ], [ "Poly.lemma_poly_multiply_canon", @@ -75,7 +75,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f48d583994e26b604f11a23682f13530" + "df972d5652b6169e9e74e1d354948357" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Pose.fst b/examples/tactics/Pose.fst index f0de17c0654..d7ab21e66d5 100644 --- a/examples/tactics/Pose.fst +++ b/examples/tactics/Pose.fst @@ -20,6 +20,6 @@ open FStar.Tactics let lem (x y : int) : squash False = admit () -let _ = assert_by_tactic False - (fun () -> let _ = pose (`(lem 3 9)) in ()) +let _ = assert False + by (let _ = pose (`(lem 3 9)) in ()) diff --git a/examples/tactics/Pose.fst.hints b/examples/tactics/Pose.fst.hints index 21663a281d9..237d5a336c2 100644 --- a/examples/tactics/Pose.fst.hints +++ b/examples/tactics/Pose.fst.hints @@ -1,5 +1,5 @@ [ - ":dê\u001fÂ)ábˆd\næßšU®", + "ÌÊ\u0001£qÔï{äßÁæÑnü\u0003", [ [ "Pose.uu___2", @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_False", "equation_Prims.squash", "false_interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d6d272acdd9490e5fe0d645919c0a357" + "1977f24e085cadce79a17c451529eeb4" ], [ "Pose.uu___2", @@ -22,10 +22,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_False", "equation_Prims.squash", "false_interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "721c4da726bf0c369f96a22aee00d65b" + "c0427120e0b4a1ca30a1edaa75f160f9" ] ] ] \ No newline at end of file diff --git a/examples/tactics/PoseLemma.fst.hints b/examples/tactics/PoseLemma.fst.hints index 8b1ca830806..4dc7a138893 100644 --- a/examples/tactics/PoseLemma.fst.hints +++ b/examples/tactics/PoseLemma.fst.hints @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "aa40f05eef4617fd944fc31330c030f1" + "f97a678c05fb2b777c8ff4ada1c418db" ], [ "PoseLemma.test2", @@ -20,10 +20,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bc1f77601d253999597c8eb4e5e90d3c" + "8d9dfae582dd5b896c04d22898fb223c" ], [ "PoseLemma.test1", @@ -32,10 +32,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2a87f65dfc250b85dc07877c0594c1ca" + "fb739f32dfb06adebce4d37934ad75e1" ], [ "PoseLemma.test2", @@ -44,10 +44,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6ac371a20aacc7c66e89f7b24b8a6d92" + "1cdafc37c78ad4972283194447e810e0" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Postprocess.fst.hints b/examples/tactics/Postprocess.fst.hints index f5f072d80d0..89c9a67a256 100644 --- a/examples/tactics/Postprocess.fst.hints +++ b/examples/tactics/Postprocess.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Postprocess.x" ], 0, - "84462199f21c1eb90b22e0ffa676fce4" + "25d762edcf7279e5c4ee9776545f3950" ], [ "Postprocess.uu___6", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_Postprocess.y" ], 0, - "89b314180e6c814e9c3ce875391ec910" + "511cb647bf0bbec603933baf81542d60" ], [ "Postprocess.__proj__B1__item___0", @@ -30,7 +30,7 @@ "refinement_interpretation_Tm_refine_17e22ae7e75398217bad910401b33530" ], 0, - "96d7ef66dcdf8d30ffa0e754e5db4e58" + "2f6227e598100d6871bef50ffdd56a49" ], [ "Postprocess.__proj__C1__item___0", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_60aa030648fef8e7bd28516f822e9a0c" ], 0, - "7d92c508a0e9dbdb4b33a6c833d2ea0e" + "4272a7fe6f02daf52fb670cbe77d0e76" ], [ "Postprocess.__proj__B2__item___0", @@ -56,7 +56,7 @@ "refinement_interpretation_Tm_refine_a571d0930fe419c0a3557e389115132f" ], 0, - "d92d322e9e57490297c8ff23b8e87b5d" + "c461a48bb3c75726bb5c96fc6a732f37" ], [ "Postprocess.__proj__C2__item___0", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_d350a2c0136fefb41ae2d218a2b66a7b" ], 0, - "7d4912a767a746c5dfde194f1a2f60d3" + "53955eb0fd8dbe171944e3e0e8ab1e16" ], [ "Postprocess.lift", @@ -86,7 +86,7 @@ "subterm_ordering_Postprocess.C1", "typing_tok_Postprocess.A1@tok" ], 0, - "34135bbb7fe2a76857e6e0d7e4030170" + "f910b1a2a1586e93dc8ab7444de45f3c" ], [ "Postprocess.lemA", @@ -102,7 +102,7 @@ "typing_tok_Postprocess.A1@tok" ], 0, - "ea8a3cda1ddff0841934410a695dbee9" + "90586df14ebbcfef17a054aa7dc2fd28" ], [ "Postprocess.lemB", @@ -118,7 +118,7 @@ "projection_inverse_Postprocess.B1__0" ], 0, - "4af88bbcc1519e249aec0907dd36dd7d" + "3819669d0d84bdc63f7a6aa5d1737033" ], [ "Postprocess.lemC", @@ -127,7 +127,7 @@ 1, [ "@query" ], 0, - "928986c703219e254098db051fe236a7" + "94fa6abf4f568a10500ea26f2160f65c" ], [ "Postprocess.congB", @@ -137,10 +137,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "24381408aa6fad31ef192147e1762f26" + "eeff8bbaac05651dd4aba8aaf8a3da8d" ], [ "Postprocess.congC", @@ -150,10 +150,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b5808d5734452b27475e512f513b6c9b" + "b946ed693dbe76b9585eb9b9a3b4fdfd" ], [ "Postprocess.apply_feq_lem", @@ -162,15 +162,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", "lemma_FStar.FunctionalExtensionality.extensionality", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_134069e179ddf4705519081c391c4e10" ], 0, - "c27cef953211cd1de3f9ee3dfdf46417" + "a01c82fb1cb21c81d182299d570514c3" ], [ "Postprocess._onL", @@ -180,10 +180,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "133a643ea3fe5e5d3c49d781703511e8" + "c1c3441ce2cfbea7b28a55a9b75daedb" ], [ "Postprocess.push_lifts'", @@ -209,7 +209,7 @@ "typing_FStar.Tactics.Result.uu___is_Success", "unit_typing" ], 0, - "5f1edc36c23252923fce1221ab79fe6d" + "4c4a4301221688e3fc8e4889120e8c98" ], [ "Postprocess.uu___5", @@ -218,7 +218,7 @@ 1, [ "@query", "equation_Postprocess.x" ], 0, - "8301e125f28ee81eb8e20a8482bbbed3" + "52c3453ed4a34f5a2c903f723bec0969" ], [ "Postprocess.uu___6", @@ -227,7 +227,7 @@ 1, [ "@query", "equation_Postprocess.y" ], 0, - "21f2eb07353ef87f41fd551102e7d4d2" + "a1e27e4d5e8a5c38e03d9ccf2b0f30ac" ], [ "Postprocess.__proj__B1__item___0", @@ -240,7 +240,7 @@ "refinement_interpretation_Tm_refine_17e22ae7e75398217bad910401b33530" ], 0, - "41a3b40d47e8f36fe1aec843ab98c486" + "19ad2293b3e16ead4a981231da815912" ], [ "Postprocess.__proj__C1__item___0", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_60aa030648fef8e7bd28516f822e9a0c" ], 0, - "fc7b42bfcedb6e4337bb098d906a10e9" + "35e6f8d7df81ddc83e9fbb34622b6876" ], [ "Postprocess.__proj__B2__item___0", @@ -266,7 +266,7 @@ "refinement_interpretation_Tm_refine_a571d0930fe419c0a3557e389115132f" ], 0, - "d8e3e90aebc31f5eb55d0d199d70172e" + "677e2ae7e350f79ee31de415f7677dec" ], [ "Postprocess.__proj__C2__item___0", @@ -279,7 +279,7 @@ "refinement_interpretation_Tm_refine_d350a2c0136fefb41ae2d218a2b66a7b" ], 0, - "89a38e455b3fe14cd6b8d3efe8c7794c" + "77e334178ad2ff6f5a4271c5f580633d" ], [ "Postprocess.lift", @@ -296,7 +296,7 @@ "subterm_ordering_Postprocess.C1", "typing_tok_Postprocess.A1@tok" ], 0, - "8d71dfde89e597cd91cb15cd3cdda870" + "d55bda25acaee92135f32d40898f68fd" ], [ "Postprocess.fext", @@ -318,7 +318,7 @@ "typing_FStar.Tactics.Result.uu___is_Success", "unit_typing" ], 0, - "30410197cffda21cf5455e1fa9cc6cf9" + "620b3828be6031a00d8f49bd968f93f5" ], [ "Postprocess.push_lifts'", @@ -343,7 +343,7 @@ "typing_FStar.Tactics.Result.uu___is_Success", "unit_typing" ], 0, - "550e19a01740a5024c62e247e1dcaf88" + "b59b5fa928bb29a8e3ed2ad9d5604c05" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Printers.fst.hints b/examples/tactics/Printers.fst.hints index b7c7b2e4ef0..faffe792495 100644 --- a/examples/tactics/Printers.fst.hints +++ b/examples/tactics/Printers.fst.hints @@ -13,7 +13,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "61c9e7c84a44d077b599c3eb86245102" + "e84ec5d063809cfe5ae9f24213e7256b" ], [ "Printers.__proj__A__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_1a7b69b43f7b02549720ebdb7731aa7f" ], 0, - "fe2a1f076120ed5e2ad24ddfe3546cf0" + "21c039381716629f250516c09a09310b" ], [ "Printers.__proj__A__item___1", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_1a7b69b43f7b02549720ebdb7731aa7f" ], 0, - "d19dd7a3f5ea0859cb7067e242374e07" + "c3708dae68fb639dbb2ec7d7cfc65030" ], [ "Printers.__proj__B__item___0", @@ -52,7 +52,7 @@ "refinement_interpretation_Tm_refine_c8b4b75e38b41b48b268ea0a3f90e3cd" ], 0, - "fdb7f9034d2f309d6efff632cb9fe096" + "c1937591b6b438cd133e05f34a2de453" ], [ "Printers.__proj__B__item___1", @@ -65,7 +65,7 @@ "refinement_interpretation_Tm_refine_c8b4b75e38b41b48b268ea0a3f90e3cd" ], 0, - "57d1c8f352b8c06e34a9ad72a469aa42" + "f92bcb292ecf73b58aacc3f39976166d" ], [ "Printers.__proj__D__item___0", @@ -78,7 +78,7 @@ "refinement_interpretation_Tm_refine_3c3099d8265cd24e0a96805751c994d1" ], 0, - "da2a8066ac082a6801627129c1dd8fe6" + "be6bf75a8bc3013de52d354b87bef1c4" ], [ "Printers.__proj__E__item___0", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_410bdfe840bb48a5ed0357e092bfc39f" ], 0, - "dd4893f8007b9e87cdc5eff8670fc3f7" + "646613dddf29c5afc23147233d07cded" ], [ "Printers.__proj__F__item___0", @@ -104,7 +104,7 @@ "refinement_interpretation_Tm_refine_9c3e9566abf10c7d01bd5254baeab0f0" ], 0, - "8eca5885dd39be00d1a38e22820354a0" + "4b28d840a72e023fc18cb0a314ba1ae8" ], [ "Printers.t1_print", @@ -119,7 +119,7 @@ "subterm_ordering_Printers.B", "subterm_ordering_Printers.E" ], 0, - "d7b850ff3f513d4d76f71ab84506d6c2" + "aca5a93fe4bd2a90921910ddfa2fad29" ], [ "Printers.uu___105", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "9dcd0f27fd801d3ed2dfcc9d50af36c1" + "8858ff1ae3e337c61fbbdec508ac77ef" ], [ "Printers.uu___106", @@ -137,7 +137,7 @@ 1, [ "@query" ], 0, - "3e0f37af9256d4031b8eaa508377592e" + "14a74297f62b6b81594f8da6ef96dd85" ], [ "Printers.uu___107", @@ -146,7 +146,7 @@ 1, [ "@query" ], 0, - "e8ea5f1519e16bf0ebcdb0263d017802" + "5e48bf990496dae535113e3f669aa2bc" ], [ "Printers.uu___108", @@ -155,7 +155,7 @@ 1, [ "@query" ], 0, - "8383629232fa9a9376bb5b9c60f95e77" + "64790b33d15f10b58c79d231282063ef" ], [ "Printers.uu___109", @@ -164,7 +164,7 @@ 1, [ "@query" ], 0, - "7d5829a9487928f290443b889923c792" + "968cc87ed9fdc17a8436f21088f172f9" ], [ "Printers.uu___110", @@ -173,7 +173,7 @@ 1, [ "@query" ], 0, - "77c5224ea571f2a0b16935122a576921" + "3a461d30bfec15b32309e60e6668ea0b" ], [ "Printers.maplast", @@ -187,7 +187,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "72f1246275fa779a3a296a611eaf89ae" + "722a20b346a0d5c9f131ab0af58db0b6" ], [ "Printers.__proj__A__item___0", @@ -200,7 +200,7 @@ "refinement_interpretation_Tm_refine_1a7b69b43f7b02549720ebdb7731aa7f" ], 0, - "1e721e26c77a44df585c0b502cb937b6" + "24da371037d347b02a8f08d0a8a8fce3" ], [ "Printers.__proj__A__item___1", @@ -213,7 +213,7 @@ "refinement_interpretation_Tm_refine_1a7b69b43f7b02549720ebdb7731aa7f" ], 0, - "1c82d89c6acacfff4ca031c1eec57e13" + "e39f582027c58021f419b4c8bb52ab0d" ], [ "Printers.__proj__B__item___0", @@ -226,7 +226,7 @@ "refinement_interpretation_Tm_refine_c8b4b75e38b41b48b268ea0a3f90e3cd" ], 0, - "971e44c65d875655b4464a56c25528d4" + "9f5dba3bcc57ee6edcb04d80907c5ecf" ], [ "Printers.__proj__B__item___1", @@ -239,7 +239,7 @@ "refinement_interpretation_Tm_refine_c8b4b75e38b41b48b268ea0a3f90e3cd" ], 0, - "0f27fe0b59aaced8dc75d51fd18cfc2d" + "cc41365e62e8b9278b7a3be8503f191d" ], [ "Printers.__proj__D__item___0", @@ -252,7 +252,7 @@ "refinement_interpretation_Tm_refine_3c3099d8265cd24e0a96805751c994d1" ], 0, - "7fde21f664657a907850d1ada3c9bf5f" + "7737e04efd2e4a58cf7701b291de28f2" ], [ "Printers.__proj__E__item___0", @@ -265,7 +265,7 @@ "refinement_interpretation_Tm_refine_410bdfe840bb48a5ed0357e092bfc39f" ], 0, - "9bbe529822c5ac768304be2e74c5ee55" + "e8bbf3a9638b3af9df40652371652496" ], [ "Printers.__proj__F__item___0", @@ -278,7 +278,7 @@ "refinement_interpretation_Tm_refine_9c3e9566abf10c7d01bd5254baeab0f0" ], 0, - "743214c596562d97ace873706be2e397" + "416eb3b9f23db1c167cbd252f02a7baa" ], [ "Printers.t1_print", @@ -293,7 +293,7 @@ "subterm_ordering_Printers.B", "subterm_ordering_Printers.E" ], 0, - "77bd71bbcc7b538edf40a01cb5e8bd07" + "970c5b881dabd9ef4e883712a2fae546" ], [ "Printers.uu___105", @@ -302,7 +302,7 @@ 1, [ "@query" ], 0, - "e5ce059f0109983957e5be9b919cab5b" + "2a5d3393732d062be9328acb2122bef4" ], [ "Printers.uu___106", @@ -311,7 +311,7 @@ 1, [ "@query" ], 0, - "74e0e095bca08a6a80634267716b18c1" + "e51462525e0943ca19999202096af221" ], [ "Printers.uu___107", @@ -320,7 +320,7 @@ 1, [ "@query" ], 0, - "db7520a6aa491261ebb82b7f110f16c9" + "878e63cf8efe2a2bdbe73c372f385c7e" ], [ "Printers.uu___108", @@ -329,7 +329,7 @@ 1, [ "@query" ], 0, - "afaf4336f9ba853e357c3e344cc12fec" + "ae14ab2896744078282d8fcfaadf77bb" ], [ "Printers.uu___109", @@ -338,7 +338,7 @@ 1, [ "@query" ], 0, - "0c6932dd9aa24d430ef1fed2263c9cf4" + "223b6a8614c1062d603174c281edaa9d" ], [ "Printers.uu___110", @@ -347,7 +347,7 @@ 1, [ "@query" ], 0, - "5c5703482e887162198512a7296f163d" + "ca2ff2f43b18a9a4d063a63c13765716" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Pruning.fst b/examples/tactics/Pruning.fst index 23724600971..f0e7a4801f2 100644 --- a/examples/tactics/Pruning.fst +++ b/examples/tactics/Pruning.fst @@ -73,69 +73,64 @@ open FStar.List let f (x:int) = assert (x + 1 == 1 + x) // This one should be sent in a pruned context -let _ = assert_by_tactic (rev [1;2] == [2;1]) - (fun () -> prune ""; - addns "FStar.List"; - addns "Prims") +let _ = assert (rev [1;2] == [2;1]) + by (prune ""; + addns "FStar.List"; + addns "Prims") // Both should go to the SMT, also in pruned context -let _ = assert_by_tactic (rev [1;2] == [2;1] /\ (forall x. x + 1 == 1 + x)) - (fun () -> - prune ""; - FStar.Tactics.split (); - (* rev [1;2] == [2;1] *) - addns "FStar.List"; - addns "Prims"; - smt (); - (* 1 == 1 *) - addns "Prims"; - smt ()) +let _ = assert (rev [1;2] == [2;1] /\ (forall x. x + 1 == 1 + x)) + by (prune ""; + FStar.Tactics.split (); + (* rev [1;2] == [2;1] *) + addns "FStar.List"; + addns "Prims"; + smt (); + (* 1 == 1 *) + addns "Prims"; + smt ()) -let _ = assert_by_tactic (rev [1;2] == [2;1] /\ (forall x. x + 1 == 1 + x)) - (fun () -> - FStar.Tactics.split (); - (* rev [1;2] == [2;1] *) - prune ""; - addns "FStar.List"; - addns "Prims"; - smt (); - (* 1 == 1 *) - prune ""; - addns "Prims"; - smt ()) +let _ = assert (rev [1;2] == [2;1] /\ (forall x. x + 1 == 1 + x)) + by (FStar.Tactics.split (); + (* rev [1;2] == [2;1] *) + prune ""; + addns "FStar.List"; + addns "Prims"; + smt (); + (* 1 == 1 *) + prune ""; + addns "Prims"; + smt ()) [@expect_failure] -let _ = assert_by_tactic (rev [1;2] == [2;1] /\ (forall x. x + 1 == 1 + x)) - (fun () -> - prune ""; - FStar.Tactics.split (); - (* rev [1;2] == [2;1] *) - addns "Prims"; - smt (); - (* 1 == 1 *) - addns "Prims"; - smt ()) +let _ = assert (rev [1;2] == [2;1] /\ (forall x. x + 1 == 1 + x)) + by (prune ""; + FStar.Tactics.split (); + (* rev [1;2] == [2;1] *) + addns "Prims"; + smt (); + (* 1 == 1 *) + addns "Prims"; + smt ()) [@expect_failure] -let _ = assert_by_tactic (rev [1;2] == [2;1] /\ (forall x. x + 1 == 1 + x)) - (fun () -> - prune ""; - FStar.Tactics.split (); - (* rev [1;2] == [2;1] *) - addns "FStar.List"; - smt (); - (* 1 == 1 *) - addns "Prims"; - smt ()) +let _ = assert (rev [1;2] == [2;1] /\ (forall x. x + 1 == 1 + x)) + by (prune ""; + FStar.Tactics.split (); + (* rev [1;2] == [2;1] *) + addns "FStar.List"; + smt (); + (* 1 == 1 *) + addns "Prims"; + smt ()) [@expect_failure] -let _ = assert_by_tactic (rev [1;2] == [2;1] /\ (forall x. x + 1 == 1 + x)) - (fun () -> - prune ""; - FStar.Tactics.split (); - (* rev [1;2] == [2;1] *) - addns "FStar.List"; - addns "Prims"; - smt (); - (* 1 == 1 *) - smt ()) +let _ = assert (rev [1;2] == [2;1] /\ (forall x. x + 1 == 1 + x)) + by (prune ""; + FStar.Tactics.split (); + (* rev [1;2] == [2;1] *) + addns "FStar.List"; + addns "Prims"; + smt (); + (* 1 == 1 *) + smt ()) diff --git a/examples/tactics/Pruning.fst.hints b/examples/tactics/Pruning.fst.hints index 862db0eb306..39777a1ca60 100644 --- a/examples/tactics/Pruning.fst.hints +++ b/examples/tactics/Pruning.fst.hints @@ -1,5 +1,5 @@ [ - "ÐDSAÞ8 ©ë¦\u001b,@¨ ?", + "A;d߮ꢎÿ\n\\\\p<¯\n", [ [ "Pruning.f", @@ -23,7 +23,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "8137ae565b278d238e0a577c9686e98f" + "a5fe92c7edaac25fe94e95bbe54f3b01" ], [ "Pruning.uu___1", @@ -46,28 +46,27 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "10081e04a57511bb07c7b40da0830099" + "7354d5c51f11757b01275a2e4fa0c678" ], [ - "Pruning.uu___5", + "Pruning.uu___6", 1, 2, 1, [ "@query", "true_interp" ], 0, - "ea33a9f8018aa5b4b2358b45f787b61d" + "53dad185c9f0a5a74206d1d3d79df9a3" ], [ - "Pruning.uu___5", + "Pruning.uu___6", 2, 4, 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.List.Tot.Base.rev", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", @@ -78,28 +77,28 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e6245cd0a52a1282065a26e8c8a16820" + "596d7e12b89a0399f365ce2ef06efa92" ], [ - "Pruning.uu___5", + "Pruning.uu___6", 3, 2, 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "e0759ba983f12316f1c87f3ef6853f04" + "142ef7db3f654b2c408433a7bebfe92c" ], [ - "Pruning.uu___14", + "Pruning.uu___16", 1, 2, 1, [ "@query", "true_interp" ], 0, - "7f6f6c0d851c6ff48818a14a1be60486" + "6522dcdbddf98ab522e9624211d4d913" ], [ - "Pruning.uu___14", + "Pruning.uu___16", 2, 4, 2, @@ -118,64 +117,64 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "05a511b302d96945fb463b5b1cce52a4" + "61c692654b7591107a13fb51a0236add" ], [ - "Pruning.uu___14", + "Pruning.uu___16", 3, 2, 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "ec693f1d1b6fb7c66eaa21e131bc9b9f" + "4e178e46574b678ed8bef77641ba974b" ], [ - "Pruning.uu___24", + "Pruning.uu___27", 1, 2, 1, [ "@query", "true_interp" ], 0, - "930dd60b8b111c849f57b713710be5f2" + "c26f2a742429cf06ec620249571579d1" ], [ - "Pruning.uu___24", + "Pruning.uu___27", 3, 2, 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "8c53838300f56de06eceb22612be498f" + "cd2896a0bfa1ac329336a311da05f779" ], [ - "Pruning.uu___32", + "Pruning.uu___36", 1, 2, 1, [ "@query", "true_interp" ], 0, - "393d806defc8a25eb4d8d823536cb989" + "0e608f9aa73716b94b0e3a4c752148ed" ], [ - "Pruning.uu___32", + "Pruning.uu___36", 3, 2, 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "d7ad8ee2aa94ce0a845d968022892f64" + "2661d3bd05e82e639ea0ad508de3105d" ], [ - "Pruning.uu___40", + "Pruning.uu___45", 1, 2, 1, [ "@query", "true_interp" ], 0, - "9c66892b4ae5efe8e2feacee85df9b5e" + "06ead4e58870eb87f53fad399d47bd18" ], [ - "Pruning.uu___40", + "Pruning.uu___45", 2, 4, 2, @@ -194,7 +193,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "91cb7e8f6d420c0e6974f386fd1ea9cf" + "6d18b8151c28b8ff39b96d7b6730005f" ], [ "Pruning.f", @@ -203,7 +202,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "4e0ba7dcd5a71f46e36e2c8713245ba7" + "0d6aeccbae3d7c087b8689b8c1f33e74" ], [ "Pruning.uu___1", @@ -226,19 +225,19 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4f8e73af1e9af7cf5ea57fff9c4e27cf" + "fac967069802b9eeb7288e169f87b984" ], [ - "Pruning.uu___5", + "Pruning.uu___6", 4, 2, 1, [ "@query", "true_interp" ], 0, - "5fa86c420e28f9cf182370db9743733e" + "36ee842a9d7d01f080a87b8c98181251" ], [ - "Pruning.uu___5", + "Pruning.uu___6", 5, 4, 2, @@ -257,28 +256,28 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "166173b5dfb768d0e209ce022006dc50" + "0480fa2bcf09993caaadad142c7d4b22" ], [ - "Pruning.uu___5", + "Pruning.uu___6", 6, 2, 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "edfde0d030f091777a5ffcaf485150da" + "fdf310952ebc315f38b7d1851eed644e" ], [ - "Pruning.uu___14", + "Pruning.uu___16", 4, 2, 1, [ "@query", "true_interp" ], 0, - "e3d605b9c9415c9ae3f2b4906f4c9fd4" + "9274ebd2ee495fe7a856c7475378f072" ], [ - "Pruning.uu___14", + "Pruning.uu___16", 5, 4, 2, @@ -297,16 +296,16 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "719d59933a3c3f5ccde822c8f6eb0834" + "3f28b01ef15e00877c649686b91c36ea" ], [ - "Pruning.uu___14", + "Pruning.uu___16", 6, 2, 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "00100575cc85a02789abebc31e4ecc33" + "1595a506d3ad8861b1404266d0cfd2c8" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Raise.fst.hints b/examples/tactics/Raise.fst.hints index 1b2ee5c96fd..d36d53e7650 100644 --- a/examples/tactics/Raise.fst.hints +++ b/examples/tactics/Raise.fst.hints @@ -20,7 +20,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "87e6ca51f4f04ace3522af9f66eb3d6d" + "e4127b812d19b4ec10e5840b3254f765" ], [ "Raise.uu___0", @@ -41,7 +41,7 @@ "projection_inverse_BoxBool_proj_0", "true_interp" ], 0, - "b60511f72c99cbebea5d9b4ddf9dd74d" + "ca2a0f02a1213285ffb2f2b36a476642" ], [ "Raise.uu___11", @@ -62,7 +62,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4399366d87ccf19a68accaed55d781f6" + "b3d22362536ed7022b224644e79121f8" ], [ "Raise.uu___0", @@ -83,7 +83,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a90837384292ff4d1d287234cab4df70" + "37e3183eca10a8adc08e4ff383cc82c6" ], [ "Raise.uu___0", @@ -104,7 +104,7 @@ "projection_inverse_BoxBool_proj_0", "true_interp" ], 0, - "7de2d6aa945602dec51434a46976ddf9" + "4feab2028287c0d7ed176f79a67cf764" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Reflexivity.fst b/examples/tactics/Reflexivity.fst new file mode 100644 index 00000000000..fecb6d34807 --- /dev/null +++ b/examples/tactics/Reflexivity.fst @@ -0,0 +1,9 @@ +module Reflexivity + +open FStar.Tactics + +let _ = assert (1 = 1) by trefl () +let _ = assert (1 == 1) by trefl () +(* sigh, (===) is not eq3 *) +let _ = assert (1 `eq3` 1) by trefl () +let _ = assert (1 === 1) by (norm [delta]; trefl ()) diff --git a/examples/tactics/Reflexivity.fst.hints b/examples/tactics/Reflexivity.fst.hints new file mode 100644 index 00000000000..2607851564b --- /dev/null +++ b/examples/tactics/Reflexivity.fst.hints @@ -0,0 +1 @@ +[ "¸„\u0007Žc‘ëÂ|ëúr¬¤ö", [] ] \ No newline at end of file diff --git a/examples/tactics/ReifiedTc.fst.hints b/examples/tactics/ReifiedTc.fst.hints index 1f353f8f614..ddc2f16061c 100644 --- a/examples/tactics/ReifiedTc.fst.hints +++ b/examples/tactics/ReifiedTc.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f57e4089b4f0c46804caf36ae7dce1be" + "b7127dba8467a61637d3a6edc2b43412" ], [ "ReifiedTc.test1", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "9133ca6c5ce9938c5833d64ecca3d51c" + "bf70fdde742b6f770b0035401cc8eda0" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Rename.fst b/examples/tactics/Rename.fst index d3e138cde75..36d37b6e1ae 100644 --- a/examples/tactics/Rename.fst +++ b/examples/tactics/Rename.fst @@ -26,19 +26,17 @@ assume val xi : Type assume val p : squash xi let l1 (x : bool) (y : int) (z : unit) = - assert_by_tactic (phi ==> (psi ==> xi)) - (fun () -> - let h0 = implies_intro () in - let h1 = implies_intro () in - (* dump "Test"; *) - exact (quote p)) + assert (phi ==> (psi ==> xi)) + by (let h0 = implies_intro () in + let h1 = implies_intro () in + (* dump "Test"; *) + exact (quote p)) // this error should show pretty binders too (* let _ = *) -(* assert_by_tactic (False ==> True) *) -(* (fun () -> *) -(* let h0 = implies_intro () in *) -(* let x = quote (fun x -> 1 + x) in *) -(* let t = mk_e_app x [pack (Tv_Const C_Unit)] in *) -(* let _ = tc t in *) -(* trivial ()) *) +(* assert (False ==> True) *) +(* by (let h0 = implies_intro () in *) +(* let x = quote (fun x -> 1 + x) in *) +(* let t = mk_e_app x [pack (Tv_Const C_Unit)] in *) +(* let _ = tc t in *) +(* trivial ()) *) diff --git a/examples/tactics/Rename.fst.hints b/examples/tactics/Rename.fst.hints index 096e34cf029..48a6e704ac9 100644 --- a/examples/tactics/Rename.fst.hints +++ b/examples/tactics/Rename.fst.hints @@ -1 +1 @@ -[ "ca ¬R@_\u000eˆ¯ÐTã“9\b", [] ] \ No newline at end of file +[ "ðôÜGµÛkOB³ßâßM\u001a", [] ] \ No newline at end of file diff --git a/examples/tactics/Retype.fst b/examples/tactics/Retype.fst index 5e5998036af..4c3cef7cc96 100644 --- a/examples/tactics/Retype.fst +++ b/examples/tactics/Retype.fst @@ -60,4 +60,4 @@ let tau () : Tac unit = fail "should be impossible" let _ = - assert_by_tactic (True ==> True ==> True ==> p ==> q) tau + assert (True ==> True ==> True ==> p ==> q) by tau () diff --git a/examples/tactics/Retype.fst.hints b/examples/tactics/Retype.fst.hints index d519ab23ab0..a7a66739aea 100644 --- a/examples/tactics/Retype.fst.hints +++ b/examples/tactics/Retype.fst.hints @@ -1 +1 @@ -[ "šI%æäª%ú’f«Ñ¸YY«", [] ] \ No newline at end of file +[ "S(,‚(\u001b˜ë5ŸO/±\u001cÝ", [] ] \ No newline at end of file diff --git a/examples/tactics/Rewrite.Monoid.fst b/examples/tactics/Rewrite.Monoid.fst index f5786e3c60a..7d82a58f0c6 100644 --- a/examples/tactics/Rewrite.Monoid.fst +++ b/examples/tactics/Rewrite.Monoid.fst @@ -86,13 +86,12 @@ let apply_imp (h:binder) = mapply (mk_app (`elim_implies) [(pack (Tv_Var (bv_of_binder h)), Q_Explicit)]) let refl (#a:Type) (x:a) : (x==x) = FStar.Squash.return_squash Refl let test (a b : int) (p:Type) = - assert_by_tactic ((((a + b + 0) == (a + b)) ==> p) ==> p) - (fun _ -> - norm []; - rewrite_int true; - apply_imp (implies_intro()); - norm [delta; zeta; primops]; - apply (`refl)) + assert ((((a + b + 0) == (a + b)) ==> p) ==> p) + by (norm []; + rewrite_int true; + apply_imp (implies_intro()); + norm [delta; zeta; primops]; + apply (`refl)) (* TODO: should extend this to a commutative monoid and sort the list to prove things like a + b = b + a; *) diff --git a/examples/tactics/Rewrite.Monoid.fst.hints b/examples/tactics/Rewrite.Monoid.fst.hints index 50aff3c7b74..bb4c3ea39b9 100644 --- a/examples/tactics/Rewrite.Monoid.fst.hints +++ b/examples/tactics/Rewrite.Monoid.fst.hints @@ -1,5 +1,5 @@ [ - "hÖù\u0006‡\u0011éNÞÇê&νRf", + "ÊbxZQI²({ý£æ`u\u0016°", [ [ "Rewrite.Monoid.aux", @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1bbc64efe1affa3f0d769bd255d72be4" + "8137aab0539c24f0685f979c55c62f55" ], [ "Rewrite.Monoid.monoid_reflect_rhs", @@ -22,10 +22,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "421a37d199ed20dcb6a41409103810de" + "1328467d5935e5ce2eb83813cd34473c" ], [ "Rewrite.Monoid.elim_implies", @@ -34,10 +34,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_be8d4c3a4018f7bc07ddbce3645c57d4" + "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "980dada1c1751dcc368ff566e6306126" + "0cab78eb5efe06c91119b1bd1f0d3a33" ], [ "Rewrite.Monoid.elim_implies", @@ -46,10 +46,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_be8d4c3a4018f7bc07ddbce3645c57d4" + "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" ], 0, - "2dc123e0cc51c6566bf26a5b14d87ae3" + "fa333a5aa217483edd5a436487e7380c" ], [ "Rewrite.Monoid.apply_imp", @@ -68,7 +68,7 @@ "typing_FStar.Tactics.Result.uu___is_Success" ], 0, - "a104670272094b7b5ad48a4c5732db2f" + "ea62169fe94491e3915e2b854bb2eabe" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Sequences.fst b/examples/tactics/Sequences.fst index 180b294464b..349e82857a4 100644 --- a/examples/tactics/Sequences.fst +++ b/examples/tactics/Sequences.fst @@ -101,8 +101,8 @@ let sequence_pruning () = let test (#a:Type0) (s:seq a) (x:a) (from:nat) (to:nat{from<=to /\ to<=length s}) (l:seq a) (y:nat) = assume (y == 17); //I would like to prune this out assume (l == snoc s x); //I would like to retain this fact from the local environment - assert_by_tactic (slice s from to == slice l from to) //would prefer to write this, and have the tactic switch to extensional equality - (fun () -> or_else sequence_pruning idtac) + assert (slice s from to == slice l from to) //would prefer to write this, and have the tactic switch to extensional equality + by (or_else sequence_pruning idtac) (* ////////////////// *) diff --git a/examples/tactics/Sequences.fst.hints b/examples/tactics/Sequences.fst.hints index f62f5a1d47c..b95d0d0d776 100644 --- a/examples/tactics/Sequences.fst.hints +++ b/examples/tactics/Sequences.fst.hints @@ -1,5 +1,5 @@ [ - "\u001eë3;\rÁnçGeÞ\u001d\f5Ê", + "l^¤I'Þ'4\u0000ñ\u0001íù \f‘", [ [ "Sequences.unrefine_eq_lem", @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5d69b8ce6e882530722def4933d6e193" + "44d3c47894ab73676d12e302df30ae2f" ], [ "Sequences.test", @@ -21,7 +21,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", @@ -29,13 +28,13 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "true_interp", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "4f688aa1c2e1fce7783318e40b67ad2f" + "df9981c3860cf024b4f9064052d4afe7" ], [ "Sequences.test", @@ -44,9 +43,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -58,17 +55,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2f31165bd40d954c464e64a8448716f5", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6aea8ef6600fce1e84d24892f02432e9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9b21d7f9d55f88197f4945f7f93d2b78", + "refinement_interpretation_Tm_refine_afaf4b57639ac7637b31f559ee7739fe", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "f58ea56df6c29f45a70563224b8e4477" + "d051fefbdbdba4b413e3b03dba3ac776" ], [ "Sequences.test", @@ -77,7 +74,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", @@ -85,13 +81,13 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "true_interp", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "bda5ec581b775dded1e4cc73503d294e" + "f954dd2ab2b087fcdc7a3776f30b6be6" ], [ "Sequences.test", @@ -100,9 +96,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -114,17 +108,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2f31165bd40d954c464e64a8448716f5", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6aea8ef6600fce1e84d24892f02432e9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9b21d7f9d55f88197f4945f7f93d2b78", + "refinement_interpretation_Tm_refine_afaf4b57639ac7637b31f559ee7739fe", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "a0e48c69bd32cf5c7edb765c1894238c" + "629fb0be88035495d6befc5430b01c8c" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Setopts.fst b/examples/tactics/Setopts.fst index d4ebf59a7c1..a1aca0f3a97 100644 --- a/examples/tactics/Setopts.fst +++ b/examples/tactics/Setopts.fst @@ -19,5 +19,5 @@ open FStar.Tactics open FStar.Mul let mult_ass (x y z : int) = - assert_by_tactic ((x + x) * (y * z) = (x * y) * z + (z * x * y)) - (fun () -> set_options "--smtencoding.elim_box true --z3rlimit 1") + assert ((x + x) * (y * z) = (x * y) * z + (z * x * y)) + by (set_options "--smtencoding.elim_box true --z3rlimit 1") diff --git a/examples/tactics/Setopts.fst.hints b/examples/tactics/Setopts.fst.hints index b3ee6c680d4..0f74082de91 100644 --- a/examples/tactics/Setopts.fst.hints +++ b/examples/tactics/Setopts.fst.hints @@ -1,5 +1,5 @@ [ - "¾“k\n¬“E8%°àäO%æµ", + "2bÊ£» édúl¨?o°\u0010È", [ [ "Setopts.mult_ass", @@ -11,7 +11,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "4ef6eea3e9fe17d88132fb7471c88a9f" + "e1606e70cda0dfd5fb7c7787bb81f206" ], [ "Setopts.mult_ass", @@ -23,7 +23,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "a881ce72601fd462dcaabfdad0a3f1e8" + "3e9b1897bac8331dae39ff49b83609c7" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Simplifier.fst b/examples/tactics/Simplifier.fst index 4dcf35f673d..acaeb31108e 100644 --- a/examples/tactics/Simplifier.fst +++ b/examples/tactics/Simplifier.fst @@ -28,63 +28,63 @@ let test_simplify () : Tac unit = simplify (); or_else goal_is_true (fun () -> dump ""; fail "simplify left open goals") -let _ = assert_by_tactic (True /\ True) - test_simplify -let _ = assert_by_tactic (True \/ True) - test_simplify -let _ = assert_by_tactic (True \/ False) - test_simplify -let _ = assert_by_tactic (False \/ True) - test_simplify +let _ = assert (True /\ True) + by test_simplify () +let _ = assert (True \/ True) + by test_simplify () +let _ = assert (True \/ False) + by test_simplify () +let _ = assert (False \/ True) + by test_simplify () -let _ = assert_by_tactic (False \/ (True /\ True)) - test_simplify -let _ = assert_by_tactic ((True /\ False) \/ (True /\ True)) - test_simplify -let _ = assert_by_tactic (False \/ ((True /\ False) \/ (True /\ True))) - test_simplify +let _ = assert (False \/ (True /\ True)) + by test_simplify () +let _ = assert ((True /\ False) \/ (True /\ True)) + by test_simplify () +let _ = assert (False \/ ((True /\ False) \/ (True /\ True))) + by test_simplify () -let _ = assert_by_tactic (False ==> True) - test_simplify -let _ = assert_by_tactic (False ==> False) - test_simplify -let _ = assert_by_tactic (True ==> True) - test_simplify +let _ = assert (False ==> True) + by test_simplify () +let _ = assert (False ==> False) + by test_simplify () +let _ = assert (True ==> True) + by test_simplify () -let _ = assert_by_tactic ((False ==> False) ==> True) - test_simplify -let _ = assert_by_tactic (False ==> (False ==> False)) - test_simplify -let _ = assert_by_tactic ((False ==> False) ==> (True ==> True)) - test_simplify -let _ = assert_by_tactic ((True ==> True) ==> (False ==> False)) - test_simplify +let _ = assert ((False ==> False) ==> True) + by test_simplify () +let _ = assert (False ==> (False ==> False)) + by test_simplify () +let _ = assert ((False ==> False) ==> (True ==> True)) + by test_simplify () +let _ = assert ((True ==> True) ==> (False ==> False)) + by test_simplify () -let _ = assert_by_tactic (~False) - test_simplify -let _ = assert_by_tactic (~(~True)) - test_simplify +let _ = assert (~False) + by test_simplify () +let _ = assert (~(~True)) + by test_simplify () -let _ = assert_by_tactic (forall (x:int). True) - test_simplify -let _ = assert_by_tactic (forall (x:int). ((True ==> True) ==> (False ==> False))) - test_simplify +let _ = assert (forall (x:int). True) + by test_simplify () +let _ = assert (forall (x:int). ((True ==> True) ==> (False ==> False))) + by test_simplify () -let _ = assert_by_tactic ((exists (x:int). False) ==> False) - test_simplify -let _ = assert_by_tactic (~(exists (x:int). False)) - test_simplify -let _ = assert_by_tactic (~(exists (x:int). ((True ==> True) ==> (True ==> False)))) - test_simplify +let _ = assert ((exists (x:int). False) ==> False) + by test_simplify () +let _ = assert (~(exists (x:int). False)) + by test_simplify () +let _ = assert (~(exists (x:int). ((True ==> True) ==> (True ==> False)))) + by test_simplify () -let _ = assert_by_tactic (False <==> False) - test_simplify -let _ = assert_by_tactic ((False <==> False) <==> True) - test_simplify -let _ = assert_by_tactic (False <==> (False <==> True)) - test_simplify +let _ = assert (False <==> False) + by test_simplify () +let _ = assert ((False <==> False) <==> True) + by test_simplify () +let _ = assert (False <==> (False <==> True)) + by test_simplify () -let _ = assert_by_tactic ((exists (x:int). True) <==> True) - test_simplify -let _ = assert_by_tactic ((forall (x:int). False) <==> False) - test_simplify +let _ = assert ((exists (x:int). True) <==> True) + by test_simplify () +let _ = assert ((forall (x:int). False) <==> False) + by test_simplify () diff --git a/examples/tactics/Simplifier.fst.hints b/examples/tactics/Simplifier.fst.hints index b2cc2a73758..9d442380fc1 100644 --- a/examples/tactics/Simplifier.fst.hints +++ b/examples/tactics/Simplifier.fst.hints @@ -1 +1 @@ -[ "ëÖN–´E0 Þ‹hkuÝÖ", [] ] \ No newline at end of file +[ "Õš£Î\r/z4åu€Q•u\u0004G", [] ] \ No newline at end of file diff --git a/examples/tactics/SolvedWitness.fst b/examples/tactics/SolvedWitness.fst index a73a651e3ef..1bd18451eea 100644 --- a/examples/tactics/SolvedWitness.fst +++ b/examples/tactics/SolvedWitness.fst @@ -19,4 +19,4 @@ open FStar.Tactics (* Error 217 is tactic left uninstantiated goals, so we're also checking that `qed` succeeds *) [@ (expect_failure [217])] -let _ = assert_by_tactic True (fun () -> dup (); flip (); trefl (); qed ()) +let _ = assert True by (dup (); flip (); trefl (); qed ()) diff --git a/examples/tactics/SolvedWitness.fst.hints b/examples/tactics/SolvedWitness.fst.hints index 80b32a52777..2dd9ef2f980 100644 --- a/examples/tactics/SolvedWitness.fst.hints +++ b/examples/tactics/SolvedWitness.fst.hints @@ -1 +1 @@ -[ "\\µ\t-\u0012~·\u0016KŒeé9ÈÕÓ", [] ] \ No newline at end of file +[ "\u0007ù¿†\u0011ç - let t = quote (1+1) in - match inspect t with - | Tv_App _ _ -> () - | _ -> fail ("oops!: " ^ term_to_string t)) + assert True + by (let t = quote (1+1) in + match inspect t with + | Tv_App _ _ -> () + | _ -> fail ("oops!: " ^ term_to_string t)) let goal_sanity_check = - assert_by_tactic (True /\ True) - (fun () -> - let g = cur_goal () in - match term_as_formula g with - | And _ _ -> () - | _ -> fail ("oops!: " ^ term_to_string g)) + assert (True /\ True) + by (let g = cur_goal () in + match term_as_formula g with + | And _ _ -> () + | _ -> fail ("oops!: " ^ term_to_string g)) let test1 = 24 -let test2 = assert_by_tactic True - (fun () -> - let x = quote test1 in - match inspect x with - | Tv_FVar fv -> () - | _ -> fail "wat") +let test2 = assert True + by (let x = quote test1 in + match inspect x with + | Tv_FVar fv -> () + | _ -> fail "wat") let rec blah (t : term) : Tac term = @@ -67,79 +64,78 @@ let rec blah (t : term) : Tac term = | Tv_Unknown -> Tv_Unknown in pack tv -let _ = assert_by_tactic True - (fun () -> - let t = quote (1+1) in - let t' = blah t in - if term_eq t t' - then () - else fail "blah not an identity?") - -let _ = assert_by_tactic True - (fun () -> - let t = quote blah in - match inspect t with - | Tv_FVar _ -> () - | _ -> fail "Free variable did not return an FV") - -let _ = assert_by_tactic True - (fun () -> - let t = quote (5 == 2 + 3) in - match term_as_formula' t with - | Comp (Eq _) _ _ -> () - | f -> fail ("term_as_formula did not recognize an equality: " ^ formula_to_string f) - ) - -let _ = assert_by_tactic True - (fun () -> - let t = quote ((fun (x:int) -> x) 5) in - match inspect t with - | Tv_App _ _ -> () - | Tv_Const (C_Int 5) -> fail "Quoted term got reduced!" - | _ -> fail "What?") - -let _ = assert_by_tactic True - (fun () -> - let t = quote ((x:int) -> x == 2 /\ False) in - match term_as_formula' t with - | Forall _ _ -> () - | _ -> fail ("This should be a forall: " ^ term_to_string t)) +let _ = assert True + by (let t = quote (1+1) in + let t' = blah t in + if term_eq t t' + then () + else fail "blah not an identity?") + +let _ = assert True + by (let t = `(x:int{x > 0}) in + let s = `(x:int{x > 0}) in + if term_eq s t + then () + else fail "wat") + +let _ = assert True + by (let t = quote blah in + match inspect t with + | Tv_FVar _ -> () + | _ -> fail "Free variable did not return an FV") + +let _ = assert True + by (let t = quote (5 == 2 + 3) in + match term_as_formula' t with + | Comp (Eq _) _ _ -> () + | f -> fail ("term_as_formula did not recognize an equality: " ^ formula_to_string f)) + +let _ = assert True + by (let t = quote ((fun (x:int) -> x) 5) in + match inspect t with + | Tv_App _ _ -> () + | Tv_Const (C_Int 5) -> fail "Quoted term got reduced!" + | _ -> fail "What?") + +let _ = assert True + by (let t = quote ((x:int) -> x == 2 /\ False) in + match term_as_formula' t with + | Forall _ _ -> () + | _ -> fail ("This should be a forall: " ^ term_to_string t)) // The implicit type argument for eq2 (==) mentions x and y, so this is not seen as an implication... // In detail, initially the type is `?u y x` for some unification variable `?u`, and unification // then resolves it to `(fun _ _ -> int) y x`, so `y` and `x` are still free. // // Tweaking inference to do some normalization could get rid of this, I think.. -let _ = assert_by_tactic True - (fun () -> - let t = quote ((y:int) -> (x:int) -> x + 2 == 5) in - match term_as_formula t with - | Implies _ _ -> fail "" // make it fail for now, but this is the wanted result, I think - | f -> debug ("This should be an implication: " ^ formula_to_string f); - debug "But that's a known issue..."; - ()) +let _ = assert True + by (let t = quote ((y:int) -> (x:int) -> x + 2 == 5) in + match term_as_formula t with + | Implies _ _ -> fail "" // make it fail for now, but this is the wanted result, I think + | f -> debug ("This should be an implication: " ^ formula_to_string f); + debug "But that's a known issue..."; + ()) open FStar.Tactics let arith_test1 = - assert_by_tactic True - (fun () -> let t = quote (1 + 2) in - match run_tm (is_arith_expr t) with - | Inr (Plus (Lit 1) (Lit 2)) -> debug "alright!" - | Inl s -> fail ("oops: " ^ s) - | _ -> fail "different thing") + assert True + by (let t = quote (1 + 2) in + match run_tm (is_arith_expr t) with + | Inr (Plus (Lit 1) (Lit 2)) -> debug "alright!" + | Inl s -> fail ("oops: " ^ s) + | _ -> fail "different thing") let arith_test2 (x : int) = - assert_by_tactic True - (fun () -> let t = quote (x + x) in - match run_tm (is_arith_expr t) with - | Inr (Plus (Atom 0 _) (Atom 0 _)) -> debug "alright!" - | Inl s -> fail ("oops: " ^ s) - | _ -> fail "different thing") - -let _ = assert_by_tactic True - (fun () -> - let t = quote (let x = 2 in x + 6) in + assert True + by (let t = quote (x + x) in + match run_tm (is_arith_expr t) with + | Inr (Plus (Atom 0 _) (Atom 0 _)) -> debug "alright!" + | Inl s -> fail ("oops: " ^ s) + | _ -> fail "different thing") + +let _ = assert True + by (let t = quote (let x = 2 in x + 6) in match inspect t with | Tv_Let r bv t1 t2 -> ( debug ("r = " ^ (if r then "true" else "false")); @@ -149,9 +145,8 @@ let _ = assert_by_tactic True ) | _ -> fail "wat?") -let _ = assert_by_tactic True - (fun () -> - let t = quote (let rec f x = if (x <= 0) then 1 else f (x - 1) in f 5) in +let _ = assert True + by (let t = quote (let rec f x = if (x <= 0) then 1 else f (x - 1) in f 5) in match inspect t with | Tv_Let r bv t1 t2 -> ( debug ("r = " ^ (if r then "true" else "false")); diff --git a/examples/tactics/Syntax.fst.hints b/examples/tactics/Syntax.fst.hints index 901331a23f5..3cc9f2bcc79 100644 --- a/examples/tactics/Syntax.fst.hints +++ b/examples/tactics/Syntax.fst.hints @@ -1,5 +1,5 @@ [ - "ð§Îª—îÉ£@eÔñî¦C\u0001", + "ŸD(}Ã+dÎ8½j\u0007‘«ï", [ [ "Syntax.blah", @@ -48,7 +48,7 @@ "typing_FStar.Reflection.Basic.inspect", "unit_inversion" ], 0, - "44cf2b1de87379062c477793d466c9ba" + "6df55b2797d413c797c96f71196f2bf9" ], [ "Syntax.blah", @@ -97,7 +97,7 @@ "typing_FStar.Reflection.Basic.inspect", "unit_inversion" ], 0, - "2ab5d98aa53f170018b3c08ec496fb61" + "e128fbad3a6c2932f1d549ae9f048635" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Synthesis.fst.hints b/examples/tactics/Synthesis.fst.hints index 82dc64bdde5..d929447d3a5 100644 --- a/examples/tactics/Synthesis.fst.hints +++ b/examples/tactics/Synthesis.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_Synthesis.a" ], 0, - "f9eb87b3602bdb5d03b641e1624c8613" + "fe7c88a793282121f617169cd5c2775e" ], [ "Synthesis.uu___8", @@ -20,7 +20,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "67772dd6ec74a29dafc60410dcde272b" + "cd1545387693fb6e46346f0cbbd24fea" ], [ "Synthesis.uu___18", @@ -29,7 +29,7 @@ 1, [ "@query", "equation_Synthesis.fn8" ], 0, - "6118ae08a7f81c16854c3057bfa14403" + "cddba503e513f3bdf2bc711fe8a9c24c" ], [ "Synthesis.uu___26", @@ -38,7 +38,7 @@ 1, [ "@query", "equation_Synthesis.iszero" ], 0, - "e46508666e7a0c0cfcf7bcb6bfef4dc3" + "141abebeec84c3a3299e80c404d4b404" ], [ "Synthesis.uu___27", @@ -47,7 +47,7 @@ 1, [ "@query", "equation_Synthesis.iszero" ], 0, - "3a3721b9d714b9eb5a54ba959780170c" + "ccabe4c771538b81486e2fefc31e27f4" ], [ "Synthesis.uu___28", @@ -59,7 +59,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "373f406340392c4ad8af6898907be707" + "d8acf7d353ae1b0b0b959274df056f9d" ], [ "Synthesis.uu___41", @@ -74,7 +74,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1505eb5944f8c3a923ca770e05993e89" + "19b16aa92075c1efc3ff6aa79075760e" ], [ "Synthesis.f3", @@ -88,11 +88,11 @@ "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "2bc88bffd94b3a1e2ce8ca55f495fb03" + "d29a8d377c5f1c0418b2cc58a4581a05" ], [ "Synthesis.uu___54", @@ -101,7 +101,7 @@ 1, [ "@query" ], 0, - "860a4d15f222681361124a3e73eba7d2" + "e99e3159304366ed118cb40309987c3a" ], [ "Synthesis.uu___1", @@ -110,7 +110,7 @@ 1, [ "@query", "equation_Synthesis.a" ], 0, - "081ad651fa5067f4d2e6af04c23af361" + "5ad77d32e72edb0225f52c0497c1d978" ], [ "Synthesis.uu___8", @@ -122,7 +122,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a631e92b6a191c5ab9bae47f6a3d2414" + "bce45551653ddf99aa13bcb09f5dc911" ], [ "Synthesis.uu___18", @@ -131,7 +131,7 @@ 1, [ "@query", "equation_Synthesis.fn8" ], 0, - "1e4e597fa61d58fc6feded60ea60f27a" + "eed4054de37200b79e935686e9cf28c2" ], [ "Synthesis.uu___26", @@ -140,7 +140,7 @@ 1, [ "@query", "equation_Synthesis.iszero" ], 0, - "35c842c60b06734cf23ebb2ab61b92d7" + "e51ccb95aae550121150600af5f18177" ], [ "Synthesis.uu___27", @@ -149,7 +149,7 @@ 1, [ "@query", "equation_Synthesis.iszero" ], 0, - "d36797cf521f67a99f13a03d504d4f01" + "6a18ce6e74695501d305923a7517bd24" ], [ "Synthesis.uu___28", @@ -161,7 +161,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3ccd32bb928ef9ba33f4c8c6cdb6be65" + "902b098a4138100d1af45f71937f194f" ], [ "Synthesis.uu___41", @@ -176,7 +176,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f1f388e50d628e2bd44842cae70964cd" + "45c740b46cf2224fa8d38aa30a1aec2f" ], [ "Synthesis.f3", @@ -187,11 +187,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "697733a8325637111d67508a511f5032" + "83cefa5747987872037dd97cea42f256" ], [ "Synthesis.uu___54", @@ -200,7 +200,7 @@ 1, [ "@query" ], 0, - "5edb3ec0f63de22010a3957dc6d1df96" + "619d556989c2c932876b3120aa4ef4b9" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Tautology.fst b/examples/tactics/Tautology.fst index 282bcea3d4a..7649c80232c 100644 --- a/examples/tactics/Tautology.fst +++ b/examples/tactics/Tautology.fst @@ -51,8 +51,8 @@ assume val p: prop // This one exercises matching on squash p let _ = assume p; - assert_by_tactic p tauto + assert p by tauto () // This one exercises matching on p (without the squash) let _ = - assert_by_tactic (p ==> (True /\ False \/ True) /\ p) tauto + assert (p ==> (True /\ False \/ True) /\ p) by tauto () diff --git a/examples/tactics/Tautology.fst.hints b/examples/tactics/Tautology.fst.hints index 7eb1714de62..efeada10ce5 100644 --- a/examples/tactics/Tautology.fst.hints +++ b/examples/tactics/Tautology.fst.hints @@ -1,5 +1,5 @@ [ - "\u001c*ô3û¶\u0013·u\u0001º\"[©½¬", + "û^c\n³.þ­âð&/\u000fÖç", [ [ "Tautology.uu___23", @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "378b33dacce5e974b16b3023410fb955" + "c5db4f89d7f09081ee70504bee943c02" ], [ "Tautology.uu___23", @@ -17,7 +17,7 @@ 1, [ "@query", "true_interp" ], 0, - "c9f8913954c07ddb57601b113e59db99" + "ec4292773c8171baad8bbf48f1741854" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Test.Math.Lemmas.fst b/examples/tactics/Test.Math.Lemmas.fst index b1243d007b0..b998c4d94b2 100644 --- a/examples/tactics/Test.Math.Lemmas.fst +++ b/examples/tactics/Test.Math.Lemmas.fst @@ -31,7 +31,7 @@ val lemma_eucl_div_bound: a:nat -> b:nat -> q:pos -> Lemma (requires (a < q)) (ensures (a + q * b < q * (b+1))) let lemma_eucl_div_bound a b q = - assert_by_tactic (a + q * b < q * (b+1)) canon + assert (a + q * b < q * (b+1)) by canon () val lemma_mult_le_left: a:pos -> b:pos -> c:pos -> Lemma (requires (b <= c)) @@ -61,13 +61,13 @@ let lemma_mult_lt_sqr (n:nat) (m:nat) (k:nat{n < k && m < k}) val distributivity_add_left: a:int -> b:int -> c:int -> Lemma ((a + b) * c = a * c + b * c) let distributivity_add_left a b c = - assert_by_tactic ((a + b) * c = a * c + b * c) (fun () -> canon (); qed ()) + assert ((a + b) * c = a * c + b * c) by (canon (); qed ()) (* Lemma: multiplication is left distributive over addition *) val distributivity_add_right: a:int -> b:int -> c:int -> Lemma ((a * (b + c) = a * b + a * c)) let distributivity_add_right a b c = - assert_by_tactic ((a * (b + c) = a * b + a * c)) (fun () -> canon (); qed ()) + assert ((a * (b + c) = a * b + a * c)) by (canon (); qed ()) (* Lemma: multiplication is left distributive over substraction *) val distributivity_sub_left: @@ -75,42 +75,42 @@ val distributivity_sub_left: Lemma (requires (True)) (ensures ( (a - b) * c = a * c - b * c )) let distributivity_sub_left a b c = - assert_by_tactic ( (a - b) * c = a * c - b * c ) (fun () -> canon (); qed ()) + assert ((a - b) * c = a * c - b * c ) by (canon (); qed ()) (* Lemma: multiplication is left distributive over substraction *) val distributivity_sub_right: a:int -> b:int -> c:int -> Lemma ((a * (b - c) = a * b - a * c)) let distributivity_sub_right a b c = - assert_by_tactic ((a * (b - c) = a * b - a * c)) (fun () -> canon (); qed ()) + assert ((a * (b - c) = a * b - a * c)) by (canon (); qed ()) (* Lemma: multiplication is commutative, hence parenthesizing is meaningless *) val paren_mul_left: a:int -> b:int -> c:int -> Lemma (a * b * c = (a * b) * c) let paren_mul_left a b c = - assert_by_tactic (a * b * c = (a * b) * c) (fun () -> canon (); qed ()) + assert (a * b * c = (a * b) * c) by (canon (); qed ()) (* Lemma: multiplication is commutative, hence parenthesizing is meaningless *) val paren_mul_right: a:int -> b:int -> c:int -> Lemma (a * b * c = a * (b * c)) let paren_mul_right a b c = - assert_by_tactic (a * b * c = a * (b * c)) (fun () -> canon (); qed ()) + assert (a * b * c = a * (b * c)) by (canon (); qed ()) (* Lemma: addition is commutative, hence parenthesizing is meaningless *) val paren_add_left: a:int -> b:int -> c:int -> Lemma (a + b + c = (a + b) + c) let paren_add_left a b c = - assert_by_tactic (a + b + c = (a + b) + c) (fun () -> canon (); qed ()) + assert (a + b + c = (a + b) + c) by (canon (); qed ()) (* Lemma: addition is commutative, hence parenthesizing is meaningless *) val paren_add_right: a:int -> b:int -> c:int -> Lemma (a + b + c = a + (b + c)) let paren_add_right a b c = - assert_by_tactic (a + b + c = a + (b + c)) (fun () -> canon (); qed ()) + assert (a + b + c = a + (b + c)) by (canon (); qed ()) val addition_is_associative: a:int -> b:int -> c:int -> Lemma (a + b + c = (a + b) + c /\ a + b + c = a + (b + c)) let addition_is_associative a b c = - assert_by_tactic (a + b + c = (a + b) + c /\ a + b + c = a + (b + c)) (fun () -> canon (); qed ()) + assert (a + b + c = (a + b) + c /\ a + b + c = a + (b + c)) by (canon (); qed ()) val subtraction_is_distributive: a:int -> b:int -> c:int -> Lemma (a - b + c = (a - b) + c /\ @@ -119,40 +119,40 @@ val subtraction_is_distributive: a:int -> b:int -> c:int -> Lemma a + (-b - c) = a - b - c /\ a - (b - c) = a - b + c) let subtraction_is_distributive a b c = - assert_by_tactic (a - b + c = (a - b) + c /\ - a - b - c = a - (b + c) /\ - a - b - c = (a - b) - c /\ - a + (-b - c) = a - b - c /\ - a - (b - c) = a - b + c) - canon //TODO: can only qed when we fold factors + assert (a - b + c = (a - b) + c /\ + a - b - c = a - (b + c) /\ + a - b - c = (a - b) - c /\ + a + (-b - c) = a - b - c /\ + a - (b - c) = a - b + c) + by canon () //TODO: can only qed when we fold factors val swap_add_plus_minus: a:int -> b:int -> c:int -> Lemma (a + b - c = (a - c) + b) let swap_add_plus_minus a b c = - assert_by_tactic (a + b - c = (a - c) + b) (fun () -> canon (); qed ()) + assert (a + b - c = (a - c) + b) by (canon (); qed ()) (* Lemma: multiplication on integers is commutative *) val swap_mul: a:int -> b:int -> Lemma (a * b = b * a) let swap_mul a b = - assert_by_tactic (a * b = b * a) (fun () -> canon (); qed ()) + assert (a * b = b * a) by (canon (); qed ()) (* Lemma: minus applies to the whole term *) val neg_mul_left: a:int -> b:int -> Lemma (-(a * b) = (-a) * b) let neg_mul_left a b = - assert_by_tactic (-(a * b) = (-a) * b) (fun () -> canon (); qed ()) + assert (-(a * b) = (-a) * b) by (canon (); qed ()) (* Lemma: minus applies to the whole term *) val neg_mul_right: a:int -> b:int -> Lemma (-(a * b) = a * (-b)) let neg_mul_right a b = - assert_by_tactic (-(a * b) = a * (-b)) (fun () -> canon (); qed ()) + assert (-(a * b) = a * (-b)) by (canon (); qed ()) val swap_neg_mul: a:int -> b:int -> Lemma ((-a) * b = a * (-b)) let swap_neg_mul a b = - assert_by_tactic ((-a) * b = a * (-b)) (fun () -> canon (); qed ()) + assert ((-a) * b = a * (-b)) by (canon (); qed ()) (* Lemma: multiplication precedence on addition *) val mul_binds_tighter: a:int -> b:int -> c:int -> Lemma (a + (b * c) = a + b * c) let mul_binds_tighter a b c = - assert_by_tactic (a + (b * c) = a + b * c) (fun () -> canon (); qed ()) + assert (a + (b * c) = a + b * c) by (canon (); qed ()) (* Lemma: multiplication keeps symetric bounds : b > 0 && d > 0 && -b < a < b && -d < c < d ==> - b * d < a * c < b * d *) @@ -228,11 +228,11 @@ let modulo_lemma a b = () val lemma_div_mod: a:nat -> p:pos -> Lemma (a = p * (a / p) + a % p) let lemma_div_mod a p = - assert_by_tactic (a = p * (a / p) + a % p) canon + assert (a = p * (a / p) + a % p) canon () val lemma_mod_lt: a:int -> p:pos -> Lemma (0 <= a % p /\ a % p < p) let lemma_mod_lt a p = - assert_by_tactic (0 <= a % p /\ a % p < p) canon + assert (0 <= a % p /\ a % p < p) canon () val lemma_div_lt: a:nat -> n:nat -> m:nat{m <= n} -> Lemma (requires (a < pow2 n)) @@ -254,7 +254,7 @@ private let lemma_mod_plus_0 (a:nat) (b:nat) (p:pos) : Lemma ((a + b * p) % p - a % p = p * (b + a / p - (a + b * p) / p)) = lemma_div_mod a p; lemma_div_mod (a + b * p) p; - assert_by_tactic ((a + b * p) % p - a % p = p * (b + a / p - (a + b * p) / p)) canon + assert ((a + b * p) % p - a % p = p * (b + a / p - (a + b * p) / p)) canon () #reset-options "--z3rlimit 5 --initial_fuel 0 --max_fuel 0" @@ -263,7 +263,7 @@ private let lemma_mod_plus_1 (a:nat) (b:nat) (p:pos) : Lemma = lemma_div_mod (a+b*p) p; lemma_mod_lt a p; lemma_mod_lt (a + b * p) p; - assert_by_tactic ((a + b * p) % p = a + b * p - p * ((a + b * p) / p)) canon + assert ((a + b * p) % p = a + b * p - p * ((a + b * p) / p)) canon () val lemma_mod_plus: a:nat -> b:nat -> p:pos -> Lemma ((a + b * p) % p = a % p) @@ -309,7 +309,7 @@ let lemma_mod_injective p a b = () val lemma_mul_sub_distr: a:int -> b:int -> c:int -> Lemma (a * b - a * c = a * (b - c)) let lemma_mul_sub_distr a b c = - assert_by_tactic (a * b - a * c = a * (b - c)) (fun () -> canon (); qed ()) + assert (a * b - a * c = a * (b - c)) by (canon (); qed ()) val lemma_div_exact: a:nat -> p:pos -> Lemma (requires (a % p = 0)) diff --git a/examples/tactics/TestBV.fst b/examples/tactics/TestBV.fst index 3f0562f8949..dd3441ab78e 100644 --- a/examples/tactics/TestBV.fst +++ b/examples/tactics/TestBV.fst @@ -29,25 +29,25 @@ module U64 = FStar.UInt64 //Some examples working on FStar.UInt.uint_t, i.e., bounded natural numbers //////////////////////////////////////////////////////////////////////////////// let test1 (x y: uint_t 64) = - assert_by_tactic (logand x y == logand y x) - bv_tac + assert (logand x y == logand y x) + by bv_tac () let test2 (x y : uint_t 64) = - assert_by_tactic (logand (logand x y) y == logand y (logand y x)) - bv_tac + assert (logand (logand x y) y == logand y (logand y x)) + by bv_tac () let test3 (x y : uint_t 64) = - assert_by_tactic (logand (logand (logand x y) x) y == logand y (logand x (logand y x))) - bv_tac + assert (logand (logand (logand x y) x) y == logand y (logand x (logand y x))) + by bv_tac () let test4 (x y : uint_t 64) = - assert_by_tactic (logand (logand x (logxor x y)) y == logand y (logand x (logxor y x))) - bv_tac + assert (logand (logand x (logxor x y)) y == logand y (logand x (logxor y x))) + by bv_tac () /// This also works when you expliclity coerce from a machine integer to a uint_t let test5 (x y: U64.t) = - assert_by_tactic (logand (U64.v x) (U64.v y) == logand (U64.v y) (U64.v x)) - bv_tac + assert (logand (U64.v x) (U64.v y) == logand (U64.v y) (U64.v x)) + by bv_tac () //////////////////////////////////////////////////////////////////////////////// //Now for some examples working directly on machine integers @@ -114,8 +114,8 @@ let bv64_tac () : Tac unit = /// First a simple one let test6 (x y: U64.t) = - assert_by_tactic (U64.logand x y == U64.logand y x) - bv64_tac + assert (U64.logand x y == U64.logand y x) + by bv64_tac () /// In this one, the tactic works by: /// -- 1. rewriting the goal to @@ -133,6 +133,6 @@ let test6 (x y: U64.t) = /// -- 4. Finally, F*'s built-in SMT encoding encode FStar.BitVector.t 64 /// to Z3's primitive bv 64. let test7 (x y z: U64.t) = - assert_by_tactic (U64.logand x (U64.logand y (U64.logand z z)) == - U64.logand (U64.logand x y) z) - bv64_tac + assert (U64.logand x (U64.logand y (U64.logand z z)) == + U64.logand (U64.logand x y) z) + by bv64_tac () diff --git a/examples/tactics/TestBV.fst.hints b/examples/tactics/TestBV.fst.hints index 384cbdfb31a..86b591b080e 100644 --- a/examples/tactics/TestBV.fst.hints +++ b/examples/tactics/TestBV.fst.hints @@ -1,5 +1,5 @@ [ - "yC¢ù±˜\u001c†cºØ’$q.\u0012", + "ŠÅíåáz\u0018\u0015\u0013šIÍt'ã/", [ [ "TestBV.test1", @@ -8,7 +8,7 @@ 1, [ "@query", "true_interp" ], 0, - "ad2ad09b66add354e3ecb8362e884904" + "8ed9d3d3da151761a5058e6a3d53ef24" ], [ "TestBV.test2", @@ -17,7 +17,7 @@ 1, [ "@query", "true_interp" ], 0, - "a3ce734ef879b25b9a038baf82fec012" + "9d7b1fae6c39ac8f78cea3d939f99914" ], [ "TestBV.test3", @@ -26,7 +26,7 @@ 1, [ "@query", "true_interp" ], 0, - "4b1f431b77296c03297d3fa3962b4baa" + "0c3fbeb9401b139cf963077fcdc2865e" ], [ "TestBV.test4", @@ -35,7 +35,7 @@ 1, [ "@query", "true_interp" ], 0, - "ffeeb8efdf75889e7671ad547fe5a449" + "29c20405546917500f43419559553a45" ], [ "TestBV.test5", @@ -44,7 +44,7 @@ 1, [ "@query", "true_interp" ], 0, - "9584c1c5b8b72597f180e2368ce02361" + "cfab21db85f957293ccd52821f056671" ], [ "TestBV.v64_eq", @@ -53,7 +53,7 @@ 1, [ "@query", "lemma_FStar.UInt64.uv_inv" ], 0, - "f73a19dea16ba4d84110a8322341447c" + "378453af4a0cb931539c77b36f723acb" ], [ "TestBV.unfold_logand64", @@ -62,12 +62,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "refinement_interpretation_Tm_refine_3eddd6f6718ab081a94d9ef5c683e848", + "refinement_interpretation_Tm_refine_fc8b02edd6d4507c20589e697568337f", "typing_FStar.UInt64.logand" ], 0, - "f75a51130fd423f0a69d3336f972062c" + "5e9215a3f9933d9a71352657d755c26e" ], [ "TestBV.unfold_logor64", @@ -76,12 +75,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "refinement_interpretation_Tm_refine_a77c3e97e98860ba2765bae2f6c2d4bb", + "refinement_interpretation_Tm_refine_310e35e7b50334cd45a94554dfa7956f", "typing_FStar.UInt64.logor" ], 0, - "51a64773d565df2dca15ef703d15ab63" + "f7e04b269f76fb4c2120332e2803cc5c" ], [ "TestBV.unfold_logxor64", @@ -90,12 +88,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "refinement_interpretation_Tm_refine_9508a06939a0f9d15496f1a6ddfc0123", + "refinement_interpretation_Tm_refine_75ef378c01efa37f4dfff3ea9efb36a5", "typing_FStar.UInt64.logxor" ], 0, - "3c65a913e3166c26c7c92ae145cc7973" + "c1d232391cfd97332e9d1c9f13704613" ], [ "TestBV.test6", @@ -104,7 +101,7 @@ 1, [ "@query", "true_interp" ], 0, - "1a10157a06c40bf5ac4bb8a8b9fef779" + "d3788514e7e564ca30635cd1cd50c144" ], [ "TestBV.test6", @@ -113,7 +110,7 @@ 1, [ "@query" ], 0, - "02021881590c96994e8228f62959f107" + "6081df281b8e95a5cb95121d2f1614ef" ], [ "TestBV.test7", @@ -122,7 +119,7 @@ 1, [ "@query", "true_interp" ], 0, - "40e57266c8357769a9530bb0e4ea80d9" + "6dc8929f581204e5ece5ebd8b8c43d5e" ], [ "TestBV.test7", @@ -131,7 +128,7 @@ 1, [ "@query" ], 0, - "b1684c39486f7fcd7c7c5080688b9b2f" + "854bc8677909d4a201ae99f9cc19113a" ], [ "TestBV.test1", @@ -140,7 +137,7 @@ 1, [ "@query" ], 0, - "8855e61c9a881023bde1f8ae4f37d1ff" + "6849a58e46df67525285b6f0cc65139b" ], [ "TestBV.test2", @@ -149,7 +146,7 @@ 1, [ "@query" ], 0, - "068f79fe7de8a572446144f6191463a8" + "ac3709487b869abfad44f015f0291725" ], [ "TestBV.test3", @@ -158,7 +155,7 @@ 1, [ "@query" ], 0, - "1ab967d3e4bc0c488dd490432491509c" + "bdb49993092b6a1c69a00b3f24048d15" ], [ "TestBV.test4", @@ -167,7 +164,7 @@ 1, [ "@query" ], 0, - "3261c8d9c8d833d972652c5c1cdd9677" + "db44451b1b9f772be39cbef6b158a64e" ], [ "TestBV.test5", @@ -176,7 +173,7 @@ 1, [ "@query" ], 0, - "033c4752981ff86facac3d6a8222c818" + "1757894d376096e8e43ba919dd07e8d3" ], [ "TestBV.test6", @@ -185,7 +182,7 @@ 1, [ "@query", "true_interp" ], 0, - "dad9a6e5d8dad9d021527a05a02b6d2c" + "e24baff50003c467ad1a6fa4c92d14a0" ], [ "TestBV.test6", @@ -194,7 +191,7 @@ 1, [ "@query" ], 0, - "4b5cf9cafe801931861cefbe060adf7a" + "b49b518279f9de3eb1a49d9871ace268" ], [ "TestBV.test7", @@ -203,7 +200,7 @@ 1, [ "@query", "true_interp" ], 0, - "5d3e5973e2f847f4a5acd8728972fd3b" + "921ba4e157efadf085143e885a97fceb" ], [ "TestBV.test7", @@ -212,7 +209,7 @@ 1, [ "@query" ], 0, - "c5ed51e87880a123e3ff78a4b977c2ab" + "14a75e71ac376c452ac526cd0f8e748e" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Trace.fst.hints b/examples/tactics/Trace.fst.hints index 9d13c357c4c..dff48d44a26 100644 --- a/examples/tactics/Trace.fst.hints +++ b/examples/tactics/Trace.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "010dd7ae9db71cc4dcd838ab08c4a807" + "9ee7684c723d4ee20c45ef0e274a6d0b" ], [ "Trace.__proj__S__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_404885b3cc4eeb5f45b884df07c7ad02" ], 0, - "282268ccc53defe6d52a8b2d9387a39d" + "4625f04e68d04399c7d0f61d41cb4b47" ], [ "Trace.tick_last", @@ -30,12 +30,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a186ce44c6e2798ac268e43592882258_0", + "binder_x_dce109b66917edb1ca83b9408101b740_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "52b7eb6f6d1f952ead3edf87d5dd3c6a" + "ed4446278693ae5d62b0bd2e5c9ba17d" ], [ "Trace.cutlast", @@ -49,7 +49,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "7ecb17928574ab8694cf6415010b3fb3" + "28e2fb35a80c368c59b222fc7cfb2ab9" ], [ "Trace.fall", @@ -63,7 +63,7 @@ "fuel_guarded_inversion_Trace.mynat", "subterm_ordering_Trace.S" ], 0, - "26a3f0be17b6ecc4e53c2e37a3de2376" + "75a8e8f7e3f95b16b0095dd0bd7e7fdd" ], [ "Trace.uu___99", @@ -82,7 +82,7 @@ "typing_tok_Trace.Z@tok" ], 0, - "b0f51b5ecfb78c953331fea7cbcf5d0c" + "ded10f4731a7c0b2546482941028e8ea" ], [ "Trace.fact_aux", @@ -91,18 +91,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "cd6a1d19c287e632a5326ebc2d960eb5" + "bee3827824c4e5b1d1df166837cfe4c1" ], [ "Trace.uu___109", @@ -117,17 +115,17 @@ "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.nat", "equation_with_fuel_Trace.fact_aux_.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_typing", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "faeb03cd243ecaef17b21ab498824ba5" + "3caa0a35a2800d6c2cf526b7cb426c0e" ], [ "Trace.uu___113", @@ -143,17 +141,17 @@ "equation_with_fuel_Trace.fact_.fuel_instrumented", "equation_with_fuel_Trace.fact_aux.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.nat", "int_inversion", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "int_inversion", "int_typing", "primitive_Prims.op_Equality", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Trace.fact_" ], 0, - "6ac5d2a78f556aa858f7232e9c58c516" + "b754dd17c8c789ee279916a903bf2dc5" ], [ "Trace.mynat", @@ -162,7 +160,7 @@ 1, [ "@query" ], 0, - "6cd6f61b88c4e22bcbf7539aac074ac7" + "6a50d0d2dbc3c394d2185e496c29d0d5" ], [ "Trace.__proj__S__item___0", @@ -175,7 +173,7 @@ "refinement_interpretation_Tm_refine_404885b3cc4eeb5f45b884df07c7ad02" ], 0, - "06ced17b6e04a3f020acfb08bde845b9" + "db4a5ced7c9b1b661b76ea8043d429de" ], [ "Trace.tick_last", @@ -184,12 +182,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a186ce44c6e2798ac268e43592882258_0", + "binder_x_dce109b66917edb1ca83b9408101b740_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "4b7b0bdd7e465f86c57dd1320e0d8cdb" + "cbf32b3705a25698e7f45b73708d8f8c" ], [ "Trace.term_is_fv", @@ -206,7 +204,7 @@ "typing_FStar.Tactics.Result.uu___is_Failed" ], 0, - "e3c054065b3b3cd4a9507f56c6937496" + "a963aab29d05c7fa5d8685b22d8025c4" ], [ "Trace.cutlast", @@ -220,7 +218,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "38d238198be7f00df69e3ed1980a6f5a" + "059f68cc463190b60807fbfc89af445e" ], [ "Trace.fall", @@ -234,7 +232,7 @@ "fuel_guarded_inversion_Trace.mynat", "subterm_ordering_Trace.S" ], 0, - "9e31fceb688fc04d8f57c10b25b35c61" + "e82a19477600f723bcd0cf931dceb61a" ], [ "Trace.uu___99", @@ -253,7 +251,7 @@ "typing_tok_Trace.Z@tok" ], 0, - "9c0dec41739e96d5e15b4752222edfd4" + "f15d7d97bc5d05617ca4ac5df002bf54" ], [ "Trace.fact_aux", @@ -262,18 +260,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "a6383e2f381366f592b4d4f8624d0b4b" + "300d6ec1a848c0cf48330d4deb9d0468" ], [ "Trace.uu___109", @@ -288,17 +284,17 @@ "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Prims.nat", "equation_with_fuel_Trace.fact_aux_.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_typing", + "function_token_typing_Prims.__cache_version_number__", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "94910335f17dcad697e4d8dcc4b1aade" + "8cf06e4e7a110e7712a2dbb7d9788e01" ], [ "Trace.uu___113", @@ -314,17 +310,17 @@ "equation_with_fuel_Trace.fact_.fuel_instrumented", "equation_with_fuel_Trace.fact_aux.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.nat", "int_inversion", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "int_inversion", "int_typing", "primitive_Prims.op_Equality", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Trace.fact_" ], 0, - "5746daa5a8bd492c9a42499ad04f92f3" + "b0a413bd04eea88290fab5b60e63dc13" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Trans.fst b/examples/tactics/Trans.fst index 34ec8c9af9e..bf8d0dbaf47 100644 --- a/examples/tactics/Trans.fst +++ b/examples/tactics/Trans.fst @@ -27,4 +27,4 @@ let trans #a #x #z #y e1 e2 = () // Even if we admit the goals, an uninstantiated variable remains [@expect_failure] -let _ = assert_by_tactic (a == b) (fun () -> (); apply_lemma (`trans); tadmit(); tadmit ()) +let _ = assert (a == b) by (apply_lemma (`trans); tadmit(); tadmit ()) diff --git a/examples/tactics/Trans.fst.hints b/examples/tactics/Trans.fst.hints index 8cf85558aa9..82abc2a3812 100644 --- a/examples/tactics/Trans.fst.hints +++ b/examples/tactics/Trans.fst.hints @@ -1,5 +1,5 @@ [ - "dК9Ø´Ù\nöF^‡rÒË‘", + "÷î)à\u007f\u001b\n¿×ÎE§©Ã¹ð", [ [ "Trans.trans", @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "91400d1debee44155d7e06d154dd8f4d" + "7a739af3f0ea08b024a6a75a22224c7b" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Tutorial.fst.hints b/examples/tactics/Tutorial.fst.hints index 96dc0193169..10250f713fc 100644 --- a/examples/tactics/Tutorial.fst.hints +++ b/examples/tactics/Tutorial.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3e3df68b78a87b38646f61a57b032af0" + "df0e30cbfcb18779126a0900c0375d64" ], [ "Tutorial.ex3'", @@ -22,10 +22,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ad11d460b9965b05fab6cf7e8a926d55" + "f2c2160010a5d0df7d2e679c9152e795" ], [ "Tutorial.ex4", @@ -35,10 +35,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1a57aad5c7a893046efe9e5497861d7e" + "f812da6df7f314b6d3a01e8596e495d5" ], [ "Tutorial.ex4", @@ -48,10 +48,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Minus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "40c8a4e13d926ff6a3446841d4a40c17" + "5d42ffd9f8cd916f1b2c4c905d1c384f" ], [ "Tutorial.ex3", @@ -61,10 +61,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1241e1b734e408acdb63774ba4af82dc" + "abf30b598fd206b6a97ccfef88ccc05f" ], [ "Tutorial.ex3'", @@ -74,10 +74,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "92869a49d271b4532fdc0c2e4a6deebc" + "e1797cced595f6c1fc2b2d32db3d0cab" ], [ "Tutorial.ex4", @@ -87,10 +87,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "88123099a8d7d01d9ce13ce4274ac064" + "16db56128d7f30e516c7fbd04cd57445" ], [ "Tutorial.ex4", @@ -100,10 +100,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Minus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "149f7bb03d8eff760f18a12e7c3db206" + "9fb1b2f5580dc1019ec492b70209d85d" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Unbound.fst b/examples/tactics/Unbound.fst index 425ffd71566..473c759a8f6 100644 --- a/examples/tactics/Unbound.fst +++ b/examples/tactics/Unbound.fst @@ -26,4 +26,4 @@ let tau () : Tac unit = squash_intro (); exact (pack (Tv_Var x)) [@(expect_failure [228])] -let _ = assert_by_tactic ((False ==> False) /\ False) tau +let _ = assert ((False ==> False) /\ False) by tau () diff --git a/examples/tactics/Unbound.fst.hints b/examples/tactics/Unbound.fst.hints index 5df28e7e8a8..d09969b217d 100644 --- a/examples/tactics/Unbound.fst.hints +++ b/examples/tactics/Unbound.fst.hints @@ -1 +1 @@ -[ "\u0015\u001a$Lh\u001bj˜Ð%\u000bJ@\u00038Æ", [] ] \ No newline at end of file +[ "ÛMüsÍu~(…þÔGQ\u0019V", [] ] \ No newline at end of file diff --git a/examples/tactics/Unfold.fst b/examples/tactics/Unfold.fst index 31e7303e993..b3f9b933863 100644 --- a/examples/tactics/Unfold.fst +++ b/examples/tactics/Unfold.fst @@ -24,7 +24,7 @@ let guard b = if not b then fail ("guard failed: " ^ term_to_string (quote b)) -let _ = assert_by_tactic True - (fun () -> guard (norm_term [delta_only [`%y]] (`y) `term_eq` (`(x + x))); - guard (norm_term [delta_fully [`%y]] (`y) `term_eq` (`(2 + 2))); - ()) +let _ = assert True + by (guard (norm_term [delta_only [`%y]] (`y) `term_eq` (`(x + x))); + guard (norm_term [delta_fully [`%y]] (`y) `term_eq` (`(2 + 2))); + ()) diff --git a/examples/tactics/Unfold.fst.hints b/examples/tactics/Unfold.fst.hints index 5ec7e649fac..b33909298c5 100644 --- a/examples/tactics/Unfold.fst.hints +++ b/examples/tactics/Unfold.fst.hints @@ -1,5 +1,5 @@ [ - "ÞÞ£®ï[l³\u001dB—e\u0013àÚ€", + "\u0007ˆ5;Eƒ1³ä~Uö'V¨\u0004", [ [ "Unfold.guard", @@ -19,7 +19,7 @@ "typing_FStar.Tactics.Result.uu___is_Success" ], 0, - "453a6ac2adb2795833f77f1ae235207e" + "494055fdd5666ba780e2f5a82e98ff7c" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Unify.fst b/examples/tactics/Unify.fst index 37121cba118..3119bbafeb7 100644 --- a/examples/tactics/Unify.fst +++ b/examples/tactics/Unify.fst @@ -37,10 +37,10 @@ let _ = assert (h == 16) (* Types do not unify, so this fails *) val x : squash False [@ (expect_failure [228])] -let x = assert_by_tactic False - (fun () -> let w = cur_witness () in - let e = cur_env () in - dismiss (); - if unify_env e w (`()) - then () - else fail "no") +let x = assert False + by (let w = cur_witness () in + let e = cur_env () in + dismiss (); + if unify_env e w (`()) + then () + else fail "no") diff --git a/examples/tactics/Unify.fst.hints b/examples/tactics/Unify.fst.hints index f2fe63f8be0..51af8f3ce66 100644 --- a/examples/tactics/Unify.fst.hints +++ b/examples/tactics/Unify.fst.hints @@ -1,5 +1,5 @@ [ - "«\f04ƒ íçÙ\fƒf¤ìÇM", + "S\u001cŨçl=´”ÕŠ\u001do°‹é", [ [ "Unify.uu___10", @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1e32d630d0b01ae521a7222cc53b20d2" + "fb8fdc5072483ced1faeacaa9ff7b53d" ], [ "Unify.uu___10", @@ -23,7 +23,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "b183e847f8dab34e664536dc1073da45" + "ccb3db035b9e890d00e16b9ff938b8eb" ] ] ] \ No newline at end of file diff --git a/examples/tactics/UnitTests.fst b/examples/tactics/UnitTests.fst index 24a94a015fe..44acaf756fd 100644 --- a/examples/tactics/UnitTests.fst +++ b/examples/tactics/UnitTests.fst @@ -17,39 +17,31 @@ module UnitTests open FStar.Tactics -let _ = assert_by_tactic True - trivial -let _ = assert_by_tactic (1 + 1 = 2) - trivial -let _ = assert_by_tactic (1 + 1 == 2) - trivial -let _ = assert_by_tactic ("a" ^ "b" = "ab") - trivial -let _ = assert_by_tactic ("a" ^ "b" == "ab") - trivial +let _ = assert True by trivial () +let _ = assert (1 + 1 = 2) by trivial () +let _ = assert (1 + 1 == 2) by trivial () +let _ = assert ("a" ^ "b" = "ab") by trivial () +let _ = assert ("a" ^ "b" == "ab") by trivial () let phi = True -let _ = assert_by_tactic phi - trivial +let _ = assert phi by trivial () let rec fib n = if n < 2 then n else fib (n-1) + fib (n-2) -let _ = assert_by_tactic (fib 5 = 5) - trivial -let _ = assert_by_tactic (fib 5 == 5) - trivial +let _ = assert (fib 5 = 5) by trivial () +let _ = assert (fib 5 == 5) by trivial () let _ = let x = 1 in - assert_by_tactic (1 == x) trefl + assert (1 == x) by trefl () -let va1 = assert_by_tactic (1 == 1) trefl -let va2 () = assert_by_tactic (1 == 1) trefl -let va3 = fun () -> assert_by_tactic (1 == 1) trefl +let va1 = assert (1 == 1) by trefl () +let va2 () = assert (1 == 1) by trefl () +let va3 = fun () -> assert (1 == 1) by trefl () type t = | A : t @@ -66,12 +58,12 @@ let f x = let g (x : t) = f (f (f (f (f (f x))))) -let _ = assert_by_tactic (g A == (f (g A))) trivial -let _ = assert_by_tactic (f B == B) trivial +let _ = assert (g A == (f (g A))) by trivial () +let _ = assert (f B == B) by trivial () -let _ = assert_by_tactic (A? A == true) trivial -let _ = assert_by_tactic (D? (D 5) == true) trivial -let _ = assert_by_tactic (D?.x (D 5) == 5) trivial +let _ = assert (A? A == true) by trivial () +let _ = assert (D? (D 5) == true) by trivial () +let _ = assert (D?.x (D 5) == 5) by trivial () assume val p1 : Type assume val p2 : Type @@ -79,72 +71,68 @@ assume val proof_1 : squash p1 assume val l : unit -> unit -> Lemma (requires p1) (ensures p2) let _ = - assert_by_tactic p2 - (fun () -> apply_lemma (quote l); exact (quote proof_1)) + assert p2 by (apply_lemma (quote l); exact (quote proof_1)) let _ = - assert_by_tactic p2 - (fun () -> apply_lemma (quote (l ())); exact (quote proof_1)) + assert p2 by (apply_lemma (quote (l ())); exact (quote proof_1)) (* This fails, since when we fully apply `l` we get a Pure *) (* let _ = *) -(* assert_by_tactic p2 *) -(* (fun () -> apply_lemma (quote (l () ())); *) -(* exact (quote proof_1)) *) +(* assert p2 by (apply_lemma (quote (l () ())); *) +(* exact (quote proof_1)) *) assume val pp1 : Type0 val l2 : x:(squash pp1) -> Lemma pp1 let l2 x = - assert_by_tactic pp1 assumption + assert pp1 by assumption () type r = {x : int} let xx : r = {x = 4} -let _ = assert_by_tactic (xx.x = 4) trivial -let _ = assert_by_tactic (xx.x == 4) trivial +let _ = assert (xx.x = 4) by trivial () +let _ = assert (xx.x == 4) by trivial () assume val dlem : squash True -> squash True -> squash True -let _ = assert_by_tactic True (fun () -> - apply (quote dlem); - let _ = divide 1 (fun () -> trivial (); qed ()) - (fun () -> trivial (); qed ()) in - qed ()) +let _ = assert True + by (apply (quote dlem); + let _ = divide 1 (fun () -> trivial (); qed ()) + (fun () -> trivial (); qed ()) in + qed ()) -let _ = assert_by_tactic True (fun () -> - apply (quote dlem); - let _ = divide 1 (fun () -> trivial (); qed ()) - (fun () -> trivial (); qed ()) in - qed ()) +let _ = assert True + by (apply (quote dlem); + let _ = divide 1 (fun () -> trivial (); qed ()) + (fun () -> trivial (); qed ()) in + qed ()) open FStar.Order -let _ = assert_by_tactic (Lt = Lt) trivial -let _ = assert_by_tactic (Gt = Gt) trivial -let _ = assert_by_tactic (Eq = Eq) trivial -let _ = assert_by_tactic (Lt <> Eq) trivial -let _ = assert_by_tactic (Gt <> Lt) trivial -let _ = assert_by_tactic (Eq <> Gt) trivial -let _ = assert_by_tactic (ge Gt) trivial -let _ = assert_by_tactic (ge Eq) trivial -let _ = assert_by_tactic (le Lt) trivial -let _ = assert_by_tactic (le Eq) trivial -let _ = assert_by_tactic (ne Lt) trivial -let _ = assert_by_tactic (ne Gt) trivial - -let _ = assert_by_tactic (exists (n:int). n == 5) - (fun () -> witness (quote 5); norm []; trefl (); qed ()) +let _ = assert (Lt = Lt) by trivial () +let _ = assert (Gt = Gt) by trivial () +let _ = assert (Eq = Eq) by trivial () +let _ = assert (Lt <> Eq) by trivial () +let _ = assert (Gt <> Lt) by trivial () +let _ = assert (Eq <> Gt) by trivial () +let _ = assert (ge Gt) by trivial () +let _ = assert (ge Eq) by trivial () +let _ = assert (le Lt) by trivial () +let _ = assert (le Eq) by trivial () +let _ = assert (ne Lt) by trivial () +let _ = assert (ne Gt) by trivial () + +let _ = assert (exists (n:int). n == 5) + by (witness (quote 5); norm []; trefl (); qed ()) // This one doesn't work, currently, as 5 gets typed as int, and not as nat // Fixing this seemss non-trivial, after some attempts... -(* let _ = assert_by_tactic (exists (n:nat). n == 5) *) -(* (fun () -> witness (quote 5); trefl (); qed ()) *) +(* let _ = assert (exists (n:nat). n == 5) *) +(* by (witness (quote 5); trefl (); qed ()) *) assume val l' : nat -> unit -> Lemma p1 let _ = - assert_by_tactic p1 - (fun () -> apply_lemma (quote (l' 5))) + assert p1 by (apply_lemma (quote (l' 5))) (* Testing pointwise over matches *) noeq @@ -153,6 +141,5 @@ type tt = | BB : tt let pwtest x = - assert_by_tactic - (match x with | CC a b -> a == a /\ (b == true \/ b == false) | BB -> true) - (fun () -> pointwise trefl) + assert (match x with | CC a b -> a == a /\ (b == true \/ b == false) | BB -> true) + by (pointwise trefl) diff --git a/examples/tactics/UnitTests.fst.hints b/examples/tactics/UnitTests.fst.hints index dfee0157f8e..46158a502ef 100644 --- a/examples/tactics/UnitTests.fst.hints +++ b/examples/tactics/UnitTests.fst.hints @@ -1,5 +1,5 @@ [ - "\u001bTQ\u0004OlcP\u0019\n¢TÆg?", + "}÷ï ~à\u0005+®\u001aÑ\u000b!ö9\u0006", [ [ "UnitTests.fib", @@ -9,14 +9,14 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "equation_FStar.UInt32.n", "function_token_typing_FStar.UInt32.n", + "binder_x_ae567c2fb75be05905677af440075565_0", + "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "4ad1fa75051af5cdceccb24c7c335098" + "c85ff5a2f5faa4dd61e88b201b7db900" ], [ "UnitTests.__proj__D__item__x", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_d5280682073b2e7543fac398f926302c" ], 0, - "e7f6dc10238d8b7545333cca33431e00" + "4cc1a8e4c3e921adf33157276c95960d" ], [ "UnitTests.f", @@ -42,10 +42,10 @@ "disc_equation_UnitTests.D", "fuel_guarded_inversion_UnitTests.t" ], 0, - "fd14ed67751e1848aa8f9969d982499c" + "b03c6a2673d5675c12712d96b8d197d7" ], [ - "UnitTests.uu___27", + "UnitTests.uu___59", 1, 2, 1, @@ -55,7 +55,7 @@ "projection_inverse_UnitTests.D_x", "true_interp" ], 0, - "0bef945fcc17da0d4d6bdd060a7cb879" + "a2cc8c69f2b0616350f06477225c5e00" ], [ "UnitTests.l2", @@ -64,61 +64,61 @@ 1, [ "@query", "true_interp" ], 0, - "a044f6c5c038cc484eaae994ee373528" + "736c8f4a5e960ec4c96eb5ba86a2dd5d" ], [ - "UnitTests.uu___59", + "UnitTests.uu___103", 1, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "5cf0a808d6730571bd8b2fa1f9b5c9ae" + "7f91dc1481dbb533ec287ae779723763" ], [ - "UnitTests.uu___60", + "UnitTests.uu___106", 1, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "dfbc14bfc215b5af68d1510413c5366b" + "7f4fbfdc302f4dd012bbe546f5f278c8" ], [ - "UnitTests.uu___61", + "UnitTests.uu___109", 1, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "b80e1dc7ee2a872eafe464eac61c1779" + "4e8f8bba2a6473ea30ff3621a3ebf5f7" ], [ - "UnitTests.uu___62", + "UnitTests.uu___112", 1, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "9ffdd2387d56b7ef508642d011f1f8ca" + "70c939d289929dbf370fb5ce894c5f62" ], [ - "UnitTests.uu___63", + "UnitTests.uu___115", 1, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "80ccf56fe7ee80b4ca4856af115bf7a3" + "30c576a8a0974be9ac9029c4345ef0d0" ], [ - "UnitTests.uu___64", + "UnitTests.uu___118", 1, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "beec5186328e6c2b428520492ca822ce" + "b9aaff3d25b090faa33ef733615d53da" ], [ "UnitTests.__proj__CC__item___0", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_b63a4ecc91a51097c12fb8d5351dadb2" ], 0, - "5c6608b145310a59d4bd62f95a5d5cee" + "7c04619faaae28eab28780a350152f56" ], [ "UnitTests.__proj__CC__item___1", @@ -144,7 +144,7 @@ "refinement_interpretation_Tm_refine_b63a4ecc91a51097c12fb8d5351dadb2" ], 0, - "67858d5a4046e554ac32edf2bf59bfa8" + "3b85610506b639f92e87e0b1d20c2ffa" ], [ "UnitTests.pwtest", @@ -157,7 +157,7 @@ "true_interp" ], 0, - "4d54ea2a301c5795954e72d3c21b55be" + "812b7de1f2443e1d2151751f4fdce085" ], [ "UnitTests.pwtest", @@ -169,7 +169,7 @@ "data_elim_UnitTests.CC", "fuel_guarded_inversion_UnitTests.tt" ], 0, - "438aa0647927484faeda40bbc4c87c25" + "9eea04b42ebb7189b9e5ebd3bc4accc8" ], [ "UnitTests.fib", @@ -179,14 +179,14 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "equation_FStar.UInt32.n", "function_token_typing_FStar.UInt32.n", + "binder_x_ae567c2fb75be05905677af440075565_0", + "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" ], 0, - "9ab0c2f4067e59cc3e65525135f1732f" + "cc439ded0959e8b35e5f9b572996c181" ], [ "UnitTests.__proj__D__item__x", @@ -199,7 +199,7 @@ "refinement_interpretation_Tm_refine_d5280682073b2e7543fac398f926302c" ], 0, - "bd0574bec8329d6e64c12d354cca1b8c" + "9b194b22aa269a95b9a8d302e03f3932" ], [ "UnitTests.f", @@ -212,10 +212,10 @@ "disc_equation_UnitTests.D", "fuel_guarded_inversion_UnitTests.t" ], 0, - "3a0b8089471b03627184363d9eddd9f0" + "2b9ed5024c8225f62fa6d99255a632ee" ], [ - "UnitTests.uu___27", + "UnitTests.uu___59", 2, 2, 1, @@ -225,61 +225,61 @@ "projection_inverse_UnitTests.D_x", "true_interp" ], 0, - "ba0a3d93c4ba6e68b07b0cd55c2f8618" + "ef51b681f831ed33d5315924654a2576" ], [ - "UnitTests.uu___59", + "UnitTests.uu___103", 2, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "be2cfff6b44d410eac84a3b2f7525b39" + "f7bd0b749a31f3db1d7878d5c6cfa27b" ], [ - "UnitTests.uu___60", + "UnitTests.uu___106", 2, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "6956bb7f852fb9676cb4b944b699d90c" + "85d600dbee8c990b4e19a7adce8dabf1" ], [ - "UnitTests.uu___61", + "UnitTests.uu___109", 2, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "cf2b752094db4570233b2ccc824662ca" + "f9e1727709c309268bae79ee633cf910" ], [ - "UnitTests.uu___62", + "UnitTests.uu___112", 2, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "cc7dfa71c601b5786341c6f2706f1b26" + "58a330e679c62238d81e332fe5a4db61" ], [ - "UnitTests.uu___63", + "UnitTests.uu___115", 2, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "7067f7c71e7955e52e080e88547488b5" + "f204b4c14270367ab4c93297169c799f" ], [ - "UnitTests.uu___64", + "UnitTests.uu___118", 2, 2, 1, [ "@query", "assumption_FStar.Order.order__uu___haseq", "true_interp" ], 0, - "19aa1c26413bfe547f864b1ede8ef2a2" + "a587558a22b22e5de66dcdc74525e2a8" ], [ "UnitTests.__proj__CC__item___0", @@ -292,7 +292,7 @@ "refinement_interpretation_Tm_refine_b63a4ecc91a51097c12fb8d5351dadb2" ], 0, - "152139651e6f51a8bbdcd6e80e5f4bf2" + "9814bda6afb836ab5d476dbc6b98e122" ], [ "UnitTests.__proj__CC__item___1", @@ -305,7 +305,7 @@ "refinement_interpretation_Tm_refine_b63a4ecc91a51097c12fb8d5351dadb2" ], 0, - "7c4c33efdb2af4693a2f454b2bc0f2d2" + "104726514d258b5b06647a7d1a3db259" ], [ "UnitTests.pwtest", @@ -318,7 +318,7 @@ "true_interp" ], 0, - "9b69c15d27eb977ce83c454779554344" + "5ae90f8e723a7feff9d21d76bb664649" ], [ "UnitTests.pwtest", @@ -330,7 +330,7 @@ "data_elim_UnitTests.CC", "fuel_guarded_inversion_UnitTests.tt" ], 0, - "a1a6141563e7c492ced5d8fbc4f71738" + "195c8464fd416df73386f5467e22bb93" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Unresolved.fst b/examples/tactics/Unresolved.fst index 95f2489bf24..a3a2a93a45e 100644 --- a/examples/tactics/Unresolved.fst +++ b/examples/tactics/Unresolved.fst @@ -22,4 +22,4 @@ let tau () : Tac unit = exact w [@(expect_failure [217])] -let _ = assert_by_tactic False tau +let _ = assert False by tau () diff --git a/examples/tactics/Unresolved.fst.hints b/examples/tactics/Unresolved.fst.hints index ad3921c0d1d..3c823be202f 100644 --- a/examples/tactics/Unresolved.fst.hints +++ b/examples/tactics/Unresolved.fst.hints @@ -1 +1 @@ -[ "\u0005\u0014Ašg\u0016Ÿ? \u0003©¸‹+fö", [] ] \ No newline at end of file +[ "\\€¬€Á\u0015\u0011~r\r…i‚`hr", [] ] \ No newline at end of file diff --git a/examples/tactics/UserTactics.fst b/examples/tactics/UserTactics.fst index 4e77bdf3a80..747cbe2a30f 100644 --- a/examples/tactics/UserTactics.fst +++ b/examples/tactics/UserTactics.fst @@ -17,64 +17,66 @@ module UserTactics open FStar.Tactics let test_print_goal = - assert_by_tactic (forall (y:int). y==0 ==> 0==y) - (fun () -> debug "User debug:") //Some auto-thunking or at least some light notation for it + assert (forall (y:int). y==0 ==> 0==y) + by (debug "User debug:") //Some auto-thunking or at least some light notation for it let test_or_else = - assert_by_tactic True (fun () -> or_else (fun () -> fail "failed") idtac) + assert True + by (or_else (fun () -> fail "failed") idtac) type t = | A | B | C | D let f x = match x with | A -> 0 | B -> 1 | C -> 2 | D -> 3 let test_trivial = - assert_by_tactic ((f A == 0) /\ (f B == 1) /\ (f C == 2) /\ (f D == 3)) trivial + assert ((f A == 0) /\ (f B == 1) /\ (f C == 2) /\ (f D == 3)) + by trivial () (* let simple_equality_assertions = *) - (* assert_by_tactic (forall (y:int). y==0 ==> 0==y) *) - (* rewrite_all_equalities ; *) - (* assert_by_tactic (forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y)) *) - (* rewrite_all_equalities ; *) - (* assert_by_tactic (forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y) /\ (forall (z:int). z==0 ==> x==z)) *) - (* rewrite_all_equalities *) + (* assert (forall (y:int). y==0 ==> 0==y) *) + (* by rewrite_all_equalities (); *) + (* assert(forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y)) *) + (* by rewrite_all_equalities (); *) + (* assert(forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y) /\ (forall (z:int). z==0 ==> x==z)) *) + (* by rewrite_all_equalities () *) let visible_boolean (x:int) = true let explicitly_trigger_normalizer = - assert_by_tactic (visible_boolean 0 /\ visible_boolean 1) - (fun () -> seq split trivial) //without the "trivial", the visible_boolean will go to Z3 + assert (visible_boolean 0 /\ visible_boolean 1) + by (seq split trivial) //without the "trivial", the visible_boolean will go to Z3 unfold let unfoldable_predicate (x:int) = True let implicitly_unfolfed_before_preprocessing = - assert_by_tactic (unfoldable_predicate 0 /\ visible_boolean 2) - smt //only "b2t (visible_boolean 2)" goes to SMT + assert (unfoldable_predicate 0 /\ visible_boolean 2) + by smt () //only "b2t (visible_boolean 2)" goes to SMT let visible_predicate (x:int) = True (* let simple_equality_assertions_within_a_function () = *) -(* assert_by_tactic (forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y) /\ (forall (z:int). z==0 ==> x==z)) *) -(* rewrite_all_equalities; //identical to one of the queries above, but now inside a function, which produces a slightly different VC *) -(* assert_by_tactic (forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y) /\ (forall (z:int). z==0 ==> x==z) /\ visible_boolean x) *) -(* rewrite_all_equalities; //we're left with (b2t (visible_boolean 0)), since we didn't ask for it to be normalized *) -(* assert_by_tactic (forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y) /\ (forall (z:int). z==0 ==> x==z) /\ visible_predicate x) //we're left with True, since it is explicit unfolded away *) -(* (visit (unfold_definition_and_simplify_eq (quote visible_predicate))) *) +(* assert (forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y) /\ (forall (z:int). z==0 ==> x==z)) *) +(* by rewrite_all_equalities (); //identical to one of the queries above, but now inside a function, which produces a slightly different VC *) +(* assert (forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y) /\ (forall (z:int). z==0 ==> x==z) /\ visible_boolean x) *) +(* by rewrite_all_equalities (); //we're left with (b2t (visible_boolean 0)), since we didn't ask for it to be normalized *) +(* assert (forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y) /\ (forall (z:int). z==0 ==> x==z) /\ visible_predicate x) //we're left with True, since it is explicit unfolded away *) +(* by (visit (unfold_definition_and_simplify_eq (quote visible_predicate)) ()) *) let local_let_bindings = - assert_by_tactic (let x = 10 in x + 0 == 10) trivial + assert (let x = 10 in x + 0 == 10) by trivial () assume type pred_1 : int -> Type0 assume Pred1_saturated: forall x. pred_1 x (* let partially_solved_using_smt = *) -(* assert_by_tactic ((forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y)) /\ //proven by tactic *) -(* pred_1 0 /\ //by 1 smt sub-goal *) -(* pred_1 1) //by another smt sub-goal *) -(* rewrite_all_equalities *) +(* assert ((forall (x:int). x==0 ==> (forall (y:int). y==0 ==> x==y)) /\ //proven by tactic *) +(* pred_1 0 /\ //by 1 smt sub-goal *) +(* pred_1 1) //by another smt sub-goal *) +(* by rewrite_all_equalities () *) assume val return_ten : unit -> Pure int (requires True) (ensures (fun x -> x == 10)) -// let scanning_environment = -// let x = return_ten () in -// assert_by_tactic (x + 0 == 10) -// (rewrite_equality (quote x);; -// rewrite_eqs_from_context;; -// trivial) +(* let scanning_environment = *) +(* let x = return_ten () in *) +(* assert (x + 0 == 10) *) +(* by (rewrite_equality (quote x);; *) +(* rewrite_eqs_from_context;; *) +(* trivial) *) assume val mul_comm : x:nat -> y:nat -> Tot (op_Multiply x y == op_Multiply y x) val lemma_mul_comm : x:nat -> y:nat -> Lemma (op_Multiply x y == op_Multiply y x) @@ -83,12 +85,12 @@ let lemma_mul_comm x y = () let sqintro (x:'a) : squash 'a = () let test_exact (x:nat) (y:nat) = - assert_by_tactic (op_Multiply x y == op_Multiply y x) - (fun () -> exact (quote (sqintro (mul_comm x y)))) + assert (op_Multiply x y == op_Multiply y x) + by (exact (quote (sqintro (mul_comm x y)))) let test_apply (x:nat) (y:nat) = - assert_by_tactic (op_Multiply x y == op_Multiply y x) - (fun () -> apply_lemma (quote lemma_mul_comm)) + assert (op_Multiply x y == op_Multiply y x) + by (apply_lemma (quote lemma_mul_comm)) let mul_commute_ascription () : Tac unit = let g = cur_goal () in @@ -99,7 +101,7 @@ let mul_commute_ascription () : Tac unit = fail "Not an equality" let test_apply_ascription' (x:nat) (y:nat) = - assert_by_tactic (op_Multiply x y == op_Multiply y x) (fun () -> visit idtac) + assert (op_Multiply x y == op_Multiply y x) by (visit idtac) let test_apply_ascription (x:nat) (y:nat) = (assert (op_Multiply x y == op_Multiply y x)) @@ -113,31 +115,28 @@ let test_apply_ascription (x:nat) (y:nat) = (* by (apply_lemma (quote lemma_mul_comm)) *) let test_inspect = - assert_by_tactic True - (fun () -> - let x = `8 in - match inspect x with - | Tv_App hd a -> debug "application" - | Tv_Abs bv t -> debug "abstraction" - | Tv_Arrow bv t -> debug "arrow" - | Tv_Type _ -> debug "type" - | Tv_Var _ -> debug "var" - | Tv_FVar _ -> debug "fvar" - | Tv_Refine _ _ -> debug "refinement" - | Tv_Const C_Unit -> debug "unit" - | Tv_Const (C_Int i) -> debug ("int: " ^ string_of_int i) - | _ -> fail "unknown" - ) + assert True + by (let x = `8 in + match inspect x with + | Tv_App hd a -> debug "application" + | Tv_Abs bv t -> debug "abstraction" + | Tv_Arrow bv t -> debug "arrow" + | Tv_Type _ -> debug "type" + | Tv_Var _ -> debug "var" + | Tv_FVar _ -> debug "fvar" + | Tv_Refine _ _ -> debug "refinement" + | Tv_Const C_Unit -> debug "unit" + | Tv_Const (C_Int i) -> debug ("int: " ^ string_of_int i) + | _ -> fail "unknown") let test_simpl = - assert_by_tactic (True /\ 1 == 1) - (fun () -> - let g = cur_goal () in - (match term_as_formula g with - | And _ _ -> () - | _ -> dump "not a conjunction?"); - simpl (); - let g = cur_goal () in - (match term_as_formula g with - | True_ -> () - | _ -> dump ("not true after simpl? " ^ term_to_string g))) + assert (True /\ 1 == 1) + by (let g = cur_goal () in + (match term_as_formula g with + | And _ _ -> () + | _ -> dump "not a conjunction?"); + simpl (); + let g = cur_goal () in + (match term_as_formula g with + | True_ -> () + | _ -> dump ("not true after simpl? " ^ term_to_string g))) diff --git a/examples/tactics/UserTactics.fst.hints b/examples/tactics/UserTactics.fst.hints index fdc120c7594..33bbc2e4252 100644 --- a/examples/tactics/UserTactics.fst.hints +++ b/examples/tactics/UserTactics.fst.hints @@ -1,5 +1,5 @@ [ - ",ÅN~¾»íÂ9\t‡DLçÂo", + ":˜\u0000æ”KÍÙk\\KŽÊ´+", [ [ "UserTactics.test_print_goal", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "9111720a5f28a50e4864dc00ca031a0a" + "015e904b6e97d60e9329ba3adb8e87d7" ], [ "UserTactics.f", @@ -21,7 +21,7 @@ "disc_equation_UserTactics.D", "fuel_guarded_inversion_UserTactics.t" ], 0, - "40fe2cf388bef0408b8cf10c5cdca9ba" + "cc6c094b72b0a356fa7525ffc6506ae3" ], [ "UserTactics.implicitly_unfolfed_before_preprocessing", @@ -33,7 +33,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e67b56054c6ec7d7b86f92389b322789" + "965e8dbd6b78d8d38a504b6976cd53b4" ], [ "UserTactics.lemma_mul_comm", @@ -42,7 +42,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "b221111ff2a246b543d103d128632a28" + "ae8cb49bfd7e3363bbe231f53a1f49f3" ], [ "UserTactics.sqintro", @@ -51,7 +51,7 @@ 1, [ "@query" ], 0, - "1d6af3d2b5f9a1b7c41670c19175010d" + "4f7e79c5438c0072fb0b089630a52eb6" ], [ "UserTactics.test_apply", @@ -60,10 +60,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8d9d0e57d57554c4fb8bd41fc7260b88" + "138e75ca3b84587c445c428bc5a29742" ], [ "UserTactics.test_apply", @@ -72,10 +72,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f036e23f90fd51fc0b92c20ceff8b4a1" + "16df6e26e0d5b059bcfc601e64d51578" ], [ "UserTactics.test_apply_ascription'", @@ -84,7 +84,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "c69e7c2c202bdae3586eb82b8a90d5c5" + "92ba09fdd2bc130fda8e1f810e65214d" ], [ "UserTactics.test_apply_ascription", @@ -93,7 +93,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "8f4089560d476a4ded158a5ca498b0a2" + "9abe0a58e48cd74f67cd19698414a1b3" ], [ "UserTactics.test_print_goal", @@ -102,7 +102,7 @@ 1, [ "@query" ], 0, - "ef7d21bda4d443c255864c636a23bd65" + "f951d725415c1c02c650cb03c77a27da" ], [ "UserTactics.f", @@ -115,7 +115,7 @@ "disc_equation_UserTactics.D", "fuel_guarded_inversion_UserTactics.t" ], 0, - "7f1b897061de42332e0da409c731dfe8" + "0e2edb75d58932b993fd876cc563a84a" ], [ "UserTactics.implicitly_unfolfed_before_preprocessing", @@ -127,7 +127,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "66ec4d244ddee27cae90560188d0d7fc" + "405a2de6994dd27fd47e00c9fed82705" ], [ "UserTactics.sqintro", @@ -136,7 +136,7 @@ 1, [ "@query" ], 0, - "e46fbe0e80ab6e09e49d4525f1298dce" + "97575809d94826a0898a825d02ca79ed" ], [ "UserTactics.test_apply", @@ -145,10 +145,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "95f8f954c2ee4c5cf6f62c040db7e81f" + "d630a0c457f25b2409a73413e3de91ee" ], [ "UserTactics.test_apply", @@ -157,10 +157,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b440cf6ba8b900a48385233d6ccd0eab" + "aa3c7a558e6caaa3909728c6f0931df9" ], [ "UserTactics.test_apply_ascription'", @@ -169,7 +169,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "743b5bbe67024879268faf7d3562c59e" + "05a759054e4999b7f340760a375f120e" ], [ "UserTactics.test_apply_ascription", @@ -178,7 +178,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "88b6e6fcc9d42371a37de75d4467c44c" + "ecf2be7e1a85a7183bbf8ddc7116618a" ] ] ] \ No newline at end of file diff --git a/examples/tactics/WeakVsHNF.fst b/examples/tactics/WeakVsHNF.fst index b575709e18f..56aade7907c 100644 --- a/examples/tactics/WeakVsHNF.fst +++ b/examples/tactics/WeakVsHNF.fst @@ -25,9 +25,8 @@ let guard b = then () else fail ("guard failed: " ^ term_to_string (quote b)) -let _ = assert_by_tactic True - (fun () -> - let t0 = `(1 + 1) in +let _ = assert True + by (let t0 = `(1 + 1) in debug ""; debug ("Term : " ^ term_to_string t0); @@ -48,9 +47,8 @@ let _ = assert_by_tactic True guard (term_eq t (`2)) ) -let _ = assert_by_tactic True - (fun () -> - let t0 = `(fun () -> 1 + 1) in +let _ = assert True + by (let t0 = `(fun () -> 1 + 1) in debug ""; debug ("Term : " ^ term_to_string t0); @@ -73,9 +71,8 @@ let _ = assert_by_tactic True type wint = | W of int -let _ = assert_by_tactic True - (fun () -> - let t0 = `(W (1 + 1)) in +let _ = assert True + by (let t0 = `(W (1 + 1)) in debug ""; debug ("Term : " ^ term_to_string t0); @@ -96,9 +93,8 @@ let _ = assert_by_tactic True guard (term_eq t (`(W (1 + 1)))) ) -let _ = assert_by_tactic True - (fun () -> - let t0 = `(fun () -> W (1 + 1)) in +let _ = assert True + by (let t0 = `(fun () -> W (1 + 1)) in debug ""; debug ("Term : " ^ term_to_string t0); diff --git a/examples/tactics/WeakVsHNF.fst.hints b/examples/tactics/WeakVsHNF.fst.hints index fc3a96be2c0..2b4c005c01f 100644 --- a/examples/tactics/WeakVsHNF.fst.hints +++ b/examples/tactics/WeakVsHNF.fst.hints @@ -1,5 +1,5 @@ [ - "\tºpwh7+µžÍÄ\u0003ÁÓYé", + "\u0010Ó¤Ûdô¶xO@ÇÞ\u007f‡\u0011›", [ [ "WeakVsHNF.guard", @@ -19,7 +19,7 @@ "typing_FStar.Tactics.Result.uu___is_Success" ], 0, - "b65485b921af2507a329aa36059157fe" + "8f1c6b748a80960857cb4f0e40291fac" ] ] ] \ No newline at end of file diff --git a/examples/tactics/Wild.fst.hints b/examples/tactics/Wild.fst.hints index 29160d9d6a0..22a37405c3b 100644 --- a/examples/tactics/Wild.fst.hints +++ b/examples/tactics/Wild.fst.hints @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d066bca3836fab427560fd683f69955a" + "refinement_interpretation_Tm_refine_85095d9057e879f201a95ea3a2249737" ], 0, - "13ea31b57d6efebb3227936974d03c59" + "589c28c3a0a28765ada358168987e4b8" ], [ "Wild.exists_weaken", @@ -20,10 +20,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d066bca3836fab427560fd683f69955a" + "refinement_interpretation_Tm_refine_85095d9057e879f201a95ea3a2249737" ], 0, - "1659864b9bbd7bda7b29046b353f64e3" + "93ecea283a2368ea96d33b462471a1cb" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.Double.fst.hints b/examples/termination/CPS.Double.fst.hints index 33c35d24119..2090532230b 100644 --- a/examples/termination/CPS.Double.fst.hints +++ b/examples/termination/CPS.Double.fst.hints @@ -14,7 +14,7 @@ "subterm_ordering_CPS.Expr.Plus" ], 0, - "5f4e560914480d8be7081798b9092ad4" + "de09032ed9510cd3795e941903d61150" ], [ "CPS.Double.eval_cps", @@ -29,7 +29,7 @@ "subterm_ordering_CPS.Expr.Plus" ], 0, - "4780ec20d50fc97a89f70bdea969339a" + "5a2c6bbfa7da84238fe1072b1ba1e97a" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.DoubleDefun.fst.hints b/examples/termination/CPS.DoubleDefun.fst.hints index dc29459ef39..a6bb4135e1f 100644 --- a/examples/termination/CPS.DoubleDefun.fst.hints +++ b/examples/termination/CPS.DoubleDefun.fst.hints @@ -11,7 +11,7 @@ "assumption_Prims.HasEq_int" ], 0, - "d721aa0e1f0d779a5b4b0a89589cfc49" + "0a094cdc67ccb5a0dded6f0087719ead" ], [ "CPS.DoubleDefun.__proj__C1__item___0", @@ -24,7 +24,7 @@ "refinement_interpretation_Tm_refine_b1d4de3cb1cee3ac5aafed034e069035" ], 0, - "de5fa70c1a7fed9a8b476b23fe244f51" + "10db0f8b98faff25965cdcbb6fa1b7ea" ], [ "CPS.DoubleDefun.__proj__C1__item___1", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_b1d4de3cb1cee3ac5aafed034e069035" ], 0, - "1a0232de299d7e94a86614d914fccad5" + "2feb2a4a42655f1bb74411e267a811aa" ], [ "CPS.DoubleDefun.__proj__C2__item___0", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_470d7912c558796d2a0ae83a2d7f54a2" ], 0, - "e81988fb8d2efcae89820cd291af6306" + "5cebc51919ab5da7dffb950207554f67" ], [ "CPS.DoubleDefun.__proj__C2__item___1", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_470d7912c558796d2a0ae83a2d7f54a2" ], 0, - "4d35124371bdf1336f609d3d89f8cb6d" + "1b8b5c163b841da760ca7cd37910e7e7" ], [ "CPS.DoubleDefun.stack", @@ -81,7 +81,7 @@ "subterm_ordering_CPS.DoubleDefun.C2" ], 0, - "44053c40f280a62926272219eaec87c2" + "0ac49cf1f356b2858a5a3930743b0c68" ], [ "CPS.DoubleDefun.apply", @@ -96,7 +96,7 @@ "CPS.DoubleDefun_pretyping_fc08148c0a56a96633a93ae5c4e7943e", "assumption_CPS.DoubleDefun.Rstack0", "binder_x_0c607185f6c6768f1786fe5f14f15ea1_0", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", + "binder_x_ae567c2fb75be05905677af440075565_2", "binder_x_fc08148c0a56a96633a93ae5c4e7943e_1", "constructor_distinct_CPS.DoubleDefun.C1", "constructor_distinct_CPS.DoubleDefun.C2", @@ -115,7 +115,7 @@ "typing_CPS.DoubleDefun.stack", "typing_tok_CPS.DoubleDefun.C0@tok" ], 0, - "bb6f68a2fcffe94dac84a48119ba3ed4" + "a1f4bd91004a7a0972105d984f68bf58" ], [ "CPS.DoubleDefun.apply", @@ -146,7 +146,7 @@ "typing_tok_CPS.DoubleDefun.C0@tok", "well-founded-ordering-on-nat" ], 0, - "af74ff9839305b84165e851aae838235" + "f0793b34fc814d032285ef786271521f" ], [ "CPS.DoubleDefun.cont", @@ -158,7 +158,7 @@ "assumption_Prims.HasEq_int" ], 0, - "21d07ab84558a8ae3c14af323dd56b7e" + "c11a09f30a54802a8ed37c0450b9fa2e" ], [ "CPS.DoubleDefun.__proj__C1__item___0", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_b1d4de3cb1cee3ac5aafed034e069035" ], 0, - "30de4fcf94c63da43f160e6eddf68173" + "0e5b9a3e3f48e0cd191f6d40bbe8d698" ], [ "CPS.DoubleDefun.__proj__C1__item___1", @@ -184,7 +184,7 @@ "refinement_interpretation_Tm_refine_b1d4de3cb1cee3ac5aafed034e069035" ], 0, - "9a3e6ef416e7656c95b5dee6fc1397a7" + "4f5064307334e308ecc2e777e057284c" ], [ "CPS.DoubleDefun.__proj__C2__item___0", @@ -197,7 +197,7 @@ "refinement_interpretation_Tm_refine_470d7912c558796d2a0ae83a2d7f54a2" ], 0, - "36cff380da4ba4f0e93f9bfcb1fc8758" + "2c086ec3d5bc8fa88890603b1a4e2284" ], [ "CPS.DoubleDefun.__proj__C2__item___1", @@ -210,7 +210,7 @@ "refinement_interpretation_Tm_refine_470d7912c558796d2a0ae83a2d7f54a2" ], 0, - "b763710360709d2a25f09606cc02abfe" + "6a8d60441be9dcfbc1f0c7ef45fd3e5a" ], [ "CPS.DoubleDefun.stack", @@ -228,7 +228,7 @@ "subterm_ordering_CPS.DoubleDefun.C2" ], 0, - "673d3e1887e559e7cbf0ad8e43696b56" + "3d087e2c79b1046a2a17862f1a0b0dc5" ], [ "CPS.DoubleDefun.apply", @@ -243,7 +243,7 @@ "CPS.DoubleDefun_pretyping_fc08148c0a56a96633a93ae5c4e7943e", "assumption_CPS.DoubleDefun.Rstack0", "binder_x_0c607185f6c6768f1786fe5f14f15ea1_0", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_2", + "binder_x_ae567c2fb75be05905677af440075565_2", "binder_x_fc08148c0a56a96633a93ae5c4e7943e_1", "constructor_distinct_CPS.DoubleDefun.C1", "constructor_distinct_CPS.DoubleDefun.C2", @@ -262,7 +262,7 @@ "typing_CPS.DoubleDefun.stack", "typing_tok_CPS.DoubleDefun.C0@tok" ], 0, - "3d1d5b86bac180aec36614e79bab8cb8" + "9840470ba40cd0bf470f21914a919d0f" ], [ "CPS.DoubleDefun.apply", @@ -293,7 +293,7 @@ "typing_tok_CPS.DoubleDefun.C0@tok", "well-founded-ordering-on-nat" ], 0, - "ae039576597b02cd9b3e32922f10ac8a" + "e631a8cd2c802677a798d378f3f15806" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.DoubleLambdaLifting2.fst.hints b/examples/termination/CPS.DoubleLambdaLifting2.fst.hints index 16c4f265aac..5bf1a4c6458 100644 --- a/examples/termination/CPS.DoubleLambdaLifting2.fst.hints +++ b/examples/termination/CPS.DoubleLambdaLifting2.fst.hints @@ -14,7 +14,7 @@ "subterm_ordering_CPS.Expr.Plus" ], 0, - "1099b3249f2c856e77647c0ea4643ea5" + "d46738e8f13a6f2f24592c5fe4fba0f7" ], [ "CPS.DoubleLambdaLifting2.eval_cps", @@ -29,7 +29,7 @@ "subterm_ordering_CPS.Expr.Plus" ], 0, - "4bffdcd5e303a993831a286b6eddff68" + "0f471279770b0d2e421aa1234669e226" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.Expr.fst.hints b/examples/termination/CPS.Expr.fst.hints index 5a0a755f151..e98b5155628 100644 --- a/examples/termination/CPS.Expr.fst.hints +++ b/examples/termination/CPS.Expr.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "8dc6bfa00ff98ff62fa7f846111fa028" + "6ea6454839e4ce75c2d8231d28687f3b" ], [ "CPS.Expr.__proj__Const__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_61068dfb8b28ba423ea3dca285d5c282" ], 0, - "6bcd27f474bbd22ce955d625358edd83" + "77776ac52ac11f1b681f4420dadd6fbe" ], [ "CPS.Expr.__proj__Plus__item___0", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_1ca93587daff7a0ff146b7192bd79c66" ], 0, - "ec5bb8d1f9ecbb9804930179e62962f2" + "8fbe31c1f555c58924ebf0443f1db1a3" ], [ "CPS.Expr.__proj__Plus__item___1", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_1ca93587daff7a0ff146b7192bd79c66" ], 0, - "150f5008d692ef4f2a31882e36aea37b" + "3afcb22299771ca494cfa47a2da90507" ], [ "CPS.Expr.expr", @@ -56,7 +56,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "2fddb617d6ca4c04f687a9a63832448c" + "39189ecee98af3afd5166ad3d60c2ed6" ], [ "CPS.Expr.__proj__Const__item___0", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_61068dfb8b28ba423ea3dca285d5c282" ], 0, - "1fa52783611189d8c5141c1e99c6499f" + "b6ad4d7efdd99e8839768c0cdd477aed" ], [ "CPS.Expr.__proj__Plus__item___0", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_1ca93587daff7a0ff146b7192bd79c66" ], 0, - "f3b33066a6adedefa280c6976228d00d" + "cc91e5a5760e8c21010d93ab471daeaa" ], [ "CPS.Expr.__proj__Plus__item___1", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_1ca93587daff7a0ff146b7192bd79c66" ], 0, - "2fcb3669953af8432f528d2e9bdee6c7" + "af16f34d92bae5a47a5e2e749e926225" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.Simple.fst.hints b/examples/termination/CPS.Simple.fst.hints index d1cbf6a072d..f2572b568b3 100644 --- a/examples/termination/CPS.Simple.fst.hints +++ b/examples/termination/CPS.Simple.fst.hints @@ -8,12 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_2", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_66b03f5c7897b05649fed8196554c587_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", + "subterm_ordering_Prims.Cons" ], 0, - "a107e5f2af03ebb8fe16c28ca24ac429" + "5e2a465b78e8863dd0b8c6b84bf87dfc" ], [ "CPS.Simple.add_cps", @@ -22,12 +25,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_2", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_66b03f5c7897b05649fed8196554c587_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", + "subterm_ordering_Prims.Cons" ], 0, - "d31f0f5179dfe7d4fb2eb08a762bed5b" + "3535086a6739e8ddc9e8d7d42e98542c" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.SimpleDefun.fst.hints b/examples/termination/CPS.SimpleDefun.fst.hints index 83d18cf90b4..1c4ed7ab239 100644 --- a/examples/termination/CPS.SimpleDefun.fst.hints +++ b/examples/termination/CPS.SimpleDefun.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "1c2372743f26dccfe87979d9310f8f9d" + "cd2221a5f4732b3040a8c34f11421352" ], [ "CPS.SimpleDefun.__proj__C1__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_ec3b073f187e62e07276baa8a49db0b9" ], 0, - "d77fa2674e102c19465d089a011b1b17" + "1f60a976cbe571fb23022b05a482888e" ], [ "CPS.SimpleDefun.__proj__C1__item___1", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_ec3b073f187e62e07276baa8a49db0b9" ], 0, - "83b2086046a213119e8a88b813164c0a" + "3cb7924d8037c673d59ca99c0276c22c" ], [ "CPS.SimpleDefun.apply", @@ -50,7 +50,7 @@ "subterm_ordering_CPS.SimpleDefun.C1" ], 0, - "e0117232f6e447036ff2b511e53a1915" + "55378e4b0423db8fdd82040cad75c599" ], [ "CPS.SimpleDefun.add_cps", @@ -59,12 +59,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", + "subterm_ordering_Prims.Cons" ], 0, - "9719c2de5fc7ce49407b80d2a1ef78bf" + "96dfa03a604f97c31b56c303f895b22b" ], [ "CPS.SimpleDefun.cont", @@ -73,7 +76,7 @@ 1, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "60beb7e6d394562181205e7732b2dc1f" + "aa9427cc8e88e6026dadc5c69a7dd4c6" ], [ "CPS.SimpleDefun.__proj__C1__item___0", @@ -86,7 +89,7 @@ "refinement_interpretation_Tm_refine_ec3b073f187e62e07276baa8a49db0b9" ], 0, - "72c5f6595e0022307ca985b4b578db6f" + "557a63aea9ad5335debba4539b355827" ], [ "CPS.SimpleDefun.__proj__C1__item___1", @@ -99,7 +102,7 @@ "refinement_interpretation_Tm_refine_ec3b073f187e62e07276baa8a49db0b9" ], 0, - "33a2046c772a598ce495946b6741a13f" + "dedf6d51887babaa949f42d6b2e22dbb" ], [ "CPS.SimpleDefun.apply", @@ -115,7 +118,7 @@ "subterm_ordering_CPS.SimpleDefun.C1" ], 0, - "8dc6bfaf5fba8e3707d644b34f209e23" + "41a1ba8efff9396f9aed2249e732c2c4" ], [ "CPS.SimpleDefun.add_cps", @@ -124,12 +127,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_0", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_66b03f5c7897b05649fed8196554c587_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", + "subterm_ordering_Prims.Cons" ], 0, - "5fa316776e94fad19fbb954d10d7d7ee" + "1aaa1ad066e97fba2f0a5bac4d24d608" ] ] ] \ No newline at end of file diff --git a/examples/termination/CPS.SimpleLambdaLifting.fst.hints b/examples/termination/CPS.SimpleLambdaLifting.fst.hints index 5701c982760..bdc0a5ee1d9 100644 --- a/examples/termination/CPS.SimpleLambdaLifting.fst.hints +++ b/examples/termination/CPS.SimpleLambdaLifting.fst.hints @@ -8,12 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_2", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_66b03f5c7897b05649fed8196554c587_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", + "subterm_ordering_Prims.Cons" ], 0, - "e07b316a69cc8a41ae225d9a217cbfa8" + "4adb60e35192dd076762d19a7b2cc539" ], [ "CPS.SimpleLambdaLifting.add_cps", @@ -22,12 +25,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_2", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_66b03f5c7897b05649fed8196554c587_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.__cache_version_number__", + "subterm_ordering_Prims.Cons" ], 0, - "55be2e93de6f8703e12aabc1d6b2b6b2" + "bb82526e683e285205c9f41a40fc3e97" ] ] ] \ No newline at end of file diff --git a/examples/termination/Eval.DB.fst.hints b/examples/termination/Eval.DB.fst.hints index 772d60a592e..b649eb65361 100644 --- a/examples/termination/Eval.DB.fst.hints +++ b/examples/termination/Eval.DB.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_484127013bba2593946d02c4a721e275" ], 0, - "c9f1df84d39ca66aa41086086fba1106" + "aa3bd366e209f5da8104062d99af5a94" ], [ "Eval.DB.__proj__O__item__a", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_484127013bba2593946d02c4a721e275" ], 0, - "122905845be53ab64f9dfdf2388b3a1a" + "3f25a86a5bdc9fdea57cd2796093fb70" ], [ "Eval.DB.__proj__S__item__g", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "bfc14f2be782f8d46e5528c92f3b7fd8" + "154b02a9c893633639b15f38adbde9c6" ], [ "Eval.DB.__proj__S__item__a", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "ffd43fd4239752d4a785c2e9160d3936" + "c8d17979bbbfbbbd537f4c6caa216d42" ], [ "Eval.DB.__proj__S__item__b", @@ -64,7 +64,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "6648f2df473e2324b65facd00f1eac8e" + "0daf55ac45c841f4e4cf090673004297" ], [ "Eval.DB.__proj__S__item___3", @@ -79,7 +79,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "a6d164b81e08fabf4219be2afe67dd85" + "2d563dbf552b5e07f959af6bbf42b957" ], [ "Eval.DB.__proj__Var__item__g", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_510090c4b8d9bd9a52cee793ac3e6455" ], 0, - "04de07bba5347d581b16ad33124308c5" + "c09dd70e08006fd40abfe8b5c1d0ae0a" ], [ "Eval.DB.__proj__Var__item__a", @@ -105,7 +105,7 @@ "refinement_interpretation_Tm_refine_510090c4b8d9bd9a52cee793ac3e6455" ], 0, - "9810a8cf8ca66febd197029353c000dd" + "689333729fa76b19cbb1238486074dae" ], [ "Eval.DB.__proj__Var__item___2", @@ -121,7 +121,7 @@ "refinement_interpretation_Tm_refine_510090c4b8d9bd9a52cee793ac3e6455" ], 0, - "ec84687c92713562d79d978cb30df1cd" + "424f7b57067e3bc5961ac2dc7365437e" ], [ "Eval.DB.__proj__Lam__item__g", @@ -134,7 +134,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "740215d98601fa197fbba5b90c10670a" + "ddf0f4bb446260949c043ab61bd41019" ], [ "Eval.DB.__proj__Lam__item__a", @@ -147,7 +147,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "eb6568588d947ba08e6201a3a1f6df84" + "9b05814edfca8982e26aef3350645fa3" ], [ "Eval.DB.__proj__Lam__item__b", @@ -160,7 +160,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "22ee70113603cab97ec937a995773373" + "6fd6b502ef45861bbef39aac18a7faee" ], [ "Eval.DB.__proj__Lam__item__body", @@ -177,7 +177,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "fadbed115779021d3d64cdf3bc7ace05" + "69bcd5c66eb69cc2cbff05d830b3f70d" ], [ "Eval.DB.__proj__App__item__g", @@ -190,7 +190,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "a295197a564c40a23d9adffb6fc0c438" + "1c06091f1a6bc1f18ed6fdca55aeb45f" ], [ "Eval.DB.__proj__App__item__a", @@ -203,7 +203,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "b34183ab1e9f41b7765b44f06353cd19" + "2ce2a3f42682ec24e0b59eddcb67bca0" ], [ "Eval.DB.__proj__App__item__b", @@ -216,7 +216,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "d9682462d522310302f6a63538652351" + "1cabc382a6db7d74e3c6c1a479c01d8b" ], [ "Eval.DB.__proj__App__item__e1", @@ -233,7 +233,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "a5fbc4deb4f93a9a76d5a95cb051663d" + "5e572a8ca9ff6b61da6117caa8f35f8b" ], [ "Eval.DB.__proj__App__item__e2", @@ -249,7 +249,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "93409fbce5697bb66bda16d6f61b37cc" + "ecc95e358df1cfe1b61560ed03e66098" ], [ "Eval.DB.eval_var", @@ -265,7 +265,7 @@ "subterm_ordering_Eval.DB.S" ], 0, - "50aad1dfdae58e6b4329f7afa2a6ddd7" + "a67d53ceba58fec77b6f61a07b5571d8" ], [ "Eval.DB.eval", @@ -280,10 +280,10 @@ "disc_equation_Eval.DB.Lam", "disc_equation_Eval.DB.Var", "fuel_guarded_inversion_Eval.DB.tm", "subterm_ordering_Eval.DB.App", "subterm_ordering_Eval.DB.Lam", - "typing_Tm_abs_9964456a88ca7b8906679fc698b37b2e" + "typing_Tm_abs_c20f56d85af2ce8374268dea0663a5c9" ], 0, - "82d63ad06dd58fc0179335a78b9cfee0" + "757f8fe23032ce09965605c0674874db" ], [ "Eval.DB.__proj__O__item__g", @@ -296,7 +296,7 @@ "refinement_interpretation_Tm_refine_484127013bba2593946d02c4a721e275" ], 0, - "8a37422644670dc49598930d6a8bd3e5" + "f31aa1c5dafc6ac5d83c02798581c2a9" ], [ "Eval.DB.__proj__O__item__a", @@ -309,7 +309,7 @@ "refinement_interpretation_Tm_refine_484127013bba2593946d02c4a721e275" ], 0, - "d53f9a7e79cfa4640d02f1b209d5b89d" + "dfd8e1a1b4f790c7d538df3546fa81a6" ], [ "Eval.DB.__proj__S__item__g", @@ -322,7 +322,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "04e525e8848202bf23c119d6f9fd644f" + "1ca3d5ae1f1cc5bf2f562e7007cc1437" ], [ "Eval.DB.__proj__S__item__a", @@ -335,7 +335,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "0ca470169d59109e1f91e1d274cf516a" + "c83bef2eb72df0420305dd0beb7c95aa" ], [ "Eval.DB.__proj__S__item__b", @@ -348,7 +348,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "8c4cbecee0e08c52862f26c471a8c9da" + "4be1f3deb6654ae32b88367c320ea684" ], [ "Eval.DB.__proj__S__item___3", @@ -363,7 +363,7 @@ "refinement_interpretation_Tm_refine_7953764d4affd5fc53963a3447f7bdde" ], 0, - "26c3e902cc18a37201b472545ec4164b" + "e025d336a20ef918e5412000c3ea8f4d" ], [ "Eval.DB.__proj__Var__item__g", @@ -376,7 +376,7 @@ "refinement_interpretation_Tm_refine_510090c4b8d9bd9a52cee793ac3e6455" ], 0, - "050fb097dcd19156704b73978def8524" + "822d26556154be58317d31267d6a94fd" ], [ "Eval.DB.__proj__Var__item__a", @@ -389,7 +389,7 @@ "refinement_interpretation_Tm_refine_510090c4b8d9bd9a52cee793ac3e6455" ], 0, - "8f2d28e7ac37c94ec299ccbe11107c50" + "c2df8441cf6e4912d85c17c7f9fc5450" ], [ "Eval.DB.__proj__Var__item___2", @@ -405,7 +405,7 @@ "refinement_interpretation_Tm_refine_510090c4b8d9bd9a52cee793ac3e6455" ], 0, - "08a8e1668780df93f6c71581e85fd666" + "d0030913fc2b0a66b44af75b65e1b775" ], [ "Eval.DB.__proj__Lam__item__g", @@ -418,7 +418,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "8bd07158346d9ac6d9fd965e81d124f8" + "127c9ba6f825e003a832f4316054905b" ], [ "Eval.DB.__proj__Lam__item__a", @@ -431,7 +431,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "83a968f36b37f13412bc2d37fb87971e" + "4f343df170346e79b9a51871ed8adca8" ], [ "Eval.DB.__proj__Lam__item__b", @@ -444,7 +444,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "0e5eb6dcbce5e89db2f46e23cd96dcf9" + "5bd1efa19c2a9ad872ff7afb45c3ce45" ], [ "Eval.DB.__proj__Lam__item__body", @@ -461,7 +461,7 @@ "refinement_interpretation_Tm_refine_8ba4e4e3f13cea313e3b1698266f8372" ], 0, - "e5b1601d15822d276a010adae77c6963" + "e93fa8b22a61191f98d065a7e07a8207" ], [ "Eval.DB.__proj__App__item__g", @@ -474,7 +474,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "d2e80426c48138685b52f511e6e5cc32" + "88479885957f56a3f2136b6ae141990f" ], [ "Eval.DB.__proj__App__item__a", @@ -487,7 +487,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "fc087289f964c6c7d5a9956daa22f217" + "e89f6cd17e44c5dcbc9a8a7e4c3bac68" ], [ "Eval.DB.__proj__App__item__b", @@ -500,7 +500,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "fa58dd30bc71ebbd5aa07bd5cfe0da79" + "bd05ffa4e6cdefdb2d60c388398ae58f" ], [ "Eval.DB.__proj__App__item__e1", @@ -517,7 +517,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "182e681e8076004e8be03725625095ea" + "07813fc146afcef6b2592aeb734fde11" ], [ "Eval.DB.__proj__App__item__e2", @@ -533,7 +533,7 @@ "refinement_interpretation_Tm_refine_2349da90c7b3931f487aa92691daa8cd" ], 0, - "1a231484f71830bd3944d47593b71e62" + "5ea77295ee5381579a8d3df292f59d17" ], [ "Eval.DB.eval_var", @@ -549,7 +549,7 @@ "subterm_ordering_Eval.DB.S" ], 0, - "4e7951ce2095341f179c8f6ef9bc6455" + "8009db88106c941a74571d3fead9ca27" ], [ "Eval.DB.eval", @@ -564,10 +564,10 @@ "disc_equation_Eval.DB.Lam", "disc_equation_Eval.DB.Var", "fuel_guarded_inversion_Eval.DB.tm", "subterm_ordering_Eval.DB.App", "subterm_ordering_Eval.DB.Lam", - "typing_Tm_abs_9964456a88ca7b8906679fc698b37b2e" + "typing_Tm_abs_c20f56d85af2ce8374268dea0663a5c9" ], 0, - "f87b52ce9c9d0479310b3ddc1ac30fc3" + "35c7f10b88cc08805d6cade957090c19" ] ] ] \ No newline at end of file diff --git a/examples/termination/mcCarthy91.fst.hints b/examples/termination/mcCarthy91.fst.hints index 3f67c538965..44b13159f5e 100644 --- a/examples/termination/mcCarthy91.fst.hints +++ b/examples/termination/mcCarthy91.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "1e8fa82e62a8da7abe2324c985b9286c" + "5240168a12bab0e3f0587db43246cd3b" ], [ "McCarthy91.f91", @@ -23,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b48bb7f221e76f3538d18f7adb9606c2" + "ef48884927b05cb0cc32fb78d7e4e8a8" ], [ "McCarthy91.f91", @@ -37,23 +37,23 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equality_tok_Prims.LexTop@tok", "equation_McCarthy91.f91_", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "4b4ee1fdc172f0a052e0024318b69610" + "6ec55c557c535ec7928bf2c577c42d47" ], [ "McCarthy91.f91_", @@ -67,7 +67,7 @@ "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "c10ad705654f4693c28f3632c33de0ff" + "254138d49fe1b01b78b9d5257a7f90a2" ], [ "McCarthy91.f91", @@ -77,11 +77,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3c7b17b44e6c997c4d5b6ad4fd0983ab" + "af990ad805f2e1c3b8db53923f4a6a2a" ], [ "McCarthy91.f91", @@ -91,23 +91,23 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equality_tok_Prims.LexTop@tok", "equation_McCarthy91.f91_", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "00f9eda4facd2327f49169a169e7bc52" + "89820e1580a13a7c33bfd13a3ba6c3b4" ] ] ] \ No newline at end of file diff --git a/examples/termination/termination.fst.hints b/examples/termination/termination.fst.hints index 5760e1c5ef5..0410115cb5f 100644 --- a/examples/termination/termination.fst.hints +++ b/examples/termination/termination.fst.hints @@ -7,17 +7,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "8a332403bb40e3e3357c75e039eb7221" + "24ad46c6d44dafa102434ec1d4bcddd0" ], [ "Termination.fibonacci", @@ -26,17 +23,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "692037a792126f3889b716adaa556858" + "5f998b351b465247766eac6fe9ee5329" ], [ "Termination.ackermann", @@ -46,19 +41,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "eeea0e4a1c7d5ad60e0eaa2bf1cf2e97" + "8303765153ac8337cd5e27101e353b9d" ], [ "Termination.ack_swap", @@ -68,19 +63,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "c8a10e932d9659e19eb1e33f158ee9e2" + "e04ebd17f5a35aac7daa647f22192771" ], [ "Termination.length", @@ -89,17 +84,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "36b2b3fd25479074f4d6b2c6330d9263" + "b4d0626d67f4eba2b2b74fa4883e1046" ], [ "Termination.half_length", @@ -108,22 +101,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "b2100bf32dfeb9b1acf389d73b4c8d6e" + "11063ec15088665b377b3e4fb8fabf14" ], [ "Termination.sumto", @@ -133,16 +124,16 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "b2045065d51632cc1036eb23932f4047" + "060f75f47920273962b8994108465246" ], [ "Termination.strangeZero", @@ -151,16 +142,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "d80233940283033b73d7064a37022692" + "03b9adf261da4ce8d031096a96bae13d" ], [ "Termination.map", @@ -174,7 +163,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e6816885311b90e4dc827982ce66ef9b" + "d1443df6483a1952884a47f691db8808" ], [ "Termination.mem", @@ -183,13 +172,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "17fa7d549d2fa5ba7bcd5b14d15e5955" + "f3dcf069cfaa5971eb1d5ebb907a94d8" ], [ "Termination.list_subterm_ordering_coercion", @@ -221,7 +210,7 @@ "typing_Termination.list_subterm_ordering_coercion" ], 0, - "9ad19d18a85a05df685b72a332d97558" + "2d821a1e256b105ec0c7d66b84620eab" ], [ "Termination.list_subterm_ordering_coercion", @@ -232,9 +221,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Termination.mem.fuel_instrumented", "@fuel_irrelevance_Termination.mem.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_63893f6163361bb7b4db46296cfdfc01_3", - "binder_x_705b0451ae3ee1080d001ae4cb7187b7_4", + "binder_x_270b3cef5784d1bc5a7008b8b6b27eb6_3", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_b854bcaec29d9b05432d1478cbd54165_4", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", @@ -244,12 +233,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_6e0cf5e6e9b4a185f4f65cb49188edb3", - "refinement_interpretation_Tm_refine_7ac13fbafb085570dc19a371e81d6a83", - "subterm_ordering_Prims.Cons" + "refinement_interpretation_Tm_refine_7f65e6e96a286ef2fcef6eeaaf4a433e", + "refinement_interpretation_Tm_refine_a0e30473eb82c18d4e4dc1a1cc3d49bf", + "subterm_ordering_Prims.Cons", + "token_correspondence_Termination.mem.fuel_instrumented", + "typing_Termination.mem" ], 0, - "5b0b4ed89890ac34fd90085b45f71693" + "3cb58c0897ece1982d910b3e54a8ce66" ], [ "Termination.list_subterm_ordering_lemma", @@ -260,9 +251,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Termination.mem.fuel_instrumented", "@fuel_irrelevance_Termination.mem.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_63893f6163361bb7b4db46296cfdfc01_3", - "binder_x_a81196f4caaaa4b43052179035836caa_5", "bool_inversion", + "binder_x_270b3cef5784d1bc5a7008b8b6b27eb6_3", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_5", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", @@ -275,7 +266,7 @@ "subterm_ordering_Prims.Cons", "typing_Termination.mem" ], 0, - "65f6c9d804e40020b22349d2e29e8dc8" + "a42eba10a4f9f95dcdb71f8092c7f8c5" ], [ "Termination.move_refinement", @@ -286,8 +277,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Termination.mem.fuel_instrumented", "@fuel_irrelevance_Termination.mem.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_b00ce37efb1e57a508554497e0406eb3_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_ee831b716a424052bd35b1d95526a186_2", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", @@ -297,11 +288,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_47e33ce07f400e7deffd2082dd903ea5", + "refinement_interpretation_Tm_refine_52da1e478474dd908d45a896648a7fbc", "subterm_ordering_Prims.Cons" ], 0, - "8a760ff4a0487959279075dd01528195" + "1297b4937073b223028a432094051472" ], [ "Termination.tree", @@ -313,7 +304,7 @@ "kinding_Termination.tree@tok" ], 0, - "ef460f037e00aa1fa9e27c12a308cd83" + "0bd2c01977e631f39c6105b330ee9411" ], [ "Termination.__proj__Leaf__item___0", @@ -326,7 +317,7 @@ "refinement_interpretation_Tm_refine_eecc20c444854ed8824621455f36b0bc" ], 0, - "e4d5dee0729e7425a3c3f023b604305e" + "cd69a0b9b72dbbb36eb96be0d7bc0e8d" ], [ "Termination.__proj__Node__item___0", @@ -339,7 +330,7 @@ "refinement_interpretation_Tm_refine_ef7437472d1ef108a142a5a0fa28c50f" ], 0, - "3ee1926bbdb17bacf2f0c1bdbbad965d" + "e861712de271b943920b5fc9e63e18c8" ], [ "Termination.treeMap", @@ -351,8 +342,8 @@ "@fuel_correspondence_Termination.mem.fuel_instrumented", "@fuel_irrelevance_Termination.mem.fuel_instrumented", "@query", "assumption_Termination.tree__uu___haseq", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_4703f7286672cb83b2cdaf28b8cd3cfa_4", + "binder_x_32126e64b1040b93adb289317bd0c1e7_4", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", "disc_equation_Termination.Leaf", "disc_equation_Termination.Node", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Termination.tree", @@ -362,7 +353,7 @@ "subterm_ordering_Termination.Node" ], 0, - "92c1d9fb3dceb0498debe081824c7cee" + "220046c8dd2aa24d7192565afc856e70" ], [ "Termination.list_map", @@ -376,7 +367,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "086975fca9b26394ac632dae1ce686c9" + "bcc20f5f8064954b889c8e591a2c39e9" ], [ "Termination.tree_map", @@ -391,7 +382,7 @@ "subterm_ordering_Termination.Node" ], 0, - "c084c9d9790b0089783dec555db209b9" + "787a656f3a9e1ebbf5f72eae0a3d7f69" ], [ "Termination.flatten_list", @@ -405,7 +396,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "20fb4d5b204e00d26bb0e7def65b573a" + "d42316a5535469fa46e688f81a37e8ef" ], [ "Termination.flatten_tree", @@ -417,8 +408,8 @@ "@fuel_correspondence_Termination.mem.fuel_instrumented", "@fuel_irrelevance_Termination.mem.fuel_instrumented", "@query", "assumption_Termination.tree__uu___haseq", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_abc67c695cc2f712ffbf90145f0f8836_1", + "binder_x_484068bc8cf479ceebfc1c093bca5255_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "disc_equation_Termination.Leaf", "disc_equation_Termination.Node", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Termination.tree", @@ -428,7 +419,7 @@ "subterm_ordering_Termination.Node" ], 0, - "7d556f56123e38682312ecbf62749d7d" + "4eb94a21e4737f0497a89f484a9d592b" ], [ "Termination.flatten_list'", @@ -442,7 +433,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "9a6d8c51575aa25b64abe7452465b67f" + "0b73094a53bbd3f1c22e480528ce4c78" ], [ "Termination.flatten_tree'", @@ -457,7 +448,7 @@ "subterm_ordering_Termination.Node" ], 0, - "90edc0e1eabfcc8469fe176a9782abff" + "c3b463f9285c0a6c2f9414f8e875c4c3" ], [ "Termination.factorial", @@ -465,17 +456,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "54a7321f5435ab0cc96ec810290cd57d" + "cad7c32c48248ae2874972c517b45e03" ], [ "Termination.fibonacci", @@ -484,17 +472,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "b78dedb88a12884c5f05c08dd45d739a" + "77f634898529ef13e75527512aaa9bef" ], [ "Termination.ackermann", @@ -504,19 +490,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "15576ed7fcb63be6d500cf3be51a1813" + "e4440602e5d4d1213132646c3c3b0682" ], [ "Termination.ack_swap", @@ -526,19 +512,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "73fcb235d414add058b0b3e7390c4c64" + "fe323a599030f86bc7e7ec1aa8703346" ], [ "Termination.length", @@ -547,17 +533,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "81b64c530032aabdc14f285272c2c13f" + "cf812f98772ffe9c3904ed7ffc618912" ], [ "Termination.half_length", @@ -566,22 +550,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "ce3e8a708df594b6a2ed193202c5115e" + "554d0443bd2b10275f6e07db1e94055c" ], [ "Termination.sumto", @@ -591,16 +573,16 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "4ad1b15b73f01f121e220dfe96b48a7b" + "7e3281a9d3f00792ef931451b75e0e99" ], [ "Termination.strangeZero", @@ -609,16 +591,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "0b282270de6bb634d62b9586bf698293" + "5cc8ee1ad3420ff6dfd1f413942cc026" ], [ "Termination.map", @@ -632,7 +612,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "a683e9f9f63f7c51dff72ef9ff475842" + "fe7933171fa2db7999c8e97c06bb6bf8" ], [ "Termination.mem", @@ -641,13 +621,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "a446ba13152a1cbdea2eb86018853051" + "5dbbba2a8981187be1ed7a1f2b84c2b3" ], [ "Termination.list_subterm_ordering_coercion", @@ -656,7 +636,7 @@ 1, [ "@query" ], 0, - "5f0ad7e982828b0443447f3e7bea9215" + "c645c631409010710ddc8e253eae78f9" ], [ "Termination.list_subterm_ordering_coercion", @@ -667,9 +647,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Termination.mem.fuel_instrumented", "@fuel_irrelevance_Termination.mem.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_63893f6163361bb7b4db46296cfdfc01_3", - "binder_x_705b0451ae3ee1080d001ae4cb7187b7_4", + "binder_x_270b3cef5784d1bc5a7008b8b6b27eb6_3", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_b854bcaec29d9b05432d1478cbd54165_4", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", @@ -679,12 +659,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_6e0cf5e6e9b4a185f4f65cb49188edb3", - "refinement_interpretation_Tm_refine_7ac13fbafb085570dc19a371e81d6a83", - "subterm_ordering_Prims.Cons" + "refinement_interpretation_Tm_refine_7f65e6e96a286ef2fcef6eeaaf4a433e", + "refinement_interpretation_Tm_refine_a0e30473eb82c18d4e4dc1a1cc3d49bf", + "subterm_ordering_Prims.Cons", + "token_correspondence_Termination.mem.fuel_instrumented", + "typing_Termination.mem" ], 0, - "9037a8015c5710abbd4de10533a04311" + "1ec667d3360a445daf1cd1738dc0f199" ], [ "Termination.move_refinement", @@ -695,8 +677,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Termination.mem.fuel_instrumented", "@fuel_irrelevance_Termination.mem.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_b00ce37efb1e57a508554497e0406eb3_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_ee831b716a424052bd35b1d95526a186_2", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", @@ -706,11 +688,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_47e33ce07f400e7deffd2082dd903ea5", + "refinement_interpretation_Tm_refine_52da1e478474dd908d45a896648a7fbc", "subterm_ordering_Prims.Cons" ], 0, - "b64d3c55d2daca68df958256d124df5c" + "0492cbc8505d762e9a4e5f015dce419f" ], [ "Termination.tree", @@ -722,7 +704,7 @@ "kinding_Termination.tree@tok" ], 0, - "1507cf440b6af0cbee753cec2bc3f7ad" + "256a685e15e386a14ca1755fadd5ca1a" ], [ "Termination.__proj__Leaf__item___0", @@ -735,7 +717,7 @@ "refinement_interpretation_Tm_refine_eecc20c444854ed8824621455f36b0bc" ], 0, - "653c871b329b9021dc0331c24c5ef3fb" + "901b0d3b67cdad558d170fd942ddd4f5" ], [ "Termination.__proj__Node__item___0", @@ -748,7 +730,7 @@ "refinement_interpretation_Tm_refine_ef7437472d1ef108a142a5a0fa28c50f" ], 0, - "a63ae3e7af145e043b9fbbee3183bd5c" + "08531ca20ea4db187b44445b0add3022" ], [ "Termination.treeMap", @@ -760,8 +742,8 @@ "@fuel_correspondence_Termination.mem.fuel_instrumented", "@fuel_irrelevance_Termination.mem.fuel_instrumented", "@query", "assumption_Termination.tree__uu___haseq", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_4703f7286672cb83b2cdaf28b8cd3cfa_4", + "binder_x_32126e64b1040b93adb289317bd0c1e7_4", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", "disc_equation_Termination.Leaf", "disc_equation_Termination.Node", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Termination.tree", @@ -771,7 +753,7 @@ "subterm_ordering_Termination.Node" ], 0, - "066b8cd523b39f2addd81f7b3b34042d" + "5b07c0ecb99f69ff418c3079980d7c4b" ], [ "Termination.list_map", @@ -785,7 +767,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "bea862fdb8e82106f3bab8c7f3678b0b" + "ef08f084a27f1e5d412228a858d21a56" ], [ "Termination.tree_map", @@ -800,7 +782,7 @@ "subterm_ordering_Termination.Node" ], 0, - "ad0d8c84532bc4020ca2477515c227c8" + "bd9b5340a0d458a1d5143e9972978c6e" ], [ "Termination.flatten_list", @@ -814,7 +796,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "b08ec029ebbbb3005a4c4ae0bf7f8970" + "7b30827e5a56554675c48039cea8e5ca" ], [ "Termination.flatten_tree", @@ -826,8 +808,8 @@ "@fuel_correspondence_Termination.mem.fuel_instrumented", "@fuel_irrelevance_Termination.mem.fuel_instrumented", "@query", "assumption_Termination.tree__uu___haseq", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_abc67c695cc2f712ffbf90145f0f8836_1", + "binder_x_484068bc8cf479ceebfc1c093bca5255_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "disc_equation_Termination.Leaf", "disc_equation_Termination.Node", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Termination.tree", @@ -837,7 +819,7 @@ "subterm_ordering_Termination.Node" ], 0, - "9205161939a0953d257d1e62ad0657df" + "50c0836a4eae29e7657eb17ec1feced7" ], [ "Termination.flatten_list'", @@ -851,7 +833,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "c5d28932d5d468d62010b585af2b6523" + "8202f42a80f1142f417f58bdca378f66" ], [ "Termination.flatten_tree'", @@ -866,7 +848,7 @@ "subterm_ordering_Termination.Node" ], 0, - "1bc255fa9fdf0d36f29254e7bde10205" + "816fe07a190147f6f1b1b2f127c2814b" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/Add.fst.hints b/examples/typeclasses/Add.fst.hints index d47c6c6be7a..043cf246df3 100644 --- a/examples/typeclasses/Add.fst.hints +++ b/examples/typeclasses/Add.fst.hints @@ -14,7 +14,7 @@ "token_correspondence_Add.__proj__Mkadditive__item__plus" ], 0, - "379cdb887aaf2cd6318de7a4a4ba8cff" + "814889d8dfc868ce1ad08e4edf9ce13c" ], [ "Add.__proj__Mkadditive__item__zero_r", @@ -29,7 +29,7 @@ "token_correspondence_Add.__proj__Mkadditive__item__plus" ], 0, - "830006d8040b8996486a7daf067d486b" + "850e498c1260869e10a4fef5530ab74c" ], [ "Add.__proj__Mkadditive__item__plus_assoc", @@ -42,7 +42,7 @@ "token_correspondence_Add.__proj__Mkadditive__item__plus" ], 0, - "b96027d5c79d518d43a472f6ac2b1ffa" + "afd7bce41dd7330ba032e5aa3c73e245" ], [ "Add.mkadd", @@ -56,7 +56,7 @@ "projection_inverse_Add.Mkadditive_zero" ], 0, - "941b9d6f546fb7765726ca5c33794ff5" + "93752d081a5bd69a0781c30f0bc5576f" ], [ "Add.add_int", @@ -68,7 +68,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "887aed564748124c60ed3f1460d9b431" + "1b27bea2bad7560fc63653806116e99e" ], [ "Add.add_bool", @@ -80,7 +80,7 @@ "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "3a8ff5ab0f94b4030d49f97ed534cd47" + "69de4a7e1ae18e0438f20ad87ef885fb" ], [ "Add.add_list", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "c651dcdc6ef06bf79f9de23c5458e200" + "96d612e2c9ae42d66df664c80cc6512b" ], [ "Add.uu___46", @@ -107,7 +107,7 @@ "token_correspondence_Prims.op_Addition" ], 0, - "0ab8f8ef8cc5e9e7f2ceac72c8f2e823" + "1b60134c89d79fd6c587953d958cd331" ], [ "Add.uu___47", @@ -123,7 +123,7 @@ "token_correspondence_Prims.op_BarBar" ], 0, - "2e81e6e6d516be347ec67be676af75f5" + "be8a6b37675055a28a01799ffed2a9bd" ], [ "Add.uu___48", @@ -139,7 +139,7 @@ "token_correspondence_Prims.op_BarBar" ], 0, - "d0c79bbc6a6a2ad7559b9d711b0af5e4" + "7e826148bbf3838fde25bac92a73857c" ], [ "Add.uu___49", @@ -169,7 +169,7 @@ "typing_Add.add_list" ], 0, - "1c11b472b6b6a8fe5bba2c26bfe5be32" + "7b6801ce3ada005961af68c53ebe435f" ], [ "Add.__proj__Mkadditive__item__zero_l", @@ -184,7 +184,7 @@ "token_correspondence_Add.__proj__Mkadditive__item__plus" ], 0, - "b30a7fc67aa1f08def348846e0c33cb3" + "c7fb8895d21a9dfed07bdcea90b867d8" ], [ "Add.__proj__Mkadditive__item__zero_r", @@ -199,7 +199,7 @@ "token_correspondence_Add.__proj__Mkadditive__item__plus" ], 0, - "b8923c380f41a528080b2461a17ebdf6" + "67a15d63fe0eede72708f42f68de3f02" ], [ "Add.__proj__Mkadditive__item__plus_assoc", @@ -212,7 +212,7 @@ "token_correspondence_Add.__proj__Mkadditive__item__plus" ], 0, - "4e2aa6237a3bcf6c8cfadc5caf3ff1bb" + "bac81e1238c5f4a5387eb96470f8447a" ], [ "Add.mkadd", @@ -226,7 +226,7 @@ "projection_inverse_Add.Mkadditive_zero" ], 0, - "c04d53eb33c248731656f1beef3fe5ed" + "fa53d50b4010c101e1fffe26c1107519" ], [ "Add.add_int", @@ -238,7 +238,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "e19ad7ab68f077ad3f0a1c801356f779" + "c57115bd9428acfb5cbf162fac411400" ], [ "Add.add_bool", @@ -250,7 +250,7 @@ "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" ], 0, - "731247d5625730ab6ba27d57f00bc4b8" + "f2d622f3099190cfae899eed666f1125" ], [ "Add.add_list", @@ -259,7 +259,7 @@ 1, [ "@query" ], 0, - "4a3ef38ef34eb47da330adb1a61a8fa4" + "abf72dd7d2ce370e36cfdb05f80c4269" ], [ "Add.uu___46", @@ -277,7 +277,7 @@ "token_correspondence_Prims.op_Addition" ], 0, - "25ef5f649644fd378177882744d78507" + "0576fe4277edf1489198af91efc0ec75" ], [ "Add.uu___47", @@ -293,7 +293,7 @@ "token_correspondence_Prims.op_BarBar" ], 0, - "dab8a0ac3a197fb8a6ff1b97cec8c959" + "f96bce902b9b2c45dc7a3740299d6777" ], [ "Add.uu___48", @@ -309,7 +309,7 @@ "token_correspondence_Prims.op_BarBar" ], 0, - "cf837061ba77dfc74e3d50300e00c6ca" + "e5fc7d28d11a089c6eaa97570dc2f235" ], [ "Add.uu___49", @@ -339,7 +339,7 @@ "typing_Add.add_list" ], 0, - "5c2f0ef4d9e867f04fc0520538437852" + "440a6721471912a1c11e446f05cbcd34" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/Loop2.fst b/examples/typeclasses/Big.fst similarity index 58% rename from examples/typeclasses/Loop2.fst rename to examples/typeclasses/Big.fst index 3c8ead2b189..dd68a050686 100644 --- a/examples/typeclasses/Loop2.fst +++ b/examples/typeclasses/Big.fst @@ -13,19 +13,14 @@ See the License for the specific language governing permissions and limitations under the License. *) -module Loop2 +module Big -open FStar.Tactics.Typeclasses +type z = | X +type s (a:Type) = | Y -(* two classes for inhabitation, with an integer index *) -class c (n:nat) a = { x : a } -class d (n:nat) a = { y : a } +class c a = { x : a } -instance cd (#n:nat) (_ : c n 'a) : d (n + 1) 'a = { y = x } +instance iz : c z = { x = X } +instance is (a:Type) (i1 : c a) (i2 : c a) : c (s a) = { x = Y } -instance dc (#n:nat) (_ : d n 'a) : c (n + 1) 'a = { x = y } -instance dc' (#n:nat) (_ : d n 'a) : c (n + 1) 'a = { x = y } - -(* This should fail... in finite time *) -[@expect_failure] -let f (a:Type) : a = x +let f (a:Type) : s (s (s (s (s (s (s (s z))))))) = x diff --git a/examples/typeclasses/Big.fst.hints b/examples/typeclasses/Big.fst.hints new file mode 100644 index 00000000000..2090da96d0a --- /dev/null +++ b/examples/typeclasses/Big.fst.hints @@ -0,0 +1 @@ +[ "—\u001fé˜Ú\u0013\u0003\u0014wBŠõÏA—ì", [] ] \ No newline at end of file diff --git a/examples/typeclasses/Enum.fst.hints b/examples/typeclasses/Enum.fst.hints index 45857f558ab..c3ee3992ba3 100644 --- a/examples/typeclasses/Enum.fst.hints +++ b/examples/typeclasses/Enum.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "207e2014a37eaf98b29ac3a6f7f1e959" + "72c08425d2c90e0e55a8e22547d61c4c" ], [ "Enum.succ", @@ -24,20 +24,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "equation_Enum.bound", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", + "equation_Prims.nat", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "91104d4896d9e647cf08d3703ac24c30" + "e1963d1d19ee4f910f586d224845aca6" ], [ "Enum.__proj__Mkenum__item__toInt", @@ -49,7 +46,7 @@ "projection_inverse_Enum.Mkenum_max" ], 0, - "0ac527647876db28ef603649d7c562c2" + "1d499344c5ba551b9bbdc4a508518436" ], [ "Enum.__proj__Mkenum__item__fromInt", @@ -61,7 +58,7 @@ "projection_inverse_Enum.Mkenum_max" ], 0, - "3fd6fa8318257d40f7c70816aa3702bb" + "9fef335c460e4232208b60361a17dd79" ], [ "Enum.__proj__Mkenum__item__inv1", @@ -77,7 +74,7 @@ "token_correspondence_Enum.__proj__Mkenum__item__toInt" ], 0, - "f6e25a755a8b34ba4f5dafeeb85d57d9" + "0ea73e2e594d7f2d52e542adc54338fc" ], [ "Enum.__proj__Mkenum__item__inv2", @@ -94,7 +91,7 @@ "token_correspondence_Enum.__proj__Mkenum__item__toInt" ], 0, - "fd8456eda6367958ce5d5f3f2d71e6f9" + "9ca639f688d87c3a80ce75857d0acb1b" ], [ "Enum.enum_nat", @@ -108,7 +105,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "0171bfa9ab7925f87d36111724ca903c" + "7a9c039663c6486173cf9afe94955c69" ], [ "Enum.enum_opt", @@ -117,18 +114,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Enum_interpretation_Tm_arrow_345426a4e99506a29db7afffc46669ac", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "Enum_interpretation_Tm_arrow_b2965591e68d8d0b596d026bc6d4b27f", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_Enum.Mkenum", "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Enum.bound", + "disc_equation_FStar.Pervasives.Native.None", "equation_Enum.bound", "equation_Enum.bounded", "equation_Enum.bounded_by", "equation_Enum.succ", "equation_Prims.nat", "fuel_guarded_inversion_Enum.enum", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_Enum.Mkenum_max", "proj_equation_Enum.Mkenum_toInt", @@ -137,15 +132,15 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fe0c31abb81157bfda9367dd860602f6", + "refinement_interpretation_Tm_refine_4a6eaf440e75ef17916cf0f682fb32c5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Enum.__proj__Mkenum__item__toInt", "typing_Enum.__proj__Mkenum__item__max", "typing_Enum.succ", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "da058393a22470ffc49b3e3a8fbafca4" + "90e05d11616e51184430e6ff03f80165" ], [ "Enum.bounded_by", @@ -162,7 +157,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "d99669cffbf8d7ad199accad4de1a2f1" + "6c0cc017071e8151bccb6a0344569f38" ], [ "Enum.succ", @@ -170,20 +165,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "equation_Enum.bound", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", + "equation_Prims.nat", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "b8b012025481e8ae72cbbfc1c9f79d55" + "f2ede99ee803cc85f8893934099d0108" ], [ "Enum.__proj__Mkenum__item__toInt", @@ -195,7 +187,7 @@ "projection_inverse_Enum.Mkenum_max" ], 0, - "fc961ed7170ba796d2d23272a4d997d3" + "42d72f2dc51b21a6f19fe9a0f96c88e8" ], [ "Enum.__proj__Mkenum__item__fromInt", @@ -207,7 +199,7 @@ "projection_inverse_Enum.Mkenum_max" ], 0, - "e1ed53daf3c296696022d6d6b9277712" + "9357c4789327318fcef93f94710b0130" ], [ "Enum.__proj__Mkenum__item__inv1", @@ -223,7 +215,7 @@ "token_correspondence_Enum.__proj__Mkenum__item__toInt" ], 0, - "e9cc4343789f30de19c48657abdabe37" + "0a522760cf12404a653f4b1f08e05033" ], [ "Enum.__proj__Mkenum__item__inv2", @@ -240,7 +232,7 @@ "token_correspondence_Enum.__proj__Mkenum__item__toInt" ], 0, - "974c1dc86742c5038159e117fe8a4d1e" + "76e0d0e14e3b8c176690b1fb4bc7fa76" ], [ "Enum.enum_nat", @@ -254,7 +246,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "224154f710e693c3f0121504a9e73018" + "1a1c4d5e900e52b154e7d3f5dc82575d" ], [ "Enum.enum_opt", @@ -263,18 +255,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Enum_interpretation_Tm_arrow_345426a4e99506a29db7afffc46669ac", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "Enum_interpretation_Tm_arrow_b2965591e68d8d0b596d026bc6d4b27f", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_Enum.Mkenum", "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Enum.bound", + "disc_equation_FStar.Pervasives.Native.None", "equation_Enum.bound", "equation_Enum.bounded", "equation_Enum.bounded_by", "equation_Enum.succ", "equation_Prims.nat", "fuel_guarded_inversion_Enum.enum", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_Enum.Mkenum_max", "proj_equation_Enum.Mkenum_toInt", @@ -283,15 +273,15 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fe0c31abb81157bfda9367dd860602f6", + "refinement_interpretation_Tm_refine_4a6eaf440e75ef17916cf0f682fb32c5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Enum.__proj__Mkenum__item__toInt", "typing_Enum.__proj__Mkenum__item__max", "typing_Enum.succ", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "ec838f90ac4f15fc4fead62d678ed33c" + "5577f4f74c7cb7d05d992ffb74640246" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/EnumEq.fst.hints b/examples/typeclasses/EnumEq.fst.hints index d3e62af7866..33e0ad97ee1 100644 --- a/examples/typeclasses/EnumEq.fst.hints +++ b/examples/typeclasses/EnumEq.fst.hints @@ -7,22 +7,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Enum.bounded", "equation_Enum.toInt", - "equation_Prims.eqtype", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_Enum.bounded", + "equation_Enum.toInt", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Enum.enum", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "haseqTm_refine_fe0c31abb81157bfda9367dd860602f6", + "haseqTm_refine_4a6eaf440e75ef17916cf0f682fb32c5", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "proj_equation_Enum.Mkenum_max", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_Enum.__proj__Mkenum__item__toInt", "token_correspondence_Enum.toInt" ], 0, - "78e8593a3c8597ee2615062709c252ab" + "e3a0b997744b0adcaa88ea7c702542f1" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/Eq.fst.hints b/examples/typeclasses/Eq.fst.hints index 4aea5e09029..bf9f59973fd 100644 --- a/examples/typeclasses/Eq.fst.hints +++ b/examples/typeclasses/Eq.fst.hints @@ -12,7 +12,7 @@ "token_correspondence_Eq.__proj__Mkdeq__item__eq" ], 0, - "d91d28e1aefaa4c17abcc7545fb92b43" + "93cade501da7d0106e32e85e6b7d5785" ], [ "Eq.eq_instance_of_eqtype", @@ -21,7 +21,7 @@ 1, [ "@query" ], 0, - "afda4ef419476712e1e97abd02bfb168" + "9f2039cf047fced2b95a98b4b0b8addc" ], [ "Eq.eqList", @@ -42,14 +42,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_33b332edb7a86c0071d801ba115f8c0f", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "refinement_interpretation_Tm_refine_ff4f14679333869af842d6ecdb8b961f", "subterm_ordering_Prims.Cons", "token_correspondence_Eq.__proj__Mkdeq__item__eq", "token_correspondence_Eq.eq", "typing_Eq.eqList" ], 0, - "a08c6d9067b352344a652da4d05e6681" + "e65ec44aabf21102505340679b624fcb" ], [ "Eq.eq_list", @@ -59,11 +59,11 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Eq.eqList.fuel_instrumented", "@query", - "refinement_interpretation_Tm_refine_33b332edb7a86c0071d801ba115f8c0f", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "typing_Eq.eqList" ], 0, - "4ac01e14aab02b40c91a34a2f955e9d1" + "17bb009f5484b68f4be893809f13849c" ], [ "Eq.eq_pair", @@ -80,7 +80,7 @@ "token_correspondence_Eq.eq" ], 0, - "743a5d00099108fd402e69aed22b3617" + "54b49d163d8e5ccb880586e9453e0ce5" ], [ "Eq.uu___63", @@ -92,13 +92,13 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___20", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "1aa0e5590cc4c259d7296ad8116d2eb4" + "11521e782015d8bfa2b03b908b4a4b7f" ], [ "Eq.uu___64", @@ -110,14 +110,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___20", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "820776a8e672bad3297e7f9ce4c7954b" + "83004a8cb953c386562774395e5c8e64" ], [ "Eq.uu___65", @@ -127,13 +127,13 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___21", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "0b36dff8b29668adbe8106410dd7d56d" + "543bcca8cfd49d584c6af180cc8a00ec" ], [ "Eq.uu___66", @@ -143,13 +143,13 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___21", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "2bc748a3379448595b45be611d98e033" + "3167ddfd10dca15ebc268555bd589b39" ], [ "Eq.uu___67", @@ -158,20 +158,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Eq_interpretation_Tm_arrow_451ea65b0d9850a7f10a1605fe2b3aca", + "Eq_interpretation_Tm_arrow_7aa492a2d1bcc16697b15f18414834ca", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Eq.eq", "equation_Eq.eq_list", "equation_Eq.uu___20", "equation_Prims.eqtype", "function_token_typing_Eq.eqList", "function_token_typing_Prims.int", "int_typing", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_Eq.Mkdeq_eq", - "refinement_interpretation_Tm_refine_33b332edb7a86c0071d801ba115f8c0f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "token_correspondence_Eq.eq", "token_correspondence_Eq.eqList", "typing_Eq.uu___20" ], 0, - "7ae138467d5a2521cdbc1aae2ea618a6" + "1d771cc912a65f6b9224fea31ce855da" ], [ "Eq.uu___68", @@ -180,7 +180,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Eq_interpretation_Tm_arrow_451ea65b0d9850a7f10a1605fe2b3aca", + "Eq_interpretation_Tm_arrow_7aa492a2d1bcc16697b15f18414834ca", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Eq.eq", "equation_Eq.eq_list", "equation_Eq.uu___20", @@ -188,13 +188,13 @@ "function_token_typing_Prims.int", "int_typing", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", "projection_inverse_Prims.Cons_hd", - "refinement_interpretation_Tm_refine_33b332edb7a86c0071d801ba115f8c0f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "token_correspondence_Eq.eq", "token_correspondence_Eq.eqList", "typing_Eq.uu___20" ], 0, - "aa69c634a93e3b4e63134665beb30c3c" + "49fcac5d8d46af2e5734b24bf81fb3b5" ], [ "Eq.uu___69", @@ -204,8 +204,8 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___20", "equation_Eq.uu___22", - "interpretation_Tm_abs_3c6f6b035063770c6a137d3aa7873a76", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", @@ -214,7 +214,7 @@ "token_correspondence_Eq.eq" ], 0, - "f347f12501b666b5e40e1357250ba7bf" + "f81961c723cb8b7db47d1ba926190a18" ], [ "Eq.uu___70", @@ -224,8 +224,8 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___20", "equation_Eq.uu___22", - "interpretation_Tm_abs_3c6f6b035063770c6a137d3aa7873a76", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxString_proj_0", @@ -236,7 +236,7 @@ "token_correspondence_Eq.eq" ], 0, - "238b750c58b7f81fb7a30f402e71a3d3" + "17d5926b1b0d13cd9efd3bf92f0e93a3" ], [ "Eq.uu___71", @@ -246,8 +246,8 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___20", "equation_Eq.uu___22", - "interpretation_Tm_abs_3c6f6b035063770c6a137d3aa7873a76", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", @@ -256,7 +256,7 @@ "token_correspondence_Eq.eq" ], 0, - "3c1b14e8b1c010ad6daaf6d70be9baaa" + "92e96742fd9ba8493266e35743369560" ], [ "Eq.uu___72", @@ -266,8 +266,8 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___20", "equation_Eq.uu___22", - "interpretation_Tm_abs_3c6f6b035063770c6a137d3aa7873a76", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", @@ -276,7 +276,7 @@ "token_correspondence_Eq.eq" ], 0, - "d5aafabb89514cedf17e99af4369c256" + "e68a35226c9b6e23e635c0992729ecdc" ], [ "Eq.__proj__Mkdeq__item__eq_ok", @@ -289,7 +289,7 @@ "token_correspondence_Eq.__proj__Mkdeq__item__eq" ], 0, - "8630f8afee32b08861e978ae8a4185df" + "de4b58cf84334201391491887efbaf86" ], [ "Eq.eq_instance_of_eqtype", @@ -298,7 +298,7 @@ 1, [ "@query" ], 0, - "ac1f1f8e0ab7d5180e7dc66c7682d79e" + "3721c1f74f69fc2155791990afb02394" ], [ "Eq.eqList", @@ -319,14 +319,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_33b332edb7a86c0071d801ba115f8c0f", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "refinement_interpretation_Tm_refine_ff4f14679333869af842d6ecdb8b961f", "subterm_ordering_Prims.Cons", "token_correspondence_Eq.__proj__Mkdeq__item__eq", "token_correspondence_Eq.eq", "typing_Eq.eqList" ], 0, - "2b9a2b3c3ef153cc98fe94fadacf0931" + "e8f2aa822f569716d0e8ae6e4fa0214d" ], [ "Eq.eq_list", @@ -336,11 +336,11 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Eq.eqList.fuel_instrumented", "@query", - "refinement_interpretation_Tm_refine_33b332edb7a86c0071d801ba115f8c0f", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "typing_Eq.eqList" ], 0, - "9fa797e414086b403c1bf6271f6b3c63" + "f8a814aec41fcdaabe5b0f75224487c2" ], [ "Eq.eq_pair", @@ -357,7 +357,7 @@ "token_correspondence_Eq.eq" ], 0, - "7fa56997c8349b39c94ba9c86a6abd66" + "6c4946389e4e41cc7d30736f0d78f1e5" ], [ "Eq.uu___63", @@ -369,13 +369,13 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___20", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "ebbd1b563a9784b5e3d674ac516f0a78" + "3dcb285ab08021b5c6c2727c98a27309" ], [ "Eq.uu___64", @@ -387,14 +387,14 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___20", "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "5649024abcc78e2ed63833c8c6a78c86" + "3afecbf7aa1dfe92f4129b619d6ae47f" ], [ "Eq.uu___65", @@ -404,13 +404,13 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___21", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "c9f6184b4441dae2bd8eb6934bdce555" + "ad7bf5741c4629f3e17000266f2f38e3" ], [ "Eq.uu___66", @@ -420,13 +420,13 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___21", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" ], 0, - "49fa12a0b8076313b0287d796c09a2f8" + "8c342e6a1383e6a74fbf204dfde1a0fe" ], [ "Eq.uu___67", @@ -435,20 +435,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Eq_interpretation_Tm_arrow_451ea65b0d9850a7f10a1605fe2b3aca", + "Eq_interpretation_Tm_arrow_7aa492a2d1bcc16697b15f18414834ca", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Eq.eq", "equation_Eq.eq_list", "equation_Eq.uu___20", "equation_Prims.eqtype", "function_token_typing_Eq.eqList", "function_token_typing_Prims.int", "int_typing", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_Eq.Mkdeq_eq", - "refinement_interpretation_Tm_refine_33b332edb7a86c0071d801ba115f8c0f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "token_correspondence_Eq.eq", "token_correspondence_Eq.eqList", "typing_Eq.uu___20" ], 0, - "0e2365a774e204e02212c201e3bdc602" + "ece0a20014a1ec38f3cc63cec87f3b7b" ], [ "Eq.uu___68", @@ -457,7 +457,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Eq_interpretation_Tm_arrow_451ea65b0d9850a7f10a1605fe2b3aca", + "Eq_interpretation_Tm_arrow_7aa492a2d1bcc16697b15f18414834ca", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_Eq.eq", "equation_Eq.eq_list", "equation_Eq.uu___20", @@ -465,13 +465,13 @@ "function_token_typing_Prims.int", "int_typing", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", "projection_inverse_Prims.Cons_hd", - "refinement_interpretation_Tm_refine_33b332edb7a86c0071d801ba115f8c0f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", "token_correspondence_Eq.eq", "token_correspondence_Eq.eqList", "typing_Eq.uu___20" ], 0, - "e69d897dcbfd00d6ba63512ca74e3e40" + "848b4b82f96538b893367b1cc13b28db" ], [ "Eq.uu___69", @@ -481,8 +481,8 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___20", "equation_Eq.uu___22", - "interpretation_Tm_abs_3c6f6b035063770c6a137d3aa7873a76", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_Eq.Mkdeq_eq", @@ -491,7 +491,7 @@ "token_correspondence_Eq.eq" ], 0, - "c5244d0be116a87fa133b930323cf857" + "ded82eaa0f9f7f96192247e8d41f58d0" ], [ "Eq.uu___70", @@ -501,8 +501,8 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___20", "equation_Eq.uu___22", - "interpretation_Tm_abs_3c6f6b035063770c6a137d3aa7873a76", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxString_proj_0", @@ -513,7 +513,7 @@ "token_correspondence_Eq.eq" ], 0, - "cd81a29ca0da3a47db190ab7db78e7cb" + "a5582e409e4dd96d504b0fca6732d2e2" ], [ "Eq.uu___71", @@ -523,8 +523,8 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___20", "equation_Eq.uu___22", - "interpretation_Tm_abs_3c6f6b035063770c6a137d3aa7873a76", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", @@ -533,7 +533,7 @@ "token_correspondence_Eq.eq" ], 0, - "309b546dd88de8242615a43c06ef37c5" + "7c6d974dfed5263c0fab98226db7a856" ], [ "Eq.uu___72", @@ -543,8 +543,8 @@ [ "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", "equation_Eq.eq_pair", "equation_Eq.uu___20", "equation_Eq.uu___22", - "interpretation_Tm_abs_3c6f6b035063770c6a137d3aa7873a76", - "interpretation_Tm_abs_bbccf87760bce44bc5d7ee239ac84a78", + "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", + "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_Eq.Mkdeq_eq", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", @@ -553,7 +553,7 @@ "token_correspondence_Eq.eq" ], 0, - "bbbe72f1155babac0e0a3c80d7613f4c" + "7413c1d3c63aa3e54ce683c3d1de2726" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/Loop2.fst.hints b/examples/typeclasses/Loop2.fst.hints deleted file mode 100644 index 5cedfe598b7..00000000000 --- a/examples/typeclasses/Loop2.fst.hints +++ /dev/null @@ -1,89 +0,0 @@ -[ - "¬¾wZÚ\u0014Ý^1è®t™µü", - [ - [ - "Loop2.cd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_Loop2.c", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "13a8d2373b718774c2a7c7a378e30086" - ], - [ - "Loop2.dc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_Loop2.d", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "e25e804c7142c5a4bb8e26f27e72fa51" - ], - [ - "Loop2.dc'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_Loop2.d", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "1cc48b8259c8cb15e397dbd3e2c413a5" - ], - [ - "Loop2.cd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_Loop2.c", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "4352857ca8c1453f71a68c6fb458e8a2" - ], - [ - "Loop2.dc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_Loop2.d", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "c7751bbce747939dc57e5eea88995d36" - ], - [ - "Loop2.dc'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_Loop2.d", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "70c74f7d4374907b7a15da7b0f52992b" - ] - ] -] \ No newline at end of file diff --git a/examples/typeclasses/Makefile b/examples/typeclasses/Makefile index 44a8ee9ce3f..89cc4602e9d 100644 --- a/examples/typeclasses/Makefile +++ b/examples/typeclasses/Makefile @@ -14,9 +14,9 @@ include ../Makefile.common verify-all: $(CACHE_DIR) $(addsuffix .checked, $(addprefix $(CACHE_DIR)/, $(FSTAR_FILES))) native_bench1: - $(FSTAR) Loop2.fst --timing + $(FSTAR) Big.fst --timing native_bench2: rm -f FStar_Tactics_Typeclasses.* $(FSTAR) $(FSTAR_HOME)/ulib/FStar.Tactics.Typeclasses.fst --extract FStar.Tactics.Typeclasses --codegen Plugin - $(FSTAR) Loop2.fst --timing --load FStar.Tactics.Typeclasses + $(FSTAR) Big.fst --timing --load FStar.Tactics.Typeclasses diff --git a/examples/typeclasses/Monad.fst.hints b/examples/typeclasses/Monad.fst.hints index 814b5a47742..12217801a29 100644 --- a/examples/typeclasses/Monad.fst.hints +++ b/examples/typeclasses/Monad.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_Monad.Mkmonad_return" ], 0, - "6bcda5a744888f8ddfacde7aa5b436f7" + "2b4ec4c96d64118ca55ec808d132077a" ], [ "Monad.g", @@ -26,7 +26,7 @@ "token_correspondence_Monad.return" ], 0, - "c9c0fcf995d18722c1df43190e01f080" + "fd7aa825c370a147116dfef53f109d3a" ], [ "Monad.g'", @@ -39,7 +39,7 @@ "token_correspondence_Monad.return" ], 0, - "4b633651d1419af11e7e52d31f4e82bb" + "61750adbd2e5d612ebdabaf92d478634" ], [ "Monad.__proj__Mkmonad__item__laws", @@ -53,7 +53,7 @@ "projection_inverse_Monad.Mkmonad_return" ], 0, - "1e8de1e4459ee58015bd7e6393091744" + "aabceef3717b8451fe40cbe2a82c6bb0" ], [ "Monad.g", @@ -66,7 +66,7 @@ "token_correspondence_Monad.return" ], 0, - "92b79a175bc5b9566fa1a6981000bd6b" + "0e8fa5ac212654f569fc2c4c989ded38" ], [ "Monad.g'", @@ -79,7 +79,7 @@ "token_correspondence_Monad.return" ], 0, - "81b47192b364187c962d05063acf88d6" + "c3360c6a989340ae2080184fba7f292b" ] ] ] \ No newline at end of file diff --git a/examples/typeclasses/Tests.fst.hints b/examples/typeclasses/Tests.fst.hints index 2c1e16a8e4c..7c21008ffbc 100644 --- a/examples/typeclasses/Tests.fst.hints +++ b/examples/typeclasses/Tests.fst.hints @@ -16,7 +16,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "41c0ab2891ed48a18bfed9f685c0cb95" + "81724e2ebd54a74a3eb69dffad23adba" ], [ "Tests.uu___13", @@ -25,7 +25,7 @@ 1, [ "@query" ], 0, - "ec5c352785afc9b8c3df06c06fadc960" + "ab025f0e214af017c70a1f5926605ef0" ], [ "Tests.uu___14", @@ -34,7 +34,7 @@ 1, [ "@query" ], 0, - "6705b988a0d682f9901a96d40b683d1d" + "f6b03aec6dfd97411b66112979adeb6f" ], [ "Tests.test1", @@ -69,7 +69,7 @@ "typing_Num.num_int", "typing_Tests.sum" ], 0, - "8a285f895cc56ead4f24ca6b147c3024" + "6bf63589f63776b92a52d5551438c68e" ], [ "Tests.test2", @@ -92,7 +92,7 @@ "token_correspondence_Prims.op_Subtraction" ], 0, - "a6d998edab8de99e9638b94492388730" + "4af33a823bf58540317074978e53635a" ], [ "Tests.sum", @@ -109,7 +109,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e92593df7c84e9d9d54d13f4305059a1" + "59204d6fd0ddcd5a9134274c57132efa" ], [ "Tests.uu___13", @@ -118,7 +118,7 @@ 1, [ "@query" ], 0, - "d3a1a9ba7ead34ff67d937040c40843d" + "220bbfa86c7f4b7edc6d6d63af91e1db" ], [ "Tests.uu___14", @@ -127,7 +127,7 @@ 1, [ "@query" ], 0, - "df8aae74e17263032a83fe21dd1757d5" + "4b2ae6ca98827fde531924c95f1f19ee" ], [ "Tests.test1", @@ -162,7 +162,7 @@ "typing_Num.num_int", "typing_Tests.sum" ], 0, - "e3201c81c9c11b6836d0900be531d818" + "ae27d1d242dd769bbf07ae2b4a274ee5" ], [ "Tests.test2", @@ -185,7 +185,7 @@ "token_correspondence_Prims.op_Subtraction" ], 0, - "5f11ce62453f48419acbd78d07713cec" + "7c82664376eb07f094b9c9f52887880f" ] ] ] \ No newline at end of file diff --git a/examples/vale/Calc.fst.hints b/examples/vale/Calc.fst.hints index 2e5f4c64590..df8576dafa1 100644 --- a/examples/vale/Calc.fst.hints +++ b/examples/vale/Calc.fst.hints @@ -8,7 +8,7 @@ 0, [ "@query" ], 0, - "936e68eebc20737df961fc18c998a30c" + "20a615fbe9ae8554df16681fa314c4ee" ], [ "Calc.op_Amp_Bar", @@ -17,7 +17,7 @@ 0, [ "@query" ], 0, - "6ed70fba6db5fa0b3fa5a3060775d4f9" + "a096deb65a30ee2af461d32d0a704380" ], [ "Calc.op_Amp_Bar_Bar", @@ -29,7 +29,7 @@ "refinement_interpretation_Tm_refine_532f594f251e5c0866650ec45ad0a70d" ], 0, - "7df3ebcc09f88eb6e0820754654bd6f3" + "6b862c5bece4866f43126cd998eab859" ], [ "Calc.op_Amp_Equals", @@ -38,7 +38,7 @@ 0, [ "@query" ], 0, - "dba0b5ca1c59da63f82d681e294c2818" + "4ebfe6968a9b4539cdafdb6f2eff66fc" ], [ "Calc.op_Amp_Bar", @@ -47,7 +47,7 @@ 0, [ "@query" ], 0, - "87975b85b7f0e3e1d2c494dd76ea2c1e" + "5ca62fb19eaa4168a7c83fb341f5f888" ], [ "Calc.op_Amp_Bar_Bar", @@ -59,7 +59,7 @@ "refinement_interpretation_Tm_refine_5d3f02ca4711b357cd015fb50ec61604" ], 0, - "f38a623bc6e6110531c0ce4dcf8c7fd3" + "686cf41a75f4a9753b537995030791bf" ] ] ] \ No newline at end of file diff --git a/examples/vale/X64.Poly1305.Bitvectors_i.fst b/examples/vale/X64.Poly1305.Bitvectors_i.fst index 62e70783338..0c0c5318943 100644 --- a/examples/vale/X64.Poly1305.Bitvectors_i.fst +++ b/examples/vale/X64.Poly1305.Bitvectors_i.fst @@ -25,41 +25,41 @@ open FStar.UInt #reset-options "--smtencoding.elim_box true --__temp_fast_implicits" let lemma_shr2 x = - assert_by_tactic (shift_right #64 x 2 == udiv #64 x 4) bv_tac + assert (shift_right #64 x 2 == udiv #64 x 4) + by bv_tac () let lemma_shr4 x = - assert_by_tactic (shift_right #64 x 4 == udiv #64 x 16) bv_tac + assert (shift_right #64 x 4 == udiv #64 x 16) + by bv_tac () let lemma_and_mod_n x = - assert_by_tactic (logand #64 x 3 == mod #64 x 4 /\ logand #64 x 15 == mod #64 x 16) - (fun () -> seq split bv_tac) + assert (logand #64 x 3 == mod #64 x 4 /\ logand #64 x 15 == mod #64 x 16) + by (seq split bv_tac) let lemma_clear_lower_2 x = - assert_by_tactic - (logand #8 x 0xfc == mul_mod #8 (udiv #8 x 4) 4) - bv_tac + assert (logand #8 x 0xfc == mul_mod #8 (udiv #8 x 4) 4) + by bv_tac () let lemma_and_constants x = - assert_by_tactic - (logand #64 x 0 == (0 <: uint_t 64) /\ - logand #64 x 0xffffffffffffffff == x) - (fun () -> seq split bv_tac) + assert + (logand #64 x 0 == (0 <: uint_t 64) /\ + logand #64 x 0xffffffffffffffff == x) + by (seq split bv_tac) let lemma_poly_constants x = - assert_by_tactic + assert (logand #64 x 0x0ffffffc0fffffff < (0x1000000000000000 <: uint_t 64) /\ logand #64 x 0x0ffffffc0ffffffc < (0x1000000000000000 <: uint_t 64) /\ mod #64 (logand #64 x 0x0ffffffc0ffffffc) 4 == (0 <: uint_t 64)) - (fun () -> split (); - split (); - bv_tac_lt 64; - bv_tac_lt 64; - bv_tac ()) + by (split (); + split (); + bv_tac_lt 64; + bv_tac_lt 64; + bv_tac ()) let lemma_and_commutes x y = - assert_by_tactic - (logand #64 x y == logand #64 y x) - bv_tac + assert (logand #64 x y == logand #64 y x) + by bv_tac () let lemma_bv128_64_64_and_helper x x0 x1 y y0 y1 z z0 z1 = // TODO @@ -73,52 +73,52 @@ let lemma_bv128_64_64_and x x0 x1 y y0 y1 z z0 z1 = #reset-options "--smtencoding.elim_box true --z3cliopt smt.case_split=3 --__temp_fast_implicits" let lemma_bytes_shift_constants0 x = - assert_by_tactic (shift_left #64 0 3 == (0 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 0 == (0x1 <: uint_t 64)) bv_tac + assert (shift_left #64 0 3 == (0 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 0 == (0x1 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants1 x = - assert_by_tactic (shift_left #64 1 3 == (8 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 8 == (0x100 <: uint_t 64)) bv_tac + assert (shift_left #64 1 3 == (8 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 8 == (0x100 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants2 x = - assert_by_tactic (shift_left #64 2 3 == (16 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 16 == (0x10000 <: uint_t 64)) bv_tac + assert (shift_left #64 2 3 == (16 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 16 == (0x10000 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants3 x = - assert_by_tactic (shift_left #64 3 3 == (24 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 24 == (0x1000000 <: uint_t 64)) bv_tac + assert (shift_left #64 3 3 == (24 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 24 == (0x1000000 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants4 x = - assert_by_tactic (shift_left #64 4 3 == (32 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 32 == (0x100000000 <: uint_t 64)) bv_tac + assert (shift_left #64 4 3 == (32 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 32 == (0x100000000 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants5 x = - assert_by_tactic (shift_left #64 5 3 == (40 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 40 == (0x10000000000 <: uint_t 64)) bv_tac + assert (shift_left #64 5 3 == (40 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 40 == (0x10000000000 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants6 x = - assert_by_tactic (shift_left #64 6 3 == (48 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 48 == (0x1000000000000 <: uint_t 64)) bv_tac + assert (shift_left #64 6 3 == (48 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 48 == (0x1000000000000 <: uint_t 64)) by bv_tac () let lemma_bytes_shift_constants7 x = - assert_by_tactic (shift_left #64 7 3 == (56 <: uint_t 64)) bv_tac; - assert_by_tactic (shift_left #64 1 56 == (0x100000000000000 <: uint_t 64)) bv_tac + assert (shift_left #64 7 3 == (56 <: uint_t 64)) by bv_tac (); + assert (shift_left #64 1 56 == (0x100000000000000 <: uint_t 64)) by bv_tac () let lemma_bytes_and_mod0 x = - assert_by_tactic (logand #64 x (0x1 - 1) == mod #64 x 0x1) bv_tac + assert (logand #64 x (0x1 - 1) == mod #64 x 0x1) by bv_tac () let lemma_bytes_and_mod1 x = - assert_by_tactic (logand #64 x (0x100 - 1) == mod #64 x 0x100) bv_tac + assert (logand #64 x (0x100 - 1) == mod #64 x 0x100) by bv_tac () let lemma_bytes_and_mod2 x = - assert_by_tactic (logand #64 x (0x10000 - 1) == mod #64 x 0x10000) bv_tac + assert (logand #64 x (0x10000 - 1) == mod #64 x 0x10000) by bv_tac () let lemma_bytes_and_mod3 x = - assert_by_tactic (logand #64 x (0x1000000 - 1) == mod #64 x 0x1000000) bv_tac + assert (logand #64 x (0x1000000 - 1) == mod #64 x 0x1000000) by bv_tac () let lemma_bytes_and_mod4 x = - assert_by_tactic (logand #64 x (0x100000000 - 1) == mod #64 x 0x100000000) bv_tac + assert (logand #64 x (0x100000000 - 1) == mod #64 x 0x100000000) by bv_tac () let lemma_bytes_and_mod5 x = - assert_by_tactic (logand #64 x (0x10000000000 - 1) == mod #64 x 0x10000000000) bv_tac + assert (logand #64 x (0x10000000000 - 1) == mod #64 x 0x10000000000) by bv_tac () let lemma_bytes_and_mod6 x = - assert_by_tactic (logand #64 x (0x1000000000000 - 1) == mod #64 x 0x1000000000000) bv_tac + assert (logand #64 x (0x1000000000000 - 1) == mod #64 x 0x1000000000000) by bv_tac () let lemma_bytes_and_mod7 x = - assert_by_tactic (logand #64 x (0x100000000000000 - 1) == mod #64 x 0x100000000000000) bv_tac + assert (logand #64 x (0x100000000000000 - 1) == mod #64 x 0x100000000000000) by bv_tac () let lemma_bytes_and_mod x y = match y with diff --git a/examples/vale/X64.Poly1305.Bitvectors_i.fst.hints b/examples/vale/X64.Poly1305.Bitvectors_i.fst.hints index 67ad6292e22..fdf2d0a7df9 100644 --- a/examples/vale/X64.Poly1305.Bitvectors_i.fst.hints +++ b/examples/vale/X64.Poly1305.Bitvectors_i.fst.hints @@ -1,5 +1,5 @@ [ - "/„Ýö‚”ñU«ðu™AÊù;", + "íÏ9è†\u0013=\u001aËM\u001ao„¹Ìç", [ [ "X64.Poly1305.Bitvectors_i.lemma_shr2", @@ -23,7 +23,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "eb67e999229a4bfa2c76a730fe9420a7" + "3ae81589a2a17bf5cc4aa1f8bba324f9" ], [ "X64.Poly1305.Bitvectors_i.lemma_shr2", @@ -50,7 +50,7 @@ "true_interp" ], 0, - "eef7eff3a11abdd1e13aff59670c80e3" + "3f8bf8f4e48e956f50a8018ced3338a0" ], [ "X64.Poly1305.Bitvectors_i.lemma_shr2", @@ -59,7 +59,7 @@ 0, [ "@query" ], 0, - "cc37dde4ef94ef0002e47b3c33fda4c9" + "4765bf746c86e642d4e3940d481e6867" ], [ "X64.Poly1305.Bitvectors_i.lemma_shr4", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "a205346624ff475e8d648e9e4cdda358" + "5871570bfd278c014f0dd1656ee6350c" ], [ "X64.Poly1305.Bitvectors_i.lemma_shr4", @@ -110,7 +110,7 @@ "true_interp" ], 0, - "5a35769bf9946e95ee9568689ee87583" + "751fbcf4ecef7bd7ea3405669b83364a" ], [ "X64.Poly1305.Bitvectors_i.lemma_shr4", @@ -119,7 +119,7 @@ 0, [ "@query" ], 0, - "fada9819f387cd32901bfa7bb5e1233d" + "f2e3a0aa3b1b50bd7da4db31c3516405" ], [ "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", @@ -146,7 +146,7 @@ "typing_FStar.UInt.fits" ], 0, - "45580b4d2bb54eb4771e1b5b9a38d323" + "bc014f24d4d877b8c7b56fb305b6748d" ], [ "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", @@ -173,7 +173,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "ad2ca56570069cfb3a499425ff2d9b03" + "6184d8b7bebf3df147de83bd2d9088c1" ], [ "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", @@ -200,7 +200,7 @@ "typing_FStar.UInt.fits" ], 0, - "0d81600b5444ce9daecf47ebeeb5ced2" + "902aad66df1e978f1aff635d601d8ab1" ], [ "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", @@ -229,7 +229,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "6f4c54bf296969c0077237538b2d9b3b" + "af906decf2bb69cd501c42c2292a193c" ], [ "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", @@ -256,7 +256,7 @@ "typing_FStar.UInt.fits" ], 0, - "31647bec42ad42e81f84a57dc5f00183" + "2aef31acf93f0b93ff02f585f1ecd6eb" ], [ "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", @@ -283,7 +283,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "23604aaa16990682b6ac75597f6683cd" + "1e96ca6ef514a9d61c5163b3242e9771" ], [ "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", @@ -312,7 +312,7 @@ "refinement_interpretation_X64.Poly1305.Bitvectors_i_Tm_refine_d144b2a1ea1b55028b11139ffc12a372" ], 0, - "d9431121bb4e0dac7cbda93b67b4ba7e" + "1cdd997f0c448890e4e18dc1aa50dcda" ], [ "X64.Poly1305.Bitvectors_i.lemma_and_constants", @@ -337,7 +337,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "99d1043f89597e408c5bb05774d28e99" + "fea48501330c353a233d80c8fb13e40c" ], [ "X64.Poly1305.Bitvectors_i.lemma_and_constants", @@ -376,7 +376,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt.to_vec" ], 0, - "d3f5f8eb9d45f0995d881fd8b87695b6" + "1ba00efc46d257d4fba7b8449363ac9d" ], [ "X64.Poly1305.Bitvectors_i.lemma_and_constants", @@ -399,7 +399,7 @@ "refinement_interpretation_Prims_Tm_refine_a4038d5aed1633b5ecbb4e499b1c66ad" ], 0, - "29ff3002fb5bb0cef0d62973e7177d5e" + "84027c779fa1e25b58778a8e7eb9a463" ], [ "X64.Poly1305.Bitvectors_i.lemma_and_constants", @@ -417,7 +417,7 @@ "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "740fcd3ce91ae57ea20cd9518eb8de9f" + "25c11404aa1ff6a830ceadbe0eb6c40d" ], [ "X64.Poly1305.Bitvectors_i.lemma_poly_constants", @@ -443,7 +443,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "684c8dcaef424b6907b2da978bebccf3" + "8b3518254ea32c32c702407e35875ff5" ], [ "X64.Poly1305.Bitvectors_i.lemma_poly_constants", @@ -470,7 +470,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "9a0038cb5bada71aeda248f4071b7c75" + "e83aff4a497ebce3fcb75c882fac728a" ], [ "X64.Poly1305.Bitvectors_i.lemma_poly_constants", @@ -500,7 +500,7 @@ "typing_FStar.UInt.fits" ], 0, - "7a3f7f28ef2545dbb130ceb8f615326b" + "2267bbdf6058336af221f3b6b7c88235" ], [ "X64.Poly1305.Bitvectors_i.lemma_poly_constants", @@ -527,7 +527,7 @@ "typing_FStar.UInt.fits" ], 0, - "14a4b3c5d535eb2a4190fc5f6815ed46" + "cd146065ea70610d368b82082531a830" ], [ "X64.Poly1305.Bitvectors_i.lemma_poly_constants", @@ -536,7 +536,7 @@ 0, [ "@query" ], 0, - "4ca44fc4733733a75531ea5b8eb2d299" + "c22e8c8846d1e4d2228e8d52ae122f7d" ], [ "X64.Poly1305.Bitvectors_i.lemma_and_commutes", @@ -545,7 +545,7 @@ 0, [ "@query", "true_interp" ], 0, - "f370c4906f769f400836983654213fe6" + "1b0dc6362857325e1a4a7a8ef7a14c30" ], [ "X64.Poly1305.Bitvectors_i.lemma_and_commutes", @@ -554,7 +554,7 @@ 0, [ "@query" ], 0, - "dc65939413e6343476fe187f71007d76" + "78dae9d8131ab10d4ca1f9c161091f9e" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", @@ -580,7 +580,7 @@ "typing_Prims.pow2" ], 0, - "fb36cdf8e8bc5509bdeabe1e8a1cd43a" + "c7527bff0c6f99ee3268c7a567ff70b3" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", @@ -607,7 +607,7 @@ "typing_Prims.pow2" ], 0, - "b8321ec31e576c62cddc848ea7c4254a" + "8b02832828e4c9bb0661e6888bd828bf" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", @@ -616,7 +616,7 @@ 0, [ "@query" ], 0, - "54734a07173b22d326ab8e3f21c6c46d" + "effde76fef2229c3dcf418d42af1f3ce" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", @@ -625,7 +625,7 @@ 0, [ "@query" ], 0, - "e1eab1219d8d33751e5e4c273957cdbc" + "dd611c9d703f8d01dc62587081d98cda" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", @@ -650,7 +650,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "48b86b472696b97122210f140e54b934" + "ccf92d08e3faddcd62ac6e17af124d0c" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", @@ -678,7 +678,7 @@ "typing_FStar.UInt.fits" ], 0, - "bfdd2c1da2d56750560072cd48d6a281" + "c338568634eb9089a435f115a68e1de4" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", @@ -687,7 +687,7 @@ 0, [ "@query" ], 0, - "fcda7e3d826f8540e0706294be59a395" + "66c437756d3aef25a28cddd8ed35af1f" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", @@ -696,7 +696,7 @@ 0, [ "@query" ], 0, - "4636fa67e02bac43d19e5922eb6bdaf8" + "1659d7c8cb5ce5ca9ae9a6b841f286df" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", @@ -720,7 +720,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "b4580e0bbe1a46615dcf3815821b5296" + "4d92150b45b0c79470e98ab090353b11" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", @@ -745,7 +745,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "6d51e7f182d25a707922fac135952ba2" + "043dcf92e77e6c86d436aedf869ce188" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", @@ -754,7 +754,7 @@ 0, [ "@query" ], 0, - "14bfff00cd5e8cb4f3a93f28601e8dbf" + "4c33bf3153fc6913f4a3033484cde4c5" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", @@ -763,7 +763,7 @@ 0, [ "@query" ], 0, - "bd84ffcb6e6b4788c4a31ada71214a5d" + "4d4024244ed686412d476c69828806c4" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", @@ -787,7 +787,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "68cf0ce7ea0491e5636a3b980a51ae97" + "4e239b9273091724aab411a90f9cb13d" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", @@ -812,7 +812,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "e0cef30ddf812b925c051eb7d44b262e" + "9b3e8b5998c409493679a2a716ea6e96" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", @@ -821,7 +821,7 @@ 0, [ "@query" ], 0, - "840d417b74c628dc79a1426c5e4b6b01" + "eee4d472bcf4824ddd2d973b39afa4f1" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", @@ -830,7 +830,7 @@ 0, [ "@query" ], 0, - "b9422f64afdfa80dbe08915cdd2b396c" + "927494baa474408db52e90edc37711ca" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", @@ -854,7 +854,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "9c2ab1d923ad1cdbb2c3af9ba57ea14c" + "590e3f1e7b98c5403e0a08b746992589" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", @@ -890,7 +890,7 @@ "typing_Prims.pow2" ], 0, - "4c6d046e0b10319a4295788157564348" + "b7661f607ceb9d7f85e96d6879d1375a" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", @@ -899,7 +899,7 @@ 0, [ "@query" ], 0, - "c02da4eef5cc548206caaee79de8281e" + "6184796e8fa96e7c99f59312471cf229" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", @@ -908,7 +908,7 @@ 0, [ "@query" ], 0, - "3eaf7b9420002322be2eeb8ad77fe053" + "9c87546e161edf86fdc981e0b410a200" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", @@ -932,7 +932,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "ce9a9d17df6682ca583e3817d44131d8" + "54ab9442707435761b2ed9830a26a663" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", @@ -957,7 +957,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "8c1299dbf1fe7b0e2cffb5c9f66e1afb" + "a37d676bab5234317819727fa9302ba3" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", @@ -966,7 +966,7 @@ 0, [ "@query" ], 0, - "4f12721ee11bafc7a7fb68caae8eff9f" + "b8fb01cc7d243d0787ebe22f453d0260" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", @@ -975,7 +975,7 @@ 0, [ "@query" ], 0, - "2a18fa5b92fd056442717b6785d06ca2" + "ea72a219e3e1660dba928cec8d4ab69b" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", @@ -999,7 +999,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "6ecf17a89f49f818bedbff5c3b7472f3" + "512540c75a9ec38c1f33b8721a3d79dc" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", @@ -1024,7 +1024,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "bd7418c7124be15b23ff77dd25be7124" + "47782111351f937c0c58b32f25fa6aaa" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", @@ -1033,7 +1033,7 @@ 0, [ "@query" ], 0, - "31a8593f8d1b4f680e8909fc3d757c0f" + "a89f0817cb1acf53da1a1dd99e8b4baa" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", @@ -1042,7 +1042,7 @@ 0, [ "@query" ], 0, - "4bdb57423d97d0d946d0764022ec433b" + "333e12d79543d8ab3a9e62d9bcde9247" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", @@ -1066,7 +1066,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "0a64adb2068d5b611022b05110681388" + "bbc34725daab477f013ceb375ed6c42c" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", @@ -1091,7 +1091,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "68a87e5c4791c8cf4ff5a08846a88a73" + "01658bbc3c425137956a4bc892ee7520" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", @@ -1100,7 +1100,7 @@ 0, [ "@query" ], 0, - "65c7032bc5f517e5385da37fff5830f9" + "3fa101c6804e8ff12ce8fddc36309325" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", @@ -1109,7 +1109,7 @@ 0, [ "@query" ], 0, - "d9994e313c909f33ac7f1cd18cb0bcee" + "74cce459314e5de51957d7f23fd6ae6c" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", @@ -1137,7 +1137,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "79ab538beb28691b6168721cae004523" + "0c748464390281d392df5bad61918c07" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", @@ -1165,7 +1165,7 @@ "token_correspondence_Prims.pow2.fuel_instrumented", "true_interp" ], 0, - "ea130633e038f6c09664b7a1c9c89322" + "379bb765377ecf5c6ab09256d81ad6ac" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", @@ -1174,7 +1174,7 @@ 0, [ "@query" ], 0, - "9ebcfb67d63a2db6d5fc1c5a199bbda3" + "0c88f30ead9982341b101d7f56891fd1" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", @@ -1200,7 +1200,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "683cbd5703b72a4f3bc6f9fb9eebd6f1" + "ea3bb03f8bf1a4d29c45d47732ea1f32" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", @@ -1227,7 +1227,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "2913441c689e588127258045b995e04e" + "2e8325830c67acc4a5742caab0ebd23d" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", @@ -1236,7 +1236,7 @@ 0, [ "@query" ], 0, - "97bcc126f924323851e0fa67d26795f0" + "a3caae0bfd62d1ba5ee10833bca60c91" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", @@ -1262,7 +1262,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "3673207b23f8650eb957fbb130e41d03" + "a508ec69d3fc4c4cc2e9f6e0dad213d2" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", @@ -1289,7 +1289,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "a4f56ffb8290e9f9d26a3826cc2890c7" + "83475862b9e7996ce9fff3c1497eb1b6" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", @@ -1298,7 +1298,7 @@ 0, [ "@query" ], 0, - "28b32e66ef23b2bce4d433ef4be0f572" + "d84a39d2c38240ff75cb8ba45457d0d8" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", @@ -1324,7 +1324,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "a5c5876d3f54ff155b6daf3efe733803" + "d1974844fcdc53751c863aece36a9104" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", @@ -1351,7 +1351,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "f1cf8c95a421e463c5d00007a5829b92" + "a211204a3f0a518c6f5c828cd4268466" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", @@ -1360,7 +1360,7 @@ 0, [ "@query" ], 0, - "f67c82cb4bec786c0780f128c0a82267" + "cea9735c556171878e206ab9e403c073" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", @@ -1389,7 +1389,7 @@ "typing_FStar.UInt.max_int", "typing_Prims.pow2" ], 0, - "257b582f2a95db38a5a98ee0e0d7ab81" + "ed319af3cbfc45d4ad49a12f4095c7c6" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", @@ -1419,7 +1419,7 @@ "typing_Prims.pow2" ], 0, - "aa9064aa8ca0b4282d6e2ec49e4f2c04" + "8c8858d5765ca0c61fbce5e7d7da0e8c" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", @@ -1428,7 +1428,7 @@ 0, [ "@query" ], 0, - "553e47f2d4dbbaab9f4b4a141ae67f1a" + "ae34024d77c7440dd2d41f2f5af033e9" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", @@ -1454,7 +1454,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "12dc28b373b30c31d4ee838994eedf4b" + "5ea12e6fc75ef0c05be18079a101c6b0" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", @@ -1481,7 +1481,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "fb66eb18fe5224d4c5454da79657ee6f" + "71ee45cf25df417fb2a2f17908660b62" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", @@ -1490,7 +1490,7 @@ 0, [ "@query" ], 0, - "4270c0dbfbf3b3e7f02e025d496d4f7c" + "733129e65b19c673262d9fb24fa264ac" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", @@ -1516,7 +1516,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "f3bf6ddbb519b75f522170d7095789c9" + "960694315240890b4cc50e9bb9707df2" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", @@ -1543,7 +1543,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "f5506b170a79b21a858c4e5216957565" + "9377011fc289def51ab41957f0a1b9f2" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", @@ -1552,7 +1552,7 @@ 0, [ "@query" ], 0, - "566e8f4516c5b045e6ad3f54c119e5c5" + "73d62e6601b36b170cee0e50585c7333" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", @@ -1578,7 +1578,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "e29587b0e975cb4175f4d64bb50c7093" + "b0ecb781bfc456f63a9d9568c7cacae8" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", @@ -1605,7 +1605,7 @@ "true_interp", "typing_FStar.UInt.fits" ], 0, - "6f43c7fe71a0ce76677272408d2180f9" + "7fe06912870e7ce3d61cc0633913ab5c" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", @@ -1614,7 +1614,7 @@ 0, [ "@query" ], 0, - "2a49e2404a2633441aa97249f830ac80" + "866cbd7d7ac81a1b348ef6b74dc888bd" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod", @@ -1648,7 +1648,7 @@ "typing_FStar.UInt.shift_left" ], 0, - "fbe5e74fe23c555323e77ba767f0c379" + "3463e795f80e5d66b5bbde18d7b3b0d4" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod", @@ -1666,7 +1666,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "f8123412dd82252bf3fec60a85f25919" + "aa04b6472a077002d335599b29cf1893" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_power2", @@ -1675,7 +1675,7 @@ 0, [ "@query" ], 0, - "1754a833d384e1a67023d9d50fb4a495" + "a54d5d0ee8ac2a8246b53e38b3e9054d" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_power2", @@ -1707,7 +1707,7 @@ "typing_FStar.BitVector.shift_left_vec", "typing_FStar.UInt.to_vec" ], 0, - "411620ec86273fa0c9399a5ec37293d2" + "0fb1d3b9adc128ab8921159397527c1e" ], [ "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_power2", @@ -1725,7 +1725,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "8ebe0adb9a637b751492435c51de65bc" + "91b513b3f359facc3d3778934f915ca3" ] ] ] \ No newline at end of file diff --git a/examples/vale/X64.Poly1305.Math_i.fst b/examples/vale/X64.Poly1305.Math_i.fst index 225fba92ab1..6c046880060 100644 --- a/examples/vale/X64.Poly1305.Math_i.fst +++ b/examples/vale/X64.Poly1305.Math_i.fst @@ -116,7 +116,7 @@ let lemma_poly_multiply (n:int) (p:pos) (r:int) (h:int) (r0:int) (r1:nat) (h0:in (* (ensures ((h2*n + h1)*((p+5)*x) + y + (h1*r0 + h0*r1)*n + h0*r0 == *) (* y + (h0*r1 + h1*r0 + h2*(5*x))* n + *) (* (h0*r0 + h1*(5*x)) + ((h2*n + h1)*x)*p)) = *) - (* assert_by_tactic ((h2*n+h1)*((p+5)*x) == (h2*n+h1)*5*x + ((h2*n+h1)*x)*p) canon; *) + (* assert ((h2*n+h1)*((p+5)*x) == (h2*n+h1)*5*x + ((h2*n+h1)*x)*p) by canon (); *) (* tcalc ( *) (* (h2*n + h1)*((p+5)*x) + (y + (h1*r0 + h0*r1)*n + h0*r0) *) (* &= (h2*n + h1)*5*x + ((h2*n + h1)*x)*p + (y + (h1*r0 + h0*r1)*n + h0*r0) &| using z3 *) @@ -209,7 +209,7 @@ let lemma_mod_factors(x0:nat) (x1:nat) (y:nat) (z:pos) : Lemma ((x0 + (y * z) * x1) % z == (x0 % z)) = nat_times_nat_is_nat y x1; lemma_mod_plus x0 (y*x1) z; - assert_by_tactic ((y*z)*x1 == (y*x1)*z) canon + assert ((y*z)*x1 == (y*x1)*z) by canon () #reset-options "--initial_fuel 0 --max_fuel 0 --smtencoding.elim_box true" let lemma_mul_pos_pos_is_pos_inverse (x:pos) (y:int) : diff --git a/examples/vale/X64.Poly1305.Math_i.fst.hints b/examples/vale/X64.Poly1305.Math_i.fst.hints index 9fa8cf4315b..838af907edf 100644 --- a/examples/vale/X64.Poly1305.Math_i.fst.hints +++ b/examples/vale/X64.Poly1305.Math_i.fst.hints @@ -1,5 +1,5 @@ [ - "úƒ\u0011\u0002€ÐĪm8\u0010O§îlÞ", + "\u001e,,Ç–Èv\u007fþW…(9§¢", [ [ "X64.Poly1305.Math_i.lowerUpper128", @@ -17,7 +17,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "dfafc1e6efacd90603990fd084eef85e" + "5908ff3471b7b0550af52b56c76f5a64" ], [ "X64.Poly1305.Math_i.mod2_128'", @@ -29,7 +29,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9733779b2548fd0501fa3a6d6c9dfc34" + "38aa99965f2bf30807e6fee52f810505" ], [ "X64.Poly1305.Math_i.heapletTo128", @@ -52,7 +52,7 @@ "typing_X64.Poly1305.Spec_s.op_String_Access" ], 0, - "2363d94ad8c72ad91de1fc93dabf0b7a" + "9c1cdd27cbc2dae8979b93a1f49ee5ef" ], [ "X64.Poly1305.Math_i.heapletTo128_all_preserved", @@ -96,7 +96,7 @@ "typing_Tm_abs_9b72939e455de1f222f52e810c488983" ], 0, - "17150eecf1950cc751fed42098fb2e64" + "f5ab2f2397a7f97da6e14061afa2f6b6" ], [ "X64.Poly1305.Math_i.poly1305_heap_blocks'", @@ -118,7 +118,7 @@ "well-founded-ordering-on-nat" ], 0, - "8fee3213cce64dcaf03c626f5d840239" + "3cdafec3f867fde6bddcb64feed0c2f8" ], [ "X64.Poly1305.Math_i.reveal_poly1305_heap_blocks", @@ -127,7 +127,7 @@ 0, [ "@query", "equation_X64.Poly1305.Math_i.poly1305_heap_blocks" ], 0, - "347985a387d6d84f50c7f007678191e5" + "3c66e541a36785de53081f6ce3561f9d" ], [ "X64.Poly1305.Math_i.lemma_heap_blocks_preserved", @@ -136,7 +136,7 @@ 0, [ "@query" ], 0, - "157b08aebc89536cb13400d4cbf3222a" + "cb02d55b1a07305681208b3ded0664b5" ], [ "X64.Poly1305.Math_i.lemma_mul_div_comm", @@ -145,7 +145,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "2508c01029429b0a514c67d2486415ba" + "2f85d14860f904135630b0d5a0c94577" ], [ "X64.Poly1305.Math_i.lemma_mul_div_comm", @@ -158,7 +158,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d24add153ba12ab093fb88c49753246e" + "e88645f7b92fc164231678a19fa86875" ], [ "X64.Poly1305.Math_i.lemma_exact_mul", @@ -167,7 +167,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "8d7accf2cd0d94ecd12f94bf62a9c812" + "e23630aab033ebb334cb60354d405d8c" ], [ "X64.Poly1305.Math_i.lemma_exact_mul", @@ -180,7 +180,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b83023574a026a9c22dca194ba2fa7f4" + "c2e182f15969187f12da09d71f06cab4" ], [ "X64.Poly1305.Math_i.lemma_mul_div_sep", @@ -189,7 +189,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "4dcacdd5e943d7a49536907dc6f15e9d" + "fd134ac391d7388d1ba37c814f4d87d7" ], [ "X64.Poly1305.Math_i.lemma_mul_div_sep", @@ -202,7 +202,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cd26630ce7cabb9a22eba3c41acc6315" + "a61a07c72006165a55de1953e02aba56" ], [ "X64.Poly1305.Math_i.swap_add", @@ -211,7 +211,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "1495936421207acdb4d04c8fde1cc437" + "33b65fbc6f33451fcac06f8a0155b3c1" ], [ "X64.Poly1305.Math_i.lemma_poly_multiply", @@ -224,7 +224,7 @@ "refinement_interpretation_Prims_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "4b9868c31664c542f5845ca441c78628" + "9405874c756abe2c2ba6240cf300ba11" ], [ "X64.Poly1305.Math_i.lemma_poly_reduce", @@ -237,7 +237,7 @@ "refinement_interpretation_Prims_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "ae6814b309ca609ca7bc7de700be8bdd" + "b3db0577e145f2dac8d6232cf19fdc84" ], [ "X64.Poly1305.Math_i.lemma_poly_reduce", @@ -253,7 +253,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ee71cff0c55a2eb9b2193ee54d71a2b7" + "9b87099f055f7895e2cfca5c15f1e469" ], [ "X64.Poly1305.Math_i.lemma_mul_strict_upper_bound", @@ -269,7 +269,7 @@ "unit_inversion", "unit_typing" ], 0, - "8b65f825e42da529995659aaaa9c2e34" + "1381d866373b5cb5d44ff0c20ae4a3f6" ], [ "X64.Poly1305.Math_i.lemma_bytes_shift_power2", @@ -278,7 +278,7 @@ 0, [ "@query" ], 0, - "52aace5b0bf12c03634ef02b59ec2c60" + "69c6da040219920374cf6f569106e287" ], [ "X64.Poly1305.Math_i.lemma_bytes_and_mod", @@ -294,7 +294,7 @@ "typing_X64.Vale.Decls.shift_left64" ], 0, - "4e2e85b5a4dbce6c99fb561e8d90d6e7" + "e8ee93381fc4b536a829c35855253e0d" ], [ "X64.Poly1305.Math_i.lemma_mod_factors", @@ -308,7 +308,7 @@ "true_interp" ], 0, - "3241f73188773f0b9b0bf9ee44a088f7" + "8daf828f1dc11528292f2826d69366db" ], [ "X64.Poly1305.Math_i.lemma_mul_pos_pos_is_pos_inverse", @@ -322,7 +322,7 @@ "projection_inverse_BoxInt_proj_0", "unit_inversion", "unit_typing" ], 0, - "88bffa9a6b8a544bf61520650e83ba10" + "e65c516c935e8dde96c6f7905061a417" ], [ "X64.Poly1305.Math_i.lemma_mod_factor_lo", @@ -335,7 +335,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "feea8e9b9f6019b42704ff2a345759b1" + "0fb83eccb84ff7bc652c5e7f5b21a276" ], [ "X64.Poly1305.Math_i.lemma_mod_power2_lo", @@ -344,7 +344,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "bfc23a37753a6ee61eb55257f6cd88ab" + "24cfa069420a4fffcc06d948b66bbaca" ], [ "X64.Poly1305.Math_i.lemma_mod_power2_lo", @@ -360,7 +360,7 @@ "typing_Prims.pow2" ], 0, - "f40a4e807532bcb0db137f9b83d1ea13" + "9975c19edb8f04af27859b556c53bd3f" ], [ "X64.Poly1305.Math_i.lemma_power2_add64", @@ -373,7 +373,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "41b5f43d9a5172100fb8fdc09b6d6fd9" + "92c2c0e4c23835d7cb01b819c3734e14" ], [ "X64.Poly1305.Math_i.lemma_power2_add64", @@ -382,7 +382,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "2347a6571ef4eba3766fa5bcf7701038" + "f0e5b2ea1fe3828404b8d54fab560342" ], [ "X64.Poly1305.Math_i.lemma_mod_breakdown", @@ -395,7 +395,7 @@ "refinement_interpretation_Prims_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "d98e09165ec336004bcc1d2389bb03e5" + "9f8cdd22e730ecd43bda4a5612c42441" ], [ "X64.Poly1305.Math_i.lemma_mod_hi", @@ -410,7 +410,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "19ca2922516fb5ddf0f1a4259e640a76" + "ca33bb6e3aff56d2dfcfcaea33a4106b" ], [ "X64.Poly1305.Math_i.lemma_mod_hi", @@ -426,7 +426,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "f9ecab8b4cab131e91ea0f126b2860be" + "69c9324f18963213c75eb9f3cb8efa4c" ], [ "X64.Poly1305.Math_i.lemma_poly_demod", @@ -439,7 +439,7 @@ "refinement_interpretation_Prims_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "a5898694580344de13963bc3dff46408" + "800ff9f2f752035a36a62e906c6ae75e" ], [ "X64.Poly1305.Math_i.lemma_lowerUpper128_and", @@ -456,7 +456,7 @@ "refinement_interpretation_X64.Poly1305.Spec_s_Tm_refine_ca59d6c748a08f1d9b598850b1f7def5" ], 0, - "13f1107f1f38bb5c2f520ba8d15801d8" + "54f49e174db03b7c2dcd59d3eb18435c" ], [ "X64.Poly1305.Math_i.lemma_poly1305_heap_hash_blocks", @@ -472,7 +472,7 @@ "refinement_interpretation_X64.Poly1305.Math_i_Tm_refine_f45ab270eec61acd49db899a7831824f" ], 0, - "1aaffbc51377f165c221b34dd941964a" + "44224a3a0d9625e8521eb80c87bcd540" ], [ "X64.Poly1305.Math_i.lemma_add_mod128", @@ -489,7 +489,7 @@ "token_correspondence_X64.Poly1305.Math_i.mod2_128_" ], 0, - "7f22bdc56e295e919505c06c5373acce" + "9d19931a760e513cc04b3613b2e1fafc" ] ] ] \ No newline at end of file diff --git a/examples/vale/X64.Poly1305.Spec_s.fst.hints b/examples/vale/X64.Poly1305.Spec_s.fst.hints index 3a8a556a826..ce3b932bca3 100644 --- a/examples/vale/X64.Poly1305.Spec_s.fst.hints +++ b/examples/vale/X64.Poly1305.Spec_s.fst.hints @@ -8,7 +8,7 @@ 0, [ "@query" ], 0, - "e015b30feff605a2ed0131e947afc1b2" + "00fd323aa17f91bb67320b37da73daa9" ], [ "X64.Poly1305.Spec_s.modp'", @@ -20,7 +20,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "048a934e40f5b8805af5f7825f93eaba" + "2370c0a9e4dbd274c5e2318382b51ce1" ], [ "X64.Poly1305.Spec_s.and128", @@ -47,7 +47,7 @@ "refinement_interpretation_Tm_refine_ca59d6c748a08f1d9b598850b1f7def5" ], 0, - "2acc5fbeb7dc986d912034fdc9d1291c" + "b03c35024d04bbb5f9284e054db4e333" ], [ "X64.Poly1305.Spec_s.poly1305_hash_blocks", @@ -69,7 +69,7 @@ "well-founded-ordering-on-nat" ], 0, - "7ea1130799dfd6fa1ae005d9e1d0a7cf" + "585dfb30112a4e2f0434eb1259df47a6" ], [ "X64.Poly1305.Spec_s.poly1305_hash", @@ -100,7 +100,7 @@ "typing_FStar.UInt.fits" ], 0, - "8a94355695929d9b7e4b7238d99fcb41" + "125b92f9035b8a4d4dd7da336b1a8539" ], [ "X64.Poly1305.Spec_s.uu___2", @@ -109,7 +109,7 @@ 0, [ "@query" ], 0, - "a043795bb47751c6b911e4bfcd785a5c" + "750d7d720e71c4b2002bd38521660ad1" ], [ "X64.Poly1305.Spec_s.modp'", @@ -121,7 +121,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8e13368e1d19d987bda899b21d015585" + "81683db12aad0554db09c614e03d3be3" ], [ "X64.Poly1305.Spec_s.and128", @@ -148,7 +148,7 @@ "refinement_interpretation_Tm_refine_ca59d6c748a08f1d9b598850b1f7def5" ], 0, - "dc79a7901340eece49105e21d2660a7b" + "e037a6939eaa28ca60efb11018c6d447" ], [ "X64.Poly1305.Spec_s.poly1305_hash_blocks", @@ -170,7 +170,7 @@ "well-founded-ordering-on-nat" ], 0, - "b46937f68ecb9e7abf8a34e48671090a" + "9c18a4f8a98522f7fb41b5a00287c8be" ], [ "X64.Poly1305.Spec_s.poly1305_hash", @@ -201,7 +201,7 @@ "typing_FStar.UInt.fits" ], 0, - "e7095da2f076da814c213cbab2919869" + "c07814ee1d9937a65159ff62457f9b20" ] ] ] \ No newline at end of file diff --git a/examples/vale/X64.Poly1305.fst.hints b/examples/vale/X64.Poly1305.fst.hints index 5fb2f89764e..d60f5dabe4a 100644 --- a/examples/vale/X64.Poly1305.fst.hints +++ b/examples/vale/X64.Poly1305.fst.hints @@ -25,7 +25,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7be754e524a24c4b9941cc5743f2c3ad" + "7969b0e373a5fa015393f5fe49f74fc4" ], [ "X64.Poly1305.va_ins_1_poly1305_multiply", @@ -51,7 +51,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9c10945040c3d772e2ae5b75dc7f18b2" + "55fd0ec76326e11585dceae72275e5f3" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_multiply", @@ -159,7 +159,7 @@ "typing_tok_X64.Machine_s.Rdx@tok" ], 0, - "ac30adf7f13d1c3af01f0b2ba3222cc1" + "059746a04e358514b7526ed9e22fef67" ], [ "X64.Poly1305.va_transparent_code_poly1305_reduce", @@ -173,7 +173,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4920e9cd1fd1a3c844fa6ee4dbf257bb" + "1c816383beb44658c598f91097ada2ae" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_reduce", @@ -185,7 +185,7 @@ "refinement_interpretation_X64.Poly1305_Tm_refine_237e76257ba97fd030dbba9c80e8eca9" ], 0, - "56d902c98f3a43a440c2e0e1f46a3ff4" + "f57932bb1351dc98f899087deb493c0f" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_reduce", @@ -286,7 +286,7 @@ "typing_tok_X64.Machine_s.Rbp@tok" ], 0, - "56fa2e6a4deabe58185975d15a1ef2fb" + "ab77f34a92dc559d5a37ddc2a137e42c" ], [ "X64.Poly1305.va_lemma_poly1305_reduce", @@ -298,7 +298,7 @@ "refinement_interpretation_X64.Poly1305_Tm_refine_237e76257ba97fd030dbba9c80e8eca9" ], 0, - "1b5d0f6097a7a2306301ffbf1b4e082c" + "0fc75b0da2f2953ee562033a0d026cf5" ], [ "X64.Poly1305.va_transparent_code_poly1305_reduce_regs", @@ -320,7 +320,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "17a2672a76739173943861e208dbbc92" + "4cf59eb0dbd40bc2e10b31269b84942d" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_reduce_regs", @@ -332,7 +332,7 @@ "refinement_interpretation_X64.Poly1305_Tm_refine_29d6fa3f135bff80d1786b1f95591cfa" ], 0, - "019d7e8f91e7e6b840ce519c34e4ddaa" + "e6f100a1a3a314a8059bcac28da237ce" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_reduce_regs", @@ -441,7 +441,7 @@ "typing_tok_X64.Machine_s.Rbx@tok" ], 0, - "53be62bd1722ba724c7b77dda61a39ec" + "67919a9c054a4800aac4cc2b93eb5f8c" ], [ "X64.Poly1305.va_lemma_poly1305_reduce_regs", @@ -453,7 +453,7 @@ "refinement_interpretation_X64.Poly1305_Tm_refine_29d6fa3f135bff80d1786b1f95591cfa" ], 0, - "24389ebfb582a2348ce0248f212188b0" + "4ca26350aadc1ea98a74de6db71ce1cd" ], [ "X64.Poly1305.va_transparent_code_poly1305_reduce_regs_fast_block", @@ -475,7 +475,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "aa8b126cc4f73430ddb87a2e76a5278d" + "e5eabb22f5e698ab81039760b0ddc5cd" ], [ "X64.Poly1305.va_ins_1_poly1305_reduce_regs_fast_block", @@ -497,7 +497,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "bea83453fc6015868e907ffa19b2ce7a" + "bfd62096f24cc9001330f8c6369fa059" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_reduce_regs_fast_block", @@ -509,7 +509,7 @@ "refinement_interpretation_X64.Poly1305_Tm_refine_dc232d26289557d5093adde0e0c5195b" ], 0, - "0ba98e355737376843ff994fd5d4eae9" + "c9c2b9b04160cfa72d931835a6353b7d" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_reduce_regs_fast_block", @@ -613,7 +613,7 @@ "typing_tok_X64.Machine_s.Rbx@tok" ], 0, - "23464c2f702032bb9284629a4a9b44e3" + "19d2d063fb1a970c255fd9655ede7d6e" ], [ "X64.Poly1305.va_lemma_poly1305_reduce_regs_fast_block", @@ -625,7 +625,7 @@ "refinement_interpretation_X64.Poly1305_Tm_refine_dc232d26289557d5093adde0e0c5195b" ], 0, - "48f7664fca5c9a2a895cb8b9895de963" + "420f7073891de9c04bf9e84056ca8df3" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_iteration", @@ -733,7 +733,7 @@ "typing_tok_X64.Machine_s.Rdx@tok" ], 0, - "74e6c81f5f1f7d6e7ef1fd069704c2fb" + "d308b7e55ff1505a9450b2d78cb5fd42" ], [ "X64.Poly1305.va_transparent_code_poly1305_blocks", @@ -771,7 +771,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4afa60af0eb8dd4e476195a6cc1180ff" + "f486ea552028409353bac769429d079c" ], [ "X64.Poly1305.va_ins_1_poly1305_blocks", @@ -801,7 +801,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "5351185515499f0fa31cefc17c767aa5" + "3efaa9b5164dcf45530eeefe55260e65" ], [ "X64.Poly1305.va_ins_2_poly1305_blocks", @@ -817,7 +817,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "45db36aeeac8eb5b56a96615f922460a" + "b92eea5c82c11a9c398898e20b12b12c" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_blocks", @@ -841,7 +841,7 @@ "typing_tok_X64.Machine_s.Rdx@tok" ], 0, - "d5ff43ab427ef8d282e79e67c8a2091a" + "bfa885bd664b2ebd18755416813dfd06" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_blocks", @@ -1024,7 +1024,7 @@ "typing_tok_X64.Machine_s.Rsi@tok", "well-founded-ordering-on-nat" ], 0, - "8360a3ca41681e0e38be0ebc5f314538" + "7f4d99b46e0e16699eb7489c0d99647c" ], [ "X64.Poly1305.va_lemma_poly1305_blocks", @@ -1048,7 +1048,7 @@ "typing_tok_X64.Machine_s.Rdx@tok" ], 0, - "4091e9a167a4b97a9749834fafcee0c8" + "b59de95b2bd62a844cd88189cd36dc60" ], [ "X64.Poly1305.va_transparent_code_poly1305_last_block", @@ -1070,7 +1070,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e91e49aada89b1060b4e986623252519" + "460f8afc0d3bda7bea2f6ee6688a21b3" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_last_block", @@ -1089,7 +1089,7 @@ "typing_X64.Vale.State_i.eval_operand" ], 0, - "0fc02accb919ecfb8f49947a0c352384" + "96a367063ad18870c78196d4cbb85892" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_last_block", @@ -1256,7 +1256,7 @@ "typing_tok_X64.Machine_s.Rdx@tok" ], 0, - "caad39e75ea34444417afb378537584e" + "8cecdc27243422fb4c332d267f876c71" ], [ "X64.Poly1305.va_lemma_poly1305_last_block", @@ -1275,7 +1275,7 @@ "typing_X64.Vale.State_i.eval_operand" ], 0, - "b6178949a3edf4854ba822e0f24703b3" + "e181ed38b5ab47845e9ff04784505941" ], [ "X64.Poly1305.va_transparent_code_poly1305_reduce_last", @@ -1295,7 +1295,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1be6975a0d00ef758303248cda8804bd" + "662906dc4c1ca82f228cde5aa6b20974" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_reduce_last", @@ -1421,7 +1421,7 @@ "typing_tok_X64.Machine_s.Rbx@tok" ], 0, - "56bc754062fde2032c854ec4b174104c" + "38a883a62aec675d23f11320588c5ba2" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_add_key_s", @@ -1501,7 +1501,7 @@ "typing_X64.Vale.State_i.__proj__Mkstate__item__regs" ], 0, - "ae1e090909ebc0f047326cea11d7b440" + "8ae5911b2ac9e87953f11e1d4a8668ef" ], [ "X64.Poly1305.modp_0", @@ -1517,7 +1517,7 @@ "token_correspondence_X64.Poly1305.Spec_s.modp_" ], 0, - "a656a6bfa49b2c6ac16f95fde266a020" + "0f9c05078d03c3c8f5ddf8196433ea64" ], [ "X64.Poly1305.bare_r", @@ -1542,7 +1542,7 @@ "refinement_interpretation_Tm_refine_ca59d6c748a08f1d9b598850b1f7def5" ], 0, - "0943593add9c97662be5f4b20bc925c7" + "f929242c8e4b6c70c7b5415efe7cb884" ], [ "X64.Poly1305.va_transparent_code_poly1305_impl", @@ -1576,7 +1576,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6abc67b7342d12488255eaece4c5f00f" + "09e29e6ae427a1f750219aabab59fd41" ], [ "X64.Poly1305.va_ins_1_poly1305_impl", @@ -1596,7 +1596,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1f87e3495553de932d4cd63fb2b6a969" + "718006c8cb53ac648c76e6f3e4067cdd" ], [ "X64.Poly1305.va_ins_2_poly1305_impl", @@ -1614,7 +1614,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8c95ca58024f2e7e9a22533c2c22496f" + "3c088f61256fed9a7f9644081b7a5709" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305_impl", @@ -1811,7 +1811,7 @@ "typing_tok_X64.Machine_s.Rsi@tok" ], 0, - "f2132a3e73f6aead892cd5a7d9cad83c" + "bbf6e841afa5e663cc441994d46e7281" ], [ "X64.Poly1305.va_transparent_code_poly1305", @@ -1845,7 +1845,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0b245e5f24ea0720fd2b867ebfafd1a7" + "81933053d7f6ebc83228dfe303f62038" ], [ "X64.Poly1305.va_ins_2_poly1305", @@ -1875,7 +1875,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "56e1ec635cdf2c07519f9a3398dfbb9a" + "8ba9648a3305ec81fcedfed2e207686c" ], [ "X64.Poly1305.va_irreducible_lemma_poly1305", @@ -2022,7 +2022,7 @@ "typing_tok_X64.Machine_s.Rsi@tok" ], 0, - "f5e2619eaee93dc9b555ba9c0a264316" + "97e1831f08f4760265c304920953e4ef" ] ] ] \ No newline at end of file diff --git a/examples/vale/X64.Print_s.fst.hints b/examples/vale/X64.Print_s.fst.hints index 12fd13c3844..22fe865d600 100644 --- a/examples/vale/X64.Print_s.fst.hints +++ b/examples/vale/X64.Print_s.fst.hints @@ -19,7 +19,7 @@ "fuel_guarded_inversion_X64.Machine_s.reg" ], 0, - "42e1bebde738c3c18fa610a16524677a" + "7e138cfa2795bfe67df14f707dc05fc5" ], [ "X64.Print_s.print_maddr", @@ -34,7 +34,7 @@ "fuel_guarded_inversion_X64.Machine_s.maddr" ], 0, - "e7eab754cf3e48f31eb804fa70ce21ad" + "28b7b35accf12899f4f229195c007ecf" ], [ "X64.Print_s.print_operand", @@ -49,7 +49,7 @@ "fuel_guarded_inversion_X64.Machine_s.operand" ], 0, - "a215bbf60260a9e3205a066fae73fe85" + "bea98ce874c155a8814a3b8737ce945a" ], [ "X64.Print_s.print_shift_operand", @@ -58,7 +58,7 @@ 0, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "b0756d91d21b90b7617a0804d336a0d4" + "daa59f1cbf971161be8cfe6c5dac84f9" ], [ "X64.Print_s.cmp_not", @@ -76,7 +76,7 @@ "fuel_guarded_inversion_X64.Semantics_s.ocmp" ], 0, - "14d4396bff2e5965edb2cc1f985d02c3" + "b71e028712cee2fd0eb447071f65dbfe" ], [ "X64.Print_s.uu___116", @@ -111,7 +111,7 @@ "typing_X64.Print_s.cmp_not", "unit_typing" ], 0, - "eea509e66426e1ac74c82a764c2668d4" + "1e8b3ed9def93b9bc77626f796364563" ], [ "X64.Print_s.print_ins", @@ -136,7 +136,7 @@ "string_inversion" ], 0, - "8d269e4def54014834127b478d742bd6" + "19d48ec377e0e4d87789fff95af0584a" ], [ "X64.Print_s.print_cmp", @@ -154,7 +154,7 @@ "fuel_guarded_inversion_X64.Semantics_s.ocmp" ], 0, - "4cb4a0a0b0b54542f8e18885a223d49d" + "8db1c00c2e45df010712b9dfb4ddfc1e" ], [ "X64.Print_s.print_block", @@ -171,7 +171,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "9ffcc0a6763cb3f72294ce30b8cb4f2a" + "b31bcea673397f245c7e8e83444074b2" ], [ "X64.Print_s.print_block", @@ -191,7 +191,7 @@ "subterm_ordering_X64.Machine_s.While" ], 0, - "198b95662a807367963968e129ee0768" + "fd029493c2d400ea438b47f2f7fd8d0c" ], [ "X64.Print_s.masm", @@ -208,7 +208,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "322f1bc8c3f17d16de0cf0e885828d11" + "e98ee70712d0d2ca58dbb036390a2fe7" ], [ "X64.Print_s.gcc", @@ -232,7 +232,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e889194fdb795e246590e2c04b6ead46" + "cecc3870557517019bed471d17828b0a" ], [ "X64.Print_s.print_reg", @@ -252,7 +252,7 @@ "fuel_guarded_inversion_X64.Machine_s.reg" ], 0, - "824803370dc6cff603290736985a5d32" + "1cc6cbaff29483f5b54fa687fe9e519c" ], [ "X64.Print_s.print_maddr", @@ -267,7 +267,7 @@ "fuel_guarded_inversion_X64.Machine_s.maddr" ], 0, - "fd9471fd97f5eadec1859232106ccc2d" + "da92bfc4b853d3dc5b81402046bb1604" ], [ "X64.Print_s.print_operand", @@ -282,7 +282,7 @@ "fuel_guarded_inversion_X64.Machine_s.operand" ], 0, - "0d5aa37e096545553b8870231ceb0b39" + "06a7c8be0534349f3e1a400c500096dd" ], [ "X64.Print_s.print_shift_operand", @@ -291,7 +291,7 @@ 0, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "5db49a3402ea183140030274a9ffd7e0" + "086706ca6763a2cd08f907ee0c24e7eb" ], [ "X64.Print_s.cmp_not", @@ -309,7 +309,7 @@ "fuel_guarded_inversion_X64.Semantics_s.ocmp" ], 0, - "3d06a7bc84df45f70087a5d1f79b5b8c" + "ce45a311dd3d253aec4ab87590538279" ], [ "X64.Print_s.uu___116", @@ -344,7 +344,7 @@ "typing_X64.Print_s.cmp_not", "unit_typing" ], 0, - "6f84870dc8df403a4174cb5bb9f25314" + "6cdbe52e5e231e23971113c7c2dbe87b" ], [ "X64.Print_s.print_ins", @@ -369,7 +369,7 @@ "string_inversion" ], 0, - "b209b0606631c974e17a91c8fdb49cca" + "fafd9252fea5f259629980d7d0adf6fb" ], [ "X64.Print_s.print_cmp", @@ -387,7 +387,7 @@ "fuel_guarded_inversion_X64.Semantics_s.ocmp" ], 0, - "d9f6596308a59012135fed104e47d621" + "a06963384f14469325b3950d800d3c0f" ], [ "X64.Print_s.print_block", @@ -404,7 +404,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "1490a8f4c7c1e5127f854d0e68515153" + "45d7aa312c4417c9330da26956cd6c4d" ], [ "X64.Print_s.print_block", @@ -424,7 +424,7 @@ "subterm_ordering_X64.Machine_s.While" ], 0, - "7594a0fc8c0bcb68b3d1ef866563ddac" + "0daf2ba710ab6a4d5f09cac7d5b6a2a9" ], [ "X64.Print_s.masm", @@ -441,7 +441,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9783bbb30d01feceb6256f941ea230d2" + "0e2d0e721c3eb88c54fbb2f2a6c95fbe" ], [ "X64.Print_s.gcc", @@ -465,7 +465,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "8580cc256a7d386110e95344fdd54ae5" + "331b8717208d2c3f6616b2bfc2bfd505" ] ] ] \ No newline at end of file diff --git a/examples/vale/X64.Semantics_s.fst.hints b/examples/vale/X64.Semantics_s.fst.hints index a1fb796edd1..d08c6a0a7cc 100644 --- a/examples/vale/X64.Semantics_s.fst.hints +++ b/examples/vale/X64.Semantics_s.fst.hints @@ -12,7 +12,7 @@ "haseqTm_refine_e85c4468bd6fa895770a44e5ae1526dc" ], 0, - "c751d843a433b77e2e06852d58e2be2e" + "90e6f55817318094e09d4f400203e44b" ], [ "X64.Semantics_s.__proj__Mov64__item__dst", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_e8de62b85869f7c1a1780736ed143295" ], 0, - "b9c726c36f810709c651008abf9f865f" + "a7f018b6daf8475fcd87a74e9122dec6" ], [ "X64.Semantics_s.__proj__Mov64__item__src", @@ -40,7 +40,7 @@ "refinement_interpretation_Tm_refine_e8de62b85869f7c1a1780736ed143295" ], 0, - "a6db11ff628fe39d0531c07dc92727c0" + "447197efd975b47f021a58b860f9f293" ], [ "X64.Semantics_s.__proj__Add64__item__dst", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_6fab9340d0ab4fd98129eb512f268790" ], 0, - "b393d0a77bd5c3237079f20e8a85ada8" + "dcdcbbe3c12bd2aec4da83e50a9f41ab" ], [ "X64.Semantics_s.__proj__Add64__item__src", @@ -68,7 +68,7 @@ "refinement_interpretation_Tm_refine_6fab9340d0ab4fd98129eb512f268790" ], 0, - "89bebe88781a097a49cf42089d6b1ef7" + "3d0dc47280e04cef7dec6b4365e11c9f" ], [ "X64.Semantics_s.__proj__AddLea64__item__dst", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_e04f937679d9c74a6caf8aa7b9f98189" ], 0, - "0eceba76b7989e486d4f71eada583df5" + "6eae26ed3115cb8c7c2bfa4faeafea20" ], [ "X64.Semantics_s.__proj__AddLea64__item__src1", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_e04f937679d9c74a6caf8aa7b9f98189" ], 0, - "c16363010f292106b6e598c5bf93657c" + "8e1b9749ae2a091293f34d00a47e8f4e" ], [ "X64.Semantics_s.__proj__AddLea64__item__src2", @@ -110,7 +110,7 @@ "refinement_interpretation_Tm_refine_e04f937679d9c74a6caf8aa7b9f98189" ], 0, - "f306bda91becd1054f8d12f879581c72" + "ae45cb807ce7a9f49e3c604b35b0d705" ], [ "X64.Semantics_s.__proj__AddCarry64__item__dst", @@ -124,7 +124,7 @@ "refinement_interpretation_Tm_refine_16a53ffd1bab892d408baed6f0393a33" ], 0, - "8e13142d4cf6702364ba8f41c61e6edf" + "ceb4ee4909b5ebf6eff5d01aee2da6c0" ], [ "X64.Semantics_s.__proj__AddCarry64__item__src", @@ -138,7 +138,7 @@ "refinement_interpretation_Tm_refine_16a53ffd1bab892d408baed6f0393a33" ], 0, - "743efefe1435df769651d167bc0fb1c7" + "c8d2df3797e1177f3c6b1fad3188e19f" ], [ "X64.Semantics_s.__proj__Sub64__item__dst", @@ -152,7 +152,7 @@ "refinement_interpretation_Tm_refine_569023f890bbff681c285b9f9a216ade" ], 0, - "48a464364fd4455980c3e62d73d2f939" + "fc28142623d434748f42ec973e4fe7dc" ], [ "X64.Semantics_s.__proj__Sub64__item__src", @@ -166,7 +166,7 @@ "refinement_interpretation_Tm_refine_569023f890bbff681c285b9f9a216ade" ], 0, - "95e2679674e8a2058589fc249bd7a662" + "9883ae1d5179d7ac610ae0221df66a14" ], [ "X64.Semantics_s.__proj__Mul64__item__src", @@ -180,7 +180,7 @@ "refinement_interpretation_Tm_refine_eb9d1a68ff54ae6cb27769ecbf49ba9b" ], 0, - "ddb336c27d14c3627ee37af76ec6bee7" + "db025cdfded76b05fb029b8940e309ed" ], [ "X64.Semantics_s.__proj__IMul64__item__dst", @@ -194,7 +194,7 @@ "refinement_interpretation_Tm_refine_2b0bbeefece73e6f59fc38828ce1e64e" ], 0, - "c5293f97baa01cec1ac839c515eee129" + "8161b42d38fff1eaf0ff86e4e0dab468" ], [ "X64.Semantics_s.__proj__IMul64__item__src", @@ -208,7 +208,7 @@ "refinement_interpretation_Tm_refine_2b0bbeefece73e6f59fc38828ce1e64e" ], 0, - "7f453ab3e8b5d5e9249f60d4e82c190d" + "4d20f7a70d2aedebee81840e040982bc" ], [ "X64.Semantics_s.__proj__Xor64__item__dst", @@ -222,7 +222,7 @@ "refinement_interpretation_Tm_refine_1957040814f569aff4b252943fe77fdd" ], 0, - "5a0b0c480af13d797141c07d9334f9e1" + "1e8373fb37f54159583df745067b4bc3" ], [ "X64.Semantics_s.__proj__Xor64__item__src", @@ -236,7 +236,7 @@ "refinement_interpretation_Tm_refine_1957040814f569aff4b252943fe77fdd" ], 0, - "0e96eaa8f22416775d22b5fd25473075" + "cc4540371d2b50a4d19b1128dbc7b4ef" ], [ "X64.Semantics_s.__proj__And64__item__dst", @@ -250,7 +250,7 @@ "refinement_interpretation_Tm_refine_cebe7e9690dfac8d7c9475e4922b0da2" ], 0, - "f1ef9f53843f87bf18dda3932ba59dec" + "6d1e4414049643e27e9cc6d2314d6310" ], [ "X64.Semantics_s.__proj__And64__item__src", @@ -264,7 +264,7 @@ "refinement_interpretation_Tm_refine_cebe7e9690dfac8d7c9475e4922b0da2" ], 0, - "4cc949f10b3bc44a4f30cc405986bd3e" + "fab57865446d073b0f8244b1e160dcde" ], [ "X64.Semantics_s.__proj__Shr64__item__dst", @@ -278,7 +278,7 @@ "refinement_interpretation_Tm_refine_e31d0af1473307c26c9e917a73600ad0" ], 0, - "fe31fa603784dec76eb378eca79591c2" + "ded6ae213520f6ab12da26c92a0dbd85" ], [ "X64.Semantics_s.__proj__Shr64__item__amt", @@ -292,7 +292,7 @@ "refinement_interpretation_Tm_refine_e31d0af1473307c26c9e917a73600ad0" ], 0, - "f5fee047e5840d1ab3a333aab23122ae" + "dec0bbc54abedcec43a797aca7ebbe93" ], [ "X64.Semantics_s.__proj__Shl64__item__dst", @@ -306,7 +306,7 @@ "refinement_interpretation_Tm_refine_b4ab27333df03bce36b56906586a3225" ], 0, - "cf3067d76600d9fac0a4c0ac3c758ed1" + "1bdfbff8635124071ae6bde1a1077a08" ], [ "X64.Semantics_s.__proj__Shl64__item__amt", @@ -320,7 +320,7 @@ "refinement_interpretation_Tm_refine_b4ab27333df03bce36b56906586a3225" ], 0, - "7086dd77dcdaeb03683c6c285fb0d65c" + "b375cfc7babe07adb8e4aa9067a64209" ], [ "X64.Semantics_s.ocmp", @@ -329,7 +329,7 @@ 0, [ "@query", "assumption_X64.Machine_s.operand__uu___haseq" ], 0, - "1369658dfc9352e66036e021b715a2a3" + "958dd313928b39519f87f48f35b1e6d4" ], [ "X64.Semantics_s.__proj__OEq__item__o1", @@ -343,7 +343,7 @@ "refinement_interpretation_Tm_refine_495233c1b3965f79901632003c360db5" ], 0, - "3b166a9813159f32754f5c57c48b93a0" + "4ce450746b5fe37d006c4e79dca34927" ], [ "X64.Semantics_s.__proj__OEq__item__o2", @@ -357,7 +357,7 @@ "refinement_interpretation_Tm_refine_495233c1b3965f79901632003c360db5" ], 0, - "6c29b3dcc49225602ef7efbd7a35b783" + "6324743cd5f0cf9a75c14e3ce0c08b87" ], [ "X64.Semantics_s.__proj__ONe__item__o1", @@ -371,7 +371,7 @@ "refinement_interpretation_Tm_refine_48e1a980bff417eb8ecda8fd755a7052" ], 0, - "fdb53707839ecc83e8153f3e64ab0c71" + "1e54c1d68e1343cae58e92701410d409" ], [ "X64.Semantics_s.__proj__ONe__item__o2", @@ -385,7 +385,7 @@ "refinement_interpretation_Tm_refine_48e1a980bff417eb8ecda8fd755a7052" ], 0, - "6cc31cf8957f22b28159322859fbd444" + "da8881d4c3a54b78dc608c27221730e0" ], [ "X64.Semantics_s.__proj__OLe__item__o1", @@ -399,7 +399,7 @@ "refinement_interpretation_Tm_refine_57f9b3587a37875d37de2b8ee309c52c" ], 0, - "e51ef7e85a7d57b4d68d5ee7f110f44d" + "99f9f6240d31245e00fe052197fc83c9" ], [ "X64.Semantics_s.__proj__OLe__item__o2", @@ -413,7 +413,7 @@ "refinement_interpretation_Tm_refine_57f9b3587a37875d37de2b8ee309c52c" ], 0, - "795e93aba3f3446ce678d784cc7b2b8a" + "d02ce84cd5792ae6a8c4d97029ba3be7" ], [ "X64.Semantics_s.__proj__OGe__item__o1", @@ -427,7 +427,7 @@ "refinement_interpretation_Tm_refine_f22bf0e89c9043ddb9367ea1bd90ba6e" ], 0, - "6a4883ceb66ed0ec4ff576ac4226606c" + "164693fddb223fc7b5ad40d9ae6c5574" ], [ "X64.Semantics_s.__proj__OGe__item__o2", @@ -441,7 +441,7 @@ "refinement_interpretation_Tm_refine_f22bf0e89c9043ddb9367ea1bd90ba6e" ], 0, - "eb0fb990810bd09811a5fb82990855fb" + "e9fce7358ea9689f3b8d4db81d24275f" ], [ "X64.Semantics_s.__proj__OLt__item__o1", @@ -455,7 +455,7 @@ "refinement_interpretation_Tm_refine_e3f7ed102fdc0dee07045511829455f8" ], 0, - "e67cd846ead2ba32e7ca1ccd31be6aae" + "034d110ed9c72b8dd680bffe365d00f1" ], [ "X64.Semantics_s.__proj__OLt__item__o2", @@ -469,7 +469,7 @@ "refinement_interpretation_Tm_refine_e3f7ed102fdc0dee07045511829455f8" ], 0, - "041aed8b52c7202d9382aa820de0afbe" + "2598704357c890ea8ca61f6661ac1247" ], [ "X64.Semantics_s.__proj__OGt__item__o1", @@ -483,7 +483,7 @@ "refinement_interpretation_Tm_refine_078a14331436c956e0be06364feefcd5" ], 0, - "19a28eaef8b8d8e52c98b96be59c284c" + "285fcb3096d490e0edb8154767095e70" ], [ "X64.Semantics_s.__proj__OGt__item__o2", @@ -497,7 +497,7 @@ "refinement_interpretation_Tm_refine_078a14331436c956e0be06364feefcd5" ], 0, - "137188c20f83eec8a48d3ff5e34eb6f4" + "32356bd13bfacf5f85043d25826ba103" ], [ "X64.Semantics_s.u", @@ -509,7 +509,7 @@ "equation_FStar.UInt.size" ], 0, - "371b93ccae23cc83266e73bce597cb61" + "f03f3a55b93b378d322f8abe9bf6e9db" ], [ "X64.Semantics_s.eval_maddr", @@ -524,7 +524,7 @@ "fuel_guarded_inversion_X64.Machine_s.maddr" ], 0, - "6fdbbef68fcb4688780295ea2f2a86ca" + "340d00c2a02c49ea26981cad52a3d3f4" ], [ "X64.Semantics_s.eval_operand", @@ -550,7 +550,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "dbdc413243454539419ece9217592ca6" + "57cb8fd5cab147fb5a89bf3761f6c1a8" ], [ "X64.Semantics_s.update_reg'", @@ -559,7 +559,7 @@ 0, [ "@query", "assumption_X64.Machine_s.reg__uu___haseq" ], 0, - "d3f20c1f700a0ddf2b263e50fb38993b" + "9329f88f0664cc5ca09216610aba93b4" ], [ "X64.Semantics_s.valid_operand", @@ -574,7 +574,7 @@ "fuel_guarded_inversion_X64.Machine_s.operand" ], 0, - "0b0477949e547bbf1fe9b73bd02b8d45" + "3e3273f8f96e84f827615caa2bf2e63d" ], [ "X64.Semantics_s.update_operand_preserve_flags'", @@ -593,7 +593,7 @@ "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc" ], 0, - "61c6e5079241285c3d90c7d0931191b7" + "eaab31a4c5570c61c2ffc2d88d250bd1" ], [ "X64.Semantics_s.update_cf", @@ -622,7 +622,7 @@ "typing_FStar.UInt64.v" ], 0, - "04170944a75c71fd6676b673d60041be" + "7bd67f3371647d21ee3d7bde2f01df68" ], [ "X64.Semantics_s.logxor", @@ -646,7 +646,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "ce051c6af7666e21409be83dafff1fa2" + "137a80171fbf70547f425081daa0e327" ], [ "X64.Semantics_s.logxor_uint64", @@ -665,7 +665,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d0bae34036d9f535b8125acb47af4a25" + "6f471ce7ac78ba48d48b1a007e7a7766" ], [ "X64.Semantics_s.logand", @@ -689,7 +689,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "7cea8863f89d7a2d12c0445d1611718e" + "37d0f27fb2ab42c92cd629fa371ac995" ], [ "X64.Semantics_s.logand_uint64", @@ -708,7 +708,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a1e2035d196a03264e85e2f51931036b" + "ca8137cd29e5e50afafec053614cf05c" ], [ "X64.Semantics_s.shift_right", @@ -745,7 +745,7 @@ "token_correspondence_FStar.UInt.to_vec.fuel_instrumented" ], 0, - "32955bc46a57756d6b3a9cbfe0b78558" + "78d053f30ba9d8f488496946577b69fb" ], [ "X64.Semantics_s.shift_right_uint64", @@ -768,7 +768,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "65c0eab582aaa4c3267403a1d4a87ed0" + "cffbdc50fcf3c5be34af07341a62664f" ], [ "X64.Semantics_s.shift_left", @@ -805,7 +805,7 @@ "token_correspondence_FStar.UInt.to_vec.fuel_instrumented" ], 0, - "51bbd92d6063ea9387fb74cb9ea160de" + "d5a1d8279850414abf04b312ff7f0317" ], [ "X64.Semantics_s.shift_left_uint64", @@ -828,7 +828,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "bb0cb88d2c10672fe858a7d4b51a0027" + "31ea6d81b10eb81c6a2a103c70f07b2b" ], [ "X64.Semantics_s.eval_ocmp", @@ -848,7 +848,7 @@ "fuel_guarded_inversion_X64.Semantics_s.ocmp" ], 0, - "5fdbb66c4d1672af4ee69692c5571f41" + "c64cd8066ad083c590c93ce173055923" ], [ "X64.Semantics_s.add_mod64", @@ -868,7 +868,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "d37648b2289dc1b1c9625fff3a735547" + "061bb4b14a0546e68093a96357cb14be" ], [ "X64.Semantics_s.sub_mod64", @@ -895,7 +895,7 @@ "typing_FStar.UInt64.v" ], 0, - "807009a4bdd884b6f2c9de3dec8057cc" + "047f554e7648d9beb3a53dee69cb3e5e" ], [ "X64.Semantics_s.mul_mod64", @@ -915,7 +915,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "b9fc0dc6dc1ac63410765a8a11eb3add" + "15b424ae196887c3b6163c93081d3cb3" ], [ "X64.Semantics_s.mul_div64", @@ -941,7 +941,7 @@ "typing_FStar.UInt64.v" ], 0, - "5273fa4ff4c962157f1c05f830a685d2" + "6977034dbf2c0afc531d88828c16c6f2" ], [ "X64.Semantics_s.eval_ins", @@ -977,7 +977,7 @@ "typing_X64.Semantics_s.shift_right" ], 0, - "659c4997cd7b23115ba0659b321e92d3" + "c9f65c9d9a2f7476482fa8057fb58e73" ], [ "X64.Semantics_s.eval_code", @@ -1000,7 +1000,7 @@ "subterm_ordering_X64.Machine_s.While" ], 0, - "81b806832fbd370a03760061dd2688c8" + "324d5f601f5f9dd5b6f40088fe019508" ], [ "X64.Semantics_s.eval_code", @@ -1022,7 +1022,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "398254f2a678b34c520da68bca555988" + "2f8e0dbd2d47429e30f09a759e5b4497" ], [ "X64.Semantics_s.eval_code", @@ -1047,7 +1047,7 @@ "well-founded-ordering-on-nat" ], 0, - "f2d342ca50fd40224343e17286cfccd6" + "32cbd6ef6eda8484bb849c55a406b249" ], [ "X64.Semantics_s.ins", @@ -1060,7 +1060,7 @@ "haseqTm_refine_e85c4468bd6fa895770a44e5ae1526dc" ], 0, - "84a21ebaea50efba043b5fe5745a7163" + "537eec7b73708cab3dd5cc45f99461c2" ], [ "X64.Semantics_s.__proj__Mov64__item__dst", @@ -1074,7 +1074,7 @@ "refinement_interpretation_Tm_refine_e8de62b85869f7c1a1780736ed143295" ], 0, - "28373629b676d1066784c543a04404f9" + "383ab8ef10680801d21a142dff07f4c0" ], [ "X64.Semantics_s.__proj__Mov64__item__src", @@ -1088,7 +1088,7 @@ "refinement_interpretation_Tm_refine_e8de62b85869f7c1a1780736ed143295" ], 0, - "03981e0caa8521063a1f763156d5cc3c" + "3c7b94ebc8c9a2758c946de122e7641b" ], [ "X64.Semantics_s.__proj__Add64__item__dst", @@ -1102,7 +1102,7 @@ "refinement_interpretation_Tm_refine_6fab9340d0ab4fd98129eb512f268790" ], 0, - "682f931ddac3779fa0dd4ba96f6d1f7d" + "fa4c045cad04ed2040a72b0873b9c58f" ], [ "X64.Semantics_s.__proj__Add64__item__src", @@ -1116,7 +1116,7 @@ "refinement_interpretation_Tm_refine_6fab9340d0ab4fd98129eb512f268790" ], 0, - "a8d759fe891ddbee421986539902a6bd" + "393bc61b5363cc8aa9ee2ace21593ea9" ], [ "X64.Semantics_s.__proj__AddLea64__item__dst", @@ -1130,7 +1130,7 @@ "refinement_interpretation_Tm_refine_e04f937679d9c74a6caf8aa7b9f98189" ], 0, - "eca20cd35cadf62f6405506d67468290" + "f838fe9adcea4682b6f4648b5ef34cba" ], [ "X64.Semantics_s.__proj__AddLea64__item__src1", @@ -1144,7 +1144,7 @@ "refinement_interpretation_Tm_refine_e04f937679d9c74a6caf8aa7b9f98189" ], 0, - "967e3e62537b66efbf56759538eb545c" + "f7004e7f7a44f9b0af236bd98f479c82" ], [ "X64.Semantics_s.__proj__AddLea64__item__src2", @@ -1158,7 +1158,7 @@ "refinement_interpretation_Tm_refine_e04f937679d9c74a6caf8aa7b9f98189" ], 0, - "a14ab923c2ec3783bc73cb2d13a157ad" + "039e20f7808c15e30c6248fb23c7149f" ], [ "X64.Semantics_s.__proj__AddCarry64__item__dst", @@ -1172,7 +1172,7 @@ "refinement_interpretation_Tm_refine_16a53ffd1bab892d408baed6f0393a33" ], 0, - "360b3f28636aa6b143d5d248f2998cc9" + "3441bf36bb832c1917b091ad92a00293" ], [ "X64.Semantics_s.__proj__AddCarry64__item__src", @@ -1186,7 +1186,7 @@ "refinement_interpretation_Tm_refine_16a53ffd1bab892d408baed6f0393a33" ], 0, - "89bc106e7e6916c3aec4374f79611a5b" + "4d6ef7c4bff409d7ba297215efef0d84" ], [ "X64.Semantics_s.__proj__Sub64__item__dst", @@ -1200,7 +1200,7 @@ "refinement_interpretation_Tm_refine_569023f890bbff681c285b9f9a216ade" ], 0, - "dca9ef76bfd012f48a479f9857ce4d8e" + "4ef39537780a4d9ee8749df687cecef6" ], [ "X64.Semantics_s.__proj__Sub64__item__src", @@ -1214,7 +1214,7 @@ "refinement_interpretation_Tm_refine_569023f890bbff681c285b9f9a216ade" ], 0, - "157af71ad406fbcae1e20e7ca6a1185d" + "ac1052693a3668c369b391c7e0b70877" ], [ "X64.Semantics_s.__proj__Mul64__item__src", @@ -1228,7 +1228,7 @@ "refinement_interpretation_Tm_refine_eb9d1a68ff54ae6cb27769ecbf49ba9b" ], 0, - "a38f8d786bc5bf656339c5d4c72753d5" + "d03529f1c5d6b9ac78403088e67c7fe9" ], [ "X64.Semantics_s.__proj__IMul64__item__dst", @@ -1242,7 +1242,7 @@ "refinement_interpretation_Tm_refine_2b0bbeefece73e6f59fc38828ce1e64e" ], 0, - "7c37264c977c4252fcd6f7aad1c449a8" + "79b09a8c24aa09ee86224085ffb3034a" ], [ "X64.Semantics_s.__proj__IMul64__item__src", @@ -1256,7 +1256,7 @@ "refinement_interpretation_Tm_refine_2b0bbeefece73e6f59fc38828ce1e64e" ], 0, - "a6062f344d61a6cc7eebad024d56738c" + "f80df7a033ddbba725ec35eb6c2b01be" ], [ "X64.Semantics_s.__proj__Xor64__item__dst", @@ -1270,7 +1270,7 @@ "refinement_interpretation_Tm_refine_1957040814f569aff4b252943fe77fdd" ], 0, - "ea2a8d0eed1f0d204feb869afee6aac3" + "cba6041acd7daaf96e9f33586f92dd03" ], [ "X64.Semantics_s.__proj__Xor64__item__src", @@ -1284,7 +1284,7 @@ "refinement_interpretation_Tm_refine_1957040814f569aff4b252943fe77fdd" ], 0, - "a5016e40d17cdf6b93243bba11b63bdc" + "44faa6a1fa16f181d3b9ff8f24d4223d" ], [ "X64.Semantics_s.__proj__And64__item__dst", @@ -1298,7 +1298,7 @@ "refinement_interpretation_Tm_refine_cebe7e9690dfac8d7c9475e4922b0da2" ], 0, - "c86253d8d662fa30958a14aa37509368" + "72ee184103c8d531954e9e7ce5808373" ], [ "X64.Semantics_s.__proj__And64__item__src", @@ -1312,7 +1312,7 @@ "refinement_interpretation_Tm_refine_cebe7e9690dfac8d7c9475e4922b0da2" ], 0, - "aeb306f1fe5be62214e74bc18e5f655e" + "f5d05267deffb1a6559d2058ce681fd8" ], [ "X64.Semantics_s.__proj__Shr64__item__dst", @@ -1326,7 +1326,7 @@ "refinement_interpretation_Tm_refine_e31d0af1473307c26c9e917a73600ad0" ], 0, - "b623ab48837b8e57306088ad23fa986d" + "f6d190bf0d559b49938c06dcc7b93c72" ], [ "X64.Semantics_s.__proj__Shr64__item__amt", @@ -1340,7 +1340,7 @@ "refinement_interpretation_Tm_refine_e31d0af1473307c26c9e917a73600ad0" ], 0, - "ea5f07c4fd86b6e283c4ffdb38bf0893" + "7971f39245eff8736a171fc3d3db81d2" ], [ "X64.Semantics_s.__proj__Shl64__item__dst", @@ -1354,7 +1354,7 @@ "refinement_interpretation_Tm_refine_b4ab27333df03bce36b56906586a3225" ], 0, - "c84442b00f40f6f1756f0e943305ac9b" + "45983e9eaa8215a540bd2980e330fbc2" ], [ "X64.Semantics_s.__proj__Shl64__item__amt", @@ -1368,7 +1368,7 @@ "refinement_interpretation_Tm_refine_b4ab27333df03bce36b56906586a3225" ], 0, - "56f61d648407c4bd3af2d0df8e46e050" + "ae99b33569e73ea3a0f91d4611562de7" ], [ "X64.Semantics_s.ocmp", @@ -1377,7 +1377,7 @@ 0, [ "@query", "assumption_X64.Machine_s.operand__uu___haseq" ], 0, - "b53eab9e99bbfdc0409c58bedd779110" + "d8cd1364c681d370e28a788d1b142661" ], [ "X64.Semantics_s.__proj__OEq__item__o1", @@ -1391,7 +1391,7 @@ "refinement_interpretation_Tm_refine_495233c1b3965f79901632003c360db5" ], 0, - "93d34599b96ac83885d050fdb6c18ad9" + "82fbbff8c53f3f262fcab65bb19b836d" ], [ "X64.Semantics_s.__proj__OEq__item__o2", @@ -1405,7 +1405,7 @@ "refinement_interpretation_Tm_refine_495233c1b3965f79901632003c360db5" ], 0, - "125e26e698d99c3d88496db15667b3ba" + "18dc11f44f6fbbca3a751e35fc4ffed1" ], [ "X64.Semantics_s.__proj__ONe__item__o1", @@ -1419,7 +1419,7 @@ "refinement_interpretation_Tm_refine_48e1a980bff417eb8ecda8fd755a7052" ], 0, - "927f70d5a5e94981c9484e2dfb508784" + "13b9fb7cd19e8bb90c26eafd55ee528e" ], [ "X64.Semantics_s.__proj__ONe__item__o2", @@ -1433,7 +1433,7 @@ "refinement_interpretation_Tm_refine_48e1a980bff417eb8ecda8fd755a7052" ], 0, - "7293bda8cbfdcf3d93bb6b619f3c4a09" + "ee9e5a508bf88fa44f67e56dd7a48437" ], [ "X64.Semantics_s.__proj__OLe__item__o1", @@ -1447,7 +1447,7 @@ "refinement_interpretation_Tm_refine_57f9b3587a37875d37de2b8ee309c52c" ], 0, - "1137897d553ed53d007399d8aec42571" + "724c172bc80b0b30221006e3511a9751" ], [ "X64.Semantics_s.__proj__OLe__item__o2", @@ -1461,7 +1461,7 @@ "refinement_interpretation_Tm_refine_57f9b3587a37875d37de2b8ee309c52c" ], 0, - "b90fff1d7abcd39ba118a579795d0e61" + "aa264d1ca6d27adb4df17c71001e32ab" ], [ "X64.Semantics_s.__proj__OGe__item__o1", @@ -1475,7 +1475,7 @@ "refinement_interpretation_Tm_refine_f22bf0e89c9043ddb9367ea1bd90ba6e" ], 0, - "6a7e1502a8e5df46a4509f0c3715b8f6" + "b87b405cb5c0a69cb6bfab31c1d1589d" ], [ "X64.Semantics_s.__proj__OGe__item__o2", @@ -1489,7 +1489,7 @@ "refinement_interpretation_Tm_refine_f22bf0e89c9043ddb9367ea1bd90ba6e" ], 0, - "3dfe029d5def02ac09a251e441ad84cd" + "354da675bbfb99f37bc33bf6cf301430" ], [ "X64.Semantics_s.__proj__OLt__item__o1", @@ -1503,7 +1503,7 @@ "refinement_interpretation_Tm_refine_e3f7ed102fdc0dee07045511829455f8" ], 0, - "070d50e8b9de58c4f9ec72c79e42e64b" + "da3745c95dfcb34f2fb2b5cc8eb6bf8a" ], [ "X64.Semantics_s.__proj__OLt__item__o2", @@ -1517,7 +1517,7 @@ "refinement_interpretation_Tm_refine_e3f7ed102fdc0dee07045511829455f8" ], 0, - "193a1193828de00af42a170b7438bd49" + "5953655424cdb090d4d8fa3444187e3c" ], [ "X64.Semantics_s.__proj__OGt__item__o1", @@ -1531,7 +1531,7 @@ "refinement_interpretation_Tm_refine_078a14331436c956e0be06364feefcd5" ], 0, - "462c4187c2839d5ee4625dea4dd3fabb" + "16bf2a127e0e6e05b2c0e070fc488f2a" ], [ "X64.Semantics_s.__proj__OGt__item__o2", @@ -1545,7 +1545,7 @@ "refinement_interpretation_Tm_refine_078a14331436c956e0be06364feefcd5" ], 0, - "57758482a08a6703415e2ce21ea81028" + "cc01d599213496e30844c54ad4cfba3e" ], [ "X64.Semantics_s.u", @@ -1557,7 +1557,7 @@ "equation_FStar.UInt.size" ], 0, - "bb979b2dbb118ad04f46af7c107d818b" + "36a94b3d5e5fade63adbc28a3fe00923" ], [ "X64.Semantics_s.eval_maddr", @@ -1572,7 +1572,7 @@ "fuel_guarded_inversion_X64.Machine_s.maddr" ], 0, - "ba4251fd843c589199207d5e7f0bdaeb" + "f6c09266ec4e9424c7e7d647f72f1b4a" ], [ "X64.Semantics_s.eval_operand", @@ -1598,7 +1598,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "356166e4b525c48c6ec8d3d6321d87e3" + "964e99255a38deb18b2f4542a92954cb" ], [ "X64.Semantics_s.update_reg'", @@ -1607,7 +1607,7 @@ 0, [ "@query", "assumption_X64.Machine_s.reg__uu___haseq" ], 0, - "6a4c17284bb720be4e7c43a1689b67e0" + "ed1d877108fe7ad60feece3d17af5ab6" ], [ "X64.Semantics_s.valid_operand", @@ -1622,7 +1622,7 @@ "fuel_guarded_inversion_X64.Machine_s.operand" ], 0, - "87b6c14d177ab80f516f377db35ff9c8" + "ca085b1dcc5183c7c71ffc23d33453b5" ], [ "X64.Semantics_s.update_operand_preserve_flags'", @@ -1641,7 +1641,7 @@ "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc" ], 0, - "b83a9f10cf366d9cc46557bda3b97627" + "9677b7163294cdeb55cc1dae7107c32e" ], [ "X64.Semantics_s.update_cf", @@ -1670,7 +1670,7 @@ "typing_FStar.UInt64.v" ], 0, - "24cf377f5b52b812b03a3da39bd10cf5" + "865c97187e9251dfef3cc957afc27a2b" ], [ "X64.Semantics_s.logxor_uint64", @@ -1688,7 +1688,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9cc0550235fc831667a81c50240ac043" + "65973e1c28a1a6af58070e66702b7b9c" ], [ "X64.Semantics_s.logand_uint64", @@ -1706,7 +1706,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8b24932be40b75ef396463467ac72015" + "25f5dc90f7e2b943d95ca54bfef6d8bd" ], [ "X64.Semantics_s.shift_right_uint64", @@ -1723,7 +1723,7 @@ "int_inversion" ], 0, - "294bf27d77e9cc323f12b81eef376fe7" + "083cd1a19b82499f2d6df8d1d2da8606" ], [ "X64.Semantics_s.shift_left_uint64", @@ -1740,7 +1740,7 @@ "int_inversion" ], 0, - "a3470a0e4d65c50477e785ece0cb86e5" + "1d92831e76bd95e42ef8237efae64266" ], [ "X64.Semantics_s.eval_ocmp", @@ -1760,7 +1760,7 @@ "fuel_guarded_inversion_X64.Semantics_s.ocmp" ], 0, - "77ce7a599a43496638fd53ae0e4ef30d" + "e06d8772b97c5b52788f84327ea200fd" ], [ "X64.Semantics_s.add_mod64", @@ -1780,7 +1780,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "302ed917a7d244bbd0cc914fd8a29572" + "731bfecc40d48e4dbc3ba442b1aaefe7" ], [ "X64.Semantics_s.sub_mod64", @@ -1807,7 +1807,7 @@ "typing_FStar.UInt64.v" ], 0, - "b44cca4ffe183fb85e05eae4a80f4220" + "7641c1fb56513fa4c2d2f1876ee2dba8" ], [ "X64.Semantics_s.mul_mod64", @@ -1827,7 +1827,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "f7551a8ad6f0c53c25f5f1c2327f7894" + "4078be68c2a9b227c0b5206ace565491" ], [ "X64.Semantics_s.mul_div64", @@ -1853,7 +1853,7 @@ "typing_FStar.UInt64.v" ], 0, - "79b8d4b48781590cb71d5bb55b128975" + "14e8d8888003819a41bc0d8f94b3833a" ], [ "X64.Semantics_s.eval_ins", @@ -1877,7 +1877,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "57eb2b31412f78d2d37ea8f326056f92" + "972766a04341d48776553591ecfde4cb" ], [ "X64.Semantics_s.eval_code", @@ -1900,7 +1900,7 @@ "subterm_ordering_X64.Machine_s.While" ], 0, - "db234ca3c685ef22a97439e493854882" + "ae3c4a52f57c9c95144e1958348d02b0" ], [ "X64.Semantics_s.eval_code", @@ -1922,7 +1922,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "b50bb50aa53f9d24314f46d818982aea" + "5c02192f9d84a75aebcd74b7456c5d40" ], [ "X64.Semantics_s.eval_code", @@ -1947,7 +1947,7 @@ "well-founded-ordering-on-nat" ], 0, - "3ba58f2a28ac507338000569f90575da" + "f71dd548fb750a12a226bf1bd0c3a021" ] ] ] \ No newline at end of file diff --git a/examples/vale/X64.Vale.Decls.fst.hints b/examples/vale/X64.Vale.Decls.fst.hints index 1b355798853..1507df90ccb 100644 --- a/examples/vale/X64.Vale.Decls.fst.hints +++ b/examples/vale/X64.Vale.Decls.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "132d7dbf16669197a53f3387b8a28712" + "33d0a7804e2618dba27b2d4f5bae2a9c" ], [ "X64.Vale.Decls.va_coerce_dst_operand_to_reg_operand", @@ -21,7 +21,7 @@ 0, [ "@query" ], 0, - "f2e16594920c7aa81b8a2f7502f7b2b6" + "b33bdb3348b1770ebbc48279335496f5" ], [ "X64.Vale.Decls.va_op_reg_operand_reg", @@ -35,7 +35,7 @@ "projection_inverse_X64.Machine_s.OReg_r" ], 0, - "7393352e769c8b4965ee39fbdb72d5ee" + "028ced7d5140256949e80a74d4e39214" ], [ "X64.Vale.Decls.va_op_dst_operand_reg", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_2ef22b5edaec67adad91f2b28dd82703" ], 0, - "e8f3d85e5ca31bfb5c33be650a2d4b5a" + "e17d7719759ff5687571279367952ae6" ], [ "X64.Vale.Decls.va_update_operand", @@ -69,7 +69,7 @@ "fuel_guarded_inversion_X64.Machine_s.operand" ], 0, - "b2d3f3bdbaec6b653822876cf4f827ec" + "1a6437194e9fe54e18519d7ff897a98a" ], [ "X64.Vale.Decls.va_ensure", @@ -78,7 +78,7 @@ 0, [ "@query" ], 0, - "c054e116667429c71bfb7ee74227cfdc" + "dfe1ecb2bf6dd860c33f7bd3b4958c00" ], [ "X64.Vale.Decls.lemma_cmp_eq", @@ -93,7 +93,7 @@ "lemma_X64.Vale.Lemmas_i.lemma_cmp_eq" ], 0, - "1fea5688f276da0ff3dd61f9861d46c2" + "2f3b36ba6122ffb6f8d6814db0a3ee8c" ], [ "X64.Vale.Decls.lemma_cmp_ne", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fac43d55eb1ae21d22ac1f52625b837a" + "85c80eec31df1ffff4dc55afd62679d5" ], [ "X64.Vale.Decls.lemma_cmp_ne", @@ -124,7 +124,7 @@ "lemma_X64.Vale.Lemmas_i.lemma_cmp_ne" ], 0, - "d1bb7dee8a97b66f90beae93b6f823ad" + "8fc59593c9271379a59c84b98daaa5e1" ], [ "X64.Vale.Decls.lemma_cmp_le", @@ -139,7 +139,7 @@ "lemma_X64.Vale.Lemmas_i.lemma_cmp_le" ], 0, - "48d9ef30ef67541f7c46450a8a5e9a93" + "e7ba25e28151a96058388f86d1d7abc0" ], [ "X64.Vale.Decls.lemma_cmp_ge", @@ -154,7 +154,7 @@ "lemma_X64.Vale.Lemmas_i.lemma_cmp_ge" ], 0, - "8740b46365a91c0e3315707e9d406d00" + "3cff3a3953b28f564329f40dabd8ecf0" ], [ "X64.Vale.Decls.lemma_cmp_lt", @@ -169,7 +169,7 @@ "lemma_X64.Vale.Lemmas_i.lemma_cmp_lt" ], 0, - "9a8b6a23c8fd6fd448f001efc95b4275" + "b445db4b518a6f1797ce3a65ae9680bc" ], [ "X64.Vale.Decls.lemma_cmp_gt", @@ -184,7 +184,7 @@ "lemma_X64.Vale.Lemmas_i.lemma_cmp_gt" ], 0, - "a7d3a39c404fa9cb377cc107d0c297bc" + "17389619d15845c64f048796aeea5b39" ], [ "X64.Vale.Decls.va_lemma_block", @@ -199,7 +199,7 @@ "fuel_guarded_inversion_X64.Vale.State_i.state" ], 0, - "7a3fdfa76dd1f146285411b219f2f007" + "204585419318212accb25f59e7ca4127" ], [ "X64.Vale.Decls.va_lemma_empty", @@ -211,7 +211,7 @@ "equation_X64.Vale.Decls.ins", "equation_X64.Vale.Decls.ocmp" ], 0, - "3adb5feb202302902dec46f4f009d8bc" + "f21ff50f8303f5f3ce4ccce012529d1c" ], [ "X64.Vale.Decls.va_lemma_ifElse", @@ -226,7 +226,7 @@ "fuel_guarded_inversion_X64.Vale.State_i.state" ], 0, - "aa0adb6c7701aa7953056a2be0569b05" + "baae46bad10d42eecf47c769d65c4abb" ], [ "X64.Vale.Decls.va_lemma_while", @@ -241,7 +241,7 @@ "fuel_guarded_inversion_X64.Vale.State_i.state" ], 0, - "545a8d073d59b35c2ef96bf526c1eb9d" + "12719ccdaf8f82c5bd0a25dcb8e99d01" ], [ "X64.Vale.Decls.va_lemma_whileTrue", @@ -250,7 +250,7 @@ 0, [ "@query" ], 0, - "a9159a57848c6e064f864c65a3743b88" + "8cf5db2c0eda8cf628d76f6c73e51c39" ], [ "X64.Vale.Decls.va_lemma_whileTrue", @@ -267,7 +267,7 @@ "int_typing" ], 0, - "a6c3abf419d4a075ecac92ff25b962dd" + "d381b675f2a95903175494a44177236f" ], [ "X64.Vale.Decls.va_lemma_whileFalse", @@ -279,7 +279,7 @@ "equation_X64.Vale.Lemmas_i.eval_ocmp" ], 0, - "6c521b90aa7433ef7bb9ec57444fc2fc" + "73772b9bf4a2090d7979ff4e73d6be3d" ], [ "X64.Vale.Decls.logand128", @@ -302,7 +302,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "3adc835d7115464cf6e4b7a873101529" + "3532b96a6c45f130bd2f12f358496878" ], [ "X64.Vale.Decls.reveal_logand128", @@ -327,7 +327,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "59cedd640cbd67de1580fe6a22a51b63" + "cc1cfa861328d99c03cc102ad9176fff" ], [ "X64.Vale.Decls.reveal_logand128", @@ -336,7 +336,7 @@ 0, [ "@query", "equation_X64.Vale.Decls.logand128" ], 0, - "f5ac9c48bbbe7681801315d4f16d826d" + "2211cbd0a0f46098cde577900366d921" ], [ "X64.Vale.Decls.va_irreducible_lemma_Mov64", @@ -490,7 +490,7 @@ "typing_X64.Vale.State_i.eval_maddr", "unit_typing" ], 0, - "b123b61721922877b96c65898d9062f8" + "c6ba47d8db27f3201373dbb392694aae" ], [ "X64.Vale.Decls.va_irreducible_lemma_Load64", @@ -658,7 +658,7 @@ "typing_X64.Vale.State_i.eval_maddr", "unit_typing" ], 0, - "00f40c94c77bfe8a734873721877151a" + "0b1a4ea2e971dd85b952480cfa9eab1e" ], [ "X64.Vale.Decls.va_transparent_code_Store64", @@ -674,7 +674,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9b25d7616eb7b67efc91b3fe87f02453" + "0e813244a2da210b278a4fd2583a5856" ], [ "X64.Vale.Decls.va_irreducible_lemma_Store64", @@ -811,7 +811,7 @@ "typing_X64.Vale.State_i.eval_operand", "unit_typing" ], 0, - "45156d888dfe4de1959ccdd5bb879d19" + "f6844a3912a26639fcde31b4ab30dadd" ], [ "X64.Vale.Decls.va_irreducible_lemma_Add64", @@ -964,7 +964,7 @@ "typing_X64.Vale.State_i.eval_operand", "unit_typing" ], 0, - "cb72ba02e4c3677b5cc412fa440d4f6e" + "309b550e6c27c84024fcc50ed80f5755" ], [ "X64.Vale.Decls.va_irreducible_lemma_Add64Wrap", @@ -1146,7 +1146,7 @@ "typing_X64.Vale.State_i.eval_maddr", "unit_typing" ], 0, - "0bdacb3c61c88579688ee03d19801fb1" + "b65967fb2022e7cf808dff7c3bde230e" ], [ "X64.Vale.Decls.va_irreducible_lemma_AddLea64", @@ -1314,7 +1314,7 @@ "typing_X64.Vale.State_i.eval_operand", "unit_typing" ], 0, - "b01705d543c01389d3b276dab53aaf24" + "659cea3c0beb52b13e1fc37ec04b06bd" ], [ "X64.Vale.Decls.va_irreducible_lemma_Adc64Wrap", @@ -1496,7 +1496,7 @@ "typing_X64.Vale.State_i.eval_operand", "unit_typing" ], 0, - "6b5f7fc26d7c24cc59a4a96e105b1748" + "92009b566c358ad2c1dc5c7811a09338" ], [ "X64.Vale.Decls.va_irreducible_lemma_Sub64", @@ -1662,7 +1662,7 @@ "typing_X64.Vale.State_i.eval_operand", "unit_typing" ], 0, - "c9167aef9868af90d7e7f2ca55f036a3" + "1e745b565d91a8231856352acfbec834" ], [ "X64.Vale.Decls.va_irreducible_lemma_Sub64Wrap", @@ -1823,7 +1823,7 @@ "typing_X64.Vale.State_i.eval_maddr", "unit_typing" ], 0, - "bc77d09bdcd2504ba1e2a64ab587a9cd" + "fca3f792797ff0eda0f767561a8c9452" ], [ "X64.Vale.Decls.va_irreducible_lemma_Mul64Wrap", @@ -1963,7 +1963,7 @@ "typing_tok_X64.Machine_s.Rdx@tok", "unit_typing" ], 0, - "456f850871fdb1636fc19b7a9107b536" + "8e361c9759cbe830d84fd2c04dc0bc10" ], [ "X64.Vale.Decls.va_irreducible_lemma_IMul64", @@ -2128,7 +2128,7 @@ "typing_X64.Vale.State_i.eval_maddr", "unit_typing" ], 0, - "2920c45b315ac879a7bf6eb4737b4382" + "c6b3fd9425530ce16271138419f2f530" ], [ "X64.Vale.Decls.va_irreducible_lemma_Xor64", @@ -2290,7 +2290,7 @@ "typing_X64.Vale.State_i.eval_maddr", "unit_typing" ], 0, - "cf4de90cbaa7748020bce4ae088b9ee3" + "5b7f97279d852a19c8f702d8f5e31880" ], [ "X64.Vale.Decls.va_irreducible_lemma_And64", @@ -2452,7 +2452,7 @@ "typing_X64.Vale.State_i.eval_maddr", "unit_typing" ], 0, - "6dfdcc168a1ad121a6215bec14665b7e" + "dfaea8df8e9ec80d242c8833b62c936e" ], [ "X64.Vale.Decls.va_irreducible_lemma_Shl64", @@ -2619,7 +2619,7 @@ "typing_X64.Vale.State_i.eval_maddr", "unit_typing" ], 0, - "6034c67adb8e8a71bccdac1aca22cb47" + "d6b85544eb23a69db78d565535fdd359" ], [ "X64.Vale.Decls.va_irreducible_lemma_Shr64", @@ -2786,7 +2786,7 @@ "typing_X64.Vale.State_i.eval_maddr", "unit_typing" ], 0, - "f4259d804370494a322f69fcbd361811" + "b23e678031120931528ce7b60cb2bba7" ] ] ] \ No newline at end of file diff --git a/examples/vale/X64.Vale.Lemmas_i.fst.hints b/examples/vale/X64.Vale.Lemmas_i.fst.hints index 319fdaa79f0..b3b90c39413 100644 --- a/examples/vale/X64.Vale.Lemmas_i.fst.hints +++ b/examples/vale/X64.Vale.Lemmas_i.fst.hints @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "4d3be7d784f7a8cab4f80178fe653add" + "c98dddb15fb7f500478df756cc933d52" ], [ "X64.Vale.Lemmas_i.lemma_cmp_eq", @@ -46,7 +46,7 @@ "typing_X64.Vale.StateLemmas_i.state_to_S" ], 0, - "30430647b6623262997f42e8ac023565" + "25acb48dc71eb3f4a8e8e7f7a47dcec8" ], [ "X64.Vale.Lemmas_i.lemma_cmp_ne", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "60705b9f69482920b845bca719e6fa8f" + "a7f867bcd17ae00044bd0aa995c6ce8f" ], [ "X64.Vale.Lemmas_i.lemma_cmp_ne", @@ -87,7 +87,7 @@ "typing_X64.Vale.StateLemmas_i.state_to_S" ], 0, - "31be0b5fa0d1b9d4b50d8ec9086fe3db" + "9d5cf72e48b65fc4b594ae7f0eb6a82d" ], [ "X64.Vale.Lemmas_i.lemma_cmp_le", @@ -107,7 +107,7 @@ "projection_inverse_X64.Semantics_s.OLe_o2" ], 0, - "6e3e6dcc0be9cf168d518754312027d4" + "f91a977cc0c7a14d6362f78c74b8090e" ], [ "X64.Vale.Lemmas_i.lemma_cmp_ge", @@ -127,7 +127,7 @@ "projection_inverse_X64.Semantics_s.OGe_o2" ], 0, - "7f1eba7b41a75319bb9dbc8f3f13b819" + "4a4d387da071b5214b4654e613cfd7b8" ], [ "X64.Vale.Lemmas_i.lemma_cmp_lt", @@ -146,7 +146,7 @@ "projection_inverse_X64.Semantics_s.OLt_o2" ], 0, - "78f8f1ab16cb3f271f624c44e8c71c7e" + "8182bf7fe362420ccc2656354110bc9e" ], [ "X64.Vale.Lemmas_i.lemma_cmp_gt", @@ -166,7 +166,7 @@ "projection_inverse_X64.Semantics_s.OGt_o2" ], 0, - "bd7ecc507aa646c0ba27345257debcff" + "03215e62cdb45bc25f3348ebd981677f" ], [ "X64.Vale.Lemmas_i.lemma_block", @@ -178,7 +178,7 @@ "equation_X64.Semantics_s.code", "projection_inverse_BoxBool_proj_0" ], 0, - "acd49d033ed73511e1de147fe0d07741" + "e80ebcae989fe05b86bb27c425634428" ], [ "X64.Vale.Lemmas_i.lemma_ifElse", @@ -210,7 +210,7 @@ "typing_X64.Vale.StateLemmas_i.state_to_S" ], 0, - "3997681d13654fc7c5dd88a8e3dc3963" + "0627f1f283526b4c773caf0c48d90bdf" ], [ "X64.Vale.Lemmas_i.lemma_whileTrue", @@ -219,7 +219,7 @@ 0, [ "@query" ], 0, - "4ff5d0845c2a9550310f1b335bc4f5f9" + "c11cb5cd26d004abc117a85fb169532b" ] ] ] \ No newline at end of file diff --git a/examples/vale/X64.Vale.StateLemmas_i.fst.hints b/examples/vale/X64.Vale.StateLemmas_i.fst.hints index 9ad4d8b1d2b..e858c37b73b 100644 --- a/examples/vale/X64.Vale.StateLemmas_i.fst.hints +++ b/examples/vale/X64.Vale.StateLemmas_i.fst.hints @@ -32,7 +32,7 @@ "typing_X64.Vale.State_i.__proj__Mkstate__item__flags" ], 0, - "da446e7b0a68343f7ff1db78d276ca71" + "3cbc0a42a0b0e81de622131be714a448" ], [ "X64.Vale.StateLemmas_i.state_of_S", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "227a2653c2fc1652a5ec674b9febc06e" + "d2e6090fdc936d95cfe66acf5a4e8bd7" ], [ "X64.Vale.StateLemmas_i.lemma_to_ok", @@ -72,7 +72,7 @@ "projection_inverse_X64.Semantics_s.Mkstate_ok" ], 0, - "96dafa783db82cb941a4fe0ad7117eb3" + "47e47402bad577d36066fe924ff1812d" ], [ "X64.Vale.StateLemmas_i.lemma_to_flags", @@ -111,7 +111,7 @@ "typing_X64.Vale.State_i.__proj__Mkstate__item__flags" ], 0, - "f150457807eb6e2fcff0d213979796c2" + "5caf8e48c36a626a79198486bd56193c" ], [ "X64.Vale.StateLemmas_i.lemma_to_flags", @@ -149,7 +149,7 @@ "typing_X64.Vale.State_i.__proj__Mkstate__item__flags" ], 0, - "c33baf5d140bf8e007d98208c86f32de" + "2d27343f6758dc1a3901e6ba9ea8859f" ], [ "X64.Vale.StateLemmas_i.lemma_to_mem_contains", @@ -181,7 +181,7 @@ "typing_X64.Vale.State_i.__proj__Mkstate__item__mem" ], 0, - "5cfed2124c70e35ef272ac29d12648ce" + "1f17e49fc8f51e8ad07cc4dbdb5293e8" ], [ "X64.Vale.StateLemmas_i.lemma_to_mem_sel", @@ -190,7 +190,7 @@ 0, [ "@query", "assumption_Prims.HasEq_int" ], 0, - "4e8619adcd6a2e39a9abf76eb1fc1606" + "e31e08f6510b4beb14e5f07a2cbcd643" ], [ "X64.Vale.StateLemmas_i.lemma_to_mem_sel", @@ -239,7 +239,7 @@ "typing_X64.Vale.State_i.__proj__Mkstate__item__mem" ], 0, - "7467bb5ba70cb44f87474fb8915754a9" + "69bfdcd1669a2ca28fd0f69b7eef01d3" ], [ "X64.Vale.StateLemmas_i.lemma_to_reg", @@ -277,7 +277,7 @@ "typing_X64.Vale.State_i.__proj__Mkstate__item__regs" ], 0, - "2e6231e57f8b633a50a4e4152fe1b8d2" + "e124d18df306e5a82c9d2da296077383" ], [ "X64.Vale.StateLemmas_i.lemma_to_reg", @@ -337,7 +337,7 @@ "typing_tok_X64.Machine_s.Rax@tok" ], 0, - "a7362c5c6a271557272407a0d00f6a52" + "421ddfd333f0d1978d1d7651b342acec" ], [ "X64.Vale.StateLemmas_i.lemma_to_eval_operand", @@ -386,7 +386,7 @@ "typing_X64.Vale.State_i.eval_operand" ], 0, - "0ba755514686b39c90005a8d45ac681a" + "8e67fbdd6761c42bde2caa9d7e953762" ], [ "X64.Vale.StateLemmas_i.lemma_to_eval_operand", @@ -434,7 +434,7 @@ "typing_X64.Vale.State_i.eval_operand" ], 0, - "75cf18ed477d70142470408a4b03922d" + "8c48046473cc21cee2844c496f64ea8c" ], [ "X64.Vale.StateLemmas_i.lemma_to_valid_operand", @@ -500,7 +500,7 @@ "typing_X64.Vale.State_i.eval_maddr" ], 0, - "f124bb324199564795c32d231a6e2ff1" + "a3f3e058cc45738b376264735e57bbb7" ], [ "X64.Vale.StateLemmas_i.lemma_of_to", @@ -571,7 +571,7 @@ "typing_tok_X64.Machine_s.Rax@tok" ], 0, - "54830b3ce822211a993c4ff3f1aa4437" + "4a07f0524f71b9a3b950ec504f78d732" ], [ "X64.Vale.StateLemmas_i.lemma_to_of", @@ -657,7 +657,7 @@ "typing_tok_X64.Machine_s.Rax@tok" ], 0, - "959e9b3c3335a09d22a0496af8fac7a5" + "46ad00d560b1beddbffaccd2bda802cb" ] ] ] \ No newline at end of file diff --git a/examples/vale/X64.Vale.StrongPost_i.fst.hints b/examples/vale/X64.Vale.StrongPost_i.fst.hints index 9df324a824b..7b13b2c0a50 100644 --- a/examples/vale/X64.Vale.StrongPost_i.fst.hints +++ b/examples/vale/X64.Vale.StrongPost_i.fst.hints @@ -11,7 +11,7 @@ "assumption_X64.Machine_s.operand__uu___haseq" ], 0, - "fa590c3ea0e397ceb225f94989c3d231" + "7c733b8ab063dda150bd684b6b9ee8fe" ], [ "X64.Vale.StrongPost_i.__proj__Mov64__item__dst", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_40cd61a9068cbeed2a346b66c4d06035" ], 0, - "ece32ccced8a92b61f6cf2a40f732135" + "ec986f41dba8d785f29233ed88e893bb" ], [ "X64.Vale.StrongPost_i.__proj__Mov64__item__src", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_40cd61a9068cbeed2a346b66c4d06035" ], 0, - "7acbb906883055e439e5aa7d85962e42" + "64c2da415886bc068793ea91332ad69b" ], [ "X64.Vale.StrongPost_i.__proj__Load64__item__dst", @@ -53,7 +53,7 @@ "refinement_interpretation_Tm_refine_328c39e52cac4f714a2fd55744d2632c" ], 0, - "eab7eb4a385ada3b58227ba0e40507e3" + "26c7002e86d829606deeab578f7d517a" ], [ "X64.Vale.StrongPost_i.__proj__Load64__item__src", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_328c39e52cac4f714a2fd55744d2632c" ], 0, - "f6da55d2f0b634d7d12fcf760206b807" + "33aaa9e3c800b1107f69fcd2a7c11788" ], [ "X64.Vale.StrongPost_i.__proj__Load64__item__offset", @@ -81,7 +81,7 @@ "refinement_interpretation_Tm_refine_328c39e52cac4f714a2fd55744d2632c" ], 0, - "8db940e6c1589048c850f6f46f987482" + "6ef780d4f1a213c0145d8beade96307d" ], [ "X64.Vale.StrongPost_i.__proj__Store64__item__dst", @@ -95,7 +95,7 @@ "refinement_interpretation_Tm_refine_f5d1e4d4ea78ee50a5c8db0f990998d3" ], 0, - "5cee06a95fe8c2d4785c57a602db2dc8" + "090a061b313220b29e534506cd4f6a80" ], [ "X64.Vale.StrongPost_i.__proj__Store64__item__src", @@ -109,7 +109,7 @@ "refinement_interpretation_Tm_refine_f5d1e4d4ea78ee50a5c8db0f990998d3" ], 0, - "2dd2ed21b0024e4cb2ad641b4b939de0" + "d639077e415d072715c552f318fc0008" ], [ "X64.Vale.StrongPost_i.__proj__Store64__item__offset", @@ -123,7 +123,7 @@ "refinement_interpretation_Tm_refine_f5d1e4d4ea78ee50a5c8db0f990998d3" ], 0, - "4f2752f6aec5eaf699d2bf40441d86fe" + "c8ce1d8f9b05b9e328381cdbc2ae7a31" ], [ "X64.Vale.StrongPost_i.__proj__Add64Wrap__item__dst", @@ -137,7 +137,7 @@ "refinement_interpretation_Tm_refine_8af824417febca2dd666f55860e37123" ], 0, - "9ef68d9947f12f84c4854b5b96f35a4d" + "76857711435032ad71ab17553de5455c" ], [ "X64.Vale.StrongPost_i.__proj__Add64Wrap__item__src", @@ -151,7 +151,7 @@ "refinement_interpretation_Tm_refine_8af824417febca2dd666f55860e37123" ], 0, - "763faca513d960168c2663070ae7732c" + "178849bdeaab510d8e3077d04b254b86" ], [ "X64.Vale.StrongPost_i.__proj__Adc64Wrap__item__dst", @@ -165,7 +165,7 @@ "refinement_interpretation_Tm_refine_ecd294cd2663e86c405e1ba18cfc9132" ], 0, - "048f36954ca61880878727b6c96e1b8c" + "8d1282b9eba29de21aed6e2516752dba" ], [ "X64.Vale.StrongPost_i.__proj__Adc64Wrap__item__src", @@ -179,7 +179,7 @@ "refinement_interpretation_Tm_refine_ecd294cd2663e86c405e1ba18cfc9132" ], 0, - "a4aaff579ce4349ce24b77d139110e5d" + "5ab17d4d0eb448c8c433e86ee3b84298" ], [ "X64.Vale.StrongPost_i.__proj__Mul64Wrap__item__src", @@ -193,7 +193,7 @@ "refinement_interpretation_Tm_refine_cdee9644b84d60ced7b907e879e8f711" ], 0, - "e05df14e454f37ffba56a10fb0640462" + "465706ba3487f310cf3e943ca34803af" ], [ "X64.Vale.StrongPost_i.__proj__IMul64__item__dst", @@ -207,7 +207,7 @@ "refinement_interpretation_Tm_refine_682d3d695d007eebd7b34b81e68201a2" ], 0, - "3e198b60208ac051a66368647f8b2fd1" + "45df15557da1d8b22a80ee486eb14136" ], [ "X64.Vale.StrongPost_i.__proj__IMul64__item__src", @@ -221,7 +221,7 @@ "refinement_interpretation_Tm_refine_682d3d695d007eebd7b34b81e68201a2" ], 0, - "d0cfda32a15f0a95a719f6c79d28b353" + "e3d7d904a40faa6c83b0ea6e21d9dc27" ], [ "X64.Vale.StrongPost_i.__proj__And64__item__dst", @@ -235,7 +235,7 @@ "refinement_interpretation_Tm_refine_5dc689cbcdb3326b49d445a095bac099" ], 0, - "871f80c9284db608aae3cf6249354c72" + "1c5287d4532097425801f9e4c2d97746" ], [ "X64.Vale.StrongPost_i.__proj__And64__item__amt", @@ -249,7 +249,7 @@ "refinement_interpretation_Tm_refine_5dc689cbcdb3326b49d445a095bac099" ], 0, - "74c2403e88dc5f51317120e734bfa7b0" + "561e24adfcbc6aabfced2d5febf3abac" ], [ "X64.Vale.StrongPost_i.__proj__Shr64__item__dst", @@ -263,7 +263,7 @@ "refinement_interpretation_Tm_refine_9d8aaa9f141413804a9831bfdf4fa3af" ], 0, - "35673891e31c6a2a068c704983c6487f" + "cb4a887a39169b9ec45b55fca68b4019" ], [ "X64.Vale.StrongPost_i.__proj__Shr64__item__amt", @@ -277,7 +277,7 @@ "refinement_interpretation_Tm_refine_9d8aaa9f141413804a9831bfdf4fa3af" ], 0, - "67c079dfbb3e9094553b4573718d36b3" + "fbc916a58105f0caba6c7a55904be03e" ], [ "X64.Vale.StrongPost_i.__proj__Sub64__item__dst", @@ -291,7 +291,7 @@ "refinement_interpretation_Tm_refine_8a2af6d0ec73b071a6dcad5176f1f0e2" ], 0, - "8d559464c2902af39e51d29b76ccb6be" + "d9eeb25dfe43384c409251726f1a1da0" ], [ "X64.Vale.StrongPost_i.__proj__Sub64__item__src", @@ -305,7 +305,7 @@ "refinement_interpretation_Tm_refine_8a2af6d0ec73b071a6dcad5176f1f0e2" ], 0, - "7e2cf765f9ec3e7312c98c1a2fd7559a" + "032927b68082007306d38225bdf59aa6" ], [ "X64.Vale.StrongPost_i.valid_operand_norm", @@ -320,7 +320,7 @@ "fuel_guarded_inversion_X64.Machine_s.operand" ], 0, - "6c15b4f28429821ffd77d830160b439a" + "cff74fa93e179847ec0597dae3b3167b" ], [ "X64.Vale.StrongPost_i.eval_operand_norm", @@ -339,7 +339,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "12dedfdea9071f6808ff6347ca6476af" + "87e647f6c1e2ef0975ed1fa738ab7036" ], [ "X64.Vale.StrongPost_i.regs_match", @@ -353,7 +353,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "36444dbd2888332a87af3f81f6c0fdc0" + "9fc1161920a7c54b1ca1939722e96ae0" ], [ "X64.Vale.StrongPost_i.inss_to_codes", @@ -395,7 +395,7 @@ "subterm_ordering_Prims.Cons", "typing_X64.Machine_s.uu___is_Rsp" ], 0, - "032d8f534c54252d439529d098b138e3" + "5a2ac06332e87bd8dee36e75975415ce" ], [ "X64.Vale.StrongPost_i.wp_code", @@ -409,7 +409,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2979d6d03b32a979a9784651d45700de" + "cfac2930b7a1dd102ce201c54426c72e" ], [ "X64.Vale.StrongPost_i.lemma_regs_match_self", @@ -434,7 +434,7 @@ "subterm_ordering_Prims.Cons", "true_interp" ], 0, - "1334416cfbb8dd00ff1128128354fd04" + "56bda52039b590071ce089e46943b0e9" ], [ "X64.Vale.StrongPost_i.lemma_update_reg_equal", @@ -447,7 +447,7 @@ "typing_X64.Vale.State_i.update_reg" ], 0, - "0e4907c747f0209a52c9c49b62977e38" + "005ee9548e847c9e840c2ff33e9d58c9" ], [ "X64.Vale.StrongPost_i.assert_from_norm'", @@ -456,7 +456,7 @@ 1, [ "@query", "equation_FStar.Pervasives.Native.norm" ], 0, - "0c22b0b321f2f38e0eefc5fa1c9867e7" + "1eb0d883bcf0e07b1b9542a9ae182d8a" ], [ "X64.Vale.StrongPost_i.assert_to_norm'", @@ -465,7 +465,7 @@ 1, [ "@query", "equation_FStar.Pervasives.Native.norm" ], 0, - "f81a2546831bbb12d25a1038c09f4be8" + "44a3eb78029be388364249d6b03fec93" ], [ "X64.Vale.StrongPost_i.lemma_weak_pre_ins", @@ -635,7 +635,7 @@ "typing_tok_X64.Machine_s.Rdx@tok" ], 0, - "42e17fecc7c0323ca5ceaf232ab9f351" + "aeee261d2ba9c8b0641e3200274f94f0" ], [ "X64.Vale.StrongPost_i.lemma_weak_pre", @@ -667,7 +667,7 @@ "unit_inversion", "unit_typing" ], 0, - "7f9796a148bff170b6d5ab0dbedaf643" + "b38379a1e3f1d27b70268ab3ac83a3bf" ], [ "X64.Vale.StrongPost_i.lemma_weakest_pre_norm'", @@ -704,7 +704,7 @@ "typing_X64.Vale.State_i.__proj__Mkstate__item__regs" ], 0, - "3665a2bdd3659bd826101ed9f5301375" + "6a22a8ca039dc4562138641ce2b84c6f" ] ] ] \ No newline at end of file diff --git a/examples/verifythis/2015/Problem01.fst.hints b/examples/verifythis/2015/Problem01.fst.hints index ab60c80dfcc..ee7515e629d 100644 --- a/examples/verifythis/2015/Problem01.fst.hints +++ b/examples/verifythis/2015/Problem01.fst.hints @@ -8,16 +8,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c2517d13b95ff8e8bf4e657a2c7edc0d" + "8d56f6a9c46df261b8ecb17d2ff40d05" ], [ "Problem01.prefix", @@ -26,16 +24,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8f9dc1fcbadfe252c6bcef16d5592765" + "f9173f77808c7dae262781ba222a180f" ], [ "Problem01.prefix", @@ -46,18 +42,16 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", - "binder_x_a21c6d0afff00f7e13fcf2d1497e4726_0", - "binder_x_a21c6d0afff00f7e13fcf2d1497e4726_1", + "@query", "assumption_Prims.list__uu___haseq", + "binder_x_b46f9febde162e476374095e6787c208_0", + "binder_x_b46f9febde162e476374095e6787c208_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -68,10 +62,11 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "17cb5cd500d93584685994a01ca26b9c" + "4fc608f4a001fa2bd0242046e5704581" ], [ "Problem01.remove_elem_from_list", @@ -83,23 +78,24 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a21c6d0afff00f7e13fcf2d1497e4726_0", - "binder_x_cb0c962f1549ece814cd8ebf6c578900_1", + "binder_x_b46f9febde162e476374095e6787c208_0", + "binder_x_cead0a6ed392996b481ea4c63547a885_1", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "int_inversion", "primitive_Prims.op_Addition", + "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7573449ea0b46750daf28bc877f6c46", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f7dce0fb4d4620c1462f9a7589022c50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "117985ca75634434eb72a175cb14b2f9" + "3aa2f6db9b20c4d6a33886d5449e8c69" ], [ "Problem01.test_prefix", @@ -107,11 +103,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_5ec69b392d18c536c7a2f6f1921608e0" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba" ], 0, - "e50a86b52fbc4693d61248bc03758840" + "58b68b345dc87d17352099d3a243c83c" ], [ "Problem01.test_prefix", @@ -119,11 +115,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_5ec69b392d18c536c7a2f6f1921608e0" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba" ], 0, - "d677ec4550ac9a6a68394157b3293657" + "47feb1366794f41c8b5d5bd36f427ae6" ], [ "Problem01.test_prefix", @@ -133,25 +129,22 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_a21c6d0afff00f7e13fcf2d1497e4726_0", - "binder_x_a21c6d0afff00f7e13fcf2d1497e4726_2", - "binder_x_cb0c962f1549ece814cd8ebf6c578900_1", "equation_Prims.nat", + "@query", "binder_x_b46f9febde162e476374095e6787c208_0", + "binder_x_b46f9febde162e476374095e6787c208_2", + "binder_x_cead0a6ed392996b481ea4c63547a885_1", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5ec69b392d18c536c7a2f6f1921608e0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ed5ab8505d377c741b2f7a942337bfa8", - "refinement_interpretation_Tm_refine_f3a8b69a481004b39ceb3227eed64e88", - "refinement_interpretation_Tm_refine_f7573449ea0b46750daf28bc877f6c46", + "refinement_interpretation_Tm_refine_066ec34605b99f46d413e3ab3b1e988e", + "refinement_interpretation_Tm_refine_335af5c3a02c136fd065fd0818074cd6", + "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f7dce0fb4d4620c1462f9a7589022c50", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Problem01.test_prefix", "well-founded-ordering-on-nat" ], 0, - "e98f730a7605271250a17a24d7a7399c" + "e4828532ab34f1322efd4fa581b05e04" ], [ "Problem01.test_prefix_exists_to_b", @@ -159,11 +152,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_5ec69b392d18c536c7a2f6f1921608e0" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba" ], 0, - "6f5486e66097b6b4c422ac4b54472240" + "cfe047db802b370645a06879e72f3df7" ], [ "Problem01.test_prefix_exists_to_b", @@ -172,40 +165,37 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_Problem01.prefix.fuel_instrumented", "@fuel_correspondence_Problem01.remove_elem_from_list.fuel_instrumented", "@fuel_correspondence_Problem01.test_prefix.fuel_instrumented", "@fuel_irrelevance_Problem01.test_prefix.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Problem01_interpretation_Tm_arrow_c043701de1149b113da12a0aad1acad0", - "bool_inversion", "bool_typing", "equation_Prims.l_Exists", - "equation_Prims.nat", "equation_Prims.squash", + "@query", + "Problem01_interpretation_Tm_arrow_5822b3397a94c1b1b8ec318d976c2340", + "bool_inversion", "equation_Prims.l_Exists", "equation_Prims.nat", + "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_Problem01.test_prefix.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "int_typing", - "interpretation_Tm_abs_031409a51fd7b0ec540b141b877527c6", - "l_quant_interp_6fc544589025ec60df48fcd2bd70df3c", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "interpretation_Tm_abs_81b2eeb1c5da81d363060592009ddc69", + "l_quant_interp_2346b8e10c81cb399fa4572cd0a8df9c", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5ec69b392d18c536c7a2f6f1921608e0", - "refinement_interpretation_Tm_refine_774603d319c0b47b3a50ed328ac5fcfa", - "refinement_interpretation_Tm_refine_86501a336fc39c0d1f9c79f2564f9d82", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f3a8b69a481004b39ceb3227eed64e88", + "refinement_interpretation_Tm_refine_066ec34605b99f46d413e3ab3b1e988e", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a90d3e0b4d9b545e6a4fa0dee16eb22b", + "refinement_interpretation_Tm_refine_bd7707ef1973b09faaafda82bae2a4da", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Problem01.prefix", "typing_Problem01.remove_elem_from_list", "well-founded-ordering-on-nat" ], 0, - "725654c40f013392c2dbceb5744a2fa6" + "4f8a4fa950b274cf604c58dc474137ae" ], [ "Problem01.test_prefix_exists_to_b", @@ -213,11 +203,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_5ec69b392d18c536c7a2f6f1921608e0" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba" ], 0, - "191d3ad25228951e6b51273b8f9351a2" + "94f3ca1e905fc836162f664783b434db" ], [ "Problem01.test_prefix_exists_to_b", @@ -225,11 +215,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_5ec69b392d18c536c7a2f6f1921608e0" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba" ], 0, - "240934f4a6fb3a96b28d62a2564c34c6" + "41f9d3e1c07f7ee19fb05ca18151c69b" ], [ "Problem01.test_prefix_iff", @@ -240,20 +230,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_Problem01.test_prefix.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "equation_Prims.nat", + "@query", "bool_inversion", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", + "fuel_guarded_inversion_Prims.list", "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_5ec69b392d18c536c7a2f6f1921608e0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f3a8b69a481004b39ceb3227eed64e88", + "refinement_interpretation_Tm_refine_066ec34605b99f46d413e3ab3b1e988e", + "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Problem01.test_prefix" ], 0, - "e9d1b323db31f5de53284f9a945c7ad6" + "4a5e409f250cbcbc619194afdca4cb5e" ], [ "Problem01.test_relaxed_prefix", @@ -271,28 +259,25 @@ "@fuel_irrelevance_Problem01.prefix.fuel_instrumented", "@fuel_irrelevance_Problem01.remove_elem_from_list.fuel_instrumented", "@fuel_irrelevance_Problem01.test_prefix.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "equation_Prims.nat", + "@query", "bool_inversion", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_Problem01.prefix.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", "lemma_Problem01.test_prefix_iff", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_067a0fa9672d532fbba8015090e81fc6", - "refinement_interpretation_Tm_refine_5ec69b392d18c536c7a2f6f1921608e0", - "refinement_interpretation_Tm_refine_86501a336fc39c0d1f9c79f2564f9d82", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f3a8b69a481004b39ceb3227eed64e88", + "refinement_interpretation_Tm_refine_066ec34605b99f46d413e3ab3b1e988e", + "refinement_interpretation_Tm_refine_4dfb0d0332735a597c1b866c1a8e05e7", + "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a90d3e0b4d9b545e6a4fa0dee16eb22b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_Problem01.prefix", "typing_Problem01.test_prefix" ], 0, - "72c7a5b1bc32a070acccc37321e8c2ff" + "c7bd66a37f66b11827639c2ebfd83585" ] ] ] \ No newline at end of file diff --git a/src/Makefile b/src/Makefile index 060b7cfc534..42bbb6cdc64 100644 --- a/src/Makefile +++ b/src/Makefile @@ -202,6 +202,7 @@ tutorial: fstarlib uexamples: fstarlib +$(MAKE) -C ../examples all + +$(MAKE) -C ../examples native_tactics.all # Interactive mode regressions interactive-test: diff --git a/src/Makefile.boot b/src/Makefile.boot index 18bfeb9d0f6..8dfd003efc6 100644 --- a/src/Makefile.boot +++ b/src/Makefile.boot @@ -71,7 +71,7 @@ EXTRACT = $(addprefix --extract_module , $(EXTRACT_MODULES)) \ # And then, in a separate invocation, from each .checked.lax we # extract an .ml file ocaml-output/%.ml: - $(FSTAR_C) $(notdir $(subst .checked.lax,,$<)) \ + $(BENCHMARK_PRE) $(FSTAR_C) $(notdir $(subst .checked.lax,,$<)) \ --codegen OCaml \ --extract_module $(basename $(notdir $(subst .checked.lax,,$<))) diff --git a/src/basic/FStar.Errors.fs b/src/basic/FStar.Errors.fs index 4d5be3ee104..675364b7c67 100644 --- a/src/basic/FStar.Errors.fs +++ b/src/basic/FStar.Errors.fs @@ -151,7 +151,7 @@ type raw_error = | Fatal_NonLinearPatternVars | Fatal_NonSingletonTopLevel | Fatal_NonSingletonTopLevelModule - | Fatal_NonTopRecFunctionNotFullyEncoded + | Error_NonTopRecFunctionNotFullyEncoded | Fatal_NonTrivialPreConditionInPrims | Fatal_NonVariableInductiveTypeParameter | Fatal_NotApplicationOrFv @@ -333,6 +333,7 @@ type raw_error = | Fatal_EmptySurfaceLet | Warning_UnexpectedCheckedFile | Fatal_ExtractionUnsupported + | Warning_SMTErrorReason type flag = error_flag @@ -482,7 +483,7 @@ let default_flags = (Fatal_NonLinearPatternVars , CFatal); (Fatal_NonSingletonTopLevel , CFatal); (Fatal_NonSingletonTopLevelModule , CFatal); - (Fatal_NonTopRecFunctionNotFullyEncoded , CFatal); + (Error_NonTopRecFunctionNotFullyEncoded , CError); (Fatal_NonTrivialPreConditionInPrims , CFatal); (Fatal_NonVariableInductiveTypeParameter , CFatal); (Fatal_NotApplicationOrFv , CFatal); @@ -663,6 +664,7 @@ let default_flags = (Fatal_EmptySurfaceLet , CFatal); (Warning_UnexpectedCheckedFile , CWarning); //321 (Fatal_ExtractionUnsupported , CFatal); + (Warning_SMTErrorReason , CWarning); (* Protip: if we keep the semicolon at the end, we modify exactly one * line for each error we add. This means we get a cleaner git history/blame *) ] diff --git a/src/basic/FStar.Options.fs b/src/basic/FStar.Options.fs index ba379368585..f2493407687 100644 --- a/src/basic/FStar.Options.fs +++ b/src/basic/FStar.Options.fs @@ -46,11 +46,6 @@ type option_val = | List of list | Unset -type options = - | Set - | Reset - | Restore - type error_flag = | CFatal //CFatal: these are reported using a raise_error: compiler cannot progress | CAlwaysError //CAlwaysError: these errors are reported using log_issue and cannot be suppressed @@ -61,7 +56,6 @@ type error_flag = // then can be silenced or escalated to errors | CSilent //CSilent: never the default for any issue, but warnings can be silenced - (* A FLAG TO INDICATE THAT WE'RE RUNNING UNIT TESTS *) let __unit_tests__ = Util.mk_ref false let __unit_tests() = !__unit_tests__ @@ -209,7 +203,6 @@ let defaults = ("max_ifuel" , Int 2); ("min_fuel" , Int 1); ("MLish" , Bool false); - ("n_cores" , Int 1); ("no_default_includes" , Bool false); ("no_extract" , List []); ("no_location_info" , Bool false); @@ -270,7 +263,9 @@ let defaults = ("__tactics_nbe" , Bool false); ("warn_error" , List []); ("use_extracted_interfaces" , Bool false); - ("use_nbe" , Bool false)] + ("use_nbe" , Bool false); + ("trivial_pre_for_unannotated_effectful_fns" + , Bool true);] let parse_warn_error_set_get = let r = Util.mk_ref None in @@ -356,7 +351,6 @@ let get_max_fuel () = lookup_opt "max_fuel" let get_max_ifuel () = lookup_opt "max_ifuel" as_int let get_min_fuel () = lookup_opt "min_fuel" as_int let get_MLish () = lookup_opt "MLish" as_bool -let get_n_cores () = lookup_opt "n_cores" as_int let get_no_default_includes () = lookup_opt "no_default_includes" as_bool let get_no_extract () = lookup_opt "no_extract" (as_list as_string) let get_no_location_info () = lookup_opt "no_location_info" as_bool @@ -417,6 +411,8 @@ let get_ml_no_eta_expand_coertions () = lookup_opt "__ml_no_eta_expand_coertio let get_warn_error () = lookup_opt "warn_error" (as_list as_string) let get_use_extracted_interfaces () = lookup_opt "use_extracted_interfaces" as_bool let get_use_nbe () = lookup_opt "use_nbe" as_bool +let get_trivial_pre_for_unannotated_effectful_fns + () = lookup_opt "trivial_pre_for_unannotated_effectful_fns" as_bool let dlevel = function | "Low" -> Low @@ -669,14 +665,12 @@ let rec specs_with_types () : list<(char * string * opt_type * string)> = ( noshort, "detail_errors", Const (Bool true), - "Emit a detailed error report by asking the SMT solver many queries; will take longer; - implies n_cores=1"); + "Emit a detailed error report by asking the SMT solver many queries; will take longer"); ( noshort, "detail_hint_replay", Const (Bool true), - "Emit a detailed report for proof whose unsat core fails to replay; - implies n_cores=1"); + "Emit a detailed report for proof whose unsat core fails to replay"); ( noshort, "doc", @@ -826,11 +820,6 @@ let rec specs_with_types () : list<(char * string * opt_type * string)> = Const (Bool true), "Trigger various specializations for compiling the F* compiler itself (not meant for user code)"); - ( noshort, - "n_cores", - IntStr "positive_integer", //; detail_errors := false), - "Maximum number of cores to use for the solver (implies detail_errors = false) (default 1)"); - ( noshort, "no_default_includes", Const (Bool true), @@ -1152,8 +1141,12 @@ let rec specs_with_types () : list<(char * string * opt_type * string)> = ( noshort, "use_nbe", BoolStr, - "Use normalization by evaluation as the default normalization srategy (default 'false')"); + "Use normalization by evaluation as the default normalization strategy (default 'false')"); + ( noshort, + "trivial_pre_for_unannotated_effectful_fns", + BoolStr, + "Enforce trivial preconditions for unannotated effectful functions (default 'true')"); ( noshort, "__debug_embedding", @@ -1177,12 +1170,13 @@ and specs () : list = // FIXME: Why does the interactive mode mk_spec (short, long, arg_spec_of_opt_type long typ, doc)) (specs_with_types ()) -//Several options can only be set at the time the process is created, and not controlled interactively via pragmas -//Additionaly, the --smt option is a security concern +// Several options can only be set at the time the process is created, +// and not controlled interactively via pragmas. +// Additionaly, the --smt option is a security concern. let settable = function | "abort_on" - | "admit_smt_queries" | "admit_except" + | "admit_smt_queries" | "debug" | "debug_level" | "defensive" @@ -1190,20 +1184,22 @@ let settable = function | "detail_hint_replay" | "eager_subtyping" | "hide_uvar_nums" - | "hint_info" | "hint_file" + | "hint_info" | "initial_fuel" | "initial_ifuel" | "lax" | "load" - | "log_types" | "log_queries" + | "log_types" | "max_fuel" | "max_ifuel" | "min_fuel" - | "no_smt" + | "no_plugins" | "__no_positivity" - | "ugly" + | "normalize_pure_terms_for_extraction" + | "no_smt" + | "no_tactics" | "print_bound_var_types" | "print_effect_args" | "print_full_names" @@ -1212,45 +1208,44 @@ let settable = function | "print_z3_statistics" | "prn" | "query_stats" + | "reuse_hint_for" | "silent" | "smtencoding.elim_box" - | "smtencoding.nl_arith_repr" | "smtencoding.l_arith_repr" - | "timing" - | "trace_error" - | "unthrottle_inductives" - | "use_eq_at_higher_order" - | "no_plugins" - | "no_tactics" - | "normalize_pure_terms_for_extraction" + | "smtencoding.nl_arith_repr" + | "smtencoding.valid_intro" + | "smtencoding.valid_elim" | "tactic_raw_binders" | "tactics_failhard" | "tactics_info" + | "__tactics_nbe" | "tactic_trace" | "tactic_trace_d" | "tcnorm" - | "__tactics_nbe" | "__temp_fast_implicits" | "__temp_no_proj" - | "reuse_hint_for" + | "timing" + | "trace_error" + | "ugly" + | "unthrottle_inductives" + | "use_eq_at_higher_order" + | "use_two_phase_tc" + | "using_facts_from" + | "vcgen.optimize_bind_as_seq" | "warn_error" - | "z3rlimit_factor" - | "z3rlimit" + | "z3cliopt" | "z3refresh" - | "use_two_phase_tc" - | "vcgen.optimize_bind_as_seq" -> true + | "z3rlimit" + | "z3rlimit_factor" + | "z3seed" + | "trivial_pre_for_unannotated_effectful_fns" + -> true + | _ -> false -// the first two options below are options that are passed to z3 using -// command-line arguments; -// using_facts_from requires pruning the Z3 context. -// All of these can only be used with #reset_options, with re-starts the z3 process -let resettable s = settable s || s="z3seed" || s="z3cliopt" || s="using_facts_from" || s="smtencoding.valid_intro" || s="smtencoding.valid_elim" let all_specs = specs () let all_specs_with_types = specs_with_types () let settable_specs = all_specs |> List.filter (fun (_, x, _, _) -> settable x) -let resettable_specs = all_specs |> List.filter (fun (_, x, _, _) -> resettable x) - ///////////////////////////////////////////////////////////////////////////////////////////////////////// //PUBLIC API @@ -1261,17 +1256,13 @@ let fstar_bin_directory = Util.get_exec_dir () exception File_argument of string -let set_options o s = - let specs = match o with - | Set -> settable_specs - | Reset -> resettable_specs - | Restore -> all_specs in +let set_options s = try if s = "" then Success - else Getopt.parse_string specs (fun s -> raise (File_argument s); ()) s + else Getopt.parse_string settable_specs (fun s -> raise (File_argument s); ()) s with - | File_argument s -> Getopt.Error (FStar.Util.format1 "File %s is not a valid option" s) + | File_argument s -> Getopt.Error (FStar.Util.format1 "File %s is not a valid option" s) let file_list_ : ref<(list)> = Util.mk_ref [] @@ -1403,6 +1394,7 @@ let prepend_cache_dir fpath = //Used to parse the options of // --using_facts_from // --extract +// --already_cached let path_of_text text = String.split ['.'] text let parse_settings ns : list<(list * bool)> = @@ -1430,8 +1422,9 @@ let parse_settings ns : list<(list * bool)> = let s = FStar.Util.trim_string s in if s = "" then [] else with_cache (fun s -> + let s = FStar.Util.replace_char s ' ' ',' in FStar.Util.splitlines s - |> List.concatMap (fun s -> FStar.Util.split s " ") + |> List.concatMap (fun s -> FStar.Util.split s ",") |> List.filter (fun s -> s <> "") |> List.map parse_one_setting) s) |> List.rev @@ -1500,7 +1493,6 @@ let max_ifuel () = get_max_ifuel () let min_fuel () = get_min_fuel () let ml_ish () = get_MLish () let set_ml_ish () = set_option "MLish" (Bool true) -let n_cores () = get_n_cores () let no_default_includes () = get_no_default_includes () let no_extract s = get_no_extract() |> List.existsb (module_name_eq s) let normalize_pure_terms_for_extraction @@ -1568,6 +1560,8 @@ let ml_no_eta_expand_coertions () = get_ml_no_eta_expand_coertions () let warn_error () = String.concat "" (get_warn_error ()) let use_extracted_interfaces () = get_use_extracted_interfaces () let use_nbe () = get_use_nbe () +let trivial_pre_for_unannotated_effectful_fns + () = get_trivial_pre_for_unannotated_effectful_fns () let with_saved_options f = // take some care to not mess up the stack on errors diff --git a/src/basic/FStar.Options.fsi b/src/basic/FStar.Options.fsi index e0cbe108b81..b99de5db056 100644 --- a/src/basic/FStar.Options.fsi +++ b/src/basic/FStar.Options.fsi @@ -39,12 +39,6 @@ type option_val = | List of list | Unset -type options = - | Set - | Reset - | Restore - - type error_flag = | CFatal //CFatal: these are reported using a raise_error: compiler cannot progress | CAlwaysError //CAlwaysError: these errors are reported using log_issue and cannot be suppressed @@ -55,7 +49,6 @@ type error_flag = // then can be silenced or escalated to errors | CSilent //CSilent: never the default for any issue, but warnings can be silenced - val defaults : list<(string * option_val)> val initialize_parse_warn_error : (string -> list) -> unit @@ -112,7 +105,6 @@ type opt_type = val desc_of_opt_type : opt_type -> option val all_specs_with_types : list<(char * string * opt_type * string)> val settable : string -> bool -val resettable : string -> bool val abort_counter : ref @@ -170,7 +162,6 @@ val max_ifuel : unit -> int val min_fuel : unit -> int val ml_ish : unit -> bool val set_ml_ish : unit -> unit -val n_cores : unit -> int val no_default_includes : unit -> bool val no_extract : string -> bool val no_location_info : unit -> bool @@ -196,7 +187,7 @@ val query_stats : unit -> bool val record_hints : unit -> bool val reuse_hint_for : unit -> option val set_option : string -> option_val -> unit -val set_options : options -> string -> parse_cmdline_res +val set_options : string -> parse_cmdline_res val should_be_already_cached : string -> bool val should_print_message : string -> bool val should_extract : string -> bool @@ -245,6 +236,8 @@ val ml_no_eta_expand_coertions : unit -> bool val warn_error : unit -> string val use_extracted_interfaces : unit -> bool val use_nbe : unit -> bool +val trivial_pre_for_unannotated_effectful_fns + : unit -> bool // HACK ALERT! This is to ensure we have no dependency from Options to Version, // otherwise, since Version is regenerated all the time, this invalidates the diff --git a/src/basic/boot/FStar.Util.fsi b/src/basic/boot/FStar.Util.fsi index d9ea4e2a98f..f52fb29efee 100644 --- a/src/basic/boot/FStar.Util.fsi +++ b/src/basic/boot/FStar.Util.fsi @@ -86,6 +86,7 @@ val smap_remove: smap<'value> -> string -> unit val smap_keys: smap<'value> -> list val smap_copy: smap<'value> -> smap<'value> val smap_size: smap<'value> -> int +val smap_iter: smap<'value> -> (string -> 'value -> unit) -> unit (* pure version *) type psmap<'value> @@ -414,6 +415,8 @@ val map_option: ('a -> 'b) -> option<'a> -> option<'b> val save_value_to_file: string -> 'a -> unit val load_value_from_file: string -> option<'a> +val save_2values_to_file: string -> 'a -> 'b -> unit +val load_2values_from_file: string -> option<('a * 'b)> val print_exn: exn -> string val digest_of_file: string -> string val digest_of_string: string -> string diff --git a/src/basic/boot/NotFStar.Util.fs b/src/basic/boot/NotFStar.Util.fs index 1d50080e274..04917b157e2 100644 --- a/src/basic/boot/NotFStar.Util.fs +++ b/src/basic/boot/NotFStar.Util.fs @@ -185,6 +185,7 @@ let run_process (id: string) (prog: string) (args: list) (stdin: option< proc.StartInfo <- pinfo; let result = proc.Start() in (match stdin with Some s -> proc.StandardInput.Write(s) | None -> ()); + proc.StandardInput.Close(); let stdout = proc.StandardOutput.ReadToEnd() in let stderr = proc.StandardError.ReadToEnd() in stdout ^ stderr @@ -317,6 +318,9 @@ let smap_copy (m:smap<'value>) = smap_fold m (fun k v () -> smap_add n k v) (); n let smap_size (m:smap<'value>) = m.Count +let smap_iter<'a> (m: smap<'a>) (f: string -> 'a -> unit) = + for i in m do + f i.Key i.Value type psmap<'value> = Collections.Map let psmap_empty (_: unit) : psmap<'value> = Collections.Map.empty @@ -883,6 +887,37 @@ let load_value_from_file (fname:string) = printfn "Failed to load file because: %A" e; None +let save_2values_to_file (fname:string) value1 value2 = + try + use writer = new System.IO.FileStream(fname, + FileMode.OpenOrCreate, + FileAccess.Write, + FileShare.Write) in + let formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter() in + formatter.Serialize(writer, value1) + formatter.Serialize(writer, value2) + with + | e -> + printfn "Failed to write value to file because: %A" e; + raise e + +let load_2values_from_file (fname:string) = + try + use reader = new System.IO.FileStream(fname, + FileMode.Open, + FileAccess.Read, + FileShare.Read) in + let formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter() in + let result1 = formatter.Deserialize(reader) :?> 'a in + let result2 = formatter.Deserialize(reader) :?> 'b in + Some (result1, result2) + with + | e -> + printfn "Failed to load file because: %A" e; + None + + + let print_exn (e: exn): string = e.Message diff --git a/src/basic/ml/FStar_Util.ml b/src/basic/ml/FStar_Util.ml index db5a4633b30..1070093b4aa 100644 --- a/src/basic/ml/FStar_Util.ml +++ b/src/basic/ml/FStar_Util.ml @@ -141,9 +141,14 @@ let rec waitpid_ignore_signals pid = let kill_process (p: proc) = if not p.killed then begin (* Close the fds directly: close_in and close_out both call `flush`, - potentially forcing us to wait until p starts reading again *) - Unix.close (Unix.descr_of_in_channel p.inc); - Unix.close (Unix.descr_of_out_channel p.outc); + potentially forcing us to wait until p starts reading again. They + might have been closed already (e.g. `run_process`), so we + just `attempt` it. *) + let attempt f = + try f () with | _ -> () + in + attempt (fun () -> Unix.close (Unix.descr_of_in_channel p.inc)); + attempt (fun () -> Unix.close (Unix.descr_of_out_channel p.outc)); (try Unix.kill p.pid Sys.sigkill with Unix.Unix_error (Unix.ESRCH, _, _) -> ()); (* Avoid zombie processes (Unix.close_process does the same thing. *) @@ -170,19 +175,19 @@ let process_read_all_output (p: proc) = waiting in input_line at that point, and input_line polls for signals fairly frequently. If the signal reaches the writer (main) thread, on the other hand, we're toast: `Thread.join` isn't interruptible, so Caml will save the - signal until the child tread exits and `join` returns, and at that point the + signal until the child thread exits and `join` returns, and at that point the Z3 query is complete and the signal is useless. There are three possible solutions to this problem: 1. Use an interruptible version of Thread.join written in C 2. Ensure that signals are always delivered to the reader thread - 3. Use a different synchronization mechanism between th reader and the writer. + 3. Use a different synchronization mechanism between the reader and the writer. Option 1 is bad because building F* doesn't currently require a C compiler. Option 2 is easy to implement with `Unix.sigprocmask`, but that isn't available on Windows. Option 3 is what the code below does: it uses a pipe and a 1-byte write as a way for the writer thread to wait on the reader - thread. That's what `reader_fn` is passed a `signal_exit` function. + thread. That's why `reader_fn` is passed a `signal_exit` function. If a SIGINT reaches the reader, it should still call `signal_exit`. If a SIGINT reaches the writer, it should make sure that the reader exits. @@ -212,12 +217,12 @@ let process_read_async p stdin reader_fn = let run_process (id: string) (prog: string) (args: string list) (stdin: string option): string = let p = start_process' id prog args None in - let output = ref "" in - let reader_fn signal_fn = - output := process_read_all_output p; signal_fn () in - BatPervasives.finally (fun () -> kill_process p) - (fun () -> process_read_async p stdin reader_fn) (); - !output + (match stdin with + | None -> () + | Some str -> output_string p.outc str); + flush p.outc; + close_out p.outc; + process_read_all_output p type read_result = EOF | SIGINT @@ -337,65 +342,77 @@ let set_symmetric_difference ((s1, eq):'a set) ((s2, _):'a set) : 'a set = let set_eq ((s1, eq):'a set) ((s2, _):'a set) : bool = set_is_empty (set_symmetric_difference (s1, eq) (s2, eq)) - -type 'value smap = (string, 'value) BatHashtbl.t -let smap_create (i:Z.t) : 'value smap = BatHashtbl.create (Z.to_int i) -let smap_clear (s:('value smap)) = BatHashtbl.clear s -let smap_add (m:'value smap) k (v:'value) = - BatHashtbl.remove m k; BatHashtbl.add m k v +module StringOps = + struct + type t = string + let equal (x:t) (y:t) = x=y + let compare (x:t) (y:t) = BatString.compare x y + let hash (x:t) = BatHashtbl.hash x + end + +module StringHashtbl = BatHashtbl.Make(StringOps) +module StringMap = BatMap.Make(StringOps) + +type 'value smap = 'value StringHashtbl.t +let smap_create (i:Z.t) : 'value smap = StringHashtbl.create (Z.to_int i) +let smap_clear (s:('value smap)) = StringHashtbl.clear s +let smap_add (m:'value smap) k (v:'value) = StringHashtbl.replace m k v let smap_of_list (l: (string * 'value) list) = - let s = BatHashtbl.create (BatList.length l) in + let s = StringHashtbl.create (BatList.length l) in FStar_List.iter (fun (x,y) -> smap_add s x y) l; s -let smap_try_find (m:'value smap) k = BatHashtbl.find_option m k -let smap_fold (m:'value smap) f a = BatHashtbl.fold f m a -let smap_remove (m:'value smap) k = BatHashtbl.remove m k +let smap_try_find (m:'value smap) k = StringHashtbl.find_option m k +let smap_fold (m:'value smap) f a = StringHashtbl.fold f m a +let smap_remove (m:'value smap) k = StringHashtbl.remove m k let smap_keys (m:'value smap) = smap_fold m (fun k _ acc -> k::acc) [] -let smap_copy (m:'value smap) = BatHashtbl.copy m -let smap_size (m:'value smap) = BatHashtbl.length m +let smap_copy (m:'value smap) = StringHashtbl.copy m +let smap_size (m:'value smap) = StringHashtbl.length m +let smap_iter (m:'value smap) f = StringHashtbl.iter f m exception PSMap_Found -type 'value psmap = (string, 'value) BatMap.t -let psmap_empty (_: unit) : 'value psmap = BatMap.empty -let psmap_add (map: 'value psmap) (key: string) (value: 'value) = BatMap.add key value map +type 'value psmap = 'value StringMap.t +let psmap_empty (_: unit) : 'value psmap = StringMap.empty +let psmap_add (map: 'value psmap) (key: string) (value: 'value) = StringMap.add key value map let psmap_find_default (map: 'value psmap) (key: string) (dflt: 'value) = - BatMap.find_default dflt key map + StringMap.find_default dflt key map let psmap_try_find (map: 'value psmap) (key: string) = - BatMap.Exceptionless.find key map -let psmap_fold (m:'value psmap) f a = BatMap.foldi f m a + StringMap.Exceptionless.find key map +let psmap_fold (m:'value psmap) f a = StringMap.fold f m a let psmap_find_map (m:'value psmap) f = let res = ref None in let upd k v = let r = f k v in if r <> None then (res := r; raise PSMap_Found) in - (try BatMap.iter upd m with PSMap_Found -> ()); + (try StringMap.iter upd m with PSMap_Found -> ()); !res let psmap_modify (m: 'value psmap) (k: string) (upd: 'value option -> 'value) = - BatMap.modify_opt k (fun vopt -> Some (upd vopt)) m + StringMap.modify_opt k (fun vopt -> Some (upd vopt)) m +module ZHashtbl = BatHashtbl.Make(Z) +module ZMap = BatMap.Make(Z) -type 'value imap = (Z.t, 'value) BatHashtbl.t -let imap_create (i:Z.t) : 'value imap = BatHashtbl.create (Z.to_int i) -let imap_clear (s:('value imap)) = BatHashtbl.clear s -let imap_add (m:'value imap) k (v:'value) = BatHashtbl.add m k v +type 'value imap = 'value ZHashtbl.t +let imap_create (i:Z.t) : 'value imap = ZHashtbl.create (Z.to_int i) +let imap_clear (s:('value imap)) = ZHashtbl.clear s +let imap_add (m:'value imap) k (v:'value) = ZHashtbl.replace m k v let imap_of_list (l: (Z.t * 'value) list) = - let s = BatHashtbl.create (BatList.length l) in + let s = ZHashtbl.create (BatList.length l) in FStar_List.iter (fun (x,y) -> imap_add s x y) l; s -let imap_try_find (m:'value imap) k = BatHashtbl.find_option m k -let imap_fold (m:'value imap) f a = BatHashtbl.fold f m a -let imap_remove (m:'value imap) k = BatHashtbl.remove m k +let imap_try_find (m:'value imap) k = ZHashtbl.find_option m k +let imap_fold (m:'value imap) f a = ZHashtbl.fold f m a +let imap_remove (m:'value imap) k = ZHashtbl.remove m k let imap_keys (m:'value imap) = imap_fold m (fun k _ acc -> k::acc) [] -let imap_copy (m:'value imap) = BatHashtbl.copy m +let imap_copy (m:'value imap) = ZHashtbl.copy m -type 'value pimap = (Z.t, 'value) BatMap.t -let pimap_empty (_: unit) : 'value pimap = BatMap.empty -let pimap_add (map: 'value pimap) (key: Z.t) (value: 'value) = BatMap.add key value map +type 'value pimap = 'value ZMap.t +let pimap_empty (_: unit) : 'value pimap = ZMap.empty +let pimap_add (map: 'value pimap) (key: Z.t) (value: 'value) = ZMap.add key value map let pimap_find_default (map: 'value pimap) (key: Z.t) (dflt: 'value) = - BatMap.find_default dflt key map + ZMap.find_default dflt key map let pimap_try_find (map: 'value pimap) (key: Z.t) = - BatMap.Exceptionless.find key map -let pimap_fold (m:'value pimap) f a = BatMap.foldi f m a + ZMap.Exceptionless.find key map +let pimap_fold (m:'value pimap) f a = ZMap.fold f m a let format (fmt:string) (args:string list) = let frags = BatString.nsplit fmt "%s" in @@ -523,7 +540,7 @@ let replace_char (s:string) c1 c2 = BatUTF8.map (fun x -> if x = c1 then c2 else x) s let replace_chars (s:string) c (by:string) = BatString.replace_chars (fun x -> if x = Char.chr c then by else BatString.of_char x) s -let hashcode s = Z.of_int (BatHashtbl.hash s) +let hashcode s = Z.of_int (StringOps.hash s) let compare s1 s2 = Z.of_int (BatString.compare s1 s2) let split s sep = if s = "" then [""] else BatString.nsplit s sep let splitlines s = split s "\n" @@ -955,6 +972,27 @@ let load_value_from_file (fname:string) = channel with | _ -> None +let save_2values_to_file (fname:string) value1 value2 = + let channel = open_out_bin fname in + BatPervasives.finally + (fun () -> close_out channel) + (fun channel -> + output_value channel value1; + output_value channel value2) + channel + +let load_2values_from_file (fname:string) = + try + let channel = open_in_bin fname in + BatPervasives.finally + (fun () -> close_in channel) + (fun channel -> + let v1 = input_value channel in + let v2 = input_value channel in + Some (v1, v2)) + channel + with | _ -> None + let print_exn e = Printexc.to_string e diff --git a/src/extraction/FStar.Extraction.Kremlin.fs b/src/extraction/FStar.Extraction.Kremlin.fs index 4d377e30bfa..2c1fd5c10e6 100644 --- a/src/extraction/FStar.Extraction.Kremlin.fs +++ b/src/extraction/FStar.Extraction.Kremlin.fs @@ -79,6 +79,7 @@ and flag = | Abstract | IfDef | Macro + | Deprecated of string and fsdoc = string @@ -377,6 +378,7 @@ and translate_flags flags = | Syntax.CAbstract -> Some Abstract | Syntax.CIfDef -> Some IfDef | Syntax.CMacro -> Some Macro + | Syntax.Deprecated s -> Some (Deprecated s) | _ -> None // is this all of them? ) flags @@ -598,6 +600,13 @@ and translate_type env t: typ = TBuf (translate_type env arg) | MLTY_Named ([arg; _; _], p) when Syntax.string_of_mlpath p = "LowStar.Monotonic.Buffer.mbuffer" -> TBuf (translate_type env arg) + + (* + * AR: temporarily extracting const_buffer t to t*, until proper support is added downstream + *) + | MLTY_Named ([arg], p) when + Syntax.string_of_mlpath p = "LowStar.ConstBuffer.const_buffer" -> TBuf (translate_type env arg) + | MLTY_Named ([arg], p) when Syntax.string_of_mlpath p = "FStar.Buffer.buffer" || Syntax.string_of_mlpath p = "LowStar.Buffer.buffer" || @@ -709,7 +718,8 @@ and translate_expr env e: expr = | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e1; e2 ]) when string_of_mlpath p = "FStar.Buffer.index" || string_of_mlpath p = "FStar.Buffer.op_Array_Access" || string_of_mlpath p = "LowStar.Monotonic.Buffer.index" - || string_of_mlpath p = "LowStar.UninitializedBuffer.uindex" -> + || string_of_mlpath p = "LowStar.UninitializedBuffer.uindex" + || string_of_mlpath p = "LowStar.ConstBuffer.index" -> EBufRead (translate_expr env e1, translate_expr env e2) | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e ]) @@ -752,6 +762,15 @@ and translate_expr env e: expr = string_of_mlpath p = "LowStar.ImmutableBuffer.igcmalloc") -> EBufCreate (Eternal, translate_expr env e1, translate_expr env e2) + | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, _) + when (string_of_mlpath p = "LowStar.Monotonic.Buffer.mgcmalloc_and_blit" || + string_of_mlpath p = "LowStar.Monotonic.Buffer.mmalloc_and_blit" || + string_of_mlpath p = "LowStar.Monotonic.Buffer.malloca_and_blit" || + string_of_mlpath p = "LowStar.ImmutableBuffer.igcmalloc_and_blit" || + string_of_mlpath p = "LowStar.ImmutableBuffer.imalloc_and_blit" || + string_of_mlpath p = "LowStar.ImmutableBuffer.ialloca_and_blit") -> + EAbortS "alloc_and_blit family of functions are not yet supported downstream" + | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ _erid; elen ]) when string_of_mlpath p = "LowStar.UninitializedBuffer.ugcmalloc" -> EBufCreateNoInit (Eternal, translate_expr env elen) @@ -782,7 +801,9 @@ and translate_expr env e: expr = | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e1; e2; _e3 ]) when (string_of_mlpath p = "FStar.Buffer.sub") -> EBufSub (translate_expr env e1, translate_expr env e2) - | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e1; e2; _e3 ]) when string_of_mlpath p = "LowStar.Monotonic.Buffer.msub" -> + | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e1; e2; _e3 ]) + when string_of_mlpath p = "LowStar.Monotonic.Buffer.msub" + || string_of_mlpath p = "LowStar.ConstBuffer.sub" -> EBufSub (translate_expr env e1, translate_expr env e2) | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e1; e2 ]) when (string_of_mlpath p = "FStar.Buffer.join") -> @@ -829,6 +850,14 @@ and translate_expr env e: expr = string_of_mlpath p = "LowStar.ImmutableBuffer.recall_contents") -> EUnit + | MLE_App ({ expr = MLE_TApp({ expr = MLE_Name p }, _) }, [ e1 ]) + when string_of_mlpath p = "LowStar.ConstBuffer.of_buffer" + || string_of_mlpath p = "LowStar.ConstBuffer.of_ibuffer" + || string_of_mlpath p = "LowStar.ConstBuffer.cast" + || string_of_mlpath p = "LowStar.ConstBuffer.to_buffer" + || string_of_mlpath p = "LowStar.ConstBuffer.to_ibuffer" -> + translate_expr env e1 //just identities + | MLE_App ({ expr = MLE_Name p }, [ e ]) when string_of_mlpath p = "Obj.repr" -> ECast (translate_expr env e, TAny) diff --git a/src/extraction/FStar.Extraction.ML.Modul.fs b/src/extraction/FStar.Extraction.ML.Modul.fs index 68238cd1a97..edd00a46b40 100644 --- a/src/extraction/FStar.Extraction.ML.Modul.fs +++ b/src/extraction/FStar.Extraction.ML.Modul.fs @@ -108,6 +108,7 @@ let rec extract_meta x = | "FStar.Pervasives.CAbstractStruct" -> Some CAbstract | "FStar.Pervasives.CIfDef" -> Some CIfDef | "FStar.Pervasives.CMacro" -> Some CMacro + | "Prims.deprecated" -> Some (Deprecated "") | _ -> None end | { n = Tm_app ({ n = Tm_fvar fv }, [{ n = Tm_constant (Const_string (s, _)) }, _]) } -> @@ -118,6 +119,7 @@ let rec extract_meta x = | "FStar.Pervasives.CEpilogue" -> Some (CEpilogue s) | "FStar.Pervasives.CConst" -> Some (CConst s) | "FStar.Pervasives.CCConv" -> Some (CCConv s) + | "Prims.deprecated" -> Some (Deprecated s) | _ -> None end | { n = Tm_constant (Const_string ("KremlinPrivate", _)) } -> Some Private // This one generated internally diff --git a/src/extraction/FStar.Extraction.ML.Syntax.fs b/src/extraction/FStar.Extraction.ML.Syntax.fs index 2acb56a7390..6181b6671cb 100644 --- a/src/extraction/FStar.Extraction.ML.Syntax.fs +++ b/src/extraction/FStar.Extraction.ML.Syntax.fs @@ -153,6 +153,7 @@ type meta = | CAbstract | CIfDef | CMacro + | Deprecated of string // rename type metadata = list diff --git a/src/extraction/FStar.Extraction.ML.UEnv.fs b/src/extraction/FStar.Extraction.ML.UEnv.fs index d758de6ff62..00a01bc48c2 100644 --- a/src/extraction/FStar.Extraction.ML.UEnv.fs +++ b/src/extraction/FStar.Extraction.ML.UEnv.fs @@ -134,8 +134,8 @@ let tyscheme_of_td (_, _, _, vars, _, body_opt) : option = //TODO: this two-level search is pretty inefficient: we should optimize it let lookup_ty_const (env:uenv) ((module_name, ty_name):mlpath) : option = BU.find_map env.tydefs (fun tydef -> - if module_name = tydef.tydef_mlmodule_name - && ty_name = tydef.tydef_name + if ty_name = tydef.tydef_name + && module_name = tydef.tydef_mlmodule_name then Some tydef.tydef_def else None) @@ -145,8 +145,8 @@ let maybe_mangle_type_projector (env:uenv) (fv:fv) : option = let mname = module_name_of_fv fv in let ty_name = fv.fv_name.v.ident.idText in BU.find_map env.tydefs (fun tydef -> - if tydef.tydef_mlmodule_name = mname - && tydef.tydef_name = ty_name + if tydef.tydef_name = ty_name + && tydef.tydef_mlmodule_name = mname then match tydef.tydef_mangled_name with | None -> Some (mname, ty_name) | Some mangled -> Some (mname, mangled) diff --git a/src/fstar/FStar.CheckedFiles.fs b/src/fstar/FStar.CheckedFiles.fs index 8edc7b30498..b98b32a8b45 100644 --- a/src/fstar/FStar.CheckedFiles.fs +++ b/src/fstar/FStar.CheckedFiles.fs @@ -39,8 +39,9 @@ module Dep = FStar.Parser.Dep (* * We write this version number to the cache files, and * detect when loading the cache that the version number is same + * It need to be kept in sync with prims.fst *) -let cache_version_number = 11 +let cache_version_number = 14 type tc_result = { checked_module: Syntax.modul; //persisted @@ -53,24 +54,32 @@ type tc_result = { } (* - * Abbreviation for what we store in the checked files + * Abbreviation for what we store in the checked files (stages as described below) *) -type checked_file_entry = - int * //cache version number - - list<(string * string)> * //list of (file_name * digest) of direct dependences - //file_name is name of the source file and - //digest is that of the corresponding checked file - //except when the entries are for the current .fst and .fsti, - //digest is that of the source file - - string * //digest of this source file - //also present in the list above, but handy to have it here - //when checking if parsing data is valid - - Parser.Dep.parsing_data * //parsing data for this file - - tc_result //typechecking result, including the smt encoding +type checked_file_entry_stage1 = +{ + //cache version number + version: int; + + //digest of this source file to check if parsing data is valid + digest: string; + + //parsing data for this file + parsing_data: Parser.Dep.parsing_data +} + +type checked_file_entry_stage2 = +{ + //list of (file_name * digest) of direct dependences + //file_name is name of the source file and + //digest is that of the corresponding checked file + //except when the entries are for the current .fst and .fsti, + //digest is that of the source file + deps_dig: list<(string * string)>; + + //typechecking result, including the smt encoding + tc_res: tc_result +} (* * Local cache for checked files contents @@ -79,7 +88,7 @@ type checked_file_entry = (* * Cache files could be loaded in two steps - * + * * Initially the dependence analysis is just interested in the parsing data * and till that point we don't have the dependences sorted out, because of * which we can't check the validity of tc data (since we need to check hashes @@ -183,26 +192,26 @@ let load_checked_file (fn:string) (checked_fn:string) :cache_t = if not (BU.file_exists checked_fn) then let msg = BU.format1 "checked file %s does not exist" checked_fn in add_and_return (Invalid msg, Inl msg) - else let entry :option = BU.load_value_from_file checked_fn in + else let entry :option = BU.load_value_from_file checked_fn in match entry with | None -> let msg = BU.format1 "checked file %s is corrupt" checked_fn in add_and_return (Invalid msg, Inl msg) - | Some (vnum, _, dig, parsing_data, _) -> - if vnum <> cache_version_number + | Some (x) -> + if x.version <> cache_version_number then let msg = BU.format1 "checked file %s has incorrect version" checked_fn in add_and_return (Invalid msg, Inl msg) - else let current_dig = BU.digest_of_file fn in - if dig <> current_dig + else let current_digest = BU.digest_of_file fn in + if x.digest <> current_digest then begin if Options.debug_any () then BU.print4 "Checked file %s is stale since incorrect digest of %s, \ expected: %s, found: %s\n" - checked_fn fn current_dig dig; + checked_fn fn current_digest x.digest; let msg = BU.format2 "checked file %s is stale (digest mismatch for %s)" checked_fn fn in add_and_return (Invalid msg, Inl msg) end - else add_and_return (Unknown, Inr parsing_data) + else add_and_return (Unknown, Inr x.parsing_data) (* * Second step for loading checked files, validates the tc data @@ -213,9 +222,9 @@ let load_checked_file_with_tc_result (deps:Dep.deps) (fn:string) (checked_fn:str :either = let load_tc_result (fn:string) :list<(string * string)> * tc_result = - let entry :option = BU.load_value_from_file checked_fn in + let entry :option<(checked_file_entry_stage1 * checked_file_entry_stage2)> = BU.load_2values_from_file checked_fn in match entry with - | Some (_, deps_dig, _, _, tc_result) -> deps_dig, tc_result + | Some ((_,s2)) -> s2.deps_dig, s2.tc_res | _ -> failwith "Impossible! if first phase of loading was unknown, it should have succeeded" in @@ -235,7 +244,7 @@ let load_checked_file_with_tc_result (deps:Dep.deps) (fn:string) (checked_fn:str if deps_dig = deps_dig' then begin //mark the tc data of the file as valid - let elt = (Valid (BU.digest_of_file checked_fn), parsing_data) in + let elt = (Valid (BU.digest_of_file checked_fn), parsing_data) in BU.smap_add mcache checked_fn elt; (* * if there exists an interface for it, mark that too as valid @@ -390,8 +399,12 @@ let load_module_from_cache = (* * Just to make sure data has the right type *) -let store_value_to_cache (cache_file:string) (data:checked_file_entry) :unit = - BU.save_value_to_file cache_file data +let store_values_to_cache + (cache_file:string) + (stage1:checked_file_entry_stage1) + (stage2:checked_file_entry_stage2) + :unit = + BU.save_2values_to_file cache_file stage1 stage2 let store_module_to_cache env fn parsing_data tc_result = if Options.cache_checked_modules() @@ -402,13 +415,10 @@ let store_module_to_cache env fn parsing_data tc_result = match digest with | Inr hashes -> let tc_result = { tc_result with tc_time=0; extraction_time=0 } in - - //cache_version_number should always be the first field here - store_value_to_cache cache_file (cache_version_number, - hashes, - BU.digest_of_file fn, - parsing_data, - tc_result) + + let stage1 = {version=cache_version_number; digest=(BU.digest_of_file fn); parsing_data=parsing_data} in + let stage2 = {deps_dig=hashes; tc_res=tc_result} in + store_values_to_cache cache_file stage1 stage2 | Inl msg -> FStar.Errors.log_issue (FStar.Range.mk_range fn (FStar.Range.mk_pos 0 0) diff --git a/src/fstar/FStar.Interactive.Ide.fs b/src/fstar/FStar.Interactive.Ide.fs index e44f9aa2f1b..a80fa44a720 100644 --- a/src/fstar/FStar.Interactive.Ide.fs +++ b/src/fstar/FStar.Interactive.Ide.fs @@ -429,12 +429,10 @@ let alist_of_protocol_info = type fstar_option_permission_level = | OptSet -| OptReset | OptReadOnly let string_of_option_permission_level = function | OptSet -> "" - | OptReset -> "requires #reset-options" | OptReadOnly -> "read-only" type fstar_option = @@ -555,7 +553,6 @@ let fstar_options_list_cache = opt_snippets = snippets_of_fstar_option name typ; opt_documentation = if doc = "" then None else Some doc; opt_permission_level = if Options.settable name then OptSet - else if Options.resettable name then OptReset else OptReadOnly })) |> List.sortWith (fun o1 o2 -> String.compare (String.lowercase (o1.opt_name)) @@ -778,7 +775,6 @@ let candidates_of_fstar_option match_len is_reset opt = let may_set, explanation = match opt.opt_permission_level with | OptSet -> true, "" - | OptReset -> is_reset, "#reset-only" | OptReadOnly -> false, "read-only" in let opt_type = kind_of_fstar_option_type opt.opt_type in diff --git a/src/fstar/FStar.Main.fs b/src/fstar/FStar.Main.fs index 5c0e7ba9f50..417952d052f 100644 --- a/src/fstar/FStar.Main.fs +++ b/src/fstar/FStar.Main.fs @@ -32,6 +32,7 @@ let process_args () : parse_cmdline_res * list = Options.parse_cmd_line () (* cleanup: kills background Z3 processes; relevant when --n_cores > 1 *) +(* GM: unclear if it's useful now? *) let cleanup () = Util.kill_all () (* printing a finished message *) diff --git a/src/ocaml-output/FStar_CheckedFiles.ml b/src/ocaml-output/FStar_CheckedFiles.ml index 6ad0afabdd8..f8840f06edd 100644 --- a/src/ocaml-output/FStar_CheckedFiles.ml +++ b/src/ocaml-output/FStar_CheckedFiles.ml @@ -1,5 +1,5 @@ open Prims -let (cache_version_number : Prims.int) = (Prims.parse_int "11") +let (cache_version_number : Prims.int) = (Prims.parse_int "14") type tc_result = { checked_module: FStar_Syntax_Syntax.modul ; @@ -12,457 +12,547 @@ type tc_result = extraction_time: Prims.int } let (__proj__Mktc_result__item__checked_module : tc_result -> FStar_Syntax_Syntax.modul) = - fun projectee -> + fun projectee -> match projectee with | { checked_module; mii; smt_decls; tc_time; extraction_time;_} -> checked_module + let (__proj__Mktc_result__item__mii : tc_result -> FStar_Syntax_DsEnv.module_inclusion_info) = - fun projectee -> + fun projectee -> match projectee with | { checked_module; mii; smt_decls; tc_time; extraction_time;_} -> mii + let (__proj__Mktc_result__item__smt_decls : tc_result -> (FStar_SMTEncoding_Term.decls_t * FStar_SMTEncoding_Env.fvar_binding Prims.list)) = - fun projectee -> + fun projectee -> match projectee with | { checked_module; mii; smt_decls; tc_time; extraction_time;_} -> smt_decls + let (__proj__Mktc_result__item__tc_time : tc_result -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { checked_module; mii; smt_decls; tc_time; extraction_time;_} -> tc_time + let (__proj__Mktc_result__item__extraction_time : tc_result -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { checked_module; mii; smt_decls; tc_time; extraction_time;_} -> extraction_time -type checked_file_entry = - (Prims.int * (Prims.string * Prims.string) Prims.list * Prims.string * - FStar_Parser_Dep.parsing_data * tc_result) + +type checked_file_entry_stage1 = + { + version: Prims.int ; + digest: Prims.string ; + parsing_data: FStar_Parser_Dep.parsing_data } +let (__proj__Mkchecked_file_entry_stage1__item__version : + checked_file_entry_stage1 -> Prims.int) = + fun projectee -> + match projectee with | { version; digest; parsing_data;_} -> version + +let (__proj__Mkchecked_file_entry_stage1__item__digest : + checked_file_entry_stage1 -> Prims.string) = + fun projectee -> + match projectee with | { version; digest; parsing_data;_} -> digest + +let (__proj__Mkchecked_file_entry_stage1__item__parsing_data : + checked_file_entry_stage1 -> FStar_Parser_Dep.parsing_data) = + fun projectee -> + match projectee with | { version; digest; parsing_data;_} -> parsing_data + +type checked_file_entry_stage2 = + { + deps_dig: (Prims.string * Prims.string) Prims.list ; + tc_res: tc_result } +let (__proj__Mkchecked_file_entry_stage2__item__deps_dig : + checked_file_entry_stage2 -> (Prims.string * Prims.string) Prims.list) = + fun projectee -> match projectee with | { deps_dig; tc_res;_} -> deps_dig +let (__proj__Mkchecked_file_entry_stage2__item__tc_res : + checked_file_entry_stage2 -> tc_result) = + fun projectee -> match projectee with | { deps_dig; tc_res;_} -> tc_res type tc_result_t = | Unknown | Invalid of Prims.string | Valid of Prims.string let (uu___is_Unknown : tc_result_t -> Prims.bool) = - fun projectee -> - match projectee with | Unknown -> true | uu____192 -> false + fun projectee -> + match projectee with | Unknown -> true | uu____297 -> false + let (uu___is_Invalid : tc_result_t -> Prims.bool) = - fun projectee -> - match projectee with | Invalid _0 -> true | uu____205 -> false + fun projectee -> + match projectee with | Invalid _0 -> true | uu____310 -> false + let (__proj__Invalid__item___0 : tc_result_t -> Prims.string) = - fun projectee -> match projectee with | Invalid _0 -> _0 + fun projectee -> match projectee with | Invalid _0 -> _0 let (uu___is_Valid : tc_result_t -> Prims.bool) = - fun projectee -> - match projectee with | Valid _0 -> true | uu____228 -> false + fun projectee -> + match projectee with | Valid _0 -> true | uu____333 -> false + let (__proj__Valid__item___0 : tc_result_t -> Prims.string) = - fun projectee -> match projectee with | Valid _0 -> _0 + fun projectee -> match projectee with | Valid _0 -> _0 type cache_t = - (tc_result_t * (Prims.string, FStar_Parser_Dep.parsing_data) + (tc_result_t * (Prims.string,FStar_Parser_Dep.parsing_data) FStar_Util.either) let (mcache : cache_t FStar_Util.smap) = - FStar_Util.smap_create (Prims.parse_int "50") + FStar_Util.smap_create (Prims.parse_int "50") let (hash_dependences : FStar_Parser_Dep.deps -> Prims.string -> - (Prims.string, (Prims.string * Prims.string) Prims.list) + (Prims.string,(Prims.string * Prims.string) Prims.list) FStar_Util.either) = - fun deps -> - fun fn -> + fun deps -> + fun fn -> let fn1 = - let uu____294 = FStar_Options.find_file fn in - match uu____294 with + let uu____399 = FStar_Options.find_file fn in + match uu____399 with | FStar_Pervasives_Native.Some fn1 -> fn1 - | uu____302 -> fn in - let module_name = FStar_Parser_Dep.lowercase_module_name fn1 in - let source_hash = FStar_Util.digest_of_file fn1 in + | uu____407 -> fn in + let module_name = FStar_Parser_Dep.lowercase_module_name fn1 in + let source_hash = FStar_Util.digest_of_file fn1 in let has_interface = - let uu____312 = FStar_Parser_Dep.interface_of deps module_name in - FStar_Option.isSome uu____312 in + let uu____417 = FStar_Parser_Dep.interface_of deps module_name in + FStar_Option.isSome uu____417 in let interface_hash = - let uu____326 = - (FStar_Parser_Dep.is_implementation fn1) && has_interface in - if uu____326 + let uu____431 = + (FStar_Parser_Dep.is_implementation fn1) && has_interface in + if uu____431 then - let uu____337 = - let uu____344 = - let uu____346 = - let uu____348 = - FStar_Parser_Dep.interface_of deps module_name in - FStar_Option.get uu____348 in - FStar_Util.digest_of_file uu____346 in - ("interface", uu____344) in - [uu____337] - else [] in + let uu____442 = + let uu____449 = + let uu____451 = + let uu____453 = + FStar_Parser_Dep.interface_of deps module_name in + FStar_Option.get uu____453 in + FStar_Util.digest_of_file uu____451 in + ("interface", uu____449) in + [uu____442] + else [] in let binary_deps = - let uu____380 = FStar_Parser_Dep.deps_of deps fn1 in - FStar_All.pipe_right uu____380 + let uu____485 = FStar_Parser_Dep.deps_of deps fn1 in + FStar_All.pipe_right uu____485 (FStar_List.filter - (fun fn2 -> - let uu____395 = + (fun fn2 -> + let uu____500 = (FStar_Parser_Dep.is_interface fn2) && - (let uu____398 = - FStar_Parser_Dep.lowercase_module_name fn2 in - uu____398 = module_name) in - Prims.op_Negation uu____395)) in + (let uu____503 = + FStar_Parser_Dep.lowercase_module_name fn2 in + uu____503 = module_name) + in + Prims.op_Negation uu____500)) + in let binary_deps1 = FStar_List.sortWith - (fun fn11 -> - fun fn2 -> - let uu____414 = FStar_Parser_Dep.lowercase_module_name fn11 in - let uu____416 = FStar_Parser_Dep.lowercase_module_name fn2 in - FStar_String.compare uu____414 uu____416) binary_deps in - let rec hash_deps out uu___0_452 = - match uu___0_452 with + (fun fn11 -> + fun fn2 -> + let uu____519 = FStar_Parser_Dep.lowercase_module_name fn11 + in + let uu____521 = FStar_Parser_Dep.lowercase_module_name fn2 in + FStar_String.compare uu____519 uu____521) binary_deps + in + let rec hash_deps out uu___0_557 = + match uu___0_557 with | [] -> FStar_Util.Inr (FStar_List.append (("source", source_hash) :: interface_hash) out) | fn2::deps1 -> - let cache_fn = FStar_Parser_Dep.cache_file_name fn2 in + let cache_fn = FStar_Parser_Dep.cache_file_name fn2 in let digest = - let uu____518 = FStar_Util.smap_try_find mcache cache_fn in - match uu____518 with - | FStar_Pervasives_Native.None -> + let uu____623 = FStar_Util.smap_try_find mcache cache_fn in + match uu____623 with + | FStar_Pervasives_Native.None -> let msg = FStar_Util.format2 "For dependency %s, cache file %s is not loaded" fn2 - cache_fn in - ((let uu____531 = FStar_Options.debug_any () in - if uu____531 then FStar_Util.print1 "%s\\m" msg else ()); + cache_fn + in + ((let uu____636 = FStar_Options.debug_any () in + if uu____636 then FStar_Util.print1 "%s\\m" msg else ()); FStar_Util.Inl msg) - | FStar_Pervasives_Native.Some (Invalid msg, uu____540) -> + | FStar_Pervasives_Native.Some (Invalid msg,uu____645) -> FStar_Util.Inl msg - | FStar_Pervasives_Native.Some (Valid dig, uu____555) -> + | FStar_Pervasives_Native.Some (Valid dig,uu____660) -> FStar_Util.Inr dig - | FStar_Pervasives_Native.Some (Unknown, uu____569) -> - let uu____580 = + | FStar_Pervasives_Native.Some (Unknown ,uu____674) -> + let uu____685 = FStar_Util.format2 "Impossible: unknown entry in the cache for dependence %s of module %s" - fn2 module_name in - failwith uu____580 in + fn2 module_name + in + failwith uu____685 + in (match digest with | FStar_Util.Inl msg -> FStar_Util.Inl msg | FStar_Util.Inr dig -> - let uu____619 = - let uu____628 = - let uu____635 = - FStar_Parser_Dep.lowercase_module_name fn2 in - (uu____635, dig) in - uu____628 :: out in - hash_deps uu____619 deps1) in + let uu____724 = + let uu____733 = + let uu____740 = + FStar_Parser_Dep.lowercase_module_name fn2 in + (uu____740, dig) in + uu____733 :: out in + hash_deps uu____724 deps1) + in hash_deps [] binary_deps1 + let (load_checked_file : Prims.string -> Prims.string -> cache_t) = - fun fn -> - fun checked_fn -> + fun fn -> + fun checked_fn -> let elt = - FStar_All.pipe_right checked_fn (FStar_Util.smap_try_find mcache) in - let uu____672 = FStar_All.pipe_right elt FStar_Util.is_some in - if uu____672 + FStar_All.pipe_right checked_fn (FStar_Util.smap_try_find mcache) in + let uu____777 = FStar_All.pipe_right elt FStar_Util.is_some in + if uu____777 then FStar_All.pipe_right elt FStar_Util.must else (let add_and_return elt1 = - FStar_Util.smap_add mcache checked_fn elt1; elt1 in + FStar_Util.smap_add mcache checked_fn elt1; elt1 in if Prims.op_Negation (FStar_Util.file_exists checked_fn) then let msg = - FStar_Util.format1 "checked file %s does not exist" checked_fn in + FStar_Util.format1 "checked file %s does not exist" checked_fn + in add_and_return ((Invalid msg), (FStar_Util.Inl msg)) else - (let entry = FStar_Util.load_value_from_file checked_fn in + (let entry = FStar_Util.load_value_from_file checked_fn in match entry with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let msg = - FStar_Util.format1 "checked file %s is corrupt" checked_fn in + FStar_Util.format1 "checked file %s is corrupt" checked_fn + in add_and_return ((Invalid msg), (FStar_Util.Inl msg)) - | FStar_Pervasives_Native.Some - (vnum, uu____714, dig, parsing_data, uu____717) -> - if vnum <> cache_version_number + | FStar_Pervasives_Native.Some x -> + if x.version <> cache_version_number then let msg = FStar_Util.format1 - "checked file %s has incorrect version" checked_fn in + "checked file %s has incorrect version" checked_fn + in add_and_return ((Invalid msg), (FStar_Util.Inl msg)) else - (let current_dig = FStar_Util.digest_of_file fn in - if dig <> current_dig + (let current_digest = FStar_Util.digest_of_file fn in + if x.digest <> current_digest then - ((let uu____756 = FStar_Options.debug_any () in - if uu____756 + ((let uu____837 = FStar_Options.debug_any () in + if uu____837 then FStar_Util.print4 "Checked file %s is stale since incorrect digest of %s, expected: %s, found: %s\n" - checked_fn fn current_dig dig + checked_fn fn current_digest x.digest else ()); (let msg = FStar_Util.format2 "checked file %s is stale (digest mismatch for %s)" - checked_fn fn in + checked_fn fn + in add_and_return ((Invalid msg), (FStar_Util.Inl msg)))) else - add_and_return (Unknown, (FStar_Util.Inr parsing_data))))) + add_and_return + (Unknown, (FStar_Util.Inr (x.parsing_data)))))) + let (load_checked_file_with_tc_result : FStar_Parser_Dep.deps -> Prims.string -> - Prims.string -> (Prims.string, tc_result) FStar_Util.either) + Prims.string -> (Prims.string,tc_result) FStar_Util.either) = - fun deps -> - fun fn -> - fun checked_fn -> + fun deps -> + fun fn -> + fun checked_fn -> let load_tc_result fn1 = - let entry = FStar_Util.load_value_from_file checked_fn in + let entry = FStar_Util.load_2values_from_file checked_fn in match entry with - | FStar_Pervasives_Native.Some - (uu____856, deps_dig, uu____858, uu____859, tc_result) -> - (deps_dig, tc_result) - | uu____889 -> + | FStar_Pervasives_Native.Some (uu____941,s2) -> + ((s2.deps_dig), (s2.tc_res)) + | uu____955 -> failwith - "Impossible! if first phase of loading was unknown, it should have succeeded" in - let elt = load_checked_file fn checked_fn in + "Impossible! if first phase of loading was unknown, it should have succeeded" + in + let elt = load_checked_file fn checked_fn in match elt with - | (Invalid msg, uu____912) -> FStar_Util.Inl msg - | (Valid uu____925, uu____926) -> - let uu____938 = - let uu____939 = FStar_All.pipe_right checked_fn load_tc_result in - FStar_All.pipe_right uu____939 FStar_Pervasives_Native.snd in - FStar_All.pipe_right uu____938 (fun _991 -> FStar_Util.Inr _991) - | (Unknown, parsing_data) -> - let uu____1003 = hash_dependences deps fn in - (match uu____1003 with + | (Invalid msg,uu____982) -> FStar_Util.Inl msg + | (Valid uu____995,uu____996) -> + let uu____1008 = + let uu____1009 = FStar_All.pipe_right checked_fn load_tc_result + in + FStar_All.pipe_right uu____1009 FStar_Pervasives_Native.snd in + FStar_All.pipe_right uu____1008 + (fun _1061 -> FStar_Util.Inr _1061) + | (Unknown ,parsing_data) -> + let uu____1073 = hash_dependences deps fn in + (match uu____1073 with | FStar_Util.Inl msg -> - let elt1 = ((Invalid msg), parsing_data) in + let elt1 = ((Invalid msg), parsing_data) in (FStar_Util.smap_add mcache checked_fn elt1; FStar_Util.Inl msg) | FStar_Util.Inr deps_dig' -> - let uu____1068 = - FStar_All.pipe_right checked_fn load_tc_result in - (match uu____1068 with - | (deps_dig, tc_result) -> + let uu____1138 = + FStar_All.pipe_right checked_fn load_tc_result in + (match uu____1138 with + | (deps_dig,tc_result) -> if deps_dig = deps_dig' then let elt1 = - let uu____1141 = - let uu____1142 = - FStar_Util.digest_of_file checked_fn in - Valid uu____1142 in - (uu____1141, parsing_data) in + let uu____1211 = + let uu____1212 = + FStar_Util.digest_of_file checked_fn in + Valid uu____1212 in + (uu____1211, parsing_data) in (FStar_Util.smap_add mcache checked_fn elt1; - (let validate_iface_cache uu____1155 = + (let validate_iface_cache uu____1225 = let iface1 = - let uu____1160 = + let uu____1230 = FStar_All.pipe_right fn - FStar_Parser_Dep.lowercase_module_name in - FStar_All.pipe_right uu____1160 - (FStar_Parser_Dep.interface_of deps) in + FStar_Parser_Dep.lowercase_module_name + in + FStar_All.pipe_right uu____1230 + (FStar_Parser_Dep.interface_of deps) + in match iface1 with - | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.None -> () | FStar_Pervasives_Native.Some iface2 -> (try - (fun uu___136_1177 -> + (fun uu___143_1247 -> match () with | () -> let iface_checked_fn = FStar_All.pipe_right iface2 - FStar_Parser_Dep.cache_file_name in - let uu____1182 = + FStar_Parser_Dep.cache_file_name + in + let uu____1252 = FStar_Util.smap_try_find mcache - iface_checked_fn in - (match uu____1182 with + iface_checked_fn + in + (match uu____1252 with | FStar_Pervasives_Native.Some - (Unknown, parsing_data1) -> - let uu____1196 = - let uu____1197 = - let uu____1198 = + (Unknown ,parsing_data1) -> + let uu____1266 = + let uu____1267 = + let uu____1268 = FStar_Util.digest_of_file - iface_checked_fn in - Valid uu____1198 in - (uu____1197, parsing_data1) in + iface_checked_fn + in + Valid uu____1268 in + (uu____1267, parsing_data1) + in FStar_Util.smap_add mcache - iface_checked_fn uu____1196 - | uu____1205 -> ())) () - with | uu___135_1209 -> ()) in + iface_checked_fn uu____1266 + | uu____1275 -> ())) () + with | uu___142_1279 -> ()) + in validate_iface_cache (); FStar_Util.Inr tc_result)) else - ((let uu____1215 = FStar_Options.debug_any () in - if uu____1215 + ((let uu____1285 = FStar_Options.debug_any () in + if uu____1285 then - ((let uu____1219 = + ((let uu____1289 = FStar_Util.string_of_int - (FStar_List.length deps_dig') in - let uu____1227 = - FStar_Parser_Dep.print_digest deps_dig' in - let uu____1229 = + (FStar_List.length deps_dig') + in + let uu____1297 = + FStar_Parser_Dep.print_digest deps_dig' in + let uu____1299 = FStar_Util.string_of_int - (FStar_List.length deps_dig) in - let uu____1237 = - FStar_Parser_Dep.print_digest deps_dig in + (FStar_List.length deps_dig) + in + let uu____1307 = + FStar_Parser_Dep.print_digest deps_dig in FStar_Util.print4 "Expected (%s) hashes:\n%s\n\nGot (%s) hashes:\n\t%s\n" - uu____1219 uu____1227 uu____1229 uu____1237); + uu____1289 uu____1297 uu____1299 uu____1307); if (FStar_List.length deps_dig) = (FStar_List.length deps_dig') then FStar_List.iter2 - (fun uu____1273 -> - fun uu____1274 -> - match (uu____1273, uu____1274) with - | ((x, y), (x', y')) -> + (fun uu____1343 -> + fun uu____1344 -> + match (uu____1343, uu____1344) with + | ((x,y),(x',y')) -> if (x <> x') || (y <> y') then - let uu____1326 = + let uu____1396 = FStar_Parser_Dep.print_digest - [(x, y)] in - let uu____1342 = + [(x, y)] + in + let uu____1412 = FStar_Parser_Dep.print_digest - [(x', y')] in + [(x', y')] + in FStar_Util.print2 "Differ at: Expected %s\n Got %s\n" - uu____1326 uu____1342 + uu____1396 uu____1412 else ()) deps_dig deps_dig' else ()) else ()); (let msg = FStar_Util.format1 "checked file %s is stale (dependence hash mismatch, use --debug yes for more details)" - checked_fn in - let elt1 = ((Invalid msg), (FStar_Util.Inl msg)) in + checked_fn + in + let elt1 = ((Invalid msg), (FStar_Util.Inl msg)) + in FStar_Util.smap_add mcache checked_fn elt1; FStar_Util.Inl msg)))) + let (load_parsing_data_from_cache : Prims.string -> FStar_Parser_Dep.parsing_data FStar_Pervasives_Native.option) = - fun file_name -> + fun file_name -> let cache_file = try - (fun uu___165_1405 -> + (fun uu___172_1475 -> match () with | () -> - let uu____1409 = FStar_Parser_Dep.cache_file_name file_name in - FStar_All.pipe_right uu____1409 - (fun _1416 -> FStar_Pervasives_Native.Some _1416)) () - with | uu___164_1418 -> FStar_Pervasives_Native.None in + let uu____1479 = FStar_Parser_Dep.cache_file_name file_name + in + FStar_All.pipe_right uu____1479 + (fun _1486 -> FStar_Pervasives_Native.Some _1486)) () + with | uu___171_1488 -> FStar_Pervasives_Native.None in match cache_file with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some cache_file1 -> - let uu____1429 = load_checked_file file_name cache_file1 in - (match uu____1429 with - | (uu____1432, FStar_Util.Inl msg) -> FStar_Pervasives_Native.None - | (uu____1441, FStar_Util.Inr data) -> + let uu____1499 = load_checked_file file_name cache_file1 in + (match uu____1499 with + | (uu____1502,FStar_Util.Inl msg) -> FStar_Pervasives_Native.None + | (uu____1511,FStar_Util.Inr data) -> FStar_Pervasives_Native.Some data) + let (load_module_from_cache : FStar_Extraction_ML_UEnv.uenv -> Prims.string -> tc_result FStar_Pervasives_Native.option) = - let already_failed = FStar_Util.mk_ref false in - fun env -> - fun fn -> - let load_it uu____1477 = - let cache_file = FStar_Parser_Dep.cache_file_name fn in + let already_failed = FStar_Util.mk_ref false in + fun env -> + fun fn -> + let load_it uu____1547 = + let cache_file = FStar_Parser_Dep.cache_file_name fn in let fail1 msg cache_file1 = let suppress_warning = (FStar_Options.should_verify_file fn) || - (FStar_ST.op_Bang already_failed) in + (FStar_ST.op_Bang already_failed) + in if Prims.op_Negation suppress_warning then (FStar_ST.op_Colon_Equals already_failed true; - (let uu____1542 = - let uu____1543 = + (let uu____1612 = + let uu____1613 = FStar_Range.mk_pos (Prims.parse_int "0") - (Prims.parse_int "0") in - let uu____1546 = + (Prims.parse_int "0") + in + let uu____1616 = FStar_Range.mk_pos (Prims.parse_int "0") - (Prims.parse_int "0") in - FStar_Range.mk_range fn uu____1543 uu____1546 in - let uu____1549 = - let uu____1555 = + (Prims.parse_int "0") + in + FStar_Range.mk_range fn uu____1613 uu____1616 in + let uu____1619 = + let uu____1625 = FStar_Util.format3 "Unable to load %s since %s; will recheck %s (suppressing this warning for further modules)" - cache_file1 msg fn in - (FStar_Errors.Warning_CachedFile, uu____1555) in - FStar_Errors.log_issue uu____1542 uu____1549)) - else () in - let uu____1561 = - let uu____1567 = + cache_file1 msg fn + in + (FStar_Errors.Warning_CachedFile, uu____1625) in + FStar_Errors.log_issue uu____1612 uu____1619)) + else () in + let uu____1631 = + let uu____1637 = FStar_TypeChecker_Env.dep_graph - env.FStar_Extraction_ML_UEnv.env_tcenv in - load_checked_file_with_tc_result uu____1567 fn cache_file in - match uu____1561 with + env.FStar_Extraction_ML_UEnv.env_tcenv + in + load_checked_file_with_tc_result uu____1637 fn cache_file in + match uu____1631 with | FStar_Util.Inl msg -> (fail1 msg cache_file; FStar_Pervasives_Native.None) | FStar_Util.Inr tc_result -> - ((let uu____1577 = FStar_Options.debug_any () in - if uu____1577 + ((let uu____1647 = FStar_Options.debug_any () in + if uu____1647 then FStar_Util.print1 "Successfully loaded module from checked file %s\n" cache_file else ()); FStar_Pervasives_Native.Some tc_result) - | uu____1583 -> + | uu____1653 -> failwith - "load_checked_file_tc_result must have an Invalid or Valid entry" in + "load_checked_file_tc_result must have an Invalid or Valid entry" + in FStar_Options.profile load_it - (fun res -> - let msg = if FStar_Option.isSome res then "ok" else "failed" in - let uu____1608 = FStar_Parser_Dep.cache_file_name fn in - FStar_Util.format2 "Loading checked file %s ... %s" uu____1608 msg) -let (store_value_to_cache : Prims.string -> checked_file_entry -> unit) = - fun cache_file -> fun data -> FStar_Util.save_value_to_file cache_file data + (fun res -> + let msg = if FStar_Option.isSome res then "ok" else "failed" in + let uu____1678 = FStar_Parser_Dep.cache_file_name fn in + FStar_Util.format2 "Loading checked file %s ... %s" uu____1678 msg) + +let (store_values_to_cache : + Prims.string -> + checked_file_entry_stage1 -> checked_file_entry_stage2 -> unit) + = + fun cache_file -> + fun stage1 -> + fun stage2 -> FStar_Util.save_2values_to_file cache_file stage1 stage2 + let (store_module_to_cache : FStar_Extraction_ML_UEnv.uenv -> Prims.string -> FStar_Parser_Dep.parsing_data -> tc_result -> unit) = - fun env -> - fun fn -> - fun parsing_data -> - fun tc_result -> - let uu____1647 = + fun env -> + fun fn -> + fun parsing_data -> + fun tc_result -> + let uu____1722 = (FStar_Options.cache_checked_modules ()) && - (let uu____1650 = FStar_Options.cache_off () in - Prims.op_Negation uu____1650) in - if uu____1647 + (let uu____1725 = FStar_Options.cache_off () in + Prims.op_Negation uu____1725) + in + if uu____1722 then - let cache_file = FStar_Parser_Dep.cache_file_name fn in + let cache_file = FStar_Parser_Dep.cache_file_name fn in let digest = - let uu____1669 = + let uu____1744 = FStar_TypeChecker_Env.dep_graph - env.FStar_Extraction_ML_UEnv.env_tcenv in - hash_dependences uu____1669 fn in + env.FStar_Extraction_ML_UEnv.env_tcenv + in + hash_dependences uu____1744 fn in match digest with | FStar_Util.Inr hashes -> let tc_result1 = - let uu___217_1689 = tc_result in + let uu___225_1764 = tc_result in { - checked_module = (uu___217_1689.checked_module); - mii = (uu___217_1689.mii); - smt_decls = (uu___217_1689.smt_decls); + checked_module = (uu___225_1764.checked_module); + mii = (uu___225_1764.mii); + smt_decls = (uu___225_1764.smt_decls); tc_time = (Prims.parse_int "0"); extraction_time = (Prims.parse_int "0") - } in - let uu____1692 = - let uu____1693 = FStar_Util.digest_of_file fn in - (cache_version_number, hashes, uu____1693, parsing_data, - tc_result1) in - store_value_to_cache cache_file uu____1692 + } in + let stage1 = + let uu____1768 = FStar_Util.digest_of_file fn in + { + version = cache_version_number; + digest = uu____1768; + parsing_data + } in + let stage2 = { deps_dig = hashes; tc_res = tc_result1 } in + store_values_to_cache cache_file stage1 stage2 | FStar_Util.Inl msg -> - let uu____1716 = - let uu____1717 = + let uu____1782 = + let uu____1783 = FStar_Range.mk_pos (Prims.parse_int "0") - (Prims.parse_int "0") in - let uu____1720 = + (Prims.parse_int "0") + in + let uu____1786 = FStar_Range.mk_pos (Prims.parse_int "0") - (Prims.parse_int "0") in - FStar_Range.mk_range fn uu____1717 uu____1720 in - let uu____1723 = - let uu____1729 = + (Prims.parse_int "0") + in + FStar_Range.mk_range fn uu____1783 uu____1786 in + let uu____1789 = + let uu____1795 = FStar_Util.format2 "%s was not written since %s" - cache_file msg in - (FStar_Errors.Warning_FileNotWritten, uu____1729) in - FStar_Errors.log_issue uu____1716 uu____1723 - else () \ No newline at end of file + cache_file msg + in + (FStar_Errors.Warning_FileNotWritten, uu____1795) in + FStar_Errors.log_issue uu____1782 uu____1789 + else () + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Common.ml b/src/ocaml-output/FStar_Common.ml index 284cd9dc9b4..d5c82ca0984 100644 --- a/src/ocaml-output/FStar_Common.ml +++ b/src/ocaml-output/FStar_Common.ml @@ -1,53 +1,57 @@ open Prims let (has_cygpath : Prims.bool) = try - (fun uu___2_4 -> + (fun uu___2_4 -> match () with | () -> let t_out = FStar_Util.run_process "has_cygpath" "which" ["cygpath"] - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (FStar_Util.trim_string t_out) = "/usr/bin/cygpath") () - with | uu___1_17 -> false + with | uu___1_17 -> false let (try_convert_file_name_to_mixed : Prims.string -> Prims.string) = - let cache = FStar_Util.smap_create (Prims.parse_int "20") in - fun s -> + let cache = FStar_Util.smap_create (Prims.parse_int "20") in + fun s -> if has_cygpath && (FStar_Util.starts_with s "/") then - let uu____38 = FStar_Util.smap_try_find cache s in + let uu____38 = FStar_Util.smap_try_find cache s in match uu____38 with | FStar_Pervasives_Native.Some s1 -> s1 - | FStar_Pervasives_Native.None -> - let label = "try_convert_file_name_to_mixed" in + | FStar_Pervasives_Native.None -> + let label = "try_convert_file_name_to_mixed" in let out = let uu____53 = FStar_Util.run_process label "cygpath" ["-m"; s] - FStar_Pervasives_Native.None in - FStar_All.pipe_right uu____53 FStar_Util.trim_string in + FStar_Pervasives_Native.None + in + FStar_All.pipe_right uu____53 FStar_Util.trim_string in (FStar_Util.smap_add cache s out; out) else s + let snapshot : 'a 'b 'c . ('a -> 'b) -> 'c Prims.list FStar_ST.ref -> 'a -> (Prims.int * 'b) = - fun push -> - fun stackref -> - fun arg -> + fun push -> + fun stackref -> + fun arg -> FStar_Util.atomically - (fun uu____123 -> + (fun uu____123 -> let len = - let uu____125 = FStar_ST.op_Bang stackref in - FStar_List.length uu____125 in - let arg' = push arg in (len, arg')) + let uu____125 = FStar_ST.op_Bang stackref in + FStar_List.length uu____125 in + let arg' = push arg in (len, arg')) + let rollback : 'a 'c . (unit -> 'a) -> 'c Prims.list FStar_ST.ref -> Prims.int FStar_Pervasives_Native.option -> 'a = - fun pop -> - fun stackref -> - fun depth -> + fun pop -> + fun stackref -> + fun depth -> let rec aux n1 = if n1 <= (Prims.parse_int "0") then failwith "Too many pops" @@ -55,68 +59,78 @@ let rollback : if n1 = (Prims.parse_int "1") then pop () else - ((let uu____218 = pop () in ()); - aux (n1 - (Prims.parse_int "1"))) in + ((let uu____218 = pop () in ()); + aux (n1 - (Prims.parse_int "1"))) + in let curdepth = - let uu____221 = FStar_ST.op_Bang stackref in - FStar_List.length uu____221 in + let uu____221 = FStar_ST.op_Bang stackref in + FStar_List.length uu____221 in let n1 = match depth with | FStar_Pervasives_Native.Some d -> curdepth - d - | FStar_Pervasives_Native.None -> (Prims.parse_int "1") in - FStar_Util.atomically (fun uu____256 -> aux n1) + | FStar_Pervasives_Native.None -> (Prims.parse_int "1") in + FStar_Util.atomically (fun uu____256 -> aux n1) + let raise_failed_assertion : 'Auu____262 . Prims.string -> 'Auu____262 = - fun msg -> - let uu____270 = FStar_Util.format1 "Assertion failed: %s" msg in + fun msg -> + let uu____270 = FStar_Util.format1 "Assertion failed: %s" msg in failwith uu____270 + let (runtime_assert : Prims.bool -> Prims.string -> unit) = - fun b -> - fun msg -> if Prims.op_Negation b then raise_failed_assertion msg else () + fun b -> + fun msg -> + if Prims.op_Negation b then raise_failed_assertion msg else () + let string_of_list : 'a . ('a -> Prims.string) -> 'a Prims.list -> Prims.string = - fun f -> - fun l -> + fun f -> + fun l -> let uu____321 = let uu____323 = - let uu____325 = FStar_List.map f l in - FStar_String.concat ", " uu____325 in - Prims.op_Hat uu____323 "]" in + let uu____325 = FStar_List.map f l in + FStar_String.concat ", " uu____325 in + Prims.op_Hat uu____323 "]" in Prims.op_Hat "[" uu____321 + let list_of_option : 'a . 'a FStar_Pervasives_Native.option -> 'a Prims.list = - fun o -> + fun o -> match o with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some x -> [x] + let string_of_option : 'Auu____360 . ('Auu____360 -> Prims.string) -> 'Auu____360 FStar_Pervasives_Native.option -> Prims.string = - fun f -> - fun uu___0_377 -> + fun f -> + fun uu___0_377 -> match uu___0_377 with - | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.None -> "None" | FStar_Pervasives_Native.Some x -> - let uu____385 = f x in Prims.op_Hat "Some " uu____385 -type 'a thunk = (unit -> 'a, 'a) FStar_Util.either FStar_ST.ref + let uu____385 = f x in Prims.op_Hat "Some " uu____385 + +type 'a thunk = (unit -> 'a,'a) FStar_Util.either FStar_ST.ref let mk_thunk : 'a . (unit -> 'a) -> 'a thunk = - fun f -> FStar_Util.mk_ref (FStar_Util.Inl f) + fun f -> FStar_Util.mk_ref (FStar_Util.Inl f) let force_thunk : 'a . 'a thunk -> 'a = - fun t -> - let uu____444 = FStar_ST.op_Bang t in + fun t -> + let uu____444 = FStar_ST.op_Bang t in match uu____444 with | FStar_Util.Inr a -> a | FStar_Util.Inl f -> - let a = f () in (FStar_ST.op_Colon_Equals t (FStar_Util.Inr a); a) + let a = f () in (FStar_ST.op_Colon_Equals t (FStar_Util.Inr a); a) + let tabulate : 'a . Prims.int -> (Prims.int -> 'a) -> 'a Prims.list = - fun n1 -> - fun f -> + fun n1 -> + fun f -> let rec aux i = if i < n1 then - let uu____576 = f i in - let uu____577 = aux (i + (Prims.parse_int "1")) in uu____576 :: + let uu____576 = f i in + let uu____577 = aux (i + (Prims.parse_int "1")) in uu____576 :: uu____577 - else [] in - aux (Prims.parse_int "0") \ No newline at end of file + else [] in + aux (Prims.parse_int "0") + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Const.ml b/src/ocaml-output/FStar_Const.ml index 1c5b4cf26d6..b616a4b9ceb 100644 --- a/src/ocaml-output/FStar_Const.ml +++ b/src/ocaml-output/FStar_Const.ml @@ -3,22 +3,26 @@ type signedness = | Unsigned | Signed [@@deriving yojson,show] let (uu___is_Unsigned : signedness -> Prims.bool) = - fun projectee -> match projectee with | Unsigned -> true | uu____8 -> false + fun projectee -> + match projectee with | Unsigned -> true | uu____8 -> false + let (uu___is_Signed : signedness -> Prims.bool) = - fun projectee -> match projectee with | Signed -> true | uu____19 -> false + fun projectee -> + match projectee with | Signed -> true | uu____19 -> false + type width = | Int8 | Int16 | Int32 | Int64 [@@deriving yojson,show] let (uu___is_Int8 : width -> Prims.bool) = - fun projectee -> match projectee with | Int8 -> true | uu____30 -> false + fun projectee -> match projectee with | Int8 -> true | uu____30 -> false let (uu___is_Int16 : width -> Prims.bool) = - fun projectee -> match projectee with | Int16 -> true | uu____41 -> false + fun projectee -> match projectee with | Int16 -> true | uu____41 -> false let (uu___is_Int32 : width -> Prims.bool) = - fun projectee -> match projectee with | Int32 -> true | uu____52 -> false + fun projectee -> match projectee with | Int32 -> true | uu____52 -> false let (uu___is_Int64 : width -> Prims.bool) = - fun projectee -> match projectee with | Int64 -> true | uu____63 -> false + fun projectee -> match projectee with | Int64 -> true | uu____63 -> false type sconst = | Const_effect | Const_unit @@ -37,123 +41,144 @@ type sconst = | Const_reify | Const_reflect of FStar_Ident.lid [@@deriving yojson,show] let (uu___is_Const_effect : sconst -> Prims.bool) = - fun projectee -> - match projectee with | Const_effect -> true | uu____144 -> false + fun projectee -> + match projectee with | Const_effect -> true | uu____144 -> false + let (uu___is_Const_unit : sconst -> Prims.bool) = - fun projectee -> - match projectee with | Const_unit -> true | uu____155 -> false + fun projectee -> + match projectee with | Const_unit -> true | uu____155 -> false + let (uu___is_Const_bool : sconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Const_bool _0 -> true | uu____168 -> false + let (__proj__Const_bool__item___0 : sconst -> Prims.bool) = - fun projectee -> match projectee with | Const_bool _0 -> _0 + fun projectee -> match projectee with | Const_bool _0 -> _0 let (uu___is_Const_int : sconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Const_int _0 -> true | uu____201 -> false + let (__proj__Const_int__item___0 : sconst -> (Prims.string * (signedness * width) FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | Const_int _0 -> _0 + = fun projectee -> match projectee with | Const_int _0 -> _0 let (uu___is_Const_char : sconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Const_char _0 -> true | uu____254 -> false + let (__proj__Const_char__item___0 : sconst -> FStar_BaseTypes.char) = - fun projectee -> match projectee with | Const_char _0 -> _0 + fun projectee -> match projectee with | Const_char _0 -> _0 let (uu___is_Const_float : sconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Const_float _0 -> true | uu____276 -> false + let (__proj__Const_float__item___0 : sconst -> FStar_BaseTypes.double) = - fun projectee -> match projectee with | Const_float _0 -> _0 + fun projectee -> match projectee with | Const_float _0 -> _0 let (uu___is_Const_real : sconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Const_real _0 -> true | uu____296 -> false + let (__proj__Const_real__item___0 : sconst -> Prims.string) = - fun projectee -> match projectee with | Const_real _0 -> _0 + fun projectee -> match projectee with | Const_real _0 -> _0 let (uu___is_Const_bytearray : sconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Const_bytearray _0 -> true | uu____324 -> false + let (__proj__Const_bytearray__item___0 : sconst -> (FStar_BaseTypes.byte Prims.array * FStar_Range.range)) = - fun projectee -> match projectee with | Const_bytearray _0 -> _0 + fun projectee -> match projectee with | Const_bytearray _0 -> _0 let (uu___is_Const_string : sconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Const_string _0 -> true | uu____366 -> false + let (__proj__Const_string__item___0 : sconst -> (Prims.string * FStar_Range.range)) = - fun projectee -> match projectee with | Const_string _0 -> _0 + fun projectee -> match projectee with | Const_string _0 -> _0 let (uu___is_Const_range_of : sconst -> Prims.bool) = - fun projectee -> - match projectee with | Const_range_of -> true | uu____399 -> false + fun projectee -> + match projectee with | Const_range_of -> true | uu____399 -> false + let (uu___is_Const_set_range_of : sconst -> Prims.bool) = - fun projectee -> - match projectee with | Const_set_range_of -> true | uu____410 -> false + fun projectee -> + match projectee with | Const_set_range_of -> true | uu____410 -> false + let (uu___is_Const_range : sconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Const_range _0 -> true | uu____422 -> false + let (__proj__Const_range__item___0 : sconst -> FStar_Range.range) = - fun projectee -> match projectee with | Const_range _0 -> _0 + fun projectee -> match projectee with | Const_range _0 -> _0 let (uu___is_Const_reify : sconst -> Prims.bool) = - fun projectee -> - match projectee with | Const_reify -> true | uu____440 -> false + fun projectee -> + match projectee with | Const_reify -> true | uu____440 -> false + let (uu___is_Const_reflect : sconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Const_reflect _0 -> true | uu____452 -> false + let (__proj__Const_reflect__item___0 : sconst -> FStar_Ident.lid) = - fun projectee -> match projectee with | Const_reflect _0 -> _0 + fun projectee -> match projectee with | Const_reflect _0 -> _0 let (eq_const : sconst -> sconst -> Prims.bool) = - fun c1 -> - fun c2 -> + fun c1 -> + fun c2 -> match (c1, c2) with - | (Const_int (s1, o1), Const_int (s2, o2)) -> - (let uu____510 = FStar_Util.ensure_decimal s1 in - let uu____512 = FStar_Util.ensure_decimal s2 in + | (Const_int (s1,o1),Const_int (s2,o2)) -> + (let uu____510 = FStar_Util.ensure_decimal s1 in + let uu____512 = FStar_Util.ensure_decimal s2 in uu____510 = uu____512) && (o1 = o2) - | (Const_bytearray (a, uu____522), Const_bytearray (b, uu____524)) -> + | (Const_bytearray (a,uu____522),Const_bytearray (b,uu____524)) -> a = b - | (Const_string (a, uu____536), Const_string (b, uu____538)) -> a = b - | (Const_reflect l1, Const_reflect l2) -> FStar_Ident.lid_equals l1 l2 + | (Const_string (a,uu____536),Const_string (b,uu____538)) -> a = b + | (Const_reflect l1,Const_reflect l2) -> FStar_Ident.lid_equals l1 l2 | uu____546 -> c1 = c2 + let rec (pow2 : FStar_BigInt.bigint -> FStar_BigInt.bigint) = - fun x -> - let uu____557 = FStar_BigInt.eq_big_int x FStar_BigInt.zero in + fun x -> + let uu____557 = FStar_BigInt.eq_big_int x FStar_BigInt.zero in if uu____557 then FStar_BigInt.one else (let uu____562 = - let uu____563 = FStar_BigInt.pred_big_int x in pow2 uu____563 in + let uu____563 = FStar_BigInt.pred_big_int x in pow2 uu____563 in FStar_BigInt.mult_big_int FStar_BigInt.two uu____562) + let (bounds : signedness -> width -> (FStar_BigInt.bigint * FStar_BigInt.bigint)) = - fun signedness -> - fun width -> + fun signedness -> + fun width -> let n1 = match width with - | Int8 -> FStar_BigInt.big_int_of_string "8" - | Int16 -> FStar_BigInt.big_int_of_string "16" - | Int32 -> FStar_BigInt.big_int_of_string "32" - | Int64 -> FStar_BigInt.big_int_of_string "64" in + | Int8 -> FStar_BigInt.big_int_of_string "8" + | Int16 -> FStar_BigInt.big_int_of_string "16" + | Int32 -> FStar_BigInt.big_int_of_string "32" + | Int64 -> FStar_BigInt.big_int_of_string "64" in let uu____584 = match signedness with - | Unsigned -> + | Unsigned -> let uu____593 = - let uu____594 = pow2 n1 in FStar_BigInt.pred_big_int uu____594 in + let uu____594 = pow2 n1 in FStar_BigInt.pred_big_int uu____594 + in (FStar_BigInt.zero, uu____593) - | Signed -> + | Signed -> let upper = - let uu____596 = FStar_BigInt.pred_big_int n1 in pow2 uu____596 in - let uu____597 = FStar_BigInt.minus_big_int upper in - let uu____598 = FStar_BigInt.pred_big_int upper in - (uu____597, uu____598) in - match uu____584 with | (lower, upper) -> (lower, upper) + let uu____596 = FStar_BigInt.pred_big_int n1 in pow2 uu____596 + in + let uu____597 = FStar_BigInt.minus_big_int upper in + let uu____598 = FStar_BigInt.pred_big_int upper in + (uu____597, uu____598) + in + match uu____584 with | (lower,upper) -> (lower, upper) + let (within_bounds : Prims.string -> signedness -> width -> Prims.bool) = - fun repr -> - fun signedness -> - fun width -> - let uu____624 = bounds signedness width in + fun repr -> + fun signedness -> + fun width -> + let uu____624 = bounds signedness width in match uu____624 with - | (lower, upper) -> + | (lower,upper) -> let value = - let uu____633 = FStar_Util.ensure_decimal repr in - FStar_BigInt.big_int_of_string uu____633 in + let uu____633 = FStar_Util.ensure_decimal repr in + FStar_BigInt.big_int_of_string uu____633 in (FStar_BigInt.le_big_int lower value) && - (FStar_BigInt.le_big_int value upper) \ No newline at end of file + (FStar_BigInt.le_big_int value upper) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Dependencies.ml b/src/ocaml-output/FStar_Dependencies.ml index ccc393f8ed8..611d6dbed1a 100644 --- a/src/ocaml-output/FStar_Dependencies.ml +++ b/src/ocaml-output/FStar_Dependencies.ml @@ -5,16 +5,17 @@ let (find_deps_if_needed : FStar_Parser_Dep.parsing_data FStar_Pervasives_Native.option) -> (Prims.string Prims.list * FStar_Parser_Dep.deps)) = - fun files -> - fun get_parsing_data_from_cache -> + fun files -> + fun get_parsing_data_from_cache -> let uu____34 = - FStar_Parser_Dep.collect files get_parsing_data_from_cache in + FStar_Parser_Dep.collect files get_parsing_data_from_cache in match uu____34 with - | (all_files, deps) -> + | (all_files,deps) -> (match all_files with | [] -> (FStar_Errors.log_issue FStar_Range.dummyRange (FStar_Errors.Error_DependencyAnalysisFailed, "Dependency analysis failed; reverting to using only the files provided\n"); (files, deps)) - | uu____71 -> ((FStar_List.rev all_files), deps)) \ No newline at end of file + | uu____71 -> ((FStar_List.rev all_files), deps)) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Errors.ml b/src/ocaml-output/FStar_Errors.ml index 9d692c3c7c7..5cdac30e9c3 100644 --- a/src/ocaml-output/FStar_Errors.ml +++ b/src/ocaml-output/FStar_Errors.ml @@ -142,7 +142,7 @@ type raw_error = | Fatal_NonLinearPatternVars | Fatal_NonSingletonTopLevel | Fatal_NonSingletonTopLevelModule - | Fatal_NonTopRecFunctionNotFullyEncoded + | Error_NonTopRecFunctionNotFullyEncoded | Fatal_NonTrivialPreConditionInPrims | Fatal_NonVariableInductiveTypeParameter | Fatal_NotApplicationOrFv @@ -323,1569 +323,1925 @@ type raw_error = | Fatal_EmptySurfaceLet | Warning_UnexpectedCheckedFile | Fatal_ExtractionUnsupported + | Warning_SMTErrorReason let (uu___is_Error_DependencyAnalysisFailed : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_DependencyAnalysisFailed -> true + | Error_DependencyAnalysisFailed -> true | uu____19 -> false + let (uu___is_Error_IDETooManyPops : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_IDETooManyPops -> true | uu____30 -> false + fun projectee -> + match projectee with | Error_IDETooManyPops -> true | uu____30 -> false + let (uu___is_Error_IDEUnrecognized : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_IDEUnrecognized -> true | uu____41 -> false + fun projectee -> + match projectee with | Error_IDEUnrecognized -> true | uu____41 -> false + let (uu___is_Error_InductiveTypeNotSatisfyPositivityCondition : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_InductiveTypeNotSatisfyPositivityCondition -> true + | Error_InductiveTypeNotSatisfyPositivityCondition -> true | uu____52 -> false + let (uu___is_Error_InvalidUniverseVar : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_InvalidUniverseVar -> true + | Error_InvalidUniverseVar -> true | uu____63 -> false + let (uu___is_Error_MissingFileName : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_MissingFileName -> true | uu____74 -> false + fun projectee -> + match projectee with | Error_MissingFileName -> true | uu____74 -> false + let (uu___is_Error_ModuleFileNameMismatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_ModuleFileNameMismatch -> true + | Error_ModuleFileNameMismatch -> true | uu____85 -> false + let (uu___is_Error_OpPlusInUniverse : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_OpPlusInUniverse -> true | uu____96 -> false + fun projectee -> + match projectee with + | Error_OpPlusInUniverse -> true + | uu____96 -> false + let (uu___is_Error_OutOfRange : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_OutOfRange -> true | uu____107 -> false + fun projectee -> + match projectee with | Error_OutOfRange -> true | uu____107 -> false + let (uu___is_Error_ProofObligationFailed : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_ProofObligationFailed -> true + | Error_ProofObligationFailed -> true | uu____118 -> false + let (uu___is_Error_TooManyFiles : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_TooManyFiles -> true | uu____129 -> false + fun projectee -> + match projectee with | Error_TooManyFiles -> true | uu____129 -> false + let (uu___is_Error_TypeCheckerFailToProve : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_TypeCheckerFailToProve -> true + | Error_TypeCheckerFailToProve -> true | uu____140 -> false + let (uu___is_Error_TypeError : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_TypeError -> true | uu____151 -> false + fun projectee -> + match projectee with | Error_TypeError -> true | uu____151 -> false + let (uu___is_Error_UncontrainedUnificationVar : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_UncontrainedUnificationVar -> true + | Error_UncontrainedUnificationVar -> true | uu____162 -> false + let (uu___is_Error_UnexpectedGTotComputation : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_UnexpectedGTotComputation -> true + | Error_UnexpectedGTotComputation -> true | uu____173 -> false + let (uu___is_Error_UnexpectedInstance : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_UnexpectedInstance -> true + | Error_UnexpectedInstance -> true | uu____184 -> false + let (uu___is_Error_UnknownFatal_AssertionFailure : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_UnknownFatal_AssertionFailure -> true + | Error_UnknownFatal_AssertionFailure -> true | uu____195 -> false + let (uu___is_Error_Z3InvocationError : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_Z3InvocationError -> true + | Error_Z3InvocationError -> true | uu____206 -> false + let (uu___is_Error_IDEAssertionFailure : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_IDEAssertionFailure -> true + | Error_IDEAssertionFailure -> true | uu____217 -> false + let (uu___is_Error_Z3SolverError : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_Z3SolverError -> true | uu____228 -> false + fun projectee -> + match projectee with | Error_Z3SolverError -> true | uu____228 -> false + let (uu___is_Fatal_AbstractTypeDeclarationInInterface : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_AbstractTypeDeclarationInInterface -> true + | Fatal_AbstractTypeDeclarationInInterface -> true | uu____239 -> false + let (uu___is_Fatal_ActionMustHaveFunctionType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ActionMustHaveFunctionType -> true + | Fatal_ActionMustHaveFunctionType -> true | uu____250 -> false + let (uu___is_Fatal_AlreadyDefinedTopLevelDeclaration : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_AlreadyDefinedTopLevelDeclaration -> true + | Fatal_AlreadyDefinedTopLevelDeclaration -> true | uu____261 -> false + let (uu___is_Fatal_ArgumentLengthMismatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ArgumentLengthMismatch -> true + | Fatal_ArgumentLengthMismatch -> true | uu____272 -> false + let (uu___is_Fatal_AssertionFailure : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_AssertionFailure -> true + | Fatal_AssertionFailure -> true | uu____283 -> false + let (uu___is_Fatal_AssignToImmutableValues : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_AssignToImmutableValues -> true + | Fatal_AssignToImmutableValues -> true | uu____294 -> false + let (uu___is_Fatal_AssumeValInInterface : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_AssumeValInInterface -> true + | Fatal_AssumeValInInterface -> true | uu____305 -> false + let (uu___is_Fatal_BadlyInstantiatedSynthByTactic : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_BadlyInstantiatedSynthByTactic -> true + | Fatal_BadlyInstantiatedSynthByTactic -> true | uu____316 -> false + let (uu___is_Fatal_BadSignatureShape : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_BadSignatureShape -> true + | Fatal_BadSignatureShape -> true | uu____327 -> false + let (uu___is_Fatal_BinderAndArgsLengthMismatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_BinderAndArgsLengthMismatch -> true + | Fatal_BinderAndArgsLengthMismatch -> true | uu____338 -> false + let (uu___is_Fatal_BothValAndLetInInterface : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_BothValAndLetInInterface -> true + | Fatal_BothValAndLetInInterface -> true | uu____349 -> false + let (uu___is_Fatal_CardinalityConstraintViolated : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_CardinalityConstraintViolated -> true + | Fatal_CardinalityConstraintViolated -> true | uu____360 -> false + let (uu___is_Fatal_ComputationNotTotal : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ComputationNotTotal -> true + | Fatal_ComputationNotTotal -> true | uu____371 -> false + let (uu___is_Fatal_ComputationTypeNotAllowed : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ComputationTypeNotAllowed -> true + | Fatal_ComputationTypeNotAllowed -> true | uu____382 -> false + let (uu___is_Fatal_ComputedTypeNotMatchAnnotation : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ComputedTypeNotMatchAnnotation -> true + | Fatal_ComputedTypeNotMatchAnnotation -> true | uu____393 -> false + let (uu___is_Fatal_ConstructorArgLengthMismatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ConstructorArgLengthMismatch -> true + | Fatal_ConstructorArgLengthMismatch -> true | uu____404 -> false + let (uu___is_Fatal_ConstructorFailedCheck : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ConstructorFailedCheck -> true + | Fatal_ConstructorFailedCheck -> true | uu____415 -> false + let (uu___is_Fatal_ConstructorNotFound : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ConstructorNotFound -> true + | Fatal_ConstructorNotFound -> true | uu____426 -> false + let (uu___is_Fatal_ConstsructorBuildWrongType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ConstsructorBuildWrongType -> true + | Fatal_ConstsructorBuildWrongType -> true | uu____437 -> false + let (uu___is_Fatal_CycleInRecTypeAbbreviation : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_CycleInRecTypeAbbreviation -> true + | Fatal_CycleInRecTypeAbbreviation -> true | uu____448 -> false + let (uu___is_Fatal_DataContructorNotFound : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_DataContructorNotFound -> true + | Fatal_DataContructorNotFound -> true | uu____459 -> false + let (uu___is_Fatal_DefaultQualifierNotAllowedOnEffects : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_DefaultQualifierNotAllowedOnEffects -> true + | Fatal_DefaultQualifierNotAllowedOnEffects -> true | uu____470 -> false + let (uu___is_Fatal_DefinitionNotFound : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_DefinitionNotFound -> true + | Fatal_DefinitionNotFound -> true | uu____481 -> false + let (uu___is_Fatal_DisjuctivePatternVarsMismatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_DisjuctivePatternVarsMismatch -> true + | Fatal_DisjuctivePatternVarsMismatch -> true | uu____492 -> false + let (uu___is_Fatal_DivergentComputationCannotBeIncludedInTotal : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_DivergentComputationCannotBeIncludedInTotal -> true + | Fatal_DivergentComputationCannotBeIncludedInTotal -> true | uu____503 -> false + let (uu___is_Fatal_DuplicateInImplementation : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_DuplicateInImplementation -> true + | Fatal_DuplicateInImplementation -> true | uu____514 -> false + let (uu___is_Fatal_DuplicateModuleOrInterface : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_DuplicateModuleOrInterface -> true + | Fatal_DuplicateModuleOrInterface -> true | uu____525 -> false + let (uu___is_Fatal_DuplicateTopLevelNames : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_DuplicateTopLevelNames -> true + | Fatal_DuplicateTopLevelNames -> true | uu____536 -> false + let (uu___is_Fatal_DuplicateTypeAnnotationAndValDecl : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_DuplicateTypeAnnotationAndValDecl -> true + | Fatal_DuplicateTypeAnnotationAndValDecl -> true | uu____547 -> false + let (uu___is_Fatal_EffectCannotBeReified : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_EffectCannotBeReified -> true + | Fatal_EffectCannotBeReified -> true | uu____558 -> false + let (uu___is_Fatal_EffectConstructorNotFullyApplied : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_EffectConstructorNotFullyApplied -> true + | Fatal_EffectConstructorNotFullyApplied -> true | uu____569 -> false + let (uu___is_Fatal_EffectfulAndPureComputationMismatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_EffectfulAndPureComputationMismatch -> true + | Fatal_EffectfulAndPureComputationMismatch -> true | uu____580 -> false + let (uu___is_Fatal_EffectNotFound : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_EffectNotFound -> true | uu____591 -> false + fun projectee -> + match projectee with | Fatal_EffectNotFound -> true | uu____591 -> false + let (uu___is_Fatal_EffectsCannotBeComposed : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_EffectsCannotBeComposed -> true + | Fatal_EffectsCannotBeComposed -> true | uu____602 -> false + let (uu___is_Fatal_ErrorInSolveDeferredConstraints : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ErrorInSolveDeferredConstraints -> true + | Fatal_ErrorInSolveDeferredConstraints -> true | uu____613 -> false + let (uu___is_Fatal_ErrorsReported : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_ErrorsReported -> true | uu____624 -> false + fun projectee -> + match projectee with | Fatal_ErrorsReported -> true | uu____624 -> false + let (uu___is_Fatal_EscapedBoundVar : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_EscapedBoundVar -> true | uu____635 -> false + fun projectee -> + match projectee with + | Fatal_EscapedBoundVar -> true + | uu____635 -> false + let (uu___is_Fatal_ExpectedArrowAnnotatedType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ExpectedArrowAnnotatedType -> true + | Fatal_ExpectedArrowAnnotatedType -> true | uu____646 -> false + let (uu___is_Fatal_ExpectedGhostExpression : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ExpectedGhostExpression -> true + | Fatal_ExpectedGhostExpression -> true | uu____657 -> false + let (uu___is_Fatal_ExpectedPureExpression : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ExpectedPureExpression -> true + | Fatal_ExpectedPureExpression -> true | uu____668 -> false + let (uu___is_Fatal_ExpectNormalizedEffect : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ExpectNormalizedEffect -> true + | Fatal_ExpectNormalizedEffect -> true | uu____679 -> false + let (uu___is_Fatal_ExpectTermGotFunction : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ExpectTermGotFunction -> true + | Fatal_ExpectTermGotFunction -> true | uu____690 -> false + let (uu___is_Fatal_ExpectTrivialPreCondition : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ExpectTrivialPreCondition -> true + | Fatal_ExpectTrivialPreCondition -> true | uu____701 -> false + let (uu___is_Fatal_FailToCompileNativeTactic : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_FailToCompileNativeTactic -> true + | Fatal_FailToCompileNativeTactic -> true | uu____712 -> false + let (uu___is_Fatal_FailToExtractNativeTactic : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_FailToExtractNativeTactic -> true + | Fatal_FailToExtractNativeTactic -> true | uu____723 -> false + let (uu___is_Fatal_FailToProcessPragma : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_FailToProcessPragma -> true + | Fatal_FailToProcessPragma -> true | uu____734 -> false + let (uu___is_Fatal_FailToResolveImplicitArgument : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_FailToResolveImplicitArgument -> true + | Fatal_FailToResolveImplicitArgument -> true | uu____745 -> false + let (uu___is_Fatal_FailToSolveUniverseInEquality : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_FailToSolveUniverseInEquality -> true + | Fatal_FailToSolveUniverseInEquality -> true | uu____756 -> false + let (uu___is_Fatal_FieldsNotBelongToSameRecordType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_FieldsNotBelongToSameRecordType -> true + | Fatal_FieldsNotBelongToSameRecordType -> true | uu____767 -> false + let (uu___is_Fatal_ForbiddenReferenceToCurrentModule : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ForbiddenReferenceToCurrentModule -> true + | Fatal_ForbiddenReferenceToCurrentModule -> true | uu____778 -> false + let (uu___is_Fatal_FreeVariables : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_FreeVariables -> true | uu____789 -> false + fun projectee -> + match projectee with | Fatal_FreeVariables -> true | uu____789 -> false + let (uu___is_Fatal_FunctionTypeExpected : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_FunctionTypeExpected -> true + | Fatal_FunctionTypeExpected -> true | uu____800 -> false + let (uu___is_Fatal_IdentifierNotFound : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_IdentifierNotFound -> true + | Fatal_IdentifierNotFound -> true | uu____811 -> false + let (uu___is_Fatal_IllAppliedConstant : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_IllAppliedConstant -> true + | Fatal_IllAppliedConstant -> true | uu____822 -> false + let (uu___is_Fatal_IllegalCharInByteArray : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_IllegalCharInByteArray -> true + | Fatal_IllegalCharInByteArray -> true | uu____833 -> false + let (uu___is_Fatal_IllegalCharInOperatorName : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_IllegalCharInOperatorName -> true + | Fatal_IllegalCharInOperatorName -> true | uu____844 -> false + let (uu___is_Fatal_IllTyped : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_IllTyped -> true | uu____855 -> false + fun projectee -> + match projectee with | Fatal_IllTyped -> true | uu____855 -> false + let (uu___is_Fatal_ImpossibleAbbrevLidBundle : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ImpossibleAbbrevLidBundle -> true + | Fatal_ImpossibleAbbrevLidBundle -> true | uu____866 -> false + let (uu___is_Fatal_ImpossibleAbbrevRenameBundle : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ImpossibleAbbrevRenameBundle -> true + | Fatal_ImpossibleAbbrevRenameBundle -> true | uu____877 -> false + let (uu___is_Fatal_ImpossibleInductiveWithAbbrev : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ImpossibleInductiveWithAbbrev -> true + | Fatal_ImpossibleInductiveWithAbbrev -> true | uu____888 -> false + let (uu___is_Fatal_ImpossiblePrePostAbs : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ImpossiblePrePostAbs -> true + | Fatal_ImpossiblePrePostAbs -> true | uu____899 -> false + let (uu___is_Fatal_ImpossiblePrePostArrow : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ImpossiblePrePostArrow -> true + | Fatal_ImpossiblePrePostArrow -> true | uu____910 -> false + let (uu___is_Fatal_ImpossibleToGenerateDMEffect : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ImpossibleToGenerateDMEffect -> true + | Fatal_ImpossibleToGenerateDMEffect -> true | uu____921 -> false + let (uu___is_Fatal_ImpossibleTypeAbbrevBundle : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ImpossibleTypeAbbrevBundle -> true + | Fatal_ImpossibleTypeAbbrevBundle -> true | uu____932 -> false + let (uu___is_Fatal_ImpossibleTypeAbbrevSigeltBundle : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ImpossibleTypeAbbrevSigeltBundle -> true + | Fatal_ImpossibleTypeAbbrevSigeltBundle -> true | uu____943 -> false + let (uu___is_Fatal_IncludeModuleNotPrepared : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_IncludeModuleNotPrepared -> true + | Fatal_IncludeModuleNotPrepared -> true | uu____954 -> false + let (uu___is_Fatal_IncoherentInlineUniverse : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_IncoherentInlineUniverse -> true + | Fatal_IncoherentInlineUniverse -> true | uu____965 -> false + let (uu___is_Fatal_IncompatibleKinds : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_IncompatibleKinds -> true + | Fatal_IncompatibleKinds -> true | uu____976 -> false + let (uu___is_Fatal_IncompatibleNumberOfTypes : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_IncompatibleNumberOfTypes -> true + | Fatal_IncompatibleNumberOfTypes -> true | uu____987 -> false + let (uu___is_Fatal_IncompatibleSetOfUniverse : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_IncompatibleSetOfUniverse -> true + | Fatal_IncompatibleSetOfUniverse -> true | uu____998 -> false + let (uu___is_Fatal_IncompatibleUniverse : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_IncompatibleUniverse -> true + | Fatal_IncompatibleUniverse -> true | uu____1009 -> false + let (uu___is_Fatal_InconsistentImplicitArgumentAnnotation : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InconsistentImplicitArgumentAnnotation -> true + | Fatal_InconsistentImplicitArgumentAnnotation -> true | uu____1020 -> false + let (uu___is_Fatal_InconsistentImplicitQualifier : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InconsistentImplicitQualifier -> true + | Fatal_InconsistentImplicitQualifier -> true | uu____1031 -> false + let (uu___is_Fatal_InconsistentQualifierAnnotation : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InconsistentQualifierAnnotation -> true + | Fatal_InconsistentQualifierAnnotation -> true | uu____1042 -> false + let (uu___is_Fatal_InferredTypeCauseVarEscape : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InferredTypeCauseVarEscape -> true + | Fatal_InferredTypeCauseVarEscape -> true | uu____1053 -> false + let (uu___is_Fatal_InlineRenamedAsUnfold : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InlineRenamedAsUnfold -> true + | Fatal_InlineRenamedAsUnfold -> true | uu____1064 -> false + let (uu___is_Fatal_InsufficientPatternArguments : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InsufficientPatternArguments -> true + | Fatal_InsufficientPatternArguments -> true | uu____1075 -> false + let (uu___is_Fatal_InterfaceAlreadyProcessed : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InterfaceAlreadyProcessed -> true + | Fatal_InterfaceAlreadyProcessed -> true | uu____1086 -> false + let (uu___is_Fatal_InterfaceNotImplementedByModule : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InterfaceNotImplementedByModule -> true + | Fatal_InterfaceNotImplementedByModule -> true | uu____1097 -> false + let (uu___is_Fatal_InterfaceWithTypeImplementation : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InterfaceWithTypeImplementation -> true + | Fatal_InterfaceWithTypeImplementation -> true | uu____1108 -> false + let (uu___is_Fatal_InvalidFloatingPointNumber : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InvalidFloatingPointNumber -> true + | Fatal_InvalidFloatingPointNumber -> true | uu____1119 -> false + let (uu___is_Fatal_InvalidFSDocKeyword : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InvalidFSDocKeyword -> true + | Fatal_InvalidFSDocKeyword -> true | uu____1130 -> false + let (uu___is_Fatal_InvalidIdentifier : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InvalidIdentifier -> true + | Fatal_InvalidIdentifier -> true | uu____1141 -> false + let (uu___is_Fatal_InvalidLemmaArgument : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InvalidLemmaArgument -> true + | Fatal_InvalidLemmaArgument -> true | uu____1152 -> false + let (uu___is_Fatal_InvalidNumericLiteral : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InvalidNumericLiteral -> true + | Fatal_InvalidNumericLiteral -> true | uu____1163 -> false + let (uu___is_Fatal_InvalidRedefinitionOfLexT : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InvalidRedefinitionOfLexT -> true + | Fatal_InvalidRedefinitionOfLexT -> true | uu____1174 -> false + let (uu___is_Fatal_InvalidUnicodeInStringLiteral : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InvalidUnicodeInStringLiteral -> true + | Fatal_InvalidUnicodeInStringLiteral -> true | uu____1185 -> false + let (uu___is_Fatal_InvalidUTF8Encoding : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InvalidUTF8Encoding -> true + | Fatal_InvalidUTF8Encoding -> true | uu____1196 -> false + let (uu___is_Fatal_InvalidWarnErrorSetting : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_InvalidWarnErrorSetting -> true + | Fatal_InvalidWarnErrorSetting -> true | uu____1207 -> false + let (uu___is_Fatal_LetBoundMonadicMismatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_LetBoundMonadicMismatch -> true + | Fatal_LetBoundMonadicMismatch -> true | uu____1218 -> false + let (uu___is_Fatal_LetMutableForVariablesOnly : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_LetMutableForVariablesOnly -> true + | Fatal_LetMutableForVariablesOnly -> true | uu____1229 -> false + let (uu___is_Fatal_LetOpenModuleOnly : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_LetOpenModuleOnly -> true + | Fatal_LetOpenModuleOnly -> true | uu____1240 -> false + let (uu___is_Fatal_LetRecArgumentMismatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_LetRecArgumentMismatch -> true + | Fatal_LetRecArgumentMismatch -> true | uu____1251 -> false + let (uu___is_Fatal_MalformedActionDeclaration : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MalformedActionDeclaration -> true + | Fatal_MalformedActionDeclaration -> true | uu____1262 -> false + let (uu___is_Fatal_MismatchedPatternType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MismatchedPatternType -> true + | Fatal_MismatchedPatternType -> true | uu____1273 -> false + let (uu___is_Fatal_MismatchUniversePolymorphic : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MismatchUniversePolymorphic -> true + | Fatal_MismatchUniversePolymorphic -> true | uu____1284 -> false + let (uu___is_Fatal_MissingDataConstructor : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MissingDataConstructor -> true + | Fatal_MissingDataConstructor -> true | uu____1295 -> false + let (uu___is_Fatal_MissingExposeInterfacesOption : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MissingExposeInterfacesOption -> true + | Fatal_MissingExposeInterfacesOption -> true | uu____1306 -> false + let (uu___is_Fatal_MissingFieldInRecord : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MissingFieldInRecord -> true + | Fatal_MissingFieldInRecord -> true | uu____1317 -> false + let (uu___is_Fatal_MissingImplementation : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MissingImplementation -> true + | Fatal_MissingImplementation -> true | uu____1328 -> false + let (uu___is_Fatal_MissingImplicitArguments : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MissingImplicitArguments -> true + | Fatal_MissingImplicitArguments -> true | uu____1339 -> false + let (uu___is_Fatal_MissingInterface : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MissingInterface -> true + | Fatal_MissingInterface -> true | uu____1350 -> false + let (uu___is_Fatal_MissingNameInBinder : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MissingNameInBinder -> true + | Fatal_MissingNameInBinder -> true | uu____1361 -> false + let (uu___is_Fatal_MissingPrimsModule : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MissingPrimsModule -> true + | Fatal_MissingPrimsModule -> true | uu____1372 -> false + let (uu___is_Fatal_MissingQuantifierBinder : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MissingQuantifierBinder -> true + | Fatal_MissingQuantifierBinder -> true | uu____1383 -> false + let (uu___is_Fatal_ModuleExpected : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_ModuleExpected -> true | uu____1394 -> false + fun projectee -> + match projectee with + | Fatal_ModuleExpected -> true + | uu____1394 -> false + let (uu___is_Fatal_ModuleFileNotFound : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ModuleFileNotFound -> true + | Fatal_ModuleFileNotFound -> true | uu____1405 -> false + let (uu___is_Fatal_ModuleFirstStatement : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ModuleFirstStatement -> true + | Fatal_ModuleFirstStatement -> true | uu____1416 -> false + let (uu___is_Fatal_ModuleNotFound : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_ModuleNotFound -> true | uu____1427 -> false + fun projectee -> + match projectee with + | Fatal_ModuleNotFound -> true + | uu____1427 -> false + let (uu___is_Fatal_ModuleOrFileNotFound : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ModuleOrFileNotFound -> true + | Fatal_ModuleOrFileNotFound -> true | uu____1438 -> false + let (uu___is_Fatal_MonadAlreadyDefined : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MonadAlreadyDefined -> true + | Fatal_MonadAlreadyDefined -> true | uu____1449 -> false + let (uu___is_Fatal_MoreThanOneDeclaration : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MoreThanOneDeclaration -> true + | Fatal_MoreThanOneDeclaration -> true | uu____1460 -> false + let (uu___is_Fatal_MultipleLetBinding : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_MultipleLetBinding -> true + | Fatal_MultipleLetBinding -> true | uu____1471 -> false + let (uu___is_Fatal_NameNotFound : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_NameNotFound -> true | uu____1482 -> false + fun projectee -> + match projectee with | Fatal_NameNotFound -> true | uu____1482 -> false + let (uu___is_Fatal_NameSpaceNotFound : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NameSpaceNotFound -> true + | Fatal_NameSpaceNotFound -> true | uu____1493 -> false + let (uu___is_Fatal_NegativeUniverseConstFatal_NotSupported : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NegativeUniverseConstFatal_NotSupported -> true + | Fatal_NegativeUniverseConstFatal_NotSupported -> true | uu____1504 -> false + let (uu___is_Fatal_NoFileProvided : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_NoFileProvided -> true | uu____1515 -> false + fun projectee -> + match projectee with + | Fatal_NoFileProvided -> true + | uu____1515 -> false + let (uu___is_Fatal_NonInductiveInMutuallyDefinedType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NonInductiveInMutuallyDefinedType -> true + | Fatal_NonInductiveInMutuallyDefinedType -> true | uu____1526 -> false + let (uu___is_Fatal_NonLinearPatternNotPermitted : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NonLinearPatternNotPermitted -> true + | Fatal_NonLinearPatternNotPermitted -> true | uu____1537 -> false + let (uu___is_Fatal_NonLinearPatternVars : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NonLinearPatternVars -> true + | Fatal_NonLinearPatternVars -> true | uu____1548 -> false + let (uu___is_Fatal_NonSingletonTopLevel : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NonSingletonTopLevel -> true + | Fatal_NonSingletonTopLevel -> true | uu____1559 -> false + let (uu___is_Fatal_NonSingletonTopLevelModule : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NonSingletonTopLevelModule -> true + | Fatal_NonSingletonTopLevelModule -> true | uu____1570 -> false -let (uu___is_Fatal_NonTopRecFunctionNotFullyEncoded : + +let (uu___is_Error_NonTopRecFunctionNotFullyEncoded : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NonTopRecFunctionNotFullyEncoded -> true + | Error_NonTopRecFunctionNotFullyEncoded -> true | uu____1581 -> false + let (uu___is_Fatal_NonTrivialPreConditionInPrims : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NonTrivialPreConditionInPrims -> true + | Fatal_NonTrivialPreConditionInPrims -> true | uu____1592 -> false + let (uu___is_Fatal_NonVariableInductiveTypeParameter : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NonVariableInductiveTypeParameter -> true + | Fatal_NonVariableInductiveTypeParameter -> true | uu____1603 -> false + let (uu___is_Fatal_NotApplicationOrFv : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NotApplicationOrFv -> true + | Fatal_NotApplicationOrFv -> true | uu____1614 -> false + let (uu___is_Fatal_NotEnoughArgsToEffect : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NotEnoughArgsToEffect -> true + | Fatal_NotEnoughArgsToEffect -> true | uu____1625 -> false + let (uu___is_Fatal_NotEnoughArgumentsForEffect : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NotEnoughArgumentsForEffect -> true + | Fatal_NotEnoughArgumentsForEffect -> true | uu____1636 -> false + let (uu___is_Fatal_NotFunctionType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NotFunctionType -> true + | Fatal_NotFunctionType -> true | uu____1647 -> false + let (uu___is_Fatal_NotSupported : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_NotSupported -> true | uu____1658 -> false + fun projectee -> + match projectee with | Fatal_NotSupported -> true | uu____1658 -> false + let (uu___is_Fatal_NotTopLevelModule : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NotTopLevelModule -> true + | Fatal_NotTopLevelModule -> true | uu____1669 -> false + let (uu___is_Fatal_NotValidFStarFile : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NotValidFStarFile -> true + | Fatal_NotValidFStarFile -> true | uu____1680 -> false + let (uu___is_Fatal_NotValidIncludeDirectory : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_NotValidIncludeDirectory -> true + | Fatal_NotValidIncludeDirectory -> true | uu____1691 -> false + let (uu___is_Fatal_OneModulePerFile : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_OneModulePerFile -> true + | Fatal_OneModulePerFile -> true | uu____1702 -> false + let (uu___is_Fatal_OpenGoalsInSynthesis : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_OpenGoalsInSynthesis -> true + | Fatal_OpenGoalsInSynthesis -> true | uu____1713 -> false + let (uu___is_Fatal_OptionsNotCompatible : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_OptionsNotCompatible -> true + | Fatal_OptionsNotCompatible -> true | uu____1724 -> false + let (uu___is_Fatal_OutOfOrder : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_OutOfOrder -> true | uu____1735 -> false + fun projectee -> + match projectee with | Fatal_OutOfOrder -> true | uu____1735 -> false + let (uu___is_Fatal_ParseErrors : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_ParseErrors -> true | uu____1746 -> false + fun projectee -> + match projectee with | Fatal_ParseErrors -> true | uu____1746 -> false + let (uu___is_Fatal_ParseItError : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_ParseItError -> true | uu____1757 -> false + fun projectee -> + match projectee with | Fatal_ParseItError -> true | uu____1757 -> false + let (uu___is_Fatal_PolyTypeExpected : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_PolyTypeExpected -> true + | Fatal_PolyTypeExpected -> true | uu____1768 -> false + let (uu___is_Fatal_PossibleInfiniteTyp : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_PossibleInfiniteTyp -> true + | Fatal_PossibleInfiniteTyp -> true | uu____1779 -> false + let (uu___is_Fatal_PreModuleMismatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_PreModuleMismatch -> true + | Fatal_PreModuleMismatch -> true | uu____1790 -> false + let (uu___is_Fatal_QulifierListNotPermitted : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_QulifierListNotPermitted -> true + | Fatal_QulifierListNotPermitted -> true | uu____1801 -> false + let (uu___is_Fatal_RecursiveFunctionLiteral : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_RecursiveFunctionLiteral -> true + | Fatal_RecursiveFunctionLiteral -> true | uu____1812 -> false + let (uu___is_Fatal_ReflectOnlySupportedOnEffects : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ReflectOnlySupportedOnEffects -> true + | Fatal_ReflectOnlySupportedOnEffects -> true | uu____1823 -> false + let (uu___is_Fatal_ReservedPrefix : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_ReservedPrefix -> true | uu____1834 -> false + fun projectee -> + match projectee with + | Fatal_ReservedPrefix -> true + | uu____1834 -> false + let (uu___is_Fatal_SMTOutputParseError : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_SMTOutputParseError -> true + | Fatal_SMTOutputParseError -> true | uu____1845 -> false + let (uu___is_Fatal_SMTSolverError : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_SMTSolverError -> true | uu____1856 -> false + fun projectee -> + match projectee with + | Fatal_SMTSolverError -> true + | uu____1856 -> false + let (uu___is_Fatal_SyntaxError : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_SyntaxError -> true | uu____1867 -> false + fun projectee -> + match projectee with | Fatal_SyntaxError -> true | uu____1867 -> false + let (uu___is_Fatal_SynthByTacticError : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_SynthByTacticError -> true + | Fatal_SynthByTacticError -> true | uu____1878 -> false + let (uu___is_Fatal_TacticGotStuck : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_TacticGotStuck -> true | uu____1889 -> false + fun projectee -> + match projectee with + | Fatal_TacticGotStuck -> true + | uu____1889 -> false + let (uu___is_Fatal_TcOneFragmentFailed : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_TcOneFragmentFailed -> true + | Fatal_TcOneFragmentFailed -> true | uu____1900 -> false + let (uu___is_Fatal_TermOutsideOfDefLanguage : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_TermOutsideOfDefLanguage -> true + | Fatal_TermOutsideOfDefLanguage -> true | uu____1911 -> false + let (uu___is_Fatal_ToManyArgumentToFunction : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ToManyArgumentToFunction -> true + | Fatal_ToManyArgumentToFunction -> true | uu____1922 -> false + let (uu___is_Fatal_TooManyOrTooFewFileMatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_TooManyOrTooFewFileMatch -> true + | Fatal_TooManyOrTooFewFileMatch -> true | uu____1933 -> false + let (uu___is_Fatal_TooManyPatternArguments : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_TooManyPatternArguments -> true + | Fatal_TooManyPatternArguments -> true | uu____1944 -> false + let (uu___is_Fatal_TooManyUniverse : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_TooManyUniverse -> true + | Fatal_TooManyUniverse -> true | uu____1955 -> false + let (uu___is_Fatal_TypeMismatch : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_TypeMismatch -> true | uu____1966 -> false + fun projectee -> + match projectee with | Fatal_TypeMismatch -> true | uu____1966 -> false + let (uu___is_Fatal_TypeWithinPatternsAllowedOnVariablesOnly : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_TypeWithinPatternsAllowedOnVariablesOnly -> true + | Fatal_TypeWithinPatternsAllowedOnVariablesOnly -> true | uu____1977 -> false + let (uu___is_Fatal_UnableToReadFile : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnableToReadFile -> true + | Fatal_UnableToReadFile -> true | uu____1988 -> false + let (uu___is_Fatal_UnepxectedOrUnboundOperator : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnepxectedOrUnboundOperator -> true + | Fatal_UnepxectedOrUnboundOperator -> true | uu____1999 -> false + let (uu___is_Fatal_UnexpectedBinder : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedBinder -> true + | Fatal_UnexpectedBinder -> true | uu____2010 -> false + let (uu___is_Fatal_UnexpectedBindShape : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedBindShape -> true + | Fatal_UnexpectedBindShape -> true | uu____2021 -> false + let (uu___is_Fatal_UnexpectedChar : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_UnexpectedChar -> true | uu____2032 -> false + fun projectee -> + match projectee with + | Fatal_UnexpectedChar -> true + | uu____2032 -> false + let (uu___is_Fatal_UnexpectedComputationTypeForLetRec : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedComputationTypeForLetRec -> true + | Fatal_UnexpectedComputationTypeForLetRec -> true | uu____2043 -> false + let (uu___is_Fatal_UnexpectedConstructorType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedConstructorType -> true + | Fatal_UnexpectedConstructorType -> true | uu____2054 -> false + let (uu___is_Fatal_UnexpectedDataConstructor : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedDataConstructor -> true + | Fatal_UnexpectedDataConstructor -> true | uu____2065 -> false + let (uu___is_Fatal_UnexpectedEffect : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedEffect -> true + | Fatal_UnexpectedEffect -> true | uu____2076 -> false + let (uu___is_Fatal_UnexpectedEmptyRecord : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedEmptyRecord -> true + | Fatal_UnexpectedEmptyRecord -> true | uu____2087 -> false + let (uu___is_Fatal_UnexpectedExpressionType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedExpressionType -> true + | Fatal_UnexpectedExpressionType -> true | uu____2098 -> false + let (uu___is_Fatal_UnexpectedFunctionParameterType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedFunctionParameterType -> true + | Fatal_UnexpectedFunctionParameterType -> true | uu____2109 -> false + let (uu___is_Fatal_UnexpectedGeneralizedUniverse : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedGeneralizedUniverse -> true + | Fatal_UnexpectedGeneralizedUniverse -> true | uu____2120 -> false + let (uu___is_Fatal_UnexpectedGTotForLetRec : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedGTotForLetRec -> true + | Fatal_UnexpectedGTotForLetRec -> true | uu____2131 -> false + let (uu___is_Fatal_UnexpectedGuard : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedGuard -> true + | Fatal_UnexpectedGuard -> true | uu____2142 -> false + let (uu___is_Fatal_UnexpectedIdentifier : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedIdentifier -> true + | Fatal_UnexpectedIdentifier -> true | uu____2153 -> false + let (uu___is_Fatal_UnexpectedImplicitArgument : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedImplicitArgument -> true + | Fatal_UnexpectedImplicitArgument -> true | uu____2164 -> false + let (uu___is_Fatal_UnexpectedImplictArgument : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedImplictArgument -> true + | Fatal_UnexpectedImplictArgument -> true | uu____2175 -> false + let (uu___is_Fatal_UnexpectedInductivetype : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedInductivetype -> true + | Fatal_UnexpectedInductivetype -> true | uu____2186 -> false + let (uu___is_Fatal_UnexpectedLetBinding : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedLetBinding -> true + | Fatal_UnexpectedLetBinding -> true | uu____2197 -> false + let (uu___is_Fatal_UnexpectedModuleDeclaration : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedModuleDeclaration -> true + | Fatal_UnexpectedModuleDeclaration -> true | uu____2208 -> false + let (uu___is_Fatal_UnexpectedNumberOfUniverse : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedNumberOfUniverse -> true + | Fatal_UnexpectedNumberOfUniverse -> true | uu____2219 -> false + let (uu___is_Fatal_UnexpectedNumericLiteral : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedNumericLiteral -> true + | Fatal_UnexpectedNumericLiteral -> true | uu____2230 -> false + let (uu___is_Fatal_UnexpectedOperatorSymbol : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedOperatorSymbol -> true + | Fatal_UnexpectedOperatorSymbol -> true | uu____2241 -> false + let (uu___is_Fatal_UnexpectedPattern : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedPattern -> true + | Fatal_UnexpectedPattern -> true | uu____2252 -> false + let (uu___is_Fatal_UnexpectedPosition : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedPosition -> true + | Fatal_UnexpectedPosition -> true | uu____2263 -> false + let (uu___is_Fatal_UnExpectedPreCondition : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnExpectedPreCondition -> true + | Fatal_UnExpectedPreCondition -> true | uu____2274 -> false + let (uu___is_Fatal_UnexpectedReturnShape : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedReturnShape -> true + | Fatal_UnexpectedReturnShape -> true | uu____2285 -> false + let (uu___is_Fatal_UnexpectedSignatureForMonad : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedSignatureForMonad -> true + | Fatal_UnexpectedSignatureForMonad -> true | uu____2296 -> false + let (uu___is_Fatal_UnexpectedTerm : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_UnexpectedTerm -> true | uu____2307 -> false + fun projectee -> + match projectee with + | Fatal_UnexpectedTerm -> true + | uu____2307 -> false + let (uu___is_Fatal_UnexpectedTermInUniverse : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedTermInUniverse -> true + | Fatal_UnexpectedTermInUniverse -> true | uu____2318 -> false + let (uu___is_Fatal_UnexpectedTermType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedTermType -> true + | Fatal_UnexpectedTermType -> true | uu____2329 -> false + let (uu___is_Fatal_UnexpectedTermVQuote : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedTermVQuote -> true + | Fatal_UnexpectedTermVQuote -> true | uu____2340 -> false + let (uu___is_Fatal_UnexpectedUniversePolymorphicReturn : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedUniversePolymorphicReturn -> true + | Fatal_UnexpectedUniversePolymorphicReturn -> true | uu____2351 -> false + let (uu___is_Fatal_UnexpectedUniverseVariable : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedUniverseVariable -> true + | Fatal_UnexpectedUniverseVariable -> true | uu____2362 -> false + let (uu___is_Fatal_UnfoldableDeprecated : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnfoldableDeprecated -> true + | Fatal_UnfoldableDeprecated -> true | uu____2373 -> false + let (uu___is_Fatal_UnificationNotWellFormed : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnificationNotWellFormed -> true + | Fatal_UnificationNotWellFormed -> true | uu____2384 -> false + let (uu___is_Fatal_Uninstantiated : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_Uninstantiated -> true | uu____2395 -> false + fun projectee -> + match projectee with + | Fatal_Uninstantiated -> true + | uu____2395 -> false + let (uu___is_Error_UninstantiatedUnificationVarInTactic : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_UninstantiatedUnificationVarInTactic -> true + | Error_UninstantiatedUnificationVarInTactic -> true | uu____2406 -> false + let (uu___is_Fatal_UninstantiatedVarInTactic : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UninstantiatedVarInTactic -> true + | Fatal_UninstantiatedVarInTactic -> true | uu____2417 -> false + let (uu___is_Fatal_UniverseMightContainSumOfTwoUnivVars : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UniverseMightContainSumOfTwoUnivVars -> true + | Fatal_UniverseMightContainSumOfTwoUnivVars -> true | uu____2428 -> false + let (uu___is_Fatal_UniversePolymorphicInnerLetBound : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UniversePolymorphicInnerLetBound -> true + | Fatal_UniversePolymorphicInnerLetBound -> true | uu____2439 -> false + let (uu___is_Fatal_UnknownAttribute : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnknownAttribute -> true + | Fatal_UnknownAttribute -> true | uu____2450 -> false + let (uu___is_Fatal_UnknownToolForDep : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnknownToolForDep -> true + | Fatal_UnknownToolForDep -> true | uu____2461 -> false + let (uu___is_Fatal_UnrecognizedExtension : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnrecognizedExtension -> true + | Fatal_UnrecognizedExtension -> true | uu____2472 -> false + let (uu___is_Fatal_UnresolvedPatternVar : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnresolvedPatternVar -> true + | Fatal_UnresolvedPatternVar -> true | uu____2483 -> false + let (uu___is_Fatal_UnsupportedConstant : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnsupportedConstant -> true + | Fatal_UnsupportedConstant -> true | uu____2494 -> false + let (uu___is_Fatal_UnsupportedDisjuctivePatterns : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnsupportedDisjuctivePatterns -> true + | Fatal_UnsupportedDisjuctivePatterns -> true | uu____2505 -> false + let (uu___is_Fatal_UnsupportedQualifier : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnsupportedQualifier -> true + | Fatal_UnsupportedQualifier -> true | uu____2516 -> false + let (uu___is_Fatal_UserTacticFailure : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UserTacticFailure -> true + | Fatal_UserTacticFailure -> true | uu____2527 -> false + let (uu___is_Fatal_ValueRestriction : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ValueRestriction -> true + | Fatal_ValueRestriction -> true | uu____2538 -> false + let (uu___is_Fatal_VariableNotFound : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_VariableNotFound -> true + | Fatal_VariableNotFound -> true | uu____2549 -> false + let (uu___is_Fatal_WrongBodyTypeForReturnWP : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_WrongBodyTypeForReturnWP -> true + | Fatal_WrongBodyTypeForReturnWP -> true | uu____2560 -> false + let (uu___is_Fatal_WrongDataAppHeadFormat : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_WrongDataAppHeadFormat -> true + | Fatal_WrongDataAppHeadFormat -> true | uu____2571 -> false + let (uu___is_Fatal_WrongDefinitionOrder : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_WrongDefinitionOrder -> true + | Fatal_WrongDefinitionOrder -> true | uu____2582 -> false + let (uu___is_Fatal_WrongResultTypeAfterConstrutor : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_WrongResultTypeAfterConstrutor -> true + | Fatal_WrongResultTypeAfterConstrutor -> true | uu____2593 -> false + let (uu___is_Fatal_WrongTerm : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_WrongTerm -> true | uu____2604 -> false + fun projectee -> + match projectee with | Fatal_WrongTerm -> true | uu____2604 -> false + let (uu___is_Fatal_WhenClauseNotSupported : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_WhenClauseNotSupported -> true + | Fatal_WhenClauseNotSupported -> true | uu____2615 -> false + let (uu___is_Unused01 : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Unused01 -> true | uu____2626 -> false + fun projectee -> + match projectee with | Unused01 -> true | uu____2626 -> false + let (uu___is_Warning_AddImplicitAssumeNewQualifier : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_AddImplicitAssumeNewQualifier -> true + | Warning_AddImplicitAssumeNewQualifier -> true | uu____2637 -> false + let (uu___is_Warning_AdmitWithoutDefinition : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_AdmitWithoutDefinition -> true + | Warning_AdmitWithoutDefinition -> true | uu____2648 -> false + let (uu___is_Warning_CachedFile : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Warning_CachedFile -> true | uu____2659 -> false + fun projectee -> + match projectee with | Warning_CachedFile -> true | uu____2659 -> false + let (uu___is_Warning_DefinitionNotTranslated : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_DefinitionNotTranslated -> true + | Warning_DefinitionNotTranslated -> true | uu____2670 -> false + let (uu___is_Warning_DependencyFound : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_DependencyFound -> true + | Warning_DependencyFound -> true | uu____2681 -> false + let (uu___is_Warning_DeprecatedEqualityOnBinder : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_DeprecatedEqualityOnBinder -> true + | Warning_DeprecatedEqualityOnBinder -> true | uu____2692 -> false + let (uu___is_Warning_DeprecatedOpaqueQualifier : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_DeprecatedOpaqueQualifier -> true + | Warning_DeprecatedOpaqueQualifier -> true | uu____2703 -> false + let (uu___is_Warning_DocOverwrite : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Warning_DocOverwrite -> true | uu____2714 -> false + fun projectee -> + match projectee with + | Warning_DocOverwrite -> true + | uu____2714 -> false + let (uu___is_Warning_FileNotWritten : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_FileNotWritten -> true + | Warning_FileNotWritten -> true | uu____2725 -> false + let (uu___is_Warning_Filtered : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Warning_Filtered -> true | uu____2736 -> false + fun projectee -> + match projectee with | Warning_Filtered -> true | uu____2736 -> false + let (uu___is_Warning_FunctionLiteralPrecisionLoss : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_FunctionLiteralPrecisionLoss -> true + | Warning_FunctionLiteralPrecisionLoss -> true | uu____2747 -> false + let (uu___is_Warning_FunctionNotExtacted : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_FunctionNotExtacted -> true + | Warning_FunctionNotExtacted -> true | uu____2758 -> false + let (uu___is_Warning_HintFailedToReplayProof : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_HintFailedToReplayProof -> true + | Warning_HintFailedToReplayProof -> true | uu____2769 -> false + let (uu___is_Warning_HitReplayFailed : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_HitReplayFailed -> true + | Warning_HitReplayFailed -> true | uu____2780 -> false + let (uu___is_Warning_IDEIgnoreCodeGen : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_IDEIgnoreCodeGen -> true + | Warning_IDEIgnoreCodeGen -> true | uu____2791 -> false + let (uu___is_Warning_IllFormedGoal : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_IllFormedGoal -> true + | Warning_IllFormedGoal -> true | uu____2802 -> false + let (uu___is_Warning_InaccessibleArgument : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_InaccessibleArgument -> true + | Warning_InaccessibleArgument -> true | uu____2813 -> false + let (uu___is_Warning_IncoherentImplicitQualifier : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_IncoherentImplicitQualifier -> true + | Warning_IncoherentImplicitQualifier -> true | uu____2824 -> false + let (uu___is_Warning_IrrelevantQualifierOnArgumentToReflect : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_IrrelevantQualifierOnArgumentToReflect -> true + | Warning_IrrelevantQualifierOnArgumentToReflect -> true | uu____2835 -> false + let (uu___is_Warning_IrrelevantQualifierOnArgumentToReify : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_IrrelevantQualifierOnArgumentToReify -> true + | Warning_IrrelevantQualifierOnArgumentToReify -> true | uu____2846 -> false + let (uu___is_Warning_MalformedWarnErrorList : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_MalformedWarnErrorList -> true + | Warning_MalformedWarnErrorList -> true | uu____2857 -> false + let (uu___is_Warning_MetaAlienNotATmUnknown : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_MetaAlienNotATmUnknown -> true + | Warning_MetaAlienNotATmUnknown -> true | uu____2868 -> false + let (uu___is_Warning_MultipleAscriptions : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_MultipleAscriptions -> true + | Warning_MultipleAscriptions -> true | uu____2879 -> false + let (uu___is_Warning_NondependentUserDefinedDataType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_NondependentUserDefinedDataType -> true + | Warning_NondependentUserDefinedDataType -> true | uu____2890 -> false + let (uu___is_Warning_NonListLiteralSMTPattern : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_NonListLiteralSMTPattern -> true + | Warning_NonListLiteralSMTPattern -> true | uu____2901 -> false + let (uu___is_Warning_NormalizationFailure : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_NormalizationFailure -> true + | Warning_NormalizationFailure -> true | uu____2912 -> false + let (uu___is_Warning_NotDependentArrow : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_NotDependentArrow -> true + | Warning_NotDependentArrow -> true | uu____2923 -> false + let (uu___is_Warning_NotEmbedded : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Warning_NotEmbedded -> true | uu____2934 -> false + fun projectee -> + match projectee with | Warning_NotEmbedded -> true | uu____2934 -> false + let (uu___is_Warning_PatternMissingBoundVar : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_PatternMissingBoundVar -> true + | Warning_PatternMissingBoundVar -> true | uu____2945 -> false + let (uu___is_Warning_RecursiveDependency : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_RecursiveDependency -> true + | Warning_RecursiveDependency -> true | uu____2956 -> false + let (uu___is_Warning_RedundantExplicitCurrying : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_RedundantExplicitCurrying -> true + | Warning_RedundantExplicitCurrying -> true | uu____2967 -> false + let (uu___is_Warning_SMTPatTDeprecated : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_SMTPatTDeprecated -> true + | Warning_SMTPatTDeprecated -> true | uu____2978 -> false + let (uu___is_Warning_SMTPatternIllFormed : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_SMTPatternIllFormed -> true + | Warning_SMTPatternIllFormed -> true | uu____2989 -> false + let (uu___is_Warning_TopLevelEffect : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_TopLevelEffect -> true + | Warning_TopLevelEffect -> true | uu____3000 -> false + let (uu___is_Warning_UnboundModuleReference : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_UnboundModuleReference -> true + | Warning_UnboundModuleReference -> true | uu____3011 -> false + let (uu___is_Warning_UnexpectedFile : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_UnexpectedFile -> true + | Warning_UnexpectedFile -> true | uu____3022 -> false + let (uu___is_Warning_UnexpectedFsTypApp : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_UnexpectedFsTypApp -> true + | Warning_UnexpectedFsTypApp -> true | uu____3033 -> false + let (uu___is_Warning_UnexpectedZ3Output : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_UnexpectedZ3Output -> true + | Warning_UnexpectedZ3Output -> true | uu____3044 -> false + let (uu___is_Warning_UnprotectedTerm : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_UnprotectedTerm -> true + | Warning_UnprotectedTerm -> true | uu____3055 -> false + let (uu___is_Warning_UnrecognizedAttribute : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_UnrecognizedAttribute -> true + | Warning_UnrecognizedAttribute -> true | uu____3066 -> false + let (uu___is_Warning_UpperBoundCandidateAlreadyVisited : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_UpperBoundCandidateAlreadyVisited -> true + | Warning_UpperBoundCandidateAlreadyVisited -> true | uu____3077 -> false + let (uu___is_Warning_UseDefaultEffect : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_UseDefaultEffect -> true + | Warning_UseDefaultEffect -> true | uu____3088 -> false + let (uu___is_Warning_WrongErrorLocation : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_WrongErrorLocation -> true + | Warning_WrongErrorLocation -> true | uu____3099 -> false + let (uu___is_Warning_Z3InvocationWarning : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_Z3InvocationWarning -> true + | Warning_Z3InvocationWarning -> true | uu____3110 -> false + let (uu___is_Warning_CallNotImplementedAsWarning : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_CallNotImplementedAsWarning -> true + | Warning_CallNotImplementedAsWarning -> true | uu____3121 -> false + let (uu___is_Warning_MissingInterfaceOrImplementation : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_MissingInterfaceOrImplementation -> true + | Warning_MissingInterfaceOrImplementation -> true | uu____3132 -> false + let (uu___is_Warning_ConstructorBuildsUnexpectedType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_ConstructorBuildsUnexpectedType -> true + | Warning_ConstructorBuildsUnexpectedType -> true | uu____3143 -> false + let (uu___is_Warning_ModuleOrFileNotFoundWarning : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_ModuleOrFileNotFoundWarning -> true + | Warning_ModuleOrFileNotFoundWarning -> true | uu____3154 -> false + let (uu___is_Error_NoLetMutable : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_NoLetMutable -> true | uu____3165 -> false + fun projectee -> + match projectee with | Error_NoLetMutable -> true | uu____3165 -> false + let (uu___is_Error_BadImplicit : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_BadImplicit -> true | uu____3176 -> false + fun projectee -> + match projectee with | Error_BadImplicit -> true | uu____3176 -> false + let (uu___is_Warning_DeprecatedDefinition : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_DeprecatedDefinition -> true + | Warning_DeprecatedDefinition -> true | uu____3187 -> false + let (uu___is_Fatal_SMTEncodingArityMismatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_SMTEncodingArityMismatch -> true + | Fatal_SMTEncodingArityMismatch -> true | uu____3198 -> false + let (uu___is_Warning_Defensive : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Warning_Defensive -> true | uu____3209 -> false + fun projectee -> + match projectee with | Warning_Defensive -> true | uu____3209 -> false + let (uu___is_Warning_CantInspect : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Warning_CantInspect -> true | uu____3220 -> false + fun projectee -> + match projectee with | Warning_CantInspect -> true | uu____3220 -> false + let (uu___is_Warning_NilGivenExplicitArgs : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_NilGivenExplicitArgs -> true + | Warning_NilGivenExplicitArgs -> true | uu____3231 -> false + let (uu___is_Warning_ConsAppliedExplicitArgs : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_ConsAppliedExplicitArgs -> true + | Warning_ConsAppliedExplicitArgs -> true | uu____3242 -> false + let (uu___is_Warning_UnembedBinderKnot : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_UnembedBinderKnot -> true + | Warning_UnembedBinderKnot -> true | uu____3253 -> false + let (uu___is_Fatal_TacticProofRelevantGoal : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_TacticProofRelevantGoal -> true + | Fatal_TacticProofRelevantGoal -> true | uu____3264 -> false + let (uu___is_Warning_TacAdmit : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Warning_TacAdmit -> true | uu____3275 -> false + fun projectee -> + match projectee with | Warning_TacAdmit -> true | uu____3275 -> false + let (uu___is_Fatal_IncoherentPatterns : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_IncoherentPatterns -> true + | Fatal_IncoherentPatterns -> true | uu____3286 -> false + let (uu___is_Error_NoSMTButNeeded : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_NoSMTButNeeded -> true | uu____3297 -> false + fun projectee -> + match projectee with + | Error_NoSMTButNeeded -> true + | uu____3297 -> false + let (uu___is_Fatal_UnexpectedAntiquotation : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_UnexpectedAntiquotation -> true + | Fatal_UnexpectedAntiquotation -> true | uu____3308 -> false + let (uu___is_Fatal_SplicedUndef : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Fatal_SplicedUndef -> true | uu____3319 -> false + fun projectee -> + match projectee with | Fatal_SplicedUndef -> true | uu____3319 -> false + let (uu___is_Fatal_SpliceUnembedFail : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_SpliceUnembedFail -> true + | Fatal_SpliceUnembedFail -> true | uu____3330 -> false + let (uu___is_Warning_ExtractionUnexpectedEffect : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_ExtractionUnexpectedEffect -> true + | Warning_ExtractionUnexpectedEffect -> true | uu____3341 -> false + let (uu___is_Error_DidNotFail : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_DidNotFail -> true | uu____3352 -> false + fun projectee -> + match projectee with | Error_DidNotFail -> true | uu____3352 -> false + let (uu___is_Warning_UnappliedFail : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_UnappliedFail -> true + | Warning_UnappliedFail -> true | uu____3363 -> false + let (uu___is_Warning_QuantifierWithoutPattern : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_QuantifierWithoutPattern -> true + | Warning_QuantifierWithoutPattern -> true | uu____3374 -> false + let (uu___is_Error_EmptyFailErrs : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_EmptyFailErrs -> true | uu____3385 -> false + fun projectee -> + match projectee with | Error_EmptyFailErrs -> true | uu____3385 -> false + let (uu___is_Warning_logicqualifier : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_logicqualifier -> true + | Warning_logicqualifier -> true | uu____3396 -> false + let (uu___is_Fatal_CyclicDependence : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_CyclicDependence -> true + | Fatal_CyclicDependence -> true | uu____3407 -> false + let (uu___is_Error_InductiveAnnotNotAType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_InductiveAnnotNotAType -> true + | Error_InductiveAnnotNotAType -> true | uu____3418 -> false + let (uu___is_Fatal_FriendInterface : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_FriendInterface -> true + | Fatal_FriendInterface -> true | uu____3429 -> false + let (uu___is_Error_CannotRedefineConst : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_CannotRedefineConst -> true + | Error_CannotRedefineConst -> true | uu____3440 -> false + let (uu___is_Error_BadClassDecl : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_BadClassDecl -> true | uu____3451 -> false + fun projectee -> + match projectee with | Error_BadClassDecl -> true | uu____3451 -> false + let (uu___is_Error_BadInductiveParam : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_BadInductiveParam -> true + | Error_BadInductiveParam -> true | uu____3462 -> false + let (uu___is_Error_FieldShadow : raw_error -> Prims.bool) = - fun projectee -> - match projectee with | Error_FieldShadow -> true | uu____3473 -> false + fun projectee -> + match projectee with | Error_FieldShadow -> true | uu____3473 -> false + let (uu___is_Error_UnexpectedDM4FType : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_UnexpectedDM4FType -> true + | Error_UnexpectedDM4FType -> true | uu____3484 -> false + let (uu___is_Fatal_EffectAbbreviationResultTypeMismatch : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_EffectAbbreviationResultTypeMismatch -> true + | Fatal_EffectAbbreviationResultTypeMismatch -> true | uu____3495 -> false + let (uu___is_Error_AlreadyCachedAssertionFailure : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_AlreadyCachedAssertionFailure -> true + | Error_AlreadyCachedAssertionFailure -> true | uu____3506 -> false + let (uu___is_Error_MustEraseMissing : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Error_MustEraseMissing -> true + | Error_MustEraseMissing -> true | uu____3517 -> false + let (uu___is_Warning_EffectfulArgumentToErasedFunction : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_EffectfulArgumentToErasedFunction -> true + | Warning_EffectfulArgumentToErasedFunction -> true | uu____3528 -> false + let (uu___is_Fatal_EmptySurfaceLet : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_EmptySurfaceLet -> true + | Fatal_EmptySurfaceLet -> true | uu____3539 -> false + let (uu___is_Warning_UnexpectedCheckedFile : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Warning_UnexpectedCheckedFile -> true + | Warning_UnexpectedCheckedFile -> true | uu____3550 -> false + let (uu___is_Fatal_ExtractionUnsupported : raw_error -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Fatal_ExtractionUnsupported -> true + | Fatal_ExtractionUnsupported -> true | uu____3561 -> false + +let (uu___is_Warning_SMTErrorReason : raw_error -> Prims.bool) = + fun projectee -> + match projectee with + | Warning_SMTErrorReason -> true + | uu____3572 -> false + type flag = FStar_Options.error_flag let (default_flags : (raw_error * FStar_Options.error_flag) Prims.list) = [(Error_DependencyAnalysisFailed, FStar_Options.CAlwaysError); @@ -2031,7 +2387,7 @@ let (default_flags : (raw_error * FStar_Options.error_flag) Prims.list) = (Fatal_NonLinearPatternVars, FStar_Options.CFatal); (Fatal_NonSingletonTopLevel, FStar_Options.CFatal); (Fatal_NonSingletonTopLevelModule, FStar_Options.CFatal); - (Fatal_NonTopRecFunctionNotFullyEncoded, FStar_Options.CFatal); + (Error_NonTopRecFunctionNotFullyEncoded, FStar_Options.CError); (Fatal_NonTrivialPreConditionInPrims, FStar_Options.CFatal); (Fatal_NonVariableInductiveTypeParameter, FStar_Options.CFatal); (Fatal_NotApplicationOrFv, FStar_Options.CFatal); @@ -2211,50 +2567,62 @@ let (default_flags : (raw_error * FStar_Options.error_flag) Prims.list) = (Warning_EffectfulArgumentToErasedFunction, FStar_Options.CWarning); (Fatal_EmptySurfaceLet, FStar_Options.CFatal); (Warning_UnexpectedCheckedFile, FStar_Options.CWarning); - (Fatal_ExtractionUnsupported, FStar_Options.CFatal)] + (Fatal_ExtractionUnsupported, FStar_Options.CFatal); + (Warning_SMTErrorReason, FStar_Options.CWarning)] exception Err of (raw_error * Prims.string) let (uu___is_Err : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | Err uu____4883 -> true | uu____4890 -> false + fun projectee -> + match projectee with | Err uu____4898 -> true | uu____4905 -> false + let (__proj__Err__item__uu___ : Prims.exn -> (raw_error * Prims.string)) = - fun projectee -> match projectee with | Err uu____4908 -> uu____4908 + fun projectee -> match projectee with | Err uu____4923 -> uu____4923 exception Error of (raw_error * Prims.string * FStar_Range.range) let (uu___is_Error : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | Error uu____4933 -> true | uu____4942 -> false + fun projectee -> + match projectee with | Error uu____4948 -> true | uu____4957 -> false + let (__proj__Error__item__uu___ : Prims.exn -> (raw_error * Prims.string * FStar_Range.range)) = - fun projectee -> match projectee with | Error uu____4964 -> uu____4964 + fun projectee -> match projectee with | Error uu____4979 -> uu____4979 exception Warning of (raw_error * Prims.string * FStar_Range.range) let (uu___is_Warning : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | Warning uu____4991 -> true | uu____5000 -> false + fun projectee -> + match projectee with | Warning uu____5006 -> true | uu____5015 -> false + let (__proj__Warning__item__uu___ : Prims.exn -> (raw_error * Prims.string * FStar_Range.range)) = - fun projectee -> match projectee with | Warning uu____5022 -> uu____5022 + fun projectee -> match projectee with | Warning uu____5037 -> uu____5037 exception Stop let (uu___is_Stop : Prims.exn -> Prims.bool) = - fun projectee -> match projectee with | Stop -> true | uu____5039 -> false + fun projectee -> + match projectee with | Stop -> true | uu____5054 -> false + exception Empty_frag let (uu___is_Empty_frag : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | Empty_frag -> true | uu____5050 -> false + fun projectee -> + match projectee with | Empty_frag -> true | uu____5065 -> false + type issue_level = | ENotImplemented | EInfo | EWarning | EError let (uu___is_ENotImplemented : issue_level -> Prims.bool) = - fun projectee -> - match projectee with | ENotImplemented -> true | uu____5061 -> false + fun projectee -> + match projectee with | ENotImplemented -> true | uu____5076 -> false + let (uu___is_EInfo : issue_level -> Prims.bool) = - fun projectee -> match projectee with | EInfo -> true | uu____5072 -> false + fun projectee -> + match projectee with | EInfo -> true | uu____5087 -> false + let (uu___is_EWarning : issue_level -> Prims.bool) = - fun projectee -> - match projectee with | EWarning -> true | uu____5083 -> false + fun projectee -> + match projectee with | EWarning -> true | uu____5098 -> false + let (uu___is_EError : issue_level -> Prims.bool) = - fun projectee -> - match projectee with | EError -> true | uu____5094 -> false + fun projectee -> + match projectee with | EError -> true | uu____5109 -> false + type issue = { issue_message: Prims.string ; @@ -2262,27 +2630,31 @@ type issue = issue_range: FStar_Range.range FStar_Pervasives_Native.option ; issue_number: Prims.int FStar_Pervasives_Native.option } let (__proj__Mkissue__item__issue_message : issue -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { issue_message; issue_level; issue_range; issue_number;_} -> issue_message + let (__proj__Mkissue__item__issue_level : issue -> issue_level) = - fun projectee -> + fun projectee -> match projectee with | { issue_message; issue_level; issue_range; issue_number;_} -> issue_level + let (__proj__Mkissue__item__issue_range : issue -> FStar_Range.range FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { issue_message; issue_level; issue_range; issue_number;_} -> issue_range + let (__proj__Mkissue__item__issue_number : issue -> Prims.int FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { issue_message; issue_level; issue_range; issue_number;_} -> issue_number + type error_handler = { eh_add_one: issue -> unit ; @@ -2291,179 +2663,199 @@ type error_handler = eh_clear: unit -> unit } let (__proj__Mkerror_handler__item__eh_add_one : error_handler -> issue -> unit) = - fun projectee -> + fun projectee -> match projectee with | { eh_add_one; eh_count_errors; eh_report; eh_clear;_} -> eh_add_one + let (__proj__Mkerror_handler__item__eh_count_errors : error_handler -> unit -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { eh_add_one; eh_count_errors; eh_report; eh_clear;_} -> eh_count_errors + let (__proj__Mkerror_handler__item__eh_report : error_handler -> unit -> issue Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { eh_add_one; eh_count_errors; eh_report; eh_clear;_} -> eh_report + let (__proj__Mkerror_handler__item__eh_clear : error_handler -> unit -> unit) = - fun projectee -> + fun projectee -> match projectee with | { eh_add_one; eh_count_errors; eh_report; eh_clear;_} -> eh_clear + let (format_issue : issue -> Prims.string) = - fun issue -> + fun issue -> let level_header = match issue.issue_level with - | EInfo -> "Info" - | EWarning -> "Warning" - | EError -> "Error" - | ENotImplemented -> "Feature not yet implemented: " in - let uu____5389 = + | EInfo -> "Info" + | EWarning -> "Warning" + | EError -> "Error" + | ENotImplemented -> "Feature not yet implemented: " in + let uu____5404 = match issue.issue_range with - | FStar_Pervasives_Native.None -> ("", "") + | FStar_Pervasives_Native.None -> ("", "") | FStar_Pervasives_Native.Some r when r = FStar_Range.dummyRange -> ("", "") | FStar_Pervasives_Native.Some r -> - let uu____5412 = - let uu____5414 = FStar_Range.string_of_use_range r in - FStar_Util.format1 "%s: " uu____5414 in - let uu____5417 = - let uu____5419 = - let uu____5421 = FStar_Range.use_range r in - let uu____5422 = FStar_Range.def_range r in - uu____5421 = uu____5422 in - if uu____5419 + let uu____5427 = + let uu____5429 = FStar_Range.string_of_use_range r in + FStar_Util.format1 "%s: " uu____5429 in + let uu____5432 = + let uu____5434 = + let uu____5436 = FStar_Range.use_range r in + let uu____5437 = FStar_Range.def_range r in + uu____5436 = uu____5437 in + if uu____5434 then "" else - (let uu____5428 = FStar_Range.string_of_range r in - FStar_Util.format1 " (see also %s)" uu____5428) in - (uu____5412, uu____5417) in - match uu____5389 with - | (range_str, see_also_str) -> + (let uu____5443 = FStar_Range.string_of_range r in + FStar_Util.format1 " (see also %s)" uu____5443) + in + (uu____5427, uu____5432) + in + match uu____5404 with + | (range_str,see_also_str) -> let issue_number = match issue.issue_number with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some n1 -> - let uu____5448 = FStar_Util.string_of_int n1 in - FStar_Util.format1 " %s" uu____5448 in + let uu____5463 = FStar_Util.string_of_int n1 in + FStar_Util.format1 " %s" uu____5463 + in FStar_Util.format5 "%s(%s%s) %s%s\n" range_str level_header issue_number issue.issue_message see_also_str + let (print_issue : issue -> unit) = - fun issue -> + fun issue -> let printer = match issue.issue_level with - | EInfo -> FStar_Util.print_string - | EWarning -> FStar_Util.print_warning - | EError -> FStar_Util.print_error - | ENotImplemented -> FStar_Util.print_error in - let uu____5468 = format_issue issue in printer uu____5468 + | EInfo -> FStar_Util.print_string + | EWarning -> FStar_Util.print_warning + | EError -> FStar_Util.print_error + | ENotImplemented -> FStar_Util.print_error in + let uu____5483 = format_issue issue in printer uu____5483 + let (compare_issues : issue -> issue -> Prims.int) = - fun i1 -> - fun i2 -> + fun i1 -> + fun i2 -> match ((i1.issue_range), (i2.issue_range)) with - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.None ) -> (Prims.parse_int "0") - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.Some - uu____5492) -> ~- (Prims.parse_int "1") - | (FStar_Pervasives_Native.Some uu____5498, - FStar_Pervasives_Native.None) -> (Prims.parse_int "1") - | (FStar_Pervasives_Native.Some r1, FStar_Pervasives_Native.Some r2) -> + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.Some + uu____5507) -> ~- (Prims.parse_int "1") + | (FStar_Pervasives_Native.Some uu____5513,FStar_Pervasives_Native.None + ) -> (Prims.parse_int "1") + | (FStar_Pervasives_Native.Some r1,FStar_Pervasives_Native.Some r2) -> FStar_Range.compare_use_range r1 r2 + let (mk_default_handler : Prims.bool -> error_handler) = - fun print7 -> - let errs = FStar_Util.mk_ref [] in + fun print7 -> + let errs = FStar_Util.mk_ref [] in let add_one e = match e.issue_level with - | EError -> - let uu____5531 = - let uu____5534 = FStar_ST.op_Bang errs in e :: uu____5534 in - FStar_ST.op_Colon_Equals errs uu____5531 - | uu____5583 -> print_issue e in - let count_errors uu____5589 = - let uu____5590 = FStar_ST.op_Bang errs in FStar_List.length uu____5590 in - let report uu____5623 = + | EError -> + let uu____5546 = + let uu____5549 = FStar_ST.op_Bang errs in e :: uu____5549 in + FStar_ST.op_Colon_Equals errs uu____5546 + | uu____5598 -> print_issue e in + let count_errors uu____5604 = + let uu____5605 = FStar_ST.op_Bang errs in FStar_List.length uu____5605 + in + let report uu____5638 = let sorted1 = - let uu____5627 = FStar_ST.op_Bang errs in - FStar_List.sortWith compare_issues uu____5627 in - if print7 then FStar_List.iter print_issue sorted1 else (); sorted1 in - let clear1 uu____5662 = FStar_ST.op_Colon_Equals errs [] in + let uu____5642 = FStar_ST.op_Bang errs in + FStar_List.sortWith compare_issues uu____5642 in + if print7 then FStar_List.iter print_issue sorted1 else (); sorted1 in + let clear1 uu____5677 = FStar_ST.op_Colon_Equals errs [] in { eh_add_one = add_one; eh_count_errors = count_errors; eh_report = report; eh_clear = clear1 } -let (default_handler : error_handler) = mk_default_handler true + +let (default_handler : error_handler) = mk_default_handler true let (current_handler : error_handler FStar_ST.ref) = - FStar_Util.mk_ref default_handler + FStar_Util.mk_ref default_handler let (mk_issue : issue_level -> FStar_Range.range FStar_Pervasives_Native.option -> Prims.string -> Prims.int FStar_Pervasives_Native.option -> issue) = - fun level -> - fun range -> - fun msg -> - fun n1 -> + fun level -> + fun range -> + fun msg -> + fun n1 -> { issue_message = msg; issue_level = level; issue_range = range; issue_number = n1 } + let (get_err_count : unit -> Prims.int) = - fun uu____5730 -> - let uu____5731 = - let uu____5737 = FStar_ST.op_Bang current_handler in - uu____5737.eh_count_errors in - uu____5731 () + fun uu____5745 -> + let uu____5746 = + let uu____5752 = FStar_ST.op_Bang current_handler in + uu____5752.eh_count_errors in + uu____5746 () + let (wrapped_eh_add_one : error_handler -> issue -> unit) = - fun h -> - fun issue -> + fun h -> + fun issue -> h.eh_add_one issue; if issue.issue_level <> EInfo then - ((let uu____5771 = - let uu____5773 = FStar_ST.op_Bang FStar_Options.abort_counter in - uu____5773 - (Prims.parse_int "1") in - FStar_ST.op_Colon_Equals FStar_Options.abort_counter uu____5771); - (let uu____5818 = - let uu____5820 = FStar_ST.op_Bang FStar_Options.abort_counter in - uu____5820 = (Prims.parse_int "0") in - if uu____5818 then failwith "Aborting due to --abort_on" else ())) + ((let uu____5786 = + let uu____5788 = FStar_ST.op_Bang FStar_Options.abort_counter in + uu____5788 - (Prims.parse_int "1") in + FStar_ST.op_Colon_Equals FStar_Options.abort_counter uu____5786); + (let uu____5833 = + let uu____5835 = FStar_ST.op_Bang FStar_Options.abort_counter in + uu____5835 = (Prims.parse_int "0") in + if uu____5833 then failwith "Aborting due to --abort_on" else ())) else () + let (add_one : issue -> unit) = - fun issue -> + fun issue -> FStar_Util.atomically - (fun uu____5859 -> - let uu____5860 = FStar_ST.op_Bang current_handler in - wrapped_eh_add_one uu____5860 issue) + (fun uu____5874 -> + let uu____5875 = FStar_ST.op_Bang current_handler in + wrapped_eh_add_one uu____5875 issue) + let (add_many : issue Prims.list -> unit) = - fun issues -> + fun issues -> FStar_Util.atomically - (fun uu____5892 -> - let uu____5893 = - let uu____5898 = FStar_ST.op_Bang current_handler in - wrapped_eh_add_one uu____5898 in - FStar_List.iter uu____5893 issues) + (fun uu____5907 -> + let uu____5908 = + let uu____5913 = FStar_ST.op_Bang current_handler in + wrapped_eh_add_one uu____5913 in + FStar_List.iter uu____5908 issues) + let (report_all : unit -> issue Prims.list) = - fun uu____5925 -> - let uu____5926 = - let uu____5933 = FStar_ST.op_Bang current_handler in - uu____5933.eh_report in - uu____5926 () + fun uu____5940 -> + let uu____5941 = + let uu____5948 = FStar_ST.op_Bang current_handler in + uu____5948.eh_report in + uu____5941 () + let (clear : unit -> unit) = - fun uu____5958 -> - let uu____5959 = - let uu____5964 = FStar_ST.op_Bang current_handler in - uu____5964.eh_clear in - uu____5959 () + fun uu____5973 -> + let uu____5974 = + let uu____5979 = FStar_ST.op_Bang current_handler in + uu____5979.eh_clear in + uu____5974 () + let (set_handler : error_handler -> unit) = - fun handler -> - let issues = report_all () in + fun handler -> + let issues = report_all () in clear (); FStar_ST.op_Colon_Equals current_handler handler; add_many issues + type error_message_prefix = { set_prefix: Prims.string -> unit ; @@ -2471,275 +2863,305 @@ type error_message_prefix = clear_prefix: unit -> unit } let (__proj__Mkerror_message_prefix__item__set_prefix : error_message_prefix -> Prims.string -> unit) = - fun projectee -> + fun projectee -> match projectee with | { set_prefix; append_prefix; clear_prefix;_} -> set_prefix + let (__proj__Mkerror_message_prefix__item__append_prefix : error_message_prefix -> Prims.string -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { set_prefix; append_prefix; clear_prefix;_} -> append_prefix + let (__proj__Mkerror_message_prefix__item__clear_prefix : error_message_prefix -> unit -> unit) = - fun projectee -> + fun projectee -> match projectee with | { set_prefix; append_prefix; clear_prefix;_} -> clear_prefix + let (message_prefix : error_message_prefix) = - let pfx = FStar_Util.mk_ref FStar_Pervasives_Native.None in + let pfx = FStar_Util.mk_ref FStar_Pervasives_Native.None in let set_prefix s = - FStar_ST.op_Colon_Equals pfx (FStar_Pervasives_Native.Some s) in - let clear_prefix uu____6187 = - FStar_ST.op_Colon_Equals pfx FStar_Pervasives_Native.None in + FStar_ST.op_Colon_Equals pfx (FStar_Pervasives_Native.Some s) in + let clear_prefix uu____6202 = + FStar_ST.op_Colon_Equals pfx FStar_Pervasives_Native.None in let append_prefix s = - let uu____6223 = FStar_ST.op_Bang pfx in - match uu____6223 with - | FStar_Pervasives_Native.None -> s + let uu____6238 = FStar_ST.op_Bang pfx in + match uu____6238 with + | FStar_Pervasives_Native.None -> s | FStar_Pervasives_Native.Some p -> - let uu____6257 = FStar_String.op_Hat ": " s in - FStar_String.op_Hat p uu____6257 in - { set_prefix; append_prefix; clear_prefix } + let uu____6272 = FStar_String.op_Hat ": " s in + FStar_String.op_Hat p uu____6272 + in + { set_prefix; append_prefix; clear_prefix } let findIndex : - 'Auu____6269 'Auu____6270 . - ('Auu____6269 * 'Auu____6270) Prims.list -> 'Auu____6269 -> Prims.int + 'Auu____6284 'Auu____6285 . + ('Auu____6284 * 'Auu____6285) Prims.list -> 'Auu____6284 -> Prims.int = - fun l -> - fun v1 -> + fun l -> + fun v1 -> FStar_All.pipe_right l (FStar_List.index - (fun uu___0_6308 -> - match uu___0_6308 with - | (e, uu____6315) when e = v1 -> true - | uu____6317 -> false)) + (fun uu___0_6323 -> + match uu___0_6323 with + | (e,uu____6330) when e = v1 -> true + | uu____6332 -> false)) + let (errno_of_error : raw_error -> Prims.int) = - fun e -> findIndex default_flags e + fun e -> findIndex default_flags e let (init_warn_error_flags : FStar_Options.error_flag Prims.list) = - FStar_List.map FStar_Pervasives_Native.snd default_flags + FStar_List.map FStar_Pervasives_Native.snd default_flags let (diag : FStar_Range.range -> Prims.string -> unit) = - fun r -> - fun msg -> - let uu____6350 = FStar_Options.debug_any () in - if uu____6350 + fun r -> + fun msg -> + let uu____6365 = FStar_Options.debug_any () in + if uu____6365 then add_one (mk_issue EInfo (FStar_Pervasives_Native.Some r) msg FStar_Pervasives_Native.None) else () -let (defensive_errno : Prims.int) = errno_of_error Warning_Defensive + +let (defensive_errno : Prims.int) = errno_of_error Warning_Defensive let (lookup : FStar_Options.error_flag Prims.list -> Prims.int -> FStar_Options.error_flag) = - fun flags -> - fun errno -> - let uu____6375 = - (errno = defensive_errno) && (FStar_Options.defensive_fail ()) in - if uu____6375 + fun flags -> + fun errno -> + let uu____6390 = + (errno = defensive_errno) && (FStar_Options.defensive_fail ()) in + if uu____6390 then FStar_Options.CAlwaysError else FStar_List.nth flags errno + let (log_issue : FStar_Range.range -> (raw_error * Prims.string) -> unit) = - fun r -> - fun uu____6396 -> - match uu____6396 with - | (e, msg) -> - let errno = errno_of_error e in - let uu____6408 = - let uu____6409 = FStar_Options.error_flags () in - lookup uu____6409 errno in - (match uu____6408 with - | FStar_Options.CAlwaysError -> + fun r -> + fun uu____6411 -> + match uu____6411 with + | (e,msg) -> + let errno = errno_of_error e in + let uu____6423 = + let uu____6424 = FStar_Options.error_flags () in + lookup uu____6424 errno in + (match uu____6423 with + | FStar_Options.CAlwaysError -> add_one (mk_issue EError (FStar_Pervasives_Native.Some r) msg (FStar_Pervasives_Native.Some errno)) - | FStar_Options.CError -> + | FStar_Options.CError -> add_one (mk_issue EError (FStar_Pervasives_Native.Some r) msg (FStar_Pervasives_Native.Some errno)) - | FStar_Options.CWarning -> + | FStar_Options.CWarning -> add_one (mk_issue EWarning (FStar_Pervasives_Native.Some r) msg (FStar_Pervasives_Native.Some errno)) - | FStar_Options.CSilent -> () - | FStar_Options.CFatal -> + | FStar_Options.CSilent -> () + | FStar_Options.CFatal -> let i = mk_issue EError (FStar_Pervasives_Native.Some r) msg - (FStar_Pervasives_Native.Some errno) in - let uu____6417 = FStar_Options.ide () in - if uu____6417 + (FStar_Pervasives_Native.Some errno) + in + let uu____6432 = FStar_Options.ide () in + if uu____6432 then add_one i else - (let uu____6422 = - let uu____6424 = format_issue i in + (let uu____6437 = + let uu____6439 = format_issue i in FStar_String.op_Hat "don't use log_issue to report fatal error, should use raise_error: " - uu____6424 in - failwith uu____6422)) + uu____6439 + in + failwith uu____6437)) + let (add_errors : (raw_error * Prims.string * FStar_Range.range) Prims.list -> unit) = - fun errs -> + fun errs -> FStar_Util.atomically - (fun uu____6452 -> + (fun uu____6467 -> FStar_List.iter - (fun uu____6465 -> - match uu____6465 with - | (e, msg, r) -> - let uu____6478 = - let uu____6484 = message_prefix.append_prefix msg in - (e, uu____6484) in - log_issue r uu____6478) errs) + (fun uu____6480 -> + match uu____6480 with + | (e,msg,r) -> + let uu____6493 = + let uu____6499 = message_prefix.append_prefix msg in + (e, uu____6499) in + log_issue r uu____6493) errs) + let (issue_of_exn : Prims.exn -> issue FStar_Pervasives_Native.option) = - fun uu___1_6494 -> - match uu___1_6494 with - | Error (e, msg, r) -> - let errno = errno_of_error e in - let uu____6504 = - let uu____6505 = message_prefix.append_prefix msg in - mk_issue EError (FStar_Pervasives_Native.Some r) uu____6505 - (FStar_Pervasives_Native.Some errno) in - FStar_Pervasives_Native.Some uu____6504 + fun uu___1_6509 -> + match uu___1_6509 with + | Error (e,msg,r) -> + let errno = errno_of_error e in + let uu____6519 = + let uu____6520 = message_prefix.append_prefix msg in + mk_issue EError (FStar_Pervasives_Native.Some r) uu____6520 + (FStar_Pervasives_Native.Some errno) + in + FStar_Pervasives_Native.Some uu____6519 | FStar_Util.NYI msg -> - let uu____6510 = - let uu____6511 = message_prefix.append_prefix msg in - mk_issue ENotImplemented FStar_Pervasives_Native.None uu____6511 - FStar_Pervasives_Native.None in - FStar_Pervasives_Native.Some uu____6510 - | Err (e, msg) -> - let errno = errno_of_error e in - let uu____6520 = - let uu____6521 = message_prefix.append_prefix msg in - mk_issue EError FStar_Pervasives_Native.None uu____6521 - (FStar_Pervasives_Native.Some errno) in - FStar_Pervasives_Native.Some uu____6520 - | uu____6524 -> FStar_Pervasives_Native.None + let uu____6525 = + let uu____6526 = message_prefix.append_prefix msg in + mk_issue ENotImplemented FStar_Pervasives_Native.None uu____6526 + FStar_Pervasives_Native.None + in + FStar_Pervasives_Native.Some uu____6525 + | Err (e,msg) -> + let errno = errno_of_error e in + let uu____6535 = + let uu____6536 = message_prefix.append_prefix msg in + mk_issue EError FStar_Pervasives_Native.None uu____6536 + (FStar_Pervasives_Native.Some errno) + in + FStar_Pervasives_Native.Some uu____6535 + | uu____6539 -> FStar_Pervasives_Native.None + let (err_exn : Prims.exn -> unit) = - fun exn -> + fun exn -> if exn = Stop then () else - (let uu____6534 = issue_of_exn exn in - match uu____6534 with + (let uu____6549 = issue_of_exn exn in + match uu____6549 with | FStar_Pervasives_Native.Some issue -> add_one issue - | FStar_Pervasives_Native.None -> FStar_Exn.raise exn) + | FStar_Pervasives_Native.None -> FStar_Exn.raise exn) + let (handleable : Prims.exn -> Prims.bool) = - fun uu___2_6544 -> - match uu___2_6544 with - | Error uu____6546 -> true - | FStar_Util.NYI uu____6555 -> true - | Stop -> true - | Err uu____6559 -> true - | uu____6566 -> false + fun uu___2_6559 -> + match uu___2_6559 with + | Error uu____6561 -> true + | FStar_Util.NYI uu____6570 -> true + | Stop -> true + | Err uu____6574 -> true + | uu____6581 -> false + let (stop_if_err : unit -> unit) = - fun uu____6573 -> - let uu____6574 = - let uu____6576 = get_err_count () in uu____6576 > (Prims.parse_int "0") in - if uu____6574 then FStar_Exn.raise Stop else () + fun uu____6588 -> + let uu____6589 = + let uu____6591 = get_err_count () in + uu____6591 > (Prims.parse_int "0") in + if uu____6589 then FStar_Exn.raise Stop else () + let raise_error : - 'Auu____6589 . - (raw_error * Prims.string) -> FStar_Range.range -> 'Auu____6589 + 'Auu____6604 . + (raw_error * Prims.string) -> FStar_Range.range -> 'Auu____6604 = - fun uu____6603 -> - fun r -> - match uu____6603 with | (e, msg) -> FStar_Exn.raise (Error (e, msg, r)) -let raise_err : 'Auu____6620 . (raw_error * Prims.string) -> 'Auu____6620 = - fun uu____6630 -> - match uu____6630 with | (e, msg) -> FStar_Exn.raise (Err (e, msg)) + fun uu____6618 -> + fun r -> + match uu____6618 with | (e,msg) -> FStar_Exn.raise (Error (e, msg, r)) + +let raise_err : 'Auu____6635 . (raw_error * Prims.string) -> 'Auu____6635 = + fun uu____6645 -> + match uu____6645 with | (e,msg) -> FStar_Exn.raise (Err (e, msg)) + let (update_flags : (FStar_Options.error_flag * Prims.string) Prims.list -> FStar_Options.error_flag Prims.list) = - fun l -> - let flags = init_warn_error_flags in - let compare1 uu____6698 uu____6699 = - match (uu____6698, uu____6699) with - | ((uu____6741, (a, uu____6743)), (uu____6744, (b, uu____6746))) -> + fun l -> + let flags = init_warn_error_flags in + let compare1 uu____6713 uu____6714 = + match (uu____6713, uu____6714) with + | ((uu____6756,(a,uu____6758)),(uu____6759,(b,uu____6761))) -> if a > b then (Prims.parse_int "1") else - if a < b then ~- (Prims.parse_int "1") else (Prims.parse_int "0") in + if a < b then ~- (Prims.parse_int "1") else (Prims.parse_int "0") + in let set_one_flag f d = match (f, d) with - | (FStar_Options.CWarning, FStar_Options.CAlwaysError) -> + | (FStar_Options.CWarning ,FStar_Options.CAlwaysError ) -> raise_err (Fatal_InvalidWarnErrorSetting, "cannot turn an error into warning") - | (FStar_Options.CError, FStar_Options.CAlwaysError) -> + | (FStar_Options.CError ,FStar_Options.CAlwaysError ) -> raise_err (Fatal_InvalidWarnErrorSetting, "cannot turn an error into warning") - | (FStar_Options.CSilent, FStar_Options.CAlwaysError) -> + | (FStar_Options.CSilent ,FStar_Options.CAlwaysError ) -> raise_err (Fatal_InvalidWarnErrorSetting, "cannot silence an error") - | (uu____6815, FStar_Options.CFatal) -> + | (uu____6830,FStar_Options.CFatal ) -> raise_err (Fatal_InvalidWarnErrorSetting, "cannot reset the error level of a fatal error") - | uu____6818 -> f in + | uu____6833 -> f in let rec set_flag i l1 = - let d = FStar_List.nth flags i in + let d = FStar_List.nth flags i in match l1 with | [] -> d - | (f, (l2, h))::tl1 -> + | (f,(l2,h))::tl1 -> if (i >= l2) && (i <= h) then set_one_flag f d - else if i < l2 then d else set_flag i tl1 in + else if i < l2 then d else set_flag i tl1 + in let rec aux f i l1 sorted1 = match l1 with | [] -> f | hd1::tl1 -> - let uu____6976 = - let uu____6979 = - let uu____6982 = set_flag i sorted1 in [uu____6982] in - FStar_List.append f uu____6979 in - aux uu____6976 (i + (Prims.parse_int "1")) tl1 sorted1 in + let uu____6991 = + let uu____6994 = + let uu____6997 = set_flag i sorted1 in [uu____6997] in + FStar_List.append f uu____6994 in + aux uu____6991 (i + (Prims.parse_int "1")) tl1 sorted1 + in let rec compute_range result l1 = match l1 with | [] -> result - | (f, s)::tl1 -> - let r = FStar_Util.split s ".." in - let uu____7084 = + | (f,s)::tl1 -> + let r = FStar_Util.split s ".." in + let uu____7099 = match r with | r1::r2::[] -> - let uu____7104 = FStar_Util.int_of_string r1 in - let uu____7106 = FStar_Util.int_of_string r2 in - (uu____7104, uu____7106) - | uu____7110 -> - let uu____7114 = - let uu____7120 = - FStar_Util.format1 "Malformed warn-error range %s" s in - (Fatal_InvalidWarnErrorSetting, uu____7120) in - raise_err uu____7114 in - (match uu____7084 with - | (l2, h) -> + let uu____7119 = FStar_Util.int_of_string r1 in + let uu____7121 = FStar_Util.int_of_string r2 in + (uu____7119, uu____7121) + | uu____7125 -> + let uu____7129 = + let uu____7135 = + FStar_Util.format1 "Malformed warn-error range %s" s in + (Fatal_InvalidWarnErrorSetting, uu____7135) in + raise_err uu____7129 + in + (match uu____7099 with + | (l2,h) -> (if (l2 < (Prims.parse_int "0")) || (h >= (FStar_List.length default_flags)) then - (let uu____7155 = - let uu____7161 = - let uu____7163 = FStar_Util.string_of_int l2 in - let uu____7165 = FStar_Util.string_of_int h in + (let uu____7170 = + let uu____7176 = + let uu____7178 = FStar_Util.string_of_int l2 in + let uu____7180 = FStar_Util.string_of_int h in FStar_Util.format2 "No error for warn_error %s..%s" - uu____7163 uu____7165 in - (Fatal_InvalidWarnErrorSetting, uu____7161) in - raise_err uu____7155) + uu____7178 uu____7180 + in + (Fatal_InvalidWarnErrorSetting, uu____7176) in + raise_err uu____7170) else (); - compute_range (FStar_List.append result [(f, (l2, h))]) tl1)) in - let range = compute_range [] l in - let sorted1 = FStar_List.sortWith compare1 range in + compute_range (FStar_List.append result [(f, (l2, h))]) tl1)) + in + let range = compute_range [] l in + let sorted1 = FStar_List.sortWith compare1 range in aux [] (Prims.parse_int "0") init_warn_error_flags sorted1 + let catch_errors : 'a . (unit -> 'a) -> (issue Prims.list * 'a FStar_Pervasives_Native.option) = - fun f -> - let newh = mk_default_handler false in - let old = FStar_ST.op_Bang current_handler in + fun f -> + let newh = mk_default_handler false in + let old = FStar_ST.op_Bang current_handler in FStar_ST.op_Colon_Equals current_handler newh; (let r = try - (fun uu___279_7329 -> + (fun uu___279_7344 -> match () with - | () -> let r = f () in FStar_Pervasives_Native.Some r) () + | () -> let r = f () in FStar_Pervasives_Native.Some r) () with - | uu___278_7335 -> - (err_exn uu___278_7335; FStar_Pervasives_Native.None) in - let errs = newh.eh_report () in - FStar_ST.op_Colon_Equals current_handler old; (errs, r)) \ No newline at end of file + | uu___278_7350 -> + (err_exn uu___278_7350; FStar_Pervasives_Native.None) + in + let errs = newh.eh_report () in + FStar_ST.op_Colon_Equals current_handler old; (errs, r)) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Extraction_Kremlin.ml b/src/ocaml-output/FStar_Extraction_Kremlin.ml index c935852449d..3249af5791f 100644 --- a/src/ocaml-output/FStar_Extraction_Kremlin.ml +++ b/src/ocaml-output/FStar_Extraction_Kremlin.ml @@ -35,6 +35,7 @@ and flag = | Abstract | IfDef | Macro + | Deprecated of Prims.string and lifetime = | Eternal | Stack @@ -137,464 +138,596 @@ and typ = | TApp of ((Prims.string Prims.list * Prims.string) * typ Prims.list) | TTuple of typ Prims.list let (uu___is_DGlobal : decl -> Prims.bool) = - fun projectee -> - match projectee with | DGlobal _0 -> true | uu____732 -> false + fun projectee -> + match projectee with | DGlobal _0 -> true | uu____738 -> false + let (__proj__DGlobal__item___0 : decl -> (flag Prims.list * (Prims.string Prims.list * Prims.string) * Prims.int * typ * expr)) - = fun projectee -> match projectee with | DGlobal _0 -> _0 + = fun projectee -> match projectee with | DGlobal _0 -> _0 let (uu___is_DFunction : decl -> Prims.bool) = - fun projectee -> - match projectee with | DFunction _0 -> true | uu____843 -> false + fun projectee -> + match projectee with | DFunction _0 -> true | uu____849 -> false + let (__proj__DFunction__item___0 : decl -> (cc FStar_Pervasives_Native.option * flag Prims.list * Prims.int * typ * (Prims.string Prims.list * Prims.string) * binder Prims.list * expr)) - = fun projectee -> match projectee with | DFunction _0 -> _0 + = fun projectee -> match projectee with | DFunction _0 -> _0 let (uu___is_DTypeAlias : decl -> Prims.bool) = - fun projectee -> - match projectee with | DTypeAlias _0 -> true | uu____968 -> false + fun projectee -> + match projectee with | DTypeAlias _0 -> true | uu____974 -> false + let (__proj__DTypeAlias__item___0 : decl -> ((Prims.string Prims.list * Prims.string) * flag Prims.list * Prims.int * typ)) - = fun projectee -> match projectee with | DTypeAlias _0 -> _0 + = fun projectee -> match projectee with | DTypeAlias _0 -> _0 let (uu___is_DTypeFlat : decl -> Prims.bool) = - fun projectee -> - match projectee with | DTypeFlat _0 -> true | uu____1075 -> false + fun projectee -> + match projectee with | DTypeFlat _0 -> true | uu____1081 -> false + let (__proj__DTypeFlat__item___0 : decl -> ((Prims.string Prims.list * Prims.string) * flag Prims.list * Prims.int * (Prims.string * (typ * Prims.bool)) Prims.list)) - = fun projectee -> match projectee with | DTypeFlat _0 -> _0 + = fun projectee -> match projectee with | DTypeFlat _0 -> _0 let (uu___is_DUnusedRetainedForBackwardsCompat : decl -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | DUnusedRetainedForBackwardsCompat _0 -> true - | uu____1207 -> false + | uu____1213 -> false + let (__proj__DUnusedRetainedForBackwardsCompat__item___0 : decl -> (cc FStar_Pervasives_Native.option * flag Prims.list * (Prims.string Prims.list * Prims.string) * typ)) = - fun projectee -> + fun projectee -> match projectee with | DUnusedRetainedForBackwardsCompat _0 -> _0 + let (uu___is_DTypeVariant : decl -> Prims.bool) = - fun projectee -> - match projectee with | DTypeVariant _0 -> true | uu____1324 -> false + fun projectee -> + match projectee with | DTypeVariant _0 -> true | uu____1330 -> false + let (__proj__DTypeVariant__item___0 : decl -> ((Prims.string Prims.list * Prims.string) * flag Prims.list * Prims.int * (Prims.string * (Prims.string * (typ * Prims.bool)) Prims.list) Prims.list)) - = fun projectee -> match projectee with | DTypeVariant _0 -> _0 + = fun projectee -> match projectee with | DTypeVariant _0 -> _0 let (uu___is_DTypeAbstractStruct : decl -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | DTypeAbstractStruct _0 -> true - | uu____1465 -> false + | uu____1471 -> false + let (__proj__DTypeAbstractStruct__item___0 : decl -> (Prims.string Prims.list * Prims.string)) = - fun projectee -> match projectee with | DTypeAbstractStruct _0 -> _0 + fun projectee -> match projectee with | DTypeAbstractStruct _0 -> _0 let (uu___is_DExternal : decl -> Prims.bool) = - fun projectee -> - match projectee with | DExternal _0 -> true | uu____1533 -> false + fun projectee -> + match projectee with | DExternal _0 -> true | uu____1539 -> false + let (__proj__DExternal__item___0 : decl -> (cc FStar_Pervasives_Native.option * flag Prims.list * (Prims.string Prims.list * Prims.string) * typ * Prims.string Prims.list)) - = fun projectee -> match projectee with | DExternal _0 -> _0 + = fun projectee -> match projectee with | DExternal _0 -> _0 let (uu___is_StdCall : cc -> Prims.bool) = - fun projectee -> - match projectee with | StdCall -> true | uu____1626 -> false + fun projectee -> + match projectee with | StdCall -> true | uu____1632 -> false + let (uu___is_CDecl : cc -> Prims.bool) = - fun projectee -> match projectee with | CDecl -> true | uu____1637 -> false + fun projectee -> + match projectee with | CDecl -> true | uu____1643 -> false + let (uu___is_FastCall : cc -> Prims.bool) = - fun projectee -> - match projectee with | FastCall -> true | uu____1648 -> false + fun projectee -> + match projectee with | FastCall -> true | uu____1654 -> false + let (uu___is_Private : flag -> Prims.bool) = - fun projectee -> - match projectee with | Private -> true | uu____1659 -> false + fun projectee -> + match projectee with | Private -> true | uu____1665 -> false + let (uu___is_WipeBody : flag -> Prims.bool) = - fun projectee -> - match projectee with | WipeBody -> true | uu____1670 -> false + fun projectee -> + match projectee with | WipeBody -> true | uu____1676 -> false + let (uu___is_CInline : flag -> Prims.bool) = - fun projectee -> - match projectee with | CInline -> true | uu____1681 -> false + fun projectee -> + match projectee with | CInline -> true | uu____1687 -> false + let (uu___is_Substitute : flag -> Prims.bool) = - fun projectee -> - match projectee with | Substitute -> true | uu____1692 -> false + fun projectee -> + match projectee with | Substitute -> true | uu____1698 -> false + let (uu___is_GCType : flag -> Prims.bool) = - fun projectee -> - match projectee with | GCType -> true | uu____1703 -> false + fun projectee -> + match projectee with | GCType -> true | uu____1709 -> false + let (uu___is_Comment : flag -> Prims.bool) = - fun projectee -> - match projectee with | Comment _0 -> true | uu____1716 -> false + fun projectee -> + match projectee with | Comment _0 -> true | uu____1722 -> false + let (__proj__Comment__item___0 : flag -> Prims.string) = - fun projectee -> match projectee with | Comment _0 -> _0 + fun projectee -> match projectee with | Comment _0 -> _0 let (uu___is_MustDisappear : flag -> Prims.bool) = - fun projectee -> - match projectee with | MustDisappear -> true | uu____1737 -> false + fun projectee -> + match projectee with | MustDisappear -> true | uu____1743 -> false + let (uu___is_Const : flag -> Prims.bool) = - fun projectee -> - match projectee with | Const _0 -> true | uu____1750 -> false + fun projectee -> + match projectee with | Const _0 -> true | uu____1756 -> false + let (__proj__Const__item___0 : flag -> Prims.string) = - fun projectee -> match projectee with | Const _0 -> _0 + fun projectee -> match projectee with | Const _0 -> _0 let (uu___is_Prologue : flag -> Prims.bool) = - fun projectee -> - match projectee with | Prologue _0 -> true | uu____1773 -> false + fun projectee -> + match projectee with | Prologue _0 -> true | uu____1779 -> false + let (__proj__Prologue__item___0 : flag -> Prims.string) = - fun projectee -> match projectee with | Prologue _0 -> _0 + fun projectee -> match projectee with | Prologue _0 -> _0 let (uu___is_Epilogue : flag -> Prims.bool) = - fun projectee -> - match projectee with | Epilogue _0 -> true | uu____1796 -> false + fun projectee -> + match projectee with | Epilogue _0 -> true | uu____1802 -> false + let (__proj__Epilogue__item___0 : flag -> Prims.string) = - fun projectee -> match projectee with | Epilogue _0 -> _0 + fun projectee -> match projectee with | Epilogue _0 -> _0 let (uu___is_Abstract : flag -> Prims.bool) = - fun projectee -> - match projectee with | Abstract -> true | uu____1817 -> false + fun projectee -> + match projectee with | Abstract -> true | uu____1823 -> false + let (uu___is_IfDef : flag -> Prims.bool) = - fun projectee -> match projectee with | IfDef -> true | uu____1828 -> false + fun projectee -> + match projectee with | IfDef -> true | uu____1834 -> false + let (uu___is_Macro : flag -> Prims.bool) = - fun projectee -> match projectee with | Macro -> true | uu____1839 -> false + fun projectee -> + match projectee with | Macro -> true | uu____1845 -> false + +let (uu___is_Deprecated : flag -> Prims.bool) = + fun projectee -> + match projectee with | Deprecated _0 -> true | uu____1858 -> false + +let (__proj__Deprecated__item___0 : flag -> Prims.string) = + fun projectee -> match projectee with | Deprecated _0 -> _0 let (uu___is_Eternal : lifetime -> Prims.bool) = - fun projectee -> - match projectee with | Eternal -> true | uu____1850 -> false + fun projectee -> + match projectee with | Eternal -> true | uu____1879 -> false + let (uu___is_Stack : lifetime -> Prims.bool) = - fun projectee -> match projectee with | Stack -> true | uu____1861 -> false + fun projectee -> + match projectee with | Stack -> true | uu____1890 -> false + let (uu___is_ManuallyManaged : lifetime -> Prims.bool) = - fun projectee -> - match projectee with | ManuallyManaged -> true | uu____1872 -> false + fun projectee -> + match projectee with | ManuallyManaged -> true | uu____1901 -> false + let (uu___is_EBound : expr -> Prims.bool) = - fun projectee -> - match projectee with | EBound _0 -> true | uu____1885 -> false + fun projectee -> + match projectee with | EBound _0 -> true | uu____1914 -> false + let (__proj__EBound__item___0 : expr -> Prims.int) = - fun projectee -> match projectee with | EBound _0 -> _0 + fun projectee -> match projectee with | EBound _0 -> _0 let (uu___is_EQualified : expr -> Prims.bool) = - fun projectee -> - match projectee with | EQualified _0 -> true | uu____1915 -> false + fun projectee -> + match projectee with | EQualified _0 -> true | uu____1944 -> false + let (__proj__EQualified__item___0 : expr -> (Prims.string Prims.list * Prims.string)) = - fun projectee -> match projectee with | EQualified _0 -> _0 + fun projectee -> match projectee with | EQualified _0 -> _0 let (uu___is_EConstant : expr -> Prims.bool) = - fun projectee -> - match projectee with | EConstant _0 -> true | uu____1963 -> false + fun projectee -> + match projectee with | EConstant _0 -> true | uu____1992 -> false + let (__proj__EConstant__item___0 : expr -> (width * Prims.string)) = - fun projectee -> match projectee with | EConstant _0 -> _0 + fun projectee -> match projectee with | EConstant _0 -> _0 let (uu___is_EUnit : expr -> Prims.bool) = - fun projectee -> match projectee with | EUnit -> true | uu____1996 -> false + fun projectee -> + match projectee with | EUnit -> true | uu____2025 -> false + let (uu___is_EApp : expr -> Prims.bool) = - fun projectee -> - match projectee with | EApp _0 -> true | uu____2014 -> false + fun projectee -> + match projectee with | EApp _0 -> true | uu____2043 -> false + let (__proj__EApp__item___0 : expr -> (expr * expr Prims.list)) = - fun projectee -> match projectee with | EApp _0 -> _0 + fun projectee -> match projectee with | EApp _0 -> _0 let (uu___is_ETypApp : expr -> Prims.bool) = - fun projectee -> - match projectee with | ETypApp _0 -> true | uu____2057 -> false + fun projectee -> + match projectee with | ETypApp _0 -> true | uu____2086 -> false + let (__proj__ETypApp__item___0 : expr -> (expr * typ Prims.list)) = - fun projectee -> match projectee with | ETypApp _0 -> _0 + fun projectee -> match projectee with | ETypApp _0 -> _0 let (uu___is_ELet : expr -> Prims.bool) = - fun projectee -> - match projectee with | ELet _0 -> true | uu____2100 -> false + fun projectee -> + match projectee with | ELet _0 -> true | uu____2129 -> false + let (__proj__ELet__item___0 : expr -> (binder * expr * expr)) = - fun projectee -> match projectee with | ELet _0 -> _0 + fun projectee -> match projectee with | ELet _0 -> _0 let (uu___is_EIfThenElse : expr -> Prims.bool) = - fun projectee -> - match projectee with | EIfThenElse _0 -> true | uu____2143 -> false + fun projectee -> + match projectee with | EIfThenElse _0 -> true | uu____2172 -> false + let (__proj__EIfThenElse__item___0 : expr -> (expr * expr * expr)) = - fun projectee -> match projectee with | EIfThenElse _0 -> _0 + fun projectee -> match projectee with | EIfThenElse _0 -> _0 let (uu___is_ESequence : expr -> Prims.bool) = - fun projectee -> - match projectee with | ESequence _0 -> true | uu____2182 -> false + fun projectee -> + match projectee with | ESequence _0 -> true | uu____2211 -> false + let (__proj__ESequence__item___0 : expr -> expr Prims.list) = - fun projectee -> match projectee with | ESequence _0 -> _0 + fun projectee -> match projectee with | ESequence _0 -> _0 let (uu___is_EAssign : expr -> Prims.bool) = - fun projectee -> - match projectee with | EAssign _0 -> true | uu____2211 -> false + fun projectee -> + match projectee with | EAssign _0 -> true | uu____2240 -> false + let (__proj__EAssign__item___0 : expr -> (expr * expr)) = - fun projectee -> match projectee with | EAssign _0 -> _0 + fun projectee -> match projectee with | EAssign _0 -> _0 let (uu___is_EBufCreate : expr -> Prims.bool) = - fun projectee -> - match projectee with | EBufCreate _0 -> true | uu____2248 -> false + fun projectee -> + match projectee with | EBufCreate _0 -> true | uu____2277 -> false + let (__proj__EBufCreate__item___0 : expr -> (lifetime * expr * expr)) = - fun projectee -> match projectee with | EBufCreate _0 -> _0 + fun projectee -> match projectee with | EBufCreate _0 -> _0 let (uu___is_EBufRead : expr -> Prims.bool) = - fun projectee -> - match projectee with | EBufRead _0 -> true | uu____2289 -> false + fun projectee -> + match projectee with | EBufRead _0 -> true | uu____2318 -> false + let (__proj__EBufRead__item___0 : expr -> (expr * expr)) = - fun projectee -> match projectee with | EBufRead _0 -> _0 + fun projectee -> match projectee with | EBufRead _0 -> _0 let (uu___is_EBufWrite : expr -> Prims.bool) = - fun projectee -> - match projectee with | EBufWrite _0 -> true | uu____2326 -> false + fun projectee -> + match projectee with | EBufWrite _0 -> true | uu____2355 -> false + let (__proj__EBufWrite__item___0 : expr -> (expr * expr * expr)) = - fun projectee -> match projectee with | EBufWrite _0 -> _0 + fun projectee -> match projectee with | EBufWrite _0 -> _0 let (uu___is_EBufSub : expr -> Prims.bool) = - fun projectee -> - match projectee with | EBufSub _0 -> true | uu____2367 -> false + fun projectee -> + match projectee with | EBufSub _0 -> true | uu____2396 -> false + let (__proj__EBufSub__item___0 : expr -> (expr * expr)) = - fun projectee -> match projectee with | EBufSub _0 -> _0 + fun projectee -> match projectee with | EBufSub _0 -> _0 let (uu___is_EBufBlit : expr -> Prims.bool) = - fun projectee -> - match projectee with | EBufBlit _0 -> true | uu____2408 -> false + fun projectee -> + match projectee with | EBufBlit _0 -> true | uu____2437 -> false + let (__proj__EBufBlit__item___0 : expr -> (expr * expr * expr * expr * expr)) - = fun projectee -> match projectee with | EBufBlit _0 -> _0 + = fun projectee -> match projectee with | EBufBlit _0 -> _0 let (uu___is_EMatch : expr -> Prims.bool) = - fun projectee -> - match projectee with | EMatch _0 -> true | uu____2467 -> false + fun projectee -> + match projectee with | EMatch _0 -> true | uu____2496 -> false + let (__proj__EMatch__item___0 : expr -> (expr * (pattern * expr) Prims.list)) - = fun projectee -> match projectee with | EMatch _0 -> _0 + = fun projectee -> match projectee with | EMatch _0 -> _0 let (uu___is_EOp : expr -> Prims.bool) = - fun projectee -> - match projectee with | EOp _0 -> true | uu____2520 -> false + fun projectee -> + match projectee with | EOp _0 -> true | uu____2549 -> false + let (__proj__EOp__item___0 : expr -> (op * width)) = - fun projectee -> match projectee with | EOp _0 -> _0 + fun projectee -> match projectee with | EOp _0 -> _0 let (uu___is_ECast : expr -> Prims.bool) = - fun projectee -> - match projectee with | ECast _0 -> true | uu____2555 -> false + fun projectee -> + match projectee with | ECast _0 -> true | uu____2584 -> false + let (__proj__ECast__item___0 : expr -> (expr * typ)) = - fun projectee -> match projectee with | ECast _0 -> _0 + fun projectee -> match projectee with | ECast _0 -> _0 let (uu___is_EPushFrame : expr -> Prims.bool) = - fun projectee -> - match projectee with | EPushFrame -> true | uu____2585 -> false + fun projectee -> + match projectee with | EPushFrame -> true | uu____2614 -> false + let (uu___is_EPopFrame : expr -> Prims.bool) = - fun projectee -> - match projectee with | EPopFrame -> true | uu____2596 -> false + fun projectee -> + match projectee with | EPopFrame -> true | uu____2625 -> false + let (uu___is_EBool : expr -> Prims.bool) = - fun projectee -> - match projectee with | EBool _0 -> true | uu____2609 -> false + fun projectee -> + match projectee with | EBool _0 -> true | uu____2638 -> false + let (__proj__EBool__item___0 : expr -> Prims.bool) = - fun projectee -> match projectee with | EBool _0 -> _0 + fun projectee -> match projectee with | EBool _0 -> _0 let (uu___is_EAny : expr -> Prims.bool) = - fun projectee -> match projectee with | EAny -> true | uu____2630 -> false + fun projectee -> + match projectee with | EAny -> true | uu____2659 -> false + let (uu___is_EAbort : expr -> Prims.bool) = - fun projectee -> - match projectee with | EAbort -> true | uu____2641 -> false + fun projectee -> + match projectee with | EAbort -> true | uu____2670 -> false + let (uu___is_EReturn : expr -> Prims.bool) = - fun projectee -> - match projectee with | EReturn _0 -> true | uu____2653 -> false + fun projectee -> + match projectee with | EReturn _0 -> true | uu____2682 -> false + let (__proj__EReturn__item___0 : expr -> expr) = - fun projectee -> match projectee with | EReturn _0 -> _0 + fun projectee -> match projectee with | EReturn _0 -> _0 let (uu___is_EFlat : expr -> Prims.bool) = - fun projectee -> - match projectee with | EFlat _0 -> true | uu____2683 -> false + fun projectee -> + match projectee with | EFlat _0 -> true | uu____2712 -> false + let (__proj__EFlat__item___0 : expr -> (typ * (Prims.string * expr) Prims.list)) = - fun projectee -> match projectee with | EFlat _0 -> _0 + fun projectee -> match projectee with | EFlat _0 -> _0 let (uu___is_EField : expr -> Prims.bool) = - fun projectee -> - match projectee with | EField _0 -> true | uu____2742 -> false + fun projectee -> + match projectee with | EField _0 -> true | uu____2771 -> false + let (__proj__EField__item___0 : expr -> (typ * expr * Prims.string)) = - fun projectee -> match projectee with | EField _0 -> _0 + fun projectee -> match projectee with | EField _0 -> _0 let (uu___is_EWhile : expr -> Prims.bool) = - fun projectee -> - match projectee with | EWhile _0 -> true | uu____2786 -> false + fun projectee -> + match projectee with | EWhile _0 -> true | uu____2815 -> false + let (__proj__EWhile__item___0 : expr -> (expr * expr)) = - fun projectee -> match projectee with | EWhile _0 -> _0 + fun projectee -> match projectee with | EWhile _0 -> _0 let (uu___is_EBufCreateL : expr -> Prims.bool) = - fun projectee -> - match projectee with | EBufCreateL _0 -> true | uu____2823 -> false + fun projectee -> + match projectee with | EBufCreateL _0 -> true | uu____2852 -> false + let (__proj__EBufCreateL__item___0 : expr -> (lifetime * expr Prims.list)) = - fun projectee -> match projectee with | EBufCreateL _0 -> _0 + fun projectee -> match projectee with | EBufCreateL _0 -> _0 let (uu___is_ETuple : expr -> Prims.bool) = - fun projectee -> - match projectee with | ETuple _0 -> true | uu____2862 -> false + fun projectee -> + match projectee with | ETuple _0 -> true | uu____2891 -> false + let (__proj__ETuple__item___0 : expr -> expr Prims.list) = - fun projectee -> match projectee with | ETuple _0 -> _0 + fun projectee -> match projectee with | ETuple _0 -> _0 let (uu___is_ECons : expr -> Prims.bool) = - fun projectee -> - match projectee with | ECons _0 -> true | uu____2896 -> false + fun projectee -> + match projectee with | ECons _0 -> true | uu____2925 -> false + let (__proj__ECons__item___0 : expr -> (typ * Prims.string * expr Prims.list)) = - fun projectee -> match projectee with | ECons _0 -> _0 + fun projectee -> match projectee with | ECons _0 -> _0 let (uu___is_EBufFill : expr -> Prims.bool) = - fun projectee -> - match projectee with | EBufFill _0 -> true | uu____2948 -> false + fun projectee -> + match projectee with | EBufFill _0 -> true | uu____2977 -> false + let (__proj__EBufFill__item___0 : expr -> (expr * expr * expr)) = - fun projectee -> match projectee with | EBufFill _0 -> _0 + fun projectee -> match projectee with | EBufFill _0 -> _0 let (uu___is_EString : expr -> Prims.bool) = - fun projectee -> - match projectee with | EString _0 -> true | uu____2986 -> false + fun projectee -> + match projectee with | EString _0 -> true | uu____3015 -> false + let (__proj__EString__item___0 : expr -> Prims.string) = - fun projectee -> match projectee with | EString _0 -> _0 + fun projectee -> match projectee with | EString _0 -> _0 let (uu___is_EFun : expr -> Prims.bool) = - fun projectee -> - match projectee with | EFun _0 -> true | uu____3016 -> false + fun projectee -> + match projectee with | EFun _0 -> true | uu____3045 -> false + let (__proj__EFun__item___0 : expr -> (binder Prims.list * expr * typ)) = - fun projectee -> match projectee with | EFun _0 -> _0 + fun projectee -> match projectee with | EFun _0 -> _0 let (uu___is_EAbortS : expr -> Prims.bool) = - fun projectee -> - match projectee with | EAbortS _0 -> true | uu____3060 -> false + fun projectee -> + match projectee with | EAbortS _0 -> true | uu____3089 -> false + let (__proj__EAbortS__item___0 : expr -> Prims.string) = - fun projectee -> match projectee with | EAbortS _0 -> _0 + fun projectee -> match projectee with | EAbortS _0 -> _0 let (uu___is_EBufFree : expr -> Prims.bool) = - fun projectee -> - match projectee with | EBufFree _0 -> true | uu____3082 -> false + fun projectee -> + match projectee with | EBufFree _0 -> true | uu____3111 -> false + let (__proj__EBufFree__item___0 : expr -> expr) = - fun projectee -> match projectee with | EBufFree _0 -> _0 + fun projectee -> match projectee with | EBufFree _0 -> _0 let (uu___is_EBufCreateNoInit : expr -> Prims.bool) = - fun projectee -> - match projectee with | EBufCreateNoInit _0 -> true | uu____3105 -> false + fun projectee -> + match projectee with | EBufCreateNoInit _0 -> true | uu____3134 -> false + let (__proj__EBufCreateNoInit__item___0 : expr -> (lifetime * expr)) = - fun projectee -> match projectee with | EBufCreateNoInit _0 -> _0 + fun projectee -> match projectee with | EBufCreateNoInit _0 -> _0 let (uu___is_Add : op -> Prims.bool) = - fun projectee -> match projectee with | Add -> true | uu____3135 -> false + fun projectee -> match projectee with | Add -> true | uu____3164 -> false let (uu___is_AddW : op -> Prims.bool) = - fun projectee -> match projectee with | AddW -> true | uu____3146 -> false + fun projectee -> + match projectee with | AddW -> true | uu____3175 -> false + let (uu___is_Sub : op -> Prims.bool) = - fun projectee -> match projectee with | Sub -> true | uu____3157 -> false + fun projectee -> match projectee with | Sub -> true | uu____3186 -> false let (uu___is_SubW : op -> Prims.bool) = - fun projectee -> match projectee with | SubW -> true | uu____3168 -> false + fun projectee -> + match projectee with | SubW -> true | uu____3197 -> false + let (uu___is_Div : op -> Prims.bool) = - fun projectee -> match projectee with | Div -> true | uu____3179 -> false + fun projectee -> match projectee with | Div -> true | uu____3208 -> false let (uu___is_DivW : op -> Prims.bool) = - fun projectee -> match projectee with | DivW -> true | uu____3190 -> false + fun projectee -> + match projectee with | DivW -> true | uu____3219 -> false + let (uu___is_Mult : op -> Prims.bool) = - fun projectee -> match projectee with | Mult -> true | uu____3201 -> false + fun projectee -> + match projectee with | Mult -> true | uu____3230 -> false + let (uu___is_MultW : op -> Prims.bool) = - fun projectee -> match projectee with | MultW -> true | uu____3212 -> false + fun projectee -> + match projectee with | MultW -> true | uu____3241 -> false + let (uu___is_Mod : op -> Prims.bool) = - fun projectee -> match projectee with | Mod -> true | uu____3223 -> false + fun projectee -> match projectee with | Mod -> true | uu____3252 -> false let (uu___is_BOr : op -> Prims.bool) = - fun projectee -> match projectee with | BOr -> true | uu____3234 -> false + fun projectee -> match projectee with | BOr -> true | uu____3263 -> false let (uu___is_BAnd : op -> Prims.bool) = - fun projectee -> match projectee with | BAnd -> true | uu____3245 -> false + fun projectee -> + match projectee with | BAnd -> true | uu____3274 -> false + let (uu___is_BXor : op -> Prims.bool) = - fun projectee -> match projectee with | BXor -> true | uu____3256 -> false + fun projectee -> + match projectee with | BXor -> true | uu____3285 -> false + let (uu___is_BShiftL : op -> Prims.bool) = - fun projectee -> - match projectee with | BShiftL -> true | uu____3267 -> false + fun projectee -> + match projectee with | BShiftL -> true | uu____3296 -> false + let (uu___is_BShiftR : op -> Prims.bool) = - fun projectee -> - match projectee with | BShiftR -> true | uu____3278 -> false + fun projectee -> + match projectee with | BShiftR -> true | uu____3307 -> false + let (uu___is_BNot : op -> Prims.bool) = - fun projectee -> match projectee with | BNot -> true | uu____3289 -> false + fun projectee -> + match projectee with | BNot -> true | uu____3318 -> false + let (uu___is_Eq : op -> Prims.bool) = - fun projectee -> match projectee with | Eq -> true | uu____3300 -> false + fun projectee -> match projectee with | Eq -> true | uu____3329 -> false let (uu___is_Neq : op -> Prims.bool) = - fun projectee -> match projectee with | Neq -> true | uu____3311 -> false + fun projectee -> match projectee with | Neq -> true | uu____3340 -> false let (uu___is_Lt : op -> Prims.bool) = - fun projectee -> match projectee with | Lt -> true | uu____3322 -> false + fun projectee -> match projectee with | Lt -> true | uu____3351 -> false let (uu___is_Lte : op -> Prims.bool) = - fun projectee -> match projectee with | Lte -> true | uu____3333 -> false + fun projectee -> match projectee with | Lte -> true | uu____3362 -> false let (uu___is_Gt : op -> Prims.bool) = - fun projectee -> match projectee with | Gt -> true | uu____3344 -> false + fun projectee -> match projectee with | Gt -> true | uu____3373 -> false let (uu___is_Gte : op -> Prims.bool) = - fun projectee -> match projectee with | Gte -> true | uu____3355 -> false + fun projectee -> match projectee with | Gte -> true | uu____3384 -> false let (uu___is_And : op -> Prims.bool) = - fun projectee -> match projectee with | And -> true | uu____3366 -> false + fun projectee -> match projectee with | And -> true | uu____3395 -> false let (uu___is_Or : op -> Prims.bool) = - fun projectee -> match projectee with | Or -> true | uu____3377 -> false + fun projectee -> match projectee with | Or -> true | uu____3406 -> false let (uu___is_Xor : op -> Prims.bool) = - fun projectee -> match projectee with | Xor -> true | uu____3388 -> false + fun projectee -> match projectee with | Xor -> true | uu____3417 -> false let (uu___is_Not : op -> Prims.bool) = - fun projectee -> match projectee with | Not -> true | uu____3399 -> false + fun projectee -> match projectee with | Not -> true | uu____3428 -> false let (uu___is_PUnit : pattern -> Prims.bool) = - fun projectee -> match projectee with | PUnit -> true | uu____3410 -> false + fun projectee -> + match projectee with | PUnit -> true | uu____3439 -> false + let (uu___is_PBool : pattern -> Prims.bool) = - fun projectee -> - match projectee with | PBool _0 -> true | uu____3423 -> false + fun projectee -> + match projectee with | PBool _0 -> true | uu____3452 -> false + let (__proj__PBool__item___0 : pattern -> Prims.bool) = - fun projectee -> match projectee with | PBool _0 -> _0 + fun projectee -> match projectee with | PBool _0 -> _0 let (uu___is_PVar : pattern -> Prims.bool) = - fun projectee -> - match projectee with | PVar _0 -> true | uu____3445 -> false + fun projectee -> + match projectee with | PVar _0 -> true | uu____3474 -> false + let (__proj__PVar__item___0 : pattern -> binder) = - fun projectee -> match projectee with | PVar _0 -> _0 + fun projectee -> match projectee with | PVar _0 -> _0 let (uu___is_PCons : pattern -> Prims.bool) = - fun projectee -> - match projectee with | PCons _0 -> true | uu____3471 -> false + fun projectee -> + match projectee with | PCons _0 -> true | uu____3500 -> false + let (__proj__PCons__item___0 : pattern -> (Prims.string * pattern Prims.list)) = - fun projectee -> match projectee with | PCons _0 -> _0 + fun projectee -> match projectee with | PCons _0 -> _0 let (uu___is_PTuple : pattern -> Prims.bool) = - fun projectee -> - match projectee with | PTuple _0 -> true | uu____3513 -> false + fun projectee -> + match projectee with | PTuple _0 -> true | uu____3542 -> false + let (__proj__PTuple__item___0 : pattern -> pattern Prims.list) = - fun projectee -> match projectee with | PTuple _0 -> _0 + fun projectee -> match projectee with | PTuple _0 -> _0 let (uu___is_PRecord : pattern -> Prims.bool) = - fun projectee -> - match projectee with | PRecord _0 -> true | uu____3545 -> false + fun projectee -> + match projectee with | PRecord _0 -> true | uu____3574 -> false + let (__proj__PRecord__item___0 : pattern -> (Prims.string * pattern) Prims.list) = - fun projectee -> match projectee with | PRecord _0 -> _0 + fun projectee -> match projectee with | PRecord _0 -> _0 let (uu___is_PConstant : pattern -> Prims.bool) = - fun projectee -> - match projectee with | PConstant _0 -> true | uu____3590 -> false + fun projectee -> + match projectee with | PConstant _0 -> true | uu____3619 -> false + let (__proj__PConstant__item___0 : pattern -> (width * Prims.string)) = - fun projectee -> match projectee with | PConstant _0 -> _0 + fun projectee -> match projectee with | PConstant _0 -> _0 let (uu___is_UInt8 : width -> Prims.bool) = - fun projectee -> match projectee with | UInt8 -> true | uu____3623 -> false + fun projectee -> + match projectee with | UInt8 -> true | uu____3652 -> false + let (uu___is_UInt16 : width -> Prims.bool) = - fun projectee -> - match projectee with | UInt16 -> true | uu____3634 -> false + fun projectee -> + match projectee with | UInt16 -> true | uu____3663 -> false + let (uu___is_UInt32 : width -> Prims.bool) = - fun projectee -> - match projectee with | UInt32 -> true | uu____3645 -> false + fun projectee -> + match projectee with | UInt32 -> true | uu____3674 -> false + let (uu___is_UInt64 : width -> Prims.bool) = - fun projectee -> - match projectee with | UInt64 -> true | uu____3656 -> false + fun projectee -> + match projectee with | UInt64 -> true | uu____3685 -> false + let (uu___is_Int8 : width -> Prims.bool) = - fun projectee -> match projectee with | Int8 -> true | uu____3667 -> false + fun projectee -> + match projectee with | Int8 -> true | uu____3696 -> false + let (uu___is_Int16 : width -> Prims.bool) = - fun projectee -> match projectee with | Int16 -> true | uu____3678 -> false + fun projectee -> + match projectee with | Int16 -> true | uu____3707 -> false + let (uu___is_Int32 : width -> Prims.bool) = - fun projectee -> match projectee with | Int32 -> true | uu____3689 -> false + fun projectee -> + match projectee with | Int32 -> true | uu____3718 -> false + let (uu___is_Int64 : width -> Prims.bool) = - fun projectee -> match projectee with | Int64 -> true | uu____3700 -> false + fun projectee -> + match projectee with | Int64 -> true | uu____3729 -> false + let (uu___is_Bool : width -> Prims.bool) = - fun projectee -> match projectee with | Bool -> true | uu____3711 -> false + fun projectee -> + match projectee with | Bool -> true | uu____3740 -> false + let (uu___is_CInt : width -> Prims.bool) = - fun projectee -> match projectee with | CInt -> true | uu____3722 -> false + fun projectee -> + match projectee with | CInt -> true | uu____3751 -> false + let (__proj__Mkbinder__item__name : binder -> Prims.string) = - fun projectee -> match projectee with | { name; typ; mut;_} -> name + fun projectee -> match projectee with | { name; typ; mut;_} -> name let (__proj__Mkbinder__item__typ : binder -> typ) = - fun projectee -> match projectee with | { name; typ; mut;_} -> typ + fun projectee -> match projectee with | { name; typ; mut;_} -> typ let (__proj__Mkbinder__item__mut : binder -> Prims.bool) = - fun projectee -> match projectee with | { name; typ; mut;_} -> mut + fun projectee -> match projectee with | { name; typ; mut;_} -> mut let (uu___is_TInt : typ -> Prims.bool) = - fun projectee -> - match projectee with | TInt _0 -> true | uu____3771 -> false + fun projectee -> + match projectee with | TInt _0 -> true | uu____3800 -> false + let (__proj__TInt__item___0 : typ -> width) = - fun projectee -> match projectee with | TInt _0 -> _0 + fun projectee -> match projectee with | TInt _0 -> _0 let (uu___is_TBuf : typ -> Prims.bool) = - fun projectee -> - match projectee with | TBuf _0 -> true | uu____3790 -> false + fun projectee -> + match projectee with | TBuf _0 -> true | uu____3819 -> false + let (__proj__TBuf__item___0 : typ -> typ) = - fun projectee -> match projectee with | TBuf _0 -> _0 + fun projectee -> match projectee with | TBuf _0 -> _0 let (uu___is_TUnit : typ -> Prims.bool) = - fun projectee -> match projectee with | TUnit -> true | uu____3808 -> false + fun projectee -> + match projectee with | TUnit -> true | uu____3837 -> false + let (uu___is_TQualified : typ -> Prims.bool) = - fun projectee -> - match projectee with | TQualified _0 -> true | uu____3828 -> false + fun projectee -> + match projectee with | TQualified _0 -> true | uu____3857 -> false + let (__proj__TQualified__item___0 : typ -> (Prims.string Prims.list * Prims.string)) = - fun projectee -> match projectee with | TQualified _0 -> _0 + fun projectee -> match projectee with | TQualified _0 -> _0 let (uu___is_TBool : typ -> Prims.bool) = - fun projectee -> match projectee with | TBool -> true | uu____3870 -> false + fun projectee -> + match projectee with | TBool -> true | uu____3899 -> false + let (uu___is_TAny : typ -> Prims.bool) = - fun projectee -> match projectee with | TAny -> true | uu____3881 -> false + fun projectee -> + match projectee with | TAny -> true | uu____3910 -> false + let (uu___is_TArrow : typ -> Prims.bool) = - fun projectee -> - match projectee with | TArrow _0 -> true | uu____3897 -> false + fun projectee -> + match projectee with | TArrow _0 -> true | uu____3926 -> false + let (__proj__TArrow__item___0 : typ -> (typ * typ)) = - fun projectee -> match projectee with | TArrow _0 -> _0 + fun projectee -> match projectee with | TArrow _0 -> _0 let (uu___is_TBound : typ -> Prims.bool) = - fun projectee -> - match projectee with | TBound _0 -> true | uu____3929 -> false + fun projectee -> + match projectee with | TBound _0 -> true | uu____3958 -> false + let (__proj__TBound__item___0 : typ -> Prims.int) = - fun projectee -> match projectee with | TBound _0 -> _0 + fun projectee -> match projectee with | TBound _0 -> _0 let (uu___is_TApp : typ -> Prims.bool) = - fun projectee -> - match projectee with | TApp _0 -> true | uu____3965 -> false + fun projectee -> + match projectee with | TApp _0 -> true | uu____3994 -> false + let (__proj__TApp__item___0 : typ -> ((Prims.string Prims.list * Prims.string) * typ Prims.list)) = - fun projectee -> match projectee with | TApp _0 -> _0 + fun projectee -> match projectee with | TApp _0 -> _0 let (uu___is_TTuple : typ -> Prims.bool) = - fun projectee -> - match projectee with | TTuple _0 -> true | uu____4028 -> false + fun projectee -> + match projectee with | TTuple _0 -> true | uu____4057 -> false + let (__proj__TTuple__item___0 : typ -> typ Prims.list) = - fun projectee -> match projectee with | TTuple _0 -> _0 + fun projectee -> match projectee with | TTuple _0 -> _0 type program = decl Prims.list type ident = Prims.string type fields_t = (Prims.string * (typ * Prims.bool)) Prims.list @@ -607,27 +740,24 @@ type constant = (width * Prims.string) type var = Prims.int type lident = (Prims.string Prims.list * Prims.string) type version = Prims.int -let (current_version : version) = (Prims.parse_int "27") +let (current_version : version) = (Prims.parse_int "27") type file = (Prims.string * program) type binary_format = (version * file Prims.list) let fst3 : - 'Auu____4129 'Auu____4130 'Auu____4131 . - ('Auu____4129 * 'Auu____4130 * 'Auu____4131) -> 'Auu____4129 - = - fun uu____4142 -> match uu____4142 with | (x, uu____4150, uu____4151) -> x + 'Auu____4158 'Auu____4159 'Auu____4160 . + ('Auu____4158 * 'Auu____4159 * 'Auu____4160) -> 'Auu____4158 + = fun uu____4171 -> match uu____4171 with | (x,uu____4179,uu____4180) -> x let snd3 : - 'Auu____4161 'Auu____4162 'Auu____4163 . - ('Auu____4161 * 'Auu____4162 * 'Auu____4163) -> 'Auu____4162 - = - fun uu____4174 -> match uu____4174 with | (uu____4181, x, uu____4183) -> x + 'Auu____4190 'Auu____4191 'Auu____4192 . + ('Auu____4190 * 'Auu____4191 * 'Auu____4192) -> 'Auu____4191 + = fun uu____4203 -> match uu____4203 with | (uu____4210,x,uu____4212) -> x let thd3 : - 'Auu____4193 'Auu____4194 'Auu____4195 . - ('Auu____4193 * 'Auu____4194 * 'Auu____4195) -> 'Auu____4195 - = - fun uu____4206 -> match uu____4206 with | (uu____4213, uu____4214, x) -> x + 'Auu____4222 'Auu____4223 'Auu____4224 . + ('Auu____4222 * 'Auu____4223 * 'Auu____4224) -> 'Auu____4224 + = fun uu____4235 -> match uu____4235 with | (uu____4242,uu____4243,x) -> x let (mk_width : Prims.string -> width FStar_Pervasives_Native.option) = - fun uu___0_4224 -> - match uu___0_4224 with + fun uu___0_4253 -> + match uu___0_4253 with | "UInt8" -> FStar_Pervasives_Native.Some UInt8 | "UInt16" -> FStar_Pervasives_Native.Some UInt16 | "UInt32" -> FStar_Pervasives_Native.Some UInt32 @@ -636,21 +766,23 @@ let (mk_width : Prims.string -> width FStar_Pervasives_Native.option) = | "Int16" -> FStar_Pervasives_Native.Some Int16 | "Int32" -> FStar_Pervasives_Native.Some Int32 | "Int64" -> FStar_Pervasives_Native.Some Int64 - | uu____4236 -> FStar_Pervasives_Native.None + | uu____4265 -> FStar_Pervasives_Native.None + let (mk_bool_op : Prims.string -> op FStar_Pervasives_Native.option) = - fun uu___1_4246 -> - match uu___1_4246 with + fun uu___1_4275 -> + match uu___1_4275 with | "op_Negation" -> FStar_Pervasives_Native.Some Not | "op_AmpAmp" -> FStar_Pervasives_Native.Some And | "op_BarBar" -> FStar_Pervasives_Native.Some Or | "op_Equality" -> FStar_Pervasives_Native.Some Eq | "op_disEquality" -> FStar_Pervasives_Native.Some Neq - | uu____4255 -> FStar_Pervasives_Native.None + | uu____4284 -> FStar_Pervasives_Native.None + let (is_bool_op : Prims.string -> Prims.bool) = - fun op -> (mk_bool_op op) <> FStar_Pervasives_Native.None + fun op -> (mk_bool_op op) <> FStar_Pervasives_Native.None let (mk_op : Prims.string -> op FStar_Pervasives_Native.option) = - fun uu___2_4276 -> - match uu___2_4276 with + fun uu___2_4305 -> + match uu___2_4305 with | "add" -> FStar_Pervasives_Native.Some Add | "op_Plus_Hat" -> FStar_Pervasives_Native.Some Add | "add_underspec" -> FStar_Pervasives_Native.Some Add @@ -692,11 +824,12 @@ let (mk_op : Prims.string -> op FStar_Pervasives_Native.option) = | "lt" -> FStar_Pervasives_Native.Some Lt | "op_Less_Equals_Hat" -> FStar_Pervasives_Native.Some Lte | "lte" -> FStar_Pervasives_Native.Some Lte - | uu____4321 -> FStar_Pervasives_Native.None + | uu____4350 -> FStar_Pervasives_Native.None + let (is_op : Prims.string -> Prims.bool) = - fun op -> (mk_op op) <> FStar_Pervasives_Native.None + fun op -> (mk_op op) <> FStar_Pervasives_Native.None let (is_machine_int : Prims.string -> Prims.bool) = - fun m -> (mk_width m) <> FStar_Pervasives_Native.None + fun m -> (mk_width m) <> FStar_Pervasives_Native.None type env = { names: name Prims.list ; @@ -705,163 +838,179 @@ type env = and name = { pretty: Prims.string } let (__proj__Mkenv__item__names : env -> name Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { names; names_t; module_name;_} -> names + let (__proj__Mkenv__item__names_t : env -> Prims.string Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { names; names_t; module_name;_} -> names_t + let (__proj__Mkenv__item__module_name : env -> Prims.string Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { names; names_t; module_name;_} -> module_name + let (__proj__Mkname__item__pretty : name -> Prims.string) = - fun projectee -> match projectee with | { pretty = pretty1;_} -> pretty1 + fun projectee -> match projectee with | { pretty = pretty1;_} -> pretty1 let (empty : Prims.string Prims.list -> env) = - fun module_name -> { names = []; names_t = []; module_name } + fun module_name -> { names = []; names_t = []; module_name } let (extend : env -> Prims.string -> env) = - fun env -> - fun x -> - let uu___163_4477 = env in + fun env -> + fun x -> + let uu___164_4506 = env in { names = ({ pretty = x } :: (env.names)); - names_t = (uu___163_4477.names_t); - module_name = (uu___163_4477.module_name) + names_t = (uu___164_4506.names_t); + module_name = (uu___164_4506.module_name) } + let (extend_t : env -> Prims.string -> env) = - fun env -> - fun x -> - let uu___167_4491 = env in + fun env -> + fun x -> + let uu___168_4520 = env in { - names = (uu___167_4491.names); + names = (uu___168_4520.names); names_t = (x :: (env.names_t)); - module_name = (uu___167_4491.module_name) + module_name = (uu___168_4520.module_name) } + let (find_name : env -> Prims.string -> name) = - fun env -> - fun x -> - let uu____4506 = - FStar_List.tryFind (fun name -> name.pretty = x) env.names in - match uu____4506 with + fun env -> + fun x -> + let uu____4535 = + FStar_List.tryFind (fun name -> name.pretty = x) env.names in + match uu____4535 with | FStar_Pervasives_Native.Some name -> name - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> failwith "internal error: name not found" + let (find : env -> Prims.string -> Prims.int) = - fun env -> - fun x -> + fun env -> + fun x -> try - (fun uu___178_4530 -> + (fun uu___179_4559 -> match () with - | () -> FStar_List.index (fun name -> name.pretty = x) env.names) + | () -> FStar_List.index (fun name -> name.pretty = x) env.names) () with - | uu___177_4537 -> - let uu____4539 = - FStar_Util.format1 "Internal error: name not found %s\n" x in - failwith uu____4539 + | uu___178_4566 -> + let uu____4568 = + FStar_Util.format1 "Internal error: name not found %s\n" x in + failwith uu____4568 + let (find_t : env -> Prims.string -> Prims.int) = - fun env -> - fun x -> + fun env -> + fun x -> try - (fun uu___187_4559 -> + (fun uu___188_4588 -> match () with - | () -> FStar_List.index (fun name -> name = x) env.names_t) () + | () -> FStar_List.index (fun name -> name = x) env.names_t) () with - | uu___186_4568 -> - let uu____4570 = - FStar_Util.format1 "Internal error: name not found %s\n" x in - failwith uu____4570 + | uu___187_4597 -> + let uu____4599 = + FStar_Util.format1 "Internal error: name not found %s\n" x in + failwith uu____4599 + let add_binders : - 'Auu____4581 . env -> (Prims.string * 'Auu____4581) Prims.list -> env = - fun env -> - fun binders -> + 'Auu____4610 . env -> (Prims.string * 'Auu____4610) Prims.list -> env = + fun env -> + fun binders -> FStar_List.fold_left - (fun env1 -> - fun uu____4616 -> - match uu____4616 with | (name, uu____4623) -> extend env1 name) + (fun env1 -> + fun uu____4645 -> + match uu____4645 with | (name,uu____4652) -> extend env1 name) env binders + let (list_elements : FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr Prims.list) = - fun e2 -> + fun e2 -> let rec list_elements acc e21 = match e21.FStar_Extraction_ML_Syntax.expr with | FStar_Extraction_ML_Syntax.MLE_CTor - (("Prims"::[], "Cons"), hd1::tl1::[]) -> + (("Prims"::[],"Cons"),hd1::tl1::[]) -> list_elements (hd1 :: acc) tl1 - | FStar_Extraction_ML_Syntax.MLE_CTor (("Prims"::[], "Nil"), []) -> + | FStar_Extraction_ML_Syntax.MLE_CTor (("Prims"::[],"Nil"),[]) -> FStar_List.rev acc - | uu____4675 -> - failwith "Argument of FStar.Buffer.createL is not a list literal!" in + | uu____4704 -> + failwith "Argument of FStar.Buffer.createL is not a list literal!" + in list_elements [] e2 + let rec (translate : FStar_Extraction_ML_Syntax.mllib -> file Prims.list) = - fun uu____4894 -> - match uu____4894 with + fun uu____4923 -> + match uu____4923 with | FStar_Extraction_ML_Syntax.MLLib modules -> FStar_List.filter_map - (fun m -> + (fun m -> let m_name = - let uu____4943 = m in - match uu____4943 with - | (path, uu____4958, uu____4959) -> - FStar_Extraction_ML_Syntax.string_of_mlpath path in + let uu____4972 = m in + match uu____4972 with + | (path,uu____4987,uu____4988) -> + FStar_Extraction_ML_Syntax.string_of_mlpath path + in try - (fun uu___229_4977 -> + (fun uu___230_5006 -> match () with | () -> - ((let uu____4981 = - let uu____4983 = FStar_Options.silent () in - Prims.op_Negation uu____4983 in - if uu____4981 + ((let uu____5010 = + let uu____5012 = FStar_Options.silent () in + Prims.op_Negation uu____5012 in + if uu____5010 then FStar_Util.print1 "Attempting to translate module %s\n" m_name else ()); - (let uu____4989 = translate_module m in - FStar_Pervasives_Native.Some uu____4989))) () + (let uu____5018 = translate_module m in + FStar_Pervasives_Native.Some uu____5018))) () with | e -> - ((let uu____4998 = FStar_Util.print_exn e in + ((let uu____5027 = FStar_Util.print_exn e in FStar_Util.print2 "Unable to translate module: %s because:\n %s\n" m_name - uu____4998); + uu____5027); FStar_Pervasives_Native.None)) modules + and (translate_module : (FStar_Extraction_ML_Syntax.mlpath * (FStar_Extraction_ML_Syntax.mlsig * FStar_Extraction_ML_Syntax.mlmodule) FStar_Pervasives_Native.option * FStar_Extraction_ML_Syntax.mllib) -> file) = - fun uu____5001 -> - match uu____5001 with - | (module_name, modul, uu____5016) -> + fun uu____5030 -> + match uu____5030 with + | (module_name,modul,uu____5045) -> let module_name1 = FStar_List.append (FStar_Pervasives_Native.fst module_name) - [FStar_Pervasives_Native.snd module_name] in + [FStar_Pervasives_Native.snd module_name] + in let program = match modul with - | FStar_Pervasives_Native.Some (_signature, decls) -> + | FStar_Pervasives_Native.Some (_signature,decls) -> FStar_List.collect (translate_decl (empty module_name1)) decls - | uu____5051 -> - failwith "Unexpected standalone interface or nested modules" in + | uu____5080 -> + failwith "Unexpected standalone interface or nested modules" + in ((FStar_String.concat "_" module_name1), program) + and (translate_flags : FStar_Extraction_ML_Syntax.meta Prims.list -> flag Prims.list) = - fun flags -> + fun flags -> FStar_List.choose - (fun uu___3_5065 -> - match uu___3_5065 with - | FStar_Extraction_ML_Syntax.Private -> + (fun uu___3_5094 -> + match uu___3_5094 with + | FStar_Extraction_ML_Syntax.Private -> FStar_Pervasives_Native.Some Private - | FStar_Extraction_ML_Syntax.NoExtract -> + | FStar_Extraction_ML_Syntax.NoExtract -> FStar_Pervasives_Native.Some WipeBody - | FStar_Extraction_ML_Syntax.CInline -> + | FStar_Extraction_ML_Syntax.CInline -> FStar_Pervasives_Native.Some CInline - | FStar_Extraction_ML_Syntax.Substitute -> + | FStar_Extraction_ML_Syntax.Substitute -> FStar_Pervasives_Native.Some Substitute - | FStar_Extraction_ML_Syntax.GCType -> + | FStar_Extraction_ML_Syntax.GCType -> FStar_Pervasives_Native.Some GCType | FStar_Extraction_ML_Syntax.Comment s -> FStar_Pervasives_Native.Some (Comment s) - | FStar_Extraction_ML_Syntax.StackInline -> + | FStar_Extraction_ML_Syntax.StackInline -> FStar_Pervasives_Native.Some MustDisappear | FStar_Extraction_ML_Syntax.CConst s -> FStar_Pervasives_Native.Some (Const s) @@ -869,261 +1018,283 @@ and (translate_flags : FStar_Pervasives_Native.Some (Prologue s) | FStar_Extraction_ML_Syntax.CEpilogue s -> FStar_Pervasives_Native.Some (Epilogue s) - | FStar_Extraction_ML_Syntax.CAbstract -> + | FStar_Extraction_ML_Syntax.CAbstract -> FStar_Pervasives_Native.Some Abstract - | FStar_Extraction_ML_Syntax.CIfDef -> + | FStar_Extraction_ML_Syntax.CIfDef -> FStar_Pervasives_Native.Some IfDef - | FStar_Extraction_ML_Syntax.CMacro -> + | FStar_Extraction_ML_Syntax.CMacro -> FStar_Pervasives_Native.Some Macro - | uu____5076 -> FStar_Pervasives_Native.None) flags + | FStar_Extraction_ML_Syntax.Deprecated s -> + FStar_Pervasives_Native.Some (Deprecated s) + | uu____5107 -> FStar_Pervasives_Native.None) flags + and (translate_cc : FStar_Extraction_ML_Syntax.meta Prims.list -> cc FStar_Pervasives_Native.option) = - fun flags -> - let uu____5080 = + fun flags -> + let uu____5111 = FStar_List.choose - (fun uu___4_5087 -> - match uu___4_5087 with + (fun uu___4_5118 -> + match uu___4_5118 with | FStar_Extraction_ML_Syntax.CCConv s -> FStar_Pervasives_Native.Some s - | uu____5094 -> FStar_Pervasives_Native.None) flags in - match uu____5080 with + | uu____5125 -> FStar_Pervasives_Native.None) flags + in + match uu____5111 with | "stdcall"::[] -> FStar_Pervasives_Native.Some StdCall | "fastcall"::[] -> FStar_Pervasives_Native.Some FastCall | "cdecl"::[] -> FStar_Pervasives_Native.Some CDecl - | uu____5107 -> FStar_Pervasives_Native.None + | uu____5138 -> FStar_Pervasives_Native.None + and (translate_decl : env -> FStar_Extraction_ML_Syntax.mlmodule1 -> decl Prims.list) = - fun env -> - fun d -> + fun env -> + fun d -> match d with - | FStar_Extraction_ML_Syntax.MLM_Let (flavor, lbs) -> + | FStar_Extraction_ML_Syntax.MLM_Let (flavor,lbs) -> FStar_List.choose (translate_let env flavor) lbs - | FStar_Extraction_ML_Syntax.MLM_Loc uu____5121 -> [] + | FStar_Extraction_ML_Syntax.MLM_Loc uu____5152 -> [] | FStar_Extraction_ML_Syntax.MLM_Ty tys -> FStar_List.choose (translate_type_decl env) tys - | FStar_Extraction_ML_Syntax.MLM_Top uu____5123 -> + | FStar_Extraction_ML_Syntax.MLM_Top uu____5154 -> failwith "todo: translate_decl [MLM_Top]" - | FStar_Extraction_ML_Syntax.MLM_Exn (m, uu____5128) -> + | FStar_Extraction_ML_Syntax.MLM_Exn (m,uu____5159) -> (FStar_Util.print1_warning "Not extracting exception %s to KreMLin (exceptions unsupported)\n" m; []) + and (translate_let : env -> FStar_Extraction_ML_Syntax.mlletflavor -> FStar_Extraction_ML_Syntax.mllb -> decl FStar_Pervasives_Native.option) = - fun env -> - fun flavor -> - fun lb -> + fun env -> + fun flavor -> + fun lb -> match lb with | { FStar_Extraction_ML_Syntax.mllb_name = name; FStar_Extraction_ML_Syntax.mllb_tysc = - FStar_Pervasives_Native.Some (tvars, t0); - FStar_Extraction_ML_Syntax.mllb_add_unit = uu____5155; + FStar_Pervasives_Native.Some (tvars,t0); + FStar_Extraction_ML_Syntax.mllb_add_unit = uu____5186; FStar_Extraction_ML_Syntax.mllb_def = e; FStar_Extraction_ML_Syntax.mllb_meta = meta; - FStar_Extraction_ML_Syntax.print_typ = uu____5158;_} when + FStar_Extraction_ML_Syntax.print_typ = uu____5189;_} when FStar_Util.for_some - (fun uu___5_5163 -> - match uu___5_5163 with - | FStar_Extraction_ML_Syntax.Assumed -> true - | uu____5166 -> false) meta + (fun uu___5_5194 -> + match uu___5_5194 with + | FStar_Extraction_ML_Syntax.Assumed -> true + | uu____5197 -> false) meta -> - let name1 = ((env.module_name), name) in + let name1 = ((env.module_name), name) in let arg_names = match e.FStar_Extraction_ML_Syntax.expr with - | FStar_Extraction_ML_Syntax.MLE_Fun (args, uu____5189) -> + | FStar_Extraction_ML_Syntax.MLE_Fun (args,uu____5220) -> FStar_List.map FStar_Pervasives_Native.fst args - | uu____5211 -> [] in + | uu____5242 -> [] in if (FStar_List.length tvars) = (Prims.parse_int "0") then - let uu____5219 = - let uu____5220 = - let uu____5246 = translate_cc meta in - let uu____5249 = translate_flags meta in - let uu____5252 = translate_type env t0 in - (uu____5246, uu____5249, name1, uu____5252, arg_names) in - DExternal uu____5220 in - FStar_Pervasives_Native.Some uu____5219 + let uu____5250 = + let uu____5251 = + let uu____5277 = translate_cc meta in + let uu____5280 = translate_flags meta in + let uu____5283 = translate_type env t0 in + (uu____5277, uu____5280, name1, uu____5283, arg_names) in + DExternal uu____5251 in + FStar_Pervasives_Native.Some uu____5250 else - ((let uu____5271 = - FStar_Extraction_ML_Syntax.string_of_mlpath name1 in + ((let uu____5302 = + FStar_Extraction_ML_Syntax.string_of_mlpath name1 in FStar_Util.print1_warning "Not extracting %s to KreMLin (polymorphic assumes are not supported)\n" - uu____5271); + uu____5302); FStar_Pervasives_Native.None) | { FStar_Extraction_ML_Syntax.mllb_name = name; FStar_Extraction_ML_Syntax.mllb_tysc = - FStar_Pervasives_Native.Some (tvars, t0); - FStar_Extraction_ML_Syntax.mllb_add_unit = uu____5277; + FStar_Pervasives_Native.Some (tvars,t0); + FStar_Extraction_ML_Syntax.mllb_add_unit = uu____5308; FStar_Extraction_ML_Syntax.mllb_def = { FStar_Extraction_ML_Syntax.expr = - FStar_Extraction_ML_Syntax.MLE_Fun (args, body); - FStar_Extraction_ML_Syntax.mlty = uu____5280; - FStar_Extraction_ML_Syntax.loc = uu____5281;_}; + FStar_Extraction_ML_Syntax.MLE_Fun (args,body); + FStar_Extraction_ML_Syntax.mlty = uu____5311; + FStar_Extraction_ML_Syntax.loc = uu____5312;_}; FStar_Extraction_ML_Syntax.mllb_meta = meta; - FStar_Extraction_ML_Syntax.print_typ = uu____5283;_} -> + FStar_Extraction_ML_Syntax.print_typ = uu____5314;_} -> if FStar_List.mem FStar_Extraction_ML_Syntax.NoExtract meta then FStar_Pervasives_Native.None else (let env1 = if flavor = FStar_Extraction_ML_Syntax.Rec then extend env name - else env in + else env in let env2 = FStar_List.fold_left - (fun env2 -> fun name1 -> extend_t env2 name1) env1 tvars in - let rec find_return_type eff i uu___6_5340 = - match uu___6_5340 with - | FStar_Extraction_ML_Syntax.MLTY_Fun (uu____5349, eff1, t) + (fun env2 -> fun name1 -> extend_t env2 name1) env1 + tvars + in + let rec find_return_type eff i uu___6_5371 = + match uu___6_5371 with + | FStar_Extraction_ML_Syntax.MLTY_Fun (uu____5380,eff1,t) when i > (Prims.parse_int "0") -> find_return_type eff1 (i - (Prims.parse_int "1")) t - | t -> (i, eff, t) in - let name1 = ((env2.module_name), name) in - let uu____5369 = + | t -> (i, eff, t) in + let name1 = ((env2.module_name), name) in + let uu____5400 = find_return_type FStar_Extraction_ML_Syntax.E_PURE - (FStar_List.length args) t0 in - match uu____5369 with - | (i, eff, t) -> + (FStar_List.length args) t0 + in + match uu____5400 with + | (i,eff,t) -> (if i > (Prims.parse_int "0") then (let msg = - "function type annotation has less arrows than the number of arguments; please mark the return type abbreviation as inline_for_extraction" in - let uu____5395 = - FStar_Extraction_ML_Syntax.string_of_mlpath name1 in + "function type annotation has less arrows than the number of arguments; please mark the return type abbreviation as inline_for_extraction" + in + let uu____5426 = + FStar_Extraction_ML_Syntax.string_of_mlpath name1 + in FStar_Util.print2_warning - "Not extracting %s to KreMLin (%s)\n" uu____5395 msg) + "Not extracting %s to KreMLin (%s)\n" uu____5426 msg) else (); - (let t1 = translate_type env2 t in - let binders = translate_binders env2 args in - let env3 = add_binders env2 args in - let cc = translate_cc meta in + (let t1 = translate_type env2 t in + let binders = translate_binders env2 args in + let env3 = add_binders env2 args in + let cc = translate_cc meta in let meta1 = match (eff, t1) with - | (FStar_Extraction_ML_Syntax.E_GHOST, uu____5413) -> - let uu____5414 = translate_flags meta in - MustDisappear :: uu____5414 - | (FStar_Extraction_ML_Syntax.E_PURE, TUnit) -> - let uu____5417 = translate_flags meta in - MustDisappear :: uu____5417 - | uu____5420 -> translate_flags meta in + | (FStar_Extraction_ML_Syntax.E_GHOST ,uu____5444) -> + let uu____5445 = translate_flags meta in + MustDisappear :: uu____5445 + | (FStar_Extraction_ML_Syntax.E_PURE ,TUnit ) -> + let uu____5448 = translate_flags meta in + MustDisappear :: uu____5448 + | uu____5451 -> translate_flags meta in try - (fun uu___375_5429 -> + (fun uu___378_5460 -> match () with | () -> - let body1 = translate_expr env3 body in + let body1 = translate_expr env3 body in FStar_Pervasives_Native.Some (DFunction (cc, meta1, (FStar_List.length tvars), t1, name1, binders, body1))) () with | e -> - let msg = FStar_Util.print_exn e in - ((let uu____5461 = - let uu____5467 = - let uu____5469 = + let msg = FStar_Util.print_exn e in + ((let uu____5492 = + let uu____5498 = + let uu____5500 = FStar_Extraction_ML_Syntax.string_of_mlpath - name1 in + name1 + in FStar_Util.format2 "Error while extracting %s to KreMLin (%s)\n" - uu____5469 msg in + uu____5500 msg + in (FStar_Errors.Warning_FunctionNotExtacted, - uu____5467) in + uu____5498) + in FStar_Errors.log_issue FStar_Range.dummyRange - uu____5461); + uu____5492); (let msg1 = Prims.op_Hat - "This function was not extracted:\n" msg in + "This function was not extracted:\n" msg + in FStar_Pervasives_Native.Some (DFunction (cc, meta1, (FStar_List.length tvars), t1, name1, binders, (EAbortS msg1)))))))) | { FStar_Extraction_ML_Syntax.mllb_name = name; FStar_Extraction_ML_Syntax.mllb_tysc = - FStar_Pervasives_Native.Some (tvars, t); - FStar_Extraction_ML_Syntax.mllb_add_unit = uu____5495; + FStar_Pervasives_Native.Some (tvars,t); + FStar_Extraction_ML_Syntax.mllb_add_unit = uu____5526; FStar_Extraction_ML_Syntax.mllb_def = expr; FStar_Extraction_ML_Syntax.mllb_meta = meta; - FStar_Extraction_ML_Syntax.print_typ = uu____5498;_} -> + FStar_Extraction_ML_Syntax.print_typ = uu____5529;_} -> if FStar_List.mem FStar_Extraction_ML_Syntax.NoExtract meta then FStar_Pervasives_Native.None else - (let meta1 = translate_flags meta in + (let meta1 = translate_flags meta in let env1 = FStar_List.fold_left - (fun env1 -> fun name1 -> extend_t env1 name1) env tvars in - let t1 = translate_type env1 t in - let name1 = ((env1.module_name), name) in + (fun env1 -> fun name1 -> extend_t env1 name1) env tvars + in + let t1 = translate_type env1 t in + let name1 = ((env1.module_name), name) in try - (fun uu___402_5535 -> + (fun uu___405_5566 -> match () with | () -> - let expr1 = translate_expr env1 expr in + let expr1 = translate_expr env1 expr in FStar_Pervasives_Native.Some (DGlobal (meta1, name1, (FStar_List.length tvars), t1, expr1))) () with | e -> - ((let uu____5559 = - let uu____5565 = - let uu____5567 = - FStar_Extraction_ML_Syntax.string_of_mlpath name1 in - let uu____5569 = FStar_Util.print_exn e in + ((let uu____5590 = + let uu____5596 = + let uu____5598 = + FStar_Extraction_ML_Syntax.string_of_mlpath name1 + in + let uu____5600 = FStar_Util.print_exn e in FStar_Util.format2 - "Error extracting %s to KreMLin (%s)\n" uu____5567 - uu____5569 in + "Error extracting %s to KreMLin (%s)\n" uu____5598 + uu____5600 + in (FStar_Errors.Warning_DefinitionNotTranslated, - uu____5565) in - FStar_Errors.log_issue FStar_Range.dummyRange uu____5559); + uu____5596) + in + FStar_Errors.log_issue FStar_Range.dummyRange uu____5590); FStar_Pervasives_Native.Some (DGlobal (meta1, name1, (FStar_List.length tvars), t1, EAny)))) | { FStar_Extraction_ML_Syntax.mllb_name = name; FStar_Extraction_ML_Syntax.mllb_tysc = ts; - FStar_Extraction_ML_Syntax.mllb_add_unit = uu____5587; - FStar_Extraction_ML_Syntax.mllb_def = uu____5588; - FStar_Extraction_ML_Syntax.mllb_meta = uu____5589; - FStar_Extraction_ML_Syntax.print_typ = uu____5590;_} -> - ((let uu____5597 = - let uu____5603 = - FStar_Util.format1 "Not extracting %s to KreMLin\n" name in - (FStar_Errors.Warning_DefinitionNotTranslated, uu____5603) in - FStar_Errors.log_issue FStar_Range.dummyRange uu____5597); + FStar_Extraction_ML_Syntax.mllb_add_unit = uu____5618; + FStar_Extraction_ML_Syntax.mllb_def = uu____5619; + FStar_Extraction_ML_Syntax.mllb_meta = uu____5620; + FStar_Extraction_ML_Syntax.print_typ = uu____5621;_} -> + ((let uu____5628 = + let uu____5634 = + FStar_Util.format1 "Not extracting %s to KreMLin\n" name + in + (FStar_Errors.Warning_DefinitionNotTranslated, uu____5634) + in + FStar_Errors.log_issue FStar_Range.dummyRange uu____5628); (match ts with - | FStar_Pervasives_Native.Some (idents, t) -> - let uu____5610 = - FStar_Extraction_ML_Code.string_of_mlty ([], "") t in + | FStar_Pervasives_Native.Some (idents,t) -> + let uu____5641 = + FStar_Extraction_ML_Code.string_of_mlty ([], "") t in FStar_Util.print2 "Type scheme is: forall %s. %s\n" - (FStar_String.concat ", " idents) uu____5610 - | FStar_Pervasives_Native.None -> ()); + (FStar_String.concat ", " idents) uu____5641 + | FStar_Pervasives_Native.None -> ()); FStar_Pervasives_Native.None) + and (translate_type_decl : env -> FStar_Extraction_ML_Syntax.one_mltydecl -> decl FStar_Pervasives_Native.option) = - fun env -> - fun ty -> - let uu____5624 = ty in - match uu____5624 with - | (uu____5627, uu____5628, uu____5629, uu____5630, flags, uu____5632) - -> + fun env -> + fun ty -> + let uu____5655 = ty in + match uu____5655 with + | (uu____5658,uu____5659,uu____5660,uu____5661,flags,uu____5663) -> if FStar_List.mem FStar_Extraction_ML_Syntax.NoExtract flags then FStar_Pervasives_Native.None else (match ty with - | (assumed, name, _mangled_name, args, flags1, - FStar_Pervasives_Native.Some + | (assumed,name,_mangled_name,args,flags1,FStar_Pervasives_Native.Some (FStar_Extraction_ML_Syntax.MLTD_Abbrev t)) -> - let name1 = ((env.module_name), name) in + let name1 = ((env.module_name), name) in let env1 = FStar_List.fold_left - (fun env1 -> fun name2 -> extend_t env1 name2) env args in + (fun env1 -> fun name2 -> extend_t env1 name2) env + args + in if assumed && (FStar_List.mem FStar_Extraction_ML_Syntax.CAbstract @@ -1134,313 +1305,338 @@ and (translate_type_decl : if assumed then (let name2 = - FStar_Extraction_ML_Syntax.string_of_mlpath name1 in + FStar_Extraction_ML_Syntax.string_of_mlpath name1 in FStar_Util.print1_warning "Not extracting type definition %s to KreMLin (assumed type)\n" name2; FStar_Pervasives_Native.None) else - (let uu____5706 = - let uu____5707 = - let uu____5727 = translate_flags flags1 in - let uu____5730 = translate_type env1 t in - (name1, uu____5727, (FStar_List.length args), - uu____5730) in - DTypeAlias uu____5707 in - FStar_Pervasives_Native.Some uu____5706) - | (uu____5743, name, _mangled_name, args, flags1, - FStar_Pervasives_Native.Some + (let uu____5737 = + let uu____5738 = + let uu____5758 = translate_flags flags1 in + let uu____5761 = translate_type env1 t in + (name1, uu____5758, (FStar_List.length args), + uu____5761) + in + DTypeAlias uu____5738 in + FStar_Pervasives_Native.Some uu____5737) + | (uu____5774,name,_mangled_name,args,flags1,FStar_Pervasives_Native.Some (FStar_Extraction_ML_Syntax.MLTD_Record fields)) -> - let name1 = ((env.module_name), name) in + let name1 = ((env.module_name), name) in let env1 = FStar_List.fold_left - (fun env1 -> fun name2 -> extend_t env1 name2) env args in - let uu____5788 = - let uu____5789 = - let uu____5821 = translate_flags flags1 in - let uu____5824 = + (fun env1 -> fun name2 -> extend_t env1 name2) env + args + in + let uu____5819 = + let uu____5820 = + let uu____5852 = translate_flags flags1 in + let uu____5855 = FStar_List.map - (fun uu____5856 -> - match uu____5856 with - | (f, t) -> - let uu____5876 = - let uu____5882 = translate_type env1 t in - (uu____5882, false) in - (f, uu____5876)) fields in - (name1, uu____5821, (FStar_List.length args), - uu____5824) in - DTypeFlat uu____5789 in - FStar_Pervasives_Native.Some uu____5788 - | (uu____5915, name, _mangled_name, args, flags1, - FStar_Pervasives_Native.Some + (fun uu____5887 -> + match uu____5887 with + | (f,t) -> + let uu____5907 = + let uu____5913 = translate_type env1 t in + (uu____5913, false) in + (f, uu____5907)) fields + in + (name1, uu____5852, (FStar_List.length args), + uu____5855) + in + DTypeFlat uu____5820 in + FStar_Pervasives_Native.Some uu____5819 + | (uu____5946,name,_mangled_name,args,flags1,FStar_Pervasives_Native.Some (FStar_Extraction_ML_Syntax.MLTD_DType branches)) -> - let name1 = ((env.module_name), name) in - let flags2 = translate_flags flags1 in - let env1 = FStar_List.fold_left extend_t env args in - let uu____5965 = - let uu____5966 = - let uu____6005 = + let name1 = ((env.module_name), name) in + let flags2 = translate_flags flags1 in + let env1 = FStar_List.fold_left extend_t env args in + let uu____5996 = + let uu____5997 = + let uu____6036 = FStar_List.map - (fun uu____6058 -> - match uu____6058 with - | (cons1, ts) -> - let uu____6106 = + (fun uu____6089 -> + match uu____6089 with + | (cons1,ts) -> + let uu____6137 = FStar_List.map - (fun uu____6138 -> - match uu____6138 with - | (name2, t) -> - let uu____6158 = - let uu____6164 = - translate_type env1 t in - (uu____6164, false) in - (name2, uu____6158)) ts in - (cons1, uu____6106)) branches in - (name1, flags2, (FStar_List.length args), uu____6005) in - DTypeVariant uu____5966 in - FStar_Pervasives_Native.Some uu____5965 - | (uu____6217, name, _mangled_name, uu____6220, uu____6221, - uu____6222) -> - ((let uu____6238 = - let uu____6244 = + (fun uu____6169 -> + match uu____6169 with + | (name2,t) -> + let uu____6189 = + let uu____6195 = + translate_type env1 t in + (uu____6195, false) in + (name2, uu____6189)) ts + in + (cons1, uu____6137)) branches + in + (name1, flags2, (FStar_List.length args), uu____6036) + in + DTypeVariant uu____5997 in + FStar_Pervasives_Native.Some uu____5996 + | (uu____6248,name,_mangled_name,uu____6251,uu____6252,uu____6253) + -> + ((let uu____6269 = + let uu____6275 = FStar_Util.format1 "Error extracting type definition %s to KreMLin\n" - name in + name + in (FStar_Errors.Warning_DefinitionNotTranslated, - uu____6244) in - FStar_Errors.log_issue FStar_Range.dummyRange uu____6238); + uu____6275) + in + FStar_Errors.log_issue FStar_Range.dummyRange uu____6269); FStar_Pervasives_Native.None)) + and (translate_type : env -> FStar_Extraction_ML_Syntax.mlty -> typ) = - fun env -> - fun t -> + fun env -> + fun t -> match t with | FStar_Extraction_ML_Syntax.MLTY_Tuple [] -> TAny - | FStar_Extraction_ML_Syntax.MLTY_Top -> TAny + | FStar_Extraction_ML_Syntax.MLTY_Top -> TAny | FStar_Extraction_ML_Syntax.MLTY_Var name -> - let uu____6252 = find_t env name in TBound uu____6252 - | FStar_Extraction_ML_Syntax.MLTY_Fun (t1, uu____6255, t2) -> - let uu____6257 = - let uu____6262 = translate_type env t1 in - let uu____6263 = translate_type env t2 in - (uu____6262, uu____6263) in - TArrow uu____6257 - | FStar_Extraction_ML_Syntax.MLTY_Erased -> TUnit - | FStar_Extraction_ML_Syntax.MLTY_Named ([], p) when - let uu____6267 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6267 = "Prims.unit" -> TUnit - | FStar_Extraction_ML_Syntax.MLTY_Named ([], p) when - let uu____6274 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6274 = "Prims.bool" -> TBool - | FStar_Extraction_ML_Syntax.MLTY_Named ([], ("FStar"::m::[], "t")) - when is_machine_int m -> - let uu____6291 = FStar_Util.must (mk_width m) in TInt uu____6291 - | FStar_Extraction_ML_Syntax.MLTY_Named ([], ("FStar"::m::[], "t'")) - when is_machine_int m -> - let uu____6305 = FStar_Util.must (mk_width m) in TInt uu____6305 - | FStar_Extraction_ML_Syntax.MLTY_Named (arg::[], p) when - let uu____6310 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6310 = "FStar.Monotonic.HyperStack.mem" -> TUnit + let uu____6283 = find_t env name in TBound uu____6283 + | FStar_Extraction_ML_Syntax.MLTY_Fun (t1,uu____6286,t2) -> + let uu____6288 = + let uu____6293 = translate_type env t1 in + let uu____6294 = translate_type env t2 in + (uu____6293, uu____6294) in + TArrow uu____6288 + | FStar_Extraction_ML_Syntax.MLTY_Erased -> TUnit + | FStar_Extraction_ML_Syntax.MLTY_Named ([],p) when + let uu____6298 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6298 = "Prims.unit" -> TUnit + | FStar_Extraction_ML_Syntax.MLTY_Named ([],p) when + let uu____6305 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6305 = "Prims.bool" -> TBool + | FStar_Extraction_ML_Syntax.MLTY_Named ([],("FStar"::m::[],"t")) when + is_machine_int m -> + let uu____6322 = FStar_Util.must (mk_width m) in TInt uu____6322 + | FStar_Extraction_ML_Syntax.MLTY_Named ([],("FStar"::m::[],"t'")) when + is_machine_int m -> + let uu____6336 = FStar_Util.must (mk_width m) in TInt uu____6336 + | FStar_Extraction_ML_Syntax.MLTY_Named (arg::[],p) when + let uu____6341 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6341 = "FStar.Monotonic.HyperStack.mem" -> TUnit | FStar_Extraction_ML_Syntax.MLTY_Named - (uu____6314::arg::uu____6316::[], p) when - (((let uu____6322 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6322 = "FStar.Monotonic.HyperStack.s_mref") || - (let uu____6327 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6327 = "FStar.Monotonic.HyperHeap.mrref")) + (uu____6345::arg::uu____6347::[],p) when + (((let uu____6353 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6353 = "FStar.Monotonic.HyperStack.s_mref") || + (let uu____6358 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6358 = "FStar.Monotonic.HyperHeap.mrref")) || - (let uu____6332 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6332 = "FStar.HyperStack.ST.m_rref")) + (let uu____6363 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6363 = "FStar.HyperStack.ST.m_rref")) || - (let uu____6337 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6337 = "FStar.HyperStack.ST.s_mref") - -> let uu____6341 = translate_type env arg in TBuf uu____6341 - | FStar_Extraction_ML_Syntax.MLTY_Named (arg::uu____6343::[], p) when - ((((((((((let uu____6349 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6349 = "FStar.Monotonic.HyperStack.mreference") || - (let uu____6354 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6354 = "FStar.Monotonic.HyperStack.mstackref")) + (let uu____6368 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6368 = "FStar.HyperStack.ST.s_mref") + -> let uu____6372 = translate_type env arg in TBuf uu____6372 + | FStar_Extraction_ML_Syntax.MLTY_Named (arg::uu____6374::[],p) when + ((((((((((let uu____6380 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6380 = "FStar.Monotonic.HyperStack.mreference") || + (let uu____6385 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6385 = "FStar.Monotonic.HyperStack.mstackref")) || - (let uu____6359 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6359 = "FStar.Monotonic.HyperStack.mref")) + (let uu____6390 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6390 = "FStar.Monotonic.HyperStack.mref")) || - (let uu____6364 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6364 = "FStar.Monotonic.HyperStack.mmmstackref")) + (let uu____6395 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6395 = "FStar.Monotonic.HyperStack.mmmstackref")) || - (let uu____6369 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6369 = "FStar.Monotonic.HyperStack.mmmref")) + (let uu____6400 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6400 = "FStar.Monotonic.HyperStack.mmmref")) || - (let uu____6374 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6374 = "FStar.Monotonic.Heap.mref")) + (let uu____6405 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6405 = "FStar.Monotonic.Heap.mref")) || - (let uu____6379 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6379 = "FStar.HyperStack.ST.mreference")) + (let uu____6410 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6410 = "FStar.HyperStack.ST.mreference")) || - (let uu____6384 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6384 = "FStar.HyperStack.ST.mstackref")) + (let uu____6415 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6415 = "FStar.HyperStack.ST.mstackref")) || - (let uu____6389 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6389 = "FStar.HyperStack.ST.mref")) + (let uu____6420 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6420 = "FStar.HyperStack.ST.mref")) || - (let uu____6394 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6394 = "FStar.HyperStack.ST.mmmstackref")) + (let uu____6425 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6425 = "FStar.HyperStack.ST.mmmstackref")) || - (let uu____6399 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6399 = "FStar.HyperStack.ST.mmmref") - -> let uu____6403 = translate_type env arg in TBuf uu____6403 + (let uu____6430 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6430 = "FStar.HyperStack.ST.mmmref") + -> let uu____6434 = translate_type env arg in TBuf uu____6434 | FStar_Extraction_ML_Syntax.MLTY_Named - (arg::uu____6405::uu____6406::[], p) when - let uu____6410 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6410 = "LowStar.Monotonic.Buffer.mbuffer" -> - let uu____6414 = translate_type env arg in TBuf uu____6414 - | FStar_Extraction_ML_Syntax.MLTY_Named (arg::[], p) when - (((((((((((((let uu____6421 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6421 = "FStar.Buffer.buffer") || - (let uu____6426 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6426 = "LowStar.Buffer.buffer")) + (arg::uu____6436::uu____6437::[],p) when + let uu____6441 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6441 = "LowStar.Monotonic.Buffer.mbuffer" -> + let uu____6445 = translate_type env arg in TBuf uu____6445 + | FStar_Extraction_ML_Syntax.MLTY_Named (arg::[],p) when + let uu____6450 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6450 = "LowStar.ConstBuffer.const_buffer" -> + let uu____6454 = translate_type env arg in TBuf uu____6454 + | FStar_Extraction_ML_Syntax.MLTY_Named (arg::[],p) when + (((((((((((((let uu____6461 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6461 = "FStar.Buffer.buffer") || + (let uu____6466 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6466 = "LowStar.Buffer.buffer")) || - (let uu____6431 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6431 = "LowStar.ImmutableBuffer.ibuffer")) + (let uu____6471 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6471 = "LowStar.ImmutableBuffer.ibuffer")) || - (let uu____6436 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6436 = "LowStar.UninitializedBuffer.ubuffer")) + (let uu____6476 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6476 = "LowStar.UninitializedBuffer.ubuffer")) || - (let uu____6441 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6441 = "FStar.HyperStack.reference")) + (let uu____6481 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6481 = "FStar.HyperStack.reference")) || - (let uu____6446 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6446 = "FStar.HyperStack.stackref")) + (let uu____6486 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6486 = "FStar.HyperStack.stackref")) || - (let uu____6451 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6451 = "FStar.HyperStack.ref")) + (let uu____6491 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6491 = "FStar.HyperStack.ref")) || - (let uu____6456 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6456 = "FStar.HyperStack.mmstackref")) + (let uu____6496 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6496 = "FStar.HyperStack.mmstackref")) || - (let uu____6461 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6461 = "FStar.HyperStack.mmref")) + (let uu____6501 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6501 = "FStar.HyperStack.mmref")) || - (let uu____6466 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6466 = "FStar.HyperStack.ST.reference")) + (let uu____6506 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6506 = "FStar.HyperStack.ST.reference")) || - (let uu____6471 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6471 = "FStar.HyperStack.ST.stackref")) + (let uu____6511 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6511 = "FStar.HyperStack.ST.stackref")) || - (let uu____6476 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6476 = "FStar.HyperStack.ST.ref")) + (let uu____6516 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6516 = "FStar.HyperStack.ST.ref")) || - (let uu____6481 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6481 = "FStar.HyperStack.ST.mmstackref")) + (let uu____6521 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6521 = "FStar.HyperStack.ST.mmstackref")) || - (let uu____6486 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6486 = "FStar.HyperStack.ST.mmref") - -> let uu____6490 = translate_type env arg in TBuf uu____6490 - | FStar_Extraction_ML_Syntax.MLTY_Named (uu____6491::arg::[], p) when - (let uu____6498 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6498 = "FStar.HyperStack.s_ref") || - (let uu____6503 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6503 = "FStar.HyperStack.ST.s_ref") - -> let uu____6507 = translate_type env arg in TBuf uu____6507 - | FStar_Extraction_ML_Syntax.MLTY_Named (uu____6508::[], p) when - let uu____6512 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6512 = "FStar.Ghost.erased" -> TAny - | FStar_Extraction_ML_Syntax.MLTY_Named ([], (path, type_name)) -> + (let uu____6526 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6526 = "FStar.HyperStack.ST.mmref") + -> let uu____6530 = translate_type env arg in TBuf uu____6530 + | FStar_Extraction_ML_Syntax.MLTY_Named (uu____6531::arg::[],p) when + (let uu____6538 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6538 = "FStar.HyperStack.s_ref") || + (let uu____6543 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6543 = "FStar.HyperStack.ST.s_ref") + -> let uu____6547 = translate_type env arg in TBuf uu____6547 + | FStar_Extraction_ML_Syntax.MLTY_Named (uu____6548::[],p) when + let uu____6552 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6552 = "FStar.Ghost.erased" -> TAny + | FStar_Extraction_ML_Syntax.MLTY_Named ([],(path,type_name)) -> TQualified (path, type_name) - | FStar_Extraction_ML_Syntax.MLTY_Named (args, (ns, t1)) when + | FStar_Extraction_ML_Syntax.MLTY_Named (args,(ns,t1)) when ((ns = ["Prims"]) || (ns = ["FStar"; "Pervasives"; "Native"])) && (FStar_Util.starts_with t1 "tuple") -> - let uu____6564 = FStar_List.map (translate_type env) args in - TTuple uu____6564 - | FStar_Extraction_ML_Syntax.MLTY_Named (args, lid) -> + let uu____6604 = FStar_List.map (translate_type env) args in + TTuple uu____6604 + | FStar_Extraction_ML_Syntax.MLTY_Named (args,lid) -> if (FStar_List.length args) > (Prims.parse_int "0") then - let uu____6575 = - let uu____6590 = FStar_List.map (translate_type env) args in - (lid, uu____6590) in - TApp uu____6575 + let uu____6615 = + let uu____6630 = FStar_List.map (translate_type env) args in + (lid, uu____6630) in + TApp uu____6615 else TQualified lid | FStar_Extraction_ML_Syntax.MLTY_Tuple ts -> - let uu____6608 = FStar_List.map (translate_type env) ts in - TTuple uu____6608 + let uu____6648 = FStar_List.map (translate_type env) ts in + TTuple uu____6648 + and (translate_binders : env -> (FStar_Extraction_ML_Syntax.mlident * FStar_Extraction_ML_Syntax.mlty) Prims.list -> binder Prims.list) - = fun env -> fun args -> FStar_List.map (translate_binder env) args + = fun env -> fun args -> FStar_List.map (translate_binder env) args + and (translate_binder : env -> (FStar_Extraction_ML_Syntax.mlident * FStar_Extraction_ML_Syntax.mlty) -> binder) = - fun env -> - fun uu____6626 -> - match uu____6626 with - | (name, typ) -> - let uu____6636 = translate_type env typ in - { name; typ = uu____6636; mut = false } + fun env -> + fun uu____6666 -> + match uu____6666 with + | (name,typ) -> + let uu____6676 = translate_type env typ in + { name; typ = uu____6676; mut = false } + and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = - fun env -> - fun e -> + fun env -> + fun e -> match e.FStar_Extraction_ML_Syntax.expr with | FStar_Extraction_ML_Syntax.MLE_Tuple [] -> EUnit | FStar_Extraction_ML_Syntax.MLE_Const c -> translate_constant c | FStar_Extraction_ML_Syntax.MLE_Var name -> - let uu____6643 = find env name in EBound uu____6643 - | FStar_Extraction_ML_Syntax.MLE_Name ("FStar"::m::[], op) when + let uu____6683 = find env name in EBound uu____6683 + | FStar_Extraction_ML_Syntax.MLE_Name ("FStar"::m::[],op) when (is_machine_int m) && (is_op op) -> - let uu____6657 = - let uu____6662 = FStar_Util.must (mk_op op) in - let uu____6663 = FStar_Util.must (mk_width m) in - (uu____6662, uu____6663) in - EOp uu____6657 - | FStar_Extraction_ML_Syntax.MLE_Name ("Prims"::[], op) when + let uu____6697 = + let uu____6702 = FStar_Util.must (mk_op op) in + let uu____6703 = FStar_Util.must (mk_width m) in + (uu____6702, uu____6703) in + EOp uu____6697 + | FStar_Extraction_ML_Syntax.MLE_Name ("Prims"::[],op) when is_bool_op op -> - let uu____6673 = - let uu____6678 = FStar_Util.must (mk_bool_op op) in - (uu____6678, Bool) in - EOp uu____6673 + let uu____6713 = + let uu____6718 = FStar_Util.must (mk_bool_op op) in + (uu____6718, Bool) in + EOp uu____6713 | FStar_Extraction_ML_Syntax.MLE_Name n1 -> EQualified n1 | FStar_Extraction_ML_Syntax.MLE_Let - ((flavor, - { FStar_Extraction_ML_Syntax.mllb_name = name; - FStar_Extraction_ML_Syntax.mllb_tysc = - FStar_Pervasives_Native.Some ([], typ); - FStar_Extraction_ML_Syntax.mllb_add_unit = add_unit; - FStar_Extraction_ML_Syntax.mllb_def = body; - FStar_Extraction_ML_Syntax.mllb_meta = flags; - FStar_Extraction_ML_Syntax.print_typ = print7;_}::[]), - continuation) + ((flavor,{ FStar_Extraction_ML_Syntax.mllb_name = name; + FStar_Extraction_ML_Syntax.mllb_tysc = + FStar_Pervasives_Native.Some ([],typ); + FStar_Extraction_ML_Syntax.mllb_add_unit = add_unit; + FStar_Extraction_ML_Syntax.mllb_def = body; + FStar_Extraction_ML_Syntax.mllb_meta = flags; + FStar_Extraction_ML_Syntax.print_typ = print7;_}::[]),continuation) -> let binder = - let uu____6701 = translate_type env typ in - { name; typ = uu____6701; mut = false } in - let body1 = translate_expr env body in - let env1 = extend env name in - let continuation1 = translate_expr env1 continuation in + let uu____6741 = translate_type env typ in + { name; typ = uu____6741; mut = false } in + let body1 = translate_expr env body in + let env1 = extend env name in + let continuation1 = translate_expr env1 continuation in ELet (binder, body1, continuation1) - | FStar_Extraction_ML_Syntax.MLE_Match (expr, branches) -> - let uu____6728 = - let uu____6739 = translate_expr env expr in - let uu____6740 = translate_branches env branches in - (uu____6739, uu____6740) in - EMatch uu____6728 + | FStar_Extraction_ML_Syntax.MLE_Match (expr,branches) -> + let uu____6768 = + let uu____6779 = translate_expr env expr in + let uu____6780 = translate_branches env branches in + (uu____6779, uu____6780) in + EMatch uu____6768 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1448,19 +1644,18 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____6754; - FStar_Extraction_ML_Syntax.loc = uu____6755;_}, - t::[]); - FStar_Extraction_ML_Syntax.mlty = uu____6757; - FStar_Extraction_ML_Syntax.loc = uu____6758;_}, - arg::[]) + FStar_Extraction_ML_Syntax.mlty = uu____6794; + FStar_Extraction_ML_Syntax.loc = uu____6795;_},t::[]); + FStar_Extraction_ML_Syntax.mlty = uu____6797; + FStar_Extraction_ML_Syntax.loc = uu____6798;_},arg::[]) when - let uu____6764 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6764 = "FStar.Dyn.undyn" -> - let uu____6768 = - let uu____6773 = translate_expr env arg in - let uu____6774 = translate_type env t in (uu____6773, uu____6774) in - ECast uu____6768 + let uu____6804 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6804 = "FStar.Dyn.undyn" -> + let uu____6808 = + let uu____6813 = translate_expr env arg in + let uu____6814 = translate_type env t in + (uu____6813, uu____6814) in + ECast uu____6808 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1468,15 +1663,13 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____6776; - FStar_Extraction_ML_Syntax.loc = uu____6777;_}, - uu____6778); - FStar_Extraction_ML_Syntax.mlty = uu____6779; - FStar_Extraction_ML_Syntax.loc = uu____6780;_}, - uu____6781) + FStar_Extraction_ML_Syntax.mlty = uu____6816; + FStar_Extraction_ML_Syntax.loc = uu____6817;_},uu____6818); + FStar_Extraction_ML_Syntax.mlty = uu____6819; + FStar_Extraction_ML_Syntax.loc = uu____6820;_},uu____6821) when - let uu____6790 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6790 = "Prims.admit" -> EAbort + let uu____6830 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6830 = "Prims.admit" -> EAbort | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1484,44 +1677,49 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____6795; - FStar_Extraction_ML_Syntax.loc = uu____6796;_}, - uu____6797); - FStar_Extraction_ML_Syntax.mlty = uu____6798; - FStar_Extraction_ML_Syntax.loc = uu____6799;_}, - arg::[]) + FStar_Extraction_ML_Syntax.mlty = uu____6835; + FStar_Extraction_ML_Syntax.loc = uu____6836;_},uu____6837); + FStar_Extraction_ML_Syntax.mlty = uu____6838; + FStar_Extraction_ML_Syntax.loc = uu____6839;_},arg::[]) when - ((let uu____6809 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6809 = "FStar.HyperStack.All.failwith") || - (let uu____6814 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6814 = "FStar.Error.unexpected")) + ((let uu____6849 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6849 = "FStar.HyperStack.All.failwith") || + (let uu____6854 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6854 = "FStar.Error.unexpected")) || - (let uu____6819 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6819 = "FStar.Error.unreachable") + (let uu____6859 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6859 = "FStar.Error.unreachable") -> (match arg with | { FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Const (FStar_Extraction_ML_Syntax.MLC_String msg); - FStar_Extraction_ML_Syntax.mlty = uu____6824; - FStar_Extraction_ML_Syntax.loc = uu____6825;_} -> EAbortS msg - | uu____6827 -> + FStar_Extraction_ML_Syntax.mlty = uu____6864; + FStar_Extraction_ML_Syntax.loc = uu____6865;_} -> EAbortS msg + | uu____6867 -> let print7 = - let uu____6829 = - let uu____6830 = - let uu____6831 = + let uu____6869 = + let uu____6870 = + let uu____6871 = FStar_Ident.lid_of_str - "FStar.HyperStack.IO.print_string" in - FStar_Extraction_ML_Syntax.mlpath_of_lident uu____6831 in - FStar_Extraction_ML_Syntax.MLE_Name uu____6830 in + "FStar.HyperStack.IO.print_string" + in + FStar_Extraction_ML_Syntax.mlpath_of_lident uu____6871 + in + FStar_Extraction_ML_Syntax.MLE_Name uu____6870 in FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top uu____6829 in + FStar_Extraction_ML_Syntax.MLTY_Top uu____6869 + in let print8 = FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top - (FStar_Extraction_ML_Syntax.MLE_App (print7, [arg])) in - let t = translate_expr env print8 in ESequence [t; EAbort]) + (FStar_Extraction_ML_Syntax.MLE_App (print7, [arg])) + in + let t = translate_expr env print8 in ESequence [t; EAbort]) | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1529,17 +1727,16 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____6838; - FStar_Extraction_ML_Syntax.loc = uu____6839;_}, - uu____6840); - FStar_Extraction_ML_Syntax.mlty = uu____6841; - FStar_Extraction_ML_Syntax.loc = uu____6842;_}, - e1::[]) + FStar_Extraction_ML_Syntax.mlty = uu____6878; + FStar_Extraction_ML_Syntax.loc = uu____6879;_},uu____6880); + FStar_Extraction_ML_Syntax.mlty = uu____6881; + FStar_Extraction_ML_Syntax.loc = uu____6882;_},e1::[]) when - (let uu____6852 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6852 = "LowStar.ToFStarBuffer.new_to_old_st") || - (let uu____6857 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6857 = "LowStar.ToFStarBuffer.old_to_new_st") + (let uu____6892 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6892 = "LowStar.ToFStarBuffer.new_to_old_st") || + (let uu____6897 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6897 = "LowStar.ToFStarBuffer.old_to_new_st") -> translate_expr env e1 | FStar_Extraction_ML_Syntax.MLE_App ({ @@ -1548,29 +1745,35 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____6862; - FStar_Extraction_ML_Syntax.loc = uu____6863;_}, - uu____6864); - FStar_Extraction_ML_Syntax.mlty = uu____6865; - FStar_Extraction_ML_Syntax.loc = uu____6866;_}, - e1::e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____6902; + FStar_Extraction_ML_Syntax.loc = uu____6903;_},uu____6904); + FStar_Extraction_ML_Syntax.mlty = uu____6905; + FStar_Extraction_ML_Syntax.loc = uu____6906;_},e1::e2::[]) when - (((let uu____6877 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6877 = "FStar.Buffer.index") || - (let uu____6882 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6882 = "FStar.Buffer.op_Array_Access")) + ((((let uu____6917 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6917 = "FStar.Buffer.index") || + (let uu____6922 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6922 = "FStar.Buffer.op_Array_Access")) + || + (let uu____6927 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6927 = "LowStar.Monotonic.Buffer.index")) || - (let uu____6887 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6887 = "LowStar.Monotonic.Buffer.index")) + (let uu____6932 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6932 = "LowStar.UninitializedBuffer.uindex")) || - (let uu____6892 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6892 = "LowStar.UninitializedBuffer.uindex") + (let uu____6937 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6937 = "LowStar.ConstBuffer.index") -> - let uu____6896 = - let uu____6901 = translate_expr env e1 in - let uu____6902 = translate_expr env e2 in - (uu____6901, uu____6902) in - EBufRead uu____6896 + let uu____6941 = + let uu____6946 = translate_expr env e1 in + let uu____6947 = translate_expr env e2 in + (uu____6946, uu____6947) in + EBufRead uu____6941 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1578,19 +1781,17 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____6904; - FStar_Extraction_ML_Syntax.loc = uu____6905;_}, - uu____6906); - FStar_Extraction_ML_Syntax.mlty = uu____6907; - FStar_Extraction_ML_Syntax.loc = uu____6908;_}, - e1::[]) + FStar_Extraction_ML_Syntax.mlty = uu____6949; + FStar_Extraction_ML_Syntax.loc = uu____6950;_},uu____6951); + FStar_Extraction_ML_Syntax.mlty = uu____6952; + FStar_Extraction_ML_Syntax.loc = uu____6953;_},e1::[]) when - let uu____6916 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6916 = "FStar.HyperStack.ST.op_Bang" -> - let uu____6920 = - let uu____6925 = translate_expr env e1 in - (uu____6925, (EConstant (UInt32, "0"))) in - EBufRead uu____6920 + let uu____6961 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____6961 = "FStar.HyperStack.ST.op_Bang" -> + let uu____6965 = + let uu____6970 = translate_expr env e1 in + (uu____6970, (EConstant (UInt32, "0"))) in + EBufRead uu____6965 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1598,26 +1799,27 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____6929; - FStar_Extraction_ML_Syntax.loc = uu____6930;_}, - uu____6931); - FStar_Extraction_ML_Syntax.mlty = uu____6932; - FStar_Extraction_ML_Syntax.loc = uu____6933;_}, - e1::e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____6974; + FStar_Extraction_ML_Syntax.loc = uu____6975;_},uu____6976); + FStar_Extraction_ML_Syntax.mlty = uu____6977; + FStar_Extraction_ML_Syntax.loc = uu____6978;_},e1::e2::[]) when - ((let uu____6944 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6944 = "FStar.Buffer.create") || - (let uu____6949 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6949 = "LowStar.Monotonic.Buffer.malloca")) + ((let uu____6989 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6989 = "FStar.Buffer.create") || + (let uu____6994 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6994 = "LowStar.Monotonic.Buffer.malloca")) || - (let uu____6954 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6954 = "LowStar.ImmutableBuffer.ialloca") + (let uu____6999 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____6999 = "LowStar.ImmutableBuffer.ialloca") -> - let uu____6958 = - let uu____6965 = translate_expr env e1 in - let uu____6966 = translate_expr env e2 in - (Stack, uu____6965, uu____6966) in - EBufCreate uu____6958 + let uu____7003 = + let uu____7010 = translate_expr env e1 in + let uu____7011 = translate_expr env e2 in + (Stack, uu____7010, uu____7011) in + EBufCreate uu____7003 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1625,18 +1827,17 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____6968; - FStar_Extraction_ML_Syntax.loc = uu____6969;_}, - uu____6970); - FStar_Extraction_ML_Syntax.mlty = uu____6971; - FStar_Extraction_ML_Syntax.loc = uu____6972;_}, - elen::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7013; + FStar_Extraction_ML_Syntax.loc = uu____7014;_},uu____7015); + FStar_Extraction_ML_Syntax.mlty = uu____7016; + FStar_Extraction_ML_Syntax.loc = uu____7017;_},elen::[]) when - let uu____6980 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____6980 = "LowStar.UninitializedBuffer.ualloca" -> - let uu____6984 = - let uu____6989 = translate_expr env elen in (Stack, uu____6989) in - EBufCreateNoInit uu____6984 + let uu____7025 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7025 = "LowStar.UninitializedBuffer.ualloca" -> + let uu____7029 = + let uu____7034 = translate_expr env elen in (Stack, uu____7034) + in + EBufCreateNoInit uu____7029 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1644,19 +1845,17 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____6991; - FStar_Extraction_ML_Syntax.loc = uu____6992;_}, - uu____6993); - FStar_Extraction_ML_Syntax.mlty = uu____6994; - FStar_Extraction_ML_Syntax.loc = uu____6995;_}, - init1::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7036; + FStar_Extraction_ML_Syntax.loc = uu____7037;_},uu____7038); + FStar_Extraction_ML_Syntax.mlty = uu____7039; + FStar_Extraction_ML_Syntax.loc = uu____7040;_},init1::[]) when - let uu____7003 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7003 = "FStar.HyperStack.ST.salloc" -> - let uu____7007 = - let uu____7014 = translate_expr env init1 in - (Stack, uu____7014, (EConstant (UInt32, "1"))) in - EBufCreate uu____7007 + let uu____7048 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7048 = "FStar.HyperStack.ST.salloc" -> + let uu____7052 = + let uu____7059 = translate_expr env init1 in + (Stack, uu____7059, (EConstant (UInt32, "1"))) in + EBufCreate uu____7052 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1664,27 +1863,28 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7018; - FStar_Extraction_ML_Syntax.loc = uu____7019;_}, - uu____7020); - FStar_Extraction_ML_Syntax.mlty = uu____7021; - FStar_Extraction_ML_Syntax.loc = uu____7022;_}, - e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7063; + FStar_Extraction_ML_Syntax.loc = uu____7064;_},uu____7065); + FStar_Extraction_ML_Syntax.mlty = uu____7066; + FStar_Extraction_ML_Syntax.loc = uu____7067;_},e2::[]) when - ((let uu____7032 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7032 = "FStar.Buffer.createL") || - (let uu____7037 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7037 = "LowStar.Monotonic.Buffer.malloca_of_list")) + ((let uu____7077 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7077 = "FStar.Buffer.createL") || + (let uu____7082 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7082 = "LowStar.Monotonic.Buffer.malloca_of_list")) || - (let uu____7042 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7042 = "LowStar.ImmutableBuffer.ialloca_of_list") + (let uu____7087 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7087 = "LowStar.ImmutableBuffer.ialloca_of_list") -> - let uu____7046 = - let uu____7053 = - let uu____7056 = list_elements e2 in - FStar_List.map (translate_expr env) uu____7056 in - (Stack, uu____7053) in - EBufCreateL uu____7046 + let uu____7091 = + let uu____7098 = + let uu____7101 = list_elements e2 in + FStar_List.map (translate_expr env) uu____7101 in + (Stack, uu____7098) in + EBufCreateL uu____7091 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1692,24 +1892,23 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7062; - FStar_Extraction_ML_Syntax.loc = uu____7063;_}, - uu____7064); - FStar_Extraction_ML_Syntax.mlty = uu____7065; - FStar_Extraction_ML_Syntax.loc = uu____7066;_}, - _erid::e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7107; + FStar_Extraction_ML_Syntax.loc = uu____7108;_},uu____7109); + FStar_Extraction_ML_Syntax.mlty = uu____7110; + FStar_Extraction_ML_Syntax.loc = uu____7111;_},_erid::e2::[]) when - (let uu____7077 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7077 = "LowStar.Monotonic.Buffer.mgcmalloc_of_list") || - (let uu____7082 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7082 = "LowStar.ImmutableBuffer.igcmalloc_of_list") + (let uu____7122 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7122 = "LowStar.Monotonic.Buffer.mgcmalloc_of_list") || + (let uu____7127 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7127 = "LowStar.ImmutableBuffer.igcmalloc_of_list") -> - let uu____7086 = - let uu____7093 = - let uu____7096 = list_elements e2 in - FStar_List.map (translate_expr env) uu____7096 in - (Eternal, uu____7093) in - EBufCreateL uu____7086 + let uu____7131 = + let uu____7138 = + let uu____7141 = list_elements e2 in + FStar_List.map (translate_expr env) uu____7141 in + (Eternal, uu____7138) in + EBufCreateL uu____7131 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1717,19 +1916,17 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7102; - FStar_Extraction_ML_Syntax.loc = uu____7103;_}, - uu____7104); - FStar_Extraction_ML_Syntax.mlty = uu____7105; - FStar_Extraction_ML_Syntax.loc = uu____7106;_}, - _rid::init1::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7147; + FStar_Extraction_ML_Syntax.loc = uu____7148;_},uu____7149); + FStar_Extraction_ML_Syntax.mlty = uu____7150; + FStar_Extraction_ML_Syntax.loc = uu____7151;_},_rid::init1::[]) when - let uu____7115 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7115 = "FStar.HyperStack.ST.ralloc" -> - let uu____7119 = - let uu____7126 = translate_expr env init1 in - (Eternal, uu____7126, (EConstant (UInt32, "1"))) in - EBufCreate uu____7119 + let uu____7160 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7160 = "FStar.HyperStack.ST.ralloc" -> + let uu____7164 = + let uu____7171 = translate_expr env init1 in + (Eternal, uu____7171, (EConstant (UInt32, "1"))) in + EBufCreate uu____7164 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1737,26 +1934,64 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7130; - FStar_Extraction_ML_Syntax.loc = uu____7131;_}, - uu____7132); - FStar_Extraction_ML_Syntax.mlty = uu____7133; - FStar_Extraction_ML_Syntax.loc = uu____7134;_}, - _e0::e1::e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7175; + FStar_Extraction_ML_Syntax.loc = uu____7176;_},uu____7177); + FStar_Extraction_ML_Syntax.mlty = uu____7178; + FStar_Extraction_ML_Syntax.loc = uu____7179;_},_e0::e1::e2::[]) when - ((let uu____7146 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7146 = "FStar.Buffer.rcreate") || - (let uu____7151 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7151 = "LowStar.Monotonic.Buffer.mgcmalloc")) + ((let uu____7191 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7191 = "FStar.Buffer.rcreate") || + (let uu____7196 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7196 = "LowStar.Monotonic.Buffer.mgcmalloc")) + || + (let uu____7201 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7201 = "LowStar.ImmutableBuffer.igcmalloc") + -> + let uu____7205 = + let uu____7212 = translate_expr env e1 in + let uu____7213 = translate_expr env e2 in + (Eternal, uu____7212, uu____7213) in + EBufCreate uu____7205 + | FStar_Extraction_ML_Syntax.MLE_App + ({ + FStar_Extraction_ML_Syntax.expr = + FStar_Extraction_ML_Syntax.MLE_TApp + ({ + FStar_Extraction_ML_Syntax.expr = + FStar_Extraction_ML_Syntax.MLE_Name p; + FStar_Extraction_ML_Syntax.mlty = uu____7215; + FStar_Extraction_ML_Syntax.loc = uu____7216;_},uu____7217); + FStar_Extraction_ML_Syntax.mlty = uu____7218; + FStar_Extraction_ML_Syntax.loc = uu____7219;_},uu____7220) + when + (((((let uu____7231 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7231 = "LowStar.Monotonic.Buffer.mgcmalloc_and_blit") || + (let uu____7236 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7236 = "LowStar.Monotonic.Buffer.mmalloc_and_blit")) + || + (let uu____7241 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7241 = "LowStar.Monotonic.Buffer.malloca_and_blit")) + || + (let uu____7246 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7246 = "LowStar.ImmutableBuffer.igcmalloc_and_blit")) + || + (let uu____7251 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7251 = "LowStar.ImmutableBuffer.imalloc_and_blit")) || - (let uu____7156 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7156 = "LowStar.ImmutableBuffer.igcmalloc") + (let uu____7256 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7256 = "LowStar.ImmutableBuffer.ialloca_and_blit") -> - let uu____7160 = - let uu____7167 = translate_expr env e1 in - let uu____7168 = translate_expr env e2 in - (Eternal, uu____7167, uu____7168) in - EBufCreate uu____7160 + EAbortS + "alloc_and_blit family of functions are not yet supported downstream" | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1764,18 +1999,17 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7170; - FStar_Extraction_ML_Syntax.loc = uu____7171;_}, - uu____7172); - FStar_Extraction_ML_Syntax.mlty = uu____7173; - FStar_Extraction_ML_Syntax.loc = uu____7174;_}, - _erid::elen::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7262; + FStar_Extraction_ML_Syntax.loc = uu____7263;_},uu____7264); + FStar_Extraction_ML_Syntax.mlty = uu____7265; + FStar_Extraction_ML_Syntax.loc = uu____7266;_},_erid::elen::[]) when - let uu____7183 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7183 = "LowStar.UninitializedBuffer.ugcmalloc" -> - let uu____7187 = - let uu____7192 = translate_expr env elen in (Eternal, uu____7192) in - EBufCreateNoInit uu____7187 + let uu____7275 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7275 = "LowStar.UninitializedBuffer.ugcmalloc" -> + let uu____7279 = + let uu____7284 = translate_expr env elen in + (Eternal, uu____7284) in + EBufCreateNoInit uu____7279 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1783,19 +2017,17 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7194; - FStar_Extraction_ML_Syntax.loc = uu____7195;_}, - uu____7196); - FStar_Extraction_ML_Syntax.mlty = uu____7197; - FStar_Extraction_ML_Syntax.loc = uu____7198;_}, - _rid::init1::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7286; + FStar_Extraction_ML_Syntax.loc = uu____7287;_},uu____7288); + FStar_Extraction_ML_Syntax.mlty = uu____7289; + FStar_Extraction_ML_Syntax.loc = uu____7290;_},_rid::init1::[]) when - let uu____7207 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7207 = "FStar.HyperStack.ST.ralloc_mm" -> - let uu____7211 = - let uu____7218 = translate_expr env init1 in - (ManuallyManaged, uu____7218, (EConstant (UInt32, "1"))) in - EBufCreate uu____7211 + let uu____7299 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7299 = "FStar.HyperStack.ST.ralloc_mm" -> + let uu____7303 = + let uu____7310 = translate_expr env init1 in + (ManuallyManaged, uu____7310, (EConstant (UInt32, "1"))) in + EBufCreate uu____7303 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1803,29 +2035,31 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7222; - FStar_Extraction_ML_Syntax.loc = uu____7223;_}, - uu____7224); - FStar_Extraction_ML_Syntax.mlty = uu____7225; - FStar_Extraction_ML_Syntax.loc = uu____7226;_}, - _e0::e1::e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7314; + FStar_Extraction_ML_Syntax.loc = uu____7315;_},uu____7316); + FStar_Extraction_ML_Syntax.mlty = uu____7317; + FStar_Extraction_ML_Syntax.loc = uu____7318;_},_e0::e1::e2::[]) when - (((let uu____7238 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7238 = "FStar.Buffer.rcreate_mm") || - (let uu____7243 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7243 = "LowStar.Monotonic.Buffer.mmalloc")) + (((let uu____7330 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7330 = "FStar.Buffer.rcreate_mm") || + (let uu____7335 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7335 = "LowStar.Monotonic.Buffer.mmalloc")) || - (let uu____7248 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7248 = "LowStar.Monotonic.Buffer.mmalloc")) + (let uu____7340 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7340 = "LowStar.Monotonic.Buffer.mmalloc")) || - (let uu____7253 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7253 = "LowStar.ImmutableBuffer.imalloc") + (let uu____7345 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7345 = "LowStar.ImmutableBuffer.imalloc") -> - let uu____7257 = - let uu____7264 = translate_expr env e1 in - let uu____7265 = translate_expr env e2 in - (ManuallyManaged, uu____7264, uu____7265) in - EBufCreate uu____7257 + let uu____7349 = + let uu____7356 = translate_expr env e1 in + let uu____7357 = translate_expr env e2 in + (ManuallyManaged, uu____7356, uu____7357) in + EBufCreate uu____7349 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1833,19 +2067,17 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7267; - FStar_Extraction_ML_Syntax.loc = uu____7268;_}, - uu____7269); - FStar_Extraction_ML_Syntax.mlty = uu____7270; - FStar_Extraction_ML_Syntax.loc = uu____7271;_}, - _erid::elen::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7359; + FStar_Extraction_ML_Syntax.loc = uu____7360;_},uu____7361); + FStar_Extraction_ML_Syntax.mlty = uu____7362; + FStar_Extraction_ML_Syntax.loc = uu____7363;_},_erid::elen::[]) when - let uu____7280 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7280 = "LowStar.UninitializedBuffer.umalloc" -> - let uu____7284 = - let uu____7289 = translate_expr env elen in - (ManuallyManaged, uu____7289) in - EBufCreateNoInit uu____7284 + let uu____7372 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7372 = "LowStar.UninitializedBuffer.umalloc" -> + let uu____7376 = + let uu____7381 = translate_expr env elen in + (ManuallyManaged, uu____7381) in + EBufCreateNoInit uu____7376 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1853,16 +2085,14 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7291; - FStar_Extraction_ML_Syntax.loc = uu____7292;_}, - uu____7293); - FStar_Extraction_ML_Syntax.mlty = uu____7294; - FStar_Extraction_ML_Syntax.loc = uu____7295;_}, - e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7383; + FStar_Extraction_ML_Syntax.loc = uu____7384;_},uu____7385); + FStar_Extraction_ML_Syntax.mlty = uu____7386; + FStar_Extraction_ML_Syntax.loc = uu____7387;_},e2::[]) when - let uu____7303 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7303 = "FStar.HyperStack.ST.rfree" -> - let uu____7307 = translate_expr env e2 in EBufFree uu____7307 + let uu____7395 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7395 = "FStar.HyperStack.ST.rfree" -> + let uu____7399 = translate_expr env e2 in EBufFree uu____7399 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1870,18 +2100,17 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7309; - FStar_Extraction_ML_Syntax.loc = uu____7310;_}, - uu____7311); - FStar_Extraction_ML_Syntax.mlty = uu____7312; - FStar_Extraction_ML_Syntax.loc = uu____7313;_}, - e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7401; + FStar_Extraction_ML_Syntax.loc = uu____7402;_},uu____7403); + FStar_Extraction_ML_Syntax.mlty = uu____7404; + FStar_Extraction_ML_Syntax.loc = uu____7405;_},e2::[]) when - (let uu____7323 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7323 = "FStar.Buffer.rfree") || - (let uu____7328 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7328 = "LowStar.Monotonic.Buffer.free") - -> let uu____7332 = translate_expr env e2 in EBufFree uu____7332 + (let uu____7415 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7415 = "FStar.Buffer.rfree") || + (let uu____7420 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7420 = "LowStar.Monotonic.Buffer.free") + -> let uu____7424 = translate_expr env e2 in EBufFree uu____7424 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1889,20 +2118,18 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7334; - FStar_Extraction_ML_Syntax.loc = uu____7335;_}, - uu____7336); - FStar_Extraction_ML_Syntax.mlty = uu____7337; - FStar_Extraction_ML_Syntax.loc = uu____7338;_}, - e1::e2::_e3::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7426; + FStar_Extraction_ML_Syntax.loc = uu____7427;_},uu____7428); + FStar_Extraction_ML_Syntax.mlty = uu____7429; + FStar_Extraction_ML_Syntax.loc = uu____7430;_},e1::e2::_e3::[]) when - let uu____7348 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7348 = "FStar.Buffer.sub" -> - let uu____7352 = - let uu____7357 = translate_expr env e1 in - let uu____7358 = translate_expr env e2 in - (uu____7357, uu____7358) in - EBufSub uu____7352 + let uu____7440 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7440 = "FStar.Buffer.sub" -> + let uu____7444 = + let uu____7449 = translate_expr env e1 in + let uu____7450 = translate_expr env e2 in + (uu____7449, uu____7450) in + EBufSub uu____7444 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1910,20 +2137,22 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7360; - FStar_Extraction_ML_Syntax.loc = uu____7361;_}, - uu____7362); - FStar_Extraction_ML_Syntax.mlty = uu____7363; - FStar_Extraction_ML_Syntax.loc = uu____7364;_}, - e1::e2::_e3::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7452; + FStar_Extraction_ML_Syntax.loc = uu____7453;_},uu____7454); + FStar_Extraction_ML_Syntax.mlty = uu____7455; + FStar_Extraction_ML_Syntax.loc = uu____7456;_},e1::e2::_e3::[]) when - let uu____7374 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7374 = "LowStar.Monotonic.Buffer.msub" -> - let uu____7378 = - let uu____7383 = translate_expr env e1 in - let uu____7384 = translate_expr env e2 in - (uu____7383, uu____7384) in - EBufSub uu____7378 + (let uu____7468 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7468 = "LowStar.Monotonic.Buffer.msub") || + (let uu____7473 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7473 = "LowStar.ConstBuffer.sub") + -> + let uu____7477 = + let uu____7482 = translate_expr env e1 in + let uu____7483 = translate_expr env e2 in + (uu____7482, uu____7483) in + EBufSub uu____7477 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1931,15 +2160,13 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7386; - FStar_Extraction_ML_Syntax.loc = uu____7387;_}, - uu____7388); - FStar_Extraction_ML_Syntax.mlty = uu____7389; - FStar_Extraction_ML_Syntax.loc = uu____7390;_}, - e1::e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7485; + FStar_Extraction_ML_Syntax.loc = uu____7486;_},uu____7487); + FStar_Extraction_ML_Syntax.mlty = uu____7488; + FStar_Extraction_ML_Syntax.loc = uu____7489;_},e1::e2::[]) when - let uu____7399 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7399 = "FStar.Buffer.join" -> translate_expr env e1 + let uu____7498 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7498 = "FStar.Buffer.join" -> translate_expr env e1 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1947,20 +2174,18 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7404; - FStar_Extraction_ML_Syntax.loc = uu____7405;_}, - uu____7406); - FStar_Extraction_ML_Syntax.mlty = uu____7407; - FStar_Extraction_ML_Syntax.loc = uu____7408;_}, - e1::e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7503; + FStar_Extraction_ML_Syntax.loc = uu____7504;_},uu____7505); + FStar_Extraction_ML_Syntax.mlty = uu____7506; + FStar_Extraction_ML_Syntax.loc = uu____7507;_},e1::e2::[]) when - let uu____7417 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7417 = "FStar.Buffer.offset" -> - let uu____7421 = - let uu____7426 = translate_expr env e1 in - let uu____7427 = translate_expr env e2 in - (uu____7426, uu____7427) in - EBufSub uu____7421 + let uu____7516 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7516 = "FStar.Buffer.offset" -> + let uu____7520 = + let uu____7525 = translate_expr env e1 in + let uu____7526 = translate_expr env e2 in + (uu____7525, uu____7526) in + EBufSub uu____7520 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1968,20 +2193,18 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7429; - FStar_Extraction_ML_Syntax.loc = uu____7430;_}, - uu____7431); - FStar_Extraction_ML_Syntax.mlty = uu____7432; - FStar_Extraction_ML_Syntax.loc = uu____7433;_}, - e1::e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7528; + FStar_Extraction_ML_Syntax.loc = uu____7529;_},uu____7530); + FStar_Extraction_ML_Syntax.mlty = uu____7531; + FStar_Extraction_ML_Syntax.loc = uu____7532;_},e1::e2::[]) when - let uu____7442 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7442 = "LowStar.Monotonic.Buffer.moffset" -> - let uu____7446 = - let uu____7451 = translate_expr env e1 in - let uu____7452 = translate_expr env e2 in - (uu____7451, uu____7452) in - EBufSub uu____7446 + let uu____7541 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7541 = "LowStar.Monotonic.Buffer.moffset" -> + let uu____7545 = + let uu____7550 = translate_expr env e1 in + let uu____7551 = translate_expr env e2 in + (uu____7550, uu____7551) in + EBufSub uu____7545 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -1989,30 +2212,32 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7454; - FStar_Extraction_ML_Syntax.loc = uu____7455;_}, - uu____7456); - FStar_Extraction_ML_Syntax.mlty = uu____7457; - FStar_Extraction_ML_Syntax.loc = uu____7458;_}, - e1::e2::e3::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7553; + FStar_Extraction_ML_Syntax.loc = uu____7554;_},uu____7555); + FStar_Extraction_ML_Syntax.mlty = uu____7556; + FStar_Extraction_ML_Syntax.loc = uu____7557;_},e1::e2::e3::[]) when - (((let uu____7470 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7470 = "FStar.Buffer.upd") || - (let uu____7475 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7475 = "FStar.Buffer.op_Array_Assignment")) + (((let uu____7569 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7569 = "FStar.Buffer.upd") || + (let uu____7574 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7574 = "FStar.Buffer.op_Array_Assignment")) || - (let uu____7480 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7480 = "LowStar.Monotonic.Buffer.upd'")) + (let uu____7579 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7579 = "LowStar.Monotonic.Buffer.upd'")) || - (let uu____7485 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7485 = "LowStar.UninitializedBuffer.uupd") + (let uu____7584 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7584 = "LowStar.UninitializedBuffer.uupd") -> - let uu____7489 = - let uu____7496 = translate_expr env e1 in - let uu____7497 = translate_expr env e2 in - let uu____7498 = translate_expr env e3 in - (uu____7496, uu____7497, uu____7498) in - EBufWrite uu____7489 + let uu____7588 = + let uu____7595 = translate_expr env e1 in + let uu____7596 = translate_expr env e2 in + let uu____7597 = translate_expr env e3 in + (uu____7595, uu____7596, uu____7597) in + EBufWrite uu____7588 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -2020,40 +2245,36 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7500; - FStar_Extraction_ML_Syntax.loc = uu____7501;_}, - uu____7502); - FStar_Extraction_ML_Syntax.mlty = uu____7503; - FStar_Extraction_ML_Syntax.loc = uu____7504;_}, - e1::e2::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7599; + FStar_Extraction_ML_Syntax.loc = uu____7600;_},uu____7601); + FStar_Extraction_ML_Syntax.mlty = uu____7602; + FStar_Extraction_ML_Syntax.loc = uu____7603;_},e1::e2::[]) when - let uu____7513 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7513 = "FStar.HyperStack.ST.op_Colon_Equals" -> - let uu____7517 = - let uu____7524 = translate_expr env e1 in - let uu____7525 = translate_expr env e2 in - (uu____7524, (EConstant (UInt32, "0")), uu____7525) in - EBufWrite uu____7517 + let uu____7612 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7612 = "FStar.HyperStack.ST.op_Colon_Equals" -> + let uu____7616 = + let uu____7623 = translate_expr env e1 in + let uu____7624 = translate_expr env e2 in + (uu____7623, (EConstant (UInt32, "0")), uu____7624) in + EBufWrite uu____7616 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7529; - FStar_Extraction_ML_Syntax.loc = uu____7530;_}, - uu____7531::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7628; + FStar_Extraction_ML_Syntax.loc = uu____7629;_},uu____7630::[]) when - let uu____7534 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7534 = "FStar.HyperStack.ST.push_frame" -> EPushFrame + let uu____7633 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7633 = "FStar.HyperStack.ST.push_frame" -> EPushFrame | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7539; - FStar_Extraction_ML_Syntax.loc = uu____7540;_}, - uu____7541::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7638; + FStar_Extraction_ML_Syntax.loc = uu____7639;_},uu____7640::[]) when - let uu____7544 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7544 = "FStar.HyperStack.ST.pop_frame" -> EPopFrame + let uu____7643 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7643 = "FStar.HyperStack.ST.pop_frame" -> EPopFrame | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -2061,29 +2282,30 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7549; - FStar_Extraction_ML_Syntax.loc = uu____7550;_}, - uu____7551); - FStar_Extraction_ML_Syntax.mlty = uu____7552; - FStar_Extraction_ML_Syntax.loc = uu____7553;_}, - e1::e2::e3::e4::e5::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7648; + FStar_Extraction_ML_Syntax.loc = uu____7649;_},uu____7650); + FStar_Extraction_ML_Syntax.mlty = uu____7651; + FStar_Extraction_ML_Syntax.loc = uu____7652;_},e1::e2::e3::e4::e5::[]) when - ((let uu____7567 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7567 = "FStar.Buffer.blit") || - (let uu____7572 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7572 = "LowStar.Monotonic.Buffer.blit")) + ((let uu____7666 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7666 = "FStar.Buffer.blit") || + (let uu____7671 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7671 = "LowStar.Monotonic.Buffer.blit")) || - (let uu____7577 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7577 = "LowStar.UninitializedBuffer.ublit") + (let uu____7676 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7676 = "LowStar.UninitializedBuffer.ublit") -> - let uu____7581 = - let uu____7592 = translate_expr env e1 in - let uu____7593 = translate_expr env e2 in - let uu____7594 = translate_expr env e3 in - let uu____7595 = translate_expr env e4 in - let uu____7596 = translate_expr env e5 in - (uu____7592, uu____7593, uu____7594, uu____7595, uu____7596) in - EBufBlit uu____7581 + let uu____7680 = + let uu____7691 = translate_expr env e1 in + let uu____7692 = translate_expr env e2 in + let uu____7693 = translate_expr env e3 in + let uu____7694 = translate_expr env e4 in + let uu____7695 = translate_expr env e5 in + (uu____7691, uu____7692, uu____7693, uu____7694, uu____7695) in + EBufBlit uu____7680 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -2091,32 +2313,29 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7598; - FStar_Extraction_ML_Syntax.loc = uu____7599;_}, - uu____7600); - FStar_Extraction_ML_Syntax.mlty = uu____7601; - FStar_Extraction_ML_Syntax.loc = uu____7602;_}, - e1::e2::e3::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7697; + FStar_Extraction_ML_Syntax.loc = uu____7698;_},uu____7699); + FStar_Extraction_ML_Syntax.mlty = uu____7700; + FStar_Extraction_ML_Syntax.loc = uu____7701;_},e1::e2::e3::[]) when - let s = FStar_Extraction_ML_Syntax.string_of_mlpath p in + let s = FStar_Extraction_ML_Syntax.string_of_mlpath p in (s = "FStar.Buffer.fill") || (s = "LowStar.Monotonic.Buffer.fill") -> - let uu____7618 = - let uu____7625 = translate_expr env e1 in - let uu____7626 = translate_expr env e2 in - let uu____7627 = translate_expr env e3 in - (uu____7625, uu____7626, uu____7627) in - EBufFill uu____7618 + let uu____7717 = + let uu____7724 = translate_expr env e1 in + let uu____7725 = translate_expr env e2 in + let uu____7726 = translate_expr env e3 in + (uu____7724, uu____7725, uu____7726) in + EBufFill uu____7717 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7629; - FStar_Extraction_ML_Syntax.loc = uu____7630;_}, - uu____7631::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7728; + FStar_Extraction_ML_Syntax.loc = uu____7729;_},uu____7730::[]) when - let uu____7634 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7634 = "FStar.HyperStack.ST.get" -> EUnit + let uu____7733 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7733 = "FStar.HyperStack.ST.get" -> EUnit | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = @@ -2124,171 +2343,220 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7639; - FStar_Extraction_ML_Syntax.loc = uu____7640;_}, - uu____7641); - FStar_Extraction_ML_Syntax.mlty = uu____7642; - FStar_Extraction_ML_Syntax.loc = uu____7643;_}, - _ebuf::_eseq::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7738; + FStar_Extraction_ML_Syntax.loc = uu____7739;_},uu____7740); + FStar_Extraction_ML_Syntax.mlty = uu____7741; + FStar_Extraction_ML_Syntax.loc = uu____7742;_},_ebuf::_eseq::[]) when - (((let uu____7654 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7654 = "LowStar.Monotonic.Buffer.witness_p") || - (let uu____7659 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7659 = "LowStar.Monotonic.Buffer.recall_p")) + (((let uu____7753 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7753 = "LowStar.Monotonic.Buffer.witness_p") || + (let uu____7758 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7758 = "LowStar.Monotonic.Buffer.recall_p")) || - (let uu____7664 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7664 = "LowStar.ImmutableBuffer.witness_contents")) + (let uu____7763 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7763 = "LowStar.ImmutableBuffer.witness_contents")) || - (let uu____7669 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7669 = "LowStar.ImmutableBuffer.recall_contents") + (let uu____7768 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7768 = "LowStar.ImmutableBuffer.recall_contents") -> EUnit + | FStar_Extraction_ML_Syntax.MLE_App + ({ + FStar_Extraction_ML_Syntax.expr = + FStar_Extraction_ML_Syntax.MLE_TApp + ({ + FStar_Extraction_ML_Syntax.expr = + FStar_Extraction_ML_Syntax.MLE_Name p; + FStar_Extraction_ML_Syntax.mlty = uu____7773; + FStar_Extraction_ML_Syntax.loc = uu____7774;_},uu____7775); + FStar_Extraction_ML_Syntax.mlty = uu____7776; + FStar_Extraction_ML_Syntax.loc = uu____7777;_},e1::[]) + when + ((((let uu____7787 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7787 = "LowStar.ConstBuffer.of_buffer") || + (let uu____7792 = + FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7792 = "LowStar.ConstBuffer.of_ibuffer")) + || + (let uu____7797 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7797 = "LowStar.ConstBuffer.cast")) + || + (let uu____7802 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7802 = "LowStar.ConstBuffer.to_buffer")) + || + (let uu____7807 = FStar_Extraction_ML_Syntax.string_of_mlpath p + in + uu____7807 = "LowStar.ConstBuffer.to_ibuffer") + -> translate_expr env e1 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; - FStar_Extraction_ML_Syntax.mlty = uu____7674; - FStar_Extraction_ML_Syntax.loc = uu____7675;_}, - e1::[]) + FStar_Extraction_ML_Syntax.mlty = uu____7812; + FStar_Extraction_ML_Syntax.loc = uu____7813;_},e1::[]) when - let uu____7679 = FStar_Extraction_ML_Syntax.string_of_mlpath p in - uu____7679 = "Obj.repr" -> - let uu____7683 = - let uu____7688 = translate_expr env e1 in (uu____7688, TAny) in - ECast uu____7683 + let uu____7817 = FStar_Extraction_ML_Syntax.string_of_mlpath p in + uu____7817 = "Obj.repr" -> + let uu____7821 = + let uu____7826 = translate_expr env e1 in (uu____7826, TAny) in + ECast uu____7821 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = - FStar_Extraction_ML_Syntax.MLE_Name ("FStar"::m::[], op); - FStar_Extraction_ML_Syntax.mlty = uu____7691; - FStar_Extraction_ML_Syntax.loc = uu____7692;_}, - args) + FStar_Extraction_ML_Syntax.MLE_Name ("FStar"::m::[],op); + FStar_Extraction_ML_Syntax.mlty = uu____7829; + FStar_Extraction_ML_Syntax.loc = uu____7830;_},args) when (is_machine_int m) && (is_op op) -> - let uu____7708 = FStar_Util.must (mk_width m) in - let uu____7709 = FStar_Util.must (mk_op op) in - mk_op_app env uu____7708 uu____7709 args + let uu____7846 = FStar_Util.must (mk_width m) in + let uu____7847 = FStar_Util.must (mk_op op) in + mk_op_app env uu____7846 uu____7847 args | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = - FStar_Extraction_ML_Syntax.MLE_Name ("Prims"::[], op); - FStar_Extraction_ML_Syntax.mlty = uu____7711; - FStar_Extraction_ML_Syntax.loc = uu____7712;_}, - args) + FStar_Extraction_ML_Syntax.MLE_Name ("Prims"::[],op); + FStar_Extraction_ML_Syntax.mlty = uu____7849; + FStar_Extraction_ML_Syntax.loc = uu____7850;_},args) when is_bool_op op -> - let uu____7726 = FStar_Util.must (mk_bool_op op) in - mk_op_app env Bool uu____7726 args + let uu____7864 = FStar_Util.must (mk_bool_op op) in + mk_op_app env Bool uu____7864 args | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name - ("FStar"::m::[], "int_to_t"); - FStar_Extraction_ML_Syntax.mlty = uu____7728; - FStar_Extraction_ML_Syntax.loc = uu____7729;_}, - { - FStar_Extraction_ML_Syntax.expr = - FStar_Extraction_ML_Syntax.MLE_Const - (FStar_Extraction_ML_Syntax.MLC_Int - (c, FStar_Pervasives_Native.None)); - FStar_Extraction_ML_Syntax.mlty = uu____7731; - FStar_Extraction_ML_Syntax.loc = uu____7732;_}::[]) + ("FStar"::m::[],"int_to_t"); + FStar_Extraction_ML_Syntax.mlty = uu____7866; + FStar_Extraction_ML_Syntax.loc = uu____7867;_},{ + FStar_Extraction_ML_Syntax.expr + = + FStar_Extraction_ML_Syntax.MLE_Const + (FStar_Extraction_ML_Syntax.MLC_Int + (c,FStar_Pervasives_Native.None + )); + FStar_Extraction_ML_Syntax.mlty + = uu____7869; + FStar_Extraction_ML_Syntax.loc + = uu____7870;_}::[]) when is_machine_int m -> - let uu____7757 = - let uu____7763 = FStar_Util.must (mk_width m) in (uu____7763, c) in - EConstant uu____7757 + let uu____7895 = + let uu____7901 = FStar_Util.must (mk_width m) in (uu____7901, c) + in + EConstant uu____7895 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name - ("FStar"::m::[], "uint_to_t"); - FStar_Extraction_ML_Syntax.mlty = uu____7766; - FStar_Extraction_ML_Syntax.loc = uu____7767;_}, - { - FStar_Extraction_ML_Syntax.expr = - FStar_Extraction_ML_Syntax.MLE_Const - (FStar_Extraction_ML_Syntax.MLC_Int - (c, FStar_Pervasives_Native.None)); - FStar_Extraction_ML_Syntax.mlty = uu____7769; - FStar_Extraction_ML_Syntax.loc = uu____7770;_}::[]) + ("FStar"::m::[],"uint_to_t"); + FStar_Extraction_ML_Syntax.mlty = uu____7904; + FStar_Extraction_ML_Syntax.loc = uu____7905;_},{ + FStar_Extraction_ML_Syntax.expr + = + FStar_Extraction_ML_Syntax.MLE_Const + (FStar_Extraction_ML_Syntax.MLC_Int + (c,FStar_Pervasives_Native.None + )); + FStar_Extraction_ML_Syntax.mlty + = uu____7907; + FStar_Extraction_ML_Syntax.loc + = uu____7908;_}::[]) when is_machine_int m -> - let uu____7795 = - let uu____7801 = FStar_Util.must (mk_width m) in (uu____7801, c) in - EConstant uu____7795 + let uu____7933 = + let uu____7939 = FStar_Util.must (mk_width m) in (uu____7939, c) + in + EConstant uu____7933 | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name - ("C"::[], "string_of_literal"); - FStar_Extraction_ML_Syntax.mlty = uu____7803; - FStar_Extraction_ML_Syntax.loc = uu____7804;_}, - { FStar_Extraction_ML_Syntax.expr = e1; - FStar_Extraction_ML_Syntax.mlty = uu____7806; - FStar_Extraction_ML_Syntax.loc = uu____7807;_}::[]) + ("C"::[],"string_of_literal"); + FStar_Extraction_ML_Syntax.mlty = uu____7941; + FStar_Extraction_ML_Syntax.loc = uu____7942;_},{ + FStar_Extraction_ML_Syntax.expr + = e1; + FStar_Extraction_ML_Syntax.mlty + = uu____7944; + FStar_Extraction_ML_Syntax.loc + = uu____7945;_}::[]) -> (match e1 with | FStar_Extraction_ML_Syntax.MLE_Const (FStar_Extraction_ML_Syntax.MLC_String s) -> EString s - | uu____7820 -> + | uu____7958 -> failwith "Cannot extract string_of_literal applied to a non-literal") | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name - ("C"::"Compat"::"String"::[], "of_literal"); - FStar_Extraction_ML_Syntax.mlty = uu____7822; - FStar_Extraction_ML_Syntax.loc = uu____7823;_}, - { FStar_Extraction_ML_Syntax.expr = e1; - FStar_Extraction_ML_Syntax.mlty = uu____7825; - FStar_Extraction_ML_Syntax.loc = uu____7826;_}::[]) + ("C"::"Compat"::"String"::[],"of_literal"); + FStar_Extraction_ML_Syntax.mlty = uu____7960; + FStar_Extraction_ML_Syntax.loc = uu____7961;_},{ + FStar_Extraction_ML_Syntax.expr + = e1; + FStar_Extraction_ML_Syntax.mlty + = uu____7963; + FStar_Extraction_ML_Syntax.loc + = uu____7964;_}::[]) -> (match e1 with | FStar_Extraction_ML_Syntax.MLE_Const (FStar_Extraction_ML_Syntax.MLC_String s) -> EString s - | uu____7843 -> + | uu____7981 -> failwith "Cannot extract string_of_literal applied to a non-literal") | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name - ("C"::"String"::[], "of_literal"); - FStar_Extraction_ML_Syntax.mlty = uu____7845; - FStar_Extraction_ML_Syntax.loc = uu____7846;_}, - { FStar_Extraction_ML_Syntax.expr = e1; - FStar_Extraction_ML_Syntax.mlty = uu____7848; - FStar_Extraction_ML_Syntax.loc = uu____7849;_}::[]) + ("C"::"String"::[],"of_literal"); + FStar_Extraction_ML_Syntax.mlty = uu____7983; + FStar_Extraction_ML_Syntax.loc = uu____7984;_},{ + FStar_Extraction_ML_Syntax.expr + = e1; + FStar_Extraction_ML_Syntax.mlty + = uu____7986; + FStar_Extraction_ML_Syntax.loc + = uu____7987;_}::[]) -> (match e1 with | FStar_Extraction_ML_Syntax.MLE_Const (FStar_Extraction_ML_Syntax.MLC_String s) -> EString s - | uu____7864 -> + | uu____8002 -> failwith "Cannot extract string_of_literal applied to a non-literal") | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name - ("LowStar"::"Literal"::[], "buffer_of_literal"); - FStar_Extraction_ML_Syntax.mlty = uu____7866; - FStar_Extraction_ML_Syntax.loc = uu____7867;_}, - { FStar_Extraction_ML_Syntax.expr = e1; - FStar_Extraction_ML_Syntax.mlty = uu____7869; - FStar_Extraction_ML_Syntax.loc = uu____7870;_}::[]) + ("LowStar"::"Literal"::[],"buffer_of_literal"); + FStar_Extraction_ML_Syntax.mlty = uu____8004; + FStar_Extraction_ML_Syntax.loc = uu____8005;_},{ + FStar_Extraction_ML_Syntax.expr + = e1; + FStar_Extraction_ML_Syntax.mlty + = uu____8007; + FStar_Extraction_ML_Syntax.loc + = uu____8008;_}::[]) -> (match e1 with | FStar_Extraction_ML_Syntax.MLE_Const (FStar_Extraction_ML_Syntax.MLC_String s) -> ECast ((EString s), (TBuf (TInt UInt8))) - | uu____7885 -> + | uu____8023 -> failwith "Cannot extract buffer_of_literal applied to a non-literal") | FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name - ("FStar"::"Int"::"Cast"::[], c); - FStar_Extraction_ML_Syntax.mlty = uu____7888; - FStar_Extraction_ML_Syntax.loc = uu____7889;_}, - arg::[]) + ("FStar"::"Int"::"Cast"::[],c); + FStar_Extraction_ML_Syntax.mlty = uu____8026; + FStar_Extraction_ML_Syntax.loc = uu____8027;_},arg::[]) -> let is_known_type = (((((((FStar_Util.starts_with c "uint8") || @@ -2298,327 +2566,348 @@ and (translate_expr : env -> FStar_Extraction_ML_Syntax.mlexpr -> expr) = || (FStar_Util.starts_with c "int8")) || (FStar_Util.starts_with c "int16")) || (FStar_Util.starts_with c "int32")) - || (FStar_Util.starts_with c "int64") in + || (FStar_Util.starts_with c "int64") + in if (FStar_Util.ends_with c "uint64") && is_known_type then - let uu____7917 = - let uu____7922 = translate_expr env arg in - (uu____7922, (TInt UInt64)) in - ECast uu____7917 + let uu____8055 = + let uu____8060 = translate_expr env arg in + (uu____8060, (TInt UInt64)) in + ECast uu____8055 else if (FStar_Util.ends_with c "uint32") && is_known_type then - (let uu____7927 = - let uu____7932 = translate_expr env arg in - (uu____7932, (TInt UInt32)) in - ECast uu____7927) + (let uu____8065 = + let uu____8070 = translate_expr env arg in + (uu____8070, (TInt UInt32)) in + ECast uu____8065) else if (FStar_Util.ends_with c "uint16") && is_known_type then - (let uu____7937 = - let uu____7942 = translate_expr env arg in - (uu____7942, (TInt UInt16)) in - ECast uu____7937) + (let uu____8075 = + let uu____8080 = translate_expr env arg in + (uu____8080, (TInt UInt16)) in + ECast uu____8075) else if (FStar_Util.ends_with c "uint8") && is_known_type then - (let uu____7947 = - let uu____7952 = translate_expr env arg in - (uu____7952, (TInt UInt8)) in - ECast uu____7947) + (let uu____8085 = + let uu____8090 = translate_expr env arg in + (uu____8090, (TInt UInt8)) in + ECast uu____8085) else if (FStar_Util.ends_with c "int64") && is_known_type then - (let uu____7957 = - let uu____7962 = translate_expr env arg in - (uu____7962, (TInt Int64)) in - ECast uu____7957) + (let uu____8095 = + let uu____8100 = translate_expr env arg in + (uu____8100, (TInt Int64)) in + ECast uu____8095) else if (FStar_Util.ends_with c "int32") && is_known_type then - (let uu____7967 = - let uu____7972 = translate_expr env arg in - (uu____7972, (TInt Int32)) in - ECast uu____7967) + (let uu____8105 = + let uu____8110 = translate_expr env arg in + (uu____8110, (TInt Int32)) in + ECast uu____8105) else if (FStar_Util.ends_with c "int16") && is_known_type then - (let uu____7977 = - let uu____7982 = translate_expr env arg in - (uu____7982, (TInt Int16)) in - ECast uu____7977) + (let uu____8115 = + let uu____8120 = translate_expr env arg in + (uu____8120, (TInt Int16)) in + ECast uu____8115) else if (FStar_Util.ends_with c "int8") && is_known_type then - (let uu____7987 = - let uu____7992 = translate_expr env arg in - (uu____7992, (TInt Int8)) in - ECast uu____7987) + (let uu____8125 = + let uu____8130 = translate_expr env arg in + (uu____8130, (TInt Int8)) in + ECast uu____8125) else - (let uu____7995 = - let uu____8002 = - let uu____8005 = translate_expr env arg in - [uu____8005] in + (let uu____8133 = + let uu____8140 = + let uu____8143 = translate_expr env arg in + [uu____8143] in ((EQualified (["FStar"; "Int"; "Cast"], c)), - uu____8002) in - EApp uu____7995) - | FStar_Extraction_ML_Syntax.MLE_App (head1, args) -> - let uu____8025 = - let uu____8032 = translate_expr env head1 in - let uu____8033 = FStar_List.map (translate_expr env) args in - (uu____8032, uu____8033) in - EApp uu____8025 - | FStar_Extraction_ML_Syntax.MLE_TApp (head1, ty_args) -> - let uu____8044 = - let uu____8051 = translate_expr env head1 in - let uu____8052 = FStar_List.map (translate_type env) ty_args in - (uu____8051, uu____8052) in - ETypApp uu____8044 - | FStar_Extraction_ML_Syntax.MLE_Coerce (e1, t_from, t_to) -> - let uu____8060 = - let uu____8065 = translate_expr env e1 in - let uu____8066 = translate_type env t_to in - (uu____8065, uu____8066) in - ECast uu____8060 - | FStar_Extraction_ML_Syntax.MLE_Record (uu____8067, fields) -> - let uu____8089 = - let uu____8101 = assert_lid env e.FStar_Extraction_ML_Syntax.mlty in - let uu____8102 = + uu____8140) + in + EApp uu____8133) + | FStar_Extraction_ML_Syntax.MLE_App (head1,args) -> + let uu____8163 = + let uu____8170 = translate_expr env head1 in + let uu____8171 = FStar_List.map (translate_expr env) args in + (uu____8170, uu____8171) in + EApp uu____8163 + | FStar_Extraction_ML_Syntax.MLE_TApp (head1,ty_args) -> + let uu____8182 = + let uu____8189 = translate_expr env head1 in + let uu____8190 = FStar_List.map (translate_type env) ty_args in + (uu____8189, uu____8190) in + ETypApp uu____8182 + | FStar_Extraction_ML_Syntax.MLE_Coerce (e1,t_from,t_to) -> + let uu____8198 = + let uu____8203 = translate_expr env e1 in + let uu____8204 = translate_type env t_to in + (uu____8203, uu____8204) in + ECast uu____8198 + | FStar_Extraction_ML_Syntax.MLE_Record (uu____8205,fields) -> + let uu____8227 = + let uu____8239 = assert_lid env e.FStar_Extraction_ML_Syntax.mlty + in + let uu____8240 = FStar_List.map - (fun uu____8124 -> - match uu____8124 with - | (field, expr) -> - let uu____8139 = translate_expr env expr in - (field, uu____8139)) fields in - (uu____8101, uu____8102) in - EFlat uu____8089 - | FStar_Extraction_ML_Syntax.MLE_Proj (e1, path) -> - let uu____8150 = - let uu____8158 = - assert_lid env e1.FStar_Extraction_ML_Syntax.mlty in - let uu____8159 = translate_expr env e1 in - (uu____8158, uu____8159, (FStar_Pervasives_Native.snd path)) in - EField uu____8150 - | FStar_Extraction_ML_Syntax.MLE_Let uu____8165 -> + (fun uu____8262 -> + match uu____8262 with + | (field,expr) -> + let uu____8277 = translate_expr env expr in + (field, uu____8277)) fields + in + (uu____8239, uu____8240) in + EFlat uu____8227 + | FStar_Extraction_ML_Syntax.MLE_Proj (e1,path) -> + let uu____8288 = + let uu____8296 = + assert_lid env e1.FStar_Extraction_ML_Syntax.mlty in + let uu____8297 = translate_expr env e1 in + (uu____8296, uu____8297, (FStar_Pervasives_Native.snd path)) in + EField uu____8288 + | FStar_Extraction_ML_Syntax.MLE_Let uu____8303 -> failwith "todo: translate_expr [MLE_Let]" - | FStar_Extraction_ML_Syntax.MLE_App (head1, uu____8178) -> - let uu____8183 = - let uu____8185 = - FStar_Extraction_ML_Code.string_of_mlexpr ([], "") head1 in + | FStar_Extraction_ML_Syntax.MLE_App (head1,uu____8316) -> + let uu____8321 = + let uu____8323 = + FStar_Extraction_ML_Code.string_of_mlexpr ([], "") head1 in FStar_Util.format1 "todo: translate_expr [MLE_App] (head is: %s)" - uu____8185 in - failwith uu____8183 + uu____8323 + in + failwith uu____8321 | FStar_Extraction_ML_Syntax.MLE_Seq seqs -> - let uu____8197 = FStar_List.map (translate_expr env) seqs in - ESequence uu____8197 + let uu____8335 = FStar_List.map (translate_expr env) seqs in + ESequence uu____8335 | FStar_Extraction_ML_Syntax.MLE_Tuple es -> - let uu____8203 = FStar_List.map (translate_expr env) es in - ETuple uu____8203 - | FStar_Extraction_ML_Syntax.MLE_CTor ((uu____8206, cons1), es) -> - let uu____8221 = - let uu____8231 = assert_lid env e.FStar_Extraction_ML_Syntax.mlty in - let uu____8232 = FStar_List.map (translate_expr env) es in - (uu____8231, cons1, uu____8232) in - ECons uu____8221 - | FStar_Extraction_ML_Syntax.MLE_Fun (args, body) -> - let binders = translate_binders env args in - let env1 = add_binders env args in - let uu____8258 = - let uu____8267 = translate_expr env1 body in - let uu____8268 = - translate_type env1 body.FStar_Extraction_ML_Syntax.mlty in - (binders, uu____8267, uu____8268) in - EFun uu____8258 - | FStar_Extraction_ML_Syntax.MLE_If (e1, e2, e3) -> - let uu____8278 = - let uu____8285 = translate_expr env e1 in - let uu____8286 = translate_expr env e2 in - let uu____8287 = + let uu____8341 = FStar_List.map (translate_expr env) es in + ETuple uu____8341 + | FStar_Extraction_ML_Syntax.MLE_CTor ((uu____8344,cons1),es) -> + let uu____8359 = + let uu____8369 = assert_lid env e.FStar_Extraction_ML_Syntax.mlty + in + let uu____8370 = FStar_List.map (translate_expr env) es in + (uu____8369, cons1, uu____8370) in + ECons uu____8359 + | FStar_Extraction_ML_Syntax.MLE_Fun (args,body) -> + let binders = translate_binders env args in + let env1 = add_binders env args in + let uu____8396 = + let uu____8405 = translate_expr env1 body in + let uu____8406 = + translate_type env1 body.FStar_Extraction_ML_Syntax.mlty in + (binders, uu____8405, uu____8406) in + EFun uu____8396 + | FStar_Extraction_ML_Syntax.MLE_If (e1,e2,e3) -> + let uu____8416 = + let uu____8423 = translate_expr env e1 in + let uu____8424 = translate_expr env e2 in + let uu____8425 = match e3 with - | FStar_Pervasives_Native.None -> EUnit - | FStar_Pervasives_Native.Some e31 -> translate_expr env e31 in - (uu____8285, uu____8286, uu____8287) in - EIfThenElse uu____8278 - | FStar_Extraction_ML_Syntax.MLE_Raise uu____8289 -> + | FStar_Pervasives_Native.None -> EUnit + | FStar_Pervasives_Native.Some e31 -> translate_expr env e31 + in + (uu____8423, uu____8424, uu____8425) in + EIfThenElse uu____8416 + | FStar_Extraction_ML_Syntax.MLE_Raise uu____8427 -> failwith "todo: translate_expr [MLE_Raise]" - | FStar_Extraction_ML_Syntax.MLE_Try uu____8297 -> + | FStar_Extraction_ML_Syntax.MLE_Try uu____8435 -> failwith "todo: translate_expr [MLE_Try]" - | FStar_Extraction_ML_Syntax.MLE_Coerce uu____8313 -> + | FStar_Extraction_ML_Syntax.MLE_Coerce uu____8451 -> failwith "todo: translate_expr [MLE_Coerce]" + and (assert_lid : env -> FStar_Extraction_ML_Syntax.mlty -> typ) = - fun env -> - fun t -> + fun env -> + fun t -> match t with - | FStar_Extraction_ML_Syntax.MLTY_Named (ts, lid) -> + | FStar_Extraction_ML_Syntax.MLTY_Named (ts,lid) -> if (FStar_List.length ts) > (Prims.parse_int "0") then - let uu____8331 = - let uu____8346 = FStar_List.map (translate_type env) ts in - (lid, uu____8346) in - TApp uu____8331 + let uu____8469 = + let uu____8484 = FStar_List.map (translate_type env) ts in + (lid, uu____8484) in + TApp uu____8469 else TQualified lid - | uu____8361 -> - let uu____8362 = - let uu____8364 = - FStar_Extraction_ML_Code.string_of_mlty ([], "") t in + | uu____8499 -> + let uu____8500 = + let uu____8502 = + FStar_Extraction_ML_Code.string_of_mlty ([], "") t in FStar_Util.format1 - "invalid argument: expected MLTY_Named, got %s" uu____8364 in - failwith uu____8362 + "invalid argument: expected MLTY_Named, got %s" uu____8502 + in + failwith uu____8500 + and (translate_branches : env -> (FStar_Extraction_ML_Syntax.mlpattern * FStar_Extraction_ML_Syntax.mlexpr FStar_Pervasives_Native.option * FStar_Extraction_ML_Syntax.mlexpr) Prims.list -> (pattern * expr) Prims.list) - = fun env -> fun branches -> FStar_List.map (translate_branch env) branches + = + fun env -> fun branches -> FStar_List.map (translate_branch env) branches + and (translate_branch : env -> (FStar_Extraction_ML_Syntax.mlpattern * FStar_Extraction_ML_Syntax.mlexpr FStar_Pervasives_Native.option * FStar_Extraction_ML_Syntax.mlexpr) -> (pattern * expr)) = - fun env -> - fun uu____8398 -> - match uu____8398 with - | (pat, guard, expr) -> + fun env -> + fun uu____8536 -> + match uu____8536 with + | (pat,guard,expr) -> if guard = FStar_Pervasives_Native.None then - let uu____8425 = translate_pat env pat in - (match uu____8425 with - | (env1, pat1) -> - let uu____8436 = translate_expr env1 expr in - (pat1, uu____8436)) + let uu____8563 = translate_pat env pat in + (match uu____8563 with + | (env1,pat1) -> + let uu____8574 = translate_expr env1 expr in + (pat1, uu____8574)) else failwith "todo: translate_branch" + and (translate_width : (FStar_Const.signedness * FStar_Const.width) FStar_Pervasives_Native.option -> width) = - fun uu___7_8444 -> - match uu___7_8444 with - | FStar_Pervasives_Native.None -> CInt - | FStar_Pervasives_Native.Some (FStar_Const.Signed, FStar_Const.Int8) -> + fun uu___7_8582 -> + match uu___7_8582 with + | FStar_Pervasives_Native.None -> CInt + | FStar_Pervasives_Native.Some (FStar_Const.Signed ,FStar_Const.Int8 ) -> Int8 - | FStar_Pervasives_Native.Some (FStar_Const.Signed, FStar_Const.Int16) -> - Int16 - | FStar_Pervasives_Native.Some (FStar_Const.Signed, FStar_Const.Int32) -> - Int32 - | FStar_Pervasives_Native.Some (FStar_Const.Signed, FStar_Const.Int64) -> - Int64 - | FStar_Pervasives_Native.Some (FStar_Const.Unsigned, FStar_Const.Int8) + | FStar_Pervasives_Native.Some (FStar_Const.Signed ,FStar_Const.Int16 ) + -> Int16 + | FStar_Pervasives_Native.Some (FStar_Const.Signed ,FStar_Const.Int32 ) + -> Int32 + | FStar_Pervasives_Native.Some (FStar_Const.Signed ,FStar_Const.Int64 ) + -> Int64 + | FStar_Pervasives_Native.Some (FStar_Const.Unsigned ,FStar_Const.Int8 ) -> UInt8 - | FStar_Pervasives_Native.Some (FStar_Const.Unsigned, FStar_Const.Int16) + | FStar_Pervasives_Native.Some (FStar_Const.Unsigned ,FStar_Const.Int16 ) -> UInt16 - | FStar_Pervasives_Native.Some (FStar_Const.Unsigned, FStar_Const.Int32) + | FStar_Pervasives_Native.Some (FStar_Const.Unsigned ,FStar_Const.Int32 ) -> UInt32 - | FStar_Pervasives_Native.Some (FStar_Const.Unsigned, FStar_Const.Int64) + | FStar_Pervasives_Native.Some (FStar_Const.Unsigned ,FStar_Const.Int64 ) -> UInt64 + and (translate_pat : env -> FStar_Extraction_ML_Syntax.mlpattern -> (env * pattern)) = - fun env -> - fun p -> + fun env -> + fun p -> match p with | FStar_Extraction_ML_Syntax.MLP_Const - (FStar_Extraction_ML_Syntax.MLC_Unit) -> (env, PUnit) + (FStar_Extraction_ML_Syntax.MLC_Unit ) -> (env, PUnit) | FStar_Extraction_ML_Syntax.MLP_Const (FStar_Extraction_ML_Syntax.MLC_Bool b) -> (env, (PBool b)) | FStar_Extraction_ML_Syntax.MLP_Const - (FStar_Extraction_ML_Syntax.MLC_Int (s, sw)) -> - let uu____8511 = - let uu____8512 = - let uu____8518 = translate_width sw in (uu____8518, s) in - PConstant uu____8512 in - (env, uu____8511) + (FStar_Extraction_ML_Syntax.MLC_Int (s,sw)) -> + let uu____8649 = + let uu____8650 = + let uu____8656 = translate_width sw in (uu____8656, s) in + PConstant uu____8650 in + (env, uu____8649) | FStar_Extraction_ML_Syntax.MLP_Var name -> - let env1 = extend env name in + let env1 = extend env name in (env1, (PVar { name; typ = TAny; mut = false })) - | FStar_Extraction_ML_Syntax.MLP_Wild -> - let env1 = extend env "_" in + | FStar_Extraction_ML_Syntax.MLP_Wild -> + let env1 = extend env "_" in (env1, (PVar { name = "_"; typ = TAny; mut = false })) - | FStar_Extraction_ML_Syntax.MLP_CTor ((uu____8528, cons1), ps) -> - let uu____8543 = + | FStar_Extraction_ML_Syntax.MLP_CTor ((uu____8666,cons1),ps) -> + let uu____8681 = FStar_List.fold_left - (fun uu____8563 -> - fun p1 -> - match uu____8563 with - | (env1, acc) -> - let uu____8583 = translate_pat env1 p1 in - (match uu____8583 with - | (env2, p2) -> (env2, (p2 :: acc)))) (env, []) ps in - (match uu____8543 with - | (env1, ps1) -> (env1, (PCons (cons1, (FStar_List.rev ps1))))) - | FStar_Extraction_ML_Syntax.MLP_Record (uu____8613, ps) -> - let uu____8635 = + (fun uu____8701 -> + fun p1 -> + match uu____8701 with + | (env1,acc) -> + let uu____8721 = translate_pat env1 p1 in + (match uu____8721 with + | (env2,p2) -> (env2, (p2 :: acc)))) (env, []) ps + in + (match uu____8681 with + | (env1,ps1) -> (env1, (PCons (cons1, (FStar_List.rev ps1))))) + | FStar_Extraction_ML_Syntax.MLP_Record (uu____8751,ps) -> + let uu____8773 = FStar_List.fold_left - (fun uu____8672 -> - fun uu____8673 -> - match (uu____8672, uu____8673) with - | ((env1, acc), (field, p1)) -> - let uu____8753 = translate_pat env1 p1 in - (match uu____8753 with - | (env2, p2) -> (env2, ((field, p2) :: acc)))) - (env, []) ps in - (match uu____8635 with - | (env1, ps1) -> (env1, (PRecord (FStar_List.rev ps1)))) + (fun uu____8810 -> + fun uu____8811 -> + match (uu____8810, uu____8811) with + | ((env1,acc),(field,p1)) -> + let uu____8891 = translate_pat env1 p1 in + (match uu____8891 with + | (env2,p2) -> (env2, ((field, p2) :: acc)))) + (env, []) ps + in + (match uu____8773 with + | (env1,ps1) -> (env1, (PRecord (FStar_List.rev ps1)))) | FStar_Extraction_ML_Syntax.MLP_Tuple ps -> - let uu____8824 = + let uu____8962 = FStar_List.fold_left - (fun uu____8844 -> - fun p1 -> - match uu____8844 with - | (env1, acc) -> - let uu____8864 = translate_pat env1 p1 in - (match uu____8864 with - | (env2, p2) -> (env2, (p2 :: acc)))) (env, []) ps in - (match uu____8824 with - | (env1, ps1) -> (env1, (PTuple (FStar_List.rev ps1)))) - | FStar_Extraction_ML_Syntax.MLP_Const uu____8891 -> + (fun uu____8982 -> + fun p1 -> + match uu____8982 with + | (env1,acc) -> + let uu____9002 = translate_pat env1 p1 in + (match uu____9002 with + | (env2,p2) -> (env2, (p2 :: acc)))) (env, []) ps + in + (match uu____8962 with + | (env1,ps1) -> (env1, (PTuple (FStar_List.rev ps1)))) + | FStar_Extraction_ML_Syntax.MLP_Const uu____9029 -> failwith "todo: translate_pat [MLP_Const]" - | FStar_Extraction_ML_Syntax.MLP_Branch uu____8897 -> + | FStar_Extraction_ML_Syntax.MLP_Branch uu____9035 -> failwith "todo: translate_pat [MLP_Branch]" + and (translate_constant : FStar_Extraction_ML_Syntax.mlconstant -> expr) = - fun c -> + fun c -> match c with - | FStar_Extraction_ML_Syntax.MLC_Unit -> EUnit + | FStar_Extraction_ML_Syntax.MLC_Unit -> EUnit | FStar_Extraction_ML_Syntax.MLC_Bool b -> EBool b | FStar_Extraction_ML_Syntax.MLC_String s -> - ((let uu____8911 = - let uu____8913 = FStar_String.list_of_string s in - FStar_All.pipe_right uu____8913 + ((let uu____9049 = + let uu____9051 = FStar_String.list_of_string s in + FStar_All.pipe_right uu____9051 (FStar_Util.for_some - (fun c1 -> - c1 = (FStar_Char.char_of_int (Prims.parse_int "0")))) in - if uu____8911 + (fun c1 -> + c1 = (FStar_Char.char_of_int (Prims.parse_int "0")))) + in + if uu____9049 then - let uu____8928 = + let uu____9066 = FStar_Util.format1 "Refusing to translate a string literal that contains a null character: %s" - s in - failwith uu____8928 + s + in + failwith uu____9066 else ()); EString s) | FStar_Extraction_ML_Syntax.MLC_Char c1 -> - let i = FStar_Util.int_of_char c1 in - let s = FStar_Util.string_of_int i in - let c2 = EConstant (UInt32, s) in - let char_of_int1 = EQualified (["FStar"; "Char"], "char_of_int") in + let i = FStar_Util.int_of_char c1 in + let s = FStar_Util.string_of_int i in + let c2 = EConstant (UInt32, s) in + let char_of_int1 = EQualified (["FStar"; "Char"], "char_of_int") in EApp (char_of_int1, [c2]) | FStar_Extraction_ML_Syntax.MLC_Int - (s, FStar_Pervasives_Native.Some uu____8955) -> + (s,FStar_Pervasives_Native.Some uu____9093) -> failwith "impossible: machine integer not desugared to a function call" - | FStar_Extraction_ML_Syntax.MLC_Float uu____8973 -> + | FStar_Extraction_ML_Syntax.MLC_Float uu____9111 -> failwith "todo: translate_expr [MLC_Float]" - | FStar_Extraction_ML_Syntax.MLC_Bytes uu____8975 -> + | FStar_Extraction_ML_Syntax.MLC_Bytes uu____9113 -> failwith "todo: translate_expr [MLC_Bytes]" - | FStar_Extraction_ML_Syntax.MLC_Int (s, FStar_Pervasives_Native.None) -> + | FStar_Extraction_ML_Syntax.MLC_Int (s,FStar_Pervasives_Native.None ) -> EConstant (CInt, s) + and (mk_op_app : env -> width -> op -> FStar_Extraction_ML_Syntax.mlexpr Prims.list -> expr) = - fun env -> - fun w -> - fun op -> - fun args -> - let uu____8999 = - let uu____9006 = FStar_List.map (translate_expr env) args in - ((EOp (op, w)), uu____9006) in - EApp uu____8999 \ No newline at end of file + fun env -> + fun w -> + fun op -> + fun args -> + let uu____9137 = + let uu____9144 = FStar_List.map (translate_expr env) args in + ((EOp (op, w)), uu____9144) in + EApp uu____9137 diff --git a/src/ocaml-output/FStar_Extraction_ML_Code.ml b/src/ocaml-output/FStar_Extraction_ML_Code.ml index 16e89624293..60af141990a 100644 --- a/src/ocaml-output/FStar_Extraction_ML_Code.ml +++ b/src/ocaml-output/FStar_Extraction_ML_Code.ml @@ -6,100 +6,112 @@ type assoc = | Right | NonAssoc let (uu___is_ILeft : assoc -> Prims.bool) = - fun projectee -> match projectee with | ILeft -> true | uu____9 -> false + fun projectee -> match projectee with | ILeft -> true | uu____9 -> false let (uu___is_IRight : assoc -> Prims.bool) = - fun projectee -> match projectee with | IRight -> true | uu____20 -> false + fun projectee -> + match projectee with | IRight -> true | uu____20 -> false + let (uu___is_Left : assoc -> Prims.bool) = - fun projectee -> match projectee with | Left -> true | uu____31 -> false + fun projectee -> match projectee with | Left -> true | uu____31 -> false let (uu___is_Right : assoc -> Prims.bool) = - fun projectee -> match projectee with | Right -> true | uu____42 -> false + fun projectee -> match projectee with | Right -> true | uu____42 -> false let (uu___is_NonAssoc : assoc -> Prims.bool) = - fun projectee -> - match projectee with | NonAssoc -> true | uu____53 -> false + fun projectee -> + match projectee with | NonAssoc -> true | uu____53 -> false + type fixity = | Prefix | Postfix | Infix of assoc let (uu___is_Prefix : fixity -> Prims.bool) = - fun projectee -> match projectee with | Prefix -> true | uu____69 -> false + fun projectee -> + match projectee with | Prefix -> true | uu____69 -> false + let (uu___is_Postfix : fixity -> Prims.bool) = - fun projectee -> match projectee with | Postfix -> true | uu____80 -> false + fun projectee -> + match projectee with | Postfix -> true | uu____80 -> false + let (uu___is_Infix : fixity -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Infix _0 -> true | uu____92 -> false + let (__proj__Infix__item___0 : fixity -> assoc) = - fun projectee -> match projectee with | Infix _0 -> _0 + fun projectee -> match projectee with | Infix _0 -> _0 type opprec = (Prims.int * fixity) type level = (opprec * assoc) let (t_prio_fun : (Prims.int * fixity)) = - ((Prims.parse_int "10"), (Infix Right)) + ((Prims.parse_int "10"), (Infix Right)) let (t_prio_tpl : (Prims.int * fixity)) = - ((Prims.parse_int "20"), (Infix NonAssoc)) -let (t_prio_name : (Prims.int * fixity)) = ((Prims.parse_int "30"), Postfix) + ((Prims.parse_int "20"), (Infix NonAssoc)) +let (t_prio_name : (Prims.int * fixity)) = ((Prims.parse_int "30"), Postfix) let (e_bin_prio_lambda : (Prims.int * fixity)) = - ((Prims.parse_int "5"), Prefix) -let (e_bin_prio_if : (Prims.int * fixity)) = ((Prims.parse_int "15"), Prefix) + ((Prims.parse_int "5"), Prefix) +let (e_bin_prio_if : (Prims.int * fixity)) = ((Prims.parse_int "15"), Prefix) let (e_bin_prio_letin : (Prims.int * fixity)) = - ((Prims.parse_int "19"), Prefix) + ((Prims.parse_int "19"), Prefix) let (e_bin_prio_or : (Prims.int * fixity)) = - ((Prims.parse_int "20"), (Infix Left)) + ((Prims.parse_int "20"), (Infix Left)) let (e_bin_prio_and : (Prims.int * fixity)) = - ((Prims.parse_int "25"), (Infix Left)) + ((Prims.parse_int "25"), (Infix Left)) let (e_bin_prio_eq : (Prims.int * fixity)) = - ((Prims.parse_int "27"), (Infix NonAssoc)) + ((Prims.parse_int "27"), (Infix NonAssoc)) let (e_bin_prio_order : (Prims.int * fixity)) = - ((Prims.parse_int "29"), (Infix NonAssoc)) + ((Prims.parse_int "29"), (Infix NonAssoc)) let (e_bin_prio_op1 : (Prims.int * fixity)) = - ((Prims.parse_int "30"), (Infix Left)) + ((Prims.parse_int "30"), (Infix Left)) let (e_bin_prio_op2 : (Prims.int * fixity)) = - ((Prims.parse_int "40"), (Infix Left)) + ((Prims.parse_int "40"), (Infix Left)) let (e_bin_prio_op3 : (Prims.int * fixity)) = - ((Prims.parse_int "50"), (Infix Left)) + ((Prims.parse_int "50"), (Infix Left)) let (e_bin_prio_op4 : (Prims.int * fixity)) = - ((Prims.parse_int "60"), (Infix Left)) + ((Prims.parse_int "60"), (Infix Left)) let (e_bin_prio_comb : (Prims.int * fixity)) = - ((Prims.parse_int "70"), (Infix Left)) + ((Prims.parse_int "70"), (Infix Left)) let (e_bin_prio_seq : (Prims.int * fixity)) = - ((Prims.parse_int "100"), (Infix Left)) + ((Prims.parse_int "100"), (Infix Left)) let (e_app_prio : (Prims.int * fixity)) = - ((Prims.parse_int "10000"), (Infix Left)) + ((Prims.parse_int "10000"), (Infix Left)) let (min_op_prec : (Prims.int * fixity)) = - ((~- (Prims.parse_int "1")), (Infix NonAssoc)) + ((~- (Prims.parse_int "1")), (Infix NonAssoc)) let (max_op_prec : (Prims.int * fixity)) = - (FStar_Util.max_int, (Infix NonAssoc)) + (FStar_Util.max_int, (Infix NonAssoc)) type doc = | Doc of Prims.string -let (uu___is_Doc : doc -> Prims.bool) = fun projectee -> true +let (uu___is_Doc : doc -> Prims.bool) = fun projectee -> true let (__proj__Doc__item___0 : doc -> Prims.string) = - fun projectee -> match projectee with | Doc _0 -> _0 -let (empty : doc) = Doc "" -let (hardline : doc) = Doc "\n" -let (text : Prims.string -> doc) = fun s -> Doc s + fun projectee -> match projectee with | Doc _0 -> _0 +let (empty : doc) = Doc "" +let (hardline : doc) = Doc "\n" +let (text : Prims.string -> doc) = fun s -> Doc s let (num : Prims.int -> doc) = - fun i -> let uu____305 = FStar_Util.string_of_int i in Doc uu____305 -let (break1 : doc) = text " " + fun i -> let uu____305 = FStar_Util.string_of_int i in Doc uu____305 +let (break1 : doc) = text " " let (enclose : doc -> doc -> doc -> doc) = - fun uu____322 -> - fun uu____323 -> - fun uu____324 -> + fun uu____322 -> + fun uu____323 -> + fun uu____324 -> match (uu____322, uu____323, uu____324) with - | (Doc l, Doc r, Doc x) -> Doc (Prims.op_Hat l (Prims.op_Hat x r)) + | (Doc l,Doc r,Doc x) -> Doc (Prims.op_Hat l (Prims.op_Hat x r)) + let (cbrackets : doc -> doc) = - fun uu____336 -> + fun uu____336 -> match uu____336 with | Doc d -> enclose (text "{") (text "}") (Doc d) + let (parens : doc -> doc) = - fun uu____346 -> + fun uu____346 -> match uu____346 with | Doc d -> enclose (text "(") (text ")") (Doc d) + let (cat : doc -> doc -> doc) = - fun uu____360 -> - fun uu____361 -> + fun uu____360 -> + fun uu____361 -> match (uu____360, uu____361) with - | (Doc d1, Doc d2) -> Doc (Prims.op_Hat d1 d2) + | (Doc d1,Doc d2) -> Doc (Prims.op_Hat d1 d2) + let (reduce : doc Prims.list -> doc) = - fun docs -> FStar_List.fold_left cat empty docs + fun docs -> FStar_List.fold_left cat empty docs let (combine : doc -> doc Prims.list -> doc) = - fun uu____387 -> - fun docs -> + fun uu____387 -> + fun docs -> match uu____387 with | Doc sep -> let select uu____401 = @@ -107,113 +119,123 @@ let (combine : doc -> doc Prims.list -> doc) = | Doc d -> if d = "" then FStar_Pervasives_Native.None - else FStar_Pervasives_Native.Some d in - let docs1 = FStar_List.choose select docs in + else FStar_Pervasives_Native.Some d + in + let docs1 = FStar_List.choose select docs in Doc (FStar_String.concat sep docs1) -let (reduce1 : doc Prims.list -> doc) = fun docs -> combine break1 docs -let (hbox : doc -> doc) = fun d -> d + +let (reduce1 : doc Prims.list -> doc) = fun docs -> combine break1 docs +let (hbox : doc -> doc) = fun d -> d let rec in_ns : 'a . ('a Prims.list * 'a Prims.list) -> Prims.bool = - fun x -> + fun x -> match x with - | ([], uu____466) -> true - | (x1::t1, x2::t2) when x1 = x2 -> in_ns (t1, t2) - | (uu____490, uu____491) -> false + | ([],uu____466) -> true + | (x1::t1,x2::t2) when x1 = x2 -> in_ns (t1, t2) + | (uu____490,uu____491) -> false + let (path_of_ns : FStar_Extraction_ML_Syntax.mlsymbol -> Prims.string Prims.list -> Prims.string Prims.list) = - fun currentModule -> - fun ns -> - let ns' = FStar_Extraction_ML_Util.flatten_ns ns in + fun currentModule -> + fun ns -> + let ns' = FStar_Extraction_ML_Util.flatten_ns ns in if ns' = currentModule then [] else - (let cg_libs = FStar_Options.codegen_libs () in - let ns_len = FStar_List.length ns in + (let cg_libs = FStar_Options.codegen_libs () in + let ns_len = FStar_List.length ns in let found = FStar_Util.find_map cg_libs - (fun cg_path -> - let cg_len = FStar_List.length cg_path in + (fun cg_path -> + let cg_len = FStar_List.length cg_path in if (FStar_List.length cg_path) < ns_len then - let uu____572 = FStar_Util.first_N cg_len ns in + let uu____572 = FStar_Util.first_N cg_len ns in match uu____572 with - | (pfx, sfx) -> + | (pfx,sfx) -> (if pfx = cg_path then let uu____612 = let uu____616 = let uu____620 = - FStar_Extraction_ML_Util.flatten_ns sfx in - [uu____620] in - FStar_List.append pfx uu____616 in + FStar_Extraction_ML_Util.flatten_ns sfx in + [uu____620] in + FStar_List.append pfx uu____616 in FStar_Pervasives_Native.Some uu____612 else FStar_Pervasives_Native.None) - else FStar_Pervasives_Native.None) in + else FStar_Pervasives_Native.None) + in match found with - | FStar_Pervasives_Native.None -> [ns'] + | FStar_Pervasives_Native.None -> [ns'] | FStar_Pervasives_Native.Some x -> x) + let (mlpath_of_mlpath : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_Syntax.mlpath) = - fun currentModule -> - fun x -> - let uu____666 = FStar_Extraction_ML_Syntax.string_of_mlpath x in + fun currentModule -> + fun x -> + let uu____666 = FStar_Extraction_ML_Syntax.string_of_mlpath x in match uu____666 with | "Prims.Some" -> ([], "Some") | "Prims.None" -> ([], "None") | uu____682 -> - let uu____684 = x in + let uu____684 = x in (match uu____684 with - | (ns, x1) -> - let uu____695 = path_of_ns currentModule ns in (uu____695, x1)) + | (ns,x1) -> + let uu____695 = path_of_ns currentModule ns in + (uu____695, x1)) + let (ptsym_of_symbol : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlsymbol) = - fun s -> + fun s -> let uu____713 = let uu____715 = - let uu____717 = FStar_String.get s (Prims.parse_int "0") in - FStar_Char.lowercase uu____717 in - let uu____720 = FStar_String.get s (Prims.parse_int "0") in - uu____715 <> uu____720 in + let uu____717 = FStar_String.get s (Prims.parse_int "0") in + FStar_Char.lowercase uu____717 in + let uu____720 = FStar_String.get s (Prims.parse_int "0") in + uu____715 <> uu____720 in if uu____713 then Prims.op_Hat "l__" s else s + let (ptsym : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_Syntax.mlsymbol) = - fun currentModule -> - fun mlp -> + fun currentModule -> + fun mlp -> if FStar_List.isEmpty (FStar_Pervasives_Native.fst mlp) then ptsym_of_symbol (FStar_Pervasives_Native.snd mlp) else - (let uu____756 = mlpath_of_mlpath currentModule mlp in + (let uu____756 = mlpath_of_mlpath currentModule mlp in match uu____756 with - | (p, s) -> + | (p,s) -> let uu____768 = let uu____772 = - let uu____776 = ptsym_of_symbol s in [uu____776] in - FStar_List.append p uu____772 in + let uu____776 = ptsym_of_symbol s in [uu____776] in + FStar_List.append p uu____772 in FStar_String.concat "." uu____768) + let (ptctor : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_Syntax.mlsymbol) = - fun currentModule -> - fun mlp -> - let uu____797 = mlpath_of_mlpath currentModule mlp in + fun currentModule -> + fun mlp -> + let uu____797 = mlpath_of_mlpath currentModule mlp in match uu____797 with - | (p, s) -> + | (p,s) -> let s1 = let uu____811 = let uu____813 = - let uu____815 = FStar_String.get s (Prims.parse_int "0") in - FStar_Char.uppercase uu____815 in - let uu____818 = FStar_String.get s (Prims.parse_int "0") in - uu____813 <> uu____818 in - if uu____811 then Prims.op_Hat "U__" s else s in + let uu____815 = FStar_String.get s (Prims.parse_int "0") in + FStar_Char.uppercase uu____815 in + let uu____818 = FStar_String.get s (Prims.parse_int "0") in + uu____813 <> uu____818 in + if uu____811 then Prims.op_Hat "U__" s else s in FStar_String.concat "." (FStar_List.append p [s1]) + let (infix_prim_ops : (Prims.string * (Prims.int * fixity) * Prims.string) Prims.list) = [("op_Addition", e_bin_prio_op1, "+"); @@ -229,123 +251,132 @@ let (infix_prim_ops : ("op_GreaterThanOrEqual", e_bin_prio_order, ">="); ("op_LessThan", e_bin_prio_order, "<"); ("op_GreaterThan", e_bin_prio_order, ">"); - ("op_Modulus", e_bin_prio_order, "mod")] + ("op_Modulus", e_bin_prio_order, "mod")] let (prim_uni_ops : unit -> (Prims.string * Prims.string) Prims.list) = - fun uu____1181 -> + fun uu____1181 -> let op_minus = let uu____1184 = - let uu____1186 = FStar_Options.codegen () in - uu____1186 = (FStar_Pervasives_Native.Some FStar_Options.FSharp) in - if uu____1184 then "-" else "~-" in + let uu____1186 = FStar_Options.codegen () in + uu____1186 = (FStar_Pervasives_Native.Some FStar_Options.FSharp) in + if uu____1184 then "-" else "~-" in [("op_Negation", "not"); ("op_Minus", op_minus); ("op_Bang", "Support.ST.read")] + let prim_types : 'Auu____1235 . unit -> 'Auu____1235 Prims.list = - fun uu____1238 -> [] + fun uu____1238 -> [] let (prim_constructors : (Prims.string * Prims.string) Prims.list) = - [("Some", "Some"); ("None", "None"); ("Nil", "[]"); ("Cons", "::")] + [("Some", "Some"); ("None", "None"); ("Nil", "[]"); ("Cons", "::")] let (is_prims_ns : FStar_Extraction_ML_Syntax.mlsymbol Prims.list -> Prims.bool) = - fun ns -> ns = ["Prims"] + fun ns -> ns = ["Prims"] let (as_bin_op : FStar_Extraction_ML_Syntax.mlpath -> (FStar_Extraction_ML_Syntax.mlsymbol * (Prims.int * fixity) * Prims.string) FStar_Pervasives_Native.option) = - fun uu____1333 -> + fun uu____1333 -> match uu____1333 with - | (ns, x) -> + | (ns,x) -> if is_prims_ns ns then FStar_List.tryFind - (fun uu____1392 -> - match uu____1392 with | (y, uu____1408, uu____1409) -> x = y) + (fun uu____1392 -> + match uu____1392 with | (y,uu____1408,uu____1409) -> x = y) infix_prim_ops else FStar_Pervasives_Native.None + let (is_bin_op : FStar_Extraction_ML_Syntax.mlpath -> Prims.bool) = - fun p -> - let uu____1447 = as_bin_op p in + fun p -> + let uu____1447 = as_bin_op p in uu____1447 <> FStar_Pervasives_Native.None + let (as_uni_op : FStar_Extraction_ML_Syntax.mlpath -> (FStar_Extraction_ML_Syntax.mlsymbol * Prims.string) FStar_Pervasives_Native.option) = - fun uu____1504 -> + fun uu____1504 -> match uu____1504 with - | (ns, x) -> + | (ns,x) -> if is_prims_ns ns then - let uu____1532 = prim_uni_ops () in + let uu____1532 = prim_uni_ops () in FStar_List.tryFind - (fun uu____1550 -> - match uu____1550 with | (y, uu____1559) -> x = y) uu____1532 + (fun uu____1550 -> + match uu____1550 with | (y,uu____1559) -> x = y) uu____1532 else FStar_Pervasives_Native.None + let (is_uni_op : FStar_Extraction_ML_Syntax.mlpath -> Prims.bool) = - fun p -> - let uu____1580 = as_uni_op p in + fun p -> + let uu____1580 = as_uni_op p in uu____1580 <> FStar_Pervasives_Native.None + let (is_standard_type : FStar_Extraction_ML_Syntax.mlpath -> Prims.bool) = - fun p -> false + fun p -> false let (as_standard_constructor : FStar_Extraction_ML_Syntax.mlpath -> (FStar_Extraction_ML_Syntax.mlsymbol * Prims.string) FStar_Pervasives_Native.option) = - fun uu____1624 -> + fun uu____1624 -> match uu____1624 with - | (ns, x) -> + | (ns,x) -> if is_prims_ns ns then FStar_List.tryFind - (fun uu____1661 -> - match uu____1661 with | (y, uu____1670) -> x = y) + (fun uu____1661 -> + match uu____1661 with | (y,uu____1670) -> x = y) prim_constructors else FStar_Pervasives_Native.None + let (is_standard_constructor : FStar_Extraction_ML_Syntax.mlpath -> Prims.bool) = - fun p -> - let uu____1691 = as_standard_constructor p in + fun p -> + let uu____1691 = as_standard_constructor p in uu____1691 <> FStar_Pervasives_Native.None + let (maybe_paren : ((Prims.int * fixity) * assoc) -> (Prims.int * fixity) -> doc -> doc) = - fun uu____1741 -> - fun inner -> - fun doc1 -> + fun uu____1741 -> + fun inner -> + fun doc1 -> match uu____1741 with - | (outer, side) -> + | (outer,side) -> let noparens _inner _outer side1 = - let uu____1807 = _inner in + let uu____1807 = _inner in match uu____1807 with - | (pi, fi) -> - let uu____1818 = _outer in + | (pi,fi) -> + let uu____1818 = _outer in (match uu____1818 with - | (po, fo) -> + | (po,fo) -> (pi > po) || ((match (fi, side1) with - | (Postfix, Left) -> true - | (Prefix, Right) -> true - | (Infix (Left), Left) -> + | (Postfix ,Left ) -> true + | (Prefix ,Right ) -> true + | (Infix (Left ),Left ) -> (pi = po) && (fo = (Infix Left)) - | (Infix (Right), Right) -> + | (Infix (Right ),Right ) -> (pi = po) && (fo = (Infix Right)) - | (Infix (Left), ILeft) -> + | (Infix (Left ),ILeft ) -> (pi = po) && (fo = (Infix Left)) - | (Infix (Right), IRight) -> + | (Infix (Right ),IRight ) -> (pi = po) && (fo = (Infix Right)) - | (uu____1836, NonAssoc) -> (pi = po) && (fi = fo) - | (uu____1838, uu____1839) -> false))) in + | (uu____1836,NonAssoc ) -> (pi = po) && (fi = fo) + | (uu____1838,uu____1839) -> false))) + in if noparens inner outer side then doc1 else parens doc1 + let (escape_byte_hex : FStar_BaseTypes.byte -> Prims.string) = - fun x -> Prims.op_Hat "\\x" (FStar_Util.hex_string_of_byte x) + fun x -> Prims.op_Hat "\\x" (FStar_Util.hex_string_of_byte x) let (escape_char_hex : FStar_BaseTypes.char -> Prims.string) = - fun x -> escape_byte_hex (FStar_Util.byte_of_char x) + fun x -> escape_byte_hex (FStar_Util.byte_of_char x) let (escape_or : (FStar_BaseTypes.char -> Prims.string) -> FStar_BaseTypes.char -> Prims.string) = - fun fallback -> - fun uu___0_1878 -> + fun fallback -> + fun uu___0_1878 -> if uu___0_1878 = 92 then "\\\\" else @@ -379,16 +410,17 @@ let (escape_or : if FStar_Util.is_symbol uu___0_1878 then FStar_Util.string_of_char uu___0_1878 else fallback uu___0_1878 + let (string_of_mlconstant : FStar_Extraction_ML_Syntax.mlconstant -> Prims.string) = - fun sctt -> + fun sctt -> match sctt with - | FStar_Extraction_ML_Syntax.MLC_Unit -> "()" - | FStar_Extraction_ML_Syntax.MLC_Bool (true) -> "true" - | FStar_Extraction_ML_Syntax.MLC_Bool (false) -> "false" + | FStar_Extraction_ML_Syntax.MLC_Unit -> "()" + | FStar_Extraction_ML_Syntax.MLC_Bool (true ) -> "true" + | FStar_Extraction_ML_Syntax.MLC_Bool (false ) -> "false" | FStar_Extraction_ML_Syntax.MLC_Char c -> - let nc = FStar_Char.int_of_char c in - let uu____1925 = FStar_Util.string_of_int nc in + let nc = FStar_Char.int_of_char c in + let uu____1925 = FStar_Util.string_of_int nc in Prims.op_Hat uu____1925 (if ((nc >= (Prims.parse_int "32")) && @@ -399,59 +431,62 @@ let (string_of_mlconstant : (Prims.op_Hat (FStar_Util.string_of_char c) "*)") else "") | FStar_Extraction_ML_Syntax.MLC_Int - (s, FStar_Pervasives_Native.Some - (FStar_Const.Signed, FStar_Const.Int32)) + (s,FStar_Pervasives_Native.Some + (FStar_Const.Signed ,FStar_Const.Int32 )) -> Prims.op_Hat s "l" | FStar_Extraction_ML_Syntax.MLC_Int - (s, FStar_Pervasives_Native.Some - (FStar_Const.Signed, FStar_Const.Int64)) + (s,FStar_Pervasives_Native.Some + (FStar_Const.Signed ,FStar_Const.Int64 )) -> Prims.op_Hat s "L" | FStar_Extraction_ML_Syntax.MLC_Int - (s, FStar_Pervasives_Native.Some (uu____1967, FStar_Const.Int8)) -> s + (s,FStar_Pervasives_Native.Some (uu____1967,FStar_Const.Int8 )) -> s | FStar_Extraction_ML_Syntax.MLC_Int - (s, FStar_Pervasives_Native.Some (uu____1981, FStar_Const.Int16)) -> - s - | FStar_Extraction_ML_Syntax.MLC_Int (s, FStar_Pervasives_Native.None) -> + (s,FStar_Pervasives_Native.Some (uu____1981,FStar_Const.Int16 )) -> s + | FStar_Extraction_ML_Syntax.MLC_Int (s,FStar_Pervasives_Native.None ) -> Prims.op_Hat "(Prims.parse_int \"" (Prims.op_Hat s "\")") | FStar_Extraction_ML_Syntax.MLC_Float d -> FStar_Util.string_of_float d | FStar_Extraction_ML_Syntax.MLC_Bytes bytes -> let uu____2013 = let uu____2015 = - FStar_Compiler_Bytes.f_encode escape_byte_hex bytes in - Prims.op_Hat uu____2015 "\"" in + FStar_Compiler_Bytes.f_encode escape_byte_hex bytes in + Prims.op_Hat uu____2015 "\"" in Prims.op_Hat "\"" uu____2013 | FStar_Extraction_ML_Syntax.MLC_String chars -> let uu____2021 = let uu____2023 = - FStar_String.collect (escape_or FStar_Util.string_of_char) chars in - Prims.op_Hat uu____2023 "\"" in + FStar_String.collect (escape_or FStar_Util.string_of_char) chars + in + Prims.op_Hat uu____2023 "\"" in Prims.op_Hat "\"" uu____2021 | uu____2027 -> failwith "TODO: extract integer constants properly into OCaml" + let rec (doc_of_mltype' : FStar_Extraction_ML_Syntax.mlsymbol -> level -> FStar_Extraction_ML_Syntax.mlty -> doc) = - fun currentModule -> - fun outer -> - fun ty -> + fun currentModule -> + fun outer -> + fun ty -> match ty with | FStar_Extraction_ML_Syntax.MLTY_Var x -> let escape_tyvar s = if FStar_Util.starts_with s "'_" then FStar_Util.replace_char s 95 117 - else s in + else s in text (escape_tyvar x) | FStar_Extraction_ML_Syntax.MLTY_Tuple tys -> let doc1 = FStar_List.map (doc_of_mltype currentModule (t_prio_tpl, Left)) - tys in + tys + in let doc2 = let uu____2086 = - let uu____2087 = combine (text " * ") doc1 in hbox uu____2087 in - parens uu____2086 in + let uu____2087 = combine (text " * ") doc1 in + hbox uu____2087 in + parens uu____2086 in doc2 - | FStar_Extraction_ML_Syntax.MLTY_Named (args, name) -> + | FStar_Extraction_ML_Syntax.MLTY_Named (args,name) -> let args1 = match args with | [] -> empty @@ -461,127 +496,139 @@ let rec (doc_of_mltype' : let args1 = FStar_List.map (doc_of_mltype currentModule (min_op_prec, NonAssoc)) - args in + args + in let uu____2103 = - let uu____2104 = combine (text ", ") args1 in - hbox uu____2104 in - parens uu____2103 in - let name1 = ptsym currentModule name in - let uu____2108 = reduce1 [args1; text name1] in hbox uu____2108 - | FStar_Extraction_ML_Syntax.MLTY_Fun (t1, uu____2110, t2) -> - let d1 = doc_of_mltype currentModule (t_prio_fun, Left) t1 in - let d2 = doc_of_mltype currentModule (t_prio_fun, Right) t2 in + let uu____2104 = combine (text ", ") args1 in + hbox uu____2104 in + parens uu____2103 + in + let name1 = ptsym currentModule name in + let uu____2108 = reduce1 [args1; text name1] in hbox uu____2108 + | FStar_Extraction_ML_Syntax.MLTY_Fun (t1,uu____2110,t2) -> + let d1 = doc_of_mltype currentModule (t_prio_fun, Left) t1 in + let d2 = doc_of_mltype currentModule (t_prio_fun, Right) t2 in let uu____2114 = - let uu____2115 = reduce1 [d1; text " -> "; d2] in - hbox uu____2115 in + let uu____2115 = reduce1 [d1; text " -> "; d2] in + hbox uu____2115 in maybe_paren outer t_prio_fun uu____2114 - | FStar_Extraction_ML_Syntax.MLTY_Top -> - let uu____2117 = FStar_Extraction_ML_Util.codegen_fsharp () in + | FStar_Extraction_ML_Syntax.MLTY_Top -> + let uu____2117 = FStar_Extraction_ML_Util.codegen_fsharp () in if uu____2117 then text "obj" else text "Obj.t" - | FStar_Extraction_ML_Syntax.MLTY_Erased -> text "unit" + | FStar_Extraction_ML_Syntax.MLTY_Erased -> text "unit" + and (doc_of_mltype : FStar_Extraction_ML_Syntax.mlsymbol -> level -> FStar_Extraction_ML_Syntax.mlty -> doc) = - fun currentModule -> - fun outer -> - fun ty -> - let uu____2129 = FStar_Extraction_ML_Util.resugar_mlty ty in + fun currentModule -> + fun outer -> + fun ty -> + let uu____2129 = FStar_Extraction_ML_Util.resugar_mlty ty in doc_of_mltype' currentModule outer uu____2129 + let rec (doc_of_expr : FStar_Extraction_ML_Syntax.mlsymbol -> level -> FStar_Extraction_ML_Syntax.mlexpr -> doc) = - fun currentModule -> - fun outer -> - fun e -> + fun currentModule -> + fun outer -> + fun e -> match e.FStar_Extraction_ML_Syntax.expr with - | FStar_Extraction_ML_Syntax.MLE_Coerce (e1, t, t') -> - let doc1 = doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in - let uu____2222 = FStar_Extraction_ML_Util.codegen_fsharp () in + | FStar_Extraction_ML_Syntax.MLE_Coerce (e1,t,t') -> + let doc1 = doc_of_expr currentModule (min_op_prec, NonAssoc) e1 + in + let uu____2222 = FStar_Extraction_ML_Util.codegen_fsharp () in if uu____2222 then - let uu____2225 = reduce [text "Prims.unsafe_coerce "; doc1] in + let uu____2225 = reduce [text "Prims.unsafe_coerce "; doc1] in parens uu____2225 else - (let uu____2229 = reduce [text "Obj.magic "; parens doc1] in + (let uu____2229 = reduce [text "Obj.magic "; parens doc1] in parens uu____2229) | FStar_Extraction_ML_Syntax.MLE_Seq es -> let docs = FStar_List.map - (doc_of_expr currentModule (min_op_prec, NonAssoc)) es in + (doc_of_expr currentModule (min_op_prec, NonAssoc)) es + in let docs1 = - FStar_List.map (fun d -> reduce [d; text ";"; hardline]) docs in - let uu____2243 = reduce docs1 in parens uu____2243 + FStar_List.map (fun d -> reduce [d; text ";"; hardline]) docs + in + let uu____2243 = reduce docs1 in parens uu____2243 | FStar_Extraction_ML_Syntax.MLE_Const c -> - let uu____2245 = string_of_mlconstant c in text uu____2245 + let uu____2245 = string_of_mlconstant c in text uu____2245 | FStar_Extraction_ML_Syntax.MLE_Var x -> text x | FStar_Extraction_ML_Syntax.MLE_Name path -> - let uu____2250 = ptsym currentModule path in text uu____2250 - | FStar_Extraction_ML_Syntax.MLE_Record (path, fields) -> + let uu____2250 = ptsym currentModule path in text uu____2250 + | FStar_Extraction_ML_Syntax.MLE_Record (path,fields) -> let for1 uu____2284 = match uu____2284 with - | (name, e1) -> + | (name,e1) -> let doc1 = - doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in + doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in let uu____2295 = let uu____2298 = - let uu____2299 = ptsym currentModule (path, name) in - text uu____2299 in - [uu____2298; text "="; doc1] in - reduce1 uu____2295 in + let uu____2299 = ptsym currentModule (path, name) in + text uu____2299 in + [uu____2298; text "="; doc1] in + reduce1 uu____2295 + in let uu____2306 = - let uu____2307 = FStar_List.map for1 fields in - combine (text "; ") uu____2307 in + let uu____2307 = FStar_List.map for1 fields in + combine (text "; ") uu____2307 in cbrackets uu____2306 - | FStar_Extraction_ML_Syntax.MLE_CTor (ctor, []) -> + | FStar_Extraction_ML_Syntax.MLE_CTor (ctor,[]) -> let name = - let uu____2321 = is_standard_constructor ctor in + let uu____2321 = is_standard_constructor ctor in if uu____2321 then let uu____2325 = - let uu____2332 = as_standard_constructor ctor in - FStar_Option.get uu____2332 in + let uu____2332 = as_standard_constructor ctor in + FStar_Option.get uu____2332 in FStar_Pervasives_Native.snd uu____2325 - else ptctor currentModule ctor in + else ptctor currentModule ctor in text name - | FStar_Extraction_ML_Syntax.MLE_CTor (ctor, args) -> + | FStar_Extraction_ML_Syntax.MLE_CTor (ctor,args) -> let name = - let uu____2359 = is_standard_constructor ctor in + let uu____2359 = is_standard_constructor ctor in if uu____2359 then let uu____2363 = - let uu____2370 = as_standard_constructor ctor in - FStar_Option.get uu____2370 in + let uu____2370 = as_standard_constructor ctor in + FStar_Option.get uu____2370 in FStar_Pervasives_Native.snd uu____2363 - else ptctor currentModule ctor in + else ptctor currentModule ctor in let args1 = FStar_List.map - (doc_of_expr currentModule (min_op_prec, NonAssoc)) args in + (doc_of_expr currentModule (min_op_prec, NonAssoc)) args + in let doc1 = match (name, args1) with - | ("::", x::xs::[]) -> reduce [parens x; text "::"; xs] - | (uu____2403, uu____2404) -> + | ("::",x::xs::[]) -> reduce [parens x; text "::"; xs] + | (uu____2403,uu____2404) -> let uu____2411 = let uu____2414 = let uu____2417 = - let uu____2418 = combine (text ", ") args1 in - parens uu____2418 in - [uu____2417] in - (text name) :: uu____2414 in - reduce1 uu____2411 in + let uu____2418 = combine (text ", ") args1 in + parens uu____2418 in + [uu____2417] in + (text name) :: uu____2414 in + reduce1 uu____2411 + in maybe_paren outer e_app_prio doc1 | FStar_Extraction_ML_Syntax.MLE_Tuple es -> let docs = FStar_List.map - (fun x -> + (fun x -> let uu____2429 = - doc_of_expr currentModule (min_op_prec, NonAssoc) x in - parens uu____2429) es in + doc_of_expr currentModule (min_op_prec, NonAssoc) x in + parens uu____2429) es + in let docs1 = - let uu____2431 = combine (text ", ") docs in parens uu____2431 in + let uu____2431 = combine (text ", ") docs in parens uu____2431 + in docs1 - | FStar_Extraction_ML_Syntax.MLE_Let ((rec_, lets), body) -> + | FStar_Extraction_ML_Syntax.MLE_Let ((rec_,lets),body) -> let pre = if e.FStar_Extraction_ML_Syntax.loc <> @@ -590,39 +637,37 @@ let rec (doc_of_expr : let uu____2448 = let uu____2451 = let uu____2454 = - doc_of_loc e.FStar_Extraction_ML_Syntax.loc in - [uu____2454] in - hardline :: uu____2451 in + doc_of_loc e.FStar_Extraction_ML_Syntax.loc in + [uu____2454] in + hardline :: uu____2451 in reduce uu____2448 - else empty in - let doc1 = doc_of_lets currentModule (rec_, false, lets) in + else empty in + let doc1 = doc_of_lets currentModule (rec_, false, lets) in let body1 = - doc_of_expr currentModule (min_op_prec, NonAssoc) body in + doc_of_expr currentModule (min_op_prec, NonAssoc) body in let uu____2463 = let uu____2464 = let uu____2467 = let uu____2470 = - let uu____2473 = reduce1 [text "in"; body1] in - [uu____2473] in - doc1 :: uu____2470 in - pre :: uu____2467 in - combine hardline uu____2464 in + let uu____2473 = reduce1 [text "in"; body1] in + [uu____2473] in + doc1 :: uu____2470 in + pre :: uu____2467 in + combine hardline uu____2464 in parens uu____2463 - | FStar_Extraction_ML_Syntax.MLE_App (e1, args) -> + | FStar_Extraction_ML_Syntax.MLE_App (e1,args) -> (match ((e1.FStar_Extraction_ML_Syntax.expr), args) with - | (FStar_Extraction_ML_Syntax.MLE_Name p, - { - FStar_Extraction_ML_Syntax.expr = - FStar_Extraction_ML_Syntax.MLE_Fun - (uu____2484::[], scrutinee); - FStar_Extraction_ML_Syntax.mlty = uu____2486; - FStar_Extraction_ML_Syntax.loc = uu____2487;_}::{ + | (FStar_Extraction_ML_Syntax.MLE_Name + p,{ + FStar_Extraction_ML_Syntax.expr = + FStar_Extraction_ML_Syntax.MLE_Fun + (uu____2484::[],scrutinee); + FStar_Extraction_ML_Syntax.mlty = uu____2486; + FStar_Extraction_ML_Syntax.loc = uu____2487;_}::{ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Fun - ((arg, - uu____2489)::[], - possible_match); + ((arg,uu____2489)::[],possible_match); FStar_Extraction_ML_Syntax.mlty = uu____2491; @@ -631,7 +676,7 @@ let rec (doc_of_expr : uu____2492;_}::[]) when let uu____2536 = - FStar_Extraction_ML_Syntax.string_of_mlpath p in + FStar_Extraction_ML_Syntax.string_of_mlpath p in uu____2536 = "FStar.All.try_with" -> let branches = match possible_match with @@ -642,14 +687,14 @@ let rec (doc_of_expr : FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Var arg'; FStar_Extraction_ML_Syntax.mlty = uu____2562; - FStar_Extraction_ML_Syntax.loc = uu____2563;_}, - branches); + FStar_Extraction_ML_Syntax.loc = uu____2563;_},branches); FStar_Extraction_ML_Syntax.mlty = uu____2565; FStar_Extraction_ML_Syntax.loc = uu____2566;_} when arg = arg' -> branches | e2 -> [(FStar_Extraction_ML_Syntax.MLP_Wild, - FStar_Pervasives_Native.None, e2)] in + FStar_Pervasives_Native.None, e2)] + in doc_of_expr currentModule outer { FStar_Extraction_ML_Syntax.expr = @@ -660,42 +705,42 @@ let rec (doc_of_expr : FStar_Extraction_ML_Syntax.loc = (possible_match.FStar_Extraction_ML_Syntax.loc) } - | (FStar_Extraction_ML_Syntax.MLE_Name p, e11::e2::[]) when + | (FStar_Extraction_ML_Syntax.MLE_Name p,e11::e2::[]) when is_bin_op p -> doc_of_binop currentModule p e11 e2 | (FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; FStar_Extraction_ML_Syntax.mlty = uu____2624; - FStar_Extraction_ML_Syntax.loc = uu____2625;_}, - unitVal::[]), - e11::e2::[]) when + FStar_Extraction_ML_Syntax.loc = uu____2625;_},unitVal::[]),e11::e2::[]) + when (is_bin_op p) && (unitVal = FStar_Extraction_ML_Syntax.ml_unit) -> doc_of_binop currentModule p e11 e2 - | (FStar_Extraction_ML_Syntax.MLE_Name p, e11::[]) when + | (FStar_Extraction_ML_Syntax.MLE_Name p,e11::[]) when is_uni_op p -> doc_of_uniop currentModule p e11 | (FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name p; FStar_Extraction_ML_Syntax.mlty = uu____2638; - FStar_Extraction_ML_Syntax.loc = uu____2639;_}, - unitVal::[]), - e11::[]) when + FStar_Extraction_ML_Syntax.loc = uu____2639;_},unitVal::[]),e11::[]) + when (is_uni_op p) && (unitVal = FStar_Extraction_ML_Syntax.ml_unit) -> doc_of_uniop currentModule p e11 | uu____2646 -> - let e2 = doc_of_expr currentModule (e_app_prio, ILeft) e1 in + let e2 = doc_of_expr currentModule (e_app_prio, ILeft) e1 + in let args1 = FStar_List.map - (doc_of_expr currentModule (e_app_prio, IRight)) args in - let uu____2657 = reduce1 (e2 :: args1) in parens uu____2657) - | FStar_Extraction_ML_Syntax.MLE_Proj (e1, f) -> - let e2 = doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in + (doc_of_expr currentModule (e_app_prio, IRight)) args + in + let uu____2657 = reduce1 (e2 :: args1) in parens uu____2657) + | FStar_Extraction_ML_Syntax.MLE_Proj (e1,f) -> + let e2 = doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in let doc1 = - let uu____2662 = FStar_Extraction_ML_Util.codegen_fsharp () in + let uu____2662 = FStar_Extraction_ML_Util.codegen_fsharp () in if uu____2662 then reduce [e2; text "."; text (FStar_Pervasives_Native.snd f)] @@ -704,16 +749,17 @@ let rec (doc_of_expr : let uu____2675 = let uu____2678 = let uu____2681 = - let uu____2682 = ptsym currentModule f in - text uu____2682 in - [uu____2681] in - (text ".") :: uu____2678 in - e2 :: uu____2675 in - reduce uu____2672) in + let uu____2682 = ptsym currentModule f in + text uu____2682 in + [uu____2681] in + (text ".") :: uu____2678 in + e2 :: uu____2675 in + reduce uu____2672) + in doc1 - | FStar_Extraction_ML_Syntax.MLE_Fun (ids, body) -> + | FStar_Extraction_ML_Syntax.MLE_Fun (ids,body) -> let bvar_annot x xt = - let uu____2718 = FStar_Extraction_ML_Util.codegen_fsharp () in + let uu____2718 = FStar_Extraction_ML_Util.codegen_fsharp () in if uu____2718 then let uu____2721 = @@ -725,228 +771,236 @@ let rec (doc_of_expr : let uu____2732 = let uu____2735 = let uu____2738 = - doc_of_mltype currentModule outer xxt in - [uu____2738] in - (text " : ") :: uu____2735 in + doc_of_mltype currentModule outer xxt in + [uu____2738] in + (text " : ") :: uu____2735 in reduce1 uu____2732 - | uu____2740 -> text "" in - [uu____2730; text ")"] in - (text x) :: uu____2727 in - (text "(") :: uu____2724 in + | uu____2740 -> text "" in + [uu____2730; text ")"] in + (text x) :: uu____2727 in + (text "(") :: uu____2724 in reduce1 uu____2721 - else text x in + else text x in let ids1 = FStar_List.map - (fun uu____2759 -> + (fun uu____2759 -> match uu____2759 with - | (x, xt) -> - bvar_annot x (FStar_Pervasives_Native.Some xt)) ids in + | (x,xt) -> bvar_annot x (FStar_Pervasives_Native.Some xt)) + ids + in let body1 = - doc_of_expr currentModule (min_op_prec, NonAssoc) body in + doc_of_expr currentModule (min_op_prec, NonAssoc) body in let doc1 = let uu____2771 = let uu____2774 = - let uu____2777 = reduce1 ids1 in - [uu____2777; text "->"; body1] in - (text "fun") :: uu____2774 in - reduce1 uu____2771 in + let uu____2777 = reduce1 ids1 in + [uu____2777; text "->"; body1] in + (text "fun") :: uu____2774 in + reduce1 uu____2771 in parens doc1 | FStar_Extraction_ML_Syntax.MLE_If - (cond, e1, FStar_Pervasives_Native.None) -> + (cond,e1,FStar_Pervasives_Native.None ) -> let cond1 = - doc_of_expr currentModule (min_op_prec, NonAssoc) cond in + doc_of_expr currentModule (min_op_prec, NonAssoc) cond in let doc1 = let uu____2786 = let uu____2789 = - reduce1 [text "if"; cond1; text "then"; text "begin"] in + reduce1 [text "if"; cond1; text "then"; text "begin"] in let uu____2793 = let uu____2796 = - doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in - [uu____2796; text "end"] in - uu____2789 :: uu____2793 in - combine hardline uu____2786 in + doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in + [uu____2796; text "end"] in + uu____2789 :: uu____2793 in + combine hardline uu____2786 in maybe_paren outer e_bin_prio_if doc1 | FStar_Extraction_ML_Syntax.MLE_If - (cond, e1, FStar_Pervasives_Native.Some e2) -> + (cond,e1,FStar_Pervasives_Native.Some e2) -> let cond1 = - doc_of_expr currentModule (min_op_prec, NonAssoc) cond in + doc_of_expr currentModule (min_op_prec, NonAssoc) cond in let doc1 = let uu____2805 = let uu____2808 = - reduce1 [text "if"; cond1; text "then"; text "begin"] in + reduce1 [text "if"; cond1; text "then"; text "begin"] in let uu____2812 = let uu____2815 = - doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in + doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in let uu____2816 = let uu____2819 = - reduce1 [text "end"; text "else"; text "begin"] in + reduce1 [text "end"; text "else"; text "begin"] in let uu____2823 = let uu____2826 = - doc_of_expr currentModule (min_op_prec, NonAssoc) e2 in - [uu____2826; text "end"] in - uu____2819 :: uu____2823 in - uu____2815 :: uu____2816 in - uu____2808 :: uu____2812 in - combine hardline uu____2805 in + doc_of_expr currentModule (min_op_prec, NonAssoc) e2 + in + [uu____2826; text "end"] in + uu____2819 :: uu____2823 in + uu____2815 :: uu____2816 in + uu____2808 :: uu____2812 in + combine hardline uu____2805 in maybe_paren outer e_bin_prio_if doc1 - | FStar_Extraction_ML_Syntax.MLE_Match (cond, pats) -> + | FStar_Extraction_ML_Syntax.MLE_Match (cond,pats) -> let cond1 = - doc_of_expr currentModule (min_op_prec, NonAssoc) cond in - let pats1 = FStar_List.map (doc_of_branch currentModule) pats in + doc_of_expr currentModule (min_op_prec, NonAssoc) cond in + let pats1 = FStar_List.map (doc_of_branch currentModule) pats in let doc1 = let uu____2865 = - reduce1 [text "match"; parens cond1; text "with"] in - uu____2865 :: pats1 in - let doc2 = combine hardline doc1 in parens doc2 - | FStar_Extraction_ML_Syntax.MLE_Raise (exn, []) -> + reduce1 [text "match"; parens cond1; text "with"] in + uu____2865 :: pats1 in + let doc2 = combine hardline doc1 in parens doc2 + | FStar_Extraction_ML_Syntax.MLE_Raise (exn,[]) -> let uu____2872 = let uu____2875 = let uu____2878 = - let uu____2879 = ptctor currentModule exn in - text uu____2879 in - [uu____2878] in - (text "raise") :: uu____2875 in + let uu____2879 = ptctor currentModule exn in + text uu____2879 in + [uu____2878] in + (text "raise") :: uu____2875 in reduce1 uu____2872 - | FStar_Extraction_ML_Syntax.MLE_Raise (exn, args) -> + | FStar_Extraction_ML_Syntax.MLE_Raise (exn,args) -> let args1 = FStar_List.map - (doc_of_expr currentModule (min_op_prec, NonAssoc)) args in + (doc_of_expr currentModule (min_op_prec, NonAssoc)) args + in let uu____2891 = let uu____2894 = let uu____2897 = - let uu____2898 = ptctor currentModule exn in - text uu____2898 in + let uu____2898 = ptctor currentModule exn in + text uu____2898 in let uu____2900 = let uu____2903 = - let uu____2904 = combine (text ", ") args1 in - parens uu____2904 in - [uu____2903] in - uu____2897 :: uu____2900 in - (text "raise") :: uu____2894 in + let uu____2904 = combine (text ", ") args1 in + parens uu____2904 in + [uu____2903] in + uu____2897 :: uu____2900 in + (text "raise") :: uu____2894 in reduce1 uu____2891 - | FStar_Extraction_ML_Syntax.MLE_Try (e1, pats) -> + | FStar_Extraction_ML_Syntax.MLE_Try (e1,pats) -> let uu____2929 = let uu____2932 = let uu____2935 = - doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in + doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in let uu____2936 = let uu____2939 = let uu____2942 = let uu____2943 = - FStar_List.map (doc_of_branch currentModule) pats in - combine hardline uu____2943 in - [uu____2942] in - (text "with") :: uu____2939 in - uu____2935 :: uu____2936 in - (text "try") :: uu____2932 in + FStar_List.map (doc_of_branch currentModule) pats in + combine hardline uu____2943 in + [uu____2942] in + (text "with") :: uu____2939 in + uu____2935 :: uu____2936 in + (text "try") :: uu____2932 in combine hardline uu____2929 - | FStar_Extraction_ML_Syntax.MLE_TApp (head1, ty_args) -> + | FStar_Extraction_ML_Syntax.MLE_TApp (head1,ty_args) -> doc_of_expr currentModule outer head1 + and (doc_of_binop : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr -> doc) = - fun currentModule -> - fun p -> - fun e1 -> - fun e2 -> + fun currentModule -> + fun p -> + fun e1 -> + fun e2 -> let uu____2967 = - let uu____2981 = as_bin_op p in FStar_Option.get uu____2981 in + let uu____2981 = as_bin_op p in FStar_Option.get uu____2981 in match uu____2967 with - | (uu____3010, prio, txt) -> - let e11 = doc_of_expr currentModule (prio, Left) e1 in - let e21 = doc_of_expr currentModule (prio, Right) e2 in - let doc1 = reduce1 [e11; text txt; e21] in parens doc1 + | (uu____3010,prio,txt) -> + let e11 = doc_of_expr currentModule (prio, Left) e1 in + let e21 = doc_of_expr currentModule (prio, Right) e2 in + let doc1 = reduce1 [e11; text txt; e21] in parens doc1 + and (doc_of_uniop : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_Syntax.mlexpr -> doc) = - fun currentModule -> - fun p -> - fun e1 -> + fun currentModule -> + fun p -> + fun e1 -> let uu____3034 = - let uu____3041 = as_uni_op p in FStar_Option.get uu____3041 in + let uu____3041 = as_uni_op p in FStar_Option.get uu____3041 in match uu____3034 with - | (uu____3056, txt) -> - let e11 = doc_of_expr currentModule (min_op_prec, NonAssoc) e1 in - let doc1 = reduce1 [text txt; parens e11] in parens doc1 + | (uu____3056,txt) -> + let e11 = doc_of_expr currentModule (min_op_prec, NonAssoc) e1 + in + let doc1 = reduce1 [text txt; parens e11] in parens doc1 + and (doc_of_pattern : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlpattern -> doc) = - fun currentModule -> - fun pattern -> + fun currentModule -> + fun pattern -> match pattern with - | FStar_Extraction_ML_Syntax.MLP_Wild -> text "_" + | FStar_Extraction_ML_Syntax.MLP_Wild -> text "_" | FStar_Extraction_ML_Syntax.MLP_Const c -> - let uu____3069 = string_of_mlconstant c in text uu____3069 + let uu____3069 = string_of_mlconstant c in text uu____3069 | FStar_Extraction_ML_Syntax.MLP_Var x -> text x - | FStar_Extraction_ML_Syntax.MLP_Record (path, fields) -> + | FStar_Extraction_ML_Syntax.MLP_Record (path,fields) -> let for1 uu____3105 = match uu____3105 with - | (name, p) -> + | (name,p) -> let uu____3115 = let uu____3118 = - let uu____3119 = ptsym currentModule (path, name) in - text uu____3119 in + let uu____3119 = ptsym currentModule (path, name) in + text uu____3119 in let uu____3125 = let uu____3128 = - let uu____3131 = doc_of_pattern currentModule p in - [uu____3131] in - (text "=") :: uu____3128 in - uu____3118 :: uu____3125 in - reduce1 uu____3115 in + let uu____3131 = doc_of_pattern currentModule p in + [uu____3131] in + (text "=") :: uu____3128 in + uu____3118 :: uu____3125 in + reduce1 uu____3115 + in let uu____3133 = - let uu____3134 = FStar_List.map for1 fields in - combine (text "; ") uu____3134 in + let uu____3134 = FStar_List.map for1 fields in + combine (text "; ") uu____3134 in cbrackets uu____3133 - | FStar_Extraction_ML_Syntax.MLP_CTor (ctor, []) -> + | FStar_Extraction_ML_Syntax.MLP_CTor (ctor,[]) -> let name = - let uu____3148 = is_standard_constructor ctor in + let uu____3148 = is_standard_constructor ctor in if uu____3148 then let uu____3152 = - let uu____3159 = as_standard_constructor ctor in - FStar_Option.get uu____3159 in + let uu____3159 = as_standard_constructor ctor in + FStar_Option.get uu____3159 in FStar_Pervasives_Native.snd uu____3152 - else ptctor currentModule ctor in + else ptctor currentModule ctor in text name - | FStar_Extraction_ML_Syntax.MLP_CTor (ctor, pats) -> + | FStar_Extraction_ML_Syntax.MLP_CTor (ctor,pats) -> let name = - let uu____3186 = is_standard_constructor ctor in + let uu____3186 = is_standard_constructor ctor in if uu____3186 then let uu____3190 = - let uu____3197 = as_standard_constructor ctor in - FStar_Option.get uu____3197 in + let uu____3197 = as_standard_constructor ctor in + FStar_Option.get uu____3197 in FStar_Pervasives_Native.snd uu____3190 - else ptctor currentModule ctor in + else ptctor currentModule ctor in let doc1 = match (name, pats) with - | ("::", x::xs::[]) -> + | ("::",x::xs::[]) -> let uu____3226 = let uu____3229 = - let uu____3230 = doc_of_pattern currentModule x in - parens uu____3230 in + let uu____3230 = doc_of_pattern currentModule x in + parens uu____3230 in let uu____3231 = let uu____3234 = - let uu____3237 = doc_of_pattern currentModule xs in - [uu____3237] in - (text "::") :: uu____3234 in - uu____3229 :: uu____3231 in + let uu____3237 = doc_of_pattern currentModule xs in + [uu____3237] in + (text "::") :: uu____3234 in + uu____3229 :: uu____3231 in reduce uu____3226 - | (uu____3239, (FStar_Extraction_ML_Syntax.MLP_Tuple + | (uu____3239,(FStar_Extraction_ML_Syntax.MLP_Tuple uu____3240)::[]) -> let uu____3247 = let uu____3250 = let uu____3253 = - let uu____3254 = FStar_List.hd pats in - doc_of_pattern currentModule uu____3254 in - [uu____3253] in - (text name) :: uu____3250 in + let uu____3254 = FStar_List.hd pats in + doc_of_pattern currentModule uu____3254 in + [uu____3253] in + (text name) :: uu____3250 in reduce1 uu____3247 | uu____3255 -> let uu____3263 = @@ -954,61 +1008,67 @@ and (doc_of_pattern : let uu____3269 = let uu____3270 = let uu____3271 = - FStar_List.map (doc_of_pattern currentModule) pats in - combine (text ", ") uu____3271 in - parens uu____3270 in - [uu____3269] in - (text name) :: uu____3266 in - reduce1 uu____3263 in + FStar_List.map (doc_of_pattern currentModule) pats + in + combine (text ", ") uu____3271 in + parens uu____3270 in + [uu____3269] in + (text name) :: uu____3266 in + reduce1 uu____3263 + in maybe_paren (min_op_prec, NonAssoc) e_app_prio doc1 | FStar_Extraction_ML_Syntax.MLP_Tuple ps -> - let ps1 = FStar_List.map (doc_of_pattern currentModule) ps in - let uu____3286 = combine (text ", ") ps1 in parens uu____3286 + let ps1 = FStar_List.map (doc_of_pattern currentModule) ps in + let uu____3286 = combine (text ", ") ps1 in parens uu____3286 | FStar_Extraction_ML_Syntax.MLP_Branch ps -> - let ps1 = FStar_List.map (doc_of_pattern currentModule) ps in - let ps2 = FStar_List.map parens ps1 in combine (text " | ") ps2 + let ps1 = FStar_List.map (doc_of_pattern currentModule) ps in + let ps2 = FStar_List.map parens ps1 in combine (text " | ") ps2 + and (doc_of_branch : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlbranch -> doc) = - fun currentModule -> - fun uu____3299 -> + fun currentModule -> + fun uu____3299 -> match uu____3299 with - | (p, cond, e) -> + | (p,cond,e) -> let case = match cond with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____3309 = let uu____3312 = - let uu____3315 = doc_of_pattern currentModule p in - [uu____3315] in - (text "|") :: uu____3312 in + let uu____3315 = doc_of_pattern currentModule p in + [uu____3315] in + (text "|") :: uu____3312 in reduce1 uu____3309 | FStar_Pervasives_Native.Some c -> - let c1 = doc_of_expr currentModule (min_op_prec, NonAssoc) c in + let c1 = doc_of_expr currentModule (min_op_prec, NonAssoc) c + in let uu____3319 = let uu____3322 = - let uu____3325 = doc_of_pattern currentModule p in - [uu____3325; text "when"; c1] in - (text "|") :: uu____3322 in - reduce1 uu____3319 in + let uu____3325 = doc_of_pattern currentModule p in + [uu____3325; text "when"; c1] in + (text "|") :: uu____3322 in + reduce1 uu____3319 + in let uu____3328 = - let uu____3331 = reduce1 [case; text "->"; text "begin"] in + let uu____3331 = reduce1 [case; text "->"; text "begin"] in let uu____3334 = let uu____3337 = - doc_of_expr currentModule (min_op_prec, NonAssoc) e in - [uu____3337; text "end"] in - uu____3331 :: uu____3334 in + doc_of_expr currentModule (min_op_prec, NonAssoc) e in + [uu____3337; text "end"] in + uu____3331 :: uu____3334 in combine hardline uu____3328 + and (doc_of_lets : FStar_Extraction_ML_Syntax.mlsymbol -> (FStar_Extraction_ML_Syntax.mlletflavor * Prims.bool * FStar_Extraction_ML_Syntax.mllb Prims.list) -> doc) = - fun currentModule -> - fun uu____3340 -> + fun currentModule -> + fun uu____3340 -> match uu____3340 with - | (rec_, top_level, lets) -> + | (rec_,top_level,lets) -> let for1 uu____3365 = match uu____3365 with | { FStar_Extraction_ML_Syntax.mllb_name = name; @@ -1017,8 +1077,9 @@ and (doc_of_lets : FStar_Extraction_ML_Syntax.mllb_def = e; FStar_Extraction_ML_Syntax.mllb_meta = uu____3370; FStar_Extraction_ML_Syntax.print_typ = pt;_} -> - let e1 = doc_of_expr currentModule (min_op_prec, NonAssoc) e in - let ids = [] in + let e1 = doc_of_expr currentModule (min_op_prec, NonAssoc) e + in + let ids = [] in let ty_annot = if Prims.op_Negation pt then text "" @@ -1026,105 +1087,117 @@ and (doc_of_lets : (let uu____3386 = (FStar_Extraction_ML_Util.codegen_fsharp ()) && ((rec_ = FStar_Extraction_ML_Syntax.Rec) || - top_level) in + top_level) + in if uu____3386 then match tys with | FStar_Pervasives_Native.Some - (uu____3389::uu____3390, uu____3391) -> text "" - | FStar_Pervasives_Native.None -> text "" - | FStar_Pervasives_Native.Some ([], ty) -> + (uu____3389::uu____3390,uu____3391) -> text "" + | FStar_Pervasives_Native.None -> text "" + | FStar_Pervasives_Native.Some ([],ty) -> let ty1 = doc_of_mltype currentModule - (min_op_prec, NonAssoc) ty in + (min_op_prec, NonAssoc) ty + in reduce1 [text ":"; ty1] else if top_level then (match tys with - | FStar_Pervasives_Native.None -> text "" - | FStar_Pervasives_Native.Some ([], ty) -> + | FStar_Pervasives_Native.None -> text "" + | FStar_Pervasives_Native.Some ([],ty) -> let ty1 = doc_of_mltype currentModule - (min_op_prec, NonAssoc) ty in + (min_op_prec, NonAssoc) ty + in reduce1 [text ":"; ty1] - | FStar_Pervasives_Native.Some (vs, ty) -> + | FStar_Pervasives_Native.Some (vs,ty) -> let ty1 = doc_of_mltype currentModule - (min_op_prec, NonAssoc) ty in + (min_op_prec, NonAssoc) ty + in let vars = let uu____3415 = FStar_All.pipe_right vs (FStar_List.map - (fun x -> + (fun x -> doc_of_mltype currentModule (min_op_prec, NonAssoc) (FStar_Extraction_ML_Syntax.MLTY_Var - x))) in - FStar_All.pipe_right uu____3415 reduce1 in + x))) + in + FStar_All.pipe_right uu____3415 reduce1 in reduce1 [text ":"; vars; text "."; ty1]) - else text "") in + else text "") + in let uu____3434 = let uu____3437 = - let uu____3440 = reduce1 ids in - [uu____3440; ty_annot; text "="; e1] in - (text name) :: uu____3437 in - reduce1 uu____3434 in + let uu____3440 = reduce1 ids in + [uu____3440; ty_annot; text "="; e1] in + (text name) :: uu____3437 in + reduce1 uu____3434 + in let letdoc = if rec_ = FStar_Extraction_ML_Syntax.Rec then reduce1 [text "let"; text "rec"] - else text "let" in - let lets1 = FStar_List.map for1 lets in + else text "let" in + let lets1 = FStar_List.map for1 lets in let lets2 = FStar_List.mapi - (fun i -> - fun doc1 -> + (fun i -> + fun doc1 -> reduce1 [if i = (Prims.parse_int "0") then letdoc else text "and"; - doc1]) lets1 in + doc1]) lets1 + in combine hardline lets2 + and (doc_of_loc : FStar_Extraction_ML_Syntax.mlloc -> doc) = - fun uu____3466 -> + fun uu____3466 -> match uu____3466 with - | (lineno, file) -> + | (lineno,file) -> let uu____3473 = ((FStar_Options.no_location_info ()) || (FStar_Extraction_ML_Util.codegen_fsharp ())) - || (file = "") in + || (file = "") + in if uu____3473 then empty else - (let file1 = FStar_Util.basename file in + (let file1 = FStar_Util.basename file in let uu____3482 = let uu____3485 = - let uu____3488 = num lineno in + let uu____3488 = num lineno in [uu____3488; - text (Prims.op_Hat "\"" (Prims.op_Hat file1 "\""))] in - (text "#") :: uu____3485 in + text (Prims.op_Hat "\"" (Prims.op_Hat file1 "\""))] in + (text "#") :: uu____3485 in reduce1 uu____3482) + let (doc_of_mltydecl : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mltydecl -> doc) = - fun currentModule -> - fun decls -> + fun currentModule -> + fun decls -> let for1 uu____3532 = match uu____3532 with - | (uu____3555, x, mangle_opt, tparams, uu____3559, body) -> + | (uu____3555,x,mangle_opt,tparams,uu____3559,body) -> let x1 = match mangle_opt with - | FStar_Pervasives_Native.None -> x - | FStar_Pervasives_Native.Some y -> y in + | FStar_Pervasives_Native.None -> x + | FStar_Pervasives_Native.Some y -> y in let tparams1 = match tparams with | [] -> empty | x2::[] -> text x2 | uu____3594 -> - let doc1 = FStar_List.map (fun x2 -> text x2) tparams in - let uu____3605 = combine (text ", ") doc1 in - parens uu____3605 in + let doc1 = FStar_List.map (fun x2 -> text x2) tparams in + let uu____3605 = combine (text ", ") doc1 in + parens uu____3605 + in let forbody body1 = match body1 with | FStar_Extraction_ML_Syntax.MLTD_Abbrev ty -> @@ -1132,125 +1205,141 @@ let (doc_of_mltydecl : | FStar_Extraction_ML_Syntax.MLTD_Record fields -> let forfield uu____3632 = match uu____3632 with - | (name, ty) -> - let name1 = text name in + | (name,ty) -> + let name1 = text name in let ty1 = doc_of_mltype currentModule (min_op_prec, NonAssoc) - ty in - reduce1 [name1; text ":"; ty1] in + ty + in + reduce1 [name1; text ":"; ty1] + in let uu____3645 = - let uu____3646 = FStar_List.map forfield fields in - combine (text "; ") uu____3646 in + let uu____3646 = FStar_List.map forfield fields in + combine (text "; ") uu____3646 in cbrackets uu____3645 | FStar_Extraction_ML_Syntax.MLTD_DType ctors -> let forctor uu____3687 = match uu____3687 with - | (name, tys) -> - let uu____3718 = FStar_List.split tys in + | (name,tys) -> + let uu____3718 = FStar_List.split tys in (match uu____3718 with - | (_names, tys1) -> + | (_names,tys1) -> (match tys1 with | [] -> text name | uu____3741 -> let tys2 = FStar_List.map (doc_of_mltype currentModule - (t_prio_tpl, Left)) tys1 in - let tys3 = combine (text " * ") tys2 in - reduce1 [text name; text "of"; tys3])) in - let ctors1 = FStar_List.map forctor ctors in + (t_prio_tpl, Left)) tys1 + in + let tys3 = combine (text " * ") tys2 in + reduce1 [text name; text "of"; tys3])) + in + let ctors1 = FStar_List.map forctor ctors in let ctors2 = - FStar_List.map (fun d -> reduce1 [text "|"; d]) ctors1 in - combine hardline ctors2 in + FStar_List.map (fun d -> reduce1 [text "|"; d]) ctors1 + in + combine hardline ctors2 + in let doc1 = let uu____3772 = let uu____3775 = let uu____3778 = - let uu____3779 = ptsym currentModule ([], x1) in - text uu____3779 in - [uu____3778] in - tparams1 :: uu____3775 in - reduce1 uu____3772 in + let uu____3779 = ptsym currentModule ([], x1) in + text uu____3779 in + [uu____3778] in + tparams1 :: uu____3775 in + reduce1 uu____3772 in (match body with - | FStar_Pervasives_Native.None -> doc1 + | FStar_Pervasives_Native.None -> doc1 | FStar_Pervasives_Native.Some body1 -> - let body2 = forbody body1 in + let body2 = forbody body1 in let uu____3788 = - let uu____3791 = reduce1 [doc1; text "="] in - [uu____3791; body2] in - combine hardline uu____3788) in - let doc1 = FStar_List.map for1 decls in + let uu____3791 = reduce1 [doc1; text "="] in + [uu____3791; body2] in + combine hardline uu____3788) + in + let doc1 = FStar_List.map for1 decls in let doc2 = if (FStar_List.length doc1) > (Prims.parse_int "0") then let uu____3799 = let uu____3802 = - let uu____3805 = combine (text " \n and ") doc1 in [uu____3805] in - (text "type") :: uu____3802 in + let uu____3805 = combine (text " \n and ") doc1 in + [uu____3805] in + (text "type") :: uu____3802 in reduce1 uu____3799 - else text "" in + else text "" in doc2 + let rec (doc_of_sig1 : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlsig1 -> doc) = - fun currentModule -> - fun s -> + fun currentModule -> + fun s -> match s with - | FStar_Extraction_ML_Syntax.MLS_Mod (x, subsig) -> + | FStar_Extraction_ML_Syntax.MLS_Mod (x,subsig) -> let uu____3841 = - let uu____3844 = reduce1 [text "module"; text x; text "="] in + let uu____3844 = reduce1 [text "module"; text x; text "="] in let uu____3847 = - let uu____3850 = doc_of_sig currentModule subsig in + let uu____3850 = doc_of_sig currentModule subsig in let uu____3851 = - let uu____3854 = reduce1 [text "end"] in [uu____3854] in - uu____3850 :: uu____3851 in - uu____3844 :: uu____3847 in + let uu____3854 = reduce1 [text "end"] in [uu____3854] in + uu____3850 :: uu____3851 in + uu____3844 :: uu____3847 in combine hardline uu____3841 - | FStar_Extraction_ML_Syntax.MLS_Exn (x, []) -> + | FStar_Extraction_ML_Syntax.MLS_Exn (x,[]) -> reduce1 [text "exception"; text x] - | FStar_Extraction_ML_Syntax.MLS_Exn (x, args) -> + | FStar_Extraction_ML_Syntax.MLS_Exn (x,args) -> let args1 = FStar_List.map - (doc_of_mltype currentModule (min_op_prec, NonAssoc)) args in + (doc_of_mltype currentModule (min_op_prec, NonAssoc)) args + in let args2 = - let uu____3874 = combine (text " * ") args1 in parens uu____3874 in + let uu____3874 = combine (text " * ") args1 in parens uu____3874 + in reduce1 [text "exception"; text x; text "of"; args2] - | FStar_Extraction_ML_Syntax.MLS_Val (x, (uu____3879, ty)) -> - let ty1 = doc_of_mltype currentModule (min_op_prec, NonAssoc) ty in + | FStar_Extraction_ML_Syntax.MLS_Val (x,(uu____3879,ty)) -> + let ty1 = doc_of_mltype currentModule (min_op_prec, NonAssoc) ty + in reduce1 [text "val"; text x; text ": "; ty1] | FStar_Extraction_ML_Syntax.MLS_Ty decls -> doc_of_mltydecl currentModule decls + and (doc_of_sig : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlsig -> doc) = - fun currentModule -> - fun s -> - let docs = FStar_List.map (doc_of_sig1 currentModule) s in + fun currentModule -> + fun s -> + let docs = FStar_List.map (doc_of_sig1 currentModule) s in let docs1 = - FStar_List.map (fun x -> reduce [x; hardline; hardline]) docs in + FStar_List.map (fun x -> reduce [x; hardline; hardline]) docs in reduce docs1 + let (doc_of_mod1 : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlmodule1 -> doc) = - fun currentModule -> - fun m -> + fun currentModule -> + fun m -> match m with - | FStar_Extraction_ML_Syntax.MLM_Exn (x, []) -> + | FStar_Extraction_ML_Syntax.MLM_Exn (x,[]) -> reduce1 [text "exception"; text x] - | FStar_Extraction_ML_Syntax.MLM_Exn (x, args) -> - let args1 = FStar_List.map FStar_Pervasives_Native.snd args in + | FStar_Extraction_ML_Syntax.MLM_Exn (x,args) -> + let args1 = FStar_List.map FStar_Pervasives_Native.snd args in let args2 = FStar_List.map - (doc_of_mltype currentModule (min_op_prec, NonAssoc)) args1 in + (doc_of_mltype currentModule (min_op_prec, NonAssoc)) args1 + in let args3 = - let uu____3958 = combine (text " * ") args2 in parens uu____3958 in + let uu____3958 = combine (text " * ") args2 in parens uu____3958 + in reduce1 [text "exception"; text x; text "of"; args3] | FStar_Extraction_ML_Syntax.MLM_Ty decls -> doc_of_mltydecl currentModule decls - | FStar_Extraction_ML_Syntax.MLM_Let (rec_, lets) -> + | FStar_Extraction_ML_Syntax.MLM_Let (rec_,lets) -> doc_of_lets currentModule (rec_, true, lets) | FStar_Extraction_ML_Syntax.MLM_Top e -> let uu____3974 = @@ -1258,77 +1347,87 @@ let (doc_of_mod1 : let uu____3980 = let uu____3983 = let uu____3986 = - doc_of_expr currentModule (min_op_prec, NonAssoc) e in - [uu____3986] in - (text "=") :: uu____3983 in - (text "_") :: uu____3980 in - (text "let") :: uu____3977 in + doc_of_expr currentModule (min_op_prec, NonAssoc) e in + [uu____3986] in + (text "=") :: uu____3983 in + (text "_") :: uu____3980 in + (text "let") :: uu____3977 in reduce1 uu____3974 | FStar_Extraction_ML_Syntax.MLM_Loc loc -> doc_of_loc loc + let (doc_of_mod : FStar_Extraction_ML_Syntax.mlsymbol -> FStar_Extraction_ML_Syntax.mlmodule -> doc) = - fun currentModule -> - fun m -> + fun currentModule -> + fun m -> let docs = FStar_List.map - (fun x -> - let doc1 = doc_of_mod1 currentModule x in + (fun x -> + let doc1 = doc_of_mod1 currentModule x in [doc1; (match x with | FStar_Extraction_ML_Syntax.MLM_Loc uu____4016 -> empty | uu____4017 -> hardline); - hardline]) m in + hardline]) m + in reduce (FStar_List.flatten docs) + let rec (doc_of_mllib_r : FStar_Extraction_ML_Syntax.mllib -> (Prims.string * doc) Prims.list) = - fun uu____4030 -> + fun uu____4030 -> match uu____4030 with | FStar_Extraction_ML_Syntax.MLLib mllib -> let rec for1_sig uu____4100 = match uu____4100 with - | (x, sigmod, FStar_Extraction_ML_Syntax.MLLib sub1) -> - let x1 = FStar_Extraction_ML_Util.flatten_mlpath x in + | (x,sigmod,FStar_Extraction_ML_Syntax.MLLib sub1) -> + let x1 = FStar_Extraction_ML_Util.flatten_mlpath x in let head1 = - reduce1 [text "module"; text x1; text ":"; text "sig"] in - let tail1 = reduce1 [text "end"] in + reduce1 [text "module"; text x1; text ":"; text "sig"] in + let tail1 = reduce1 [text "end"] in let doc1 = FStar_Option.map - (fun uu____4160 -> + (fun uu____4160 -> match uu____4160 with - | (s, uu____4166) -> doc_of_sig x1 s) sigmod in - let sub2 = FStar_List.map for1_sig sub1 in + | (s,uu____4166) -> doc_of_sig x1 s) sigmod + in + let sub2 = FStar_List.map for1_sig sub1 in let sub3 = - FStar_List.map (fun x2 -> reduce [x2; hardline; hardline]) - sub2 in + FStar_List.map (fun x2 -> reduce [x2; hardline; hardline]) + sub2 + in let uu____4187 = let uu____4190 = let uu____4193 = - let uu____4196 = reduce sub3 in - [uu____4196; cat tail1 hardline] in + let uu____4196 = reduce sub3 in + [uu____4196; cat tail1 hardline] in (match doc1 with - | FStar_Pervasives_Native.None -> empty + | FStar_Pervasives_Native.None -> empty | FStar_Pervasives_Native.Some s -> cat s hardline) :: - uu____4193 in - (cat head1 hardline) :: uu____4190 in + uu____4193 + in + (cat head1 hardline) :: uu____4190 in reduce uu____4187 + and for1_mod istop uu____4199 = match uu____4199 with - | (mod_name1, sigmod, FStar_Extraction_ML_Syntax.MLLib sub1) -> + | (mod_name1,sigmod,FStar_Extraction_ML_Syntax.MLLib sub1) -> let target_mod_name = - FStar_Extraction_ML_Util.flatten_mlpath mod_name1 in + FStar_Extraction_ML_Util.flatten_mlpath mod_name1 in let maybe_open_pervasives = match mod_name1 with - | ("FStar"::[], "Pervasives") -> [] + | ("FStar"::[],"Pervasives") -> [] | uu____4281 -> let pervasives1 = FStar_Extraction_ML_Util.flatten_mlpath - (["FStar"], "Pervasives") in - [hardline; text (Prims.op_Hat "open " pervasives1)] in + (["FStar"], "Pervasives") + in + [hardline; text (Prims.op_Hat "open " pervasives1)] + in let head1 = let uu____4302 = - let uu____4305 = FStar_Extraction_ML_Util.codegen_fsharp () in + let uu____4305 = FStar_Extraction_ML_Util.codegen_fsharp () + in if uu____4305 then [text "module"; text target_mod_name] else @@ -1338,75 +1437,87 @@ let rec (doc_of_mllib_r : text target_mod_name; text "="; text "struct"] - else [] in - reduce1 uu____4302 in + else [] + in + reduce1 uu____4302 in let tail1 = if Prims.op_Negation istop then reduce1 [text "end"] - else reduce1 [] in + else reduce1 [] in let doc1 = FStar_Option.map - (fun uu____4336 -> + (fun uu____4336 -> match uu____4336 with - | (uu____4341, m) -> doc_of_mod target_mod_name m) - sigmod in - let sub2 = FStar_List.map (for1_mod false) sub1 in + | (uu____4341,m) -> doc_of_mod target_mod_name m) sigmod + in + let sub2 = FStar_List.map (for1_mod false) sub1 in let sub3 = - FStar_List.map (fun x -> reduce [x; hardline; hardline]) sub2 in + FStar_List.map (fun x -> reduce [x; hardline; hardline]) + sub2 + in let prefix1 = - let uu____4367 = FStar_Extraction_ML_Util.codegen_fsharp () in + let uu____4367 = FStar_Extraction_ML_Util.codegen_fsharp () + in if uu____4367 then [cat (text "#light \"off\"") hardline] - else [] in + else [] in let uu____4375 = let uu____4378 = let uu____4381 = let uu____4384 = let uu____4387 = let uu____4390 = - let uu____4393 = reduce sub3 in - [uu____4393; cat tail1 hardline] in + let uu____4393 = reduce sub3 in + [uu____4393; cat tail1 hardline] in (match doc1 with - | FStar_Pervasives_Native.None -> empty + | FStar_Pervasives_Native.None -> empty | FStar_Pervasives_Native.Some s -> cat s hardline) - :: uu____4390 in - hardline :: uu____4387 in - FStar_List.append maybe_open_pervasives uu____4384 in + :: uu____4390 + in + hardline :: uu____4387 in + FStar_List.append maybe_open_pervasives uu____4384 in FStar_List.append [head1; hardline; text "open Prims"] - uu____4381 in - FStar_List.append prefix1 uu____4378 in - FStar_All.pipe_left reduce uu____4375 in + uu____4381 + in + FStar_List.append prefix1 uu____4378 in + FStar_All.pipe_left reduce uu____4375 + in let docs = FStar_List.map - (fun uu____4437 -> + (fun uu____4437 -> match uu____4437 with - | (x, s, m) -> - let uu____4494 = FStar_Extraction_ML_Util.flatten_mlpath x in - let uu____4496 = for1_mod true (x, s, m) in - (uu____4494, uu____4496)) mllib in + | (x,s,m) -> + let uu____4494 = FStar_Extraction_ML_Util.flatten_mlpath x + in + let uu____4496 = for1_mod true (x, s, m) in + (uu____4494, uu____4496)) mllib + in docs + let (pretty : Prims.int -> doc -> Prims.string) = - fun sz -> fun uu____4525 -> match uu____4525 with | Doc doc1 -> doc1 + fun sz -> fun uu____4525 -> match uu____4525 with | Doc doc1 -> doc1 let (doc_of_mllib : FStar_Extraction_ML_Syntax.mllib -> (Prims.string * doc) Prims.list) = - fun mllib -> doc_of_mllib_r mllib + fun mllib -> doc_of_mllib_r mllib let (string_of_mlexpr : FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_Syntax.mlexpr -> Prims.string) = - fun cmod -> - fun e -> + fun cmod -> + fun e -> let doc1 = - let uu____4556 = FStar_Extraction_ML_Util.flatten_mlpath cmod in - doc_of_expr uu____4556 (min_op_prec, NonAssoc) e in + let uu____4556 = FStar_Extraction_ML_Util.flatten_mlpath cmod in + doc_of_expr uu____4556 (min_op_prec, NonAssoc) e in pretty (Prims.parse_int "0") doc1 + let (string_of_mlty : FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_Syntax.mlty -> Prims.string) = - fun cmod -> - fun e -> + fun cmod -> + fun e -> let doc1 = - let uu____4572 = FStar_Extraction_ML_Util.flatten_mlpath cmod in - doc_of_mltype uu____4572 (min_op_prec, NonAssoc) e in - pretty (Prims.parse_int "0") doc1 \ No newline at end of file + let uu____4572 = FStar_Extraction_ML_Util.flatten_mlpath cmod in + doc_of_mltype uu____4572 (min_op_prec, NonAssoc) e in + pretty (Prims.parse_int "0") doc1 + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Extraction_ML_Modul.ml b/src/ocaml-output/FStar_Extraction_ML_Modul.ml index b0e2ea4a8e4..9f6c8a5f788 100644 --- a/src/ocaml-output/FStar_Extraction_ML_Modul.ml +++ b/src/ocaml-output/FStar_Extraction_ML_Modul.ml @@ -5,17 +5,18 @@ let (fail_exp : FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun lid -> - fun t -> + fun lid -> + fun t -> let uu____25 = let uu____32 = let uu____33 = let uu____50 = FStar_Syntax_Syntax.fvar FStar_Parser_Const.failwith_lid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let uu____53 = - let uu____64 = FStar_Syntax_Syntax.iarg t in + let uu____64 = FStar_Syntax_Syntax.iarg t in let uu____73 = let uu____84 = let uu____93 = @@ -25,48 +26,54 @@ let (fail_exp : let uu____103 = let uu____109 = let uu____111 = - FStar_Syntax_Print.lid_to_string lid in - Prims.op_Hat "Not yet implemented:" uu____111 in - (uu____109, FStar_Range.dummyRange) in - FStar_Const.Const_string uu____103 in - FStar_Syntax_Syntax.Tm_constant uu____102 in - FStar_Syntax_Syntax.mk uu____101 in + FStar_Syntax_Print.lid_to_string lid in + Prims.op_Hat "Not yet implemented:" uu____111 + in + (uu____109, FStar_Range.dummyRange) in + FStar_Const.Const_string uu____103 in + FStar_Syntax_Syntax.Tm_constant uu____102 in + FStar_Syntax_Syntax.mk uu____101 in uu____94 FStar_Pervasives_Native.None - FStar_Range.dummyRange in - FStar_All.pipe_left FStar_Syntax_Syntax.as_arg uu____93 in - [uu____84] in - uu____64 :: uu____73 in - (uu____50, uu____53) in - FStar_Syntax_Syntax.Tm_app uu____33 in - FStar_Syntax_Syntax.mk uu____32 in + FStar_Range.dummyRange + in + FStar_All.pipe_left FStar_Syntax_Syntax.as_arg uu____93 in + [uu____84] in + uu____64 :: uu____73 in + (uu____50, uu____53) in + FStar_Syntax_Syntax.Tm_app uu____33 in + FStar_Syntax_Syntax.mk uu____32 in uu____25 FStar_Pervasives_Native.None FStar_Range.dummyRange + let (always_fail : FStar_Ident.lident -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.letbinding) = - fun lid -> - fun t -> + fun lid -> + fun t -> let imp = - let uu____177 = FStar_Syntax_Util.arrow_formals t in + let uu____177 = FStar_Syntax_Util.arrow_formals t in match uu____177 with - | ([], t1) -> + | ([],t1) -> let b = let uu____220 = FStar_Syntax_Syntax.gen_bv "_" FStar_Pervasives_Native.None - t1 in - FStar_All.pipe_left FStar_Syntax_Syntax.mk_binder uu____220 in - let uu____228 = fail_exp lid t1 in + t1 + in + FStar_All.pipe_left FStar_Syntax_Syntax.mk_binder uu____220 in + let uu____228 = fail_exp lid t1 in FStar_Syntax_Util.abs [b] uu____228 FStar_Pervasives_Native.None - | (bs, t1) -> - let uu____265 = fail_exp lid t1 in - FStar_Syntax_Util.abs bs uu____265 FStar_Pervasives_Native.None in + | (bs,t1) -> + let uu____265 = fail_exp lid t1 in + FStar_Syntax_Util.abs bs uu____265 FStar_Pervasives_Native.None + in let lb = let uu____269 = let uu____274 = FStar_Syntax_Syntax.lid_as_fv lid - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in - FStar_Util.Inr uu____274 in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in + FStar_Util.Inr uu____274 in { FStar_Syntax_Syntax.lbname = uu____269; FStar_Syntax_Syntax.lbunivs = []; @@ -75,47 +82,51 @@ let (always_fail : FStar_Syntax_Syntax.lbdef = imp; FStar_Syntax_Syntax.lbattrs = []; FStar_Syntax_Syntax.lbpos = (imp.FStar_Syntax_Syntax.pos) - } in + } in lb + let (mangle_projector_lid : FStar_Ident.lident -> FStar_Ident.lident) = - fun x -> x + fun x -> x let (lident_as_mlsymbol : FStar_Ident.lident -> FStar_Extraction_ML_Syntax.mlsymbol) = - fun id1 -> + fun id1 -> FStar_Extraction_ML_Syntax.avoid_keyword (id1.FStar_Ident.ident).FStar_Ident.idText + let as_pair : 'Auu____296 . 'Auu____296 Prims.list -> ('Auu____296 * 'Auu____296) = - fun uu___0_307 -> + fun uu___0_307 -> match uu___0_307 with | a::b::[] -> (a, b) | uu____312 -> failwith "Expected a list with 2 elements" + let (flag_of_qual : FStar_Syntax_Syntax.qualifier -> FStar_Extraction_ML_Syntax.meta FStar_Pervasives_Native.option) = - fun uu___1_327 -> + fun uu___1_327 -> match uu___1_327 with - | FStar_Syntax_Syntax.Assumption -> + | FStar_Syntax_Syntax.Assumption -> FStar_Pervasives_Native.Some FStar_Extraction_ML_Syntax.Assumed - | FStar_Syntax_Syntax.Private -> + | FStar_Syntax_Syntax.Private -> FStar_Pervasives_Native.Some FStar_Extraction_ML_Syntax.Private - | FStar_Syntax_Syntax.NoExtract -> + | FStar_Syntax_Syntax.NoExtract -> FStar_Pervasives_Native.Some FStar_Extraction_ML_Syntax.NoExtract | uu____330 -> FStar_Pervasives_Native.None + let rec (extract_meta : FStar_Syntax_Syntax.term -> FStar_Extraction_ML_Syntax.meta FStar_Pervasives_Native.option) = - fun x -> - let uu____339 = FStar_Syntax_Subst.compress x in + fun x -> + let uu____339 = FStar_Syntax_Subst.compress x in match uu____339 with | { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos = uu____343; FStar_Syntax_Syntax.vars = uu____344;_} -> let uu____347 = - let uu____349 = FStar_Syntax_Syntax.lid_of_fv fv in - FStar_Ident.string_of_lid uu____349 in + let uu____349 = FStar_Syntax_Syntax.lid_of_fv fv in + FStar_Ident.string_of_lid uu____349 in (match uu____347 with | "FStar.Pervasives.PpxDerivingShow" -> FStar_Pervasives_Native.Some @@ -137,24 +148,30 @@ let rec (extract_meta : FStar_Pervasives_Native.Some FStar_Extraction_ML_Syntax.CIfDef | "FStar.Pervasives.CMacro" -> FStar_Pervasives_Native.Some FStar_Extraction_ML_Syntax.CMacro - | uu____360 -> FStar_Pervasives_Native.None) + | "Prims.deprecated" -> + FStar_Pervasives_Native.Some + (FStar_Extraction_ML_Syntax.Deprecated "") + | uu____362 -> FStar_Pervasives_Native.None) | { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____363; - FStar_Syntax_Syntax.vars = uu____364;_}, - ({ - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_string (s, uu____366)); - FStar_Syntax_Syntax.pos = uu____367; - FStar_Syntax_Syntax.vars = uu____368;_}, - uu____369)::[]); - FStar_Syntax_Syntax.pos = uu____370; - FStar_Syntax_Syntax.vars = uu____371;_} -> - let uu____414 = - let uu____416 = FStar_Syntax_Syntax.lid_of_fv fv in - FStar_Ident.string_of_lid uu____416 in - (match uu____414 with + FStar_Syntax_Syntax.pos = uu____365; + FStar_Syntax_Syntax.vars = uu____366;_},({ + FStar_Syntax_Syntax.n + = + FStar_Syntax_Syntax.Tm_constant + (FStar_Const.Const_string + (s,uu____368)); + FStar_Syntax_Syntax.pos + = uu____369; + FStar_Syntax_Syntax.vars + = uu____370;_},uu____371)::[]); + FStar_Syntax_Syntax.pos = uu____372; + FStar_Syntax_Syntax.vars = uu____373;_} -> + let uu____416 = + let uu____418 = FStar_Syntax_Syntax.lid_of_fv fv in + FStar_Ident.string_of_lid uu____418 in + (match uu____416 with | "FStar.Pervasives.PpxDerivingShowConstant" -> FStar_Pervasives_Native.Some (FStar_Extraction_ML_Syntax.PpxDerivingShowConstant s) @@ -173,66 +190,72 @@ let rec (extract_meta : | "FStar.Pervasives.CCConv" -> FStar_Pervasives_Native.Some (FStar_Extraction_ML_Syntax.CCConv s) - | uu____425 -> FStar_Pervasives_Native.None) + | "Prims.deprecated" -> + FStar_Pervasives_Native.Some + (FStar_Extraction_ML_Syntax.Deprecated s) + | uu____428 -> FStar_Pervasives_Native.None) | { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_string ("KremlinPrivate", uu____427)); - FStar_Syntax_Syntax.pos = uu____428; - FStar_Syntax_Syntax.vars = uu____429;_} -> + (FStar_Const.Const_string ("KremlinPrivate",uu____430)); + FStar_Syntax_Syntax.pos = uu____431; + FStar_Syntax_Syntax.vars = uu____432;_} -> FStar_Pervasives_Native.Some FStar_Extraction_ML_Syntax.Private | { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_string ("c_inline", uu____434)); - FStar_Syntax_Syntax.pos = uu____435; - FStar_Syntax_Syntax.vars = uu____436;_} -> + (FStar_Const.Const_string ("c_inline",uu____437)); + FStar_Syntax_Syntax.pos = uu____438; + FStar_Syntax_Syntax.vars = uu____439;_} -> FStar_Pervasives_Native.Some FStar_Extraction_ML_Syntax.CInline | { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_string ("substitute", uu____441)); - FStar_Syntax_Syntax.pos = uu____442; - FStar_Syntax_Syntax.vars = uu____443;_} -> + (FStar_Const.Const_string ("substitute",uu____444)); + FStar_Syntax_Syntax.pos = uu____445; + FStar_Syntax_Syntax.vars = uu____446;_} -> FStar_Pervasives_Native.Some FStar_Extraction_ML_Syntax.Substitute - | { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_meta (x1, uu____449); - FStar_Syntax_Syntax.pos = uu____450; - FStar_Syntax_Syntax.vars = uu____451;_} -> extract_meta x1 - | uu____458 -> FStar_Pervasives_Native.None + | { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_meta (x1,uu____452); + FStar_Syntax_Syntax.pos = uu____453; + FStar_Syntax_Syntax.vars = uu____454;_} -> extract_meta x1 + | uu____461 -> FStar_Pervasives_Native.None + let (extract_metadata : FStar_Syntax_Syntax.term Prims.list -> FStar_Extraction_ML_Syntax.meta Prims.list) - = fun metas -> FStar_List.choose extract_meta metas + = fun metas -> FStar_List.choose extract_meta metas let binders_as_mlty_binders : - 'Auu____478 . + 'Auu____481 . FStar_Extraction_ML_UEnv.uenv -> - (FStar_Syntax_Syntax.bv * 'Auu____478) Prims.list -> + (FStar_Syntax_Syntax.bv * 'Auu____481) Prims.list -> (FStar_Extraction_ML_UEnv.uenv * Prims.string Prims.list) = - fun env -> - fun bs -> + fun env -> + fun bs -> FStar_Util.fold_map - (fun env1 -> - fun uu____520 -> - match uu____520 with - | (bv, uu____531) -> - let uu____532 = - let uu____533 = - let uu____536 = - let uu____537 = - FStar_Extraction_ML_UEnv.bv_as_ml_tyvar bv in - FStar_Extraction_ML_Syntax.MLTY_Var uu____537 in - FStar_Pervasives_Native.Some uu____536 in - FStar_Extraction_ML_UEnv.extend_ty env1 bv uu____533 in - let uu____539 = FStar_Extraction_ML_UEnv.bv_as_ml_tyvar bv in - (uu____532, uu____539)) env bs + (fun env1 -> + fun uu____523 -> + match uu____523 with + | (bv,uu____534) -> + let uu____535 = + let uu____536 = + let uu____539 = + let uu____540 = + FStar_Extraction_ML_UEnv.bv_as_ml_tyvar bv in + FStar_Extraction_ML_Syntax.MLTY_Var uu____540 in + FStar_Pervasives_Native.Some uu____539 in + FStar_Extraction_ML_UEnv.extend_ty env1 bv uu____536 in + let uu____542 = FStar_Extraction_ML_UEnv.bv_as_ml_tyvar bv + in + (uu____535, uu____542)) env bs + type data_constructor = { dname: FStar_Ident.lident ; dtyp: FStar_Syntax_Syntax.typ } let (__proj__Mkdata_constructor__item__dname : data_constructor -> FStar_Ident.lident) = - fun projectee -> match projectee with | { dname; dtyp;_} -> dname + fun projectee -> match projectee with | { dname; dtyp;_} -> dname let (__proj__Mkdata_constructor__item__dtyp : data_constructor -> FStar_Syntax_Syntax.typ) = - fun projectee -> match projectee with | { dname; dtyp;_} -> dtyp + fun projectee -> match projectee with | { dname; dtyp;_} -> dtyp type inductive_family = { ifv: FStar_Syntax_Syntax.fv ; @@ -244,57 +267,67 @@ type inductive_family = imetadata: FStar_Extraction_ML_Syntax.metadata } let (__proj__Mkinductive_family__item__ifv : inductive_family -> FStar_Syntax_Syntax.fv) = - fun projectee -> + fun projectee -> match projectee with | { ifv; iname; iparams; ityp; idatas; iquals; imetadata;_} -> ifv + let (__proj__Mkinductive_family__item__iname : inductive_family -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { ifv; iname; iparams; ityp; idatas; iquals; imetadata;_} -> iname + let (__proj__Mkinductive_family__item__iparams : inductive_family -> FStar_Syntax_Syntax.binders) = - fun projectee -> + fun projectee -> match projectee with | { ifv; iname; iparams; ityp; idatas; iquals; imetadata;_} -> iparams + let (__proj__Mkinductive_family__item__ityp : inductive_family -> FStar_Syntax_Syntax.term) = - fun projectee -> + fun projectee -> match projectee with | { ifv; iname; iparams; ityp; idatas; iquals; imetadata;_} -> ityp + let (__proj__Mkinductive_family__item__idatas : inductive_family -> data_constructor Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { ifv; iname; iparams; ityp; idatas; iquals; imetadata;_} -> idatas + let (__proj__Mkinductive_family__item__iquals : inductive_family -> FStar_Syntax_Syntax.qualifier Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { ifv; iname; iparams; ityp; idatas; iquals; imetadata;_} -> iquals + let (__proj__Mkinductive_family__item__imetadata : inductive_family -> FStar_Extraction_ML_Syntax.metadata) = - fun projectee -> + fun projectee -> match projectee with | { ifv; iname; iparams; ityp; idatas; iquals; imetadata;_} -> imetadata + let (print_ifamily : inductive_family -> unit) = - fun i -> - let uu____740 = FStar_Syntax_Print.lid_to_string i.iname in - let uu____742 = FStar_Syntax_Print.binders_to_string " " i.iparams in - let uu____745 = FStar_Syntax_Print.term_to_string i.ityp in - let uu____747 = - let uu____749 = + fun i -> + let uu____743 = FStar_Syntax_Print.lid_to_string i.iname in + let uu____745 = FStar_Syntax_Print.binders_to_string " " i.iparams in + let uu____748 = FStar_Syntax_Print.term_to_string i.ityp in + let uu____750 = + let uu____752 = FStar_All.pipe_right i.idatas (FStar_List.map - (fun d -> - let uu____763 = FStar_Syntax_Print.lid_to_string d.dname in - let uu____765 = - let uu____767 = FStar_Syntax_Print.term_to_string d.dtyp in - Prims.op_Hat " : " uu____767 in - Prims.op_Hat uu____763 uu____765)) in - FStar_All.pipe_right uu____749 (FStar_String.concat "\n\t\t") in - FStar_Util.print4 "\n\t%s %s : %s { %s }\n" uu____740 uu____742 uu____745 - uu____747 + (fun d -> + let uu____766 = FStar_Syntax_Print.lid_to_string d.dname in + let uu____768 = + let uu____770 = FStar_Syntax_Print.term_to_string d.dtyp + in + Prims.op_Hat " : " uu____770 in + Prims.op_Hat uu____766 uu____768)) + in + FStar_All.pipe_right uu____752 (FStar_String.concat "\n\t\t") in + FStar_Util.print4 "\n\t%s %s : %s { %s }\n" uu____743 uu____745 uu____748 + uu____750 + let (bundle_as_inductive_families : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.sigelt Prims.list -> @@ -302,92 +335,100 @@ let (bundle_as_inductive_families : FStar_Syntax_Syntax.attribute Prims.list -> (FStar_Extraction_ML_UEnv.uenv * inductive_family Prims.list)) = - fun env -> - fun ses -> - fun quals -> - fun attrs -> - let uu____821 = + fun env -> + fun ses -> + fun quals -> + fun attrs -> + let uu____824 = FStar_Util.fold_map - (fun env1 -> - fun se -> + (fun env1 -> + fun se -> match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (l, _us, bs, t, _mut_i, datas) -> - let uu____869 = FStar_Syntax_Subst.open_term bs t in - (match uu____869 with - | (bs1, t1) -> + (l,_us,bs,t,_mut_i,datas) -> + let uu____872 = FStar_Syntax_Subst.open_term bs t in + (match uu____872 with + | (bs1,t1) -> let datas1 = FStar_All.pipe_right ses (FStar_List.collect - (fun se1 -> + (fun se1 -> match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (d, uu____908, t2, l', nparams, - uu____912) + (d,uu____911,t2,l',nparams,uu____915) when FStar_Ident.lid_equals l l' -> - let uu____919 = + let uu____922 = FStar_Syntax_Util.arrow_formals - t2 in - (match uu____919 with - | (bs', body) -> - let uu____958 = + t2 + in + (match uu____922 with + | (bs',body) -> + let uu____961 = FStar_Util.first_N (FStar_List.length bs1) - bs' in - (match uu____958 with - | (bs_params, rest) -> + bs' + in + (match uu____961 with + | (bs_params,rest) -> let subst1 = FStar_List.map2 - (fun uu____1049 -> - fun uu____1050 -> - match (uu____1049, - uu____1050) + (fun uu____1052 -> + fun uu____1053 -> + match (uu____1052, + uu____1053) with - | ((b', - uu____1076), - (b, - uu____1078)) + | ((b',uu____1079), + (b,uu____1081)) -> - let uu____1099 + let uu____1102 = - let uu____1106 + let uu____1109 = FStar_Syntax_Syntax.bv_to_name - b in + b in (b', - uu____1106) in + uu____1109) + in FStar_Syntax_Syntax.NT - uu____1099) - bs_params bs1 in + uu____1102) + bs_params bs1 + in let t3 = - let uu____1112 = - let uu____1113 = + let uu____1115 = + let uu____1116 = FStar_Syntax_Syntax.mk_Total - body in + body + in FStar_Syntax_Util.arrow - rest uu____1113 in + rest uu____1116 + in FStar_All.pipe_right - uu____1112 + uu____1115 (FStar_Syntax_Subst.subst - subst1) in + subst1) + in [{ dname = d; dtyp = t3 }])) - | uu____1116 -> [])) in + | uu____1119 -> [])) + in let metadata = - let uu____1120 = + let uu____1123 = extract_metadata (FStar_List.append - se.FStar_Syntax_Syntax.sigattrs attrs) in - let uu____1123 = - FStar_List.choose flag_of_qual quals in - FStar_List.append uu____1120 uu____1123 in + se.FStar_Syntax_Syntax.sigattrs attrs) + in + let uu____1126 = + FStar_List.choose flag_of_qual quals in + FStar_List.append uu____1123 uu____1126 in let fv = FStar_Syntax_Syntax.lid_as_fv l FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let env2 = FStar_Extraction_ML_UEnv.extend_type_name env1 - fv in + fv + in (env2, [{ ifv = fv; @@ -398,9 +439,11 @@ let (bundle_as_inductive_families : iquals = (se.FStar_Syntax_Syntax.sigquals); imetadata = metadata }])) - | uu____1130 -> (env1, [])) env ses in - match uu____821 with - | (env1, ifams) -> (env1, (FStar_List.flatten ifams)) + | uu____1133 -> (env1, [])) env ses + in + match uu____824 with + | (env1,ifams) -> (env1, (FStar_List.flatten ifams)) + type iface = { iface_module_name: FStar_Extraction_ML_Syntax.mlpath ; @@ -412,173 +455,195 @@ type iface = iface_type_names: FStar_Syntax_Syntax.fv Prims.list } let (__proj__Mkiface__item__iface_module_name : iface -> FStar_Extraction_ML_Syntax.mlpath) = - fun projectee -> + fun projectee -> match projectee with | { iface_module_name; iface_bindings; iface_tydefs; iface_type_names;_} -> iface_module_name + let (__proj__Mkiface__item__iface_bindings : iface -> (FStar_Syntax_Syntax.fv * FStar_Extraction_ML_UEnv.exp_binding) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { iface_module_name; iface_bindings; iface_tydefs; iface_type_names;_} -> iface_bindings + let (__proj__Mkiface__item__iface_tydefs : iface -> FStar_Extraction_ML_UEnv.tydef Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { iface_module_name; iface_bindings; iface_tydefs; iface_type_names;_} -> iface_tydefs + let (__proj__Mkiface__item__iface_type_names : iface -> FStar_Syntax_Syntax.fv Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { iface_module_name; iface_bindings; iface_tydefs; iface_type_names;_} -> iface_type_names + let (empty_iface : iface) = { iface_module_name = ([], ""); iface_bindings = []; iface_tydefs = []; iface_type_names = [] - } + } let (iface_of_bindings : (FStar_Syntax_Syntax.fv * FStar_Extraction_ML_UEnv.exp_binding) Prims.list -> iface) = - fun fvs -> - let uu___209_1310 = empty_iface in + fun fvs -> + let uu___211_1313 = empty_iface in { - iface_module_name = (uu___209_1310.iface_module_name); + iface_module_name = (uu___211_1313.iface_module_name); iface_bindings = fvs; - iface_tydefs = (uu___209_1310.iface_tydefs); - iface_type_names = (uu___209_1310.iface_type_names) + iface_tydefs = (uu___211_1313.iface_tydefs); + iface_type_names = (uu___211_1313.iface_type_names) } + let (iface_of_tydefs : FStar_Extraction_ML_UEnv.tydef Prims.list -> iface) = - fun tds -> - let uu___212_1321 = empty_iface in - let uu____1322 = - FStar_List.map (fun td -> td.FStar_Extraction_ML_UEnv.tydef_fv) tds in + fun tds -> + let uu___214_1324 = empty_iface in + let uu____1325 = + FStar_List.map (fun td -> td.FStar_Extraction_ML_UEnv.tydef_fv) tds + in { - iface_module_name = (uu___212_1321.iface_module_name); - iface_bindings = (uu___212_1321.iface_bindings); + iface_module_name = (uu___214_1324.iface_module_name); + iface_bindings = (uu___214_1324.iface_bindings); iface_tydefs = tds; - iface_type_names = uu____1322 + iface_type_names = uu____1325 } + let (iface_of_type_names : FStar_Syntax_Syntax.fv Prims.list -> iface) = - fun fvs -> - let uu___216_1337 = empty_iface in + fun fvs -> + let uu___218_1340 = empty_iface in { - iface_module_name = (uu___216_1337.iface_module_name); - iface_bindings = (uu___216_1337.iface_bindings); - iface_tydefs = (uu___216_1337.iface_tydefs); + iface_module_name = (uu___218_1340.iface_module_name); + iface_bindings = (uu___218_1340.iface_bindings); + iface_tydefs = (uu___218_1340.iface_tydefs); iface_type_names = fvs } + let (iface_union : iface -> iface -> iface) = - fun if1 -> - fun if2 -> - let uu____1349 = + fun if1 -> + fun if2 -> + let uu____1352 = if if1.iface_module_name <> if1.iface_module_name then failwith "Union not defined" - else if1.iface_module_name in + else if1.iface_module_name in { - iface_module_name = uu____1349; + iface_module_name = uu____1352; iface_bindings = (FStar_List.append if1.iface_bindings if2.iface_bindings); iface_tydefs = (FStar_List.append if1.iface_tydefs if2.iface_tydefs); iface_type_names = (FStar_List.append if1.iface_type_names if2.iface_type_names) } + let (iface_union_l : iface Prims.list -> iface) = - fun ifs -> FStar_List.fold_right iface_union ifs empty_iface + fun ifs -> FStar_List.fold_right iface_union ifs empty_iface let (mlpath_to_string : FStar_Extraction_ML_Syntax.mlpath -> Prims.string) = - fun p -> + fun p -> FStar_String.concat ". " (FStar_List.append (FStar_Pervasives_Native.fst p) [FStar_Pervasives_Native.snd p]) + let tscheme_to_string : - 'Auu____1394 . + 'Auu____1397 . FStar_Extraction_ML_Syntax.mlpath -> - ('Auu____1394 * FStar_Extraction_ML_Syntax.mlty) -> Prims.string + ('Auu____1397 * FStar_Extraction_ML_Syntax.mlty) -> Prims.string = - fun cm -> - fun ts -> + fun cm -> + fun ts -> FStar_Extraction_ML_Code.string_of_mlty cm (FStar_Pervasives_Native.snd ts) + let (print_exp_binding : FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_UEnv.exp_binding -> Prims.string) = - fun cm -> - fun e -> - let uu____1426 = + fun cm -> + fun e -> + let uu____1429 = FStar_Extraction_ML_Code.string_of_mlexpr cm - e.FStar_Extraction_ML_UEnv.exp_b_expr in - let uu____1428 = - tscheme_to_string cm e.FStar_Extraction_ML_UEnv.exp_b_tscheme in - let uu____1430 = - FStar_Util.string_of_bool e.FStar_Extraction_ML_UEnv.exp_b_inst_ok in + e.FStar_Extraction_ML_UEnv.exp_b_expr + in + let uu____1431 = + tscheme_to_string cm e.FStar_Extraction_ML_UEnv.exp_b_tscheme in + let uu____1433 = + FStar_Util.string_of_bool e.FStar_Extraction_ML_UEnv.exp_b_inst_ok + in FStar_Util.format4 "{\n\texp_b_name = %s\n\texp_b_expr = %s\n\texp_b_tscheme = %s\n\texp_b_is_rec = %s }" - e.FStar_Extraction_ML_UEnv.exp_b_name uu____1426 uu____1428 - uu____1430 + e.FStar_Extraction_ML_UEnv.exp_b_name uu____1429 uu____1431 + uu____1433 + let (print_binding : FStar_Extraction_ML_Syntax.mlpath -> (FStar_Syntax_Syntax.fv * FStar_Extraction_ML_UEnv.exp_binding) -> Prims.string) = - fun cm -> - fun uu____1448 -> - match uu____1448 with - | (fv, exp_binding) -> - let uu____1456 = FStar_Syntax_Print.fv_to_string fv in - let uu____1458 = print_exp_binding cm exp_binding in - FStar_Util.format2 "(%s, %s)" uu____1456 uu____1458 + fun cm -> + fun uu____1451 -> + match uu____1451 with + | (fv,exp_binding) -> + let uu____1459 = FStar_Syntax_Print.fv_to_string fv in + let uu____1461 = print_exp_binding cm exp_binding in + FStar_Util.format2 "(%s, %s)" uu____1459 uu____1461 + let (print_tydef : FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_UEnv.tydef -> Prims.string) = - fun cm -> - fun tydef -> - let uu____1473 = + fun cm -> + fun tydef -> + let uu____1476 = FStar_Syntax_Print.fv_to_string - tydef.FStar_Extraction_ML_UEnv.tydef_fv in - let uu____1475 = - tscheme_to_string cm tydef.FStar_Extraction_ML_UEnv.tydef_def in - FStar_Util.format2 "(%s, %s)" uu____1473 uu____1475 + tydef.FStar_Extraction_ML_UEnv.tydef_fv + in + let uu____1478 = + tscheme_to_string cm tydef.FStar_Extraction_ML_UEnv.tydef_def in + FStar_Util.format2 "(%s, %s)" uu____1476 uu____1478 + let (iface_to_string : iface -> Prims.string) = - fun iface1 -> - let cm = iface1.iface_module_name in - let print_type_name tn = FStar_Syntax_Print.fv_to_string tn in - let uu____1493 = - let uu____1495 = - FStar_List.map (print_binding cm) iface1.iface_bindings in - FStar_All.pipe_right uu____1495 (FStar_String.concat "\n") in - let uu____1509 = - let uu____1511 = FStar_List.map (print_tydef cm) iface1.iface_tydefs in - FStar_All.pipe_right uu____1511 (FStar_String.concat "\n") in - let uu____1521 = - let uu____1523 = FStar_List.map print_type_name iface1.iface_type_names in - FStar_All.pipe_right uu____1523 (FStar_String.concat "\n") in + fun iface1 -> + let cm = iface1.iface_module_name in + let print_type_name tn = FStar_Syntax_Print.fv_to_string tn in + let uu____1496 = + let uu____1498 = + FStar_List.map (print_binding cm) iface1.iface_bindings in + FStar_All.pipe_right uu____1498 (FStar_String.concat "\n") in + let uu____1512 = + let uu____1514 = FStar_List.map (print_tydef cm) iface1.iface_tydefs + in + FStar_All.pipe_right uu____1514 (FStar_String.concat "\n") in + let uu____1524 = + let uu____1526 = FStar_List.map print_type_name iface1.iface_type_names + in + FStar_All.pipe_right uu____1526 (FStar_String.concat "\n") in FStar_Util.format4 "Interface %s = {\niface_bindings=\n%s;\n\niface_tydefs=\n%s;\n\niface_type_names=%s;\n}" - (mlpath_to_string iface1.iface_module_name) uu____1493 uu____1509 - uu____1521 + (mlpath_to_string iface1.iface_module_name) uu____1496 uu____1512 + uu____1524 + let (gamma_to_string : FStar_Extraction_ML_UEnv.uenv -> Prims.string) = - fun env -> - let cm = env.FStar_Extraction_ML_UEnv.currentModule in + fun env -> + let cm = env.FStar_Extraction_ML_UEnv.currentModule in let gamma = FStar_List.collect - (fun uu___2_1556 -> - match uu___2_1556 with - | FStar_Extraction_ML_UEnv.Fv (b, e) -> [(b, e)] - | uu____1573 -> []) env.FStar_Extraction_ML_UEnv.env_bindings in - let uu____1578 = - let uu____1580 = FStar_List.map (print_binding cm) gamma in - FStar_All.pipe_right uu____1580 (FStar_String.concat "\n") in - FStar_Util.format1 "Gamma = {\n %s }" uu____1578 + (fun uu___2_1559 -> + match uu___2_1559 with + | FStar_Extraction_ML_UEnv.Fv (b,e) -> [(b, e)] + | uu____1576 -> []) env.FStar_Extraction_ML_UEnv.env_bindings + in + let uu____1581 = + let uu____1583 = FStar_List.map (print_binding cm) gamma in + FStar_All.pipe_right uu____1583 (FStar_String.concat "\n") in + FStar_Util.format1 "Gamma = {\n %s }" uu____1581 + let (extract_typ_abbrev : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.qualifier Prims.list -> @@ -586,124 +651,142 @@ let (extract_typ_abbrev : FStar_Syntax_Syntax.letbinding -> (env_t * iface * FStar_Extraction_ML_Syntax.mlmodule1 Prims.list)) = - fun env -> - fun quals -> - fun attrs -> - fun lb -> - let uu____1640 = - let uu____1649 = + fun env -> + fun quals -> + fun attrs -> + fun lb -> + let uu____1643 = + let uu____1652 = FStar_TypeChecker_Env.open_universes_in env.FStar_Extraction_ML_UEnv.env_tcenv lb.FStar_Syntax_Syntax.lbunivs - [lb.FStar_Syntax_Syntax.lbdef; lb.FStar_Syntax_Syntax.lbtyp] in - match uu____1649 with - | (tcenv, uu____1667, def_typ) -> - let uu____1673 = as_pair def_typ in (tcenv, uu____1673) in - match uu____1640 with - | (tcenv, (lbdef, lbtyp)) -> + [lb.FStar_Syntax_Syntax.lbdef; lb.FStar_Syntax_Syntax.lbtyp] + in + match uu____1652 with + | (tcenv,uu____1670,def_typ) -> + let uu____1676 = as_pair def_typ in (tcenv, uu____1676) + in + match uu____1643 with + | (tcenv,(lbdef,lbtyp)) -> let lbtyp1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant] tcenv lbtyp in + FStar_Syntax_Syntax.delta_constant] tcenv lbtyp + in let lbdef1 = FStar_TypeChecker_Normalize.eta_expand_with_type tcenv lbdef - lbtyp1 in - let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + lbtyp1 + in + let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname in let lid = - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in let def = - let uu____1704 = - let uu____1705 = FStar_Syntax_Subst.compress lbdef1 in - FStar_All.pipe_right uu____1705 FStar_Syntax_Util.unmeta in - FStar_All.pipe_right uu____1704 FStar_Syntax_Util.un_uinst in + let uu____1707 = + let uu____1708 = FStar_Syntax_Subst.compress lbdef1 in + FStar_All.pipe_right uu____1708 FStar_Syntax_Util.unmeta + in + FStar_All.pipe_right uu____1707 FStar_Syntax_Util.un_uinst + in let def1 = match def.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_abs uu____1713 -> + | FStar_Syntax_Syntax.Tm_abs uu____1716 -> FStar_Extraction_ML_Term.normalize_abs def - | uu____1732 -> def in - let uu____1733 = + | uu____1735 -> def in + let uu____1736 = match def1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_abs (bs, body, uu____1744) -> + | FStar_Syntax_Syntax.Tm_abs (bs,body,uu____1747) -> FStar_Syntax_Subst.open_term bs body - | uu____1769 -> ([], def1) in - (match uu____1733 with - | (bs, body) -> + | uu____1772 -> ([], def1) in + (match uu____1736 with + | (bs,body) -> let assumed = FStar_Util.for_some - (fun uu___3_1789 -> - match uu___3_1789 with - | FStar_Syntax_Syntax.Assumption -> true - | uu____1792 -> false) quals in - let uu____1794 = binders_as_mlty_binders env bs in - (match uu____1794 with - | (env1, ml_bs) -> + (fun uu___3_1792 -> + match uu___3_1792 with + | FStar_Syntax_Syntax.Assumption -> true + | uu____1795 -> false) quals + in + let uu____1797 = binders_as_mlty_binders env bs in + (match uu____1797 with + | (env1,ml_bs) -> let body1 = - let uu____1821 = - FStar_Extraction_ML_Term.term_as_mlty env1 body in - FStar_All.pipe_right uu____1821 + let uu____1824 = + FStar_Extraction_ML_Term.term_as_mlty env1 body + in + FStar_All.pipe_right uu____1824 (FStar_Extraction_ML_Util.eraseTypeDeep - (FStar_Extraction_ML_Util.udelta_unfold env1)) in + (FStar_Extraction_ML_Util.udelta_unfold env1)) + in let mangled_projector = - let uu____1826 = + let uu____1829 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___4_1833 -> - match uu___4_1833 with + (fun uu___4_1836 -> + match uu___4_1836 with | FStar_Syntax_Syntax.Projector - uu____1835 -> true - | uu____1841 -> false)) in - if uu____1826 + uu____1838 -> true + | uu____1844 -> false)) + in + if uu____1829 then - let mname = mangle_projector_lid lid in + let mname = mangle_projector_lid lid in FStar_Pervasives_Native.Some ((mname.FStar_Ident.ident).FStar_Ident.idText) - else FStar_Pervasives_Native.None in + else FStar_Pervasives_Native.None in let metadata = - let uu____1855 = extract_metadata attrs in - let uu____1858 = - FStar_List.choose flag_of_qual quals in - FStar_List.append uu____1855 uu____1858 in + let uu____1858 = extract_metadata attrs in + let uu____1861 = + FStar_List.choose flag_of_qual quals in + FStar_List.append uu____1858 uu____1861 in let td = - let uu____1881 = lident_as_mlsymbol lid in - (assumed, uu____1881, mangled_projector, ml_bs, + let uu____1884 = lident_as_mlsymbol lid in + (assumed, uu____1884, mangled_projector, ml_bs, metadata, (FStar_Pervasives_Native.Some - (FStar_Extraction_ML_Syntax.MLTD_Abbrev body1))) in + (FStar_Extraction_ML_Syntax.MLTD_Abbrev body1))) + in let def2 = - let uu____1893 = - let uu____1894 = - let uu____1895 = FStar_Ident.range_of_lid lid in + let uu____1896 = + let uu____1897 = + let uu____1898 = FStar_Ident.range_of_lid lid + in FStar_Extraction_ML_Util.mlloc_of_range - uu____1895 in - FStar_Extraction_ML_Syntax.MLM_Loc uu____1894 in - [uu____1893; - FStar_Extraction_ML_Syntax.MLM_Ty [td]] in - let uu____1896 = - let uu____1901 = + uu____1898 + in + FStar_Extraction_ML_Syntax.MLM_Loc uu____1897 in + [uu____1896; + FStar_Extraction_ML_Syntax.MLM_Ty [td]] in + let uu____1899 = + let uu____1904 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___5_1907 -> - match uu___5_1907 with - | FStar_Syntax_Syntax.Assumption -> true - | FStar_Syntax_Syntax.New -> true - | uu____1911 -> false)) in - if uu____1901 + (fun uu___5_1910 -> + match uu___5_1910 with + | FStar_Syntax_Syntax.Assumption -> true + | FStar_Syntax_Syntax.New -> true + | uu____1914 -> false)) + in + if uu____1904 then - let uu____1918 = + let uu____1921 = FStar_Extraction_ML_UEnv.extend_type_name env - fv in - (uu____1918, (iface_of_type_names [fv])) + fv + in + (uu____1921, (iface_of_type_names [fv])) else - (let uu____1921 = + (let uu____1924 = FStar_Extraction_ML_UEnv.extend_tydef env fv - td in - match uu____1921 with - | (env2, tydef) -> - let uu____1932 = iface_of_tydefs [tydef] in - (env2, uu____1932)) in - (match uu____1896 with - | (env2, iface1) -> (env2, iface1, def2)))) + td + in + match uu____1924 with + | (env2,tydef) -> + let uu____1935 = iface_of_tydefs [tydef] in + (env2, uu____1935)) + in + (match uu____1899 with + | (env2,iface1) -> (env2, iface1, def2)))) + let (extract_let_rec_type : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.qualifier Prims.list -> @@ -711,10 +794,10 @@ let (extract_let_rec_type : FStar_Syntax_Syntax.letbinding -> (env_t * iface * FStar_Extraction_ML_Syntax.mlmodule1 Prims.list)) = - fun env -> - fun quals -> - fun attrs -> - fun lb -> + fun env -> + fun quals -> + fun attrs -> + fun lb -> let lbtyp = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; @@ -723,101 +806,114 @@ let (extract_let_rec_type : FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant] env.FStar_Extraction_ML_UEnv.env_tcenv - lb.FStar_Syntax_Syntax.lbtyp in - let uu____1991 = FStar_Syntax_Util.arrow_formals lbtyp in - match uu____1991 with - | (bs, uu____2015) -> - let uu____2036 = binders_as_mlty_binders env bs in - (match uu____2036 with - | (env1, ml_bs) -> - let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbtyp + in + let uu____1994 = FStar_Syntax_Util.arrow_formals lbtyp in + match uu____1994 with + | (bs,uu____2018) -> + let uu____2039 = binders_as_mlty_binders env bs in + (match uu____2039 with + | (env1,ml_bs) -> + let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname + in let lid = - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let body = FStar_Extraction_ML_Syntax.MLTY_Top in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + let body = FStar_Extraction_ML_Syntax.MLTY_Top in let metadata = - let uu____2068 = extract_metadata attrs in - let uu____2071 = FStar_List.choose flag_of_qual quals in - FStar_List.append uu____2068 uu____2071 in - let assumed = false in + let uu____2071 = extract_metadata attrs in + let uu____2074 = FStar_List.choose flag_of_qual quals + in + FStar_List.append uu____2071 uu____2074 in + let assumed = false in let td = - let uu____2097 = lident_as_mlsymbol lid in - (assumed, uu____2097, FStar_Pervasives_Native.None, + let uu____2100 = lident_as_mlsymbol lid in + (assumed, uu____2100, FStar_Pervasives_Native.None, ml_bs, metadata, (FStar_Pervasives_Native.Some - (FStar_Extraction_ML_Syntax.MLTD_Abbrev body))) in + (FStar_Extraction_ML_Syntax.MLTD_Abbrev body))) + in let def = - let uu____2110 = - let uu____2111 = - let uu____2112 = FStar_Ident.range_of_lid lid in - FStar_Extraction_ML_Util.mlloc_of_range uu____2112 in - FStar_Extraction_ML_Syntax.MLM_Loc uu____2111 in - [uu____2110; FStar_Extraction_ML_Syntax.MLM_Ty [td]] in - let uu____2113 = - FStar_Extraction_ML_UEnv.extend_tydef env fv td in - (match uu____2113 with - | (env2, tydef) -> - let iface1 = iface_of_tydefs [tydef] in + let uu____2113 = + let uu____2114 = + let uu____2115 = FStar_Ident.range_of_lid lid in + FStar_Extraction_ML_Util.mlloc_of_range uu____2115 + in + FStar_Extraction_ML_Syntax.MLM_Loc uu____2114 in + [uu____2113; FStar_Extraction_ML_Syntax.MLM_Ty [td]] in + let uu____2116 = + FStar_Extraction_ML_UEnv.extend_tydef env fv td in + (match uu____2116 with + | (env2,tydef) -> + let iface1 = iface_of_tydefs [tydef] in (env2, iface1, def))) + let (extract_bundle_iface : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.sigelt -> (env_t * iface)) = - fun env -> - fun se -> + fun env -> + fun se -> let extract_ctor env_iparams ml_tyvars env1 ctor = let mlt = - let uu____2194 = - FStar_Extraction_ML_Term.term_as_mlty env_iparams ctor.dtyp in + let uu____2197 = + FStar_Extraction_ML_Term.term_as_mlty env_iparams ctor.dtyp in FStar_Extraction_ML_Util.eraseTypeDeep - (FStar_Extraction_ML_Util.udelta_unfold env_iparams) uu____2194 in - let tys = (ml_tyvars, mlt) in - let fvv = FStar_Extraction_ML_UEnv.mkFvvar ctor.dname ctor.dtyp in - let uu____2201 = - FStar_Extraction_ML_UEnv.extend_fv env1 fvv tys false false in - match uu____2201 with | (env2, uu____2220, b) -> (env2, (fvv, b)) in + (FStar_Extraction_ML_Util.udelta_unfold env_iparams) uu____2197 + in + let tys = (ml_tyvars, mlt) in + let fvv = FStar_Extraction_ML_UEnv.mkFvvar ctor.dname ctor.dtyp in + let uu____2204 = + FStar_Extraction_ML_UEnv.extend_fv env1 fvv tys false false in + match uu____2204 with | (env2,uu____2223,b) -> (env2, (fvv, b)) in let extract_one_family env1 ind = - let uu____2259 = binders_as_mlty_binders env1 ind.iparams in - match uu____2259 with - | (env_iparams, vars) -> - let uu____2287 = + let uu____2262 = binders_as_mlty_binders env1 ind.iparams in + match uu____2262 with + | (env_iparams,vars) -> + let uu____2290 = FStar_All.pipe_right ind.idatas - (FStar_Util.fold_map (extract_ctor env_iparams vars) env1) in - (match uu____2287 with | (env2, ctors) -> (env2, ctors)) in + (FStar_Util.fold_map (extract_ctor env_iparams vars) env1) + in + (match uu____2290 with | (env2,ctors) -> (env2, ctors)) + in match ((se.FStar_Syntax_Syntax.sigel), (se.FStar_Syntax_Syntax.sigquals)) with | (FStar_Syntax_Syntax.Sig_bundle ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon - (l, uu____2351, t, uu____2353, uu____2354, uu____2355); - FStar_Syntax_Syntax.sigrng = uu____2356; - FStar_Syntax_Syntax.sigquals = uu____2357; - FStar_Syntax_Syntax.sigmeta = uu____2358; - FStar_Syntax_Syntax.sigattrs = uu____2359;_}::[], - uu____2360), - (FStar_Syntax_Syntax.ExceptionConstructor)::[]) -> - let uu____2379 = extract_ctor env [] env { dname = l; dtyp = t } in - (match uu____2379 with - | (env1, ctor) -> (env1, (iface_of_bindings [ctor]))) - | (FStar_Syntax_Syntax.Sig_bundle (ses, uu____2412), quals) -> - let uu____2426 = + (l,uu____2354,t,uu____2356,uu____2357,uu____2358); + FStar_Syntax_Syntax.sigrng = uu____2359; + FStar_Syntax_Syntax.sigquals = uu____2360; + FStar_Syntax_Syntax.sigmeta = uu____2361; + FStar_Syntax_Syntax.sigattrs = uu____2362;_}::[],uu____2363),(FStar_Syntax_Syntax.ExceptionConstructor + )::[]) -> + let uu____2382 = extract_ctor env [] env { dname = l; dtyp = t } + in + (match uu____2382 with + | (env1,ctor) -> (env1, (iface_of_bindings [ctor]))) + | (FStar_Syntax_Syntax.Sig_bundle (ses,uu____2415),quals) -> + let uu____2429 = bundle_as_inductive_families env ses quals - se.FStar_Syntax_Syntax.sigattrs in - (match uu____2426 with - | (env1, ifams) -> - let uu____2443 = - FStar_Util.fold_map extract_one_family env1 ifams in - (match uu____2443 with - | (env2, td) -> - let uu____2484 = - let uu____2485 = - let uu____2486 = - FStar_List.map (fun x -> x.ifv) ifams in - iface_of_type_names uu____2486 in - iface_union uu____2485 - (iface_of_bindings (FStar_List.flatten td)) in - (env2, uu____2484))) - | uu____2495 -> failwith "Unexpected signature element" + se.FStar_Syntax_Syntax.sigattrs + in + (match uu____2429 with + | (env1,ifams) -> + let uu____2446 = + FStar_Util.fold_map extract_one_family env1 ifams in + (match uu____2446 with + | (env2,td) -> + let uu____2487 = + let uu____2488 = + let uu____2489 = + FStar_List.map (fun x -> x.ifv) ifams in + iface_of_type_names uu____2489 in + iface_union uu____2488 + (iface_of_bindings (FStar_List.flatten td)) + in + (env2, uu____2487))) + | uu____2498 -> failwith "Unexpected signature element" + let (extract_type_declaration : FStar_Extraction_ML_UEnv.uenv -> FStar_Ident.lident -> @@ -828,69 +924,76 @@ let (extract_type_declaration : (env_t * iface * FStar_Extraction_ML_Syntax.mlmodule1 Prims.list)) = - fun g -> - fun lid -> - fun quals -> - fun attrs -> - fun univs1 -> - fun t -> - let uu____2570 = - let uu____2572 = + fun g -> + fun lid -> + fun quals -> + fun attrs -> + fun univs1 -> + fun t -> + let uu____2573 = + let uu____2575 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___6_2578 -> - match uu___6_2578 with - | FStar_Syntax_Syntax.Assumption -> true - | uu____2581 -> false)) in - Prims.op_Negation uu____2572 in - if uu____2570 + (fun uu___6_2581 -> + match uu___6_2581 with + | FStar_Syntax_Syntax.Assumption -> true + | uu____2584 -> false)) + in + Prims.op_Negation uu____2575 in + if uu____2573 then (g, empty_iface, []) else - (let uu____2596 = FStar_Syntax_Util.arrow_formals t in - match uu____2596 with - | (bs, uu____2620) -> + (let uu____2599 = FStar_Syntax_Util.arrow_formals t in + match uu____2599 with + | (bs,uu____2623) -> let fv = FStar_Syntax_Syntax.lid_as_fv lid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let lb = - let uu____2643 = + let uu____2646 = FStar_Syntax_Util.abs bs FStar_Syntax_Syntax.t_unit - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in { FStar_Syntax_Syntax.lbname = (FStar_Util.Inr fv); FStar_Syntax_Syntax.lbunivs = univs1; FStar_Syntax_Syntax.lbtyp = t; FStar_Syntax_Syntax.lbeff = FStar_Parser_Const.effect_Tot_lid; - FStar_Syntax_Syntax.lbdef = uu____2643; + FStar_Syntax_Syntax.lbdef = uu____2646; FStar_Syntax_Syntax.lbattrs = attrs; FStar_Syntax_Syntax.lbpos = (t.FStar_Syntax_Syntax.pos) - } in + } in extract_typ_abbrev g quals attrs lb) + let (extract_reifiable_effect : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.eff_decl -> (FStar_Extraction_ML_UEnv.uenv * iface * FStar_Extraction_ML_Syntax.mlmodule1 Prims.list)) = - fun g -> - fun ed -> + fun g -> + fun ed -> let extend_env g1 lid ml_name tm tysc = let fv = FStar_Syntax_Syntax.lid_as_fv lid - FStar_Syntax_Syntax.delta_equational FStar_Pervasives_Native.None in - let uu____2706 = - FStar_Extraction_ML_UEnv.extend_fv' g1 fv ml_name tysc false false in - match uu____2706 with - | (g2, mangled_name, exp_binding) -> - ((let uu____2728 = + FStar_Syntax_Syntax.delta_equational FStar_Pervasives_Native.None + in + let uu____2709 = + FStar_Extraction_ML_UEnv.extend_fv' g1 fv ml_name tysc false false + in + match uu____2709 with + | (g2,mangled_name,exp_binding) -> + ((let uu____2731 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug g2.FStar_Extraction_ML_UEnv.env_tcenv) - (FStar_Options.Other "ExtractionReify") in - if uu____2728 + (FStar_Options.Other "ExtractionReify") + in + if uu____2731 then FStar_Util.print1 "Mangled name: %s\n" mangled_name else ()); (let lb = @@ -902,179 +1005,204 @@ let (extract_reifiable_effect : FStar_Extraction_ML_Syntax.mllb_def = tm; FStar_Extraction_ML_Syntax.mllb_meta = []; FStar_Extraction_ML_Syntax.print_typ = false - } in + } in (g2, (iface_of_bindings [(fv, exp_binding)]), (FStar_Extraction_ML_Syntax.MLM_Let - (FStar_Extraction_ML_Syntax.NonRec, [lb]))))) in + (FStar_Extraction_ML_Syntax.NonRec, [lb]))))) + in let rec extract_fv tm = - (let uu____2764 = + (let uu____2767 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug g.FStar_Extraction_ML_UEnv.env_tcenv) - (FStar_Options.Other "ExtractionReify") in - if uu____2764 + (FStar_Options.Other "ExtractionReify") + in + if uu____2767 then - let uu____2769 = FStar_Syntax_Print.term_to_string tm in - FStar_Util.print1 "extract_fv term: %s\n" uu____2769 + let uu____2772 = FStar_Syntax_Print.term_to_string tm in + FStar_Util.print1 "extract_fv term: %s\n" uu____2772 else ()); - (let uu____2774 = - let uu____2775 = FStar_Syntax_Subst.compress tm in - uu____2775.FStar_Syntax_Syntax.n in - match uu____2774 with - | FStar_Syntax_Syntax.Tm_uinst (tm1, uu____2783) -> extract_fv tm1 + (let uu____2777 = + let uu____2778 = FStar_Syntax_Subst.compress tm in + uu____2778.FStar_Syntax_Syntax.n in + match uu____2777 with + | FStar_Syntax_Syntax.Tm_uinst (tm1,uu____2786) -> extract_fv tm1 | FStar_Syntax_Syntax.Tm_fvar fv -> let mlp = FStar_Extraction_ML_Syntax.mlpath_of_lident - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let uu____2790 = FStar_Extraction_ML_UEnv.lookup_fv g fv in - (match uu____2790 with - | { FStar_Extraction_ML_UEnv.exp_b_name = uu____2795; - FStar_Extraction_ML_UEnv.exp_b_expr = uu____2796; + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + let uu____2793 = FStar_Extraction_ML_UEnv.lookup_fv g fv in + (match uu____2793 with + | { FStar_Extraction_ML_UEnv.exp_b_name = uu____2798; + FStar_Extraction_ML_UEnv.exp_b_expr = uu____2799; FStar_Extraction_ML_UEnv.exp_b_tscheme = tysc; - FStar_Extraction_ML_UEnv.exp_b_inst_ok = uu____2798;_} -> - let uu____2801 = + FStar_Extraction_ML_UEnv.exp_b_inst_ok = uu____2801;_} -> + let uu____2804 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top) - (FStar_Extraction_ML_Syntax.MLE_Name mlp) in - (uu____2801, tysc)) - | uu____2802 -> - let uu____2803 = - let uu____2805 = - FStar_Range.string_of_range tm.FStar_Syntax_Syntax.pos in - let uu____2807 = FStar_Syntax_Print.term_to_string tm in - FStar_Util.format2 "(%s) Not an fv: %s" uu____2805 uu____2807 in - failwith uu____2803) in + (FStar_Extraction_ML_Syntax.MLE_Name mlp) + in + (uu____2804, tysc)) + | uu____2805 -> + let uu____2806 = + let uu____2808 = + FStar_Range.string_of_range tm.FStar_Syntax_Syntax.pos in + let uu____2810 = FStar_Syntax_Print.term_to_string tm in + FStar_Util.format2 "(%s) Not an fv: %s" uu____2808 uu____2810 + in + failwith uu____2806) + in let extract_action g1 a = - (let uu____2835 = + (let uu____2838 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug g1.FStar_Extraction_ML_UEnv.env_tcenv) - (FStar_Options.Other "ExtractionReify") in - if uu____2835 + (FStar_Options.Other "ExtractionReify") + in + if uu____2838 then - let uu____2840 = + let uu____2843 = FStar_Syntax_Print.term_to_string - a.FStar_Syntax_Syntax.action_typ in - let uu____2842 = + a.FStar_Syntax_Syntax.action_typ + in + let uu____2845 = FStar_Syntax_Print.term_to_string - a.FStar_Syntax_Syntax.action_defn in - FStar_Util.print2 "Action type %s and term %s\n" uu____2840 - uu____2842 + a.FStar_Syntax_Syntax.action_defn + in + FStar_Util.print2 "Action type %s and term %s\n" uu____2843 + uu____2845 else ()); - (let uu____2847 = FStar_Extraction_ML_UEnv.action_name ed a in - match uu____2847 with - | (a_nm, a_lid) -> + (let uu____2850 = FStar_Extraction_ML_UEnv.action_name ed a in + match uu____2850 with + | (a_nm,a_lid) -> let lbname = - let uu____2867 = + let uu____2870 = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some ((a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos)) - FStar_Syntax_Syntax.tun in - FStar_Util.Inl uu____2867 in + FStar_Syntax_Syntax.tun + in + FStar_Util.Inl uu____2870 in let lb = FStar_Syntax_Syntax.mk_lb (lbname, (a.FStar_Syntax_Syntax.action_univs), FStar_Parser_Const.effect_Tot_lid, (a.FStar_Syntax_Syntax.action_typ), (a.FStar_Syntax_Syntax.action_defn), [], - ((a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos)) in - let lbs = (false, [lb]) in + ((a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos)) + in + let lbs = (false, [lb]) in let action_lb = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let (lbs, FStar_Syntax_Util.exp_false_bool)) FStar_Pervasives_Native.None - (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos in - let uu____2897 = - FStar_Extraction_ML_Term.term_as_mlexpr g1 action_lb in - (match uu____2897 with - | (a_let, uu____2913, ty) -> - ((let uu____2916 = + (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos + in + let uu____2900 = + FStar_Extraction_ML_Term.term_as_mlexpr g1 action_lb in + (match uu____2900 with + | (a_let,uu____2916,ty) -> + ((let uu____2919 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug g1.FStar_Extraction_ML_UEnv.env_tcenv) - (FStar_Options.Other "ExtractionReify") in - if uu____2916 + (FStar_Options.Other "ExtractionReify") + in + if uu____2919 then - let uu____2921 = - FStar_Extraction_ML_Code.string_of_mlexpr a_nm a_let in + let uu____2924 = + FStar_Extraction_ML_Code.string_of_mlexpr a_nm a_let + in FStar_Util.print1 "Extracted action term: %s\n" - uu____2921 + uu____2924 else ()); - (let uu____2926 = + (let uu____2929 = match a_let.FStar_Extraction_ML_Syntax.expr with | FStar_Extraction_ML_Syntax.MLE_Let - ((uu____2949, mllb::[]), uu____2951) -> + ((uu____2952,mllb::[]),uu____2954) -> (match mllb.FStar_Extraction_ML_Syntax.mllb_tysc with | FStar_Pervasives_Native.Some tysc -> ((mllb.FStar_Extraction_ML_Syntax.mllb_def), tysc) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> failwith "No type scheme") - | uu____2991 -> failwith "Impossible" in - match uu____2926 with - | (exp, tysc) -> - ((let uu____3029 = + | uu____2994 -> failwith "Impossible" in + match uu____2929 with + | (exp,tysc) -> + ((let uu____3032 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug g1.FStar_Extraction_ML_UEnv.env_tcenv) - (FStar_Options.Other "ExtractionReify") in - if uu____3029 + (FStar_Options.Other "ExtractionReify") + in + if uu____3032 then - ((let uu____3035 = + ((let uu____3038 = FStar_Extraction_ML_Code.string_of_mlty a_nm - (FStar_Pervasives_Native.snd tysc) in + (FStar_Pervasives_Native.snd tysc) + in FStar_Util.print1 "Extracted action type: %s\n" - uu____3035); + uu____3038); FStar_List.iter - (fun x -> + (fun x -> FStar_Util.print1 "and binders: %s\n" x) (FStar_Pervasives_Native.fst tysc)) else ()); - (let uu____3051 = extend_env g1 a_lid a_nm exp tysc in - match uu____3051 with - | (env, iface1, impl) -> (env, (iface1, impl)))))))) in - let uu____3073 = - let uu____3080 = + (let uu____3054 = extend_env g1 a_lid a_nm exp tysc + in + match uu____3054 with + | (env,iface1,impl) -> (env, (iface1, impl)))))))) + in + let uu____3076 = + let uu____3083 = extract_fv - (FStar_Pervasives_Native.snd ed.FStar_Syntax_Syntax.return_repr) in - match uu____3080 with - | (return_tm, ty_sc) -> - let uu____3097 = - FStar_Extraction_ML_UEnv.monad_op_name ed "return" in - (match uu____3097 with - | (return_nm, return_lid) -> - extend_env g return_lid return_nm return_tm ty_sc) in - match uu____3073 with - | (g1, return_iface, return_decl) -> - let uu____3122 = - let uu____3129 = + (FStar_Pervasives_Native.snd ed.FStar_Syntax_Syntax.return_repr) + in + match uu____3083 with + | (return_tm,ty_sc) -> + let uu____3100 = + FStar_Extraction_ML_UEnv.monad_op_name ed "return" in + (match uu____3100 with + | (return_nm,return_lid) -> + extend_env g return_lid return_nm return_tm ty_sc) + in + match uu____3076 with + | (g1,return_iface,return_decl) -> + let uu____3125 = + let uu____3132 = extract_fv - (FStar_Pervasives_Native.snd ed.FStar_Syntax_Syntax.bind_repr) in - match uu____3129 with - | (bind_tm, ty_sc) -> - let uu____3146 = - FStar_Extraction_ML_UEnv.monad_op_name ed "bind" in - (match uu____3146 with - | (bind_nm, bind_lid) -> - extend_env g1 bind_lid bind_nm bind_tm ty_sc) in - (match uu____3122 with - | (g2, bind_iface, bind_decl) -> - let uu____3171 = + (FStar_Pervasives_Native.snd ed.FStar_Syntax_Syntax.bind_repr) + in + match uu____3132 with + | (bind_tm,ty_sc) -> + let uu____3149 = + FStar_Extraction_ML_UEnv.monad_op_name ed "bind" in + (match uu____3149 with + | (bind_nm,bind_lid) -> + extend_env g1 bind_lid bind_nm bind_tm ty_sc) + in + (match uu____3125 with + | (g2,bind_iface,bind_decl) -> + let uu____3174 = FStar_Util.fold_map extract_action g2 - ed.FStar_Syntax_Syntax.actions in - (match uu____3171 with - | (g3, actions) -> - let uu____3208 = FStar_List.unzip actions in - (match uu____3208 with - | (actions_iface, actions1) -> - let uu____3235 = + ed.FStar_Syntax_Syntax.actions + in + (match uu____3174 with + | (g3,actions) -> + let uu____3211 = FStar_List.unzip actions in + (match uu____3211 with + | (actions_iface,actions1) -> + let uu____3238 = iface_union_l (return_iface :: bind_iface :: - actions_iface) in - (g3, uu____3235, (return_decl :: bind_decl :: + actions_iface) + in + (g3, uu____3238, (return_decl :: bind_decl :: actions1))))) + let (extract_let_rec_types : FStar_Syntax_Syntax.sigelt -> FStar_Extraction_ML_UEnv.uenv -> @@ -1082,195 +1210,215 @@ let (extract_let_rec_types : (FStar_Extraction_ML_UEnv.uenv * iface * FStar_Extraction_ML_Syntax.mlmodule1 Prims.list)) = - fun se -> - fun env -> - fun lbs -> - let uu____3266 = + fun se -> + fun env -> + fun lbs -> + let uu____3269 = FStar_Util.for_some - (fun lb -> - let uu____3271 = + (fun lb -> + let uu____3274 = FStar_Extraction_ML_Term.is_arity env - lb.FStar_Syntax_Syntax.lbtyp in - Prims.op_Negation uu____3271) lbs in - if uu____3266 + lb.FStar_Syntax_Syntax.lbtyp + in + Prims.op_Negation uu____3274) lbs + in + if uu____3269 then FStar_Errors.raise_error (FStar_Errors.Fatal_ExtractionUnsupported, "Mutually recursively defined typed and terms cannot yet be extracted") se.FStar_Syntax_Syntax.sigrng else - (let uu____3294 = + (let uu____3297 = FStar_List.fold_left - (fun uu____3329 -> - fun lb -> - match uu____3329 with - | (env1, iface_opt, impls) -> - let uu____3370 = + (fun uu____3332 -> + fun lb -> + match uu____3332 with + | (env1,iface_opt,impls) -> + let uu____3373 = extract_let_rec_type env1 se.FStar_Syntax_Syntax.sigquals - se.FStar_Syntax_Syntax.sigattrs lb in - (match uu____3370 with - | (env2, iface1, impl) -> + se.FStar_Syntax_Syntax.sigattrs lb + in + (match uu____3373 with + | (env2,iface1,impl) -> let iface_opt1 = match iface_opt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some iface1 | FStar_Pervasives_Native.Some iface' -> - let uu____3404 = iface_union iface' iface1 in - FStar_Pervasives_Native.Some uu____3404 in + let uu____3407 = iface_union iface' iface1 + in + FStar_Pervasives_Native.Some uu____3407 + in (env2, iface_opt1, (impl :: impls)))) - (env, FStar_Pervasives_Native.None, []) lbs in - match uu____3294 with - | (env1, iface_opt, impls) -> - let uu____3444 = FStar_Option.get iface_opt in - let uu____3445 = + (env, FStar_Pervasives_Native.None, []) lbs + in + match uu____3297 with + | (env1,iface_opt,impls) -> + let uu____3447 = FStar_Option.get iface_opt in + let uu____3448 = FStar_All.pipe_right (FStar_List.rev impls) - FStar_List.flatten in - (env1, uu____3444, uu____3445)) + FStar_List.flatten + in + (env1, uu____3447, uu____3448)) + let (extract_sigelt_iface : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.sigelt -> (FStar_Extraction_ML_UEnv.uenv * iface)) = - fun g -> - fun se -> + fun g -> + fun se -> match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle uu____3477 -> + | FStar_Syntax_Syntax.Sig_bundle uu____3480 -> extract_bundle_iface g se - | FStar_Syntax_Syntax.Sig_inductive_typ uu____3486 -> + | FStar_Syntax_Syntax.Sig_inductive_typ uu____3489 -> extract_bundle_iface g se - | FStar_Syntax_Syntax.Sig_datacon uu____3503 -> + | FStar_Syntax_Syntax.Sig_datacon uu____3506 -> extract_bundle_iface g se - | FStar_Syntax_Syntax.Sig_declare_typ (lid, univs1, t) when + | FStar_Syntax_Syntax.Sig_declare_typ (lid,univs1,t) when FStar_Extraction_ML_Term.is_arity g t -> - let uu____3522 = + let uu____3525 = extract_type_declaration g lid se.FStar_Syntax_Syntax.sigquals - se.FStar_Syntax_Syntax.sigattrs univs1 t in - (match uu____3522 with | (env, iface1, uu____3537) -> (env, iface1)) - | FStar_Syntax_Syntax.Sig_let ((false, lb::[]), uu____3543) when + se.FStar_Syntax_Syntax.sigattrs univs1 t + in + (match uu____3525 with | (env,iface1,uu____3540) -> (env, iface1)) + | FStar_Syntax_Syntax.Sig_let ((false ,lb::[]),uu____3546) when FStar_Extraction_ML_Term.is_arity g lb.FStar_Syntax_Syntax.lbtyp -> - let uu____3552 = + let uu____3555 = extract_typ_abbrev g se.FStar_Syntax_Syntax.sigquals - se.FStar_Syntax_Syntax.sigattrs lb in - (match uu____3552 with | (env, iface1, uu____3567) -> (env, iface1)) - | FStar_Syntax_Syntax.Sig_let ((true, lbs), uu____3573) when + se.FStar_Syntax_Syntax.sigattrs lb + in + (match uu____3555 with | (env,iface1,uu____3570) -> (env, iface1)) + | FStar_Syntax_Syntax.Sig_let ((true ,lbs),uu____3576) when FStar_Util.for_some - (fun lb -> + (fun lb -> FStar_Extraction_ML_Term.is_arity g lb.FStar_Syntax_Syntax.lbtyp) lbs -> - let uu____3586 = extract_let_rec_types se g lbs in - (match uu____3586 with | (env, iface1, uu____3601) -> (env, iface1)) - | FStar_Syntax_Syntax.Sig_declare_typ (lid, _univs, t) -> - let quals = se.FStar_Syntax_Syntax.sigquals in - let uu____3612 = + let uu____3589 = extract_let_rec_types se g lbs in + (match uu____3589 with | (env,iface1,uu____3604) -> (env, iface1)) + | FStar_Syntax_Syntax.Sig_declare_typ (lid,_univs,t) -> + let quals = se.FStar_Syntax_Syntax.sigquals in + let uu____3615 = (FStar_All.pipe_right quals (FStar_List.contains FStar_Syntax_Syntax.Assumption)) && - (let uu____3618 = + (let uu____3621 = FStar_TypeChecker_Util.must_erase_for_extraction - g.FStar_Extraction_ML_UEnv.env_tcenv t in - Prims.op_Negation uu____3618) in - if uu____3612 + g.FStar_Extraction_ML_UEnv.env_tcenv t + in + Prims.op_Negation uu____3621) + in + if uu____3615 then - let uu____3625 = - let uu____3636 = - let uu____3637 = - let uu____3640 = always_fail lid t in [uu____3640] in - (false, uu____3637) in - FStar_Extraction_ML_Term.extract_lb_iface g uu____3636 in - (match uu____3625 with - | (g1, bindings) -> (g1, (iface_of_bindings bindings))) + let uu____3628 = + let uu____3639 = + let uu____3640 = + let uu____3643 = always_fail lid t in [uu____3643] in + (false, uu____3640) in + FStar_Extraction_ML_Term.extract_lb_iface g uu____3639 in + (match uu____3628 with + | (g1,bindings) -> (g1, (iface_of_bindings bindings))) else (g, empty_iface) - | FStar_Syntax_Syntax.Sig_let (lbs, uu____3666) -> - let uu____3671 = FStar_Extraction_ML_Term.extract_lb_iface g lbs in - (match uu____3671 with - | (g1, bindings) -> (g1, (iface_of_bindings bindings))) - | FStar_Syntax_Syntax.Sig_main uu____3700 -> (g, empty_iface) - | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____3701 -> + | FStar_Syntax_Syntax.Sig_let (lbs,uu____3669) -> + let uu____3674 = FStar_Extraction_ML_Term.extract_lb_iface g lbs + in + (match uu____3674 with + | (g1,bindings) -> (g1, (iface_of_bindings bindings))) + | FStar_Syntax_Syntax.Sig_main uu____3703 -> (g, empty_iface) + | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____3704 -> (g, empty_iface) - | FStar_Syntax_Syntax.Sig_assume uu____3702 -> (g, empty_iface) - | FStar_Syntax_Syntax.Sig_sub_effect uu____3709 -> (g, empty_iface) - | FStar_Syntax_Syntax.Sig_effect_abbrev uu____3710 -> (g, empty_iface) + | FStar_Syntax_Syntax.Sig_assume uu____3705 -> (g, empty_iface) + | FStar_Syntax_Syntax.Sig_sub_effect uu____3712 -> (g, empty_iface) + | FStar_Syntax_Syntax.Sig_effect_abbrev uu____3713 -> (g, empty_iface) | FStar_Syntax_Syntax.Sig_pragma p -> (FStar_Syntax_Util.process_pragma p se.FStar_Syntax_Syntax.sigrng; (g, empty_iface)) - | FStar_Syntax_Syntax.Sig_splice uu____3725 -> + | FStar_Syntax_Syntax.Sig_splice uu____3728 -> failwith "impossible: trying to extract splice" | FStar_Syntax_Syntax.Sig_new_effect ed -> - let uu____3738 = + let uu____3741 = (FStar_TypeChecker_Env.is_reifiable_effect g.FStar_Extraction_ML_UEnv.env_tcenv ed.FStar_Syntax_Syntax.mname) - && (FStar_List.isEmpty ed.FStar_Syntax_Syntax.binders) in - if uu____3738 + && (FStar_List.isEmpty ed.FStar_Syntax_Syntax.binders) + in + if uu____3741 then - let uu____3751 = extract_reifiable_effect g ed in - (match uu____3751 with - | (env, iface1, uu____3766) -> (env, iface1)) + let uu____3754 = extract_reifiable_effect g ed in + (match uu____3754 with | (env,iface1,uu____3769) -> (env, iface1)) else (g, empty_iface) + let (extract_iface' : env_t -> FStar_Syntax_Syntax.modul -> (FStar_Extraction_ML_UEnv.uenv * iface)) = - fun g -> - fun modul -> - let uu____3788 = FStar_Options.interactive () in - if uu____3788 + fun g -> + fun modul -> + let uu____3791 = FStar_Options.interactive () in + if uu____3791 then (g, empty_iface) else - (let uu____3797 = FStar_Options.restore_cmd_line_options true in - let decls = modul.FStar_Syntax_Syntax.declarations in + (let uu____3800 = FStar_Options.restore_cmd_line_options true in + let decls = modul.FStar_Syntax_Syntax.declarations in let iface1 = - let uu___610_3801 = empty_iface in + let uu___612_3804 = empty_iface in { iface_module_name = (g.FStar_Extraction_ML_UEnv.currentModule); - iface_bindings = (uu___610_3801.iface_bindings); - iface_tydefs = (uu___610_3801.iface_tydefs); - iface_type_names = (uu___610_3801.iface_type_names) - } in + iface_bindings = (uu___612_3804.iface_bindings); + iface_tydefs = (uu___612_3804.iface_tydefs); + iface_type_names = (uu___612_3804.iface_type_names) + } in let res = FStar_List.fold_left - (fun uu____3819 -> - fun se -> - match uu____3819 with - | (g1, iface2) -> - let uu____3831 = extract_sigelt_iface g1 se in - (match uu____3831 with - | (g2, iface') -> - let uu____3842 = iface_union iface2 iface' in - (g2, uu____3842))) (g, iface1) decls in - (let uu____3844 = FStar_Options.restore_cmd_line_options true in - FStar_All.pipe_left (fun a1 -> ()) uu____3844); + (fun uu____3822 -> + fun se -> + match uu____3822 with + | (g1,iface2) -> + let uu____3834 = extract_sigelt_iface g1 se in + (match uu____3834 with + | (g2,iface') -> + let uu____3845 = iface_union iface2 iface' in + (g2, uu____3845))) (g, iface1) decls + in + (let uu____3847 = FStar_Options.restore_cmd_line_options true in + FStar_All.pipe_left (fun a1 -> ()) uu____3847); res) + let (extract_iface : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.modul -> (FStar_Extraction_ML_UEnv.uenv * iface)) = - fun g -> - fun modul -> - let uu____3861 = FStar_Options.debug_any () in - if uu____3861 + fun g -> + fun modul -> + let uu____3864 = FStar_Options.debug_any () in + if uu____3864 then - let uu____3868 = + let uu____3871 = FStar_Util.format1 "Extracted interface of %s" - (modul.FStar_Syntax_Syntax.name).FStar_Ident.str in - FStar_Util.measure_execution_time uu____3868 - (fun uu____3876 -> extract_iface' g modul) + (modul.FStar_Syntax_Syntax.name).FStar_Ident.str + in + FStar_Util.measure_execution_time uu____3871 + (fun uu____3879 -> extract_iface' g modul) else extract_iface' g modul + let (extend_with_iface : FStar_Extraction_ML_UEnv.uenv -> iface -> FStar_Extraction_ML_UEnv.uenv) = - fun g -> - fun iface1 -> - let uu___628_3890 = g in - let uu____3891 = - let uu____3894 = - FStar_List.map (fun _3901 -> FStar_Extraction_ML_UEnv.Fv _3901) - iface1.iface_bindings in - FStar_List.append uu____3894 g.FStar_Extraction_ML_UEnv.env_bindings in + fun g -> + fun iface1 -> + let uu___630_3893 = g in + let uu____3894 = + let uu____3897 = + FStar_List.map (fun _3904 -> FStar_Extraction_ML_UEnv.Fv _3904) + iface1.iface_bindings + in + FStar_List.append uu____3897 g.FStar_Extraction_ML_UEnv.env_bindings + in { FStar_Extraction_ML_UEnv.env_tcenv = - (uu___628_3890.FStar_Extraction_ML_UEnv.env_tcenv); - FStar_Extraction_ML_UEnv.env_bindings = uu____3891; + (uu___630_3893.FStar_Extraction_ML_UEnv.env_tcenv); + FStar_Extraction_ML_UEnv.env_bindings = uu____3894; FStar_Extraction_ML_UEnv.tydefs = (FStar_List.append iface1.iface_tydefs g.FStar_Extraction_ML_UEnv.tydefs); @@ -1278,246 +1426,274 @@ let (extend_with_iface : (FStar_List.append iface1.iface_type_names g.FStar_Extraction_ML_UEnv.type_names); FStar_Extraction_ML_UEnv.currentModule = - (uu___628_3890.FStar_Extraction_ML_UEnv.currentModule) + (uu___630_3893.FStar_Extraction_ML_UEnv.currentModule) } + let (extract_bundle : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.sigelt -> (env_t * FStar_Extraction_ML_Syntax.mlmodule1 Prims.list)) = - fun env -> - fun se -> + fun env -> + fun se -> let extract_ctor env_iparams ml_tyvars env1 ctor = let mlt = - let uu____3979 = - FStar_Extraction_ML_Term.term_as_mlty env_iparams ctor.dtyp in + let uu____3982 = + FStar_Extraction_ML_Term.term_as_mlty env_iparams ctor.dtyp in FStar_Extraction_ML_Util.eraseTypeDeep - (FStar_Extraction_ML_Util.udelta_unfold env_iparams) uu____3979 in + (FStar_Extraction_ML_Util.udelta_unfold env_iparams) uu____3982 + in let steps = [FStar_TypeChecker_Env.Inlining; FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.EraseUniverses; - FStar_TypeChecker_Env.AllowUnboundUniverses] in + FStar_TypeChecker_Env.AllowUnboundUniverses] in let names1 = - let uu____3987 = - let uu____3988 = - let uu____3991 = + let uu____3990 = + let uu____3991 = + let uu____3994 = FStar_TypeChecker_Normalize.normalize steps - env_iparams.FStar_Extraction_ML_UEnv.env_tcenv ctor.dtyp in - FStar_Syntax_Subst.compress uu____3991 in - uu____3988.FStar_Syntax_Syntax.n in - match uu____3987 with - | FStar_Syntax_Syntax.Tm_arrow (bs, uu____3996) -> + env_iparams.FStar_Extraction_ML_UEnv.env_tcenv ctor.dtyp + in + FStar_Syntax_Subst.compress uu____3994 in + uu____3991.FStar_Syntax_Syntax.n in + match uu____3990 with + | FStar_Syntax_Syntax.Tm_arrow (bs,uu____3999) -> FStar_List.map - (fun uu____4029 -> - match uu____4029 with + (fun uu____4032 -> + match uu____4032 with | ({ FStar_Syntax_Syntax.ppname = ppname; - FStar_Syntax_Syntax.index = uu____4038; - FStar_Syntax_Syntax.sort = uu____4039;_}, - uu____4040) -> ppname.FStar_Ident.idText) bs - | uu____4048 -> [] in - let tys = (ml_tyvars, mlt) in - let fvv = FStar_Extraction_ML_UEnv.mkFvvar ctor.dname ctor.dtyp in - let uu____4056 = - FStar_Extraction_ML_UEnv.extend_fv env1 fvv tys false false in - match uu____4056 with - | (env2, uu____4083, uu____4084) -> - let uu____4087 = - let uu____4100 = lident_as_mlsymbol ctor.dname in - let uu____4102 = - let uu____4110 = FStar_Extraction_ML_Util.argTypes mlt in - FStar_List.zip names1 uu____4110 in - (uu____4100, uu____4102) in - (env2, uu____4087) in + FStar_Syntax_Syntax.index = uu____4041; + FStar_Syntax_Syntax.sort = uu____4042;_},uu____4043) + -> ppname.FStar_Ident.idText) bs + | uu____4051 -> [] in + let tys = (ml_tyvars, mlt) in + let fvv = FStar_Extraction_ML_UEnv.mkFvvar ctor.dname ctor.dtyp in + let uu____4059 = + FStar_Extraction_ML_UEnv.extend_fv env1 fvv tys false false in + match uu____4059 with + | (env2,uu____4086,uu____4087) -> + let uu____4090 = + let uu____4103 = lident_as_mlsymbol ctor.dname in + let uu____4105 = + let uu____4113 = FStar_Extraction_ML_Util.argTypes mlt in + FStar_List.zip names1 uu____4113 in + (uu____4103, uu____4105) in + (env2, uu____4090) + in let extract_one_family env1 ind = - let uu____4171 = binders_as_mlty_binders env1 ind.iparams in - match uu____4171 with - | (env_iparams, vars) -> - let uu____4215 = + let uu____4174 = binders_as_mlty_binders env1 ind.iparams in + match uu____4174 with + | (env_iparams,vars) -> + let uu____4218 = FStar_All.pipe_right ind.idatas - (FStar_Util.fold_map (extract_ctor env_iparams vars) env1) in - (match uu____4215 with - | (env2, ctors) -> - let uu____4322 = FStar_Syntax_Util.arrow_formals ind.ityp in - (match uu____4322 with - | (indices, uu____4364) -> + (FStar_Util.fold_map (extract_ctor env_iparams vars) env1) + in + (match uu____4218 with + | (env2,ctors) -> + let uu____4325 = FStar_Syntax_Util.arrow_formals ind.ityp + in + (match uu____4325 with + | (indices,uu____4367) -> let ml_params = - let uu____4389 = + let uu____4392 = FStar_All.pipe_right indices (FStar_List.mapi - (fun i -> - fun uu____4415 -> - let uu____4423 = - FStar_Util.string_of_int i in - Prims.op_Hat "'dummyV" uu____4423)) in - FStar_List.append vars uu____4389 in + (fun i -> + fun uu____4418 -> + let uu____4426 = + FStar_Util.string_of_int i in + Prims.op_Hat "'dummyV" uu____4426)) + in + FStar_List.append vars uu____4392 in let tbody = - let uu____4428 = + let uu____4431 = FStar_Util.find_opt - (fun uu___7_4433 -> - match uu___7_4433 with - | FStar_Syntax_Syntax.RecordType uu____4435 -> + (fun uu___7_4436 -> + match uu___7_4436 with + | FStar_Syntax_Syntax.RecordType uu____4438 -> true - | uu____4445 -> false) ind.iquals in - match uu____4428 with + | uu____4448 -> false) ind.iquals + in + match uu____4431 with | FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.RecordType (ns, ids)) -> - let uu____4457 = FStar_List.hd ctors in - (match uu____4457 with - | (uu____4482, c_ty) -> + (FStar_Syntax_Syntax.RecordType (ns,ids)) -> + let uu____4460 = FStar_List.hd ctors in + (match uu____4460 with + | (uu____4485,c_ty) -> let fields = FStar_List.map2 - (fun id1 -> - fun uu____4526 -> - match uu____4526 with - | (uu____4537, ty) -> + (fun id1 -> + fun uu____4529 -> + match uu____4529 with + | (uu____4540,ty) -> let lid = FStar_Ident.lid_of_ids - (FStar_List.append ns [id1]) in - let uu____4542 = - lident_as_mlsymbol lid in - (uu____4542, ty)) ids c_ty in + (FStar_List.append ns [id1]) + in + let uu____4545 = + lident_as_mlsymbol lid in + (uu____4545, ty)) ids c_ty + in FStar_Extraction_ML_Syntax.MLTD_Record fields) - | uu____4545 -> - FStar_Extraction_ML_Syntax.MLTD_DType ctors in - let uu____4548 = - let uu____4571 = lident_as_mlsymbol ind.iname in - (false, uu____4571, FStar_Pervasives_Native.None, + | uu____4548 -> + FStar_Extraction_ML_Syntax.MLTD_DType ctors + in + let uu____4551 = + let uu____4574 = lident_as_mlsymbol ind.iname in + (false, uu____4574, FStar_Pervasives_Native.None, ml_params, (ind.imetadata), - (FStar_Pervasives_Native.Some tbody)) in - (env2, uu____4548))) in + (FStar_Pervasives_Native.Some tbody)) + in + (env2, uu____4551))) + in match ((se.FStar_Syntax_Syntax.sigel), (se.FStar_Syntax_Syntax.sigquals)) with | (FStar_Syntax_Syntax.Sig_bundle ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon - (l, uu____4616, t, uu____4618, uu____4619, uu____4620); - FStar_Syntax_Syntax.sigrng = uu____4621; - FStar_Syntax_Syntax.sigquals = uu____4622; - FStar_Syntax_Syntax.sigmeta = uu____4623; - FStar_Syntax_Syntax.sigattrs = uu____4624;_}::[], - uu____4625), - (FStar_Syntax_Syntax.ExceptionConstructor)::[]) -> - let uu____4644 = extract_ctor env [] env { dname = l; dtyp = t } in - (match uu____4644 with - | (env1, ctor) -> - (env1, [FStar_Extraction_ML_Syntax.MLM_Exn ctor])) - | (FStar_Syntax_Syntax.Sig_bundle (ses, uu____4697), quals) -> - let uu____4711 = + (l,uu____4619,t,uu____4621,uu____4622,uu____4623); + FStar_Syntax_Syntax.sigrng = uu____4624; + FStar_Syntax_Syntax.sigquals = uu____4625; + FStar_Syntax_Syntax.sigmeta = uu____4626; + FStar_Syntax_Syntax.sigattrs = uu____4627;_}::[],uu____4628),(FStar_Syntax_Syntax.ExceptionConstructor + )::[]) -> + let uu____4647 = extract_ctor env [] env { dname = l; dtyp = t } + in + (match uu____4647 with + | (env1,ctor) -> (env1, [FStar_Extraction_ML_Syntax.MLM_Exn ctor])) + | (FStar_Syntax_Syntax.Sig_bundle (ses,uu____4700),quals) -> + let uu____4714 = bundle_as_inductive_families env ses quals - se.FStar_Syntax_Syntax.sigattrs in - (match uu____4711 with - | (env1, ifams) -> - let uu____4730 = - FStar_Util.fold_map extract_one_family env1 ifams in - (match uu____4730 with - | (env2, td) -> - (env2, [FStar_Extraction_ML_Syntax.MLM_Ty td]))) - | uu____4839 -> failwith "Unexpected signature element" + se.FStar_Syntax_Syntax.sigattrs + in + (match uu____4714 with + | (env1,ifams) -> + let uu____4733 = + FStar_Util.fold_map extract_one_family env1 ifams in + (match uu____4733 with + | (env2,td) -> (env2, [FStar_Extraction_ML_Syntax.MLM_Ty td]))) + | uu____4842 -> failwith "Unexpected signature element" + let (maybe_register_plugin : env_t -> FStar_Syntax_Syntax.sigelt -> FStar_Extraction_ML_Syntax.mlmodule1 Prims.list) = - fun g -> - fun se -> + fun g -> + fun se -> let w = FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top in + FStar_Extraction_ML_Syntax.MLTY_Top + in let plugin_with_arity attrs = FStar_Util.find_map attrs - (fun t -> - let uu____4897 = FStar_Syntax_Util.head_and_args t in - match uu____4897 with - | (head1, args) -> - let uu____4945 = - let uu____4947 = + (fun t -> + let uu____4900 = FStar_Syntax_Util.head_and_args t in + match uu____4900 with + | (head1,args) -> + let uu____4948 = + let uu____4950 = FStar_Syntax_Util.is_fvar FStar_Parser_Const.plugin_attr - head1 in - Prims.op_Negation uu____4947 in - if uu____4945 + head1 + in + Prims.op_Negation uu____4950 in + if uu____4948 then FStar_Pervasives_Native.None else (match args with | ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_int (s, uu____4966)); - FStar_Syntax_Syntax.pos = uu____4967; - FStar_Syntax_Syntax.vars = uu____4968;_}, - uu____4969)::[] -> - let uu____5008 = - let uu____5012 = FStar_Util.int_of_string s in - FStar_Pervasives_Native.Some uu____5012 in - FStar_Pervasives_Native.Some uu____5008 - | uu____5018 -> + (FStar_Const.Const_int (s,uu____4969)); + FStar_Syntax_Syntax.pos = uu____4970; + FStar_Syntax_Syntax.vars = uu____4971;_},uu____4972)::[] + -> + let uu____5011 = + let uu____5015 = FStar_Util.int_of_string s in + FStar_Pervasives_Native.Some uu____5015 in + FStar_Pervasives_Native.Some uu____5011 + | uu____5021 -> FStar_Pervasives_Native.Some - FStar_Pervasives_Native.None)) in - let uu____5033 = - let uu____5035 = FStar_Options.codegen () in - uu____5035 <> (FStar_Pervasives_Native.Some FStar_Options.Plugin) in - if uu____5033 + FStar_Pervasives_Native.None)) + in + let uu____5036 = + let uu____5038 = FStar_Options.codegen () in + uu____5038 <> (FStar_Pervasives_Native.Some FStar_Options.Plugin) in + if uu____5036 then [] else - (let uu____5045 = plugin_with_arity se.FStar_Syntax_Syntax.sigattrs in - match uu____5045 with - | FStar_Pervasives_Native.None -> [] + (let uu____5048 = plugin_with_arity se.FStar_Syntax_Syntax.sigattrs + in + match uu____5048 with + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some arity_opt -> (match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_let (lbs, lids) -> + | FStar_Syntax_Syntax.Sig_let (lbs,lids) -> let mk_registration lb = - let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname + in let fv_lid1 = - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let fv_t = lb.FStar_Syntax_Syntax.lbtyp in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + let fv_t = lb.FStar_Syntax_Syntax.lbtyp in let ml_name_str = - let uu____5087 = - let uu____5088 = FStar_Ident.string_of_lid fv_lid1 in - FStar_Extraction_ML_Syntax.MLC_String uu____5088 in - FStar_Extraction_ML_Syntax.MLE_Const uu____5087 in - let uu____5090 = + let uu____5090 = + let uu____5091 = FStar_Ident.string_of_lid fv_lid1 + in + FStar_Extraction_ML_Syntax.MLC_String uu____5091 in + FStar_Extraction_ML_Syntax.MLE_Const uu____5090 in + let uu____5093 = FStar_Extraction_ML_Util.interpret_plugin_as_term_fun g.FStar_Extraction_ML_UEnv.env_tcenv fv fv_t - arity_opt ml_name_str in - match uu____5090 with + arity_opt ml_name_str + in + match uu____5093 with | FStar_Pervasives_Native.Some - (interp, nbe_interp, arity, plugin1) -> - let uu____5123 = + (interp,nbe_interp,arity,plugin1) -> + let uu____5126 = if plugin1 then ("FStar_Tactics_Native.register_plugin", [interp; nbe_interp]) else ("FStar_Tactics_Native.register_tactic", - [interp]) in - (match uu____5123 with - | (register, args) -> + [interp]) + in + (match uu____5126 with + | (register,args) -> let h = - let uu____5160 = - let uu____5161 = - let uu____5162 = - FStar_Ident.lid_of_str register in + let uu____5163 = + let uu____5164 = + let uu____5165 = + FStar_Ident.lid_of_str register in FStar_Extraction_ML_Syntax.mlpath_of_lident - uu____5162 in + uu____5165 + in FStar_Extraction_ML_Syntax.MLE_Name - uu____5161 in + uu____5164 + in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top) - uu____5160 in + uu____5163 + in let arity1 = - let uu____5164 = - let uu____5165 = - let uu____5177 = - FStar_Util.string_of_int arity in - (uu____5177, FStar_Pervasives_Native.None) in + let uu____5167 = + let uu____5168 = + let uu____5180 = + FStar_Util.string_of_int arity in + (uu____5180, FStar_Pervasives_Native.None) + in FStar_Extraction_ML_Syntax.MLC_Int - uu____5165 in + uu____5168 + in FStar_Extraction_ML_Syntax.MLE_Const - uu____5164 in + uu____5167 + in let app = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty @@ -1525,258 +1701,288 @@ let (maybe_register_plugin : (FStar_Extraction_ML_Syntax.MLE_App (h, (FStar_List.append - [w ml_name_str; w arity1] args))) in + [w ml_name_str; w arity1] args))) + in [FStar_Extraction_ML_Syntax.MLM_Top app]) - | FStar_Pervasives_Native.None -> [] in + | FStar_Pervasives_Native.None -> [] in FStar_List.collect mk_registration (FStar_Pervasives_Native.snd lbs) - | uu____5206 -> [])) + | uu____5209 -> [])) + let rec (extract_sig : env_t -> FStar_Syntax_Syntax.sigelt -> (env_t * FStar_Extraction_ML_Syntax.mlmodule1 Prims.list)) = - fun g -> - fun se -> + fun g -> + fun se -> FStar_Extraction_ML_UEnv.debug g - (fun u -> - let uu____5234 = FStar_Syntax_Print.sigelt_to_string se in - FStar_Util.print1 ">>>> extract_sig %s \n" uu____5234); + (fun u -> + let uu____5237 = FStar_Syntax_Print.sigelt_to_string se in + FStar_Util.print1 ">>>> extract_sig %s \n" uu____5237); (match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle uu____5243 -> extract_bundle g se - | FStar_Syntax_Syntax.Sig_inductive_typ uu____5252 -> + | FStar_Syntax_Syntax.Sig_bundle uu____5246 -> extract_bundle g se + | FStar_Syntax_Syntax.Sig_inductive_typ uu____5255 -> extract_bundle g se - | FStar_Syntax_Syntax.Sig_datacon uu____5269 -> extract_bundle g se + | FStar_Syntax_Syntax.Sig_datacon uu____5272 -> extract_bundle g se | FStar_Syntax_Syntax.Sig_new_effect ed when FStar_TypeChecker_Env.is_reifiable_effect g.FStar_Extraction_ML_UEnv.env_tcenv ed.FStar_Syntax_Syntax.mname -> - let uu____5286 = extract_reifiable_effect g ed in - (match uu____5286 with | (env, _iface, impl) -> (env, impl)) - | FStar_Syntax_Syntax.Sig_splice uu____5310 -> + let uu____5289 = extract_reifiable_effect g ed in + (match uu____5289 with | (env,_iface,impl) -> (env, impl)) + | FStar_Syntax_Syntax.Sig_splice uu____5313 -> failwith "impossible: trying to extract splice" - | FStar_Syntax_Syntax.Sig_new_effect uu____5324 -> (g, []) - | FStar_Syntax_Syntax.Sig_declare_typ (lid, univs1, t) when + | FStar_Syntax_Syntax.Sig_new_effect uu____5327 -> (g, []) + | FStar_Syntax_Syntax.Sig_declare_typ (lid,univs1,t) when FStar_Extraction_ML_Term.is_arity g t -> - let uu____5330 = + let uu____5333 = extract_type_declaration g lid se.FStar_Syntax_Syntax.sigquals - se.FStar_Syntax_Syntax.sigattrs univs1 t in - (match uu____5330 with | (env, uu____5346, impl) -> (env, impl)) - | FStar_Syntax_Syntax.Sig_let ((false, lb::[]), uu____5355) when + se.FStar_Syntax_Syntax.sigattrs univs1 t + in + (match uu____5333 with | (env,uu____5349,impl) -> (env, impl)) + | FStar_Syntax_Syntax.Sig_let ((false ,lb::[]),uu____5358) when FStar_Extraction_ML_Term.is_arity g lb.FStar_Syntax_Syntax.lbtyp -> - let uu____5364 = + let uu____5367 = extract_typ_abbrev g se.FStar_Syntax_Syntax.sigquals - se.FStar_Syntax_Syntax.sigattrs lb in - (match uu____5364 with | (env, uu____5380, impl) -> (env, impl)) - | FStar_Syntax_Syntax.Sig_let ((true, lbs), uu____5389) when + se.FStar_Syntax_Syntax.sigattrs lb + in + (match uu____5367 with | (env,uu____5383,impl) -> (env, impl)) + | FStar_Syntax_Syntax.Sig_let ((true ,lbs),uu____5392) when FStar_Util.for_some - (fun lb -> + (fun lb -> FStar_Extraction_ML_Term.is_arity g lb.FStar_Syntax_Syntax.lbtyp) lbs -> - let uu____5402 = extract_let_rec_types se g lbs in - (match uu____5402 with | (env, uu____5418, impl) -> (env, impl)) - | FStar_Syntax_Syntax.Sig_let (lbs, uu____5427) -> - let attrs = se.FStar_Syntax_Syntax.sigattrs in - let quals = se.FStar_Syntax_Syntax.sigquals in - let uu____5438 = - let uu____5447 = + let uu____5405 = extract_let_rec_types se g lbs in + (match uu____5405 with | (env,uu____5421,impl) -> (env, impl)) + | FStar_Syntax_Syntax.Sig_let (lbs,uu____5430) -> + let attrs = se.FStar_Syntax_Syntax.sigattrs in + let quals = se.FStar_Syntax_Syntax.sigquals in + let uu____5441 = + let uu____5450 = FStar_Syntax_Util.extract_attr' - FStar_Parser_Const.postprocess_extr_with attrs in - match uu____5447 with - | FStar_Pervasives_Native.None -> + FStar_Parser_Const.postprocess_extr_with attrs + in + match uu____5450 with + | FStar_Pervasives_Native.None -> (attrs, FStar_Pervasives_Native.None) | FStar_Pervasives_Native.Some - (ats, (tau, FStar_Pervasives_Native.None)::uu____5476) -> + (ats,(tau,FStar_Pervasives_Native.None )::uu____5479) -> (ats, (FStar_Pervasives_Native.Some tau)) - | FStar_Pervasives_Native.Some (ats, args) -> + | FStar_Pervasives_Native.Some (ats,args) -> (FStar_Errors.log_issue se.FStar_Syntax_Syntax.sigrng (FStar_Errors.Warning_UnrecognizedAttribute, "Ill-formed application of `postprocess_for_extraction_with`"); - (attrs, FStar_Pervasives_Native.None)) in - (match uu____5438 with - | (attrs1, post_tau) -> + (attrs, FStar_Pervasives_Native.None)) + in + (match uu____5441 with + | (attrs1,post_tau) -> let postprocess_lb tau lb = let lbdef = FStar_TypeChecker_Env.postprocess g.FStar_Extraction_ML_UEnv.env_tcenv tau lb.FStar_Syntax_Syntax.lbtyp - lb.FStar_Syntax_Syntax.lbdef in - let uu___858_5562 = lb in + lb.FStar_Syntax_Syntax.lbdef + in + let uu___860_5565 = lb in { FStar_Syntax_Syntax.lbname = - (uu___858_5562.FStar_Syntax_Syntax.lbname); + (uu___860_5565.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = - (uu___858_5562.FStar_Syntax_Syntax.lbunivs); + (uu___860_5565.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = - (uu___858_5562.FStar_Syntax_Syntax.lbtyp); + (uu___860_5565.FStar_Syntax_Syntax.lbtyp); FStar_Syntax_Syntax.lbeff = - (uu___858_5562.FStar_Syntax_Syntax.lbeff); + (uu___860_5565.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = lbdef; FStar_Syntax_Syntax.lbattrs = - (uu___858_5562.FStar_Syntax_Syntax.lbattrs); + (uu___860_5565.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___858_5562.FStar_Syntax_Syntax.lbpos) - } in + (uu___860_5565.FStar_Syntax_Syntax.lbpos) + } in let lbs1 = - let uu____5571 = + let uu____5574 = match post_tau with | FStar_Pervasives_Native.Some tau -> FStar_List.map (postprocess_lb tau) (FStar_Pervasives_Native.snd lbs) - | FStar_Pervasives_Native.None -> - FStar_Pervasives_Native.snd lbs in - ((FStar_Pervasives_Native.fst lbs), uu____5571) in - let uu____5589 = - let uu____5596 = + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.snd lbs + in + ((FStar_Pervasives_Native.fst lbs), uu____5574) in + let uu____5592 = + let uu____5599 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let (lbs1, FStar_Syntax_Util.exp_false_bool)) FStar_Pervasives_Native.None - se.FStar_Syntax_Syntax.sigrng in - FStar_Extraction_ML_Term.term_as_mlexpr g uu____5596 in - (match uu____5589 with - | (ml_let, uu____5613, uu____5614) -> + se.FStar_Syntax_Syntax.sigrng + in + FStar_Extraction_ML_Term.term_as_mlexpr g uu____5599 in + (match uu____5592 with + | (ml_let,uu____5616,uu____5617) -> (match ml_let.FStar_Extraction_ML_Syntax.expr with | FStar_Extraction_ML_Syntax.MLE_Let - ((flavor, bindings), uu____5623) -> - let flags = FStar_List.choose flag_of_qual quals in - let flags' = extract_metadata attrs1 in - let uu____5640 = + ((flavor,bindings),uu____5626) -> + let flags = FStar_List.choose flag_of_qual quals + in + let flags' = extract_metadata attrs1 in + let uu____5643 = FStar_List.fold_left2 - (fun uu____5666 -> - fun ml_lb -> - fun uu____5668 -> - match (uu____5666, uu____5668) with - | ((env, ml_lbs), - { - FStar_Syntax_Syntax.lbname = lbname; - FStar_Syntax_Syntax.lbunivs = - uu____5690; - FStar_Syntax_Syntax.lbtyp = t; - FStar_Syntax_Syntax.lbeff = - uu____5692; - FStar_Syntax_Syntax.lbdef = - uu____5693; - FStar_Syntax_Syntax.lbattrs = - uu____5694; - FStar_Syntax_Syntax.lbpos = - uu____5695;_}) + (fun uu____5669 -> + fun ml_lb -> + fun uu____5671 -> + match (uu____5669, uu____5671) with + | ((env,ml_lbs),{ + FStar_Syntax_Syntax.lbname + = lbname; + FStar_Syntax_Syntax.lbunivs + = uu____5693; + FStar_Syntax_Syntax.lbtyp + = t; + FStar_Syntax_Syntax.lbeff + = uu____5695; + FStar_Syntax_Syntax.lbdef + = uu____5696; + FStar_Syntax_Syntax.lbattrs + = uu____5697; + FStar_Syntax_Syntax.lbpos + = uu____5698;_}) -> - let uu____5720 = + let uu____5723 = FStar_All.pipe_right ml_lb.FStar_Extraction_ML_Syntax.mllb_meta (FStar_List.contains - FStar_Extraction_ML_Syntax.Erased) in - if uu____5720 + FStar_Extraction_ML_Syntax.Erased) + in + if uu____5723 then (env, ml_lbs) else (let lb_lid = - let uu____5737 = - let uu____5740 = - FStar_Util.right lbname in - uu____5740.FStar_Syntax_Syntax.fv_name in - uu____5737.FStar_Syntax_Syntax.v in + let uu____5740 = + let uu____5743 = + FStar_Util.right lbname in + uu____5743.FStar_Syntax_Syntax.fv_name + in + uu____5740.FStar_Syntax_Syntax.v + in let flags'' = - let uu____5744 = - let uu____5745 = + let uu____5747 = + let uu____5748 = FStar_Syntax_Subst.compress - t in - uu____5745.FStar_Syntax_Syntax.n in - match uu____5744 with + t + in + uu____5748.FStar_Syntax_Syntax.n + in + match uu____5747 with | FStar_Syntax_Syntax.Tm_arrow - (uu____5750, - { - FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.Comp - { - FStar_Syntax_Syntax.comp_univs - = uu____5751; - FStar_Syntax_Syntax.effect_name - = e; - FStar_Syntax_Syntax.result_typ - = uu____5753; - FStar_Syntax_Syntax.effect_args - = uu____5754; - FStar_Syntax_Syntax.flags - = uu____5755;_}; - FStar_Syntax_Syntax.pos - = uu____5756; - FStar_Syntax_Syntax.vars - = uu____5757;_}) + (uu____5753,{ + FStar_Syntax_Syntax.n + = + FStar_Syntax_Syntax.Comp + { + FStar_Syntax_Syntax.comp_univs + = + uu____5754; + FStar_Syntax_Syntax.effect_name + = e; + FStar_Syntax_Syntax.result_typ + = + uu____5756; + FStar_Syntax_Syntax.effect_args + = + uu____5757; + FStar_Syntax_Syntax.flags + = + uu____5758;_}; + FStar_Syntax_Syntax.pos + = + uu____5759; + FStar_Syntax_Syntax.vars + = + uu____5760;_}) when - let uu____5792 = + let uu____5795 = FStar_Ident.string_of_lid - e in - uu____5792 = + e + in + uu____5795 = "FStar.HyperStack.ST.StackInline" -> [FStar_Extraction_ML_Syntax.StackInline] - | uu____5796 -> [] in + | uu____5799 -> [] in let meta = FStar_List.append flags (FStar_List.append flags' - flags'') in + flags'') + in let ml_lb1 = - let uu___906_5801 = ml_lb in + let uu___908_5804 = ml_lb in { FStar_Extraction_ML_Syntax.mllb_name = - (uu___906_5801.FStar_Extraction_ML_Syntax.mllb_name); + (uu___908_5804.FStar_Extraction_ML_Syntax.mllb_name); FStar_Extraction_ML_Syntax.mllb_tysc = - (uu___906_5801.FStar_Extraction_ML_Syntax.mllb_tysc); + (uu___908_5804.FStar_Extraction_ML_Syntax.mllb_tysc); FStar_Extraction_ML_Syntax.mllb_add_unit = - (uu___906_5801.FStar_Extraction_ML_Syntax.mllb_add_unit); + (uu___908_5804.FStar_Extraction_ML_Syntax.mllb_add_unit); FStar_Extraction_ML_Syntax.mllb_def = - (uu___906_5801.FStar_Extraction_ML_Syntax.mllb_def); + (uu___908_5804.FStar_Extraction_ML_Syntax.mllb_def); FStar_Extraction_ML_Syntax.mllb_meta = meta; FStar_Extraction_ML_Syntax.print_typ = - (uu___906_5801.FStar_Extraction_ML_Syntax.print_typ) - } in - let uu____5802 = - let uu____5807 = + (uu___908_5804.FStar_Extraction_ML_Syntax.print_typ) + } in + let uu____5805 = + let uu____5810 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___8_5814 -> - match uu___8_5814 + (fun uu___8_5817 -> + match uu___8_5817 with | FStar_Syntax_Syntax.Projector - uu____5816 -> + uu____5819 -> true - | uu____5822 -> false)) in - if uu____5807 + | uu____5825 -> false)) + in + if uu____5810 then let mname = - let uu____5838 = + let uu____5841 = mangle_projector_lid - lb_lid in + lb_lid + in FStar_All.pipe_right - uu____5838 - FStar_Extraction_ML_Syntax.mlpath_of_lident in - let uu____5847 = - let uu____5855 = - FStar_Util.right lbname in - let uu____5856 = + uu____5841 + FStar_Extraction_ML_Syntax.mlpath_of_lident + in + let uu____5850 = + let uu____5858 = + FStar_Util.right lbname + in + let uu____5859 = FStar_Util.must - ml_lb1.FStar_Extraction_ML_Syntax.mllb_tysc in + ml_lb1.FStar_Extraction_ML_Syntax.mllb_tysc + in FStar_Extraction_ML_UEnv.extend_fv' - env uu____5855 mname - uu____5856 + env uu____5858 mname + uu____5859 ml_lb1.FStar_Extraction_ML_Syntax.mllb_add_unit - false in - match uu____5847 with - | (env1, uu____5863, - uu____5864) -> + false + in + match uu____5850 with + | (env1,uu____5866,uu____5867) + -> (env1, - (let uu___919_5868 = - ml_lb1 in + (let uu___921_5871 = + ml_lb1 in { FStar_Extraction_ML_Syntax.mllb_name = @@ -1784,220 +1990,247 @@ let rec (extract_sig : mname); FStar_Extraction_ML_Syntax.mllb_tysc = - (uu___919_5868.FStar_Extraction_ML_Syntax.mllb_tysc); + (uu___921_5871.FStar_Extraction_ML_Syntax.mllb_tysc); FStar_Extraction_ML_Syntax.mllb_add_unit = - (uu___919_5868.FStar_Extraction_ML_Syntax.mllb_add_unit); + (uu___921_5871.FStar_Extraction_ML_Syntax.mllb_add_unit); FStar_Extraction_ML_Syntax.mllb_def = - (uu___919_5868.FStar_Extraction_ML_Syntax.mllb_def); + (uu___921_5871.FStar_Extraction_ML_Syntax.mllb_def); FStar_Extraction_ML_Syntax.mllb_meta = - (uu___919_5868.FStar_Extraction_ML_Syntax.mllb_meta); + (uu___921_5871.FStar_Extraction_ML_Syntax.mllb_meta); FStar_Extraction_ML_Syntax.print_typ = - (uu___919_5868.FStar_Extraction_ML_Syntax.print_typ) + (uu___921_5871.FStar_Extraction_ML_Syntax.print_typ) })) else - (let uu____5875 = - let uu____5883 = + (let uu____5878 = + let uu____5886 = FStar_Util.must - ml_lb1.FStar_Extraction_ML_Syntax.mllb_tysc in + ml_lb1.FStar_Extraction_ML_Syntax.mllb_tysc + in FStar_Extraction_ML_UEnv.extend_lb - env lbname t uu____5883 + env lbname t uu____5886 ml_lb1.FStar_Extraction_ML_Syntax.mllb_add_unit - false in - match uu____5875 with - | (env1, uu____5890, - uu____5891) -> - (env1, ml_lb1)) in - match uu____5802 with - | (g1, ml_lb2) -> + false + in + match uu____5878 with + | (env1,uu____5893,uu____5894) + -> (env1, ml_lb1)) + in + match uu____5805 with + | (g1,ml_lb2) -> (g1, (ml_lb2 :: ml_lbs)))) (g, []) bindings - (FStar_Pervasives_Native.snd lbs1) in - (match uu____5640 with - | (g1, ml_lbs') -> - let uu____5921 = - let uu____5924 = - let uu____5927 = - let uu____5928 = + (FStar_Pervasives_Native.snd lbs1) + in + (match uu____5643 with + | (g1,ml_lbs') -> + let uu____5924 = + let uu____5927 = + let uu____5930 = + let uu____5931 = FStar_Extraction_ML_Util.mlloc_of_range - se.FStar_Syntax_Syntax.sigrng in + se.FStar_Syntax_Syntax.sigrng + in FStar_Extraction_ML_Syntax.MLM_Loc - uu____5928 in - [uu____5927; + uu____5931 + in + [uu____5930; FStar_Extraction_ML_Syntax.MLM_Let - (flavor, (FStar_List.rev ml_lbs'))] in - let uu____5931 = maybe_register_plugin g1 se in - FStar_List.append uu____5924 uu____5931 in - (g1, uu____5921)) - | uu____5936 -> - let uu____5937 = - let uu____5939 = + (flavor, (FStar_List.rev ml_lbs'))] + in + let uu____5934 = maybe_register_plugin g1 se + in + FStar_List.append uu____5927 uu____5934 in + (g1, uu____5924)) + | uu____5939 -> + let uu____5940 = + let uu____5942 = FStar_Extraction_ML_Code.string_of_mlexpr g.FStar_Extraction_ML_UEnv.currentModule - ml_let in + ml_let + in FStar_Util.format1 "Impossible: Translated a let to a non-let: %s" - uu____5939 in - failwith uu____5937))) - | FStar_Syntax_Syntax.Sig_declare_typ (lid, uu____5949, t) -> - let quals = se.FStar_Syntax_Syntax.sigquals in - let uu____5954 = + uu____5942 + in + failwith uu____5940))) + | FStar_Syntax_Syntax.Sig_declare_typ (lid,uu____5952,t) -> + let quals = se.FStar_Syntax_Syntax.sigquals in + let uu____5957 = (FStar_All.pipe_right quals (FStar_List.contains FStar_Syntax_Syntax.Assumption)) && - (let uu____5960 = + (let uu____5963 = FStar_TypeChecker_Util.must_erase_for_extraction - g.FStar_Extraction_ML_UEnv.env_tcenv t in - Prims.op_Negation uu____5960) in - if uu____5954 + g.FStar_Extraction_ML_UEnv.env_tcenv t + in + Prims.op_Negation uu____5963) + in + if uu____5957 then let always_fail1 = - let uu___939_5970 = se in - let uu____5971 = - let uu____5972 = - let uu____5979 = - let uu____5980 = - let uu____5983 = always_fail lid t in [uu____5983] in - (false, uu____5980) in - (uu____5979, []) in - FStar_Syntax_Syntax.Sig_let uu____5972 in + let uu___941_5973 = se in + let uu____5974 = + let uu____5975 = + let uu____5982 = + let uu____5983 = + let uu____5986 = always_fail lid t in [uu____5986] + in + (false, uu____5983) in + (uu____5982, []) in + FStar_Syntax_Syntax.Sig_let uu____5975 in { - FStar_Syntax_Syntax.sigel = uu____5971; + FStar_Syntax_Syntax.sigel = uu____5974; FStar_Syntax_Syntax.sigrng = - (uu___939_5970.FStar_Syntax_Syntax.sigrng); + (uu___941_5973.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___939_5970.FStar_Syntax_Syntax.sigquals); + (uu___941_5973.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___939_5970.FStar_Syntax_Syntax.sigmeta); + (uu___941_5973.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___939_5970.FStar_Syntax_Syntax.sigattrs) - } in - let uu____5990 = extract_sig g always_fail1 in - (match uu____5990 with - | (g1, mlm) -> - let uu____6009 = + (uu___941_5973.FStar_Syntax_Syntax.sigattrs) + } in + let uu____5993 = extract_sig g always_fail1 in + (match uu____5993 with + | (g1,mlm) -> + let uu____6012 = FStar_Util.find_map quals - (fun uu___9_6014 -> - match uu___9_6014 with + (fun uu___9_6017 -> + match uu___9_6017 with | FStar_Syntax_Syntax.Discriminator l -> FStar_Pervasives_Native.Some l - | uu____6018 -> FStar_Pervasives_Native.None) in - (match uu____6009 with + | uu____6021 -> FStar_Pervasives_Native.None) + in + (match uu____6012 with | FStar_Pervasives_Native.Some l -> - let uu____6026 = - let uu____6029 = - let uu____6030 = + let uu____6029 = + let uu____6032 = + let uu____6033 = FStar_Extraction_ML_Util.mlloc_of_range - se.FStar_Syntax_Syntax.sigrng in - FStar_Extraction_ML_Syntax.MLM_Loc uu____6030 in - let uu____6031 = - let uu____6034 = + se.FStar_Syntax_Syntax.sigrng + in + FStar_Extraction_ML_Syntax.MLM_Loc uu____6033 in + let uu____6034 = + let uu____6037 = FStar_Extraction_ML_Term.ind_discriminator_body - g1 lid l in - [uu____6034] in - uu____6029 :: uu____6031 in - (g1, uu____6026) - | uu____6037 -> - let uu____6040 = + g1 lid l + in + [uu____6037] in + uu____6032 :: uu____6034 in + (g1, uu____6029) + | uu____6040 -> + let uu____6043 = FStar_Util.find_map quals - (fun uu___10_6046 -> - match uu___10_6046 with - | FStar_Syntax_Syntax.Projector (l, uu____6050) + (fun uu___10_6049 -> + match uu___10_6049 with + | FStar_Syntax_Syntax.Projector (l,uu____6053) -> FStar_Pervasives_Native.Some l - | uu____6051 -> FStar_Pervasives_Native.None) in - (match uu____6040 with - | FStar_Pervasives_Native.Some uu____6058 -> (g1, []) - | uu____6061 -> (g1, mlm)))) + | uu____6054 -> FStar_Pervasives_Native.None) + in + (match uu____6043 with + | FStar_Pervasives_Native.Some uu____6061 -> (g1, []) + | uu____6064 -> (g1, mlm)))) else (g, []) | FStar_Syntax_Syntax.Sig_main e -> - let uu____6071 = FStar_Extraction_ML_Term.term_as_mlexpr g e in - (match uu____6071 with - | (ml_main, uu____6085, uu____6086) -> - let uu____6087 = - let uu____6090 = - let uu____6091 = + let uu____6074 = FStar_Extraction_ML_Term.term_as_mlexpr g e in + (match uu____6074 with + | (ml_main,uu____6088,uu____6089) -> + let uu____6090 = + let uu____6093 = + let uu____6094 = FStar_Extraction_ML_Util.mlloc_of_range - se.FStar_Syntax_Syntax.sigrng in - FStar_Extraction_ML_Syntax.MLM_Loc uu____6091 in - [uu____6090; FStar_Extraction_ML_Syntax.MLM_Top ml_main] in - (g, uu____6087)) - | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____6094 -> + se.FStar_Syntax_Syntax.sigrng + in + FStar_Extraction_ML_Syntax.MLM_Loc uu____6094 in + [uu____6093; FStar_Extraction_ML_Syntax.MLM_Top ml_main] + in + (g, uu____6090)) + | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____6097 -> failwith "impossible -- removed by tc.fs" - | FStar_Syntax_Syntax.Sig_assume uu____6102 -> (g, []) - | FStar_Syntax_Syntax.Sig_sub_effect uu____6111 -> (g, []) - | FStar_Syntax_Syntax.Sig_effect_abbrev uu____6114 -> (g, []) + | FStar_Syntax_Syntax.Sig_assume uu____6105 -> (g, []) + | FStar_Syntax_Syntax.Sig_sub_effect uu____6114 -> (g, []) + | FStar_Syntax_Syntax.Sig_effect_abbrev uu____6117 -> (g, []) | FStar_Syntax_Syntax.Sig_pragma p -> (FStar_Syntax_Util.process_pragma p se.FStar_Syntax_Syntax.sigrng; (g, []))) + let (extract' : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.modul -> (FStar_Extraction_ML_UEnv.uenv * FStar_Extraction_ML_Syntax.mllib FStar_Pervasives_Native.option)) = - fun g -> - fun m -> - let uu____6156 = FStar_Options.restore_cmd_line_options true in + fun g -> + fun m -> + let uu____6159 = FStar_Options.restore_cmd_line_options true in let name = FStar_Extraction_ML_Syntax.mlpath_of_lident - m.FStar_Syntax_Syntax.name in + m.FStar_Syntax_Syntax.name + in let g1 = - let uu___982_6160 = g in - let uu____6161 = + let uu___984_6163 = g in + let uu____6164 = FStar_TypeChecker_Env.set_current_module - g.FStar_Extraction_ML_UEnv.env_tcenv m.FStar_Syntax_Syntax.name in + g.FStar_Extraction_ML_UEnv.env_tcenv m.FStar_Syntax_Syntax.name + in { - FStar_Extraction_ML_UEnv.env_tcenv = uu____6161; + FStar_Extraction_ML_UEnv.env_tcenv = uu____6164; FStar_Extraction_ML_UEnv.env_bindings = - (uu___982_6160.FStar_Extraction_ML_UEnv.env_bindings); + (uu___984_6163.FStar_Extraction_ML_UEnv.env_bindings); FStar_Extraction_ML_UEnv.tydefs = - (uu___982_6160.FStar_Extraction_ML_UEnv.tydefs); + (uu___984_6163.FStar_Extraction_ML_UEnv.tydefs); FStar_Extraction_ML_UEnv.type_names = - (uu___982_6160.FStar_Extraction_ML_UEnv.type_names); + (uu___984_6163.FStar_Extraction_ML_UEnv.type_names); FStar_Extraction_ML_UEnv.currentModule = name - } in - let uu____6162 = + } in + let uu____6165 = FStar_Util.fold_map - (fun g2 -> - fun se -> - let uu____6181 = + (fun g2 -> + fun se -> + let uu____6184 = FStar_Options.debug_module - (m.FStar_Syntax_Syntax.name).FStar_Ident.str in - if uu____6181 + (m.FStar_Syntax_Syntax.name).FStar_Ident.str + in + if uu____6184 then let nm = - let uu____6192 = + let uu____6195 = FStar_All.pipe_right (FStar_Syntax_Util.lids_of_sigelt se) - (FStar_List.map FStar_Ident.string_of_lid) in - FStar_All.pipe_right uu____6192 (FStar_String.concat ", ") in + (FStar_List.map FStar_Ident.string_of_lid) + in + FStar_All.pipe_right uu____6195 (FStar_String.concat ", ") + in (FStar_Util.print1 "+++About to extract {%s}\n" nm; - (let uu____6209 = FStar_Util.format1 "---Extracted {%s}" nm in - FStar_Util.measure_execution_time uu____6209 - (fun uu____6219 -> extract_sig g2 se))) - else extract_sig g2 se) g1 m.FStar_Syntax_Syntax.declarations in - match uu____6162 with - | (g2, sigs) -> - let mlm = FStar_List.flatten sigs in + (let uu____6212 = FStar_Util.format1 "---Extracted {%s}" nm + in + FStar_Util.measure_execution_time uu____6212 + (fun uu____6222 -> extract_sig g2 se))) + else extract_sig g2 se) g1 m.FStar_Syntax_Syntax.declarations + in + match uu____6165 with + | (g2,sigs) -> + let mlm = FStar_List.flatten sigs in let is_kremlin = - let uu____6241 = FStar_Options.codegen () in - uu____6241 = (FStar_Pervasives_Native.Some FStar_Options.Kremlin) in + let uu____6244 = FStar_Options.codegen () in + uu____6244 = (FStar_Pervasives_Native.Some FStar_Options.Kremlin) + in if ((m.FStar_Syntax_Syntax.name).FStar_Ident.str <> "Prims") && (is_kremlin || (Prims.op_Negation m.FStar_Syntax_Syntax.is_interface)) then - ((let uu____6256 = - let uu____6258 = FStar_Options.silent () in - Prims.op_Negation uu____6258 in - if uu____6256 + ((let uu____6259 = + let uu____6261 = FStar_Options.silent () in + Prims.op_Negation uu____6261 in + if uu____6259 then - let uu____6261 = - FStar_Ident.string_of_lid m.FStar_Syntax_Syntax.name in - FStar_Util.print1 "Extracted module %s\n" uu____6261 + let uu____6264 = + FStar_Ident.string_of_lid m.FStar_Syntax_Syntax.name in + FStar_Util.print1 "Extracted module %s\n" uu____6264 else ()); (g2, (FStar_Pervasives_Native.Some @@ -2005,46 +2238,51 @@ let (extract' : [(name, (FStar_Pervasives_Native.Some ([], mlm)), (FStar_Extraction_ML_Syntax.MLLib []))])))) else (g2, FStar_Pervasives_Native.None) + let (extract : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.modul -> (FStar_Extraction_ML_UEnv.uenv * FStar_Extraction_ML_Syntax.mllib FStar_Pervasives_Native.option)) = - fun g -> - fun m -> - (let uu____6336 = FStar_Options.restore_cmd_line_options true in - FStar_All.pipe_left (fun a2 -> ()) uu____6336); - (let uu____6339 = - let uu____6341 = + fun g -> + fun m -> + (let uu____6339 = FStar_Options.restore_cmd_line_options true in + FStar_All.pipe_left (fun a2 -> ()) uu____6339); + (let uu____6342 = + let uu____6344 = FStar_Options.should_extract - (m.FStar_Syntax_Syntax.name).FStar_Ident.str in - Prims.op_Negation uu____6341 in - if uu____6339 + (m.FStar_Syntax_Syntax.name).FStar_Ident.str + in + Prims.op_Negation uu____6344 in + if uu____6342 then - let uu____6344 = - let uu____6346 = - FStar_Ident.string_of_lid m.FStar_Syntax_Syntax.name in + let uu____6347 = + let uu____6349 = + FStar_Ident.string_of_lid m.FStar_Syntax_Syntax.name in FStar_Util.format1 "Extract called on a module %s that should not be extracted" - uu____6346 in - failwith uu____6344 + uu____6349 + in + failwith uu____6347 else ()); - (let uu____6351 = FStar_Options.interactive () in - if uu____6351 + (let uu____6354 = FStar_Options.interactive () in + if uu____6354 then (g, FStar_Pervasives_Native.None) else (let res = - let uu____6371 = FStar_Options.debug_any () in - if uu____6371 + let uu____6374 = FStar_Options.debug_any () in + if uu____6374 then let msg = - let uu____6382 = - FStar_Syntax_Print.lid_to_string m.FStar_Syntax_Syntax.name in - FStar_Util.format1 "Extracting module %s\n" uu____6382 in + let uu____6385 = + FStar_Syntax_Print.lid_to_string m.FStar_Syntax_Syntax.name + in + FStar_Util.format1 "Extracting module %s\n" uu____6385 in FStar_Util.measure_execution_time msg - (fun uu____6392 -> extract' g m) - else extract' g m in - (let uu____6396 = FStar_Options.restore_cmd_line_options true in - FStar_All.pipe_left (fun a3 -> ()) uu____6396); - res)) \ No newline at end of file + (fun uu____6395 -> extract' g m) + else extract' g m in + (let uu____6399 = FStar_Options.restore_cmd_line_options true in + FStar_All.pipe_left (fun a3 -> ()) uu____6399); + res)) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Extraction_ML_Syntax.ml b/src/ocaml-output/FStar_Extraction_ML_Syntax.ml index 08f47edde69..7d5ba4afa39 100644 --- a/src/ocaml-output/FStar_Extraction_ML_Syntax.ml +++ b/src/ocaml-output/FStar_Extraction_ML_Syntax.ml @@ -58,7 +58,7 @@ let (ocamlkeywords : Prims.string Prims.list) = "when"; "while"; "with"; - "nonrec"] + "nonrec"] let (fsharpkeywords : Prims.string Prims.list) = ["abstract"; "and"; @@ -162,32 +162,36 @@ let (fsharpkeywords : Prims.string Prims.list) = "tailcall"; "trait"; "virtual"; - "volatile"] + "volatile"] let (is_reserved : Prims.string -> Prims.bool) = - fun k -> + fun k -> let reserved_keywords uu____366 = let uu____367 = - let uu____369 = FStar_Options.codegen () in - uu____369 = (FStar_Pervasives_Native.Some FStar_Options.FSharp) in - if uu____367 then fsharpkeywords else ocamlkeywords in - let uu____380 = reserved_keywords () in - FStar_List.existsb (fun k' -> k' = k) uu____380 + let uu____369 = FStar_Options.codegen () in + uu____369 = (FStar_Pervasives_Native.Some FStar_Options.FSharp) in + if uu____367 then fsharpkeywords else ocamlkeywords in + let uu____380 = reserved_keywords () in + FStar_List.existsb (fun k' -> k' = k) uu____380 + let (string_of_mlpath : mlpath -> mlsymbol) = - fun uu____395 -> + fun uu____395 -> match uu____395 with - | (p, s) -> FStar_String.concat "." (FStar_List.append p [s]) + | (p,s) -> FStar_String.concat "." (FStar_List.append p [s]) + let (gensym : unit -> Prims.string) = - fun uu____418 -> - let i = FStar_Ident.next_id () in - let uu____421 = FStar_Util.string_of_int i in Prims.op_Hat "_" uu____421 + fun uu____418 -> + let i = FStar_Ident.next_id () in + let uu____421 = FStar_Util.string_of_int i in Prims.op_Hat "_" uu____421 + let rec (gensyms : Prims.int -> Prims.string Prims.list) = - fun x -> + fun x -> match x with | _438 when _438 = (Prims.parse_int "0") -> [] | n1 -> - let uu____442 = gensym () in - let uu____444 = gensyms (n1 - (Prims.parse_int "1")) in uu____442 :: + let uu____442 = gensym () in + let uu____444 = gensyms (n1 - (Prims.parse_int "1")) in uu____442 :: uu____444 + type mlidents = mlident Prims.list type mlsymbols = mlsymbol Prims.list type e_tag = @@ -195,15 +199,19 @@ type e_tag = | E_GHOST | E_IMPURE let (uu___is_E_PURE : e_tag -> Prims.bool) = - fun projectee -> match projectee with | E_PURE -> true | uu____465 -> false + fun projectee -> + match projectee with | E_PURE -> true | uu____465 -> false + let (uu___is_E_GHOST : e_tag -> Prims.bool) = - fun projectee -> - match projectee with | E_GHOST -> true | uu____476 -> false + fun projectee -> + match projectee with | E_GHOST -> true | uu____476 -> false + let (uu___is_E_IMPURE : e_tag -> Prims.bool) = - fun projectee -> - match projectee with | E_IMPURE -> true | uu____487 -> false + fun projectee -> + match projectee with | E_IMPURE -> true | uu____487 -> false + type mlloc = (Prims.int * Prims.string) -let (dummy_loc : mlloc) = ((Prims.parse_int "0"), "") +let (dummy_loc : mlloc) = ((Prims.parse_int "0"), "") type mlty = | MLTY_Var of mlident | MLTY_Fun of (mlty * e_tag * mlty) @@ -212,31 +220,37 @@ type mlty = | MLTY_Top | MLTY_Erased let (uu___is_MLTY_Var : mlty -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLTY_Var _0 -> true | uu____546 -> false + let (__proj__MLTY_Var__item___0 : mlty -> mlident) = - fun projectee -> match projectee with | MLTY_Var _0 -> _0 + fun projectee -> match projectee with | MLTY_Var _0 -> _0 let (uu___is_MLTY_Fun : mlty -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLTY_Fun _0 -> true | uu____574 -> false + let (__proj__MLTY_Fun__item___0 : mlty -> (mlty * e_tag * mlty)) = - fun projectee -> match projectee with | MLTY_Fun _0 -> _0 + fun projectee -> match projectee with | MLTY_Fun _0 -> _0 let (uu___is_MLTY_Named : mlty -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLTY_Named _0 -> true | uu____617 -> false + let (__proj__MLTY_Named__item___0 : mlty -> (mlty Prims.list * mlpath)) = - fun projectee -> match projectee with | MLTY_Named _0 -> _0 + fun projectee -> match projectee with | MLTY_Named _0 -> _0 let (uu___is_MLTY_Tuple : mlty -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLTY_Tuple _0 -> true | uu____656 -> false + let (__proj__MLTY_Tuple__item___0 : mlty -> mlty Prims.list) = - fun projectee -> match projectee with | MLTY_Tuple _0 -> _0 + fun projectee -> match projectee with | MLTY_Tuple _0 -> _0 let (uu___is_MLTY_Top : mlty -> Prims.bool) = - fun projectee -> - match projectee with | MLTY_Top -> true | uu____680 -> false + fun projectee -> + match projectee with | MLTY_Top -> true | uu____680 -> false + let (uu___is_MLTY_Erased : mlty -> Prims.bool) = - fun projectee -> - match projectee with | MLTY_Erased -> true | uu____691 -> false + fun projectee -> + match projectee with | MLTY_Erased -> true | uu____691 -> false + type mltyscheme = (mlidents * mlty) type mlconstant = | MLC_Unit @@ -248,42 +262,49 @@ type mlconstant = | MLC_String of Prims.string | MLC_Bytes of FStar_BaseTypes.byte Prims.array let (uu___is_MLC_Unit : mlconstant -> Prims.bool) = - fun projectee -> - match projectee with | MLC_Unit -> true | uu____752 -> false + fun projectee -> + match projectee with | MLC_Unit -> true | uu____752 -> false + let (uu___is_MLC_Bool : mlconstant -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLC_Bool _0 -> true | uu____765 -> false + let (__proj__MLC_Bool__item___0 : mlconstant -> Prims.bool) = - fun projectee -> match projectee with | MLC_Bool _0 -> _0 + fun projectee -> match projectee with | MLC_Bool _0 -> _0 let (uu___is_MLC_Int : mlconstant -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLC_Int _0 -> true | uu____798 -> false + let (__proj__MLC_Int__item___0 : mlconstant -> (Prims.string * (FStar_Const.signedness * FStar_Const.width) FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | MLC_Int _0 -> _0 + = fun projectee -> match projectee with | MLC_Int _0 -> _0 let (uu___is_MLC_Float : mlconstant -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLC_Float _0 -> true | uu____850 -> false + let (__proj__MLC_Float__item___0 : mlconstant -> FStar_BaseTypes.float) = - fun projectee -> match projectee with | MLC_Float _0 -> _0 + fun projectee -> match projectee with | MLC_Float _0 -> _0 let (uu___is_MLC_Char : mlconstant -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLC_Char _0 -> true | uu____870 -> false + let (__proj__MLC_Char__item___0 : mlconstant -> FStar_BaseTypes.char) = - fun projectee -> match projectee with | MLC_Char _0 -> _0 + fun projectee -> match projectee with | MLC_Char _0 -> _0 let (uu___is_MLC_String : mlconstant -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLC_String _0 -> true | uu____893 -> false + let (__proj__MLC_String__item___0 : mlconstant -> Prims.string) = - fun projectee -> match projectee with | MLC_String _0 -> _0 + fun projectee -> match projectee with | MLC_String _0 -> _0 let (uu___is_MLC_Bytes : mlconstant -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLC_Bytes _0 -> true | uu____917 -> false + let (__proj__MLC_Bytes__item___0 : mlconstant -> FStar_BaseTypes.byte Prims.array) = - fun projectee -> match projectee with | MLC_Bytes _0 -> _0 + fun projectee -> match projectee with | MLC_Bytes _0 -> _0 type mlpattern = | MLP_Wild | MLP_Const of mlconstant @@ -293,40 +314,47 @@ type mlpattern = | MLP_Record of (mlsymbol Prims.list * (mlsymbol * mlpattern) Prims.list) | MLP_Tuple of mlpattern Prims.list let (uu___is_MLP_Wild : mlpattern -> Prims.bool) = - fun projectee -> - match projectee with | MLP_Wild -> true | uu____996 -> false + fun projectee -> + match projectee with | MLP_Wild -> true | uu____996 -> false + let (uu___is_MLP_Const : mlpattern -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLP_Const _0 -> true | uu____1008 -> false + let (__proj__MLP_Const__item___0 : mlpattern -> mlconstant) = - fun projectee -> match projectee with | MLP_Const _0 -> _0 + fun projectee -> match projectee with | MLP_Const _0 -> _0 let (uu___is_MLP_Var : mlpattern -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLP_Var _0 -> true | uu____1028 -> false + let (__proj__MLP_Var__item___0 : mlpattern -> mlident) = - fun projectee -> match projectee with | MLP_Var _0 -> _0 + fun projectee -> match projectee with | MLP_Var _0 -> _0 let (uu___is_MLP_CTor : mlpattern -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLP_CTor _0 -> true | uu____1056 -> false + let (__proj__MLP_CTor__item___0 : mlpattern -> (mlpath * mlpattern Prims.list)) = - fun projectee -> match projectee with | MLP_CTor _0 -> _0 + fun projectee -> match projectee with | MLP_CTor _0 -> _0 let (uu___is_MLP_Branch : mlpattern -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLP_Branch _0 -> true | uu____1095 -> false + let (__proj__MLP_Branch__item___0 : mlpattern -> mlpattern Prims.list) = - fun projectee -> match projectee with | MLP_Branch _0 -> _0 + fun projectee -> match projectee with | MLP_Branch _0 -> _0 let (uu___is_MLP_Record : mlpattern -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLP_Record _0 -> true | uu____1134 -> false + let (__proj__MLP_Record__item___0 : mlpattern -> (mlsymbol Prims.list * (mlsymbol * mlpattern) Prims.list)) = - fun projectee -> match projectee with | MLP_Record _0 -> _0 + fun projectee -> match projectee with | MLP_Record _0 -> _0 let (uu___is_MLP_Tuple : mlpattern -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MLP_Tuple _0 -> true | uu____1197 -> false + let (__proj__MLP_Tuple__item___0 : mlpattern -> mlpattern Prims.list) = - fun projectee -> match projectee with | MLP_Tuple _0 -> _0 + fun projectee -> match projectee with | MLP_Tuple _0 -> _0 type meta = | Mutable | Assumed @@ -348,89 +376,117 @@ type meta = | CAbstract | CIfDef | CMacro + | Deprecated of Prims.string let (uu___is_Mutable : meta -> Prims.bool) = - fun projectee -> - match projectee with | Mutable -> true | uu____1257 -> false + fun projectee -> + match projectee with | Mutable -> true | uu____1263 -> false + let (uu___is_Assumed : meta -> Prims.bool) = - fun projectee -> - match projectee with | Assumed -> true | uu____1268 -> false + fun projectee -> + match projectee with | Assumed -> true | uu____1274 -> false + let (uu___is_Private : meta -> Prims.bool) = - fun projectee -> - match projectee with | Private -> true | uu____1279 -> false + fun projectee -> + match projectee with | Private -> true | uu____1285 -> false + let (uu___is_NoExtract : meta -> Prims.bool) = - fun projectee -> - match projectee with | NoExtract -> true | uu____1290 -> false + fun projectee -> + match projectee with | NoExtract -> true | uu____1296 -> false + let (uu___is_CInline : meta -> Prims.bool) = - fun projectee -> - match projectee with | CInline -> true | uu____1301 -> false + fun projectee -> + match projectee with | CInline -> true | uu____1307 -> false + let (uu___is_Substitute : meta -> Prims.bool) = - fun projectee -> - match projectee with | Substitute -> true | uu____1312 -> false + fun projectee -> + match projectee with | Substitute -> true | uu____1318 -> false + let (uu___is_GCType : meta -> Prims.bool) = - fun projectee -> - match projectee with | GCType -> true | uu____1323 -> false + fun projectee -> + match projectee with | GCType -> true | uu____1329 -> false + let (uu___is_PpxDerivingShow : meta -> Prims.bool) = - fun projectee -> - match projectee with | PpxDerivingShow -> true | uu____1334 -> false + fun projectee -> + match projectee with | PpxDerivingShow -> true | uu____1340 -> false + let (uu___is_PpxDerivingShowConstant : meta -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PpxDerivingShowConstant _0 -> true - | uu____1347 -> false + | uu____1353 -> false + let (__proj__PpxDerivingShowConstant__item___0 : meta -> Prims.string) = - fun projectee -> match projectee with | PpxDerivingShowConstant _0 -> _0 + fun projectee -> match projectee with | PpxDerivingShowConstant _0 -> _0 let (uu___is_PpxDerivingYoJson : meta -> Prims.bool) = - fun projectee -> - match projectee with | PpxDerivingYoJson -> true | uu____1368 -> false + fun projectee -> + match projectee with | PpxDerivingYoJson -> true | uu____1374 -> false + let (uu___is_Comment : meta -> Prims.bool) = - fun projectee -> - match projectee with | Comment _0 -> true | uu____1381 -> false + fun projectee -> + match projectee with | Comment _0 -> true | uu____1387 -> false + let (__proj__Comment__item___0 : meta -> Prims.string) = - fun projectee -> match projectee with | Comment _0 -> _0 + fun projectee -> match projectee with | Comment _0 -> _0 let (uu___is_StackInline : meta -> Prims.bool) = - fun projectee -> - match projectee with | StackInline -> true | uu____1402 -> false + fun projectee -> + match projectee with | StackInline -> true | uu____1408 -> false + let (uu___is_CPrologue : meta -> Prims.bool) = - fun projectee -> - match projectee with | CPrologue _0 -> true | uu____1415 -> false + fun projectee -> + match projectee with | CPrologue _0 -> true | uu____1421 -> false + let (__proj__CPrologue__item___0 : meta -> Prims.string) = - fun projectee -> match projectee with | CPrologue _0 -> _0 + fun projectee -> match projectee with | CPrologue _0 -> _0 let (uu___is_CEpilogue : meta -> Prims.bool) = - fun projectee -> - match projectee with | CEpilogue _0 -> true | uu____1438 -> false + fun projectee -> + match projectee with | CEpilogue _0 -> true | uu____1444 -> false + let (__proj__CEpilogue__item___0 : meta -> Prims.string) = - fun projectee -> match projectee with | CEpilogue _0 -> _0 + fun projectee -> match projectee with | CEpilogue _0 -> _0 let (uu___is_CConst : meta -> Prims.bool) = - fun projectee -> - match projectee with | CConst _0 -> true | uu____1461 -> false + fun projectee -> + match projectee with | CConst _0 -> true | uu____1467 -> false + let (__proj__CConst__item___0 : meta -> Prims.string) = - fun projectee -> match projectee with | CConst _0 -> _0 + fun projectee -> match projectee with | CConst _0 -> _0 let (uu___is_CCConv : meta -> Prims.bool) = - fun projectee -> - match projectee with | CCConv _0 -> true | uu____1484 -> false + fun projectee -> + match projectee with | CCConv _0 -> true | uu____1490 -> false + let (__proj__CCConv__item___0 : meta -> Prims.string) = - fun projectee -> match projectee with | CCConv _0 -> _0 + fun projectee -> match projectee with | CCConv _0 -> _0 let (uu___is_Erased : meta -> Prims.bool) = - fun projectee -> - match projectee with | Erased -> true | uu____1505 -> false + fun projectee -> + match projectee with | Erased -> true | uu____1511 -> false + let (uu___is_CAbstract : meta -> Prims.bool) = - fun projectee -> - match projectee with | CAbstract -> true | uu____1516 -> false + fun projectee -> + match projectee with | CAbstract -> true | uu____1522 -> false + let (uu___is_CIfDef : meta -> Prims.bool) = - fun projectee -> - match projectee with | CIfDef -> true | uu____1527 -> false + fun projectee -> + match projectee with | CIfDef -> true | uu____1533 -> false + let (uu___is_CMacro : meta -> Prims.bool) = - fun projectee -> - match projectee with | CMacro -> true | uu____1538 -> false + fun projectee -> + match projectee with | CMacro -> true | uu____1544 -> false + +let (uu___is_Deprecated : meta -> Prims.bool) = + fun projectee -> + match projectee with | Deprecated _0 -> true | uu____1557 -> false + +let (__proj__Deprecated__item___0 : meta -> Prims.string) = + fun projectee -> match projectee with | Deprecated _0 -> _0 type metadata = meta Prims.list type mlletflavor = | Rec | NonRec let (uu___is_Rec : mlletflavor -> Prims.bool) = - fun projectee -> match projectee with | Rec -> true | uu____1551 -> false + fun projectee -> match projectee with | Rec -> true | uu____1580 -> false let (uu___is_NonRec : mlletflavor -> Prims.bool) = - fun projectee -> - match projectee with | NonRec -> true | uu____1562 -> false + fun projectee -> + match projectee with | NonRec -> true | uu____1591 -> false + type mlexpr' = | MLE_Const of mlconstant | MLE_Var of mlident @@ -464,137 +520,160 @@ and mllb = mllb_meta: metadata ; print_typ: Prims.bool } let (uu___is_MLE_Const : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Const _0 -> true | uu____1819 -> false + fun projectee -> + match projectee with | MLE_Const _0 -> true | uu____1848 -> false + let (__proj__MLE_Const__item___0 : mlexpr' -> mlconstant) = - fun projectee -> match projectee with | MLE_Const _0 -> _0 + fun projectee -> match projectee with | MLE_Const _0 -> _0 let (uu___is_MLE_Var : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Var _0 -> true | uu____1839 -> false + fun projectee -> + match projectee with | MLE_Var _0 -> true | uu____1868 -> false + let (__proj__MLE_Var__item___0 : mlexpr' -> mlident) = - fun projectee -> match projectee with | MLE_Var _0 -> _0 + fun projectee -> match projectee with | MLE_Var _0 -> _0 let (uu___is_MLE_Name : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Name _0 -> true | uu____1861 -> false + fun projectee -> + match projectee with | MLE_Name _0 -> true | uu____1890 -> false + let (__proj__MLE_Name__item___0 : mlexpr' -> mlpath) = - fun projectee -> match projectee with | MLE_Name _0 -> _0 + fun projectee -> match projectee with | MLE_Name _0 -> _0 let (uu___is_MLE_Let : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Let _0 -> true | uu____1890 -> false + fun projectee -> + match projectee with | MLE_Let _0 -> true | uu____1919 -> false + let (__proj__MLE_Let__item___0 : mlexpr' -> ((mlletflavor * mllb Prims.list) * mlexpr)) = - fun projectee -> match projectee with | MLE_Let _0 -> _0 + fun projectee -> match projectee with | MLE_Let _0 -> _0 let (uu___is_MLE_App : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_App _0 -> true | uu____1945 -> false + fun projectee -> + match projectee with | MLE_App _0 -> true | uu____1974 -> false + let (__proj__MLE_App__item___0 : mlexpr' -> (mlexpr * mlexpr Prims.list)) = - fun projectee -> match projectee with | MLE_App _0 -> _0 + fun projectee -> match projectee with | MLE_App _0 -> _0 let (uu___is_MLE_TApp : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_TApp _0 -> true | uu____1988 -> false + fun projectee -> + match projectee with | MLE_TApp _0 -> true | uu____2017 -> false + let (__proj__MLE_TApp__item___0 : mlexpr' -> (mlexpr * mlty Prims.list)) = - fun projectee -> match projectee with | MLE_TApp _0 -> _0 + fun projectee -> match projectee with | MLE_TApp _0 -> _0 let (uu___is_MLE_Fun : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Fun _0 -> true | uu____2036 -> false + fun projectee -> + match projectee with | MLE_Fun _0 -> true | uu____2065 -> false + let (__proj__MLE_Fun__item___0 : mlexpr' -> ((mlident * mlty) Prims.list * mlexpr)) = - fun projectee -> match projectee with | MLE_Fun _0 -> _0 + fun projectee -> match projectee with | MLE_Fun _0 -> _0 let (uu___is_MLE_Match : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Match _0 -> true | uu____2102 -> false + fun projectee -> + match projectee with | MLE_Match _0 -> true | uu____2131 -> false + let (__proj__MLE_Match__item___0 : mlexpr' -> (mlexpr * (mlpattern * mlexpr FStar_Pervasives_Native.option * mlexpr) Prims.list)) - = fun projectee -> match projectee with | MLE_Match _0 -> _0 + = fun projectee -> match projectee with | MLE_Match _0 -> _0 let (uu___is_MLE_Coerce : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Coerce _0 -> true | uu____2169 -> false + fun projectee -> + match projectee with | MLE_Coerce _0 -> true | uu____2198 -> false + let (__proj__MLE_Coerce__item___0 : mlexpr' -> (mlexpr * mlty * mlty)) = - fun projectee -> match projectee with | MLE_Coerce _0 -> _0 + fun projectee -> match projectee with | MLE_Coerce _0 -> _0 let (uu___is_MLE_CTor : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_CTor _0 -> true | uu____2212 -> false + fun projectee -> + match projectee with | MLE_CTor _0 -> true | uu____2241 -> false + let (__proj__MLE_CTor__item___0 : mlexpr' -> (mlpath * mlexpr Prims.list)) = - fun projectee -> match projectee with | MLE_CTor _0 -> _0 + fun projectee -> match projectee with | MLE_CTor _0 -> _0 let (uu___is_MLE_Seq : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Seq _0 -> true | uu____2251 -> false + fun projectee -> + match projectee with | MLE_Seq _0 -> true | uu____2280 -> false + let (__proj__MLE_Seq__item___0 : mlexpr' -> mlexpr Prims.list) = - fun projectee -> match projectee with | MLE_Seq _0 -> _0 + fun projectee -> match projectee with | MLE_Seq _0 -> _0 let (uu___is_MLE_Tuple : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Tuple _0 -> true | uu____2278 -> false + fun projectee -> + match projectee with | MLE_Tuple _0 -> true | uu____2307 -> false + let (__proj__MLE_Tuple__item___0 : mlexpr' -> mlexpr Prims.list) = - fun projectee -> match projectee with | MLE_Tuple _0 -> _0 + fun projectee -> match projectee with | MLE_Tuple _0 -> _0 let (uu___is_MLE_Record : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Record _0 -> true | uu____2317 -> false + fun projectee -> + match projectee with | MLE_Record _0 -> true | uu____2346 -> false + let (__proj__MLE_Record__item___0 : mlexpr' -> (mlsymbol Prims.list * (mlsymbol * mlexpr) Prims.list)) = - fun projectee -> match projectee with | MLE_Record _0 -> _0 + fun projectee -> match projectee with | MLE_Record _0 -> _0 let (uu___is_MLE_Proj : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Proj _0 -> true | uu____2382 -> false + fun projectee -> + match projectee with | MLE_Proj _0 -> true | uu____2411 -> false + let (__proj__MLE_Proj__item___0 : mlexpr' -> (mlexpr * mlpath)) = - fun projectee -> match projectee with | MLE_Proj _0 -> _0 + fun projectee -> match projectee with | MLE_Proj _0 -> _0 let (uu___is_MLE_If : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_If _0 -> true | uu____2421 -> false + fun projectee -> + match projectee with | MLE_If _0 -> true | uu____2450 -> false + let (__proj__MLE_If__item___0 : mlexpr' -> (mlexpr * mlexpr * mlexpr FStar_Pervasives_Native.option)) = - fun projectee -> match projectee with | MLE_If _0 -> _0 + fun projectee -> match projectee with | MLE_If _0 -> _0 let (uu___is_MLE_Raise : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Raise _0 -> true | uu____2470 -> false + fun projectee -> + match projectee with | MLE_Raise _0 -> true | uu____2499 -> false + let (__proj__MLE_Raise__item___0 : mlexpr' -> (mlpath * mlexpr Prims.list)) = - fun projectee -> match projectee with | MLE_Raise _0 -> _0 + fun projectee -> match projectee with | MLE_Raise _0 -> _0 let (uu___is_MLE_Try : mlexpr' -> Prims.bool) = - fun projectee -> - match projectee with | MLE_Try _0 -> true | uu____2521 -> false + fun projectee -> + match projectee with | MLE_Try _0 -> true | uu____2550 -> false + let (__proj__MLE_Try__item___0 : mlexpr' -> (mlexpr * (mlpattern * mlexpr FStar_Pervasives_Native.option * mlexpr) Prims.list)) - = fun projectee -> match projectee with | MLE_Try _0 -> _0 + = fun projectee -> match projectee with | MLE_Try _0 -> _0 let (__proj__Mkmlexpr__item__expr : mlexpr -> mlexpr') = - fun projectee -> match projectee with | { expr; mlty; loc;_} -> expr + fun projectee -> match projectee with | { expr; mlty; loc;_} -> expr let (__proj__Mkmlexpr__item__mlty : mlexpr -> mlty) = - fun projectee -> match projectee with | { expr; mlty; loc;_} -> mlty + fun projectee -> match projectee with | { expr; mlty; loc;_} -> mlty let (__proj__Mkmlexpr__item__loc : mlexpr -> mlloc) = - fun projectee -> match projectee with | { expr; mlty; loc;_} -> loc + fun projectee -> match projectee with | { expr; mlty; loc;_} -> loc let (__proj__Mkmllb__item__mllb_name : mllb -> mlident) = - fun projectee -> + fun projectee -> match projectee with | { mllb_name; mllb_tysc; mllb_add_unit; mllb_def; mllb_meta; print_typ;_} -> mllb_name + let (__proj__Mkmllb__item__mllb_tysc : mllb -> mltyscheme FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { mllb_name; mllb_tysc; mllb_add_unit; mllb_def; mllb_meta; print_typ;_} -> mllb_tysc + let (__proj__Mkmllb__item__mllb_add_unit : mllb -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { mllb_name; mllb_tysc; mllb_add_unit; mllb_def; mllb_meta; print_typ;_} -> mllb_add_unit + let (__proj__Mkmllb__item__mllb_def : mllb -> mlexpr) = - fun projectee -> + fun projectee -> match projectee with | { mllb_name; mllb_tysc; mllb_add_unit; mllb_def; mllb_meta; print_typ;_} -> mllb_def + let (__proj__Mkmllb__item__mllb_meta : mllb -> metadata) = - fun projectee -> + fun projectee -> match projectee with | { mllb_name; mllb_tysc; mllb_add_unit; mllb_def; mllb_meta; print_typ;_} -> mllb_meta + let (__proj__Mkmllb__item__print_typ : mllb -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { mllb_name; mllb_tysc; mllb_add_unit; mllb_def; mllb_meta; print_typ;_} -> print_typ + type mlbranch = (mlpattern * mlexpr FStar_Pervasives_Native.option * mlexpr) type mlletbinding = (mlletflavor * mllb Prims.list) type mltybody = @@ -602,22 +681,25 @@ type mltybody = | MLTD_Record of (mlsymbol * mlty) Prims.list | MLTD_DType of (mlsymbol * (mlsymbol * mlty) Prims.list) Prims.list let (uu___is_MLTD_Abbrev : mltybody -> Prims.bool) = - fun projectee -> - match projectee with | MLTD_Abbrev _0 -> true | uu____2771 -> false + fun projectee -> + match projectee with | MLTD_Abbrev _0 -> true | uu____2800 -> false + let (__proj__MLTD_Abbrev__item___0 : mltybody -> mlty) = - fun projectee -> match projectee with | MLTD_Abbrev _0 -> _0 + fun projectee -> match projectee with | MLTD_Abbrev _0 -> _0 let (uu___is_MLTD_Record : mltybody -> Prims.bool) = - fun projectee -> - match projectee with | MLTD_Record _0 -> true | uu____2797 -> false + fun projectee -> + match projectee with | MLTD_Record _0 -> true | uu____2826 -> false + let (__proj__MLTD_Record__item___0 : mltybody -> (mlsymbol * mlty) Prims.list) = - fun projectee -> match projectee with | MLTD_Record _0 -> _0 + fun projectee -> match projectee with | MLTD_Record _0 -> _0 let (uu___is_MLTD_DType : mltybody -> Prims.bool) = - fun projectee -> - match projectee with | MLTD_DType _0 -> true | uu____2851 -> false + fun projectee -> + match projectee with | MLTD_DType _0 -> true | uu____2880 -> false + let (__proj__MLTD_DType__item___0 : mltybody -> (mlsymbol * (mlsymbol * mlty) Prims.list) Prims.list) = - fun projectee -> match projectee with | MLTD_DType _0 -> _0 + fun projectee -> match projectee with | MLTD_DType _0 -> _0 type one_mltydecl = (Prims.bool * mlsymbol * mlsymbol FStar_Pervasives_Native.option * mlidents * metadata * mltybody FStar_Pervasives_Native.option) @@ -629,31 +711,36 @@ type mlmodule1 = | MLM_Top of mlexpr | MLM_Loc of mlloc let (uu___is_MLM_Ty : mlmodule1 -> Prims.bool) = - fun projectee -> - match projectee with | MLM_Ty _0 -> true | uu____2970 -> false + fun projectee -> + match projectee with | MLM_Ty _0 -> true | uu____2999 -> false + let (__proj__MLM_Ty__item___0 : mlmodule1 -> mltydecl) = - fun projectee -> match projectee with | MLM_Ty _0 -> _0 + fun projectee -> match projectee with | MLM_Ty _0 -> _0 let (uu___is_MLM_Let : mlmodule1 -> Prims.bool) = - fun projectee -> - match projectee with | MLM_Let _0 -> true | uu____2989 -> false + fun projectee -> + match projectee with | MLM_Let _0 -> true | uu____3018 -> false + let (__proj__MLM_Let__item___0 : mlmodule1 -> mlletbinding) = - fun projectee -> match projectee with | MLM_Let _0 -> _0 + fun projectee -> match projectee with | MLM_Let _0 -> _0 let (uu___is_MLM_Exn : mlmodule1 -> Prims.bool) = - fun projectee -> - match projectee with | MLM_Exn _0 -> true | uu____3020 -> false + fun projectee -> + match projectee with | MLM_Exn _0 -> true | uu____3049 -> false + let (__proj__MLM_Exn__item___0 : mlmodule1 -> (mlsymbol * (mlsymbol * mlty) Prims.list)) = - fun projectee -> match projectee with | MLM_Exn _0 -> _0 + fun projectee -> match projectee with | MLM_Exn _0 -> _0 let (uu___is_MLM_Top : mlmodule1 -> Prims.bool) = - fun projectee -> - match projectee with | MLM_Top _0 -> true | uu____3075 -> false + fun projectee -> + match projectee with | MLM_Top _0 -> true | uu____3104 -> false + let (__proj__MLM_Top__item___0 : mlmodule1 -> mlexpr) = - fun projectee -> match projectee with | MLM_Top _0 -> _0 + fun projectee -> match projectee with | MLM_Top _0 -> _0 let (uu___is_MLM_Loc : mlmodule1 -> Prims.bool) = - fun projectee -> - match projectee with | MLM_Loc _0 -> true | uu____3094 -> false + fun projectee -> + match projectee with | MLM_Loc _0 -> true | uu____3123 -> false + let (__proj__MLM_Loc__item___0 : mlmodule1 -> mlloc) = - fun projectee -> match projectee with | MLM_Loc _0 -> _0 + fun projectee -> match projectee with | MLM_Loc _0 -> _0 type mlmodule = mlmodule1 Prims.list type mlsig1 = | MLS_Mod of (mlsymbol * mlsig1 Prims.list) @@ -661,107 +748,123 @@ type mlsig1 = | MLS_Val of (mlsymbol * mltyscheme) | MLS_Exn of (mlsymbol * mlty Prims.list) let (uu___is_MLS_Mod : mlsig1 -> Prims.bool) = - fun projectee -> - match projectee with | MLS_Mod _0 -> true | uu____3161 -> false + fun projectee -> + match projectee with | MLS_Mod _0 -> true | uu____3190 -> false + let (__proj__MLS_Mod__item___0 : mlsig1 -> (mlsymbol * mlsig1 Prims.list)) = - fun projectee -> match projectee with | MLS_Mod _0 -> _0 + fun projectee -> match projectee with | MLS_Mod _0 -> _0 let (uu___is_MLS_Ty : mlsig1 -> Prims.bool) = - fun projectee -> - match projectee with | MLS_Ty _0 -> true | uu____3201 -> false + fun projectee -> + match projectee with | MLS_Ty _0 -> true | uu____3230 -> false + let (__proj__MLS_Ty__item___0 : mlsig1 -> mltydecl) = - fun projectee -> match projectee with | MLS_Ty _0 -> _0 + fun projectee -> match projectee with | MLS_Ty _0 -> _0 let (uu___is_MLS_Val : mlsig1 -> Prims.bool) = - fun projectee -> - match projectee with | MLS_Val _0 -> true | uu____3225 -> false + fun projectee -> + match projectee with | MLS_Val _0 -> true | uu____3254 -> false + let (__proj__MLS_Val__item___0 : mlsig1 -> (mlsymbol * mltyscheme)) = - fun projectee -> match projectee with | MLS_Val _0 -> _0 + fun projectee -> match projectee with | MLS_Val _0 -> _0 let (uu___is_MLS_Exn : mlsig1 -> Prims.bool) = - fun projectee -> - match projectee with | MLS_Exn _0 -> true | uu____3266 -> false + fun projectee -> + match projectee with | MLS_Exn _0 -> true | uu____3295 -> false + let (__proj__MLS_Exn__item___0 : mlsig1 -> (mlsymbol * mlty Prims.list)) = - fun projectee -> match projectee with | MLS_Exn _0 -> _0 + fun projectee -> match projectee with | MLS_Exn _0 -> _0 type mlsig = mlsig1 Prims.list let (with_ty_loc : mlty -> mlexpr' -> mlloc -> mlexpr) = - fun t -> fun e -> fun l -> { expr = e; mlty = t; loc = l } + fun t -> fun e -> fun l -> { expr = e; mlty = t; loc = l } let (with_ty : mlty -> mlexpr' -> mlexpr) = - fun t -> fun e -> with_ty_loc t e dummy_loc + fun t -> fun e -> with_ty_loc t e dummy_loc type mllib = | MLLib of (mlpath * (mlsig * mlmodule) FStar_Pervasives_Native.option * mllib) Prims.list -let (uu___is_MLLib : mllib -> Prims.bool) = fun projectee -> true +let (uu___is_MLLib : mllib -> Prims.bool) = fun projectee -> true let (__proj__MLLib__item___0 : mllib -> (mlpath * (mlsig * mlmodule) FStar_Pervasives_Native.option * mllib) Prims.list) - = fun projectee -> match projectee with | MLLib _0 -> _0 -let (ml_unit_ty : mlty) = MLTY_Erased -let (ml_bool_ty : mlty) = MLTY_Named ([], (["Prims"], "bool")) -let (ml_int_ty : mlty) = MLTY_Named ([], (["Prims"], "int")) -let (ml_string_ty : mlty) = MLTY_Named ([], (["Prims"], "string")) -let (ml_unit : mlexpr) = with_ty ml_unit_ty (MLE_Const MLC_Unit) + = fun projectee -> match projectee with | MLLib _0 -> _0 +let (ml_unit_ty : mlty) = MLTY_Erased +let (ml_bool_ty : mlty) = MLTY_Named ([], (["Prims"], "bool")) +let (ml_int_ty : mlty) = MLTY_Named ([], (["Prims"], "int")) +let (ml_string_ty : mlty) = MLTY_Named ([], (["Prims"], "string")) +let (ml_unit : mlexpr) = with_ty ml_unit_ty (MLE_Const MLC_Unit) let (mlp_lalloc : (Prims.string Prims.list * Prims.string)) = - (["SST"], "lalloc") + (["SST"], "lalloc") let (apply_obj_repr : mlexpr -> mlty -> mlexpr) = - fun x -> - fun t -> + fun x -> + fun t -> let obj_ns = - let uu____3466 = - let uu____3468 = FStar_Options.codegen () in - uu____3468 = (FStar_Pervasives_Native.Some FStar_Options.FSharp) in - if uu____3466 then "FSharp.Compatibility.OCaml.Obj" else "Obj" in + let uu____3495 = + let uu____3497 = FStar_Options.codegen () in + uu____3497 = (FStar_Pervasives_Native.Some FStar_Options.FSharp) + in + if uu____3495 then "FSharp.Compatibility.OCaml.Obj" else "Obj" in let obj_repr = with_ty (MLTY_Fun (t, E_PURE, MLTY_Top)) - (MLE_Name ([obj_ns], "repr")) in + (MLE_Name ([obj_ns], "repr")) + in with_ty_loc MLTY_Top (MLE_App (obj_repr, [x])) x.loc + let (avoid_keyword : Prims.string -> Prims.string) = - fun s -> - let uu____3498 = is_reserved s in - if uu____3498 then Prims.op_Hat s "_" else s + fun s -> + let uu____3527 = is_reserved s in + if uu____3527 then Prims.op_Hat s "_" else s + let (bv_as_mlident : FStar_Syntax_Syntax.bv -> mlident) = - fun x -> - let uu____3513 = + fun x -> + let uu____3542 = ((FStar_Util.starts_with (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText FStar_Ident.reserved_prefix) || (FStar_Syntax_Syntax.is_null_bv x)) - || (is_reserved (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText) in - if uu____3513 + || (is_reserved (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText) + in + if uu____3542 then - let uu____3517 = - let uu____3519 = - let uu____3521 = - FStar_Util.string_of_int x.FStar_Syntax_Syntax.index in - Prims.op_Hat "_" uu____3521 in + let uu____3546 = + let uu____3548 = + let uu____3550 = + FStar_Util.string_of_int x.FStar_Syntax_Syntax.index in + Prims.op_Hat "_" uu____3550 in Prims.op_Hat (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText - uu____3519 in - FStar_All.pipe_left avoid_keyword uu____3517 + uu____3548 + in + FStar_All.pipe_left avoid_keyword uu____3546 else FStar_All.pipe_left avoid_keyword (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText + let (mlpath_of_lident : FStar_Ident.lident -> mlpath) = - fun x -> - let uu____3536 = FStar_Ident.lid_equals x FStar_Parser_Const.failwith_lid in - if uu____3536 + fun x -> + let uu____3565 = FStar_Ident.lid_equals x FStar_Parser_Const.failwith_lid + in + if uu____3565 then ([], ((x.FStar_Ident.ident).FStar_Ident.idText)) else - (let uu____3546 = - FStar_List.map (fun x1 -> x1.FStar_Ident.idText) x.FStar_Ident.ns in - let uu____3553 = - avoid_keyword (x.FStar_Ident.ident).FStar_Ident.idText in - (uu____3546, uu____3553)) + (let uu____3575 = + FStar_List.map (fun x1 -> x1.FStar_Ident.idText) x.FStar_Ident.ns + in + let uu____3582 = + avoid_keyword (x.FStar_Ident.ident).FStar_Ident.idText in + (uu____3575, uu____3582)) + let (push_unit : mltyscheme -> mltyscheme) = - fun ts -> - let uu____3565 = ts in - match uu____3565 with - | (vs, ty) -> (vs, (MLTY_Fun (ml_unit_ty, E_PURE, ty))) + fun ts -> + let uu____3594 = ts in + match uu____3594 with + | (vs,ty) -> (vs, (MLTY_Fun (ml_unit_ty, E_PURE, ty))) + let (pop_unit : mltyscheme -> mltyscheme) = - fun ts -> - let uu____3574 = ts in - match uu____3574 with - | (vs, ty) -> + fun ts -> + let uu____3603 = ts in + match uu____3603 with + | (vs,ty) -> (match ty with - | MLTY_Fun (l, E_PURE, t) -> + | MLTY_Fun (l,E_PURE ,t) -> if l = ml_unit_ty then (vs, t) else failwith "unexpected: pop_unit: domain was not unit" - | uu____3583 -> failwith "unexpected: pop_unit: not a function type") \ No newline at end of file + | uu____3612 -> failwith "unexpected: pop_unit: not a function type") + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Extraction_ML_Term.ml b/src/ocaml-output/FStar_Extraction_ML_Term.ml index 3958d0678c2..da8480c44aa 100644 --- a/src/ocaml-output/FStar_Extraction_ML_Term.ml +++ b/src/ocaml-output/FStar_Extraction_ML_Term.ml @@ -1,18 +1,20 @@ open Prims exception Un_extractable let (uu___is_Un_extractable : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | Un_extractable -> true | uu____8 -> false + fun projectee -> + match projectee with | Un_extractable -> true | uu____8 -> false + let (type_leq : FStar_Extraction_ML_UEnv.uenv -> FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty -> Prims.bool) = - fun g -> - fun t1 -> - fun t2 -> + fun g -> + fun t1 -> + fun t2 -> FStar_Extraction_ML_Util.type_leq (FStar_Extraction_ML_Util.udelta_unfold g) t1 t2 + let (type_leq_c : FStar_Extraction_ML_UEnv.uenv -> FStar_Extraction_ML_Syntax.mlexpr FStar_Pervasives_Native.option -> @@ -21,32 +23,35 @@ let (type_leq_c : (Prims.bool * FStar_Extraction_ML_Syntax.mlexpr FStar_Pervasives_Native.option)) = - fun g -> - fun t1 -> - fun t2 -> + fun g -> + fun t1 -> + fun t2 -> FStar_Extraction_ML_Util.type_leq_c (FStar_Extraction_ML_Util.udelta_unfold g) t1 t2 + let (eraseTypeDeep : FStar_Extraction_ML_UEnv.uenv -> FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty) = - fun g -> - fun t -> + fun g -> + fun t -> FStar_Extraction_ML_Util.eraseTypeDeep (FStar_Extraction_ML_Util.udelta_unfold g) t + let record_fields : 'Auu____77 . FStar_Ident.ident Prims.list -> 'Auu____77 Prims.list -> (Prims.string * 'Auu____77) Prims.list = - fun fs -> - fun vs -> - FStar_List.map2 (fun f -> fun e -> ((f.FStar_Ident.idText), e)) fs vs + fun fs -> + fun vs -> + FStar_List.map2 (fun f -> fun e -> ((f.FStar_Ident.idText), e)) fs vs + let fail : 'Auu____120 . FStar_Range.range -> (FStar_Errors.raw_error * Prims.string) -> 'Auu____120 - = fun r -> fun err -> FStar_Errors.raise_error err r + = fun r -> fun err -> FStar_Errors.raise_error err r let err_ill_typed_application : 'Auu____156 'Auu____157 . FStar_Extraction_ML_UEnv.uenv -> @@ -55,66 +60,77 @@ let err_ill_typed_application : (FStar_Syntax_Syntax.term * 'Auu____156) Prims.list -> FStar_Extraction_ML_Syntax.mlty -> 'Auu____157 = - fun env -> - fun t -> - fun mlhead -> - fun args -> - fun ty -> + fun env -> + fun t -> + fun mlhead -> + fun args -> + fun ty -> let uu____195 = let uu____201 = - let uu____203 = FStar_Syntax_Print.term_to_string t in + let uu____203 = FStar_Syntax_Print.term_to_string t in let uu____205 = FStar_Extraction_ML_Code.string_of_mlexpr - env.FStar_Extraction_ML_UEnv.currentModule mlhead in + env.FStar_Extraction_ML_UEnv.currentModule mlhead + in let uu____207 = FStar_Extraction_ML_Code.string_of_mlty - env.FStar_Extraction_ML_UEnv.currentModule ty in + env.FStar_Extraction_ML_UEnv.currentModule ty + in let uu____209 = let uu____211 = FStar_All.pipe_right args (FStar_List.map - (fun uu____232 -> + (fun uu____232 -> match uu____232 with - | (x, uu____239) -> - FStar_Syntax_Print.term_to_string x)) in - FStar_All.pipe_right uu____211 (FStar_String.concat " ") in + | (x,uu____239) -> + FStar_Syntax_Print.term_to_string x)) + in + FStar_All.pipe_right uu____211 (FStar_String.concat " ") + in FStar_Util.format4 "Ill-typed application: source application is %s \n translated prefix to %s at type %s\n remaining args are %s\n" - uu____203 uu____205 uu____207 uu____209 in - (FStar_Errors.Fatal_IllTyped, uu____201) in + uu____203 uu____205 uu____207 uu____209 + in + (FStar_Errors.Fatal_IllTyped, uu____201) in fail t.FStar_Syntax_Syntax.pos uu____195 + let err_ill_typed_erasure : 'Auu____256 . FStar_Extraction_ML_UEnv.uenv -> FStar_Range.range -> FStar_Extraction_ML_Syntax.mlty -> 'Auu____256 = - fun env -> - fun pos -> - fun ty -> + fun env -> + fun pos -> + fun ty -> let uu____272 = let uu____278 = let uu____280 = FStar_Extraction_ML_Code.string_of_mlty - env.FStar_Extraction_ML_UEnv.currentModule ty in + env.FStar_Extraction_ML_UEnv.currentModule ty + in FStar_Util.format1 "Erased value found where a value of type %s was expected" - uu____280 in - (FStar_Errors.Fatal_IllTyped, uu____278) in + uu____280 + in + (FStar_Errors.Fatal_IllTyped, uu____278) in fail pos uu____272 + let err_value_restriction : 'Auu____289 . FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> 'Auu____289 = - fun t -> + fun t -> let uu____299 = let uu____305 = - let uu____307 = FStar_Syntax_Print.tag_of_term t in - let uu____309 = FStar_Syntax_Print.term_to_string t in + let uu____307 = FStar_Syntax_Print.tag_of_term t in + let uu____309 = FStar_Syntax_Print.term_to_string t in FStar_Util.format2 "Refusing to generalize because of the value restriction: (%s) %s" - uu____307 uu____309 in - (FStar_Errors.Fatal_ValueRestriction, uu____305) in + uu____307 uu____309 + in + (FStar_Errors.Fatal_ValueRestriction, uu____305) in fail t.FStar_Syntax_Syntax.pos uu____299 + let (err_unexpected_eff : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> @@ -122,86 +138,96 @@ let (err_unexpected_eff : FStar_Extraction_ML_Syntax.e_tag -> FStar_Extraction_ML_Syntax.e_tag -> unit) = - fun env -> - fun t -> - fun ty -> - fun f0 -> - fun f1 -> + fun env -> + fun t -> + fun ty -> + fun f0 -> + fun f1 -> let uu____343 = let uu____349 = - let uu____351 = FStar_Syntax_Print.term_to_string t in + let uu____351 = FStar_Syntax_Print.term_to_string t in let uu____353 = FStar_Extraction_ML_Code.string_of_mlty - env.FStar_Extraction_ML_UEnv.currentModule ty in - let uu____355 = FStar_Extraction_ML_Util.eff_to_string f0 in - let uu____357 = FStar_Extraction_ML_Util.eff_to_string f1 in + env.FStar_Extraction_ML_UEnv.currentModule ty + in + let uu____355 = FStar_Extraction_ML_Util.eff_to_string f0 in + let uu____357 = FStar_Extraction_ML_Util.eff_to_string f1 in FStar_Util.format4 "for expression %s of type %s, Expected effect %s; got effect %s" - uu____351 uu____353 uu____355 uu____357 in - (FStar_Errors.Warning_ExtractionUnexpectedEffect, uu____349) in + uu____351 uu____353 uu____355 uu____357 + in + (FStar_Errors.Warning_ExtractionUnexpectedEffect, uu____349) + in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____343 + let (effect_as_etag : FStar_Extraction_ML_UEnv.uenv -> FStar_Ident.lident -> FStar_Extraction_ML_Syntax.e_tag) = - let cache = FStar_Util.smap_create (Prims.parse_int "20") in + let cache = FStar_Util.smap_create (Prims.parse_int "20") in let rec delta_norm_eff g l = - let uu____385 = FStar_Util.smap_try_find cache l.FStar_Ident.str in + let uu____385 = FStar_Util.smap_try_find cache l.FStar_Ident.str in match uu____385 with | FStar_Pervasives_Native.Some l1 -> l1 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let res = let uu____390 = FStar_TypeChecker_Env.lookup_effect_abbrev g.FStar_Extraction_ML_UEnv.env_tcenv - [FStar_Syntax_Syntax.U_zero] l in + [FStar_Syntax_Syntax.U_zero] l + in match uu____390 with - | FStar_Pervasives_Native.None -> l - | FStar_Pervasives_Native.Some (uu____401, c) -> - delta_norm_eff g (FStar_Syntax_Util.comp_effect_name c) in - (FStar_Util.smap_add cache l.FStar_Ident.str res; res) in - fun g -> - fun l -> - let l1 = delta_norm_eff g l in + | FStar_Pervasives_Native.None -> l + | FStar_Pervasives_Native.Some (uu____401,c) -> + delta_norm_eff g (FStar_Syntax_Util.comp_effect_name c) + in + (FStar_Util.smap_add cache l.FStar_Ident.str res; res) + in + fun g -> + fun l -> + let l1 = delta_norm_eff g l in let uu____411 = - FStar_Ident.lid_equals l1 FStar_Parser_Const.effect_PURE_lid in + FStar_Ident.lid_equals l1 FStar_Parser_Const.effect_PURE_lid in if uu____411 then FStar_Extraction_ML_Syntax.E_PURE else (let uu____416 = - FStar_Ident.lid_equals l1 FStar_Parser_Const.effect_GHOST_lid in + FStar_Ident.lid_equals l1 FStar_Parser_Const.effect_GHOST_lid in if uu____416 then FStar_Extraction_ML_Syntax.E_GHOST else (let ed_opt = FStar_TypeChecker_Env.effect_decl_opt - g.FStar_Extraction_ML_UEnv.env_tcenv l1 in + g.FStar_Extraction_ML_UEnv.env_tcenv l1 + in match ed_opt with - | FStar_Pervasives_Native.Some (ed, qualifiers) -> + | FStar_Pervasives_Native.Some (ed,qualifiers) -> let uu____442 = FStar_TypeChecker_Env.is_reifiable_effect g.FStar_Extraction_ML_UEnv.env_tcenv - ed.FStar_Syntax_Syntax.mname in + ed.FStar_Syntax_Syntax.mname + in if uu____442 then FStar_Extraction_ML_Syntax.E_PURE else FStar_Extraction_ML_Syntax.E_IMPURE - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Extraction_ML_Syntax.E_IMPURE)) + let rec (is_arity : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun env -> - fun t -> - let t1 = FStar_Syntax_Util.unmeta t in + fun env -> + fun t -> + let t1 = FStar_Syntax_Util.unmeta t in let uu____466 = - let uu____467 = FStar_Syntax_Subst.compress t1 in - uu____467.FStar_Syntax_Syntax.n in + let uu____467 = FStar_Syntax_Subst.compress t1 in + uu____467.FStar_Syntax_Syntax.n in match uu____466 with - | FStar_Syntax_Syntax.Tm_unknown -> failwith "Impossible" + | FStar_Syntax_Syntax.Tm_unknown -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_delayed uu____473 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_ascribed uu____498 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_meta uu____527 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____537 = FStar_Syntax_Util.unfold_lazy i in + let uu____537 = FStar_Syntax_Util.unfold_lazy i in is_arity env uu____537 | FStar_Syntax_Syntax.Tm_uvar uu____538 -> false | FStar_Syntax_Syntax.Tm_constant uu____552 -> false @@ -209,7 +235,7 @@ let rec (is_arity : | FStar_Syntax_Syntax.Tm_quoted uu____556 -> false | FStar_Syntax_Syntax.Tm_bvar uu____564 -> false | FStar_Syntax_Syntax.Tm_type uu____566 -> true - | FStar_Syntax_Syntax.Tm_arrow (uu____568, c) -> + | FStar_Syntax_Syntax.Tm_arrow (uu____568,c) -> is_arity env (FStar_Syntax_Util.comp_result c) | FStar_Syntax_Syntax.Tm_fvar fv -> let topt = @@ -217,41 +243,43 @@ let rec (is_arity : [FStar_TypeChecker_Env.Unfold FStar_Syntax_Syntax.delta_constant] env.FStar_Extraction_ML_UEnv.env_tcenv - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in (match topt with - | FStar_Pervasives_Native.None -> false - | FStar_Pervasives_Native.Some (uu____604, t2) -> is_arity env t2) + | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.Some (uu____604,t2) -> is_arity env t2) | FStar_Syntax_Syntax.Tm_app uu____610 -> - let uu____627 = FStar_Syntax_Util.head_and_args t1 in - (match uu____627 with | (head1, uu____646) -> is_arity env head1) - | FStar_Syntax_Syntax.Tm_uinst (head1, uu____672) -> is_arity env head1 - | FStar_Syntax_Syntax.Tm_refine (x, uu____678) -> + let uu____627 = FStar_Syntax_Util.head_and_args t1 in + (match uu____627 with | (head1,uu____646) -> is_arity env head1) + | FStar_Syntax_Syntax.Tm_uinst (head1,uu____672) -> is_arity env head1 + | FStar_Syntax_Syntax.Tm_refine (x,uu____678) -> is_arity env x.FStar_Syntax_Syntax.sort - | FStar_Syntax_Syntax.Tm_abs (uu____683, body, uu____685) -> + | FStar_Syntax_Syntax.Tm_abs (uu____683,body,uu____685) -> is_arity env body - | FStar_Syntax_Syntax.Tm_let (uu____710, body) -> is_arity env body - | FStar_Syntax_Syntax.Tm_match (uu____730, branches) -> + | FStar_Syntax_Syntax.Tm_let (uu____710,body) -> is_arity env body + | FStar_Syntax_Syntax.Tm_match (uu____730,branches) -> (match branches with - | (uu____769, uu____770, e)::uu____772 -> is_arity env e + | (uu____769,uu____770,e)::uu____772 -> is_arity env e | uu____819 -> false) + let rec (is_type_aux : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun env -> - fun t -> - let t1 = FStar_Syntax_Subst.compress t in + fun env -> + fun t -> + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_delayed uu____851 -> let uu____874 = - let uu____876 = FStar_Syntax_Print.tag_of_term t1 in - FStar_Util.format1 "Impossible: %s" uu____876 in + let uu____876 = FStar_Syntax_Print.tag_of_term t1 in + FStar_Util.format1 "Impossible: %s" uu____876 in failwith uu____874 - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> let uu____880 = - let uu____882 = FStar_Syntax_Print.tag_of_term t1 in - FStar_Util.format1 "Impossible: %s" uu____882 in + let uu____882 = FStar_Syntax_Print.tag_of_term t1 in + FStar_Util.format1 "Impossible: %s" uu____882 in failwith uu____880 | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____887 = FStar_Syntax_Util.unfold_lazy i in + let uu____887 = FStar_Syntax_Util.unfold_lazy i in is_type_aux env uu____887 | FStar_Syntax_Syntax.Tm_constant uu____888 -> false | FStar_Syntax_Syntax.Tm_type uu____890 -> true @@ -270,10 +298,9 @@ let rec (is_type_aux : FStar_Syntax_Syntax.ctx_uvar_reason = uu____923; FStar_Syntax_Syntax.ctx_uvar_should_check = uu____924; FStar_Syntax_Syntax.ctx_uvar_range = uu____925; - FStar_Syntax_Syntax.ctx_uvar_meta = uu____926;_}, - s) + FStar_Syntax_Syntax.ctx_uvar_meta = uu____926;_},s) -> - let uu____975 = FStar_Syntax_Subst.subst' s t2 in + let uu____975 = FStar_Syntax_Subst.subst' s t2 in is_arity env uu____975 | FStar_Syntax_Syntax.Tm_bvar { FStar_Syntax_Syntax.ppname = uu____976; @@ -285,80 +312,83 @@ let rec (is_type_aux : FStar_Syntax_Syntax.index = uu____983; FStar_Syntax_Syntax.sort = t2;_} -> is_arity env t2 - | FStar_Syntax_Syntax.Tm_ascribed (t2, uu____989, uu____990) -> + | FStar_Syntax_Syntax.Tm_ascribed (t2,uu____989,uu____990) -> is_type_aux env t2 - | FStar_Syntax_Syntax.Tm_uinst (t2, uu____1032) -> is_type_aux env t2 - | FStar_Syntax_Syntax.Tm_abs (bs, body, uu____1039) -> - let uu____1064 = FStar_Syntax_Subst.open_term bs body in + | FStar_Syntax_Syntax.Tm_uinst (t2,uu____1032) -> is_type_aux env t2 + | FStar_Syntax_Syntax.Tm_abs (bs,body,uu____1039) -> + let uu____1064 = FStar_Syntax_Subst.open_term bs body in (match uu____1064 with - | (uu____1070, body1) -> is_type_aux env body1) - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), body) -> - let x = FStar_Util.left lb.FStar_Syntax_Syntax.lbname in + | (uu____1070,body1) -> is_type_aux env body1) + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),body) -> + let x = FStar_Util.left lb.FStar_Syntax_Syntax.lbname in let uu____1090 = let uu____1095 = - let uu____1096 = FStar_Syntax_Syntax.mk_binder x in - [uu____1096] in - FStar_Syntax_Subst.open_term uu____1095 body in + let uu____1096 = FStar_Syntax_Syntax.mk_binder x in + [uu____1096] in + FStar_Syntax_Subst.open_term uu____1095 body in (match uu____1090 with - | (uu____1116, body1) -> is_type_aux env body1) - | FStar_Syntax_Syntax.Tm_let ((uu____1118, lbs), body) -> - let uu____1138 = FStar_Syntax_Subst.open_let_rec lbs body in + | (uu____1116,body1) -> is_type_aux env body1) + | FStar_Syntax_Syntax.Tm_let ((uu____1118,lbs),body) -> + let uu____1138 = FStar_Syntax_Subst.open_let_rec lbs body in (match uu____1138 with - | (uu____1146, body1) -> is_type_aux env body1) - | FStar_Syntax_Syntax.Tm_match (uu____1152, branches) -> + | (uu____1146,body1) -> is_type_aux env body1) + | FStar_Syntax_Syntax.Tm_match (uu____1152,branches) -> (match branches with | b::uu____1192 -> - let uu____1237 = FStar_Syntax_Subst.open_branch b in + let uu____1237 = FStar_Syntax_Subst.open_branch b in (match uu____1237 with - | (uu____1239, uu____1240, e) -> is_type_aux env e) + | (uu____1239,uu____1240,e) -> is_type_aux env e) | uu____1258 -> false) | FStar_Syntax_Syntax.Tm_quoted uu____1276 -> false - | FStar_Syntax_Syntax.Tm_meta (t2, uu____1285) -> is_type_aux env t2 - | FStar_Syntax_Syntax.Tm_app (head1, uu____1291) -> + | FStar_Syntax_Syntax.Tm_meta (t2,uu____1285) -> is_type_aux env t2 + | FStar_Syntax_Syntax.Tm_app (head1,uu____1291) -> is_type_aux env head1 + let (is_type : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun env -> - fun t -> + fun env -> + fun t -> FStar_Extraction_ML_UEnv.debug env - (fun uu____1332 -> - let uu____1333 = FStar_Syntax_Print.tag_of_term t in - let uu____1335 = FStar_Syntax_Print.term_to_string t in + (fun uu____1332 -> + let uu____1333 = FStar_Syntax_Print.tag_of_term t in + let uu____1335 = FStar_Syntax_Print.term_to_string t in FStar_Util.print2 "checking is_type (%s) %s\n" uu____1333 uu____1335); - (let b = is_type_aux env t in + (let b = is_type_aux env t in FStar_Extraction_ML_UEnv.debug env - (fun uu____1344 -> + (fun uu____1344 -> if b then - let uu____1346 = FStar_Syntax_Print.term_to_string t in - let uu____1348 = FStar_Syntax_Print.tag_of_term t in + let uu____1346 = FStar_Syntax_Print.term_to_string t in + let uu____1348 = FStar_Syntax_Print.tag_of_term t in FStar_Util.print2 "yes, is_type %s (%s)\n" uu____1346 uu____1348 else - (let uu____1353 = FStar_Syntax_Print.term_to_string t in - let uu____1355 = FStar_Syntax_Print.tag_of_term t in + (let uu____1353 = FStar_Syntax_Print.term_to_string t in + let uu____1355 = FStar_Syntax_Print.tag_of_term t in FStar_Util.print2 "not a type %s (%s)\n" uu____1353 uu____1355)); b) + let is_type_binder : 'Auu____1365 . FStar_Extraction_ML_UEnv.uenv -> (FStar_Syntax_Syntax.bv * 'Auu____1365) -> Prims.bool = - fun env -> - fun x -> + fun env -> + fun x -> is_arity env (FStar_Pervasives_Native.fst x).FStar_Syntax_Syntax.sort + let (is_constructor : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____1392 = - let uu____1393 = FStar_Syntax_Subst.compress t in - uu____1393.FStar_Syntax_Syntax.n in + let uu____1393 = FStar_Syntax_Subst.compress t in + uu____1393.FStar_Syntax_Syntax.n in match uu____1392 with | FStar_Syntax_Syntax.Tm_fvar { FStar_Syntax_Syntax.fv_name = uu____1397; FStar_Syntax_Syntax.fv_delta = uu____1398; FStar_Syntax_Syntax.fv_qual = FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Data_ctor);_} + (FStar_Syntax_Syntax.Data_ctor );_} -> true | FStar_Syntax_Syntax.Tm_fvar { FStar_Syntax_Syntax.fv_name = uu____1400; @@ -367,117 +397,126 @@ let (is_constructor : FStar_Syntax_Syntax.term -> Prims.bool) = (FStar_Syntax_Syntax.Record_ctor uu____1402);_} -> true | uu____1410 -> false + let rec (is_fstar_value : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____1419 = - let uu____1420 = FStar_Syntax_Subst.compress t in - uu____1420.FStar_Syntax_Syntax.n in + let uu____1420 = FStar_Syntax_Subst.compress t in + uu____1420.FStar_Syntax_Syntax.n in match uu____1419 with | FStar_Syntax_Syntax.Tm_constant uu____1424 -> true | FStar_Syntax_Syntax.Tm_bvar uu____1426 -> true | FStar_Syntax_Syntax.Tm_fvar uu____1428 -> true | FStar_Syntax_Syntax.Tm_abs uu____1430 -> true - | FStar_Syntax_Syntax.Tm_app (head1, args) -> - let uu____1476 = is_constructor head1 in + | FStar_Syntax_Syntax.Tm_app (head1,args) -> + let uu____1476 = is_constructor head1 in if uu____1476 then FStar_All.pipe_right args (FStar_List.for_all - (fun uu____1498 -> + (fun uu____1498 -> match uu____1498 with - | (te, uu____1507) -> is_fstar_value te)) + | (te,uu____1507) -> is_fstar_value te)) else false - | FStar_Syntax_Syntax.Tm_meta (t1, uu____1516) -> is_fstar_value t1 - | FStar_Syntax_Syntax.Tm_ascribed (t1, uu____1522, uu____1523) -> + | FStar_Syntax_Syntax.Tm_meta (t1,uu____1516) -> is_fstar_value t1 + | FStar_Syntax_Syntax.Tm_ascribed (t1,uu____1522,uu____1523) -> is_fstar_value t1 | uu____1564 -> false + let rec (is_ml_value : FStar_Extraction_ML_Syntax.mlexpr -> Prims.bool) = - fun e -> + fun e -> match e.FStar_Extraction_ML_Syntax.expr with | FStar_Extraction_ML_Syntax.MLE_Const uu____1574 -> true | FStar_Extraction_ML_Syntax.MLE_Var uu____1576 -> true | FStar_Extraction_ML_Syntax.MLE_Name uu____1579 -> true | FStar_Extraction_ML_Syntax.MLE_Fun uu____1581 -> true - | FStar_Extraction_ML_Syntax.MLE_CTor (uu____1594, exps) -> + | FStar_Extraction_ML_Syntax.MLE_CTor (uu____1594,exps) -> FStar_Util.for_all is_ml_value exps | FStar_Extraction_ML_Syntax.MLE_Tuple exps -> FStar_Util.for_all is_ml_value exps - | FStar_Extraction_ML_Syntax.MLE_Record (uu____1603, fields) -> + | FStar_Extraction_ML_Syntax.MLE_Record (uu____1603,fields) -> FStar_Util.for_all - (fun uu____1633 -> - match uu____1633 with | (uu____1640, e1) -> is_ml_value e1) + (fun uu____1633 -> + match uu____1633 with | (uu____1640,e1) -> is_ml_value e1) fields - | FStar_Extraction_ML_Syntax.MLE_TApp (h, uu____1645) -> is_ml_value h + | FStar_Extraction_ML_Syntax.MLE_TApp (h,uu____1645) -> is_ml_value h | uu____1650 -> false + let (fresh : Prims.string -> Prims.string) = - let c = FStar_Util.mk_ref (Prims.parse_int "0") in - fun x -> + let c = FStar_Util.mk_ref (Prims.parse_int "0") in + fun x -> FStar_Util.incr c; (let uu____1668 = - let uu____1670 = FStar_ST.op_Bang c in - FStar_Util.string_of_int uu____1670 in + let uu____1670 = FStar_ST.op_Bang c in + FStar_Util.string_of_int uu____1670 in Prims.op_Hat x uu____1668) + let (normalize_abs : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t0 -> + fun t0 -> let rec aux bs t copt = - let t1 = FStar_Syntax_Subst.compress t in + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_abs (bs', body, copt1) -> + | FStar_Syntax_Syntax.Tm_abs (bs',body,copt1) -> aux (FStar_List.append bs bs') body copt1 | uu____1773 -> - let e' = FStar_Syntax_Util.unascribe t1 in - let uu____1775 = FStar_Syntax_Util.is_fun e' in + let e' = FStar_Syntax_Util.unascribe t1 in + let uu____1775 = FStar_Syntax_Util.is_fun e' in if uu____1775 then aux bs e' copt - else FStar_Syntax_Util.abs bs e' copt in + else FStar_Syntax_Util.abs bs e' copt + in aux [] t0 FStar_Pervasives_Native.None + let (unit_binder : FStar_Syntax_Syntax.binder) = let uu____1789 = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - FStar_Syntax_Syntax.t_unit in - FStar_All.pipe_left FStar_Syntax_Syntax.mk_binder uu____1789 + FStar_Syntax_Syntax.t_unit + in + FStar_All.pipe_left FStar_Syntax_Syntax.mk_binder uu____1789 let (check_pats_for_ite : (FStar_Syntax_Syntax.pat * FStar_Syntax_Syntax.term FStar_Pervasives_Native.option * FStar_Syntax_Syntax.term) Prims.list -> (Prims.bool * FStar_Syntax_Syntax.term FStar_Pervasives_Native.option * FStar_Syntax_Syntax.term FStar_Pervasives_Native.option)) = - fun l -> + fun l -> let def = - (false, FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) in + (false, FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) in if (FStar_List.length l) <> (Prims.parse_int "2") then def else - (let uu____1880 = FStar_List.hd l in + (let uu____1880 = FStar_List.hd l in match uu____1880 with - | (p1, w1, e1) -> + | (p1,w1,e1) -> let uu____1915 = - let uu____1924 = FStar_List.tl l in FStar_List.hd uu____1924 in + let uu____1924 = FStar_List.tl l in FStar_List.hd uu____1924 + in (match uu____1915 with - | (p2, w2, e2) -> + | (p2,w2,e2) -> (match (w1, w2, (p1.FStar_Syntax_Syntax.v), (p2.FStar_Syntax_Syntax.v)) with - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None, - FStar_Syntax_Syntax.Pat_constant (FStar_Const.Const_bool - (true)), FStar_Syntax_Syntax.Pat_constant - (FStar_Const.Const_bool (false))) -> + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.None + ,FStar_Syntax_Syntax.Pat_constant (FStar_Const.Const_bool + (true )),FStar_Syntax_Syntax.Pat_constant + (FStar_Const.Const_bool (false ))) -> (true, (FStar_Pervasives_Native.Some e1), (FStar_Pervasives_Native.Some e2)) - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None, - FStar_Syntax_Syntax.Pat_constant (FStar_Const.Const_bool - (false)), FStar_Syntax_Syntax.Pat_constant - (FStar_Const.Const_bool (true))) -> + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.None + ,FStar_Syntax_Syntax.Pat_constant (FStar_Const.Const_bool + (false )),FStar_Syntax_Syntax.Pat_constant + (FStar_Const.Const_bool (true ))) -> (true, (FStar_Pervasives_Native.Some e2), (FStar_Pervasives_Native.Some e1)) | uu____2008 -> def))) + let (instantiate_tyscheme : FStar_Extraction_ML_Syntax.mltyscheme -> FStar_Extraction_ML_Syntax.mlty Prims.list -> FStar_Extraction_ML_Syntax.mlty) - = fun s -> fun args -> FStar_Extraction_ML_Util.subst s args + = fun s -> fun args -> FStar_Extraction_ML_Util.subst s args let (instantiate_maybe_partial : FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mltyscheme -> @@ -485,118 +524,127 @@ let (instantiate_maybe_partial : (FStar_Extraction_ML_Syntax.mlexpr * FStar_Extraction_ML_Syntax.e_tag * FStar_Extraction_ML_Syntax.mlty)) = - fun e -> - fun s -> - fun tyargs -> - let uu____2068 = s in + fun e -> + fun s -> + fun tyargs -> + let uu____2068 = s in match uu____2068 with - | (vars, t) -> - let n_vars = FStar_List.length vars in - let n_args = FStar_List.length tyargs in + | (vars,t) -> + let n_vars = FStar_List.length vars in + let n_args = FStar_List.length tyargs in if n_args = n_vars then (if n_args = (Prims.parse_int "0") then (e, FStar_Extraction_ML_Syntax.E_PURE, t) else - (let ts = instantiate_tyscheme (vars, t) tyargs in + (let ts = instantiate_tyscheme (vars, t) tyargs in let tapp = - let uu___365_2100 = e in + let uu___365_2100 = e in { FStar_Extraction_ML_Syntax.expr = (FStar_Extraction_ML_Syntax.MLE_TApp (e, tyargs)); FStar_Extraction_ML_Syntax.mlty = ts; FStar_Extraction_ML_Syntax.loc = (uu___365_2100.FStar_Extraction_ML_Syntax.loc) - } in + } in (tapp, FStar_Extraction_ML_Syntax.E_PURE, ts))) else if n_args < n_vars then (let extra_tyargs = - let uu____2115 = FStar_Util.first_N n_args vars in + let uu____2115 = FStar_Util.first_N n_args vars in match uu____2115 with - | (uu____2129, rest_vars) -> + | (uu____2129,rest_vars) -> FStar_All.pipe_right rest_vars (FStar_List.map - (fun uu____2150 -> - FStar_Extraction_ML_Syntax.MLTY_Erased)) in - let tyargs1 = FStar_List.append tyargs extra_tyargs in - let ts = instantiate_tyscheme (vars, t) tyargs1 in + (fun uu____2150 -> + FStar_Extraction_ML_Syntax.MLTY_Erased)) + in + let tyargs1 = FStar_List.append tyargs extra_tyargs in + let ts = instantiate_tyscheme (vars, t) tyargs1 in let tapp = - let uu___376_2157 = e in + let uu___376_2157 = e in { FStar_Extraction_ML_Syntax.expr = (FStar_Extraction_ML_Syntax.MLE_TApp (e, tyargs1)); FStar_Extraction_ML_Syntax.mlty = ts; FStar_Extraction_ML_Syntax.loc = (uu___376_2157.FStar_Extraction_ML_Syntax.loc) - } in + } in let t1 = FStar_List.fold_left - (fun out -> - fun t1 -> + (fun out -> + fun t1 -> FStar_Extraction_ML_Syntax.MLTY_Fun (t1, FStar_Extraction_ML_Syntax.E_PURE, out)) ts - extra_tyargs in + extra_tyargs + in let f = let vs_ts = FStar_List.map - (fun t2 -> - let uu____2182 = fresh "t" in (uu____2182, t2)) - extra_tyargs in + (fun t2 -> + let uu____2182 = fresh "t" in (uu____2182, t2)) + extra_tyargs + in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty t1) - (FStar_Extraction_ML_Syntax.MLE_Fun (vs_ts, tapp)) in + (FStar_Extraction_ML_Syntax.MLE_Fun (vs_ts, tapp)) + in (f, FStar_Extraction_ML_Syntax.E_PURE, t1)) else failwith "Impossible: instantiate_maybe_partial called with too many arguments" + let (eta_expand : FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr) = - fun t -> - fun e -> - let uu____2213 = FStar_Extraction_ML_Util.doms_and_cod t in + fun t -> + fun e -> + let uu____2213 = FStar_Extraction_ML_Util.doms_and_cod t in match uu____2213 with - | (ts, r) -> + | (ts,r) -> if ts = [] then e else - (let vs = FStar_List.map (fun uu____2237 -> fresh "a") ts in - let vs_ts = FStar_List.zip vs ts in + (let vs = FStar_List.map (fun uu____2237 -> fresh "a") ts in + let vs_ts = FStar_List.zip vs ts in let vs_es = - let uu____2251 = FStar_List.zip vs ts in + let uu____2251 = FStar_List.zip vs ts in FStar_List.map - (fun uu____2268 -> + (fun uu____2268 -> match uu____2268 with - | (v1, t1) -> + | (v1,t1) -> FStar_Extraction_ML_Syntax.with_ty t1 - (FStar_Extraction_ML_Syntax.MLE_Var v1)) uu____2251 in + (FStar_Extraction_ML_Syntax.MLE_Var v1)) uu____2251 + in let body = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty r) - (FStar_Extraction_ML_Syntax.MLE_App (e, vs_es)) in + (FStar_Extraction_ML_Syntax.MLE_App (e, vs_es)) + in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty t) (FStar_Extraction_ML_Syntax.MLE_Fun (vs_ts, body))) + let (default_value_for_ty : FStar_Extraction_ML_UEnv.uenv -> FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlexpr) = - fun g -> - fun t -> - let uu____2299 = FStar_Extraction_ML_Util.doms_and_cod t in + fun g -> + fun t -> + let uu____2299 = FStar_Extraction_ML_Util.doms_and_cod t in match uu____2299 with - | (ts, r) -> + | (ts,r) -> let body r1 = let r2 = - let uu____2319 = FStar_Extraction_ML_Util.udelta_unfold g r1 in + let uu____2319 = FStar_Extraction_ML_Util.udelta_unfold g r1 + in match uu____2319 with - | FStar_Pervasives_Native.None -> r1 - | FStar_Pervasives_Native.Some r2 -> r2 in + | FStar_Pervasives_Native.None -> r1 + | FStar_Pervasives_Native.Some r2 -> r2 in match r2 with - | FStar_Extraction_ML_Syntax.MLTY_Erased -> + | FStar_Extraction_ML_Syntax.MLTY_Erased -> FStar_Extraction_ML_Syntax.ml_unit - | FStar_Extraction_ML_Syntax.MLTY_Top -> + | FStar_Extraction_ML_Syntax.MLTY_Top -> FStar_Extraction_ML_Syntax.apply_obj_repr FStar_Extraction_ML_Syntax.ml_unit FStar_Extraction_ML_Syntax.MLTY_Erased @@ -604,63 +652,71 @@ let (default_value_for_ty : FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty r2) (FStar_Extraction_ML_Syntax.MLE_Coerce (FStar_Extraction_ML_Syntax.ml_unit, - FStar_Extraction_ML_Syntax.MLTY_Erased, r2)) in + FStar_Extraction_ML_Syntax.MLTY_Erased, r2)) + in if ts = [] then body r else - (let vs = FStar_List.map (fun uu____2335 -> fresh "a") ts in - let vs_ts = FStar_List.zip vs ts in + (let vs = FStar_List.map (fun uu____2335 -> fresh "a") ts in + let vs_ts = FStar_List.zip vs ts in let uu____2346 = let uu____2347 = - let uu____2359 = body r in (vs_ts, uu____2359) in - FStar_Extraction_ML_Syntax.MLE_Fun uu____2347 in + let uu____2359 = body r in (vs_ts, uu____2359) in + FStar_Extraction_ML_Syntax.MLE_Fun uu____2347 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty t) uu____2346) + let (maybe_eta_expand : FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr) = - fun expect -> - fun e -> + fun expect -> + fun e -> let uu____2378 = (FStar_Options.ml_no_eta_expand_coertions ()) || - (let uu____2381 = FStar_Options.codegen () in - uu____2381 = (FStar_Pervasives_Native.Some FStar_Options.Kremlin)) in + (let uu____2381 = FStar_Options.codegen () in + uu____2381 = (FStar_Pervasives_Native.Some FStar_Options.Kremlin)) + in if uu____2378 then e else eta_expand expect e + let (apply_coercion : FStar_Extraction_ML_UEnv.uenv -> FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlexpr) = - fun g -> - fun e -> - fun ty -> - fun expect -> + fun g -> + fun e -> + fun ty -> + fun expect -> let mk_fun binder body = match body.FStar_Extraction_ML_Syntax.expr with - | FStar_Extraction_ML_Syntax.MLE_Fun (binders, body1) -> + | FStar_Extraction_ML_Syntax.MLE_Fun (binders,body1) -> FStar_Extraction_ML_Syntax.MLE_Fun ((binder :: binders), body1) | uu____2459 -> - FStar_Extraction_ML_Syntax.MLE_Fun ([binder], body) in + FStar_Extraction_ML_Syntax.MLE_Fun ([binder], body) + in let rec aux e1 ty1 expect1 = let coerce_branch uu____2514 = match uu____2514 with - | (pat, w, b) -> - let uu____2538 = aux b ty1 expect1 in (pat, w, uu____2538) in + | (pat,w,b) -> + let uu____2538 = aux b ty1 expect1 in (pat, w, uu____2538) + in match ((e1.FStar_Extraction_ML_Syntax.expr), ty1, expect1) with - | (FStar_Extraction_ML_Syntax.MLE_Fun (arg::rest, body), - FStar_Extraction_ML_Syntax.MLTY_Fun (t0, uu____2545, t1), - FStar_Extraction_ML_Syntax.MLTY_Fun (s0, uu____2548, s1)) -> + | (FStar_Extraction_ML_Syntax.MLE_Fun + (arg::rest,body),FStar_Extraction_ML_Syntax.MLTY_Fun + (t0,uu____2545,t1),FStar_Extraction_ML_Syntax.MLTY_Fun + (s0,uu____2548,s1)) -> let body1 = match rest with | [] -> body | uu____2580 -> FStar_Extraction_ML_Syntax.with_ty t1 - (FStar_Extraction_ML_Syntax.MLE_Fun (rest, body)) in - let body2 = aux body1 t1 s1 in - let uu____2596 = type_leq g s0 t0 in + (FStar_Extraction_ML_Syntax.MLE_Fun (rest, body)) + in + let body2 = aux body1 t1 s1 in + let uu____2596 = type_leq g s0 t0 in if uu____2596 then FStar_Extraction_ML_Syntax.with_ty expect1 @@ -674,10 +730,11 @@ let (apply_coercion : FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty s0) (FStar_Extraction_ML_Syntax.MLE_Var - (FStar_Pervasives_Native.fst arg)) in - (uu____2611, s0, t0) in - FStar_Extraction_ML_Syntax.MLE_Coerce uu____2604 in - FStar_Extraction_ML_Syntax.with_ty t0 uu____2603 in + (FStar_Pervasives_Native.fst arg)) + in + (uu____2611, s0, t0) in + FStar_Extraction_ML_Syntax.MLE_Coerce uu____2604 in + FStar_Extraction_ML_Syntax.with_ty t0 uu____2603 in { FStar_Extraction_ML_Syntax.mllb_name = (FStar_Pervasives_Native.fst arg); @@ -687,72 +744,78 @@ let (apply_coercion : FStar_Extraction_ML_Syntax.mllb_def = uu____2602; FStar_Extraction_ML_Syntax.mllb_meta = []; FStar_Extraction_ML_Syntax.print_typ = false - } in + } in let body3 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty s1) (FStar_Extraction_ML_Syntax.MLE_Let - ((FStar_Extraction_ML_Syntax.NonRec, [lb]), body2)) in + ((FStar_Extraction_ML_Syntax.NonRec, [lb]), body2)) + in FStar_Extraction_ML_Syntax.with_ty expect1 (mk_fun ((FStar_Pervasives_Native.fst arg), s0) body3)) - | (FStar_Extraction_ML_Syntax.MLE_Let (lbs, body), uu____2630, - uu____2631) -> + | (FStar_Extraction_ML_Syntax.MLE_Let + (lbs,body),uu____2630,uu____2631) -> let uu____2644 = let uu____2645 = - let uu____2656 = aux body ty1 expect1 in - (lbs, uu____2656) in - FStar_Extraction_ML_Syntax.MLE_Let uu____2645 in + let uu____2656 = aux body ty1 expect1 in + (lbs, uu____2656) in + FStar_Extraction_ML_Syntax.MLE_Let uu____2645 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty expect1) uu____2644 - | (FStar_Extraction_ML_Syntax.MLE_Match (s, branches), - uu____2665, uu____2666) -> + | (FStar_Extraction_ML_Syntax.MLE_Match + (s,branches),uu____2665,uu____2666) -> let uu____2687 = let uu____2688 = - let uu____2703 = FStar_List.map coerce_branch branches in - (s, uu____2703) in - FStar_Extraction_ML_Syntax.MLE_Match uu____2688 in + let uu____2703 = FStar_List.map coerce_branch branches + in + (s, uu____2703) in + FStar_Extraction_ML_Syntax.MLE_Match uu____2688 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty expect1) uu____2687 - | (FStar_Extraction_ML_Syntax.MLE_If (s, b1, b2_opt), uu____2743, - uu____2744) -> + | (FStar_Extraction_ML_Syntax.MLE_If + (s,b1,b2_opt),uu____2743,uu____2744) -> let uu____2749 = let uu____2750 = - let uu____2759 = aux b1 ty1 expect1 in + let uu____2759 = aux b1 ty1 expect1 in let uu____2760 = FStar_Util.map_opt b2_opt - (fun b2 -> aux b2 ty1 expect1) in - (s, uu____2759, uu____2760) in - FStar_Extraction_ML_Syntax.MLE_If uu____2750 in + (fun b2 -> aux b2 ty1 expect1) + in + (s, uu____2759, uu____2760) in + FStar_Extraction_ML_Syntax.MLE_If uu____2750 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty expect1) uu____2749 - | (FStar_Extraction_ML_Syntax.MLE_Seq es, uu____2768, uu____2769) + | (FStar_Extraction_ML_Syntax.MLE_Seq es,uu____2768,uu____2769) -> - let uu____2772 = FStar_Util.prefix es in + let uu____2772 = FStar_Util.prefix es in (match uu____2772 with - | (prefix1, last1) -> + | (prefix1,last1) -> let uu____2785 = let uu____2786 = let uu____2789 = - let uu____2792 = aux last1 ty1 expect1 in - [uu____2792] in - FStar_List.append prefix1 uu____2789 in - FStar_Extraction_ML_Syntax.MLE_Seq uu____2786 in + let uu____2792 = aux last1 ty1 expect1 in + [uu____2792] in + FStar_List.append prefix1 uu____2789 in + FStar_Extraction_ML_Syntax.MLE_Seq uu____2786 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty expect1) uu____2785) - | (FStar_Extraction_ML_Syntax.MLE_Try (s, branches), uu____2795, - uu____2796) -> + | (FStar_Extraction_ML_Syntax.MLE_Try + (s,branches),uu____2795,uu____2796) -> let uu____2817 = let uu____2818 = - let uu____2833 = FStar_List.map coerce_branch branches in - (s, uu____2833) in - FStar_Extraction_ML_Syntax.MLE_Try uu____2818 in + let uu____2833 = FStar_List.map coerce_branch branches + in + (s, uu____2833) in + FStar_Extraction_ML_Syntax.MLE_Try uu____2818 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty expect1) uu____2817 | uu____2870 -> FStar_Extraction_ML_Syntax.with_ty expect1 - (FStar_Extraction_ML_Syntax.MLE_Coerce (e1, ty1, expect1)) in + (FStar_Extraction_ML_Syntax.MLE_Coerce (e1, ty1, expect1)) + in aux e ty expect + let maybe_coerce : 'Auu____2890 . 'Auu____2890 -> @@ -762,71 +825,80 @@ let maybe_coerce : FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlexpr = - fun pos -> - fun g -> - fun e -> - fun ty -> - fun expect -> - let ty1 = eraseTypeDeep g ty in + fun pos -> + fun g -> + fun e -> + fun ty -> + fun expect -> + let ty1 = eraseTypeDeep g ty in let uu____2917 = - type_leq_c g (FStar_Pervasives_Native.Some e) ty1 expect in + type_leq_c g (FStar_Pervasives_Native.Some e) ty1 expect in match uu____2917 with - | (true, FStar_Pervasives_Native.Some e') -> e' + | (true ,FStar_Pervasives_Native.Some e') -> e' | uu____2930 -> (match ty1 with - | FStar_Extraction_ML_Syntax.MLTY_Erased -> + | FStar_Extraction_ML_Syntax.MLTY_Erased -> default_value_for_ty g expect | uu____2938 -> let uu____2939 = let uu____2941 = FStar_Extraction_ML_Util.erase_effect_annotations - ty1 in + ty1 + in let uu____2942 = FStar_Extraction_ML_Util.erase_effect_annotations - expect in - type_leq g uu____2941 uu____2942 in + expect + in + type_leq g uu____2941 uu____2942 in if uu____2939 then (FStar_Extraction_ML_UEnv.debug g - (fun uu____2948 -> + (fun uu____2948 -> let uu____2949 = FStar_Extraction_ML_Code.string_of_mlexpr - g.FStar_Extraction_ML_UEnv.currentModule e in + g.FStar_Extraction_ML_UEnv.currentModule e + in let uu____2951 = FStar_Extraction_ML_Code.string_of_mlty - g.FStar_Extraction_ML_UEnv.currentModule ty1 in + g.FStar_Extraction_ML_UEnv.currentModule ty1 + in FStar_Util.print2 "\n Effect mismatch on type of %s : %s\n" uu____2949 uu____2951); e) else (FStar_Extraction_ML_UEnv.debug g - (fun uu____2961 -> + (fun uu____2961 -> let uu____2962 = FStar_Extraction_ML_Code.string_of_mlexpr - g.FStar_Extraction_ML_UEnv.currentModule e in + g.FStar_Extraction_ML_UEnv.currentModule e + in let uu____2964 = FStar_Extraction_ML_Code.string_of_mlty - g.FStar_Extraction_ML_UEnv.currentModule ty1 in + g.FStar_Extraction_ML_UEnv.currentModule ty1 + in let uu____2966 = FStar_Extraction_ML_Code.string_of_mlty g.FStar_Extraction_ML_UEnv.currentModule - expect in + expect + in FStar_Util.print3 "\n (*needed to coerce expression \n %s \n of type \n %s \n to type \n %s *) \n" uu____2962 uu____2964 uu____2966); - (let uu____2969 = apply_coercion g e ty1 expect in + (let uu____2969 = apply_coercion g e ty1 expect in maybe_eta_expand expect uu____2969))) + let (bv_as_mlty : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.bv -> FStar_Extraction_ML_Syntax.mlty) = - fun g -> - fun bv -> - let uu____2981 = FStar_Extraction_ML_UEnv.lookup_bv g bv in + fun g -> + fun bv -> + let uu____2981 = FStar_Extraction_ML_UEnv.lookup_bv g bv in match uu____2981 with | FStar_Util.Inl ty_b -> ty_b.FStar_Extraction_ML_UEnv.ty_b_ty | uu____2983 -> FStar_Extraction_ML_Syntax.MLTY_Top + let (extraction_norm_steps : FStar_TypeChecker_Env.step Prims.list) = [FStar_TypeChecker_Env.AllowUnboundUniverses; FStar_TypeChecker_Env.EraseUniverses; @@ -835,24 +907,25 @@ let (extraction_norm_steps : FStar_TypeChecker_Env.step Prims.list) = FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta; FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Unascribe; - FStar_TypeChecker_Env.ForExtraction] + FStar_TypeChecker_Env.ForExtraction] let (comp_no_args : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Total uu____3001 -> c | FStar_Syntax_Syntax.GTotal uu____3010 -> c | FStar_Syntax_Syntax.Comp ct -> let effect_args = FStar_List.map - (fun uu____3046 -> + (fun uu____3046 -> match uu____3046 with - | (uu____3061, aq) -> (FStar_Syntax_Syntax.t_unit, aq)) - ct.FStar_Syntax_Syntax.effect_args in + | (uu____3061,aq) -> (FStar_Syntax_Syntax.t_unit, aq)) + ct.FStar_Syntax_Syntax.effect_args + in let ct1 = - let uu___538_3074 = ct in + let uu___538_3074 = ct in { FStar_Syntax_Syntax.comp_univs = (uu___538_3074.FStar_Syntax_Syntax.comp_univs); @@ -863,33 +936,35 @@ let (comp_no_args : FStar_Syntax_Syntax.effect_args = effect_args; FStar_Syntax_Syntax.flags = (uu___538_3074.FStar_Syntax_Syntax.flags) - } in + } in let c1 = - let uu___541_3078 = c in + let uu___541_3078 = c in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Comp ct1); FStar_Syntax_Syntax.pos = (uu___541_3078.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = (uu___541_3078.FStar_Syntax_Syntax.vars) - } in + } in c1 + let rec (translate_term_to_mlty : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.term -> FStar_Extraction_ML_Syntax.mlty) = - fun g -> - fun t0 -> + fun g -> + fun t0 -> let arg_as_mlty g1 uu____3127 = match uu____3127 with - | (a, uu____3135) -> - let uu____3140 = is_type g1 a in + | (a,uu____3135) -> + let uu____3140 = is_type g1 a in if uu____3140 then translate_term_to_mlty g1 a - else FStar_Extraction_ML_UEnv.erasedContent in + else FStar_Extraction_ML_UEnv.erasedContent + in let fv_app_as_mlty g1 fv args = let uu____3161 = - let uu____3163 = FStar_Extraction_ML_UEnv.is_fv_type g1 fv in - Prims.op_Negation uu____3163 in + let uu____3163 = FStar_Extraction_ML_UEnv.is_fv_type g1 fv in + Prims.op_Negation uu____3163 in if uu____3161 then FStar_Extraction_ML_Syntax.MLTY_Top else @@ -897,62 +972,72 @@ let rec (translate_term_to_mlty : let uu____3183 = FStar_TypeChecker_Env.lookup_lid g1.FStar_Extraction_ML_UEnv.env_tcenv - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in match uu____3183 with - | ((uu____3206, fvty), uu____3208) -> + | ((uu____3206,fvty),uu____3208) -> let fvty1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant] - g1.FStar_Extraction_ML_UEnv.env_tcenv fvty in - FStar_Syntax_Util.arrow_formals fvty1 in + g1.FStar_Extraction_ML_UEnv.env_tcenv fvty + in + FStar_Syntax_Util.arrow_formals fvty1 + in match uu____3168 with - | (formals, uu____3215) -> - let mlargs = FStar_List.map (arg_as_mlty g1) args in + | (formals,uu____3215) -> + let mlargs = FStar_List.map (arg_as_mlty g1) args in let mlargs1 = - let n_args = FStar_List.length args in + let n_args = FStar_List.length args in if (FStar_List.length formals) > n_args then - let uu____3268 = FStar_Util.first_N n_args formals in + let uu____3268 = FStar_Util.first_N n_args formals in match uu____3268 with - | (uu____3297, rest) -> + | (uu____3297,rest) -> let uu____3331 = FStar_List.map - (fun uu____3341 -> - FStar_Extraction_ML_UEnv.erasedContent) rest in + (fun uu____3341 -> + FStar_Extraction_ML_UEnv.erasedContent) rest + in FStar_List.append mlargs uu____3331 - else mlargs in + else mlargs in let nm = let uu____3351 = - FStar_Extraction_ML_UEnv.maybe_mangle_type_projector g1 fv in + FStar_Extraction_ML_UEnv.maybe_mangle_type_projector g1 fv + in match uu____3351 with | FStar_Pervasives_Native.Some p -> p - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Extraction_ML_Syntax.mlpath_of_lident - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - FStar_Extraction_ML_Syntax.MLTY_Named (mlargs1, nm)) in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + FStar_Extraction_ML_Syntax.MLTY_Named (mlargs1, nm)) + in let aux env t = - let t1 = FStar_Syntax_Subst.compress t in + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_type uu____3369 -> FStar_Extraction_ML_Syntax.MLTY_Erased | FStar_Syntax_Syntax.Tm_bvar uu____3370 -> let uu____3371 = - let uu____3373 = FStar_Syntax_Print.term_to_string t1 in - FStar_Util.format1 "Impossible: Unexpected term %s" uu____3373 in + let uu____3373 = FStar_Syntax_Print.term_to_string t1 in + FStar_Util.format1 "Impossible: Unexpected term %s" uu____3373 + in failwith uu____3371 | FStar_Syntax_Syntax.Tm_delayed uu____3376 -> let uu____3399 = - let uu____3401 = FStar_Syntax_Print.term_to_string t1 in - FStar_Util.format1 "Impossible: Unexpected term %s" uu____3401 in + let uu____3401 = FStar_Syntax_Print.term_to_string t1 in + FStar_Util.format1 "Impossible: Unexpected term %s" uu____3401 + in failwith uu____3399 - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> let uu____3404 = - let uu____3406 = FStar_Syntax_Print.term_to_string t1 in - FStar_Util.format1 "Impossible: Unexpected term %s" uu____3406 in + let uu____3406 = FStar_Syntax_Print.term_to_string t1 in + FStar_Util.format1 "Impossible: Unexpected term %s" uu____3406 + in failwith uu____3404 | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____3410 = FStar_Syntax_Util.unfold_lazy i in + let uu____3410 = FStar_Syntax_Util.unfold_lazy i in translate_term_to_mlty env uu____3410 | FStar_Syntax_Syntax.Tm_constant uu____3411 -> FStar_Extraction_ML_UEnv.unknownType @@ -960,220 +1045,244 @@ let rec (translate_term_to_mlty : FStar_Extraction_ML_UEnv.unknownType | FStar_Syntax_Syntax.Tm_uvar uu____3419 -> FStar_Extraction_ML_UEnv.unknownType - | FStar_Syntax_Syntax.Tm_meta (t2, uu____3433) -> + | FStar_Syntax_Syntax.Tm_meta (t2,uu____3433) -> translate_term_to_mlty env t2 | FStar_Syntax_Syntax.Tm_refine ({ FStar_Syntax_Syntax.ppname = uu____3438; FStar_Syntax_Syntax.index = uu____3439; - FStar_Syntax_Syntax.sort = t2;_}, - uu____3441) + FStar_Syntax_Syntax.sort = t2;_},uu____3441) -> translate_term_to_mlty env t2 - | FStar_Syntax_Syntax.Tm_uinst (t2, uu____3450) -> + | FStar_Syntax_Syntax.Tm_uinst (t2,uu____3450) -> translate_term_to_mlty env t2 - | FStar_Syntax_Syntax.Tm_ascribed (t2, uu____3456, uu____3457) -> + | FStar_Syntax_Syntax.Tm_ascribed (t2,uu____3456,uu____3457) -> translate_term_to_mlty env t2 | FStar_Syntax_Syntax.Tm_name bv -> bv_as_mlty env bv | FStar_Syntax_Syntax.Tm_fvar fv -> fv_app_as_mlty env fv [] - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____3530 = FStar_Syntax_Subst.open_comp bs c in + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____3530 = FStar_Syntax_Subst.open_comp bs c in (match uu____3530 with - | (bs1, c1) -> - let uu____3537 = binders_as_ml_binders env bs1 in + | (bs1,c1) -> + let uu____3537 = binders_as_ml_binders env bs1 in (match uu____3537 with - | (mlbs, env1) -> + | (mlbs,env1) -> let t_ret = let eff = FStar_TypeChecker_Env.norm_eff_name env1.FStar_Extraction_ML_UEnv.env_tcenv - (FStar_Syntax_Util.comp_effect_name c1) in - let c2 = comp_no_args c1 in + (FStar_Syntax_Util.comp_effect_name c1) + in + let c2 = comp_no_args c1 in let uu____3570 = let uu____3577 = FStar_TypeChecker_Env.effect_decl_opt - env1.FStar_Extraction_ML_UEnv.env_tcenv eff in - FStar_Util.must uu____3577 in + env1.FStar_Extraction_ML_UEnv.env_tcenv eff + in + FStar_Util.must uu____3577 in match uu____3570 with - | (ed, qualifiers) -> + | (ed,qualifiers) -> let uu____3598 = FStar_TypeChecker_Env.is_reifiable_effect g.FStar_Extraction_ML_UEnv.env_tcenv - ed.FStar_Syntax_Syntax.mname in + ed.FStar_Syntax_Syntax.mname + in if uu____3598 then let t2 = FStar_TypeChecker_Env.reify_comp env1.FStar_Extraction_ML_UEnv.env_tcenv c2 - FStar_Syntax_Syntax.U_unknown in + FStar_Syntax_Syntax.U_unknown + in (FStar_Extraction_ML_UEnv.debug env1 - (fun uu____3606 -> + (fun uu____3606 -> let uu____3607 = - FStar_Syntax_Print.comp_to_string c2 in + FStar_Syntax_Print.comp_to_string c2 + in let uu____3609 = - FStar_Syntax_Print.term_to_string t2 in + FStar_Syntax_Print.term_to_string t2 + in FStar_Util.print2 "Translating comp type %s as %s\n" uu____3607 uu____3609); - (let res = translate_term_to_mlty env1 t2 in + (let res = translate_term_to_mlty env1 t2 in FStar_Extraction_ML_UEnv.debug env1 - (fun uu____3618 -> + (fun uu____3618 -> let uu____3619 = - FStar_Syntax_Print.comp_to_string c2 in + FStar_Syntax_Print.comp_to_string c2 + in let uu____3621 = - FStar_Syntax_Print.term_to_string t2 in + FStar_Syntax_Print.term_to_string t2 + in let uu____3623 = FStar_Extraction_ML_Code.string_of_mlty env1.FStar_Extraction_ML_UEnv.currentModule - res in + res + in FStar_Util.print3 "Translated comp type %s as %s ... to %s\n" uu____3619 uu____3621 uu____3623); res)) else translate_term_to_mlty env1 - (FStar_Syntax_Util.comp_result c2) in + (FStar_Syntax_Util.comp_result c2) + in let erase = effect_as_etag env1 - (FStar_Syntax_Util.comp_effect_name c1) in + (FStar_Syntax_Util.comp_effect_name c1) + in let uu____3629 = FStar_List.fold_right - (fun uu____3649 -> - fun uu____3650 -> + (fun uu____3649 -> + fun uu____3650 -> match (uu____3649, uu____3650) with - | ((uu____3673, t2), (tag, t')) -> + | ((uu____3673,t2),(tag,t')) -> (FStar_Extraction_ML_Syntax.E_PURE, (FStar_Extraction_ML_Syntax.MLTY_Fun - (t2, tag, t')))) mlbs (erase, t_ret) in - (match uu____3629 with | (uu____3688, t2) -> t2))) - | FStar_Syntax_Syntax.Tm_app (head1, args) -> + (t2, tag, t')))) mlbs (erase, t_ret) + in + (match uu____3629 with | (uu____3688,t2) -> t2))) + | FStar_Syntax_Syntax.Tm_app (head1,args) -> let res = let uu____3717 = - let uu____3718 = FStar_Syntax_Util.un_uinst head1 in - uu____3718.FStar_Syntax_Syntax.n in + let uu____3718 = FStar_Syntax_Util.un_uinst head1 in + uu____3718.FStar_Syntax_Syntax.n in match uu____3717 with | FStar_Syntax_Syntax.Tm_name bv -> bv_as_mlty env bv | FStar_Syntax_Syntax.Tm_fvar fv -> fv_app_as_mlty env fv args - | FStar_Syntax_Syntax.Tm_app (head2, args') -> + | FStar_Syntax_Syntax.Tm_app (head2,args') -> let uu____3749 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (head2, (FStar_List.append args' args))) - FStar_Pervasives_Native.None t1.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None t1.FStar_Syntax_Syntax.pos + in translate_term_to_mlty env uu____3749 - | uu____3770 -> FStar_Extraction_ML_UEnv.unknownType in + | uu____3770 -> FStar_Extraction_ML_UEnv.unknownType in res - | FStar_Syntax_Syntax.Tm_abs (bs, ty, uu____3773) -> - let uu____3798 = FStar_Syntax_Subst.open_term bs ty in + | FStar_Syntax_Syntax.Tm_abs (bs,ty,uu____3773) -> + let uu____3798 = FStar_Syntax_Subst.open_term bs ty in (match uu____3798 with - | (bs1, ty1) -> - let uu____3805 = binders_as_ml_binders env bs1 in + | (bs1,ty1) -> + let uu____3805 = binders_as_ml_binders env bs1 in (match uu____3805 with - | (bts, env1) -> translate_term_to_mlty env1 ty1)) + | (bts,env1) -> translate_term_to_mlty env1 ty1)) | FStar_Syntax_Syntax.Tm_let uu____3833 -> FStar_Extraction_ML_UEnv.unknownType | FStar_Syntax_Syntax.Tm_match uu____3847 -> - FStar_Extraction_ML_UEnv.unknownType in + FStar_Extraction_ML_UEnv.unknownType + in let rec is_top_ty t = match t with - | FStar_Extraction_ML_Syntax.MLTY_Top -> true + | FStar_Extraction_ML_Syntax.MLTY_Top -> true | FStar_Extraction_ML_Syntax.MLTY_Named uu____3879 -> - let uu____3886 = FStar_Extraction_ML_Util.udelta_unfold g t in + let uu____3886 = FStar_Extraction_ML_Util.udelta_unfold g t in (match uu____3886 with - | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.None -> false | FStar_Pervasives_Native.Some t1 -> is_top_ty t1) - | uu____3892 -> false in + | uu____3892 -> false in let uu____3894 = FStar_TypeChecker_Util.must_erase_for_extraction - g.FStar_Extraction_ML_UEnv.env_tcenv t0 in + g.FStar_Extraction_ML_UEnv.env_tcenv t0 + in if uu____3894 then FStar_Extraction_ML_Syntax.MLTY_Erased else - (let mlt = aux g t0 in - let uu____3900 = is_top_ty mlt in + (let mlt = aux g t0 in + let uu____3900 = is_top_ty mlt in if uu____3900 then FStar_Extraction_ML_Syntax.MLTY_Top else mlt) + and (binders_as_ml_binders : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.binders -> ((FStar_Extraction_ML_Syntax.mlident * FStar_Extraction_ML_Syntax.mlty) Prims.list * FStar_Extraction_ML_UEnv.uenv)) = - fun g -> - fun bs -> + fun g -> + fun bs -> let uu____3918 = FStar_All.pipe_right bs (FStar_List.fold_left - (fun uu____3974 -> - fun b -> + (fun uu____3974 -> + fun b -> match uu____3974 with - | (ml_bs, env) -> - let uu____4020 = is_type_binder g b in + | (ml_bs,env) -> + let uu____4020 = is_type_binder g b in if uu____4020 then - let b1 = FStar_Pervasives_Native.fst b in + let b1 = FStar_Pervasives_Native.fst b in let env1 = FStar_Extraction_ML_UEnv.extend_ty env b1 (FStar_Pervasives_Native.Some - FStar_Extraction_ML_Syntax.MLTY_Top) in + FStar_Extraction_ML_Syntax.MLTY_Top) + in let ml_b = let uu____4046 = - FStar_Extraction_ML_UEnv.bv_as_ml_termvar b1 in - (uu____4046, FStar_Extraction_ML_Syntax.ml_unit_ty) in + FStar_Extraction_ML_UEnv.bv_as_ml_termvar b1 in + (uu____4046, FStar_Extraction_ML_Syntax.ml_unit_ty) + in ((ml_b :: ml_bs), env1) else - (let b1 = FStar_Pervasives_Native.fst b in + (let b1 = FStar_Pervasives_Native.fst b in let t = translate_term_to_mlty env - b1.FStar_Syntax_Syntax.sort in + b1.FStar_Syntax_Syntax.sort + in let uu____4067 = FStar_Extraction_ML_UEnv.extend_bv env b1 - ([], t) false false false in + ([], t) false false false + in match uu____4067 with - | (env1, b2, uu____4092) -> + | (env1,b2,uu____4092) -> let ml_b = let uu____4101 = - FStar_Extraction_ML_UEnv.removeTick b2 in - (uu____4101, t) in - ((ml_b :: ml_bs), env1))) ([], g)) in - match uu____3918 with | (ml_bs, env) -> ((FStar_List.rev ml_bs), env) + FStar_Extraction_ML_UEnv.removeTick b2 in + (uu____4101, t) in + ((ml_b :: ml_bs), env1))) ([], g)) + in + match uu____3918 with | (ml_bs,env) -> ((FStar_List.rev ml_bs), env) + let (term_as_mlty : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.term -> FStar_Extraction_ML_Syntax.mlty) = - fun g -> - fun t0 -> + fun g -> + fun t0 -> let t = FStar_TypeChecker_Normalize.normalize extraction_norm_steps - g.FStar_Extraction_ML_UEnv.env_tcenv t0 in + g.FStar_Extraction_ML_UEnv.env_tcenv t0 + in translate_term_to_mlty g t + let (mk_MLE_Seq : FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr') = - fun e1 -> - fun e2 -> + fun e1 -> + fun e2 -> match ((e1.FStar_Extraction_ML_Syntax.expr), (e2.FStar_Extraction_ML_Syntax.expr)) with - | (FStar_Extraction_ML_Syntax.MLE_Seq es1, - FStar_Extraction_ML_Syntax.MLE_Seq es2) -> + | (FStar_Extraction_ML_Syntax.MLE_Seq + es1,FStar_Extraction_ML_Syntax.MLE_Seq es2) -> FStar_Extraction_ML_Syntax.MLE_Seq (FStar_List.append es1 es2) - | (FStar_Extraction_ML_Syntax.MLE_Seq es1, uu____4197) -> + | (FStar_Extraction_ML_Syntax.MLE_Seq es1,uu____4197) -> FStar_Extraction_ML_Syntax.MLE_Seq (FStar_List.append es1 [e2]) - | (uu____4200, FStar_Extraction_ML_Syntax.MLE_Seq es2) -> + | (uu____4200,FStar_Extraction_ML_Syntax.MLE_Seq es2) -> FStar_Extraction_ML_Syntax.MLE_Seq (e1 :: es2) | uu____4204 -> FStar_Extraction_ML_Syntax.MLE_Seq [e1; e2] + let (mk_MLE_Let : Prims.bool -> FStar_Extraction_ML_Syntax.mlletbinding -> FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr') = - fun top_level -> - fun lbs -> - fun body -> + fun top_level -> + fun lbs -> + fun body -> match lbs with - | (FStar_Extraction_ML_Syntax.NonRec, lb::[]) when + | (FStar_Extraction_ML_Syntax.NonRec ,lb::[]) when Prims.op_Negation top_level -> (match lb.FStar_Extraction_ML_Syntax.mllb_tysc with - | FStar_Pervasives_Native.Some ([], t) when + | FStar_Pervasives_Native.Some ([],t) when t = FStar_Extraction_ML_Syntax.ml_unit_ty -> if body.FStar_Extraction_ML_Syntax.expr = @@ -1195,29 +1304,32 @@ let (mk_MLE_Let : body) | uu____4240 -> FStar_Extraction_ML_Syntax.MLE_Let (lbs, body)) | uu____4249 -> FStar_Extraction_ML_Syntax.MLE_Let (lbs, body) + let (resugar_pat : FStar_Syntax_Syntax.fv_qual FStar_Pervasives_Native.option -> FStar_Extraction_ML_Syntax.mlpattern -> FStar_Extraction_ML_Syntax.mlpattern) = - fun q -> - fun p -> + fun q -> + fun p -> match p with - | FStar_Extraction_ML_Syntax.MLP_CTor (d, pats) -> - let uu____4277 = FStar_Extraction_ML_Util.is_xtuple d in + | FStar_Extraction_ML_Syntax.MLP_CTor (d,pats) -> + let uu____4277 = FStar_Extraction_ML_Util.is_xtuple d in (match uu____4277 with | FStar_Pervasives_Native.Some n1 -> FStar_Extraction_ML_Syntax.MLP_Tuple pats | uu____4284 -> (match q with | FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Record_ctor (ty, fns)) -> + (FStar_Syntax_Syntax.Record_ctor (ty,fns)) -> let path = - FStar_List.map FStar_Ident.text_of_id ty.FStar_Ident.ns in - let fs = record_fields fns pats in + FStar_List.map FStar_Ident.text_of_id ty.FStar_Ident.ns + in + let fs = record_fields fns pats in FStar_Extraction_ML_Syntax.MLP_Record (path, fs) | uu____4317 -> p)) | uu____4320 -> p + let rec (extract_one_pat : Prims.bool -> FStar_Extraction_ML_UEnv.uenv -> @@ -1234,64 +1346,71 @@ let rec (extract_one_pat : FStar_Extraction_ML_Syntax.mlexpr Prims.list) FStar_Pervasives_Native.option * Prims.bool)) = - fun imp -> - fun g -> - fun p -> - fun expected_topt -> - fun term_as_mlexpr -> + fun imp -> + fun g -> + fun p -> + fun expected_topt -> + fun term_as_mlexpr -> let ok t = match expected_topt with - | FStar_Pervasives_Native.None -> true + | FStar_Pervasives_Native.None -> true | FStar_Pervasives_Native.Some t' -> - let ok = type_leq g t t' in + let ok = type_leq g t t' in (if Prims.op_Negation ok then FStar_Extraction_ML_UEnv.debug g - (fun uu____4422 -> + (fun uu____4422 -> let uu____4423 = FStar_Extraction_ML_Code.string_of_mlty - g.FStar_Extraction_ML_UEnv.currentModule t' in + g.FStar_Extraction_ML_UEnv.currentModule t' + in let uu____4425 = FStar_Extraction_ML_Code.string_of_mlty - g.FStar_Extraction_ML_UEnv.currentModule t in + g.FStar_Extraction_ML_UEnv.currentModule t + in FStar_Util.print2 "Expected pattern type %s; got pattern type %s\n" uu____4423 uu____4425) else (); - ok) in + ok) + in match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant (FStar_Const.Const_int - (c, swopt)) when - let uu____4461 = FStar_Options.codegen () in + (c,swopt)) when + let uu____4461 = FStar_Options.codegen () in uu____4461 <> (FStar_Pervasives_Native.Some FStar_Options.Kremlin) -> let uu____4466 = match swopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____4479 = let uu____4480 = let uu____4481 = FStar_Extraction_ML_Util.mlconst_of_const p.FStar_Syntax_Syntax.p (FStar_Const.Const_int - (c, FStar_Pervasives_Native.None)) in - FStar_Extraction_ML_Syntax.MLE_Const uu____4481 in + (c, FStar_Pervasives_Native.None)) + in + FStar_Extraction_ML_Syntax.MLE_Const uu____4481 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.ml_int_ty) uu____4480 in + FStar_Extraction_ML_Syntax.ml_int_ty) uu____4480 + in (uu____4479, FStar_Extraction_ML_Syntax.ml_int_ty) | FStar_Pervasives_Native.Some sw -> let source_term = FStar_ToSyntax_ToSyntax.desugar_machine_integer (g.FStar_Extraction_ML_UEnv.env_tcenv).FStar_TypeChecker_Env.dsenv - c sw FStar_Range.dummyRange in - let uu____4503 = term_as_mlexpr g source_term in + c sw FStar_Range.dummyRange + in + let uu____4503 = term_as_mlexpr g source_term in (match uu____4503 with - | (mlterm, uu____4515, mlty) -> (mlterm, mlty)) in + | (mlterm,uu____4515,mlty) -> (mlterm, mlty)) + in (match uu____4466 with - | (mlc, ml_ty) -> - let x = FStar_Extraction_ML_Syntax.gensym () in + | (mlc,ml_ty) -> + let x = FStar_Extraction_ML_Syntax.gensym () in let when_clause = let uu____4537 = let uu____4538 = @@ -1299,15 +1418,18 @@ let rec (extract_one_pat : let uu____4548 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty ml_ty) - (FStar_Extraction_ML_Syntax.MLE_Var x) in - [uu____4548; mlc] in + (FStar_Extraction_ML_Syntax.MLE_Var x) + in + [uu____4548; mlc] in (FStar_Extraction_ML_Util.prims_op_equality, - uu____4545) in - FStar_Extraction_ML_Syntax.MLE_App uu____4538 in + uu____4545) + in + FStar_Extraction_ML_Syntax.MLE_App uu____4538 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.ml_bool_ty) uu____4537 in - let uu____4551 = ok ml_ty in + FStar_Extraction_ML_Syntax.ml_bool_ty) uu____4537 + in + let uu____4551 = ok ml_ty in (g, (FStar_Pervasives_Native.Some ((FStar_Extraction_ML_Syntax.MLP_Var x), @@ -1316,26 +1438,29 @@ let rec (extract_one_pat : let t = FStar_TypeChecker_TcTerm.tc_constant g.FStar_Extraction_ML_UEnv.env_tcenv - FStar_Range.dummyRange s in - let mlty = term_as_mlty g t in + FStar_Range.dummyRange s + in + let mlty = term_as_mlty g t in let uu____4573 = let uu____4582 = let uu____4589 = let uu____4590 = FStar_Extraction_ML_Util.mlconst_of_const - p.FStar_Syntax_Syntax.p s in - FStar_Extraction_ML_Syntax.MLP_Const uu____4590 in - (uu____4589, []) in - FStar_Pervasives_Native.Some uu____4582 in - let uu____4599 = ok mlty in (g, uu____4573, uu____4599) + p.FStar_Syntax_Syntax.p s + in + FStar_Extraction_ML_Syntax.MLP_Const uu____4590 in + (uu____4589, []) in + FStar_Pervasives_Native.Some uu____4582 in + let uu____4599 = ok mlty in (g, uu____4573, uu____4599) | FStar_Syntax_Syntax.Pat_var x -> - let mlty = term_as_mlty g x.FStar_Syntax_Syntax.sort in + let mlty = term_as_mlty g x.FStar_Syntax_Syntax.sort in let uu____4612 = FStar_Extraction_ML_UEnv.extend_bv g x ([], mlty) false - false imp in + false imp + in (match uu____4612 with - | (g1, x1, uu____4640) -> - let uu____4643 = ok mlty in + | (g1,x1,uu____4640) -> + let uu____4643 = ok mlty in (g1, (if imp then FStar_Pervasives_Native.None @@ -1344,13 +1469,14 @@ let rec (extract_one_pat : ((FStar_Extraction_ML_Syntax.MLP_Var x1), [])), uu____4643)) | FStar_Syntax_Syntax.Pat_wild x -> - let mlty = term_as_mlty g x.FStar_Syntax_Syntax.sort in + let mlty = term_as_mlty g x.FStar_Syntax_Syntax.sort in let uu____4681 = FStar_Extraction_ML_UEnv.extend_bv g x ([], mlty) false - false imp in + false imp + in (match uu____4681 with - | (g1, x1, uu____4709) -> - let uu____4712 = ok mlty in + | (g1,x1,uu____4709) -> + let uu____4712 = ok mlty in (g1, (if imp then FStar_Pervasives_Native.None @@ -1360,9 +1486,9 @@ let rec (extract_one_pat : uu____4712)) | FStar_Syntax_Syntax.Pat_dot_term uu____4748 -> (g, FStar_Pervasives_Native.None, true) - | FStar_Syntax_Syntax.Pat_cons (f, pats) -> + | FStar_Syntax_Syntax.Pat_cons (f,pats) -> let uu____4791 = - let uu____4800 = FStar_Extraction_ML_UEnv.lookup_fv g f in + let uu____4800 = FStar_Extraction_ML_UEnv.lookup_fv g f in match uu____4800 with | { FStar_Extraction_ML_UEnv.exp_b_name = uu____4809; FStar_Extraction_ML_UEnv.exp_b_expr = @@ -1374,132 +1500,150 @@ let rec (extract_one_pat : FStar_Extraction_ML_UEnv.exp_b_tscheme = ttys; FStar_Extraction_ML_UEnv.exp_b_inst_ok = uu____4814;_} -> (n1, ttys) - | uu____4821 -> failwith "Expected a constructor" in + | uu____4821 -> failwith "Expected a constructor" in (match uu____4791 with - | (d, tys) -> + | (d,tys) -> let nTyVars = - FStar_List.length (FStar_Pervasives_Native.fst tys) in - let uu____4858 = FStar_Util.first_N nTyVars pats in + FStar_List.length (FStar_Pervasives_Native.fst tys) + in + let uu____4858 = FStar_Util.first_N nTyVars pats in (match uu____4858 with - | (tysVarPats, restPats) -> + | (tysVarPats,restPats) -> let f_ty_opt = try - (fun uu___836_4962 -> + (fun uu___836_4962 -> match () with | () -> let mlty_args = FStar_All.pipe_right tysVarPats (FStar_List.map - (fun uu____4993 -> + (fun uu____4993 -> match uu____4993 with - | (p1, uu____5000) -> + | (p1,uu____5000) -> (match p1.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_dot_term - (uu____5003, t) -> + (uu____5003,t) -> term_as_mlty g t | uu____5009 -> (FStar_Extraction_ML_UEnv.debug g - (fun uu____5013 -> + (fun uu____5013 + -> let uu____5014 = FStar_Syntax_Print.pat_to_string - p1 in + p1 + in FStar_Util.print1 "Pattern %s is not extractable" uu____5014); FStar_Exn.raise - Un_extractable)))) in + Un_extractable)))) + in let f_ty = FStar_Extraction_ML_Util.subst tys - mlty_args in + mlty_args + in let uu____5018 = FStar_Extraction_ML_Util.uncurry_mlty_fun - f_ty in + f_ty + in FStar_Pervasives_Native.Some uu____5018) () with - | Un_extractable -> FStar_Pervasives_Native.None in + | Un_extractable -> FStar_Pervasives_Native.None + in let uu____5047 = FStar_Util.fold_map - (fun g1 -> - fun uu____5084 -> + (fun g1 -> + fun uu____5084 -> match uu____5084 with - | (p1, imp1) -> + | (p1,imp1) -> let uu____5106 = extract_one_pat true g1 p1 FStar_Pervasives_Native.None - term_as_mlexpr in + term_as_mlexpr + in (match uu____5106 with - | (g2, p2, uu____5137) -> (g2, p2))) - g tysVarPats in + | (g2,p2,uu____5137) -> (g2, p2))) g + tysVarPats + in (match uu____5047 with - | (g1, tyMLPats) -> + | (g1,tyMLPats) -> let uu____5201 = FStar_Util.fold_map - (fun uu____5266 -> - fun uu____5267 -> + (fun uu____5266 -> + fun uu____5267 -> match (uu____5266, uu____5267) with - | ((g2, f_ty_opt1), (p1, imp1)) -> + | ((g2,f_ty_opt1),(p1,imp1)) -> let uu____5365 = match f_ty_opt1 with | FStar_Pervasives_Native.Some - (hd1::rest, res) -> + (hd1::rest,res) -> ((FStar_Pervasives_Native.Some (rest, res)), (FStar_Pervasives_Native.Some hd1)) | uu____5425 -> (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in (match uu____5365 with - | (f_ty_opt2, expected_ty) -> + | (f_ty_opt2,expected_ty) -> let uu____5496 = extract_one_pat false g2 p1 expected_ty - term_as_mlexpr in + term_as_mlexpr + in (match uu____5496 with - | (g3, p2, uu____5539) -> + | (g3,p2,uu____5539) -> ((g3, f_ty_opt2), p2)))) - (g1, f_ty_opt) restPats in + (g1, f_ty_opt) restPats + in (match uu____5201 with - | ((g2, f_ty_opt1), restMLPats) -> + | ((g2,f_ty_opt1),restMLPats) -> let uu____5660 = let uu____5671 = FStar_All.pipe_right (FStar_List.append tyMLPats restMLPats) (FStar_List.collect - (fun uu___0_5722 -> + (fun uu___0_5722 -> match uu___0_5722 with | FStar_Pervasives_Native.Some x -> [x] - | uu____5764 -> [])) in + | uu____5764 -> [])) + in FStar_All.pipe_right uu____5671 - FStar_List.split in + FStar_List.split + in (match uu____5660 with - | (mlPats, when_clauses) -> + | (mlPats,when_clauses) -> let pat_ty_compat = match f_ty_opt1 with | FStar_Pervasives_Native.Some - ([], t) -> ok t - | uu____5840 -> false in + ([],t) -> ok t + | uu____5840 -> false in let uu____5850 = let uu____5859 = let uu____5866 = resugar_pat f.FStar_Syntax_Syntax.fv_qual (FStar_Extraction_ML_Syntax.MLP_CTor - (d, mlPats)) in + (d, mlPats)) + in let uu____5869 = FStar_All.pipe_right when_clauses - FStar_List.flatten in - (uu____5866, uu____5869) in + FStar_List.flatten + in + (uu____5866, uu____5869) in FStar_Pervasives_Native.Some - uu____5859 in + uu____5859 + in (g2, uu____5850, pat_ty_compat)))))) + let (extract_pat : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.pat -> @@ -1515,32 +1659,36 @@ let (extract_pat : FStar_Extraction_ML_Syntax.mlexpr FStar_Pervasives_Native.option) Prims.list * Prims.bool)) = - fun g -> - fun p -> - fun expected_t -> - fun term_as_mlexpr -> + fun g -> + fun p -> + fun expected_t -> + fun term_as_mlexpr -> let extract_one_pat1 g1 p1 expected_t1 = let uu____6001 = - extract_one_pat false g1 p1 expected_t1 term_as_mlexpr in + extract_one_pat false g1 p1 expected_t1 term_as_mlexpr in match uu____6001 with - | (g2, FStar_Pervasives_Native.Some (x, v1), b) -> - (g2, (x, v1), b) + | (g2,FStar_Pervasives_Native.Some (x,v1),b) -> (g2, (x, v1), b) | uu____6064 -> - failwith "Impossible: Unable to translate pattern" in + failwith "Impossible: Unable to translate pattern" + in let mk_when_clause whens = match whens with | [] -> FStar_Pervasives_Native.None | hd1::tl1 -> let uu____6112 = FStar_List.fold_left FStar_Extraction_ML_Util.conjoin hd1 - tl1 in - FStar_Pervasives_Native.Some uu____6112 in + tl1 + in + FStar_Pervasives_Native.Some uu____6112 + in let uu____6113 = - extract_one_pat1 g p (FStar_Pervasives_Native.Some expected_t) in + extract_one_pat1 g p (FStar_Pervasives_Native.Some expected_t) + in match uu____6113 with - | (g1, (p1, whens), b) -> - let when_clause = mk_when_clause whens in + | (g1,(p1,whens),b) -> + let when_clause = mk_when_clause whens in (g1, [(p1, when_clause)], b) + let (maybe_eta_data_and_project_record : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.fv_qual FStar_Pervasives_Native.option -> @@ -1548,65 +1696,71 @@ let (maybe_eta_data_and_project_record : FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr) = - fun g -> - fun qual -> - fun residualType -> - fun mlAppExpr -> + fun g -> + fun qual -> + fun residualType -> + fun mlAppExpr -> let rec eta_args more_args t = match t with - | FStar_Extraction_ML_Syntax.MLTY_Fun (t0, uu____6273, t1) -> - let x = FStar_Extraction_ML_Syntax.gensym () in + | FStar_Extraction_ML_Syntax.MLTY_Fun (t0,uu____6273,t1) -> + let x = FStar_Extraction_ML_Syntax.gensym () in let uu____6277 = let uu____6289 = let uu____6299 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty t0) - (FStar_Extraction_ML_Syntax.MLE_Var x) in - ((x, t0), uu____6299) in - uu____6289 :: more_args in + (FStar_Extraction_ML_Syntax.MLE_Var x) + in + ((x, t0), uu____6299) in + uu____6289 :: more_args in eta_args uu____6277 t1 - | FStar_Extraction_ML_Syntax.MLTY_Named (uu____6315, uu____6316) + | FStar_Extraction_ML_Syntax.MLTY_Named (uu____6315,uu____6316) -> ((FStar_List.rev more_args), t) | uu____6341 -> let uu____6342 = let uu____6344 = FStar_Extraction_ML_Code.string_of_mlexpr - g.FStar_Extraction_ML_UEnv.currentModule mlAppExpr in + g.FStar_Extraction_ML_UEnv.currentModule mlAppExpr + in let uu____6346 = FStar_Extraction_ML_Code.string_of_mlty - g.FStar_Extraction_ML_UEnv.currentModule t in + g.FStar_Extraction_ML_UEnv.currentModule t + in FStar_Util.format2 "Impossible: Head type is not an arrow: (%s : %s)" - uu____6344 uu____6346 in - failwith uu____6342 in + uu____6344 uu____6346 + in + failwith uu____6342 + in let as_record qual1 e = match ((e.FStar_Extraction_ML_Syntax.expr), qual1) with - | (FStar_Extraction_ML_Syntax.MLE_CTor (uu____6381, args), - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_ctor - (tyname, fields))) -> + | (FStar_Extraction_ML_Syntax.MLE_CTor + (uu____6381,args),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Record_ctor (tyname,fields))) -> let path = - FStar_List.map FStar_Ident.text_of_id tyname.FStar_Ident.ns in - let fields1 = record_fields fields args in + FStar_List.map FStar_Ident.text_of_id tyname.FStar_Ident.ns + in + let fields1 = record_fields fields args in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty e.FStar_Extraction_ML_Syntax.mlty) (FStar_Extraction_ML_Syntax.MLE_Record (path, fields1)) - | uu____6418 -> e in + | uu____6418 -> e in let resugar_and_maybe_eta qual1 e = - let uu____6440 = eta_args [] residualType in + let uu____6440 = eta_args [] residualType in match uu____6440 with - | (eargs, tres) -> + | (eargs,tres) -> (match eargs with | [] -> - let uu____6498 = as_record qual1 e in + let uu____6498 = as_record qual1 e in FStar_Extraction_ML_Util.resugar_exp uu____6498 | uu____6499 -> - let uu____6511 = FStar_List.unzip eargs in + let uu____6511 = FStar_List.unzip eargs in (match uu____6511 with - | (binders, eargs1) -> + | (binders,eargs1) -> (match e.FStar_Extraction_ML_Syntax.expr with - | FStar_Extraction_ML_Syntax.MLE_CTor - (head1, args) -> + | FStar_Extraction_ML_Syntax.MLE_CTor (head1,args) + -> let body = let uu____6557 = let uu____6558 = @@ -1615,35 +1769,38 @@ let (maybe_eta_data_and_project_record : tres) (FStar_Extraction_ML_Syntax.MLE_CTor (head1, - (FStar_List.append args eargs1))) in + (FStar_List.append args eargs1))) + in FStar_All.pipe_left (as_record qual1) - uu____6558 in + uu____6558 + in FStar_All.pipe_left FStar_Extraction_ML_Util.resugar_exp - uu____6557 in + uu____6557 + in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty e.FStar_Extraction_ML_Syntax.mlty) (FStar_Extraction_ML_Syntax.MLE_Fun (binders, body)) | uu____6568 -> - failwith "Impossible: Not a constructor"))) in + failwith "Impossible: Not a constructor"))) + in match ((mlAppExpr.FStar_Extraction_ML_Syntax.expr), qual) with - | (uu____6572, FStar_Pervasives_Native.None) -> mlAppExpr + | (uu____6572,FStar_Pervasives_Native.None ) -> mlAppExpr | (FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name mlp; FStar_Extraction_ML_Syntax.mlty = uu____6576; - FStar_Extraction_ML_Syntax.loc = uu____6577;_}, - mle::args), - FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Record_projector (constrname, f))) -> + FStar_Extraction_ML_Syntax.loc = uu____6577;_},mle::args),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Record_projector (constrname,f))) -> let f1 = FStar_Ident.lid_of_ids - (FStar_List.append constrname.FStar_Ident.ns [f]) in - let fn = FStar_Extraction_ML_Util.mlpath_of_lid f1 in - let proj = FStar_Extraction_ML_Syntax.MLE_Proj (mle, fn) in + (FStar_List.append constrname.FStar_Ident.ns [f]) + in + let fn = FStar_Extraction_ML_Util.mlpath_of_lid f1 in + let proj = FStar_Extraction_ML_Syntax.MLE_Proj (mle, fn) in let e = match args with | [] -> proj @@ -1652,9 +1809,11 @@ let (maybe_eta_data_and_project_record : let uu____6610 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) proj in - (uu____6610, args) in - FStar_Extraction_ML_Syntax.MLE_App uu____6603 in + FStar_Extraction_ML_Syntax.MLTY_Top) proj + in + (uu____6610, args) in + FStar_Extraction_ML_Syntax.MLE_App uu____6603 + in FStar_Extraction_ML_Syntax.with_ty mlAppExpr.FStar_Extraction_ML_Syntax.mlty e | (FStar_Extraction_ML_Syntax.MLE_App @@ -1665,18 +1824,16 @@ let (maybe_eta_data_and_project_record : FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name mlp; FStar_Extraction_ML_Syntax.mlty = uu____6614; - FStar_Extraction_ML_Syntax.loc = uu____6615;_}, - uu____6616); + FStar_Extraction_ML_Syntax.loc = uu____6615;_},uu____6616); FStar_Extraction_ML_Syntax.mlty = uu____6617; - FStar_Extraction_ML_Syntax.loc = uu____6618;_}, - mle::args), - FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Record_projector (constrname, f))) -> + FStar_Extraction_ML_Syntax.loc = uu____6618;_},mle::args),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Record_projector (constrname,f))) -> let f1 = FStar_Ident.lid_of_ids - (FStar_List.append constrname.FStar_Ident.ns [f]) in - let fn = FStar_Extraction_ML_Util.mlpath_of_lid f1 in - let proj = FStar_Extraction_ML_Syntax.MLE_Proj (mle, fn) in + (FStar_List.append constrname.FStar_Ident.ns [f]) + in + let fn = FStar_Extraction_ML_Util.mlpath_of_lid f1 in + let proj = FStar_Extraction_ML_Syntax.MLE_Proj (mle, fn) in let e = match args with | [] -> proj @@ -1685,9 +1842,11 @@ let (maybe_eta_data_and_project_record : let uu____6655 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) proj in - (uu____6655, args) in - FStar_Extraction_ML_Syntax.MLE_App uu____6648 in + FStar_Extraction_ML_Syntax.MLTY_Top) proj + in + (uu____6655, args) in + FStar_Extraction_ML_Syntax.MLE_App uu____6648 + in FStar_Extraction_ML_Syntax.with_ty mlAppExpr.FStar_Extraction_ML_Syntax.mlty e | (FStar_Extraction_ML_Syntax.MLE_App @@ -1695,29 +1854,28 @@ let (maybe_eta_data_and_project_record : FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name mlp; FStar_Extraction_ML_Syntax.mlty = uu____6659; - FStar_Extraction_ML_Syntax.loc = uu____6660;_}, - mlargs), - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Data_ctor)) -> + FStar_Extraction_ML_Syntax.loc = uu____6660;_},mlargs),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Data_ctor )) -> let uu____6668 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty mlAppExpr.FStar_Extraction_ML_Syntax.mlty) - (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, mlargs)) in + (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, mlargs)) + in FStar_All.pipe_left (resugar_and_maybe_eta qual) uu____6668 | (FStar_Extraction_ML_Syntax.MLE_App ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name mlp; FStar_Extraction_ML_Syntax.mlty = uu____6672; - FStar_Extraction_ML_Syntax.loc = uu____6673;_}, - mlargs), - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_ctor - uu____6675)) -> + FStar_Extraction_ML_Syntax.loc = uu____6673;_},mlargs),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Record_ctor uu____6675)) -> let uu____6688 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty mlAppExpr.FStar_Extraction_ML_Syntax.mlty) - (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, mlargs)) in + (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, mlargs)) + in FStar_All.pipe_left (resugar_and_maybe_eta qual) uu____6688 | (FStar_Extraction_ML_Syntax.MLE_App ({ @@ -1727,17 +1885,16 @@ let (maybe_eta_data_and_project_record : FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name mlp; FStar_Extraction_ML_Syntax.mlty = uu____6692; - FStar_Extraction_ML_Syntax.loc = uu____6693;_}, - uu____6694); + FStar_Extraction_ML_Syntax.loc = uu____6693;_},uu____6694); FStar_Extraction_ML_Syntax.mlty = uu____6695; - FStar_Extraction_ML_Syntax.loc = uu____6696;_}, - mlargs), - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Data_ctor)) -> + FStar_Extraction_ML_Syntax.loc = uu____6696;_},mlargs),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Data_ctor )) -> let uu____6708 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty mlAppExpr.FStar_Extraction_ML_Syntax.mlty) - (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, mlargs)) in + (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, mlargs)) + in FStar_All.pipe_left (resugar_and_maybe_eta qual) uu____6708 | (FStar_Extraction_ML_Syntax.MLE_App ({ @@ -1747,66 +1904,67 @@ let (maybe_eta_data_and_project_record : FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name mlp; FStar_Extraction_ML_Syntax.mlty = uu____6712; - FStar_Extraction_ML_Syntax.loc = uu____6713;_}, - uu____6714); + FStar_Extraction_ML_Syntax.loc = uu____6713;_},uu____6714); FStar_Extraction_ML_Syntax.mlty = uu____6715; - FStar_Extraction_ML_Syntax.loc = uu____6716;_}, - mlargs), - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_ctor - uu____6718)) -> + FStar_Extraction_ML_Syntax.loc = uu____6716;_},mlargs),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Record_ctor uu____6718)) -> let uu____6735 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty mlAppExpr.FStar_Extraction_ML_Syntax.mlty) - (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, mlargs)) in + (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, mlargs)) + in FStar_All.pipe_left (resugar_and_maybe_eta qual) uu____6735 - | (FStar_Extraction_ML_Syntax.MLE_Name mlp, - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Data_ctor)) -> + | (FStar_Extraction_ML_Syntax.MLE_Name + mlp,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Data_ctor + )) -> let uu____6741 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty mlAppExpr.FStar_Extraction_ML_Syntax.mlty) - (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, [])) in + (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, [])) + in FStar_All.pipe_left (resugar_and_maybe_eta qual) uu____6741 - | (FStar_Extraction_ML_Syntax.MLE_Name mlp, - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_ctor - uu____6745)) -> + | (FStar_Extraction_ML_Syntax.MLE_Name + mlp,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Record_ctor uu____6745)) -> let uu____6754 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty mlAppExpr.FStar_Extraction_ML_Syntax.mlty) - (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, [])) in + (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, [])) + in FStar_All.pipe_left (resugar_and_maybe_eta qual) uu____6754 | (FStar_Extraction_ML_Syntax.MLE_TApp ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name mlp; FStar_Extraction_ML_Syntax.mlty = uu____6758; - FStar_Extraction_ML_Syntax.loc = uu____6759;_}, - uu____6760), - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Data_ctor)) -> + FStar_Extraction_ML_Syntax.loc = uu____6759;_},uu____6760),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Data_ctor )) -> let uu____6767 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty mlAppExpr.FStar_Extraction_ML_Syntax.mlty) - (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, [])) in + (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, [])) + in FStar_All.pipe_left (resugar_and_maybe_eta qual) uu____6767 | (FStar_Extraction_ML_Syntax.MLE_TApp ({ FStar_Extraction_ML_Syntax.expr = FStar_Extraction_ML_Syntax.MLE_Name mlp; FStar_Extraction_ML_Syntax.mlty = uu____6771; - FStar_Extraction_ML_Syntax.loc = uu____6772;_}, - uu____6773), - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_ctor - uu____6774)) -> + FStar_Extraction_ML_Syntax.loc = uu____6772;_},uu____6773),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Record_ctor uu____6774)) -> let uu____6787 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty mlAppExpr.FStar_Extraction_ML_Syntax.mlty) - (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, [])) in + (FStar_Extraction_ML_Syntax.MLE_CTor (mlp, [])) + in FStar_All.pipe_left (resugar_and_maybe_eta qual) uu____6787 | uu____6790 -> mlAppExpr + let (maybe_promote_effect : FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.e_tag -> @@ -1814,19 +1972,20 @@ let (maybe_promote_effect : (FStar_Extraction_ML_Syntax.mlexpr * FStar_Extraction_ML_Syntax.e_tag)) = - fun ml_e -> - fun tag -> - fun t -> + fun ml_e -> + fun tag -> + fun t -> match (tag, t) with - | (FStar_Extraction_ML_Syntax.E_GHOST, - FStar_Extraction_ML_Syntax.MLTY_Erased) -> + | (FStar_Extraction_ML_Syntax.E_GHOST + ,FStar_Extraction_ML_Syntax.MLTY_Erased ) -> (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.E_PURE) - | (FStar_Extraction_ML_Syntax.E_PURE, - FStar_Extraction_ML_Syntax.MLTY_Erased) -> + | (FStar_Extraction_ML_Syntax.E_PURE + ,FStar_Extraction_ML_Syntax.MLTY_Erased ) -> (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.E_PURE) | uu____6821 -> (ml_e, tag) + let (extract_lb_sig : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.letbindings -> @@ -1835,8 +1994,8 @@ let (extract_lb_sig : FStar_Extraction_ML_Syntax.mltyscheme)) * Prims.bool * FStar_Syntax_Syntax.term) Prims.list) = - fun g -> - fun lbs -> + fun g -> + fun lbs -> let maybe_generalize uu____6882 = match uu____6882 with | { FStar_Syntax_Syntax.lbname = lbname_; @@ -1846,14 +2005,16 @@ let (extract_lb_sig : FStar_Syntax_Syntax.lbdef = lbdef; FStar_Syntax_Syntax.lbattrs = uu____6907; FStar_Syntax_Syntax.lbpos = uu____6908;_} -> - let f_e = effect_as_etag g lbeff in - let lbtyp1 = FStar_Syntax_Subst.compress lbtyp in + let f_e = effect_as_etag g lbeff in + let lbtyp1 = FStar_Syntax_Subst.compress lbtyp in let no_gen uu____6989 = - let expected_t = term_as_mlty g lbtyp1 in - (lbname_, f_e, (lbtyp1, ([], ([], expected_t))), false, lbdef) in + let expected_t = term_as_mlty g lbtyp1 in + (lbname_, f_e, (lbtyp1, ([], ([], expected_t))), false, lbdef) + in let uu____7066 = FStar_TypeChecker_Util.must_erase_for_extraction - g.FStar_Extraction_ML_UEnv.env_tcenv lbtyp1 in + g.FStar_Extraction_ML_UEnv.env_tcenv lbtyp1 + in if uu____7066 then (lbname_, f_e, @@ -1861,122 +2022,134 @@ let (extract_lb_sig : false, lbdef) else (match lbtyp1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (bs, c) when - let uu____7152 = FStar_List.hd bs in + | FStar_Syntax_Syntax.Tm_arrow (bs,c) when + let uu____7152 = FStar_List.hd bs in FStar_All.pipe_right uu____7152 (is_type_binder g) -> - let uu____7174 = FStar_Syntax_Subst.open_comp bs c in + let uu____7174 = FStar_Syntax_Subst.open_comp bs c in (match uu____7174 with - | (bs1, c1) -> + | (bs1,c1) -> let uu____7200 = let uu____7213 = FStar_Util.prefix_until - (fun x -> - let uu____7259 = is_type_binder g x in - Prims.op_Negation uu____7259) bs1 in + (fun x -> + let uu____7259 = is_type_binder g x in + Prims.op_Negation uu____7259) bs1 + in match uu____7213 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (bs1, (FStar_Syntax_Util.comp_result c1)) - | FStar_Pervasives_Native.Some (bs2, b, rest) -> + | FStar_Pervasives_Native.Some (bs2,b,rest) -> let uu____7386 = - FStar_Syntax_Util.arrow (b :: rest) c1 in - (bs2, uu____7386) in + FStar_Syntax_Util.arrow (b :: rest) c1 in + (bs2, uu____7386) + in (match uu____7200 with - | (tbinders, tbody) -> - let n_tbinders = FStar_List.length tbinders in + | (tbinders,tbody) -> + let n_tbinders = FStar_List.length tbinders in let lbdef1 = - let uu____7448 = normalize_abs lbdef in + let uu____7448 = normalize_abs lbdef in FStar_All.pipe_right uu____7448 - FStar_Syntax_Util.unmeta in + FStar_Syntax_Util.unmeta + in (match lbdef1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_abs (bs2, body, copt) - -> + | FStar_Syntax_Syntax.Tm_abs (bs2,body,copt) -> let uu____7497 = - FStar_Syntax_Subst.open_term bs2 body in + FStar_Syntax_Subst.open_term bs2 body in (match uu____7497 with - | (bs3, body1) -> + | (bs3,body1) -> if n_tbinders <= (FStar_List.length bs3) then let uu____7549 = - FStar_Util.first_N n_tbinders bs3 in + FStar_Util.first_N n_tbinders bs3 + in (match uu____7549 with - | (targs, rest_args) -> + | (targs,rest_args) -> let expected_source_ty = let s = FStar_List.map2 - (fun uu____7652 -> - fun uu____7653 -> + (fun uu____7652 -> + fun uu____7653 -> match (uu____7652, uu____7653) with - | ((x, uu____7679), - (y, uu____7681)) + | ((x,uu____7679), + (y,uu____7681)) -> let uu____7702 = let uu____7709 = FStar_Syntax_Syntax.bv_to_name - y in + y + in (x, - uu____7709) in + uu____7709) + in FStar_Syntax_Syntax.NT uu____7702) - tbinders targs in + tbinders targs + in FStar_Syntax_Subst.subst s - tbody in + tbody + in let env = FStar_List.fold_left - (fun env -> - fun uu____7726 -> + (fun env -> + fun uu____7726 -> match uu____7726 with - | (a, uu____7734) -> + | (a,uu____7734) -> FStar_Extraction_ML_UEnv.extend_ty env a FStar_Pervasives_Native.None) - g targs in + g targs + in let expected_t = term_as_mlty env - expected_source_ty in + expected_source_ty + in let polytype = let uu____7745 = FStar_All.pipe_right targs (FStar_List.map - (fun uu____7764 -> + (fun uu____7764 -> match uu____7764 with - | (x, uu____7773) - -> + | (x,uu____7773) -> FStar_Extraction_ML_UEnv.bv_as_ml_tyvar - x)) in - (uu____7745, expected_t) in + x)) + in + (uu____7745, expected_t) in let add_unit = match rest_args with | [] -> (let uu____7789 = - is_fstar_value body1 in + is_fstar_value body1 + in Prims.op_Negation uu____7789) || (let uu____7792 = FStar_Syntax_Util.is_pure_comp - c1 in + c1 + in Prims.op_Negation uu____7792) - | uu____7794 -> false in + | uu____7794 -> false in let rest_args1 = if add_unit then unit_binder :: rest_args - else rest_args in + else rest_args in let polytype1 = if add_unit then FStar_Extraction_ML_Syntax.push_unit polytype - else polytype in + else polytype in let body2 = FStar_Syntax_Util.abs - rest_args1 body1 copt in + rest_args1 body1 copt + in (lbname_, f_e, (lbtyp1, (targs, polytype1)), add_unit, body2)) @@ -1985,161 +2158,180 @@ let (extract_lb_sig : | FStar_Syntax_Syntax.Tm_uinst uu____7856 -> let env = FStar_List.fold_left - (fun env -> - fun uu____7875 -> + (fun env -> + fun uu____7875 -> match uu____7875 with - | (a, uu____7883) -> + | (a,uu____7883) -> FStar_Extraction_ML_UEnv.extend_ty env a FStar_Pervasives_Native.None) - g tbinders in - let expected_t = term_as_mlty env tbody in + g tbinders + in + let expected_t = term_as_mlty env tbody in let polytype = let uu____7894 = FStar_All.pipe_right tbinders (FStar_List.map - (fun uu____7913 -> + (fun uu____7913 -> match uu____7913 with - | (x, uu____7922) -> + | (x,uu____7922) -> FStar_Extraction_ML_UEnv.bv_as_ml_tyvar - x)) in - (uu____7894, expected_t) in + x)) + in + (uu____7894, expected_t) in let args = FStar_All.pipe_right tbinders (FStar_List.map - (fun uu____7966 -> + (fun uu____7966 -> match uu____7966 with - | (bv, uu____7974) -> + | (bv,uu____7974) -> let uu____7979 = FStar_Syntax_Syntax.bv_to_name - bv in + bv + in FStar_All.pipe_right uu____7979 - FStar_Syntax_Syntax.as_arg)) in + FStar_Syntax_Syntax.as_arg)) + in let e = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (lbdef1, args)) FStar_Pervasives_Native.None - lbdef1.FStar_Syntax_Syntax.pos in + lbdef1.FStar_Syntax_Syntax.pos + in (lbname_, f_e, (lbtyp1, (tbinders, polytype)), false, e) | FStar_Syntax_Syntax.Tm_fvar uu____8009 -> let env = FStar_List.fold_left - (fun env -> - fun uu____8022 -> + (fun env -> + fun uu____8022 -> match uu____8022 with - | (a, uu____8030) -> + | (a,uu____8030) -> FStar_Extraction_ML_UEnv.extend_ty env a FStar_Pervasives_Native.None) - g tbinders in - let expected_t = term_as_mlty env tbody in + g tbinders + in + let expected_t = term_as_mlty env tbody in let polytype = let uu____8041 = FStar_All.pipe_right tbinders (FStar_List.map - (fun uu____8060 -> + (fun uu____8060 -> match uu____8060 with - | (x, uu____8069) -> + | (x,uu____8069) -> FStar_Extraction_ML_UEnv.bv_as_ml_tyvar - x)) in - (uu____8041, expected_t) in + x)) + in + (uu____8041, expected_t) in let args = FStar_All.pipe_right tbinders (FStar_List.map - (fun uu____8113 -> + (fun uu____8113 -> match uu____8113 with - | (bv, uu____8121) -> + | (bv,uu____8121) -> let uu____8126 = FStar_Syntax_Syntax.bv_to_name - bv in + bv + in FStar_All.pipe_right uu____8126 - FStar_Syntax_Syntax.as_arg)) in + FStar_Syntax_Syntax.as_arg)) + in let e = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (lbdef1, args)) FStar_Pervasives_Native.None - lbdef1.FStar_Syntax_Syntax.pos in + lbdef1.FStar_Syntax_Syntax.pos + in (lbname_, f_e, (lbtyp1, (tbinders, polytype)), false, e) | FStar_Syntax_Syntax.Tm_name uu____8156 -> let env = FStar_List.fold_left - (fun env -> - fun uu____8169 -> + (fun env -> + fun uu____8169 -> match uu____8169 with - | (a, uu____8177) -> + | (a,uu____8177) -> FStar_Extraction_ML_UEnv.extend_ty env a FStar_Pervasives_Native.None) - g tbinders in - let expected_t = term_as_mlty env tbody in + g tbinders + in + let expected_t = term_as_mlty env tbody in let polytype = let uu____8188 = FStar_All.pipe_right tbinders (FStar_List.map - (fun uu____8207 -> + (fun uu____8207 -> match uu____8207 with - | (x, uu____8216) -> + | (x,uu____8216) -> FStar_Extraction_ML_UEnv.bv_as_ml_tyvar - x)) in - (uu____8188, expected_t) in + x)) + in + (uu____8188, expected_t) in let args = FStar_All.pipe_right tbinders (FStar_List.map - (fun uu____8260 -> + (fun uu____8260 -> match uu____8260 with - | (bv, uu____8268) -> + | (bv,uu____8268) -> let uu____8273 = FStar_Syntax_Syntax.bv_to_name - bv in + bv + in FStar_All.pipe_right uu____8273 - FStar_Syntax_Syntax.as_arg)) in + FStar_Syntax_Syntax.as_arg)) + in let e = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (lbdef1, args)) FStar_Pervasives_Native.None - lbdef1.FStar_Syntax_Syntax.pos in + lbdef1.FStar_Syntax_Syntax.pos + in (lbname_, f_e, (lbtyp1, (tbinders, polytype)), false, e) | uu____8303 -> err_value_restriction lbdef1))) - | uu____8323 -> no_gen ()) in + | uu____8323 -> no_gen ()) + in FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs) (FStar_List.map maybe_generalize) + let (extract_lb_iface : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.letbindings -> (FStar_Extraction_ML_UEnv.uenv * (FStar_Syntax_Syntax.fv * FStar_Extraction_ML_UEnv.exp_binding) Prims.list)) = - fun g -> - fun lbs -> + fun g -> + fun lbs -> let is_top = - FStar_Syntax_Syntax.is_top_level (FStar_Pervasives_Native.snd lbs) in + FStar_Syntax_Syntax.is_top_level (FStar_Pervasives_Native.snd lbs) + in let is_rec = - (Prims.op_Negation is_top) && (FStar_Pervasives_Native.fst lbs) in - let lbs1 = extract_lb_sig g lbs in + (Prims.op_Negation is_top) && (FStar_Pervasives_Native.fst lbs) in + let lbs1 = extract_lb_sig g lbs in FStar_Util.fold_map - (fun env -> - fun uu____8474 -> + (fun env -> + fun uu____8474 -> match uu____8474 with - | (lbname, e_tag, (typ, (binders, mltyscheme)), add_unit, _body) - -> + | (lbname,e_tag,(typ,(binders,mltyscheme)),add_unit,_body) -> let uu____8535 = FStar_Extraction_ML_UEnv.extend_lb env lbname typ - mltyscheme add_unit is_rec in + mltyscheme add_unit is_rec + in (match uu____8535 with - | (env1, uu____8552, exp_binding) -> + | (env1,uu____8552,exp_binding) -> let uu____8556 = - let uu____8561 = FStar_Util.right lbname in - (uu____8561, exp_binding) in + let uu____8561 = FStar_Util.right lbname in + (uu____8561, exp_binding) in (env1, uu____8556))) g lbs1 + let rec (check_term_as_mlexpr : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.term -> @@ -2148,111 +2340,122 @@ let rec (check_term_as_mlexpr : (FStar_Extraction_ML_Syntax.mlexpr * FStar_Extraction_ML_Syntax.mlty)) = - fun g -> - fun e -> - fun f -> - fun ty -> + fun g -> + fun e -> + fun f -> + fun ty -> FStar_Extraction_ML_UEnv.debug g - (fun uu____8627 -> - let uu____8628 = FStar_Syntax_Print.term_to_string e in + (fun uu____8627 -> + let uu____8628 = FStar_Syntax_Print.term_to_string e in let uu____8630 = FStar_Extraction_ML_Code.string_of_mlty - g.FStar_Extraction_ML_UEnv.currentModule ty in + g.FStar_Extraction_ML_UEnv.currentModule ty + in FStar_Util.print2 "Checking %s at type %s\n" uu____8628 uu____8630); (match (f, ty) with - | (FStar_Extraction_ML_Syntax.E_GHOST, uu____8637) -> + | (FStar_Extraction_ML_Syntax.E_GHOST ,uu____8637) -> (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.MLTY_Erased) - | (FStar_Extraction_ML_Syntax.E_PURE, - FStar_Extraction_ML_Syntax.MLTY_Erased) -> + | (FStar_Extraction_ML_Syntax.E_PURE + ,FStar_Extraction_ML_Syntax.MLTY_Erased ) -> (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.MLTY_Erased) | uu____8638 -> - let uu____8643 = term_as_mlexpr g e in + let uu____8643 = term_as_mlexpr g e in (match uu____8643 with - | (ml_e, tag, t) -> - let uu____8657 = maybe_promote_effect ml_e tag t in + | (ml_e,tag,t) -> + let uu____8657 = maybe_promote_effect ml_e tag t in (match uu____8657 with - | (ml_e1, tag1) -> + | (ml_e1,tag1) -> let uu____8668 = - FStar_Extraction_ML_Util.eff_leq tag1 f in + FStar_Extraction_ML_Util.eff_leq tag1 f in if uu____8668 then let uu____8675 = maybe_coerce e.FStar_Syntax_Syntax.pos g ml_e1 t - ty in + ty + in (uu____8675, ty) else (match (tag1, f, ty) with - | (FStar_Extraction_ML_Syntax.E_GHOST, - FStar_Extraction_ML_Syntax.E_PURE, - FStar_Extraction_ML_Syntax.MLTY_Erased) -> + | (FStar_Extraction_ML_Syntax.E_GHOST + ,FStar_Extraction_ML_Syntax.E_PURE + ,FStar_Extraction_ML_Syntax.MLTY_Erased ) -> let uu____8682 = maybe_coerce e.FStar_Syntax_Syntax.pos g - ml_e1 t ty in + ml_e1 t ty + in (uu____8682, ty) | uu____8683 -> (err_unexpected_eff g e ty f tag1; (let uu____8691 = maybe_coerce e.FStar_Syntax_Syntax.pos g - ml_e1 t ty in + ml_e1 t ty + in (uu____8691, ty))))))) + and (term_as_mlexpr : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.term -> (FStar_Extraction_ML_Syntax.mlexpr * FStar_Extraction_ML_Syntax.e_tag * FStar_Extraction_ML_Syntax.mlty)) = - fun g -> - fun e -> - let uu____8694 = term_as_mlexpr' g e in + fun g -> + fun e -> + let uu____8694 = term_as_mlexpr' g e in match uu____8694 with - | (e1, f, t) -> - let uu____8710 = maybe_promote_effect e1 f t in - (match uu____8710 with | (e2, f1) -> (e2, f1, t)) + | (e1,f,t) -> + let uu____8710 = maybe_promote_effect e1 f t in + (match uu____8710 with | (e2,f1) -> (e2, f1, t)) + and (term_as_mlexpr' : FStar_Extraction_ML_UEnv.uenv -> FStar_Syntax_Syntax.term -> (FStar_Extraction_ML_Syntax.mlexpr * FStar_Extraction_ML_Syntax.e_tag * FStar_Extraction_ML_Syntax.mlty)) = - fun g -> - fun top -> + fun g -> + fun top -> FStar_Extraction_ML_UEnv.debug g - (fun u -> + (fun u -> let uu____8735 = let uu____8737 = - FStar_Range.string_of_range top.FStar_Syntax_Syntax.pos in - let uu____8739 = FStar_Syntax_Print.tag_of_term top in - let uu____8741 = FStar_Syntax_Print.term_to_string top in + FStar_Range.string_of_range top.FStar_Syntax_Syntax.pos in + let uu____8739 = FStar_Syntax_Print.tag_of_term top in + let uu____8741 = FStar_Syntax_Print.term_to_string top in FStar_Util.format3 "%s: term_as_mlexpr' (%s) : %s \n" - uu____8737 uu____8739 uu____8741 in + uu____8737 uu____8739 uu____8741 + in FStar_Util.print_string uu____8735); - (let t = FStar_Syntax_Subst.compress top in + (let t = FStar_Syntax_Subst.compress top in match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> let uu____8751 = - let uu____8753 = FStar_Syntax_Print.tag_of_term t in - FStar_Util.format1 "Impossible: Unexpected term: %s" uu____8753 in + let uu____8753 = FStar_Syntax_Print.tag_of_term t in + FStar_Util.format1 "Impossible: Unexpected term: %s" uu____8753 + in failwith uu____8751 | FStar_Syntax_Syntax.Tm_delayed uu____8762 -> let uu____8785 = - let uu____8787 = FStar_Syntax_Print.tag_of_term t in - FStar_Util.format1 "Impossible: Unexpected term: %s" uu____8787 in + let uu____8787 = FStar_Syntax_Print.tag_of_term t in + FStar_Util.format1 "Impossible: Unexpected term: %s" uu____8787 + in failwith uu____8785 | FStar_Syntax_Syntax.Tm_uvar uu____8796 -> let uu____8809 = - let uu____8811 = FStar_Syntax_Print.tag_of_term t in - FStar_Util.format1 "Impossible: Unexpected term: %s" uu____8811 in + let uu____8811 = FStar_Syntax_Print.tag_of_term t in + FStar_Util.format1 "Impossible: Unexpected term: %s" uu____8811 + in failwith uu____8809 | FStar_Syntax_Syntax.Tm_bvar uu____8820 -> let uu____8821 = - let uu____8823 = FStar_Syntax_Print.tag_of_term t in - FStar_Util.format1 "Impossible: Unexpected term: %s" uu____8823 in + let uu____8823 = FStar_Syntax_Print.tag_of_term t in + FStar_Util.format1 "Impossible: Unexpected term: %s" uu____8823 + in failwith uu____8821 | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____8833 = FStar_Syntax_Util.unfold_lazy i in + let uu____8833 = FStar_Syntax_Util.unfold_lazy i in term_as_mlexpr g uu____8833 | FStar_Syntax_Syntax.Tm_type uu____8834 -> (FStar_Extraction_ML_Syntax.ml_unit, @@ -2267,16 +2470,18 @@ and (term_as_mlexpr' : FStar_Extraction_ML_Syntax.E_PURE, FStar_Extraction_ML_Syntax.ml_unit_ty) | FStar_Syntax_Syntax.Tm_quoted - (qt, - { FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_dynamic; - FStar_Syntax_Syntax.antiquotes = uu____8858;_}) + (qt,{ + FStar_Syntax_Syntax.qkind = + FStar_Syntax_Syntax.Quote_dynamic ; + FStar_Syntax_Syntax.antiquotes = uu____8858;_}) -> let uu____8871 = let uu____8872 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.failwith_lid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - FStar_Extraction_ML_UEnv.lookup_fv g uu____8872 in + FStar_Pervasives_Native.None + in + FStar_Extraction_ML_UEnv.lookup_fv g uu____8872 in (match uu____8871 with | { FStar_Extraction_ML_UEnv.exp_b_name = uu____8879; FStar_Extraction_ML_UEnv.exp_b_expr = fw; @@ -2292,113 +2497,124 @@ and (term_as_mlexpr' : FStar_Extraction_ML_Syntax.ml_string_ty) (FStar_Extraction_ML_Syntax.MLE_Const (FStar_Extraction_ML_Syntax.MLC_String - "Cannot evaluate open quotation at runtime")) in - [uu____8897] in - (fw, uu____8894) in - FStar_Extraction_ML_Syntax.MLE_App uu____8887 in + "Cannot evaluate open quotation at runtime")) + in + [uu____8897] in + (fw, uu____8894) in + FStar_Extraction_ML_Syntax.MLE_App uu____8887 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.ml_int_ty) uu____8886 in + FStar_Extraction_ML_Syntax.ml_int_ty) uu____8886 + in (uu____8885, FStar_Extraction_ML_Syntax.E_PURE, FStar_Extraction_ML_Syntax.ml_int_ty)) | FStar_Syntax_Syntax.Tm_quoted - (qt, - { FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_static; - FStar_Syntax_Syntax.antiquotes = aqs;_}) + (qt,{ + FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_static ; + FStar_Syntax_Syntax.antiquotes = aqs;_}) -> - let uu____8915 = FStar_Reflection_Basic.inspect_ln qt in + let uu____8915 = FStar_Reflection_Basic.inspect_ln qt in (match uu____8915 with | FStar_Reflection_Data.Tv_Var bv -> - let uu____8923 = FStar_Syntax_Syntax.lookup_aq bv aqs in + let uu____8923 = FStar_Syntax_Syntax.lookup_aq bv aqs in (match uu____8923 with | FStar_Pervasives_Native.Some tm -> term_as_mlexpr g tm - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let tv = let uu____8934 = let uu____8941 = - FStar_Reflection_Embeddings.e_term_view_aq aqs in + FStar_Reflection_Embeddings.e_term_view_aq aqs in FStar_Syntax_Embeddings.embed uu____8941 - (FStar_Reflection_Data.Tv_Var bv) in + (FStar_Reflection_Data.Tv_Var bv) + in uu____8934 t.FStar_Syntax_Syntax.pos FStar_Pervasives_Native.None - FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings.id_norm_cb + in let t1 = let uu____8949 = - let uu____8960 = FStar_Syntax_Syntax.as_arg tv in - [uu____8960] in + let uu____8960 = FStar_Syntax_Syntax.as_arg tv in + [uu____8960] in FStar_Syntax_Util.mk_app (FStar_Reflection_Data.refl_constant_term FStar_Reflection_Data.fstar_refl_pack_ln) - uu____8949 in + uu____8949 + in term_as_mlexpr g t1) | tv -> let tv1 = let uu____8987 = let uu____8994 = - FStar_Reflection_Embeddings.e_term_view_aq aqs in - FStar_Syntax_Embeddings.embed uu____8994 tv in + FStar_Reflection_Embeddings.e_term_view_aq aqs in + FStar_Syntax_Embeddings.embed uu____8994 tv in uu____8987 t.FStar_Syntax_Syntax.pos FStar_Pervasives_Native.None - FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings.id_norm_cb + in let t1 = let uu____9002 = - let uu____9013 = FStar_Syntax_Syntax.as_arg tv1 in - [uu____9013] in + let uu____9013 = FStar_Syntax_Syntax.as_arg tv1 in + [uu____9013] in FStar_Syntax_Util.mk_app (FStar_Reflection_Data.refl_constant_term - FStar_Reflection_Data.fstar_refl_pack_ln) uu____9002 in + FStar_Reflection_Data.fstar_refl_pack_ln) uu____9002 + in term_as_mlexpr g t1) | FStar_Syntax_Syntax.Tm_meta - (t1, FStar_Syntax_Syntax.Meta_monadic (m, uu____9040)) -> - let t2 = FStar_Syntax_Subst.compress t1 in + (t1,FStar_Syntax_Syntax.Meta_monadic (m,uu____9040)) -> + let t2 = FStar_Syntax_Subst.compress t1 in (match t2.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), body) when + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),body) when FStar_Util.is_left lb.FStar_Syntax_Syntax.lbname -> let uu____9073 = let uu____9080 = FStar_TypeChecker_Env.effect_decl_opt - g.FStar_Extraction_ML_UEnv.env_tcenv m in - FStar_Util.must uu____9080 in + g.FStar_Extraction_ML_UEnv.env_tcenv m + in + FStar_Util.must uu____9080 in (match uu____9073 with - | (ed, qualifiers) -> + | (ed,qualifiers) -> let uu____9107 = let uu____9109 = FStar_TypeChecker_Env.is_reifiable_effect g.FStar_Extraction_ML_UEnv.env_tcenv - ed.FStar_Syntax_Syntax.mname in - Prims.op_Negation uu____9109 in + ed.FStar_Syntax_Syntax.mname + in + Prims.op_Negation uu____9109 in if uu____9107 then term_as_mlexpr g t2 else failwith "This should not happen (should have been handled at Tm_abs level)") | uu____9127 -> term_as_mlexpr g t2) - | FStar_Syntax_Syntax.Tm_meta (t1, uu____9129) -> term_as_mlexpr g t1 - | FStar_Syntax_Syntax.Tm_uinst (t1, uu____9135) -> term_as_mlexpr g t1 + | FStar_Syntax_Syntax.Tm_meta (t1,uu____9129) -> term_as_mlexpr g t1 + | FStar_Syntax_Syntax.Tm_uinst (t1,uu____9135) -> term_as_mlexpr g t1 | FStar_Syntax_Syntax.Tm_constant c -> let uu____9141 = FStar_TypeChecker_TcTerm.type_of_tot_term - g.FStar_Extraction_ML_UEnv.env_tcenv t in + g.FStar_Extraction_ML_UEnv.env_tcenv t + in (match uu____9141 with - | (uu____9154, ty, uu____9156) -> - let ml_ty = term_as_mlty g ty in + | (uu____9154,ty,uu____9156) -> + let ml_ty = term_as_mlty g ty in let uu____9158 = let uu____9159 = FStar_Extraction_ML_Util.mlexpr_of_const - t.FStar_Syntax_Syntax.pos c in - FStar_Extraction_ML_Syntax.with_ty ml_ty uu____9159 in + t.FStar_Syntax_Syntax.pos c + in + FStar_Extraction_ML_Syntax.with_ty ml_ty uu____9159 in (uu____9158, FStar_Extraction_ML_Syntax.E_PURE, ml_ty)) | FStar_Syntax_Syntax.Tm_name uu____9160 -> - let uu____9161 = is_type g t in + let uu____9161 = is_type g t in if uu____9161 then (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.E_PURE, FStar_Extraction_ML_Syntax.ml_unit_ty) else - (let uu____9172 = FStar_Extraction_ML_UEnv.lookup_term g t in + (let uu____9172 = FStar_Extraction_ML_UEnv.lookup_term g t in match uu____9172 with - | (FStar_Util.Inl uu____9185, uu____9186) -> + | (FStar_Util.Inl uu____9185,uu____9186) -> (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.E_PURE, FStar_Extraction_ML_Syntax.ml_unit_ty) @@ -2406,29 +2622,30 @@ and (term_as_mlexpr' : { FStar_Extraction_ML_UEnv.exp_b_name = uu____9191; FStar_Extraction_ML_UEnv.exp_b_expr = x; FStar_Extraction_ML_UEnv.exp_b_tscheme = mltys; - FStar_Extraction_ML_UEnv.exp_b_inst_ok = uu____9194;_}, - qual) -> + FStar_Extraction_ML_UEnv.exp_b_inst_ok = uu____9194;_},qual) + -> (match mltys with - | ([], t1) when t1 = FStar_Extraction_ML_Syntax.ml_unit_ty + | ([],t1) when t1 = FStar_Extraction_ML_Syntax.ml_unit_ty -> (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.E_PURE, t1) - | ([], t1) -> + | ([],t1) -> let uu____9212 = - maybe_eta_data_and_project_record g qual t1 x in + maybe_eta_data_and_project_record g qual t1 x in (uu____9212, FStar_Extraction_ML_Syntax.E_PURE, t1) | uu____9213 -> instantiate_maybe_partial x mltys [])) | FStar_Syntax_Syntax.Tm_fvar fv -> - let uu____9215 = is_type g t in + let uu____9215 = is_type g t in if uu____9215 then (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.E_PURE, FStar_Extraction_ML_Syntax.ml_unit_ty) else - (let uu____9226 = FStar_Extraction_ML_UEnv.try_lookup_fv g fv in + (let uu____9226 = FStar_Extraction_ML_UEnv.try_lookup_fv g fv + in match uu____9226 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.E_PURE, FStar_Extraction_ML_Syntax.MLTY_Erased) @@ -2439,127 +2656,137 @@ and (term_as_mlexpr' : FStar_Extraction_ML_UEnv.exp_b_inst_ok = uu____9238;_} -> (FStar_Extraction_ML_UEnv.debug g - (fun uu____9246 -> - let uu____9247 = FStar_Syntax_Print.fv_to_string fv in + (fun uu____9246 -> + let uu____9247 = FStar_Syntax_Print.fv_to_string fv + in let uu____9249 = FStar_Extraction_ML_Code.string_of_mlexpr - g.FStar_Extraction_ML_UEnv.currentModule x in + g.FStar_Extraction_ML_UEnv.currentModule x + in let uu____9251 = FStar_Extraction_ML_Code.string_of_mlty g.FStar_Extraction_ML_UEnv.currentModule - (FStar_Pervasives_Native.snd mltys) in + (FStar_Pervasives_Native.snd mltys) + in FStar_Util.print3 "looked up %s: got %s at %s \n" uu____9247 uu____9249 uu____9251); (match mltys with - | ([], t1) when - t1 = FStar_Extraction_ML_Syntax.ml_unit_ty -> + | ([],t1) when t1 = FStar_Extraction_ML_Syntax.ml_unit_ty + -> (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.E_PURE, t1) - | ([], t1) -> + | ([],t1) -> let uu____9264 = maybe_eta_data_and_project_record g - fv.FStar_Syntax_Syntax.fv_qual t1 x in + fv.FStar_Syntax_Syntax.fv_qual t1 x + in (uu____9264, FStar_Extraction_ML_Syntax.E_PURE, t1) | uu____9265 -> instantiate_maybe_partial x mltys []))) - | FStar_Syntax_Syntax.Tm_abs (bs, body, rcopt) -> - let uu____9293 = FStar_Syntax_Subst.open_term bs body in + | FStar_Syntax_Syntax.Tm_abs (bs,body,rcopt) -> + let uu____9293 = FStar_Syntax_Subst.open_term bs body in (match uu____9293 with - | (bs1, body1) -> - let uu____9306 = binders_as_ml_binders g bs1 in + | (bs1,body1) -> + let uu____9306 = binders_as_ml_binders g bs1 in (match uu____9306 with - | (ml_bs, env) -> + | (ml_bs,env) -> let body2 = match rcopt with | FStar_Pervasives_Native.Some rc -> let uu____9342 = FStar_TypeChecker_Env.is_reifiable_rc - env.FStar_Extraction_ML_UEnv.env_tcenv rc in + env.FStar_Extraction_ML_UEnv.env_tcenv rc + in if uu____9342 then FStar_TypeChecker_Util.reify_body env.FStar_Extraction_ML_UEnv.env_tcenv body1 else body1 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Extraction_ML_UEnv.debug g - (fun uu____9350 -> + (fun uu____9350 -> let uu____9351 = - FStar_Syntax_Print.term_to_string body1 in + FStar_Syntax_Print.term_to_string body1 + in FStar_Util.print1 "No computation type for: %s\n" uu____9351); - body1) in - let uu____9354 = term_as_mlexpr env body2 in + body1) + in + let uu____9354 = term_as_mlexpr env body2 in (match uu____9354 with - | (ml_body, f, t1) -> + | (ml_body,f,t1) -> let uu____9370 = FStar_List.fold_right - (fun uu____9390 -> - fun uu____9391 -> + (fun uu____9390 -> + fun uu____9391 -> match (uu____9390, uu____9391) with - | ((uu____9414, targ), (f1, t2)) -> + | ((uu____9414,targ),(f1,t2)) -> (FStar_Extraction_ML_Syntax.E_PURE, (FStar_Extraction_ML_Syntax.MLTY_Fun - (targ, f1, t2)))) ml_bs (f, t1) in + (targ, f1, t2)))) ml_bs (f, t1) + in (match uu____9370 with - | (f1, tfun) -> + | (f1,tfun) -> let uu____9437 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty tfun) (FStar_Extraction_ML_Syntax.MLE_Fun - (ml_bs, ml_body)) in + (ml_bs, ml_body)) + in (uu____9437, f1, tfun))))) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_range_of); + (FStar_Const.Const_range_of ); FStar_Syntax_Syntax.pos = uu____9445; - FStar_Syntax_Syntax.vars = uu____9446;_}, - (a1, uu____9448)::[]) + FStar_Syntax_Syntax.vars = uu____9446;_},(a1,uu____9448)::[]) -> let ty = let uu____9488 = - FStar_Syntax_Syntax.tabbrev FStar_Parser_Const.range_lid in - term_as_mlty g uu____9488 in + FStar_Syntax_Syntax.tabbrev FStar_Parser_Const.range_lid in + term_as_mlty g uu____9488 in let uu____9489 = let uu____9490 = FStar_Extraction_ML_Util.mlexpr_of_range - a1.FStar_Syntax_Syntax.pos in + a1.FStar_Syntax_Syntax.pos + in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty ty) - uu____9490 in + uu____9490 + in (uu____9489, FStar_Extraction_ML_Syntax.E_PURE, ty) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_set_range_of); + (FStar_Const.Const_set_range_of ); FStar_Syntax_Syntax.pos = uu____9491; - FStar_Syntax_Syntax.vars = uu____9492;_}, - (t1, uu____9494)::(r, uu____9496)::[]) + FStar_Syntax_Syntax.vars = uu____9492;_},(t1,uu____9494):: + (r,uu____9496)::[]) -> term_as_mlexpr g t1 | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reflect uu____9551); FStar_Syntax_Syntax.pos = uu____9552; - FStar_Syntax_Syntax.vars = uu____9553;_}, - uu____9554) + FStar_Syntax_Syntax.vars = uu____9553;_},uu____9554) -> failwith "Unreachable? Tm_app Const_reflect" - | FStar_Syntax_Syntax.Tm_app (head1, args) -> + | FStar_Syntax_Syntax.Tm_app (head1,args) -> let is_total rc = (FStar_Ident.lid_equals rc.FStar_Syntax_Syntax.residual_effect FStar_Parser_Const.effect_Tot_lid) || (FStar_All.pipe_right rc.FStar_Syntax_Syntax.residual_flags (FStar_List.existsb - (fun uu___1_9623 -> + (fun uu___1_9623 -> match uu___1_9623 with - | FStar_Syntax_Syntax.TOTAL -> true - | uu____9626 -> false))) in + | FStar_Syntax_Syntax.TOTAL -> true + | uu____9626 -> false))) + in let uu____9628 = let uu____9633 = - let uu____9634 = FStar_Syntax_Subst.compress head1 in - uu____9634.FStar_Syntax_Syntax.n in - ((head1.FStar_Syntax_Syntax.n), uu____9633) in + let uu____9634 = FStar_Syntax_Subst.compress head1 in + uu____9634.FStar_Syntax_Syntax.n in + ((head1.FStar_Syntax_Syntax.n), uu____9633) in (match uu____9628 with - | (FStar_Syntax_Syntax.Tm_uvar uu____9643, uu____9644) -> + | (FStar_Syntax_Syntax.Tm_uvar uu____9643,uu____9644) -> let t1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; @@ -2567,10 +2794,11 @@ and (term_as_mlexpr' : FStar_TypeChecker_Env.Zeta; FStar_TypeChecker_Env.EraseUniverses; FStar_TypeChecker_Env.AllowUnboundUniverses] - g.FStar_Extraction_ML_UEnv.env_tcenv t in + g.FStar_Extraction_ML_UEnv.env_tcenv t + in term_as_mlexpr g t1 - | (uu____9658, FStar_Syntax_Syntax.Tm_abs - (bs, uu____9660, FStar_Pervasives_Native.Some rc)) when + | (uu____9658,FStar_Syntax_Syntax.Tm_abs + (bs,uu____9660,FStar_Pervasives_Native.Some rc)) when is_total rc -> let t1 = FStar_TypeChecker_Normalize.normalize @@ -2579,62 +2807,71 @@ and (term_as_mlexpr' : FStar_TypeChecker_Env.Zeta; FStar_TypeChecker_Env.EraseUniverses; FStar_TypeChecker_Env.AllowUnboundUniverses] - g.FStar_Extraction_ML_UEnv.env_tcenv t in + g.FStar_Extraction_ML_UEnv.env_tcenv t + in term_as_mlexpr g t1 - | (uu____9685, FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reify)) -> + | (uu____9685,FStar_Syntax_Syntax.Tm_constant + (FStar_Const.Const_reify )) -> let e = - let uu____9687 = FStar_List.hd args in + let uu____9687 = FStar_List.hd args in FStar_TypeChecker_Util.reify_body_with_arg - g.FStar_Extraction_ML_UEnv.env_tcenv head1 uu____9687 in + g.FStar_Extraction_ML_UEnv.env_tcenv head1 uu____9687 + in let tm = let uu____9699 = - let uu____9704 = FStar_TypeChecker_Util.remove_reify e in - let uu____9705 = FStar_List.tl args in - FStar_Syntax_Syntax.mk_Tm_app uu____9704 uu____9705 in + let uu____9704 = FStar_TypeChecker_Util.remove_reify e + in + let uu____9705 = FStar_List.tl args in + FStar_Syntax_Syntax.mk_Tm_app uu____9704 uu____9705 in uu____9699 FStar_Pervasives_Native.None - t.FStar_Syntax_Syntax.pos in + t.FStar_Syntax_Syntax.pos + in term_as_mlexpr g tm | uu____9714 -> let rec extract_app is_data uu____9767 uu____9768 restArgs = match (uu____9767, uu____9768) with - | ((mlhead, mlargs_f), (f, t1)) -> + | ((mlhead,mlargs_f),(f,t1)) -> let mk_head uu____9849 = let mlargs = FStar_All.pipe_right (FStar_List.rev mlargs_f) - (FStar_List.map FStar_Pervasives_Native.fst) in + (FStar_List.map FStar_Pervasives_Native.fst) + in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty t1) (FStar_Extraction_ML_Syntax.MLE_App - (mlhead, mlargs)) in + (mlhead, mlargs)) + in (FStar_Extraction_ML_UEnv.debug g - (fun uu____9876 -> + (fun uu____9876 -> let uu____9877 = - let uu____9879 = mk_head () in + let uu____9879 = mk_head () in FStar_Extraction_ML_Code.string_of_mlexpr g.FStar_Extraction_ML_UEnv.currentModule - uu____9879 in + uu____9879 + in let uu____9880 = FStar_Extraction_ML_Code.string_of_mlty - g.FStar_Extraction_ML_UEnv.currentModule t1 in + g.FStar_Extraction_ML_UEnv.currentModule t1 + in let uu____9882 = match restArgs with | [] -> "none" - | (hd1, uu____9893)::uu____9894 -> - FStar_Syntax_Print.term_to_string hd1 in + | (hd1,uu____9893)::uu____9894 -> + FStar_Syntax_Print.term_to_string hd1 + in FStar_Util.print3 "extract_app ml_head=%s type of head = %s, next arg = %s\n" uu____9877 uu____9880 uu____9882); (match (restArgs, t1) with - | ([], uu____9928) -> + | ([],uu____9928) -> let app = - let uu____9944 = mk_head () in + let uu____9944 = mk_head () in maybe_eta_data_and_project_record g is_data t1 - uu____9944 in + uu____9944 + in (app, f, t1) - | ((arg, uu____9946)::rest, - FStar_Extraction_ML_Syntax.MLTY_Fun - (formal_t, f', t2)) when + | ((arg,uu____9946)::rest,FStar_Extraction_ML_Syntax.MLTY_Fun + (formal_t,f',t2)) when (is_type g arg) && (type_leq g formal_t FStar_Extraction_ML_Syntax.ml_unit_ty) @@ -2642,77 +2879,85 @@ and (term_as_mlexpr' : let uu____9977 = let uu____9982 = FStar_Extraction_ML_Util.join - arg.FStar_Syntax_Syntax.pos f f' in - (uu____9982, t2) in + arg.FStar_Syntax_Syntax.pos f f' + in + (uu____9982, t2) in extract_app is_data (mlhead, ((FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.E_PURE) :: mlargs_f)) uu____9977 rest - | ((e0, uu____9994)::rest, - FStar_Extraction_ML_Syntax.MLTY_Fun - (tExpected, f', t2)) -> - let r = e0.FStar_Syntax_Syntax.pos in + | ((e0,uu____9994)::rest,FStar_Extraction_ML_Syntax.MLTY_Fun + (tExpected,f',t2)) -> + let r = e0.FStar_Syntax_Syntax.pos in let expected_effect = let uu____10027 = (FStar_Options.lax ()) && (FStar_TypeChecker_Util.short_circuit_head - head1) in + head1) + in if uu____10027 then FStar_Extraction_ML_Syntax.E_IMPURE - else FStar_Extraction_ML_Syntax.E_PURE in + else FStar_Extraction_ML_Syntax.E_PURE in let uu____10032 = check_term_as_mlexpr g e0 expected_effect - tExpected in + tExpected + in (match uu____10032 with - | (e01, tInferred) -> + | (e01,tInferred) -> let uu____10045 = let uu____10050 = FStar_Extraction_ML_Util.join_l r - [f; f'] in - (uu____10050, t2) in + [f; f'] + in + (uu____10050, t2) in extract_app is_data (mlhead, ((e01, expected_effect) :: mlargs_f)) uu____10045 rest) | uu____10061 -> let uu____10074 = - FStar_Extraction_ML_Util.udelta_unfold g t1 in + FStar_Extraction_ML_Util.udelta_unfold g t1 in (match uu____10074 with | FStar_Pervasives_Native.Some t2 -> extract_app is_data (mlhead, mlargs_f) (f, t2) restArgs - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (match t1 with - | FStar_Extraction_ML_Syntax.MLTY_Erased -> + | FStar_Extraction_ML_Syntax.MLTY_Erased + -> (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.E_PURE, t1) - | FStar_Extraction_ML_Syntax.MLTY_Top -> + | FStar_Extraction_ML_Syntax.MLTY_Top -> let t2 = FStar_List.fold_right - (fun t2 -> - fun out -> + (fun t2 -> + fun out -> FStar_Extraction_ML_Syntax.MLTY_Fun (FStar_Extraction_ML_Syntax.MLTY_Top, FStar_Extraction_ML_Syntax.E_PURE, out)) restArgs - FStar_Extraction_ML_Syntax.MLTY_Top in + FStar_Extraction_ML_Syntax.MLTY_Top + in let mlhead1 = let mlargs = FStar_All.pipe_right (FStar_List.rev mlargs_f) (FStar_List.map - FStar_Pervasives_Native.fst) in + FStar_Pervasives_Native.fst) + in let head2 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top) (FStar_Extraction_ML_Syntax.MLE_App - (mlhead, mlargs)) in + (mlhead, mlargs)) + in maybe_coerce top.FStar_Syntax_Syntax.pos g head2 FStar_Extraction_ML_Syntax.MLTY_Top - t2 in + t2 + in extract_app is_data (mlhead1, []) (f, t2) restArgs | uu____10146 -> @@ -2721,70 +2966,79 @@ and (term_as_mlexpr' : FStar_All.pipe_right (FStar_List.rev mlargs_f) (FStar_List.map - FStar_Pervasives_Native.fst) in + FStar_Pervasives_Native.fst) + in let head2 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top) (FStar_Extraction_ML_Syntax.MLE_App - (mlhead, mlargs)) in + (mlhead, mlargs)) + in maybe_coerce top.FStar_Syntax_Syntax.pos g head2 FStar_Extraction_ML_Syntax.MLTY_Top - t1 in + t1 + in err_ill_typed_application g top mlhead1 - restArgs t1)))) in + restArgs t1)))) + in let extract_app_maybe_projector is_data mlhead uu____10217 args1 = match uu____10217 with - | (f, t1) -> + | (f,t1) -> (match is_data with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_projector uu____10247) -> let rec remove_implicits args2 f1 t2 = match (args2, t2) with - | ((a0, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____10331))::args3, - FStar_Extraction_ML_Syntax.MLTY_Fun - (uu____10333, f', t3)) -> + | ((a0,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit uu____10331))::args3,FStar_Extraction_ML_Syntax.MLTY_Fun + (uu____10333,f',t3)) -> let uu____10371 = FStar_Extraction_ML_Util.join - a0.FStar_Syntax_Syntax.pos f1 f' in + a0.FStar_Syntax_Syntax.pos f1 f' + in remove_implicits args3 uu____10371 t3 - | uu____10372 -> (args2, f1, t2) in - let uu____10397 = remove_implicits args1 f t1 in + | uu____10372 -> (args2, f1, t2) in + let uu____10397 = remove_implicits args1 f t1 in (match uu____10397 with - | (args2, f1, t2) -> + | (args2,f1,t2) -> extract_app is_data (mlhead, []) (f1, t2) args2) | uu____10453 -> - extract_app is_data (mlhead, []) (f, t1) args1) in + extract_app is_data (mlhead, []) (f, t1) args1) + in let extract_app_with_instantiations uu____10477 = - let head2 = FStar_Syntax_Util.un_uinst head1 in + let head2 = FStar_Syntax_Util.un_uinst head1 in match head2.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_name uu____10485 -> let uu____10486 = let uu____10507 = - FStar_Extraction_ML_UEnv.lookup_term g head2 in + FStar_Extraction_ML_UEnv.lookup_term g head2 in match uu____10507 with - | (FStar_Util.Inr exp_b, q) -> + | (FStar_Util.Inr exp_b,q) -> (FStar_Extraction_ML_UEnv.debug g - (fun uu____10546 -> + (fun uu____10546 -> let uu____10547 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 + in let uu____10549 = FStar_Extraction_ML_Code.string_of_mlexpr g.FStar_Extraction_ML_UEnv.currentModule - exp_b.FStar_Extraction_ML_UEnv.exp_b_expr in + exp_b.FStar_Extraction_ML_UEnv.exp_b_expr + in let uu____10551 = FStar_Extraction_ML_Code.string_of_mlty g.FStar_Extraction_ML_UEnv.currentModule (FStar_Pervasives_Native.snd - exp_b.FStar_Extraction_ML_UEnv.exp_b_tscheme) in + exp_b.FStar_Extraction_ML_UEnv.exp_b_tscheme) + in let uu____10553 = FStar_Util.string_of_bool - exp_b.FStar_Extraction_ML_UEnv.exp_b_inst_ok in + exp_b.FStar_Extraction_ML_UEnv.exp_b_inst_ok + in FStar_Util.print4 "@@@looked up %s: got %s at %s (inst_ok=%s)\n" uu____10547 uu____10549 uu____10551 @@ -2793,45 +3047,48 @@ and (term_as_mlexpr' : (exp_b.FStar_Extraction_ML_UEnv.exp_b_tscheme), (exp_b.FStar_Extraction_ML_UEnv.exp_b_inst_ok)), q)) - | uu____10580 -> failwith "FIXME Ty" in + | uu____10580 -> failwith "FIXME Ty" in (match uu____10486 with - | ((head_ml, (vars, t1), inst_ok), qual) -> + | ((head_ml,(vars,t1),inst_ok),qual) -> let has_typ_apps = match args with - | (a, uu____10656)::uu____10657 -> is_type g a - | uu____10684 -> false in + | (a,uu____10656)::uu____10657 -> is_type g a + | uu____10684 -> false in let uu____10696 = match vars with | uu____10725::uu____10726 when (Prims.op_Negation has_typ_apps) && inst_ok -> (head_ml, t1, args) | uu____10740 -> - let n1 = FStar_List.length vars in + let n1 = FStar_List.length vars in let uu____10746 = if (FStar_List.length args) <= n1 then let uu____10784 = FStar_List.map - (fun uu____10796 -> + (fun uu____10796 -> match uu____10796 with - | (x, uu____10804) -> - term_as_mlty g x) args in + | (x,uu____10804) -> + term_as_mlty g x) args + in (uu____10784, []) else (let uu____10827 = - FStar_Util.first_N n1 args in + FStar_Util.first_N n1 args in match uu____10827 with - | (prefix1, rest) -> + | (prefix1,rest) -> let uu____10916 = FStar_List.map - (fun uu____10928 -> + (fun uu____10928 -> match uu____10928 with - | (x, uu____10936) -> + | (x,uu____10936) -> term_as_mlty g x) - prefix1 in - (uu____10916, rest)) in + prefix1 + in + (uu____10916, rest)) + in (match uu____10746 with - | (provided_type_args, rest) -> + | (provided_type_args,rest) -> let uu____10987 = match head_ml.FStar_Extraction_ML_Syntax.expr with @@ -2840,56 +3097,63 @@ and (term_as_mlexpr' : let uu____10997 = instantiate_maybe_partial head_ml (vars, t1) - provided_type_args in + provided_type_args + in (match uu____10997 with - | (head3, uu____11009, t2) -> + | (head3,uu____11009,t2) -> (head3, t2)) | FStar_Extraction_ML_Syntax.MLE_Var uu____11011 -> let uu____11013 = instantiate_maybe_partial head_ml (vars, t1) - provided_type_args in + provided_type_args + in (match uu____11013 with - | (head3, uu____11025, t2) -> + | (head3,uu____11025,t2) -> (head3, t2)) | FStar_Extraction_ML_Syntax.MLE_App - (head3, - { - FStar_Extraction_ML_Syntax.expr - = - FStar_Extraction_ML_Syntax.MLE_Const - (FStar_Extraction_ML_Syntax.MLC_Unit); - FStar_Extraction_ML_Syntax.mlty - = uu____11028; - FStar_Extraction_ML_Syntax.loc - = uu____11029;_}::[]) + (head3,{ + FStar_Extraction_ML_Syntax.expr + = + FStar_Extraction_ML_Syntax.MLE_Const + (FStar_Extraction_ML_Syntax.MLC_Unit + ); + FStar_Extraction_ML_Syntax.mlty + = uu____11028; + FStar_Extraction_ML_Syntax.loc + = uu____11029;_}::[]) -> let uu____11032 = instantiate_maybe_partial head3 - (vars, t1) provided_type_args in + (vars, t1) provided_type_args + in (match uu____11032 with - | (head4, uu____11044, t2) -> + | (head4,uu____11044,t2) -> let uu____11046 = FStar_All.pipe_right (FStar_Extraction_ML_Syntax.MLE_App (head4, [FStar_Extraction_ML_Syntax.ml_unit])) (FStar_Extraction_ML_Syntax.with_ty - t2) in + t2) + in (uu____11046, t2)) | uu____11049 -> failwith - "Impossible: Unexpected head term" in + "Impossible: Unexpected head term" + in (match uu____10987 with - | (head3, t2) -> (head3, t2, rest))) in + | (head3,t2) -> (head3, t2, rest))) + in (match uu____10696 with - | (head_ml1, head_t, args1) -> + | (head_ml1,head_t,args1) -> (match args1 with | [] -> let uu____11116 = maybe_eta_data_and_project_record g - qual head_t head_ml1 in + qual head_t head_ml1 + in (uu____11116, FStar_Extraction_ML_Syntax.E_PURE, head_t) @@ -2901,25 +3165,29 @@ and (term_as_mlexpr' : | FStar_Syntax_Syntax.Tm_fvar uu____11126 -> let uu____11127 = let uu____11148 = - FStar_Extraction_ML_UEnv.lookup_term g head2 in + FStar_Extraction_ML_UEnv.lookup_term g head2 in match uu____11148 with - | (FStar_Util.Inr exp_b, q) -> + | (FStar_Util.Inr exp_b,q) -> (FStar_Extraction_ML_UEnv.debug g - (fun uu____11187 -> + (fun uu____11187 -> let uu____11188 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 + in let uu____11190 = FStar_Extraction_ML_Code.string_of_mlexpr g.FStar_Extraction_ML_UEnv.currentModule - exp_b.FStar_Extraction_ML_UEnv.exp_b_expr in + exp_b.FStar_Extraction_ML_UEnv.exp_b_expr + in let uu____11192 = FStar_Extraction_ML_Code.string_of_mlty g.FStar_Extraction_ML_UEnv.currentModule (FStar_Pervasives_Native.snd - exp_b.FStar_Extraction_ML_UEnv.exp_b_tscheme) in + exp_b.FStar_Extraction_ML_UEnv.exp_b_tscheme) + in let uu____11194 = FStar_Util.string_of_bool - exp_b.FStar_Extraction_ML_UEnv.exp_b_inst_ok in + exp_b.FStar_Extraction_ML_UEnv.exp_b_inst_ok + in FStar_Util.print4 "@@@looked up %s: got %s at %s (inst_ok=%s)\n" uu____11188 uu____11190 uu____11192 @@ -2928,45 +3196,48 @@ and (term_as_mlexpr' : (exp_b.FStar_Extraction_ML_UEnv.exp_b_tscheme), (exp_b.FStar_Extraction_ML_UEnv.exp_b_inst_ok)), q)) - | uu____11221 -> failwith "FIXME Ty" in + | uu____11221 -> failwith "FIXME Ty" in (match uu____11127 with - | ((head_ml, (vars, t1), inst_ok), qual) -> + | ((head_ml,(vars,t1),inst_ok),qual) -> let has_typ_apps = match args with - | (a, uu____11297)::uu____11298 -> is_type g a - | uu____11325 -> false in + | (a,uu____11297)::uu____11298 -> is_type g a + | uu____11325 -> false in let uu____11337 = match vars with | uu____11366::uu____11367 when (Prims.op_Negation has_typ_apps) && inst_ok -> (head_ml, t1, args) | uu____11381 -> - let n1 = FStar_List.length vars in + let n1 = FStar_List.length vars in let uu____11387 = if (FStar_List.length args) <= n1 then let uu____11425 = FStar_List.map - (fun uu____11437 -> + (fun uu____11437 -> match uu____11437 with - | (x, uu____11445) -> - term_as_mlty g x) args in + | (x,uu____11445) -> + term_as_mlty g x) args + in (uu____11425, []) else (let uu____11468 = - FStar_Util.first_N n1 args in + FStar_Util.first_N n1 args in match uu____11468 with - | (prefix1, rest) -> + | (prefix1,rest) -> let uu____11557 = FStar_List.map - (fun uu____11569 -> + (fun uu____11569 -> match uu____11569 with - | (x, uu____11577) -> + | (x,uu____11577) -> term_as_mlty g x) - prefix1 in - (uu____11557, rest)) in + prefix1 + in + (uu____11557, rest)) + in (match uu____11387 with - | (provided_type_args, rest) -> + | (provided_type_args,rest) -> let uu____11628 = match head_ml.FStar_Extraction_ML_Syntax.expr with @@ -2975,56 +3246,63 @@ and (term_as_mlexpr' : let uu____11638 = instantiate_maybe_partial head_ml (vars, t1) - provided_type_args in + provided_type_args + in (match uu____11638 with - | (head3, uu____11650, t2) -> + | (head3,uu____11650,t2) -> (head3, t2)) | FStar_Extraction_ML_Syntax.MLE_Var uu____11652 -> let uu____11654 = instantiate_maybe_partial head_ml (vars, t1) - provided_type_args in + provided_type_args + in (match uu____11654 with - | (head3, uu____11666, t2) -> + | (head3,uu____11666,t2) -> (head3, t2)) | FStar_Extraction_ML_Syntax.MLE_App - (head3, - { - FStar_Extraction_ML_Syntax.expr - = - FStar_Extraction_ML_Syntax.MLE_Const - (FStar_Extraction_ML_Syntax.MLC_Unit); - FStar_Extraction_ML_Syntax.mlty - = uu____11669; - FStar_Extraction_ML_Syntax.loc - = uu____11670;_}::[]) + (head3,{ + FStar_Extraction_ML_Syntax.expr + = + FStar_Extraction_ML_Syntax.MLE_Const + (FStar_Extraction_ML_Syntax.MLC_Unit + ); + FStar_Extraction_ML_Syntax.mlty + = uu____11669; + FStar_Extraction_ML_Syntax.loc + = uu____11670;_}::[]) -> let uu____11673 = instantiate_maybe_partial head3 - (vars, t1) provided_type_args in + (vars, t1) provided_type_args + in (match uu____11673 with - | (head4, uu____11685, t2) -> + | (head4,uu____11685,t2) -> let uu____11687 = FStar_All.pipe_right (FStar_Extraction_ML_Syntax.MLE_App (head4, [FStar_Extraction_ML_Syntax.ml_unit])) (FStar_Extraction_ML_Syntax.with_ty - t2) in + t2) + in (uu____11687, t2)) | uu____11690 -> failwith - "Impossible: Unexpected head term" in + "Impossible: Unexpected head term" + in (match uu____11628 with - | (head3, t2) -> (head3, t2, rest))) in + | (head3,t2) -> (head3, t2, rest))) + in (match uu____11337 with - | (head_ml1, head_t, args1) -> + | (head_ml1,head_t,args1) -> (match args1 with | [] -> let uu____11757 = maybe_eta_data_and_project_record g - qual head_t head_ml1 in + qual head_t head_ml1 + in (uu____11757, FStar_Extraction_ML_Syntax.E_PURE, head_t) @@ -3034,12 +3312,13 @@ and (term_as_mlexpr' : (FStar_Extraction_ML_Syntax.E_PURE, head_t) args1))) | uu____11767 -> - let uu____11768 = term_as_mlexpr g head2 in + let uu____11768 = term_as_mlexpr g head2 in (match uu____11768 with - | (head3, f, t1) -> + | (head3,f,t1) -> extract_app_maybe_projector - FStar_Pervasives_Native.None head3 (f, t1) args) in - let uu____11784 = is_type g t in + FStar_Pervasives_Native.None head3 (f, t1) args) + in + let uu____11784 = is_type g t in if uu____11784 then (FStar_Extraction_ML_Syntax.ml_unit, @@ -3047,49 +3326,50 @@ and (term_as_mlexpr' : FStar_Extraction_ML_Syntax.ml_unit_ty) else (let uu____11795 = - let uu____11796 = FStar_Syntax_Util.un_uinst head1 in - uu____11796.FStar_Syntax_Syntax.n in + let uu____11796 = FStar_Syntax_Util.un_uinst head1 in + uu____11796.FStar_Syntax_Syntax.n in match uu____11795 with | FStar_Syntax_Syntax.Tm_fvar fv -> let uu____11806 = - FStar_Extraction_ML_UEnv.try_lookup_fv g fv in + FStar_Extraction_ML_UEnv.try_lookup_fv g fv in (match uu____11806 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.E_PURE, FStar_Extraction_ML_Syntax.MLTY_Erased) | uu____11815 -> extract_app_with_instantiations ()) | uu____11818 -> extract_app_with_instantiations ())) - | FStar_Syntax_Syntax.Tm_ascribed (e0, (tc, uu____11821), f) -> + | FStar_Syntax_Syntax.Tm_ascribed (e0,(tc,uu____11821),f) -> let t1 = match tc with | FStar_Util.Inl t1 -> term_as_mlty g t1 | FStar_Util.Inr c -> - term_as_mlty g (FStar_Syntax_Util.comp_result c) in + term_as_mlty g (FStar_Syntax_Util.comp_result c) + in let f1 = match f with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> failwith "Ascription node with an empty effect label" - | FStar_Pervasives_Native.Some l -> effect_as_etag g l in - let uu____11889 = check_term_as_mlexpr g e0 f1 t1 in - (match uu____11889 with | (e, t2) -> (e, f1, t2)) - | FStar_Syntax_Syntax.Tm_let ((is_rec, lbs), e') -> - let top_level = FStar_Syntax_Syntax.is_top_level lbs in + | FStar_Pervasives_Native.Some l -> effect_as_etag g l in + let uu____11889 = check_term_as_mlexpr g e0 f1 t1 in + (match uu____11889 with | (e,t2) -> (e, f1, t2)) + | FStar_Syntax_Syntax.Tm_let ((is_rec,lbs),e') -> + let top_level = FStar_Syntax_Syntax.is_top_level lbs in let uu____11924 = if is_rec then FStar_Syntax_Subst.open_let_rec lbs e' else - (let uu____11940 = FStar_Syntax_Syntax.is_top_level lbs in + (let uu____11940 = FStar_Syntax_Syntax.is_top_level lbs in if uu____11940 then (lbs, e') else - (let lb = FStar_List.hd lbs in + (let lb = FStar_List.hd lbs in let x = let uu____11955 = - FStar_Util.left lb.FStar_Syntax_Syntax.lbname in - FStar_Syntax_Syntax.freshen_bv uu____11955 in + FStar_Util.left lb.FStar_Syntax_Syntax.lbname in + FStar_Syntax_Syntax.freshen_bv uu____11955 in let lb1 = - let uu___1710_11957 = lb in + let uu___1710_11957 = lb in { FStar_Syntax_Syntax.lbname = (FStar_Util.Inl x); FStar_Syntax_Syntax.lbunivs = @@ -3104,19 +3384,21 @@ and (term_as_mlexpr' : (uu___1710_11957.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___1710_11957.FStar_Syntax_Syntax.lbpos) - } in + } in let e'1 = FStar_Syntax_Subst.subst - [FStar_Syntax_Syntax.DB ((Prims.parse_int "0"), x)] e' in - ([lb1], e'1))) in + [FStar_Syntax_Syntax.DB ((Prims.parse_int "0"), x)] e' + in + ([lb1], e'1))) + in (match uu____11924 with - | (lbs1, e'1) -> + | (lbs1,e'1) -> let lbs2 = if top_level then FStar_All.pipe_right lbs1 (FStar_List.map - (fun lb -> + (fun lb -> let tcenv = let uu____11991 = FStar_Ident.lid_of_path @@ -3125,12 +3407,14 @@ and (term_as_mlexpr' : g.FStar_Extraction_ML_UEnv.currentModule) [FStar_Pervasives_Native.snd g.FStar_Extraction_ML_UEnv.currentModule]) - FStar_Range.dummyRange in + FStar_Range.dummyRange + in FStar_TypeChecker_Env.set_current_module g.FStar_Extraction_ML_UEnv.env_tcenv - uu____11991 in + uu____11991 + in let lbdef = - let uu____12006 = FStar_Options.ml_ish () in + let uu____12006 = FStar_Options.ml_ish () in if uu____12006 then lb.FStar_Syntax_Syntax.lbdef else @@ -3138,7 +3422,8 @@ and (term_as_mlexpr' : FStar_TypeChecker_Normalize.normalize (FStar_TypeChecker_Env.PureSubtermsWithinComputations :: extraction_norm_steps) tcenv - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in let uu____12019 = (FStar_All.pipe_left (FStar_TypeChecker_Env.debug tcenv) @@ -3146,15 +3431,18 @@ and (term_as_mlexpr' : || (FStar_All.pipe_left (FStar_TypeChecker_Env.debug tcenv) - (FStar_Options.Other "ExtractNorm")) in + (FStar_Options.Other "ExtractNorm")) + in if uu____12019 then ((let uu____12029 = FStar_Syntax_Print.lbname_to_string - lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbname + in let uu____12031 = FStar_Syntax_Print.term_to_string - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in FStar_Util.print2 "Starting to normalize top-level let %s)\n\tlbdef=%s" uu____12029 uu____12031); @@ -3162,19 +3450,24 @@ and (term_as_mlexpr' : let uu____12037 = let uu____12039 = FStar_Syntax_Print.lbname_to_string - lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbname + in FStar_Util.format1 "###(Time to normalize top-level let %s)" - uu____12039 in + uu____12039 + in FStar_Util.measure_execution_time - uu____12037 norm_call in + uu____12037 norm_call + in (let uu____12045 = - FStar_Syntax_Print.term_to_string a in + FStar_Syntax_Print.term_to_string a + in FStar_Util.print1 "Normalized to %s\n" uu____12045); a)) - else norm_call ()) in - let uu___1728_12050 = lb in + else norm_call ()) + in + let uu___1728_12050 = lb in { FStar_Syntax_Syntax.lbname = (uu___1728_12050.FStar_Syntax_Syntax.lbname); @@ -3190,37 +3483,38 @@ and (term_as_mlexpr' : FStar_Syntax_Syntax.lbpos = (uu___1728_12050.FStar_Syntax_Syntax.lbpos) })) - else lbs1 in + else lbs1 in let check_lb env uu____12103 = match uu____12103 with - | (nm, (_lbname, f, (_t, (targs, polytype)), add_unit, e)) - -> + | (nm,(_lbname,f,(_t,(targs,polytype)),add_unit,e)) -> let env1 = FStar_List.fold_left - (fun env1 -> - fun uu____12259 -> + (fun env1 -> + fun uu____12259 -> match uu____12259 with - | (a, uu____12267) -> + | (a,uu____12267) -> FStar_Extraction_ML_UEnv.extend_ty env1 a - FStar_Pervasives_Native.None) env targs in - let expected_t = FStar_Pervasives_Native.snd polytype in + FStar_Pervasives_Native.None) env targs + in + let expected_t = FStar_Pervasives_Native.snd polytype + in let uu____12273 = - check_term_as_mlexpr env1 e f expected_t in + check_term_as_mlexpr env1 e f expected_t in (match uu____12273 with - | (e1, ty) -> + | (e1,ty) -> let uu____12284 = - maybe_promote_effect e1 f expected_t in + maybe_promote_effect e1 f expected_t in (match uu____12284 with - | (e2, f1) -> + | (e2,f1) -> let meta = match (f1, ty) with - | (FStar_Extraction_ML_Syntax.E_PURE, - FStar_Extraction_ML_Syntax.MLTY_Erased) - -> [FStar_Extraction_ML_Syntax.Erased] - | (FStar_Extraction_ML_Syntax.E_GHOST, - FStar_Extraction_ML_Syntax.MLTY_Erased) - -> [FStar_Extraction_ML_Syntax.Erased] - | uu____12296 -> [] in + | (FStar_Extraction_ML_Syntax.E_PURE + ,FStar_Extraction_ML_Syntax.MLTY_Erased + ) -> [FStar_Extraction_ML_Syntax.Erased] + | (FStar_Extraction_ML_Syntax.E_GHOST + ,FStar_Extraction_ML_Syntax.MLTY_Erased + ) -> [FStar_Extraction_ML_Syntax.Erased] + | uu____12296 -> [] in (f1, { FStar_Extraction_ML_Syntax.mllb_name = nm; @@ -3233,119 +3527,136 @@ and (term_as_mlexpr' : meta; FStar_Extraction_ML_Syntax.print_typ = true - }))) in - let lbs3 = extract_lb_sig g (is_rec, lbs2) in + }))) + in + let lbs3 = extract_lb_sig g (is_rec, lbs2) in let uu____12327 = FStar_List.fold_right - (fun lb -> - fun uu____12424 -> + (fun lb -> + fun uu____12424 -> match uu____12424 with - | (env, lbs4) -> - let uu____12558 = lb in + | (env,lbs4) -> + let uu____12558 = lb in (match uu____12558 with - | (lbname, uu____12609, - (t1, (uu____12611, polytype)), add_unit, - uu____12614) -> + | (lbname,uu____12609,(t1,(uu____12611,polytype)),add_unit,uu____12614) + -> let uu____12629 = FStar_Extraction_ML_UEnv.extend_lb env - lbname t1 polytype add_unit true in + lbname t1 polytype add_unit true + in (match uu____12629 with - | (env1, nm, uu____12670) -> + | (env1,nm,uu____12670) -> (env1, ((nm, lb) :: lbs4))))) lbs3 - (g, []) in + (g, []) + in (match uu____12327 with - | (env_body, lbs4) -> - let env_def = if is_rec then env_body else g in + | (env_body,lbs4) -> + let env_def = if is_rec then env_body else g in let lbs5 = FStar_All.pipe_right lbs4 - (FStar_List.map (check_lb env_def)) in - let e'_rng = e'1.FStar_Syntax_Syntax.pos in - let uu____12949 = term_as_mlexpr env_body e'1 in + (FStar_List.map (check_lb env_def)) + in + let e'_rng = e'1.FStar_Syntax_Syntax.pos in + let uu____12949 = term_as_mlexpr env_body e'1 in (match uu____12949 with - | (e'2, f', t') -> + | (e'2,f',t') -> let f = let uu____12966 = let uu____12969 = FStar_List.map FStar_Pervasives_Native.fst - lbs5 in - f' :: uu____12969 in + lbs5 + in + f' :: uu____12969 in FStar_Extraction_ML_Util.join_l e'_rng - uu____12966 in + uu____12966 + in let is_rec1 = if is_rec = true then FStar_Extraction_ML_Syntax.Rec - else FStar_Extraction_ML_Syntax.NonRec in + else FStar_Extraction_ML_Syntax.NonRec in let uu____12982 = let uu____12983 = let uu____12984 = let uu____12985 = FStar_List.map FStar_Pervasives_Native.snd - lbs5 in - (is_rec1, uu____12985) in - mk_MLE_Let top_level uu____12984 e'2 in + lbs5 + in + (is_rec1, uu____12985) in + mk_MLE_Let top_level uu____12984 e'2 in let uu____12994 = FStar_Extraction_ML_Util.mlloc_of_range - t.FStar_Syntax_Syntax.pos in + t.FStar_Syntax_Syntax.pos + in FStar_Extraction_ML_Syntax.with_ty_loc t' - uu____12983 uu____12994 in + uu____12983 uu____12994 + in (uu____12982, f, t')))) - | FStar_Syntax_Syntax.Tm_match (scrutinee, pats) -> - let uu____13033 = term_as_mlexpr g scrutinee in + | FStar_Syntax_Syntax.Tm_match (scrutinee,pats) -> + let uu____13033 = term_as_mlexpr g scrutinee in (match uu____13033 with - | (e, f_e, t_e) -> - let uu____13049 = check_pats_for_ite pats in + | (e,f_e,t_e) -> + let uu____13049 = check_pats_for_ite pats in (match uu____13049 with - | (b, then_e, else_e) -> - let no_lift x t1 = x in + | (b,then_e,else_e) -> + let no_lift x t1 = x in if b then (match (then_e, else_e) with - | (FStar_Pervasives_Native.Some then_e1, - FStar_Pervasives_Native.Some else_e1) -> - let uu____13114 = term_as_mlexpr g then_e1 in + | (FStar_Pervasives_Native.Some + then_e1,FStar_Pervasives_Native.Some else_e1) -> + let uu____13114 = term_as_mlexpr g then_e1 in (match uu____13114 with - | (then_mle, f_then, t_then) -> - let uu____13130 = term_as_mlexpr g else_e1 in + | (then_mle,f_then,t_then) -> + let uu____13130 = term_as_mlexpr g else_e1 + in (match uu____13130 with - | (else_mle, f_else, t_else) -> + | (else_mle,f_else,t_else) -> let uu____13146 = let uu____13157 = - type_leq g t_then t_else in + type_leq g t_then t_else in if uu____13157 then (t_else, no_lift) else (let uu____13178 = - type_leq g t_else t_then in + type_leq g t_else t_then in if uu____13178 then (t_then, no_lift) else (FStar_Extraction_ML_Syntax.MLTY_Top, - FStar_Extraction_ML_Syntax.apply_obj_repr)) in + FStar_Extraction_ML_Syntax.apply_obj_repr)) + in (match uu____13146 with - | (t_branch, maybe_lift1) -> + | (t_branch,maybe_lift1) -> let uu____13225 = let uu____13226 = let uu____13227 = let uu____13236 = maybe_lift1 then_mle - t_then in + t_then + in let uu____13237 = let uu____13240 = maybe_lift1 else_mle - t_else in + t_else + in FStar_Pervasives_Native.Some - uu____13240 in + uu____13240 + in (e, uu____13236, - uu____13237) in + uu____13237) + in FStar_Extraction_ML_Syntax.MLE_If - uu____13227 in + uu____13227 + in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty - t_branch) uu____13226 in + t_branch) uu____13226 + in let uu____13243 = FStar_Extraction_ML_Util.join then_e1.FStar_Syntax_Syntax.pos - f_then f_else in + f_then f_else + in (uu____13225, uu____13243, t_branch)))) | uu____13244 -> @@ -3355,88 +3666,99 @@ and (term_as_mlexpr' : (let uu____13262 = FStar_All.pipe_right pats (FStar_Util.fold_map - (fun compat -> - fun br -> + (fun compat -> + fun br -> let uu____13361 = - FStar_Syntax_Subst.open_branch br in + FStar_Syntax_Subst.open_branch br in match uu____13361 with - | (pat, when_opt, branch1) -> + | (pat,when_opt,branch1) -> let uu____13406 = extract_pat g pat t_e - term_as_mlexpr in + term_as_mlexpr + in (match uu____13406 with - | (env, p, pat_t_compat) -> + | (env,p,pat_t_compat) -> let uu____13468 = match when_opt with | FStar_Pervasives_Native.None - -> + -> (FStar_Pervasives_Native.None, FStar_Extraction_ML_Syntax.E_PURE) | FStar_Pervasives_Native.Some w -> let w_pos = - w.FStar_Syntax_Syntax.pos in + w.FStar_Syntax_Syntax.pos + in let uu____13491 = - term_as_mlexpr env w in + term_as_mlexpr env w in (match uu____13491 with - | (w1, f_w, t_w) -> + | (w1,f_w,t_w) -> let w2 = maybe_coerce w_pos env w1 t_w - FStar_Extraction_ML_Syntax.ml_bool_ty in + FStar_Extraction_ML_Syntax.ml_bool_ty + in ((FStar_Pervasives_Native.Some - w2), f_w)) in + w2), f_w)) + in (match uu____13468 with - | (when_opt1, f_when) -> + | (when_opt1,f_when) -> let uu____13541 = term_as_mlexpr env - branch1 in + branch1 + in (match uu____13541 with - | (mlbranch, f_branch, - t_branch) -> + | (mlbranch,f_branch,t_branch) + -> let uu____13576 = FStar_All.pipe_right p (FStar_List.map (fun - uu____13653 + uu____13653 -> match uu____13653 with - | (p1, wopt) + | (p1,wopt) -> let when_clause = FStar_Extraction_ML_Util.conjoin_opt wopt - when_opt1 in + when_opt1 + in (p1, (when_clause, f_when), (mlbranch, f_branch, - t_branch)))) in + t_branch)))) + in ((compat && pat_t_compat), uu____13576))))) - true) in + true) + in match uu____13262 with - | (pat_t_compat, mlbranches) -> - let mlbranches1 = FStar_List.flatten mlbranches in + | (pat_t_compat,mlbranches) -> + let mlbranches1 = FStar_List.flatten mlbranches + in let e1 = if pat_t_compat then e else (FStar_Extraction_ML_UEnv.debug g - (fun uu____13824 -> + (fun uu____13824 -> let uu____13825 = FStar_Extraction_ML_Code.string_of_mlexpr g.FStar_Extraction_ML_UEnv.currentModule - e in + e + in let uu____13827 = FStar_Extraction_ML_Code.string_of_mlty g.FStar_Extraction_ML_UEnv.currentModule - t_e in + t_e + in FStar_Util.print2 "Coercing scrutinee %s from type %s because pattern type is incompatible\n" uu____13825 uu____13827); @@ -3444,7 +3766,8 @@ and (term_as_mlexpr' : (FStar_Extraction_ML_Syntax.with_ty t_e) (FStar_Extraction_ML_Syntax.MLE_Coerce (e, t_e, - FStar_Extraction_ML_Syntax.MLTY_Top))) in + FStar_Extraction_ML_Syntax.MLTY_Top))) + in (match mlbranches1 with | [] -> let uu____13854 = @@ -3452,9 +3775,11 @@ and (term_as_mlexpr' : FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.failwith_lid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Extraction_ML_UEnv.lookup_fv g - uu____13855 in + uu____13855 + in (match uu____13854 with | { FStar_Extraction_ML_UEnv.exp_b_name = @@ -3476,44 +3801,47 @@ and (term_as_mlexpr' : FStar_Extraction_ML_Syntax.ml_string_ty) (FStar_Extraction_ML_Syntax.MLE_Const (FStar_Extraction_ML_Syntax.MLC_String - "unreachable")) in - [uu____13880] in - (fw, uu____13877) in + "unreachable")) + in + [uu____13880] in + (fw, uu____13877) in FStar_Extraction_ML_Syntax.MLE_App - uu____13870 in + uu____13870 + in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.ml_int_ty) - uu____13869 in + uu____13869 + in (uu____13868, FStar_Extraction_ML_Syntax.E_PURE, FStar_Extraction_ML_Syntax.ml_int_ty)) - | (uu____13884, uu____13885, - (uu____13886, f_first, t_first))::rest -> + | (uu____13884,uu____13885,(uu____13886,f_first,t_first))::rest + -> let uu____13946 = FStar_List.fold_left - (fun uu____13988 -> - fun uu____13989 -> + (fun uu____13988 -> + fun uu____13989 -> match (uu____13988, uu____13989) with - | ((topt, f), - (uu____14046, uu____14047, - (uu____14048, f_branch, - t_branch))) + | ((topt,f),(uu____14046,uu____14047, + (uu____14048,f_branch,t_branch))) -> let f1 = FStar_Extraction_ML_Util.join top.FStar_Syntax_Syntax.pos - f f_branch in + f f_branch + in let topt1 = match topt with | FStar_Pervasives_Native.None - -> + -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some t1 -> let uu____14104 = - type_leq g t1 t_branch in + type_leq g t1 t_branch + in if uu____14104 then FStar_Pervasives_Native.Some @@ -3521,86 +3849,98 @@ and (term_as_mlexpr' : else (let uu____14111 = type_leq g t_branch - t1 in + t1 + in if uu____14111 then FStar_Pervasives_Native.Some t1 else - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in (topt1, f1)) ((FStar_Pervasives_Native.Some t_first), - f_first) rest in + f_first) rest + in (match uu____13946 with - | (topt, f_match) -> + | (topt,f_match) -> let mlbranches2 = FStar_All.pipe_right mlbranches1 (FStar_List.map - (fun uu____14209 -> + (fun uu____14209 -> match uu____14209 with - | (p, (wopt, uu____14238), - (b1, uu____14240, t1)) -> + | (p,(wopt,uu____14238), + (b1,uu____14240,t1)) -> let b2 = match topt with | FStar_Pervasives_Native.None - -> + -> FStar_Extraction_ML_Syntax.apply_obj_repr b1 t1 | FStar_Pervasives_Native.Some - uu____14259 -> b1 in - (p, wopt, b2))) in + uu____14259 -> b1 + in + (p, wopt, b2))) + in let t_match = match topt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Extraction_ML_Syntax.MLTY_Top | FStar_Pervasives_Native.Some t1 -> - t1 in + t1 + in let uu____14264 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty t_match) (FStar_Extraction_ML_Syntax.MLE_Match - (e1, mlbranches2)) in + (e1, mlbranches2)) + in (uu____14264, f_match, t_match))))))) + let (ind_discriminator_body : FStar_Extraction_ML_UEnv.uenv -> FStar_Ident.lident -> FStar_Ident.lident -> FStar_Extraction_ML_Syntax.mlmodule1) = - fun env -> - fun discName -> - fun constrName -> + fun env -> + fun discName -> + fun constrName -> let uu____14291 = let uu____14296 = FStar_TypeChecker_Env.lookup_lid - env.FStar_Extraction_ML_UEnv.env_tcenv discName in - FStar_All.pipe_left FStar_Pervasives_Native.fst uu____14296 in + env.FStar_Extraction_ML_UEnv.env_tcenv discName + in + FStar_All.pipe_left FStar_Pervasives_Native.fst uu____14296 in match uu____14291 with - | (uu____14321, fstar_disc_type) -> + | (uu____14321,fstar_disc_type) -> let wildcards = let uu____14331 = - let uu____14332 = FStar_Syntax_Subst.compress fstar_disc_type in - uu____14332.FStar_Syntax_Syntax.n in + let uu____14332 = FStar_Syntax_Subst.compress fstar_disc_type + in + uu____14332.FStar_Syntax_Syntax.n in match uu____14331 with - | FStar_Syntax_Syntax.Tm_arrow (binders, uu____14343) -> + | FStar_Syntax_Syntax.Tm_arrow (binders,uu____14343) -> let uu____14364 = FStar_All.pipe_right binders (FStar_List.filter - (fun uu___2_14398 -> + (fun uu___2_14398 -> match uu___2_14398 with - | (uu____14406, FStar_Pervasives_Native.Some + | (uu____14406,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit uu____14407)) -> true - | uu____14412 -> false)) in + | uu____14412 -> false)) + in FStar_All.pipe_right uu____14364 (FStar_List.map - (fun uu____14448 -> - let uu____14455 = fresh "_" in + (fun uu____14448 -> + let uu____14455 = fresh "_" in (uu____14455, FStar_Extraction_ML_Syntax.MLTY_Top))) - | uu____14459 -> failwith "Discriminator must be a function" in - let mlid = fresh "_discr_" in - let targ = FStar_Extraction_ML_Syntax.MLTY_Top in - let disc_ty = FStar_Extraction_ML_Syntax.MLTY_Top in + | uu____14459 -> failwith "Discriminator must be a function" + in + let mlid = fresh "_discr_" in + let targ = FStar_Extraction_ML_Syntax.MLTY_Top in + let disc_ty = FStar_Extraction_ML_Syntax.MLTY_Top in let discrBody = let uu____14474 = let uu____14475 = @@ -3610,25 +3950,31 @@ let (ind_discriminator_body : let uu____14504 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty targ) - (FStar_Extraction_ML_Syntax.MLE_Name ([], mlid)) in + (FStar_Extraction_ML_Syntax.MLE_Name ([], mlid)) + in let uu____14510 = let uu____14521 = let uu____14530 = let uu____14531 = let uu____14538 = FStar_Extraction_ML_Syntax.mlpath_of_lident - constrName in + constrName + in (uu____14538, - [FStar_Extraction_ML_Syntax.MLP_Wild]) in - FStar_Extraction_ML_Syntax.MLP_CTor uu____14531 in + [FStar_Extraction_ML_Syntax.MLP_Wild]) + in + FStar_Extraction_ML_Syntax.MLP_CTor uu____14531 + in let uu____14541 = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.ml_bool_ty) (FStar_Extraction_ML_Syntax.MLE_Const - (FStar_Extraction_ML_Syntax.MLC_Bool true)) in + (FStar_Extraction_ML_Syntax.MLC_Bool true)) + in (uu____14530, FStar_Pervasives_Native.None, - uu____14541) in + uu____14541) + in let uu____14545 = let uu____14556 = let uu____14565 = @@ -3637,26 +3983,32 @@ let (ind_discriminator_body : FStar_Extraction_ML_Syntax.ml_bool_ty) (FStar_Extraction_ML_Syntax.MLE_Const (FStar_Extraction_ML_Syntax.MLC_Bool - false)) in + false)) + in (FStar_Extraction_ML_Syntax.MLP_Wild, - FStar_Pervasives_Native.None, uu____14565) in - [uu____14556] in - uu____14521 :: uu____14545 in - (uu____14504, uu____14510) in - FStar_Extraction_ML_Syntax.MLE_Match uu____14489 in + FStar_Pervasives_Native.None, uu____14565) + in + [uu____14556] in + uu____14521 :: uu____14545 in + (uu____14504, uu____14510) in + FStar_Extraction_ML_Syntax.MLE_Match uu____14489 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.ml_bool_ty) uu____14488 in - ((FStar_List.append wildcards [(mlid, targ)]), uu____14487) in - FStar_Extraction_ML_Syntax.MLE_Fun uu____14475 in + FStar_Extraction_ML_Syntax.ml_bool_ty) uu____14488 + in + ((FStar_List.append wildcards [(mlid, targ)]), uu____14487) + in + FStar_Extraction_ML_Syntax.MLE_Fun uu____14475 in FStar_All.pipe_left - (FStar_Extraction_ML_Syntax.with_ty disc_ty) uu____14474 in + (FStar_Extraction_ML_Syntax.with_ty disc_ty) uu____14474 + in let uu____14626 = let uu____14627 = let uu____14630 = let uu____14631 = FStar_Extraction_ML_UEnv.convIdent - discName.FStar_Ident.ident in + discName.FStar_Ident.ident + in { FStar_Extraction_ML_Syntax.mllb_name = uu____14631; FStar_Extraction_ML_Syntax.mllb_tysc = @@ -3665,7 +4017,8 @@ let (ind_discriminator_body : FStar_Extraction_ML_Syntax.mllb_def = discrBody; FStar_Extraction_ML_Syntax.mllb_meta = []; FStar_Extraction_ML_Syntax.print_typ = false - } in - [uu____14630] in - (FStar_Extraction_ML_Syntax.NonRec, uu____14627) in - FStar_Extraction_ML_Syntax.MLM_Let uu____14626 \ No newline at end of file + } in + [uu____14630] in + (FStar_Extraction_ML_Syntax.NonRec, uu____14627) in + FStar_Extraction_ML_Syntax.MLM_Let uu____14626 + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Extraction_ML_UEnv.ml b/src/ocaml-output/FStar_Extraction_ML_UEnv.ml index a4851cd3939..e74d141457b 100644 --- a/src/ocaml-output/FStar_Extraction_ML_UEnv.ml +++ b/src/ocaml-output/FStar_Extraction_ML_UEnv.ml @@ -5,11 +5,12 @@ type ty_binding = ty_b_ty: FStar_Extraction_ML_Syntax.mlty } let (__proj__Mkty_binding__item__ty_b_name : ty_binding -> FStar_Extraction_ML_Syntax.mlident) = - fun projectee -> + fun projectee -> match projectee with | { ty_b_name; ty_b_ty;_} -> ty_b_name + let (__proj__Mkty_binding__item__ty_b_ty : ty_binding -> FStar_Extraction_ML_Syntax.mlty) = - fun projectee -> match projectee with | { ty_b_name; ty_b_ty;_} -> ty_b_ty + fun projectee -> match projectee with | { ty_b_name; ty_b_ty;_} -> ty_b_ty type exp_binding = { exp_b_name: FStar_Extraction_ML_Syntax.mlident ; @@ -18,40 +19,44 @@ type exp_binding = exp_b_inst_ok: Prims.bool } let (__proj__Mkexp_binding__item__exp_b_name : exp_binding -> FStar_Extraction_ML_Syntax.mlident) = - fun projectee -> + fun projectee -> match projectee with | { exp_b_name; exp_b_expr; exp_b_tscheme; exp_b_inst_ok;_} -> exp_b_name + let (__proj__Mkexp_binding__item__exp_b_expr : exp_binding -> FStar_Extraction_ML_Syntax.mlexpr) = - fun projectee -> + fun projectee -> match projectee with | { exp_b_name; exp_b_expr; exp_b_tscheme; exp_b_inst_ok;_} -> exp_b_expr + let (__proj__Mkexp_binding__item__exp_b_tscheme : exp_binding -> FStar_Extraction_ML_Syntax.mltyscheme) = - fun projectee -> + fun projectee -> match projectee with | { exp_b_name; exp_b_expr; exp_b_tscheme; exp_b_inst_ok;_} -> exp_b_tscheme + let (__proj__Mkexp_binding__item__exp_b_inst_ok : exp_binding -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { exp_b_name; exp_b_expr; exp_b_tscheme; exp_b_inst_ok;_} -> exp_b_inst_ok -type ty_or_exp_b = (ty_binding, exp_binding) FStar_Util.either + +type ty_or_exp_b = (ty_binding,exp_binding) FStar_Util.either type binding = | Bv of (FStar_Syntax_Syntax.bv * ty_or_exp_b) | Fv of (FStar_Syntax_Syntax.fv * exp_binding) let (uu___is_Bv : binding -> Prims.bool) = - fun projectee -> match projectee with | Bv _0 -> true | uu____156 -> false + fun projectee -> match projectee with | Bv _0 -> true | uu____156 -> false let (__proj__Bv__item___0 : binding -> (FStar_Syntax_Syntax.bv * ty_or_exp_b)) = - fun projectee -> match projectee with | Bv _0 -> _0 + fun projectee -> match projectee with | Bv _0 -> _0 let (uu___is_Fv : binding -> Prims.bool) = - fun projectee -> match projectee with | Fv _0 -> true | uu____191 -> false + fun projectee -> match projectee with | Fv _0 -> true | uu____191 -> false let (__proj__Fv__item___0 : binding -> (FStar_Syntax_Syntax.fv * exp_binding)) = - fun projectee -> match projectee with | Fv _0 -> _0 + fun projectee -> match projectee with | Fv _0 -> _0 type tydef = { tydef_fv: FStar_Syntax_Syntax.fv ; @@ -61,35 +66,40 @@ type tydef = FStar_Extraction_ML_Syntax.mlsymbol FStar_Pervasives_Native.option ; tydef_def: FStar_Extraction_ML_Syntax.mltyscheme } let (__proj__Mktydef__item__tydef_fv : tydef -> FStar_Syntax_Syntax.fv) = - fun projectee -> + fun projectee -> match projectee with | { tydef_fv; tydef_mlmodule_name; tydef_name; tydef_mangled_name; tydef_def;_} -> tydef_fv + let (__proj__Mktydef__item__tydef_mlmodule_name : tydef -> FStar_Extraction_ML_Syntax.mlsymbol Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { tydef_fv; tydef_mlmodule_name; tydef_name; tydef_mangled_name; tydef_def;_} -> tydef_mlmodule_name + let (__proj__Mktydef__item__tydef_name : tydef -> FStar_Extraction_ML_Syntax.mlsymbol) = - fun projectee -> + fun projectee -> match projectee with | { tydef_fv; tydef_mlmodule_name; tydef_name; tydef_mangled_name; tydef_def;_} -> tydef_name + let (__proj__Mktydef__item__tydef_mangled_name : tydef -> FStar_Extraction_ML_Syntax.mlsymbol FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { tydef_fv; tydef_mlmodule_name; tydef_name; tydef_mangled_name; tydef_def;_} -> tydef_mangled_name + let (__proj__Mktydef__item__tydef_def : tydef -> FStar_Extraction_ML_Syntax.mltyscheme) = - fun projectee -> + fun projectee -> match projectee with | { tydef_fv; tydef_mlmodule_name; tydef_name; tydef_mangled_name; tydef_def;_} -> tydef_def + type uenv = { env_tcenv: FStar_TypeChecker_Env.env ; @@ -98,93 +108,104 @@ type uenv = type_names: FStar_Syntax_Syntax.fv Prims.list ; currentModule: FStar_Extraction_ML_Syntax.mlpath } let (__proj__Mkuenv__item__env_tcenv : uenv -> FStar_TypeChecker_Env.env) = - fun projectee -> + fun projectee -> match projectee with | { env_tcenv; env_bindings; tydefs; type_names; currentModule;_} -> env_tcenv + let (__proj__Mkuenv__item__env_bindings : uenv -> binding Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { env_tcenv; env_bindings; tydefs; type_names; currentModule;_} -> env_bindings + let (__proj__Mkuenv__item__tydefs : uenv -> tydef Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { env_tcenv; env_bindings; tydefs; type_names; currentModule;_} -> tydefs + let (__proj__Mkuenv__item__type_names : uenv -> FStar_Syntax_Syntax.fv Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { env_tcenv; env_bindings; tydefs; type_names; currentModule;_} -> type_names + let (__proj__Mkuenv__item__currentModule : uenv -> FStar_Extraction_ML_Syntax.mlpath) = - fun projectee -> + fun projectee -> match projectee with | { env_tcenv; env_bindings; tydefs; type_names; currentModule;_} -> currentModule + let (debug : uenv -> (unit -> unit) -> unit) = - fun g -> - fun f -> - let c = FStar_Extraction_ML_Syntax.string_of_mlpath g.currentModule in + fun g -> + fun f -> + let c = FStar_Extraction_ML_Syntax.string_of_mlpath g.currentModule in let uu____494 = - FStar_Options.debug_at_level c (FStar_Options.Other "Extraction") in + FStar_Options.debug_at_level c (FStar_Options.Other "Extraction") in if uu____494 then f () else () + let (mkFvvar : FStar_Ident.lident -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.fv) = - fun l -> - fun t -> + fun l -> + fun t -> FStar_Syntax_Syntax.lid_as_fv l FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + let (erasedContent : FStar_Extraction_ML_Syntax.mlty) = - FStar_Extraction_ML_Syntax.MLTY_Erased + FStar_Extraction_ML_Syntax.MLTY_Erased let (erasableTypeNoDelta : FStar_Extraction_ML_Syntax.mlty -> Prims.bool) = - fun t -> + fun t -> if t = FStar_Extraction_ML_Syntax.ml_unit_ty then true else (match t with | FStar_Extraction_ML_Syntax.MLTY_Named - (uu____525, ("FStar"::"Ghost"::[], "erased")) -> true + (uu____525,("FStar"::"Ghost"::[],"erased")) -> true | FStar_Extraction_ML_Syntax.MLTY_Named - (uu____541, ("FStar"::"Tactics"::"Effect"::[], "tactic")) -> - let uu____558 = FStar_Options.codegen () in + (uu____541,("FStar"::"Tactics"::"Effect"::[],"tactic")) -> + let uu____558 = FStar_Options.codegen () in uu____558 <> (FStar_Pervasives_Native.Some FStar_Options.Plugin) | uu____563 -> false) + let (unknownType : FStar_Extraction_ML_Syntax.mlty) = - FStar_Extraction_ML_Syntax.MLTY_Top + FStar_Extraction_ML_Syntax.MLTY_Top let (prependTick : Prims.string -> Prims.string) = - fun x -> if FStar_Util.starts_with x "'" then x else Prims.op_Hat "'A" x + fun x -> if FStar_Util.starts_with x "'" then x else Prims.op_Hat "'A" x let (removeTick : Prims.string -> Prims.string) = - fun x -> + fun x -> if FStar_Util.starts_with x "'" then FStar_Util.substring_from x (Prims.parse_int "1") else x + let (convRange : FStar_Range.range -> Prims.int) = - fun r -> (Prims.parse_int "0") + fun r -> (Prims.parse_int "0") let (convIdent : FStar_Ident.ident -> FStar_Extraction_ML_Syntax.mlident) = - fun id1 -> id1.FStar_Ident.idText + fun id1 -> id1.FStar_Ident.idText let (bv_as_ml_tyvar : FStar_Syntax_Syntax.bv -> Prims.string) = - fun x -> - let uu____620 = FStar_Extraction_ML_Syntax.bv_as_mlident x in + fun x -> + let uu____620 = FStar_Extraction_ML_Syntax.bv_as_mlident x in prependTick uu____620 + let (bv_as_ml_termvar : FStar_Syntax_Syntax.bv -> Prims.string) = - fun x -> - let uu____629 = FStar_Extraction_ML_Syntax.bv_as_mlident x in + fun x -> + let uu____629 = FStar_Extraction_ML_Syntax.bv_as_mlident x in removeTick uu____629 + let rec (lookup_ty_local : binding Prims.list -> FStar_Syntax_Syntax.bv -> FStar_Extraction_ML_Syntax.mlty) = - fun gamma -> - fun b -> + fun gamma -> + fun b -> match gamma with - | (Bv (b', FStar_Util.Inl ty_b))::tl1 -> + | (Bv (b',FStar_Util.Inl ty_b))::tl1 -> if FStar_Syntax_Syntax.bv_eq b b' then ty_b.ty_b_ty else lookup_ty_local tl1 b - | (Bv (b', FStar_Util.Inr uu____655))::tl1 -> + | (Bv (b',FStar_Util.Inr uu____655))::tl1 -> if FStar_Syntax_Syntax.bv_eq b b' then failwith @@ -196,6 +217,7 @@ let rec (lookup_ty_local : failwith (Prims.op_Hat "extraction: unbound type var " (b.FStar_Syntax_Syntax.ppname).FStar_Ident.idText) + let tyscheme_of_td : 'Auu____679 'Auu____680 'Auu____681 'Auu____682 . ('Auu____679 * 'Auu____680 * 'Auu____681 * @@ -203,175 +225,194 @@ let tyscheme_of_td : FStar_Extraction_ML_Syntax.mltybody FStar_Pervasives_Native.option) -> FStar_Extraction_ML_Syntax.mltyscheme FStar_Pervasives_Native.option = - fun uu____703 -> + fun uu____703 -> match uu____703 with - | (uu____718, uu____719, uu____720, vars, uu____722, body_opt) -> + | (uu____718,uu____719,uu____720,vars,uu____722,body_opt) -> (match body_opt with | FStar_Pervasives_Native.Some (FStar_Extraction_ML_Syntax.MLTD_Abbrev t) -> FStar_Pervasives_Native.Some (vars, t) | uu____733 -> FStar_Pervasives_Native.None) + let (lookup_ty_const : uenv -> FStar_Extraction_ML_Syntax.mlpath -> FStar_Extraction_ML_Syntax.mltyscheme FStar_Pervasives_Native.option) = - fun env -> - fun uu____748 -> + fun env -> + fun uu____748 -> match uu____748 with - | (module_name, ty_name) -> + | (module_name,ty_name) -> FStar_Util.find_map env.tydefs - (fun tydef -> + (fun tydef -> if - (module_name = tydef.tydef_mlmodule_name) && - (ty_name = tydef.tydef_name) + (ty_name = tydef.tydef_name) && + (module_name = tydef.tydef_mlmodule_name) then FStar_Pervasives_Native.Some (tydef.tydef_def) else FStar_Pervasives_Native.None) + let (module_name_of_fv : FStar_Syntax_Syntax.fv -> Prims.string Prims.list) = - fun fv -> + fun fv -> FStar_All.pipe_right ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.ns - (FStar_List.map (fun i -> i.FStar_Ident.idText)) + (FStar_List.map (fun i -> i.FStar_Ident.idText)) + let (maybe_mangle_type_projector : uenv -> FStar_Syntax_Syntax.fv -> FStar_Extraction_ML_Syntax.mlpath FStar_Pervasives_Native.option) = - fun env -> - fun fv -> - let mname = module_name_of_fv fv in + fun env -> + fun fv -> + let mname = module_name_of_fv fv in let ty_name = - (((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.ident).FStar_Ident.idText in + (((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.ident).FStar_Ident.idText + in FStar_Util.find_map env.tydefs - (fun tydef -> + (fun tydef -> if - (tydef.tydef_mlmodule_name = mname) && - (tydef.tydef_name = ty_name) + (tydef.tydef_name = ty_name) && + (tydef.tydef_mlmodule_name = mname) then match tydef.tydef_mangled_name with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some (mname, ty_name) | FStar_Pervasives_Native.Some mangled -> FStar_Pervasives_Native.Some (mname, mangled) else FStar_Pervasives_Native.None) + let (lookup_tyvar : uenv -> FStar_Syntax_Syntax.bv -> FStar_Extraction_ML_Syntax.mlty) = - fun g -> fun bt -> lookup_ty_local g.env_bindings bt + fun g -> fun bt -> lookup_ty_local g.env_bindings bt let (lookup_fv_by_lid : uenv -> FStar_Ident.lident -> ty_or_exp_b) = - fun g -> - fun lid -> + fun g -> + fun lid -> let x = FStar_Util.find_map g.env_bindings - (fun uu___0_913 -> + (fun uu___0_913 -> match uu___0_913 with - | Fv (fv', x) when FStar_Syntax_Syntax.fv_eq_lid fv' lid -> + | Fv (fv',x) when FStar_Syntax_Syntax.fv_eq_lid fv' lid -> FStar_Pervasives_Native.Some x - | uu____918 -> FStar_Pervasives_Native.None) in + | uu____918 -> FStar_Pervasives_Native.None) + in match x with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____919 = FStar_Util.format1 "free Variable %s not found\n" - lid.FStar_Ident.nsstr in + lid.FStar_Ident.nsstr + in failwith uu____919 | FStar_Pervasives_Native.Some y -> FStar_Util.Inr y + let (try_lookup_fv : uenv -> FStar_Syntax_Syntax.fv -> exp_binding FStar_Pervasives_Native.option) = - fun g -> - fun fv -> + fun g -> + fun fv -> FStar_Util.find_map g.env_bindings - (fun uu___1_941 -> + (fun uu___1_941 -> match uu___1_941 with - | Fv (fv', t) when FStar_Syntax_Syntax.fv_eq fv fv' -> + | Fv (fv',t) when FStar_Syntax_Syntax.fv_eq fv fv' -> FStar_Pervasives_Native.Some t | uu____946 -> FStar_Pervasives_Native.None) + let (lookup_fv : uenv -> FStar_Syntax_Syntax.fv -> exp_binding) = - fun g -> - fun fv -> - let uu____958 = try_lookup_fv g fv in + fun g -> + fun fv -> + let uu____958 = try_lookup_fv g fv in match uu____958 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____961 = let uu____963 = FStar_Range.string_of_range - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.p in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.p + in let uu____965 = FStar_Syntax_Print.lid_to_string - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in FStar_Util.format2 "(%s) free Variable %s not found\n" uu____963 - uu____965 in + uu____965 + in failwith uu____961 | FStar_Pervasives_Native.Some y -> y + let (lookup_bv : uenv -> FStar_Syntax_Syntax.bv -> ty_or_exp_b) = - fun g -> - fun bv -> + fun g -> + fun bv -> let x = FStar_Util.find_map g.env_bindings - (fun uu___2_986 -> + (fun uu___2_986 -> match uu___2_986 with - | Bv (bv', r) when FStar_Syntax_Syntax.bv_eq bv bv' -> + | Bv (bv',r) when FStar_Syntax_Syntax.bv_eq bv bv' -> FStar_Pervasives_Native.Some r - | uu____991 -> FStar_Pervasives_Native.None) in + | uu____991 -> FStar_Pervasives_Native.None) + in match x with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____992 = let uu____994 = FStar_Range.string_of_range - (bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idRange in - let uu____996 = FStar_Syntax_Print.bv_to_string bv in + (bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idRange + in + let uu____996 = FStar_Syntax_Print.bv_to_string bv in FStar_Util.format2 "(%s) bound Variable %s not found\n" uu____994 - uu____996 in + uu____996 + in failwith uu____992 | FStar_Pervasives_Native.Some y -> y + let (lookup : uenv -> - (FStar_Syntax_Syntax.bv, FStar_Syntax_Syntax.fv) FStar_Util.either -> + (FStar_Syntax_Syntax.bv,FStar_Syntax_Syntax.fv) FStar_Util.either -> (ty_or_exp_b * FStar_Syntax_Syntax.fv_qual FStar_Pervasives_Native.option)) = - fun g -> - fun x -> + fun g -> + fun x -> match x with | FStar_Util.Inl x1 -> - let uu____1032 = lookup_bv g x1 in + let uu____1032 = lookup_bv g x1 in (uu____1032, FStar_Pervasives_Native.None) | FStar_Util.Inr x1 -> let uu____1036 = - let uu____1037 = lookup_fv g x1 in FStar_Util.Inr uu____1037 in + let uu____1037 = lookup_fv g x1 in FStar_Util.Inr uu____1037 in (uu____1036, (x1.FStar_Syntax_Syntax.fv_qual)) + let (lookup_term : uenv -> FStar_Syntax_Syntax.term -> (ty_or_exp_b * FStar_Syntax_Syntax.fv_qual FStar_Pervasives_Native.option)) = - fun g -> - fun t -> + fun g -> + fun t -> match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_name x -> lookup g (FStar_Util.Inl x) | FStar_Syntax_Syntax.Tm_fvar x -> lookup g (FStar_Util.Inr x) | uu____1065 -> failwith "Impossible: lookup_term for a non-name" + let (extend_ty : uenv -> FStar_Syntax_Syntax.bv -> FStar_Extraction_ML_Syntax.mlty FStar_Pervasives_Native.option -> uenv) = - fun g -> - fun a -> - fun mapped_to -> - let ml_a = bv_as_ml_tyvar a in + fun g -> + fun a -> + fun mapped_to -> + let ml_a = bv_as_ml_tyvar a in let mapped_to1 = match mapped_to with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Extraction_ML_Syntax.MLTY_Var ml_a - | FStar_Pervasives_Native.Some t -> t in + | FStar_Pervasives_Native.Some t -> t in let gamma = (Bv (a, (FStar_Util.Inl { ty_b_name = ml_a; ty_b_ty = mapped_to1 }))) - :: (g.env_bindings) in - let tcenv = FStar_TypeChecker_Env.push_bv g.env_tcenv a in - let uu___200_1101 = g in + :: (g.env_bindings) in + let tcenv = FStar_TypeChecker_Env.push_bv g.env_tcenv a in + let uu___200_1101 = g in { env_tcenv = tcenv; env_bindings = gamma; @@ -379,46 +420,52 @@ let (extend_ty : type_names = (uu___200_1101.type_names); currentModule = (uu___200_1101.currentModule) } + let (sanitize : Prims.string -> Prims.string) = - fun s -> - let cs = FStar_String.list_of_string s in - let valid c = ((FStar_Util.is_letter_or_digit c) || (c = 95)) || (c = 39) in + fun s -> + let cs = FStar_String.list_of_string s in + let valid c = ((FStar_Util.is_letter_or_digit c) || (c = 95)) || (c = 39) + in let cs' = FStar_List.fold_right - (fun c -> - fun cs1 -> + (fun c -> + fun cs1 -> let uu____1146 = - let uu____1150 = valid c in - if uu____1150 then [c] else [95; 95] in - FStar_List.append uu____1146 cs1) cs [] in + let uu____1150 = valid c in + if uu____1150 then [c] else [95; 95] in + FStar_List.append uu____1146 cs1) cs [] + in let cs'1 = match cs' with | c::cs1 when (FStar_Util.is_digit c) || (c = 39) -> 95 :: c :: cs1 - | uu____1186 -> cs in + | uu____1186 -> cs in FStar_String.string_of_list cs'1 + let (find_uniq : binding Prims.list -> Prims.string -> Prims.string) = - fun gamma -> - fun mlident -> + fun gamma -> + fun mlident -> let rec find_uniq mlident1 i = let suffix = if i = (Prims.parse_int "0") then "" - else FStar_Util.string_of_int i in - let target_mlident = Prims.op_Hat mlident1 suffix in + else FStar_Util.string_of_int i in + let target_mlident = Prims.op_Hat mlident1 suffix in let has_collision = FStar_List.existsb - (fun uu___3_1240 -> + (fun uu___3_1240 -> match uu___3_1240 with - | Bv (uu____1242, FStar_Util.Inl ty_b) -> + | Bv (uu____1242,FStar_Util.Inl ty_b) -> target_mlident = ty_b.ty_b_name - | Fv (uu____1245, exp_b) -> target_mlident = exp_b.exp_b_name - | Bv (uu____1248, FStar_Util.Inr exp_b) -> - target_mlident = exp_b.exp_b_name) gamma in + | Fv (uu____1245,exp_b) -> target_mlident = exp_b.exp_b_name + | Bv (uu____1248,FStar_Util.Inr exp_b) -> + target_mlident = exp_b.exp_b_name) gamma + in if has_collision then find_uniq mlident1 (i + (Prims.parse_int "1")) - else target_mlident in - let mlident1 = sanitize mlident in + else target_mlident in + let mlident1 = sanitize mlident in find_uniq mlident1 (Prims.parse_int "0") + let (extend_bv : uenv -> FStar_Syntax_Syntax.bv -> @@ -428,20 +475,21 @@ let (extend_bv : Prims.bool -> (uenv * FStar_Extraction_ML_Syntax.mlident * exp_binding)) = - fun g -> - fun x -> - fun t_x -> - fun add_unit -> - fun is_rec -> - fun mk_unit -> + fun g -> + fun x -> + fun t_x -> + fun add_unit -> + fun is_rec -> + fun mk_unit -> let ml_ty = match t_x with - | ([], t) -> t - | uu____1313 -> FStar_Extraction_ML_Syntax.MLTY_Top in + | ([],t) -> t + | uu____1313 -> FStar_Extraction_ML_Syntax.MLTY_Top in let mlident = - let uu____1316 = FStar_Extraction_ML_Syntax.bv_as_mlident x in - find_uniq g.env_bindings uu____1316 in - let mlx = FStar_Extraction_ML_Syntax.MLE_Var mlident in + let uu____1316 = FStar_Extraction_ML_Syntax.bv_as_mlident x + in + find_uniq g.env_bindings uu____1316 in + let mlx = FStar_Extraction_ML_Syntax.MLE_Var mlident in let mlx1 = if mk_unit then FStar_Extraction_ML_Syntax.ml_unit @@ -455,24 +503,25 @@ let (extend_bv : ((FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top mlx), [FStar_Extraction_ML_Syntax.ml_unit])) - else FStar_Extraction_ML_Syntax.with_ty ml_ty mlx in + else FStar_Extraction_ML_Syntax.with_ty ml_ty mlx + in let t_x1 = if add_unit then FStar_Extraction_ML_Syntax.pop_unit t_x - else t_x in + else t_x in let exp_binding = { exp_b_name = mlident; exp_b_expr = mlx1; exp_b_tscheme = t_x1; exp_b_inst_ok = is_rec - } in + } in let gamma = (Bv (x, (FStar_Util.Inr exp_binding))) :: - (g.env_bindings) in + (g.env_bindings) in let tcenv = - let uu____1337 = FStar_Syntax_Syntax.binders_of_list [x] in - FStar_TypeChecker_Env.push_binders g.env_tcenv uu____1337 in - ((let uu___261_1340 = g in + let uu____1337 = FStar_Syntax_Syntax.binders_of_list [x] in + FStar_TypeChecker_Env.push_binders g.env_tcenv uu____1337 in + ((let uu___261_1340 = g in { env_tcenv = tcenv; env_bindings = gamma; @@ -480,37 +529,41 @@ let (extend_bv : type_names = (uu___261_1340.type_names); currentModule = (uu___261_1340.currentModule) }), mlident, exp_binding) + let rec (mltyFvars : FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlident Prims.list) = - fun t -> + fun t -> match t with | FStar_Extraction_ML_Syntax.MLTY_Var x -> [x] - | FStar_Extraction_ML_Syntax.MLTY_Fun (t1, f, t2) -> - let uu____1360 = mltyFvars t1 in - let uu____1364 = mltyFvars t2 in + | FStar_Extraction_ML_Syntax.MLTY_Fun (t1,f,t2) -> + let uu____1360 = mltyFvars t1 in + let uu____1364 = mltyFvars t2 in FStar_List.append uu____1360 uu____1364 - | FStar_Extraction_ML_Syntax.MLTY_Named (args, path) -> + | FStar_Extraction_ML_Syntax.MLTY_Named (args,path) -> FStar_List.collect mltyFvars args | FStar_Extraction_ML_Syntax.MLTY_Tuple ts -> FStar_List.collect mltyFvars ts - | FStar_Extraction_ML_Syntax.MLTY_Top -> [] - | FStar_Extraction_ML_Syntax.MLTY_Erased -> [] + | FStar_Extraction_ML_Syntax.MLTY_Top -> [] + | FStar_Extraction_ML_Syntax.MLTY_Erased -> [] + let rec (subsetMlidents : FStar_Extraction_ML_Syntax.mlident Prims.list -> FStar_Extraction_ML_Syntax.mlident Prims.list -> Prims.bool) = - fun la -> - fun lb -> + fun la -> + fun lb -> match la with | h::tla -> (FStar_List.contains h lb) && (subsetMlidents tla lb) | [] -> true + let (tySchemeIsClosed : FStar_Extraction_ML_Syntax.mltyscheme -> Prims.bool) = - fun tys -> - let uu____1425 = mltyFvars (FStar_Pervasives_Native.snd tys) in + fun tys -> + let uu____1425 = mltyFvars (FStar_Pervasives_Native.snd tys) in subsetMlidents uu____1425 (FStar_Pervasives_Native.fst tys) + let (extend_fv' : uenv -> FStar_Syntax_Syntax.fv -> @@ -520,29 +573,30 @@ let (extend_fv' : Prims.bool -> (uenv * FStar_Extraction_ML_Syntax.mlident * exp_binding)) = - fun g -> - fun x -> - fun y -> - fun t_x -> - fun add_unit -> - fun is_rec -> - let uu____1478 = tySchemeIsClosed t_x in + fun g -> + fun x -> + fun y -> + fun t_x -> + fun add_unit -> + fun is_rec -> + let uu____1478 = tySchemeIsClosed t_x in if uu____1478 then let ml_ty = match t_x with - | ([], t) -> t - | uu____1491 -> FStar_Extraction_ML_Syntax.MLTY_Top in + | ([],t) -> t + | uu____1491 -> FStar_Extraction_ML_Syntax.MLTY_Top in let uu____1492 = - let uu____1498 = y in + let uu____1498 = y in match uu____1498 with - | (ns, i) -> + | (ns,i) -> let mlsymbol = - FStar_Extraction_ML_Syntax.avoid_keyword i in - ((ns, mlsymbol), mlsymbol) in + FStar_Extraction_ML_Syntax.avoid_keyword i in + ((ns, mlsymbol), mlsymbol) + in match uu____1492 with - | (mlpath, mlsymbol) -> - let mly = FStar_Extraction_ML_Syntax.MLE_Name mlpath in + | (mlpath,mlsymbol) -> + let mly = FStar_Extraction_ML_Syntax.MLE_Name mlpath in let mly1 = if add_unit then @@ -553,20 +607,20 @@ let (extend_fv' : ((FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top mly), [FStar_Extraction_ML_Syntax.ml_unit])) - else FStar_Extraction_ML_Syntax.with_ty ml_ty mly in + else FStar_Extraction_ML_Syntax.with_ty ml_ty mly in let t_x1 = if add_unit then FStar_Extraction_ML_Syntax.pop_unit t_x - else t_x in + else t_x in let exp_binding = { exp_b_name = mlsymbol; exp_b_expr = mly1; exp_b_tscheme = t_x1; exp_b_inst_ok = is_rec - } in - let gamma = (Fv (x, exp_binding)) :: (g.env_bindings) in - ((let uu___312_1549 = g in + } in + let gamma = (Fv (x, exp_binding)) :: (g.env_bindings) in + ((let uu___312_1549 = g in { env_tcenv = (uu___312_1549.env_tcenv); env_bindings = gamma; @@ -575,6 +629,7 @@ let (extend_fv' : currentModule = (uu___312_1549.currentModule) }), mlsymbol, exp_binding) else failwith "freevars found" + let (extend_fv : uenv -> FStar_Syntax_Syntax.fv -> @@ -583,15 +638,17 @@ let (extend_fv : Prims.bool -> (uenv * FStar_Extraction_ML_Syntax.mlident * exp_binding)) = - fun g -> - fun x -> - fun t_x -> - fun add_unit -> - fun is_rec -> + fun g -> + fun x -> + fun t_x -> + fun add_unit -> + fun is_rec -> let mlp = FStar_Extraction_ML_Syntax.mlpath_of_lident - (x.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (x.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in extend_fv' g x mlp t_x add_unit is_rec + let (extend_lb : uenv -> FStar_Syntax_Syntax.lbname -> @@ -601,44 +658,46 @@ let (extend_lb : Prims.bool -> (uenv * FStar_Extraction_ML_Syntax.mlident * exp_binding)) = - fun g -> - fun l -> - fun t -> - fun t_x -> - fun add_unit -> - fun is_rec -> + fun g -> + fun l -> + fun t -> + fun t_x -> + fun add_unit -> + fun is_rec -> match l with | FStar_Util.Inl x -> extend_bv g x t_x add_unit is_rec false | FStar_Util.Inr f -> let uu____1657 = FStar_Extraction_ML_Syntax.mlpath_of_lident - (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in (match uu____1657 with - | (p, y) -> extend_fv' g f (p, y) t_x add_unit is_rec) + | (p,y) -> extend_fv' g f (p, y) t_x add_unit is_rec) + let (extend_tydef : uenv -> FStar_Syntax_Syntax.fv -> FStar_Extraction_ML_Syntax.one_mltydecl -> (uenv * tydef)) = - fun g -> - fun fv -> - fun td -> - let m = module_name_of_fv fv in - let uu____1707 = td in + fun g -> + fun fv -> + fun td -> + let m = module_name_of_fv fv in + let uu____1707 = td in match uu____1707 with - | (_assumed, name, mangled, vars, metadata, body_opt) -> + | (_assumed,name,mangled,vars,metadata,body_opt) -> let tydef = let uu____1733 = - let uu____1734 = tyscheme_of_td td in - FStar_Option.get uu____1734 in + let uu____1734 = tyscheme_of_td td in + FStar_Option.get uu____1734 in { tydef_fv = fv; tydef_mlmodule_name = m; tydef_name = name; tydef_mangled_name = mangled; tydef_def = uu____1733 - } in - ((let uu___345_1743 = g in + } in + ((let uu___345_1743 = g in { env_tcenv = (uu___345_1743.env_tcenv); env_bindings = (uu___345_1743.env_bindings); @@ -646,10 +705,11 @@ let (extend_tydef : type_names = (fv :: (g.type_names)); currentModule = (uu___345_1743.currentModule) }), tydef) + let (extend_type_name : uenv -> FStar_Syntax_Syntax.fv -> uenv) = - fun g -> - fun fv -> - let uu___349_1755 = g in + fun g -> + fun fv -> + let uu___349_1755 = g in { env_tcenv = (uu___349_1755.env_tcenv); env_bindings = (uu___349_1755.env_bindings); @@ -657,21 +717,24 @@ let (extend_type_name : uenv -> FStar_Syntax_Syntax.fv -> uenv) = type_names = (fv :: (g.type_names)); currentModule = (uu___349_1755.currentModule) } + let (is_type_name : uenv -> FStar_Syntax_Syntax.fv -> Prims.bool) = - fun g -> - fun fv -> + fun g -> + fun fv -> FStar_All.pipe_right g.type_names (FStar_Util.for_some (FStar_Syntax_Syntax.fv_eq fv)) + let (is_fv_type : uenv -> FStar_Syntax_Syntax.fv -> Prims.bool) = - fun g -> - fun fv -> + fun g -> + fun fv -> (is_type_name g fv) || (FStar_All.pipe_right g.tydefs (FStar_Util.for_some - (fun tydef -> FStar_Syntax_Syntax.fv_eq fv tydef.tydef_fv))) -let (emptyMlPath : FStar_Extraction_ML_Syntax.mlpath) = ([], "") + (fun tydef -> FStar_Syntax_Syntax.fv_eq fv tydef.tydef_fv))) + +let (emptyMlPath : FStar_Extraction_ML_Syntax.mlpath) = ([], "") let (mkContext : FStar_TypeChecker_Env.env -> uenv) = - fun e -> + fun e -> let env = { env_tcenv = e; @@ -679,51 +742,59 @@ let (mkContext : FStar_TypeChecker_Env.env -> uenv) = tydefs = []; type_names = []; currentModule = emptyMlPath - } in - let a = "'a" in + } in + let a = "'a" in let failwith_ty = ([a], (FStar_Extraction_ML_Syntax.MLTY_Fun ((FStar_Extraction_ML_Syntax.MLTY_Named ([], (["Prims"], "string"))), FStar_Extraction_ML_Syntax.E_IMPURE, - (FStar_Extraction_ML_Syntax.MLTY_Var a)))) in + (FStar_Extraction_ML_Syntax.MLTY_Var a)))) + in let uu____1822 = let uu____1830 = let uu____1831 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.failwith_lid - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in - FStar_Util.Inr uu____1831 in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in + FStar_Util.Inr uu____1831 in extend_lb env uu____1830 FStar_Syntax_Syntax.tun failwith_ty false - false in - match uu____1822 with | (g, uu____1835, uu____1836) -> g + false + in + match uu____1822 with | (g,uu____1835,uu____1836) -> g + let (monad_op_name : FStar_Syntax_Syntax.eff_decl -> Prims.string -> (FStar_Extraction_ML_Syntax.mlpath * FStar_Ident.lident)) = - fun ed -> - fun nm -> + fun ed -> + fun nm -> let lid = - let uu____1857 = FStar_Ident.id_of_text nm in + let uu____1857 = FStar_Ident.id_of_text nm in FStar_Syntax_Util.mk_field_projector_name_from_ident - ed.FStar_Syntax_Syntax.mname uu____1857 in - let uu____1858 = FStar_Extraction_ML_Syntax.mlpath_of_lident lid in + ed.FStar_Syntax_Syntax.mname uu____1857 + in + let uu____1858 = FStar_Extraction_ML_Syntax.mlpath_of_lident lid in (uu____1858, lid) + let (action_name : FStar_Syntax_Syntax.eff_decl -> FStar_Syntax_Syntax.action -> (FStar_Extraction_ML_Syntax.mlpath * FStar_Ident.lident)) = - fun ed -> - fun a -> + fun ed -> + fun a -> let nm = - ((a.FStar_Syntax_Syntax.action_name).FStar_Ident.ident).FStar_Ident.idText in - let module_name = (ed.FStar_Syntax_Syntax.mname).FStar_Ident.ns in + ((a.FStar_Syntax_Syntax.action_name).FStar_Ident.ident).FStar_Ident.idText + in + let module_name = (ed.FStar_Syntax_Syntax.mname).FStar_Ident.ns in let lid = let uu____1880 = let uu____1883 = - let uu____1886 = FStar_Ident.id_of_text nm in [uu____1886] in - FStar_List.append module_name uu____1883 in - FStar_Ident.lid_of_ids uu____1880 in - let uu____1887 = FStar_Extraction_ML_Syntax.mlpath_of_lident lid in - (uu____1887, lid) \ No newline at end of file + let uu____1886 = FStar_Ident.id_of_text nm in [uu____1886] in + FStar_List.append module_name uu____1883 in + FStar_Ident.lid_of_ids uu____1880 in + let uu____1887 = FStar_Extraction_ML_Syntax.mlpath_of_lident lid in + (uu____1887, lid) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Extraction_ML_Util.ml b/src/ocaml-output/FStar_Extraction_ML_Util.ml index 9255e3923a5..bcf152cbbe3 100644 --- a/src/ocaml-output/FStar_Extraction_ML_Util.ml +++ b/src/ocaml-output/FStar_Extraction_ML_Util.ml @@ -1,305 +1,332 @@ open Prims let (codegen_fsharp : unit -> Prims.bool) = - fun uu____5 -> - let uu____6 = FStar_Options.codegen () in + fun uu____5 -> + let uu____6 = FStar_Options.codegen () in uu____6 = (FStar_Pervasives_Native.Some FStar_Options.FSharp) + let pruneNones : 'a . 'a FStar_Pervasives_Native.option Prims.list -> 'a Prims.list = - fun l -> + fun l -> FStar_List.fold_right - (fun x -> - fun ll -> + (fun x -> + fun ll -> match x with | FStar_Pervasives_Native.Some xs -> xs :: ll - | FStar_Pervasives_Native.None -> ll) l [] + | FStar_Pervasives_Native.None -> ll) l [] + let (mk_range_mle : FStar_Extraction_ML_Syntax.mlexpr) = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top) (FStar_Extraction_ML_Syntax.MLE_Name (["Prims"], "mk_range")) + let (dummy_range_mle : FStar_Extraction_ML_Syntax.mlexpr) = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top) (FStar_Extraction_ML_Syntax.MLE_Name (["FStar"; "Range"], "dummyRange")) + let (mlconst_of_const' : FStar_Const.sconst -> FStar_Extraction_ML_Syntax.mlconstant) = - fun sctt -> + fun sctt -> match sctt with - | FStar_Const.Const_effect -> failwith "Unsupported constant" + | FStar_Const.Const_effect -> failwith "Unsupported constant" | FStar_Const.Const_range uu____75 -> FStar_Extraction_ML_Syntax.MLC_Unit - | FStar_Const.Const_unit -> FStar_Extraction_ML_Syntax.MLC_Unit + | FStar_Const.Const_unit -> FStar_Extraction_ML_Syntax.MLC_Unit | FStar_Const.Const_char c -> FStar_Extraction_ML_Syntax.MLC_Char c - | FStar_Const.Const_int (s, i) -> + | FStar_Const.Const_int (s,i) -> FStar_Extraction_ML_Syntax.MLC_Int (s, i) | FStar_Const.Const_bool b -> FStar_Extraction_ML_Syntax.MLC_Bool b | FStar_Const.Const_float d -> FStar_Extraction_ML_Syntax.MLC_Float d - | FStar_Const.Const_bytearray (bytes, uu____105) -> + | FStar_Const.Const_bytearray (bytes,uu____105) -> FStar_Extraction_ML_Syntax.MLC_Bytes bytes - | FStar_Const.Const_string (s, uu____111) -> + | FStar_Const.Const_string (s,uu____111) -> FStar_Extraction_ML_Syntax.MLC_String s - | FStar_Const.Const_range_of -> + | FStar_Const.Const_range_of -> failwith "Unhandled constant: range_of/set_range_of" - | FStar_Const.Const_set_range_of -> + | FStar_Const.Const_set_range_of -> failwith "Unhandled constant: range_of/set_range_of" | FStar_Const.Const_real uu____116 -> failwith "Unhandled constant: real/reify/reflect" - | FStar_Const.Const_reify -> + | FStar_Const.Const_reify -> failwith "Unhandled constant: real/reify/reflect" | FStar_Const.Const_reflect uu____120 -> failwith "Unhandled constant: real/reify/reflect" + let (mlconst_of_const : FStar_Range.range -> FStar_Const.sconst -> FStar_Extraction_ML_Syntax.mlconstant) = - fun p -> - fun c -> - try (fun uu___51_134 -> match () with | () -> mlconst_of_const' c) () + fun p -> + fun c -> + try (fun uu___51_134 -> match () with | () -> mlconst_of_const' c) () with | uu___50_137 -> let uu____138 = - let uu____140 = FStar_Range.string_of_range p in - let uu____142 = FStar_Syntax_Print.const_to_string c in + let uu____140 = FStar_Range.string_of_range p in + let uu____142 = FStar_Syntax_Print.const_to_string c in FStar_Util.format2 "(%s) Failed to translate constant %s " - uu____140 uu____142 in + uu____140 uu____142 + in failwith uu____138 + let (mlexpr_of_range : FStar_Range.range -> FStar_Extraction_ML_Syntax.mlexpr') = - fun r -> + fun r -> let cint i = let uu____159 = let uu____160 = let uu____161 = - let uu____173 = FStar_Util.string_of_int i in - (uu____173, FStar_Pervasives_Native.None) in - FStar_Extraction_ML_Syntax.MLC_Int uu____161 in + let uu____173 = FStar_Util.string_of_int i in + (uu____173, FStar_Pervasives_Native.None) in + FStar_Extraction_ML_Syntax.MLC_Int uu____161 in FStar_All.pipe_right uu____160 - (fun _186 -> FStar_Extraction_ML_Syntax.MLE_Const _186) in + (fun _186 -> FStar_Extraction_ML_Syntax.MLE_Const _186) + in FStar_All.pipe_right uu____159 (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.ml_int_ty) in + FStar_Extraction_ML_Syntax.ml_int_ty) + in let cstr s = let uu____195 = FStar_All.pipe_right (FStar_Extraction_ML_Syntax.MLC_String s) - (fun _196 -> FStar_Extraction_ML_Syntax.MLE_Const _196) in + (fun _196 -> FStar_Extraction_ML_Syntax.MLE_Const _196) + in FStar_All.pipe_right uu____195 (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.ml_string_ty) in + FStar_Extraction_ML_Syntax.ml_string_ty) + in let uu____197 = let uu____204 = let uu____207 = - let uu____208 = FStar_Range.file_of_range r in - FStar_All.pipe_right uu____208 cstr in + let uu____208 = FStar_Range.file_of_range r in + FStar_All.pipe_right uu____208 cstr in let uu____211 = let uu____214 = let uu____215 = - let uu____217 = FStar_Range.start_of_range r in - FStar_All.pipe_right uu____217 FStar_Range.line_of_pos in - FStar_All.pipe_right uu____215 cint in + let uu____217 = FStar_Range.start_of_range r in + FStar_All.pipe_right uu____217 FStar_Range.line_of_pos in + FStar_All.pipe_right uu____215 cint in let uu____220 = let uu____223 = let uu____224 = - let uu____226 = FStar_Range.start_of_range r in - FStar_All.pipe_right uu____226 FStar_Range.col_of_pos in - FStar_All.pipe_right uu____224 cint in + let uu____226 = FStar_Range.start_of_range r in + FStar_All.pipe_right uu____226 FStar_Range.col_of_pos in + FStar_All.pipe_right uu____224 cint in let uu____229 = let uu____232 = let uu____233 = - let uu____235 = FStar_Range.end_of_range r in - FStar_All.pipe_right uu____235 FStar_Range.line_of_pos in - FStar_All.pipe_right uu____233 cint in + let uu____235 = FStar_Range.end_of_range r in + FStar_All.pipe_right uu____235 FStar_Range.line_of_pos in + FStar_All.pipe_right uu____233 cint in let uu____238 = let uu____241 = let uu____242 = - let uu____244 = FStar_Range.end_of_range r in - FStar_All.pipe_right uu____244 FStar_Range.col_of_pos in - FStar_All.pipe_right uu____242 cint in - [uu____241] in - uu____232 :: uu____238 in - uu____223 :: uu____229 in - uu____214 :: uu____220 in - uu____207 :: uu____211 in - (mk_range_mle, uu____204) in + let uu____244 = FStar_Range.end_of_range r in + FStar_All.pipe_right uu____244 FStar_Range.col_of_pos in + FStar_All.pipe_right uu____242 cint in + [uu____241] in + uu____232 :: uu____238 in + uu____223 :: uu____229 in + uu____214 :: uu____220 in + uu____207 :: uu____211 in + (mk_range_mle, uu____204) in FStar_Extraction_ML_Syntax.MLE_App uu____197 + let (mlexpr_of_const : FStar_Range.range -> FStar_Const.sconst -> FStar_Extraction_ML_Syntax.mlexpr') = - fun p -> - fun c -> + fun p -> + fun c -> match c with | FStar_Const.Const_range r -> mlexpr_of_range r | uu____261 -> - let uu____262 = mlconst_of_const p c in + let uu____262 = mlconst_of_const p c in FStar_Extraction_ML_Syntax.MLE_Const uu____262 + let rec (subst_aux : (FStar_Extraction_ML_Syntax.mlident * FStar_Extraction_ML_Syntax.mlty) Prims.list -> FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty) = - fun subst1 -> - fun t -> + fun subst1 -> + fun t -> match t with | FStar_Extraction_ML_Syntax.MLTY_Var x -> let uu____290 = FStar_Util.find_opt - (fun uu____306 -> - match uu____306 with | (y, uu____314) -> y = x) subst1 in + (fun uu____306 -> + match uu____306 with | (y,uu____314) -> y = x) subst1 + in (match uu____290 with | FStar_Pervasives_Native.Some ts -> FStar_Pervasives_Native.snd ts - | FStar_Pervasives_Native.None -> t) - | FStar_Extraction_ML_Syntax.MLTY_Fun (t1, f, t2) -> + | FStar_Pervasives_Native.None -> t) + | FStar_Extraction_ML_Syntax.MLTY_Fun (t1,f,t2) -> let uu____338 = - let uu____345 = subst_aux subst1 t1 in - let uu____346 = subst_aux subst1 t2 in (uu____345, f, uu____346) in + let uu____345 = subst_aux subst1 t1 in + let uu____346 = subst_aux subst1 t2 in (uu____345, f, uu____346) + in FStar_Extraction_ML_Syntax.MLTY_Fun uu____338 - | FStar_Extraction_ML_Syntax.MLTY_Named (args, path) -> + | FStar_Extraction_ML_Syntax.MLTY_Named (args,path) -> let uu____353 = - let uu____360 = FStar_List.map (subst_aux subst1) args in - (uu____360, path) in + let uu____360 = FStar_List.map (subst_aux subst1) args in + (uu____360, path) in FStar_Extraction_ML_Syntax.MLTY_Named uu____353 | FStar_Extraction_ML_Syntax.MLTY_Tuple ts -> - let uu____368 = FStar_List.map (subst_aux subst1) ts in + let uu____368 = FStar_List.map (subst_aux subst1) ts in FStar_Extraction_ML_Syntax.MLTY_Tuple uu____368 - | FStar_Extraction_ML_Syntax.MLTY_Top -> t - | FStar_Extraction_ML_Syntax.MLTY_Erased -> t + | FStar_Extraction_ML_Syntax.MLTY_Top -> t + | FStar_Extraction_ML_Syntax.MLTY_Erased -> t + let (try_subst : FStar_Extraction_ML_Syntax.mltyscheme -> FStar_Extraction_ML_Syntax.mlty Prims.list -> FStar_Extraction_ML_Syntax.mlty FStar_Pervasives_Native.option) = - fun uu____384 -> - fun args -> + fun uu____384 -> + fun args -> match uu____384 with - | (formals, t) -> + | (formals,t) -> if (FStar_List.length formals) <> (FStar_List.length args) then FStar_Pervasives_Native.None else (let uu____398 = - let uu____399 = FStar_List.zip formals args in - subst_aux uu____399 t in + let uu____399 = FStar_List.zip formals args in + subst_aux uu____399 t in FStar_Pervasives_Native.Some uu____398) + let (subst : (FStar_Extraction_ML_Syntax.mlidents * FStar_Extraction_ML_Syntax.mlty) -> FStar_Extraction_ML_Syntax.mlty Prims.list -> FStar_Extraction_ML_Syntax.mlty) = - fun ts -> - fun args -> - let uu____431 = try_subst ts args in + fun ts -> + fun args -> + let uu____431 = try_subst ts args in match uu____431 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> failwith "Substitution must be fully applied (see GitHub issue #490)" | FStar_Pervasives_Native.Some t -> t + let (udelta_unfold : FStar_Extraction_ML_UEnv.uenv -> FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty FStar_Pervasives_Native.option) = - fun g -> - fun uu___0_448 -> + fun g -> + fun uu___0_448 -> match uu___0_448 with - | FStar_Extraction_ML_Syntax.MLTY_Named (args, n1) -> - let uu____457 = FStar_Extraction_ML_UEnv.lookup_ty_const g n1 in + | FStar_Extraction_ML_Syntax.MLTY_Named (args,n1) -> + let uu____457 = FStar_Extraction_ML_UEnv.lookup_ty_const g n1 in (match uu____457 with | FStar_Pervasives_Native.Some ts -> - let uu____463 = try_subst ts args in + let uu____463 = try_subst ts args in (match uu____463 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____468 = let uu____470 = - FStar_Extraction_ML_Syntax.string_of_mlpath n1 in + FStar_Extraction_ML_Syntax.string_of_mlpath n1 in let uu____472 = - FStar_Util.string_of_int (FStar_List.length args) in + FStar_Util.string_of_int (FStar_List.length args) in let uu____474 = FStar_Util.string_of_int - (FStar_List.length (FStar_Pervasives_Native.fst ts)) in + (FStar_List.length (FStar_Pervasives_Native.fst ts)) + in FStar_Util.format3 "Substitution must be fully applied; got an application of %s with %s args whereas %s were expected (see GitHub issue #490)" - uu____470 uu____472 uu____474 in + uu____470 uu____472 uu____474 + in failwith uu____468 | FStar_Pervasives_Native.Some r -> FStar_Pervasives_Native.Some r) | uu____481 -> FStar_Pervasives_Native.None) | uu____484 -> FStar_Pervasives_Native.None + let (eff_leq : FStar_Extraction_ML_Syntax.e_tag -> FStar_Extraction_ML_Syntax.e_tag -> Prims.bool) = - fun f -> - fun f' -> + fun f -> + fun f' -> match (f, f') with - | (FStar_Extraction_ML_Syntax.E_PURE, uu____498) -> true - | (FStar_Extraction_ML_Syntax.E_GHOST, - FStar_Extraction_ML_Syntax.E_GHOST) -> true - | (FStar_Extraction_ML_Syntax.E_IMPURE, - FStar_Extraction_ML_Syntax.E_IMPURE) -> true + | (FStar_Extraction_ML_Syntax.E_PURE ,uu____498) -> true + | (FStar_Extraction_ML_Syntax.E_GHOST + ,FStar_Extraction_ML_Syntax.E_GHOST ) -> true + | (FStar_Extraction_ML_Syntax.E_IMPURE + ,FStar_Extraction_ML_Syntax.E_IMPURE ) -> true | uu____502 -> false + let (eff_to_string : FStar_Extraction_ML_Syntax.e_tag -> Prims.string) = - fun uu___1_514 -> + fun uu___1_514 -> match uu___1_514 with - | FStar_Extraction_ML_Syntax.E_PURE -> "Pure" - | FStar_Extraction_ML_Syntax.E_GHOST -> "Ghost" - | FStar_Extraction_ML_Syntax.E_IMPURE -> "Impure" + | FStar_Extraction_ML_Syntax.E_PURE -> "Pure" + | FStar_Extraction_ML_Syntax.E_GHOST -> "Ghost" + | FStar_Extraction_ML_Syntax.E_IMPURE -> "Impure" + let (join : FStar_Range.range -> FStar_Extraction_ML_Syntax.e_tag -> FStar_Extraction_ML_Syntax.e_tag -> FStar_Extraction_ML_Syntax.e_tag) = - fun r -> - fun f -> - fun f' -> + fun r -> + fun f -> + fun f' -> match (f, f') with - | (FStar_Extraction_ML_Syntax.E_IMPURE, - FStar_Extraction_ML_Syntax.E_PURE) -> + | (FStar_Extraction_ML_Syntax.E_IMPURE + ,FStar_Extraction_ML_Syntax.E_PURE ) -> FStar_Extraction_ML_Syntax.E_IMPURE - | (FStar_Extraction_ML_Syntax.E_PURE, - FStar_Extraction_ML_Syntax.E_IMPURE) -> + | (FStar_Extraction_ML_Syntax.E_PURE + ,FStar_Extraction_ML_Syntax.E_IMPURE ) -> FStar_Extraction_ML_Syntax.E_IMPURE - | (FStar_Extraction_ML_Syntax.E_IMPURE, - FStar_Extraction_ML_Syntax.E_IMPURE) -> + | (FStar_Extraction_ML_Syntax.E_IMPURE + ,FStar_Extraction_ML_Syntax.E_IMPURE ) -> FStar_Extraction_ML_Syntax.E_IMPURE - | (FStar_Extraction_ML_Syntax.E_GHOST, - FStar_Extraction_ML_Syntax.E_GHOST) -> + | (FStar_Extraction_ML_Syntax.E_GHOST + ,FStar_Extraction_ML_Syntax.E_GHOST ) -> FStar_Extraction_ML_Syntax.E_GHOST - | (FStar_Extraction_ML_Syntax.E_PURE, - FStar_Extraction_ML_Syntax.E_GHOST) -> + | (FStar_Extraction_ML_Syntax.E_PURE + ,FStar_Extraction_ML_Syntax.E_GHOST ) -> FStar_Extraction_ML_Syntax.E_GHOST - | (FStar_Extraction_ML_Syntax.E_GHOST, - FStar_Extraction_ML_Syntax.E_PURE) -> + | (FStar_Extraction_ML_Syntax.E_GHOST + ,FStar_Extraction_ML_Syntax.E_PURE ) -> FStar_Extraction_ML_Syntax.E_GHOST - | (FStar_Extraction_ML_Syntax.E_PURE, - FStar_Extraction_ML_Syntax.E_PURE) -> + | (FStar_Extraction_ML_Syntax.E_PURE + ,FStar_Extraction_ML_Syntax.E_PURE ) -> FStar_Extraction_ML_Syntax.E_PURE | uu____535 -> let uu____540 = - let uu____542 = FStar_Range.string_of_range r in - let uu____544 = eff_to_string f in - let uu____546 = eff_to_string f' in + let uu____542 = FStar_Range.string_of_range r in + let uu____544 = eff_to_string f in + let uu____546 = eff_to_string f' in FStar_Util.format3 "Impossible (%s): Inconsistent effects %s and %s" uu____542 - uu____544 uu____546 in + uu____544 uu____546 + in failwith uu____540 + let (join_l : FStar_Range.range -> FStar_Extraction_ML_Syntax.e_tag Prims.list -> FStar_Extraction_ML_Syntax.e_tag) = - fun r -> - fun fs -> + fun r -> + fun fs -> FStar_List.fold_left (join r) FStar_Extraction_ML_Syntax.E_PURE fs + let (mk_ty_fun : (FStar_Extraction_ML_Syntax.mlident * FStar_Extraction_ML_Syntax.mlty) Prims.list -> FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty) = FStar_List.fold_right - (fun uu____589 -> - fun t -> + (fun uu____589 -> + fun t -> match uu____589 with - | (uu____596, t0) -> + | (uu____596,t0) -> FStar_Extraction_ML_Syntax.MLTY_Fun (t0, FStar_Extraction_ML_Syntax.E_PURE, t)) + type unfold_t = FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty FStar_Pervasives_Native.option @@ -311,55 +338,58 @@ let rec (type_leq_c : (Prims.bool * FStar_Extraction_ML_Syntax.mlexpr FStar_Pervasives_Native.option)) = - fun unfold_ty -> - fun e -> - fun t -> - fun t' -> + fun unfold_ty -> + fun e -> + fun t -> + fun t' -> match (t, t') with - | (FStar_Extraction_ML_Syntax.MLTY_Var x, - FStar_Extraction_ML_Syntax.MLTY_Var y) -> + | (FStar_Extraction_ML_Syntax.MLTY_Var + x,FStar_Extraction_ML_Syntax.MLTY_Var y) -> if x = y then (true, e) else (false, FStar_Pervasives_Native.None) - | (FStar_Extraction_ML_Syntax.MLTY_Fun (t1, f, t2), - FStar_Extraction_ML_Syntax.MLTY_Fun (t1', f', t2')) -> + | (FStar_Extraction_ML_Syntax.MLTY_Fun + (t1,f,t2),FStar_Extraction_ML_Syntax.MLTY_Fun (t1',f',t2')) -> let mk_fun xs body = match xs with | [] -> body | uu____719 -> let e1 = match body.FStar_Extraction_ML_Syntax.expr with - | FStar_Extraction_ML_Syntax.MLE_Fun (ys, body1) -> + | FStar_Extraction_ML_Syntax.MLE_Fun (ys,body1) -> FStar_Extraction_ML_Syntax.MLE_Fun ((FStar_List.append xs ys), body1) | uu____756 -> - FStar_Extraction_ML_Syntax.MLE_Fun (xs, body) in + FStar_Extraction_ML_Syntax.MLE_Fun (xs, body) + in let uu____764 = - mk_ty_fun xs body.FStar_Extraction_ML_Syntax.mlty in - FStar_Extraction_ML_Syntax.with_ty uu____764 e1 in + mk_ty_fun xs body.FStar_Extraction_ML_Syntax.mlty in + FStar_Extraction_ML_Syntax.with_ty uu____764 e1 + in (match e with | FStar_Pervasives_Native.Some { FStar_Extraction_ML_Syntax.expr = - FStar_Extraction_ML_Syntax.MLE_Fun (x::xs, body); + FStar_Extraction_ML_Syntax.MLE_Fun (x::xs,body); FStar_Extraction_ML_Syntax.mlty = uu____775; FStar_Extraction_ML_Syntax.loc = uu____776;_} -> let uu____801 = - (type_leq unfold_ty t1' t1) && (eff_leq f f') in + (type_leq unfold_ty t1' t1) && (eff_leq f f') in if uu____801 then (if (f = FStar_Extraction_ML_Syntax.E_PURE) && (f' = FStar_Extraction_ML_Syntax.E_GHOST) then - let uu____819 = type_leq unfold_ty t2 t2' in + let uu____819 = type_leq unfold_ty t2 t2' in (if uu____819 then let body1 = let uu____830 = type_leq unfold_ty t2 - FStar_Extraction_ML_Syntax.ml_unit_ty in + FStar_Extraction_ML_Syntax.ml_unit_ty + in if uu____830 then FStar_Extraction_ML_Syntax.ml_unit else @@ -368,140 +398,155 @@ let rec (type_leq_c : (FStar_Extraction_ML_Syntax.MLE_Coerce (FStar_Extraction_ML_Syntax.ml_unit, FStar_Extraction_ML_Syntax.ml_unit_ty, - t2')) in + t2')) + in let uu____835 = let uu____838 = let uu____839 = let uu____844 = mk_ty_fun [x] - body1.FStar_Extraction_ML_Syntax.mlty in - FStar_Extraction_ML_Syntax.with_ty uu____844 in + body1.FStar_Extraction_ML_Syntax.mlty + in + FStar_Extraction_ML_Syntax.with_ty uu____844 + in FStar_All.pipe_left uu____839 (FStar_Extraction_ML_Syntax.MLE_Fun - ([x], body1)) in - FStar_Pervasives_Native.Some uu____838 in + ([x], body1)) + in + FStar_Pervasives_Native.Some uu____838 in (true, uu____835) else (false, FStar_Pervasives_Native.None)) else (let uu____884 = let uu____892 = - let uu____895 = mk_fun xs body in + let uu____895 = mk_fun xs body in FStar_All.pipe_left - (fun _898 -> FStar_Pervasives_Native.Some _898) - uu____895 in - type_leq_c unfold_ty uu____892 t2 t2' in + (fun _898 -> + FStar_Pervasives_Native.Some _898) + uu____895 + in + type_leq_c unfold_ty uu____892 t2 t2' in match uu____884 with - | (ok, body1) -> + | (ok,body1) -> let res = match body1 with | FStar_Pervasives_Native.Some body2 -> - let uu____920 = mk_fun [x] body2 in + let uu____920 = mk_fun [x] body2 in FStar_Pervasives_Native.Some uu____920 - | uu____931 -> FStar_Pervasives_Native.None in + | uu____931 -> FStar_Pervasives_Native.None + in (ok, res))) else (false, FStar_Pervasives_Native.None) | uu____943 -> let uu____946 = ((type_leq unfold_ty t1' t1) && (eff_leq f f')) && - (type_leq unfold_ty t2 t2') in + (type_leq unfold_ty t2 t2') + in if uu____946 then (true, e) else (false, FStar_Pervasives_Native.None)) - | (FStar_Extraction_ML_Syntax.MLTY_Named (args, path), - FStar_Extraction_ML_Syntax.MLTY_Named (args', path')) -> + | (FStar_Extraction_ML_Syntax.MLTY_Named + (args,path),FStar_Extraction_ML_Syntax.MLTY_Named (args',path')) + -> if path = path' then let uu____986 = - FStar_List.forall2 (type_leq unfold_ty) args args' in + FStar_List.forall2 (type_leq unfold_ty) args args' in (if uu____986 then (true, e) else (false, FStar_Pervasives_Native.None)) else - (let uu____1008 = unfold_ty t in + (let uu____1008 = unfold_ty t in match uu____1008 with | FStar_Pervasives_Native.Some t1 -> type_leq_c unfold_ty e t1 t' - | FStar_Pervasives_Native.None -> - let uu____1019 = unfold_ty t' in + | FStar_Pervasives_Native.None -> + let uu____1019 = unfold_ty t' in (match uu____1019 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (false, FStar_Pervasives_Native.None) | FStar_Pervasives_Native.Some t'1 -> type_leq_c unfold_ty e t t'1)) - | (FStar_Extraction_ML_Syntax.MLTY_Tuple ts, - FStar_Extraction_ML_Syntax.MLTY_Tuple ts') -> - let uu____1040 = FStar_List.forall2 (type_leq unfold_ty) ts ts' in + | (FStar_Extraction_ML_Syntax.MLTY_Tuple + ts,FStar_Extraction_ML_Syntax.MLTY_Tuple ts') -> + let uu____1040 = FStar_List.forall2 (type_leq unfold_ty) ts ts' + in if uu____1040 then (true, e) else (false, FStar_Pervasives_Native.None) - | (FStar_Extraction_ML_Syntax.MLTY_Top, - FStar_Extraction_ML_Syntax.MLTY_Top) -> (true, e) - | (FStar_Extraction_ML_Syntax.MLTY_Named uu____1064, uu____1065) -> - let uu____1072 = unfold_ty t in + | (FStar_Extraction_ML_Syntax.MLTY_Top + ,FStar_Extraction_ML_Syntax.MLTY_Top ) -> (true, e) + | (FStar_Extraction_ML_Syntax.MLTY_Named uu____1064,uu____1065) -> + let uu____1072 = unfold_ty t in (match uu____1072 with | FStar_Pervasives_Native.Some t1 -> type_leq_c unfold_ty e t1 t' | uu____1083 -> (false, FStar_Pervasives_Native.None)) - | (uu____1090, FStar_Extraction_ML_Syntax.MLTY_Named uu____1091) -> - let uu____1098 = unfold_ty t' in + | (uu____1090,FStar_Extraction_ML_Syntax.MLTY_Named uu____1091) -> + let uu____1098 = unfold_ty t' in (match uu____1098 with | FStar_Pervasives_Native.Some t'1 -> type_leq_c unfold_ty e t t'1 | uu____1109 -> (false, FStar_Pervasives_Native.None)) - | (FStar_Extraction_ML_Syntax.MLTY_Erased, - FStar_Extraction_ML_Syntax.MLTY_Erased) -> (true, e) + | (FStar_Extraction_ML_Syntax.MLTY_Erased + ,FStar_Extraction_ML_Syntax.MLTY_Erased ) -> (true, e) | uu____1120 -> (false, FStar_Pervasives_Native.None) + and (type_leq : unfold_t -> FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty -> Prims.bool) = - fun g -> - fun t1 -> - fun t2 -> - let uu____1134 = type_leq_c g FStar_Pervasives_Native.None t1 t2 in + fun g -> + fun t1 -> + fun t2 -> + let uu____1134 = type_leq_c g FStar_Pervasives_Native.None t1 t2 in FStar_All.pipe_right uu____1134 FStar_Pervasives_Native.fst + let rec (erase_effect_annotations : FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty) = - fun t -> + fun t -> match t with - | FStar_Extraction_ML_Syntax.MLTY_Fun (t1, f, t2) -> + | FStar_Extraction_ML_Syntax.MLTY_Fun (t1,f,t2) -> let uu____1162 = - let uu____1169 = erase_effect_annotations t1 in - let uu____1170 = erase_effect_annotations t2 in - (uu____1169, FStar_Extraction_ML_Syntax.E_PURE, uu____1170) in + let uu____1169 = erase_effect_annotations t1 in + let uu____1170 = erase_effect_annotations t2 in + (uu____1169, FStar_Extraction_ML_Syntax.E_PURE, uu____1170) in FStar_Extraction_ML_Syntax.MLTY_Fun uu____1162 | uu____1171 -> t + let is_type_abstraction : - 'a 'b 'c . (('a, 'b) FStar_Util.either * 'c) Prims.list -> Prims.bool = - fun uu___2_1199 -> + 'a 'b 'c . (('a,'b) FStar_Util.either * 'c) Prims.list -> Prims.bool = + fun uu___2_1199 -> match uu___2_1199 with - | (FStar_Util.Inl uu____1211, uu____1212)::uu____1213 -> true + | (FStar_Util.Inl uu____1211,uu____1212)::uu____1213 -> true | uu____1237 -> false + let (is_xtuple : (Prims.string Prims.list * Prims.string) -> Prims.int FStar_Pervasives_Native.option) = - fun uu____1265 -> + fun uu____1265 -> match uu____1265 with - | (ns, n1) -> + | (ns,n1) -> let uu____1287 = let uu____1289 = - FStar_Util.concat_l "." (FStar_List.append ns [n1]) in - FStar_Parser_Const.is_tuple_datacon_string uu____1289 in + FStar_Util.concat_l "." (FStar_List.append ns [n1]) in + FStar_Parser_Const.is_tuple_datacon_string uu____1289 in if uu____1287 then let uu____1299 = - let uu____1301 = FStar_Util.char_at n1 (Prims.parse_int "7") in - FStar_Util.int_of_char uu____1301 in + let uu____1301 = FStar_Util.char_at n1 (Prims.parse_int "7") in + FStar_Util.int_of_char uu____1301 in FStar_Pervasives_Native.Some uu____1299 else FStar_Pervasives_Native.None + let (resugar_exp : FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr) = - fun e -> + fun e -> match e.FStar_Extraction_ML_Syntax.expr with - | FStar_Extraction_ML_Syntax.MLE_CTor (mlp, args) -> - let uu____1320 = is_xtuple mlp in + | FStar_Extraction_ML_Syntax.MLE_CTor (mlp,args) -> + let uu____1320 = is_xtuple mlp in (match uu____1320 with | FStar_Pervasives_Native.Some n1 -> FStar_All.pipe_left @@ -510,229 +555,260 @@ let (resugar_exp : (FStar_Extraction_ML_Syntax.MLE_Tuple args) | uu____1327 -> e) | uu____1331 -> e + let (record_field_path : FStar_Ident.lident Prims.list -> Prims.string Prims.list) = - fun uu___3_1342 -> + fun uu___3_1342 -> match uu___3_1342 with | f::uu____1349 -> - let uu____1352 = FStar_Util.prefix f.FStar_Ident.ns in + let uu____1352 = FStar_Util.prefix f.FStar_Ident.ns in (match uu____1352 with - | (ns, uu____1363) -> + | (ns,uu____1363) -> FStar_All.pipe_right ns - (FStar_List.map (fun id1 -> id1.FStar_Ident.idText))) + (FStar_List.map (fun id1 -> id1.FStar_Ident.idText))) | uu____1376 -> failwith "impos" + let record_fields : 'a . FStar_Ident.lident Prims.list -> 'a Prims.list -> (Prims.string * 'a) Prims.list = - fun fs -> - fun vs -> + fun fs -> + fun vs -> FStar_List.map2 - (fun f -> fun e -> (((f.FStar_Ident.ident).FStar_Ident.idText), e)) + (fun f -> fun e -> (((f.FStar_Ident.ident).FStar_Ident.idText), e)) fs vs + let (is_xtuple_ty : (Prims.string Prims.list * Prims.string) -> Prims.int FStar_Pervasives_Native.option) = - fun uu____1442 -> + fun uu____1442 -> match uu____1442 with - | (ns, n1) -> + | (ns,n1) -> let uu____1464 = let uu____1466 = - FStar_Util.concat_l "." (FStar_List.append ns [n1]) in - FStar_Parser_Const.is_tuple_constructor_string uu____1466 in + FStar_Util.concat_l "." (FStar_List.append ns [n1]) in + FStar_Parser_Const.is_tuple_constructor_string uu____1466 in if uu____1464 then let uu____1476 = - let uu____1478 = FStar_Util.char_at n1 (Prims.parse_int "5") in - FStar_Util.int_of_char uu____1478 in + let uu____1478 = FStar_Util.char_at n1 (Prims.parse_int "5") in + FStar_Util.int_of_char uu____1478 in FStar_Pervasives_Native.Some uu____1476 else FStar_Pervasives_Native.None + let (resugar_mlty : FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty) = - fun t -> + fun t -> match t with - | FStar_Extraction_ML_Syntax.MLTY_Named (args, mlp) -> - let uu____1497 = is_xtuple_ty mlp in + | FStar_Extraction_ML_Syntax.MLTY_Named (args,mlp) -> + let uu____1497 = is_xtuple_ty mlp in (match uu____1497 with | FStar_Pervasives_Native.Some n1 -> FStar_Extraction_ML_Syntax.MLTY_Tuple args | uu____1504 -> t) | uu____1508 -> t + let (flatten_ns : Prims.string Prims.list -> Prims.string) = - fun ns -> - let uu____1522 = codegen_fsharp () in + fun ns -> + let uu____1522 = codegen_fsharp () in if uu____1522 then FStar_String.concat "." ns else FStar_String.concat "_" ns + let (flatten_mlpath : (Prims.string Prims.list * Prims.string) -> Prims.string) = - fun uu____1544 -> + fun uu____1544 -> match uu____1544 with - | (ns, n1) -> - let uu____1564 = codegen_fsharp () in + | (ns,n1) -> + let uu____1564 = codegen_fsharp () in if uu____1564 then FStar_String.concat "." (FStar_List.append ns [n1]) else FStar_String.concat "_" (FStar_List.append ns [n1]) + let (mlpath_of_lid : FStar_Ident.lident -> (Prims.string Prims.list * Prims.string)) = - fun l -> + fun l -> let uu____1592 = FStar_All.pipe_right l.FStar_Ident.ns - (FStar_List.map (fun i -> i.FStar_Ident.idText)) in + (FStar_List.map (fun i -> i.FStar_Ident.idText)) + in (uu____1592, ((l.FStar_Ident.ident).FStar_Ident.idText)) + let rec (erasableType : unfold_t -> FStar_Extraction_ML_Syntax.mlty -> Prims.bool) = - fun unfold_ty -> - fun t -> - let uu____1623 = FStar_Extraction_ML_UEnv.erasableTypeNoDelta t in + fun unfold_ty -> + fun t -> + let uu____1623 = FStar_Extraction_ML_UEnv.erasableTypeNoDelta t in if uu____1623 then true else - (let uu____1630 = unfold_ty t in + (let uu____1630 = unfold_ty t in match uu____1630 with | FStar_Pervasives_Native.Some t1 -> erasableType unfold_ty t1 - | FStar_Pervasives_Native.None -> false) + | FStar_Pervasives_Native.None -> false) + let rec (eraseTypeDeep : unfold_t -> FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty) = - fun unfold_ty -> - fun t -> + fun unfold_ty -> + fun t -> match t with - | FStar_Extraction_ML_Syntax.MLTY_Fun (tyd, etag, tycd) -> + | FStar_Extraction_ML_Syntax.MLTY_Fun (tyd,etag,tycd) -> if etag = FStar_Extraction_ML_Syntax.E_PURE then let uu____1653 = - let uu____1660 = eraseTypeDeep unfold_ty tyd in - let uu____1661 = eraseTypeDeep unfold_ty tycd in - (uu____1660, etag, uu____1661) in + let uu____1660 = eraseTypeDeep unfold_ty tyd in + let uu____1661 = eraseTypeDeep unfold_ty tycd in + (uu____1660, etag, uu____1661) in FStar_Extraction_ML_Syntax.MLTY_Fun uu____1653 else t - | FStar_Extraction_ML_Syntax.MLTY_Named (lty, mlp) -> - let uu____1670 = erasableType unfold_ty t in + | FStar_Extraction_ML_Syntax.MLTY_Named (lty,mlp) -> + let uu____1670 = erasableType unfold_ty t in if uu____1670 then FStar_Extraction_ML_UEnv.erasedContent else (let uu____1675 = - let uu____1682 = FStar_List.map (eraseTypeDeep unfold_ty) lty in - (uu____1682, mlp) in + let uu____1682 = FStar_List.map (eraseTypeDeep unfold_ty) lty + in + (uu____1682, mlp) in FStar_Extraction_ML_Syntax.MLTY_Named uu____1675) | FStar_Extraction_ML_Syntax.MLTY_Tuple lty -> - let uu____1690 = FStar_List.map (eraseTypeDeep unfold_ty) lty in + let uu____1690 = FStar_List.map (eraseTypeDeep unfold_ty) lty in FStar_Extraction_ML_Syntax.MLTY_Tuple uu____1690 | uu____1693 -> t + let (prims_op_equality : FStar_Extraction_ML_Syntax.mlexpr) = FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top) (FStar_Extraction_ML_Syntax.MLE_Name (["Prims"], "op_Equality")) + let (prims_op_amp_amp : FStar_Extraction_ML_Syntax.mlexpr) = let uu____1704 = let uu____1709 = mk_ty_fun [("x", FStar_Extraction_ML_Syntax.ml_bool_ty); ("y", FStar_Extraction_ML_Syntax.ml_bool_ty)] - FStar_Extraction_ML_Syntax.ml_bool_ty in - FStar_Extraction_ML_Syntax.with_ty uu____1709 in + FStar_Extraction_ML_Syntax.ml_bool_ty + in + FStar_Extraction_ML_Syntax.with_ty uu____1709 in FStar_All.pipe_left uu____1704 (FStar_Extraction_ML_Syntax.MLE_Name (["Prims"], "op_AmpAmp")) + let (conjoin : FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr -> FStar_Extraction_ML_Syntax.mlexpr) = - fun e1 -> - fun e2 -> + fun e1 -> + fun e2 -> FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.ml_bool_ty) (FStar_Extraction_ML_Syntax.MLE_App (prims_op_amp_amp, [e1; e2])) + let (conjoin_opt : FStar_Extraction_ML_Syntax.mlexpr FStar_Pervasives_Native.option -> FStar_Extraction_ML_Syntax.mlexpr FStar_Pervasives_Native.option -> FStar_Extraction_ML_Syntax.mlexpr FStar_Pervasives_Native.option) = - fun e1 -> - fun e2 -> + fun e1 -> + fun e2 -> match (e1, e2) with - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.None ) -> FStar_Pervasives_Native.None - | (FStar_Pervasives_Native.Some x, FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.Some x,FStar_Pervasives_Native.None ) -> FStar_Pervasives_Native.Some x - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.Some x) -> + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.Some x) -> FStar_Pervasives_Native.Some x - | (FStar_Pervasives_Native.Some x, FStar_Pervasives_Native.Some y) -> - let uu____1797 = conjoin x y in + | (FStar_Pervasives_Native.Some x,FStar_Pervasives_Native.Some y) -> + let uu____1797 = conjoin x y in FStar_Pervasives_Native.Some uu____1797 + let (mlloc_of_range : FStar_Range.range -> (Prims.int * Prims.string)) = - fun r -> - let pos = FStar_Range.start_of_range r in - let line = FStar_Range.line_of_pos pos in - let uu____1813 = FStar_Range.file_of_range r in (line, uu____1813) + fun r -> + let pos = FStar_Range.start_of_range r in + let line = FStar_Range.line_of_pos pos in + let uu____1813 = FStar_Range.file_of_range r in (line, uu____1813) + let rec (doms_and_cod : FStar_Extraction_ML_Syntax.mlty -> (FStar_Extraction_ML_Syntax.mlty Prims.list * FStar_Extraction_ML_Syntax.mlty)) = - fun t -> + fun t -> match t with - | FStar_Extraction_ML_Syntax.MLTY_Fun (a, uu____1836, b) -> - let uu____1838 = doms_and_cod b in - (match uu____1838 with | (ds, c) -> ((a :: ds), c)) + | FStar_Extraction_ML_Syntax.MLTY_Fun (a,uu____1836,b) -> + let uu____1838 = doms_and_cod b in + (match uu____1838 with | (ds,c) -> ((a :: ds), c)) | uu____1859 -> ([], t) + let (argTypes : FStar_Extraction_ML_Syntax.mlty -> FStar_Extraction_ML_Syntax.mlty Prims.list) = - fun t -> - let uu____1872 = doms_and_cod t in FStar_Pervasives_Native.fst uu____1872 + fun t -> + let uu____1872 = doms_and_cod t in + FStar_Pervasives_Native.fst uu____1872 + let rec (uncurry_mlty_fun : FStar_Extraction_ML_Syntax.mlty -> (FStar_Extraction_ML_Syntax.mlty Prims.list * FStar_Extraction_ML_Syntax.mlty)) = - fun t -> + fun t -> match t with - | FStar_Extraction_ML_Syntax.MLTY_Fun (a, uu____1900, b) -> - let uu____1902 = uncurry_mlty_fun b in - (match uu____1902 with | (args, res) -> ((a :: args), res)) + | FStar_Extraction_ML_Syntax.MLTY_Fun (a,uu____1900,b) -> + let uu____1902 = uncurry_mlty_fun b in + (match uu____1902 with | (args,res) -> ((a :: args), res)) | uu____1923 -> ([], t) + exception NoTacticEmbedding of Prims.string let (uu___is_NoTacticEmbedding : Prims.exn -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | NoTacticEmbedding uu____1939 -> true | uu____1942 -> false + let (__proj__NoTacticEmbedding__item__uu___ : Prims.exn -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | NoTacticEmbedding uu____1952 -> uu____1952 + let (not_implemented_warning : FStar_Range.range -> Prims.string -> Prims.string -> unit) = - fun r -> - fun t -> - fun msg -> + fun r -> + fun t -> + fun msg -> let uu____1974 = let uu____1980 = FStar_Util.format2 - "Plugin %s will not run natively because %s.\n" t msg in - (FStar_Errors.Warning_CallNotImplementedAsWarning, uu____1980) in + "Plugin %s will not run natively because %s.\n" t msg + in + (FStar_Errors.Warning_CallNotImplementedAsWarning, uu____1980) in FStar_Errors.log_issue r uu____1974 + type emb_loc = | Syntax_term | Refl_emb | NBE_t | NBERefl_emb let (uu___is_Syntax_term : emb_loc -> Prims.bool) = - fun projectee -> - match projectee with | Syntax_term -> true | uu____1993 -> false + fun projectee -> + match projectee with | Syntax_term -> true | uu____1993 -> false + let (uu___is_Refl_emb : emb_loc -> Prims.bool) = - fun projectee -> - match projectee with | Refl_emb -> true | uu____2004 -> false + fun projectee -> + match projectee with | Refl_emb -> true | uu____2004 -> false + let (uu___is_NBE_t : emb_loc -> Prims.bool) = - fun projectee -> match projectee with | NBE_t -> true | uu____2015 -> false + fun projectee -> + match projectee with | NBE_t -> true | uu____2015 -> false + let (uu___is_NBERefl_emb : emb_loc -> Prims.bool) = - fun projectee -> - match projectee with | NBERefl_emb -> true | uu____2026 -> false + fun projectee -> + match projectee with | NBERefl_emb -> true | uu____2026 -> false + type wrapped_term = (FStar_Extraction_ML_Syntax.mlexpr * FStar_Extraction_ML_Syntax.mlexpr * Prims.int * Prims.bool) @@ -746,114 +822,126 @@ let (interpret_plugin_as_term_fun : FStar_Extraction_ML_Syntax.mlexpr * Prims.int * Prims.bool) FStar_Pervasives_Native.option) = - fun tcenv -> - fun fv -> - fun t -> - fun arity_opt -> - fun ml_fv -> + fun tcenv -> + fun fv -> + fun t -> + fun arity_opt -> + fun ml_fv -> let fv_lid1 = - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in let t1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.EraseUniverses; FStar_TypeChecker_Env.AllowUnboundUniverses; FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant] tcenv t in + FStar_Syntax_Syntax.delta_constant] tcenv t + in let w = FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top in + FStar_Extraction_ML_Syntax.MLTY_Top + in let lid_to_name l = let uu____2097 = let uu____2098 = - FStar_Extraction_ML_Syntax.mlpath_of_lident l in - FStar_Extraction_ML_Syntax.MLE_Name uu____2098 in + FStar_Extraction_ML_Syntax.mlpath_of_lident l in + FStar_Extraction_ML_Syntax.MLE_Name uu____2098 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) uu____2097 in + FStar_Extraction_ML_Syntax.MLTY_Top) uu____2097 + in let lid_to_top_name l = let uu____2105 = let uu____2106 = - FStar_Extraction_ML_Syntax.mlpath_of_lident l in - FStar_Extraction_ML_Syntax.MLE_Name uu____2106 in + FStar_Extraction_ML_Syntax.mlpath_of_lident l in + FStar_Extraction_ML_Syntax.MLE_Name uu____2106 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) uu____2105 in + FStar_Extraction_ML_Syntax.MLTY_Top) uu____2105 + in let str_to_name s = - let uu____2115 = FStar_Ident.lid_of_str s in - lid_to_name uu____2115 in + let uu____2115 = FStar_Ident.lid_of_str s in + lid_to_name uu____2115 in let str_to_top_name s = - let uu____2124 = FStar_Ident.lid_of_str s in - lid_to_top_name uu____2124 in + let uu____2124 = FStar_Ident.lid_of_str s in + lid_to_top_name uu____2124 in let fstar_tc_nbe_prefix s = - str_to_name (Prims.op_Hat "FStar_TypeChecker_NBETerm." s) in + str_to_name (Prims.op_Hat "FStar_TypeChecker_NBETerm." s) in let fstar_syn_emb_prefix s = - str_to_name (Prims.op_Hat "FStar_Syntax_Embeddings." s) in + str_to_name (Prims.op_Hat "FStar_Syntax_Embeddings." s) in let fstar_refl_emb_prefix s = - str_to_name (Prims.op_Hat "FStar_Reflection_Embeddings." s) in + str_to_name (Prims.op_Hat "FStar_Reflection_Embeddings." s) in let fstar_refl_nbeemb_prefix s = - str_to_name (Prims.op_Hat "FStar_Reflection_NBEEmbeddings." s) in + str_to_name (Prims.op_Hat "FStar_Reflection_NBEEmbeddings." s) + in let fv_lid_embedded = let uu____2162 = let uu____2163 = - let uu____2170 = str_to_name "FStar_Ident.lid_of_str" in + let uu____2170 = str_to_name "FStar_Ident.lid_of_str" in let uu____2172 = let uu____2175 = let uu____2176 = let uu____2177 = - let uu____2178 = FStar_Ident.string_of_lid fv_lid1 in - FStar_Extraction_ML_Syntax.MLC_String uu____2178 in - FStar_Extraction_ML_Syntax.MLE_Const uu____2177 in + let uu____2178 = FStar_Ident.string_of_lid fv_lid1 + in + FStar_Extraction_ML_Syntax.MLC_String uu____2178 + in + FStar_Extraction_ML_Syntax.MLE_Const uu____2177 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) uu____2176 in - [uu____2175] in - (uu____2170, uu____2172) in - FStar_Extraction_ML_Syntax.MLE_App uu____2163 in + FStar_Extraction_ML_Syntax.MLTY_Top) uu____2176 + in + [uu____2175] in + (uu____2170, uu____2172) in + FStar_Extraction_ML_Syntax.MLE_App uu____2163 in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty - FStar_Extraction_ML_Syntax.MLTY_Top) uu____2162 in + FStar_Extraction_ML_Syntax.MLTY_Top) uu____2162 + in let emb_prefix uu___4_2193 = match uu___4_2193 with - | Syntax_term -> fstar_syn_emb_prefix - | Refl_emb -> fstar_refl_emb_prefix - | NBE_t -> fstar_tc_nbe_prefix - | NBERefl_emb -> fstar_refl_nbeemb_prefix in + | Syntax_term -> fstar_syn_emb_prefix + | Refl_emb -> fstar_refl_emb_prefix + | NBE_t -> fstar_tc_nbe_prefix + | NBERefl_emb -> fstar_refl_nbeemb_prefix in let mk_tactic_interpretation l = match l with - | Syntax_term -> + | Syntax_term -> "FStar_Tactics_InterpFuns.mk_tactic_interpretation_" | uu____2207 -> - "FStar_Tactics_InterpFuns.mk_nbe_tactic_interpretation_" in + "FStar_Tactics_InterpFuns.mk_nbe_tactic_interpretation_" + in let mk_from_tactic l = match l with - | Syntax_term -> "FStar_Tactics_Native.from_tactic_" - | uu____2218 -> "FStar_Tactics_Native.from_nbe_tactic_" in - let mk_basic_embedding l s = emb_prefix l (Prims.op_Hat "e_" s) in + | Syntax_term -> "FStar_Tactics_Native.from_tactic_" + | uu____2218 -> "FStar_Tactics_Native.from_nbe_tactic_" in + let mk_basic_embedding l s = emb_prefix l (Prims.op_Hat "e_" s) + in let mk_arrow_as_prim_step l arity = let uu____2247 = - let uu____2249 = FStar_Util.string_of_int arity in - Prims.op_Hat "arrow_as_prim_step_" uu____2249 in - emb_prefix l uu____2247 in + let uu____2249 = FStar_Util.string_of_int arity in + Prims.op_Hat "arrow_as_prim_step_" uu____2249 in + emb_prefix l uu____2247 in let mk_any_embedding l s = let uu____2265 = let uu____2266 = - let uu____2273 = emb_prefix l "mk_any_emb" in + let uu____2273 = emb_prefix l "mk_any_emb" in let uu____2275 = - let uu____2278 = str_to_name s in [uu____2278] in - (uu____2273, uu____2275) in - FStar_Extraction_ML_Syntax.MLE_App uu____2266 in - FStar_All.pipe_left w uu____2265 in + let uu____2278 = str_to_name s in [uu____2278] in + (uu____2273, uu____2275) in + FStar_Extraction_ML_Syntax.MLE_App uu____2266 in + FStar_All.pipe_left w uu____2265 in let mk_lam nm e = FStar_All.pipe_left w (FStar_Extraction_ML_Syntax.MLE_Fun - ([(nm, FStar_Extraction_ML_Syntax.MLTY_Top)], e)) in + ([(nm, FStar_Extraction_ML_Syntax.MLTY_Top)], e)) + in let emb_arrow l e1 e2 = let uu____2328 = let uu____2329 = - let uu____2336 = emb_prefix l "e_arrow" in - (uu____2336, [e1; e2]) in - FStar_Extraction_ML_Syntax.MLE_App uu____2329 in - FStar_All.pipe_left w uu____2328 in + let uu____2336 = emb_prefix l "e_arrow" in + (uu____2336, [e1; e2]) in + FStar_Extraction_ML_Syntax.MLE_App uu____2329 in + FStar_All.pipe_left w uu____2328 in let known_type_constructors = let term_cs = let uu____2374 = @@ -868,187 +956,217 @@ let (interpret_plugin_as_term_fun : let uu____2501 = FStar_Parser_Const.mk_tuple_lid (Prims.parse_int "2") - FStar_Range.dummyRange in + FStar_Range.dummyRange + in (uu____2501, (Prims.parse_int "2"), - "tuple2") in - (uu____2492, Syntax_term) in + "tuple2") + in + (uu____2492, Syntax_term) in let uu____2515 = let uu____2530 = let uu____2543 = let uu____2552 = FStar_Reflection_Data.fstar_refl_types_lid - "term" in + "term" + in (uu____2552, (Prims.parse_int "0"), - "term") in - (uu____2543, Refl_emb) in + "term") + in + (uu____2543, Refl_emb) in let uu____2566 = let uu____2581 = let uu____2594 = let uu____2603 = FStar_Reflection_Data.fstar_refl_types_lid - "fv" in + "fv" + in (uu____2603, (Prims.parse_int "0"), - "fv") in - (uu____2594, Refl_emb) in + "fv") + in + (uu____2594, Refl_emb) in let uu____2617 = let uu____2632 = let uu____2645 = let uu____2654 = FStar_Reflection_Data.fstar_refl_types_lid - "binder" in + "binder" + in (uu____2654, (Prims.parse_int "0"), - "binder") in - (uu____2645, Refl_emb) in + "binder") + in + (uu____2645, Refl_emb) in let uu____2668 = let uu____2683 = let uu____2696 = let uu____2705 = FStar_Reflection_Data.fstar_refl_syntax_lid - "binders" in + "binders" + in (uu____2705, (Prims.parse_int "0"), - "binders") in - (uu____2696, Refl_emb) in + "binders") + in + (uu____2696, Refl_emb) in let uu____2719 = let uu____2734 = let uu____2747 = let uu____2756 = FStar_Reflection_Data.fstar_refl_data_lid - "exp" in + "exp" + in (uu____2756, - (Prims.parse_int "0"), "exp") in - (uu____2747, Refl_emb) in - [uu____2734] in - uu____2683 :: uu____2719 in - uu____2632 :: uu____2668 in - uu____2581 :: uu____2617 in - uu____2530 :: uu____2566 in - uu____2479 :: uu____2515 in + (Prims.parse_int "0"), "exp") + in + (uu____2747, Refl_emb) in + [uu____2734] in + uu____2683 :: uu____2719 in + uu____2632 :: uu____2668 in + uu____2581 :: uu____2617 in + uu____2530 :: uu____2566 in + uu____2479 :: uu____2515 in ((FStar_Parser_Const.option_lid, (Prims.parse_int "1"), "option"), Syntax_term) - :: uu____2464 in + :: uu____2464 + in ((FStar_Parser_Const.list_lid, (Prims.parse_int "1"), "list"), Syntax_term) - :: uu____2449 in + :: uu____2449 + in ((FStar_Parser_Const.norm_step_lid, (Prims.parse_int "0"), "norm_step"), Syntax_term) - :: uu____2434 in + :: uu____2434 + in ((FStar_Parser_Const.string_lid, (Prims.parse_int "0"), "string"), Syntax_term) - :: uu____2419 in + :: uu____2419 + in ((FStar_Parser_Const.unit_lid, (Prims.parse_int "0"), "unit"), Syntax_term) - :: uu____2404 in + :: uu____2404 + in ((FStar_Parser_Const.bool_lid, (Prims.parse_int "0"), "bool"), Syntax_term) - :: uu____2389 in + :: uu____2389 + in ((FStar_Parser_Const.int_lid, (Prims.parse_int "0"), "int"), - Syntax_term) :: uu____2374 in + Syntax_term) :: uu____2374 + in let nbe_cs = FStar_List.map - (fun uu___5_3063 -> + (fun uu___5_3063 -> match uu___5_3063 with - | (x, Syntax_term) -> (x, NBE_t) - | (x, Refl_emb) -> (x, NBERefl_emb) - | uu____3138 -> failwith "Impossible") term_cs in - fun uu___6_3164 -> + | (x,Syntax_term ) -> (x, NBE_t) + | (x,Refl_emb ) -> (x, NBERefl_emb) + | uu____3138 -> failwith "Impossible") term_cs + in + fun uu___6_3164 -> match uu___6_3164 with - | Syntax_term -> term_cs - | Refl_emb -> term_cs - | uu____3179 -> nbe_cs in + | Syntax_term -> term_cs + | Refl_emb -> term_cs + | uu____3179 -> nbe_cs + in let is_known_type_constructor l fv1 n1 = FStar_Util.for_some - (fun uu____3216 -> + (fun uu____3216 -> match uu____3216 with - | ((x, args, uu____3232), uu____3233) -> + | ((x,args,uu____3232),uu____3233) -> (FStar_Syntax_Syntax.fv_eq_lid fv1 x) && (n1 = args)) - (known_type_constructors l) in + (known_type_constructors l) + in let find_env_entry bv uu____3263 = match uu____3263 with - | (bv', uu____3271) -> FStar_Syntax_Syntax.bv_eq bv bv' in + | (bv',uu____3271) -> FStar_Syntax_Syntax.bv_eq bv bv' in let rec mk_embedding l env t2 = - let t3 = FStar_TypeChecker_Normalize.unfold_whnf tcenv t2 in + let t3 = FStar_TypeChecker_Normalize.unfold_whnf tcenv t2 in let uu____3305 = - let uu____3306 = FStar_Syntax_Subst.compress t3 in - uu____3306.FStar_Syntax_Syntax.n in + let uu____3306 = FStar_Syntax_Subst.compress t3 in + uu____3306.FStar_Syntax_Syntax.n in match uu____3305 with | FStar_Syntax_Syntax.Tm_name bv when FStar_Util.for_some (find_env_entry bv) env -> let uu____3315 = let uu____3317 = let uu____3323 = - FStar_Util.find_opt (find_env_entry bv) env in - FStar_Util.must uu____3323 in - FStar_Pervasives_Native.snd uu____3317 in + FStar_Util.find_opt (find_env_entry bv) env in + FStar_Util.must uu____3323 in + FStar_Pervasives_Native.snd uu____3317 in FStar_All.pipe_left (mk_any_embedding l) uu____3315 - | FStar_Syntax_Syntax.Tm_refine (x, uu____3344) -> + | FStar_Syntax_Syntax.Tm_refine (x,uu____3344) -> mk_embedding l env x.FStar_Syntax_Syntax.sort - | FStar_Syntax_Syntax.Tm_ascribed (t4, uu____3350, uu____3351) - -> mk_embedding l env t4 - | FStar_Syntax_Syntax.Tm_arrow (b::[], c) when + | FStar_Syntax_Syntax.Tm_ascribed (t4,uu____3350,uu____3351) -> + mk_embedding l env t4 + | FStar_Syntax_Syntax.Tm_arrow (b::[],c) when FStar_Syntax_Util.is_pure_comp c -> - let uu____3424 = FStar_Syntax_Subst.open_comp [b] c in + let uu____3424 = FStar_Syntax_Subst.open_comp [b] c in (match uu____3424 with - | (bs, c1) -> + | (bs,c1) -> let t0 = let uu____3446 = - let uu____3447 = FStar_List.hd bs in - FStar_Pervasives_Native.fst uu____3447 in - uu____3446.FStar_Syntax_Syntax.sort in - let t11 = FStar_Syntax_Util.comp_result c1 in - let uu____3465 = mk_embedding l env t0 in - let uu____3466 = mk_embedding l env t11 in + let uu____3447 = FStar_List.hd bs in + FStar_Pervasives_Native.fst uu____3447 in + uu____3446.FStar_Syntax_Syntax.sort in + let t11 = FStar_Syntax_Util.comp_result c1 in + let uu____3465 = mk_embedding l env t0 in + let uu____3466 = mk_embedding l env t11 in emb_arrow l uu____3465 uu____3466) - | FStar_Syntax_Syntax.Tm_arrow (b::more::bs, c) -> + | FStar_Syntax_Syntax.Tm_arrow (b::more::bs,c) -> let tail1 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow ((more :: bs), c)) - FStar_Pervasives_Native.None t3.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None t3.FStar_Syntax_Syntax.pos + in let t4 = let uu____3537 = let uu____3544 = let uu____3545 = - let uu____3560 = FStar_Syntax_Syntax.mk_Total tail1 in - ([b], uu____3560) in - FStar_Syntax_Syntax.Tm_arrow uu____3545 in - FStar_Syntax_Syntax.mk uu____3544 in + let uu____3560 = FStar_Syntax_Syntax.mk_Total tail1 + in + ([b], uu____3560) in + FStar_Syntax_Syntax.Tm_arrow uu____3545 in + FStar_Syntax_Syntax.mk uu____3544 in uu____3537 FStar_Pervasives_Native.None - t3.FStar_Syntax_Syntax.pos in + t3.FStar_Syntax_Syntax.pos + in mk_embedding l env t4 | FStar_Syntax_Syntax.Tm_fvar uu____3585 -> - let uu____3586 = FStar_Syntax_Util.head_and_args t3 in + let uu____3586 = FStar_Syntax_Util.head_and_args t3 in (match uu____3586 with - | (head1, args) -> - let n_args = FStar_List.length args in + | (head1,args) -> + let n_args = FStar_List.length args in let uu____3638 = - let uu____3639 = FStar_Syntax_Util.un_uinst head1 in - uu____3639.FStar_Syntax_Syntax.n in + let uu____3639 = FStar_Syntax_Util.un_uinst head1 + in + uu____3639.FStar_Syntax_Syntax.n in (match uu____3638 with | FStar_Syntax_Syntax.Tm_fvar fv1 when is_known_type_constructor l fv1 n_args -> let arg_embeddings = FStar_All.pipe_right args (FStar_List.map - (fun uu____3665 -> + (fun uu____3665 -> match uu____3665 with - | (t4, uu____3673) -> - mk_embedding l env t4)) in + | (t4,uu____3673) -> + mk_embedding l env t4)) + in let nm = - (((fv1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.ident).FStar_Ident.idText in + (((fv1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.ident).FStar_Ident.idText + in let uu____3680 = let uu____3693 = FStar_Util.find_opt - (fun uu____3725 -> + (fun uu____3725 -> match uu____3725 with - | ((x, uu____3740, uu____3741), - uu____3742) -> + | ((x,uu____3740,uu____3741),uu____3742) + -> FStar_Syntax_Syntax.fv_eq_lid fv1 x) - (known_type_constructors l) in - FStar_All.pipe_right uu____3693 FStar_Util.must in + (known_type_constructors l) + in + FStar_All.pipe_right uu____3693 FStar_Util.must + in (match uu____3680 with - | ((uu____3793, t_arity, _trepr_head), - loc_embedding) -> + | ((uu____3793,t_arity,_trepr_head),loc_embedding) + -> let head2 = - mk_basic_embedding loc_embedding nm in + mk_basic_embedding loc_embedding nm in (match t_arity with | _3810 when _3810 = (Prims.parse_int "0") -> head2 @@ -1060,47 +1178,53 @@ let (interpret_plugin_as_term_fun : let uu____3816 = let uu____3817 = let uu____3819 = - FStar_Syntax_Print.term_to_string t3 in + FStar_Syntax_Print.term_to_string t3 in Prims.op_Hat "Embedding not defined for type " - uu____3819 in - NoTacticEmbedding uu____3817 in + uu____3819 + in + NoTacticEmbedding uu____3817 in FStar_Exn.raise uu____3816)) | FStar_Syntax_Syntax.Tm_uinst uu____3822 -> - let uu____3829 = FStar_Syntax_Util.head_and_args t3 in + let uu____3829 = FStar_Syntax_Util.head_and_args t3 in (match uu____3829 with - | (head1, args) -> - let n_args = FStar_List.length args in + | (head1,args) -> + let n_args = FStar_List.length args in let uu____3881 = - let uu____3882 = FStar_Syntax_Util.un_uinst head1 in - uu____3882.FStar_Syntax_Syntax.n in + let uu____3882 = FStar_Syntax_Util.un_uinst head1 + in + uu____3882.FStar_Syntax_Syntax.n in (match uu____3881 with | FStar_Syntax_Syntax.Tm_fvar fv1 when is_known_type_constructor l fv1 n_args -> let arg_embeddings = FStar_All.pipe_right args (FStar_List.map - (fun uu____3908 -> + (fun uu____3908 -> match uu____3908 with - | (t4, uu____3916) -> - mk_embedding l env t4)) in + | (t4,uu____3916) -> + mk_embedding l env t4)) + in let nm = - (((fv1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.ident).FStar_Ident.idText in + (((fv1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.ident).FStar_Ident.idText + in let uu____3923 = let uu____3936 = FStar_Util.find_opt - (fun uu____3968 -> + (fun uu____3968 -> match uu____3968 with - | ((x, uu____3983, uu____3984), - uu____3985) -> + | ((x,uu____3983,uu____3984),uu____3985) + -> FStar_Syntax_Syntax.fv_eq_lid fv1 x) - (known_type_constructors l) in - FStar_All.pipe_right uu____3936 FStar_Util.must in + (known_type_constructors l) + in + FStar_All.pipe_right uu____3936 FStar_Util.must + in (match uu____3923 with - | ((uu____4036, t_arity, _trepr_head), - loc_embedding) -> + | ((uu____4036,t_arity,_trepr_head),loc_embedding) + -> let head2 = - mk_basic_embedding loc_embedding nm in + mk_basic_embedding loc_embedding nm in (match t_arity with | _4053 when _4053 = (Prims.parse_int "0") -> head2 @@ -1112,47 +1236,53 @@ let (interpret_plugin_as_term_fun : let uu____4059 = let uu____4060 = let uu____4062 = - FStar_Syntax_Print.term_to_string t3 in + FStar_Syntax_Print.term_to_string t3 in Prims.op_Hat "Embedding not defined for type " - uu____4062 in - NoTacticEmbedding uu____4060 in + uu____4062 + in + NoTacticEmbedding uu____4060 in FStar_Exn.raise uu____4059)) | FStar_Syntax_Syntax.Tm_app uu____4065 -> - let uu____4082 = FStar_Syntax_Util.head_and_args t3 in + let uu____4082 = FStar_Syntax_Util.head_and_args t3 in (match uu____4082 with - | (head1, args) -> - let n_args = FStar_List.length args in + | (head1,args) -> + let n_args = FStar_List.length args in let uu____4134 = - let uu____4135 = FStar_Syntax_Util.un_uinst head1 in - uu____4135.FStar_Syntax_Syntax.n in + let uu____4135 = FStar_Syntax_Util.un_uinst head1 + in + uu____4135.FStar_Syntax_Syntax.n in (match uu____4134 with | FStar_Syntax_Syntax.Tm_fvar fv1 when is_known_type_constructor l fv1 n_args -> let arg_embeddings = FStar_All.pipe_right args (FStar_List.map - (fun uu____4161 -> + (fun uu____4161 -> match uu____4161 with - | (t4, uu____4169) -> - mk_embedding l env t4)) in + | (t4,uu____4169) -> + mk_embedding l env t4)) + in let nm = - (((fv1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.ident).FStar_Ident.idText in + (((fv1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.ident).FStar_Ident.idText + in let uu____4176 = let uu____4189 = FStar_Util.find_opt - (fun uu____4221 -> + (fun uu____4221 -> match uu____4221 with - | ((x, uu____4236, uu____4237), - uu____4238) -> + | ((x,uu____4236,uu____4237),uu____4238) + -> FStar_Syntax_Syntax.fv_eq_lid fv1 x) - (known_type_constructors l) in - FStar_All.pipe_right uu____4189 FStar_Util.must in + (known_type_constructors l) + in + FStar_All.pipe_right uu____4189 FStar_Util.must + in (match uu____4176 with - | ((uu____4289, t_arity, _trepr_head), - loc_embedding) -> + | ((uu____4289,t_arity,_trepr_head),loc_embedding) + -> let head2 = - mk_basic_embedding loc_embedding nm in + mk_basic_embedding loc_embedding nm in (match t_arity with | _4306 when _4306 = (Prims.parse_int "0") -> head2 @@ -1164,20 +1294,24 @@ let (interpret_plugin_as_term_fun : let uu____4312 = let uu____4313 = let uu____4315 = - FStar_Syntax_Print.term_to_string t3 in + FStar_Syntax_Print.term_to_string t3 in Prims.op_Hat "Embedding not defined for type " - uu____4315 in - NoTacticEmbedding uu____4313 in + uu____4315 + in + NoTacticEmbedding uu____4313 in FStar_Exn.raise uu____4312)) | uu____4318 -> let uu____4319 = let uu____4320 = - let uu____4322 = FStar_Syntax_Print.term_to_string t3 in + let uu____4322 = FStar_Syntax_Print.term_to_string t3 + in Prims.op_Hat "Embedding not defined for type " - uu____4322 in - NoTacticEmbedding uu____4320 in - FStar_Exn.raise uu____4319 in + uu____4322 + in + NoTacticEmbedding uu____4320 in + FStar_Exn.raise uu____4319 + in let abstract_tvars tvar_names body = match tvar_names with | [] -> @@ -1185,208 +1319,236 @@ let (interpret_plugin_as_term_fun : let uu____4344 = let uu____4345 = let uu____4352 = - str_to_name "FStar_Syntax_Embeddings.debug_wrap" in + str_to_name "FStar_Syntax_Embeddings.debug_wrap" + in let uu____4354 = let uu____4357 = let uu____4358 = let uu____4359 = let uu____4360 = - FStar_Ident.string_of_lid fv_lid1 in + FStar_Ident.string_of_lid fv_lid1 in FStar_Extraction_ML_Syntax.MLC_String - uu____4360 in - FStar_Extraction_ML_Syntax.MLE_Const uu____4359 in + uu____4360 + in + FStar_Extraction_ML_Syntax.MLE_Const uu____4359 + in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top) - uu____4358 in + uu____4358 + in let uu____4362 = let uu____4365 = let uu____4366 = let uu____4367 = let uu____4368 = let uu____4375 = - let uu____4378 = str_to_name "args" in - [uu____4378] in - (body, uu____4375) in + let uu____4378 = str_to_name "args" in + [uu____4378] in + (body, uu____4375) in FStar_Extraction_ML_Syntax.MLE_App - uu____4368 in - FStar_All.pipe_left w uu____4367 in - mk_lam "_" uu____4366 in - [uu____4365] in - uu____4357 :: uu____4362 in - (uu____4352, uu____4354) in - FStar_Extraction_ML_Syntax.MLE_App uu____4345 in - FStar_All.pipe_left w uu____4344 in + uu____4368 + in + FStar_All.pipe_left w uu____4367 in + mk_lam "_" uu____4366 in + [uu____4365] in + uu____4357 :: uu____4362 in + (uu____4352, uu____4354) in + FStar_Extraction_ML_Syntax.MLE_App uu____4345 in + FStar_All.pipe_left w uu____4344 in mk_lam "args" body1 | uu____4386 -> let args_tail = - FStar_Extraction_ML_Syntax.MLP_Var "args_tail" in + FStar_Extraction_ML_Syntax.MLP_Var "args_tail" in let mk_cons hd_pat tail_pat = FStar_Extraction_ML_Syntax.MLP_CTor - ((["Prims"], "Cons"), [hd_pat; tail_pat]) in + ((["Prims"], "Cons"), [hd_pat; tail_pat]) + in let fst_pat v1 = FStar_Extraction_ML_Syntax.MLP_Tuple [FStar_Extraction_ML_Syntax.MLP_Var v1; - FStar_Extraction_ML_Syntax.MLP_Wild] in + FStar_Extraction_ML_Syntax.MLP_Wild] + in let pattern = FStar_List.fold_right - (fun hd_var -> mk_cons (fst_pat hd_var)) tvar_names - args_tail in + (fun hd_var -> mk_cons (fst_pat hd_var)) tvar_names + args_tail + in let branch1 = let uu____4435 = let uu____4436 = let uu____4437 = let uu____4444 = - let uu____4447 = str_to_name "args" in - [uu____4447] in - (body, uu____4444) in - FStar_Extraction_ML_Syntax.MLE_App uu____4437 in - FStar_All.pipe_left w uu____4436 in - (pattern, FStar_Pervasives_Native.None, uu____4435) in + let uu____4447 = str_to_name "args" in + [uu____4447] in + (body, uu____4444) in + FStar_Extraction_ML_Syntax.MLE_App uu____4437 in + FStar_All.pipe_left w uu____4436 in + (pattern, FStar_Pervasives_Native.None, uu____4435) in let default_branch = let uu____4462 = let uu____4463 = let uu____4464 = - let uu____4471 = str_to_name "failwith" in + let uu____4471 = str_to_name "failwith" in let uu____4473 = let uu____4476 = let uu____4477 = mlexpr_of_const FStar_Range.dummyRange (FStar_Const.Const_string ("arity mismatch", - FStar_Range.dummyRange)) in - FStar_All.pipe_left w uu____4477 in - [uu____4476] in - (uu____4471, uu____4473) in - FStar_Extraction_ML_Syntax.MLE_App uu____4464 in - FStar_All.pipe_left w uu____4463 in + FStar_Range.dummyRange)) + in + FStar_All.pipe_left w uu____4477 in + [uu____4476] in + (uu____4471, uu____4473) in + FStar_Extraction_ML_Syntax.MLE_App uu____4464 in + FStar_All.pipe_left w uu____4463 in (FStar_Extraction_ML_Syntax.MLP_Wild, - FStar_Pervasives_Native.None, uu____4462) in + FStar_Pervasives_Native.None, uu____4462) + in let body1 = let uu____4485 = let uu____4486 = - let uu____4501 = str_to_name "args" in - (uu____4501, [branch1; default_branch]) in - FStar_Extraction_ML_Syntax.MLE_Match uu____4486 in - FStar_All.pipe_left w uu____4485 in + let uu____4501 = str_to_name "args" in + (uu____4501, [branch1; default_branch]) in + FStar_Extraction_ML_Syntax.MLE_Match uu____4486 in + FStar_All.pipe_left w uu____4485 in let body2 = let uu____4538 = let uu____4539 = let uu____4546 = - str_to_name "FStar_Syntax_Embeddings.debug_wrap" in + str_to_name "FStar_Syntax_Embeddings.debug_wrap" + in let uu____4548 = let uu____4551 = let uu____4552 = let uu____4553 = let uu____4554 = - FStar_Ident.string_of_lid fv_lid1 in + FStar_Ident.string_of_lid fv_lid1 in FStar_Extraction_ML_Syntax.MLC_String - uu____4554 in - FStar_Extraction_ML_Syntax.MLE_Const uu____4553 in + uu____4554 + in + FStar_Extraction_ML_Syntax.MLE_Const uu____4553 + in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top) - uu____4552 in + uu____4552 + in let uu____4556 = - let uu____4559 = mk_lam "_" body1 in [uu____4559] in - uu____4551 :: uu____4556 in - (uu____4546, uu____4548) in - FStar_Extraction_ML_Syntax.MLE_App uu____4539 in - FStar_All.pipe_left w uu____4538 in - mk_lam "args" body2 in - let uu____4564 = FStar_Syntax_Util.arrow_formals_comp t1 in + let uu____4559 = mk_lam "_" body1 in + [uu____4559] in + uu____4551 :: uu____4556 in + (uu____4546, uu____4548) in + FStar_Extraction_ML_Syntax.MLE_App uu____4539 in + FStar_All.pipe_left w uu____4538 in + mk_lam "args" body2 + in + let uu____4564 = FStar_Syntax_Util.arrow_formals_comp t1 in match uu____4564 with - | (bs, c) -> + | (bs,c) -> let uu____4597 = match arity_opt with - | FStar_Pervasives_Native.None -> (bs, c) + | FStar_Pervasives_Native.None -> (bs, c) | FStar_Pervasives_Native.Some n1 -> - let n_bs = FStar_List.length bs in + let n_bs = FStar_List.length bs in if n1 = n_bs then (bs, c) else if n1 < n_bs then - (let uu____4690 = FStar_Util.first_N n1 bs in + (let uu____4690 = FStar_Util.first_N n1 bs in match uu____4690 with - | (bs1, rest) -> + | (bs1,rest) -> let c1 = let uu____4768 = - FStar_Syntax_Util.arrow rest c in + FStar_Syntax_Util.arrow rest c in FStar_All.pipe_left - FStar_Syntax_Syntax.mk_Total uu____4768 in + FStar_Syntax_Syntax.mk_Total uu____4768 + in (bs1, c1)) else (let msg = let uu____4785 = - FStar_Ident.string_of_lid fv_lid1 in - let uu____4787 = FStar_Util.string_of_int n1 in - let uu____4789 = FStar_Util.string_of_int n_bs in + FStar_Ident.string_of_lid fv_lid1 in + let uu____4787 = FStar_Util.string_of_int n1 in + let uu____4789 = FStar_Util.string_of_int n_bs + in FStar_Util.format3 "Embedding not defined for %s; expected arity at least %s; got %s" - uu____4785 uu____4787 uu____4789 in - FStar_Exn.raise (NoTacticEmbedding msg)) in + uu____4785 uu____4787 uu____4789 + in + FStar_Exn.raise (NoTacticEmbedding msg)) + in (match uu____4597 with - | (bs1, c1) -> - let result_typ = FStar_Syntax_Util.comp_result c1 in - let arity = FStar_List.length bs1 in + | (bs1,c1) -> + let result_typ = FStar_Syntax_Util.comp_result c1 in + let arity = FStar_List.length bs1 in let uu____4840 = let uu____4861 = FStar_Util.prefix_until - (fun uu____4903 -> + (fun uu____4903 -> match uu____4903 with - | (b, uu____4912) -> + | (b,uu____4912) -> let uu____4917 = let uu____4918 = FStar_Syntax_Subst.compress - b.FStar_Syntax_Syntax.sort in - uu____4918.FStar_Syntax_Syntax.n in + b.FStar_Syntax_Syntax.sort + in + uu____4918.FStar_Syntax_Syntax.n in (match uu____4917 with | FStar_Syntax_Syntax.Tm_type uu____4922 -> false - | uu____4924 -> true)) bs1 in + | uu____4924 -> true)) bs1 + in match uu____4861 with - | FStar_Pervasives_Native.None -> (bs1, []) - | FStar_Pervasives_Native.Some (tvars, x, rest) -> - (tvars, (x :: rest)) in + | FStar_Pervasives_Native.None -> (bs1, []) + | FStar_Pervasives_Native.Some (tvars,x,rest) -> + (tvars, (x :: rest)) + in (match uu____4840 with - | (type_vars, bs2) -> - let tvar_arity = FStar_List.length type_vars in - let non_tvar_arity = FStar_List.length bs2 in + | (type_vars,bs2) -> + let tvar_arity = FStar_List.length type_vars in + let non_tvar_arity = FStar_List.length bs2 in let tvar_names = FStar_List.mapi - (fun i -> - fun tv -> + (fun i -> + fun tv -> let uu____5166 = - FStar_Util.string_of_int i in - Prims.op_Hat "tv_" uu____5166) type_vars in + FStar_Util.string_of_int i in + Prims.op_Hat "tv_" uu____5166) type_vars + in let tvar_context = FStar_List.map2 - (fun b -> - fun nm -> + (fun b -> + fun nm -> ((FStar_Pervasives_Native.fst b), nm)) - type_vars tvar_names in + type_vars tvar_names + in let rec aux loc accum_embeddings bs3 = match bs3 with | [] -> let arg_unembeddings = - FStar_List.rev accum_embeddings in + FStar_List.rev accum_embeddings in let res_embedding = - mk_embedding loc tvar_context result_typ in + mk_embedding loc tvar_context result_typ + in let fv_lid2 = - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in let uu____5266 = - FStar_Syntax_Util.is_pure_comp c1 in + FStar_Syntax_Util.is_pure_comp c1 in if uu____5266 then - let cb = str_to_name "cb" in + let cb = str_to_name "cb" in let embed_fun_N = - mk_arrow_as_prim_step loc non_tvar_arity in + mk_arrow_as_prim_step loc non_tvar_arity + in let args = let uu____5283 = let uu____5286 = let uu____5289 = - lid_to_top_name fv_lid2 in + lid_to_top_name fv_lid2 in let uu____5290 = let uu____5293 = let uu____5294 = @@ -1394,33 +1556,42 @@ let (interpret_plugin_as_term_fun : let uu____5296 = let uu____5308 = FStar_Util.string_of_int - tvar_arity in + tvar_arity + in (uu____5308, - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in FStar_Extraction_ML_Syntax.MLC_Int - uu____5296 in + uu____5296 + in FStar_Extraction_ML_Syntax.MLE_Const - uu____5295 in + uu____5295 + in FStar_All.pipe_left (FStar_Extraction_ML_Syntax.with_ty FStar_Extraction_ML_Syntax.MLTY_Top) - uu____5294 in - [uu____5293; fv_lid_embedded; cb] in - uu____5289 :: uu____5290 in - res_embedding :: uu____5286 in + uu____5294 + in + [uu____5293; fv_lid_embedded; cb] + in + uu____5289 :: uu____5290 in + res_embedding :: uu____5286 in FStar_List.append arg_unembeddings - uu____5283 in + uu____5283 + in let fun_embedding = FStar_All.pipe_left w (FStar_Extraction_ML_Syntax.MLE_App - (embed_fun_N, args)) in + (embed_fun_N, args)) + in let tabs = - abstract_tvars tvar_names fun_embedding in - let cb_tabs = mk_lam "cb" tabs in + abstract_tvars tvar_names fun_embedding + in + let cb_tabs = mk_lam "cb" tabs in let uu____5327 = if loc = NBE_t then cb_tabs - else mk_lam "_psc" cb_tabs in + else mk_lam "_psc" cb_tabs in (uu____5327, arity, true) else (let uu____5337 = @@ -1428,20 +1599,24 @@ let (interpret_plugin_as_term_fun : FStar_TypeChecker_Env.norm_eff_name tcenv (FStar_Syntax_Util.comp_effect_name - c1) in + c1) + in FStar_Ident.lid_equals uu____5339 - FStar_Parser_Const.effect_TAC_lid in + FStar_Parser_Const.effect_TAC_lid + in if uu____5337 then let h = let uu____5350 = let uu____5352 = FStar_Util.string_of_int - non_tvar_arity in + non_tvar_arity + in Prims.op_Hat (mk_tactic_interpretation loc) - uu____5352 in - str_to_top_name uu____5350 in + uu____5352 + in + str_to_top_name uu____5350 in let tac_fun = let uu____5355 = let uu____5356 = @@ -1449,26 +1624,30 @@ let (interpret_plugin_as_term_fun : let uu____5364 = let uu____5366 = FStar_Util.string_of_int - non_tvar_arity in + non_tvar_arity + in Prims.op_Hat (mk_from_tactic loc) - uu____5366 in - str_to_top_name uu____5364 in + uu____5366 + in + str_to_top_name uu____5364 in let uu____5368 = let uu____5371 = - lid_to_top_name fv_lid2 in - [uu____5371] in - (uu____5363, uu____5368) in + lid_to_top_name fv_lid2 in + [uu____5371] in + (uu____5363, uu____5368) in FStar_Extraction_ML_Syntax.MLE_App - uu____5356 in - FStar_All.pipe_left w uu____5355 in - let psc = str_to_name "psc" in - let ncb = str_to_name "ncb" in - let all_args = str_to_name "args" in + uu____5356 + in + FStar_All.pipe_left w uu____5355 in + let psc = str_to_name "psc" in + let ncb = str_to_name "ncb" in + let all_args = str_to_name "args" in let args = FStar_List.append [tac_fun] (FStar_List.append arg_unembeddings - [res_embedding; psc; ncb]) in + [res_embedding; psc; ncb]) + in let tabs = match tvar_names with | [] -> @@ -1477,18 +1656,21 @@ let (interpret_plugin_as_term_fun : (FStar_Extraction_ML_Syntax.MLE_App (h, (FStar_List.append args - [all_args]))) in + [all_args]))) + in mk_lam "args" uu____5385 | uu____5389 -> let uu____5393 = FStar_All.pipe_left w (FStar_Extraction_ML_Syntax.MLE_App - (h, args)) in + (h, args)) + in abstract_tvars tvar_names - uu____5393 in + uu____5393 + in let uu____5396 = - let uu____5397 = mk_lam "ncb" tabs in - mk_lam "psc" uu____5397 in + let uu____5397 = mk_lam "ncb" tabs in + mk_lam "psc" uu____5397 in (uu____5396, (arity + (Prims.parse_int "1")), false) @@ -1497,35 +1679,42 @@ let (interpret_plugin_as_term_fun : let uu____5407 = let uu____5409 = FStar_Syntax_Print.term_to_string - t1 in + t1 + in Prims.op_Hat "Plugins not defined for type " - uu____5409 in - NoTacticEmbedding uu____5407 in + uu____5409 + in + NoTacticEmbedding uu____5407 in FStar_Exn.raise uu____5406)) - | (b, uu____5421)::bs4 -> + | (b,uu____5421)::bs4 -> let uu____5441 = let uu____5444 = mk_embedding loc tvar_context - b.FStar_Syntax_Syntax.sort in - uu____5444 :: accum_embeddings in - aux loc uu____5441 bs4 in + b.FStar_Syntax_Syntax.sort + in + uu____5444 :: accum_embeddings in + aux loc uu____5441 bs4 + in (try - (fun uu___687_5466 -> + (fun uu___687_5466 -> match () with | () -> - let uu____5479 = aux Syntax_term [] bs2 in + let uu____5479 = aux Syntax_term [] bs2 + in (match uu____5479 with - | (w1, a, b) -> - let uu____5507 = aux NBE_t [] bs2 in + | (w1,a,b) -> + let uu____5507 = aux NBE_t [] bs2 + in (match uu____5507 with - | (w', uu____5529, uu____5530) -> + | (w',uu____5529,uu____5530) -> FStar_Pervasives_Native.Some (w1, w', a, b)))) () with | NoTacticEmbedding msg -> ((let uu____5566 = - FStar_Syntax_Print.fv_to_string fv in + FStar_Syntax_Print.fv_to_string fv in not_implemented_warning t1.FStar_Syntax_Syntax.pos uu____5566 msg); - FStar_Pervasives_Native.None)))) \ No newline at end of file + FStar_Pervasives_Native.None)))) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Fsdoc_Generator.ml b/src/ocaml-output/FStar_Fsdoc_Generator.ml index ed780f65b76..eeaa48207a9 100644 --- a/src/ocaml-output/FStar_Fsdoc_Generator.ml +++ b/src/ocaml-output/FStar_Fsdoc_Generator.ml @@ -4,235 +4,254 @@ let (one_toplevel : (FStar_Parser_AST.decl * FStar_Parser_AST.decl Prims.list) FStar_Pervasives_Native.option) = - fun decls -> + fun decls -> let uu____17 = FStar_List.partition - (fun d -> + (fun d -> match d.FStar_Parser_AST.d with | FStar_Parser_AST.TopLevelModule uu____30 -> true - | uu____32 -> false) decls in + | uu____32 -> false) decls + in match uu____17 with - | (top, nontops) -> + | (top,nontops) -> (match top with | t::[] -> FStar_Pervasives_Native.Some (t, nontops) | uu____69 -> FStar_Pervasives_Native.None) + type mforest = | Leaf of (Prims.string * Prims.string) | Branch of mforest FStar_Util.smap let (uu___is_Leaf : mforest -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Leaf _0 -> true | uu____112 -> false + let (__proj__Leaf__item___0 : mforest -> (Prims.string * Prims.string)) = - fun projectee -> match projectee with | Leaf _0 -> _0 + fun projectee -> match projectee with | Leaf _0 -> _0 let (uu___is_Branch : mforest -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Branch _0 -> true | uu____151 -> false + let (__proj__Branch__item___0 : mforest -> mforest FStar_Util.smap) = - fun projectee -> match projectee with | Branch _0 -> _0 + fun projectee -> match projectee with | Branch _0 -> _0 let (htree : mforest FStar_Util.smap) = - FStar_Util.smap_create (Prims.parse_int "50") + FStar_Util.smap_create (Prims.parse_int "50") let string_of_optiont : 'Auu____181 'Auu____182 . ('Auu____181 -> 'Auu____182) -> 'Auu____182 -> 'Auu____181 FStar_Pervasives_Native.option -> 'Auu____182 = - fun f -> - fun y -> - fun xo -> + fun f -> + fun y -> + fun xo -> match xo with | FStar_Pervasives_Native.Some x -> f x - | FStar_Pervasives_Native.None -> y + | FStar_Pervasives_Native.None -> y + let (string_of_fsdoco : (Prims.string * (Prims.string * Prims.string) Prims.list) FStar_Pervasives_Native.option -> Prims.string) = - fun d -> + fun d -> string_of_optiont - (fun x -> + (fun x -> let uu____275 = - let uu____277 = FStar_Parser_AST.string_of_fsdoc x in - Prims.op_Hat uu____277 "*)" in + let uu____277 = FStar_Parser_AST.string_of_fsdoc x in + Prims.op_Hat uu____277 "*)" in Prims.op_Hat "(*" uu____275) "" d + let (string_of_termo : FStar_Parser_AST.term FStar_Pervasives_Native.option -> Prims.string) = - fun t -> string_of_optiont FStar_Parser_AST.term_to_string "" t + fun t -> string_of_optiont FStar_Parser_AST.term_to_string "" t let (code_wrap : Prims.string -> Prims.string) = - fun s -> Prims.op_Hat "```fsharp\n" (Prims.op_Hat s "\n```\n") + fun s -> Prims.op_Hat "```fsharp\n" (Prims.op_Hat s "\n```\n") let (string_of_tycon : FStar_Parser_AST.tycon -> Prims.string) = - fun tycon -> + fun tycon -> match tycon with | FStar_Parser_AST.TyconAbstract uu____314 -> "abstract" | FStar_Parser_AST.TyconAbbrev uu____326 -> "abbrev" - | FStar_Parser_AST.TyconRecord (id1, _bb, _ko, fields) -> + | FStar_Parser_AST.TyconRecord (id1,_bb,_ko,fields) -> let uu____372 = let uu____374 = let uu____376 = let uu____378 = FStar_All.pipe_right fields (FStar_List.map - (fun uu____436 -> + (fun uu____436 -> match uu____436 with - | (id2, t, doco) -> - let uu____492 = string_of_fsdoco doco in + | (id2,t,doco) -> + let uu____492 = string_of_fsdoco doco in let uu____494 = let uu____496 = let uu____498 = - FStar_Parser_AST.term_to_string t in - Prims.op_Hat ":" uu____498 in - Prims.op_Hat id2.FStar_Ident.idText uu____496 in - Prims.op_Hat uu____492 uu____494)) in - FStar_All.pipe_right uu____378 (FStar_String.concat "; ") in - Prims.op_Hat uu____376 " }" in - Prims.op_Hat " = { " uu____374 in + FStar_Parser_AST.term_to_string t in + Prims.op_Hat ":" uu____498 in + Prims.op_Hat id2.FStar_Ident.idText uu____496 + in + Prims.op_Hat uu____492 uu____494)) + in + FStar_All.pipe_right uu____378 (FStar_String.concat "; ") in + Prims.op_Hat uu____376 " }" in + Prims.op_Hat " = { " uu____374 in Prims.op_Hat id1.FStar_Ident.idText uu____372 - | FStar_Parser_AST.TyconVariant (id1, _bb, _ko, vars) -> + | FStar_Parser_AST.TyconVariant (id1,_bb,_ko,vars) -> let uu____550 = let uu____552 = let uu____554 = FStar_All.pipe_right vars (FStar_List.map - (fun uu____623 -> + (fun uu____623 -> match uu____623 with - | (id2, trmo, doco, u) -> - let uu____691 = string_of_fsdoco doco in + | (id2,trmo,doco,u) -> + let uu____691 = string_of_fsdoco doco in let uu____693 = let uu____695 = let uu____697 = string_of_optiont - FStar_Parser_AST.term_to_string "" trmo in - Prims.op_Hat ":" uu____697 in - Prims.op_Hat id2.FStar_Ident.idText uu____695 in - Prims.op_Hat uu____691 uu____693)) in - FStar_All.pipe_right uu____554 (FStar_String.concat " | ") in - Prims.op_Hat " = " uu____552 in + FStar_Parser_AST.term_to_string "" trmo + in + Prims.op_Hat ":" uu____697 in + Prims.op_Hat id2.FStar_Ident.idText uu____695 in + Prims.op_Hat uu____691 uu____693)) + in + FStar_All.pipe_right uu____554 (FStar_String.concat " | ") in + Prims.op_Hat " = " uu____552 in Prims.op_Hat id1.FStar_Ident.idText uu____550 + let (string_of_decl' : FStar_Parser_AST.decl' -> Prims.string) = - fun d -> + fun d -> match d with | FStar_Parser_AST.TopLevelModule l -> Prims.op_Hat "module " l.FStar_Ident.str | FStar_Parser_AST.Open l -> Prims.op_Hat "open " l.FStar_Ident.str | FStar_Parser_AST.Include l -> Prims.op_Hat "include " l.FStar_Ident.str | FStar_Parser_AST.Friend l -> Prims.op_Hat "friend " l.FStar_Ident.str - | FStar_Parser_AST.ModuleAbbrev (i, l) -> + | FStar_Parser_AST.ModuleAbbrev (i,l) -> Prims.op_Hat "module " (Prims.op_Hat i.FStar_Ident.idText (Prims.op_Hat " = " l.FStar_Ident.str)) - | FStar_Parser_AST.TopLevelLet (uu____728, pats) -> + | FStar_Parser_AST.TopLevelLet (uu____728,pats) -> let termty = FStar_List.map - (fun uu____766 -> + (fun uu____766 -> match uu____766 with - | (p, t) -> - let uu____779 = FStar_Parser_AST.pat_to_string p in - let uu____781 = FStar_Parser_AST.term_to_string t in - (uu____779, uu____781)) pats in + | (p,t) -> + let uu____779 = FStar_Parser_AST.pat_to_string p in + let uu____781 = FStar_Parser_AST.term_to_string t in + (uu____779, uu____781)) pats + in let termty' = FStar_List.map - (fun uu____799 -> + (fun uu____799 -> match uu____799 with - | (p, t) -> Prims.op_Hat p (Prims.op_Hat ":" t)) termty in + | (p,t) -> Prims.op_Hat p (Prims.op_Hat ":" t)) termty + in Prims.op_Hat "let " (FStar_String.concat ", " termty') | FStar_Parser_AST.Main uu____816 -> "main ..." - | FStar_Parser_AST.Assume (i, t) -> + | FStar_Parser_AST.Assume (i,t) -> let uu____820 = let uu____822 = - let uu____824 = FStar_Parser_AST.term_to_string t in - Prims.op_Hat ":" uu____824 in - Prims.op_Hat i.FStar_Ident.idText uu____822 in + let uu____824 = FStar_Parser_AST.term_to_string t in + Prims.op_Hat ":" uu____824 in + Prims.op_Hat i.FStar_Ident.idText uu____822 in Prims.op_Hat "assume " uu____820 - | FStar_Parser_AST.Tycon (uu____828, tc, tys) -> - let s = if tc then "class" else "type" in + | FStar_Parser_AST.Tycon (uu____828,tc,tys) -> + let s = if tc then "class" else "type" in let uu____859 = let uu____861 = FStar_All.pipe_right tys (FStar_List.map - (fun uu____914 -> + (fun uu____914 -> match uu____914 with - | (t, d1) -> - let uu____967 = string_of_tycon t in + | (t,d1) -> + let uu____967 = string_of_tycon t in let uu____969 = - let uu____971 = string_of_fsdoco d1 in - Prims.op_Hat " " uu____971 in - Prims.op_Hat uu____967 uu____969)) in - FStar_All.pipe_right uu____861 (FStar_String.concat " and ") in + let uu____971 = string_of_fsdoco d1 in + Prims.op_Hat " " uu____971 in + Prims.op_Hat uu____967 uu____969)) + in + FStar_All.pipe_right uu____861 (FStar_String.concat " and ") in Prims.op_Hat s uu____859 - | FStar_Parser_AST.Val (i, t) -> + | FStar_Parser_AST.Val (i,t) -> let uu____981 = let uu____983 = - let uu____985 = FStar_Parser_AST.term_to_string t in - Prims.op_Hat ":" uu____985 in - Prims.op_Hat i.FStar_Ident.idText uu____983 in + let uu____985 = FStar_Parser_AST.term_to_string t in + Prims.op_Hat ":" uu____985 in + Prims.op_Hat i.FStar_Ident.idText uu____983 in Prims.op_Hat "val " uu____981 - | FStar_Parser_AST.Exception (i, uu____990) -> + | FStar_Parser_AST.Exception (i,uu____990) -> Prims.op_Hat "exception " i.FStar_Ident.idText | FStar_Parser_AST.NewEffect (FStar_Parser_AST.DefineEffect - (i, uu____997, uu____998, uu____999)) -> + (i,uu____997,uu____998,uu____999)) -> Prims.op_Hat "new_effect " i.FStar_Ident.idText | FStar_Parser_AST.NewEffect (FStar_Parser_AST.RedefineEffect - (i, uu____1010, uu____1011)) -> + (i,uu____1010,uu____1011)) -> Prims.op_Hat "new_effect " i.FStar_Ident.idText | FStar_Parser_AST.SubEffect uu____1017 -> "sub_effect" | FStar_Parser_AST.Pragma uu____1019 -> "pragma" - | FStar_Parser_AST.Splice (ids, t) -> - let uu____1027 = FStar_Parser_AST.term_to_string t in + | FStar_Parser_AST.Splice (ids,t) -> + let uu____1027 = FStar_Parser_AST.term_to_string t in Prims.op_Hat "splice " uu____1027 - | FStar_Parser_AST.Fsdoc (comm, uu____1031) -> comm + | FStar_Parser_AST.Fsdoc (comm,uu____1031) -> comm + let (decl_documented : FStar_Parser_AST.decl -> Prims.bool) = - fun d -> + fun d -> let tycon_documented tt = let tyconvars_documented tycon = match tycon with | FStar_Parser_AST.TyconAbstract uu____1088 -> false | FStar_Parser_AST.TyconAbbrev uu____1100 -> false | FStar_Parser_AST.TyconRecord - (uu____1114, uu____1115, uu____1116, fields) -> + (uu____1114,uu____1115,uu____1116,fields) -> FStar_List.existsb - (fun uu____1158 -> + (fun uu____1158 -> match uu____1158 with - | (_id, _t, doco) -> FStar_Util.is_some doco) fields + | (_id,_t,doco) -> FStar_Util.is_some doco) fields | FStar_Parser_AST.TyconVariant - (uu____1175, uu____1176, uu____1177, vars) -> + (uu____1175,uu____1176,uu____1177,vars) -> FStar_List.existsb - (fun uu____1235 -> + (fun uu____1235 -> match uu____1235 with - | (_id, _t, doco, _u) -> FStar_Util.is_some doco) vars in + | (_id,_t,doco,_u) -> FStar_Util.is_some doco) vars + in FStar_List.existsb - (fun uu____1273 -> + (fun uu____1273 -> match uu____1273 with - | (tycon, doco) -> - (tyconvars_documented tycon) || (FStar_Util.is_some doco)) tt in + | (tycon,doco) -> + (tyconvars_documented tycon) || (FStar_Util.is_some doco)) tt + in match d.FStar_Parser_AST.doc with | FStar_Pervasives_Native.Some uu____1288 -> true | uu____1290 -> (match d.FStar_Parser_AST.d with | FStar_Parser_AST.Fsdoc uu____1294 -> true - | FStar_Parser_AST.Tycon (uu____1296, uu____1297, ty) -> + | FStar_Parser_AST.Tycon (uu____1296,uu____1297,ty) -> tycon_documented ty | uu____1319 -> false) + let (document_decl : (Prims.string -> unit) -> FStar_Parser_AST.decl -> unit) = - fun w -> - fun d -> + fun w -> + fun d -> if decl_documented d then - let uu____1340 = d in + let uu____1340 = d in match uu____1340 with | { FStar_Parser_AST.d = decl; FStar_Parser_AST.drange = uu____1342; FStar_Parser_AST.doc = fsdoc; FStar_Parser_AST.quals = uu____1344; FStar_Parser_AST.attrs = uu____1345;_} -> ((let uu____1349 = - let uu____1351 = string_of_decl' d.FStar_Parser_AST.d in - code_wrap uu____1351 in + let uu____1351 = string_of_decl' d.FStar_Parser_AST.d in + code_wrap uu____1351 in w uu____1349); (match fsdoc with - | FStar_Pervasives_Native.Some (doc1, _kw) -> + | FStar_Pervasives_Native.Some (doc1,_kw) -> w (Prims.op_Hat "\n" doc1) | uu____1375 -> ()); w "") else () + let document_toplevel : 'Auu____1388 . 'Auu____1388 -> @@ -240,87 +259,95 @@ let document_toplevel : (Prims.string FStar_Pervasives_Native.option * Prims.string FStar_Pervasives_Native.option) = - fun name -> - fun topdecl -> + fun name -> + fun topdecl -> match topdecl.FStar_Parser_AST.d with | FStar_Parser_AST.TopLevelModule uu____1409 -> (match topdecl.FStar_Parser_AST.doc with - | FStar_Pervasives_Native.Some (doc1, kw) -> + | FStar_Pervasives_Native.Some (doc1,kw) -> let uu____1440 = FStar_List.tryFind - (fun uu____1458 -> - match uu____1458 with | (k, v1) -> k = "summary") kw in + (fun uu____1458 -> + match uu____1458 with | (k,v1) -> k = "summary") kw + in (match uu____1440 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Pervasives_Native.None, (FStar_Pervasives_Native.Some doc1)) - | FStar_Pervasives_Native.Some (uu____1498, summary) -> + | FStar_Pervasives_Native.Some (uu____1498,summary) -> ((FStar_Pervasives_Native.Some summary), (FStar_Pervasives_Native.Some doc1))) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None)) | uu____1526 -> FStar_Errors.raise_err (FStar_Errors.Fatal_NotTopLevelModule, "Not Top-level Module") + let (document_module : FStar_Parser_AST.modul -> FStar_Ident.lident) = - fun m -> + fun m -> let uu____1545 = match m with - | FStar_Parser_AST.Module (n1, d) -> (n1, d, "module") - | FStar_Parser_AST.Interface (n1, d, uu____1576) -> - (n1, d, "interface") in + | FStar_Parser_AST.Module (n1,d) -> (n1, d, "module") + | FStar_Parser_AST.Interface (n1,d,uu____1576) -> (n1, d, "interface") + in match uu____1545 with - | (name, decls, _mt) -> - let uu____1596 = one_toplevel decls in + | (name,decls,_mt) -> + let uu____1596 = one_toplevel decls in (match uu____1596 with - | FStar_Pervasives_Native.Some (top_decl, other_decls) -> + | FStar_Pervasives_Native.Some (top_decl,other_decls) -> let on1 = FStar_Options.prepend_output_dir - (Prims.op_Hat name.FStar_Ident.str ".md") in - let fd = FStar_Util.open_file_for_writing on1 in - let w = FStar_Util.append_to_file fd in - let no_summary = "fsdoc: no-summary-found" in - let no_comment = "fsdoc: no-comment-found" in - let uu____1633 = document_toplevel name top_decl in + (Prims.op_Hat name.FStar_Ident.str ".md") + in + let fd = FStar_Util.open_file_for_writing on1 in + let w = FStar_Util.append_to_file fd in + let no_summary = "fsdoc: no-summary-found" in + let no_comment = "fsdoc: no-comment-found" in + let uu____1633 = document_toplevel name top_decl in (match uu____1633 with - | (summary, comment) -> + | (summary,comment) -> let summary1 = match summary with | FStar_Pervasives_Native.Some s -> s - | FStar_Pervasives_Native.None -> no_summary in + | FStar_Pervasives_Native.None -> no_summary in let comment1 = match comment with | FStar_Pervasives_Native.Some s -> s - | FStar_Pervasives_Native.None -> no_comment in + | FStar_Pervasives_Native.None -> no_comment in ((let uu____1673 = - FStar_Util.format "# module %s" [name.FStar_Ident.str] in + FStar_Util.format "# module %s" [name.FStar_Ident.str] + in w uu____1673); - (let uu____1679 = FStar_Util.format "%s\n" [summary1] in + (let uu____1679 = FStar_Util.format "%s\n" [summary1] in w uu____1679); - (let uu____1685 = FStar_Util.format "%s\n" [comment1] in + (let uu____1685 = FStar_Util.format "%s\n" [comment1] in w uu____1685); FStar_List.iter (document_decl w) other_decls; FStar_Util.close_file fd; name)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____1698 = let uu____1704 = FStar_Util.format1 "No singleton toplevel in module %s" - name.FStar_Ident.str in - (FStar_Errors.Fatal_NonSingletonTopLevel, uu____1704) in + name.FStar_Ident.str + in + (FStar_Errors.Fatal_NonSingletonTopLevel, uu____1704) in FStar_Errors.raise_err uu____1698) + let (generate : Prims.string Prims.list -> unit) = - fun files -> + fun files -> let modules = FStar_List.map - (fun fn -> - let uu____1728 = FStar_Parser_Driver.parse_file fn in - FStar_Pervasives_Native.fst uu____1728) files in - let mods = FStar_List.map document_module modules in - let on1 = FStar_Options.prepend_output_dir "index.md" in - let fd = FStar_Util.open_file_for_writing on1 in + (fun fn -> + let uu____1728 = FStar_Parser_Driver.parse_file fn in + FStar_Pervasives_Native.fst uu____1728) files + in + let mods = FStar_List.map document_module modules in + let on1 = FStar_Options.prepend_output_dir "index.md" in + let fd = FStar_Util.open_file_for_writing on1 in FStar_List.iter - (fun m -> - let uu____1758 = FStar_Util.format "%s\n" [m.FStar_Ident.str] in + (fun m -> + let uu____1758 = FStar_Util.format "%s\n" [m.FStar_Ident.str] in FStar_Util.append_to_file fd uu____1758) mods; - FStar_Util.close_file fd \ No newline at end of file + FStar_Util.close_file fd + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Ident.ml b/src/ocaml-output/FStar_Ident.ml index e39b567e7a1..1c533f9d42f 100644 --- a/src/ocaml-output/FStar_Ident.ml +++ b/src/ocaml-output/FStar_Ident.ml @@ -3,9 +3,9 @@ type ident = { idText: Prims.string ; idRange: FStar_Range.range }[@@deriving yojson,show] let (__proj__Mkident__item__idText : ident -> Prims.string) = - fun projectee -> match projectee with | { idText; idRange;_} -> idText + fun projectee -> match projectee with | { idText; idRange;_} -> idText let (__proj__Mkident__item__idRange : ident -> FStar_Range.range) = - fun projectee -> match projectee with | { idText; idRange;_} -> idRange + fun projectee -> match projectee with | { idText; idRange;_} -> idRange type path = Prims.string Prims.list type lident = { @@ -14,54 +14,61 @@ type lident = nsstr: Prims.string ; str: Prims.string }[@@deriving yojson,show] let (__proj__Mklident__item__ns : lident -> ident Prims.list) = - fun projectee -> match projectee with | { ns; ident; nsstr; str;_} -> ns + fun projectee -> match projectee with | { ns; ident; nsstr; str;_} -> ns let (__proj__Mklident__item__ident : lident -> ident) = - fun projectee -> match projectee with | { ns; ident; nsstr; str;_} -> ident + fun projectee -> + match projectee with | { ns; ident; nsstr; str;_} -> ident + let (__proj__Mklident__item__nsstr : lident -> Prims.string) = - fun projectee -> match projectee with | { ns; ident; nsstr; str;_} -> nsstr + fun projectee -> + match projectee with | { ns; ident; nsstr; str;_} -> nsstr + let (__proj__Mklident__item__str : lident -> Prims.string) = - fun projectee -> match projectee with | { ns; ident; nsstr; str;_} -> str + fun projectee -> match projectee with | { ns; ident; nsstr; str;_} -> str type lid = lident[@@deriving yojson,show] let (mk_ident : (Prims.string * FStar_Range.range) -> ident) = - fun uu____137 -> - match uu____137 with - | (text, range) -> { idText = text; idRange = range } -let (reserved_prefix : Prims.string) = "uu___" + fun uu____137 -> + match uu____137 with | (text,range) -> { idText = text; idRange = range } + +let (reserved_prefix : Prims.string) = "uu___" let (_gen : ((unit -> Prims.int) * (unit -> unit))) = - let x = FStar_Util.mk_ref (Prims.parse_int "0") in + let x = FStar_Util.mk_ref (Prims.parse_int "0") in let next_id uu____174 = - let v1 = FStar_ST.op_Bang x in - FStar_ST.op_Colon_Equals x (v1 + (Prims.parse_int "1")); v1 in - let reset uu____226 = FStar_ST.op_Colon_Equals x (Prims.parse_int "0") in - (next_id, reset) + let v1 = FStar_ST.op_Bang x in + FStar_ST.op_Colon_Equals x (v1 + (Prims.parse_int "1")); v1 in + let reset uu____226 = FStar_ST.op_Colon_Equals x (Prims.parse_int "0") in + (next_id, reset) let (next_id : unit -> Prims.int) = - fun uu____262 -> FStar_Pervasives_Native.fst _gen () + fun uu____262 -> FStar_Pervasives_Native.fst _gen () let (reset_gensym : unit -> unit) = - fun uu____275 -> FStar_Pervasives_Native.snd _gen () + fun uu____275 -> FStar_Pervasives_Native.snd _gen () let (gen : FStar_Range.range -> ident) = - fun r -> - let i = next_id () in + fun r -> + let i = next_id () in mk_ident ((Prims.op_Hat reserved_prefix (Prims.string_of_int i)), r) -let (range_of_id : ident -> FStar_Range.range) = fun id1 -> id1.idRange + +let (range_of_id : ident -> FStar_Range.range) = fun id1 -> id1.idRange let (id_of_text : Prims.string -> ident) = - fun str -> mk_ident (str, FStar_Range.dummyRange) -let (text_of_id : ident -> Prims.string) = fun id1 -> id1.idText + fun str -> mk_ident (str, FStar_Range.dummyRange) +let (text_of_id : ident -> Prims.string) = fun id1 -> id1.idText let (text_of_path : path -> Prims.string) = - fun path -> FStar_Util.concat_l "." path + fun path -> FStar_Util.concat_l "." path let (path_of_text : Prims.string -> path) = - fun text -> FStar_String.split [46] text + fun text -> FStar_String.split [46] text let (path_of_ns : ident Prims.list -> path) = - fun ns -> FStar_List.map text_of_id ns + fun ns -> FStar_List.map text_of_id ns let (path_of_lid : lident -> path) = - fun lid -> FStar_List.map text_of_id (FStar_List.append lid.ns [lid.ident]) + fun lid -> + FStar_List.map text_of_id (FStar_List.append lid.ns [lid.ident]) + let (ids_of_lid : lident -> ident Prims.list) = - fun lid -> FStar_List.append lid.ns [lid.ident] + fun lid -> FStar_List.append lid.ns [lid.ident] let (lid_of_ns_and_id : ident Prims.list -> ident -> lident) = - fun ns -> - fun id1 -> + fun ns -> + fun id1 -> let nsstr = - let uu____376 = FStar_List.map text_of_id ns in - FStar_All.pipe_right uu____376 text_of_path in + let uu____376 = FStar_List.map text_of_id ns in + FStar_All.pipe_right uu____376 text_of_path in { ns; ident = id1; @@ -71,51 +78,59 @@ let (lid_of_ns_and_id : ident Prims.list -> ident -> lident) = then id1.idText else Prims.op_Hat nsstr (Prims.op_Hat "." id1.idText)) } + let (lid_of_ids : ident Prims.list -> lident) = - fun ids -> - let uu____396 = FStar_Util.prefix ids in - match uu____396 with | (ns, id1) -> lid_of_ns_and_id ns id1 + fun ids -> + let uu____396 = FStar_Util.prefix ids in + match uu____396 with | (ns,id1) -> lid_of_ns_and_id ns id1 + let (lid_of_str : Prims.string -> lident) = - fun str -> - let uu____417 = FStar_List.map id_of_text (FStar_Util.split str ".") in + fun str -> + let uu____417 = FStar_List.map id_of_text (FStar_Util.split str ".") in lid_of_ids uu____417 + let (lid_of_path : path -> FStar_Range.range -> lident) = - fun path -> - fun pos -> - let ids = FStar_List.map (fun s -> mk_ident (s, pos)) path in + fun path -> + fun pos -> + let ids = FStar_List.map (fun s -> mk_ident (s, pos)) path in lid_of_ids ids -let (text_of_lid : lident -> Prims.string) = fun lid -> lid.str + +let (text_of_lid : lident -> Prims.string) = fun lid -> lid.str let (lid_equals : lident -> lident -> Prims.bool) = - fun l1 -> fun l2 -> l1.str = l2.str + fun l1 -> fun l2 -> l1.str = l2.str let (ident_equals : ident -> ident -> Prims.bool) = - fun id1 -> fun id2 -> id1.idText = id2.idText + fun id1 -> fun id2 -> id1.idText = id2.idText let (range_of_lid : lident -> FStar_Range.range) = - fun lid -> range_of_id lid.ident + fun lid -> range_of_id lid.ident let (set_lid_range : lident -> FStar_Range.range -> lident) = - fun l -> - fun r -> - let uu___61_491 = l in + fun l -> + fun r -> + let uu___61_491 = l in { ns = (uu___61_491.ns); ident = - (let uu___63_493 = l.ident in + (let uu___63_493 = l.ident in { idText = (uu___63_493.idText); idRange = r }); nsstr = (uu___61_491.nsstr); str = (uu___61_491.str) } + let (lid_add_suffix : lident -> Prims.string -> lident) = - fun l -> - fun s -> - let path = path_of_lid l in - let uu____508 = range_of_lid l in + fun l -> + fun s -> + let path = path_of_lid l in + let uu____508 = range_of_lid l in lid_of_path (FStar_List.append path [s]) uu____508 + let (ml_path_of_lid : lident -> Prims.string) = - fun lid -> + fun lid -> let uu____519 = - let uu____523 = path_of_ns lid.ns in - let uu____527 = let uu____531 = text_of_id lid.ident in [uu____531] in - FStar_List.append uu____523 uu____527 in + let uu____523 = path_of_ns lid.ns in + let uu____527 = let uu____531 = text_of_id lid.ident in [uu____531] + in + FStar_List.append uu____523 uu____527 in FStar_All.pipe_left (FStar_String.concat "_") uu____519 -let (string_of_ident : ident -> Prims.string) = fun id1 -> id1.idText + +let (string_of_ident : ident -> Prims.string) = fun id1 -> id1.idText let (string_of_lid : lident -> Prims.string) = - fun lid -> let uu____555 = path_of_lid lid in text_of_path uu____555 \ No newline at end of file + fun lid -> let uu____555 = path_of_lid lid in text_of_path uu____555 \ No newline at end of file diff --git a/src/ocaml-output/FStar_Interactive_CompletionTable.ml b/src/ocaml-output/FStar_Interactive_CompletionTable.ml index 3e5b593359c..f5eaaac87fa 100644 --- a/src/ocaml-output/FStar_Interactive_CompletionTable.ml +++ b/src/ocaml-output/FStar_Interactive_CompletionTable.ml @@ -1,312 +1,338 @@ open Prims let (string_compare : Prims.string -> Prims.string -> Prims.int) = - fun s1 -> fun s2 -> FStar_String.compare s1 s2 + fun s1 -> fun s2 -> FStar_String.compare s1 s2 type 'a heap = | EmptyHeap | Heap of ('a * 'a heap Prims.list) let uu___is_EmptyHeap : 'a . 'a heap -> Prims.bool = - fun projectee -> - match projectee with | EmptyHeap -> true | uu____69 -> false + fun projectee -> + match projectee with | EmptyHeap -> true | uu____69 -> false + let uu___is_Heap : 'a . 'a heap -> Prims.bool = - fun projectee -> match projectee with | Heap _0 -> true | uu____99 -> false + fun projectee -> + match projectee with | Heap _0 -> true | uu____99 -> false + let __proj__Heap__item___0 : 'a . 'a heap -> ('a * 'a heap Prims.list) = - fun projectee -> match projectee with | Heap _0 -> _0 + fun projectee -> match projectee with | Heap _0 -> _0 let heap_merge : 'Auu____144 . ('Auu____144 -> 'Auu____144 -> Prims.int) -> 'Auu____144 heap -> 'Auu____144 heap -> 'Auu____144 heap = - fun cmp -> - fun h1 -> - fun h2 -> + fun cmp -> + fun h1 -> + fun h2 -> match (h1, h2) with - | (EmptyHeap, h) -> h - | (h, EmptyHeap) -> h - | (Heap (v1, hh1), Heap (v2, hh2)) -> + | (EmptyHeap ,h) -> h + | (h,EmptyHeap ) -> h + | (Heap (v1,hh1),Heap (v2,hh2)) -> let uu____224 = - let uu____226 = cmp v1 v2 in uu____226 < (Prims.parse_int "0") in + let uu____226 = cmp v1 v2 in uu____226 < (Prims.parse_int "0") + in if uu____224 then Heap (v1, (h2 :: hh1)) else Heap (v2, (h1 :: hh2)) + let heap_insert : 'Auu____255 . ('Auu____255 -> 'Auu____255 -> Prims.int) -> 'Auu____255 heap -> 'Auu____255 -> 'Auu____255 heap - = fun cmp -> fun h -> fun v1 -> heap_merge cmp (Heap (v1, [])) h + = fun cmp -> fun h -> fun v1 -> heap_merge cmp (Heap (v1, [])) h let rec heap_merge_pairs : 'Auu____302 . ('Auu____302 -> 'Auu____302 -> Prims.int) -> 'Auu____302 heap Prims.list -> 'Auu____302 heap = - fun cmp -> - fun uu___0_325 -> + fun cmp -> + fun uu___0_325 -> match uu___0_325 with | [] -> EmptyHeap | h::[] -> h | h1::h2::hh -> - let uu____359 = heap_merge cmp h1 h2 in - let uu____362 = heap_merge_pairs cmp hh in + let uu____359 = heap_merge cmp h1 h2 in + let uu____362 = heap_merge_pairs cmp hh in heap_merge cmp uu____359 uu____362 + let heap_peek : 'Auu____370 . 'Auu____370 heap -> 'Auu____370 FStar_Pervasives_Native.option = - fun uu___1_379 -> + fun uu___1_379 -> match uu___1_379 with - | EmptyHeap -> FStar_Pervasives_Native.None - | Heap (v1, uu____383) -> FStar_Pervasives_Native.Some v1 + | EmptyHeap -> FStar_Pervasives_Native.None + | Heap (v1,uu____383) -> FStar_Pervasives_Native.Some v1 + let heap_pop : 'Auu____399 . ('Auu____399 -> 'Auu____399 -> Prims.int) -> 'Auu____399 heap -> ('Auu____399 * 'Auu____399 heap) FStar_Pervasives_Native.option = - fun cmp -> - fun uu___2_426 -> + fun cmp -> + fun uu___2_426 -> match uu___2_426 with - | EmptyHeap -> FStar_Pervasives_Native.None - | Heap (v1, hh) -> + | EmptyHeap -> FStar_Pervasives_Native.None + | Heap (v1,hh) -> let uu____450 = - let uu____457 = heap_merge_pairs cmp hh in (v1, uu____457) in + let uu____457 = heap_merge_pairs cmp hh in (v1, uu____457) in FStar_Pervasives_Native.Some uu____450 + let heap_from_list : 'Auu____475 . ('Auu____475 -> 'Auu____475 -> Prims.int) -> 'Auu____475 Prims.list -> 'Auu____475 heap = - fun cmp -> - fun values -> FStar_List.fold_left (heap_insert cmp) EmptyHeap values + fun cmp -> + fun values -> FStar_List.fold_left (heap_insert cmp) EmptyHeap values + let push_nodup : 'Auu____515 . ('Auu____515 -> Prims.string) -> 'Auu____515 -> 'Auu____515 Prims.list -> 'Auu____515 Prims.list = - fun key_fn -> - fun x -> - fun uu___3_538 -> + fun key_fn -> + fun x -> + fun uu___3_538 -> match uu___3_538 with | [] -> [x] | h::t -> let uu____548 = let uu____550 = - let uu____552 = key_fn x in - let uu____554 = key_fn h in - string_compare uu____552 uu____554 in - uu____550 = (Prims.parse_int "0") in + let uu____552 = key_fn x in + let uu____554 = key_fn h in + string_compare uu____552 uu____554 in + uu____550 = (Prims.parse_int "0") in if uu____548 then h :: t else x :: h :: t + let rec add_priorities : 'Auu____572 . Prims.int -> (Prims.int * 'Auu____572) Prims.list -> 'Auu____572 Prims.list -> (Prims.int * 'Auu____572) Prims.list = - fun n1 -> - fun acc -> - fun uu___4_604 -> + fun n1 -> + fun acc -> + fun uu___4_604 -> match uu___4_604 with | [] -> acc | h::t -> add_priorities (n1 + (Prims.parse_int "1")) ((n1, h) :: acc) t + let merge_increasing_lists_rev : 'a . ('a -> Prims.string) -> 'a Prims.list Prims.list -> 'a Prims.list = - fun key_fn -> - fun lists -> + fun key_fn -> + fun lists -> let cmp v1 v2 = match (v1, v2) with - | ((uu____716, []), uu____717) -> failwith "impossible" - | (uu____745, (uu____746, [])) -> failwith "impossible" - | ((pr1, h1::uu____776), (pr2, h2::uu____779)) -> + | ((uu____716,[]),uu____717) -> failwith "impossible" + | (uu____745,(uu____746,[])) -> failwith "impossible" + | ((pr1,h1::uu____776),(pr2,h2::uu____779)) -> let cmp_h = - let uu____808 = key_fn h1 in - let uu____810 = key_fn h2 in string_compare uu____808 uu____810 in - if cmp_h <> (Prims.parse_int "0") then cmp_h else pr1 - pr2 in + let uu____808 = key_fn h1 in + let uu____810 = key_fn h2 in + string_compare uu____808 uu____810 in + if cmp_h <> (Prims.parse_int "0") then cmp_h else pr1 - pr2 + in let rec aux lists1 acc = - let uu____853 = heap_pop cmp lists1 in + let uu____853 = heap_pop cmp lists1 in match uu____853 with - | FStar_Pervasives_Native.None -> acc - | FStar_Pervasives_Native.Some ((pr, []), uu____906) -> + | FStar_Pervasives_Native.None -> acc + | FStar_Pervasives_Native.Some ((pr,[]),uu____906) -> failwith "impossible" - | FStar_Pervasives_Native.Some ((pr, v1::[]), lists2) -> - let uu____1011 = push_nodup key_fn v1 acc in + | FStar_Pervasives_Native.Some ((pr,v1::[]),lists2) -> + let uu____1011 = push_nodup key_fn v1 acc in aux lists2 uu____1011 - | FStar_Pervasives_Native.Some ((pr, v1::tl1), lists2) -> - let uu____1069 = heap_insert cmp lists2 (pr, tl1) in - let uu____1089 = push_nodup key_fn v1 acc in - aux uu____1069 uu____1089 in - let lists1 = FStar_List.filter (fun x -> x <> []) lists in + | FStar_Pervasives_Native.Some ((pr,v1::tl1),lists2) -> + let uu____1069 = heap_insert cmp lists2 (pr, tl1) in + let uu____1089 = push_nodup key_fn v1 acc in + aux uu____1069 uu____1089 + in + let lists1 = FStar_List.filter (fun x -> x <> []) lists in match lists1 with | [] -> [] | l::[] -> FStar_List.rev l | uu____1116 -> - let lists2 = add_priorities (Prims.parse_int "0") [] lists1 in - let uu____1141 = heap_from_list cmp lists2 in aux uu____1141 [] + let lists2 = add_priorities (Prims.parse_int "0") [] lists1 in + let uu____1141 = heap_from_list cmp lists2 in aux uu____1141 [] + type 'a btree = | StrEmpty | StrBranch of (Prims.string * 'a * 'a btree * 'a btree) let uu___is_StrEmpty : 'a . 'a btree -> Prims.bool = - fun projectee -> - match projectee with | StrEmpty -> true | uu____1200 -> false + fun projectee -> + match projectee with | StrEmpty -> true | uu____1200 -> false + let uu___is_StrBranch : 'a . 'a btree -> Prims.bool = - fun projectee -> + fun projectee -> match projectee with | StrBranch _0 -> true | uu____1235 -> false + let __proj__StrBranch__item___0 : 'a . 'a btree -> (Prims.string * 'a * 'a btree * 'a btree) = - fun projectee -> match projectee with | StrBranch _0 -> _0 + fun projectee -> match projectee with | StrBranch _0 -> _0 let rec btree_to_list_rev : 'Auu____1288 . 'Auu____1288 btree -> (Prims.string * 'Auu____1288) Prims.list -> (Prims.string * 'Auu____1288) Prims.list = - fun btree -> - fun acc -> + fun btree -> + fun acc -> match btree with - | StrEmpty -> acc - | StrBranch (key, value, lbt, rbt) -> + | StrEmpty -> acc + | StrBranch (key,value,lbt,rbt) -> let uu____1338 = - let uu____1346 = btree_to_list_rev lbt acc in (key, value) :: - uu____1346 in + let uu____1346 = btree_to_list_rev lbt acc in (key, value) :: + uu____1346 + in btree_to_list_rev rbt uu____1338 + let rec btree_from_list : 'Auu____1367 . (Prims.string * 'Auu____1367) Prims.list -> Prims.int -> ('Auu____1367 btree * (Prims.string * 'Auu____1367) Prims.list) = - fun nodes -> - fun size -> + fun nodes -> + fun size -> if size = (Prims.parse_int "0") then (StrEmpty, nodes) else - (let lbt_size = size / (Prims.parse_int "2") in - let rbt_size = (size - lbt_size) - (Prims.parse_int "1") in - let uu____1427 = btree_from_list nodes lbt_size in + (let lbt_size = size / (Prims.parse_int "2") in + let rbt_size = (size - lbt_size) - (Prims.parse_int "1") in + let uu____1427 = btree_from_list nodes lbt_size in match uu____1427 with - | (lbt, nodes_left) -> + | (lbt,nodes_left) -> (match nodes_left with | [] -> failwith "Invalid size passed to btree_from_list" - | (k, v1)::nodes_left1 -> - let uu____1523 = btree_from_list nodes_left1 rbt_size in + | (k,v1)::nodes_left1 -> + let uu____1523 = btree_from_list nodes_left1 rbt_size in (match uu____1523 with - | (rbt, nodes_left2) -> + | (rbt,nodes_left2) -> ((StrBranch (k, v1, lbt, rbt)), nodes_left2)))) + let rec btree_insert_replace : 'a . 'a btree -> Prims.string -> 'a -> 'a btree = - fun bt -> - fun k -> - fun v1 -> + fun bt -> + fun k -> + fun v1 -> match bt with - | StrEmpty -> StrBranch (k, v1, StrEmpty, StrEmpty) - | StrBranch (k', v', lbt, rbt) -> - let cmp = string_compare k k' in + | StrEmpty -> StrBranch (k, v1, StrEmpty, StrEmpty) + | StrBranch (k',v',lbt,rbt) -> + let cmp = string_compare k k' in if cmp < (Prims.parse_int "0") then let uu____1643 = - let uu____1657 = btree_insert_replace lbt k v1 in - (k', v', uu____1657, rbt) in + let uu____1657 = btree_insert_replace lbt k v1 in + (k', v', uu____1657, rbt) in StrBranch uu____1643 else if cmp > (Prims.parse_int "0") then (let uu____1671 = - let uu____1685 = btree_insert_replace rbt k v1 in - (k', v', lbt, uu____1685) in + let uu____1685 = btree_insert_replace rbt k v1 in + (k', v', lbt, uu____1685) in StrBranch uu____1671) else StrBranch (k', v1, lbt, rbt) + let rec btree_find_exact : 'a . 'a btree -> Prims.string -> 'a FStar_Pervasives_Native.option = - fun bt -> - fun k -> + fun bt -> + fun k -> match bt with - | StrEmpty -> FStar_Pervasives_Native.None - | StrBranch (k', v1, lbt, rbt) -> - let cmp = string_compare k k' in + | StrEmpty -> FStar_Pervasives_Native.None + | StrBranch (k',v1,lbt,rbt) -> + let cmp = string_compare k k' in if cmp < (Prims.parse_int "0") then btree_find_exact lbt k else if cmp > (Prims.parse_int "0") then btree_find_exact rbt k else FStar_Pervasives_Native.Some v1 + let rec btree_extract_min : 'a . 'a btree -> (Prims.string * 'a * 'a btree) FStar_Pervasives_Native.option = - fun bt -> + fun bt -> match bt with - | StrEmpty -> FStar_Pervasives_Native.None - | StrBranch (k, v1, StrEmpty, rbt) -> + | StrEmpty -> FStar_Pervasives_Native.None + | StrBranch (k,v1,StrEmpty ,rbt) -> FStar_Pervasives_Native.Some (k, v1, rbt) - | StrBranch (uu____1814, uu____1815, lbt, uu____1817) -> + | StrBranch (uu____1814,uu____1815,lbt,uu____1817) -> btree_extract_min lbt + let rec btree_remove : 'a . 'a btree -> Prims.string -> 'a btree = - fun bt -> - fun k -> + fun bt -> + fun k -> match bt with - | StrEmpty -> StrEmpty - | StrBranch (k', v1, lbt, rbt) -> - let cmp = string_compare k k' in + | StrEmpty -> StrEmpty + | StrBranch (k',v1,lbt,rbt) -> + let cmp = string_compare k k' in if cmp < (Prims.parse_int "0") then let uu____1875 = - let uu____1889 = btree_remove lbt k in - (k', v1, uu____1889, rbt) in + let uu____1889 = btree_remove lbt k in + (k', v1, uu____1889, rbt) in StrBranch uu____1875 else if cmp > (Prims.parse_int "0") then (let uu____1903 = - let uu____1917 = btree_remove rbt k in - (k', v1, lbt, uu____1917) in + let uu____1917 = btree_remove rbt k in + (k', v1, lbt, uu____1917) in StrBranch uu____1903) else (match lbt with - | StrEmpty -> bt + | StrEmpty -> bt | uu____1929 -> - let uu____1932 = btree_extract_min rbt in + let uu____1932 = btree_extract_min rbt in (match uu____1932 with - | FStar_Pervasives_Native.None -> lbt - | FStar_Pervasives_Native.Some - (rbt_min_k, rbt_min_v, rbt') -> - StrBranch (rbt_min_k, rbt_min_v, lbt, rbt'))) + | FStar_Pervasives_Native.None -> lbt + | FStar_Pervasives_Native.Some (rbt_min_k,rbt_min_v,rbt') + -> StrBranch (rbt_min_k, rbt_min_v, lbt, rbt'))) + type prefix_match = { prefix: Prims.string FStar_Pervasives_Native.option ; completion: Prims.string } let (__proj__Mkprefix_match__item__prefix : prefix_match -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { prefix = prefix1; completion;_} -> prefix1 + let (__proj__Mkprefix_match__item__completion : prefix_match -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { prefix = prefix1; completion;_} -> completion + type path_elem = { imports: Prims.string Prims.list ; segment: prefix_match } let (__proj__Mkpath_elem__item__imports : path_elem -> Prims.string Prims.list) = - fun projectee -> match projectee with | { imports; segment;_} -> imports + fun projectee -> match projectee with | { imports; segment;_} -> imports let (__proj__Mkpath_elem__item__segment : path_elem -> prefix_match) = - fun projectee -> match projectee with | { imports; segment;_} -> segment + fun projectee -> match projectee with | { imports; segment;_} -> segment let (matched_prefix_of_path_elem : path_elem -> Prims.string FStar_Pervasives_Native.option) = - fun elem -> (elem.segment).prefix + fun elem -> (elem.segment).prefix let (mk_path_el : Prims.string Prims.list -> prefix_match -> path_elem) = - fun imports -> fun segment -> { imports; segment } + fun imports -> fun segment -> { imports; segment } let rec btree_find_prefix : 'a . 'a btree -> Prims.string -> (prefix_match * 'a) Prims.list = - fun bt -> - fun prefix1 -> + fun bt -> + fun prefix1 -> let rec aux bt1 prefix2 acc = match bt1 with - | StrEmpty -> acc - | StrBranch (k, v1, lbt, rbt) -> - let cmp = string_compare k prefix2 in - let include_middle = FStar_Util.starts_with k prefix2 in + | StrEmpty -> acc + | StrBranch (k,v1,lbt,rbt) -> + let cmp = string_compare k prefix2 in + let include_middle = FStar_Util.starts_with k prefix2 in let explore_right = - (cmp <= (Prims.parse_int "0")) || include_middle in - let explore_left = cmp > (Prims.parse_int "0") in - let matches = if explore_right then aux rbt prefix2 acc else acc in + (cmp <= (Prims.parse_int "0")) || include_middle in + let explore_left = cmp > (Prims.parse_int "0") in + let matches = if explore_right then aux rbt prefix2 acc else acc + in let matches1 = if include_middle then @@ -315,106 +341,118 @@ let rec btree_find_prefix : completion = k }, v1) :: matches - else matches in + else matches in let matches2 = - if explore_left then aux lbt prefix2 matches1 else matches1 in - matches2 in + if explore_left then aux lbt prefix2 matches1 else matches1 in + matches2 + in aux bt prefix1 [] + let rec btree_fold : 'a 'b . 'a btree -> (Prims.string -> 'a -> 'b -> 'b) -> 'b -> 'b = - fun bt -> - fun f -> - fun acc -> + fun bt -> + fun f -> + fun acc -> match bt with - | StrEmpty -> acc - | StrBranch (k, v1, lbt, rbt) -> + | StrEmpty -> acc + | StrBranch (k,v1,lbt,rbt) -> let uu____2313 = - let uu____2314 = btree_fold rbt f acc in f k v1 uu____2314 in + let uu____2314 = btree_fold rbt f acc in f k v1 uu____2314 in btree_fold lbt f uu____2313 + type path = path_elem Prims.list type query = Prims.string Prims.list let (query_to_string : Prims.string Prims.list -> Prims.string) = - fun q -> FStar_String.concat "." q + fun q -> FStar_String.concat "." q type 'a name_collection = | Names of 'a btree | ImportedNames of (Prims.string * 'a name_collection Prims.list) let uu___is_Names : 'a . 'a name_collection -> Prims.bool = - fun projectee -> + fun projectee -> match projectee with | Names _0 -> true | uu____2382 -> false + let __proj__Names__item___0 : 'a . 'a name_collection -> 'a btree = - fun projectee -> match projectee with | Names _0 -> _0 + fun projectee -> match projectee with | Names _0 -> _0 let uu___is_ImportedNames : 'a . 'a name_collection -> Prims.bool = - fun projectee -> + fun projectee -> match projectee with | ImportedNames _0 -> true | uu____2433 -> false + let __proj__ImportedNames__item___0 : 'a . 'a name_collection -> (Prims.string * 'a name_collection Prims.list) = - fun projectee -> match projectee with | ImportedNames _0 -> _0 + fun projectee -> match projectee with | ImportedNames _0 -> _0 type 'a names = 'a name_collection Prims.list type 'a trie = { bindings: 'a names ; namespaces: 'a trie names } let __proj__Mktrie__item__bindings : 'a . 'a trie -> 'a names = - fun projectee -> + fun projectee -> match projectee with | { bindings; namespaces;_} -> bindings + let __proj__Mktrie__item__namespaces : 'a . 'a trie -> 'a trie names = - fun projectee -> + fun projectee -> match projectee with | { bindings; namespaces;_} -> namespaces + let trie_empty : 'Auu____2554 . unit -> 'Auu____2554 trie = - fun uu____2557 -> { bindings = []; namespaces = [] } + fun uu____2557 -> { bindings = []; namespaces = [] } let rec names_find_exact : 'a . 'a names -> Prims.string -> 'a FStar_Pervasives_Native.option = - fun names -> - fun ns -> + fun names -> + fun ns -> let uu____2591 = match names with | [] -> (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) | (Names bt)::names1 -> - let uu____2632 = btree_find_exact bt ns in + let uu____2632 = btree_find_exact bt ns in (uu____2632, (FStar_Pervasives_Native.Some names1)) - | (ImportedNames (uu____2643, names1))::more_names -> - let uu____2662 = names_find_exact names1 ns in - (uu____2662, (FStar_Pervasives_Native.Some more_names)) in + | (ImportedNames (uu____2643,names1))::more_names -> + let uu____2662 = names_find_exact names1 ns in + (uu____2662, (FStar_Pervasives_Native.Some more_names)) + in match uu____2591 with - | (result, names1) -> + | (result,names1) -> (match (result, names1) with - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.Some + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.Some scopes) -> names_find_exact scopes ns | uu____2708 -> result) + let rec trie_descend_exact : 'a . 'a trie -> query -> 'a trie FStar_Pervasives_Native.option = - fun tr -> - fun query -> + fun tr -> + fun query -> match query with | [] -> FStar_Pervasives_Native.Some tr | ns::query1 -> - let uu____2756 = names_find_exact tr.namespaces ns in + let uu____2756 = names_find_exact tr.namespaces ns in FStar_Util.bind_opt uu____2756 - (fun scope -> trie_descend_exact scope query1) + (fun scope -> trie_descend_exact scope query1) + let rec trie_find_exact : 'a . 'a trie -> query -> 'a FStar_Pervasives_Native.option = - fun tr -> - fun query -> + fun tr -> + fun query -> match query with | [] -> failwith "Empty query in trie_find_exact" | name::[] -> names_find_exact tr.bindings name | ns::query1 -> - let uu____2811 = names_find_exact tr.namespaces ns in + let uu____2811 = names_find_exact tr.namespaces ns in FStar_Util.bind_opt uu____2811 - (fun scope -> trie_find_exact scope query1) + (fun scope -> trie_find_exact scope query1) + let names_insert : 'a . 'a names -> Prims.string -> 'a -> 'a names = - fun name_collections -> - fun id1 -> - fun v1 -> + fun name_collections -> + fun id1 -> + fun v1 -> let uu____2857 = match name_collections with | (Names bt)::tl1 -> (bt, tl1) - | uu____2894 -> (StrEmpty, name_collections) in + | uu____2894 -> (StrEmpty, name_collections) in match uu____2857 with - | (bt, name_collections1) -> + | (bt,name_collections1) -> let uu____2919 = - let uu____2922 = btree_insert_replace bt id1 v1 in - Names uu____2922 in + let uu____2922 = btree_insert_replace bt id1 v1 in + Names uu____2922 in uu____2919 :: name_collections1 + let rec namespaces_mutate : 'a . 'a trie names -> @@ -425,17 +463,19 @@ let rec namespaces_mutate : Prims.string -> query -> query -> 'a trie names -> 'a trie) -> ('a trie -> query -> 'a trie) -> 'a trie names = - fun namespaces -> - fun ns -> - fun q -> - fun rev_acc1 -> - fun mut_node -> - fun mut_leaf -> + fun namespaces -> + fun ns -> + fun q -> + fun rev_acc1 -> + fun mut_node -> + fun mut_leaf -> let trie = - let uu____3122 = names_find_exact namespaces ns in - FStar_Util.dflt (trie_empty ()) uu____3122 in - let uu____3131 = trie_mutate trie q rev_acc1 mut_node mut_leaf in + let uu____3122 = names_find_exact namespaces ns in + FStar_Util.dflt (trie_empty ()) uu____3122 in + let uu____3131 = trie_mutate trie q rev_acc1 mut_node mut_leaf + in names_insert namespaces ns uu____3131 + and trie_mutate : 'a . 'a trie -> @@ -445,331 +485,369 @@ and trie_mutate : Prims.string -> query -> query -> 'a trie names -> 'a trie) -> ('a trie -> query -> 'a trie) -> 'a trie = - fun tr -> - fun q -> - fun rev_acc1 -> - fun mut_node -> - fun mut_leaf -> + fun tr -> + fun q -> + fun rev_acc1 -> + fun mut_node -> + fun mut_leaf -> match q with | [] -> mut_leaf tr rev_acc1 | id1::q1 -> let ns' = namespaces_mutate tr.namespaces id1 q1 (id1 :: rev_acc1) - mut_node mut_leaf in + mut_node mut_leaf + in mut_node tr id1 q1 rev_acc1 ns' + let trie_mutate_leaf : 'a . 'a trie -> query -> ('a trie -> query -> 'a trie) -> 'a trie = - fun tr -> - fun query -> + fun tr -> + fun query -> trie_mutate tr query [] - (fun tr1 -> - fun uu____3231 -> - fun uu____3232 -> - fun uu____3233 -> - fun namespaces -> - let uu___379_3242 = tr1 in + (fun tr1 -> + fun uu____3231 -> + fun uu____3232 -> + fun uu____3233 -> + fun namespaces -> + let uu___379_3242 = tr1 in { bindings = (uu___379_3242.bindings); namespaces }) + let trie_insert : 'a . 'a trie -> query -> Prims.string -> 'a -> 'a trie = - fun tr -> - fun ns_query -> - fun id1 -> - fun v1 -> + fun tr -> + fun ns_query -> + fun id1 -> + fun v1 -> trie_mutate_leaf tr ns_query - (fun tr1 -> - fun uu____3290 -> - let uu___388_3293 = tr1 in - let uu____3296 = names_insert tr1.bindings id1 v1 in + (fun tr1 -> + fun uu____3290 -> + let uu___388_3293 = tr1 in + let uu____3296 = names_insert tr1.bindings id1 v1 in { bindings = uu____3296; namespaces = (uu___388_3293.namespaces) }) + let trie_import : 'a . 'a trie -> query -> query -> ('a trie -> 'a trie -> Prims.string -> 'a trie) -> 'a trie = - fun tr -> - fun host_query -> - fun included_query -> - fun mutator -> - let label = query_to_string included_query in + fun tr -> + fun host_query -> + fun included_query -> + fun mutator -> + let label = query_to_string included_query in let included_trie = - let uu____3371 = trie_descend_exact tr included_query in - FStar_Util.dflt (trie_empty ()) uu____3371 in + let uu____3371 = trie_descend_exact tr included_query in + FStar_Util.dflt (trie_empty ()) uu____3371 in trie_mutate_leaf tr host_query - (fun tr1 -> fun uu____3381 -> mutator tr1 included_trie label) + (fun tr1 -> fun uu____3381 -> mutator tr1 included_trie label) + let trie_include : 'a . 'a trie -> query -> query -> 'a trie = - fun tr -> - fun host_query -> - fun included_query -> + fun tr -> + fun host_query -> + fun included_query -> trie_import tr host_query included_query - (fun tr1 -> - fun inc -> - fun label -> - let uu___406_3427 = tr1 in + (fun tr1 -> + fun inc -> + fun label -> + let uu___406_3427 = tr1 in { bindings = ((ImportedNames (label, (inc.bindings))) :: (tr1.bindings)); namespaces = (uu___406_3427.namespaces) }) + let trie_open_namespace : 'a . 'a trie -> query -> query -> 'a trie = - fun tr -> - fun host_query -> - fun included_query -> + fun tr -> + fun host_query -> + fun included_query -> trie_import tr host_query included_query - (fun tr1 -> - fun inc -> - fun label -> - let uu___415_3480 = tr1 in + (fun tr1 -> + fun inc -> + fun label -> + let uu___415_3480 = tr1 in { bindings = (uu___415_3480.bindings); namespaces = ((ImportedNames (label, (inc.namespaces))) :: (tr1.namespaces)) }) + let trie_add_alias : 'a . 'a trie -> Prims.string -> query -> query -> 'a trie = - fun tr -> - fun key -> - fun host_query -> - fun included_query -> + fun tr -> + fun key -> + fun host_query -> + fun included_query -> trie_import tr host_query included_query - (fun tr1 -> - fun inc -> - fun label -> + (fun tr1 -> + fun inc -> + fun label -> trie_mutate_leaf tr1 [key] - (fun _ignored_overwritten_trie -> - fun uu____3552 -> + (fun _ignored_overwritten_trie -> + fun uu____3552 -> { bindings = [ImportedNames (label, (inc.bindings))]; namespaces = [] })) + let names_revmap : 'a 'b . ('a btree -> 'b) -> 'a names -> (Prims.string Prims.list * 'b) Prims.list = - fun fn -> - fun name_collections -> + fun fn -> + fun name_collections -> let rec aux acc imports name_collections1 = FStar_List.fold_left - (fun acc1 -> - fun uu___5_3689 -> + (fun acc1 -> + fun uu___5_3689 -> match uu___5_3689 with | Names bt -> let uu____3713 = - let uu____3721 = fn bt in (imports, uu____3721) in + let uu____3721 = fn bt in (imports, uu____3721) in uu____3713 :: acc1 - | ImportedNames (nm, name_collections2) -> + | ImportedNames (nm,name_collections2) -> aux acc1 (nm :: imports) name_collections2) acc - name_collections1 in + name_collections1 + in aux [] [] name_collections + let btree_find_all : 'a . Prims.string FStar_Pervasives_Native.option -> 'a btree -> (prefix_match * 'a) Prims.list = - fun prefix1 -> - fun bt -> + fun prefix1 -> + fun bt -> btree_fold bt - (fun k -> - fun tr -> - fun acc -> ({ prefix = prefix1; completion = k }, tr) :: acc) [] + (fun k -> + fun tr -> + fun acc -> ({ prefix = prefix1; completion = k }, tr) :: acc) + [] + type name_search_term = | NSTAll | NSTNone | NSTPrefix of Prims.string let (uu___is_NSTAll : name_search_term -> Prims.bool) = - fun projectee -> - match projectee with | NSTAll -> true | uu____3829 -> false + fun projectee -> + match projectee with | NSTAll -> true | uu____3829 -> false + let (uu___is_NSTNone : name_search_term -> Prims.bool) = - fun projectee -> - match projectee with | NSTNone -> true | uu____3840 -> false + fun projectee -> + match projectee with | NSTNone -> true | uu____3840 -> false + let (uu___is_NSTPrefix : name_search_term -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | NSTPrefix _0 -> true | uu____3853 -> false + let (__proj__NSTPrefix__item___0 : name_search_term -> Prims.string) = - fun projectee -> match projectee with | NSTPrefix _0 -> _0 + fun projectee -> match projectee with | NSTPrefix _0 -> _0 let names_find_rev : 'a . 'a names -> name_search_term -> (path_elem * 'a) Prims.list = - fun names -> - fun id1 -> + fun names -> + fun id1 -> let matching_values_per_collection_with_imports = match id1 with - | NSTNone -> [] - | NSTAll -> + | NSTNone -> [] + | NSTAll -> names_revmap (btree_find_all FStar_Pervasives_Native.None) names | NSTPrefix "" -> names_revmap (btree_find_all (FStar_Pervasives_Native.Some "")) names | NSTPrefix id2 -> - names_revmap (fun bt -> btree_find_prefix bt id2) names in + names_revmap (fun bt -> btree_find_prefix bt id2) names + in let matching_values_per_collection = FStar_List.map - (fun uu____3996 -> + (fun uu____3996 -> match uu____3996 with - | (imports, matches) -> + | (imports,matches) -> FStar_List.map - (fun uu____4047 -> + (fun uu____4047 -> match uu____4047 with - | (segment, v1) -> ((mk_path_el imports segment), v1)) - matches) matching_values_per_collection_with_imports in + | (segment,v1) -> ((mk_path_el imports segment), v1)) + matches) matching_values_per_collection_with_imports + in merge_increasing_lists_rev - (fun uu____4065 -> + (fun uu____4065 -> match uu____4065 with - | (path_el, uu____4072) -> (path_el.segment).completion) + | (path_el,uu____4072) -> (path_el.segment).completion) matching_values_per_collection + let rec trie_find_prefix' : 'a . 'a trie -> path -> query -> (path * 'a) Prims.list -> (path * 'a) Prims.list = - fun tr -> - fun path_acc -> - fun query -> - fun acc -> + fun tr -> + fun path_acc -> + fun query -> + fun acc -> let uu____4127 = match query with | [] -> (NSTAll, NSTAll, []) | id1::[] -> ((NSTPrefix id1), (NSTPrefix id1), []) - | ns::query1 -> ((NSTPrefix ns), NSTNone, query1) in + | ns::query1 -> ((NSTPrefix ns), NSTNone, query1) in match uu____4127 with - | (ns_search_term, bindings_search_term, query1) -> + | (ns_search_term,bindings_search_term,query1) -> let matching_namespaces_rev = - names_find_rev tr.namespaces ns_search_term in + names_find_rev tr.namespaces ns_search_term in let acc_with_recursive_bindings = FStar_List.fold_left - (fun acc1 -> - fun uu____4198 -> + (fun acc1 -> + fun uu____4198 -> match uu____4198 with - | (path_el, trie) -> + | (path_el,trie) -> trie_find_prefix' trie (path_el :: path_acc) - query1 acc1) acc matching_namespaces_rev in + query1 acc1) acc matching_namespaces_rev + in let matching_bindings_rev = - names_find_rev tr.bindings bindings_search_term in + names_find_rev tr.bindings bindings_search_term in FStar_List.rev_map_onto - (fun uu____4243 -> + (fun uu____4243 -> match uu____4243 with - | (path_el, v1) -> + | (path_el,v1) -> ((FStar_List.rev (path_el :: path_acc)), v1)) matching_bindings_rev acc_with_recursive_bindings + let trie_find_prefix : 'a . 'a trie -> query -> (path * 'a) Prims.list = - fun tr -> fun query -> trie_find_prefix' tr [] query [] + fun tr -> fun query -> trie_find_prefix' tr [] query [] type ns_info = { ns_name: Prims.string ; ns_loaded: Prims.bool } let (__proj__Mkns_info__item__ns_name : ns_info -> Prims.string) = - fun projectee -> match projectee with | { ns_name; ns_loaded;_} -> ns_name + fun projectee -> match projectee with | { ns_name; ns_loaded;_} -> ns_name let (__proj__Mkns_info__item__ns_loaded : ns_info -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { ns_name; ns_loaded;_} -> ns_loaded + type mod_info = { mod_name: Prims.string ; mod_path: Prims.string ; mod_loaded: Prims.bool } let (__proj__Mkmod_info__item__mod_name : mod_info -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { mod_name; mod_path; mod_loaded;_} -> mod_name + let (__proj__Mkmod_info__item__mod_path : mod_info -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { mod_name; mod_path; mod_loaded;_} -> mod_path + let (__proj__Mkmod_info__item__mod_loaded : mod_info -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { mod_name; mod_path; mod_loaded;_} -> mod_loaded -let (mod_name : mod_info -> Prims.string) = fun md -> md.mod_name + +let (mod_name : mod_info -> Prims.string) = fun md -> md.mod_name type mod_symbol = | Module of mod_info | Namespace of ns_info let (uu___is_Module : mod_symbol -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Module _0 -> true | uu____4413 -> false + let (__proj__Module__item___0 : mod_symbol -> mod_info) = - fun projectee -> match projectee with | Module _0 -> _0 + fun projectee -> match projectee with | Module _0 -> _0 let (uu___is_Namespace : mod_symbol -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Namespace _0 -> true | uu____4432 -> false + let (__proj__Namespace__item___0 : mod_symbol -> ns_info) = - fun projectee -> match projectee with | Namespace _0 -> _0 + fun projectee -> match projectee with | Namespace _0 -> _0 type lid_symbol = FStar_Ident.lid type symbol = | ModOrNs of mod_symbol | Lid of lid_symbol let (uu___is_ModOrNs : symbol -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | ModOrNs _0 -> true | uu____4461 -> false + let (__proj__ModOrNs__item___0 : symbol -> mod_symbol) = - fun projectee -> match projectee with | ModOrNs _0 -> _0 + fun projectee -> match projectee with | ModOrNs _0 -> _0 let (uu___is_Lid : symbol -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Lid _0 -> true | uu____4480 -> false + let (__proj__Lid__item___0 : symbol -> lid_symbol) = - fun projectee -> match projectee with | Lid _0 -> _0 + fun projectee -> match projectee with | Lid _0 -> _0 type table = { tbl_lids: lid_symbol trie ; tbl_mods: mod_symbol trie } let (__proj__Mktable__item__tbl_lids : table -> lid_symbol trie) = - fun projectee -> match projectee with | { tbl_lids; tbl_mods;_} -> tbl_lids + fun projectee -> + match projectee with | { tbl_lids; tbl_mods;_} -> tbl_lids + let (__proj__Mktable__item__tbl_mods : table -> mod_symbol trie) = - fun projectee -> match projectee with | { tbl_lids; tbl_mods;_} -> tbl_mods + fun projectee -> + match projectee with | { tbl_lids; tbl_mods;_} -> tbl_mods + let (empty : table) = - { tbl_lids = (trie_empty ()); tbl_mods = (trie_empty ()) } + { tbl_lids = (trie_empty ()); tbl_mods = (trie_empty ()) } let (insert : table -> query -> Prims.string -> lid_symbol -> table) = - fun tbl -> - fun host_query -> - fun id1 -> - fun c -> - let uu___533_4559 = tbl in - let uu____4560 = trie_insert tbl.tbl_lids host_query id1 c in + fun tbl -> + fun host_query -> + fun id1 -> + fun c -> + let uu___533_4559 = tbl in + let uu____4560 = trie_insert tbl.tbl_lids host_query id1 c in { tbl_lids = uu____4560; tbl_mods = (uu___533_4559.tbl_mods) } + let (register_alias : table -> Prims.string -> query -> query -> table) = - fun tbl -> - fun key -> - fun host_query -> - fun included_query -> - let uu___543_4586 = tbl in + fun tbl -> + fun key -> + fun host_query -> + fun included_query -> + let uu___543_4586 = tbl in let uu____4587 = - trie_add_alias tbl.tbl_lids key host_query included_query in + trie_add_alias tbl.tbl_lids key host_query included_query in { tbl_lids = uu____4587; tbl_mods = (uu___543_4586.tbl_mods) } + let (register_include : table -> query -> query -> table) = - fun tbl -> - fun host_query -> - fun included_query -> - let uu___551_4606 = tbl in - let uu____4607 = trie_include tbl.tbl_lids host_query included_query in + fun tbl -> + fun host_query -> + fun included_query -> + let uu___551_4606 = tbl in + let uu____4607 = trie_include tbl.tbl_lids host_query included_query + in { tbl_lids = uu____4607; tbl_mods = (uu___551_4606.tbl_mods) } + let (register_open : table -> Prims.bool -> query -> query -> table) = - fun tbl -> - fun is_module -> - fun host_query -> - fun included_query -> + fun tbl -> + fun is_module -> + fun host_query -> + fun included_query -> if is_module then register_include tbl host_query included_query else - (let uu___562_4636 = tbl in + (let uu___562_4636 = tbl in let uu____4637 = - trie_open_namespace tbl.tbl_lids host_query included_query in + trie_open_namespace tbl.tbl_lids host_query included_query in { tbl_lids = uu____4637; tbl_mods = (uu___562_4636.tbl_mods) }) + let (register_module_path : table -> Prims.bool -> Prims.string -> query -> table) = - fun tbl -> - fun loaded -> - fun path -> - fun mod_query -> + fun tbl -> + fun loaded -> + fun path -> + fun mod_query -> let ins_ns id1 bindings full_name loaded1 = let uu____4698 = - let uu____4706 = names_find_exact bindings id1 in - (uu____4706, loaded1) in + let uu____4706 = names_find_exact bindings id1 in + (uu____4706, loaded1) in match uu____4698 with - | (FStar_Pervasives_Native.None, uu____4714) -> + | (FStar_Pervasives_Native.None ,uu____4714) -> names_insert bindings id1 (Namespace { ns_name = full_name; ns_loaded = loaded1 }) | (FStar_Pervasives_Native.Some (Namespace - { ns_name = uu____4719; ns_loaded = false;_}), true) -> + { ns_name = uu____4719; ns_loaded = false ;_}),true ) -> names_insert bindings id1 (Namespace { ns_name = full_name; ns_loaded = loaded1 }) - | (FStar_Pervasives_Native.Some uu____4726, uu____4727) -> - bindings in + | (FStar_Pervasives_Native.Some uu____4726,uu____4727) -> + bindings + in let ins_mod id1 bindings full_name loaded1 = names_insert bindings id1 (Module @@ -777,70 +855,81 @@ let (register_module_path : mod_name = full_name; mod_path = path; mod_loaded = loaded1 - }) in + }) + in let name_of_revq query = - FStar_String.concat "." (FStar_List.rev query) in + FStar_String.concat "." (FStar_List.rev query) in let ins id1 q revq bindings loaded1 = - let name = name_of_revq (id1 :: revq) in + let name = name_of_revq (id1 :: revq) in match q with | [] -> ins_mod id1 bindings name loaded1 - | uu____4834 -> ins_ns id1 bindings name loaded1 in - let uu___607_4838 = tbl in + | uu____4834 -> ins_ns id1 bindings name loaded1 in + let uu___607_4838 = tbl in let uu____4839 = trie_mutate tbl.tbl_mods mod_query [] - (fun tr -> - fun id1 -> - fun q -> - fun revq -> - fun namespaces -> - let uu___616_4862 = tr in - let uu____4865 = ins id1 q revq tr.bindings loaded in + (fun tr -> + fun id1 -> + fun q -> + fun revq -> + fun namespaces -> + let uu___616_4862 = tr in + let uu____4865 = ins id1 q revq tr.bindings loaded + in { bindings = uu____4865; namespaces }) - (fun tr -> fun uu____4871 -> tr) in + (fun tr -> fun uu____4871 -> tr) + in { tbl_lids = (uu___607_4838.tbl_lids); tbl_mods = uu____4839 } + let (string_of_path : path -> Prims.string) = - fun path -> - let uu____4882 = FStar_List.map (fun el -> (el.segment).completion) path in + fun path -> + let uu____4882 = FStar_List.map (fun el -> (el.segment).completion) path + in FStar_String.concat "." uu____4882 + let (match_length_of_path : path -> Prims.int) = - fun path -> + fun path -> let uu____4898 = FStar_List.fold_left - (fun acc -> - fun elem -> - let uu____4938 = acc in + (fun acc -> + fun elem -> + let uu____4938 = acc in match uu____4938 with - | (acc_len, uu____4960) -> + | (acc_len,uu____4960) -> (match (elem.segment).prefix with | FStar_Pervasives_Native.Some prefix1 -> let completion_len = - FStar_String.length (elem.segment).completion in + FStar_String.length (elem.segment).completion in (((acc_len + (Prims.parse_int "1")) + completion_len), (prefix1, completion_len)) - | FStar_Pervasives_Native.None -> acc)) - ((Prims.parse_int "0"), ("", (Prims.parse_int "0"))) path in + | FStar_Pervasives_Native.None -> acc)) + ((Prims.parse_int "0"), ("", (Prims.parse_int "0"))) path + in match uu____4898 with - | (length1, (last_prefix, last_completion_length)) -> + | (length1,(last_prefix,last_completion_length)) -> ((length1 - (Prims.parse_int "1")) - last_completion_length) + (FStar_String.length last_prefix) + let (first_import_of_path : path -> Prims.string FStar_Pervasives_Native.option) = - fun path -> + fun path -> match path with | [] -> FStar_Pervasives_Native.None | { imports; segment = uu____5034;_}::uu____5035 -> FStar_List.last imports + let (alist_of_ns_info : ns_info -> (Prims.string * FStar_Util.json) Prims.list) = - fun ns_info -> + fun ns_info -> [("name", (FStar_Util.JsonStr (ns_info.ns_name))); ("loaded", (FStar_Util.JsonBool (ns_info.ns_loaded)))] + let (alist_of_mod_info : mod_info -> (Prims.string * FStar_Util.json) Prims.list) = - fun mod_info -> + fun mod_info -> [("name", (FStar_Util.JsonStr (mod_info.mod_name))); ("path", (FStar_Util.JsonStr (mod_info.mod_path))); ("loaded", (FStar_Util.JsonBool (mod_info.mod_loaded)))] + type completion_result = { completion_match_length: Prims.int ; @@ -848,62 +937,68 @@ type completion_result = completion_annotation: Prims.string } let (__proj__Mkcompletion_result__item__completion_match_length : completion_result -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { completion_match_length; completion_candidate; completion_annotation;_} -> completion_match_length + let (__proj__Mkcompletion_result__item__completion_candidate : completion_result -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { completion_match_length; completion_candidate; completion_annotation;_} -> completion_candidate + let (__proj__Mkcompletion_result__item__completion_annotation : completion_result -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { completion_match_length; completion_candidate; completion_annotation;_} -> completion_annotation + let (json_of_completion_result : completion_result -> FStar_Util.json) = - fun result -> + fun result -> FStar_Util.JsonList [FStar_Util.JsonInt (result.completion_match_length); FStar_Util.JsonStr (result.completion_annotation); FStar_Util.JsonStr (result.completion_candidate)] + let completion_result_of_lid : 'Auu____5184 . (path * 'Auu____5184) -> completion_result = - fun uu____5193 -> + fun uu____5193 -> match uu____5193 with - | (path, _lid) -> - let uu____5200 = match_length_of_path path in - let uu____5202 = string_of_path path in + | (path,_lid) -> + let uu____5200 = match_length_of_path path in + let uu____5202 = string_of_path path in let uu____5204 = - let uu____5206 = first_import_of_path path in - FStar_Util.dflt "" uu____5206 in + let uu____5206 = first_import_of_path path in + FStar_Util.dflt "" uu____5206 in { completion_match_length = uu____5200; completion_candidate = uu____5202; completion_annotation = uu____5204 } + let (completion_result_of_mod : Prims.string -> Prims.bool -> path -> completion_result) = - fun annot -> - fun loaded -> - fun path -> - let uu____5232 = match_length_of_path path in - let uu____5234 = string_of_path path in + fun annot -> + fun loaded -> + fun path -> + let uu____5232 = match_length_of_path path in + let uu____5234 = string_of_path path in let uu____5236 = - FStar_Util.format1 (if loaded then " %s " else "(%s)") annot in + FStar_Util.format1 (if loaded then " %s " else "(%s)") annot in { completion_match_length = uu____5232; completion_candidate = uu____5234; completion_annotation = uu____5236 } + let (completion_result_of_ns_or_mod : (path * mod_symbol) -> completion_result) = - fun uu____5253 -> + fun uu____5253 -> match uu____5253 with - | (path, symb) -> + | (path,symb) -> (match symb with | Module { mod_name = uu____5260; mod_path = uu____5261; @@ -911,14 +1006,16 @@ let (completion_result_of_ns_or_mod : -> completion_result_of_mod "mod" loaded path | Namespace { ns_name = uu____5267; ns_loaded = loaded;_} -> completion_result_of_mod "ns" loaded path) + let (find_module_or_ns : table -> query -> mod_symbol FStar_Pervasives_Native.option) = - fun tbl -> fun query -> trie_find_exact tbl.tbl_mods query + fun tbl -> fun query -> trie_find_exact tbl.tbl_mods query let (autocomplete_lid : table -> query -> completion_result Prims.list) = - fun tbl -> - fun query -> - let uu____5298 = trie_find_prefix tbl.tbl_lids query in + fun tbl -> + fun query -> + let uu____5298 = trie_find_prefix tbl.tbl_lids query in FStar_List.map completion_result_of_lid uu____5298 + let (autocomplete_mod_or_ns : table -> query -> @@ -926,11 +1023,12 @@ let (autocomplete_mod_or_ns : (path * mod_symbol) FStar_Pervasives_Native.option) -> completion_result Prims.list) = - fun tbl -> - fun query -> - fun filter1 -> + fun tbl -> + fun query -> + fun filter1 -> let uu____5352 = - let uu____5359 = trie_find_prefix tbl.tbl_mods query in - FStar_All.pipe_right uu____5359 (FStar_List.filter_map filter1) in + let uu____5359 = trie_find_prefix tbl.tbl_mods query in + FStar_All.pipe_right uu____5359 (FStar_List.filter_map filter1) in FStar_All.pipe_right uu____5352 - (FStar_List.map completion_result_of_ns_or_mod) \ No newline at end of file + (FStar_List.map completion_result_of_ns_or_mod) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Interactive_Ide.ml b/src/ocaml-output/FStar_Interactive_Ide.ml index 5bf235c3d44..3f7fb591977 100644 --- a/src/ocaml-output/FStar_Interactive_Ide.ml +++ b/src/ocaml-output/FStar_Interactive_Ide.ml @@ -7,15 +7,15 @@ let with_captured_errors' : 'Auu____28 FStar_Pervasives_Native.option) -> 'Auu____28 FStar_Pervasives_Native.option = - fun env -> - fun sigint_handler -> - fun f -> + fun env -> + fun sigint_handler -> + fun f -> try - (fun uu___11_58 -> + (fun uu___11_58 -> match () with | () -> FStar_Util.with_sigint_handler sigint_handler - (fun uu____64 -> f env)) () + (fun uu____64 -> f env)) () with | FStar_All.Failure msg -> let msg1 = @@ -25,26 +25,28 @@ let with_captured_errors' : (Prims.op_Hat "F* may be in an inconsistent state.\n" (Prims.op_Hat "Please file a bug report, ideally with a " - "minimized version of the program that triggered the error.")))) in - ((let uu____82 = FStar_TypeChecker_Env.get_range env in + "minimized version of the program that triggered the error.")))) + in + ((let uu____82 = FStar_TypeChecker_Env.get_range env in FStar_Errors.log_issue uu____82 (FStar_Errors.Error_IDEAssertionFailure, msg1)); FStar_Pervasives_Native.None) - | FStar_Util.SigInt -> + | FStar_Util.SigInt -> (FStar_Util.print_string "Interrupted"; FStar_Pervasives_Native.None) - | FStar_Errors.Error (e, msg, r) -> + | FStar_Errors.Error (e,msg,r) -> (FStar_Errors.add_errors [(e, msg, r)]; FStar_Pervasives_Native.None) - | FStar_Errors.Err (e, msg) -> + | FStar_Errors.Err (e,msg) -> ((let uu____112 = let uu____122 = - let uu____130 = FStar_TypeChecker_Env.get_range env in - (e, msg, uu____130) in - [uu____122] in + let uu____130 = FStar_TypeChecker_Env.get_range env in + (e, msg, uu____130) in + [uu____122] in FStar_Errors.add_errors uu____112); FStar_Pervasives_Native.None) - | FStar_Errors.Stop -> FStar_Pervasives_Native.None + | FStar_Errors.Stop -> FStar_Pervasives_Native.None + let with_captured_errors : 'Auu____155 . FStar_TypeChecker_Env.env -> @@ -53,27 +55,30 @@ let with_captured_errors : 'Auu____155 FStar_Pervasives_Native.option) -> 'Auu____155 FStar_Pervasives_Native.option = - fun env -> - fun sigint_handler -> - fun f -> - let uu____182 = FStar_Options.trace_error () in + fun env -> + fun sigint_handler -> + fun f -> + let uu____182 = FStar_Options.trace_error () in if uu____182 then f env else with_captured_errors' env sigint_handler f -let (t0 : FStar_Util.time) = FStar_Util.now () + +let (t0 : FStar_Util.time) = FStar_Util.now () let (dummy_tf_of_fname : Prims.string -> FStar_JsonHelper.timed_fname) = - fun fname -> + fun fname -> { FStar_JsonHelper.tf_fname = fname; FStar_JsonHelper.tf_modtime = t0 } + let (string_of_timed_fname : FStar_JsonHelper.timed_fname -> Prims.string) = - fun uu____204 -> + fun uu____204 -> match uu____204 with | { FStar_JsonHelper.tf_fname = fname; FStar_JsonHelper.tf_modtime = modtime;_} -> if modtime = t0 then FStar_Util.format1 "{ %s }" fname else - (let uu____214 = FStar_Util.string_of_time modtime in + (let uu____214 = FStar_Util.string_of_time modtime in FStar_Util.format2 "{ %s; %s }" fname uu____214) + type push_query = { push_kind: FStar_PushHelper.push_kind ; @@ -83,57 +88,64 @@ type push_query = push_peek_only: Prims.bool } let (__proj__Mkpush_query__item__push_kind : push_query -> FStar_PushHelper.push_kind) = - fun projectee -> + fun projectee -> match projectee with | { push_kind; push_code; push_line; push_column; push_peek_only;_} -> push_kind + let (__proj__Mkpush_query__item__push_code : push_query -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { push_kind; push_code; push_line; push_column; push_peek_only;_} -> push_code + let (__proj__Mkpush_query__item__push_line : push_query -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { push_kind; push_code; push_line; push_column; push_peek_only;_} -> push_line + let (__proj__Mkpush_query__item__push_column : push_query -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { push_kind; push_code; push_line; push_column; push_peek_only;_} -> push_column + let (__proj__Mkpush_query__item__push_peek_only : push_query -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { push_kind; push_code; push_line; push_column; push_peek_only;_} -> push_peek_only + type env_t = FStar_TypeChecker_Env.env let (repl_current_qid : Prims.string FStar_Pervasives_Native.option FStar_ST.ref) = - FStar_Util.mk_ref FStar_Pervasives_Native.None + FStar_Util.mk_ref FStar_Pervasives_Native.None let (nothing_left_to_pop : FStar_JsonHelper.repl_state -> Prims.bool) = - fun st -> + fun st -> let uu____346 = - let uu____347 = FStar_ST.op_Bang FStar_PushHelper.repl_stack in - FStar_List.length uu____347 in + let uu____347 = FStar_ST.op_Bang FStar_PushHelper.repl_stack in + FStar_List.length uu____347 in uu____346 = (FStar_List.length st.FStar_JsonHelper.repl_deps_stack) + let (string_of_repl_task : FStar_JsonHelper.repl_task -> Prims.string) = - fun uu___0_399 -> + fun uu___0_399 -> match uu___0_399 with - | FStar_JsonHelper.LDInterleaved (intf, impl) -> - let uu____403 = string_of_timed_fname intf in - let uu____405 = string_of_timed_fname impl in + | FStar_JsonHelper.LDInterleaved (intf,impl) -> + let uu____403 = string_of_timed_fname intf in + let uu____405 = string_of_timed_fname impl in FStar_Util.format2 "LDInterleaved (%s, %s)" uu____403 uu____405 | FStar_JsonHelper.LDSingle intf_or_impl -> - let uu____409 = string_of_timed_fname intf_or_impl in + let uu____409 = string_of_timed_fname intf_or_impl in FStar_Util.format1 "LDSingle %s" uu____409 | FStar_JsonHelper.LDInterfaceOfCurrentFile intf -> - let uu____413 = string_of_timed_fname intf in + let uu____413 = string_of_timed_fname intf in FStar_Util.format1 "LDInterfaceOfCurrentFile %s" uu____413 | FStar_JsonHelper.PushFragment frag -> FStar_Util.format1 "PushFragment { code = %s }" frag.FStar_Parser_ParseIt.frag_text - | FStar_JsonHelper.Noop -> "Noop {}" + | FStar_JsonHelper.Noop -> "Noop {}" + let (run_repl_transaction : FStar_JsonHelper.repl_state -> FStar_PushHelper.push_kind -> @@ -141,46 +153,52 @@ let (run_repl_transaction : FStar_JsonHelper.repl_task -> (Prims.bool * FStar_JsonHelper.repl_state)) = - fun st -> - fun push_kind -> - fun must_rollback -> - fun task -> + fun st -> + fun push_kind -> + fun must_rollback -> + fun task -> let st1 = FStar_PushHelper.push_repl "run_repl_transaction" push_kind task - st in + st + in let uu____449 = - FStar_PushHelper.track_name_changes st1.FStar_JsonHelper.repl_env in + FStar_PushHelper.track_name_changes st1.FStar_JsonHelper.repl_env + in match uu____449 with - | (env, finish_name_tracking) -> + | (env,finish_name_tracking) -> let check_success uu____494 = - (let uu____497 = FStar_Errors.get_err_count () in + (let uu____497 = FStar_Errors.get_err_count () in uu____497 = (Prims.parse_int "0")) && - (Prims.op_Negation must_rollback) in + (Prims.op_Negation must_rollback) + in let uu____501 = let uu____509 = with_captured_errors env FStar_Util.sigint_raise - (fun env1 -> + (fun env1 -> let uu____523 = FStar_PushHelper.run_repl_task - st1.FStar_JsonHelper.repl_curmod env1 task in + st1.FStar_JsonHelper.repl_curmod env1 task + in FStar_All.pipe_left - (fun _542 -> FStar_Pervasives_Native.Some _542) - uu____523) in + (fun _542 -> FStar_Pervasives_Native.Some _542) + uu____523) + in match uu____509 with - | FStar_Pervasives_Native.Some (curmod, env1) when + | FStar_Pervasives_Native.Some (curmod,env1) when check_success () -> (curmod, env1, true) | uu____558 -> - ((st1.FStar_JsonHelper.repl_curmod), env, false) in + ((st1.FStar_JsonHelper.repl_curmod), env, false) + in (match uu____501 with - | (curmod, env1, success) -> - let uu____577 = finish_name_tracking env1 in + | (curmod,env1,success) -> + let uu____577 = finish_name_tracking env1 in (match uu____577 with - | (env2, name_events) -> + | (env2,name_events) -> let st2 = if success then let st2 = - let uu___95_598 = st1 in + let uu___95_598 = st1 in { FStar_JsonHelper.repl_line = (uu___95_598.FStar_JsonHelper.repl_line); @@ -196,45 +214,50 @@ let (run_repl_transaction : (uu___95_598.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = (uu___95_598.FStar_JsonHelper.repl_names) - } in + } in FStar_PushHelper.commit_name_tracking st2 name_events else FStar_PushHelper.pop_repl "run_repl_transaction" - st1 in + st1 + in (success, st2))) + let (run_repl_ld_transactions : FStar_JsonHelper.repl_state -> FStar_JsonHelper.repl_task Prims.list -> (FStar_JsonHelper.repl_task -> unit) -> - (FStar_JsonHelper.repl_state, FStar_JsonHelper.repl_state) + (FStar_JsonHelper.repl_state,FStar_JsonHelper.repl_state) FStar_Util.either) = - fun st -> - fun tasks -> - fun progress_callback -> + fun st -> + fun tasks -> + fun progress_callback -> let debug1 verb task = - let uu____645 = FStar_Options.debug_any () in + let uu____645 = FStar_Options.debug_any () in if uu____645 then - let uu____648 = string_of_repl_task task in + let uu____648 = string_of_repl_task task in FStar_Util.print2 "%s %s" verb uu____648 - else () in + else () in let rec revert_many st1 uu___1_673 = match uu___1_673 with | [] -> st1 - | (_id, (task, _st'))::entries -> + | (_id,(task,_st'))::entries -> (debug1 "Reverting" task; (let st' = - FStar_PushHelper.pop_repl "run_repl_ls_transactions" st1 in + FStar_PushHelper.pop_repl "run_repl_ls_transactions" st1 + in let dep_graph1 = FStar_TypeChecker_Env.dep_graph - st1.FStar_JsonHelper.repl_env in + st1.FStar_JsonHelper.repl_env + in let st'1 = - let uu___121_726 = st' in + let uu___121_726 = st' in let uu____727 = FStar_TypeChecker_Env.set_dep_graph - st'.FStar_JsonHelper.repl_env dep_graph1 in + st'.FStar_JsonHelper.repl_env dep_graph1 + in { FStar_JsonHelper.repl_line = (uu___121_726.FStar_JsonHelper.repl_line); @@ -251,33 +274,36 @@ let (run_repl_ld_transactions : (uu___121_726.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = (uu___121_726.FStar_JsonHelper.repl_names) - } in - revert_many st'1 entries)) in + } in + revert_many st'1 entries)) + in let rec aux st1 tasks1 previous = match (tasks1, previous) with - | ([], []) -> FStar_Util.Inl st1 - | (task::tasks2, []) -> + | ([],[]) -> FStar_Util.Inl st1 + | (task::tasks2,[]) -> (debug1 "Loading" task; progress_callback task; - (let uu____780 = FStar_Options.restore_cmd_line_options false in - FStar_All.pipe_right uu____780 (fun a1 -> ())); + (let uu____780 = FStar_Options.restore_cmd_line_options false + in + FStar_All.pipe_right uu____780 (fun a1 -> ())); (let timestamped_task = - FStar_PushHelper.update_task_timestamps task in + FStar_PushHelper.update_task_timestamps task in let push_kind = - let uu____784 = FStar_Options.lax () in + let uu____784 = FStar_Options.lax () in if uu____784 then FStar_PushHelper.LaxCheck - else FStar_PushHelper.FullCheck in + else FStar_PushHelper.FullCheck in let uu____789 = - run_repl_transaction st1 push_kind false timestamped_task in + run_repl_transaction st1 push_kind false timestamped_task + in match uu____789 with - | (success, st2) -> + | (success,st2) -> if success then let uu____809 = - let uu___146_810 = st2 in + let uu___146_810 = st2 in let uu____811 = - FStar_ST.op_Bang FStar_PushHelper.repl_stack in + FStar_ST.op_Bang FStar_PushHelper.repl_stack in { FStar_JsonHelper.repl_line = (uu___146_810.FStar_JsonHelper.repl_line); @@ -294,29 +320,33 @@ let (run_repl_ld_transactions : (uu___146_810.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = (uu___146_810.FStar_JsonHelper.repl_names) - } in + } in aux uu____809 tasks2 [] else FStar_Util.Inr st2)) - | (task::tasks2, prev::previous1) when - let uu____855 = FStar_PushHelper.update_task_timestamps task in + | (task::tasks2,prev::previous1) when + let uu____855 = FStar_PushHelper.update_task_timestamps task + in (FStar_Pervasives_Native.fst (FStar_Pervasives_Native.snd prev)) = uu____855 -> (debug1 "Skipping" task; aux st1 tasks2 previous1) - | (tasks2, previous1) -> - let uu____872 = revert_many st1 previous1 in - aux uu____872 tasks2 [] in + | (tasks2,previous1) -> + let uu____872 = revert_many st1 previous1 in + aux uu____872 tasks2 [] + in aux st tasks (FStar_List.rev st.FStar_JsonHelper.repl_deps_stack) + let (js_pushkind : FStar_Util.json -> FStar_PushHelper.push_kind) = - fun s -> - let uu____887 = FStar_JsonHelper.js_str s in + fun s -> + let uu____887 = FStar_JsonHelper.js_str s in match uu____887 with | "syntax" -> FStar_PushHelper.SyntaxCheck | "lax" -> FStar_PushHelper.LaxCheck | "full" -> FStar_PushHelper.FullCheck | uu____892 -> FStar_JsonHelper.js_fail "push_kind" s + let (js_reductionrule : FStar_Util.json -> FStar_TypeChecker_Env.step) = - fun s -> - let uu____901 = FStar_JsonHelper.js_str s in + fun s -> + let uu____901 = FStar_JsonHelper.js_str s in match uu____901 with | "beta" -> FStar_TypeChecker_Env.Beta | "delta" -> @@ -326,32 +356,37 @@ let (js_reductionrule : FStar_Util.json -> FStar_TypeChecker_Env.step) = | "reify" -> FStar_TypeChecker_Env.Reify | "pure-subterms" -> FStar_TypeChecker_Env.PureSubtermsWithinComputations | uu____909 -> FStar_JsonHelper.js_fail "reduction rule" s + type completion_context = | CKCode | CKOption of Prims.bool | CKModuleOrNamespace of (Prims.bool * Prims.bool) let (uu___is_CKCode : completion_context -> Prims.bool) = - fun projectee -> match projectee with | CKCode -> true | uu____938 -> false + fun projectee -> + match projectee with | CKCode -> true | uu____938 -> false + let (uu___is_CKOption : completion_context -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | CKOption _0 -> true | uu____951 -> false + let (__proj__CKOption__item___0 : completion_context -> Prims.bool) = - fun projectee -> match projectee with | CKOption _0 -> _0 + fun projectee -> match projectee with | CKOption _0 -> _0 let (uu___is_CKModuleOrNamespace : completion_context -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | CKModuleOrNamespace _0 -> true | uu____979 -> false + let (__proj__CKModuleOrNamespace__item___0 : completion_context -> (Prims.bool * Prims.bool)) = - fun projectee -> match projectee with | CKModuleOrNamespace _0 -> _0 + fun projectee -> match projectee with | CKModuleOrNamespace _0 -> _0 let (js_optional_completion_context : FStar_Util.json FStar_Pervasives_Native.option -> completion_context) = - fun k -> + fun k -> match k with - | FStar_Pervasives_Native.None -> CKCode + | FStar_Pervasives_Native.None -> CKCode | FStar_Pervasives_Native.Some k1 -> - let uu____1017 = FStar_JsonHelper.js_str k1 in + let uu____1017 = FStar_JsonHelper.js_str k1 in (match uu____1017 with | "symbol" -> CKCode | "code" -> CKCode @@ -365,30 +400,35 @@ let (js_optional_completion_context : FStar_JsonHelper.js_fail "completion context (code, set-options, reset-options, open, let-open, include, module-alias)" k1) + type lookup_context = | LKSymbolOnly | LKModule | LKOption | LKCode let (uu___is_LKSymbolOnly : lookup_context -> Prims.bool) = - fun projectee -> - match projectee with | LKSymbolOnly -> true | uu____1057 -> false + fun projectee -> + match projectee with | LKSymbolOnly -> true | uu____1057 -> false + let (uu___is_LKModule : lookup_context -> Prims.bool) = - fun projectee -> - match projectee with | LKModule -> true | uu____1068 -> false + fun projectee -> + match projectee with | LKModule -> true | uu____1068 -> false + let (uu___is_LKOption : lookup_context -> Prims.bool) = - fun projectee -> - match projectee with | LKOption -> true | uu____1079 -> false + fun projectee -> + match projectee with | LKOption -> true | uu____1079 -> false + let (uu___is_LKCode : lookup_context -> Prims.bool) = - fun projectee -> - match projectee with | LKCode -> true | uu____1090 -> false + fun projectee -> + match projectee with | LKCode -> true | uu____1090 -> false + let (js_optional_lookup_context : FStar_Util.json FStar_Pervasives_Native.option -> lookup_context) = - fun k -> + fun k -> match k with - | FStar_Pervasives_Native.None -> LKSymbolOnly + | FStar_Pervasives_Native.None -> LKSymbolOnly | FStar_Pervasives_Native.Some k1 -> - let uu____1103 = FStar_JsonHelper.js_str k1 in + let uu____1103 = FStar_JsonHelper.js_str k1 in (match uu____1103 with | "symbol-only" -> LKSymbolOnly | "code" -> LKCode @@ -402,6 +442,7 @@ let (js_optional_lookup_context : FStar_JsonHelper.js_fail "lookup context (symbol-only, code, set-options, reset-options, open, let-open, include, module-alias)" k1) + type position = (Prims.string * Prims.int * Prims.int) type query' = | Exit @@ -423,84 +464,97 @@ and query = { qq: query' ; qid: Prims.string } let (uu___is_Exit : query' -> Prims.bool) = - fun projectee -> match projectee with | Exit -> true | uu____1230 -> false + fun projectee -> + match projectee with | Exit -> true | uu____1230 -> false + let (uu___is_DescribeProtocol : query' -> Prims.bool) = - fun projectee -> - match projectee with | DescribeProtocol -> true | uu____1241 -> false + fun projectee -> + match projectee with | DescribeProtocol -> true | uu____1241 -> false + let (uu___is_DescribeRepl : query' -> Prims.bool) = - fun projectee -> - match projectee with | DescribeRepl -> true | uu____1252 -> false + fun projectee -> + match projectee with | DescribeRepl -> true | uu____1252 -> false + let (uu___is_Segment : query' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Segment _0 -> true | uu____1265 -> false + let (__proj__Segment__item___0 : query' -> Prims.string) = - fun projectee -> match projectee with | Segment _0 -> _0 + fun projectee -> match projectee with | Segment _0 -> _0 let (uu___is_Pop : query' -> Prims.bool) = - fun projectee -> match projectee with | Pop -> true | uu____1286 -> false + fun projectee -> match projectee with | Pop -> true | uu____1286 -> false let (uu___is_Push : query' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Push _0 -> true | uu____1298 -> false + let (__proj__Push__item___0 : query' -> push_query) = - fun projectee -> match projectee with | Push _0 -> _0 + fun projectee -> match projectee with | Push _0 -> _0 let (uu___is_VfsAdd : query' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | VfsAdd _0 -> true | uu____1325 -> false + let (__proj__VfsAdd__item___0 : query' -> (Prims.string FStar_Pervasives_Native.option * Prims.string)) = - fun projectee -> match projectee with | VfsAdd _0 -> _0 + fun projectee -> match projectee with | VfsAdd _0 -> _0 let (uu___is_AutoComplete : query' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | AutoComplete _0 -> true | uu____1373 -> false + let (__proj__AutoComplete__item___0 : query' -> (Prims.string * completion_context)) = - fun projectee -> match projectee with | AutoComplete _0 -> _0 + fun projectee -> match projectee with | AutoComplete _0 -> _0 let (uu___is_Lookup : query' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Lookup _0 -> true | uu____1421 -> false + let (__proj__Lookup__item___0 : query' -> (Prims.string * lookup_context * position FStar_Pervasives_Native.option * Prims.string Prims.list)) - = fun projectee -> match projectee with | Lookup _0 -> _0 + = fun projectee -> match projectee with | Lookup _0 -> _0 let (uu___is_Compute : query' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Compute _0 -> true | uu____1491 -> false + let (__proj__Compute__item___0 : query' -> (Prims.string * FStar_TypeChecker_Env.step Prims.list FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | Compute _0 -> _0 + = fun projectee -> match projectee with | Compute _0 -> _0 let (uu___is_Search : query' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Search _0 -> true | uu____1538 -> false + let (__proj__Search__item___0 : query' -> Prims.string) = - fun projectee -> match projectee with | Search _0 -> _0 + fun projectee -> match projectee with | Search _0 -> _0 let (uu___is_GenericError : query' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | GenericError _0 -> true | uu____1561 -> false + let (__proj__GenericError__item___0 : query' -> Prims.string) = - fun projectee -> match projectee with | GenericError _0 -> _0 + fun projectee -> match projectee with | GenericError _0 -> _0 let (uu___is_ProtocolViolation : query' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | ProtocolViolation _0 -> true | uu____1584 -> false + let (__proj__ProtocolViolation__item___0 : query' -> Prims.string) = - fun projectee -> match projectee with | ProtocolViolation _0 -> _0 + fun projectee -> match projectee with | ProtocolViolation _0 -> _0 let (__proj__Mkquery__item__qq : query -> query') = - fun projectee -> match projectee with | { qq; qid;_} -> qq + fun projectee -> match projectee with | { qq; qid;_} -> qq let (__proj__Mkquery__item__qid : query -> Prims.string) = - fun projectee -> match projectee with | { qq; qid;_} -> qid + fun projectee -> match projectee with | { qq; qid;_} -> qid let (query_needs_current_module : query' -> Prims.bool) = - fun uu___2_1622 -> + fun uu___2_1622 -> match uu___2_1622 with - | Exit -> false - | DescribeProtocol -> false - | DescribeRepl -> false + | Exit -> false + | DescribeProtocol -> false + | DescribeRepl -> false | Segment uu____1627 -> false - | Pop -> false + | Pop -> false | Push { push_kind = uu____1631; push_code = uu____1632; push_line = uu____1633; push_column = uu____1634; - push_peek_only = false;_} + push_peek_only = false ;_} -> false | VfsAdd uu____1640 -> false | GenericError uu____1650 -> false @@ -510,7 +564,8 @@ let (query_needs_current_module : query' -> Prims.bool) = | Lookup uu____1665 -> true | Compute uu____1681 -> true | Search uu____1692 -> true -let (interactive_protocol_vernum : Prims.int) = (Prims.parse_int "2") + +let (interactive_protocol_vernum : Prims.int) = (Prims.parse_int "2") let (interactive_protocol_features : Prims.string Prims.list) = ["autocomplete"; "autocomplete/context"; @@ -532,67 +587,73 @@ let (interactive_protocol_features : Prims.string Prims.list) = "vfs-add"; "tactic-ranges"; "interrupt"; - "progress"] + "progress"] type query_status = | QueryOK | QueryNOK | QueryViolatesProtocol let (uu___is_QueryOK : query_status -> Prims.bool) = - fun projectee -> - match projectee with | QueryOK -> true | uu____1754 -> false + fun projectee -> + match projectee with | QueryOK -> true | uu____1754 -> false + let (uu___is_QueryNOK : query_status -> Prims.bool) = - fun projectee -> - match projectee with | QueryNOK -> true | uu____1765 -> false + fun projectee -> + match projectee with | QueryNOK -> true | uu____1765 -> false + let (uu___is_QueryViolatesProtocol : query_status -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | QueryViolatesProtocol -> true + | QueryViolatesProtocol -> true | uu____1776 -> false + let (wrap_js_failure : Prims.string -> Prims.string -> FStar_Util.json -> query) = - fun qid -> - fun expected -> - fun got -> + fun qid -> + fun expected -> + fun got -> let uu____1798 = let uu____1799 = - let uu____1801 = FStar_JsonHelper.json_debug got in + let uu____1801 = FStar_JsonHelper.json_debug got in FStar_Util.format2 "JSON decoding failed: expected %s, got %s" - expected uu____1801 in - ProtocolViolation uu____1799 in + expected uu____1801 + in + ProtocolViolation uu____1799 in { qq = uu____1798; qid } + let (unpack_interactive_query : FStar_Util.json -> query) = - fun json -> + fun json -> let assoc1 errloc key a = - let uu____1830 = FStar_JsonHelper.try_assoc key a in + let uu____1830 = FStar_JsonHelper.try_assoc key a in match uu____1830 with | FStar_Pervasives_Native.Some v1 -> v1 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____1834 = let uu____1835 = - FStar_Util.format2 "Missing key [%s] in %s." key errloc in - FStar_JsonHelper.InvalidQuery uu____1835 in - FStar_Exn.raise uu____1834 in - let request = FStar_All.pipe_right json FStar_JsonHelper.js_assoc in + FStar_Util.format2 "Missing key [%s] in %s." key errloc in + FStar_JsonHelper.InvalidQuery uu____1835 in + FStar_Exn.raise uu____1834 + in + let request = FStar_All.pipe_right json FStar_JsonHelper.js_assoc in let qid = - let uu____1841 = assoc1 "query" "query-id" request in - FStar_All.pipe_right uu____1841 FStar_JsonHelper.js_str in + let uu____1841 = assoc1 "query" "query-id" request in + FStar_All.pipe_right uu____1841 FStar_JsonHelper.js_str in try - (fun uu___259_1851 -> + (fun uu___259_1851 -> match () with | () -> let query = - let uu____1854 = assoc1 "query" "query" request in - FStar_All.pipe_right uu____1854 FStar_JsonHelper.js_str in + let uu____1854 = assoc1 "query" "query" request in + FStar_All.pipe_right uu____1854 FStar_JsonHelper.js_str in let args = - let uu____1859 = assoc1 "query" "args" request in - FStar_All.pipe_right uu____1859 FStar_JsonHelper.js_assoc in - let arg1 k = assoc1 "[args]" k args in + let uu____1859 = assoc1 "query" "args" request in + FStar_All.pipe_right uu____1859 FStar_JsonHelper.js_assoc in + let arg1 k = assoc1 "[args]" k args in let try_arg k = - let uu____1881 = FStar_JsonHelper.try_assoc k args in + let uu____1881 = FStar_JsonHelper.try_assoc k args in match uu____1881 with - | FStar_Pervasives_Native.Some (FStar_Util.JsonNull) -> + | FStar_Pervasives_Native.Some (FStar_Util.JsonNull ) -> FStar_Pervasives_Native.None - | other -> other in + | other -> other in let uu____1889 = match query with | "exit" -> Exit @@ -601,194 +662,223 @@ let (unpack_interactive_query : FStar_Util.json -> query) = | "describe-repl" -> DescribeRepl | "segment" -> let uu____1895 = - let uu____1897 = arg1 "code" in - FStar_All.pipe_right uu____1897 FStar_JsonHelper.js_str in + let uu____1897 = arg1 "code" in + FStar_All.pipe_right uu____1897 FStar_JsonHelper.js_str + in Segment uu____1895 | "peek" -> let uu____1901 = let uu____1902 = - let uu____1903 = arg1 "kind" in - FStar_All.pipe_right uu____1903 js_pushkind in + let uu____1903 = arg1 "kind" in + FStar_All.pipe_right uu____1903 js_pushkind in let uu____1905 = - let uu____1907 = arg1 "code" in + let uu____1907 = arg1 "code" in FStar_All.pipe_right uu____1907 - FStar_JsonHelper.js_str in + FStar_JsonHelper.js_str + in let uu____1910 = - let uu____1912 = arg1 "line" in + let uu____1912 = arg1 "line" in FStar_All.pipe_right uu____1912 - FStar_JsonHelper.js_int in + FStar_JsonHelper.js_int + in let uu____1915 = - let uu____1917 = arg1 "column" in + let uu____1917 = arg1 "column" in FStar_All.pipe_right uu____1917 - FStar_JsonHelper.js_int in + FStar_JsonHelper.js_int + in { push_kind = uu____1902; push_code = uu____1905; push_line = uu____1910; push_column = uu____1915; push_peek_only = (query = "peek") - } in + } in Push uu____1901 | "push" -> let uu____1923 = let uu____1924 = - let uu____1925 = arg1 "kind" in - FStar_All.pipe_right uu____1925 js_pushkind in + let uu____1925 = arg1 "kind" in + FStar_All.pipe_right uu____1925 js_pushkind in let uu____1927 = - let uu____1929 = arg1 "code" in + let uu____1929 = arg1 "code" in FStar_All.pipe_right uu____1929 - FStar_JsonHelper.js_str in + FStar_JsonHelper.js_str + in let uu____1932 = - let uu____1934 = arg1 "line" in + let uu____1934 = arg1 "line" in FStar_All.pipe_right uu____1934 - FStar_JsonHelper.js_int in + FStar_JsonHelper.js_int + in let uu____1937 = - let uu____1939 = arg1 "column" in + let uu____1939 = arg1 "column" in FStar_All.pipe_right uu____1939 - FStar_JsonHelper.js_int in + FStar_JsonHelper.js_int + in { push_kind = uu____1924; push_code = uu____1927; push_line = uu____1932; push_column = uu____1937; push_peek_only = (query = "peek") - } in + } in Push uu____1923 | "autocomplete" -> let uu____1945 = let uu____1951 = - let uu____1953 = arg1 "partial-symbol" in + let uu____1953 = arg1 "partial-symbol" in FStar_All.pipe_right uu____1953 - FStar_JsonHelper.js_str in + FStar_JsonHelper.js_str + in let uu____1956 = - let uu____1957 = try_arg "context" in + let uu____1957 = try_arg "context" in FStar_All.pipe_right uu____1957 - js_optional_completion_context in - (uu____1951, uu____1956) in + js_optional_completion_context + in + (uu____1951, uu____1956) in AutoComplete uu____1945 | "lookup" -> let uu____1965 = let uu____1980 = - let uu____1982 = arg1 "symbol" in + let uu____1982 = arg1 "symbol" in FStar_All.pipe_right uu____1982 - FStar_JsonHelper.js_str in + FStar_JsonHelper.js_str + in let uu____1985 = - let uu____1986 = try_arg "context" in + let uu____1986 = try_arg "context" in FStar_All.pipe_right uu____1986 - js_optional_lookup_context in + js_optional_lookup_context + in let uu____1992 = let uu____1995 = - let uu____1998 = try_arg "location" in + let uu____1998 = try_arg "location" in FStar_All.pipe_right uu____1998 - (FStar_Util.map_option FStar_JsonHelper.js_assoc) in + (FStar_Util.map_option FStar_JsonHelper.js_assoc) + in FStar_All.pipe_right uu____1995 (FStar_Util.map_option - (fun loc -> + (fun loc -> let uu____2024 = let uu____2026 = - assoc1 "[location]" "filename" loc in + assoc1 "[location]" "filename" loc in FStar_All.pipe_right uu____2026 - FStar_JsonHelper.js_str in + FStar_JsonHelper.js_str + in let uu____2030 = let uu____2032 = - assoc1 "[location]" "line" loc in + assoc1 "[location]" "line" loc in FStar_All.pipe_right uu____2032 - FStar_JsonHelper.js_int in + FStar_JsonHelper.js_int + in let uu____2036 = let uu____2038 = - assoc1 "[location]" "column" loc in + assoc1 "[location]" "column" loc in FStar_All.pipe_right uu____2038 - FStar_JsonHelper.js_int in - (uu____2024, uu____2030, uu____2036))) in + FStar_JsonHelper.js_int + in + (uu____2024, uu____2030, uu____2036))) + in let uu____2045 = - let uu____2049 = arg1 "requested-info" in + let uu____2049 = arg1 "requested-info" in FStar_All.pipe_right uu____2049 - (FStar_JsonHelper.js_list FStar_JsonHelper.js_str) in - (uu____1980, uu____1985, uu____1992, uu____2045) in + (FStar_JsonHelper.js_list FStar_JsonHelper.js_str) + in + (uu____1980, uu____1985, uu____1992, uu____2045) in Lookup uu____1965 | "compute" -> let uu____2062 = let uu____2072 = - let uu____2074 = arg1 "term" in + let uu____2074 = arg1 "term" in FStar_All.pipe_right uu____2074 - FStar_JsonHelper.js_str in + FStar_JsonHelper.js_str + in let uu____2077 = - let uu____2082 = try_arg "rules" in + let uu____2082 = try_arg "rules" in FStar_All.pipe_right uu____2082 (FStar_Util.map_option - (FStar_JsonHelper.js_list js_reductionrule)) in - (uu____2072, uu____2077) in + (FStar_JsonHelper.js_list js_reductionrule)) + in + (uu____2072, uu____2077) in Compute uu____2062 | "search" -> let uu____2100 = - let uu____2102 = arg1 "terms" in - FStar_All.pipe_right uu____2102 FStar_JsonHelper.js_str in + let uu____2102 = arg1 "terms" in + FStar_All.pipe_right uu____2102 FStar_JsonHelper.js_str + in Search uu____2100 | "vfs-add" -> let uu____2106 = let uu____2115 = - let uu____2119 = try_arg "filename" in + let uu____2119 = try_arg "filename" in FStar_All.pipe_right uu____2119 - (FStar_Util.map_option FStar_JsonHelper.js_str) in + (FStar_Util.map_option FStar_JsonHelper.js_str) + in let uu____2129 = - let uu____2131 = arg1 "contents" in + let uu____2131 = arg1 "contents" in FStar_All.pipe_right uu____2131 - FStar_JsonHelper.js_str in - (uu____2115, uu____2129) in + FStar_JsonHelper.js_str + in + (uu____2115, uu____2129) in VfsAdd uu____2106 | uu____2138 -> let uu____2140 = - FStar_Util.format1 "Unknown query '%s'" query in - ProtocolViolation uu____2140 in + FStar_Util.format1 "Unknown query '%s'" query in + ProtocolViolation uu____2140 + in { qq = uu____1889; qid }) () with | FStar_JsonHelper.InvalidQuery msg -> { qq = (ProtocolViolation msg); qid } - | FStar_JsonHelper.UnexpectedJsonType (expected, got) -> + | FStar_JsonHelper.UnexpectedJsonType (expected,got) -> wrap_js_failure qid expected got + let (deserialize_interactive_query : FStar_Util.json -> query) = - fun js_query -> + fun js_query -> try - (fun uu___294_2159 -> + (fun uu___294_2159 -> match () with | () -> unpack_interactive_query js_query) () with | FStar_JsonHelper.InvalidQuery msg -> { qq = (ProtocolViolation msg); qid = "?" } - | FStar_JsonHelper.UnexpectedJsonType (expected, got) -> + | FStar_JsonHelper.UnexpectedJsonType (expected,got) -> wrap_js_failure "?" expected got + let (parse_interactive_query : Prims.string -> query) = - fun query_str -> - let uu____2179 = FStar_Util.json_of_string query_str in + fun query_str -> + let uu____2179 = FStar_Util.json_of_string query_str in match uu____2179 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> { qq = (ProtocolViolation "Json parsing failed."); qid = "?" } | FStar_Pervasives_Native.Some request -> deserialize_interactive_query request + let (read_interactive_query : FStar_Util.stream_reader -> query) = - fun stream -> - let uu____2191 = FStar_Util.read_line stream in + fun stream -> + let uu____2191 = FStar_Util.read_line stream in match uu____2191 with - | FStar_Pervasives_Native.None -> FStar_All.exit (Prims.parse_int "0") + | FStar_Pervasives_Native.None -> FStar_All.exit (Prims.parse_int "0") | FStar_Pervasives_Native.Some line -> parse_interactive_query line + let json_of_opt : 'Auu____2207 . ('Auu____2207 -> FStar_Util.json) -> 'Auu____2207 FStar_Pervasives_Native.option -> FStar_Util.json = - fun json_of_a -> - fun opt_a -> - let uu____2227 = FStar_Util.map_option json_of_a opt_a in + fun json_of_a -> + fun opt_a -> + let uu____2227 = FStar_Util.map_option json_of_a opt_a in FStar_Util.dflt FStar_Util.JsonNull uu____2227 + let (json_of_issue_level : FStar_Errors.issue_level -> FStar_Util.json) = - fun i -> + fun i -> FStar_Util.JsonStr (match i with - | FStar_Errors.ENotImplemented -> "not-implemented" - | FStar_Errors.EInfo -> "info" - | FStar_Errors.EWarning -> "warning" - | FStar_Errors.EError -> "error") + | FStar_Errors.ENotImplemented -> "not-implemented" + | FStar_Errors.EInfo -> "info" + | FStar_Errors.EWarning -> "warning" + | FStar_Errors.EError -> "error") + let (json_of_issue : FStar_Errors.issue -> FStar_Util.json) = - fun issue -> + fun issue -> let uu____2247 = let uu____2255 = let uu____2263 = @@ -797,90 +887,97 @@ let (json_of_issue : FStar_Errors.issue -> FStar_Util.json) = let uu____2278 = let uu____2281 = match issue.FStar_Errors.issue_range with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some r -> - let uu____2287 = FStar_Range.json_of_use_range r in - [uu____2287] in + let uu____2287 = FStar_Range.json_of_use_range r in + [uu____2287] + in let uu____2288 = match issue.FStar_Errors.issue_range with | FStar_Pervasives_Native.Some r when - let uu____2294 = FStar_Range.def_range r in - let uu____2295 = FStar_Range.use_range r in + let uu____2294 = FStar_Range.def_range r in + let uu____2295 = FStar_Range.use_range r in uu____2294 <> uu____2295 -> - let uu____2296 = FStar_Range.json_of_def_range r in + let uu____2296 = FStar_Range.json_of_def_range r in [uu____2296] - | uu____2297 -> [] in - FStar_List.append uu____2281 uu____2288 in - FStar_Util.JsonList uu____2278 in - ("ranges", uu____2277) in - [uu____2271] in + | uu____2297 -> [] in + FStar_List.append uu____2281 uu____2288 in + FStar_Util.JsonList uu____2278 in + ("ranges", uu____2277) in + [uu____2271] in ("message", (FStar_Util.JsonStr (issue.FStar_Errors.issue_message))) - :: uu____2263 in + :: uu____2263 + in ("level", (json_of_issue_level issue.FStar_Errors.issue_level)) :: - uu____2255 in + uu____2255 + in FStar_Util.JsonAssoc uu____2247 + let (alist_of_symbol_lookup_result : FStar_QueryHelper.sl_reponse -> (Prims.string * FStar_Util.json) Prims.list) = - fun lr -> + fun lr -> let uu____2339 = let uu____2347 = let uu____2353 = json_of_opt FStar_Range.json_of_def_range - lr.FStar_QueryHelper.slr_def_range in - ("defined-at", uu____2353) in + lr.FStar_QueryHelper.slr_def_range + in + ("defined-at", uu____2353) in let uu____2356 = let uu____2364 = let uu____2370 = - json_of_opt (fun _2372 -> FStar_Util.JsonStr _2372) - lr.FStar_QueryHelper.slr_typ in - ("type", uu____2370) in + json_of_opt (fun _2372 -> FStar_Util.JsonStr _2372) + lr.FStar_QueryHelper.slr_typ + in + ("type", uu____2370) in let uu____2375 = let uu____2383 = let uu____2389 = - json_of_opt (fun _2391 -> FStar_Util.JsonStr _2391) - lr.FStar_QueryHelper.slr_doc in - ("documentation", uu____2389) in + json_of_opt (fun _2391 -> FStar_Util.JsonStr _2391) + lr.FStar_QueryHelper.slr_doc + in + ("documentation", uu____2389) in let uu____2394 = let uu____2402 = let uu____2408 = - json_of_opt (fun _2410 -> FStar_Util.JsonStr _2410) - lr.FStar_QueryHelper.slr_def in - ("definition", uu____2408) in - [uu____2402] in - uu____2383 :: uu____2394 in - uu____2364 :: uu____2375 in - uu____2347 :: uu____2356 in + json_of_opt (fun _2410 -> FStar_Util.JsonStr _2410) + lr.FStar_QueryHelper.slr_def + in + ("definition", uu____2408) in + [uu____2402] in + uu____2383 :: uu____2394 in + uu____2364 :: uu____2375 in + uu____2347 :: uu____2356 in ("name", (FStar_Util.JsonStr (lr.FStar_QueryHelper.slr_name))) :: uu____2339 + let (alist_of_protocol_info : (Prims.string * FStar_Util.json) Prims.list) = - let js_version = FStar_Util.JsonInt interactive_protocol_vernum in + let js_version = FStar_Util.JsonInt interactive_protocol_vernum in let js_features = let uu____2455 = - FStar_List.map (fun _2459 -> FStar_Util.JsonStr _2459) - interactive_protocol_features in - FStar_All.pipe_left (fun _2462 -> FStar_Util.JsonList _2462) uu____2455 in - [("version", js_version); ("features", js_features)] + FStar_List.map (fun _2459 -> FStar_Util.JsonStr _2459) + interactive_protocol_features + in + FStar_All.pipe_left (fun _2462 -> FStar_Util.JsonList _2462) uu____2455 + in + [("version", js_version); ("features", js_features)] type fstar_option_permission_level = | OptSet - | OptReset | OptReadOnly let (uu___is_OptSet : fstar_option_permission_level -> Prims.bool) = - fun projectee -> - match projectee with | OptSet -> true | uu____2491 -> false -let (uu___is_OptReset : fstar_option_permission_level -> Prims.bool) = - fun projectee -> - match projectee with | OptReset -> true | uu____2502 -> false + fun projectee -> + match projectee with | OptSet -> true | uu____2491 -> false + let (uu___is_OptReadOnly : fstar_option_permission_level -> Prims.bool) = - fun projectee -> - match projectee with | OptReadOnly -> true | uu____2513 -> false + fun projectee -> + match projectee with | OptReadOnly -> true | uu____2502 -> false + let (string_of_option_permission_level : fstar_option_permission_level -> Prims.string) = - fun uu___3_2521 -> - match uu___3_2521 with - | OptSet -> "" - | OptReset -> "requires #reset-options" - | OptReadOnly -> "read-only" + fun uu___3_2510 -> + match uu___3_2510 with | OptSet -> "" | OptReadOnly -> "read-only" + type fstar_option = { opt_name: Prims.string ; @@ -892,669 +989,730 @@ type fstar_option = opt_documentation: Prims.string FStar_Pervasives_Native.option ; opt_permission_level: fstar_option_permission_level } let (__proj__Mkfstar_option__item__opt_name : fstar_option -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { opt_name; opt_sig; opt_value; opt_default; opt_type; opt_snippets; opt_documentation; opt_permission_level;_} -> opt_name + let (__proj__Mkfstar_option__item__opt_sig : fstar_option -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { opt_name; opt_sig; opt_value; opt_default; opt_type; opt_snippets; opt_documentation; opt_permission_level;_} -> opt_sig + let (__proj__Mkfstar_option__item__opt_value : fstar_option -> FStar_Options.option_val) = - fun projectee -> + fun projectee -> match projectee with | { opt_name; opt_sig; opt_value; opt_default; opt_type; opt_snippets; opt_documentation; opt_permission_level;_} -> opt_value + let (__proj__Mkfstar_option__item__opt_default : fstar_option -> FStar_Options.option_val) = - fun projectee -> + fun projectee -> match projectee with | { opt_name; opt_sig; opt_value; opt_default; opt_type; opt_snippets; opt_documentation; opt_permission_level;_} -> opt_default + let (__proj__Mkfstar_option__item__opt_type : fstar_option -> FStar_Options.opt_type) = - fun projectee -> + fun projectee -> match projectee with | { opt_name; opt_sig; opt_value; opt_default; opt_type; opt_snippets; opt_documentation; opt_permission_level;_} -> opt_type + let (__proj__Mkfstar_option__item__opt_snippets : fstar_option -> Prims.string Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { opt_name; opt_sig; opt_value; opt_default; opt_type; opt_snippets; opt_documentation; opt_permission_level;_} -> opt_snippets + let (__proj__Mkfstar_option__item__opt_documentation : fstar_option -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { opt_name; opt_sig; opt_value; opt_default; opt_type; opt_snippets; opt_documentation; opt_permission_level;_} -> opt_documentation + let (__proj__Mkfstar_option__item__opt_permission_level : fstar_option -> fstar_option_permission_level) = - fun projectee -> + fun projectee -> match projectee with | { opt_name; opt_sig; opt_value; opt_default; opt_type; opt_snippets; opt_documentation; opt_permission_level;_} -> opt_permission_level + let rec (kind_of_fstar_option_type : FStar_Options.opt_type -> Prims.string) = - fun uu___4_2772 -> - match uu___4_2772 with - | FStar_Options.Const uu____2774 -> "flag" - | FStar_Options.IntStr uu____2776 -> "int" - | FStar_Options.BoolStr -> "bool" - | FStar_Options.PathStr uu____2780 -> "path" - | FStar_Options.SimpleStr uu____2783 -> "string" - | FStar_Options.EnumStr uu____2786 -> "enum" - | FStar_Options.OpenEnumStr uu____2791 -> "open enum" - | FStar_Options.PostProcessed (uu____2801, typ) -> + fun uu___4_2760 -> + match uu___4_2760 with + | FStar_Options.Const uu____2762 -> "flag" + | FStar_Options.IntStr uu____2764 -> "int" + | FStar_Options.BoolStr -> "bool" + | FStar_Options.PathStr uu____2768 -> "path" + | FStar_Options.SimpleStr uu____2771 -> "string" + | FStar_Options.EnumStr uu____2774 -> "enum" + | FStar_Options.OpenEnumStr uu____2779 -> "open enum" + | FStar_Options.PostProcessed (uu____2789,typ) -> kind_of_fstar_option_type typ | FStar_Options.Accumulated typ -> kind_of_fstar_option_type typ | FStar_Options.ReverseAccumulated typ -> kind_of_fstar_option_type typ - | FStar_Options.WithSideEffect (uu____2811, typ) -> + | FStar_Options.WithSideEffect (uu____2799,typ) -> kind_of_fstar_option_type typ + let rec (snippets_of_fstar_option : Prims.string -> FStar_Options.opt_type -> Prims.string Prims.list) = - fun name -> - fun typ -> + fun name -> + fun typ -> let mk_field field_name = - Prims.op_Hat "${" (Prims.op_Hat field_name "}") in + Prims.op_Hat "${" (Prims.op_Hat field_name "}") in let mk_snippet name1 argstring = Prims.op_Hat "--" (Prims.op_Hat name1 - (if argstring <> "" then Prims.op_Hat " " argstring else "")) in + (if argstring <> "" then Prims.op_Hat " " argstring else "")) + in let rec arg_snippets_of_type typ1 = match typ1 with - | FStar_Options.Const uu____2883 -> [""] - | FStar_Options.BoolStr -> ["true"; "false"] + | FStar_Options.Const uu____2871 -> [""] + | FStar_Options.BoolStr -> ["true"; "false"] | FStar_Options.IntStr desc -> [mk_field desc] | FStar_Options.PathStr desc -> [mk_field desc] | FStar_Options.SimpleStr desc -> [mk_field desc] | FStar_Options.EnumStr strs -> strs - | FStar_Options.OpenEnumStr (strs, desc) -> + | FStar_Options.OpenEnumStr (strs,desc) -> FStar_List.append strs [mk_field desc] - | FStar_Options.PostProcessed (uu____2921, elem_spec) -> + | FStar_Options.PostProcessed (uu____2909,elem_spec) -> arg_snippets_of_type elem_spec | FStar_Options.Accumulated elem_spec -> arg_snippets_of_type elem_spec | FStar_Options.ReverseAccumulated elem_spec -> arg_snippets_of_type elem_spec - | FStar_Options.WithSideEffect (uu____2931, elem_spec) -> - arg_snippets_of_type elem_spec in - let uu____2939 = arg_snippets_of_type typ in - FStar_List.map (mk_snippet name) uu____2939 + | FStar_Options.WithSideEffect (uu____2919,elem_spec) -> + arg_snippets_of_type elem_spec + in + let uu____2927 = arg_snippets_of_type typ in + FStar_List.map (mk_snippet name) uu____2927 + let rec (json_of_fstar_option_value : FStar_Options.option_val -> FStar_Util.json) = - fun uu___5_2950 -> - match uu___5_2950 with + fun uu___5_2938 -> + match uu___5_2938 with | FStar_Options.Bool b -> FStar_Util.JsonBool b | FStar_Options.String s -> FStar_Util.JsonStr s | FStar_Options.Path s -> FStar_Util.JsonStr s | FStar_Options.Int n1 -> FStar_Util.JsonInt n1 | FStar_Options.List vs -> - let uu____2962 = FStar_List.map json_of_fstar_option_value vs in - FStar_Util.JsonList uu____2962 - | FStar_Options.Unset -> FStar_Util.JsonNull + let uu____2950 = FStar_List.map json_of_fstar_option_value vs in + FStar_Util.JsonList uu____2950 + | FStar_Options.Unset -> FStar_Util.JsonNull + let (alist_of_fstar_option : fstar_option -> (Prims.string * FStar_Util.json) Prims.list) = - fun opt -> - let uu____2978 = - let uu____2986 = - let uu____2994 = - let uu____3000 = json_of_fstar_option_value opt.opt_value in - ("value", uu____3000) in - let uu____3003 = - let uu____3011 = - let uu____3017 = json_of_fstar_option_value opt.opt_default in - ("default", uu____3017) in - let uu____3020 = - let uu____3028 = - let uu____3034 = - json_of_opt (fun _3036 -> FStar_Util.JsonStr _3036) - opt.opt_documentation in - ("documentation", uu____3034) in - let uu____3039 = - let uu____3047 = - let uu____3053 = - let uu____3054 = kind_of_fstar_option_type opt.opt_type in - FStar_Util.JsonStr uu____3054 in - ("type", uu____3053) in - [uu____3047; + fun opt -> + let uu____2966 = + let uu____2974 = + let uu____2982 = + let uu____2988 = json_of_fstar_option_value opt.opt_value in + ("value", uu____2988) in + let uu____2991 = + let uu____2999 = + let uu____3005 = json_of_fstar_option_value opt.opt_default in + ("default", uu____3005) in + let uu____3008 = + let uu____3016 = + let uu____3022 = + json_of_opt (fun _3024 -> FStar_Util.JsonStr _3024) + opt.opt_documentation + in + ("documentation", uu____3022) in + let uu____3027 = + let uu____3035 = + let uu____3041 = + let uu____3042 = kind_of_fstar_option_type opt.opt_type in + FStar_Util.JsonStr uu____3042 in + ("type", uu____3041) in + [uu____3035; ("permission-level", (FStar_Util.JsonStr (string_of_option_permission_level - opt.opt_permission_level)))] in - uu____3028 :: uu____3039 in - uu____3011 :: uu____3020 in - uu____2994 :: uu____3003 in - ("signature", (FStar_Util.JsonStr (opt.opt_sig))) :: uu____2986 in - ("name", (FStar_Util.JsonStr (opt.opt_name))) :: uu____2978 + opt.opt_permission_level)))] + in + uu____3016 :: uu____3027 in + uu____2999 :: uu____3008 in + uu____2982 :: uu____2991 in + ("signature", (FStar_Util.JsonStr (opt.opt_sig))) :: uu____2974 in + ("name", (FStar_Util.JsonStr (opt.opt_name))) :: uu____2966 + let (json_of_fstar_option : fstar_option -> FStar_Util.json) = - fun opt -> - let uu____3110 = alist_of_fstar_option opt in - FStar_Util.JsonAssoc uu____3110 + fun opt -> + let uu____3098 = alist_of_fstar_option opt in + FStar_Util.JsonAssoc uu____3098 + let (json_of_response : Prims.string -> query_status -> FStar_Util.json -> FStar_Util.json) = - fun qid -> - fun status -> - fun response -> - let qid1 = FStar_Util.JsonStr qid in + fun qid -> + fun status -> + fun response -> + let qid1 = FStar_Util.JsonStr qid in let status1 = match status with - | QueryOK -> FStar_Util.JsonStr "success" - | QueryNOK -> FStar_Util.JsonStr "failure" - | QueryViolatesProtocol -> FStar_Util.JsonStr "protocol-violation" in + | QueryOK -> FStar_Util.JsonStr "success" + | QueryNOK -> FStar_Util.JsonStr "failure" + | QueryViolatesProtocol -> FStar_Util.JsonStr "protocol-violation" + in FStar_Util.JsonAssoc [("kind", (FStar_Util.JsonStr "response")); ("query-id", qid1); ("status", status1); ("response", response)] + let (write_response : Prims.string -> query_status -> FStar_Util.json -> unit) = - fun qid -> - fun status -> - fun response -> + fun qid -> + fun status -> + fun response -> FStar_JsonHelper.write_json (json_of_response qid status response) + let (json_of_message : Prims.string -> FStar_Util.json -> FStar_Util.json) = - fun level -> - fun js_contents -> - let uu____3206 = - let uu____3214 = - let uu____3222 = - let uu____3228 = - let uu____3229 = FStar_ST.op_Bang repl_current_qid in - json_of_opt (fun _3259 -> FStar_Util.JsonStr _3259) uu____3229 in - ("query-id", uu____3228) in - [uu____3222; + fun level -> + fun js_contents -> + let uu____3194 = + let uu____3202 = + let uu____3210 = + let uu____3216 = + let uu____3217 = FStar_ST.op_Bang repl_current_qid in + json_of_opt (fun _3247 -> FStar_Util.JsonStr _3247) uu____3217 + in + ("query-id", uu____3216) in + [uu____3210; ("level", (FStar_Util.JsonStr level)); - ("contents", js_contents)] in - ("kind", (FStar_Util.JsonStr "message")) :: uu____3214 in - FStar_Util.JsonAssoc uu____3206 + ("contents", js_contents)] in + ("kind", (FStar_Util.JsonStr "message")) :: uu____3202 in + FStar_Util.JsonAssoc uu____3194 + let forward_message : - 'Auu____3303 . - (FStar_Util.json -> 'Auu____3303) -> - Prims.string -> FStar_Util.json -> 'Auu____3303 + 'Auu____3291 . + (FStar_Util.json -> 'Auu____3291) -> + Prims.string -> FStar_Util.json -> 'Auu____3291 = - fun callback -> - fun level -> - fun contents -> - let uu____3326 = json_of_message level contents in - callback uu____3326 + fun callback -> + fun level -> + fun contents -> + let uu____3314 = json_of_message level contents in + callback uu____3314 + let (json_of_hello : FStar_Util.json) = - let js_version = FStar_Util.JsonInt interactive_protocol_vernum in + let js_version = FStar_Util.JsonInt interactive_protocol_vernum in let js_features = - let uu____3330 = - FStar_List.map (fun _3334 -> FStar_Util.JsonStr _3334) - interactive_protocol_features in - FStar_Util.JsonList uu____3330 in + let uu____3318 = + FStar_List.map (fun _3322 -> FStar_Util.JsonStr _3322) + interactive_protocol_features + in + FStar_Util.JsonList uu____3318 in FStar_Util.JsonAssoc (("kind", (FStar_Util.JsonStr "protocol-info")) :: alist_of_protocol_info) + let (write_hello : unit -> unit) = - fun uu____3348 -> FStar_JsonHelper.write_json json_of_hello + fun uu____3336 -> FStar_JsonHelper.write_json json_of_hello let (sig_of_fstar_option : Prims.string -> FStar_Options.opt_type -> Prims.string) = - fun name -> - fun typ -> - let flag = Prims.op_Hat "--" name in - let uu____3366 = FStar_Options.desc_of_opt_type typ in - match uu____3366 with - | FStar_Pervasives_Native.None -> flag + fun name -> + fun typ -> + let flag = Prims.op_Hat "--" name in + let uu____3354 = FStar_Options.desc_of_opt_type typ in + match uu____3354 with + | FStar_Pervasives_Native.None -> flag | FStar_Pervasives_Native.Some arg_sig -> Prims.op_Hat flag (Prims.op_Hat " " arg_sig) + let (fstar_options_list_cache : fstar_option Prims.list) = - let defaults1 = FStar_Util.smap_of_list FStar_Options.defaults in - let uu____3382 = + let defaults1 = FStar_Util.smap_of_list FStar_Options.defaults in + let uu____3370 = FStar_All.pipe_right FStar_Options.all_specs_with_types (FStar_List.filter_map - (fun uu____3417 -> - match uu____3417 with - | (_shortname, name, typ, doc1) -> - let uu____3441 = FStar_Util.smap_try_find defaults1 name in - FStar_All.pipe_right uu____3441 + (fun uu____3405 -> + match uu____3405 with + | (_shortname,name,typ,doc1) -> + let uu____3429 = FStar_Util.smap_try_find defaults1 name in + FStar_All.pipe_right uu____3429 (FStar_Util.map_option - (fun default_value -> - let uu____3453 = sig_of_fstar_option name typ in - let uu____3455 = snippets_of_fstar_option name typ in - let uu____3459 = - let uu____3460 = FStar_Options.settable name in - if uu____3460 - then OptSet - else - (let uu____3465 = FStar_Options.resettable name in - if uu____3465 then OptReset else OptReadOnly) in + (fun default_value -> + let uu____3441 = sig_of_fstar_option name typ in + let uu____3443 = snippets_of_fstar_option name typ + in + let uu____3447 = + let uu____3448 = FStar_Options.settable name in + if uu____3448 then OptSet else OptReadOnly in { opt_name = name; - opt_sig = uu____3453; + opt_sig = uu____3441; opt_value = FStar_Options.Unset; opt_default = default_value; opt_type = typ; - opt_snippets = uu____3455; + opt_snippets = uu____3443; opt_documentation = (if doc1 = "" then FStar_Pervasives_Native.None else FStar_Pervasives_Native.Some doc1); - opt_permission_level = uu____3459 - })))) in - FStar_All.pipe_right uu____3382 + opt_permission_level = uu____3447 + })))) + in + FStar_All.pipe_right uu____3370 (FStar_List.sortWith - (fun o1 -> - fun o2 -> + (fun o1 -> + fun o2 -> FStar_String.compare (FStar_String.lowercase o1.opt_name) (FStar_String.lowercase o2.opt_name))) + let (fstar_options_map_cache : fstar_option FStar_Util.smap) = - let cache = FStar_Util.smap_create (Prims.parse_int "50") in - FStar_List.iter (fun opt -> FStar_Util.smap_add cache opt.opt_name opt) + let cache = FStar_Util.smap_create (Prims.parse_int "50") in + FStar_List.iter (fun opt -> FStar_Util.smap_add cache opt.opt_name opt) fstar_options_list_cache; - cache + cache let (update_option : fstar_option -> fstar_option) = - fun opt -> - let uu___466_3504 = opt in - let uu____3505 = FStar_Options.get_option opt.opt_name in + fun opt -> + let uu___464_3487 = opt in + let uu____3488 = FStar_Options.get_option opt.opt_name in { - opt_name = (uu___466_3504.opt_name); - opt_sig = (uu___466_3504.opt_sig); - opt_value = uu____3505; - opt_default = (uu___466_3504.opt_default); - opt_type = (uu___466_3504.opt_type); - opt_snippets = (uu___466_3504.opt_snippets); - opt_documentation = (uu___466_3504.opt_documentation); - opt_permission_level = (uu___466_3504.opt_permission_level) + opt_name = (uu___464_3487.opt_name); + opt_sig = (uu___464_3487.opt_sig); + opt_value = uu____3488; + opt_default = (uu___464_3487.opt_default); + opt_type = (uu___464_3487.opt_type); + opt_snippets = (uu___464_3487.opt_snippets); + opt_documentation = (uu___464_3487.opt_documentation); + opt_permission_level = (uu___464_3487.opt_permission_level) } + let (current_fstar_options : (fstar_option -> Prims.bool) -> fstar_option Prims.list) = - fun filter1 -> - let uu____3521 = FStar_List.filter filter1 fstar_options_list_cache in - FStar_List.map update_option uu____3521 + fun filter1 -> + let uu____3504 = FStar_List.filter filter1 fstar_options_list_cache in + FStar_List.map update_option uu____3504 + let (trim_option_name : Prims.string -> (Prims.string * Prims.string)) = - fun opt_name -> - let opt_prefix = "--" in + fun opt_name -> + let opt_prefix = "--" in if FStar_Util.starts_with opt_name opt_prefix then - let uu____3548 = - FStar_Util.substring_from opt_name (FStar_String.length opt_prefix) in - (opt_prefix, uu____3548) + let uu____3531 = + FStar_Util.substring_from opt_name (FStar_String.length opt_prefix) + in + (opt_prefix, uu____3531) else ("", opt_name) + let (json_of_repl_state : FStar_JsonHelper.repl_state -> FStar_Util.json) = - fun st -> - let filenames uu____3579 = - match uu____3579 with - | (uu____3591, (task, uu____3593)) -> + fun st -> + let filenames uu____3562 = + match uu____3562 with + | (uu____3574,(task,uu____3576)) -> (match task with - | FStar_JsonHelper.LDInterleaved (intf, impl) -> + | FStar_JsonHelper.LDInterleaved (intf,impl) -> [intf.FStar_JsonHelper.tf_fname; impl.FStar_JsonHelper.tf_fname] | FStar_JsonHelper.LDSingle intf_or_impl -> [intf_or_impl.FStar_JsonHelper.tf_fname] | FStar_JsonHelper.LDInterfaceOfCurrentFile intf -> [intf.FStar_JsonHelper.tf_fname] - | uu____3612 -> []) in - let uu____3614 = - let uu____3622 = - let uu____3628 = - let uu____3629 = - let uu____3632 = + | uu____3595 -> []) + in + let uu____3597 = + let uu____3605 = + let uu____3611 = + let uu____3612 = + let uu____3615 = FStar_List.concatMap filenames - st.FStar_JsonHelper.repl_deps_stack in - FStar_List.map (fun _3646 -> FStar_Util.JsonStr _3646) uu____3632 in - FStar_Util.JsonList uu____3629 in - ("loaded-dependencies", uu____3628) in - let uu____3649 = - let uu____3657 = - let uu____3663 = - let uu____3664 = - let uu____3667 = current_fstar_options (fun uu____3672 -> true) in - FStar_List.map json_of_fstar_option uu____3667 in - FStar_Util.JsonList uu____3664 in - ("options", uu____3663) in - [uu____3657] in - uu____3622 :: uu____3649 in - FStar_Util.JsonAssoc uu____3614 + st.FStar_JsonHelper.repl_deps_stack + in + FStar_List.map (fun _3629 -> FStar_Util.JsonStr _3629) + uu____3615 + in + FStar_Util.JsonList uu____3612 in + ("loaded-dependencies", uu____3611) in + let uu____3632 = + let uu____3640 = + let uu____3646 = + let uu____3647 = + let uu____3650 = + current_fstar_options (fun uu____3655 -> true) in + FStar_List.map json_of_fstar_option uu____3650 in + FStar_Util.JsonList uu____3647 in + ("options", uu____3646) in + [uu____3640] in + uu____3605 :: uu____3632 in + FStar_Util.JsonAssoc uu____3597 + let run_exit : - 'Auu____3698 'Auu____3699 . - 'Auu____3698 -> - ((query_status * FStar_Util.json) * ('Auu____3699, Prims.int) + 'Auu____3681 'Auu____3682 . + 'Auu____3681 -> + ((query_status * FStar_Util.json) * ('Auu____3682,Prims.int) FStar_Util.either) = - fun st -> + fun st -> ((QueryOK, FStar_Util.JsonNull), (FStar_Util.Inr (Prims.parse_int "0"))) + let run_describe_protocol : - 'Auu____3736 'Auu____3737 . - 'Auu____3736 -> - ((query_status * FStar_Util.json) * ('Auu____3736, 'Auu____3737) + 'Auu____3719 'Auu____3720 . + 'Auu____3719 -> + ((query_status * FStar_Util.json) * ('Auu____3719,'Auu____3720) FStar_Util.either) = - fun st -> + fun st -> ((QueryOK, (FStar_Util.JsonAssoc alist_of_protocol_info)), (FStar_Util.Inl st)) + let run_describe_repl : - 'Auu____3768 . + 'Auu____3751 . FStar_JsonHelper.repl_state -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____3768) FStar_Util.either) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____3751) FStar_Util.either) = - fun st -> - let uu____3786 = - let uu____3791 = json_of_repl_state st in (QueryOK, uu____3791) in - (uu____3786, (FStar_Util.Inl st)) + fun st -> + let uu____3769 = + let uu____3774 = json_of_repl_state st in (QueryOK, uu____3774) in + (uu____3769, (FStar_Util.Inl st)) + let run_protocol_violation : - 'Auu____3809 'Auu____3810 . - 'Auu____3809 -> + 'Auu____3792 'Auu____3793 . + 'Auu____3792 -> Prims.string -> - ((query_status * FStar_Util.json) * ('Auu____3809, 'Auu____3810) + ((query_status * FStar_Util.json) * ('Auu____3792,'Auu____3793) FStar_Util.either) = - fun st -> - fun message -> + fun st -> + fun message -> ((QueryViolatesProtocol, (FStar_Util.JsonStr message)), (FStar_Util.Inl st)) + let run_generic_error : - 'Auu____3852 'Auu____3853 . - 'Auu____3852 -> + 'Auu____3835 'Auu____3836 . + 'Auu____3835 -> Prims.string -> - ((query_status * FStar_Util.json) * ('Auu____3852, 'Auu____3853) + ((query_status * FStar_Util.json) * ('Auu____3835,'Auu____3836) FStar_Util.either) = - fun st -> - fun message -> + fun st -> + fun message -> ((QueryNOK, (FStar_Util.JsonStr message)), (FStar_Util.Inl st)) + let (collect_errors : unit -> FStar_Errors.issue Prims.list) = - fun uu____3893 -> - let errors = FStar_Errors.report_all () in FStar_Errors.clear (); errors + fun uu____3876 -> + let errors = FStar_Errors.report_all () in FStar_Errors.clear (); errors + let run_segment : - 'Auu____3905 . + 'Auu____3888 . FStar_JsonHelper.repl_state -> Prims.string -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____3905) FStar_Util.either) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____3888) FStar_Util.either) = - fun st -> - fun code -> + fun st -> + fun code -> let frag = { FStar_Parser_ParseIt.frag_fname = ""; FStar_Parser_ParseIt.frag_text = code; FStar_Parser_ParseIt.frag_line = (Prims.parse_int "1"); FStar_Parser_ParseIt.frag_col = (Prims.parse_int "0") - } in - let collect_decls uu____3941 = - let uu____3942 = FStar_Parser_Driver.parse_fragment frag in - match uu____3942 with - | FStar_Parser_Driver.Empty -> [] + } in + let collect_decls uu____3924 = + let uu____3925 = FStar_Parser_Driver.parse_fragment frag in + match uu____3925 with + | FStar_Parser_Driver.Empty -> [] | FStar_Parser_Driver.Decls decls -> decls | FStar_Parser_Driver.Modul (FStar_Parser_AST.Module - (uu____3948, decls)) -> decls + (uu____3931,decls)) -> decls | FStar_Parser_Driver.Modul (FStar_Parser_AST.Interface - (uu____3954, decls, uu____3956)) -> decls in - let uu____3963 = + (uu____3937,decls,uu____3939)) -> decls + in + let uu____3946 = with_captured_errors st.FStar_JsonHelper.repl_env FStar_Util.sigint_ignore - (fun uu____3972 -> - let uu____3973 = collect_decls () in + (fun uu____3955 -> + let uu____3956 = collect_decls () in FStar_All.pipe_left - (fun _3984 -> FStar_Pervasives_Native.Some _3984) uu____3973) in - match uu____3963 with - | FStar_Pervasives_Native.None -> + (fun _3967 -> FStar_Pervasives_Native.Some _3967) uu____3956) + in + match uu____3946 with + | FStar_Pervasives_Native.None -> let errors = - let uu____4002 = collect_errors () in - FStar_All.pipe_right uu____4002 (FStar_List.map json_of_issue) in + let uu____3985 = collect_errors () in + FStar_All.pipe_right uu____3985 (FStar_List.map json_of_issue) + in ((QueryNOK, (FStar_Util.JsonList errors)), (FStar_Util.Inl st)) | FStar_Pervasives_Native.Some decls -> let json_of_decl decl = - let uu____4028 = - let uu____4036 = - let uu____4042 = + let uu____4011 = + let uu____4019 = + let uu____4025 = FStar_Range.json_of_def_range - (FStar_Parser_AST.decl_drange decl) in - ("def_range", uu____4042) in - [uu____4036] in - FStar_Util.JsonAssoc uu____4028 in + (FStar_Parser_AST.decl_drange decl) + in + ("def_range", uu____4025) in + [uu____4019] in + FStar_Util.JsonAssoc uu____4011 in let js_decls = - let uu____4056 = FStar_List.map json_of_decl decls in - FStar_All.pipe_left (fun _4061 -> FStar_Util.JsonList _4061) - uu____4056 in + let uu____4039 = FStar_List.map json_of_decl decls in + FStar_All.pipe_left (fun _4044 -> FStar_Util.JsonList _4044) + uu____4039 + in ((QueryOK, (FStar_Util.JsonAssoc [("decls", js_decls)])), (FStar_Util.Inl st)) + let run_vfs_add : - 'Auu____4091 . + 'Auu____4074 . FStar_JsonHelper.repl_state -> Prims.string FStar_Pervasives_Native.option -> Prims.string -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____4091) FStar_Util.either) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____4074) FStar_Util.either) = - fun st -> - fun opt_fname -> - fun contents -> - let fname = FStar_Util.dflt st.FStar_JsonHelper.repl_fname opt_fname in + fun st -> + fun opt_fname -> + fun contents -> + let fname = FStar_Util.dflt st.FStar_JsonHelper.repl_fname opt_fname + in FStar_Parser_ParseIt.add_vfs_entry fname contents; ((QueryOK, FStar_Util.JsonNull), (FStar_Util.Inl st)) + let run_pop : - 'Auu____4144 . + 'Auu____4127 . FStar_JsonHelper.repl_state -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____4144) FStar_Util.either) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____4127) FStar_Util.either) = - fun st -> - let uu____4162 = nothing_left_to_pop st in - if uu____4162 + fun st -> + let uu____4145 = nothing_left_to_pop st in + if uu____4145 then ((QueryNOK, (FStar_Util.JsonStr "Too many pops")), (FStar_Util.Inl st)) else - (let st' = FStar_PushHelper.pop_repl "pop_query" st in + (let st' = FStar_PushHelper.pop_repl "pop_query" st in ((QueryOK, FStar_Util.JsonNull), (FStar_Util.Inl st'))) + let (write_progress : Prims.string FStar_Pervasives_Native.option -> (Prims.string * FStar_Util.json) Prims.list -> unit) = - fun stage -> - fun contents_alist -> + fun stage -> + fun contents_alist -> let stage1 = match stage with | FStar_Pervasives_Native.Some s -> FStar_Util.JsonStr s - | FStar_Pervasives_Native.None -> FStar_Util.JsonNull in - let js_contents = ("stage", stage1) :: contents_alist in - let uu____4249 = - json_of_message "progress" (FStar_Util.JsonAssoc js_contents) in - FStar_JsonHelper.write_json uu____4249 + | FStar_Pervasives_Native.None -> FStar_Util.JsonNull in + let js_contents = ("stage", stage1) :: contents_alist in + let uu____4232 = + json_of_message "progress" (FStar_Util.JsonAssoc js_contents) in + FStar_JsonHelper.write_json uu____4232 + let (write_repl_ld_task_progress : FStar_JsonHelper.repl_task -> unit) = - fun task -> + fun task -> match task with - | FStar_JsonHelper.LDInterleaved (uu____4257, tf) -> + | FStar_JsonHelper.LDInterleaved (uu____4240,tf) -> let modname = - FStar_Parser_Dep.module_name_of_file tf.FStar_JsonHelper.tf_fname in + FStar_Parser_Dep.module_name_of_file tf.FStar_JsonHelper.tf_fname + in write_progress (FStar_Pervasives_Native.Some "loading-dependency") [("modname", (FStar_Util.JsonStr modname))] | FStar_JsonHelper.LDSingle tf -> let modname = - FStar_Parser_Dep.module_name_of_file tf.FStar_JsonHelper.tf_fname in + FStar_Parser_Dep.module_name_of_file tf.FStar_JsonHelper.tf_fname + in write_progress (FStar_Pervasives_Native.Some "loading-dependency") [("modname", (FStar_Util.JsonStr modname))] | FStar_JsonHelper.LDInterfaceOfCurrentFile tf -> let modname = - FStar_Parser_Dep.module_name_of_file tf.FStar_JsonHelper.tf_fname in + FStar_Parser_Dep.module_name_of_file tf.FStar_JsonHelper.tf_fname + in write_progress (FStar_Pervasives_Native.Some "loading-dependency") [("modname", (FStar_Util.JsonStr modname))] - | uu____4309 -> () + | uu____4292 -> () + let (load_deps : FStar_JsonHelper.repl_state -> - ((FStar_JsonHelper.repl_state * Prims.string Prims.list), - FStar_JsonHelper.repl_state) FStar_Util.either) + ((FStar_JsonHelper.repl_state * Prims.string Prims.list),FStar_JsonHelper.repl_state) + FStar_Util.either) = - fun st -> - let uu____4327 = + fun st -> + let uu____4310 = with_captured_errors st.FStar_JsonHelper.repl_env FStar_Util.sigint_ignore - (fun _env -> - let uu____4355 = + (fun _env -> + let uu____4338 = FStar_PushHelper.deps_and_repl_ld_tasks_of_our_file - st.FStar_JsonHelper.repl_fname in + st.FStar_JsonHelper.repl_fname + in FStar_All.pipe_left - (fun _4402 -> FStar_Pervasives_Native.Some _4402) uu____4355) in - match uu____4327 with - | FStar_Pervasives_Native.None -> FStar_Util.Inr st - | FStar_Pervasives_Native.Some (deps, tasks, dep_graph1) -> + (fun _4385 -> FStar_Pervasives_Native.Some _4385) uu____4338) + in + match uu____4310 with + | FStar_Pervasives_Native.None -> FStar_Util.Inr st + | FStar_Pervasives_Native.Some (deps,tasks,dep_graph1) -> let st1 = - let uu___556_4457 = st in - let uu____4458 = + let uu___554_4440 = st in + let uu____4441 = FStar_TypeChecker_Env.set_dep_graph st.FStar_JsonHelper.repl_env - dep_graph1 in + dep_graph1 + in { FStar_JsonHelper.repl_line = - (uu___556_4457.FStar_JsonHelper.repl_line); + (uu___554_4440.FStar_JsonHelper.repl_line); FStar_JsonHelper.repl_column = - (uu___556_4457.FStar_JsonHelper.repl_column); + (uu___554_4440.FStar_JsonHelper.repl_column); FStar_JsonHelper.repl_fname = - (uu___556_4457.FStar_JsonHelper.repl_fname); + (uu___554_4440.FStar_JsonHelper.repl_fname); FStar_JsonHelper.repl_deps_stack = - (uu___556_4457.FStar_JsonHelper.repl_deps_stack); + (uu___554_4440.FStar_JsonHelper.repl_deps_stack); FStar_JsonHelper.repl_curmod = - (uu___556_4457.FStar_JsonHelper.repl_curmod); - FStar_JsonHelper.repl_env = uu____4458; + (uu___554_4440.FStar_JsonHelper.repl_curmod); + FStar_JsonHelper.repl_env = uu____4441; FStar_JsonHelper.repl_stdin = - (uu___556_4457.FStar_JsonHelper.repl_stdin); + (uu___554_4440.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = - (uu___556_4457.FStar_JsonHelper.repl_names) - } in - let uu____4459 = - run_repl_ld_transactions st1 tasks write_repl_ld_task_progress in - (match uu____4459 with + (uu___554_4440.FStar_JsonHelper.repl_names) + } in + let uu____4442 = + run_repl_ld_transactions st1 tasks write_repl_ld_task_progress in + (match uu____4442 with | FStar_Util.Inr st2 -> (write_progress FStar_Pervasives_Native.None []; FStar_Util.Inr st2) | FStar_Util.Inl st2 -> (write_progress FStar_Pervasives_Native.None []; FStar_Util.Inl (st2, deps))) + let (rephrase_dependency_error : FStar_Errors.issue -> FStar_Errors.issue) = - fun issue -> - let uu___566_4514 = issue in - let uu____4515 = + fun issue -> + let uu___564_4497 = issue in + let uu____4498 = FStar_Util.format1 "Error while computing or loading dependencies:\n%s" - issue.FStar_Errors.issue_message in + issue.FStar_Errors.issue_message + in { - FStar_Errors.issue_message = uu____4515; - FStar_Errors.issue_level = (uu___566_4514.FStar_Errors.issue_level); - FStar_Errors.issue_range = (uu___566_4514.FStar_Errors.issue_range); - FStar_Errors.issue_number = (uu___566_4514.FStar_Errors.issue_number) + FStar_Errors.issue_message = uu____4498; + FStar_Errors.issue_level = (uu___564_4497.FStar_Errors.issue_level); + FStar_Errors.issue_range = (uu___564_4497.FStar_Errors.issue_range); + FStar_Errors.issue_number = (uu___564_4497.FStar_Errors.issue_number) } + let run_push_without_deps : - 'Auu____4525 . + 'Auu____4508 . FStar_JsonHelper.repl_state -> push_query -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____4525) FStar_Util.either) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____4508) FStar_Util.either) = - fun st -> - fun query -> + fun st -> + fun query -> let set_nosynth_flag st1 flag = - let uu___573_4561 = st1 in + let uu___571_4544 = st1 in { FStar_JsonHelper.repl_line = - (uu___573_4561.FStar_JsonHelper.repl_line); + (uu___571_4544.FStar_JsonHelper.repl_line); FStar_JsonHelper.repl_column = - (uu___573_4561.FStar_JsonHelper.repl_column); + (uu___571_4544.FStar_JsonHelper.repl_column); FStar_JsonHelper.repl_fname = - (uu___573_4561.FStar_JsonHelper.repl_fname); + (uu___571_4544.FStar_JsonHelper.repl_fname); FStar_JsonHelper.repl_deps_stack = - (uu___573_4561.FStar_JsonHelper.repl_deps_stack); + (uu___571_4544.FStar_JsonHelper.repl_deps_stack); FStar_JsonHelper.repl_curmod = - (uu___573_4561.FStar_JsonHelper.repl_curmod); + (uu___571_4544.FStar_JsonHelper.repl_curmod); FStar_JsonHelper.repl_env = - (let uu___575_4563 = st1.FStar_JsonHelper.repl_env in + (let uu___573_4546 = st1.FStar_JsonHelper.repl_env in { FStar_TypeChecker_Env.solver = - (uu___575_4563.FStar_TypeChecker_Env.solver); + (uu___573_4546.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___575_4563.FStar_TypeChecker_Env.range); + (uu___573_4546.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___575_4563.FStar_TypeChecker_Env.curmodule); + (uu___573_4546.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___575_4563.FStar_TypeChecker_Env.gamma); + (uu___573_4546.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___575_4563.FStar_TypeChecker_Env.gamma_sig); + (uu___573_4546.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___575_4563.FStar_TypeChecker_Env.gamma_cache); + (uu___573_4546.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___575_4563.FStar_TypeChecker_Env.modules); + (uu___573_4546.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___575_4563.FStar_TypeChecker_Env.expected_typ); + (uu___573_4546.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___575_4563.FStar_TypeChecker_Env.sigtab); + (uu___573_4546.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___575_4563.FStar_TypeChecker_Env.attrtab); + (uu___573_4546.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___575_4563.FStar_TypeChecker_Env.is_pattern); + (uu___573_4546.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___575_4563.FStar_TypeChecker_Env.instantiate_imp); + (uu___573_4546.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___575_4563.FStar_TypeChecker_Env.effects); + (uu___573_4546.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___575_4563.FStar_TypeChecker_Env.generalize); + (uu___573_4546.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___575_4563.FStar_TypeChecker_Env.letrecs); + (uu___573_4546.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___575_4563.FStar_TypeChecker_Env.top_level); + (uu___573_4546.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___575_4563.FStar_TypeChecker_Env.check_uvars); + (uu___573_4546.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___575_4563.FStar_TypeChecker_Env.use_eq); + (uu___573_4546.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___575_4563.FStar_TypeChecker_Env.is_iface); + (uu___573_4546.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___575_4563.FStar_TypeChecker_Env.admit); + (uu___573_4546.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___575_4563.FStar_TypeChecker_Env.lax); + (uu___573_4546.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___575_4563.FStar_TypeChecker_Env.lax_universes); + (uu___573_4546.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___575_4563.FStar_TypeChecker_Env.phase1); + (uu___573_4546.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___575_4563.FStar_TypeChecker_Env.failhard); + (uu___573_4546.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = flag; FStar_TypeChecker_Env.uvar_subtyping = - (uu___575_4563.FStar_TypeChecker_Env.uvar_subtyping); + (uu___573_4546.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___575_4563.FStar_TypeChecker_Env.tc_term); + (uu___573_4546.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___575_4563.FStar_TypeChecker_Env.type_of); + (uu___573_4546.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___575_4563.FStar_TypeChecker_Env.universe_of); + (uu___573_4546.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___575_4563.FStar_TypeChecker_Env.check_type_of); + (uu___573_4546.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___575_4563.FStar_TypeChecker_Env.use_bv_sorts); + (uu___573_4546.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___575_4563.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___573_4546.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___575_4563.FStar_TypeChecker_Env.normalized_eff_names); + (uu___573_4546.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___575_4563.FStar_TypeChecker_Env.fv_delta_depths); + (uu___573_4546.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___575_4563.FStar_TypeChecker_Env.proof_ns); + (uu___573_4546.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___575_4563.FStar_TypeChecker_Env.synth_hook); + (uu___573_4546.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___575_4563.FStar_TypeChecker_Env.splice); + (uu___573_4546.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___575_4563.FStar_TypeChecker_Env.postprocess); + (uu___573_4546.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___575_4563.FStar_TypeChecker_Env.is_native_tactic); + (uu___573_4546.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___575_4563.FStar_TypeChecker_Env.identifier_info); + (uu___573_4546.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___575_4563.FStar_TypeChecker_Env.tc_hooks); + (uu___573_4546.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___575_4563.FStar_TypeChecker_Env.dsenv); + (uu___573_4546.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___575_4563.FStar_TypeChecker_Env.nbe) + (uu___573_4546.FStar_TypeChecker_Env.nbe) }); FStar_JsonHelper.repl_stdin = - (uu___573_4561.FStar_JsonHelper.repl_stdin); + (uu___571_4544.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = - (uu___573_4561.FStar_JsonHelper.repl_names) - } in - let uu____4564 = query in - match uu____4564 with + (uu___571_4544.FStar_JsonHelper.repl_names) + } in + let uu____4547 = query in + match uu____4547 with | { push_kind; push_code = text; push_line = line; push_column = column; push_peek_only = peek_only;_} -> let frag = @@ -1563,317 +1721,340 @@ let run_push_without_deps : FStar_Parser_ParseIt.frag_text = text; FStar_Parser_ParseIt.frag_line = line; FStar_Parser_ParseIt.frag_col = column - } in + } in (FStar_TypeChecker_Env.toggle_id_info st.FStar_JsonHelper.repl_env true; - (let st1 = set_nosynth_flag st peek_only in - let uu____4591 = + (let st1 = set_nosynth_flag st peek_only in + let uu____4574 = run_repl_transaction st1 push_kind peek_only - (FStar_JsonHelper.PushFragment frag) in - match uu____4591 with - | (success, st2) -> - let st3 = set_nosynth_flag st2 false in + (FStar_JsonHelper.PushFragment frag) + in + match uu____4574 with + | (success,st2) -> + let st3 = set_nosynth_flag st2 false in let status = - if success || peek_only then QueryOK else QueryNOK in + if success || peek_only then QueryOK else QueryNOK in let json_errors = - let uu____4620 = - let uu____4623 = collect_errors () in - FStar_All.pipe_right uu____4623 - (FStar_List.map json_of_issue) in - FStar_Util.JsonList uu____4620 in + let uu____4603 = + let uu____4606 = collect_errors () in + FStar_All.pipe_right uu____4606 + (FStar_List.map json_of_issue) + in + FStar_Util.JsonList uu____4603 in let st4 = if success then - let uu___594_4632 = st3 in + let uu___592_4615 = st3 in { FStar_JsonHelper.repl_line = line; FStar_JsonHelper.repl_column = column; FStar_JsonHelper.repl_fname = - (uu___594_4632.FStar_JsonHelper.repl_fname); + (uu___592_4615.FStar_JsonHelper.repl_fname); FStar_JsonHelper.repl_deps_stack = - (uu___594_4632.FStar_JsonHelper.repl_deps_stack); + (uu___592_4615.FStar_JsonHelper.repl_deps_stack); FStar_JsonHelper.repl_curmod = - (uu___594_4632.FStar_JsonHelper.repl_curmod); + (uu___592_4615.FStar_JsonHelper.repl_curmod); FStar_JsonHelper.repl_env = - (uu___594_4632.FStar_JsonHelper.repl_env); + (uu___592_4615.FStar_JsonHelper.repl_env); FStar_JsonHelper.repl_stdin = - (uu___594_4632.FStar_JsonHelper.repl_stdin); + (uu___592_4615.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = - (uu___594_4632.FStar_JsonHelper.repl_names) + (uu___592_4615.FStar_JsonHelper.repl_names) } - else st3 in + else st3 in ((status, json_errors), (FStar_Util.Inl st4)))) + let run_push_with_deps : - 'Auu____4650 . + 'Auu____4633 . FStar_JsonHelper.repl_state -> push_query -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____4650) FStar_Util.either) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____4633) FStar_Util.either) = - fun st -> - fun query -> - (let uu____4674 = FStar_Options.debug_any () in - if uu____4674 + fun st -> + fun query -> + (let uu____4657 = FStar_Options.debug_any () in + if uu____4657 then FStar_Util.print_string "Reloading dependencies" else ()); FStar_TypeChecker_Env.toggle_id_info st.FStar_JsonHelper.repl_env false; - (let uu____4682 = load_deps st in - match uu____4682 with + (let uu____4665 = load_deps st in + match uu____4665 with | FStar_Util.Inr st1 -> let errors = - let uu____4717 = collect_errors () in - FStar_List.map rephrase_dependency_error uu____4717 in + let uu____4700 = collect_errors () in + FStar_List.map rephrase_dependency_error uu____4700 in let js_errors = - FStar_All.pipe_right errors (FStar_List.map json_of_issue) in + FStar_All.pipe_right errors (FStar_List.map json_of_issue) in ((QueryNOK, (FStar_Util.JsonList js_errors)), (FStar_Util.Inl st1)) - | FStar_Util.Inl (st1, deps) -> - ((let uu____4751 = FStar_Options.restore_cmd_line_options false in - FStar_All.pipe_right uu____4751 (fun a2 -> ())); + | FStar_Util.Inl (st1,deps) -> + ((let uu____4734 = FStar_Options.restore_cmd_line_options false + in + FStar_All.pipe_right uu____4734 (fun a2 -> ())); (let names1 = FStar_PushHelper.add_module_completions st1.FStar_JsonHelper.repl_fname deps - st1.FStar_JsonHelper.repl_names in + st1.FStar_JsonHelper.repl_names + in run_push_without_deps - (let uu___612_4755 = st1 in + (let uu___610_4738 = st1 in { FStar_JsonHelper.repl_line = - (uu___612_4755.FStar_JsonHelper.repl_line); + (uu___610_4738.FStar_JsonHelper.repl_line); FStar_JsonHelper.repl_column = - (uu___612_4755.FStar_JsonHelper.repl_column); + (uu___610_4738.FStar_JsonHelper.repl_column); FStar_JsonHelper.repl_fname = - (uu___612_4755.FStar_JsonHelper.repl_fname); + (uu___610_4738.FStar_JsonHelper.repl_fname); FStar_JsonHelper.repl_deps_stack = - (uu___612_4755.FStar_JsonHelper.repl_deps_stack); + (uu___610_4738.FStar_JsonHelper.repl_deps_stack); FStar_JsonHelper.repl_curmod = - (uu___612_4755.FStar_JsonHelper.repl_curmod); + (uu___610_4738.FStar_JsonHelper.repl_curmod); FStar_JsonHelper.repl_env = - (uu___612_4755.FStar_JsonHelper.repl_env); + (uu___610_4738.FStar_JsonHelper.repl_env); FStar_JsonHelper.repl_stdin = - (uu___612_4755.FStar_JsonHelper.repl_stdin); + (uu___610_4738.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = names1 }) query))) + let run_push : - 'Auu____4763 . + 'Auu____4746 . FStar_JsonHelper.repl_state -> push_query -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____4763) FStar_Util.either) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____4746) FStar_Util.either) = - fun st -> - fun query -> - let uu____4786 = nothing_left_to_pop st in - if uu____4786 + fun st -> + fun query -> + let uu____4769 = nothing_left_to_pop st in + if uu____4769 then run_push_with_deps st query else run_push_without_deps st query + let (run_symbol_lookup : FStar_JsonHelper.repl_state -> Prims.string -> FStar_QueryHelper.position FStar_Pervasives_Native.option -> Prims.string Prims.list -> - (Prims.string, - (Prims.string * (Prims.string * FStar_Util.json) Prims.list)) + (Prims.string,(Prims.string * (Prims.string * FStar_Util.json) + Prims.list)) FStar_Util.either) = - fun st -> - fun symbol -> - fun pos_opt -> - fun requested_info -> - let uu____4853 = + fun st -> + fun symbol -> + fun pos_opt -> + fun requested_info -> + let uu____4836 = FStar_QueryHelper.symlookup st.FStar_JsonHelper.repl_env symbol - pos_opt requested_info in - match uu____4853 with - | FStar_Pervasives_Native.None -> FStar_Util.Inl "Symbol not found" + pos_opt requested_info + in + match uu____4836 with + | FStar_Pervasives_Native.None -> + FStar_Util.Inl "Symbol not found" | FStar_Pervasives_Native.Some result -> - let uu____4888 = - let uu____4901 = alist_of_symbol_lookup_result result in - ("symbol", uu____4901) in - FStar_Util.Inr uu____4888 + let uu____4871 = + let uu____4884 = alist_of_symbol_lookup_result result in + ("symbol", uu____4884) in + FStar_Util.Inr uu____4871 + let (run_option_lookup : Prims.string -> - (Prims.string, - (Prims.string * (Prims.string * FStar_Util.json) Prims.list)) + (Prims.string,(Prims.string * (Prims.string * FStar_Util.json) + Prims.list)) FStar_Util.either) = - fun opt_name -> - let uu____4956 = trim_option_name opt_name in - match uu____4956 with - | (uu____4980, trimmed_name) -> - let uu____4986 = - FStar_Util.smap_try_find fstar_options_map_cache trimmed_name in - (match uu____4986 with - | FStar_Pervasives_Native.None -> + fun opt_name -> + let uu____4939 = trim_option_name opt_name in + match uu____4939 with + | (uu____4963,trimmed_name) -> + let uu____4969 = + FStar_Util.smap_try_find fstar_options_map_cache trimmed_name in + (match uu____4969 with + | FStar_Pervasives_Native.None -> FStar_Util.Inl (Prims.op_Hat "Unknown option:" opt_name) | FStar_Pervasives_Native.Some opt -> - let uu____5021 = - let uu____5034 = - let uu____5042 = update_option opt in - alist_of_fstar_option uu____5042 in - ("option", uu____5034) in - FStar_Util.Inr uu____5021) + let uu____5004 = + let uu____5017 = + let uu____5025 = update_option opt in + alist_of_fstar_option uu____5025 in + ("option", uu____5017) in + FStar_Util.Inr uu____5004) + let (run_module_lookup : FStar_JsonHelper.repl_state -> Prims.string -> - (Prims.string, - (Prims.string * (Prims.string * FStar_Util.json) Prims.list)) + (Prims.string,(Prims.string * (Prims.string * FStar_Util.json) + Prims.list)) FStar_Util.either) = - fun st -> - fun symbol -> - let query = FStar_Util.split symbol "." in - let uu____5100 = + fun st -> + fun symbol -> + let query = FStar_Util.split symbol "." in + let uu____5083 = FStar_Interactive_CompletionTable.find_module_or_ns - st.FStar_JsonHelper.repl_names query in - match uu____5100 with - | FStar_Pervasives_Native.None -> + st.FStar_JsonHelper.repl_names query + in + match uu____5083 with + | FStar_Pervasives_Native.None -> FStar_Util.Inl "No such module or namespace" | FStar_Pervasives_Native.Some (FStar_Interactive_CompletionTable.Module mod_info) -> - let uu____5135 = - let uu____5148 = - FStar_Interactive_CompletionTable.alist_of_mod_info mod_info in - ("module", uu____5148) in - FStar_Util.Inr uu____5135 + let uu____5118 = + let uu____5131 = + FStar_Interactive_CompletionTable.alist_of_mod_info mod_info + in + ("module", uu____5131) in + FStar_Util.Inr uu____5118 | FStar_Pervasives_Native.Some (FStar_Interactive_CompletionTable.Namespace ns_info) -> - let uu____5179 = - let uu____5192 = - FStar_Interactive_CompletionTable.alist_of_ns_info ns_info in - ("namespace", uu____5192) in - FStar_Util.Inr uu____5179 + let uu____5162 = + let uu____5175 = + FStar_Interactive_CompletionTable.alist_of_ns_info ns_info in + ("namespace", uu____5175) in + FStar_Util.Inr uu____5162 + let (run_code_lookup : FStar_JsonHelper.repl_state -> Prims.string -> FStar_QueryHelper.position FStar_Pervasives_Native.option -> Prims.string Prims.list -> - (Prims.string, - (Prims.string * (Prims.string * FStar_Util.json) Prims.list)) + (Prims.string,(Prims.string * (Prims.string * FStar_Util.json) + Prims.list)) FStar_Util.either) = - fun st -> - fun symbol -> - fun pos_opt -> - fun requested_info -> - let uu____5272 = run_symbol_lookup st symbol pos_opt requested_info in - match uu____5272 with + fun st -> + fun symbol -> + fun pos_opt -> + fun requested_info -> + let uu____5255 = run_symbol_lookup st symbol pos_opt requested_info + in + match uu____5255 with | FStar_Util.Inr alist -> FStar_Util.Inr alist - | FStar_Util.Inl uu____5346 -> - let uu____5361 = run_module_lookup st symbol in - (match uu____5361 with + | FStar_Util.Inl uu____5329 -> + let uu____5344 = run_module_lookup st symbol in + (match uu____5344 with | FStar_Util.Inr alist -> FStar_Util.Inr alist | FStar_Util.Inl err_msg -> FStar_Util.Inl "No such symbol, module, or namespace.") + let (run_lookup' : FStar_JsonHelper.repl_state -> Prims.string -> lookup_context -> FStar_QueryHelper.position FStar_Pervasives_Native.option -> Prims.string Prims.list -> - (Prims.string, - (Prims.string * (Prims.string * FStar_Util.json) Prims.list)) + (Prims.string,(Prims.string * (Prims.string * FStar_Util.json) + Prims.list)) FStar_Util.either) = - fun st -> - fun symbol -> - fun context -> - fun pos_opt -> - fun requested_info -> + fun st -> + fun symbol -> + fun context -> + fun pos_opt -> + fun requested_info -> match context with - | LKSymbolOnly -> + | LKSymbolOnly -> run_symbol_lookup st symbol pos_opt requested_info - | LKModule -> run_module_lookup st symbol - | LKOption -> run_option_lookup symbol - | LKCode -> run_code_lookup st symbol pos_opt requested_info + | LKModule -> run_module_lookup st symbol + | LKOption -> run_option_lookup symbol + | LKCode -> run_code_lookup st symbol pos_opt requested_info + let run_lookup : - 'Auu____5549 . + 'Auu____5532 . FStar_JsonHelper.repl_state -> Prims.string -> lookup_context -> FStar_QueryHelper.position FStar_Pervasives_Native.option -> Prims.string Prims.list -> ((query_status * FStar_Util.json) * - (FStar_JsonHelper.repl_state, 'Auu____5549) - FStar_Util.either) + (FStar_JsonHelper.repl_state,'Auu____5532) FStar_Util.either) = - fun st -> - fun symbol -> - fun context -> - fun pos_opt -> - fun requested_info -> - let uu____5599 = - run_lookup' st symbol context pos_opt requested_info in - match uu____5599 with + fun st -> + fun symbol -> + fun context -> + fun pos_opt -> + fun requested_info -> + let uu____5582 = + run_lookup' st symbol context pos_opt requested_info in + match uu____5582 with | FStar_Util.Inl err_msg -> ((QueryNOK, (FStar_Util.JsonStr err_msg)), (FStar_Util.Inl st)) - | FStar_Util.Inr (kind, info) -> + | FStar_Util.Inr (kind,info) -> ((QueryOK, (FStar_Util.JsonAssoc (("kind", (FStar_Util.JsonStr kind)) :: info))), (FStar_Util.Inl st)) + let run_code_autocomplete : - 'Auu____5705 . + 'Auu____5688 . FStar_JsonHelper.repl_state -> Prims.string -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____5705) FStar_Util.either) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____5688) FStar_Util.either) = - fun st -> - fun search_term -> - let result = FStar_QueryHelper.ck_completion st search_term in + fun st -> + fun search_term -> + let result = FStar_QueryHelper.ck_completion st search_term in let js = FStar_List.map - FStar_Interactive_CompletionTable.json_of_completion_result result in + FStar_Interactive_CompletionTable.json_of_completion_result result + in ((QueryOK, (FStar_Util.JsonList js)), (FStar_Util.Inl st)) + let run_module_autocomplete : - 'Auu____5759 'Auu____5760 'Auu____5761 . + 'Auu____5742 'Auu____5743 'Auu____5744 . FStar_JsonHelper.repl_state -> Prims.string -> - 'Auu____5759 -> - 'Auu____5760 -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____5761) FStar_Util.either) + 'Auu____5742 -> + 'Auu____5743 -> + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____5744) FStar_Util.either) = - fun st -> - fun search_term -> - fun modules1 -> - fun namespaces -> - let needle = FStar_Util.split search_term "." in + fun st -> + fun search_term -> + fun modules1 -> + fun namespaces -> + let needle = FStar_Util.split search_term "." in let mods_and_nss = FStar_Interactive_CompletionTable.autocomplete_mod_or_ns st.FStar_JsonHelper.repl_names needle - (fun _5808 -> FStar_Pervasives_Native.Some _5808) in + (fun _5791 -> FStar_Pervasives_Native.Some _5791) + in let json = FStar_List.map FStar_Interactive_CompletionTable.json_of_completion_result - mods_and_nss in + mods_and_nss + in ((QueryOK, (FStar_Util.JsonList json)), (FStar_Util.Inl st)) -let (candidates_of_fstar_option : - Prims.int -> - Prims.bool -> - fstar_option -> - FStar_Interactive_CompletionTable.completion_result Prims.list) + +let candidates_of_fstar_option : + 'Auu____5812 . + Prims.int -> + 'Auu____5812 -> + fstar_option -> + FStar_Interactive_CompletionTable.completion_result Prims.list = - fun match_len -> - fun is_reset -> - fun opt -> - let uu____5842 = + fun match_len -> + fun is_reset -> + fun opt -> + let uu____5832 = match opt.opt_permission_level with - | OptSet -> (true, "") - | OptReset -> (is_reset, "#reset-only") - | OptReadOnly -> (false, "read-only") in - match uu____5842 with - | (may_set, explanation) -> - let opt_type = kind_of_fstar_option_type opt.opt_type in + | OptSet -> (true, "") + | OptReadOnly -> (false, "read-only") in + match uu____5832 with + | (may_set,explanation) -> + let opt_type = kind_of_fstar_option_type opt.opt_type in let annot = if may_set then opt_type else Prims.op_Hat "(" (Prims.op_Hat explanation - (Prims.op_Hat " " (Prims.op_Hat opt_type ")"))) in + (Prims.op_Hat " " (Prims.op_Hat opt_type ")"))) + in FStar_All.pipe_right opt.opt_snippets (FStar_List.map - (fun snippet -> + (fun snippet -> { FStar_Interactive_CompletionTable.completion_match_length = match_len; @@ -1882,212 +2063,220 @@ let (candidates_of_fstar_option : FStar_Interactive_CompletionTable.completion_annotation = annot })) + let run_option_autocomplete : - 'Auu____5905 'Auu____5906 . - 'Auu____5905 -> + 'Auu____5894 'Auu____5895 'Auu____5896 . + 'Auu____5894 -> Prims.string -> - Prims.bool -> - ((query_status * FStar_Util.json) * ('Auu____5905, 'Auu____5906) + 'Auu____5895 -> + ((query_status * FStar_Util.json) * ('Auu____5894,'Auu____5896) FStar_Util.either) = - fun st -> - fun search_term -> - fun is_reset -> - let uu____5938 = trim_option_name search_term in - match uu____5938 with - | ("--", trimmed_name) -> + fun st -> + fun search_term -> + fun is_reset -> + let uu____5926 = trim_option_name search_term in + match uu____5926 with + | ("--",trimmed_name) -> let matcher opt = - FStar_Util.starts_with opt.opt_name trimmed_name in - let options = current_fstar_options matcher in - let match_len = FStar_String.length search_term in + FStar_Util.starts_with opt.opt_name trimmed_name in + let options = current_fstar_options matcher in + let match_len = FStar_String.length search_term in let collect_candidates = - candidates_of_fstar_option match_len is_reset in - let results = FStar_List.concatMap collect_candidates options in + candidates_of_fstar_option match_len is_reset in + let results = FStar_List.concatMap collect_candidates options in let json = FStar_List.map FStar_Interactive_CompletionTable.json_of_completion_result - results in + results + in ((QueryOK, (FStar_Util.JsonList json)), (FStar_Util.Inl st)) - | (uu____5994, uu____5995) -> + | (uu____5982,uu____5983) -> ((QueryNOK, (FStar_Util.JsonStr "Options should start with '--'")), (FStar_Util.Inl st)) + let run_autocomplete : - 'Auu____6018 . + 'Auu____6006 . FStar_JsonHelper.repl_state -> Prims.string -> completion_context -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____6018) FStar_Util.either) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____6006) FStar_Util.either) = - fun st -> - fun search_term -> - fun context -> + fun st -> + fun search_term -> + fun context -> match context with - | CKCode -> run_code_autocomplete st search_term + | CKCode -> run_code_autocomplete st search_term | CKOption is_reset -> run_option_autocomplete st search_term is_reset - | CKModuleOrNamespace (modules1, namespaces) -> + | CKModuleOrNamespace (modules1,namespaces) -> run_module_autocomplete st search_term modules1 namespaces + let run_and_rewind : - 'Auu____6069 'Auu____6070 . + 'Auu____6058 'Auu____6059 . FStar_JsonHelper.repl_state -> - 'Auu____6069 -> - (FStar_JsonHelper.repl_state -> 'Auu____6069) -> - ('Auu____6069 * (FStar_JsonHelper.repl_state, 'Auu____6070) + 'Auu____6058 -> + (FStar_JsonHelper.repl_state -> 'Auu____6058) -> + ('Auu____6058 * (FStar_JsonHelper.repl_state,'Auu____6059) FStar_Util.either) = - fun st -> - fun sigint_default -> - fun task -> + fun st -> + fun sigint_default -> + fun task -> let st1 = FStar_PushHelper.push_repl "run_and_rewind" - FStar_PushHelper.FullCheck FStar_JsonHelper.Noop st in + FStar_PushHelper.FullCheck FStar_JsonHelper.Noop st + in let results = try - (fun uu___728_6111 -> + (fun uu___725_6100 -> match () with | () -> FStar_Util.with_sigint_handler FStar_Util.sigint_raise - (fun uu____6122 -> - let uu____6123 = task st1 in + (fun uu____6111 -> + let uu____6112 = task st1 in FStar_All.pipe_left - (fun _6128 -> FStar_Util.Inl _6128) uu____6123)) () - with | FStar_Util.SigInt -> FStar_Util.Inl sigint_default - | e -> FStar_Util.Inr e in - let st2 = FStar_PushHelper.pop_repl "run_and_rewind" st1 in + (fun _6117 -> FStar_Util.Inl _6117) uu____6112)) + () + with | FStar_Util.SigInt -> FStar_Util.Inl sigint_default + | e -> FStar_Util.Inr e in + let st2 = FStar_PushHelper.pop_repl "run_and_rewind" st1 in match results with | FStar_Util.Inl results1 -> (results1, (FStar_Util.Inl st2)) | FStar_Util.Inr e -> FStar_Exn.raise e + let run_with_parsed_and_tc_term : - 'Auu____6177 'Auu____6178 'Auu____6179 . + 'Auu____6166 'Auu____6167 'Auu____6168 . FStar_JsonHelper.repl_state -> Prims.string -> - 'Auu____6177 -> - 'Auu____6178 -> + 'Auu____6166 -> + 'Auu____6167 -> (FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (query_status * FStar_Util.json)) -> ((query_status * FStar_Util.json) * - (FStar_JsonHelper.repl_state, 'Auu____6179) - FStar_Util.either) + (FStar_JsonHelper.repl_state,'Auu____6168) FStar_Util.either) = - fun st -> - fun term -> - fun line -> - fun column -> - fun continuation -> + fun st -> + fun term -> + fun line -> + fun column -> + fun continuation -> let dummy_let_fragment term1 = let dummy_decl = - FStar_Util.format1 "let __compute_dummy__ = (%s)" term1 in + FStar_Util.format1 "let __compute_dummy__ = (%s)" term1 in { FStar_Parser_ParseIt.frag_fname = ""; FStar_Parser_ParseIt.frag_text = dummy_decl; FStar_Parser_ParseIt.frag_line = (Prims.parse_int "0"); FStar_Parser_ParseIt.frag_col = (Prims.parse_int "0") - } in + } in let find_let_body ses = match ses with | { FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_let - ((uu____6281, - { FStar_Syntax_Syntax.lbname = uu____6282; - FStar_Syntax_Syntax.lbunivs = univs1; - FStar_Syntax_Syntax.lbtyp = uu____6284; - FStar_Syntax_Syntax.lbeff = uu____6285; - FStar_Syntax_Syntax.lbdef = def; - FStar_Syntax_Syntax.lbattrs = uu____6287; - FStar_Syntax_Syntax.lbpos = uu____6288;_}::[]), - uu____6289); - FStar_Syntax_Syntax.sigrng = uu____6290; - FStar_Syntax_Syntax.sigquals = uu____6291; - FStar_Syntax_Syntax.sigmeta = uu____6292; - FStar_Syntax_Syntax.sigattrs = uu____6293;_}::[] -> + ((uu____6270,{ FStar_Syntax_Syntax.lbname = uu____6271; + FStar_Syntax_Syntax.lbunivs = univs1; + FStar_Syntax_Syntax.lbtyp = uu____6273; + FStar_Syntax_Syntax.lbeff = uu____6274; + FStar_Syntax_Syntax.lbdef = def; + FStar_Syntax_Syntax.lbattrs = uu____6276; + FStar_Syntax_Syntax.lbpos = uu____6277;_}::[]),uu____6278); + FStar_Syntax_Syntax.sigrng = uu____6279; + FStar_Syntax_Syntax.sigquals = uu____6280; + FStar_Syntax_Syntax.sigmeta = uu____6281; + FStar_Syntax_Syntax.sigattrs = uu____6282;_}::[] -> FStar_Pervasives_Native.Some (univs1, def) - | uu____6332 -> FStar_Pervasives_Native.None in + | uu____6321 -> FStar_Pervasives_Native.None in let parse1 frag = - let uu____6353 = + let uu____6342 = FStar_Parser_ParseIt.parse - (FStar_Parser_ParseIt.Toplevel frag) in - match uu____6353 with + (FStar_Parser_ParseIt.Toplevel frag) + in + match uu____6342 with | FStar_Parser_ParseIt.ASTFragment - (FStar_Util.Inr decls, uu____6359) -> + (FStar_Util.Inr decls,uu____6348) -> FStar_Pervasives_Native.Some decls - | uu____6380 -> FStar_Pervasives_Native.None in + | uu____6369 -> FStar_Pervasives_Native.None in let desugar env decls = - let uu____6398 = - let uu____6403 = - FStar_ToSyntax_ToSyntax.decls_to_sigelts decls in - uu____6403 env.FStar_TypeChecker_Env.dsenv in - FStar_Pervasives_Native.fst uu____6398 in + let uu____6387 = + let uu____6392 = + FStar_ToSyntax_ToSyntax.decls_to_sigelts decls in + uu____6392 env.FStar_TypeChecker_Env.dsenv in + FStar_Pervasives_Native.fst uu____6387 in let typecheck tcenv decls = - let uu____6425 = FStar_TypeChecker_Tc.tc_decls tcenv decls in - match uu____6425 with | (ses, uu____6439, uu____6440) -> ses in + let uu____6414 = FStar_TypeChecker_Tc.tc_decls tcenv decls in + match uu____6414 with | (ses,uu____6428,uu____6429) -> ses in run_and_rewind st (QueryNOK, (FStar_Util.JsonStr "Computation interrupted")) - (fun st1 -> - let tcenv = st1.FStar_JsonHelper.repl_env in - let frag = dummy_let_fragment term in - let uu____6461 = parse1 frag in - match uu____6461 with - | FStar_Pervasives_Native.None -> + (fun st1 -> + let tcenv = st1.FStar_JsonHelper.repl_env in + let frag = dummy_let_fragment term in + let uu____6450 = parse1 frag in + match uu____6450 with + | FStar_Pervasives_Native.None -> (QueryNOK, (FStar_Util.JsonStr "Could not parse this term")) | FStar_Pervasives_Native.Some decls -> - let aux uu____6487 = - let decls1 = desugar tcenv decls in - let ses = typecheck tcenv decls1 in + let aux uu____6476 = + let decls1 = desugar tcenv decls in + let ses = typecheck tcenv decls1 in match find_let_body ses with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (QueryNOK, (FStar_Util.JsonStr "Typechecking yielded an unexpected term")) - | FStar_Pervasives_Native.Some (univs1, def) -> - let uu____6523 = - FStar_Syntax_Subst.open_univ_vars univs1 def in - (match uu____6523 with - | (univs2, def1) -> + | FStar_Pervasives_Native.Some (univs1,def) -> + let uu____6512 = + FStar_Syntax_Subst.open_univ_vars univs1 def in + (match uu____6512 with + | (univs2,def1) -> let tcenv1 = FStar_TypeChecker_Env.push_univ_vars tcenv - univs2 in - continuation tcenv1 def1) in - let uu____6535 = FStar_Options.trace_error () in - if uu____6535 + univs2 + in + continuation tcenv1 def1) + in + let uu____6524 = FStar_Options.trace_error () in + if uu____6524 then aux () else (try - (fun uu___811_6549 -> match () with | () -> aux ()) + (fun uu___808_6538 -> match () with | () -> aux ()) () with - | uu___810_6558 -> - let uu____6563 = - FStar_Errors.issue_of_exn uu___810_6558 in - (match uu____6563 with + | uu___807_6547 -> + let uu____6552 = + FStar_Errors.issue_of_exn uu___807_6547 in + (match uu____6552 with | FStar_Pervasives_Native.Some issue -> - let uu____6571 = - let uu____6572 = - FStar_Errors.format_issue issue in - FStar_Util.JsonStr uu____6572 in - (QueryNOK, uu____6571) - | FStar_Pervasives_Native.None -> - FStar_Exn.raise uu___810_6558))) + let uu____6560 = + let uu____6561 = + FStar_Errors.format_issue issue in + FStar_Util.JsonStr uu____6561 in + (QueryNOK, uu____6560) + | FStar_Pervasives_Native.None -> + FStar_Exn.raise uu___807_6547))) + let run_compute : - 'Auu____6587 . + 'Auu____6576 . FStar_JsonHelper.repl_state -> Prims.string -> FStar_TypeChecker_Env.step Prims.list FStar_Pervasives_Native.option -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____6587) FStar_Util.either) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____6576) FStar_Util.either) = - fun st -> - fun term -> - fun rules -> + fun st -> + fun term -> + fun rules -> let rules1 = FStar_List.append (match rules with | FStar_Pervasives_Native.Some rules1 -> rules1 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Iota; FStar_TypeChecker_Env.Zeta; @@ -2096,19 +2285,21 @@ let run_compute : [FStar_TypeChecker_Env.Inlining; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.UnfoldTac; - FStar_TypeChecker_Env.Primops] in + FStar_TypeChecker_Env.Primops] + in let normalize_term1 tcenv rules2 t = - FStar_TypeChecker_Normalize.normalize rules2 tcenv t in + FStar_TypeChecker_Normalize.normalize rules2 tcenv t in run_with_parsed_and_tc_term st term (Prims.parse_int "0") (Prims.parse_int "0") - (fun tcenv -> - fun def -> - let normalized = normalize_term1 tcenv rules1 def in - let uu____6665 = - let uu____6666 = - FStar_QueryHelper.term_to_string tcenv normalized in - FStar_Util.JsonStr uu____6666 in - (QueryOK, uu____6665)) + (fun tcenv -> + fun def -> + let normalized = normalize_term1 tcenv rules1 def in + let uu____6654 = + let uu____6655 = + FStar_QueryHelper.term_to_string tcenv normalized in + FStar_Util.JsonStr uu____6655 in + (QueryOK, uu____6654)) + type search_term' = | NameContainsStr of Prims.string | TypeContainsLid of FStar_Ident.lid @@ -2116,25 +2307,29 @@ and search_term = { st_negate: Prims.bool ; st_term: search_term' } let (uu___is_NameContainsStr : search_term' -> Prims.bool) = - fun projectee -> - match projectee with | NameContainsStr _0 -> true | uu____6701 -> false + fun projectee -> + match projectee with | NameContainsStr _0 -> true | uu____6690 -> false + let (__proj__NameContainsStr__item___0 : search_term' -> Prims.string) = - fun projectee -> match projectee with | NameContainsStr _0 -> _0 + fun projectee -> match projectee with | NameContainsStr _0 -> _0 let (uu___is_TypeContainsLid : search_term' -> Prims.bool) = - fun projectee -> - match projectee with | TypeContainsLid _0 -> true | uu____6723 -> false + fun projectee -> + match projectee with | TypeContainsLid _0 -> true | uu____6712 -> false + let (__proj__TypeContainsLid__item___0 : search_term' -> FStar_Ident.lid) = - fun projectee -> match projectee with | TypeContainsLid _0 -> _0 + fun projectee -> match projectee with | TypeContainsLid _0 -> _0 let (__proj__Mksearch_term__item__st_negate : search_term -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { st_negate; st_term;_} -> st_negate + let (__proj__Mksearch_term__item__st_term : search_term -> search_term') = - fun projectee -> match projectee with | { st_negate; st_term;_} -> st_term + fun projectee -> match projectee with | { st_negate; st_term;_} -> st_term let (st_cost : search_term' -> Prims.int) = - fun uu___6_6758 -> - match uu___6_6758 with + fun uu___6_6747 -> + match uu___6_6747 with | NameContainsStr str -> - (FStar_String.length str) | TypeContainsLid lid -> (Prims.parse_int "1") + type search_candidate = { sc_lid: FStar_Ident.lid ; @@ -2145,226 +2340,250 @@ type search_candidate = } let (__proj__Mksearch_candidate__item__sc_lid : search_candidate -> FStar_Ident.lid) = - fun projectee -> + fun projectee -> match projectee with | { sc_lid; sc_typ; sc_fvars;_} -> sc_lid + let (__proj__Mksearch_candidate__item__sc_typ : search_candidate -> FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option FStar_ST.ref) = - fun projectee -> + fun projectee -> match projectee with | { sc_lid; sc_typ; sc_fvars;_} -> sc_typ + let (__proj__Mksearch_candidate__item__sc_fvars : search_candidate -> FStar_Ident.lid FStar_Util.set FStar_Pervasives_Native.option FStar_ST.ref) = - fun projectee -> + fun projectee -> match projectee with | { sc_lid; sc_typ; sc_fvars;_} -> sc_fvars + let (sc_of_lid : FStar_Ident.lid -> search_candidate) = - fun lid -> - let uu____6892 = FStar_Util.mk_ref FStar_Pervasives_Native.None in - let uu____6899 = FStar_Util.mk_ref FStar_Pervasives_Native.None in - { sc_lid = lid; sc_typ = uu____6892; sc_fvars = uu____6899 } + fun lid -> + let uu____6881 = FStar_Util.mk_ref FStar_Pervasives_Native.None in + let uu____6888 = FStar_Util.mk_ref FStar_Pervasives_Native.None in + { sc_lid = lid; sc_typ = uu____6881; sc_fvars = uu____6888 } + let (sc_typ : FStar_TypeChecker_Env.env -> search_candidate -> FStar_Syntax_Syntax.typ) = - fun tcenv -> - fun sc -> - let uu____6923 = FStar_ST.op_Bang sc.sc_typ in - match uu____6923 with + fun tcenv -> + fun sc -> + let uu____6912 = FStar_ST.op_Bang sc.sc_typ in + match uu____6912 with | FStar_Pervasives_Native.Some t -> t - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let typ = - let uu____6951 = - FStar_TypeChecker_Env.try_lookup_lid tcenv sc.sc_lid in - match uu____6951 with - | FStar_Pervasives_Native.None -> + let uu____6940 = + FStar_TypeChecker_Env.try_lookup_lid tcenv sc.sc_lid in + match uu____6940 with + | FStar_Pervasives_Native.None -> FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_Pervasives_Native.Some ((uu____6970, typ), uu____6972) -> - typ in + | FStar_Pervasives_Native.Some ((uu____6959,typ),uu____6961) -> + typ + in (FStar_ST.op_Colon_Equals sc.sc_typ (FStar_Pervasives_Native.Some typ); typ) + let (sc_fvars : FStar_TypeChecker_Env.env -> search_candidate -> FStar_Ident.lident FStar_Util.set) = - fun tcenv -> - fun sc -> - let uu____7022 = FStar_ST.op_Bang sc.sc_fvars in - match uu____7022 with + fun tcenv -> + fun sc -> + let uu____7011 = FStar_ST.op_Bang sc.sc_fvars in + match uu____7011 with | FStar_Pervasives_Native.Some fv -> fv - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let fv = - let uu____7066 = sc_typ tcenv sc in - FStar_Syntax_Free.fvars uu____7066 in + let uu____7055 = sc_typ tcenv sc in + FStar_Syntax_Free.fvars uu____7055 in (FStar_ST.op_Colon_Equals sc.sc_fvars (FStar_Pervasives_Native.Some fv); fv) + let (json_of_search_result : FStar_TypeChecker_Env.env -> search_candidate -> FStar_Util.json) = - fun tcenv -> - fun sc -> + fun tcenv -> + fun sc -> let typ_str = - let uu____7110 = sc_typ tcenv sc in - FStar_QueryHelper.term_to_string tcenv uu____7110 in - let uu____7111 = - let uu____7119 = - let uu____7125 = - let uu____7126 = - let uu____7128 = + let uu____7099 = sc_typ tcenv sc in + FStar_QueryHelper.term_to_string tcenv uu____7099 in + let uu____7100 = + let uu____7108 = + let uu____7114 = + let uu____7115 = + let uu____7117 = FStar_Syntax_DsEnv.shorten_lid - tcenv.FStar_TypeChecker_Env.dsenv sc.sc_lid in - uu____7128.FStar_Ident.str in - FStar_Util.JsonStr uu____7126 in - ("lid", uu____7125) in - [uu____7119; ("type", (FStar_Util.JsonStr typ_str))] in - FStar_Util.JsonAssoc uu____7111 + tcenv.FStar_TypeChecker_Env.dsenv sc.sc_lid + in + uu____7117.FStar_Ident.str in + FStar_Util.JsonStr uu____7115 in + ("lid", uu____7114) in + [uu____7108; ("type", (FStar_Util.JsonStr typ_str))] in + FStar_Util.JsonAssoc uu____7100 + exception InvalidSearch of Prims.string let (uu___is_InvalidSearch : Prims.exn -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | InvalidSearch uu____7161 -> true - | uu____7164 -> false + | InvalidSearch uu____7150 -> true + | uu____7153 -> false + let (__proj__InvalidSearch__item__uu___ : Prims.exn -> Prims.string) = - fun projectee -> - match projectee with | InvalidSearch uu____7174 -> uu____7174 + fun projectee -> + match projectee with | InvalidSearch uu____7163 -> uu____7163 + let run_search : - 'Auu____7183 . + 'Auu____7172 . FStar_JsonHelper.repl_state -> Prims.string -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - 'Auu____7183) FStar_Util.either) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,'Auu____7172) FStar_Util.either) = - fun st -> - fun search_str -> - let tcenv = st.FStar_JsonHelper.repl_env in - let empty_fv_set = FStar_Syntax_Syntax.new_fv_set () in + fun st -> + fun search_str -> + let tcenv = st.FStar_JsonHelper.repl_env in + let empty_fv_set = FStar_Syntax_Syntax.new_fv_set () in let st_matches candidate term = let found = match term.st_term with | NameContainsStr str -> FStar_Util.contains (candidate.sc_lid).FStar_Ident.str str | TypeContainsLid lid -> - let uu____7230 = sc_fvars tcenv candidate in - FStar_Util.set_mem lid uu____7230 in - found <> term.st_negate in + let uu____7219 = sc_fvars tcenv candidate in + FStar_Util.set_mem lid uu____7219 + in + found <> term.st_negate in let parse1 search_str1 = let parse_one term = - let negate = FStar_Util.starts_with term "-" in + let negate = FStar_Util.starts_with term "-" in let term1 = if negate then FStar_Util.substring_from term (Prims.parse_int "1") - else term in - let beg_quote = FStar_Util.starts_with term1 "\"" in - let end_quote = FStar_Util.ends_with term1 "\"" in + else term in + let beg_quote = FStar_Util.starts_with term1 "\"" in + let end_quote = FStar_Util.ends_with term1 "\"" in let strip_quotes str = if (FStar_String.length str) < (Prims.parse_int "2") then FStar_Exn.raise (InvalidSearch "Empty search term") else FStar_Util.substring str (Prims.parse_int "1") - ((FStar_String.length term1) - (Prims.parse_int "2")) in + ((FStar_String.length term1) - (Prims.parse_int "2")) + in let parsed = if beg_quote <> end_quote then - let uu____7289 = - let uu____7290 = + let uu____7278 = + let uu____7279 = FStar_Util.format1 "Improperly quoted search term: %s" - term1 in - InvalidSearch uu____7290 in - FStar_Exn.raise uu____7289 + term1 + in + InvalidSearch uu____7279 in + FStar_Exn.raise uu____7278 else if beg_quote then - (let uu____7296 = strip_quotes term1 in - NameContainsStr uu____7296) + (let uu____7285 = strip_quotes term1 in + NameContainsStr uu____7285) else - (let lid = FStar_Ident.lid_of_str term1 in - let uu____7301 = + (let lid = FStar_Ident.lid_of_str term1 in + let uu____7290 = FStar_Syntax_DsEnv.resolve_to_fully_qualified_name - tcenv.FStar_TypeChecker_Env.dsenv lid in - match uu____7301 with - | FStar_Pervasives_Native.None -> - let uu____7304 = - let uu____7305 = - FStar_Util.format1 "Unknown identifier: %s" term1 in - InvalidSearch uu____7305 in - FStar_Exn.raise uu____7304 - | FStar_Pervasives_Native.Some lid1 -> TypeContainsLid lid1) in - { st_negate = negate; st_term = parsed } in + tcenv.FStar_TypeChecker_Env.dsenv lid + in + match uu____7290 with + | FStar_Pervasives_Native.None -> + let uu____7293 = + let uu____7294 = + FStar_Util.format1 "Unknown identifier: %s" term1 + in + InvalidSearch uu____7294 in + FStar_Exn.raise uu____7293 + | FStar_Pervasives_Native.Some lid1 -> TypeContainsLid lid1) + in + { st_negate = negate; st_term = parsed } in let terms = - FStar_List.map parse_one (FStar_Util.split search_str1 " ") in - let cmp x y = (st_cost x.st_term) - (st_cost y.st_term) in - FStar_Util.sort_with cmp terms in + FStar_List.map parse_one (FStar_Util.split search_str1 " ") in + let cmp x y = (st_cost x.st_term) - (st_cost y.st_term) in + FStar_Util.sort_with cmp terms in let pprint_one term = - let uu____7333 = + let uu____7322 = match term.st_term with | NameContainsStr s -> FStar_Util.format1 "\"%s\"" s - | TypeContainsLid l -> FStar_Util.format1 "%s" l.FStar_Ident.str in - Prims.op_Hat (if term.st_negate then "-" else "") uu____7333 in + | TypeContainsLid l -> FStar_Util.format1 "%s" l.FStar_Ident.str + in + Prims.op_Hat (if term.st_negate then "-" else "") uu____7322 in let results = try - (fun uu___924_7367 -> + (fun uu___921_7356 -> match () with | () -> - let terms = parse1 search_str in - let all_lidents = FStar_TypeChecker_Env.lidents tcenv in - let all_candidates = FStar_List.map sc_of_lid all_lidents in + let terms = parse1 search_str in + let all_lidents = FStar_TypeChecker_Env.lidents tcenv in + let all_candidates = FStar_List.map sc_of_lid all_lidents + in let matches_all candidate = - FStar_List.for_all (st_matches candidate) terms in + FStar_List.for_all (st_matches candidate) terms in let cmp r1 r2 = FStar_Util.compare (r1.sc_lid).FStar_Ident.str - (r2.sc_lid).FStar_Ident.str in - let results = FStar_List.filter matches_all all_candidates in - let sorted1 = FStar_Util.sort_with cmp results in + (r2.sc_lid).FStar_Ident.str + in + let results = FStar_List.filter matches_all all_candidates + in + let sorted1 = FStar_Util.sort_with cmp results in let js = - FStar_List.map (json_of_search_result tcenv) sorted1 in + FStar_List.map (json_of_search_result tcenv) sorted1 in (match results with | [] -> let kwds = - let uu____7415 = FStar_List.map pprint_one terms in - FStar_Util.concat_l " " uu____7415 in - let uu____7421 = - let uu____7422 = + let uu____7404 = FStar_List.map pprint_one terms in + FStar_Util.concat_l " " uu____7404 in + let uu____7410 = + let uu____7411 = FStar_Util.format1 - "No results found for query [%s]" kwds in - InvalidSearch uu____7422 in - FStar_Exn.raise uu____7421 - | uu____7429 -> (QueryOK, (FStar_Util.JsonList js)))) () - with | InvalidSearch s -> (QueryNOK, (FStar_Util.JsonStr s)) in + "No results found for query [%s]" kwds + in + InvalidSearch uu____7411 in + FStar_Exn.raise uu____7410 + | uu____7418 -> (QueryOK, (FStar_Util.JsonList js)))) () + with | InvalidSearch s -> (QueryNOK, (FStar_Util.JsonStr s)) in (results, (FStar_Util.Inl st)) + let (run_query : FStar_JsonHelper.repl_state -> query' -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - Prims.int) FStar_Util.either)) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,Prims.int) FStar_Util.either)) = - fun st -> - fun q -> + fun st -> + fun q -> match q with - | Exit -> run_exit st - | DescribeProtocol -> run_describe_protocol st - | DescribeRepl -> run_describe_repl st + | Exit -> run_exit st + | DescribeProtocol -> run_describe_protocol st + | DescribeRepl -> run_describe_repl st | GenericError message -> run_generic_error st message | ProtocolViolation query -> run_protocol_violation st query | Segment c -> run_segment st c - | VfsAdd (fname, contents) -> run_vfs_add st fname contents + | VfsAdd (fname,contents) -> run_vfs_add st fname contents | Push pquery -> run_push st pquery - | Pop -> run_pop st - | AutoComplete (search_term, context) -> + | Pop -> run_pop st + | AutoComplete (search_term,context) -> run_autocomplete st search_term context - | Lookup (symbol, context, pos_opt, rq_info) -> + | Lookup (symbol,context,pos_opt,rq_info) -> run_lookup st symbol context pos_opt rq_info - | Compute (term, rules) -> run_compute st term rules + | Compute (term,rules) -> run_compute st term rules | Search term -> run_search st term + let (validate_query : FStar_JsonHelper.repl_state -> query -> query) = - fun st -> - fun q -> + fun st -> + fun q -> match q.qq with | Push - { push_kind = FStar_PushHelper.SyntaxCheck; push_code = uu____7560; - push_line = uu____7561; push_column = uu____7562; - push_peek_only = false;_} + { push_kind = FStar_PushHelper.SyntaxCheck ; + push_code = uu____7549; push_line = uu____7550; + push_column = uu____7551; push_peek_only = false ;_} -> { qq = @@ -2372,148 +2591,159 @@ let (validate_query : FStar_JsonHelper.repl_state -> query -> query) = "Cannot use 'kind': 'syntax' with 'query': 'push'"); qid = (q.qid) } - | uu____7568 -> + | uu____7557 -> (match st.FStar_JsonHelper.repl_curmod with - | FStar_Pervasives_Native.None when + | FStar_Pervasives_Native.None when query_needs_current_module q.qq -> { qq = (GenericError "Current module unset"); qid = (q.qid) } - | uu____7570 -> q) + | uu____7559 -> q) + let (validate_and_run_query : FStar_JsonHelper.repl_state -> query -> - ((query_status * FStar_Util.json) * (FStar_JsonHelper.repl_state, - Prims.int) FStar_Util.either)) + ((query_status * FStar_Util.json) * + (FStar_JsonHelper.repl_state,Prims.int) FStar_Util.either)) = - fun st -> - fun query -> - let query1 = validate_query st query in + fun st -> + fun query -> + let query1 = validate_query st query in FStar_ST.op_Colon_Equals repl_current_qid (FStar_Pervasives_Native.Some (query1.qid)); run_query st query1.qq + let (js_repl_eval : FStar_JsonHelper.repl_state -> query -> - (FStar_Util.json * (FStar_JsonHelper.repl_state, Prims.int) + (FStar_Util.json * (FStar_JsonHelper.repl_state,Prims.int) FStar_Util.either)) = - fun st -> - fun query -> - let uu____7643 = validate_and_run_query st query in - match uu____7643 with - | ((status, response), st_opt) -> - let js_response = json_of_response query.qid status response in + fun st -> + fun query -> + let uu____7632 = validate_and_run_query st query in + match uu____7632 with + | ((status,response),st_opt) -> + let js_response = json_of_response query.qid status response in (js_response, st_opt) + let (js_repl_eval_js : FStar_JsonHelper.repl_state -> FStar_Util.json -> - (FStar_Util.json * (FStar_JsonHelper.repl_state, Prims.int) + (FStar_Util.json * (FStar_JsonHelper.repl_state,Prims.int) FStar_Util.either)) = - fun st -> - fun query_js -> - let uu____7709 = deserialize_interactive_query query_js in - js_repl_eval st uu____7709 + fun st -> + fun query_js -> + let uu____7698 = deserialize_interactive_query query_js in + js_repl_eval st uu____7698 + let (js_repl_eval_str : FStar_JsonHelper.repl_state -> Prims.string -> - (Prims.string * (FStar_JsonHelper.repl_state, Prims.int) + (Prims.string * (FStar_JsonHelper.repl_state,Prims.int) FStar_Util.either)) = - fun st -> - fun query_str -> - let uu____7733 = - let uu____7743 = parse_interactive_query query_str in - js_repl_eval st uu____7743 in - match uu____7733 with - | (js_response, st_opt) -> - let uu____7766 = FStar_Util.string_of_json js_response in - (uu____7766, st_opt) + fun st -> + fun query_str -> + let uu____7722 = + let uu____7732 = parse_interactive_query query_str in + js_repl_eval st uu____7732 in + match uu____7722 with + | (js_response,st_opt) -> + let uu____7755 = FStar_Util.string_of_json js_response in + (uu____7755, st_opt) + let (js_repl_init_opts : unit -> unit) = - fun uu____7779 -> - let uu____7780 = FStar_Options.parse_cmd_line () in - match uu____7780 with - | (res, fnames) -> + fun uu____7768 -> + let uu____7769 = FStar_Options.parse_cmd_line () in + match uu____7769 with + | (res,fnames) -> (match res with | FStar_Getopt.Error msg -> failwith (Prims.op_Hat "repl_init: " msg) - | FStar_Getopt.Help -> failwith "repl_init: --help unexpected" - | FStar_Getopt.Success -> + | FStar_Getopt.Help -> failwith "repl_init: --help unexpected" + | FStar_Getopt.Success -> (match fnames with | [] -> failwith "repl_init: No file name given in --ide invocation" - | h::uu____7803::uu____7804 -> + | h::uu____7792::uu____7793 -> failwith "repl_init: Too many file names given in --ide invocation" - | uu____7813 -> ())) + | uu____7802 -> ())) + let rec (go : FStar_JsonHelper.repl_state -> Prims.int) = - fun st -> - let query = read_interactive_query st.FStar_JsonHelper.repl_stdin in - let uu____7826 = validate_and_run_query st query in - match uu____7826 with - | ((status, response), state_opt) -> + fun st -> + let query = read_interactive_query st.FStar_JsonHelper.repl_stdin in + let uu____7815 = validate_and_run_query st query in + match uu____7815 with + | ((status,response),state_opt) -> (write_response query.qid status response; (match state_opt with | FStar_Util.Inl st' -> go st' | FStar_Util.Inr exitcode -> exitcode)) + let (interactive_error_handler : FStar_Errors.error_handler) = - let issues = FStar_Util.mk_ref [] in + let issues = FStar_Util.mk_ref [] in let add_one1 e = - let uu____7879 = - let uu____7882 = FStar_ST.op_Bang issues in e :: uu____7882 in - FStar_ST.op_Colon_Equals issues uu____7879 in - let count_errors uu____7936 = - let uu____7937 = - let uu____7940 = FStar_ST.op_Bang issues in + let uu____7868 = + let uu____7871 = FStar_ST.op_Bang issues in e :: uu____7871 in + FStar_ST.op_Colon_Equals issues uu____7868 in + let count_errors uu____7925 = + let uu____7926 = + let uu____7929 = FStar_ST.op_Bang issues in FStar_List.filter - (fun e -> e.FStar_Errors.issue_level = FStar_Errors.EError) - uu____7940 in - FStar_List.length uu____7937 in - let report uu____7975 = - let uu____7976 = FStar_ST.op_Bang issues in - FStar_List.sortWith FStar_Errors.compare_issues uu____7976 in - let clear1 uu____8007 = FStar_ST.op_Colon_Equals issues [] in + (fun e -> e.FStar_Errors.issue_level = FStar_Errors.EError) + uu____7929 + in + FStar_List.length uu____7926 in + let report uu____7964 = + let uu____7965 = FStar_ST.op_Bang issues in + FStar_List.sortWith FStar_Errors.compare_issues uu____7965 in + let clear1 uu____7996 = FStar_ST.op_Colon_Equals issues [] in { FStar_Errors.eh_add_one = add_one1; FStar_Errors.eh_count_errors = count_errors; FStar_Errors.eh_report = report; FStar_Errors.eh_clear = clear1 - } + } let (interactive_printer : (FStar_Util.json -> unit) -> FStar_Util.printer) = - fun printer -> + fun printer -> { FStar_Util.printer_prinfo = - (fun s -> forward_message printer "info" (FStar_Util.JsonStr s)); + (fun s -> forward_message printer "info" (FStar_Util.JsonStr s)); FStar_Util.printer_prwarning = - (fun s -> forward_message printer "warning" (FStar_Util.JsonStr s)); + (fun s -> forward_message printer "warning" (FStar_Util.JsonStr s)); FStar_Util.printer_prerror = - (fun s -> forward_message printer "error" (FStar_Util.JsonStr s)); + (fun s -> forward_message printer "error" (FStar_Util.JsonStr s)); FStar_Util.printer_prgeneric = - (fun label -> - fun get_string -> - fun get_json -> - let uu____8068 = get_json () in - forward_message printer label uu____8068) + (fun label -> + fun get_string -> + fun get_json -> + let uu____8057 = get_json () in + forward_message printer label uu____8057) } + let (install_ide_mode_hooks : (FStar_Util.json -> unit) -> unit) = - fun printer -> + fun printer -> FStar_Util.set_printer (interactive_printer printer); FStar_Errors.set_handler interactive_error_handler + let (initial_range : Prims.string -> FStar_Range.range) = - fun fname -> - let uu____8089 = - FStar_Range.mk_pos (Prims.parse_int "1") (Prims.parse_int "0") in - let uu____8092 = - FStar_Range.mk_pos (Prims.parse_int "1") (Prims.parse_int "0") in - FStar_Range.mk_range fname uu____8089 uu____8092 + fun fname -> + let uu____8078 = + FStar_Range.mk_pos (Prims.parse_int "1") (Prims.parse_int "0") in + let uu____8081 = + FStar_Range.mk_pos (Prims.parse_int "1") (Prims.parse_int "0") in + FStar_Range.mk_range fname uu____8078 uu____8081 + let (build_initial_repl_state : Prims.string -> FStar_JsonHelper.repl_state) = - fun filename -> - let env = FStar_Universal.init_env FStar_Parser_Dep.empty_deps in + fun filename -> + let env = FStar_Universal.init_env FStar_Parser_Dep.empty_deps in let env1 = - let uu____8105 = initial_range filename in - FStar_TypeChecker_Env.set_range env uu____8105 in - let uu____8106 = FStar_Util.open_stdin () in + let uu____8094 = initial_range filename in + FStar_TypeChecker_Env.set_range env uu____8094 in + let uu____8095 = FStar_Util.open_stdin () in { FStar_JsonHelper.repl_line = (Prims.parse_int "1"); FStar_JsonHelper.repl_column = (Prims.parse_int "0"); @@ -2521,46 +2751,49 @@ let (build_initial_repl_state : Prims.string -> FStar_JsonHelper.repl_state) FStar_JsonHelper.repl_deps_stack = []; FStar_JsonHelper.repl_curmod = FStar_Pervasives_Native.None; FStar_JsonHelper.repl_env = env1; - FStar_JsonHelper.repl_stdin = uu____8106; + FStar_JsonHelper.repl_stdin = uu____8095; FStar_JsonHelper.repl_names = FStar_Interactive_CompletionTable.empty } + let interactive_mode' : - 'Auu____8122 . FStar_JsonHelper.repl_state -> 'Auu____8122 = - fun init_st -> + 'Auu____8111 . FStar_JsonHelper.repl_state -> 'Auu____8111 = + fun init_st -> write_hello (); (let exit_code = - let uu____8131 = - (FStar_Options.record_hints ()) || (FStar_Options.use_hints ()) in - if uu____8131 + let uu____8120 = + (FStar_Options.record_hints ()) || (FStar_Options.use_hints ()) in + if uu____8120 then - let uu____8135 = - let uu____8137 = FStar_Options.file_list () in - FStar_List.hd uu____8137 in - FStar_SMTEncoding_Solver.with_hints_db uu____8135 - (fun uu____8144 -> go init_st) - else go init_st in + let uu____8124 = + let uu____8126 = FStar_Options.file_list () in + FStar_List.hd uu____8126 in + FStar_SMTEncoding_Solver.with_hints_db uu____8124 + (fun uu____8133 -> go init_st) + else go init_st in FStar_All.exit exit_code) + let (interactive_mode : Prims.string -> unit) = - fun filename -> + fun filename -> install_ide_mode_hooks FStar_JsonHelper.write_json; FStar_Util.set_sigint_handler FStar_Util.sigint_ignore; - (let uu____8158 = - let uu____8160 = FStar_Options.codegen () in - FStar_Option.isSome uu____8160 in - if uu____8158 + (let uu____8147 = + let uu____8149 = FStar_Options.codegen () in + FStar_Option.isSome uu____8149 in + if uu____8147 then FStar_Errors.log_issue FStar_Range.dummyRange (FStar_Errors.Warning_IDEIgnoreCodeGen, "--ide: ignoring --codegen") else ()); - (let init1 = build_initial_repl_state filename in - let uu____8169 = FStar_Options.trace_error () in - if uu____8169 + (let init1 = build_initial_repl_state filename in + let uu____8158 = FStar_Options.trace_error () in + if uu____8158 then interactive_mode' init1 else (try - (fun uu___1073_8175 -> + (fun uu___1070_8164 -> match () with | () -> interactive_mode' init1) () with - | uu___1072_8178 -> + | uu___1069_8167 -> (FStar_Errors.set_handler FStar_Errors.default_handler; - FStar_Exn.raise uu___1072_8178))) \ No newline at end of file + FStar_Exn.raise uu___1069_8167))) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Interactive_Legacy.ml b/src/ocaml-output/FStar_Interactive_Legacy.ml index e625947c253..d7215efb40c 100644 --- a/src/ocaml-output/FStar_Interactive_Legacy.ml +++ b/src/ocaml-output/FStar_Interactive_Legacy.ml @@ -5,8 +5,8 @@ let (tc_one_file : ((Prims.string FStar_Pervasives_Native.option * Prims.string) * FStar_TypeChecker_Env.env_t * Prims.string Prims.list)) = - fun remaining -> - fun env -> + fun remaining -> + fun env -> let uu____37 = match remaining with | intf::impl::remaining1 when @@ -14,41 +14,45 @@ let (tc_one_file : let uu____82 = FStar_Universal.tc_one_file_for_ide env (FStar_Pervasives_Native.Some intf) impl - FStar_Parser_Dep.empty_parsing_data in + FStar_Parser_Dep.empty_parsing_data + in (match uu____82 with - | (uu____105, env1) -> + | (uu____105,env1) -> (((FStar_Pervasives_Native.Some intf), impl), env1, remaining1)) | intf_or_impl::remaining1 -> let uu____130 = FStar_Universal.tc_one_file_for_ide env FStar_Pervasives_Native.None intf_or_impl - FStar_Parser_Dep.empty_parsing_data in + FStar_Parser_Dep.empty_parsing_data + in (match uu____130 with - | (uu____153, env1) -> + | (uu____153,env1) -> ((FStar_Pervasives_Native.None, intf_or_impl), env1, remaining1)) - | [] -> failwith "Impossible" in + | [] -> failwith "Impossible" in match uu____37 with - | ((intf, impl), env1, remaining1) -> ((intf, impl), env1, remaining1) + | ((intf,impl),env1,remaining1) -> ((intf, impl), env1, remaining1) + type env_t = FStar_TypeChecker_Env.env type modul_t = FStar_Syntax_Syntax.modul FStar_Pervasives_Native.option type stack_t = (env_t * modul_t) Prims.list let (pop : FStar_TypeChecker_Env.env -> Prims.string -> unit) = - fun env -> - fun msg -> - (let uu____270 = FStar_TypeChecker_Tc.pop_context env msg in ()); + fun env -> + fun msg -> + (let uu____270 = FStar_TypeChecker_Tc.pop_context env msg in ()); FStar_Options.pop () + let (push_with_kind : FStar_TypeChecker_Env.env -> Prims.bool -> Prims.bool -> Prims.string -> FStar_TypeChecker_Env.env) = - fun env -> - fun lax1 -> - fun restore_cmd_line_options1 -> - fun msg -> + fun env -> + fun lax1 -> + fun restore_cmd_line_options1 -> + fun msg -> let env1 = - let uu___30_299 = env in + let uu___30_299 = env in { FStar_TypeChecker_Env.solver = (uu___30_299.FStar_TypeChecker_Env.solver); @@ -135,15 +139,16 @@ let (push_with_kind : (uu___30_299.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___30_299.FStar_TypeChecker_Env.nbe) - } in - let res = FStar_TypeChecker_Tc.push_context env1 msg in + } in + let res = FStar_TypeChecker_Tc.push_context env1 msg in FStar_Options.push (); if restore_cmd_line_options1 then - (let uu____304 = FStar_Options.restore_cmd_line_options false in - FStar_All.pipe_right uu____304 (fun a1 -> ())) + (let uu____304 = FStar_Options.restore_cmd_line_options false in + FStar_All.pipe_right uu____304 (fun a1 -> ())) else (); res + let (check_frag : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.modul FStar_Pervasives_Native.option -> @@ -152,42 +157,44 @@ let (check_frag : FStar_TypeChecker_Env.env * Prims.int) FStar_Pervasives_Native.option) = - fun env -> - fun curmod -> - fun frag -> + fun env -> + fun curmod -> + fun frag -> try - (fun uu___41_355 -> + (fun uu___41_355 -> match () with | () -> let uu____367 = - FStar_Universal.tc_one_fragment curmod env frag in + FStar_Universal.tc_one_fragment curmod env frag in (match uu____367 with - | (m, env1) -> + | (m,env1) -> let uu____391 = - let uu____401 = FStar_Errors.get_err_count () in - (m, env1, uu____401) in + let uu____401 = FStar_Errors.get_err_count () in + (m, env1, uu____401) in FStar_Pervasives_Native.Some uu____391)) () with - | FStar_Errors.Error (e, msg, r) when - let uu____437 = FStar_Options.trace_error () in + | FStar_Errors.Error (e,msg,r) when + let uu____437 = FStar_Options.trace_error () in Prims.op_Negation uu____437 -> (FStar_Errors.add_errors [(e, msg, r)]; FStar_Pervasives_Native.None) - | FStar_Errors.Err (e, msg) when - let uu____468 = FStar_Options.trace_error () in + | FStar_Errors.Err (e,msg) when + let uu____468 = FStar_Options.trace_error () in Prims.op_Negation uu____468 -> ((let uu____471 = let uu____481 = - let uu____489 = FStar_TypeChecker_Env.get_range env in - (e, msg, uu____489) in - [uu____481] in + let uu____489 = FStar_TypeChecker_Env.get_range env in + (e, msg, uu____489) in + [uu____481] in FStar_Errors.add_errors uu____471); FStar_Pervasives_Native.None) + let (report_fail : unit -> unit) = - fun uu____519 -> - (let uu____521 = FStar_Errors.report_all () in - FStar_All.pipe_right uu____521 (fun a2 -> ())); + fun uu____519 -> + (let uu____521 = FStar_Errors.report_all () in + FStar_All.pipe_right uu____521 (fun a2 -> ())); FStar_Errors.clear () + type input_chunks = | Push of (Prims.bool * Prims.int * Prims.int) | Pop of Prims.string @@ -196,34 +203,40 @@ type input_chunks = Prims.int) FStar_Pervasives_Native.option) | Completions of Prims.string let (uu___is_Push : input_chunks -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Push _0 -> true | uu____611 -> false + let (__proj__Push__item___0 : input_chunks -> (Prims.bool * Prims.int * Prims.int)) = - fun projectee -> match projectee with | Push _0 -> _0 + fun projectee -> match projectee with | Push _0 -> _0 let (uu___is_Pop : input_chunks -> Prims.bool) = - fun projectee -> match projectee with | Pop _0 -> true | uu____658 -> false + fun projectee -> + match projectee with | Pop _0 -> true | uu____658 -> false + let (__proj__Pop__item___0 : input_chunks -> Prims.string) = - fun projectee -> match projectee with | Pop _0 -> _0 + fun projectee -> match projectee with | Pop _0 -> _0 let (uu___is_Code : input_chunks -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Code _0 -> true | uu____691 -> false + let (__proj__Code__item___0 : input_chunks -> (Prims.string * (Prims.string * Prims.string))) = - fun projectee -> match projectee with | Code _0 -> _0 + fun projectee -> match projectee with | Code _0 -> _0 let (uu___is_Info : input_chunks -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Info _0 -> true | uu____762 -> false + let (__proj__Info__item___0 : input_chunks -> (Prims.string * Prims.bool * (Prims.string * Prims.int * Prims.int) FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | Info _0 -> _0 + = fun projectee -> match projectee with | Info _0 -> _0 let (uu___is_Completions : input_chunks -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Completions _0 -> true | uu____839 -> false + let (__proj__Completions__item___0 : input_chunks -> Prims.string) = - fun projectee -> match projectee with | Completions _0 -> _0 + fun projectee -> match projectee with | Completions _0 -> _0 type interactive_state = { chunk: FStar_Util.string_builder ; @@ -232,77 +245,84 @@ type interactive_state = log: FStar_Util.file_handle FStar_Pervasives_Native.option FStar_ST.ref } let (__proj__Mkinteractive_state__item__chunk : interactive_state -> FStar_Util.string_builder) = - fun projectee -> + fun projectee -> match projectee with | { chunk; stdin; buffer; log = log1;_} -> chunk + let (__proj__Mkinteractive_state__item__stdin : interactive_state -> FStar_Util.stream_reader FStar_Pervasives_Native.option FStar_ST.ref) = - fun projectee -> + fun projectee -> match projectee with | { chunk; stdin; buffer; log = log1;_} -> stdin + let (__proj__Mkinteractive_state__item__buffer : interactive_state -> input_chunks Prims.list FStar_ST.ref) = - fun projectee -> + fun projectee -> match projectee with | { chunk; stdin; buffer; log = log1;_} -> buffer + let (__proj__Mkinteractive_state__item__log : interactive_state -> FStar_Util.file_handle FStar_Pervasives_Native.option FStar_ST.ref) = - fun projectee -> + fun projectee -> match projectee with | { chunk; stdin; buffer; log = log1;_} -> log1 + let (the_interactive_state : interactive_state) = - let uu____1026 = FStar_Util.new_string_builder () in - let uu____1027 = FStar_Util.mk_ref FStar_Pervasives_Native.None in - let uu____1034 = FStar_Util.mk_ref [] in - let uu____1041 = FStar_Util.mk_ref FStar_Pervasives_Native.None in + let uu____1026 = FStar_Util.new_string_builder () in + let uu____1027 = FStar_Util.mk_ref FStar_Pervasives_Native.None in + let uu____1034 = FStar_Util.mk_ref [] in + let uu____1041 = FStar_Util.mk_ref FStar_Pervasives_Native.None in { chunk = uu____1026; stdin = uu____1027; buffer = uu____1034; log = uu____1041 - } + } let rec (read_chunk : unit -> input_chunks) = - fun uu____1053 -> - let s = the_interactive_state in + fun uu____1053 -> + let s = the_interactive_state in let log1 = - let uu____1061 = FStar_Options.debug_any () in + let uu____1061 = FStar_Options.debug_any () in if uu____1061 then let transcript = - let uu____1069 = FStar_ST.op_Bang s.log in + let uu____1069 = FStar_ST.op_Bang s.log in match uu____1069 with | FStar_Pervasives_Native.Some transcript -> transcript - | FStar_Pervasives_Native.None -> - let transcript = FStar_Util.open_file_for_writing "transcript" in + | FStar_Pervasives_Native.None -> + let transcript = FStar_Util.open_file_for_writing "transcript" + in (FStar_ST.op_Colon_Equals s.log (FStar_Pervasives_Native.Some transcript); - transcript) in - fun line -> + transcript) + in + fun line -> (FStar_Util.append_to_file transcript line; FStar_Util.flush_file transcript) - else (fun uu____1127 -> ()) in + else (fun uu____1127 -> ()) in let stdin = - let uu____1130 = FStar_ST.op_Bang s.stdin in + let uu____1130 = FStar_ST.op_Bang s.stdin in match uu____1130 with | FStar_Pervasives_Native.Some i -> i - | FStar_Pervasives_Native.None -> - let i = FStar_Util.open_stdin () in + | FStar_Pervasives_Native.None -> + let i = FStar_Util.open_stdin () in (FStar_ST.op_Colon_Equals s.stdin (FStar_Pervasives_Native.Some i); - i) in + i) + in let line = - let uu____1184 = FStar_Util.read_line stdin in + let uu____1184 = FStar_Util.read_line stdin in match uu____1184 with - | FStar_Pervasives_Native.None -> FStar_All.exit (Prims.parse_int "0") - | FStar_Pervasives_Native.Some l -> l in + | FStar_Pervasives_Native.None -> FStar_All.exit (Prims.parse_int "0") + | FStar_Pervasives_Native.Some l -> l in log1 line; - (let l = FStar_Util.trim_string line in + (let l = FStar_Util.trim_string line in if FStar_Util.starts_with l "#end" then let responses = match FStar_Util.split l " " with | uu____1214::ok::fail1::[] -> (ok, fail1) - | uu____1226 -> ("ok", "fail") in - let str = FStar_Util.string_of_string_builder s.chunk in + | uu____1226 -> ("ok", "fail") in + let str = FStar_Util.string_of_string_builder s.chunk in (FStar_Util.clear_string_builder s.chunk; Code (str, responses)) else if FStar_Util.starts_with l "#pop" @@ -313,17 +333,18 @@ let rec (read_chunk : unit -> input_chunks) = (FStar_Util.clear_string_builder s.chunk; (let lc_lax = let uu____1256 = - FStar_Util.substring_from l (FStar_String.length "#push") in - FStar_Util.trim_string uu____1256 in + FStar_Util.substring_from l (FStar_String.length "#push") + in + FStar_Util.trim_string uu____1256 in let lc = match FStar_Util.split lc_lax " " with | l1::c::"#lax"::[] -> - let uu____1288 = FStar_Util.int_of_string l1 in - let uu____1290 = FStar_Util.int_of_string c in + let uu____1288 = FStar_Util.int_of_string l1 in + let uu____1290 = FStar_Util.int_of_string c in (true, uu____1288, uu____1290) | l1::c::[] -> - let uu____1303 = FStar_Util.int_of_string l1 in - let uu____1305 = FStar_Util.int_of_string c in + let uu____1303 = FStar_Util.int_of_string l1 in + let uu____1305 = FStar_Util.int_of_string c in (false, uu____1303, uu____1305) | uu____1311 -> (FStar_Errors.log_issue FStar_Range.dummyRange @@ -331,7 +352,8 @@ let rec (read_chunk : unit -> input_chunks) = (Prims.op_Hat "Error locations may be wrong, unrecognized string after #push: " lc_lax)); - (false, (Prims.parse_int "1"), (Prims.parse_int "0"))) in + (false, (Prims.parse_int "1"), (Prims.parse_int "0"))) + in Push lc)) else if FStar_Util.starts_with l "#info " @@ -345,11 +367,11 @@ let rec (read_chunk : unit -> input_chunks) = (let uu____1377 = let uu____1397 = let uu____1409 = - let uu____1419 = FStar_Util.int_of_string row in - let uu____1421 = FStar_Util.int_of_string col in - (file, uu____1419, uu____1421) in - FStar_Pervasives_Native.Some uu____1409 in - (symbol, false, uu____1397) in + let uu____1419 = FStar_Util.int_of_string row in + let uu____1421 = FStar_Util.int_of_string col in + (file, uu____1419, uu____1421) in + FStar_Pervasives_Native.Some uu____1409 in + (symbol, false, uu____1397) in Info uu____1377)) | uu____1449 -> (FStar_Errors.log_issue FStar_Range.dummyRange @@ -376,59 +398,68 @@ let rec (read_chunk : unit -> input_chunks) = (FStar_Util.string_builder_append s.chunk line; FStar_Util.string_builder_append s.chunk "\n"; read_chunk ())) + let (shift_chunk : unit -> input_chunks) = - fun uu____1496 -> - let s = the_interactive_state in - let uu____1498 = FStar_ST.op_Bang s.buffer in + fun uu____1496 -> + let s = the_interactive_state in + let uu____1498 = FStar_ST.op_Bang s.buffer in match uu____1498 with | [] -> read_chunk () | chunk::chunks -> (FStar_ST.op_Colon_Equals s.buffer chunks; chunk) + let (fill_buffer : unit -> unit) = - fun uu____1557 -> - let s = the_interactive_state in + fun uu____1557 -> + let s = the_interactive_state in let uu____1559 = - let uu____1562 = FStar_ST.op_Bang s.buffer in - let uu____1588 = let uu____1591 = read_chunk () in [uu____1591] in - FStar_List.append uu____1562 uu____1588 in + let uu____1562 = FStar_ST.op_Bang s.buffer in + let uu____1588 = let uu____1591 = read_chunk () in [uu____1591] in + FStar_List.append uu____1562 uu____1588 in FStar_ST.op_Colon_Equals s.buffer uu____1559 + let (deps_of_our_file : Prims.string -> (Prims.string Prims.list * Prims.string FStar_Pervasives_Native.option * FStar_Parser_Dep.deps)) = - fun filename -> + fun filename -> let uu____1635 = FStar_Dependencies.find_deps_if_needed [filename] - FStar_CheckedFiles.load_parsing_data_from_cache in + FStar_CheckedFiles.load_parsing_data_from_cache + in match uu____1635 with - | (deps, dep_graph1) -> + | (deps,dep_graph1) -> let uu____1665 = FStar_List.partition - (fun x -> - let uu____1682 = FStar_Parser_Dep.lowercase_module_name x in + (fun x -> + let uu____1682 = FStar_Parser_Dep.lowercase_module_name x in let uu____1684 = - FStar_Parser_Dep.lowercase_module_name filename in - uu____1682 <> uu____1684) deps in + FStar_Parser_Dep.lowercase_module_name filename in + uu____1682 <> uu____1684) deps + in (match uu____1665 with - | (deps1, same_name) -> + | (deps1,same_name) -> let maybe_intf = match same_name with | intf::impl::[] -> ((let uu____1728 = - (let uu____1732 = FStar_Parser_Dep.is_interface intf in + (let uu____1732 = FStar_Parser_Dep.is_interface intf + in Prims.op_Negation uu____1732) || (let uu____1735 = - FStar_Parser_Dep.is_implementation impl in - Prims.op_Negation uu____1735) in + FStar_Parser_Dep.is_implementation impl in + Prims.op_Negation uu____1735) + in if uu____1728 then let uu____1738 = let uu____1744 = FStar_Util.format2 "Found %s and %s but not an interface + implementation" - intf impl in + intf impl + in (FStar_Errors.Warning_MissingInterfaceOrImplementation, - uu____1744) in + uu____1744) + in FStar_Errors.log_issue FStar_Range.dummyRange uu____1738 else ()); @@ -438,11 +469,14 @@ let (deps_of_our_file : ((let uu____1761 = let uu____1767 = FStar_Util.format1 "Unexpected: ended up with %s" - (FStar_String.concat " " same_name) in - (FStar_Errors.Warning_UnexpectedFile, uu____1767) in + (FStar_String.concat " " same_name) + in + (FStar_Errors.Warning_UnexpectedFile, uu____1767) in FStar_Errors.log_issue FStar_Range.dummyRange uu____1761); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in (deps1, maybe_intf, dep_graph1)) + type m_timestamps = (Prims.string FStar_Pervasives_Native.option * Prims.string * FStar_Util.time FStar_Pervasives_Native.option * FStar_Util.time) @@ -455,69 +489,75 @@ let rec (tc_deps : m_timestamps -> (stack_t * FStar_TypeChecker_Env.env * m_timestamps)) = - fun m -> - fun stack -> - fun env -> - fun remaining -> - fun ts -> + fun m -> + fun stack -> + fun env -> + fun remaining -> + fun ts -> match remaining with | [] -> (stack, env, ts) | uu____1840 -> - let stack1 = (env, m) :: stack in + let stack1 = (env, m) :: stack in let env1 = - let uu____1856 = FStar_Options.lax () in - push_with_kind env uu____1856 true "typecheck_modul" in - let uu____1860 = tc_one_file remaining env1 in + let uu____1856 = FStar_Options.lax () in + push_with_kind env uu____1856 true "typecheck_modul" in + let uu____1860 = tc_one_file remaining env1 in (match uu____1860 with - | ((intf, impl), env2, remaining1) -> + | ((intf,impl),env2,remaining1) -> let uu____1910 = let intf_t = match intf with | FStar_Pervasives_Native.Some intf1 -> let uu____1925 = FStar_Parser_ParseIt.get_file_last_modification_time - intf1 in + intf1 + in FStar_Pervasives_Native.Some uu____1925 - | FStar_Pervasives_Native.None -> - FStar_Pervasives_Native.None in + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + in let impl_t = FStar_Parser_ParseIt.get_file_last_modification_time - impl in - (intf_t, impl_t) in + impl + in + (intf_t, impl_t) in (match uu____1910 with - | (intf_t, impl_t) -> + | (intf_t,impl_t) -> tc_deps m stack1 env2 remaining1 ((intf, impl, intf_t, impl_t) :: ts))) + let (update_deps : Prims.string -> modul_t -> stack_t -> env_t -> m_timestamps -> (stack_t * env_t * m_timestamps)) = - fun filename -> - fun m -> - fun stk -> - fun env -> - fun ts -> + fun filename -> + fun m -> + fun stk -> + fun env -> + fun ts -> let is_stale intf impl intf_t impl_t = let impl_mt = - FStar_Parser_ParseIt.get_file_last_modification_time impl in + FStar_Parser_ParseIt.get_file_last_modification_time impl in (FStar_Util.is_before impl_t impl_mt) || (match (intf, intf_t) with - | (FStar_Pervasives_Native.Some intf1, - FStar_Pervasives_Native.Some intf_t1) -> + | (FStar_Pervasives_Native.Some + intf1,FStar_Pervasives_Native.Some intf_t1) -> let intf_mt = FStar_Parser_ParseIt.get_file_last_modification_time - intf1 in + intf1 + in FStar_Util.is_before intf_t1 intf_mt - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) -> false - | (uu____2064, uu____2065) -> + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.None ) -> false + | (uu____2064,uu____2065) -> failwith - "Impossible, if the interface is None, the timestamp entry should also be None") in + "Impossible, if the interface is None, the timestamp entry should also be None") + in let rec iterate depnames st env' ts1 good_stack good_ts = let match_dep depnames1 intf impl = match intf with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (match depnames1 with | dep1::depnames' -> if dep1 = impl @@ -530,51 +570,56 @@ let (update_deps : if (depintf = intf1) && (dep1 = impl) then (true, depnames') else (false, depnames1) - | uu____2266 -> (false, depnames1)) in + | uu____2266 -> (false, depnames1)) + in let rec pop_tc_and_stack env1 stack ts2 = match ts2 with | [] -> env1 | uu____2349::ts3 -> (pop env1 ""; (let uu____2397 = - let uu____2412 = FStar_List.hd stack in - let uu____2421 = FStar_List.tl stack in - (uu____2412, uu____2421) in + let uu____2412 = FStar_List.hd stack in + let uu____2421 = FStar_List.tl stack in + (uu____2412, uu____2421) in match uu____2397 with - | ((env2, uu____2443), stack1) -> - pop_tc_and_stack env2 stack1 ts3)) in + | ((env2,uu____2443),stack1) -> + pop_tc_and_stack env2 stack1 ts3)) + in match ts1 with | ts_elt::ts' -> - let uu____2513 = ts_elt in + let uu____2513 = ts_elt in (match uu____2513 with - | (intf, impl, intf_t, impl_t) -> - let uu____2550 = match_dep depnames intf impl in + | (intf,impl,intf_t,impl_t) -> + let uu____2550 = match_dep depnames intf impl in (match uu____2550 with - | (b, depnames') -> + | (b,depnames') -> let uu____2575 = (Prims.op_Negation b) || - (is_stale intf impl intf_t impl_t) in + (is_stale intf impl intf_t impl_t) + in if uu____2575 then let env1 = pop_tc_and_stack env' - (FStar_List.rev_append st []) ts1 in + (FStar_List.rev_append st []) ts1 + in tc_deps m good_stack env1 depnames good_ts else (let uu____2595 = - let uu____2604 = FStar_List.hd st in - let uu____2613 = FStar_List.tl st in - (uu____2604, uu____2613) in + let uu____2604 = FStar_List.hd st in + let uu____2613 = FStar_List.tl st in + (uu____2604, uu____2613) in match uu____2595 with - | (stack_elt, st') -> + | (stack_elt,st') -> iterate depnames' st' env' ts' (stack_elt :: good_stack) (ts_elt :: good_ts)))) - | [] -> tc_deps m good_stack env' depnames good_ts in - let uu____2670 = deps_of_our_file filename in + | [] -> tc_deps m good_stack env' depnames good_ts in + let uu____2670 = deps_of_our_file filename in match uu____2670 with - | (filenames, uu____2690, dep_graph1) -> + | (filenames,uu____2690,dep_graph1) -> iterate filenames (FStar_List.rev_append stk []) env (FStar_List.rev_append ts []) [] [] + let (format_info : FStar_TypeChecker_Env.env -> Prims.string -> @@ -582,104 +627,115 @@ let (format_info : FStar_Range.range -> Prims.string FStar_Pervasives_Native.option -> Prims.string) = - fun env -> - fun name -> - fun typ -> - fun range -> - fun doc1 -> - let uu____2793 = FStar_Range.string_of_range range in + fun env -> + fun name -> + fun typ -> + fun range -> + fun doc1 -> + let uu____2793 = FStar_Range.string_of_range range in let uu____2795 = - FStar_TypeChecker_Normalize.term_to_string env typ in + FStar_TypeChecker_Normalize.term_to_string env typ in let uu____2797 = match doc1 with | FStar_Pervasives_Native.Some docstring -> FStar_Util.format1 "#doc %s" docstring - | FStar_Pervasives_Native.None -> "" in + | FStar_Pervasives_Native.None -> "" in FStar_Util.format4 "(defined at %s) %s: %s%s" uu____2793 name uu____2795 uu____2797 + let rec (go : (Prims.int * Prims.int) -> Prims.string -> stack_t -> modul_t -> env_t -> m_timestamps -> unit) = - fun line_col -> - fun filename -> - fun stack -> - fun curmod -> - fun env -> - fun ts -> - let uu____2852 = shift_chunk () in + fun line_col -> + fun filename -> + fun stack -> + fun curmod -> + fun env -> + fun ts -> + let uu____2852 = shift_chunk () in match uu____2852 with - | Info (symbol, fqn_only, pos_opt) -> + | Info (symbol,fqn_only,pos_opt) -> let info_at_pos_opt = match pos_opt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (file, row, col) -> - FStar_TypeChecker_Err.info_at_pos env file row col in + | FStar_Pervasives_Native.Some (file,row,col) -> + FStar_TypeChecker_Err.info_at_pos env file row col + in let info_opt = match info_at_pos_opt with | FStar_Pervasives_Native.Some uu____2974 -> info_at_pos_opt - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> if symbol = "" then FStar_Pervasives_Native.None else (let lid = let uu____3038 = FStar_List.map FStar_Ident.id_of_text - (FStar_Util.split symbol ".") in - FStar_Ident.lid_of_ids uu____3038 in + (FStar_Util.split symbol ".") + in + FStar_Ident.lid_of_ids uu____3038 in let lid1 = if fqn_only then lid else (let uu____3047 = FStar_Syntax_DsEnv.resolve_to_fully_qualified_name - env.FStar_TypeChecker_Env.dsenv lid in + env.FStar_TypeChecker_Env.dsenv lid + in match uu____3047 with - | FStar_Pervasives_Native.None -> lid - | FStar_Pervasives_Native.Some lid1 -> lid1) in + | FStar_Pervasives_Native.None -> lid + | FStar_Pervasives_Native.Some lid1 -> lid1) + in let uu____3051 = - FStar_TypeChecker_Env.try_lookup_lid env lid1 in + FStar_TypeChecker_Env.try_lookup_lid env lid1 + in FStar_All.pipe_right uu____3051 (FStar_Util.map_option - (fun uu____3108 -> + (fun uu____3108 -> match uu____3108 with - | ((uu____3128, typ), r) -> - ((FStar_Util.Inr lid1), typ, r)))) in + | ((uu____3128,typ),r) -> + ((FStar_Util.Inr lid1), typ, r)))) + in ((match info_opt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Util.print_string "\n#done-nok\n" - | FStar_Pervasives_Native.Some (name_or_lid, typ, rng) -> + | FStar_Pervasives_Native.Some (name_or_lid,typ,rng) -> let uu____3178 = match name_or_lid with | FStar_Util.Inl name -> (name, FStar_Pervasives_Native.None) | FStar_Util.Inr lid -> - let uu____3205 = FStar_Ident.string_of_lid lid in + let uu____3205 = FStar_Ident.string_of_lid lid + in let uu____3207 = let uu____3211 = FStar_Syntax_DsEnv.try_lookup_doc - env.FStar_TypeChecker_Env.dsenv lid in + env.FStar_TypeChecker_Env.dsenv lid + in FStar_All.pipe_right uu____3211 (FStar_Util.map_option - FStar_Pervasives_Native.fst) in - (uu____3205, uu____3207) in + FStar_Pervasives_Native.fst) + in + (uu____3205, uu____3207) + in (match uu____3178 with - | (name, doc1) -> + | (name,doc1) -> let uu____3282 = - format_info env name typ rng doc1 in + format_info env name typ rng doc1 in FStar_Util.print1 "%s\n#done-ok\n" uu____3282)); go line_col filename stack curmod env ts) | Completions search_term -> let rec measure_anchored_match search_term1 candidate = match (search_term1, candidate) with - | ([], uu____3331) -> + | ([],uu____3331) -> FStar_Pervasives_Native.Some ([], (Prims.parse_int "0")) - | (uu____3351, []) -> FStar_Pervasives_Native.None - | (hs::ts1, hc::tc1) -> - let hc_text = FStar_Ident.text_of_id hc in + | (uu____3351,[]) -> FStar_Pervasives_Native.None + | (hs::ts1,hc::tc1) -> + let hc_text = FStar_Ident.text_of_id hc in if FStar_Util.starts_with hc_text hs then (match ts1 with @@ -688,168 +744,193 @@ let rec (go : (candidate, (FStar_String.length hs)) | uu____3415 -> let uu____3419 = - measure_anchored_match ts1 tc1 in + measure_anchored_match ts1 tc1 in FStar_All.pipe_right uu____3419 (FStar_Util.map_option - (fun uu____3464 -> + (fun uu____3464 -> match uu____3464 with - | (matched, len) -> + | (matched,len) -> ((hc :: matched), (((FStar_String.length hc_text) + (Prims.parse_int "1")) + len))))) - else FStar_Pervasives_Native.None in + else FStar_Pervasives_Native.None + in let rec locate_match needle candidate = - let uu____3534 = measure_anchored_match needle candidate in + let uu____3534 = measure_anchored_match needle candidate + in match uu____3534 with - | FStar_Pervasives_Native.Some (matched, n1) -> + | FStar_Pervasives_Native.Some (matched,n1) -> FStar_Pervasives_Native.Some ([], matched, n1) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (match candidate with | [] -> FStar_Pervasives_Native.None | hc::tc1 -> - let uu____3623 = locate_match needle tc1 in + let uu____3623 = locate_match needle tc1 in FStar_All.pipe_right uu____3623 (FStar_Util.map_option - (fun uu____3689 -> + (fun uu____3689 -> match uu____3689 with - | (prefix1, matched, len) -> - ((hc :: prefix1), matched, len)))) in + | (prefix1,matched,len) -> + ((hc :: prefix1), matched, len)))) + in let str_of_ids ids = let uu____3741 = - FStar_List.map FStar_Ident.text_of_id ids in - FStar_Util.concat_l "." uu____3741 in + FStar_List.map FStar_Ident.text_of_id ids in + FStar_Util.concat_l "." uu____3741 in let match_lident_against needle lident = locate_match needle (FStar_List.append lident.FStar_Ident.ns - [lident.FStar_Ident.ident]) in + [lident.FStar_Ident.ident]) + in let shorten_namespace uu____3805 = match uu____3805 with - | (prefix1, matched, match_len) -> + | (prefix1,matched,match_len) -> let naked_match = match matched with | uu____3845::[] -> true - | uu____3847 -> false in + | uu____3847 -> false in let uu____3851 = FStar_Syntax_DsEnv.shorten_module_path env.FStar_TypeChecker_Env.dsenv prefix1 - naked_match in + naked_match + in (match uu____3851 with - | (stripped_ns, shortened) -> - let uu____3882 = str_of_ids shortened in - let uu____3884 = str_of_ids matched in - let uu____3886 = str_of_ids stripped_ns in - (uu____3882, uu____3884, uu____3886, match_len)) in + | (stripped_ns,shortened) -> + let uu____3882 = str_of_ids shortened in + let uu____3884 = str_of_ids matched in + let uu____3886 = str_of_ids stripped_ns in + (uu____3882, uu____3884, uu____3886, match_len)) + in let prepare_candidate uu____3918 = match uu____3918 with - | (prefix1, matched, stripped_ns, match_len) -> + | (prefix1,matched,stripped_ns,match_len) -> if prefix1 = "" then (matched, stripped_ns, match_len) else ((Prims.op_Hat prefix1 (Prims.op_Hat "." matched)), stripped_ns, (((FStar_String.length prefix1) + match_len) + - (Prims.parse_int "1"))) in - let needle = FStar_Util.split search_term "." in - let all_lidents_in_env = FStar_TypeChecker_Env.lidents env in + (Prims.parse_int "1"))) + in + let needle = FStar_Util.split search_term "." in + let all_lidents_in_env = FStar_TypeChecker_Env.lidents env + in let matches = let case_a_find_transitive_includes orig_ns m id1 = let exported_names = FStar_Syntax_DsEnv.transitive_exported_ids - env.FStar_TypeChecker_Env.dsenv m in + env.FStar_TypeChecker_Env.dsenv m + in let matched_length = FStar_List.fold_left - (fun out -> - fun s -> + (fun out -> + fun s -> ((FStar_String.length s) + out) + (Prims.parse_int "1")) - (FStar_String.length id1) orig_ns in + (FStar_String.length id1) orig_ns + in FStar_All.pipe_right exported_names (FStar_List.filter_map - (fun n1 -> + (fun n1 -> if FStar_Util.starts_with n1 id1 then let lid = - let uu____4107 = FStar_Ident.ids_of_lid m in - let uu____4110 = FStar_Ident.id_of_text n1 in + let uu____4107 = FStar_Ident.ids_of_lid m + in + let uu____4110 = FStar_Ident.id_of_text n1 + in FStar_Ident.lid_of_ns_and_id uu____4107 - uu____4110 in + uu____4110 + in let uu____4111 = FStar_Syntax_DsEnv.resolve_to_fully_qualified_name - env.FStar_TypeChecker_Env.dsenv lid in + env.FStar_TypeChecker_Env.dsenv lid + in FStar_Option.map - (fun fqn -> + (fun fqn -> let uu____4128 = let uu____4131 = FStar_List.map - FStar_Ident.id_of_text orig_ns in + FStar_Ident.id_of_text orig_ns + in FStar_List.append uu____4131 - [fqn.FStar_Ident.ident] in + [fqn.FStar_Ident.ident] + in ([], uu____4128, matched_length)) uu____4111 - else FStar_Pervasives_Native.None)) in + else FStar_Pervasives_Native.None)) + in let case_b_find_matches_in_env uu____4171 = let matches = FStar_List.filter_map (match_lident_against needle) - all_lidents_in_env in + all_lidents_in_env + in FStar_All.pipe_right matches (FStar_List.filter - (fun uu____4252 -> + (fun uu____4252 -> match uu____4252 with - | (ns, id1, uu____4267) -> + | (ns,id1,uu____4267) -> let uu____4278 = let uu____4281 = - FStar_Ident.lid_of_ids id1 in + FStar_Ident.lid_of_ids id1 in FStar_Syntax_DsEnv.resolve_to_fully_qualified_name env.FStar_TypeChecker_Env.dsenv - uu____4281 in + uu____4281 + in (match uu____4278 with - | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.None -> false | FStar_Pervasives_Native.Some l -> let uu____4285 = FStar_Ident.lid_of_ids - (FStar_List.append ns id1) in - FStar_Ident.lid_equals l uu____4285))) in - let uu____4286 = FStar_Util.prefix needle in + (FStar_List.append ns id1) + in + FStar_Ident.lid_equals l uu____4285))) + in + let uu____4286 = FStar_Util.prefix needle in match uu____4286 with - | (ns, id1) -> + | (ns,id1) -> let matched_ids = match ns with | [] -> case_b_find_matches_in_env () | uu____4345 -> let l = FStar_Ident.lid_of_path ns - FStar_Range.dummyRange in + FStar_Range.dummyRange + in let uu____4350 = FStar_Syntax_DsEnv.resolve_module_name - env.FStar_TypeChecker_Env.dsenv l true in + env.FStar_TypeChecker_Env.dsenv l true + in (match uu____4350 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> case_b_find_matches_in_env () | FStar_Pervasives_Native.Some m -> - case_a_find_transitive_includes ns m id1) in + case_a_find_transitive_includes ns m id1) + in FStar_All.pipe_right matched_ids (FStar_List.map - (fun x -> - let uu____4426 = shorten_namespace x in - prepare_candidate uu____4426)) in + (fun x -> + let uu____4426 = shorten_namespace x in + prepare_candidate uu____4426)) + in ((let uu____4440 = FStar_Util.sort_with - (fun uu____4469 -> - fun uu____4470 -> + (fun uu____4469 -> + fun uu____4470 -> match (uu____4469, uu____4470) with - | ((cd1, ns1, uu____4510), - (cd2, ns2, uu____4513)) -> + | ((cd1,ns1,uu____4510),(cd2,ns2,uu____4513)) -> (match FStar_String.compare cd1 cd2 with | _4545 when _4545 = (Prims.parse_int "0") -> FStar_String.compare ns1 ns2 - | n1 -> n1)) matches in + | n1 -> n1)) matches + in FStar_List.iter - (fun uu____4562 -> + (fun uu____4562 -> match uu____4562 with - | (candidate, ns, match_len) -> + | (candidate,ns,match_len) -> let uu____4581 = - FStar_Util.string_of_int match_len in + FStar_Util.string_of_int match_len in FStar_Util.print3 "%s %s %s \n" uu____4581 ns candidate) uu____4440); FStar_Util.print_string "#done-ok\n"; @@ -863,30 +944,31 @@ let rec (go : (FStar_Errors.Error_IDETooManyPops, "too many pops"); FStar_All.exit (Prims.parse_int "1")) - | hd1::tl1 -> (hd1, tl1) in + | hd1::tl1 -> (hd1, tl1) in match uu____4589 with - | ((env1, curmod1), stack1) -> + | ((env1,curmod1),stack1) -> go line_col filename stack1 curmod1 env1 ts)) - | Push (lax1, l, c) -> + | Push (lax1,l,c) -> let uu____4658 = if (FStar_List.length stack) = (FStar_List.length ts) then let uu____4700 = - update_deps filename curmod stack env ts in + update_deps filename curmod stack env ts in (true, uu____4700) - else (false, (stack, env, ts)) in + else (false, (stack, env, ts)) in (match uu____4658 with - | (restore_cmd_line_options1, (stack1, env1, ts1)) -> - let stack2 = (env1, curmod) :: stack1 in + | (restore_cmd_line_options1,(stack1,env1,ts1)) -> + let stack2 = (env1, curmod) :: stack1 in let env2 = push_with_kind env1 lax1 restore_cmd_line_options1 - "#push" in + "#push" + in go (l, c) filename stack2 curmod env2 ts1) - | Code (text, (ok, fail1)) -> + | Code (text,(ok,fail1)) -> let fail2 curmod1 tcenv = report_fail (); FStar_Util.print1 "%s\n" fail1; - go line_col filename stack curmod1 tcenv ts in + go line_col filename stack curmod1 tcenv ts in let frag = { FStar_Parser_ParseIt.frag_fname = ""; @@ -895,61 +977,67 @@ let rec (go : (FStar_Pervasives_Native.fst line_col); FStar_Parser_ParseIt.frag_col = (FStar_Pervasives_Native.snd line_col) - } in - let res = check_frag env curmod frag in + } in + let res = check_frag env curmod frag in (match res with - | FStar_Pervasives_Native.Some (curmod1, env1, n_errs) -> + | FStar_Pervasives_Native.Some (curmod1,env1,n_errs) -> if n_errs = (Prims.parse_int "0") then (FStar_Util.print1 "\n%s\n" ok; go line_col filename stack curmod1 env1 ts) else fail2 curmod1 env1 | uu____4824 -> fail2 curmod env) + let (interactive_mode : Prims.string -> unit) = - fun filename -> + fun filename -> (let uu____4845 = - let uu____4847 = FStar_Options.codegen () in - FStar_Option.isSome uu____4847 in + let uu____4847 = FStar_Options.codegen () in + FStar_Option.isSome uu____4847 in if uu____4845 then FStar_Errors.log_issue FStar_Range.dummyRange (FStar_Errors.Warning_IDEIgnoreCodeGen, "code-generation is not supported in interactive mode, ignoring the codegen flag") else ()); - (let uu____4855 = deps_of_our_file filename in + (let uu____4855 = deps_of_our_file filename in match uu____4855 with - | (filenames, maybe_intf, dep_graph1) -> - let env = FStar_Universal.init_env dep_graph1 in + | (filenames,maybe_intf,dep_graph1) -> + let env = FStar_Universal.init_env dep_graph1 in let uu____4884 = - tc_deps FStar_Pervasives_Native.None [] env filenames [] in + tc_deps FStar_Pervasives_Native.None [] env filenames [] in (match uu____4884 with - | (stack, env1, ts) -> + | (stack,env1,ts) -> let initial_range = let uu____4913 = FStar_Range.mk_pos (Prims.parse_int "1") - (Prims.parse_int "0") in + (Prims.parse_int "0") + in let uu____4916 = FStar_Range.mk_pos (Prims.parse_int "1") - (Prims.parse_int "0") in - FStar_Range.mk_range filename uu____4913 uu____4916 in - let env2 = FStar_TypeChecker_Env.set_range env1 initial_range in + (Prims.parse_int "0") + in + FStar_Range.mk_range filename uu____4913 uu____4916 in + let env2 = FStar_TypeChecker_Env.set_range env1 initial_range + in let env3 = match maybe_intf with | FStar_Pervasives_Native.Some intf -> FStar_Universal.load_interface_decls env2 intf - | FStar_Pervasives_Native.None -> env2 in + | FStar_Pervasives_Native.None -> env2 in let uu____4925 = (FStar_Options.record_hints ()) || - (FStar_Options.use_hints ()) in + (FStar_Options.use_hints ()) + in if uu____4925 then let uu____4928 = - let uu____4930 = FStar_Options.file_list () in - FStar_List.hd uu____4930 in + let uu____4930 = FStar_Options.file_list () in + FStar_List.hd uu____4930 in FStar_SMTEncoding_Solver.with_hints_db uu____4928 - (fun uu____4936 -> + (fun uu____4936 -> go ((Prims.parse_int "1"), (Prims.parse_int "0")) filename stack FStar_Pervasives_Native.None env3 ts) else go ((Prims.parse_int "1"), (Prims.parse_int "0")) filename - stack FStar_Pervasives_Native.None env3 ts)) \ No newline at end of file + stack FStar_Pervasives_Native.None env3 ts)) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Interactive_Lsp.ml b/src/ocaml-output/FStar_Interactive_Lsp.ml index d6b055ddd84..da0e76dc528 100644 --- a/src/ocaml-output/FStar_Interactive_Lsp.ml +++ b/src/ocaml-output/FStar_Interactive_Lsp.ml @@ -2,44 +2,49 @@ open Prims let (unpack_lsp_query : (Prims.string * FStar_Util.json) Prims.list -> FStar_JsonHelper.lsp_query) = - fun r -> + fun r -> let qid = - let uu____23 = FStar_JsonHelper.try_assoc "id" r in + let uu____23 = FStar_JsonHelper.try_assoc "id" r in FStar_All.pipe_right uu____23 - (FStar_Util.map_option FStar_JsonHelper.js_str_int) in + (FStar_Util.map_option FStar_JsonHelper.js_str_int) + in try - (fun uu___3_36 -> + (fun uu___3_36 -> match () with | () -> let method_37 = - let uu____39 = FStar_JsonHelper.assoc "method" r in - FStar_All.pipe_right uu____39 FStar_JsonHelper.js_str in + let uu____39 = FStar_JsonHelper.assoc "method" r in + FStar_All.pipe_right uu____39 FStar_JsonHelper.js_str in let uu____42 = match method_37 with | "initialize" -> let uu____44 = let uu____51 = - let uu____53 = FStar_JsonHelper.arg "processId" r in - FStar_All.pipe_right uu____53 FStar_JsonHelper.js_int in + let uu____53 = FStar_JsonHelper.arg "processId" r in + FStar_All.pipe_right uu____53 FStar_JsonHelper.js_int + in let uu____56 = - let uu____58 = FStar_JsonHelper.arg "rootUri" r in - FStar_All.pipe_right uu____58 FStar_JsonHelper.js_str in - (uu____51, uu____56) in + let uu____58 = FStar_JsonHelper.arg "rootUri" r in + FStar_All.pipe_right uu____58 FStar_JsonHelper.js_str + in + (uu____51, uu____56) in FStar_JsonHelper.Initialize uu____44 | "initialized" -> FStar_JsonHelper.Initialized | "shutdown" -> FStar_JsonHelper.Shutdown | "exit" -> FStar_JsonHelper.Exit | "$/cancelRequest" -> let uu____67 = - let uu____69 = FStar_JsonHelper.arg "id" r in + let uu____69 = FStar_JsonHelper.arg "id" r in FStar_All.pipe_right uu____69 - FStar_JsonHelper.js_str_int in + FStar_JsonHelper.js_str_int + in FStar_JsonHelper.Cancel uu____67 | "workspace/didChangeWorkspaceFolders" -> let uu____73 = - let uu____74 = FStar_JsonHelper.arg "event" r in + let uu____74 = FStar_JsonHelper.arg "event" r in FStar_All.pipe_right uu____74 - FStar_JsonHelper.js_wsch_event in + FStar_JsonHelper.js_wsch_event + in FStar_JsonHelper.FolderChange uu____73 | "workspace/didChangeConfiguration" -> FStar_JsonHelper.ChangeConfig @@ -47,78 +52,84 @@ let (unpack_lsp_query : FStar_JsonHelper.ChangeWatch | "workspace/symbol" -> let uu____79 = - let uu____81 = FStar_JsonHelper.arg "query" r in - FStar_All.pipe_right uu____81 FStar_JsonHelper.js_str in + let uu____81 = FStar_JsonHelper.arg "query" r in + FStar_All.pipe_right uu____81 FStar_JsonHelper.js_str + in FStar_JsonHelper.Symbol uu____79 | "workspace/executeCommand" -> let uu____85 = - let uu____87 = FStar_JsonHelper.arg "command" r in - FStar_All.pipe_right uu____87 FStar_JsonHelper.js_str in + let uu____87 = FStar_JsonHelper.arg "command" r in + FStar_All.pipe_right uu____87 FStar_JsonHelper.js_str + in FStar_JsonHelper.ExecCommand uu____85 | "textDocument/didOpen" -> let uu____91 = - let uu____92 = FStar_JsonHelper.arg "textDocument" r in + let uu____92 = FStar_JsonHelper.arg "textDocument" r in FStar_All.pipe_right uu____92 - FStar_JsonHelper.js_txdoc_item in + FStar_JsonHelper.js_txdoc_item + in FStar_JsonHelper.DidOpen uu____91 | "textDocument/didChange" -> let uu____95 = - let uu____102 = FStar_JsonHelper.js_txdoc_id r in + let uu____102 = FStar_JsonHelper.js_txdoc_id r in let uu____104 = let uu____106 = - FStar_JsonHelper.arg "contentChanges" r in + FStar_JsonHelper.arg "contentChanges" r in FStar_All.pipe_right uu____106 - FStar_JsonHelper.js_contentch in - (uu____102, uu____104) in + FStar_JsonHelper.js_contentch + in + (uu____102, uu____104) in FStar_JsonHelper.DidChange uu____95 | "textDocument/willSave" -> - let uu____112 = FStar_JsonHelper.js_txdoc_id r in + let uu____112 = FStar_JsonHelper.js_txdoc_id r in FStar_JsonHelper.WillSave uu____112 | "textDocument/willSaveWaitUntil" -> - let uu____115 = FStar_JsonHelper.js_txdoc_id r in + let uu____115 = FStar_JsonHelper.js_txdoc_id r in FStar_JsonHelper.WillSaveWait uu____115 | "textDocument/didSave" -> let uu____118 = - let uu____125 = FStar_JsonHelper.js_txdoc_id r in + let uu____125 = FStar_JsonHelper.js_txdoc_id r in let uu____127 = - let uu____129 = FStar_JsonHelper.arg "text" r in - FStar_All.pipe_right uu____129 FStar_JsonHelper.js_str in - (uu____125, uu____127) in + let uu____129 = FStar_JsonHelper.arg "text" r in + FStar_All.pipe_right uu____129 FStar_JsonHelper.js_str + in + (uu____125, uu____127) in FStar_JsonHelper.DidSave uu____118 | "textDocument/didClose" -> - let uu____135 = FStar_JsonHelper.js_txdoc_id r in + let uu____135 = FStar_JsonHelper.js_txdoc_id r in FStar_JsonHelper.DidClose uu____135 | "textDocument/completion" -> let uu____138 = - let uu____143 = FStar_JsonHelper.js_txdoc_pos r in + let uu____143 = FStar_JsonHelper.js_txdoc_pos r in let uu____144 = - let uu____145 = FStar_JsonHelper.arg "context" r in + let uu____145 = FStar_JsonHelper.arg "context" r in FStar_All.pipe_right uu____145 - FStar_JsonHelper.js_compl_context in - (uu____143, uu____144) in + FStar_JsonHelper.js_compl_context + in + (uu____143, uu____144) in FStar_JsonHelper.Completion uu____138 | "completionItem/resolve" -> FStar_JsonHelper.Resolve | "textDocument/hover" -> - let uu____149 = FStar_JsonHelper.js_txdoc_pos r in + let uu____149 = FStar_JsonHelper.js_txdoc_pos r in FStar_JsonHelper.Hover uu____149 | "textDocument/signatureHelp" -> - let uu____151 = FStar_JsonHelper.js_txdoc_pos r in + let uu____151 = FStar_JsonHelper.js_txdoc_pos r in FStar_JsonHelper.SignatureHelp uu____151 | "textDocument/declaration" -> - let uu____153 = FStar_JsonHelper.js_txdoc_pos r in + let uu____153 = FStar_JsonHelper.js_txdoc_pos r in FStar_JsonHelper.Declaration uu____153 | "textDocument/definition" -> - let uu____155 = FStar_JsonHelper.js_txdoc_pos r in + let uu____155 = FStar_JsonHelper.js_txdoc_pos r in FStar_JsonHelper.Definition uu____155 | "textDocument/typeDefinition" -> - let uu____157 = FStar_JsonHelper.js_txdoc_pos r in + let uu____157 = FStar_JsonHelper.js_txdoc_pos r in FStar_JsonHelper.TypeDefinition uu____157 | "textDocument/implementation" -> - let uu____159 = FStar_JsonHelper.js_txdoc_pos r in + let uu____159 = FStar_JsonHelper.js_txdoc_pos r in FStar_JsonHelper.Implementation uu____159 | "textDocument/references" -> FStar_JsonHelper.References | "textDocument/documentHighlight" -> - let uu____162 = FStar_JsonHelper.js_txdoc_pos r in + let uu____162 = FStar_JsonHelper.js_txdoc_pos r in FStar_JsonHelper.DocumentHighlight uu____162 | "textDocument/documentSymbol" -> FStar_JsonHelper.DocumentSymbol @@ -139,12 +150,14 @@ let (unpack_lsp_query : FStar_JsonHelper.TypeFormatting | "textDocument/rename" -> FStar_JsonHelper.Rename | "textDocument/prepareRename" -> - let uu____176 = FStar_JsonHelper.js_txdoc_pos r in + let uu____176 = FStar_JsonHelper.js_txdoc_pos r in FStar_JsonHelper.PrepareRename uu____176 | "textDocument/foldingRange" -> FStar_JsonHelper.FoldingRange | m -> - let uu____180 = FStar_Util.format1 "Unknown method '%s'" m in - FStar_JsonHelper.BadProtocolMsg uu____180 in + let uu____180 = FStar_Util.format1 "Unknown method '%s'" m + in + FStar_JsonHelper.BadProtocolMsg uu____180 + in { FStar_JsonHelper.query_id = qid; FStar_JsonHelper.q = uu____42 }) () with @@ -153,43 +166,46 @@ let (unpack_lsp_query : FStar_JsonHelper.query_id = qid; FStar_JsonHelper.q = (FStar_JsonHelper.BadProtocolMsg msg) } - | FStar_JsonHelper.UnexpectedJsonType (expected, got) -> + | FStar_JsonHelper.UnexpectedJsonType (expected,got) -> FStar_JsonHelper.wrap_jsfail qid expected got + let (deserialize_lsp_query : FStar_Util.json -> FStar_JsonHelper.lsp_query) = - fun js_query -> + fun js_query -> try - (fun uu___57_200 -> + (fun uu___57_200 -> match () with | () -> let uu____201 = - FStar_All.pipe_right js_query FStar_JsonHelper.js_assoc in + FStar_All.pipe_right js_query FStar_JsonHelper.js_assoc in unpack_lsp_query uu____201) () with - | FStar_JsonHelper.UnexpectedJsonType (expected, got) -> + | FStar_JsonHelper.UnexpectedJsonType (expected,got) -> FStar_JsonHelper.wrap_jsfail FStar_Pervasives_Native.None expected got + let (parse_lsp_query : Prims.string -> FStar_JsonHelper.lsp_query) = - fun query_str -> - let uu____234 = FStar_Util.json_of_string query_str in + fun query_str -> + let uu____234 = FStar_Util.json_of_string query_str in match uu____234 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> { FStar_JsonHelper.query_id = FStar_Pervasives_Native.None; FStar_JsonHelper.q = (FStar_JsonHelper.BadProtocolMsg "Json parsing failed") } | FStar_Pervasives_Native.Some request -> deserialize_lsp_query request + let (repl_state_init : Prims.string -> FStar_JsonHelper.repl_state) = - fun fname -> + fun fname -> let intial_range = let uu____249 = - FStar_Range.mk_pos (Prims.parse_int "1") (Prims.parse_int "0") in + FStar_Range.mk_pos (Prims.parse_int "1") (Prims.parse_int "0") in let uu____252 = - FStar_Range.mk_pos (Prims.parse_int "1") (Prims.parse_int "0") in - FStar_Range.mk_range fname uu____249 uu____252 in - let env = FStar_Universal.init_env FStar_Parser_Dep.empty_deps in - let env1 = FStar_TypeChecker_Env.set_range env intial_range in - let uu____257 = FStar_Util.open_stdin () in + FStar_Range.mk_pos (Prims.parse_int "1") (Prims.parse_int "0") in + FStar_Range.mk_range fname uu____249 uu____252 in + let env = FStar_Universal.init_env FStar_Parser_Dep.empty_deps in + let env1 = FStar_TypeChecker_Env.set_range env intial_range in + let uu____257 = FStar_Util.open_stdin () in { FStar_JsonHelper.repl_line = (Prims.parse_int "1"); FStar_JsonHelper.repl_column = (Prims.parse_int "0"); @@ -200,75 +216,82 @@ let (repl_state_init : Prims.string -> FStar_JsonHelper.repl_state) = FStar_JsonHelper.repl_stdin = uu____257; FStar_JsonHelper.repl_names = FStar_Interactive_CompletionTable.empty } + type optresponse = FStar_JsonHelper.assoct FStar_Pervasives_Native.option type either_gst_exit = - (FStar_JsonHelper.grepl_state, Prims.int) FStar_Util.either + (FStar_JsonHelper.grepl_state,Prims.int) FStar_Util.either let (invoke_full_lax : FStar_JsonHelper.grepl_state -> Prims.string -> Prims.string -> Prims.bool -> (optresponse * either_gst_exit)) = - fun gst -> - fun fname -> - fun text -> - fun force -> + fun gst -> + fun fname -> + fun text -> + fun force -> let aux uu____326 = FStar_Parser_ParseIt.add_vfs_entry fname text; (let uu____328 = - let uu____335 = repl_state_init fname in - FStar_PushHelper.full_lax text uu____335 in + let uu____335 = repl_state_init fname in + FStar_PushHelper.full_lax text uu____335 in match uu____328 with - | (diag1, st') -> + | (diag1,st') -> let repls = FStar_Util.psmap_add gst.FStar_JsonHelper.grepl_repls - fname st' in + fname st' + in let diag2 = if FStar_Util.is_some diag1 then diag1 else - (let uu____364 = FStar_JsonHelper.js_diag_clear fname in - FStar_Pervasives_Native.Some uu____364) in + (let uu____364 = FStar_JsonHelper.js_diag_clear fname + in + FStar_Pervasives_Native.Some uu____364) + in (diag2, (FStar_Util.Inl - (let uu___88_374 = gst in + (let uu___88_374 = gst in { FStar_JsonHelper.grepl_repls = repls; FStar_JsonHelper.grepl_stdin = (uu___88_374.FStar_JsonHelper.grepl_stdin) - })))) in + })))) + in let uu____375 = - FStar_Util.psmap_try_find gst.FStar_JsonHelper.grepl_repls fname in + FStar_Util.psmap_try_find gst.FStar_JsonHelper.grepl_repls fname + in match uu____375 with | FStar_Pervasives_Native.Some uu____382 -> if force then aux () else (FStar_Pervasives_Native.None, (FStar_Util.Inl gst)) - | FStar_Pervasives_Native.None -> aux () + | FStar_Pervasives_Native.None -> aux () + let (run_query : FStar_JsonHelper.grepl_state -> FStar_JsonHelper.lquery -> (optresponse * either_gst_exit)) = - fun gst -> - fun q -> + fun gst -> + fun q -> match q with - | FStar_JsonHelper.Initialize (pid, rootUri) -> + | FStar_JsonHelper.Initialize (pid,rootUri) -> let uu____416 = - FStar_JsonHelper.resultResponse FStar_JsonHelper.js_servcap in + FStar_JsonHelper.resultResponse FStar_JsonHelper.js_servcap in (uu____416, (FStar_Util.Inl gst)) - | FStar_JsonHelper.Initialized -> + | FStar_JsonHelper.Initialized -> (FStar_Pervasives_Native.None, (FStar_Util.Inl gst)) - | FStar_JsonHelper.Shutdown -> + | FStar_JsonHelper.Shutdown -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.Exit -> + | FStar_JsonHelper.Exit -> (FStar_Pervasives_Native.None, (FStar_Util.Inr (Prims.parse_int "0"))) | FStar_JsonHelper.Cancel id1 -> (FStar_Pervasives_Native.None, (FStar_Util.Inl gst)) | FStar_JsonHelper.FolderChange evt -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.ChangeConfig -> + | FStar_JsonHelper.ChangeConfig -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.ChangeWatch -> + | FStar_JsonHelper.ChangeWatch -> (FStar_Pervasives_Native.None, (FStar_Util.Inl gst)) | FStar_JsonHelper.Symbol sym -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) @@ -279,39 +302,42 @@ let (run_query : FStar_JsonHelper.version = uu____437; FStar_JsonHelper.text = t;_} -> invoke_full_lax gst f t false - | FStar_JsonHelper.DidChange (txid, content) -> + | FStar_JsonHelper.DidChange (txid,content) -> (FStar_Parser_ParseIt.add_vfs_entry txid content; (FStar_Pervasives_Native.None, (FStar_Util.Inl gst))) | FStar_JsonHelper.WillSave txid -> (FStar_Pervasives_Native.None, (FStar_Util.Inl gst)) | FStar_JsonHelper.WillSaveWait txid -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.DidSave (f, t) -> invoke_full_lax gst f t true + | FStar_JsonHelper.DidSave (f,t) -> invoke_full_lax gst f t true | FStar_JsonHelper.DidClose txid -> (FStar_Pervasives_Native.None, (FStar_Util.Inl gst)) - | FStar_JsonHelper.Completion (txpos, ctx) -> + | FStar_JsonHelper.Completion (txpos,ctx) -> let uu____470 = FStar_Util.psmap_try_find gst.FStar_JsonHelper.grepl_repls - txpos.FStar_JsonHelper.path in + txpos.FStar_JsonHelper.path + in (match uu____470 with | FStar_Pervasives_Native.Some st -> - let uu____478 = FStar_QueryHelper.complookup st txpos in + let uu____478 = FStar_QueryHelper.complookup st txpos in (uu____478, (FStar_Util.Inl gst)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst))) - | FStar_JsonHelper.Resolve -> + | FStar_JsonHelper.Resolve -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) | FStar_JsonHelper.Hover txpos -> let uu____483 = FStar_Util.psmap_try_find gst.FStar_JsonHelper.grepl_repls - txpos.FStar_JsonHelper.path in + txpos.FStar_JsonHelper.path + in (match uu____483 with | FStar_Pervasives_Native.Some st -> let uu____491 = FStar_QueryHelper.hoverlookup st.FStar_JsonHelper.repl_env - txpos in + txpos + in (uu____491, (FStar_Util.Inl gst)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst))) | FStar_JsonHelper.SignatureHelp txpos -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) @@ -320,70 +346,74 @@ let (run_query : | FStar_JsonHelper.Definition txpos -> let uu____499 = FStar_Util.psmap_try_find gst.FStar_JsonHelper.grepl_repls - txpos.FStar_JsonHelper.path in + txpos.FStar_JsonHelper.path + in (match uu____499 with | FStar_Pervasives_Native.Some st -> let uu____507 = FStar_QueryHelper.deflookup st.FStar_JsonHelper.repl_env - txpos in + txpos + in (uu____507, (FStar_Util.Inl gst)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst))) | FStar_JsonHelper.TypeDefinition txpos -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) | FStar_JsonHelper.Implementation txpos -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.References -> + | FStar_JsonHelper.References -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) | FStar_JsonHelper.DocumentHighlight txpos -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.DocumentSymbol -> + | FStar_JsonHelper.DocumentSymbol -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.CodeAction -> + | FStar_JsonHelper.CodeAction -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.CodeLens -> + | FStar_JsonHelper.CodeLens -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.CodeLensResolve -> + | FStar_JsonHelper.CodeLensResolve -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.DocumentLink -> + | FStar_JsonHelper.DocumentLink -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.DocumentLinkResolve -> + | FStar_JsonHelper.DocumentLinkResolve -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.DocumentColor -> + | FStar_JsonHelper.DocumentColor -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.ColorPresentation -> + | FStar_JsonHelper.ColorPresentation -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.Formatting -> + | FStar_JsonHelper.Formatting -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.RangeFormatting -> + | FStar_JsonHelper.RangeFormatting -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.TypeFormatting -> + | FStar_JsonHelper.TypeFormatting -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.Rename -> + | FStar_JsonHelper.Rename -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) | FStar_JsonHelper.PrepareRename txpos -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) - | FStar_JsonHelper.FoldingRange -> + | FStar_JsonHelper.FoldingRange -> (FStar_JsonHelper.nullResponse, (FStar_Util.Inl gst)) | FStar_JsonHelper.BadProtocolMsg msg -> let uu____534 = let uu____535 = - FStar_JsonHelper.js_resperr FStar_JsonHelper.MethodNotFound msg in - FStar_JsonHelper.errorResponse uu____535 in + FStar_JsonHelper.js_resperr FStar_JsonHelper.MethodNotFound msg + in + FStar_JsonHelper.errorResponse uu____535 in (uu____534, (FStar_Util.Inl gst)) + let rec (parse_header_len : FStar_Util.stream_reader -> Prims.int -> Prims.int) = - fun stream -> - fun len -> - let uu____552 = FStar_Util.read_line stream in + fun stream -> + fun len -> + let uu____552 = FStar_Util.read_line stream in match uu____552 with | FStar_Pervasives_Native.Some s -> if FStar_Util.starts_with s "Content-Length: " then let uu____563 = let uu____565 = - FStar_Util.substring_from s (Prims.parse_int "16") in - FStar_Util.int_of_string uu____565 in + FStar_Util.substring_from s (Prims.parse_int "16") in + FStar_Util.int_of_string uu____565 in parse_header_len stream uu____563 else if FStar_Util.starts_with s "Content-Type: " @@ -392,59 +422,65 @@ let rec (parse_header_len : if s = "" then len else FStar_Exn.raise FStar_JsonHelper.MalformedHeader - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Exn.raise FStar_JsonHelper.InputExhausted + let rec (read_lsp_query : FStar_Util.stream_reader -> FStar_JsonHelper.lsp_query) = - fun stream -> + fun stream -> try - (fun uu___190_594 -> + (fun uu___190_594 -> match () with | () -> - let n1 = parse_header_len stream (Prims.parse_int "0") in - let uu____598 = FStar_Util.nread stream n1 in + let n1 = parse_header_len stream (Prims.parse_int "0") in + let uu____598 = FStar_Util.nread stream n1 in (match uu____598 with | FStar_Pervasives_Native.Some s -> parse_lsp_query s - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____606 = - let uu____608 = FStar_Util.string_of_int n1 in - FStar_Util.format1 "Could not read %s bytes" uu____608 in + let uu____608 = FStar_Util.string_of_int n1 in + FStar_Util.format1 "Could not read %s bytes" uu____608 + in FStar_JsonHelper.wrap_content_szerr uu____606)) () with - | FStar_JsonHelper.MalformedHeader -> + | FStar_JsonHelper.MalformedHeader -> (FStar_Util.print_error "[E] Malformed Content Header\n"; read_lsp_query stream) - | FStar_JsonHelper.InputExhausted -> read_lsp_query stream + | FStar_JsonHelper.InputExhausted -> read_lsp_query stream + let rec (go : FStar_JsonHelper.grepl_state -> Prims.int) = - fun gst -> - let query = read_lsp_query gst.FStar_JsonHelper.grepl_stdin in - let uu____625 = run_query gst query.FStar_JsonHelper.q in + fun gst -> + let query = read_lsp_query gst.FStar_JsonHelper.grepl_stdin in + let uu____625 = run_query gst query.FStar_JsonHelper.q in match uu____625 with - | (r, state_opt) -> + | (r,state_opt) -> ((match r with | FStar_Pervasives_Native.Some response -> let response' = FStar_JsonHelper.json_of_response - query.FStar_JsonHelper.query_id response in + query.FStar_JsonHelper.query_id response + in (if false then - (let uu____639 = FStar_Util.string_of_json response' in + (let uu____639 = FStar_Util.string_of_json response' in FStar_Util.print1_error "<<< %s\n" uu____639) else (); FStar_JsonHelper.write_jsonrpc response') - | FStar_Pervasives_Native.None -> ()); + | FStar_Pervasives_Native.None -> ()); (match state_opt with | FStar_Util.Inl gst' -> go gst' | FStar_Util.Inr exitcode -> exitcode)) + let (start_server : unit -> unit) = - fun uu____655 -> + fun uu____655 -> let uu____656 = let uu____658 = - let uu____659 = FStar_Util.psmap_empty () in - let uu____662 = FStar_Util.open_stdin () in + let uu____659 = FStar_Util.psmap_empty () in + let uu____662 = FStar_Util.open_stdin () in { FStar_JsonHelper.grepl_repls = uu____659; FStar_JsonHelper.grepl_stdin = uu____662 - } in - go uu____658 in - FStar_All.exit uu____656 \ No newline at end of file + } in + go uu____658 in + FStar_All.exit uu____656 + \ No newline at end of file diff --git a/src/ocaml-output/FStar_JsonHelper.ml b/src/ocaml-output/FStar_JsonHelper.ml index 48d9aa82bf5..73b87e9cd7f 100644 --- a/src/ocaml-output/FStar_JsonHelper.ml +++ b/src/ocaml-output/FStar_JsonHelper.ml @@ -2,139 +2,164 @@ open Prims type assoct = (Prims.string * FStar_Util.json) Prims.list let (try_assoc : Prims.string -> assoct -> FStar_Util.json FStar_Pervasives_Native.option) = - fun key -> - fun d -> + fun key -> + fun d -> let uu____50 = FStar_Util.try_find - (fun uu____66 -> match uu____66 with | (k, uu____74) -> k = key) d in + (fun uu____66 -> match uu____66 with | (k,uu____74) -> k = key) d + in FStar_Util.map_option FStar_Pervasives_Native.snd uu____50 + exception MissingKey of Prims.string let (uu___is_MissingKey : Prims.exn -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MissingKey uu____97 -> true | uu____100 -> false + let (__proj__MissingKey__item__uu___ : Prims.exn -> Prims.string) = - fun projectee -> match projectee with | MissingKey uu____110 -> uu____110 + fun projectee -> match projectee with | MissingKey uu____110 -> uu____110 exception InvalidQuery of Prims.string let (uu___is_InvalidQuery : Prims.exn -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | InvalidQuery uu____125 -> true | uu____128 -> false + let (__proj__InvalidQuery__item__uu___ : Prims.exn -> Prims.string) = - fun projectee -> match projectee with | InvalidQuery uu____138 -> uu____138 + fun projectee -> + match projectee with | InvalidQuery uu____138 -> uu____138 + exception UnexpectedJsonType of (Prims.string * FStar_Util.json) let (uu___is_UnexpectedJsonType : Prims.exn -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnexpectedJsonType uu____157 -> true | uu____164 -> false + let (__proj__UnexpectedJsonType__item__uu___ : Prims.exn -> (Prims.string * FStar_Util.json)) = - fun projectee -> + fun projectee -> match projectee with | UnexpectedJsonType uu____182 -> uu____182 + exception MalformedHeader let (uu___is_MalformedHeader : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | MalformedHeader -> true | uu____197 -> false + fun projectee -> + match projectee with | MalformedHeader -> true | uu____197 -> false + exception InputExhausted let (uu___is_InputExhausted : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | InputExhausted -> true | uu____208 -> false + fun projectee -> + match projectee with | InputExhausted -> true | uu____208 -> false + let (assoc : Prims.string -> assoct -> FStar_Util.json) = - fun key -> - fun a -> - let uu____223 = try_assoc key a in + fun key -> + fun a -> + let uu____223 = try_assoc key a in match uu____223 with | FStar_Pervasives_Native.Some v1 -> v1 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____227 = - let uu____228 = FStar_Util.format1 "Missing key [%s]" key in - MissingKey uu____228 in + let uu____228 = FStar_Util.format1 "Missing key [%s]" key in + MissingKey uu____228 in FStar_Exn.raise uu____227 + let (write_json : FStar_Util.json -> unit) = - fun js -> - (let uu____238 = FStar_Util.string_of_json js in + fun js -> + (let uu____238 = FStar_Util.string_of_json js in FStar_Util.print_raw uu____238); FStar_Util.print_raw "\n" + let (write_jsonrpc : FStar_Util.json -> unit) = - fun js -> - let js_str = FStar_Util.string_of_json js in - let len = FStar_Util.string_of_int (FStar_String.length js_str) in + fun js -> + let js_str = FStar_Util.string_of_json js in + let len = FStar_Util.string_of_int (FStar_String.length js_str) in let uu____251 = - FStar_Util.format2 "Content-Length: %s\r\n\r\n%s" len js_str in + FStar_Util.format2 "Content-Length: %s\r\n\r\n%s" len js_str in FStar_Util.print_raw uu____251 + let js_fail : 'a . Prims.string -> FStar_Util.json -> 'a = - fun expected -> - fun got -> FStar_Exn.raise (UnexpectedJsonType (expected, got)) + fun expected -> + fun got -> FStar_Exn.raise (UnexpectedJsonType (expected, got)) + let (js_int : FStar_Util.json -> Prims.int) = - fun uu___0_285 -> + fun uu___0_285 -> match uu___0_285 with | FStar_Util.JsonInt i -> i | other -> js_fail "int" other + let (js_str : FStar_Util.json -> Prims.string) = - fun uu___1_302 -> + fun uu___1_302 -> match uu___1_302 with | FStar_Util.JsonStr s -> s | other -> js_fail "string" other + let js_list : 'a . (FStar_Util.json -> 'a) -> FStar_Util.json -> 'a Prims.list = - fun k -> - fun uu___2_331 -> + fun k -> + fun uu___2_331 -> match uu___2_331 with | FStar_Util.JsonList l -> FStar_List.map k l | other -> js_fail "list" other + let (js_assoc : FStar_Util.json -> assoct) = - fun uu___3_349 -> + fun uu___3_349 -> match uu___3_349 with | FStar_Util.JsonAssoc a -> a | other -> js_fail "dictionary" other + let (js_str_int : FStar_Util.json -> Prims.int) = - fun uu___4_370 -> + fun uu___4_370 -> match uu___4_370 with | FStar_Util.JsonInt i -> i | FStar_Util.JsonStr s -> FStar_Util.int_of_string s | other -> js_fail "string or int" other + let (arg : Prims.string -> assoct -> FStar_Util.json) = - fun k -> - fun r -> + fun k -> + fun r -> let uu____392 = - let uu____393 = assoc "params" r in - FStar_All.pipe_right uu____393 js_assoc in + let uu____393 = assoc "params" r in + FStar_All.pipe_right uu____393 js_assoc in assoc k uu____392 + let (uri_to_path : Prims.string -> Prims.string) = - fun u -> + fun u -> if FStar_Util.starts_with u "file://" then FStar_Util.substring_from u (Prims.parse_int "7") else u + let (path_to_uri : Prims.string -> Prims.string) = - fun u -> + fun u -> if FStar_Util.starts_with u "file://" then u else FStar_Util.format1 "file://%s" u + type completion_context = { trigger_kind: Prims.int ; trigger_char: Prims.string FStar_Pervasives_Native.option } let (__proj__Mkcompletion_context__item__trigger_kind : completion_context -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { trigger_kind; trigger_char;_} -> trigger_kind + let (__proj__Mkcompletion_context__item__trigger_char : completion_context -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { trigger_kind; trigger_char;_} -> trigger_char + let (js_compl_context : FStar_Util.json -> completion_context) = - fun uu___5_479 -> + fun uu___5_479 -> match uu___5_479 with | FStar_Util.JsonAssoc a -> let uu____488 = - let uu____490 = assoc "triggerKind" a in - FStar_All.pipe_right uu____490 js_int in + let uu____490 = assoc "triggerKind" a in + FStar_All.pipe_right uu____490 js_int in let uu____493 = - let uu____497 = try_assoc "triggerChar" a in - FStar_All.pipe_right uu____497 (FStar_Util.map_option js_str) in + let uu____497 = try_assoc "triggerChar" a in + FStar_All.pipe_right uu____497 (FStar_Util.map_option js_str) in { trigger_kind = uu____488; trigger_char = uu____493 } | other -> js_fail "dictionary" other + type txdoc_item = { fname: Prims.string ; @@ -142,36 +167,40 @@ type txdoc_item = version: Prims.int ; text: Prims.string } let (__proj__Mktxdoc_item__item__fname : txdoc_item -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { fname; langId; version; text;_} -> fname + let (__proj__Mktxdoc_item__item__langId : txdoc_item -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { fname; langId; version; text;_} -> langId + let (__proj__Mktxdoc_item__item__version : txdoc_item -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { fname; langId; version; text;_} -> version + let (__proj__Mktxdoc_item__item__text : txdoc_item -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { fname; langId; version; text;_} -> text + let (js_txdoc_item : FStar_Util.json -> txdoc_item) = - fun uu___6_605 -> + fun uu___6_605 -> match uu___6_605 with | FStar_Util.JsonAssoc a -> - let arg1 k = assoc k a in + let arg1 k = assoc k a in let uu____622 = let uu____624 = - let uu____626 = arg1 "uri" in - FStar_All.pipe_right uu____626 js_str in - uri_to_path uu____624 in + let uu____626 = arg1 "uri" in + FStar_All.pipe_right uu____626 js_str in + uri_to_path uu____624 in let uu____629 = - let uu____631 = arg1 "languageId" in - FStar_All.pipe_right uu____631 js_str in + let uu____631 = arg1 "languageId" in + FStar_All.pipe_right uu____631 js_str in let uu____634 = - let uu____636 = arg1 "version" in - FStar_All.pipe_right uu____636 js_int in + let uu____636 = arg1 "version" in + FStar_All.pipe_right uu____636 js_int in let uu____639 = - let uu____641 = arg1 "text" in - FStar_All.pipe_right uu____641 js_str in + let uu____641 = arg1 "text" in + FStar_All.pipe_right uu____641 js_str in { fname = uu____622; langId = uu____629; @@ -179,139 +208,147 @@ let (js_txdoc_item : FStar_Util.json -> txdoc_item) = text = uu____639 } | other -> js_fail "dictionary" other + type txdoc_pos = { path: Prims.string ; line: Prims.int ; col: Prims.int } let (__proj__Mktxdoc_pos__item__path : txdoc_pos -> Prims.string) = - fun projectee -> match projectee with | { path; line; col;_} -> path + fun projectee -> match projectee with | { path; line; col;_} -> path let (__proj__Mktxdoc_pos__item__line : txdoc_pos -> Prims.int) = - fun projectee -> match projectee with | { path; line; col;_} -> line + fun projectee -> match projectee with | { path; line; col;_} -> line let (__proj__Mktxdoc_pos__item__col : txdoc_pos -> Prims.int) = - fun projectee -> match projectee with | { path; line; col;_} -> col + fun projectee -> match projectee with | { path; line; col;_} -> col let (js_txdoc_id : assoct -> Prims.string) = - fun r -> + fun r -> let uu____721 = let uu____723 = let uu____724 = - let uu____725 = arg "textDocument" r in - FStar_All.pipe_right uu____725 js_assoc in - assoc "uri" uu____724 in - FStar_All.pipe_right uu____723 js_str in + let uu____725 = arg "textDocument" r in + FStar_All.pipe_right uu____725 js_assoc in + assoc "uri" uu____724 in + FStar_All.pipe_right uu____723 js_str in uri_to_path uu____721 + let (js_txdoc_pos : assoct -> txdoc_pos) = - fun r -> + fun r -> let pos = - let uu____743 = arg "position" r in - FStar_All.pipe_right uu____743 js_assoc in - let uu____745 = js_txdoc_id r in + let uu____743 = arg "position" r in + FStar_All.pipe_right uu____743 js_assoc in + let uu____745 = js_txdoc_id r in let uu____747 = - let uu____749 = assoc "line" pos in - FStar_All.pipe_right uu____749 js_int in + let uu____749 = assoc "line" pos in + FStar_All.pipe_right uu____749 js_int in let uu____752 = - let uu____754 = assoc "character" pos in - FStar_All.pipe_right uu____754 js_int in + let uu____754 = assoc "character" pos in + FStar_All.pipe_right uu____754 js_int in { path = uu____745; line = uu____747; col = uu____752 } + type workspace_folder = { wk_uri: Prims.string ; wk_name: Prims.string } let (__proj__Mkworkspace_folder__item__wk_uri : workspace_folder -> Prims.string) = - fun projectee -> match projectee with | { wk_uri; wk_name;_} -> wk_uri + fun projectee -> match projectee with | { wk_uri; wk_name;_} -> wk_uri let (__proj__Mkworkspace_folder__item__wk_name : workspace_folder -> Prims.string) = - fun projectee -> match projectee with | { wk_uri; wk_name;_} -> wk_name + fun projectee -> match projectee with | { wk_uri; wk_name;_} -> wk_name type wsch_event = { added: workspace_folder ; removed: workspace_folder } let (__proj__Mkwsch_event__item__added : wsch_event -> workspace_folder) = - fun projectee -> match projectee with | { added; removed;_} -> added + fun projectee -> match projectee with | { added; removed;_} -> added let (__proj__Mkwsch_event__item__removed : wsch_event -> workspace_folder) = - fun projectee -> match projectee with | { added; removed;_} -> removed + fun projectee -> match projectee with | { added; removed;_} -> removed let (js_wsch_event : FStar_Util.json -> wsch_event) = - fun uu___7_827 -> + fun uu___7_827 -> match uu___7_827 with | FStar_Util.JsonAssoc a -> let added' = - let uu____837 = assoc "added" a in - FStar_All.pipe_right uu____837 js_assoc in + let uu____837 = assoc "added" a in + FStar_All.pipe_right uu____837 js_assoc in let removed' = - let uu____840 = assoc "removed" a in - FStar_All.pipe_right uu____840 js_assoc in + let uu____840 = assoc "removed" a in + FStar_All.pipe_right uu____840 js_assoc in let uu____842 = let uu____843 = - let uu____845 = assoc "uri" added' in - FStar_All.pipe_right uu____845 js_str in + let uu____845 = assoc "uri" added' in + FStar_All.pipe_right uu____845 js_str in let uu____848 = - let uu____850 = assoc "name" added' in - FStar_All.pipe_right uu____850 js_str in - { wk_uri = uu____843; wk_name = uu____848 } in + let uu____850 = assoc "name" added' in + FStar_All.pipe_right uu____850 js_str in + { wk_uri = uu____843; wk_name = uu____848 } in let uu____853 = let uu____854 = - let uu____856 = assoc "uri" removed' in - FStar_All.pipe_right uu____856 js_str in + let uu____856 = assoc "uri" removed' in + FStar_All.pipe_right uu____856 js_str in let uu____859 = - let uu____861 = assoc "name" removed' in - FStar_All.pipe_right uu____861 js_str in - { wk_uri = uu____854; wk_name = uu____859 } in + let uu____861 = assoc "name" removed' in + FStar_All.pipe_right uu____861 js_str in + { wk_uri = uu____854; wk_name = uu____859 } in { added = uu____842; removed = uu____853 } | other -> js_fail "dictionary" other + let (js_contentch : FStar_Util.json -> Prims.string) = - fun uu___8_876 -> + fun uu___8_876 -> match uu___8_876 with | FStar_Util.JsonList l -> let uu____881 = FStar_List.map - (fun uu____889 -> + (fun uu____889 -> match uu____889 with | FStar_Util.JsonAssoc a -> - let uu____899 = assoc "text" a in - FStar_All.pipe_right uu____899 js_str) l in + let uu____899 = assoc "text" a in + FStar_All.pipe_right uu____899 js_str) l + in FStar_List.hd uu____881 | other -> js_fail "dictionary" other + type rng = { rng_start: (Prims.int * Prims.int) ; rng_end: (Prims.int * Prims.int) } let (__proj__Mkrng__item__rng_start : rng -> (Prims.int * Prims.int)) = - fun projectee -> + fun projectee -> match projectee with | { rng_start; rng_end;_} -> rng_start + let (__proj__Mkrng__item__rng_end : rng -> (Prims.int * Prims.int)) = - fun projectee -> match projectee with | { rng_start; rng_end;_} -> rng_end + fun projectee -> match projectee with | { rng_start; rng_end;_} -> rng_end let (js_rng : FStar_Util.json -> rng) = - fun uu___9_997 -> + fun uu___9_997 -> match uu___9_997 with | FStar_Util.JsonAssoc a -> - let st = assoc "start" a in - let fin = assoc "end" a in - let l = assoc "line" in - let c = assoc "character" in + let st = assoc "start" a in + let fin = assoc "end" a in + let l = assoc "line" in + let c = assoc "character" in let uu____1022 = let uu____1029 = let uu____1031 = - let uu____1032 = FStar_All.pipe_right st js_assoc in - l uu____1032 in - FStar_All.pipe_right uu____1031 js_int in + let uu____1032 = FStar_All.pipe_right st js_assoc in + l uu____1032 in + FStar_All.pipe_right uu____1031 js_int in let uu____1034 = let uu____1036 = - let uu____1037 = FStar_All.pipe_right st js_assoc in - c uu____1037 in - FStar_All.pipe_right uu____1036 js_int in - (uu____1029, uu____1034) in + let uu____1037 = FStar_All.pipe_right st js_assoc in + c uu____1037 in + FStar_All.pipe_right uu____1036 js_int in + (uu____1029, uu____1034) in let uu____1041 = let uu____1048 = let uu____1050 = - let uu____1051 = FStar_All.pipe_right fin js_assoc in - l uu____1051 in - FStar_All.pipe_right uu____1050 js_int in + let uu____1051 = FStar_All.pipe_right fin js_assoc in + l uu____1051 in + FStar_All.pipe_right uu____1050 js_int in let uu____1053 = let uu____1055 = - let uu____1056 = FStar_All.pipe_right st js_assoc in - c uu____1056 in - FStar_All.pipe_right uu____1055 js_int in - (uu____1048, uu____1053) in + let uu____1056 = FStar_All.pipe_right st js_assoc in + c uu____1056 in + FStar_All.pipe_right uu____1055 js_int in + (uu____1048, uu____1053) in { rng_start = uu____1022; rng_end = uu____1041 } | other -> js_fail "dictionary" other + type lquery = | Initialize of (Prims.int * Prims.string) | Initialized @@ -355,191 +392,235 @@ type lquery = | FoldingRange | BadProtocolMsg of Prims.string let (uu___is_Initialize : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Initialize _0 -> true | uu____1212 -> false + let (__proj__Initialize__item___0 : lquery -> (Prims.int * Prims.string)) = - fun projectee -> match projectee with | Initialize _0 -> _0 + fun projectee -> match projectee with | Initialize _0 -> _0 let (uu___is_Initialized : lquery -> Prims.bool) = - fun projectee -> - match projectee with | Initialized -> true | uu____1248 -> false + fun projectee -> + match projectee with | Initialized -> true | uu____1248 -> false + let (uu___is_Shutdown : lquery -> Prims.bool) = - fun projectee -> - match projectee with | Shutdown -> true | uu____1259 -> false + fun projectee -> + match projectee with | Shutdown -> true | uu____1259 -> false + let (uu___is_Exit : lquery -> Prims.bool) = - fun projectee -> match projectee with | Exit -> true | uu____1270 -> false + fun projectee -> + match projectee with | Exit -> true | uu____1270 -> false + let (uu___is_Cancel : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Cancel _0 -> true | uu____1283 -> false + let (__proj__Cancel__item___0 : lquery -> Prims.int) = - fun projectee -> match projectee with | Cancel _0 -> _0 + fun projectee -> match projectee with | Cancel _0 -> _0 let (uu___is_FolderChange : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | FolderChange _0 -> true | uu____1305 -> false + let (__proj__FolderChange__item___0 : lquery -> wsch_event) = - fun projectee -> match projectee with | FolderChange _0 -> _0 + fun projectee -> match projectee with | FolderChange _0 -> _0 let (uu___is_ChangeConfig : lquery -> Prims.bool) = - fun projectee -> - match projectee with | ChangeConfig -> true | uu____1323 -> false + fun projectee -> + match projectee with | ChangeConfig -> true | uu____1323 -> false + let (uu___is_ChangeWatch : lquery -> Prims.bool) = - fun projectee -> - match projectee with | ChangeWatch -> true | uu____1334 -> false + fun projectee -> + match projectee with | ChangeWatch -> true | uu____1334 -> false + let (uu___is_Symbol : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Symbol _0 -> true | uu____1347 -> false + let (__proj__Symbol__item___0 : lquery -> Prims.string) = - fun projectee -> match projectee with | Symbol _0 -> _0 + fun projectee -> match projectee with | Symbol _0 -> _0 let (uu___is_ExecCommand : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | ExecCommand _0 -> true | uu____1370 -> false + let (__proj__ExecCommand__item___0 : lquery -> Prims.string) = - fun projectee -> match projectee with | ExecCommand _0 -> _0 + fun projectee -> match projectee with | ExecCommand _0 -> _0 let (uu___is_DidOpen : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | DidOpen _0 -> true | uu____1392 -> false + let (__proj__DidOpen__item___0 : lquery -> txdoc_item) = - fun projectee -> match projectee with | DidOpen _0 -> _0 + fun projectee -> match projectee with | DidOpen _0 -> _0 let (uu___is_DidChange : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | DidChange _0 -> true | uu____1417 -> false + let (__proj__DidChange__item___0 : lquery -> (Prims.string * Prims.string)) = - fun projectee -> match projectee with | DidChange _0 -> _0 + fun projectee -> match projectee with | DidChange _0 -> _0 let (uu___is_WillSave : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | WillSave _0 -> true | uu____1455 -> false + let (__proj__WillSave__item___0 : lquery -> Prims.string) = - fun projectee -> match projectee with | WillSave _0 -> _0 + fun projectee -> match projectee with | WillSave _0 -> _0 let (uu___is_WillSaveWait : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | WillSaveWait _0 -> true | uu____1478 -> false + let (__proj__WillSaveWait__item___0 : lquery -> Prims.string) = - fun projectee -> match projectee with | WillSaveWait _0 -> _0 + fun projectee -> match projectee with | WillSaveWait _0 -> _0 let (uu___is_DidSave : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | DidSave _0 -> true | uu____1506 -> false + let (__proj__DidSave__item___0 : lquery -> (Prims.string * Prims.string)) = - fun projectee -> match projectee with | DidSave _0 -> _0 + fun projectee -> match projectee with | DidSave _0 -> _0 let (uu___is_DidClose : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | DidClose _0 -> true | uu____1544 -> false + let (__proj__DidClose__item___0 : lquery -> Prims.string) = - fun projectee -> match projectee with | DidClose _0 -> _0 + fun projectee -> match projectee with | DidClose _0 -> _0 let (uu___is_Completion : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Completion _0 -> true | uu____1570 -> false + let (__proj__Completion__item___0 : lquery -> (txdoc_pos * completion_context)) = - fun projectee -> match projectee with | Completion _0 -> _0 + fun projectee -> match projectee with | Completion _0 -> _0 let (uu___is_Resolve : lquery -> Prims.bool) = - fun projectee -> - match projectee with | Resolve -> true | uu____1600 -> false + fun projectee -> + match projectee with | Resolve -> true | uu____1600 -> false + let (uu___is_Hover : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Hover _0 -> true | uu____1612 -> false + let (__proj__Hover__item___0 : lquery -> txdoc_pos) = - fun projectee -> match projectee with | Hover _0 -> _0 + fun projectee -> match projectee with | Hover _0 -> _0 let (uu___is_SignatureHelp : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | SignatureHelp _0 -> true | uu____1631 -> false + let (__proj__SignatureHelp__item___0 : lquery -> txdoc_pos) = - fun projectee -> match projectee with | SignatureHelp _0 -> _0 + fun projectee -> match projectee with | SignatureHelp _0 -> _0 let (uu___is_Declaration : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Declaration _0 -> true | uu____1650 -> false + let (__proj__Declaration__item___0 : lquery -> txdoc_pos) = - fun projectee -> match projectee with | Declaration _0 -> _0 + fun projectee -> match projectee with | Declaration _0 -> _0 let (uu___is_Definition : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Definition _0 -> true | uu____1669 -> false + let (__proj__Definition__item___0 : lquery -> txdoc_pos) = - fun projectee -> match projectee with | Definition _0 -> _0 + fun projectee -> match projectee with | Definition _0 -> _0 let (uu___is_TypeDefinition : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | TypeDefinition _0 -> true | uu____1688 -> false + let (__proj__TypeDefinition__item___0 : lquery -> txdoc_pos) = - fun projectee -> match projectee with | TypeDefinition _0 -> _0 + fun projectee -> match projectee with | TypeDefinition _0 -> _0 let (uu___is_Implementation : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Implementation _0 -> true | uu____1707 -> false + let (__proj__Implementation__item___0 : lquery -> txdoc_pos) = - fun projectee -> match projectee with | Implementation _0 -> _0 + fun projectee -> match projectee with | Implementation _0 -> _0 let (uu___is_References : lquery -> Prims.bool) = - fun projectee -> - match projectee with | References -> true | uu____1725 -> false + fun projectee -> + match projectee with | References -> true | uu____1725 -> false + let (uu___is_DocumentHighlight : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | DocumentHighlight _0 -> true | uu____1737 -> false + let (__proj__DocumentHighlight__item___0 : lquery -> txdoc_pos) = - fun projectee -> match projectee with | DocumentHighlight _0 -> _0 + fun projectee -> match projectee with | DocumentHighlight _0 -> _0 let (uu___is_DocumentSymbol : lquery -> Prims.bool) = - fun projectee -> - match projectee with | DocumentSymbol -> true | uu____1755 -> false + fun projectee -> + match projectee with | DocumentSymbol -> true | uu____1755 -> false + let (uu___is_CodeAction : lquery -> Prims.bool) = - fun projectee -> - match projectee with | CodeAction -> true | uu____1766 -> false + fun projectee -> + match projectee with | CodeAction -> true | uu____1766 -> false + let (uu___is_CodeLens : lquery -> Prims.bool) = - fun projectee -> - match projectee with | CodeLens -> true | uu____1777 -> false + fun projectee -> + match projectee with | CodeLens -> true | uu____1777 -> false + let (uu___is_CodeLensResolve : lquery -> Prims.bool) = - fun projectee -> - match projectee with | CodeLensResolve -> true | uu____1788 -> false + fun projectee -> + match projectee with | CodeLensResolve -> true | uu____1788 -> false + let (uu___is_DocumentLink : lquery -> Prims.bool) = - fun projectee -> - match projectee with | DocumentLink -> true | uu____1799 -> false + fun projectee -> + match projectee with | DocumentLink -> true | uu____1799 -> false + let (uu___is_DocumentLinkResolve : lquery -> Prims.bool) = - fun projectee -> - match projectee with | DocumentLinkResolve -> true | uu____1810 -> false + fun projectee -> + match projectee with | DocumentLinkResolve -> true | uu____1810 -> false + let (uu___is_DocumentColor : lquery -> Prims.bool) = - fun projectee -> - match projectee with | DocumentColor -> true | uu____1821 -> false + fun projectee -> + match projectee with | DocumentColor -> true | uu____1821 -> false + let (uu___is_ColorPresentation : lquery -> Prims.bool) = - fun projectee -> - match projectee with | ColorPresentation -> true | uu____1832 -> false + fun projectee -> + match projectee with | ColorPresentation -> true | uu____1832 -> false + let (uu___is_Formatting : lquery -> Prims.bool) = - fun projectee -> - match projectee with | Formatting -> true | uu____1843 -> false + fun projectee -> + match projectee with | Formatting -> true | uu____1843 -> false + let (uu___is_RangeFormatting : lquery -> Prims.bool) = - fun projectee -> - match projectee with | RangeFormatting -> true | uu____1854 -> false + fun projectee -> + match projectee with | RangeFormatting -> true | uu____1854 -> false + let (uu___is_TypeFormatting : lquery -> Prims.bool) = - fun projectee -> - match projectee with | TypeFormatting -> true | uu____1865 -> false + fun projectee -> + match projectee with | TypeFormatting -> true | uu____1865 -> false + let (uu___is_Rename : lquery -> Prims.bool) = - fun projectee -> - match projectee with | Rename -> true | uu____1876 -> false + fun projectee -> + match projectee with | Rename -> true | uu____1876 -> false + let (uu___is_PrepareRename : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PrepareRename _0 -> true | uu____1888 -> false + let (__proj__PrepareRename__item___0 : lquery -> txdoc_pos) = - fun projectee -> match projectee with | PrepareRename _0 -> _0 + fun projectee -> match projectee with | PrepareRename _0 -> _0 let (uu___is_FoldingRange : lquery -> Prims.bool) = - fun projectee -> - match projectee with | FoldingRange -> true | uu____1906 -> false + fun projectee -> + match projectee with | FoldingRange -> true | uu____1906 -> false + let (uu___is_BadProtocolMsg : lquery -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | BadProtocolMsg _0 -> true | uu____1919 -> false + let (__proj__BadProtocolMsg__item___0 : lquery -> Prims.string) = - fun projectee -> match projectee with | BadProtocolMsg _0 -> _0 + fun projectee -> match projectee with | BadProtocolMsg _0 -> _0 type lsp_query = { query_id: Prims.int FStar_Pervasives_Native.option ; q: lquery } let (__proj__Mklsp_query__item__query_id : lsp_query -> Prims.int FStar_Pervasives_Native.option) = - fun projectee -> match projectee with | { query_id; q;_} -> query_id + fun projectee -> match projectee with | { query_id; q;_} -> query_id let (__proj__Mklsp_query__item__q : lsp_query -> lquery) = - fun projectee -> match projectee with | { query_id; q;_} -> q + fun projectee -> match projectee with | { query_id; q;_} -> q type repl_depth_t = (FStar_TypeChecker_Env.tcenv_depth_t * Prims.int) type optmod_t = FStar_Syntax_Syntax.modul FStar_Pervasives_Native.option type timed_fname = { tf_fname: Prims.string ; tf_modtime: FStar_Util.time } let (__proj__Mktimed_fname__item__tf_fname : timed_fname -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { tf_fname; tf_modtime;_} -> tf_fname + let (__proj__Mktimed_fname__item__tf_modtime : timed_fname -> FStar_Util.time) = - fun projectee -> + fun projectee -> match projectee with | { tf_fname; tf_modtime;_} -> tf_modtime + type repl_task = | LDInterleaved of (timed_fname * timed_fname) | LDSingle of timed_fname @@ -547,31 +628,37 @@ type repl_task = | PushFragment of FStar_Parser_ParseIt.input_frag | Noop let (uu___is_LDInterleaved : repl_task -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | LDInterleaved _0 -> true | uu____2048 -> false + let (__proj__LDInterleaved__item___0 : repl_task -> (timed_fname * timed_fname)) = - fun projectee -> match projectee with | LDInterleaved _0 -> _0 + fun projectee -> match projectee with | LDInterleaved _0 -> _0 let (uu___is_LDSingle : repl_task -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | LDSingle _0 -> true | uu____2079 -> false + let (__proj__LDSingle__item___0 : repl_task -> timed_fname) = - fun projectee -> match projectee with | LDSingle _0 -> _0 + fun projectee -> match projectee with | LDSingle _0 -> _0 let (uu___is_LDInterfaceOfCurrentFile : repl_task -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | LDInterfaceOfCurrentFile _0 -> true | uu____2098 -> false + let (__proj__LDInterfaceOfCurrentFile__item___0 : repl_task -> timed_fname) = - fun projectee -> match projectee with | LDInterfaceOfCurrentFile _0 -> _0 + fun projectee -> match projectee with | LDInterfaceOfCurrentFile _0 -> _0 let (uu___is_PushFragment : repl_task -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PushFragment _0 -> true | uu____2117 -> false + let (__proj__PushFragment__item___0 : repl_task -> FStar_Parser_ParseIt.input_frag) = - fun projectee -> match projectee with | PushFragment _0 -> _0 + fun projectee -> match projectee with | PushFragment _0 -> _0 let (uu___is_Noop : repl_task -> Prims.bool) = - fun projectee -> match projectee with | Noop -> true | uu____2135 -> false + fun projectee -> + match projectee with | Noop -> true | uu____2135 -> false + type repl_state = { repl_line: Prims.int ; @@ -587,57 +674,67 @@ and grepl_state = grepl_repls: repl_state FStar_Util.psmap ; grepl_stdin: FStar_Util.stream_reader } let (__proj__Mkrepl_state__item__repl_line : repl_state -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { repl_line; repl_column; repl_fname; repl_deps_stack; repl_curmod; repl_env; repl_stdin; repl_names;_} -> repl_line + let (__proj__Mkrepl_state__item__repl_column : repl_state -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { repl_line; repl_column; repl_fname; repl_deps_stack; repl_curmod; repl_env; repl_stdin; repl_names;_} -> repl_column + let (__proj__Mkrepl_state__item__repl_fname : repl_state -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { repl_line; repl_column; repl_fname; repl_deps_stack; repl_curmod; repl_env; repl_stdin; repl_names;_} -> repl_fname + let (__proj__Mkrepl_state__item__repl_deps_stack : repl_state -> (repl_depth_t * (repl_task * repl_state)) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { repl_line; repl_column; repl_fname; repl_deps_stack; repl_curmod; repl_env; repl_stdin; repl_names;_} -> repl_deps_stack + let (__proj__Mkrepl_state__item__repl_curmod : repl_state -> optmod_t) = - fun projectee -> + fun projectee -> match projectee with | { repl_line; repl_column; repl_fname; repl_deps_stack; repl_curmod; repl_env; repl_stdin; repl_names;_} -> repl_curmod + let (__proj__Mkrepl_state__item__repl_env : repl_state -> FStar_TypeChecker_Env.env) = - fun projectee -> + fun projectee -> match projectee with | { repl_line; repl_column; repl_fname; repl_deps_stack; repl_curmod; repl_env; repl_stdin; repl_names;_} -> repl_env + let (__proj__Mkrepl_state__item__repl_stdin : repl_state -> FStar_Util.stream_reader) = - fun projectee -> + fun projectee -> match projectee with | { repl_line; repl_column; repl_fname; repl_deps_stack; repl_curmod; repl_env; repl_stdin; repl_names;_} -> repl_stdin + let (__proj__Mkrepl_state__item__repl_names : repl_state -> FStar_Interactive_CompletionTable.table) = - fun projectee -> + fun projectee -> match projectee with | { repl_line; repl_column; repl_fname; repl_deps_stack; repl_curmod; repl_env; repl_stdin; repl_names;_} -> repl_names + let (__proj__Mkgrepl_state__item__grepl_repls : grepl_state -> repl_state FStar_Util.psmap) = - fun projectee -> + fun projectee -> match projectee with | { grepl_repls; grepl_stdin;_} -> grepl_repls + let (__proj__Mkgrepl_state__item__grepl_stdin : grepl_state -> FStar_Util.stream_reader) = - fun projectee -> + fun projectee -> match projectee with | { grepl_repls; grepl_stdin;_} -> grepl_stdin + type repl_stack_entry_t = (repl_depth_t * (repl_task * repl_state)) type repl_stack_t = (repl_depth_t * (repl_task * repl_state)) Prims.list type error_code = @@ -653,114 +750,134 @@ type error_code = | RequestCancelled | ContentModified let (uu___is_ParseError : error_code -> Prims.bool) = - fun projectee -> - match projectee with | ParseError -> true | uu____2495 -> false + fun projectee -> + match projectee with | ParseError -> true | uu____2495 -> false + let (uu___is_InvalidRequest : error_code -> Prims.bool) = - fun projectee -> - match projectee with | InvalidRequest -> true | uu____2506 -> false + fun projectee -> + match projectee with | InvalidRequest -> true | uu____2506 -> false + let (uu___is_MethodNotFound : error_code -> Prims.bool) = - fun projectee -> - match projectee with | MethodNotFound -> true | uu____2517 -> false + fun projectee -> + match projectee with | MethodNotFound -> true | uu____2517 -> false + let (uu___is_InvalidParams : error_code -> Prims.bool) = - fun projectee -> - match projectee with | InvalidParams -> true | uu____2528 -> false + fun projectee -> + match projectee with | InvalidParams -> true | uu____2528 -> false + let (uu___is_InternalError : error_code -> Prims.bool) = - fun projectee -> - match projectee with | InternalError -> true | uu____2539 -> false + fun projectee -> + match projectee with | InternalError -> true | uu____2539 -> false + let (uu___is_ServerErrorStart : error_code -> Prims.bool) = - fun projectee -> - match projectee with | ServerErrorStart -> true | uu____2550 -> false + fun projectee -> + match projectee with | ServerErrorStart -> true | uu____2550 -> false + let (uu___is_ServerErrorEnd : error_code -> Prims.bool) = - fun projectee -> - match projectee with | ServerErrorEnd -> true | uu____2561 -> false + fun projectee -> + match projectee with | ServerErrorEnd -> true | uu____2561 -> false + let (uu___is_ServerNotInitialized : error_code -> Prims.bool) = - fun projectee -> - match projectee with | ServerNotInitialized -> true | uu____2572 -> false + fun projectee -> + match projectee with + | ServerNotInitialized -> true + | uu____2572 -> false + let (uu___is_UnknownErrorCode : error_code -> Prims.bool) = - fun projectee -> - match projectee with | UnknownErrorCode -> true | uu____2583 -> false + fun projectee -> + match projectee with | UnknownErrorCode -> true | uu____2583 -> false + let (uu___is_RequestCancelled : error_code -> Prims.bool) = - fun projectee -> - match projectee with | RequestCancelled -> true | uu____2594 -> false + fun projectee -> + match projectee with | RequestCancelled -> true | uu____2594 -> false + let (uu___is_ContentModified : error_code -> Prims.bool) = - fun projectee -> - match projectee with | ContentModified -> true | uu____2605 -> false + fun projectee -> + match projectee with | ContentModified -> true | uu____2605 -> false + let (errorcode_to_int : error_code -> Prims.int) = - fun uu___10_2617 -> + fun uu___10_2617 -> match uu___10_2617 with - | ParseError -> ~- (Prims.parse_int "32700") - | InvalidRequest -> ~- (Prims.parse_int "32600") - | MethodNotFound -> ~- (Prims.parse_int "32601") - | InvalidParams -> ~- (Prims.parse_int "32602") - | InternalError -> ~- (Prims.parse_int "32603") - | ServerErrorStart -> ~- (Prims.parse_int "32099") - | ServerErrorEnd -> ~- (Prims.parse_int "32000") - | ServerNotInitialized -> ~- (Prims.parse_int "32002") - | UnknownErrorCode -> ~- (Prims.parse_int "32001") - | RequestCancelled -> ~- (Prims.parse_int "32800") - | ContentModified -> ~- (Prims.parse_int "32801") + | ParseError -> ~- (Prims.parse_int "32700") + | InvalidRequest -> ~- (Prims.parse_int "32600") + | MethodNotFound -> ~- (Prims.parse_int "32601") + | InvalidParams -> ~- (Prims.parse_int "32602") + | InternalError -> ~- (Prims.parse_int "32603") + | ServerErrorStart -> ~- (Prims.parse_int "32099") + | ServerErrorEnd -> ~- (Prims.parse_int "32000") + | ServerNotInitialized -> ~- (Prims.parse_int "32002") + | UnknownErrorCode -> ~- (Prims.parse_int "32001") + | RequestCancelled -> ~- (Prims.parse_int "32800") + | ContentModified -> ~- (Prims.parse_int "32801") + let (json_debug : FStar_Util.json -> Prims.string) = - fun uu___11_2636 -> + fun uu___11_2636 -> match uu___11_2636 with - | FStar_Util.JsonNull -> "null" + | FStar_Util.JsonNull -> "null" | FStar_Util.JsonBool b -> FStar_Util.format1 "bool (%s)" (if b then "true" else "false") | FStar_Util.JsonInt i -> - let uu____2650 = FStar_Util.string_of_int i in + let uu____2650 = FStar_Util.string_of_int i in FStar_Util.format1 "int (%s)" uu____2650 | FStar_Util.JsonStr s -> FStar_Util.format1 "string (%s)" s | FStar_Util.JsonList uu____2656 -> "list (...)" | FStar_Util.JsonAssoc uu____2660 -> "dictionary (...)" + let (wrap_jsfail : Prims.int FStar_Pervasives_Native.option -> Prims.string -> FStar_Util.json -> lsp_query) = - fun qid -> - fun expected -> - fun got -> + fun qid -> + fun expected -> + fun got -> let uu____2693 = let uu____2694 = - let uu____2696 = json_debug got in + let uu____2696 = json_debug got in FStar_Util.format2 "JSON decoding failed: expected %s, got %s" - expected uu____2696 in - BadProtocolMsg uu____2694 in + expected uu____2696 + in + BadProtocolMsg uu____2694 in { query_id = qid; q = uu____2693 } + let (resultResponse : FStar_Util.json -> assoct FStar_Pervasives_Native.option) = - fun r -> FStar_Pervasives_Native.Some [("result", r)] + fun r -> FStar_Pervasives_Native.Some [("result", r)] let (errorResponse : FStar_Util.json -> assoct FStar_Pervasives_Native.option) = - fun r -> FStar_Pervasives_Native.Some [("error", r)] + fun r -> FStar_Pervasives_Native.Some [("error", r)] let (nullResponse : assoct FStar_Pervasives_Native.option) = - resultResponse FStar_Util.JsonNull + resultResponse FStar_Util.JsonNull let (json_of_response : Prims.int FStar_Pervasives_Native.option -> assoct -> FStar_Util.json) = - fun qid -> - fun response -> + fun qid -> + fun response -> match qid with | FStar_Pervasives_Native.Some i -> FStar_Util.JsonAssoc (FStar_List.append [("jsonrpc", (FStar_Util.JsonStr "2.0")); ("id", (FStar_Util.JsonInt i))] response) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Util.JsonAssoc (FStar_List.append [("jsonrpc", (FStar_Util.JsonStr "2.0"))] response) + let (js_resperr : error_code -> Prims.string -> FStar_Util.json) = - fun err -> - fun msg -> + fun err -> + fun msg -> let uu____2825 = let uu____2833 = let uu____2839 = - let uu____2840 = errorcode_to_int err in - FStar_Util.JsonInt uu____2840 in - ("code", uu____2839) in - [uu____2833; ("message", (FStar_Util.JsonStr msg))] in + let uu____2840 = errorcode_to_int err in + FStar_Util.JsonInt uu____2840 in + ("code", uu____2839) in + [uu____2833; ("message", (FStar_Util.JsonStr msg))] in FStar_Util.JsonAssoc uu____2825 + let (wrap_content_szerr : Prims.string -> lsp_query) = - fun m -> + fun m -> { query_id = FStar_Pervasives_Native.None; q = (BadProtocolMsg m) } + let (js_servcap : FStar_Util.json) = FStar_Util.JsonAssoc [("capabilities", @@ -784,40 +901,45 @@ let (js_servcap : FStar_Util.json) = ("documentSymbolProvider", (FStar_Util.JsonBool false)); ("workspaceSymbolProvider", (FStar_Util.JsonBool false)); ("codeActionProvider", (FStar_Util.JsonBool false))]))] + let (js_pos : FStar_Range.pos -> FStar_Util.json) = - fun p -> + fun p -> let uu____3046 = let uu____3054 = let uu____3060 = let uu____3061 = - let uu____3063 = FStar_Range.line_of_pos p in - uu____3063 - (Prims.parse_int "1") in - FStar_Util.JsonInt uu____3061 in - ("line", uu____3060) in + let uu____3063 = FStar_Range.line_of_pos p in + uu____3063 - (Prims.parse_int "1") in + FStar_Util.JsonInt uu____3061 in + ("line", uu____3060) in let uu____3068 = let uu____3076 = let uu____3082 = - let uu____3083 = FStar_Range.col_of_pos p in - FStar_Util.JsonInt uu____3083 in - ("character", uu____3082) in - [uu____3076] in - uu____3054 :: uu____3068 in + let uu____3083 = FStar_Range.col_of_pos p in + FStar_Util.JsonInt uu____3083 in + ("character", uu____3082) in + [uu____3076] in + uu____3054 :: uu____3068 in FStar_Util.JsonAssoc uu____3046 + let (js_range : FStar_Range.range -> FStar_Util.json) = - fun r -> + fun r -> let uu____3108 = let uu____3116 = let uu____3122 = - let uu____3123 = FStar_Range.start_of_range r in js_pos uu____3123 in - ("start", uu____3122) in + let uu____3123 = FStar_Range.start_of_range r in js_pos uu____3123 + in + ("start", uu____3122) in let uu____3126 = let uu____3134 = let uu____3140 = - let uu____3141 = FStar_Range.end_of_range r in js_pos uu____3141 in - ("end", uu____3140) in - [uu____3134] in - uu____3116 :: uu____3126 in + let uu____3141 = FStar_Range.end_of_range r in js_pos uu____3141 + in + ("end", uu____3140) in + [uu____3134] in + uu____3116 :: uu____3126 in FStar_Util.JsonAssoc uu____3108 + let (js_dummyrange : FStar_Util.json) = FStar_Util.JsonAssoc [("start", @@ -828,71 +950,76 @@ let (js_dummyrange : FStar_Util.json) = (FStar_Util.JsonAssoc [("line", (FStar_Util.JsonInt (Prims.parse_int "0"))); ("character", (FStar_Util.JsonInt (Prims.parse_int "0")))]))]))] + let (js_loclink : FStar_Range.range -> FStar_Util.json) = - fun r -> - let s = js_range r in + fun r -> + let s = js_range r in let uu____3228 = let uu____3231 = let uu____3232 = let uu____3240 = let uu____3246 = let uu____3247 = - let uu____3249 = FStar_Range.file_of_range r in - path_to_uri uu____3249 in - FStar_Util.JsonStr uu____3247 in - ("targetUri", uu____3246) in - [uu____3240; ("targetRange", s); ("targetSelectionRange", s)] in - FStar_Util.JsonAssoc uu____3232 in - [uu____3231] in + let uu____3249 = FStar_Range.file_of_range r in + path_to_uri uu____3249 in + FStar_Util.JsonStr uu____3247 in + ("targetUri", uu____3246) in + [uu____3240; ("targetRange", s); ("targetSelectionRange", s)] in + FStar_Util.JsonAssoc uu____3232 in + [uu____3231] in FStar_Util.JsonList uu____3228 + let (pos_munge : txdoc_pos -> (Prims.string * Prims.int * Prims.int)) = - fun pos -> ((pos.path), (pos.line + (Prims.parse_int "1")), (pos.col)) + fun pos -> ((pos.path), (pos.line + (Prims.parse_int "1")), (pos.col)) let (js_diag : Prims.string -> Prims.string -> FStar_Range.range FStar_Pervasives_Native.option -> assoct) = - fun fname -> - fun msg -> - fun r -> + fun fname -> + fun msg -> + fun r -> let r' = match r with | FStar_Pervasives_Native.Some r1 -> js_range r1 - | FStar_Pervasives_Native.None -> js_dummyrange in + | FStar_Pervasives_Native.None -> js_dummyrange in let ds = ("diagnostics", (FStar_Util.JsonList [FStar_Util.JsonAssoc - [("range", r'); ("message", (FStar_Util.JsonStr msg))]])) in + [("range", r'); ("message", (FStar_Util.JsonStr msg))]])) + in let uu____3349 = let uu____3357 = let uu____3363 = let uu____3364 = let uu____3372 = let uu____3378 = - let uu____3379 = path_to_uri fname in - FStar_Util.JsonStr uu____3379 in - ("uri", uu____3378) in - [uu____3372; ds] in - FStar_Util.JsonAssoc uu____3364 in - ("params", uu____3363) in - [uu____3357] in + let uu____3379 = path_to_uri fname in + FStar_Util.JsonStr uu____3379 in + ("uri", uu____3378) in + [uu____3372; ds] in + FStar_Util.JsonAssoc uu____3364 in + ("params", uu____3363) in + [uu____3357] in ("method", (FStar_Util.JsonStr "textDocument/publishDiagnostics")) :: uu____3349 + let (js_diag_clear : Prims.string -> assoct) = - fun fname -> + fun fname -> let uu____3426 = let uu____3434 = let uu____3440 = let uu____3441 = let uu____3449 = let uu____3455 = - let uu____3456 = path_to_uri fname in - FStar_Util.JsonStr uu____3456 in - ("uri", uu____3455) in - [uu____3449; ("diagnostics", (FStar_Util.JsonList []))] in - FStar_Util.JsonAssoc uu____3441 in - ("params", uu____3440) in - [uu____3434] in + let uu____3456 = path_to_uri fname in + FStar_Util.JsonStr uu____3456 in + ("uri", uu____3455) in + [uu____3449; ("diagnostics", (FStar_Util.JsonList []))] in + FStar_Util.JsonAssoc uu____3441 in + ("params", uu____3440) in + [uu____3434] in ("method", (FStar_Util.JsonStr "textDocument/publishDiagnostics")) :: - uu____3426 \ No newline at end of file + uu____3426 + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Main.ml b/src/ocaml-output/FStar_Main.ml index bfc5f93f41c..2843084e4e5 100644 --- a/src/ocaml-output/FStar_Main.ml +++ b/src/ocaml-output/FStar_Main.ml @@ -1,49 +1,54 @@ open Prims -let (uu___0 : unit) = FStar_Version.dummy () +let (uu___0 : unit) = FStar_Version.dummy () let (process_args : unit -> (FStar_Getopt.parse_cmdline_res * Prims.string Prims.list)) = - fun uu____12 -> FStar_Options.parse_cmd_line () -let (cleanup : unit -> unit) = fun uu____25 -> FStar_Util.kill_all () + fun uu____12 -> FStar_Options.parse_cmd_line () +let (cleanup : unit -> unit) = fun uu____25 -> FStar_Util.kill_all () let (finished_message : ((Prims.bool * FStar_Ident.lident) * Prims.int) Prims.list -> Prims.int -> unit) = - fun fmods -> - fun errs -> + fun fmods -> + fun errs -> let print_to = if errs > (Prims.parse_int "0") then FStar_Util.print_error - else FStar_Util.print_string in + else FStar_Util.print_string in let uu____77 = - let uu____79 = FStar_Options.silent () in Prims.op_Negation uu____79 in + let uu____79 = FStar_Options.silent () in Prims.op_Negation uu____79 + in if uu____77 then (FStar_All.pipe_right fmods (FStar_List.iter - (fun uu____112 -> + (fun uu____112 -> match uu____112 with - | ((iface1, name), time) -> + | ((iface1,name),time) -> let tag = - if iface1 then "i'face (or impl+i'face)" else "module" in + if iface1 then "i'face (or impl+i'face)" else "module" + in let uu____143 = FStar_Options.should_print_message - name.FStar_Ident.str in + name.FStar_Ident.str + in if uu____143 then (if time >= (Prims.parse_int "0") then let uu____148 = - let uu____150 = FStar_Ident.text_of_lid name in - let uu____152 = FStar_Util.string_of_int time in + let uu____150 = FStar_Ident.text_of_lid name in + let uu____152 = FStar_Util.string_of_int time in FStar_Util.format3 "Verified %s: %s (%s milliseconds)\n" tag - uu____150 uu____152 in + uu____150 uu____152 + in print_to uu____148 else (let uu____157 = - let uu____159 = FStar_Ident.text_of_lid name in + let uu____159 = FStar_Ident.text_of_lid name in FStar_Util.format2 "Verified %s: %s\n" tag - uu____159 in + uu____159 + in print_to uu____157)) else ())); if errs > (Prims.parse_int "0") @@ -51,130 +56,148 @@ let (finished_message : (if errs = (Prims.parse_int "1") then FStar_Util.print_error "1 error was reported (see above)\n" else - (let uu____172 = FStar_Util.string_of_int errs in + (let uu____172 = FStar_Util.string_of_int errs in FStar_Util.print1_error "%s errors were reported (see above)\n" uu____172)) else (let uu____177 = FStar_Util.colorize_bold - "All verification conditions discharged successfully" in + "All verification conditions discharged successfully" + in FStar_Util.print1 "%s\n" uu____177)) else () + let (report_errors : ((Prims.bool * FStar_Ident.lident) * Prims.int) Prims.list -> unit) = - fun fmods -> - (let uu____214 = FStar_Errors.report_all () in - FStar_All.pipe_right uu____214 (fun a1 -> ())); - (let nerrs = FStar_Errors.get_err_count () in + fun fmods -> + (let uu____214 = FStar_Errors.report_all () in + FStar_All.pipe_right uu____214 (fun a1 -> ())); + (let nerrs = FStar_Errors.get_err_count () in if nerrs > (Prims.parse_int "0") then (finished_message fmods nerrs; FStar_All.exit (Prims.parse_int "1")) else ()) + let (load_native_tactics : unit -> unit) = - fun uu____232 -> + fun uu____232 -> let modules_to_load = - let uu____236 = FStar_Options.load () in - FStar_All.pipe_right uu____236 (FStar_List.map FStar_Ident.lid_of_str) in + let uu____236 = FStar_Options.load () in + FStar_All.pipe_right uu____236 (FStar_List.map FStar_Ident.lid_of_str) + in let ml_module_name m = - let uu____253 = FStar_Extraction_ML_Util.mlpath_of_lid m in - FStar_All.pipe_right uu____253 FStar_Extraction_ML_Util.flatten_mlpath in + let uu____253 = FStar_Extraction_ML_Util.mlpath_of_lid m in + FStar_All.pipe_right uu____253 FStar_Extraction_ML_Util.flatten_mlpath + in let ml_file m = - let uu____278 = ml_module_name m in Prims.op_Hat uu____278 ".ml" in + let uu____278 = ml_module_name m in Prims.op_Hat uu____278 ".ml" in let cmxs_file m = let cmxs = - let uu____290 = ml_module_name m in Prims.op_Hat uu____290 ".cmxs" in - let uu____293 = FStar_Options.find_file cmxs in + let uu____290 = ml_module_name m in Prims.op_Hat uu____290 ".cmxs" + in + let uu____293 = FStar_Options.find_file cmxs in match uu____293 with | FStar_Pervasives_Native.Some f -> f - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____302 = - let uu____306 = ml_file m in FStar_Options.find_file uu____306 in + let uu____306 = ml_file m in FStar_Options.find_file uu____306 + in (match uu____302 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____310 = let uu____316 = - let uu____318 = ml_file m in + let uu____318 = ml_file m in FStar_Util.format1 "Failed to compile native tactic; extracted module %s not found" - uu____318 in - (FStar_Errors.Fatal_FailToCompileNativeTactic, uu____316) in + uu____318 + in + (FStar_Errors.Fatal_FailToCompileNativeTactic, uu____316) + in FStar_Errors.raise_err uu____310 | FStar_Pervasives_Native.Some ml -> - let dir = FStar_Util.dirname ml in + let dir = FStar_Util.dirname ml in ((let uu____329 = - let uu____333 = ml_module_name m in [uu____333] in + let uu____333 = ml_module_name m in [uu____333] in FStar_Tactics_Load.compile_modules dir uu____329); - (let uu____337 = FStar_Options.find_file cmxs in + (let uu____337 = FStar_Options.find_file cmxs in match uu____337 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____343 = let uu____349 = FStar_Util.format1 "Failed to compile native tactic; compiled object %s not found" - cmxs in + cmxs + in (FStar_Errors.Fatal_FailToCompileNativeTactic, - uu____349) in + uu____349) + in FStar_Errors.raise_err uu____343 - | FStar_Pervasives_Native.Some f -> f))) in + | FStar_Pervasives_Native.Some f -> f))) + in let cmxs_files = - FStar_All.pipe_right modules_to_load (FStar_List.map cmxs_file) in - FStar_List.iter (fun x -> FStar_Util.print1 "cmxs file: %s\n" x) + FStar_All.pipe_right modules_to_load (FStar_List.map cmxs_file) in + FStar_List.iter (fun x -> FStar_Util.print1 "cmxs file: %s\n" x) cmxs_files; FStar_Tactics_Load.load_tactics cmxs_files + let (fstar_files : Prims.string Prims.list FStar_Pervasives_Native.option FStar_ST.ref) = - FStar_Util.mk_ref FStar_Pervasives_Native.None + FStar_Util.mk_ref FStar_Pervasives_Native.None let go : 'Auu____394 . 'Auu____394 -> unit = - fun uu____399 -> - let uu____400 = process_args () in + fun uu____399 -> + let uu____400 = process_args () in match uu____400 with - | (res, filenames) -> + | (res,filenames) -> (match res with - | FStar_Getopt.Help -> + | FStar_Getopt.Help -> (FStar_Options.display_usage (); FStar_All.exit (Prims.parse_int "0")) | FStar_Getopt.Error msg -> (FStar_Util.print_error msg; FStar_All.exit (Prims.parse_int "1")) - | FStar_Getopt.Success -> + | FStar_Getopt.Success -> (FStar_ST.op_Colon_Equals fstar_files (FStar_Pervasives_Native.Some filenames); load_native_tactics (); (let uu____456 = - let uu____458 = FStar_Options.dep () in - uu____458 <> FStar_Pervasives_Native.None in + let uu____458 = FStar_Options.dep () in + uu____458 <> FStar_Pervasives_Native.None in if uu____456 then let uu____467 = FStar_Parser_Dep.collect filenames - FStar_CheckedFiles.load_parsing_data_from_cache in + FStar_CheckedFiles.load_parsing_data_from_cache + in match uu____467 with - | (uu____475, deps) -> FStar_Parser_Dep.print deps + | (uu____475,deps) -> FStar_Parser_Dep.print deps else (let uu____485 = ((FStar_Options.use_extracted_interfaces ()) && - (let uu____488 = FStar_Options.expose_interfaces () in + (let uu____488 = FStar_Options.expose_interfaces () + in Prims.op_Negation uu____488)) && - ((FStar_List.length filenames) > (Prims.parse_int "1")) in + ((FStar_List.length filenames) > (Prims.parse_int "1")) + in if uu____485 then let uu____493 = let uu____499 = let uu____501 = FStar_Util.string_of_int - (FStar_List.length filenames) in + (FStar_List.length filenames) + in Prims.op_Hat "Only one command line file is allowed if --use_extracted_interfaces is set, found " - uu____501 in - (FStar_Errors.Error_TooManyFiles, uu____499) in + uu____501 + in + (FStar_Errors.Error_TooManyFiles, uu____499) in FStar_Errors.raise_error uu____493 FStar_Range.dummyRange else - (let uu____508 = FStar_Options.lsp_server () in + (let uu____508 = FStar_Options.lsp_server () in if uu____508 then FStar_Interactive_Lsp.start_server () else - (let uu____513 = FStar_Options.interactive () in + (let uu____513 = FStar_Options.interactive () in if uu____513 then match filenames with @@ -190,7 +213,7 @@ let go : 'Auu____394 . 'Auu____394 -> unit = FStar_All.exit (Prims.parse_int "1")) | filename::[] -> let uu____539 = - FStar_Options.legacy_interactive () in + FStar_Options.legacy_interactive () in (if uu____539 then FStar_Interactive_Legacy.interactive_mode @@ -199,13 +222,14 @@ let go : 'Auu____394 . 'Auu____394 -> unit = FStar_Interactive_Ide.interactive_mode filename) else - (let uu____546 = FStar_Options.doc () in + (let uu____546 = FStar_Options.doc () in if uu____546 then FStar_Fsdoc_Generator.generate filenames else (let uu____551 = (FStar_Options.print ()) || - (FStar_Options.print_in_place ()) in + (FStar_Options.print_in_place ()) + in if uu____551 then (if @@ -224,23 +248,27 @@ let go : 'Auu____394 . 'Auu____394 -> unit = (let uu____563 = FStar_Dependencies.find_deps_if_needed filenames - FStar_CheckedFiles.load_parsing_data_from_cache in + FStar_CheckedFiles.load_parsing_data_from_cache + in match uu____563 with - | (filenames1, dep_graph1) -> + | (filenames1,dep_graph1) -> let uu____579 = FStar_Universal.batch_mode_tc - filenames1 dep_graph1 in + filenames1 dep_graph1 + in (match uu____579 with - | (tcrs, env, cleanup1) -> - ((let uu____605 = cleanup1 env in + | (tcrs,env,cleanup1) -> + ((let uu____605 = cleanup1 env + in ()); (let module_names_and_times = FStar_All.pipe_right tcrs (FStar_List.map - (fun tcr -> + (fun tcr -> ((FStar_Universal.module_or_interface_name tcr.FStar_CheckedFiles.checked_module), - (tcr.FStar_CheckedFiles.tc_time)))) in + (tcr.FStar_CheckedFiles.tc_time)))) + in report_errors module_names_and_times; finished_message @@ -251,37 +279,40 @@ let go : 'Auu____394 . 'Auu____394 -> unit = (FStar_Errors.Error_MissingFileName, "No file provided") FStar_Range.dummyRange)))))))) + let (lazy_chooser : FStar_Syntax_Syntax.lazy_kind -> FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun k -> - fun i -> + fun k -> + fun i -> match k with - | FStar_Syntax_Syntax.BadLazy -> failwith "lazy chooser: got a BadLazy" - | FStar_Syntax_Syntax.Lazy_bv -> + | FStar_Syntax_Syntax.BadLazy -> + failwith "lazy chooser: got a BadLazy" + | FStar_Syntax_Syntax.Lazy_bv -> FStar_Reflection_Embeddings.unfold_lazy_bv i - | FStar_Syntax_Syntax.Lazy_binder -> + | FStar_Syntax_Syntax.Lazy_binder -> FStar_Reflection_Embeddings.unfold_lazy_binder i - | FStar_Syntax_Syntax.Lazy_fvar -> + | FStar_Syntax_Syntax.Lazy_fvar -> FStar_Reflection_Embeddings.unfold_lazy_fvar i - | FStar_Syntax_Syntax.Lazy_comp -> + | FStar_Syntax_Syntax.Lazy_comp -> FStar_Reflection_Embeddings.unfold_lazy_comp i - | FStar_Syntax_Syntax.Lazy_env -> + | FStar_Syntax_Syntax.Lazy_env -> FStar_Reflection_Embeddings.unfold_lazy_env i - | FStar_Syntax_Syntax.Lazy_sigelt -> + | FStar_Syntax_Syntax.Lazy_sigelt -> FStar_Reflection_Embeddings.unfold_lazy_sigelt i - | FStar_Syntax_Syntax.Lazy_proofstate -> + | FStar_Syntax_Syntax.Lazy_proofstate -> FStar_Tactics_Embedding.unfold_lazy_proofstate i - | FStar_Syntax_Syntax.Lazy_goal -> + | FStar_Syntax_Syntax.Lazy_goal -> FStar_Tactics_Embedding.unfold_lazy_goal i - | FStar_Syntax_Syntax.Lazy_uvar -> + | FStar_Syntax_Syntax.Lazy_uvar -> FStar_Syntax_Util.exp_string "((uvar))" - | FStar_Syntax_Syntax.Lazy_embedding (uu____676, t) -> + | FStar_Syntax_Syntax.Lazy_embedding (uu____676,t) -> FStar_Common.force_thunk t + let (setup_hooks : unit -> unit) = - fun uu____693 -> + fun uu____693 -> FStar_Options.initialize_parse_warn_error FStar_Parser_ParseIt.parse_warn_error; FStar_ST.op_Colon_Equals FStar_Syntax_Syntax.lazy_chooser @@ -290,60 +321,64 @@ let (setup_hooks : unit -> unit) = (FStar_Pervasives_Native.Some FStar_Syntax_Print.term_to_string); FStar_ST.op_Colon_Equals FStar_TypeChecker_Normalize.unembed_binder_knot (FStar_Pervasives_Native.Some FStar_Reflection_Embeddings.e_binder) + let (handle_error : Prims.exn -> unit) = - fun e -> + fun e -> if FStar_Errors.handleable e then FStar_Errors.err_exn e else (); - (let uu____813 = FStar_Options.trace_error () in + (let uu____813 = FStar_Options.trace_error () in if uu____813 then - let uu____816 = FStar_Util.message_of_exn e in - let uu____818 = FStar_Util.trace_of_exn e in + let uu____816 = FStar_Util.message_of_exn e in + let uu____818 = FStar_Util.trace_of_exn e in FStar_Util.print2_error "Unexpected error\n%s\n%s\n" uu____816 uu____818 else if Prims.op_Negation (FStar_Errors.handleable e) then - (let uu____824 = FStar_Util.message_of_exn e in + (let uu____824 = FStar_Util.message_of_exn e in FStar_Util.print1_error "Unexpected error; please file a bug report, ideally with a minimized version of the source program that triggered the error.\n%s\n" uu____824) else ()); cleanup (); report_errors [] + let (main : unit -> unit) = - fun uu____845 -> + fun uu____845 -> try - (fun uu___122_855 -> + (fun uu___122_855 -> match () with | () -> (setup_hooks (); - (let uu____857 = FStar_Util.record_time go in + (let uu____857 = FStar_Util.record_time go in match uu____857 with - | (uu____863, time) -> + | (uu____863,time) -> let uu____867 = (FStar_Options.print ()) || - (FStar_Options.print_in_place ()) in + (FStar_Options.print_in_place ()) + in if uu____867 then - let uu____870 = FStar_ST.op_Bang fstar_files in + let uu____870 = FStar_ST.op_Bang fstar_files in (match uu____870 with | FStar_Pervasives_Native.Some filenames -> let printing_mode = - let uu____913 = FStar_Options.print () in + let uu____913 = FStar_Options.print () in if uu____913 then FStar_Prettyprint.FromTempToStdout - else FStar_Prettyprint.FromTempToFile in + else FStar_Prettyprint.FromTempToFile in FStar_Prettyprint.generate printing_mode filenames - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Util.print_error "Internal error: List of source files not properly set"; - (let uu____924 = FStar_Options.query_stats () in + (let uu____924 = FStar_Options.query_stats () in if uu____924 then - let uu____927 = FStar_Util.string_of_int time in + let uu____927 = FStar_Util.string_of_int time + in let uu____929 = - let uu____931 = FStar_Getopt.cmdline () in - FStar_String.concat " " uu____931 in + let uu____931 = FStar_Getopt.cmdline () in + FStar_String.concat " " uu____931 in FStar_Util.print2 "TOTAL TIME %s ms: %s\n" uu____927 uu____929 else ()); @@ -352,4 +387,5 @@ let (main : unit -> unit) = else ()))) () with | uu___121_945 -> - (handle_error uu___121_945; FStar_All.exit (Prims.parse_int "1")) \ No newline at end of file + (handle_error uu___121_945; FStar_All.exit (Prims.parse_int "1")) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Options.ml b/src/ocaml-output/FStar_Options.ml index 7153d05360f..8882f440529 100644 --- a/src/ocaml-output/FStar_Options.ml +++ b/src/ocaml-output/FStar_Options.ml @@ -1,6 +1,6 @@ open Prims -let (debug_embedding : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false -let (eager_embedding : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false +let (debug_embedding : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false +let (eager_embedding : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false type debug_level_t = | Low | Medium @@ -8,18 +8,23 @@ type debug_level_t = | Extreme | Other of Prims.string let (uu___is_Low : debug_level_t -> Prims.bool) = - fun projectee -> match projectee with | Low -> true | uu____26 -> false + fun projectee -> match projectee with | Low -> true | uu____26 -> false let (uu___is_Medium : debug_level_t -> Prims.bool) = - fun projectee -> match projectee with | Medium -> true | uu____37 -> false + fun projectee -> + match projectee with | Medium -> true | uu____37 -> false + let (uu___is_High : debug_level_t -> Prims.bool) = - fun projectee -> match projectee with | High -> true | uu____48 -> false + fun projectee -> match projectee with | High -> true | uu____48 -> false let (uu___is_Extreme : debug_level_t -> Prims.bool) = - fun projectee -> match projectee with | Extreme -> true | uu____59 -> false + fun projectee -> + match projectee with | Extreme -> true | uu____59 -> false + let (uu___is_Other : debug_level_t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Other _0 -> true | uu____72 -> false + let (__proj__Other__item___0 : debug_level_t -> Prims.string) = - fun projectee -> match projectee with | Other _0 -> _0 + fun projectee -> match projectee with | Other _0 -> _0 type option_val = | Bool of Prims.bool | String of Prims.string @@ -28,42 +33,39 @@ type option_val = | List of option_val Prims.list | Unset let (uu___is_Bool : option_val -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Bool _0 -> true | uu____126 -> false + let (__proj__Bool__item___0 : option_val -> Prims.bool) = - fun projectee -> match projectee with | Bool _0 -> _0 + fun projectee -> match projectee with | Bool _0 -> _0 let (uu___is_String : option_val -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | String _0 -> true | uu____149 -> false + let (__proj__String__item___0 : option_val -> Prims.string) = - fun projectee -> match projectee with | String _0 -> _0 + fun projectee -> match projectee with | String _0 -> _0 let (uu___is_Path : option_val -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Path _0 -> true | uu____172 -> false + let (__proj__Path__item___0 : option_val -> Prims.string) = - fun projectee -> match projectee with | Path _0 -> _0 + fun projectee -> match projectee with | Path _0 -> _0 let (uu___is_Int : option_val -> Prims.bool) = - fun projectee -> match projectee with | Int _0 -> true | uu____195 -> false + fun projectee -> + match projectee with | Int _0 -> true | uu____195 -> false + let (__proj__Int__item___0 : option_val -> Prims.int) = - fun projectee -> match projectee with | Int _0 -> _0 + fun projectee -> match projectee with | Int _0 -> _0 let (uu___is_List : option_val -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | List _0 -> true | uu____219 -> false + let (__proj__List__item___0 : option_val -> option_val Prims.list) = - fun projectee -> match projectee with | List _0 -> _0 + fun projectee -> match projectee with | List _0 -> _0 let (uu___is_Unset : option_val -> Prims.bool) = - fun projectee -> match projectee with | Unset -> true | uu____243 -> false -type options = - | Set - | Reset - | Restore -let (uu___is_Set : options -> Prims.bool) = - fun projectee -> match projectee with | Set -> true | uu____254 -> false -let (uu___is_Reset : options -> Prims.bool) = - fun projectee -> match projectee with | Reset -> true | uu____265 -> false -let (uu___is_Restore : options -> Prims.bool) = - fun projectee -> - match projectee with | Restore -> true | uu____276 -> false + fun projectee -> + match projectee with | Unset -> true | uu____243 -> false + type error_flag = | CFatal | CAlwaysError @@ -71,164 +73,190 @@ type error_flag = | CWarning | CSilent let (uu___is_CFatal : error_flag -> Prims.bool) = - fun projectee -> match projectee with | CFatal -> true | uu____287 -> false + fun projectee -> + match projectee with | CFatal -> true | uu____254 -> false + let (uu___is_CAlwaysError : error_flag -> Prims.bool) = - fun projectee -> - match projectee with | CAlwaysError -> true | uu____298 -> false + fun projectee -> + match projectee with | CAlwaysError -> true | uu____265 -> false + let (uu___is_CError : error_flag -> Prims.bool) = - fun projectee -> match projectee with | CError -> true | uu____309 -> false + fun projectee -> + match projectee with | CError -> true | uu____276 -> false + let (uu___is_CWarning : error_flag -> Prims.bool) = - fun projectee -> - match projectee with | CWarning -> true | uu____320 -> false + fun projectee -> + match projectee with | CWarning -> true | uu____287 -> false + let (uu___is_CSilent : error_flag -> Prims.bool) = - fun projectee -> - match projectee with | CSilent -> true | uu____331 -> false -let (__unit_tests__ : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false + fun projectee -> + match projectee with | CSilent -> true | uu____298 -> false + +let (__unit_tests__ : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false let (__unit_tests : unit -> Prims.bool) = - fun uu____345 -> FStar_ST.op_Bang __unit_tests__ + fun uu____312 -> FStar_ST.op_Bang __unit_tests__ let (__set_unit_tests : unit -> unit) = - fun uu____372 -> FStar_ST.op_Colon_Equals __unit_tests__ true + fun uu____339 -> FStar_ST.op_Colon_Equals __unit_tests__ true let (__clear_unit_tests : unit -> unit) = - fun uu____400 -> FStar_ST.op_Colon_Equals __unit_tests__ false + fun uu____367 -> FStar_ST.op_Colon_Equals __unit_tests__ false let (as_bool : option_val -> Prims.bool) = - fun uu___0_429 -> - match uu___0_429 with + fun uu___0_396 -> + match uu___0_396 with | Bool b -> b - | uu____433 -> failwith "Impos: expected Bool" + | uu____400 -> failwith "Impos: expected Bool" + let (as_int : option_val -> Prims.int) = - fun uu___1_442 -> - match uu___1_442 with + fun uu___1_409 -> + match uu___1_409 with | Int b -> b - | uu____446 -> failwith "Impos: expected Int" + | uu____413 -> failwith "Impos: expected Int" + let (as_string : option_val -> Prims.string) = - fun uu___2_455 -> - match uu___2_455 with + fun uu___2_422 -> + match uu___2_422 with | String b -> b | Path b -> FStar_Common.try_convert_file_name_to_mixed b - | uu____461 -> failwith "Impos: expected String" + | uu____428 -> failwith "Impos: expected String" + let (as_list' : option_val -> option_val Prims.list) = - fun uu___3_471 -> - match uu___3_471 with + fun uu___3_438 -> + match uu___3_438 with | List ts -> ts - | uu____477 -> failwith "Impos: expected List" + | uu____444 -> failwith "Impos: expected List" + let as_list : - 'Auu____488 . - (option_val -> 'Auu____488) -> option_val -> 'Auu____488 Prims.list + 'Auu____455 . + (option_val -> 'Auu____455) -> option_val -> 'Auu____455 Prims.list = - fun as_t -> - fun x -> - let uu____506 = as_list' x in - FStar_All.pipe_right uu____506 (FStar_List.map as_t) + fun as_t -> + fun x -> + let uu____473 = as_list' x in + FStar_All.pipe_right uu____473 (FStar_List.map as_t) + let as_option : - 'Auu____520 . - (option_val -> 'Auu____520) -> - option_val -> 'Auu____520 FStar_Pervasives_Native.option + 'Auu____487 . + (option_val -> 'Auu____487) -> + option_val -> 'Auu____487 FStar_Pervasives_Native.option = - fun as_t -> - fun uu___4_535 -> - match uu___4_535 with - | Unset -> FStar_Pervasives_Native.None + fun as_t -> + fun uu___4_502 -> + match uu___4_502 with + | Unset -> FStar_Pervasives_Native.None | v1 -> - let uu____539 = as_t v1 in FStar_Pervasives_Native.Some uu____539 + let uu____506 = as_t v1 in FStar_Pervasives_Native.Some uu____506 + let (as_comma_string_list : option_val -> Prims.string Prims.list) = - fun uu___5_548 -> - match uu___5_548 with + fun uu___5_515 -> + match uu___5_515 with | List ls -> - let uu____555 = + let uu____522 = FStar_List.map - (fun l -> - let uu____567 = as_string l in FStar_Util.split uu____567 ",") - ls in - FStar_All.pipe_left FStar_List.flatten uu____555 - | uu____579 -> failwith "Impos: expected String (comma list)" + (fun l -> + let uu____534 = as_string l in FStar_Util.split uu____534 ",") + ls + in + FStar_All.pipe_left FStar_List.flatten uu____522 + | uu____546 -> failwith "Impos: expected String (comma list)" + type optionstate = option_val FStar_Util.smap let copy_optionstate : - 'Auu____591 . 'Auu____591 FStar_Util.smap -> 'Auu____591 FStar_Util.smap = - fun m -> FStar_Util.smap_copy m + 'Auu____558 . 'Auu____558 FStar_Util.smap -> 'Auu____558 FStar_Util.smap = + fun m -> FStar_Util.smap_copy m let (fstar_options : optionstate Prims.list Prims.list FStar_ST.ref) = - FStar_Util.mk_ref [] + FStar_Util.mk_ref [] let (internal_peek : unit -> optionstate) = - fun uu____621 -> - let uu____622 = - let uu____625 = FStar_ST.op_Bang fstar_options in - FStar_List.hd uu____625 in - FStar_List.hd uu____622 -let (peek : unit -> optionstate) = fun uu____664 -> internal_peek () + fun uu____588 -> + let uu____589 = + let uu____592 = FStar_ST.op_Bang fstar_options in + FStar_List.hd uu____592 in + FStar_List.hd uu____589 + +let (peek : unit -> optionstate) = fun uu____631 -> internal_peek () let (pop : unit -> unit) = - fun uu____670 -> - let uu____671 = FStar_ST.op_Bang fstar_options in - match uu____671 with + fun uu____637 -> + let uu____638 = FStar_ST.op_Bang fstar_options in + match uu____638 with | [] -> failwith "TOO MANY POPS!" - | uu____706::[] -> failwith "TOO MANY POPS!" - | uu____714::tl1 -> FStar_ST.op_Colon_Equals fstar_options tl1 + | uu____673::[] -> failwith "TOO MANY POPS!" + | uu____681::tl1 -> FStar_ST.op_Colon_Equals fstar_options tl1 + let (push : unit -> unit) = - fun uu____756 -> - let uu____757 = - let uu____762 = - let uu____765 = - let uu____768 = FStar_ST.op_Bang fstar_options in - FStar_List.hd uu____768 in - FStar_List.map copy_optionstate uu____765 in - let uu____802 = FStar_ST.op_Bang fstar_options in uu____762 :: - uu____802 in - FStar_ST.op_Colon_Equals fstar_options uu____757 + fun uu____723 -> + let uu____724 = + let uu____729 = + let uu____732 = + let uu____735 = FStar_ST.op_Bang fstar_options in + FStar_List.hd uu____735 in + FStar_List.map copy_optionstate uu____732 in + let uu____769 = FStar_ST.op_Bang fstar_options in uu____729 :: + uu____769 + in + FStar_ST.op_Colon_Equals fstar_options uu____724 + let (internal_pop : unit -> Prims.bool) = - fun uu____869 -> + fun uu____836 -> let curstack = - let uu____873 = FStar_ST.op_Bang fstar_options in - FStar_List.hd uu____873 in + let uu____840 = FStar_ST.op_Bang fstar_options in + FStar_List.hd uu____840 in match curstack with | [] -> failwith "impossible: empty current option stack" - | uu____910::[] -> false - | uu____912::tl1 -> - ((let uu____917 = - let uu____922 = - let uu____927 = FStar_ST.op_Bang fstar_options in - FStar_List.tl uu____927 in - tl1 :: uu____922 in - FStar_ST.op_Colon_Equals fstar_options uu____917); + | uu____877::[] -> false + | uu____879::tl1 -> + ((let uu____884 = + let uu____889 = + let uu____894 = FStar_ST.op_Bang fstar_options in + FStar_List.tl uu____894 in + tl1 :: uu____889 in + FStar_ST.op_Colon_Equals fstar_options uu____884); true) + let (internal_push : unit -> unit) = - fun uu____996 -> + fun uu____963 -> let curstack = - let uu____1000 = FStar_ST.op_Bang fstar_options in - FStar_List.hd uu____1000 in + let uu____967 = FStar_ST.op_Bang fstar_options in + FStar_List.hd uu____967 in let stack' = - let uu____1037 = - let uu____1038 = FStar_List.hd curstack in - copy_optionstate uu____1038 in - uu____1037 :: curstack in - let uu____1041 = - let uu____1046 = - let uu____1051 = FStar_ST.op_Bang fstar_options in - FStar_List.tl uu____1051 in - stack' :: uu____1046 in - FStar_ST.op_Colon_Equals fstar_options uu____1041 + let uu____1004 = + let uu____1005 = FStar_List.hd curstack in + copy_optionstate uu____1005 in + uu____1004 :: curstack in + let uu____1008 = + let uu____1013 = + let uu____1018 = FStar_ST.op_Bang fstar_options in + FStar_List.tl uu____1018 in + stack' :: uu____1013 in + FStar_ST.op_Colon_Equals fstar_options uu____1008 + let (set : optionstate -> unit) = - fun o -> - let uu____1120 = FStar_ST.op_Bang fstar_options in - match uu____1120 with + fun o -> + let uu____1087 = FStar_ST.op_Bang fstar_options in + match uu____1087 with | [] -> failwith "set on empty option stack" - | []::uu____1155 -> failwith "set on empty current option stack" - | (uu____1163::tl1)::os -> + | []::uu____1122 -> failwith "set on empty current option stack" + | (uu____1130::tl1)::os -> FStar_ST.op_Colon_Equals fstar_options ((o :: tl1) :: os) + let (snapshot : unit -> (Prims.int * unit)) = - fun uu____1213 -> FStar_Common.snapshot push fstar_options () + fun uu____1180 -> FStar_Common.snapshot push fstar_options () let (rollback : Prims.int FStar_Pervasives_Native.option -> unit) = - fun depth -> FStar_Common.rollback pop fstar_options depth + fun depth -> FStar_Common.rollback pop fstar_options depth let (set_option : Prims.string -> option_val -> unit) = - fun k -> - fun v1 -> let uu____1243 = peek () in FStar_Util.smap_add uu____1243 k v1 + fun k -> + fun v1 -> + let uu____1210 = peek () in FStar_Util.smap_add uu____1210 k v1 + let (set_option' : (Prims.string * option_val) -> unit) = - fun uu____1256 -> match uu____1256 with | (k, v1) -> set_option k v1 + fun uu____1223 -> match uu____1223 with | (k,v1) -> set_option k v1 let (light_off_files : Prims.string Prims.list FStar_ST.ref) = - FStar_Util.mk_ref [] + FStar_Util.mk_ref [] let (add_light_off_file : Prims.string -> unit) = - fun filename -> - let uu____1284 = - let uu____1288 = FStar_ST.op_Bang light_off_files in filename :: - uu____1288 in - FStar_ST.op_Colon_Equals light_off_files uu____1284 + fun filename -> + let uu____1251 = + let uu____1255 = FStar_ST.op_Bang light_off_files in filename :: + uu____1255 + in + FStar_ST.op_Colon_Equals light_off_files uu____1251 + let (defaults : (Prims.string * option_val) Prims.list) = [("__temp_no_proj", (List [])); ("__temp_fast_implicits", (Bool false)); @@ -279,7 +307,6 @@ let (defaults : (Prims.string * option_val) Prims.list) = ("max_ifuel", (Int (Prims.parse_int "2"))); ("min_fuel", (Int (Prims.parse_int "1"))); ("MLish", (Bool false)); - ("n_cores", (Int (Prims.parse_int "1"))); ("no_default_includes", (Bool false)); ("no_extract", (List [])); ("no_location_info", (Bool false)); @@ -338,409 +365,437 @@ let (defaults : (Prims.string * option_val) Prims.list) = ("__tactics_nbe", (Bool false)); ("warn_error", (List [])); ("use_extracted_interfaces", (Bool false)); - ("use_nbe", (Bool false))] + ("use_nbe", (Bool false)); + ("trivial_pre_for_unannotated_effectful_fns", (Bool true))] let (parse_warn_error_set_get : (((Prims.string -> error_flag Prims.list) -> unit) * (unit -> Prims.string -> error_flag Prims.list))) = - let r = FStar_Util.mk_ref FStar_Pervasives_Native.None in + let r = FStar_Util.mk_ref FStar_Pervasives_Native.None in let set1 f = - let uu____2265 = FStar_ST.op_Bang r in - match uu____2265 with - | FStar_Pervasives_Native.None -> + let uu____2232 = FStar_ST.op_Bang r in + match uu____2232 with + | FStar_Pervasives_Native.None -> FStar_ST.op_Colon_Equals r (FStar_Pervasives_Native.Some f) - | uu____2356 -> failwith "Multiple initialization of FStar.Options" in - let get1 uu____2377 = - let uu____2378 = FStar_ST.op_Bang r in - match uu____2378 with + | uu____2323 -> failwith "Multiple initialization of FStar.Options" in + let get1 uu____2344 = + let uu____2345 = FStar_ST.op_Bang r in + match uu____2345 with | FStar_Pervasives_Native.Some f -> f - | FStar_Pervasives_Native.None -> - failwith "FStar.Options is improperly initialized" in - (set1, get1) + | FStar_Pervasives_Native.None -> + failwith "FStar.Options is improperly initialized" + in + (set1, get1) let (initialize_parse_warn_error : (Prims.string -> error_flag Prims.list) -> unit) = - fun f -> FStar_Pervasives_Native.fst parse_warn_error_set_get f + fun f -> FStar_Pervasives_Native.fst parse_warn_error_set_get f let (parse_warn_error : Prims.string -> error_flag Prims.list) = - fun s -> - let uu____2517 = FStar_Pervasives_Native.snd parse_warn_error_set_get () in - uu____2517 s + fun s -> + let uu____2484 = FStar_Pervasives_Native.snd parse_warn_error_set_get () + in + uu____2484 s + let (init : unit -> unit) = - fun uu____2548 -> - let o = peek () in + fun uu____2515 -> + let o = peek () in FStar_Util.smap_clear o; FStar_All.pipe_right defaults (FStar_List.iter set_option') + let (clear : unit -> unit) = - fun uu____2568 -> - let o = FStar_Util.smap_create (Prims.parse_int "50") in + fun uu____2535 -> + let o = FStar_Util.smap_create (Prims.parse_int "50") in FStar_ST.op_Colon_Equals fstar_options [[o]]; FStar_ST.op_Colon_Equals light_off_files []; init () -let (_run : unit) = clear () + +let (_run : unit) = clear () let (get_option : Prims.string -> option_val) = - fun s -> - let uu____2641 = - let uu____2644 = peek () in FStar_Util.smap_try_find uu____2644 s in - match uu____2641 with - | FStar_Pervasives_Native.None -> - let uu____2647 = - let uu____2649 = FStar_String.op_Hat s " not found" in - FStar_String.op_Hat "Impossible: option " uu____2649 in - failwith uu____2647 + fun s -> + let uu____2608 = + let uu____2611 = peek () in FStar_Util.smap_try_find uu____2611 s in + match uu____2608 with + | FStar_Pervasives_Native.None -> + let uu____2614 = + let uu____2616 = FStar_String.op_Hat s " not found" in + FStar_String.op_Hat "Impossible: option " uu____2616 in + failwith uu____2614 | FStar_Pervasives_Native.Some s1 -> s1 + let lookup_opt : - 'Auu____2661 . Prims.string -> (option_val -> 'Auu____2661) -> 'Auu____2661 - = fun s -> fun c -> let uu____2679 = get_option s in c uu____2679 + 'Auu____2628 . Prims.string -> (option_val -> 'Auu____2628) -> 'Auu____2628 + = fun s -> fun c -> let uu____2646 = get_option s in c uu____2646 let (get_abort_on : unit -> Prims.int) = - fun uu____2686 -> lookup_opt "abort_on" as_int + fun uu____2653 -> lookup_opt "abort_on" as_int let (get_admit_smt_queries : unit -> Prims.bool) = - fun uu____2695 -> lookup_opt "admit_smt_queries" as_bool + fun uu____2662 -> lookup_opt "admit_smt_queries" as_bool let (get_admit_except : unit -> Prims.string FStar_Pervasives_Native.option) - = fun uu____2706 -> lookup_opt "admit_except" (as_option as_string) + = fun uu____2673 -> lookup_opt "admit_except" (as_option as_string) let (get_already_cached : unit -> Prims.string Prims.list FStar_Pervasives_Native.option) = - fun uu____2722 -> + fun uu____2689 -> lookup_opt "already_cached" (as_option (as_list as_string)) + let (get_cache_checked_modules : unit -> Prims.bool) = - fun uu____2739 -> lookup_opt "cache_checked_modules" as_bool + fun uu____2706 -> lookup_opt "cache_checked_modules" as_bool let (get_cache_dir : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____2750 -> lookup_opt "cache_dir" (as_option as_string) + fun uu____2717 -> lookup_opt "cache_dir" (as_option as_string) let (get_cache_off : unit -> Prims.bool) = - fun uu____2762 -> lookup_opt "cache_off" as_bool + fun uu____2729 -> lookup_opt "cache_off" as_bool let (get_cmi : unit -> Prims.bool) = - fun uu____2771 -> lookup_opt "cmi" as_bool + fun uu____2738 -> lookup_opt "cmi" as_bool let (get_codegen : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____2782 -> lookup_opt "codegen" (as_option as_string) + fun uu____2749 -> lookup_opt "codegen" (as_option as_string) let (get_codegen_lib : unit -> Prims.string Prims.list) = - fun uu____2796 -> lookup_opt "codegen-lib" (as_list as_string) + fun uu____2763 -> lookup_opt "codegen-lib" (as_list as_string) let (get_debug : unit -> Prims.string Prims.list) = - fun uu____2810 -> lookup_opt "debug" (as_list as_string) + fun uu____2777 -> lookup_opt "debug" (as_list as_string) let (get_debug_level : unit -> Prims.string Prims.list) = - fun uu____2824 -> lookup_opt "debug_level" as_comma_string_list + fun uu____2791 -> lookup_opt "debug_level" as_comma_string_list let (get_defensive : unit -> Prims.string) = - fun uu____2835 -> lookup_opt "defensive" as_string + fun uu____2802 -> lookup_opt "defensive" as_string let (get_dep : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____2846 -> lookup_opt "dep" (as_option as_string) + fun uu____2813 -> lookup_opt "dep" (as_option as_string) let (get_detail_errors : unit -> Prims.bool) = - fun uu____2858 -> lookup_opt "detail_errors" as_bool + fun uu____2825 -> lookup_opt "detail_errors" as_bool let (get_detail_hint_replay : unit -> Prims.bool) = - fun uu____2867 -> lookup_opt "detail_hint_replay" as_bool + fun uu____2834 -> lookup_opt "detail_hint_replay" as_bool let (get_doc : unit -> Prims.bool) = - fun uu____2876 -> lookup_opt "doc" as_bool + fun uu____2843 -> lookup_opt "doc" as_bool let (get_dump_module : unit -> Prims.string Prims.list) = - fun uu____2887 -> lookup_opt "dump_module" (as_list as_string) + fun uu____2854 -> lookup_opt "dump_module" (as_list as_string) let (get_eager_subtyping : unit -> Prims.bool) = - fun uu____2899 -> lookup_opt "eager_subtyping" as_bool + fun uu____2866 -> lookup_opt "eager_subtyping" as_bool let (get_expose_interfaces : unit -> Prims.bool) = - fun uu____2908 -> lookup_opt "expose_interfaces" as_bool + fun uu____2875 -> lookup_opt "expose_interfaces" as_bool let (get_extract : unit -> Prims.string Prims.list FStar_Pervasives_Native.option) = - fun uu____2921 -> lookup_opt "extract" (as_option (as_list as_string)) + fun uu____2888 -> lookup_opt "extract" (as_option (as_list as_string)) let (get_extract_module : unit -> Prims.string Prims.list) = - fun uu____2940 -> lookup_opt "extract_module" (as_list as_string) + fun uu____2907 -> lookup_opt "extract_module" (as_list as_string) let (get_extract_namespace : unit -> Prims.string Prims.list) = - fun uu____2954 -> lookup_opt "extract_namespace" (as_list as_string) + fun uu____2921 -> lookup_opt "extract_namespace" (as_list as_string) let (get_fs_typ_app : unit -> Prims.bool) = - fun uu____2966 -> lookup_opt "fs_typ_app" as_bool + fun uu____2933 -> lookup_opt "fs_typ_app" as_bool let (get_hide_uvar_nums : unit -> Prims.bool) = - fun uu____2975 -> lookup_opt "hide_uvar_nums" as_bool + fun uu____2942 -> lookup_opt "hide_uvar_nums" as_bool let (get_hint_info : unit -> Prims.bool) = - fun uu____2984 -> lookup_opt "hint_info" as_bool + fun uu____2951 -> lookup_opt "hint_info" as_bool let (get_hint_file : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____2995 -> lookup_opt "hint_file" (as_option as_string) -let (get_in : unit -> Prims.bool) = fun uu____3007 -> lookup_opt "in" as_bool + fun uu____2962 -> lookup_opt "hint_file" (as_option as_string) +let (get_in : unit -> Prims.bool) = + fun uu____2974 -> lookup_opt "in" as_bool let (get_ide : unit -> Prims.bool) = - fun uu____3016 -> lookup_opt "ide" as_bool + fun uu____2983 -> lookup_opt "ide" as_bool let (get_lsp : unit -> Prims.bool) = - fun uu____3025 -> lookup_opt "lsp" as_bool + fun uu____2992 -> lookup_opt "lsp" as_bool let (get_include : unit -> Prims.string Prims.list) = - fun uu____3036 -> lookup_opt "include" (as_list as_string) + fun uu____3003 -> lookup_opt "include" (as_list as_string) let (get_print : unit -> Prims.bool) = - fun uu____3048 -> lookup_opt "print" as_bool + fun uu____3015 -> lookup_opt "print" as_bool let (get_print_in_place : unit -> Prims.bool) = - fun uu____3057 -> lookup_opt "print_in_place" as_bool + fun uu____3024 -> lookup_opt "print_in_place" as_bool let (get_profile : unit -> Prims.bool) = - fun uu____3066 -> lookup_opt "profile" as_bool + fun uu____3033 -> lookup_opt "profile" as_bool let (get_initial_fuel : unit -> Prims.int) = - fun uu____3075 -> lookup_opt "initial_fuel" as_int + fun uu____3042 -> lookup_opt "initial_fuel" as_int let (get_initial_ifuel : unit -> Prims.int) = - fun uu____3084 -> lookup_opt "initial_ifuel" as_int + fun uu____3051 -> lookup_opt "initial_ifuel" as_int let (get_keep_query_captions : unit -> Prims.bool) = - fun uu____3093 -> lookup_opt "keep_query_captions" as_bool + fun uu____3060 -> lookup_opt "keep_query_captions" as_bool let (get_lax : unit -> Prims.bool) = - fun uu____3102 -> lookup_opt "lax" as_bool + fun uu____3069 -> lookup_opt "lax" as_bool let (get_load : unit -> Prims.string Prims.list) = - fun uu____3113 -> lookup_opt "load" (as_list as_string) + fun uu____3080 -> lookup_opt "load" (as_list as_string) let (get_log_queries : unit -> Prims.bool) = - fun uu____3125 -> lookup_opt "log_queries" as_bool + fun uu____3092 -> lookup_opt "log_queries" as_bool let (get_log_types : unit -> Prims.bool) = - fun uu____3134 -> lookup_opt "log_types" as_bool + fun uu____3101 -> lookup_opt "log_types" as_bool let (get_max_fuel : unit -> Prims.int) = - fun uu____3143 -> lookup_opt "max_fuel" as_int + fun uu____3110 -> lookup_opt "max_fuel" as_int let (get_max_ifuel : unit -> Prims.int) = - fun uu____3152 -> lookup_opt "max_ifuel" as_int + fun uu____3119 -> lookup_opt "max_ifuel" as_int let (get_min_fuel : unit -> Prims.int) = - fun uu____3161 -> lookup_opt "min_fuel" as_int + fun uu____3128 -> lookup_opt "min_fuel" as_int let (get_MLish : unit -> Prims.bool) = - fun uu____3170 -> lookup_opt "MLish" as_bool -let (get_n_cores : unit -> Prims.int) = - fun uu____3179 -> lookup_opt "n_cores" as_int + fun uu____3137 -> lookup_opt "MLish" as_bool let (get_no_default_includes : unit -> Prims.bool) = - fun uu____3188 -> lookup_opt "no_default_includes" as_bool + fun uu____3146 -> lookup_opt "no_default_includes" as_bool let (get_no_extract : unit -> Prims.string Prims.list) = - fun uu____3199 -> lookup_opt "no_extract" (as_list as_string) + fun uu____3157 -> lookup_opt "no_extract" (as_list as_string) let (get_no_location_info : unit -> Prims.bool) = - fun uu____3211 -> lookup_opt "no_location_info" as_bool + fun uu____3169 -> lookup_opt "no_location_info" as_bool let (get_no_plugins : unit -> Prims.bool) = - fun uu____3220 -> lookup_opt "no_plugins" as_bool + fun uu____3178 -> lookup_opt "no_plugins" as_bool let (get_no_smt : unit -> Prims.bool) = - fun uu____3229 -> lookup_opt "no_smt" as_bool + fun uu____3187 -> lookup_opt "no_smt" as_bool let (get_normalize_pure_terms_for_extraction : unit -> Prims.bool) = - fun uu____3238 -> lookup_opt "normalize_pure_terms_for_extraction" as_bool + fun uu____3196 -> lookup_opt "normalize_pure_terms_for_extraction" as_bool let (get_odir : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____3249 -> lookup_opt "odir" (as_option as_string) + fun uu____3207 -> lookup_opt "odir" (as_option as_string) let (get_ugly : unit -> Prims.bool) = - fun uu____3261 -> lookup_opt "ugly" as_bool + fun uu____3219 -> lookup_opt "ugly" as_bool let (get_prims : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____3272 -> lookup_opt "prims" (as_option as_string) + fun uu____3230 -> lookup_opt "prims" (as_option as_string) let (get_print_bound_var_types : unit -> Prims.bool) = - fun uu____3284 -> lookup_opt "print_bound_var_types" as_bool + fun uu____3242 -> lookup_opt "print_bound_var_types" as_bool let (get_print_effect_args : unit -> Prims.bool) = - fun uu____3293 -> lookup_opt "print_effect_args" as_bool + fun uu____3251 -> lookup_opt "print_effect_args" as_bool let (get_print_full_names : unit -> Prims.bool) = - fun uu____3302 -> lookup_opt "print_full_names" as_bool + fun uu____3260 -> lookup_opt "print_full_names" as_bool let (get_print_implicits : unit -> Prims.bool) = - fun uu____3311 -> lookup_opt "print_implicits" as_bool + fun uu____3269 -> lookup_opt "print_implicits" as_bool let (get_print_universes : unit -> Prims.bool) = - fun uu____3320 -> lookup_opt "print_universes" as_bool + fun uu____3278 -> lookup_opt "print_universes" as_bool let (get_print_z3_statistics : unit -> Prims.bool) = - fun uu____3329 -> lookup_opt "print_z3_statistics" as_bool + fun uu____3287 -> lookup_opt "print_z3_statistics" as_bool let (get_prn : unit -> Prims.bool) = - fun uu____3338 -> lookup_opt "prn" as_bool + fun uu____3296 -> lookup_opt "prn" as_bool let (get_query_stats : unit -> Prims.bool) = - fun uu____3347 -> lookup_opt "query_stats" as_bool + fun uu____3305 -> lookup_opt "query_stats" as_bool let (get_record_hints : unit -> Prims.bool) = - fun uu____3356 -> lookup_opt "record_hints" as_bool + fun uu____3314 -> lookup_opt "record_hints" as_bool let (get_reuse_hint_for : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____3367 -> lookup_opt "reuse_hint_for" (as_option as_string) + fun uu____3325 -> lookup_opt "reuse_hint_for" (as_option as_string) let (get_silent : unit -> Prims.bool) = - fun uu____3379 -> lookup_opt "silent" as_bool + fun uu____3337 -> lookup_opt "silent" as_bool let (get_smt : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____3390 -> lookup_opt "smt" (as_option as_string) + fun uu____3348 -> lookup_opt "smt" (as_option as_string) let (get_smtencoding_elim_box : unit -> Prims.bool) = - fun uu____3402 -> lookup_opt "smtencoding.elim_box" as_bool + fun uu____3360 -> lookup_opt "smtencoding.elim_box" as_bool let (get_smtencoding_nl_arith_repr : unit -> Prims.string) = - fun uu____3411 -> lookup_opt "smtencoding.nl_arith_repr" as_string + fun uu____3369 -> lookup_opt "smtencoding.nl_arith_repr" as_string let (get_smtencoding_l_arith_repr : unit -> Prims.string) = - fun uu____3420 -> lookup_opt "smtencoding.l_arith_repr" as_string + fun uu____3378 -> lookup_opt "smtencoding.l_arith_repr" as_string let (get_smtencoding_valid_intro : unit -> Prims.bool) = - fun uu____3429 -> lookup_opt "smtencoding.valid_intro" as_bool + fun uu____3387 -> lookup_opt "smtencoding.valid_intro" as_bool let (get_smtencoding_valid_elim : unit -> Prims.bool) = - fun uu____3438 -> lookup_opt "smtencoding.valid_elim" as_bool + fun uu____3396 -> lookup_opt "smtencoding.valid_elim" as_bool let (get_tactic_raw_binders : unit -> Prims.bool) = - fun uu____3447 -> lookup_opt "tactic_raw_binders" as_bool + fun uu____3405 -> lookup_opt "tactic_raw_binders" as_bool let (get_tactics_failhard : unit -> Prims.bool) = - fun uu____3456 -> lookup_opt "tactics_failhard" as_bool + fun uu____3414 -> lookup_opt "tactics_failhard" as_bool let (get_tactics_info : unit -> Prims.bool) = - fun uu____3465 -> lookup_opt "tactics_info" as_bool + fun uu____3423 -> lookup_opt "tactics_info" as_bool let (get_tactic_trace : unit -> Prims.bool) = - fun uu____3474 -> lookup_opt "tactic_trace" as_bool + fun uu____3432 -> lookup_opt "tactic_trace" as_bool let (get_tactic_trace_d : unit -> Prims.int) = - fun uu____3483 -> lookup_opt "tactic_trace_d" as_int + fun uu____3441 -> lookup_opt "tactic_trace_d" as_int let (get_tactics_nbe : unit -> Prims.bool) = - fun uu____3492 -> lookup_opt "__tactics_nbe" as_bool + fun uu____3450 -> lookup_opt "__tactics_nbe" as_bool let (get_tcnorm : unit -> Prims.bool) = - fun uu____3501 -> lookup_opt "tcnorm" as_bool + fun uu____3459 -> lookup_opt "tcnorm" as_bool let (get_timing : unit -> Prims.bool) = - fun uu____3510 -> lookup_opt "timing" as_bool + fun uu____3468 -> lookup_opt "timing" as_bool let (get_trace_error : unit -> Prims.bool) = - fun uu____3519 -> lookup_opt "trace_error" as_bool + fun uu____3477 -> lookup_opt "trace_error" as_bool let (get_unthrottle_inductives : unit -> Prims.bool) = - fun uu____3528 -> lookup_opt "unthrottle_inductives" as_bool + fun uu____3486 -> lookup_opt "unthrottle_inductives" as_bool let (get_unsafe_tactic_exec : unit -> Prims.bool) = - fun uu____3537 -> lookup_opt "unsafe_tactic_exec" as_bool + fun uu____3495 -> lookup_opt "unsafe_tactic_exec" as_bool let (get_use_eq_at_higher_order : unit -> Prims.bool) = - fun uu____3546 -> lookup_opt "use_eq_at_higher_order" as_bool + fun uu____3504 -> lookup_opt "use_eq_at_higher_order" as_bool let (get_use_hints : unit -> Prims.bool) = - fun uu____3555 -> lookup_opt "use_hints" as_bool + fun uu____3513 -> lookup_opt "use_hints" as_bool let (get_use_hint_hashes : unit -> Prims.bool) = - fun uu____3564 -> lookup_opt "use_hint_hashes" as_bool + fun uu____3522 -> lookup_opt "use_hint_hashes" as_bool let (get_use_native_tactics : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____3575 -> lookup_opt "use_native_tactics" (as_option as_string) + fun uu____3533 -> lookup_opt "use_native_tactics" (as_option as_string) let (get_use_tactics : unit -> Prims.bool) = - fun uu____3587 -> - let uu____3588 = lookup_opt "no_tactics" as_bool in - Prims.op_Negation uu____3588 + fun uu____3545 -> + let uu____3546 = lookup_opt "no_tactics" as_bool in + Prims.op_Negation uu____3546 + let (get_using_facts_from : unit -> Prims.string Prims.list FStar_Pervasives_Native.option) = - fun uu____3602 -> + fun uu____3560 -> lookup_opt "using_facts_from" (as_option (as_list as_string)) + let (get_vcgen_optimize_bind_as_seq : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____3621 -> + fun uu____3579 -> lookup_opt "vcgen.optimize_bind_as_seq" (as_option as_string) + let (get_verify_module : unit -> Prims.string Prims.list) = - fun uu____3635 -> lookup_opt "verify_module" (as_list as_string) + fun uu____3593 -> lookup_opt "verify_module" (as_list as_string) let (get___temp_no_proj : unit -> Prims.string Prims.list) = - fun uu____3649 -> lookup_opt "__temp_no_proj" (as_list as_string) + fun uu____3607 -> lookup_opt "__temp_no_proj" (as_list as_string) let (get_version : unit -> Prims.bool) = - fun uu____3661 -> lookup_opt "version" as_bool + fun uu____3619 -> lookup_opt "version" as_bool let (get_warn_default_effects : unit -> Prims.bool) = - fun uu____3670 -> lookup_opt "warn_default_effects" as_bool + fun uu____3628 -> lookup_opt "warn_default_effects" as_bool let (get_z3cliopt : unit -> Prims.string Prims.list) = - fun uu____3681 -> lookup_opt "z3cliopt" (as_list as_string) + fun uu____3639 -> lookup_opt "z3cliopt" (as_list as_string) let (get_z3refresh : unit -> Prims.bool) = - fun uu____3693 -> lookup_opt "z3refresh" as_bool + fun uu____3651 -> lookup_opt "z3refresh" as_bool let (get_z3rlimit : unit -> Prims.int) = - fun uu____3702 -> lookup_opt "z3rlimit" as_int + fun uu____3660 -> lookup_opt "z3rlimit" as_int let (get_z3rlimit_factor : unit -> Prims.int) = - fun uu____3711 -> lookup_opt "z3rlimit_factor" as_int + fun uu____3669 -> lookup_opt "z3rlimit_factor" as_int let (get_z3seed : unit -> Prims.int) = - fun uu____3720 -> lookup_opt "z3seed" as_int + fun uu____3678 -> lookup_opt "z3seed" as_int let (get_use_two_phase_tc : unit -> Prims.bool) = - fun uu____3729 -> lookup_opt "use_two_phase_tc" as_bool + fun uu____3687 -> lookup_opt "use_two_phase_tc" as_bool let (get_no_positivity : unit -> Prims.bool) = - fun uu____3738 -> lookup_opt "__no_positivity" as_bool + fun uu____3696 -> lookup_opt "__no_positivity" as_bool let (get_ml_no_eta_expand_coertions : unit -> Prims.bool) = - fun uu____3747 -> lookup_opt "__ml_no_eta_expand_coertions" as_bool + fun uu____3705 -> lookup_opt "__ml_no_eta_expand_coertions" as_bool let (get_warn_error : unit -> Prims.string Prims.list) = - fun uu____3758 -> lookup_opt "warn_error" (as_list as_string) + fun uu____3716 -> lookup_opt "warn_error" (as_list as_string) let (get_use_extracted_interfaces : unit -> Prims.bool) = - fun uu____3770 -> lookup_opt "use_extracted_interfaces" as_bool + fun uu____3728 -> lookup_opt "use_extracted_interfaces" as_bool let (get_use_nbe : unit -> Prims.bool) = - fun uu____3779 -> lookup_opt "use_nbe" as_bool + fun uu____3737 -> lookup_opt "use_nbe" as_bool +let (get_trivial_pre_for_unannotated_effectful_fns : unit -> Prims.bool) = + fun uu____3746 -> + lookup_opt "trivial_pre_for_unannotated_effectful_fns" as_bool + let (dlevel : Prims.string -> debug_level_t) = - fun uu___6_3788 -> - match uu___6_3788 with + fun uu___6_3755 -> + match uu___6_3755 with | "Low" -> Low | "Medium" -> Medium | "High" -> High | "Extreme" -> Extreme | s -> Other s + let (one_debug_level_geq : debug_level_t -> debug_level_t -> Prims.bool) = - fun l1 -> - fun l2 -> + fun l1 -> + fun l2 -> match l1 with - | Other uu____3809 -> l1 = l2 - | Low -> l1 = l2 - | Medium -> (l2 = Low) || (l2 = Medium) - | High -> ((l2 = Low) || (l2 = Medium)) || (l2 = High) - | Extreme -> + | Other uu____3776 -> l1 = l2 + | Low -> l1 = l2 + | Medium -> (l2 = Low) || (l2 = Medium) + | High -> ((l2 = Low) || (l2 = Medium)) || (l2 = High) + | Extreme -> (((l2 = Low) || (l2 = Medium)) || (l2 = High)) || (l2 = Extreme) + let (debug_level_geq : debug_level_t -> Prims.bool) = - fun l2 -> - let uu____3818 = get_debug_level () in - FStar_All.pipe_right uu____3818 - (FStar_Util.for_some (fun l1 -> one_debug_level_geq (dlevel l1) l2)) + fun l2 -> + let uu____3785 = get_debug_level () in + FStar_All.pipe_right uu____3785 + (FStar_Util.for_some (fun l1 -> one_debug_level_geq (dlevel l1) l2)) + let (universe_include_path_base_dirs : Prims.string Prims.list) = - ["/ulib"; "/lib/fstar"] -let (_version : Prims.string FStar_ST.ref) = FStar_Util.mk_ref "" -let (_platform : Prims.string FStar_ST.ref) = FStar_Util.mk_ref "" -let (_compiler : Prims.string FStar_ST.ref) = FStar_Util.mk_ref "" -let (_date : Prims.string FStar_ST.ref) = FStar_Util.mk_ref "" -let (_commit : Prims.string FStar_ST.ref) = FStar_Util.mk_ref "" + ["/ulib"; "/lib/fstar"] +let (_version : Prims.string FStar_ST.ref) = FStar_Util.mk_ref "" +let (_platform : Prims.string FStar_ST.ref) = FStar_Util.mk_ref "" +let (_compiler : Prims.string FStar_ST.ref) = FStar_Util.mk_ref "" +let (_date : Prims.string FStar_ST.ref) = FStar_Util.mk_ref "" +let (_commit : Prims.string FStar_ST.ref) = FStar_Util.mk_ref "" let (display_version : unit -> unit) = - fun uu____3874 -> - let uu____3875 = - let uu____3877 = FStar_ST.op_Bang _version in - let uu____3900 = FStar_ST.op_Bang _platform in - let uu____3923 = FStar_ST.op_Bang _compiler in - let uu____3946 = FStar_ST.op_Bang _date in - let uu____3969 = FStar_ST.op_Bang _commit in + fun uu____3841 -> + let uu____3842 = + let uu____3844 = FStar_ST.op_Bang _version in + let uu____3867 = FStar_ST.op_Bang _platform in + let uu____3890 = FStar_ST.op_Bang _compiler in + let uu____3913 = FStar_ST.op_Bang _date in + let uu____3936 = FStar_ST.op_Bang _commit in FStar_Util.format5 - "F* %s\nplatform=%s\ncompiler=%s\ndate=%s\ncommit=%s\n" uu____3877 - uu____3900 uu____3923 uu____3946 uu____3969 in - FStar_Util.print_string uu____3875 + "F* %s\nplatform=%s\ncompiler=%s\ndate=%s\ncommit=%s\n" uu____3844 + uu____3867 uu____3890 uu____3913 uu____3936 + in + FStar_Util.print_string uu____3842 + let display_usage_aux : - 'Auu____4000 'Auu____4001 . - ('Auu____4000 * Prims.string * 'Auu____4001 FStar_Getopt.opt_variant * + 'Auu____3967 'Auu____3968 . + ('Auu____3967 * Prims.string * 'Auu____3968 FStar_Getopt.opt_variant * Prims.string) Prims.list -> unit = - fun specs -> + fun specs -> FStar_Util.print_string "fstar.exe [options] file[s]\n"; FStar_List.iter - (fun uu____4056 -> - match uu____4056 with - | (uu____4069, flag, p, doc) -> + (fun uu____4023 -> + match uu____4023 with + | (uu____4036,flag,p,doc) -> (match p with | FStar_Getopt.ZeroArgs ig -> if doc = "" then - let uu____4088 = - let uu____4090 = FStar_Util.colorize_bold flag in - FStar_Util.format1 " --%s\n" uu____4090 in - FStar_Util.print_string uu____4088 + let uu____4055 = + let uu____4057 = FStar_Util.colorize_bold flag in + FStar_Util.format1 " --%s\n" uu____4057 in + FStar_Util.print_string uu____4055 else - (let uu____4095 = - let uu____4097 = FStar_Util.colorize_bold flag in - FStar_Util.format2 " --%s %s\n" uu____4097 doc in - FStar_Util.print_string uu____4095) - | FStar_Getopt.OneArg (uu____4100, argname) -> + (let uu____4062 = + let uu____4064 = FStar_Util.colorize_bold flag in + FStar_Util.format2 " --%s %s\n" uu____4064 doc in + FStar_Util.print_string uu____4062) + | FStar_Getopt.OneArg (uu____4067,argname) -> if doc = "" then - let uu____4115 = - let uu____4117 = FStar_Util.colorize_bold flag in - let uu____4119 = FStar_Util.colorize_bold argname in - FStar_Util.format2 " --%s %s\n" uu____4117 uu____4119 in - FStar_Util.print_string uu____4115 + let uu____4082 = + let uu____4084 = FStar_Util.colorize_bold flag in + let uu____4086 = FStar_Util.colorize_bold argname in + FStar_Util.format2 " --%s %s\n" uu____4084 uu____4086 + in + FStar_Util.print_string uu____4082 else - (let uu____4124 = - let uu____4126 = FStar_Util.colorize_bold flag in - let uu____4128 = FStar_Util.colorize_bold argname in - FStar_Util.format3 " --%s %s %s\n" uu____4126 - uu____4128 doc in - FStar_Util.print_string uu____4124))) specs + (let uu____4091 = + let uu____4093 = FStar_Util.colorize_bold flag in + let uu____4095 = FStar_Util.colorize_bold argname in + FStar_Util.format3 " --%s %s %s\n" uu____4093 + uu____4095 doc + in + FStar_Util.print_string uu____4091))) specs + let (mk_spec : (FStar_BaseTypes.char * Prims.string * option_val FStar_Getopt.opt_variant * Prims.string) -> FStar_Getopt.opt) = - fun o -> - let uu____4163 = o in - match uu____4163 with - | (ns, name, arg, desc) -> + fun o -> + let uu____4130 = o in + match uu____4130 with + | (ns,name,arg,desc) -> let arg1 = match arg with | FStar_Getopt.ZeroArgs f -> - let g uu____4205 = - let uu____4206 = f () in set_option name uu____4206 in + let g uu____4172 = + let uu____4173 = f () in set_option name uu____4173 in FStar_Getopt.ZeroArgs g - | FStar_Getopt.OneArg (f, d) -> - let g x = let uu____4227 = f x in set_option name uu____4227 in - FStar_Getopt.OneArg (g, d) in + | FStar_Getopt.OneArg (f,d) -> + let g x = let uu____4194 = f x in set_option name uu____4194 + in + FStar_Getopt.OneArg (g, d) + in (ns, name, arg1, desc) + let (accumulated_option : Prims.string -> option_val -> option_val) = - fun name -> - fun value -> + fun name -> + fun value -> let prev_values = - let uu____4254 = lookup_opt name (as_option as_list') in - FStar_Util.dflt [] uu____4254 in + let uu____4221 = lookup_opt name (as_option as_list') in + FStar_Util.dflt [] uu____4221 in List (value :: prev_values) + let (reverse_accumulated_option : Prims.string -> option_val -> option_val) = - fun name -> - fun value -> + fun name -> + fun value -> let prev_values = - let uu____4283 = lookup_opt name (as_option as_list') in - FStar_Util.dflt [] uu____4283 in + let uu____4250 = lookup_opt name (as_option as_list') in + FStar_Util.dflt [] uu____4250 in List (FStar_List.append prev_values [value]) + let accumulate_string : - 'Auu____4305 . - Prims.string -> ('Auu____4305 -> Prims.string) -> 'Auu____4305 -> unit + 'Auu____4272 . + Prims.string -> ('Auu____4272 -> Prims.string) -> 'Auu____4272 -> unit = - fun name -> - fun post_processor -> - fun value -> - let uu____4330 = - let uu____4331 = - let uu____4332 = post_processor value in String uu____4332 in - accumulated_option name uu____4331 in - set_option name uu____4330 + fun name -> + fun post_processor -> + fun value -> + let uu____4297 = + let uu____4298 = + let uu____4299 = post_processor value in String uu____4299 in + accumulated_option name uu____4298 in + set_option name uu____4297 + let (add_extract_module : Prims.string -> unit) = - fun s -> accumulate_string "extract_module" FStar_String.lowercase s + fun s -> accumulate_string "extract_module" FStar_String.lowercase s let (add_extract_namespace : Prims.string -> unit) = - fun s -> accumulate_string "extract_namespace" FStar_String.lowercase s + fun s -> accumulate_string "extract_namespace" FStar_String.lowercase s let (add_verify_module : Prims.string -> unit) = - fun s -> accumulate_string "verify_module" FStar_String.lowercase s + fun s -> accumulate_string "verify_module" FStar_String.lowercase s type opt_type = | Const of option_val | IntStr of Prims.string @@ -754,175 +809,193 @@ type opt_type = | ReverseAccumulated of opt_type | WithSideEffect of ((unit -> unit) * opt_type) let (uu___is_Const : opt_type -> Prims.bool) = - fun projectee -> - match projectee with | Const _0 -> true | uu____4454 -> false + fun projectee -> + match projectee with | Const _0 -> true | uu____4421 -> false + let (__proj__Const__item___0 : opt_type -> option_val) = - fun projectee -> match projectee with | Const _0 -> _0 + fun projectee -> match projectee with | Const _0 -> _0 let (uu___is_IntStr : opt_type -> Prims.bool) = - fun projectee -> - match projectee with | IntStr _0 -> true | uu____4474 -> false + fun projectee -> + match projectee with | IntStr _0 -> true | uu____4441 -> false + let (__proj__IntStr__item___0 : opt_type -> Prims.string) = - fun projectee -> match projectee with | IntStr _0 -> _0 + fun projectee -> match projectee with | IntStr _0 -> _0 let (uu___is_BoolStr : opt_type -> Prims.bool) = - fun projectee -> - match projectee with | BoolStr -> true | uu____4495 -> false + fun projectee -> + match projectee with | BoolStr -> true | uu____4462 -> false + let (uu___is_PathStr : opt_type -> Prims.bool) = - fun projectee -> - match projectee with | PathStr _0 -> true | uu____4508 -> false + fun projectee -> + match projectee with | PathStr _0 -> true | uu____4475 -> false + let (__proj__PathStr__item___0 : opt_type -> Prims.string) = - fun projectee -> match projectee with | PathStr _0 -> _0 + fun projectee -> match projectee with | PathStr _0 -> _0 let (uu___is_SimpleStr : opt_type -> Prims.bool) = - fun projectee -> - match projectee with | SimpleStr _0 -> true | uu____4531 -> false + fun projectee -> + match projectee with | SimpleStr _0 -> true | uu____4498 -> false + let (__proj__SimpleStr__item___0 : opt_type -> Prims.string) = - fun projectee -> match projectee with | SimpleStr _0 -> _0 + fun projectee -> match projectee with | SimpleStr _0 -> _0 let (uu___is_EnumStr : opt_type -> Prims.bool) = - fun projectee -> - match projectee with | EnumStr _0 -> true | uu____4556 -> false + fun projectee -> + match projectee with | EnumStr _0 -> true | uu____4523 -> false + let (__proj__EnumStr__item___0 : opt_type -> Prims.string Prims.list) = - fun projectee -> match projectee with | EnumStr _0 -> _0 + fun projectee -> match projectee with | EnumStr _0 -> _0 let (uu___is_OpenEnumStr : opt_type -> Prims.bool) = - fun projectee -> - match projectee with | OpenEnumStr _0 -> true | uu____4592 -> false + fun projectee -> + match projectee with | OpenEnumStr _0 -> true | uu____4559 -> false + let (__proj__OpenEnumStr__item___0 : opt_type -> (Prims.string Prims.list * Prims.string)) = - fun projectee -> match projectee with | OpenEnumStr _0 -> _0 + fun projectee -> match projectee with | OpenEnumStr _0 -> _0 let (uu___is_PostProcessed : opt_type -> Prims.bool) = - fun projectee -> - match projectee with | PostProcessed _0 -> true | uu____4642 -> false + fun projectee -> + match projectee with | PostProcessed _0 -> true | uu____4609 -> false + let (__proj__PostProcessed__item___0 : opt_type -> ((option_val -> option_val) * opt_type)) = - fun projectee -> match projectee with | PostProcessed _0 -> _0 + fun projectee -> match projectee with | PostProcessed _0 -> _0 let (uu___is_Accumulated : opt_type -> Prims.bool) = - fun projectee -> - match projectee with | Accumulated _0 -> true | uu____4682 -> false + fun projectee -> + match projectee with | Accumulated _0 -> true | uu____4649 -> false + let (__proj__Accumulated__item___0 : opt_type -> opt_type) = - fun projectee -> match projectee with | Accumulated _0 -> _0 + fun projectee -> match projectee with | Accumulated _0 -> _0 let (uu___is_ReverseAccumulated : opt_type -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | ReverseAccumulated _0 -> true - | uu____4701 -> false + | uu____4668 -> false + let (__proj__ReverseAccumulated__item___0 : opt_type -> opt_type) = - fun projectee -> match projectee with | ReverseAccumulated _0 -> _0 + fun projectee -> match projectee with | ReverseAccumulated _0 -> _0 let (uu___is_WithSideEffect : opt_type -> Prims.bool) = - fun projectee -> - match projectee with | WithSideEffect _0 -> true | uu____4727 -> false + fun projectee -> + match projectee with | WithSideEffect _0 -> true | uu____4694 -> false + let (__proj__WithSideEffect__item___0 : opt_type -> ((unit -> unit) * opt_type)) = - fun projectee -> match projectee with | WithSideEffect _0 -> _0 + fun projectee -> match projectee with | WithSideEffect _0 -> _0 exception InvalidArgument of Prims.string let (uu___is_InvalidArgument : Prims.exn -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | InvalidArgument uu____4770 -> true - | uu____4773 -> false + | InvalidArgument uu____4737 -> true + | uu____4740 -> false + let (__proj__InvalidArgument__item__uu___ : Prims.exn -> Prims.string) = - fun projectee -> - match projectee with | InvalidArgument uu____4783 -> uu____4783 + fun projectee -> + match projectee with | InvalidArgument uu____4750 -> uu____4750 + let rec (parse_opt_val : Prims.string -> opt_type -> Prims.string -> option_val) = - fun opt_name -> - fun typ -> - fun str_val -> + fun opt_name -> + fun typ -> + fun str_val -> try - (fun uu___295_4807 -> + (fun uu___295_4774 -> match () with | () -> (match typ with | Const c -> c - | IntStr uu____4809 -> - let uu____4811 = FStar_Util.safe_int_of_string str_val in - (match uu____4811 with + | IntStr uu____4776 -> + let uu____4778 = FStar_Util.safe_int_of_string str_val + in + (match uu____4778 with | FStar_Pervasives_Native.Some v1 -> Int v1 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Exn.raise (InvalidArgument opt_name)) - | BoolStr -> - let uu____4819 = + | BoolStr -> + let uu____4786 = if str_val = "true" then true else if str_val = "false" then false - else FStar_Exn.raise (InvalidArgument opt_name) in - Bool uu____4819 - | PathStr uu____4836 -> Path str_val - | SimpleStr uu____4838 -> String str_val + else FStar_Exn.raise (InvalidArgument opt_name) + in + Bool uu____4786 + | PathStr uu____4803 -> Path str_val + | SimpleStr uu____4805 -> String str_val | EnumStr strs -> if FStar_List.mem str_val strs then String str_val else FStar_Exn.raise (InvalidArgument opt_name) - | OpenEnumStr uu____4848 -> String str_val - | PostProcessed (pp, elem_spec) -> - let uu____4865 = - parse_opt_val opt_name elem_spec str_val in - pp uu____4865 + | OpenEnumStr uu____4815 -> String str_val + | PostProcessed (pp,elem_spec) -> + let uu____4832 = + parse_opt_val opt_name elem_spec str_val in + pp uu____4832 | Accumulated elem_spec -> - let v1 = parse_opt_val opt_name elem_spec str_val in + let v1 = parse_opt_val opt_name elem_spec str_val in accumulated_option opt_name v1 | ReverseAccumulated elem_spec -> - let v1 = parse_opt_val opt_name elem_spec str_val in + let v1 = parse_opt_val opt_name elem_spec str_val in reverse_accumulated_option opt_name v1 - | WithSideEffect (side_effect, elem_spec) -> + | WithSideEffect (side_effect,elem_spec) -> (side_effect (); parse_opt_val opt_name elem_spec str_val))) () with | InvalidArgument opt_name1 -> - let uu____4885 = - FStar_Util.format1 "Invalid argument to --%s" opt_name1 in - failwith uu____4885 + let uu____4852 = + FStar_Util.format1 "Invalid argument to --%s" opt_name1 in + failwith uu____4852 + let rec (desc_of_opt_type : opt_type -> Prims.string FStar_Pervasives_Native.option) = - fun typ -> + fun typ -> let desc_of_enum cases = - let uu____4915 = - let uu____4917 = - FStar_String.op_Hat (FStar_String.concat "|" cases) "]" in - FStar_String.op_Hat "[" uu____4917 in - FStar_Pervasives_Native.Some uu____4915 in + let uu____4882 = + let uu____4884 = + FStar_String.op_Hat (FStar_String.concat "|" cases) "]" in + FStar_String.op_Hat "[" uu____4884 in + FStar_Pervasives_Native.Some uu____4882 in match typ with | Const c -> FStar_Pervasives_Native.None | IntStr desc -> FStar_Pervasives_Native.Some desc - | BoolStr -> desc_of_enum ["true"; "false"] + | BoolStr -> desc_of_enum ["true"; "false"] | PathStr desc -> FStar_Pervasives_Native.Some desc | SimpleStr desc -> FStar_Pervasives_Native.Some desc | EnumStr strs -> desc_of_enum strs - | OpenEnumStr (strs, desc) -> - desc_of_enum (FStar_List.append strs [desc]) - | PostProcessed (uu____4959, elem_spec) -> desc_of_opt_type elem_spec + | OpenEnumStr (strs,desc) -> desc_of_enum (FStar_List.append strs [desc]) + | PostProcessed (uu____4926,elem_spec) -> desc_of_opt_type elem_spec | Accumulated elem_spec -> desc_of_opt_type elem_spec | ReverseAccumulated elem_spec -> desc_of_opt_type elem_spec - | WithSideEffect (uu____4969, elem_spec) -> desc_of_opt_type elem_spec + | WithSideEffect (uu____4936,elem_spec) -> desc_of_opt_type elem_spec + let rec (arg_spec_of_opt_type : Prims.string -> opt_type -> option_val FStar_Getopt.opt_variant) = - fun opt_name -> - fun typ -> - let parser = parse_opt_val opt_name typ in - let uu____5000 = desc_of_opt_type typ in - match uu____5000 with - | FStar_Pervasives_Native.None -> - FStar_Getopt.ZeroArgs ((fun uu____5008 -> parser "")) + fun opt_name -> + fun typ -> + let parser = parse_opt_val opt_name typ in + let uu____4967 = desc_of_opt_type typ in + match uu____4967 with + | FStar_Pervasives_Native.None -> + FStar_Getopt.ZeroArgs ((fun uu____4975 -> parser "")) | FStar_Pervasives_Native.Some desc -> FStar_Getopt.OneArg (parser, desc) + let (pp_validate_dir : option_val -> option_val) = - fun p -> let pp = as_string p in FStar_Util.mkdir false pp; p + fun p -> let pp = as_string p in FStar_Util.mkdir false pp; p let (pp_lowercase : option_val -> option_val) = - fun s -> - let uu____5034 = - let uu____5036 = as_string s in FStar_String.lowercase uu____5036 in - String uu____5034 + fun s -> + let uu____5001 = + let uu____5003 = as_string s in FStar_String.lowercase uu____5003 in + String uu____5001 + let (abort_counter : Prims.int FStar_ST.ref) = - FStar_Util.mk_ref (Prims.parse_int "0") + FStar_Util.mk_ref (Prims.parse_int "0") let rec (specs_with_types : unit -> (FStar_BaseTypes.char * Prims.string * opt_type * Prims.string) Prims.list) = - fun uu____5071 -> + fun uu____5038 -> [(FStar_Getopt.noshort, "abort_on", (PostProcessed - (((fun uu___7_5106 -> - match uu___7_5106 with + (((fun uu___7_5073 -> + match uu___7_5073 with | Int x -> (FStar_ST.op_Colon_Equals abort_counter x; Int x) | x -> failwith "?")), (IntStr "non-negative integer"))), "Abort on the n-th error or warning raised. Useful in combination with --trace_error. Count starts at 1, use 0 to disable. (default 0)"); @@ -962,9 +1035,9 @@ let rec (specs_with_types : (FStar_Getopt.noshort, "dep", (EnumStr ["make"; "graph"; "full"; "raw"]), "Output the transitive closure of the full dependency graph in three formats:\n\t 'graph': a format suitable the 'dot' tool from 'GraphViz'\n\t 'full': a format suitable for 'make', including dependences for producing .ml and .krml files\n\t 'make': (deprecated) a format suitable for 'make', including only dependences among source files"); (FStar_Getopt.noshort, "detail_errors", (Const (Bool true)), - "Emit a detailed error report by asking the SMT solver many queries; will take longer;\n implies n_cores=1"); + "Emit a detailed error report by asking the SMT solver many queries; will take longer"); (FStar_Getopt.noshort, "detail_hint_replay", (Const (Bool true)), - "Emit a detailed report for proof whose unsat core fails to replay;\n implies n_cores=1"); + "Emit a detailed report for proof whose unsat core fails to replay"); (FStar_Getopt.noshort, "doc", (Const (Bool true)), "Extract Markdown documentation files for the input modules, as well as an index. Output is written to --odir directory."); (FStar_Getopt.noshort, "dump_module", @@ -1027,8 +1100,6 @@ let rec (specs_with_types : "Minimum number of unrolling of recursive functions to try (default 1)"); (FStar_Getopt.noshort, "MLish", (Const (Bool true)), "Trigger various specializations for compiling the F* compiler itself (not meant for user code)"); - (FStar_Getopt.noshort, "n_cores", (IntStr "positive_integer"), - "Maximum number of cores to use for the solver (implies detail_errors = false) (default 1)"); (FStar_Getopt.noshort, "no_default_includes", (Const (Bool true)), "Ignore the default module search paths"); (FStar_Getopt.noshort, "no_extract", @@ -1132,7 +1203,7 @@ let rec (specs_with_types : "Don't use this option yet"); (118, "version", (WithSideEffect - (((fun uu____6743 -> + (((fun uu____6693 -> display_version (); FStar_All.exit (Prims.parse_int "0"))), (Const (Bool true)))), "Display version number"); (FStar_Getopt.noshort, "warn_default_effects", (Const (Bool true)), @@ -1158,40 +1229,45 @@ let rec (specs_with_types : (FStar_Getopt.noshort, "use_extracted_interfaces", BoolStr, "Extract interfaces from the dependencies and use them for verification (default 'false')"); (FStar_Getopt.noshort, "use_nbe", BoolStr, - "Use normalization by evaluation as the default normalization srategy (default 'false')"); + "Use normalization by evaluation as the default normalization strategy (default 'false')"); + (FStar_Getopt.noshort, "trivial_pre_for_unannotated_effectful_fns", + BoolStr, + "Enforce trivial preconditions for unannotated effectful functions (default 'true')"); (FStar_Getopt.noshort, "__debug_embedding", (WithSideEffect - (((fun uu____6968 -> FStar_ST.op_Colon_Equals debug_embedding true)), + (((fun uu____6934 -> FStar_ST.op_Colon_Equals debug_embedding true)), (Const (Bool true)))), "Debug messages for embeddings/unembeddings of natively compiled terms"); (FStar_Getopt.noshort, "eager_embedding", (WithSideEffect - (((fun uu____7012 -> FStar_ST.op_Colon_Equals eager_embedding true)), + (((fun uu____6978 -> FStar_ST.op_Colon_Equals eager_embedding true)), (Const (Bool true)))), "Eagerly embed and unembed terms to primitive operations and plugins: not recommended except for benchmarking"); (104, "help", (WithSideEffect - (((fun uu____7058 -> - (let uu____7060 = specs () in display_usage_aux uu____7060); + (((fun uu____7024 -> + (let uu____7026 = specs () in display_usage_aux uu____7026); FStar_All.exit (Prims.parse_int "0"))), (Const (Bool true)))), "Display this information")] + and (specs : unit -> FStar_Getopt.opt Prims.list) = - fun uu____7091 -> - let uu____7094 = specs_with_types () in + fun uu____7057 -> + let uu____7060 = specs_with_types () in FStar_List.map - (fun uu____7125 -> - match uu____7125 with - | (short, long, typ, doc) -> - let uu____7147 = - let uu____7161 = arg_spec_of_opt_type long typ in - (short, long, uu____7161, doc) in - mk_spec uu____7147) uu____7094 + (fun uu____7091 -> + match uu____7091 with + | (short,long,typ,doc) -> + let uu____7113 = + let uu____7127 = arg_spec_of_opt_type long typ in + (short, long, uu____7127, doc) in + mk_spec uu____7113) uu____7060 + let (settable : Prims.string -> Prims.bool) = - fun uu___8_7176 -> - match uu___8_7176 with + fun uu___8_7142 -> + match uu___8_7142 with | "abort_on" -> true - | "admit_smt_queries" -> true | "admit_except" -> true + | "admit_smt_queries" -> true | "debug" -> true | "debug_level" -> true | "defensive" -> true @@ -1199,20 +1275,22 @@ let (settable : Prims.string -> Prims.bool) = | "detail_hint_replay" -> true | "eager_subtyping" -> true | "hide_uvar_nums" -> true - | "hint_info" -> true | "hint_file" -> true + | "hint_info" -> true | "initial_fuel" -> true | "initial_ifuel" -> true | "lax" -> true | "load" -> true - | "log_types" -> true | "log_queries" -> true + | "log_types" -> true | "max_fuel" -> true | "max_ifuel" -> true | "min_fuel" -> true - | "no_smt" -> true + | "no_plugins" -> true | "__no_positivity" -> true - | "ugly" -> true + | "normalize_pure_terms_for_extraction" -> true + | "no_smt" -> true + | "no_tactics" -> true | "print_bound_var_types" -> true | "print_effect_args" -> true | "print_full_names" -> true @@ -1221,308 +1299,323 @@ let (settable : Prims.string -> Prims.bool) = | "print_z3_statistics" -> true | "prn" -> true | "query_stats" -> true + | "reuse_hint_for" -> true | "silent" -> true | "smtencoding.elim_box" -> true - | "smtencoding.nl_arith_repr" -> true | "smtencoding.l_arith_repr" -> true - | "timing" -> true - | "trace_error" -> true - | "unthrottle_inductives" -> true - | "use_eq_at_higher_order" -> true - | "no_plugins" -> true - | "no_tactics" -> true - | "normalize_pure_terms_for_extraction" -> true + | "smtencoding.nl_arith_repr" -> true + | "smtencoding.valid_intro" -> true + | "smtencoding.valid_elim" -> true | "tactic_raw_binders" -> true | "tactics_failhard" -> true | "tactics_info" -> true + | "__tactics_nbe" -> true | "tactic_trace" -> true | "tactic_trace_d" -> true | "tcnorm" -> true - | "__tactics_nbe" -> true | "__temp_fast_implicits" -> true | "__temp_no_proj" -> true - | "reuse_hint_for" -> true - | "warn_error" -> true - | "z3rlimit_factor" -> true - | "z3rlimit" -> true - | "z3refresh" -> true + | "timing" -> true + | "trace_error" -> true + | "ugly" -> true + | "unthrottle_inductives" -> true + | "use_eq_at_higher_order" -> true | "use_two_phase_tc" -> true + | "using_facts_from" -> true | "vcgen.optimize_bind_as_seq" -> true - | uu____7297 -> false -let (resettable : Prims.string -> Prims.bool) = - fun s -> - (((((settable s) || (s = "z3seed")) || (s = "z3cliopt")) || - (s = "using_facts_from")) - || (s = "smtencoding.valid_intro")) - || (s = "smtencoding.valid_elim") -let (all_specs : FStar_Getopt.opt Prims.list) = specs () + | "warn_error" -> true + | "z3cliopt" -> true + | "z3refresh" -> true + | "z3rlimit" -> true + | "z3rlimit_factor" -> true + | "z3seed" -> true + | "trivial_pre_for_unannotated_effectful_fns" -> true + | uu____7275 -> false + +let (all_specs : FStar_Getopt.opt Prims.list) = specs () let (all_specs_with_types : (FStar_BaseTypes.char * Prims.string * opt_type * Prims.string) Prims.list) - = specs_with_types () + = specs_with_types () let (settable_specs : (FStar_BaseTypes.char * Prims.string * unit FStar_Getopt.opt_variant * Prims.string) Prims.list) = FStar_All.pipe_right all_specs (FStar_List.filter - (fun uu____7400 -> - match uu____7400 with - | (uu____7415, x, uu____7417, uu____7418) -> settable x)) -let (resettable_specs : - (FStar_BaseTypes.char * Prims.string * unit FStar_Getopt.opt_variant * - Prims.string) Prims.list) - = - FStar_All.pipe_right all_specs - (FStar_List.filter - (fun uu____7493 -> - match uu____7493 with - | (uu____7508, x, uu____7510, uu____7511) -> resettable x)) + (fun uu____7359 -> + match uu____7359 with + | (uu____7374,x,uu____7376,uu____7377) -> settable x)) + let (display_usage : unit -> unit) = - fun uu____7527 -> let uu____7528 = specs () in display_usage_aux uu____7528 -let (fstar_bin_directory : Prims.string) = FStar_Util.get_exec_dir () + fun uu____7393 -> + let uu____7394 = specs () in display_usage_aux uu____7394 + +let (fstar_bin_directory : Prims.string) = FStar_Util.get_exec_dir () exception File_argument of Prims.string let (uu___is_File_argument : Prims.exn -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | File_argument uu____7560 -> true - | uu____7563 -> false + | File_argument uu____7426 -> true + | uu____7429 -> false + let (__proj__File_argument__item__uu___ : Prims.exn -> Prims.string) = - fun projectee -> - match projectee with | File_argument uu____7573 -> uu____7573 -let (set_options : options -> Prims.string -> FStar_Getopt.parse_cmdline_res) - = - fun o -> - fun s -> - let specs1 = - match o with - | Set -> settable_specs - | Reset -> resettable_specs - | Restore -> all_specs in - try - (fun uu___472_7594 -> - match () with - | () -> - if s = "" - then FStar_Getopt.Success - else - FStar_Getopt.parse_string specs1 - (fun s1 -> FStar_Exn.raise (File_argument s1)) s) () - with - | File_argument s1 -> - let uu____7611 = - FStar_Util.format1 "File %s is not a valid option" s1 in - FStar_Getopt.Error uu____7611 + fun projectee -> + match projectee with | File_argument uu____7439 -> uu____7439 + +let (set_options : Prims.string -> FStar_Getopt.parse_cmdline_res) = + fun s -> + try + (fun uu___467_7450 -> + match () with + | () -> + if s = "" + then FStar_Getopt.Success + else + FStar_Getopt.parse_string settable_specs + (fun s1 -> FStar_Exn.raise (File_argument s1)) s) () + with + | File_argument s1 -> + let uu____7467 = + FStar_Util.format1 "File %s is not a valid option" s1 in + FStar_Getopt.Error uu____7467 + let (file_list_ : Prims.string Prims.list FStar_ST.ref) = - FStar_Util.mk_ref [] + FStar_Util.mk_ref [] let (parse_cmd_line : unit -> (FStar_Getopt.parse_cmdline_res * Prims.string Prims.list)) = - fun uu____7636 -> + fun uu____7492 -> let res = FStar_Getopt.parse_cmdline all_specs - (fun i -> - let uu____7642 = - let uu____7646 = FStar_ST.op_Bang file_list_ in - FStar_List.append uu____7646 [i] in - FStar_ST.op_Colon_Equals file_list_ uu____7642) in - let uu____7703 = - let uu____7707 = FStar_ST.op_Bang file_list_ in - FStar_List.map FStar_Common.try_convert_file_name_to_mixed uu____7707 in - (res, uu____7703) + (fun i -> + let uu____7498 = + let uu____7502 = FStar_ST.op_Bang file_list_ in + FStar_List.append uu____7502 [i] in + FStar_ST.op_Colon_Equals file_list_ uu____7498) + in + let uu____7559 = + let uu____7563 = FStar_ST.op_Bang file_list_ in + FStar_List.map FStar_Common.try_convert_file_name_to_mixed uu____7563 + in + (res, uu____7559) + let (file_list : unit -> Prims.string Prims.list) = - fun uu____7749 -> FStar_ST.op_Bang file_list_ + fun uu____7605 -> FStar_ST.op_Bang file_list_ let (restore_cmd_line_options : Prims.bool -> FStar_Getopt.parse_cmdline_res) = - fun should_clear -> - let old_verify_module = get_verify_module () in + fun should_clear -> + let old_verify_module = get_verify_module () in if should_clear then clear () else init (); (let r = - let uu____7792 = specs () in - FStar_Getopt.parse_cmdline uu____7792 (fun x -> ()) in - (let uu____7799 = - let uu____7805 = - let uu____7806 = - FStar_List.map (fun _7810 -> String _7810) old_verify_module in - List uu____7806 in - ("verify_module", uu____7805) in - set_option' uu____7799); + let uu____7648 = specs () in + FStar_Getopt.parse_cmdline uu____7648 (fun x -> ()) in + (let uu____7655 = + let uu____7661 = + let uu____7662 = + FStar_List.map (fun _7666 -> String _7666) old_verify_module in + List uu____7662 in + ("verify_module", uu____7661) in + set_option' uu____7655); r) + let (module_name_of_file_name : Prims.string -> Prims.string) = - fun f -> - let f1 = FStar_Util.basename f in + fun f -> + let f1 = FStar_Util.basename f in let f2 = - let uu____7826 = - let uu____7828 = - let uu____7830 = - let uu____7832 = FStar_Util.get_file_extension f1 in - FStar_String.length uu____7832 in - (FStar_String.length f1) - uu____7830 in - uu____7828 - (Prims.parse_int "1") in - FStar_String.substring f1 (Prims.parse_int "0") uu____7826 in + let uu____7682 = + let uu____7684 = + let uu____7686 = + let uu____7688 = FStar_Util.get_file_extension f1 in + FStar_String.length uu____7688 in + (FStar_String.length f1) - uu____7686 in + uu____7684 - (Prims.parse_int "1") in + FStar_String.substring f1 (Prims.parse_int "0") uu____7682 in FStar_String.lowercase f2 + let (should_verify : Prims.string -> Prims.bool) = - fun m -> - let uu____7845 = get_lax () in - if uu____7845 + fun m -> + let uu____7701 = get_lax () in + if uu____7701 then false else - (let l = get_verify_module () in + (let l = get_verify_module () in FStar_List.contains (FStar_String.lowercase m) l) + let (should_verify_file : Prims.string -> Prims.bool) = - fun fn -> - let uu____7866 = module_name_of_file_name fn in should_verify uu____7866 + fun fn -> + let uu____7722 = module_name_of_file_name fn in should_verify uu____7722 + let (module_name_eq : Prims.string -> Prims.string -> Prims.bool) = - fun m1 -> - fun m2 -> (FStar_String.lowercase m1) = (FStar_String.lowercase m2) + fun m1 -> + fun m2 -> (FStar_String.lowercase m1) = (FStar_String.lowercase m2) + let (dont_gen_projectors : Prims.string -> Prims.bool) = - fun m -> - let uu____7894 = get___temp_no_proj () in - FStar_All.pipe_right uu____7894 (FStar_List.existsb (module_name_eq m)) + fun m -> + let uu____7750 = get___temp_no_proj () in + FStar_All.pipe_right uu____7750 (FStar_List.existsb (module_name_eq m)) + let (should_print_message : Prims.string -> Prims.bool) = - fun m -> - let uu____7912 = should_verify m in - if uu____7912 then m <> "Prims" else false + fun m -> + let uu____7768 = should_verify m in + if uu____7768 then m <> "Prims" else false + let (include_path : unit -> Prims.string Prims.list) = - fun uu____7929 -> + fun uu____7785 -> let cache_dir = - let uu____7934 = get_cache_dir () in - match uu____7934 with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some c -> [c] in - let uu____7948 = get_no_default_includes () in - if uu____7948 + let uu____7790 = get_cache_dir () in + match uu____7790 with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some c -> [c] in + let uu____7804 = get_no_default_includes () in + if uu____7804 then - let uu____7954 = get_include () in - FStar_List.append cache_dir uu____7954 + let uu____7810 = get_include () in + FStar_List.append cache_dir uu____7810 else (let lib_paths = - let uu____7965 = FStar_Util.expand_environment_variable "FSTAR_LIB" in - match uu____7965 with - | FStar_Pervasives_Native.None -> - let fstar_home = FStar_String.op_Hat fstar_bin_directory "/.." in - let defs = universe_include_path_base_dirs in - let uu____7981 = + let uu____7821 = FStar_Util.expand_environment_variable "FSTAR_LIB" + in + match uu____7821 with + | FStar_Pervasives_Native.None -> + let fstar_home = FStar_String.op_Hat fstar_bin_directory "/.." + in + let defs = universe_include_path_base_dirs in + let uu____7837 = FStar_All.pipe_right defs - (FStar_List.map (fun x -> FStar_String.op_Hat fstar_home x)) in - FStar_All.pipe_right uu____7981 + (FStar_List.map (fun x -> FStar_String.op_Hat fstar_home x)) + in + FStar_All.pipe_right uu____7837 (FStar_List.filter FStar_Util.file_exists) - | FStar_Pervasives_Native.Some s -> [s] in - let uu____8008 = - let uu____8012 = - let uu____8016 = get_include () in - FStar_List.append uu____8016 ["."] in - FStar_List.append lib_paths uu____8012 in - FStar_List.append cache_dir uu____8008) + | FStar_Pervasives_Native.Some s -> [s] in + let uu____7864 = + let uu____7868 = + let uu____7872 = get_include () in + FStar_List.append uu____7872 ["."] in + FStar_List.append lib_paths uu____7868 in + FStar_List.append cache_dir uu____7864) + let (find_file : Prims.string -> Prims.string FStar_Pervasives_Native.option) = - let file_map = FStar_Util.smap_create (Prims.parse_int "100") in - fun filename -> - let uu____8047 = FStar_Util.smap_try_find file_map filename in - match uu____8047 with + let file_map = FStar_Util.smap_create (Prims.parse_int "100") in + fun filename -> + let uu____7903 = FStar_Util.smap_try_find file_map filename in + match uu____7903 with | FStar_Pervasives_Native.Some f -> f - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let result = try - (fun uu___523_8078 -> + (fun uu___518_7934 -> match () with | () -> - let uu____8082 = FStar_Util.is_path_absolute filename in - if uu____8082 + let uu____7938 = FStar_Util.is_path_absolute filename in + if uu____7938 then (if FStar_Util.file_exists filename then FStar_Pervasives_Native.Some filename else FStar_Pervasives_Native.None) else - (let uu____8098 = - let uu____8102 = include_path () in - FStar_List.rev uu____8102 in - FStar_Util.find_map uu____8098 - (fun p -> + (let uu____7954 = + let uu____7958 = include_path () in + FStar_List.rev uu____7958 in + FStar_Util.find_map uu____7954 + (fun p -> let path = if p = "." then filename - else FStar_Util.join_paths p filename in + else FStar_Util.join_paths p filename in if FStar_Util.file_exists path then FStar_Pervasives_Native.Some path else FStar_Pervasives_Native.None))) () - with | uu___522_8130 -> FStar_Pervasives_Native.None in + with | uu___517_7986 -> FStar_Pervasives_Native.None in (if FStar_Option.isSome result then FStar_Util.smap_add file_map filename result else (); result) + let (prims : unit -> Prims.string) = - fun uu____8149 -> - let uu____8150 = get_prims () in - match uu____8150 with - | FStar_Pervasives_Native.None -> - let filename = "prims.fst" in - let uu____8159 = find_file filename in - (match uu____8159 with + fun uu____8005 -> + let uu____8006 = get_prims () in + match uu____8006 with + | FStar_Pervasives_Native.None -> + let filename = "prims.fst" in + let uu____8015 = find_file filename in + (match uu____8015 with | FStar_Pervasives_Native.Some result -> result - | FStar_Pervasives_Native.None -> - let uu____8168 = + | FStar_Pervasives_Native.None -> + let uu____8024 = FStar_Util.format1 "unable to find required file \"%s\" in the module search path.\n" - filename in - failwith uu____8168) + filename + in + failwith uu____8024) | FStar_Pervasives_Native.Some x -> x + let (prims_basename : unit -> Prims.string) = - fun uu____8181 -> - let uu____8182 = prims () in FStar_Util.basename uu____8182 + fun uu____8037 -> + let uu____8038 = prims () in FStar_Util.basename uu____8038 + let (pervasives : unit -> Prims.string) = - fun uu____8190 -> - let filename = "FStar.Pervasives.fst" in - let uu____8194 = find_file filename in - match uu____8194 with + fun uu____8046 -> + let filename = "FStar.Pervasives.fst" in + let uu____8050 = find_file filename in + match uu____8050 with | FStar_Pervasives_Native.Some result -> result - | FStar_Pervasives_Native.None -> - let uu____8203 = + | FStar_Pervasives_Native.None -> + let uu____8059 = FStar_Util.format1 "unable to find required file \"%s\" in the module search path.\n" - filename in - failwith uu____8203 + filename + in + failwith uu____8059 + let (pervasives_basename : unit -> Prims.string) = - fun uu____8213 -> - let uu____8214 = pervasives () in FStar_Util.basename uu____8214 + fun uu____8069 -> + let uu____8070 = pervasives () in FStar_Util.basename uu____8070 + let (pervasives_native_basename : unit -> Prims.string) = - fun uu____8222 -> - let filename = "FStar.Pervasives.Native.fst" in - let uu____8226 = find_file filename in - match uu____8226 with + fun uu____8078 -> + let filename = "FStar.Pervasives.Native.fst" in + let uu____8082 = find_file filename in + match uu____8082 with | FStar_Pervasives_Native.Some result -> FStar_Util.basename result - | FStar_Pervasives_Native.None -> - let uu____8235 = + | FStar_Pervasives_Native.None -> + let uu____8091 = FStar_Util.format1 "unable to find required file \"%s\" in the module search path.\n" - filename in - failwith uu____8235 + filename + in + failwith uu____8091 + let (prepend_output_dir : Prims.string -> Prims.string) = - fun fname -> - let uu____8248 = get_odir () in - match uu____8248 with - | FStar_Pervasives_Native.None -> fname + fun fname -> + let uu____8104 = get_odir () in + match uu____8104 with + | FStar_Pervasives_Native.None -> fname | FStar_Pervasives_Native.Some x -> FStar_Util.join_paths x fname + let (prepend_cache_dir : Prims.string -> Prims.string) = - fun fpath -> - let uu____8266 = get_cache_dir () in - match uu____8266 with - | FStar_Pervasives_Native.None -> fpath + fun fpath -> + let uu____8122 = get_cache_dir () in + match uu____8122 with + | FStar_Pervasives_Native.None -> fpath | FStar_Pervasives_Native.Some x -> - let uu____8275 = FStar_Util.basename fpath in - FStar_Util.join_paths x uu____8275 + let uu____8131 = FStar_Util.basename fpath in + FStar_Util.join_paths x uu____8131 + let (path_of_text : Prims.string -> Prims.string Prims.list) = - fun text -> FStar_String.split [46] text + fun text -> FStar_String.split [46] text let (parse_settings : Prims.string Prims.list -> (Prims.string Prims.list * Prims.bool) Prims.list) = - fun ns -> - let cache = FStar_Util.smap_create (Prims.parse_int "31") in + fun ns -> + let cache = FStar_Util.smap_create (Prims.parse_int "31") in let with_cache f s = - let uu____8397 = FStar_Util.smap_try_find cache s in - match uu____8397 with + let uu____8253 = FStar_Util.smap_try_find cache s in + match uu____8253 with | FStar_Pervasives_Native.Some s1 -> s1 - | FStar_Pervasives_Native.None -> - let res = f s in (FStar_Util.smap_add cache s res; res) in + | FStar_Pervasives_Native.None -> + let res = f s in (FStar_Util.smap_add cache s res; res) + in let parse_one_setting s = if s = "*" then ([], true) @@ -1533,398 +1626,450 @@ let (parse_settings : if FStar_Util.starts_with s "-" then (let path = - let uu____8551 = - FStar_Util.substring_from s (Prims.parse_int "1") in - path_of_text uu____8551 in + let uu____8407 = + FStar_Util.substring_from s (Prims.parse_int "1") in + path_of_text uu____8407 in (path, false)) else (let s1 = if FStar_Util.starts_with s "+" then FStar_Util.substring_from s (Prims.parse_int "1") - else s in - ((path_of_text s1), true)) in - let uu____8574 = + else s in + ((path_of_text s1), true)) + in + let uu____8430 = FStar_All.pipe_right ns (FStar_List.collect - (fun s -> - let s1 = FStar_Util.trim_string s in + (fun s -> + let s1 = FStar_Util.trim_string s in if s1 = "" then [] else with_cache - (fun s2 -> - let uu____8642 = - let uu____8646 = - FStar_All.pipe_right (FStar_Util.splitlines s2) + (fun s2 -> + let s3 = FStar_Util.replace_char s2 32 44 in + let uu____8504 = + let uu____8508 = + FStar_All.pipe_right (FStar_Util.splitlines s3) (FStar_List.concatMap - (fun s3 -> FStar_Util.split s3 " ")) in - FStar_All.pipe_right uu____8646 - (FStar_List.filter (fun s3 -> s3 <> "")) in - FStar_All.pipe_right uu____8642 - (FStar_List.map parse_one_setting)) s1)) in - FStar_All.pipe_right uu____8574 FStar_List.rev + (fun s4 -> FStar_Util.split s4 ",")) + in + FStar_All.pipe_right uu____8508 + (FStar_List.filter (fun s4 -> s4 <> "")) + in + FStar_All.pipe_right uu____8504 + (FStar_List.map parse_one_setting)) s1)) + in + FStar_All.pipe_right uu____8430 FStar_List.rev + let (__temp_no_proj : Prims.string -> Prims.bool) = - fun s -> - let uu____8733 = get___temp_no_proj () in - FStar_All.pipe_right uu____8733 (FStar_List.contains s) + fun s -> + let uu____8595 = get___temp_no_proj () in + FStar_All.pipe_right uu____8595 (FStar_List.contains s) + let (__temp_fast_implicits : unit -> Prims.bool) = - fun uu____8748 -> lookup_opt "__temp_fast_implicits" as_bool + fun uu____8610 -> lookup_opt "__temp_fast_implicits" as_bool let (admit_smt_queries : unit -> Prims.bool) = - fun uu____8757 -> get_admit_smt_queries () + fun uu____8619 -> get_admit_smt_queries () let (admit_except : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____8766 -> get_admit_except () + fun uu____8628 -> get_admit_except () let (cache_checked_modules : unit -> Prims.bool) = - fun uu____8773 -> get_cache_checked_modules () -let (cache_off : unit -> Prims.bool) = fun uu____8780 -> get_cache_off () -let (cmi : unit -> Prims.bool) = fun uu____8787 -> get_cmi () + fun uu____8635 -> get_cache_checked_modules () +let (cache_off : unit -> Prims.bool) = fun uu____8642 -> get_cache_off () +let (cmi : unit -> Prims.bool) = fun uu____8649 -> get_cmi () type codegen_t = | OCaml | FSharp | Kremlin | Plugin let (uu___is_OCaml : codegen_t -> Prims.bool) = - fun projectee -> match projectee with | OCaml -> true | uu____8797 -> false + fun projectee -> + match projectee with | OCaml -> true | uu____8659 -> false + let (uu___is_FSharp : codegen_t -> Prims.bool) = - fun projectee -> - match projectee with | FSharp -> true | uu____8808 -> false + fun projectee -> + match projectee with | FSharp -> true | uu____8670 -> false + let (uu___is_Kremlin : codegen_t -> Prims.bool) = - fun projectee -> - match projectee with | Kremlin -> true | uu____8819 -> false + fun projectee -> + match projectee with | Kremlin -> true | uu____8681 -> false + let (uu___is_Plugin : codegen_t -> Prims.bool) = - fun projectee -> - match projectee with | Plugin -> true | uu____8830 -> false + fun projectee -> + match projectee with | Plugin -> true | uu____8692 -> false + let (codegen : unit -> codegen_t FStar_Pervasives_Native.option) = - fun uu____8839 -> - let uu____8840 = get_codegen () in - FStar_Util.map_opt uu____8840 - (fun uu___9_8846 -> - match uu___9_8846 with + fun uu____8701 -> + let uu____8702 = get_codegen () in + FStar_Util.map_opt uu____8702 + (fun uu___9_8708 -> + match uu___9_8708 with | "OCaml" -> OCaml | "FSharp" -> FSharp | "Kremlin" -> Kremlin | "Plugin" -> Plugin - | uu____8852 -> failwith "Impossible") + | uu____8714 -> failwith "Impossible") + let (codegen_libs : unit -> Prims.string Prims.list Prims.list) = - fun uu____8865 -> - let uu____8866 = get_codegen_lib () in - FStar_All.pipe_right uu____8866 - (FStar_List.map (fun x -> FStar_Util.split x ".")) + fun uu____8727 -> + let uu____8728 = get_codegen_lib () in + FStar_All.pipe_right uu____8728 + (FStar_List.map (fun x -> FStar_Util.split x ".")) + let (debug_any : unit -> Prims.bool) = - fun uu____8892 -> let uu____8893 = get_debug () in uu____8893 <> [] + fun uu____8754 -> let uu____8755 = get_debug () in uu____8755 <> [] let (debug_module : Prims.string -> Prims.bool) = - fun modul -> - let uu____8910 = get_debug () in - FStar_All.pipe_right uu____8910 + fun modul -> + let uu____8772 = get_debug () in + FStar_All.pipe_right uu____8772 (FStar_List.existsb (module_name_eq modul)) + let (debug_at_level : Prims.string -> debug_level_t -> Prims.bool) = - fun modul -> - fun level -> - (let uu____8935 = get_debug () in - FStar_All.pipe_right uu____8935 + fun modul -> + fun level -> + (let uu____8797 = get_debug () in + FStar_All.pipe_right uu____8797 (FStar_List.existsb (module_name_eq modul))) && (debug_level_geq level) + let (defensive : unit -> Prims.bool) = - fun uu____8950 -> let uu____8951 = get_defensive () in uu____8951 <> "no" + fun uu____8812 -> let uu____8813 = get_defensive () in uu____8813 <> "no" let (defensive_fail : unit -> Prims.bool) = - fun uu____8961 -> let uu____8962 = get_defensive () in uu____8962 = "fail" + fun uu____8823 -> + let uu____8824 = get_defensive () in uu____8824 = "fail" + let (dep : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____8974 -> get_dep () + fun uu____8836 -> get_dep () let (detail_errors : unit -> Prims.bool) = - fun uu____8981 -> get_detail_errors () + fun uu____8843 -> get_detail_errors () let (detail_hint_replay : unit -> Prims.bool) = - fun uu____8988 -> get_detail_hint_replay () -let (doc : unit -> Prims.bool) = fun uu____8995 -> get_doc () + fun uu____8850 -> get_detail_hint_replay () +let (doc : unit -> Prims.bool) = fun uu____8857 -> get_doc () let (dump_module : Prims.string -> Prims.bool) = - fun s -> - let uu____9005 = get_dump_module () in - FStar_All.pipe_right uu____9005 (FStar_List.existsb (module_name_eq s)) + fun s -> + let uu____8867 = get_dump_module () in + FStar_All.pipe_right uu____8867 (FStar_List.existsb (module_name_eq s)) + let (eager_subtyping : unit -> Prims.bool) = - fun uu____9020 -> get_eager_subtyping () + fun uu____8882 -> get_eager_subtyping () let (expose_interfaces : unit -> Prims.bool) = - fun uu____9027 -> get_expose_interfaces () + fun uu____8889 -> get_expose_interfaces () let (fs_typ_app : Prims.string -> Prims.bool) = - fun filename -> - let uu____9037 = FStar_ST.op_Bang light_off_files in - FStar_List.contains filename uu____9037 -let (full_context_dependency : unit -> Prims.bool) = fun uu____9073 -> true + fun filename -> + let uu____8899 = FStar_ST.op_Bang light_off_files in + FStar_List.contains filename uu____8899 + +let (full_context_dependency : unit -> Prims.bool) = fun uu____8935 -> true let (hide_uvar_nums : unit -> Prims.bool) = - fun uu____9081 -> get_hide_uvar_nums () + fun uu____8943 -> get_hide_uvar_nums () let (hint_info : unit -> Prims.bool) = - fun uu____9088 -> (get_hint_info ()) || (get_query_stats ()) + fun uu____8950 -> (get_hint_info ()) || (get_query_stats ()) let (hint_file : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____9097 -> get_hint_file () -let (ide : unit -> Prims.bool) = fun uu____9104 -> get_ide () -let (print : unit -> Prims.bool) = fun uu____9111 -> get_print () + fun uu____8959 -> get_hint_file () +let (ide : unit -> Prims.bool) = fun uu____8966 -> get_ide () +let (print : unit -> Prims.bool) = fun uu____8973 -> get_print () let (print_in_place : unit -> Prims.bool) = - fun uu____9118 -> get_print_in_place () + fun uu____8980 -> get_print_in_place () let profile : 'a . (unit -> 'a) -> ('a -> Prims.string) -> 'a = - fun f -> - fun msg -> - let uu____9149 = get_profile () in - if uu____9149 + fun f -> + fun msg -> + let uu____9011 = get_profile () in + if uu____9011 then - let uu____9152 = FStar_Util.record_time f in - match uu____9152 with - | (a, time) -> - ((let uu____9163 = FStar_Util.string_of_int time in - let uu____9165 = msg a in - FStar_Util.print2 "Elapsed time %s ms: %s\n" uu____9163 - uu____9165); + let uu____9014 = FStar_Util.record_time f in + match uu____9014 with + | (a,time) -> + ((let uu____9025 = FStar_Util.string_of_int time in + let uu____9027 = msg a in + FStar_Util.print2 "Elapsed time %s ms: %s\n" uu____9025 + uu____9027); a) else f () + let (initial_fuel : unit -> Prims.int) = - fun uu____9176 -> - let uu____9177 = get_initial_fuel () in - let uu____9179 = get_max_fuel () in Prims.min uu____9177 uu____9179 + fun uu____9038 -> + let uu____9039 = get_initial_fuel () in + let uu____9041 = get_max_fuel () in Prims.min uu____9039 uu____9041 + let (initial_ifuel : unit -> Prims.int) = - fun uu____9187 -> - let uu____9188 = get_initial_ifuel () in - let uu____9190 = get_max_ifuel () in Prims.min uu____9188 uu____9190 + fun uu____9049 -> + let uu____9050 = get_initial_ifuel () in + let uu____9052 = get_max_ifuel () in Prims.min uu____9050 uu____9052 + let (interactive : unit -> Prims.bool) = - fun uu____9198 -> (get_in ()) || (get_ide ()) -let (lax : unit -> Prims.bool) = fun uu____9205 -> get_lax () -let (load : unit -> Prims.string Prims.list) = fun uu____9214 -> get_load () -let (legacy_interactive : unit -> Prims.bool) = fun uu____9221 -> get_in () -let (lsp_server : unit -> Prims.bool) = fun uu____9228 -> get_lsp () -let (log_queries : unit -> Prims.bool) = fun uu____9235 -> get_log_queries () + fun uu____9060 -> (get_in ()) || (get_ide ()) +let (lax : unit -> Prims.bool) = fun uu____9067 -> get_lax () +let (load : unit -> Prims.string Prims.list) = fun uu____9076 -> get_load () +let (legacy_interactive : unit -> Prims.bool) = fun uu____9083 -> get_in () +let (lsp_server : unit -> Prims.bool) = fun uu____9090 -> get_lsp () +let (log_queries : unit -> Prims.bool) = + fun uu____9097 -> get_log_queries () let (keep_query_captions : unit -> Prims.bool) = - fun uu____9242 -> (log_queries ()) && (get_keep_query_captions ()) -let (log_types : unit -> Prims.bool) = fun uu____9249 -> get_log_types () -let (max_fuel : unit -> Prims.int) = fun uu____9256 -> get_max_fuel () -let (max_ifuel : unit -> Prims.int) = fun uu____9263 -> get_max_ifuel () -let (min_fuel : unit -> Prims.int) = fun uu____9270 -> get_min_fuel () -let (ml_ish : unit -> Prims.bool) = fun uu____9277 -> get_MLish () + fun uu____9104 -> (log_queries ()) && (get_keep_query_captions ()) +let (log_types : unit -> Prims.bool) = fun uu____9111 -> get_log_types () +let (max_fuel : unit -> Prims.int) = fun uu____9118 -> get_max_fuel () +let (max_ifuel : unit -> Prims.int) = fun uu____9125 -> get_max_ifuel () +let (min_fuel : unit -> Prims.int) = fun uu____9132 -> get_min_fuel () +let (ml_ish : unit -> Prims.bool) = fun uu____9139 -> get_MLish () let (set_ml_ish : unit -> unit) = - fun uu____9283 -> set_option "MLish" (Bool true) -let (n_cores : unit -> Prims.int) = fun uu____9292 -> get_n_cores () + fun uu____9145 -> set_option "MLish" (Bool true) let (no_default_includes : unit -> Prims.bool) = - fun uu____9299 -> get_no_default_includes () + fun uu____9154 -> get_no_default_includes () let (no_extract : Prims.string -> Prims.bool) = - fun s -> - let uu____9309 = get_no_extract () in - FStar_All.pipe_right uu____9309 (FStar_List.existsb (module_name_eq s)) + fun s -> + let uu____9164 = get_no_extract () in + FStar_All.pipe_right uu____9164 (FStar_List.existsb (module_name_eq s)) + let (normalize_pure_terms_for_extraction : unit -> Prims.bool) = - fun uu____9324 -> get_normalize_pure_terms_for_extraction () + fun uu____9179 -> get_normalize_pure_terms_for_extraction () let (no_location_info : unit -> Prims.bool) = - fun uu____9331 -> get_no_location_info () -let (no_plugins : unit -> Prims.bool) = fun uu____9338 -> get_no_plugins () -let (no_smt : unit -> Prims.bool) = fun uu____9345 -> get_no_smt () + fun uu____9186 -> get_no_location_info () +let (no_plugins : unit -> Prims.bool) = fun uu____9193 -> get_no_plugins () +let (no_smt : unit -> Prims.bool) = fun uu____9200 -> get_no_smt () let (output_dir : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____9354 -> get_odir () -let (ugly : unit -> Prims.bool) = fun uu____9361 -> get_ugly () + fun uu____9209 -> get_odir () +let (ugly : unit -> Prims.bool) = fun uu____9216 -> get_ugly () let (print_bound_var_types : unit -> Prims.bool) = - fun uu____9368 -> get_print_bound_var_types () + fun uu____9223 -> get_print_bound_var_types () let (print_effect_args : unit -> Prims.bool) = - fun uu____9375 -> get_print_effect_args () + fun uu____9230 -> get_print_effect_args () let (print_implicits : unit -> Prims.bool) = - fun uu____9382 -> get_print_implicits () + fun uu____9237 -> get_print_implicits () let (print_real_names : unit -> Prims.bool) = - fun uu____9389 -> (get_prn ()) || (get_print_full_names ()) + fun uu____9244 -> (get_prn ()) || (get_print_full_names ()) let (print_universes : unit -> Prims.bool) = - fun uu____9396 -> get_print_universes () + fun uu____9251 -> get_print_universes () let (print_z3_statistics : unit -> Prims.bool) = - fun uu____9403 -> get_print_z3_statistics () -let (query_stats : unit -> Prims.bool) = fun uu____9410 -> get_query_stats () + fun uu____9258 -> get_print_z3_statistics () +let (query_stats : unit -> Prims.bool) = + fun uu____9265 -> get_query_stats () let (record_hints : unit -> Prims.bool) = - fun uu____9417 -> get_record_hints () + fun uu____9272 -> get_record_hints () let (reuse_hint_for : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____9426 -> get_reuse_hint_for () -let (silent : unit -> Prims.bool) = fun uu____9433 -> get_silent () + fun uu____9281 -> get_reuse_hint_for () +let (silent : unit -> Prims.bool) = fun uu____9288 -> get_silent () let (smtencoding_elim_box : unit -> Prims.bool) = - fun uu____9440 -> get_smtencoding_elim_box () + fun uu____9295 -> get_smtencoding_elim_box () let (smtencoding_nl_arith_native : unit -> Prims.bool) = - fun uu____9447 -> - let uu____9448 = get_smtencoding_nl_arith_repr () in - uu____9448 = "native" + fun uu____9302 -> + let uu____9303 = get_smtencoding_nl_arith_repr () in + uu____9303 = "native" + let (smtencoding_nl_arith_wrapped : unit -> Prims.bool) = - fun uu____9458 -> - let uu____9459 = get_smtencoding_nl_arith_repr () in - uu____9459 = "wrapped" + fun uu____9313 -> + let uu____9314 = get_smtencoding_nl_arith_repr () in + uu____9314 = "wrapped" + let (smtencoding_nl_arith_default : unit -> Prims.bool) = - fun uu____9469 -> - let uu____9470 = get_smtencoding_nl_arith_repr () in - uu____9470 = "boxwrap" + fun uu____9324 -> + let uu____9325 = get_smtencoding_nl_arith_repr () in + uu____9325 = "boxwrap" + let (smtencoding_l_arith_native : unit -> Prims.bool) = - fun uu____9480 -> - let uu____9481 = get_smtencoding_l_arith_repr () in uu____9481 = "native" + fun uu____9335 -> + let uu____9336 = get_smtencoding_l_arith_repr () in + uu____9336 = "native" + let (smtencoding_l_arith_default : unit -> Prims.bool) = - fun uu____9491 -> - let uu____9492 = get_smtencoding_l_arith_repr () in - uu____9492 = "boxwrap" + fun uu____9346 -> + let uu____9347 = get_smtencoding_l_arith_repr () in + uu____9347 = "boxwrap" + let (smtencoding_valid_intro : unit -> Prims.bool) = - fun uu____9502 -> get_smtencoding_valid_intro () + fun uu____9357 -> get_smtencoding_valid_intro () let (smtencoding_valid_elim : unit -> Prims.bool) = - fun uu____9509 -> get_smtencoding_valid_elim () + fun uu____9364 -> get_smtencoding_valid_elim () let (tactic_raw_binders : unit -> Prims.bool) = - fun uu____9516 -> get_tactic_raw_binders () + fun uu____9371 -> get_tactic_raw_binders () let (tactics_failhard : unit -> Prims.bool) = - fun uu____9523 -> get_tactics_failhard () + fun uu____9378 -> get_tactics_failhard () let (tactics_info : unit -> Prims.bool) = - fun uu____9530 -> get_tactics_info () + fun uu____9385 -> get_tactics_info () let (tactic_trace : unit -> Prims.bool) = - fun uu____9537 -> get_tactic_trace () + fun uu____9392 -> get_tactic_trace () let (tactic_trace_d : unit -> Prims.int) = - fun uu____9544 -> get_tactic_trace_d () -let (tactics_nbe : unit -> Prims.bool) = fun uu____9551 -> get_tactics_nbe () -let (tcnorm : unit -> Prims.bool) = fun uu____9558 -> get_tcnorm () -let (timing : unit -> Prims.bool) = fun uu____9565 -> get_timing () -let (trace_error : unit -> Prims.bool) = fun uu____9572 -> get_trace_error () + fun uu____9399 -> get_tactic_trace_d () +let (tactics_nbe : unit -> Prims.bool) = + fun uu____9406 -> get_tactics_nbe () +let (tcnorm : unit -> Prims.bool) = fun uu____9413 -> get_tcnorm () +let (timing : unit -> Prims.bool) = fun uu____9420 -> get_timing () +let (trace_error : unit -> Prims.bool) = + fun uu____9427 -> get_trace_error () let (unthrottle_inductives : unit -> Prims.bool) = - fun uu____9579 -> get_unthrottle_inductives () + fun uu____9434 -> get_unthrottle_inductives () let (unsafe_tactic_exec : unit -> Prims.bool) = - fun uu____9586 -> get_unsafe_tactic_exec () + fun uu____9441 -> get_unsafe_tactic_exec () let (use_eq_at_higher_order : unit -> Prims.bool) = - fun uu____9593 -> get_use_eq_at_higher_order () -let (use_hints : unit -> Prims.bool) = fun uu____9600 -> get_use_hints () + fun uu____9448 -> get_use_eq_at_higher_order () +let (use_hints : unit -> Prims.bool) = fun uu____9455 -> get_use_hints () let (use_hint_hashes : unit -> Prims.bool) = - fun uu____9607 -> get_use_hint_hashes () + fun uu____9462 -> get_use_hint_hashes () let (use_native_tactics : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu____9616 -> get_use_native_tactics () -let (use_tactics : unit -> Prims.bool) = fun uu____9623 -> get_use_tactics () + fun uu____9471 -> get_use_native_tactics () +let (use_tactics : unit -> Prims.bool) = + fun uu____9478 -> get_use_tactics () let (using_facts_from : unit -> (Prims.string Prims.list * Prims.bool) Prims.list) = - fun uu____9639 -> - let uu____9640 = get_using_facts_from () in - match uu____9640 with - | FStar_Pervasives_Native.None -> [([], true)] + fun uu____9494 -> + let uu____9495 = get_using_facts_from () in + match uu____9495 with + | FStar_Pervasives_Native.None -> [([], true)] | FStar_Pervasives_Native.Some ns -> parse_settings ns + let (vcgen_optimize_bind_as_seq : unit -> Prims.bool) = - fun uu____9694 -> - let uu____9695 = get_vcgen_optimize_bind_as_seq () in - FStar_Option.isSome uu____9695 + fun uu____9549 -> + let uu____9550 = get_vcgen_optimize_bind_as_seq () in + FStar_Option.isSome uu____9550 + let (vcgen_decorate_with_type : unit -> Prims.bool) = - fun uu____9706 -> - let uu____9707 = get_vcgen_optimize_bind_as_seq () in - match uu____9707 with + fun uu____9561 -> + let uu____9562 = get_vcgen_optimize_bind_as_seq () in + match uu____9562 with | FStar_Pervasives_Native.Some "with_type" -> true - | uu____9715 -> false + | uu____9570 -> false + let (warn_default_effects : unit -> Prims.bool) = - fun uu____9726 -> get_warn_default_effects () + fun uu____9581 -> get_warn_default_effects () let (z3_exe : unit -> Prims.string) = - fun uu____9733 -> - let uu____9734 = get_smt () in - match uu____9734 with - | FStar_Pervasives_Native.None -> FStar_Platform.exe "z3" + fun uu____9588 -> + let uu____9589 = get_smt () in + match uu____9589 with + | FStar_Pervasives_Native.None -> FStar_Platform.exe "z3" | FStar_Pervasives_Native.Some s -> s + let (z3_cliopt : unit -> Prims.string Prims.list) = - fun uu____9752 -> get_z3cliopt () -let (z3_refresh : unit -> Prims.bool) = fun uu____9759 -> get_z3refresh () -let (z3_rlimit : unit -> Prims.int) = fun uu____9766 -> get_z3rlimit () + fun uu____9607 -> get_z3cliopt () +let (z3_refresh : unit -> Prims.bool) = fun uu____9614 -> get_z3refresh () +let (z3_rlimit : unit -> Prims.int) = fun uu____9621 -> get_z3rlimit () let (z3_rlimit_factor : unit -> Prims.int) = - fun uu____9773 -> get_z3rlimit_factor () -let (z3_seed : unit -> Prims.int) = fun uu____9780 -> get_z3seed () + fun uu____9628 -> get_z3rlimit_factor () +let (z3_seed : unit -> Prims.int) = fun uu____9635 -> get_z3seed () let (use_two_phase_tc : unit -> Prims.bool) = - fun uu____9787 -> + fun uu____9642 -> (get_use_two_phase_tc ()) && - (let uu____9789 = lax () in Prims.op_Negation uu____9789) + (let uu____9644 = lax () in Prims.op_Negation uu____9644) + let (no_positivity : unit -> Prims.bool) = - fun uu____9797 -> get_no_positivity () + fun uu____9652 -> get_no_positivity () let (ml_no_eta_expand_coertions : unit -> Prims.bool) = - fun uu____9804 -> get_ml_no_eta_expand_coertions () + fun uu____9659 -> get_ml_no_eta_expand_coertions () let (warn_error : unit -> Prims.string) = - fun uu____9811 -> - let uu____9812 = get_warn_error () in FStar_String.concat "" uu____9812 + fun uu____9666 -> + let uu____9667 = get_warn_error () in FStar_String.concat "" uu____9667 + let (use_extracted_interfaces : unit -> Prims.bool) = - fun uu____9823 -> get_use_extracted_interfaces () -let (use_nbe : unit -> Prims.bool) = fun uu____9830 -> get_use_nbe () + fun uu____9678 -> get_use_extracted_interfaces () +let (use_nbe : unit -> Prims.bool) = fun uu____9685 -> get_use_nbe () +let (trivial_pre_for_unannotated_effectful_fns : unit -> Prims.bool) = + fun uu____9692 -> get_trivial_pre_for_unannotated_effectful_fns () let with_saved_options : 'a . (unit -> 'a) -> 'a = - fun f -> - let uu____9847 = - let uu____9849 = trace_error () in Prims.op_Negation uu____9849 in - if uu____9847 + fun f -> + let uu____9709 = + let uu____9711 = trace_error () in Prims.op_Negation uu____9711 in + if uu____9709 then (push (); (let r = try - (fun uu___724_9864 -> + (fun uu___720_9726 -> match () with - | () -> let uu____9869 = f () in FStar_Util.Inr uu____9869) () - with | uu___723_9871 -> FStar_Util.Inl uu___723_9871 in + | () -> let uu____9731 = f () in FStar_Util.Inr uu____9731) + () + with | uu___719_9733 -> FStar_Util.Inl uu___719_9733 in pop (); (match r with | FStar_Util.Inr v1 -> v1 | FStar_Util.Inl ex -> FStar_Exn.raise ex))) - else (push (); (let retv = f () in pop (); retv)) + else (push (); (let retv = f () in pop (); retv)) + let (module_matches_namespace_filter : Prims.string -> Prims.string Prims.list -> Prims.bool) = - fun m -> - fun filter1 -> - let m1 = FStar_String.lowercase m in - let setting = parse_settings filter1 in - let m_components = path_of_text m1 in + fun m -> + fun filter1 -> + let m1 = FStar_String.lowercase m in + let setting = parse_settings filter1 in + let m_components = path_of_text m1 in let rec matches_path m_components1 path = match (m_components1, path) with - | (uu____9952, []) -> true - | (m2::ms, p::ps) -> + | (uu____9814,[]) -> true + | (m2::ms,p::ps) -> (m2 = (FStar_String.lowercase p)) && (matches_path ms ps) - | uu____9985 -> false in - let uu____9997 = + | uu____9847 -> false in + let uu____9859 = FStar_All.pipe_right setting (FStar_Util.try_find - (fun uu____10039 -> - match uu____10039 with - | (path, uu____10050) -> matches_path m_components path)) in - match uu____9997 with - | FStar_Pervasives_Native.None -> false - | FStar_Pervasives_Native.Some (uu____10069, flag) -> flag + (fun uu____9901 -> + match uu____9901 with + | (path,uu____9912) -> matches_path m_components path)) + in + match uu____9859 with + | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.Some (uu____9931,flag) -> flag + let (should_extract : Prims.string -> Prims.bool) = - fun m -> - let m1 = FStar_String.lowercase m in - let uu____10098 = get_extract () in - match uu____10098 with + fun m -> + let m1 = FStar_String.lowercase m in + let uu____9960 = get_extract () in + match uu____9960 with | FStar_Pervasives_Native.Some extract_setting -> - ((let uu____10113 = - let uu____10129 = get_no_extract () in - let uu____10133 = get_extract_namespace () in - let uu____10137 = get_extract_module () in - (uu____10129, uu____10133, uu____10137) in - match uu____10113 with - | ([], [], []) -> () - | uu____10162 -> + ((let uu____9975 = + let uu____9991 = get_no_extract () in + let uu____9995 = get_extract_namespace () in + let uu____9999 = get_extract_module () in + (uu____9991, uu____9995, uu____9999) in + match uu____9975 with + | ([],[],[]) -> () + | uu____10024 -> failwith "Incompatible options: --extract cannot be used with --no_extract, --extract_namespace or --extract_module"); module_matches_namespace_filter m1 extract_setting) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let should_extract_namespace m2 = - let uu____10191 = get_extract_namespace () in - match uu____10191 with + let uu____10053 = get_extract_namespace () in + match uu____10053 with | [] -> false | ns -> FStar_All.pipe_right ns (FStar_Util.for_some - (fun n1 -> - FStar_Util.starts_with m2 (FStar_String.lowercase n1))) in + (fun n1 -> + FStar_Util.starts_with m2 (FStar_String.lowercase n1))) + in let should_extract_module m2 = - let uu____10219 = get_extract_module () in - match uu____10219 with + let uu____10081 = get_extract_module () in + match uu____10081 with | [] -> false | l -> FStar_All.pipe_right l (FStar_Util.for_some - (fun n1 -> (FStar_String.lowercase n1) = m2)) in - (let uu____10241 = no_extract m1 in Prims.op_Negation uu____10241) && - (let uu____10244 = - let uu____10255 = get_extract_namespace () in - let uu____10259 = get_extract_module () in - (uu____10255, uu____10259) in - (match uu____10244 with - | ([], []) -> true - | uu____10279 -> + (fun n1 -> (FStar_String.lowercase n1) = m2)) + in + (let uu____10103 = no_extract m1 in Prims.op_Negation uu____10103) + && + (let uu____10106 = + let uu____10117 = get_extract_namespace () in + let uu____10121 = get_extract_module () in + (uu____10117, uu____10121) in + (match uu____10106 with + | ([],[]) -> true + | uu____10141 -> (should_extract_namespace m1) || (should_extract_module m1))) + let (should_be_already_cached : Prims.string -> Prims.bool) = - fun m -> - let uu____10299 = get_already_cached () in - match uu____10299 with - | FStar_Pervasives_Native.None -> false + fun m -> + let uu____10161 = get_already_cached () in + match uu____10161 with + | FStar_Pervasives_Native.None -> false | FStar_Pervasives_Native.Some already_cached_setting -> module_matches_namespace_filter m already_cached_setting + let (error_flags : unit -> error_flag Prims.list) = - let cache = FStar_Util.smap_create (Prims.parse_int "10") in - fun uu____10332 -> - let we = warn_error () in - let uu____10335 = FStar_Util.smap_try_find cache we in - match uu____10335 with - | FStar_Pervasives_Native.None -> - let r = parse_warn_error we in (FStar_Util.smap_add cache we r; r) - | FStar_Pervasives_Native.Some r -> r \ No newline at end of file + let cache = FStar_Util.smap_create (Prims.parse_int "10") in + fun uu____10194 -> + let we = warn_error () in + let uu____10197 = FStar_Util.smap_try_find cache we in + match uu____10197 with + | FStar_Pervasives_Native.None -> + let r = parse_warn_error we in (FStar_Util.smap_add cache we r; r) + | FStar_Pervasives_Native.Some r -> r + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Order.ml b/src/ocaml-output/FStar_Order.ml index 3e2d55dfae6..a0189961416 100644 --- a/src/ocaml-output/FStar_Order.ml +++ b/src/ocaml-output/FStar_Order.ml @@ -4,57 +4,61 @@ type order = | Eq | Gt let (uu___is_Lt : order -> Prims.bool) = - fun projectee -> match projectee with | Lt -> true | uu____8 -> false + fun projectee -> match projectee with | Lt -> true | uu____8 -> false let (uu___is_Eq : order -> Prims.bool) = - fun projectee -> match projectee with | Eq -> true | uu____19 -> false + fun projectee -> match projectee with | Eq -> true | uu____19 -> false let (uu___is_Gt : order -> Prims.bool) = - fun projectee -> match projectee with | Gt -> true | uu____30 -> false -let (ge : order -> Prims.bool) = fun o -> o <> Lt -let (le : order -> Prims.bool) = fun o -> o <> Gt -let (ne : order -> Prims.bool) = fun o -> o <> Eq -let (gt : order -> Prims.bool) = fun o -> o = Gt -let (lt : order -> Prims.bool) = fun o -> o = Lt -let (eq : order -> Prims.bool) = fun o -> o = Eq + fun projectee -> match projectee with | Gt -> true | uu____30 -> false +let (ge : order -> Prims.bool) = fun o -> o <> Lt +let (le : order -> Prims.bool) = fun o -> o <> Gt +let (ne : order -> Prims.bool) = fun o -> o <> Eq +let (gt : order -> Prims.bool) = fun o -> o = Gt +let (lt : order -> Prims.bool) = fun o -> o = Lt +let (eq : order -> Prims.bool) = fun o -> o = Eq let (lex : order -> (unit -> order) -> order) = - fun o1 -> - fun o2 -> + fun o1 -> + fun o2 -> match (o1, o2) with - | (Lt, uu____99) -> Lt - | (Eq, uu____106) -> o2 () - | (Gt, uu____113) -> Gt + | (Lt ,uu____99) -> Lt + | (Eq ,uu____106) -> o2 () + | (Gt ,uu____113) -> Gt + let (order_from_int : Prims.int -> order) = - fun i -> + fun i -> if i < (Prims.parse_int "0") then Lt else if i = (Prims.parse_int "0") then Eq else Gt + let (compare_int : Prims.int -> Prims.int -> order) = - fun i -> fun j -> order_from_int (i - j) + fun i -> fun j -> order_from_int (i - j) let rec compare_list : 'a . ('a -> 'a -> order) -> 'a Prims.list -> 'a Prims.list -> order = - fun f -> - fun l1 -> - fun l2 -> + fun f -> + fun l1 -> + fun l2 -> match (l1, l2) with - | ([], []) -> Eq - | ([], uu____204) -> Lt - | (uu____211, []) -> Gt - | (x::xs, y::ys) -> - let uu____230 = f x y in - lex uu____230 (fun uu____232 -> compare_list f xs ys) + | ([],[]) -> Eq + | ([],uu____204) -> Lt + | (uu____211,[]) -> Gt + | (x::xs,y::ys) -> + let uu____230 = f x y in + lex uu____230 (fun uu____232 -> compare_list f xs ys) + let compare_option : 'a . ('a -> 'a -> order) -> 'a FStar_Pervasives_Native.option -> 'a FStar_Pervasives_Native.option -> order = - fun f -> - fun x -> - fun y -> + fun f -> + fun x -> + fun y -> match (x, y) with - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) -> Eq - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.Some + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.None ) -> Eq + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.Some uu____284) -> Lt - | (FStar_Pervasives_Native.Some uu____289, - FStar_Pervasives_Native.None) -> Gt - | (FStar_Pervasives_Native.Some x1, FStar_Pervasives_Native.Some y1) - -> f x1 y1 \ No newline at end of file + | (FStar_Pervasives_Native.Some + uu____289,FStar_Pervasives_Native.None ) -> Gt + | (FStar_Pervasives_Native.Some x1,FStar_Pervasives_Native.Some y1) + -> f x1 y1 + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Parser_AST.ml b/src/ocaml-output/FStar_Parser_AST.ml index 7abb041d62c..186a45ce69e 100644 --- a/src/ocaml-output/FStar_Parser_AST.ml +++ b/src/ocaml-output/FStar_Parser_AST.ml @@ -6,32 +6,39 @@ type level = | Kind | Formula let (uu___is_Un : level -> Prims.bool) = - fun projectee -> match projectee with | Un -> true | uu____26 -> false + fun projectee -> match projectee with | Un -> true | uu____26 -> false let (uu___is_Expr : level -> Prims.bool) = - fun projectee -> match projectee with | Expr -> true | uu____37 -> false + fun projectee -> match projectee with | Expr -> true | uu____37 -> false let (uu___is_Type_level : level -> Prims.bool) = - fun projectee -> - match projectee with | Type_level -> true | uu____48 -> false + fun projectee -> + match projectee with | Type_level -> true | uu____48 -> false + let (uu___is_Kind : level -> Prims.bool) = - fun projectee -> match projectee with | Kind -> true | uu____59 -> false + fun projectee -> match projectee with | Kind -> true | uu____59 -> false let (uu___is_Formula : level -> Prims.bool) = - fun projectee -> match projectee with | Formula -> true | uu____70 -> false + fun projectee -> + match projectee with | Formula -> true | uu____70 -> false + type let_qualifier = | NoLetQualifier | Rec let (uu___is_NoLetQualifier : let_qualifier -> Prims.bool) = - fun projectee -> - match projectee with | NoLetQualifier -> true | uu____81 -> false + fun projectee -> + match projectee with | NoLetQualifier -> true | uu____81 -> false + let (uu___is_Rec : let_qualifier -> Prims.bool) = - fun projectee -> match projectee with | Rec -> true | uu____92 -> false + fun projectee -> match projectee with | Rec -> true | uu____92 -> false type quote_kind = | Static | Dynamic let (uu___is_Static : quote_kind -> Prims.bool) = - fun projectee -> match projectee with | Static -> true | uu____103 -> false + fun projectee -> + match projectee with | Static -> true | uu____103 -> false + let (uu___is_Dynamic : quote_kind -> Prims.bool) = - fun projectee -> - match projectee with | Dynamic -> true | uu____114 -> false + fun projectee -> + match projectee with | Dynamic -> true | uu____114 -> false + type term' = | Wild | Const of FStar_Const.sconst @@ -59,7 +66,7 @@ type term' = Prims.list) | Project of (term * FStar_Ident.lid) | Product of (binder Prims.list * term) - | Sum of ((binder, term) FStar_Util.either Prims.list * term) + | Sum of ((binder,term) FStar_Util.either Prims.list * term) | QForall of (binder Prims.list * (FStar_Ident.ident Prims.list * term Prims.list Prims.list) * term) | QExists of (binder Prims.list * (FStar_Ident.ident Prims.list * term @@ -124,355 +131,424 @@ and imp = | Infix | Nothing let (uu___is_Wild : term' -> Prims.bool) = - fun projectee -> match projectee with | Wild -> true | uu____733 -> false + fun projectee -> match projectee with | Wild -> true | uu____733 -> false let (uu___is_Const : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Const _0 -> true | uu____745 -> false + let (__proj__Const__item___0 : term' -> FStar_Const.sconst) = - fun projectee -> match projectee with | Const _0 -> _0 + fun projectee -> match projectee with | Const _0 -> _0 let (uu___is_Op : term' -> Prims.bool) = - fun projectee -> match projectee with | Op _0 -> true | uu____770 -> false + fun projectee -> match projectee with | Op _0 -> true | uu____770 -> false let (__proj__Op__item___0 : term' -> (FStar_Ident.ident * term Prims.list)) = - fun projectee -> match projectee with | Op _0 -> _0 + fun projectee -> match projectee with | Op _0 -> _0 let (uu___is_Tvar : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tvar _0 -> true | uu____807 -> false + let (__proj__Tvar__item___0 : term' -> FStar_Ident.ident) = - fun projectee -> match projectee with | Tvar _0 -> _0 + fun projectee -> match projectee with | Tvar _0 -> _0 let (uu___is_Uvar : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Uvar _0 -> true | uu____826 -> false + let (__proj__Uvar__item___0 : term' -> FStar_Ident.ident) = - fun projectee -> match projectee with | Uvar _0 -> _0 + fun projectee -> match projectee with | Uvar _0 -> _0 let (uu___is_Var : term' -> Prims.bool) = - fun projectee -> match projectee with | Var _0 -> true | uu____845 -> false + fun projectee -> + match projectee with | Var _0 -> true | uu____845 -> false + let (__proj__Var__item___0 : term' -> FStar_Ident.lid) = - fun projectee -> match projectee with | Var _0 -> _0 + fun projectee -> match projectee with | Var _0 -> _0 let (uu___is_Name : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Name _0 -> true | uu____864 -> false + let (__proj__Name__item___0 : term' -> FStar_Ident.lid) = - fun projectee -> match projectee with | Name _0 -> _0 + fun projectee -> match projectee with | Name _0 -> _0 let (uu___is_Projector : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Projector _0 -> true | uu____887 -> false + let (__proj__Projector__item___0 : term' -> (FStar_Ident.lid * FStar_Ident.ident)) = - fun projectee -> match projectee with | Projector _0 -> _0 + fun projectee -> match projectee with | Projector _0 -> _0 let (uu___is_Construct : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Construct _0 -> true | uu____928 -> false + let (__proj__Construct__item___0 : term' -> (FStar_Ident.lid * (term * imp) Prims.list)) = - fun projectee -> match projectee with | Construct _0 -> _0 + fun projectee -> match projectee with | Construct _0 -> _0 let (uu___is_Abs : term' -> Prims.bool) = - fun projectee -> match projectee with | Abs _0 -> true | uu____983 -> false + fun projectee -> + match projectee with | Abs _0 -> true | uu____983 -> false + let (__proj__Abs__item___0 : term' -> (pattern Prims.list * term)) = - fun projectee -> match projectee with | Abs _0 -> _0 + fun projectee -> match projectee with | Abs _0 -> _0 let (uu___is_App : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | App _0 -> true | uu____1026 -> false + let (__proj__App__item___0 : term' -> (term * term * imp)) = - fun projectee -> match projectee with | App _0 -> _0 + fun projectee -> match projectee with | App _0 -> _0 let (uu___is_Let : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Let _0 -> true | uu____1083 -> false + let (__proj__Let__item___0 : term' -> (let_qualifier * (term Prims.list FStar_Pervasives_Native.option * (pattern * term)) Prims.list * term)) - = fun projectee -> match projectee with | Let _0 -> _0 + = fun projectee -> match projectee with | Let _0 -> _0 let (uu___is_LetOpen : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | LetOpen _0 -> true | uu____1166 -> false + let (__proj__LetOpen__item___0 : term' -> (FStar_Ident.lid * term)) = - fun projectee -> match projectee with | LetOpen _0 -> _0 + fun projectee -> match projectee with | LetOpen _0 -> _0 let (uu___is_Seq : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Seq _0 -> true | uu____1201 -> false + let (__proj__Seq__item___0 : term' -> (term * term)) = - fun projectee -> match projectee with | Seq _0 -> _0 + fun projectee -> match projectee with | Seq _0 -> _0 let (uu___is_Bind : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Bind _0 -> true | uu____1238 -> false + let (__proj__Bind__item___0 : term' -> (FStar_Ident.ident * term * term)) = - fun projectee -> match projectee with | Bind _0 -> _0 + fun projectee -> match projectee with | Bind _0 -> _0 let (uu___is_If : term' -> Prims.bool) = - fun projectee -> match projectee with | If _0 -> true | uu____1281 -> false + fun projectee -> + match projectee with | If _0 -> true | uu____1281 -> false + let (__proj__If__item___0 : term' -> (term * term * term)) = - fun projectee -> match projectee with | If _0 -> _0 + fun projectee -> match projectee with | If _0 -> _0 let (uu___is_Match : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Match _0 -> true | uu____1332 -> false + let (__proj__Match__item___0 : term' -> (term * (pattern * term FStar_Pervasives_Native.option * term) Prims.list)) - = fun projectee -> match projectee with | Match _0 -> _0 + = fun projectee -> match projectee with | Match _0 -> _0 let (uu___is_TryWith : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | TryWith _0 -> true | uu____1407 -> false + let (__proj__TryWith__item___0 : term' -> (term * (pattern * term FStar_Pervasives_Native.option * term) Prims.list)) - = fun projectee -> match projectee with | TryWith _0 -> _0 + = fun projectee -> match projectee with | TryWith _0 -> _0 let (uu___is_Ascribed : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Ascribed _0 -> true | uu____1476 -> false + let (__proj__Ascribed__item___0 : term' -> (term * term * term FStar_Pervasives_Native.option)) = - fun projectee -> match projectee with | Ascribed _0 -> _0 + fun projectee -> match projectee with | Ascribed _0 -> _0 let (uu___is_Record : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Record _0 -> true | uu____1531 -> false + let (__proj__Record__item___0 : term' -> (term FStar_Pervasives_Native.option * (FStar_Ident.lid * term) Prims.list)) - = fun projectee -> match projectee with | Record _0 -> _0 + = fun projectee -> match projectee with | Record _0 -> _0 let (uu___is_Project : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Project _0 -> true | uu____1590 -> false + let (__proj__Project__item___0 : term' -> (term * FStar_Ident.lid)) = - fun projectee -> match projectee with | Project _0 -> _0 + fun projectee -> match projectee with | Project _0 -> _0 let (uu___is_Product : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Product _0 -> true | uu____1627 -> false + let (__proj__Product__item___0 : term' -> (binder Prims.list * term)) = - fun projectee -> match projectee with | Product _0 -> _0 + fun projectee -> match projectee with | Product _0 -> _0 let (uu___is_Sum : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Sum _0 -> true | uu____1674 -> false + let (__proj__Sum__item___0 : - term' -> ((binder, term) FStar_Util.either Prims.list * term)) = - fun projectee -> match projectee with | Sum _0 -> _0 + term' -> ((binder,term) FStar_Util.either Prims.list * term)) = + fun projectee -> match projectee with | Sum _0 -> _0 let (uu___is_QForall : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | QForall _0 -> true | uu____1741 -> false + let (__proj__QForall__item___0 : term' -> (binder Prims.list * (FStar_Ident.ident Prims.list * term Prims.list Prims.list) * term)) - = fun projectee -> match projectee with | QForall _0 -> _0 + = fun projectee -> match projectee with | QForall _0 -> _0 let (uu___is_QExists : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | QExists _0 -> true | uu____1832 -> false + let (__proj__QExists__item___0 : term' -> (binder Prims.list * (FStar_Ident.ident Prims.list * term Prims.list Prims.list) * term)) - = fun projectee -> match projectee with | QExists _0 -> _0 + = fun projectee -> match projectee with | QExists _0 -> _0 let (uu___is_Refine : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Refine _0 -> true | uu____1909 -> false + let (__proj__Refine__item___0 : term' -> (binder * term)) = - fun projectee -> match projectee with | Refine _0 -> _0 + fun projectee -> match projectee with | Refine _0 -> _0 let (uu___is_NamedTyp : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | NamedTyp _0 -> true | uu____1944 -> false + let (__proj__NamedTyp__item___0 : term' -> (FStar_Ident.ident * term)) = - fun projectee -> match projectee with | NamedTyp _0 -> _0 + fun projectee -> match projectee with | NamedTyp _0 -> _0 let (uu___is_Paren : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Paren _0 -> true | uu____1975 -> false + let (__proj__Paren__item___0 : term' -> term) = - fun projectee -> match projectee with | Paren _0 -> _0 + fun projectee -> match projectee with | Paren _0 -> _0 let (uu___is_Requires : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Requires _0 -> true | uu____2001 -> false + let (__proj__Requires__item___0 : term' -> (term * Prims.string FStar_Pervasives_Native.option)) = - fun projectee -> match projectee with | Requires _0 -> _0 + fun projectee -> match projectee with | Requires _0 -> _0 let (uu___is_Ensures : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Ensures _0 -> true | uu____2048 -> false + let (__proj__Ensures__item___0 : term' -> (term * Prims.string FStar_Pervasives_Native.option)) = - fun projectee -> match projectee with | Ensures _0 -> _0 + fun projectee -> match projectee with | Ensures _0 -> _0 let (uu___is_Labeled : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Labeled _0 -> true | uu____2096 -> false + let (__proj__Labeled__item___0 : term' -> (term * Prims.string * Prims.bool)) - = fun projectee -> match projectee with | Labeled _0 -> _0 + = fun projectee -> match projectee with | Labeled _0 -> _0 let (uu___is_Discrim : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Discrim _0 -> true | uu____2139 -> false + let (__proj__Discrim__item___0 : term' -> FStar_Ident.lid) = - fun projectee -> match projectee with | Discrim _0 -> _0 + fun projectee -> match projectee with | Discrim _0 -> _0 let (uu___is_Attributes : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Attributes _0 -> true | uu____2160 -> false + let (__proj__Attributes__item___0 : term' -> term Prims.list) = - fun projectee -> match projectee with | Attributes _0 -> _0 + fun projectee -> match projectee with | Attributes _0 -> _0 let (uu___is_Antiquote : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Antiquote _0 -> true | uu____2185 -> false + let (__proj__Antiquote__item___0 : term' -> term) = - fun projectee -> match projectee with | Antiquote _0 -> _0 + fun projectee -> match projectee with | Antiquote _0 -> _0 let (uu___is_Quote : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Quote _0 -> true | uu____2208 -> false + let (__proj__Quote__item___0 : term' -> (term * quote_kind)) = - fun projectee -> match projectee with | Quote _0 -> _0 + fun projectee -> match projectee with | Quote _0 -> _0 let (uu___is_VQuote : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | VQuote _0 -> true | uu____2239 -> false + let (__proj__VQuote__item___0 : term' -> term) = - fun projectee -> match projectee with | VQuote _0 -> _0 + fun projectee -> match projectee with | VQuote _0 -> _0 let (uu___is_CalcProof : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | CalcProof _0 -> true | uu____2266 -> false + let (__proj__CalcProof__item___0 : term' -> (term * term * calc_step Prims.list)) = - fun projectee -> match projectee with | CalcProof _0 -> _0 + fun projectee -> match projectee with | CalcProof _0 -> _0 let (__proj__Mkterm__item__tm : term -> term') = - fun projectee -> match projectee with | { tm; range; level;_} -> tm + fun projectee -> match projectee with | { tm; range; level;_} -> tm let (__proj__Mkterm__item__range : term -> FStar_Range.range) = - fun projectee -> match projectee with | { tm; range; level;_} -> range + fun projectee -> match projectee with | { tm; range; level;_} -> range let (__proj__Mkterm__item__level : term -> level) = - fun projectee -> match projectee with | { tm; range; level;_} -> level -let (uu___is_CalcStep : calc_step -> Prims.bool) = fun projectee -> true + fun projectee -> match projectee with | { tm; range; level;_} -> level +let (uu___is_CalcStep : calc_step -> Prims.bool) = fun projectee -> true let (__proj__CalcStep__item___0 : calc_step -> (term * term * term)) = - fun projectee -> match projectee with | CalcStep _0 -> _0 + fun projectee -> match projectee with | CalcStep _0 -> _0 let (uu___is_Variable : binder' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Variable _0 -> true | uu____2369 -> false + let (__proj__Variable__item___0 : binder' -> FStar_Ident.ident) = - fun projectee -> match projectee with | Variable _0 -> _0 + fun projectee -> match projectee with | Variable _0 -> _0 let (uu___is_TVariable : binder' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | TVariable _0 -> true | uu____2388 -> false + let (__proj__TVariable__item___0 : binder' -> FStar_Ident.ident) = - fun projectee -> match projectee with | TVariable _0 -> _0 + fun projectee -> match projectee with | TVariable _0 -> _0 let (uu___is_Annotated : binder' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Annotated _0 -> true | uu____2411 -> false + let (__proj__Annotated__item___0 : binder' -> (FStar_Ident.ident * term)) = - fun projectee -> match projectee with | Annotated _0 -> _0 + fun projectee -> match projectee with | Annotated _0 -> _0 let (uu___is_TAnnotated : binder' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | TAnnotated _0 -> true | uu____2446 -> false + let (__proj__TAnnotated__item___0 : binder' -> (FStar_Ident.ident * term)) = - fun projectee -> match projectee with | TAnnotated _0 -> _0 + fun projectee -> match projectee with | TAnnotated _0 -> _0 let (uu___is_NoName : binder' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | NoName _0 -> true | uu____2477 -> false + let (__proj__NoName__item___0 : binder' -> term) = - fun projectee -> match projectee with | NoName _0 -> _0 + fun projectee -> match projectee with | NoName _0 -> _0 let (__proj__Mkbinder__item__b : binder -> binder') = - fun projectee -> match projectee with | { b; brange; blevel; aqual;_} -> b + fun projectee -> match projectee with | { b; brange; blevel; aqual;_} -> b let (__proj__Mkbinder__item__brange : binder -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { b; brange; blevel; aqual;_} -> brange + let (__proj__Mkbinder__item__blevel : binder -> level) = - fun projectee -> + fun projectee -> match projectee with | { b; brange; blevel; aqual;_} -> blevel + let (__proj__Mkbinder__item__aqual : binder -> arg_qualifier FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { b; brange; blevel; aqual;_} -> aqual + let (uu___is_PatWild : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatWild _0 -> true | uu____2550 -> false + let (__proj__PatWild__item___0 : pattern' -> arg_qualifier FStar_Pervasives_Native.option) = - fun projectee -> match projectee with | PatWild _0 -> _0 + fun projectee -> match projectee with | PatWild _0 -> _0 let (uu___is_PatConst : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatConst _0 -> true | uu____2575 -> false + let (__proj__PatConst__item___0 : pattern' -> FStar_Const.sconst) = - fun projectee -> match projectee with | PatConst _0 -> _0 + fun projectee -> match projectee with | PatConst _0 -> _0 let (uu___is_PatApp : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatApp _0 -> true | uu____2600 -> false + let (__proj__PatApp__item___0 : pattern' -> (pattern * pattern Prims.list)) = - fun projectee -> match projectee with | PatApp _0 -> _0 + fun projectee -> match projectee with | PatApp _0 -> _0 let (uu___is_PatVar : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatVar _0 -> true | uu____2643 -> false + let (__proj__PatVar__item___0 : pattern' -> (FStar_Ident.ident * arg_qualifier FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | PatVar _0 -> _0 + = fun projectee -> match projectee with | PatVar _0 -> _0 let (uu___is_PatName : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatName _0 -> true | uu____2680 -> false + let (__proj__PatName__item___0 : pattern' -> FStar_Ident.lid) = - fun projectee -> match projectee with | PatName _0 -> _0 + fun projectee -> match projectee with | PatName _0 -> _0 let (uu___is_PatTvar : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatTvar _0 -> true | uu____2705 -> false + let (__proj__PatTvar__item___0 : pattern' -> (FStar_Ident.ident * arg_qualifier FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | PatTvar _0 -> _0 + = fun projectee -> match projectee with | PatTvar _0 -> _0 let (uu___is_PatList : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatList _0 -> true | uu____2744 -> false + let (__proj__PatList__item___0 : pattern' -> pattern Prims.list) = - fun projectee -> match projectee with | PatList _0 -> _0 + fun projectee -> match projectee with | PatList _0 -> _0 let (uu___is_PatTuple : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatTuple _0 -> true | uu____2776 -> false + let (__proj__PatTuple__item___0 : pattern' -> (pattern Prims.list * Prims.bool)) = - fun projectee -> match projectee with | PatTuple _0 -> _0 + fun projectee -> match projectee with | PatTuple _0 -> _0 let (uu___is_PatRecord : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatRecord _0 -> true | uu____2822 -> false + let (__proj__PatRecord__item___0 : pattern' -> (FStar_Ident.lid * pattern) Prims.list) = - fun projectee -> match projectee with | PatRecord _0 -> _0 + fun projectee -> match projectee with | PatRecord _0 -> _0 let (uu___is_PatAscribed : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatAscribed _0 -> true | uu____2869 -> false + let (__proj__PatAscribed__item___0 : pattern' -> (pattern * (term * term FStar_Pervasives_Native.option))) = - fun projectee -> match projectee with | PatAscribed _0 -> _0 + fun projectee -> match projectee with | PatAscribed _0 -> _0 let (uu___is_PatOr : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatOr _0 -> true | uu____2920 -> false + let (__proj__PatOr__item___0 : pattern' -> pattern Prims.list) = - fun projectee -> match projectee with | PatOr _0 -> _0 + fun projectee -> match projectee with | PatOr _0 -> _0 let (uu___is_PatOp : pattern' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PatOp _0 -> true | uu____2945 -> false + let (__proj__PatOp__item___0 : pattern' -> FStar_Ident.ident) = - fun projectee -> match projectee with | PatOp _0 -> _0 + fun projectee -> match projectee with | PatOp _0 -> _0 let (__proj__Mkpattern__item__pat : pattern -> pattern') = - fun projectee -> match projectee with | { pat; prange;_} -> pat + fun projectee -> match projectee with | { pat; prange;_} -> pat let (__proj__Mkpattern__item__prange : pattern -> FStar_Range.range) = - fun projectee -> match projectee with | { pat; prange;_} -> prange + fun projectee -> match projectee with | { pat; prange;_} -> prange let (uu___is_Implicit : arg_qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Implicit -> true | uu____2979 -> false + fun projectee -> + match projectee with | Implicit -> true | uu____2979 -> false + let (uu___is_Equality : arg_qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Equality -> true | uu____2990 -> false + fun projectee -> + match projectee with | Equality -> true | uu____2990 -> false + let (uu___is_Meta : arg_qualifier -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Meta _0 -> true | uu____3002 -> false + let (__proj__Meta__item___0 : arg_qualifier -> term) = - fun projectee -> match projectee with | Meta _0 -> _0 + fun projectee -> match projectee with | Meta _0 -> _0 let (uu___is_FsTypApp : imp -> Prims.bool) = - fun projectee -> - match projectee with | FsTypApp -> true | uu____3020 -> false + fun projectee -> + match projectee with | FsTypApp -> true | uu____3020 -> false + let (uu___is_Hash : imp -> Prims.bool) = - fun projectee -> match projectee with | Hash -> true | uu____3031 -> false + fun projectee -> + match projectee with | Hash -> true | uu____3031 -> false + let (uu___is_UnivApp : imp -> Prims.bool) = - fun projectee -> - match projectee with | UnivApp -> true | uu____3042 -> false + fun projectee -> + match projectee with | UnivApp -> true | uu____3042 -> false + let (uu___is_HashBrace : imp -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | HashBrace _0 -> true | uu____3054 -> false + let (__proj__HashBrace__item___0 : imp -> term) = - fun projectee -> match projectee with | HashBrace _0 -> _0 + fun projectee -> match projectee with | HashBrace _0 -> _0 let (uu___is_Infix : imp -> Prims.bool) = - fun projectee -> match projectee with | Infix -> true | uu____3072 -> false + fun projectee -> + match projectee with | Infix -> true | uu____3072 -> false + let (uu___is_Nothing : imp -> Prims.bool) = - fun projectee -> - match projectee with | Nothing -> true | uu____3083 -> false + fun projectee -> + match projectee with | Nothing -> true | uu____3083 -> false + type patterns = (FStar_Ident.ident Prims.list * term Prims.list Prims.list) type attributes_ = term Prims.list type branch = (pattern * term FStar_Pervasives_Native.option * term) @@ -494,40 +570,44 @@ type tycon = FStar_Pervasives_Native.option * fsdoc FStar_Pervasives_Native.option * Prims.bool) Prims.list) let (uu___is_TyconAbstract : tycon -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | TyconAbstract _0 -> true | uu____3231 -> false + let (__proj__TyconAbstract__item___0 : tycon -> (FStar_Ident.ident * binder Prims.list * knd FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | TyconAbstract _0 -> _0 + = fun projectee -> match projectee with | TyconAbstract _0 -> _0 let (uu___is_TyconAbbrev : tycon -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | TyconAbbrev _0 -> true | uu____3292 -> false + let (__proj__TyconAbbrev__item___0 : tycon -> (FStar_Ident.ident * binder Prims.list * knd FStar_Pervasives_Native.option * term)) - = fun projectee -> match projectee with | TyconAbbrev _0 -> _0 + = fun projectee -> match projectee with | TyconAbbrev _0 -> _0 let (uu___is_TyconRecord : tycon -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | TyconRecord _0 -> true | uu____3369 -> false + let (__proj__TyconRecord__item___0 : tycon -> (FStar_Ident.ident * binder Prims.list * knd FStar_Pervasives_Native.option * (FStar_Ident.ident * term * fsdoc FStar_Pervasives_Native.option) Prims.list)) - = fun projectee -> match projectee with | TyconRecord _0 -> _0 + = fun projectee -> match projectee with | TyconRecord _0 -> _0 let (uu___is_TyconVariant : tycon -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | TyconVariant _0 -> true | uu____3481 -> false + let (__proj__TyconVariant__item___0 : tycon -> (FStar_Ident.ident * binder Prims.list * knd FStar_Pervasives_Native.option * (FStar_Ident.ident * term FStar_Pervasives_Native.option * fsdoc FStar_Pervasives_Native.option * Prims.bool) Prims.list)) - = fun projectee -> match projectee with | TyconVariant _0 -> _0 + = fun projectee -> match projectee with | TyconVariant _0 -> _0 type qualifier = | Private | Abstract @@ -549,145 +629,184 @@ type qualifier = | Opaque | Logic let (uu___is_Private : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Private -> true | uu____3580 -> false + fun projectee -> + match projectee with | Private -> true | uu____3580 -> false + let (uu___is_Abstract : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Abstract -> true | uu____3591 -> false + fun projectee -> + match projectee with | Abstract -> true | uu____3591 -> false + let (uu___is_Noeq : qualifier -> Prims.bool) = - fun projectee -> match projectee with | Noeq -> true | uu____3602 -> false + fun projectee -> + match projectee with | Noeq -> true | uu____3602 -> false + let (uu___is_Unopteq : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Unopteq -> true | uu____3613 -> false + fun projectee -> + match projectee with | Unopteq -> true | uu____3613 -> false + let (uu___is_Assumption : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Assumption -> true | uu____3624 -> false + fun projectee -> + match projectee with | Assumption -> true | uu____3624 -> false + let (uu___is_DefaultEffect : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | DefaultEffect -> true | uu____3635 -> false + fun projectee -> + match projectee with | DefaultEffect -> true | uu____3635 -> false + let (uu___is_TotalEffect : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | TotalEffect -> true | uu____3646 -> false + fun projectee -> + match projectee with | TotalEffect -> true | uu____3646 -> false + let (uu___is_Effect_qual : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Effect_qual -> true | uu____3657 -> false + fun projectee -> + match projectee with | Effect_qual -> true | uu____3657 -> false + let (uu___is_New : qualifier -> Prims.bool) = - fun projectee -> match projectee with | New -> true | uu____3668 -> false + fun projectee -> match projectee with | New -> true | uu____3668 -> false let (uu___is_Inline : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Inline -> true | uu____3679 -> false + fun projectee -> + match projectee with | Inline -> true | uu____3679 -> false + let (uu___is_Visible : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Visible -> true | uu____3690 -> false + fun projectee -> + match projectee with | Visible -> true | uu____3690 -> false + let (uu___is_Unfold_for_unification_and_vcgen : qualifier -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Unfold_for_unification_and_vcgen -> true + | Unfold_for_unification_and_vcgen -> true | uu____3701 -> false + let (uu___is_Inline_for_extraction : qualifier -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Inline_for_extraction -> true + | Inline_for_extraction -> true | uu____3712 -> false + let (uu___is_Irreducible : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Irreducible -> true | uu____3723 -> false + fun projectee -> + match projectee with | Irreducible -> true | uu____3723 -> false + let (uu___is_NoExtract : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | NoExtract -> true | uu____3734 -> false + fun projectee -> + match projectee with | NoExtract -> true | uu____3734 -> false + let (uu___is_Reifiable : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Reifiable -> true | uu____3745 -> false + fun projectee -> + match projectee with | Reifiable -> true | uu____3745 -> false + let (uu___is_Reflectable : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Reflectable -> true | uu____3756 -> false + fun projectee -> + match projectee with | Reflectable -> true | uu____3756 -> false + let (uu___is_Opaque : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Opaque -> true | uu____3767 -> false + fun projectee -> + match projectee with | Opaque -> true | uu____3767 -> false + let (uu___is_Logic : qualifier -> Prims.bool) = - fun projectee -> match projectee with | Logic -> true | uu____3778 -> false + fun projectee -> + match projectee with | Logic -> true | uu____3778 -> false + type qualifiers = qualifier Prims.list type decoration = | Qualifier of qualifier | DeclAttributes of term Prims.list | Doc of fsdoc let (uu___is_Qualifier : decoration -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Qualifier _0 -> true | uu____3809 -> false + let (__proj__Qualifier__item___0 : decoration -> qualifier) = - fun projectee -> match projectee with | Qualifier _0 -> _0 + fun projectee -> match projectee with | Qualifier _0 -> _0 let (uu___is_DeclAttributes : decoration -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | DeclAttributes _0 -> true | uu____3830 -> false + let (__proj__DeclAttributes__item___0 : decoration -> term Prims.list) = - fun projectee -> match projectee with | DeclAttributes _0 -> _0 + fun projectee -> match projectee with | DeclAttributes _0 -> _0 let (uu___is_Doc : decoration -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Doc _0 -> true | uu____3855 -> false + let (__proj__Doc__item___0 : decoration -> fsdoc) = - fun projectee -> match projectee with | Doc _0 -> _0 + fun projectee -> match projectee with | Doc _0 -> _0 type lift_op = | NonReifiableLift of term | ReifiableLift of (term * term) | LiftForFree of term let (uu___is_NonReifiableLift : lift_op -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | NonReifiableLift _0 -> true | uu____3893 -> false + let (__proj__NonReifiableLift__item___0 : lift_op -> term) = - fun projectee -> match projectee with | NonReifiableLift _0 -> _0 + fun projectee -> match projectee with | NonReifiableLift _0 -> _0 let (uu___is_ReifiableLift : lift_op -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | ReifiableLift _0 -> true | uu____3916 -> false + let (__proj__ReifiableLift__item___0 : lift_op -> (term * term)) = - fun projectee -> match projectee with | ReifiableLift _0 -> _0 + fun projectee -> match projectee with | ReifiableLift _0 -> _0 let (uu___is_LiftForFree : lift_op -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | LiftForFree _0 -> true | uu____3947 -> false + let (__proj__LiftForFree__item___0 : lift_op -> term) = - fun projectee -> match projectee with | LiftForFree _0 -> _0 + fun projectee -> match projectee with | LiftForFree _0 -> _0 type lift = { msource: FStar_Ident.lid ; mdest: FStar_Ident.lid ; lift_op: lift_op } let (__proj__Mklift__item__msource : lift -> FStar_Ident.lid) = - fun projectee -> + fun projectee -> match projectee with | { msource; mdest; lift_op;_} -> msource + let (__proj__Mklift__item__mdest : lift -> FStar_Ident.lid) = - fun projectee -> + fun projectee -> match projectee with | { msource; mdest; lift_op;_} -> mdest + let (__proj__Mklift__item__lift_op : lift -> lift_op) = - fun projectee -> + fun projectee -> match projectee with | { msource; mdest; lift_op;_} -> lift_op + type pragma = | SetOptions of Prims.string | ResetOptions of Prims.string FStar_Pervasives_Native.option | PushOptions of Prims.string FStar_Pervasives_Native.option | PopOptions + | RestartSolver | LightOff let (uu___is_SetOptions : pragma -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | SetOptions _0 -> true | uu____4031 -> false + let (__proj__SetOptions__item___0 : pragma -> Prims.string) = - fun projectee -> match projectee with | SetOptions _0 -> _0 + fun projectee -> match projectee with | SetOptions _0 -> _0 let (uu___is_ResetOptions : pragma -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | ResetOptions _0 -> true | uu____4056 -> false + let (__proj__ResetOptions__item___0 : pragma -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> match projectee with | ResetOptions _0 -> _0 + fun projectee -> match projectee with | ResetOptions _0 -> _0 let (uu___is_PushOptions : pragma -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PushOptions _0 -> true | uu____4087 -> false + let (__proj__PushOptions__item___0 : pragma -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> match projectee with | PushOptions _0 -> _0 + fun projectee -> match projectee with | PushOptions _0 -> _0 let (uu___is_PopOptions : pragma -> Prims.bool) = - fun projectee -> - match projectee with | PopOptions -> true | uu____4114 -> false + fun projectee -> + match projectee with | PopOptions -> true | uu____4114 -> false + +let (uu___is_RestartSolver : pragma -> Prims.bool) = + fun projectee -> + match projectee with | RestartSolver -> true | uu____4125 -> false + let (uu___is_LightOff : pragma -> Prims.bool) = - fun projectee -> - match projectee with | LightOff -> true | uu____4125 -> false + fun projectee -> + match projectee with | LightOff -> true | uu____4136 -> false + type decl' = | TopLevelModule of FStar_Ident.lid | Open of FStar_Ident.lid @@ -718,528 +837,592 @@ and effect_decl = Prims.list) | RedefineEffect of (FStar_Ident.ident * binder Prims.list * term) let (uu___is_TopLevelModule : decl' -> Prims.bool) = - fun projectee -> - match projectee with | TopLevelModule _0 -> true | uu____4324 -> false + fun projectee -> + match projectee with | TopLevelModule _0 -> true | uu____4335 -> false + let (__proj__TopLevelModule__item___0 : decl' -> FStar_Ident.lid) = - fun projectee -> match projectee with | TopLevelModule _0 -> _0 + fun projectee -> match projectee with | TopLevelModule _0 -> _0 let (uu___is_Open : decl' -> Prims.bool) = - fun projectee -> - match projectee with | Open _0 -> true | uu____4343 -> false + fun projectee -> + match projectee with | Open _0 -> true | uu____4354 -> false + let (__proj__Open__item___0 : decl' -> FStar_Ident.lid) = - fun projectee -> match projectee with | Open _0 -> _0 + fun projectee -> match projectee with | Open _0 -> _0 let (uu___is_Friend : decl' -> Prims.bool) = - fun projectee -> - match projectee with | Friend _0 -> true | uu____4362 -> false + fun projectee -> + match projectee with | Friend _0 -> true | uu____4373 -> false + let (__proj__Friend__item___0 : decl' -> FStar_Ident.lid) = - fun projectee -> match projectee with | Friend _0 -> _0 + fun projectee -> match projectee with | Friend _0 -> _0 let (uu___is_Include : decl' -> Prims.bool) = - fun projectee -> - match projectee with | Include _0 -> true | uu____4381 -> false + fun projectee -> + match projectee with | Include _0 -> true | uu____4392 -> false + let (__proj__Include__item___0 : decl' -> FStar_Ident.lid) = - fun projectee -> match projectee with | Include _0 -> _0 + fun projectee -> match projectee with | Include _0 -> _0 let (uu___is_ModuleAbbrev : decl' -> Prims.bool) = - fun projectee -> - match projectee with | ModuleAbbrev _0 -> true | uu____4404 -> false + fun projectee -> + match projectee with | ModuleAbbrev _0 -> true | uu____4415 -> false + let (__proj__ModuleAbbrev__item___0 : decl' -> (FStar_Ident.ident * FStar_Ident.lid)) = - fun projectee -> match projectee with | ModuleAbbrev _0 -> _0 + fun projectee -> match projectee with | ModuleAbbrev _0 -> _0 let (uu___is_TopLevelLet : decl' -> Prims.bool) = - fun projectee -> - match projectee with | TopLevelLet _0 -> true | uu____4445 -> false + fun projectee -> + match projectee with | TopLevelLet _0 -> true | uu____4456 -> false + let (__proj__TopLevelLet__item___0 : decl' -> (let_qualifier * (pattern * term) Prims.list)) = - fun projectee -> match projectee with | TopLevelLet _0 -> _0 + fun projectee -> match projectee with | TopLevelLet _0 -> _0 let (uu___is_Main : decl' -> Prims.bool) = - fun projectee -> - match projectee with | Main _0 -> true | uu____4494 -> false + fun projectee -> + match projectee with | Main _0 -> true | uu____4505 -> false + let (__proj__Main__item___0 : decl' -> term) = - fun projectee -> match projectee with | Main _0 -> _0 + fun projectee -> match projectee with | Main _0 -> _0 let (uu___is_Tycon : decl' -> Prims.bool) = - fun projectee -> - match projectee with | Tycon _0 -> true | uu____4529 -> false + fun projectee -> + match projectee with | Tycon _0 -> true | uu____4540 -> false + let (__proj__Tycon__item___0 : decl' -> (Prims.bool * Prims.bool * (tycon * fsdoc FStar_Pervasives_Native.option) Prims.list)) - = fun projectee -> match projectee with | Tycon _0 -> _0 + = fun projectee -> match projectee with | Tycon _0 -> _0 let (uu___is_Val : decl' -> Prims.bool) = - fun projectee -> - match projectee with | Val _0 -> true | uu____4600 -> false + fun projectee -> + match projectee with | Val _0 -> true | uu____4611 -> false + let (__proj__Val__item___0 : decl' -> (FStar_Ident.ident * term)) = - fun projectee -> match projectee with | Val _0 -> _0 + fun projectee -> match projectee with | Val _0 -> _0 let (uu___is_Exception : decl' -> Prims.bool) = - fun projectee -> - match projectee with | Exception _0 -> true | uu____4637 -> false + fun projectee -> + match projectee with | Exception _0 -> true | uu____4648 -> false + let (__proj__Exception__item___0 : decl' -> (FStar_Ident.ident * term FStar_Pervasives_Native.option)) = - fun projectee -> match projectee with | Exception _0 -> _0 + fun projectee -> match projectee with | Exception _0 -> _0 let (uu___is_NewEffect : decl' -> Prims.bool) = - fun projectee -> - match projectee with | NewEffect _0 -> true | uu____4674 -> false + fun projectee -> + match projectee with | NewEffect _0 -> true | uu____4685 -> false + let (__proj__NewEffect__item___0 : decl' -> effect_decl) = - fun projectee -> match projectee with | NewEffect _0 -> _0 + fun projectee -> match projectee with | NewEffect _0 -> _0 let (uu___is_SubEffect : decl' -> Prims.bool) = - fun projectee -> - match projectee with | SubEffect _0 -> true | uu____4693 -> false + fun projectee -> + match projectee with | SubEffect _0 -> true | uu____4704 -> false + let (__proj__SubEffect__item___0 : decl' -> lift) = - fun projectee -> match projectee with | SubEffect _0 -> _0 + fun projectee -> match projectee with | SubEffect _0 -> _0 let (uu___is_Pragma : decl' -> Prims.bool) = - fun projectee -> - match projectee with | Pragma _0 -> true | uu____4712 -> false + fun projectee -> + match projectee with | Pragma _0 -> true | uu____4723 -> false + let (__proj__Pragma__item___0 : decl' -> pragma) = - fun projectee -> match projectee with | Pragma _0 -> _0 + fun projectee -> match projectee with | Pragma _0 -> _0 let (uu___is_Fsdoc : decl' -> Prims.bool) = - fun projectee -> - match projectee with | Fsdoc _0 -> true | uu____4731 -> false + fun projectee -> + match projectee with | Fsdoc _0 -> true | uu____4742 -> false + let (__proj__Fsdoc__item___0 : decl' -> fsdoc) = - fun projectee -> match projectee with | Fsdoc _0 -> _0 + fun projectee -> match projectee with | Fsdoc _0 -> _0 let (uu___is_Assume : decl' -> Prims.bool) = - fun projectee -> - match projectee with | Assume _0 -> true | uu____4754 -> false + fun projectee -> + match projectee with | Assume _0 -> true | uu____4765 -> false + let (__proj__Assume__item___0 : decl' -> (FStar_Ident.ident * term)) = - fun projectee -> match projectee with | Assume _0 -> _0 + fun projectee -> match projectee with | Assume _0 -> _0 let (uu___is_Splice : decl' -> Prims.bool) = - fun projectee -> - match projectee with | Splice _0 -> true | uu____4791 -> false + fun projectee -> + match projectee with | Splice _0 -> true | uu____4802 -> false + let (__proj__Splice__item___0 : decl' -> (FStar_Ident.ident Prims.list * term)) = - fun projectee -> match projectee with | Splice _0 -> _0 + fun projectee -> match projectee with | Splice _0 -> _0 let (__proj__Mkdecl__item__d : decl -> decl') = - fun projectee -> + fun projectee -> match projectee with | { d; drange; doc = doc1; quals; attrs;_} -> d + let (__proj__Mkdecl__item__drange : decl -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { d; drange; doc = doc1; quals; attrs;_} -> drange + let (__proj__Mkdecl__item__doc : decl -> fsdoc FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { d; drange; doc = doc1; quals; attrs;_} -> doc1 + let (__proj__Mkdecl__item__quals : decl -> qualifiers) = - fun projectee -> + fun projectee -> match projectee with | { d; drange; doc = doc1; quals; attrs;_} -> quals + let (__proj__Mkdecl__item__attrs : decl -> attributes_) = - fun projectee -> + fun projectee -> match projectee with | { d; drange; doc = doc1; quals; attrs;_} -> attrs + let (uu___is_DefineEffect : effect_decl -> Prims.bool) = - fun projectee -> - match projectee with | DefineEffect _0 -> true | uu____4909 -> false + fun projectee -> + match projectee with | DefineEffect _0 -> true | uu____4920 -> false + let (__proj__DefineEffect__item___0 : effect_decl -> (FStar_Ident.ident * binder Prims.list * term * decl Prims.list)) - = fun projectee -> match projectee with | DefineEffect _0 -> _0 + = fun projectee -> match projectee with | DefineEffect _0 -> _0 let (uu___is_RedefineEffect : effect_decl -> Prims.bool) = - fun projectee -> - match projectee with | RedefineEffect _0 -> true | uu____4972 -> false + fun projectee -> + match projectee with | RedefineEffect _0 -> true | uu____4983 -> false + let (__proj__RedefineEffect__item___0 : effect_decl -> (FStar_Ident.ident * binder Prims.list * term)) = - fun projectee -> match projectee with | RedefineEffect _0 -> _0 + fun projectee -> match projectee with | RedefineEffect _0 -> _0 type modul = | Module of (FStar_Ident.lid * decl Prims.list) | Interface of (FStar_Ident.lid * decl Prims.list * Prims.bool) let (uu___is_Module : modul -> Prims.bool) = - fun projectee -> - match projectee with | Module _0 -> true | uu____5046 -> false + fun projectee -> + match projectee with | Module _0 -> true | uu____5057 -> false + let (__proj__Module__item___0 : modul -> (FStar_Ident.lid * decl Prims.list)) - = fun projectee -> match projectee with | Module _0 -> _0 + = fun projectee -> match projectee with | Module _0 -> _0 let (uu___is_Interface : modul -> Prims.bool) = - fun projectee -> - match projectee with | Interface _0 -> true | uu____5092 -> false + fun projectee -> + match projectee with | Interface _0 -> true | uu____5103 -> false + let (__proj__Interface__item___0 : modul -> (FStar_Ident.lid * decl Prims.list * Prims.bool)) = - fun projectee -> match projectee with | Interface _0 -> _0 + fun projectee -> match projectee with | Interface _0 -> _0 type file = modul -type inputFragment = (file, decl Prims.list) FStar_Util.either -let (decl_drange : decl -> FStar_Range.range) = fun decl -> decl.drange +type inputFragment = (file,decl Prims.list) FStar_Util.either +let (decl_drange : decl -> FStar_Range.range) = fun decl -> decl.drange let (check_id : FStar_Ident.ident -> unit) = - fun id1 -> + fun id1 -> let first_char = FStar_String.substring id1.FStar_Ident.idText (Prims.parse_int "0") - (Prims.parse_int "1") in + (Prims.parse_int "1") + in if (FStar_String.lowercase first_char) = first_char then () else - (let uu____5154 = - let uu____5160 = + (let uu____5165 = + let uu____5171 = FStar_Util.format1 "Invalid identifer '%s'; expected a symbol that begins with a lower-case character" - id1.FStar_Ident.idText in - (FStar_Errors.Fatal_InvalidIdentifier, uu____5160) in - FStar_Errors.raise_error uu____5154 id1.FStar_Ident.idRange) + id1.FStar_Ident.idText + in + (FStar_Errors.Fatal_InvalidIdentifier, uu____5171) in + FStar_Errors.raise_error uu____5165 id1.FStar_Ident.idRange) + let at_most_one : - 'Auu____5173 . + 'Auu____5184 . Prims.string -> FStar_Range.range -> - 'Auu____5173 Prims.list -> - 'Auu____5173 FStar_Pervasives_Native.option + 'Auu____5184 Prims.list -> + 'Auu____5184 FStar_Pervasives_Native.option = - fun s -> - fun r -> - fun l -> + fun s -> + fun r -> + fun l -> match l with | x::[] -> FStar_Pervasives_Native.Some x | [] -> FStar_Pervasives_Native.None - | uu____5198 -> - let uu____5201 = - let uu____5207 = + | uu____5209 -> + let uu____5212 = + let uu____5218 = FStar_Util.format1 - "At most one %s is allowed on declarations" s in - (FStar_Errors.Fatal_MoreThanOneDeclaration, uu____5207) in - FStar_Errors.raise_error uu____5201 r + "At most one %s is allowed on declarations" s + in + (FStar_Errors.Fatal_MoreThanOneDeclaration, uu____5218) in + FStar_Errors.raise_error uu____5212 r + let (mk_decl : decl' -> FStar_Range.range -> decoration Prims.list -> decl) = - fun d -> - fun r -> - fun decorations -> + fun d -> + fun r -> + fun decorations -> let doc1 = - let uu____5236 = + let uu____5247 = FStar_List.choose - (fun uu___0_5241 -> - match uu___0_5241 with + (fun uu___0_5252 -> + match uu___0_5252 with | Doc d1 -> FStar_Pervasives_Native.Some d1 - | uu____5245 -> FStar_Pervasives_Native.None) decorations in - at_most_one "fsdoc" r uu____5236 in + | uu____5256 -> FStar_Pervasives_Native.None) decorations + in + at_most_one "fsdoc" r uu____5247 in let attributes_ = - let uu____5252 = + let uu____5263 = FStar_List.choose - (fun uu___1_5261 -> - match uu___1_5261 with + (fun uu___1_5272 -> + match uu___1_5272 with | DeclAttributes a -> FStar_Pervasives_Native.Some a - | uu____5271 -> FStar_Pervasives_Native.None) decorations in - at_most_one "attribute set" r uu____5252 in - let attributes_1 = FStar_Util.dflt [] attributes_ in + | uu____5282 -> FStar_Pervasives_Native.None) decorations + in + at_most_one "attribute set" r uu____5263 in + let attributes_1 = FStar_Util.dflt [] attributes_ in let qualifiers = FStar_List.choose - (fun uu___2_5287 -> - match uu___2_5287 with + (fun uu___2_5298 -> + match uu___2_5298 with | Qualifier q -> FStar_Pervasives_Native.Some q - | uu____5291 -> FStar_Pervasives_Native.None) decorations in + | uu____5302 -> FStar_Pervasives_Native.None) decorations + in { d; drange = r; doc = doc1; quals = qualifiers; attrs = attributes_1 } + let (mk_binder : binder' -> FStar_Range.range -> level -> arg_qualifier FStar_Pervasives_Native.option -> binder) = - fun b -> - fun r -> fun l -> fun i -> { b; brange = r; blevel = l; aqual = i } + fun b -> + fun r -> fun l -> fun i -> { b; brange = r; blevel = l; aqual = i } + let (mk_term : term' -> FStar_Range.range -> level -> term) = - fun t -> fun r -> fun l -> { tm = t; range = r; level = l } + fun t -> fun r -> fun l -> { tm = t; range = r; level = l } let (mk_uminus : term -> FStar_Range.range -> FStar_Range.range -> level -> term) = - fun t -> - fun rminus -> - fun r -> - fun l -> + fun t -> + fun rminus -> + fun r -> + fun l -> let t1 = match t.tm with | Const (FStar_Const.Const_int - (s, FStar_Pervasives_Native.Some (FStar_Const.Signed, width))) + (s,FStar_Pervasives_Native.Some (FStar_Const.Signed ,width))) -> Const (FStar_Const.Const_int ((Prims.op_Hat "-" s), (FStar_Pervasives_Native.Some (FStar_Const.Signed, width)))) - | uu____5381 -> - let uu____5382 = - let uu____5389 = FStar_Ident.mk_ident ("-", rminus) in - (uu____5389, [t]) in - Op uu____5382 in + | uu____5392 -> + let uu____5393 = + let uu____5400 = FStar_Ident.mk_ident ("-", rminus) in + (uu____5400, [t]) in + Op uu____5393 + in mk_term t1 r l + let (mk_pattern : pattern' -> FStar_Range.range -> pattern) = - fun p -> fun r -> { pat = p; prange = r } + fun p -> fun r -> { pat = p; prange = r } let (un_curry_abs : pattern Prims.list -> term -> term') = - fun ps -> - fun body -> + fun ps -> + fun body -> match body.tm with - | Abs (p', body') -> Abs ((FStar_List.append ps p'), body') - | uu____5428 -> Abs (ps, body) + | Abs (p',body') -> Abs ((FStar_List.append ps p'), body') + | uu____5439 -> Abs (ps, body) + let (mk_function : (pattern * term FStar_Pervasives_Native.option * term) Prims.list -> FStar_Range.range -> FStar_Range.range -> term) = - fun branches -> - fun r1 -> - fun r2 -> - let x = FStar_Ident.gen r1 in - let uu____5468 = - let uu____5469 = - let uu____5476 = - let uu____5477 = - let uu____5478 = - let uu____5493 = - let uu____5494 = - let uu____5495 = FStar_Ident.lid_of_ids [x] in - Var uu____5495 in - mk_term uu____5494 r1 Expr in - (uu____5493, branches) in - Match uu____5478 in - mk_term uu____5477 r2 Expr in + fun branches -> + fun r1 -> + fun r2 -> + let x = FStar_Ident.gen r1 in + let uu____5479 = + let uu____5480 = + let uu____5487 = + let uu____5488 = + let uu____5489 = + let uu____5504 = + let uu____5505 = + let uu____5506 = FStar_Ident.lid_of_ids [x] in + Var uu____5506 in + mk_term uu____5505 r1 Expr in + (uu____5504, branches) in + Match uu____5489 in + mk_term uu____5488 r2 Expr in ([mk_pattern (PatVar (x, FStar_Pervasives_Native.None)) r1], - uu____5476) in - Abs uu____5469 in - mk_term uu____5468 r2 Expr + uu____5487) + in + Abs uu____5480 in + mk_term uu____5479 r2 Expr + let (un_function : pattern -> term -> (pattern * term) FStar_Pervasives_Native.option) = - fun p -> - fun tm -> + fun p -> + fun tm -> match ((p.pat), (tm.tm)) with - | (PatVar uu____5533, Abs (pats, body)) -> + | (PatVar uu____5544,Abs (pats,body)) -> FStar_Pervasives_Native.Some ((mk_pattern (PatApp (p, pats)) p.prange), body) - | uu____5552 -> FStar_Pervasives_Native.None + | uu____5563 -> FStar_Pervasives_Native.None + let (lid_with_range : FStar_Ident.lident -> FStar_Range.range -> FStar_Ident.lident) = - fun lid -> - fun r -> - let uu____5572 = FStar_Ident.path_of_lid lid in - FStar_Ident.lid_of_path uu____5572 r + fun lid -> + fun r -> + let uu____5583 = FStar_Ident.path_of_lid lid in + FStar_Ident.lid_of_path uu____5583 r + let (consPat : FStar_Range.range -> pattern -> pattern -> pattern') = - fun r -> - fun hd1 -> - fun tl1 -> + fun r -> + fun hd1 -> + fun tl1 -> PatApp ((mk_pattern (PatName FStar_Parser_Const.cons_lid) r), [hd1; tl1]) + let (consTerm : FStar_Range.range -> term -> term -> term) = - fun r -> - fun hd1 -> - fun tl1 -> + fun r -> + fun hd1 -> + fun tl1 -> mk_term (Construct (FStar_Parser_Const.cons_lid, [(hd1, Nothing); (tl1, Nothing)])) r Expr + let (lexConsTerm : FStar_Range.range -> term -> term -> term) = - fun r -> - fun hd1 -> - fun tl1 -> + fun r -> + fun hd1 -> + fun tl1 -> mk_term (Construct (FStar_Parser_Const.lexcons_lid, [(hd1, Nothing); (tl1, Nothing)])) r Expr + let (mkConsList : FStar_Range.range -> term Prims.list -> term) = - fun r -> - fun elts -> - let nil = mk_term (Construct (FStar_Parser_Const.nil_lid, [])) r Expr in - FStar_List.fold_right (fun e -> fun tl1 -> consTerm r e tl1) elts nil + fun r -> + fun elts -> + let nil = mk_term (Construct (FStar_Parser_Const.nil_lid, [])) r Expr + in + FStar_List.fold_right (fun e -> fun tl1 -> consTerm r e tl1) elts nil + let (mkLexList : FStar_Range.range -> term Prims.list -> term) = - fun r -> - fun elts -> + fun r -> + fun elts -> let nil = - mk_term (Construct (FStar_Parser_Const.lextop_lid, [])) r Expr in - FStar_List.fold_right (fun e -> fun tl1 -> lexConsTerm r e tl1) elts + mk_term (Construct (FStar_Parser_Const.lextop_lid, [])) r Expr in + FStar_List.fold_right (fun e -> fun tl1 -> lexConsTerm r e tl1) elts nil + let (ml_comp : term -> term) = - fun t -> - let ml = mk_term (Name FStar_Parser_Const.effect_ML_lid) t.range Expr in - let t1 = mk_term (App (ml, t, Nothing)) t.range Expr in t1 + fun t -> + let ml = mk_term (Name FStar_Parser_Const.effect_ML_lid) t.range Expr in + let t1 = mk_term (App (ml, t, Nothing)) t.range Expr in t1 + let (tot_comp : term -> term) = - fun t -> - let ml = mk_term (Name FStar_Parser_Const.effect_Tot_lid) t.range Expr in - let t1 = mk_term (App (ml, t, Nothing)) t.range Expr in t1 + fun t -> + let ml = mk_term (Name FStar_Parser_Const.effect_Tot_lid) t.range Expr + in + let t1 = mk_term (App (ml, t, Nothing)) t.range Expr in t1 + let (mkApp : term -> (term * imp) Prims.list -> FStar_Range.range -> term) = - fun t -> - fun args -> - fun r -> + fun t -> + fun args -> + fun r -> match args with | [] -> t - | uu____5767 -> + | uu____5778 -> (match t.tm with | Name s -> mk_term (Construct (s, args)) r Un - | uu____5781 -> + | uu____5792 -> FStar_List.fold_left - (fun t1 -> - fun uu____5791 -> - match uu____5791 with - | (a, imp) -> mk_term (App (t1, a, imp)) r Un) t args) + (fun t1 -> + fun uu____5802 -> + match uu____5802 with + | (a,imp) -> mk_term (App (t1, a, imp)) r Un) t args) + let (mkRefSet : FStar_Range.range -> term Prims.list -> term) = - fun r -> - fun elts -> - let uu____5813 = + fun r -> + fun elts -> + let uu____5824 = (FStar_Parser_Const.set_empty, FStar_Parser_Const.set_singleton, - FStar_Parser_Const.set_union, FStar_Parser_Const.heap_addr_of_lid) in - match uu____5813 with - | (empty_lid, singleton_lid, union_lid, addr_of_lid) -> + FStar_Parser_Const.set_union, FStar_Parser_Const.heap_addr_of_lid) + in + match uu____5824 with + | (empty_lid,singleton_lid,union_lid,addr_of_lid) -> let empty1 = - let uu____5827 = - let uu____5828 = FStar_Ident.set_lid_range empty_lid r in - Var uu____5828 in - mk_term uu____5827 r Expr in + let uu____5838 = + let uu____5839 = FStar_Ident.set_lid_range empty_lid r in + Var uu____5839 in + mk_term uu____5838 r Expr in let addr_of = - let uu____5830 = - let uu____5831 = FStar_Ident.set_lid_range addr_of_lid r in - Var uu____5831 in - mk_term uu____5830 r Expr in + let uu____5841 = + let uu____5842 = FStar_Ident.set_lid_range addr_of_lid r in + Var uu____5842 in + mk_term uu____5841 r Expr in let singleton1 = - let uu____5833 = - let uu____5834 = FStar_Ident.set_lid_range singleton_lid r in - Var uu____5834 in - mk_term uu____5833 r Expr in + let uu____5844 = + let uu____5845 = FStar_Ident.set_lid_range singleton_lid r in + Var uu____5845 in + mk_term uu____5844 r Expr in let union1 = - let uu____5836 = - let uu____5837 = FStar_Ident.set_lid_range union_lid r in - Var uu____5837 in - mk_term uu____5836 r Expr in + let uu____5847 = + let uu____5848 = FStar_Ident.set_lid_range union_lid r in + Var uu____5848 in + mk_term uu____5847 r Expr in FStar_List.fold_right - (fun e -> - fun tl1 -> - let e1 = mkApp addr_of [(e, Nothing)] r in - let single_e = mkApp singleton1 [(e1, Nothing)] r in + (fun e -> + fun tl1 -> + let e1 = mkApp addr_of [(e, Nothing)] r in + let single_e = mkApp singleton1 [(e1, Nothing)] r in mkApp union1 [(single_e, Nothing); (tl1, Nothing)] r) elts empty1 + let (mkExplicitApp : term -> term Prims.list -> FStar_Range.range -> term) = - fun t -> - fun args -> - fun r -> + fun t -> + fun args -> + fun r -> match args with | [] -> t - | uu____5894 -> + | uu____5905 -> (match t.tm with | Name s -> - let uu____5898 = - let uu____5899 = - let uu____5910 = - FStar_List.map (fun a -> (a, Nothing)) args in - (s, uu____5910) in - Construct uu____5899 in - mk_term uu____5898 r Un - | uu____5929 -> + let uu____5909 = + let uu____5910 = + let uu____5921 = + FStar_List.map (fun a -> (a, Nothing)) args in + (s, uu____5921) in + Construct uu____5910 in + mk_term uu____5909 r Un + | uu____5940 -> FStar_List.fold_left - (fun t1 -> fun a -> mk_term (App (t1, a, Nothing)) r Un) t - args) + (fun t1 -> fun a -> mk_term (App (t1, a, Nothing)) r Un) + t args) + let (unit_const : FStar_Range.range -> term) = - fun r -> mk_term (Const FStar_Const.Const_unit) r Expr + fun r -> mk_term (Const FStar_Const.Const_unit) r Expr let (mkAdmitMagic : FStar_Range.range -> term) = - fun r -> + fun r -> let admit1 = let admit_name = - let uu____5948 = - let uu____5949 = - FStar_Ident.set_lid_range FStar_Parser_Const.admit_lid r in - Var uu____5949 in - mk_term uu____5948 r Expr in - mkExplicitApp admit_name [unit_const r] r in + let uu____5959 = + let uu____5960 = + FStar_Ident.set_lid_range FStar_Parser_Const.admit_lid r in + Var uu____5960 in + mk_term uu____5959 r Expr in + mkExplicitApp admit_name [unit_const r] r in let magic1 = let magic_name = - let uu____5952 = - let uu____5953 = - FStar_Ident.set_lid_range FStar_Parser_Const.magic_lid r in - Var uu____5953 in - mk_term uu____5952 r Expr in - mkExplicitApp magic_name [unit_const r] r in - let admit_magic = mk_term (Seq (admit1, magic1)) r Expr in admit_magic + let uu____5963 = + let uu____5964 = + FStar_Ident.set_lid_range FStar_Parser_Const.magic_lid r in + Var uu____5964 in + mk_term uu____5963 r Expr in + mkExplicitApp magic_name [unit_const r] r in + let admit_magic = mk_term (Seq (admit1, magic1)) r Expr in admit_magic + let mkWildAdmitMagic : - 'Auu____5960 . + 'Auu____5971 . FStar_Range.range -> - (pattern * 'Auu____5960 FStar_Pervasives_Native.option * term) + (pattern * 'Auu____5971 FStar_Pervasives_Native.option * term) = - fun r -> - let uu____5974 = mkAdmitMagic r in + fun r -> + let uu____5985 = mkAdmitMagic r in ((mk_pattern (PatWild FStar_Pervasives_Native.None) r), - FStar_Pervasives_Native.None, uu____5974) + FStar_Pervasives_Native.None, uu____5985) + let focusBranches : - 'Auu____5984 . - (Prims.bool * (pattern * 'Auu____5984 FStar_Pervasives_Native.option * + 'Auu____5995 . + (Prims.bool * (pattern * 'Auu____5995 FStar_Pervasives_Native.option * term)) Prims.list -> FStar_Range.range -> - (pattern * 'Auu____5984 FStar_Pervasives_Native.option * term) + (pattern * 'Auu____5995 FStar_Pervasives_Native.option * term) Prims.list = - fun branches -> - fun r -> + fun branches -> + fun r -> let should_filter = - FStar_Util.for_some FStar_Pervasives_Native.fst branches in + FStar_Util.for_some FStar_Pervasives_Native.fst branches in if should_filter then (FStar_Errors.log_issue r (FStar_Errors.Warning_Filtered, "Focusing on only some cases"); (let focussed = - let uu____6084 = - FStar_List.filter FStar_Pervasives_Native.fst branches in - FStar_All.pipe_right uu____6084 - (FStar_List.map FStar_Pervasives_Native.snd) in - let uu____6177 = - let uu____6188 = mkWildAdmitMagic r in [uu____6188] in - FStar_List.append focussed uu____6177)) + let uu____6095 = + FStar_List.filter FStar_Pervasives_Native.fst branches in + FStar_All.pipe_right uu____6095 + (FStar_List.map FStar_Pervasives_Native.snd) + in + let uu____6188 = + let uu____6199 = mkWildAdmitMagic r in [uu____6199] in + FStar_List.append focussed uu____6188)) else FStar_All.pipe_right branches (FStar_List.map FStar_Pervasives_Native.snd) + let focusLetBindings : - 'Auu____6285 . - (Prims.bool * ('Auu____6285 * term)) Prims.list -> - FStar_Range.range -> ('Auu____6285 * term) Prims.list + 'Auu____6296 . + (Prims.bool * ('Auu____6296 * term)) Prims.list -> + FStar_Range.range -> ('Auu____6296 * term) Prims.list = - fun lbs -> - fun r -> - let should_filter = FStar_Util.for_some FStar_Pervasives_Native.fst lbs in + fun lbs -> + fun r -> + let should_filter = FStar_Util.for_some FStar_Pervasives_Native.fst lbs + in if should_filter then (FStar_Errors.log_issue r (FStar_Errors.Warning_Filtered, "Focusing on only some cases in this (mutually) recursive definition"); FStar_List.map - (fun uu____6366 -> - match uu____6366 with - | (f, lb) -> + (fun uu____6377 -> + match uu____6377 with + | (f,lb) -> if f then lb else - (let uu____6399 = mkAdmitMagic r in - ((FStar_Pervasives_Native.fst lb), uu____6399))) lbs) + (let uu____6410 = mkAdmitMagic r in + ((FStar_Pervasives_Native.fst lb), uu____6410))) lbs) else FStar_All.pipe_right lbs (FStar_List.map FStar_Pervasives_Native.snd) + let focusAttrLetBindings : - 'Auu____6446 'Auu____6447 . - ('Auu____6446 * (Prims.bool * ('Auu____6447 * term))) Prims.list -> - FStar_Range.range -> ('Auu____6446 * ('Auu____6447 * term)) Prims.list + 'Auu____6457 'Auu____6458 . + ('Auu____6457 * (Prims.bool * ('Auu____6458 * term))) Prims.list -> + FStar_Range.range -> ('Auu____6457 * ('Auu____6458 * term)) Prims.list = - fun lbs -> - fun r -> + fun lbs -> + fun r -> let should_filter = FStar_Util.for_some - (fun uu____6517 -> - match uu____6517 with | (attr, (focus, uu____6534)) -> focus) - lbs in + (fun uu____6528 -> + match uu____6528 with | (attr,(focus,uu____6545)) -> focus) lbs + in if should_filter then (FStar_Errors.log_issue r (FStar_Errors.Warning_Filtered, "Focusing on only some cases in this (mutually) recursive definition"); FStar_List.map - (fun uu____6593 -> - match uu____6593 with - | (attr, (f, lb)) -> + (fun uu____6604 -> + match uu____6604 with + | (attr,(f,lb)) -> if f then (attr, lb) else - (let uu____6652 = - let uu____6657 = mkAdmitMagic r in - ((FStar_Pervasives_Native.fst lb), uu____6657) in - (attr, uu____6652))) lbs) + (let uu____6663 = + let uu____6668 = mkAdmitMagic r in + ((FStar_Pervasives_Native.fst lb), uu____6668) in + (attr, uu____6663))) lbs) else FStar_All.pipe_right lbs (FStar_List.map - (fun uu____6714 -> - match uu____6714 with - | (attr, (uu____6737, lb)) -> (attr, lb))) + (fun uu____6725 -> + match uu____6725 with | (attr,(uu____6748,lb)) -> (attr, lb))) + let (mkFsTypApp : term -> term Prims.list -> FStar_Range.range -> term) = - fun t -> - fun args -> - fun r -> - let uu____6782 = FStar_List.map (fun a -> (a, FsTypApp)) args in - mkApp t uu____6782 r + fun t -> + fun args -> + fun r -> + let uu____6793 = FStar_List.map (fun a -> (a, FsTypApp)) args in + mkApp t uu____6793 r + let (mkTuple : term Prims.list -> FStar_Range.range -> term) = - fun args -> - fun r -> + fun args -> + fun r -> let cons1 = - FStar_Parser_Const.mk_tuple_data_lid (FStar_List.length args) r in - let uu____6811 = FStar_List.map (fun x -> (x, Nothing)) args in - mkApp (mk_term (Name cons1) r Expr) uu____6811 r + FStar_Parser_Const.mk_tuple_data_lid (FStar_List.length args) r in + let uu____6822 = FStar_List.map (fun x -> (x, Nothing)) args in + mkApp (mk_term (Name cons1) r Expr) uu____6822 r + let (mkDTuple : term Prims.list -> FStar_Range.range -> term) = - fun args -> - fun r -> + fun args -> + fun r -> let cons1 = - FStar_Parser_Const.mk_dtuple_data_lid (FStar_List.length args) r in - let uu____6840 = FStar_List.map (fun x -> (x, Nothing)) args in - mkApp (mk_term (Name cons1) r Expr) uu____6840 r + FStar_Parser_Const.mk_dtuple_data_lid (FStar_List.length args) r in + let uu____6851 = FStar_List.map (fun x -> (x, Nothing)) args in + mkApp (mk_term (Name cons1) r Expr) uu____6851 r + let (mkRefinedBinder : FStar_Ident.ident -> term -> @@ -1248,15 +1431,16 @@ let (mkRefinedBinder : FStar_Range.range -> arg_qualifier FStar_Pervasives_Native.option -> binder) = - fun id1 -> - fun t -> - fun should_bind_var -> - fun refopt -> - fun m -> - fun implicit -> - let b = mk_binder (Annotated (id1, t)) m Type_level implicit in + fun id1 -> + fun t -> + fun should_bind_var -> + fun refopt -> + fun m -> + fun implicit -> + let b = mk_binder (Annotated (id1, t)) m Type_level implicit + in match refopt with - | FStar_Pervasives_Native.None -> b + | FStar_Pervasives_Native.None -> b | FStar_Pervasives_Native.Some phi -> if should_bind_var then @@ -1265,13 +1449,14 @@ let (mkRefinedBinder : (id1, (mk_term (Refine (b, phi)) m Type_level))) m Type_level implicit else - (let x = FStar_Ident.gen t.range in + (let x = FStar_Ident.gen t.range in let b1 = - mk_binder (Annotated (x, t)) m Type_level implicit in + mk_binder (Annotated (x, t)) m Type_level implicit in mk_binder (Annotated (id1, (mk_term (Refine (b1, phi)) m Type_level))) m Type_level implicit) + let (mkRefinedPattern : pattern -> term -> @@ -1279,89 +1464,95 @@ let (mkRefinedPattern : term FStar_Pervasives_Native.option -> FStar_Range.range -> FStar_Range.range -> pattern) = - fun pat -> - fun t -> - fun should_bind_pat -> - fun phi_opt -> - fun t_range -> - fun range -> + fun pat -> + fun t -> + fun should_bind_pat -> + fun phi_opt -> + fun t_range -> + fun range -> let t1 = match phi_opt with - | FStar_Pervasives_Native.None -> t + | FStar_Pervasives_Native.None -> t | FStar_Pervasives_Native.Some phi -> if should_bind_pat then (match pat.pat with - | PatVar (x, uu____6942) -> + | PatVar (x,uu____6953) -> mk_term (Refine ((mk_binder (Annotated (x, t)) t_range Type_level FStar_Pervasives_Native.None), phi)) range Type_level - | uu____6947 -> - let x = FStar_Ident.gen t_range in + | uu____6958 -> + let x = FStar_Ident.gen t_range in let phi1 = let x_var = - let uu____6951 = - let uu____6952 = FStar_Ident.lid_of_ids [x] in - Var uu____6952 in - mk_term uu____6951 phi.range Formula in + let uu____6962 = + let uu____6963 = FStar_Ident.lid_of_ids [x] + in + Var uu____6963 in + mk_term uu____6962 phi.range Formula in let pat_branch = - (pat, FStar_Pervasives_Native.None, phi) in + (pat, FStar_Pervasives_Native.None, phi) in let otherwise_branch = - let uu____6973 = - let uu____6974 = - let uu____6975 = + let uu____6984 = + let uu____6985 = + let uu____6986 = FStar_Ident.lid_of_path ["False"] - phi.range in - Name uu____6975 in - mk_term uu____6974 phi.range Formula in + phi.range + in + Name uu____6986 in + mk_term uu____6985 phi.range Formula in ((mk_pattern (PatWild FStar_Pervasives_Native.None) phi.range), FStar_Pervasives_Native.None, - uu____6973) in + uu____6984) + in mk_term (Match (x_var, [pat_branch; otherwise_branch])) - phi.range Formula in + phi.range Formula + in mk_term (Refine ((mk_binder (Annotated (x, t)) t_range Type_level FStar_Pervasives_Native.None), phi1)) range Type_level) else - (let x = FStar_Ident.gen t.range in + (let x = FStar_Ident.gen t.range in mk_term (Refine ((mk_binder (Annotated (x, t)) t_range Type_level FStar_Pervasives_Native.None), phi)) range - Type_level) in + Type_level) + in mk_pattern (PatAscribed (pat, (t1, FStar_Pervasives_Native.None))) range + let rec (extract_named_refinement : term -> (FStar_Ident.ident * term * term FStar_Pervasives_Native.option) FStar_Pervasives_Native.option) = - fun t1 -> + fun t1 -> match t1.tm with - | NamedTyp (x, t) -> + | NamedTyp (x,t) -> FStar_Pervasives_Native.Some (x, t, FStar_Pervasives_Native.None) | Refine - ({ b = Annotated (x, t); brange = uu____7066; blevel = uu____7067; - aqual = uu____7068;_}, - t') + ({ b = Annotated (x,t); brange = uu____7077; blevel = uu____7078; + aqual = uu____7079;_},t') -> FStar_Pervasives_Native.Some (x, t, (FStar_Pervasives_Native.Some t')) | Paren t -> extract_named_refinement t - | uu____7083 -> FStar_Pervasives_Native.None + | uu____7094 -> FStar_Pervasives_Native.None + let rec (as_mlist : ((FStar_Ident.lid * decl) * decl Prims.list) -> decl Prims.list -> modul) = - fun cur -> - fun ds -> - let uu____7127 = cur in - match uu____7127 with - | ((m_name, m_decl), cur1) -> + fun cur -> + fun ds -> + let uu____7138 = cur in + match uu____7138 with + | ((m_name,m_decl),cur1) -> (match ds with | [] -> Module (m_name, (m_decl :: (FStar_List.rev cur1))) | d::ds1 -> @@ -1370,48 +1561,50 @@ let rec (as_mlist : FStar_Errors.raise_error (FStar_Errors.Fatal_UnexpectedModuleDeclaration, "Unexpected module declaration") d.drange - | uu____7158 -> as_mlist ((m_name, m_decl), (d :: cur1)) ds1)) + | uu____7169 -> as_mlist ((m_name, m_decl), (d :: cur1)) ds1)) + let (as_frag : Prims.bool -> FStar_Range.range -> decl Prims.list -> inputFragment) = - fun is_light -> - fun light_range -> - fun ds -> - let uu____7187 = + fun is_light -> + fun light_range -> + fun ds -> + let uu____7198 = match ds with | d::ds1 -> (d, ds1) - | [] -> FStar_Exn.raise FStar_Errors.Empty_frag in - match uu____7187 with - | (d, ds1) -> + | [] -> FStar_Exn.raise FStar_Errors.Empty_frag in + match uu____7198 with + | (d,ds1) -> (match d.d with | TopLevelModule m -> let ds2 = if is_light then - let uu____7225 = - mk_decl (Pragma LightOff) light_range [] in - uu____7225 :: ds1 - else ds1 in - let m1 = as_mlist ((m, d), []) ds2 in FStar_Util.Inl m1 - | uu____7237 -> - let ds2 = d :: ds1 in + let uu____7236 = + mk_decl (Pragma LightOff) light_range [] in + uu____7236 :: ds1 + else ds1 in + let m1 = as_mlist ((m, d), []) ds2 in FStar_Util.Inl m1 + | uu____7248 -> + let ds2 = d :: ds1 in (FStar_List.iter - (fun uu___3_7248 -> - match uu___3_7248 with - | { d = TopLevelModule uu____7249; drange = r; - doc = uu____7251; quals = uu____7252; - attrs = uu____7253;_} -> + (fun uu___3_7259 -> + match uu___3_7259 with + | { d = TopLevelModule uu____7260; drange = r; + doc = uu____7262; quals = uu____7263; + attrs = uu____7264;_} -> FStar_Errors.raise_error (FStar_Errors.Fatal_UnexpectedModuleDeclaration, "Unexpected module declaration") r - | uu____7258 -> ()) ds2; + | uu____7269 -> ()) ds2; FStar_Util.Inr ds2)) + let (compile_op : Prims.int -> Prims.string -> FStar_Range.range -> Prims.string) = - fun arity -> - fun s -> - fun r -> - let name_of_char uu___4_7289 = - match uu___4_7289 with + fun arity -> + fun s -> + fun r -> + let name_of_char uu___4_7300 = + match uu___4_7300 with | 38 -> "Amp" | 64 -> "At" | 43 -> "Plus" @@ -1437,7 +1630,8 @@ let (compile_op : FStar_Errors.raise_error (FStar_Errors.Fatal_UnexpectedOperatorSymbol, (Prims.op_Hat "Unexpected operator symbol: '" - (Prims.op_Hat (FStar_Util.string_of_char c) "'"))) r in + (Prims.op_Hat (FStar_Util.string_of_char c) "'"))) r + in match s with | ".[]<-" -> "op_String_Assignment" | ".()<-" -> "op_Array_Assignment" @@ -1447,507 +1641,544 @@ let (compile_op : | ".()" -> "op_Array_Access" | ".[||]" -> "op_Brack_Lens_Access" | ".(||)" -> "op_Lens_Access" - | uu____7359 -> - let uu____7361 = - let uu____7363 = - let uu____7367 = FStar_String.list_of_string s in - FStar_List.map name_of_char uu____7367 in - FStar_String.concat "_" uu____7363 in - Prims.op_Hat "op_" uu____7361 + | uu____7370 -> + let uu____7372 = + let uu____7374 = + let uu____7378 = FStar_String.list_of_string s in + FStar_List.map name_of_char uu____7378 in + FStar_String.concat "_" uu____7374 in + Prims.op_Hat "op_" uu____7372 + let (compile_op' : Prims.string -> FStar_Range.range -> Prims.string) = - fun s -> fun r -> compile_op (~- (Prims.parse_int "1")) s r + fun s -> fun r -> compile_op (~- (Prims.parse_int "1")) s r let (string_of_fsdoc : (Prims.string * (Prims.string * Prims.string) Prims.list) -> Prims.string) = - fun uu____7409 -> - match uu____7409 with - | (comment, keywords) -> - let uu____7444 = - let uu____7446 = + fun uu____7420 -> + match uu____7420 with + | (comment,keywords) -> + let uu____7455 = + let uu____7457 = FStar_List.map - (fun uu____7460 -> - match uu____7460 with - | (k, v1) -> Prims.op_Hat k (Prims.op_Hat "->" v1)) keywords in - FStar_String.concat "," uu____7446 in - Prims.op_Hat comment uu____7444 + (fun uu____7471 -> + match uu____7471 with + | (k,v1) -> Prims.op_Hat k (Prims.op_Hat "->" v1)) keywords + in + FStar_String.concat "," uu____7457 in + Prims.op_Hat comment uu____7455 + let (string_of_let_qualifier : let_qualifier -> Prims.string) = - fun uu___5_7482 -> - match uu___5_7482 with | NoLetQualifier -> "" | Rec -> "rec" + fun uu___5_7493 -> + match uu___5_7493 with | NoLetQualifier -> "" | Rec -> "rec" + let to_string_l : - 'Auu____7495 . + 'Auu____7506 . Prims.string -> - ('Auu____7495 -> Prims.string) -> - 'Auu____7495 Prims.list -> Prims.string + ('Auu____7506 -> Prims.string) -> + 'Auu____7506 Prims.list -> Prims.string = - fun sep -> - fun f -> - fun l -> - let uu____7525 = FStar_List.map f l in - FStar_String.concat sep uu____7525 + fun sep -> + fun f -> + fun l -> + let uu____7536 = FStar_List.map f l in + FStar_String.concat sep uu____7536 + let (imp_to_string : imp -> Prims.string) = - fun uu___6_7536 -> match uu___6_7536 with | Hash -> "#" | uu____7539 -> "" + fun uu___6_7547 -> + match uu___6_7547 with | Hash -> "#" | uu____7550 -> "" + let rec (term_to_string : term -> Prims.string) = - fun x -> + fun x -> match x.tm with - | Wild -> "_" - | Requires (t, uu____7582) -> - let uu____7589 = term_to_string t in - FStar_Util.format1 "(requires %s)" uu____7589 - | Ensures (t, uu____7593) -> - let uu____7600 = term_to_string t in - FStar_Util.format1 "(ensures %s)" uu____7600 - | Labeled (t, l, uu____7605) -> - let uu____7610 = term_to_string t in - FStar_Util.format2 "(labeled %s %s)" l uu____7610 + | Wild -> "_" + | Requires (t,uu____7593) -> + let uu____7600 = term_to_string t in + FStar_Util.format1 "(requires %s)" uu____7600 + | Ensures (t,uu____7604) -> + let uu____7611 = term_to_string t in + FStar_Util.format1 "(ensures %s)" uu____7611 + | Labeled (t,l,uu____7616) -> + let uu____7621 = term_to_string t in + FStar_Util.format2 "(labeled %s %s)" l uu____7621 | Const c -> FStar_Parser_Const.const_to_string c - | Op (s, xs) -> - let uu____7620 = FStar_Ident.text_of_id s in - let uu____7622 = - let uu____7624 = - FStar_List.map (fun x1 -> FStar_All.pipe_right x1 term_to_string) - xs in - FStar_String.concat ", " uu____7624 in - FStar_Util.format2 "%s(%s)" uu____7620 uu____7622 + | Op (s,xs) -> + let uu____7631 = FStar_Ident.text_of_id s in + let uu____7633 = + let uu____7635 = + FStar_List.map + (fun x1 -> FStar_All.pipe_right x1 term_to_string) xs + in + FStar_String.concat ", " uu____7635 in + FStar_Util.format2 "%s(%s)" uu____7631 uu____7633 | Tvar id1 -> id1.FStar_Ident.idText | Uvar id1 -> id1.FStar_Ident.idText | Var l -> l.FStar_Ident.str | Name l -> l.FStar_Ident.str - | Projector (rec_lid, field_id) -> - let uu____7640 = FStar_Ident.string_of_lid rec_lid in - FStar_Util.format2 "%s?.%s" uu____7640 field_id.FStar_Ident.idText - | Construct (l, args) -> - let uu____7657 = + | Projector (rec_lid,field_id) -> + let uu____7651 = FStar_Ident.string_of_lid rec_lid in + FStar_Util.format2 "%s?.%s" uu____7651 field_id.FStar_Ident.idText + | Construct (l,args) -> + let uu____7668 = to_string_l " " - (fun uu____7668 -> - match uu____7668 with - | (a, imp) -> - let uu____7676 = term_to_string a in - FStar_Util.format2 "%s%s" (imp_to_string imp) uu____7676) - args in - FStar_Util.format2 "(%s %s)" l.FStar_Ident.str uu____7657 - | Abs (pats, t) -> - let uu____7686 = to_string_l " " pat_to_string pats in - let uu____7689 = FStar_All.pipe_right t term_to_string in - FStar_Util.format2 "(fun %s -> %s)" uu____7686 uu____7689 - | App (t1, t2, imp) -> - let uu____7696 = FStar_All.pipe_right t1 term_to_string in - let uu____7699 = FStar_All.pipe_right t2 term_to_string in - FStar_Util.format3 "%s %s%s" uu____7696 (imp_to_string imp) - uu____7699 - | Let (Rec, (a, (p, b))::lbs, body) -> - let uu____7760 = attrs_opt_to_string a in - let uu____7762 = - let uu____7764 = FStar_All.pipe_right p pat_to_string in - let uu____7767 = FStar_All.pipe_right b term_to_string in - FStar_Util.format2 "%s=%s" uu____7764 uu____7767 in - let uu____7771 = + (fun uu____7679 -> + match uu____7679 with + | (a,imp) -> + let uu____7687 = term_to_string a in + FStar_Util.format2 "%s%s" (imp_to_string imp) uu____7687) + args + in + FStar_Util.format2 "(%s %s)" l.FStar_Ident.str uu____7668 + | Abs (pats,t) -> + let uu____7697 = to_string_l " " pat_to_string pats in + let uu____7700 = FStar_All.pipe_right t term_to_string in + FStar_Util.format2 "(fun %s -> %s)" uu____7697 uu____7700 + | App (t1,t2,imp) -> + let uu____7707 = FStar_All.pipe_right t1 term_to_string in + let uu____7710 = FStar_All.pipe_right t2 term_to_string in + FStar_Util.format3 "%s %s%s" uu____7707 (imp_to_string imp) + uu____7710 + | Let (Rec ,(a,(p,b))::lbs,body) -> + let uu____7771 = attrs_opt_to_string a in + let uu____7773 = + let uu____7775 = FStar_All.pipe_right p pat_to_string in + let uu____7778 = FStar_All.pipe_right b term_to_string in + FStar_Util.format2 "%s=%s" uu____7775 uu____7778 in + let uu____7782 = to_string_l " " - (fun uu____7793 -> - match uu____7793 with - | (a1, (p1, b1)) -> - let uu____7822 = attrs_opt_to_string a1 in - let uu____7824 = FStar_All.pipe_right p1 pat_to_string in - let uu____7827 = FStar_All.pipe_right b1 term_to_string in - FStar_Util.format3 "%sand %s=%s" uu____7822 uu____7824 - uu____7827) lbs in - let uu____7831 = FStar_All.pipe_right body term_to_string in - FStar_Util.format4 "%slet rec %s%s in %s" uu____7760 uu____7762 - uu____7771 uu____7831 - | Let (q, (attrs, (pat, tm))::[], body) -> - let uu____7890 = attrs_opt_to_string attrs in - let uu____7892 = FStar_All.pipe_right pat pat_to_string in - let uu____7895 = FStar_All.pipe_right tm term_to_string in - let uu____7898 = FStar_All.pipe_right body term_to_string in - FStar_Util.format5 "%slet %s %s = %s in %s" uu____7890 - (string_of_let_qualifier q) uu____7892 uu____7895 uu____7898 - | Let (uu____7902, uu____7903, uu____7904) -> + (fun uu____7804 -> + match uu____7804 with + | (a1,(p1,b1)) -> + let uu____7833 = attrs_opt_to_string a1 in + let uu____7835 = FStar_All.pipe_right p1 pat_to_string in + let uu____7838 = FStar_All.pipe_right b1 term_to_string + in + FStar_Util.format3 "%sand %s=%s" uu____7833 uu____7835 + uu____7838) lbs + in + let uu____7842 = FStar_All.pipe_right body term_to_string in + FStar_Util.format4 "%slet rec %s%s in %s" uu____7771 uu____7773 + uu____7782 uu____7842 + | Let (q,(attrs,(pat,tm))::[],body) -> + let uu____7901 = attrs_opt_to_string attrs in + let uu____7903 = FStar_All.pipe_right pat pat_to_string in + let uu____7906 = FStar_All.pipe_right tm term_to_string in + let uu____7909 = FStar_All.pipe_right body term_to_string in + FStar_Util.format5 "%slet %s %s = %s in %s" uu____7901 + (string_of_let_qualifier q) uu____7903 uu____7906 uu____7909 + | Let (uu____7913,uu____7914,uu____7915) -> FStar_Errors.raise_error (FStar_Errors.Fatal_EmptySurfaceLet, "Internal error: found an invalid surface Let") x.range - | LetOpen (lid, t) -> - let uu____7938 = FStar_Ident.string_of_lid lid in - let uu____7940 = term_to_string t in - FStar_Util.format2 "let open %s in %s" uu____7938 uu____7940 - | Seq (t1, t2) -> - let uu____7945 = FStar_All.pipe_right t1 term_to_string in - let uu____7948 = FStar_All.pipe_right t2 term_to_string in - FStar_Util.format2 "%s; %s" uu____7945 uu____7948 - | Bind (id1, t1, t2) -> - let uu____7955 = term_to_string t1 in - let uu____7957 = term_to_string t2 in - FStar_Util.format3 "%s <- %s; %s" id1.FStar_Ident.idText uu____7955 - uu____7957 - | If (t1, t2, t3) -> - let uu____7963 = FStar_All.pipe_right t1 term_to_string in - let uu____7966 = FStar_All.pipe_right t2 term_to_string in - let uu____7969 = FStar_All.pipe_right t3 term_to_string in - FStar_Util.format3 "if %s then %s else %s" uu____7963 uu____7966 - uu____7969 - | Match (t, branches) -> + | LetOpen (lid,t) -> + let uu____7949 = FStar_Ident.string_of_lid lid in + let uu____7951 = term_to_string t in + FStar_Util.format2 "let open %s in %s" uu____7949 uu____7951 + | Seq (t1,t2) -> + let uu____7956 = FStar_All.pipe_right t1 term_to_string in + let uu____7959 = FStar_All.pipe_right t2 term_to_string in + FStar_Util.format2 "%s; %s" uu____7956 uu____7959 + | Bind (id1,t1,t2) -> + let uu____7966 = term_to_string t1 in + let uu____7968 = term_to_string t2 in + FStar_Util.format3 "%s <- %s; %s" id1.FStar_Ident.idText uu____7966 + uu____7968 + | If (t1,t2,t3) -> + let uu____7974 = FStar_All.pipe_right t1 term_to_string in + let uu____7977 = FStar_All.pipe_right t2 term_to_string in + let uu____7980 = FStar_All.pipe_right t3 term_to_string in + FStar_Util.format3 "if %s then %s else %s" uu____7974 uu____7977 + uu____7980 + | Match (t,branches) -> let s = match x.tm with - | Match uu____7998 -> "match" - | TryWith uu____8014 -> "try" - | uu____8030 -> failwith "impossible" in - let uu____8033 = FStar_All.pipe_right t term_to_string in - let uu____8036 = + | Match uu____8009 -> "match" + | TryWith uu____8025 -> "try" + | uu____8041 -> failwith "impossible" in + let uu____8044 = FStar_All.pipe_right t term_to_string in + let uu____8047 = to_string_l " | " - (fun uu____8054 -> - match uu____8054 with - | (p, w, e) -> - let uu____8071 = FStar_All.pipe_right p pat_to_string in - let uu____8074 = + (fun uu____8065 -> + match uu____8065 with + | (p,w,e) -> + let uu____8082 = FStar_All.pipe_right p pat_to_string in + let uu____8085 = match w with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some e1 -> - let uu____8079 = term_to_string e1 in - FStar_Util.format1 "when %s" uu____8079 in - let uu____8082 = FStar_All.pipe_right e term_to_string in - FStar_Util.format3 "%s %s -> %s" uu____8071 uu____8074 - uu____8082) branches in - FStar_Util.format3 "%s %s with %s" s uu____8033 uu____8036 - | TryWith (t, branches) -> + let uu____8090 = term_to_string e1 in + FStar_Util.format1 "when %s" uu____8090 + in + let uu____8093 = FStar_All.pipe_right e term_to_string in + FStar_Util.format3 "%s %s -> %s" uu____8082 uu____8085 + uu____8093) branches + in + FStar_Util.format3 "%s %s with %s" s uu____8044 uu____8047 + | TryWith (t,branches) -> let s = match x.tm with - | Match uu____8112 -> "match" - | TryWith uu____8128 -> "try" - | uu____8144 -> failwith "impossible" in - let uu____8147 = FStar_All.pipe_right t term_to_string in - let uu____8150 = + | Match uu____8123 -> "match" + | TryWith uu____8139 -> "try" + | uu____8155 -> failwith "impossible" in + let uu____8158 = FStar_All.pipe_right t term_to_string in + let uu____8161 = to_string_l " | " - (fun uu____8168 -> - match uu____8168 with - | (p, w, e) -> - let uu____8185 = FStar_All.pipe_right p pat_to_string in - let uu____8188 = + (fun uu____8179 -> + match uu____8179 with + | (p,w,e) -> + let uu____8196 = FStar_All.pipe_right p pat_to_string in + let uu____8199 = match w with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some e1 -> - let uu____8193 = term_to_string e1 in - FStar_Util.format1 "when %s" uu____8193 in - let uu____8196 = FStar_All.pipe_right e term_to_string in - FStar_Util.format3 "%s %s -> %s" uu____8185 uu____8188 - uu____8196) branches in - FStar_Util.format3 "%s %s with %s" s uu____8147 uu____8150 - | Ascribed (t1, t2, FStar_Pervasives_Native.None) -> - let uu____8205 = FStar_All.pipe_right t1 term_to_string in - let uu____8208 = FStar_All.pipe_right t2 term_to_string in - FStar_Util.format2 "(%s : %s)" uu____8205 uu____8208 - | Ascribed (t1, t2, FStar_Pervasives_Native.Some tac) -> - let uu____8217 = FStar_All.pipe_right t1 term_to_string in - let uu____8220 = FStar_All.pipe_right t2 term_to_string in - let uu____8223 = FStar_All.pipe_right tac term_to_string in - FStar_Util.format3 "(%s : %s by %s)" uu____8217 uu____8220 uu____8223 - | Record (FStar_Pervasives_Native.Some e, fields) -> - let uu____8243 = FStar_All.pipe_right e term_to_string in - let uu____8246 = + let uu____8204 = term_to_string e1 in + FStar_Util.format1 "when %s" uu____8204 + in + let uu____8207 = FStar_All.pipe_right e term_to_string in + FStar_Util.format3 "%s %s -> %s" uu____8196 uu____8199 + uu____8207) branches + in + FStar_Util.format3 "%s %s with %s" s uu____8158 uu____8161 + | Ascribed (t1,t2,FStar_Pervasives_Native.None ) -> + let uu____8216 = FStar_All.pipe_right t1 term_to_string in + let uu____8219 = FStar_All.pipe_right t2 term_to_string in + FStar_Util.format2 "(%s : %s)" uu____8216 uu____8219 + | Ascribed (t1,t2,FStar_Pervasives_Native.Some tac) -> + let uu____8228 = FStar_All.pipe_right t1 term_to_string in + let uu____8231 = FStar_All.pipe_right t2 term_to_string in + let uu____8234 = FStar_All.pipe_right tac term_to_string in + FStar_Util.format3 "(%s : %s by %s)" uu____8228 uu____8231 uu____8234 + | Record (FStar_Pervasives_Native.Some e,fields) -> + let uu____8254 = FStar_All.pipe_right e term_to_string in + let uu____8257 = to_string_l " " - (fun uu____8257 -> - match uu____8257 with - | (l, e1) -> - let uu____8265 = FStar_All.pipe_right e1 term_to_string in - FStar_Util.format2 "%s=%s" l.FStar_Ident.str uu____8265) - fields in - FStar_Util.format2 "{%s with %s}" uu____8243 uu____8246 - | Record (FStar_Pervasives_Native.None, fields) -> - let uu____8285 = + (fun uu____8268 -> + match uu____8268 with + | (l,e1) -> + let uu____8276 = FStar_All.pipe_right e1 term_to_string + in + FStar_Util.format2 "%s=%s" l.FStar_Ident.str uu____8276) + fields + in + FStar_Util.format2 "{%s with %s}" uu____8254 uu____8257 + | Record (FStar_Pervasives_Native.None ,fields) -> + let uu____8296 = to_string_l " " - (fun uu____8296 -> - match uu____8296 with - | (l, e) -> - let uu____8304 = FStar_All.pipe_right e term_to_string in - FStar_Util.format2 "%s=%s" l.FStar_Ident.str uu____8304) - fields in - FStar_Util.format1 "{%s}" uu____8285 - | Project (e, l) -> - let uu____8311 = FStar_All.pipe_right e term_to_string in - FStar_Util.format2 "%s.%s" uu____8311 l.FStar_Ident.str - | Product ([], t) -> term_to_string t - | Product (b::hd1::tl1, t) -> + (fun uu____8307 -> + match uu____8307 with + | (l,e) -> + let uu____8315 = FStar_All.pipe_right e term_to_string in + FStar_Util.format2 "%s=%s" l.FStar_Ident.str uu____8315) + fields + in + FStar_Util.format1 "{%s}" uu____8296 + | Project (e,l) -> + let uu____8322 = FStar_All.pipe_right e term_to_string in + FStar_Util.format2 "%s.%s" uu____8322 l.FStar_Ident.str + | Product ([],t) -> term_to_string t + | Product (b::hd1::tl1,t) -> term_to_string (mk_term (Product ([b], (mk_term (Product ((hd1 :: tl1), t)) x.range x.level))) x.range x.level) - | Product (b::[], t) when x.level = Type_level -> - let uu____8334 = FStar_All.pipe_right b binder_to_string in - let uu____8337 = FStar_All.pipe_right t term_to_string in - FStar_Util.format2 "%s -> %s" uu____8334 uu____8337 - | Product (b::[], t) when x.level = Kind -> - let uu____8345 = FStar_All.pipe_right b binder_to_string in - let uu____8348 = FStar_All.pipe_right t term_to_string in - FStar_Util.format2 "%s => %s" uu____8345 uu____8348 - | Sum (binders, t) -> - let uu____8366 = + | Product (b::[],t) when x.level = Type_level -> + let uu____8345 = FStar_All.pipe_right b binder_to_string in + let uu____8348 = FStar_All.pipe_right t term_to_string in + FStar_Util.format2 "%s -> %s" uu____8345 uu____8348 + | Product (b::[],t) when x.level = Kind -> + let uu____8356 = FStar_All.pipe_right b binder_to_string in + let uu____8359 = FStar_All.pipe_right t term_to_string in + FStar_Util.format2 "%s => %s" uu____8356 uu____8359 + | Sum (binders,t) -> + let uu____8377 = FStar_All.pipe_right (FStar_List.append binders [FStar_Util.Inr t]) (FStar_List.map - (fun uu___7_8398 -> - match uu___7_8398 with + (fun uu___7_8409 -> + match uu___7_8409 with | FStar_Util.Inl b -> binder_to_string b - | FStar_Util.Inr t1 -> term_to_string t1)) in - FStar_All.pipe_right uu____8366 (FStar_String.concat " & ") - | QForall (bs, (uu____8412, pats), t) -> - let uu____8441 = to_string_l " " binder_to_string bs in - let uu____8444 = - to_string_l " \\/ " (to_string_l "; " term_to_string) pats in - let uu____8450 = FStar_All.pipe_right t term_to_string in - FStar_Util.format3 "forall %s.{:pattern %s} %s" uu____8441 uu____8444 - uu____8450 - | QExists (bs, (uu____8455, pats), t) -> - let uu____8484 = to_string_l " " binder_to_string bs in - let uu____8487 = - to_string_l " \\/ " (to_string_l "; " term_to_string) pats in - let uu____8493 = FStar_All.pipe_right t term_to_string in - FStar_Util.format3 "exists %s.{:pattern %s} %s" uu____8484 uu____8487 - uu____8493 - | Refine (b, t) -> - let uu____8499 = FStar_All.pipe_right b binder_to_string in - let uu____8502 = FStar_All.pipe_right t term_to_string in - FStar_Util.format2 "%s:{%s}" uu____8499 uu____8502 - | NamedTyp (x1, t) -> - let uu____8508 = FStar_All.pipe_right t term_to_string in - FStar_Util.format2 "%s:%s" x1.FStar_Ident.idText uu____8508 + | FStar_Util.Inr t1 -> term_to_string t1)) + in + FStar_All.pipe_right uu____8377 (FStar_String.concat " & ") + | QForall (bs,(uu____8423,pats),t) -> + let uu____8452 = to_string_l " " binder_to_string bs in + let uu____8455 = + to_string_l " \\/ " (to_string_l "; " term_to_string) pats in + let uu____8461 = FStar_All.pipe_right t term_to_string in + FStar_Util.format3 "forall %s.{:pattern %s} %s" uu____8452 uu____8455 + uu____8461 + | QExists (bs,(uu____8466,pats),t) -> + let uu____8495 = to_string_l " " binder_to_string bs in + let uu____8498 = + to_string_l " \\/ " (to_string_l "; " term_to_string) pats in + let uu____8504 = FStar_All.pipe_right t term_to_string in + FStar_Util.format3 "exists %s.{:pattern %s} %s" uu____8495 uu____8498 + uu____8504 + | Refine (b,t) -> + let uu____8510 = FStar_All.pipe_right b binder_to_string in + let uu____8513 = FStar_All.pipe_right t term_to_string in + FStar_Util.format2 "%s:{%s}" uu____8510 uu____8513 + | NamedTyp (x1,t) -> + let uu____8519 = FStar_All.pipe_right t term_to_string in + FStar_Util.format2 "%s:%s" x1.FStar_Ident.idText uu____8519 | Paren t -> - let uu____8513 = FStar_All.pipe_right t term_to_string in - FStar_Util.format1 "(%s)" uu____8513 - | Product (bs, t) -> - let uu____8523 = - let uu____8525 = - FStar_All.pipe_right bs (FStar_List.map binder_to_string) in - FStar_All.pipe_right uu____8525 (FStar_String.concat ",") in - let uu____8540 = FStar_All.pipe_right t term_to_string in - FStar_Util.format2 "Unidentified product: [%s] %s" uu____8523 - uu____8540 + let uu____8524 = FStar_All.pipe_right t term_to_string in + FStar_Util.format1 "(%s)" uu____8524 + | Product (bs,t) -> + let uu____8534 = + let uu____8536 = + FStar_All.pipe_right bs (FStar_List.map binder_to_string) in + FStar_All.pipe_right uu____8536 (FStar_String.concat ",") in + let uu____8551 = FStar_All.pipe_right t term_to_string in + FStar_Util.format2 "Unidentified product: [%s] %s" uu____8534 + uu____8551 | Discrim lid -> - let uu____8545 = FStar_Ident.string_of_lid lid in - FStar_Util.format1 "%s?" uu____8545 + let uu____8556 = FStar_Ident.string_of_lid lid in + FStar_Util.format1 "%s?" uu____8556 | Attributes ts -> - let uu____8551 = - let uu____8553 = FStar_List.map term_to_string ts in - FStar_All.pipe_left (FStar_String.concat " ") uu____8553 in - FStar_Util.format1 "(attributes %s)" uu____8551 + let uu____8562 = + let uu____8564 = FStar_List.map term_to_string ts in + FStar_All.pipe_left (FStar_String.concat " ") uu____8564 in + FStar_Util.format1 "(attributes %s)" uu____8562 | Antiquote t -> - let uu____8565 = term_to_string t in - FStar_Util.format1 "(`#%s)" uu____8565 - | Quote (t, Static) -> - let uu____8569 = term_to_string t in - FStar_Util.format1 "(`(%s))" uu____8569 - | Quote (t, Dynamic) -> - let uu____8573 = term_to_string t in - FStar_Util.format1 "quote (%s)" uu____8573 + let uu____8576 = term_to_string t in + FStar_Util.format1 "(`#%s)" uu____8576 + | Quote (t,Static ) -> + let uu____8580 = term_to_string t in + FStar_Util.format1 "(`(%s))" uu____8580 + | Quote (t,Dynamic ) -> + let uu____8584 = term_to_string t in + FStar_Util.format1 "quote (%s)" uu____8584 | VQuote t -> - let uu____8577 = term_to_string t in - FStar_Util.format1 "`%%%s" uu____8577 - | CalcProof (rel, init1, steps) -> - let uu____8587 = term_to_string rel in - let uu____8589 = term_to_string init1 in - let uu____8591 = - let uu____8593 = FStar_List.map calc_step_to_string steps in - FStar_All.pipe_left (FStar_String.concat " ") uu____8593 in - FStar_Util.format3 "calc (%s) { %s %s }" uu____8587 uu____8589 - uu____8591 + let uu____8588 = term_to_string t in + FStar_Util.format1 "`%%%s" uu____8588 + | CalcProof (rel,init1,steps) -> + let uu____8598 = term_to_string rel in + let uu____8600 = term_to_string init1 in + let uu____8602 = + let uu____8604 = FStar_List.map calc_step_to_string steps in + FStar_All.pipe_left (FStar_String.concat " ") uu____8604 in + FStar_Util.format3 "calc (%s) { %s %s }" uu____8598 uu____8600 + uu____8602 + and (calc_step_to_string : calc_step -> Prims.string) = - fun uu____8604 -> - match uu____8604 with - | CalcStep (rel, just, next) -> - let uu____8609 = term_to_string rel in - let uu____8611 = term_to_string just in - let uu____8613 = term_to_string next in - FStar_Util.format3 "%s{ %s } %s" uu____8609 uu____8611 uu____8613 + fun uu____8615 -> + match uu____8615 with + | CalcStep (rel,just,next) -> + let uu____8620 = term_to_string rel in + let uu____8622 = term_to_string just in + let uu____8624 = term_to_string next in + FStar_Util.format3 "%s{ %s } %s" uu____8620 uu____8622 uu____8624 + and (binder_to_string : binder -> Prims.string) = - fun x -> + fun x -> let s = match x.b with | Variable i -> i.FStar_Ident.idText | TVariable i -> FStar_Util.format1 "%s:_" i.FStar_Ident.idText - | TAnnotated (i, t) -> - let uu____8625 = FStar_All.pipe_right t term_to_string in - FStar_Util.format2 "%s:%s" i.FStar_Ident.idText uu____8625 - | Annotated (i, t) -> - let uu____8631 = FStar_All.pipe_right t term_to_string in - FStar_Util.format2 "%s:%s" i.FStar_Ident.idText uu____8631 - | NoName t -> FStar_All.pipe_right t term_to_string in - let uu____8637 = aqual_to_string x.aqual in - FStar_Util.format2 "%s%s" uu____8637 s + | TAnnotated (i,t) -> + let uu____8636 = FStar_All.pipe_right t term_to_string in + FStar_Util.format2 "%s:%s" i.FStar_Ident.idText uu____8636 + | Annotated (i,t) -> + let uu____8642 = FStar_All.pipe_right t term_to_string in + FStar_Util.format2 "%s:%s" i.FStar_Ident.idText uu____8642 + | NoName t -> FStar_All.pipe_right t term_to_string in + let uu____8648 = aqual_to_string x.aqual in + FStar_Util.format2 "%s%s" uu____8648 s + and (aqual_to_string : arg_qualifier FStar_Pervasives_Native.option -> Prims.string) = - fun uu___8_8640 -> - match uu___8_8640 with - | FStar_Pervasives_Native.Some (Equality) -> "$" - | FStar_Pervasives_Native.Some (Implicit) -> "#" - | uu____8646 -> "" + fun uu___8_8651 -> + match uu___8_8651 with + | FStar_Pervasives_Native.Some (Equality ) -> "$" + | FStar_Pervasives_Native.Some (Implicit ) -> "#" + | uu____8657 -> "" + and (pat_to_string : pattern -> Prims.string) = - fun x -> + fun x -> match x.pat with - | PatWild (FStar_Pervasives_Native.None) -> "_" - | PatWild uu____8653 -> "#_" + | PatWild (FStar_Pervasives_Native.None ) -> "_" + | PatWild uu____8664 -> "#_" | PatConst c -> FStar_Parser_Const.const_to_string c - | PatApp (p, ps) -> - let uu____8664 = FStar_All.pipe_right p pat_to_string in - let uu____8667 = to_string_l " " pat_to_string ps in - FStar_Util.format2 "(%s %s)" uu____8664 uu____8667 - | PatTvar (i, aq) -> - let uu____8677 = aqual_to_string aq in - FStar_Util.format2 "%s%s" uu____8677 i.FStar_Ident.idText - | PatVar (i, aq) -> - let uu____8686 = aqual_to_string aq in - FStar_Util.format2 "%s%s" uu____8686 i.FStar_Ident.idText + | PatApp (p,ps) -> + let uu____8675 = FStar_All.pipe_right p pat_to_string in + let uu____8678 = to_string_l " " pat_to_string ps in + FStar_Util.format2 "(%s %s)" uu____8675 uu____8678 + | PatTvar (i,aq) -> + let uu____8688 = aqual_to_string aq in + FStar_Util.format2 "%s%s" uu____8688 i.FStar_Ident.idText + | PatVar (i,aq) -> + let uu____8697 = aqual_to_string aq in + FStar_Util.format2 "%s%s" uu____8697 i.FStar_Ident.idText | PatName l -> l.FStar_Ident.str | PatList l -> - let uu____8693 = to_string_l "; " pat_to_string l in - FStar_Util.format1 "[%s]" uu____8693 - | PatTuple (l, false) -> - let uu____8704 = to_string_l ", " pat_to_string l in - FStar_Util.format1 "(%s)" uu____8704 - | PatTuple (l, true) -> - let uu____8715 = to_string_l ", " pat_to_string l in - FStar_Util.format1 "(|%s|)" uu____8715 + let uu____8704 = to_string_l "; " pat_to_string l in + FStar_Util.format1 "[%s]" uu____8704 + | PatTuple (l,false ) -> + let uu____8715 = to_string_l ", " pat_to_string l in + FStar_Util.format1 "(%s)" uu____8715 + | PatTuple (l,true ) -> + let uu____8726 = to_string_l ", " pat_to_string l in + FStar_Util.format1 "(|%s|)" uu____8726 | PatRecord l -> - let uu____8726 = + let uu____8737 = to_string_l "; " - (fun uu____8737 -> - match uu____8737 with - | (f, e) -> - let uu____8745 = FStar_All.pipe_right e pat_to_string in - FStar_Util.format2 "%s=%s" f.FStar_Ident.str uu____8745) l in - FStar_Util.format1 "{%s}" uu____8726 + (fun uu____8748 -> + match uu____8748 with + | (f,e) -> + let uu____8756 = FStar_All.pipe_right e pat_to_string in + FStar_Util.format2 "%s=%s" f.FStar_Ident.str uu____8756) l + in + FStar_Util.format1 "{%s}" uu____8737 | PatOr l -> to_string_l "|\n " pat_to_string l | PatOp op -> - let uu____8755 = FStar_Ident.text_of_id op in - FStar_Util.format1 "(%s)" uu____8755 - | PatAscribed (p, (t, FStar_Pervasives_Native.None)) -> - let uu____8768 = FStar_All.pipe_right p pat_to_string in - let uu____8771 = FStar_All.pipe_right t term_to_string in - FStar_Util.format2 "(%s:%s)" uu____8768 uu____8771 - | PatAscribed (p, (t, FStar_Pervasives_Native.Some tac)) -> - let uu____8786 = FStar_All.pipe_right p pat_to_string in - let uu____8789 = FStar_All.pipe_right t term_to_string in - let uu____8792 = FStar_All.pipe_right tac term_to_string in - FStar_Util.format3 "(%s:%s by %s)" uu____8786 uu____8789 uu____8792 + let uu____8766 = FStar_Ident.text_of_id op in + FStar_Util.format1 "(%s)" uu____8766 + | PatAscribed (p,(t,FStar_Pervasives_Native.None )) -> + let uu____8779 = FStar_All.pipe_right p pat_to_string in + let uu____8782 = FStar_All.pipe_right t term_to_string in + FStar_Util.format2 "(%s:%s)" uu____8779 uu____8782 + | PatAscribed (p,(t,FStar_Pervasives_Native.Some tac)) -> + let uu____8797 = FStar_All.pipe_right p pat_to_string in + let uu____8800 = FStar_All.pipe_right t term_to_string in + let uu____8803 = FStar_All.pipe_right tac term_to_string in + FStar_Util.format3 "(%s:%s by %s)" uu____8797 uu____8800 uu____8803 + and (attrs_opt_to_string : term Prims.list FStar_Pervasives_Native.option -> Prims.string) = - fun uu___9_8796 -> - match uu___9_8796 with - | FStar_Pervasives_Native.None -> "" + fun uu___9_8807 -> + match uu___9_8807 with + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some attrs -> - let uu____8810 = - let uu____8812 = FStar_List.map term_to_string attrs in - FStar_All.pipe_right uu____8812 (FStar_String.concat "; ") in - FStar_Util.format1 "[@ %s]" uu____8810 + let uu____8821 = + let uu____8823 = FStar_List.map term_to_string attrs in + FStar_All.pipe_right uu____8823 (FStar_String.concat "; ") in + FStar_Util.format1 "[@ %s]" uu____8821 + let rec (head_id_of_pat : pattern -> FStar_Ident.lident Prims.list) = - fun p -> + fun p -> match p.pat with | PatName l -> [l] - | PatVar (i, uu____8835) -> - let uu____8840 = FStar_Ident.lid_of_ids [i] in [uu____8840] - | PatApp (p1, uu____8842) -> head_id_of_pat p1 - | PatAscribed (p1, uu____8848) -> head_id_of_pat p1 - | uu____8861 -> [] + | PatVar (i,uu____8846) -> + let uu____8851 = FStar_Ident.lid_of_ids [i] in [uu____8851] + | PatApp (p1,uu____8853) -> head_id_of_pat p1 + | PatAscribed (p1,uu____8859) -> head_id_of_pat p1 + | uu____8872 -> [] + let lids_of_let : - 'Auu____8867 . - (pattern * 'Auu____8867) Prims.list -> FStar_Ident.lident Prims.list + 'Auu____8878 . + (pattern * 'Auu____8878) Prims.list -> FStar_Ident.lident Prims.list = - fun defs -> + fun defs -> FStar_All.pipe_right defs (FStar_List.collect - (fun uu____8902 -> - match uu____8902 with | (p, uu____8910) -> head_id_of_pat p)) + (fun uu____8913 -> + match uu____8913 with | (p,uu____8921) -> head_id_of_pat p)) + let (id_of_tycon : tycon -> Prims.string) = - fun uu___10_8917 -> - match uu___10_8917 with - | TyconAbstract (i, uu____8920, uu____8921) -> i.FStar_Ident.idText - | TyconAbbrev (i, uu____8931, uu____8932, uu____8933) -> + fun uu___10_8928 -> + match uu___10_8928 with + | TyconAbstract (i,uu____8931,uu____8932) -> i.FStar_Ident.idText + | TyconAbbrev (i,uu____8942,uu____8943,uu____8944) -> i.FStar_Ident.idText - | TyconRecord (i, uu____8943, uu____8944, uu____8945) -> + | TyconRecord (i,uu____8954,uu____8955,uu____8956) -> i.FStar_Ident.idText - | TyconVariant (i, uu____8975, uu____8976, uu____8977) -> + | TyconVariant (i,uu____8986,uu____8987,uu____8988) -> i.FStar_Ident.idText + let (decl_to_string : decl -> Prims.string) = - fun d -> + fun d -> match d.d with | TopLevelModule l -> Prims.op_Hat "module " l.FStar_Ident.str | Open l -> Prims.op_Hat "open " l.FStar_Ident.str | Friend l -> Prims.op_Hat "friend " l.FStar_Ident.str | Include l -> Prims.op_Hat "include " l.FStar_Ident.str - | ModuleAbbrev (i, l) -> + | ModuleAbbrev (i,l) -> FStar_Util.format2 "module %s = %s" i.FStar_Ident.idText l.FStar_Ident.str - | TopLevelLet (uu____9035, pats) -> - let uu____9049 = - let uu____9051 = - let uu____9055 = lids_of_let pats in - FStar_All.pipe_right uu____9055 - (FStar_List.map (fun l -> l.FStar_Ident.str)) in - FStar_All.pipe_right uu____9051 (FStar_String.concat ", ") in - Prims.op_Hat "let " uu____9049 - | Main uu____9072 -> "main ..." - | Assume (i, uu____9075) -> Prims.op_Hat "assume " i.FStar_Ident.idText - | Tycon (uu____9077, uu____9078, tys) -> - let uu____9100 = - let uu____9102 = + | TopLevelLet (uu____9046,pats) -> + let uu____9060 = + let uu____9062 = + let uu____9066 = lids_of_let pats in + FStar_All.pipe_right uu____9066 + (FStar_List.map (fun l -> l.FStar_Ident.str)) + in + FStar_All.pipe_right uu____9062 (FStar_String.concat ", ") in + Prims.op_Hat "let " uu____9060 + | Main uu____9083 -> "main ..." + | Assume (i,uu____9086) -> Prims.op_Hat "assume " i.FStar_Ident.idText + | Tycon (uu____9088,uu____9089,tys) -> + let uu____9111 = + let uu____9113 = FStar_All.pipe_right tys (FStar_List.map - (fun uu____9127 -> - match uu____9127 with | (x, uu____9136) -> id_of_tycon x)) in - FStar_All.pipe_right uu____9102 (FStar_String.concat ", ") in - Prims.op_Hat "type " uu____9100 - | Val (i, uu____9148) -> Prims.op_Hat "val " i.FStar_Ident.idText - | Exception (i, uu____9151) -> + (fun uu____9138 -> + match uu____9138 with | (x,uu____9147) -> id_of_tycon x)) + in + FStar_All.pipe_right uu____9113 (FStar_String.concat ", ") in + Prims.op_Hat "type " uu____9111 + | Val (i,uu____9159) -> Prims.op_Hat "val " i.FStar_Ident.idText + | Exception (i,uu____9162) -> Prims.op_Hat "exception " i.FStar_Ident.idText - | NewEffect (DefineEffect (i, uu____9158, uu____9159, uu____9160)) -> + | NewEffect (DefineEffect (i,uu____9169,uu____9170,uu____9171)) -> Prims.op_Hat "new_effect " i.FStar_Ident.idText - | NewEffect (RedefineEffect (i, uu____9171, uu____9172)) -> + | NewEffect (RedefineEffect (i,uu____9182,uu____9183)) -> Prims.op_Hat "new_effect " i.FStar_Ident.idText - | Splice (ids, t) -> - let uu____9184 = - let uu____9186 = - let uu____9188 = - FStar_List.map (fun i -> i.FStar_Ident.idText) ids in - FStar_All.pipe_left (FStar_String.concat ";") uu____9188 in - let uu____9200 = - let uu____9202 = - let uu____9204 = term_to_string t in - Prims.op_Hat uu____9204 ")" in - Prims.op_Hat "] (" uu____9202 in - Prims.op_Hat uu____9186 uu____9200 in - Prims.op_Hat "splice[" uu____9184 - | SubEffect uu____9209 -> "sub_effect" - | Pragma uu____9211 -> "pragma" - | Fsdoc uu____9213 -> "fsdoc" + | Splice (ids,t) -> + let uu____9195 = + let uu____9197 = + let uu____9199 = + FStar_List.map (fun i -> i.FStar_Ident.idText) ids in + FStar_All.pipe_left (FStar_String.concat ";") uu____9199 in + let uu____9211 = + let uu____9213 = + let uu____9215 = term_to_string t in + Prims.op_Hat uu____9215 ")" in + Prims.op_Hat "] (" uu____9213 in + Prims.op_Hat uu____9197 uu____9211 in + Prims.op_Hat "splice[" uu____9195 + | SubEffect uu____9220 -> "sub_effect" + | Pragma uu____9222 -> "pragma" + | Fsdoc uu____9224 -> "fsdoc" + let (modul_to_string : modul -> Prims.string) = - fun m -> + fun m -> match m with - | Module (uu____9223, decls) -> - let uu____9229 = - FStar_All.pipe_right decls (FStar_List.map decl_to_string) in - FStar_All.pipe_right uu____9229 (FStar_String.concat "\n") - | Interface (uu____9244, decls, uu____9246) -> - let uu____9253 = - FStar_All.pipe_right decls (FStar_List.map decl_to_string) in - FStar_All.pipe_right uu____9253 (FStar_String.concat "\n") + | Module (uu____9234,decls) -> + let uu____9240 = + FStar_All.pipe_right decls (FStar_List.map decl_to_string) in + FStar_All.pipe_right uu____9240 (FStar_String.concat "\n") + | Interface (uu____9255,decls,uu____9257) -> + let uu____9264 = + FStar_All.pipe_right decls (FStar_List.map decl_to_string) in + FStar_All.pipe_right uu____9264 (FStar_String.concat "\n") + let (decl_is_val : FStar_Ident.ident -> decl -> Prims.bool) = - fun id1 -> - fun decl -> + fun id1 -> + fun decl -> match decl.d with - | Val (id', uu____9282) -> FStar_Ident.ident_equals id1 id' - | uu____9283 -> false + | Val (id',uu____9293) -> FStar_Ident.ident_equals id1 id' + | uu____9294 -> false + let (thunk : term -> term) = - fun ens -> - let wildpat = mk_pattern (PatWild FStar_Pervasives_Native.None) ens.range in + fun ens -> + let wildpat = mk_pattern (PatWild FStar_Pervasives_Native.None) ens.range + in mk_term (Abs ([wildpat], ens)) ens.range Expr + let (idents_of_binders : binder Prims.list -> FStar_Range.range -> FStar_Ident.ident Prims.list) = - fun bs -> - fun r -> + fun bs -> + fun r -> FStar_All.pipe_right bs (FStar_List.map - (fun b -> + (fun b -> match b.b with | Variable i -> i | TVariable i -> i - | Annotated (i, uu____9321) -> i - | TAnnotated (i, uu____9323) -> i - | NoName uu____9324 -> + | Annotated (i,uu____9332) -> i + | TAnnotated (i,uu____9334) -> i + | NoName uu____9335 -> FStar_Errors.raise_error (FStar_Errors.Fatal_MissingQuantifierBinder, - "Wildcard binders in quantifiers are not allowed") r)) \ No newline at end of file + "Wildcard binders in quantifiers are not allowed") r)) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Parser_Const.ml b/src/ocaml-output/FStar_Parser_Const.ml index 3b9c936399d..c54d85bf0ef 100644 --- a/src/ocaml-output/FStar_Parser_Const.ml +++ b/src/ocaml-output/FStar_Parser_Const.ml @@ -1,403 +1,427 @@ open Prims let (p2l : FStar_Ident.path -> FStar_Ident.lident) = - fun l -> FStar_Ident.lid_of_path l FStar_Range.dummyRange -let (pconst : Prims.string -> FStar_Ident.lident) = fun s -> p2l ["Prims"; s] + fun l -> FStar_Ident.lid_of_path l FStar_Range.dummyRange +let (pconst : Prims.string -> FStar_Ident.lident) = + fun s -> p2l ["Prims"; s] let (psconst : Prims.string -> FStar_Ident.lident) = - fun s -> p2l ["FStar"; "Pervasives"; s] + fun s -> p2l ["FStar"; "Pervasives"; s] let (psnconst : Prims.string -> FStar_Ident.lident) = - fun s -> p2l ["FStar"; "Pervasives"; "Native"; s] -let (prims_lid : FStar_Ident.lident) = p2l ["Prims"] + fun s -> p2l ["FStar"; "Pervasives"; "Native"; s] +let (prims_lid : FStar_Ident.lident) = p2l ["Prims"] let (pervasives_native_lid : FStar_Ident.lident) = - p2l ["FStar"; "Pervasives"; "Native"] -let (pervasives_lid : FStar_Ident.lident) = p2l ["FStar"; "Pervasives"] -let (fstar_ns_lid : FStar_Ident.lident) = p2l ["FStar"] -let (bool_lid : FStar_Ident.lident) = pconst "bool" -let (unit_lid : FStar_Ident.lident) = pconst "unit" -let (squash_lid : FStar_Ident.lident) = pconst "squash" -let (auto_squash_lid : FStar_Ident.lident) = pconst "auto_squash" -let (string_lid : FStar_Ident.lident) = pconst "string" -let (bytes_lid : FStar_Ident.lident) = pconst "bytes" -let (int_lid : FStar_Ident.lident) = pconst "int" -let (exn_lid : FStar_Ident.lident) = pconst "exn" -let (list_lid : FStar_Ident.lident) = pconst "list" -let (eqtype_lid : FStar_Ident.lident) = pconst "eqtype" -let (option_lid : FStar_Ident.lident) = psnconst "option" -let (either_lid : FStar_Ident.lident) = psconst "either" -let (pattern_lid : FStar_Ident.lident) = pconst "pattern" -let (precedes_lid : FStar_Ident.lident) = pconst "precedes" -let (lex_t_lid : FStar_Ident.lident) = pconst "lex_t" -let (lexcons_lid : FStar_Ident.lident) = pconst "LexCons" -let (lextop_lid : FStar_Ident.lident) = pconst "LexTop" -let (smtpat_lid : FStar_Ident.lident) = pconst "smt_pat" -let (smtpatOr_lid : FStar_Ident.lident) = pconst "smt_pat_or" -let (monadic_lid : FStar_Ident.lident) = pconst "M" -let (spinoff_lid : FStar_Ident.lident) = pconst "spinoff" -let (inl_lid : FStar_Ident.lident) = psconst "Inl" -let (inr_lid : FStar_Ident.lident) = psconst "Inr" -let (int8_lid : FStar_Ident.lident) = p2l ["FStar"; "Int8"; "t"] -let (uint8_lid : FStar_Ident.lident) = p2l ["FStar"; "UInt8"; "t"] -let (int16_lid : FStar_Ident.lident) = p2l ["FStar"; "Int16"; "t"] -let (uint16_lid : FStar_Ident.lident) = p2l ["FStar"; "UInt16"; "t"] -let (int32_lid : FStar_Ident.lident) = p2l ["FStar"; "Int32"; "t"] -let (uint32_lid : FStar_Ident.lident) = p2l ["FStar"; "UInt32"; "t"] -let (int64_lid : FStar_Ident.lident) = p2l ["FStar"; "Int64"; "t"] -let (uint64_lid : FStar_Ident.lident) = p2l ["FStar"; "UInt64"; "t"] -let (salloc_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"; "salloc"] + p2l ["FStar"; "Pervasives"; "Native"] +let (pervasives_lid : FStar_Ident.lident) = p2l ["FStar"; "Pervasives"] +let (fstar_ns_lid : FStar_Ident.lident) = p2l ["FStar"] +let (bool_lid : FStar_Ident.lident) = pconst "bool" +let (unit_lid : FStar_Ident.lident) = pconst "unit" +let (squash_lid : FStar_Ident.lident) = pconst "squash" +let (auto_squash_lid : FStar_Ident.lident) = pconst "auto_squash" +let (string_lid : FStar_Ident.lident) = pconst "string" +let (bytes_lid : FStar_Ident.lident) = pconst "bytes" +let (int_lid : FStar_Ident.lident) = pconst "int" +let (exn_lid : FStar_Ident.lident) = pconst "exn" +let (list_lid : FStar_Ident.lident) = pconst "list" +let (eqtype_lid : FStar_Ident.lident) = pconst "eqtype" +let (option_lid : FStar_Ident.lident) = psnconst "option" +let (either_lid : FStar_Ident.lident) = psconst "either" +let (pattern_lid : FStar_Ident.lident) = pconst "pattern" +let (precedes_lid : FStar_Ident.lident) = pconst "precedes" +let (lex_t_lid : FStar_Ident.lident) = pconst "lex_t" +let (lexcons_lid : FStar_Ident.lident) = pconst "LexCons" +let (lextop_lid : FStar_Ident.lident) = pconst "LexTop" +let (smtpat_lid : FStar_Ident.lident) = pconst "smt_pat" +let (smtpatOr_lid : FStar_Ident.lident) = pconst "smt_pat_or" +let (monadic_lid : FStar_Ident.lident) = pconst "M" +let (spinoff_lid : FStar_Ident.lident) = pconst "spinoff" +let (inl_lid : FStar_Ident.lident) = psconst "Inl" +let (inr_lid : FStar_Ident.lident) = psconst "Inr" +let (int8_lid : FStar_Ident.lident) = p2l ["FStar"; "Int8"; "t"] +let (uint8_lid : FStar_Ident.lident) = p2l ["FStar"; "UInt8"; "t"] +let (int16_lid : FStar_Ident.lident) = p2l ["FStar"; "Int16"; "t"] +let (uint16_lid : FStar_Ident.lident) = p2l ["FStar"; "UInt16"; "t"] +let (int32_lid : FStar_Ident.lident) = p2l ["FStar"; "Int32"; "t"] +let (uint32_lid : FStar_Ident.lident) = p2l ["FStar"; "UInt32"; "t"] +let (int64_lid : FStar_Ident.lident) = p2l ["FStar"; "Int64"; "t"] +let (uint64_lid : FStar_Ident.lident) = p2l ["FStar"; "UInt64"; "t"] +let (salloc_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"; "salloc"] let (swrite_lid : FStar_Ident.lident) = - p2l ["FStar"; "ST"; "op_Colon_Equals"] -let (sread_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"; "op_Bang"] -let (max_lid : FStar_Ident.lident) = p2l ["max"] -let (real_lid : FStar_Ident.lident) = p2l ["FStar"; "Real"; "real"] -let (float_lid : FStar_Ident.lident) = p2l ["FStar"; "Float"; "float"] -let (char_lid : FStar_Ident.lident) = p2l ["FStar"; "Char"; "char"] -let (heap_lid : FStar_Ident.lident) = p2l ["FStar"; "Heap"; "heap"] -let (logical_lid : FStar_Ident.lident) = pconst "logical" + p2l ["FStar"; "ST"; "op_Colon_Equals"] +let (sread_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"; "op_Bang"] +let (max_lid : FStar_Ident.lident) = p2l ["max"] +let (real_lid : FStar_Ident.lident) = p2l ["FStar"; "Real"; "real"] +let (float_lid : FStar_Ident.lident) = p2l ["FStar"; "Float"; "float"] +let (char_lid : FStar_Ident.lident) = p2l ["FStar"; "Char"; "char"] +let (heap_lid : FStar_Ident.lident) = p2l ["FStar"; "Heap"; "heap"] +let (logical_lid : FStar_Ident.lident) = pconst "logical" let (smt_theory_symbol_attr_lid : FStar_Ident.lident) = - pconst "smt_theory_symbol" -let (true_lid : FStar_Ident.lident) = pconst "l_True" -let (false_lid : FStar_Ident.lident) = pconst "l_False" -let (and_lid : FStar_Ident.lident) = pconst "l_and" -let (or_lid : FStar_Ident.lident) = pconst "l_or" -let (not_lid : FStar_Ident.lident) = pconst "l_not" -let (imp_lid : FStar_Ident.lident) = pconst "l_imp" -let (iff_lid : FStar_Ident.lident) = pconst "l_iff" -let (ite_lid : FStar_Ident.lident) = pconst "l_ITE" -let (exists_lid : FStar_Ident.lident) = pconst "l_Exists" -let (forall_lid : FStar_Ident.lident) = pconst "l_Forall" -let (haseq_lid : FStar_Ident.lident) = pconst "hasEq" -let (b2t_lid : FStar_Ident.lident) = pconst "b2t" -let (admit_lid : FStar_Ident.lident) = pconst "admit" -let (magic_lid : FStar_Ident.lident) = pconst "magic" -let (has_type_lid : FStar_Ident.lident) = pconst "has_type" -let (c_true_lid : FStar_Ident.lident) = pconst "c_True" -let (c_false_lid : FStar_Ident.lident) = pconst "c_False" -let (c_and_lid : FStar_Ident.lident) = pconst "c_and" -let (c_or_lid : FStar_Ident.lident) = pconst "c_or" -let (dtuple2_lid : FStar_Ident.lident) = pconst "dtuple2" -let (eq2_lid : FStar_Ident.lident) = pconst "eq2" -let (eq3_lid : FStar_Ident.lident) = pconst "eq3" -let (c_eq2_lid : FStar_Ident.lident) = pconst "equals" -let (c_eq3_lid : FStar_Ident.lident) = pconst "h_equals" -let (cons_lid : FStar_Ident.lident) = pconst "Cons" -let (nil_lid : FStar_Ident.lident) = pconst "Nil" -let (some_lid : FStar_Ident.lident) = psnconst "Some" -let (none_lid : FStar_Ident.lident) = psnconst "None" -let (assume_lid : FStar_Ident.lident) = pconst "_assume" -let (assert_lid : FStar_Ident.lident) = pconst "_assert" + pconst "smt_theory_symbol" +let (true_lid : FStar_Ident.lident) = pconst "l_True" +let (false_lid : FStar_Ident.lident) = pconst "l_False" +let (and_lid : FStar_Ident.lident) = pconst "l_and" +let (or_lid : FStar_Ident.lident) = pconst "l_or" +let (not_lid : FStar_Ident.lident) = pconst "l_not" +let (imp_lid : FStar_Ident.lident) = pconst "l_imp" +let (iff_lid : FStar_Ident.lident) = pconst "l_iff" +let (ite_lid : FStar_Ident.lident) = pconst "l_ITE" +let (exists_lid : FStar_Ident.lident) = pconst "l_Exists" +let (forall_lid : FStar_Ident.lident) = pconst "l_Forall" +let (haseq_lid : FStar_Ident.lident) = pconst "hasEq" +let (b2t_lid : FStar_Ident.lident) = pconst "b2t" +let (admit_lid : FStar_Ident.lident) = pconst "admit" +let (magic_lid : FStar_Ident.lident) = pconst "magic" +let (has_type_lid : FStar_Ident.lident) = pconst "has_type" +let (c_true_lid : FStar_Ident.lident) = pconst "c_True" +let (c_false_lid : FStar_Ident.lident) = pconst "c_False" +let (c_and_lid : FStar_Ident.lident) = pconst "c_and" +let (c_or_lid : FStar_Ident.lident) = pconst "c_or" +let (dtuple2_lid : FStar_Ident.lident) = pconst "dtuple2" +let (eq2_lid : FStar_Ident.lident) = pconst "eq2" +let (eq3_lid : FStar_Ident.lident) = pconst "eq3" +let (c_eq2_lid : FStar_Ident.lident) = pconst "equals" +let (c_eq3_lid : FStar_Ident.lident) = pconst "h_equals" +let (cons_lid : FStar_Ident.lident) = pconst "Cons" +let (nil_lid : FStar_Ident.lident) = pconst "Nil" +let (some_lid : FStar_Ident.lident) = psnconst "Some" +let (none_lid : FStar_Ident.lident) = psnconst "None" +let (assume_lid : FStar_Ident.lident) = pconst "_assume" +let (assert_lid : FStar_Ident.lident) = pconst "_assert" let (assert_norm_lid : FStar_Ident.lident) = - p2l ["FStar"; "Pervasives"; "assert_norm"] -let (list_append_lid : FStar_Ident.lident) = p2l ["FStar"; "List"; "append"] + p2l ["FStar"; "Pervasives"; "assert_norm"] +let (list_append_lid : FStar_Ident.lident) = p2l ["FStar"; "List"; "append"] let (list_tot_append_lid : FStar_Ident.lident) = - p2l ["FStar"; "List"; "Tot"; "Base"; "append"] + p2l ["FStar"; "List"; "Tot"; "Base"; "append"] let (s2l : Prims.string -> FStar_Ident.lident) = - fun n1 -> p2l ["FStar"; "String"; n1] -let (string_list_of_string_lid : FStar_Ident.lident) = s2l "list_of_string" -let (string_string_of_list_lid : FStar_Ident.lident) = s2l "string_of_list" -let (string_make_lid : FStar_Ident.lident) = s2l "make" -let (string_split_lid : FStar_Ident.lident) = s2l "split" -let (string_concat_lid : FStar_Ident.lident) = s2l "concat" -let (string_compare_lid : FStar_Ident.lident) = s2l "compare" -let (string_lowercase_lid : FStar_Ident.lident) = s2l "lowercase" -let (string_uppercase_lid : FStar_Ident.lident) = s2l "uppercase" -let (string_index_lid : FStar_Ident.lident) = s2l "index" -let (string_index_of_lid : FStar_Ident.lident) = s2l "index_of" -let (string_sub_lid : FStar_Ident.lident) = s2l "sub" -let (prims_strcat_lid : FStar_Ident.lident) = pconst "strcat" -let (prims_op_Hat_lid : FStar_Ident.lident) = pconst "op_Hat" -let (let_in_typ : FStar_Ident.lident) = p2l ["Prims"; "Let"] -let (string_of_int_lid : FStar_Ident.lident) = p2l ["Prims"; "string_of_int"] + fun n1 -> p2l ["FStar"; "String"; n1] +let (string_list_of_string_lid : FStar_Ident.lident) = s2l "list_of_string" +let (string_string_of_list_lid : FStar_Ident.lident) = s2l "string_of_list" +let (string_make_lid : FStar_Ident.lident) = s2l "make" +let (string_split_lid : FStar_Ident.lident) = s2l "split" +let (string_concat_lid : FStar_Ident.lident) = s2l "concat" +let (string_compare_lid : FStar_Ident.lident) = s2l "compare" +let (string_lowercase_lid : FStar_Ident.lident) = s2l "lowercase" +let (string_uppercase_lid : FStar_Ident.lident) = s2l "uppercase" +let (string_index_lid : FStar_Ident.lident) = s2l "index" +let (string_index_of_lid : FStar_Ident.lident) = s2l "index_of" +let (string_sub_lid : FStar_Ident.lident) = s2l "sub" +let (prims_strcat_lid : FStar_Ident.lident) = pconst "strcat" +let (prims_op_Hat_lid : FStar_Ident.lident) = pconst "op_Hat" +let (let_in_typ : FStar_Ident.lident) = p2l ["Prims"; "Let"] +let (string_of_int_lid : FStar_Ident.lident) = p2l ["Prims"; "string_of_int"] let (string_of_bool_lid : FStar_Ident.lident) = - p2l ["Prims"; "string_of_bool"] + p2l ["Prims"; "string_of_bool"] let (string_compare : FStar_Ident.lident) = - p2l ["FStar"; "String"; "compare"] -let (order_lid : FStar_Ident.lident) = p2l ["FStar"; "Order"; "order"] -let (op_Eq : FStar_Ident.lident) = pconst "op_Equality" -let (op_notEq : FStar_Ident.lident) = pconst "op_disEquality" -let (op_LT : FStar_Ident.lident) = pconst "op_LessThan" -let (op_LTE : FStar_Ident.lident) = pconst "op_LessThanOrEqual" -let (op_GT : FStar_Ident.lident) = pconst "op_GreaterThan" -let (op_GTE : FStar_Ident.lident) = pconst "op_GreaterThanOrEqual" -let (op_Subtraction : FStar_Ident.lident) = pconst "op_Subtraction" -let (op_Minus : FStar_Ident.lident) = pconst "op_Minus" -let (op_Addition : FStar_Ident.lident) = pconst "op_Addition" -let (op_Multiply : FStar_Ident.lident) = pconst "op_Multiply" -let (op_Division : FStar_Ident.lident) = pconst "op_Division" -let (op_Modulus : FStar_Ident.lident) = pconst "op_Modulus" -let (op_And : FStar_Ident.lident) = pconst "op_AmpAmp" -let (op_Or : FStar_Ident.lident) = pconst "op_BarBar" -let (op_Negation : FStar_Ident.lident) = pconst "op_Negation" + p2l ["FStar"; "String"; "compare"] +let (order_lid : FStar_Ident.lident) = p2l ["FStar"; "Order"; "order"] +let (op_Eq : FStar_Ident.lident) = pconst "op_Equality" +let (op_notEq : FStar_Ident.lident) = pconst "op_disEquality" +let (op_LT : FStar_Ident.lident) = pconst "op_LessThan" +let (op_LTE : FStar_Ident.lident) = pconst "op_LessThanOrEqual" +let (op_GT : FStar_Ident.lident) = pconst "op_GreaterThan" +let (op_GTE : FStar_Ident.lident) = pconst "op_GreaterThanOrEqual" +let (op_Subtraction : FStar_Ident.lident) = pconst "op_Subtraction" +let (op_Minus : FStar_Ident.lident) = pconst "op_Minus" +let (op_Addition : FStar_Ident.lident) = pconst "op_Addition" +let (op_Multiply : FStar_Ident.lident) = pconst "op_Multiply" +let (op_Division : FStar_Ident.lident) = pconst "op_Division" +let (op_Modulus : FStar_Ident.lident) = pconst "op_Modulus" +let (op_And : FStar_Ident.lident) = pconst "op_AmpAmp" +let (op_Or : FStar_Ident.lident) = pconst "op_BarBar" +let (op_Negation : FStar_Ident.lident) = pconst "op_Negation" let (real_const : Prims.string -> FStar_Ident.lident) = - fun s -> p2l ["FStar"; "Real"; s] -let (real_op_LT : FStar_Ident.lident) = real_const "op_Less_Dot" -let (real_op_LTE : FStar_Ident.lident) = real_const "op_Less_Equals_Dot" -let (real_op_GT : FStar_Ident.lident) = real_const "op_Greater_Dot" -let (real_op_GTE : FStar_Ident.lident) = real_const "op_Greater_Equals_Dot" + fun s -> p2l ["FStar"; "Real"; s] +let (real_op_LT : FStar_Ident.lident) = real_const "op_Less_Dot" +let (real_op_LTE : FStar_Ident.lident) = real_const "op_Less_Equals_Dot" +let (real_op_GT : FStar_Ident.lident) = real_const "op_Greater_Dot" +let (real_op_GTE : FStar_Ident.lident) = real_const "op_Greater_Equals_Dot" let (real_op_Subtraction : FStar_Ident.lident) = - real_const "op_Subtraction_Dot" -let (real_op_Addition : FStar_Ident.lident) = real_const "op_Plus_Dot" -let (real_op_Multiply : FStar_Ident.lident) = real_const "op_Star_Dot" -let (real_op_Division : FStar_Ident.lident) = real_const "op_Slash_Dot" -let (real_of_int : FStar_Ident.lident) = real_const "of_int" + real_const "op_Subtraction_Dot" +let (real_op_Addition : FStar_Ident.lident) = real_const "op_Plus_Dot" +let (real_op_Multiply : FStar_Ident.lident) = real_const "op_Star_Dot" +let (real_op_Division : FStar_Ident.lident) = real_const "op_Slash_Dot" +let (real_of_int : FStar_Ident.lident) = real_const "of_int" let (bvconst : Prims.string -> FStar_Ident.lident) = - fun s -> p2l ["FStar"; "BV"; s] -let (bv_t_lid : FStar_Ident.lident) = bvconst "bv_t" -let (nat_to_bv_lid : FStar_Ident.lident) = bvconst "int2bv" -let (bv_to_nat_lid : FStar_Ident.lident) = bvconst "bv2int" -let (bv_and_lid : FStar_Ident.lident) = bvconst "bvand" -let (bv_xor_lid : FStar_Ident.lident) = bvconst "bvxor" -let (bv_or_lid : FStar_Ident.lident) = bvconst "bvor" -let (bv_add_lid : FStar_Ident.lident) = bvconst "bvadd" -let (bv_sub_lid : FStar_Ident.lident) = bvconst "bvsub" -let (bv_shift_left_lid : FStar_Ident.lident) = bvconst "bvshl" -let (bv_shift_right_lid : FStar_Ident.lident) = bvconst "bvshr" -let (bv_udiv_lid : FStar_Ident.lident) = bvconst "bvdiv" -let (bv_mod_lid : FStar_Ident.lident) = bvconst "bvmod" -let (bv_mul_lid : FStar_Ident.lident) = bvconst "bvmul" -let (bv_ult_lid : FStar_Ident.lident) = bvconst "bvult" -let (bv_uext_lid : FStar_Ident.lident) = bvconst "bv_uext" -let (array_lid : FStar_Ident.lident) = p2l ["FStar"; "Array"; "array"] + fun s -> p2l ["FStar"; "BV"; s] +let (bv_t_lid : FStar_Ident.lident) = bvconst "bv_t" +let (nat_to_bv_lid : FStar_Ident.lident) = bvconst "int2bv" +let (bv_to_nat_lid : FStar_Ident.lident) = bvconst "bv2int" +let (bv_and_lid : FStar_Ident.lident) = bvconst "bvand" +let (bv_xor_lid : FStar_Ident.lident) = bvconst "bvxor" +let (bv_or_lid : FStar_Ident.lident) = bvconst "bvor" +let (bv_add_lid : FStar_Ident.lident) = bvconst "bvadd" +let (bv_sub_lid : FStar_Ident.lident) = bvconst "bvsub" +let (bv_shift_left_lid : FStar_Ident.lident) = bvconst "bvshl" +let (bv_shift_right_lid : FStar_Ident.lident) = bvconst "bvshr" +let (bv_udiv_lid : FStar_Ident.lident) = bvconst "bvdiv" +let (bv_mod_lid : FStar_Ident.lident) = bvconst "bvmod" +let (bv_mul_lid : FStar_Ident.lident) = bvconst "bvmul" +let (bv_ult_lid : FStar_Ident.lident) = bvconst "bvult" +let (bv_uext_lid : FStar_Ident.lident) = bvconst "bv_uext" +let (array_lid : FStar_Ident.lident) = p2l ["FStar"; "Array"; "array"] let (array_mk_array_lid : FStar_Ident.lident) = - p2l ["FStar"; "Array"; "mk_array"] -let (st_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"] -let (write_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"; "write"] -let (read_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"; "read"] -let (alloc_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"; "alloc"] + p2l ["FStar"; "Array"; "mk_array"] +let (st_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"] +let (write_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"; "write"] +let (read_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"; "read"] +let (alloc_lid : FStar_Ident.lident) = p2l ["FStar"; "ST"; "alloc"] let (op_ColonEq : FStar_Ident.lident) = - p2l ["FStar"; "ST"; "op_Colon_Equals"] -let (ref_lid : FStar_Ident.lident) = p2l ["FStar"; "Heap"; "ref"] + p2l ["FStar"; "ST"; "op_Colon_Equals"] +let (ref_lid : FStar_Ident.lident) = p2l ["FStar"; "Heap"; "ref"] let (heap_addr_of_lid : FStar_Ident.lident) = - p2l ["FStar"; "Heap"; "addr_of"] -let (set_empty : FStar_Ident.lident) = p2l ["FStar"; "Set"; "empty"] -let (set_singleton : FStar_Ident.lident) = p2l ["FStar"; "Set"; "singleton"] -let (set_union : FStar_Ident.lident) = p2l ["FStar"; "Set"; "union"] -let (fstar_hyperheap_lid : FStar_Ident.lident) = p2l ["FStar"; "HyperHeap"] -let (rref_lid : FStar_Ident.lident) = p2l ["FStar"; "HyperHeap"; "rref"] -let (erased_lid : FStar_Ident.lident) = p2l ["FStar"; "Ghost"; "erased"] -let (effect_PURE_lid : FStar_Ident.lident) = pconst "PURE" -let (effect_Pure_lid : FStar_Ident.lident) = pconst "Pure" -let (effect_Tot_lid : FStar_Ident.lident) = pconst "Tot" -let (effect_Lemma_lid : FStar_Ident.lident) = pconst "Lemma" -let (effect_GTot_lid : FStar_Ident.lident) = pconst "GTot" -let (effect_GHOST_lid : FStar_Ident.lident) = pconst "GHOST" -let (effect_Ghost_lid : FStar_Ident.lident) = pconst "Ghost" -let (effect_DIV_lid : FStar_Ident.lident) = psconst "DIV" -let (effect_Div_lid : FStar_Ident.lident) = psconst "Div" -let (effect_Dv_lid : FStar_Ident.lident) = psconst "Dv" -let (all_lid : FStar_Ident.lident) = p2l ["FStar"; "All"] -let (effect_ALL_lid : FStar_Ident.lident) = p2l ["FStar"; "All"; "ALL"] -let (effect_ML_lid : FStar_Ident.lident) = p2l ["FStar"; "All"; "ML"] -let (failwith_lid : FStar_Ident.lident) = p2l ["FStar"; "All"; "failwith"] + p2l ["FStar"; "Heap"; "addr_of"] +let (set_empty : FStar_Ident.lident) = p2l ["FStar"; "Set"; "empty"] +let (set_singleton : FStar_Ident.lident) = p2l ["FStar"; "Set"; "singleton"] +let (set_union : FStar_Ident.lident) = p2l ["FStar"; "Set"; "union"] +let (fstar_hyperheap_lid : FStar_Ident.lident) = p2l ["FStar"; "HyperHeap"] +let (rref_lid : FStar_Ident.lident) = p2l ["FStar"; "HyperHeap"; "rref"] +let (erased_lid : FStar_Ident.lident) = p2l ["FStar"; "Ghost"; "erased"] +let (effect_PURE_lid : FStar_Ident.lident) = pconst "PURE" +let (effect_Pure_lid : FStar_Ident.lident) = pconst "Pure" +let (effect_Tot_lid : FStar_Ident.lident) = pconst "Tot" +let (effect_Lemma_lid : FStar_Ident.lident) = pconst "Lemma" +let (effect_GTot_lid : FStar_Ident.lident) = pconst "GTot" +let (effect_GHOST_lid : FStar_Ident.lident) = pconst "GHOST" +let (effect_Ghost_lid : FStar_Ident.lident) = pconst "Ghost" +let (effect_DIV_lid : FStar_Ident.lident) = psconst "DIV" +let (effect_Div_lid : FStar_Ident.lident) = psconst "Div" +let (effect_Dv_lid : FStar_Ident.lident) = psconst "Dv" +let (all_lid : FStar_Ident.lident) = p2l ["FStar"; "All"] +let (effect_ALL_lid : FStar_Ident.lident) = p2l ["FStar"; "All"; "ALL"] +let (effect_ML_lid : FStar_Ident.lident) = p2l ["FStar"; "All"; "ML"] +let (failwith_lid : FStar_Ident.lident) = p2l ["FStar"; "All"; "failwith"] let (pipe_right_lid : FStar_Ident.lident) = - p2l ["FStar"; "All"; "pipe_right"] -let (pipe_left_lid : FStar_Ident.lident) = p2l ["FStar"; "All"; "pipe_left"] -let (try_with_lid : FStar_Ident.lident) = p2l ["FStar"; "All"; "try_with"] -let (as_requires : FStar_Ident.lident) = pconst "as_requires" -let (as_ensures : FStar_Ident.lident) = pconst "as_ensures" -let (decreases_lid : FStar_Ident.lident) = pconst "decreases" + p2l ["FStar"; "All"; "pipe_right"] +let (pipe_left_lid : FStar_Ident.lident) = p2l ["FStar"; "All"; "pipe_left"] +let (try_with_lid : FStar_Ident.lident) = p2l ["FStar"; "All"; "try_with"] +let (as_requires : FStar_Ident.lident) = pconst "as_requires" +let (as_ensures : FStar_Ident.lident) = pconst "as_ensures" +let (decreases_lid : FStar_Ident.lident) = pconst "decreases" let (term_lid : FStar_Ident.lident) = - p2l ["FStar"; "Reflection"; "Types"; "term"] + p2l ["FStar"; "Reflection"; "Types"; "term"] let (decls_lid : FStar_Ident.lident) = - p2l ["FStar"; "Reflection"; "Data"; "decls"] + p2l ["FStar"; "Reflection"; "Data"; "decls"] let (ctx_uvar_and_subst_lid : FStar_Ident.lident) = - p2l ["FStar"; "Reflection"; "Types"; "ctx_uvar_and_subst"] -let (range_lid : FStar_Ident.lident) = pconst "range" -let (range_of_lid : FStar_Ident.lident) = pconst "range_of" -let (labeled_lid : FStar_Ident.lident) = pconst "labeled" -let (range_0 : FStar_Ident.lident) = pconst "range_0" -let (guard_free : FStar_Ident.lident) = pconst "guard_free" + p2l ["FStar"; "Reflection"; "Types"; "ctx_uvar_and_subst"] +let (range_lid : FStar_Ident.lident) = pconst "range" +let (range_of_lid : FStar_Ident.lident) = pconst "range_of" +let (labeled_lid : FStar_Ident.lident) = pconst "labeled" +let (range_0 : FStar_Ident.lident) = pconst "range_0" +let (guard_free : FStar_Ident.lident) = pconst "guard_free" let (inversion_lid : FStar_Ident.lident) = - p2l ["FStar"; "Pervasives"; "inversion"] -let (with_type_lid : FStar_Ident.lident) = psconst "with_type" -let (normalize : FStar_Ident.lident) = psconst "normalize" -let (normalize_term : FStar_Ident.lident) = psconst "normalize_term" -let (norm : FStar_Ident.lident) = psconst "norm" -let (steps_simpl : FStar_Ident.lident) = psconst "simplify" -let (steps_weak : FStar_Ident.lident) = psconst "weak" -let (steps_hnf : FStar_Ident.lident) = psconst "hnf" -let (steps_primops : FStar_Ident.lident) = psconst "primops" -let (steps_zeta : FStar_Ident.lident) = psconst "zeta" -let (steps_iota : FStar_Ident.lident) = psconst "iota" -let (steps_delta : FStar_Ident.lident) = psconst "delta" -let (steps_reify : FStar_Ident.lident) = psconst "reify_" -let (steps_unfoldonly : FStar_Ident.lident) = psconst "delta_only" -let (steps_unfoldfully : FStar_Ident.lident) = psconst "delta_fully" -let (steps_unfoldattr : FStar_Ident.lident) = psconst "delta_attr" -let (steps_nbe : FStar_Ident.lident) = psconst "nbe" -let (deprecated_attr : FStar_Ident.lident) = pconst "deprecated" + p2l ["FStar"; "Pervasives"; "inversion"] +let (with_type_lid : FStar_Ident.lident) = psconst "with_type" +let (normalize : FStar_Ident.lident) = psconst "normalize" +let (normalize_term : FStar_Ident.lident) = psconst "normalize_term" +let (norm : FStar_Ident.lident) = psconst "norm" +let (steps_simpl : FStar_Ident.lident) = psconst "simplify" +let (steps_weak : FStar_Ident.lident) = psconst "weak" +let (steps_hnf : FStar_Ident.lident) = psconst "hnf" +let (steps_primops : FStar_Ident.lident) = psconst "primops" +let (steps_zeta : FStar_Ident.lident) = psconst "zeta" +let (steps_iota : FStar_Ident.lident) = psconst "iota" +let (steps_delta : FStar_Ident.lident) = psconst "delta" +let (steps_reify : FStar_Ident.lident) = psconst "reify_" +let (steps_unfoldonly : FStar_Ident.lident) = psconst "delta_only" +let (steps_unfoldfully : FStar_Ident.lident) = psconst "delta_fully" +let (steps_unfoldattr : FStar_Ident.lident) = psconst "delta_attr" +let (steps_nbe : FStar_Ident.lident) = psconst "nbe" +let (deprecated_attr : FStar_Ident.lident) = pconst "deprecated" let (inline_let_attr : FStar_Ident.lident) = - p2l ["FStar"; "Pervasives"; "inline_let"] + p2l ["FStar"; "Pervasives"; "inline_let"] let (plugin_attr : FStar_Ident.lident) = - p2l ["FStar"; "Pervasives"; "plugin"] + p2l ["FStar"; "Pervasives"; "plugin"] let (tcnorm_attr : FStar_Ident.lident) = - p2l ["FStar"; "Pervasives"; "tcnorm"] + p2l ["FStar"; "Pervasives"; "tcnorm"] let (dm4f_bind_range_attr : FStar_Ident.lident) = - p2l ["FStar"; "Pervasives"; "dm4f_bind_range"] + p2l ["FStar"; "Pervasives"; "dm4f_bind_range"] let (must_erase_for_extraction_attr : FStar_Ident.lident) = - psconst "must_erase_for_extraction" -let (fail_attr : FStar_Ident.lident) = psconst "expect_failure" -let (fail_lax_attr : FStar_Ident.lident) = psconst "expect_lax_failure" -let (tcdecltime_attr : FStar_Ident.lident) = psconst "tcdecltime" + psconst "must_erase_for_extraction" +let (fail_attr : FStar_Ident.lident) = psconst "expect_failure" +let (fail_lax_attr : FStar_Ident.lident) = psconst "expect_lax_failure" +let (tcdecltime_attr : FStar_Ident.lident) = psconst "tcdecltime" let (assume_strictly_positive_attr_lid : FStar_Ident.lident) = - psconst "assume_strictly_positive" + psconst "assume_strictly_positive" let (unifier_hint_injective_lid : FStar_Ident.lident) = - psconst "unifier_hint_injective" + psconst "unifier_hint_injective" let (postprocess_with : FStar_Ident.lident) = - p2l ["FStar"; "Tactics"; "Effect"; "postprocess_with"] + p2l ["FStar"; "Tactics"; "Effect"; "postprocess_with"] let (postprocess_extr_with : FStar_Ident.lident) = - p2l ["FStar"; "Tactics"; "Effect"; "postprocess_for_extraction_with"] + p2l ["FStar"; "Tactics"; "Effect"; "postprocess_for_extraction_with"] let (gen_reset : ((unit -> Prims.int) * (unit -> unit))) = - let x = FStar_Util.mk_ref (Prims.parse_int "0") in - let gen1 uu____877 = FStar_Util.incr x; FStar_Util.read x in - let reset uu____885 = FStar_Util.write x (Prims.parse_int "0") in - (gen1, reset) -let (next_id : unit -> Prims.int) = FStar_Pervasives_Native.fst gen_reset + let x = FStar_Util.mk_ref (Prims.parse_int "0") in + let gen1 uu____877 = FStar_Util.incr x; FStar_Util.read x in + let reset uu____885 = FStar_Util.write x (Prims.parse_int "0") in + (gen1, reset) +let (next_id : unit -> Prims.int) = FStar_Pervasives_Native.fst gen_reset let (sli : FStar_Ident.lident -> Prims.string) = - fun l -> - let uu____916 = FStar_Options.print_real_names () in + fun l -> + let uu____916 = FStar_Options.print_real_names () in if uu____916 then l.FStar_Ident.str else (l.FStar_Ident.ident).FStar_Ident.idText + let (const_to_string : FStar_Const.sconst -> Prims.string) = - fun x -> + fun x -> match x with - | FStar_Const.Const_effect -> "Effect" - | FStar_Const.Const_unit -> "()" + | FStar_Const.Const_effect -> "Effect" + | FStar_Const.Const_unit -> "()" | FStar_Const.Const_bool b -> if b then "true" else "false" | FStar_Const.Const_real r -> FStar_String.op_Hat r "R" | FStar_Const.Const_float x1 -> FStar_Util.string_of_float x1 - | FStar_Const.Const_string (s, uu____945) -> - FStar_Util.format1 "\"%s\"" s + | FStar_Const.Const_string (s,uu____945) -> FStar_Util.format1 "\"%s\"" s | FStar_Const.Const_bytearray uu____949 -> "" - | FStar_Const.Const_int (x1, uu____958) -> x1 + | FStar_Const.Const_int (x1,uu____958) -> x1 | FStar_Const.Const_char c -> - let uu____975 = FStar_String.op_Hat (FStar_Util.string_of_char c) "'" in + let uu____975 = FStar_String.op_Hat (FStar_Util.string_of_char c) "'" + in FStar_String.op_Hat "'" uu____975 | FStar_Const.Const_range r -> FStar_Range.string_of_range r - | FStar_Const.Const_range_of -> "range_of" - | FStar_Const.Const_set_range_of -> "set_range_of" - | FStar_Const.Const_reify -> "reify" + | FStar_Const.Const_range_of -> "range_of" + | FStar_Const.Const_set_range_of -> "set_range_of" + | FStar_Const.Const_reify -> "reify" | FStar_Const.Const_reflect l -> - let uu____984 = sli l in + let uu____984 = sli l in FStar_Util.format1 "[[%s.reflect]]" uu____984 + let (mk_tuple_lid : Prims.int -> FStar_Range.range -> FStar_Ident.lident) = - fun n1 -> - fun r -> + fun n1 -> + fun r -> let t = - let uu____1002 = FStar_Util.string_of_int n1 in - FStar_Util.format1 "tuple%s" uu____1002 in - let uu____1005 = psnconst t in FStar_Ident.set_lid_range uu____1005 r + let uu____1002 = FStar_Util.string_of_int n1 in + FStar_Util.format1 "tuple%s" uu____1002 in + let uu____1005 = psnconst t in FStar_Ident.set_lid_range uu____1005 r + let (lid_tuple2 : FStar_Ident.lident) = - mk_tuple_lid (Prims.parse_int "2") FStar_Range.dummyRange + mk_tuple_lid (Prims.parse_int "2") FStar_Range.dummyRange let (is_tuple_constructor_string : Prims.string -> Prims.bool) = - fun s -> FStar_Util.starts_with s "FStar.Pervasives.Native.tuple" + fun s -> FStar_Util.starts_with s "FStar.Pervasives.Native.tuple" let (is_tuple_constructor_lid : FStar_Ident.ident -> Prims.bool) = - fun lid -> - let uu____1026 = FStar_Ident.text_of_id lid in + fun lid -> + let uu____1026 = FStar_Ident.text_of_id lid in is_tuple_constructor_string uu____1026 + let (mk_tuple_data_lid : Prims.int -> FStar_Range.range -> FStar_Ident.lident) = - fun n1 -> - fun r -> + fun n1 -> + fun r -> let t = - let uu____1043 = FStar_Util.string_of_int n1 in - FStar_Util.format1 "Mktuple%s" uu____1043 in - let uu____1046 = psnconst t in FStar_Ident.set_lid_range uu____1046 r + let uu____1043 = FStar_Util.string_of_int n1 in + FStar_Util.format1 "Mktuple%s" uu____1043 in + let uu____1046 = psnconst t in FStar_Ident.set_lid_range uu____1046 r + let (lid_Mktuple2 : FStar_Ident.lident) = - mk_tuple_data_lid (Prims.parse_int "2") FStar_Range.dummyRange + mk_tuple_data_lid (Prims.parse_int "2") FStar_Range.dummyRange let (is_tuple_datacon_string : Prims.string -> Prims.bool) = - fun s -> FStar_Util.starts_with s "FStar.Pervasives.Native.Mktuple" + fun s -> FStar_Util.starts_with s "FStar.Pervasives.Native.Mktuple" let (is_tuple_data_lid : FStar_Ident.lident -> Prims.int -> Prims.bool) = - fun f -> - fun n1 -> - let uu____1074 = mk_tuple_data_lid n1 FStar_Range.dummyRange in + fun f -> + fun n1 -> + let uu____1074 = mk_tuple_data_lid n1 FStar_Range.dummyRange in FStar_Ident.lid_equals f uu____1074 + let (is_tuple_data_lid' : FStar_Ident.lident -> Prims.bool) = - fun f -> is_tuple_datacon_string f.FStar_Ident.str + fun f -> is_tuple_datacon_string f.FStar_Ident.str let (mod_prefix_dtuple : Prims.int -> Prims.string -> FStar_Ident.lident) = - fun n1 -> if n1 = (Prims.parse_int "2") then pconst else psconst + fun n1 -> if n1 = (Prims.parse_int "2") then pconst else psconst let (mk_dtuple_lid : Prims.int -> FStar_Range.range -> FStar_Ident.lident) = - fun n1 -> - fun r -> + fun n1 -> + fun r -> let t = - let uu____1122 = FStar_Util.string_of_int n1 in - FStar_Util.format1 "dtuple%s" uu____1122 in - let uu____1125 = let uu____1126 = mod_prefix_dtuple n1 in uu____1126 t in + let uu____1122 = FStar_Util.string_of_int n1 in + FStar_Util.format1 "dtuple%s" uu____1122 in + let uu____1125 = let uu____1126 = mod_prefix_dtuple n1 in uu____1126 t + in FStar_Ident.set_lid_range uu____1125 r + let (is_dtuple_constructor_string : Prims.string -> Prims.bool) = - fun s -> + fun s -> (s = "Prims.dtuple2") || (FStar_Util.starts_with s "FStar.Pervasives.dtuple") + let (is_dtuple_constructor_lid : FStar_Ident.lident -> Prims.bool) = - fun lid -> is_dtuple_constructor_string lid.FStar_Ident.str + fun lid -> is_dtuple_constructor_string lid.FStar_Ident.str let (mk_dtuple_data_lid : Prims.int -> FStar_Range.range -> FStar_Ident.lident) = - fun n1 -> - fun r -> + fun n1 -> + fun r -> let t = - let uu____1167 = FStar_Util.string_of_int n1 in - FStar_Util.format1 "Mkdtuple%s" uu____1167 in - let uu____1170 = let uu____1171 = mod_prefix_dtuple n1 in uu____1171 t in + let uu____1167 = FStar_Util.string_of_int n1 in + FStar_Util.format1 "Mkdtuple%s" uu____1167 in + let uu____1170 = let uu____1171 = mod_prefix_dtuple n1 in uu____1171 t + in FStar_Ident.set_lid_range uu____1170 r + let (is_dtuple_datacon_string : Prims.string -> Prims.bool) = - fun s -> + fun s -> (s = "Prims.Mkdtuple2") || (FStar_Util.starts_with s "FStar.Pervasives.Mkdtuple") + let (is_dtuple_data_lid : FStar_Ident.lident -> Prims.int -> Prims.bool) = - fun f -> - fun n1 -> - let uu____1204 = mk_dtuple_data_lid n1 FStar_Range.dummyRange in + fun f -> + fun n1 -> + let uu____1204 = mk_dtuple_data_lid n1 FStar_Range.dummyRange in FStar_Ident.lid_equals f uu____1204 + let (is_dtuple_data_lid' : FStar_Ident.lident -> Prims.bool) = - fun f -> - let uu____1212 = FStar_Ident.text_of_lid f in + fun f -> + let uu____1212 = FStar_Ident.text_of_lid f in is_dtuple_datacon_string uu____1212 + let (is_name : FStar_Ident.lident -> Prims.bool) = - fun lid -> + fun lid -> let c = FStar_Util.char_at (lid.FStar_Ident.ident).FStar_Ident.idText - (Prims.parse_int "0") in + (Prims.parse_int "0") + in FStar_Util.is_upper c + let (fstar_tactics_lid' : Prims.string Prims.list -> FStar_Ident.lid) = - fun s -> + fun s -> FStar_Ident.lid_of_path (FStar_List.append ["FStar"; "Tactics"] s) FStar_Range.dummyRange + let (fstar_tactics_lid : Prims.string -> FStar_Ident.lid) = - fun s -> fstar_tactics_lid' [s] -let (tactic_lid : FStar_Ident.lid) = fstar_tactics_lid' ["Effect"; "tactic"] + fun s -> fstar_tactics_lid' [s] +let (tactic_lid : FStar_Ident.lid) = fstar_tactics_lid' ["Effect"; "tactic"] let (mk_class_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Typeclasses"; "mk_class"] + fstar_tactics_lid' ["Typeclasses"; "mk_class"] let (tcresolve_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Typeclasses"; "tcresolve"] + fstar_tactics_lid' ["Typeclasses"; "tcresolve"] let (tcinstance_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Typeclasses"; "tcinstance"] -let (effect_TAC_lid : FStar_Ident.lid) = fstar_tactics_lid' ["Effect"; "TAC"] -let (effect_Tac_lid : FStar_Ident.lid) = fstar_tactics_lid' ["Effect"; "Tac"] + fstar_tactics_lid' ["Typeclasses"; "tcinstance"] +let (effect_TAC_lid : FStar_Ident.lid) = fstar_tactics_lid' ["Effect"; "TAC"] +let (effect_Tac_lid : FStar_Ident.lid) = fstar_tactics_lid' ["Effect"; "Tac"] let (by_tactic_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Effect"; "with_tactic"] + fstar_tactics_lid' ["Effect"; "with_tactic"] let (synth_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Effect"; "synth_by_tactic"] + fstar_tactics_lid' ["Effect"; "synth_by_tactic"] let (assert_by_tactic_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Effect"; "assert_by_tactic"] + fstar_tactics_lid' ["Effect"; "assert_by_tactic"] let (fstar_syntax_syntax_term : FStar_Ident.lident) = - FStar_Ident.lid_of_str "FStar.Syntax.Syntax.term" + FStar_Ident.lid_of_str "FStar.Syntax.Syntax.term" let (binder_lid : FStar_Ident.lident) = FStar_Ident.lid_of_path ["FStar"; "Reflection"; "Types"; "binder"] FStar_Range.dummyRange + let (binders_lid : FStar_Ident.lident) = FStar_Ident.lid_of_path ["FStar"; "Reflection"; "Types"; "binders"] FStar_Range.dummyRange + let (bv_lid : FStar_Ident.lident) = FStar_Ident.lid_of_path ["FStar"; "Reflection"; "Types"; "bv"] FStar_Range.dummyRange + let (fv_lid : FStar_Ident.lident) = FStar_Ident.lid_of_path ["FStar"; "Reflection"; "Types"; "fv"] FStar_Range.dummyRange + let (norm_step_lid : FStar_Ident.lident) = FStar_Ident.lid_of_path ["FStar"; "Syntax"; "Embeddings"; "norm_step"] FStar_Range.dummyRange + let (calc_lid : Prims.string -> FStar_Ident.lid) = - fun i -> + fun i -> FStar_Ident.lid_of_path ["FStar"; "Calc"; i] FStar_Range.dummyRange -let (calc_init_lid : FStar_Ident.lid) = calc_lid "calc_init" -let (calc_step_lid : FStar_Ident.lid) = calc_lid "calc_step" -let (calc_finish_lid : FStar_Ident.lid) = calc_lid "calc_finish" \ No newline at end of file + +let (calc_init_lid : FStar_Ident.lid) = calc_lid "calc_init" +let (calc_step_lid : FStar_Ident.lid) = calc_lid "calc_step" +let (calc_finish_lid : FStar_Ident.lid) = calc_lid "calc_finish" \ No newline at end of file diff --git a/src/ocaml-output/FStar_Parser_Dep.ml b/src/ocaml-output/FStar_Parser_Dep.ml index 43290967593..70e8b8aa415 100644 --- a/src/ocaml-output/FStar_Parser_Dep.ml +++ b/src/ocaml-output/FStar_Parser_Dep.ml @@ -4,14 +4,17 @@ type verify_mode = | VerifyUserList | VerifyFigureItOut let (uu___is_VerifyAll : verify_mode -> Prims.bool) = - fun projectee -> - match projectee with | VerifyAll -> true | uu____20 -> false + fun projectee -> + match projectee with | VerifyAll -> true | uu____18 -> false + let (uu___is_VerifyUserList : verify_mode -> Prims.bool) = - fun projectee -> - match projectee with | VerifyUserList -> true | uu____31 -> false + fun projectee -> + match projectee with | VerifyUserList -> true | uu____29 -> false + let (uu___is_VerifyFigureItOut : verify_mode -> Prims.bool) = - fun projectee -> - match projectee with | VerifyFigureItOut -> true | uu____42 -> false + fun projectee -> + match projectee with | VerifyFigureItOut -> true | uu____40 -> false + type files_for_module_name = (Prims.string FStar_Pervasives_Native.option * Prims.string FStar_Pervasives_Native.option) FStar_Util.smap @@ -20,94 +23,108 @@ type color = | Gray | Black let (uu___is_White : color -> Prims.bool) = - fun projectee -> match projectee with | White -> true | uu____65 -> false + fun projectee -> match projectee with | White -> true | uu____63 -> false let (uu___is_Gray : color -> Prims.bool) = - fun projectee -> match projectee with | Gray -> true | uu____76 -> false + fun projectee -> match projectee with | Gray -> true | uu____74 -> false let (uu___is_Black : color -> Prims.bool) = - fun projectee -> match projectee with | Black -> true | uu____87 -> false + fun projectee -> match projectee with | Black -> true | uu____85 -> false type open_kind = | Open_module | Open_namespace let (uu___is_Open_module : open_kind -> Prims.bool) = - fun projectee -> - match projectee with | Open_module -> true | uu____98 -> false + fun projectee -> + match projectee with | Open_module -> true | uu____96 -> false + let (uu___is_Open_namespace : open_kind -> Prims.bool) = - fun projectee -> - match projectee with | Open_namespace -> true | uu____109 -> false + fun projectee -> + match projectee with | Open_namespace -> true | uu____107 -> false + let (check_and_strip_suffix : Prims.string -> Prims.string FStar_Pervasives_Native.option) = - fun f -> - let suffixes = [".fsti"; ".fst"; ".fsi"; ".fs"] in + fun f -> + let suffixes = [".fsti"; ".fst"; ".fsi"; ".fs"] in let matches = FStar_List.map - (fun ext -> - let lext = FStar_String.length ext in - let l = FStar_String.length f in - let uu____157 = + (fun ext -> + let lext = FStar_String.length ext in + let l = FStar_String.length f in + let uu____155 = (l > lext) && - (let uu____160 = FStar_String.substring f (l - lext) lext in - uu____160 = ext) in - if uu____157 + (let uu____158 = FStar_String.substring f (l - lext) lext in + uu____158 = ext) + in + if uu____155 then - let uu____167 = - FStar_String.substring f (Prims.parse_int "0") (l - lext) in - FStar_Pervasives_Native.Some uu____167 - else FStar_Pervasives_Native.None) suffixes in - let uu____174 = FStar_List.filter FStar_Util.is_some matches in - match uu____174 with - | (FStar_Pervasives_Native.Some m)::uu____188 -> + let uu____165 = + FStar_String.substring f (Prims.parse_int "0") (l - lext) in + FStar_Pervasives_Native.Some uu____165 + else FStar_Pervasives_Native.None) suffixes + in + let uu____172 = FStar_List.filter FStar_Util.is_some matches in + match uu____172 with + | (FStar_Pervasives_Native.Some m)::uu____186 -> FStar_Pervasives_Native.Some m - | uu____200 -> FStar_Pervasives_Native.None + | uu____198 -> FStar_Pervasives_Native.None + let (is_interface : Prims.string -> Prims.bool) = - fun f -> - let uu____217 = - FStar_String.get f ((FStar_String.length f) - (Prims.parse_int "1")) in - uu____217 = 105 + fun f -> + let uu____215 = + FStar_String.get f ((FStar_String.length f) - (Prims.parse_int "1")) + in + uu____215 = 105 + let (is_implementation : Prims.string -> Prims.bool) = - fun f -> let uu____231 = is_interface f in Prims.op_Negation uu____231 + fun f -> let uu____229 = is_interface f in Prims.op_Negation uu____229 let list_of_option : - 'Auu____238 . - 'Auu____238 FStar_Pervasives_Native.option -> 'Auu____238 Prims.list + 'Auu____236 . + 'Auu____236 FStar_Pervasives_Native.option -> 'Auu____236 Prims.list = - fun uu___0_247 -> - match uu___0_247 with + fun uu___0_245 -> + match uu___0_245 with | FStar_Pervasives_Native.Some x -> [x] - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] + let list_of_pair : - 'Auu____256 . - ('Auu____256 FStar_Pervasives_Native.option * 'Auu____256 - FStar_Pervasives_Native.option) -> 'Auu____256 Prims.list + 'Auu____254 . + ('Auu____254 FStar_Pervasives_Native.option * 'Auu____254 + FStar_Pervasives_Native.option) -> 'Auu____254 Prims.list = - fun uu____271 -> - match uu____271 with - | (intf, impl) -> + fun uu____269 -> + match uu____269 with + | (intf,impl) -> FStar_List.append (list_of_option intf) (list_of_option impl) + let (module_name_of_file : Prims.string -> Prims.string) = - fun f -> - let uu____299 = - let uu____303 = FStar_Util.basename f in - check_and_strip_suffix uu____303 in - match uu____299 with + fun f -> + let uu____297 = + let uu____301 = FStar_Util.basename f in + check_and_strip_suffix uu____301 in + match uu____297 with | FStar_Pervasives_Native.Some longname -> longname - | FStar_Pervasives_Native.None -> - let uu____310 = - let uu____316 = FStar_Util.format1 "not a valid FStar file: %s" f in - (FStar_Errors.Fatal_NotValidFStarFile, uu____316) in - FStar_Errors.raise_err uu____310 + | FStar_Pervasives_Native.None -> + let uu____308 = + let uu____314 = FStar_Util.format1 "not a valid FStar file: %s" f + in + (FStar_Errors.Fatal_NotValidFStarFile, uu____314) in + FStar_Errors.raise_err uu____308 + let (lowercase_module_name : Prims.string -> Prims.string) = - fun f -> - let uu____330 = module_name_of_file f in FStar_String.lowercase uu____330 + fun f -> + let uu____328 = module_name_of_file f in + FStar_String.lowercase uu____328 + let (namespace_of_module : Prims.string -> FStar_Ident.lident FStar_Pervasives_Native.option) = - fun f -> + fun f -> let lid = - let uu____343 = FStar_Ident.path_of_text f in - FStar_Ident.lid_of_path uu____343 FStar_Range.dummyRange in + let uu____341 = FStar_Ident.path_of_text f in + FStar_Ident.lid_of_path uu____341 FStar_Range.dummyRange in match lid.FStar_Ident.ns with | [] -> FStar_Pervasives_Native.None - | uu____346 -> - let uu____349 = FStar_Ident.lid_of_ids lid.FStar_Ident.ns in - FStar_Pervasives_Native.Some uu____349 + | uu____344 -> + let uu____347 = FStar_Ident.lid_of_ids lid.FStar_Ident.ns in + FStar_Pervasives_Native.Some uu____347 + type file_name = Prims.string type module_name = Prims.string type dependence = @@ -116,78 +133,211 @@ type dependence = | UseImplementation of module_name | FriendImplementation of module_name let (uu___is_UseInterface : dependence -> Prims.bool) = - fun projectee -> - match projectee with | UseInterface _0 -> true | uu____389 -> false + fun projectee -> + match projectee with | UseInterface _0 -> true | uu____387 -> false + let (__proj__UseInterface__item___0 : dependence -> module_name) = - fun projectee -> match projectee with | UseInterface _0 -> _0 + fun projectee -> match projectee with | UseInterface _0 -> _0 let (uu___is_PreferInterface : dependence -> Prims.bool) = - fun projectee -> - match projectee with | PreferInterface _0 -> true | uu____412 -> false + fun projectee -> + match projectee with | PreferInterface _0 -> true | uu____410 -> false + let (__proj__PreferInterface__item___0 : dependence -> module_name) = - fun projectee -> match projectee with | PreferInterface _0 -> _0 + fun projectee -> match projectee with | PreferInterface _0 -> _0 let (uu___is_UseImplementation : dependence -> Prims.bool) = - fun projectee -> - match projectee with | UseImplementation _0 -> true | uu____435 -> false + fun projectee -> + match projectee with | UseImplementation _0 -> true | uu____433 -> false + let (__proj__UseImplementation__item___0 : dependence -> module_name) = - fun projectee -> match projectee with | UseImplementation _0 -> _0 + fun projectee -> match projectee with | UseImplementation _0 -> _0 let (uu___is_FriendImplementation : dependence -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | FriendImplementation _0 -> true - | uu____458 -> false + | uu____456 -> false + let (__proj__FriendImplementation__item___0 : dependence -> module_name) = - fun projectee -> match projectee with | FriendImplementation _0 -> _0 + fun projectee -> match projectee with | FriendImplementation _0 -> _0 let (dep_to_string : dependence -> Prims.string) = - fun uu___1_476 -> - match uu___1_476 with + fun uu___1_474 -> + match uu___1_474 with | UseInterface f -> FStar_String.op_Hat "UseInterface " f | PreferInterface f -> FStar_String.op_Hat "PreferInterface " f | UseImplementation f -> FStar_String.op_Hat "UseImplementation " f | FriendImplementation f -> FStar_String.op_Hat "FriendImplementation " f + type dependences = dependence Prims.list -let empty_dependences : 'Auu____495 . unit -> 'Auu____495 Prims.list = - fun uu____498 -> [] +let empty_dependences : 'Auu____493 . unit -> 'Auu____493 Prims.list = + fun uu____496 -> [] type dep_node = { edges: dependences ; color: color } let (__proj__Mkdep_node__item__edges : dep_node -> dependences) = - fun projectee -> match projectee with | { edges; color;_} -> edges + fun projectee -> match projectee with | { edges; color;_} -> edges let (__proj__Mkdep_node__item__color : dep_node -> color) = - fun projectee -> match projectee with | { edges; color;_} -> color + fun projectee -> match projectee with | { edges; color;_} -> color type dependence_graph = | Deps of dep_node FStar_Util.smap -let (uu___is_Deps : dependence_graph -> Prims.bool) = fun projectee -> true +let (uu___is_Deps : dependence_graph -> Prims.bool) = fun projectee -> true let (__proj__Deps__item___0 : dependence_graph -> dep_node FStar_Util.smap) = - fun projectee -> match projectee with | Deps _0 -> _0 -type parsing_data = - { - direct_deps: dependence Prims.list ; - additional_roots: dependence Prims.list ; - has_inline_for_extraction: Prims.bool } -let (__proj__Mkparsing_data__item__direct_deps : - parsing_data -> dependence Prims.list) = - fun projectee -> + fun projectee -> match projectee with | Deps _0 -> _0 +type parsing_data_elt = + | P_begin_module of FStar_Ident.lident + | P_open of (Prims.bool * FStar_Ident.lident) + | P_open_module_or_namespace of (open_kind * FStar_Ident.lid) + | P_dep of (Prims.bool * FStar_Ident.lident) + | P_alias of (FStar_Ident.ident * FStar_Ident.lident) + | P_lid of FStar_Ident.lident + | P_inline_for_extraction +let (uu___is_P_begin_module : parsing_data_elt -> Prims.bool) = + fun projectee -> + match projectee with | P_begin_module _0 -> true | uu____609 -> false + +let (__proj__P_begin_module__item___0 : + parsing_data_elt -> FStar_Ident.lident) = + fun projectee -> match projectee with | P_begin_module _0 -> _0 +let (uu___is_P_open : parsing_data_elt -> Prims.bool) = + fun projectee -> + match projectee with | P_open _0 -> true | uu____633 -> false + +let (__proj__P_open__item___0 : + parsing_data_elt -> (Prims.bool * FStar_Ident.lident)) = + fun projectee -> match projectee with | P_open _0 -> _0 +let (uu___is_P_open_module_or_namespace : parsing_data_elt -> Prims.bool) = + fun projectee -> match projectee with - | { direct_deps; additional_roots; has_inline_for_extraction;_} -> - direct_deps -let (__proj__Mkparsing_data__item__additional_roots : - parsing_data -> dependence Prims.list) = - fun projectee -> + | P_open_module_or_namespace _0 -> true + | uu____671 -> false + +let (__proj__P_open_module_or_namespace__item___0 : + parsing_data_elt -> (open_kind * FStar_Ident.lid)) = + fun projectee -> + match projectee with | P_open_module_or_namespace _0 -> _0 + +let (uu___is_P_dep : parsing_data_elt -> Prims.bool) = + fun projectee -> + match projectee with | P_dep _0 -> true | uu____707 -> false + +let (__proj__P_dep__item___0 : + parsing_data_elt -> (Prims.bool * FStar_Ident.lident)) = + fun projectee -> match projectee with | P_dep _0 -> _0 +let (uu___is_P_alias : parsing_data_elt -> Prims.bool) = + fun projectee -> + match projectee with | P_alias _0 -> true | uu____745 -> false + +let (__proj__P_alias__item___0 : + parsing_data_elt -> (FStar_Ident.ident * FStar_Ident.lident)) = + fun projectee -> match projectee with | P_alias _0 -> _0 +let (uu___is_P_lid : parsing_data_elt -> Prims.bool) = + fun projectee -> + match projectee with | P_lid _0 -> true | uu____776 -> false + +let (__proj__P_lid__item___0 : parsing_data_elt -> FStar_Ident.lident) = + fun projectee -> match projectee with | P_lid _0 -> _0 +let (uu___is_P_inline_for_extraction : parsing_data_elt -> Prims.bool) = + fun projectee -> match projectee with - | { direct_deps; additional_roots; has_inline_for_extraction;_} -> - additional_roots -let (__proj__Mkparsing_data__item__has_inline_for_extraction : - parsing_data -> Prims.bool) = - fun projectee -> - match projectee with - | { direct_deps; additional_roots; has_inline_for_extraction;_} -> - has_inline_for_extraction -let (empty_parsing_data : parsing_data) = - { - direct_deps = []; - additional_roots = []; - has_inline_for_extraction = false - } + | P_inline_for_extraction -> true + | uu____794 -> false + +type parsing_data = + | Mk_pd of parsing_data_elt Prims.list +let (uu___is_Mk_pd : parsing_data -> Prims.bool) = fun projectee -> true +let (__proj__Mk_pd__item___0 : parsing_data -> parsing_data_elt Prims.list) = + fun projectee -> match projectee with | Mk_pd _0 -> _0 +let (str_of_parsing_data_elt : parsing_data_elt -> Prims.string) = + fun elt -> + let str_of_open_kind uu___2_837 = + match uu___2_837 with + | Open_module -> "P_open_module" + | Open_namespace -> "P_open_namespace" in + match elt with + | P_begin_module lid -> + let uu____843 = + let uu____845 = FStar_Ident.text_of_lid lid in + FStar_String.op_Hat uu____845 ")" in + FStar_String.op_Hat "P_begin_module (" uu____843 + | P_open (b,lid) -> + let uu____853 = + let uu____855 = FStar_Util.string_of_bool b in + let uu____857 = + let uu____859 = + let uu____861 = FStar_Ident.text_of_lid lid in + FStar_String.op_Hat uu____861 ")" in + FStar_String.op_Hat ", " uu____859 in + FStar_String.op_Hat uu____855 uu____857 in + FStar_String.op_Hat "P_open (" uu____853 + | P_open_module_or_namespace (k,lid) -> + let uu____868 = + let uu____870 = + let uu____872 = + let uu____874 = FStar_Ident.text_of_lid lid in + FStar_String.op_Hat uu____874 ")" in + FStar_String.op_Hat ", " uu____872 in + FStar_String.op_Hat (str_of_open_kind k) uu____870 in + FStar_String.op_Hat "P_open_module_or_namespace (" uu____868 + | P_dep (b,lid) -> + let uu____883 = + let uu____885 = FStar_Ident.text_of_lid lid in + let uu____887 = + let uu____889 = + let uu____891 = FStar_Util.string_of_bool b in + FStar_String.op_Hat uu____891 ")" in + FStar_String.op_Hat ", " uu____889 in + FStar_String.op_Hat uu____885 uu____887 in + FStar_String.op_Hat "P_dep (" uu____883 + | P_alias (id1,lid) -> + let uu____898 = + let uu____900 = FStar_Ident.text_of_id id1 in + let uu____902 = + let uu____904 = + let uu____906 = FStar_Ident.text_of_lid lid in + FStar_String.op_Hat uu____906 ")" in + FStar_String.op_Hat ", " uu____904 in + FStar_String.op_Hat uu____900 uu____902 in + FStar_String.op_Hat "P_alias (" uu____898 + | P_lid lid -> + let uu____912 = + let uu____914 = FStar_Ident.text_of_lid lid in + FStar_String.op_Hat uu____914 ")" in + FStar_String.op_Hat "P_lid (" uu____912 + | P_inline_for_extraction -> "P_inline_for_extraction" + +let (str_of_parsing_data : parsing_data -> Prims.string) = + fun uu___3_925 -> + match uu___3_925 with + | Mk_pd l -> + FStar_All.pipe_right l + (FStar_List.fold_left + (fun s -> + fun elt -> + let uu____940 = + let uu____942 = + FStar_All.pipe_right elt str_of_parsing_data_elt in + FStar_String.op_Hat "; " uu____942 in + FStar_String.op_Hat s uu____940) "") + +let (parsing_data_elt_eq : + parsing_data_elt -> parsing_data_elt -> Prims.bool) = + fun e1 -> + fun e2 -> + match (e1, e2) with + | (P_begin_module l1,P_begin_module l2) -> FStar_Ident.lid_equals l1 l2 + | (P_open (b1,l1),P_open (b2,l2)) -> + (b1 = b2) && (FStar_Ident.lid_equals l1 l2) + | (P_open_module_or_namespace (k1,l1),P_open_module_or_namespace + (k2,l2)) -> (k1 = k2) && (FStar_Ident.lid_equals l1 l2) + | (P_dep (b1,l1),P_dep (b2,l2)) -> + (b1 = b2) && (FStar_Ident.lid_equals l1 l2) + | (P_alias (i1,l1),P_alias (i2,l2)) -> + (let uu____992 = FStar_Ident.text_of_id i1 in + let uu____994 = FStar_Ident.text_of_id i2 in + uu____992 = uu____994) && (FStar_Ident.lid_equals l1 l2) + | (P_lid l1,P_lid l2) -> FStar_Ident.lid_equals l1 l2 + | (P_inline_for_extraction ,P_inline_for_extraction ) -> true + | (uu____1000,uu____1001) -> false + +let (empty_parsing_data : parsing_data) = Mk_pd [] type deps = { dep_graph: dependence_graph ; @@ -197,53 +347,62 @@ type deps = interfaces_with_inlining: module_name Prims.list ; parse_results: parsing_data FStar_Util.smap } let (__proj__Mkdeps__item__dep_graph : deps -> dependence_graph) = - fun projectee -> + fun projectee -> match projectee with | { dep_graph; file_system_map; cmd_line_files; all_files; interfaces_with_inlining; parse_results;_} -> dep_graph + let (__proj__Mkdeps__item__file_system_map : deps -> files_for_module_name) = - fun projectee -> + fun projectee -> match projectee with | { dep_graph; file_system_map; cmd_line_files; all_files; interfaces_with_inlining; parse_results;_} -> file_system_map + let (__proj__Mkdeps__item__cmd_line_files : deps -> file_name Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { dep_graph; file_system_map; cmd_line_files; all_files; interfaces_with_inlining; parse_results;_} -> cmd_line_files + let (__proj__Mkdeps__item__all_files : deps -> file_name Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { dep_graph; file_system_map; cmd_line_files; all_files; interfaces_with_inlining; parse_results;_} -> all_files + let (__proj__Mkdeps__item__interfaces_with_inlining : deps -> module_name Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { dep_graph; file_system_map; cmd_line_files; all_files; interfaces_with_inlining; parse_results;_} -> interfaces_with_inlining + let (__proj__Mkdeps__item__parse_results : deps -> parsing_data FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { dep_graph; file_system_map; cmd_line_files; all_files; interfaces_with_inlining; parse_results;_} -> parse_results + let (deps_try_find : dependence_graph -> Prims.string -> dep_node FStar_Pervasives_Native.option) = - fun uu____840 -> - fun k -> match uu____840 with | Deps m -> FStar_Util.smap_try_find m k + fun uu____1217 -> + fun k -> match uu____1217 with | Deps m -> FStar_Util.smap_try_find m k + let (deps_add_dep : dependence_graph -> Prims.string -> dep_node -> unit) = - fun uu____862 -> - fun k -> - fun v1 -> match uu____862 with | Deps m -> FStar_Util.smap_add m k v1 + fun uu____1239 -> + fun k -> + fun v1 -> match uu____1239 with | Deps m -> FStar_Util.smap_add m k v1 + let (deps_keys : dependence_graph -> Prims.string Prims.list) = - fun uu____877 -> match uu____877 with | Deps m -> FStar_Util.smap_keys m + fun uu____1254 -> match uu____1254 with | Deps m -> FStar_Util.smap_keys m let (deps_empty : unit -> dependence_graph) = - fun uu____889 -> - let uu____890 = FStar_Util.smap_create (Prims.parse_int "41") in - Deps uu____890 + fun uu____1266 -> + let uu____1267 = FStar_Util.smap_create (Prims.parse_int "41") in + Deps uu____1267 + let (mk_deps : dependence_graph -> files_for_module_name -> @@ -251,12 +410,12 @@ let (mk_deps : file_name Prims.list -> module_name Prims.list -> parsing_data FStar_Util.smap -> deps) = - fun dg -> - fun fs -> - fun c -> - fun a -> - fun i -> - fun pr -> + fun dg -> + fun fs -> + fun c -> + fun a -> + fun i -> + fun pr -> { dep_graph = dg; file_system_map = fs; @@ -265,345 +424,389 @@ let (mk_deps : interfaces_with_inlining = i; parse_results = pr } + let (empty_deps : deps) = - let uu____948 = deps_empty () in - let uu____949 = FStar_Util.smap_create (Prims.parse_int "0") in - let uu____961 = FStar_Util.smap_create (Prims.parse_int "0") in - mk_deps uu____948 uu____949 [] [] [] uu____961 + let uu____1325 = deps_empty () in + let uu____1326 = FStar_Util.smap_create (Prims.parse_int "0") in + let uu____1338 = FStar_Util.smap_create (Prims.parse_int "0") in + mk_deps uu____1325 uu____1326 [] [] [] uu____1338 let (module_name_of_dep : dependence -> module_name) = - fun uu___2_974 -> - match uu___2_974 with + fun uu___4_1351 -> + match uu___4_1351 with | UseInterface m -> m | PreferInterface m -> m | UseImplementation m -> m | FriendImplementation m -> m + let (resolve_module_name : files_for_module_name -> module_name -> module_name FStar_Pervasives_Native.option) = - fun file_system_map -> - fun key -> - let uu____1003 = FStar_Util.smap_try_find file_system_map key in - match uu____1003 with + fun file_system_map -> + fun key -> + let uu____1380 = FStar_Util.smap_try_find file_system_map key in + match uu____1380 with | FStar_Pervasives_Native.Some - (FStar_Pervasives_Native.Some fn, uu____1030) -> - let uu____1052 = lowercase_module_name fn in - FStar_Pervasives_Native.Some uu____1052 + (FStar_Pervasives_Native.Some fn,uu____1407) -> + let uu____1429 = lowercase_module_name fn in + FStar_Pervasives_Native.Some uu____1429 | FStar_Pervasives_Native.Some - (uu____1055, FStar_Pervasives_Native.Some fn) -> - let uu____1078 = lowercase_module_name fn in - FStar_Pervasives_Native.Some uu____1078 - | uu____1081 -> FStar_Pervasives_Native.None + (uu____1432,FStar_Pervasives_Native.Some fn) -> + let uu____1455 = lowercase_module_name fn in + FStar_Pervasives_Native.Some uu____1455 + | uu____1458 -> FStar_Pervasives_Native.None + let (interface_of_internal : files_for_module_name -> module_name -> file_name FStar_Pervasives_Native.option) = - fun file_system_map -> - fun key -> - let uu____1114 = FStar_Util.smap_try_find file_system_map key in - match uu____1114 with + fun file_system_map -> + fun key -> + let uu____1491 = FStar_Util.smap_try_find file_system_map key in + match uu____1491 with | FStar_Pervasives_Native.Some - (FStar_Pervasives_Native.Some iface, uu____1141) -> + (FStar_Pervasives_Native.Some iface,uu____1518) -> FStar_Pervasives_Native.Some iface - | uu____1164 -> FStar_Pervasives_Native.None + | uu____1541 -> FStar_Pervasives_Native.None + let (implementation_of_internal : files_for_module_name -> module_name -> file_name FStar_Pervasives_Native.option) = - fun file_system_map -> - fun key -> - let uu____1197 = FStar_Util.smap_try_find file_system_map key in - match uu____1197 with + fun file_system_map -> + fun key -> + let uu____1574 = FStar_Util.smap_try_find file_system_map key in + match uu____1574 with | FStar_Pervasives_Native.Some - (uu____1223, FStar_Pervasives_Native.Some impl) -> + (uu____1600,FStar_Pervasives_Native.Some impl) -> FStar_Pervasives_Native.Some impl - | uu____1247 -> FStar_Pervasives_Native.None + | uu____1624 -> FStar_Pervasives_Native.None + let (interface_of : deps -> Prims.string -> Prims.string FStar_Pervasives_Native.option) = - fun deps -> fun key -> interface_of_internal deps.file_system_map key + fun deps -> fun key -> interface_of_internal deps.file_system_map key let (implementation_of : deps -> Prims.string -> Prims.string FStar_Pervasives_Native.option) = - fun deps -> fun key -> implementation_of_internal deps.file_system_map key + fun deps -> + fun key -> implementation_of_internal deps.file_system_map key + let (has_interface : files_for_module_name -> module_name -> Prims.bool) = - fun file_system_map -> - fun key -> - let uu____1308 = interface_of_internal file_system_map key in - FStar_Option.isSome uu____1308 + fun file_system_map -> + fun key -> + let uu____1685 = interface_of_internal file_system_map key in + FStar_Option.isSome uu____1685 + let (has_implementation : files_for_module_name -> module_name -> Prims.bool) = - fun file_system_map -> - fun key -> - let uu____1328 = implementation_of_internal file_system_map key in - FStar_Option.isSome uu____1328 + fun file_system_map -> + fun key -> + let uu____1705 = implementation_of_internal file_system_map key in + FStar_Option.isSome uu____1705 + let (cache_file_name : Prims.string -> Prims.string) = let checked_file_and_exists_flag fn = - let lax1 = FStar_Options.lax () in + let lax1 = FStar_Options.lax () in let cache_fn = if lax1 then FStar_String.op_Hat fn ".checked.lax" - else FStar_String.op_Hat fn ".checked" in - let mname = FStar_All.pipe_right fn module_name_of_file in - let uu____1363 = - let uu____1367 = FStar_All.pipe_right cache_fn FStar_Util.basename in - FStar_Options.find_file uu____1367 in - match uu____1363 with + else FStar_String.op_Hat fn ".checked" in + let mname = FStar_All.pipe_right fn module_name_of_file in + let uu____1740 = + let uu____1744 = FStar_All.pipe_right cache_fn FStar_Util.basename in + FStar_Options.find_file uu____1744 in + match uu____1740 with | FStar_Pervasives_Native.Some path -> - let expected_cache_file = FStar_Options.prepend_cache_dir cache_fn in - ((let uu____1378 = - ((let uu____1382 = FStar_Options.dep () in - FStar_Option.isSome uu____1382) && - (let uu____1388 = FStar_Options.should_be_already_cached mname in - Prims.op_Negation uu____1388)) + let expected_cache_file = FStar_Options.prepend_cache_dir cache_fn + in + ((let uu____1755 = + ((let uu____1759 = FStar_Options.dep () in + FStar_Option.isSome uu____1759) && + (let uu____1765 = FStar_Options.should_be_already_cached mname + in + Prims.op_Negation uu____1765)) && ((Prims.op_Negation (FStar_Util.file_exists expected_cache_file)) || - (let uu____1391 = - FStar_Util.paths_to_same_file path expected_cache_file in - Prims.op_Negation uu____1391)) in - if uu____1378 + (let uu____1768 = + FStar_Util.paths_to_same_file path expected_cache_file + in + Prims.op_Negation uu____1768)) + in + if uu____1755 then - let uu____1394 = - let uu____1400 = - let uu____1402 = FStar_Options.prepend_cache_dir cache_fn in + let uu____1771 = + let uu____1777 = + let uu____1779 = FStar_Options.prepend_cache_dir cache_fn in FStar_Util.format3 "Did not expected %s to be already checked, but found it in an unexpected location %s instead of %s" - mname path uu____1402 in - (FStar_Errors.Warning_UnexpectedCheckedFile, uu____1400) in - FStar_Errors.log_issue FStar_Range.dummyRange uu____1394 + mname path uu____1779 + in + (FStar_Errors.Warning_UnexpectedCheckedFile, uu____1777) in + FStar_Errors.log_issue FStar_Range.dummyRange uu____1771 else ()); path) - | FStar_Pervasives_Native.None -> - let uu____1409 = - FStar_All.pipe_right mname FStar_Options.should_be_already_cached in - if uu____1409 + | FStar_Pervasives_Native.None -> + let uu____1786 = + FStar_All.pipe_right mname FStar_Options.should_be_already_cached + in + if uu____1786 then - let uu____1415 = - let uu____1421 = + let uu____1792 = + let uu____1798 = FStar_Util.format1 "Expected %s to be already checked but could not find it" - mname in - (FStar_Errors.Error_AlreadyCachedAssertionFailure, uu____1421) in - FStar_Errors.raise_err uu____1415 - else FStar_Options.prepend_cache_dir cache_fn in - let memo = FStar_Util.smap_create (Prims.parse_int "100") in + mname + in + (FStar_Errors.Error_AlreadyCachedAssertionFailure, uu____1798) + in + FStar_Errors.raise_err uu____1792 + else FStar_Options.prepend_cache_dir cache_fn + in + let memo = FStar_Util.smap_create (Prims.parse_int "100") in let memo1 f x = - let uu____1457 = FStar_Util.smap_try_find memo x in - match uu____1457 with + let uu____1834 = FStar_Util.smap_try_find memo x in + match uu____1834 with | FStar_Pervasives_Native.Some res -> res - | FStar_Pervasives_Native.None -> - let res = f x in (FStar_Util.smap_add memo x res; res) in - memo1 checked_file_and_exists_flag + | FStar_Pervasives_Native.None -> + let res = f x in (FStar_Util.smap_add memo x res; res) + in + memo1 checked_file_and_exists_flag let (parsing_data_of : deps -> Prims.string -> parsing_data) = - fun deps -> - fun fn -> - let uu____1484 = FStar_Util.smap_try_find deps.parse_results fn in - FStar_All.pipe_right uu____1484 FStar_Util.must + fun deps -> + fun fn -> + let uu____1861 = FStar_Util.smap_try_find deps.parse_results fn in + FStar_All.pipe_right uu____1861 FStar_Util.must + let (file_of_dep_aux : Prims.bool -> files_for_module_name -> file_name Prims.list -> dependence -> file_name) = - fun use_checked_file -> - fun file_system_map -> - fun all_cmd_line_files -> - fun d -> + fun use_checked_file -> + fun file_system_map -> + fun all_cmd_line_files -> + fun d -> let cmd_line_has_impl key = FStar_All.pipe_right all_cmd_line_files (FStar_Util.for_some - (fun fn -> + (fun fn -> (is_implementation fn) && - (let uu____1538 = lowercase_module_name fn in - key = uu____1538))) in + (let uu____1915 = lowercase_module_name fn in + key = uu____1915))) + in let maybe_use_cache_of f = - if use_checked_file then cache_file_name f else f in + if use_checked_file then cache_file_name f else f in match d with | UseInterface key -> - let uu____1557 = interface_of_internal file_system_map key in - (match uu____1557 with - | FStar_Pervasives_Native.None -> - let uu____1564 = - let uu____1570 = + let uu____1934 = interface_of_internal file_system_map key in + (match uu____1934 with + | FStar_Pervasives_Native.None -> + let uu____1941 = + let uu____1947 = FStar_Util.format1 "Expected an interface for module %s, but couldn't find one" - key in - (FStar_Errors.Fatal_MissingInterface, uu____1570) in - FStar_Errors.raise_err uu____1564 + key + in + (FStar_Errors.Fatal_MissingInterface, uu____1947) in + FStar_Errors.raise_err uu____1941 | FStar_Pervasives_Native.Some f -> f) | PreferInterface key when has_interface file_system_map key -> - let uu____1580 = + let uu____1957 = (cmd_line_has_impl key) && - (let uu____1583 = FStar_Options.dep () in - FStar_Option.isNone uu____1583) in - if uu____1580 + (let uu____1960 = FStar_Options.dep () in + FStar_Option.isNone uu____1960) + in + if uu____1957 then - let uu____1590 = FStar_Options.expose_interfaces () in - (if uu____1590 + let uu____1967 = FStar_Options.expose_interfaces () in + (if uu____1967 then - let uu____1594 = - let uu____1596 = - implementation_of_internal file_system_map key in - FStar_Option.get uu____1596 in - maybe_use_cache_of uu____1594 + let uu____1971 = + let uu____1973 = + implementation_of_internal file_system_map key in + FStar_Option.get uu____1973 in + maybe_use_cache_of uu____1971 else - (let uu____1603 = - let uu____1609 = - let uu____1611 = - let uu____1613 = - implementation_of_internal file_system_map key in - FStar_Option.get uu____1613 in - let uu____1618 = - let uu____1620 = - interface_of_internal file_system_map key in - FStar_Option.get uu____1620 in + (let uu____1980 = + let uu____1986 = + let uu____1988 = + let uu____1990 = + implementation_of_internal file_system_map key + in + FStar_Option.get uu____1990 in + let uu____1995 = + let uu____1997 = + interface_of_internal file_system_map key in + FStar_Option.get uu____1997 in FStar_Util.format3 "You may have a cyclic dependence on module %s: use --dep full to confirm. Alternatively, invoking fstar with %s on the command line breaks the abstraction imposed by its interface %s; if you really want this behavior add the option '--expose_interfaces'" - key uu____1611 uu____1618 in + key uu____1988 uu____1995 + in (FStar_Errors.Fatal_MissingExposeInterfacesOption, - uu____1609) in - FStar_Errors.raise_err uu____1603)) + uu____1986) + in + FStar_Errors.raise_err uu____1980)) else - (let uu____1630 = - let uu____1632 = interface_of_internal file_system_map key in - FStar_Option.get uu____1632 in - maybe_use_cache_of uu____1630) + (let uu____2007 = + let uu____2009 = interface_of_internal file_system_map key + in + FStar_Option.get uu____2009 in + maybe_use_cache_of uu____2007) | PreferInterface key -> - let uu____1639 = implementation_of_internal file_system_map key in - (match uu____1639 with - | FStar_Pervasives_Native.None -> - let uu____1645 = - let uu____1651 = + let uu____2016 = implementation_of_internal file_system_map key + in + (match uu____2016 with + | FStar_Pervasives_Native.None -> + let uu____2022 = + let uu____2028 = FStar_Util.format1 "Expected an implementation of module %s, but couldn't find one" - key in - (FStar_Errors.Fatal_MissingImplementation, uu____1651) in - FStar_Errors.raise_err uu____1645 + key + in + (FStar_Errors.Fatal_MissingImplementation, uu____2028) + in + FStar_Errors.raise_err uu____2022 | FStar_Pervasives_Native.Some f -> maybe_use_cache_of f) | UseImplementation key -> - let uu____1661 = implementation_of_internal file_system_map key in - (match uu____1661 with - | FStar_Pervasives_Native.None -> - let uu____1667 = - let uu____1673 = + let uu____2038 = implementation_of_internal file_system_map key + in + (match uu____2038 with + | FStar_Pervasives_Native.None -> + let uu____2044 = + let uu____2050 = FStar_Util.format1 "Expected an implementation of module %s, but couldn't find one" - key in - (FStar_Errors.Fatal_MissingImplementation, uu____1673) in - FStar_Errors.raise_err uu____1667 + key + in + (FStar_Errors.Fatal_MissingImplementation, uu____2050) + in + FStar_Errors.raise_err uu____2044 | FStar_Pervasives_Native.Some f -> maybe_use_cache_of f) | FriendImplementation key -> - let uu____1683 = implementation_of_internal file_system_map key in - (match uu____1683 with - | FStar_Pervasives_Native.None -> - let uu____1689 = - let uu____1695 = + let uu____2060 = implementation_of_internal file_system_map key + in + (match uu____2060 with + | FStar_Pervasives_Native.None -> + let uu____2066 = + let uu____2072 = FStar_Util.format1 "Expected an implementation of module %s, but couldn't find one" - key in - (FStar_Errors.Fatal_MissingImplementation, uu____1695) in - FStar_Errors.raise_err uu____1689 + key + in + (FStar_Errors.Fatal_MissingImplementation, uu____2072) + in + FStar_Errors.raise_err uu____2066 | FStar_Pervasives_Native.Some f -> maybe_use_cache_of f) + let (file_of_dep : files_for_module_name -> file_name Prims.list -> dependence -> file_name) = - file_of_dep_aux false + file_of_dep_aux false let (dependences_of : files_for_module_name -> dependence_graph -> file_name Prims.list -> file_name -> file_name Prims.list) = - fun file_system_map -> - fun deps -> - fun all_cmd_line_files -> - fun fn -> - let uu____1756 = deps_try_find deps fn in - match uu____1756 with - | FStar_Pervasives_Native.None -> empty_dependences () + fun file_system_map -> + fun deps -> + fun all_cmd_line_files -> + fun fn -> + let uu____2133 = deps_try_find deps fn in + match uu____2133 with + | FStar_Pervasives_Native.None -> empty_dependences () | FStar_Pervasives_Native.Some - { edges = deps1; color = uu____1764;_} -> + { edges = deps1; color = uu____2141;_} -> FStar_List.map (file_of_dep file_system_map all_cmd_line_files) deps1 + let (print_graph : dependence_graph -> unit) = - fun graph -> + fun graph -> FStar_Util.print_endline "A DOT-format graph has been dumped in the current directory as dep.graph"; FStar_Util.print_endline "With GraphViz installed, try: fdp -Tpng -odep.png dep.graph"; FStar_Util.print_endline "Hint: cat dep.graph | grep -v _ | grep -v prims"; - (let uu____1778 = - let uu____1780 = - let uu____1782 = - let uu____1784 = - let uu____1788 = - let uu____1792 = deps_keys graph in - FStar_List.unique uu____1792 in + (let uu____2155 = + let uu____2157 = + let uu____2159 = + let uu____2161 = + let uu____2165 = + let uu____2169 = deps_keys graph in + FStar_List.unique uu____2169 in FStar_List.collect - (fun k -> + (fun k -> let deps = - let uu____1806 = - let uu____1807 = deps_try_find graph k in - FStar_Util.must uu____1807 in - uu____1806.edges in - let r s = FStar_Util.replace_char s 46 95 in + let uu____2183 = + let uu____2184 = deps_try_find graph k in + FStar_Util.must uu____2184 in + uu____2183.edges in + let r s = FStar_Util.replace_char s 46 95 in let print7 dep1 = - let uu____1828 = - let uu____1830 = lowercase_module_name k in - r uu____1830 in - FStar_Util.format2 " \"%s\" -> \"%s\"" uu____1828 - (r (module_name_of_dep dep1)) in - FStar_List.map print7 deps) uu____1788 in - FStar_String.concat "\n" uu____1784 in - FStar_String.op_Hat uu____1782 "\n}\n" in - FStar_String.op_Hat "digraph {\n" uu____1780 in - FStar_Util.write_file "dep.graph" uu____1778) + let uu____2205 = + let uu____2207 = lowercase_module_name k in + r uu____2207 in + FStar_Util.format2 " \"%s\" -> \"%s\"" uu____2205 + (r (module_name_of_dep dep1)) + in + FStar_List.map print7 deps) uu____2165 + in + FStar_String.concat "\n" uu____2161 in + FStar_String.op_Hat uu____2159 "\n}\n" in + FStar_String.op_Hat "digraph {\n" uu____2157 in + FStar_Util.write_file "dep.graph" uu____2155) + let (build_inclusion_candidates_list : unit -> (Prims.string * Prims.string) Prims.list) = - fun uu____1851 -> - let include_directories = FStar_Options.include_path () in + fun uu____2228 -> + let include_directories = FStar_Options.include_path () in let include_directories1 = - FStar_List.map FStar_Util.normalize_file_path include_directories in - let include_directories2 = FStar_List.unique include_directories1 in + FStar_List.map FStar_Util.normalize_file_path include_directories in + let include_directories2 = FStar_List.unique include_directories1 in let cwd = - let uu____1877 = FStar_Util.getcwd () in - FStar_Util.normalize_file_path uu____1877 in + let uu____2254 = FStar_Util.getcwd () in + FStar_Util.normalize_file_path uu____2254 in FStar_List.concatMap - (fun d -> + (fun d -> if FStar_Util.is_directory d then - let files = FStar_Util.readdir d in + let files = FStar_Util.readdir d in FStar_List.filter_map - (fun f -> - let f1 = FStar_Util.basename f in - let uu____1917 = check_and_strip_suffix f1 in - FStar_All.pipe_right uu____1917 + (fun f -> + let f1 = FStar_Util.basename f in + let uu____2294 = check_and_strip_suffix f1 in + FStar_All.pipe_right uu____2294 (FStar_Util.map_option - (fun longname -> + (fun longname -> let full_path = - if d = cwd then f1 else FStar_Util.join_paths d f1 in + if d = cwd then f1 else FStar_Util.join_paths d f1 + in (longname, full_path)))) files else - (let uu____1954 = - let uu____1960 = - FStar_Util.format1 "not a valid include directory: %s\n" d in - (FStar_Errors.Fatal_NotValidIncludeDirectory, uu____1960) in - FStar_Errors.raise_err uu____1954)) include_directories2 + (let uu____2331 = + let uu____2337 = + FStar_Util.format1 "not a valid include directory: %s\n" d + in + (FStar_Errors.Fatal_NotValidIncludeDirectory, uu____2337) in + FStar_Errors.raise_err uu____2331)) include_directories2 + let (build_map : Prims.string Prims.list -> files_for_module_name) = - fun filenames -> - let map1 = FStar_Util.smap_create (Prims.parse_int "41") in + fun filenames -> + let map1 = FStar_Util.smap_create (Prims.parse_int "41") in let add_entry key full_path = - let uu____2023 = FStar_Util.smap_try_find map1 key in - match uu____2023 with - | FStar_Pervasives_Native.Some (intf, impl) -> - let uu____2070 = is_interface full_path in - if uu____2070 + let uu____2400 = FStar_Util.smap_try_find map1 key in + match uu____2400 with + | FStar_Pervasives_Native.Some (intf,impl) -> + let uu____2447 = is_interface full_path in + if uu____2447 then FStar_Util.smap_add map1 key ((FStar_Pervasives_Native.Some full_path), impl) else FStar_Util.smap_add map1 key (intf, (FStar_Pervasives_Native.Some full_path)) - | FStar_Pervasives_Native.None -> - let uu____2119 = is_interface full_path in - if uu____2119 + | FStar_Pervasives_Native.None -> + let uu____2496 = is_interface full_path in + if uu____2496 then FStar_Util.smap_add map1 key ((FStar_Pervasives_Native.Some full_path), @@ -611,986 +814,1210 @@ let (build_map : Prims.string Prims.list -> files_for_module_name) = else FStar_Util.smap_add map1 key (FStar_Pervasives_Native.None, - (FStar_Pervasives_Native.Some full_path)) in - (let uu____2161 = build_inclusion_candidates_list () in + (FStar_Pervasives_Native.Some full_path)) + in + (let uu____2538 = build_inclusion_candidates_list () in FStar_List.iter - (fun uu____2179 -> - match uu____2179 with - | (longname, full_path) -> + (fun uu____2556 -> + match uu____2556 with + | (longname,full_path) -> add_entry (FStar_String.lowercase longname) full_path) - uu____2161); + uu____2538); FStar_List.iter - (fun f -> - let uu____2198 = lowercase_module_name f in add_entry uu____2198 f) + (fun f -> + let uu____2575 = lowercase_module_name f in add_entry uu____2575 f) filenames; map1 + let (enter_namespace : files_for_module_name -> files_for_module_name -> Prims.string -> Prims.bool) = - fun original_map -> - fun working_map -> - fun prefix1 -> - let found = FStar_Util.mk_ref false in - let prefix2 = FStar_String.op_Hat prefix1 "." in - (let uu____2230 = - let uu____2234 = FStar_Util.smap_keys original_map in - FStar_List.unique uu____2234 in - FStar_List.iter - (fun k -> - if FStar_Util.starts_with k prefix2 - then - let suffix = - FStar_String.substring k (FStar_String.length prefix2) - ((FStar_String.length k) - (FStar_String.length prefix2)) in - let filename = - let uu____2270 = FStar_Util.smap_try_find original_map k in - FStar_Util.must uu____2270 in - (FStar_Util.smap_add working_map suffix filename; - FStar_ST.op_Colon_Equals found true) - else ()) uu____2230); + fun original_map -> + fun working_map -> + fun prefix1 -> + let found = FStar_Util.mk_ref false in + let prefix2 = FStar_String.op_Hat prefix1 "." in + FStar_Util.smap_iter original_map + (fun k -> + fun uu____2623 -> + if FStar_Util.starts_with k prefix2 + then + let suffix = + FStar_String.substring k (FStar_String.length prefix2) + ((FStar_String.length k) - (FStar_String.length prefix2)) + in + let filename = + let uu____2649 = FStar_Util.smap_try_find original_map k + in + FStar_Util.must uu____2649 in + (FStar_Util.smap_add working_map suffix filename; + FStar_ST.op_Colon_Equals found true) + else ()); FStar_ST.op_Bang found + let (string_of_lid : FStar_Ident.lident -> Prims.bool -> Prims.string) = - fun l -> - fun last1 -> + fun l -> + fun last1 -> let suffix = - if last1 then [(l.FStar_Ident.ident).FStar_Ident.idText] else [] in + if last1 then [(l.FStar_Ident.ident).FStar_Ident.idText] else [] in let names = - let uu____2390 = - FStar_List.map (fun x -> x.FStar_Ident.idText) l.FStar_Ident.ns in - FStar_List.append uu____2390 suffix in + let uu____2769 = + FStar_List.map (fun x -> x.FStar_Ident.idText) l.FStar_Ident.ns + in + FStar_List.append uu____2769 suffix in FStar_String.concat "." names + let (lowercase_join_longident : FStar_Ident.lident -> Prims.bool -> Prims.string) = - fun l -> - fun last1 -> - let uu____2413 = string_of_lid l last1 in - FStar_String.lowercase uu____2413 + fun l -> + fun last1 -> + let uu____2792 = string_of_lid l last1 in + FStar_String.lowercase uu____2792 + let (namespace_of_lid : FStar_Ident.lident -> Prims.string) = - fun l -> - let uu____2422 = FStar_List.map FStar_Ident.text_of_id l.FStar_Ident.ns in - FStar_String.concat "_" uu____2422 + fun l -> + let uu____2801 = FStar_List.map FStar_Ident.text_of_id l.FStar_Ident.ns + in + FStar_String.concat "_" uu____2801 + let (check_module_declaration_against_filename : FStar_Ident.lident -> Prims.string -> unit) = - fun lid -> - fun filename -> - let k' = lowercase_join_longident lid true in - let uu____2444 = - let uu____2446 = - let uu____2448 = - let uu____2450 = - let uu____2454 = FStar_Util.basename filename in - check_and_strip_suffix uu____2454 in - FStar_Util.must uu____2450 in - FStar_String.lowercase uu____2448 in - uu____2446 <> k' in - if uu____2444 + fun lid -> + fun filename -> + let k' = lowercase_join_longident lid true in + let uu____2823 = + let uu____2825 = + let uu____2827 = + let uu____2829 = + let uu____2833 = FStar_Util.basename filename in + check_and_strip_suffix uu____2833 in + FStar_Util.must uu____2829 in + FStar_String.lowercase uu____2827 in + uu____2825 <> k' in + if uu____2823 then - let uu____2459 = FStar_Ident.range_of_lid lid in - let uu____2460 = - let uu____2466 = - let uu____2468 = string_of_lid lid true in + let uu____2838 = FStar_Ident.range_of_lid lid in + let uu____2839 = + let uu____2845 = + let uu____2847 = string_of_lid lid true in FStar_Util.format2 "The module declaration \"module %s\" found in file %s does not match its filename. Dependencies will be incorrect and the module will not be verified.\n" - uu____2468 filename in - (FStar_Errors.Error_ModuleFileNameMismatch, uu____2466) in - FStar_Errors.log_issue uu____2459 uu____2460 + uu____2847 filename + in + (FStar_Errors.Error_ModuleFileNameMismatch, uu____2845) in + FStar_Errors.log_issue uu____2838 uu____2839 else () + exception Exit let (uu___is_Exit : Prims.exn -> Prims.bool) = - fun projectee -> match projectee with | Exit -> true | uu____2484 -> false + fun projectee -> + match projectee with | Exit -> true | uu____2863 -> false + let (hard_coded_dependencies : Prims.string -> (FStar_Ident.lident * open_kind) Prims.list) = - fun full_filename -> - let filename = FStar_Util.basename full_filename in + fun full_filename -> + let filename = FStar_Util.basename full_filename in let corelibs = - let uu____2506 = FStar_Options.prims_basename () in - let uu____2508 = - let uu____2512 = FStar_Options.pervasives_basename () in - let uu____2514 = - let uu____2518 = FStar_Options.pervasives_native_basename () in - [uu____2518] in - uu____2512 :: uu____2514 in - uu____2506 :: uu____2508 in + let uu____2885 = FStar_Options.prims_basename () in + let uu____2887 = + let uu____2891 = FStar_Options.pervasives_basename () in + let uu____2893 = + let uu____2897 = FStar_Options.pervasives_native_basename () in + [uu____2897] in + uu____2891 :: uu____2893 in + uu____2885 :: uu____2887 in if FStar_List.mem filename corelibs then [] else (let implicit_deps = [(FStar_Parser_Const.fstar_ns_lid, Open_namespace); (FStar_Parser_Const.prims_lid, Open_module); - (FStar_Parser_Const.pervasives_lid, Open_module)] in - let uu____2561 = - let uu____2564 = lowercase_module_name full_filename in - namespace_of_module uu____2564 in - match uu____2561 with - | FStar_Pervasives_Native.None -> implicit_deps + (FStar_Parser_Const.pervasives_lid, Open_module)] in + let uu____2940 = + let uu____2943 = lowercase_module_name full_filename in + namespace_of_module uu____2943 in + match uu____2940 with + | FStar_Pervasives_Native.None -> implicit_deps | FStar_Pervasives_Native.Some ns -> FStar_List.append implicit_deps [(ns, Open_namespace)]) + let (dep_subsumed_by : dependence -> dependence -> Prims.bool) = - fun d -> - fun d' -> + fun d -> + fun d' -> match (d, d') with - | (PreferInterface l', FriendImplementation l) -> l = l' - | uu____2603 -> d = d' + | (PreferInterface l',FriendImplementation l) -> l = l' + | uu____2982 -> d = d' + let (collect_one : files_for_module_name -> Prims.string -> (Prims.string -> parsing_data FStar_Pervasives_Native.option) -> - parsing_data) + (parsing_data * dependence Prims.list * Prims.bool * dependence + Prims.list)) = - fun original_map -> - fun filename -> - fun get_parsing_data_from_cache -> + fun original_map -> + fun filename -> + fun get_parsing_data_from_cache -> + let from_parsing_data pd original_map1 filename1 = + let deps = FStar_Util.mk_ref [] in + let has_inline_for_extraction = FStar_Util.mk_ref false in + let mo_roots = + let mname = lowercase_module_name filename1 in + let uu____3100 = + (is_interface filename1) && + (has_implementation original_map1 mname) + in + if uu____3100 then [UseImplementation mname] else [] in + let auto_open = + let uu____3110 = hard_coded_dependencies filename1 in + FStar_All.pipe_right uu____3110 + (FStar_List.map + (fun uu____3132 -> + match uu____3132 with + | (lid,k) -> P_open_module_or_namespace (k, lid))) + in + let working_map = FStar_Util.smap_copy original_map1 in + let set_interface_inlining uu____3167 = + let uu____3168 = is_interface filename1 in + if uu____3168 + then FStar_ST.op_Colon_Equals has_inline_for_extraction true + else () in + let add_dep deps1 d = + let uu____3290 = + let uu____3292 = + let uu____3294 = FStar_ST.op_Bang deps1 in + FStar_List.existsML (dep_subsumed_by d) uu____3294 in + Prims.op_Negation uu____3292 in + if uu____3290 + then + let uu____3321 = + let uu____3324 = FStar_ST.op_Bang deps1 in d :: uu____3324 + in + FStar_ST.op_Colon_Equals deps1 uu____3321 + else () in + let dep_edge module_name is_friend = + if is_friend + then FriendImplementation module_name + else PreferInterface module_name in + let add_dependence_edge original_or_working_map lid is_friend = + let key = lowercase_join_longident lid true in + let uu____3415 = resolve_module_name original_or_working_map key + in + match uu____3415 with + | FStar_Pervasives_Native.Some module_name -> + (add_dep deps (dep_edge module_name is_friend); true) + | uu____3425 -> false in + let record_open_module let_open lid = + let uu____3444 = + (let_open && (add_dependence_edge working_map lid false)) || + ((Prims.op_Negation let_open) && + (add_dependence_edge original_map1 lid false)) + in + if uu____3444 + then true + else + (if let_open + then + (let uu____3455 = FStar_Ident.range_of_lid lid in + let uu____3456 = + let uu____3462 = + let uu____3464 = string_of_lid lid true in + FStar_Util.format1 "Module not found: %s" uu____3464 + in + (FStar_Errors.Warning_ModuleOrFileNotFoundWarning, + uu____3462) + in + FStar_Errors.log_issue uu____3455 uu____3456) + else (); + false) + in + let record_open_namespace lid = + let key = lowercase_join_longident lid true in + let r = enter_namespace original_map1 working_map key in + if Prims.op_Negation r + then + let uu____3484 = FStar_Ident.range_of_lid lid in + let uu____3485 = + let uu____3491 = + let uu____3493 = string_of_lid lid true in + FStar_Util.format1 + "No modules in namespace %s and no file with that name either" + uu____3493 + in + (FStar_Errors.Warning_ModuleOrFileNotFoundWarning, + uu____3491) + in + FStar_Errors.log_issue uu____3484 uu____3485 + else () in + let record_open let_open lid = + let uu____3513 = record_open_module let_open lid in + if uu____3513 + then () + else + if Prims.op_Negation let_open + then record_open_namespace lid + else () + in + let record_open_module_or_namespace uu____3530 = + match uu____3530 with + | (lid,kind) -> + (match kind with + | Open_namespace -> record_open_namespace lid + | Open_module -> + let uu____3537 = record_open_module false lid in ()) + in + let record_module_alias ident lid = + let key = + let uu____3554 = FStar_Ident.text_of_id ident in + FStar_String.lowercase uu____3554 in + let alias = lowercase_join_longident lid true in + let uu____3559 = FStar_Util.smap_try_find original_map1 alias in + match uu____3559 with + | FStar_Pervasives_Native.Some deps_of_aliased_module -> + (FStar_Util.smap_add working_map key deps_of_aliased_module; + (let uu____3616 = + let uu____3617 = lowercase_join_longident lid true in + dep_edge uu____3617 false in + add_dep deps uu____3616); + true) + | FStar_Pervasives_Native.None -> + ((let uu____3633 = FStar_Ident.range_of_lid lid in + let uu____3634 = + let uu____3640 = + FStar_Util.format1 + "module not found in search path: %s\n" alias + in + (FStar_Errors.Warning_ModuleOrFileNotFoundWarning, + uu____3640) + in + FStar_Errors.log_issue uu____3633 uu____3634); + false) + in + let add_dep_on_module module_name is_friend = + let uu____3658 = + add_dependence_edge working_map module_name is_friend in + if uu____3658 + then () + else + (let uu____3663 = FStar_Options.debug_any () in + if uu____3663 + then + let uu____3666 = FStar_Ident.range_of_lid module_name in + let uu____3667 = + let uu____3673 = + let uu____3675 = FStar_Ident.string_of_lid module_name + in + FStar_Util.format1 "Unbound module reference %s" + uu____3675 + in + (FStar_Errors.Warning_UnboundModuleReference, uu____3673) + in + FStar_Errors.log_issue uu____3666 uu____3667 + else ()) + in + let record_lid lid = + match lid.FStar_Ident.ns with + | [] -> () + | uu____3687 -> + let module_name = FStar_Ident.lid_of_ids lid.FStar_Ident.ns + in + add_dep_on_module module_name false + in + let begin_module lid = + if (FStar_List.length lid.FStar_Ident.ns) > (Prims.parse_int "0") + then + let uu____3700 = + let uu____3702 = namespace_of_lid lid in + enter_namespace original_map1 working_map uu____3702 in + () + else () in + (match pd with + | Mk_pd l -> + FStar_All.pipe_right (FStar_List.append auto_open l) + (FStar_List.iter + (fun elt -> + match elt with + | P_begin_module lid -> begin_module lid + | P_open (b,lid) -> record_open b lid + | P_open_module_or_namespace (k,lid) -> + record_open_module_or_namespace (lid, k) + | P_dep (b,lid) -> add_dep_on_module lid b + | P_alias (id1,lid) -> + let uu____3728 = record_module_alias id1 lid in + () + | P_lid lid -> record_lid lid + | P_inline_for_extraction -> + set_interface_inlining ()))); + (let uu____3731 = FStar_ST.op_Bang deps in + let uu____3757 = FStar_ST.op_Bang has_inline_for_extraction in + (uu____3731, uu____3757, mo_roots)) + in let data_from_cache = - FStar_All.pipe_right filename get_parsing_data_from_cache in - let uu____2643 = - FStar_All.pipe_right data_from_cache FStar_Util.is_some in - if uu____2643 + FStar_All.pipe_right filename get_parsing_data_from_cache in + let uu____3791 = + FStar_All.pipe_right data_from_cache FStar_Util.is_some in + if uu____3791 then - ((let uu____2650 = FStar_Options.debug_any () in - if uu____2650 + ((let uu____3811 = FStar_Options.debug_any () in + if uu____3811 then FStar_Util.print1 - "Reading parsing data for %s from its checked file\n" + "Reading the parsing data for %s from its checked file\n" filename else ()); - FStar_All.pipe_right data_from_cache FStar_Util.must) + (let uu____3817 = + let uu____3829 = + FStar_All.pipe_right data_from_cache FStar_Util.must in + from_parsing_data uu____3829 original_map filename in + match uu____3817 with + | (deps,has_inline_for_extraction,mo_roots) -> + let uu____3858 = + FStar_All.pipe_right data_from_cache FStar_Util.must in + (uu____3858, deps, has_inline_for_extraction, mo_roots))) else - (let deps = FStar_Util.mk_ref [] in - let mo_roots = FStar_Util.mk_ref [] in - let has_inline_for_extraction = FStar_Util.mk_ref false in - let set_interface_inlining uu____2685 = - let uu____2686 = is_interface filename in - if uu____2686 - then FStar_ST.op_Colon_Equals has_inline_for_extraction true - else () in - let add_dep deps1 d = - let uu____2808 = - let uu____2810 = - let uu____2812 = FStar_ST.op_Bang deps1 in - FStar_List.existsML (dep_subsumed_by d) uu____2812 in - Prims.op_Negation uu____2810 in - if uu____2808 + (let num_of_toplevelmods = FStar_Util.mk_ref (Prims.parse_int "0") + in + let pd = FStar_Util.mk_ref [] in + let add_to_parsing_data elt = + let uu____3887 = + let uu____3889 = + let uu____3891 = FStar_ST.op_Bang pd in + FStar_List.existsML (fun e -> parsing_data_elt_eq e elt) + uu____3891 + in + Prims.op_Negation uu____3889 in + if uu____3887 then - let uu____2839 = - let uu____2842 = FStar_ST.op_Bang deps1 in d :: uu____2842 in - FStar_ST.op_Colon_Equals deps1 uu____2839 - else () in - let working_map = FStar_Util.smap_copy original_map in - let dep_edge module_name = PreferInterface module_name in - let add_dependence_edge original_or_working_map lid = - let key = lowercase_join_longident lid true in - let uu____2939 = resolve_module_name original_or_working_map key in - match uu____2939 with - | FStar_Pervasives_Native.Some module_name -> - (add_dep deps (dep_edge module_name); - (let uu____2949 = - (has_interface original_or_working_map module_name) && - (has_implementation original_or_working_map - module_name) in - if uu____2949 - then add_dep mo_roots (UseImplementation module_name) - else ()); - true) - | uu____2955 -> false in - let record_open_module let_open lid = - let uu____2974 = - (let_open && (add_dependence_edge working_map lid)) || - ((Prims.op_Negation let_open) && - (add_dependence_edge original_map lid)) in - if uu____2974 - then true - else - (if let_open - then - (let uu____2983 = FStar_Ident.range_of_lid lid in - let uu____2984 = - let uu____2990 = - let uu____2992 = string_of_lid lid true in - FStar_Util.format1 "Module not found: %s" uu____2992 in - (FStar_Errors.Warning_ModuleOrFileNotFoundWarning, - uu____2990) in - FStar_Errors.log_issue uu____2983 uu____2984) - else (); - false) in - let record_open_namespace lid = - let key = lowercase_join_longident lid true in - let r = enter_namespace original_map working_map key in - if Prims.op_Negation r - then - let uu____3012 = FStar_Ident.range_of_lid lid in - let uu____3013 = - let uu____3019 = - let uu____3021 = string_of_lid lid true in - FStar_Util.format1 - "No modules in namespace %s and no file with that name either" - uu____3021 in - (FStar_Errors.Warning_ModuleOrFileNotFoundWarning, - uu____3019) in - FStar_Errors.log_issue uu____3012 uu____3013 - else () in - let record_open let_open lid = - let uu____3041 = record_open_module let_open lid in - if uu____3041 - then () - else - if Prims.op_Negation let_open - then record_open_namespace lid - else () in - let record_open_module_or_namespace uu____3058 = - match uu____3058 with - | (lid, kind) -> - (match kind with - | Open_namespace -> record_open_namespace lid - | Open_module -> - let uu____3065 = record_open_module false lid in ()) in - let record_module_alias ident lid = - let key = - let uu____3082 = FStar_Ident.text_of_id ident in - FStar_String.lowercase uu____3082 in - let alias = lowercase_join_longident lid true in - let uu____3087 = FStar_Util.smap_try_find original_map alias in - match uu____3087 with - | FStar_Pervasives_Native.Some deps_of_aliased_module -> - (FStar_Util.smap_add working_map key deps_of_aliased_module; - true) - | FStar_Pervasives_Native.None -> - ((let uu____3155 = FStar_Ident.range_of_lid lid in - let uu____3156 = - let uu____3162 = - FStar_Util.format1 - "module not found in search path: %s\n" alias in - (FStar_Errors.Warning_ModuleOrFileNotFoundWarning, - uu____3162) in - FStar_Errors.log_issue uu____3155 uu____3156); - false) in - let add_dep_on_module module_name = - let uu____3173 = add_dependence_edge working_map module_name in - if uu____3173 - then () - else - (let uu____3178 = FStar_Options.debug_any () in - if uu____3178 - then - let uu____3181 = FStar_Ident.range_of_lid module_name in - let uu____3182 = - let uu____3188 = - let uu____3190 = FStar_Ident.string_of_lid module_name in - FStar_Util.format1 "Unbound module reference %s" - uu____3190 in - (FStar_Errors.Warning_UnboundModuleReference, uu____3188) in - FStar_Errors.log_issue uu____3181 uu____3182 - else ()) in - let record_lid lid = - match lid.FStar_Ident.ns with - | [] -> () - | uu____3202 -> - let module_name = FStar_Ident.lid_of_ids lid.FStar_Ident.ns in - add_dep_on_module module_name in - let auto_open = hard_coded_dependencies filename in - FStar_List.iter record_open_module_or_namespace auto_open; - (let num_of_toplevelmods = FStar_Util.mk_ref (Prims.parse_int "0") in - let rec collect_module uu___3_3330 = - match uu___3_3330 with - | FStar_Parser_AST.Module (lid, decls) -> - (check_module_declaration_against_filename lid filename; - if - (FStar_List.length lid.FStar_Ident.ns) > - (Prims.parse_int "0") + let uu____3920 = + let uu____3923 = FStar_ST.op_Bang pd in elt :: uu____3923 + in + FStar_ST.op_Colon_Equals pd uu____3920 + else () in + let rec collect_module uu___5_4080 = + match uu___5_4080 with + | FStar_Parser_AST.Module (lid,decls) -> + (check_module_declaration_against_filename lid filename; + add_to_parsing_data (P_begin_module lid); + collect_decls decls) + | FStar_Parser_AST.Interface (lid,decls,uu____4091) -> + (check_module_declaration_against_filename lid filename; + add_to_parsing_data (P_begin_module lid); + collect_decls decls) + + and collect_decls decls = + FStar_List.iter + (fun x -> + collect_decl x.FStar_Parser_AST.d; + FStar_List.iter collect_term x.FStar_Parser_AST.attrs; + (match x.FStar_Parser_AST.d with + | FStar_Parser_AST.Val uu____4110 when + FStar_List.contains + FStar_Parser_AST.Inline_for_extraction + x.FStar_Parser_AST.quals + -> add_to_parsing_data P_inline_for_extraction + | uu____4115 -> ())) decls + + and collect_decl d = + match d with + | FStar_Parser_AST.Include lid -> + add_to_parsing_data (P_open (false, lid)) + | FStar_Parser_AST.Open lid -> + add_to_parsing_data (P_open (false, lid)) + | FStar_Parser_AST.Friend lid -> + let uu____4124 = + let uu____4125 = + let uu____4131 = + let uu____4132 = lowercase_join_longident lid true in + FStar_All.pipe_right uu____4132 FStar_Ident.lid_of_str + in + (true, uu____4131) in + P_dep uu____4125 in + add_to_parsing_data uu____4124 + | FStar_Parser_AST.ModuleAbbrev (ident,lid) -> + add_to_parsing_data (P_alias (ident, lid)) + | FStar_Parser_AST.TopLevelLet (uu____4140,patterms) -> + FStar_List.iter + (fun uu____4162 -> + match uu____4162 with + | (pat,t) -> (collect_pattern pat; collect_term t)) + patterms + | FStar_Parser_AST.Main t -> collect_term t + | FStar_Parser_AST.Splice (uu____4171,t) -> collect_term t + | FStar_Parser_AST.Assume (uu____4177,t) -> collect_term t + | FStar_Parser_AST.SubEffect + { FStar_Parser_AST.msource = uu____4179; + FStar_Parser_AST.mdest = uu____4180; + FStar_Parser_AST.lift_op = + FStar_Parser_AST.NonReifiableLift t;_} + -> collect_term t + | FStar_Parser_AST.SubEffect + { FStar_Parser_AST.msource = uu____4182; + FStar_Parser_AST.mdest = uu____4183; + FStar_Parser_AST.lift_op = FStar_Parser_AST.LiftForFree t;_} + -> collect_term t + | FStar_Parser_AST.Val (uu____4185,t) -> collect_term t + | FStar_Parser_AST.SubEffect + { FStar_Parser_AST.msource = uu____4187; + FStar_Parser_AST.mdest = uu____4188; + FStar_Parser_AST.lift_op = FStar_Parser_AST.ReifiableLift + (t0,t1);_} + -> (collect_term t0; collect_term t1) + | FStar_Parser_AST.Tycon (uu____4192,tc,ts) -> + (if tc + then + add_to_parsing_data + (P_lid FStar_Parser_Const.mk_class_lid) + else (); + (let ts1 = + FStar_List.map + (fun uu____4231 -> + match uu____4231 with | (x,docnik) -> x) ts + in + FStar_List.iter collect_tycon ts1)) + | FStar_Parser_AST.Exception (uu____4244,t) -> + FStar_Util.iter_opt t collect_term + | FStar_Parser_AST.NewEffect ed -> collect_effect_decl ed + | FStar_Parser_AST.Fsdoc uu____4251 -> () + | FStar_Parser_AST.Pragma uu____4252 -> () + | FStar_Parser_AST.TopLevelModule lid -> + (FStar_Util.incr num_of_toplevelmods; + (let uu____4255 = + let uu____4257 = FStar_ST.op_Bang num_of_toplevelmods + in + uu____4257 > (Prims.parse_int "1") in + if uu____4255 then - (let uu____3341 = - let uu____3343 = namespace_of_lid lid in - enter_namespace original_map working_map uu____3343 in - ()) - else (); - collect_decls decls) - | FStar_Parser_AST.Interface (lid, decls, uu____3349) -> - (check_module_declaration_against_filename lid filename; - if - (FStar_List.length lid.FStar_Ident.ns) > - (Prims.parse_int "0") + let uu____4282 = + let uu____4288 = + let uu____4290 = string_of_lid lid true in + FStar_Util.format1 + "Automatic dependency analysis demands one module per file (module %s not supported)" + uu____4290 + in + (FStar_Errors.Fatal_OneModulePerFile, uu____4288) in + let uu____4295 = FStar_Ident.range_of_lid lid in + FStar_Errors.raise_error uu____4282 uu____4295 + else ())) + + and collect_tycon uu___6_4298 = + match uu___6_4298 with + | FStar_Parser_AST.TyconAbstract (uu____4299,binders,k) -> + (collect_binders binders; FStar_Util.iter_opt k collect_term) + | FStar_Parser_AST.TyconAbbrev (uu____4311,binders,k,t) -> + (collect_binders binders; + FStar_Util.iter_opt k collect_term; + collect_term t) + | FStar_Parser_AST.TyconRecord (uu____4325,binders,k,identterms) + -> + (collect_binders binders; + FStar_Util.iter_opt k collect_term; + FStar_List.iter + (fun uu____4371 -> + match uu____4371 with + | (uu____4380,t,uu____4382) -> collect_term t) + identterms) + | FStar_Parser_AST.TyconVariant + (uu____4387,binders,k,identterms) -> + (collect_binders binders; + FStar_Util.iter_opt k collect_term; + FStar_List.iter + (fun uu____4449 -> + match uu____4449 with + | (uu____4463,t,uu____4465,uu____4466) -> + FStar_Util.iter_opt t collect_term) identterms) + + and collect_effect_decl uu___7_4477 = + match uu___7_4477 with + | FStar_Parser_AST.DefineEffect (uu____4478,binders,t,decls) -> + (collect_binders binders; + collect_term t; + collect_decls decls) + | FStar_Parser_AST.RedefineEffect (uu____4492,binders,t) -> + (collect_binders binders; collect_term t) + + and collect_binders binders = + FStar_List.iter collect_binder binders + + and collect_binder b = + collect_aqual b.FStar_Parser_AST.aqual; + (match b with + | { + FStar_Parser_AST.b = FStar_Parser_AST.Annotated + (uu____4505,t); + FStar_Parser_AST.brange = uu____4507; + FStar_Parser_AST.blevel = uu____4508; + FStar_Parser_AST.aqual = uu____4509;_} -> collect_term t + | { + FStar_Parser_AST.b = FStar_Parser_AST.TAnnotated + (uu____4512,t); + FStar_Parser_AST.brange = uu____4514; + FStar_Parser_AST.blevel = uu____4515; + FStar_Parser_AST.aqual = uu____4516;_} -> collect_term t + | { FStar_Parser_AST.b = FStar_Parser_AST.NoName t; + FStar_Parser_AST.brange = uu____4520; + FStar_Parser_AST.blevel = uu____4521; + FStar_Parser_AST.aqual = uu____4522;_} -> collect_term t + | uu____4525 -> ()) + + and collect_aqual uu___8_4526 = + match uu___8_4526 with + | FStar_Pervasives_Native.Some (FStar_Parser_AST.Meta t) -> + collect_term t + | uu____4530 -> () + + and collect_term t = collect_term' t.FStar_Parser_AST.tm + + and collect_constant uu___9_4534 = + match uu___9_4534 with + | FStar_Const.Const_int + (uu____4535,FStar_Pervasives_Native.Some (signedness,width)) + -> + let u = + match signedness with + | FStar_Const.Unsigned -> "u" + | FStar_Const.Signed -> "" in + let w = + match width with + | FStar_Const.Int8 -> "8" + | FStar_Const.Int16 -> "16" + | FStar_Const.Int32 -> "32" + | FStar_Const.Int64 -> "64" in + let uu____4562 = + let uu____4563 = + let uu____4569 = + let uu____4570 = + FStar_Util.format2 "fstar.%sint%s" u w in + FStar_All.pipe_right uu____4570 FStar_Ident.lid_of_str + in + (false, uu____4569) in + P_dep uu____4563 in + add_to_parsing_data uu____4562 + | FStar_Const.Const_char uu____4576 -> + let uu____4578 = + let uu____4579 = + let uu____4585 = + FStar_All.pipe_right "fstar.char" + FStar_Ident.lid_of_str + in + (false, uu____4585) in + P_dep uu____4579 in + add_to_parsing_data uu____4578 + | FStar_Const.Const_float uu____4590 -> + let uu____4591 = + let uu____4592 = + let uu____4598 = + FStar_All.pipe_right "fstar.float" + FStar_Ident.lid_of_str + in + (false, uu____4598) in + P_dep uu____4592 in + add_to_parsing_data uu____4591 + | uu____4603 -> () + + and collect_term' uu___12_4604 = + match uu___12_4604 with + | FStar_Parser_AST.Wild -> () + | FStar_Parser_AST.Const c -> collect_constant c + | FStar_Parser_AST.Op (s,ts) -> + ((let uu____4613 = + let uu____4615 = FStar_Ident.text_of_id s in + uu____4615 = "@" in + if uu____4613 then - (let uu____3360 = - let uu____3362 = namespace_of_lid lid in - enter_namespace original_map working_map uu____3362 in - ()) - else (); - collect_decls decls) - and collect_decls decls = - FStar_List.iter - (fun x -> - collect_decl x.FStar_Parser_AST.d; - FStar_List.iter collect_term x.FStar_Parser_AST.attrs; - if - FStar_List.contains - FStar_Parser_AST.Inline_for_extraction - x.FStar_Parser_AST.quals - then set_interface_inlining () - else ()) decls - and collect_decl d = - match d with - | FStar_Parser_AST.Include lid -> record_open false lid - | FStar_Parser_AST.Open lid -> record_open false lid - | FStar_Parser_AST.Friend lid -> - let uu____3384 = - let uu____3385 = lowercase_join_longident lid true in - FriendImplementation uu____3385 in - add_dep deps uu____3384 - | FStar_Parser_AST.ModuleAbbrev (ident, lid) -> - let uu____3390 = record_module_alias ident lid in - if uu____3390 - then - let uu____3393 = - let uu____3394 = lowercase_join_longident lid true in - dep_edge uu____3394 in - add_dep deps uu____3393 - else () - | FStar_Parser_AST.TopLevelLet (uu____3399, patterms) -> + let uu____4620 = + let uu____4621 = + let uu____4622 = + FStar_Ident.path_of_text + "FStar.List.Tot.Base.append" + in + FStar_Ident.lid_of_path uu____4622 + FStar_Range.dummyRange + in + FStar_Parser_AST.Name uu____4621 in + collect_term' uu____4620 + else ()); + FStar_List.iter collect_term ts) + | FStar_Parser_AST.Tvar uu____4626 -> () + | FStar_Parser_AST.Uvar uu____4627 -> () + | FStar_Parser_AST.Var lid -> add_to_parsing_data (P_lid lid) + | FStar_Parser_AST.Projector (lid,uu____4630) -> + add_to_parsing_data (P_lid lid) + | FStar_Parser_AST.Discrim lid -> + add_to_parsing_data (P_lid lid) + | FStar_Parser_AST.Name lid -> add_to_parsing_data (P_lid lid) + | FStar_Parser_AST.Construct (lid,termimps) -> + (add_to_parsing_data (P_lid lid); FStar_List.iter - (fun uu____3421 -> - match uu____3421 with - | (pat, t) -> (collect_pattern pat; collect_term t)) - patterms - | FStar_Parser_AST.Main t -> collect_term t - | FStar_Parser_AST.Splice (uu____3430, t) -> collect_term t - | FStar_Parser_AST.Assume (uu____3436, t) -> collect_term t - | FStar_Parser_AST.SubEffect - { FStar_Parser_AST.msource = uu____3438; - FStar_Parser_AST.mdest = uu____3439; - FStar_Parser_AST.lift_op = - FStar_Parser_AST.NonReifiableLift t;_} - -> collect_term t - | FStar_Parser_AST.SubEffect - { FStar_Parser_AST.msource = uu____3441; - FStar_Parser_AST.mdest = uu____3442; - FStar_Parser_AST.lift_op = FStar_Parser_AST.LiftForFree t;_} - -> collect_term t - | FStar_Parser_AST.Val (uu____3444, t) -> collect_term t - | FStar_Parser_AST.SubEffect - { FStar_Parser_AST.msource = uu____3446; - FStar_Parser_AST.mdest = uu____3447; - FStar_Parser_AST.lift_op = FStar_Parser_AST.ReifiableLift - (t0, t1);_} - -> (collect_term t0; collect_term t1) - | FStar_Parser_AST.Tycon (uu____3451, tc, ts) -> - (if tc - then record_lid FStar_Parser_Const.mk_class_lid - else (); - (let ts1 = - FStar_List.map - (fun uu____3490 -> - match uu____3490 with | (x, docnik) -> x) ts in - FStar_List.iter collect_tycon ts1)) - | FStar_Parser_AST.Exception (uu____3503, t) -> - FStar_Util.iter_opt t collect_term - | FStar_Parser_AST.NewEffect ed -> collect_effect_decl ed - | FStar_Parser_AST.Fsdoc uu____3510 -> () - | FStar_Parser_AST.Pragma uu____3511 -> () - | FStar_Parser_AST.TopLevelModule lid -> - (FStar_Util.incr num_of_toplevelmods; - (let uu____3514 = - let uu____3516 = FStar_ST.op_Bang num_of_toplevelmods in - uu____3516 > (Prims.parse_int "1") in - if uu____3514 - then - let uu____3541 = - let uu____3547 = - let uu____3549 = string_of_lid lid true in - FStar_Util.format1 - "Automatic dependency analysis demands one module per file (module %s not supported)" - uu____3549 in - (FStar_Errors.Fatal_OneModulePerFile, uu____3547) in - let uu____3554 = FStar_Ident.range_of_lid lid in - FStar_Errors.raise_error uu____3541 uu____3554 - else ())) - and collect_tycon uu___4_3557 = - match uu___4_3557 with - | FStar_Parser_AST.TyconAbstract (uu____3558, binders, k) -> - (collect_binders binders; - FStar_Util.iter_opt k collect_term) - | FStar_Parser_AST.TyconAbbrev (uu____3570, binders, k, t) -> - (collect_binders binders; - FStar_Util.iter_opt k collect_term; - collect_term t) - | FStar_Parser_AST.TyconRecord - (uu____3584, binders, k, identterms) -> - (collect_binders binders; - FStar_Util.iter_opt k collect_term; - FStar_List.iter - (fun uu____3630 -> - match uu____3630 with - | (uu____3639, t, uu____3641) -> collect_term t) - identterms) - | FStar_Parser_AST.TyconVariant - (uu____3646, binders, k, identterms) -> - (collect_binders binders; - FStar_Util.iter_opt k collect_term; - FStar_List.iter - (fun uu____3708 -> - match uu____3708 with - | (uu____3722, t, uu____3724, uu____3725) -> - FStar_Util.iter_opt t collect_term) identterms) - and collect_effect_decl uu___5_3736 = - match uu___5_3736 with - | FStar_Parser_AST.DefineEffect (uu____3737, binders, t, decls) - -> - (collect_binders binders; - collect_term t; - collect_decls decls) - | FStar_Parser_AST.RedefineEffect (uu____3751, binders, t) -> - (collect_binders binders; collect_term t) - and collect_binders binders = - FStar_List.iter collect_binder binders - and collect_binder b = - collect_aqual b.FStar_Parser_AST.aqual; - (match b with - | { - FStar_Parser_AST.b = FStar_Parser_AST.Annotated - (uu____3764, t); - FStar_Parser_AST.brange = uu____3766; - FStar_Parser_AST.blevel = uu____3767; - FStar_Parser_AST.aqual = uu____3768;_} -> collect_term t - | { - FStar_Parser_AST.b = FStar_Parser_AST.TAnnotated - (uu____3771, t); - FStar_Parser_AST.brange = uu____3773; - FStar_Parser_AST.blevel = uu____3774; - FStar_Parser_AST.aqual = uu____3775;_} -> collect_term t - | { FStar_Parser_AST.b = FStar_Parser_AST.NoName t; - FStar_Parser_AST.brange = uu____3779; - FStar_Parser_AST.blevel = uu____3780; - FStar_Parser_AST.aqual = uu____3781;_} -> collect_term t - | uu____3784 -> ()) - and collect_aqual uu___6_3785 = - match uu___6_3785 with - | FStar_Pervasives_Native.Some (FStar_Parser_AST.Meta t) -> - collect_term t - | uu____3789 -> () - and collect_term t = collect_term' t.FStar_Parser_AST.tm - and collect_constant uu___7_3793 = - match uu___7_3793 with - | FStar_Const.Const_int - (uu____3794, FStar_Pervasives_Native.Some - (signedness, width)) - -> - let u = - match signedness with - | FStar_Const.Unsigned -> "u" - | FStar_Const.Signed -> "" in - let w = - match width with - | FStar_Const.Int8 -> "8" - | FStar_Const.Int16 -> "16" - | FStar_Const.Int32 -> "32" - | FStar_Const.Int64 -> "64" in - let uu____3821 = - let uu____3822 = FStar_Util.format2 "fstar.%sint%s" u w in - dep_edge uu____3822 in - add_dep deps uu____3821 - | FStar_Const.Const_char uu____3825 -> - add_dep deps (dep_edge "fstar.char") - | FStar_Const.Const_float uu____3828 -> - add_dep deps (dep_edge "fstar.float") - | uu____3830 -> () - and collect_term' uu___10_3831 = - match uu___10_3831 with - | FStar_Parser_AST.Wild -> () - | FStar_Parser_AST.Const c -> collect_constant c - | FStar_Parser_AST.Op (s, ts) -> - ((let uu____3840 = - let uu____3842 = FStar_Ident.text_of_id s in - uu____3842 = "@" in - if uu____3840 - then - let uu____3847 = - let uu____3848 = - let uu____3849 = - FStar_Ident.path_of_text - "FStar.List.Tot.Base.append" in - FStar_Ident.lid_of_path uu____3849 - FStar_Range.dummyRange in - FStar_Parser_AST.Name uu____3848 in - collect_term' uu____3847 - else ()); - FStar_List.iter collect_term ts) - | FStar_Parser_AST.Tvar uu____3853 -> () - | FStar_Parser_AST.Uvar uu____3854 -> () - | FStar_Parser_AST.Var lid -> record_lid lid - | FStar_Parser_AST.Projector (lid, uu____3857) -> - record_lid lid - | FStar_Parser_AST.Discrim lid -> record_lid lid - | FStar_Parser_AST.Name lid -> record_lid lid - | FStar_Parser_AST.Construct (lid, termimps) -> - (record_lid lid; - FStar_List.iter - (fun uu____3882 -> - match uu____3882 with - | (t, uu____3888) -> collect_term t) termimps) - | FStar_Parser_AST.Abs (pats, t) -> - (collect_patterns pats; collect_term t) - | FStar_Parser_AST.App (t1, t2, uu____3898) -> - (collect_term t1; collect_term t2) - | FStar_Parser_AST.Let (uu____3900, patterms, t) -> - (FStar_List.iter - (fun uu____3950 -> - match uu____3950 with - | (attrs_opt, (pat, t1)) -> - ((let uu____3979 = - FStar_Util.map_opt attrs_opt - (FStar_List.iter collect_term) in - ()); - collect_pattern pat; - collect_term t1)) patterms; - collect_term t) - | FStar_Parser_AST.LetOpen (lid, t) -> - (record_open true lid; collect_term t) - | FStar_Parser_AST.Bind (uu____3989, t1, t2) -> - (collect_term t1; collect_term t2) - | FStar_Parser_AST.Seq (t1, t2) -> - (collect_term t1; collect_term t2) - | FStar_Parser_AST.If (t1, t2, t3) -> - (collect_term t1; collect_term t2; collect_term t3) - | FStar_Parser_AST.Match (t, bs) -> - (collect_term t; collect_branches bs) - | FStar_Parser_AST.TryWith (t, bs) -> - (collect_term t; collect_branches bs) - | FStar_Parser_AST.Ascribed - (t1, t2, FStar_Pervasives_Native.None) -> - (collect_term t1; collect_term t2) - | FStar_Parser_AST.Ascribed - (t1, t2, FStar_Pervasives_Native.Some tac) -> - (collect_term t1; collect_term t2; collect_term tac) - | FStar_Parser_AST.Record (t, idterms) -> - (FStar_Util.iter_opt t collect_term; - FStar_List.iter - (fun uu____4085 -> - match uu____4085 with - | (uu____4090, t1) -> collect_term t1) idterms) - | FStar_Parser_AST.Project (t, uu____4093) -> collect_term t - | FStar_Parser_AST.Product (binders, t) -> - (collect_binders binders; collect_term t) - | FStar_Parser_AST.Sum (binders, t) -> - (FStar_List.iter - (fun uu___8_4122 -> - match uu___8_4122 with - | FStar_Util.Inl b -> collect_binder b - | FStar_Util.Inr t1 -> collect_term t1) binders; - collect_term t) - | FStar_Parser_AST.QForall (binders, (uu____4130, ts), t) -> - (collect_binders binders; - FStar_List.iter (FStar_List.iter collect_term) ts; - collect_term t) - | FStar_Parser_AST.QExists (binders, (uu____4164, ts), t) -> - (collect_binders binders; - FStar_List.iter (FStar_List.iter collect_term) ts; - collect_term t) - | FStar_Parser_AST.Refine (binder, t) -> - (collect_binder binder; collect_term t) - | FStar_Parser_AST.NamedTyp (uu____4200, t) -> collect_term t - | FStar_Parser_AST.Paren t -> collect_term t - | FStar_Parser_AST.Requires (t, uu____4204) -> collect_term t - | FStar_Parser_AST.Ensures (t, uu____4212) -> collect_term t - | FStar_Parser_AST.Labeled (t, uu____4220, uu____4221) -> - collect_term t - | FStar_Parser_AST.Quote (t, uu____4227) -> collect_term t - | FStar_Parser_AST.Antiquote t -> collect_term t - | FStar_Parser_AST.VQuote t -> collect_term t - | FStar_Parser_AST.Attributes cattributes -> - FStar_List.iter collect_term cattributes - | FStar_Parser_AST.CalcProof (rel, init1, steps) -> - ((let uu____4241 = FStar_Ident.lid_of_str "FStar.Calc" in - add_dep_on_module uu____4241); - collect_term rel; - collect_term init1; - FStar_List.iter - (fun uu___9_4251 -> - match uu___9_4251 with - | FStar_Parser_AST.CalcStep (rel1, just, next) -> - (collect_term rel1; - collect_term just; - collect_term next)) steps) - and collect_patterns ps = FStar_List.iter collect_pattern ps - and collect_pattern p = collect_pattern' p.FStar_Parser_AST.pat - and collect_pattern' uu___11_4261 = - match uu___11_4261 with - | FStar_Parser_AST.PatVar (uu____4262, aqual) -> - collect_aqual aqual - | FStar_Parser_AST.PatTvar (uu____4268, aqual) -> - collect_aqual aqual - | FStar_Parser_AST.PatWild aqual -> collect_aqual aqual - | FStar_Parser_AST.PatOp uu____4277 -> () - | FStar_Parser_AST.PatConst uu____4278 -> () - | FStar_Parser_AST.PatApp (p, ps) -> - (collect_pattern p; collect_patterns ps) - | FStar_Parser_AST.PatName uu____4286 -> () - | FStar_Parser_AST.PatList ps -> collect_patterns ps - | FStar_Parser_AST.PatOr ps -> collect_patterns ps - | FStar_Parser_AST.PatTuple (ps, uu____4294) -> - collect_patterns ps - | FStar_Parser_AST.PatRecord lidpats -> + (fun uu____4655 -> + match uu____4655 with + | (t,uu____4661) -> collect_term t) termimps) + | FStar_Parser_AST.Abs (pats,t) -> + (collect_patterns pats; collect_term t) + | FStar_Parser_AST.App (t1,t2,uu____4671) -> + (collect_term t1; collect_term t2) + | FStar_Parser_AST.Let (uu____4673,patterms,t) -> + (FStar_List.iter + (fun uu____4723 -> + match uu____4723 with + | (attrs_opt,(pat,t1)) -> + ((let uu____4752 = + FStar_Util.map_opt attrs_opt + (FStar_List.iter collect_term) + in + ()); + collect_pattern pat; + collect_term t1)) patterms; + collect_term t) + | FStar_Parser_AST.LetOpen (lid,t) -> + (add_to_parsing_data (P_open (true, lid)); collect_term t) + | FStar_Parser_AST.Bind (uu____4763,t1,t2) -> + (collect_term t1; collect_term t2) + | FStar_Parser_AST.Seq (t1,t2) -> + (collect_term t1; collect_term t2) + | FStar_Parser_AST.If (t1,t2,t3) -> + (collect_term t1; collect_term t2; collect_term t3) + | FStar_Parser_AST.Match (t,bs) -> + (collect_term t; collect_branches bs) + | FStar_Parser_AST.TryWith (t,bs) -> + (collect_term t; collect_branches bs) + | FStar_Parser_AST.Ascribed + (t1,t2,FStar_Pervasives_Native.None ) -> + (collect_term t1; collect_term t2) + | FStar_Parser_AST.Ascribed + (t1,t2,FStar_Pervasives_Native.Some tac) -> + (collect_term t1; collect_term t2; collect_term tac) + | FStar_Parser_AST.Record (t,idterms) -> + (FStar_Util.iter_opt t collect_term; FStar_List.iter - (fun uu____4315 -> - match uu____4315 with - | (uu____4320, p) -> collect_pattern p) lidpats - | FStar_Parser_AST.PatAscribed - (p, (t, FStar_Pervasives_Native.None)) -> - (collect_pattern p; collect_term t) - | FStar_Parser_AST.PatAscribed - (p, (t, FStar_Pervasives_Native.Some tac)) -> - (collect_pattern p; collect_term t; collect_term tac) - and collect_branches bs = FStar_List.iter collect_branch bs - and collect_branch uu____4365 = - match uu____4365 with - | (pat, t1, t2) -> - (collect_pattern pat; - FStar_Util.iter_opt t1 collect_term; - collect_term t2) in - let uu____4383 = FStar_Parser_Driver.parse_file filename in - match uu____4383 with - | (ast, uu____4396) -> - let mname = lowercase_module_name filename in - ((let uu____4414 = - (is_interface filename) && - (has_implementation original_map mname) in - if uu____4414 - then add_dep mo_roots (UseImplementation mname) - else ()); - collect_module ast; - (let uu____4420 = FStar_ST.op_Bang deps in - let uu____4446 = FStar_ST.op_Bang mo_roots in - let uu____4472 = FStar_ST.op_Bang has_inline_for_extraction in - { - direct_deps = uu____4420; - additional_roots = uu____4446; - has_inline_for_extraction = uu____4472 - })))) + (fun uu____4859 -> + match uu____4859 with + | (uu____4864,t1) -> collect_term t1) idterms) + | FStar_Parser_AST.Project (t,uu____4867) -> collect_term t + | FStar_Parser_AST.Product (binders,t) -> + (collect_binders binders; collect_term t) + | FStar_Parser_AST.Sum (binders,t) -> + (FStar_List.iter + (fun uu___10_4896 -> + match uu___10_4896 with + | FStar_Util.Inl b -> collect_binder b + | FStar_Util.Inr t1 -> collect_term t1) binders; + collect_term t) + | FStar_Parser_AST.QForall (binders,(uu____4904,ts),t) -> + (collect_binders binders; + FStar_List.iter (FStar_List.iter collect_term) ts; + collect_term t) + | FStar_Parser_AST.QExists (binders,(uu____4938,ts),t) -> + (collect_binders binders; + FStar_List.iter (FStar_List.iter collect_term) ts; + collect_term t) + | FStar_Parser_AST.Refine (binder,t) -> + (collect_binder binder; collect_term t) + | FStar_Parser_AST.NamedTyp (uu____4974,t) -> collect_term t + | FStar_Parser_AST.Paren t -> collect_term t + | FStar_Parser_AST.Requires (t,uu____4978) -> collect_term t + | FStar_Parser_AST.Ensures (t,uu____4986) -> collect_term t + | FStar_Parser_AST.Labeled (t,uu____4994,uu____4995) -> + collect_term t + | FStar_Parser_AST.Quote (t,uu____5001) -> collect_term t + | FStar_Parser_AST.Antiquote t -> collect_term t + | FStar_Parser_AST.VQuote t -> collect_term t + | FStar_Parser_AST.Attributes cattributes -> + FStar_List.iter collect_term cattributes + | FStar_Parser_AST.CalcProof (rel,init1,steps) -> + ((let uu____5015 = + let uu____5016 = + let uu____5022 = FStar_Ident.lid_of_str "FStar.Calc" + in + (false, uu____5022) in + P_dep uu____5016 in + add_to_parsing_data uu____5015); + collect_term rel; + collect_term init1; + FStar_List.iter + (fun uu___11_5034 -> + match uu___11_5034 with + | FStar_Parser_AST.CalcStep (rel1,just,next) -> + (collect_term rel1; + collect_term just; + collect_term next)) steps) + + and collect_patterns ps = FStar_List.iter collect_pattern ps + + and collect_pattern p = collect_pattern' p.FStar_Parser_AST.pat + + and collect_pattern' uu___13_5044 = + match uu___13_5044 with + | FStar_Parser_AST.PatVar (uu____5045,aqual) -> + collect_aqual aqual + | FStar_Parser_AST.PatTvar (uu____5051,aqual) -> + collect_aqual aqual + | FStar_Parser_AST.PatWild aqual -> collect_aqual aqual + | FStar_Parser_AST.PatOp uu____5060 -> () + | FStar_Parser_AST.PatConst uu____5061 -> () + | FStar_Parser_AST.PatApp (p,ps) -> + (collect_pattern p; collect_patterns ps) + | FStar_Parser_AST.PatName uu____5069 -> () + | FStar_Parser_AST.PatList ps -> collect_patterns ps + | FStar_Parser_AST.PatOr ps -> collect_patterns ps + | FStar_Parser_AST.PatTuple (ps,uu____5077) -> + collect_patterns ps + | FStar_Parser_AST.PatRecord lidpats -> + FStar_List.iter + (fun uu____5098 -> + match uu____5098 with + | (uu____5103,p) -> collect_pattern p) lidpats + | FStar_Parser_AST.PatAscribed + (p,(t,FStar_Pervasives_Native.None )) -> + (collect_pattern p; collect_term t) + | FStar_Parser_AST.PatAscribed + (p,(t,FStar_Pervasives_Native.Some tac)) -> + (collect_pattern p; collect_term t; collect_term tac) + + and collect_branches bs = FStar_List.iter collect_branch bs + + and collect_branch uu____5148 = + match uu____5148 with + | (pat,t1,t2) -> + (collect_pattern pat; + FStar_Util.iter_opt t1 collect_term; + collect_term t2) + in + let uu____5166 = FStar_Parser_Driver.parse_file filename in + match uu____5166 with + | (ast,uu____5192) -> + (collect_module ast; + (let pd1 = + let uu____5209 = + let uu____5212 = FStar_ST.op_Bang pd in + FStar_List.rev uu____5212 in + Mk_pd uu____5209 in + let uu____5238 = from_parsing_data pd1 original_map filename + in + match uu____5238 with + | (deps,has_inline_for_extraction,mo_roots) -> + (pd1, deps, has_inline_for_extraction, mo_roots)))) + let (collect_one_cache : (dependence Prims.list * dependence Prims.list * Prims.bool) FStar_Util.smap FStar_ST.ref) = - let uu____4511 = FStar_Util.smap_create (Prims.parse_int "0") in - FStar_Util.mk_ref uu____4511 + let uu____5297 = FStar_Util.smap_create (Prims.parse_int "0") in + FStar_Util.mk_ref uu____5297 let (set_collect_one_cache : (dependence Prims.list * dependence Prims.list * Prims.bool) FStar_Util.smap -> unit) - = fun cache -> FStar_ST.op_Colon_Equals collect_one_cache cache + = fun cache -> FStar_ST.op_Colon_Equals collect_one_cache cache let (dep_graph_copy : dependence_graph -> dependence_graph) = - fun dep_graph -> - let uu____4633 = dep_graph in - match uu____4633 with - | Deps g -> let uu____4637 = FStar_Util.smap_copy g in Deps uu____4637 -let (topological_dependences_of : + fun dep_graph -> + let uu____5419 = dep_graph in + match uu____5419 with + | Deps g -> let uu____5423 = FStar_Util.smap_copy g in Deps uu____5423 + +let (widen_deps : + module_name Prims.list -> + dependence_graph -> + files_for_module_name -> Prims.bool -> (Prims.bool * dependence_graph)) + = + fun friends -> + fun dep_graph -> + fun file_system_map -> + fun widened -> + let widened1 = FStar_Util.mk_ref widened in + let uu____5465 = dep_graph in + match uu____5465 with + | Deps dg -> + let uu____5474 = deps_empty () in + (match uu____5474 with + | Deps dg' -> + let widen_one deps = + FStar_All.pipe_right deps + (FStar_List.map + (fun d -> + match d with + | PreferInterface m when + (FStar_List.contains m friends) && + (has_implementation file_system_map m) + -> + (FStar_ST.op_Colon_Equals widened1 true; + FriendImplementation m) + | uu____5529 -> d)) + in + (FStar_Util.smap_fold dg + (fun filename -> + fun dep_node -> + fun uu____5537 -> + let uu____5539 = + let uu___983_5540 = dep_node in + let uu____5541 = widen_one dep_node.edges in + { edges = uu____5541; color = White } in + FStar_Util.smap_add dg' filename uu____5539) (); + (let uu____5542 = FStar_ST.op_Bang widened1 in + (uu____5542, (Deps dg'))))) + +let (topological_dependences_of' : files_for_module_name -> dependence_graph -> Prims.string Prims.list -> file_name Prims.list -> Prims.bool -> (file_name Prims.list * Prims.bool)) = - fun file_system_map -> - fun dep_graph -> - fun interfaces_needing_inlining -> - fun root_files -> - fun for_extraction -> - let rec all_friend_deps_1 dep_graph1 cycle uu____4782 filename = - match uu____4782 with - | (all_friends, all_files) -> + fun file_system_map -> + fun dep_graph -> + fun interfaces_needing_inlining -> + fun root_files -> + fun widened -> + let rec all_friend_deps_1 dep_graph1 cycle uu____5708 filename = + match uu____5708 with + | (all_friends,all_files) -> let dep_node = - let uu____4823 = deps_try_find dep_graph1 filename in - FStar_Util.must uu____4823 in + let uu____5749 = deps_try_find dep_graph1 filename in + FStar_Util.must uu____5749 in (match dep_node.color with - | Gray -> + | Gray -> failwith "Impossible: cycle detected after cycle detection has passed" - | Black -> (all_friends, all_files) - | White -> - ((let uu____4854 = FStar_Options.debug_any () in - if uu____4854 + | Black -> (all_friends, all_files) + | White -> + ((let uu____5780 = FStar_Options.debug_any () in + if uu____5780 then - let uu____4857 = - let uu____4859 = - FStar_List.map dep_to_string dep_node.edges in - FStar_String.concat ", " uu____4859 in + let uu____5783 = + let uu____5785 = + FStar_List.map dep_to_string dep_node.edges + in + FStar_String.concat ", " uu____5785 in FStar_Util.print2 "Visiting %s: direct deps are %s\n" filename - uu____4857 + uu____5783 else ()); deps_add_dep dep_graph1 filename - (let uu___846_4870 = dep_node in - { edges = (uu___846_4870.edges); color = Gray }); - (let uu____4871 = - let uu____4882 = + (let uu___1005_5796 = dep_node in + { edges = (uu___1005_5796.edges); color = Gray }); + (let uu____5797 = + let uu____5808 = dependences_of file_system_map dep_graph1 - root_files filename in + root_files filename + in all_friend_deps dep_graph1 cycle - (all_friends, all_files) uu____4882 in - match uu____4871 with - | (all_friends1, all_files1) -> + (all_friends, all_files) uu____5808 + in + match uu____5797 with + | (all_friends1,all_files1) -> (deps_add_dep dep_graph1 filename - (let uu___852_4918 = dep_node in + (let uu___1011_5844 = dep_node in { - edges = (uu___852_4918.edges); + edges = (uu___1011_5844.edges); color = Black }); - (let uu____4920 = FStar_Options.debug_any () in - if uu____4920 + (let uu____5846 = FStar_Options.debug_any () + in + if uu____5846 then FStar_Util.print1 "Adding %s\n" filename else ()); - (let uu____4926 = - let uu____4930 = + (let uu____5852 = + let uu____5856 = FStar_List.collect - (fun uu___12_4937 -> - match uu___12_4937 with + (fun uu___14_5863 -> + match uu___14_5863 with | FriendImplementation m -> [m] - | d -> []) dep_node.edges in - FStar_List.append uu____4930 all_friends1 in - (uu____4926, (filename :: all_files1))))))) + | d -> []) dep_node.edges + in + FStar_List.append uu____5856 all_friends1 + in + (uu____5852, (filename :: all_files1))))))) + and all_friend_deps dep_graph1 cycle all_friends filenames = FStar_List.fold_left - (fun all_friends1 -> - fun k -> + (fun all_friends1 -> + fun k -> all_friend_deps_1 dep_graph1 (k :: cycle) all_friends1 k) - all_friends filenames in - (let uu____5003 = FStar_Options.debug_any () in - if uu____5003 - then - FStar_Util.print_string - "==============Phase1==================\n" - else ()); - (let widened = FStar_Util.mk_ref false in - let widen_deps friends deps = - let uu____5032 = deps in - match uu____5032 with - | Deps dg -> - let uu____5036 = deps_empty () in - (match uu____5036 with - | Deps dg' -> - let widen_one deps1 = - FStar_All.pipe_right deps1 - (FStar_List.map - (fun d -> - match d with - | PreferInterface m when - (FStar_List.contains m friends) && - (has_implementation file_system_map m) - -> - (FStar_ST.op_Colon_Equals widened true; - FriendImplementation m) - | uu____5086 -> d)) in - (FStar_Util.smap_fold dg - (fun filename -> - fun dep_node -> - fun uu____5094 -> - let uu____5096 = - let uu___887_5097 = dep_node in - let uu____5098 = widen_one dep_node.edges in - { edges = uu____5098; color = White } in - FStar_Util.smap_add dg' filename uu____5096) - (); - Deps dg')) in - let dep_graph1 = - let uu____5100 = (FStar_Options.cmi ()) && for_extraction in - if uu____5100 - then widen_deps interfaces_needing_inlining dep_graph - else dep_graph in - let uu____5105 = - all_friend_deps dep_graph1 [] ([], []) root_files in - match uu____5105 with - | (friends, all_files_0) -> - ((let uu____5148 = FStar_Options.debug_any () in - if uu____5148 - then - let uu____5151 = - let uu____5153 = - FStar_Util.remove_dups (fun x -> fun y -> x = y) - friends in - FStar_String.concat ", " uu____5153 in - FStar_Util.print3 - "Phase1 complete:\n\tall_files = %s\n\tall_friends=%s\n\tinterfaces_with_inlining=%s\n" - (FStar_String.concat ", " all_files_0) uu____5151 - (FStar_String.concat ", " interfaces_needing_inlining) - else ()); - (let dep_graph2 = widen_deps friends dep_graph1 in - let uu____5172 = - (let uu____5184 = FStar_Options.debug_any () in - if uu____5184 - then - FStar_Util.print_string - "==============Phase2==================\n" - else ()); - all_friend_deps dep_graph2 [] ([], []) root_files in - match uu____5172 with - | (uu____5207, all_files) -> - ((let uu____5222 = FStar_Options.debug_any () in - if uu____5222 + all_friends filenames + in + let uu____5928 = all_friend_deps dep_graph [] ([], []) root_files + in + match uu____5928 with + | (friends,all_files_0) -> + ((let uu____5971 = FStar_Options.debug_any () in + if uu____5971 + then + let uu____5974 = + let uu____5976 = + FStar_Util.remove_dups (fun x -> fun y -> x = y) + friends + in + FStar_String.concat ", " uu____5976 in + FStar_Util.print3 + "Phase1 complete:\n\tall_files = %s\n\tall_friends=%s\n\tinterfaces_with_inlining=%s\n" + (FStar_String.concat ", " all_files_0) uu____5974 + (FStar_String.concat ", " interfaces_needing_inlining) + else ()); + (let uu____5994 = + widen_deps friends dep_graph file_system_map widened in + match uu____5994 with + | (widened1,dep_graph1) -> + let uu____6012 = + (let uu____6024 = FStar_Options.debug_any () in + if uu____6024 then - FStar_Util.print1 - "Phase2 complete: all_files = %s\n" - (FStar_String.concat ", " all_files) + FStar_Util.print_string + "==============Phase2==================\n" else ()); - (let uu____5229 = FStar_ST.op_Bang widened in - (all_files, uu____5229)))))) + all_friend_deps dep_graph1 [] ([], []) root_files in + (match uu____6012 with + | (uu____6047,all_files) -> + ((let uu____6062 = FStar_Options.debug_any () in + if uu____6062 + then + FStar_Util.print1 + "Phase2 complete: all_files = %s\n" + (FStar_String.concat ", " all_files) + else ()); + (all_files, widened1))))) + +let (phase1 : + files_for_module_name -> + dependence_graph -> + module_name Prims.list -> Prims.bool -> (Prims.bool * dependence_graph)) + = + fun file_system_map -> + fun dep_graph -> + fun interfaces_needing_inlining -> + fun for_extraction -> + (let uu____6108 = FStar_Options.debug_any () in + if uu____6108 + then + FStar_Util.print_string + "==============Phase1==================\n" + else ()); + (let widened = false in + let uu____6117 = (FStar_Options.cmi ()) && for_extraction in + if uu____6117 + then + widen_deps interfaces_needing_inlining dep_graph file_system_map + widened + else (widened, dep_graph)) + +let (topological_dependences_of : + files_for_module_name -> + dependence_graph -> + Prims.string Prims.list -> + file_name Prims.list -> + Prims.bool -> (file_name Prims.list * Prims.bool)) + = + fun file_system_map -> + fun dep_graph -> + fun interfaces_needing_inlining -> + fun root_files -> + fun for_extraction -> + let uu____6184 = + phase1 file_system_map dep_graph interfaces_needing_inlining + for_extraction + in + match uu____6184 with + | (widened,dep_graph1) -> + topological_dependences_of' file_system_map dep_graph1 + interfaces_needing_inlining root_files widened + let (collect : Prims.string Prims.list -> (Prims.string -> parsing_data FStar_Pervasives_Native.option) -> (Prims.string Prims.list * deps)) = - fun all_cmd_line_files -> - fun get_parsing_data_from_cache -> + fun all_cmd_line_files -> + fun get_parsing_data_from_cache -> let all_cmd_line_files1 = FStar_All.pipe_right all_cmd_line_files (FStar_List.map - (fun fn -> - let uu____5315 = FStar_Options.find_file fn in - match uu____5315 with - | FStar_Pervasives_Native.None -> - let uu____5321 = - let uu____5327 = - FStar_Util.format1 "File %s could not be found\n" fn in - (FStar_Errors.Fatal_ModuleOrFileNotFound, uu____5327) in - FStar_Errors.raise_err uu____5321 - | FStar_Pervasives_Native.Some fn1 -> fn1)) in - let dep_graph = deps_empty () in - let file_system_map = build_map all_cmd_line_files1 in - let interfaces_needing_inlining = FStar_Util.mk_ref [] in + (fun fn -> + let uu____6261 = FStar_Options.find_file fn in + match uu____6261 with + | FStar_Pervasives_Native.None -> + let uu____6267 = + let uu____6273 = + FStar_Util.format1 "File %s could not be found\n" fn + in + (FStar_Errors.Fatal_ModuleOrFileNotFound, uu____6273) + in + FStar_Errors.raise_err uu____6267 + | FStar_Pervasives_Native.Some fn1 -> fn1)) + in + let dep_graph = deps_empty () in + let file_system_map = build_map all_cmd_line_files1 in + let interfaces_needing_inlining = FStar_Util.mk_ref [] in let add_interface_for_inlining l = - let l1 = lowercase_module_name l in - let uu____5357 = - let uu____5361 = FStar_ST.op_Bang interfaces_needing_inlining in l1 - :: uu____5361 in - FStar_ST.op_Colon_Equals interfaces_needing_inlining uu____5357 in - let parse_results = FStar_Util.smap_create (Prims.parse_int "40") in + let l1 = lowercase_module_name l in + let uu____6303 = + let uu____6307 = FStar_ST.op_Bang interfaces_needing_inlining in + l1 :: uu____6307 in + FStar_ST.op_Colon_Equals interfaces_needing_inlining uu____6303 in + let parse_results = FStar_Util.smap_create (Prims.parse_int "40") in let rec discover_one file_name = - let uu____5428 = - let uu____5430 = deps_try_find dep_graph file_name in - uu____5430 = FStar_Pervasives_Native.None in - if uu____5428 + let uu____6374 = + let uu____6376 = deps_try_find dep_graph file_name in + uu____6376 = FStar_Pervasives_Native.None in + if uu____6374 then - let uu____5436 = - let uu____5448 = - let uu____5462 = FStar_ST.op_Bang collect_one_cache in - FStar_Util.smap_try_find uu____5462 file_name in - match uu____5448 with - | FStar_Pervasives_Native.Some cached -> cached - | FStar_Pervasives_Native.None -> - let r = + let uu____6382 = + let uu____6398 = + let uu____6412 = FStar_ST.op_Bang collect_one_cache in + FStar_Util.smap_try_find uu____6412 file_name in + match uu____6398 with + | FStar_Pervasives_Native.Some cached -> ((Mk_pd []), cached) + | FStar_Pervasives_Native.None -> + let uu____6542 = collect_one file_system_map file_name - get_parsing_data_from_cache in - ((r.direct_deps), (r.additional_roots), - (r.has_inline_for_extraction)) in - match uu____5436 with - | (deps, mo_roots, needs_interface_inlining) -> + get_parsing_data_from_cache + in + (match uu____6542 with + | (parsing_data,deps,needs_interface_inlining,additional_roots) + -> + (parsing_data, + (deps, additional_roots, needs_interface_inlining))) + in + match uu____6382 with + | (parsing_data,(deps,mo_roots,needs_interface_inlining)) -> (if needs_interface_inlining then add_interface_for_inlining file_name else (); - FStar_Util.smap_add parse_results file_name - { - direct_deps = deps; - additional_roots = mo_roots; - has_inline_for_extraction = needs_interface_inlining - }; + FStar_Util.smap_add parse_results file_name parsing_data; (let deps1 = - let module_name = lowercase_module_name file_name in - let uu____5606 = + let module_name = lowercase_module_name file_name in + let uu____6636 = (is_implementation file_name) && - (has_interface file_system_map module_name) in - if uu____5606 + (has_interface file_system_map module_name) + in + if uu____6636 then FStar_List.append deps [UseInterface module_name] - else deps in + else deps in let dep_node = - let uu____5614 = FStar_List.unique deps1 in - { edges = uu____5614; color = White } in + let uu____6644 = FStar_List.unique deps1 in + { edges = uu____6644; color = White } in deps_add_dep dep_graph file_name dep_node; - (let uu____5616 = + (let uu____6646 = FStar_List.map (file_of_dep file_system_map all_cmd_line_files1) - (FStar_List.append deps1 mo_roots) in - FStar_List.iter discover_one uu____5616))) - else () in + (FStar_List.append deps1 mo_roots) + in + FStar_List.iter discover_one uu____6646))) + else () in FStar_Options.profile - (fun uu____5626 -> FStar_List.iter discover_one all_cmd_line_files1) - (fun uu____5629 -> "Dependence analysis: Initial scan"); + (fun uu____6656 -> FStar_List.iter discover_one all_cmd_line_files1) + (fun uu____6659 -> "Dependence analysis: Initial scan"); (let cycle_detected dep_graph1 cycle filename = FStar_Util.print1 "The cycle contains a subset of the modules in:\n%s \n" (FStar_String.concat "\n`used by` " cycle); print_graph dep_graph1; FStar_Util.print_string "\n"; - (let uu____5661 = - let uu____5667 = + (let uu____6691 = + let uu____6697 = FStar_Util.format1 "Recursive dependency on module %s\n" - filename in - (FStar_Errors.Fatal_CyclicDependence, uu____5667) in - FStar_Errors.raise_err uu____5661) in - let full_cycle_detection all_command_line_files = - let dep_graph1 = dep_graph_copy dep_graph in + filename + in + (FStar_Errors.Fatal_CyclicDependence, uu____6697) in + FStar_Errors.raise_err uu____6691) + in + let full_cycle_detection all_command_line_files file_system_map1 = + let dep_graph1 = dep_graph_copy dep_graph in + let mo_files = FStar_Util.mk_ref [] in let rec aux cycle filename = let node = - let uu____5704 = deps_try_find dep_graph1 filename in - match uu____5704 with + let uu____6749 = deps_try_find dep_graph1 filename in + match uu____6749 with | FStar_Pervasives_Native.Some node -> node - | FStar_Pervasives_Native.None -> - let uu____5708 = + | FStar_Pervasives_Native.None -> + let uu____6753 = FStar_Util.format1 "Failed to find dependences of %s" - filename in - failwith uu____5708 in + filename + in + failwith uu____6753 + in let direct_deps = FStar_All.pipe_right node.edges (FStar_List.collect - (fun x -> + (fun x -> match x with | UseInterface f -> - let uu____5722 = - implementation_of_internal file_system_map f in - (match uu____5722 with - | FStar_Pervasives_Native.None -> [x] + let uu____6767 = + implementation_of_internal file_system_map1 f in + (match uu____6767 with + | FStar_Pervasives_Native.None -> [x] | FStar_Pervasives_Native.Some fn when fn = filename -> [x] - | uu____5733 -> [x; UseImplementation f]) + | uu____6778 -> [x; UseImplementation f]) | PreferInterface f -> - let uu____5739 = - implementation_of_internal file_system_map f in - (match uu____5739 with - | FStar_Pervasives_Native.None -> [x] + let uu____6784 = + implementation_of_internal file_system_map1 f in + (match uu____6784 with + | FStar_Pervasives_Native.None -> [x] | FStar_Pervasives_Native.Some fn when fn = filename -> [x] - | uu____5750 -> [x; UseImplementation f]) - | uu____5754 -> [x])) in + | uu____6795 -> [x; UseImplementation f]) + | uu____6799 -> [x])) + in match node.color with - | Gray -> cycle_detected dep_graph1 cycle filename - | Black -> () - | White -> + | Gray -> cycle_detected dep_graph1 cycle filename + | Black -> () + | White -> (deps_add_dep dep_graph1 filename - (let uu___973_5757 = node in + (let uu___1133_6802 = node in { edges = direct_deps; color = Gray }); - (let uu____5759 = - dependences_of file_system_map dep_graph1 - all_command_line_files filename in - FStar_List.iter (fun k -> aux (k :: cycle) k) uu____5759); + (let uu____6804 = + dependences_of file_system_map1 dep_graph1 + all_command_line_files filename + in + FStar_List.iter (fun k -> aux (k :: cycle) k) uu____6804); deps_add_dep dep_graph1 filename - (let uu___978_5769 = node in - { edges = direct_deps; color = Black })) in - FStar_List.iter (aux []) all_command_line_files in - full_cycle_detection all_cmd_line_files1; + (let uu___1138_6815 = node in + { edges = direct_deps; color = Black }); + (let uu____6816 = is_interface filename in + if uu____6816 + then + let uu____6819 = + let uu____6823 = lowercase_module_name filename in + implementation_of_internal file_system_map1 uu____6823 + in + FStar_Util.iter_opt uu____6819 + (fun impl -> + if + Prims.op_Negation + (FStar_List.contains impl all_command_line_files) + then + let uu____6832 = + let uu____6836 = FStar_ST.op_Bang mo_files in + impl :: uu____6836 in + FStar_ST.op_Colon_Equals mo_files uu____6832 + else ()) + else ())) + in + FStar_List.iter (aux []) all_command_line_files; + (let uu____6898 = FStar_ST.op_Bang mo_files in + FStar_List.iter (aux []) uu____6898) + in + full_cycle_detection all_cmd_line_files1 file_system_map; FStar_All.pipe_right all_cmd_line_files1 (FStar_List.iter - (fun f -> - let m = lowercase_module_name f in + (fun f -> + let m = lowercase_module_name f in FStar_Options.add_verify_module m)); - (let inlining_ifaces = FStar_ST.op_Bang interfaces_needing_inlining in - let uu____5813 = + (let inlining_ifaces = FStar_ST.op_Bang interfaces_needing_inlining + in + let uu____6970 = FStar_Options.profile - (fun uu____5832 -> - let uu____5833 = - let uu____5835 = FStar_Options.codegen () in - uu____5835 <> FStar_Pervasives_Native.None in + (fun uu____6989 -> + let uu____6990 = + let uu____6992 = FStar_Options.codegen () in + uu____6992 <> FStar_Pervasives_Native.None in topological_dependences_of file_system_map dep_graph - inlining_ifaces all_cmd_line_files1 uu____5833) - (fun uu____5841 -> - "Dependence analysis: topological sort for full file list") in - match uu____5813 with - | (all_files, uu____5859) -> - ((let uu____5869 = FStar_Options.debug_any () in - if uu____5869 + inlining_ifaces all_cmd_line_files1 uu____6990) + (fun uu____6998 -> + "Dependence analysis: topological sort for full file list") + in + match uu____6970 with + | (all_files,uu____7016) -> + ((let uu____7026 = FStar_Options.debug_any () in + if uu____7026 then FStar_Util.print1 "Interfaces needing inlining: %s\n" (FStar_String.concat ", " inlining_ifaces) @@ -1598,424 +2025,521 @@ let (collect : (all_files, (mk_deps dep_graph file_system_map all_cmd_line_files1 all_files inlining_ifaces parse_results))))) + let (deps_of : deps -> Prims.string -> Prims.string Prims.list) = - fun deps -> - fun f -> + fun deps -> + fun f -> dependences_of deps.file_system_map deps.dep_graph deps.cmd_line_files f + let (print_digest : (Prims.string * Prims.string) Prims.list -> Prims.string) = - fun dig -> - let uu____5922 = + fun dig -> + let uu____7079 = FStar_All.pipe_right dig (FStar_List.map - (fun uu____5948 -> - match uu____5948 with - | (m, d) -> - let uu____5962 = FStar_Util.base64_encode d in - FStar_Util.format2 "%s:%s" m uu____5962)) in - FStar_All.pipe_right uu____5922 (FStar_String.concat "\n") + (fun uu____7105 -> + match uu____7105 with + | (m,d) -> + let uu____7119 = FStar_Util.base64_encode d in + FStar_Util.format2 "%s:%s" m uu____7119)) + in + FStar_All.pipe_right uu____7079 (FStar_String.concat "\n") + let (print_make : deps -> unit) = - fun deps -> - let file_system_map = deps.file_system_map in - let all_cmd_line_files = deps.cmd_line_files in - let deps1 = deps.dep_graph in - let keys = deps_keys deps1 in + fun deps -> + let file_system_map = deps.file_system_map in + let all_cmd_line_files = deps.cmd_line_files in + let deps1 = deps.dep_graph in + let keys = deps_keys deps1 in FStar_All.pipe_right keys (FStar_List.iter - (fun f -> + (fun f -> let dep_node = - let uu____5997 = deps_try_find deps1 f in - FStar_All.pipe_right uu____5997 FStar_Option.get in + let uu____7154 = deps_try_find deps1 f in + FStar_All.pipe_right uu____7154 FStar_Option.get in let files = FStar_List.map (file_of_dep file_system_map all_cmd_line_files) - dep_node.edges in + dep_node.edges + in let files1 = - FStar_List.map (fun s -> FStar_Util.replace_chars s 32 "\\ ") - files in + FStar_List.map (fun s -> FStar_Util.replace_chars s 32 "\\ ") + files + in FStar_Util.print2 "%s: %s\n\n" f (FStar_String.concat " " files1))) + let (print_raw : deps -> unit) = - fun deps -> - let uu____6026 = deps.dep_graph in - match uu____6026 with + fun deps -> + let uu____7183 = deps.dep_graph in + match uu____7183 with | Deps deps1 -> - let uu____6030 = - let uu____6032 = + let uu____7187 = + let uu____7189 = FStar_Util.smap_fold deps1 - (fun k -> - fun dep_node -> - fun out -> - let uu____6050 = - let uu____6052 = - let uu____6054 = - FStar_List.map dep_to_string dep_node.edges in - FStar_All.pipe_right uu____6054 - (FStar_String.concat ";\n\t") in - FStar_Util.format2 "%s -> [\n\t%s\n] " k uu____6052 in - uu____6050 :: out) [] in - FStar_All.pipe_right uu____6032 (FStar_String.concat ";;\n") in - FStar_All.pipe_right uu____6030 FStar_Util.print_endline + (fun k -> + fun dep_node -> + fun out -> + let uu____7207 = + let uu____7209 = + let uu____7211 = + FStar_List.map dep_to_string dep_node.edges in + FStar_All.pipe_right uu____7211 + (FStar_String.concat ";\n\t") + in + FStar_Util.format2 "%s -> [\n\t%s\n] " k uu____7209 + in + uu____7207 :: out) [] + in + FStar_All.pipe_right uu____7189 (FStar_String.concat ";;\n") in + FStar_All.pipe_right uu____7187 FStar_Util.print_endline + let (print_full : deps -> unit) = - fun deps -> + fun deps -> let sort_output_files orig_output_file_map = - let order = FStar_Util.mk_ref [] in - let remaining_output_files = FStar_Util.smap_copy orig_output_file_map in + let order = FStar_Util.mk_ref [] in + let remaining_output_files = FStar_Util.smap_copy orig_output_file_map + in let visited_other_modules = - FStar_Util.smap_create (Prims.parse_int "41") in + FStar_Util.smap_create (Prims.parse_int "41") in let should_visit lc_module_name = - (let uu____6126 = - FStar_Util.smap_try_find remaining_output_files lc_module_name in - FStar_Option.isSome uu____6126) || - (let uu____6133 = - FStar_Util.smap_try_find visited_other_modules lc_module_name in - FStar_Option.isNone uu____6133) in + (let uu____7283 = + FStar_Util.smap_try_find remaining_output_files lc_module_name in + FStar_Option.isSome uu____7283) || + (let uu____7290 = + FStar_Util.smap_try_find visited_other_modules lc_module_name + in + FStar_Option.isNone uu____7290) + in let mark_visiting lc_module_name = let ml_file_opt = - FStar_Util.smap_try_find remaining_output_files lc_module_name in + FStar_Util.smap_try_find remaining_output_files lc_module_name in FStar_Util.smap_remove remaining_output_files lc_module_name; FStar_Util.smap_add visited_other_modules lc_module_name true; - ml_file_opt in + ml_file_opt in let emit_output_file_opt ml_file_opt = match ml_file_opt with - | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.None -> () | FStar_Pervasives_Native.Some ml_file -> - let uu____6176 = - let uu____6180 = FStar_ST.op_Bang order in ml_file :: - uu____6180 in - FStar_ST.op_Colon_Equals order uu____6176 in - let rec aux uu___13_6243 = - match uu___13_6243 with + let uu____7333 = + let uu____7337 = FStar_ST.op_Bang order in ml_file :: + uu____7337 + in + FStar_ST.op_Colon_Equals order uu____7333 + in + let rec aux uu___15_7400 = + match uu___15_7400 with | [] -> () | lc_module_name::modules_to_extract -> let visit_file file_opt = match file_opt with - | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.None -> () | FStar_Pervasives_Native.Some file_name -> - let uu____6271 = deps_try_find deps.dep_graph file_name in - (match uu____6271 with - | FStar_Pervasives_Native.None -> - let uu____6274 = + let uu____7428 = deps_try_find deps.dep_graph file_name in + (match uu____7428 with + | FStar_Pervasives_Native.None -> + let uu____7431 = FStar_Util.format2 "Impossible: module %s: %s not found" - lc_module_name file_name in - failwith uu____6274 + lc_module_name file_name + in + failwith uu____7431 | FStar_Pervasives_Native.Some - { edges = immediate_deps; color = uu____6278;_} -> + { edges = immediate_deps; color = uu____7435;_} -> let immediate_deps1 = FStar_List.map - (fun x -> + (fun x -> FStar_String.lowercase (module_name_of_dep x)) - immediate_deps in - aux immediate_deps1) in - ((let uu____6287 = should_visit lc_module_name in - if uu____6287 + immediate_deps + in + aux immediate_deps1) + in + ((let uu____7444 = should_visit lc_module_name in + if uu____7444 then - let ml_file_opt = mark_visiting lc_module_name in - ((let uu____6295 = implementation_of deps lc_module_name in - visit_file uu____6295); - (let uu____6300 = interface_of deps lc_module_name in - visit_file uu____6300); + let ml_file_opt = mark_visiting lc_module_name in + ((let uu____7452 = implementation_of deps lc_module_name in + visit_file uu____7452); + (let uu____7457 = interface_of deps lc_module_name in + visit_file uu____7457); emit_output_file_opt ml_file_opt) else ()); - aux modules_to_extract) in - let all_extracted_modules = FStar_Util.smap_keys orig_output_file_map in + aux modules_to_extract) + in + let all_extracted_modules = FStar_Util.smap_keys orig_output_file_map + in aux all_extracted_modules; - (let uu____6312 = FStar_ST.op_Bang order in FStar_List.rev uu____6312) in + (let uu____7469 = FStar_ST.op_Bang order in FStar_List.rev uu____7469) + in let sb = - let uu____6343 = FStar_BigInt.of_int_fs (Prims.parse_int "10000") in - FStar_StringBuffer.create uu____6343 in + let uu____7500 = FStar_BigInt.of_int_fs (Prims.parse_int "10000") in + FStar_StringBuffer.create uu____7500 in let pr str = - let uu____6353 = FStar_StringBuffer.add str sb in - FStar_All.pipe_left (fun a1 -> ()) uu____6353 in + let uu____7510 = FStar_StringBuffer.add str sb in + FStar_All.pipe_left (fun a1 -> ()) uu____7510 in let print_entry target first_dep all_deps = - pr target; pr ": "; pr first_dep; pr "\\\n\t"; pr all_deps; pr "\n\n" in - let keys = deps_keys deps.dep_graph in + pr target; pr ": "; pr first_dep; pr "\\\n\t"; pr all_deps; pr "\n\n" + in + let keys = deps_keys deps.dep_graph in let output_file ext fst_file = let ml_base_name = - let uu____6406 = - let uu____6408 = - let uu____6412 = FStar_Util.basename fst_file in - check_and_strip_suffix uu____6412 in - FStar_Option.get uu____6408 in - FStar_Util.replace_chars uu____6406 46 "_" in - let uu____6417 = FStar_String.op_Hat ml_base_name ext in - FStar_Options.prepend_output_dir uu____6417 in - let norm_path s = FStar_Util.replace_chars s 92 "/" in + let uu____7563 = + let uu____7565 = + let uu____7569 = FStar_Util.basename fst_file in + check_and_strip_suffix uu____7569 in + FStar_Option.get uu____7565 in + FStar_Util.replace_chars uu____7563 46 "_" in + let uu____7574 = FStar_String.op_Hat ml_base_name ext in + FStar_Options.prepend_output_dir uu____7574 in + let norm_path s = FStar_Util.replace_chars s 92 "/" in let output_ml_file f = - let uu____6439 = output_file ".ml" f in norm_path uu____6439 in + let uu____7596 = output_file ".ml" f in norm_path uu____7596 in let output_krml_file f = - let uu____6451 = output_file ".krml" f in norm_path uu____6451 in + let uu____7608 = output_file ".krml" f in norm_path uu____7608 in let output_cmx_file f = - let uu____6463 = output_file ".cmx" f in norm_path uu____6463 in + let uu____7620 = output_file ".cmx" f in norm_path uu____7620 in let cache_file f = - let uu____6475 = cache_file_name f in norm_path uu____6475 in - let all_checked_files = - FStar_All.pipe_right keys - (FStar_List.fold_left - (fun all_checked_files -> - fun file_name -> - let process_one_key uu____6508 = - let dep_node = - let uu____6510 = deps_try_find deps.dep_graph file_name in - FStar_All.pipe_right uu____6510 FStar_Option.get in - let iface_deps = - let uu____6520 = is_interface file_name in - if uu____6520 - then FStar_Pervasives_Native.None - else - (let uu____6531 = - let uu____6535 = lowercase_module_name file_name in - interface_of deps uu____6535 in - match uu____6531 with - | FStar_Pervasives_Native.None -> - FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some iface -> - let uu____6547 = - let uu____6550 = - let uu____6551 = - deps_try_find deps.dep_graph iface in - FStar_Option.get uu____6551 in - uu____6550.edges in - FStar_Pervasives_Native.Some uu____6547) in - let iface_deps1 = - FStar_Util.map_opt iface_deps - (FStar_List.filter - (fun iface_dep -> - let uu____6568 = - FStar_Util.for_some (dep_subsumed_by iface_dep) - dep_node.edges in - Prims.op_Negation uu____6568)) in - let norm_f = norm_path file_name in - let files = - FStar_List.map - (file_of_dep_aux true deps.file_system_map - deps.cmd_line_files) dep_node.edges in - let files1 = - match iface_deps1 with - | FStar_Pervasives_Native.None -> files - | FStar_Pervasives_Native.Some iface_deps2 -> - let iface_files = - FStar_List.map - (file_of_dep_aux true deps.file_system_map - deps.cmd_line_files) iface_deps2 in - FStar_Util.remove_dups (fun x -> fun y -> x = y) - (FStar_List.append files iface_files) in - let files2 = FStar_List.map norm_path files1 in - let files3 = - FStar_List.map - (fun s -> FStar_Util.replace_chars s 32 "\\ ") files2 in - let files4 = - FStar_Options.profile - (fun uu____6628 -> FStar_String.concat "\\\n\t" files3) - (fun uu____6631 -> "Dependence analysis: concat files") in - let cache_file_name1 = cache_file file_name in - let all_checked_files1 = - let uu____6640 = - let uu____6642 = - let uu____6644 = module_name_of_file file_name in - FStar_Options.should_be_already_cached uu____6644 in - Prims.op_Negation uu____6642 in - if uu____6640 - then - (print_entry cache_file_name1 norm_f files4; - cache_file_name1 - :: - all_checked_files) - else all_checked_files in - let uu____6654 = - let uu____6663 = FStar_Options.cmi () in - if uu____6663 - then - FStar_Options.profile - (fun uu____6683 -> - topological_dependences_of deps.file_system_map - deps.dep_graph deps.interfaces_with_inlining - [file_name] true) - (fun uu____6688 -> - "Dependence analysis: cmi, second topological sort") - else - (let maybe_widen_deps f_deps = - FStar_List.map - (fun dep1 -> - file_of_dep_aux false deps.file_system_map - deps.cmd_line_files dep1) f_deps in - let fst_files = maybe_widen_deps dep_node.edges in - let fst_files_from_iface = - match iface_deps1 with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some iface_deps2 -> - maybe_widen_deps iface_deps2 in - let uu____6732 = - FStar_Util.remove_dups (fun x -> fun y -> x = y) - (FStar_List.append fst_files fst_files_from_iface) in - (uu____6732, false)) in - match uu____6654 with - | (all_fst_files_dep, widened) -> - let all_checked_fst_dep_files = - FStar_All.pipe_right all_fst_files_dep - (FStar_List.map cache_file) in - let all_checked_fst_dep_files_string = - FStar_String.concat " \\\n\t" - all_checked_fst_dep_files in - ((let uu____6779 = is_implementation file_name in - if uu____6779 + let uu____7632 = cache_file_name f in norm_path uu____7632 in + let uu____7634 = + phase1 deps.file_system_map deps.dep_graph + deps.interfaces_with_inlining true + in + match uu____7634 with + | (widened,dep_graph) -> + let all_checked_files = + FStar_All.pipe_right keys + (FStar_List.fold_left + (fun all_checked_files -> + fun file_name -> + let process_one_key uu____7676 = + let dep_node = + let uu____7678 = + deps_try_find deps.dep_graph file_name in + FStar_All.pipe_right uu____7678 FStar_Option.get in + let iface_deps = + let uu____7688 = is_interface file_name in + if uu____7688 + then FStar_Pervasives_Native.None + else + (let uu____7699 = + let uu____7703 = lowercase_module_name file_name + in + interface_of deps uu____7703 in + match uu____7699 with + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some iface -> + let uu____7715 = + let uu____7718 = + let uu____7719 = + deps_try_find deps.dep_graph iface in + FStar_Option.get uu____7719 in + uu____7718.edges in + FStar_Pervasives_Native.Some uu____7715) + in + let iface_deps1 = + FStar_Util.map_opt iface_deps + (FStar_List.filter + (fun iface_dep -> + let uu____7736 = + FStar_Util.for_some + (dep_subsumed_by iface_dep) + dep_node.edges + in + Prims.op_Negation uu____7736)) + in + let norm_f = norm_path file_name in + let files = + FStar_List.map + (file_of_dep_aux true deps.file_system_map + deps.cmd_line_files) dep_node.edges + in + let files1 = + match iface_deps1 with + | FStar_Pervasives_Native.None -> files + | FStar_Pervasives_Native.Some iface_deps2 -> + let iface_files = + FStar_List.map + (file_of_dep_aux true deps.file_system_map + deps.cmd_line_files) iface_deps2 + in + FStar_Util.remove_dups + (fun x -> fun y -> x = y) + (FStar_List.append files iface_files) + in + let files2 = FStar_List.map norm_path files1 in + let files3 = + FStar_List.map + (fun s -> FStar_Util.replace_chars s 32 "\\ ") + files2 + in + let files4 = + FStar_Options.profile + (fun uu____7796 -> + FStar_String.concat "\\\n\t" files3) + (fun uu____7799 -> + "Dependence analysis: concat files") + in + let cache_file_name1 = cache_file file_name in + let all_checked_files1 = + let uu____7808 = + let uu____7810 = + let uu____7812 = module_name_of_file file_name + in + FStar_Options.should_be_already_cached uu____7812 + in + Prims.op_Negation uu____7810 in + if uu____7808 then - ((let uu____6783 = - (FStar_Options.cmi ()) && widened in - if uu____6783 + (print_entry cache_file_name1 norm_f files4; + cache_file_name1 + :: + all_checked_files) + else all_checked_files in + let uu____7822 = + let uu____7831 = FStar_Options.cmi () in + if uu____7831 + then + FStar_Options.profile + (fun uu____7852 -> + let uu____7853 = dep_graph_copy dep_graph in + topological_dependences_of' + deps.file_system_map uu____7853 + deps.interfaces_with_inlining [file_name] + widened) + (fun uu____7857 -> + "Dependence analysis: cmi, second topological sort") + else + (let maybe_widen_deps f_deps = + FStar_List.map + (fun dep1 -> + file_of_dep_aux false deps.file_system_map + deps.cmd_line_files dep1) f_deps + in + let fst_files = maybe_widen_deps dep_node.edges + in + let fst_files_from_iface = + match iface_deps1 with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some iface_deps2 -> + maybe_widen_deps iface_deps2 + in + let uu____7901 = + FStar_Util.remove_dups + (fun x -> fun y -> x = y) + (FStar_List.append fst_files + fst_files_from_iface) + in + (uu____7901, false)) + in + match uu____7822 with + | (all_fst_files_dep,widened1) -> + let all_checked_fst_dep_files = + FStar_All.pipe_right all_fst_files_dep + (FStar_List.map cache_file) + in + let all_checked_fst_dep_files_string = + FStar_String.concat " \\\n\t" + all_checked_fst_dep_files + in + ((let uu____7948 = is_implementation file_name in + if uu____7948 then - ((let uu____6787 = output_ml_file file_name in - print_entry uu____6787 cache_file_name1 - all_checked_fst_dep_files_string); - (let uu____6789 = output_krml_file file_name in - print_entry uu____6789 cache_file_name1 - all_checked_fst_dep_files_string)) + ((let uu____7952 = + (FStar_Options.cmi ()) && widened1 in + if uu____7952 + then + ((let uu____7956 = output_ml_file file_name + in + print_entry uu____7956 cache_file_name1 + all_checked_fst_dep_files_string); + (let uu____7958 = + output_krml_file file_name in + print_entry uu____7958 cache_file_name1 + all_checked_fst_dep_files_string)) + else + ((let uu____7963 = output_ml_file file_name + in + print_entry uu____7963 cache_file_name1 + ""); + (let uu____7966 = + output_krml_file file_name in + print_entry uu____7966 cache_file_name1 + ""))); + (let cmx_files = + let extracted_fst_files = + FStar_All.pipe_right all_fst_files_dep + (FStar_List.filter + (fun df -> + (let uu____7991 = + lowercase_module_name df in + let uu____7993 = + lowercase_module_name + file_name + in + uu____7991 <> uu____7993) && + (let uu____7997 = + lowercase_module_name df in + FStar_Options.should_extract + uu____7997))) + in + FStar_All.pipe_right extracted_fst_files + (FStar_List.map output_cmx_file) + in + let uu____8007 = + let uu____8009 = + lowercase_module_name file_name in + FStar_Options.should_extract uu____8009 in + if uu____8007 + then + let cmx_files1 = + FStar_String.concat "\\\n\t" cmx_files + in + let uu____8015 = output_cmx_file file_name + in + let uu____8017 = output_ml_file file_name + in + print_entry uu____8015 uu____8017 + cmx_files1 + else ())) else - ((let uu____6794 = output_ml_file file_name in - print_entry uu____6794 cache_file_name1 ""); - (let uu____6797 = output_krml_file file_name in - print_entry uu____6797 cache_file_name1 ""))); - (let cmx_files = - let extracted_fst_files = - FStar_All.pipe_right all_fst_files_dep - (FStar_List.filter - (fun df -> - (let uu____6822 = - lowercase_module_name df in - let uu____6824 = - lowercase_module_name file_name in - uu____6822 <> uu____6824) && - (let uu____6828 = - lowercase_module_name df in - FStar_Options.should_extract - uu____6828))) in - FStar_All.pipe_right extracted_fst_files - (FStar_List.map output_cmx_file) in - let uu____6838 = - let uu____6840 = - lowercase_module_name file_name in - FStar_Options.should_extract uu____6840 in - if uu____6838 - then - let cmx_files1 = - FStar_String.concat "\\\n\t" cmx_files in - let uu____6846 = output_cmx_file file_name in - let uu____6848 = output_ml_file file_name in - print_entry uu____6846 uu____6848 cmx_files1 - else ())) - else - (let uu____6854 = - (let uu____6858 = - let uu____6860 = - lowercase_module_name file_name in - has_implementation deps.file_system_map - uu____6860 in - Prims.op_Negation uu____6858) && - (is_interface file_name) in - if uu____6854 - then - let uu____6863 = - (FStar_Options.cmi ()) && (widened || true) in - (if uu____6863 - then - let uu____6867 = output_krml_file file_name in - print_entry uu____6867 cache_file_name1 - all_checked_fst_dep_files_string - else - (let uu____6871 = output_krml_file file_name in - print_entry uu____6871 cache_file_name1 "")) - else ())); - all_checked_files1) in - FStar_Options.profile process_one_key - (fun uu____6880 -> - FStar_Util.format1 "Dependence analysis: output key %s" - file_name)) []) in - let all_fst_files = - let uu____6890 = - FStar_All.pipe_right keys (FStar_List.filter is_implementation) in - FStar_All.pipe_right uu____6890 - (FStar_Util.sort_with FStar_String.compare) in - let all_ml_files = - let ml_file_map = FStar_Util.smap_create (Prims.parse_int "41") in - FStar_All.pipe_right all_fst_files - (FStar_List.iter - (fun fst_file -> - let mname = lowercase_module_name fst_file in - let uu____6931 = FStar_Options.should_extract mname in - if uu____6931 - then - let uu____6934 = output_ml_file fst_file in - FStar_Util.smap_add ml_file_map mname uu____6934 - else ())); - sort_output_files ml_file_map in - let all_krml_files = - let krml_file_map = FStar_Util.smap_create (Prims.parse_int "41") in - FStar_All.pipe_right keys - (FStar_List.iter - (fun fst_file -> - let mname = lowercase_module_name fst_file in - let uu____6961 = output_krml_file fst_file in - FStar_Util.smap_add krml_file_map mname uu____6961)); - sort_output_files krml_file_map in - let print_all tag files = - pr tag; - pr "=\\\n\t"; - FStar_List.iter (fun f -> pr (norm_path f); pr " \\\n\t") files; - pr "\n" in - print_all "ALL_FST_FILES" all_fst_files; - print_all "ALL_CHECKED_FILES" all_checked_files; - print_all "ALL_ML_FILES" all_ml_files; - print_all "ALL_KRML_FILES" all_krml_files; - FStar_StringBuffer.output_channel FStar_Util.stdout sb + (let uu____8023 = + (let uu____8027 = + let uu____8029 = + lowercase_module_name file_name in + has_implementation deps.file_system_map + uu____8029 + in + Prims.op_Negation uu____8027) && + (is_interface file_name) + in + if uu____8023 + then + let uu____8032 = + (FStar_Options.cmi ()) && + (widened1 || true) + in + (if uu____8032 + then + let uu____8036 = + output_krml_file file_name in + print_entry uu____8036 cache_file_name1 + all_checked_fst_dep_files_string + else + (let uu____8040 = + output_krml_file file_name in + print_entry uu____8040 cache_file_name1 + "")) + else ())); + all_checked_files1) + in + FStar_Options.profile process_one_key + (fun uu____8049 -> + FStar_Util.format1 + "Dependence analysis: output key %s" file_name)) + []) + in + let all_fst_files = + let uu____8059 = + FStar_All.pipe_right keys (FStar_List.filter is_implementation) + in + FStar_All.pipe_right uu____8059 + (FStar_Util.sort_with FStar_String.compare) + in + let all_fsti_files = + let uu____8081 = + FStar_All.pipe_right keys (FStar_List.filter is_interface) in + FStar_All.pipe_right uu____8081 + (FStar_Util.sort_with FStar_String.compare) + in + let all_ml_files = + let ml_file_map = FStar_Util.smap_create (Prims.parse_int "41") in + FStar_All.pipe_right all_fst_files + (FStar_List.iter + (fun fst_file -> + let mname = lowercase_module_name fst_file in + let uu____8122 = FStar_Options.should_extract mname in + if uu____8122 + then + let uu____8125 = output_ml_file fst_file in + FStar_Util.smap_add ml_file_map mname uu____8125 + else ())); + sort_output_files ml_file_map in + let all_krml_files = + let krml_file_map = FStar_Util.smap_create (Prims.parse_int "41") + in + FStar_All.pipe_right keys + (FStar_List.iter + (fun fst_file -> + let mname = lowercase_module_name fst_file in + let uu____8152 = output_krml_file fst_file in + FStar_Util.smap_add krml_file_map mname uu____8152)); + sort_output_files krml_file_map in + let print_all tag files = + pr tag; + pr "=\\\n\t"; + FStar_List.iter (fun f -> pr (norm_path f); pr " \\\n\t") files; + pr "\n" in + (print_all "ALL_FST_FILES" all_fst_files; + print_all "ALL_FSTI_FILES" all_fsti_files; + print_all "ALL_CHECKED_FILES" all_checked_files; + print_all "ALL_ML_FILES" all_ml_files; + print_all "ALL_KRML_FILES" all_krml_files; + FStar_StringBuffer.output_channel FStar_Util.stdout sb) + let (print : deps -> unit) = - fun deps -> - let uu____7009 = FStar_Options.dep () in - match uu____7009 with + fun deps -> + let uu____8202 = FStar_Options.dep () in + match uu____8202 with | FStar_Pervasives_Native.Some "make" -> print_make deps | FStar_Pervasives_Native.Some "full" -> - FStar_Options.profile (fun uu____7018 -> print_full deps) - (fun uu____7020 -> "Dependence analysis: printing") + FStar_Options.profile (fun uu____8211 -> print_full deps) + (fun uu____8213 -> "Dependence analysis: printing") | FStar_Pervasives_Native.Some "graph" -> print_graph deps.dep_graph | FStar_Pervasives_Native.Some "raw" -> print_raw deps - | FStar_Pervasives_Native.Some uu____7026 -> + | FStar_Pervasives_Native.Some uu____8219 -> FStar_Errors.raise_err (FStar_Errors.Fatal_UnknownToolForDep, "unknown tool for --dep\n") - | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.None -> () + let (print_fsmap : (Prims.string FStar_Pervasives_Native.option * Prims.string FStar_Pervasives_Native.option) FStar_Util.smap -> Prims.string) = - fun fsmap -> + fun fsmap -> FStar_Util.smap_fold fsmap - (fun k -> - fun uu____7081 -> - fun s -> - match uu____7081 with - | (v0, v1) -> - let uu____7110 = - let uu____7112 = + (fun k -> + fun uu____8274 -> + fun s -> + match uu____8274 with + | (v0,v1) -> + let uu____8303 = + let uu____8305 = FStar_Util.format3 "%s -> (%s, %s)" k - (FStar_Util.dflt "_" v0) (FStar_Util.dflt "_" v1) in - FStar_String.op_Hat "; " uu____7112 in - FStar_String.op_Hat s uu____7110) "" + (FStar_Util.dflt "_" v0) (FStar_Util.dflt "_" v1) + in + FStar_String.op_Hat "; " uu____8305 in + FStar_String.op_Hat s uu____8303) "" + let (module_has_interface : deps -> FStar_Ident.lident -> Prims.bool) = - fun deps -> - fun module_name -> - let uu____7133 = - let uu____7135 = FStar_Ident.string_of_lid module_name in - FStar_String.lowercase uu____7135 in - has_interface deps.file_system_map uu____7133 + fun deps -> + fun module_name -> + let uu____8326 = + let uu____8328 = FStar_Ident.string_of_lid module_name in + FStar_String.lowercase uu____8328 in + has_interface deps.file_system_map uu____8326 + let (deps_has_implementation : deps -> FStar_Ident.lident -> Prims.bool) = - fun deps -> - fun module_name -> + fun deps -> + fun module_name -> let m = - let uu____7151 = FStar_Ident.string_of_lid module_name in - FStar_String.lowercase uu____7151 in + let uu____8344 = FStar_Ident.string_of_lid module_name in + FStar_String.lowercase uu____8344 in FStar_All.pipe_right deps.all_files (FStar_Util.for_some - (fun f -> + (fun f -> (is_implementation f) && - (let uu____7162 = - let uu____7164 = module_name_of_file f in - FStar_String.lowercase uu____7164 in - uu____7162 = m))) \ No newline at end of file + (let uu____8355 = + let uu____8357 = module_name_of_file f in + FStar_String.lowercase uu____8357 in + uu____8355 = m))) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Parser_Driver.ml b/src/ocaml-output/FStar_Parser_Driver.ml index bf45ff394eb..262bfdf09b7 100644 --- a/src/ocaml-output/FStar_Parser_Driver.ml +++ b/src/ocaml-output/FStar_Parser_Driver.ml @@ -1,56 +1,60 @@ open Prims let (is_cache_file : Prims.string -> Prims.bool) = - fun fn -> - let uu____8 = FStar_Util.get_file_extension fn in uu____8 = ".cache" + fun fn -> + let uu____8 = FStar_Util.get_file_extension fn in uu____8 = ".cache" + type fragment = | Empty | Modul of FStar_Parser_AST.modul | Decls of FStar_Parser_AST.decl Prims.list let (uu___is_Empty : fragment -> Prims.bool) = - fun projectee -> match projectee with | Empty -> true | uu____33 -> false + fun projectee -> match projectee with | Empty -> true | uu____33 -> false let (uu___is_Modul : fragment -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Modul _0 -> true | uu____45 -> false + let (__proj__Modul__item___0 : fragment -> FStar_Parser_AST.modul) = - fun projectee -> match projectee with | Modul _0 -> _0 + fun projectee -> match projectee with | Modul _0 -> _0 let (uu___is_Decls : fragment -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Decls _0 -> true | uu____66 -> false + let (__proj__Decls__item___0 : fragment -> FStar_Parser_AST.decl Prims.list) - = fun projectee -> match projectee with | Decls _0 -> _0 + = fun projectee -> match projectee with | Decls _0 -> _0 let (parse_fragment : FStar_Parser_ParseIt.input_frag -> fragment) = - fun frag -> + fun frag -> let uu____87 = - FStar_Parser_ParseIt.parse (FStar_Parser_ParseIt.Toplevel frag) in + FStar_Parser_ParseIt.parse (FStar_Parser_ParseIt.Toplevel frag) in match uu____87 with - | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inl modul, uu____89) -> + | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inl modul,uu____89) -> Modul modul - | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inr [], uu____106) -> - Empty - | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inr decls, uu____124) -> + | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inr [],uu____106) -> Empty + | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inr decls,uu____124) -> Decls decls - | FStar_Parser_ParseIt.ParseError (e, msg, r) -> + | FStar_Parser_ParseIt.ParseError (e,msg,r) -> FStar_Errors.raise_error (e, msg) r | FStar_Parser_ParseIt.Term uu____149 -> failwith "Impossible: parsing a Toplevel always results in an ASTFragment" + let (parse_file : Prims.string -> (FStar_Parser_AST.file * (Prims.string * FStar_Range.range) Prims.list)) = - fun fn -> + fun fn -> let uu____170 = - FStar_Parser_ParseIt.parse (FStar_Parser_ParseIt.Filename fn) in + FStar_Parser_ParseIt.parse (FStar_Parser_ParseIt.Filename fn) in match uu____170 with - | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inl ast, comments) -> + | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inl ast,comments) -> (ast, comments) - | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inr uu____207, uu____208) + | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inr uu____207,uu____208) -> - let msg = FStar_Util.format1 "%s: expected a module\n" fn in - let r = FStar_Range.dummyRange in + let msg = FStar_Util.format1 "%s: expected a module\n" fn in + let r = FStar_Range.dummyRange in FStar_Errors.raise_error (FStar_Errors.Fatal_ModuleExpected, msg) r - | FStar_Parser_ParseIt.ParseError (e, msg, r) -> + | FStar_Parser_ParseIt.ParseError (e,msg,r) -> FStar_Errors.raise_error (e, msg) r | FStar_Parser_ParseIt.Term uu____260 -> failwith - "Impossible: parsing a Filename always results in an ASTFragment" \ No newline at end of file + "Impossible: parsing a Filename always results in an ASTFragment" + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Parser_ToDocument.ml b/src/ocaml-output/FStar_Parser_ToDocument.ml index 45f91b94c2d..aaad7c91615 100644 --- a/src/ocaml-output/FStar_Parser_ToDocument.ml +++ b/src/ocaml-output/FStar_Parser_ToDocument.ml @@ -1,121 +1,134 @@ open Prims let (min : Prims.int -> Prims.int -> Prims.int) = - fun x -> fun y -> if x > y then y else x + fun x -> fun y -> if x > y then y else x let (max : Prims.int -> Prims.int -> Prims.int) = - fun x -> fun y -> if x > y then x else y + fun x -> fun y -> if x > y then x else y let map_rev : 'a 'b . ('a -> 'b) -> 'a Prims.list -> 'b Prims.list = - fun f -> - fun l -> + fun f -> + fun l -> let rec aux l1 acc = match l1 with | [] -> acc | x::xs -> - let uu____103 = let uu____106 = f x in uu____106 :: acc in - aux xs uu____103 in + let uu____103 = let uu____106 = f x in uu____106 :: acc in + aux xs uu____103 + in aux l [] + let rec map_if_all : 'a 'b . ('a -> 'b FStar_Pervasives_Native.option) -> 'a Prims.list -> 'b Prims.list FStar_Pervasives_Native.option = - fun f -> - fun l -> + fun f -> + fun l -> let rec aux l1 acc = match l1 with | [] -> acc | x::xs -> - let uu____173 = f x in + let uu____173 = f x in (match uu____173 with | FStar_Pervasives_Native.Some r -> aux xs (r :: acc) - | FStar_Pervasives_Native.None -> []) in - let r = aux l [] in + | FStar_Pervasives_Native.None -> []) + in + let r = aux l [] in if (FStar_List.length l) = (FStar_List.length r) then FStar_Pervasives_Native.Some r else FStar_Pervasives_Native.None + let rec all : 'a . ('a -> Prims.bool) -> 'a Prims.list -> Prims.bool = - fun f -> - fun l -> + fun f -> + fun l -> match l with | [] -> true - | x::xs -> let uu____229 = f x in if uu____229 then all f xs else false + | x::xs -> + let uu____229 = f x in if uu____229 then all f xs else false + let (all_explicit : (FStar_Parser_AST.term * FStar_Parser_AST.imp) Prims.list -> Prims.bool) = - fun args -> + fun args -> FStar_Util.for_all - (fun uu___0_262 -> + (fun uu___0_262 -> match uu___0_262 with - | (uu____268, FStar_Parser_AST.Nothing) -> true + | (uu____268,FStar_Parser_AST.Nothing ) -> true | uu____270 -> false) args + let (should_print_fs_typ_app : Prims.bool FStar_ST.ref) = - FStar_Util.mk_ref false -let (unfold_tuples : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref true + FStar_Util.mk_ref false +let (unfold_tuples : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref true let with_fs_typ_app : 'Auu____299 'Auu____300 . Prims.bool -> ('Auu____299 -> 'Auu____300) -> 'Auu____299 -> 'Auu____300 = - fun b -> - fun printer -> - fun t -> - let b0 = FStar_ST.op_Bang should_print_fs_typ_app in + fun b -> + fun printer -> + fun t -> + let b0 = FStar_ST.op_Bang should_print_fs_typ_app in FStar_ST.op_Colon_Equals should_print_fs_typ_app b; - (let res = printer t in + (let res = printer t in FStar_ST.op_Colon_Equals should_print_fs_typ_app b0; res) + let (str : Prims.string -> FStar_Pprint.document) = - fun s -> FStar_Pprint.doc_of_string s + fun s -> FStar_Pprint.doc_of_string s let default_or_map : 'Auu____410 'Auu____411 . 'Auu____410 -> ('Auu____411 -> 'Auu____410) -> 'Auu____411 FStar_Pervasives_Native.option -> 'Auu____410 = - fun n1 -> - fun f -> - fun x -> + fun n1 -> + fun f -> + fun x -> match x with - | FStar_Pervasives_Native.None -> n1 + | FStar_Pervasives_Native.None -> n1 | FStar_Pervasives_Native.Some x' -> f x' + let (prefix2 : FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document) = - fun prefix_ -> - fun body -> + fun prefix_ -> + fun body -> FStar_Pprint.prefix (Prims.parse_int "2") (Prims.parse_int "1") prefix_ body + let (prefix2_nonempty : FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document) = - fun prefix_ -> - fun body -> + fun prefix_ -> + fun body -> if body = FStar_Pprint.empty then prefix_ else prefix2 prefix_ body + let (op_Hat_Slash_Plus_Hat : FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document) = - fun prefix_ -> fun body -> prefix2 prefix_ body + fun prefix_ -> fun body -> prefix2 prefix_ body let (jump2 : FStar_Pprint.document -> FStar_Pprint.document) = - fun body -> + fun body -> FStar_Pprint.jump (Prims.parse_int "2") (Prims.parse_int "1") body + let (infix2 : FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document) - = FStar_Pprint.infix (Prims.parse_int "2") (Prims.parse_int "1") + = FStar_Pprint.infix (Prims.parse_int "2") (Prims.parse_int "1") let (infix0 : FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document) - = FStar_Pprint.infix (Prims.parse_int "0") (Prims.parse_int "1") + = FStar_Pprint.infix (Prims.parse_int "0") (Prims.parse_int "1") let (break1 : FStar_Pprint.document) = - FStar_Pprint.break_ (Prims.parse_int "1") + FStar_Pprint.break_ (Prims.parse_int "1") let separate_break_map : 'Auu____524 . FStar_Pprint.document -> ('Auu____524 -> FStar_Pprint.document) -> 'Auu____524 Prims.list -> FStar_Pprint.document = - fun sep -> - fun f -> - fun l -> + fun sep -> + fun f -> + fun l -> let uu____549 = let uu____550 = - let uu____551 = FStar_Pprint.op_Hat_Hat sep break1 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____551 in - FStar_Pprint.separate_map uu____550 f l in + let uu____551 = FStar_Pprint.op_Hat_Hat sep break1 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____551 in + FStar_Pprint.separate_map uu____550 f l in FStar_Pprint.group uu____549 + let precede_break_separate_map : 'Auu____563 . FStar_Pprint.document -> @@ -123,151 +136,171 @@ let precede_break_separate_map : ('Auu____563 -> FStar_Pprint.document) -> 'Auu____563 Prims.list -> FStar_Pprint.document = - fun prec -> - fun sep -> - fun f -> - fun l -> + fun prec -> + fun sep -> + fun f -> + fun l -> let uu____593 = - let uu____594 = FStar_Pprint.op_Hat_Hat prec FStar_Pprint.space in + let uu____594 = FStar_Pprint.op_Hat_Hat prec FStar_Pprint.space + in let uu____595 = - let uu____596 = FStar_List.hd l in - FStar_All.pipe_right uu____596 f in - FStar_Pprint.precede uu____594 uu____595 in + let uu____596 = FStar_List.hd l in + FStar_All.pipe_right uu____596 f in + FStar_Pprint.precede uu____594 uu____595 in let uu____597 = - let uu____598 = FStar_List.tl l in + let uu____598 = FStar_List.tl l in FStar_Pprint.concat_map - (fun x -> + (fun x -> let uu____604 = let uu____605 = - let uu____606 = f x in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____606 in - FStar_Pprint.op_Hat_Hat sep uu____605 in - FStar_Pprint.op_Hat_Hat break1 uu____604) uu____598 in + let uu____606 = f x in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____606 in + FStar_Pprint.op_Hat_Hat sep uu____605 in + FStar_Pprint.op_Hat_Hat break1 uu____604) uu____598 + in FStar_Pprint.op_Hat_Hat uu____593 uu____597 + let concat_break_map : 'Auu____614 . ('Auu____614 -> FStar_Pprint.document) -> 'Auu____614 Prims.list -> FStar_Pprint.document = - fun f -> - fun l -> + fun f -> + fun l -> let uu____634 = FStar_Pprint.concat_map - (fun x -> - let uu____638 = f x in FStar_Pprint.op_Hat_Hat uu____638 break1) - l in + (fun x -> + let uu____638 = f x in FStar_Pprint.op_Hat_Hat uu____638 break1) + l + in FStar_Pprint.group uu____634 + let (parens_with_nesting : FStar_Pprint.document -> FStar_Pprint.document) = - fun contents -> + fun contents -> FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "0") FStar_Pprint.lparen contents FStar_Pprint.rparen + let (soft_parens_with_nesting : FStar_Pprint.document -> FStar_Pprint.document) = - fun contents -> + fun contents -> FStar_Pprint.soft_surround (Prims.parse_int "2") (Prims.parse_int "0") FStar_Pprint.lparen contents FStar_Pprint.rparen + let (braces_with_nesting : FStar_Pprint.document -> FStar_Pprint.document) = - fun contents -> + fun contents -> FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "1") FStar_Pprint.lbrace contents FStar_Pprint.rbrace + let (soft_braces_with_nesting : FStar_Pprint.document -> FStar_Pprint.document) = - fun contents -> + fun contents -> FStar_Pprint.soft_surround (Prims.parse_int "2") (Prims.parse_int "1") FStar_Pprint.lbrace contents FStar_Pprint.rbrace + let (soft_braces_with_nesting_tight : FStar_Pprint.document -> FStar_Pprint.document) = - fun contents -> + fun contents -> FStar_Pprint.soft_surround (Prims.parse_int "2") (Prims.parse_int "0") FStar_Pprint.lbrace contents FStar_Pprint.rbrace + let (brackets_with_nesting : FStar_Pprint.document -> FStar_Pprint.document) = - fun contents -> + fun contents -> FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "1") FStar_Pprint.lbracket contents FStar_Pprint.rbracket + let (soft_brackets_with_nesting : FStar_Pprint.document -> FStar_Pprint.document) = - fun contents -> + fun contents -> FStar_Pprint.soft_surround (Prims.parse_int "2") (Prims.parse_int "1") FStar_Pprint.lbracket contents FStar_Pprint.rbracket + let (soft_begin_end_with_nesting : FStar_Pprint.document -> FStar_Pprint.document) = - fun contents -> - let uu____701 = str "begin" in - let uu____703 = str "end" in + fun contents -> + let uu____701 = str "begin" in + let uu____703 = str "end" in FStar_Pprint.soft_surround (Prims.parse_int "2") (Prims.parse_int "1") uu____701 contents uu____703 + let separate_map_last : 'Auu____716 . FStar_Pprint.document -> (Prims.bool -> 'Auu____716 -> FStar_Pprint.document) -> 'Auu____716 Prims.list -> FStar_Pprint.document = - fun sep -> - fun f -> - fun es -> - let l = FStar_List.length es in + fun sep -> + fun f -> + fun es -> + let l = FStar_List.length es in let es1 = FStar_List.mapi - (fun i -> fun e -> f (i <> (l - (Prims.parse_int "1"))) e) es in + (fun i -> fun e -> f (i <> (l - (Prims.parse_int "1"))) e) es + in FStar_Pprint.separate sep es1 + let separate_break_map_last : 'Auu____768 . FStar_Pprint.document -> (Prims.bool -> 'Auu____768 -> FStar_Pprint.document) -> 'Auu____768 Prims.list -> FStar_Pprint.document = - fun sep -> - fun f -> - fun l -> + fun sep -> + fun f -> + fun l -> let uu____800 = let uu____801 = - let uu____802 = FStar_Pprint.op_Hat_Hat sep break1 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____802 in - separate_map_last uu____801 f l in + let uu____802 = FStar_Pprint.op_Hat_Hat sep break1 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____802 in + separate_map_last uu____801 f l in FStar_Pprint.group uu____800 + let separate_map_or_flow : 'Auu____812 . FStar_Pprint.document -> ('Auu____812 -> FStar_Pprint.document) -> 'Auu____812 Prims.list -> FStar_Pprint.document = - fun sep -> - fun f -> - fun l -> + fun sep -> + fun f -> + fun l -> if (FStar_List.length l) < (Prims.parse_int "10") then FStar_Pprint.separate_map sep f l else FStar_Pprint.flow_map sep f l + let flow_map_last : 'Auu____850 . FStar_Pprint.document -> (Prims.bool -> 'Auu____850 -> FStar_Pprint.document) -> 'Auu____850 Prims.list -> FStar_Pprint.document = - fun sep -> - fun f -> - fun es -> - let l = FStar_List.length es in + fun sep -> + fun f -> + fun es -> + let l = FStar_List.length es in let es1 = FStar_List.mapi - (fun i -> fun e -> f (i <> (l - (Prims.parse_int "1"))) e) es in + (fun i -> fun e -> f (i <> (l - (Prims.parse_int "1"))) e) es + in FStar_Pprint.flow sep es1 + let separate_map_or_flow_last : 'Auu____902 . FStar_Pprint.document -> (Prims.bool -> 'Auu____902 -> FStar_Pprint.document) -> 'Auu____902 Prims.list -> FStar_Pprint.document = - fun sep -> - fun f -> - fun l -> + fun sep -> + fun f -> + fun l -> if (FStar_List.length l) < (Prims.parse_int "10") then separate_map_last sep f l else flow_map_last sep f l + let (separate_or_flow : FStar_Pprint.document -> FStar_Pprint.document Prims.list -> FStar_Pprint.document) - = fun sep -> fun l -> separate_map_or_flow sep FStar_Pervasives.id l + = fun sep -> fun l -> separate_map_or_flow sep FStar_Pervasives.id l let (surround_maybe_empty : Prims.int -> Prims.int -> @@ -275,16 +308,17 @@ let (surround_maybe_empty : FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document) = - fun n1 -> - fun b -> - fun doc1 -> - fun doc2 -> - fun doc3 -> + fun n1 -> + fun b -> + fun doc1 -> + fun doc2 -> + fun doc3 -> if doc2 = FStar_Pprint.empty then - let uu____984 = FStar_Pprint.op_Hat_Slash_Hat doc1 doc3 in + let uu____984 = FStar_Pprint.op_Hat_Slash_Hat doc1 doc3 in FStar_Pprint.group uu____984 else FStar_Pprint.surround n1 b doc1 doc2 doc3 + let soft_surround_separate_map : 'Auu____1006 . Prims.int -> @@ -296,20 +330,21 @@ let soft_surround_separate_map : ('Auu____1006 -> FStar_Pprint.document) -> 'Auu____1006 Prims.list -> FStar_Pprint.document = - fun n1 -> - fun b -> - fun void_ -> - fun opening -> - fun sep -> - fun closing -> - fun f -> - fun xs -> + fun n1 -> + fun b -> + fun void_ -> + fun opening -> + fun sep -> + fun closing -> + fun f -> + fun xs -> if xs = [] then void_ else - (let uu____1065 = FStar_Pprint.separate_map sep f xs in + (let uu____1065 = FStar_Pprint.separate_map sep f xs in FStar_Pprint.soft_surround n1 b opening uu____1065 closing) + let soft_surround_map_or_flow : 'Auu____1085 . Prims.int -> @@ -321,131 +356,148 @@ let soft_surround_map_or_flow : ('Auu____1085 -> FStar_Pprint.document) -> 'Auu____1085 Prims.list -> FStar_Pprint.document = - fun n1 -> - fun b -> - fun void_ -> - fun opening -> - fun sep -> - fun closing -> - fun f -> - fun xs -> + fun n1 -> + fun b -> + fun void_ -> + fun opening -> + fun sep -> + fun closing -> + fun f -> + fun xs -> if xs = [] then void_ else - (let uu____1144 = separate_map_or_flow sep f xs in + (let uu____1144 = separate_map_or_flow sep f xs in FStar_Pprint.soft_surround n1 b opening uu____1144 closing) + let (doc_of_fsdoc : (Prims.string * (Prims.string * Prims.string) Prims.list) -> FStar_Pprint.document) = - fun uu____1163 -> + fun uu____1163 -> match uu____1163 with - | (comment, keywords) -> + | (comment,keywords) -> let uu____1197 = let uu____1198 = - let uu____1201 = str comment in + let uu____1201 = str comment in let uu____1202 = let uu____1205 = let uu____1208 = FStar_Pprint.separate_map FStar_Pprint.comma - (fun uu____1219 -> + (fun uu____1219 -> match uu____1219 with - | (k, v1) -> + | (k,v1) -> let uu____1232 = - let uu____1235 = str k in + let uu____1235 = str k in let uu____1236 = let uu____1239 = - let uu____1242 = str v1 in [uu____1242] in - FStar_Pprint.rarrow :: uu____1239 in - uu____1235 :: uu____1236 in - FStar_Pprint.concat uu____1232) keywords in - [uu____1208] in - FStar_Pprint.space :: uu____1205 in - uu____1201 :: uu____1202 in - FStar_Pprint.concat uu____1198 in + let uu____1242 = str v1 in [uu____1242] in + FStar_Pprint.rarrow :: uu____1239 in + uu____1235 :: uu____1236 in + FStar_Pprint.concat uu____1232) keywords + in + [uu____1208] in + FStar_Pprint.space :: uu____1205 in + uu____1201 :: uu____1202 in + FStar_Pprint.concat uu____1198 in FStar_Pprint.group uu____1197 + let (is_unit : FStar_Parser_AST.term -> Prims.bool) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Const (FStar_Const.Const_unit) -> true + | FStar_Parser_AST.Const (FStar_Const.Const_unit ) -> true | uu____1252 -> false + let (matches_var : FStar_Parser_AST.term -> FStar_Ident.ident -> Prims.bool) = - fun t -> - fun x -> + fun t -> + fun x -> match t.FStar_Parser_AST.tm with | FStar_Parser_AST.Var y -> - let uu____1268 = FStar_Ident.text_of_lid y in + let uu____1268 = FStar_Ident.text_of_lid y in x.FStar_Ident.idText = uu____1268 | uu____1271 -> false + let (is_tuple_constructor : FStar_Ident.lident -> Prims.bool) = - FStar_Parser_Const.is_tuple_data_lid' + FStar_Parser_Const.is_tuple_data_lid' let (is_dtuple_constructor : FStar_Ident.lident -> Prims.bool) = - FStar_Parser_Const.is_dtuple_data_lid' + FStar_Parser_Const.is_dtuple_data_lid' let (is_list_structure : FStar_Ident.lident -> FStar_Ident.lident -> FStar_Parser_AST.term -> Prims.bool) = - fun cons_lid1 -> - fun nil_lid1 -> + fun cons_lid1 -> + fun nil_lid1 -> let rec aux e = match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Construct (lid, []) -> + | FStar_Parser_AST.Construct (lid,[]) -> FStar_Ident.lid_equals lid nil_lid1 - | FStar_Parser_AST.Construct (lid, uu____1322::(e2, uu____1324)::[]) - -> (FStar_Ident.lid_equals lid cons_lid1) && (aux e2) - | uu____1347 -> false in + | FStar_Parser_AST.Construct (lid,uu____1322::(e2,uu____1324)::[]) -> + (FStar_Ident.lid_equals lid cons_lid1) && (aux e2) + | uu____1347 -> false in aux + let (is_list : FStar_Parser_AST.term -> Prims.bool) = - is_list_structure FStar_Parser_Const.cons_lid FStar_Parser_Const.nil_lid + is_list_structure FStar_Parser_Const.cons_lid FStar_Parser_Const.nil_lid let (is_lex_list : FStar_Parser_AST.term -> Prims.bool) = is_list_structure FStar_Parser_Const.lexcons_lid FStar_Parser_Const.lextop_lid + let rec (extract_from_list : FStar_Parser_AST.term -> FStar_Parser_AST.term Prims.list) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Construct (uu____1371, []) -> [] + | FStar_Parser_AST.Construct (uu____1371,[]) -> [] | FStar_Parser_AST.Construct - (uu____1382, - (e1, FStar_Parser_AST.Nothing)::(e2, FStar_Parser_AST.Nothing)::[]) - -> let uu____1403 = extract_from_list e2 in e1 :: uu____1403 + (uu____1382,(e1,FStar_Parser_AST.Nothing )::(e2,FStar_Parser_AST.Nothing + )::[]) + -> let uu____1403 = extract_from_list e2 in e1 :: uu____1403 | uu____1406 -> let uu____1407 = - let uu____1409 = FStar_Parser_AST.term_to_string e in - FStar_Util.format1 "Not a list %s" uu____1409 in + let uu____1409 = FStar_Parser_AST.term_to_string e in + FStar_Util.format1 "Not a list %s" uu____1409 in failwith uu____1407 + let (is_array : FStar_Parser_AST.term -> Prims.bool) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with | FStar_Parser_AST.App ({ FStar_Parser_AST.tm = FStar_Parser_AST.Var lid; FStar_Parser_AST.range = uu____1423; - FStar_Parser_AST.level = uu____1424;_}, - l, FStar_Parser_AST.Nothing) + FStar_Parser_AST.level = uu____1424;_},l,FStar_Parser_AST.Nothing + ) -> (FStar_Ident.lid_equals lid FStar_Parser_Const.array_mk_array_lid) && (is_list l) | uu____1426 -> false + let rec (is_ref_set : FStar_Parser_AST.term -> Prims.bool) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with | FStar_Parser_AST.Var maybe_empty_lid -> FStar_Ident.lid_equals maybe_empty_lid FStar_Parser_Const.set_empty | FStar_Parser_AST.App ({ FStar_Parser_AST.tm = FStar_Parser_AST.Var maybe_singleton_lid; FStar_Parser_AST.range = uu____1438; - FStar_Parser_AST.level = uu____1439;_}, - { - FStar_Parser_AST.tm = FStar_Parser_AST.App - ({ FStar_Parser_AST.tm = FStar_Parser_AST.Var maybe_addr_of_lid; - FStar_Parser_AST.range = uu____1441; - FStar_Parser_AST.level = uu____1442;_}, - e1, FStar_Parser_AST.Nothing); - FStar_Parser_AST.range = uu____1444; - FStar_Parser_AST.level = uu____1445;_}, - FStar_Parser_AST.Nothing) + FStar_Parser_AST.level = uu____1439;_},{ + FStar_Parser_AST.tm = + FStar_Parser_AST.App + ({ + FStar_Parser_AST.tm + = + FStar_Parser_AST.Var + maybe_addr_of_lid; + FStar_Parser_AST.range + = uu____1441; + FStar_Parser_AST.level + = uu____1442;_},e1,FStar_Parser_AST.Nothing + ); + FStar_Parser_AST.range = + uu____1444; + FStar_Parser_AST.level = + uu____1445;_},FStar_Parser_AST.Nothing + ) -> (FStar_Ident.lid_equals maybe_singleton_lid FStar_Parser_Const.set_singleton) @@ -457,142 +509,163 @@ let rec (is_ref_set : FStar_Parser_AST.term -> Prims.bool) = FStar_Parser_AST.tm = FStar_Parser_AST.App ({ FStar_Parser_AST.tm = FStar_Parser_AST.Var maybe_union_lid; FStar_Parser_AST.range = uu____1447; - FStar_Parser_AST.level = uu____1448;_}, - e1, FStar_Parser_AST.Nothing); + FStar_Parser_AST.level = uu____1448;_},e1,FStar_Parser_AST.Nothing + ); FStar_Parser_AST.range = uu____1450; - FStar_Parser_AST.level = uu____1451;_}, - e2, FStar_Parser_AST.Nothing) + FStar_Parser_AST.level = uu____1451;_},e2,FStar_Parser_AST.Nothing + ) -> ((FStar_Ident.lid_equals maybe_union_lid FStar_Parser_Const.set_union) && (is_ref_set e1)) && (is_ref_set e2) | uu____1453 -> false + let rec (extract_from_ref_set : FStar_Parser_AST.term -> FStar_Parser_AST.term Prims.list) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with | FStar_Parser_AST.Var uu____1465 -> [] | FStar_Parser_AST.App ({ FStar_Parser_AST.tm = FStar_Parser_AST.Var uu____1466; FStar_Parser_AST.range = uu____1467; - FStar_Parser_AST.level = uu____1468;_}, - { - FStar_Parser_AST.tm = FStar_Parser_AST.App - ({ FStar_Parser_AST.tm = FStar_Parser_AST.Var uu____1469; - FStar_Parser_AST.range = uu____1470; - FStar_Parser_AST.level = uu____1471;_}, - e1, FStar_Parser_AST.Nothing); - FStar_Parser_AST.range = uu____1473; - FStar_Parser_AST.level = uu____1474;_}, - FStar_Parser_AST.Nothing) + FStar_Parser_AST.level = uu____1468;_},{ + FStar_Parser_AST.tm = + FStar_Parser_AST.App + ({ + FStar_Parser_AST.tm + = + FStar_Parser_AST.Var + uu____1469; + FStar_Parser_AST.range + = uu____1470; + FStar_Parser_AST.level + = uu____1471;_},e1,FStar_Parser_AST.Nothing + ); + FStar_Parser_AST.range = + uu____1473; + FStar_Parser_AST.level = + uu____1474;_},FStar_Parser_AST.Nothing + ) -> [e1] | FStar_Parser_AST.App ({ FStar_Parser_AST.tm = FStar_Parser_AST.App ({ FStar_Parser_AST.tm = FStar_Parser_AST.Var uu____1475; FStar_Parser_AST.range = uu____1476; - FStar_Parser_AST.level = uu____1477;_}, - e1, FStar_Parser_AST.Nothing); + FStar_Parser_AST.level = uu____1477;_},e1,FStar_Parser_AST.Nothing + ); FStar_Parser_AST.range = uu____1479; - FStar_Parser_AST.level = uu____1480;_}, - e2, FStar_Parser_AST.Nothing) + FStar_Parser_AST.level = uu____1480;_},e2,FStar_Parser_AST.Nothing + ) -> - let uu____1482 = extract_from_ref_set e1 in - let uu____1485 = extract_from_ref_set e2 in + let uu____1482 = extract_from_ref_set e1 in + let uu____1485 = extract_from_ref_set e2 in FStar_List.append uu____1482 uu____1485 | uu____1488 -> let uu____1489 = - let uu____1491 = FStar_Parser_AST.term_to_string e in - FStar_Util.format1 "Not a ref set %s" uu____1491 in + let uu____1491 = FStar_Parser_AST.term_to_string e in + FStar_Util.format1 "Not a ref set %s" uu____1491 in failwith uu____1489 + let (is_general_application : FStar_Parser_AST.term -> Prims.bool) = - fun e -> - let uu____1503 = (is_array e) || (is_ref_set e) in + fun e -> + let uu____1503 = (is_array e) || (is_ref_set e) in Prims.op_Negation uu____1503 + let (is_general_construction : FStar_Parser_AST.term -> Prims.bool) = - fun e -> - let uu____1512 = (is_list e) || (is_lex_list e) in + fun e -> + let uu____1512 = (is_list e) || (is_lex_list e) in Prims.op_Negation uu____1512 + let (is_general_prefix_op : FStar_Ident.ident -> Prims.bool) = - fun op -> + fun op -> let op_starting_char = - let uu____1523 = FStar_Ident.text_of_id op in - FStar_Util.char_at uu____1523 (Prims.parse_int "0") in + let uu____1523 = FStar_Ident.text_of_id op in + FStar_Util.char_at uu____1523 (Prims.parse_int "0") in ((op_starting_char = 33) || (op_starting_char = 63)) || ((op_starting_char = 126) && - (let uu____1533 = FStar_Ident.text_of_id op in uu____1533 <> "~")) + (let uu____1533 = FStar_Ident.text_of_id op in uu____1533 <> "~")) + let (head_and_args : FStar_Parser_AST.term -> (FStar_Parser_AST.term * (FStar_Parser_AST.term * FStar_Parser_AST.imp) Prims.list)) = - fun e -> + fun e -> let rec aux e1 acc = match e1.FStar_Parser_AST.tm with - | FStar_Parser_AST.App (head1, arg, imp) -> - aux head1 ((arg, imp) :: acc) - | uu____1603 -> (e1, acc) in + | FStar_Parser_AST.App (head1,arg,imp) -> aux head1 ((arg, imp) :: acc) + | uu____1603 -> (e1, acc) in aux e [] + type associativity = | Left | Right | NonAssoc let (uu___is_Left : associativity -> Prims.bool) = - fun projectee -> match projectee with | Left -> true | uu____1623 -> false + fun projectee -> + match projectee with | Left -> true | uu____1623 -> false + let (uu___is_Right : associativity -> Prims.bool) = - fun projectee -> match projectee with | Right -> true | uu____1634 -> false + fun projectee -> + match projectee with | Right -> true | uu____1634 -> false + let (uu___is_NonAssoc : associativity -> Prims.bool) = - fun projectee -> - match projectee with | NonAssoc -> true | uu____1645 -> false -type token = (FStar_Char.char, Prims.string) FStar_Util.either + fun projectee -> + match projectee with | NonAssoc -> true | uu____1645 -> false + +type token = (FStar_Char.char,Prims.string) FStar_Util.either type associativity_level = (associativity * token Prims.list) let (token_to_string : - (FStar_BaseTypes.char, Prims.string) FStar_Util.either -> Prims.string) = - fun uu___1_1671 -> + (FStar_BaseTypes.char,Prims.string) FStar_Util.either -> Prims.string) = + fun uu___1_1671 -> match uu___1_1671 with | FStar_Util.Inl c -> Prims.op_Hat (FStar_Util.string_of_char c) ".*" | FStar_Util.Inr s -> s + let (matches_token : Prims.string -> - (FStar_Char.char, Prims.string) FStar_Util.either -> Prims.bool) + (FStar_Char.char,Prims.string) FStar_Util.either -> Prims.bool) = - fun s -> - fun uu___2_1706 -> + fun s -> + fun uu___2_1706 -> match uu___2_1706 with | FStar_Util.Inl c -> - let uu____1719 = FStar_String.get s (Prims.parse_int "0") in + let uu____1719 = FStar_String.get s (Prims.parse_int "0") in uu____1719 = c | FStar_Util.Inr s' -> s = s' + let matches_level : 'Auu____1735 . Prims.string -> - ('Auu____1735 * (FStar_Char.char, Prims.string) FStar_Util.either + ('Auu____1735 * (FStar_Char.char,Prims.string) FStar_Util.either Prims.list) -> Prims.bool = - fun s -> - fun uu____1759 -> + fun s -> + fun uu____1759 -> match uu____1759 with - | (assoc_levels, tokens) -> - let uu____1791 = FStar_List.tryFind (matches_token s) tokens in + | (assoc_levels,tokens) -> + let uu____1791 = FStar_List.tryFind (matches_token s) tokens in uu____1791 <> FStar_Pervasives_Native.None -let (opinfix4 : associativity_level) = (Right, [FStar_Util.Inr "**"]) + +let (opinfix4 : associativity_level) = (Right, [FStar_Util.Inr "**"]) let (opinfix3 : associativity_level) = - (Left, [FStar_Util.Inl 42; FStar_Util.Inl 47; FStar_Util.Inl 37]) + (Left, [FStar_Util.Inl 42; FStar_Util.Inl 47; FStar_Util.Inl 37]) let (opinfix2 : associativity_level) = - (Left, [FStar_Util.Inl 43; FStar_Util.Inl 45]) -let (minus_lvl : associativity_level) = (Left, [FStar_Util.Inr "-"]) + (Left, [FStar_Util.Inl 43; FStar_Util.Inl 45]) +let (minus_lvl : associativity_level) = (Left, [FStar_Util.Inr "-"]) let (opinfix1 : associativity_level) = - (Right, [FStar_Util.Inl 64; FStar_Util.Inl 94]) -let (pipe_right : associativity_level) = (Left, [FStar_Util.Inr "|>"]) -let (opinfix0d : associativity_level) = (Left, [FStar_Util.Inl 36]) + (Right, [FStar_Util.Inl 64; FStar_Util.Inl 94]) +let (pipe_right : associativity_level) = (Left, [FStar_Util.Inr "|>"]) +let (opinfix0d : associativity_level) = (Left, [FStar_Util.Inl 36]) let (opinfix0c : associativity_level) = - (Left, [FStar_Util.Inl 61; FStar_Util.Inl 60; FStar_Util.Inl 62]) -let (equal : associativity_level) = (Left, [FStar_Util.Inr "="]) -let (opinfix0b : associativity_level) = (Left, [FStar_Util.Inl 38]) -let (opinfix0a : associativity_level) = (Left, [FStar_Util.Inl 124]) -let (colon_equals : associativity_level) = (NonAssoc, [FStar_Util.Inr ":="]) -let (amp : associativity_level) = (Right, [FStar_Util.Inr "&"]) -let (colon_colon : associativity_level) = (Right, [FStar_Util.Inr "::"]) + (Left, [FStar_Util.Inl 61; FStar_Util.Inl 60; FStar_Util.Inl 62]) +let (equal : associativity_level) = (Left, [FStar_Util.Inr "="]) +let (opinfix0b : associativity_level) = (Left, [FStar_Util.Inl 38]) +let (opinfix0a : associativity_level) = (Left, [FStar_Util.Inl 124]) +let (colon_equals : associativity_level) = (NonAssoc, [FStar_Util.Inr ":="]) +let (amp : associativity_level) = (Right, [FStar_Util.Inr "&"]) +let (colon_colon : associativity_level) = (Right, [FStar_Util.Inr "::"]) let (level_associativity_spec : associativity_level Prims.list) = [opinfix4; opinfix3; @@ -605,161 +678,179 @@ let (level_associativity_spec : associativity_level Prims.list) = opinfix0a; colon_equals; amp; - colon_colon] + colon_colon] let (level_table : ((Prims.int * Prims.int * Prims.int) * token Prims.list) Prims.list) = let levels_from_associativity l uu___3_1963 = match uu___3_1963 with - | Left -> (l, l, (l - (Prims.parse_int "1"))) - | Right -> ((l - (Prims.parse_int "1")), l, l) - | NonAssoc -> - ((l - (Prims.parse_int "1")), l, (l - (Prims.parse_int "1"))) in + | Left -> (l, l, (l - (Prims.parse_int "1"))) + | Right -> ((l - (Prims.parse_int "1")), l, l) + | NonAssoc -> + ((l - (Prims.parse_int "1")), l, (l - (Prims.parse_int "1"))) + in FStar_List.mapi - (fun i -> - fun uu____2013 -> + (fun i -> + fun uu____2013 -> match uu____2013 with - | (assoc1, tokens) -> ((levels_from_associativity i assoc1), tokens)) + | (assoc1,tokens) -> ((levels_from_associativity i assoc1), tokens)) level_associativity_spec + let (assign_levels : associativity_level Prims.list -> Prims.string -> (Prims.int * Prims.int * Prims.int)) = - fun token_associativity_spec -> - fun s -> - let uu____2088 = FStar_List.tryFind (matches_level s) level_table in + fun token_associativity_spec -> + fun s -> + let uu____2088 = FStar_List.tryFind (matches_level s) level_table in match uu____2088 with - | FStar_Pervasives_Native.Some (assoc_levels, uu____2140) -> + | FStar_Pervasives_Native.Some (assoc_levels,uu____2140) -> assoc_levels | uu____2178 -> failwith (Prims.op_Hat "Unrecognized operator " s) + let max_level : 'Auu____2211 . ('Auu____2211 * token Prims.list) Prims.list -> Prims.int = - fun l -> + fun l -> let find_level_and_max n1 level = let uu____2260 = FStar_List.tryFind - (fun uu____2296 -> + (fun uu____2296 -> match uu____2296 with - | (uu____2313, tokens) -> - tokens = (FStar_Pervasives_Native.snd level)) level_table in + | (uu____2313,tokens) -> + tokens = (FStar_Pervasives_Native.snd level)) level_table + in match uu____2260 with - | FStar_Pervasives_Native.Some - ((uu____2342, l1, uu____2344), uu____2345) -> max n1 l1 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.Some ((uu____2342,l1,uu____2344),uu____2345) + -> max n1 l1 + | FStar_Pervasives_Native.None -> let uu____2395 = let uu____2397 = let uu____2399 = FStar_List.map token_to_string - (FStar_Pervasives_Native.snd level) in - FStar_String.concat "," uu____2399 in - FStar_Util.format1 "Undefined associativity level %s" uu____2397 in - failwith uu____2395 in + (FStar_Pervasives_Native.snd level) + in + FStar_String.concat "," uu____2399 in + FStar_Util.format1 "Undefined associativity level %s" uu____2397 + in + failwith uu____2395 + in FStar_List.fold_left find_level_and_max (Prims.parse_int "0") l + let (levels : Prims.string -> (Prims.int * Prims.int * Prims.int)) = - fun op -> - let uu____2434 = assign_levels level_associativity_spec op in + fun op -> + let uu____2434 = assign_levels level_associativity_spec op in match uu____2434 with - | (left1, mine, right1) -> + | (left1,mine,right1) -> if op = "*" then ((left1 - (Prims.parse_int "1")), mine, right1) else (left1, mine, right1) + let (operatorInfix0ad12 : associativity_level Prims.list) = - [opinfix0a; opinfix0b; opinfix0c; opinfix0d; opinfix1; opinfix2] + [opinfix0a; opinfix0b; opinfix0c; opinfix0d; opinfix1; opinfix2] let (is_operatorInfix0ad12 : FStar_Ident.ident -> Prims.bool) = - fun op -> + fun op -> let uu____2493 = let uu____2496 = - let uu____2502 = FStar_Ident.text_of_id op in - FStar_All.pipe_left matches_level uu____2502 in - FStar_List.tryFind uu____2496 operatorInfix0ad12 in + let uu____2502 = FStar_Ident.text_of_id op in + FStar_All.pipe_left matches_level uu____2502 in + FStar_List.tryFind uu____2496 operatorInfix0ad12 in uu____2493 <> FStar_Pervasives_Native.None + let (is_operatorInfix34 : FStar_Ident.ident -> Prims.bool) = - let opinfix34 = [opinfix3; opinfix4] in - fun op -> + let opinfix34 = [opinfix3; opinfix4] in + fun op -> let uu____2569 = let uu____2584 = - let uu____2602 = FStar_Ident.text_of_id op in - FStar_All.pipe_left matches_level uu____2602 in - FStar_List.tryFind uu____2584 opinfix34 in + let uu____2602 = FStar_Ident.text_of_id op in + FStar_All.pipe_left matches_level uu____2602 in + FStar_List.tryFind uu____2584 opinfix34 in uu____2569 <> FStar_Pervasives_Native.None + let (handleable_args_length : FStar_Ident.ident -> Prims.int) = - fun op -> - let op_s = FStar_Ident.text_of_id op in + fun op -> + let op_s = FStar_Ident.text_of_id op in let uu____2668 = - (is_general_prefix_op op) || (FStar_List.mem op_s ["-"; "~"]) in + (is_general_prefix_op op) || (FStar_List.mem op_s ["-"; "~"]) in if uu____2668 then (Prims.parse_int "1") else (let uu____2681 = ((is_operatorInfix0ad12 op) || (is_operatorInfix34 op)) || (FStar_List.mem op_s - ["<==>"; "==>"; "\\/"; "/\\"; "="; "|>"; ":="; ".()"; ".[]"]) in + ["<==>"; "==>"; "\\/"; "/\\"; "="; "|>"; ":="; ".()"; ".[]"]) + in if uu____2681 then (Prims.parse_int "2") else if FStar_List.mem op_s [".()<-"; ".[]<-"] then (Prims.parse_int "3") else (Prims.parse_int "0")) + let handleable_op : 'Auu____2727 . FStar_Ident.ident -> 'Auu____2727 Prims.list -> Prims.bool = - fun op -> - fun args -> + fun op -> + fun args -> match FStar_List.length args with | _2743 when _2743 = (Prims.parse_int "0") -> true | _2745 when _2745 = (Prims.parse_int "1") -> (is_general_prefix_op op) || - (let uu____2747 = FStar_Ident.text_of_id op in + (let uu____2747 = FStar_Ident.text_of_id op in FStar_List.mem uu____2747 ["-"; "~"]) | _2755 when _2755 = (Prims.parse_int "2") -> ((is_operatorInfix0ad12 op) || (is_operatorInfix34 op)) || - (let uu____2757 = FStar_Ident.text_of_id op in + (let uu____2757 = FStar_Ident.text_of_id op in FStar_List.mem uu____2757 ["<==>"; "==>"; "\\/"; "/\\"; "="; "|>"; ":="; ".()"; ".[]"]) | _2779 when _2779 = (Prims.parse_int "3") -> - let uu____2780 = FStar_Ident.text_of_id op in + let uu____2780 = FStar_Ident.text_of_id op in FStar_List.mem uu____2780 [".()<-"; ".[]<-"] | uu____2788 -> false + type annotation_style = | Binders of (Prims.int * Prims.int * Prims.bool) | Arrows of (Prims.int * Prims.int) let (uu___is_Binders : annotation_style -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Binders _0 -> true | uu____2834 -> false + let (__proj__Binders__item___0 : annotation_style -> (Prims.int * Prims.int * Prims.bool)) = - fun projectee -> match projectee with | Binders _0 -> _0 + fun projectee -> match projectee with | Binders _0 -> _0 let (uu___is_Arrows : annotation_style -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Arrows _0 -> true | uu____2886 -> false + let (__proj__Arrows__item___0 : annotation_style -> (Prims.int * Prims.int)) - = fun projectee -> match projectee with | Arrows _0 -> _0 + = fun projectee -> match projectee with | Arrows _0 -> _0 let (all_binders_annot : FStar_Parser_AST.term -> Prims.bool) = - fun e -> + fun e -> let is_binder_annot b = match b.FStar_Parser_AST.b with | FStar_Parser_AST.Annotated uu____2928 -> true - | uu____2934 -> false in + | uu____2934 -> false in let rec all_binders e1 l = match e1.FStar_Parser_AST.tm with - | FStar_Parser_AST.Product (bs, tgt) -> - let uu____2967 = FStar_List.for_all is_binder_annot bs in + | FStar_Parser_AST.Product (bs,tgt) -> + let uu____2967 = FStar_List.for_all is_binder_annot bs in if uu____2967 then all_binders tgt (l + (FStar_List.length bs)) else (false, (Prims.parse_int "0")) - | uu____2982 -> (true, (l + (Prims.parse_int "1"))) in - let uu____2987 = all_binders e (Prims.parse_int "0") in + | uu____2982 -> (true, (l + (Prims.parse_int "1"))) in + let uu____2987 = all_binders e (Prims.parse_int "0") in match uu____2987 with - | (b, l) -> if b && (l > (Prims.parse_int "1")) then true else false + | (b,l) -> if b && (l > (Prims.parse_int "1")) then true else false + type catf = FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document let (cat_with_colon : FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document) = - fun x -> - fun y -> - let uu____3026 = FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.colon y in + fun x -> + fun y -> + let uu____3026 = FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.colon y in FStar_Pprint.op_Hat_Hat x uu____3026 + let (comment_stack : (Prims.string * FStar_Range.range) Prims.list FStar_ST.ref) = - FStar_Util.mk_ref [] + FStar_Util.mk_ref [] type decl_meta = { r: FStar_Range.range ; @@ -768,25 +859,30 @@ type decl_meta = has_fsdoc: Prims.bool ; is_fsdoc: Prims.bool } let (__proj__Mkdecl_meta__item__r : decl_meta -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { r; has_qs; has_attrs; has_fsdoc; is_fsdoc;_} -> r + let (__proj__Mkdecl_meta__item__has_qs : decl_meta -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { r; has_qs; has_attrs; has_fsdoc; is_fsdoc;_} -> has_qs + let (__proj__Mkdecl_meta__item__has_attrs : decl_meta -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { r; has_qs; has_attrs; has_fsdoc; is_fsdoc;_} -> has_attrs + let (__proj__Mkdecl_meta__item__has_fsdoc : decl_meta -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { r; has_qs; has_attrs; has_fsdoc; is_fsdoc;_} -> has_fsdoc + let (__proj__Mkdecl_meta__item__is_fsdoc : decl_meta -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { r; has_qs; has_attrs; has_fsdoc; is_fsdoc;_} -> is_fsdoc + let (dummy_meta : decl_meta) = { r = FStar_Range.dummyRange; @@ -794,70 +890,75 @@ let (dummy_meta : decl_meta) = has_attrs = false; has_fsdoc = false; is_fsdoc = false - } + } let with_comment : 'Auu____3175 . ('Auu____3175 -> FStar_Pprint.document) -> 'Auu____3175 -> FStar_Range.range -> FStar_Pprint.document = - fun printer -> - fun tm -> - fun tmrange -> + fun printer -> + fun tm -> + fun tmrange -> let rec comments_before_pos acc print_pos lookahead_pos = - let uu____3217 = FStar_ST.op_Bang comment_stack in + let uu____3217 = FStar_ST.op_Bang comment_stack in match uu____3217 with | [] -> (acc, false) - | (c, crange)::cs -> + | (c,crange)::cs -> let comment = - let uu____3288 = str c in - FStar_Pprint.op_Hat_Hat uu____3288 FStar_Pprint.hardline in - let uu____3289 = FStar_Range.range_before_pos crange print_pos in + let uu____3288 = str c in + FStar_Pprint.op_Hat_Hat uu____3288 FStar_Pprint.hardline in + let uu____3289 = FStar_Range.range_before_pos crange print_pos + in if uu____3289 then (FStar_ST.op_Colon_Equals comment_stack cs; - (let uu____3331 = FStar_Pprint.op_Hat_Hat acc comment in + (let uu____3331 = FStar_Pprint.op_Hat_Hat acc comment in comments_before_pos uu____3331 print_pos lookahead_pos)) else (let uu____3334 = - FStar_Range.range_before_pos crange lookahead_pos in - (acc, uu____3334)) in + FStar_Range.range_before_pos crange lookahead_pos in + (acc, uu____3334)) + in let uu____3337 = let uu____3343 = - let uu____3344 = FStar_Range.start_of_range tmrange in - FStar_Range.end_of_line uu____3344 in - let uu____3345 = FStar_Range.end_of_range tmrange in - comments_before_pos FStar_Pprint.empty uu____3343 uu____3345 in + let uu____3344 = FStar_Range.start_of_range tmrange in + FStar_Range.end_of_line uu____3344 in + let uu____3345 = FStar_Range.end_of_range tmrange in + comments_before_pos FStar_Pprint.empty uu____3343 uu____3345 in match uu____3337 with - | (comments, has_lookahead) -> - let printed_e = printer tm in + | (comments,has_lookahead) -> + let printed_e = printer tm in let comments1 = if has_lookahead then - let pos = FStar_Range.end_of_range tmrange in - let uu____3354 = comments_before_pos comments pos pos in + let pos = FStar_Range.end_of_range tmrange in + let uu____3354 = comments_before_pos comments pos pos in FStar_Pervasives_Native.fst uu____3354 - else comments in + else comments in if comments1 = FStar_Pprint.empty then printed_e else - (let uu____3366 = FStar_Pprint.op_Hat_Hat comments1 printed_e in + (let uu____3366 = FStar_Pprint.op_Hat_Hat comments1 printed_e + in FStar_Pprint.group uu____3366) + let with_comment_sep : 'Auu____3378 'Auu____3379 . ('Auu____3378 -> 'Auu____3379) -> 'Auu____3378 -> FStar_Range.range -> (FStar_Pprint.document * 'Auu____3379) = - fun printer -> - fun tm -> - fun tmrange -> + fun printer -> + fun tm -> + fun tmrange -> let rec comments_before_pos acc print_pos lookahead_pos = - let uu____3425 = FStar_ST.op_Bang comment_stack in + let uu____3425 = FStar_ST.op_Bang comment_stack in match uu____3425 with | [] -> (acc, false) - | (c, crange)::cs -> - let comment = str c in - let uu____3496 = FStar_Range.range_before_pos crange print_pos in + | (c,crange)::cs -> + let comment = str c in + let uu____3496 = FStar_Range.range_before_pos crange print_pos + in if uu____3496 then (FStar_ST.op_Colon_Equals comment_stack cs; @@ -867,30 +968,34 @@ let with_comment_sep : else (let uu____3542 = FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline - comment in - FStar_Pprint.op_Hat_Hat acc uu____3542) in + comment + in + FStar_Pprint.op_Hat_Hat acc uu____3542) + in comments_before_pos uu____3538 print_pos lookahead_pos)) else (let uu____3545 = - FStar_Range.range_before_pos crange lookahead_pos in - (acc, uu____3545)) in + FStar_Range.range_before_pos crange lookahead_pos in + (acc, uu____3545)) + in let uu____3548 = let uu____3554 = - let uu____3555 = FStar_Range.start_of_range tmrange in - FStar_Range.end_of_line uu____3555 in - let uu____3556 = FStar_Range.end_of_range tmrange in - comments_before_pos FStar_Pprint.empty uu____3554 uu____3556 in + let uu____3555 = FStar_Range.start_of_range tmrange in + FStar_Range.end_of_line uu____3555 in + let uu____3556 = FStar_Range.end_of_range tmrange in + comments_before_pos FStar_Pprint.empty uu____3554 uu____3556 in match uu____3548 with - | (comments, has_lookahead) -> - let printed_e = printer tm in + | (comments,has_lookahead) -> + let printed_e = printer tm in let comments1 = if has_lookahead then - let pos = FStar_Range.end_of_range tmrange in - let uu____3569 = comments_before_pos comments pos pos in + let pos = FStar_Range.end_of_range tmrange in + let uu____3569 = comments_before_pos comments pos pos in FStar_Pervasives_Native.fst uu____3569 - else comments in + else comments in (comments1, printed_e) + let rec (place_comments_until_pos : Prims.int -> Prims.int -> @@ -899,37 +1004,38 @@ let rec (place_comments_until_pos : FStar_Pprint.document -> Prims.bool -> Prims.bool -> FStar_Pprint.document) = - fun k -> - fun lbegin -> - fun pos -> - fun meta_decl -> - fun doc1 -> - fun r -> - fun init1 -> - let uu____3622 = FStar_ST.op_Bang comment_stack in + fun k -> + fun lbegin -> + fun pos -> + fun meta_decl -> + fun doc1 -> + fun r -> + fun init1 -> + let uu____3622 = FStar_ST.op_Bang comment_stack in match uu____3622 with - | (comment, crange)::cs when + | (comment,crange)::cs when FStar_Range.range_before_pos crange pos -> (FStar_ST.op_Colon_Equals comment_stack cs; (let lnum = let uu____3716 = let uu____3718 = let uu____3720 = - FStar_Range.start_of_range crange in - FStar_Range.line_of_pos uu____3720 in - uu____3718 - lbegin in - max k uu____3716 in - let lnum1 = min (Prims.parse_int "2") lnum in + FStar_Range.start_of_range crange in + FStar_Range.line_of_pos uu____3720 in + uu____3718 - lbegin in + max k uu____3716 in + let lnum1 = min (Prims.parse_int "2") lnum in let doc2 = let uu____3725 = let uu____3726 = - FStar_Pprint.repeat lnum1 FStar_Pprint.hardline in - let uu____3727 = str comment in - FStar_Pprint.op_Hat_Hat uu____3726 uu____3727 in - FStar_Pprint.op_Hat_Hat doc1 uu____3725 in + FStar_Pprint.repeat lnum1 FStar_Pprint.hardline + in + let uu____3727 = str comment in + FStar_Pprint.op_Hat_Hat uu____3726 uu____3727 in + FStar_Pprint.op_Hat_Hat doc1 uu____3725 in let uu____3728 = - let uu____3730 = FStar_Range.end_of_range crange in - FStar_Range.line_of_pos uu____3730 in + let uu____3730 = FStar_Range.end_of_range crange in + FStar_Range.line_of_pos uu____3730 in place_comments_until_pos (Prims.parse_int "1") uu____3728 pos meta_decl doc2 true init1)) | uu____3733 -> @@ -937,31 +1043,32 @@ let rec (place_comments_until_pos : then FStar_Pprint.empty else (let lnum = - let uu____3746 = FStar_Range.line_of_pos pos in - uu____3746 - lbegin in - let lnum1 = min (Prims.parse_int "3") lnum in + let uu____3746 = FStar_Range.line_of_pos pos in + uu____3746 - lbegin in + let lnum1 = min (Prims.parse_int "3") lnum in let lnum2 = if meta_decl.has_qs || meta_decl.has_attrs then lnum1 - (Prims.parse_int "1") - else lnum1 in - let lnum3 = max k lnum2 in + else lnum1 in + let lnum3 = max k lnum2 in let lnum4 = if meta_decl.has_qs && meta_decl.has_attrs then (Prims.parse_int "2") - else lnum3 in + else lnum3 in let lnum5 = if (Prims.op_Negation r) && meta_decl.has_fsdoc then min (Prims.parse_int "2") lnum4 - else lnum4 in + else lnum4 in let lnum6 = if r && (meta_decl.is_fsdoc || meta_decl.has_fsdoc) then (Prims.parse_int "1") - else lnum5 in + else lnum5 in let lnum7 = - if init1 then (Prims.parse_int "2") else lnum6 in + if init1 then (Prims.parse_int "2") else lnum6 in let uu____3788 = - FStar_Pprint.repeat lnum7 FStar_Pprint.hardline in + FStar_Pprint.repeat lnum7 FStar_Pprint.hardline in FStar_Pprint.op_Hat_Hat doc1 uu____3788) + let separate_map_with_comments : 'Auu____3802 . FStar_Pprint.document -> @@ -970,45 +1077,49 @@ let separate_map_with_comments : 'Auu____3802 Prims.list -> ('Auu____3802 -> decl_meta) -> FStar_Pprint.document = - fun prefix1 -> - fun sep -> - fun f -> - fun xs -> - fun extract_meta -> + fun prefix1 -> + fun sep -> + fun f -> + fun xs -> + fun extract_meta -> let fold_fun uu____3861 x = match uu____3861 with - | (last_line, doc1) -> - let meta_decl = extract_meta x in - let r = meta_decl.r in + | (last_line,doc1) -> + let meta_decl = extract_meta x in + let r = meta_decl.r in let doc2 = - let uu____3880 = FStar_Range.start_of_range r in + let uu____3880 = FStar_Range.start_of_range r in place_comments_until_pos (Prims.parse_int "1") last_line - uu____3880 meta_decl doc1 false false in + uu____3880 meta_decl doc1 false false + in let uu____3884 = - let uu____3886 = FStar_Range.end_of_range r in - FStar_Range.line_of_pos uu____3886 in + let uu____3886 = FStar_Range.end_of_range r in + FStar_Range.line_of_pos uu____3886 in let uu____3887 = let uu____3888 = - let uu____3889 = f x in - FStar_Pprint.op_Hat_Hat sep uu____3889 in - FStar_Pprint.op_Hat_Hat doc2 uu____3888 in - (uu____3884, uu____3887) in + let uu____3889 = f x in + FStar_Pprint.op_Hat_Hat sep uu____3889 in + FStar_Pprint.op_Hat_Hat doc2 uu____3888 in + (uu____3884, uu____3887) + in let uu____3891 = - let uu____3898 = FStar_List.hd xs in - let uu____3899 = FStar_List.tl xs in (uu____3898, uu____3899) in + let uu____3898 = FStar_List.hd xs in + let uu____3899 = FStar_List.tl xs in (uu____3898, uu____3899) + in match uu____3891 with - | (x, xs1) -> + | (x,xs1) -> let init1 = - let meta_decl = extract_meta x in + let meta_decl = extract_meta x in let uu____3917 = - let uu____3919 = FStar_Range.end_of_range meta_decl.r in - FStar_Range.line_of_pos uu____3919 in + let uu____3919 = FStar_Range.end_of_range meta_decl.r in + FStar_Range.line_of_pos uu____3919 in let uu____3920 = - let uu____3921 = f x in - FStar_Pprint.op_Hat_Hat prefix1 uu____3921 in - (uu____3917, uu____3920) in - let uu____3923 = FStar_List.fold_left fold_fun init1 xs1 in + let uu____3921 = f x in + FStar_Pprint.op_Hat_Hat prefix1 uu____3921 in + (uu____3917, uu____3920) in + let uu____3923 = FStar_List.fold_left fold_fun init1 xs1 in FStar_Pervasives_Native.snd uu____3923 + let separate_map_with_comments_kw : 'Auu____3950 'Auu____3951 . 'Auu____3950 -> @@ -1017,257 +1128,281 @@ let separate_map_with_comments_kw : 'Auu____3951 Prims.list -> ('Auu____3951 -> decl_meta) -> FStar_Pprint.document = - fun prefix1 -> - fun sep -> - fun f -> - fun xs -> - fun extract_meta -> + fun prefix1 -> + fun sep -> + fun f -> + fun xs -> + fun extract_meta -> let fold_fun uu____4015 x = match uu____4015 with - | (last_line, doc1) -> - let meta_decl = extract_meta x in - let r = meta_decl.r in + | (last_line,doc1) -> + let meta_decl = extract_meta x in + let r = meta_decl.r in let doc2 = - let uu____4034 = FStar_Range.start_of_range r in + let uu____4034 = FStar_Range.start_of_range r in place_comments_until_pos (Prims.parse_int "1") last_line - uu____4034 meta_decl doc1 false false in + uu____4034 meta_decl doc1 false false + in let uu____4038 = - let uu____4040 = FStar_Range.end_of_range r in - FStar_Range.line_of_pos uu____4040 in + let uu____4040 = FStar_Range.end_of_range r in + FStar_Range.line_of_pos uu____4040 in let uu____4041 = - let uu____4042 = f sep x in - FStar_Pprint.op_Hat_Hat doc2 uu____4042 in - (uu____4038, uu____4041) in + let uu____4042 = f sep x in + FStar_Pprint.op_Hat_Hat doc2 uu____4042 in + (uu____4038, uu____4041) + in let uu____4044 = - let uu____4051 = FStar_List.hd xs in - let uu____4052 = FStar_List.tl xs in (uu____4051, uu____4052) in + let uu____4051 = FStar_List.hd xs in + let uu____4052 = FStar_List.tl xs in (uu____4051, uu____4052) + in match uu____4044 with - | (x, xs1) -> + | (x,xs1) -> let init1 = - let meta_decl = extract_meta x in + let meta_decl = extract_meta x in let uu____4070 = - let uu____4072 = FStar_Range.end_of_range meta_decl.r in - FStar_Range.line_of_pos uu____4072 in - let uu____4073 = f prefix1 x in (uu____4070, uu____4073) in - let uu____4075 = FStar_List.fold_left fold_fun init1 xs1 in + let uu____4072 = FStar_Range.end_of_range meta_decl.r in + FStar_Range.line_of_pos uu____4072 in + let uu____4073 = f prefix1 x in (uu____4070, uu____4073) + in + let uu____4075 = FStar_List.fold_left fold_fun init1 xs1 in FStar_Pervasives_Native.snd uu____4075 + let rec (p_decl : FStar_Parser_AST.decl -> FStar_Pprint.document) = - fun d -> + fun d -> let qualifiers = match ((d.FStar_Parser_AST.quals), (d.FStar_Parser_AST.d)) with - | ((FStar_Parser_AST.Assumption)::[], FStar_Parser_AST.Assume - (id1, uu____5061)) -> + | ((FStar_Parser_AST.Assumption )::[],FStar_Parser_AST.Assume + (id1,uu____5061)) -> let uu____5064 = let uu____5066 = - FStar_Util.char_at id1.FStar_Ident.idText (Prims.parse_int "0") in - FStar_All.pipe_right uu____5066 FStar_Util.is_upper in + FStar_Util.char_at id1.FStar_Ident.idText (Prims.parse_int "0") + in + FStar_All.pipe_right uu____5066 FStar_Util.is_upper in if uu____5064 then - let uu____5072 = p_qualifier FStar_Parser_AST.Assumption in + let uu____5072 = p_qualifier FStar_Parser_AST.Assumption in FStar_Pprint.op_Hat_Hat uu____5072 FStar_Pprint.space else p_qualifiers d.FStar_Parser_AST.quals - | uu____5075 -> p_qualifiers d.FStar_Parser_AST.quals in + | uu____5075 -> p_qualifiers d.FStar_Parser_AST.quals in let uu____5082 = - FStar_Pprint.optional (fun d1 -> p_fsdoc d1) d.FStar_Parser_AST.doc in + FStar_Pprint.optional (fun d1 -> p_fsdoc d1) d.FStar_Parser_AST.doc + in let uu____5085 = - let uu____5086 = p_attributes d.FStar_Parser_AST.attrs in + let uu____5086 = p_attributes d.FStar_Parser_AST.attrs in let uu____5087 = - let uu____5088 = p_rawDecl d in - FStar_Pprint.op_Hat_Hat qualifiers uu____5088 in - FStar_Pprint.op_Hat_Hat uu____5086 uu____5087 in + let uu____5088 = p_rawDecl d in + FStar_Pprint.op_Hat_Hat qualifiers uu____5088 in + FStar_Pprint.op_Hat_Hat uu____5086 uu____5087 in FStar_Pprint.op_Hat_Hat uu____5082 uu____5085 + and (p_attributes : FStar_Parser_AST.attributes_ -> FStar_Pprint.document) = - fun attrs -> + fun attrs -> match attrs with | [] -> FStar_Pprint.empty | uu____5090 -> let uu____5091 = - let uu____5092 = str "@ " in + let uu____5092 = str "@ " in let uu____5094 = let uu____5095 = let uu____5096 = let uu____5097 = - let uu____5098 = FStar_List.map p_atomicTerm attrs in - FStar_Pprint.flow break1 uu____5098 in - FStar_Pprint.op_Hat_Hat uu____5097 FStar_Pprint.rbracket in - FStar_Pprint.align uu____5096 in - FStar_Pprint.op_Hat_Hat uu____5095 FStar_Pprint.hardline in - FStar_Pprint.op_Hat_Hat uu____5092 uu____5094 in + let uu____5098 = FStar_List.map p_atomicTerm attrs in + FStar_Pprint.flow break1 uu____5098 in + FStar_Pprint.op_Hat_Hat uu____5097 FStar_Pprint.rbracket in + FStar_Pprint.align uu____5096 in + FStar_Pprint.op_Hat_Hat uu____5095 FStar_Pprint.hardline in + FStar_Pprint.op_Hat_Hat uu____5092 uu____5094 in FStar_Pprint.op_Hat_Hat FStar_Pprint.lbracket uu____5091 + and (p_fsdoc : FStar_Parser_AST.fsdoc -> FStar_Pprint.document) = - fun uu____5101 -> + fun uu____5101 -> match uu____5101 with - | (doc1, kwd_args) -> + | (doc1,kwd_args) -> let kwd_args_doc = match kwd_args with | [] -> FStar_Pprint.empty | kwd_args1 -> let process_kwd_arg uu____5149 = match uu____5149 with - | (kwd, arg) -> - let uu____5162 = str "@" in + | (kwd,arg) -> + let uu____5162 = str "@" in let uu____5164 = - let uu____5165 = str kwd in + let uu____5165 = str kwd in let uu____5166 = - let uu____5167 = str arg in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5167 in - FStar_Pprint.op_Hat_Hat uu____5165 uu____5166 in - FStar_Pprint.op_Hat_Hat uu____5162 uu____5164 in + let uu____5167 = str arg in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5167 + in + FStar_Pprint.op_Hat_Hat uu____5165 uu____5166 in + FStar_Pprint.op_Hat_Hat uu____5162 uu____5164 + in let uu____5168 = FStar_Pprint.separate_map FStar_Pprint.hardline - process_kwd_arg kwd_args1 in - FStar_Pprint.op_Hat_Hat uu____5168 FStar_Pprint.hardline in + process_kwd_arg kwd_args1 + in + FStar_Pprint.op_Hat_Hat uu____5168 FStar_Pprint.hardline + in let uu____5175 = let uu____5176 = let uu____5177 = - let uu____5178 = str doc1 in + let uu____5178 = str doc1 in let uu____5179 = let uu____5180 = let uu____5181 = FStar_Pprint.op_Hat_Hat FStar_Pprint.rparen - FStar_Pprint.hardline in - FStar_Pprint.op_Hat_Hat FStar_Pprint.star uu____5181 in - FStar_Pprint.op_Hat_Hat kwd_args_doc uu____5180 in - FStar_Pprint.op_Hat_Hat uu____5178 uu____5179 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.star uu____5177 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.star uu____5176 in + FStar_Pprint.hardline + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.star uu____5181 in + FStar_Pprint.op_Hat_Hat kwd_args_doc uu____5180 in + FStar_Pprint.op_Hat_Hat uu____5178 uu____5179 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.star uu____5177 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.star uu____5176 in FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen uu____5175 + and (p_justSig : FStar_Parser_AST.decl -> FStar_Pprint.document) = - fun d -> + fun d -> match d.FStar_Parser_AST.d with - | FStar_Parser_AST.Val (lid, t) -> + | FStar_Parser_AST.Val (lid,t) -> let uu____5185 = - let uu____5186 = str "val" in + let uu____5186 = str "val" in let uu____5188 = let uu____5189 = - let uu____5190 = p_lident lid in + let uu____5190 = p_lident lid in let uu____5191 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.space FStar_Pprint.colon in - FStar_Pprint.op_Hat_Hat uu____5190 uu____5191 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5189 in - FStar_Pprint.op_Hat_Hat uu____5186 uu____5188 in - let uu____5192 = p_typ false false t in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space FStar_Pprint.colon + in + FStar_Pprint.op_Hat_Hat uu____5190 uu____5191 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5189 in + FStar_Pprint.op_Hat_Hat uu____5186 uu____5188 in + let uu____5192 = p_typ false false t in FStar_Pprint.op_Hat_Hat uu____5185 uu____5192 - | FStar_Parser_AST.TopLevelLet (uu____5195, lbs) -> + | FStar_Parser_AST.TopLevelLet (uu____5195,lbs) -> FStar_Pprint.separate_map FStar_Pprint.hardline - (fun lb -> + (fun lb -> let uu____5220 = - let uu____5221 = str "let" in p_letlhs uu____5221 lb false in + let uu____5221 = str "let" in p_letlhs uu____5221 lb false + in FStar_Pprint.group uu____5220) lbs | uu____5224 -> FStar_Pprint.empty + and (p_list : (FStar_Ident.ident -> FStar_Pprint.document) -> FStar_Pprint.document -> FStar_Ident.ident Prims.list -> FStar_Pprint.document) = - fun f -> - fun sep -> - fun l -> + fun f -> + fun sep -> + fun l -> let rec p_list' uu___4_5239 = match uu___4_5239 with | [] -> FStar_Pprint.empty | x::[] -> f x | x::xs -> - let uu____5247 = f x in + let uu____5247 = f x in let uu____5248 = - let uu____5249 = p_list' xs in - FStar_Pprint.op_Hat_Hat sep uu____5249 in - FStar_Pprint.op_Hat_Hat uu____5247 uu____5248 in - let uu____5250 = str "[" in + let uu____5249 = p_list' xs in + FStar_Pprint.op_Hat_Hat sep uu____5249 in + FStar_Pprint.op_Hat_Hat uu____5247 uu____5248 + in + let uu____5250 = str "[" in let uu____5252 = - let uu____5253 = p_list' l in - let uu____5254 = str "]" in - FStar_Pprint.op_Hat_Hat uu____5253 uu____5254 in + let uu____5253 = p_list' l in + let uu____5254 = str "]" in + FStar_Pprint.op_Hat_Hat uu____5253 uu____5254 in FStar_Pprint.op_Hat_Hat uu____5250 uu____5252 + and (p_rawDecl : FStar_Parser_AST.decl -> FStar_Pprint.document) = - fun d -> + fun d -> match d.FStar_Parser_AST.d with | FStar_Parser_AST.Open uid -> let uu____5258 = - let uu____5259 = str "open" in - let uu____5261 = p_quident uid in - FStar_Pprint.op_Hat_Slash_Hat uu____5259 uu____5261 in + let uu____5259 = str "open" in + let uu____5261 = p_quident uid in + FStar_Pprint.op_Hat_Slash_Hat uu____5259 uu____5261 in FStar_Pprint.group uu____5258 | FStar_Parser_AST.Include uid -> let uu____5263 = - let uu____5264 = str "include" in - let uu____5266 = p_quident uid in - FStar_Pprint.op_Hat_Slash_Hat uu____5264 uu____5266 in + let uu____5264 = str "include" in + let uu____5266 = p_quident uid in + FStar_Pprint.op_Hat_Slash_Hat uu____5264 uu____5266 in FStar_Pprint.group uu____5263 | FStar_Parser_AST.Friend uid -> let uu____5268 = - let uu____5269 = str "friend" in - let uu____5271 = p_quident uid in - FStar_Pprint.op_Hat_Slash_Hat uu____5269 uu____5271 in + let uu____5269 = str "friend" in + let uu____5271 = p_quident uid in + FStar_Pprint.op_Hat_Slash_Hat uu____5269 uu____5271 in FStar_Pprint.group uu____5268 - | FStar_Parser_AST.ModuleAbbrev (uid1, uid2) -> + | FStar_Parser_AST.ModuleAbbrev (uid1,uid2) -> let uu____5274 = - let uu____5275 = str "module" in + let uu____5275 = str "module" in let uu____5277 = let uu____5278 = - let uu____5279 = p_uident uid1 in + let uu____5279 = p_uident uid1 in let uu____5280 = FStar_Pprint.op_Hat_Hat FStar_Pprint.space - FStar_Pprint.equals in - FStar_Pprint.op_Hat_Hat uu____5279 uu____5280 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5278 in - FStar_Pprint.op_Hat_Hat uu____5275 uu____5277 in - let uu____5281 = p_quident uid2 in + FStar_Pprint.equals + in + FStar_Pprint.op_Hat_Hat uu____5279 uu____5280 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5278 in + FStar_Pprint.op_Hat_Hat uu____5275 uu____5277 in + let uu____5281 = p_quident uid2 in op_Hat_Slash_Plus_Hat uu____5274 uu____5281 | FStar_Parser_AST.TopLevelModule uid -> let uu____5283 = - let uu____5284 = str "module" in + let uu____5284 = str "module" in let uu____5286 = - let uu____5287 = p_quident uid in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5287 in - FStar_Pprint.op_Hat_Hat uu____5284 uu____5286 in + let uu____5287 = p_quident uid in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5287 in + FStar_Pprint.op_Hat_Hat uu____5284 uu____5286 in FStar_Pprint.group uu____5283 | FStar_Parser_AST.Tycon - (true, uu____5288, - (FStar_Parser_AST.TyconAbbrev - (uid, tpars, FStar_Pervasives_Native.None, t), - FStar_Pervasives_Native.None)::[]) + (true + ,uu____5288,(FStar_Parser_AST.TyconAbbrev + (uid,tpars,FStar_Pervasives_Native.None ,t),FStar_Pervasives_Native.None + )::[]) -> let effect_prefix_doc = - let uu____5325 = str "effect" in + let uu____5325 = str "effect" in let uu____5327 = - let uu____5328 = p_uident uid in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5328 in - FStar_Pprint.op_Hat_Hat uu____5325 uu____5327 in + let uu____5328 = p_uident uid in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5328 in + FStar_Pprint.op_Hat_Hat uu____5325 uu____5327 in let uu____5329 = - let uu____5330 = p_typars tpars in + let uu____5330 = p_typars tpars in FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "1") - effect_prefix_doc uu____5330 FStar_Pprint.equals in - let uu____5333 = p_typ false false t in + effect_prefix_doc uu____5330 FStar_Pprint.equals + in + let uu____5333 = p_typ false false t in op_Hat_Slash_Plus_Hat uu____5329 uu____5333 - | FStar_Parser_AST.Tycon (false, tc, tcdefs) -> - let s = if tc then str "class" else str "type" in + | FStar_Parser_AST.Tycon (false ,tc,tcdefs) -> + let s = if tc then str "class" else str "type" in let uu____5364 = - let uu____5365 = FStar_List.hd tcdefs in - p_fsdocTypeDeclPairs s uu____5365 in + let uu____5365 = FStar_List.hd tcdefs in + p_fsdocTypeDeclPairs s uu____5365 in let uu____5378 = - let uu____5379 = FStar_List.tl tcdefs in + let uu____5379 = FStar_List.tl tcdefs in FStar_All.pipe_left (FStar_Pprint.concat_map - (fun x -> + (fun x -> let uu____5417 = - let uu____5418 = str "and" in - p_fsdocTypeDeclPairs uu____5418 x in - FStar_Pprint.op_Hat_Hat break1 uu____5417)) uu____5379 in + let uu____5418 = str "and" in + p_fsdocTypeDeclPairs uu____5418 x in + FStar_Pprint.op_Hat_Hat break1 uu____5417)) uu____5379 + in FStar_Pprint.op_Hat_Hat uu____5364 uu____5378 - | FStar_Parser_AST.TopLevelLet (q, lbs) -> + | FStar_Parser_AST.TopLevelLet (q,lbs) -> let let_doc = - let uu____5435 = str "let" in - let uu____5437 = p_letqualifier q in - FStar_Pprint.op_Hat_Hat uu____5435 uu____5437 in - let uu____5438 = str "and" in + let uu____5435 = str "let" in + let uu____5437 = p_letqualifier q in + FStar_Pprint.op_Hat_Hat uu____5435 uu____5437 in + let uu____5438 = str "and" in separate_map_with_comments_kw let_doc uu____5438 p_letbinding lbs - (fun uu____5448 -> + (fun uu____5448 -> match uu____5448 with - | (p, t) -> + | (p,t) -> let uu____5455 = FStar_Range.union_ranges p.FStar_Parser_AST.prange - t.FStar_Parser_AST.range in + t.FStar_Parser_AST.range + in { r = uu____5455; has_qs = false; @@ -1275,155 +1410,170 @@ and (p_rawDecl : FStar_Parser_AST.decl -> FStar_Pprint.document) = has_fsdoc = (FStar_Util.is_some d.FStar_Parser_AST.doc); is_fsdoc = false }) - | FStar_Parser_AST.Val (lid, t) -> + | FStar_Parser_AST.Val (lid,t) -> let uu____5461 = - let uu____5462 = str "val" in + let uu____5462 = str "val" in let uu____5464 = let uu____5465 = - let uu____5466 = p_lident lid in - let uu____5467 = sig_as_binders_if_possible t false in - FStar_Pprint.op_Hat_Hat uu____5466 uu____5467 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5465 in - FStar_Pprint.op_Hat_Hat uu____5462 uu____5464 in + let uu____5466 = p_lident lid in + let uu____5467 = sig_as_binders_if_possible t false in + FStar_Pprint.op_Hat_Hat uu____5466 uu____5467 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5465 in + FStar_Pprint.op_Hat_Hat uu____5462 uu____5464 in FStar_All.pipe_left FStar_Pprint.group uu____5461 - | FStar_Parser_AST.Assume (id1, t) -> + | FStar_Parser_AST.Assume (id1,t) -> let decl_keyword = let uu____5472 = let uu____5474 = - FStar_Util.char_at id1.FStar_Ident.idText (Prims.parse_int "0") in - FStar_All.pipe_right uu____5474 FStar_Util.is_upper in + FStar_Util.char_at id1.FStar_Ident.idText (Prims.parse_int "0") + in + FStar_All.pipe_right uu____5474 FStar_Util.is_upper in if uu____5472 then FStar_Pprint.empty else - (let uu____5482 = str "val" in - FStar_Pprint.op_Hat_Hat uu____5482 FStar_Pprint.space) in + (let uu____5482 = str "val" in + FStar_Pprint.op_Hat_Hat uu____5482 FStar_Pprint.space) + in let uu____5484 = - let uu____5485 = p_ident id1 in + let uu____5485 = p_ident id1 in let uu____5486 = let uu____5487 = let uu____5488 = - let uu____5489 = p_typ false false t in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5489 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____5488 in - FStar_Pprint.group uu____5487 in - FStar_Pprint.op_Hat_Hat uu____5485 uu____5486 in + let uu____5489 = p_typ false false t in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5489 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____5488 in + FStar_Pprint.group uu____5487 in + FStar_Pprint.op_Hat_Hat uu____5485 uu____5486 in FStar_Pprint.op_Hat_Hat decl_keyword uu____5484 - | FStar_Parser_AST.Exception (uid, t_opt) -> - let uu____5498 = str "exception" in + | FStar_Parser_AST.Exception (uid,t_opt) -> + let uu____5498 = str "exception" in let uu____5500 = let uu____5501 = - let uu____5502 = p_uident uid in + let uu____5502 = p_uident uid in let uu____5503 = FStar_Pprint.optional - (fun t -> + (fun t -> let uu____5507 = - let uu____5508 = str "of" in - let uu____5510 = p_typ false false t in - op_Hat_Slash_Plus_Hat uu____5508 uu____5510 in - FStar_Pprint.op_Hat_Hat break1 uu____5507) t_opt in - FStar_Pprint.op_Hat_Hat uu____5502 uu____5503 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5501 in + let uu____5508 = str "of" in + let uu____5510 = p_typ false false t in + op_Hat_Slash_Plus_Hat uu____5508 uu____5510 in + FStar_Pprint.op_Hat_Hat break1 uu____5507) t_opt + in + FStar_Pprint.op_Hat_Hat uu____5502 uu____5503 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5501 in FStar_Pprint.op_Hat_Hat uu____5498 uu____5500 | FStar_Parser_AST.NewEffect ne -> - let uu____5514 = str "new_effect" in + let uu____5514 = str "new_effect" in let uu____5516 = - let uu____5517 = p_newEffect ne in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5517 in + let uu____5517 = p_newEffect ne in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5517 in FStar_Pprint.op_Hat_Hat uu____5514 uu____5516 | FStar_Parser_AST.SubEffect se -> - let uu____5519 = str "sub_effect" in + let uu____5519 = str "sub_effect" in let uu____5521 = - let uu____5522 = p_subEffect se in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5522 in + let uu____5522 = p_subEffect se in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5522 in FStar_Pprint.op_Hat_Hat uu____5519 uu____5521 | FStar_Parser_AST.Pragma p -> p_pragma p | FStar_Parser_AST.Fsdoc doc1 -> p_fsdoc doc1 | FStar_Parser_AST.Main uu____5525 -> failwith "*Main declaration* : Is that really still in use ??" - | FStar_Parser_AST.Tycon (true, uu____5527, uu____5528) -> + | FStar_Parser_AST.Tycon (true ,uu____5527,uu____5528) -> failwith "Effect abbreviation is expected to be defined by an abbreviation" - | FStar_Parser_AST.Splice (ids, t) -> - let uu____5556 = str "%splice" in + | FStar_Parser_AST.Splice (ids,t) -> + let uu____5556 = str "%splice" in let uu____5558 = let uu____5559 = - let uu____5560 = str ";" in p_list p_uident uu____5560 ids in + let uu____5560 = str ";" in p_list p_uident uu____5560 ids in let uu____5562 = - let uu____5563 = p_term false false t in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5563 in - FStar_Pprint.op_Hat_Hat uu____5559 uu____5562 in + let uu____5563 = p_term false false t in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5563 in + FStar_Pprint.op_Hat_Hat uu____5559 uu____5562 in FStar_Pprint.op_Hat_Hat uu____5556 uu____5558 + and (p_pragma : FStar_Parser_AST.pragma -> FStar_Pprint.document) = - fun uu___5_5566 -> + fun uu___5_5566 -> match uu___5_5566 with | FStar_Parser_AST.SetOptions s -> - let uu____5569 = str "#set-options" in + let uu____5569 = str "#set-options" in let uu____5571 = let uu____5572 = - let uu____5573 = str s in FStar_Pprint.dquotes uu____5573 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5572 in + let uu____5573 = str s in FStar_Pprint.dquotes uu____5573 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5572 in FStar_Pprint.op_Hat_Hat uu____5569 uu____5571 | FStar_Parser_AST.ResetOptions s_opt -> - let uu____5578 = str "#reset-options" in + let uu____5578 = str "#reset-options" in let uu____5580 = FStar_Pprint.optional - (fun s -> + (fun s -> let uu____5586 = - let uu____5587 = str s in FStar_Pprint.dquotes uu____5587 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5586) s_opt in + let uu____5587 = str s in FStar_Pprint.dquotes uu____5587 + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5586) s_opt + in FStar_Pprint.op_Hat_Hat uu____5578 uu____5580 | FStar_Parser_AST.PushOptions s_opt -> - let uu____5592 = str "#push-options" in + let uu____5592 = str "#push-options" in let uu____5594 = FStar_Pprint.optional - (fun s -> + (fun s -> let uu____5600 = - let uu____5601 = str s in FStar_Pprint.dquotes uu____5601 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5600) s_opt in + let uu____5601 = str s in FStar_Pprint.dquotes uu____5601 + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____5600) s_opt + in FStar_Pprint.op_Hat_Hat uu____5592 uu____5594 - | FStar_Parser_AST.PopOptions -> str "#pop-options" - | FStar_Parser_AST.LightOff -> + | FStar_Parser_AST.PopOptions -> str "#pop-options" + | FStar_Parser_AST.RestartSolver -> str "#restart-solver" + | FStar_Parser_AST.LightOff -> (FStar_ST.op_Colon_Equals should_print_fs_typ_app true; str "#light \"off\"") + and (p_typars : FStar_Parser_AST.binder Prims.list -> FStar_Pprint.document) - = fun bs -> p_binders true bs + = fun bs -> p_binders true bs + and (p_fsdocTypeDeclPairs : FStar_Pprint.document -> (FStar_Parser_AST.tycon * FStar_Parser_AST.fsdoc FStar_Pervasives_Native.option) -> FStar_Pprint.document) = - fun kw -> - fun uu____5632 -> - match uu____5632 with - | (typedecl, fsdoc_opt) -> - let uu____5645 = p_typeDecl (kw, fsdoc_opt) typedecl in - (match uu____5645 with - | (comm, decl, body, pre) -> + fun kw -> + fun uu____5633 -> + match uu____5633 with + | (typedecl,fsdoc_opt) -> + let uu____5646 = p_typeDecl (kw, fsdoc_opt) typedecl in + (match uu____5646 with + | (comm,decl,body,pre) -> if comm = FStar_Pprint.empty then - let uu____5670 = pre body in - FStar_Pprint.op_Hat_Hat decl uu____5670 + let uu____5671 = pre body in + FStar_Pprint.op_Hat_Hat decl uu____5671 else - (let uu____5673 = - let uu____5674 = - let uu____5675 = - let uu____5676 = pre body in - FStar_Pprint.op_Hat_Slash_Hat uu____5676 comm in - FStar_Pprint.op_Hat_Hat decl uu____5675 in - let uu____5677 = - let uu____5678 = - let uu____5679 = - let uu____5680 = - let uu____5681 = + (let uu____5674 = + let uu____5675 = + let uu____5676 = + let uu____5677 = pre body in + FStar_Pprint.op_Hat_Slash_Hat uu____5677 comm in + FStar_Pprint.op_Hat_Hat decl uu____5676 in + let uu____5678 = + let uu____5679 = + let uu____5680 = + let uu____5681 = + let uu____5682 = FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline - body in - FStar_Pprint.op_Hat_Hat comm uu____5681 in + body + in + FStar_Pprint.op_Hat_Hat comm uu____5682 in FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline - uu____5680 in - FStar_Pprint.nest (Prims.parse_int "2") uu____5679 in - FStar_Pprint.op_Hat_Hat decl uu____5678 in - FStar_Pprint.ifflat uu____5674 uu____5677 in - FStar_All.pipe_left FStar_Pprint.group uu____5673)) + uu____5681 + in + FStar_Pprint.nest (Prims.parse_int "2") uu____5680 + in + FStar_Pprint.op_Hat_Hat decl uu____5679 in + FStar_Pprint.ifflat uu____5675 uu____5678 in + FStar_All.pipe_left FStar_Pprint.group uu____5674)) + and (p_typeDecl : (FStar_Pprint.document * FStar_Parser_AST.fsdoc FStar_Pervasives_Native.option) -> @@ -1431,65 +1581,74 @@ and (p_typeDecl : (FStar_Pprint.document * FStar_Pprint.document * FStar_Pprint.document * (FStar_Pprint.document -> FStar_Pprint.document))) = - fun pre -> - fun uu___6_5684 -> - match uu___6_5684 with - | FStar_Parser_AST.TyconAbstract (lid, bs, typ_opt) -> - let uu____5713 = p_typeDeclPrefix pre false lid bs typ_opt in - (FStar_Pprint.empty, uu____5713, FStar_Pprint.empty, + fun pre -> + fun uu___6_5685 -> + match uu___6_5685 with + | FStar_Parser_AST.TyconAbstract (lid,bs,typ_opt) -> + let uu____5714 = p_typeDeclPrefix pre false lid bs typ_opt in + (FStar_Pprint.empty, uu____5714, FStar_Pprint.empty, FStar_Pervasives.id) - | FStar_Parser_AST.TyconAbbrev (lid, bs, typ_opt, t) -> - let uu____5730 = p_typ_sep false false t in - (match uu____5730 with - | (comm, doc1) -> - let uu____5750 = p_typeDeclPrefix pre true lid bs typ_opt in - (comm, uu____5750, doc1, jump2)) - | FStar_Parser_AST.TyconRecord (lid, bs, typ_opt, record_field_decls) - -> - let p_recordFieldAndComments ps uu____5806 = - match uu____5806 with - | (lid1, t, doc_opt) -> - let uu____5823 = - let uu____5828 = + | FStar_Parser_AST.TyconAbbrev (lid,bs,typ_opt,t) -> + let uu____5731 = p_typ_sep false false t in + (match uu____5731 with + | (comm,doc1) -> + let uu____5751 = p_typeDeclPrefix pre true lid bs typ_opt in + (comm, uu____5751, doc1, jump2)) + | FStar_Parser_AST.TyconRecord (lid,bs,typ_opt,record_field_decls) -> + let p_recordFieldAndComments ps uu____5807 = + match uu____5807 with + | (lid1,t,doc_opt) -> + let uu____5824 = + let uu____5829 = FStar_Range.extend_to_end_of_line - t.FStar_Parser_AST.range in + t.FStar_Parser_AST.range + in with_comment_sep (p_recordFieldDecl ps) (lid1, t, doc_opt) - uu____5828 in - (match uu____5823 with - | (comm, field) -> + uu____5829 + in + (match uu____5824 with + | (comm,field) -> let sep = - if ps then FStar_Pprint.semi else FStar_Pprint.empty in - inline_comment_or_above comm field sep) in + if ps then FStar_Pprint.semi else FStar_Pprint.empty + in + inline_comment_or_above comm field sep) + in let p_fields = - let uu____5846 = + let uu____5847 = separate_map_last FStar_Pprint.hardline - p_recordFieldAndComments record_field_decls in - braces_with_nesting uu____5846 in - let uu____5855 = p_typeDeclPrefix pre true lid bs typ_opt in - (FStar_Pprint.empty, uu____5855, p_fields, - ((fun d -> FStar_Pprint.op_Hat_Hat FStar_Pprint.space d))) - | FStar_Parser_AST.TyconVariant (lid, bs, typ_opt, ct_decls) -> - let p_constructorBranchAndComments uu____5922 = - match uu____5922 with - | (uid, t_opt, doc_opt, use_of) -> + p_recordFieldAndComments record_field_decls + in + braces_with_nesting uu____5847 in + let uu____5856 = p_typeDeclPrefix pre true lid bs typ_opt in + (FStar_Pprint.empty, uu____5856, p_fields, + ((fun d -> FStar_Pprint.op_Hat_Hat FStar_Pprint.space d))) + | FStar_Parser_AST.TyconVariant (lid,bs,typ_opt,ct_decls) -> + let p_constructorBranchAndComments uu____5923 = + match uu____5923 with + | (uid,t_opt,doc_opt,use_of) -> let range = - let uu____5951 = - let uu____5952 = + let uu____5952 = + let uu____5953 = FStar_Util.map_opt t_opt - (fun t -> t.FStar_Parser_AST.range) in - FStar_Util.dflt uid.FStar_Ident.idRange uu____5952 in - FStar_Range.extend_to_end_of_line uu____5951 in - let uu____5957 = + (fun t -> t.FStar_Parser_AST.range) + in + FStar_Util.dflt uid.FStar_Ident.idRange uu____5953 in + FStar_Range.extend_to_end_of_line uu____5952 in + let uu____5958 = with_comment_sep p_constructorBranch - (uid, t_opt, doc_opt, use_of) range in - (match uu____5957 with - | (comm, ctor) -> - inline_comment_or_above comm ctor FStar_Pprint.empty) in + (uid, t_opt, doc_opt, use_of) range + in + (match uu____5958 with + | (comm,ctor) -> + inline_comment_or_above comm ctor FStar_Pprint.empty) + in let datacon_doc = FStar_Pprint.separate_map FStar_Pprint.hardline - p_constructorBranchAndComments ct_decls in - let uu____5996 = p_typeDeclPrefix pre true lid bs typ_opt in - (FStar_Pprint.empty, uu____5996, datacon_doc, jump2) + p_constructorBranchAndComments ct_decls + in + let uu____5997 = p_typeDeclPrefix pre true lid bs typ_opt in + (FStar_Pprint.empty, uu____5997, datacon_doc, jump2) + and (p_typeDeclPrefix : (FStar_Pprint.document * FStar_Parser_AST.fsdoc FStar_Pervasives_Native.option) -> @@ -1499,693 +1658,750 @@ and (p_typeDeclPrefix : FStar_Parser_AST.knd FStar_Pervasives_Native.option -> FStar_Pprint.document) = - fun uu____6001 -> - fun eq1 -> - fun lid -> - fun bs -> - fun typ_opt -> - match uu____6001 with - | (kw, fsdoc_opt) -> + fun uu____6002 -> + fun eq1 -> + fun lid -> + fun bs -> + fun typ_opt -> + match uu____6002 with + | (kw,fsdoc_opt) -> let maybe_with_fsdoc cont = - let lid_doc = p_ident lid in + let lid_doc = p_ident lid in let kw_lid = - let uu____6036 = FStar_Pprint.op_Hat_Slash_Hat kw lid_doc in - FStar_Pprint.group uu____6036 in + let uu____6037 = FStar_Pprint.op_Hat_Slash_Hat kw lid_doc + in + FStar_Pprint.group uu____6037 in match fsdoc_opt with - | FStar_Pervasives_Native.None -> cont kw_lid + | FStar_Pervasives_Native.None -> cont kw_lid | FStar_Pervasives_Native.Some fsdoc -> - let uu____6038 = - let uu____6041 = - let uu____6044 = p_fsdoc fsdoc in - let uu____6045 = - let uu____6048 = cont lid_doc in [uu____6048] in - uu____6044 :: uu____6045 in - kw :: uu____6041 in - FStar_Pprint.separate FStar_Pprint.hardline uu____6038 in + let uu____6039 = + let uu____6042 = + let uu____6045 = p_fsdoc fsdoc in + let uu____6046 = + let uu____6049 = cont lid_doc in [uu____6049] + in + uu____6045 :: uu____6046 in + kw :: uu____6042 in + FStar_Pprint.separate FStar_Pprint.hardline uu____6039 + in let typ = let maybe_eq = - if eq1 then FStar_Pprint.equals else FStar_Pprint.empty in + if eq1 then FStar_Pprint.equals else FStar_Pprint.empty + in match typ_opt with - | FStar_Pervasives_Native.None -> maybe_eq + | FStar_Pervasives_Native.None -> maybe_eq | FStar_Pervasives_Native.Some t -> - let uu____6055 = - let uu____6056 = - let uu____6057 = p_typ false false t in - FStar_Pprint.op_Hat_Slash_Hat uu____6057 maybe_eq in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6056 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____6055 in + let uu____6056 = + let uu____6057 = + let uu____6058 = p_typ false false t in + FStar_Pprint.op_Hat_Slash_Hat uu____6058 maybe_eq + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6057 + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____6056 + in if bs = [] - then maybe_with_fsdoc (fun n1 -> prefix2 n1 typ) + then maybe_with_fsdoc (fun n1 -> prefix2 n1 typ) else - (let binders = p_binders_list true bs in + (let binders = p_binders_list true bs in maybe_with_fsdoc - (fun n1 -> - let uu____6077 = - let uu____6078 = FStar_Pprint.flow break1 binders in - prefix2 n1 uu____6078 in - prefix2 uu____6077 typ)) + (fun n1 -> + let uu____6078 = + let uu____6079 = FStar_Pprint.flow break1 binders + in + prefix2 n1 uu____6079 in + prefix2 uu____6078 typ)) + and (p_recordFieldDecl : Prims.bool -> (FStar_Ident.ident * FStar_Parser_AST.term * FStar_Parser_AST.fsdoc FStar_Pervasives_Native.option) -> FStar_Pprint.document) = - fun ps -> - fun uu____6080 -> - match uu____6080 with - | (lid, t, doc_opt) -> - let uu____6097 = - let uu____6098 = FStar_Pprint.optional p_fsdoc doc_opt in - let uu____6099 = - let uu____6100 = p_lident lid in - let uu____6101 = - let uu____6102 = p_typ ps false t in - FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____6102 in - FStar_Pprint.op_Hat_Hat uu____6100 uu____6101 in - FStar_Pprint.op_Hat_Hat uu____6098 uu____6099 in - FStar_Pprint.group uu____6097 + fun ps -> + fun uu____6081 -> + match uu____6081 with + | (lid,t,doc_opt) -> + let uu____6098 = + let uu____6099 = FStar_Pprint.optional p_fsdoc doc_opt in + let uu____6100 = + let uu____6101 = p_lident lid in + let uu____6102 = + let uu____6103 = p_typ ps false t in + FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____6103 in + FStar_Pprint.op_Hat_Hat uu____6101 uu____6102 in + FStar_Pprint.op_Hat_Hat uu____6099 uu____6100 in + FStar_Pprint.group uu____6098 + and (p_constructorBranch : (FStar_Ident.ident * FStar_Parser_AST.term FStar_Pervasives_Native.option * FStar_Parser_AST.fsdoc FStar_Pervasives_Native.option * Prims.bool) -> FStar_Pprint.document) = - fun uu____6104 -> - match uu____6104 with - | (uid, t_opt, doc_opt, use_of) -> - let sep = if use_of then str "of" else FStar_Pprint.colon in + fun uu____6105 -> + match uu____6105 with + | (uid,t_opt,doc_opt,use_of) -> + let sep = if use_of then str "of" else FStar_Pprint.colon in let uid_doc = - let uu____6138 = - let uu____6139 = - let uu____6140 = p_uident uid in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6140 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.bar uu____6139 in - FStar_Pprint.group uu____6138 in - let uu____6141 = FStar_Pprint.optional p_fsdoc doc_opt in - let uu____6142 = + let uu____6139 = + let uu____6140 = + let uu____6141 = p_uident uid in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6141 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.bar uu____6140 in + FStar_Pprint.group uu____6139 in + let uu____6142 = FStar_Pprint.optional p_fsdoc doc_opt in + let uu____6143 = default_or_map uid_doc - (fun t -> - let uu____6146 = - let uu____6147 = - let uu____6148 = - let uu____6149 = - let uu____6150 = p_typ false false t in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6150 in - FStar_Pprint.op_Hat_Hat sep uu____6149 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6148 in - FStar_Pprint.op_Hat_Hat uid_doc uu____6147 in - FStar_Pprint.group uu____6146) t_opt in - FStar_Pprint.op_Hat_Hat uu____6141 uu____6142 + (fun t -> + let uu____6147 = + let uu____6148 = + let uu____6149 = + let uu____6150 = + let uu____6151 = p_typ false false t in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6151 + in + FStar_Pprint.op_Hat_Hat sep uu____6150 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6149 in + FStar_Pprint.op_Hat_Hat uid_doc uu____6148 in + FStar_Pprint.group uu____6147) t_opt + in + FStar_Pprint.op_Hat_Hat uu____6142 uu____6143 + and (p_letlhs : FStar_Pprint.document -> (FStar_Parser_AST.pattern * FStar_Parser_AST.term) -> Prims.bool -> FStar_Pprint.document) = - fun kw -> - fun uu____6154 -> - fun inner_let -> - match uu____6154 with - | (pat, uu____6162) -> - let uu____6163 = + fun kw -> + fun uu____6155 -> + fun inner_let -> + match uu____6155 with + | (pat,uu____6163) -> + let uu____6164 = match pat.FStar_Parser_AST.pat with | FStar_Parser_AST.PatAscribed - (pat1, (t, FStar_Pervasives_Native.None)) -> + (pat1,(t,FStar_Pervasives_Native.None )) -> (pat1, (FStar_Pervasives_Native.Some (t, FStar_Pprint.empty))) | FStar_Parser_AST.PatAscribed - (pat1, (t, FStar_Pervasives_Native.Some tac)) -> - let uu____6215 = - let uu____6222 = - let uu____6227 = - let uu____6228 = - let uu____6229 = - let uu____6230 = str "by" in - let uu____6232 = - let uu____6233 = p_atomicTerm tac in + (pat1,(t,FStar_Pervasives_Native.Some tac)) -> + let uu____6216 = + let uu____6223 = + let uu____6228 = + let uu____6229 = + let uu____6230 = + let uu____6231 = str "by" in + let uu____6233 = + let uu____6234 = p_atomicTerm tac in FStar_Pprint.op_Hat_Hat FStar_Pprint.space - uu____6233 in - FStar_Pprint.op_Hat_Hat uu____6230 uu____6232 in + uu____6234 + in + FStar_Pprint.op_Hat_Hat uu____6231 uu____6233 in FStar_Pprint.op_Hat_Hat FStar_Pprint.space - uu____6229 in - FStar_Pprint.group uu____6228 in - (t, uu____6227) in - FStar_Pervasives_Native.Some uu____6222 in - (pat1, uu____6215) - | uu____6244 -> (pat, FStar_Pervasives_Native.None) in - (match uu____6163 with - | (pat1, ascr) -> + uu____6230 + in + FStar_Pprint.group uu____6229 in + (t, uu____6228) in + FStar_Pervasives_Native.Some uu____6223 in + (pat1, uu____6216) + | uu____6245 -> (pat, FStar_Pervasives_Native.None) in + (match uu____6164 with + | (pat1,ascr) -> (match pat1.FStar_Parser_AST.pat with | FStar_Parser_AST.PatApp ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatVar - (lid, uu____6270); - FStar_Parser_AST.prange = uu____6271;_}, - pats) + (lid,uu____6271); + FStar_Parser_AST.prange = uu____6272;_},pats) -> let ascr_doc = match ascr with - | FStar_Pervasives_Native.Some (t, tac) -> - let uu____6288 = - sig_as_binders_if_possible t true in - FStar_Pprint.op_Hat_Hat uu____6288 tac - | FStar_Pervasives_Native.None -> FStar_Pprint.empty in - let uu____6294 = + | FStar_Pervasives_Native.Some (t,tac) -> + let uu____6289 = + sig_as_binders_if_possible t true in + FStar_Pprint.op_Hat_Hat uu____6289 tac + | FStar_Pervasives_Native.None -> FStar_Pprint.empty + in + let uu____6295 = if inner_let then - let uu____6308 = pats_as_binders_if_possible pats in - match uu____6308 with - | (bs, style) -> + let uu____6309 = pats_as_binders_if_possible pats + in + match uu____6309 with + | (bs,style) -> ((FStar_List.append bs [ascr_doc]), style) else - (let uu____6331 = pats_as_binders_if_possible pats in - match uu____6331 with - | (bs, style) -> - ((FStar_List.append bs [ascr_doc]), style)) in - (match uu____6294 with - | (terms, style) -> - let uu____6358 = - let uu____6359 = - let uu____6360 = - let uu____6361 = p_lident lid in - let uu____6362 = - format_sig style terms true true in - FStar_Pprint.op_Hat_Hat uu____6361 - uu____6362 in + (let uu____6332 = pats_as_binders_if_possible pats + in + match uu____6332 with + | (bs,style) -> + ((FStar_List.append bs [ascr_doc]), style)) + in + (match uu____6295 with + | (terms,style) -> + let uu____6359 = + let uu____6360 = + let uu____6361 = + let uu____6362 = p_lident lid in + let uu____6363 = + format_sig style terms true true in + FStar_Pprint.op_Hat_Hat uu____6362 + uu____6363 + in FStar_Pprint.op_Hat_Hat FStar_Pprint.space - uu____6360 in - FStar_Pprint.op_Hat_Hat kw uu____6359 in - FStar_All.pipe_left FStar_Pprint.group uu____6358) - | uu____6365 -> + uu____6361 + in + FStar_Pprint.op_Hat_Hat kw uu____6360 in + FStar_All.pipe_left FStar_Pprint.group uu____6359) + | uu____6366 -> let ascr_doc = match ascr with - | FStar_Pervasives_Native.Some (t, tac) -> - let uu____6373 = - let uu____6374 = - let uu____6375 = + | FStar_Pervasives_Native.Some (t,tac) -> + let uu____6374 = + let uu____6375 = + let uu____6376 = p_typ_top (Arrows ((Prims.parse_int "2"), (Prims.parse_int "2"))) false false - t in + t + in FStar_Pprint.op_Hat_Hat FStar_Pprint.colon - uu____6375 in - FStar_Pprint.group uu____6374 in - FStar_Pprint.op_Hat_Hat uu____6373 tac - | FStar_Pervasives_Native.None -> FStar_Pprint.empty in - let uu____6386 = - let uu____6387 = - let uu____6388 = - let uu____6389 = p_tuplePattern pat1 in - FStar_Pprint.op_Hat_Slash_Hat kw uu____6389 in - FStar_Pprint.group uu____6388 in - FStar_Pprint.op_Hat_Hat uu____6387 ascr_doc in - FStar_Pprint.group uu____6386)) + uu____6376 + in + FStar_Pprint.group uu____6375 in + FStar_Pprint.op_Hat_Hat uu____6374 tac + | FStar_Pervasives_Native.None -> FStar_Pprint.empty + in + let uu____6387 = + let uu____6388 = + let uu____6389 = + let uu____6390 = p_tuplePattern pat1 in + FStar_Pprint.op_Hat_Slash_Hat kw uu____6390 in + FStar_Pprint.group uu____6389 in + FStar_Pprint.op_Hat_Hat uu____6388 ascr_doc in + FStar_Pprint.group uu____6387)) + and (p_letbinding : FStar_Pprint.document -> (FStar_Parser_AST.pattern * FStar_Parser_AST.term) -> FStar_Pprint.document) = - fun kw -> - fun uu____6391 -> - match uu____6391 with - | (pat, e) -> - let doc_pat = p_letlhs kw (pat, e) false in - let uu____6400 = p_term_sep false false e in - (match uu____6400 with - | (comm, doc_expr) -> + fun kw -> + fun uu____6392 -> + match uu____6392 with + | (pat,e) -> + let doc_pat = p_letlhs kw (pat, e) false in + let uu____6401 = p_term_sep false false e in + (match uu____6401 with + | (comm,doc_expr) -> let doc_expr1 = - inline_comment_or_above comm doc_expr FStar_Pprint.empty in - let uu____6410 = - let uu____6411 = + inline_comment_or_above comm doc_expr FStar_Pprint.empty in + let uu____6411 = + let uu____6412 = FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.equals - doc_expr1 in - FStar_Pprint.op_Hat_Slash_Hat doc_pat uu____6411 in - let uu____6412 = - let uu____6413 = - let uu____6414 = - let uu____6415 = - let uu____6416 = jump2 doc_expr1 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.equals uu____6416 in - FStar_Pprint.group uu____6415 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6414 in - FStar_Pprint.op_Hat_Hat doc_pat uu____6413 in - FStar_Pprint.ifflat uu____6410 uu____6412) + doc_expr1 + in + FStar_Pprint.op_Hat_Slash_Hat doc_pat uu____6412 in + let uu____6413 = + let uu____6414 = + let uu____6415 = + let uu____6416 = + let uu____6417 = jump2 doc_expr1 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.equals uu____6417 + in + FStar_Pprint.group uu____6416 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6415 in + FStar_Pprint.op_Hat_Hat doc_pat uu____6414 in + FStar_Pprint.ifflat uu____6411 uu____6413) + and (p_newEffect : FStar_Parser_AST.effect_decl -> FStar_Pprint.document) = - fun uu___7_6417 -> - match uu___7_6417 with - | FStar_Parser_AST.RedefineEffect (lid, bs, t) -> + fun uu___7_6418 -> + match uu___7_6418 with + | FStar_Parser_AST.RedefineEffect (lid,bs,t) -> p_effectRedefinition lid bs t - | FStar_Parser_AST.DefineEffect (lid, bs, t, eff_decls) -> + | FStar_Parser_AST.DefineEffect (lid,bs,t,eff_decls) -> p_effectDefinition lid bs t eff_decls + and (p_effectRedefinition : FStar_Ident.ident -> FStar_Parser_AST.binder Prims.list -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun uid -> - fun bs -> - fun t -> - let uu____6442 = p_uident uid in - let uu____6443 = p_binders true bs in - let uu____6445 = - let uu____6446 = p_simpleTerm false false t in - prefix2 FStar_Pprint.equals uu____6446 in + fun uid -> + fun bs -> + fun t -> + let uu____6443 = p_uident uid in + let uu____6444 = p_binders true bs in + let uu____6446 = + let uu____6447 = p_simpleTerm false false t in + prefix2 FStar_Pprint.equals uu____6447 in surround_maybe_empty (Prims.parse_int "2") (Prims.parse_int "1") - uu____6442 uu____6443 uu____6445 + uu____6443 uu____6444 uu____6446 + and (p_effectDefinition : FStar_Ident.ident -> FStar_Parser_AST.binder Prims.list -> FStar_Parser_AST.term -> FStar_Parser_AST.decl Prims.list -> FStar_Pprint.document) = - fun uid -> - fun bs -> - fun t -> - fun eff_decls -> - let binders = p_binders true bs in - let uu____6461 = - let uu____6462 = - let uu____6463 = - let uu____6464 = p_uident uid in - let uu____6465 = p_binders true bs in - let uu____6467 = - let uu____6468 = p_typ false false t in - prefix2 FStar_Pprint.colon uu____6468 in + fun uid -> + fun bs -> + fun t -> + fun eff_decls -> + let binders = p_binders true bs in + let uu____6462 = + let uu____6463 = + let uu____6464 = + let uu____6465 = p_uident uid in + let uu____6466 = p_binders true bs in + let uu____6468 = + let uu____6469 = p_typ false false t in + prefix2 FStar_Pprint.colon uu____6469 in surround_maybe_empty (Prims.parse_int "2") - (Prims.parse_int "1") uu____6464 uu____6465 uu____6467 in - FStar_Pprint.group uu____6463 in - let uu____6473 = - let uu____6474 = str "with" in - let uu____6476 = - let uu____6477 = - let uu____6478 = - let uu____6479 = - let uu____6480 = - let uu____6481 = + (Prims.parse_int "1") uu____6465 uu____6466 uu____6468 + in + FStar_Pprint.group uu____6464 in + let uu____6474 = + let uu____6475 = str "with" in + let uu____6477 = + let uu____6478 = + let uu____6479 = + let uu____6480 = + let uu____6481 = + let uu____6482 = FStar_Pprint.op_Hat_Hat FStar_Pprint.semi - FStar_Pprint.space in + FStar_Pprint.space + in FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline - uu____6481 in - separate_map_last uu____6480 p_effectDecl eff_decls in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6479 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6478 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____6477 in - FStar_Pprint.op_Hat_Hat uu____6474 uu____6476 in - FStar_Pprint.op_Hat_Slash_Hat uu____6462 uu____6473 in - braces_with_nesting uu____6461 + uu____6482 + in + separate_map_last uu____6481 p_effectDecl eff_decls in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6480 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6479 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____6478 in + FStar_Pprint.op_Hat_Hat uu____6475 uu____6477 in + FStar_Pprint.op_Hat_Slash_Hat uu____6463 uu____6474 in + braces_with_nesting uu____6462 + and (p_effectDecl : Prims.bool -> FStar_Parser_AST.decl -> FStar_Pprint.document) = - fun ps -> - fun d -> + fun ps -> + fun d -> match d.FStar_Parser_AST.d with | FStar_Parser_AST.Tycon - (false, uu____6485, - (FStar_Parser_AST.TyconAbbrev - (lid, [], FStar_Pervasives_Native.None, e), - FStar_Pervasives_Native.None)::[]) + (false + ,uu____6486,(FStar_Parser_AST.TyconAbbrev + (lid,[],FStar_Pervasives_Native.None ,e),FStar_Pervasives_Native.None + )::[]) -> - let uu____6518 = - let uu____6519 = p_lident lid in - let uu____6520 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.space FStar_Pprint.equals in - FStar_Pprint.op_Hat_Hat uu____6519 uu____6520 in - let uu____6521 = p_simpleTerm ps false e in - prefix2 uu____6518 uu____6521 - | uu____6523 -> - let uu____6524 = - let uu____6526 = FStar_Parser_AST.decl_to_string d in + let uu____6519 = + let uu____6520 = p_lident lid in + let uu____6521 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.space FStar_Pprint.equals + in + FStar_Pprint.op_Hat_Hat uu____6520 uu____6521 in + let uu____6522 = p_simpleTerm ps false e in + prefix2 uu____6519 uu____6522 + | uu____6524 -> + let uu____6525 = + let uu____6527 = FStar_Parser_AST.decl_to_string d in FStar_Util.format1 "Not a declaration of an effect member... or at least I hope so : %s" - uu____6526 in - failwith uu____6524 + uu____6527 + in + failwith uu____6525 + and (p_subEffect : FStar_Parser_AST.lift -> FStar_Pprint.document) = - fun lift -> + fun lift -> let lift_op_doc = let lifts = match lift.FStar_Parser_AST.lift_op with | FStar_Parser_AST.NonReifiableLift t -> [("lift_wp", t)] - | FStar_Parser_AST.ReifiableLift (t1, t2) -> + | FStar_Parser_AST.ReifiableLift (t1,t2) -> [("lift_wp", t1); ("lift", t2)] - | FStar_Parser_AST.LiftForFree t -> [("lift", t)] in - let p_lift ps uu____6609 = - match uu____6609 with - | (kwd, t) -> - let uu____6620 = - let uu____6621 = str kwd in - let uu____6622 = + | FStar_Parser_AST.LiftForFree t -> [("lift", t)] in + let p_lift ps uu____6610 = + match uu____6610 with + | (kwd,t) -> + let uu____6621 = + let uu____6622 = str kwd in + let uu____6623 = FStar_Pprint.op_Hat_Hat FStar_Pprint.space - FStar_Pprint.equals in - FStar_Pprint.op_Hat_Hat uu____6621 uu____6622 in - let uu____6623 = p_simpleTerm ps false t in - prefix2 uu____6620 uu____6623 in - separate_break_map_last FStar_Pprint.semi p_lift lifts in - let uu____6630 = - let uu____6631 = - let uu____6632 = p_quident lift.FStar_Parser_AST.msource in - let uu____6633 = - let uu____6634 = str "~>" in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6634 in - FStar_Pprint.op_Hat_Hat uu____6632 uu____6633 in - let uu____6636 = p_quident lift.FStar_Parser_AST.mdest in - prefix2 uu____6631 uu____6636 in - let uu____6637 = - let uu____6638 = braces_with_nesting lift_op_doc in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6638 in - FStar_Pprint.op_Hat_Hat uu____6630 uu____6637 + FStar_Pprint.equals + in + FStar_Pprint.op_Hat_Hat uu____6622 uu____6623 in + let uu____6624 = p_simpleTerm ps false t in + prefix2 uu____6621 uu____6624 + in + separate_break_map_last FStar_Pprint.semi p_lift lifts in + let uu____6631 = + let uu____6632 = + let uu____6633 = p_quident lift.FStar_Parser_AST.msource in + let uu____6634 = + let uu____6635 = str "~>" in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6635 in + FStar_Pprint.op_Hat_Hat uu____6633 uu____6634 in + let uu____6637 = p_quident lift.FStar_Parser_AST.mdest in + prefix2 uu____6632 uu____6637 in + let uu____6638 = + let uu____6639 = braces_with_nesting lift_op_doc in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6639 in + FStar_Pprint.op_Hat_Hat uu____6631 uu____6638 + and (p_qualifier : FStar_Parser_AST.qualifier -> FStar_Pprint.document) = - fun uu___8_6639 -> - match uu___8_6639 with - | FStar_Parser_AST.Private -> str "private" - | FStar_Parser_AST.Abstract -> str "abstract" - | FStar_Parser_AST.Noeq -> str "noeq" - | FStar_Parser_AST.Unopteq -> str "unopteq" - | FStar_Parser_AST.Assumption -> str "assume" - | FStar_Parser_AST.DefaultEffect -> str "default" - | FStar_Parser_AST.TotalEffect -> str "total" - | FStar_Parser_AST.Effect_qual -> FStar_Pprint.empty - | FStar_Parser_AST.New -> str "new" - | FStar_Parser_AST.Inline -> str "inline" - | FStar_Parser_AST.Visible -> FStar_Pprint.empty - | FStar_Parser_AST.Unfold_for_unification_and_vcgen -> str "unfold" - | FStar_Parser_AST.Inline_for_extraction -> str "inline_for_extraction" - | FStar_Parser_AST.Irreducible -> str "irreducible" - | FStar_Parser_AST.NoExtract -> str "noextract" - | FStar_Parser_AST.Reifiable -> str "reifiable" - | FStar_Parser_AST.Reflectable -> str "reflectable" - | FStar_Parser_AST.Opaque -> str "opaque" - | FStar_Parser_AST.Logic -> str "logic" + fun uu___8_6640 -> + match uu___8_6640 with + | FStar_Parser_AST.Private -> str "private" + | FStar_Parser_AST.Abstract -> str "abstract" + | FStar_Parser_AST.Noeq -> str "noeq" + | FStar_Parser_AST.Unopteq -> str "unopteq" + | FStar_Parser_AST.Assumption -> str "assume" + | FStar_Parser_AST.DefaultEffect -> str "default" + | FStar_Parser_AST.TotalEffect -> str "total" + | FStar_Parser_AST.Effect_qual -> FStar_Pprint.empty + | FStar_Parser_AST.New -> str "new" + | FStar_Parser_AST.Inline -> str "inline" + | FStar_Parser_AST.Visible -> FStar_Pprint.empty + | FStar_Parser_AST.Unfold_for_unification_and_vcgen -> str "unfold" + | FStar_Parser_AST.Inline_for_extraction -> str "inline_for_extraction" + | FStar_Parser_AST.Irreducible -> str "irreducible" + | FStar_Parser_AST.NoExtract -> str "noextract" + | FStar_Parser_AST.Reifiable -> str "reifiable" + | FStar_Parser_AST.Reflectable -> str "reflectable" + | FStar_Parser_AST.Opaque -> str "opaque" + | FStar_Parser_AST.Logic -> str "logic" + and (p_qualifiers : FStar_Parser_AST.qualifiers -> FStar_Pprint.document) = - fun qs -> + fun qs -> match qs with | [] -> FStar_Pprint.empty | q::[] -> - let uu____6659 = p_qualifier q in - FStar_Pprint.op_Hat_Hat uu____6659 FStar_Pprint.hardline - | uu____6660 -> - let uu____6661 = - let uu____6662 = FStar_List.map p_qualifier qs in - FStar_Pprint.flow break1 uu____6662 in - FStar_Pprint.op_Hat_Hat uu____6661 FStar_Pprint.hardline + let uu____6660 = p_qualifier q in + FStar_Pprint.op_Hat_Hat uu____6660 FStar_Pprint.hardline + | uu____6661 -> + let uu____6662 = + let uu____6663 = FStar_List.map p_qualifier qs in + FStar_Pprint.flow break1 uu____6663 in + FStar_Pprint.op_Hat_Hat uu____6662 FStar_Pprint.hardline + and (p_letqualifier : FStar_Parser_AST.let_qualifier -> FStar_Pprint.document) = - fun uu___9_6665 -> - match uu___9_6665 with - | FStar_Parser_AST.Rec -> - let uu____6666 = str "rec" in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6666 - | FStar_Parser_AST.NoLetQualifier -> FStar_Pprint.empty + fun uu___9_6666 -> + match uu___9_6666 with + | FStar_Parser_AST.Rec -> + let uu____6667 = str "rec" in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6667 + | FStar_Parser_AST.NoLetQualifier -> FStar_Pprint.empty + and (p_aqual : FStar_Parser_AST.arg_qualifier -> FStar_Pprint.document) = - fun uu___10_6668 -> - match uu___10_6668 with - | FStar_Parser_AST.Implicit -> str "#" - | FStar_Parser_AST.Equality -> str "$" + fun uu___10_6669 -> + match uu___10_6669 with + | FStar_Parser_AST.Implicit -> str "#" + | FStar_Parser_AST.Equality -> str "$" | FStar_Parser_AST.Meta t -> let t1 = match t.FStar_Parser_AST.tm with - | FStar_Parser_AST.Abs (uu____6673, e) -> e - | uu____6679 -> + | FStar_Parser_AST.Abs (uu____6674,e) -> e + | uu____6680 -> FStar_Parser_AST.mk_term (FStar_Parser_AST.App (t, (FStar_Parser_AST.unit_const t.FStar_Parser_AST.range), FStar_Parser_AST.Nothing)) t.FStar_Parser_AST.range - FStar_Parser_AST.Expr in - let uu____6680 = str "#[" in - let uu____6682 = - let uu____6683 = p_term false false t1 in - let uu____6686 = - let uu____6687 = str "]" in - FStar_Pprint.op_Hat_Hat uu____6687 break1 in - FStar_Pprint.op_Hat_Hat uu____6683 uu____6686 in - FStar_Pprint.op_Hat_Hat uu____6680 uu____6682 + FStar_Parser_AST.Expr + in + let uu____6681 = str "#[" in + let uu____6683 = + let uu____6684 = p_term false false t1 in + let uu____6687 = + let uu____6688 = str "]" in + FStar_Pprint.op_Hat_Hat uu____6688 break1 in + FStar_Pprint.op_Hat_Hat uu____6684 uu____6687 in + FStar_Pprint.op_Hat_Hat uu____6681 uu____6683 + and (p_disjunctivePattern : FStar_Parser_AST.pattern -> FStar_Pprint.document) = - fun p -> + fun p -> match p.FStar_Parser_AST.pat with | FStar_Parser_AST.PatOr pats -> - let uu____6693 = - let uu____6694 = - let uu____6695 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.bar FStar_Pprint.space in - FStar_Pprint.op_Hat_Hat break1 uu____6695 in - FStar_Pprint.separate_map uu____6694 p_tuplePattern pats in - FStar_Pprint.group uu____6693 - | uu____6696 -> p_tuplePattern p + let uu____6694 = + let uu____6695 = + let uu____6696 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.bar FStar_Pprint.space in + FStar_Pprint.op_Hat_Hat break1 uu____6696 in + FStar_Pprint.separate_map uu____6695 p_tuplePattern pats in + FStar_Pprint.group uu____6694 + | uu____6697 -> p_tuplePattern p + and (p_tuplePattern : FStar_Parser_AST.pattern -> FStar_Pprint.document) = - fun p -> + fun p -> match p.FStar_Parser_AST.pat with - | FStar_Parser_AST.PatTuple (pats, false) -> - let uu____6705 = - let uu____6706 = FStar_Pprint.op_Hat_Hat FStar_Pprint.comma break1 in - FStar_Pprint.separate_map uu____6706 p_constructorPattern pats in - FStar_Pprint.group uu____6705 - | uu____6707 -> p_constructorPattern p + | FStar_Parser_AST.PatTuple (pats,false ) -> + let uu____6706 = + let uu____6707 = FStar_Pprint.op_Hat_Hat FStar_Pprint.comma break1 + in + FStar_Pprint.separate_map uu____6707 p_constructorPattern pats in + FStar_Pprint.group uu____6706 + | uu____6708 -> p_constructorPattern p + and (p_constructorPattern : FStar_Parser_AST.pattern -> FStar_Pprint.document) = - fun p -> + fun p -> match p.FStar_Parser_AST.pat with | FStar_Parser_AST.PatApp ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatName maybe_cons_lid; - FStar_Parser_AST.prange = uu____6710;_}, - hd1::tl1::[]) + FStar_Parser_AST.prange = uu____6711;_},hd1::tl1::[]) when FStar_Ident.lid_equals maybe_cons_lid FStar_Parser_Const.cons_lid -> - let uu____6715 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.colon FStar_Pprint.colon in - let uu____6716 = p_constructorPattern hd1 in - let uu____6717 = p_constructorPattern tl1 in - infix0 uu____6715 uu____6716 uu____6717 + let uu____6716 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.colon FStar_Pprint.colon in + let uu____6717 = p_constructorPattern hd1 in + let uu____6718 = p_constructorPattern tl1 in + infix0 uu____6716 uu____6717 uu____6718 | FStar_Parser_AST.PatApp ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatName uid; - FStar_Parser_AST.prange = uu____6719;_}, - pats) + FStar_Parser_AST.prange = uu____6720;_},pats) -> - let uu____6725 = p_quident uid in - let uu____6726 = - FStar_Pprint.separate_map break1 p_atomicPattern pats in - prefix2 uu____6725 uu____6726 - | uu____6727 -> p_atomicPattern p + let uu____6726 = p_quident uid in + let uu____6727 = + FStar_Pprint.separate_map break1 p_atomicPattern pats in + prefix2 uu____6726 uu____6727 + | uu____6728 -> p_atomicPattern p + and (p_atomicPattern : FStar_Parser_AST.pattern -> FStar_Pprint.document) = - fun p -> + fun p -> match p.FStar_Parser_AST.pat with - | FStar_Parser_AST.PatAscribed (pat, (t, FStar_Pervasives_Native.None)) - -> + | FStar_Parser_AST.PatAscribed (pat,(t,FStar_Pervasives_Native.None )) -> (match ((pat.FStar_Parser_AST.pat), (t.FStar_Parser_AST.tm)) with - | (FStar_Parser_AST.PatVar (lid, aqual), FStar_Parser_AST.Refine - ({ FStar_Parser_AST.b = FStar_Parser_AST.Annotated (lid', t1); - FStar_Parser_AST.brange = uu____6743; - FStar_Parser_AST.blevel = uu____6744; - FStar_Parser_AST.aqual = uu____6745;_}, - phi)) when lid.FStar_Ident.idText = lid'.FStar_Ident.idText -> - let uu____6754 = - let uu____6755 = p_ident lid in - p_refinement aqual uu____6755 t1 phi in - soft_parens_with_nesting uu____6754 - | (FStar_Parser_AST.PatWild aqual, FStar_Parser_AST.Refine + | (FStar_Parser_AST.PatVar (lid,aqual),FStar_Parser_AST.Refine + ({ FStar_Parser_AST.b = FStar_Parser_AST.Annotated (lid',t1); + FStar_Parser_AST.brange = uu____6744; + FStar_Parser_AST.blevel = uu____6745; + FStar_Parser_AST.aqual = uu____6746;_},phi)) + when lid.FStar_Ident.idText = lid'.FStar_Ident.idText -> + let uu____6755 = + let uu____6756 = p_ident lid in + p_refinement aqual uu____6756 t1 phi in + soft_parens_with_nesting uu____6755 + | (FStar_Parser_AST.PatWild aqual,FStar_Parser_AST.Refine ({ FStar_Parser_AST.b = FStar_Parser_AST.NoName t1; - FStar_Parser_AST.brange = uu____6758; - FStar_Parser_AST.blevel = uu____6759; - FStar_Parser_AST.aqual = uu____6760;_}, - phi)) -> - let uu____6766 = - p_refinement aqual FStar_Pprint.underscore t1 phi in - soft_parens_with_nesting uu____6766 - | uu____6767 -> - let uu____6772 = - let uu____6773 = p_tuplePattern pat in - let uu____6774 = - let uu____6775 = p_tmEqNoRefinement t in - FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.colon uu____6775 in - FStar_Pprint.op_Hat_Hat uu____6773 uu____6774 in - soft_parens_with_nesting uu____6772) + FStar_Parser_AST.brange = uu____6759; + FStar_Parser_AST.blevel = uu____6760; + FStar_Parser_AST.aqual = uu____6761;_},phi)) + -> + let uu____6767 = + p_refinement aqual FStar_Pprint.underscore t1 phi in + soft_parens_with_nesting uu____6767 + | uu____6768 -> + let uu____6773 = + let uu____6774 = p_tuplePattern pat in + let uu____6775 = + let uu____6776 = p_tmEqNoRefinement t in + FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.colon uu____6776 + in + FStar_Pprint.op_Hat_Hat uu____6774 uu____6775 in + soft_parens_with_nesting uu____6773) | FStar_Parser_AST.PatList pats -> - let uu____6779 = - separate_break_map FStar_Pprint.semi p_tuplePattern pats in + let uu____6780 = + separate_break_map FStar_Pprint.semi p_tuplePattern pats in FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "0") - FStar_Pprint.lbracket uu____6779 FStar_Pprint.rbracket + FStar_Pprint.lbracket uu____6780 FStar_Pprint.rbracket | FStar_Parser_AST.PatRecord pats -> - let p_recordFieldPat uu____6798 = - match uu____6798 with - | (lid, pat) -> - let uu____6805 = p_qlident lid in - let uu____6806 = p_tuplePattern pat in - infix2 FStar_Pprint.equals uu____6805 uu____6806 in - let uu____6807 = - separate_break_map FStar_Pprint.semi p_recordFieldPat pats in - soft_braces_with_nesting uu____6807 - | FStar_Parser_AST.PatTuple (pats, true) -> - let uu____6819 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen FStar_Pprint.bar in + let p_recordFieldPat uu____6799 = + match uu____6799 with + | (lid,pat) -> + let uu____6806 = p_qlident lid in + let uu____6807 = p_tuplePattern pat in + infix2 FStar_Pprint.equals uu____6806 uu____6807 + in + let uu____6808 = + separate_break_map FStar_Pprint.semi p_recordFieldPat pats in + soft_braces_with_nesting uu____6808 + | FStar_Parser_AST.PatTuple (pats,true ) -> let uu____6820 = - separate_break_map FStar_Pprint.comma p_constructorPattern pats in + FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen FStar_Pprint.bar in let uu____6821 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.bar FStar_Pprint.rparen in + separate_break_map FStar_Pprint.comma p_constructorPattern pats in + let uu____6822 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.bar FStar_Pprint.rparen in FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "1") - uu____6819 uu____6820 uu____6821 - | FStar_Parser_AST.PatTvar (tv, arg_qualifier_opt) -> p_tvar tv + uu____6820 uu____6821 uu____6822 + | FStar_Parser_AST.PatTvar (tv,arg_qualifier_opt) -> p_tvar tv | FStar_Parser_AST.PatOp op -> - let uu____6832 = - let uu____6833 = - let uu____6834 = - let uu____6835 = FStar_Ident.text_of_id op in str uu____6835 in - let uu____6837 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.space FStar_Pprint.rparen in - FStar_Pprint.op_Hat_Hat uu____6834 uu____6837 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6833 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen uu____6832 + let uu____6833 = + let uu____6834 = + let uu____6835 = + let uu____6836 = FStar_Ident.text_of_id op in str uu____6836 + in + let uu____6838 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.space FStar_Pprint.rparen + in + FStar_Pprint.op_Hat_Hat uu____6835 uu____6838 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____6834 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen uu____6833 | FStar_Parser_AST.PatWild aqual -> - let uu____6841 = FStar_Pprint.optional p_aqual aqual in - FStar_Pprint.op_Hat_Hat uu____6841 FStar_Pprint.underscore + let uu____6842 = FStar_Pprint.optional p_aqual aqual in + FStar_Pprint.op_Hat_Hat uu____6842 FStar_Pprint.underscore | FStar_Parser_AST.PatConst c -> p_constant c - | FStar_Parser_AST.PatVar (lid, aqual) -> - let uu____6849 = FStar_Pprint.optional p_aqual aqual in - let uu____6850 = p_lident lid in - FStar_Pprint.op_Hat_Hat uu____6849 uu____6850 + | FStar_Parser_AST.PatVar (lid,aqual) -> + let uu____6850 = FStar_Pprint.optional p_aqual aqual in + let uu____6851 = p_lident lid in + FStar_Pprint.op_Hat_Hat uu____6850 uu____6851 | FStar_Parser_AST.PatName uid -> p_quident uid - | FStar_Parser_AST.PatOr uu____6852 -> failwith "Inner or pattern !" + | FStar_Parser_AST.PatOr uu____6853 -> failwith "Inner or pattern !" | FStar_Parser_AST.PatApp - ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatName uu____6856; - FStar_Parser_AST.prange = uu____6857;_}, - uu____6858) + ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatName uu____6857; + FStar_Parser_AST.prange = uu____6858;_},uu____6859) -> - let uu____6863 = p_tuplePattern p in - soft_parens_with_nesting uu____6863 - | FStar_Parser_AST.PatTuple (uu____6864, false) -> - let uu____6871 = p_tuplePattern p in - soft_parens_with_nesting uu____6871 - | uu____6872 -> - let uu____6873 = - let uu____6875 = FStar_Parser_AST.pat_to_string p in - FStar_Util.format1 "Invalid pattern %s" uu____6875 in - failwith uu____6873 + let uu____6864 = p_tuplePattern p in + soft_parens_with_nesting uu____6864 + | FStar_Parser_AST.PatTuple (uu____6865,false ) -> + let uu____6872 = p_tuplePattern p in + soft_parens_with_nesting uu____6872 + | uu____6873 -> + let uu____6874 = + let uu____6876 = FStar_Parser_AST.pat_to_string p in + FStar_Util.format1 "Invalid pattern %s" uu____6876 in + failwith uu____6874 + and (is_typ_tuple : FStar_Parser_AST.term -> Prims.bool) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with | FStar_Parser_AST.Op - ({ FStar_Ident.idText = "*"; FStar_Ident.idRange = uu____6880;_}, - uu____6881) + ({ FStar_Ident.idText = "*"; FStar_Ident.idRange = uu____6881;_},uu____6882) -> true - | uu____6888 -> false + | uu____6889 -> false + and (is_meta_qualifier : FStar_Parser_AST.arg_qualifier FStar_Pervasives_Native.option -> Prims.bool) = - fun aq -> + fun aq -> match aq with - | FStar_Pervasives_Native.Some (FStar_Parser_AST.Meta uu____6894) -> true - | uu____6896 -> false + | FStar_Pervasives_Native.Some (FStar_Parser_AST.Meta uu____6895) -> true + | uu____6897 -> false + and (p_binder : Prims.bool -> FStar_Parser_AST.binder -> FStar_Pprint.document) = - fun is_atomic -> - fun b -> - let uu____6903 = p_binder' is_atomic b in - match uu____6903 with - | (b', t', catf) -> + fun is_atomic -> + fun b -> + let uu____6904 = p_binder' is_atomic b in + match uu____6904 with + | (b',t',catf) -> (match t' with | FStar_Pervasives_Native.Some typ -> catf b' typ - | FStar_Pervasives_Native.None -> b') + | FStar_Pervasives_Native.None -> b') + and (p_binder' : Prims.bool -> FStar_Parser_AST.binder -> (FStar_Pprint.document * FStar_Pprint.document FStar_Pervasives_Native.option * catf)) = - fun is_atomic -> - fun b -> + fun is_atomic -> + fun b -> match b.FStar_Parser_AST.b with | FStar_Parser_AST.Variable lid -> - let uu____6940 = - let uu____6941 = - FStar_Pprint.optional p_aqual b.FStar_Parser_AST.aqual in - let uu____6942 = p_lident lid in - FStar_Pprint.op_Hat_Hat uu____6941 uu____6942 in - (uu____6940, FStar_Pervasives_Native.None, cat_with_colon) + let uu____6941 = + let uu____6942 = + FStar_Pprint.optional p_aqual b.FStar_Parser_AST.aqual in + let uu____6943 = p_lident lid in + FStar_Pprint.op_Hat_Hat uu____6942 uu____6943 in + (uu____6941, FStar_Pervasives_Native.None, cat_with_colon) | FStar_Parser_AST.TVariable lid -> - let uu____6948 = p_lident lid in - (uu____6948, FStar_Pervasives_Native.None, cat_with_colon) - | FStar_Parser_AST.Annotated (lid, t) -> - let uu____6955 = + let uu____6949 = p_lident lid in + (uu____6949, FStar_Pervasives_Native.None, cat_with_colon) + | FStar_Parser_AST.Annotated (lid,t) -> + let uu____6956 = match t.FStar_Parser_AST.tm with | FStar_Parser_AST.Refine - ({ - FStar_Parser_AST.b = FStar_Parser_AST.Annotated (lid', t1); - FStar_Parser_AST.brange = uu____6966; - FStar_Parser_AST.blevel = uu____6967; - FStar_Parser_AST.aqual = uu____6968;_}, - phi) + ({ FStar_Parser_AST.b = FStar_Parser_AST.Annotated (lid',t1); + FStar_Parser_AST.brange = uu____6967; + FStar_Parser_AST.blevel = uu____6968; + FStar_Parser_AST.aqual = uu____6969;_},phi) when lid.FStar_Ident.idText = lid'.FStar_Ident.idText -> - let uu____6973 = p_lident lid in - p_refinement' b.FStar_Parser_AST.aqual uu____6973 t1 phi - | uu____6974 -> + let uu____6974 = p_lident lid in + p_refinement' b.FStar_Parser_AST.aqual uu____6974 t1 phi + | uu____6975 -> let t' = - let uu____6976 = is_typ_tuple t in - if uu____6976 + let uu____6977 = is_typ_tuple t in + if uu____6977 then - let uu____6979 = p_tmFormula t in - soft_parens_with_nesting uu____6979 - else p_tmFormula t in - let uu____6982 = - let uu____6983 = - FStar_Pprint.optional p_aqual b.FStar_Parser_AST.aqual in - let uu____6984 = p_lident lid in - FStar_Pprint.op_Hat_Hat uu____6983 uu____6984 in - (uu____6982, t') in - (match uu____6955 with - | (b', t') -> + let uu____6980 = p_tmFormula t in + soft_parens_with_nesting uu____6980 + else p_tmFormula t in + let uu____6983 = + let uu____6984 = + FStar_Pprint.optional p_aqual b.FStar_Parser_AST.aqual + in + let uu____6985 = p_lident lid in + FStar_Pprint.op_Hat_Hat uu____6984 uu____6985 in + (uu____6983, t') + in + (match uu____6956 with + | (b',t') -> let catf = - let uu____7002 = - is_atomic || (is_meta_qualifier b.FStar_Parser_AST.aqual) in - if uu____7002 + let uu____7003 = + is_atomic || (is_meta_qualifier b.FStar_Parser_AST.aqual) + in + if uu____7003 then - fun x -> - fun y -> - let uu____7009 = - let uu____7010 = - let uu____7011 = cat_with_colon x y in - FStar_Pprint.op_Hat_Hat uu____7011 - FStar_Pprint.rparen in + fun x -> + fun y -> + let uu____7010 = + let uu____7011 = + let uu____7012 = cat_with_colon x y in + FStar_Pprint.op_Hat_Hat uu____7012 + FStar_Pprint.rparen + in FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen - uu____7010 in - FStar_Pprint.group uu____7009 + uu____7011 + in + FStar_Pprint.group uu____7010 else - (fun x -> - fun y -> - let uu____7016 = cat_with_colon x y in - FStar_Pprint.group uu____7016) in + (fun x -> + fun y -> + let uu____7017 = cat_with_colon x y in + FStar_Pprint.group uu____7017) + in (b', (FStar_Pervasives_Native.Some t'), catf)) - | FStar_Parser_AST.TAnnotated uu____7021 -> + | FStar_Parser_AST.TAnnotated uu____7022 -> failwith "Is this still used ?" | FStar_Parser_AST.NoName t -> (match t.FStar_Parser_AST.tm with | FStar_Parser_AST.Refine ({ FStar_Parser_AST.b = FStar_Parser_AST.NoName t1; - FStar_Parser_AST.brange = uu____7049; - FStar_Parser_AST.blevel = uu____7050; - FStar_Parser_AST.aqual = uu____7051;_}, - phi) + FStar_Parser_AST.brange = uu____7050; + FStar_Parser_AST.blevel = uu____7051; + FStar_Parser_AST.aqual = uu____7052;_},phi) -> - let uu____7055 = + let uu____7056 = p_refinement' b.FStar_Parser_AST.aqual - FStar_Pprint.underscore t1 phi in - (match uu____7055 with - | (b', t') -> + FStar_Pprint.underscore t1 phi + in + (match uu____7056 with + | (b',t') -> (b', (FStar_Pervasives_Native.Some t'), cat_with_colon)) - | uu____7076 -> + | uu____7077 -> if is_atomic then - let uu____7088 = p_atomicTerm t in - (uu____7088, FStar_Pervasives_Native.None, cat_with_colon) + let uu____7089 = p_atomicTerm t in + (uu____7089, FStar_Pervasives_Native.None, cat_with_colon) else - (let uu____7095 = p_appTerm t in - (uu____7095, FStar_Pervasives_Native.None, cat_with_colon))) + (let uu____7096 = p_appTerm t in + (uu____7096, FStar_Pervasives_Native.None, cat_with_colon))) + and (p_refinement : FStar_Parser_AST.arg_qualifier FStar_Pervasives_Native.option -> FStar_Pprint.document -> FStar_Parser_AST.term -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun aqual_opt -> - fun binder -> - fun t -> - fun phi -> - let uu____7106 = p_refinement' aqual_opt binder t phi in - match uu____7106 with | (b, typ) -> cat_with_colon b typ + fun aqual_opt -> + fun binder -> + fun t -> + fun phi -> + let uu____7107 = p_refinement' aqual_opt binder t phi in + match uu____7107 with | (b,typ) -> cat_with_colon b typ + and (p_refinement' : FStar_Parser_AST.arg_qualifier FStar_Pervasives_Native.option -> FStar_Pprint.document -> @@ -2193,1739 +2409,1912 @@ and (p_refinement' : FStar_Parser_AST.term -> (FStar_Pprint.document * FStar_Pprint.document)) = - fun aqual_opt -> - fun binder -> - fun t -> - fun phi -> + fun aqual_opt -> + fun binder -> + fun t -> + fun phi -> let is_t_atomic = match t.FStar_Parser_AST.tm with - | FStar_Parser_AST.Construct uu____7122 -> false - | FStar_Parser_AST.App uu____7134 -> false - | FStar_Parser_AST.Op uu____7142 -> false - | uu____7150 -> true in - let uu____7152 = p_noSeqTerm false false phi in - match uu____7152 with - | (comm, phi1) -> + | FStar_Parser_AST.Construct uu____7123 -> false + | FStar_Parser_AST.App uu____7135 -> false + | FStar_Parser_AST.Op uu____7143 -> false + | uu____7151 -> true in + let uu____7153 = p_noSeqTerm false false phi in + match uu____7153 with + | (comm,phi1) -> let phi2 = if comm = FStar_Pprint.empty then phi1 else - (let uu____7169 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline phi1 in - FStar_Pprint.op_Hat_Hat comm uu____7169) in + (let uu____7170 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline phi1 in + FStar_Pprint.op_Hat_Hat comm uu____7170) + in let jump_break = if is_t_atomic then (Prims.parse_int "0") - else (Prims.parse_int "1") in - let uu____7178 = - let uu____7179 = FStar_Pprint.optional p_aqual aqual_opt in - FStar_Pprint.op_Hat_Hat uu____7179 binder in - let uu____7180 = - let uu____7181 = p_appTerm t in - let uu____7182 = - let uu____7183 = - let uu____7184 = - let uu____7185 = soft_braces_with_nesting_tight phi2 in - let uu____7186 = soft_braces_with_nesting phi2 in - FStar_Pprint.ifflat uu____7185 uu____7186 in - FStar_Pprint.group uu____7184 in + else (Prims.parse_int "1") in + let uu____7179 = + let uu____7180 = FStar_Pprint.optional p_aqual aqual_opt in + FStar_Pprint.op_Hat_Hat uu____7180 binder in + let uu____7181 = + let uu____7182 = p_appTerm t in + let uu____7183 = + let uu____7184 = + let uu____7185 = + let uu____7186 = soft_braces_with_nesting_tight phi2 + in + let uu____7187 = soft_braces_with_nesting phi2 in + FStar_Pprint.ifflat uu____7186 uu____7187 in + FStar_Pprint.group uu____7185 in FStar_Pprint.jump (Prims.parse_int "2") jump_break - uu____7183 in - FStar_Pprint.op_Hat_Hat uu____7181 uu____7182 in - (uu____7178, uu____7180) + uu____7184 + in + FStar_Pprint.op_Hat_Hat uu____7182 uu____7183 in + (uu____7179, uu____7181) + and (p_binders_list : Prims.bool -> FStar_Parser_AST.binder Prims.list -> FStar_Pprint.document Prims.list) - = fun is_atomic -> fun bs -> FStar_List.map (p_binder is_atomic) bs + = fun is_atomic -> fun bs -> FStar_List.map (p_binder is_atomic) bs + and (p_binders : Prims.bool -> FStar_Parser_AST.binder Prims.list -> FStar_Pprint.document) = - fun is_atomic -> - fun bs -> - let uu____7200 = p_binders_list is_atomic bs in - separate_or_flow break1 uu____7200 + fun is_atomic -> + fun bs -> + let uu____7201 = p_binders_list is_atomic bs in + separate_or_flow break1 uu____7201 + and (text_of_id_or_underscore : FStar_Ident.ident -> FStar_Pprint.document) = - fun lid -> - let uu____7204 = + fun lid -> + let uu____7205 = (FStar_Util.starts_with lid.FStar_Ident.idText FStar_Ident.reserved_prefix) && - (let uu____7207 = FStar_Options.print_real_names () in - Prims.op_Negation uu____7207) in - if uu____7204 + (let uu____7208 = FStar_Options.print_real_names () in + Prims.op_Negation uu____7208) + in + if uu____7205 then FStar_Pprint.underscore - else (let uu____7212 = FStar_Ident.text_of_id lid in str uu____7212) + else (let uu____7213 = FStar_Ident.text_of_id lid in str uu____7213) + and (text_of_lid_or_underscore : FStar_Ident.lident -> FStar_Pprint.document) = - fun lid -> - let uu____7215 = + fun lid -> + let uu____7216 = (FStar_Util.starts_with (lid.FStar_Ident.ident).FStar_Ident.idText FStar_Ident.reserved_prefix) && - (let uu____7218 = FStar_Options.print_real_names () in - Prims.op_Negation uu____7218) in - if uu____7215 + (let uu____7219 = FStar_Options.print_real_names () in + Prims.op_Negation uu____7219) + in + if uu____7216 then FStar_Pprint.underscore - else (let uu____7223 = FStar_Ident.text_of_lid lid in str uu____7223) + else (let uu____7224 = FStar_Ident.text_of_lid lid in str uu____7224) + and (p_qlident : FStar_Ident.lid -> FStar_Pprint.document) = - fun lid -> text_of_lid_or_underscore lid + fun lid -> text_of_lid_or_underscore lid + and (p_quident : FStar_Ident.lid -> FStar_Pprint.document) = - fun lid -> text_of_lid_or_underscore lid + fun lid -> text_of_lid_or_underscore lid + and (p_ident : FStar_Ident.ident -> FStar_Pprint.document) = - fun lid -> text_of_id_or_underscore lid + fun lid -> text_of_id_or_underscore lid + and (p_lident : FStar_Ident.ident -> FStar_Pprint.document) = - fun lid -> text_of_id_or_underscore lid + fun lid -> text_of_id_or_underscore lid + and (p_uident : FStar_Ident.ident -> FStar_Pprint.document) = - fun lid -> text_of_id_or_underscore lid + fun lid -> text_of_id_or_underscore lid + and (p_tvar : FStar_Ident.ident -> FStar_Pprint.document) = - fun lid -> text_of_id_or_underscore lid + fun lid -> text_of_id_or_underscore lid + and (paren_if : Prims.bool -> FStar_Pprint.document -> FStar_Pprint.document) - = fun b -> if b then soft_parens_with_nesting else (fun x -> x) + = fun b -> if b then soft_parens_with_nesting else (fun x -> x) + and (inline_comment_or_above : FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document -> FStar_Pprint.document) = - fun comm -> - fun doc1 -> - fun sep -> + fun comm -> + fun doc1 -> + fun sep -> if comm = FStar_Pprint.empty then - let uu____7244 = FStar_Pprint.op_Hat_Hat doc1 sep in - FStar_Pprint.group uu____7244 + let uu____7245 = FStar_Pprint.op_Hat_Hat doc1 sep in + FStar_Pprint.group uu____7245 else - (let uu____7247 = - let uu____7248 = - let uu____7249 = - let uu____7250 = - let uu____7251 = FStar_Pprint.op_Hat_Hat break1 comm in - FStar_Pprint.op_Hat_Hat sep uu____7251 in - FStar_Pprint.op_Hat_Hat doc1 uu____7250 in - FStar_Pprint.group uu____7249 in - let uu____7252 = - let uu____7253 = - let uu____7254 = FStar_Pprint.op_Hat_Hat doc1 sep in - FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____7254 in - FStar_Pprint.op_Hat_Hat comm uu____7253 in - FStar_Pprint.ifflat uu____7248 uu____7252 in - FStar_All.pipe_left FStar_Pprint.group uu____7247) + (let uu____7248 = + let uu____7249 = + let uu____7250 = + let uu____7251 = + let uu____7252 = FStar_Pprint.op_Hat_Hat break1 comm in + FStar_Pprint.op_Hat_Hat sep uu____7252 in + FStar_Pprint.op_Hat_Hat doc1 uu____7251 in + FStar_Pprint.group uu____7250 in + let uu____7253 = + let uu____7254 = + let uu____7255 = FStar_Pprint.op_Hat_Hat doc1 sep in + FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____7255 in + FStar_Pprint.op_Hat_Hat comm uu____7254 in + FStar_Pprint.ifflat uu____7249 uu____7253 in + FStar_All.pipe_left FStar_Pprint.group uu____7248) + and (p_term : Prims.bool -> Prims.bool -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun ps -> - fun pb -> - fun e -> + fun ps -> + fun pb -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Seq (e1, e2) -> - let uu____7262 = p_noSeqTerm true false e1 in - (match uu____7262 with - | (comm, t1) -> - let uu____7271 = - inline_comment_or_above comm t1 FStar_Pprint.semi in + | FStar_Parser_AST.Seq (e1,e2) -> + let uu____7263 = p_noSeqTerm true false e1 in + (match uu____7263 with + | (comm,t1) -> let uu____7272 = - let uu____7273 = p_term ps pb e2 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____7273 in - FStar_Pprint.op_Hat_Hat uu____7271 uu____7272) - | FStar_Parser_AST.Bind (x, e1, e2) -> - let uu____7277 = - let uu____7278 = - let uu____7279 = - let uu____7280 = p_lident x in - let uu____7281 = + inline_comment_or_above comm t1 FStar_Pprint.semi in + let uu____7273 = + let uu____7274 = p_term ps pb e2 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____7274 + in + FStar_Pprint.op_Hat_Hat uu____7272 uu____7273) + | FStar_Parser_AST.Bind (x,e1,e2) -> + let uu____7278 = + let uu____7279 = + let uu____7280 = + let uu____7281 = p_lident x in + let uu____7282 = FStar_Pprint.op_Hat_Hat FStar_Pprint.space - FStar_Pprint.long_left_arrow in - FStar_Pprint.op_Hat_Hat uu____7280 uu____7281 in - let uu____7282 = - let uu____7283 = p_noSeqTermAndComment true false e1 in - let uu____7286 = + FStar_Pprint.long_left_arrow + in + FStar_Pprint.op_Hat_Hat uu____7281 uu____7282 in + let uu____7283 = + let uu____7284 = p_noSeqTermAndComment true false e1 in + let uu____7287 = FStar_Pprint.op_Hat_Hat FStar_Pprint.space - FStar_Pprint.semi in - FStar_Pprint.op_Hat_Hat uu____7283 uu____7286 in - op_Hat_Slash_Plus_Hat uu____7279 uu____7282 in - FStar_Pprint.group uu____7278 in - let uu____7287 = p_term ps pb e2 in - FStar_Pprint.op_Hat_Slash_Hat uu____7277 uu____7287 - | uu____7288 -> - let uu____7289 = p_noSeqTermAndComment ps pb e in - FStar_Pprint.group uu____7289 + FStar_Pprint.semi + in + FStar_Pprint.op_Hat_Hat uu____7284 uu____7287 in + op_Hat_Slash_Plus_Hat uu____7280 uu____7283 in + FStar_Pprint.group uu____7279 in + let uu____7288 = p_term ps pb e2 in + FStar_Pprint.op_Hat_Slash_Hat uu____7278 uu____7288 + | uu____7289 -> + let uu____7290 = p_noSeqTermAndComment ps pb e in + FStar_Pprint.group uu____7290 + and (p_term_sep : Prims.bool -> Prims.bool -> FStar_Parser_AST.term -> (FStar_Pprint.document * FStar_Pprint.document)) = - fun ps -> - fun pb -> - fun e -> + fun ps -> + fun pb -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Seq (e1, e2) -> - let uu____7301 = p_noSeqTerm true false e1 in - (match uu____7301 with - | (comm, t1) -> - let uu____7314 = - let uu____7315 = - let uu____7316 = - FStar_Pprint.op_Hat_Hat t1 FStar_Pprint.semi in - FStar_Pprint.group uu____7316 in - let uu____7317 = - let uu____7318 = p_term ps pb e2 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____7318 in - FStar_Pprint.op_Hat_Hat uu____7315 uu____7317 in - (comm, uu____7314)) - | FStar_Parser_AST.Bind (x, e1, e2) -> - let uu____7322 = - let uu____7323 = - let uu____7324 = - let uu____7325 = - let uu____7326 = p_lident x in - let uu____7327 = + | FStar_Parser_AST.Seq (e1,e2) -> + let uu____7302 = p_noSeqTerm true false e1 in + (match uu____7302 with + | (comm,t1) -> + let uu____7315 = + let uu____7316 = + let uu____7317 = + FStar_Pprint.op_Hat_Hat t1 FStar_Pprint.semi in + FStar_Pprint.group uu____7317 in + let uu____7318 = + let uu____7319 = p_term ps pb e2 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____7319 + in + FStar_Pprint.op_Hat_Hat uu____7316 uu____7318 in + (comm, uu____7315)) + | FStar_Parser_AST.Bind (x,e1,e2) -> + let uu____7323 = + let uu____7324 = + let uu____7325 = + let uu____7326 = + let uu____7327 = p_lident x in + let uu____7328 = FStar_Pprint.op_Hat_Hat FStar_Pprint.space - FStar_Pprint.long_left_arrow in - FStar_Pprint.op_Hat_Hat uu____7326 uu____7327 in - let uu____7328 = - let uu____7329 = p_noSeqTermAndComment true false e1 in - let uu____7332 = + FStar_Pprint.long_left_arrow + in + FStar_Pprint.op_Hat_Hat uu____7327 uu____7328 in + let uu____7329 = + let uu____7330 = p_noSeqTermAndComment true false e1 in + let uu____7333 = FStar_Pprint.op_Hat_Hat FStar_Pprint.space - FStar_Pprint.semi in - FStar_Pprint.op_Hat_Hat uu____7329 uu____7332 in - op_Hat_Slash_Plus_Hat uu____7325 uu____7328 in - FStar_Pprint.group uu____7324 in - let uu____7333 = p_term ps pb e2 in - FStar_Pprint.op_Hat_Slash_Hat uu____7323 uu____7333 in - (FStar_Pprint.empty, uu____7322) - | uu____7334 -> p_noSeqTerm ps pb e + FStar_Pprint.semi + in + FStar_Pprint.op_Hat_Hat uu____7330 uu____7333 in + op_Hat_Slash_Plus_Hat uu____7326 uu____7329 in + FStar_Pprint.group uu____7325 in + let uu____7334 = p_term ps pb e2 in + FStar_Pprint.op_Hat_Slash_Hat uu____7324 uu____7334 in + (FStar_Pprint.empty, uu____7323) + | uu____7335 -> p_noSeqTerm ps pb e + and (p_noSeqTerm : Prims.bool -> Prims.bool -> FStar_Parser_AST.term -> (FStar_Pprint.document * FStar_Pprint.document)) = - fun ps -> - fun pb -> - fun e -> + fun ps -> + fun pb -> + fun e -> with_comment_sep (p_noSeqTerm' ps pb) e e.FStar_Parser_AST.range + and (p_noSeqTermAndComment : Prims.bool -> Prims.bool -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun ps -> - fun pb -> - fun e -> with_comment (p_noSeqTerm' ps pb) e e.FStar_Parser_AST.range + fun ps -> + fun pb -> + fun e -> with_comment (p_noSeqTerm' ps pb) e e.FStar_Parser_AST.range + and (p_noSeqTerm' : Prims.bool -> Prims.bool -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun ps -> - fun pb -> - fun e -> + fun ps -> + fun pb -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Ascribed (e1, t, FStar_Pervasives_Native.None) -> - let uu____7354 = - let uu____7355 = p_tmIff e1 in - let uu____7356 = - let uu____7357 = - let uu____7358 = p_typ ps pb t in - FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.colon uu____7358 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.langle uu____7357 in - FStar_Pprint.op_Hat_Slash_Hat uu____7355 uu____7356 in - FStar_Pprint.group uu____7354 - | FStar_Parser_AST.Ascribed (e1, t, FStar_Pervasives_Native.Some tac) + | FStar_Parser_AST.Ascribed (e1,t,FStar_Pervasives_Native.None ) -> + let uu____7355 = + let uu____7356 = p_tmIff e1 in + let uu____7357 = + let uu____7358 = + let uu____7359 = p_typ ps pb t in + FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.colon uu____7359 + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.langle uu____7358 in + FStar_Pprint.op_Hat_Slash_Hat uu____7356 uu____7357 in + FStar_Pprint.group uu____7355 + | FStar_Parser_AST.Ascribed (e1,t,FStar_Pervasives_Native.Some tac) -> - let uu____7364 = - let uu____7365 = p_tmIff e1 in - let uu____7366 = - let uu____7367 = - let uu____7368 = - let uu____7369 = p_typ false false t in - let uu____7372 = - let uu____7373 = str "by" in - let uu____7375 = p_typ ps pb tac in - FStar_Pprint.op_Hat_Slash_Hat uu____7373 uu____7375 in - FStar_Pprint.op_Hat_Slash_Hat uu____7369 uu____7372 in - FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.colon uu____7368 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.langle uu____7367 in - FStar_Pprint.op_Hat_Slash_Hat uu____7365 uu____7366 in - FStar_Pprint.group uu____7364 + let uu____7365 = + let uu____7366 = p_tmIff e1 in + let uu____7367 = + let uu____7368 = + let uu____7369 = + let uu____7370 = p_typ false false t in + let uu____7373 = + let uu____7374 = str "by" in + let uu____7376 = p_typ ps pb tac in + FStar_Pprint.op_Hat_Slash_Hat uu____7374 uu____7376 in + FStar_Pprint.op_Hat_Slash_Hat uu____7370 uu____7373 in + FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.colon uu____7369 + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.langle uu____7368 in + FStar_Pprint.op_Hat_Slash_Hat uu____7366 uu____7367 in + FStar_Pprint.group uu____7365 | FStar_Parser_AST.Op ({ FStar_Ident.idText = ".()<-"; - FStar_Ident.idRange = uu____7376;_}, - e1::e2::e3::[]) + FStar_Ident.idRange = uu____7377;_},e1::e2::e3::[]) -> - let uu____7383 = - let uu____7384 = - let uu____7385 = - let uu____7386 = p_atomicTermNotQUident e1 in - let uu____7387 = - let uu____7388 = - let uu____7389 = - let uu____7390 = p_term false false e2 in - soft_parens_with_nesting uu____7390 in - let uu____7393 = + let uu____7384 = + let uu____7385 = + let uu____7386 = + let uu____7387 = p_atomicTermNotQUident e1 in + let uu____7388 = + let uu____7389 = + let uu____7390 = + let uu____7391 = p_term false false e2 in + soft_parens_with_nesting uu____7391 in + let uu____7394 = FStar_Pprint.op_Hat_Hat FStar_Pprint.space - FStar_Pprint.larrow in - FStar_Pprint.op_Hat_Hat uu____7389 uu____7393 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____7388 in - FStar_Pprint.op_Hat_Hat uu____7386 uu____7387 in - FStar_Pprint.group uu____7385 in - let uu____7394 = - let uu____7395 = p_noSeqTermAndComment ps pb e3 in - jump2 uu____7395 in - FStar_Pprint.op_Hat_Hat uu____7384 uu____7394 in - FStar_Pprint.group uu____7383 + FStar_Pprint.larrow + in + FStar_Pprint.op_Hat_Hat uu____7390 uu____7394 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____7389 in + FStar_Pprint.op_Hat_Hat uu____7387 uu____7388 in + FStar_Pprint.group uu____7386 in + let uu____7395 = + let uu____7396 = p_noSeqTermAndComment ps pb e3 in + jump2 uu____7396 in + FStar_Pprint.op_Hat_Hat uu____7385 uu____7395 in + FStar_Pprint.group uu____7384 | FStar_Parser_AST.Op ({ FStar_Ident.idText = ".[]<-"; - FStar_Ident.idRange = uu____7396;_}, - e1::e2::e3::[]) + FStar_Ident.idRange = uu____7397;_},e1::e2::e3::[]) -> - let uu____7403 = - let uu____7404 = - let uu____7405 = - let uu____7406 = p_atomicTermNotQUident e1 in - let uu____7407 = - let uu____7408 = - let uu____7409 = - let uu____7410 = p_term false false e2 in - soft_brackets_with_nesting uu____7410 in - let uu____7413 = + let uu____7404 = + let uu____7405 = + let uu____7406 = + let uu____7407 = p_atomicTermNotQUident e1 in + let uu____7408 = + let uu____7409 = + let uu____7410 = + let uu____7411 = p_term false false e2 in + soft_brackets_with_nesting uu____7411 in + let uu____7414 = FStar_Pprint.op_Hat_Hat FStar_Pprint.space - FStar_Pprint.larrow in - FStar_Pprint.op_Hat_Hat uu____7409 uu____7413 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____7408 in - FStar_Pprint.op_Hat_Hat uu____7406 uu____7407 in - FStar_Pprint.group uu____7405 in - let uu____7414 = - let uu____7415 = p_noSeqTermAndComment ps pb e3 in - jump2 uu____7415 in - FStar_Pprint.op_Hat_Hat uu____7404 uu____7414 in - FStar_Pprint.group uu____7403 - | FStar_Parser_AST.Requires (e1, wtf) -> - let uu____7425 = - let uu____7426 = str "requires" in - let uu____7428 = p_typ ps pb e1 in - FStar_Pprint.op_Hat_Slash_Hat uu____7426 uu____7428 in - FStar_Pprint.group uu____7425 - | FStar_Parser_AST.Ensures (e1, wtf) -> - let uu____7438 = - let uu____7439 = str "ensures" in - let uu____7441 = p_typ ps pb e1 in - FStar_Pprint.op_Hat_Slash_Hat uu____7439 uu____7441 in - FStar_Pprint.group uu____7438 + FStar_Pprint.larrow + in + FStar_Pprint.op_Hat_Hat uu____7410 uu____7414 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____7409 in + FStar_Pprint.op_Hat_Hat uu____7407 uu____7408 in + FStar_Pprint.group uu____7406 in + let uu____7415 = + let uu____7416 = p_noSeqTermAndComment ps pb e3 in + jump2 uu____7416 in + FStar_Pprint.op_Hat_Hat uu____7405 uu____7415 in + FStar_Pprint.group uu____7404 + | FStar_Parser_AST.Requires (e1,wtf) -> + let uu____7426 = + let uu____7427 = str "requires" in + let uu____7429 = p_typ ps pb e1 in + FStar_Pprint.op_Hat_Slash_Hat uu____7427 uu____7429 in + FStar_Pprint.group uu____7426 + | FStar_Parser_AST.Ensures (e1,wtf) -> + let uu____7439 = + let uu____7440 = str "ensures" in + let uu____7442 = p_typ ps pb e1 in + FStar_Pprint.op_Hat_Slash_Hat uu____7440 uu____7442 in + FStar_Pprint.group uu____7439 | FStar_Parser_AST.Attributes es -> - let uu____7445 = - let uu____7446 = str "attributes" in - let uu____7448 = - FStar_Pprint.separate_map break1 p_atomicTerm es in - FStar_Pprint.op_Hat_Slash_Hat uu____7446 uu____7448 in - FStar_Pprint.group uu____7445 - | FStar_Parser_AST.If (e1, e2, e3) -> + let uu____7446 = + let uu____7447 = str "attributes" in + let uu____7449 = + FStar_Pprint.separate_map break1 p_atomicTerm es in + FStar_Pprint.op_Hat_Slash_Hat uu____7447 uu____7449 in + FStar_Pprint.group uu____7446 + | FStar_Parser_AST.If (e1,e2,e3) -> if is_unit e3 then - let uu____7453 = - let uu____7454 = - let uu____7455 = str "if" in - let uu____7457 = p_noSeqTermAndComment false false e1 in - op_Hat_Slash_Plus_Hat uu____7455 uu____7457 in - let uu____7460 = - let uu____7461 = str "then" in - let uu____7463 = p_noSeqTermAndComment ps pb e2 in - op_Hat_Slash_Plus_Hat uu____7461 uu____7463 in - FStar_Pprint.op_Hat_Slash_Hat uu____7454 uu____7460 in - FStar_Pprint.group uu____7453 + let uu____7454 = + let uu____7455 = + let uu____7456 = str "if" in + let uu____7458 = p_noSeqTermAndComment false false e1 in + op_Hat_Slash_Plus_Hat uu____7456 uu____7458 in + let uu____7461 = + let uu____7462 = str "then" in + let uu____7464 = p_noSeqTermAndComment ps pb e2 in + op_Hat_Slash_Plus_Hat uu____7462 uu____7464 in + FStar_Pprint.op_Hat_Slash_Hat uu____7455 uu____7461 in + FStar_Pprint.group uu____7454 else (let e2_doc = match e2.FStar_Parser_AST.tm with - | FStar_Parser_AST.If (uu____7467, uu____7468, e31) when + | FStar_Parser_AST.If (uu____7468,uu____7469,e31) when is_unit e31 -> - let uu____7470 = p_noSeqTermAndComment false false e2 in - soft_parens_with_nesting uu____7470 - | uu____7473 -> p_noSeqTermAndComment false false e2 in - let uu____7476 = - let uu____7477 = - let uu____7478 = str "if" in - let uu____7480 = p_noSeqTermAndComment false false e1 in - op_Hat_Slash_Plus_Hat uu____7478 uu____7480 in - let uu____7483 = - let uu____7484 = - let uu____7485 = str "then" in - op_Hat_Slash_Plus_Hat uu____7485 e2_doc in - let uu____7487 = - let uu____7488 = str "else" in - let uu____7490 = p_noSeqTermAndComment ps pb e3 in - op_Hat_Slash_Plus_Hat uu____7488 uu____7490 in - FStar_Pprint.op_Hat_Slash_Hat uu____7484 uu____7487 in - FStar_Pprint.op_Hat_Slash_Hat uu____7477 uu____7483 in - FStar_Pprint.group uu____7476) - | FStar_Parser_AST.TryWith (e1, branches) -> - let uu____7513 = - let uu____7514 = - let uu____7515 = - let uu____7516 = str "try" in - let uu____7518 = p_noSeqTermAndComment false false e1 in - prefix2 uu____7516 uu____7518 in - let uu____7521 = - let uu____7522 = str "with" in - let uu____7524 = + let uu____7471 = p_noSeqTermAndComment false false e2 + in + soft_parens_with_nesting uu____7471 + | uu____7474 -> p_noSeqTermAndComment false false e2 in + let uu____7477 = + let uu____7478 = + let uu____7479 = str "if" in + let uu____7481 = p_noSeqTermAndComment false false e1 in + op_Hat_Slash_Plus_Hat uu____7479 uu____7481 in + let uu____7484 = + let uu____7485 = + let uu____7486 = str "then" in + op_Hat_Slash_Plus_Hat uu____7486 e2_doc in + let uu____7488 = + let uu____7489 = str "else" in + let uu____7491 = p_noSeqTermAndComment ps pb e3 in + op_Hat_Slash_Plus_Hat uu____7489 uu____7491 in + FStar_Pprint.op_Hat_Slash_Hat uu____7485 uu____7488 in + FStar_Pprint.op_Hat_Slash_Hat uu____7478 uu____7484 in + FStar_Pprint.group uu____7477) + | FStar_Parser_AST.TryWith (e1,branches) -> + let uu____7514 = + let uu____7515 = + let uu____7516 = + let uu____7517 = str "try" in + let uu____7519 = p_noSeqTermAndComment false false e1 in + prefix2 uu____7517 uu____7519 in + let uu____7522 = + let uu____7523 = str "with" in + let uu____7525 = separate_map_last FStar_Pprint.hardline p_patternBranch - branches in - FStar_Pprint.op_Hat_Slash_Hat uu____7522 uu____7524 in - FStar_Pprint.op_Hat_Slash_Hat uu____7515 uu____7521 in - FStar_Pprint.group uu____7514 in - let uu____7533 = paren_if (ps || pb) in uu____7533 uu____7513 - | FStar_Parser_AST.Match (e1, branches) -> - let uu____7560 = - let uu____7561 = - let uu____7562 = - let uu____7563 = str "match" in - let uu____7565 = p_noSeqTermAndComment false false e1 in - let uu____7568 = str "with" in + branches + in + FStar_Pprint.op_Hat_Slash_Hat uu____7523 uu____7525 in + FStar_Pprint.op_Hat_Slash_Hat uu____7516 uu____7522 in + FStar_Pprint.group uu____7515 in + let uu____7534 = paren_if (ps || pb) in uu____7534 uu____7514 + | FStar_Parser_AST.Match (e1,branches) -> + let uu____7561 = + let uu____7562 = + let uu____7563 = + let uu____7564 = str "match" in + let uu____7566 = p_noSeqTermAndComment false false e1 in + let uu____7569 = str "with" in FStar_Pprint.surround (Prims.parse_int "2") - (Prims.parse_int "1") uu____7563 uu____7565 uu____7568 in - let uu____7572 = + (Prims.parse_int "1") uu____7564 uu____7566 uu____7569 + in + let uu____7573 = separate_map_last FStar_Pprint.hardline p_patternBranch - branches in - FStar_Pprint.op_Hat_Slash_Hat uu____7562 uu____7572 in - FStar_Pprint.group uu____7561 in - let uu____7581 = paren_if (ps || pb) in uu____7581 uu____7560 - | FStar_Parser_AST.LetOpen (uid, e1) -> - let uu____7588 = - let uu____7589 = - let uu____7590 = - let uu____7591 = str "let open" in - let uu____7593 = p_quident uid in - let uu____7594 = str "in" in + branches + in + FStar_Pprint.op_Hat_Slash_Hat uu____7563 uu____7573 in + FStar_Pprint.group uu____7562 in + let uu____7582 = paren_if (ps || pb) in uu____7582 uu____7561 + | FStar_Parser_AST.LetOpen (uid,e1) -> + let uu____7589 = + let uu____7590 = + let uu____7591 = + let uu____7592 = str "let open" in + let uu____7594 = p_quident uid in + let uu____7595 = str "in" in FStar_Pprint.surround (Prims.parse_int "2") - (Prims.parse_int "1") uu____7591 uu____7593 uu____7594 in - let uu____7598 = p_term false pb e1 in - FStar_Pprint.op_Hat_Slash_Hat uu____7590 uu____7598 in - FStar_Pprint.group uu____7589 in - let uu____7600 = paren_if ps in uu____7600 uu____7588 - | FStar_Parser_AST.Let (q, lbs, e1) -> - let p_lb q1 uu____7665 is_last = - match uu____7665 with - | (a, (pat, e2)) -> - let attrs = p_attrs_opt a in + (Prims.parse_int "1") uu____7592 uu____7594 uu____7595 + in + let uu____7599 = p_term false pb e1 in + FStar_Pprint.op_Hat_Slash_Hat uu____7591 uu____7599 in + FStar_Pprint.group uu____7590 in + let uu____7601 = paren_if ps in uu____7601 uu____7589 + | FStar_Parser_AST.Let (q,lbs,e1) -> + let p_lb q1 uu____7666 is_last = + match uu____7666 with + | (a,(pat,e2)) -> + let attrs = p_attrs_opt a in let doc_let_or_and = match q1 with - | FStar_Pervasives_Native.Some (FStar_Parser_AST.Rec) -> - let uu____7699 = - let uu____7700 = str "let" in - let uu____7702 = str "rec" in - FStar_Pprint.op_Hat_Slash_Hat uu____7700 uu____7702 in - FStar_Pprint.group uu____7699 + | FStar_Pervasives_Native.Some (FStar_Parser_AST.Rec ) -> + let uu____7700 = + let uu____7701 = str "let" in + let uu____7703 = str "rec" in + FStar_Pprint.op_Hat_Slash_Hat uu____7701 uu____7703 + in + FStar_Pprint.group uu____7700 | FStar_Pervasives_Native.Some - (FStar_Parser_AST.NoLetQualifier) -> str "let" - | uu____7705 -> str "and" in - let doc_pat = p_letlhs doc_let_or_and (pat, e2) true in - let uu____7711 = p_term_sep false false e2 in - (match uu____7711 with - | (comm, doc_expr) -> + (FStar_Parser_AST.NoLetQualifier ) -> str "let" + | uu____7706 -> str "and" in + let doc_pat = p_letlhs doc_let_or_and (pat, e2) true in + let uu____7712 = p_term_sep false false e2 in + (match uu____7712 with + | (comm,doc_expr) -> let doc_expr1 = inline_comment_or_above comm doc_expr - FStar_Pprint.empty in - let uu____7721 = + FStar_Pprint.empty + in + let uu____7722 = if is_last then - let uu____7723 = + let uu____7724 = FStar_Pprint.flow break1 - [doc_pat; FStar_Pprint.equals] in - let uu____7724 = str "in" in + [doc_pat; FStar_Pprint.equals] + in + let uu____7725 = str "in" in FStar_Pprint.surround (Prims.parse_int "2") - (Prims.parse_int "1") uu____7723 doc_expr1 - uu____7724 + (Prims.parse_int "1") uu____7724 doc_expr1 + uu____7725 else - (let uu____7730 = + (let uu____7731 = FStar_Pprint.flow break1 - [doc_pat; FStar_Pprint.equals; doc_expr1] in + [doc_pat; FStar_Pprint.equals; doc_expr1] + in FStar_Pprint.hang (Prims.parse_int "2") - uu____7730) in - FStar_Pprint.op_Hat_Hat attrs uu____7721) in - let l = FStar_List.length lbs in + uu____7731) + in + FStar_Pprint.op_Hat_Hat attrs uu____7722) + in + let l = FStar_List.length lbs in let lbs_docs = FStar_List.mapi - (fun i -> - fun lb -> + (fun i -> + fun lb -> if i = (Prims.parse_int "0") then - let uu____7781 = + let uu____7782 = p_lb (FStar_Pervasives_Native.Some q) lb - (i = (l - (Prims.parse_int "1"))) in - FStar_Pprint.group uu____7781 + (i = (l - (Prims.parse_int "1"))) + in + FStar_Pprint.group uu____7782 else - (let uu____7786 = + (let uu____7787 = p_lb FStar_Pervasives_Native.None lb - (i = (l - (Prims.parse_int "1"))) in - FStar_Pprint.group uu____7786)) lbs in + (i = (l - (Prims.parse_int "1"))) + in + FStar_Pprint.group uu____7787)) lbs + in let lbs_doc = - let uu____7790 = FStar_Pprint.separate break1 lbs_docs in - FStar_Pprint.group uu____7790 in - let uu____7791 = - let uu____7792 = - let uu____7793 = - let uu____7794 = p_term false pb e1 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____7794 in - FStar_Pprint.op_Hat_Hat lbs_doc uu____7793 in - FStar_Pprint.group uu____7792 in - let uu____7796 = paren_if ps in uu____7796 uu____7791 + let uu____7791 = FStar_Pprint.separate break1 lbs_docs in + FStar_Pprint.group uu____7791 in + let uu____7792 = + let uu____7793 = + let uu____7794 = + let uu____7795 = p_term false pb e1 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____7795 + in + FStar_Pprint.op_Hat_Hat lbs_doc uu____7794 in + FStar_Pprint.group uu____7793 in + let uu____7797 = paren_if ps in uu____7797 uu____7792 | FStar_Parser_AST.Abs - ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatVar (x, typ_opt); - FStar_Parser_AST.prange = uu____7803;_}::[], - { - FStar_Parser_AST.tm = FStar_Parser_AST.Match - (maybe_x, branches); - FStar_Parser_AST.range = uu____7806; - FStar_Parser_AST.level = uu____7807;_}) + ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatVar (x,typ_opt); + FStar_Parser_AST.prange = uu____7804;_}::[],{ + FStar_Parser_AST.tm + = + FStar_Parser_AST.Match + (maybe_x,branches); + FStar_Parser_AST.range + = uu____7807; + FStar_Parser_AST.level + = uu____7808;_}) when matches_var maybe_x x -> - let uu____7834 = - let uu____7835 = - let uu____7836 = str "function" in - let uu____7838 = + let uu____7835 = + let uu____7836 = + let uu____7837 = str "function" in + let uu____7839 = separate_map_last FStar_Pprint.hardline p_patternBranch - branches in - FStar_Pprint.op_Hat_Slash_Hat uu____7836 uu____7838 in - FStar_Pprint.group uu____7835 in - let uu____7847 = paren_if (ps || pb) in uu____7847 uu____7834 - | FStar_Parser_AST.Quote (e1, FStar_Parser_AST.Dynamic) -> - let uu____7853 = - let uu____7854 = str "quote" in - let uu____7856 = p_noSeqTermAndComment ps pb e1 in - FStar_Pprint.op_Hat_Slash_Hat uu____7854 uu____7856 in - FStar_Pprint.group uu____7853 - | FStar_Parser_AST.Quote (e1, FStar_Parser_AST.Static) -> - let uu____7858 = - let uu____7859 = str "`" in - let uu____7861 = p_noSeqTermAndComment ps pb e1 in - FStar_Pprint.op_Hat_Hat uu____7859 uu____7861 in - FStar_Pprint.group uu____7858 + branches + in + FStar_Pprint.op_Hat_Slash_Hat uu____7837 uu____7839 in + FStar_Pprint.group uu____7836 in + let uu____7848 = paren_if (ps || pb) in uu____7848 uu____7835 + | FStar_Parser_AST.Quote (e1,FStar_Parser_AST.Dynamic ) -> + let uu____7854 = + let uu____7855 = str "quote" in + let uu____7857 = p_noSeqTermAndComment ps pb e1 in + FStar_Pprint.op_Hat_Slash_Hat uu____7855 uu____7857 in + FStar_Pprint.group uu____7854 + | FStar_Parser_AST.Quote (e1,FStar_Parser_AST.Static ) -> + let uu____7859 = + let uu____7860 = str "`" in + let uu____7862 = p_noSeqTermAndComment ps pb e1 in + FStar_Pprint.op_Hat_Hat uu____7860 uu____7862 in + FStar_Pprint.group uu____7859 | FStar_Parser_AST.VQuote e1 -> - let uu____7863 = - let uu____7864 = str "`%" in - let uu____7866 = p_noSeqTermAndComment ps pb e1 in - FStar_Pprint.op_Hat_Hat uu____7864 uu____7866 in - FStar_Pprint.group uu____7863 + let uu____7864 = + let uu____7865 = str "`%" in + let uu____7867 = p_noSeqTermAndComment ps pb e1 in + FStar_Pprint.op_Hat_Hat uu____7865 uu____7867 in + FStar_Pprint.group uu____7864 | FStar_Parser_AST.Antiquote { FStar_Parser_AST.tm = FStar_Parser_AST.Quote - (e1, FStar_Parser_AST.Dynamic); - FStar_Parser_AST.range = uu____7868; - FStar_Parser_AST.level = uu____7869;_} + (e1,FStar_Parser_AST.Dynamic ); + FStar_Parser_AST.range = uu____7869; + FStar_Parser_AST.level = uu____7870;_} -> - let uu____7870 = - let uu____7871 = str "`@" in - let uu____7873 = p_noSeqTermAndComment ps pb e1 in - FStar_Pprint.op_Hat_Hat uu____7871 uu____7873 in - FStar_Pprint.group uu____7870 + let uu____7871 = + let uu____7872 = str "`@" in + let uu____7874 = p_noSeqTermAndComment ps pb e1 in + FStar_Pprint.op_Hat_Hat uu____7872 uu____7874 in + FStar_Pprint.group uu____7871 | FStar_Parser_AST.Antiquote e1 -> - let uu____7875 = - let uu____7876 = str "`#" in - let uu____7878 = p_noSeqTermAndComment ps pb e1 in - FStar_Pprint.op_Hat_Hat uu____7876 uu____7878 in - FStar_Pprint.group uu____7875 - | FStar_Parser_AST.CalcProof (rel, init1, steps) -> + let uu____7876 = + let uu____7877 = str "`#" in + let uu____7879 = p_noSeqTermAndComment ps pb e1 in + FStar_Pprint.op_Hat_Hat uu____7877 uu____7879 in + FStar_Pprint.group uu____7876 + | FStar_Parser_AST.CalcProof (rel,init1,steps) -> let head1 = - let uu____7887 = str "calc" in - let uu____7889 = - let uu____7890 = - let uu____7891 = p_noSeqTermAndComment false false rel in - let uu____7894 = + let uu____7888 = str "calc" in + let uu____7890 = + let uu____7891 = + let uu____7892 = p_noSeqTermAndComment false false rel in + let uu____7895 = FStar_Pprint.op_Hat_Hat FStar_Pprint.space - FStar_Pprint.lbrace in - FStar_Pprint.op_Hat_Hat uu____7891 uu____7894 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____7890 in - FStar_Pprint.op_Hat_Hat uu____7887 uu____7889 in - let bot = FStar_Pprint.rbrace in - let uu____7896 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline bot in + FStar_Pprint.lbrace + in + FStar_Pprint.op_Hat_Hat uu____7892 uu____7895 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____7891 in + FStar_Pprint.op_Hat_Hat uu____7888 uu____7890 in + let bot = FStar_Pprint.rbrace in let uu____7897 = - let uu____7898 = - let uu____7899 = - let uu____7900 = p_noSeqTermAndComment false false init1 in - let uu____7903 = - let uu____7904 = str ";" in - let uu____7906 = - let uu____7907 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline bot in + let uu____7898 = + let uu____7899 = + let uu____7900 = + let uu____7901 = p_noSeqTermAndComment false false init1 + in + let uu____7904 = + let uu____7905 = str ";" in + let uu____7907 = + let uu____7908 = separate_map_last FStar_Pprint.hardline p_calcStep - steps in + steps + in FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline - uu____7907 in - FStar_Pprint.op_Hat_Hat uu____7904 uu____7906 in - FStar_Pprint.op_Hat_Hat uu____7900 uu____7903 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____7899 in + uu____7908 + in + FStar_Pprint.op_Hat_Hat uu____7905 uu____7907 in + FStar_Pprint.op_Hat_Hat uu____7901 uu____7904 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline uu____7900 in FStar_All.pipe_left (FStar_Pprint.nest (Prims.parse_int "2")) - uu____7898 in - FStar_Pprint.enclose head1 uu____7896 uu____7897 - | uu____7909 -> p_typ ps pb e + uu____7899 + in + FStar_Pprint.enclose head1 uu____7897 uu____7898 + | uu____7910 -> p_typ ps pb e + and (p_calcStep : Prims.bool -> FStar_Parser_AST.calc_step -> FStar_Pprint.document) = - fun uu____7910 -> - fun uu____7911 -> - match uu____7911 with - | FStar_Parser_AST.CalcStep (rel, just, next) -> - let uu____7916 = - let uu____7917 = p_noSeqTermAndComment false false rel in - let uu____7920 = - let uu____7921 = - let uu____7922 = - let uu____7923 = - let uu____7924 = p_noSeqTermAndComment false false just in - let uu____7927 = - let uu____7928 = - let uu____7929 = - let uu____7930 = - let uu____7931 = - p_noSeqTermAndComment false false next in - let uu____7934 = str ";" in - FStar_Pprint.op_Hat_Hat uu____7931 uu____7934 in + fun uu____7911 -> + fun uu____7912 -> + match uu____7912 with + | FStar_Parser_AST.CalcStep (rel,just,next) -> + let uu____7917 = + let uu____7918 = p_noSeqTermAndComment false false rel in + let uu____7921 = + let uu____7922 = + let uu____7923 = + let uu____7924 = + let uu____7925 = p_noSeqTermAndComment false false just + in + let uu____7928 = + let uu____7929 = + let uu____7930 = + let uu____7931 = + let uu____7932 = + p_noSeqTermAndComment false false next in + let uu____7935 = str ";" in + FStar_Pprint.op_Hat_Hat uu____7932 uu____7935 in FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline - uu____7930 in + uu____7931 + in FStar_Pprint.op_Hat_Hat FStar_Pprint.rbrace - uu____7929 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____7928 in - FStar_Pprint.op_Hat_Hat uu____7924 uu____7927 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____7923 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.lbrace uu____7922 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____7921 in - FStar_Pprint.op_Hat_Hat uu____7917 uu____7920 in - FStar_Pprint.group uu____7916 + uu____7930 + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____7929 + in + FStar_Pprint.op_Hat_Hat uu____7925 uu____7928 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____7924 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.lbrace uu____7923 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____7922 in + FStar_Pprint.op_Hat_Hat uu____7918 uu____7921 in + FStar_Pprint.group uu____7917 + and (p_attrs_opt : FStar_Parser_AST.term Prims.list FStar_Pervasives_Native.option -> FStar_Pprint.document) = - fun uu___11_7936 -> - match uu___11_7936 with - | FStar_Pervasives_Native.None -> FStar_Pprint.empty + fun uu___11_7937 -> + match uu___11_7937 with + | FStar_Pervasives_Native.None -> FStar_Pprint.empty | FStar_Pervasives_Native.Some terms -> - let uu____7948 = - let uu____7949 = str "[@" in - let uu____7951 = - let uu____7952 = - FStar_Pprint.separate_map break1 p_atomicTerm terms in - let uu____7953 = str "]" in - FStar_Pprint.op_Hat_Slash_Hat uu____7952 uu____7953 in - FStar_Pprint.op_Hat_Slash_Hat uu____7949 uu____7951 in - FStar_Pprint.group uu____7948 + let uu____7949 = + let uu____7950 = str "[@" in + let uu____7952 = + let uu____7953 = + FStar_Pprint.separate_map break1 p_atomicTerm terms in + let uu____7954 = str "]" in + FStar_Pprint.op_Hat_Slash_Hat uu____7953 uu____7954 in + FStar_Pprint.op_Hat_Slash_Hat uu____7950 uu____7952 in + FStar_Pprint.group uu____7949 + and (p_typ : Prims.bool -> Prims.bool -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun ps -> - fun pb -> fun e -> with_comment (p_typ' ps pb) e e.FStar_Parser_AST.range + fun ps -> + fun pb -> + fun e -> with_comment (p_typ' ps pb) e e.FStar_Parser_AST.range + and (p_typ_sep : Prims.bool -> Prims.bool -> FStar_Parser_AST.term -> (FStar_Pprint.document * FStar_Pprint.document)) = - fun ps -> - fun pb -> - fun e -> with_comment_sep (p_typ' ps pb) e e.FStar_Parser_AST.range + fun ps -> + fun pb -> + fun e -> with_comment_sep (p_typ' ps pb) e e.FStar_Parser_AST.range + and (p_typ' : Prims.bool -> Prims.bool -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun ps -> - fun pb -> - fun e -> + fun ps -> + fun pb -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.QForall (bs, (uu____7971, trigger), e1) -> - let binders_doc = p_binders true bs in - let term_doc = p_noSeqTermAndComment ps pb e1 in + | FStar_Parser_AST.QForall (bs,(uu____7972,trigger),e1) -> + let binders_doc = p_binders true bs in + let term_doc = p_noSeqTermAndComment ps pb e1 in (match trigger with | [] -> - let uu____8005 = - let uu____8006 = - let uu____8007 = p_quantifier e in - FStar_Pprint.op_Hat_Hat uu____8007 FStar_Pprint.space in + let uu____8006 = + let uu____8007 = + let uu____8008 = p_quantifier e in + FStar_Pprint.op_Hat_Hat uu____8008 FStar_Pprint.space + in FStar_Pprint.soft_surround (Prims.parse_int "2") - (Prims.parse_int "0") uu____8006 binders_doc - FStar_Pprint.dot in - prefix2 uu____8005 term_doc + (Prims.parse_int "0") uu____8007 binders_doc + FStar_Pprint.dot + in + prefix2 uu____8006 term_doc | pats -> - let uu____8015 = - let uu____8016 = - let uu____8017 = - let uu____8018 = - let uu____8019 = p_quantifier e in - FStar_Pprint.op_Hat_Hat uu____8019 - FStar_Pprint.space in + let uu____8016 = + let uu____8017 = + let uu____8018 = + let uu____8019 = + let uu____8020 = p_quantifier e in + FStar_Pprint.op_Hat_Hat uu____8020 + FStar_Pprint.space + in FStar_Pprint.soft_surround (Prims.parse_int "2") - (Prims.parse_int "0") uu____8018 binders_doc - FStar_Pprint.dot in - let uu____8022 = p_trigger trigger in - prefix2 uu____8017 uu____8022 in - FStar_Pprint.group uu____8016 in - prefix2 uu____8015 term_doc) - | FStar_Parser_AST.QExists (bs, (uu____8024, trigger), e1) -> - let binders_doc = p_binders true bs in - let term_doc = p_noSeqTermAndComment ps pb e1 in + (Prims.parse_int "0") uu____8019 binders_doc + FStar_Pprint.dot + in + let uu____8023 = p_trigger trigger in + prefix2 uu____8018 uu____8023 in + FStar_Pprint.group uu____8017 in + prefix2 uu____8016 term_doc) + | FStar_Parser_AST.QExists (bs,(uu____8025,trigger),e1) -> + let binders_doc = p_binders true bs in + let term_doc = p_noSeqTermAndComment ps pb e1 in (match trigger with | [] -> - let uu____8058 = - let uu____8059 = - let uu____8060 = p_quantifier e in - FStar_Pprint.op_Hat_Hat uu____8060 FStar_Pprint.space in + let uu____8059 = + let uu____8060 = + let uu____8061 = p_quantifier e in + FStar_Pprint.op_Hat_Hat uu____8061 FStar_Pprint.space + in FStar_Pprint.soft_surround (Prims.parse_int "2") - (Prims.parse_int "0") uu____8059 binders_doc - FStar_Pprint.dot in - prefix2 uu____8058 term_doc + (Prims.parse_int "0") uu____8060 binders_doc + FStar_Pprint.dot + in + prefix2 uu____8059 term_doc | pats -> - let uu____8068 = - let uu____8069 = - let uu____8070 = - let uu____8071 = - let uu____8072 = p_quantifier e in - FStar_Pprint.op_Hat_Hat uu____8072 - FStar_Pprint.space in + let uu____8069 = + let uu____8070 = + let uu____8071 = + let uu____8072 = + let uu____8073 = p_quantifier e in + FStar_Pprint.op_Hat_Hat uu____8073 + FStar_Pprint.space + in FStar_Pprint.soft_surround (Prims.parse_int "2") - (Prims.parse_int "0") uu____8071 binders_doc - FStar_Pprint.dot in - let uu____8075 = p_trigger trigger in - prefix2 uu____8070 uu____8075 in - FStar_Pprint.group uu____8069 in - prefix2 uu____8068 term_doc) - | uu____8076 -> p_simpleTerm ps pb e + (Prims.parse_int "0") uu____8072 binders_doc + FStar_Pprint.dot + in + let uu____8076 = p_trigger trigger in + prefix2 uu____8071 uu____8076 in + FStar_Pprint.group uu____8070 in + prefix2 uu____8069 term_doc) + | uu____8077 -> p_simpleTerm ps pb e + and (p_typ_top : annotation_style -> Prims.bool -> Prims.bool -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun style -> - fun ps -> - fun pb -> - fun e -> + fun style -> + fun ps -> + fun pb -> + fun e -> with_comment (p_typ_top' style ps pb) e e.FStar_Parser_AST.range + and (p_typ_top' : annotation_style -> Prims.bool -> Prims.bool -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun style -> - fun ps -> fun pb -> fun e -> p_tmArrow style true p_tmFormula e + fun style -> + fun ps -> fun pb -> fun e -> p_tmArrow style true p_tmFormula e + and (sig_as_binders_if_possible : FStar_Parser_AST.term -> Prims.bool -> FStar_Pprint.document) = - fun t -> - fun extra_space -> - let s = if extra_space then FStar_Pprint.space else FStar_Pprint.empty in - let uu____8097 = all_binders_annot t in - if uu____8097 + fun t -> + fun extra_space -> + let s = if extra_space then FStar_Pprint.space else FStar_Pprint.empty + in + let uu____8098 = all_binders_annot t in + if uu____8098 then - let uu____8100 = + let uu____8101 = p_typ_top (Binders ((Prims.parse_int "4"), (Prims.parse_int "0"), true)) - false false t in - FStar_Pprint.op_Hat_Hat s uu____8100 + false false t + in + FStar_Pprint.op_Hat_Hat s uu____8101 else - (let uu____8111 = - let uu____8112 = - let uu____8113 = + (let uu____8112 = + let uu____8113 = + let uu____8114 = p_typ_top (Arrows ((Prims.parse_int "2"), (Prims.parse_int "2"))) - false false t in - FStar_Pprint.op_Hat_Hat s uu____8113 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____8112 in - FStar_Pprint.group uu____8111) + false false t + in + FStar_Pprint.op_Hat_Hat s uu____8114 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____8113 in + FStar_Pprint.group uu____8112) + and (collapse_pats : (FStar_Pprint.document * FStar_Pprint.document) Prims.list -> FStar_Pprint.document Prims.list) = - fun pats -> + fun pats -> let fold_fun bs x = - let uu____8172 = x in - match uu____8172 with - | (b1, t1) -> + let uu____8173 = x in + match uu____8173 with + | (b1,t1) -> (match bs with | [] -> [([b1], t1)] | hd1::tl1 -> - let uu____8237 = hd1 in - (match uu____8237 with - | (b2s, t2) -> + let uu____8238 = hd1 in + (match uu____8238 with + | (b2s,t2) -> if t1 = t2 then ((FStar_List.append b2s [b1]), t1) :: tl1 - else ([b1], t1) :: hd1 :: tl1)) in + else ([b1], t1) :: hd1 :: tl1)) + in let p_collapsed_binder cb = - let uu____8309 = cb in - match uu____8309 with - | (bs, typ) -> + let uu____8310 = cb in + match uu____8310 with + | (bs,typ) -> (match bs with | [] -> failwith "Impossible" | b::[] -> cat_with_colon b typ | hd1::tl1 -> - let uu____8328 = + let uu____8329 = FStar_List.fold_left - (fun x -> - fun y -> - let uu____8334 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.space y in - FStar_Pprint.op_Hat_Hat x uu____8334) hd1 tl1 in - cat_with_colon uu____8328 typ) in - let binders = FStar_List.fold_left fold_fun [] (FStar_List.rev pats) in + (fun x -> + fun y -> + let uu____8335 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.space y in + FStar_Pprint.op_Hat_Hat x uu____8335) hd1 tl1 + in + cat_with_colon uu____8329 typ) + in + let binders = FStar_List.fold_left fold_fun [] (FStar_List.rev pats) in map_rev p_collapsed_binder binders + and (pats_as_binders_if_possible : FStar_Parser_AST.pattern Prims.list -> (FStar_Pprint.document Prims.list * annotation_style)) = - fun pats -> + fun pats -> let all_binders p = match p.FStar_Parser_AST.pat with - | FStar_Parser_AST.PatAscribed (pat, (t, FStar_Pervasives_Native.None)) + | FStar_Parser_AST.PatAscribed (pat,(t,FStar_Pervasives_Native.None )) -> (match ((pat.FStar_Parser_AST.pat), (t.FStar_Parser_AST.tm)) with - | (FStar_Parser_AST.PatVar (lid, aqual), FStar_Parser_AST.Refine - ({ FStar_Parser_AST.b = FStar_Parser_AST.Annotated (lid', t1); - FStar_Parser_AST.brange = uu____8413; - FStar_Parser_AST.blevel = uu____8414; - FStar_Parser_AST.aqual = uu____8415;_}, - phi)) when lid.FStar_Ident.idText = lid'.FStar_Ident.idText -> - let uu____8424 = - let uu____8429 = p_ident lid in - p_refinement' aqual uu____8429 t1 phi in - FStar_Pervasives_Native.Some uu____8424 - | (FStar_Parser_AST.PatVar (lid, aqual), uu____8436) -> - let uu____8441 = - let uu____8446 = - let uu____8447 = FStar_Pprint.optional p_aqual aqual in - let uu____8448 = p_ident lid in - FStar_Pprint.op_Hat_Hat uu____8447 uu____8448 in - let uu____8449 = p_tmEqNoRefinement t in - (uu____8446, uu____8449) in - FStar_Pervasives_Native.Some uu____8441 - | uu____8454 -> FStar_Pervasives_Native.None) - | uu____8463 -> FStar_Pervasives_Native.None in + | (FStar_Parser_AST.PatVar (lid,aqual),FStar_Parser_AST.Refine + ({ FStar_Parser_AST.b = FStar_Parser_AST.Annotated (lid',t1); + FStar_Parser_AST.brange = uu____8414; + FStar_Parser_AST.blevel = uu____8415; + FStar_Parser_AST.aqual = uu____8416;_},phi)) + when lid.FStar_Ident.idText = lid'.FStar_Ident.idText -> + let uu____8425 = + let uu____8430 = p_ident lid in + p_refinement' aqual uu____8430 t1 phi in + FStar_Pervasives_Native.Some uu____8425 + | (FStar_Parser_AST.PatVar (lid,aqual),uu____8437) -> + let uu____8442 = + let uu____8447 = + let uu____8448 = FStar_Pprint.optional p_aqual aqual in + let uu____8449 = p_ident lid in + FStar_Pprint.op_Hat_Hat uu____8448 uu____8449 in + let uu____8450 = p_tmEqNoRefinement t in + (uu____8447, uu____8450) in + FStar_Pervasives_Native.Some uu____8442 + | uu____8455 -> FStar_Pervasives_Native.None) + | uu____8464 -> FStar_Pervasives_Native.None in let all_unbound p = match p.FStar_Parser_AST.pat with - | FStar_Parser_AST.PatAscribed uu____8476 -> false - | uu____8488 -> true in - let uu____8490 = map_if_all all_binders pats in - match uu____8490 with + | FStar_Parser_AST.PatAscribed uu____8477 -> false + | uu____8489 -> true in + let uu____8491 = map_if_all all_binders pats in + match uu____8491 with | FStar_Pervasives_Native.Some bs -> - let uu____8522 = collapse_pats bs in - (uu____8522, + let uu____8523 = collapse_pats bs in + (uu____8523, (Binders ((Prims.parse_int "4"), (Prims.parse_int "0"), true))) - | FStar_Pervasives_Native.None -> - let uu____8539 = FStar_List.map p_atomicPattern pats in - (uu____8539, + | FStar_Pervasives_Native.None -> + let uu____8540 = FStar_List.map p_atomicPattern pats in + (uu____8540, (Binders ((Prims.parse_int "4"), (Prims.parse_int "0"), false))) + and (p_quantifier : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.QForall uu____8551 -> str "forall" - | FStar_Parser_AST.QExists uu____8571 -> str "exists" - | uu____8591 -> + | FStar_Parser_AST.QForall uu____8552 -> str "forall" + | FStar_Parser_AST.QExists uu____8572 -> str "exists" + | uu____8592 -> failwith "Imposible : p_quantifier called on a non-quantifier term" + and (p_trigger : FStar_Parser_AST.term Prims.list Prims.list -> FStar_Pprint.document) = - fun uu___12_8593 -> - match uu___12_8593 with + fun uu___12_8594 -> + match uu___12_8594 with | [] -> FStar_Pprint.empty | pats -> - let uu____8605 = - let uu____8606 = - let uu____8607 = - let uu____8608 = str "pattern" in - let uu____8610 = - let uu____8611 = - let uu____8612 = p_disjunctivePats pats in + let uu____8606 = + let uu____8607 = + let uu____8608 = + let uu____8609 = str "pattern" in + let uu____8611 = + let uu____8612 = + let uu____8613 = p_disjunctivePats pats in FStar_Pprint.jump (Prims.parse_int "2") - (Prims.parse_int "0") uu____8612 in - FStar_Pprint.op_Hat_Hat uu____8611 FStar_Pprint.rbrace in - FStar_Pprint.op_Hat_Slash_Hat uu____8608 uu____8610 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____8607 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.lbrace uu____8606 in - FStar_Pprint.group uu____8605 + (Prims.parse_int "0") uu____8613 + in + FStar_Pprint.op_Hat_Hat uu____8612 FStar_Pprint.rbrace in + FStar_Pprint.op_Hat_Slash_Hat uu____8609 uu____8611 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____8608 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.lbrace uu____8607 in + FStar_Pprint.group uu____8606 + and (p_disjunctivePats : FStar_Parser_AST.term Prims.list Prims.list -> FStar_Pprint.document) = - fun pats -> - let uu____8620 = str "\\/" in - FStar_Pprint.separate_map uu____8620 p_conjunctivePats pats + fun pats -> + let uu____8621 = str "\\/" in + FStar_Pprint.separate_map uu____8621 p_conjunctivePats pats + and (p_conjunctivePats : FStar_Parser_AST.term Prims.list -> FStar_Pprint.document) = - fun pats -> - let uu____8627 = - let uu____8628 = FStar_Pprint.op_Hat_Hat FStar_Pprint.semi break1 in - FStar_Pprint.separate_map uu____8628 p_appTerm pats in - FStar_Pprint.group uu____8627 + fun pats -> + let uu____8628 = + let uu____8629 = FStar_Pprint.op_Hat_Hat FStar_Pprint.semi break1 in + FStar_Pprint.separate_map uu____8629 p_appTerm pats in + FStar_Pprint.group uu____8628 + and (p_simpleTerm : Prims.bool -> Prims.bool -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun ps -> - fun pb -> - fun e -> + fun ps -> + fun pb -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Abs (pats, e1) -> - let uu____8640 = p_term_sep false pb e1 in - (match uu____8640 with - | (comm, doc1) -> + | FStar_Parser_AST.Abs (pats,e1) -> + let uu____8641 = p_term_sep false pb e1 in + (match uu____8641 with + | (comm,doc1) -> let prefix1 = - let uu____8649 = str "fun" in - let uu____8651 = - let uu____8652 = - FStar_Pprint.separate_map break1 p_atomicPattern pats in - FStar_Pprint.op_Hat_Slash_Hat uu____8652 - FStar_Pprint.rarrow in - op_Hat_Slash_Plus_Hat uu____8649 uu____8651 in - let uu____8653 = + let uu____8650 = str "fun" in + let uu____8652 = + let uu____8653 = + FStar_Pprint.separate_map break1 p_atomicPattern pats + in + FStar_Pprint.op_Hat_Slash_Hat uu____8653 + FStar_Pprint.rarrow + in + op_Hat_Slash_Plus_Hat uu____8650 uu____8652 in + let uu____8654 = if comm <> FStar_Pprint.empty then - let uu____8655 = - let uu____8656 = - let uu____8657 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline doc1 in - FStar_Pprint.op_Hat_Hat comm uu____8657 in + let uu____8656 = + let uu____8657 = + let uu____8658 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline doc1 + in + FStar_Pprint.op_Hat_Hat comm uu____8658 in FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline - uu____8656 in - FStar_Pprint.op_Hat_Hat prefix1 uu____8655 + uu____8657 + in + FStar_Pprint.op_Hat_Hat prefix1 uu____8656 else - (let uu____8660 = op_Hat_Slash_Plus_Hat prefix1 doc1 in - FStar_Pprint.group uu____8660) in - let uu____8661 = paren_if ps in uu____8661 uu____8653) - | uu____8666 -> p_tmIff e + (let uu____8661 = op_Hat_Slash_Plus_Hat prefix1 doc1 in + FStar_Pprint.group uu____8661) + in + let uu____8662 = paren_if ps in uu____8662 uu____8654) + | uu____8667 -> p_tmIff e + and (p_maybeFocusArrow : Prims.bool -> FStar_Pprint.document) = - fun b -> if b then str "~>" else FStar_Pprint.rarrow + fun b -> if b then str "~>" else FStar_Pprint.rarrow + and (p_patternBranch : Prims.bool -> (FStar_Parser_AST.pattern * FStar_Parser_AST.term FStar_Pervasives_Native.option * FStar_Parser_AST.term) -> FStar_Pprint.document) = - fun pb -> - fun uu____8674 -> - match uu____8674 with - | (pat, when_opt, e) -> + fun pb -> + fun uu____8675 -> + match uu____8675 with + | (pat,when_opt,e) -> let one_pattern_branch p = let branch = match when_opt with - | FStar_Pervasives_Native.None -> - let uu____8698 = - let uu____8699 = - let uu____8700 = - let uu____8701 = p_tuplePattern p in - let uu____8702 = + | FStar_Pervasives_Native.None -> + let uu____8699 = + let uu____8700 = + let uu____8701 = + let uu____8702 = p_tuplePattern p in + let uu____8703 = FStar_Pprint.op_Hat_Hat FStar_Pprint.space - FStar_Pprint.rarrow in - FStar_Pprint.op_Hat_Hat uu____8701 uu____8702 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____8700 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.bar uu____8699 in - FStar_Pprint.group uu____8698 + FStar_Pprint.rarrow + in + FStar_Pprint.op_Hat_Hat uu____8702 uu____8703 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____8701 + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.bar uu____8700 in + FStar_Pprint.group uu____8699 | FStar_Pervasives_Native.Some f -> - let uu____8704 = - let uu____8705 = - let uu____8706 = - let uu____8707 = - let uu____8708 = - let uu____8709 = p_tuplePattern p in - let uu____8710 = str "when" in - FStar_Pprint.op_Hat_Slash_Hat uu____8709 - uu____8710 in - FStar_Pprint.group uu____8708 in - let uu____8712 = - let uu____8713 = - let uu____8716 = p_tmFormula f in - [uu____8716; FStar_Pprint.rarrow] in - FStar_Pprint.flow break1 uu____8713 in - FStar_Pprint.op_Hat_Slash_Hat uu____8707 uu____8712 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____8706 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.bar uu____8705 in - FStar_Pprint.hang (Prims.parse_int "2") uu____8704 in - let uu____8718 = p_term_sep false pb e in - match uu____8718 with - | (comm, doc1) -> + let uu____8705 = + let uu____8706 = + let uu____8707 = + let uu____8708 = + let uu____8709 = + let uu____8710 = p_tuplePattern p in + let uu____8711 = str "when" in + FStar_Pprint.op_Hat_Slash_Hat uu____8710 + uu____8711 + in + FStar_Pprint.group uu____8709 in + let uu____8713 = + let uu____8714 = + let uu____8717 = p_tmFormula f in + [uu____8717; FStar_Pprint.rarrow] in + FStar_Pprint.flow break1 uu____8714 in + FStar_Pprint.op_Hat_Slash_Hat uu____8708 uu____8713 + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____8707 + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.bar uu____8706 in + FStar_Pprint.hang (Prims.parse_int "2") uu____8705 + in + let uu____8719 = p_term_sep false pb e in + match uu____8719 with + | (comm,doc1) -> if pb then (if comm = FStar_Pprint.empty then - let uu____8728 = op_Hat_Slash_Plus_Hat branch doc1 in - FStar_Pprint.group uu____8728 + let uu____8729 = op_Hat_Slash_Plus_Hat branch doc1 in + FStar_Pprint.group uu____8729 else - (let uu____8731 = - let uu____8732 = - let uu____8733 = - let uu____8734 = - let uu____8735 = - FStar_Pprint.op_Hat_Hat break1 comm in - FStar_Pprint.op_Hat_Hat doc1 uu____8735 in - op_Hat_Slash_Plus_Hat branch uu____8734 in - FStar_Pprint.group uu____8733 in - let uu____8736 = - let uu____8737 = - let uu____8738 = + (let uu____8732 = + let uu____8733 = + let uu____8734 = + let uu____8735 = + let uu____8736 = + FStar_Pprint.op_Hat_Hat break1 comm in + FStar_Pprint.op_Hat_Hat doc1 uu____8736 in + op_Hat_Slash_Plus_Hat branch uu____8735 in + FStar_Pprint.group uu____8734 in + let uu____8737 = + let uu____8738 = + let uu____8739 = inline_comment_or_above comm doc1 - FStar_Pprint.empty in - jump2 uu____8738 in - FStar_Pprint.op_Hat_Hat branch uu____8737 in - FStar_Pprint.ifflat uu____8732 uu____8736 in - FStar_Pprint.group uu____8731)) + FStar_Pprint.empty + in + jump2 uu____8739 in + FStar_Pprint.op_Hat_Hat branch uu____8738 in + FStar_Pprint.ifflat uu____8733 uu____8737 in + FStar_Pprint.group uu____8732)) else if comm <> FStar_Pprint.empty then - (let uu____8742 = - let uu____8743 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline doc1 in - FStar_Pprint.op_Hat_Hat comm uu____8743 in - op_Hat_Slash_Plus_Hat branch uu____8742) - else op_Hat_Slash_Plus_Hat branch doc1 in + (let uu____8743 = + let uu____8744 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline doc1 + in + FStar_Pprint.op_Hat_Hat comm uu____8744 in + op_Hat_Slash_Plus_Hat branch uu____8743) + else op_Hat_Slash_Plus_Hat branch doc1 + in (match pat.FStar_Parser_AST.pat with | FStar_Parser_AST.PatOr pats -> (match FStar_List.rev pats with | hd1::tl1 -> - let last_pat_branch = one_pattern_branch hd1 in - let uu____8754 = - let uu____8755 = - let uu____8756 = - let uu____8757 = - let uu____8758 = - let uu____8759 = + let last_pat_branch = one_pattern_branch hd1 in + let uu____8755 = + let uu____8756 = + let uu____8757 = + let uu____8758 = + let uu____8759 = + let uu____8760 = FStar_Pprint.op_Hat_Hat FStar_Pprint.bar - FStar_Pprint.space in - FStar_Pprint.op_Hat_Hat break1 uu____8759 in - FStar_Pprint.separate_map uu____8758 - p_tuplePattern (FStar_List.rev tl1) in - FStar_Pprint.op_Hat_Slash_Hat uu____8757 - last_pat_branch in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____8756 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.bar uu____8755 in - FStar_Pprint.group uu____8754 + FStar_Pprint.space + in + FStar_Pprint.op_Hat_Hat break1 uu____8760 in + FStar_Pprint.separate_map uu____8759 + p_tuplePattern (FStar_List.rev tl1) + in + FStar_Pprint.op_Hat_Slash_Hat uu____8758 + last_pat_branch + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____8757 + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.bar uu____8756 in + FStar_Pprint.group uu____8755 | [] -> failwith "Impossible: disjunctive pattern can't be empty") - | uu____8761 -> one_pattern_branch pat) + | uu____8762 -> one_pattern_branch pat) + and (p_tmIff : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with | FStar_Parser_AST.Op - ({ FStar_Ident.idText = "<==>"; FStar_Ident.idRange = uu____8763;_}, - e1::e2::[]) + ({ FStar_Ident.idText = "<==>"; FStar_Ident.idRange = uu____8764;_},e1::e2::[]) -> - let uu____8769 = str "<==>" in - let uu____8771 = p_tmImplies e1 in - let uu____8772 = p_tmIff e2 in - infix0 uu____8769 uu____8771 uu____8772 - | uu____8773 -> p_tmImplies e + let uu____8770 = str "<==>" in + let uu____8772 = p_tmImplies e1 in + let uu____8773 = p_tmIff e2 in + infix0 uu____8770 uu____8772 uu____8773 + | uu____8774 -> p_tmImplies e + and (p_tmImplies : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with | FStar_Parser_AST.Op - ({ FStar_Ident.idText = "==>"; FStar_Ident.idRange = uu____8775;_}, - e1::e2::[]) + ({ FStar_Ident.idText = "==>"; FStar_Ident.idRange = uu____8776;_},e1::e2::[]) -> - let uu____8781 = str "==>" in - let uu____8783 = + let uu____8782 = str "==>" in + let uu____8784 = p_tmArrow (Arrows ((Prims.parse_int "2"), (Prims.parse_int "2"))) - false p_tmFormula e1 in - let uu____8789 = p_tmImplies e2 in - infix0 uu____8781 uu____8783 uu____8789 - | uu____8790 -> + false p_tmFormula e1 + in + let uu____8790 = p_tmImplies e2 in + infix0 uu____8782 uu____8784 uu____8790 + | uu____8791 -> p_tmArrow (Arrows ((Prims.parse_int "2"), (Prims.parse_int "2"))) false p_tmFormula e + and (format_sig : annotation_style -> FStar_Pprint.document Prims.list -> Prims.bool -> Prims.bool -> FStar_Pprint.document) = - fun style -> - fun terms -> - fun no_last_op -> - fun flat_space -> - let uu____8804 = + fun style -> + fun terms -> + fun no_last_op -> + fun flat_space -> + let uu____8805 = FStar_List.splitAt - ((FStar_List.length terms) - (Prims.parse_int "1")) terms in - match uu____8804 with - | (terms', last1) -> - let uu____8824 = + ((FStar_List.length terms) - (Prims.parse_int "1")) terms + in + match uu____8805 with + | (terms',last1) -> + let uu____8825 = match style with - | Arrows (n1, ln) -> - let uu____8859 = - let uu____8860 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.rarrow break1 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____8860 in - let uu____8861 = + | Arrows (n1,ln) -> + let uu____8860 = + let uu____8861 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.rarrow break1 + in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____8861 + in + let uu____8862 = FStar_Pprint.op_Hat_Hat FStar_Pprint.rarrow - FStar_Pprint.space in - (n1, ln, terms', uu____8859, uu____8861) - | Binders (n1, ln, parens1) -> - let uu____8875 = + FStar_Pprint.space + in + (n1, ln, terms', uu____8860, uu____8862) + | Binders (n1,ln,parens1) -> + let uu____8876 = if parens1 then FStar_List.map soft_parens_with_nesting terms' - else terms' in - let uu____8883 = + else terms' in + let uu____8884 = FStar_Pprint.op_Hat_Hat FStar_Pprint.colon - FStar_Pprint.space in - (n1, ln, uu____8875, break1, uu____8883) in - (match uu____8824 with - | (n1, last_n, terms'1, sep, last_op) -> - let last2 = FStar_List.hd last1 in + FStar_Pprint.space + in + (n1, ln, uu____8876, break1, uu____8884) + in + (match uu____8825 with + | (n1,last_n,terms'1,sep,last_op) -> + let last2 = FStar_List.hd last1 in let last_op1 = if ((FStar_List.length terms) > (Prims.parse_int "1")) && (Prims.op_Negation no_last_op) then last_op - else FStar_Pprint.empty in + else FStar_Pprint.empty in let one_line_space = if (Prims.op_Negation (last2 = FStar_Pprint.empty)) || (Prims.op_Negation no_last_op) then FStar_Pprint.space - else FStar_Pprint.empty in + else FStar_Pprint.empty in let single_line_arg_indent = - FStar_Pprint.repeat n1 FStar_Pprint.space in + FStar_Pprint.repeat n1 FStar_Pprint.space in let fs = if flat_space then FStar_Pprint.space - else FStar_Pprint.empty in + else FStar_Pprint.empty in (match FStar_List.length terms with - | _8916 when _8916 = (Prims.parse_int "1") -> + | _8917 when _8917 = (Prims.parse_int "1") -> FStar_List.hd terms - | uu____8917 -> - let uu____8918 = - let uu____8919 = - let uu____8920 = - let uu____8921 = - FStar_Pprint.separate sep terms'1 in + | uu____8918 -> + let uu____8919 = + let uu____8920 = + let uu____8921 = let uu____8922 = - let uu____8923 = - FStar_Pprint.op_Hat_Hat last_op1 last2 in + FStar_Pprint.separate sep terms'1 in + let uu____8923 = + let uu____8924 = + FStar_Pprint.op_Hat_Hat last_op1 last2 in FStar_Pprint.op_Hat_Hat one_line_space - uu____8923 in - FStar_Pprint.op_Hat_Hat uu____8921 uu____8922 in - FStar_Pprint.op_Hat_Hat fs uu____8920 in - let uu____8924 = - let uu____8925 = - let uu____8926 = - let uu____8927 = - let uu____8928 = - FStar_Pprint.separate sep terms'1 in - FStar_Pprint.op_Hat_Hat fs uu____8928 in - let uu____8929 = - let uu____8930 = - let uu____8931 = - let uu____8932 = - FStar_Pprint.op_Hat_Hat sep - single_line_arg_indent in + uu____8924 + in + FStar_Pprint.op_Hat_Hat uu____8922 uu____8923 + in + FStar_Pprint.op_Hat_Hat fs uu____8921 in + let uu____8925 = + let uu____8926 = + let uu____8927 = + let uu____8928 = + let uu____8929 = + FStar_Pprint.separate sep terms'1 in + FStar_Pprint.op_Hat_Hat fs uu____8929 in + let uu____8930 = + let uu____8931 = + let uu____8932 = let uu____8933 = + FStar_Pprint.op_Hat_Hat sep + single_line_arg_indent + in + let uu____8934 = FStar_List.map - (fun x -> - let uu____8939 = + (fun x -> + let uu____8940 = FStar_Pprint.hang - (Prims.parse_int "2") x in - FStar_Pprint.align uu____8939) - terms'1 in - FStar_Pprint.separate uu____8932 - uu____8933 in + (Prims.parse_int "2") x + in + FStar_Pprint.align uu____8940) + terms'1 + in + FStar_Pprint.separate uu____8933 + uu____8934 + in FStar_Pprint.op_Hat_Hat - single_line_arg_indent uu____8931 in - jump2 uu____8930 in - FStar_Pprint.ifflat uu____8927 uu____8929 in - FStar_Pprint.group uu____8926 in - let uu____8941 = - let uu____8942 = - let uu____8943 = - FStar_Pprint.op_Hat_Hat last_op1 last2 in - FStar_Pprint.hang last_n uu____8943 in - FStar_Pprint.align uu____8942 in + single_line_arg_indent uu____8932 + in + jump2 uu____8931 in + FStar_Pprint.ifflat uu____8928 uu____8930 in + FStar_Pprint.group uu____8927 in + let uu____8942 = + let uu____8943 = + let uu____8944 = + FStar_Pprint.op_Hat_Hat last_op1 last2 in + FStar_Pprint.hang last_n uu____8944 in + FStar_Pprint.align uu____8943 in FStar_Pprint.prefix n1 (Prims.parse_int "1") - uu____8925 uu____8941 in - FStar_Pprint.ifflat uu____8919 uu____8924 in - FStar_Pprint.group uu____8918)) + uu____8926 uu____8942 + in + FStar_Pprint.ifflat uu____8920 uu____8925 in + FStar_Pprint.group uu____8919)) + and (p_tmArrow : annotation_style -> Prims.bool -> (FStar_Parser_AST.term -> FStar_Pprint.document) -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun style -> - fun flat_space -> - fun p_Tm -> - fun e -> + fun style -> + fun flat_space -> + fun p_Tm -> + fun e -> let terms = match style with - | Arrows uu____8957 -> p_tmArrow' p_Tm e - | Binders uu____8964 -> collapse_binders p_Tm e in + | Arrows uu____8958 -> p_tmArrow' p_Tm e + | Binders uu____8965 -> collapse_binders p_Tm e in format_sig style terms false flat_space + and (p_tmArrow' : (FStar_Parser_AST.term -> FStar_Pprint.document) -> FStar_Parser_AST.term -> FStar_Pprint.document Prims.list) = - fun p_Tm -> - fun e -> + fun p_Tm -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Product (bs, tgt) -> - let uu____8987 = FStar_List.map (fun b -> p_binder false b) bs in - let uu____8993 = p_tmArrow' p_Tm tgt in - FStar_List.append uu____8987 uu____8993 - | uu____8996 -> let uu____8997 = p_Tm e in [uu____8997] + | FStar_Parser_AST.Product (bs,tgt) -> + let uu____8988 = FStar_List.map (fun b -> p_binder false b) bs in + let uu____8994 = p_tmArrow' p_Tm tgt in + FStar_List.append uu____8988 uu____8994 + | uu____8997 -> let uu____8998 = p_Tm e in [uu____8998] + and (collapse_binders : (FStar_Parser_AST.term -> FStar_Pprint.document) -> FStar_Parser_AST.term -> FStar_Pprint.document Prims.list) = - fun p_Tm -> - fun e -> + fun p_Tm -> + fun e -> let rec accumulate_binders p_Tm1 e1 = match e1.FStar_Parser_AST.tm with - | FStar_Parser_AST.Product (bs, tgt) -> - let uu____9050 = FStar_List.map (fun b -> p_binder' false b) bs in - let uu____9076 = accumulate_binders p_Tm1 tgt in - FStar_List.append uu____9050 uu____9076 - | uu____9099 -> - let uu____9100 = - let uu____9111 = p_Tm1 e1 in - (uu____9111, FStar_Pervasives_Native.None, cat_with_colon) in - [uu____9100] in + | FStar_Parser_AST.Product (bs,tgt) -> + let uu____9051 = FStar_List.map (fun b -> p_binder' false b) bs + in + let uu____9077 = accumulate_binders p_Tm1 tgt in + FStar_List.append uu____9051 uu____9077 + | uu____9100 -> + let uu____9101 = + let uu____9112 = p_Tm1 e1 in + (uu____9112, FStar_Pervasives_Native.None, cat_with_colon) in + [uu____9101] + in let fold_fun bs x = - let uu____9209 = x in - match uu____9209 with - | (b1, t1, f1) -> + let uu____9210 = x in + match uu____9210 with + | (b1,t1,f1) -> (match bs with | [] -> [([b1], t1, f1)] | hd1::tl1 -> - let uu____9341 = hd1 in - (match uu____9341 with - | (b2s, t2, uu____9370) -> + let uu____9342 = hd1 in + (match uu____9342 with + | (b2s,t2,uu____9371) -> (match (t1, t2) with - | (FStar_Pervasives_Native.Some typ1, - FStar_Pervasives_Native.Some typ2) -> + | (FStar_Pervasives_Native.Some + typ1,FStar_Pervasives_Native.Some typ2) -> if typ1 = typ2 then ((FStar_List.append b2s [b1]), t1, f1) :: tl1 else ([b1], t1, f1) :: hd1 :: tl1 - | uu____9472 -> ([b1], t1, f1) :: bs))) in + | uu____9473 -> ([b1], t1, f1) :: bs))) + in let p_collapsed_binder cb = - let uu____9529 = cb in - match uu____9529 with - | (bs, t, f) -> + let uu____9530 = cb in + match uu____9530 with + | (bs,t,f) -> (match t with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (match bs with | b::[] -> b - | uu____9558 -> failwith "Impossible") + | uu____9559 -> failwith "Impossible") | FStar_Pervasives_Native.Some typ -> (match bs with | [] -> failwith "Impossible" | b::[] -> f b typ | hd1::tl1 -> - let uu____9569 = + let uu____9570 = FStar_List.fold_left - (fun x -> - fun y -> - let uu____9575 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.space y in - FStar_Pprint.op_Hat_Hat x uu____9575) hd1 tl1 in - f uu____9569 typ)) in + (fun x -> + fun y -> + let uu____9576 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.space y + in + FStar_Pprint.op_Hat_Hat x uu____9576) hd1 tl1 + in + f uu____9570 typ)) + in let binders = - let uu____9591 = accumulate_binders p_Tm e in - FStar_List.fold_left fold_fun [] uu____9591 in + let uu____9592 = accumulate_binders p_Tm e in + FStar_List.fold_left fold_fun [] uu____9592 in map_rev p_collapsed_binder binders + and (p_tmFormula : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> + fun e -> let conj = - let uu____9654 = - let uu____9655 = str "/\\" in - FStar_Pprint.op_Hat_Hat uu____9655 break1 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____9654 in + let uu____9655 = + let uu____9656 = str "/\\" in + FStar_Pprint.op_Hat_Hat uu____9656 break1 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____9655 in let disj = - let uu____9658 = - let uu____9659 = str "\\/" in - FStar_Pprint.op_Hat_Hat uu____9659 break1 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____9658 in - let formula = p_tmDisjunction e in + let uu____9659 = + let uu____9660 = str "\\/" in + FStar_Pprint.op_Hat_Hat uu____9660 break1 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____9659 in + let formula = p_tmDisjunction e in FStar_Pprint.flow_map disj - (fun d -> FStar_Pprint.flow_map conj (fun x -> FStar_Pprint.group x) d) + (fun d -> + FStar_Pprint.flow_map conj (fun x -> FStar_Pprint.group x) d) formula + and (p_tmDisjunction : FStar_Parser_AST.term -> FStar_Pprint.document Prims.list Prims.list) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with | FStar_Parser_AST.Op - ({ FStar_Ident.idText = "\\/"; FStar_Ident.idRange = uu____9679;_}, - e1::e2::[]) + ({ FStar_Ident.idText = "\\/"; FStar_Ident.idRange = uu____9680;_},e1::e2::[]) -> - let uu____9685 = p_tmDisjunction e1 in - let uu____9690 = let uu____9695 = p_tmConjunction e2 in [uu____9695] in - FStar_List.append uu____9685 uu____9690 - | uu____9704 -> let uu____9705 = p_tmConjunction e in [uu____9705] + let uu____9686 = p_tmDisjunction e1 in + let uu____9691 = let uu____9696 = p_tmConjunction e2 in [uu____9696] + in + FStar_List.append uu____9686 uu____9691 + | uu____9705 -> let uu____9706 = p_tmConjunction e in [uu____9706] + and (p_tmConjunction : FStar_Parser_AST.term -> FStar_Pprint.document Prims.list) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with | FStar_Parser_AST.Op - ({ FStar_Ident.idText = "/\\"; FStar_Ident.idRange = uu____9715;_}, - e1::e2::[]) + ({ FStar_Ident.idText = "/\\"; FStar_Ident.idRange = uu____9716;_},e1::e2::[]) -> - let uu____9721 = p_tmConjunction e1 in - let uu____9724 = let uu____9727 = p_tmTuple e2 in [uu____9727] in - FStar_List.append uu____9721 uu____9724 - | uu____9728 -> let uu____9729 = p_tmTuple e in [uu____9729] + let uu____9722 = p_tmConjunction e1 in + let uu____9725 = let uu____9728 = p_tmTuple e2 in [uu____9728] in + FStar_List.append uu____9722 uu____9725 + | uu____9729 -> let uu____9730 = p_tmTuple e in [uu____9730] + and (p_tmTuple : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> with_comment p_tmTuple' e e.FStar_Parser_AST.range + fun e -> with_comment p_tmTuple' e e.FStar_Parser_AST.range + and (p_tmTuple' : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Construct (lid, args) when + | FStar_Parser_AST.Construct (lid,args) when (is_tuple_constructor lid) && (all_explicit args) -> - let uu____9746 = FStar_Pprint.op_Hat_Hat FStar_Pprint.comma break1 in - FStar_Pprint.separate_map uu____9746 - (fun uu____9754 -> - match uu____9754 with | (e1, uu____9760) -> p_tmEq e1) args - | uu____9761 -> p_tmEq e + let uu____9747 = FStar_Pprint.op_Hat_Hat FStar_Pprint.comma break1 + in + FStar_Pprint.separate_map uu____9747 + (fun uu____9755 -> + match uu____9755 with | (e1,uu____9761) -> p_tmEq e1) args + | uu____9762 -> p_tmEq e + and (paren_if_gt : Prims.int -> Prims.int -> FStar_Pprint.document -> FStar_Pprint.document) = - fun curr -> - fun mine -> - fun doc1 -> + fun curr -> + fun mine -> + fun doc1 -> if mine <= curr then doc1 else - (let uu____9770 = - let uu____9771 = - FStar_Pprint.op_Hat_Hat doc1 FStar_Pprint.rparen in - FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen uu____9771 in - FStar_Pprint.group uu____9770) + (let uu____9771 = + let uu____9772 = + FStar_Pprint.op_Hat_Hat doc1 FStar_Pprint.rparen in + FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen uu____9772 in + FStar_Pprint.group uu____9771) + and (p_tmEqWith : (FStar_Parser_AST.term -> FStar_Pprint.document) -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun p_X -> - fun e -> + fun p_X -> + fun e -> let n1 = max_level - (FStar_List.append [colon_equals; pipe_right] operatorInfix0ad12) in + (FStar_List.append [colon_equals; pipe_right] operatorInfix0ad12) + in p_tmEqWith' p_X n1 e + and (p_tmEqWith' : (FStar_Parser_AST.term -> FStar_Pprint.document) -> Prims.int -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun p_X -> - fun curr -> - fun e -> + fun p_X -> + fun curr -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Op (op, e1::e2::[]) when + | FStar_Parser_AST.Op (op,e1::e2::[]) when ((is_operatorInfix0ad12 op) || - (let uu____9790 = FStar_Ident.text_of_id op in - uu____9790 = "=")) + (let uu____9791 = FStar_Ident.text_of_id op in + uu____9791 = "=")) || - (let uu____9795 = FStar_Ident.text_of_id op in - uu____9795 = "|>") + (let uu____9796 = FStar_Ident.text_of_id op in + uu____9796 = "|>") -> - let op1 = FStar_Ident.text_of_id op in - let uu____9801 = levels op1 in - (match uu____9801 with - | (left1, mine, right1) -> - let uu____9820 = - let uu____9821 = FStar_All.pipe_left str op1 in - let uu____9823 = p_tmEqWith' p_X left1 e1 in - let uu____9824 = p_tmEqWith' p_X right1 e2 in - infix0 uu____9821 uu____9823 uu____9824 in - paren_if_gt curr mine uu____9820) + let op1 = FStar_Ident.text_of_id op in + let uu____9802 = levels op1 in + (match uu____9802 with + | (left1,mine,right1) -> + let uu____9821 = + let uu____9822 = FStar_All.pipe_left str op1 in + let uu____9824 = p_tmEqWith' p_X left1 e1 in + let uu____9825 = p_tmEqWith' p_X right1 e2 in + infix0 uu____9822 uu____9824 uu____9825 in + paren_if_gt curr mine uu____9821) | FStar_Parser_AST.Op - ({ FStar_Ident.idText = ":="; FStar_Ident.idRange = uu____9825;_}, - e1::e2::[]) + ({ FStar_Ident.idText = ":="; FStar_Ident.idRange = uu____9826;_},e1::e2::[]) -> - let uu____9831 = - let uu____9832 = p_tmEqWith p_X e1 in - let uu____9833 = - let uu____9834 = - let uu____9835 = - let uu____9836 = p_tmEqWith p_X e2 in - op_Hat_Slash_Plus_Hat FStar_Pprint.equals uu____9836 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____9835 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____9834 in - FStar_Pprint.op_Hat_Hat uu____9832 uu____9833 in - FStar_Pprint.group uu____9831 + let uu____9832 = + let uu____9833 = p_tmEqWith p_X e1 in + let uu____9834 = + let uu____9835 = + let uu____9836 = + let uu____9837 = p_tmEqWith p_X e2 in + op_Hat_Slash_Plus_Hat FStar_Pprint.equals uu____9837 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.colon uu____9836 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____9835 in + FStar_Pprint.op_Hat_Hat uu____9833 uu____9834 in + FStar_Pprint.group uu____9832 | FStar_Parser_AST.Op - ({ FStar_Ident.idText = "-"; FStar_Ident.idRange = uu____9837;_}, - e1::[]) + ({ FStar_Ident.idText = "-"; FStar_Ident.idRange = uu____9838;_},e1::[]) -> - let uu____9842 = levels "-" in - (match uu____9842 with - | (left1, mine, right1) -> - let uu____9862 = p_tmEqWith' p_X mine e1 in - FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.minus uu____9862) - | uu____9863 -> p_tmNoEqWith p_X e + let uu____9843 = levels "-" in + (match uu____9843 with + | (left1,mine,right1) -> + let uu____9863 = p_tmEqWith' p_X mine e1 in + FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.minus uu____9863) + | uu____9864 -> p_tmNoEqWith p_X e + and (p_tmNoEqWith : (FStar_Parser_AST.term -> FStar_Pprint.document) -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun p_X -> - fun e -> - let n1 = max_level [colon_colon; amp; opinfix3; opinfix4] in + fun p_X -> + fun e -> + let n1 = max_level [colon_colon; amp; opinfix3; opinfix4] in p_tmNoEqWith' false p_X n1 e + and (p_tmNoEqWith' : Prims.bool -> (FStar_Parser_AST.term -> FStar_Pprint.document) -> Prims.int -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun inside_tuple -> - fun p_X -> - fun curr -> - fun e -> + fun inside_tuple -> + fun p_X -> + fun curr -> + fun e -> match e.FStar_Parser_AST.tm with | FStar_Parser_AST.Construct - (lid, (e1, uu____9911)::(e2, uu____9913)::[]) when + (lid,(e1,uu____9912)::(e2,uu____9914)::[]) when (FStar_Ident.lid_equals lid FStar_Parser_Const.cons_lid) && - (let uu____9933 = is_list e in Prims.op_Negation uu____9933) + (let uu____9934 = is_list e in Prims.op_Negation uu____9934) -> - let op = "::" in - let uu____9938 = levels op in - (match uu____9938 with - | (left1, mine, right1) -> - let uu____9957 = - let uu____9958 = str op in - let uu____9959 = p_tmNoEqWith' false p_X left1 e1 in - let uu____9961 = p_tmNoEqWith' false p_X right1 e2 in - infix0 uu____9958 uu____9959 uu____9961 in - paren_if_gt curr mine uu____9957) - | FStar_Parser_AST.Sum (binders, res) -> - let op = "&" in - let uu____9980 = levels op in - (match uu____9980 with - | (left1, mine, right1) -> + let op = "::" in + let uu____9939 = levels op in + (match uu____9939 with + | (left1,mine,right1) -> + let uu____9958 = + let uu____9959 = str op in + let uu____9960 = p_tmNoEqWith' false p_X left1 e1 in + let uu____9962 = p_tmNoEqWith' false p_X right1 e2 in + infix0 uu____9959 uu____9960 uu____9962 in + paren_if_gt curr mine uu____9958) + | FStar_Parser_AST.Sum (binders,res) -> + let op = "&" in + let uu____9981 = levels op in + (match uu____9981 with + | (left1,mine,right1) -> let p_dsumfst bt = match bt with | FStar_Util.Inl b -> - let uu____10014 = p_binder false b in - let uu____10016 = - let uu____10017 = - let uu____10018 = str op in - FStar_Pprint.op_Hat_Hat uu____10018 break1 in + let uu____10015 = p_binder false b in + let uu____10017 = + let uu____10018 = + let uu____10019 = str op in + FStar_Pprint.op_Hat_Hat uu____10019 break1 in FStar_Pprint.op_Hat_Hat FStar_Pprint.space - uu____10017 in - FStar_Pprint.op_Hat_Hat uu____10014 uu____10016 + uu____10018 + in + FStar_Pprint.op_Hat_Hat uu____10015 uu____10017 | FStar_Util.Inr t -> - let uu____10020 = p_tmNoEqWith' false p_X left1 t in - let uu____10022 = - let uu____10023 = - let uu____10024 = str op in - FStar_Pprint.op_Hat_Hat uu____10024 break1 in + let uu____10021 = p_tmNoEqWith' false p_X left1 t + in + let uu____10023 = + let uu____10024 = + let uu____10025 = str op in + FStar_Pprint.op_Hat_Hat uu____10025 break1 in FStar_Pprint.op_Hat_Hat FStar_Pprint.space - uu____10023 in - FStar_Pprint.op_Hat_Hat uu____10020 uu____10022 in - let uu____10025 = - let uu____10026 = - FStar_Pprint.concat_map p_dsumfst binders in - let uu____10031 = p_tmNoEqWith' false p_X right1 res in - FStar_Pprint.op_Hat_Hat uu____10026 uu____10031 in - paren_if_gt curr mine uu____10025) + uu____10024 + in + FStar_Pprint.op_Hat_Hat uu____10021 uu____10023 + in + let uu____10026 = + let uu____10027 = + FStar_Pprint.concat_map p_dsumfst binders in + let uu____10032 = p_tmNoEqWith' false p_X right1 res in + FStar_Pprint.op_Hat_Hat uu____10027 uu____10032 in + paren_if_gt curr mine uu____10026) | FStar_Parser_AST.Op ({ FStar_Ident.idText = "*"; - FStar_Ident.idRange = uu____10033;_}, - e1::e2::[]) + FStar_Ident.idRange = uu____10034;_},e1::e2::[]) when FStar_ST.op_Bang unfold_tuples -> - let op = "*" in - let uu____10063 = levels op in - (match uu____10063 with - | (left1, mine, right1) -> + let op = "*" in + let uu____10064 = levels op in + (match uu____10064 with + | (left1,mine,right1) -> if inside_tuple then - let uu____10083 = str op in - let uu____10084 = p_tmNoEqWith' true p_X left1 e1 in - let uu____10086 = p_tmNoEqWith' true p_X right1 e2 in - infix0 uu____10083 uu____10084 uu____10086 + let uu____10084 = str op in + let uu____10085 = p_tmNoEqWith' true p_X left1 e1 in + let uu____10087 = p_tmNoEqWith' true p_X right1 e2 in + infix0 uu____10084 uu____10085 uu____10087 else - (let uu____10090 = - let uu____10091 = str op in - let uu____10092 = p_tmNoEqWith' true p_X left1 e1 in - let uu____10094 = p_tmNoEqWith' true p_X right1 e2 in - infix0 uu____10091 uu____10092 uu____10094 in - paren_if_gt curr mine uu____10090)) - | FStar_Parser_AST.Op (op, e1::e2::[]) when is_operatorInfix34 op - -> - let op1 = FStar_Ident.text_of_id op in - let uu____10103 = levels op1 in - (match uu____10103 with - | (left1, mine, right1) -> - let uu____10122 = - let uu____10123 = str op1 in - let uu____10124 = p_tmNoEqWith' false p_X left1 e1 in - let uu____10126 = p_tmNoEqWith' false p_X right1 e2 in - infix0 uu____10123 uu____10124 uu____10126 in - paren_if_gt curr mine uu____10122) - | FStar_Parser_AST.Record (with_opt, record_fields) -> - let uu____10146 = - let uu____10147 = - default_or_map FStar_Pprint.empty p_with_clause with_opt in + (let uu____10091 = + let uu____10092 = str op in + let uu____10093 = p_tmNoEqWith' true p_X left1 e1 in + let uu____10095 = p_tmNoEqWith' true p_X right1 e2 + in + infix0 uu____10092 uu____10093 uu____10095 in + paren_if_gt curr mine uu____10091)) + | FStar_Parser_AST.Op (op,e1::e2::[]) when is_operatorInfix34 op -> + let op1 = FStar_Ident.text_of_id op in + let uu____10104 = levels op1 in + (match uu____10104 with + | (left1,mine,right1) -> + let uu____10123 = + let uu____10124 = str op1 in + let uu____10125 = p_tmNoEqWith' false p_X left1 e1 in + let uu____10127 = p_tmNoEqWith' false p_X right1 e2 in + infix0 uu____10124 uu____10125 uu____10127 in + paren_if_gt curr mine uu____10123) + | FStar_Parser_AST.Record (with_opt,record_fields) -> + let uu____10147 = let uu____10148 = - let uu____10149 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.semi break1 in - separate_map_last uu____10149 p_simpleDef record_fields in - FStar_Pprint.op_Hat_Hat uu____10147 uu____10148 in - braces_with_nesting uu____10146 + default_or_map FStar_Pprint.empty p_with_clause with_opt + in + let uu____10149 = + let uu____10150 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.semi break1 in + separate_map_last uu____10150 p_simpleDef record_fields in + FStar_Pprint.op_Hat_Hat uu____10148 uu____10149 in + braces_with_nesting uu____10147 | FStar_Parser_AST.Op ({ FStar_Ident.idText = "~"; - FStar_Ident.idRange = uu____10154;_}, - e1::[]) + FStar_Ident.idRange = uu____10155;_},e1::[]) -> - let uu____10159 = - let uu____10160 = str "~" in - let uu____10162 = p_atomicTerm e1 in - FStar_Pprint.op_Hat_Hat uu____10160 uu____10162 in - FStar_Pprint.group uu____10159 + let uu____10160 = + let uu____10161 = str "~" in + let uu____10163 = p_atomicTerm e1 in + FStar_Pprint.op_Hat_Hat uu____10161 uu____10163 in + FStar_Pprint.group uu____10160 | FStar_Parser_AST.Paren p when inside_tuple -> (match p.FStar_Parser_AST.tm with | FStar_Parser_AST.Op ({ FStar_Ident.idText = "*"; - FStar_Ident.idRange = uu____10164;_}, - e1::e2::[]) + FStar_Ident.idRange = uu____10165;_},e1::e2::[]) -> - let op = "*" in - let uu____10173 = levels op in - (match uu____10173 with - | (left1, mine, right1) -> - let uu____10192 = - let uu____10193 = str op in - let uu____10194 = p_tmNoEqWith' true p_X left1 e1 in - let uu____10196 = p_tmNoEqWith' true p_X right1 e2 in - infix0 uu____10193 uu____10194 uu____10196 in - paren_if_gt curr mine uu____10192) - | uu____10198 -> p_X e) - | uu____10199 -> p_X e + let op = "*" in + let uu____10174 = levels op in + (match uu____10174 with + | (left1,mine,right1) -> + let uu____10193 = + let uu____10194 = str op in + let uu____10195 = p_tmNoEqWith' true p_X left1 e1 + in + let uu____10197 = p_tmNoEqWith' true p_X right1 e2 + in + infix0 uu____10194 uu____10195 uu____10197 in + paren_if_gt curr mine uu____10193) + | uu____10199 -> p_X e) + | uu____10200 -> p_X e + and (p_tmEqNoRefinement : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> p_tmEqWith p_appTerm e + fun e -> p_tmEqWith p_appTerm e + and (p_tmEq : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> p_tmEqWith p_tmRefinement e + fun e -> p_tmEqWith p_tmRefinement e + and (p_tmNoEq : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> p_tmNoEqWith p_tmRefinement e + fun e -> p_tmNoEqWith p_tmRefinement e + and (p_tmRefinement : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.NamedTyp (lid, e1) -> - let uu____10206 = - let uu____10207 = p_lident lid in - let uu____10208 = - let uu____10209 = p_appTerm e1 in - FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.colon uu____10209 in - FStar_Pprint.op_Hat_Slash_Hat uu____10207 uu____10208 in - FStar_Pprint.group uu____10206 - | FStar_Parser_AST.Refine (b, phi) -> p_refinedBinder b phi - | uu____10212 -> p_appTerm e + | FStar_Parser_AST.NamedTyp (lid,e1) -> + let uu____10207 = + let uu____10208 = p_lident lid in + let uu____10209 = + let uu____10210 = p_appTerm e1 in + FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.colon uu____10210 in + FStar_Pprint.op_Hat_Slash_Hat uu____10208 uu____10209 in + FStar_Pprint.group uu____10207 + | FStar_Parser_AST.Refine (b,phi) -> p_refinedBinder b phi + | uu____10213 -> p_appTerm e + and (p_with_clause : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> - let uu____10214 = p_appTerm e in - let uu____10215 = - let uu____10216 = - let uu____10217 = str "with" in - FStar_Pprint.op_Hat_Hat uu____10217 break1 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____10216 in - FStar_Pprint.op_Hat_Hat uu____10214 uu____10215 + fun e -> + let uu____10215 = p_appTerm e in + let uu____10216 = + let uu____10217 = + let uu____10218 = str "with" in + FStar_Pprint.op_Hat_Hat uu____10218 break1 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____10217 in + FStar_Pprint.op_Hat_Hat uu____10215 uu____10216 + and (p_refinedBinder : FStar_Parser_AST.binder -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun b -> - fun phi -> + fun b -> + fun phi -> match b.FStar_Parser_AST.b with - | FStar_Parser_AST.Annotated (lid, t) -> - let uu____10223 = p_lident lid in - p_refinement b.FStar_Parser_AST.aqual uu____10223 t phi - | FStar_Parser_AST.TAnnotated uu____10224 -> + | FStar_Parser_AST.Annotated (lid,t) -> + let uu____10224 = p_lident lid in + p_refinement b.FStar_Parser_AST.aqual uu____10224 t phi + | FStar_Parser_AST.TAnnotated uu____10225 -> failwith "Is this still used ?" - | FStar_Parser_AST.Variable uu____10230 -> - let uu____10231 = - let uu____10233 = FStar_Parser_AST.binder_to_string b in + | FStar_Parser_AST.Variable uu____10231 -> + let uu____10232 = + let uu____10234 = FStar_Parser_AST.binder_to_string b in FStar_Util.format1 "Imposible : a refined binder ought to be annotated %s" - uu____10233 in - failwith uu____10231 - | FStar_Parser_AST.TVariable uu____10236 -> - let uu____10237 = - let uu____10239 = FStar_Parser_AST.binder_to_string b in + uu____10234 + in + failwith uu____10232 + | FStar_Parser_AST.TVariable uu____10237 -> + let uu____10238 = + let uu____10240 = FStar_Parser_AST.binder_to_string b in FStar_Util.format1 "Imposible : a refined binder ought to be annotated %s" - uu____10239 in - failwith uu____10237 - | FStar_Parser_AST.NoName uu____10242 -> - let uu____10243 = - let uu____10245 = FStar_Parser_AST.binder_to_string b in + uu____10240 + in + failwith uu____10238 + | FStar_Parser_AST.NoName uu____10243 -> + let uu____10244 = + let uu____10246 = FStar_Parser_AST.binder_to_string b in FStar_Util.format1 "Imposible : a refined binder ought to be annotated %s" - uu____10245 in - failwith uu____10243 + uu____10246 + in + failwith uu____10244 + and (p_simpleDef : Prims.bool -> (FStar_Ident.lid * FStar_Parser_AST.term) -> FStar_Pprint.document) = - fun ps -> - fun uu____10249 -> - match uu____10249 with - | (lid, e) -> - let uu____10257 = - let uu____10258 = p_qlident lid in - let uu____10259 = - let uu____10260 = p_noSeqTermAndComment ps false e in - FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.equals uu____10260 in - FStar_Pprint.op_Hat_Slash_Hat uu____10258 uu____10259 in - FStar_Pprint.group uu____10257 + fun ps -> + fun uu____10250 -> + match uu____10250 with + | (lid,e) -> + let uu____10258 = + let uu____10259 = p_qlident lid in + let uu____10260 = + let uu____10261 = p_noSeqTermAndComment ps false e in + FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.equals uu____10261 + in + FStar_Pprint.op_Hat_Slash_Hat uu____10259 uu____10260 in + FStar_Pprint.group uu____10258 + and (p_appTerm : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.App uu____10263 when is_general_application e -> - let uu____10270 = head_and_args e in - (match uu____10270 with - | (head1, args) -> + | FStar_Parser_AST.App uu____10264 when is_general_application e -> + let uu____10271 = head_and_args e in + (match uu____10271 with + | (head1,args) -> (match args with | e1::e2::[] when (FStar_Pervasives_Native.snd e1) = FStar_Parser_AST.Infix -> - let uu____10317 = p_argTerm e1 in - let uu____10318 = - let uu____10319 = - let uu____10320 = - let uu____10321 = str "`" in - let uu____10323 = - let uu____10324 = p_indexingTerm head1 in - let uu____10325 = str "`" in - FStar_Pprint.op_Hat_Hat uu____10324 uu____10325 in - FStar_Pprint.op_Hat_Hat uu____10321 uu____10323 in - FStar_Pprint.group uu____10320 in - let uu____10327 = p_argTerm e2 in - FStar_Pprint.op_Hat_Slash_Hat uu____10319 uu____10327 in - FStar_Pprint.op_Hat_Slash_Hat uu____10317 uu____10318 - | uu____10328 -> - let uu____10335 = - let uu____10346 = - FStar_ST.op_Bang should_print_fs_typ_app in - if uu____10346 + let uu____10318 = p_argTerm e1 in + let uu____10319 = + let uu____10320 = + let uu____10321 = + let uu____10322 = str "`" in + let uu____10324 = + let uu____10325 = p_indexingTerm head1 in + let uu____10326 = str "`" in + FStar_Pprint.op_Hat_Hat uu____10325 uu____10326 in + FStar_Pprint.op_Hat_Hat uu____10322 uu____10324 in + FStar_Pprint.group uu____10321 in + let uu____10328 = p_argTerm e2 in + FStar_Pprint.op_Hat_Slash_Hat uu____10320 uu____10328 in + FStar_Pprint.op_Hat_Slash_Hat uu____10318 uu____10319 + | uu____10329 -> + let uu____10336 = + let uu____10347 = + FStar_ST.op_Bang should_print_fs_typ_app in + if uu____10347 then - let uu____10380 = + let uu____10381 = FStar_Util.take - (fun uu____10404 -> - match uu____10404 with - | (uu____10410, aq) -> - aq = FStar_Parser_AST.FsTypApp) args in - match uu____10380 with - | (fs_typ_args, args1) -> - let uu____10448 = - let uu____10449 = p_indexingTerm head1 in - let uu____10450 = - let uu____10451 = + (fun uu____10405 -> + match uu____10405 with + | (uu____10411,aq) -> + aq = FStar_Parser_AST.FsTypApp) args + in + match uu____10381 with + | (fs_typ_args,args1) -> + let uu____10449 = + let uu____10450 = p_indexingTerm head1 in + let uu____10451 = + let uu____10452 = FStar_Pprint.op_Hat_Hat FStar_Pprint.comma - break1 in + break1 + in soft_surround_map_or_flow (Prims.parse_int "2") (Prims.parse_int "0") FStar_Pprint.empty - FStar_Pprint.langle uu____10451 - FStar_Pprint.rangle p_fsTypArg fs_typ_args in - FStar_Pprint.op_Hat_Hat uu____10449 uu____10450 in - (uu____10448, args1) + FStar_Pprint.langle uu____10452 + FStar_Pprint.rangle p_fsTypArg fs_typ_args + in + FStar_Pprint.op_Hat_Hat uu____10450 uu____10451 + in + (uu____10449, args1) else - (let uu____10466 = p_indexingTerm head1 in - (uu____10466, args)) in - (match uu____10335 with - | (head_doc, args1) -> - let uu____10487 = - let uu____10488 = + (let uu____10467 = p_indexingTerm head1 in + (uu____10467, args)) + in + (match uu____10336 with + | (head_doc,args1) -> + let uu____10488 = + let uu____10489 = FStar_Pprint.op_Hat_Hat head_doc - FStar_Pprint.space in + FStar_Pprint.space + in soft_surround_map_or_flow (Prims.parse_int "2") - (Prims.parse_int "0") head_doc uu____10488 break1 - FStar_Pprint.empty p_argTerm args1 in - FStar_Pprint.group uu____10487))) - | FStar_Parser_AST.Construct (lid, args) when + (Prims.parse_int "0") head_doc uu____10489 break1 + FStar_Pprint.empty p_argTerm args1 + in + FStar_Pprint.group uu____10488))) + | FStar_Parser_AST.Construct (lid,args) when (is_general_construction e) && - (let uu____10510 = is_dtuple_constructor lid in - Prims.op_Negation uu____10510) + (let uu____10511 = is_dtuple_constructor lid in + Prims.op_Negation uu____10511) -> (match args with | [] -> p_quident lid | arg::[] -> - let uu____10529 = - let uu____10530 = p_quident lid in - let uu____10531 = p_argTerm arg in - FStar_Pprint.op_Hat_Slash_Hat uu____10530 uu____10531 in - FStar_Pprint.group uu____10529 + let uu____10530 = + let uu____10531 = p_quident lid in + let uu____10532 = p_argTerm arg in + FStar_Pprint.op_Hat_Slash_Hat uu____10531 uu____10532 in + FStar_Pprint.group uu____10530 | hd1::tl1 -> - let uu____10548 = - let uu____10549 = - let uu____10550 = - let uu____10551 = p_quident lid in - let uu____10552 = p_argTerm hd1 in - prefix2 uu____10551 uu____10552 in - FStar_Pprint.group uu____10550 in - let uu____10553 = - let uu____10554 = - FStar_Pprint.separate_map break1 p_argTerm tl1 in - jump2 uu____10554 in - FStar_Pprint.op_Hat_Hat uu____10549 uu____10553 in - FStar_Pprint.group uu____10548) - | uu____10559 -> p_indexingTerm e + let uu____10549 = + let uu____10550 = + let uu____10551 = + let uu____10552 = p_quident lid in + let uu____10553 = p_argTerm hd1 in + prefix2 uu____10552 uu____10553 in + FStar_Pprint.group uu____10551 in + let uu____10554 = + let uu____10555 = + FStar_Pprint.separate_map break1 p_argTerm tl1 in + jump2 uu____10555 in + FStar_Pprint.op_Hat_Hat uu____10550 uu____10554 in + FStar_Pprint.group uu____10549) + | uu____10560 -> p_indexingTerm e + and (p_argTerm : (FStar_Parser_AST.term * FStar_Parser_AST.imp) -> FStar_Pprint.document) = - fun arg_imp -> + fun arg_imp -> match arg_imp with - | (u, FStar_Parser_AST.UnivApp) -> p_universe u - | (e, FStar_Parser_AST.FsTypApp) -> + | (u,FStar_Parser_AST.UnivApp ) -> p_universe u + | (e,FStar_Parser_AST.FsTypApp ) -> (FStar_Errors.log_issue e.FStar_Parser_AST.range (FStar_Errors.Warning_UnexpectedFsTypApp, "Unexpected FsTypApp, output might not be formatted correctly."); - (let uu____10570 = p_indexingTerm e in + (let uu____10571 = p_indexingTerm e in FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "1") - FStar_Pprint.langle uu____10570 FStar_Pprint.rangle)) - | (e, FStar_Parser_AST.Hash) -> - let uu____10574 = str "#" in - let uu____10576 = p_indexingTerm e in - FStar_Pprint.op_Hat_Hat uu____10574 uu____10576 - | (e, FStar_Parser_AST.HashBrace t) -> - let uu____10579 = str "#[" in - let uu____10581 = - let uu____10582 = p_indexingTerm t in - let uu____10583 = - let uu____10584 = str "]" in - let uu____10586 = p_indexingTerm e in - FStar_Pprint.op_Hat_Hat uu____10584 uu____10586 in - FStar_Pprint.op_Hat_Hat uu____10582 uu____10583 in - FStar_Pprint.op_Hat_Hat uu____10579 uu____10581 - | (e, FStar_Parser_AST.Infix) -> p_indexingTerm e - | (e, FStar_Parser_AST.Nothing) -> p_indexingTerm e + FStar_Pprint.langle uu____10571 FStar_Pprint.rangle)) + | (e,FStar_Parser_AST.Hash ) -> + let uu____10575 = str "#" in + let uu____10577 = p_indexingTerm e in + FStar_Pprint.op_Hat_Hat uu____10575 uu____10577 + | (e,FStar_Parser_AST.HashBrace t) -> + let uu____10580 = str "#[" in + let uu____10582 = + let uu____10583 = p_indexingTerm t in + let uu____10584 = + let uu____10585 = str "]" in + let uu____10587 = p_indexingTerm e in + FStar_Pprint.op_Hat_Hat uu____10585 uu____10587 in + FStar_Pprint.op_Hat_Hat uu____10583 uu____10584 in + FStar_Pprint.op_Hat_Hat uu____10580 uu____10582 + | (e,FStar_Parser_AST.Infix ) -> p_indexingTerm e + | (e,FStar_Parser_AST.Nothing ) -> p_indexingTerm e + and (p_fsTypArg : (FStar_Parser_AST.term * FStar_Parser_AST.imp) -> FStar_Pprint.document) = - fun uu____10589 -> - match uu____10589 with | (e, uu____10595) -> p_indexingTerm e + fun uu____10590 -> + match uu____10590 with | (e,uu____10596) -> p_indexingTerm e + and (p_indexingTerm_aux : (FStar_Parser_AST.term -> FStar_Pprint.document) -> FStar_Parser_AST.term -> FStar_Pprint.document) = - fun exit1 -> - fun e -> + fun exit1 -> + fun e -> match e.FStar_Parser_AST.tm with | FStar_Parser_AST.Op - ({ FStar_Ident.idText = ".()"; FStar_Ident.idRange = uu____10600;_}, - e1::e2::[]) + ({ FStar_Ident.idText = ".()"; FStar_Ident.idRange = uu____10601;_},e1::e2::[]) -> - let uu____10606 = - let uu____10607 = p_indexingTerm_aux p_atomicTermNotQUident e1 in - let uu____10608 = - let uu____10609 = - let uu____10610 = p_term false false e2 in - soft_parens_with_nesting uu____10610 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____10609 in - FStar_Pprint.op_Hat_Hat uu____10607 uu____10608 in - FStar_Pprint.group uu____10606 + let uu____10607 = + let uu____10608 = p_indexingTerm_aux p_atomicTermNotQUident e1 + in + let uu____10609 = + let uu____10610 = + let uu____10611 = p_term false false e2 in + soft_parens_with_nesting uu____10611 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____10610 in + FStar_Pprint.op_Hat_Hat uu____10608 uu____10609 in + FStar_Pprint.group uu____10607 | FStar_Parser_AST.Op - ({ FStar_Ident.idText = ".[]"; FStar_Ident.idRange = uu____10613;_}, - e1::e2::[]) + ({ FStar_Ident.idText = ".[]"; FStar_Ident.idRange = uu____10614;_},e1::e2::[]) -> - let uu____10619 = - let uu____10620 = p_indexingTerm_aux p_atomicTermNotQUident e1 in - let uu____10621 = - let uu____10622 = - let uu____10623 = p_term false false e2 in - soft_brackets_with_nesting uu____10623 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____10622 in - FStar_Pprint.op_Hat_Hat uu____10620 uu____10621 in - FStar_Pprint.group uu____10619 - | uu____10626 -> exit1 e + let uu____10620 = + let uu____10621 = p_indexingTerm_aux p_atomicTermNotQUident e1 + in + let uu____10622 = + let uu____10623 = + let uu____10624 = p_term false false e2 in + soft_brackets_with_nesting uu____10624 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____10623 in + FStar_Pprint.op_Hat_Hat uu____10621 uu____10622 in + FStar_Pprint.group uu____10620 + | uu____10627 -> exit1 e + and (p_indexingTerm : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> p_indexingTerm_aux p_atomicTerm e + fun e -> p_indexingTerm_aux p_atomicTerm e + and (p_atomicTerm : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.LetOpen (lid, e1) -> - let uu____10631 = p_quident lid in - let uu____10632 = - let uu____10633 = - let uu____10634 = p_term false false e1 in - soft_parens_with_nesting uu____10634 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____10633 in - FStar_Pprint.op_Hat_Hat uu____10631 uu____10632 + | FStar_Parser_AST.LetOpen (lid,e1) -> + let uu____10632 = p_quident lid in + let uu____10633 = + let uu____10634 = + let uu____10635 = p_term false false e1 in + soft_parens_with_nesting uu____10635 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____10634 in + FStar_Pprint.op_Hat_Hat uu____10632 uu____10633 | FStar_Parser_AST.Name lid -> p_quident lid - | FStar_Parser_AST.Op (op, e1::[]) when is_general_prefix_op op -> - let uu____10642 = - let uu____10643 = FStar_Ident.text_of_id op in str uu____10643 in - let uu____10645 = p_atomicTerm e1 in - FStar_Pprint.op_Hat_Hat uu____10642 uu____10645 - | uu____10646 -> p_atomicTermNotQUident e + | FStar_Parser_AST.Op (op,e1::[]) when is_general_prefix_op op -> + let uu____10643 = + let uu____10644 = FStar_Ident.text_of_id op in str uu____10644 in + let uu____10646 = p_atomicTerm e1 in + FStar_Pprint.op_Hat_Hat uu____10643 uu____10646 + | uu____10647 -> p_atomicTermNotQUident e + and (p_atomicTermNotQUident : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Wild -> FStar_Pprint.underscore + | FStar_Parser_AST.Wild -> FStar_Pprint.underscore | FStar_Parser_AST.Var lid when FStar_Ident.lid_equals lid FStar_Parser_Const.assert_lid -> str "assert" @@ -3936,422 +4325,448 @@ and (p_atomicTermNotQUident : FStar_Parser_AST.term -> FStar_Pprint.document) | FStar_Parser_AST.Const c -> (match c with | FStar_Const.Const_char x when x = 10 -> str "0x0Az" - | uu____10659 -> p_constant c) + | uu____10660 -> p_constant c) | FStar_Parser_AST.Name lid when FStar_Ident.lid_equals lid FStar_Parser_Const.true_lid -> str "True" | FStar_Parser_AST.Name lid when FStar_Ident.lid_equals lid FStar_Parser_Const.false_lid -> str "False" - | FStar_Parser_AST.Op (op, e1::[]) when is_general_prefix_op op -> - let uu____10668 = - let uu____10669 = FStar_Ident.text_of_id op in str uu____10669 in - let uu____10671 = p_atomicTermNotQUident e1 in - FStar_Pprint.op_Hat_Hat uu____10668 uu____10671 - | FStar_Parser_AST.Op (op, []) -> - let uu____10675 = - let uu____10676 = - let uu____10677 = - let uu____10678 = FStar_Ident.text_of_id op in str uu____10678 in - let uu____10680 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.space FStar_Pprint.rparen in - FStar_Pprint.op_Hat_Hat uu____10677 uu____10680 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____10676 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen uu____10675 - | FStar_Parser_AST.Construct (lid, args) when is_dtuple_constructor lid - -> - let uu____10695 = all_explicit args in - if uu____10695 + | FStar_Parser_AST.Op (op,e1::[]) when is_general_prefix_op op -> + let uu____10669 = + let uu____10670 = FStar_Ident.text_of_id op in str uu____10670 in + let uu____10672 = p_atomicTermNotQUident e1 in + FStar_Pprint.op_Hat_Hat uu____10669 uu____10672 + | FStar_Parser_AST.Op (op,[]) -> + let uu____10676 = + let uu____10677 = + let uu____10678 = + let uu____10679 = FStar_Ident.text_of_id op in str uu____10679 + in + let uu____10681 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.space FStar_Pprint.rparen + in + FStar_Pprint.op_Hat_Hat uu____10678 uu____10681 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.space uu____10677 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen uu____10676 + | FStar_Parser_AST.Construct (lid,args) when is_dtuple_constructor lid -> + let uu____10696 = all_explicit args in + if uu____10696 then - let uu____10698 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen FStar_Pprint.bar in let uu____10699 = - let uu____10700 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.comma break1 in - let uu____10701 = FStar_List.map FStar_Pervasives_Native.fst args in - FStar_Pprint.separate_map uu____10700 p_tmEq uu____10701 in - let uu____10708 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.bar FStar_Pprint.rparen in + FStar_Pprint.op_Hat_Hat FStar_Pprint.lparen FStar_Pprint.bar in + let uu____10700 = + let uu____10701 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.comma break1 in + let uu____10702 = FStar_List.map FStar_Pervasives_Native.fst args + in + FStar_Pprint.separate_map uu____10701 p_tmEq uu____10702 in + let uu____10709 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.bar FStar_Pprint.rparen in FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "1") - uu____10698 uu____10699 uu____10708 + uu____10699 uu____10700 uu____10709 else (match args with | [] -> p_quident lid | arg::[] -> - let uu____10730 = - let uu____10731 = p_quident lid in - let uu____10732 = p_argTerm arg in - FStar_Pprint.op_Hat_Slash_Hat uu____10731 uu____10732 in - FStar_Pprint.group uu____10730 + let uu____10731 = + let uu____10732 = p_quident lid in + let uu____10733 = p_argTerm arg in + FStar_Pprint.op_Hat_Slash_Hat uu____10732 uu____10733 in + FStar_Pprint.group uu____10731 | hd1::tl1 -> - let uu____10749 = - let uu____10750 = - let uu____10751 = - let uu____10752 = p_quident lid in - let uu____10753 = p_argTerm hd1 in - prefix2 uu____10752 uu____10753 in - FStar_Pprint.group uu____10751 in - let uu____10754 = - let uu____10755 = - FStar_Pprint.separate_map break1 p_argTerm tl1 in - jump2 uu____10755 in - FStar_Pprint.op_Hat_Hat uu____10750 uu____10754 in - FStar_Pprint.group uu____10749) - | FStar_Parser_AST.Project (e1, lid) -> - let uu____10762 = - let uu____10763 = p_atomicTermNotQUident e1 in - let uu____10764 = - let uu____10765 = p_qlident lid in - FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____10765 in + let uu____10750 = + let uu____10751 = + let uu____10752 = + let uu____10753 = p_quident lid in + let uu____10754 = p_argTerm hd1 in + prefix2 uu____10753 uu____10754 in + FStar_Pprint.group uu____10752 in + let uu____10755 = + let uu____10756 = + FStar_Pprint.separate_map break1 p_argTerm tl1 in + jump2 uu____10756 in + FStar_Pprint.op_Hat_Hat uu____10751 uu____10755 in + FStar_Pprint.group uu____10750) + | FStar_Parser_AST.Project (e1,lid) -> + let uu____10763 = + let uu____10764 = p_atomicTermNotQUident e1 in + let uu____10765 = + let uu____10766 = p_qlident lid in + FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____10766 in FStar_Pprint.prefix (Prims.parse_int "2") (Prims.parse_int "0") - uu____10763 uu____10764 in - FStar_Pprint.group uu____10762 - | uu____10768 -> p_projectionLHS e + uu____10764 uu____10765 + in + FStar_Pprint.group uu____10763 + | uu____10769 -> p_projectionLHS e + and (p_projectionLHS : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> + fun e -> match e.FStar_Parser_AST.tm with | FStar_Parser_AST.Var lid -> p_qlident lid - | FStar_Parser_AST.Projector (constr_lid, field_lid) -> - let uu____10773 = p_quident constr_lid in - let uu____10774 = - let uu____10775 = - let uu____10776 = p_lident field_lid in - FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____10776 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.qmark uu____10775 in - FStar_Pprint.op_Hat_Hat uu____10773 uu____10774 + | FStar_Parser_AST.Projector (constr_lid,field_lid) -> + let uu____10774 = p_quident constr_lid in + let uu____10775 = + let uu____10776 = + let uu____10777 = p_lident field_lid in + FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____10777 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.qmark uu____10776 in + FStar_Pprint.op_Hat_Hat uu____10774 uu____10775 | FStar_Parser_AST.Discrim constr_lid -> - let uu____10778 = p_quident constr_lid in - FStar_Pprint.op_Hat_Hat uu____10778 FStar_Pprint.qmark + let uu____10779 = p_quident constr_lid in + FStar_Pprint.op_Hat_Hat uu____10779 FStar_Pprint.qmark | FStar_Parser_AST.Paren e1 -> - let uu____10780 = p_term_sep false false e1 in - (match uu____10780 with - | (comm, t) -> - let doc1 = soft_parens_with_nesting t in + let uu____10781 = p_term_sep false false e1 in + (match uu____10781 with + | (comm,t) -> + let doc1 = soft_parens_with_nesting t in if comm = FStar_Pprint.empty then doc1 else - (let uu____10793 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline doc1 in - FStar_Pprint.op_Hat_Hat comm uu____10793)) - | uu____10794 when is_array e -> - let es = extract_from_list e in - let uu____10798 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.lbracket FStar_Pprint.bar in + (let uu____10794 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.hardline doc1 in + FStar_Pprint.op_Hat_Hat comm uu____10794)) + | uu____10795 when is_array e -> + let es = extract_from_list e in let uu____10799 = - let uu____10800 = FStar_Pprint.op_Hat_Hat FStar_Pprint.semi break1 in - separate_map_or_flow_last uu____10800 - (fun ps -> p_noSeqTermAndComment ps false) es in - let uu____10805 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.bar FStar_Pprint.rbracket in + FStar_Pprint.op_Hat_Hat FStar_Pprint.lbracket FStar_Pprint.bar in + let uu____10800 = + let uu____10801 = FStar_Pprint.op_Hat_Hat FStar_Pprint.semi break1 + in + separate_map_or_flow_last uu____10801 + (fun ps -> p_noSeqTermAndComment ps false) es + in + let uu____10806 = + FStar_Pprint.op_Hat_Hat FStar_Pprint.bar FStar_Pprint.rbracket in FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "0") - uu____10798 uu____10799 uu____10805 - | uu____10808 when is_list e -> - let uu____10809 = - let uu____10810 = FStar_Pprint.op_Hat_Hat FStar_Pprint.semi break1 in - let uu____10811 = extract_from_list e in - separate_map_or_flow_last uu____10810 - (fun ps -> p_noSeqTermAndComment ps false) uu____10811 in + uu____10799 uu____10800 uu____10806 + | uu____10809 when is_list e -> + let uu____10810 = + let uu____10811 = FStar_Pprint.op_Hat_Hat FStar_Pprint.semi break1 + in + let uu____10812 = extract_from_list e in + separate_map_or_flow_last uu____10811 + (fun ps -> p_noSeqTermAndComment ps false) uu____10812 + in FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "0") - FStar_Pprint.lbracket uu____10809 FStar_Pprint.rbracket - | uu____10820 when is_lex_list e -> - let uu____10821 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.percent FStar_Pprint.lbracket in + FStar_Pprint.lbracket uu____10810 FStar_Pprint.rbracket + | uu____10821 when is_lex_list e -> let uu____10822 = - let uu____10823 = FStar_Pprint.op_Hat_Hat FStar_Pprint.semi break1 in - let uu____10824 = extract_from_list e in - separate_map_or_flow_last uu____10823 - (fun ps -> p_noSeqTermAndComment ps false) uu____10824 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.percent FStar_Pprint.lbracket + in + let uu____10823 = + let uu____10824 = FStar_Pprint.op_Hat_Hat FStar_Pprint.semi break1 + in + let uu____10825 = extract_from_list e in + separate_map_or_flow_last uu____10824 + (fun ps -> p_noSeqTermAndComment ps false) uu____10825 + in FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "1") - uu____10821 uu____10822 FStar_Pprint.rbracket - | uu____10833 when is_ref_set e -> - let es = extract_from_ref_set e in - let uu____10837 = - FStar_Pprint.op_Hat_Hat FStar_Pprint.bang FStar_Pprint.lbrace in + uu____10822 uu____10823 FStar_Pprint.rbracket + | uu____10834 when is_ref_set e -> + let es = extract_from_ref_set e in let uu____10838 = - let uu____10839 = FStar_Pprint.op_Hat_Hat FStar_Pprint.comma break1 in - separate_map_or_flow uu____10839 p_appTerm es in + FStar_Pprint.op_Hat_Hat FStar_Pprint.bang FStar_Pprint.lbrace in + let uu____10839 = + let uu____10840 = FStar_Pprint.op_Hat_Hat FStar_Pprint.comma break1 + in + separate_map_or_flow uu____10840 p_appTerm es in FStar_Pprint.surround (Prims.parse_int "2") (Prims.parse_int "0") - uu____10837 uu____10838 FStar_Pprint.rbrace - | FStar_Parser_AST.Labeled (e1, s, b) -> - let uu____10849 = str (Prims.op_Hat "(*" (Prims.op_Hat s "*)")) in - let uu____10852 = p_term false false e1 in - FStar_Pprint.op_Hat_Slash_Hat uu____10849 uu____10852 - | FStar_Parser_AST.Op (op, args) when - let uu____10861 = handleable_op op args in - Prims.op_Negation uu____10861 -> - let uu____10863 = - let uu____10865 = - let uu____10867 = FStar_Ident.text_of_id op in - let uu____10869 = - let uu____10871 = - let uu____10873 = - FStar_Util.string_of_int (FStar_List.length args) in - Prims.op_Hat uu____10873 - " arguments couldn't be handled by the pretty printer" in - Prims.op_Hat " with " uu____10871 in - Prims.op_Hat uu____10867 uu____10869 in - Prims.op_Hat "Operation " uu____10865 in - failwith uu____10863 + uu____10838 uu____10839 FStar_Pprint.rbrace + | FStar_Parser_AST.Labeled (e1,s,b) -> + let uu____10850 = str (Prims.op_Hat "(*" (Prims.op_Hat s "*)")) in + let uu____10853 = p_term false false e1 in + FStar_Pprint.op_Hat_Slash_Hat uu____10850 uu____10853 + | FStar_Parser_AST.Op (op,args) when + let uu____10862 = handleable_op op args in + Prims.op_Negation uu____10862 -> + let uu____10864 = + let uu____10866 = + let uu____10868 = FStar_Ident.text_of_id op in + let uu____10870 = + let uu____10872 = + let uu____10874 = + FStar_Util.string_of_int (FStar_List.length args) in + Prims.op_Hat uu____10874 + " arguments couldn't be handled by the pretty printer" + in + Prims.op_Hat " with " uu____10872 in + Prims.op_Hat uu____10868 uu____10870 in + Prims.op_Hat "Operation " uu____10866 in + failwith uu____10864 | FStar_Parser_AST.Uvar id1 -> failwith "Unexpected universe variable out of universe context" - | FStar_Parser_AST.Wild -> - let uu____10880 = p_term false false e in - soft_parens_with_nesting uu____10880 - | FStar_Parser_AST.Const uu____10883 -> - let uu____10884 = p_term false false e in - soft_parens_with_nesting uu____10884 - | FStar_Parser_AST.Op uu____10887 -> - let uu____10894 = p_term false false e in - soft_parens_with_nesting uu____10894 - | FStar_Parser_AST.Tvar uu____10897 -> - let uu____10898 = p_term false false e in - soft_parens_with_nesting uu____10898 - | FStar_Parser_AST.Var uu____10901 -> - let uu____10902 = p_term false false e in - soft_parens_with_nesting uu____10902 - | FStar_Parser_AST.Name uu____10905 -> - let uu____10906 = p_term false false e in - soft_parens_with_nesting uu____10906 - | FStar_Parser_AST.Construct uu____10909 -> - let uu____10920 = p_term false false e in - soft_parens_with_nesting uu____10920 - | FStar_Parser_AST.Abs uu____10923 -> - let uu____10930 = p_term false false e in - soft_parens_with_nesting uu____10930 - | FStar_Parser_AST.App uu____10933 -> - let uu____10940 = p_term false false e in - soft_parens_with_nesting uu____10940 - | FStar_Parser_AST.Let uu____10943 -> - let uu____10964 = p_term false false e in - soft_parens_with_nesting uu____10964 - | FStar_Parser_AST.LetOpen uu____10967 -> - let uu____10972 = p_term false false e in - soft_parens_with_nesting uu____10972 - | FStar_Parser_AST.Seq uu____10975 -> - let uu____10980 = p_term false false e in - soft_parens_with_nesting uu____10980 - | FStar_Parser_AST.Bind uu____10983 -> - let uu____10990 = p_term false false e in - soft_parens_with_nesting uu____10990 - | FStar_Parser_AST.If uu____10993 -> - let uu____11000 = p_term false false e in - soft_parens_with_nesting uu____11000 - | FStar_Parser_AST.Match uu____11003 -> - let uu____11018 = p_term false false e in - soft_parens_with_nesting uu____11018 - | FStar_Parser_AST.TryWith uu____11021 -> - let uu____11036 = p_term false false e in - soft_parens_with_nesting uu____11036 - | FStar_Parser_AST.Ascribed uu____11039 -> - let uu____11048 = p_term false false e in - soft_parens_with_nesting uu____11048 - | FStar_Parser_AST.Record uu____11051 -> - let uu____11064 = p_term false false e in - soft_parens_with_nesting uu____11064 - | FStar_Parser_AST.Project uu____11067 -> - let uu____11072 = p_term false false e in - soft_parens_with_nesting uu____11072 - | FStar_Parser_AST.Product uu____11075 -> - let uu____11082 = p_term false false e in - soft_parens_with_nesting uu____11082 - | FStar_Parser_AST.Sum uu____11085 -> - let uu____11096 = p_term false false e in - soft_parens_with_nesting uu____11096 - | FStar_Parser_AST.QForall uu____11099 -> - let uu____11118 = p_term false false e in - soft_parens_with_nesting uu____11118 - | FStar_Parser_AST.QExists uu____11121 -> - let uu____11140 = p_term false false e in - soft_parens_with_nesting uu____11140 - | FStar_Parser_AST.Refine uu____11143 -> - let uu____11148 = p_term false false e in - soft_parens_with_nesting uu____11148 - | FStar_Parser_AST.NamedTyp uu____11151 -> - let uu____11156 = p_term false false e in - soft_parens_with_nesting uu____11156 - | FStar_Parser_AST.Requires uu____11159 -> - let uu____11167 = p_term false false e in - soft_parens_with_nesting uu____11167 - | FStar_Parser_AST.Ensures uu____11170 -> - let uu____11178 = p_term false false e in - soft_parens_with_nesting uu____11178 - | FStar_Parser_AST.Attributes uu____11181 -> - let uu____11184 = p_term false false e in - soft_parens_with_nesting uu____11184 - | FStar_Parser_AST.Quote uu____11187 -> - let uu____11192 = p_term false false e in - soft_parens_with_nesting uu____11192 - | FStar_Parser_AST.VQuote uu____11195 -> - let uu____11196 = p_term false false e in - soft_parens_with_nesting uu____11196 - | FStar_Parser_AST.Antiquote uu____11199 -> - let uu____11200 = p_term false false e in - soft_parens_with_nesting uu____11200 - | FStar_Parser_AST.CalcProof uu____11203 -> - let uu____11212 = p_term false false e in - soft_parens_with_nesting uu____11212 + | FStar_Parser_AST.Wild -> + let uu____10881 = p_term false false e in + soft_parens_with_nesting uu____10881 + | FStar_Parser_AST.Const uu____10884 -> + let uu____10885 = p_term false false e in + soft_parens_with_nesting uu____10885 + | FStar_Parser_AST.Op uu____10888 -> + let uu____10895 = p_term false false e in + soft_parens_with_nesting uu____10895 + | FStar_Parser_AST.Tvar uu____10898 -> + let uu____10899 = p_term false false e in + soft_parens_with_nesting uu____10899 + | FStar_Parser_AST.Var uu____10902 -> + let uu____10903 = p_term false false e in + soft_parens_with_nesting uu____10903 + | FStar_Parser_AST.Name uu____10906 -> + let uu____10907 = p_term false false e in + soft_parens_with_nesting uu____10907 + | FStar_Parser_AST.Construct uu____10910 -> + let uu____10921 = p_term false false e in + soft_parens_with_nesting uu____10921 + | FStar_Parser_AST.Abs uu____10924 -> + let uu____10931 = p_term false false e in + soft_parens_with_nesting uu____10931 + | FStar_Parser_AST.App uu____10934 -> + let uu____10941 = p_term false false e in + soft_parens_with_nesting uu____10941 + | FStar_Parser_AST.Let uu____10944 -> + let uu____10965 = p_term false false e in + soft_parens_with_nesting uu____10965 + | FStar_Parser_AST.LetOpen uu____10968 -> + let uu____10973 = p_term false false e in + soft_parens_with_nesting uu____10973 + | FStar_Parser_AST.Seq uu____10976 -> + let uu____10981 = p_term false false e in + soft_parens_with_nesting uu____10981 + | FStar_Parser_AST.Bind uu____10984 -> + let uu____10991 = p_term false false e in + soft_parens_with_nesting uu____10991 + | FStar_Parser_AST.If uu____10994 -> + let uu____11001 = p_term false false e in + soft_parens_with_nesting uu____11001 + | FStar_Parser_AST.Match uu____11004 -> + let uu____11019 = p_term false false e in + soft_parens_with_nesting uu____11019 + | FStar_Parser_AST.TryWith uu____11022 -> + let uu____11037 = p_term false false e in + soft_parens_with_nesting uu____11037 + | FStar_Parser_AST.Ascribed uu____11040 -> + let uu____11049 = p_term false false e in + soft_parens_with_nesting uu____11049 + | FStar_Parser_AST.Record uu____11052 -> + let uu____11065 = p_term false false e in + soft_parens_with_nesting uu____11065 + | FStar_Parser_AST.Project uu____11068 -> + let uu____11073 = p_term false false e in + soft_parens_with_nesting uu____11073 + | FStar_Parser_AST.Product uu____11076 -> + let uu____11083 = p_term false false e in + soft_parens_with_nesting uu____11083 + | FStar_Parser_AST.Sum uu____11086 -> + let uu____11097 = p_term false false e in + soft_parens_with_nesting uu____11097 + | FStar_Parser_AST.QForall uu____11100 -> + let uu____11119 = p_term false false e in + soft_parens_with_nesting uu____11119 + | FStar_Parser_AST.QExists uu____11122 -> + let uu____11141 = p_term false false e in + soft_parens_with_nesting uu____11141 + | FStar_Parser_AST.Refine uu____11144 -> + let uu____11149 = p_term false false e in + soft_parens_with_nesting uu____11149 + | FStar_Parser_AST.NamedTyp uu____11152 -> + let uu____11157 = p_term false false e in + soft_parens_with_nesting uu____11157 + | FStar_Parser_AST.Requires uu____11160 -> + let uu____11168 = p_term false false e in + soft_parens_with_nesting uu____11168 + | FStar_Parser_AST.Ensures uu____11171 -> + let uu____11179 = p_term false false e in + soft_parens_with_nesting uu____11179 + | FStar_Parser_AST.Attributes uu____11182 -> + let uu____11185 = p_term false false e in + soft_parens_with_nesting uu____11185 + | FStar_Parser_AST.Quote uu____11188 -> + let uu____11193 = p_term false false e in + soft_parens_with_nesting uu____11193 + | FStar_Parser_AST.VQuote uu____11196 -> + let uu____11197 = p_term false false e in + soft_parens_with_nesting uu____11197 + | FStar_Parser_AST.Antiquote uu____11200 -> + let uu____11201 = p_term false false e in + soft_parens_with_nesting uu____11201 + | FStar_Parser_AST.CalcProof uu____11204 -> + let uu____11213 = p_term false false e in + soft_parens_with_nesting uu____11213 + and (p_constant : FStar_Const.sconst -> FStar_Pprint.document) = - fun uu___15_11215 -> - match uu___15_11215 with - | FStar_Const.Const_effect -> str "Effect" - | FStar_Const.Const_unit -> str "()" + fun uu___15_11216 -> + match uu___15_11216 with + | FStar_Const.Const_effect -> str "Effect" + | FStar_Const.Const_unit -> str "()" | FStar_Const.Const_bool b -> FStar_Pprint.doc_of_bool b | FStar_Const.Const_real r -> str (Prims.op_Hat r "R") | FStar_Const.Const_float x -> str (FStar_Util.string_of_float x) | FStar_Const.Const_char x -> FStar_Pprint.doc_of_char x - | FStar_Const.Const_string (s, uu____11227) -> - let uu____11230 = str (FStar_String.escaped s) in - FStar_Pprint.dquotes uu____11230 - | FStar_Const.Const_bytearray (bytes, uu____11232) -> - let uu____11237 = - let uu____11238 = str (FStar_Util.string_of_bytes bytes) in - FStar_Pprint.dquotes uu____11238 in - let uu____11239 = str "B" in - FStar_Pprint.op_Hat_Hat uu____11237 uu____11239 - | FStar_Const.Const_int (repr, sign_width_opt) -> - let signedness uu___13_11262 = - match uu___13_11262 with - | FStar_Const.Unsigned -> str "u" - | FStar_Const.Signed -> FStar_Pprint.empty in - let width uu___14_11269 = - match uu___14_11269 with - | FStar_Const.Int8 -> str "y" - | FStar_Const.Int16 -> str "s" - | FStar_Const.Int32 -> str "l" - | FStar_Const.Int64 -> str "L" in + | FStar_Const.Const_string (s,uu____11228) -> + let uu____11231 = str (FStar_String.escaped s) in + FStar_Pprint.dquotes uu____11231 + | FStar_Const.Const_bytearray (bytes,uu____11233) -> + let uu____11238 = + let uu____11239 = str (FStar_Util.string_of_bytes bytes) in + FStar_Pprint.dquotes uu____11239 in + let uu____11240 = str "B" in + FStar_Pprint.op_Hat_Hat uu____11238 uu____11240 + | FStar_Const.Const_int (repr,sign_width_opt) -> + let signedness uu___13_11263 = + match uu___13_11263 with + | FStar_Const.Unsigned -> str "u" + | FStar_Const.Signed -> FStar_Pprint.empty in + let width uu___14_11270 = + match uu___14_11270 with + | FStar_Const.Int8 -> str "y" + | FStar_Const.Int16 -> str "s" + | FStar_Const.Int32 -> str "l" + | FStar_Const.Int64 -> str "L" in let ending = default_or_map FStar_Pprint.empty - (fun uu____11284 -> - match uu____11284 with - | (s, w) -> - let uu____11291 = signedness s in - let uu____11292 = width w in - FStar_Pprint.op_Hat_Hat uu____11291 uu____11292) - sign_width_opt in - let uu____11293 = str repr in - FStar_Pprint.op_Hat_Hat uu____11293 ending - | FStar_Const.Const_range_of -> str "range_of" - | FStar_Const.Const_set_range_of -> str "set_range_of" + (fun uu____11285 -> + match uu____11285 with + | (s,w) -> + let uu____11292 = signedness s in + let uu____11293 = width w in + FStar_Pprint.op_Hat_Hat uu____11292 uu____11293) + sign_width_opt + in + let uu____11294 = str repr in + FStar_Pprint.op_Hat_Hat uu____11294 ending + | FStar_Const.Const_range_of -> str "range_of" + | FStar_Const.Const_set_range_of -> str "set_range_of" | FStar_Const.Const_range r -> - let uu____11297 = FStar_Range.string_of_range r in str uu____11297 - | FStar_Const.Const_reify -> str "reify" + let uu____11298 = FStar_Range.string_of_range r in str uu____11298 + | FStar_Const.Const_reify -> str "reify" | FStar_Const.Const_reflect lid -> - let uu____11301 = p_quident lid in - let uu____11302 = - let uu____11303 = - let uu____11304 = str "reflect" in - FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____11304 in - FStar_Pprint.op_Hat_Hat FStar_Pprint.qmark uu____11303 in - FStar_Pprint.op_Hat_Hat uu____11301 uu____11302 + let uu____11302 = p_quident lid in + let uu____11303 = + let uu____11304 = + let uu____11305 = str "reflect" in + FStar_Pprint.op_Hat_Hat FStar_Pprint.dot uu____11305 in + FStar_Pprint.op_Hat_Hat FStar_Pprint.qmark uu____11304 in + FStar_Pprint.op_Hat_Hat uu____11302 uu____11303 + and (p_universe : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun u -> - let uu____11307 = str "u#" in - let uu____11309 = p_atomicUniverse u in - FStar_Pprint.op_Hat_Hat uu____11307 uu____11309 + fun u -> + let uu____11308 = str "u#" in + let uu____11310 = p_atomicUniverse u in + FStar_Pprint.op_Hat_Hat uu____11308 uu____11310 + and (p_universeFrom : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun u -> + fun u -> match u.FStar_Parser_AST.tm with | FStar_Parser_AST.Op - ({ FStar_Ident.idText = "+"; FStar_Ident.idRange = uu____11311;_}, - u1::u2::[]) + ({ FStar_Ident.idText = "+"; FStar_Ident.idRange = uu____11312;_},u1::u2::[]) -> - let uu____11317 = - let uu____11318 = p_universeFrom u1 in - let uu____11319 = - let uu____11320 = p_universeFrom u2 in - FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.plus uu____11320 in - FStar_Pprint.op_Hat_Slash_Hat uu____11318 uu____11319 in - FStar_Pprint.group uu____11317 - | FStar_Parser_AST.App uu____11321 -> - let uu____11328 = head_and_args u in - (match uu____11328 with - | (head1, args) -> + let uu____11318 = + let uu____11319 = p_universeFrom u1 in + let uu____11320 = + let uu____11321 = p_universeFrom u2 in + FStar_Pprint.op_Hat_Slash_Hat FStar_Pprint.plus uu____11321 in + FStar_Pprint.op_Hat_Slash_Hat uu____11319 uu____11320 in + FStar_Pprint.group uu____11318 + | FStar_Parser_AST.App uu____11322 -> + let uu____11329 = head_and_args u in + (match uu____11329 with + | (head1,args) -> (match head1.FStar_Parser_AST.tm with | FStar_Parser_AST.Var maybe_max_lid when FStar_Ident.lid_equals maybe_max_lid FStar_Parser_Const.max_lid -> - let uu____11354 = - let uu____11355 = p_qlident FStar_Parser_Const.max_lid in - let uu____11356 = + let uu____11355 = + let uu____11356 = p_qlident FStar_Parser_Const.max_lid + in + let uu____11357 = FStar_Pprint.separate_map FStar_Pprint.space - (fun uu____11364 -> - match uu____11364 with - | (u1, uu____11370) -> p_atomicUniverse u1) args in - op_Hat_Slash_Plus_Hat uu____11355 uu____11356 in - FStar_Pprint.group uu____11354 - | uu____11371 -> - let uu____11372 = - let uu____11374 = FStar_Parser_AST.term_to_string u in + (fun uu____11365 -> + match uu____11365 with + | (u1,uu____11371) -> p_atomicUniverse u1) args + in + op_Hat_Slash_Plus_Hat uu____11356 uu____11357 in + FStar_Pprint.group uu____11355 + | uu____11372 -> + let uu____11373 = + let uu____11375 = FStar_Parser_AST.term_to_string u in FStar_Util.format1 "Invalid term in universe context %s" - uu____11374 in - failwith uu____11372)) - | uu____11377 -> p_atomicUniverse u + uu____11375 + in + failwith uu____11373)) + | uu____11378 -> p_atomicUniverse u + and (p_atomicUniverse : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun u -> + fun u -> match u.FStar_Parser_AST.tm with - | FStar_Parser_AST.Wild -> FStar_Pprint.underscore - | FStar_Parser_AST.Const (FStar_Const.Const_int (r, sw)) -> + | FStar_Parser_AST.Wild -> FStar_Pprint.underscore + | FStar_Parser_AST.Const (FStar_Const.Const_int (r,sw)) -> p_constant (FStar_Const.Const_int (r, sw)) | FStar_Parser_AST.Uvar id1 -> - let uu____11403 = FStar_Ident.text_of_id id1 in str uu____11403 + let uu____11404 = FStar_Ident.text_of_id id1 in str uu____11404 | FStar_Parser_AST.Paren u1 -> - let uu____11406 = p_universeFrom u1 in - soft_parens_with_nesting uu____11406 + let uu____11407 = p_universeFrom u1 in + soft_parens_with_nesting uu____11407 | FStar_Parser_AST.Op - ({ FStar_Ident.idText = "+"; FStar_Ident.idRange = uu____11407;_}, - uu____11408::uu____11409::[]) + ({ FStar_Ident.idText = "+"; FStar_Ident.idRange = uu____11408;_},uu____11409::uu____11410::[]) -> - let uu____11413 = p_universeFrom u in - soft_parens_with_nesting uu____11413 - | FStar_Parser_AST.App uu____11414 -> - let uu____11421 = p_universeFrom u in - soft_parens_with_nesting uu____11421 - | uu____11422 -> - let uu____11423 = - let uu____11425 = FStar_Parser_AST.term_to_string u in + let uu____11414 = p_universeFrom u in + soft_parens_with_nesting uu____11414 + | FStar_Parser_AST.App uu____11415 -> + let uu____11422 = p_universeFrom u in + soft_parens_with_nesting uu____11422 + | uu____11423 -> + let uu____11424 = + let uu____11426 = FStar_Parser_AST.term_to_string u in FStar_Util.format1 "Invalid term in universe context %s" - uu____11425 in - failwith uu____11423 + uu____11426 + in + failwith uu____11424 + let (term_to_document : FStar_Parser_AST.term -> FStar_Pprint.document) = - fun e -> FStar_ST.op_Colon_Equals unfold_tuples false; p_term false false e + fun e -> + FStar_ST.op_Colon_Equals unfold_tuples false; p_term false false e + let (signature_to_document : FStar_Parser_AST.decl -> FStar_Pprint.document) - = fun e -> p_justSig e + = fun e -> p_justSig e let (decl_to_document : FStar_Parser_AST.decl -> FStar_Pprint.document) = - fun e -> p_decl e + fun e -> p_decl e let (pat_to_document : FStar_Parser_AST.pattern -> FStar_Pprint.document) = - fun p -> p_disjunctivePattern p + fun p -> p_disjunctivePattern p let (binder_to_document : FStar_Parser_AST.binder -> FStar_Pprint.document) = - fun b -> p_binder true b + fun b -> p_binder true b let (modul_to_document : FStar_Parser_AST.modul -> FStar_Pprint.document) = - fun m -> + fun m -> FStar_ST.op_Colon_Equals should_print_fs_typ_app false; (let res = match m with - | FStar_Parser_AST.Module (uu____11514, decls) -> - let uu____11520 = - FStar_All.pipe_right decls (FStar_List.map decl_to_document) in - FStar_All.pipe_right uu____11520 + | FStar_Parser_AST.Module (uu____11515,decls) -> + let uu____11521 = + FStar_All.pipe_right decls (FStar_List.map decl_to_document) in + FStar_All.pipe_right uu____11521 + (FStar_Pprint.separate FStar_Pprint.hardline) + | FStar_Parser_AST.Interface (uu____11530,decls,uu____11532) -> + let uu____11539 = + FStar_All.pipe_right decls (FStar_List.map decl_to_document) in + FStar_All.pipe_right uu____11539 (FStar_Pprint.separate FStar_Pprint.hardline) - | FStar_Parser_AST.Interface (uu____11529, decls, uu____11531) -> - let uu____11538 = - FStar_All.pipe_right decls (FStar_List.map decl_to_document) in - FStar_All.pipe_right uu____11538 - (FStar_Pprint.separate FStar_Pprint.hardline) in + in FStar_ST.op_Colon_Equals should_print_fs_typ_app false; res) + let (comments_to_document : (Prims.string * FStar_Range.range) Prims.list -> FStar_Pprint.document) = - fun comments -> + fun comments -> FStar_Pprint.separate_map FStar_Pprint.hardline - (fun uu____11598 -> - match uu____11598 with | (comment, range) -> str comment) comments + (fun uu____11599 -> + match uu____11599 with | (comment,range) -> str comment) comments + let (extract_decl_range : FStar_Parser_AST.decl -> decl_meta) = - fun d -> + fun d -> let has_qs = match ((d.FStar_Parser_AST.quals), (d.FStar_Parser_AST.d)) with - | ((FStar_Parser_AST.Assumption)::[], FStar_Parser_AST.Assume - (id1, uu____11620)) -> false - | ([], uu____11624) -> false - | uu____11628 -> true in + | ((FStar_Parser_AST.Assumption )::[],FStar_Parser_AST.Assume + (id1,uu____11621)) -> false + | ([],uu____11625) -> false + | uu____11629 -> true in { r = (d.FStar_Parser_AST.drange); has_qs; @@ -4360,55 +4775,61 @@ let (extract_decl_range : FStar_Parser_AST.decl -> decl_meta) = has_fsdoc = (FStar_Util.is_some d.FStar_Parser_AST.doc); is_fsdoc = (match d.FStar_Parser_AST.d with - | FStar_Parser_AST.Fsdoc uu____11638 -> true - | uu____11640 -> false) + | FStar_Parser_AST.Fsdoc uu____11639 -> true + | uu____11641 -> false) } + let (modul_with_comments_to_document : FStar_Parser_AST.modul -> (Prims.string * FStar_Range.range) Prims.list -> (FStar_Pprint.document * (Prims.string * FStar_Range.range) Prims.list)) = - fun m -> - fun comments -> + fun m -> + fun comments -> let decls = match m with - | FStar_Parser_AST.Module (uu____11683, decls) -> decls - | FStar_Parser_AST.Interface (uu____11689, decls, uu____11691) -> - decls in + | FStar_Parser_AST.Module (uu____11684,decls) -> decls + | FStar_Parser_AST.Interface (uu____11690,decls,uu____11692) -> decls + in FStar_ST.op_Colon_Equals should_print_fs_typ_app false; (match decls with | [] -> (FStar_Pprint.empty, comments) | d::ds -> - let uu____11743 = + let uu____11744 = match ds with | { FStar_Parser_AST.d = FStar_Parser_AST.Pragma - (FStar_Parser_AST.LightOff); - FStar_Parser_AST.drange = uu____11756; - FStar_Parser_AST.doc = uu____11757; - FStar_Parser_AST.quals = uu____11758; - FStar_Parser_AST.attrs = uu____11759;_}::uu____11760 -> - let d0 = FStar_List.hd ds in - let uu____11766 = - let uu____11769 = - let uu____11772 = FStar_List.tl ds in d :: uu____11772 in - d0 :: uu____11769 in - (uu____11766, (d0.FStar_Parser_AST.drange)) - | uu____11777 -> ((d :: ds), (d.FStar_Parser_AST.drange)) in - (match uu____11743 with - | (decls1, first_range) -> + (FStar_Parser_AST.LightOff ); + FStar_Parser_AST.drange = uu____11757; + FStar_Parser_AST.doc = uu____11758; + FStar_Parser_AST.quals = uu____11759; + FStar_Parser_AST.attrs = uu____11760;_}::uu____11761 -> + let d0 = FStar_List.hd ds in + let uu____11767 = + let uu____11770 = + let uu____11773 = FStar_List.tl ds in d :: uu____11773 + in + d0 :: uu____11770 in + (uu____11767, (d0.FStar_Parser_AST.drange)) + | uu____11778 -> ((d :: ds), (d.FStar_Parser_AST.drange)) in + (match uu____11744 with + | (decls1,first_range) -> (FStar_ST.op_Colon_Equals comment_stack comments; (let initial_comment = - let uu____11834 = FStar_Range.start_of_range first_range in + let uu____11835 = FStar_Range.start_of_range first_range + in place_comments_until_pos (Prims.parse_int "0") - (Prims.parse_int "1") uu____11834 dummy_meta - FStar_Pprint.empty false true in + (Prims.parse_int "1") uu____11835 dummy_meta + FStar_Pprint.empty false true + in let doc1 = separate_map_with_comments FStar_Pprint.empty - FStar_Pprint.empty p_decl decls1 extract_decl_range in - let comments1 = FStar_ST.op_Bang comment_stack in + FStar_Pprint.empty p_decl decls1 extract_decl_range + in + let comments1 = FStar_ST.op_Bang comment_stack in FStar_ST.op_Colon_Equals comment_stack []; FStar_ST.op_Colon_Equals should_print_fs_typ_app false; - (let uu____11943 = - FStar_Pprint.op_Hat_Hat initial_comment doc1 in - (uu____11943, comments1)))))) \ No newline at end of file + (let uu____11944 = + FStar_Pprint.op_Hat_Hat initial_comment doc1 in + (uu____11944, comments1)))))) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Pervasives.ml b/src/ocaml-output/FStar_Pervasives.ml index fa0b549375a..731f74efcf7 100644 --- a/src/ocaml-output/FStar_Pervasives.ml +++ b/src/ocaml-output/FStar_Pervasives.ml @@ -1,119 +1,119 @@ open Prims -type ('Aa, 'Ax) ambient = unit +type ('Aa,'Ax) ambient = unit -let id : 'Aa . 'Aa -> 'Aa = fun x -> x +let id : 'Aa . 'Aa -> 'Aa = fun x -> x type 'Aheap st_pre_h = unit -type ('Aheap, 'Aa, 'Apre) st_post_h' = unit -type ('Aheap, 'Aa) st_post_h = unit -type ('Aheap, 'Aa) st_wp_h = unit -type ('Aheap, 'Aa, 'Ax, 'Ap, 'Auu___0_113) st_return = 'Ap -type ('Aheap, 'Ar1, 'Aa, 'Ab, 'Awp1, 'Awp2, 'Ap, 'Ah0) st_bind_wp = 'Awp1 -type ('Aheap, 'Aa, 'Ap, 'Awp_then, 'Awp_else, 'Apost, 'Ah0) st_if_then_else = - unit -type ('Aheap, 'Aa, 'Awp, 'Apost, 'Ah0) st_ite_wp = unit -type ('Aheap, 'Aa, 'Awp1, 'Awp2) st_stronger = unit -type ('Aheap, 'Aa, 'Ab, 'Awp, 'Ap, 'Ah) st_close_wp = unit -type ('Aheap, 'Aa, 'Ap, 'Awp, 'Aq, 'Ah) st_assert_p = unit -type ('Aheap, 'Aa, 'Ap, 'Awp, 'Aq, 'Ah) st_assume_p = unit -type ('Aheap, 'Aa, 'Ap, 'Ah) st_null_wp = unit -type ('Aheap, 'Aa, 'Awp) st_trivial = unit +type ('Aheap,'Aa,'Apre) st_post_h' = unit +type ('Aheap,'Aa) st_post_h = unit +type ('Aheap,'Aa) st_wp_h = unit +type ('Aheap,'Aa,'Ax,'Ap,'Auu___0_113) st_return = 'Ap +type ('Aheap,'Ar1,'Aa,'Ab,'Awp1,'Awp2,'Ap,'Ah0) st_bind_wp = 'Awp1 +type ('Aheap,'Aa,'Ap,'Awp_then,'Awp_else,'Apost,'Ah0) st_if_then_else = unit +type ('Aheap,'Aa,'Awp,'Apost,'Ah0) st_ite_wp = unit +type ('Aheap,'Aa,'Awp1,'Awp2) st_stronger = unit +type ('Aheap,'Aa,'Ab,'Awp,'Ap,'Ah) st_close_wp = unit +type ('Aheap,'Aa,'Ap,'Awp,'Aq,'Ah) st_assert_p = unit +type ('Aheap,'Aa,'Ap,'Awp,'Aq,'Ah) st_assume_p = unit +type ('Aheap,'Aa,'Ap,'Ah) st_null_wp = unit +type ('Aheap,'Aa,'Awp) st_trivial = unit type 'Aa result = | V of 'Aa | E of Prims.exn | Err of Prims.string let uu___is_V : 'Aa . 'Aa result -> Prims.bool = - fun projectee -> match projectee with | V v -> true | uu____444 -> false + fun projectee -> match projectee with | V v -> true | uu____444 -> false let __proj__V__item__v : 'Aa . 'Aa result -> 'Aa = - fun projectee -> match projectee with | V v -> v + fun projectee -> match projectee with | V v -> v let uu___is_E : 'Aa . 'Aa result -> Prims.bool = - fun projectee -> match projectee with | E e -> true | uu____482 -> false + fun projectee -> match projectee with | E e -> true | uu____482 -> false let __proj__E__item__e : 'Aa . 'Aa result -> Prims.exn = - fun projectee -> match projectee with | E e -> e + fun projectee -> match projectee with | E e -> e let uu___is_Err : 'Aa . 'Aa result -> Prims.bool = - fun projectee -> + fun projectee -> match projectee with | Err msg -> true | uu____521 -> false + let __proj__Err__item__msg : 'Aa . 'Aa result -> Prims.string = - fun projectee -> match projectee with | Err msg -> msg + fun projectee -> match projectee with | Err msg -> msg type ex_pre = unit -type ('Aa, 'Apre) ex_post' = unit +type ('Aa,'Apre) ex_post' = unit type 'Aa ex_post = unit type 'Aa ex_wp = unit -type ('Aa, 'Ax, 'Ap) ex_return = 'Ap -type ('Ar1, 'Aa, 'Ab, 'Awp1, 'Awp2, 'Ap) ex_bind_wp = unit -type ('Aa, 'Awp, 'Apost) ex_ite_wp = unit -type ('Aa, 'Ap, 'Awp_then, 'Awp_else, 'Apost) ex_if_then_else = unit -type ('Aa, 'Awp1, 'Awp2) ex_stronger = unit -type ('Aa, 'Ab, 'Awp, 'Ap) ex_close_wp = unit -type ('Aa, 'Aq, 'Awp, 'Ap) ex_assert_p = unit -type ('Aa, 'Aq, 'Awp, 'Ap) ex_assume_p = unit -type ('Aa, 'Ap) ex_null_wp = unit -type ('Aa, 'Awp) ex_trivial = 'Awp -type ('Aa, 'Awp, 'Ap) lift_div_exn = 'Awp +type ('Aa,'Ax,'Ap) ex_return = 'Ap +type ('Ar1,'Aa,'Ab,'Awp1,'Awp2,'Ap) ex_bind_wp = unit +type ('Aa,'Awp,'Apost) ex_ite_wp = unit +type ('Aa,'Ap,'Awp_then,'Awp_else,'Apost) ex_if_then_else = unit +type ('Aa,'Awp1,'Awp2) ex_stronger = unit +type ('Aa,'Ab,'Awp,'Ap) ex_close_wp = unit +type ('Aa,'Aq,'Awp,'Ap) ex_assert_p = unit +type ('Aa,'Aq,'Awp,'Ap) ex_assume_p = unit +type ('Aa,'Ap) ex_null_wp = unit +type ('Aa,'Awp) ex_trivial = 'Awp +type ('Aa,'Awp,'Ap) lift_div_exn = 'Awp type 'Ah all_pre_h = unit -type ('Ah, 'Aa, 'Apre) all_post_h' = unit -type ('Ah, 'Aa) all_post_h = unit -type ('Ah, 'Aa) all_wp_h = unit -type ('Aheap, 'Aa, 'Awp, 'Apost, 'Ah0) all_ite_wp = unit -type ('Aheap, 'Aa, 'Ax, 'Ap, 'Auu___3_886) all_return = 'Ap -type ('Aheap, 'Ar1, 'Aa, 'Ab, 'Awp1, 'Awp2, 'Ap, 'Ah0) all_bind_wp = 'Awp1 -type ('Aheap, 'Aa, 'Ap, 'Awp_then, 'Awp_else, 'Apost, - 'Ah0) all_if_then_else = unit -type ('Aheap, 'Aa, 'Awp1, 'Awp2) all_stronger = unit -type ('Aheap, 'Aa, 'Ab, 'Awp, 'Ap, 'Ah) all_close_wp = unit -type ('Aheap, 'Aa, 'Ap, 'Awp, 'Aq, 'Ah) all_assert_p = unit -type ('Aheap, 'Aa, 'Ap, 'Awp, 'Aq, 'Ah) all_assume_p = unit -type ('Aheap, 'Aa, 'Ap, 'Ah0) all_null_wp = unit -type ('Aheap, 'Aa, 'Awp) all_trivial = unit +type ('Ah,'Aa,'Apre) all_post_h' = unit +type ('Ah,'Aa) all_post_h = unit +type ('Ah,'Aa) all_wp_h = unit +type ('Aheap,'Aa,'Awp,'Apost,'Ah0) all_ite_wp = unit +type ('Aheap,'Aa,'Ax,'Ap,'Auu___3_886) all_return = 'Ap +type ('Aheap,'Ar1,'Aa,'Ab,'Awp1,'Awp2,'Ap,'Ah0) all_bind_wp = 'Awp1 +type ('Aheap,'Aa,'Ap,'Awp_then,'Awp_else,'Apost,'Ah0) all_if_then_else = unit +type ('Aheap,'Aa,'Awp1,'Awp2) all_stronger = unit +type ('Aheap,'Aa,'Ab,'Awp,'Ap,'Ah) all_close_wp = unit +type ('Aheap,'Aa,'Ap,'Awp,'Aq,'Ah) all_assert_p = unit +type ('Aheap,'Aa,'Ap,'Awp,'Aq,'Ah) all_assume_p = unit +type ('Aheap,'Aa,'Ap,'Ah0) all_null_wp = unit +type ('Aheap,'Aa,'Awp) all_trivial = unit type 'Aa inversion = unit -type ('a, 'b) either = +type ('a,'b) either = | Inl of 'a | Inr of 'b -let uu___is_Inl : 'a 'b . ('a, 'b) either -> Prims.bool = - fun projectee -> match projectee with | Inl v -> true | uu____1202 -> false -let __proj__Inl__item__v : 'a 'b . ('a, 'b) either -> 'a = - fun projectee -> match projectee with | Inl v -> v -let uu___is_Inr : 'a 'b . ('a, 'b) either -> Prims.bool = - fun projectee -> match projectee with | Inr v -> true | uu____1256 -> false -let __proj__Inr__item__v : 'a 'b . ('a, 'b) either -> 'b = - fun projectee -> match projectee with | Inr v -> v -let dfst : 'Aa 'Ab . ('Aa, 'Ab) Prims.dtuple2 -> 'Aa = - fun t -> Prims.__proj__Mkdtuple2__item___1 t -let dsnd : 'Aa 'Ab . ('Aa, 'Ab) Prims.dtuple2 -> 'Ab = - fun t -> Prims.__proj__Mkdtuple2__item___2 t -type ('Aa, 'Ab, 'Ac) dtuple3 = +let uu___is_Inl : 'a 'b . ('a,'b) either -> Prims.bool = + fun projectee -> + match projectee with | Inl v -> true | uu____1202 -> false + +let __proj__Inl__item__v : 'a 'b . ('a,'b) either -> 'a = + fun projectee -> match projectee with | Inl v -> v +let uu___is_Inr : 'a 'b . ('a,'b) either -> Prims.bool = + fun projectee -> + match projectee with | Inr v -> true | uu____1256 -> false + +let __proj__Inr__item__v : 'a 'b . ('a,'b) either -> 'b = + fun projectee -> match projectee with | Inr v -> v +let dfst : 'Aa 'Ab . ('Aa,'Ab) Prims.dtuple2 -> 'Aa = + fun t -> Prims.__proj__Mkdtuple2__item___1 t +let dsnd : 'Aa 'Ab . ('Aa,'Ab) Prims.dtuple2 -> 'Ab = + fun t -> Prims.__proj__Mkdtuple2__item___2 t +type ('Aa,'Ab,'Ac) dtuple3 = | Mkdtuple3 of 'Aa * 'Ab * 'Ac -let uu___is_Mkdtuple3 : 'Aa 'Ab 'Ac . ('Aa, 'Ab, 'Ac) dtuple3 -> Prims.bool = - fun projectee -> true -let __proj__Mkdtuple3__item___1 : - 'Aa 'Ab 'Ac . ('Aa, 'Ab, 'Ac) dtuple3 -> 'Aa = - fun projectee -> match projectee with | Mkdtuple3 (_1, _2, _3) -> _1 -let __proj__Mkdtuple3__item___2 : - 'Aa 'Ab 'Ac . ('Aa, 'Ab, 'Ac) dtuple3 -> 'Ab = - fun projectee -> match projectee with | Mkdtuple3 (_1, _2, _3) -> _2 -let __proj__Mkdtuple3__item___3 : - 'Aa 'Ab 'Ac . ('Aa, 'Ab, 'Ac) dtuple3 -> 'Ac = - fun projectee -> match projectee with | Mkdtuple3 (_1, _2, _3) -> _3 -type ('Aa, 'Ab, 'Ac, 'Ad) dtuple4 = +let uu___is_Mkdtuple3 : 'Aa 'Ab 'Ac . ('Aa,'Ab,'Ac) dtuple3 -> Prims.bool = + fun projectee -> true +let __proj__Mkdtuple3__item___1 : 'Aa 'Ab 'Ac . ('Aa,'Ab,'Ac) dtuple3 -> 'Aa + = fun projectee -> match projectee with | Mkdtuple3 (_1,_2,_3) -> _1 +let __proj__Mkdtuple3__item___2 : 'Aa 'Ab 'Ac . ('Aa,'Ab,'Ac) dtuple3 -> 'Ab + = fun projectee -> match projectee with | Mkdtuple3 (_1,_2,_3) -> _2 +let __proj__Mkdtuple3__item___3 : 'Aa 'Ab 'Ac . ('Aa,'Ab,'Ac) dtuple3 -> 'Ac + = fun projectee -> match projectee with | Mkdtuple3 (_1,_2,_3) -> _3 +type ('Aa,'Ab,'Ac,'Ad) dtuple4 = | Mkdtuple4 of 'Aa * 'Ab * 'Ac * 'Ad let uu___is_Mkdtuple4 : - 'Aa 'Ab 'Ac 'Ad . ('Aa, 'Ab, 'Ac, 'Ad) dtuple4 -> Prims.bool = - fun projectee -> true + 'Aa 'Ab 'Ac 'Ad . ('Aa,'Ab,'Ac,'Ad) dtuple4 -> Prims.bool = + fun projectee -> true let __proj__Mkdtuple4__item___1 : - 'Aa 'Ab 'Ac 'Ad . ('Aa, 'Ab, 'Ac, 'Ad) dtuple4 -> 'Aa = - fun projectee -> match projectee with | Mkdtuple4 (_1, _2, _3, _4) -> _1 + 'Aa 'Ab 'Ac 'Ad . ('Aa,'Ab,'Ac,'Ad) dtuple4 -> 'Aa = + fun projectee -> match projectee with | Mkdtuple4 (_1,_2,_3,_4) -> _1 let __proj__Mkdtuple4__item___2 : - 'Aa 'Ab 'Ac 'Ad . ('Aa, 'Ab, 'Ac, 'Ad) dtuple4 -> 'Ab = - fun projectee -> match projectee with | Mkdtuple4 (_1, _2, _3, _4) -> _2 + 'Aa 'Ab 'Ac 'Ad . ('Aa,'Ab,'Ac,'Ad) dtuple4 -> 'Ab = + fun projectee -> match projectee with | Mkdtuple4 (_1,_2,_3,_4) -> _2 let __proj__Mkdtuple4__item___3 : - 'Aa 'Ab 'Ac 'Ad . ('Aa, 'Ab, 'Ac, 'Ad) dtuple4 -> 'Ac = - fun projectee -> match projectee with | Mkdtuple4 (_1, _2, _3, _4) -> _3 + 'Aa 'Ab 'Ac 'Ad . ('Aa,'Ab,'Ac,'Ad) dtuple4 -> 'Ac = + fun projectee -> match projectee with | Mkdtuple4 (_1,_2,_3,_4) -> _3 let __proj__Mkdtuple4__item___4 : - 'Aa 'Ab 'Ac 'Ad . ('Aa, 'Ab, 'Ac, 'Ad) dtuple4 -> 'Ad = - fun projectee -> match projectee with | Mkdtuple4 (_1, _2, _3, _4) -> _4 + 'Aa 'Ab 'Ac 'Ad . ('Aa,'Ab,'Ac,'Ad) dtuple4 -> 'Ad = + fun projectee -> match projectee with | Mkdtuple4 (_1,_2,_3,_4) -> _4 -let rec false_elim : 'Aa . unit -> 'Aa = fun u -> false_elim () +let rec false_elim : 'Aa . unit -> 'Aa = fun u -> false_elim () type __internal_ocaml_attributes = | PpxDerivingShow | PpxDerivingShowConstant of Prims.string @@ -130,64 +130,77 @@ type __internal_ocaml_attributes = | CIfDef | CMacro let (uu___is_PpxDerivingShow : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> - match projectee with | PpxDerivingShow -> true | uu____1874 -> false + fun projectee -> + match projectee with | PpxDerivingShow -> true | uu____1874 -> false + let (uu___is_PpxDerivingShowConstant : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PpxDerivingShowConstant _0 -> true | uu____1887 -> false + let (__proj__PpxDerivingShowConstant__item___0 : __internal_ocaml_attributes -> Prims.string) = - fun projectee -> match projectee with | PpxDerivingShowConstant _0 -> _0 + fun projectee -> match projectee with | PpxDerivingShowConstant _0 -> _0 let (uu___is_PpxDerivingYoJson : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> - match projectee with | PpxDerivingYoJson -> true | uu____1908 -> false + fun projectee -> + match projectee with | PpxDerivingYoJson -> true | uu____1908 -> false + let (uu___is_CInline : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> - match projectee with | CInline -> true | uu____1919 -> false + fun projectee -> + match projectee with | CInline -> true | uu____1919 -> false + let (uu___is_Substitute : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> - match projectee with | Substitute -> true | uu____1930 -> false + fun projectee -> + match projectee with | Substitute -> true | uu____1930 -> false + let (uu___is_Gc : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> match projectee with | Gc -> true | uu____1941 -> false + fun projectee -> match projectee with | Gc -> true | uu____1941 -> false let (uu___is_Comment : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Comment _0 -> true | uu____1954 -> false + let (__proj__Comment__item___0 : __internal_ocaml_attributes -> Prims.string) - = fun projectee -> match projectee with | Comment _0 -> _0 + = fun projectee -> match projectee with | Comment _0 -> _0 let (uu___is_CPrologue : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | CPrologue _0 -> true | uu____1977 -> false + let (__proj__CPrologue__item___0 : __internal_ocaml_attributes -> Prims.string) = - fun projectee -> match projectee with | CPrologue _0 -> _0 + fun projectee -> match projectee with | CPrologue _0 -> _0 let (uu___is_CEpilogue : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | CEpilogue _0 -> true | uu____2000 -> false + let (__proj__CEpilogue__item___0 : __internal_ocaml_attributes -> Prims.string) = - fun projectee -> match projectee with | CEpilogue _0 -> _0 + fun projectee -> match projectee with | CEpilogue _0 -> _0 let (uu___is_CConst : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | CConst _0 -> true | uu____2023 -> false + let (__proj__CConst__item___0 : __internal_ocaml_attributes -> Prims.string) - = fun projectee -> match projectee with | CConst _0 -> _0 + = fun projectee -> match projectee with | CConst _0 -> _0 let (uu___is_CCConv : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | CCConv _0 -> true | uu____2046 -> false + let (__proj__CCConv__item___0 : __internal_ocaml_attributes -> Prims.string) - = fun projectee -> match projectee with | CCConv _0 -> _0 + = fun projectee -> match projectee with | CCConv _0 -> _0 let (uu___is_CAbstractStruct : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> - match projectee with | CAbstractStruct -> true | uu____2067 -> false + fun projectee -> + match projectee with | CAbstractStruct -> true | uu____2067 -> false + let (uu___is_CIfDef : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> - match projectee with | CIfDef -> true | uu____2078 -> false + fun projectee -> + match projectee with | CIfDef -> true | uu____2078 -> false + let (uu___is_CMacro : __internal_ocaml_attributes -> Prims.bool) = - fun projectee -> - match projectee with | CMacro -> true | uu____2089 -> false + fun projectee -> + match projectee with | CMacro -> true | uu____2089 -> false + @@ -198,7 +211,7 @@ let (uu___is_CMacro : __internal_ocaml_attributes -> Prims.bool) = -let normalize_term : 'Aa . 'Aa -> 'Aa = fun x -> x +let normalize_term : 'Aa . 'Aa -> 'Aa = fun x -> x type 'Aa normalize = 'Aa type norm_step = | Simpl @@ -214,60 +227,76 @@ type norm_step = | UnfoldFully of Prims.string Prims.list | UnfoldAttr of Prims.string Prims.list let (uu___is_Simpl : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Simpl -> true | uu____2152 -> false + fun projectee -> + match projectee with | Simpl -> true | uu____2152 -> false + let (uu___is_Weak : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Weak -> true | uu____2163 -> false + fun projectee -> + match projectee with | Weak -> true | uu____2163 -> false + let (uu___is_HNF : norm_step -> Prims.bool) = - fun projectee -> match projectee with | HNF -> true | uu____2174 -> false + fun projectee -> match projectee with | HNF -> true | uu____2174 -> false let (uu___is_Primops : norm_step -> Prims.bool) = - fun projectee -> - match projectee with | Primops -> true | uu____2185 -> false + fun projectee -> + match projectee with | Primops -> true | uu____2185 -> false + let (uu___is_Delta : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Delta -> true | uu____2196 -> false + fun projectee -> + match projectee with | Delta -> true | uu____2196 -> false + let (uu___is_Zeta : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Zeta -> true | uu____2207 -> false + fun projectee -> + match projectee with | Zeta -> true | uu____2207 -> false + let (uu___is_Iota : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Iota -> true | uu____2218 -> false + fun projectee -> + match projectee with | Iota -> true | uu____2218 -> false + let (uu___is_NBE : norm_step -> Prims.bool) = - fun projectee -> match projectee with | NBE -> true | uu____2229 -> false + fun projectee -> match projectee with | NBE -> true | uu____2229 -> false let (uu___is_Reify : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Reify -> true | uu____2240 -> false + fun projectee -> + match projectee with | Reify -> true | uu____2240 -> false + let (uu___is_UnfoldOnly : norm_step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldOnly _0 -> true | uu____2255 -> false + let (__proj__UnfoldOnly__item___0 : norm_step -> Prims.string Prims.list) = - fun projectee -> match projectee with | UnfoldOnly _0 -> _0 + fun projectee -> match projectee with | UnfoldOnly _0 -> _0 let (uu___is_UnfoldFully : norm_step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldFully _0 -> true | uu____2286 -> false + let (__proj__UnfoldFully__item___0 : norm_step -> Prims.string Prims.list) = - fun projectee -> match projectee with | UnfoldFully _0 -> _0 + fun projectee -> match projectee with | UnfoldFully _0 -> _0 let (uu___is_UnfoldAttr : norm_step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldAttr _0 -> true | uu____2317 -> false + let (__proj__UnfoldAttr__item___0 : norm_step -> Prims.string Prims.list) = - fun projectee -> match projectee with | UnfoldAttr _0 -> _0 -let (simplify : norm_step) = Simpl -let (weak : norm_step) = Weak -let (hnf : norm_step) = HNF -let (primops : norm_step) = Primops -let (delta : norm_step) = Delta -let (zeta : norm_step) = Zeta -let (iota : norm_step) = Iota -let (nbe : norm_step) = NBE -let (reify_ : norm_step) = Reify + fun projectee -> match projectee with | UnfoldAttr _0 -> _0 +let (simplify : norm_step) = Simpl +let (weak : norm_step) = Weak +let (hnf : norm_step) = HNF +let (primops : norm_step) = Primops +let (delta : norm_step) = Delta +let (zeta : norm_step) = Zeta +let (iota : norm_step) = Iota +let (nbe : norm_step) = NBE +let (reify_ : norm_step) = Reify let (delta_only : Prims.string Prims.list -> norm_step) = - fun s -> UnfoldOnly s + fun s -> UnfoldOnly s let (delta_fully : Prims.string Prims.list -> norm_step) = - fun s -> UnfoldFully s + fun s -> UnfoldFully s let (delta_attr : Prims.string Prims.list -> norm_step) = - fun s -> UnfoldAttr s + fun s -> UnfoldAttr s let (norm : norm_step Prims.list -> unit -> Obj.t -> Obj.t) = - fun s -> fun a -> fun x -> x + fun s -> fun a -> fun x -> x -let singleton : 'Aa . 'Aa -> 'Aa = fun x -> x -let with_type : 'At . 'At -> 'At = fun e -> e \ No newline at end of file +let singleton : 'Aa . 'Aa -> 'Aa = fun x -> x +let with_type : 'At . 'At -> 'At = fun e -> e \ No newline at end of file diff --git a/src/ocaml-output/FStar_Prettyprint.ml b/src/ocaml-output/FStar_Prettyprint.ml index 740050c5da7..329fedd87b3 100644 --- a/src/ocaml-output/FStar_Prettyprint.ml +++ b/src/ocaml-output/FStar_Prettyprint.ml @@ -4,63 +4,70 @@ type printing_mode = | FromTempToStdout | FromTempToFile let (uu___is_ToTempFile : printing_mode -> Prims.bool) = - fun projectee -> - match projectee with | ToTempFile -> true | uu____8 -> false + fun projectee -> + match projectee with | ToTempFile -> true | uu____8 -> false + let (uu___is_FromTempToStdout : printing_mode -> Prims.bool) = - fun projectee -> - match projectee with | FromTempToStdout -> true | uu____19 -> false + fun projectee -> + match projectee with | FromTempToStdout -> true | uu____19 -> false + let (uu___is_FromTempToFile : printing_mode -> Prims.bool) = - fun projectee -> - match projectee with | FromTempToFile -> true | uu____30 -> false + fun projectee -> + match projectee with | FromTempToFile -> true | uu____30 -> false + let (temp_file_name : Prims.string -> Prims.string) = - fun f -> FStar_Util.format1 "%s.print_.fst" f + fun f -> FStar_Util.format1 "%s.print_.fst" f let (generate : printing_mode -> Prims.string Prims.list -> unit) = - fun m -> - fun filenames -> + fun m -> + fun filenames -> let parse_and_prettyprint m1 filename = let uu____72 = match m1 with - | ToTempFile -> + | ToTempFile -> let uu____87 = let uu____90 = - let uu____91 = temp_file_name filename in - FStar_Util.open_file_for_writing uu____91 in - FStar_Pervasives_Native.Some uu____90 in + let uu____91 = temp_file_name filename in + FStar_Util.open_file_for_writing uu____91 in + FStar_Pervasives_Native.Some uu____90 in (filename, uu____87) - | FromTempToFile -> - let uu____96 = temp_file_name filename in + | FromTempToFile -> + let uu____96 = temp_file_name filename in let uu____98 = - let uu____101 = FStar_Util.open_file_for_writing filename in - FStar_Pervasives_Native.Some uu____101 in + let uu____101 = FStar_Util.open_file_for_writing filename in + FStar_Pervasives_Native.Some uu____101 in (uu____96, uu____98) - | FromTempToStdout -> - let uu____105 = temp_file_name filename in - (uu____105, FStar_Pervasives_Native.None) in + | FromTempToStdout -> + let uu____105 = temp_file_name filename in + (uu____105, FStar_Pervasives_Native.None) + in match uu____72 with - | (inf, outf) -> - let uu____118 = FStar_Parser_Driver.parse_file inf in + | (inf,outf) -> + let uu____118 = FStar_Parser_Driver.parse_file inf in (match uu____118 with - | (modul, comments) -> + | (modul,comments) -> let leftover_comments = - let comments1 = FStar_List.rev comments in + let comments1 = FStar_List.rev comments in let uu____167 = FStar_Parser_ToDocument.modul_with_comments_to_document - modul comments1 in + modul comments1 + in match uu____167 with - | (doc1, comments2) -> + | (doc1,comments2) -> ((match outf with | FStar_Pervasives_Native.Some f -> let uu____204 = FStar_Pprint.pretty_string (FStar_Util.float_of_string "1.0") - (Prims.parse_int "100") doc1 in + (Prims.parse_int "100") doc1 + in FStar_All.pipe_left (FStar_Util.append_to_file f) uu____204 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pprint.pretty_out_channel (FStar_Util.float_of_string "1.0") (Prims.parse_int "100") doc1 FStar_Util.stdout); - comments2) in + comments2) + in let left_over_doc = if Prims.op_Negation (FStar_List.isEmpty leftover_comments) @@ -70,41 +77,46 @@ let (generate : printing_mode -> Prims.string Prims.list -> unit) = let uu____224 = let uu____227 = FStar_Parser_ToDocument.comments_to_document - leftover_comments in - [uu____227] in - FStar_Pprint.hardline :: uu____224 in - FStar_Pprint.hardline :: uu____221 in + leftover_comments + in + [uu____227] in + FStar_Pprint.hardline :: uu____224 in + FStar_Pprint.hardline :: uu____221 in FStar_Pprint.concat uu____218 else if m1 = FromTempToStdout then FStar_Pprint.concat [FStar_Pprint.hardline; FStar_Pprint.hardline] - else FStar_Pprint.empty in + else FStar_Pprint.empty + in (match outf with | FStar_Pervasives_Native.Some f -> ((let uu____235 = FStar_Pprint.pretty_string (FStar_Util.float_of_string "1.0") - (Prims.parse_int "100") left_over_doc in + (Prims.parse_int "100") left_over_doc + in FStar_All.pipe_left (FStar_Util.append_to_file f) uu____235); FStar_Util.close_file f) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pprint.pretty_out_channel (FStar_Util.float_of_string "1.0") (Prims.parse_int "100") left_over_doc - FStar_Util.stdout)) in + FStar_Util.stdout)) + in FStar_List.iter (parse_and_prettyprint m) filenames; (match m with - | FromTempToFile -> + | FromTempToFile -> FStar_List.iter - (fun f -> - let uu____249 = temp_file_name f in + (fun f -> + let uu____249 = temp_file_name f in FStar_Util.delete_file uu____249) filenames - | FromTempToStdout -> + | FromTempToStdout -> FStar_List.iter - (fun f -> - let uu____256 = temp_file_name f in + (fun f -> + let uu____256 = temp_file_name f in FStar_Util.delete_file uu____256) filenames - | ToTempFile -> ()) \ No newline at end of file + | ToTempFile -> ()) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_PushHelper.ml b/src/ocaml-output/FStar_PushHelper.ml index c267c10dd87..0276abbe22b 100644 --- a/src/ocaml-output/FStar_PushHelper.ml +++ b/src/ocaml-output/FStar_PushHelper.ml @@ -4,30 +4,33 @@ type push_kind = | LaxCheck | FullCheck let (uu___is_SyntaxCheck : push_kind -> Prims.bool) = - fun projectee -> - match projectee with | SyntaxCheck -> true | uu____8 -> false + fun projectee -> + match projectee with | SyntaxCheck -> true | uu____8 -> false + let (uu___is_LaxCheck : push_kind -> Prims.bool) = - fun projectee -> - match projectee with | LaxCheck -> true | uu____19 -> false + fun projectee -> + match projectee with | LaxCheck -> true | uu____19 -> false + let (uu___is_FullCheck : push_kind -> Prims.bool) = - fun projectee -> - match projectee with | FullCheck -> true | uu____30 -> false + fun projectee -> + match projectee with | FullCheck -> true | uu____30 -> false + type ctx_depth_t = (Prims.int * Prims.int * FStar_TypeChecker_Env.solver_depth_t * Prims.int) type deps_t = FStar_Parser_Dep.deps type either_replst = - (FStar_JsonHelper.repl_state, FStar_JsonHelper.repl_state) - FStar_Util.either + (FStar_JsonHelper.repl_state,FStar_JsonHelper.repl_state) FStar_Util.either let (repl_stack : FStar_JsonHelper.repl_stack_t FStar_ST.ref) = - FStar_Util.mk_ref [] + FStar_Util.mk_ref [] let (set_check_kind : FStar_TypeChecker_Env.env_t -> push_kind -> FStar_TypeChecker_Env.env_t) = - fun env -> - fun check_kind -> - let uu___4_71 = env in + fun env -> + fun check_kind -> + let uu___4_71 = env in let uu____72 = FStar_Syntax_DsEnv.set_syntax_only env.FStar_TypeChecker_Env.dsenv - (check_kind = SyntaxCheck) in + (check_kind = SyntaxCheck) + in { FStar_TypeChecker_Env.solver = (uu___4_71.FStar_TypeChecker_Env.solver); @@ -110,137 +113,150 @@ let (set_check_kind : FStar_TypeChecker_Env.dsenv = uu____72; FStar_TypeChecker_Env.nbe = (uu___4_71.FStar_TypeChecker_Env.nbe) } + let (repl_ld_tasks_of_deps : Prims.string Prims.list -> FStar_JsonHelper.repl_task Prims.list -> FStar_JsonHelper.repl_task Prims.list) = - fun deps -> - fun final_tasks -> + fun deps -> + fun final_tasks -> let wrap fname = - let uu____104 = FStar_Util.now () in + let uu____104 = FStar_Util.now () in { FStar_JsonHelper.tf_fname = fname; FStar_JsonHelper.tf_modtime = uu____104 - } in + } in let rec aux deps1 final_tasks1 = match deps1 with | intf::impl::deps' when FStar_Universal.needs_interleaving intf impl -> let uu____140 = let uu____141 = - let uu____146 = wrap intf in - let uu____147 = wrap impl in (uu____146, uu____147) in - FStar_JsonHelper.LDInterleaved uu____141 in - let uu____148 = aux deps' final_tasks1 in uu____140 :: uu____148 + let uu____146 = wrap intf in + let uu____147 = wrap impl in (uu____146, uu____147) in + FStar_JsonHelper.LDInterleaved uu____141 in + let uu____148 = aux deps' final_tasks1 in uu____140 :: uu____148 | intf_or_impl::deps' -> let uu____158 = - let uu____159 = wrap intf_or_impl in - FStar_JsonHelper.LDSingle uu____159 in - let uu____160 = aux deps' final_tasks1 in uu____158 :: uu____160 - | [] -> final_tasks1 in + let uu____159 = wrap intf_or_impl in + FStar_JsonHelper.LDSingle uu____159 in + let uu____160 = aux deps' final_tasks1 in uu____158 :: uu____160 + | [] -> final_tasks1 in aux deps final_tasks + let (deps_and_repl_ld_tasks_of_our_file : Prims.string -> (Prims.string Prims.list * FStar_JsonHelper.repl_task Prims.list * deps_t)) = - fun filename -> - let get_mod_name fname = FStar_Parser_Dep.lowercase_module_name fname in - let our_mod_name = get_mod_name filename in + fun filename -> + let get_mod_name fname = FStar_Parser_Dep.lowercase_module_name fname in + let our_mod_name = get_mod_name filename in let has_our_mod_name f = - let uu____214 = get_mod_name f in uu____214 = our_mod_name in - let parse_data_cache = FStar_CheckedFiles.load_parsing_data_from_cache in + let uu____214 = get_mod_name f in uu____214 = our_mod_name in + let parse_data_cache = FStar_CheckedFiles.load_parsing_data_from_cache + in let uu____225 = - FStar_Dependencies.find_deps_if_needed [filename] parse_data_cache in + FStar_Dependencies.find_deps_if_needed [filename] parse_data_cache in match uu____225 with - | (deps, dep_graph1) -> - let uu____254 = FStar_List.partition has_our_mod_name deps in + | (deps,dep_graph1) -> + let uu____254 = FStar_List.partition has_our_mod_name deps in (match uu____254 with - | (same_name, real_deps) -> + | (same_name,real_deps) -> let intf_tasks = match same_name with | intf::impl::[] -> ((let uu____304 = - let uu____306 = FStar_Parser_Dep.is_interface intf in - Prims.op_Negation uu____306 in + let uu____306 = FStar_Parser_Dep.is_interface intf in + Prims.op_Negation uu____306 in if uu____304 then let uu____309 = let uu____315 = FStar_Util.format1 - "Expecting an interface, got %s" intf in - (FStar_Errors.Fatal_MissingInterface, uu____315) in + "Expecting an interface, got %s" intf + in + (FStar_Errors.Fatal_MissingInterface, uu____315) in FStar_Errors.raise_err uu____309 else ()); (let uu____322 = let uu____324 = - FStar_Parser_Dep.is_implementation impl in - Prims.op_Negation uu____324 in + FStar_Parser_Dep.is_implementation impl in + Prims.op_Negation uu____324 in if uu____322 then let uu____327 = let uu____333 = FStar_Util.format1 - "Expecting an implementation, got %s" impl in + "Expecting an implementation, got %s" impl + in (FStar_Errors.Fatal_MissingImplementation, - uu____333) in + uu____333) + in FStar_Errors.raise_err uu____327 else ()); (let uu____339 = let uu____340 = - let uu____341 = FStar_Util.now () in + let uu____341 = FStar_Util.now () in { FStar_JsonHelper.tf_fname = intf; FStar_JsonHelper.tf_modtime = uu____341 - } in - FStar_JsonHelper.LDInterfaceOfCurrentFile uu____340 in + } in + FStar_JsonHelper.LDInterfaceOfCurrentFile uu____340 + in [uu____339])) | impl::[] -> [] | uu____346 -> - let mods_str = FStar_String.concat " " same_name in - let message = "Too many or too few files matching %s: %s" in + let mods_str = FStar_String.concat " " same_name in + let message = "Too many or too few files matching %s: %s" + in ((let uu____357 = let uu____363 = - FStar_Util.format message [our_mod_name; mods_str] in + FStar_Util.format message [our_mod_name; mods_str] + in (FStar_Errors.Fatal_TooManyOrTooFewFileMatch, - uu____363) in + uu____363) + in FStar_Errors.raise_err uu____357); - []) in - let tasks = repl_ld_tasks_of_deps real_deps intf_tasks in + []) + in + let tasks = repl_ld_tasks_of_deps real_deps intf_tasks in (real_deps, tasks, dep_graph1)) + let (snapshot_env : FStar_TypeChecker_Env.env -> Prims.string -> (FStar_JsonHelper.repl_depth_t * FStar_TypeChecker_Env.env_t)) = - fun env -> - fun msg -> - let uu____398 = FStar_TypeChecker_Tc.snapshot_context env msg in + fun env -> + fun msg -> + let uu____398 = FStar_TypeChecker_Tc.snapshot_context env msg in match uu____398 with - | (ctx_depth, env1) -> - let uu____442 = FStar_Options.snapshot () in + | (ctx_depth,env1) -> + let uu____442 = FStar_Options.snapshot () in (match uu____442 with - | (opt_depth, ()) -> ((ctx_depth, opt_depth), env1)) + | (opt_depth,()) -> ((ctx_depth, opt_depth), env1)) + let (push_repl : Prims.string -> push_kind -> FStar_JsonHelper.repl_task -> FStar_JsonHelper.repl_state -> FStar_JsonHelper.repl_state) = - fun msg -> - fun push_kind -> - fun task -> - fun st -> - let uu____479 = snapshot_env st.FStar_JsonHelper.repl_env msg in + fun msg -> + fun push_kind -> + fun task -> + fun st -> + let uu____479 = snapshot_env st.FStar_JsonHelper.repl_env msg in match uu____479 with - | (depth, env) -> + | (depth,env) -> ((let uu____487 = - let uu____488 = FStar_ST.op_Bang repl_stack in - (depth, (task, st)) :: uu____488 in + let uu____488 = FStar_ST.op_Bang repl_stack in + (depth, (task, st)) :: uu____488 in FStar_ST.op_Colon_Equals repl_stack uu____487); - (let uu___66_549 = st in - let uu____550 = set_check_kind env push_kind in + (let uu___66_549 = st in + let uu____550 = set_check_kind env push_kind in { FStar_JsonHelper.repl_line = (uu___66_549.FStar_JsonHelper.repl_line); @@ -258,205 +274,227 @@ let (push_repl : FStar_JsonHelper.repl_names = (uu___66_549.FStar_JsonHelper.repl_names) })) + let (rollback_env : FStar_TypeChecker_Env.solver_t -> Prims.string -> ((Prims.int * Prims.int * FStar_TypeChecker_Env.solver_depth_t * Prims.int) * Prims.int) -> FStar_TypeChecker_Env.env) = - fun solver1 -> - fun msg -> - fun uu____583 -> + fun solver1 -> + fun msg -> + fun uu____583 -> match uu____583 with - | (ctx_depth, opt_depth) -> + | (ctx_depth,opt_depth) -> let env = FStar_TypeChecker_Tc.rollback_context solver1 msg - (FStar_Pervasives_Native.Some ctx_depth) in + (FStar_Pervasives_Native.Some ctx_depth) + in (FStar_Options.rollback (FStar_Pervasives_Native.Some opt_depth); env) + let (pop_repl : Prims.string -> FStar_JsonHelper.repl_state -> FStar_JsonHelper.repl_state) = - fun msg -> - fun st -> - let uu____654 = FStar_ST.op_Bang repl_stack in + fun msg -> + fun st -> + let uu____654 = FStar_ST.op_Bang repl_stack in match uu____654 with | [] -> failwith "Too many pops" - | (depth, (uu____684, st'))::stack_tl -> + | (depth,(uu____684,st'))::stack_tl -> let env = rollback_env (st.FStar_JsonHelper.repl_env).FStar_TypeChecker_Env.solver msg - depth in + depth + in (FStar_ST.op_Colon_Equals repl_stack stack_tl; (let uu____731 = - FStar_Util.physical_equality env st'.FStar_JsonHelper.repl_env in + FStar_Util.physical_equality env st'.FStar_JsonHelper.repl_env + in FStar_Common.runtime_assert uu____731 "Inconsistent stack state"); st') + let (tc_one : FStar_TypeChecker_Env.env_t -> Prims.string FStar_Pervasives_Native.option -> Prims.string -> FStar_TypeChecker_Env.env_t) = - fun env -> - fun intf_opt -> - fun modf -> + fun env -> + fun intf_opt -> + fun modf -> let parse_data = let uu____759 = - let uu____765 = FStar_TypeChecker_Env.dep_graph env in - FStar_Parser_Dep.parsing_data_of uu____765 in - FStar_All.pipe_right modf uu____759 in + let uu____765 = FStar_TypeChecker_Env.dep_graph env in + FStar_Parser_Dep.parsing_data_of uu____765 in + FStar_All.pipe_right modf uu____759 in let uu____767 = - FStar_Universal.tc_one_file_for_ide env intf_opt modf parse_data in - match uu____767 with | (uu____772, env1) -> env1 + FStar_Universal.tc_one_file_for_ide env intf_opt modf parse_data + in + match uu____767 with | (uu____772,env1) -> env1 + let (run_repl_task : FStar_JsonHelper.optmod_t -> FStar_TypeChecker_Env.env_t -> FStar_JsonHelper.repl_task -> (FStar_JsonHelper.optmod_t * FStar_TypeChecker_Env.env_t)) = - fun curmod -> - fun env -> - fun task -> + fun curmod -> + fun env -> + fun task -> match task with - | FStar_JsonHelper.LDInterleaved (intf, impl) -> + | FStar_JsonHelper.LDInterleaved (intf,impl) -> let uu____800 = tc_one env (FStar_Pervasives_Native.Some (intf.FStar_JsonHelper.tf_fname)) - impl.FStar_JsonHelper.tf_fname in + impl.FStar_JsonHelper.tf_fname + in (curmod, uu____800) | FStar_JsonHelper.LDSingle intf_or_impl -> let uu____803 = tc_one env FStar_Pervasives_Native.None - intf_or_impl.FStar_JsonHelper.tf_fname in + intf_or_impl.FStar_JsonHelper.tf_fname + in (curmod, uu____803) | FStar_JsonHelper.LDInterfaceOfCurrentFile intf -> let uu____806 = FStar_Universal.load_interface_decls env - intf.FStar_JsonHelper.tf_fname in + intf.FStar_JsonHelper.tf_fname + in (curmod, uu____806) | FStar_JsonHelper.PushFragment frag -> FStar_Universal.tc_one_fragment curmod env frag - | FStar_JsonHelper.Noop -> (curmod, env) + | FStar_JsonHelper.Noop -> (curmod, env) + type name_tracking_event = | NTAlias of (FStar_Ident.lid * FStar_Ident.ident * FStar_Ident.lid) | NTOpen of (FStar_Ident.lid * FStar_Syntax_DsEnv.open_module_or_namespace) | NTInclude of (FStar_Ident.lid * FStar_Ident.lid) - | NTBinding of (FStar_Syntax_Syntax.binding, - FStar_TypeChecker_Env.sig_binding) FStar_Util.either + | NTBinding of + (FStar_Syntax_Syntax.binding,FStar_TypeChecker_Env.sig_binding) + FStar_Util.either let (uu___is_NTAlias : name_tracking_event -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | NTAlias _0 -> true | uu____862 -> false + let (__proj__NTAlias__item___0 : name_tracking_event -> (FStar_Ident.lid * FStar_Ident.ident * FStar_Ident.lid)) - = fun projectee -> match projectee with | NTAlias _0 -> _0 + = fun projectee -> match projectee with | NTAlias _0 -> _0 let (uu___is_NTOpen : name_tracking_event -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | NTOpen _0 -> true | uu____903 -> false + let (__proj__NTOpen__item___0 : name_tracking_event -> (FStar_Ident.lid * FStar_Syntax_DsEnv.open_module_or_namespace)) - = fun projectee -> match projectee with | NTOpen _0 -> _0 + = fun projectee -> match projectee with | NTOpen _0 -> _0 let (uu___is_NTInclude : name_tracking_event -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | NTInclude _0 -> true | uu____938 -> false + let (__proj__NTInclude__item___0 : name_tracking_event -> (FStar_Ident.lid * FStar_Ident.lid)) = - fun projectee -> match projectee with | NTInclude _0 -> _0 + fun projectee -> match projectee with | NTInclude _0 -> _0 let (uu___is_NTBinding : name_tracking_event -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | NTBinding _0 -> true | uu____973 -> false + let (__proj__NTBinding__item___0 : name_tracking_event -> - (FStar_Syntax_Syntax.binding, FStar_TypeChecker_Env.sig_binding) + (FStar_Syntax_Syntax.binding,FStar_TypeChecker_Env.sig_binding) FStar_Util.either) - = fun projectee -> match projectee with | NTBinding _0 -> _0 + = fun projectee -> match projectee with | NTBinding _0 -> _0 let (query_of_ids : FStar_Ident.ident Prims.list -> FStar_Interactive_CompletionTable.query) = - fun ids -> FStar_List.map FStar_Ident.text_of_id ids + fun ids -> FStar_List.map FStar_Ident.text_of_id ids let (query_of_lid : FStar_Ident.lident -> FStar_Interactive_CompletionTable.query) = - fun lid -> + fun lid -> query_of_ids (FStar_List.append lid.FStar_Ident.ns [lid.FStar_Ident.ident]) + let (update_names_from_event : Prims.string -> FStar_Interactive_CompletionTable.table -> name_tracking_event -> FStar_Interactive_CompletionTable.table) = - fun cur_mod_str -> - fun table -> - fun evt -> - let is_cur_mod lid = lid.FStar_Ident.str = cur_mod_str in + fun cur_mod_str -> + fun table -> + fun evt -> + let is_cur_mod lid = lid.FStar_Ident.str = cur_mod_str in match evt with - | NTAlias (host, id1, included) -> + | NTAlias (host,id1,included) -> if is_cur_mod host then - let uu____1041 = FStar_Ident.text_of_id id1 in - let uu____1043 = query_of_lid included in + let uu____1041 = FStar_Ident.text_of_id id1 in + let uu____1043 = query_of_lid included in FStar_Interactive_CompletionTable.register_alias table uu____1041 [] uu____1043 else table - | NTOpen (host, (included, kind)) -> + | NTOpen (host,(included,kind)) -> if is_cur_mod host then - let uu____1051 = query_of_lid included in + let uu____1051 = query_of_lid included in FStar_Interactive_CompletionTable.register_open table (kind = FStar_Syntax_DsEnv.Open_module) [] uu____1051 else table - | NTInclude (host, included) -> + | NTInclude (host,included) -> let uu____1057 = - if is_cur_mod host then [] else query_of_lid host in - let uu____1062 = query_of_lid included in + if is_cur_mod host then [] else query_of_lid host in + let uu____1062 = query_of_lid included in FStar_Interactive_CompletionTable.register_include table uu____1057 uu____1062 | NTBinding binding -> let lids = match binding with | FStar_Util.Inl (FStar_Syntax_Syntax.Binding_lid - (lid, uu____1074)) -> [lid] - | FStar_Util.Inr (lids, uu____1092) -> lids - | uu____1097 -> [] in + (lid,uu____1074)) -> [lid] + | FStar_Util.Inr (lids,uu____1092) -> lids + | uu____1097 -> [] in FStar_List.fold_left - (fun tbl -> - fun lid -> + (fun tbl -> + fun lid -> let ns_query = if lid.FStar_Ident.nsstr = cur_mod_str then [] - else query_of_ids lid.FStar_Ident.ns in + else query_of_ids lid.FStar_Ident.ns in let uu____1114 = - FStar_Ident.text_of_id lid.FStar_Ident.ident in + FStar_Ident.text_of_id lid.FStar_Ident.ident in FStar_Interactive_CompletionTable.insert tbl ns_query uu____1114 lid) table lids + let (commit_name_tracking' : FStar_Syntax_Syntax.modul FStar_Pervasives_Native.option -> FStar_Interactive_CompletionTable.table -> name_tracking_event Prims.list -> FStar_Interactive_CompletionTable.table) = - fun cur_mod -> - fun names1 -> - fun name_events -> + fun cur_mod -> + fun names1 -> + fun name_events -> let cur_mod_str = match cur_mod with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some md -> - let uu____1145 = FStar_Syntax_Syntax.mod_name md in - uu____1145.FStar_Ident.str in - let updater = update_names_from_event cur_mod_str in + let uu____1145 = FStar_Syntax_Syntax.mod_name md in + uu____1145.FStar_Ident.str + in + let updater = update_names_from_event cur_mod_str in FStar_List.fold_left updater names1 name_events + let (commit_name_tracking : FStar_JsonHelper.repl_state -> name_tracking_event Prims.list -> FStar_JsonHelper.repl_state) = - fun st -> - fun name_events -> + fun st -> + fun name_events -> let names1 = commit_name_tracking' st.FStar_JsonHelper.repl_curmod - st.FStar_JsonHelper.repl_names name_events in - let uu___166_1171 = st in + st.FStar_JsonHelper.repl_names name_events + in + let uu___166_1171 = st in { FStar_JsonHelper.repl_line = (uu___166_1171.FStar_JsonHelper.repl_line); @@ -473,86 +511,94 @@ let (commit_name_tracking : (uu___166_1171.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = names1 } + let (fresh_name_tracking_hooks : unit -> (name_tracking_event Prims.list FStar_ST.ref * FStar_Syntax_DsEnv.dsenv_hooks * FStar_TypeChecker_Env.tcenv_hooks)) = - fun uu____1187 -> - let events = FStar_Util.mk_ref [] in + fun uu____1187 -> + let events = FStar_Util.mk_ref [] in let push_event evt = let uu____1201 = - let uu____1204 = FStar_ST.op_Bang events in evt :: uu____1204 in - FStar_ST.op_Colon_Equals events uu____1201 in + let uu____1204 = FStar_ST.op_Bang events in evt :: uu____1204 in + FStar_ST.op_Colon_Equals events uu____1201 in (events, { FStar_Syntax_DsEnv.ds_push_open_hook = - (fun dsenv1 -> - fun op -> + (fun dsenv1 -> + fun op -> let uu____1265 = let uu____1266 = - let uu____1271 = FStar_Syntax_DsEnv.current_module dsenv1 in - (uu____1271, op) in - NTOpen uu____1266 in + let uu____1271 = FStar_Syntax_DsEnv.current_module dsenv1 + in + (uu____1271, op) in + NTOpen uu____1266 in push_event uu____1265); FStar_Syntax_DsEnv.ds_push_include_hook = - (fun dsenv1 -> - fun ns -> + (fun dsenv1 -> + fun ns -> let uu____1277 = let uu____1278 = - let uu____1283 = FStar_Syntax_DsEnv.current_module dsenv1 in - (uu____1283, ns) in - NTInclude uu____1278 in + let uu____1283 = FStar_Syntax_DsEnv.current_module dsenv1 + in + (uu____1283, ns) in + NTInclude uu____1278 in push_event uu____1277); FStar_Syntax_DsEnv.ds_push_module_abbrev_hook = - (fun dsenv1 -> - fun x -> - fun l -> + (fun dsenv1 -> + fun x -> + fun l -> let uu____1291 = let uu____1292 = let uu____1299 = - FStar_Syntax_DsEnv.current_module dsenv1 in - (uu____1299, x, l) in - NTAlias uu____1292 in + FStar_Syntax_DsEnv.current_module dsenv1 in + (uu____1299, x, l) in + NTAlias uu____1292 in push_event uu____1291) }, { FStar_TypeChecker_Env.tc_push_in_gamma_hook = - (fun uu____1304 -> fun s -> push_event (NTBinding s)) + (fun uu____1304 -> fun s -> push_event (NTBinding s)) }) + let (track_name_changes : FStar_TypeChecker_Env.env_t -> (FStar_TypeChecker_Env.env_t * (FStar_TypeChecker_Env.env_t -> (FStar_TypeChecker_Env.env_t * name_tracking_event Prims.list)))) = - fun env -> + fun env -> let set_hooks dshooks tchooks env1 = let uu____1358 = FStar_Universal.with_dsenv_of_tcenv env1 - (fun dsenv1 -> - let uu____1366 = FStar_Syntax_DsEnv.set_ds_hooks dsenv1 dshooks in - ((), uu____1366)) in + (fun dsenv1 -> + let uu____1366 = FStar_Syntax_DsEnv.set_ds_hooks dsenv1 dshooks + in + ((), uu____1366)) + in match uu____1358 with - | ((), tcenv') -> FStar_TypeChecker_Env.set_tc_hooks tcenv' tchooks in + | ((),tcenv') -> FStar_TypeChecker_Env.set_tc_hooks tcenv' tchooks in let uu____1368 = let uu____1373 = - FStar_Syntax_DsEnv.ds_hooks env.FStar_TypeChecker_Env.dsenv in - let uu____1374 = FStar_TypeChecker_Env.tc_hooks env in - (uu____1373, uu____1374) in + FStar_Syntax_DsEnv.ds_hooks env.FStar_TypeChecker_Env.dsenv in + let uu____1374 = FStar_TypeChecker_Env.tc_hooks env in + (uu____1373, uu____1374) in match uu____1368 with - | (old_dshooks, old_tchooks) -> - let uu____1390 = fresh_name_tracking_hooks () in + | (old_dshooks,old_tchooks) -> + let uu____1390 = fresh_name_tracking_hooks () in (match uu____1390 with - | (events, new_dshooks, new_tchooks) -> - let uu____1425 = set_hooks new_dshooks new_tchooks env in + | (events,new_dshooks,new_tchooks) -> + let uu____1425 = set_hooks new_dshooks new_tchooks env in (uu____1425, - ((fun env1 -> - let uu____1439 = set_hooks old_dshooks old_tchooks env1 in + ((fun env1 -> + let uu____1439 = set_hooks old_dshooks old_tchooks env1 + in let uu____1440 = - let uu____1443 = FStar_ST.op_Bang events in - FStar_List.rev uu____1443 in + let uu____1443 = FStar_ST.op_Bang events in + FStar_List.rev uu____1443 in (uu____1439, uu____1440))))) + let (repl_tx : FStar_JsonHelper.repl_state -> push_kind -> @@ -560,25 +606,26 @@ let (repl_tx : (FStar_JsonHelper.assoct FStar_Pervasives_Native.option * FStar_JsonHelper.repl_state)) = - fun st -> - fun push_kind -> - fun task -> + fun st -> + fun push_kind -> + fun task -> try - (fun uu___202_1512 -> + (fun uu___202_1512 -> match () with | () -> - let st1 = push_repl "repl_tx" push_kind task st in + let st1 = push_repl "repl_tx" push_kind task st in let uu____1521 = - track_name_changes st1.FStar_JsonHelper.repl_env in + track_name_changes st1.FStar_JsonHelper.repl_env in (match uu____1521 with - | (env, finish_name_tracking) -> + | (env,finish_name_tracking) -> let uu____1561 = run_repl_task st1.FStar_JsonHelper.repl_curmod env - task in + task + in (match uu____1561 with - | (curmod, env1) -> + | (curmod,env1) -> let st2 = - let uu___228_1575 = st1 in + let uu___228_1575 = st1 in { FStar_JsonHelper.repl_line = (uu___228_1575.FStar_JsonHelper.repl_line); @@ -594,12 +641,12 @@ let (repl_tx : (uu___228_1575.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = (uu___228_1575.FStar_JsonHelper.repl_names) - } in - let uu____1576 = finish_name_tracking env1 in + } in + let uu____1576 = finish_name_tracking env1 in (match uu____1576 with - | (env2, name_events) -> + | (env2,name_events) -> let uu____1595 = - commit_name_tracking st2 name_events in + commit_name_tracking st2 name_events in (FStar_Pervasives_Native.None, uu____1595))))) () with @@ -607,72 +654,81 @@ let (repl_tx : let uu____1610 = let uu____1613 = FStar_JsonHelper.js_diag st.FStar_JsonHelper.repl_fname msg - FStar_Pervasives_Native.None in - FStar_Pervasives_Native.Some uu____1613 in + FStar_Pervasives_Native.None + in + FStar_Pervasives_Native.Some uu____1613 in (uu____1610, st) - | FStar_Util.SigInt -> + | FStar_Util.SigInt -> (FStar_Util.print_error "[E] Interrupt"; (FStar_Pervasives_Native.None, st)) - | FStar_Errors.Error (e, msg, r) -> + | FStar_Errors.Error (e,msg,r) -> let uu____1625 = let uu____1628 = FStar_JsonHelper.js_diag st.FStar_JsonHelper.repl_fname msg - (FStar_Pervasives_Native.Some r) in - FStar_Pervasives_Native.Some uu____1628 in + (FStar_Pervasives_Native.Some r) + in + FStar_Pervasives_Native.Some uu____1628 in (uu____1625, st) - | FStar_Errors.Err (e, msg) -> + | FStar_Errors.Err (e,msg) -> let uu____1635 = let uu____1638 = FStar_JsonHelper.js_diag st.FStar_JsonHelper.repl_fname msg - FStar_Pervasives_Native.None in - FStar_Pervasives_Native.Some uu____1638 in + FStar_Pervasives_Native.None + in + FStar_Pervasives_Native.Some uu____1638 in (uu____1635, st) - | FStar_Errors.Stop -> + | FStar_Errors.Stop -> (FStar_Util.print_error "[E] Stop"; (FStar_Pervasives_Native.None, st)) + let (tf_of_fname : Prims.string -> FStar_JsonHelper.timed_fname) = - fun fname -> + fun fname -> let uu____1653 = - FStar_Parser_ParseIt.get_file_last_modification_time fname in + FStar_Parser_ParseIt.get_file_last_modification_time fname in { FStar_JsonHelper.tf_fname = fname; FStar_JsonHelper.tf_modtime = uu____1653 } + let (update_task_timestamps : FStar_JsonHelper.repl_task -> FStar_JsonHelper.repl_task) = - fun uu___0_1659 -> + fun uu___0_1659 -> match uu___0_1659 with - | FStar_JsonHelper.LDInterleaved (intf, impl) -> + | FStar_JsonHelper.LDInterleaved (intf,impl) -> let uu____1662 = - let uu____1667 = tf_of_fname intf.FStar_JsonHelper.tf_fname in - let uu____1668 = tf_of_fname impl.FStar_JsonHelper.tf_fname in - (uu____1667, uu____1668) in + let uu____1667 = tf_of_fname intf.FStar_JsonHelper.tf_fname in + let uu____1668 = tf_of_fname impl.FStar_JsonHelper.tf_fname in + (uu____1667, uu____1668) in FStar_JsonHelper.LDInterleaved uu____1662 | FStar_JsonHelper.LDSingle intf_or_impl -> - let uu____1670 = tf_of_fname intf_or_impl.FStar_JsonHelper.tf_fname in + let uu____1670 = tf_of_fname intf_or_impl.FStar_JsonHelper.tf_fname + in FStar_JsonHelper.LDSingle uu____1670 | FStar_JsonHelper.LDInterfaceOfCurrentFile intf -> - let uu____1672 = tf_of_fname intf.FStar_JsonHelper.tf_fname in + let uu____1672 = tf_of_fname intf.FStar_JsonHelper.tf_fname in FStar_JsonHelper.LDInterfaceOfCurrentFile uu____1672 | other -> other + let (repl_ldtx : FStar_JsonHelper.repl_state -> FStar_JsonHelper.repl_task Prims.list -> either_replst) = - fun st -> - fun tasks -> + fun st -> + fun tasks -> let rec revert_many st1 uu___1_1709 = match uu___1_1709 with | [] -> st1 - | (_id, (task, _st'))::entries -> - let st' = pop_repl "repl_ldtx" st1 in + | (_id,(task,_st'))::entries -> + let st' = pop_repl "repl_ldtx" st1 in let dep_graph1 = - FStar_TypeChecker_Env.dep_graph st1.FStar_JsonHelper.repl_env in + FStar_TypeChecker_Env.dep_graph st1.FStar_JsonHelper.repl_env + in let st'1 = - let uu___260_1758 = st' in + let uu___260_1758 = st' in let uu____1759 = FStar_TypeChecker_Env.set_dep_graph - st'.FStar_JsonHelper.repl_env dep_graph1 in + st'.FStar_JsonHelper.repl_env dep_graph1 + in { FStar_JsonHelper.repl_line = (uu___260_1758.FStar_JsonHelper.repl_line); @@ -689,21 +745,22 @@ let (repl_ldtx : (uu___260_1758.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = (uu___260_1758.FStar_JsonHelper.repl_names) - } in - revert_many st'1 entries in + } in + revert_many st'1 entries + in let rec aux st1 tasks1 previous = match (tasks1, previous) with - | ([], []) -> FStar_Util.Inl st1 - | (task::tasks2, []) -> - let timestamped_task = update_task_timestamps task in - let uu____1809 = repl_tx st1 LaxCheck timestamped_task in + | ([],[]) -> FStar_Util.Inl st1 + | (task::tasks2,[]) -> + let timestamped_task = update_task_timestamps task in + let uu____1809 = repl_tx st1 LaxCheck timestamped_task in (match uu____1809 with - | (diag1, st2) -> + | (diag1,st2) -> if Prims.op_Negation (FStar_Util.is_some diag1) then let uu____1831 = - let uu___280_1832 = st2 in - let uu____1833 = FStar_ST.op_Bang repl_stack in + let uu___280_1832 = st2 in + let uu____1833 = FStar_ST.op_Bang repl_stack in { FStar_JsonHelper.repl_line = (uu___280_1832.FStar_JsonHelper.repl_line); @@ -720,38 +777,42 @@ let (repl_ldtx : (uu___280_1832.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = (uu___280_1832.FStar_JsonHelper.repl_names) - } in + } in aux uu____1831 tasks2 [] else FStar_Util.Inr st2) - | (task::tasks2, prev::previous1) when - let uu____1877 = update_task_timestamps task in + | (task::tasks2,prev::previous1) when + let uu____1877 = update_task_timestamps task in (FStar_Pervasives_Native.fst (FStar_Pervasives_Native.snd prev)) = uu____1877 -> aux st1 tasks2 previous1 - | (tasks2, previous1) -> - let uu____1892 = revert_many st1 previous1 in - aux uu____1892 tasks2 [] in + | (tasks2,previous1) -> + let uu____1892 = revert_many st1 previous1 in + aux uu____1892 tasks2 [] + in aux st tasks (FStar_List.rev st.FStar_JsonHelper.repl_deps_stack) + let (ld_deps : FStar_JsonHelper.repl_state -> - ((FStar_JsonHelper.repl_state * Prims.string Prims.list), - FStar_JsonHelper.repl_state) FStar_Util.either) + ((FStar_JsonHelper.repl_state * Prims.string Prims.list),FStar_JsonHelper.repl_state) + FStar_Util.either) = - fun st -> + fun st -> try - (fun uu___294_1937 -> + (fun uu___294_1937 -> match () with | () -> let uu____1949 = deps_and_repl_ld_tasks_of_our_file - st.FStar_JsonHelper.repl_fname in + st.FStar_JsonHelper.repl_fname + in (match uu____1949 with - | (deps, tasks, dep_graph1) -> + | (deps,tasks,dep_graph1) -> let st1 = - let uu___304_1986 = st in + let uu___304_1986 = st in let uu____1987 = FStar_TypeChecker_Env.set_dep_graph - st.FStar_JsonHelper.repl_env dep_graph1 in + st.FStar_JsonHelper.repl_env dep_graph1 + in { FStar_JsonHelper.repl_line = (uu___304_1986.FStar_JsonHelper.repl_line); @@ -768,72 +829,81 @@ let (ld_deps : (uu___304_1986.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = (uu___304_1986.FStar_JsonHelper.repl_names) - } in - let uu____1988 = repl_ldtx st1 tasks in + } in + let uu____1988 = repl_ldtx st1 tasks in (match uu____1988 with | FStar_Util.Inr st2 -> FStar_Util.Inr st2 | FStar_Util.Inl st2 -> FStar_Util.Inl (st2, deps)))) () with | uu___293_2021 -> (FStar_Util.print_error "[E] Failed to load deps"; FStar_Util.Inr st) + let (add_module_completions : Prims.string -> Prims.string Prims.list -> FStar_Interactive_CompletionTable.table -> FStar_Interactive_CompletionTable.table) = - fun this_fname -> - fun deps -> - fun table -> + fun this_fname -> + fun deps -> + fun table -> let capitalize str = if str = "" then str else (let first = FStar_String.substring str (Prims.parse_int "0") - (Prims.parse_int "1") in + (Prims.parse_int "1") + in let uu____2085 = FStar_String.substring str (Prims.parse_int "1") - ((FStar_String.length str) - (Prims.parse_int "1")) in - Prims.op_Hat (FStar_String.uppercase first) uu____2085) in - let mods = FStar_Parser_Dep.build_inclusion_candidates_list () in + ((FStar_String.length str) - (Prims.parse_int "1")) + in + Prims.op_Hat (FStar_String.uppercase first) uu____2085) + in + let mods = FStar_Parser_Dep.build_inclusion_candidates_list () in let loaded_mods_set = - let uu____2102 = FStar_Util.psmap_empty () in + let uu____2102 = FStar_Util.psmap_empty () in let uu____2107 = - let uu____2111 = FStar_Options.prims () in uu____2111 :: deps in + let uu____2111 = FStar_Options.prims () in uu____2111 :: deps + in FStar_List.fold_left - (fun acc -> - fun dep1 -> - let uu____2127 = FStar_Parser_Dep.lowercase_module_name dep1 in + (fun acc -> + fun dep1 -> + let uu____2127 = FStar_Parser_Dep.lowercase_module_name dep1 + in FStar_Util.psmap_add acc uu____2127 true) uu____2102 - uu____2107 in + uu____2107 + in let loaded modname = - FStar_Util.psmap_find_default loaded_mods_set modname false in - let this_mod_key = FStar_Parser_Dep.lowercase_module_name this_fname in + FStar_Util.psmap_find_default loaded_mods_set modname false in + let this_mod_key = FStar_Parser_Dep.lowercase_module_name this_fname + in FStar_List.fold_left - (fun table1 -> - fun uu____2156 -> + (fun table1 -> + fun uu____2156 -> match uu____2156 with - | (modname, mod_path) -> - let mod_key = FStar_String.lowercase modname in + | (modname,mod_path) -> + let mod_key = FStar_String.lowercase modname in if this_mod_key = mod_key then table1 else (let ns_query = - let uu____2179 = capitalize modname in - FStar_Util.split uu____2179 "." in - let uu____2182 = loaded mod_key in + let uu____2179 = capitalize modname in + FStar_Util.split uu____2179 "." in + let uu____2182 = loaded mod_key in FStar_Interactive_CompletionTable.register_module_path table1 uu____2182 mod_path ns_query)) table (FStar_List.rev mods) + let (full_lax : Prims.string -> FStar_JsonHelper.repl_state -> (FStar_JsonHelper.assoct FStar_Pervasives_Native.option * FStar_JsonHelper.repl_state)) = - fun text -> - fun st -> + fun text -> + fun st -> FStar_TypeChecker_Env.toggle_id_info st.FStar_JsonHelper.repl_env true; (let frag = { @@ -841,15 +911,16 @@ let (full_lax : FStar_Parser_ParseIt.frag_text = text; FStar_Parser_ParseIt.frag_line = (Prims.parse_int "1"); FStar_Parser_ParseIt.frag_col = (Prims.parse_int "0") - } in - let uu____2214 = ld_deps st in + } in + let uu____2214 = ld_deps st in match uu____2214 with - | FStar_Util.Inl (st1, deps) -> + | FStar_Util.Inl (st1,deps) -> let names1 = add_module_completions st1.FStar_JsonHelper.repl_fname deps - st1.FStar_JsonHelper.repl_names in + st1.FStar_JsonHelper.repl_names + in repl_tx - (let uu___341_2250 = st1 in + (let uu___341_2250 = st1 in { FStar_JsonHelper.repl_line = (uu___341_2250.FStar_JsonHelper.repl_line); @@ -867,4 +938,5 @@ let (full_lax : (uu___341_2250.FStar_JsonHelper.repl_stdin); FStar_JsonHelper.repl_names = names1 }) LaxCheck (FStar_JsonHelper.PushFragment frag) - | FStar_Util.Inr st1 -> (FStar_Pervasives_Native.None, st1)) \ No newline at end of file + | FStar_Util.Inr st1 -> (FStar_Pervasives_Native.None, st1)) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_QueryHelper.ml b/src/ocaml-output/FStar_QueryHelper.ml index d1a4ad22835..23315248fb2 100644 --- a/src/ocaml-output/FStar_QueryHelper.ml +++ b/src/ocaml-output/FStar_QueryHelper.ml @@ -8,133 +8,149 @@ type sl_reponse = slr_doc: Prims.string FStar_Pervasives_Native.option ; slr_def: Prims.string FStar_Pervasives_Native.option } let (__proj__Mksl_reponse__item__slr_name : sl_reponse -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { slr_name; slr_def_range; slr_typ; slr_doc; slr_def;_} -> slr_name + let (__proj__Mksl_reponse__item__slr_def_range : sl_reponse -> FStar_Range.range FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { slr_name; slr_def_range; slr_typ; slr_doc; slr_def;_} -> slr_def_range + let (__proj__Mksl_reponse__item__slr_typ : sl_reponse -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { slr_name; slr_def_range; slr_typ; slr_doc; slr_def;_} -> slr_typ + let (__proj__Mksl_reponse__item__slr_doc : sl_reponse -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { slr_name; slr_def_range; slr_typ; slr_doc; slr_def;_} -> slr_doc + let (__proj__Mksl_reponse__item__slr_def : sl_reponse -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { slr_name; slr_def_range; slr_typ; slr_doc; slr_def;_} -> slr_def + let with_printed_effect_args : 'Auu____194 . (unit -> 'Auu____194) -> 'Auu____194 = - fun k -> + fun k -> FStar_Options.with_saved_options - (fun uu____207 -> + (fun uu____207 -> FStar_Options.set_option "print_effect_args" (FStar_Options.Bool true); k ()) + let (term_to_string : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> Prims.string) = - fun tcenv -> - fun t -> + fun tcenv -> + fun t -> with_printed_effect_args - (fun uu____225 -> FStar_TypeChecker_Normalize.term_to_string tcenv t) + (fun uu____225 -> FStar_TypeChecker_Normalize.term_to_string tcenv t) + let (sigelt_to_string : FStar_Syntax_Syntax.sigelt -> Prims.string) = - fun se -> + fun se -> with_printed_effect_args - (fun uu____235 -> FStar_Syntax_Print.sigelt_to_string se) + (fun uu____235 -> FStar_Syntax_Print.sigelt_to_string se) + let (symlookup : FStar_TypeChecker_Env.env -> Prims.string -> position FStar_Pervasives_Native.option -> Prims.string Prims.list -> sl_reponse FStar_Pervasives_Native.option) = - fun tcenv -> - fun symbol -> - fun pos_opt -> - fun requested_info -> + fun tcenv -> + fun symbol -> + fun pos_opt -> + fun requested_info -> let info_of_lid_str lid_str = let lid = let uu____293 = FStar_List.map FStar_Ident.id_of_text - (FStar_Util.split lid_str ".") in - FStar_Ident.lid_of_ids uu____293 in + (FStar_Util.split lid_str ".") + in + FStar_Ident.lid_of_ids uu____293 in let lid1 = let uu____299 = FStar_Syntax_DsEnv.resolve_to_fully_qualified_name - tcenv.FStar_TypeChecker_Env.dsenv lid in - FStar_All.pipe_left (FStar_Util.dflt lid) uu____299 in - let uu____304 = FStar_TypeChecker_Env.try_lookup_lid tcenv lid1 in + tcenv.FStar_TypeChecker_Env.dsenv lid + in + FStar_All.pipe_left (FStar_Util.dflt lid) uu____299 in + let uu____304 = FStar_TypeChecker_Env.try_lookup_lid tcenv lid1 + in FStar_All.pipe_right uu____304 (FStar_Util.map_option - (fun uu____361 -> + (fun uu____361 -> match uu____361 with - | ((uu____381, typ), r) -> - ((FStar_Util.Inr lid1), typ, r))) in + | ((uu____381,typ),r) -> ((FStar_Util.Inr lid1), typ, r))) + in let docs_of_lid lid = let uu____403 = FStar_Syntax_DsEnv.try_lookup_doc - tcenv.FStar_TypeChecker_Env.dsenv lid in + tcenv.FStar_TypeChecker_Env.dsenv lid + in FStar_All.pipe_right uu____403 - (FStar_Util.map_option FStar_Pervasives_Native.fst) in + (FStar_Util.map_option FStar_Pervasives_Native.fst) + in let def_of_lid lid = - let uu____469 = FStar_TypeChecker_Env.lookup_qname tcenv lid in + let uu____469 = FStar_TypeChecker_Env.lookup_qname tcenv lid in FStar_Util.bind_opt uu____469 - (fun uu___0_514 -> + (fun uu___0_514 -> match uu___0_514 with - | (FStar_Util.Inr (se, uu____537), uu____538) -> - let uu____567 = sigelt_to_string se in + | (FStar_Util.Inr (se,uu____537),uu____538) -> + let uu____567 = sigelt_to_string se in FStar_Pervasives_Native.Some uu____567 - | uu____570 -> FStar_Pervasives_Native.None) in + | uu____570 -> FStar_Pervasives_Native.None) + in let info_at_pos_opt = FStar_Util.bind_opt pos_opt - (fun uu____619 -> + (fun uu____619 -> match uu____619 with - | (file, row, col) -> - FStar_TypeChecker_Err.info_at_pos tcenv file row col) in + | (file,row,col) -> + FStar_TypeChecker_Err.info_at_pos tcenv file row col) + in let info_opt = match info_at_pos_opt with | FStar_Pervasives_Native.Some uu____669 -> info_at_pos_opt - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> if symbol = "" then FStar_Pervasives_Native.None - else info_of_lid_str symbol in + else info_of_lid_str symbol + in match info_opt with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (name_or_lid, typ, rng) -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (name_or_lid,typ,rng) -> let name = match name_or_lid with | FStar_Util.Inl name -> name - | FStar_Util.Inr lid -> FStar_Ident.string_of_lid lid in + | FStar_Util.Inr lid -> FStar_Ident.string_of_lid lid in let typ_str = if FStar_List.mem "type" requested_info then - let uu____787 = term_to_string tcenv typ in + let uu____787 = term_to_string tcenv typ in FStar_Pervasives_Native.Some uu____787 - else FStar_Pervasives_Native.None in + else FStar_Pervasives_Native.None in let doc_str = match name_or_lid with | FStar_Util.Inr lid when FStar_List.mem "documentation" requested_info -> docs_of_lid lid - | uu____804 -> FStar_Pervasives_Native.None in + | uu____804 -> FStar_Pervasives_Native.None in let def_str = match name_or_lid with | FStar_Util.Inr lid when FStar_List.mem "definition" requested_info -> def_of_lid lid - | uu____822 -> FStar_Pervasives_Native.None in + | uu____822 -> FStar_Pervasives_Native.None in let def_range1 = if FStar_List.mem "defined-at" requested_info then FStar_Pervasives_Native.Some rng - else FStar_Pervasives_Native.None in + else FStar_Pervasives_Native.None in FStar_Pervasives_Native.Some { slr_name = name; @@ -143,87 +159,94 @@ let (symlookup : slr_doc = doc_str; slr_def = def_str } + let mod_filter : 'Auu____844 . ('Auu____844 * FStar_Interactive_CompletionTable.mod_symbol) -> ('Auu____844 * FStar_Interactive_CompletionTable.mod_symbol) FStar_Pervasives_Native.option = - fun uu___1_859 -> + fun uu___1_859 -> match uu___1_859 with - | (uu____864, FStar_Interactive_CompletionTable.Namespace uu____865) -> + | (uu____864,FStar_Interactive_CompletionTable.Namespace uu____865) -> FStar_Pervasives_Native.None - | (uu____870, FStar_Interactive_CompletionTable.Module + | (uu____870,FStar_Interactive_CompletionTable.Module { FStar_Interactive_CompletionTable.mod_name = uu____871; FStar_Interactive_CompletionTable.mod_path = uu____872; - FStar_Interactive_CompletionTable.mod_loaded = true;_}) + FStar_Interactive_CompletionTable.mod_loaded = true ;_}) -> FStar_Pervasives_Native.None - | (pth, FStar_Interactive_CompletionTable.Module md) -> + | (pth,FStar_Interactive_CompletionTable.Module md) -> let uu____882 = let uu____887 = let uu____888 = - let uu___99_889 = md in + let uu___99_889 = md in let uu____890 = - let uu____892 = FStar_Interactive_CompletionTable.mod_name md in - Prims.op_Hat uu____892 "." in + let uu____892 = FStar_Interactive_CompletionTable.mod_name md + in + Prims.op_Hat uu____892 "." in { FStar_Interactive_CompletionTable.mod_name = uu____890; FStar_Interactive_CompletionTable.mod_path = (uu___99_889.FStar_Interactive_CompletionTable.mod_path); FStar_Interactive_CompletionTable.mod_loaded = (uu___99_889.FStar_Interactive_CompletionTable.mod_loaded) - } in - FStar_Interactive_CompletionTable.Module uu____888 in - (pth, uu____887) in + } in + FStar_Interactive_CompletionTable.Module uu____888 in + (pth, uu____887) in FStar_Pervasives_Native.Some uu____882 + let (ck_completion : FStar_JsonHelper.repl_state -> Prims.string -> FStar_Interactive_CompletionTable.completion_result Prims.list) = - fun st -> - fun search_term -> - let needle = FStar_Util.split search_term "." in + fun st -> + fun search_term -> + let needle = FStar_Util.split search_term "." in let mods_and_nss = FStar_Interactive_CompletionTable.autocomplete_mod_or_ns - st.FStar_JsonHelper.repl_names needle mod_filter in + st.FStar_JsonHelper.repl_names needle mod_filter + in let lids = FStar_Interactive_CompletionTable.autocomplete_lid - st.FStar_JsonHelper.repl_names needle in + st.FStar_JsonHelper.repl_names needle + in FStar_List.append lids mods_and_nss + let (deflookup : FStar_TypeChecker_Env.env -> FStar_JsonHelper.txdoc_pos -> FStar_JsonHelper.assoct FStar_Pervasives_Native.option) = - fun env -> - fun pos -> + fun env -> + fun pos -> let uu____942 = let uu____945 = - let uu____948 = FStar_JsonHelper.pos_munge pos in - FStar_Pervasives_Native.Some uu____948 in - symlookup env "" uu____945 ["defined-at"] in + let uu____948 = FStar_JsonHelper.pos_munge pos in + FStar_Pervasives_Native.Some uu____948 in + symlookup env "" uu____945 ["defined-at"] in match uu____942 with | FStar_Pervasives_Native.Some { slr_name = uu____955; slr_def_range = FStar_Pervasives_Native.Some r; slr_typ = uu____957; slr_doc = uu____958; slr_def = uu____959;_} -> - let uu____970 = FStar_JsonHelper.js_loclink r in + let uu____970 = FStar_JsonHelper.js_loclink r in FStar_JsonHelper.resultResponse uu____970 | uu____971 -> FStar_JsonHelper.nullResponse + let (hoverlookup : FStar_TypeChecker_Env.env -> FStar_JsonHelper.txdoc_pos -> FStar_JsonHelper.assoct FStar_Pervasives_Native.option) = - fun env -> - fun pos -> + fun env -> + fun pos -> let uu____989 = let uu____992 = - let uu____995 = FStar_JsonHelper.pos_munge pos in - FStar_Pervasives_Native.Some uu____995 in - symlookup env "" uu____992 ["type"; "definition"] in + let uu____995 = FStar_JsonHelper.pos_munge pos in + FStar_Pervasives_Native.Some uu____995 in + symlookup env "" uu____992 ["type"; "definition"] in match uu____989 with | FStar_Pervasives_Native.Some { slr_name = n1; slr_def_range = uu____1005; @@ -232,7 +255,8 @@ let (hoverlookup : -> let hovertxt = FStar_Util.format2 "```fstar\n%s\n````\n---\n```fstar\n%s\n```" t - d in + d + in FStar_JsonHelper.resultResponse (FStar_Util.JsonAssoc [("contents", @@ -240,52 +264,61 @@ let (hoverlookup : [("kind", (FStar_Util.JsonStr "markdown")); ("value", (FStar_Util.JsonStr hovertxt))]))]) | uu____1054 -> FStar_JsonHelper.nullResponse + let (complookup : FStar_JsonHelper.repl_state -> FStar_JsonHelper.txdoc_pos -> FStar_JsonHelper.assoct FStar_Pervasives_Native.option) = - fun st -> - fun pos -> - let uu____1072 = FStar_JsonHelper.pos_munge pos in + fun st -> + fun pos -> + let uu____1072 = FStar_JsonHelper.pos_munge pos in match uu____1072 with - | (file, row, current_col) -> - let uu____1093 = FStar_Parser_ParseIt.read_vfs_entry file in + | (file,row,current_col) -> + let uu____1093 = FStar_Parser_ParseIt.read_vfs_entry file in (match uu____1093 with - | FStar_Pervasives_Native.Some (uu____1103, text) -> + | FStar_Pervasives_Native.Some (uu____1103,text) -> let rec find_col l = match l with | [] -> (Prims.parse_int "0") | h::t -> if (h = 32) && ((FStar_List.length t) < current_col) then (FStar_List.length t) + (Prims.parse_int "1") - else find_col t in + else find_col t + in let str = FStar_List.nth (FStar_Util.splitlines text) - (row - (Prims.parse_int "1")) in + (row - (Prims.parse_int "1")) + in let explode s = let rec exp i l = if i < (Prims.parse_int "0") then l else (let uu____1188 = - let uu____1192 = FStar_String.get s i in uu____1192 - :: l in - exp (i - (Prims.parse_int "1")) uu____1188) in - exp ((FStar_String.length s) - (Prims.parse_int "1")) [] in + let uu____1192 = FStar_String.get s i in uu____1192 + :: l + in + exp (i - (Prims.parse_int "1")) uu____1188) + in + exp ((FStar_String.length s) - (Prims.parse_int "1")) [] in let begin_col = let uu____1200 = - let uu____1204 = explode str in FStar_List.rev uu____1204 in - find_col uu____1200 in + let uu____1204 = explode str in FStar_List.rev uu____1204 + in + find_col uu____1200 in let term = - FStar_Util.substring str begin_col (current_col - begin_col) in - let items = ck_completion st term in + FStar_Util.substring str begin_col (current_col - begin_col) + in + let items = ck_completion st term in let l = FStar_List.map - (fun r -> + (fun r -> FStar_Util.JsonAssoc [("label", (FStar_Util.JsonStr (r.FStar_Interactive_CompletionTable.completion_candidate)))]) - items in - FStar_JsonHelper.resultResponse (FStar_Util.JsonList l)) \ No newline at end of file + items + in + FStar_JsonHelper.resultResponse (FStar_Util.JsonList l)) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Range.ml b/src/ocaml-output/FStar_Range.ml index 82c918e5cdd..fd4b5630be3 100644 --- a/src/ocaml-output/FStar_Range.ml +++ b/src/ocaml-output/FStar_Range.ml @@ -4,134 +4,150 @@ type pos = { line: Prims.int ; col: Prims.int }[@@deriving yojson,show] let (__proj__Mkpos__item__line : pos -> Prims.int) = - fun projectee -> match projectee with | { line; col;_} -> line + fun projectee -> match projectee with | { line; col;_} -> line let (__proj__Mkpos__item__col : pos -> Prims.int) = - fun projectee -> match projectee with | { line; col;_} -> col + fun projectee -> match projectee with | { line; col;_} -> col let (max : Prims.int -> Prims.int -> Prims.int) = - fun i -> fun j -> if i < j then j else i + fun i -> fun j -> if i < j then j else i let (pos_geq : pos -> pos -> Prims.bool) = - fun p1 -> - fun p2 -> + fun p1 -> + fun p2 -> (p1.line > p2.line) || ((p1.line = p2.line) && (p1.col >= p2.col)) + type rng = { file_name: file_name ; start_pos: pos ; end_pos: pos }[@@deriving yojson,show] let (__proj__Mkrng__item__file_name : rng -> file_name) = - fun projectee -> + fun projectee -> match projectee with | { file_name; start_pos; end_pos;_} -> file_name + let (__proj__Mkrng__item__start_pos : rng -> pos) = - fun projectee -> + fun projectee -> match projectee with | { file_name; start_pos; end_pos;_} -> start_pos + let (__proj__Mkrng__item__end_pos : rng -> pos) = - fun projectee -> + fun projectee -> match projectee with | { file_name; start_pos; end_pos;_} -> end_pos + type range = { def_range: rng ; use_range: rng }[@@deriving yojson,show] let (__proj__Mkrange__item__def_range : range -> rng) = - fun projectee -> + fun projectee -> match projectee with | { def_range; use_range;_} -> def_range + let (__proj__Mkrange__item__use_range : range -> rng) = - fun projectee -> + fun projectee -> match projectee with | { def_range; use_range;_} -> use_range + let (dummy_pos : pos) = - { line = (Prims.parse_int "0"); col = (Prims.parse_int "0") } + { line = (Prims.parse_int "0"); col = (Prims.parse_int "0") } let (dummy_rng : rng) = - { file_name = ""; start_pos = dummy_pos; end_pos = dummy_pos } -let (dummyRange : range) = { def_range = dummy_rng; use_range = dummy_rng } -let (use_range : range -> rng) = fun r -> r.use_range -let (def_range : range -> rng) = fun r -> r.def_range + { file_name = ""; start_pos = dummy_pos; end_pos = dummy_pos } +let (dummyRange : range) = { def_range = dummy_rng; use_range = dummy_rng } +let (use_range : range -> rng) = fun r -> r.use_range +let (def_range : range -> rng) = fun r -> r.def_range let (range_of_rng : rng -> rng -> range) = - fun d -> fun u -> { def_range = d; use_range = u } + fun d -> fun u -> { def_range = d; use_range = u } let (set_use_range : range -> rng -> range) = - fun r2 -> - fun use_rng -> + fun r2 -> + fun use_rng -> if use_rng <> dummy_rng then - let uu___35_192 = r2 in + let uu___35_192 = r2 in { def_range = (uu___35_192.def_range); use_range = use_rng } else r2 + let (set_def_range : range -> rng -> range) = - fun r2 -> - fun def_rng -> + fun r2 -> + fun def_rng -> if def_rng <> dummy_rng then - let uu___40_207 = r2 in + let uu___40_207 = r2 in { def_range = def_rng; use_range = (uu___40_207.use_range) } else r2 + let (mk_pos : Prims.int -> Prims.int -> pos) = - fun l -> - fun c -> + fun l -> + fun c -> { line = (max (Prims.parse_int "0") l); col = (max (Prims.parse_int "0") c) } + let (mk_rng : file_name -> pos -> pos -> rng) = - fun file_name -> - fun start_pos -> fun end_pos -> { file_name; start_pos; end_pos } + fun file_name -> + fun start_pos -> fun end_pos -> { file_name; start_pos; end_pos } + let (mk_range : Prims.string -> pos -> pos -> range) = - fun f -> fun b -> fun e -> let r = mk_rng f b e in range_of_rng r r + fun f -> fun b -> fun e -> let r = mk_rng f b e in range_of_rng r r let (union_rng : rng -> rng -> rng) = - fun r1 -> - fun r2 -> + fun r1 -> + fun r2 -> if r1.file_name <> r2.file_name then r2 else (let start_pos = if pos_geq r1.start_pos r2.start_pos then r2.start_pos - else r1.start_pos in + else r1.start_pos in let end_pos = - if pos_geq r1.end_pos r2.end_pos then r1.end_pos else r2.end_pos in + if pos_geq r1.end_pos r2.end_pos then r1.end_pos else r2.end_pos + in mk_rng r1.file_name start_pos end_pos) + let (union_ranges : range -> range -> range) = - fun r1 -> - fun r2 -> + fun r1 -> + fun r2 -> { def_range = (union_rng r1.def_range r2.def_range); use_range = (union_rng r1.use_range r2.use_range) } + let (rng_included : rng -> rng -> Prims.bool) = - fun r1 -> - fun r2 -> + fun r1 -> + fun r2 -> if r1.file_name <> r2.file_name then false else (pos_geq r1.start_pos r2.start_pos) && (pos_geq r2.end_pos r1.end_pos) + let (string_of_pos : pos -> Prims.string) = - fun pos -> - let uu____323 = FStar_Util.string_of_int pos.line in - let uu____325 = FStar_Util.string_of_int pos.col in + fun pos -> + let uu____323 = FStar_Util.string_of_int pos.line in + let uu____325 = FStar_Util.string_of_int pos.col in FStar_Util.format2 "%s,%s" uu____323 uu____325 + let (string_of_file_name : Prims.string -> Prims.string) = - fun f -> - let uu____337 = FStar_Options.ide () in + fun f -> + let uu____337 = FStar_Options.ide () in if uu____337 then try - (fun uu___67_344 -> + (fun uu___67_344 -> match () with | () -> let uu____346 = - let uu____350 = FStar_Util.basename f in - FStar_Options.find_file uu____350 in + let uu____350 = FStar_Util.basename f in + FStar_Options.find_file uu____350 in (match uu____346 with - | FStar_Pervasives_Native.None -> f + | FStar_Pervasives_Native.None -> f | FStar_Pervasives_Native.Some absolute_path -> absolute_path)) () with | uu___66_358 -> f else f + let (file_of_range : range -> Prims.string) = - fun r -> let f = (r.def_range).file_name in string_of_file_name f + fun r -> let f = (r.def_range).file_name in string_of_file_name f let (set_file_of_range : range -> Prims.string -> range) = - fun r -> - fun f -> - let uu___79_384 = r in + fun r -> + fun f -> + let uu___79_384 = r in { def_range = - (let uu___81_387 = r.def_range in + (let uu___81_387 = r.def_range in { file_name = f; start_pos = (uu___81_387.start_pos); @@ -139,124 +155,142 @@ let (set_file_of_range : range -> Prims.string -> range) = }); use_range = (uu___79_384.use_range) } + let (string_of_rng : rng -> Prims.string) = - fun r -> - let uu____395 = string_of_file_name r.file_name in - let uu____397 = string_of_pos r.start_pos in - let uu____399 = string_of_pos r.end_pos in + fun r -> + let uu____395 = string_of_file_name r.file_name in + let uu____397 = string_of_pos r.start_pos in + let uu____399 = string_of_pos r.end_pos in FStar_Util.format3 "%s(%s-%s)" uu____395 uu____397 uu____399 + let (string_of_def_range : range -> Prims.string) = - fun r -> string_of_rng r.def_range + fun r -> string_of_rng r.def_range let (string_of_use_range : range -> Prims.string) = - fun r -> string_of_rng r.use_range + fun r -> string_of_rng r.use_range let (string_of_range : range -> Prims.string) = - fun r -> string_of_def_range r -let (start_of_range : range -> pos) = fun r -> (r.def_range).start_pos -let (end_of_range : range -> pos) = fun r -> (r.def_range).end_pos + fun r -> string_of_def_range r +let (start_of_range : range -> pos) = fun r -> (r.def_range).start_pos +let (end_of_range : range -> pos) = fun r -> (r.def_range).end_pos let (file_of_use_range : range -> Prims.string) = - fun r -> (r.use_range).file_name -let (start_of_use_range : range -> pos) = fun r -> (r.use_range).start_pos -let (end_of_use_range : range -> pos) = fun r -> (r.use_range).end_pos -let (line_of_pos : pos -> Prims.int) = fun p -> p.line -let (col_of_pos : pos -> Prims.int) = fun p -> p.col + fun r -> (r.use_range).file_name +let (start_of_use_range : range -> pos) = fun r -> (r.use_range).start_pos +let (end_of_use_range : range -> pos) = fun r -> (r.use_range).end_pos +let (line_of_pos : pos -> Prims.int) = fun p -> p.line +let (col_of_pos : pos -> Prims.int) = fun p -> p.col let (end_range : range -> range) = - fun r -> + fun r -> mk_range (r.def_range).file_name (r.def_range).end_pos (r.def_range).end_pos + let (compare_rng : rng -> rng -> Prims.int) = - fun r1 -> - fun r2 -> - let fcomp = FStar_String.compare r1.file_name r2.file_name in + fun r1 -> + fun r2 -> + let fcomp = FStar_String.compare r1.file_name r2.file_name in if fcomp = (Prims.parse_int "0") then - let start1 = r1.start_pos in - let start2 = r2.start_pos in - let lcomp = start1.line - start2.line in + let start1 = r1.start_pos in + let start2 = r2.start_pos in + let lcomp = start1.line - start2.line in (if lcomp = (Prims.parse_int "0") then start1.col - start2.col else lcomp) else fcomp + let (compare : range -> range -> Prims.int) = - fun r1 -> fun r2 -> compare_rng r1.def_range r2.def_range + fun r1 -> fun r2 -> compare_rng r1.def_range r2.def_range let (compare_use_range : range -> range -> Prims.int) = - fun r1 -> fun r2 -> compare_rng r1.use_range r2.use_range + fun r1 -> fun r2 -> compare_rng r1.use_range r2.use_range let (range_before_pos : range -> pos -> Prims.bool) = - fun m1 -> fun p -> let uu____540 = end_of_range m1 in pos_geq p uu____540 + fun m1 -> + fun p -> let uu____540 = end_of_range m1 in pos_geq p uu____540 + let (end_of_line : pos -> pos) = - fun p -> - let uu___110_547 = p in + fun p -> + let uu___110_547 = p in { line = (uu___110_547.line); col = FStar_Util.max_int } + let (extend_to_end_of_line : range -> range) = - fun r -> - let uu____554 = file_of_range r in - let uu____556 = start_of_range r in - let uu____557 = let uu____558 = end_of_range r in end_of_line uu____558 in + fun r -> + let uu____554 = file_of_range r in + let uu____556 = start_of_range r in + let uu____557 = let uu____558 = end_of_range r in end_of_line uu____558 + in mk_range uu____554 uu____556 uu____557 + let (prims_to_fstar_range : ((Prims.string * (Prims.int * Prims.int) * (Prims.int * Prims.int)) * (Prims.string * (Prims.int * Prims.int) * (Prims.int * Prims.int))) -> range) = - fun r -> - let uu____649 = r in + fun r -> + let uu____649 = r in match uu____649 with - | (r1, r2) -> - let uu____770 = r1 in + | (r1,r2) -> + let uu____770 = r1 in (match uu____770 with - | (f1, s1, e1) -> - let uu____819 = r2 in + | (f1,s1,e1) -> + let uu____819 = r2 in (match uu____819 with - | (f2, s2, e2) -> + | (f2,s2,e2) -> let s11 = mk_pos (FStar_Pervasives_Native.fst s1) - (FStar_Pervasives_Native.snd s1) in + (FStar_Pervasives_Native.snd s1) + in let e11 = mk_pos (FStar_Pervasives_Native.fst e1) - (FStar_Pervasives_Native.snd e1) in + (FStar_Pervasives_Native.snd e1) + in let s21 = mk_pos (FStar_Pervasives_Native.fst s2) - (FStar_Pervasives_Native.snd s2) in + (FStar_Pervasives_Native.snd s2) + in let e21 = mk_pos (FStar_Pervasives_Native.fst e2) - (FStar_Pervasives_Native.snd e2) in - let r11 = mk_rng f1 s11 e11 in - let r21 = mk_rng f2 s21 e21 in + (FStar_Pervasives_Native.snd e2) + in + let r11 = mk_rng f1 s11 e11 in + let r21 = mk_rng f2 s21 e21 in { def_range = r11; use_range = r21 })) + let (json_of_pos : pos -> FStar_Util.json) = - fun pos -> + fun pos -> let uu____896 = let uu____899 = - let uu____900 = line_of_pos pos in FStar_Util.JsonInt uu____900 in + let uu____900 = line_of_pos pos in FStar_Util.JsonInt uu____900 in let uu____902 = let uu____905 = - let uu____906 = col_of_pos pos in FStar_Util.JsonInt uu____906 in - [uu____905] in - uu____899 :: uu____902 in + let uu____906 = col_of_pos pos in FStar_Util.JsonInt uu____906 in + [uu____905] in + uu____899 :: uu____902 in FStar_Util.JsonList uu____896 + let (json_of_range_fields : Prims.string -> pos -> pos -> FStar_Util.json) = - fun file -> - fun b -> - fun e -> + fun file -> + fun b -> + fun e -> let uu____926 = let uu____934 = let uu____942 = - let uu____948 = json_of_pos b in ("beg", uu____948) in + let uu____948 = json_of_pos b in ("beg", uu____948) in let uu____951 = let uu____959 = - let uu____965 = json_of_pos e in ("end", uu____965) in - [uu____959] in - uu____942 :: uu____951 in - ("fname", (FStar_Util.JsonStr file)) :: uu____934 in + let uu____965 = json_of_pos e in ("end", uu____965) in + [uu____959] in + uu____942 :: uu____951 in + ("fname", (FStar_Util.JsonStr file)) :: uu____934 in FStar_Util.JsonAssoc uu____926 + let (json_of_use_range : range -> FStar_Util.json) = - fun r -> - let uu____996 = file_of_use_range r in - let uu____998 = start_of_use_range r in - let uu____999 = end_of_use_range r in + fun r -> + let uu____996 = file_of_use_range r in + let uu____998 = start_of_use_range r in + let uu____999 = end_of_use_range r in json_of_range_fields uu____996 uu____998 uu____999 + let (json_of_def_range : range -> FStar_Util.json) = - fun r -> - let uu____1006 = file_of_range r in - let uu____1008 = start_of_range r in - let uu____1009 = end_of_range r in - json_of_range_fields uu____1006 uu____1008 uu____1009 \ No newline at end of file + fun r -> + let uu____1006 = file_of_range r in + let uu____1008 = start_of_range r in + let uu____1009 = end_of_range r in + json_of_range_fields uu____1006 uu____1008 uu____1009 + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Reflection_Basic.ml b/src/ocaml-output/FStar_Reflection_Basic.ml index 323e8f783f0..905e6850e84 100644 --- a/src/ocaml-output/FStar_Reflection_Basic.ml +++ b/src/ocaml-output/FStar_Reflection_Basic.ml @@ -1,170 +1,183 @@ open Prims let (env_hook : FStar_TypeChecker_Env.env FStar_Pervasives_Native.option FStar_ST.ref) = - FStar_Util.mk_ref FStar_Pervasives_Native.None + FStar_Util.mk_ref FStar_Pervasives_Native.None let (inspect_aqual : FStar_Syntax_Syntax.aqual -> FStar_Reflection_Data.aqualv) = - fun aq -> + fun aq -> match aq with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit uu____12) -> FStar_Reflection_Data.Q_Implicit | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) -> FStar_Reflection_Data.Q_Meta t - | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality) -> + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality ) -> FStar_Reflection_Data.Q_Explicit - | FStar_Pervasives_Native.None -> FStar_Reflection_Data.Q_Explicit + | FStar_Pervasives_Native.None -> FStar_Reflection_Data.Q_Explicit + let (pack_aqual : FStar_Reflection_Data.aqualv -> FStar_Syntax_Syntax.aqual) = - fun aqv -> + fun aqv -> match aqv with - | FStar_Reflection_Data.Q_Explicit -> FStar_Pervasives_Native.None - | FStar_Reflection_Data.Q_Implicit -> + | FStar_Reflection_Data.Q_Explicit -> FStar_Pervasives_Native.None + | FStar_Reflection_Data.Q_Implicit -> FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit false) | FStar_Reflection_Data.Q_Meta t -> FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) + let (inspect_fv : FStar_Syntax_Syntax.fv -> Prims.string Prims.list) = - fun fv -> - let uu____37 = FStar_Syntax_Syntax.lid_of_fv fv in + fun fv -> + let uu____37 = FStar_Syntax_Syntax.lid_of_fv fv in FStar_Ident.path_of_lid uu____37 + let (pack_fv : Prims.string Prims.list -> FStar_Syntax_Syntax.fv) = - fun ns -> - let lid = FStar_Parser_Const.p2l ns in + fun ns -> + let lid = FStar_Parser_Const.p2l ns in let fallback uu____56 = let quals = - let uu____60 = FStar_Ident.lid_equals lid FStar_Parser_Const.cons_lid in + let uu____60 = FStar_Ident.lid_equals lid FStar_Parser_Const.cons_lid + in if uu____60 then FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor else (let uu____67 = - FStar_Ident.lid_equals lid FStar_Parser_Const.nil_lid in + FStar_Ident.lid_equals lid FStar_Parser_Const.nil_lid in if uu____67 then FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor else (let uu____74 = - FStar_Ident.lid_equals lid FStar_Parser_Const.some_lid in + FStar_Ident.lid_equals lid FStar_Parser_Const.some_lid in if uu____74 then FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor else (let uu____81 = - FStar_Ident.lid_equals lid FStar_Parser_Const.none_lid in + FStar_Ident.lid_equals lid FStar_Parser_Const.none_lid in if uu____81 then FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor - else FStar_Pervasives_Native.None))) in - let uu____88 = FStar_Parser_Const.p2l ns in + else FStar_Pervasives_Native.None))) + in + let uu____88 = FStar_Parser_Const.p2l ns in FStar_Syntax_Syntax.lid_as_fv uu____88 (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "999")) - quals in - let uu____90 = FStar_ST.op_Bang env_hook in + quals + in + let uu____90 = FStar_ST.op_Bang env_hook in match uu____90 with - | FStar_Pervasives_Native.None -> fallback () + | FStar_Pervasives_Native.None -> fallback () | FStar_Pervasives_Native.Some env -> - let qninfo = FStar_TypeChecker_Env.lookup_qname env lid in + let qninfo = FStar_TypeChecker_Env.lookup_qname env lid in (match qninfo with - | FStar_Pervasives_Native.Some (FStar_Util.Inr (se, _us), _rng) -> - let quals = FStar_Syntax_DsEnv.fv_qual_of_se se in - let uu____170 = FStar_Parser_Const.p2l ns in + | FStar_Pervasives_Native.Some (FStar_Util.Inr (se,_us),_rng) -> + let quals = FStar_Syntax_DsEnv.fv_qual_of_se se in + let uu____170 = FStar_Parser_Const.p2l ns in FStar_Syntax_Syntax.lid_as_fv uu____170 (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "999")) quals | uu____172 -> fallback ()) + let rec last : 'a . 'a Prims.list -> 'a = - fun l -> + fun l -> match l with | [] -> failwith "last: empty list" | x::[] -> x | uu____191::xs -> last xs + let rec init : 'a . 'a Prims.list -> 'a Prims.list = - fun l -> + fun l -> match l with | [] -> failwith "init: empty list" | x::[] -> [] - | x::xs -> let uu____221 = init xs in x :: uu____221 + | x::xs -> let uu____221 = init xs in x :: uu____221 + let (inspect_const : FStar_Syntax_Syntax.sconst -> FStar_Reflection_Data.vconst) = - fun c -> + fun c -> match c with - | FStar_Const.Const_unit -> FStar_Reflection_Data.C_Unit - | FStar_Const.Const_int (s, uu____231) -> - let uu____246 = FStar_BigInt.big_int_of_string s in + | FStar_Const.Const_unit -> FStar_Reflection_Data.C_Unit + | FStar_Const.Const_int (s,uu____231) -> + let uu____246 = FStar_BigInt.big_int_of_string s in FStar_Reflection_Data.C_Int uu____246 - | FStar_Const.Const_bool (true) -> FStar_Reflection_Data.C_True - | FStar_Const.Const_bool (false) -> FStar_Reflection_Data.C_False - | FStar_Const.Const_string (s, uu____250) -> + | FStar_Const.Const_bool (true ) -> FStar_Reflection_Data.C_True + | FStar_Const.Const_bool (false ) -> FStar_Reflection_Data.C_False + | FStar_Const.Const_string (s,uu____250) -> FStar_Reflection_Data.C_String s | FStar_Const.Const_range r -> FStar_Reflection_Data.C_Range r - | FStar_Const.Const_reify -> FStar_Reflection_Data.C_Reify + | FStar_Const.Const_reify -> FStar_Reflection_Data.C_Reify | FStar_Const.Const_reflect l -> - let uu____255 = FStar_Ident.path_of_lid l in + let uu____255 = FStar_Ident.path_of_lid l in FStar_Reflection_Data.C_Reflect uu____255 | uu____256 -> let uu____257 = - let uu____259 = FStar_Syntax_Print.const_to_string c in - FStar_Util.format1 "unknown constant: %s" uu____259 in + let uu____259 = FStar_Syntax_Print.const_to_string c in + FStar_Util.format1 "unknown constant: %s" uu____259 in failwith uu____257 + let rec (inspect_ln : FStar_Syntax_Syntax.term -> FStar_Reflection_Data.term_view) = - fun t -> - let t1 = FStar_Syntax_Util.unascribe t in - let t2 = FStar_Syntax_Util.un_uinst t1 in - let t3 = FStar_Syntax_Util.unlazy_emb t2 in + fun t -> + let t1 = FStar_Syntax_Util.unascribe t in + let t2 = FStar_Syntax_Util.un_uinst t1 in + let t3 = FStar_Syntax_Util.unlazy_emb t2 in match t3.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_meta (t4, uu____272) -> inspect_ln t4 + | FStar_Syntax_Syntax.Tm_meta (t4,uu____272) -> inspect_ln t4 | FStar_Syntax_Syntax.Tm_name bv -> FStar_Reflection_Data.Tv_Var bv | FStar_Syntax_Syntax.Tm_bvar bv -> FStar_Reflection_Data.Tv_BVar bv | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Reflection_Data.Tv_FVar fv - | FStar_Syntax_Syntax.Tm_app (hd1, []) -> + | FStar_Syntax_Syntax.Tm_app (hd1,[]) -> failwith "inspect_ln: empty arguments on Tm_app" - | FStar_Syntax_Syntax.Tm_app (hd1, args) -> - let uu____330 = last args in + | FStar_Syntax_Syntax.Tm_app (hd1,args) -> + let uu____330 = last args in (match uu____330 with - | (a, q) -> - let q' = inspect_aqual q in + | (a,q) -> + let q' = inspect_aqual q in let uu____358 = let uu____363 = let uu____364 = - let uu____369 = init args in - FStar_Syntax_Syntax.mk_Tm_app hd1 uu____369 in + let uu____369 = init args in + FStar_Syntax_Syntax.mk_Tm_app hd1 uu____369 in uu____364 FStar_Pervasives_Native.None - t3.FStar_Syntax_Syntax.pos in - (uu____363, (a, q')) in + t3.FStar_Syntax_Syntax.pos + in + (uu____363, (a, q')) in FStar_Reflection_Data.Tv_App uu____358) - | FStar_Syntax_Syntax.Tm_abs ([], uu____378, uu____379) -> + | FStar_Syntax_Syntax.Tm_abs ([],uu____378,uu____379) -> failwith "inspect_ln: empty arguments on Tm_abs" - | FStar_Syntax_Syntax.Tm_abs (b::bs, t4, k) -> + | FStar_Syntax_Syntax.Tm_abs (b::bs,t4,k) -> let body = match bs with | [] -> t4 | bs1 -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_abs (bs1, t4, k)) - FStar_Pervasives_Native.None t4.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None t4.FStar_Syntax_Syntax.pos + in FStar_Reflection_Data.Tv_Abs (b, body) | FStar_Syntax_Syntax.Tm_type uu____471 -> FStar_Reflection_Data.Tv_Type () - | FStar_Syntax_Syntax.Tm_arrow ([], k) -> + | FStar_Syntax_Syntax.Tm_arrow ([],k) -> failwith "inspect_ln: empty binders on arrow" | FStar_Syntax_Syntax.Tm_arrow uu____492 -> - let uu____507 = FStar_Syntax_Util.arrow_one t3 in + let uu____507 = FStar_Syntax_Util.arrow_one t3 in (match uu____507 with - | FStar_Pervasives_Native.Some (b, c) -> + | FStar_Pervasives_Native.Some (b,c) -> FStar_Reflection_Data.Tv_Arrow (b, c) - | FStar_Pervasives_Native.None -> failwith "impossible") - | FStar_Syntax_Syntax.Tm_refine (bv, t4) -> + | FStar_Pervasives_Native.None -> failwith "impossible") + | FStar_Syntax_Syntax.Tm_refine (bv,t4) -> FStar_Reflection_Data.Tv_Refine (bv, t4) | FStar_Syntax_Syntax.Tm_constant c -> - let uu____532 = inspect_const c in + let uu____532 = inspect_const c in FStar_Reflection_Data.Tv_Const uu____532 - | FStar_Syntax_Syntax.Tm_uvar (ctx_u, s) -> + | FStar_Syntax_Syntax.Tm_uvar (ctx_u,s) -> let uu____551 = let uu____556 = let uu____557 = FStar_Syntax_Unionfind.uvar_id - ctx_u.FStar_Syntax_Syntax.ctx_uvar_head in - FStar_BigInt.of_int_fs uu____557 in - (uu____556, (ctx_u, s)) in + ctx_u.FStar_Syntax_Syntax.ctx_uvar_head + in + FStar_BigInt.of_int_fs uu____557 in + (uu____556, (ctx_u, s)) in FStar_Reflection_Data.Tv_Uvar uu____551 - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), t21) -> + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),t21) -> if lb.FStar_Syntax_Syntax.lbunivs <> [] then FStar_Reflection_Data.Tv_Unknown else @@ -173,7 +186,7 @@ let rec (inspect_ln : | FStar_Util.Inl bv -> FStar_Reflection_Data.Tv_Let (false, bv, (lb.FStar_Syntax_Syntax.lbdef), t21)) - | FStar_Syntax_Syntax.Tm_let ((true, lb::[]), t21) -> + | FStar_Syntax_Syntax.Tm_let ((true ,lb::[]),t21) -> if lb.FStar_Syntax_Syntax.lbunivs <> [] then FStar_Reflection_Data.Tv_Unknown else @@ -182,99 +195,109 @@ let rec (inspect_ln : | FStar_Util.Inl bv -> FStar_Reflection_Data.Tv_Let (true, bv, (lb.FStar_Syntax_Syntax.lbdef), t21)) - | FStar_Syntax_Syntax.Tm_match (t4, brs) -> + | FStar_Syntax_Syntax.Tm_match (t4,brs) -> let rec inspect_pat p = match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant c -> - let uu____668 = inspect_const c in + let uu____668 = inspect_const c in FStar_Reflection_Data.Pat_Constant uu____668 - | FStar_Syntax_Syntax.Pat_cons (fv, ps) -> + | FStar_Syntax_Syntax.Pat_cons (fv,ps) -> let uu____689 = let uu____696 = FStar_List.map - (fun uu____709 -> + (fun uu____709 -> match uu____709 with - | (p1, uu____718) -> inspect_pat p1) ps in - (fv, uu____696) in + | (p1,uu____718) -> inspect_pat p1) ps + in + (fv, uu____696) in FStar_Reflection_Data.Pat_Cons uu____689 | FStar_Syntax_Syntax.Pat_var bv -> FStar_Reflection_Data.Pat_Var bv | FStar_Syntax_Syntax.Pat_wild bv -> FStar_Reflection_Data.Pat_Wild bv - | FStar_Syntax_Syntax.Pat_dot_term (bv, t5) -> - FStar_Reflection_Data.Pat_Dot_Term (bv, t5) in + | FStar_Syntax_Syntax.Pat_dot_term (bv,t5) -> + FStar_Reflection_Data.Pat_Dot_Term (bv, t5) + in let brs1 = FStar_List.map - (fun uu___0_769 -> + (fun uu___0_769 -> match uu___0_769 with - | (pat, uu____791, t5) -> - let uu____809 = inspect_pat pat in (uu____809, t5)) brs in + | (pat,uu____791,t5) -> + let uu____809 = inspect_pat pat in (uu____809, t5)) brs + in FStar_Reflection_Data.Tv_Match (t4, brs1) - | FStar_Syntax_Syntax.Tm_unknown -> FStar_Reflection_Data.Tv_Unknown + | FStar_Syntax_Syntax.Tm_unknown -> FStar_Reflection_Data.Tv_Unknown | uu____814 -> ((let uu____816 = let uu____822 = - let uu____824 = FStar_Syntax_Print.tag_of_term t3 in - let uu____826 = FStar_Syntax_Print.term_to_string t3 in + let uu____824 = FStar_Syntax_Print.tag_of_term t3 in + let uu____826 = FStar_Syntax_Print.term_to_string t3 in FStar_Util.format2 "inspect_ln: outside of expected syntax (%s, %s)\n" uu____824 - uu____826 in - (FStar_Errors.Warning_CantInspect, uu____822) in + uu____826 + in + (FStar_Errors.Warning_CantInspect, uu____822) in FStar_Errors.log_issue t3.FStar_Syntax_Syntax.pos uu____816); FStar_Reflection_Data.Tv_Unknown) + let (inspect_comp : FStar_Syntax_Syntax.comp -> FStar_Reflection_Data.comp_view) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, uu____837) -> + | FStar_Syntax_Syntax.Total (t,uu____837) -> FStar_Reflection_Data.C_Total (t, FStar_Pervasives_Native.None) | FStar_Syntax_Syntax.Comp ct -> let uu____849 = FStar_Ident.lid_equals ct.FStar_Syntax_Syntax.effect_name - FStar_Parser_Const.effect_Lemma_lid in + FStar_Parser_Const.effect_Lemma_lid + in if uu____849 then (match ct.FStar_Syntax_Syntax.effect_args with - | (pre, uu____853)::(post, uu____855)::uu____856 -> + | (pre,uu____853)::(post,uu____855)::uu____856 -> FStar_Reflection_Data.C_Lemma (pre, post) | uu____899 -> failwith "inspect_comp: Lemma does not have enough arguments?") else (let uu____913 = FStar_Ident.lid_equals ct.FStar_Syntax_Syntax.effect_name - FStar_Parser_Const.effect_Tot_lid in + FStar_Parser_Const.effect_Tot_lid + in if uu____913 then let maybe_dec = FStar_List.tryFind - (fun uu___1_921 -> + (fun uu___1_921 -> match uu___1_921 with | FStar_Syntax_Syntax.DECREASES uu____923 -> true - | uu____927 -> false) ct.FStar_Syntax_Syntax.flags in + | uu____927 -> false) ct.FStar_Syntax_Syntax.flags + in let md = match maybe_dec with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.DECREASES t) -> FStar_Pervasives_Native.Some t - | uu____937 -> failwith "impossible" in + | uu____937 -> failwith "impossible" in FStar_Reflection_Data.C_Total ((ct.FStar_Syntax_Syntax.result_typ), md) else FStar_Reflection_Data.C_Unknown) | FStar_Syntax_Syntax.GTotal uu____947 -> FStar_Reflection_Data.C_Unknown + let (pack_comp : FStar_Reflection_Data.comp_view -> FStar_Syntax_Syntax.comp) = - fun cv -> + fun cv -> match cv with - | FStar_Reflection_Data.C_Total (t, uu____963) -> + | FStar_Reflection_Data.C_Total (t,uu____963) -> FStar_Syntax_Syntax.mk_Total t - | FStar_Reflection_Data.C_Lemma (pre, post) -> + | FStar_Reflection_Data.C_Lemma (pre,post) -> let ct = let uu____971 = - let uu____982 = FStar_Syntax_Syntax.as_arg pre in + let uu____982 = FStar_Syntax_Syntax.as_arg pre in let uu____991 = - let uu____1002 = FStar_Syntax_Syntax.as_arg post in - [uu____1002] in - uu____982 :: uu____991 in + let uu____1002 = FStar_Syntax_Syntax.as_arg post in + [uu____1002] in + uu____982 :: uu____991 in { FStar_Syntax_Syntax.comp_univs = []; FStar_Syntax_Syntax.effect_name = @@ -282,319 +305,381 @@ let (pack_comp : FStar_Reflection_Data.comp_view -> FStar_Syntax_Syntax.comp) FStar_Syntax_Syntax.result_typ = FStar_Syntax_Syntax.t_unit; FStar_Syntax_Syntax.effect_args = uu____971; FStar_Syntax_Syntax.flags = [] - } in + } in FStar_Syntax_Syntax.mk_Comp ct | uu____1035 -> failwith "cannot pack a C_Unknown" + let (pack_const : FStar_Reflection_Data.vconst -> FStar_Syntax_Syntax.sconst) = - fun c -> + fun c -> match c with - | FStar_Reflection_Data.C_Unit -> FStar_Const.Const_unit + | FStar_Reflection_Data.C_Unit -> FStar_Const.Const_unit | FStar_Reflection_Data.C_Int i -> let uu____1044 = - let uu____1056 = FStar_BigInt.string_of_big_int i in - (uu____1056, FStar_Pervasives_Native.None) in + let uu____1056 = FStar_BigInt.string_of_big_int i in + (uu____1056, FStar_Pervasives_Native.None) in FStar_Const.Const_int uu____1044 - | FStar_Reflection_Data.C_True -> FStar_Const.Const_bool true - | FStar_Reflection_Data.C_False -> FStar_Const.Const_bool false + | FStar_Reflection_Data.C_True -> FStar_Const.Const_bool true + | FStar_Reflection_Data.C_False -> FStar_Const.Const_bool false | FStar_Reflection_Data.C_String s -> FStar_Const.Const_string (s, FStar_Range.dummyRange) | FStar_Reflection_Data.C_Range r -> FStar_Const.Const_range r - | FStar_Reflection_Data.C_Reify -> FStar_Const.Const_reify + | FStar_Reflection_Data.C_Reify -> FStar_Const.Const_reify | FStar_Reflection_Data.C_Reflect ns -> - let uu____1076 = FStar_Ident.lid_of_path ns FStar_Range.dummyRange in + let uu____1076 = FStar_Ident.lid_of_path ns FStar_Range.dummyRange + in FStar_Const.Const_reflect uu____1076 + let (pack_ln : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term) = - fun tv -> + fun tv -> match tv with | FStar_Reflection_Data.Tv_Var bv -> FStar_Syntax_Syntax.bv_to_name bv | FStar_Reflection_Data.Tv_BVar bv -> FStar_Syntax_Syntax.bv_to_tm bv | FStar_Reflection_Data.Tv_FVar fv -> FStar_Syntax_Syntax.fv_to_tm fv - | FStar_Reflection_Data.Tv_App (l, (r, q)) -> - let q' = pack_aqual q in FStar_Syntax_Util.mk_app l [(r, q')] - | FStar_Reflection_Data.Tv_Abs (b, t) -> + | FStar_Reflection_Data.Tv_App (l,(r,q)) -> + let q' = pack_aqual q in FStar_Syntax_Util.mk_app l [(r, q')] + | FStar_Reflection_Data.Tv_Abs (b,t) -> FStar_Syntax_Util.abs [b] t FStar_Pervasives_Native.None - | FStar_Reflection_Data.Tv_Arrow (b, c) -> FStar_Syntax_Util.arrow [b] c + | FStar_Reflection_Data.Tv_Arrow (b,c) -> FStar_Syntax_Util.arrow [b] c | FStar_Reflection_Data.Tv_Type () -> FStar_Syntax_Util.ktype - | FStar_Reflection_Data.Tv_Refine (bv, t) -> - FStar_Syntax_Util.refine bv t + | FStar_Reflection_Data.Tv_Refine (bv,t) -> FStar_Syntax_Util.refine bv t | FStar_Reflection_Data.Tv_Const c -> let uu____1141 = let uu____1148 = - let uu____1149 = pack_const c in - FStar_Syntax_Syntax.Tm_constant uu____1149 in - FStar_Syntax_Syntax.mk uu____1148 in + let uu____1149 = pack_const c in + FStar_Syntax_Syntax.Tm_constant uu____1149 in + FStar_Syntax_Syntax.mk uu____1148 in uu____1141 FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_Reflection_Data.Tv_Uvar (u, ctx_u_s) -> + | FStar_Reflection_Data.Tv_Uvar (u,ctx_u_s) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uvar ctx_u_s) FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_Reflection_Data.Tv_Let (false, bv, t1, t2) -> + | FStar_Reflection_Data.Tv_Let (false ,bv,t1,t2) -> let lb = FStar_Syntax_Util.mk_letbinding (FStar_Util.Inl bv) [] bv.FStar_Syntax_Syntax.sort FStar_Parser_Const.effect_Tot_lid t1 - [] FStar_Range.dummyRange in + [] FStar_Range.dummyRange + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let ((false, [lb]), t2)) FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_Reflection_Data.Tv_Let (true, bv, t1, t2) -> + | FStar_Reflection_Data.Tv_Let (true ,bv,t1,t2) -> let lb = FStar_Syntax_Util.mk_letbinding (FStar_Util.Inl bv) [] bv.FStar_Syntax_Syntax.sort FStar_Parser_Const.effect_Tot_lid t1 - [] FStar_Range.dummyRange in + [] FStar_Range.dummyRange + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let ((true, [lb]), t2)) FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_Reflection_Data.Tv_Match (t, brs) -> + | FStar_Reflection_Data.Tv_Match (t,brs) -> let wrap v1 = { FStar_Syntax_Syntax.v = v1; FStar_Syntax_Syntax.p = FStar_Range.dummyRange - } in + } in let rec pack_pat p = match p with | FStar_Reflection_Data.Pat_Constant c -> let uu____1215 = - let uu____1216 = pack_const c in - FStar_Syntax_Syntax.Pat_constant uu____1216 in + let uu____1216 = pack_const c in + FStar_Syntax_Syntax.Pat_constant uu____1216 in FStar_All.pipe_left wrap uu____1215 - | FStar_Reflection_Data.Pat_Cons (fv, ps) -> + | FStar_Reflection_Data.Pat_Cons (fv,ps) -> let uu____1223 = let uu____1224 = let uu____1238 = FStar_List.map - (fun p1 -> - let uu____1256 = pack_pat p1 in (uu____1256, false)) - ps in - (fv, uu____1238) in - FStar_Syntax_Syntax.Pat_cons uu____1224 in + (fun p1 -> + let uu____1256 = pack_pat p1 in (uu____1256, false)) + ps + in + (fv, uu____1238) in + FStar_Syntax_Syntax.Pat_cons uu____1224 in FStar_All.pipe_left wrap uu____1223 | FStar_Reflection_Data.Pat_Var bv -> FStar_All.pipe_left wrap (FStar_Syntax_Syntax.Pat_var bv) | FStar_Reflection_Data.Pat_Wild bv -> FStar_All.pipe_left wrap (FStar_Syntax_Syntax.Pat_wild bv) - | FStar_Reflection_Data.Pat_Dot_Term (bv, t1) -> + | FStar_Reflection_Data.Pat_Dot_Term (bv,t1) -> FStar_All.pipe_left wrap - (FStar_Syntax_Syntax.Pat_dot_term (bv, t1)) in + (FStar_Syntax_Syntax.Pat_dot_term (bv, t1)) + in let brs1 = FStar_List.map - (fun uu___2_1305 -> + (fun uu___2_1305 -> match uu___2_1305 with - | (pat, t1) -> - let uu____1322 = pack_pat pat in - (uu____1322, FStar_Pervasives_Native.None, t1)) brs in + | (pat,t1) -> + let uu____1322 = pack_pat pat in + (uu____1322, FStar_Pervasives_Native.None, t1)) brs + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_match (t, brs1)) FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_Reflection_Data.Tv_AscribedT (e, t, tacopt) -> + | FStar_Reflection_Data.Tv_AscribedT (e,t,tacopt) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed (e, ((FStar_Util.Inl t), tacopt), FStar_Pervasives_Native.None)) FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_Reflection_Data.Tv_AscribedC (e, c, tacopt) -> + | FStar_Reflection_Data.Tv_AscribedC (e,c,tacopt) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed (e, ((FStar_Util.Inr c), tacopt), FStar_Pervasives_Native.None)) FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_Reflection_Data.Tv_Unknown -> + | FStar_Reflection_Data.Tv_Unknown -> FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown FStar_Pervasives_Native.None FStar_Range.dummyRange + let (compare_bv : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.bv -> FStar_Order.order) = - fun x -> - fun y -> - let n1 = FStar_Syntax_Syntax.order_bv x y in + fun x -> + fun y -> + let n1 = FStar_Syntax_Syntax.order_bv x y in if n1 < (Prims.parse_int "0") then FStar_Order.Lt else if n1 = (Prims.parse_int "0") then FStar_Order.Eq else FStar_Order.Gt + let (is_free : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun x -> fun t -> FStar_Syntax_Util.is_free_in x t + fun x -> fun t -> FStar_Syntax_Util.is_free_in x t let (lookup_attr : FStar_Syntax_Syntax.term -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.fv Prims.list) = - fun attr -> - fun env -> + fun attr -> + fun env -> let uu____1483 = - let uu____1484 = FStar_Syntax_Subst.compress attr in - uu____1484.FStar_Syntax_Syntax.n in + let uu____1484 = FStar_Syntax_Subst.compress attr in + uu____1484.FStar_Syntax_Syntax.n in match uu____1483 with | FStar_Syntax_Syntax.Tm_fvar fv -> let ses = let uu____1493 = - let uu____1495 = FStar_Syntax_Syntax.lid_of_fv fv in - FStar_Ident.text_of_lid uu____1495 in - FStar_TypeChecker_Env.lookup_attr env uu____1493 in + let uu____1495 = FStar_Syntax_Syntax.lid_of_fv fv in + FStar_Ident.text_of_lid uu____1495 in + FStar_TypeChecker_Env.lookup_attr env uu____1493 in FStar_List.concatMap - (fun se -> - let uu____1499 = FStar_Syntax_Util.lid_of_sigelt se in + (fun se -> + let uu____1499 = FStar_Syntax_Util.lid_of_sigelt se in match uu____1499 with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some l -> let uu____1505 = FStar_Syntax_Syntax.lid_as_fv l (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "999")) - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in [uu____1505]) ses | uu____1507 -> [] + +let (all_defs_in_env : + FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.fv Prims.list) = + fun env -> + let uu____1518 = FStar_TypeChecker_Env.lidents env in + FStar_List.map + (fun l -> + FStar_Syntax_Syntax.lid_as_fv l + (FStar_Syntax_Syntax.Delta_constant_at_level + (Prims.parse_int "999")) FStar_Pervasives_Native.None) + uu____1518 + +let (defs_in_module : + FStar_TypeChecker_Env.env -> + FStar_Reflection_Data.name -> FStar_Syntax_Syntax.fv Prims.list) + = + fun env -> + fun modul -> + let uu____1539 = FStar_TypeChecker_Env.lidents env in + FStar_List.concatMap + (fun l -> + let ns = + let uu____1547 = + let uu____1550 = FStar_Ident.ids_of_lid l in + FStar_All.pipe_right uu____1550 init in + FStar_All.pipe_right uu____1547 + (FStar_List.map FStar_Ident.string_of_ident) + in + if ns = modul + then + let uu____1563 = + FStar_Syntax_Syntax.lid_as_fv l + (FStar_Syntax_Syntax.Delta_constant_at_level + (Prims.parse_int "999")) FStar_Pervasives_Native.None + in + [uu____1563] + else []) uu____1539 + let (lookup_typ : FStar_TypeChecker_Env.env -> Prims.string Prims.list -> FStar_Syntax_Syntax.sigelt FStar_Pervasives_Native.option) = - fun env -> - fun ns -> - let lid = FStar_Parser_Const.p2l ns in + fun env -> + fun ns -> + let lid = FStar_Parser_Const.p2l ns in FStar_TypeChecker_Env.lookup_sigelt env lid + let (sigelt_attrs : FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.attribute Prims.list) = - fun se -> se.FStar_Syntax_Syntax.sigattrs + fun se -> se.FStar_Syntax_Syntax.sigattrs let (set_sigelt_attrs : FStar_Syntax_Syntax.attribute Prims.list -> FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt) = - fun attrs -> - fun se -> - let uu___363_1555 = se in + fun attrs -> + fun se -> + let uu___370_1614 = se in { - FStar_Syntax_Syntax.sigel = (uu___363_1555.FStar_Syntax_Syntax.sigel); + FStar_Syntax_Syntax.sigel = (uu___370_1614.FStar_Syntax_Syntax.sigel); FStar_Syntax_Syntax.sigrng = - (uu___363_1555.FStar_Syntax_Syntax.sigrng); + (uu___370_1614.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___363_1555.FStar_Syntax_Syntax.sigquals); + (uu___370_1614.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___363_1555.FStar_Syntax_Syntax.sigmeta); + (uu___370_1614.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = attrs } + let (inspect_sigelt : FStar_Syntax_Syntax.sigelt -> FStar_Reflection_Data.sigelt_view) = - fun se -> + fun se -> match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_let ((r, lb::[]), uu____1564) -> + | FStar_Syntax_Syntax.Sig_let ((r,lb::[]),uu____1623) -> let fv = match lb.FStar_Syntax_Syntax.lbname with | FStar_Util.Inr fv -> fv - | FStar_Util.Inl uu____1575 -> - failwith "impossible: global Sig_let has bv" in - let uu____1577 = - FStar_Syntax_Subst.univ_var_opening lb.FStar_Syntax_Syntax.lbunivs in - (match uu____1577 with - | (s, us) -> + | FStar_Util.Inl uu____1634 -> + failwith "impossible: global Sig_let has bv" + in + let uu____1636 = + FStar_Syntax_Subst.univ_var_opening lb.FStar_Syntax_Syntax.lbunivs + in + (match uu____1636 with + | (s,us) -> let typ = - FStar_Syntax_Subst.subst s lb.FStar_Syntax_Syntax.lbtyp in + FStar_Syntax_Subst.subst s lb.FStar_Syntax_Syntax.lbtyp in let def = - FStar_Syntax_Subst.subst s lb.FStar_Syntax_Syntax.lbdef in + FStar_Syntax_Subst.subst s lb.FStar_Syntax_Syntax.lbdef in FStar_Reflection_Data.Sg_Let (r, fv, (lb.FStar_Syntax_Syntax.lbunivs), (lb.FStar_Syntax_Syntax.lbtyp), (lb.FStar_Syntax_Syntax.lbdef))) - | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, us, bs, ty, uu____1605, c_lids) -> - let nm = FStar_Ident.path_of_lid lid in - let uu____1616 = FStar_Syntax_Subst.univ_var_opening us in - (match uu____1616 with - | (s, us1) -> - let bs1 = FStar_Syntax_Subst.subst_binders s bs in - let ty1 = FStar_Syntax_Subst.subst s ty in - let uu____1637 = - let uu____1654 = FStar_List.map FStar_Ident.path_of_lid c_lids in - (nm, us1, bs1, ty1, uu____1654) in - FStar_Reflection_Data.Sg_Inductive uu____1637) - | FStar_Syntax_Syntax.Sig_datacon - (lid, us, ty, uu____1666, n1, uu____1668) -> - let uu____1675 = FStar_Syntax_Subst.univ_var_opening us in + | FStar_Syntax_Syntax.Sig_inductive_typ (lid,us,bs,ty,uu____1664,c_lids) + -> + let nm = FStar_Ident.path_of_lid lid in + let uu____1675 = FStar_Syntax_Subst.univ_var_opening us in (match uu____1675 with - | (s, us1) -> - let ty1 = FStar_Syntax_Subst.subst s ty in - let uu____1695 = - let uu____1700 = FStar_Ident.path_of_lid lid in - (uu____1700, ty1) in - FStar_Reflection_Data.Sg_Constructor uu____1695) - | uu____1701 -> FStar_Reflection_Data.Unk + | (s,us1) -> + let bs1 = FStar_Syntax_Subst.subst_binders s bs in + let ty1 = FStar_Syntax_Subst.subst s ty in + let uu____1696 = + let uu____1713 = FStar_List.map FStar_Ident.path_of_lid c_lids + in + (nm, us1, bs1, ty1, uu____1713) in + FStar_Reflection_Data.Sg_Inductive uu____1696) + | FStar_Syntax_Syntax.Sig_datacon (lid,us,ty,uu____1725,n1,uu____1727) -> + let uu____1734 = FStar_Syntax_Subst.univ_var_opening us in + (match uu____1734 with + | (s,us1) -> + let ty1 = FStar_Syntax_Subst.subst s ty in + let uu____1754 = + let uu____1759 = FStar_Ident.path_of_lid lid in + (uu____1759, ty1) in + FStar_Reflection_Data.Sg_Constructor uu____1754) + | uu____1760 -> FStar_Reflection_Data.Unk + let (pack_sigelt : FStar_Reflection_Data.sigelt_view -> FStar_Syntax_Syntax.sigelt) = - fun sv -> + fun sv -> match sv with - | FStar_Reflection_Data.Sg_Let (r, fv, univs1, typ, def) -> - let s = FStar_Syntax_Subst.univ_var_closing univs1 in - let typ1 = FStar_Syntax_Subst.subst s typ in - let def1 = FStar_Syntax_Subst.subst s def in + | FStar_Reflection_Data.Sg_Let (r,fv,univs1,typ,def) -> + let s = FStar_Syntax_Subst.univ_var_closing univs1 in + let typ1 = FStar_Syntax_Subst.subst s typ in + let def1 = FStar_Syntax_Subst.subst s def in let lb = FStar_Syntax_Util.mk_letbinding (FStar_Util.Inr fv) univs1 typ1 FStar_Parser_Const.effect_Tot_lid def1 [] - def1.FStar_Syntax_Syntax.pos in - let uu____1727 = - let uu____1728 = - let uu____1735 = - let uu____1738 = FStar_Syntax_Syntax.lid_of_fv fv in - [uu____1738] in - ((r, [lb]), uu____1735) in - FStar_Syntax_Syntax.Sig_let uu____1728 in - FStar_All.pipe_left FStar_Syntax_Syntax.mk_sigelt uu____1727 - | FStar_Reflection_Data.Sg_Constructor uu____1744 -> + def1.FStar_Syntax_Syntax.pos + in + let uu____1786 = + let uu____1787 = + let uu____1794 = + let uu____1797 = FStar_Syntax_Syntax.lid_of_fv fv in + [uu____1797] in + ((r, [lb]), uu____1794) in + FStar_Syntax_Syntax.Sig_let uu____1787 in + FStar_All.pipe_left FStar_Syntax_Syntax.mk_sigelt uu____1786 + | FStar_Reflection_Data.Sg_Constructor uu____1803 -> failwith "packing Sg_Constructor, sorry" - | FStar_Reflection_Data.Sg_Inductive uu____1750 -> + | FStar_Reflection_Data.Sg_Inductive uu____1809 -> failwith "packing Sg_Inductive, sorry" - | FStar_Reflection_Data.Unk -> failwith "packing Unk, sorry" + | FStar_Reflection_Data.Unk -> failwith "packing Unk, sorry" + let (inspect_bv : FStar_Syntax_Syntax.bv -> FStar_Reflection_Data.bv_view) = - fun bv -> - let uu____1775 = - FStar_Ident.string_of_ident bv.FStar_Syntax_Syntax.ppname in - let uu____1777 = FStar_BigInt.of_int_fs bv.FStar_Syntax_Syntax.index in + fun bv -> + let uu____1834 = + FStar_Ident.string_of_ident bv.FStar_Syntax_Syntax.ppname in + let uu____1836 = FStar_BigInt.of_int_fs bv.FStar_Syntax_Syntax.index in { - FStar_Reflection_Data.bv_ppname = uu____1775; - FStar_Reflection_Data.bv_index = uu____1777; + FStar_Reflection_Data.bv_ppname = uu____1834; + FStar_Reflection_Data.bv_index = uu____1836; FStar_Reflection_Data.bv_sort = (bv.FStar_Syntax_Syntax.sort) } + let (pack_bv : FStar_Reflection_Data.bv_view -> FStar_Syntax_Syntax.bv) = - fun bvv -> - let uu____1784 = + fun bvv -> + let uu____1843 = FStar_Ident.mk_ident - ((bvv.FStar_Reflection_Data.bv_ppname), FStar_Range.dummyRange) in - let uu____1786 = - FStar_BigInt.to_int_fs bvv.FStar_Reflection_Data.bv_index in + ((bvv.FStar_Reflection_Data.bv_ppname), FStar_Range.dummyRange) + in + let uu____1845 = + FStar_BigInt.to_int_fs bvv.FStar_Reflection_Data.bv_index in { - FStar_Syntax_Syntax.ppname = uu____1784; - FStar_Syntax_Syntax.index = uu____1786; + FStar_Syntax_Syntax.ppname = uu____1843; + FStar_Syntax_Syntax.index = uu____1845; FStar_Syntax_Syntax.sort = (bvv.FStar_Reflection_Data.bv_sort) } + let (inspect_binder : FStar_Syntax_Syntax.binder -> (FStar_Syntax_Syntax.bv * FStar_Reflection_Data.aqualv)) = - fun b -> - let uu____1802 = b in - match uu____1802 with - | (bv, aq) -> let uu____1813 = inspect_aqual aq in (bv, uu____1813) + fun b -> + let uu____1861 = b in + match uu____1861 with + | (bv,aq) -> let uu____1872 = inspect_aqual aq in (bv, uu____1872) + let (pack_binder : FStar_Syntax_Syntax.bv -> FStar_Reflection_Data.aqualv -> FStar_Syntax_Syntax.binder) - = fun bv -> fun aqv -> let uu____1825 = pack_aqual aqv in (bv, uu____1825) + = + fun bv -> fun aqv -> let uu____1884 = pack_aqual aqv in (bv, uu____1884) let (moduleof : FStar_TypeChecker_Env.env -> Prims.string Prims.list) = - fun e -> FStar_Ident.path_of_lid e.FStar_TypeChecker_Env.curmodule + fun e -> FStar_Ident.path_of_lid e.FStar_TypeChecker_Env.curmodule let (env_open_modules : FStar_TypeChecker_Env.env -> FStar_Reflection_Data.name Prims.list) = - fun e -> - let uu____1852 = - FStar_Syntax_DsEnv.open_modules e.FStar_TypeChecker_Env.dsenv in + fun e -> + let uu____1911 = + FStar_Syntax_DsEnv.open_modules e.FStar_TypeChecker_Env.dsenv in FStar_List.map - (fun uu____1870 -> - match uu____1870 with - | (l, m) -> - let uu____1880 = FStar_Ident.ids_of_lid l in - FStar_List.map FStar_Ident.text_of_id uu____1880) uu____1852 + (fun uu____1929 -> + match uu____1929 with + | (l,m) -> + let uu____1939 = FStar_Ident.ids_of_lid l in + FStar_List.map FStar_Ident.text_of_id uu____1939) uu____1911 + let (binders_of_env : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.binders) = - fun e -> FStar_TypeChecker_Env.all_binders e + fun e -> FStar_TypeChecker_Env.all_binders e let (term_eq : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun t1 -> - fun t2 -> - let uu____1902 = FStar_Syntax_Util.un_uinst t1 in - let uu____1903 = FStar_Syntax_Util.un_uinst t2 in - FStar_Syntax_Util.term_eq uu____1902 uu____1903 + fun t1 -> + fun t2 -> + let uu____1961 = FStar_Syntax_Util.un_uinst t1 in + let uu____1962 = FStar_Syntax_Util.un_uinst t2 in + FStar_Syntax_Util.term_eq uu____1961 uu____1962 + let (term_to_string : FStar_Syntax_Syntax.term -> Prims.string) = - fun t -> FStar_Syntax_Print.term_to_string t + fun t -> FStar_Syntax_Print.term_to_string t let (comp_to_string : FStar_Syntax_Syntax.comp -> Prims.string) = - fun c -> FStar_Syntax_Print.comp_to_string c \ No newline at end of file + fun c -> FStar_Syntax_Print.comp_to_string c \ No newline at end of file diff --git a/src/ocaml-output/FStar_Reflection_Data.ml b/src/ocaml-output/FStar_Reflection_Data.ml index a42259edf53..d7465b56cf7 100644 --- a/src/ocaml-output/FStar_Reflection_Data.ml +++ b/src/ocaml-output/FStar_Reflection_Data.ml @@ -12,34 +12,45 @@ type vconst = | C_Reify | C_Reflect of name let (uu___is_C_Unit : vconst -> Prims.bool) = - fun projectee -> match projectee with | C_Unit -> true | uu____40 -> false + fun projectee -> + match projectee with | C_Unit -> true | uu____40 -> false + let (uu___is_C_Int : vconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | C_Int _0 -> true | uu____52 -> false + let (__proj__C_Int__item___0 : vconst -> FStar_BigInt.t) = - fun projectee -> match projectee with | C_Int _0 -> _0 + fun projectee -> match projectee with | C_Int _0 -> _0 let (uu___is_C_True : vconst -> Prims.bool) = - fun projectee -> match projectee with | C_True -> true | uu____70 -> false + fun projectee -> + match projectee with | C_True -> true | uu____70 -> false + let (uu___is_C_False : vconst -> Prims.bool) = - fun projectee -> match projectee with | C_False -> true | uu____81 -> false + fun projectee -> + match projectee with | C_False -> true | uu____81 -> false + let (uu___is_C_String : vconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | C_String _0 -> true | uu____94 -> false + let (__proj__C_String__item___0 : vconst -> Prims.string) = - fun projectee -> match projectee with | C_String _0 -> _0 + fun projectee -> match projectee with | C_String _0 -> _0 let (uu___is_C_Range : vconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | C_Range _0 -> true | uu____116 -> false + let (__proj__C_Range__item___0 : vconst -> FStar_Range.range) = - fun projectee -> match projectee with | C_Range _0 -> _0 + fun projectee -> match projectee with | C_Range _0 -> _0 let (uu___is_C_Reify : vconst -> Prims.bool) = - fun projectee -> - match projectee with | C_Reify -> true | uu____134 -> false + fun projectee -> + match projectee with | C_Reify -> true | uu____134 -> false + let (uu___is_C_Reflect : vconst -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | C_Reflect _0 -> true | uu____146 -> false + let (__proj__C_Reflect__item___0 : vconst -> name) = - fun projectee -> match projectee with | C_Reflect _0 -> _0 + fun projectee -> match projectee with | C_Reflect _0 -> _0 type pattern = | Pat_Constant of vconst | Pat_Cons of (FStar_Syntax_Syntax.fv * pattern Prims.list) @@ -47,48 +58,56 @@ type pattern = | Pat_Wild of FStar_Syntax_Syntax.bv | Pat_Dot_Term of (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term) let (uu___is_Pat_Constant : pattern -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Pat_Constant _0 -> true | uu____200 -> false + let (__proj__Pat_Constant__item___0 : pattern -> vconst) = - fun projectee -> match projectee with | Pat_Constant _0 -> _0 + fun projectee -> match projectee with | Pat_Constant _0 -> _0 let (uu___is_Pat_Cons : pattern -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Pat_Cons _0 -> true | uu____225 -> false + let (__proj__Pat_Cons__item___0 : pattern -> (FStar_Syntax_Syntax.fv * pattern Prims.list)) = - fun projectee -> match projectee with | Pat_Cons _0 -> _0 + fun projectee -> match projectee with | Pat_Cons _0 -> _0 let (uu___is_Pat_Var : pattern -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Pat_Var _0 -> true | uu____262 -> false + let (__proj__Pat_Var__item___0 : pattern -> FStar_Syntax_Syntax.bv) = - fun projectee -> match projectee with | Pat_Var _0 -> _0 + fun projectee -> match projectee with | Pat_Var _0 -> _0 let (uu___is_Pat_Wild : pattern -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Pat_Wild _0 -> true | uu____281 -> false + let (__proj__Pat_Wild__item___0 : pattern -> FStar_Syntax_Syntax.bv) = - fun projectee -> match projectee with | Pat_Wild _0 -> _0 + fun projectee -> match projectee with | Pat_Wild _0 -> _0 let (uu___is_Pat_Dot_Term : pattern -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Pat_Dot_Term _0 -> true | uu____304 -> false + let (__proj__Pat_Dot_Term__item___0 : pattern -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term)) = - fun projectee -> match projectee with | Pat_Dot_Term _0 -> _0 + fun projectee -> match projectee with | Pat_Dot_Term _0 -> _0 type branch = (pattern * FStar_Syntax_Syntax.term) type aqualv = | Q_Implicit | Q_Explicit | Q_Meta of FStar_Syntax_Syntax.term let (uu___is_Q_Implicit : aqualv -> Prims.bool) = - fun projectee -> - match projectee with | Q_Implicit -> true | uu____343 -> false + fun projectee -> + match projectee with | Q_Implicit -> true | uu____343 -> false + let (uu___is_Q_Explicit : aqualv -> Prims.bool) = - fun projectee -> - match projectee with | Q_Explicit -> true | uu____354 -> false + fun projectee -> + match projectee with | Q_Explicit -> true | uu____354 -> false + let (uu___is_Q_Meta : aqualv -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Q_Meta _0 -> true | uu____366 -> false + let (__proj__Q_Meta__item___0 : aqualv -> FStar_Syntax_Syntax.term) = - fun projectee -> match projectee with | Q_Meta _0 -> _0 + fun projectee -> match projectee with | Q_Meta _0 -> _0 type argv = (FStar_Syntax_Syntax.term * aqualv) type term_view = | Tv_Var of FStar_Syntax_Syntax.bv @@ -110,106 +129,124 @@ type term_view = FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) | Tv_Unknown let (uu___is_Tv_Var : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_Var _0 -> true | uu____510 -> false + let (__proj__Tv_Var__item___0 : term_view -> FStar_Syntax_Syntax.bv) = - fun projectee -> match projectee with | Tv_Var _0 -> _0 + fun projectee -> match projectee with | Tv_Var _0 -> _0 let (uu___is_Tv_BVar : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_BVar _0 -> true | uu____529 -> false + let (__proj__Tv_BVar__item___0 : term_view -> FStar_Syntax_Syntax.bv) = - fun projectee -> match projectee with | Tv_BVar _0 -> _0 + fun projectee -> match projectee with | Tv_BVar _0 -> _0 let (uu___is_Tv_FVar : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_FVar _0 -> true | uu____548 -> false + let (__proj__Tv_FVar__item___0 : term_view -> FStar_Syntax_Syntax.fv) = - fun projectee -> match projectee with | Tv_FVar _0 -> _0 + fun projectee -> match projectee with | Tv_FVar _0 -> _0 let (uu___is_Tv_App : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_App _0 -> true | uu____571 -> false + let (__proj__Tv_App__item___0 : term_view -> (FStar_Syntax_Syntax.term * argv)) = - fun projectee -> match projectee with | Tv_App _0 -> _0 + fun projectee -> match projectee with | Tv_App _0 -> _0 let (uu___is_Tv_Abs : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_Abs _0 -> true | uu____606 -> false + let (__proj__Tv_Abs__item___0 : term_view -> (FStar_Syntax_Syntax.binder * FStar_Syntax_Syntax.term)) = - fun projectee -> match projectee with | Tv_Abs _0 -> _0 + fun projectee -> match projectee with | Tv_Abs _0 -> _0 let (uu___is_Tv_Arrow : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_Arrow _0 -> true | uu____641 -> false + let (__proj__Tv_Arrow__item___0 : term_view -> (FStar_Syntax_Syntax.binder * FStar_Syntax_Syntax.comp)) = - fun projectee -> match projectee with | Tv_Arrow _0 -> _0 + fun projectee -> match projectee with | Tv_Arrow _0 -> _0 let (uu___is_Tv_Type : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_Type _0 -> true | uu____672 -> false + let (uu___is_Tv_Refine : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_Refine _0 -> true | uu____690 -> false + let (__proj__Tv_Refine__item___0 : term_view -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term)) = - fun projectee -> match projectee with | Tv_Refine _0 -> _0 + fun projectee -> match projectee with | Tv_Refine _0 -> _0 let (uu___is_Tv_Const : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_Const _0 -> true | uu____721 -> false + let (__proj__Tv_Const__item___0 : term_view -> vconst) = - fun projectee -> match projectee with | Tv_Const _0 -> _0 + fun projectee -> match projectee with | Tv_Const _0 -> _0 let (uu___is_Tv_Uvar : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_Uvar _0 -> true | uu____744 -> false + let (__proj__Tv_Uvar__item___0 : term_view -> (FStar_BigInt.t * FStar_Syntax_Syntax.ctx_uvar_and_subst)) = - fun projectee -> match projectee with | Tv_Uvar _0 -> _0 + fun projectee -> match projectee with | Tv_Uvar _0 -> _0 let (uu___is_Tv_Let : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_Let _0 -> true | uu____784 -> false + let (__proj__Tv_Let__item___0 : term_view -> (Prims.bool * FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term)) - = fun projectee -> match projectee with | Tv_Let _0 -> _0 + = fun projectee -> match projectee with | Tv_Let _0 -> _0 let (uu___is_Tv_Match : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_Match _0 -> true | uu____836 -> false + let (__proj__Tv_Match__item___0 : term_view -> (FStar_Syntax_Syntax.term * branch Prims.list)) = - fun projectee -> match projectee with | Tv_Match _0 -> _0 + fun projectee -> match projectee with | Tv_Match _0 -> _0 let (uu___is_Tv_AscribedT : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_AscribedT _0 -> true | uu____881 -> false + let (__proj__Tv_AscribedT__item___0 : term_view -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | Tv_AscribedT _0 -> _0 + = fun projectee -> match projectee with | Tv_AscribedT _0 -> _0 let (uu___is_Tv_AscribedC : term_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tv_AscribedC _0 -> true | uu____932 -> false + let (__proj__Tv_AscribedC__item___0 : term_view -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.comp * FStar_Syntax_Syntax.term FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | Tv_AscribedC _0 -> _0 + = fun projectee -> match projectee with | Tv_AscribedC _0 -> _0 let (uu___is_Tv_Unknown : term_view -> Prims.bool) = - fun projectee -> - match projectee with | Tv_Unknown -> true | uu____974 -> false + fun projectee -> + match projectee with | Tv_Unknown -> true | uu____974 -> false + type bv_view = { bv_ppname: Prims.string ; bv_index: FStar_BigInt.t ; bv_sort: typ } let (__proj__Mkbv_view__item__bv_ppname : bv_view -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { bv_ppname; bv_index; bv_sort;_} -> bv_ppname + let (__proj__Mkbv_view__item__bv_index : bv_view -> FStar_BigInt.t) = - fun projectee -> + fun projectee -> match projectee with | { bv_ppname; bv_index; bv_sort;_} -> bv_index + let (__proj__Mkbv_view__item__bv_sort : bv_view -> typ) = - fun projectee -> + fun projectee -> match projectee with | { bv_ppname; bv_index; bv_sort;_} -> bv_sort + type binder_view = (FStar_Syntax_Syntax.bv * aqualv) type comp_view = | C_Total of (typ * FStar_Syntax_Syntax.term @@ -217,21 +254,24 @@ type comp_view = | C_Lemma of (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term) | C_Unknown let (uu___is_C_Total : comp_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | C_Total _0 -> true | uu____1064 -> false + let (__proj__C_Total__item___0 : comp_view -> (typ * FStar_Syntax_Syntax.term FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | C_Total _0 -> _0 + = fun projectee -> match projectee with | C_Total _0 -> _0 let (uu___is_C_Lemma : comp_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | C_Lemma _0 -> true | uu____1105 -> false + let (__proj__C_Lemma__item___0 : comp_view -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term)) = - fun projectee -> match projectee with | C_Lemma _0 -> _0 + fun projectee -> match projectee with | C_Lemma _0 -> _0 let (uu___is_C_Unknown : comp_view -> Prims.bool) = - fun projectee -> - match projectee with | C_Unknown -> true | uu____1135 -> false + fun projectee -> + match projectee with | C_Unknown -> true | uu____1135 -> false + type sigelt_view = | Sg_Let of (Prims.bool * FStar_Syntax_Syntax.fv * FStar_Syntax_Syntax.univ_name Prims.list * typ * FStar_Syntax_Syntax.term) @@ -241,336 +281,364 @@ type sigelt_view = | Sg_Constructor of (name * typ) | Unk let (uu___is_Sg_Let : sigelt_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Sg_Let _0 -> true | uu____1208 -> false + let (__proj__Sg_Let__item___0 : sigelt_view -> (Prims.bool * FStar_Syntax_Syntax.fv * FStar_Syntax_Syntax.univ_name Prims.list * typ * FStar_Syntax_Syntax.term)) - = fun projectee -> match projectee with | Sg_Let _0 -> _0 + = fun projectee -> match projectee with | Sg_Let _0 -> _0 let (uu___is_Sg_Inductive : sigelt_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Sg_Inductive _0 -> true | uu____1282 -> false + let (__proj__Sg_Inductive__item___0 : sigelt_view -> (name * FStar_Syntax_Syntax.univ_name Prims.list * FStar_Syntax_Syntax.binder Prims.list * typ * name Prims.list)) - = fun projectee -> match projectee with | Sg_Inductive _0 -> _0 + = fun projectee -> match projectee with | Sg_Inductive _0 -> _0 let (uu___is_Sg_Constructor : sigelt_view -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Sg_Constructor _0 -> true | uu____1353 -> false + let (__proj__Sg_Constructor__item___0 : sigelt_view -> (name * typ)) = - fun projectee -> match projectee with | Sg_Constructor _0 -> _0 + fun projectee -> match projectee with | Sg_Constructor _0 -> _0 let (uu___is_Unk : sigelt_view -> Prims.bool) = - fun projectee -> match projectee with | Unk -> true | uu____1383 -> false + fun projectee -> match projectee with | Unk -> true | uu____1383 -> false type var = FStar_BigInt.t type exp = | Unit | Var of var | Mult of (exp * exp) let (uu___is_Unit : exp -> Prims.bool) = - fun projectee -> match projectee with | Unit -> true | uu____1408 -> false + fun projectee -> + match projectee with | Unit -> true | uu____1408 -> false + let (uu___is_Var : exp -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Var _0 -> true | uu____1420 -> false + let (__proj__Var__item___0 : exp -> var) = - fun projectee -> match projectee with | Var _0 -> _0 + fun projectee -> match projectee with | Var _0 -> _0 let (uu___is_Mult : exp -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Mult _0 -> true | uu____1443 -> false + let (__proj__Mult__item___0 : exp -> (exp * exp)) = - fun projectee -> match projectee with | Mult _0 -> _0 + fun projectee -> match projectee with | Mult _0 -> _0 type refl_constant = { lid: FStar_Ident.lid ; fv: FStar_Syntax_Syntax.fv ; t: FStar_Syntax_Syntax.term } let (__proj__Mkrefl_constant__item__lid : refl_constant -> FStar_Ident.lid) = - fun projectee -> match projectee with | { lid; fv; t;_} -> lid + fun projectee -> match projectee with | { lid; fv; t;_} -> lid let (__proj__Mkrefl_constant__item__fv : refl_constant -> FStar_Syntax_Syntax.fv) = - fun projectee -> match projectee with | { lid; fv; t;_} -> fv + fun projectee -> match projectee with | { lid; fv; t;_} -> fv let (__proj__Mkrefl_constant__item__t : refl_constant -> FStar_Syntax_Syntax.term) = - fun projectee -> match projectee with | { lid; fv; t;_} -> t -let (refl_constant_lid : refl_constant -> FStar_Ident.lid) = fun rc -> rc.lid + fun projectee -> match projectee with | { lid; fv; t;_} -> t +let (refl_constant_lid : refl_constant -> FStar_Ident.lid) = + fun rc -> rc.lid let (refl_constant_term : refl_constant -> FStar_Syntax_Syntax.term) = - fun rc -> rc.t + fun rc -> rc.t let (fstar_refl_lid : Prims.string Prims.list -> FStar_Ident.lident) = - fun s -> + fun s -> FStar_Ident.lid_of_path (FStar_List.append ["FStar"; "Reflection"] s) FStar_Range.dummyRange + let (fstar_refl_basic_lid : Prims.string -> FStar_Ident.lident) = - fun s -> fstar_refl_lid ["Basic"; s] + fun s -> fstar_refl_lid ["Basic"; s] let (fstar_refl_syntax_lid : Prims.string -> FStar_Ident.lident) = - fun s -> fstar_refl_lid ["Syntax"; s] + fun s -> fstar_refl_lid ["Syntax"; s] let (fstar_refl_types_lid : Prims.string -> FStar_Ident.lident) = - fun s -> fstar_refl_lid ["Types"; s] + fun s -> fstar_refl_lid ["Types"; s] let (fstar_refl_data_lid : Prims.string -> FStar_Ident.lident) = - fun s -> fstar_refl_lid ["Data"; s] + fun s -> fstar_refl_lid ["Data"; s] let (fstar_refl_data_const : Prims.string -> refl_constant) = - fun s -> - let lid = fstar_refl_data_lid s in + fun s -> + let lid = fstar_refl_data_lid s in let uu____1593 = FStar_Syntax_Syntax.lid_as_fv lid FStar_Syntax_Syntax.delta_constant - (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) in - let uu____1594 = FStar_Syntax_Syntax.tdataconstr lid in + (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + in + let uu____1594 = FStar_Syntax_Syntax.tdataconstr lid in { lid; fv = uu____1593; t = uu____1594 } + let (mk_refl_types_lid_as_term : Prims.string -> FStar_Syntax_Syntax.term) = - fun s -> - let uu____1603 = fstar_refl_types_lid s in + fun s -> + let uu____1603 = fstar_refl_types_lid s in FStar_Syntax_Syntax.tconst uu____1603 + let (mk_refl_types_lid_as_fv : Prims.string -> FStar_Syntax_Syntax.fv) = - fun s -> - let uu____1612 = fstar_refl_types_lid s in + fun s -> + let uu____1612 = fstar_refl_types_lid s in FStar_Syntax_Syntax.fvconst uu____1612 + let (mk_refl_syntax_lid_as_term : Prims.string -> FStar_Syntax_Syntax.term) = - fun s -> - let uu____1621 = fstar_refl_syntax_lid s in + fun s -> + let uu____1621 = fstar_refl_syntax_lid s in FStar_Syntax_Syntax.tconst uu____1621 + let (mk_refl_syntax_lid_as_fv : Prims.string -> FStar_Syntax_Syntax.fv) = - fun s -> - let uu____1630 = fstar_refl_syntax_lid s in + fun s -> + let uu____1630 = fstar_refl_syntax_lid s in FStar_Syntax_Syntax.fvconst uu____1630 + let (mk_refl_data_lid_as_term : Prims.string -> FStar_Syntax_Syntax.term) = - fun s -> - let uu____1639 = fstar_refl_data_lid s in + fun s -> + let uu____1639 = fstar_refl_data_lid s in FStar_Syntax_Syntax.tconst uu____1639 + let (mk_refl_data_lid_as_fv : Prims.string -> FStar_Syntax_Syntax.fv) = - fun s -> - let uu____1648 = fstar_refl_data_lid s in + fun s -> + let uu____1648 = fstar_refl_data_lid s in FStar_Syntax_Syntax.fvconst uu____1648 + let (mk_inspect_pack_pair : Prims.string -> (refl_constant * refl_constant)) = - fun s -> - let inspect_lid = fstar_refl_basic_lid (Prims.op_Hat "inspect" s) in - let pack_lid = fstar_refl_basic_lid (Prims.op_Hat "pack" s) in + fun s -> + let inspect_lid = fstar_refl_basic_lid (Prims.op_Hat "inspect" s) in + let pack_lid = fstar_refl_basic_lid (Prims.op_Hat "pack" s) in let inspect_fv = FStar_Syntax_Syntax.lid_as_fv inspect_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let pack_fv = FStar_Syntax_Syntax.lid_as_fv pack_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let inspect = - let uu____1670 = FStar_Syntax_Syntax.fv_to_tm inspect_fv in - { lid = inspect_lid; fv = inspect_fv; t = uu____1670 } in + let uu____1670 = FStar_Syntax_Syntax.fv_to_tm inspect_fv in + { lid = inspect_lid; fv = inspect_fv; t = uu____1670 } in let pack = - let uu____1672 = FStar_Syntax_Syntax.fv_to_tm pack_fv in - { lid = pack_lid; fv = pack_fv; t = uu____1672 } in + let uu____1672 = FStar_Syntax_Syntax.fv_to_tm pack_fv in + { lid = pack_lid; fv = pack_fv; t = uu____1672 } in (inspect, pack) -let (uu___71 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_ln" + +let (uu___71 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_ln" let (fstar_refl_inspect_ln : refl_constant) = match uu___71 with - | (fstar_refl_inspect_ln, fstar_refl_pack_ln) -> fstar_refl_inspect_ln + | (fstar_refl_inspect_ln,fstar_refl_pack_ln) -> fstar_refl_inspect_ln let (fstar_refl_pack_ln : refl_constant) = match uu___71 with - | (fstar_refl_inspect_ln1, fstar_refl_pack_ln) -> fstar_refl_pack_ln -let (uu___78 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_fv" + | (fstar_refl_inspect_ln1,fstar_refl_pack_ln) -> fstar_refl_pack_ln +let (uu___78 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_fv" let (fstar_refl_inspect_fv : refl_constant) = match uu___78 with - | (fstar_refl_inspect_fv, fstar_refl_pack_fv) -> fstar_refl_inspect_fv + | (fstar_refl_inspect_fv,fstar_refl_pack_fv) -> fstar_refl_inspect_fv let (fstar_refl_pack_fv : refl_constant) = match uu___78 with - | (fstar_refl_inspect_fv1, fstar_refl_pack_fv) -> fstar_refl_pack_fv -let (uu___85 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_bv" + | (fstar_refl_inspect_fv1,fstar_refl_pack_fv) -> fstar_refl_pack_fv +let (uu___85 : (refl_constant * refl_constant)) = mk_inspect_pack_pair "_bv" let (fstar_refl_inspect_bv : refl_constant) = match uu___85 with - | (fstar_refl_inspect_bv, fstar_refl_pack_bv) -> fstar_refl_inspect_bv + | (fstar_refl_inspect_bv,fstar_refl_pack_bv) -> fstar_refl_inspect_bv let (fstar_refl_pack_bv : refl_constant) = match uu___85 with - | (fstar_refl_inspect_bv1, fstar_refl_pack_bv) -> fstar_refl_pack_bv + | (fstar_refl_inspect_bv1,fstar_refl_pack_bv) -> fstar_refl_pack_bv let (uu___92 : (refl_constant * refl_constant)) = - mk_inspect_pack_pair "_binder" + mk_inspect_pack_pair "_binder" let (fstar_refl_inspect_binder : refl_constant) = match uu___92 with - | (fstar_refl_inspect_binder, fstar_refl_pack_binder) -> + | (fstar_refl_inspect_binder,fstar_refl_pack_binder) -> fstar_refl_inspect_binder + let (fstar_refl_pack_binder : refl_constant) = match uu___92 with - | (fstar_refl_inspect_binder1, fstar_refl_pack_binder) -> + | (fstar_refl_inspect_binder1,fstar_refl_pack_binder) -> fstar_refl_pack_binder + let (uu___99 : (refl_constant * refl_constant)) = - mk_inspect_pack_pair "_comp" + mk_inspect_pack_pair "_comp" let (fstar_refl_inspect_comp : refl_constant) = match uu___99 with - | (fstar_refl_inspect_comp, fstar_refl_pack_comp) -> - fstar_refl_inspect_comp + | (fstar_refl_inspect_comp,fstar_refl_pack_comp) -> fstar_refl_inspect_comp let (fstar_refl_pack_comp : refl_constant) = match uu___99 with - | (fstar_refl_inspect_comp1, fstar_refl_pack_comp) -> fstar_refl_pack_comp + | (fstar_refl_inspect_comp1,fstar_refl_pack_comp) -> fstar_refl_pack_comp let (uu___106 : (refl_constant * refl_constant)) = - mk_inspect_pack_pair "_sigelt" + mk_inspect_pack_pair "_sigelt" let (fstar_refl_inspect_sigelt : refl_constant) = match uu___106 with - | (fstar_refl_inspect_sigelt, fstar_refl_pack_sigelt) -> + | (fstar_refl_inspect_sigelt,fstar_refl_pack_sigelt) -> fstar_refl_inspect_sigelt + let (fstar_refl_pack_sigelt : refl_constant) = match uu___106 with - | (fstar_refl_inspect_sigelt1, fstar_refl_pack_sigelt) -> + | (fstar_refl_inspect_sigelt1,fstar_refl_pack_sigelt) -> fstar_refl_pack_sigelt + let (fstar_refl_env : FStar_Syntax_Syntax.term) = - mk_refl_types_lid_as_term "env" + mk_refl_types_lid_as_term "env" let (fstar_refl_env_fv : FStar_Syntax_Syntax.fv) = - mk_refl_types_lid_as_fv "env" + mk_refl_types_lid_as_fv "env" let (fstar_refl_bv : FStar_Syntax_Syntax.term) = - mk_refl_types_lid_as_term "bv" + mk_refl_types_lid_as_term "bv" let (fstar_refl_bv_fv : FStar_Syntax_Syntax.fv) = - mk_refl_types_lid_as_fv "bv" + mk_refl_types_lid_as_fv "bv" let (fstar_refl_fv : FStar_Syntax_Syntax.term) = - mk_refl_types_lid_as_term "fv" + mk_refl_types_lid_as_term "fv" let (fstar_refl_fv_fv : FStar_Syntax_Syntax.fv) = - mk_refl_types_lid_as_fv "fv" + mk_refl_types_lid_as_fv "fv" let (fstar_refl_comp : FStar_Syntax_Syntax.term) = - mk_refl_types_lid_as_term "comp" + mk_refl_types_lid_as_term "comp" let (fstar_refl_comp_fv : FStar_Syntax_Syntax.fv) = - mk_refl_types_lid_as_fv "comp" + mk_refl_types_lid_as_fv "comp" let (fstar_refl_binder : FStar_Syntax_Syntax.term) = - mk_refl_types_lid_as_term "binder" + mk_refl_types_lid_as_term "binder" let (fstar_refl_binder_fv : FStar_Syntax_Syntax.fv) = - mk_refl_types_lid_as_fv "binder" + mk_refl_types_lid_as_fv "binder" let (fstar_refl_sigelt : FStar_Syntax_Syntax.term) = - mk_refl_types_lid_as_term "sigelt" + mk_refl_types_lid_as_term "sigelt" let (fstar_refl_sigelt_fv : FStar_Syntax_Syntax.fv) = - mk_refl_types_lid_as_fv "sigelt" + mk_refl_types_lid_as_fv "sigelt" let (fstar_refl_term : FStar_Syntax_Syntax.term) = - mk_refl_types_lid_as_term "term" + mk_refl_types_lid_as_term "term" let (fstar_refl_term_fv : FStar_Syntax_Syntax.fv) = - mk_refl_types_lid_as_fv "term" + mk_refl_types_lid_as_fv "term" let (fstar_refl_ident : FStar_Syntax_Syntax.term) = - mk_refl_types_lid_as_term "ident" + mk_refl_types_lid_as_term "ident" let (fstar_refl_ident_fv : FStar_Syntax_Syntax.fv) = - mk_refl_types_lid_as_fv "ident" + mk_refl_types_lid_as_fv "ident" let (fstar_refl_univ_name : FStar_Syntax_Syntax.term) = - mk_refl_types_lid_as_term "univ_name" + mk_refl_types_lid_as_term "univ_name" let (fstar_refl_univ_name_fv : FStar_Syntax_Syntax.fv) = - mk_refl_types_lid_as_fv "univ_name" + mk_refl_types_lid_as_fv "univ_name" let (fstar_refl_aqualv : FStar_Syntax_Syntax.term) = - mk_refl_data_lid_as_term "aqualv" + mk_refl_data_lid_as_term "aqualv" let (fstar_refl_aqualv_fv : FStar_Syntax_Syntax.fv) = - mk_refl_data_lid_as_fv "aqualv" + mk_refl_data_lid_as_fv "aqualv" let (fstar_refl_comp_view : FStar_Syntax_Syntax.term) = - mk_refl_data_lid_as_term "comp_view" + mk_refl_data_lid_as_term "comp_view" let (fstar_refl_comp_view_fv : FStar_Syntax_Syntax.fv) = - mk_refl_data_lid_as_fv "comp_view" + mk_refl_data_lid_as_fv "comp_view" let (fstar_refl_term_view : FStar_Syntax_Syntax.term) = - mk_refl_data_lid_as_term "term_view" + mk_refl_data_lid_as_term "term_view" let (fstar_refl_term_view_fv : FStar_Syntax_Syntax.fv) = - mk_refl_data_lid_as_fv "term_view" + mk_refl_data_lid_as_fv "term_view" let (fstar_refl_pattern : FStar_Syntax_Syntax.term) = - mk_refl_data_lid_as_term "pattern" + mk_refl_data_lid_as_term "pattern" let (fstar_refl_pattern_fv : FStar_Syntax_Syntax.fv) = - mk_refl_data_lid_as_fv "pattern" + mk_refl_data_lid_as_fv "pattern" let (fstar_refl_branch : FStar_Syntax_Syntax.term) = - mk_refl_data_lid_as_term "branch" + mk_refl_data_lid_as_term "branch" let (fstar_refl_branch_fv : FStar_Syntax_Syntax.fv) = - mk_refl_data_lid_as_fv "branch" + mk_refl_data_lid_as_fv "branch" let (fstar_refl_bv_view : FStar_Syntax_Syntax.term) = - mk_refl_data_lid_as_term "bv_view" + mk_refl_data_lid_as_term "bv_view" let (fstar_refl_bv_view_fv : FStar_Syntax_Syntax.fv) = - mk_refl_data_lid_as_fv "bv_view" + mk_refl_data_lid_as_fv "bv_view" let (fstar_refl_vconst : FStar_Syntax_Syntax.term) = - mk_refl_data_lid_as_term "vconst" + mk_refl_data_lid_as_term "vconst" let (fstar_refl_vconst_fv : FStar_Syntax_Syntax.fv) = - mk_refl_data_lid_as_fv "vconst" + mk_refl_data_lid_as_fv "vconst" let (fstar_refl_sigelt_view : FStar_Syntax_Syntax.term) = - mk_refl_data_lid_as_term "sigelt_view" + mk_refl_data_lid_as_term "sigelt_view" let (fstar_refl_sigelt_view_fv : FStar_Syntax_Syntax.fv) = - mk_refl_data_lid_as_fv "sigelt_view" + mk_refl_data_lid_as_fv "sigelt_view" let (fstar_refl_exp : FStar_Syntax_Syntax.term) = - mk_refl_data_lid_as_term "exp" + mk_refl_data_lid_as_term "exp" let (fstar_refl_exp_fv : FStar_Syntax_Syntax.fv) = - mk_refl_data_lid_as_fv "exp" + mk_refl_data_lid_as_fv "exp" let (ref_Mk_bv : refl_constant) = - let lid = fstar_refl_data_lid "Mkbv_view" in + let lid = fstar_refl_data_lid "Mkbv_view" in let attr = let uu____1821 = - let uu____1828 = fstar_refl_data_lid "bv_view" in + let uu____1828 = fstar_refl_data_lid "bv_view" in let uu____1830 = let uu____1833 = - FStar_Ident.mk_ident ("bv_ppname", FStar_Range.dummyRange) in + FStar_Ident.mk_ident ("bv_ppname", FStar_Range.dummyRange) in let uu____1836 = let uu____1839 = - FStar_Ident.mk_ident ("bv_index", FStar_Range.dummyRange) in + FStar_Ident.mk_ident ("bv_index", FStar_Range.dummyRange) in let uu____1842 = let uu____1845 = - FStar_Ident.mk_ident ("bv_sort", FStar_Range.dummyRange) in - [uu____1845] in - uu____1839 :: uu____1842 in - uu____1833 :: uu____1836 in - (uu____1828, uu____1830) in - FStar_Syntax_Syntax.Record_ctor uu____1821 in + FStar_Ident.mk_ident ("bv_sort", FStar_Range.dummyRange) in + [uu____1845] in + uu____1839 :: uu____1842 in + uu____1833 :: uu____1836 in + (uu____1828, uu____1830) in + FStar_Syntax_Syntax.Record_ctor uu____1821 in let fv = FStar_Syntax_Syntax.lid_as_fv lid FStar_Syntax_Syntax.delta_constant - (FStar_Pervasives_Native.Some attr) in - let uu____1851 = FStar_Syntax_Syntax.fv_to_tm fv in - { lid; fv; t = uu____1851 } -let (ref_Q_Explicit : refl_constant) = fstar_refl_data_const "Q_Explicit" -let (ref_Q_Implicit : refl_constant) = fstar_refl_data_const "Q_Implicit" -let (ref_Q_Meta : refl_constant) = fstar_refl_data_const "Q_Meta" -let (ref_C_Unit : refl_constant) = fstar_refl_data_const "C_Unit" -let (ref_C_True : refl_constant) = fstar_refl_data_const "C_True" -let (ref_C_False : refl_constant) = fstar_refl_data_const "C_False" -let (ref_C_Int : refl_constant) = fstar_refl_data_const "C_Int" -let (ref_C_String : refl_constant) = fstar_refl_data_const "C_String" -let (ref_C_Range : refl_constant) = fstar_refl_data_const "C_Range" -let (ref_C_Reify : refl_constant) = fstar_refl_data_const "C_Reify" -let (ref_C_Reflect : refl_constant) = fstar_refl_data_const "C_Reflect" -let (ref_Pat_Constant : refl_constant) = fstar_refl_data_const "Pat_Constant" -let (ref_Pat_Cons : refl_constant) = fstar_refl_data_const "Pat_Cons" -let (ref_Pat_Var : refl_constant) = fstar_refl_data_const "Pat_Var" -let (ref_Pat_Wild : refl_constant) = fstar_refl_data_const "Pat_Wild" -let (ref_Pat_Dot_Term : refl_constant) = fstar_refl_data_const "Pat_Dot_Term" -let (ref_Tv_Var : refl_constant) = fstar_refl_data_const "Tv_Var" -let (ref_Tv_BVar : refl_constant) = fstar_refl_data_const "Tv_BVar" -let (ref_Tv_FVar : refl_constant) = fstar_refl_data_const "Tv_FVar" -let (ref_Tv_App : refl_constant) = fstar_refl_data_const "Tv_App" -let (ref_Tv_Abs : refl_constant) = fstar_refl_data_const "Tv_Abs" -let (ref_Tv_Arrow : refl_constant) = fstar_refl_data_const "Tv_Arrow" -let (ref_Tv_Type : refl_constant) = fstar_refl_data_const "Tv_Type" -let (ref_Tv_Refine : refl_constant) = fstar_refl_data_const "Tv_Refine" -let (ref_Tv_Const : refl_constant) = fstar_refl_data_const "Tv_Const" -let (ref_Tv_Uvar : refl_constant) = fstar_refl_data_const "Tv_Uvar" -let (ref_Tv_Let : refl_constant) = fstar_refl_data_const "Tv_Let" -let (ref_Tv_Match : refl_constant) = fstar_refl_data_const "Tv_Match" -let (ref_Tv_AscT : refl_constant) = fstar_refl_data_const "Tv_AscribedT" -let (ref_Tv_AscC : refl_constant) = fstar_refl_data_const "Tv_AscribedC" -let (ref_Tv_Unknown : refl_constant) = fstar_refl_data_const "Tv_Unknown" -let (ref_C_Total : refl_constant) = fstar_refl_data_const "C_Total" -let (ref_C_Lemma : refl_constant) = fstar_refl_data_const "C_Lemma" -let (ref_C_Unknown : refl_constant) = fstar_refl_data_const "C_Unknown" -let (ref_Sg_Let : refl_constant) = fstar_refl_data_const "Sg_Let" -let (ref_Sg_Inductive : refl_constant) = fstar_refl_data_const "Sg_Inductive" + (FStar_Pervasives_Native.Some attr) + in + let uu____1851 = FStar_Syntax_Syntax.fv_to_tm fv in + { lid; fv; t = uu____1851 } +let (ref_Q_Explicit : refl_constant) = fstar_refl_data_const "Q_Explicit" +let (ref_Q_Implicit : refl_constant) = fstar_refl_data_const "Q_Implicit" +let (ref_Q_Meta : refl_constant) = fstar_refl_data_const "Q_Meta" +let (ref_C_Unit : refl_constant) = fstar_refl_data_const "C_Unit" +let (ref_C_True : refl_constant) = fstar_refl_data_const "C_True" +let (ref_C_False : refl_constant) = fstar_refl_data_const "C_False" +let (ref_C_Int : refl_constant) = fstar_refl_data_const "C_Int" +let (ref_C_String : refl_constant) = fstar_refl_data_const "C_String" +let (ref_C_Range : refl_constant) = fstar_refl_data_const "C_Range" +let (ref_C_Reify : refl_constant) = fstar_refl_data_const "C_Reify" +let (ref_C_Reflect : refl_constant) = fstar_refl_data_const "C_Reflect" +let (ref_Pat_Constant : refl_constant) = fstar_refl_data_const "Pat_Constant" +let (ref_Pat_Cons : refl_constant) = fstar_refl_data_const "Pat_Cons" +let (ref_Pat_Var : refl_constant) = fstar_refl_data_const "Pat_Var" +let (ref_Pat_Wild : refl_constant) = fstar_refl_data_const "Pat_Wild" +let (ref_Pat_Dot_Term : refl_constant) = fstar_refl_data_const "Pat_Dot_Term" +let (ref_Tv_Var : refl_constant) = fstar_refl_data_const "Tv_Var" +let (ref_Tv_BVar : refl_constant) = fstar_refl_data_const "Tv_BVar" +let (ref_Tv_FVar : refl_constant) = fstar_refl_data_const "Tv_FVar" +let (ref_Tv_App : refl_constant) = fstar_refl_data_const "Tv_App" +let (ref_Tv_Abs : refl_constant) = fstar_refl_data_const "Tv_Abs" +let (ref_Tv_Arrow : refl_constant) = fstar_refl_data_const "Tv_Arrow" +let (ref_Tv_Type : refl_constant) = fstar_refl_data_const "Tv_Type" +let (ref_Tv_Refine : refl_constant) = fstar_refl_data_const "Tv_Refine" +let (ref_Tv_Const : refl_constant) = fstar_refl_data_const "Tv_Const" +let (ref_Tv_Uvar : refl_constant) = fstar_refl_data_const "Tv_Uvar" +let (ref_Tv_Let : refl_constant) = fstar_refl_data_const "Tv_Let" +let (ref_Tv_Match : refl_constant) = fstar_refl_data_const "Tv_Match" +let (ref_Tv_AscT : refl_constant) = fstar_refl_data_const "Tv_AscribedT" +let (ref_Tv_AscC : refl_constant) = fstar_refl_data_const "Tv_AscribedC" +let (ref_Tv_Unknown : refl_constant) = fstar_refl_data_const "Tv_Unknown" +let (ref_C_Total : refl_constant) = fstar_refl_data_const "C_Total" +let (ref_C_Lemma : refl_constant) = fstar_refl_data_const "C_Lemma" +let (ref_C_Unknown : refl_constant) = fstar_refl_data_const "C_Unknown" +let (ref_Sg_Let : refl_constant) = fstar_refl_data_const "Sg_Let" +let (ref_Sg_Inductive : refl_constant) = fstar_refl_data_const "Sg_Inductive" let (ref_Sg_Constructor : refl_constant) = - fstar_refl_data_const "Sg_Constructor" -let (ref_Unk : refl_constant) = fstar_refl_data_const "Unk" -let (ref_E_Unit : refl_constant) = fstar_refl_data_const "Unit" -let (ref_E_Var : refl_constant) = fstar_refl_data_const "Var" -let (ref_E_Mult : refl_constant) = fstar_refl_data_const "Mult" + fstar_refl_data_const "Sg_Constructor" +let (ref_Unk : refl_constant) = fstar_refl_data_const "Unk" +let (ref_E_Unit : refl_constant) = fstar_refl_data_const "Unit" +let (ref_E_Var : refl_constant) = fstar_refl_data_const "Var" +let (ref_E_Mult : refl_constant) = fstar_refl_data_const "Mult" let (t_exp : FStar_Syntax_Syntax.term) = let uu____1935 = FStar_Ident.lid_of_path ["FStar"; "Reflection"; "Data"; "exp"] - FStar_Range.dummyRange in - FStar_Syntax_Syntax.tconst uu____1935 + FStar_Range.dummyRange + in + FStar_Syntax_Syntax.tconst uu____1935 let (ord_Lt_lid : FStar_Ident.lident) = - FStar_Ident.lid_of_path ["FStar"; "Order"; "Lt"] FStar_Range.dummyRange + FStar_Ident.lid_of_path ["FStar"; "Order"; "Lt"] FStar_Range.dummyRange let (ord_Eq_lid : FStar_Ident.lident) = - FStar_Ident.lid_of_path ["FStar"; "Order"; "Eq"] FStar_Range.dummyRange + FStar_Ident.lid_of_path ["FStar"; "Order"; "Eq"] FStar_Range.dummyRange let (ord_Gt_lid : FStar_Ident.lident) = - FStar_Ident.lid_of_path ["FStar"; "Order"; "Gt"] FStar_Range.dummyRange + FStar_Ident.lid_of_path ["FStar"; "Order"; "Gt"] FStar_Range.dummyRange let (ord_Lt : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr ord_Lt_lid + FStar_Syntax_Syntax.tdataconstr ord_Lt_lid let (ord_Eq : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr ord_Eq_lid + FStar_Syntax_Syntax.tdataconstr ord_Eq_lid let (ord_Gt : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr ord_Gt_lid + FStar_Syntax_Syntax.tdataconstr ord_Gt_lid let (ord_Lt_fv : FStar_Syntax_Syntax.fv) = FStar_Syntax_Syntax.lid_as_fv ord_Lt_lid FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + let (ord_Eq_fv : FStar_Syntax_Syntax.fv) = FStar_Syntax_Syntax.lid_as_fv ord_Eq_lid FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + let (ord_Gt_fv : FStar_Syntax_Syntax.fv) = FStar_Syntax_Syntax.lid_as_fv ord_Gt_lid FStar_Syntax_Syntax.delta_constant - (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) \ No newline at end of file + (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Reflection_Embeddings.ml b/src/ocaml-output/FStar_Reflection_Embeddings.ml index 5ebc10b8d96..8384a475d50 100644 --- a/src/ocaml-output/FStar_Reflection_Embeddings.ml +++ b/src/ocaml-output/FStar_Reflection_Embeddings.ml @@ -8,24 +8,26 @@ let mk_emb : FStar_Syntax_Syntax.term -> 'Auu____8 FStar_Syntax_Embeddings.embedding = - fun f -> - fun g -> - fun t -> - let uu____52 = FStar_Syntax_Embeddings.term_as_fv t in + fun f -> + fun g -> + fun t -> + let uu____52 = FStar_Syntax_Embeddings.term_as_fv t in FStar_Syntax_Embeddings.mk_emb - (fun x -> fun r -> fun _topt -> fun _norm -> f r x) - (fun x -> fun w -> fun _norm -> g w x) uu____52 + (fun x -> fun r -> fun _topt -> fun _norm -> f r x) + (fun x -> fun w -> fun _norm -> g w x) uu____52 + let embed : 'Auu____79 . 'Auu____79 FStar_Syntax_Embeddings.embedding -> FStar_Range.range -> 'Auu____79 -> FStar_Syntax_Syntax.term = - fun e -> - fun r -> - fun x -> - let uu____99 = FStar_Syntax_Embeddings.embed e x in + fun e -> + fun r -> + fun x -> + let uu____99 = FStar_Syntax_Embeddings.embed e x in uu____99 r FStar_Pervasives_Native.None FStar_Syntax_Embeddings.id_norm_cb + let unembed' : 'Auu____117 . Prims.bool -> @@ -33,188 +35,201 @@ let unembed' : FStar_Syntax_Syntax.term -> 'Auu____117 FStar_Pervasives_Native.option = - fun w -> - fun e -> - fun x -> - let uu____141 = FStar_Syntax_Embeddings.unembed e x in + fun w -> + fun e -> + fun x -> + let uu____141 = FStar_Syntax_Embeddings.unembed e x in uu____141 w FStar_Syntax_Embeddings.id_norm_cb + let (e_bv : FStar_Syntax_Syntax.bv FStar_Syntax_Embeddings.embedding) = let embed_bv rng bv = FStar_Syntax_Util.mk_lazy bv FStar_Reflection_Data.fstar_refl_bv - FStar_Syntax_Syntax.Lazy_bv (FStar_Pervasives_Native.Some rng) in + FStar_Syntax_Syntax.Lazy_bv (FStar_Pervasives_Native.Some rng) + in let unembed_bv w t = let uu____179 = - let uu____180 = FStar_Syntax_Subst.compress t in - uu____180.FStar_Syntax_Syntax.n in + let uu____180 = FStar_Syntax_Subst.compress t in + uu____180.FStar_Syntax_Syntax.n in match uu____179 with | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_bv; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_bv ; FStar_Syntax_Syntax.ltyp = uu____186; FStar_Syntax_Syntax.rng = uu____187;_} -> - let uu____190 = FStar_Dyn.undyn b in + let uu____190 = FStar_Dyn.undyn b in FStar_Pervasives_Native.Some uu____190 | uu____191 -> (if w then (let uu____194 = let uu____200 = - let uu____202 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "Not an embedded bv: %s" uu____202 in - (FStar_Errors.Warning_NotEmbedded, uu____200) in + let uu____202 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "Not an embedded bv: %s" uu____202 in + (FStar_Errors.Warning_NotEmbedded, uu____200) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____194) else (); - FStar_Pervasives_Native.None) in - mk_emb embed_bv unembed_bv FStar_Reflection_Data.fstar_refl_bv + FStar_Pervasives_Native.None) + in + mk_emb embed_bv unembed_bv FStar_Reflection_Data.fstar_refl_bv let (e_binder : FStar_Syntax_Syntax.binder FStar_Syntax_Embeddings.embedding) = let embed_binder rng b = FStar_Syntax_Util.mk_lazy b FStar_Reflection_Data.fstar_refl_binder - FStar_Syntax_Syntax.Lazy_binder (FStar_Pervasives_Native.Some rng) in + FStar_Syntax_Syntax.Lazy_binder (FStar_Pervasives_Native.Some rng) + in let unembed_binder w t = let uu____239 = - let uu____240 = FStar_Syntax_Subst.compress t in - uu____240.FStar_Syntax_Syntax.n in + let uu____240 = FStar_Syntax_Subst.compress t in + uu____240.FStar_Syntax_Syntax.n in match uu____239 with | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_binder; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_binder ; FStar_Syntax_Syntax.ltyp = uu____246; FStar_Syntax_Syntax.rng = uu____247;_} -> - let uu____250 = FStar_Dyn.undyn b in + let uu____250 = FStar_Dyn.undyn b in FStar_Pervasives_Native.Some uu____250 | uu____251 -> (if w then (let uu____254 = let uu____260 = - let uu____262 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "Not an embedded binder: %s" uu____262 in - (FStar_Errors.Warning_NotEmbedded, uu____260) in + let uu____262 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "Not an embedded binder: %s" uu____262 in + (FStar_Errors.Warning_NotEmbedded, uu____260) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____254) else (); - FStar_Pervasives_Native.None) in - mk_emb embed_binder unembed_binder FStar_Reflection_Data.fstar_refl_binder + FStar_Pervasives_Native.None) + in + mk_emb embed_binder unembed_binder FStar_Reflection_Data.fstar_refl_binder let rec mapM_opt : 'a 'b . ('a -> 'b FStar_Pervasives_Native.option) -> 'a Prims.list -> 'b Prims.list FStar_Pervasives_Native.option = - fun f -> - fun l -> + fun f -> + fun l -> match l with | [] -> FStar_Pervasives_Native.Some [] | x::xs -> - let uu____314 = f x in + let uu____314 = f x in FStar_Util.bind_opt uu____314 - (fun x1 -> - let uu____322 = mapM_opt f xs in + (fun x1 -> + let uu____322 = mapM_opt f xs in FStar_Util.bind_opt uu____322 - (fun xs1 -> FStar_Pervasives_Native.Some (x1 :: xs1))) + (fun xs1 -> FStar_Pervasives_Native.Some (x1 :: xs1))) + let (e_term_aq : FStar_Syntax_Syntax.antiquotations -> FStar_Syntax_Syntax.term FStar_Syntax_Embeddings.embedding) = - fun aq -> + fun aq -> let embed_term rng t = let qi = { FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_static; FStar_Syntax_Syntax.antiquotes = aq - } in + } in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_quoted (t, qi)) - FStar_Pervasives_Native.None rng in + FStar_Pervasives_Native.None rng + in let rec unembed_term w t = let apply_antiquotes t1 aq1 = let uu____391 = mapM_opt - (fun uu____404 -> + (fun uu____404 -> match uu____404 with - | (bv, e) -> - let uu____413 = unembed_term w e in + | (bv,e) -> + let uu____413 = unembed_term w e in FStar_Util.bind_opt uu____413 - (fun e1 -> + (fun e1 -> FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.NT (bv, e1)))) aq1 in + (FStar_Syntax_Syntax.NT (bv, e1)))) aq1 + in FStar_Util.bind_opt uu____391 - (fun s -> - let uu____427 = FStar_Syntax_Subst.subst s t1 in - FStar_Pervasives_Native.Some uu____427) in - let t1 = FStar_Syntax_Util.unmeta t in + (fun s -> + let uu____427 = FStar_Syntax_Subst.subst s t1 in + FStar_Pervasives_Native.Some uu____427) + in + let t1 = FStar_Syntax_Util.unmeta t in let uu____429 = - let uu____430 = FStar_Syntax_Subst.compress t1 in - uu____430.FStar_Syntax_Syntax.n in + let uu____430 = FStar_Syntax_Subst.compress t1 in + uu____430.FStar_Syntax_Syntax.n in match uu____429 with - | FStar_Syntax_Syntax.Tm_quoted (tm, qi) -> + | FStar_Syntax_Syntax.Tm_quoted (tm,qi) -> apply_antiquotes tm qi.FStar_Syntax_Syntax.antiquotes | uu____441 -> (if w then (let uu____444 = let uu____450 = - let uu____452 = FStar_Syntax_Print.term_to_string t1 in - FStar_Util.format1 "Not an embedded term: %s" uu____452 in - (FStar_Errors.Warning_NotEmbedded, uu____450) in + let uu____452 = FStar_Syntax_Print.term_to_string t1 in + FStar_Util.format1 "Not an embedded term: %s" uu____452 in + (FStar_Errors.Warning_NotEmbedded, uu____450) in FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu____444) else (); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in mk_emb embed_term unembed_term FStar_Syntax_Syntax.t_term + let (e_term : FStar_Syntax_Syntax.term FStar_Syntax_Embeddings.embedding) = - e_term_aq [] + e_term_aq [] let (e_aqualv : FStar_Reflection_Data.aqualv FStar_Syntax_Embeddings.embedding) = let embed_aqualv rng q = let r = match q with - | FStar_Reflection_Data.Q_Explicit -> + | FStar_Reflection_Data.Q_Explicit -> FStar_Reflection_Data.ref_Q_Explicit.FStar_Reflection_Data.t - | FStar_Reflection_Data.Q_Implicit -> + | FStar_Reflection_Data.Q_Implicit -> FStar_Reflection_Data.ref_Q_Implicit.FStar_Reflection_Data.t | FStar_Reflection_Data.Q_Meta t -> let uu____487 = let uu____492 = let uu____493 = - let uu____502 = embed e_term rng t in - FStar_Syntax_Syntax.as_arg uu____502 in - [uu____493] in + let uu____502 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu____502 in + [uu____493] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Q_Meta.FStar_Reflection_Data.t - uu____492 in - uu____487 FStar_Pervasives_Native.None FStar_Range.dummyRange in - let uu___88_519 = r in + uu____492 + in + uu____487 FStar_Pervasives_Native.None FStar_Range.dummyRange + in + let uu___88_519 = r in { FStar_Syntax_Syntax.n = (uu___88_519.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = (uu___88_519.FStar_Syntax_Syntax.vars) - } in + } in let unembed_aqualv w t = - let t1 = FStar_Syntax_Util.unascribe t in - let uu____540 = FStar_Syntax_Util.head_and_args t1 in + let t1 = FStar_Syntax_Util.unascribe t in + let uu____540 = FStar_Syntax_Util.head_and_args t1 in match uu____540 with - | (hd1, args) -> + | (hd1,args) -> let uu____585 = let uu____600 = - let uu____601 = FStar_Syntax_Util.un_uinst hd1 in - uu____601.FStar_Syntax_Syntax.n in - (uu____600, args) in + let uu____601 = FStar_Syntax_Util.un_uinst hd1 in + uu____601.FStar_Syntax_Syntax.n in + (uu____600, args) in (match uu____585 with - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Q_Explicit.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Q_Explicit - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Q_Implicit.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Q_Implicit - | (FStar_Syntax_Syntax.Tm_fvar fv, (t2, uu____656)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(t2,uu____656)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Q_Meta.FStar_Reflection_Data.lid -> - let uu____691 = unembed' w e_term t2 in + let uu____691 = unembed' w e_term t2 in FStar_Util.bind_opt uu____691 - (fun t3 -> + (fun t3 -> FStar_Pervasives_Native.Some (FStar_Reflection_Data.Q_Meta t3)) | uu____696 -> @@ -222,945 +237,1011 @@ let (e_aqualv : then (let uu____713 = let uu____719 = - let uu____721 = FStar_Syntax_Print.term_to_string t1 in + let uu____721 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.format1 "Not an embedded aqualv: %s" - uu____721 in - (FStar_Errors.Warning_NotEmbedded, uu____719) in + uu____721 + in + (FStar_Errors.Warning_NotEmbedded, uu____719) in FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu____713) else (); - FStar_Pervasives_Native.None)) in - mk_emb embed_aqualv unembed_aqualv FStar_Reflection_Data.fstar_refl_aqualv + FStar_Pervasives_Native.None)) + in + mk_emb embed_aqualv unembed_aqualv FStar_Reflection_Data.fstar_refl_aqualv let (e_binders : FStar_Syntax_Syntax.binders FStar_Syntax_Embeddings.embedding) = - FStar_Syntax_Embeddings.e_list e_binder + FStar_Syntax_Embeddings.e_list e_binder let (e_fv : FStar_Syntax_Syntax.fv FStar_Syntax_Embeddings.embedding) = let embed_fv rng fv = FStar_Syntax_Util.mk_lazy fv FStar_Reflection_Data.fstar_refl_fv - FStar_Syntax_Syntax.Lazy_fvar (FStar_Pervasives_Native.Some rng) in + FStar_Syntax_Syntax.Lazy_fvar (FStar_Pervasives_Native.Some rng) + in let unembed_fv w t = let uu____761 = - let uu____762 = FStar_Syntax_Subst.compress t in - uu____762.FStar_Syntax_Syntax.n in + let uu____762 = FStar_Syntax_Subst.compress t in + uu____762.FStar_Syntax_Syntax.n in match uu____761 with | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_fvar; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_fvar ; FStar_Syntax_Syntax.ltyp = uu____768; FStar_Syntax_Syntax.rng = uu____769;_} -> - let uu____772 = FStar_Dyn.undyn b in + let uu____772 = FStar_Dyn.undyn b in FStar_Pervasives_Native.Some uu____772 | uu____773 -> (if w then (let uu____776 = let uu____782 = - let uu____784 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "Not an embedded fvar: %s" uu____784 in - (FStar_Errors.Warning_NotEmbedded, uu____782) in + let uu____784 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "Not an embedded fvar: %s" uu____784 in + (FStar_Errors.Warning_NotEmbedded, uu____782) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____776) else (); - FStar_Pervasives_Native.None) in - mk_emb embed_fv unembed_fv FStar_Reflection_Data.fstar_refl_fv + FStar_Pervasives_Native.None) + in + mk_emb embed_fv unembed_fv FStar_Reflection_Data.fstar_refl_fv let (e_comp : FStar_Syntax_Syntax.comp FStar_Syntax_Embeddings.embedding) = let embed_comp rng c = FStar_Syntax_Util.mk_lazy c FStar_Reflection_Data.fstar_refl_comp - FStar_Syntax_Syntax.Lazy_comp (FStar_Pervasives_Native.Some rng) in + FStar_Syntax_Syntax.Lazy_comp (FStar_Pervasives_Native.Some rng) + in let unembed_comp w t = let uu____821 = - let uu____822 = FStar_Syntax_Subst.compress t in - uu____822.FStar_Syntax_Syntax.n in + let uu____822 = FStar_Syntax_Subst.compress t in + uu____822.FStar_Syntax_Syntax.n in match uu____821 with | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_comp; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_comp ; FStar_Syntax_Syntax.ltyp = uu____828; FStar_Syntax_Syntax.rng = uu____829;_} -> - let uu____832 = FStar_Dyn.undyn b in + let uu____832 = FStar_Dyn.undyn b in FStar_Pervasives_Native.Some uu____832 | uu____833 -> (if w then (let uu____836 = let uu____842 = - let uu____844 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "Not an embedded comp: %s" uu____844 in - (FStar_Errors.Warning_NotEmbedded, uu____842) in + let uu____844 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "Not an embedded comp: %s" uu____844 in + (FStar_Errors.Warning_NotEmbedded, uu____842) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____836) else (); - FStar_Pervasives_Native.None) in - mk_emb embed_comp unembed_comp FStar_Reflection_Data.fstar_refl_comp + FStar_Pervasives_Native.None) + in + mk_emb embed_comp unembed_comp FStar_Reflection_Data.fstar_refl_comp let (e_env : FStar_TypeChecker_Env.env FStar_Syntax_Embeddings.embedding) = let embed_env rng e = FStar_Syntax_Util.mk_lazy e FStar_Reflection_Data.fstar_refl_env - FStar_Syntax_Syntax.Lazy_env (FStar_Pervasives_Native.Some rng) in + FStar_Syntax_Syntax.Lazy_env (FStar_Pervasives_Native.Some rng) + in let unembed_env w t = let uu____881 = - let uu____882 = FStar_Syntax_Subst.compress t in - uu____882.FStar_Syntax_Syntax.n in + let uu____882 = FStar_Syntax_Subst.compress t in + uu____882.FStar_Syntax_Syntax.n in match uu____881 with | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_env; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_env ; FStar_Syntax_Syntax.ltyp = uu____888; FStar_Syntax_Syntax.rng = uu____889;_} -> - let uu____892 = FStar_Dyn.undyn b in + let uu____892 = FStar_Dyn.undyn b in FStar_Pervasives_Native.Some uu____892 | uu____893 -> (if w then (let uu____896 = let uu____902 = - let uu____904 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "Not an embedded env: %s" uu____904 in - (FStar_Errors.Warning_NotEmbedded, uu____902) in + let uu____904 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "Not an embedded env: %s" uu____904 in + (FStar_Errors.Warning_NotEmbedded, uu____902) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____896) else (); - FStar_Pervasives_Native.None) in - mk_emb embed_env unembed_env FStar_Reflection_Data.fstar_refl_env + FStar_Pervasives_Native.None) + in + mk_emb embed_env unembed_env FStar_Reflection_Data.fstar_refl_env let (e_const : FStar_Reflection_Data.vconst FStar_Syntax_Embeddings.embedding) = let embed_const rng c = let r = match c with - | FStar_Reflection_Data.C_Unit -> + | FStar_Reflection_Data.C_Unit -> FStar_Reflection_Data.ref_C_Unit.FStar_Reflection_Data.t - | FStar_Reflection_Data.C_True -> + | FStar_Reflection_Data.C_True -> FStar_Reflection_Data.ref_C_True.FStar_Reflection_Data.t - | FStar_Reflection_Data.C_False -> + | FStar_Reflection_Data.C_False -> FStar_Reflection_Data.ref_C_False.FStar_Reflection_Data.t | FStar_Reflection_Data.C_Int i -> let uu____930 = let uu____935 = let uu____936 = let uu____945 = - let uu____946 = FStar_BigInt.string_of_big_int i in - FStar_Syntax_Util.exp_int uu____946 in - FStar_Syntax_Syntax.as_arg uu____945 in - [uu____936] in + let uu____946 = FStar_BigInt.string_of_big_int i in + FStar_Syntax_Util.exp_int uu____946 in + FStar_Syntax_Syntax.as_arg uu____945 in + [uu____936] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_C_Int.FStar_Reflection_Data.t - uu____935 in + uu____935 + in uu____930 FStar_Pervasives_Native.None FStar_Range.dummyRange | FStar_Reflection_Data.C_String s -> let uu____966 = let uu____971 = let uu____972 = - let uu____981 = embed FStar_Syntax_Embeddings.e_string rng s in - FStar_Syntax_Syntax.as_arg uu____981 in - [uu____972] in + let uu____981 = embed FStar_Syntax_Embeddings.e_string rng s + in + FStar_Syntax_Syntax.as_arg uu____981 in + [uu____972] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_C_String.FStar_Reflection_Data.t - uu____971 in + uu____971 + in uu____966 FStar_Pervasives_Native.None FStar_Range.dummyRange | FStar_Reflection_Data.C_Range r -> let uu____1000 = let uu____1005 = let uu____1006 = - let uu____1015 = embed FStar_Syntax_Embeddings.e_range rng r in - FStar_Syntax_Syntax.as_arg uu____1015 in - [uu____1006] in + let uu____1015 = embed FStar_Syntax_Embeddings.e_range rng r + in + FStar_Syntax_Syntax.as_arg uu____1015 in + [uu____1006] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_C_Range.FStar_Reflection_Data.t - uu____1005 in + uu____1005 + in uu____1000 FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_Reflection_Data.C_Reify -> + | FStar_Reflection_Data.C_Reify -> FStar_Reflection_Data.ref_C_Reify.FStar_Reflection_Data.t | FStar_Reflection_Data.C_Reflect ns -> let uu____1033 = let uu____1038 = let uu____1039 = let uu____1048 = - embed FStar_Syntax_Embeddings.e_string_list rng ns in - FStar_Syntax_Syntax.as_arg uu____1048 in - [uu____1039] in + embed FStar_Syntax_Embeddings.e_string_list rng ns in + FStar_Syntax_Syntax.as_arg uu____1048 in + [uu____1039] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_C_Reflect.FStar_Reflection_Data.t - uu____1038 in - uu____1033 FStar_Pervasives_Native.None FStar_Range.dummyRange in - let uu___177_1068 = r in + uu____1038 + in + uu____1033 FStar_Pervasives_Native.None FStar_Range.dummyRange + in + let uu___177_1068 = r in { FStar_Syntax_Syntax.n = (uu___177_1068.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = (uu___177_1068.FStar_Syntax_Syntax.vars) - } in + } in let unembed_const w t = - let t1 = FStar_Syntax_Util.unascribe t in - let uu____1089 = FStar_Syntax_Util.head_and_args t1 in + let t1 = FStar_Syntax_Util.unascribe t in + let uu____1089 = FStar_Syntax_Util.head_and_args t1 in match uu____1089 with - | (hd1, args) -> + | (hd1,args) -> let uu____1134 = let uu____1149 = - let uu____1150 = FStar_Syntax_Util.un_uinst hd1 in - uu____1150.FStar_Syntax_Syntax.n in - (uu____1149, args) in + let uu____1150 = FStar_Syntax_Util.un_uinst hd1 in + uu____1150.FStar_Syntax_Syntax.n in + (uu____1149, args) in (match uu____1134 with - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Unit.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_Unit - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_True.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_True - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_False.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_False - | (FStar_Syntax_Syntax.Tm_fvar fv, (i, uu____1224)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(i,uu____1224)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Int.FStar_Reflection_Data.lid -> - let uu____1259 = unembed' w FStar_Syntax_Embeddings.e_int i in + let uu____1259 = unembed' w FStar_Syntax_Embeddings.e_int i in FStar_Util.bind_opt uu____1259 - (fun i1 -> + (fun i1 -> FStar_All.pipe_left - (fun _1266 -> FStar_Pervasives_Native.Some _1266) + (fun _1266 -> FStar_Pervasives_Native.Some _1266) (FStar_Reflection_Data.C_Int i1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, (s, uu____1269)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(s,uu____1269)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_String.FStar_Reflection_Data.lid -> - let uu____1304 = unembed' w FStar_Syntax_Embeddings.e_string s in + let uu____1304 = unembed' w FStar_Syntax_Embeddings.e_string s + in FStar_Util.bind_opt uu____1304 - (fun s1 -> + (fun s1 -> FStar_All.pipe_left - (fun _1315 -> FStar_Pervasives_Native.Some _1315) + (fun _1315 -> FStar_Pervasives_Native.Some _1315) (FStar_Reflection_Data.C_String s1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, (r, uu____1318)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(r,uu____1318)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Range.FStar_Reflection_Data.lid -> - let uu____1353 = unembed' w FStar_Syntax_Embeddings.e_range r in + let uu____1353 = unembed' w FStar_Syntax_Embeddings.e_range r + in FStar_Util.bind_opt uu____1353 - (fun r1 -> + (fun r1 -> FStar_All.pipe_left - (fun _1360 -> FStar_Pervasives_Native.Some _1360) + (fun _1360 -> FStar_Pervasives_Native.Some _1360) (FStar_Reflection_Data.C_Range r1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Reify.FStar_Reflection_Data.lid -> FStar_All.pipe_left - (fun _1382 -> FStar_Pervasives_Native.Some _1382) + (fun _1382 -> FStar_Pervasives_Native.Some _1382) FStar_Reflection_Data.C_Reify - | (FStar_Syntax_Syntax.Tm_fvar fv, (ns, uu____1385)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(ns,uu____1385)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Reflect.FStar_Reflection_Data.lid -> let uu____1420 = - unembed' w FStar_Syntax_Embeddings.e_string_list ns in + unembed' w FStar_Syntax_Embeddings.e_string_list ns in FStar_Util.bind_opt uu____1420 - (fun ns1 -> + (fun ns1 -> FStar_All.pipe_left - (fun _1439 -> FStar_Pervasives_Native.Some _1439) + (fun _1439 -> FStar_Pervasives_Native.Some _1439) (FStar_Reflection_Data.C_Reflect ns1)) | uu____1440 -> (if w then (let uu____1457 = let uu____1463 = - let uu____1465 = FStar_Syntax_Print.term_to_string t1 in + let uu____1465 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.format1 "Not an embedded vconst: %s" - uu____1465 in - (FStar_Errors.Warning_NotEmbedded, uu____1463) in + uu____1465 + in + (FStar_Errors.Warning_NotEmbedded, uu____1463) in FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu____1457) else (); - FStar_Pervasives_Native.None)) in - mk_emb embed_const unembed_const FStar_Reflection_Data.fstar_refl_vconst + FStar_Pervasives_Native.None)) + in + mk_emb embed_const unembed_const FStar_Reflection_Data.fstar_refl_vconst let rec (e_pattern' : unit -> FStar_Reflection_Data.pattern FStar_Syntax_Embeddings.embedding) = - fun uu____1478 -> + fun uu____1478 -> let rec embed_pattern rng p = match p with | FStar_Reflection_Data.Pat_Constant c -> let uu____1491 = let uu____1496 = let uu____1497 = - let uu____1506 = embed e_const rng c in - FStar_Syntax_Syntax.as_arg uu____1506 in - [uu____1497] in + let uu____1506 = embed e_const rng c in + FStar_Syntax_Syntax.as_arg uu____1506 in + [uu____1497] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Pat_Constant.FStar_Reflection_Data.t - uu____1496 in + uu____1496 + in uu____1491 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Pat_Cons (fv, ps) -> + | FStar_Reflection_Data.Pat_Cons (fv,ps) -> let uu____1529 = let uu____1534 = let uu____1535 = - let uu____1544 = embed e_fv rng fv in - FStar_Syntax_Syntax.as_arg uu____1544 in + let uu____1544 = embed e_fv rng fv in + FStar_Syntax_Syntax.as_arg uu____1544 in let uu____1545 = let uu____1556 = let uu____1565 = let uu____1566 = - let uu____1571 = e_pattern' () in - FStar_Syntax_Embeddings.e_list uu____1571 in - embed uu____1566 rng ps in - FStar_Syntax_Syntax.as_arg uu____1565 in - [uu____1556] in - uu____1535 :: uu____1545 in + let uu____1571 = e_pattern' () in + FStar_Syntax_Embeddings.e_list uu____1571 in + embed uu____1566 rng ps in + FStar_Syntax_Syntax.as_arg uu____1565 in + [uu____1556] in + uu____1535 :: uu____1545 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Pat_Cons.FStar_Reflection_Data.t - uu____1534 in + uu____1534 + in uu____1529 FStar_Pervasives_Native.None rng | FStar_Reflection_Data.Pat_Var bv -> let uu____1601 = let uu____1606 = let uu____1607 = - let uu____1616 = embed e_bv rng bv in - FStar_Syntax_Syntax.as_arg uu____1616 in - [uu____1607] in + let uu____1616 = embed e_bv rng bv in + FStar_Syntax_Syntax.as_arg uu____1616 in + [uu____1607] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Pat_Var.FStar_Reflection_Data.t - uu____1606 in + uu____1606 + in uu____1601 FStar_Pervasives_Native.None rng | FStar_Reflection_Data.Pat_Wild bv -> let uu____1634 = let uu____1639 = let uu____1640 = - let uu____1649 = embed e_bv rng bv in - FStar_Syntax_Syntax.as_arg uu____1649 in - [uu____1640] in + let uu____1649 = embed e_bv rng bv in + FStar_Syntax_Syntax.as_arg uu____1649 in + [uu____1640] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Pat_Wild.FStar_Reflection_Data.t - uu____1639 in + uu____1639 + in uu____1634 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Pat_Dot_Term (bv, t) -> + | FStar_Reflection_Data.Pat_Dot_Term (bv,t) -> let uu____1668 = let uu____1673 = let uu____1674 = - let uu____1683 = embed e_bv rng bv in - FStar_Syntax_Syntax.as_arg uu____1683 in + let uu____1683 = embed e_bv rng bv in + FStar_Syntax_Syntax.as_arg uu____1683 in let uu____1684 = let uu____1695 = - let uu____1704 = embed e_term rng t in - FStar_Syntax_Syntax.as_arg uu____1704 in - [uu____1695] in - uu____1674 :: uu____1684 in + let uu____1704 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu____1704 in + [uu____1695] in + uu____1674 :: uu____1684 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Pat_Dot_Term.FStar_Reflection_Data.t - uu____1673 in - uu____1668 FStar_Pervasives_Native.None rng in + uu____1673 + in + uu____1668 FStar_Pervasives_Native.None rng + in let rec unembed_pattern w t = - let t1 = FStar_Syntax_Util.unascribe t in - let uu____1747 = FStar_Syntax_Util.head_and_args t1 in + let t1 = FStar_Syntax_Util.unascribe t in + let uu____1747 = FStar_Syntax_Util.head_and_args t1 in match uu____1747 with - | (hd1, args) -> + | (hd1,args) -> let uu____1792 = let uu____1805 = - let uu____1806 = FStar_Syntax_Util.un_uinst hd1 in - uu____1806.FStar_Syntax_Syntax.n in - (uu____1805, args) in + let uu____1806 = FStar_Syntax_Util.un_uinst hd1 in + uu____1806.FStar_Syntax_Syntax.n in + (uu____1805, args) in (match uu____1792 with - | (FStar_Syntax_Syntax.Tm_fvar fv, (c, uu____1821)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(c,uu____1821)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Pat_Constant.FStar_Reflection_Data.lid -> - let uu____1846 = unembed' w e_const c in + let uu____1846 = unembed' w e_const c in FStar_Util.bind_opt uu____1846 - (fun c1 -> + (fun c1 -> FStar_All.pipe_left - (fun _1853 -> FStar_Pervasives_Native.Some _1853) + (fun _1853 -> FStar_Pervasives_Native.Some _1853) (FStar_Reflection_Data.Pat_Constant c1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (f, uu____1856)::(ps, uu____1858)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(f,uu____1856)::(ps,uu____1858)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Pat_Cons.FStar_Reflection_Data.lid -> - let uu____1893 = unembed' w e_fv f in + let uu____1893 = unembed' w e_fv f in FStar_Util.bind_opt uu____1893 - (fun f1 -> + (fun f1 -> let uu____1899 = let uu____1904 = - let uu____1909 = e_pattern' () in - FStar_Syntax_Embeddings.e_list uu____1909 in - unembed' w uu____1904 ps in + let uu____1909 = e_pattern' () in + FStar_Syntax_Embeddings.e_list uu____1909 in + unembed' w uu____1904 ps in FStar_Util.bind_opt uu____1899 - (fun ps1 -> + (fun ps1 -> FStar_All.pipe_left - (fun _1922 -> FStar_Pervasives_Native.Some _1922) + (fun _1922 -> FStar_Pervasives_Native.Some _1922) (FStar_Reflection_Data.Pat_Cons (f1, ps1)))) - | (FStar_Syntax_Syntax.Tm_fvar fv, (bv, uu____1927)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(bv,uu____1927)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Pat_Var.FStar_Reflection_Data.lid -> - let uu____1952 = unembed' w e_bv bv in + let uu____1952 = unembed' w e_bv bv in FStar_Util.bind_opt uu____1952 - (fun bv1 -> + (fun bv1 -> FStar_All.pipe_left - (fun _1959 -> FStar_Pervasives_Native.Some _1959) + (fun _1959 -> FStar_Pervasives_Native.Some _1959) (FStar_Reflection_Data.Pat_Var bv1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, (bv, uu____1962)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(bv,uu____1962)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Pat_Wild.FStar_Reflection_Data.lid -> - let uu____1987 = unembed' w e_bv bv in + let uu____1987 = unembed' w e_bv bv in FStar_Util.bind_opt uu____1987 - (fun bv1 -> + (fun bv1 -> FStar_All.pipe_left - (fun _1994 -> FStar_Pervasives_Native.Some _1994) + (fun _1994 -> FStar_Pervasives_Native.Some _1994) (FStar_Reflection_Data.Pat_Wild bv1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (bv, uu____1997)::(t2, uu____1999)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(bv,uu____1997)::(t2,uu____1999)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Pat_Dot_Term.FStar_Reflection_Data.lid -> - let uu____2034 = unembed' w e_bv bv in + let uu____2034 = unembed' w e_bv bv in FStar_Util.bind_opt uu____2034 - (fun bv1 -> - let uu____2040 = unembed' w e_term t2 in + (fun bv1 -> + let uu____2040 = unembed' w e_term t2 in FStar_Util.bind_opt uu____2040 - (fun t3 -> + (fun t3 -> FStar_All.pipe_left - (fun _2047 -> FStar_Pervasives_Native.Some _2047) + (fun _2047 -> FStar_Pervasives_Native.Some _2047) (FStar_Reflection_Data.Pat_Dot_Term (bv1, t3)))) | uu____2048 -> (if w then (let uu____2063 = let uu____2069 = - let uu____2071 = FStar_Syntax_Print.term_to_string t1 in + let uu____2071 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.format1 "Not an embedded pattern: %s" - uu____2071 in - (FStar_Errors.Warning_NotEmbedded, uu____2069) in + uu____2071 + in + (FStar_Errors.Warning_NotEmbedded, uu____2069) in FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu____2063) else (); - FStar_Pervasives_Native.None)) in + FStar_Pervasives_Native.None)) + in mk_emb embed_pattern unembed_pattern FStar_Reflection_Data.fstar_refl_pattern + let (e_pattern : FStar_Reflection_Data.pattern FStar_Syntax_Embeddings.embedding) = - e_pattern' () + e_pattern' () let (e_branch : FStar_Reflection_Data.branch FStar_Syntax_Embeddings.embedding) = - FStar_Syntax_Embeddings.e_tuple2 e_pattern e_term + FStar_Syntax_Embeddings.e_tuple2 e_pattern e_term let (e_argv : FStar_Reflection_Data.argv FStar_Syntax_Embeddings.embedding) = - FStar_Syntax_Embeddings.e_tuple2 e_term e_aqualv + FStar_Syntax_Embeddings.e_tuple2 e_term e_aqualv let (e_branch_aq : FStar_Syntax_Syntax.antiquotations -> (FStar_Reflection_Data.pattern * FStar_Syntax_Syntax.term) FStar_Syntax_Embeddings.embedding) = - fun aq -> - let uu____2098 = e_term_aq aq in + fun aq -> + let uu____2098 = e_term_aq aq in FStar_Syntax_Embeddings.e_tuple2 e_pattern uu____2098 + let (e_argv_aq : FStar_Syntax_Syntax.antiquotations -> (FStar_Syntax_Syntax.term * FStar_Reflection_Data.aqualv) FStar_Syntax_Embeddings.embedding) = - fun aq -> - let uu____2113 = e_term_aq aq in + fun aq -> + let uu____2113 = e_term_aq aq in FStar_Syntax_Embeddings.e_tuple2 uu____2113 e_aqualv + let (e_term_view_aq : FStar_Syntax_Syntax.antiquotations -> FStar_Reflection_Data.term_view FStar_Syntax_Embeddings.embedding) = - fun aq -> + fun aq -> let embed_term_view rng t = match t with | FStar_Reflection_Data.Tv_FVar fv -> let uu____2136 = let uu____2141 = let uu____2142 = - let uu____2151 = embed e_fv rng fv in - FStar_Syntax_Syntax.as_arg uu____2151 in - [uu____2142] in + let uu____2151 = embed e_fv rng fv in + FStar_Syntax_Syntax.as_arg uu____2151 in + [uu____2142] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_FVar.FStar_Reflection_Data.t - uu____2141 in + uu____2141 + in uu____2136 FStar_Pervasives_Native.None rng | FStar_Reflection_Data.Tv_BVar fv -> let uu____2169 = let uu____2174 = let uu____2175 = - let uu____2184 = embed e_bv rng fv in - FStar_Syntax_Syntax.as_arg uu____2184 in - [uu____2175] in + let uu____2184 = embed e_bv rng fv in + FStar_Syntax_Syntax.as_arg uu____2184 in + [uu____2175] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_BVar.FStar_Reflection_Data.t - uu____2174 in + uu____2174 + in uu____2169 FStar_Pervasives_Native.None rng | FStar_Reflection_Data.Tv_Var bv -> let uu____2202 = let uu____2207 = let uu____2208 = - let uu____2217 = embed e_bv rng bv in - FStar_Syntax_Syntax.as_arg uu____2217 in - [uu____2208] in + let uu____2217 = embed e_bv rng bv in + FStar_Syntax_Syntax.as_arg uu____2217 in + [uu____2208] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_Var.FStar_Reflection_Data.t - uu____2207 in + uu____2207 + in uu____2202 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Tv_App (hd1, a) -> + | FStar_Reflection_Data.Tv_App (hd1,a) -> let uu____2236 = let uu____2241 = let uu____2242 = let uu____2251 = - let uu____2252 = e_term_aq aq in embed uu____2252 rng hd1 in - FStar_Syntax_Syntax.as_arg uu____2251 in + let uu____2252 = e_term_aq aq in embed uu____2252 rng hd1 + in + FStar_Syntax_Syntax.as_arg uu____2251 in let uu____2255 = let uu____2266 = let uu____2275 = - let uu____2276 = e_argv_aq aq in embed uu____2276 rng a in - FStar_Syntax_Syntax.as_arg uu____2275 in - [uu____2266] in - uu____2242 :: uu____2255 in + let uu____2276 = e_argv_aq aq in embed uu____2276 rng a + in + FStar_Syntax_Syntax.as_arg uu____2275 in + [uu____2266] in + uu____2242 :: uu____2255 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_App.FStar_Reflection_Data.t - uu____2241 in + uu____2241 + in uu____2236 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Tv_Abs (b, t1) -> + | FStar_Reflection_Data.Tv_Abs (b,t1) -> let uu____2313 = let uu____2318 = let uu____2319 = - let uu____2328 = embed e_binder rng b in - FStar_Syntax_Syntax.as_arg uu____2328 in + let uu____2328 = embed e_binder rng b in + FStar_Syntax_Syntax.as_arg uu____2328 in let uu____2329 = let uu____2340 = let uu____2349 = - let uu____2350 = e_term_aq aq in embed uu____2350 rng t1 in - FStar_Syntax_Syntax.as_arg uu____2349 in - [uu____2340] in - uu____2319 :: uu____2329 in + let uu____2350 = e_term_aq aq in embed uu____2350 rng t1 + in + FStar_Syntax_Syntax.as_arg uu____2349 in + [uu____2340] in + uu____2319 :: uu____2329 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_Abs.FStar_Reflection_Data.t - uu____2318 in + uu____2318 + in uu____2313 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Tv_Arrow (b, c) -> + | FStar_Reflection_Data.Tv_Arrow (b,c) -> let uu____2379 = let uu____2384 = let uu____2385 = - let uu____2394 = embed e_binder rng b in - FStar_Syntax_Syntax.as_arg uu____2394 in + let uu____2394 = embed e_binder rng b in + FStar_Syntax_Syntax.as_arg uu____2394 in let uu____2395 = let uu____2406 = - let uu____2415 = embed e_comp rng c in - FStar_Syntax_Syntax.as_arg uu____2415 in - [uu____2406] in - uu____2385 :: uu____2395 in + let uu____2415 = embed e_comp rng c in + FStar_Syntax_Syntax.as_arg uu____2415 in + [uu____2406] in + uu____2385 :: uu____2395 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_Arrow.FStar_Reflection_Data.t - uu____2384 in + uu____2384 + in uu____2379 FStar_Pervasives_Native.None rng | FStar_Reflection_Data.Tv_Type u -> let uu____2441 = let uu____2446 = let uu____2447 = - let uu____2456 = embed FStar_Syntax_Embeddings.e_unit rng () in - FStar_Syntax_Syntax.as_arg uu____2456 in - [uu____2447] in + let uu____2456 = embed FStar_Syntax_Embeddings.e_unit rng () + in + FStar_Syntax_Syntax.as_arg uu____2456 in + [uu____2447] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_Type.FStar_Reflection_Data.t - uu____2446 in + uu____2446 + in uu____2441 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Tv_Refine (bv, t1) -> + | FStar_Reflection_Data.Tv_Refine (bv,t1) -> let uu____2475 = let uu____2480 = let uu____2481 = - let uu____2490 = embed e_bv rng bv in - FStar_Syntax_Syntax.as_arg uu____2490 in + let uu____2490 = embed e_bv rng bv in + FStar_Syntax_Syntax.as_arg uu____2490 in let uu____2491 = let uu____2502 = let uu____2511 = - let uu____2512 = e_term_aq aq in embed uu____2512 rng t1 in - FStar_Syntax_Syntax.as_arg uu____2511 in - [uu____2502] in - uu____2481 :: uu____2491 in + let uu____2512 = e_term_aq aq in embed uu____2512 rng t1 + in + FStar_Syntax_Syntax.as_arg uu____2511 in + [uu____2502] in + uu____2481 :: uu____2491 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_Refine.FStar_Reflection_Data.t - uu____2480 in + uu____2480 + in uu____2475 FStar_Pervasives_Native.None rng | FStar_Reflection_Data.Tv_Const c -> let uu____2540 = let uu____2545 = let uu____2546 = - let uu____2555 = embed e_const rng c in - FStar_Syntax_Syntax.as_arg uu____2555 in - [uu____2546] in + let uu____2555 = embed e_const rng c in + FStar_Syntax_Syntax.as_arg uu____2555 in + [uu____2546] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_Const.FStar_Reflection_Data.t - uu____2545 in + uu____2545 + in uu____2540 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Tv_Uvar (u, d) -> + | FStar_Reflection_Data.Tv_Uvar (u,d) -> let uu____2574 = let uu____2579 = let uu____2580 = - let uu____2589 = embed FStar_Syntax_Embeddings.e_int rng u in - FStar_Syntax_Syntax.as_arg uu____2589 in + let uu____2589 = embed FStar_Syntax_Embeddings.e_int rng u + in + FStar_Syntax_Syntax.as_arg uu____2589 in let uu____2590 = let uu____2601 = let uu____2610 = FStar_Syntax_Util.mk_lazy (u, d) FStar_Syntax_Util.t_ctx_uvar_and_sust FStar_Syntax_Syntax.Lazy_uvar - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.as_arg uu____2610 in - [uu____2601] in - uu____2580 :: uu____2590 in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.as_arg uu____2610 in + [uu____2601] in + uu____2580 :: uu____2590 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_Uvar.FStar_Reflection_Data.t - uu____2579 in + uu____2579 + in uu____2574 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Tv_Let (r, b, t1, t2) -> + | FStar_Reflection_Data.Tv_Let (r,b,t1,t2) -> let uu____2645 = let uu____2650 = let uu____2651 = - let uu____2660 = embed FStar_Syntax_Embeddings.e_bool rng r in - FStar_Syntax_Syntax.as_arg uu____2660 in + let uu____2660 = embed FStar_Syntax_Embeddings.e_bool rng r + in + FStar_Syntax_Syntax.as_arg uu____2660 in let uu____2662 = let uu____2673 = - let uu____2682 = embed e_bv rng b in - FStar_Syntax_Syntax.as_arg uu____2682 in + let uu____2682 = embed e_bv rng b in + FStar_Syntax_Syntax.as_arg uu____2682 in let uu____2683 = let uu____2694 = let uu____2703 = - let uu____2704 = e_term_aq aq in - embed uu____2704 rng t1 in - FStar_Syntax_Syntax.as_arg uu____2703 in + let uu____2704 = e_term_aq aq in + embed uu____2704 rng t1 in + FStar_Syntax_Syntax.as_arg uu____2703 in let uu____2707 = let uu____2718 = let uu____2727 = - let uu____2728 = e_term_aq aq in - embed uu____2728 rng t2 in - FStar_Syntax_Syntax.as_arg uu____2727 in - [uu____2718] in - uu____2694 :: uu____2707 in - uu____2673 :: uu____2683 in - uu____2651 :: uu____2662 in + let uu____2728 = e_term_aq aq in + embed uu____2728 rng t2 in + FStar_Syntax_Syntax.as_arg uu____2727 in + [uu____2718] in + uu____2694 :: uu____2707 in + uu____2673 :: uu____2683 in + uu____2651 :: uu____2662 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_Let.FStar_Reflection_Data.t - uu____2650 in + uu____2650 + in uu____2645 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Tv_Match (t1, brs) -> + | FStar_Reflection_Data.Tv_Match (t1,brs) -> let uu____2777 = let uu____2782 = let uu____2783 = let uu____2792 = - let uu____2793 = e_term_aq aq in embed uu____2793 rng t1 in - FStar_Syntax_Syntax.as_arg uu____2792 in + let uu____2793 = e_term_aq aq in embed uu____2793 rng t1 + in + FStar_Syntax_Syntax.as_arg uu____2792 in let uu____2796 = let uu____2807 = let uu____2816 = let uu____2817 = - let uu____2826 = e_branch_aq aq in - FStar_Syntax_Embeddings.e_list uu____2826 in - embed uu____2817 rng brs in - FStar_Syntax_Syntax.as_arg uu____2816 in - [uu____2807] in - uu____2783 :: uu____2796 in + let uu____2826 = e_branch_aq aq in + FStar_Syntax_Embeddings.e_list uu____2826 in + embed uu____2817 rng brs in + FStar_Syntax_Syntax.as_arg uu____2816 in + [uu____2807] in + uu____2783 :: uu____2796 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_Match.FStar_Reflection_Data.t - uu____2782 in + uu____2782 + in uu____2777 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Tv_AscribedT (e, t1, tacopt) -> + | FStar_Reflection_Data.Tv_AscribedT (e,t1,tacopt) -> let uu____2874 = let uu____2879 = let uu____2880 = let uu____2889 = - let uu____2890 = e_term_aq aq in embed uu____2890 rng e in - FStar_Syntax_Syntax.as_arg uu____2889 in + let uu____2890 = e_term_aq aq in embed uu____2890 rng e + in + FStar_Syntax_Syntax.as_arg uu____2889 in let uu____2893 = let uu____2904 = let uu____2913 = - let uu____2914 = e_term_aq aq in embed uu____2914 rng t1 in - FStar_Syntax_Syntax.as_arg uu____2913 in + let uu____2914 = e_term_aq aq in embed uu____2914 rng t1 + in + FStar_Syntax_Syntax.as_arg uu____2913 in let uu____2917 = let uu____2928 = let uu____2937 = let uu____2938 = - let uu____2943 = e_term_aq aq in - FStar_Syntax_Embeddings.e_option uu____2943 in - embed uu____2938 rng tacopt in - FStar_Syntax_Syntax.as_arg uu____2937 in - [uu____2928] in - uu____2904 :: uu____2917 in - uu____2880 :: uu____2893 in + let uu____2943 = e_term_aq aq in + FStar_Syntax_Embeddings.e_option uu____2943 in + embed uu____2938 rng tacopt in + FStar_Syntax_Syntax.as_arg uu____2937 in + [uu____2928] in + uu____2904 :: uu____2917 in + uu____2880 :: uu____2893 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_AscT.FStar_Reflection_Data.t - uu____2879 in + uu____2879 + in uu____2874 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Tv_AscribedC (e, c, tacopt) -> + | FStar_Reflection_Data.Tv_AscribedC (e,c,tacopt) -> let uu____2987 = let uu____2992 = let uu____2993 = let uu____3002 = - let uu____3003 = e_term_aq aq in embed uu____3003 rng e in - FStar_Syntax_Syntax.as_arg uu____3002 in + let uu____3003 = e_term_aq aq in embed uu____3003 rng e + in + FStar_Syntax_Syntax.as_arg uu____3002 in let uu____3006 = let uu____3017 = - let uu____3026 = embed e_comp rng c in - FStar_Syntax_Syntax.as_arg uu____3026 in + let uu____3026 = embed e_comp rng c in + FStar_Syntax_Syntax.as_arg uu____3026 in let uu____3027 = let uu____3038 = let uu____3047 = let uu____3048 = - let uu____3053 = e_term_aq aq in - FStar_Syntax_Embeddings.e_option uu____3053 in - embed uu____3048 rng tacopt in - FStar_Syntax_Syntax.as_arg uu____3047 in - [uu____3038] in - uu____3017 :: uu____3027 in - uu____2993 :: uu____3006 in + let uu____3053 = e_term_aq aq in + FStar_Syntax_Embeddings.e_option uu____3053 in + embed uu____3048 rng tacopt in + FStar_Syntax_Syntax.as_arg uu____3047 in + [uu____3038] in + uu____3017 :: uu____3027 in + uu____2993 :: uu____3006 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Tv_AscC.FStar_Reflection_Data.t - uu____2992 in + uu____2992 + in uu____2987 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Tv_Unknown -> + | FStar_Reflection_Data.Tv_Unknown -> let uu___370_3090 = - FStar_Reflection_Data.ref_Tv_Unknown.FStar_Reflection_Data.t in + FStar_Reflection_Data.ref_Tv_Unknown.FStar_Reflection_Data.t in { FStar_Syntax_Syntax.n = (uu___370_3090.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = (uu___370_3090.FStar_Syntax_Syntax.vars) - } in + } + in let unembed_term_view w t = - let uu____3108 = FStar_Syntax_Util.head_and_args t in + let uu____3108 = FStar_Syntax_Util.head_and_args t in match uu____3108 with - | (hd1, args) -> + | (hd1,args) -> let uu____3153 = let uu____3166 = - let uu____3167 = FStar_Syntax_Util.un_uinst hd1 in - uu____3167.FStar_Syntax_Syntax.n in - (uu____3166, args) in + let uu____3167 = FStar_Syntax_Util.un_uinst hd1 in + uu____3167.FStar_Syntax_Syntax.n in + (uu____3166, args) in (match uu____3153 with - | (FStar_Syntax_Syntax.Tm_fvar fv, (b, uu____3182)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(b,uu____3182)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Var.FStar_Reflection_Data.lid -> - let uu____3207 = unembed' w e_bv b in + let uu____3207 = unembed' w e_bv b in FStar_Util.bind_opt uu____3207 - (fun b1 -> + (fun b1 -> FStar_All.pipe_left - (fun _3214 -> FStar_Pervasives_Native.Some _3214) + (fun _3214 -> FStar_Pervasives_Native.Some _3214) (FStar_Reflection_Data.Tv_Var b1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, (b, uu____3217)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(b,uu____3217)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_BVar.FStar_Reflection_Data.lid -> - let uu____3242 = unembed' w e_bv b in + let uu____3242 = unembed' w e_bv b in FStar_Util.bind_opt uu____3242 - (fun b1 -> + (fun b1 -> FStar_All.pipe_left - (fun _3249 -> FStar_Pervasives_Native.Some _3249) + (fun _3249 -> FStar_Pervasives_Native.Some _3249) (FStar_Reflection_Data.Tv_BVar b1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, (f, uu____3252)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(f,uu____3252)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_FVar.FStar_Reflection_Data.lid -> - let uu____3277 = unembed' w e_fv f in + let uu____3277 = unembed' w e_fv f in FStar_Util.bind_opt uu____3277 - (fun f1 -> + (fun f1 -> FStar_All.pipe_left - (fun _3284 -> FStar_Pervasives_Native.Some _3284) + (fun _3284 -> FStar_Pervasives_Native.Some _3284) (FStar_Reflection_Data.Tv_FVar f1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (l, uu____3287)::(r, uu____3289)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(l,uu____3287)::(r,uu____3289)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_App.FStar_Reflection_Data.lid -> - let uu____3324 = unembed' w e_term l in + let uu____3324 = unembed' w e_term l in FStar_Util.bind_opt uu____3324 - (fun l1 -> - let uu____3330 = unembed' w e_argv r in + (fun l1 -> + let uu____3330 = unembed' w e_argv r in FStar_Util.bind_opt uu____3330 - (fun r1 -> + (fun r1 -> FStar_All.pipe_left - (fun _3337 -> FStar_Pervasives_Native.Some _3337) + (fun _3337 -> FStar_Pervasives_Native.Some _3337) (FStar_Reflection_Data.Tv_App (l1, r1)))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (b, uu____3340)::(t1, uu____3342)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(b,uu____3340)::(t1,uu____3342)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Abs.FStar_Reflection_Data.lid -> - let uu____3377 = unembed' w e_binder b in + let uu____3377 = unembed' w e_binder b in FStar_Util.bind_opt uu____3377 - (fun b1 -> - let uu____3383 = unembed' w e_term t1 in + (fun b1 -> + let uu____3383 = unembed' w e_term t1 in FStar_Util.bind_opt uu____3383 - (fun t2 -> + (fun t2 -> FStar_All.pipe_left - (fun _3390 -> FStar_Pervasives_Native.Some _3390) + (fun _3390 -> FStar_Pervasives_Native.Some _3390) (FStar_Reflection_Data.Tv_Abs (b1, t2)))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (b, uu____3393)::(t1, uu____3395)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(b,uu____3393)::(t1,uu____3395)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Arrow.FStar_Reflection_Data.lid -> - let uu____3430 = unembed' w e_binder b in + let uu____3430 = unembed' w e_binder b in FStar_Util.bind_opt uu____3430 - (fun b1 -> - let uu____3436 = unembed' w e_comp t1 in + (fun b1 -> + let uu____3436 = unembed' w e_comp t1 in FStar_Util.bind_opt uu____3436 - (fun c -> + (fun c -> FStar_All.pipe_left - (fun _3443 -> FStar_Pervasives_Native.Some _3443) + (fun _3443 -> FStar_Pervasives_Native.Some _3443) (FStar_Reflection_Data.Tv_Arrow (b1, c)))) - | (FStar_Syntax_Syntax.Tm_fvar fv, (u, uu____3446)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(u,uu____3446)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Type.FStar_Reflection_Data.lid -> - let uu____3471 = unembed' w FStar_Syntax_Embeddings.e_unit u in + let uu____3471 = unembed' w FStar_Syntax_Embeddings.e_unit u + in FStar_Util.bind_opt uu____3471 - (fun u1 -> + (fun u1 -> FStar_All.pipe_left - (fun _3478 -> FStar_Pervasives_Native.Some _3478) + (fun _3478 -> FStar_Pervasives_Native.Some _3478) (FStar_Reflection_Data.Tv_Type ())) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (b, uu____3481)::(t1, uu____3483)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(b,uu____3481)::(t1,uu____3483)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Refine.FStar_Reflection_Data.lid -> - let uu____3518 = unembed' w e_bv b in + let uu____3518 = unembed' w e_bv b in FStar_Util.bind_opt uu____3518 - (fun b1 -> - let uu____3524 = unembed' w e_term t1 in + (fun b1 -> + let uu____3524 = unembed' w e_term t1 in FStar_Util.bind_opt uu____3524 - (fun t2 -> + (fun t2 -> FStar_All.pipe_left - (fun _3531 -> FStar_Pervasives_Native.Some _3531) + (fun _3531 -> FStar_Pervasives_Native.Some _3531) (FStar_Reflection_Data.Tv_Refine (b1, t2)))) - | (FStar_Syntax_Syntax.Tm_fvar fv, (c, uu____3534)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(c,uu____3534)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Const.FStar_Reflection_Data.lid -> - let uu____3559 = unembed' w e_const c in + let uu____3559 = unembed' w e_const c in FStar_Util.bind_opt uu____3559 - (fun c1 -> + (fun c1 -> FStar_All.pipe_left - (fun _3566 -> FStar_Pervasives_Native.Some _3566) + (fun _3566 -> FStar_Pervasives_Native.Some _3566) (FStar_Reflection_Data.Tv_Const c1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (u, uu____3569)::(l, uu____3571)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(u,uu____3569)::(l,uu____3571)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Uvar.FStar_Reflection_Data.lid -> - let uu____3606 = unembed' w FStar_Syntax_Embeddings.e_int u in + let uu____3606 = unembed' w FStar_Syntax_Embeddings.e_int u + in FStar_Util.bind_opt uu____3606 - (fun u1 -> + (fun u1 -> let ctx_u_s = FStar_Syntax_Util.unlazy_as_t - FStar_Syntax_Syntax.Lazy_uvar l in + FStar_Syntax_Syntax.Lazy_uvar l + in FStar_All.pipe_left - (fun _3615 -> FStar_Pervasives_Native.Some _3615) + (fun _3615 -> FStar_Pervasives_Native.Some _3615) (FStar_Reflection_Data.Tv_Uvar (u1, ctx_u_s))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (r, uu____3618)::(b, uu____3620)::(t1, uu____3622)::(t2, - uu____3624)::[]) + | (FStar_Syntax_Syntax.Tm_fvar + fv,(r,uu____3618)::(b,uu____3620)::(t1,uu____3622)::(t2,uu____3624)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Let.FStar_Reflection_Data.lid -> - let uu____3679 = unembed' w FStar_Syntax_Embeddings.e_bool r in + let uu____3679 = unembed' w FStar_Syntax_Embeddings.e_bool r + in FStar_Util.bind_opt uu____3679 - (fun r1 -> - let uu____3689 = unembed' w e_bv b in + (fun r1 -> + let uu____3689 = unembed' w e_bv b in FStar_Util.bind_opt uu____3689 - (fun b1 -> - let uu____3695 = unembed' w e_term t1 in + (fun b1 -> + let uu____3695 = unembed' w e_term t1 in FStar_Util.bind_opt uu____3695 - (fun t11 -> - let uu____3701 = unembed' w e_term t2 in + (fun t11 -> + let uu____3701 = unembed' w e_term t2 in FStar_Util.bind_opt uu____3701 - (fun t21 -> + (fun t21 -> FStar_All.pipe_left - (fun _3708 -> + (fun _3708 -> FStar_Pervasives_Native.Some _3708) (FStar_Reflection_Data.Tv_Let (r1, b1, t11, t21)))))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (t1, uu____3712)::(brs, uu____3714)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(t1,uu____3712)::(brs,uu____3714)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Match.FStar_Reflection_Data.lid -> - let uu____3749 = unembed' w e_term t1 in + let uu____3749 = unembed' w e_term t1 in FStar_Util.bind_opt uu____3749 - (fun t2 -> + (fun t2 -> let uu____3755 = let uu____3760 = - FStar_Syntax_Embeddings.e_list e_branch in - unembed' w uu____3760 brs in + FStar_Syntax_Embeddings.e_list e_branch in + unembed' w uu____3760 brs in FStar_Util.bind_opt uu____3755 - (fun brs1 -> + (fun brs1 -> FStar_All.pipe_left - (fun _3775 -> FStar_Pervasives_Native.Some _3775) + (fun _3775 -> FStar_Pervasives_Native.Some _3775) (FStar_Reflection_Data.Tv_Match (t2, brs1)))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (e, uu____3780)::(t1, uu____3782)::(tacopt, uu____3784)::[]) + | (FStar_Syntax_Syntax.Tm_fvar + fv,(e,uu____3780)::(t1,uu____3782)::(tacopt,uu____3784)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_AscT.FStar_Reflection_Data.lid -> - let uu____3829 = unembed' w e_term e in + let uu____3829 = unembed' w e_term e in FStar_Util.bind_opt uu____3829 - (fun e1 -> - let uu____3835 = unembed' w e_term t1 in + (fun e1 -> + let uu____3835 = unembed' w e_term t1 in FStar_Util.bind_opt uu____3835 - (fun t2 -> + (fun t2 -> let uu____3841 = let uu____3846 = - FStar_Syntax_Embeddings.e_option e_term in - unembed' w uu____3846 tacopt in + FStar_Syntax_Embeddings.e_option e_term in + unembed' w uu____3846 tacopt in FStar_Util.bind_opt uu____3841 - (fun tacopt1 -> + (fun tacopt1 -> FStar_All.pipe_left - (fun _3861 -> + (fun _3861 -> FStar_Pervasives_Native.Some _3861) (FStar_Reflection_Data.Tv_AscribedT (e1, t2, tacopt1))))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (e, uu____3866)::(c, uu____3868)::(tacopt, uu____3870)::[]) + | (FStar_Syntax_Syntax.Tm_fvar + fv,(e,uu____3866)::(c,uu____3868)::(tacopt,uu____3870)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_AscC.FStar_Reflection_Data.lid -> - let uu____3915 = unembed' w e_term e in + let uu____3915 = unembed' w e_term e in FStar_Util.bind_opt uu____3915 - (fun e1 -> - let uu____3921 = unembed' w e_comp c in + (fun e1 -> + let uu____3921 = unembed' w e_comp c in FStar_Util.bind_opt uu____3921 - (fun c1 -> + (fun c1 -> let uu____3927 = let uu____3932 = - FStar_Syntax_Embeddings.e_option e_term in - unembed' w uu____3932 tacopt in + FStar_Syntax_Embeddings.e_option e_term in + unembed' w uu____3932 tacopt in FStar_Util.bind_opt uu____3927 - (fun tacopt1 -> + (fun tacopt1 -> FStar_All.pipe_left - (fun _3947 -> + (fun _3947 -> FStar_Pervasives_Native.Some _3947) (FStar_Reflection_Data.Tv_AscribedC (e1, c1, tacopt1))))) - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Unknown.FStar_Reflection_Data.lid -> FStar_All.pipe_left - (fun _3967 -> FStar_Pervasives_Native.Some _3967) + (fun _3967 -> FStar_Pervasives_Native.Some _3967) FStar_Reflection_Data.Tv_Unknown | uu____3968 -> (if w then (let uu____3983 = let uu____3989 = - let uu____3991 = FStar_Syntax_Print.term_to_string t in + let uu____3991 = FStar_Syntax_Print.term_to_string t + in FStar_Util.format1 "Not an embedded term_view: %s" - uu____3991 in - (FStar_Errors.Warning_NotEmbedded, uu____3989) in + uu____3991 + in + (FStar_Errors.Warning_NotEmbedded, uu____3989) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____3983) else (); - FStar_Pervasives_Native.None)) in + FStar_Pervasives_Native.None)) + in mk_emb embed_term_view unembed_term_view FStar_Reflection_Data.fstar_refl_term_view + let (e_term_view : FStar_Reflection_Data.term_view FStar_Syntax_Embeddings.embedding) = - e_term_view_aq [] + e_term_view_aq [] let (e_bv_view : FStar_Reflection_Data.bv_view FStar_Syntax_Embeddings.embedding) = let embed_bv_view rng bvv = @@ -1169,53 +1250,57 @@ let (e_bv_view : let uu____4026 = let uu____4035 = embed FStar_Syntax_Embeddings.e_string rng - bvv.FStar_Reflection_Data.bv_ppname in - FStar_Syntax_Syntax.as_arg uu____4035 in + bvv.FStar_Reflection_Data.bv_ppname + in + FStar_Syntax_Syntax.as_arg uu____4035 in let uu____4037 = let uu____4048 = let uu____4057 = embed FStar_Syntax_Embeddings.e_int rng - bvv.FStar_Reflection_Data.bv_index in - FStar_Syntax_Syntax.as_arg uu____4057 in + bvv.FStar_Reflection_Data.bv_index + in + FStar_Syntax_Syntax.as_arg uu____4057 in let uu____4058 = let uu____4069 = let uu____4078 = - embed e_term rng bvv.FStar_Reflection_Data.bv_sort in - FStar_Syntax_Syntax.as_arg uu____4078 in - [uu____4069] in - uu____4048 :: uu____4058 in - uu____4026 :: uu____4037 in + embed e_term rng bvv.FStar_Reflection_Data.bv_sort in + FStar_Syntax_Syntax.as_arg uu____4078 in + [uu____4069] in + uu____4048 :: uu____4058 in + uu____4026 :: uu____4037 in FStar_Syntax_Syntax.mk_Tm_app - FStar_Reflection_Data.ref_Mk_bv.FStar_Reflection_Data.t uu____4025 in - uu____4020 FStar_Pervasives_Native.None rng in + FStar_Reflection_Data.ref_Mk_bv.FStar_Reflection_Data.t uu____4025 + in + uu____4020 FStar_Pervasives_Native.None rng in let unembed_bv_view w t = - let t1 = FStar_Syntax_Util.unascribe t in - let uu____4129 = FStar_Syntax_Util.head_and_args t1 in + let t1 = FStar_Syntax_Util.unascribe t in + let uu____4129 = FStar_Syntax_Util.head_and_args t1 in match uu____4129 with - | (hd1, args) -> + | (hd1,args) -> let uu____4174 = let uu____4187 = - let uu____4188 = FStar_Syntax_Util.un_uinst hd1 in - uu____4188.FStar_Syntax_Syntax.n in - (uu____4187, args) in + let uu____4188 = FStar_Syntax_Util.un_uinst hd1 in + uu____4188.FStar_Syntax_Syntax.n in + (uu____4187, args) in (match uu____4174 with - | (FStar_Syntax_Syntax.Tm_fvar fv, - (nm, uu____4203)::(idx, uu____4205)::(s, uu____4207)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(nm,uu____4203)::(idx,uu____4205)::(s,uu____4207)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Mk_bv.FStar_Reflection_Data.lid -> - let uu____4252 = unembed' w FStar_Syntax_Embeddings.e_string nm in + let uu____4252 = unembed' w FStar_Syntax_Embeddings.e_string nm + in FStar_Util.bind_opt uu____4252 - (fun nm1 -> + (fun nm1 -> let uu____4262 = - unembed' w FStar_Syntax_Embeddings.e_int idx in + unembed' w FStar_Syntax_Embeddings.e_int idx in FStar_Util.bind_opt uu____4262 - (fun idx1 -> - let uu____4268 = unembed' w e_term s in + (fun idx1 -> + let uu____4268 = unembed' w e_term s in FStar_Util.bind_opt uu____4268 - (fun s1 -> + (fun s1 -> FStar_All.pipe_left - (fun _4275 -> + (fun _4275 -> FStar_Pervasives_Native.Some _4275) { FStar_Reflection_Data.bv_ppname = nm1; @@ -1227,157 +1312,170 @@ let (e_bv_view : then (let uu____4291 = let uu____4297 = - let uu____4299 = FStar_Syntax_Print.term_to_string t1 in + let uu____4299 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.format1 "Not an embedded bv_view: %s" - uu____4299 in - (FStar_Errors.Warning_NotEmbedded, uu____4297) in + uu____4299 + in + (FStar_Errors.Warning_NotEmbedded, uu____4297) in FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu____4291) else (); - FStar_Pervasives_Native.None)) in + FStar_Pervasives_Native.None)) + in mk_emb embed_bv_view unembed_bv_view FStar_Reflection_Data.fstar_refl_bv_view + let (e_comp_view : FStar_Reflection_Data.comp_view FStar_Syntax_Embeddings.embedding) = let embed_comp_view rng cv = match cv with - | FStar_Reflection_Data.C_Total (t, md) -> + | FStar_Reflection_Data.C_Total (t,md) -> let uu____4325 = let uu____4330 = let uu____4331 = - let uu____4340 = embed e_term rng t in - FStar_Syntax_Syntax.as_arg uu____4340 in + let uu____4340 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu____4340 in let uu____4341 = let uu____4352 = let uu____4361 = - let uu____4362 = FStar_Syntax_Embeddings.e_option e_term in - embed uu____4362 rng md in - FStar_Syntax_Syntax.as_arg uu____4361 in - [uu____4352] in - uu____4331 :: uu____4341 in + let uu____4362 = FStar_Syntax_Embeddings.e_option e_term + in + embed uu____4362 rng md in + FStar_Syntax_Syntax.as_arg uu____4361 in + [uu____4352] in + uu____4331 :: uu____4341 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_C_Total.FStar_Reflection_Data.t - uu____4330 in + uu____4330 + in uu____4325 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.C_Lemma (pre, post) -> - let post1 = FStar_Syntax_Util.unthunk_lemma_post post in + | FStar_Reflection_Data.C_Lemma (pre,post) -> + let post1 = FStar_Syntax_Util.unthunk_lemma_post post in let uu____4398 = let uu____4403 = let uu____4404 = - let uu____4413 = embed e_term rng pre in - FStar_Syntax_Syntax.as_arg uu____4413 in + let uu____4413 = embed e_term rng pre in + FStar_Syntax_Syntax.as_arg uu____4413 in let uu____4414 = let uu____4425 = - let uu____4434 = embed e_term rng post1 in - FStar_Syntax_Syntax.as_arg uu____4434 in - [uu____4425] in - uu____4404 :: uu____4414 in + let uu____4434 = embed e_term rng post1 in + FStar_Syntax_Syntax.as_arg uu____4434 in + [uu____4425] in + uu____4404 :: uu____4414 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_C_Lemma.FStar_Reflection_Data.t - uu____4403 in + uu____4403 + in uu____4398 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.C_Unknown -> + | FStar_Reflection_Data.C_Unknown -> let uu___591_4459 = - FStar_Reflection_Data.ref_C_Unknown.FStar_Reflection_Data.t in + FStar_Reflection_Data.ref_C_Unknown.FStar_Reflection_Data.t in { FStar_Syntax_Syntax.n = (uu___591_4459.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = (uu___591_4459.FStar_Syntax_Syntax.vars) - } in + } + in let unembed_comp_view w t = - let t1 = FStar_Syntax_Util.unascribe t in - let uu____4478 = FStar_Syntax_Util.head_and_args t1 in + let t1 = FStar_Syntax_Util.unascribe t in + let uu____4478 = FStar_Syntax_Util.head_and_args t1 in match uu____4478 with - | (hd1, args) -> + | (hd1,args) -> let uu____4523 = let uu____4536 = - let uu____4537 = FStar_Syntax_Util.un_uinst hd1 in - uu____4537.FStar_Syntax_Syntax.n in - (uu____4536, args) in + let uu____4537 = FStar_Syntax_Util.un_uinst hd1 in + uu____4537.FStar_Syntax_Syntax.n in + (uu____4536, args) in (match uu____4523 with - | (FStar_Syntax_Syntax.Tm_fvar fv, - (t2, uu____4552)::(md, uu____4554)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(t2,uu____4552)::(md,uu____4554)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Total.FStar_Reflection_Data.lid -> - let uu____4589 = unembed' w e_term t2 in + let uu____4589 = unembed' w e_term t2 in FStar_Util.bind_opt uu____4589 - (fun t3 -> + (fun t3 -> let uu____4595 = - let uu____4600 = FStar_Syntax_Embeddings.e_option e_term in - unembed' w uu____4600 md in + let uu____4600 = FStar_Syntax_Embeddings.e_option e_term + in + unembed' w uu____4600 md in FStar_Util.bind_opt uu____4595 - (fun md1 -> + (fun md1 -> FStar_All.pipe_left - (fun _4615 -> FStar_Pervasives_Native.Some _4615) + (fun _4615 -> FStar_Pervasives_Native.Some _4615) (FStar_Reflection_Data.C_Total (t3, md1)))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (pre, uu____4620)::(post, uu____4622)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(pre,uu____4620)::(post,uu____4622)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Lemma.FStar_Reflection_Data.lid -> - let uu____4657 = unembed' w e_term pre in + let uu____4657 = unembed' w e_term pre in FStar_Util.bind_opt uu____4657 - (fun pre1 -> - let uu____4663 = unembed' w e_term post in + (fun pre1 -> + let uu____4663 = unembed' w e_term post in FStar_Util.bind_opt uu____4663 - (fun post1 -> + (fun post1 -> FStar_All.pipe_left - (fun _4670 -> FStar_Pervasives_Native.Some _4670) + (fun _4670 -> FStar_Pervasives_Native.Some _4670) (FStar_Reflection_Data.C_Lemma (pre1, post1)))) - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Unknown.FStar_Reflection_Data.lid -> FStar_All.pipe_left - (fun _4688 -> FStar_Pervasives_Native.Some _4688) + (fun _4688 -> FStar_Pervasives_Native.Some _4688) FStar_Reflection_Data.C_Unknown | uu____4689 -> (if w then (let uu____4704 = let uu____4710 = - let uu____4712 = FStar_Syntax_Print.term_to_string t1 in + let uu____4712 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.format1 "Not an embedded comp_view: %s" - uu____4712 in - (FStar_Errors.Warning_NotEmbedded, uu____4710) in + uu____4712 + in + (FStar_Errors.Warning_NotEmbedded, uu____4710) in FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu____4704) else (); - FStar_Pervasives_Native.None)) in + FStar_Pervasives_Native.None)) + in mk_emb embed_comp_view unembed_comp_view FStar_Reflection_Data.fstar_refl_comp_view + let (e_order : FStar_Order.order FStar_Syntax_Embeddings.embedding) = let embed_order rng o = let r = match o with - | FStar_Order.Lt -> FStar_Reflection_Data.ord_Lt - | FStar_Order.Eq -> FStar_Reflection_Data.ord_Eq - | FStar_Order.Gt -> FStar_Reflection_Data.ord_Gt in - let uu___638_4737 = r in + | FStar_Order.Lt -> FStar_Reflection_Data.ord_Lt + | FStar_Order.Eq -> FStar_Reflection_Data.ord_Eq + | FStar_Order.Gt -> FStar_Reflection_Data.ord_Gt in + let uu___638_4737 = r in { FStar_Syntax_Syntax.n = (uu___638_4737.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = (uu___638_4737.FStar_Syntax_Syntax.vars) - } in + } in let unembed_order w t = - let t1 = FStar_Syntax_Util.unascribe t in - let uu____4758 = FStar_Syntax_Util.head_and_args t1 in + let t1 = FStar_Syntax_Util.unascribe t in + let uu____4758 = FStar_Syntax_Util.head_and_args t1 in match uu____4758 with - | (hd1, args) -> + | (hd1,args) -> let uu____4803 = let uu____4818 = - let uu____4819 = FStar_Syntax_Util.un_uinst hd1 in - uu____4819.FStar_Syntax_Syntax.n in - (uu____4818, args) in + let uu____4819 = FStar_Syntax_Util.un_uinst hd1 in + uu____4819.FStar_Syntax_Syntax.n in + (uu____4818, args) in (match uu____4803 with - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ord_Lt_lid -> FStar_Pervasives_Native.Some FStar_Order.Lt - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ord_Eq_lid -> FStar_Pervasives_Native.Some FStar_Order.Eq - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ord_Gt_lid -> FStar_Pervasives_Native.Some FStar_Order.Gt @@ -1386,236 +1484,251 @@ let (e_order : FStar_Order.order FStar_Syntax_Embeddings.embedding) = then (let uu____4908 = let uu____4914 = - let uu____4916 = FStar_Syntax_Print.term_to_string t1 in + let uu____4916 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.format1 "Not an embedded order: %s" - uu____4916 in - (FStar_Errors.Warning_NotEmbedded, uu____4914) in + uu____4916 + in + (FStar_Errors.Warning_NotEmbedded, uu____4914) in FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu____4908) else (); - FStar_Pervasives_Native.None)) in - mk_emb embed_order unembed_order FStar_Syntax_Syntax.t_order + FStar_Pervasives_Native.None)) + in + mk_emb embed_order unembed_order FStar_Syntax_Syntax.t_order let (e_sigelt : FStar_Syntax_Syntax.sigelt FStar_Syntax_Embeddings.embedding) = let embed_sigelt rng se = FStar_Syntax_Util.mk_lazy se FStar_Reflection_Data.fstar_refl_sigelt - FStar_Syntax_Syntax.Lazy_sigelt (FStar_Pervasives_Native.Some rng) in + FStar_Syntax_Syntax.Lazy_sigelt (FStar_Pervasives_Native.Some rng) + in let unembed_sigelt w t = let uu____4953 = - let uu____4954 = FStar_Syntax_Subst.compress t in - uu____4954.FStar_Syntax_Syntax.n in + let uu____4954 = FStar_Syntax_Subst.compress t in + uu____4954.FStar_Syntax_Syntax.n in match uu____4953 with | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_sigelt; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_sigelt ; FStar_Syntax_Syntax.ltyp = uu____4960; FStar_Syntax_Syntax.rng = uu____4961;_} -> - let uu____4964 = FStar_Dyn.undyn b in + let uu____4964 = FStar_Dyn.undyn b in FStar_Pervasives_Native.Some uu____4964 | uu____4965 -> (if w then (let uu____4968 = let uu____4974 = - let uu____4976 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "Not an embedded sigelt: %s" uu____4976 in - (FStar_Errors.Warning_NotEmbedded, uu____4974) in + let uu____4976 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "Not an embedded sigelt: %s" uu____4976 + in + (FStar_Errors.Warning_NotEmbedded, uu____4974) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____4968) else (); - FStar_Pervasives_Native.None) in - mk_emb embed_sigelt unembed_sigelt FStar_Reflection_Data.fstar_refl_sigelt + FStar_Pervasives_Native.None) + in + mk_emb embed_sigelt unembed_sigelt FStar_Reflection_Data.fstar_refl_sigelt let (e_ident : FStar_Ident.ident FStar_Syntax_Embeddings.embedding) = let repr = FStar_Syntax_Embeddings.e_tuple2 FStar_Syntax_Embeddings.e_range - FStar_Syntax_Embeddings.e_string in + FStar_Syntax_Embeddings.e_string + in let embed_ident i rng uu____5016 uu____5017 = let uu____5019 = - let uu____5025 = FStar_Ident.range_of_id i in - let uu____5026 = FStar_Ident.text_of_id i in (uu____5025, uu____5026) in - embed repr rng uu____5019 in + let uu____5025 = FStar_Ident.range_of_id i in + let uu____5026 = FStar_Ident.text_of_id i in (uu____5025, uu____5026) + in + embed repr rng uu____5019 in let unembed_ident t w uu____5053 = - let uu____5058 = unembed' w repr t in + let uu____5058 = unembed' w repr t in match uu____5058 with - | FStar_Pervasives_Native.Some (rng, s) -> - let uu____5082 = FStar_Ident.mk_ident (s, rng) in + | FStar_Pervasives_Native.Some (rng,s) -> + let uu____5082 = FStar_Ident.mk_ident (s, rng) in FStar_Pervasives_Native.Some uu____5082 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in - let uu____5089 = FStar_Syntax_Embeddings.emb_typ_of repr in + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in + let uu____5089 = FStar_Syntax_Embeddings.emb_typ_of repr in FStar_Syntax_Embeddings.mk_emb_full embed_ident unembed_ident FStar_Reflection_Data.fstar_refl_ident FStar_Ident.text_of_id uu____5089 + let (e_univ_name : FStar_Syntax_Syntax.univ_name FStar_Syntax_Embeddings.embedding) = FStar_Syntax_Embeddings.set_type FStar_Reflection_Data.fstar_refl_univ_name e_ident + let (e_univ_names : FStar_Syntax_Syntax.univ_name Prims.list FStar_Syntax_Embeddings.embedding) - = FStar_Syntax_Embeddings.e_list e_univ_name + = FStar_Syntax_Embeddings.e_list e_univ_name let (e_sigelt_view : FStar_Reflection_Data.sigelt_view FStar_Syntax_Embeddings.embedding) = let embed_sigelt_view rng sev = match sev with - | FStar_Reflection_Data.Sg_Let (r, fv, univs1, ty, t) -> + | FStar_Reflection_Data.Sg_Let (r,fv,univs1,ty,t) -> let uu____5128 = let uu____5133 = let uu____5134 = - let uu____5143 = embed FStar_Syntax_Embeddings.e_bool rng r in - FStar_Syntax_Syntax.as_arg uu____5143 in + let uu____5143 = embed FStar_Syntax_Embeddings.e_bool rng r in + FStar_Syntax_Syntax.as_arg uu____5143 in let uu____5145 = let uu____5156 = - let uu____5165 = embed e_fv rng fv in - FStar_Syntax_Syntax.as_arg uu____5165 in + let uu____5165 = embed e_fv rng fv in + FStar_Syntax_Syntax.as_arg uu____5165 in let uu____5166 = let uu____5177 = - let uu____5186 = embed e_univ_names rng univs1 in - FStar_Syntax_Syntax.as_arg uu____5186 in + let uu____5186 = embed e_univ_names rng univs1 in + FStar_Syntax_Syntax.as_arg uu____5186 in let uu____5189 = let uu____5200 = - let uu____5209 = embed e_term rng ty in - FStar_Syntax_Syntax.as_arg uu____5209 in + let uu____5209 = embed e_term rng ty in + FStar_Syntax_Syntax.as_arg uu____5209 in let uu____5210 = let uu____5221 = - let uu____5230 = embed e_term rng t in - FStar_Syntax_Syntax.as_arg uu____5230 in - [uu____5221] in - uu____5200 :: uu____5210 in - uu____5177 :: uu____5189 in - uu____5156 :: uu____5166 in - uu____5134 :: uu____5145 in + let uu____5230 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu____5230 in + [uu____5221] in + uu____5200 :: uu____5210 in + uu____5177 :: uu____5189 in + uu____5156 :: uu____5166 in + uu____5134 :: uu____5145 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Sg_Let.FStar_Reflection_Data.t - uu____5133 in + uu____5133 + in uu____5128 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Sg_Constructor (nm, ty) -> + | FStar_Reflection_Data.Sg_Constructor (nm,ty) -> let uu____5281 = let uu____5286 = let uu____5287 = let uu____5296 = - embed FStar_Syntax_Embeddings.e_string_list rng nm in - FStar_Syntax_Syntax.as_arg uu____5296 in + embed FStar_Syntax_Embeddings.e_string_list rng nm in + FStar_Syntax_Syntax.as_arg uu____5296 in let uu____5300 = let uu____5311 = - let uu____5320 = embed e_term rng ty in - FStar_Syntax_Syntax.as_arg uu____5320 in - [uu____5311] in - uu____5287 :: uu____5300 in + let uu____5320 = embed e_term rng ty in + FStar_Syntax_Syntax.as_arg uu____5320 in + [uu____5311] in + uu____5287 :: uu____5300 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Sg_Constructor.FStar_Reflection_Data.t - uu____5286 in + uu____5286 + in uu____5281 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Sg_Inductive (nm, univs1, bs, t, dcs) -> + | FStar_Reflection_Data.Sg_Inductive (nm,univs1,bs,t,dcs) -> let uu____5362 = let uu____5367 = let uu____5368 = let uu____5377 = - embed FStar_Syntax_Embeddings.e_string_list rng nm in - FStar_Syntax_Syntax.as_arg uu____5377 in + embed FStar_Syntax_Embeddings.e_string_list rng nm in + FStar_Syntax_Syntax.as_arg uu____5377 in let uu____5381 = let uu____5392 = - let uu____5401 = embed e_univ_names rng univs1 in - FStar_Syntax_Syntax.as_arg uu____5401 in + let uu____5401 = embed e_univ_names rng univs1 in + FStar_Syntax_Syntax.as_arg uu____5401 in let uu____5404 = let uu____5415 = - let uu____5424 = embed e_binders rng bs in - FStar_Syntax_Syntax.as_arg uu____5424 in + let uu____5424 = embed e_binders rng bs in + FStar_Syntax_Syntax.as_arg uu____5424 in let uu____5425 = let uu____5436 = - let uu____5445 = embed e_term rng t in - FStar_Syntax_Syntax.as_arg uu____5445 in + let uu____5445 = embed e_term rng t in + FStar_Syntax_Syntax.as_arg uu____5445 in let uu____5446 = let uu____5457 = let uu____5466 = let uu____5467 = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_string_list in - embed uu____5467 rng dcs in - FStar_Syntax_Syntax.as_arg uu____5466 in - [uu____5457] in - uu____5436 :: uu____5446 in - uu____5415 :: uu____5425 in - uu____5392 :: uu____5404 in - uu____5368 :: uu____5381 in + FStar_Syntax_Embeddings.e_string_list + in + embed uu____5467 rng dcs in + FStar_Syntax_Syntax.as_arg uu____5466 in + [uu____5457] in + uu____5436 :: uu____5446 in + uu____5415 :: uu____5425 in + uu____5392 :: uu____5404 in + uu____5368 :: uu____5381 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_Sg_Inductive.FStar_Reflection_Data.t - uu____5367 in + uu____5367 + in uu____5362 FStar_Pervasives_Native.None rng - | FStar_Reflection_Data.Unk -> + | FStar_Reflection_Data.Unk -> let uu___714_5531 = - FStar_Reflection_Data.ref_Unk.FStar_Reflection_Data.t in + FStar_Reflection_Data.ref_Unk.FStar_Reflection_Data.t in { FStar_Syntax_Syntax.n = (uu___714_5531.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = (uu___714_5531.FStar_Syntax_Syntax.vars) - } in + } + in let unembed_sigelt_view w t = - let t1 = FStar_Syntax_Util.unascribe t in - let uu____5550 = FStar_Syntax_Util.head_and_args t1 in + let t1 = FStar_Syntax_Util.unascribe t in + let uu____5550 = FStar_Syntax_Util.head_and_args t1 in match uu____5550 with - | (hd1, args) -> + | (hd1,args) -> let uu____5595 = let uu____5608 = - let uu____5609 = FStar_Syntax_Util.un_uinst hd1 in - uu____5609.FStar_Syntax_Syntax.n in - (uu____5608, args) in + let uu____5609 = FStar_Syntax_Util.un_uinst hd1 in + uu____5609.FStar_Syntax_Syntax.n in + (uu____5608, args) in (match uu____5595 with - | (FStar_Syntax_Syntax.Tm_fvar fv, - (nm, uu____5624)::(us, uu____5626)::(bs, uu____5628)::(t2, - uu____5630):: - (dcs, uu____5632)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(nm,uu____5624)::(us,uu____5626)::(bs,uu____5628)::(t2,uu____5630):: + (dcs,uu____5632)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Sg_Inductive.FStar_Reflection_Data.lid -> let uu____5697 = - unembed' w FStar_Syntax_Embeddings.e_string_list nm in + unembed' w FStar_Syntax_Embeddings.e_string_list nm in FStar_Util.bind_opt uu____5697 - (fun nm1 -> - let uu____5715 = unembed' w e_univ_names us in + (fun nm1 -> + let uu____5715 = unembed' w e_univ_names us in FStar_Util.bind_opt uu____5715 - (fun us1 -> - let uu____5729 = unembed' w e_binders bs in + (fun us1 -> + let uu____5729 = unembed' w e_binders bs in FStar_Util.bind_opt uu____5729 - (fun bs1 -> - let uu____5735 = unembed' w e_term t2 in + (fun bs1 -> + let uu____5735 = unembed' w e_term t2 in FStar_Util.bind_opt uu____5735 - (fun t3 -> + (fun t3 -> let uu____5741 = let uu____5749 = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_string_list in - unembed' w uu____5749 dcs in + FStar_Syntax_Embeddings.e_string_list + in + unembed' w uu____5749 dcs in FStar_Util.bind_opt uu____5741 - (fun dcs1 -> + (fun dcs1 -> FStar_All.pipe_left - (fun _5779 -> + (fun _5779 -> FStar_Pervasives_Native.Some _5779) (FStar_Reflection_Data.Sg_Inductive (nm1, us1, bs1, t3, dcs1))))))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (r, uu____5788)::(fvar1, uu____5790)::(univs1, uu____5792):: - (ty, uu____5794)::(t2, uu____5796)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(r,uu____5788)::(fvar1,uu____5790)::(univs1,uu____5792):: + (ty,uu____5794)::(t2,uu____5796)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Sg_Let.FStar_Reflection_Data.lid -> - let uu____5861 = unembed' w FStar_Syntax_Embeddings.e_bool r in + let uu____5861 = unembed' w FStar_Syntax_Embeddings.e_bool r in FStar_Util.bind_opt uu____5861 - (fun r1 -> - let uu____5871 = unembed' w e_fv fvar1 in + (fun r1 -> + let uu____5871 = unembed' w e_fv fvar1 in FStar_Util.bind_opt uu____5871 - (fun fvar2 -> - let uu____5877 = unembed' w e_univ_names univs1 in + (fun fvar2 -> + let uu____5877 = unembed' w e_univ_names univs1 in FStar_Util.bind_opt uu____5877 - (fun univs2 -> - let uu____5891 = unembed' w e_term ty in + (fun univs2 -> + let uu____5891 = unembed' w e_term ty in FStar_Util.bind_opt uu____5891 - (fun ty1 -> - let uu____5897 = unembed' w e_term t2 in + (fun ty1 -> + let uu____5897 = unembed' w e_term t2 in FStar_Util.bind_opt uu____5897 - (fun t3 -> + (fun t3 -> FStar_All.pipe_left - (fun _5904 -> + (fun _5904 -> FStar_Pervasives_Native.Some _5904) (FStar_Reflection_Data.Sg_Let (r1, fvar2, univs2, ty1, t3))))))) - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Unk.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Unk @@ -1624,203 +1737,225 @@ let (e_sigelt_view : then (let uu____5938 = let uu____5944 = - let uu____5946 = FStar_Syntax_Print.term_to_string t1 in + let uu____5946 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.format1 "Not an embedded sigelt_view: %s" - uu____5946 in - (FStar_Errors.Warning_NotEmbedded, uu____5944) in + uu____5946 + in + (FStar_Errors.Warning_NotEmbedded, uu____5944) in FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu____5938) else (); - FStar_Pervasives_Native.None)) in + FStar_Pervasives_Native.None)) + in mk_emb embed_sigelt_view unembed_sigelt_view FStar_Reflection_Data.fstar_refl_sigelt_view + let (e_exp : FStar_Reflection_Data.exp FStar_Syntax_Embeddings.embedding) = let rec embed_exp rng e = let r = match e with - | FStar_Reflection_Data.Unit -> + | FStar_Reflection_Data.Unit -> FStar_Reflection_Data.ref_E_Unit.FStar_Reflection_Data.t | FStar_Reflection_Data.Var i -> let uu____5972 = let uu____5977 = let uu____5978 = let uu____5987 = - let uu____5988 = FStar_BigInt.string_of_big_int i in - FStar_Syntax_Util.exp_int uu____5988 in - FStar_Syntax_Syntax.as_arg uu____5987 in - [uu____5978] in + let uu____5988 = FStar_BigInt.string_of_big_int i in + FStar_Syntax_Util.exp_int uu____5988 in + FStar_Syntax_Syntax.as_arg uu____5987 in + [uu____5978] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_E_Var.FStar_Reflection_Data.t - uu____5977 in + uu____5977 + in uu____5972 FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_Reflection_Data.Mult (e1, e2) -> + | FStar_Reflection_Data.Mult (e1,e2) -> let uu____6008 = let uu____6013 = let uu____6014 = - let uu____6023 = embed_exp rng e1 in - FStar_Syntax_Syntax.as_arg uu____6023 in + let uu____6023 = embed_exp rng e1 in + FStar_Syntax_Syntax.as_arg uu____6023 in let uu____6024 = let uu____6035 = - let uu____6044 = embed_exp rng e2 in - FStar_Syntax_Syntax.as_arg uu____6044 in - [uu____6035] in - uu____6014 :: uu____6024 in + let uu____6044 = embed_exp rng e2 in + FStar_Syntax_Syntax.as_arg uu____6044 in + [uu____6035] in + uu____6014 :: uu____6024 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.ref_E_Mult.FStar_Reflection_Data.t - uu____6013 in - uu____6008 FStar_Pervasives_Native.None FStar_Range.dummyRange in - let uu___789_6069 = r in + uu____6013 + in + uu____6008 FStar_Pervasives_Native.None FStar_Range.dummyRange + in + let uu___789_6069 = r in { FStar_Syntax_Syntax.n = (uu___789_6069.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = (uu___789_6069.FStar_Syntax_Syntax.vars) - } in + } in let rec unembed_exp w t = - let t1 = FStar_Syntax_Util.unascribe t in - let uu____6090 = FStar_Syntax_Util.head_and_args t1 in + let t1 = FStar_Syntax_Util.unascribe t in + let uu____6090 = FStar_Syntax_Util.head_and_args t1 in match uu____6090 with - | (hd1, args) -> + | (hd1,args) -> let uu____6135 = let uu____6148 = - let uu____6149 = FStar_Syntax_Util.un_uinst hd1 in - uu____6149.FStar_Syntax_Syntax.n in - (uu____6148, args) in + let uu____6149 = FStar_Syntax_Util.un_uinst hd1 in + uu____6149.FStar_Syntax_Syntax.n in + (uu____6148, args) in (match uu____6135 with - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_E_Unit.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Unit - | (FStar_Syntax_Syntax.Tm_fvar fv, (i, uu____6179)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(i,uu____6179)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_E_Var.FStar_Reflection_Data.lid -> - let uu____6204 = unembed' w FStar_Syntax_Embeddings.e_int i in + let uu____6204 = unembed' w FStar_Syntax_Embeddings.e_int i in FStar_Util.bind_opt uu____6204 - (fun i1 -> + (fun i1 -> FStar_All.pipe_left - (fun _6211 -> FStar_Pervasives_Native.Some _6211) + (fun _6211 -> FStar_Pervasives_Native.Some _6211) (FStar_Reflection_Data.Var i1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (e1, uu____6214)::(e2, uu____6216)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(e1,uu____6214)::(e2,uu____6216)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_E_Mult.FStar_Reflection_Data.lid -> - let uu____6251 = unembed_exp w e1 in + let uu____6251 = unembed_exp w e1 in FStar_Util.bind_opt uu____6251 - (fun e11 -> - let uu____6257 = unembed_exp w e2 in + (fun e11 -> + let uu____6257 = unembed_exp w e2 in FStar_Util.bind_opt uu____6257 - (fun e21 -> + (fun e21 -> FStar_All.pipe_left - (fun _6264 -> FStar_Pervasives_Native.Some _6264) + (fun _6264 -> FStar_Pervasives_Native.Some _6264) (FStar_Reflection_Data.Mult (e11, e21)))) | uu____6265 -> (if w then (let uu____6280 = let uu____6286 = - let uu____6288 = FStar_Syntax_Print.term_to_string t1 in - FStar_Util.format1 "Not an embedded exp: %s" uu____6288 in - (FStar_Errors.Warning_NotEmbedded, uu____6286) in + let uu____6288 = FStar_Syntax_Print.term_to_string t1 + in + FStar_Util.format1 "Not an embedded exp: %s" uu____6288 + in + (FStar_Errors.Warning_NotEmbedded, uu____6286) in FStar_Errors.log_issue t1.FStar_Syntax_Syntax.pos uu____6280) else (); - FStar_Pervasives_Native.None)) in - mk_emb embed_exp unembed_exp FStar_Reflection_Data.fstar_refl_exp + FStar_Pervasives_Native.None)) + in + mk_emb embed_exp unembed_exp FStar_Reflection_Data.fstar_refl_exp let (e_binder_view : FStar_Reflection_Data.binder_view FStar_Syntax_Embeddings.embedding) = - FStar_Syntax_Embeddings.e_tuple2 e_bv e_aqualv + FStar_Syntax_Embeddings.e_tuple2 e_bv e_aqualv let (e_attribute : - FStar_Syntax_Syntax.attribute FStar_Syntax_Embeddings.embedding) = e_term + FStar_Syntax_Syntax.attribute FStar_Syntax_Embeddings.embedding) = e_term let (e_attributes : FStar_Syntax_Syntax.attribute Prims.list FStar_Syntax_Embeddings.embedding) - = FStar_Syntax_Embeddings.e_list e_attribute + = FStar_Syntax_Embeddings.e_list e_attribute let (unfold_lazy_bv : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = - fun i -> - let bv = FStar_Dyn.undyn i.FStar_Syntax_Syntax.blob in + fun i -> + let bv = FStar_Dyn.undyn i.FStar_Syntax_Syntax.blob in let uu____6312 = let uu____6317 = let uu____6318 = let uu____6327 = - let uu____6328 = FStar_Reflection_Basic.inspect_bv bv in - embed e_bv_view i.FStar_Syntax_Syntax.rng uu____6328 in - FStar_Syntax_Syntax.as_arg uu____6327 in - [uu____6318] in + let uu____6328 = FStar_Reflection_Basic.inspect_bv bv in + embed e_bv_view i.FStar_Syntax_Syntax.rng uu____6328 in + FStar_Syntax_Syntax.as_arg uu____6327 in + [uu____6318] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.fstar_refl_pack_bv.FStar_Reflection_Data.t - uu____6317 in + uu____6317 + in uu____6312 FStar_Pervasives_Native.None i.FStar_Syntax_Syntax.rng + let (unfold_lazy_binder : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = - fun i -> - let binder = FStar_Dyn.undyn i.FStar_Syntax_Syntax.blob in - let uu____6352 = FStar_Reflection_Basic.inspect_binder binder in + fun i -> + let binder = FStar_Dyn.undyn i.FStar_Syntax_Syntax.blob in + let uu____6352 = FStar_Reflection_Basic.inspect_binder binder in match uu____6352 with - | (bv, aq) -> + | (bv,aq) -> let uu____6359 = let uu____6364 = let uu____6365 = - let uu____6374 = embed e_bv i.FStar_Syntax_Syntax.rng bv in - FStar_Syntax_Syntax.as_arg uu____6374 in + let uu____6374 = embed e_bv i.FStar_Syntax_Syntax.rng bv in + FStar_Syntax_Syntax.as_arg uu____6374 in let uu____6375 = let uu____6386 = - let uu____6395 = embed e_aqualv i.FStar_Syntax_Syntax.rng aq in - FStar_Syntax_Syntax.as_arg uu____6395 in - [uu____6386] in - uu____6365 :: uu____6375 in + let uu____6395 = embed e_aqualv i.FStar_Syntax_Syntax.rng aq + in + FStar_Syntax_Syntax.as_arg uu____6395 in + [uu____6386] in + uu____6365 :: uu____6375 in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.fstar_refl_pack_binder.FStar_Reflection_Data.t - uu____6364 in + uu____6364 + in uu____6359 FStar_Pervasives_Native.None i.FStar_Syntax_Syntax.rng + let (unfold_lazy_fvar : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = - fun i -> - let fv = FStar_Dyn.undyn i.FStar_Syntax_Syntax.blob in + fun i -> + let fv = FStar_Dyn.undyn i.FStar_Syntax_Syntax.blob in let uu____6427 = let uu____6432 = let uu____6433 = let uu____6442 = let uu____6443 = - FStar_Syntax_Embeddings.e_list FStar_Syntax_Embeddings.e_string in - let uu____6450 = FStar_Reflection_Basic.inspect_fv fv in - embed uu____6443 i.FStar_Syntax_Syntax.rng uu____6450 in - FStar_Syntax_Syntax.as_arg uu____6442 in - [uu____6433] in + FStar_Syntax_Embeddings.e_list FStar_Syntax_Embeddings.e_string + in + let uu____6450 = FStar_Reflection_Basic.inspect_fv fv in + embed uu____6443 i.FStar_Syntax_Syntax.rng uu____6450 in + FStar_Syntax_Syntax.as_arg uu____6442 in + [uu____6433] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.fstar_refl_pack_fv.FStar_Reflection_Data.t - uu____6432 in + uu____6432 + in uu____6427 FStar_Pervasives_Native.None i.FStar_Syntax_Syntax.rng + let (unfold_lazy_comp : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = - fun i -> - let comp = FStar_Dyn.undyn i.FStar_Syntax_Syntax.blob in + fun i -> + let comp = FStar_Dyn.undyn i.FStar_Syntax_Syntax.blob in let uu____6480 = let uu____6485 = let uu____6486 = let uu____6495 = - let uu____6496 = FStar_Reflection_Basic.inspect_comp comp in - embed e_comp_view i.FStar_Syntax_Syntax.rng uu____6496 in - FStar_Syntax_Syntax.as_arg uu____6495 in - [uu____6486] in + let uu____6496 = FStar_Reflection_Basic.inspect_comp comp in + embed e_comp_view i.FStar_Syntax_Syntax.rng uu____6496 in + FStar_Syntax_Syntax.as_arg uu____6495 in + [uu____6486] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.fstar_refl_pack_comp.FStar_Reflection_Data.t - uu____6485 in + uu____6485 + in uu____6480 FStar_Pervasives_Native.None i.FStar_Syntax_Syntax.rng + let (unfold_lazy_env : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = - fun i -> FStar_Syntax_Util.exp_unit + fun i -> FStar_Syntax_Util.exp_unit let (unfold_lazy_sigelt : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = - fun i -> - let sigelt = FStar_Dyn.undyn i.FStar_Syntax_Syntax.blob in + fun i -> + let sigelt = FStar_Dyn.undyn i.FStar_Syntax_Syntax.blob in let uu____6526 = let uu____6531 = let uu____6532 = let uu____6541 = - let uu____6542 = FStar_Reflection_Basic.inspect_sigelt sigelt in - embed e_sigelt_view i.FStar_Syntax_Syntax.rng uu____6542 in - FStar_Syntax_Syntax.as_arg uu____6541 in - [uu____6532] in + let uu____6542 = FStar_Reflection_Basic.inspect_sigelt sigelt in + embed e_sigelt_view i.FStar_Syntax_Syntax.rng uu____6542 in + FStar_Syntax_Syntax.as_arg uu____6541 in + [uu____6532] in FStar_Syntax_Syntax.mk_Tm_app FStar_Reflection_Data.fstar_refl_pack_sigelt.FStar_Reflection_Data.t - uu____6531 in - uu____6526 FStar_Pervasives_Native.None i.FStar_Syntax_Syntax.rng \ No newline at end of file + uu____6531 + in + uu____6526 FStar_Pervasives_Native.None i.FStar_Syntax_Syntax.rng + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Reflection_Interpreter.ml b/src/ocaml-output/FStar_Reflection_Interpreter.ml index d8ca1e9edbe..16ce893bd52 100644 --- a/src/ocaml-output/FStar_Reflection_Interpreter.ml +++ b/src/ocaml-output/FStar_Reflection_Interpreter.ml @@ -6,11 +6,12 @@ let unembed : FStar_Syntax_Embeddings.norm_cb -> 'Auu____8 FStar_Pervasives_Native.option = - fun ea -> - fun a -> - fun norm_cb -> - let uu____32 = FStar_Syntax_Embeddings.unembed ea a in + fun ea -> + fun a -> + fun norm_cb -> + let uu____32 = FStar_Syntax_Embeddings.unembed ea a in uu____32 true norm_cb + let try_unembed : 'Auu____49 . 'Auu____49 FStar_Syntax_Embeddings.embedding -> @@ -18,11 +19,12 @@ let try_unembed : FStar_Syntax_Embeddings.norm_cb -> 'Auu____49 FStar_Pervasives_Native.option = - fun ea -> - fun a -> - fun norm_cb -> - let uu____73 = FStar_Syntax_Embeddings.unembed ea a in + fun ea -> + fun a -> + fun norm_cb -> + let uu____73 = FStar_Syntax_Embeddings.unembed ea a in uu____73 false norm_cb + let embed : 'Auu____92 . 'Auu____92 FStar_Syntax_Embeddings.embedding -> @@ -30,12 +32,13 @@ let embed : 'Auu____92 -> FStar_Syntax_Embeddings.norm_cb -> FStar_Syntax_Syntax.term = - fun ea -> - fun r -> - fun x -> - fun norm_cb -> - let uu____119 = FStar_Syntax_Embeddings.embed ea x in + fun ea -> + fun r -> + fun x -> + fun norm_cb -> + let uu____119 = FStar_Syntax_Embeddings.embed ea x in uu____119 r FStar_Pervasives_Native.None norm_cb + let int1 : 'a 'r . FStar_Ident.lid -> @@ -47,25 +50,26 @@ let int1 : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun m -> - fun f -> - fun ea -> - fun er -> - fun psc -> - fun n1 -> - fun args -> + fun m -> + fun f -> + fun ea -> + fun er -> + fun psc -> + fun n1 -> + fun args -> match args with - | (a, uu____202)::[] -> - let uu____227 = try_unembed ea a n1 in + | (a,uu____202)::[] -> + let uu____227 = try_unembed ea a n1 in FStar_Util.bind_opt uu____227 - (fun a1 -> + (fun a1 -> let uu____233 = let uu____234 = - FStar_TypeChecker_Cfg.psc_range psc in - let uu____235 = f a1 in - embed er uu____234 uu____235 n1 in + FStar_TypeChecker_Cfg.psc_range psc in + let uu____235 = f a1 in + embed er uu____234 uu____235 n1 in FStar_Pervasives_Native.Some uu____233) | uu____236 -> FStar_Pervasives_Native.None + let int2 : 'a 'b 'r . FStar_Ident.lid -> @@ -78,29 +82,30 @@ let int2 : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun m -> - fun f -> - fun ea -> - fun eb -> - fun er -> - fun psc -> - fun n1 -> - fun args -> + fun m -> + fun f -> + fun ea -> + fun eb -> + fun er -> + fun psc -> + fun n1 -> + fun args -> match args with - | (a, uu____330)::(b, uu____332)::[] -> - let uu____373 = try_unembed ea a n1 in + | (a,uu____330)::(b,uu____332)::[] -> + let uu____373 = try_unembed ea a n1 in FStar_Util.bind_opt uu____373 - (fun a1 -> - let uu____379 = try_unembed eb b n1 in + (fun a1 -> + let uu____379 = try_unembed eb b n1 in FStar_Util.bind_opt uu____379 - (fun b1 -> + (fun b1 -> let uu____385 = let uu____386 = - FStar_TypeChecker_Cfg.psc_range psc in - let uu____387 = f a1 b1 in - embed er uu____386 uu____387 n1 in + FStar_TypeChecker_Cfg.psc_range psc in + let uu____387 = f a1 b1 in + embed er uu____386 uu____387 n1 in FStar_Pervasives_Native.Some uu____385)) | uu____388 -> FStar_Pervasives_Native.None + let nbe_int1 : 'a 'r . FStar_Ident.lid -> @@ -111,22 +116,24 @@ let nbe_int1 : FStar_TypeChecker_NBETerm.args -> FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option = - fun m -> - fun f -> - fun ea -> - fun er -> - fun cb -> - fun args -> + fun m -> + fun f -> + fun ea -> + fun er -> + fun cb -> + fun args -> match args with - | (a, uu____454)::[] -> - let uu____463 = FStar_TypeChecker_NBETerm.unembed ea cb a in + | (a,uu____454)::[] -> + let uu____463 = FStar_TypeChecker_NBETerm.unembed ea cb a + in FStar_Util.bind_opt uu____463 - (fun a1 -> + (fun a1 -> let uu____469 = - let uu____470 = f a1 in - FStar_TypeChecker_NBETerm.embed er cb uu____470 in + let uu____470 = f a1 in + FStar_TypeChecker_NBETerm.embed er cb uu____470 in FStar_Pervasives_Native.Some uu____469) | uu____471 -> FStar_Pervasives_Native.None + let nbe_int2 : 'a 'b 'r . FStar_Ident.lid -> @@ -138,30 +145,33 @@ let nbe_int2 : FStar_TypeChecker_NBETerm.args -> FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option = - fun m -> - fun f -> - fun ea -> - fun eb -> - fun er -> - fun cb -> - fun args -> + fun m -> + fun f -> + fun ea -> + fun eb -> + fun er -> + fun cb -> + fun args -> match args with - | (a, uu____556)::(b, uu____558)::[] -> - let uu____571 = FStar_TypeChecker_NBETerm.unembed ea cb a in + | (a,uu____556)::(b,uu____558)::[] -> + let uu____571 = FStar_TypeChecker_NBETerm.unembed ea cb a + in FStar_Util.bind_opt uu____571 - (fun a1 -> + (fun a1 -> let uu____577 = - FStar_TypeChecker_NBETerm.unembed eb cb b in + FStar_TypeChecker_NBETerm.unembed eb cb b in FStar_Util.bind_opt uu____577 - (fun b1 -> + (fun b1 -> let uu____583 = - let uu____584 = f a1 b1 in + let uu____584 = f a1 b1 in FStar_TypeChecker_NBETerm.embed er cb - uu____584 in + uu____584 + in FStar_Pervasives_Native.Some uu____583)) | uu____585 -> FStar_Pervasives_Native.None + let (mklid : Prims.string -> FStar_Ident.lid) = - fun nm -> FStar_Reflection_Data.fstar_refl_basic_lid nm + fun nm -> FStar_Reflection_Data.fstar_refl_basic_lid nm let (mk : FStar_Ident.lid -> Prims.int -> @@ -175,10 +185,10 @@ let (mk : FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option) -> FStar_TypeChecker_Cfg.primitive_step) = - fun l -> - fun arity -> - fun fn -> - fun nbe_fn -> + fun l -> + fun arity -> + fun fn -> + fun nbe_fn -> { FStar_TypeChecker_Cfg.name = l; FStar_TypeChecker_Cfg.arity = arity; @@ -189,6 +199,7 @@ let (mk : FStar_TypeChecker_Cfg.interpretation = fn; FStar_TypeChecker_Cfg.interpretation_nbe = nbe_fn } + let mk1 : 'a 'na 'nr 'r . Prims.string -> @@ -200,16 +211,17 @@ let mk1 : 'nr FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_Cfg.primitive_step = - fun nm -> - fun f -> - fun ea -> - fun er -> - fun nf -> - fun ena -> - fun enr -> - let l = mklid nm in + fun nm -> + fun f -> + fun ea -> + fun er -> + fun nf -> + fun ena -> + fun enr -> + let l = mklid nm in mk l (Prims.parse_int "1") (int1 l f ea er) (nbe_int1 l nf ena enr) + let mk2 : 'a 'b 'na 'nb 'nr 'r . Prims.string -> @@ -223,32 +235,35 @@ let mk2 : 'nr FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_Cfg.primitive_step = - fun nm -> - fun f -> - fun ea -> - fun eb -> - fun er -> - fun nf -> - fun ena -> - fun enb -> - fun enr -> - let l = mklid nm in + fun nm -> + fun f -> + fun ea -> + fun eb -> + fun er -> + fun nf -> + fun ena -> + fun enb -> + fun enr -> + let l = mklid nm in mk l (Prims.parse_int "2") (int2 l f ea eb er) (nbe_int2 l nf ena enb enr) + let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = let uu____881 = mk1 "inspect_ln" FStar_Reflection_Basic.inspect_ln FStar_Reflection_Embeddings.e_term FStar_Reflection_Embeddings.e_term_view FStar_Reflection_Basic.inspect_ln FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term_view in + FStar_Reflection_NBEEmbeddings.e_term_view + in let uu____883 = let uu____886 = mk1 "pack_ln" FStar_Reflection_Basic.pack_ln FStar_Reflection_Embeddings.e_term_view FStar_Reflection_Embeddings.e_term FStar_Reflection_Basic.pack_ln FStar_Reflection_NBEEmbeddings.e_term_view - FStar_Reflection_NBEEmbeddings.e_term in + FStar_Reflection_NBEEmbeddings.e_term + in let uu____888 = let uu____891 = mk1 "inspect_fv" FStar_Reflection_Basic.inspect_fv @@ -256,14 +271,16 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Syntax_Embeddings.e_string_list FStar_Reflection_Basic.inspect_fv FStar_Reflection_NBEEmbeddings.e_fv - FStar_TypeChecker_NBETerm.e_string_list in + FStar_TypeChecker_NBETerm.e_string_list + in let uu____899 = let uu____902 = mk1 "pack_fv" FStar_Reflection_Basic.pack_fv FStar_Syntax_Embeddings.e_string_list FStar_Reflection_Embeddings.e_fv FStar_Reflection_Basic.pack_fv FStar_TypeChecker_NBETerm.e_string_list - FStar_Reflection_NBEEmbeddings.e_fv in + FStar_Reflection_NBEEmbeddings.e_fv + in let uu____910 = let uu____913 = mk1 "inspect_comp" FStar_Reflection_Basic.inspect_comp @@ -271,7 +288,8 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Embeddings.e_comp_view FStar_Reflection_Basic.inspect_comp FStar_Reflection_NBEEmbeddings.e_comp - FStar_Reflection_NBEEmbeddings.e_comp_view in + FStar_Reflection_NBEEmbeddings.e_comp_view + in let uu____915 = let uu____918 = mk1 "pack_comp" FStar_Reflection_Basic.pack_comp @@ -279,7 +297,8 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Embeddings.e_comp FStar_Reflection_Basic.pack_comp FStar_Reflection_NBEEmbeddings.e_comp_view - FStar_Reflection_NBEEmbeddings.e_comp in + FStar_Reflection_NBEEmbeddings.e_comp + in let uu____920 = let uu____923 = mk1 "inspect_sigelt" FStar_Reflection_Basic.inspect_sigelt @@ -287,7 +306,8 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Embeddings.e_sigelt_view FStar_Reflection_Basic.inspect_sigelt FStar_Reflection_NBEEmbeddings.e_sigelt - FStar_Reflection_NBEEmbeddings.e_sigelt_view in + FStar_Reflection_NBEEmbeddings.e_sigelt_view + in let uu____925 = let uu____928 = mk1 "pack_sigelt" FStar_Reflection_Basic.pack_sigelt @@ -295,7 +315,8 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Embeddings.e_sigelt FStar_Reflection_Basic.pack_sigelt FStar_Reflection_NBEEmbeddings.e_sigelt_view - FStar_Reflection_NBEEmbeddings.e_sigelt in + FStar_Reflection_NBEEmbeddings.e_sigelt + in let uu____930 = let uu____933 = mk1 "inspect_bv" FStar_Reflection_Basic.inspect_bv @@ -303,7 +324,8 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Embeddings.e_bv_view FStar_Reflection_Basic.inspect_bv FStar_Reflection_NBEEmbeddings.e_bv - FStar_Reflection_NBEEmbeddings.e_bv_view in + FStar_Reflection_NBEEmbeddings.e_bv_view + in let uu____935 = let uu____938 = mk1 "pack_bv" FStar_Reflection_Basic.pack_bv @@ -311,7 +333,8 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Embeddings.e_bv FStar_Reflection_Basic.pack_bv FStar_Reflection_NBEEmbeddings.e_bv_view - FStar_Reflection_NBEEmbeddings.e_bv in + FStar_Reflection_NBEEmbeddings.e_bv + in let uu____940 = let uu____943 = mk1 "sigelt_attrs" @@ -320,7 +343,8 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Embeddings.e_attributes FStar_Reflection_Basic.sigelt_attrs FStar_Reflection_NBEEmbeddings.e_sigelt - FStar_Reflection_NBEEmbeddings.e_attributes in + FStar_Reflection_NBEEmbeddings.e_attributes + in let uu____949 = let uu____952 = mk2 "set_sigelt_attrs" @@ -331,7 +355,8 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Basic.set_sigelt_attrs FStar_Reflection_NBEEmbeddings.e_attributes FStar_Reflection_NBEEmbeddings.e_sigelt - FStar_Reflection_NBEEmbeddings.e_sigelt in + FStar_Reflection_NBEEmbeddings.e_sigelt + in let uu____958 = let uu____961 = mk1 "inspect_binder" @@ -340,7 +365,8 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Embeddings.e_binder_view FStar_Reflection_Basic.inspect_binder FStar_Reflection_NBEEmbeddings.e_binder - FStar_Reflection_NBEEmbeddings.e_binder_view in + FStar_Reflection_NBEEmbeddings.e_binder_view + in let uu____963 = let uu____966 = mk2 "pack_binder" @@ -351,7 +377,8 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Basic.pack_binder FStar_Reflection_NBEEmbeddings.e_bv FStar_Reflection_NBEEmbeddings.e_aqualv - FStar_Reflection_NBEEmbeddings.e_binder in + FStar_Reflection_NBEEmbeddings.e_binder + in let uu____968 = let uu____971 = mk2 "compare_bv" @@ -362,7 +389,8 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Basic.compare_bv FStar_Reflection_NBEEmbeddings.e_bv FStar_Reflection_NBEEmbeddings.e_bv - FStar_Reflection_NBEEmbeddings.e_order in + FStar_Reflection_NBEEmbeddings.e_order + in let uu____973 = let uu____976 = mk2 "is_free" @@ -373,15 +401,18 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Basic.is_free FStar_Reflection_NBEEmbeddings.e_bv FStar_Reflection_NBEEmbeddings.e_term - FStar_TypeChecker_NBETerm.e_bool in + FStar_TypeChecker_NBETerm.e_bool + in let uu____980 = let uu____983 = let uu____984 = FStar_Syntax_Embeddings.e_list - FStar_Reflection_Embeddings.e_fv in + FStar_Reflection_Embeddings.e_fv + in let uu____989 = FStar_TypeChecker_NBETerm.e_list - FStar_Reflection_NBEEmbeddings.e_fv in + FStar_Reflection_NBEEmbeddings.e_fv + in mk2 "lookup_attr" FStar_Reflection_Basic.lookup_attr FStar_Reflection_Embeddings.e_term @@ -390,107 +421,160 @@ let (reflection_primops : FStar_TypeChecker_Cfg.primitive_step Prims.list) = FStar_Reflection_Basic.lookup_attr FStar_Reflection_NBEEmbeddings.e_term FStar_Reflection_NBEEmbeddings.e_env - uu____989 in + uu____989 + in let uu____999 = let uu____1002 = - mk2 "term_eq" - FStar_Reflection_Basic.term_eq - FStar_Reflection_Embeddings.e_term - FStar_Reflection_Embeddings.e_term - FStar_Syntax_Embeddings.e_bool - FStar_Reflection_Basic.term_eq - FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term - FStar_TypeChecker_NBETerm.e_bool in - let uu____1006 = - let uu____1009 = - mk1 "moduleof" - FStar_Reflection_Basic.moduleof + let uu____1003 = + FStar_Syntax_Embeddings.e_list + FStar_Reflection_Embeddings.e_fv + in + let uu____1008 = + FStar_TypeChecker_NBETerm.e_list + FStar_Reflection_NBEEmbeddings.e_fv + in + mk1 "all_defs_in_env" + FStar_Reflection_Basic.all_defs_in_env + FStar_Reflection_Embeddings.e_env + uu____1003 + FStar_Reflection_Basic.all_defs_in_env + FStar_Reflection_NBEEmbeddings.e_env + uu____1008 + in + let uu____1018 = + let uu____1021 = + let uu____1022 = + FStar_Syntax_Embeddings.e_list + FStar_Reflection_Embeddings.e_fv + in + let uu____1027 = + FStar_TypeChecker_NBETerm.e_list + FStar_Reflection_NBEEmbeddings.e_fv + in + mk2 "defs_in_module" + FStar_Reflection_Basic.defs_in_module FStar_Reflection_Embeddings.e_env FStar_Syntax_Embeddings.e_string_list - FStar_Reflection_Basic.moduleof + uu____1022 + FStar_Reflection_Basic.defs_in_module FStar_Reflection_NBEEmbeddings.e_env - FStar_TypeChecker_NBETerm.e_string_list in - let uu____1017 = - let uu____1020 = - mk1 "term_to_string" - FStar_Reflection_Basic.term_to_string + FStar_TypeChecker_NBETerm.e_string_list + uu____1027 + in + let uu____1043 = + let uu____1046 = + mk2 "term_eq" + FStar_Reflection_Basic.term_eq + FStar_Reflection_Embeddings.e_term FStar_Reflection_Embeddings.e_term - FStar_Syntax_Embeddings.e_string - FStar_Reflection_Basic.term_to_string + FStar_Syntax_Embeddings.e_bool + FStar_Reflection_Basic.term_eq + FStar_Reflection_NBEEmbeddings.e_term FStar_Reflection_NBEEmbeddings.e_term - FStar_TypeChecker_NBETerm.e_string in - let uu____1024 = - let uu____1027 = - mk1 "comp_to_string" - FStar_Reflection_Basic.comp_to_string - FStar_Reflection_Embeddings.e_comp - FStar_Syntax_Embeddings.e_string - FStar_Reflection_Basic.comp_to_string - FStar_Reflection_NBEEmbeddings.e_comp - FStar_TypeChecker_NBETerm.e_string in - let uu____1031 = - let uu____1034 = - mk1 "binders_of_env" - FStar_Reflection_Basic.binders_of_env - FStar_Reflection_Embeddings.e_env - FStar_Reflection_Embeddings.e_binders - FStar_Reflection_Basic.binders_of_env - FStar_Reflection_NBEEmbeddings.e_env - FStar_Reflection_NBEEmbeddings.e_binders in - let uu____1036 = - let uu____1039 = - let uu____1040 = - FStar_Syntax_Embeddings.e_option - FStar_Reflection_Embeddings.e_sigelt in - let uu____1045 = - FStar_TypeChecker_NBETerm.e_option - FStar_Reflection_NBEEmbeddings.e_sigelt in - mk2 "lookup_typ" - FStar_Reflection_Basic.lookup_typ - FStar_Reflection_Embeddings.e_env - FStar_Syntax_Embeddings.e_string_list - uu____1040 - FStar_Reflection_Basic.lookup_typ - FStar_Reflection_NBEEmbeddings.e_env - FStar_TypeChecker_NBETerm.e_string_list - uu____1045 in - let uu____1061 = - let uu____1064 = - let uu____1065 = - FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_string_list in - let uu____1076 = - FStar_TypeChecker_NBETerm.e_list - FStar_TypeChecker_NBETerm.e_string_list in - mk1 "env_open_modules" - FStar_Reflection_Basic.env_open_modules + FStar_TypeChecker_NBETerm.e_bool + in + let uu____1050 = + let uu____1053 = + mk1 "moduleof" + FStar_Reflection_Basic.moduleof + FStar_Reflection_Embeddings.e_env + FStar_Syntax_Embeddings.e_string_list + FStar_Reflection_Basic.moduleof + FStar_Reflection_NBEEmbeddings.e_env + FStar_TypeChecker_NBETerm.e_string_list + in + let uu____1061 = + let uu____1064 = + mk1 "term_to_string" + FStar_Reflection_Basic.term_to_string + FStar_Reflection_Embeddings.e_term + FStar_Syntax_Embeddings.e_string + FStar_Reflection_Basic.term_to_string + FStar_Reflection_NBEEmbeddings.e_term + FStar_TypeChecker_NBETerm.e_string + in + let uu____1068 = + let uu____1071 = + mk1 "comp_to_string" + FStar_Reflection_Basic.comp_to_string + FStar_Reflection_Embeddings.e_comp + FStar_Syntax_Embeddings.e_string + FStar_Reflection_Basic.comp_to_string + FStar_Reflection_NBEEmbeddings.e_comp + FStar_TypeChecker_NBETerm.e_string + in + let uu____1075 = + let uu____1078 = + mk1 "binders_of_env" + FStar_Reflection_Basic.binders_of_env FStar_Reflection_Embeddings.e_env - uu____1065 - FStar_Reflection_Basic.env_open_modules + FStar_Reflection_Embeddings.e_binders + FStar_Reflection_Basic.binders_of_env FStar_Reflection_NBEEmbeddings.e_env - uu____1076 in - [uu____1064] in - uu____1039 :: uu____1061 in - uu____1034 :: uu____1036 in - uu____1027 :: uu____1031 in - uu____1020 :: uu____1024 in - uu____1009 :: uu____1017 in - uu____1002 :: uu____1006 in - uu____983 :: uu____999 in - uu____976 :: uu____980 in - uu____971 :: uu____973 in - uu____966 :: uu____968 in - uu____961 :: uu____963 in - uu____952 :: uu____958 in - uu____943 :: uu____949 in - uu____938 :: uu____940 in - uu____933 :: uu____935 in - uu____928 :: uu____930 in - uu____923 :: uu____925 in - uu____918 :: uu____920 in - uu____913 :: uu____915 in - uu____902 :: uu____910 in - uu____891 :: uu____899 in - uu____886 :: uu____888 in - uu____881 :: uu____883 \ No newline at end of file + FStar_Reflection_NBEEmbeddings.e_binders + in + let uu____1080 = + let uu____1083 = + let uu____1084 = + FStar_Syntax_Embeddings.e_option + FStar_Reflection_Embeddings.e_sigelt + in + let uu____1089 = + FStar_TypeChecker_NBETerm.e_option + FStar_Reflection_NBEEmbeddings.e_sigelt + in + mk2 "lookup_typ" + FStar_Reflection_Basic.lookup_typ + FStar_Reflection_Embeddings.e_env + FStar_Syntax_Embeddings.e_string_list + uu____1084 + FStar_Reflection_Basic.lookup_typ + FStar_Reflection_NBEEmbeddings.e_env + FStar_TypeChecker_NBETerm.e_string_list + uu____1089 + in + let uu____1105 = + let uu____1108 = + let uu____1109 = + FStar_Syntax_Embeddings.e_list + FStar_Syntax_Embeddings.e_string_list + in + let uu____1120 = + FStar_TypeChecker_NBETerm.e_list + FStar_TypeChecker_NBETerm.e_string_list + in + mk1 "env_open_modules" + FStar_Reflection_Basic.env_open_modules + FStar_Reflection_Embeddings.e_env + uu____1109 + FStar_Reflection_Basic.env_open_modules + FStar_Reflection_NBEEmbeddings.e_env + uu____1120 + in + [uu____1108] in + uu____1083 :: uu____1105 + in + uu____1078 :: uu____1080 in + uu____1071 :: uu____1075 in + uu____1064 :: uu____1068 in + uu____1053 :: uu____1061 in + uu____1046 :: uu____1050 in + uu____1021 :: uu____1043 in + uu____1002 :: uu____1018 in + uu____983 :: uu____999 in + uu____976 :: uu____980 in + uu____971 :: uu____973 in + uu____966 :: uu____968 in + uu____961 :: uu____963 in + uu____952 :: uu____958 in + uu____943 :: uu____949 in + uu____938 :: uu____940 in + uu____933 :: uu____935 in + uu____928 :: uu____930 in + uu____923 :: uu____925 in + uu____918 :: uu____920 in + uu____913 :: uu____915 in + uu____902 :: uu____910 in + uu____891 :: uu____899 in + uu____886 :: uu____888 in + uu____881 :: uu____883 \ No newline at end of file diff --git a/src/ocaml-output/FStar_Reflection_NBEEmbeddings.ml b/src/ocaml-output/FStar_Reflection_NBEEmbeddings.ml index ffd3eb03855..d264fcb4317 100644 --- a/src/ocaml-output/FStar_Reflection_NBEEmbeddings.ml +++ b/src/ocaml-output/FStar_Reflection_NBEEmbeddings.ml @@ -5,30 +5,34 @@ let (mkFV : (FStar_TypeChecker_NBETerm.t * FStar_Syntax_Syntax.aqual) Prims.list -> FStar_TypeChecker_NBETerm.t) = - fun fv -> - fun us -> - fun ts -> + fun fv -> + fun us -> + fun ts -> FStar_TypeChecker_NBETerm.mkFV fv (FStar_List.rev us) (FStar_List.rev ts) + let (mkConstruct : FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.universe Prims.list -> (FStar_TypeChecker_NBETerm.t * FStar_Syntax_Syntax.aqual) Prims.list -> FStar_TypeChecker_NBETerm.t) = - fun fv -> - fun us -> - fun ts -> + fun fv -> + fun us -> + fun ts -> FStar_TypeChecker_NBETerm.mkConstruct fv (FStar_List.rev us) (FStar_List.rev ts) + let (fv_as_emb_typ : FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.emb_typ) = - fun fv -> + fun fv -> let uu____77 = let uu____85 = FStar_Ident.string_of_lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - (uu____85, []) in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + (uu____85, []) in FStar_Syntax_Syntax.ET_app uu____77 + let mk_emb' : 'Auu____99 . (FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -41,12 +45,13 @@ let mk_emb' : FStar_Syntax_Syntax.fv -> 'Auu____99 FStar_TypeChecker_NBETerm.embedding = - fun x -> - fun y -> - fun fv -> - let uu____141 = mkFV fv [] [] in - let uu____146 = fv_as_emb_typ fv in + fun x -> + fun y -> + fun fv -> + let uu____141 = mkFV fv [] [] in + let uu____146 = fv_as_emb_typ fv in FStar_TypeChecker_NBETerm.mk_emb x y uu____141 uu____146 + let mk_lazy : 'Auu____158 . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -54,259 +59,274 @@ let mk_lazy : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.lazy_kind -> FStar_TypeChecker_NBETerm.t = - fun cb -> - fun obj -> - fun ty -> - fun kind -> + fun cb -> + fun obj -> + fun ty -> + fun kind -> let li = - let uu____184 = FStar_Dyn.mkdyn obj in + let uu____184 = FStar_Dyn.mkdyn obj in { FStar_Syntax_Syntax.blob = uu____184; FStar_Syntax_Syntax.lkind = kind; FStar_Syntax_Syntax.ltyp = ty; FStar_Syntax_Syntax.rng = FStar_Range.dummyRange - } in + } in let thunk1 = FStar_Common.mk_thunk - (fun uu____190 -> - let uu____191 = FStar_Syntax_Util.unfold_lazy li in - FStar_TypeChecker_NBETerm.translate_cb cb uu____191) in + (fun uu____190 -> + let uu____191 = FStar_Syntax_Util.unfold_lazy li in + FStar_TypeChecker_NBETerm.translate_cb cb uu____191) + in FStar_TypeChecker_NBETerm.Lazy ((FStar_Util.Inl li), thunk1) + let (e_bv : FStar_Syntax_Syntax.bv FStar_TypeChecker_NBETerm.embedding) = let embed_bv cb bv = mk_lazy cb bv FStar_Reflection_Data.fstar_refl_bv - FStar_Syntax_Syntax.Lazy_bv in + FStar_Syntax_Syntax.Lazy_bv + in let unembed_bv cb t = match t with | FStar_TypeChecker_NBETerm.Lazy (FStar_Util.Inl { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_bv; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_bv ; FStar_Syntax_Syntax.ltyp = uu____236; - FStar_Syntax_Syntax.rng = uu____237;_}, - uu____238) + FStar_Syntax_Syntax.rng = uu____237;_},uu____238) -> - let uu____257 = FStar_Dyn.undyn b in - FStar_All.pipe_left (fun _260 -> FStar_Pervasives_Native.Some _260) + let uu____257 = FStar_Dyn.undyn b in + FStar_All.pipe_left (fun _260 -> FStar_Pervasives_Native.Some _260) uu____257 | uu____261 -> ((let uu____263 = let uu____269 = - let uu____271 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded bv: %s" uu____271 in - (FStar_Errors.Warning_NotEmbedded, uu____269) in + let uu____271 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded bv: %s" uu____271 in + (FStar_Errors.Warning_NotEmbedded, uu____269) in FStar_Errors.log_issue FStar_Range.dummyRange uu____263); - FStar_Pervasives_Native.None) in - mk_emb' embed_bv unembed_bv FStar_Reflection_Data.fstar_refl_bv_fv + FStar_Pervasives_Native.None) + in + mk_emb' embed_bv unembed_bv FStar_Reflection_Data.fstar_refl_bv_fv let (e_binder : FStar_Syntax_Syntax.binder FStar_TypeChecker_NBETerm.embedding) = let embed_binder cb b = mk_lazy cb b FStar_Reflection_Data.fstar_refl_binder - FStar_Syntax_Syntax.Lazy_binder in + FStar_Syntax_Syntax.Lazy_binder + in let unembed_binder cb t = match t with | FStar_TypeChecker_NBETerm.Lazy (FStar_Util.Inl { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_binder; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_binder ; FStar_Syntax_Syntax.ltyp = uu____305; - FStar_Syntax_Syntax.rng = uu____306;_}, - uu____307) + FStar_Syntax_Syntax.rng = uu____306;_},uu____307) -> - let uu____326 = FStar_Dyn.undyn b in + let uu____326 = FStar_Dyn.undyn b in FStar_Pervasives_Native.Some uu____326 | uu____327 -> ((let uu____329 = let uu____335 = - let uu____337 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded binder: %s" uu____337 in - (FStar_Errors.Warning_NotEmbedded, uu____335) in + let uu____337 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded binder: %s" uu____337 in + (FStar_Errors.Warning_NotEmbedded, uu____335) in FStar_Errors.log_issue FStar_Range.dummyRange uu____329); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in mk_emb' embed_binder unembed_binder FStar_Reflection_Data.fstar_refl_binder_fv + let rec mapM_opt : 'a 'b . ('a -> 'b FStar_Pervasives_Native.option) -> 'a Prims.list -> 'b Prims.list FStar_Pervasives_Native.option = - fun f -> - fun l -> + fun f -> + fun l -> match l with | [] -> FStar_Pervasives_Native.Some [] | x::xs -> - let uu____387 = f x in + let uu____387 = f x in FStar_Util.bind_opt uu____387 - (fun x1 -> - let uu____395 = mapM_opt f xs in + (fun x1 -> + let uu____395 = mapM_opt f xs in FStar_Util.bind_opt uu____395 - (fun xs1 -> FStar_Pervasives_Native.Some (x1 :: xs1))) + (fun xs1 -> FStar_Pervasives_Native.Some (x1 :: xs1))) + let (e_term_aq : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) Prims.list -> FStar_Syntax_Syntax.term FStar_TypeChecker_NBETerm.embedding) = - fun aq -> + fun aq -> let embed_term cb t = let qi = { FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_static; FStar_Syntax_Syntax.antiquotes = aq - } in - FStar_TypeChecker_NBETerm.Quote (t, qi) in + } in + FStar_TypeChecker_NBETerm.Quote (t, qi) in let rec unembed_term cb t = match t with - | FStar_TypeChecker_NBETerm.Quote (tm, qi) -> + | FStar_TypeChecker_NBETerm.Quote (tm,qi) -> FStar_Pervasives_Native.Some tm - | uu____465 -> FStar_Pervasives_Native.None in - let uu____466 = mkFV FStar_Reflection_Data.fstar_refl_term_fv [] [] in - let uu____471 = fv_as_emb_typ FStar_Reflection_Data.fstar_refl_term_fv in + | uu____465 -> FStar_Pervasives_Native.None in + let uu____466 = mkFV FStar_Reflection_Data.fstar_refl_term_fv [] [] in + let uu____471 = fv_as_emb_typ FStar_Reflection_Data.fstar_refl_term_fv + in { FStar_TypeChecker_NBETerm.em = embed_term; FStar_TypeChecker_NBETerm.un = unembed_term; FStar_TypeChecker_NBETerm.typ = uu____466; FStar_TypeChecker_NBETerm.emb_typ = uu____471 } + let (e_term : FStar_Syntax_Syntax.term FStar_TypeChecker_NBETerm.embedding) = - e_term_aq [] + e_term_aq [] let (e_aqualv : FStar_Reflection_Data.aqualv FStar_TypeChecker_NBETerm.embedding) = let embed_aqualv cb q = match q with - | FStar_Reflection_Data.Q_Explicit -> + | FStar_Reflection_Data.Q_Explicit -> mkConstruct FStar_Reflection_Data.ref_Q_Explicit.FStar_Reflection_Data.fv [] [] - | FStar_Reflection_Data.Q_Implicit -> + | FStar_Reflection_Data.Q_Implicit -> mkConstruct FStar_Reflection_Data.ref_Q_Implicit.FStar_Reflection_Data.fv [] [] | FStar_Reflection_Data.Q_Meta t -> let uu____504 = let uu____511 = - let uu____516 = FStar_TypeChecker_NBETerm.embed e_term cb t in - FStar_TypeChecker_NBETerm.as_arg uu____516 in - [uu____511] in + let uu____516 = FStar_TypeChecker_NBETerm.embed e_term cb t in + FStar_TypeChecker_NBETerm.as_arg uu____516 in + [uu____511] in mkConstruct FStar_Reflection_Data.ref_Q_Meta.FStar_Reflection_Data.fv - [] uu____504 in + [] uu____504 + in let unembed_aqualv cb t = match t with - | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + | FStar_TypeChecker_NBETerm.Construct (fv,[],[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Q_Explicit.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Q_Explicit - | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + | FStar_TypeChecker_NBETerm.Construct (fv,[],[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Q_Implicit.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Q_Implicit - | FStar_TypeChecker_NBETerm.Construct (fv, [], (t1, uu____568)::[]) when + | FStar_TypeChecker_NBETerm.Construct (fv,[],(t1,uu____568)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Q_Meta.FStar_Reflection_Data.lid -> - let uu____585 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + let uu____585 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Util.bind_opt uu____585 - (fun t2 -> + (fun t2 -> FStar_Pervasives_Native.Some (FStar_Reflection_Data.Q_Meta t2)) | uu____590 -> ((let uu____592 = let uu____598 = - let uu____600 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded aqualv: %s" uu____600 in - (FStar_Errors.Warning_NotEmbedded, uu____598) in + let uu____600 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded aqualv: %s" uu____600 in + (FStar_Errors.Warning_NotEmbedded, uu____598) in FStar_Errors.log_issue FStar_Range.dummyRange uu____592); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in let uu____604 = - mkConstruct FStar_Reflection_Data.fstar_refl_aqualv_fv [] [] in - let uu____609 = fv_as_emb_typ FStar_Reflection_Data.fstar_refl_aqualv_fv in + mkConstruct FStar_Reflection_Data.fstar_refl_aqualv_fv [] [] in + let uu____609 = fv_as_emb_typ FStar_Reflection_Data.fstar_refl_aqualv_fv + in FStar_TypeChecker_NBETerm.mk_emb embed_aqualv unembed_aqualv uu____604 uu____609 + let (e_binders : FStar_Syntax_Syntax.binders FStar_TypeChecker_NBETerm.embedding) = - FStar_TypeChecker_NBETerm.e_list e_binder + FStar_TypeChecker_NBETerm.e_list e_binder let (e_fv : FStar_Syntax_Syntax.fv FStar_TypeChecker_NBETerm.embedding) = let embed_fv cb fv = mk_lazy cb fv FStar_Reflection_Data.fstar_refl_fv - FStar_Syntax_Syntax.Lazy_fvar in + FStar_Syntax_Syntax.Lazy_fvar + in let unembed_fv cb t = match t with | FStar_TypeChecker_NBETerm.Lazy (FStar_Util.Inl { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_fvar; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_fvar ; FStar_Syntax_Syntax.ltyp = uu____643; - FStar_Syntax_Syntax.rng = uu____644;_}, - uu____645) + FStar_Syntax_Syntax.rng = uu____644;_},uu____645) -> - let uu____664 = FStar_Dyn.undyn b in + let uu____664 = FStar_Dyn.undyn b in FStar_Pervasives_Native.Some uu____664 | uu____665 -> ((let uu____667 = let uu____673 = - let uu____675 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded fvar: %s" uu____675 in - (FStar_Errors.Warning_NotEmbedded, uu____673) in + let uu____675 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded fvar: %s" uu____675 in + (FStar_Errors.Warning_NotEmbedded, uu____673) in FStar_Errors.log_issue FStar_Range.dummyRange uu____667); - FStar_Pervasives_Native.None) in - mk_emb' embed_fv unembed_fv FStar_Reflection_Data.fstar_refl_fv_fv + FStar_Pervasives_Native.None) + in + mk_emb' embed_fv unembed_fv FStar_Reflection_Data.fstar_refl_fv_fv let (e_comp : FStar_Syntax_Syntax.comp FStar_TypeChecker_NBETerm.embedding) = let embed_comp cb c = mk_lazy cb c FStar_Reflection_Data.fstar_refl_comp - FStar_Syntax_Syntax.Lazy_comp in + FStar_Syntax_Syntax.Lazy_comp + in let unembed_comp cb t = match t with | FStar_TypeChecker_NBETerm.Lazy (FStar_Util.Inl { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_comp; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_comp ; FStar_Syntax_Syntax.ltyp = uu____709; - FStar_Syntax_Syntax.rng = uu____710;_}, - uu____711) + FStar_Syntax_Syntax.rng = uu____710;_},uu____711) -> - let uu____730 = FStar_Dyn.undyn b in + let uu____730 = FStar_Dyn.undyn b in FStar_Pervasives_Native.Some uu____730 | uu____731 -> ((let uu____733 = let uu____739 = - let uu____741 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded comp: %s" uu____741 in - (FStar_Errors.Warning_NotEmbedded, uu____739) in + let uu____741 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded comp: %s" uu____741 in + (FStar_Errors.Warning_NotEmbedded, uu____739) in FStar_Errors.log_issue FStar_Range.dummyRange uu____733); - FStar_Pervasives_Native.None) in - mk_emb' embed_comp unembed_comp FStar_Reflection_Data.fstar_refl_comp_fv + FStar_Pervasives_Native.None) + in + mk_emb' embed_comp unembed_comp FStar_Reflection_Data.fstar_refl_comp_fv let (e_env : FStar_TypeChecker_Env.env FStar_TypeChecker_NBETerm.embedding) = let embed_env cb e = mk_lazy cb e FStar_Reflection_Data.fstar_refl_env - FStar_Syntax_Syntax.Lazy_env in + FStar_Syntax_Syntax.Lazy_env + in let unembed_env cb t = match t with | FStar_TypeChecker_NBETerm.Lazy (FStar_Util.Inl { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_env; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_env ; FStar_Syntax_Syntax.ltyp = uu____775; - FStar_Syntax_Syntax.rng = uu____776;_}, - uu____777) + FStar_Syntax_Syntax.rng = uu____776;_},uu____777) -> - let uu____796 = FStar_Dyn.undyn b in + let uu____796 = FStar_Dyn.undyn b in FStar_Pervasives_Native.Some uu____796 | uu____797 -> ((let uu____799 = let uu____805 = - let uu____807 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded env: %s" uu____807 in - (FStar_Errors.Warning_NotEmbedded, uu____805) in + let uu____807 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded env: %s" uu____807 in + (FStar_Errors.Warning_NotEmbedded, uu____805) in FStar_Errors.log_issue FStar_Range.dummyRange uu____799); - FStar_Pervasives_Native.None) in - mk_emb' embed_env unembed_env FStar_Reflection_Data.fstar_refl_env_fv + FStar_Pervasives_Native.None) + in + mk_emb' embed_env unembed_env FStar_Reflection_Data.fstar_refl_env_fv let (e_const : FStar_Reflection_Data.vconst FStar_TypeChecker_NBETerm.embedding) = let embed_const cb c = match c with - | FStar_Reflection_Data.C_Unit -> + | FStar_Reflection_Data.C_Unit -> mkConstruct FStar_Reflection_Data.ref_C_Unit.FStar_Reflection_Data.fv [] [] - | FStar_Reflection_Data.C_True -> + | FStar_Reflection_Data.C_True -> mkConstruct FStar_Reflection_Data.ref_C_True.FStar_Reflection_Data.fv [] [] - | FStar_Reflection_Data.C_False -> + | FStar_Reflection_Data.C_False -> mkConstruct FStar_Reflection_Data.ref_C_False.FStar_Reflection_Data.fv [] [] | FStar_Reflection_Data.C_Int i -> @@ -314,8 +334,9 @@ let (e_const : let uu____845 = FStar_TypeChecker_NBETerm.as_arg (FStar_TypeChecker_NBETerm.Constant - (FStar_TypeChecker_NBETerm.Int i)) in - [uu____845] in + (FStar_TypeChecker_NBETerm.Int i)) + in + [uu____845] in mkConstruct FStar_Reflection_Data.ref_C_Int.FStar_Reflection_Data.fv [] uu____838 | FStar_Reflection_Data.C_String s -> @@ -323,9 +344,10 @@ let (e_const : let uu____867 = let uu____872 = FStar_TypeChecker_NBETerm.embed - FStar_TypeChecker_NBETerm.e_string cb s in - FStar_TypeChecker_NBETerm.as_arg uu____872 in - [uu____867] in + FStar_TypeChecker_NBETerm.e_string cb s + in + FStar_TypeChecker_NBETerm.as_arg uu____872 in + [uu____867] in mkConstruct FStar_Reflection_Data.ref_C_String.FStar_Reflection_Data.fv [] uu____860 @@ -334,13 +356,14 @@ let (e_const : let uu____890 = let uu____895 = FStar_TypeChecker_NBETerm.embed - FStar_TypeChecker_NBETerm.e_range cb r in - FStar_TypeChecker_NBETerm.as_arg uu____895 in - [uu____890] in + FStar_TypeChecker_NBETerm.e_range cb r + in + FStar_TypeChecker_NBETerm.as_arg uu____895 in + [uu____890] in mkConstruct FStar_Reflection_Data.ref_C_Range.FStar_Reflection_Data.fv [] uu____883 - | FStar_Reflection_Data.C_Reify -> + | FStar_Reflection_Data.C_Reify -> mkConstruct FStar_Reflection_Data.ref_C_Reify.FStar_Reflection_Data.fv [] [] | FStar_Reflection_Data.C_Reflect ns -> @@ -348,353 +371,369 @@ let (e_const : let uu____916 = let uu____921 = FStar_TypeChecker_NBETerm.embed - FStar_TypeChecker_NBETerm.e_string_list cb ns in - FStar_TypeChecker_NBETerm.as_arg uu____921 in - [uu____916] in + FStar_TypeChecker_NBETerm.e_string_list cb ns + in + FStar_TypeChecker_NBETerm.as_arg uu____921 in + [uu____916] in mkConstruct FStar_Reflection_Data.ref_C_Reflect.FStar_Reflection_Data.fv [] - uu____909 in + uu____909 + in let unembed_const cb t = match t with - | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + | FStar_TypeChecker_NBETerm.Construct (fv,[],[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Unit.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_Unit - | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + | FStar_TypeChecker_NBETerm.Construct (fv,[],[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_True.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_True - | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + | FStar_TypeChecker_NBETerm.Construct (fv,[],[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_False.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_False - | FStar_TypeChecker_NBETerm.Construct (fv, [], (i, uu____989)::[]) when + | FStar_TypeChecker_NBETerm.Construct (fv,[],(i,uu____989)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Int.FStar_Reflection_Data.lid -> let uu____1006 = FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int - cb i in + cb i + in FStar_Util.bind_opt uu____1006 - (fun i1 -> + (fun i1 -> FStar_All.pipe_left - (fun _1013 -> FStar_Pervasives_Native.Some _1013) + (fun _1013 -> FStar_Pervasives_Native.Some _1013) (FStar_Reflection_Data.C_Int i1)) - | FStar_TypeChecker_NBETerm.Construct (fv, [], (s, uu____1016)::[]) when + | FStar_TypeChecker_NBETerm.Construct (fv,[],(s,uu____1016)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_String.FStar_Reflection_Data.lid -> let uu____1033 = FStar_TypeChecker_NBETerm.unembed - FStar_TypeChecker_NBETerm.e_string cb s in + FStar_TypeChecker_NBETerm.e_string cb s + in FStar_Util.bind_opt uu____1033 - (fun s1 -> + (fun s1 -> FStar_All.pipe_left - (fun _1044 -> FStar_Pervasives_Native.Some _1044) + (fun _1044 -> FStar_Pervasives_Native.Some _1044) (FStar_Reflection_Data.C_String s1)) - | FStar_TypeChecker_NBETerm.Construct (fv, [], (r, uu____1047)::[]) when + | FStar_TypeChecker_NBETerm.Construct (fv,[],(r,uu____1047)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Range.FStar_Reflection_Data.lid -> let uu____1064 = FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_range - cb r in + cb r + in FStar_Util.bind_opt uu____1064 - (fun r1 -> + (fun r1 -> FStar_All.pipe_left - (fun _1071 -> FStar_Pervasives_Native.Some _1071) + (fun _1071 -> FStar_Pervasives_Native.Some _1071) (FStar_Reflection_Data.C_Range r1)) - | FStar_TypeChecker_NBETerm.Construct (fv, [], []) when + | FStar_TypeChecker_NBETerm.Construct (fv,[],[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Reify.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.C_Reify - | FStar_TypeChecker_NBETerm.Construct (fv, [], (ns, uu____1087)::[]) when + | FStar_TypeChecker_NBETerm.Construct (fv,[],(ns,uu____1087)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Reflect.FStar_Reflection_Data.lid -> let uu____1104 = FStar_TypeChecker_NBETerm.unembed - FStar_TypeChecker_NBETerm.e_string_list cb ns in + FStar_TypeChecker_NBETerm.e_string_list cb ns + in FStar_Util.bind_opt uu____1104 - (fun ns1 -> + (fun ns1 -> FStar_All.pipe_left - (fun _1123 -> FStar_Pervasives_Native.Some _1123) + (fun _1123 -> FStar_Pervasives_Native.Some _1123) (FStar_Reflection_Data.C_Reflect ns1)) | uu____1124 -> ((let uu____1126 = let uu____1132 = - let uu____1134 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded vconst: %s" uu____1134 in - (FStar_Errors.Warning_NotEmbedded, uu____1132) in + let uu____1134 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded vconst: %s" uu____1134 in + (FStar_Errors.Warning_NotEmbedded, uu____1132) in FStar_Errors.log_issue FStar_Range.dummyRange uu____1126); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in mk_emb' embed_const unembed_const FStar_Reflection_Data.fstar_refl_vconst_fv + let rec (e_pattern' : unit -> FStar_Reflection_Data.pattern FStar_TypeChecker_NBETerm.embedding) = - fun uu____1145 -> + fun uu____1145 -> let embed_pattern cb p = match p with | FStar_Reflection_Data.Pat_Constant c -> let uu____1158 = let uu____1165 = - let uu____1170 = FStar_TypeChecker_NBETerm.embed e_const cb c in - FStar_TypeChecker_NBETerm.as_arg uu____1170 in - [uu____1165] in + let uu____1170 = FStar_TypeChecker_NBETerm.embed e_const cb c + in + FStar_TypeChecker_NBETerm.as_arg uu____1170 in + [uu____1165] in mkConstruct FStar_Reflection_Data.ref_Pat_Constant.FStar_Reflection_Data.fv [] uu____1158 - | FStar_Reflection_Data.Pat_Cons (fv, ps) -> + | FStar_Reflection_Data.Pat_Cons (fv,ps) -> let uu____1185 = let uu____1192 = - let uu____1197 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in - FStar_TypeChecker_NBETerm.as_arg uu____1197 in + let uu____1197 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in + FStar_TypeChecker_NBETerm.as_arg uu____1197 in let uu____1198 = let uu____1205 = let uu____1210 = let uu____1211 = - let uu____1216 = e_pattern' () in - FStar_TypeChecker_NBETerm.e_list uu____1216 in - FStar_TypeChecker_NBETerm.embed uu____1211 cb ps in - FStar_TypeChecker_NBETerm.as_arg uu____1210 in - [uu____1205] in - uu____1192 :: uu____1198 in + let uu____1216 = e_pattern' () in + FStar_TypeChecker_NBETerm.e_list uu____1216 in + FStar_TypeChecker_NBETerm.embed uu____1211 cb ps in + FStar_TypeChecker_NBETerm.as_arg uu____1210 in + [uu____1205] in + uu____1192 :: uu____1198 in mkConstruct FStar_Reflection_Data.ref_Pat_Cons.FStar_Reflection_Data.fv [] uu____1185 | FStar_Reflection_Data.Pat_Var bv -> let uu____1234 = let uu____1241 = - let uu____1246 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in - FStar_TypeChecker_NBETerm.as_arg uu____1246 in - [uu____1241] in + let uu____1246 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in + FStar_TypeChecker_NBETerm.as_arg uu____1246 in + [uu____1241] in mkConstruct FStar_Reflection_Data.ref_Pat_Var.FStar_Reflection_Data.fv [] uu____1234 | FStar_Reflection_Data.Pat_Wild bv -> let uu____1256 = let uu____1263 = - let uu____1268 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in - FStar_TypeChecker_NBETerm.as_arg uu____1268 in - [uu____1263] in + let uu____1268 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in + FStar_TypeChecker_NBETerm.as_arg uu____1268 in + [uu____1263] in mkConstruct FStar_Reflection_Data.ref_Pat_Wild.FStar_Reflection_Data.fv [] uu____1256 - | FStar_Reflection_Data.Pat_Dot_Term (bv, t) -> + | FStar_Reflection_Data.Pat_Dot_Term (bv,t) -> let uu____1279 = let uu____1286 = - let uu____1291 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in - FStar_TypeChecker_NBETerm.as_arg uu____1291 in + let uu____1291 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in + FStar_TypeChecker_NBETerm.as_arg uu____1291 in let uu____1292 = let uu____1299 = - let uu____1304 = FStar_TypeChecker_NBETerm.embed e_term cb t in - FStar_TypeChecker_NBETerm.as_arg uu____1304 in - [uu____1299] in - uu____1286 :: uu____1292 in + let uu____1304 = FStar_TypeChecker_NBETerm.embed e_term cb t + in + FStar_TypeChecker_NBETerm.as_arg uu____1304 in + [uu____1299] in + uu____1286 :: uu____1292 in mkConstruct FStar_Reflection_Data.ref_Pat_Dot_Term.FStar_Reflection_Data.fv - [] uu____1279 in + [] uu____1279 + in let unembed_pattern cb t = match t with - | FStar_TypeChecker_NBETerm.Construct (fv, [], (c, uu____1334)::[]) - when + | FStar_TypeChecker_NBETerm.Construct (fv,[],(c,uu____1334)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Pat_Constant.FStar_Reflection_Data.lid -> - let uu____1351 = FStar_TypeChecker_NBETerm.unembed e_const cb c in + let uu____1351 = FStar_TypeChecker_NBETerm.unembed e_const cb c in FStar_Util.bind_opt uu____1351 - (fun c1 -> + (fun c1 -> FStar_All.pipe_left - (fun _1358 -> FStar_Pervasives_Native.Some _1358) + (fun _1358 -> FStar_Pervasives_Native.Some _1358) (FStar_Reflection_Data.Pat_Constant c1)) | FStar_TypeChecker_NBETerm.Construct - (fv, [], (ps, uu____1361)::(f, uu____1363)::[]) when + (fv,[],(ps,uu____1361)::(f,uu____1363)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Pat_Cons.FStar_Reflection_Data.lid -> - let uu____1384 = FStar_TypeChecker_NBETerm.unembed e_fv cb f in + let uu____1384 = FStar_TypeChecker_NBETerm.unembed e_fv cb f in FStar_Util.bind_opt uu____1384 - (fun f1 -> + (fun f1 -> let uu____1390 = let uu____1395 = - let uu____1400 = e_pattern' () in - FStar_TypeChecker_NBETerm.e_list uu____1400 in - FStar_TypeChecker_NBETerm.unembed uu____1395 cb ps in + let uu____1400 = e_pattern' () in + FStar_TypeChecker_NBETerm.e_list uu____1400 in + FStar_TypeChecker_NBETerm.unembed uu____1395 cb ps in FStar_Util.bind_opt uu____1390 - (fun ps1 -> + (fun ps1 -> FStar_All.pipe_left - (fun _1413 -> FStar_Pervasives_Native.Some _1413) + (fun _1413 -> FStar_Pervasives_Native.Some _1413) (FStar_Reflection_Data.Pat_Cons (f1, ps1)))) - | FStar_TypeChecker_NBETerm.Construct (fv, [], (bv, uu____1418)::[]) - when + | FStar_TypeChecker_NBETerm.Construct (fv,[],(bv,uu____1418)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Pat_Var.FStar_Reflection_Data.lid -> - let uu____1435 = FStar_TypeChecker_NBETerm.unembed e_bv cb bv in + let uu____1435 = FStar_TypeChecker_NBETerm.unembed e_bv cb bv in FStar_Util.bind_opt uu____1435 - (fun bv1 -> + (fun bv1 -> FStar_All.pipe_left - (fun _1442 -> FStar_Pervasives_Native.Some _1442) + (fun _1442 -> FStar_Pervasives_Native.Some _1442) (FStar_Reflection_Data.Pat_Var bv1)) - | FStar_TypeChecker_NBETerm.Construct (fv, [], (bv, uu____1445)::[]) - when + | FStar_TypeChecker_NBETerm.Construct (fv,[],(bv,uu____1445)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Pat_Wild.FStar_Reflection_Data.lid -> - let uu____1462 = FStar_TypeChecker_NBETerm.unembed e_bv cb bv in + let uu____1462 = FStar_TypeChecker_NBETerm.unembed e_bv cb bv in FStar_Util.bind_opt uu____1462 - (fun bv1 -> + (fun bv1 -> FStar_All.pipe_left - (fun _1469 -> FStar_Pervasives_Native.Some _1469) + (fun _1469 -> FStar_Pervasives_Native.Some _1469) (FStar_Reflection_Data.Pat_Wild bv1)) | FStar_TypeChecker_NBETerm.Construct - (fv, [], (t1, uu____1472)::(bv, uu____1474)::[]) when + (fv,[],(t1,uu____1472)::(bv,uu____1474)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Pat_Dot_Term.FStar_Reflection_Data.lid -> - let uu____1495 = FStar_TypeChecker_NBETerm.unembed e_bv cb bv in + let uu____1495 = FStar_TypeChecker_NBETerm.unembed e_bv cb bv in FStar_Util.bind_opt uu____1495 - (fun bv1 -> + (fun bv1 -> let uu____1501 = - FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Util.bind_opt uu____1501 - (fun t2 -> + (fun t2 -> FStar_All.pipe_left - (fun _1508 -> FStar_Pervasives_Native.Some _1508) + (fun _1508 -> FStar_Pervasives_Native.Some _1508) (FStar_Reflection_Data.Pat_Dot_Term (bv1, t2)))) | uu____1509 -> ((let uu____1511 = let uu____1517 = - let uu____1519 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded pattern: %s" uu____1519 in - (FStar_Errors.Warning_NotEmbedded, uu____1517) in + let uu____1519 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded pattern: %s" uu____1519 + in + (FStar_Errors.Warning_NotEmbedded, uu____1517) in FStar_Errors.log_issue FStar_Range.dummyRange uu____1511); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in mk_emb' embed_pattern unembed_pattern FStar_Reflection_Data.fstar_refl_pattern_fv + let (e_pattern : FStar_Reflection_Data.pattern FStar_TypeChecker_NBETerm.embedding) = - e_pattern' () + e_pattern' () let (e_branch : FStar_Reflection_Data.branch FStar_TypeChecker_NBETerm.embedding) = - FStar_TypeChecker_NBETerm.e_tuple2 e_pattern e_term + FStar_TypeChecker_NBETerm.e_tuple2 e_pattern e_term let (e_argv : FStar_Reflection_Data.argv FStar_TypeChecker_NBETerm.embedding) - = FStar_TypeChecker_NBETerm.e_tuple2 e_term e_aqualv + = FStar_TypeChecker_NBETerm.e_tuple2 e_term e_aqualv let (e_branch_aq : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) Prims.list -> (FStar_Reflection_Data.pattern * FStar_Syntax_Syntax.term) FStar_TypeChecker_NBETerm.embedding) = - fun aq -> - let uu____1560 = e_term_aq aq in + fun aq -> + let uu____1560 = e_term_aq aq in FStar_TypeChecker_NBETerm.e_tuple2 e_pattern uu____1560 + let (e_argv_aq : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) Prims.list -> (FStar_Syntax_Syntax.term * FStar_Reflection_Data.aqualv) FStar_TypeChecker_NBETerm.embedding) = - fun aq -> - let uu____1591 = e_term_aq aq in + fun aq -> + let uu____1591 = e_term_aq aq in FStar_TypeChecker_NBETerm.e_tuple2 uu____1591 e_aqualv + let rec unlazy_as_t : 'Auu____1601 . FStar_Syntax_Syntax.lazy_kind -> FStar_TypeChecker_NBETerm.t -> 'Auu____1601 = - fun k -> - fun t -> + fun k -> + fun t -> match t with | FStar_TypeChecker_NBETerm.Lazy (FStar_Util.Inl { FStar_Syntax_Syntax.blob = v1; FStar_Syntax_Syntax.lkind = k'; FStar_Syntax_Syntax.ltyp = uu____1614; - FStar_Syntax_Syntax.rng = uu____1615;_}, - uu____1616) + FStar_Syntax_Syntax.rng = uu____1615;_},uu____1616) when FStar_Syntax_Util.eq_lazy_kind k k' -> FStar_Dyn.undyn v1 | uu____1635 -> failwith "Not a Lazy of the expected kind (NBE)" + let (e_term_view_aq : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) Prims.list -> FStar_Reflection_Data.term_view FStar_TypeChecker_NBETerm.embedding) = - fun aq -> + fun aq -> let embed_term_view cb tv = match tv with | FStar_Reflection_Data.Tv_FVar fv -> let uu____1673 = let uu____1680 = - let uu____1685 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in - FStar_TypeChecker_NBETerm.as_arg uu____1685 in - [uu____1680] in + let uu____1685 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in + FStar_TypeChecker_NBETerm.as_arg uu____1685 in + [uu____1680] in mkConstruct FStar_Reflection_Data.ref_Tv_FVar.FStar_Reflection_Data.fv [] uu____1673 | FStar_Reflection_Data.Tv_BVar bv -> let uu____1695 = let uu____1702 = - let uu____1707 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in - FStar_TypeChecker_NBETerm.as_arg uu____1707 in - [uu____1702] in + let uu____1707 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in + FStar_TypeChecker_NBETerm.as_arg uu____1707 in + [uu____1702] in mkConstruct FStar_Reflection_Data.ref_Tv_BVar.FStar_Reflection_Data.fv [] uu____1695 | FStar_Reflection_Data.Tv_Var bv -> let uu____1717 = let uu____1724 = - let uu____1729 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in - FStar_TypeChecker_NBETerm.as_arg uu____1729 in - [uu____1724] in + let uu____1729 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in + FStar_TypeChecker_NBETerm.as_arg uu____1729 in + [uu____1724] in mkConstruct FStar_Reflection_Data.ref_Tv_Var.FStar_Reflection_Data.fv [] uu____1717 - | FStar_Reflection_Data.Tv_App (hd1, a) -> + | FStar_Reflection_Data.Tv_App (hd1,a) -> let uu____1740 = let uu____1747 = let uu____1752 = - let uu____1753 = e_term_aq aq in - FStar_TypeChecker_NBETerm.embed uu____1753 cb hd1 in - FStar_TypeChecker_NBETerm.as_arg uu____1752 in + let uu____1753 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu____1753 cb hd1 in + FStar_TypeChecker_NBETerm.as_arg uu____1752 in let uu____1756 = let uu____1763 = let uu____1768 = - let uu____1769 = e_argv_aq aq in - FStar_TypeChecker_NBETerm.embed uu____1769 cb a in - FStar_TypeChecker_NBETerm.as_arg uu____1768 in - [uu____1763] in - uu____1747 :: uu____1756 in + let uu____1769 = e_argv_aq aq in + FStar_TypeChecker_NBETerm.embed uu____1769 cb a in + FStar_TypeChecker_NBETerm.as_arg uu____1768 in + [uu____1763] in + uu____1747 :: uu____1756 in mkConstruct FStar_Reflection_Data.ref_Tv_App.FStar_Reflection_Data.fv [] uu____1740 - | FStar_Reflection_Data.Tv_Abs (b, t) -> + | FStar_Reflection_Data.Tv_Abs (b,t) -> let uu____1794 = let uu____1801 = - let uu____1806 = FStar_TypeChecker_NBETerm.embed e_binder cb b in - FStar_TypeChecker_NBETerm.as_arg uu____1806 in + let uu____1806 = FStar_TypeChecker_NBETerm.embed e_binder cb b + in + FStar_TypeChecker_NBETerm.as_arg uu____1806 in let uu____1807 = let uu____1814 = let uu____1819 = - let uu____1820 = e_term_aq aq in - FStar_TypeChecker_NBETerm.embed uu____1820 cb t in - FStar_TypeChecker_NBETerm.as_arg uu____1819 in - [uu____1814] in - uu____1801 :: uu____1807 in + let uu____1820 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu____1820 cb t in + FStar_TypeChecker_NBETerm.as_arg uu____1819 in + [uu____1814] in + uu____1801 :: uu____1807 in mkConstruct FStar_Reflection_Data.ref_Tv_Abs.FStar_Reflection_Data.fv [] uu____1794 - | FStar_Reflection_Data.Tv_Arrow (b, c) -> + | FStar_Reflection_Data.Tv_Arrow (b,c) -> let uu____1837 = let uu____1844 = - let uu____1849 = FStar_TypeChecker_NBETerm.embed e_binder cb b in - FStar_TypeChecker_NBETerm.as_arg uu____1849 in + let uu____1849 = FStar_TypeChecker_NBETerm.embed e_binder cb b + in + FStar_TypeChecker_NBETerm.as_arg uu____1849 in let uu____1850 = let uu____1857 = - let uu____1862 = FStar_TypeChecker_NBETerm.embed e_comp cb c in - FStar_TypeChecker_NBETerm.as_arg uu____1862 in - [uu____1857] in - uu____1844 :: uu____1850 in + let uu____1862 = FStar_TypeChecker_NBETerm.embed e_comp cb c + in + FStar_TypeChecker_NBETerm.as_arg uu____1862 in + [uu____1857] in + uu____1844 :: uu____1850 in mkConstruct FStar_Reflection_Data.ref_Tv_Arrow.FStar_Reflection_Data.fv [] uu____1837 @@ -703,405 +742,424 @@ let (e_term_view_aq : let uu____1883 = let uu____1888 = FStar_TypeChecker_NBETerm.embed - FStar_TypeChecker_NBETerm.e_unit cb () in - FStar_TypeChecker_NBETerm.as_arg uu____1888 in - [uu____1883] in + FStar_TypeChecker_NBETerm.e_unit cb () + in + FStar_TypeChecker_NBETerm.as_arg uu____1888 in + [uu____1883] in mkConstruct FStar_Reflection_Data.ref_Tv_Type.FStar_Reflection_Data.fv [] uu____1876 - | FStar_Reflection_Data.Tv_Refine (bv, t) -> + | FStar_Reflection_Data.Tv_Refine (bv,t) -> let uu____1899 = let uu____1906 = - let uu____1911 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in - FStar_TypeChecker_NBETerm.as_arg uu____1911 in + let uu____1911 = FStar_TypeChecker_NBETerm.embed e_bv cb bv in + FStar_TypeChecker_NBETerm.as_arg uu____1911 in let uu____1912 = let uu____1919 = let uu____1924 = - let uu____1925 = e_term_aq aq in - FStar_TypeChecker_NBETerm.embed uu____1925 cb t in - FStar_TypeChecker_NBETerm.as_arg uu____1924 in - [uu____1919] in - uu____1906 :: uu____1912 in + let uu____1925 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu____1925 cb t in + FStar_TypeChecker_NBETerm.as_arg uu____1924 in + [uu____1919] in + uu____1906 :: uu____1912 in mkConstruct FStar_Reflection_Data.ref_Tv_Refine.FStar_Reflection_Data.fv [] uu____1899 | FStar_Reflection_Data.Tv_Const c -> let uu____1941 = let uu____1948 = - let uu____1953 = FStar_TypeChecker_NBETerm.embed e_const cb c in - FStar_TypeChecker_NBETerm.as_arg uu____1953 in - [uu____1948] in + let uu____1953 = FStar_TypeChecker_NBETerm.embed e_const cb c + in + FStar_TypeChecker_NBETerm.as_arg uu____1953 in + [uu____1948] in mkConstruct FStar_Reflection_Data.ref_Tv_Const.FStar_Reflection_Data.fv [] uu____1941 - | FStar_Reflection_Data.Tv_Uvar (u, d) -> + | FStar_Reflection_Data.Tv_Uvar (u,d) -> let uu____1964 = let uu____1971 = let uu____1976 = FStar_TypeChecker_NBETerm.embed - FStar_TypeChecker_NBETerm.e_int cb u in - FStar_TypeChecker_NBETerm.as_arg uu____1976 in + FStar_TypeChecker_NBETerm.e_int cb u + in + FStar_TypeChecker_NBETerm.as_arg uu____1976 in let uu____1977 = let uu____1984 = let uu____1989 = mk_lazy cb (u, d) FStar_Syntax_Util.t_ctx_uvar_and_sust - FStar_Syntax_Syntax.Lazy_uvar in - FStar_TypeChecker_NBETerm.as_arg uu____1989 in - [uu____1984] in - uu____1971 :: uu____1977 in + FStar_Syntax_Syntax.Lazy_uvar + in + FStar_TypeChecker_NBETerm.as_arg uu____1989 in + [uu____1984] in + uu____1971 :: uu____1977 in mkConstruct FStar_Reflection_Data.ref_Tv_Uvar.FStar_Reflection_Data.fv [] uu____1964 - | FStar_Reflection_Data.Tv_Let (r, b, t1, t2) -> + | FStar_Reflection_Data.Tv_Let (r,b,t1,t2) -> let uu____2012 = let uu____2019 = let uu____2024 = FStar_TypeChecker_NBETerm.embed - FStar_TypeChecker_NBETerm.e_bool cb r in - FStar_TypeChecker_NBETerm.as_arg uu____2024 in + FStar_TypeChecker_NBETerm.e_bool cb r + in + FStar_TypeChecker_NBETerm.as_arg uu____2024 in let uu____2026 = let uu____2033 = - let uu____2038 = FStar_TypeChecker_NBETerm.embed e_bv cb b in - FStar_TypeChecker_NBETerm.as_arg uu____2038 in + let uu____2038 = FStar_TypeChecker_NBETerm.embed e_bv cb b + in + FStar_TypeChecker_NBETerm.as_arg uu____2038 in let uu____2039 = let uu____2046 = let uu____2051 = - let uu____2052 = e_term_aq aq in - FStar_TypeChecker_NBETerm.embed uu____2052 cb t1 in - FStar_TypeChecker_NBETerm.as_arg uu____2051 in + let uu____2052 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu____2052 cb t1 in + FStar_TypeChecker_NBETerm.as_arg uu____2051 in let uu____2055 = let uu____2062 = let uu____2067 = - let uu____2068 = e_term_aq aq in - FStar_TypeChecker_NBETerm.embed uu____2068 cb t2 in - FStar_TypeChecker_NBETerm.as_arg uu____2067 in - [uu____2062] in - uu____2046 :: uu____2055 in - uu____2033 :: uu____2039 in - uu____2019 :: uu____2026 in + let uu____2068 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu____2068 cb t2 in + FStar_TypeChecker_NBETerm.as_arg uu____2067 in + [uu____2062] in + uu____2046 :: uu____2055 in + uu____2033 :: uu____2039 in + uu____2019 :: uu____2026 in mkConstruct FStar_Reflection_Data.ref_Tv_Let.FStar_Reflection_Data.fv [] uu____2012 - | FStar_Reflection_Data.Tv_Match (t, brs) -> + | FStar_Reflection_Data.Tv_Match (t,brs) -> let uu____2097 = let uu____2104 = let uu____2109 = - let uu____2110 = e_term_aq aq in - FStar_TypeChecker_NBETerm.embed uu____2110 cb t in - FStar_TypeChecker_NBETerm.as_arg uu____2109 in + let uu____2110 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu____2110 cb t in + FStar_TypeChecker_NBETerm.as_arg uu____2109 in let uu____2113 = let uu____2120 = let uu____2125 = let uu____2126 = - let uu____2135 = e_branch_aq aq in - FStar_TypeChecker_NBETerm.e_list uu____2135 in - FStar_TypeChecker_NBETerm.embed uu____2126 cb brs in - FStar_TypeChecker_NBETerm.as_arg uu____2125 in - [uu____2120] in - uu____2104 :: uu____2113 in + let uu____2135 = e_branch_aq aq in + FStar_TypeChecker_NBETerm.e_list uu____2135 in + FStar_TypeChecker_NBETerm.embed uu____2126 cb brs in + FStar_TypeChecker_NBETerm.as_arg uu____2125 in + [uu____2120] in + uu____2104 :: uu____2113 in mkConstruct FStar_Reflection_Data.ref_Tv_Match.FStar_Reflection_Data.fv [] uu____2097 - | FStar_Reflection_Data.Tv_AscribedT (e, t, tacopt) -> + | FStar_Reflection_Data.Tv_AscribedT (e,t,tacopt) -> let uu____2171 = let uu____2178 = let uu____2183 = - let uu____2184 = e_term_aq aq in - FStar_TypeChecker_NBETerm.embed uu____2184 cb e in - FStar_TypeChecker_NBETerm.as_arg uu____2183 in + let uu____2184 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu____2184 cb e in + FStar_TypeChecker_NBETerm.as_arg uu____2183 in let uu____2187 = let uu____2194 = let uu____2199 = - let uu____2200 = e_term_aq aq in - FStar_TypeChecker_NBETerm.embed uu____2200 cb t in - FStar_TypeChecker_NBETerm.as_arg uu____2199 in + let uu____2200 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu____2200 cb t in + FStar_TypeChecker_NBETerm.as_arg uu____2199 in let uu____2203 = let uu____2210 = let uu____2215 = let uu____2216 = - let uu____2221 = e_term_aq aq in - FStar_TypeChecker_NBETerm.e_option uu____2221 in - FStar_TypeChecker_NBETerm.embed uu____2216 cb tacopt in - FStar_TypeChecker_NBETerm.as_arg uu____2215 in - [uu____2210] in - uu____2194 :: uu____2203 in - uu____2178 :: uu____2187 in + let uu____2221 = e_term_aq aq in + FStar_TypeChecker_NBETerm.e_option uu____2221 in + FStar_TypeChecker_NBETerm.embed uu____2216 cb tacopt in + FStar_TypeChecker_NBETerm.as_arg uu____2215 in + [uu____2210] in + uu____2194 :: uu____2203 in + uu____2178 :: uu____2187 in mkConstruct FStar_Reflection_Data.ref_Tv_AscT.FStar_Reflection_Data.fv [] uu____2171 - | FStar_Reflection_Data.Tv_AscribedC (e, c, tacopt) -> + | FStar_Reflection_Data.Tv_AscribedC (e,c,tacopt) -> let uu____2249 = let uu____2256 = let uu____2261 = - let uu____2262 = e_term_aq aq in - FStar_TypeChecker_NBETerm.embed uu____2262 cb e in - FStar_TypeChecker_NBETerm.as_arg uu____2261 in + let uu____2262 = e_term_aq aq in + FStar_TypeChecker_NBETerm.embed uu____2262 cb e in + FStar_TypeChecker_NBETerm.as_arg uu____2261 in let uu____2265 = let uu____2272 = - let uu____2277 = FStar_TypeChecker_NBETerm.embed e_comp cb c in - FStar_TypeChecker_NBETerm.as_arg uu____2277 in + let uu____2277 = FStar_TypeChecker_NBETerm.embed e_comp cb c + in + FStar_TypeChecker_NBETerm.as_arg uu____2277 in let uu____2278 = let uu____2285 = let uu____2290 = let uu____2291 = - let uu____2296 = e_term_aq aq in - FStar_TypeChecker_NBETerm.e_option uu____2296 in - FStar_TypeChecker_NBETerm.embed uu____2291 cb tacopt in - FStar_TypeChecker_NBETerm.as_arg uu____2290 in - [uu____2285] in - uu____2272 :: uu____2278 in - uu____2256 :: uu____2265 in + let uu____2296 = e_term_aq aq in + FStar_TypeChecker_NBETerm.e_option uu____2296 in + FStar_TypeChecker_NBETerm.embed uu____2291 cb tacopt in + FStar_TypeChecker_NBETerm.as_arg uu____2290 in + [uu____2285] in + uu____2272 :: uu____2278 in + uu____2256 :: uu____2265 in mkConstruct FStar_Reflection_Data.ref_Tv_AscT.FStar_Reflection_Data.fv [] uu____2249 - | FStar_Reflection_Data.Tv_Unknown -> + | FStar_Reflection_Data.Tv_Unknown -> mkConstruct FStar_Reflection_Data.ref_Tv_Unknown.FStar_Reflection_Data.fv [] - [] in + [] + in let unembed_term_view cb t = match t with | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2337, (b, uu____2339)::[]) when + (fv,uu____2337,(b,uu____2339)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Var.FStar_Reflection_Data.lid -> - let uu____2358 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in + let uu____2358 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in FStar_Util.bind_opt uu____2358 - (fun b1 -> + (fun b1 -> FStar_All.pipe_left - (fun _2365 -> FStar_Pervasives_Native.Some _2365) + (fun _2365 -> FStar_Pervasives_Native.Some _2365) (FStar_Reflection_Data.Tv_Var b1)) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2367, (b, uu____2369)::[]) when + (fv,uu____2367,(b,uu____2369)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_BVar.FStar_Reflection_Data.lid -> - let uu____2388 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in + let uu____2388 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in FStar_Util.bind_opt uu____2388 - (fun b1 -> + (fun b1 -> FStar_All.pipe_left - (fun _2395 -> FStar_Pervasives_Native.Some _2395) + (fun _2395 -> FStar_Pervasives_Native.Some _2395) (FStar_Reflection_Data.Tv_BVar b1)) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2397, (f, uu____2399)::[]) when + (fv,uu____2397,(f,uu____2399)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_FVar.FStar_Reflection_Data.lid -> - let uu____2418 = FStar_TypeChecker_NBETerm.unembed e_fv cb f in + let uu____2418 = FStar_TypeChecker_NBETerm.unembed e_fv cb f in FStar_Util.bind_opt uu____2418 - (fun f1 -> + (fun f1 -> FStar_All.pipe_left - (fun _2425 -> FStar_Pervasives_Native.Some _2425) + (fun _2425 -> FStar_Pervasives_Native.Some _2425) (FStar_Reflection_Data.Tv_FVar f1)) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2427, (r, uu____2429)::(l, uu____2431)::[]) when + (fv,uu____2427,(r,uu____2429)::(l,uu____2431)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_App.FStar_Reflection_Data.lid -> - let uu____2454 = FStar_TypeChecker_NBETerm.unembed e_term cb l in + let uu____2454 = FStar_TypeChecker_NBETerm.unembed e_term cb l in FStar_Util.bind_opt uu____2454 - (fun l1 -> - let uu____2460 = FStar_TypeChecker_NBETerm.unembed e_argv cb r in + (fun l1 -> + let uu____2460 = FStar_TypeChecker_NBETerm.unembed e_argv cb r + in FStar_Util.bind_opt uu____2460 - (fun r1 -> + (fun r1 -> FStar_All.pipe_left - (fun _2467 -> FStar_Pervasives_Native.Some _2467) + (fun _2467 -> FStar_Pervasives_Native.Some _2467) (FStar_Reflection_Data.Tv_App (l1, r1)))) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2469, (t1, uu____2471)::(b, uu____2473)::[]) when + (fv,uu____2469,(t1,uu____2471)::(b,uu____2473)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Abs.FStar_Reflection_Data.lid -> - let uu____2496 = FStar_TypeChecker_NBETerm.unembed e_binder cb b in + let uu____2496 = FStar_TypeChecker_NBETerm.unembed e_binder cb b + in FStar_Util.bind_opt uu____2496 - (fun b1 -> + (fun b1 -> let uu____2502 = - FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Util.bind_opt uu____2502 - (fun t2 -> + (fun t2 -> FStar_All.pipe_left - (fun _2509 -> FStar_Pervasives_Native.Some _2509) + (fun _2509 -> FStar_Pervasives_Native.Some _2509) (FStar_Reflection_Data.Tv_Abs (b1, t2)))) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2511, (t1, uu____2513)::(b, uu____2515)::[]) when + (fv,uu____2511,(t1,uu____2513)::(b,uu____2515)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Arrow.FStar_Reflection_Data.lid -> - let uu____2538 = FStar_TypeChecker_NBETerm.unembed e_binder cb b in + let uu____2538 = FStar_TypeChecker_NBETerm.unembed e_binder cb b + in FStar_Util.bind_opt uu____2538 - (fun b1 -> + (fun b1 -> let uu____2544 = - FStar_TypeChecker_NBETerm.unembed e_comp cb t1 in + FStar_TypeChecker_NBETerm.unembed e_comp cb t1 in FStar_Util.bind_opt uu____2544 - (fun c -> + (fun c -> FStar_All.pipe_left - (fun _2551 -> FStar_Pervasives_Native.Some _2551) + (fun _2551 -> FStar_Pervasives_Native.Some _2551) (FStar_Reflection_Data.Tv_Arrow (b1, c)))) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2553, (u, uu____2555)::[]) when + (fv,uu____2553,(u,uu____2555)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Type.FStar_Reflection_Data.lid -> let uu____2574 = FStar_TypeChecker_NBETerm.unembed - FStar_TypeChecker_NBETerm.e_unit cb u in + FStar_TypeChecker_NBETerm.e_unit cb u + in FStar_Util.bind_opt uu____2574 - (fun u1 -> + (fun u1 -> FStar_All.pipe_left - (fun _2581 -> FStar_Pervasives_Native.Some _2581) + (fun _2581 -> FStar_Pervasives_Native.Some _2581) (FStar_Reflection_Data.Tv_Type ())) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2583, (t1, uu____2585)::(b, uu____2587)::[]) when + (fv,uu____2583,(t1,uu____2585)::(b,uu____2587)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Refine.FStar_Reflection_Data.lid -> - let uu____2610 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in + let uu____2610 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in FStar_Util.bind_opt uu____2610 - (fun b1 -> + (fun b1 -> let uu____2616 = - FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Util.bind_opt uu____2616 - (fun t2 -> + (fun t2 -> FStar_All.pipe_left - (fun _2623 -> FStar_Pervasives_Native.Some _2623) + (fun _2623 -> FStar_Pervasives_Native.Some _2623) (FStar_Reflection_Data.Tv_Refine (b1, t2)))) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2625, (c, uu____2627)::[]) when + (fv,uu____2625,(c,uu____2627)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Const.FStar_Reflection_Data.lid -> - let uu____2646 = FStar_TypeChecker_NBETerm.unembed e_const cb c in + let uu____2646 = FStar_TypeChecker_NBETerm.unembed e_const cb c in FStar_Util.bind_opt uu____2646 - (fun c1 -> + (fun c1 -> FStar_All.pipe_left - (fun _2653 -> FStar_Pervasives_Native.Some _2653) + (fun _2653 -> FStar_Pervasives_Native.Some _2653) (FStar_Reflection_Data.Tv_Const c1)) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2655, (l, uu____2657)::(u, uu____2659)::[]) when + (fv,uu____2655,(l,uu____2657)::(u,uu____2659)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Uvar.FStar_Reflection_Data.lid -> let uu____2682 = FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int - cb u in + cb u + in FStar_Util.bind_opt uu____2682 - (fun u1 -> - let ctx_u_s = unlazy_as_t FStar_Syntax_Syntax.Lazy_uvar l in + (fun u1 -> + let ctx_u_s = unlazy_as_t FStar_Syntax_Syntax.Lazy_uvar l in FStar_All.pipe_left - (fun _2691 -> FStar_Pervasives_Native.Some _2691) + (fun _2691 -> FStar_Pervasives_Native.Some _2691) (FStar_Reflection_Data.Tv_Uvar (u1, ctx_u_s))) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2693, - (t2, uu____2695)::(t1, uu____2697)::(b, uu____2699)::(r, - uu____2701)::[]) + (fv,uu____2693,(t2,uu____2695)::(t1,uu____2697)::(b,uu____2699):: + (r,uu____2701)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Let.FStar_Reflection_Data.lid -> let uu____2732 = FStar_TypeChecker_NBETerm.unembed - FStar_TypeChecker_NBETerm.e_bool cb r in + FStar_TypeChecker_NBETerm.e_bool cb r + in FStar_Util.bind_opt uu____2732 - (fun r1 -> - let uu____2742 = FStar_TypeChecker_NBETerm.unembed e_bv cb b in + (fun r1 -> + let uu____2742 = FStar_TypeChecker_NBETerm.unembed e_bv cb b + in FStar_Util.bind_opt uu____2742 - (fun b1 -> + (fun b1 -> let uu____2748 = - FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Util.bind_opt uu____2748 - (fun t11 -> + (fun t11 -> let uu____2754 = - FStar_TypeChecker_NBETerm.unembed e_term cb t2 in + FStar_TypeChecker_NBETerm.unembed e_term cb t2 in FStar_Util.bind_opt uu____2754 - (fun t21 -> + (fun t21 -> FStar_All.pipe_left - (fun _2761 -> + (fun _2761 -> FStar_Pervasives_Native.Some _2761) (FStar_Reflection_Data.Tv_Let (r1, b1, t11, t21)))))) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2764, (brs, uu____2766)::(t1, uu____2768)::[]) when + (fv,uu____2764,(brs,uu____2766)::(t1,uu____2768)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Match.FStar_Reflection_Data.lid -> - let uu____2791 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + let uu____2791 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Util.bind_opt uu____2791 - (fun t2 -> + (fun t2 -> let uu____2797 = - let uu____2802 = FStar_TypeChecker_NBETerm.e_list e_branch in - FStar_TypeChecker_NBETerm.unembed uu____2802 cb brs in + let uu____2802 = FStar_TypeChecker_NBETerm.e_list e_branch + in + FStar_TypeChecker_NBETerm.unembed uu____2802 cb brs in FStar_Util.bind_opt uu____2797 - (fun brs1 -> + (fun brs1 -> FStar_All.pipe_left - (fun _2817 -> FStar_Pervasives_Native.Some _2817) + (fun _2817 -> FStar_Pervasives_Native.Some _2817) (FStar_Reflection_Data.Tv_Match (t2, brs1)))) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2821, - (tacopt, uu____2823)::(t1, uu____2825)::(e, uu____2827)::[]) + (fv,uu____2821,(tacopt,uu____2823)::(t1,uu____2825)::(e,uu____2827)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_AscT.FStar_Reflection_Data.lid -> - let uu____2854 = FStar_TypeChecker_NBETerm.unembed e_term cb e in + let uu____2854 = FStar_TypeChecker_NBETerm.unembed e_term cb e in FStar_Util.bind_opt uu____2854 - (fun e1 -> + (fun e1 -> let uu____2860 = - FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Util.bind_opt uu____2860 - (fun t2 -> + (fun t2 -> let uu____2866 = let uu____2871 = - FStar_TypeChecker_NBETerm.e_option e_term in - FStar_TypeChecker_NBETerm.unembed uu____2871 cb tacopt in + FStar_TypeChecker_NBETerm.e_option e_term in + FStar_TypeChecker_NBETerm.unembed uu____2871 cb tacopt + in FStar_Util.bind_opt uu____2866 - (fun tacopt1 -> + (fun tacopt1 -> FStar_All.pipe_left - (fun _2886 -> FStar_Pervasives_Native.Some _2886) + (fun _2886 -> FStar_Pervasives_Native.Some _2886) (FStar_Reflection_Data.Tv_AscribedT (e1, t2, tacopt1))))) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____2890, - (tacopt, uu____2892)::(c, uu____2894)::(e, uu____2896)::[]) + (fv,uu____2890,(tacopt,uu____2892)::(c,uu____2894)::(e,uu____2896)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_AscC.FStar_Reflection_Data.lid -> - let uu____2923 = FStar_TypeChecker_NBETerm.unembed e_term cb e in + let uu____2923 = FStar_TypeChecker_NBETerm.unembed e_term cb e in FStar_Util.bind_opt uu____2923 - (fun e1 -> - let uu____2929 = FStar_TypeChecker_NBETerm.unembed e_comp cb c in + (fun e1 -> + let uu____2929 = FStar_TypeChecker_NBETerm.unembed e_comp cb c + in FStar_Util.bind_opt uu____2929 - (fun c1 -> + (fun c1 -> let uu____2935 = let uu____2940 = - FStar_TypeChecker_NBETerm.e_option e_term in - FStar_TypeChecker_NBETerm.unembed uu____2940 cb tacopt in + FStar_TypeChecker_NBETerm.e_option e_term in + FStar_TypeChecker_NBETerm.unembed uu____2940 cb tacopt + in FStar_Util.bind_opt uu____2935 - (fun tacopt1 -> + (fun tacopt1 -> FStar_All.pipe_left - (fun _2955 -> FStar_Pervasives_Native.Some _2955) + (fun _2955 -> FStar_Pervasives_Native.Some _2955) (FStar_Reflection_Data.Tv_AscribedC (e1, c1, tacopt1))))) - | FStar_TypeChecker_NBETerm.Construct (fv, uu____2959, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____2959,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Tv_Unknown.FStar_Reflection_Data.lid -> FStar_All.pipe_left - (fun _2976 -> FStar_Pervasives_Native.Some _2976) + (fun _2976 -> FStar_Pervasives_Native.Some _2976) FStar_Reflection_Data.Tv_Unknown | uu____2977 -> ((let uu____2979 = let uu____2985 = - let uu____2987 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded term_view: %s" uu____2987 in - (FStar_Errors.Warning_NotEmbedded, uu____2985) in + let uu____2987 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded term_view: %s" uu____2987 + in + (FStar_Errors.Warning_NotEmbedded, uu____2985) in FStar_Errors.log_issue FStar_Range.dummyRange uu____2979); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in mk_emb' embed_term_view unembed_term_view FStar_Reflection_Data.fstar_refl_term_view_fv + let (e_term_view : FStar_Reflection_Data.term_view FStar_TypeChecker_NBETerm.embedding) = - e_term_view_aq [] + e_term_view_aq [] let (e_bv_view : FStar_Reflection_Data.bv_view FStar_TypeChecker_NBETerm.embedding) = let embed_bv_view cb bvv = @@ -1109,50 +1167,55 @@ let (e_bv_view : let uu____3021 = let uu____3026 = FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_string - cb bvv.FStar_Reflection_Data.bv_ppname in - FStar_TypeChecker_NBETerm.as_arg uu____3026 in + cb bvv.FStar_Reflection_Data.bv_ppname + in + FStar_TypeChecker_NBETerm.as_arg uu____3026 in let uu____3028 = let uu____3035 = let uu____3040 = FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_int - cb bvv.FStar_Reflection_Data.bv_index in - FStar_TypeChecker_NBETerm.as_arg uu____3040 in + cb bvv.FStar_Reflection_Data.bv_index + in + FStar_TypeChecker_NBETerm.as_arg uu____3040 in let uu____3041 = let uu____3048 = let uu____3053 = FStar_TypeChecker_NBETerm.embed e_term cb - bvv.FStar_Reflection_Data.bv_sort in - FStar_TypeChecker_NBETerm.as_arg uu____3053 in - [uu____3048] in - uu____3035 :: uu____3041 in - uu____3021 :: uu____3028 in + bvv.FStar_Reflection_Data.bv_sort + in + FStar_TypeChecker_NBETerm.as_arg uu____3053 in + [uu____3048] in + uu____3035 :: uu____3041 in + uu____3021 :: uu____3028 in mkConstruct FStar_Reflection_Data.ref_Mk_bv.FStar_Reflection_Data.fv [] - uu____3014 in + uu____3014 + in let unembed_bv_view cb t = match t with | FStar_TypeChecker_NBETerm.Construct - (fv, uu____3086, - (s, uu____3088)::(idx, uu____3090)::(nm, uu____3092)::[]) + (fv,uu____3086,(s,uu____3088)::(idx,uu____3090)::(nm,uu____3092)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Mk_bv.FStar_Reflection_Data.lid -> let uu____3119 = FStar_TypeChecker_NBETerm.unembed - FStar_TypeChecker_NBETerm.e_string cb nm in + FStar_TypeChecker_NBETerm.e_string cb nm + in FStar_Util.bind_opt uu____3119 - (fun nm1 -> + (fun nm1 -> let uu____3129 = FStar_TypeChecker_NBETerm.unembed - FStar_TypeChecker_NBETerm.e_int cb idx in + FStar_TypeChecker_NBETerm.e_int cb idx + in FStar_Util.bind_opt uu____3129 - (fun idx1 -> + (fun idx1 -> let uu____3135 = - FStar_TypeChecker_NBETerm.unembed e_term cb s in + FStar_TypeChecker_NBETerm.unembed e_term cb s in FStar_Util.bind_opt uu____3135 - (fun s1 -> + (fun s1 -> FStar_All.pipe_left - (fun _3142 -> FStar_Pervasives_Native.Some _3142) + (fun _3142 -> FStar_Pervasives_Native.Some _3142) { FStar_Reflection_Data.bv_ppname = nm1; FStar_Reflection_Data.bv_index = idx1; @@ -1161,400 +1224,428 @@ let (e_bv_view : | uu____3143 -> ((let uu____3145 = let uu____3151 = - let uu____3153 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded bv_view: %s" uu____3153 in - (FStar_Errors.Warning_NotEmbedded, uu____3151) in + let uu____3153 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded bv_view: %s" uu____3153 in + (FStar_Errors.Warning_NotEmbedded, uu____3151) in FStar_Errors.log_issue FStar_Range.dummyRange uu____3145); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in mk_emb' embed_bv_view unembed_bv_view FStar_Reflection_Data.fstar_refl_bv_view_fv + let (e_comp_view : FStar_Reflection_Data.comp_view FStar_TypeChecker_NBETerm.embedding) = let embed_comp_view cb cv = match cv with - | FStar_Reflection_Data.C_Total (t, md) -> + | FStar_Reflection_Data.C_Total (t,md) -> let uu____3177 = let uu____3184 = - let uu____3189 = FStar_TypeChecker_NBETerm.embed e_term cb t in - FStar_TypeChecker_NBETerm.as_arg uu____3189 in + let uu____3189 = FStar_TypeChecker_NBETerm.embed e_term cb t in + FStar_TypeChecker_NBETerm.as_arg uu____3189 in let uu____3190 = let uu____3197 = let uu____3202 = - let uu____3203 = FStar_TypeChecker_NBETerm.e_option e_term in - FStar_TypeChecker_NBETerm.embed uu____3203 cb md in - FStar_TypeChecker_NBETerm.as_arg uu____3202 in - [uu____3197] in - uu____3184 :: uu____3190 in + let uu____3203 = FStar_TypeChecker_NBETerm.e_option e_term + in + FStar_TypeChecker_NBETerm.embed uu____3203 cb md in + FStar_TypeChecker_NBETerm.as_arg uu____3202 in + [uu____3197] in + uu____3184 :: uu____3190 in mkConstruct FStar_Reflection_Data.ref_C_Total.FStar_Reflection_Data.fv [] uu____3177 - | FStar_Reflection_Data.C_Lemma (pre, post) -> - let post1 = FStar_Syntax_Util.unthunk_lemma_post post in + | FStar_Reflection_Data.C_Lemma (pre,post) -> + let post1 = FStar_Syntax_Util.unthunk_lemma_post post in let uu____3227 = let uu____3234 = - let uu____3239 = FStar_TypeChecker_NBETerm.embed e_term cb pre in - FStar_TypeChecker_NBETerm.as_arg uu____3239 in + let uu____3239 = FStar_TypeChecker_NBETerm.embed e_term cb pre + in + FStar_TypeChecker_NBETerm.as_arg uu____3239 in let uu____3240 = let uu____3247 = let uu____3252 = - FStar_TypeChecker_NBETerm.embed e_term cb post1 in - FStar_TypeChecker_NBETerm.as_arg uu____3252 in - [uu____3247] in - uu____3234 :: uu____3240 in + FStar_TypeChecker_NBETerm.embed e_term cb post1 in + FStar_TypeChecker_NBETerm.as_arg uu____3252 in + [uu____3247] in + uu____3234 :: uu____3240 in mkConstruct FStar_Reflection_Data.ref_C_Lemma.FStar_Reflection_Data.fv [] uu____3227 - | FStar_Reflection_Data.C_Unknown -> + | FStar_Reflection_Data.C_Unknown -> mkConstruct - FStar_Reflection_Data.ref_C_Unknown.FStar_Reflection_Data.fv [] [] in + FStar_Reflection_Data.ref_C_Unknown.FStar_Reflection_Data.fv [] [] + in let unembed_comp_view cb t = match t with | FStar_TypeChecker_NBETerm.Construct - (fv, uu____3285, (md, uu____3287)::(t1, uu____3289)::[]) when + (fv,uu____3285,(md,uu____3287)::(t1,uu____3289)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Total.FStar_Reflection_Data.lid -> - let uu____3312 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + let uu____3312 = FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Util.bind_opt uu____3312 - (fun t2 -> + (fun t2 -> let uu____3318 = - let uu____3323 = FStar_TypeChecker_NBETerm.e_option e_term in - FStar_TypeChecker_NBETerm.unembed uu____3323 cb md in + let uu____3323 = FStar_TypeChecker_NBETerm.e_option e_term in + FStar_TypeChecker_NBETerm.unembed uu____3323 cb md in FStar_Util.bind_opt uu____3318 - (fun md1 -> + (fun md1 -> FStar_All.pipe_left - (fun _3338 -> FStar_Pervasives_Native.Some _3338) + (fun _3338 -> FStar_Pervasives_Native.Some _3338) (FStar_Reflection_Data.C_Total (t2, md1)))) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____3342, (post, uu____3344)::(pre, uu____3346)::[]) when + (fv,uu____3342,(post,uu____3344)::(pre,uu____3346)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Lemma.FStar_Reflection_Data.lid -> - let uu____3369 = FStar_TypeChecker_NBETerm.unembed e_term cb pre in + let uu____3369 = FStar_TypeChecker_NBETerm.unembed e_term cb pre in FStar_Util.bind_opt uu____3369 - (fun pre1 -> + (fun pre1 -> let uu____3375 = - FStar_TypeChecker_NBETerm.unembed e_term cb post in + FStar_TypeChecker_NBETerm.unembed e_term cb post in FStar_Util.bind_opt uu____3375 - (fun post1 -> + (fun post1 -> FStar_All.pipe_left - (fun _3382 -> FStar_Pervasives_Native.Some _3382) + (fun _3382 -> FStar_Pervasives_Native.Some _3382) (FStar_Reflection_Data.C_Lemma (pre1, post1)))) - | FStar_TypeChecker_NBETerm.Construct (fv, uu____3384, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____3384,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_C_Unknown.FStar_Reflection_Data.lid -> - FStar_All.pipe_left (fun _3401 -> FStar_Pervasives_Native.Some _3401) + FStar_All.pipe_left + (fun _3401 -> FStar_Pervasives_Native.Some _3401) FStar_Reflection_Data.C_Unknown | uu____3402 -> ((let uu____3404 = let uu____3410 = - let uu____3412 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded comp_view: %s" uu____3412 in - (FStar_Errors.Warning_NotEmbedded, uu____3410) in + let uu____3412 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded comp_view: %s" uu____3412 + in + (FStar_Errors.Warning_NotEmbedded, uu____3410) in FStar_Errors.log_issue FStar_Range.dummyRange uu____3404); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in mk_emb' embed_comp_view unembed_comp_view FStar_Reflection_Data.fstar_refl_comp_view_fv + let (e_order : FStar_Order.order FStar_TypeChecker_NBETerm.embedding) = let embed_order cb o = match o with - | FStar_Order.Lt -> mkConstruct FStar_Reflection_Data.ord_Lt_fv [] [] - | FStar_Order.Eq -> mkConstruct FStar_Reflection_Data.ord_Eq_fv [] [] - | FStar_Order.Gt -> mkConstruct FStar_Reflection_Data.ord_Gt_fv [] [] in + | FStar_Order.Lt -> mkConstruct FStar_Reflection_Data.ord_Lt_fv [] [] + | FStar_Order.Eq -> mkConstruct FStar_Reflection_Data.ord_Eq_fv [] [] + | FStar_Order.Gt -> mkConstruct FStar_Reflection_Data.ord_Gt_fv [] [] + in let unembed_order cb t = match t with - | FStar_TypeChecker_NBETerm.Construct (fv, uu____3458, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____3458,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ord_Lt_lid -> FStar_Pervasives_Native.Some FStar_Order.Lt - | FStar_TypeChecker_NBETerm.Construct (fv, uu____3474, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____3474,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ord_Eq_lid -> FStar_Pervasives_Native.Some FStar_Order.Eq - | FStar_TypeChecker_NBETerm.Construct (fv, uu____3490, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____3490,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ord_Gt_lid -> FStar_Pervasives_Native.Some FStar_Order.Gt | uu____3505 -> ((let uu____3507 = let uu____3513 = - let uu____3515 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded order: %s" uu____3515 in - (FStar_Errors.Warning_NotEmbedded, uu____3513) in + let uu____3515 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded order: %s" uu____3515 in + (FStar_Errors.Warning_NotEmbedded, uu____3513) in FStar_Errors.log_issue FStar_Range.dummyRange uu____3507); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in let uu____3519 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.order_lid - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in - mk_emb' embed_order unembed_order uu____3519 + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in + mk_emb' embed_order unembed_order uu____3519 let (e_sigelt : FStar_Syntax_Syntax.sigelt FStar_TypeChecker_NBETerm.embedding) = let embed_sigelt cb se = mk_lazy cb se FStar_Reflection_Data.fstar_refl_sigelt - FStar_Syntax_Syntax.Lazy_sigelt in + FStar_Syntax_Syntax.Lazy_sigelt + in let unembed_sigelt cb t = match t with | FStar_TypeChecker_NBETerm.Lazy (FStar_Util.Inl { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_sigelt; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_sigelt ; FStar_Syntax_Syntax.ltyp = uu____3550; - FStar_Syntax_Syntax.rng = uu____3551;_}, - uu____3552) + FStar_Syntax_Syntax.rng = uu____3551;_},uu____3552) -> - let uu____3571 = FStar_Dyn.undyn b in + let uu____3571 = FStar_Dyn.undyn b in FStar_Pervasives_Native.Some uu____3571 | uu____3572 -> ((let uu____3574 = let uu____3580 = - let uu____3582 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded sigelt: %s" uu____3582 in - (FStar_Errors.Warning_NotEmbedded, uu____3580) in + let uu____3582 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded sigelt: %s" uu____3582 in + (FStar_Errors.Warning_NotEmbedded, uu____3580) in FStar_Errors.log_issue FStar_Range.dummyRange uu____3574); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in mk_emb' embed_sigelt unembed_sigelt FStar_Reflection_Data.fstar_refl_sigelt_fv + let (e_ident : FStar_Ident.ident FStar_TypeChecker_NBETerm.embedding) = let repr = FStar_TypeChecker_NBETerm.e_tuple2 FStar_TypeChecker_NBETerm.e_range - FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.e_string + in let embed_ident cb i = let uu____3611 = - let uu____3617 = FStar_Ident.range_of_id i in - let uu____3618 = FStar_Ident.text_of_id i in (uu____3617, uu____3618) in - FStar_TypeChecker_NBETerm.embed repr cb uu____3611 in + let uu____3617 = FStar_Ident.range_of_id i in + let uu____3618 = FStar_Ident.text_of_id i in (uu____3617, uu____3618) + in + FStar_TypeChecker_NBETerm.embed repr cb uu____3611 in let unembed_ident cb t = - let uu____3641 = FStar_TypeChecker_NBETerm.unembed repr cb t in + let uu____3641 = FStar_TypeChecker_NBETerm.unembed repr cb t in match uu____3641 with - | FStar_Pervasives_Native.Some (rng, s) -> - let uu____3665 = FStar_Ident.mk_ident (s, rng) in + | FStar_Pervasives_Native.Some (rng,s) -> + let uu____3665 = FStar_Ident.mk_ident (s, rng) in FStar_Pervasives_Native.Some uu____3665 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in let range_fv = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.range_lid - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in let string_fv = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.string_lid - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in let et = let uu____3675 = let uu____3683 = - FStar_Ident.string_of_lid FStar_Parser_Const.lid_tuple2 in + FStar_Ident.string_of_lid FStar_Parser_Const.lid_tuple2 in let uu____3685 = - let uu____3688 = fv_as_emb_typ range_fv in + let uu____3688 = fv_as_emb_typ range_fv in let uu____3689 = - let uu____3692 = fv_as_emb_typ string_fv in [uu____3692] in - uu____3688 :: uu____3689 in - (uu____3683, uu____3685) in - FStar_Syntax_Syntax.ET_app uu____3675 in + let uu____3692 = fv_as_emb_typ string_fv in [uu____3692] in + uu____3688 :: uu____3689 in + (uu____3683, uu____3685) in + FStar_Syntax_Syntax.ET_app uu____3675 in let uu____3696 = let uu____3697 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.lid_tuple2 - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in let uu____3698 = let uu____3705 = - let uu____3710 = mkFV range_fv [] [] in - FStar_TypeChecker_NBETerm.as_arg uu____3710 in + let uu____3710 = mkFV range_fv [] [] in + FStar_TypeChecker_NBETerm.as_arg uu____3710 in let uu____3715 = let uu____3722 = - let uu____3727 = mkFV string_fv [] [] in - FStar_TypeChecker_NBETerm.as_arg uu____3727 in - [uu____3722] in - uu____3705 :: uu____3715 in + let uu____3727 = mkFV string_fv [] [] in + FStar_TypeChecker_NBETerm.as_arg uu____3727 in + [uu____3722] in + uu____3705 :: uu____3715 in mkFV uu____3697 [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] - uu____3698 in - FStar_TypeChecker_NBETerm.mk_emb embed_ident unembed_ident uu____3696 et + uu____3698 + in + FStar_TypeChecker_NBETerm.mk_emb embed_ident unembed_ident uu____3696 et let (e_univ_name : FStar_Syntax_Syntax.univ_name FStar_TypeChecker_NBETerm.embedding) = - e_ident + e_ident let (e_univ_names : FStar_Syntax_Syntax.univ_name Prims.list FStar_TypeChecker_NBETerm.embedding) - = FStar_TypeChecker_NBETerm.e_list e_univ_name + = FStar_TypeChecker_NBETerm.e_list e_univ_name let (e_string_list : Prims.string Prims.list FStar_TypeChecker_NBETerm.embedding) = - FStar_TypeChecker_NBETerm.e_list FStar_TypeChecker_NBETerm.e_string + FStar_TypeChecker_NBETerm.e_list FStar_TypeChecker_NBETerm.e_string let (e_sigelt_view : FStar_Reflection_Data.sigelt_view FStar_TypeChecker_NBETerm.embedding) = let embed_sigelt_view cb sev = match sev with - | FStar_Reflection_Data.Sg_Let (r, fv, univs1, ty, t) -> + | FStar_Reflection_Data.Sg_Let (r,fv,univs1,ty,t) -> let uu____3784 = let uu____3791 = let uu____3796 = FStar_TypeChecker_NBETerm.embed - FStar_TypeChecker_NBETerm.e_bool cb r in - FStar_TypeChecker_NBETerm.as_arg uu____3796 in + FStar_TypeChecker_NBETerm.e_bool cb r + in + FStar_TypeChecker_NBETerm.as_arg uu____3796 in let uu____3798 = let uu____3805 = - let uu____3810 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in - FStar_TypeChecker_NBETerm.as_arg uu____3810 in + let uu____3810 = FStar_TypeChecker_NBETerm.embed e_fv cb fv in + FStar_TypeChecker_NBETerm.as_arg uu____3810 in let uu____3811 = let uu____3818 = let uu____3823 = - FStar_TypeChecker_NBETerm.embed e_univ_names cb univs1 in - FStar_TypeChecker_NBETerm.as_arg uu____3823 in + FStar_TypeChecker_NBETerm.embed e_univ_names cb univs1 in + FStar_TypeChecker_NBETerm.as_arg uu____3823 in let uu____3826 = let uu____3833 = let uu____3838 = - FStar_TypeChecker_NBETerm.embed e_term cb ty in - FStar_TypeChecker_NBETerm.as_arg uu____3838 in + FStar_TypeChecker_NBETerm.embed e_term cb ty in + FStar_TypeChecker_NBETerm.as_arg uu____3838 in let uu____3839 = let uu____3846 = let uu____3851 = - FStar_TypeChecker_NBETerm.embed e_term cb t in - FStar_TypeChecker_NBETerm.as_arg uu____3851 in - [uu____3846] in - uu____3833 :: uu____3839 in - uu____3818 :: uu____3826 in - uu____3805 :: uu____3811 in - uu____3791 :: uu____3798 in + FStar_TypeChecker_NBETerm.embed e_term cb t in + FStar_TypeChecker_NBETerm.as_arg uu____3851 in + [uu____3846] in + uu____3833 :: uu____3839 in + uu____3818 :: uu____3826 in + uu____3805 :: uu____3811 in + uu____3791 :: uu____3798 in mkConstruct FStar_Reflection_Data.ref_Sg_Let.FStar_Reflection_Data.fv [] uu____3784 - | FStar_Reflection_Data.Sg_Constructor (nm, ty) -> + | FStar_Reflection_Data.Sg_Constructor (nm,ty) -> let uu____3878 = let uu____3885 = let uu____3890 = - FStar_TypeChecker_NBETerm.embed e_string_list cb nm in - FStar_TypeChecker_NBETerm.as_arg uu____3890 in + FStar_TypeChecker_NBETerm.embed e_string_list cb nm in + FStar_TypeChecker_NBETerm.as_arg uu____3890 in let uu____3894 = let uu____3901 = - let uu____3906 = FStar_TypeChecker_NBETerm.embed e_term cb ty in - FStar_TypeChecker_NBETerm.as_arg uu____3906 in - [uu____3901] in - uu____3885 :: uu____3894 in + let uu____3906 = FStar_TypeChecker_NBETerm.embed e_term cb ty + in + FStar_TypeChecker_NBETerm.as_arg uu____3906 in + [uu____3901] in + uu____3885 :: uu____3894 in mkConstruct FStar_Reflection_Data.ref_Sg_Constructor.FStar_Reflection_Data.fv [] uu____3878 - | FStar_Reflection_Data.Sg_Inductive (nm, univs1, bs, t, dcs) -> + | FStar_Reflection_Data.Sg_Inductive (nm,univs1,bs,t,dcs) -> let uu____3936 = let uu____3943 = let uu____3948 = - FStar_TypeChecker_NBETerm.embed e_string_list cb nm in - FStar_TypeChecker_NBETerm.as_arg uu____3948 in + FStar_TypeChecker_NBETerm.embed e_string_list cb nm in + FStar_TypeChecker_NBETerm.as_arg uu____3948 in let uu____3952 = let uu____3959 = let uu____3964 = - FStar_TypeChecker_NBETerm.embed e_univ_names cb univs1 in - FStar_TypeChecker_NBETerm.as_arg uu____3964 in + FStar_TypeChecker_NBETerm.embed e_univ_names cb univs1 in + FStar_TypeChecker_NBETerm.as_arg uu____3964 in let uu____3967 = let uu____3974 = let uu____3979 = - FStar_TypeChecker_NBETerm.embed e_binders cb bs in - FStar_TypeChecker_NBETerm.as_arg uu____3979 in + FStar_TypeChecker_NBETerm.embed e_binders cb bs in + FStar_TypeChecker_NBETerm.as_arg uu____3979 in let uu____3980 = let uu____3987 = let uu____3992 = - FStar_TypeChecker_NBETerm.embed e_term cb t in - FStar_TypeChecker_NBETerm.as_arg uu____3992 in + FStar_TypeChecker_NBETerm.embed e_term cb t in + FStar_TypeChecker_NBETerm.as_arg uu____3992 in let uu____3993 = let uu____4000 = let uu____4005 = let uu____4006 = - FStar_TypeChecker_NBETerm.e_list e_string_list in - FStar_TypeChecker_NBETerm.embed uu____4006 cb dcs in - FStar_TypeChecker_NBETerm.as_arg uu____4005 in - [uu____4000] in - uu____3987 :: uu____3993 in - uu____3974 :: uu____3980 in - uu____3959 :: uu____3967 in - uu____3943 :: uu____3952 in + FStar_TypeChecker_NBETerm.e_list e_string_list in + FStar_TypeChecker_NBETerm.embed uu____4006 cb dcs in + FStar_TypeChecker_NBETerm.as_arg uu____4005 in + [uu____4000] in + uu____3987 :: uu____3993 in + uu____3974 :: uu____3980 in + uu____3959 :: uu____3967 in + uu____3943 :: uu____3952 in mkConstruct FStar_Reflection_Data.ref_Sg_Inductive.FStar_Reflection_Data.fv [] uu____3936 - | FStar_Reflection_Data.Unk -> + | FStar_Reflection_Data.Unk -> mkConstruct FStar_Reflection_Data.ref_Unk.FStar_Reflection_Data.fv [] - [] in + [] + in let unembed_sigelt_view cb t = match t with | FStar_TypeChecker_NBETerm.Construct - (fv, uu____4066, - (dcs, uu____4068)::(t1, uu____4070)::(bs, uu____4072)::(us, - uu____4074):: - (nm, uu____4076)::[]) + (fv,uu____4066,(dcs,uu____4068)::(t1,uu____4070)::(bs,uu____4072):: + (us,uu____4074)::(nm,uu____4076)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Sg_Inductive.FStar_Reflection_Data.lid -> let uu____4111 = - FStar_TypeChecker_NBETerm.unembed e_string_list cb nm in + FStar_TypeChecker_NBETerm.unembed e_string_list cb nm in FStar_Util.bind_opt uu____4111 - (fun nm1 -> + (fun nm1 -> let uu____4129 = - FStar_TypeChecker_NBETerm.unembed e_univ_names cb us in + FStar_TypeChecker_NBETerm.unembed e_univ_names cb us in FStar_Util.bind_opt uu____4129 - (fun us1 -> + (fun us1 -> let uu____4143 = - FStar_TypeChecker_NBETerm.unembed e_binders cb bs in + FStar_TypeChecker_NBETerm.unembed e_binders cb bs in FStar_Util.bind_opt uu____4143 - (fun bs1 -> + (fun bs1 -> let uu____4149 = - FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_TypeChecker_NBETerm.unembed e_term cb t1 in FStar_Util.bind_opt uu____4149 - (fun t2 -> + (fun t2 -> let uu____4155 = let uu____4163 = FStar_TypeChecker_NBETerm.e_list - e_string_list in + e_string_list + in FStar_TypeChecker_NBETerm.unembed uu____4163 cb - dcs in + dcs + in FStar_Util.bind_opt uu____4155 - (fun dcs1 -> + (fun dcs1 -> FStar_All.pipe_left - (fun _4193 -> + (fun _4193 -> FStar_Pervasives_Native.Some _4193) (FStar_Reflection_Data.Sg_Inductive (nm1, us1, bs1, t2, dcs1))))))) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____4201, - (t1, uu____4203)::(ty, uu____4205)::(univs1, uu____4207)::(fvar1, - uu____4209):: - (r, uu____4211)::[]) + (fv,uu____4201,(t1,uu____4203)::(ty,uu____4205)::(univs1,uu____4207):: + (fvar1,uu____4209)::(r,uu____4211)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Sg_Let.FStar_Reflection_Data.lid -> let uu____4246 = FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_bool - cb r in + cb r + in FStar_Util.bind_opt uu____4246 - (fun r1 -> - let uu____4256 = FStar_TypeChecker_NBETerm.unembed e_fv cb fvar1 in + (fun r1 -> + let uu____4256 = FStar_TypeChecker_NBETerm.unembed e_fv cb fvar1 + in FStar_Util.bind_opt uu____4256 - (fun fvar2 -> + (fun fvar2 -> let uu____4262 = - FStar_TypeChecker_NBETerm.unembed e_univ_names cb univs1 in + FStar_TypeChecker_NBETerm.unembed e_univ_names cb univs1 + in FStar_Util.bind_opt uu____4262 - (fun univs2 -> + (fun univs2 -> let uu____4276 = - FStar_TypeChecker_NBETerm.unembed e_term cb ty in + FStar_TypeChecker_NBETerm.unembed e_term cb ty in FStar_Util.bind_opt uu____4276 - (fun ty1 -> + (fun ty1 -> let uu____4282 = - FStar_TypeChecker_NBETerm.unembed e_term cb t1 in + FStar_TypeChecker_NBETerm.unembed e_term cb t1 + in FStar_Util.bind_opt uu____4282 - (fun t2 -> + (fun t2 -> FStar_All.pipe_left - (fun _4289 -> + (fun _4289 -> FStar_Pervasives_Native.Some _4289) (FStar_Reflection_Data.Sg_Let (r1, fvar2, univs2, ty1, t2))))))) - | FStar_TypeChecker_NBETerm.Construct (fv, uu____4294, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____4294,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_Unk.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Unk | uu____4309 -> ((let uu____4311 = let uu____4317 = - let uu____4319 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded sigelt_view: %s" uu____4319 in - (FStar_Errors.Warning_NotEmbedded, uu____4317) in + let uu____4319 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded sigelt_view: %s" uu____4319 + in + (FStar_Errors.Warning_NotEmbedded, uu____4317) in FStar_Errors.log_issue FStar_Range.dummyRange uu____4311); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in mk_emb' embed_sigelt_view unembed_sigelt_view FStar_Reflection_Data.fstar_refl_sigelt_view_fv + let (e_exp : FStar_Reflection_Data.exp FStar_TypeChecker_NBETerm.embedding) = let rec embed_exp cb e = match e with - | FStar_Reflection_Data.Unit -> + | FStar_Reflection_Data.Unit -> mkConstruct FStar_Reflection_Data.ref_E_Unit.FStar_Reflection_Data.fv [] [] | FStar_Reflection_Data.Var i -> @@ -1562,71 +1653,75 @@ let (e_exp : FStar_Reflection_Data.exp FStar_TypeChecker_NBETerm.embedding) = let uu____4349 = FStar_TypeChecker_NBETerm.as_arg (FStar_TypeChecker_NBETerm.Constant - (FStar_TypeChecker_NBETerm.Int i)) in - [uu____4349] in + (FStar_TypeChecker_NBETerm.Int i)) + in + [uu____4349] in mkConstruct FStar_Reflection_Data.ref_E_Var.FStar_Reflection_Data.fv [] uu____4342 - | FStar_Reflection_Data.Mult (e1, e2) -> + | FStar_Reflection_Data.Mult (e1,e2) -> let uu____4364 = let uu____4371 = - let uu____4376 = embed_exp cb e1 in - FStar_TypeChecker_NBETerm.as_arg uu____4376 in + let uu____4376 = embed_exp cb e1 in + FStar_TypeChecker_NBETerm.as_arg uu____4376 in let uu____4377 = let uu____4384 = - let uu____4389 = embed_exp cb e2 in - FStar_TypeChecker_NBETerm.as_arg uu____4389 in - [uu____4384] in - uu____4371 :: uu____4377 in + let uu____4389 = embed_exp cb e2 in + FStar_TypeChecker_NBETerm.as_arg uu____4389 in + [uu____4384] in + uu____4371 :: uu____4377 in mkConstruct FStar_Reflection_Data.ref_E_Mult.FStar_Reflection_Data.fv - [] uu____4364 in + [] uu____4364 + in let rec unembed_exp cb t = match t with - | FStar_TypeChecker_NBETerm.Construct (fv, uu____4418, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____4418,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_E_Unit.FStar_Reflection_Data.lid -> FStar_Pervasives_Native.Some FStar_Reflection_Data.Unit - | FStar_TypeChecker_NBETerm.Construct - (fv, uu____4434, (i, uu____4436)::[]) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____4434,(i,uu____4436)::[]) + when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_E_Var.FStar_Reflection_Data.lid -> let uu____4455 = FStar_TypeChecker_NBETerm.unembed FStar_TypeChecker_NBETerm.e_int - cb i in + cb i + in FStar_Util.bind_opt uu____4455 - (fun i1 -> + (fun i1 -> FStar_All.pipe_left - (fun _4462 -> FStar_Pervasives_Native.Some _4462) + (fun _4462 -> FStar_Pervasives_Native.Some _4462) (FStar_Reflection_Data.Var i1)) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____4464, (e2, uu____4466)::(e1, uu____4468)::[]) when + (fv,uu____4464,(e2,uu____4466)::(e1,uu____4468)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Reflection_Data.ref_E_Mult.FStar_Reflection_Data.lid -> - let uu____4491 = unembed_exp cb e1 in + let uu____4491 = unembed_exp cb e1 in FStar_Util.bind_opt uu____4491 - (fun e11 -> - let uu____4497 = unembed_exp cb e2 in + (fun e11 -> + let uu____4497 = unembed_exp cb e2 in FStar_Util.bind_opt uu____4497 - (fun e21 -> + (fun e21 -> FStar_All.pipe_left - (fun _4504 -> FStar_Pervasives_Native.Some _4504) + (fun _4504 -> FStar_Pervasives_Native.Some _4504) (FStar_Reflection_Data.Mult (e11, e21)))) | uu____4505 -> ((let uu____4507 = let uu____4513 = - let uu____4515 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded exp: %s" uu____4515 in - (FStar_Errors.Warning_NotEmbedded, uu____4513) in + let uu____4515 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded exp: %s" uu____4515 in + (FStar_Errors.Warning_NotEmbedded, uu____4513) in FStar_Errors.log_issue FStar_Range.dummyRange uu____4507); - FStar_Pervasives_Native.None) in - mk_emb' embed_exp unembed_exp FStar_Reflection_Data.fstar_refl_exp_fv + FStar_Pervasives_Native.None) + in + mk_emb' embed_exp unembed_exp FStar_Reflection_Data.fstar_refl_exp_fv let (e_binder_view : FStar_Reflection_Data.binder_view FStar_TypeChecker_NBETerm.embedding) = - FStar_TypeChecker_NBETerm.e_tuple2 e_bv e_aqualv + FStar_TypeChecker_NBETerm.e_tuple2 e_bv e_aqualv let (e_attribute : - FStar_Syntax_Syntax.attribute FStar_TypeChecker_NBETerm.embedding) = e_term + FStar_Syntax_Syntax.attribute FStar_TypeChecker_NBETerm.embedding) = e_term let (e_attributes : FStar_Syntax_Syntax.attribute Prims.list FStar_TypeChecker_NBETerm.embedding) - = FStar_TypeChecker_NBETerm.e_list e_attribute \ No newline at end of file + = FStar_TypeChecker_NBETerm.e_list e_attribute \ No newline at end of file diff --git a/src/ocaml-output/FStar_SMTEncoding_Encode.ml b/src/ocaml-output/FStar_SMTEncoding_Encode.ml index aa563119c6e..67a779547b3 100644 --- a/src/ocaml-output/FStar_SMTEncoding_Encode.ml +++ b/src/ocaml-output/FStar_SMTEncoding_Encode.ml @@ -3,17 +3,18 @@ let (norm_before_encoding : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun t -> + fun env -> + fun t -> let steps = [FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.Simplify; FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.AllowUnboundUniverses; FStar_TypeChecker_Env.EraseUniverses; - FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta] in + FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta] in FStar_TypeChecker_Normalize.normalize steps env.FStar_SMTEncoding_Env.tcenv t + type prims_t = { mk: @@ -29,639 +30,839 @@ let (__proj__Mkprims_t__item__mk : Prims.string -> (FStar_SMTEncoding_Term.term * Prims.int * FStar_SMTEncoding_Term.decl Prims.list)) - = fun projectee -> match projectee with | { mk = mk1; is;_} -> mk1 + = fun projectee -> match projectee with | { mk = mk1; is;_} -> mk1 let (__proj__Mkprims_t__item__is : prims_t -> FStar_Ident.lident -> Prims.bool) = - fun projectee -> match projectee with | { mk = mk1; is;_} -> is + fun projectee -> match projectee with | { mk = mk1; is;_} -> is let (prims : prims_t) = - let module_name = "Prims" in + let module_name = "Prims" in let uu____154 = FStar_SMTEncoding_Env.fresh_fvar module_name "a" - FStar_SMTEncoding_Term.Term_sort in + FStar_SMTEncoding_Term.Term_sort + in match uu____154 with - | (asym, a) -> + | (asym,a) -> let uu____165 = FStar_SMTEncoding_Env.fresh_fvar module_name "x" - FStar_SMTEncoding_Term.Term_sort in + FStar_SMTEncoding_Term.Term_sort + in (match uu____165 with - | (xsym, x) -> + | (xsym,x) -> let uu____176 = FStar_SMTEncoding_Env.fresh_fvar module_name "y" - FStar_SMTEncoding_Term.Term_sort in + FStar_SMTEncoding_Term.Term_sort + in (match uu____176 with - | (ysym, y) -> + | (ysym,y) -> let quant vars body rng x1 = let xname_decl = let uu____254 = let uu____266 = FStar_All.pipe_right vars - (FStar_List.map FStar_SMTEncoding_Term.fv_sort) in + (FStar_List.map FStar_SMTEncoding_Term.fv_sort) + in (x1, uu____266, FStar_SMTEncoding_Term.Term_sort, - FStar_Pervasives_Native.None) in - FStar_SMTEncoding_Term.DeclFun uu____254 in - let xtok = Prims.op_Hat x1 "@tok" in + FStar_Pervasives_Native.None) + in + FStar_SMTEncoding_Term.DeclFun uu____254 in + let xtok = Prims.op_Hat x1 "@tok" in let xtok_decl = FStar_SMTEncoding_Term.DeclFun (xtok, [], FStar_SMTEncoding_Term.Term_sort, - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in let xapp = let uu____286 = let uu____294 = - FStar_List.map FStar_SMTEncoding_Util.mkFreeV vars in - (x1, uu____294) in - FStar_SMTEncoding_Util.mkApp uu____286 in - let xtok1 = FStar_SMTEncoding_Util.mkApp (xtok, []) in + FStar_List.map FStar_SMTEncoding_Util.mkFreeV vars + in + (x1, uu____294) in + FStar_SMTEncoding_Util.mkApp uu____286 in + let xtok1 = FStar_SMTEncoding_Util.mkApp (xtok, []) in let xtok_app = - FStar_SMTEncoding_EncodeTerm.mk_Apply xtok1 vars in - let uu____313 = - let uu____316 = - let uu____319 = - let uu____322 = - let uu____323 = - let uu____331 = - let uu____332 = - let uu____343 = - FStar_SMTEncoding_Util.mkEq (xapp, body) in - ([[xapp]], vars, uu____343) in - FStar_SMTEncoding_Term.mkForall rng uu____332 in - (uu____331, FStar_Pervasives_Native.None, - (Prims.op_Hat "primitive_" x1)) in - FStar_SMTEncoding_Util.mkAssume uu____323 in - let uu____355 = - let uu____358 = - let uu____359 = - let uu____367 = - let uu____368 = - let uu____379 = - FStar_SMTEncoding_Util.mkEq - (xtok_app, xapp) in - ([[xtok_app]], vars, uu____379) in - FStar_SMTEncoding_Term.mkForall rng uu____368 in - (uu____367, - (FStar_Pervasives_Native.Some - "Name-token correspondence"), - (Prims.op_Hat "token_correspondence_" x1)) in - FStar_SMTEncoding_Util.mkAssume uu____359 in - [uu____358] in - uu____322 :: uu____355 in - xtok_decl :: uu____319 in - xname_decl :: uu____316 in - (xtok1, (FStar_List.length vars), uu____313) in + FStar_SMTEncoding_EncodeTerm.mk_Apply xtok1 vars in + let tot_fun_axioms = + let all_vars_but_one = + FStar_All.pipe_right (FStar_Util.prefix vars) + FStar_Pervasives_Native.fst + in + let axiom_name = Prims.op_Hat "primitive_tot_fun_" x1 in + let tot_fun_axiom_for_x = + let uu____389 = + let uu____397 = + FStar_SMTEncoding_Term.mk_IsTotFun xtok1 in + (uu____397, FStar_Pervasives_Native.None, axiom_name) + in + FStar_SMTEncoding_Util.mkAssume uu____389 in + let uu____400 = + FStar_List.fold_left + (fun uu____454 -> + fun var -> + match uu____454 with + | (axioms,app,vars1) -> + let app1 = + FStar_SMTEncoding_EncodeTerm.mk_Apply app + [var] + in + let vars2 = FStar_List.append vars1 [var] + in + let axiom_name1 = + let uu____581 = + let uu____583 = + let uu____585 = + FStar_All.pipe_right vars2 + FStar_List.length + in + Prims.string_of_int uu____585 in + Prims.op_Hat "." uu____583 in + Prims.op_Hat axiom_name uu____581 in + let uu____607 = + let uu____610 = + let uu____613 = + let uu____614 = + let uu____622 = + let uu____623 = + let uu____634 = + FStar_SMTEncoding_Term.mk_IsTotFun + app1 + in + ([[app1]], vars2, uu____634) in + FStar_SMTEncoding_Term.mkForall + rng uu____623 + in + (uu____622, + FStar_Pervasives_Native.None, + axiom_name1) + in + FStar_SMTEncoding_Util.mkAssume + uu____614 + in + [uu____613] in + FStar_List.append axioms uu____610 in + (uu____607, app1, vars2)) + ([tot_fun_axiom_for_x], xtok1, []) all_vars_but_one + in + match uu____400 with + | (axioms,uu____680,uu____681) -> axioms in + let uu____706 = + let uu____709 = + let uu____712 = + let uu____715 = + let uu____718 = + let uu____719 = + let uu____727 = + let uu____728 = + let uu____739 = + FStar_SMTEncoding_Util.mkEq (xapp, body) + in + ([[xapp]], vars, uu____739) in + FStar_SMTEncoding_Term.mkForall rng uu____728 + in + (uu____727, FStar_Pervasives_Native.None, + (Prims.op_Hat "primitive_" x1)) + in + FStar_SMTEncoding_Util.mkAssume uu____719 in + [uu____718] in + xtok_decl :: uu____715 in + xname_decl :: uu____712 in + let uu____751 = + let uu____754 = + let uu____757 = + let uu____758 = + let uu____766 = + let uu____767 = + let uu____778 = + FStar_SMTEncoding_Util.mkEq + (xtok_app, xapp) + in + ([[xtok_app]], vars, uu____778) in + FStar_SMTEncoding_Term.mkForall rng uu____767 + in + (uu____766, + (FStar_Pervasives_Native.Some + "Name-token correspondence"), + (Prims.op_Hat "token_correspondence_" x1)) + in + FStar_SMTEncoding_Util.mkAssume uu____758 in + [uu____757] in + FStar_List.append tot_fun_axioms uu____754 in + FStar_List.append uu____709 uu____751 in + (xtok1, (FStar_List.length vars), uu____706) in let axy = FStar_List.map FStar_SMTEncoding_Term.mk_fv [(asym, FStar_SMTEncoding_Term.Term_sort); (xsym, FStar_SMTEncoding_Term.Term_sort); - (ysym, FStar_SMTEncoding_Term.Term_sort)] in + (ysym, FStar_SMTEncoding_Term.Term_sort)] + in let xy = FStar_List.map FStar_SMTEncoding_Term.mk_fv [(xsym, FStar_SMTEncoding_Term.Term_sort); - (ysym, FStar_SMTEncoding_Term.Term_sort)] in + (ysym, FStar_SMTEncoding_Term.Term_sort)] + in let qx = FStar_List.map FStar_SMTEncoding_Term.mk_fv - [(xsym, FStar_SMTEncoding_Term.Term_sort)] in + [(xsym, FStar_SMTEncoding_Term.Term_sort)] + in let prims1 = - let uu____549 = - let uu____570 = - let uu____589 = - let uu____590 = FStar_SMTEncoding_Util.mkEq (x, y) in + let uu____948 = + let uu____969 = + let uu____988 = + let uu____989 = FStar_SMTEncoding_Util.mkEq (x, y) + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxBool - uu____590 in - quant axy uu____589 in - (FStar_Parser_Const.op_Eq, uu____570) in - let uu____607 = - let uu____630 = - let uu____651 = - let uu____670 = - let uu____671 = - let uu____672 = - FStar_SMTEncoding_Util.mkEq (x, y) in - FStar_SMTEncoding_Util.mkNot uu____672 in + uu____989 + in + quant axy uu____988 in + (FStar_Parser_Const.op_Eq, uu____969) in + let uu____1006 = + let uu____1029 = + let uu____1050 = + let uu____1069 = + let uu____1070 = + let uu____1071 = + FStar_SMTEncoding_Util.mkEq (x, y) in + FStar_SMTEncoding_Util.mkNot uu____1071 in FStar_All.pipe_left FStar_SMTEncoding_Term.boxBool - uu____671 in - quant axy uu____670 in - (FStar_Parser_Const.op_notEq, uu____651) in - let uu____689 = - let uu____712 = - let uu____733 = - let uu____752 = - let uu____753 = - let uu____754 = - let uu____759 = - FStar_SMTEncoding_Term.unboxBool x in - let uu____760 = - FStar_SMTEncoding_Term.unboxBool y in - (uu____759, uu____760) in - FStar_SMTEncoding_Util.mkAnd uu____754 in + uu____1070 + in + quant axy uu____1069 in + (FStar_Parser_Const.op_notEq, uu____1050) in + let uu____1088 = + let uu____1111 = + let uu____1132 = + let uu____1151 = + let uu____1152 = + let uu____1153 = + let uu____1158 = + FStar_SMTEncoding_Term.unboxBool x in + let uu____1159 = + FStar_SMTEncoding_Term.unboxBool y in + (uu____1158, uu____1159) in + FStar_SMTEncoding_Util.mkAnd uu____1153 in FStar_All.pipe_left - FStar_SMTEncoding_Term.boxBool uu____753 in - quant xy uu____752 in - (FStar_Parser_Const.op_And, uu____733) in - let uu____777 = - let uu____800 = - let uu____821 = - let uu____840 = - let uu____841 = - let uu____842 = - let uu____847 = - FStar_SMTEncoding_Term.unboxBool x in - let uu____848 = - FStar_SMTEncoding_Term.unboxBool y in - (uu____847, uu____848) in - FStar_SMTEncoding_Util.mkOr uu____842 in + FStar_SMTEncoding_Term.boxBool uu____1152 + in + quant xy uu____1151 in + (FStar_Parser_Const.op_And, uu____1132) in + let uu____1176 = + let uu____1199 = + let uu____1220 = + let uu____1239 = + let uu____1240 = + let uu____1241 = + let uu____1246 = + FStar_SMTEncoding_Term.unboxBool x in + let uu____1247 = + FStar_SMTEncoding_Term.unboxBool y in + (uu____1246, uu____1247) in + FStar_SMTEncoding_Util.mkOr uu____1241 in FStar_All.pipe_left - FStar_SMTEncoding_Term.boxBool uu____841 in - quant xy uu____840 in - (FStar_Parser_Const.op_Or, uu____821) in - let uu____865 = - let uu____888 = - let uu____909 = - let uu____928 = - let uu____929 = - let uu____930 = - FStar_SMTEncoding_Term.unboxBool x in - FStar_SMTEncoding_Util.mkNot uu____930 in + FStar_SMTEncoding_Term.boxBool uu____1240 + in + quant xy uu____1239 in + (FStar_Parser_Const.op_Or, uu____1220) in + let uu____1264 = + let uu____1287 = + let uu____1308 = + let uu____1327 = + let uu____1328 = + let uu____1329 = + FStar_SMTEncoding_Term.unboxBool x in + FStar_SMTEncoding_Util.mkNot uu____1329 in FStar_All.pipe_left - FStar_SMTEncoding_Term.boxBool uu____929 in - quant qx uu____928 in - (FStar_Parser_Const.op_Negation, uu____909) in - let uu____947 = - let uu____970 = - let uu____991 = - let uu____1010 = - let uu____1011 = - let uu____1012 = - let uu____1017 = - FStar_SMTEncoding_Term.unboxInt x in - let uu____1018 = - FStar_SMTEncoding_Term.unboxInt y in - (uu____1017, uu____1018) in - FStar_SMTEncoding_Util.mkLT uu____1012 in + FStar_SMTEncoding_Term.boxBool uu____1328 + in + quant qx uu____1327 in + (FStar_Parser_Const.op_Negation, uu____1308) in + let uu____1346 = + let uu____1369 = + let uu____1390 = + let uu____1409 = + let uu____1410 = + let uu____1411 = + let uu____1416 = + FStar_SMTEncoding_Term.unboxInt x in + let uu____1417 = + FStar_SMTEncoding_Term.unboxInt y in + (uu____1416, uu____1417) in + FStar_SMTEncoding_Util.mkLT uu____1411 + in FStar_All.pipe_left - FStar_SMTEncoding_Term.boxBool uu____1011 in - quant xy uu____1010 in - (FStar_Parser_Const.op_LT, uu____991) in - let uu____1035 = - let uu____1058 = - let uu____1079 = - let uu____1098 = - let uu____1099 = - let uu____1100 = - let uu____1105 = - FStar_SMTEncoding_Term.unboxInt x in - let uu____1106 = - FStar_SMTEncoding_Term.unboxInt y in - (uu____1105, uu____1106) in - FStar_SMTEncoding_Util.mkLTE uu____1100 in + FStar_SMTEncoding_Term.boxBool uu____1410 + in + quant xy uu____1409 in + (FStar_Parser_Const.op_LT, uu____1390) in + let uu____1434 = + let uu____1457 = + let uu____1478 = + let uu____1497 = + let uu____1498 = + let uu____1499 = + let uu____1504 = + FStar_SMTEncoding_Term.unboxInt x + in + let uu____1505 = + FStar_SMTEncoding_Term.unboxInt y + in + (uu____1504, uu____1505) in + FStar_SMTEncoding_Util.mkLTE uu____1499 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxBool - uu____1099 in - quant xy uu____1098 in - (FStar_Parser_Const.op_LTE, uu____1079) in - let uu____1123 = - let uu____1146 = - let uu____1167 = - let uu____1186 = - let uu____1187 = - let uu____1188 = - let uu____1193 = - FStar_SMTEncoding_Term.unboxInt x in - let uu____1194 = - FStar_SMTEncoding_Term.unboxInt y in - (uu____1193, uu____1194) in + uu____1498 + in + quant xy uu____1497 in + (FStar_Parser_Const.op_LTE, uu____1478) in + let uu____1522 = + let uu____1545 = + let uu____1566 = + let uu____1585 = + let uu____1586 = + let uu____1587 = + let uu____1592 = + FStar_SMTEncoding_Term.unboxInt x + in + let uu____1593 = + FStar_SMTEncoding_Term.unboxInt y + in + (uu____1592, uu____1593) in FStar_SMTEncoding_Util.mkGT - uu____1188 in + uu____1587 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxBool - uu____1187 in - quant xy uu____1186 in - (FStar_Parser_Const.op_GT, uu____1167) in - let uu____1211 = - let uu____1234 = - let uu____1255 = - let uu____1274 = - let uu____1275 = - let uu____1276 = - let uu____1281 = + uu____1586 + in + quant xy uu____1585 in + (FStar_Parser_Const.op_GT, uu____1566) in + let uu____1610 = + let uu____1633 = + let uu____1654 = + let uu____1673 = + let uu____1674 = + let uu____1675 = + let uu____1680 = FStar_SMTEncoding_Term.unboxInt - x in - let uu____1282 = + x + in + let uu____1681 = FStar_SMTEncoding_Term.unboxInt - y in - (uu____1281, uu____1282) in + y + in + (uu____1680, uu____1681) in FStar_SMTEncoding_Util.mkGTE - uu____1276 in + uu____1675 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxBool - uu____1275 in - quant xy uu____1274 in - (FStar_Parser_Const.op_GTE, uu____1255) in - let uu____1299 = - let uu____1322 = - let uu____1343 = - let uu____1362 = - let uu____1363 = - let uu____1364 = - let uu____1369 = + uu____1674 + in + quant xy uu____1673 in + (FStar_Parser_Const.op_GTE, uu____1654) + in + let uu____1698 = + let uu____1721 = + let uu____1742 = + let uu____1761 = + let uu____1762 = + let uu____1763 = + let uu____1768 = FStar_SMTEncoding_Term.unboxInt - x in - let uu____1370 = + x + in + let uu____1769 = FStar_SMTEncoding_Term.unboxInt - y in - (uu____1369, uu____1370) in + y + in + (uu____1768, uu____1769) in FStar_SMTEncoding_Util.mkSub - uu____1364 in + uu____1763 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxInt - uu____1363 in - quant xy uu____1362 in + uu____1762 + in + quant xy uu____1761 in (FStar_Parser_Const.op_Subtraction, - uu____1343) in - let uu____1387 = - let uu____1410 = - let uu____1431 = - let uu____1450 = - let uu____1451 = - let uu____1452 = + uu____1742) + in + let uu____1786 = + let uu____1809 = + let uu____1830 = + let uu____1849 = + let uu____1850 = + let uu____1851 = FStar_SMTEncoding_Term.unboxInt - x in + x + in FStar_SMTEncoding_Util.mkMinus - uu____1452 in + uu____1851 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxInt - uu____1451 in - quant qx uu____1450 in + uu____1850 + in + quant qx uu____1849 in (FStar_Parser_Const.op_Minus, - uu____1431) in - let uu____1469 = - let uu____1492 = - let uu____1513 = - let uu____1532 = - let uu____1533 = - let uu____1534 = - let uu____1539 = + uu____1830) + in + let uu____1868 = + let uu____1891 = + let uu____1912 = + let uu____1931 = + let uu____1932 = + let uu____1933 = + let uu____1938 = FStar_SMTEncoding_Term.unboxInt - x in - let uu____1540 = + x + in + let uu____1939 = FStar_SMTEncoding_Term.unboxInt - y in - (uu____1539, uu____1540) in + y + in + (uu____1938, uu____1939) + in FStar_SMTEncoding_Util.mkAdd - uu____1534 in + uu____1933 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxInt - uu____1533 in - quant xy uu____1532 in + uu____1932 + in + quant xy uu____1931 in (FStar_Parser_Const.op_Addition, - uu____1513) in - let uu____1557 = - let uu____1580 = - let uu____1601 = - let uu____1620 = - let uu____1621 = - let uu____1622 = - let uu____1627 = + uu____1912) + in + let uu____1956 = + let uu____1979 = + let uu____2000 = + let uu____2019 = + let uu____2020 = + let uu____2021 = + let uu____2026 = FStar_SMTEncoding_Term.unboxInt - x in - let uu____1628 = + x + in + let uu____2027 = FStar_SMTEncoding_Term.unboxInt - y in - (uu____1627, uu____1628) in + y + in + (uu____2026, uu____2027) + in FStar_SMTEncoding_Util.mkMul - uu____1622 in + uu____2021 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxInt - uu____1621 in - quant xy uu____1620 in + uu____2020 + in + quant xy uu____2019 in (FStar_Parser_Const.op_Multiply, - uu____1601) in - let uu____1645 = - let uu____1668 = - let uu____1689 = - let uu____1708 = - let uu____1709 = - let uu____1710 = - let uu____1715 = + uu____2000) + in + let uu____2044 = + let uu____2067 = + let uu____2088 = + let uu____2107 = + let uu____2108 = + let uu____2109 = + let uu____2114 = FStar_SMTEncoding_Term.unboxInt - x in - let uu____1716 = + x + in + let uu____2115 = FStar_SMTEncoding_Term.unboxInt - y in - (uu____1715, - uu____1716) in + y + in + (uu____2114, + uu____2115) + in FStar_SMTEncoding_Util.mkDiv - uu____1710 in + uu____2109 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxInt - uu____1709 in - quant xy uu____1708 in + uu____2108 + in + quant xy uu____2107 in (FStar_Parser_Const.op_Division, - uu____1689) in - let uu____1733 = - let uu____1756 = - let uu____1777 = - let uu____1796 = - let uu____1797 = - let uu____1798 = - let uu____1803 = + uu____2088) + in + let uu____2132 = + let uu____2155 = + let uu____2176 = + let uu____2195 = + let uu____2196 = + let uu____2197 = + let uu____2202 = FStar_SMTEncoding_Term.unboxInt - x in - let uu____1804 = + x + in + let uu____2203 = FStar_SMTEncoding_Term.unboxInt - y in - (uu____1803, - uu____1804) in + y + in + (uu____2202, + uu____2203) + in FStar_SMTEncoding_Util.mkMod - uu____1798 in + uu____2197 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxInt - uu____1797 in - quant xy uu____1796 in + uu____2196 + in + quant xy uu____2195 in (FStar_Parser_Const.op_Modulus, - uu____1777) in - let uu____1821 = - let uu____1844 = - let uu____1865 = - let uu____1884 = - let uu____1885 = - let uu____1886 = - let uu____1891 = + uu____2176) + in + let uu____2220 = + let uu____2243 = + let uu____2264 = + let uu____2283 = + let uu____2284 = + let uu____2285 = + let uu____2290 = FStar_SMTEncoding_Term.unboxReal - x in - let uu____1892 = + x + in + let uu____2291 = FStar_SMTEncoding_Term.unboxReal - y in - (uu____1891, - uu____1892) in + y + in + (uu____2290, + uu____2291) + in FStar_SMTEncoding_Util.mkLT - uu____1886 in + uu____2285 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxBool - uu____1885 in - quant xy uu____1884 in + uu____2284 + in + quant xy uu____2283 in (FStar_Parser_Const.real_op_LT, - uu____1865) in - let uu____1909 = - let uu____1932 = - let uu____1953 = - let uu____1972 = - let uu____1973 = - let uu____1974 = - let uu____1979 = + uu____2264) + in + let uu____2308 = + let uu____2331 = + let uu____2352 = + let uu____2371 = + let uu____2372 = + let uu____2373 = + let uu____2378 = FStar_SMTEncoding_Term.unboxReal - x in - let uu____1980 = + x + in + let uu____2379 = FStar_SMTEncoding_Term.unboxReal - y in - (uu____1979, - uu____1980) in + y + in + (uu____2378, + uu____2379) + in FStar_SMTEncoding_Util.mkLTE - uu____1974 in + uu____2373 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxBool - uu____1973 in - quant xy uu____1972 in + uu____2372 + in + quant xy uu____2371 in (FStar_Parser_Const.real_op_LTE, - uu____1953) in - let uu____1997 = - let uu____2020 = - let uu____2041 = - let uu____2060 = - let uu____2061 = - let uu____2062 = - let uu____2067 + uu____2352) + in + let uu____2396 = + let uu____2419 = + let uu____2440 = + let uu____2459 = + let uu____2460 = + let uu____2461 = + let uu____2466 = FStar_SMTEncoding_Term.unboxReal - x in - let uu____2068 + x + in + let uu____2467 = FStar_SMTEncoding_Term.unboxReal - y in - (uu____2067, - uu____2068) in + y + in + (uu____2466, + uu____2467) + in FStar_SMTEncoding_Util.mkGT - uu____2062 in + uu____2461 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxBool - uu____2061 in - quant xy uu____2060 in + uu____2460 + in + quant xy uu____2459 + in (FStar_Parser_Const.real_op_GT, - uu____2041) in - let uu____2085 = - let uu____2108 = - let uu____2129 = - let uu____2148 = - let uu____2149 = - let uu____2150 + uu____2440) + in + let uu____2484 = + let uu____2507 = + let uu____2528 = + let uu____2547 = + let uu____2548 = + let uu____2549 = - let uu____2155 + let uu____2554 = FStar_SMTEncoding_Term.unboxReal - x in - let uu____2156 + x + in + let uu____2555 = FStar_SMTEncoding_Term.unboxReal - y in - (uu____2155, - uu____2156) in + y + in + (uu____2554, + uu____2555) + in FStar_SMTEncoding_Util.mkGTE - uu____2150 in + uu____2549 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxBool - uu____2149 in - quant xy uu____2148 in + uu____2548 + in + quant xy uu____2547 + in (FStar_Parser_Const.real_op_GTE, - uu____2129) in - let uu____2173 = - let uu____2196 = - let uu____2217 = - let uu____2236 = - let uu____2237 + uu____2528) + in + let uu____2572 = + let uu____2595 = + let uu____2616 = + let uu____2635 = + let uu____2636 = - let uu____2238 + let uu____2637 = - let uu____2243 + let uu____2642 = FStar_SMTEncoding_Term.unboxReal - x in - let uu____2244 + x in + let uu____2643 = FStar_SMTEncoding_Term.unboxReal - y in - (uu____2243, - uu____2244) in + y in + (uu____2642, + uu____2643) + in FStar_SMTEncoding_Util.mkSub - uu____2238 in + uu____2637 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxReal - uu____2237 in + uu____2636 + in quant xy - uu____2236 in + uu____2635 + in (FStar_Parser_Const.real_op_Subtraction, - uu____2217) in - let uu____2261 = - let uu____2284 = - let uu____2305 = - let uu____2324 + uu____2616) + in + let uu____2660 = + let uu____2683 = + let uu____2704 = + let uu____2723 = - let uu____2325 + let uu____2724 = - let uu____2326 + let uu____2725 = - let uu____2331 + let uu____2730 = FStar_SMTEncoding_Term.unboxReal - x in - let uu____2332 + x in + let uu____2731 = FStar_SMTEncoding_Term.unboxReal - y in - (uu____2331, - uu____2332) in + y in + (uu____2730, + uu____2731) + in FStar_SMTEncoding_Util.mkAdd - uu____2326 in + uu____2725 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxReal - uu____2325 in + uu____2724 + in quant xy - uu____2324 in + uu____2723 + in (FStar_Parser_Const.real_op_Addition, - uu____2305) in - let uu____2349 = - let uu____2372 = - let uu____2393 + uu____2704) + in + let uu____2748 = + let uu____2771 = + let uu____2792 = - let uu____2412 + let uu____2811 = - let uu____2413 + let uu____2812 = - let uu____2414 + let uu____2813 = - let uu____2419 + let uu____2818 = FStar_SMTEncoding_Term.unboxReal - x in - let uu____2420 + x in + let uu____2819 = FStar_SMTEncoding_Term.unboxReal - y in - (uu____2419, - uu____2420) in + y in + (uu____2818, + uu____2819) + in FStar_SMTEncoding_Util.mkMul - uu____2414 in + uu____2813 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxReal - uu____2413 in + uu____2812 + in quant xy - uu____2412 in + uu____2811 + in (FStar_Parser_Const.real_op_Multiply, - uu____2393) in - let uu____2437 = - let uu____2460 + uu____2792) + in + let uu____2836 = + let uu____2859 = - let uu____2481 + let uu____2880 = - let uu____2500 + let uu____2899 = - let uu____2501 + let uu____2900 = - let uu____2502 + let uu____2901 = - let uu____2507 + let uu____2906 = FStar_SMTEncoding_Term.unboxReal - x in - let uu____2508 + x in + let uu____2907 = FStar_SMTEncoding_Term.unboxReal - y in - (uu____2507, - uu____2508) in + y in + (uu____2906, + uu____2907) + in FStar_SMTEncoding_Util.mkRealDiv - uu____2502 in + uu____2901 + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxReal - uu____2501 in + uu____2900 + in quant xy - uu____2500 in + uu____2899 + in (FStar_Parser_Const.real_op_Division, - uu____2481) in - let uu____2525 + uu____2880) + in + let uu____2924 = - let uu____2548 + let uu____2947 = - let uu____2569 + let uu____2968 = - let uu____2588 + let uu____2987 = - let uu____2589 + let uu____2988 = - let uu____2590 + let uu____2989 = FStar_SMTEncoding_Term.unboxInt - x in + x in FStar_SMTEncoding_Term.mkRealOfInt - uu____2590 - FStar_Range.dummyRange in + uu____2989 + FStar_Range.dummyRange + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxReal - uu____2589 in + uu____2988 + in quant qx - uu____2588 in + uu____2987 + in (FStar_Parser_Const.real_of_int, - uu____2569) in - [uu____2548] in - uu____2460 :: - uu____2525 in - uu____2372 :: - uu____2437 in - uu____2284 :: - uu____2349 in - uu____2196 :: - uu____2261 in - uu____2108 :: - uu____2173 in - uu____2020 :: uu____2085 in - uu____1932 :: uu____1997 in - uu____1844 :: uu____1909 in - uu____1756 :: uu____1821 in - uu____1668 :: uu____1733 in - uu____1580 :: uu____1645 in - uu____1492 :: uu____1557 in - uu____1410 :: uu____1469 in - uu____1322 :: uu____1387 in - uu____1234 :: uu____1299 in - uu____1146 :: uu____1211 in - uu____1058 :: uu____1123 in - uu____970 :: uu____1035 in - uu____888 :: uu____947 in - uu____800 :: uu____865 in - uu____712 :: uu____777 in - uu____630 :: uu____689 in - uu____549 :: uu____607 in + uu____2968) + in + [uu____2947] + in + uu____2859 :: + uu____2924 + in + uu____2771 :: + uu____2836 + in + uu____2683 :: + uu____2748 + in + uu____2595 :: + uu____2660 + in + uu____2507 :: + uu____2572 + in + uu____2419 :: uu____2484 + in + uu____2331 :: uu____2396 + in + uu____2243 :: uu____2308 in + uu____2155 :: uu____2220 in + uu____2067 :: uu____2132 in + uu____1979 :: uu____2044 in + uu____1891 :: uu____1956 in + uu____1809 :: uu____1868 in + uu____1721 :: uu____1786 in + uu____1633 :: uu____1698 in + uu____1545 :: uu____1610 in + uu____1457 :: uu____1522 in + uu____1369 :: uu____1434 in + uu____1287 :: uu____1346 in + uu____1199 :: uu____1264 in + uu____1111 :: uu____1176 in + uu____1029 :: uu____1088 in + uu____948 :: uu____1006 in let mk1 l v1 = - let uu____3129 = - let uu____3141 = + let uu____3528 = + let uu____3540 = FStar_All.pipe_right prims1 (FStar_List.find - (fun uu____3231 -> - match uu____3231 with - | (l', uu____3252) -> - FStar_Ident.lid_equals l l')) in - FStar_All.pipe_right uu____3141 + (fun uu____3630 -> + match uu____3630 with + | (l',uu____3651) -> + FStar_Ident.lid_equals l l')) + in + FStar_All.pipe_right uu____3540 (FStar_Option.map - (fun uu____3351 -> - match uu____3351 with - | (uu____3379, b) -> - let uu____3413 = FStar_Ident.range_of_lid l in - b uu____3413 v1)) in - FStar_All.pipe_right uu____3129 FStar_Option.get in + (fun uu____3750 -> + match uu____3750 with + | (uu____3778,b) -> + let uu____3812 = FStar_Ident.range_of_lid l + in + b uu____3812 v1)) + in + FStar_All.pipe_right uu____3528 FStar_Option.get in let is l = FStar_All.pipe_right prims1 (FStar_Util.for_some - (fun uu____3496 -> - match uu____3496 with - | (l', uu____3517) -> FStar_Ident.lid_equals l l')) in + (fun uu____3895 -> + match uu____3895 with + | (l',uu____3916) -> FStar_Ident.lid_equals l l')) + in { mk = mk1; is })) + let (pretype_axiom : FStar_Range.range -> FStar_SMTEncoding_Env.env_t -> @@ -669,65 +870,74 @@ let (pretype_axiom : (Prims.string * FStar_SMTEncoding_Term.sort * Prims.bool) Prims.list -> FStar_SMTEncoding_Term.decl) = - fun rng -> - fun env -> - fun tapp -> - fun vars -> - let uu____3591 = + fun rng -> + fun env -> + fun tapp -> + fun vars -> + let uu____3990 = FStar_SMTEncoding_Env.fresh_fvar env.FStar_SMTEncoding_Env.current_module_name "x" - FStar_SMTEncoding_Term.Term_sort in - match uu____3591 with - | (xxsym, xx) -> - let uu____3602 = + FStar_SMTEncoding_Term.Term_sort + in + match uu____3990 with + | (xxsym,xx) -> + let uu____4001 = FStar_SMTEncoding_Env.fresh_fvar env.FStar_SMTEncoding_Env.current_module_name "f" - FStar_SMTEncoding_Term.Fuel_sort in - (match uu____3602 with - | (ffsym, ff) -> + FStar_SMTEncoding_Term.Fuel_sort + in + (match uu____4001 with + | (ffsym,ff) -> let xx_has_type = - FStar_SMTEncoding_Term.mk_HasTypeFuel ff xx tapp in - let tapp_hash = FStar_SMTEncoding_Term.hash_of_term tapp in + FStar_SMTEncoding_Term.mk_HasTypeFuel ff xx tapp in + let tapp_hash = FStar_SMTEncoding_Term.hash_of_term tapp + in let module_name = - env.FStar_SMTEncoding_Env.current_module_name in - let uu____3618 = - let uu____3626 = - let uu____3627 = - let uu____3638 = - let uu____3639 = + env.FStar_SMTEncoding_Env.current_module_name in + let uu____4017 = + let uu____4025 = + let uu____4026 = + let uu____4037 = + let uu____4038 = FStar_SMTEncoding_Term.mk_fv - (xxsym, FStar_SMTEncoding_Term.Term_sort) in - let uu____3649 = - let uu____3660 = + (xxsym, FStar_SMTEncoding_Term.Term_sort) + in + let uu____4048 = + let uu____4059 = FStar_SMTEncoding_Term.mk_fv - (ffsym, FStar_SMTEncoding_Term.Fuel_sort) in - uu____3660 :: vars in - uu____3639 :: uu____3649 in - let uu____3686 = - let uu____3687 = - let uu____3692 = - let uu____3693 = - let uu____3698 = + (ffsym, FStar_SMTEncoding_Term.Fuel_sort) + in + uu____4059 :: vars in + uu____4038 :: uu____4048 in + let uu____4085 = + let uu____4086 = + let uu____4091 = + let uu____4092 = + let uu____4097 = FStar_SMTEncoding_Util.mkApp - ("PreType", [xx]) in - (tapp, uu____3698) in - FStar_SMTEncoding_Util.mkEq uu____3693 in - (xx_has_type, uu____3692) in - FStar_SMTEncoding_Util.mkImp uu____3687 in - ([[xx_has_type]], uu____3638, uu____3686) in - FStar_SMTEncoding_Term.mkForall rng uu____3627 in - let uu____3711 = - let uu____3713 = - let uu____3715 = - let uu____3717 = - FStar_Util.digest_of_string tapp_hash in - Prims.op_Hat "_pretyping_" uu____3717 in - Prims.op_Hat module_name uu____3715 in + ("PreType", [xx]) + in + (tapp, uu____4097) in + FStar_SMTEncoding_Util.mkEq uu____4092 in + (xx_has_type, uu____4091) in + FStar_SMTEncoding_Util.mkImp uu____4086 in + ([[xx_has_type]], uu____4037, uu____4085) in + FStar_SMTEncoding_Term.mkForall rng uu____4026 in + let uu____4110 = + let uu____4112 = + let uu____4114 = + let uu____4116 = + FStar_Util.digest_of_string tapp_hash in + Prims.op_Hat "_pretyping_" uu____4116 in + Prims.op_Hat module_name uu____4114 in FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.mk_unique - uu____3713 in - (uu____3626, (FStar_Pervasives_Native.Some "pretyping"), - uu____3711) in - FStar_SMTEncoding_Util.mkAssume uu____3618) + uu____4112 + in + (uu____4025, (FStar_Pervasives_Native.Some "pretyping"), + uu____4110) + in + FStar_SMTEncoding_Util.mkAssume uu____4017) + let (primitive_type_axioms : FStar_TypeChecker_Env.env -> FStar_Ident.lident -> @@ -735,670 +945,742 @@ let (primitive_type_axioms : FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.decl Prims.list) = let xx = - FStar_SMTEncoding_Term.mk_fv ("x", FStar_SMTEncoding_Term.Term_sort) in - let x = FStar_SMTEncoding_Util.mkFreeV xx in + FStar_SMTEncoding_Term.mk_fv ("x", FStar_SMTEncoding_Term.Term_sort) in + let x = FStar_SMTEncoding_Util.mkFreeV xx in let yy = - FStar_SMTEncoding_Term.mk_fv ("y", FStar_SMTEncoding_Term.Term_sort) in - let y = FStar_SMTEncoding_Util.mkFreeV yy in + FStar_SMTEncoding_Term.mk_fv ("y", FStar_SMTEncoding_Term.Term_sort) in + let y = FStar_SMTEncoding_Util.mkFreeV yy in let mkForall_fuel1 env = - let uu____3773 = - let uu____3775 = FStar_TypeChecker_Env.current_module env in - FStar_Ident.string_of_lid uu____3775 in - FStar_SMTEncoding_EncodeTerm.mkForall_fuel uu____3773 in + let uu____4172 = + let uu____4174 = FStar_TypeChecker_Env.current_module env in + FStar_Ident.string_of_lid uu____4174 in + FStar_SMTEncoding_EncodeTerm.mkForall_fuel uu____4172 in let mk_unit env nm tt = - let typing_pred = FStar_SMTEncoding_Term.mk_HasType x tt in - let uu____3797 = - let uu____3798 = - let uu____3806 = + let typing_pred = FStar_SMTEncoding_Term.mk_HasType x tt in + let uu____4196 = + let uu____4197 = + let uu____4205 = FStar_SMTEncoding_Term.mk_HasType - FStar_SMTEncoding_Term.mk_Term_unit tt in - (uu____3806, (FStar_Pervasives_Native.Some "unit typing"), - "unit_typing") in - FStar_SMTEncoding_Util.mkAssume uu____3798 in - let uu____3811 = - let uu____3814 = - let uu____3815 = - let uu____3823 = - let uu____3824 = - let uu____3835 = - let uu____3836 = - let uu____3841 = + FStar_SMTEncoding_Term.mk_Term_unit tt + in + (uu____4205, (FStar_Pervasives_Native.Some "unit typing"), + "unit_typing") + in + FStar_SMTEncoding_Util.mkAssume uu____4197 in + let uu____4210 = + let uu____4213 = + let uu____4214 = + let uu____4222 = + let uu____4223 = + let uu____4234 = + let uu____4235 = + let uu____4240 = FStar_SMTEncoding_Util.mkEq - (x, FStar_SMTEncoding_Term.mk_Term_unit) in - (typing_pred, uu____3841) in - FStar_SMTEncoding_Util.mkImp uu____3836 in - ([[typing_pred]], [xx], uu____3835) in - let uu____3866 = - let uu____3881 = FStar_TypeChecker_Env.get_range env in - let uu____3882 = mkForall_fuel1 env in uu____3882 uu____3881 in - uu____3866 uu____3824 in - (uu____3823, (FStar_Pervasives_Native.Some "unit inversion"), - "unit_inversion") in - FStar_SMTEncoding_Util.mkAssume uu____3815 in - [uu____3814] in - uu____3797 :: uu____3811 in + (x, FStar_SMTEncoding_Term.mk_Term_unit) + in + (typing_pred, uu____4240) in + FStar_SMTEncoding_Util.mkImp uu____4235 in + ([[typing_pred]], [xx], uu____4234) in + let uu____4265 = + let uu____4280 = FStar_TypeChecker_Env.get_range env in + let uu____4281 = mkForall_fuel1 env in uu____4281 uu____4280 + in + uu____4265 uu____4223 in + (uu____4222, (FStar_Pervasives_Native.Some "unit inversion"), + "unit_inversion") + in + FStar_SMTEncoding_Util.mkAssume uu____4214 in + [uu____4213] in + uu____4196 :: uu____4210 in let mk_bool env nm tt = - let typing_pred = FStar_SMTEncoding_Term.mk_HasType x tt in + let typing_pred = FStar_SMTEncoding_Term.mk_HasType x tt in let bb = - FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Bool_sort) in - let b = FStar_SMTEncoding_Util.mkFreeV bb in - let uu____3929 = - let uu____3930 = - let uu____3938 = - let uu____3939 = FStar_TypeChecker_Env.get_range env in - let uu____3940 = - let uu____3951 = - let uu____3956 = - let uu____3959 = FStar_SMTEncoding_Term.boxBool b in - [uu____3959] in - [uu____3956] in - let uu____3964 = - let uu____3965 = FStar_SMTEncoding_Term.boxBool b in - FStar_SMTEncoding_Term.mk_HasType uu____3965 tt in - (uu____3951, [bb], uu____3964) in - FStar_SMTEncoding_Term.mkForall uu____3939 uu____3940 in - (uu____3938, (FStar_Pervasives_Native.Some "bool typing"), - "bool_typing") in - FStar_SMTEncoding_Util.mkAssume uu____3930 in - let uu____3990 = - let uu____3993 = - let uu____3994 = - let uu____4002 = - let uu____4003 = - let uu____4014 = - let uu____4015 = - let uu____4020 = + FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Bool_sort) + in + let b = FStar_SMTEncoding_Util.mkFreeV bb in + let uu____4328 = + let uu____4329 = + let uu____4337 = + let uu____4338 = FStar_TypeChecker_Env.get_range env in + let uu____4339 = + let uu____4350 = + let uu____4355 = + let uu____4358 = FStar_SMTEncoding_Term.boxBool b in + [uu____4358] in + [uu____4355] in + let uu____4363 = + let uu____4364 = FStar_SMTEncoding_Term.boxBool b in + FStar_SMTEncoding_Term.mk_HasType uu____4364 tt in + (uu____4350, [bb], uu____4363) in + FStar_SMTEncoding_Term.mkForall uu____4338 uu____4339 in + (uu____4337, (FStar_Pervasives_Native.Some "bool typing"), + "bool_typing") + in + FStar_SMTEncoding_Util.mkAssume uu____4329 in + let uu____4389 = + let uu____4392 = + let uu____4393 = + let uu____4401 = + let uu____4402 = + let uu____4413 = + let uu____4414 = + let uu____4419 = FStar_SMTEncoding_Term.mk_tester (FStar_Pervasives_Native.fst - FStar_SMTEncoding_Term.boxBoolFun) x in - (typing_pred, uu____4020) in - FStar_SMTEncoding_Util.mkImp uu____4015 in - ([[typing_pred]], [xx], uu____4014) in - let uu____4047 = - let uu____4062 = FStar_TypeChecker_Env.get_range env in - let uu____4063 = mkForall_fuel1 env in uu____4063 uu____4062 in - uu____4047 uu____4003 in - (uu____4002, (FStar_Pervasives_Native.Some "bool inversion"), - "bool_inversion") in - FStar_SMTEncoding_Util.mkAssume uu____3994 in - [uu____3993] in - uu____3929 :: uu____3990 in + FStar_SMTEncoding_Term.boxBoolFun) x + in + (typing_pred, uu____4419) in + FStar_SMTEncoding_Util.mkImp uu____4414 in + ([[typing_pred]], [xx], uu____4413) in + let uu____4446 = + let uu____4461 = FStar_TypeChecker_Env.get_range env in + let uu____4462 = mkForall_fuel1 env in uu____4462 uu____4461 + in + uu____4446 uu____4402 in + (uu____4401, (FStar_Pervasives_Native.Some "bool inversion"), + "bool_inversion") + in + FStar_SMTEncoding_Util.mkAssume uu____4393 in + [uu____4392] in + uu____4328 :: uu____4389 in let mk_int env nm tt = let lex_t1 = - let uu____4106 = - let uu____4107 = - let uu____4113 = - FStar_Ident.text_of_lid FStar_Parser_Const.lex_t_lid in - (uu____4113, FStar_SMTEncoding_Term.Term_sort) in - FStar_SMTEncoding_Term.mk_fv uu____4107 in - FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____4106 in - let typing_pred = FStar_SMTEncoding_Term.mk_HasType x tt in - let typing_pred_y = FStar_SMTEncoding_Term.mk_HasType y tt in + let uu____4505 = + let uu____4506 = + let uu____4512 = + FStar_Ident.text_of_lid FStar_Parser_Const.lex_t_lid in + (uu____4512, FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv uu____4506 in + FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____4505 in + let typing_pred = FStar_SMTEncoding_Term.mk_HasType x tt in + let typing_pred_y = FStar_SMTEncoding_Term.mk_HasType y tt in let aa = - FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Int_sort) in - let a = FStar_SMTEncoding_Util.mkFreeV aa in + FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Int_sort) in + let a = FStar_SMTEncoding_Util.mkFreeV aa in let bb = - FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Int_sort) in - let b = FStar_SMTEncoding_Util.mkFreeV bb in + FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Int_sort) in + let b = FStar_SMTEncoding_Util.mkFreeV bb in let precedes_y_x = - let uu____4127 = + let uu____4526 = FStar_SMTEncoding_Util.mkApp - ("Prims.precedes", [lex_t1; lex_t1; y; x]) in - FStar_All.pipe_left FStar_SMTEncoding_Term.mk_Valid uu____4127 in - let uu____4132 = - let uu____4133 = - let uu____4141 = - let uu____4142 = FStar_TypeChecker_Env.get_range env in - let uu____4143 = - let uu____4154 = - let uu____4159 = - let uu____4162 = FStar_SMTEncoding_Term.boxInt b in - [uu____4162] in - [uu____4159] in - let uu____4167 = - let uu____4168 = FStar_SMTEncoding_Term.boxInt b in - FStar_SMTEncoding_Term.mk_HasType uu____4168 tt in - (uu____4154, [bb], uu____4167) in - FStar_SMTEncoding_Term.mkForall uu____4142 uu____4143 in - (uu____4141, (FStar_Pervasives_Native.Some "int typing"), - "int_typing") in - FStar_SMTEncoding_Util.mkAssume uu____4133 in - let uu____4193 = - let uu____4196 = - let uu____4197 = - let uu____4205 = - let uu____4206 = - let uu____4217 = - let uu____4218 = - let uu____4223 = + ("Prims.precedes", [lex_t1; lex_t1; y; x]) + in + FStar_All.pipe_left FStar_SMTEncoding_Term.mk_Valid uu____4526 in + let uu____4531 = + let uu____4532 = + let uu____4540 = + let uu____4541 = FStar_TypeChecker_Env.get_range env in + let uu____4542 = + let uu____4553 = + let uu____4558 = + let uu____4561 = FStar_SMTEncoding_Term.boxInt b in + [uu____4561] in + [uu____4558] in + let uu____4566 = + let uu____4567 = FStar_SMTEncoding_Term.boxInt b in + FStar_SMTEncoding_Term.mk_HasType uu____4567 tt in + (uu____4553, [bb], uu____4566) in + FStar_SMTEncoding_Term.mkForall uu____4541 uu____4542 in + (uu____4540, (FStar_Pervasives_Native.Some "int typing"), + "int_typing") + in + FStar_SMTEncoding_Util.mkAssume uu____4532 in + let uu____4592 = + let uu____4595 = + let uu____4596 = + let uu____4604 = + let uu____4605 = + let uu____4616 = + let uu____4617 = + let uu____4622 = FStar_SMTEncoding_Term.mk_tester (FStar_Pervasives_Native.fst - FStar_SMTEncoding_Term.boxIntFun) x in - (typing_pred, uu____4223) in - FStar_SMTEncoding_Util.mkImp uu____4218 in - ([[typing_pred]], [xx], uu____4217) in - let uu____4250 = - let uu____4265 = FStar_TypeChecker_Env.get_range env in - let uu____4266 = mkForall_fuel1 env in uu____4266 uu____4265 in - uu____4250 uu____4206 in - (uu____4205, (FStar_Pervasives_Native.Some "int inversion"), - "int_inversion") in - FStar_SMTEncoding_Util.mkAssume uu____4197 in - let uu____4288 = - let uu____4291 = - let uu____4292 = - let uu____4300 = - let uu____4301 = - let uu____4312 = - let uu____4313 = - let uu____4318 = - let uu____4319 = - let uu____4322 = - let uu____4325 = - let uu____4328 = - let uu____4329 = - let uu____4334 = - FStar_SMTEncoding_Term.unboxInt x in - let uu____4335 = + FStar_SMTEncoding_Term.boxIntFun) x + in + (typing_pred, uu____4622) in + FStar_SMTEncoding_Util.mkImp uu____4617 in + ([[typing_pred]], [xx], uu____4616) in + let uu____4649 = + let uu____4664 = FStar_TypeChecker_Env.get_range env in + let uu____4665 = mkForall_fuel1 env in uu____4665 uu____4664 + in + uu____4649 uu____4605 in + (uu____4604, (FStar_Pervasives_Native.Some "int inversion"), + "int_inversion") + in + FStar_SMTEncoding_Util.mkAssume uu____4596 in + let uu____4687 = + let uu____4690 = + let uu____4691 = + let uu____4699 = + let uu____4700 = + let uu____4711 = + let uu____4712 = + let uu____4717 = + let uu____4718 = + let uu____4721 = + let uu____4724 = + let uu____4727 = + let uu____4728 = + let uu____4733 = + FStar_SMTEncoding_Term.unboxInt x in + let uu____4734 = FStar_SMTEncoding_Util.mkInteger' - (Prims.parse_int "0") in - (uu____4334, uu____4335) in - FStar_SMTEncoding_Util.mkGT uu____4329 in - let uu____4337 = - let uu____4340 = - let uu____4341 = - let uu____4346 = - FStar_SMTEncoding_Term.unboxInt y in - let uu____4347 = + (Prims.parse_int "0") + in + (uu____4733, uu____4734) in + FStar_SMTEncoding_Util.mkGT uu____4728 in + let uu____4736 = + let uu____4739 = + let uu____4740 = + let uu____4745 = + FStar_SMTEncoding_Term.unboxInt y in + let uu____4746 = FStar_SMTEncoding_Util.mkInteger' - (Prims.parse_int "0") in - (uu____4346, uu____4347) in - FStar_SMTEncoding_Util.mkGTE uu____4341 in - let uu____4349 = - let uu____4352 = - let uu____4353 = - let uu____4358 = - FStar_SMTEncoding_Term.unboxInt y in - let uu____4359 = - FStar_SMTEncoding_Term.unboxInt x in - (uu____4358, uu____4359) in - FStar_SMTEncoding_Util.mkLT uu____4353 in - [uu____4352] in - uu____4340 :: uu____4349 in - uu____4328 :: uu____4337 in - typing_pred_y :: uu____4325 in - typing_pred :: uu____4322 in - FStar_SMTEncoding_Util.mk_and_l uu____4319 in - (uu____4318, precedes_y_x) in - FStar_SMTEncoding_Util.mkImp uu____4313 in + (Prims.parse_int "0") + in + (uu____4745, uu____4746) in + FStar_SMTEncoding_Util.mkGTE uu____4740 in + let uu____4748 = + let uu____4751 = + let uu____4752 = + let uu____4757 = + FStar_SMTEncoding_Term.unboxInt y in + let uu____4758 = + FStar_SMTEncoding_Term.unboxInt x in + (uu____4757, uu____4758) in + FStar_SMTEncoding_Util.mkLT uu____4752 in + [uu____4751] in + uu____4739 :: uu____4748 in + uu____4727 :: uu____4736 in + typing_pred_y :: uu____4724 in + typing_pred :: uu____4721 in + FStar_SMTEncoding_Util.mk_and_l uu____4718 in + (uu____4717, precedes_y_x) in + FStar_SMTEncoding_Util.mkImp uu____4712 in ([[typing_pred; typing_pred_y; precedes_y_x]], [xx; yy], - uu____4312) in - let uu____4392 = - let uu____4407 = FStar_TypeChecker_Env.get_range env in - let uu____4408 = mkForall_fuel1 env in uu____4408 uu____4407 in - uu____4392 uu____4301 in - (uu____4300, + uu____4711) + in + let uu____4791 = + let uu____4806 = FStar_TypeChecker_Env.get_range env in + let uu____4807 = mkForall_fuel1 env in uu____4807 uu____4806 + in + uu____4791 uu____4700 in + (uu____4699, (FStar_Pervasives_Native.Some "well-founded ordering on nat (alt)"), - "well-founded-ordering-on-nat") in - FStar_SMTEncoding_Util.mkAssume uu____4292 in - [uu____4291] in - uu____4196 :: uu____4288 in - uu____4132 :: uu____4193 in + "well-founded-ordering-on-nat") + in + FStar_SMTEncoding_Util.mkAssume uu____4691 in + [uu____4690] in + uu____4595 :: uu____4687 in + uu____4531 :: uu____4592 in let mk_real env nm tt = let lex_t1 = - let uu____4451 = - let uu____4452 = - let uu____4458 = - FStar_Ident.text_of_lid FStar_Parser_Const.lex_t_lid in - (uu____4458, FStar_SMTEncoding_Term.Term_sort) in - FStar_SMTEncoding_Term.mk_fv uu____4452 in - FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____4451 in - let typing_pred = FStar_SMTEncoding_Term.mk_HasType x tt in - let typing_pred_y = FStar_SMTEncoding_Term.mk_HasType y tt in + let uu____4850 = + let uu____4851 = + let uu____4857 = + FStar_Ident.text_of_lid FStar_Parser_Const.lex_t_lid in + (uu____4857, FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv uu____4851 in + FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____4850 in + let typing_pred = FStar_SMTEncoding_Term.mk_HasType x tt in + let typing_pred_y = FStar_SMTEncoding_Term.mk_HasType y tt in let aa = FStar_SMTEncoding_Term.mk_fv - ("a", (FStar_SMTEncoding_Term.Sort "Real")) in - let a = FStar_SMTEncoding_Util.mkFreeV aa in + ("a", (FStar_SMTEncoding_Term.Sort "Real")) + in + let a = FStar_SMTEncoding_Util.mkFreeV aa in let bb = FStar_SMTEncoding_Term.mk_fv - ("b", (FStar_SMTEncoding_Term.Sort "Real")) in - let b = FStar_SMTEncoding_Util.mkFreeV bb in + ("b", (FStar_SMTEncoding_Term.Sort "Real")) + in + let b = FStar_SMTEncoding_Util.mkFreeV bb in let precedes_y_x = - let uu____4474 = + let uu____4873 = FStar_SMTEncoding_Util.mkApp - ("Prims.precedes", [lex_t1; lex_t1; y; x]) in - FStar_All.pipe_left FStar_SMTEncoding_Term.mk_Valid uu____4474 in - let uu____4479 = - let uu____4480 = - let uu____4488 = - let uu____4489 = FStar_TypeChecker_Env.get_range env in - let uu____4490 = - let uu____4501 = - let uu____4506 = - let uu____4509 = FStar_SMTEncoding_Term.boxReal b in - [uu____4509] in - [uu____4506] in - let uu____4514 = - let uu____4515 = FStar_SMTEncoding_Term.boxReal b in - FStar_SMTEncoding_Term.mk_HasType uu____4515 tt in - (uu____4501, [bb], uu____4514) in - FStar_SMTEncoding_Term.mkForall uu____4489 uu____4490 in - (uu____4488, (FStar_Pervasives_Native.Some "real typing"), - "real_typing") in - FStar_SMTEncoding_Util.mkAssume uu____4480 in - let uu____4540 = - let uu____4543 = - let uu____4544 = - let uu____4552 = - let uu____4553 = - let uu____4564 = - let uu____4565 = - let uu____4570 = + ("Prims.precedes", [lex_t1; lex_t1; y; x]) + in + FStar_All.pipe_left FStar_SMTEncoding_Term.mk_Valid uu____4873 in + let uu____4878 = + let uu____4879 = + let uu____4887 = + let uu____4888 = FStar_TypeChecker_Env.get_range env in + let uu____4889 = + let uu____4900 = + let uu____4905 = + let uu____4908 = FStar_SMTEncoding_Term.boxReal b in + [uu____4908] in + [uu____4905] in + let uu____4913 = + let uu____4914 = FStar_SMTEncoding_Term.boxReal b in + FStar_SMTEncoding_Term.mk_HasType uu____4914 tt in + (uu____4900, [bb], uu____4913) in + FStar_SMTEncoding_Term.mkForall uu____4888 uu____4889 in + (uu____4887, (FStar_Pervasives_Native.Some "real typing"), + "real_typing") + in + FStar_SMTEncoding_Util.mkAssume uu____4879 in + let uu____4939 = + let uu____4942 = + let uu____4943 = + let uu____4951 = + let uu____4952 = + let uu____4963 = + let uu____4964 = + let uu____4969 = FStar_SMTEncoding_Term.mk_tester (FStar_Pervasives_Native.fst - FStar_SMTEncoding_Term.boxRealFun) x in - (typing_pred, uu____4570) in - FStar_SMTEncoding_Util.mkImp uu____4565 in - ([[typing_pred]], [xx], uu____4564) in - let uu____4597 = - let uu____4612 = FStar_TypeChecker_Env.get_range env in - let uu____4613 = mkForall_fuel1 env in uu____4613 uu____4612 in - uu____4597 uu____4553 in - (uu____4552, (FStar_Pervasives_Native.Some "real inversion"), - "real_inversion") in - FStar_SMTEncoding_Util.mkAssume uu____4544 in - let uu____4635 = - let uu____4638 = - let uu____4639 = - let uu____4647 = - let uu____4648 = - let uu____4659 = - let uu____4660 = - let uu____4665 = - let uu____4666 = - let uu____4669 = - let uu____4672 = - let uu____4675 = - let uu____4676 = - let uu____4681 = - FStar_SMTEncoding_Term.unboxReal x in - let uu____4682 = - FStar_SMTEncoding_Util.mkReal "0.0" in - (uu____4681, uu____4682) in - FStar_SMTEncoding_Util.mkGT uu____4676 in - let uu____4684 = - let uu____4687 = - let uu____4688 = - let uu____4693 = - FStar_SMTEncoding_Term.unboxReal y in - let uu____4694 = - FStar_SMTEncoding_Util.mkReal "0.0" in - (uu____4693, uu____4694) in - FStar_SMTEncoding_Util.mkGTE uu____4688 in - let uu____4696 = - let uu____4699 = - let uu____4700 = - let uu____4705 = - FStar_SMTEncoding_Term.unboxReal y in - let uu____4706 = - FStar_SMTEncoding_Term.unboxReal x in - (uu____4705, uu____4706) in - FStar_SMTEncoding_Util.mkLT uu____4700 in - [uu____4699] in - uu____4687 :: uu____4696 in - uu____4675 :: uu____4684 in - typing_pred_y :: uu____4672 in - typing_pred :: uu____4669 in - FStar_SMTEncoding_Util.mk_and_l uu____4666 in - (uu____4665, precedes_y_x) in - FStar_SMTEncoding_Util.mkImp uu____4660 in + FStar_SMTEncoding_Term.boxRealFun) x + in + (typing_pred, uu____4969) in + FStar_SMTEncoding_Util.mkImp uu____4964 in + ([[typing_pred]], [xx], uu____4963) in + let uu____4996 = + let uu____5011 = FStar_TypeChecker_Env.get_range env in + let uu____5012 = mkForall_fuel1 env in uu____5012 uu____5011 + in + uu____4996 uu____4952 in + (uu____4951, (FStar_Pervasives_Native.Some "real inversion"), + "real_inversion") + in + FStar_SMTEncoding_Util.mkAssume uu____4943 in + let uu____5034 = + let uu____5037 = + let uu____5038 = + let uu____5046 = + let uu____5047 = + let uu____5058 = + let uu____5059 = + let uu____5064 = + let uu____5065 = + let uu____5068 = + let uu____5071 = + let uu____5074 = + let uu____5075 = + let uu____5080 = + FStar_SMTEncoding_Term.unboxReal x in + let uu____5081 = + FStar_SMTEncoding_Util.mkReal "0.0" in + (uu____5080, uu____5081) in + FStar_SMTEncoding_Util.mkGT uu____5075 in + let uu____5083 = + let uu____5086 = + let uu____5087 = + let uu____5092 = + FStar_SMTEncoding_Term.unboxReal y in + let uu____5093 = + FStar_SMTEncoding_Util.mkReal "0.0" in + (uu____5092, uu____5093) in + FStar_SMTEncoding_Util.mkGTE uu____5087 in + let uu____5095 = + let uu____5098 = + let uu____5099 = + let uu____5104 = + FStar_SMTEncoding_Term.unboxReal y in + let uu____5105 = + FStar_SMTEncoding_Term.unboxReal x in + (uu____5104, uu____5105) in + FStar_SMTEncoding_Util.mkLT uu____5099 in + [uu____5098] in + uu____5086 :: uu____5095 in + uu____5074 :: uu____5083 in + typing_pred_y :: uu____5071 in + typing_pred :: uu____5068 in + FStar_SMTEncoding_Util.mk_and_l uu____5065 in + (uu____5064, precedes_y_x) in + FStar_SMTEncoding_Util.mkImp uu____5059 in ([[typing_pred; typing_pred_y; precedes_y_x]], [xx; yy], - uu____4659) in - let uu____4739 = - let uu____4754 = FStar_TypeChecker_Env.get_range env in - let uu____4755 = mkForall_fuel1 env in uu____4755 uu____4754 in - uu____4739 uu____4648 in - (uu____4647, + uu____5058) + in + let uu____5138 = + let uu____5153 = FStar_TypeChecker_Env.get_range env in + let uu____5154 = mkForall_fuel1 env in uu____5154 uu____5153 + in + uu____5138 uu____5047 in + (uu____5046, (FStar_Pervasives_Native.Some "well-founded ordering on real"), - "well-founded-ordering-on-real") in - FStar_SMTEncoding_Util.mkAssume uu____4639 in - [uu____4638] in - uu____4543 :: uu____4635 in - uu____4479 :: uu____4540 in + "well-founded-ordering-on-real") + in + FStar_SMTEncoding_Util.mkAssume uu____5038 in + [uu____5037] in + uu____4942 :: uu____5034 in + uu____4878 :: uu____4939 in let mk_str env nm tt = - let typing_pred = FStar_SMTEncoding_Term.mk_HasType x tt in + let typing_pred = FStar_SMTEncoding_Term.mk_HasType x tt in let bb = - FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.String_sort) in - let b = FStar_SMTEncoding_Util.mkFreeV bb in - let uu____4802 = - let uu____4803 = - let uu____4811 = - let uu____4812 = FStar_TypeChecker_Env.get_range env in - let uu____4813 = - let uu____4824 = - let uu____4829 = - let uu____4832 = FStar_SMTEncoding_Term.boxString b in - [uu____4832] in - [uu____4829] in - let uu____4837 = - let uu____4838 = FStar_SMTEncoding_Term.boxString b in - FStar_SMTEncoding_Term.mk_HasType uu____4838 tt in - (uu____4824, [bb], uu____4837) in - FStar_SMTEncoding_Term.mkForall uu____4812 uu____4813 in - (uu____4811, (FStar_Pervasives_Native.Some "string typing"), - "string_typing") in - FStar_SMTEncoding_Util.mkAssume uu____4803 in - let uu____4863 = - let uu____4866 = - let uu____4867 = - let uu____4875 = - let uu____4876 = - let uu____4887 = - let uu____4888 = - let uu____4893 = + FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.String_sort) + in + let b = FStar_SMTEncoding_Util.mkFreeV bb in + let uu____5201 = + let uu____5202 = + let uu____5210 = + let uu____5211 = FStar_TypeChecker_Env.get_range env in + let uu____5212 = + let uu____5223 = + let uu____5228 = + let uu____5231 = FStar_SMTEncoding_Term.boxString b in + [uu____5231] in + [uu____5228] in + let uu____5236 = + let uu____5237 = FStar_SMTEncoding_Term.boxString b in + FStar_SMTEncoding_Term.mk_HasType uu____5237 tt in + (uu____5223, [bb], uu____5236) in + FStar_SMTEncoding_Term.mkForall uu____5211 uu____5212 in + (uu____5210, (FStar_Pervasives_Native.Some "string typing"), + "string_typing") + in + FStar_SMTEncoding_Util.mkAssume uu____5202 in + let uu____5262 = + let uu____5265 = + let uu____5266 = + let uu____5274 = + let uu____5275 = + let uu____5286 = + let uu____5287 = + let uu____5292 = FStar_SMTEncoding_Term.mk_tester (FStar_Pervasives_Native.fst - FStar_SMTEncoding_Term.boxStringFun) x in - (typing_pred, uu____4893) in - FStar_SMTEncoding_Util.mkImp uu____4888 in - ([[typing_pred]], [xx], uu____4887) in - let uu____4920 = - let uu____4935 = FStar_TypeChecker_Env.get_range env in - let uu____4936 = mkForall_fuel1 env in uu____4936 uu____4935 in - uu____4920 uu____4876 in - (uu____4875, (FStar_Pervasives_Native.Some "string inversion"), - "string_inversion") in - FStar_SMTEncoding_Util.mkAssume uu____4867 in - [uu____4866] in - uu____4802 :: uu____4863 in + FStar_SMTEncoding_Term.boxStringFun) x + in + (typing_pred, uu____5292) in + FStar_SMTEncoding_Util.mkImp uu____5287 in + ([[typing_pred]], [xx], uu____5286) in + let uu____5319 = + let uu____5334 = FStar_TypeChecker_Env.get_range env in + let uu____5335 = mkForall_fuel1 env in uu____5335 uu____5334 + in + uu____5319 uu____5275 in + (uu____5274, (FStar_Pervasives_Native.Some "string inversion"), + "string_inversion") + in + FStar_SMTEncoding_Util.mkAssume uu____5266 in + [uu____5265] in + uu____5201 :: uu____5262 in let mk_true_interp env nm true_tm = - let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [true_tm]) in - let uu____4983 = + let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [true_tm]) in + let uu____5382 = FStar_SMTEncoding_Util.mkAssume (valid, (FStar_Pervasives_Native.Some "True interpretation"), - "true_interp") in - [uu____4983] in + "true_interp") + in + [uu____5382] in let mk_false_interp env nm false_tm = - let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [false_tm]) in - let uu____5013 = - let uu____5014 = - let uu____5022 = + let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [false_tm]) in + let uu____5412 = + let uu____5413 = + let uu____5421 = FStar_SMTEncoding_Util.mkIff - (FStar_SMTEncoding_Util.mkFalse, valid) in - (uu____5022, (FStar_Pervasives_Native.Some "False interpretation"), - "false_interp") in - FStar_SMTEncoding_Util.mkAssume uu____5014 in - [uu____5013] in - let mk_and_interp env conj uu____5045 = + (FStar_SMTEncoding_Util.mkFalse, valid) + in + (uu____5421, (FStar_Pervasives_Native.Some "False interpretation"), + "false_interp") + in + FStar_SMTEncoding_Util.mkAssume uu____5413 in + [uu____5412] in + let mk_and_interp env conj uu____5444 = let aa = - FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) + in let bb = - FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Term_sort) in - let a = FStar_SMTEncoding_Util.mkFreeV aa in - let b = FStar_SMTEncoding_Util.mkFreeV bb in - let l_and_a_b = FStar_SMTEncoding_Util.mkApp (conj, [a; b]) in - let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [l_and_a_b]) in - let valid_a = FStar_SMTEncoding_Util.mkApp ("Valid", [a]) in - let valid_b = FStar_SMTEncoding_Util.mkApp ("Valid", [b]) in - let uu____5074 = - let uu____5075 = - let uu____5083 = - let uu____5084 = FStar_TypeChecker_Env.get_range env in - let uu____5085 = - let uu____5096 = - let uu____5097 = - let uu____5102 = - FStar_SMTEncoding_Util.mkAnd (valid_a, valid_b) in - (uu____5102, valid) in - FStar_SMTEncoding_Util.mkIff uu____5097 in - ([[l_and_a_b]], [aa; bb], uu____5096) in - FStar_SMTEncoding_Term.mkForall uu____5084 uu____5085 in - (uu____5083, (FStar_Pervasives_Native.Some "/\\ interpretation"), - "l_and-interp") in - FStar_SMTEncoding_Util.mkAssume uu____5075 in - [uu____5074] in - let mk_or_interp env disj uu____5157 = + FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Term_sort) + in + let a = FStar_SMTEncoding_Util.mkFreeV aa in + let b = FStar_SMTEncoding_Util.mkFreeV bb in + let l_and_a_b = FStar_SMTEncoding_Util.mkApp (conj, [a; b]) in + let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [l_and_a_b]) in + let valid_a = FStar_SMTEncoding_Util.mkApp ("Valid", [a]) in + let valid_b = FStar_SMTEncoding_Util.mkApp ("Valid", [b]) in + let uu____5473 = + let uu____5474 = + let uu____5482 = + let uu____5483 = FStar_TypeChecker_Env.get_range env in + let uu____5484 = + let uu____5495 = + let uu____5496 = + let uu____5501 = + FStar_SMTEncoding_Util.mkAnd (valid_a, valid_b) in + (uu____5501, valid) in + FStar_SMTEncoding_Util.mkIff uu____5496 in + ([[l_and_a_b]], [aa; bb], uu____5495) in + FStar_SMTEncoding_Term.mkForall uu____5483 uu____5484 in + (uu____5482, (FStar_Pervasives_Native.Some "/\\ interpretation"), + "l_and-interp") + in + FStar_SMTEncoding_Util.mkAssume uu____5474 in + [uu____5473] in + let mk_or_interp env disj uu____5556 = let aa = - FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) + in let bb = - FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Term_sort) in - let a = FStar_SMTEncoding_Util.mkFreeV aa in - let b = FStar_SMTEncoding_Util.mkFreeV bb in - let l_or_a_b = FStar_SMTEncoding_Util.mkApp (disj, [a; b]) in - let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [l_or_a_b]) in - let valid_a = FStar_SMTEncoding_Util.mkApp ("Valid", [a]) in - let valid_b = FStar_SMTEncoding_Util.mkApp ("Valid", [b]) in - let uu____5186 = - let uu____5187 = - let uu____5195 = - let uu____5196 = FStar_TypeChecker_Env.get_range env in - let uu____5197 = - let uu____5208 = - let uu____5209 = - let uu____5214 = - FStar_SMTEncoding_Util.mkOr (valid_a, valid_b) in - (uu____5214, valid) in - FStar_SMTEncoding_Util.mkIff uu____5209 in - ([[l_or_a_b]], [aa; bb], uu____5208) in - FStar_SMTEncoding_Term.mkForall uu____5196 uu____5197 in - (uu____5195, (FStar_Pervasives_Native.Some "\\/ interpretation"), - "l_or-interp") in - FStar_SMTEncoding_Util.mkAssume uu____5187 in - [uu____5186] in + FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Term_sort) + in + let a = FStar_SMTEncoding_Util.mkFreeV aa in + let b = FStar_SMTEncoding_Util.mkFreeV bb in + let l_or_a_b = FStar_SMTEncoding_Util.mkApp (disj, [a; b]) in + let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [l_or_a_b]) in + let valid_a = FStar_SMTEncoding_Util.mkApp ("Valid", [a]) in + let valid_b = FStar_SMTEncoding_Util.mkApp ("Valid", [b]) in + let uu____5585 = + let uu____5586 = + let uu____5594 = + let uu____5595 = FStar_TypeChecker_Env.get_range env in + let uu____5596 = + let uu____5607 = + let uu____5608 = + let uu____5613 = + FStar_SMTEncoding_Util.mkOr (valid_a, valid_b) in + (uu____5613, valid) in + FStar_SMTEncoding_Util.mkIff uu____5608 in + ([[l_or_a_b]], [aa; bb], uu____5607) in + FStar_SMTEncoding_Term.mkForall uu____5595 uu____5596 in + (uu____5594, (FStar_Pervasives_Native.Some "\\/ interpretation"), + "l_or-interp") + in + FStar_SMTEncoding_Util.mkAssume uu____5586 in + [uu____5585] in let mk_eq2_interp env eq2 tt = let aa = - FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) + in let xx1 = - FStar_SMTEncoding_Term.mk_fv ("x", FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv ("x", FStar_SMTEncoding_Term.Term_sort) + in let yy1 = - FStar_SMTEncoding_Term.mk_fv ("y", FStar_SMTEncoding_Term.Term_sort) in - let a = FStar_SMTEncoding_Util.mkFreeV aa in - let x1 = FStar_SMTEncoding_Util.mkFreeV xx1 in - let y1 = FStar_SMTEncoding_Util.mkFreeV yy1 in - let eq2_x_y = FStar_SMTEncoding_Util.mkApp (eq2, [a; x1; y1]) in - let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [eq2_x_y]) in - let uu____5292 = - let uu____5293 = - let uu____5301 = - let uu____5302 = FStar_TypeChecker_Env.get_range env in - let uu____5303 = - let uu____5314 = - let uu____5315 = - let uu____5320 = FStar_SMTEncoding_Util.mkEq (x1, y1) in - (uu____5320, valid) in - FStar_SMTEncoding_Util.mkIff uu____5315 in - ([[eq2_x_y]], [aa; xx1; yy1], uu____5314) in - FStar_SMTEncoding_Term.mkForall uu____5302 uu____5303 in - (uu____5301, (FStar_Pervasives_Native.Some "Eq2 interpretation"), - "eq2-interp") in - FStar_SMTEncoding_Util.mkAssume uu____5293 in - [uu____5292] in + FStar_SMTEncoding_Term.mk_fv ("y", FStar_SMTEncoding_Term.Term_sort) + in + let a = FStar_SMTEncoding_Util.mkFreeV aa in + let x1 = FStar_SMTEncoding_Util.mkFreeV xx1 in + let y1 = FStar_SMTEncoding_Util.mkFreeV yy1 in + let eq2_x_y = FStar_SMTEncoding_Util.mkApp (eq2, [a; x1; y1]) in + let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [eq2_x_y]) in + let uu____5691 = + let uu____5692 = + let uu____5700 = + let uu____5701 = FStar_TypeChecker_Env.get_range env in + let uu____5702 = + let uu____5713 = + let uu____5714 = + let uu____5719 = FStar_SMTEncoding_Util.mkEq (x1, y1) in + (uu____5719, valid) in + FStar_SMTEncoding_Util.mkIff uu____5714 in + ([[eq2_x_y]], [aa; xx1; yy1], uu____5713) in + FStar_SMTEncoding_Term.mkForall uu____5701 uu____5702 in + (uu____5700, (FStar_Pervasives_Native.Some "Eq2 interpretation"), + "eq2-interp") + in + FStar_SMTEncoding_Util.mkAssume uu____5692 in + [uu____5691] in let mk_eq3_interp env eq3 tt = let aa = - FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) + in let bb = - FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Term_sort) + in let xx1 = - FStar_SMTEncoding_Term.mk_fv ("x", FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv ("x", FStar_SMTEncoding_Term.Term_sort) + in let yy1 = - FStar_SMTEncoding_Term.mk_fv ("y", FStar_SMTEncoding_Term.Term_sort) in - let a = FStar_SMTEncoding_Util.mkFreeV aa in - let b = FStar_SMTEncoding_Util.mkFreeV bb in - let x1 = FStar_SMTEncoding_Util.mkFreeV xx1 in - let y1 = FStar_SMTEncoding_Util.mkFreeV yy1 in - let eq3_x_y = FStar_SMTEncoding_Util.mkApp (eq3, [a; b; x1; y1]) in - let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [eq3_x_y]) in - let uu____5410 = - let uu____5411 = - let uu____5419 = - let uu____5420 = FStar_TypeChecker_Env.get_range env in - let uu____5421 = - let uu____5432 = - let uu____5433 = - let uu____5438 = FStar_SMTEncoding_Util.mkEq (x1, y1) in - (uu____5438, valid) in - FStar_SMTEncoding_Util.mkIff uu____5433 in - ([[eq3_x_y]], [aa; bb; xx1; yy1], uu____5432) in - FStar_SMTEncoding_Term.mkForall uu____5420 uu____5421 in - (uu____5419, (FStar_Pervasives_Native.Some "Eq3 interpretation"), - "eq3-interp") in - FStar_SMTEncoding_Util.mkAssume uu____5411 in - [uu____5410] in + FStar_SMTEncoding_Term.mk_fv ("y", FStar_SMTEncoding_Term.Term_sort) + in + let a = FStar_SMTEncoding_Util.mkFreeV aa in + let b = FStar_SMTEncoding_Util.mkFreeV bb in + let x1 = FStar_SMTEncoding_Util.mkFreeV xx1 in + let y1 = FStar_SMTEncoding_Util.mkFreeV yy1 in + let eq3_x_y = FStar_SMTEncoding_Util.mkApp (eq3, [a; b; x1; y1]) in + let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [eq3_x_y]) in + let uu____5809 = + let uu____5810 = + let uu____5818 = + let uu____5819 = FStar_TypeChecker_Env.get_range env in + let uu____5820 = + let uu____5831 = + let uu____5832 = + let uu____5837 = FStar_SMTEncoding_Util.mkEq (x1, y1) in + (uu____5837, valid) in + FStar_SMTEncoding_Util.mkIff uu____5832 in + ([[eq3_x_y]], [aa; bb; xx1; yy1], uu____5831) in + FStar_SMTEncoding_Term.mkForall uu____5819 uu____5820 in + (uu____5818, (FStar_Pervasives_Native.Some "Eq3 interpretation"), + "eq3-interp") + in + FStar_SMTEncoding_Util.mkAssume uu____5810 in + [uu____5809] in let mk_imp_interp env imp tt = let aa = - FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) + in let bb = - FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Term_sort) in - let a = FStar_SMTEncoding_Util.mkFreeV aa in - let b = FStar_SMTEncoding_Util.mkFreeV bb in - let l_imp_a_b = FStar_SMTEncoding_Util.mkApp (imp, [a; b]) in - let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [l_imp_a_b]) in - let valid_a = FStar_SMTEncoding_Util.mkApp ("Valid", [a]) in - let valid_b = FStar_SMTEncoding_Util.mkApp ("Valid", [b]) in - let uu____5538 = - let uu____5539 = - let uu____5547 = - let uu____5548 = FStar_TypeChecker_Env.get_range env in - let uu____5549 = - let uu____5560 = - let uu____5561 = - let uu____5566 = - FStar_SMTEncoding_Util.mkImp (valid_a, valid_b) in - (uu____5566, valid) in - FStar_SMTEncoding_Util.mkIff uu____5561 in - ([[l_imp_a_b]], [aa; bb], uu____5560) in - FStar_SMTEncoding_Term.mkForall uu____5548 uu____5549 in - (uu____5547, (FStar_Pervasives_Native.Some "==> interpretation"), - "l_imp-interp") in - FStar_SMTEncoding_Util.mkAssume uu____5539 in - [uu____5538] in + FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Term_sort) + in + let a = FStar_SMTEncoding_Util.mkFreeV aa in + let b = FStar_SMTEncoding_Util.mkFreeV bb in + let l_imp_a_b = FStar_SMTEncoding_Util.mkApp (imp, [a; b]) in + let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [l_imp_a_b]) in + let valid_a = FStar_SMTEncoding_Util.mkApp ("Valid", [a]) in + let valid_b = FStar_SMTEncoding_Util.mkApp ("Valid", [b]) in + let uu____5937 = + let uu____5938 = + let uu____5946 = + let uu____5947 = FStar_TypeChecker_Env.get_range env in + let uu____5948 = + let uu____5959 = + let uu____5960 = + let uu____5965 = + FStar_SMTEncoding_Util.mkImp (valid_a, valid_b) in + (uu____5965, valid) in + FStar_SMTEncoding_Util.mkIff uu____5960 in + ([[l_imp_a_b]], [aa; bb], uu____5959) in + FStar_SMTEncoding_Term.mkForall uu____5947 uu____5948 in + (uu____5946, (FStar_Pervasives_Native.Some "==> interpretation"), + "l_imp-interp") + in + FStar_SMTEncoding_Util.mkAssume uu____5938 in + [uu____5937] in let mk_iff_interp env iff tt = let aa = - FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) + in let bb = - FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Term_sort) in - let a = FStar_SMTEncoding_Util.mkFreeV aa in - let b = FStar_SMTEncoding_Util.mkFreeV bb in - let l_iff_a_b = FStar_SMTEncoding_Util.mkApp (iff, [a; b]) in - let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [l_iff_a_b]) in - let valid_a = FStar_SMTEncoding_Util.mkApp ("Valid", [a]) in - let valid_b = FStar_SMTEncoding_Util.mkApp ("Valid", [b]) in - let uu____5650 = - let uu____5651 = - let uu____5659 = - let uu____5660 = FStar_TypeChecker_Env.get_range env in - let uu____5661 = - let uu____5672 = - let uu____5673 = - let uu____5678 = - FStar_SMTEncoding_Util.mkIff (valid_a, valid_b) in - (uu____5678, valid) in - FStar_SMTEncoding_Util.mkIff uu____5673 in - ([[l_iff_a_b]], [aa; bb], uu____5672) in - FStar_SMTEncoding_Term.mkForall uu____5660 uu____5661 in - (uu____5659, (FStar_Pervasives_Native.Some "<==> interpretation"), - "l_iff-interp") in - FStar_SMTEncoding_Util.mkAssume uu____5651 in - [uu____5650] in + FStar_SMTEncoding_Term.mk_fv ("b", FStar_SMTEncoding_Term.Term_sort) + in + let a = FStar_SMTEncoding_Util.mkFreeV aa in + let b = FStar_SMTEncoding_Util.mkFreeV bb in + let l_iff_a_b = FStar_SMTEncoding_Util.mkApp (iff, [a; b]) in + let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [l_iff_a_b]) in + let valid_a = FStar_SMTEncoding_Util.mkApp ("Valid", [a]) in + let valid_b = FStar_SMTEncoding_Util.mkApp ("Valid", [b]) in + let uu____6049 = + let uu____6050 = + let uu____6058 = + let uu____6059 = FStar_TypeChecker_Env.get_range env in + let uu____6060 = + let uu____6071 = + let uu____6072 = + let uu____6077 = + FStar_SMTEncoding_Util.mkIff (valid_a, valid_b) in + (uu____6077, valid) in + FStar_SMTEncoding_Util.mkIff uu____6072 in + ([[l_iff_a_b]], [aa; bb], uu____6071) in + FStar_SMTEncoding_Term.mkForall uu____6059 uu____6060 in + (uu____6058, (FStar_Pervasives_Native.Some "<==> interpretation"), + "l_iff-interp") + in + FStar_SMTEncoding_Util.mkAssume uu____6050 in + [uu____6049] in let mk_not_interp env l_not tt = let aa = - FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) in - let a = FStar_SMTEncoding_Util.mkFreeV aa in - let l_not_a = FStar_SMTEncoding_Util.mkApp (l_not, [a]) in - let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [l_not_a]) in + FStar_SMTEncoding_Term.mk_fv ("a", FStar_SMTEncoding_Term.Term_sort) + in + let a = FStar_SMTEncoding_Util.mkFreeV aa in + let l_not_a = FStar_SMTEncoding_Util.mkApp (l_not, [a]) in + let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [l_not_a]) in let not_valid_a = - let uu____5749 = FStar_SMTEncoding_Util.mkApp ("Valid", [a]) in - FStar_All.pipe_left FStar_SMTEncoding_Util.mkNot uu____5749 in - let uu____5754 = - let uu____5755 = - let uu____5763 = - let uu____5764 = FStar_TypeChecker_Env.get_range env in - let uu____5765 = - let uu____5776 = - FStar_SMTEncoding_Util.mkIff (not_valid_a, valid) in - ([[l_not_a]], [aa], uu____5776) in - FStar_SMTEncoding_Term.mkForall uu____5764 uu____5765 in - (uu____5763, (FStar_Pervasives_Native.Some "not interpretation"), - "l_not-interp") in - FStar_SMTEncoding_Util.mkAssume uu____5755 in - [uu____5754] in + let uu____6148 = FStar_SMTEncoding_Util.mkApp ("Valid", [a]) in + FStar_All.pipe_left FStar_SMTEncoding_Util.mkNot uu____6148 in + let uu____6153 = + let uu____6154 = + let uu____6162 = + let uu____6163 = FStar_TypeChecker_Env.get_range env in + let uu____6164 = + let uu____6175 = + FStar_SMTEncoding_Util.mkIff (not_valid_a, valid) in + ([[l_not_a]], [aa], uu____6175) in + FStar_SMTEncoding_Term.mkForall uu____6163 uu____6164 in + (uu____6162, (FStar_Pervasives_Native.Some "not interpretation"), + "l_not-interp") + in + FStar_SMTEncoding_Util.mkAssume uu____6154 in + [uu____6153] in let mk_range_interp env range tt = - let range_ty = FStar_SMTEncoding_Util.mkApp (range, []) in - let uu____5829 = - let uu____5830 = - let uu____5838 = - let uu____5839 = FStar_SMTEncoding_Term.mk_Range_const () in - FStar_SMTEncoding_Term.mk_HasTypeZ uu____5839 range_ty in - let uu____5840 = + let range_ty = FStar_SMTEncoding_Util.mkApp (range, []) in + let uu____6228 = + let uu____6229 = + let uu____6237 = + let uu____6238 = FStar_SMTEncoding_Term.mk_Range_const () in + FStar_SMTEncoding_Term.mk_HasTypeZ uu____6238 range_ty in + let uu____6239 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.mk_unique - "typing_range_const" in - (uu____5838, (FStar_Pervasives_Native.Some "Range_const typing"), - uu____5840) in - FStar_SMTEncoding_Util.mkAssume uu____5830 in - [uu____5829] in + "typing_range_const" + in + (uu____6237, (FStar_Pervasives_Native.Some "Range_const typing"), + uu____6239) + in + FStar_SMTEncoding_Util.mkAssume uu____6229 in + [uu____6228] in let mk_inversion_axiom env inversion tt = let tt1 = - FStar_SMTEncoding_Term.mk_fv ("t", FStar_SMTEncoding_Term.Term_sort) in - let t = FStar_SMTEncoding_Util.mkFreeV tt1 in + FStar_SMTEncoding_Term.mk_fv ("t", FStar_SMTEncoding_Term.Term_sort) + in + let t = FStar_SMTEncoding_Util.mkFreeV tt1 in let xx1 = - FStar_SMTEncoding_Term.mk_fv ("x", FStar_SMTEncoding_Term.Term_sort) in - let x1 = FStar_SMTEncoding_Util.mkFreeV xx1 in - let inversion_t = FStar_SMTEncoding_Util.mkApp (inversion, [t]) in - let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [inversion_t]) in + FStar_SMTEncoding_Term.mk_fv ("x", FStar_SMTEncoding_Term.Term_sort) + in + let x1 = FStar_SMTEncoding_Util.mkFreeV xx1 in + let inversion_t = FStar_SMTEncoding_Util.mkApp (inversion, [t]) in + let valid = FStar_SMTEncoding_Util.mkApp ("Valid", [inversion_t]) in let body = - let hastypeZ = FStar_SMTEncoding_Term.mk_HasTypeZ x1 t in + let hastypeZ = FStar_SMTEncoding_Term.mk_HasTypeZ x1 t in let hastypeS = - let uu____5886 = FStar_SMTEncoding_Term.n_fuel (Prims.parse_int "1") in - FStar_SMTEncoding_Term.mk_HasTypeFuel uu____5886 x1 t in - let uu____5888 = FStar_TypeChecker_Env.get_range env in - let uu____5889 = - let uu____5900 = FStar_SMTEncoding_Util.mkImp (hastypeZ, hastypeS) in - ([[hastypeZ]], [xx1], uu____5900) in - FStar_SMTEncoding_Term.mkForall uu____5888 uu____5889 in - let uu____5925 = - let uu____5926 = - let uu____5934 = - let uu____5935 = FStar_TypeChecker_Env.get_range env in - let uu____5936 = - let uu____5947 = FStar_SMTEncoding_Util.mkImp (valid, body) in - ([[inversion_t]], [tt1], uu____5947) in - FStar_SMTEncoding_Term.mkForall uu____5935 uu____5936 in - (uu____5934, + let uu____6285 = FStar_SMTEncoding_Term.n_fuel (Prims.parse_int "1") + in + FStar_SMTEncoding_Term.mk_HasTypeFuel uu____6285 x1 t in + let uu____6287 = FStar_TypeChecker_Env.get_range env in + let uu____6288 = + let uu____6299 = FStar_SMTEncoding_Util.mkImp (hastypeZ, hastypeS) + in + ([[hastypeZ]], [xx1], uu____6299) in + FStar_SMTEncoding_Term.mkForall uu____6287 uu____6288 in + let uu____6324 = + let uu____6325 = + let uu____6333 = + let uu____6334 = FStar_TypeChecker_Env.get_range env in + let uu____6335 = + let uu____6346 = FStar_SMTEncoding_Util.mkImp (valid, body) in + ([[inversion_t]], [tt1], uu____6346) in + FStar_SMTEncoding_Term.mkForall uu____6334 uu____6335 in + (uu____6333, (FStar_Pervasives_Native.Some "inversion interpretation"), - "inversion-interp") in - FStar_SMTEncoding_Util.mkAssume uu____5926 in - [uu____5925] in + "inversion-interp") + in + FStar_SMTEncoding_Util.mkAssume uu____6325 in + [uu____6324] in let mk_with_type_axiom env with_type1 tt = let tt1 = - FStar_SMTEncoding_Term.mk_fv ("t", FStar_SMTEncoding_Term.Term_sort) in - let t = FStar_SMTEncoding_Util.mkFreeV tt1 in + FStar_SMTEncoding_Term.mk_fv ("t", FStar_SMTEncoding_Term.Term_sort) + in + let t = FStar_SMTEncoding_Util.mkFreeV tt1 in let ee = - FStar_SMTEncoding_Term.mk_fv ("e", FStar_SMTEncoding_Term.Term_sort) in - let e = FStar_SMTEncoding_Util.mkFreeV ee in - let with_type_t_e = FStar_SMTEncoding_Util.mkApp (with_type1, [t; e]) in - let uu____6008 = - let uu____6009 = - let uu____6017 = - let uu____6018 = FStar_TypeChecker_Env.get_range env in - let uu____6019 = - let uu____6035 = - let uu____6036 = - let uu____6041 = - FStar_SMTEncoding_Util.mkEq (with_type_t_e, e) in - let uu____6042 = - FStar_SMTEncoding_Term.mk_HasType with_type_t_e t in - (uu____6041, uu____6042) in - FStar_SMTEncoding_Util.mkAnd uu____6036 in + FStar_SMTEncoding_Term.mk_fv ("e", FStar_SMTEncoding_Term.Term_sort) + in + let e = FStar_SMTEncoding_Util.mkFreeV ee in + let with_type_t_e = FStar_SMTEncoding_Util.mkApp (with_type1, [t; e]) in + let uu____6407 = + let uu____6408 = + let uu____6416 = + let uu____6417 = FStar_TypeChecker_Env.get_range env in + let uu____6418 = + let uu____6434 = + let uu____6435 = + let uu____6440 = + FStar_SMTEncoding_Util.mkEq (with_type_t_e, e) in + let uu____6441 = + FStar_SMTEncoding_Term.mk_HasType with_type_t_e t in + (uu____6440, uu____6441) in + FStar_SMTEncoding_Util.mkAnd uu____6435 in ([[with_type_t_e]], (FStar_Pervasives_Native.Some (Prims.parse_int "0")), - [tt1; ee], uu____6035) in - FStar_SMTEncoding_Term.mkForall' uu____6018 uu____6019 in - (uu____6017, + [tt1; ee], uu____6434) + in + FStar_SMTEncoding_Term.mkForall' uu____6417 uu____6418 in + (uu____6416, (FStar_Pervasives_Native.Some "with_type primitive axiom"), - "@with_type_primitive_axiom") in - FStar_SMTEncoding_Util.mkAssume uu____6009 in - [uu____6008] in + "@with_type_primitive_axiom") + in + FStar_SMTEncoding_Util.mkAssume uu____6408 in + [uu____6407] in let prims1 = [(FStar_Parser_Const.unit_lid, mk_unit); (FStar_Parser_Const.bool_lid, mk_bool); @@ -1416,44 +1698,50 @@ let (primitive_type_axioms : (FStar_Parser_Const.not_lid, mk_not_interp); (FStar_Parser_Const.range_lid, mk_range_interp); (FStar_Parser_Const.inversion_lid, mk_inversion_axiom); - (FStar_Parser_Const.with_type_lid, mk_with_type_axiom)] in - fun env -> - fun t -> - fun s -> - fun tt -> - let uu____6600 = + (FStar_Parser_Const.with_type_lid, mk_with_type_axiom)] in + fun env -> + fun t -> + fun s -> + fun tt -> + let uu____6999 = FStar_Util.find_opt - (fun uu____6638 -> - match uu____6638 with - | (l, uu____6654) -> FStar_Ident.lid_equals l t) prims1 in - match uu____6600 with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some (uu____6697, f) -> f env s tt + (fun uu____7037 -> + match uu____7037 with + | (l,uu____7053) -> FStar_Ident.lid_equals l t) prims1 + in + match uu____6999 with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some (uu____7096,f) -> f env s tt + let (encode_smt_lemma : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.typ -> FStar_SMTEncoding_Term.decls_elt Prims.list) = - fun env -> - fun fv -> - fun t -> - let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let uu____6758 = - FStar_SMTEncoding_EncodeTerm.encode_function_type_as_formula t env in - match uu____6758 with - | (form, decls) -> - let uu____6767 = - let uu____6770 = - let uu____6773 = + fun env -> + fun fv -> + fun t -> + let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + let uu____7157 = + FStar_SMTEncoding_EncodeTerm.encode_function_type_as_formula t env + in + match uu____7157 with + | (form,decls) -> + let uu____7166 = + let uu____7169 = + let uu____7172 = FStar_SMTEncoding_Util.mkAssume (form, (FStar_Pervasives_Native.Some (Prims.op_Hat "Lemma: " lid.FStar_Ident.str)), - (Prims.op_Hat "lemma_" lid.FStar_Ident.str)) in - [uu____6773] in - FStar_All.pipe_right uu____6770 - FStar_SMTEncoding_Term.mk_decls_trivial in - FStar_List.append decls uu____6767 + (Prims.op_Hat "lemma_" lid.FStar_Ident.str)) + in + [uu____7172] in + FStar_All.pipe_right uu____7169 + FStar_SMTEncoding_Term.mk_decls_trivial + in + FStar_List.append decls uu____7166 + let (encode_free_var : Prims.bool -> FStar_SMTEncoding_Env.env_t -> @@ -1463,269 +1751,301 @@ let (encode_free_var : FStar_Syntax_Syntax.qualifier Prims.list -> (FStar_SMTEncoding_Term.decls_t * FStar_SMTEncoding_Env.env_t)) = - fun uninterpreted -> - fun env -> - fun fv -> - fun tt -> - fun t_norm -> - fun quals -> + fun uninterpreted -> + fun env -> + fun fv -> + fun tt -> + fun t_norm -> + fun quals -> let lid = - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let uu____6832 = - ((let uu____6836 = + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + let uu____7231 = + ((let uu____7235 = (FStar_Syntax_Util.is_pure_or_ghost_function t_norm) || (FStar_TypeChecker_Env.is_reifiable_function - env.FStar_SMTEncoding_Env.tcenv t_norm) in - FStar_All.pipe_left Prims.op_Negation uu____6836) || + env.FStar_SMTEncoding_Env.tcenv t_norm) + in + FStar_All.pipe_left Prims.op_Negation uu____7235) || (FStar_Syntax_Util.is_lemma t_norm)) - || uninterpreted in - if uu____6832 + || uninterpreted + in + if uu____7231 then let arg_sorts = - let uu____6848 = - let uu____6849 = FStar_Syntax_Subst.compress t_norm in - uu____6849.FStar_Syntax_Syntax.n in - match uu____6848 with - | FStar_Syntax_Syntax.Tm_arrow (binders, uu____6855) -> + let uu____7247 = + let uu____7248 = FStar_Syntax_Subst.compress t_norm in + uu____7248.FStar_Syntax_Syntax.n in + match uu____7247 with + | FStar_Syntax_Syntax.Tm_arrow (binders,uu____7254) -> FStar_All.pipe_right binders (FStar_List.map - (fun uu____6893 -> + (fun uu____7292 -> FStar_SMTEncoding_Term.Term_sort)) - | uu____6900 -> [] in - let arity = FStar_List.length arg_sorts in - let uu____6902 = + | uu____7299 -> [] in + let arity = FStar_List.length arg_sorts in + let uu____7301 = FStar_SMTEncoding_Env.new_term_constant_and_tok_from_lid - env lid arity in - match uu____6902 with - | (vname, vtok, env1) -> + env lid arity + in + match uu____7301 with + | (vname,vtok,env1) -> let d = FStar_SMTEncoding_Term.DeclFun (vname, arg_sorts, FStar_SMTEncoding_Term.Term_sort, (FStar_Pervasives_Native.Some - "Uninterpreted function symbol for impure function")) in + "Uninterpreted function symbol for impure function")) + in let dd = FStar_SMTEncoding_Term.DeclFun (vtok, [], FStar_SMTEncoding_Term.Term_sort, (FStar_Pervasives_Native.Some - "Uninterpreted name for impure function")) in - let uu____6934 = + "Uninterpreted name for impure function")) + in + let uu____7333 = FStar_All.pipe_right [d; dd] - FStar_SMTEncoding_Term.mk_decls_trivial in - (uu____6934, env1) + FStar_SMTEncoding_Term.mk_decls_trivial + in + (uu____7333, env1) else - (let uu____6939 = prims.is lid in - if uu____6939 + (let uu____7338 = prims.is lid in + if uu____7338 then let vname = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.new_fvar - lid in - let uu____6948 = prims.mk lid vname in - match uu____6948 with - | (tok, arity, definition) -> + lid + in + let uu____7347 = prims.mk lid vname in + match uu____7347 with + | (tok,arity,definition) -> let env1 = FStar_SMTEncoding_Env.push_free_var env lid arity - vname (FStar_Pervasives_Native.Some tok) in - let uu____6972 = + vname (FStar_Pervasives_Native.Some tok) + in + let uu____7371 = FStar_All.pipe_right definition - FStar_SMTEncoding_Term.mk_decls_trivial in - (uu____6972, env1) + FStar_SMTEncoding_Term.mk_decls_trivial + in + (uu____7371, env1) else (let encode_non_total_function_typ = - lid.FStar_Ident.nsstr <> "Prims" in - let uu____6981 = - let uu____7000 = + lid.FStar_Ident.nsstr <> "Prims" in + let uu____7380 = + let uu____7399 = FStar_SMTEncoding_EncodeTerm.curried_arrow_formals_comp - t_norm in - match uu____7000 with - | (args, comp) -> + t_norm + in + match uu____7399 with + | (args,comp) -> let comp1 = - let uu____7028 = + let uu____7427 = FStar_TypeChecker_Env.is_reifiable_comp - env.FStar_SMTEncoding_Env.tcenv comp in - if uu____7028 + env.FStar_SMTEncoding_Env.tcenv comp + in + if uu____7427 then - let uu____7033 = + let uu____7432 = FStar_TypeChecker_Env.reify_comp - (let uu___295_7036 = - env.FStar_SMTEncoding_Env.tcenv in + (let uu___311_7435 = + env.FStar_SMTEncoding_Env.tcenv in { FStar_TypeChecker_Env.solver = - (uu___295_7036.FStar_TypeChecker_Env.solver); + (uu___311_7435.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___295_7036.FStar_TypeChecker_Env.range); + (uu___311_7435.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___295_7036.FStar_TypeChecker_Env.curmodule); + (uu___311_7435.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___295_7036.FStar_TypeChecker_Env.gamma); + (uu___311_7435.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___295_7036.FStar_TypeChecker_Env.gamma_sig); + (uu___311_7435.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___295_7036.FStar_TypeChecker_Env.gamma_cache); + (uu___311_7435.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___295_7036.FStar_TypeChecker_Env.modules); + (uu___311_7435.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___295_7036.FStar_TypeChecker_Env.expected_typ); + (uu___311_7435.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___295_7036.FStar_TypeChecker_Env.sigtab); + (uu___311_7435.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___295_7036.FStar_TypeChecker_Env.attrtab); + (uu___311_7435.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___295_7036.FStar_TypeChecker_Env.is_pattern); + (uu___311_7435.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___295_7036.FStar_TypeChecker_Env.instantiate_imp); + (uu___311_7435.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___295_7036.FStar_TypeChecker_Env.effects); + (uu___311_7435.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___295_7036.FStar_TypeChecker_Env.generalize); + (uu___311_7435.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___295_7036.FStar_TypeChecker_Env.letrecs); + (uu___311_7435.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___295_7036.FStar_TypeChecker_Env.top_level); + (uu___311_7435.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___295_7036.FStar_TypeChecker_Env.check_uvars); + (uu___311_7435.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___295_7036.FStar_TypeChecker_Env.use_eq); + (uu___311_7435.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___295_7036.FStar_TypeChecker_Env.is_iface); + (uu___311_7435.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___295_7036.FStar_TypeChecker_Env.admit); + (uu___311_7435.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___295_7036.FStar_TypeChecker_Env.lax_universes); + (uu___311_7435.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___295_7036.FStar_TypeChecker_Env.phase1); + (uu___311_7435.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___295_7036.FStar_TypeChecker_Env.failhard); + (uu___311_7435.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___295_7036.FStar_TypeChecker_Env.nosynth); + (uu___311_7435.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___295_7036.FStar_TypeChecker_Env.uvar_subtyping); + (uu___311_7435.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___295_7036.FStar_TypeChecker_Env.tc_term); + (uu___311_7435.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___295_7036.FStar_TypeChecker_Env.type_of); + (uu___311_7435.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___295_7036.FStar_TypeChecker_Env.universe_of); + (uu___311_7435.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___295_7036.FStar_TypeChecker_Env.check_type_of); + (uu___311_7435.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___295_7036.FStar_TypeChecker_Env.use_bv_sorts); + (uu___311_7435.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___295_7036.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___311_7435.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___295_7036.FStar_TypeChecker_Env.normalized_eff_names); + (uu___311_7435.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___295_7036.FStar_TypeChecker_Env.fv_delta_depths); + (uu___311_7435.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___295_7036.FStar_TypeChecker_Env.proof_ns); + (uu___311_7435.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___295_7036.FStar_TypeChecker_Env.synth_hook); + (uu___311_7435.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___295_7036.FStar_TypeChecker_Env.splice); + (uu___311_7435.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___295_7036.FStar_TypeChecker_Env.postprocess); + (uu___311_7435.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___295_7036.FStar_TypeChecker_Env.is_native_tactic); + (uu___311_7435.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___295_7036.FStar_TypeChecker_Env.identifier_info); + (uu___311_7435.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___295_7036.FStar_TypeChecker_Env.tc_hooks); + (uu___311_7435.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___295_7036.FStar_TypeChecker_Env.dsenv); + (uu___311_7435.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___295_7036.FStar_TypeChecker_Env.nbe) - }) comp FStar_Syntax_Syntax.U_unknown in - FStar_Syntax_Syntax.mk_Total uu____7033 - else comp in + (uu___311_7435.FStar_TypeChecker_Env.nbe) + }) comp FStar_Syntax_Syntax.U_unknown + in + FStar_Syntax_Syntax.mk_Total uu____7432 + else comp in if encode_non_total_function_typ then - let uu____7059 = + let uu____7458 = FStar_TypeChecker_Util.pure_or_ghost_pre_and_post - env.FStar_SMTEncoding_Env.tcenv comp1 in - (args, uu____7059) + env.FStar_SMTEncoding_Env.tcenv comp1 + in + (args, uu____7458) else (args, (FStar_Pervasives_Native.None, - (FStar_Syntax_Util.comp_result comp1))) in - match uu____6981 with - | (formals, (pre_opt, res_t)) -> + (FStar_Syntax_Util.comp_result comp1))) + in + match uu____7380 with + | (formals,(pre_opt,res_t)) -> let mk_disc_proj_axioms guard encoded_res_t vapp vars = FStar_All.pipe_right quals (FStar_List.collect - (fun uu___0_7165 -> - match uu___0_7165 with + (fun uu___0_7564 -> + match uu___0_7564 with | FStar_Syntax_Syntax.Discriminator d -> - let uu____7169 = FStar_Util.prefix vars in - (match uu____7169 with - | (uu____7202, xxv) -> + let uu____7568 = FStar_Util.prefix vars + in + (match uu____7568 with + | (uu____7601,xxv) -> let xx = - let uu____7241 = - let uu____7242 = - let uu____7248 = + let uu____7640 = + let uu____7641 = + let uu____7647 = FStar_SMTEncoding_Term.fv_name - xxv in - (uu____7248, - FStar_SMTEncoding_Term.Term_sort) in + xxv + in + (uu____7647, + FStar_SMTEncoding_Term.Term_sort) + in FStar_SMTEncoding_Term.mk_fv - uu____7242 in + uu____7641 + in FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV - uu____7241 in - let uu____7251 = - let uu____7252 = - let uu____7260 = - let uu____7261 = + uu____7640 + in + let uu____7650 = + let uu____7651 = + let uu____7659 = + let uu____7660 = FStar_Syntax_Syntax.range_of_fv - fv in - let uu____7262 = - let uu____7273 = - let uu____7274 = - let uu____7279 = - let uu____7280 = + fv + in + let uu____7661 = + let uu____7672 = + let uu____7673 = + let uu____7678 = + let uu____7679 = FStar_SMTEncoding_Term.mk_tester (FStar_SMTEncoding_Env.escape d.FStar_Ident.str) - xx in + xx + in FStar_All.pipe_left FStar_SMTEncoding_Term.boxBool - uu____7280 in - (vapp, uu____7279) in + uu____7679 + in + (vapp, uu____7678) in FStar_SMTEncoding_Util.mkEq - uu____7274 in + uu____7673 + in ([[vapp]], vars, - uu____7273) in + uu____7672) + in FStar_SMTEncoding_Term.mkForall - uu____7261 uu____7262 in - (uu____7260, + uu____7660 uu____7661 + in + (uu____7659, (FStar_Pervasives_Native.Some "Discriminator equation"), (Prims.op_Hat "disc_equation_" (FStar_SMTEncoding_Env.escape - d.FStar_Ident.str))) in + d.FStar_Ident.str))) + in FStar_SMTEncoding_Util.mkAssume - uu____7252 in - [uu____7251]) - | FStar_Syntax_Syntax.Projector (d, f) -> - let uu____7295 = FStar_Util.prefix vars in - (match uu____7295 with - | (uu____7328, xxv) -> + uu____7651 + in + [uu____7650]) + | FStar_Syntax_Syntax.Projector (d,f) -> + let uu____7694 = FStar_Util.prefix vars + in + (match uu____7694 with + | (uu____7727,xxv) -> let xx = - let uu____7367 = - let uu____7368 = - let uu____7374 = + let uu____7766 = + let uu____7767 = + let uu____7773 = FStar_SMTEncoding_Term.fv_name - xxv in - (uu____7374, - FStar_SMTEncoding_Term.Term_sort) in + xxv + in + (uu____7773, + FStar_SMTEncoding_Term.Term_sort) + in FStar_SMTEncoding_Term.mk_fv - uu____7368 in + uu____7767 + in FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV - uu____7367 in + uu____7766 + in let f1 = { FStar_Syntax_Syntax.ppname = f; @@ -1733,88 +2053,106 @@ let (encode_free_var : (Prims.parse_int "0"); FStar_Syntax_Syntax.sort = FStar_Syntax_Syntax.tun - } in + } in let tp_name = FStar_SMTEncoding_Env.mk_term_projector_name - d f1 in + d f1 + in let prim_app = FStar_SMTEncoding_Util.mkApp - (tp_name, [xx]) in - let uu____7385 = - let uu____7386 = - let uu____7394 = - let uu____7395 = + (tp_name, [xx]) + in + let uu____7784 = + let uu____7785 = + let uu____7793 = + let uu____7794 = FStar_Syntax_Syntax.range_of_fv - fv in - let uu____7396 = - let uu____7407 = + fv + in + let uu____7795 = + let uu____7806 = FStar_SMTEncoding_Util.mkEq - (vapp, prim_app) in + (vapp, prim_app) + in ([[vapp]], vars, - uu____7407) in + uu____7806) + in FStar_SMTEncoding_Term.mkForall - uu____7395 uu____7396 in - (uu____7394, + uu____7794 uu____7795 + in + (uu____7793, (FStar_Pervasives_Native.Some "Projector equation"), (Prims.op_Hat - "proj_equation_" tp_name)) in + "proj_equation_" tp_name)) + in FStar_SMTEncoding_Util.mkAssume - uu____7386 in - [uu____7385]) - | uu____7420 -> [])) in - let uu____7421 = + uu____7785 + in + [uu____7784]) + | uu____7819 -> [])) + in + let uu____7820 = FStar_SMTEncoding_EncodeTerm.encode_binders - FStar_Pervasives_Native.None formals env in - (match uu____7421 with - | (vars, guards, env', decls1, uu____7446) -> - let uu____7459 = + FStar_Pervasives_Native.None formals env + in + (match uu____7820 with + | (vars,guards,env',decls1,uu____7845) -> + let uu____7858 = match pre_opt with - | FStar_Pervasives_Native.None -> - let uu____7472 = - FStar_SMTEncoding_Util.mk_and_l guards in - (uu____7472, decls1) + | FStar_Pervasives_Native.None -> + let uu____7871 = + FStar_SMTEncoding_Util.mk_and_l guards + in + (uu____7871, decls1) | FStar_Pervasives_Native.Some p -> - let uu____7476 = + let uu____7875 = FStar_SMTEncoding_EncodeTerm.encode_formula - p env' in - (match uu____7476 with - | (g, ds) -> - let uu____7489 = + p env' + in + (match uu____7875 with + | (g,ds) -> + let uu____7888 = FStar_SMTEncoding_Util.mk_and_l (g - :: guards) in - (uu____7489, - (FStar_List.append decls1 ds))) in - (match uu____7459 with - | (guard, decls11) -> + :: guards) + in + (uu____7888, + (FStar_List.append decls1 ds))) + in + (match uu____7858 with + | (guard,decls11) -> let dummy_var = FStar_SMTEncoding_Term.mk_fv ("@dummy", - FStar_SMTEncoding_Term.dummy_sort) in + FStar_SMTEncoding_Term.dummy_sort) + in let dummy_tm = FStar_SMTEncoding_Term.mkFreeV dummy_var - FStar_Range.dummyRange in - let should_thunk uu____7512 = + FStar_Range.dummyRange + in + let should_thunk uu____7911 = let is_type1 t = - let uu____7520 = - let uu____7521 = - FStar_Syntax_Subst.compress t in - uu____7521.FStar_Syntax_Syntax.n in - match uu____7520 with + let uu____7919 = + let uu____7920 = + FStar_Syntax_Subst.compress t in + uu____7920.FStar_Syntax_Syntax.n in + match uu____7919 with | FStar_Syntax_Syntax.Tm_type - uu____7525 -> true - | uu____7527 -> false in + uu____7924 -> true + | uu____7926 -> false in let is_squash1 t = - let uu____7536 = - FStar_Syntax_Util.head_and_args t in - match uu____7536 with - | (head1, uu____7555) -> - let uu____7580 = - let uu____7581 = + let uu____7935 = + FStar_Syntax_Util.head_and_args t in + match uu____7935 with + | (head1,uu____7954) -> + let uu____7979 = + let uu____7980 = FStar_Syntax_Util.un_uinst - head1 in - uu____7581.FStar_Syntax_Syntax.n in - (match uu____7580 with + head1 + in + uu____7980.FStar_Syntax_Syntax.n + in + (match uu____7979 with | FStar_Syntax_Syntax.Tm_fvar fv1 -> FStar_Syntax_Syntax.fv_eq_lid @@ -1823,143 +2161,153 @@ let (encode_free_var : | FStar_Syntax_Syntax.Tm_refine ({ FStar_Syntax_Syntax.ppname - = uu____7586; + = uu____7985; FStar_Syntax_Syntax.index = - uu____7587; + uu____7986; FStar_Syntax_Syntax.sort = { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv1; FStar_Syntax_Syntax.pos - = uu____7589; + = uu____7988; FStar_Syntax_Syntax.vars - = uu____7590;_};_}, - uu____7591) + = uu____7989;_};_},uu____7990) -> FStar_Syntax_Syntax.fv_eq_lid fv1 FStar_Parser_Const.unit_lid - | uu____7599 -> false) in + | uu____7998 -> false) + in (((lid.FStar_Ident.nsstr <> "Prims") && - (let uu____7604 = + (let uu____8003 = FStar_All.pipe_right quals (FStar_List.contains - FStar_Syntax_Syntax.Logic) in - Prims.op_Negation uu____7604)) + FStar_Syntax_Syntax.Logic) + in + Prims.op_Negation uu____8003)) && - (let uu____7610 = is_squash1 t_norm in - Prims.op_Negation uu____7610)) + (let uu____8009 = is_squash1 t_norm + in + Prims.op_Negation uu____8009)) && - (let uu____7613 = is_type1 t_norm in - Prims.op_Negation uu____7613) in - let uu____7615 = + (let uu____8012 = is_type1 t_norm in + Prims.op_Negation uu____8012) + in + let uu____8014 = match vars with | [] when should_thunk () -> (true, [dummy_var]) - | uu____7674 -> (false, vars) in - (match uu____7615 with - | (thunked, vars1) -> - let arity = FStar_List.length formals in - let uu____7724 = + | uu____8073 -> (false, vars) in + (match uu____8014 with + | (thunked,vars1) -> + let arity = FStar_List.length formals + in + let uu____8123 = FStar_SMTEncoding_Env.new_term_constant_and_tok_from_lid_maybe_thunked - env lid arity thunked in - (match uu____7724 with - | (vname, vtok_opt, env1) -> - let get_vtok uu____7756 = - FStar_Option.get vtok_opt in + env lid arity thunked + in + (match uu____8123 with + | (vname,vtok_opt,env1) -> + let get_vtok uu____8155 = + FStar_Option.get vtok_opt in let vtok_tm = match formals with | [] when Prims.op_Negation thunked -> - let uu____7765 = - FStar_SMTEncoding_Term.mk_fv - (vname, - FStar_SMTEncoding_Term.Term_sort) in - FStar_All.pipe_left - FStar_SMTEncoding_Util.mkFreeV - uu____7765 + FStar_SMTEncoding_Util.mkApp + (vname, []) | [] when thunked -> FStar_SMTEncoding_Util.mkApp (vname, [dummy_tm]) - | uu____7776 -> - let uu____7785 = - let uu____7793 = - get_vtok () in - (uu____7793, []) in + | uu____8176 -> + let uu____8185 = + let uu____8193 = + get_vtok () in + (uu____8193, []) in FStar_SMTEncoding_Util.mkApp - uu____7785 in + uu____8185 + in let vtok_app = FStar_SMTEncoding_EncodeTerm.mk_Apply - vtok_tm vars1 in + vtok_tm vars1 + in let vapp = - let uu____7800 = - let uu____7808 = + let uu____8200 = + let uu____8208 = FStar_List.map FStar_SMTEncoding_Util.mkFreeV - vars1 in - (vname, uu____7808) in + vars1 + in + (vname, uu____8208) in FStar_SMTEncoding_Util.mkApp - uu____7800 in - let uu____7822 = + uu____8200 + in + let uu____8222 = let vname_decl = - let uu____7830 = - let uu____7842 = + let uu____8230 = + let uu____8242 = FStar_All.pipe_right vars1 (FStar_List.map - FStar_SMTEncoding_Term.fv_sort) in - (vname, uu____7842, + FStar_SMTEncoding_Term.fv_sort) + in + (vname, uu____8242, FStar_SMTEncoding_Term.Term_sort, - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in FStar_SMTEncoding_Term.DeclFun - uu____7830 in - let uu____7853 = + uu____8230 + in + let uu____8253 = let env2 = - let uu___390_7859 = env1 in + let uu___406_8259 = env1 + in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___390_7859.FStar_SMTEncoding_Env.bvar_bindings); + (uu___406_8259.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___390_7859.FStar_SMTEncoding_Env.fvar_bindings); + (uu___406_8259.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___390_7859.FStar_SMTEncoding_Env.depth); + (uu___406_8259.FStar_SMTEncoding_Env.depth); FStar_SMTEncoding_Env.tcenv = - (uu___390_7859.FStar_SMTEncoding_Env.tcenv); + (uu___406_8259.FStar_SMTEncoding_Env.tcenv); FStar_SMTEncoding_Env.warn = - (uu___390_7859.FStar_SMTEncoding_Env.warn); + (uu___406_8259.FStar_SMTEncoding_Env.warn); FStar_SMTEncoding_Env.nolabels = - (uu___390_7859.FStar_SMTEncoding_Env.nolabels); + (uu___406_8259.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = - (uu___390_7859.FStar_SMTEncoding_Env.use_zfuel_name); + (uu___406_8259.FStar_SMTEncoding_Env.use_zfuel_name); FStar_SMTEncoding_Env.encode_non_total_function_typ = encode_non_total_function_typ; FStar_SMTEncoding_Env.current_module_name = - (uu___390_7859.FStar_SMTEncoding_Env.current_module_name); + (uu___406_8259.FStar_SMTEncoding_Env.current_module_name); FStar_SMTEncoding_Env.encoding_quantifier = - (uu___390_7859.FStar_SMTEncoding_Env.encoding_quantifier); + (uu___406_8259.FStar_SMTEncoding_Env.encoding_quantifier); FStar_SMTEncoding_Env.global_cache = - (uu___390_7859.FStar_SMTEncoding_Env.global_cache) - } in - let uu____7860 = - let uu____7862 = + (uu___406_8259.FStar_SMTEncoding_Env.global_cache) + } in + let uu____8260 = + let uu____8262 = FStar_SMTEncoding_EncodeTerm.head_normal - env2 tt in + env2 tt + in Prims.op_Negation - uu____7862 in - if uu____7860 + uu____8262 + in + if uu____8260 then FStar_SMTEncoding_EncodeTerm.encode_term_pred FStar_Pervasives_Native.None @@ -1967,10 +2315,11 @@ let (encode_free_var : else FStar_SMTEncoding_EncodeTerm.encode_term_pred FStar_Pervasives_Native.None - t_norm env2 vtok_tm in - match uu____7853 with - | (tok_typing, decls2) -> - let uu____7879 = + t_norm env2 vtok_tm + in + match uu____8253 with + | (tok_typing,decls2) -> + let uu____8279 = match vars1 with | [] -> let tok_typing1 = @@ -1980,268 +2329,319 @@ let (encode_free_var : "function token typing"), (Prims.op_Hat "function_token_typing_" - vname)) in - let uu____7905 = - let uu____7908 = + vname)) + in + let uu____8305 = + let uu____8308 = FStar_All.pipe_right [tok_typing1] - FStar_SMTEncoding_Term.mk_decls_trivial in + FStar_SMTEncoding_Term.mk_decls_trivial + in FStar_List.append - decls2 uu____7908 in - let uu____7915 = - let uu____7916 = - let uu____7919 = - let uu____7920 - = - FStar_SMTEncoding_Term.mk_fv - (vname, - FStar_SMTEncoding_Term.Term_sort) in - FStar_SMTEncoding_Util.mkFreeV - uu____7920 in + decls2 uu____8308 + in + let uu____8315 = + let uu____8316 = + let uu____8319 = + FStar_SMTEncoding_Util.mkApp + (vname, []) + in FStar_All.pipe_left - (fun _7924 -> + (fun _8325 -> FStar_Pervasives_Native.Some - _7924) - uu____7919 in + _8325) + uu____8319 + in FStar_SMTEncoding_Env.push_free_var env1 lid arity - vname uu____7916 in - (uu____7905, - uu____7915) - | uu____7927 when thunked + vname uu____8316 + in + (uu____8305, + uu____8315) + | uu____8328 when thunked -> (decls2, env1) - | uu____7940 -> + | uu____8341 -> let vtok = - get_vtok () in + get_vtok () in let vtok_decl = FStar_SMTEncoding_Term.DeclFun (vtok, [], FStar_SMTEncoding_Term.Term_sort, - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in let name_tok_corr_formula pat = - let uu____7964 = + let uu____8365 = FStar_Syntax_Syntax.range_of_fv - fv in - let uu____7965 = - let uu____7976 = + fv + in + let uu____8366 = + let uu____8377 = FStar_SMTEncoding_Util.mkEq (vtok_app, - vapp) in + vapp) + in ([[pat]], vars1, - uu____7976) in + uu____8377) + in FStar_SMTEncoding_Term.mkForall - uu____7964 - uu____7965 in + uu____8365 + uu____8366 + in let name_tok_corr = - let uu____7986 = - let uu____7994 = + let uu____8387 = + let uu____8395 = name_tok_corr_formula - vtok_app in - (uu____7994, + vtok_app + in + (uu____8395, (FStar_Pervasives_Native.Some "Name-token correspondence"), (Prims.op_Hat "token_correspondence_" - vname)) in + vname)) + in FStar_SMTEncoding_Util.mkAssume - uu____7986 in + uu____8387 + in let tok_typing1 = let ff = FStar_SMTEncoding_Term.mk_fv ("ty", - FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.Term_sort) + in let f = FStar_SMTEncoding_Util.mkFreeV - ff in + ff + in let vtok_app_r = - let uu____8005 = - let uu____8006 + let uu____8406 = + let uu____8407 = FStar_SMTEncoding_Term.mk_fv (vtok, - FStar_SMTEncoding_Term.Term_sort) in - [uu____8006] in + FStar_SMTEncoding_Term.Term_sort) + in + [uu____8407] + in FStar_SMTEncoding_EncodeTerm.mk_Apply - f uu____8005 in + f uu____8406 + in let guarded_tok_typing = - let uu____8033 = + let uu____8434 = FStar_Syntax_Syntax.range_of_fv - fv in - let uu____8034 = - let uu____8045 + fv + in + let uu____8435 = + let uu____8446 = - let uu____8046 + let uu____8447 = - let uu____8051 + let uu____8452 = FStar_SMTEncoding_Term.mk_NoHoist f - tok_typing in - let uu____8052 + tok_typing + in + let uu____8453 = name_tok_corr_formula - vapp in - (uu____8051, - uu____8052) in + vapp in + (uu____8452, + uu____8453) + in FStar_SMTEncoding_Util.mkAnd - uu____8046 in + uu____8447 + in ([[vtok_app_r]], [ff], - uu____8045) in + uu____8446) + in FStar_SMTEncoding_Term.mkForall - uu____8033 - uu____8034 in + uu____8434 + uu____8435 + in FStar_SMTEncoding_Util.mkAssume (guarded_tok_typing, (FStar_Pervasives_Native.Some "function token typing"), (Prims.op_Hat "function_token_typing_" - vname)) in - let uu____8081 = - let uu____8084 = + vname)) + in + let uu____8482 = + let uu____8485 = FStar_All.pipe_right [vtok_decl; name_tok_corr; tok_typing1] - FStar_SMTEncoding_Term.mk_decls_trivial in + FStar_SMTEncoding_Term.mk_decls_trivial + in FStar_List.append - decls2 uu____8084 in - (uu____8081, env1) in - (match uu____7879 with - | (tok_decl, env2) -> - let uu____8105 = - let uu____8108 = + decls2 uu____8485 + in + (uu____8482, env1) + in + (match uu____8279 with + | (tok_decl,env2) -> + let uu____8506 = + let uu____8509 = FStar_All.pipe_right [vname_decl] - FStar_SMTEncoding_Term.mk_decls_trivial in + FStar_SMTEncoding_Term.mk_decls_trivial + in FStar_List.append - uu____8108 - tok_decl in - (uu____8105, env2)) in - (match uu____7822 with - | (decls2, env2) -> - let uu____8127 = + uu____8509 + tok_decl + in + (uu____8506, env2)) + in + (match uu____8222 with + | (decls2,env2) -> + let uu____8528 = let res_t1 = FStar_Syntax_Subst.compress - res_t in - let uu____8137 = + res_t + in + let uu____8538 = FStar_SMTEncoding_EncodeTerm.encode_term - res_t1 env' in - match uu____8137 with - | (encoded_res_t, decls) - -> - let uu____8152 = + res_t1 env' + in + match uu____8538 with + | (encoded_res_t,decls) -> + let uu____8553 = FStar_SMTEncoding_Term.mk_HasType - vapp encoded_res_t in + vapp encoded_res_t + in (encoded_res_t, - uu____8152, decls) in - (match uu____8127 with - | (encoded_res_t, ty_pred, - decls3) -> + uu____8553, decls) + in + (match uu____8528 with + | (encoded_res_t,ty_pred,decls3) + -> let typingAx = - let uu____8167 = - let uu____8175 = - let uu____8176 = + let uu____8568 = + let uu____8576 = + let uu____8577 = FStar_Syntax_Syntax.range_of_fv - fv in - let uu____8177 = - let uu____8188 + fv + in + let uu____8578 = + let uu____8589 = FStar_SMTEncoding_Util.mkImp (guard, - ty_pred) in + ty_pred) + in ([[vapp]], vars1, - uu____8188) in + uu____8589) + in FStar_SMTEncoding_Term.mkForall - uu____8176 - uu____8177 in - (uu____8175, + uu____8577 + uu____8578 + in + (uu____8576, (FStar_Pervasives_Native.Some "free var typing"), (Prims.op_Hat "typing_" - vname)) in + vname)) + in FStar_SMTEncoding_Util.mkAssume - uu____8167 in + uu____8568 + in let freshness = - let uu____8204 = + let uu____8605 = FStar_All.pipe_right quals (FStar_List.contains - FStar_Syntax_Syntax.New) in - if uu____8204 + FStar_Syntax_Syntax.New) + in + if uu____8605 then - let uu____8212 = - let uu____8213 = + let uu____8613 = + let uu____8614 = FStar_Syntax_Syntax.range_of_fv - fv in - let uu____8214 = - let uu____8227 + fv + in + let uu____8615 = + let uu____8628 = FStar_All.pipe_right vars1 (FStar_List.map - FStar_SMTEncoding_Term.fv_sort) in - let uu____8234 + FStar_SMTEncoding_Term.fv_sort) + in + let uu____8635 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.next_id - () in + () + in (vname, - uu____8227, + uu____8628, FStar_SMTEncoding_Term.Term_sort, - uu____8234) in + uu____8635) + in FStar_SMTEncoding_Term.fresh_constructor - uu____8213 - uu____8214 in - let uu____8240 = - let uu____8243 = - let uu____8244 + uu____8614 + uu____8615 + in + let uu____8641 = + let uu____8644 = + let uu____8645 = FStar_Syntax_Syntax.range_of_fv - fv in + fv + in pretype_axiom - uu____8244 + uu____8645 env2 vapp - vars1 in - [uu____8243] in - uu____8212 :: - uu____8240 - else [] in + vars1 + in + [uu____8644] in + uu____8613 :: + uu____8641 + else [] in let g = - let uu____8250 = - let uu____8253 = - let uu____8256 = - let uu____8259 + let uu____8651 = + let uu____8654 = + let uu____8657 = + let uu____8660 = - let uu____8262 + let uu____8663 = - let uu____8265 + let uu____8666 = mk_disc_proj_axioms guard encoded_res_t vapp - vars1 in + vars1 in typingAx :: - uu____8265 in + uu____8666 + in FStar_List.append freshness - uu____8262 in + uu____8663 + in FStar_All.pipe_right - uu____8259 - FStar_SMTEncoding_Term.mk_decls_trivial in + uu____8660 + FStar_SMTEncoding_Term.mk_decls_trivial + in FStar_List.append decls3 - uu____8256 in + uu____8657 + in FStar_List.append - decls2 uu____8253 in + decls2 uu____8654 + in FStar_List.append - decls11 uu____8250 in + decls11 uu____8651 + in (g, env2))))))))) + let (declare_top_level_let : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.fv -> @@ -2251,23 +2651,26 @@ let (declare_top_level_let : FStar_SMTEncoding_Term.decls_elt Prims.list * FStar_SMTEncoding_Env.env_t)) = - fun env -> - fun x -> - fun t -> - fun t_norm -> - let uu____8305 = + fun env -> + fun x -> + fun t -> + fun t_norm -> + let uu____8706 = FStar_SMTEncoding_Env.lookup_fvar_binding env - (x.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - match uu____8305 with - | FStar_Pervasives_Native.None -> - let uu____8316 = encode_free_var false env x t t_norm [] in - (match uu____8316 with - | (decls, env1) -> + (x.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + match uu____8706 with + | FStar_Pervasives_Native.None -> + let uu____8717 = encode_free_var false env x t t_norm [] in + (match uu____8717 with + | (decls,env1) -> let fvb = FStar_SMTEncoding_Env.lookup_lid env1 - (x.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (x.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in (fvb, decls, env1)) | FStar_Pervasives_Native.Some fvb -> (fvb, [], env) + let (encode_top_level_val : Prims.bool -> FStar_SMTEncoding_Env.env_t -> @@ -2276,23 +2679,25 @@ let (encode_top_level_val : FStar_Syntax_Syntax.qualifier Prims.list -> (FStar_SMTEncoding_Term.decls_t * FStar_SMTEncoding_Env.env_t)) = - fun uninterpreted -> - fun env -> - fun lid -> - fun t -> - fun quals -> - let tt = norm_before_encoding env t in - let uu____8379 = encode_free_var uninterpreted env lid t tt quals in - match uu____8379 with - | (decls, env1) -> - let uu____8390 = FStar_Syntax_Util.is_smt_lemma t in - if uu____8390 + fun uninterpreted -> + fun env -> + fun lid -> + fun t -> + fun quals -> + let tt = norm_before_encoding env t in + let uu____8780 = encode_free_var uninterpreted env lid t tt quals + in + match uu____8780 with + | (decls,env1) -> + let uu____8791 = FStar_Syntax_Util.is_smt_lemma t in + if uu____8791 then - let uu____8397 = - let uu____8398 = encode_smt_lemma env1 lid tt in - FStar_List.append decls uu____8398 in - (uu____8397, env1) + let uu____8798 = + let uu____8799 = encode_smt_lemma env1 lid tt in + FStar_List.append decls uu____8799 in + (uu____8798, env1) else (decls, env1) + let (encode_top_level_vals : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.letbinding Prims.list -> @@ -2300,251 +2705,269 @@ let (encode_top_level_vals : (FStar_SMTEncoding_Term.decls_elt Prims.list * FStar_SMTEncoding_Env.env_t)) = - fun env -> - fun bindings -> - fun quals -> + fun env -> + fun bindings -> + fun quals -> FStar_All.pipe_right bindings (FStar_List.fold_left - (fun uu____8454 -> - fun lb -> - match uu____8454 with - | (decls, env1) -> - let uu____8474 = - let uu____8479 = - FStar_Util.right lb.FStar_Syntax_Syntax.lbname in - encode_top_level_val false env1 uu____8479 - lb.FStar_Syntax_Syntax.lbtyp quals in - (match uu____8474 with - | (decls', env2) -> + (fun uu____8855 -> + fun lb -> + match uu____8855 with + | (decls,env1) -> + let uu____8875 = + let uu____8880 = + FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + encode_top_level_val false env1 uu____8880 + lb.FStar_Syntax_Syntax.lbtyp quals + in + (match uu____8875 with + | (decls',env2) -> ((FStar_List.append decls decls'), env2))) ([], env)) + let (is_tactic : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let fstar_tactics_tactic_lid = - FStar_Parser_Const.p2l ["FStar"; "Tactics"; "tactic"] in - let uu____8508 = FStar_Syntax_Util.head_and_args t in - match uu____8508 with - | (hd1, args) -> - let uu____8552 = - let uu____8553 = FStar_Syntax_Util.un_uinst hd1 in - uu____8553.FStar_Syntax_Syntax.n in - (match uu____8552 with + FStar_Parser_Const.p2l ["FStar"; "Tactics"; "tactic"] in + let uu____8909 = FStar_Syntax_Util.head_and_args t in + match uu____8909 with + | (hd1,args) -> + let uu____8953 = + let uu____8954 = FStar_Syntax_Util.un_uinst hd1 in + uu____8954.FStar_Syntax_Syntax.n in + (match uu____8953 with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_tactic_lid -> true - | FStar_Syntax_Syntax.Tm_arrow (uu____8559, c) -> - let effect_name = FStar_Syntax_Util.comp_effect_name c in + | FStar_Syntax_Syntax.Tm_arrow (uu____8960,c) -> + let effect_name = FStar_Syntax_Util.comp_effect_name c in FStar_Util.starts_with "FStar.Tactics" effect_name.FStar_Ident.str - | uu____8583 -> false) + | uu____8984 -> false) + exception Let_rec_unencodeable let (uu___is_Let_rec_unencodeable : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | Let_rec_unencodeable -> true | uu____8594 -> false + fun projectee -> + match projectee with + | Let_rec_unencodeable -> true + | uu____8995 -> false + let (copy_env : FStar_SMTEncoding_Env.env_t -> FStar_SMTEncoding_Env.env_t) = - fun en -> - let uu___474_8602 = en in - let uu____8603 = - FStar_Util.smap_copy en.FStar_SMTEncoding_Env.global_cache in + fun en -> + let uu___490_9003 = en in + let uu____9004 = + FStar_Util.smap_copy en.FStar_SMTEncoding_Env.global_cache in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___474_8602.FStar_SMTEncoding_Env.bvar_bindings); + (uu___490_9003.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___474_8602.FStar_SMTEncoding_Env.fvar_bindings); + (uu___490_9003.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___474_8602.FStar_SMTEncoding_Env.depth); + (uu___490_9003.FStar_SMTEncoding_Env.depth); FStar_SMTEncoding_Env.tcenv = - (uu___474_8602.FStar_SMTEncoding_Env.tcenv); - FStar_SMTEncoding_Env.warn = (uu___474_8602.FStar_SMTEncoding_Env.warn); + (uu___490_9003.FStar_SMTEncoding_Env.tcenv); + FStar_SMTEncoding_Env.warn = (uu___490_9003.FStar_SMTEncoding_Env.warn); FStar_SMTEncoding_Env.nolabels = - (uu___474_8602.FStar_SMTEncoding_Env.nolabels); + (uu___490_9003.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = - (uu___474_8602.FStar_SMTEncoding_Env.use_zfuel_name); + (uu___490_9003.FStar_SMTEncoding_Env.use_zfuel_name); FStar_SMTEncoding_Env.encode_non_total_function_typ = - (uu___474_8602.FStar_SMTEncoding_Env.encode_non_total_function_typ); + (uu___490_9003.FStar_SMTEncoding_Env.encode_non_total_function_typ); FStar_SMTEncoding_Env.current_module_name = - (uu___474_8602.FStar_SMTEncoding_Env.current_module_name); + (uu___490_9003.FStar_SMTEncoding_Env.current_module_name); FStar_SMTEncoding_Env.encoding_quantifier = - (uu___474_8602.FStar_SMTEncoding_Env.encoding_quantifier); - FStar_SMTEncoding_Env.global_cache = uu____8603 + (uu___490_9003.FStar_SMTEncoding_Env.encoding_quantifier); + FStar_SMTEncoding_Env.global_cache = uu____9004 } + let (encode_top_level_let : FStar_SMTEncoding_Env.env_t -> (Prims.bool * FStar_Syntax_Syntax.letbinding Prims.list) -> FStar_Syntax_Syntax.qualifier Prims.list -> (FStar_SMTEncoding_Term.decls_t * FStar_SMTEncoding_Env.env_t)) = - fun env -> - fun uu____8633 -> - fun quals -> - match uu____8633 with - | (is_rec, bindings) -> + fun env -> + fun uu____9034 -> + fun quals -> + match uu____9034 with + | (is_rec,bindings) -> let eta_expand1 binders formals body t = - let nbinders = FStar_List.length binders in - let uu____8738 = FStar_Util.first_N nbinders formals in - match uu____8738 with - | (formals1, extra_formals) -> + let nbinders = FStar_List.length binders in + let uu____9139 = FStar_Util.first_N nbinders formals in + match uu____9139 with + | (formals1,extra_formals) -> let subst1 = FStar_List.map2 - (fun uu____8835 -> - fun uu____8836 -> - match (uu____8835, uu____8836) with - | ((formal, uu____8862), (binder, uu____8864)) -> - let uu____8885 = - let uu____8892 = - FStar_Syntax_Syntax.bv_to_name binder in - (formal, uu____8892) in - FStar_Syntax_Syntax.NT uu____8885) formals1 - binders in + (fun uu____9236 -> + fun uu____9237 -> + match (uu____9236, uu____9237) with + | ((formal,uu____9263),(binder,uu____9265)) -> + let uu____9286 = + let uu____9293 = + FStar_Syntax_Syntax.bv_to_name binder in + (formal, uu____9293) in + FStar_Syntax_Syntax.NT uu____9286) formals1 + binders + in let extra_formals1 = - let uu____8906 = + let uu____9307 = FStar_All.pipe_right extra_formals (FStar_List.map - (fun uu____8947 -> - match uu____8947 with - | (x, i) -> - let uu____8966 = - let uu___500_8967 = x in - let uu____8968 = + (fun uu____9348 -> + match uu____9348 with + | (x,i) -> + let uu____9367 = + let uu___516_9368 = x in + let uu____9369 = FStar_Syntax_Subst.subst subst1 - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = - (uu___500_8967.FStar_Syntax_Syntax.ppname); + (uu___516_9368.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___500_8967.FStar_Syntax_Syntax.index); - FStar_Syntax_Syntax.sort = uu____8968 - } in - (uu____8966, i))) in - FStar_All.pipe_right uu____8906 - FStar_Syntax_Util.name_binders in + (uu___516_9368.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort = uu____9369 + } in + (uu____9367, i))) + in + FStar_All.pipe_right uu____9307 + FStar_Syntax_Util.name_binders + in let body1 = - let uu____8992 = - let uu____8997 = FStar_Syntax_Subst.compress body in - let uu____8998 = - let uu____8999 = - FStar_Syntax_Util.args_of_binders extra_formals1 in + let uu____9393 = + let uu____9398 = FStar_Syntax_Subst.compress body in + let uu____9399 = + let uu____9400 = + FStar_Syntax_Util.args_of_binders extra_formals1 + in FStar_All.pipe_left FStar_Pervasives_Native.snd - uu____8999 in - FStar_Syntax_Syntax.extend_app_n uu____8997 uu____8998 in - uu____8992 FStar_Pervasives_Native.None - body.FStar_Syntax_Syntax.pos in - ((FStar_List.append binders extra_formals1), body1) in + uu____9400 + in + FStar_Syntax_Syntax.extend_app_n uu____9398 uu____9399 + in + uu____9393 FStar_Pervasives_Native.None + body.FStar_Syntax_Syntax.pos + in + ((FStar_List.append binders extra_formals1), body1) + in let destruct_bound_function t e = let tcenv = - let uu___507_9048 = env.FStar_SMTEncoding_Env.tcenv in + let uu___523_9449 = env.FStar_SMTEncoding_Env.tcenv in { FStar_TypeChecker_Env.solver = - (uu___507_9048.FStar_TypeChecker_Env.solver); + (uu___523_9449.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___507_9048.FStar_TypeChecker_Env.range); + (uu___523_9449.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___507_9048.FStar_TypeChecker_Env.curmodule); + (uu___523_9449.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___507_9048.FStar_TypeChecker_Env.gamma); + (uu___523_9449.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___507_9048.FStar_TypeChecker_Env.gamma_sig); + (uu___523_9449.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___507_9048.FStar_TypeChecker_Env.gamma_cache); + (uu___523_9449.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___507_9048.FStar_TypeChecker_Env.modules); + (uu___523_9449.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___507_9048.FStar_TypeChecker_Env.expected_typ); + (uu___523_9449.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___507_9048.FStar_TypeChecker_Env.sigtab); + (uu___523_9449.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___507_9048.FStar_TypeChecker_Env.attrtab); + (uu___523_9449.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___507_9048.FStar_TypeChecker_Env.is_pattern); + (uu___523_9449.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___507_9048.FStar_TypeChecker_Env.instantiate_imp); + (uu___523_9449.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___507_9048.FStar_TypeChecker_Env.effects); + (uu___523_9449.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___507_9048.FStar_TypeChecker_Env.generalize); + (uu___523_9449.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___507_9048.FStar_TypeChecker_Env.letrecs); + (uu___523_9449.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___507_9048.FStar_TypeChecker_Env.top_level); + (uu___523_9449.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___507_9048.FStar_TypeChecker_Env.check_uvars); + (uu___523_9449.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___507_9048.FStar_TypeChecker_Env.use_eq); + (uu___523_9449.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___507_9048.FStar_TypeChecker_Env.is_iface); + (uu___523_9449.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___507_9048.FStar_TypeChecker_Env.admit); + (uu___523_9449.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___507_9048.FStar_TypeChecker_Env.lax_universes); + (uu___523_9449.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___507_9048.FStar_TypeChecker_Env.phase1); + (uu___523_9449.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___507_9048.FStar_TypeChecker_Env.failhard); + (uu___523_9449.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___507_9048.FStar_TypeChecker_Env.nosynth); + (uu___523_9449.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___507_9048.FStar_TypeChecker_Env.uvar_subtyping); + (uu___523_9449.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___507_9048.FStar_TypeChecker_Env.tc_term); + (uu___523_9449.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___507_9048.FStar_TypeChecker_Env.type_of); + (uu___523_9449.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___507_9048.FStar_TypeChecker_Env.universe_of); + (uu___523_9449.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___507_9048.FStar_TypeChecker_Env.check_type_of); + (uu___523_9449.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___507_9048.FStar_TypeChecker_Env.use_bv_sorts); + (uu___523_9449.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___507_9048.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___523_9449.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___507_9048.FStar_TypeChecker_Env.normalized_eff_names); + (uu___523_9449.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___507_9048.FStar_TypeChecker_Env.fv_delta_depths); + (uu___523_9449.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___507_9048.FStar_TypeChecker_Env.proof_ns); + (uu___523_9449.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___507_9048.FStar_TypeChecker_Env.synth_hook); + (uu___523_9449.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___507_9048.FStar_TypeChecker_Env.splice); + (uu___523_9449.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___507_9048.FStar_TypeChecker_Env.postprocess); + (uu___523_9449.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___507_9048.FStar_TypeChecker_Env.is_native_tactic); + (uu___523_9449.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___507_9048.FStar_TypeChecker_Env.identifier_info); + (uu___523_9449.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___507_9048.FStar_TypeChecker_Env.tc_hooks); + (uu___523_9449.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___507_9048.FStar_TypeChecker_Env.dsenv); + (uu___523_9449.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___507_9048.FStar_TypeChecker_Env.nbe) - } in + (uu___523_9449.FStar_TypeChecker_Env.nbe) + } in let subst_comp1 formals actuals comp = let subst1 = FStar_List.map2 - (fun uu____9120 -> - fun uu____9121 -> - match (uu____9120, uu____9121) with - | ((x, uu____9147), (b, uu____9149)) -> - let uu____9170 = - let uu____9177 = - FStar_Syntax_Syntax.bv_to_name b in - (x, uu____9177) in - FStar_Syntax_Syntax.NT uu____9170) formals - actuals in - FStar_Syntax_Subst.subst_comp subst1 comp in + (fun uu____9521 -> + fun uu____9522 -> + match (uu____9521, uu____9522) with + | ((x,uu____9548),(b,uu____9550)) -> + let uu____9571 = + let uu____9578 = + FStar_Syntax_Syntax.bv_to_name b in + (x, uu____9578) in + FStar_Syntax_Syntax.NT uu____9571) formals + actuals + in + FStar_Syntax_Subst.subst_comp subst1 comp in let rec arrow_formals_comp_norm norm1 t1 = let t2 = - let uu____9202 = FStar_Syntax_Subst.compress t1 in - FStar_All.pipe_left FStar_Syntax_Util.unascribe uu____9202 in + let uu____9603 = FStar_Syntax_Subst.compress t1 in + FStar_All.pipe_left FStar_Syntax_Util.unascribe uu____9603 + in match t2.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (formals, comp) -> + | FStar_Syntax_Syntax.Tm_arrow (formals,comp) -> FStar_Syntax_Subst.open_comp formals comp - | FStar_Syntax_Syntax.Tm_refine uu____9231 -> - let uu____9238 = FStar_Syntax_Util.unrefine t2 in - arrow_formals_comp_norm norm1 uu____9238 - | uu____9239 when Prims.op_Negation norm1 -> + | FStar_Syntax_Syntax.Tm_refine uu____9632 -> + let uu____9639 = FStar_Syntax_Util.unrefine t2 in + arrow_formals_comp_norm norm1 uu____9639 + | uu____9640 when Prims.op_Negation norm1 -> let t_norm = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.AllowUnboundUniverses; @@ -2555,231 +2978,254 @@ let (encode_top_level_let : FStar_TypeChecker_Env.Zeta; FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.EraseUniverses] tcenv t2 in + FStar_TypeChecker_Env.EraseUniverses] tcenv t2 + in arrow_formals_comp_norm true t_norm - | uu____9242 -> - let uu____9243 = FStar_Syntax_Syntax.mk_Total t2 in - ([], uu____9243) in + | uu____9643 -> + let uu____9644 = FStar_Syntax_Syntax.mk_Total t2 in + ([], uu____9644) + in let aux t1 e1 = - let uu____9285 = FStar_Syntax_Util.abs_formals e1 in - match uu____9285 with - | (binders, body, lopt) -> - let uu____9317 = + let uu____9686 = FStar_Syntax_Util.abs_formals e1 in + match uu____9686 with + | (binders,body,lopt) -> + let uu____9718 = match binders with | [] -> arrow_formals_comp_norm true t1 - | uu____9333 -> arrow_formals_comp_norm false t1 in - (match uu____9317 with - | (formals, comp) -> - let nformals = FStar_List.length formals in - let nbinders = FStar_List.length binders in - let uu____9367 = + | uu____9734 -> arrow_formals_comp_norm false t1 in + (match uu____9718 with + | (formals,comp) -> + let nformals = FStar_List.length formals in + let nbinders = FStar_List.length binders in + let uu____9768 = if nformals < nbinders then - let uu____9401 = - FStar_Util.first_N nformals binders in - match uu____9401 with - | (bs0, rest) -> + let uu____9802 = + FStar_Util.first_N nformals binders in + match uu____9802 with + | (bs0,rest) -> let body1 = - FStar_Syntax_Util.abs rest body lopt in - let uu____9481 = - subst_comp1 formals bs0 comp in - (bs0, body1, uu____9481) + FStar_Syntax_Util.abs rest body lopt in + let uu____9882 = + subst_comp1 formals bs0 comp in + (bs0, body1, uu____9882) else if nformals > nbinders then - (let uu____9511 = + (let uu____9912 = eta_expand1 binders formals body - (FStar_Syntax_Util.comp_result comp) in - match uu____9511 with - | (binders1, body1) -> - let uu____9564 = - subst_comp1 formals binders1 comp in - (binders1, body1, uu____9564)) + (FStar_Syntax_Util.comp_result comp) + in + match uu____9912 with + | (binders1,body1) -> + let uu____9965 = + subst_comp1 formals binders1 comp in + (binders1, body1, uu____9965)) else - (let uu____9577 = - subst_comp1 formals binders comp in - (binders, body, uu____9577)) in - (match uu____9367 with - | (binders1, body1, comp1) -> - (binders1, body1, comp1))) in - let uu____9637 = aux t e in - match uu____9637 with - | (binders, body, comp) -> - let uu____9683 = - let uu____9694 = - FStar_TypeChecker_Env.is_reifiable_comp tcenv comp in - if uu____9694 + (let uu____9978 = + subst_comp1 formals binders comp in + (binders, body, uu____9978)) + in + (match uu____9768 with + | (binders1,body1,comp1) -> + (binders1, body1, comp1))) + in + let uu____10038 = aux t e in + match uu____10038 with + | (binders,body,comp) -> + let uu____10084 = + let uu____10095 = + FStar_TypeChecker_Env.is_reifiable_comp tcenv comp in + if uu____10095 then let comp1 = FStar_TypeChecker_Env.reify_comp tcenv comp - FStar_Syntax_Syntax.U_unknown in + FStar_Syntax_Syntax.U_unknown + in let body1 = - FStar_TypeChecker_Util.reify_body tcenv body in - let uu____9709 = aux comp1 body1 in - match uu____9709 with - | (more_binders, body2, comp2) -> + FStar_TypeChecker_Util.reify_body tcenv body in + let uu____10110 = aux comp1 body1 in + match uu____10110 with + | (more_binders,body2,comp2) -> ((FStar_List.append binders more_binders), body2, comp2) - else (binders, body, comp) in - (match uu____9683 with - | (binders1, body1, comp1) -> - let uu____9792 = + else (binders, body, comp) in + (match uu____10084 with + | (binders1,body1,comp1) -> + let uu____10193 = FStar_Syntax_Util.ascribe body1 ((FStar_Util.Inl (FStar_Syntax_Util.comp_result comp1)), - FStar_Pervasives_Native.None) in - (binders1, uu____9792, comp1)) in + FStar_Pervasives_Native.None) + in + (binders1, uu____10193, comp1)) + in (try - (fun uu___577_9819 -> + (fun uu___593_10220 -> match () with | () -> - let uu____9826 = + let uu____10227 = FStar_All.pipe_right bindings (FStar_Util.for_all - (fun lb -> + (fun lb -> (FStar_Syntax_Util.is_lemma lb.FStar_Syntax_Syntax.lbtyp) - || (is_tactic lb.FStar_Syntax_Syntax.lbtyp))) in - if uu____9826 + || (is_tactic lb.FStar_Syntax_Syntax.lbtyp))) + in + if uu____10227 then encode_top_level_vals env bindings quals else - (let uu____9842 = + (let uu____10243 = FStar_All.pipe_right bindings (FStar_List.fold_left - (fun uu____9905 -> - fun lb -> - match uu____9905 with - | (toks, typs, decls, env1) -> - ((let uu____9960 = + (fun uu____10306 -> + fun lb -> + match uu____10306 with + | (toks,typs,decls,env1) -> + ((let uu____10361 = FStar_Syntax_Util.is_lemma - lb.FStar_Syntax_Syntax.lbtyp in - if uu____9960 + lb.FStar_Syntax_Syntax.lbtyp + in + if uu____10361 then FStar_Exn.raise Let_rec_unencodeable else ()); (let t_norm = norm_before_encoding env1 - lb.FStar_Syntax_Syntax.lbtyp in - let uu____9966 = - let uu____9975 = + lb.FStar_Syntax_Syntax.lbtyp + in + let uu____10367 = + let uu____10376 = FStar_Util.right - lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbname + in declare_top_level_let env1 - uu____9975 + uu____10376 lb.FStar_Syntax_Syntax.lbtyp - t_norm in - match uu____9966 with - | (tok, decl, env2) -> + t_norm + in + match uu____10367 with + | (tok,decl,env2) -> ((tok :: toks), (t_norm :: typs), (decl :: decls), - env2)))) ([], [], [], env)) in - match uu____9842 with - | (toks, typs, decls, env1) -> - let toks_fvbs = FStar_List.rev toks in + env2)))) ([], [], [], env)) + in + match uu____10243 with + | (toks,typs,decls,env1) -> + let toks_fvbs = FStar_List.rev toks in let decls1 = FStar_All.pipe_right (FStar_List.rev decls) - FStar_List.flatten in - let env_decls = copy_env env1 in - let typs1 = FStar_List.rev typs in + FStar_List.flatten + in + let env_decls = copy_env env1 in + let typs1 = FStar_List.rev typs in let encode_non_rec_lbdef bindings1 typs2 toks1 env2 = match (bindings1, typs2, toks1) with | ({ FStar_Syntax_Syntax.lbname = lbn; FStar_Syntax_Syntax.lbunivs = uvs; - FStar_Syntax_Syntax.lbtyp = uu____10116; - FStar_Syntax_Syntax.lbeff = uu____10117; + FStar_Syntax_Syntax.lbtyp = uu____10517; + FStar_Syntax_Syntax.lbeff = uu____10518; FStar_Syntax_Syntax.lbdef = e; - FStar_Syntax_Syntax.lbattrs = uu____10119; - FStar_Syntax_Syntax.lbpos = uu____10120;_}::[], - t_norm::[], fvb::[]) -> + FStar_Syntax_Syntax.lbattrs = uu____10520; + FStar_Syntax_Syntax.lbpos = uu____10521;_}::[],t_norm::[],fvb::[]) + -> let flid = - fvb.FStar_SMTEncoding_Env.fvar_lid in - let uu____10144 = - let uu____10151 = + fvb.FStar_SMTEncoding_Env.fvar_lid in + let uu____10545 = + let uu____10552 = FStar_TypeChecker_Env.open_universes_in env2.FStar_SMTEncoding_Env.tcenv uvs - [e; t_norm] in - match uu____10151 with - | (tcenv', uu____10167, e_t) -> - let uu____10173 = + [e; t_norm] + in + match uu____10552 with + | (tcenv',uu____10568,e_t) -> + let uu____10574 = match e_t with | e1::t_norm1::[] -> (e1, t_norm1) - | uu____10184 -> - failwith "Impossible" in - (match uu____10173 with - | (e1, t_norm1) -> - ((let uu___640_10201 = env2 in + | uu____10585 -> + failwith "Impossible" + in + (match uu____10574 with + | (e1,t_norm1) -> + ((let uu___656_10602 = env2 in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___640_10201.FStar_SMTEncoding_Env.bvar_bindings); + (uu___656_10602.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___640_10201.FStar_SMTEncoding_Env.fvar_bindings); + (uu___656_10602.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___640_10201.FStar_SMTEncoding_Env.depth); + (uu___656_10602.FStar_SMTEncoding_Env.depth); FStar_SMTEncoding_Env.tcenv = tcenv'; FStar_SMTEncoding_Env.warn = - (uu___640_10201.FStar_SMTEncoding_Env.warn); + (uu___656_10602.FStar_SMTEncoding_Env.warn); FStar_SMTEncoding_Env.nolabels = - (uu___640_10201.FStar_SMTEncoding_Env.nolabels); + (uu___656_10602.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = - (uu___640_10201.FStar_SMTEncoding_Env.use_zfuel_name); + (uu___656_10602.FStar_SMTEncoding_Env.use_zfuel_name); FStar_SMTEncoding_Env.encode_non_total_function_typ = - (uu___640_10201.FStar_SMTEncoding_Env.encode_non_total_function_typ); + (uu___656_10602.FStar_SMTEncoding_Env.encode_non_total_function_typ); FStar_SMTEncoding_Env.current_module_name = - (uu___640_10201.FStar_SMTEncoding_Env.current_module_name); + (uu___656_10602.FStar_SMTEncoding_Env.current_module_name); FStar_SMTEncoding_Env.encoding_quantifier = - (uu___640_10201.FStar_SMTEncoding_Env.encoding_quantifier); + (uu___656_10602.FStar_SMTEncoding_Env.encoding_quantifier); FStar_SMTEncoding_Env.global_cache = - (uu___640_10201.FStar_SMTEncoding_Env.global_cache) - }), e1, t_norm1)) in - (match uu____10144 with - | (env', e1, t_norm1) -> - let uu____10211 = - destruct_bound_function t_norm1 e1 in - (match uu____10211 with - | (binders, body, t_body_comp) -> + (uu___656_10602.FStar_SMTEncoding_Env.global_cache) + }), e1, t_norm1)) + in + (match uu____10545 with + | (env',e1,t_norm1) -> + let uu____10612 = + destruct_bound_function t_norm1 e1 + in + (match uu____10612 with + | (binders,body,t_body_comp) -> let t_body = FStar_Syntax_Util.comp_result - t_body_comp in - ((let uu____10231 = + t_body_comp + in + ((let uu____10632 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env2.FStar_SMTEncoding_Env.tcenv) (FStar_Options.Other - "SMTEncoding") in - if uu____10231 + "SMTEncoding") + in + if uu____10632 then - let uu____10236 = + let uu____10637 = FStar_Syntax_Print.binders_to_string - ", " binders in - let uu____10239 = + ", " binders + in + let uu____10640 = FStar_Syntax_Print.term_to_string - body in + body + in FStar_Util.print2 "Encoding let : binders=[%s], body=%s\n" - uu____10236 uu____10239 + uu____10637 uu____10640 else ()); - (let uu____10244 = + (let uu____10645 = FStar_SMTEncoding_EncodeTerm.encode_binders FStar_Pervasives_Native.None - binders env' in - match uu____10244 with - | (vars, _guards, env'1, - binder_decls, uu____10271) + binders env' + in + match uu____10645 with + | (vars,_guards,env'1,binder_decls,uu____10672) -> - let uu____10284 = + let uu____10685 = if fvb.FStar_SMTEncoding_Env.fvb_thunked && (vars = []) @@ -2787,44 +3233,54 @@ let (encode_top_level_let : let dummy_var = FStar_SMTEncoding_Term.mk_fv ("@dummy", - FStar_SMTEncoding_Term.dummy_sort) in + FStar_SMTEncoding_Term.dummy_sort) + in let dummy_tm = FStar_SMTEncoding_Term.mkFreeV dummy_var - FStar_Range.dummyRange in + FStar_Range.dummyRange + in let app = - let uu____10301 = + let uu____10702 = FStar_Syntax_Util.range_of_lbname - lbn in + lbn + in FStar_SMTEncoding_Term.mkApp ((fvb.FStar_SMTEncoding_Env.smt_id), [dummy_tm]) - uu____10301 in + uu____10702 + in ([dummy_var], app) else - (let uu____10323 = - let uu____10324 = + (let uu____10724 = + let uu____10725 = FStar_Syntax_Util.range_of_lbname - lbn in - let uu____10325 = + lbn + in + let uu____10726 = FStar_List.map FStar_SMTEncoding_Util.mkFreeV - vars in + vars + in FStar_SMTEncoding_EncodeTerm.maybe_curry_fvb - uu____10324 fvb - uu____10325 in - (vars, uu____10323)) in - (match uu____10284 with - | (vars1, app) -> - let uu____10336 = + uu____10725 fvb + uu____10726 + in + (vars, uu____10724)) + in + (match uu____10685 with + | (vars1,app) -> + let uu____10737 = let is_logical = - let uu____10349 = - let uu____10350 + let uu____10750 = + let uu____10751 = FStar_Syntax_Subst.compress - t_body in - uu____10350.FStar_Syntax_Syntax.n in - match uu____10349 + t_body + in + uu____10751.FStar_Syntax_Syntax.n + in + match uu____10750 with | FStar_Syntax_Syntax.Tm_fvar fv when @@ -2832,29 +3288,34 @@ let (encode_top_level_let : fv FStar_Parser_Const.logical_lid -> true - | uu____10356 -> - false in + | uu____10757 -> + false + in let is_prims = - let uu____10360 = - let uu____10361 + let uu____10761 = + let uu____10762 = FStar_All.pipe_right lbn - FStar_Util.right in + FStar_Util.right + in FStar_All.pipe_right - uu____10361 - FStar_Syntax_Syntax.lid_of_fv in + uu____10762 + FStar_Syntax_Syntax.lid_of_fv + in FStar_All.pipe_right - uu____10360 - (fun lid -> - let uu____10370 + uu____10761 + (fun lid -> + let uu____10771 = FStar_Ident.lid_of_ids - lid.FStar_Ident.ns in + lid.FStar_Ident.ns + in FStar_Ident.lid_equals - uu____10370 - FStar_Parser_Const.prims_lid) in - let uu____10371 = + uu____10771 + FStar_Parser_Const.prims_lid) + in + let uu____10772 = (Prims.op_Negation is_prims) && @@ -2863,383 +3324,435 @@ let (encode_top_level_let : (FStar_List.contains FStar_Syntax_Syntax.Logic)) || - is_logical) in - if uu____10371 + is_logical) + in + if uu____10772 then - let uu____10387 = + let uu____10788 = FStar_SMTEncoding_Term.mk_Valid - app in - let uu____10388 = + app + in + let uu____10789 = FStar_SMTEncoding_EncodeTerm.encode_formula - body env'1 in + body env'1 + in (app, - uu____10387, - uu____10388) + uu____10788, + uu____10789) else - (let uu____10399 + (let uu____10800 = FStar_SMTEncoding_EncodeTerm.encode_term - body env'1 in + body env'1 + in (app, app, - uu____10399)) in - (match uu____10336 + uu____10800)) + in + (match uu____10737 with - | (pat, app1, - (body1, decls2)) + | (pat,app1, + (body1,decls2)) -> let eqn = - let uu____10423 + let uu____10824 = - let uu____10431 + let uu____10832 = - let uu____10432 + let uu____10833 = FStar_Syntax_Util.range_of_lbname - lbn in - let uu____10433 + lbn in + let uu____10834 = - let uu____10444 + let uu____10845 = FStar_SMTEncoding_Util.mkEq (app1, - body1) in + body1) + in ([[pat]], vars1, - uu____10444) in + uu____10845) + in FStar_SMTEncoding_Term.mkForall - uu____10432 - uu____10433 in - let uu____10453 + uu____10833 + uu____10834 + in + let uu____10854 = - let uu____10454 + let uu____10855 = FStar_Util.format1 "Equation for %s" - flid.FStar_Ident.str in + flid.FStar_Ident.str + in FStar_Pervasives_Native.Some - uu____10454 in - (uu____10431, - uu____10453, + uu____10855 + in + (uu____10832, + uu____10854, (Prims.op_Hat "equation_" - fvb.FStar_SMTEncoding_Env.smt_id)) in + fvb.FStar_SMTEncoding_Env.smt_id)) + in FStar_SMTEncoding_Util.mkAssume - uu____10423 in - let uu____10460 + uu____10824 + in + let uu____10861 = - let uu____10463 + let uu____10864 = - let uu____10466 + let uu____10867 = - let uu____10469 + let uu____10870 = - let uu____10472 + let uu____10873 = - let uu____10475 + let uu____10876 = primitive_type_axioms env2.FStar_SMTEncoding_Env.tcenv flid fvb.FStar_SMTEncoding_Env.smt_id - app1 in + app1 in eqn :: - uu____10475 in + uu____10876 + in FStar_All.pipe_right - uu____10472 - FStar_SMTEncoding_Term.mk_decls_trivial in + uu____10873 + FStar_SMTEncoding_Term.mk_decls_trivial + in FStar_List.append decls2 - uu____10469 in + uu____10870 + in FStar_List.append binder_decls - uu____10466 in + uu____10867 + in FStar_List.append decls1 - uu____10463 in - (uu____10460, + uu____10864 + in + (uu____10861, env2))))))) - | uu____10484 -> failwith "Impossible" in + | uu____10885 -> failwith "Impossible" in let encode_rec_lbdefs bindings1 typs2 toks1 env2 = let fuel = - let uu____10544 = - let uu____10550 = + let uu____10945 = + let uu____10951 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.fresh env2.FStar_SMTEncoding_Env.current_module_name - "fuel" in - (uu____10550, - FStar_SMTEncoding_Term.Fuel_sort) in - FStar_SMTEncoding_Term.mk_fv uu____10544 in + "fuel" + in + (uu____10951, + FStar_SMTEncoding_Term.Fuel_sort) + in + FStar_SMTEncoding_Term.mk_fv uu____10945 in let fuel_tm = - FStar_SMTEncoding_Util.mkFreeV fuel in - let env0 = env2 in - let uu____10556 = + FStar_SMTEncoding_Util.mkFreeV fuel in + let env0 = env2 in + let uu____10957 = FStar_All.pipe_right toks1 (FStar_List.fold_left - (fun uu____10609 -> - fun fvb -> - match uu____10609 with - | (gtoks, env3) -> + (fun uu____11010 -> + fun fvb -> + match uu____11010 with + | (gtoks,env3) -> let flid = - fvb.FStar_SMTEncoding_Env.fvar_lid in + fvb.FStar_SMTEncoding_Env.fvar_lid + in let g = - let uu____10664 = + let uu____11065 = FStar_Ident.lid_add_suffix - flid "fuel_instrumented" in + flid "fuel_instrumented" + in FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.new_fvar - uu____10664 in + uu____11065 + in let gtok = - let uu____10668 = + let uu____11069 = FStar_Ident.lid_add_suffix flid - "fuel_instrumented_token" in + "fuel_instrumented_token" + in FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.new_fvar - uu____10668 in + uu____11069 + in let env4 = - let uu____10671 = - let uu____10674 = + let uu____11072 = + let uu____11075 = FStar_SMTEncoding_Util.mkApp - (g, [fuel_tm]) in + (g, [fuel_tm]) + in FStar_All.pipe_left - (fun _10680 -> + (fun _11081 -> FStar_Pervasives_Native.Some - _10680) uu____10674 in + _11081) uu____11075 + in FStar_SMTEncoding_Env.push_free_var env3 flid fvb.FStar_SMTEncoding_Env.smt_arity - gtok uu____10671 in + gtok uu____11072 + in (((fvb, g, gtok) :: gtoks), - env4)) ([], env2)) in - match uu____10556 with - | (gtoks, env3) -> - let gtoks1 = FStar_List.rev gtoks in - let encode_one_binding env01 uu____10800 - t_norm uu____10802 = - match (uu____10800, uu____10802) with - | ((fvb, g, gtok), - { FStar_Syntax_Syntax.lbname = lbn; - FStar_Syntax_Syntax.lbunivs = uvs; - FStar_Syntax_Syntax.lbtyp = - uu____10832; - FStar_Syntax_Syntax.lbeff = - uu____10833; - FStar_Syntax_Syntax.lbdef = e; - FStar_Syntax_Syntax.lbattrs = - uu____10835; - FStar_Syntax_Syntax.lbpos = - uu____10836;_}) + env4)) ([], env2)) + in + match uu____10957 with + | (gtoks,env3) -> + let gtoks1 = FStar_List.rev gtoks in + let encode_one_binding env01 uu____11201 + t_norm uu____11203 = + match (uu____11201, uu____11203) with + | ((fvb,g,gtok),{ + FStar_Syntax_Syntax.lbname + = lbn; + FStar_Syntax_Syntax.lbunivs + = uvs; + FStar_Syntax_Syntax.lbtyp + = uu____11233; + FStar_Syntax_Syntax.lbeff + = uu____11234; + FStar_Syntax_Syntax.lbdef + = e; + FStar_Syntax_Syntax.lbattrs + = uu____11236; + FStar_Syntax_Syntax.lbpos + = uu____11237;_}) -> - let uu____10863 = - let uu____10870 = + let uu____11264 = + let uu____11271 = FStar_TypeChecker_Env.open_universes_in env3.FStar_SMTEncoding_Env.tcenv - uvs [e; t_norm] in - match uu____10870 with - | (tcenv', uu____10886, e_t) -> - let uu____10892 = + uvs [e; t_norm] + in + match uu____11271 with + | (tcenv',uu____11287,e_t) -> + let uu____11293 = match e_t with | e1::t_norm1::[] -> (e1, t_norm1) - | uu____10903 -> - failwith "Impossible" in - (match uu____10892 with - | (e1, t_norm1) -> - ((let uu___727_10920 = - env3 in + | uu____11304 -> + failwith "Impossible" + in + (match uu____11293 with + | (e1,t_norm1) -> + ((let uu___743_11321 = + env3 in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___727_10920.FStar_SMTEncoding_Env.bvar_bindings); + (uu___743_11321.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___727_10920.FStar_SMTEncoding_Env.fvar_bindings); + (uu___743_11321.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___727_10920.FStar_SMTEncoding_Env.depth); + (uu___743_11321.FStar_SMTEncoding_Env.depth); FStar_SMTEncoding_Env.tcenv = tcenv'; FStar_SMTEncoding_Env.warn = - (uu___727_10920.FStar_SMTEncoding_Env.warn); + (uu___743_11321.FStar_SMTEncoding_Env.warn); FStar_SMTEncoding_Env.nolabels = - (uu___727_10920.FStar_SMTEncoding_Env.nolabels); + (uu___743_11321.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = - (uu___727_10920.FStar_SMTEncoding_Env.use_zfuel_name); + (uu___743_11321.FStar_SMTEncoding_Env.use_zfuel_name); FStar_SMTEncoding_Env.encode_non_total_function_typ = - (uu___727_10920.FStar_SMTEncoding_Env.encode_non_total_function_typ); + (uu___743_11321.FStar_SMTEncoding_Env.encode_non_total_function_typ); FStar_SMTEncoding_Env.current_module_name = - (uu___727_10920.FStar_SMTEncoding_Env.current_module_name); + (uu___743_11321.FStar_SMTEncoding_Env.current_module_name); FStar_SMTEncoding_Env.encoding_quantifier = - (uu___727_10920.FStar_SMTEncoding_Env.encoding_quantifier); + (uu___743_11321.FStar_SMTEncoding_Env.encoding_quantifier); FStar_SMTEncoding_Env.global_cache = - (uu___727_10920.FStar_SMTEncoding_Env.global_cache) - }), e1, t_norm1)) in - (match uu____10863 with - | (env', e1, t_norm1) -> - ((let uu____10933 = + (uu___743_11321.FStar_SMTEncoding_Env.global_cache) + }), e1, t_norm1)) + in + (match uu____11264 with + | (env',e1,t_norm1) -> + ((let uu____11334 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env01.FStar_SMTEncoding_Env.tcenv) (FStar_Options.Other - "SMTEncoding") in - if uu____10933 + "SMTEncoding") + in + if uu____11334 then - let uu____10938 = + let uu____11339 = FStar_Syntax_Print.lbname_to_string - lbn in - let uu____10940 = + lbn + in + let uu____11341 = FStar_Syntax_Print.term_to_string - t_norm1 in - let uu____10942 = + t_norm1 + in + let uu____11343 = FStar_Syntax_Print.term_to_string - e1 in + e1 + in FStar_Util.print3 "Encoding let rec %s : %s = %s\n" - uu____10938 uu____10940 - uu____10942 + uu____11339 uu____11341 + uu____11343 else ()); - (let uu____10947 = + (let uu____11348 = destruct_bound_function - t_norm1 e1 in - match uu____10947 with - | (binders, body, tres_comp) - -> + t_norm1 e1 + in + match uu____11348 with + | (binders,body,tres_comp) -> let curry = fvb.FStar_SMTEncoding_Env.smt_arity <> (FStar_List.length - binders) in - let uu____10974 = + binders) + in + let uu____11375 = FStar_TypeChecker_Util.pure_or_ghost_pre_and_post env3.FStar_SMTEncoding_Env.tcenv - tres_comp in - (match uu____10974 with - | (pre_opt, tres) -> - ((let uu____10996 = + tres_comp + in + (match uu____11375 with + | (pre_opt,tres) -> + ((let uu____11397 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env01.FStar_SMTEncoding_Env.tcenv) (FStar_Options.Other - "SMTEncodingReify") in - if uu____10996 + "SMTEncodingReify") + in + if uu____11397 then - let uu____11001 + let uu____11402 = FStar_Syntax_Print.lbname_to_string - lbn in - let uu____11003 + lbn + in + let uu____11404 = FStar_Syntax_Print.binders_to_string - ", " binders in - let uu____11006 + ", " binders + in + let uu____11407 = FStar_Syntax_Print.term_to_string - body in - let uu____11008 + body + in + let uu____11409 = FStar_Syntax_Print.comp_to_string - tres_comp in + tres_comp + in FStar_Util.print4 "Encoding let rec %s: \n\tbinders=[%s], \n\tbody=%s, \n\ttres=%s\n" - uu____11001 - uu____11003 - uu____11006 - uu____11008 + uu____11402 + uu____11404 + uu____11407 + uu____11409 else ()); - (let uu____11013 = + (let uu____11414 = FStar_SMTEncoding_EncodeTerm.encode_binders FStar_Pervasives_Native.None - binders env' in - match uu____11013 + binders env' + in + match uu____11414 with - | (vars, guards, - env'1, - binder_decls, - uu____11042) -> - let uu____11055 + | (vars,guards,env'1,binder_decls,uu____11443) + -> + let uu____11456 = match pre_opt with | FStar_Pervasives_Native.None - -> - let uu____11068 + -> + let uu____11469 = FStar_SMTEncoding_Util.mk_and_l - guards in - (uu____11068, + guards + in + (uu____11469, []) | FStar_Pervasives_Native.Some pre -> - let uu____11072 + let uu____11473 = FStar_SMTEncoding_EncodeTerm.encode_formula - pre env'1 in - (match uu____11072 + pre env'1 + in + (match uu____11473 with | - (guard, - decls0) + (guard,decls0) -> - let uu____11085 + let uu____11486 = FStar_SMTEncoding_Util.mk_and_l (FStar_List.append guards - [guard]) in - (uu____11085, - decls0)) in - (match uu____11055 + [guard]) + in + (uu____11486, + decls0)) + in + (match uu____11456 with - | (guard, - guard_decls) + | (guard,guard_decls) -> let binder_decls1 = FStar_List.append binder_decls - guard_decls in + guard_decls + in let decl_g = - let uu____11106 + let uu____11507 = - let uu____11118 + let uu____11519 = - let uu____11121 + let uu____11522 = - let uu____11124 + let uu____11525 = - let uu____11127 + let uu____11528 = FStar_Util.first_N fvb.FStar_SMTEncoding_Env.smt_arity - vars in + vars in FStar_Pervasives_Native.fst - uu____11127 in + uu____11528 + in FStar_List.map FStar_SMTEncoding_Term.fv_sort - uu____11124 in + uu____11525 + in FStar_SMTEncoding_Term.Fuel_sort :: - uu____11121 in + uu____11522 + in (g, - uu____11118, + uu____11519, FStar_SMTEncoding_Term.Term_sort, (FStar_Pervasives_Native.Some - "Fuel-instrumented function name")) in + "Fuel-instrumented function name")) + in FStar_SMTEncoding_Term.DeclFun - uu____11106 in + uu____11507 + in let env02 = FStar_SMTEncoding_Env.push_zfuel_name env01 fvb.FStar_SMTEncoding_Env.fvar_lid - g in + g in let decl_g_tok = FStar_SMTEncoding_Term.DeclFun @@ -3247,24 +3760,26 @@ let (encode_top_level_let : [], FStar_SMTEncoding_Term.Term_sort, (FStar_Pervasives_Native.Some - "Token for fuel-instrumented partial applications")) in + "Token for fuel-instrumented partial applications")) + in let vars_tm = FStar_List.map FStar_SMTEncoding_Util.mkFreeV - vars in + vars in let rng = FStar_Syntax_Util.range_of_lbname - lbn in + lbn in let app = - let uu____11157 + let uu____11558 = FStar_List.map FStar_SMTEncoding_Util.mkFreeV - vars in + vars in FStar_SMTEncoding_EncodeTerm.maybe_curry_fvb rng fvb - uu____11157 in + uu____11558 + in let mk_g_app args = FStar_SMTEncoding_EncodeTerm.maybe_curry_app @@ -3275,323 +3790,408 @@ let (encode_top_level_let : (fvb.FStar_SMTEncoding_Env.smt_arity + (Prims.parse_int "1")) - args in + args in let gsapp = - let uu____11172 + let uu____11573 = - let uu____11175 + let uu____11576 = FStar_SMTEncoding_Util.mkApp ("SFuel", - [fuel_tm]) in - uu____11175 + [fuel_tm]) + in + uu____11576 :: - vars_tm in + vars_tm + in mk_g_app - uu____11172 in + uu____11573 + in let gmax = - let uu____11181 + let uu____11582 = - let uu____11184 + let uu____11585 = FStar_SMTEncoding_Util.mkApp ("MaxFuel", - []) in - uu____11184 + []) in + uu____11585 :: - vars_tm in + vars_tm + in mk_g_app - uu____11181 in - let uu____11189 + uu____11582 + in + let uu____11590 = FStar_SMTEncoding_EncodeTerm.encode_term body - env'1 in - (match uu____11189 + env'1 in + (match uu____11590 with | - (body_tm, - decls2) + (body_tm,decls2) -> let eqn_g = - let uu____11205 + let uu____11606 = - let uu____11213 + let uu____11614 = - let uu____11214 + let uu____11615 = FStar_Syntax_Util.range_of_lbname - lbn in - let uu____11215 + lbn in + let uu____11616 = - let uu____11231 + let uu____11632 = - let uu____11232 + let uu____11633 = - let uu____11237 + let uu____11638 = FStar_SMTEncoding_Util.mkEq (gsapp, - body_tm) in + body_tm) + in (guard, - uu____11237) in + uu____11638) + in FStar_SMTEncoding_Util.mkImp - uu____11232 in + uu____11633 + in ([ [gsapp]], (FStar_Pervasives_Native.Some (Prims.parse_int "0")), (fuel :: vars), - uu____11231) in + uu____11632) + in FStar_SMTEncoding_Term.mkForall' - uu____11214 - uu____11215 in - let uu____11251 + uu____11615 + uu____11616 + in + let uu____11652 = - let uu____11252 + let uu____11653 = FStar_Util.format1 "Equation for fuel-instrumented recursive function: %s" - (fvb.FStar_SMTEncoding_Env.fvar_lid).FStar_Ident.str in + (fvb.FStar_SMTEncoding_Env.fvar_lid).FStar_Ident.str + in FStar_Pervasives_Native.Some - uu____11252 in - (uu____11213, - uu____11251, + uu____11653 + in + (uu____11614, + uu____11652, (Prims.op_Hat "equation_with_fuel_" - g)) in + g)) in FStar_SMTEncoding_Util.mkAssume - uu____11205 in + uu____11606 + in let eqn_f = - let uu____11259 + let uu____11660 = - let uu____11267 + let uu____11668 = - let uu____11268 + let uu____11669 = FStar_Syntax_Util.range_of_lbname - lbn in - let uu____11269 + lbn in + let uu____11670 = - let uu____11280 + let uu____11681 = FStar_SMTEncoding_Util.mkEq (app, - gmax) in + gmax) in ([[app]], vars, - uu____11280) in + uu____11681) + in FStar_SMTEncoding_Term.mkForall - uu____11268 - uu____11269 in - (uu____11267, + uu____11669 + uu____11670 + in + (uu____11668, (FStar_Pervasives_Native.Some "Correspondence of recursive function to instrumented version"), (Prims.op_Hat "@fuel_correspondence_" - g)) in + g)) in FStar_SMTEncoding_Util.mkAssume - uu____11259 in + uu____11660 + in let eqn_g' = - let uu____11294 + let uu____11695 = - let uu____11302 + let uu____11703 = - let uu____11303 + let uu____11704 = FStar_Syntax_Util.range_of_lbname - lbn in - let uu____11304 + lbn in + let uu____11705 = - let uu____11315 + let uu____11716 = - let uu____11316 + let uu____11717 = - let uu____11321 + let uu____11722 = - let uu____11322 + let uu____11723 = - let uu____11325 + let uu____11726 = FStar_SMTEncoding_Term.n_fuel - (Prims.parse_int "0") in - uu____11325 + (Prims.parse_int "0") + in + uu____11726 :: - vars_tm in + vars_tm + in mk_g_app - uu____11322 in + uu____11723 + in (gsapp, - uu____11321) in + uu____11722) + in FStar_SMTEncoding_Util.mkEq - uu____11316 in + uu____11717 + in ([ [gsapp]], (fuel :: vars), - uu____11315) in + uu____11716) + in FStar_SMTEncoding_Term.mkForall - uu____11303 - uu____11304 in - (uu____11302, + uu____11704 + uu____11705 + in + (uu____11703, (FStar_Pervasives_Native.Some "Fuel irrelevance"), (Prims.op_Hat "@fuel_irrelevance_" - g)) in + g)) in FStar_SMTEncoding_Util.mkAssume - uu____11294 in - let uu____11339 + uu____11695 + in + let uu____11740 = let gapp = mk_g_app (fuel_tm :: - vars_tm) in + vars_tm) + in let tok_corr = let tok_app = - let uu____11351 + let uu____11752 = - let uu____11352 + let uu____11753 = FStar_SMTEncoding_Term.mk_fv (gtok, - FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.Term_sort) + in FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV - uu____11352 in + uu____11753 + in FStar_SMTEncoding_EncodeTerm.mk_Apply - uu____11351 + uu____11752 (fuel :: - vars) in - let uu____11354 + vars) in + let tot_fun_axioms = - let uu____11362 + let head1 = - let uu____11363 + let uu____11757 + = + FStar_SMTEncoding_Term.mk_fv + (gtok, + FStar_SMTEncoding_Term.Term_sort) + in + FStar_All.pipe_left + FStar_SMTEncoding_Util.mkFreeV + uu____11757 + in + let vars1 + = fuel :: + vars in + let guards1 + = + FStar_List.map + (fun + uu____11766 + -> + FStar_SMTEncoding_Util.mkTrue) + vars1 in + let uu____11767 + = + FStar_Syntax_Util.is_pure_comp + tres_comp + in + FStar_SMTEncoding_EncodeTerm.isTotFun_axioms + rng head1 + vars1 + guards1 + uu____11767 + in + let uu____11769 + = + let uu____11777 + = + let uu____11778 + = + let uu____11783 + = + let uu____11784 = FStar_Syntax_Util.range_of_lbname - lbn in - let uu____11364 + lbn in + let uu____11785 = - let uu____11375 + let uu____11796 = FStar_SMTEncoding_Util.mkEq (tok_app, - gapp) in + gapp) in ([ [tok_app]], (fuel :: vars), - uu____11375) in + uu____11796) + in FStar_SMTEncoding_Term.mkForall - uu____11363 - uu____11364 in - (uu____11362, + uu____11784 + uu____11785 + in + (uu____11783, + tot_fun_axioms) + in + FStar_SMTEncoding_Util.mkAnd + uu____11778 + in + (uu____11777, (FStar_Pervasives_Native.Some "Fuel token correspondence"), (Prims.op_Hat "fuel_token_correspondence_" - gtok)) in + gtok)) + in FStar_SMTEncoding_Util.mkAssume - uu____11354 in - let uu____11388 + uu____11769 + in + let uu____11809 = - let uu____11397 + let uu____11818 = FStar_SMTEncoding_EncodeTerm.encode_term_pred FStar_Pervasives_Native.None tres env'1 - gapp in - match uu____11397 + gapp in + match uu____11818 with | - (g_typing, - d3) -> - let uu____11412 + (g_typing,d3) + -> + let uu____11833 = - let uu____11415 + let uu____11836 = - let uu____11416 + let uu____11837 = - let uu____11424 + let uu____11845 = - let uu____11425 + let uu____11846 = FStar_Syntax_Util.range_of_lbname - lbn in - let uu____11426 + lbn in + let uu____11847 = - let uu____11437 + let uu____11858 = FStar_SMTEncoding_Util.mkImp (guard, - g_typing) in + g_typing) + in ([[gapp]], (fuel :: vars), - uu____11437) in + uu____11858) + in FStar_SMTEncoding_Term.mkForall - uu____11425 - uu____11426 in - (uu____11424, + uu____11846 + uu____11847 + in + (uu____11845, (FStar_Pervasives_Native.Some "Typing correspondence of token to term"), (Prims.op_Hat "token_correspondence_" - g)) in + g)) in FStar_SMTEncoding_Util.mkAssume - uu____11416 in - [uu____11415] in + uu____11837 + in + [uu____11836] + in (d3, - uu____11412) in - match uu____11388 + uu____11833) + in + match uu____11809 with | - (aux_decls, - typing_corr) + (aux_decls,typing_corr) -> (aux_decls, (FStar_List.append typing_corr - [tok_corr])) in - (match uu____11339 + [tok_corr])) + in + (match uu____11740 with | - (aux_decls, - g_typing) + (aux_decls,g_typing) -> - let uu____11494 + let uu____11915 = - let uu____11497 + let uu____11918 = - let uu____11500 + let uu____11921 = - let uu____11503 + let uu____11924 = FStar_All.pipe_right [decl_g; decl_g_tok] - FStar_SMTEncoding_Term.mk_decls_trivial in + FStar_SMTEncoding_Term.mk_decls_trivial + in FStar_List.append aux_decls - uu____11503 in + uu____11924 + in FStar_List.append decls2 - uu____11500 in + uu____11921 + in FStar_List.append binder_decls1 - uu____11497 in - let uu____11510 + uu____11918 + in + let uu____11931 = FStar_All.pipe_right (FStar_List.append @@ -3599,59 +4199,66 @@ let (encode_top_level_let : eqn_g'; eqn_f] g_typing) - FStar_SMTEncoding_Term.mk_decls_trivial in - (uu____11494, - uu____11510, - env02)))))))))) in - let uu____11515 = - let uu____11528 = - FStar_List.zip3 gtoks1 typs2 bindings1 in + FStar_SMTEncoding_Term.mk_decls_trivial + in + (uu____11915, + uu____11931, + env02)))))))))) + in + let uu____11936 = + let uu____11949 = + FStar_List.zip3 gtoks1 typs2 bindings1 + in FStar_List.fold_left - (fun uu____11591 -> - fun uu____11592 -> - match (uu____11591, uu____11592) + (fun uu____12012 -> + fun uu____12013 -> + match (uu____12012, uu____12013) with - | ((decls2, eqns, env01), - (gtok, ty, lb)) -> - let uu____11717 = + | ((decls2,eqns,env01),(gtok,ty,lb)) + -> + let uu____12138 = encode_one_binding env01 - gtok ty lb in - (match uu____11717 with - | (decls', eqns', env02) -> + gtok ty lb + in + (match uu____12138 with + | (decls',eqns',env02) -> ((decls' :: decls2), (FStar_List.append eqns' eqns), env02))) - ([decls1], [], env0) uu____11528 in - (match uu____11515 with - | (decls2, eqns, env01) -> - let uu____11784 = - let isDeclFun uu___1_11801 = - match uu___1_11801 with + ([decls1], [], env0) uu____11949 + in + (match uu____11936 with + | (decls2,eqns,env01) -> + let uu____12205 = + let isDeclFun uu___1_12222 = + match uu___1_12222 with | FStar_SMTEncoding_Term.DeclFun - uu____11803 -> true - | uu____11816 -> false in - let uu____11818 = + uu____12224 -> true + | uu____12237 -> false in + let uu____12239 = FStar_All.pipe_right decls2 - FStar_List.flatten in - FStar_All.pipe_right uu____11818 - (fun decls3 -> - let uu____11848 = + FStar_List.flatten + in + FStar_All.pipe_right uu____12239 + (fun decls3 -> + let uu____12269 = FStar_List.fold_left - (fun uu____11879 -> - fun elt -> - match uu____11879 + (fun uu____12300 -> + fun elt -> + match uu____12300 with - | (prefix_decls, - elts, rest) -> - let uu____11920 = + | (prefix_decls,elts,rest) + -> + let uu____12341 = (FStar_All.pipe_right elt.FStar_SMTEncoding_Term.key FStar_Util.is_some) && (FStar_List.existsb isDeclFun - elt.FStar_SMTEncoding_Term.decls) in - if uu____11920 + elt.FStar_SMTEncoding_Term.decls) + in + if uu____12341 then (prefix_decls, (FStar_List.append @@ -3659,15 +4266,15 @@ let (encode_top_level_let : [elt]), rest) else - (let uu____11948 + (let uu____12369 = FStar_List.partition isDeclFun - elt.FStar_SMTEncoding_Term.decls in - match uu____11948 + elt.FStar_SMTEncoding_Term.decls + in + match uu____12369 with - | (elt_decl_funs, - elt_rest) + | (elt_decl_funs,elt_rest) -> ((FStar_List.append prefix_decls @@ -3676,64 +4283,70 @@ let (encode_top_level_let : (FStar_List.append rest [( - let uu___820_11986 - = elt in + let uu___841_12407 + = elt in { FStar_SMTEncoding_Term.sym_name = - (uu___820_11986.FStar_SMTEncoding_Term.sym_name); + (uu___841_12407.FStar_SMTEncoding_Term.sym_name); FStar_SMTEncoding_Term.key = - (uu___820_11986.FStar_SMTEncoding_Term.key); + (uu___841_12407.FStar_SMTEncoding_Term.key); FStar_SMTEncoding_Term.decls = elt_rest; FStar_SMTEncoding_Term.a_names = - (uu___820_11986.FStar_SMTEncoding_Term.a_names) + (uu___841_12407.FStar_SMTEncoding_Term.a_names) })])))) - ([], [], []) decls3 in - match uu____11848 with - | (prefix_decls, elts, rest) - -> - let uu____12018 = + ([], [], []) decls3 + in + match uu____12269 with + | (prefix_decls,elts,rest) -> + let uu____12439 = FStar_All.pipe_right prefix_decls - FStar_SMTEncoding_Term.mk_decls_trivial in - (uu____12018, elts, rest)) in - (match uu____11784 with - | (prefix_decls, elts, rest) -> - let eqns1 = FStar_List.rev eqns in + FStar_SMTEncoding_Term.mk_decls_trivial + in + (uu____12439, elts, rest)) + in + (match uu____12205 with + | (prefix_decls,elts,rest) -> + let eqns1 = FStar_List.rev eqns + in ((FStar_List.append prefix_decls (FStar_List.append elts (FStar_List.append rest - eqns1))), env01))) in - let uu____12047 = + eqns1))), env01))) + in + let uu____12468 = (FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___2_12053 -> - match uu___2_12053 with + (fun uu___2_12474 -> + match uu___2_12474 with | FStar_Syntax_Syntax.HasMaskedEffect - -> true - | uu____12056 -> false))) + -> true + | uu____12477 -> false))) || (FStar_All.pipe_right typs1 (FStar_Util.for_some - (fun t -> - let uu____12064 = + (fun t -> + let uu____12485 = (FStar_Syntax_Util.is_pure_or_ghost_function t) || (FStar_TypeChecker_Env.is_reifiable_function env1.FStar_SMTEncoding_Env.tcenv - t) in + t) + in FStar_All.pipe_left - Prims.op_Negation uu____12064))) in - if uu____12047 + Prims.op_Negation uu____12485))) + in + if uu____12468 then (decls1, env_decls) else (try - (fun uu___837_12086 -> + (fun uu___858_12507 -> match () with | () -> if Prims.op_Negation is_rec @@ -3744,129 +4357,180 @@ let (encode_top_level_let : encode_rec_lbdefs bindings typs1 toks_fvbs env1) () with - | FStar_SMTEncoding_Env.Inner_let_rec -> - (decls1, env_decls)))) () + | FStar_SMTEncoding_Env.Inner_let_rec names1 + -> + let plural = + (FStar_List.length names1) > + (Prims.parse_int "1") + in + let r = + let uu____12552 = FStar_List.hd names1 + in + FStar_All.pipe_right uu____12552 + FStar_Pervasives_Native.snd + in + ((let uu____12570 = + let uu____12580 = + let uu____12588 = + let uu____12590 = + let uu____12592 = + FStar_List.map + FStar_Pervasives_Native.fst + names1 + in + FStar_All.pipe_right + uu____12592 + (FStar_String.concat ",") + in + FStar_Util.format3 + "Definitions of inner let-rec%s %s and %s enclosing top-level letbinding are not encoded to the solver, you will only be able to reason with their types" + (if plural then "s" else "") + uu____12590 + (if plural + then "their" + else "its") + in + (FStar_Errors.Warning_DefinitionNotTranslated, + uu____12588, r) + in + [uu____12580] in + FStar_TypeChecker_Err.add_errors + env1.FStar_SMTEncoding_Env.tcenv + uu____12570); + (decls1, env_decls))))) () with - | Let_rec_unencodeable -> + | Let_rec_unencodeable -> let msg = - let uu____12125 = + let uu____12651 = FStar_All.pipe_right bindings (FStar_List.map - (fun lb -> + (fun lb -> FStar_Syntax_Print.lbname_to_string - lb.FStar_Syntax_Syntax.lbname)) in - FStar_All.pipe_right uu____12125 - (FStar_String.concat " and ") in + lb.FStar_Syntax_Syntax.lbname)) + in + FStar_All.pipe_right uu____12651 + (FStar_String.concat " and ") + in let decl = FStar_SMTEncoding_Term.Caption - (Prims.op_Hat "let rec unencodeable: Skipping: " msg) in - let uu____12144 = + (Prims.op_Hat "let rec unencodeable: Skipping: " msg) + in + let uu____12670 = FStar_All.pipe_right [decl] - FStar_SMTEncoding_Term.mk_decls_trivial in - (uu____12144, env)) + FStar_SMTEncoding_Term.mk_decls_trivial + in + (uu____12670, env)) + let rec (encode_sigelt : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.sigelt -> (FStar_SMTEncoding_Term.decls_t * FStar_SMTEncoding_Env.env_t)) = - fun env -> - fun se -> + fun env -> + fun se -> let nm = - let uu____12200 = FStar_Syntax_Util.lid_of_sigelt se in - match uu____12200 with - | FStar_Pervasives_Native.None -> "" - | FStar_Pervasives_Native.Some l -> l.FStar_Ident.str in - let uu____12206 = encode_sigelt' env se in - match uu____12206 with - | (g, env1) -> + let uu____12726 = FStar_Syntax_Util.lid_of_sigelt se in + match uu____12726 with + | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.Some l -> l.FStar_Ident.str in + let uu____12732 = encode_sigelt' env se in + match uu____12732 with + | (g,env1) -> let g1 = match g with | [] -> - let uu____12218 = - let uu____12221 = - let uu____12222 = FStar_Util.format1 "" nm in - FStar_SMTEncoding_Term.Caption uu____12222 in - [uu____12221] in - FStar_All.pipe_right uu____12218 + let uu____12744 = + let uu____12747 = + let uu____12748 = FStar_Util.format1 "" nm + in + FStar_SMTEncoding_Term.Caption uu____12748 in + [uu____12747] in + FStar_All.pipe_right uu____12744 FStar_SMTEncoding_Term.mk_decls_trivial - | uu____12227 -> - let uu____12228 = - let uu____12231 = - let uu____12234 = - let uu____12235 = - FStar_Util.format1 "" nm in - FStar_SMTEncoding_Term.Caption uu____12235 in - [uu____12234] in - FStar_All.pipe_right uu____12231 - FStar_SMTEncoding_Term.mk_decls_trivial in - let uu____12242 = - let uu____12245 = - let uu____12248 = - let uu____12251 = - let uu____12252 = - FStar_Util.format1 "" nm in - FStar_SMTEncoding_Term.Caption uu____12252 in - [uu____12251] in - FStar_All.pipe_right uu____12248 - FStar_SMTEncoding_Term.mk_decls_trivial in - FStar_List.append g uu____12245 in - FStar_List.append uu____12228 uu____12242 in + | uu____12753 -> + let uu____12754 = + let uu____12757 = + let uu____12760 = + let uu____12761 = + FStar_Util.format1 "" nm in + FStar_SMTEncoding_Term.Caption uu____12761 in + [uu____12760] in + FStar_All.pipe_right uu____12757 + FStar_SMTEncoding_Term.mk_decls_trivial + in + let uu____12768 = + let uu____12771 = + let uu____12774 = + let uu____12777 = + let uu____12778 = + FStar_Util.format1 "" nm in + FStar_SMTEncoding_Term.Caption uu____12778 in + [uu____12777] in + FStar_All.pipe_right uu____12774 + FStar_SMTEncoding_Term.mk_decls_trivial + in + FStar_List.append g uu____12771 in + FStar_List.append uu____12754 uu____12768 + in (g1, env1) + and (encode_sigelt' : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.sigelt -> (FStar_SMTEncoding_Term.decls_t * FStar_SMTEncoding_Env.env_t)) = - fun env -> - fun se -> - (let uu____12266 = + fun env -> + fun se -> + (let uu____12792 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env.FStar_SMTEncoding_Env.tcenv) - (FStar_Options.Other "SMTEncoding") in - if uu____12266 + (FStar_Options.Other "SMTEncoding") + in + if uu____12792 then - let uu____12271 = FStar_Syntax_Print.sigelt_to_string se in - FStar_Util.print1 "@@@Encoding sigelt %s\n" uu____12271 + let uu____12797 = FStar_Syntax_Print.sigelt_to_string se in + FStar_Util.print1 "@@@Encoding sigelt %s\n" uu____12797 else ()); (let is_opaque_to_smt t = - let uu____12283 = - let uu____12284 = FStar_Syntax_Subst.compress t in - uu____12284.FStar_Syntax_Syntax.n in - match uu____12283 with + let uu____12809 = + let uu____12810 = FStar_Syntax_Subst.compress t in + uu____12810.FStar_Syntax_Syntax.n in + match uu____12809 with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_string - (s, uu____12289)) -> s = "opaque_to_smt" - | uu____12294 -> false in + (s,uu____12815)) -> s = "opaque_to_smt" + | uu____12820 -> false in let is_uninterpreted_by_smt t = - let uu____12303 = - let uu____12304 = FStar_Syntax_Subst.compress t in - uu____12304.FStar_Syntax_Syntax.n in - match uu____12303 with + let uu____12829 = + let uu____12830 = FStar_Syntax_Subst.compress t in + uu____12830.FStar_Syntax_Syntax.n in + match uu____12829 with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_string - (s, uu____12309)) -> s = "uninterpreted_by_smt" - | uu____12314 -> false in + (s,uu____12835)) -> s = "uninterpreted_by_smt" + | uu____12840 -> false in match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____12320 -> + | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____12846 -> failwith "impossible -- new_effect_for_free should have been removed by Tc.fs" - | FStar_Syntax_Syntax.Sig_splice uu____12326 -> + | FStar_Syntax_Syntax.Sig_splice uu____12852 -> failwith "impossible -- splice should have been removed by Tc.fs" - | FStar_Syntax_Syntax.Sig_pragma uu____12338 -> ([], env) - | FStar_Syntax_Syntax.Sig_main uu____12339 -> ([], env) - | FStar_Syntax_Syntax.Sig_effect_abbrev uu____12340 -> ([], env) - | FStar_Syntax_Syntax.Sig_sub_effect uu____12353 -> ([], env) + | FStar_Syntax_Syntax.Sig_pragma uu____12864 -> ([], env) + | FStar_Syntax_Syntax.Sig_main uu____12865 -> ([], env) + | FStar_Syntax_Syntax.Sig_effect_abbrev uu____12866 -> ([], env) + | FStar_Syntax_Syntax.Sig_sub_effect uu____12879 -> ([], env) | FStar_Syntax_Syntax.Sig_new_effect ed -> - let uu____12355 = - let uu____12357 = + let uu____12881 = + let uu____12883 = FStar_TypeChecker_Env.is_reifiable_effect - env.FStar_SMTEncoding_Env.tcenv ed.FStar_Syntax_Syntax.mname in - Prims.op_Negation uu____12357 in - if uu____12355 + env.FStar_SMTEncoding_Env.tcenv ed.FStar_Syntax_Syntax.mname + in + Prims.op_Negation uu____12883 in + if uu____12881 then ([], env) else (let close_effect_params tm = match ed.FStar_Syntax_Syntax.binders with | [] -> tm - | uu____12386 -> + | uu____12912 -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_abs ((ed.FStar_Syntax_Syntax.binders), tm, @@ -3875,809 +4539,904 @@ and (encode_sigelt' : FStar_Parser_Const.effect_Tot_lid FStar_Pervasives_Native.None [FStar_Syntax_Syntax.TOTAL])))) - FStar_Pervasives_Native.None tm.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None tm.FStar_Syntax_Syntax.pos + in let encode_action env1 a = let action_defn = - let uu____12419 = - close_effect_params a.FStar_Syntax_Syntax.action_defn in - norm_before_encoding env1 uu____12419 in - let uu____12420 = + let uu____12945 = + close_effect_params a.FStar_Syntax_Syntax.action_defn in + norm_before_encoding env1 uu____12945 in + let uu____12946 = FStar_Syntax_Util.arrow_formals_comp - a.FStar_Syntax_Syntax.action_typ in - match uu____12420 with - | (formals, uu____12440) -> - let arity = FStar_List.length formals in - let uu____12464 = + a.FStar_Syntax_Syntax.action_typ + in + match uu____12946 with + | (formals,uu____12966) -> + let arity = FStar_List.length formals in + let uu____12990 = FStar_SMTEncoding_Env.new_term_constant_and_tok_from_lid - env1 a.FStar_Syntax_Syntax.action_name arity in - (match uu____12464 with - | (aname, atok, env2) -> - let uu____12486 = + env1 a.FStar_Syntax_Syntax.action_name arity + in + (match uu____12990 with + | (aname,atok,env2) -> + let uu____13012 = FStar_SMTEncoding_EncodeTerm.encode_term - action_defn env2 in - (match uu____12486 with - | (tm, decls) -> + action_defn env2 + in + (match uu____13012 with + | (tm,decls) -> let a_decls = - let uu____12502 = - let uu____12503 = - let uu____12515 = + let uu____13028 = + let uu____13029 = + let uu____13041 = FStar_All.pipe_right formals (FStar_List.map - (fun uu____12535 -> - FStar_SMTEncoding_Term.Term_sort)) in - (aname, uu____12515, + (fun uu____13061 -> + FStar_SMTEncoding_Term.Term_sort)) + in + (aname, uu____13041, FStar_SMTEncoding_Term.Term_sort, - (FStar_Pervasives_Native.Some "Action")) in - FStar_SMTEncoding_Term.DeclFun uu____12503 in - [uu____12502; + (FStar_Pervasives_Native.Some "Action")) + in + FStar_SMTEncoding_Term.DeclFun uu____13029 + in + [uu____13028; FStar_SMTEncoding_Term.DeclFun (atok, [], FStar_SMTEncoding_Term.Term_sort, (FStar_Pervasives_Native.Some - "Action token"))] in - let uu____12552 = - let aux uu____12598 uu____12599 = - match (uu____12598, uu____12599) with - | ((bv, uu____12643), - (env3, acc_sorts, acc)) -> - let uu____12675 = + "Action token"))] + in + let uu____13078 = + let aux uu____13124 uu____13125 = + match (uu____13124, uu____13125) with + | ((bv,uu____13169),(env3,acc_sorts,acc)) + -> + let uu____13201 = FStar_SMTEncoding_Env.gen_term_var - env3 bv in - (match uu____12675 with - | (xxsym, xx, env4) -> - let uu____12698 = - let uu____12701 = + env3 bv + in + (match uu____13201 with + | (xxsym,xx,env4) -> + let uu____13224 = + let uu____13227 = FStar_SMTEncoding_Term.mk_fv (xxsym, - FStar_SMTEncoding_Term.Term_sort) in - uu____12701 :: acc_sorts in - (env4, uu____12698, (xx :: acc))) in + FStar_SMTEncoding_Term.Term_sort) + in + uu____13227 :: acc_sorts in + (env4, uu____13224, (xx :: acc))) + in FStar_List.fold_right aux formals - (env2, [], []) in - (match uu____12552 with - | (uu____12733, xs_sorts, xs) -> + (env2, [], []) + in + (match uu____13078 with + | (uu____13259,xs_sorts,xs) -> let app = - FStar_SMTEncoding_Util.mkApp (aname, xs) in + FStar_SMTEncoding_Util.mkApp (aname, xs) + in let a_eq = - let uu____12749 = - let uu____12757 = - let uu____12758 = + let uu____13275 = + let uu____13283 = + let uu____13284 = FStar_Ident.range_of_lid - a.FStar_Syntax_Syntax.action_name in - let uu____12759 = - let uu____12770 = - let uu____12771 = - let uu____12776 = + a.FStar_Syntax_Syntax.action_name + in + let uu____13285 = + let uu____13296 = + let uu____13297 = + let uu____13302 = FStar_SMTEncoding_EncodeTerm.mk_Apply - tm xs_sorts in - (app, uu____12776) in + tm xs_sorts + in + (app, uu____13302) in FStar_SMTEncoding_Util.mkEq - uu____12771 in - ([[app]], xs_sorts, uu____12770) in + uu____13297 + in + ([[app]], xs_sorts, uu____13296) + in FStar_SMTEncoding_Term.mkForall - uu____12758 uu____12759 in - (uu____12757, + uu____13284 uu____13285 + in + (uu____13283, (FStar_Pervasives_Native.Some "Action equality"), - (Prims.op_Hat aname "_equality")) in + (Prims.op_Hat aname "_equality")) + in FStar_SMTEncoding_Util.mkAssume - uu____12749 in + uu____13275 + in let tok_correspondence = let tok_term = - let uu____12791 = + let uu____13317 = FStar_SMTEncoding_Term.mk_fv (atok, - FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.Term_sort) + in FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV - uu____12791 in + uu____13317 + in let tok_app = FStar_SMTEncoding_EncodeTerm.mk_Apply - tok_term xs_sorts in - let uu____12794 = - let uu____12802 = - let uu____12803 = + tok_term xs_sorts + in + let uu____13320 = + let uu____13328 = + let uu____13329 = FStar_Ident.range_of_lid - a.FStar_Syntax_Syntax.action_name in - let uu____12804 = - let uu____12815 = + a.FStar_Syntax_Syntax.action_name + in + let uu____13330 = + let uu____13341 = FStar_SMTEncoding_Util.mkEq - (tok_app, app) in + (tok_app, app) + in ([[tok_app]], xs_sorts, - uu____12815) in + uu____13341) + in FStar_SMTEncoding_Term.mkForall - uu____12803 uu____12804 in - (uu____12802, + uu____13329 uu____13330 + in + (uu____13328, (FStar_Pervasives_Native.Some "Action token correspondence"), (Prims.op_Hat aname - "_token_correspondence")) in + "_token_correspondence")) + in FStar_SMTEncoding_Util.mkAssume - uu____12794 in - let uu____12828 = - let uu____12831 = + uu____13320 + in + let uu____13354 = + let uu____13357 = FStar_All.pipe_right (FStar_List.append a_decls [a_eq; tok_correspondence]) - FStar_SMTEncoding_Term.mk_decls_trivial in - FStar_List.append decls uu____12831 in - (env2, uu____12828)))) in - let uu____12840 = + FStar_SMTEncoding_Term.mk_decls_trivial + in + FStar_List.append decls uu____13357 in + (env2, uu____13354)))) + in + let uu____13366 = FStar_Util.fold_map encode_action env - ed.FStar_Syntax_Syntax.actions in - match uu____12840 with - | (env1, decls2) -> ((FStar_List.flatten decls2), env1)) - | FStar_Syntax_Syntax.Sig_declare_typ (lid, uu____12866, uu____12867) + ed.FStar_Syntax_Syntax.actions + in + match uu____13366 with + | (env1,decls2) -> ((FStar_List.flatten decls2), env1)) + | FStar_Syntax_Syntax.Sig_declare_typ (lid,uu____13392,uu____13393) when FStar_Ident.lid_equals lid FStar_Parser_Const.precedes_lid -> - let uu____12868 = + let uu____13394 = FStar_SMTEncoding_Env.new_term_constant_and_tok_from_lid env lid - (Prims.parse_int "4") in - (match uu____12868 with | (tname, ttok, env1) -> ([], env1)) - | FStar_Syntax_Syntax.Sig_declare_typ (lid, uu____12890, t) -> - let quals = se.FStar_Syntax_Syntax.sigquals in + (Prims.parse_int "4") + in + (match uu____13394 with | (tname,ttok,env1) -> ([], env1)) + | FStar_Syntax_Syntax.Sig_declare_typ (lid,uu____13416,t) -> + let quals = se.FStar_Syntax_Syntax.sigquals in let will_encode_definition = - let uu____12897 = + let uu____13423 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___3_12903 -> - match uu___3_12903 with - | FStar_Syntax_Syntax.Assumption -> true - | FStar_Syntax_Syntax.Projector uu____12906 -> true - | FStar_Syntax_Syntax.Discriminator uu____12912 -> + (fun uu___3_13429 -> + match uu___3_13429 with + | FStar_Syntax_Syntax.Assumption -> true + | FStar_Syntax_Syntax.Projector uu____13432 -> true + | FStar_Syntax_Syntax.Discriminator uu____13438 -> true - | FStar_Syntax_Syntax.Irreducible -> true - | uu____12915 -> false)) in - Prims.op_Negation uu____12897 in + | FStar_Syntax_Syntax.Irreducible -> true + | uu____13441 -> false)) + in + Prims.op_Negation uu____13423 in if will_encode_definition then ([], env) else (let fv = FStar_Syntax_Syntax.lid_as_fv lid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - let uu____12925 = - let uu____12930 = + FStar_Pervasives_Native.None + in + let uu____13451 = + let uu____13456 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigattrs - (FStar_Util.for_some is_uninterpreted_by_smt) in - encode_top_level_val uu____12930 env fv t quals in - match uu____12925 with - | (decls, env1) -> - let tname = lid.FStar_Ident.str in + (FStar_Util.for_some is_uninterpreted_by_smt) + in + encode_top_level_val uu____13456 env fv t quals in + match uu____13451 with + | (decls,env1) -> + let tname = lid.FStar_Ident.str in let tsym = - let uu____12944 = - FStar_SMTEncoding_Env.try_lookup_free_var env1 lid in - FStar_Option.get uu____12944 in - let uu____12947 = - let uu____12948 = - let uu____12951 = + let uu____13470 = + FStar_SMTEncoding_Env.try_lookup_free_var env1 lid in + FStar_Option.get uu____13470 in + let uu____13473 = + let uu____13474 = + let uu____13477 = primitive_type_axioms - env1.FStar_SMTEncoding_Env.tcenv lid tname tsym in - FStar_All.pipe_right uu____12951 - FStar_SMTEncoding_Term.mk_decls_trivial in - FStar_List.append decls uu____12948 in - (uu____12947, env1)) - | FStar_Syntax_Syntax.Sig_assume (l, us, f) -> - let uu____12961 = FStar_Syntax_Subst.open_univ_vars us f in - (match uu____12961 with - | (uvs, f1) -> + env1.FStar_SMTEncoding_Env.tcenv lid tname tsym + in + FStar_All.pipe_right uu____13477 + FStar_SMTEncoding_Term.mk_decls_trivial + in + FStar_List.append decls uu____13474 in + (uu____13473, env1)) + | FStar_Syntax_Syntax.Sig_assume (l,us,f) -> + let uu____13487 = FStar_Syntax_Subst.open_univ_vars us f in + (match uu____13487 with + | (uvs,f1) -> let env1 = - let uu___974_12973 = env in - let uu____12974 = + let uu___1001_13499 = env in + let uu____13500 = FStar_TypeChecker_Env.push_univ_vars - env.FStar_SMTEncoding_Env.tcenv uvs in + env.FStar_SMTEncoding_Env.tcenv uvs + in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___974_12973.FStar_SMTEncoding_Env.bvar_bindings); + (uu___1001_13499.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___974_12973.FStar_SMTEncoding_Env.fvar_bindings); + (uu___1001_13499.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___974_12973.FStar_SMTEncoding_Env.depth); - FStar_SMTEncoding_Env.tcenv = uu____12974; + (uu___1001_13499.FStar_SMTEncoding_Env.depth); + FStar_SMTEncoding_Env.tcenv = uu____13500; FStar_SMTEncoding_Env.warn = - (uu___974_12973.FStar_SMTEncoding_Env.warn); + (uu___1001_13499.FStar_SMTEncoding_Env.warn); FStar_SMTEncoding_Env.nolabels = - (uu___974_12973.FStar_SMTEncoding_Env.nolabels); + (uu___1001_13499.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = - (uu___974_12973.FStar_SMTEncoding_Env.use_zfuel_name); + (uu___1001_13499.FStar_SMTEncoding_Env.use_zfuel_name); FStar_SMTEncoding_Env.encode_non_total_function_typ = - (uu___974_12973.FStar_SMTEncoding_Env.encode_non_total_function_typ); + (uu___1001_13499.FStar_SMTEncoding_Env.encode_non_total_function_typ); FStar_SMTEncoding_Env.current_module_name = - (uu___974_12973.FStar_SMTEncoding_Env.current_module_name); + (uu___1001_13499.FStar_SMTEncoding_Env.current_module_name); FStar_SMTEncoding_Env.encoding_quantifier = - (uu___974_12973.FStar_SMTEncoding_Env.encoding_quantifier); + (uu___1001_13499.FStar_SMTEncoding_Env.encoding_quantifier); FStar_SMTEncoding_Env.global_cache = - (uu___974_12973.FStar_SMTEncoding_Env.global_cache) - } in - let f2 = norm_before_encoding env1 f1 in - let uu____12976 = - FStar_SMTEncoding_EncodeTerm.encode_formula f2 env1 in - (match uu____12976 with - | (f3, decls) -> + (uu___1001_13499.FStar_SMTEncoding_Env.global_cache) + } in + let f2 = norm_before_encoding env1 f1 in + let uu____13502 = + FStar_SMTEncoding_EncodeTerm.encode_formula f2 env1 in + (match uu____13502 with + | (f3,decls) -> let g = - let uu____12990 = - let uu____12993 = - let uu____12994 = - let uu____13002 = - let uu____13003 = - let uu____13005 = - FStar_Syntax_Print.lid_to_string l in + let uu____13516 = + let uu____13519 = + let uu____13520 = + let uu____13528 = + let uu____13529 = + let uu____13531 = + FStar_Syntax_Print.lid_to_string l in FStar_Util.format1 "Assumption: %s" - uu____13005 in - FStar_Pervasives_Native.Some uu____13003 in - let uu____13009 = + uu____13531 + in + FStar_Pervasives_Native.Some uu____13529 in + let uu____13535 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.mk_unique (Prims.op_Hat "assumption_" - l.FStar_Ident.str) in - (f3, uu____13002, uu____13009) in - FStar_SMTEncoding_Util.mkAssume uu____12994 in - [uu____12993] in - FStar_All.pipe_right uu____12990 - FStar_SMTEncoding_Term.mk_decls_trivial in + l.FStar_Ident.str) + in + (f3, uu____13528, uu____13535) in + FStar_SMTEncoding_Util.mkAssume uu____13520 in + [uu____13519] in + FStar_All.pipe_right uu____13516 + FStar_SMTEncoding_Term.mk_decls_trivial + in ((FStar_List.append decls g), env1))) - | FStar_Syntax_Syntax.Sig_let (lbs, uu____13018) when + | FStar_Syntax_Syntax.Sig_let (lbs,uu____13544) when (FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_List.contains FStar_Syntax_Syntax.Irreducible)) || (FStar_All.pipe_right se.FStar_Syntax_Syntax.sigattrs (FStar_Util.for_some is_opaque_to_smt)) -> - let attrs = se.FStar_Syntax_Syntax.sigattrs in - let uu____13032 = + let attrs = se.FStar_Syntax_Syntax.sigattrs in + let uu____13558 = FStar_Util.fold_map - (fun env1 -> - fun lb -> + (fun env1 -> + fun lb -> let lid = - let uu____13054 = - let uu____13057 = - FStar_Util.right lb.FStar_Syntax_Syntax.lbname in - uu____13057.FStar_Syntax_Syntax.fv_name in - uu____13054.FStar_Syntax_Syntax.v in - let uu____13058 = - let uu____13060 = + let uu____13580 = + let uu____13583 = + FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + uu____13583.FStar_Syntax_Syntax.fv_name in + uu____13580.FStar_Syntax_Syntax.v in + let uu____13584 = + let uu____13586 = FStar_TypeChecker_Env.try_lookup_val_decl - env1.FStar_SMTEncoding_Env.tcenv lid in - FStar_All.pipe_left FStar_Option.isNone uu____13060 in - if uu____13058 + env1.FStar_SMTEncoding_Env.tcenv lid + in + FStar_All.pipe_left FStar_Option.isNone uu____13586 in + if uu____13584 then let val_decl = - let uu___991_13092 = se in + let uu___1018_13618 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (lid, (lb.FStar_Syntax_Syntax.lbunivs), (lb.FStar_Syntax_Syntax.lbtyp))); FStar_Syntax_Syntax.sigrng = - (uu___991_13092.FStar_Syntax_Syntax.sigrng); + (uu___1018_13618.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = (FStar_Syntax_Syntax.Irreducible :: (se.FStar_Syntax_Syntax.sigquals)); FStar_Syntax_Syntax.sigmeta = - (uu___991_13092.FStar_Syntax_Syntax.sigmeta); + (uu___1018_13618.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___991_13092.FStar_Syntax_Syntax.sigattrs) - } in - let uu____13093 = encode_sigelt' env1 val_decl in - match uu____13093 with | (decls, env2) -> (env2, decls) - else (env1, [])) env (FStar_Pervasives_Native.snd lbs) in - (match uu____13032 with - | (env1, decls) -> ((FStar_List.flatten decls), env1)) + (uu___1018_13618.FStar_Syntax_Syntax.sigattrs) + } in + let uu____13619 = encode_sigelt' env1 val_decl in + match uu____13619 with | (decls,env2) -> (env2, decls) + else (env1, [])) env (FStar_Pervasives_Native.snd lbs) + in + (match uu____13558 with + | (env1,decls) -> ((FStar_List.flatten decls), env1)) | FStar_Syntax_Syntax.Sig_let - ((uu____13129, - { FStar_Syntax_Syntax.lbname = FStar_Util.Inr b2t1; - FStar_Syntax_Syntax.lbunivs = uu____13131; - FStar_Syntax_Syntax.lbtyp = uu____13132; - FStar_Syntax_Syntax.lbeff = uu____13133; - FStar_Syntax_Syntax.lbdef = uu____13134; - FStar_Syntax_Syntax.lbattrs = uu____13135; - FStar_Syntax_Syntax.lbpos = uu____13136;_}::[]), - uu____13137) + ((uu____13655,{ FStar_Syntax_Syntax.lbname = FStar_Util.Inr b2t1; + FStar_Syntax_Syntax.lbunivs = uu____13657; + FStar_Syntax_Syntax.lbtyp = uu____13658; + FStar_Syntax_Syntax.lbeff = uu____13659; + FStar_Syntax_Syntax.lbdef = uu____13660; + FStar_Syntax_Syntax.lbattrs = uu____13661; + FStar_Syntax_Syntax.lbpos = uu____13662;_}::[]),uu____13663) when FStar_Syntax_Syntax.fv_eq_lid b2t1 FStar_Parser_Const.b2t_lid -> - let uu____13156 = + let uu____13682 = FStar_SMTEncoding_Env.new_term_constant_and_tok_from_lid env (b2t1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - (Prims.parse_int "1") in - (match uu____13156 with - | (tname, ttok, env1) -> + (Prims.parse_int "1") + in + (match uu____13682 with + | (tname,ttok,env1) -> let xx = FStar_SMTEncoding_Term.mk_fv - ("x", FStar_SMTEncoding_Term.Term_sort) in - let x = FStar_SMTEncoding_Util.mkFreeV xx in - let b2t_x = FStar_SMTEncoding_Util.mkApp ("Prims.b2t", [x]) in + ("x", FStar_SMTEncoding_Term.Term_sort) + in + let x = FStar_SMTEncoding_Util.mkFreeV xx in + let b2t_x = FStar_SMTEncoding_Util.mkApp ("Prims.b2t", [x]) + in let valid_b2t_x = - FStar_SMTEncoding_Util.mkApp ("Valid", [b2t_x]) in + FStar_SMTEncoding_Util.mkApp ("Valid", [b2t_x]) in let decls = - let uu____13194 = - let uu____13197 = - let uu____13198 = - let uu____13206 = - let uu____13207 = - FStar_Syntax_Syntax.range_of_fv b2t1 in - let uu____13208 = - let uu____13219 = - let uu____13220 = - let uu____13225 = + let uu____13720 = + let uu____13723 = + let uu____13724 = + let uu____13732 = + let uu____13733 = + FStar_Syntax_Syntax.range_of_fv b2t1 in + let uu____13734 = + let uu____13745 = + let uu____13746 = + let uu____13751 = FStar_SMTEncoding_Util.mkApp ((FStar_Pervasives_Native.snd FStar_SMTEncoding_Term.boxBoolFun), - [x]) in - (valid_b2t_x, uu____13225) in - FStar_SMTEncoding_Util.mkEq uu____13220 in - ([[b2t_x]], [xx], uu____13219) in - FStar_SMTEncoding_Term.mkForall uu____13207 - uu____13208 in - (uu____13206, + [x]) + in + (valid_b2t_x, uu____13751) in + FStar_SMTEncoding_Util.mkEq uu____13746 in + ([[b2t_x]], [xx], uu____13745) in + FStar_SMTEncoding_Term.mkForall uu____13733 + uu____13734 + in + (uu____13732, (FStar_Pervasives_Native.Some "b2t def"), - "b2t_def") in - FStar_SMTEncoding_Util.mkAssume uu____13198 in - [uu____13197] in + "b2t_def") + in + FStar_SMTEncoding_Util.mkAssume uu____13724 in + [uu____13723] in (FStar_SMTEncoding_Term.DeclFun (tname, [FStar_SMTEncoding_Term.Term_sort], FStar_SMTEncoding_Term.Term_sort, FStar_Pervasives_Native.None)) - :: uu____13194 in - let uu____13263 = + :: uu____13720 + in + let uu____13789 = FStar_All.pipe_right decls - FStar_SMTEncoding_Term.mk_decls_trivial in - (uu____13263, env1)) - | FStar_Syntax_Syntax.Sig_let (uu____13266, uu____13267) when + FStar_SMTEncoding_Term.mk_decls_trivial + in + (uu____13789, env1)) + | FStar_Syntax_Syntax.Sig_let (uu____13792,uu____13793) when FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___4_13277 -> - match uu___4_13277 with - | FStar_Syntax_Syntax.Discriminator uu____13279 -> true - | uu____13281 -> false)) + (fun uu___4_13803 -> + match uu___4_13803 with + | FStar_Syntax_Syntax.Discriminator uu____13805 -> true + | uu____13807 -> false)) -> ([], env) - | FStar_Syntax_Syntax.Sig_let (uu____13283, lids) when + | FStar_Syntax_Syntax.Sig_let (uu____13809,lids) when (FStar_All.pipe_right lids (FStar_Util.for_some - (fun l -> - let uu____13295 = - let uu____13297 = FStar_List.hd l.FStar_Ident.ns in - uu____13297.FStar_Ident.idText in - uu____13295 = "Prims"))) + (fun l -> + let uu____13821 = + let uu____13823 = FStar_List.hd l.FStar_Ident.ns in + uu____13823.FStar_Ident.idText in + uu____13821 = "Prims"))) && (FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___5_13304 -> - match uu___5_13304 with - | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen + (fun uu___5_13830 -> + match uu___5_13830 with + | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen -> true - | uu____13307 -> false))) + | uu____13833 -> false))) -> ([], env) - | FStar_Syntax_Syntax.Sig_let ((false, lb::[]), uu____13310) when + | FStar_Syntax_Syntax.Sig_let ((false ,lb::[]),uu____13836) when FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___6_13324 -> - match uu___6_13324 with - | FStar_Syntax_Syntax.Projector uu____13326 -> true - | uu____13332 -> false)) + (fun uu___6_13850 -> + match uu___6_13850 with + | FStar_Syntax_Syntax.Projector uu____13852 -> true + | uu____13858 -> false)) -> - let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname in - let l = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let uu____13336 = FStar_SMTEncoding_Env.try_lookup_free_var env l in - (match uu____13336 with - | FStar_Pervasives_Native.Some uu____13343 -> ([], env) - | FStar_Pervasives_Native.None -> + let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + let l = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + let uu____13862 = FStar_SMTEncoding_Env.try_lookup_free_var env l + in + (match uu____13862 with + | FStar_Pervasives_Native.Some uu____13869 -> ([], env) + | FStar_Pervasives_Native.None -> let se1 = - let uu___1056_13345 = se in - let uu____13346 = FStar_Ident.range_of_lid l in + let uu___1083_13871 = se in + let uu____13872 = FStar_Ident.range_of_lid l in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (l, (lb.FStar_Syntax_Syntax.lbunivs), (lb.FStar_Syntax_Syntax.lbtyp))); - FStar_Syntax_Syntax.sigrng = uu____13346; + FStar_Syntax_Syntax.sigrng = uu____13872; FStar_Syntax_Syntax.sigquals = - (uu___1056_13345.FStar_Syntax_Syntax.sigquals); + (uu___1083_13871.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1056_13345.FStar_Syntax_Syntax.sigmeta); + (uu___1083_13871.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1056_13345.FStar_Syntax_Syntax.sigattrs) - } in + (uu___1083_13871.FStar_Syntax_Syntax.sigattrs) + } in encode_sigelt env se1) - | FStar_Syntax_Syntax.Sig_let ((is_rec, bindings), uu____13349) -> + | FStar_Syntax_Syntax.Sig_let ((is_rec,bindings),uu____13875) -> let bindings1 = FStar_List.map - (fun lb -> + (fun lb -> let def = - norm_before_encoding env lb.FStar_Syntax_Syntax.lbdef in + norm_before_encoding env lb.FStar_Syntax_Syntax.lbdef in let typ = - norm_before_encoding env lb.FStar_Syntax_Syntax.lbtyp in - let uu___1068_13370 = lb in + norm_before_encoding env lb.FStar_Syntax_Syntax.lbtyp in + let uu___1095_13896 = lb in { FStar_Syntax_Syntax.lbname = - (uu___1068_13370.FStar_Syntax_Syntax.lbname); + (uu___1095_13896.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = - (uu___1068_13370.FStar_Syntax_Syntax.lbunivs); + (uu___1095_13896.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = typ; FStar_Syntax_Syntax.lbeff = - (uu___1068_13370.FStar_Syntax_Syntax.lbeff); + (uu___1095_13896.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = def; FStar_Syntax_Syntax.lbattrs = - (uu___1068_13370.FStar_Syntax_Syntax.lbattrs); + (uu___1095_13896.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___1068_13370.FStar_Syntax_Syntax.lbpos) - }) bindings in + (uu___1095_13896.FStar_Syntax_Syntax.lbpos) + }) bindings + in encode_top_level_let env (is_rec, bindings1) se.FStar_Syntax_Syntax.sigquals - | FStar_Syntax_Syntax.Sig_bundle (ses, uu____13375) -> - let uu____13384 = encode_sigelts env ses in - (match uu____13384 with - | (g, env1) -> - let uu____13395 = + | FStar_Syntax_Syntax.Sig_bundle (ses,uu____13901) -> + let uu____13910 = encode_sigelts env ses in + (match uu____13910 with + | (g,env1) -> + let uu____13921 = FStar_List.fold_left - (fun uu____13419 -> - fun elt -> - match uu____13419 with - | (g', inversions) -> - let uu____13447 = + (fun uu____13945 -> + fun elt -> + match uu____13945 with + | (g',inversions) -> + let uu____13973 = FStar_All.pipe_right elt.FStar_SMTEncoding_Term.decls (FStar_List.partition - (fun uu___7_13470 -> - match uu___7_13470 with + (fun uu___7_13996 -> + match uu___7_13996 with | FStar_SMTEncoding_Term.Assume { FStar_SMTEncoding_Term.assumption_term - = uu____13472; + = uu____13998; FStar_SMTEncoding_Term.assumption_caption = FStar_Pervasives_Native.Some "inversion axiom"; FStar_SMTEncoding_Term.assumption_name - = uu____13473; + = uu____13999; FStar_SMTEncoding_Term.assumption_fact_ids - = uu____13474;_} + = uu____14000;_} -> false - | uu____13481 -> true)) in - (match uu____13447 with - | (elt_g', elt_inversions) -> + | uu____14007 -> true)) + in + (match uu____13973 with + | (elt_g',elt_inversions) -> ((FStar_List.append g' - [(let uu___1094_13506 = elt in + [(let uu___1121_14032 = elt in { FStar_SMTEncoding_Term.sym_name = - (uu___1094_13506.FStar_SMTEncoding_Term.sym_name); + (uu___1121_14032.FStar_SMTEncoding_Term.sym_name); FStar_SMTEncoding_Term.key = - (uu___1094_13506.FStar_SMTEncoding_Term.key); + (uu___1121_14032.FStar_SMTEncoding_Term.key); FStar_SMTEncoding_Term.decls = elt_g'; FStar_SMTEncoding_Term.a_names = - (uu___1094_13506.FStar_SMTEncoding_Term.a_names) + (uu___1121_14032.FStar_SMTEncoding_Term.a_names) })]), (FStar_List.append inversions - elt_inversions)))) ([], []) g in - (match uu____13395 with - | (g', inversions) -> - let uu____13525 = + elt_inversions)))) ([], []) g + in + (match uu____13921 with + | (g',inversions) -> + let uu____14051 = FStar_List.fold_left - (fun uu____13556 -> - fun elt -> - match uu____13556 with - | (decls, elts, rest) -> - let uu____13597 = + (fun uu____14082 -> + fun elt -> + match uu____14082 with + | (decls,elts,rest) -> + let uu____14123 = (FStar_All.pipe_right elt.FStar_SMTEncoding_Term.key FStar_Util.is_some) && (FStar_List.existsb - (fun uu___8_13606 -> - match uu___8_13606 with + (fun uu___8_14132 -> + match uu___8_14132 with | FStar_SMTEncoding_Term.DeclFun - uu____13608 -> true - | uu____13621 -> false) - elt.FStar_SMTEncoding_Term.decls) in - if uu____13597 + uu____14134 -> true + | uu____14147 -> false) + elt.FStar_SMTEncoding_Term.decls) + in + if uu____14123 then (decls, (FStar_List.append elts [elt]), rest) else - (let uu____13644 = + (let uu____14170 = FStar_All.pipe_right elt.FStar_SMTEncoding_Term.decls (FStar_List.partition - (fun uu___9_13665 -> - match uu___9_13665 with + (fun uu___9_14191 -> + match uu___9_14191 with | FStar_SMTEncoding_Term.DeclFun - uu____13667 -> true - | uu____13680 -> false)) in - match uu____13644 with - | (elt_decls, elt_rest) -> + uu____14193 -> true + | uu____14206 -> false)) + in + match uu____14170 with + | (elt_decls,elt_rest) -> ((FStar_List.append decls elt_decls), elts, (FStar_List.append rest - [(let uu___1116_13711 = elt in + [(let uu___1143_14237 = elt in { FStar_SMTEncoding_Term.sym_name = - (uu___1116_13711.FStar_SMTEncoding_Term.sym_name); + (uu___1143_14237.FStar_SMTEncoding_Term.sym_name); FStar_SMTEncoding_Term.key = - (uu___1116_13711.FStar_SMTEncoding_Term.key); + (uu___1143_14237.FStar_SMTEncoding_Term.key); FStar_SMTEncoding_Term.decls = elt_rest; FStar_SMTEncoding_Term.a_names = - (uu___1116_13711.FStar_SMTEncoding_Term.a_names) - })])))) ([], [], []) g' in - (match uu____13525 with - | (decls, elts, rest) -> - let uu____13737 = - let uu____13738 = + (uu___1143_14237.FStar_SMTEncoding_Term.a_names) + })])))) ([], [], []) g' + in + (match uu____14051 with + | (decls,elts,rest) -> + let uu____14263 = + let uu____14264 = FStar_All.pipe_right decls - FStar_SMTEncoding_Term.mk_decls_trivial in - let uu____13745 = - let uu____13748 = - let uu____13751 = + FStar_SMTEncoding_Term.mk_decls_trivial + in + let uu____14271 = + let uu____14274 = + let uu____14277 = FStar_All.pipe_right inversions - FStar_SMTEncoding_Term.mk_decls_trivial in - FStar_List.append rest uu____13751 in - FStar_List.append elts uu____13748 in - FStar_List.append uu____13738 uu____13745 in - (uu____13737, env1)))) + FStar_SMTEncoding_Term.mk_decls_trivial + in + FStar_List.append rest uu____14277 in + FStar_List.append elts uu____14274 in + FStar_List.append uu____14264 uu____14271 in + (uu____14263, env1)))) | FStar_Syntax_Syntax.Sig_inductive_typ - (t, universe_names, tps, k, uu____13762, datas) -> - let tcenv = env.FStar_SMTEncoding_Env.tcenv in + (t,universe_names,tps,k,uu____14288,datas) -> + let tcenv = env.FStar_SMTEncoding_Env.tcenv in let is_injective = - let uu____13775 = - FStar_Syntax_Subst.univ_var_opening universe_names in - match uu____13775 with - | (usubst, uvs) -> - let uu____13795 = - let uu____13802 = - FStar_TypeChecker_Env.push_univ_vars tcenv uvs in - let uu____13803 = - FStar_Syntax_Subst.subst_binders usubst tps in - let uu____13804 = - let uu____13805 = + let uu____14301 = + FStar_Syntax_Subst.univ_var_opening universe_names in + match uu____14301 with + | (usubst,uvs) -> + let uu____14321 = + let uu____14328 = + FStar_TypeChecker_Env.push_univ_vars tcenv uvs in + let uu____14329 = + FStar_Syntax_Subst.subst_binders usubst tps in + let uu____14330 = + let uu____14331 = FStar_Syntax_Subst.shift_subst (FStar_List.length tps) - usubst in - FStar_Syntax_Subst.subst uu____13805 k in - (uu____13802, uu____13803, uu____13804) in - (match uu____13795 with - | (env1, tps1, k1) -> - let uu____13818 = FStar_Syntax_Subst.open_term tps1 k1 in - (match uu____13818 with - | (tps2, k2) -> - let uu____13826 = - FStar_Syntax_Util.arrow_formals k2 in - (match uu____13826 with - | (uu____13842, k3) -> - let uu____13864 = + usubst + in + FStar_Syntax_Subst.subst uu____14331 k in + (uu____14328, uu____14329, uu____14330) in + (match uu____14321 with + | (env1,tps1,k1) -> + let uu____14344 = FStar_Syntax_Subst.open_term tps1 k1 + in + (match uu____14344 with + | (tps2,k2) -> + let uu____14352 = + FStar_Syntax_Util.arrow_formals k2 in + (match uu____14352 with + | (uu____14368,k3) -> + let uu____14390 = FStar_TypeChecker_TcTerm.tc_binders env1 - tps2 in - (match uu____13864 with - | (tps3, env_tps, uu____13876, us) -> + tps2 + in + (match uu____14390 with + | (tps3,env_tps,uu____14402,us) -> let u_k = - let uu____13879 = - let uu____13880 = - FStar_Ident.range_of_lid t in - let uu____13881 = - let uu____13886 = + let uu____14405 = + let uu____14406 = + FStar_Ident.range_of_lid t in + let uu____14407 = + let uu____14412 = FStar_Syntax_Syntax.fvar t (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "0")) - FStar_Pervasives_Native.None in - let uu____13888 = - let uu____13889 = + FStar_Pervasives_Native.None + in + let uu____14414 = + let uu____14415 = FStar_Syntax_Util.args_of_binders - tps3 in + tps3 + in FStar_Pervasives_Native.snd - uu____13889 in + uu____14415 + in FStar_Syntax_Syntax.mk_Tm_app - uu____13886 uu____13888 in - uu____13881 + uu____14412 uu____14414 + in + uu____14407 FStar_Pervasives_Native.None - uu____13880 in + uu____14406 + in FStar_TypeChecker_TcTerm.level_of_type - env_tps uu____13879 k3 in + env_tps uu____14405 k3 + in let rec universe_leq u v1 = match (u, v1) with - | (FStar_Syntax_Syntax.U_zero, - uu____13907) -> true - | (FStar_Syntax_Syntax.U_succ u0, - FStar_Syntax_Syntax.U_succ v0) -> - universe_leq u0 v0 - | (FStar_Syntax_Syntax.U_name u0, - FStar_Syntax_Syntax.U_name v0) -> - FStar_Ident.ident_equals u0 v0 + | (FStar_Syntax_Syntax.U_zero + ,uu____14433) -> true + | (FStar_Syntax_Syntax.U_succ + u0,FStar_Syntax_Syntax.U_succ v0) + -> universe_leq u0 v0 + | (FStar_Syntax_Syntax.U_name + u0,FStar_Syntax_Syntax.U_name v0) + -> FStar_Ident.ident_equals u0 v0 | (FStar_Syntax_Syntax.U_name - uu____13913, - FStar_Syntax_Syntax.U_succ v0) -> - universe_leq u v0 - | (FStar_Syntax_Syntax.U_max us1, - uu____13916) -> + uu____14439,FStar_Syntax_Syntax.U_succ + v0) -> universe_leq u v0 + | (FStar_Syntax_Syntax.U_max + us1,uu____14442) -> FStar_All.pipe_right us1 (FStar_Util.for_all - (fun u1 -> universe_leq u1 v1)) - | (uu____13924, - FStar_Syntax_Syntax.U_max vs) -> + (fun u1 -> + universe_leq u1 v1)) + | (uu____14450,FStar_Syntax_Syntax.U_max + vs) -> FStar_All.pipe_right vs (FStar_Util.for_some (universe_leq u)) - | (FStar_Syntax_Syntax.U_unknown, - uu____13931) -> - let uu____13932 = - let uu____13934 = - FStar_Ident.string_of_lid t in + | (FStar_Syntax_Syntax.U_unknown + ,uu____14457) -> + let uu____14458 = + let uu____14460 = + FStar_Ident.string_of_lid t + in FStar_Util.format1 "Impossible: Unresolved or unknown universe in inductive type %s" - uu____13934 in - failwith uu____13932 - | (uu____13938, - FStar_Syntax_Syntax.U_unknown) -> - let uu____13939 = - let uu____13941 = - FStar_Ident.string_of_lid t in + uu____14460 + in + failwith uu____14458 + | (uu____14464,FStar_Syntax_Syntax.U_unknown + ) -> + let uu____14465 = + let uu____14467 = + FStar_Ident.string_of_lid t + in FStar_Util.format1 "Impossible: Unresolved or unknown universe in inductive type %s" - uu____13941 in - failwith uu____13939 + uu____14467 + in + failwith uu____14465 | (FStar_Syntax_Syntax.U_unif - uu____13945, uu____13946) -> - let uu____13955 = - let uu____13957 = - FStar_Ident.string_of_lid t in + uu____14471,uu____14472) -> + let uu____14481 = + let uu____14483 = + FStar_Ident.string_of_lid t + in FStar_Util.format1 "Impossible: Unresolved or unknown universe in inductive type %s" - uu____13957 in - failwith uu____13955 - | (uu____13961, - FStar_Syntax_Syntax.U_unif - uu____13962) -> - let uu____13971 = - let uu____13973 = - FStar_Ident.string_of_lid t in + uu____14483 + in + failwith uu____14481 + | (uu____14487,FStar_Syntax_Syntax.U_unif + uu____14488) -> + let uu____14497 = + let uu____14499 = + FStar_Ident.string_of_lid t + in FStar_Util.format1 "Impossible: Unresolved or unknown universe in inductive type %s" - uu____13973 in - failwith uu____13971 - | uu____13977 -> false in + uu____14499 + in + failwith uu____14497 + | uu____14503 -> false in let u_leq_u_k u = - let uu____13990 = + let uu____14516 = FStar_TypeChecker_Normalize.normalize_universe - env_tps u in - universe_leq uu____13990 u_k in + env_tps u + in + universe_leq uu____14516 u_k in let tp_ok tp u_tp = let t_tp = - (FStar_Pervasives_Native.fst tp).FStar_Syntax_Syntax.sort in - let uu____14008 = u_leq_u_k u_tp in - if uu____14008 + (FStar_Pervasives_Native.fst tp).FStar_Syntax_Syntax.sort + in + let uu____14534 = u_leq_u_k u_tp in + if uu____14534 then true else - (let uu____14015 = + (let uu____14541 = FStar_Syntax_Util.arrow_formals - t_tp in - match uu____14015 with - | (formals, uu____14032) -> - let uu____14053 = + t_tp + in + match uu____14541 with + | (formals,uu____14558) -> + let uu____14579 = FStar_TypeChecker_TcTerm.tc_binders - env_tps formals in - (match uu____14053 with - | (uu____14063, uu____14064, - uu____14065, u_formals) -> + env_tps formals + in + (match uu____14579 with + | (uu____14589,uu____14590,uu____14591,u_formals) + -> FStar_Util.for_all - (fun u_formal -> + (fun u_formal -> u_leq_u_k u_formal) - u_formals)) in - FStar_List.forall2 tp_ok tps3 us)))) in - ((let uu____14076 = + u_formals)) + in + FStar_List.forall2 tp_ok tps3 us)))) + in + ((let uu____14602 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env.FStar_SMTEncoding_Env.tcenv) - (FStar_Options.Other "SMTEncoding") in - if uu____14076 + (FStar_Options.Other "SMTEncoding") + in + if uu____14602 then - let uu____14081 = FStar_Ident.string_of_lid t in + let uu____14607 = FStar_Ident.string_of_lid t in FStar_Util.print2 "%s injectivity for %s\n" - (if is_injective then "YES" else "NO") uu____14081 + (if is_injective then "YES" else "NO") uu____14607 else ()); - (let quals = se.FStar_Syntax_Syntax.sigquals in + (let quals = se.FStar_Syntax_Syntax.sigquals in let is_logical = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___10_14101 -> - match uu___10_14101 with - | FStar_Syntax_Syntax.Logic -> true - | FStar_Syntax_Syntax.Assumption -> true - | uu____14105 -> false)) in + (fun uu___10_14627 -> + match uu___10_14627 with + | FStar_Syntax_Syntax.Logic -> true + | FStar_Syntax_Syntax.Assumption -> true + | uu____14631 -> false)) + in let constructor_or_logic_type_decl c = if is_logical then - let uu____14118 = c in - match uu____14118 with - | (name, args, uu____14123, uu____14124, uu____14125) -> - let uu____14136 = - let uu____14137 = - let uu____14149 = + let uu____14644 = c in + match uu____14644 with + | (name,args,uu____14649,uu____14650,uu____14651) -> + let uu____14662 = + let uu____14663 = + let uu____14675 = FStar_All.pipe_right args (FStar_List.map - (fun uu____14176 -> - match uu____14176 with - | (uu____14185, sort, uu____14187) -> sort)) in - (name, uu____14149, + (fun uu____14702 -> + match uu____14702 with + | (uu____14711,sort,uu____14713) -> sort)) + in + (name, uu____14675, FStar_SMTEncoding_Term.Term_sort, - FStar_Pervasives_Native.None) in - FStar_SMTEncoding_Term.DeclFun uu____14137 in - [uu____14136] + FStar_Pervasives_Native.None) + in + FStar_SMTEncoding_Term.DeclFun uu____14663 in + [uu____14662] else - (let uu____14198 = FStar_Ident.range_of_lid t in - FStar_SMTEncoding_Term.constructor_to_decl uu____14198 c) in + (let uu____14724 = FStar_Ident.range_of_lid t in + FStar_SMTEncoding_Term.constructor_to_decl uu____14724 c) + in let inversion_axioms tapp vars = - let uu____14216 = + let uu____14742 = FStar_All.pipe_right datas (FStar_Util.for_some - (fun l -> - let uu____14224 = + (fun l -> + let uu____14750 = FStar_TypeChecker_Env.try_lookup_lid - env.FStar_SMTEncoding_Env.tcenv l in - FStar_All.pipe_right uu____14224 FStar_Option.isNone)) in - if uu____14216 + env.FStar_SMTEncoding_Env.tcenv l + in + FStar_All.pipe_right uu____14750 FStar_Option.isNone)) + in + if uu____14742 then [] else - (let uu____14259 = + (let uu____14785 = FStar_SMTEncoding_Env.fresh_fvar env.FStar_SMTEncoding_Env.current_module_name "x" - FStar_SMTEncoding_Term.Term_sort in - match uu____14259 with - | (xxsym, xx) -> - let uu____14272 = + FStar_SMTEncoding_Term.Term_sort + in + match uu____14785 with + | (xxsym,xx) -> + let uu____14798 = FStar_All.pipe_right datas (FStar_List.fold_left - (fun uu____14311 -> - fun l -> - match uu____14311 with - | (out, decls) -> - let uu____14331 = + (fun uu____14837 -> + fun l -> + match uu____14837 with + | (out,decls) -> + let uu____14857 = FStar_TypeChecker_Env.lookup_datacon - env.FStar_SMTEncoding_Env.tcenv l in - (match uu____14331 with - | (uu____14342, data_t) -> - let uu____14344 = + env.FStar_SMTEncoding_Env.tcenv l + in + (match uu____14857 with + | (uu____14868,data_t) -> + let uu____14870 = FStar_Syntax_Util.arrow_formals - data_t in - (match uu____14344 with - | (args, res) -> + data_t + in + (match uu____14870 with + | (args,res) -> let indices = - let uu____14388 = - let uu____14389 = + let uu____14914 = + let uu____14915 = FStar_Syntax_Subst.compress - res in - uu____14389.FStar_Syntax_Syntax.n in - match uu____14388 with + res + in + uu____14915.FStar_Syntax_Syntax.n + in + match uu____14914 with | FStar_Syntax_Syntax.Tm_app - (uu____14392, indices) + (uu____14918,indices) -> indices - | uu____14418 -> [] in + | uu____14944 -> [] in let env1 = FStar_All.pipe_right args (FStar_List.fold_left - (fun env1 -> - fun uu____14448 -> - match uu____14448 + (fun env1 -> + fun uu____14974 -> + match uu____14974 with - | (x, - uu____14456) + | (x,uu____14982) -> - let uu____14461 + let uu____14987 = - let uu____14462 + let uu____14988 = - let uu____14470 + let uu____14996 = FStar_SMTEncoding_Env.mk_term_projector_name - l x in - (uu____14470, - [xx]) in + l x in + (uu____14996, + [xx]) in FStar_SMTEncoding_Util.mkApp - uu____14462 in + uu____14988 + in FStar_SMTEncoding_Env.push_term_var env1 x - uu____14461) - env) in - let uu____14475 = + uu____14987) + env) + in + let uu____15001 = FStar_SMTEncoding_EncodeTerm.encode_args - indices env1 in - (match uu____14475 with - | (indices1, decls') -> + indices env1 + in + (match uu____15001 with + | (indices1,decls') -> (if (FStar_List.length indices1) @@ -4691,473 +5450,588 @@ and (encode_sigelt' : if is_injective then FStar_List.map2 - (fun v1 -> - fun a -> - let uu____14510 + (fun v1 -> + fun a -> + let uu____15036 = - let uu____14515 + let uu____15041 = FStar_SMTEncoding_Util.mkFreeV - v1 in - (uu____14515, - a) in + v1 in + (uu____15041, + a) in FStar_SMTEncoding_Util.mkEq - uu____14510) + uu____15036) vars indices1 - else [] in - let uu____14518 = - let uu____14519 = - let uu____14524 = - let uu____14525 + else [] in + let uu____15044 = + let uu____15045 = + let uu____15050 = + let uu____15051 = - let uu____14530 + let uu____15056 = FStar_SMTEncoding_Env.mk_data_tester - env1 l xx in - let uu____14531 + env1 l xx + in + let uu____15057 = FStar_All.pipe_right eqs - FStar_SMTEncoding_Util.mk_and_l in - (uu____14530, - uu____14531) in + FStar_SMTEncoding_Util.mk_and_l + in + (uu____15056, + uu____15057) + in FStar_SMTEncoding_Util.mkAnd - uu____14525 in - (out, uu____14524) in + uu____15051 + in + (out, uu____15050) + in FStar_SMTEncoding_Util.mkOr - uu____14519 in - (uu____14518, + uu____15045 + in + (uu____15044, (FStar_List.append decls decls')))))))) - (FStar_SMTEncoding_Util.mkFalse, [])) in - (match uu____14272 with - | (data_ax, decls) -> - let uu____14546 = + (FStar_SMTEncoding_Util.mkFalse, [])) + in + (match uu____14798 with + | (data_ax,decls) -> + let uu____15072 = FStar_SMTEncoding_Env.fresh_fvar env.FStar_SMTEncoding_Env.current_module_name - "f" FStar_SMTEncoding_Term.Fuel_sort in - (match uu____14546 with - | (ffsym, ff) -> + "f" FStar_SMTEncoding_Term.Fuel_sort + in + (match uu____15072 with + | (ffsym,ff) -> let fuel_guarded_inversion = let xx_has_type_sfuel = if (FStar_List.length datas) > (Prims.parse_int "1") then - let uu____14563 = + let uu____15089 = FStar_SMTEncoding_Util.mkApp - ("SFuel", [ff]) in + ("SFuel", [ff]) + in FStar_SMTEncoding_Term.mk_HasTypeFuel - uu____14563 xx tapp + uu____15089 xx tapp else FStar_SMTEncoding_Term.mk_HasTypeFuel - ff xx tapp in - let uu____14570 = - let uu____14578 = - let uu____14579 = - FStar_Ident.range_of_lid t in - let uu____14580 = - let uu____14591 = - let uu____14592 = + ff xx tapp + in + let uu____15096 = + let uu____15104 = + let uu____15105 = + FStar_Ident.range_of_lid t in + let uu____15106 = + let uu____15117 = + let uu____15118 = FStar_SMTEncoding_Term.mk_fv (ffsym, - FStar_SMTEncoding_Term.Fuel_sort) in - let uu____14594 = - let uu____14597 = + FStar_SMTEncoding_Term.Fuel_sort) + in + let uu____15120 = + let uu____15123 = FStar_SMTEncoding_Term.mk_fv (xxsym, - FStar_SMTEncoding_Term.Term_sort) in - uu____14597 :: vars in + FStar_SMTEncoding_Term.Term_sort) + in + uu____15123 :: vars in FStar_SMTEncoding_Env.add_fuel - uu____14592 uu____14594 in - let uu____14599 = + uu____15118 uu____15120 + in + let uu____15125 = FStar_SMTEncoding_Util.mkImp - (xx_has_type_sfuel, data_ax) in - ([[xx_has_type_sfuel]], uu____14591, - uu____14599) in + (xx_has_type_sfuel, data_ax) + in + ([[xx_has_type_sfuel]], uu____15117, + uu____15125) + in FStar_SMTEncoding_Term.mkForall - uu____14579 uu____14580 in - let uu____14608 = + uu____15105 uu____15106 + in + let uu____15134 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.mk_unique (Prims.op_Hat "fuel_guarded_inversion_" - t.FStar_Ident.str) in - (uu____14578, + t.FStar_Ident.str) + in + (uu____15104, (FStar_Pervasives_Native.Some - "inversion axiom"), uu____14608) in - FStar_SMTEncoding_Util.mkAssume uu____14570 in - let uu____14614 = + "inversion axiom"), uu____15134) + in + FStar_SMTEncoding_Util.mkAssume uu____15096 + in + let uu____15140 = FStar_All.pipe_right [fuel_guarded_inversion] - FStar_SMTEncoding_Term.mk_decls_trivial in - FStar_List.append decls uu____14614))) in - let uu____14621 = + FStar_SMTEncoding_Term.mk_decls_trivial + in + FStar_List.append decls uu____15140))) + in + let uu____15147 = let k1 = match tps with | [] -> k - | uu____14643 -> - let uu____14644 = - let uu____14651 = - let uu____14652 = - let uu____14667 = FStar_Syntax_Syntax.mk_Total k in - (tps, uu____14667) in - FStar_Syntax_Syntax.Tm_arrow uu____14652 in - FStar_Syntax_Syntax.mk uu____14651 in - uu____14644 FStar_Pervasives_Native.None - k.FStar_Syntax_Syntax.pos in - let k2 = norm_before_encoding env k1 in - FStar_Syntax_Util.arrow_formals k2 in - match uu____14621 with - | (formals, res) -> - let uu____14707 = + | uu____15169 -> + let uu____15170 = + let uu____15177 = + let uu____15178 = + let uu____15193 = FStar_Syntax_Syntax.mk_Total k + in + (tps, uu____15193) in + FStar_Syntax_Syntax.Tm_arrow uu____15178 in + FStar_Syntax_Syntax.mk uu____15177 in + uu____15170 FStar_Pervasives_Native.None + k.FStar_Syntax_Syntax.pos + in + let k2 = norm_before_encoding env k1 in + FStar_Syntax_Util.arrow_formals k2 in + match uu____15147 with + | (formals,res) -> + let uu____15233 = FStar_SMTEncoding_EncodeTerm.encode_binders - FStar_Pervasives_Native.None formals env in - (match uu____14707 with - | (vars, guards, env', binder_decls, uu____14732) -> - let arity = FStar_List.length vars in - let uu____14746 = + FStar_Pervasives_Native.None formals env + in + (match uu____15233 with + | (vars,guards,env',binder_decls,uu____15258) -> + let arity = FStar_List.length vars in + let uu____15272 = FStar_SMTEncoding_Env.new_term_constant_and_tok_from_lid - env t arity in - (match uu____14746 with - | (tname, ttok, env1) -> + env t arity + in + (match uu____15272 with + | (tname,ttok,env1) -> let ttok_tm = - FStar_SMTEncoding_Util.mkApp (ttok, []) in - let guard = FStar_SMTEncoding_Util.mk_and_l guards in + FStar_SMTEncoding_Util.mkApp (ttok, []) in + let guard = FStar_SMTEncoding_Util.mk_and_l guards + in let tapp = - let uu____14772 = - let uu____14780 = + let uu____15298 = + let uu____15306 = FStar_List.map - FStar_SMTEncoding_Util.mkFreeV vars in - (tname, uu____14780) in - FStar_SMTEncoding_Util.mkApp uu____14772 in - let uu____14786 = + FStar_SMTEncoding_Util.mkFreeV vars + in + (tname, uu____15306) in + FStar_SMTEncoding_Util.mkApp uu____15298 in + let uu____15312 = let tname_decl = - let uu____14796 = - let uu____14797 = + let uu____15322 = + let uu____15323 = FStar_All.pipe_right vars (FStar_List.map - (fun fv -> - let uu____14816 = - let uu____14818 = + (fun fv -> + let uu____15342 = + let uu____15344 = FStar_SMTEncoding_Term.fv_name - fv in - Prims.op_Hat tname uu____14818 in - let uu____14820 = + fv + in + Prims.op_Hat tname uu____15344 + in + let uu____15346 = FStar_SMTEncoding_Term.fv_sort - fv in - (uu____14816, uu____14820, false))) in - let uu____14824 = + fv + in + (uu____15342, uu____15346, false))) + in + let uu____15350 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.next_id - () in - (tname, uu____14797, + () + in + (tname, uu____15323, FStar_SMTEncoding_Term.Term_sort, - uu____14824, false) in - constructor_or_logic_type_decl uu____14796 in - let uu____14832 = + uu____15350, false) + in + constructor_or_logic_type_decl uu____15322 in + let uu____15358 = match vars with | [] -> - let uu____14845 = - let uu____14846 = - let uu____14849 = + let uu____15371 = + let uu____15372 = + let uu____15375 = FStar_SMTEncoding_Util.mkApp - (tname, []) in + (tname, []) + in FStar_All.pipe_left - (fun _14855 -> + (fun _15381 -> FStar_Pervasives_Native.Some - _14855) uu____14849 in + _15381) uu____15375 + in FStar_SMTEncoding_Env.push_free_var env1 - t arity tname uu____14846 in - ([], uu____14845) - | uu____14858 -> + t arity tname uu____15372 + in + ([], uu____15371) + | uu____15384 -> let ttok_decl = FStar_SMTEncoding_Term.DeclFun (ttok, [], FStar_SMTEncoding_Term.Term_sort, (FStar_Pervasives_Native.Some - "token")) in + "token")) + in let ttok_fresh = - let uu____14868 = + let uu____15394 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.next_id - () in + () + in FStar_SMTEncoding_Term.fresh_token (ttok, FStar_SMTEncoding_Term.Term_sort) - uu____14868 in + uu____15394 + in let ttok_app = FStar_SMTEncoding_EncodeTerm.mk_Apply - ttok_tm vars in - let pats = [[ttok_app]; [tapp]] in + ttok_tm vars + in + let pats = [[ttok_app]; [tapp]] in let name_tok_corr = - let uu____14884 = - let uu____14892 = - let uu____14893 = - FStar_Ident.range_of_lid t in - let uu____14894 = - let uu____14910 = + let uu____15410 = + let uu____15418 = + let uu____15419 = + FStar_Ident.range_of_lid t in + let uu____15420 = + let uu____15436 = FStar_SMTEncoding_Util.mkEq - (ttok_app, tapp) in + (ttok_app, tapp) + in (pats, FStar_Pervasives_Native.None, - vars, uu____14910) in + vars, uu____15436) + in FStar_SMTEncoding_Term.mkForall' - uu____14893 uu____14894 in - (uu____14892, + uu____15419 uu____15420 + in + (uu____15418, (FStar_Pervasives_Native.Some "name-token correspondence"), (Prims.op_Hat - "token_correspondence_" ttok)) in + "token_correspondence_" ttok)) + in FStar_SMTEncoding_Util.mkAssume - uu____14884 in + uu____15410 + in ([ttok_decl; ttok_fresh; name_tok_corr], - env1) in - match uu____14832 with - | (tok_decls, env2) -> - let uu____14937 = + env1) + in + match uu____15358 with + | (tok_decls,env2) -> + let uu____15463 = FStar_Ident.lid_equals t - FStar_Parser_Const.lex_t_lid in - if uu____14937 + FStar_Parser_Const.lex_t_lid + in + if uu____15463 then (tok_decls, env2) else ((FStar_List.append tname_decl tok_decls), - env2) in - (match uu____14786 with - | (decls, env2) -> + env2) + in + (match uu____15312 with + | (decls,env2) -> let kindingAx = - let uu____14965 = + let uu____15491 = FStar_SMTEncoding_EncodeTerm.encode_term_pred FStar_Pervasives_Native.None res env' - tapp in - match uu____14965 with - | (k1, decls1) -> + tapp + in + match uu____15491 with + | (k1,decls1) -> let karr = if (FStar_List.length formals) > (Prims.parse_int "0") then - let uu____14987 = - let uu____14988 = - let uu____14996 = - let uu____14997 = + let uu____15513 = + let uu____15514 = + let uu____15522 = + let uu____15523 = FStar_SMTEncoding_Term.mk_PreType - ttok_tm in + ttok_tm + in FStar_SMTEncoding_Term.mk_tester - "Tm_arrow" uu____14997 in - (uu____14996, + "Tm_arrow" uu____15523 + in + (uu____15522, (FStar_Pervasives_Native.Some "kinding"), (Prims.op_Hat "pre_kinding_" - ttok)) in + ttok)) + in FStar_SMTEncoding_Util.mkAssume - uu____14988 in - [uu____14987] - else [] in - let uu____15005 = - let uu____15008 = - let uu____15011 = - let uu____15014 = - let uu____15015 = - let uu____15023 = - let uu____15024 = - FStar_Ident.range_of_lid - t in - let uu____15025 = - let uu____15036 = - FStar_SMTEncoding_Util.mkImp - (guard, k1) in - ([[tapp]], vars, - uu____15036) in - FStar_SMTEncoding_Term.mkForall - uu____15024 uu____15025 in - (uu____15023, + uu____15514 + in + [uu____15513] + else [] in + let rng = FStar_Ident.range_of_lid t + in + let tot_fun_axioms = + let uu____15533 = + FStar_List.map + (fun uu____15537 -> + FStar_SMTEncoding_Util.mkTrue) + vars + in + FStar_SMTEncoding_EncodeTerm.isTotFun_axioms + rng ttok_tm vars uu____15533 true + in + let uu____15539 = + let uu____15542 = + let uu____15545 = + let uu____15548 = + let uu____15549 = + let uu____15557 = + let uu____15558 = + let uu____15563 = + let uu____15564 = + let uu____15575 = + FStar_SMTEncoding_Util.mkImp + (guard, k1) + in + ([[tapp]], vars, + uu____15575) + in + FStar_SMTEncoding_Term.mkForall + rng uu____15564 + in + (tot_fun_axioms, + uu____15563) + in + FStar_SMTEncoding_Util.mkAnd + uu____15558 + in + (uu____15557, FStar_Pervasives_Native.None, (Prims.op_Hat "kinding_" - ttok)) in + ttok)) + in FStar_SMTEncoding_Util.mkAssume - uu____15015 in - [uu____15014] in - FStar_List.append karr uu____15011 in - FStar_All.pipe_right uu____15008 - FStar_SMTEncoding_Term.mk_decls_trivial in - FStar_List.append decls1 uu____15005 in + uu____15549 + in + [uu____15548] in + FStar_List.append karr uu____15545 + in + FStar_All.pipe_right uu____15542 + FStar_SMTEncoding_Term.mk_decls_trivial + in + FStar_List.append decls1 uu____15539 + in let aux = - let uu____15055 = - let uu____15058 = - inversion_axioms tapp vars in - let uu____15061 = - let uu____15064 = - let uu____15067 = - let uu____15068 = - FStar_Ident.range_of_lid t in - pretype_axiom uu____15068 env2 tapp - vars in - [uu____15067] in - FStar_All.pipe_right uu____15064 - FStar_SMTEncoding_Term.mk_decls_trivial in - FStar_List.append uu____15058 uu____15061 in - FStar_List.append kindingAx uu____15055 in + let uu____15594 = + let uu____15597 = + inversion_axioms tapp vars in + let uu____15600 = + let uu____15603 = + let uu____15606 = + let uu____15607 = + FStar_Ident.range_of_lid t in + pretype_axiom uu____15607 env2 tapp + vars + in + [uu____15606] in + FStar_All.pipe_right uu____15603 + FStar_SMTEncoding_Term.mk_decls_trivial + in + FStar_List.append uu____15597 uu____15600 + in + FStar_List.append kindingAx uu____15594 in let g = - let uu____15076 = + let uu____15615 = FStar_All.pipe_right decls - FStar_SMTEncoding_Term.mk_decls_trivial in - FStar_List.append uu____15076 - (FStar_List.append binder_decls aux) in + FStar_SMTEncoding_Term.mk_decls_trivial + in + FStar_List.append uu____15615 + (FStar_List.append binder_decls aux) + in (g, env2)))))) | FStar_Syntax_Syntax.Sig_datacon - (d, uu____15084, uu____15085, uu____15086, uu____15087, - uu____15088) + (d,uu____15623,uu____15624,uu____15625,uu____15626,uu____15627) when FStar_Ident.lid_equals d FStar_Parser_Const.lexcons_lid -> ([], env) | FStar_Syntax_Syntax.Sig_datacon - (d, uu____15096, t, uu____15098, n_tps, uu____15100) -> - let quals = se.FStar_Syntax_Syntax.sigquals in - let t1 = norm_before_encoding env t in - let uu____15111 = FStar_Syntax_Util.arrow_formals t1 in - (match uu____15111 with - | (formals, t_res) -> - let arity = FStar_List.length formals in - let uu____15159 = + (d,uu____15635,t,uu____15637,n_tps,uu____15639) -> + let quals = se.FStar_Syntax_Syntax.sigquals in + let t1 = norm_before_encoding env t in + let uu____15650 = FStar_Syntax_Util.arrow_formals t1 in + (match uu____15650 with + | (formals,t_res) -> + let arity = FStar_List.length formals in + let uu____15698 = FStar_SMTEncoding_Env.new_term_constant_and_tok_from_lid - env d arity in - (match uu____15159 with - | (ddconstrsym, ddtok, env1) -> - let ddtok_tm = FStar_SMTEncoding_Util.mkApp (ddtok, []) in - let uu____15183 = + env d arity + in + (match uu____15698 with + | (ddconstrsym,ddtok,env1) -> + let ddtok_tm = FStar_SMTEncoding_Util.mkApp (ddtok, []) + in + let uu____15722 = FStar_SMTEncoding_Env.fresh_fvar env1.FStar_SMTEncoding_Env.current_module_name "f" - FStar_SMTEncoding_Term.Fuel_sort in - (match uu____15183 with - | (fuel_var, fuel_tm) -> + FStar_SMTEncoding_Term.Fuel_sort + in + (match uu____15722 with + | (fuel_var,fuel_tm) -> let s_fuel_tm = - FStar_SMTEncoding_Util.mkApp ("SFuel", [fuel_tm]) in - let uu____15203 = + FStar_SMTEncoding_Util.mkApp ("SFuel", [fuel_tm]) + in + let uu____15742 = FStar_SMTEncoding_EncodeTerm.encode_binders (FStar_Pervasives_Native.Some fuel_tm) formals - env1 in - (match uu____15203 with - | (vars, guards, env', binder_decls, names1) -> + env1 + in + (match uu____15742 with + | (vars,guards,env',binder_decls,names1) -> let fields = FStar_All.pipe_right names1 (FStar_List.mapi - (fun n1 -> - fun x -> - let projectible = true in - let uu____15282 = + (fun n1 -> + fun x -> + let projectible = true in + let uu____15821 = FStar_SMTEncoding_Env.mk_term_projector_name - d x in - (uu____15282, + d x + in + (uu____15821, FStar_SMTEncoding_Term.Term_sort, - projectible))) in + projectible))) + in let datacons = - let uu____15289 = - let uu____15290 = + let uu____15828 = + let uu____15829 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.next_id - () in + () + in (ddconstrsym, fields, FStar_SMTEncoding_Term.Term_sort, - uu____15290, true) in - let uu____15298 = - let uu____15305 = - FStar_Ident.range_of_lid d in + uu____15829, true) + in + let uu____15837 = + let uu____15844 = + FStar_Ident.range_of_lid d in FStar_SMTEncoding_Term.constructor_to_decl - uu____15305 in - FStar_All.pipe_right uu____15289 uu____15298 in + uu____15844 + in + FStar_All.pipe_right uu____15828 uu____15837 + in let app = FStar_SMTEncoding_EncodeTerm.mk_Apply - ddtok_tm vars in + ddtok_tm vars + in let guard = - FStar_SMTEncoding_Util.mk_and_l guards in + FStar_SMTEncoding_Util.mk_and_l guards in let xvars = FStar_List.map - FStar_SMTEncoding_Util.mkFreeV vars in + FStar_SMTEncoding_Util.mkFreeV vars + in let dapp = FStar_SMTEncoding_Util.mkApp - (ddconstrsym, xvars) in - let uu____15317 = + (ddconstrsym, xvars) + in + let uu____15856 = FStar_SMTEncoding_EncodeTerm.encode_term_pred FStar_Pervasives_Native.None t1 env1 - ddtok_tm in - (match uu____15317 with - | (tok_typing, decls3) -> + ddtok_tm + in + (match uu____15856 with + | (tok_typing,decls3) -> let tok_typing1 = match fields with - | uu____15329::uu____15330 -> + | uu____15868::uu____15869 -> let ff = FStar_SMTEncoding_Term.mk_fv ("ty", - FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.Term_sort) + in let f = - FStar_SMTEncoding_Util.mkFreeV ff in + FStar_SMTEncoding_Util.mkFreeV ff + in let vtok_app_l = FStar_SMTEncoding_EncodeTerm.mk_Apply - ddtok_tm [ff] in + ddtok_tm [ff] + in let vtok_app_r = - let uu____15379 = - let uu____15380 = + let uu____15918 = + let uu____15919 = FStar_SMTEncoding_Term.mk_fv (ddtok, - FStar_SMTEncoding_Term.Term_sort) in - [uu____15380] in + FStar_SMTEncoding_Term.Term_sort) + in + [uu____15919] in FStar_SMTEncoding_EncodeTerm.mk_Apply - f uu____15379 in - let uu____15406 = - FStar_Ident.range_of_lid d in - let uu____15407 = - let uu____15418 = + f uu____15918 + in + let uu____15945 = + FStar_Ident.range_of_lid d in + let uu____15946 = + let uu____15957 = FStar_SMTEncoding_Term.mk_NoHoist - f tok_typing in + f tok_typing + in ([[vtok_app_l]; [vtok_app_r]], - [ff], uu____15418) in + [ff], uu____15957) + in FStar_SMTEncoding_Term.mkForall - uu____15406 uu____15407 - | uu____15445 -> tok_typing in - let uu____15456 = + uu____15945 uu____15946 + | uu____15984 -> tok_typing in + let uu____15995 = FStar_SMTEncoding_EncodeTerm.encode_binders (FStar_Pervasives_Native.Some fuel_tm) - formals env1 in - (match uu____15456 with - | (vars', guards', env'', decls_formals, - uu____15481) -> - let uu____15494 = + formals env1 + in + (match uu____15995 with + | (vars',guards',env'',decls_formals,uu____16020) + -> + let uu____16033 = let xvars1 = FStar_List.map FStar_SMTEncoding_Util.mkFreeV - vars' in + vars' + in let dapp1 = FStar_SMTEncoding_Util.mkApp - (ddconstrsym, xvars1) in + (ddconstrsym, xvars1) + in FStar_SMTEncoding_EncodeTerm.encode_term_pred (FStar_Pervasives_Native.Some - fuel_tm) t_res env'' dapp1 in - (match uu____15494 with - | (ty_pred', decls_pred) -> + fuel_tm) t_res env'' dapp1 + in + (match uu____16033 with + | (ty_pred',decls_pred) -> let guard' = FStar_SMTEncoding_Util.mk_and_l - guards' in + guards' + in let proxy_fresh = match formals with | [] -> [] - | uu____15524 -> - let uu____15533 = - let uu____15534 = + | uu____16063 -> + let uu____16072 = + let uu____16073 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.next_id - () in + () + in FStar_SMTEncoding_Term.fresh_token (ddtok, FStar_SMTEncoding_Term.Term_sort) - uu____15534 in - [uu____15533] in - let encode_elim uu____15550 = - let uu____15551 = + uu____16073 + in + [uu____16072] + in + let encode_elim uu____16089 = + let uu____16090 = FStar_Syntax_Util.head_and_args - t_res in - match uu____15551 with - | (head1, args) -> - let uu____15602 = - let uu____15603 = + t_res + in + match uu____16090 with + | (head1,args) -> + let uu____16141 = + let uu____16142 = FStar_Syntax_Subst.compress - head1 in - uu____15603.FStar_Syntax_Syntax.n in - (match uu____15602 with + head1 + in + uu____16142.FStar_Syntax_Syntax.n + in + (match uu____16141 with | FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n @@ -5165,23 +6039,24 @@ and (encode_sigelt' : FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos - = uu____15615; + = uu____16154; FStar_Syntax_Syntax.vars - = uu____15616;_}, - uu____15617) + = uu____16155;_},uu____16156) -> let encoded_head_fvb = FStar_SMTEncoding_Env.lookup_free_var_name env' - fv.FStar_Syntax_Syntax.fv_name in - let uu____15623 = + fv.FStar_Syntax_Syntax.fv_name + in + let uu____16162 = FStar_SMTEncoding_EncodeTerm.encode_args - args env' in - (match uu____15623 + args env' + in + (match uu____16162 with - | (encoded_args, - arg_decls) -> + | (encoded_args,arg_decls) + -> let guards_for_parameter orig_arg arg xv = @@ -5192,113 +6067,124 @@ and (encode_sigelt' : | FStar_SMTEncoding_Term.FreeV fv1 -> fv1 - | uu____15686 + | uu____16225 -> - let uu____15687 + let uu____16226 = - let uu____15693 + let uu____16232 = - let uu____15695 + let uu____16234 = FStar_Syntax_Print.term_to_string - orig_arg in + orig_arg + in FStar_Util.format1 "Inductive type parameter %s must be a variable ; You may want to change it to an index." - uu____15695 in + uu____16234 + in (FStar_Errors.Fatal_NonVariableInductiveTypeParameter, - uu____15693) in + uu____16232) + in FStar_Errors.raise_error - uu____15687 - orig_arg.FStar_Syntax_Syntax.pos in + uu____16226 + orig_arg.FStar_Syntax_Syntax.pos + in let guards1 = FStar_All.pipe_right guards ( FStar_List.collect - (fun g -> - let uu____15718 + (fun g + -> + let uu____16257 = - let uu____15720 + let uu____16259 = FStar_SMTEncoding_Term.free_variables - g in + g in FStar_List.contains fv1 - uu____15720 in + uu____16259 + in if - uu____15718 + uu____16257 then - let uu____15742 + let uu____16281 = FStar_SMTEncoding_Term.subst - g fv1 xv in - [uu____15742] - else [])) in + g fv1 xv + in + [uu____16281] + else [])) + in FStar_SMTEncoding_Util.mk_and_l - guards1 in - let uu____15745 + guards1 + in + let uu____16284 = - let uu____15759 + let uu____16298 = FStar_List.zip args - encoded_args in + encoded_args + in FStar_List.fold_left (fun - uu____15816 - -> + uu____16355 + -> fun - uu____15817 - -> + uu____16356 + -> match - (uu____15816, - uu____15817) + (uu____16355, + uu____16356) with | - ((env2, - arg_vars, - eqns_or_guards, - i), - (orig_arg, - arg)) -> - let uu____15928 + ((env2,arg_vars,eqns_or_guards,i), + (orig_arg,arg)) + -> + let uu____16467 = - let uu____15936 + let uu____16475 = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in FStar_SMTEncoding_Env.gen_term_var env2 - uu____15936 in - (match uu____15928 + uu____16475 + in + (match uu____16467 with | - (uu____15950, - xv, env3) + (uu____16489,xv,env3) -> let eqns = if i < n_tps then - let uu____15961 + let uu____16500 = guards_for_parameter (FStar_Pervasives_Native.fst orig_arg) - arg xv in - uu____15961 + arg xv + in + uu____16500 :: eqns_or_guards else - (let uu____15966 + (let uu____16505 = FStar_SMTEncoding_Util.mkEq - (arg, xv) in - uu____15966 + (arg, xv) + in + uu____16505 :: - eqns_or_guards) in + eqns_or_guards) + in (env3, (xv :: arg_vars), @@ -5308,274 +6194,315 @@ and (encode_sigelt' : (env', [], [], (Prims.parse_int "0")) - uu____15759 in - (match uu____15745 + uu____16298 + in + (match uu____16284 with - | (uu____15987, - arg_vars, - elim_eqns_or_guards, - uu____15990) + | (uu____16526,arg_vars,elim_eqns_or_guards,uu____16529) -> let arg_vars1 = FStar_List.rev - arg_vars in + arg_vars + in let ty = FStar_SMTEncoding_EncodeTerm.maybe_curry_fvb (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.p encoded_head_fvb - arg_vars1 in + arg_vars1 + in let xvars1 = FStar_List.map FStar_SMTEncoding_Util.mkFreeV - vars in + vars in let dapp1 = FStar_SMTEncoding_Util.mkApp (ddconstrsym, - xvars1) in + xvars1) + in let ty_pred = FStar_SMTEncoding_Term.mk_HasTypeWithFuel (FStar_Pervasives_Native.Some s_fuel_tm) - dapp1 ty in + dapp1 ty + in let arg_binders = FStar_List.map FStar_SMTEncoding_Term.fv_of_term - arg_vars1 in + arg_vars1 + in let typing_inversion = - let uu____16017 + let uu____16556 = - let uu____16025 + let uu____16564 = - let uu____16026 + let uu____16565 = FStar_Ident.range_of_lid - d in - let uu____16027 + d in + let uu____16566 = - let uu____16038 + let uu____16577 = - let uu____16039 + let uu____16578 = FStar_SMTEncoding_Term.mk_fv (fuel_var, - FStar_SMTEncoding_Term.Fuel_sort) in + FStar_SMTEncoding_Term.Fuel_sort) + in FStar_SMTEncoding_Env.add_fuel - uu____16039 + uu____16578 (FStar_List.append vars - arg_binders) in - let uu____16041 + arg_binders) + in + let uu____16580 = - let uu____16042 + let uu____16581 = - let uu____16047 + let uu____16586 = FStar_SMTEncoding_Util.mk_and_l (FStar_List.append elim_eqns_or_guards - guards) in + guards) + in (ty_pred, - uu____16047) in + uu____16586) + in FStar_SMTEncoding_Util.mkImp - uu____16042 in + uu____16581 + in ([ [ty_pred]], - uu____16038, - uu____16041) in + uu____16577, + uu____16580) + in FStar_SMTEncoding_Term.mkForall - uu____16026 - uu____16027 in - (uu____16025, + uu____16565 + uu____16566 + in + (uu____16564, (FStar_Pervasives_Native.Some "data constructor typing elim"), (Prims.op_Hat "data_elim_" - ddconstrsym)) in + ddconstrsym)) + in FStar_SMTEncoding_Util.mkAssume - uu____16017 in + uu____16556 + in let subterm_ordering = let lex_t1 = - let uu____16062 + let uu____16601 = - let uu____16063 + let uu____16602 = - let uu____16069 + let uu____16608 = FStar_Ident.text_of_lid - FStar_Parser_Const.lex_t_lid in - (uu____16069, - FStar_SMTEncoding_Term.Term_sort) in + FStar_Parser_Const.lex_t_lid + in + (uu____16608, + FStar_SMTEncoding_Term.Term_sort) + in FStar_SMTEncoding_Term.mk_fv - uu____16063 in + uu____16602 + in FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV - uu____16062 in - let uu____16072 + uu____16601 + in + let uu____16611 = FStar_Ident.lid_equals d - FStar_Parser_Const.lextop_lid in + FStar_Parser_Const.lextop_lid + in if - uu____16072 + uu____16611 then let x = - let uu____16076 + let uu____16615 = - let uu____16082 + let uu____16621 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.fresh env1.FStar_SMTEncoding_Env.current_module_name - "x" in - (uu____16082, - FStar_SMTEncoding_Term.Term_sort) in + "x" in + (uu____16621, + FStar_SMTEncoding_Term.Term_sort) + in FStar_SMTEncoding_Term.mk_fv - uu____16076 in + uu____16615 + in let xtm = FStar_SMTEncoding_Util.mkFreeV - x in - let uu____16087 + x in + let uu____16626 = - let uu____16095 + let uu____16634 = - let uu____16096 + let uu____16635 = FStar_Ident.range_of_lid - d in - let uu____16097 + d in + let uu____16636 = - let uu____16108 + let uu____16647 = - let uu____16113 + let uu____16652 = - let uu____16116 + let uu____16655 = FStar_SMTEncoding_Util.mk_Precedes lex_t1 lex_t1 - xtm dapp1 in - [uu____16116] in - [uu____16113] in - let uu____16121 + xtm dapp1 + in + [uu____16655] + in + [uu____16652] + in + let uu____16660 = - let uu____16122 + let uu____16661 = - let uu____16127 + let uu____16666 = FStar_SMTEncoding_Term.mk_tester "LexCons" - xtm in - let uu____16129 + xtm in + let uu____16668 = FStar_SMTEncoding_Util.mk_Precedes lex_t1 lex_t1 - xtm dapp1 in - (uu____16127, - uu____16129) in + xtm dapp1 + in + (uu____16666, + uu____16668) + in FStar_SMTEncoding_Util.mkImp - uu____16122 in - (uu____16108, + uu____16661 + in + (uu____16647, [x], - uu____16121) in + uu____16660) + in FStar_SMTEncoding_Term.mkForall - uu____16096 - uu____16097 in - let uu____16150 + uu____16635 + uu____16636 + in + let uu____16689 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.mk_unique - "lextop" in - (uu____16095, + "lextop" + in + (uu____16634, (FStar_Pervasives_Native.Some "lextop is top"), - uu____16150) in + uu____16689) + in FStar_SMTEncoding_Util.mkAssume - uu____16087 + uu____16626 else (let prec = - let uu____16161 + let uu____16700 = FStar_All.pipe_right vars (FStar_List.mapi - (fun i -> - fun v1 -> + (fun i + -> + fun v1 + -> if i < n_tps then [] else - (let uu____16184 + (let uu____16723 = - let uu____16185 + let uu____16724 = FStar_SMTEncoding_Util.mkFreeV - v1 in + v1 in FStar_SMTEncoding_Util.mk_Precedes lex_t1 lex_t1 - uu____16185 - dapp1 in - [uu____16184]))) in + uu____16724 + dapp1 in + [uu____16723]))) + in FStar_All.pipe_right - uu____16161 - FStar_List.flatten in - let uu____16192 + uu____16700 + FStar_List.flatten + in + let uu____16731 = - let uu____16200 + let uu____16739 = - let uu____16201 + let uu____16740 = FStar_Ident.range_of_lid - d in - let uu____16202 + d in + let uu____16741 = - let uu____16213 + let uu____16752 = - let uu____16214 + let uu____16753 = FStar_SMTEncoding_Term.mk_fv (fuel_var, - FStar_SMTEncoding_Term.Fuel_sort) in + FStar_SMTEncoding_Term.Fuel_sort) + in FStar_SMTEncoding_Env.add_fuel - uu____16214 + uu____16753 (FStar_List.append vars - arg_binders) in - let uu____16216 + arg_binders) + in + let uu____16755 = - let uu____16217 + let uu____16756 = - let uu____16222 + let uu____16761 = FStar_SMTEncoding_Util.mk_and_l - prec in + prec in (ty_pred, - uu____16222) in + uu____16761) + in FStar_SMTEncoding_Util.mkImp - uu____16217 in + uu____16756 + in ([ [ty_pred]], - uu____16213, - uu____16216) in + uu____16752, + uu____16755) + in FStar_SMTEncoding_Term.mkForall - uu____16201 - uu____16202 in - (uu____16200, + uu____16740 + uu____16741 + in + (uu____16739, (FStar_Pervasives_Native.Some "subterm ordering"), (Prims.op_Hat "subterm_ordering_" - ddconstrsym)) in + ddconstrsym)) + in FStar_SMTEncoding_Util.mkAssume - uu____16192) in + uu____16731) + in (arg_decls, [typing_inversion; subterm_ordering]))) @@ -5585,14 +6512,16 @@ and (encode_sigelt' : = FStar_SMTEncoding_Env.lookup_free_var_name env' - fv.FStar_Syntax_Syntax.fv_name in - let uu____16241 = + fv.FStar_Syntax_Syntax.fv_name + in + let uu____16780 = FStar_SMTEncoding_EncodeTerm.encode_args - args env' in - (match uu____16241 + args env' + in + (match uu____16780 with - | (encoded_args, - arg_decls) -> + | (encoded_args,arg_decls) + -> let guards_for_parameter orig_arg arg xv = @@ -5603,113 +6532,124 @@ and (encode_sigelt' : | FStar_SMTEncoding_Term.FreeV fv1 -> fv1 - | uu____16304 + | uu____16843 -> - let uu____16305 + let uu____16844 = - let uu____16311 + let uu____16850 = - let uu____16313 + let uu____16852 = FStar_Syntax_Print.term_to_string - orig_arg in + orig_arg + in FStar_Util.format1 "Inductive type parameter %s must be a variable ; You may want to change it to an index." - uu____16313 in + uu____16852 + in (FStar_Errors.Fatal_NonVariableInductiveTypeParameter, - uu____16311) in + uu____16850) + in FStar_Errors.raise_error - uu____16305 - orig_arg.FStar_Syntax_Syntax.pos in + uu____16844 + orig_arg.FStar_Syntax_Syntax.pos + in let guards1 = FStar_All.pipe_right guards ( FStar_List.collect - (fun g -> - let uu____16336 + (fun g + -> + let uu____16875 = - let uu____16338 + let uu____16877 = FStar_SMTEncoding_Term.free_variables - g in + g in FStar_List.contains fv1 - uu____16338 in + uu____16877 + in if - uu____16336 + uu____16875 then - let uu____16360 + let uu____16899 = FStar_SMTEncoding_Term.subst - g fv1 xv in - [uu____16360] - else [])) in + g fv1 xv + in + [uu____16899] + else [])) + in FStar_SMTEncoding_Util.mk_and_l - guards1 in - let uu____16363 + guards1 + in + let uu____16902 = - let uu____16377 + let uu____16916 = FStar_List.zip args - encoded_args in + encoded_args + in FStar_List.fold_left (fun - uu____16434 - -> + uu____16973 + -> fun - uu____16435 - -> + uu____16974 + -> match - (uu____16434, - uu____16435) + (uu____16973, + uu____16974) with | - ((env2, - arg_vars, - eqns_or_guards, - i), - (orig_arg, - arg)) -> - let uu____16546 + ((env2,arg_vars,eqns_or_guards,i), + (orig_arg,arg)) + -> + let uu____17085 = - let uu____16554 + let uu____17093 = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in FStar_SMTEncoding_Env.gen_term_var env2 - uu____16554 in - (match uu____16546 + uu____17093 + in + (match uu____17085 with | - (uu____16568, - xv, env3) + (uu____17107,xv,env3) -> let eqns = if i < n_tps then - let uu____16579 + let uu____17118 = guards_for_parameter (FStar_Pervasives_Native.fst orig_arg) - arg xv in - uu____16579 + arg xv + in + uu____17118 :: eqns_or_guards else - (let uu____16584 + (let uu____17123 = FStar_SMTEncoding_Util.mkEq - (arg, xv) in - uu____16584 + (arg, xv) + in + uu____17123 :: - eqns_or_guards) in + eqns_or_guards) + in (env3, (xv :: arg_vars), @@ -5719,352 +6659,405 @@ and (encode_sigelt' : (env', [], [], (Prims.parse_int "0")) - uu____16377 in - (match uu____16363 + uu____16916 + in + (match uu____16902 with - | (uu____16605, - arg_vars, - elim_eqns_or_guards, - uu____16608) + | (uu____17144,arg_vars,elim_eqns_or_guards,uu____17147) -> let arg_vars1 = FStar_List.rev - arg_vars in + arg_vars + in let ty = FStar_SMTEncoding_EncodeTerm.maybe_curry_fvb (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.p encoded_head_fvb - arg_vars1 in + arg_vars1 + in let xvars1 = FStar_List.map FStar_SMTEncoding_Util.mkFreeV - vars in + vars in let dapp1 = FStar_SMTEncoding_Util.mkApp (ddconstrsym, - xvars1) in + xvars1) + in let ty_pred = FStar_SMTEncoding_Term.mk_HasTypeWithFuel (FStar_Pervasives_Native.Some s_fuel_tm) - dapp1 ty in + dapp1 ty + in let arg_binders = FStar_List.map FStar_SMTEncoding_Term.fv_of_term - arg_vars1 in + arg_vars1 + in let typing_inversion = - let uu____16635 + let uu____17174 = - let uu____16643 + let uu____17182 = - let uu____16644 + let uu____17183 = FStar_Ident.range_of_lid - d in - let uu____16645 + d in + let uu____17184 = - let uu____16656 + let uu____17195 = - let uu____16657 + let uu____17196 = FStar_SMTEncoding_Term.mk_fv (fuel_var, - FStar_SMTEncoding_Term.Fuel_sort) in + FStar_SMTEncoding_Term.Fuel_sort) + in FStar_SMTEncoding_Env.add_fuel - uu____16657 + uu____17196 (FStar_List.append vars - arg_binders) in - let uu____16659 + arg_binders) + in + let uu____17198 = - let uu____16660 + let uu____17199 = - let uu____16665 + let uu____17204 = FStar_SMTEncoding_Util.mk_and_l (FStar_List.append elim_eqns_or_guards - guards) in + guards) + in (ty_pred, - uu____16665) in + uu____17204) + in FStar_SMTEncoding_Util.mkImp - uu____16660 in + uu____17199 + in ([ [ty_pred]], - uu____16656, - uu____16659) in + uu____17195, + uu____17198) + in FStar_SMTEncoding_Term.mkForall - uu____16644 - uu____16645 in - (uu____16643, + uu____17183 + uu____17184 + in + (uu____17182, (FStar_Pervasives_Native.Some "data constructor typing elim"), (Prims.op_Hat "data_elim_" - ddconstrsym)) in + ddconstrsym)) + in FStar_SMTEncoding_Util.mkAssume - uu____16635 in + uu____17174 + in let subterm_ordering = let lex_t1 = - let uu____16680 + let uu____17219 = - let uu____16681 + let uu____17220 = - let uu____16687 + let uu____17226 = FStar_Ident.text_of_lid - FStar_Parser_Const.lex_t_lid in - (uu____16687, - FStar_SMTEncoding_Term.Term_sort) in + FStar_Parser_Const.lex_t_lid + in + (uu____17226, + FStar_SMTEncoding_Term.Term_sort) + in FStar_SMTEncoding_Term.mk_fv - uu____16681 in + uu____17220 + in FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV - uu____16680 in - let uu____16690 + uu____17219 + in + let uu____17229 = FStar_Ident.lid_equals d - FStar_Parser_Const.lextop_lid in + FStar_Parser_Const.lextop_lid + in if - uu____16690 + uu____17229 then let x = - let uu____16694 + let uu____17233 = - let uu____16700 + let uu____17239 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.fresh env1.FStar_SMTEncoding_Env.current_module_name - "x" in - (uu____16700, - FStar_SMTEncoding_Term.Term_sort) in + "x" in + (uu____17239, + FStar_SMTEncoding_Term.Term_sort) + in FStar_SMTEncoding_Term.mk_fv - uu____16694 in + uu____17233 + in let xtm = FStar_SMTEncoding_Util.mkFreeV - x in - let uu____16705 + x in + let uu____17244 = - let uu____16713 + let uu____17252 = - let uu____16714 + let uu____17253 = FStar_Ident.range_of_lid - d in - let uu____16715 + d in + let uu____17254 = - let uu____16726 + let uu____17265 = - let uu____16731 + let uu____17270 = - let uu____16734 + let uu____17273 = FStar_SMTEncoding_Util.mk_Precedes lex_t1 lex_t1 - xtm dapp1 in - [uu____16734] in - [uu____16731] in - let uu____16739 + xtm dapp1 + in + [uu____17273] + in + [uu____17270] + in + let uu____17278 = - let uu____16740 + let uu____17279 = - let uu____16745 + let uu____17284 = FStar_SMTEncoding_Term.mk_tester "LexCons" - xtm in - let uu____16747 + xtm in + let uu____17286 = FStar_SMTEncoding_Util.mk_Precedes lex_t1 lex_t1 - xtm dapp1 in - (uu____16745, - uu____16747) in + xtm dapp1 + in + (uu____17284, + uu____17286) + in FStar_SMTEncoding_Util.mkImp - uu____16740 in - (uu____16726, + uu____17279 + in + (uu____17265, [x], - uu____16739) in + uu____17278) + in FStar_SMTEncoding_Term.mkForall - uu____16714 - uu____16715 in - let uu____16768 + uu____17253 + uu____17254 + in + let uu____17307 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.mk_unique - "lextop" in - (uu____16713, + "lextop" + in + (uu____17252, (FStar_Pervasives_Native.Some "lextop is top"), - uu____16768) in + uu____17307) + in FStar_SMTEncoding_Util.mkAssume - uu____16705 + uu____17244 else (let prec = - let uu____16779 + let uu____17318 = FStar_All.pipe_right vars (FStar_List.mapi - (fun i -> - fun v1 -> + (fun i + -> + fun v1 + -> if i < n_tps then [] else - (let uu____16802 + (let uu____17341 = - let uu____16803 + let uu____17342 = FStar_SMTEncoding_Util.mkFreeV - v1 in + v1 in FStar_SMTEncoding_Util.mk_Precedes lex_t1 lex_t1 - uu____16803 - dapp1 in - [uu____16802]))) in + uu____17342 + dapp1 in + [uu____17341]))) + in FStar_All.pipe_right - uu____16779 - FStar_List.flatten in - let uu____16810 + uu____17318 + FStar_List.flatten + in + let uu____17349 = - let uu____16818 + let uu____17357 = - let uu____16819 + let uu____17358 = FStar_Ident.range_of_lid - d in - let uu____16820 + d in + let uu____17359 = - let uu____16831 + let uu____17370 = - let uu____16832 + let uu____17371 = FStar_SMTEncoding_Term.mk_fv (fuel_var, - FStar_SMTEncoding_Term.Fuel_sort) in + FStar_SMTEncoding_Term.Fuel_sort) + in FStar_SMTEncoding_Env.add_fuel - uu____16832 + uu____17371 (FStar_List.append vars - arg_binders) in - let uu____16834 + arg_binders) + in + let uu____17373 = - let uu____16835 + let uu____17374 = - let uu____16840 + let uu____17379 = FStar_SMTEncoding_Util.mk_and_l - prec in + prec in (ty_pred, - uu____16840) in + uu____17379) + in FStar_SMTEncoding_Util.mkImp - uu____16835 in + uu____17374 + in ([ [ty_pred]], - uu____16831, - uu____16834) in + uu____17370, + uu____17373) + in FStar_SMTEncoding_Term.mkForall - uu____16819 - uu____16820 in - (uu____16818, + uu____17358 + uu____17359 + in + (uu____17357, (FStar_Pervasives_Native.Some "subterm ordering"), (Prims.op_Hat "subterm_ordering_" - ddconstrsym)) in + ddconstrsym)) + in FStar_SMTEncoding_Util.mkAssume - uu____16810) in + uu____17349) + in (arg_decls, [typing_inversion; subterm_ordering]))) - | uu____16857 -> - ((let uu____16859 = - let uu____16865 + | uu____17396 -> + ((let uu____17398 = + let uu____17404 = - let uu____16867 + let uu____17406 = FStar_Syntax_Print.lid_to_string - d in - let uu____16869 + d + in + let uu____17408 = FStar_Syntax_Print.term_to_string - head1 in + head1 + in FStar_Util.format2 "Constructor %s builds an unexpected type %s\n" - uu____16867 - uu____16869 in + uu____17406 + uu____17408 + in (FStar_Errors.Warning_ConstructorBuildsUnexpectedType, - uu____16865) in + uu____17404) + in FStar_Errors.log_issue se.FStar_Syntax_Syntax.sigrng - uu____16859); - ([], []))) in - let uu____16877 = - encode_elim () in - (match uu____16877 with - | (decls2, elim) -> + uu____17398); + ([], []))) + in + let uu____17416 = + encode_elim () in + (match uu____17416 with + | (decls2,elim) -> let g = - let uu____16903 = - let uu____16906 = - let uu____16909 = - let uu____16912 = - let uu____16915 + let uu____17442 = + let uu____17445 = + let uu____17448 = + let uu____17451 = + let uu____17454 = - let uu____16918 + let uu____17457 = - let uu____16921 + let uu____17460 = - let uu____16922 + let uu____17461 = - let uu____16934 + let uu____17473 = - let uu____16935 + let uu____17474 = - let uu____16937 + let uu____17476 = FStar_Syntax_Print.lid_to_string - d in + d in FStar_Util.format1 "data constructor proxy: %s" - uu____16937 in + uu____17476 + in FStar_Pervasives_Native.Some - uu____16935 in + uu____17474 + in (ddtok, [], FStar_SMTEncoding_Term.Term_sort, - uu____16934) in + uu____17473) + in FStar_SMTEncoding_Term.DeclFun - uu____16922 in - [uu____16921] in + uu____17461 + in + [uu____17460] + in FStar_List.append - uu____16918 - proxy_fresh in + uu____17457 + proxy_fresh + in FStar_All.pipe_right - uu____16915 - FStar_SMTEncoding_Term.mk_decls_trivial in - let uu____16948 = - let uu____16951 + uu____17454 + FStar_SMTEncoding_Term.mk_decls_trivial + in + let uu____17487 = + let uu____17490 = - let uu____16954 + let uu____17493 = - let uu____16957 + let uu____17496 = - let uu____16960 + let uu____17499 = - let uu____16963 + let uu____17502 = FStar_SMTEncoding_Util.mkAssume (tok_typing1, @@ -6072,624 +7065,705 @@ and (encode_sigelt' : "typing for data constructor proxy"), (Prims.op_Hat "typing_tok_" - ddtok)) in - let uu____16968 + ddtok)) + in + let uu____17507 = - let uu____16971 + let uu____17510 = - let uu____16972 + let uu____17511 = - let uu____16980 + let uu____17519 = - let uu____16981 + let uu____17520 = FStar_Ident.range_of_lid - d in - let uu____16982 + d in + let uu____17521 = - let uu____16993 + let uu____17532 = FStar_SMTEncoding_Util.mkEq (app, - dapp) in + dapp) in ([[app]], vars, - uu____16993) in + uu____17532) + in FStar_SMTEncoding_Term.mkForall - uu____16981 - uu____16982 in - (uu____16980, + uu____17520 + uu____17521 + in + (uu____17519, (FStar_Pervasives_Native.Some "equality for proxy"), (Prims.op_Hat "equality_tok_" - ddtok)) in + ddtok)) + in FStar_SMTEncoding_Util.mkAssume - uu____16972 in - let uu____17006 + uu____17511 + in + let uu____17545 = - let uu____17009 + let uu____17548 = - let uu____17010 + let uu____17549 = - let uu____17018 + let uu____17557 = - let uu____17019 + let uu____17558 = FStar_Ident.range_of_lid - d in - let uu____17020 + d in + let uu____17559 = - let uu____17031 + let uu____17570 = - let uu____17032 + let uu____17571 = FStar_SMTEncoding_Term.mk_fv (fuel_var, - FStar_SMTEncoding_Term.Fuel_sort) in + FStar_SMTEncoding_Term.Fuel_sort) + in FStar_SMTEncoding_Env.add_fuel - uu____17032 - vars' in - let uu____17034 + uu____17571 + vars' in + let uu____17573 = FStar_SMTEncoding_Util.mkImp (guard', - ty_pred') in + ty_pred') + in ([ [ty_pred']], - uu____17031, - uu____17034) in + uu____17570, + uu____17573) + in FStar_SMTEncoding_Term.mkForall - uu____17019 - uu____17020 in - (uu____17018, + uu____17558 + uu____17559 + in + (uu____17557, (FStar_Pervasives_Native.Some "data constructor typing intro"), (Prims.op_Hat "data_typing_intro_" - ddtok)) in + ddtok)) + in FStar_SMTEncoding_Util.mkAssume - uu____17010 in - [uu____17009] in - uu____16971 + uu____17549 + in + [uu____17548] + in + uu____17510 :: - uu____17006 in - uu____16963 + uu____17545 + in + uu____17502 :: - uu____16968 in + uu____17507 + in FStar_List.append - uu____16960 - elim in + uu____17499 + elim + in FStar_All.pipe_right - uu____16957 - FStar_SMTEncoding_Term.mk_decls_trivial in + uu____17496 + FStar_SMTEncoding_Term.mk_decls_trivial + in FStar_List.append decls_pred - uu____16954 in + uu____17493 + in FStar_List.append decls_formals - uu____16951 in + uu____17490 + in FStar_List.append - uu____16912 - uu____16948 in + uu____17451 + uu____17487 + in FStar_List.append - decls3 uu____16909 in + decls3 uu____17448 + in FStar_List.append - decls2 uu____16906 in + decls2 uu____17445 + in FStar_List.append binder_decls - uu____16903 in - let uu____17051 = - let uu____17052 = + uu____17442 + in + let uu____17590 = + let uu____17591 = FStar_All.pipe_right datacons - FStar_SMTEncoding_Term.mk_decls_trivial in + FStar_SMTEncoding_Term.mk_decls_trivial + in FStar_List.append - uu____17052 g in - (uu____17051, env1)))))))))) + uu____17591 g + in + (uu____17590, env1)))))))))) + and (encode_sigelts : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.sigelt Prims.list -> (FStar_SMTEncoding_Term.decls_t * FStar_SMTEncoding_Env.env_t)) = - fun env -> - fun ses -> + fun env -> + fun ses -> FStar_All.pipe_right ses (FStar_List.fold_left - (fun uu____17086 -> - fun se -> - match uu____17086 with - | (g, env1) -> - let uu____17106 = encode_sigelt env1 se in - (match uu____17106 with - | (g', env2) -> ((FStar_List.append g g'), env2))) + (fun uu____17625 -> + fun se -> + match uu____17625 with + | (g,env1) -> + let uu____17645 = encode_sigelt env1 se in + (match uu____17645 with + | (g',env2) -> ((FStar_List.append g g'), env2))) ([], env)) + let (encode_env_bindings : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.binding Prims.list -> (FStar_SMTEncoding_Term.decls_t * FStar_SMTEncoding_Env.env_t)) = - fun env -> - fun bindings -> - let encode_binding b uu____17174 = - match uu____17174 with - | (i, decls, env1) -> + fun env -> + fun bindings -> + let encode_binding b uu____17713 = + match uu____17713 with + | (i,decls,env1) -> (match b with - | FStar_Syntax_Syntax.Binding_univ uu____17211 -> + | FStar_Syntax_Syntax.Binding_univ uu____17750 -> ((i + (Prims.parse_int "1")), decls, env1) | FStar_Syntax_Syntax.Binding_var x -> let t1 = - norm_before_encoding env1 x.FStar_Syntax_Syntax.sort in - ((let uu____17219 = + norm_before_encoding env1 x.FStar_Syntax_Syntax.sort in + ((let uu____17758 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1.FStar_SMTEncoding_Env.tcenv) - (FStar_Options.Other "SMTEncoding") in - if uu____17219 + (FStar_Options.Other "SMTEncoding") + in + if uu____17758 then - let uu____17224 = FStar_Syntax_Print.bv_to_string x in - let uu____17226 = + let uu____17763 = FStar_Syntax_Print.bv_to_string x in + let uu____17765 = FStar_Syntax_Print.term_to_string - x.FStar_Syntax_Syntax.sort in - let uu____17228 = FStar_Syntax_Print.term_to_string t1 in + x.FStar_Syntax_Syntax.sort + in + let uu____17767 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.print3 "Normalized %s : %s to %s\n" - uu____17224 uu____17226 uu____17228 + uu____17763 uu____17765 uu____17767 else ()); - (let uu____17233 = - FStar_SMTEncoding_EncodeTerm.encode_term t1 env1 in - match uu____17233 with - | (t, decls') -> - let t_hash = FStar_SMTEncoding_Term.hash_of_term t in - let uu____17251 = - let uu____17259 = - let uu____17261 = - let uu____17263 = - FStar_Util.digest_of_string t_hash in - Prims.op_Hat uu____17263 - (Prims.op_Hat "_" (Prims.string_of_int i)) in - Prims.op_Hat "x_" uu____17261 in + (let uu____17772 = + FStar_SMTEncoding_EncodeTerm.encode_term t1 env1 in + match uu____17772 with + | (t,decls') -> + let t_hash = FStar_SMTEncoding_Term.hash_of_term t in + let uu____17790 = + let uu____17798 = + let uu____17800 = + let uu____17802 = + FStar_Util.digest_of_string t_hash in + Prims.op_Hat uu____17802 + (Prims.op_Hat "_" (Prims.string_of_int i)) + in + Prims.op_Hat "x_" uu____17800 in FStar_SMTEncoding_Env.new_term_constant_from_string - env1 x uu____17259 in - (match uu____17251 with - | (xxsym, xx, env') -> + env1 x uu____17798 + in + (match uu____17790 with + | (xxsym,xx,env') -> let t2 = FStar_SMTEncoding_Term.mk_HasTypeWithFuel - FStar_Pervasives_Native.None xx t in + FStar_Pervasives_Native.None xx t + in let caption = - let uu____17283 = FStar_Options.log_queries () in - if uu____17283 + let uu____17822 = FStar_Options.log_queries () + in + if uu____17822 then - let uu____17286 = - let uu____17288 = - FStar_Syntax_Print.bv_to_string x in - let uu____17290 = + let uu____17825 = + let uu____17827 = + FStar_Syntax_Print.bv_to_string x in + let uu____17829 = FStar_Syntax_Print.term_to_string - x.FStar_Syntax_Syntax.sort in - let uu____17292 = - FStar_Syntax_Print.term_to_string t1 in + x.FStar_Syntax_Syntax.sort + in + let uu____17831 = + FStar_Syntax_Print.term_to_string t1 in FStar_Util.format3 "%s : %s (%s)" - uu____17288 uu____17290 uu____17292 in - FStar_Pervasives_Native.Some uu____17286 - else FStar_Pervasives_Native.None in + uu____17827 uu____17829 uu____17831 + in + FStar_Pervasives_Native.Some uu____17825 + else FStar_Pervasives_Native.None in let ax = - let a_name = Prims.op_Hat "binder_" xxsym in + let a_name = Prims.op_Hat "binder_" xxsym in FStar_SMTEncoding_Util.mkAssume (t2, (FStar_Pervasives_Native.Some a_name), - a_name) in + a_name) + in let g = - let uu____17308 = + let uu____17847 = FStar_All.pipe_right [FStar_SMTEncoding_Term.DeclFun (xxsym, [], FStar_SMTEncoding_Term.Term_sort, caption)] - FStar_SMTEncoding_Term.mk_decls_trivial in - let uu____17318 = - let uu____17321 = + FStar_SMTEncoding_Term.mk_decls_trivial + in + let uu____17857 = + let uu____17860 = FStar_All.pipe_right [ax] - FStar_SMTEncoding_Term.mk_decls_trivial in - FStar_List.append decls' uu____17321 in - FStar_List.append uu____17308 uu____17318 in + FStar_SMTEncoding_Term.mk_decls_trivial + in + FStar_List.append decls' uu____17860 in + FStar_List.append uu____17847 uu____17857 in ((i + (Prims.parse_int "1")), (FStar_List.append decls g), env')))) - | FStar_Syntax_Syntax.Binding_lid (x, (uu____17333, t)) -> - let t_norm = norm_before_encoding env1 t in + | FStar_Syntax_Syntax.Binding_lid (x,(uu____17872,t)) -> + let t_norm = norm_before_encoding env1 t in let fv = FStar_Syntax_Syntax.lid_as_fv x FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - let uu____17353 = encode_free_var false env1 fv t t_norm [] in - (match uu____17353 with - | (g, env') -> + FStar_Pervasives_Native.None + in + let uu____17892 = encode_free_var false env1 fv t t_norm [] + in + (match uu____17892 with + | (g,env') -> ((i + (Prims.parse_int "1")), - (FStar_List.append decls g), env'))) in - let uu____17374 = + (FStar_List.append decls g), env'))) + in + let uu____17913 = FStar_List.fold_right encode_binding bindings - ((Prims.parse_int "0"), [], env) in - match uu____17374 with | (uu____17401, decls, env1) -> (decls, env1) + ((Prims.parse_int "0"), [], env) + in + match uu____17913 with | (uu____17940,decls,env1) -> (decls, env1) + let (encode_labels : FStar_SMTEncoding_Term.error_label Prims.list -> (FStar_SMTEncoding_Term.decl Prims.list * FStar_SMTEncoding_Term.decl Prims.list)) = - fun labs -> + fun labs -> let prefix1 = FStar_All.pipe_right labs (FStar_List.map - (fun uu____17454 -> - match uu____17454 with - | (l, uu____17463, uu____17464) -> - let uu____17467 = - let uu____17479 = FStar_SMTEncoding_Term.fv_name l in - (uu____17479, [], FStar_SMTEncoding_Term.Bool_sort, - FStar_Pervasives_Native.None) in - FStar_SMTEncoding_Term.DeclFun uu____17467)) in + (fun uu____17993 -> + match uu____17993 with + | (l,uu____18002,uu____18003) -> + let uu____18006 = + let uu____18018 = FStar_SMTEncoding_Term.fv_name l in + (uu____18018, [], FStar_SMTEncoding_Term.Bool_sort, + FStar_Pervasives_Native.None) + in + FStar_SMTEncoding_Term.DeclFun uu____18006)) + in let suffix = FStar_All.pipe_right labs (FStar_List.collect - (fun uu____17512 -> - match uu____17512 with - | (l, uu____17523, uu____17524) -> - let uu____17527 = - let uu____17528 = FStar_SMTEncoding_Term.fv_name l in + (fun uu____18051 -> + match uu____18051 with + | (l,uu____18062,uu____18063) -> + let uu____18066 = + let uu____18067 = FStar_SMTEncoding_Term.fv_name l in FStar_All.pipe_left - (fun _17531 -> FStar_SMTEncoding_Term.Echo _17531) - uu____17528 in - let uu____17532 = - let uu____17535 = - let uu____17536 = FStar_SMTEncoding_Util.mkFreeV l in - FStar_SMTEncoding_Term.Eval uu____17536 in - [uu____17535] in - uu____17527 :: uu____17532)) in + (fun _18070 -> FStar_SMTEncoding_Term.Echo _18070) + uu____18067 + in + let uu____18071 = + let uu____18074 = + let uu____18075 = FStar_SMTEncoding_Util.mkFreeV l in + FStar_SMTEncoding_Term.Eval uu____18075 in + [uu____18074] in + uu____18066 :: uu____18071)) + in (prefix1, suffix) + let (last_env : FStar_SMTEncoding_Env.env_t Prims.list FStar_ST.ref) = - FStar_Util.mk_ref [] + FStar_Util.mk_ref [] let (init_env : FStar_TypeChecker_Env.env -> unit) = - fun tcenv -> - let uu____17554 = - let uu____17557 = - let uu____17558 = FStar_Util.psmap_empty () in - let uu____17573 = - let uu____17582 = FStar_Util.psmap_empty () in (uu____17582, []) in - let uu____17589 = - let uu____17591 = FStar_TypeChecker_Env.current_module tcenv in - FStar_All.pipe_right uu____17591 FStar_Ident.string_of_lid in - let uu____17593 = FStar_Util.smap_create (Prims.parse_int "100") in + fun tcenv -> + let uu____18093 = + let uu____18096 = + let uu____18097 = FStar_Util.psmap_empty () in + let uu____18112 = + let uu____18121 = FStar_Util.psmap_empty () in (uu____18121, []) + in + let uu____18128 = + let uu____18130 = FStar_TypeChecker_Env.current_module tcenv in + FStar_All.pipe_right uu____18130 FStar_Ident.string_of_lid in + let uu____18132 = FStar_Util.smap_create (Prims.parse_int "100") in { - FStar_SMTEncoding_Env.bvar_bindings = uu____17558; - FStar_SMTEncoding_Env.fvar_bindings = uu____17573; + FStar_SMTEncoding_Env.bvar_bindings = uu____18097; + FStar_SMTEncoding_Env.fvar_bindings = uu____18112; FStar_SMTEncoding_Env.depth = (Prims.parse_int "0"); FStar_SMTEncoding_Env.tcenv = tcenv; FStar_SMTEncoding_Env.warn = true; FStar_SMTEncoding_Env.nolabels = false; FStar_SMTEncoding_Env.use_zfuel_name = false; FStar_SMTEncoding_Env.encode_non_total_function_typ = true; - FStar_SMTEncoding_Env.current_module_name = uu____17589; + FStar_SMTEncoding_Env.current_module_name = uu____18128; FStar_SMTEncoding_Env.encoding_quantifier = false; - FStar_SMTEncoding_Env.global_cache = uu____17593 - } in - [uu____17557] in - FStar_ST.op_Colon_Equals last_env uu____17554 + FStar_SMTEncoding_Env.global_cache = uu____18132 + } in + [uu____18096] in + FStar_ST.op_Colon_Equals last_env uu____18093 + let (get_env : FStar_Ident.lident -> FStar_TypeChecker_Env.env -> FStar_SMTEncoding_Env.env_t) = - fun cmn -> - fun tcenv -> - let uu____17637 = FStar_ST.op_Bang last_env in - match uu____17637 with + fun cmn -> + fun tcenv -> + let uu____18176 = FStar_ST.op_Bang last_env in + match uu____18176 with | [] -> failwith "No env; call init first!" - | e::uu____17665 -> - let uu___1540_17668 = e in - let uu____17669 = FStar_Ident.string_of_lid cmn in + | e::uu____18204 -> + let uu___1570_18207 = e in + let uu____18208 = FStar_Ident.string_of_lid cmn in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___1540_17668.FStar_SMTEncoding_Env.bvar_bindings); + (uu___1570_18207.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___1540_17668.FStar_SMTEncoding_Env.fvar_bindings); + (uu___1570_18207.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___1540_17668.FStar_SMTEncoding_Env.depth); + (uu___1570_18207.FStar_SMTEncoding_Env.depth); FStar_SMTEncoding_Env.tcenv = tcenv; FStar_SMTEncoding_Env.warn = - (uu___1540_17668.FStar_SMTEncoding_Env.warn); + (uu___1570_18207.FStar_SMTEncoding_Env.warn); FStar_SMTEncoding_Env.nolabels = - (uu___1540_17668.FStar_SMTEncoding_Env.nolabels); + (uu___1570_18207.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = - (uu___1540_17668.FStar_SMTEncoding_Env.use_zfuel_name); + (uu___1570_18207.FStar_SMTEncoding_Env.use_zfuel_name); FStar_SMTEncoding_Env.encode_non_total_function_typ = - (uu___1540_17668.FStar_SMTEncoding_Env.encode_non_total_function_typ); - FStar_SMTEncoding_Env.current_module_name = uu____17669; + (uu___1570_18207.FStar_SMTEncoding_Env.encode_non_total_function_typ); + FStar_SMTEncoding_Env.current_module_name = uu____18208; FStar_SMTEncoding_Env.encoding_quantifier = - (uu___1540_17668.FStar_SMTEncoding_Env.encoding_quantifier); + (uu___1570_18207.FStar_SMTEncoding_Env.encoding_quantifier); FStar_SMTEncoding_Env.global_cache = - (uu___1540_17668.FStar_SMTEncoding_Env.global_cache) + (uu___1570_18207.FStar_SMTEncoding_Env.global_cache) } + let (set_env : FStar_SMTEncoding_Env.env_t -> unit) = - fun env -> - let uu____17677 = FStar_ST.op_Bang last_env in - match uu____17677 with + fun env -> + let uu____18216 = FStar_ST.op_Bang last_env in + match uu____18216 with | [] -> failwith "Empty env stack" - | uu____17704::tl1 -> FStar_ST.op_Colon_Equals last_env (env :: tl1) + | uu____18243::tl1 -> FStar_ST.op_Colon_Equals last_env (env :: tl1) + let (push_env : unit -> unit) = - fun uu____17736 -> - let uu____17737 = FStar_ST.op_Bang last_env in - match uu____17737 with + fun uu____18275 -> + let uu____18276 = FStar_ST.op_Bang last_env in + match uu____18276 with | [] -> failwith "Empty env stack" | hd1::tl1 -> - let top = copy_env hd1 in + let top = copy_env hd1 in FStar_ST.op_Colon_Equals last_env (top :: hd1 :: tl1) + let (pop_env : unit -> unit) = - fun uu____17797 -> - let uu____17798 = FStar_ST.op_Bang last_env in - match uu____17798 with + fun uu____18336 -> + let uu____18337 = FStar_ST.op_Bang last_env in + match uu____18337 with | [] -> failwith "Popping an empty stack" - | uu____17825::tl1 -> FStar_ST.op_Colon_Equals last_env tl1 + | uu____18364::tl1 -> FStar_ST.op_Colon_Equals last_env tl1 + let (snapshot_env : unit -> (Prims.int * unit)) = - fun uu____17862 -> FStar_Common.snapshot push_env last_env () + fun uu____18401 -> FStar_Common.snapshot push_env last_env () let (rollback_env : Prims.int FStar_Pervasives_Native.option -> unit) = - fun depth -> FStar_Common.rollback pop_env last_env depth + fun depth -> FStar_Common.rollback pop_env last_env depth let (init : FStar_TypeChecker_Env.env -> unit) = - fun tcenv -> + fun tcenv -> init_env tcenv; FStar_SMTEncoding_Z3.init (); FStar_SMTEncoding_Z3.giveZ3 [FStar_SMTEncoding_Term.DefPrelude] + let (snapshot : Prims.string -> (FStar_TypeChecker_Env.solver_depth_t * unit)) = - fun msg -> + fun msg -> FStar_Util.atomically - (fun uu____17915 -> - let uu____17916 = snapshot_env () in - match uu____17916 with - | (env_depth, ()) -> - let uu____17938 = - FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.snapshot () in - (match uu____17938 with - | (varops_depth, ()) -> - let uu____17960 = FStar_SMTEncoding_Z3.snapshot msg in - (match uu____17960 with - | (z3_depth, ()) -> + (fun uu____18454 -> + let uu____18455 = snapshot_env () in + match uu____18455 with + | (env_depth,()) -> + let uu____18477 = + FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.snapshot () + in + (match uu____18477 with + | (varops_depth,()) -> + let uu____18499 = FStar_SMTEncoding_Z3.snapshot msg in + (match uu____18499 with + | (z3_depth,()) -> ((env_depth, varops_depth, z3_depth), ())))) + let (rollback : Prims.string -> FStar_TypeChecker_Env.solver_depth_t FStar_Pervasives_Native.option -> unit) = - fun msg -> - fun depth -> + fun msg -> + fun depth -> FStar_Util.atomically - (fun uu____18018 -> - let uu____18019 = + (fun uu____18557 -> + let uu____18558 = match depth with - | FStar_Pervasives_Native.Some (s1, s2, s3) -> + | FStar_Pervasives_Native.Some (s1,s2,s3) -> ((FStar_Pervasives_Native.Some s1), (FStar_Pervasives_Native.Some s2), (FStar_Pervasives_Native.Some s3)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) in - match uu____18019 with - | (env_depth, varops_depth, z3_depth) -> + FStar_Pervasives_Native.None) + in + match uu____18558 with + | (env_depth,varops_depth,z3_depth) -> (rollback_env env_depth; FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.rollback varops_depth; FStar_SMTEncoding_Z3.rollback msg z3_depth)) + let (push : Prims.string -> unit) = - fun msg -> let uu____18114 = snapshot msg in () + fun msg -> let uu____18653 = snapshot msg in () let (pop : Prims.string -> unit) = - fun msg -> rollback msg FStar_Pervasives_Native.None + fun msg -> rollback msg FStar_Pervasives_Native.None let (open_fact_db_tags : FStar_SMTEncoding_Env.env_t -> FStar_SMTEncoding_Term.fact_db_id Prims.list) - = fun env -> [] + = fun env -> [] let (place_decl_in_fact_dbs : FStar_SMTEncoding_Env.env_t -> FStar_SMTEncoding_Term.fact_db_id Prims.list -> FStar_SMTEncoding_Term.decl -> FStar_SMTEncoding_Term.decl) = - fun env -> - fun fact_db_ids -> - fun d -> + fun env -> + fun fact_db_ids -> + fun d -> match (fact_db_ids, d) with - | (uu____18160::uu____18161, FStar_SMTEncoding_Term.Assume a) -> + | (uu____18699::uu____18700,FStar_SMTEncoding_Term.Assume a) -> FStar_SMTEncoding_Term.Assume - (let uu___1601_18169 = a in + (let uu___1631_18708 = a in { FStar_SMTEncoding_Term.assumption_term = - (uu___1601_18169.FStar_SMTEncoding_Term.assumption_term); + (uu___1631_18708.FStar_SMTEncoding_Term.assumption_term); FStar_SMTEncoding_Term.assumption_caption = - (uu___1601_18169.FStar_SMTEncoding_Term.assumption_caption); + (uu___1631_18708.FStar_SMTEncoding_Term.assumption_caption); FStar_SMTEncoding_Term.assumption_name = - (uu___1601_18169.FStar_SMTEncoding_Term.assumption_name); + (uu___1631_18708.FStar_SMTEncoding_Term.assumption_name); FStar_SMTEncoding_Term.assumption_fact_ids = fact_db_ids }) - | uu____18170 -> d + | uu____18709 -> d + let (place_decl_elt_in_fact_dbs : FStar_SMTEncoding_Env.env_t -> FStar_SMTEncoding_Term.fact_db_id Prims.list -> FStar_SMTEncoding_Term.decls_elt -> FStar_SMTEncoding_Term.decls_elt) = - fun env -> - fun fact_db_ids -> - fun elt -> - let uu___1607_18197 = elt in - let uu____18198 = + fun env -> + fun fact_db_ids -> + fun elt -> + let uu___1637_18736 = elt in + let uu____18737 = FStar_All.pipe_right elt.FStar_SMTEncoding_Term.decls - (FStar_List.map (place_decl_in_fact_dbs env fact_db_ids)) in + (FStar_List.map (place_decl_in_fact_dbs env fact_db_ids)) + in { FStar_SMTEncoding_Term.sym_name = - (uu___1607_18197.FStar_SMTEncoding_Term.sym_name); + (uu___1637_18736.FStar_SMTEncoding_Term.sym_name); FStar_SMTEncoding_Term.key = - (uu___1607_18197.FStar_SMTEncoding_Term.key); - FStar_SMTEncoding_Term.decls = uu____18198; + (uu___1637_18736.FStar_SMTEncoding_Term.key); + FStar_SMTEncoding_Term.decls = uu____18737; FStar_SMTEncoding_Term.a_names = - (uu___1607_18197.FStar_SMTEncoding_Term.a_names) + (uu___1637_18736.FStar_SMTEncoding_Term.a_names) } + let (fact_dbs_for_lid : FStar_SMTEncoding_Env.env_t -> FStar_Ident.lid -> FStar_SMTEncoding_Term.fact_db_id Prims.list) = - fun env -> - fun lid -> - let uu____18218 = - let uu____18221 = - let uu____18222 = FStar_Ident.lid_of_ids lid.FStar_Ident.ns in - FStar_SMTEncoding_Term.Namespace uu____18222 in - let uu____18223 = open_fact_db_tags env in uu____18221 :: uu____18223 in - (FStar_SMTEncoding_Term.Name lid) :: uu____18218 + fun env -> + fun lid -> + let uu____18757 = + let uu____18760 = + let uu____18761 = FStar_Ident.lid_of_ids lid.FStar_Ident.ns in + FStar_SMTEncoding_Term.Namespace uu____18761 in + let uu____18762 = open_fact_db_tags env in uu____18760 :: + uu____18762 + in + (FStar_SMTEncoding_Term.Name lid) :: uu____18757 + let (encode_top_level_facts : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.sigelt -> (FStar_SMTEncoding_Term.decls_elt Prims.list * FStar_SMTEncoding_Env.env_t)) = - fun env -> - fun se -> + fun env -> + fun se -> let fact_db_ids = FStar_All.pipe_right (FStar_Syntax_Util.lids_of_sigelt se) - (FStar_List.collect (fact_dbs_for_lid env)) in - let uu____18250 = encode_sigelt env se in - match uu____18250 with - | (g, env1) -> + (FStar_List.collect (fact_dbs_for_lid env)) + in + let uu____18789 = encode_sigelt env se in + match uu____18789 with + | (g,env1) -> let g1 = FStar_All.pipe_right g - (FStar_List.map (place_decl_elt_in_fact_dbs env1 fact_db_ids)) in + (FStar_List.map (place_decl_elt_in_fact_dbs env1 fact_db_ids)) + in (g1, env1) + let (recover_caching_and_update_env : FStar_SMTEncoding_Env.env_t -> FStar_SMTEncoding_Term.decls_t -> FStar_SMTEncoding_Term.decls_t) = - fun env -> - fun decls -> + fun env -> + fun decls -> FStar_All.pipe_right decls (FStar_List.collect - (fun elt -> + (fun elt -> if elt.FStar_SMTEncoding_Term.key = FStar_Pervasives_Native.None then [elt] else - (let uu____18296 = - let uu____18299 = + (let uu____18835 = + let uu____18838 = FStar_All.pipe_right elt.FStar_SMTEncoding_Term.key - FStar_Util.must in + FStar_Util.must + in FStar_Util.smap_try_find - env.FStar_SMTEncoding_Env.global_cache uu____18299 in - match uu____18296 with + env.FStar_SMTEncoding_Env.global_cache uu____18838 + in + match uu____18835 with | FStar_Pervasives_Native.Some cache_elt -> FStar_All.pipe_right [FStar_SMTEncoding_Term.RetainAssumptions (cache_elt.FStar_SMTEncoding_Term.a_names)] FStar_SMTEncoding_Term.mk_decls_trivial - | FStar_Pervasives_Native.None -> - ((let uu____18314 = + | FStar_Pervasives_Native.None -> + ((let uu____18853 = FStar_All.pipe_right elt.FStar_SMTEncoding_Term.key - FStar_Util.must in + FStar_Util.must + in FStar_Util.smap_add - env.FStar_SMTEncoding_Env.global_cache uu____18314 + env.FStar_SMTEncoding_Env.global_cache uu____18853 elt); [elt])))) + let (encode_sig : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt -> unit) = - fun tcenv -> - fun se -> + fun tcenv -> + fun se -> let caption decls = - let uu____18344 = FStar_Options.log_queries () in - if uu____18344 + let uu____18883 = FStar_Options.log_queries () in + if uu____18883 then - let uu____18349 = - let uu____18350 = - let uu____18352 = - let uu____18354 = + let uu____18888 = + let uu____18889 = + let uu____18891 = + let uu____18893 = FStar_All.pipe_right (FStar_Syntax_Util.lids_of_sigelt se) - (FStar_List.map FStar_Syntax_Print.lid_to_string) in - FStar_All.pipe_right uu____18354 (FStar_String.concat ", ") in - Prims.op_Hat "encoding sigelt " uu____18352 in - FStar_SMTEncoding_Term.Caption uu____18350 in - uu____18349 :: decls - else decls in - (let uu____18373 = - FStar_TypeChecker_Env.debug tcenv FStar_Options.Medium in - if uu____18373 + (FStar_List.map FStar_Syntax_Print.lid_to_string) + in + FStar_All.pipe_right uu____18893 (FStar_String.concat ", ") + in + Prims.op_Hat "encoding sigelt " uu____18891 in + FStar_SMTEncoding_Term.Caption uu____18889 in + uu____18888 :: decls + else decls in + (let uu____18912 = + FStar_TypeChecker_Env.debug tcenv FStar_Options.Medium in + if uu____18912 then - let uu____18376 = FStar_Syntax_Print.sigelt_to_string se in - FStar_Util.print1 "+++++++++++Encoding sigelt %s\n" uu____18376 + let uu____18915 = FStar_Syntax_Print.sigelt_to_string se in + FStar_Util.print1 "+++++++++++Encoding sigelt %s\n" uu____18915 else ()); (let env = - let uu____18382 = FStar_TypeChecker_Env.current_module tcenv in - get_env uu____18382 tcenv in - let uu____18383 = encode_top_level_facts env se in - match uu____18383 with - | (decls, env1) -> + let uu____18921 = FStar_TypeChecker_Env.current_module tcenv in + get_env uu____18921 tcenv in + let uu____18922 = encode_top_level_facts env se in + match uu____18922 with + | (decls,env1) -> (set_env env1; - (let uu____18397 = - let uu____18400 = - let uu____18403 = + (let uu____18936 = + let uu____18939 = + let uu____18942 = FStar_All.pipe_right decls - (recover_caching_and_update_env env1) in - FStar_All.pipe_right uu____18403 - FStar_SMTEncoding_Term.decls_list_of in - caption uu____18400 in - FStar_SMTEncoding_Z3.giveZ3 uu____18397))) + (recover_caching_and_update_env env1) + in + FStar_All.pipe_right uu____18942 + FStar_SMTEncoding_Term.decls_list_of + in + caption uu____18939 in + FStar_SMTEncoding_Z3.giveZ3 uu____18936))) + let (give_decls_to_z3_and_set_env : FStar_SMTEncoding_Env.env_t -> Prims.string -> FStar_SMTEncoding_Term.decls_t -> unit) = - fun env -> - fun name -> - fun decls -> + fun env -> + fun name -> + fun decls -> let caption decls1 = - let uu____18436 = FStar_Options.log_queries () in - if uu____18436 + let uu____18975 = FStar_Options.log_queries () in + if uu____18975 then - let msg = Prims.op_Hat "Externals for " name in + let msg = Prims.op_Hat "Externals for " name in [FStar_SMTEncoding_Term.Module (name, (FStar_List.append ((FStar_SMTEncoding_Term.Caption msg) :: decls1) [FStar_SMTEncoding_Term.Caption (Prims.op_Hat "End " msg)]))] - else [FStar_SMTEncoding_Term.Module (name, decls1)] in + else [FStar_SMTEncoding_Term.Module (name, decls1)] in set_env - (let uu___1645_18456 = env in + (let uu___1675_18995 = env in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___1645_18456.FStar_SMTEncoding_Env.bvar_bindings); + (uu___1675_18995.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___1645_18456.FStar_SMTEncoding_Env.fvar_bindings); + (uu___1675_18995.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___1645_18456.FStar_SMTEncoding_Env.depth); + (uu___1675_18995.FStar_SMTEncoding_Env.depth); FStar_SMTEncoding_Env.tcenv = - (uu___1645_18456.FStar_SMTEncoding_Env.tcenv); + (uu___1675_18995.FStar_SMTEncoding_Env.tcenv); FStar_SMTEncoding_Env.warn = true; FStar_SMTEncoding_Env.nolabels = - (uu___1645_18456.FStar_SMTEncoding_Env.nolabels); + (uu___1675_18995.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = - (uu___1645_18456.FStar_SMTEncoding_Env.use_zfuel_name); + (uu___1675_18995.FStar_SMTEncoding_Env.use_zfuel_name); FStar_SMTEncoding_Env.encode_non_total_function_typ = - (uu___1645_18456.FStar_SMTEncoding_Env.encode_non_total_function_typ); + (uu___1675_18995.FStar_SMTEncoding_Env.encode_non_total_function_typ); FStar_SMTEncoding_Env.current_module_name = - (uu___1645_18456.FStar_SMTEncoding_Env.current_module_name); + (uu___1675_18995.FStar_SMTEncoding_Env.current_module_name); FStar_SMTEncoding_Env.encoding_quantifier = - (uu___1645_18456.FStar_SMTEncoding_Env.encoding_quantifier); + (uu___1675_18995.FStar_SMTEncoding_Env.encoding_quantifier); FStar_SMTEncoding_Env.global_cache = - (uu___1645_18456.FStar_SMTEncoding_Env.global_cache) + (uu___1675_18995.FStar_SMTEncoding_Env.global_cache) }); (let z3_decls = - let uu____18461 = - let uu____18464 = + let uu____19000 = + let uu____19003 = FStar_All.pipe_right decls - (recover_caching_and_update_env env) in - FStar_All.pipe_right uu____18464 - FStar_SMTEncoding_Term.decls_list_of in - caption uu____18461 in + (recover_caching_and_update_env env) + in + FStar_All.pipe_right uu____19003 + FStar_SMTEncoding_Term.decls_list_of + in + caption uu____19000 in FStar_SMTEncoding_Z3.giveZ3 z3_decls) + let (encode_modul : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.modul -> (FStar_SMTEncoding_Term.decls_t * FStar_SMTEncoding_Env.fvar_binding Prims.list)) = - fun tcenv -> - fun modul -> - let uu____18484 = (FStar_Options.lax ()) && (FStar_Options.ml_ish ()) in - if uu____18484 + fun tcenv -> + fun modul -> + let uu____19023 = (FStar_Options.lax ()) && (FStar_Options.ml_ish ()) + in + if uu____19023 then ([], []) else (FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.reset_fresh (); @@ -6698,121 +7772,135 @@ let (encode_modul : (if modul.FStar_Syntax_Syntax.is_interface then "interface" else "module") - (modul.FStar_Syntax_Syntax.name).FStar_Ident.str in - (let uu____18508 = - FStar_TypeChecker_Env.debug tcenv FStar_Options.Medium in - if uu____18508 + (modul.FStar_Syntax_Syntax.name).FStar_Ident.str + in + (let uu____19047 = + FStar_TypeChecker_Env.debug tcenv FStar_Options.Medium in + if uu____19047 then - let uu____18511 = + let uu____19050 = FStar_All.pipe_right (FStar_List.length modul.FStar_Syntax_Syntax.exports) - Prims.string_of_int in + Prims.string_of_int + in FStar_Util.print2 "+++++++++++Encoding externals for %s ... %s exports\n" name - uu____18511 + uu____19050 else ()); (let env = - let uu____18519 = get_env modul.FStar_Syntax_Syntax.name tcenv in - FStar_All.pipe_right uu____18519 - FStar_SMTEncoding_Env.reset_current_module_fvbs in + let uu____19058 = get_env modul.FStar_Syntax_Syntax.name tcenv + in + FStar_All.pipe_right uu____19058 + FStar_SMTEncoding_Env.reset_current_module_fvbs + in let encode_signature env1 ses = FStar_All.pipe_right ses (FStar_List.fold_left - (fun uu____18558 -> - fun se -> - match uu____18558 with - | (g, env2) -> - let uu____18578 = encode_top_level_facts env2 se in - (match uu____18578 with - | (g', env3) -> ((FStar_List.append g g'), env3))) - ([], env1)) in - let uu____18601 = + (fun uu____19097 -> + fun se -> + match uu____19097 with + | (g,env2) -> + let uu____19117 = encode_top_level_facts env2 se + in + (match uu____19117 with + | (g',env3) -> ((FStar_List.append g g'), env3))) + ([], env1)) + in + let uu____19140 = encode_signature - (let uu___1668_18610 = env in + (let uu___1698_19149 = env in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___1668_18610.FStar_SMTEncoding_Env.bvar_bindings); + (uu___1698_19149.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___1668_18610.FStar_SMTEncoding_Env.fvar_bindings); + (uu___1698_19149.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___1668_18610.FStar_SMTEncoding_Env.depth); + (uu___1698_19149.FStar_SMTEncoding_Env.depth); FStar_SMTEncoding_Env.tcenv = - (uu___1668_18610.FStar_SMTEncoding_Env.tcenv); + (uu___1698_19149.FStar_SMTEncoding_Env.tcenv); FStar_SMTEncoding_Env.warn = false; FStar_SMTEncoding_Env.nolabels = - (uu___1668_18610.FStar_SMTEncoding_Env.nolabels); + (uu___1698_19149.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = - (uu___1668_18610.FStar_SMTEncoding_Env.use_zfuel_name); + (uu___1698_19149.FStar_SMTEncoding_Env.use_zfuel_name); FStar_SMTEncoding_Env.encode_non_total_function_typ = - (uu___1668_18610.FStar_SMTEncoding_Env.encode_non_total_function_typ); + (uu___1698_19149.FStar_SMTEncoding_Env.encode_non_total_function_typ); FStar_SMTEncoding_Env.current_module_name = - (uu___1668_18610.FStar_SMTEncoding_Env.current_module_name); + (uu___1698_19149.FStar_SMTEncoding_Env.current_module_name); FStar_SMTEncoding_Env.encoding_quantifier = - (uu___1668_18610.FStar_SMTEncoding_Env.encoding_quantifier); + (uu___1698_19149.FStar_SMTEncoding_Env.encoding_quantifier); FStar_SMTEncoding_Env.global_cache = - (uu___1668_18610.FStar_SMTEncoding_Env.global_cache) - }) modul.FStar_Syntax_Syntax.exports in - match uu____18601 with - | (decls, env1) -> + (uu___1698_19149.FStar_SMTEncoding_Env.global_cache) + }) modul.FStar_Syntax_Syntax.exports + in + match uu____19140 with + | (decls,env1) -> (give_decls_to_z3_and_set_env env1 name decls; - (let uu____18626 = - FStar_TypeChecker_Env.debug tcenv FStar_Options.Medium in - if uu____18626 + (let uu____19165 = + FStar_TypeChecker_Env.debug tcenv FStar_Options.Medium in + if uu____19165 then FStar_Util.print1 "Done encoding externals for %s\n" name else ()); - (let uu____18632 = + (let uu____19171 = FStar_All.pipe_right env1 - FStar_SMTEncoding_Env.get_current_module_fvbs in - (decls, uu____18632)))))) + FStar_SMTEncoding_Env.get_current_module_fvbs + in + (decls, uu____19171)))))) + let (encode_modul_from_cache : FStar_TypeChecker_Env.env -> FStar_Ident.lident -> (FStar_SMTEncoding_Term.decls_t * FStar_SMTEncoding_Env.fvar_binding Prims.list) -> unit) = - fun tcenv -> - fun name -> - fun uu____18660 -> - match uu____18660 with - | (decls, fvbs) -> - ((let uu____18674 = - (FStar_Options.lax ()) && (FStar_Options.ml_ish ()) in - if uu____18674 + fun tcenv -> + fun name -> + fun uu____19199 -> + match uu____19199 with + | (decls,fvbs) -> + ((let uu____19213 = + (FStar_Options.lax ()) && (FStar_Options.ml_ish ()) in + if uu____19213 then () else - (let uu____18679 = - FStar_TypeChecker_Env.debug tcenv FStar_Options.Medium in - if uu____18679 + (let uu____19218 = + FStar_TypeChecker_Env.debug tcenv FStar_Options.Medium in + if uu____19218 then - let uu____18682 = + let uu____19221 = FStar_All.pipe_right (FStar_List.length decls) - Prims.string_of_int in + Prims.string_of_int + in FStar_Util.print2 "+++++++++++Encoding externals from cache for %s ... %s decls\n" - name.FStar_Ident.str uu____18682 + name.FStar_Ident.str uu____19221 else ())); (let env = - let uu____18690 = get_env name tcenv in - FStar_All.pipe_right uu____18690 - FStar_SMTEncoding_Env.reset_current_module_fvbs in + let uu____19229 = get_env name tcenv in + FStar_All.pipe_right uu____19229 + FStar_SMTEncoding_Env.reset_current_module_fvbs + in let env1 = - let uu____18692 = FStar_All.pipe_right fvbs FStar_List.rev in - FStar_All.pipe_right uu____18692 + let uu____19231 = FStar_All.pipe_right fvbs FStar_List.rev + in + FStar_All.pipe_right uu____19231 (FStar_List.fold_left - (fun env1 -> - fun fvb -> + (fun env1 -> + fun fvb -> FStar_SMTEncoding_Env.add_fvar_binding_to_env fvb - env1) env) in + env1) env) + in give_decls_to_z3_and_set_env env1 name.FStar_Ident.str decls; - (let uu____18706 = - FStar_TypeChecker_Env.debug tcenv FStar_Options.Medium in - if uu____18706 + (let uu____19245 = + FStar_TypeChecker_Env.debug tcenv FStar_Options.Medium in + if uu____19245 then FStar_Util.print1 "Done encoding externals from cache for %s\n" name.FStar_Ident.str else ()))) + let (encode_query : (unit -> Prims.string) FStar_Pervasives_Native.option -> FStar_TypeChecker_Env.env -> @@ -6822,37 +7910,39 @@ let (encode_query : FStar_SMTEncoding_Term.decl * FStar_SMTEncoding_Term.decl Prims.list)) = - fun use_env_msg -> - fun tcenv -> - fun q -> - (let uu____18768 = - let uu____18770 = FStar_TypeChecker_Env.current_module tcenv in - uu____18770.FStar_Ident.str in + fun use_env_msg -> + fun tcenv -> + fun q -> + (let uu____19307 = + let uu____19309 = FStar_TypeChecker_Env.current_module tcenv in + uu____19309.FStar_Ident.str in FStar_SMTEncoding_Z3.query_logging.FStar_SMTEncoding_Z3.set_module_name - uu____18768); + uu____19307); (let env = - let uu____18772 = FStar_TypeChecker_Env.current_module tcenv in - get_env uu____18772 tcenv in - let uu____18773 = + let uu____19311 = FStar_TypeChecker_Env.current_module tcenv in + get_env uu____19311 tcenv in + let uu____19312 = let rec aux bindings = match bindings with | (FStar_Syntax_Syntax.Binding_var x)::rest -> - let uu____18812 = aux rest in - (match uu____18812 with - | (out, rest1) -> + let uu____19351 = aux rest in + (match uu____19351 with + | (out,rest1) -> let t = - let uu____18840 = + let uu____19379 = FStar_Syntax_Util.destruct_typ_as_formula - x.FStar_Syntax_Syntax.sort in - match uu____18840 with - | FStar_Pervasives_Native.Some uu____18843 -> - let uu____18844 = + x.FStar_Syntax_Syntax.sort + in + match uu____19379 with + | FStar_Pervasives_Native.Some uu____19382 -> + let uu____19383 = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - FStar_Syntax_Syntax.t_unit in - FStar_Syntax_Util.refine uu____18844 + FStar_Syntax_Syntax.t_unit + in + FStar_Syntax_Util.refine uu____19383 x.FStar_Syntax_Syntax.sort - | uu____18845 -> x.FStar_Syntax_Syntax.sort in + | uu____19384 -> x.FStar_Syntax_Syntax.sort in let t1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Eager_unfolding; @@ -6860,34 +7950,38 @@ let (encode_query : FStar_TypeChecker_Env.Simplify; FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.EraseUniverses] - env.FStar_SMTEncoding_Env.tcenv t in - let uu____18849 = - let uu____18852 = + env.FStar_SMTEncoding_Env.tcenv t + in + let uu____19388 = + let uu____19391 = FStar_Syntax_Syntax.mk_binder - (let uu___1709_18855 = x in + (let uu___1739_19394 = x in { FStar_Syntax_Syntax.ppname = - (uu___1709_18855.FStar_Syntax_Syntax.ppname); + (uu___1739_19394.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1709_18855.FStar_Syntax_Syntax.index); + (uu___1739_19394.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t1 - }) in - uu____18852 :: out in - (uu____18849, rest1)) - | uu____18860 -> ([], bindings) in - let uu____18867 = aux tcenv.FStar_TypeChecker_Env.gamma in - match uu____18867 with - | (closing, bindings) -> - let uu____18894 = + }) + in + uu____19391 :: out in + (uu____19388, rest1)) + | uu____19399 -> ([], bindings) in + let uu____19406 = aux tcenv.FStar_TypeChecker_Env.gamma in + match uu____19406 with + | (closing,bindings) -> + let uu____19433 = FStar_Syntax_Util.close_forall_no_univs - (FStar_List.rev closing) q in - (uu____18894, bindings) in - match uu____18773 with - | (q1, bindings) -> - let uu____18925 = encode_env_bindings env bindings in - (match uu____18925 with - | (env_decls, env1) -> - ((let uu____18947 = + (FStar_List.rev closing) q + in + (uu____19433, bindings) + in + match uu____19312 with + | (q1,bindings) -> + let uu____19464 = encode_env_bindings env bindings in + (match uu____19464 with + | (env_decls,env1) -> + ((let uu____19486 = ((FStar_TypeChecker_Env.debug tcenv FStar_Options.Medium) || @@ -6897,82 +7991,100 @@ let (encode_query : || (FStar_All.pipe_left (FStar_TypeChecker_Env.debug tcenv) - (FStar_Options.Other "SMTQuery")) in - if uu____18947 + (FStar_Options.Other "SMTQuery")) + in + if uu____19486 then - let uu____18954 = FStar_Syntax_Print.term_to_string q1 in + let uu____19493 = FStar_Syntax_Print.term_to_string q1 + in FStar_Util.print1 "Encoding query formula: %s\n" - uu____18954 + uu____19493 else ()); - (let uu____18959 = - FStar_SMTEncoding_EncodeTerm.encode_formula q1 env1 in - match uu____18959 with - | (phi, qdecls) -> - let uu____18980 = - let uu____18985 = - FStar_TypeChecker_Env.get_range tcenv in + (let uu____19498 = + FStar_SMTEncoding_EncodeTerm.encode_formula q1 env1 in + match uu____19498 with + | (phi,qdecls) -> + let uu____19519 = + let uu____19524 = + FStar_TypeChecker_Env.get_range tcenv in FStar_SMTEncoding_ErrorReporting.label_goals - use_env_msg uu____18985 phi in - (match uu____18980 with - | (labels, phi1) -> - let uu____19002 = encode_labels labels in - (match uu____19002 with - | (label_prefix, label_suffix) -> + use_env_msg uu____19524 phi + in + (match uu____19519 with + | (labels,phi1) -> + let uu____19541 = encode_labels labels in + (match uu____19541 with + | (label_prefix,label_suffix) -> let caption = - let uu____19038 = - FStar_Options.log_queries () in - if uu____19038 + let uu____19577 = + FStar_Options.log_queries () in + if uu____19577 then - let uu____19043 = - let uu____19044 = - let uu____19046 = + let uu____19582 = + let uu____19583 = + let uu____19585 = FStar_Syntax_Print.term_to_string - q1 in + q1 + in Prims.op_Hat "Encoding query formula: " - uu____19046 in + uu____19585 + in FStar_SMTEncoding_Term.Caption - uu____19044 in - [uu____19043] - else [] in + uu____19583 + in + [uu____19582] + else [] in let query_prelude = - let uu____19054 = - let uu____19055 = - let uu____19056 = - let uu____19059 = + let uu____19593 = + let uu____19594 = + let uu____19595 = + let uu____19598 = FStar_All.pipe_right label_prefix - FStar_SMTEncoding_Term.mk_decls_trivial in - let uu____19066 = - let uu____19069 = + FStar_SMTEncoding_Term.mk_decls_trivial + in + let uu____19605 = + let uu____19608 = FStar_All.pipe_right caption - FStar_SMTEncoding_Term.mk_decls_trivial in + FStar_SMTEncoding_Term.mk_decls_trivial + in FStar_List.append qdecls - uu____19069 in - FStar_List.append uu____19059 - uu____19066 in + uu____19608 + in + FStar_List.append uu____19598 + uu____19605 + in FStar_List.append env_decls - uu____19056 in - FStar_All.pipe_right uu____19055 - (recover_caching_and_update_env env1) in - FStar_All.pipe_right uu____19054 - FStar_SMTEncoding_Term.decls_list_of in + uu____19595 + in + FStar_All.pipe_right uu____19594 + (recover_caching_and_update_env env1) + in + FStar_All.pipe_right uu____19593 + FStar_SMTEncoding_Term.decls_list_of + in let qry = - let uu____19079 = - let uu____19087 = - FStar_SMTEncoding_Util.mkNot phi1 in - let uu____19088 = + let uu____19618 = + let uu____19626 = + FStar_SMTEncoding_Util.mkNot phi1 in + let uu____19627 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.mk_unique - "@query" in - (uu____19087, + "@query" + in + (uu____19626, (FStar_Pervasives_Native.Some "query"), - uu____19088) in + uu____19627) + in FStar_SMTEncoding_Util.mkAssume - uu____19079 in + uu____19618 + in let suffix = FStar_List.append [FStar_SMTEncoding_Term.Echo ""] (FStar_List.append label_suffix [FStar_SMTEncoding_Term.Echo ""; - FStar_SMTEncoding_Term.Echo "Done!"]) in - (query_prelude, labels, qry, suffix))))))) \ No newline at end of file + FStar_SMTEncoding_Term.Echo "Done!"]) + in + (query_prelude, labels, qry, suffix))))))) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_SMTEncoding_EncodeTerm.ml b/src/ocaml-output/FStar_SMTEncoding_EncodeTerm.ml index 592016592e3..ef5ce07c52d 100644 --- a/src/ocaml-output/FStar_SMTEncoding_EncodeTerm.ml +++ b/src/ocaml-output/FStar_SMTEncoding_EncodeTerm.ml @@ -8,69 +8,74 @@ let mkForall_fuel' : FStar_SMTEncoding_Term.fvs * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term = - fun mname -> - fun r -> - fun n1 -> - fun uu____45 -> + fun mname -> + fun r -> + fun n1 -> + fun uu____45 -> match uu____45 with - | (pats, vars, body) -> + | (pats,vars,body) -> let fallback uu____73 = - FStar_SMTEncoding_Term.mkForall r (pats, vars, body) in - let uu____78 = FStar_Options.unthrottle_inductives () in + FStar_SMTEncoding_Term.mkForall r (pats, vars, body) in + let uu____78 = FStar_Options.unthrottle_inductives () in if uu____78 then fallback () else (let uu____83 = FStar_SMTEncoding_Env.fresh_fvar mname "f" - FStar_SMTEncoding_Term.Fuel_sort in + FStar_SMTEncoding_Term.Fuel_sort + in match uu____83 with - | (fsym, fterm) -> + | (fsym,fterm) -> let add_fuel1 tms = FStar_All.pipe_right tms (FStar_List.map - (fun p -> + (fun p -> match p.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Var "HasType", - args) + (FStar_SMTEncoding_Term.Var + "HasType",args) -> FStar_SMTEncoding_Util.mkApp ("HasTypeFuel", (fterm :: args)) - | uu____123 -> p)) in - let pats1 = FStar_List.map add_fuel1 pats in + | uu____123 -> p)) + in + let pats1 = FStar_List.map add_fuel1 pats in let body1 = match body.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Imp, guard::body'::[]) -> + (FStar_SMTEncoding_Term.Imp ,guard::body'::[]) -> let guard1 = match guard.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.And, guards) -> - let uu____144 = add_fuel1 guards in + (FStar_SMTEncoding_Term.And ,guards) -> + let uu____144 = add_fuel1 guards in FStar_SMTEncoding_Util.mk_and_l uu____144 | uu____147 -> - let uu____148 = add_fuel1 [guard] in - FStar_All.pipe_right uu____148 FStar_List.hd in + let uu____148 = add_fuel1 [guard] in + FStar_All.pipe_right uu____148 FStar_List.hd + in FStar_SMTEncoding_Util.mkImp (guard1, body') - | uu____153 -> body in + | uu____153 -> body in let vars1 = let uu____165 = FStar_SMTEncoding_Term.mk_fv - (fsym, FStar_SMTEncoding_Term.Fuel_sort) in - uu____165 :: vars in + (fsym, FStar_SMTEncoding_Term.Fuel_sort) + in + uu____165 :: vars in FStar_SMTEncoding_Term.mkForall r (pats1, vars1, body1)) + let (mkForall_fuel : Prims.string -> FStar_Range.range -> (FStar_SMTEncoding_Term.pat Prims.list Prims.list * FStar_SMTEncoding_Term.fvs * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = fun mname -> fun r -> mkForall_fuel' mname r (Prims.parse_int "1") + = fun mname -> fun r -> mkForall_fuel' mname r (Prims.parse_int "1") let (head_normal : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun env -> - fun t -> - let t1 = FStar_Syntax_Util.unmeta t in + fun env -> + fun t -> + let t1 = FStar_Syntax_Util.unmeta t in match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_arrow uu____229 -> true | FStar_Syntax_Syntax.Tm_refine uu____245 -> true @@ -83,31 +88,33 @@ let (head_normal : FStar_TypeChecker_Env.lookup_definition [FStar_TypeChecker_Env.Eager_unfolding_only] env.FStar_SMTEncoding_Env.tcenv - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in FStar_All.pipe_right uu____292 FStar_Option.isNone | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos = uu____311; - FStar_Syntax_Syntax.vars = uu____312;_}, - uu____313) + FStar_Syntax_Syntax.vars = uu____312;_},uu____313) -> let uu____338 = FStar_TypeChecker_Env.lookup_definition [FStar_TypeChecker_Env.Eager_unfolding_only] env.FStar_SMTEncoding_Env.tcenv - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in FStar_All.pipe_right uu____338 FStar_Option.isNone | uu____356 -> false + let (head_redex : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun env -> - fun t -> + fun env -> + fun t -> let uu____370 = - let uu____371 = FStar_Syntax_Util.un_uinst t in - uu____371.FStar_Syntax_Syntax.n in + let uu____371 = FStar_Syntax_Util.un_uinst t in + uu____371.FStar_Syntax_Syntax.n in match uu____370 with | FStar_Syntax_Syntax.Tm_abs - (uu____375, uu____376, FStar_Pervasives_Native.Some rc) -> + (uu____375,uu____376,FStar_Pervasives_Native.Some rc) -> ((FStar_Ident.lid_equals rc.FStar_Syntax_Syntax.residual_effect FStar_Parser_Const.effect_Tot_lid) || @@ -115,25 +122,27 @@ let (head_redex : FStar_Parser_Const.effect_GTot_lid)) || (FStar_List.existsb - (fun uu___0_401 -> + (fun uu___0_401 -> match uu___0_401 with - | FStar_Syntax_Syntax.TOTAL -> true + | FStar_Syntax_Syntax.TOTAL -> true | uu____404 -> false) rc.FStar_Syntax_Syntax.residual_flags) | FStar_Syntax_Syntax.Tm_fvar fv -> let uu____407 = FStar_TypeChecker_Env.lookup_definition [FStar_TypeChecker_Env.Eager_unfolding_only] env.FStar_SMTEncoding_Env.tcenv - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in FStar_All.pipe_right uu____407 FStar_Option.isSome | uu____425 -> false + let (whnf : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun t -> - let uu____438 = head_normal env t in + fun env -> + fun t -> + let uu____438 = head_normal env t in if uu____438 then t else @@ -145,79 +154,139 @@ let (whnf : FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.EraseUniverses] env.FStar_SMTEncoding_Env.tcenv t + let (norm : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun t -> + fun env -> + fun t -> FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.EraseUniverses] env.FStar_SMTEncoding_Env.tcenv t + let (trivial_post : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> + fun t -> let uu____460 = - let uu____461 = FStar_Syntax_Syntax.null_binder t in [uu____461] in + let uu____461 = FStar_Syntax_Syntax.null_binder t in [uu____461] in let uu____480 = FStar_Syntax_Syntax.fvar FStar_Parser_Const.true_lid - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in FStar_Syntax_Util.abs uu____460 uu____480 FStar_Pervasives_Native.None + let (mk_Apply : FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.fvs -> FStar_SMTEncoding_Term.term) = - fun e -> - fun vars -> + fun e -> + fun vars -> FStar_All.pipe_right vars (FStar_List.fold_left - (fun out -> - fun var -> - let uu____502 = FStar_SMTEncoding_Term.fv_sort var in + (fun out -> + fun var -> + let uu____502 = FStar_SMTEncoding_Term.fv_sort var in match uu____502 with - | FStar_SMTEncoding_Term.Fuel_sort -> - let uu____503 = FStar_SMTEncoding_Util.mkFreeV var in + | FStar_SMTEncoding_Term.Fuel_sort -> + let uu____503 = FStar_SMTEncoding_Util.mkFreeV var in FStar_SMTEncoding_Term.mk_ApplyTF out uu____503 | s -> - let uu____506 = FStar_SMTEncoding_Util.mkFreeV var in + let uu____506 = FStar_SMTEncoding_Util.mkFreeV var in FStar_SMTEncoding_Util.mk_ApplyTT out uu____506) e) + let (mk_Apply_args : FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term Prims.list -> FStar_SMTEncoding_Term.term) = - fun e -> - fun args -> + fun e -> + fun args -> FStar_All.pipe_right args (FStar_List.fold_left FStar_SMTEncoding_Util.mk_ApplyTT e) + let raise_arity_mismatch : 'a . Prims.string -> Prims.int -> Prims.int -> FStar_Range.range -> 'a = - fun head1 -> - fun arity -> - fun n_args -> - fun rng -> + fun head1 -> + fun arity -> + fun n_args -> + fun rng -> let uu____562 = let uu____568 = - let uu____570 = FStar_Util.string_of_int arity in - let uu____572 = FStar_Util.string_of_int n_args in + let uu____570 = FStar_Util.string_of_int arity in + let uu____572 = FStar_Util.string_of_int n_args in FStar_Util.format3 "Head symbol %s expects at least %s arguments; got only %s" - head1 uu____570 uu____572 in - (FStar_Errors.Fatal_SMTEncodingArityMismatch, uu____568) in + head1 uu____570 uu____572 + in + (FStar_Errors.Fatal_SMTEncodingArityMismatch, uu____568) in FStar_Errors.raise_error uu____562 rng + +let (isTotFun_axioms : + FStar_Range.range -> + FStar_SMTEncoding_Term.term -> + FStar_SMTEncoding_Term.fvs -> + FStar_SMTEncoding_Term.term Prims.list -> + Prims.bool -> FStar_SMTEncoding_Term.term) + = + fun pos -> + fun head1 -> + fun vars -> + fun guards -> + fun is_pure -> + let maybe_mkForall pat vars1 body = + match vars1 with + | [] -> body + | uu____660 -> + FStar_SMTEncoding_Term.mkForall pos (pat, vars1, body) + in + let rec is_tot_fun_axioms ctx ctx_guard head2 vars1 guards1 = + match (vars1, guards1) with + | ([],[]) -> FStar_SMTEncoding_Util.mkTrue + | (uu____777::[],uu____778) -> + if is_pure + then + let uu____818 = + let uu____819 = + let uu____824 = + FStar_SMTEncoding_Term.mk_IsTotFun head2 in + (ctx_guard, uu____824) in + FStar_SMTEncoding_Util.mkImp uu____819 in + maybe_mkForall [[head2]] ctx uu____818 + else FStar_SMTEncoding_Util.mkTrue + | (x::vars2,g_x::guards2) -> + let is_tot_fun_head = + let uu____876 = + let uu____877 = + let uu____882 = + FStar_SMTEncoding_Term.mk_IsTotFun head2 in + (ctx_guard, uu____882) in + FStar_SMTEncoding_Util.mkImp uu____877 in + maybe_mkForall [[head2]] ctx uu____876 in + let app = mk_Apply head2 [x] in + let ctx1 = FStar_List.append ctx [x] in + let ctx_guard1 = + FStar_SMTEncoding_Util.mkAnd (ctx_guard, g_x) in + let rest = + is_tot_fun_axioms ctx1 ctx_guard1 app vars2 guards2 in + FStar_SMTEncoding_Util.mkAnd (is_tot_fun_head, rest) + | uu____941 -> failwith "impossible: isTotFun_axioms" in + is_tot_fun_axioms [] FStar_SMTEncoding_Util.mkTrue head1 vars + guards + let (maybe_curry_app : FStar_Range.range -> - (FStar_SMTEncoding_Term.op, FStar_SMTEncoding_Term.term) - FStar_Util.either -> + (FStar_SMTEncoding_Term.op,FStar_SMTEncoding_Term.term) FStar_Util.either + -> Prims.int -> FStar_SMTEncoding_Term.term Prims.list -> FStar_SMTEncoding_Term.term) = - fun rng -> - fun head1 -> - fun arity -> - fun args -> - let n_args = FStar_List.length args in + fun rng -> + fun head1 -> + fun arity -> + fun args -> + let n_args = FStar_List.length args in match head1 with | FStar_Util.Inr head2 -> mk_Apply_args head2 args | FStar_Util.Inl head2 -> @@ -226,142 +295,178 @@ let (maybe_curry_app : else if n_args > arity then - (let uu____621 = FStar_Util.first_N arity args in - match uu____621 with - | (args1, rest) -> + (let uu____1012 = FStar_Util.first_N arity args in + match uu____1012 with + | (args1,rest) -> let head3 = - FStar_SMTEncoding_Util.mkApp' (head2, args1) in + FStar_SMTEncoding_Util.mkApp' (head2, args1) in mk_Apply_args head3 rest) else - (let uu____645 = FStar_SMTEncoding_Term.op_to_string head2 in - raise_arity_mismatch uu____645 arity n_args rng) + (let uu____1036 = FStar_SMTEncoding_Term.op_to_string head2 + in + raise_arity_mismatch uu____1036 arity n_args rng) + let (maybe_curry_fvb : FStar_Range.range -> FStar_SMTEncoding_Env.fvar_binding -> FStar_SMTEncoding_Term.term Prims.list -> FStar_SMTEncoding_Term.term) = - fun rng -> - fun fvb -> - fun args -> + fun rng -> + fun fvb -> + fun args -> if fvb.FStar_SMTEncoding_Env.fvb_thunked then - let uu____668 = FStar_SMTEncoding_Env.force_thunk fvb in - mk_Apply_args uu____668 args + let uu____1059 = FStar_SMTEncoding_Env.force_thunk fvb in + mk_Apply_args uu____1059 args else maybe_curry_app rng (FStar_Util.Inl (FStar_SMTEncoding_Term.Var (fvb.FStar_SMTEncoding_Env.smt_id))) fvb.FStar_SMTEncoding_Env.smt_arity args + let (is_app : FStar_SMTEncoding_Term.op -> Prims.bool) = - fun uu___1_677 -> - match uu___1_677 with + fun uu___1_1068 -> + match uu___1_1068 with | FStar_SMTEncoding_Term.Var "ApplyTT" -> true | FStar_SMTEncoding_Term.Var "ApplyTF" -> true - | uu____683 -> false + | uu____1074 -> false + let (is_an_eta_expansion : FStar_SMTEncoding_Env.env_t -> FStar_SMTEncoding_Term.fv Prims.list -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option) = - fun env -> - fun vars -> - fun body -> + fun env -> + fun vars -> + fun body -> let rec check_partial_applications t xs = match ((t.FStar_SMTEncoding_Term.tm), xs) with | (FStar_SMTEncoding_Term.App - (app, - f::{ - FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.FreeV y; - FStar_SMTEncoding_Term.freevars = uu____731; - FStar_SMTEncoding_Term.rng = uu____732;_}::[]), - x::xs1) when (is_app app) && (FStar_SMTEncoding_Term.fv_eq x y) - -> check_partial_applications f xs1 - | (FStar_SMTEncoding_Term.App (FStar_SMTEncoding_Term.Var f, args), - uu____763) -> - let uu____773 = + (app,f::{ + FStar_SMTEncoding_Term.tm = + FStar_SMTEncoding_Term.FreeV y; + FStar_SMTEncoding_Term.freevars = uu____1122; + FStar_SMTEncoding_Term.rng = uu____1123;_}::[]),x::xs1) + when (is_app app) && (FStar_SMTEncoding_Term.fv_eq x y) -> + check_partial_applications f xs1 + | (FStar_SMTEncoding_Term.App + (FStar_SMTEncoding_Term.Var f,args),uu____1154) -> + let uu____1164 = ((FStar_List.length args) = (FStar_List.length xs)) && (FStar_List.forall2 - (fun a -> - fun v1 -> + (fun a -> + fun v1 -> match a.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.FreeV fv -> FStar_SMTEncoding_Term.fv_eq fv v1 - | uu____790 -> false) args (FStar_List.rev xs)) in - if uu____773 - then FStar_SMTEncoding_Env.tok_of_name env f + | uu____1181 -> false) args (FStar_List.rev xs)) + in + if uu____1164 + then + let n1 = FStar_SMTEncoding_Env.tok_of_name env f in + ((let uu____1190 = + FStar_All.pipe_left + (FStar_TypeChecker_Env.debug + env.FStar_SMTEncoding_Env.tcenv) + (FStar_Options.Other "PartialApp") + in + if uu____1190 + then + let uu____1195 = FStar_SMTEncoding_Term.print_smt_term t + in + let uu____1197 = + match n1 with + | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.Some x -> + FStar_SMTEncoding_Term.print_smt_term x + in + FStar_Util.print2 + "is_eta_expansion %s ... tok_of_name = %s\n" + uu____1195 uu____1197 + else ()); + n1) else FStar_Pervasives_Native.None - | (uu____797, []) -> - let fvs = FStar_SMTEncoding_Term.free_variables t in - let uu____801 = + | (uu____1207,[]) -> + let fvs = FStar_SMTEncoding_Term.free_variables t in + let uu____1211 = FStar_All.pipe_right fvs (FStar_List.for_all - (fun fv -> - let uu____809 = + (fun fv -> + let uu____1219 = FStar_Util.for_some - (FStar_SMTEncoding_Term.fv_eq fv) vars in - Prims.op_Negation uu____809)) in - if uu____801 + (FStar_SMTEncoding_Term.fv_eq fv) vars + in + Prims.op_Negation uu____1219)) + in + if uu____1211 then FStar_Pervasives_Native.Some t else FStar_Pervasives_Native.None - | uu____816 -> FStar_Pervasives_Native.None in + | uu____1226 -> FStar_Pervasives_Native.None in check_partial_applications body (FStar_List.rev vars) + let check_pattern_vars : - 'Auu____834 'Auu____835 . + 'Auu____1244 'Auu____1245 . FStar_SMTEncoding_Env.env_t -> - (FStar_Syntax_Syntax.bv * 'Auu____834) Prims.list -> - (FStar_Syntax_Syntax.term * 'Auu____835) Prims.list -> unit + (FStar_Syntax_Syntax.bv * 'Auu____1244) Prims.list -> + (FStar_Syntax_Syntax.term * 'Auu____1245) Prims.list -> unit = - fun env -> - fun vars -> - fun pats -> + fun env -> + fun vars -> + fun pats -> let pats1 = FStar_All.pipe_right pats (FStar_List.map - (fun uu____893 -> - match uu____893 with - | (x, uu____899) -> + (fun uu____1303 -> + match uu____1303 with + | (x,uu____1309) -> FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.AllowUnboundUniverses; FStar_TypeChecker_Env.EraseUniverses] - env.FStar_SMTEncoding_Env.tcenv x)) in + env.FStar_SMTEncoding_Env.tcenv x)) + in match pats1 with | [] -> () | hd1::tl1 -> let pat_vars = - let uu____907 = FStar_Syntax_Free.names hd1 in + let uu____1317 = FStar_Syntax_Free.names hd1 in FStar_List.fold_left - (fun out -> - fun x -> - let uu____919 = FStar_Syntax_Free.names x in - FStar_Util.set_union out uu____919) uu____907 tl1 in - let uu____922 = + (fun out -> + fun x -> + let uu____1329 = FStar_Syntax_Free.names x in + FStar_Util.set_union out uu____1329) uu____1317 tl1 + in + let uu____1332 = FStar_All.pipe_right vars (FStar_Util.find_opt - (fun uu____949 -> - match uu____949 with - | (b, uu____956) -> - let uu____957 = FStar_Util.set_mem b pat_vars in - Prims.op_Negation uu____957)) in - (match uu____922 with - | FStar_Pervasives_Native.None -> () - | FStar_Pervasives_Native.Some (x, uu____964) -> + (fun uu____1359 -> + match uu____1359 with + | (b,uu____1366) -> + let uu____1367 = FStar_Util.set_mem b pat_vars in + Prims.op_Negation uu____1367)) + in + (match uu____1332 with + | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.Some (x,uu____1374) -> let pos = FStar_List.fold_left - (fun out -> - fun t -> + (fun out -> + fun t -> FStar_Range.union_ranges out t.FStar_Syntax_Syntax.pos) - hd1.FStar_Syntax_Syntax.pos tl1 in - let uu____978 = - let uu____984 = - let uu____986 = FStar_Syntax_Print.bv_to_string x in + hd1.FStar_Syntax_Syntax.pos tl1 + in + let uu____1388 = + let uu____1394 = + let uu____1396 = FStar_Syntax_Print.bv_to_string x in FStar_Util.format1 "SMT pattern misses at least one bound variable: %s" - uu____986 in - (FStar_Errors.Warning_SMTPatternIllFormed, uu____984) in - FStar_Errors.log_issue pos uu____978) + uu____1396 + in + (FStar_Errors.Warning_SMTPatternIllFormed, uu____1394) in + FStar_Errors.log_issue pos uu____1388) + type label = (FStar_SMTEncoding_Term.fv * Prims.string * FStar_Range.range) type labels = label Prims.list type pattern = @@ -377,85 +482,93 @@ type pattern = let (__proj__Mkpattern__item__pat_vars : pattern -> (FStar_Syntax_Syntax.bv * FStar_SMTEncoding_Term.fv) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { pat_vars; pat_term; guard; projections;_} -> pat_vars + let (__proj__Mkpattern__item__pat_term : pattern -> unit -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) = - fun projectee -> + fun projectee -> match projectee with | { pat_vars; pat_term; guard; projections;_} -> pat_term + let (__proj__Mkpattern__item__guard : pattern -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term) = - fun projectee -> + fun projectee -> match projectee with | { pat_vars; pat_term; guard; projections;_} -> guard + let (__proj__Mkpattern__item__projections : pattern -> FStar_SMTEncoding_Term.term -> (FStar_Syntax_Syntax.bv * FStar_SMTEncoding_Term.term) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { pat_vars; pat_term; guard; projections;_} -> projections + let (as_function_typ : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term) = - fun env -> - fun t0 -> + fun env -> + fun t0 -> let rec aux norm1 t = - let t1 = FStar_Syntax_Subst.compress t in + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow uu____1272 -> t1 - | FStar_Syntax_Syntax.Tm_refine uu____1287 -> - let uu____1294 = FStar_Syntax_Util.unrefine t1 in - aux true uu____1294 - | uu____1296 -> + | FStar_Syntax_Syntax.Tm_arrow uu____1682 -> t1 + | FStar_Syntax_Syntax.Tm_refine uu____1697 -> + let uu____1704 = FStar_Syntax_Util.unrefine t1 in + aux true uu____1704 + | uu____1706 -> if norm1 - then let uu____1298 = whnf env t1 in aux false uu____1298 + then let uu____1708 = whnf env t1 in aux false uu____1708 else - (let uu____1302 = - let uu____1304 = - FStar_Range.string_of_range t0.FStar_Syntax_Syntax.pos in - let uu____1306 = FStar_Syntax_Print.term_to_string t0 in + (let uu____1712 = + let uu____1714 = + FStar_Range.string_of_range t0.FStar_Syntax_Syntax.pos in + let uu____1716 = FStar_Syntax_Print.term_to_string t0 in FStar_Util.format2 "(%s) Expected a function typ; got %s" - uu____1304 uu____1306 in - failwith uu____1302) in + uu____1714 uu____1716 + in + failwith uu____1712) + in aux true t0 + let rec (curried_arrow_formals_comp : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.comp)) = - fun k -> - let k1 = FStar_Syntax_Subst.compress k in + fun k -> + let k1 = FStar_Syntax_Subst.compress k in match k1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> FStar_Syntax_Subst.open_comp bs c - | FStar_Syntax_Syntax.Tm_refine (bv, uu____1348) -> - let uu____1353 = - curried_arrow_formals_comp bv.FStar_Syntax_Syntax.sort in - (match uu____1353 with - | (args, res) -> + | FStar_Syntax_Syntax.Tm_refine (bv,uu____1758) -> + let uu____1763 = + curried_arrow_formals_comp bv.FStar_Syntax_Syntax.sort in + (match uu____1763 with + | (args,res) -> (match args with | [] -> - let uu____1374 = FStar_Syntax_Syntax.mk_Total k1 in - ([], uu____1374) - | uu____1381 -> (args, res))) - | uu____1382 -> - let uu____1383 = FStar_Syntax_Syntax.mk_Total k1 in ([], uu____1383) + let uu____1784 = FStar_Syntax_Syntax.mk_Total k1 in + ([], uu____1784) + | uu____1791 -> (args, res))) + | uu____1792 -> + let uu____1793 = FStar_Syntax_Syntax.mk_Total k1 in ([], uu____1793) + let is_arithmetic_primitive : - 'Auu____1397 . + 'Auu____1807 . FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> - 'Auu____1397 Prims.list -> Prims.bool + 'Auu____1807 Prims.list -> Prims.bool = - fun head1 -> - fun args -> + fun head1 -> + fun args -> match ((head1.FStar_Syntax_Syntax.n), args) with - | (FStar_Syntax_Syntax.Tm_fvar fv, uu____1420::uu____1421::[]) -> + | (FStar_Syntax_Syntax.Tm_fvar fv,uu____1830::uu____1831::[]) -> ((((((((((((FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.op_Addition) || @@ -494,32 +607,35 @@ let is_arithmetic_primitive : || (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.real_op_Division) - | (FStar_Syntax_Syntax.Tm_fvar fv, uu____1425::[]) -> + | (FStar_Syntax_Syntax.Tm_fvar fv,uu____1835::[]) -> FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.op_Minus - | uu____1428 -> false + | uu____1838 -> false + let (isInteger : FStar_Syntax_Syntax.term' -> Prims.bool) = - fun tm -> + fun tm -> match tm with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_int - (n1, FStar_Pervasives_Native.None)) -> true - | uu____1459 -> false + (n1,FStar_Pervasives_Native.None )) -> true + | uu____1869 -> false + let (getInteger : FStar_Syntax_Syntax.term' -> Prims.int) = - fun tm -> + fun tm -> match tm with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_int - (n1, FStar_Pervasives_Native.None)) -> FStar_Util.int_of_string n1 - | uu____1482 -> failwith "Expected an Integer term" + (n1,FStar_Pervasives_Native.None )) -> FStar_Util.int_of_string n1 + | uu____1892 -> failwith "Expected an Integer term" + let is_BitVector_primitive : - 'Auu____1492 . + 'Auu____1902 . FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> - (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * 'Auu____1492) + (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * 'Auu____1902) Prims.list -> Prims.bool = - fun head1 -> - fun args -> + fun head1 -> + fun args -> match ((head1.FStar_Syntax_Syntax.n), args) with - | (FStar_Syntax_Syntax.Tm_fvar fv, - (sz_arg, uu____1534)::uu____1535::uu____1536::[]) -> + | (FStar_Syntax_Syntax.Tm_fvar + fv,(sz_arg,uu____1944)::uu____1945::uu____1946::[]) -> (((((((((((FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.bv_and_lid) || @@ -552,73 +668,79 @@ let is_BitVector_primitive : || (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.bv_mul_lid)) && (isInteger sz_arg.FStar_Syntax_Syntax.n) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (sz_arg, uu____1587)::uu____1588::[]) -> + | (FStar_Syntax_Syntax.Tm_fvar fv,(sz_arg,uu____1997)::uu____1998::[]) + -> ((FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.nat_to_bv_lid) || (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.bv_to_nat_lid)) && (isInteger sz_arg.FStar_Syntax_Syntax.n) - | uu____1625 -> false + | uu____2035 -> false + let rec (encode_const : FStar_Const.sconst -> FStar_SMTEncoding_Env.env_t -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) = - fun c -> - fun env -> + fun c -> + fun env -> match c with - | FStar_Const.Const_unit -> (FStar_SMTEncoding_Term.mk_Term_unit, []) - | FStar_Const.Const_bool (true) -> - let uu____1949 = - FStar_SMTEncoding_Term.boxBool FStar_SMTEncoding_Util.mkTrue in - (uu____1949, []) - | FStar_Const.Const_bool (false) -> - let uu____1951 = - FStar_SMTEncoding_Term.boxBool FStar_SMTEncoding_Util.mkFalse in - (uu____1951, []) + | FStar_Const.Const_unit -> (FStar_SMTEncoding_Term.mk_Term_unit, []) + | FStar_Const.Const_bool (true ) -> + let uu____2359 = + FStar_SMTEncoding_Term.boxBool FStar_SMTEncoding_Util.mkTrue in + (uu____2359, []) + | FStar_Const.Const_bool (false ) -> + let uu____2361 = + FStar_SMTEncoding_Term.boxBool FStar_SMTEncoding_Util.mkFalse in + (uu____2361, []) | FStar_Const.Const_char c1 -> - let uu____1954 = - let uu____1955 = - let uu____1963 = - let uu____1966 = - let uu____1967 = + let uu____2364 = + let uu____2365 = + let uu____2373 = + let uu____2376 = + let uu____2377 = FStar_SMTEncoding_Util.mkInteger' - (FStar_Util.int_of_char c1) in - FStar_SMTEncoding_Term.boxInt uu____1967 in - [uu____1966] in - ("FStar.Char.__char_of_int", uu____1963) in - FStar_SMTEncoding_Util.mkApp uu____1955 in - (uu____1954, []) - | FStar_Const.Const_int (i, FStar_Pervasives_Native.None) -> - let uu____1985 = - let uu____1986 = FStar_SMTEncoding_Util.mkInteger i in - FStar_SMTEncoding_Term.boxInt uu____1986 in - (uu____1985, []) - | FStar_Const.Const_int (repr, FStar_Pervasives_Native.Some sw) -> + (FStar_Util.int_of_char c1) + in + FStar_SMTEncoding_Term.boxInt uu____2377 in + [uu____2376] in + ("FStar.Char.__char_of_int", uu____2373) in + FStar_SMTEncoding_Util.mkApp uu____2365 in + (uu____2364, []) + | FStar_Const.Const_int (i,FStar_Pervasives_Native.None ) -> + let uu____2395 = + let uu____2396 = FStar_SMTEncoding_Util.mkInteger i in + FStar_SMTEncoding_Term.boxInt uu____2396 in + (uu____2395, []) + | FStar_Const.Const_int (repr,FStar_Pervasives_Native.Some sw) -> let syntax_term = FStar_ToSyntax_ToSyntax.desugar_machine_integer (env.FStar_SMTEncoding_Env.tcenv).FStar_TypeChecker_Env.dsenv - repr sw FStar_Range.dummyRange in + repr sw FStar_Range.dummyRange + in encode_term syntax_term env - | FStar_Const.Const_string (s, uu____2007) -> - let uu____2010 = - FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.string_const s in - (uu____2010, []) - | FStar_Const.Const_range uu____2011 -> - let uu____2012 = FStar_SMTEncoding_Term.mk_Range_const () in - (uu____2012, []) - | FStar_Const.Const_effect -> (FStar_SMTEncoding_Term.mk_Term_type, []) + | FStar_Const.Const_string (s,uu____2417) -> + let uu____2420 = + FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.string_const s + in + (uu____2420, []) + | FStar_Const.Const_range uu____2421 -> + let uu____2422 = FStar_SMTEncoding_Term.mk_Range_const () in + (uu____2422, []) + | FStar_Const.Const_effect -> + (FStar_SMTEncoding_Term.mk_Term_type, []) | FStar_Const.Const_real r -> - let uu____2015 = - let uu____2016 = FStar_SMTEncoding_Util.mkReal r in - FStar_SMTEncoding_Term.boxReal uu____2016 in - (uu____2015, []) + let uu____2425 = + let uu____2426 = FStar_SMTEncoding_Util.mkReal r in + FStar_SMTEncoding_Term.boxReal uu____2426 in + (uu____2425, []) | c1 -> - let uu____2018 = - let uu____2020 = FStar_Syntax_Print.const_to_string c1 in - FStar_Util.format1 "Unhandled constant: %s" uu____2020 in - failwith uu____2018 + let uu____2428 = + let uu____2430 = FStar_Syntax_Print.const_to_string c1 in + FStar_Util.format1 "Unhandled constant: %s" uu____2430 in + failwith uu____2428 + and (encode_binders : FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.binders -> @@ -627,50 +749,56 @@ and (encode_binders : Prims.list * FStar_SMTEncoding_Env.env_t * FStar_SMTEncoding_Term.decls_t * FStar_Syntax_Syntax.bv Prims.list)) = - fun fuel_opt -> - fun bs -> - fun env -> - (let uu____2049 = + fun fuel_opt -> + fun bs -> + fun env -> + (let uu____2459 = FStar_TypeChecker_Env.debug env.FStar_SMTEncoding_Env.tcenv - FStar_Options.Medium in - if uu____2049 + FStar_Options.Medium + in + if uu____2459 then - let uu____2052 = FStar_Syntax_Print.binders_to_string ", " bs in - FStar_Util.print1 "Encoding binders %s\n" uu____2052 + let uu____2462 = FStar_Syntax_Print.binders_to_string ", " bs in + FStar_Util.print1 "Encoding binders %s\n" uu____2462 else ()); - (let uu____2058 = + (let uu____2468 = FStar_All.pipe_right bs (FStar_List.fold_left - (fun uu____2140 -> - fun b -> - match uu____2140 with - | (vars, guards, env1, decls, names1) -> - let uu____2205 = - let x = FStar_Pervasives_Native.fst b in - let uu____2221 = - FStar_SMTEncoding_Env.gen_term_var env1 x in - match uu____2221 with - | (xxsym, xx, env') -> - let uu____2246 = - let uu____2251 = - norm env1 x.FStar_Syntax_Syntax.sort in - encode_term_pred fuel_opt uu____2251 env1 xx in - (match uu____2246 with - | (guard_x_t, decls') -> - let uu____2266 = + (fun uu____2550 -> + fun b -> + match uu____2550 with + | (vars,guards,env1,decls,names1) -> + let uu____2615 = + let x = FStar_Pervasives_Native.fst b in + let uu____2631 = + FStar_SMTEncoding_Env.gen_term_var env1 x in + match uu____2631 with + | (xxsym,xx,env') -> + let uu____2656 = + let uu____2661 = + norm env1 x.FStar_Syntax_Syntax.sort in + encode_term_pred fuel_opt uu____2661 env1 xx + in + (match uu____2656 with + | (guard_x_t,decls') -> + let uu____2676 = FStar_SMTEncoding_Term.mk_fv (xxsym, - FStar_SMTEncoding_Term.Term_sort) in - (uu____2266, guard_x_t, env', decls', x)) in - (match uu____2205 with - | (v1, g, env2, decls', n1) -> + FStar_SMTEncoding_Term.Term_sort) + in + (uu____2676, guard_x_t, env', decls', x)) + in + (match uu____2615 with + | (v1,g,env2,decls',n1) -> ((v1 :: vars), (g :: guards), env2, (FStar_List.append decls decls'), (n1 :: - names1)))) ([], [], env, [], [])) in - match uu____2058 with - | (vars, guards, env1, decls, names1) -> + names1)))) ([], [], env, [], [])) + in + match uu____2468 with + | (vars,guards,env1,decls,names1) -> ((FStar_List.rev vars), (FStar_List.rev guards), env1, decls, (FStar_List.rev names1))) + and (encode_term_pred : FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.typ -> @@ -678,16 +806,17 @@ and (encode_term_pred : FStar_SMTEncoding_Term.term -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) = - fun fuel_opt -> - fun t -> - fun env -> - fun e -> - let uu____2366 = encode_term t env in - match uu____2366 with - | (t1, decls) -> - let uu____2377 = - FStar_SMTEncoding_Term.mk_HasTypeWithFuel fuel_opt e t1 in - (uu____2377, decls) + fun fuel_opt -> + fun t -> + fun env -> + fun e -> + let uu____2776 = encode_term t env in + match uu____2776 with + | (t1,decls) -> + let uu____2787 = + FStar_SMTEncoding_Term.mk_HasTypeWithFuel fuel_opt e t1 in + (uu____2787, decls) + and (encode_term_pred' : FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.typ -> @@ -695,95 +824,105 @@ and (encode_term_pred' : FStar_SMTEncoding_Term.term -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) = - fun fuel_opt -> - fun t -> - fun env -> - fun e -> - let uu____2388 = encode_term t env in - match uu____2388 with - | (t1, decls) -> + fun fuel_opt -> + fun t -> + fun env -> + fun e -> + let uu____2798 = encode_term t env in + match uu____2798 with + | (t1,decls) -> (match fuel_opt with - | FStar_Pervasives_Native.None -> - let uu____2403 = FStar_SMTEncoding_Term.mk_HasTypeZ e t1 in - (uu____2403, decls) + | FStar_Pervasives_Native.None -> + let uu____2813 = FStar_SMTEncoding_Term.mk_HasTypeZ e t1 + in + (uu____2813, decls) | FStar_Pervasives_Native.Some f -> - let uu____2405 = - FStar_SMTEncoding_Term.mk_HasTypeFuel f e t1 in - (uu____2405, decls)) + let uu____2815 = + FStar_SMTEncoding_Term.mk_HasTypeFuel f e t1 in + (uu____2815, decls)) + and (encode_arith_term : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.args -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) = - fun env -> - fun head1 -> - fun args_e -> - let uu____2411 = encode_args args_e env in - match uu____2411 with - | (arg_tms, decls) -> + fun env -> + fun head1 -> + fun args_e -> + let uu____2821 = encode_args args_e env in + match uu____2821 with + | (arg_tms,decls) -> let head_fv = match head1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> fv - | uu____2430 -> failwith "Impossible" in + | uu____2840 -> failwith "Impossible" in let unary unbox arg_tms1 = - let uu____2452 = FStar_List.hd arg_tms1 in unbox uu____2452 in + let uu____2862 = FStar_List.hd arg_tms1 in unbox uu____2862 + in let binary unbox arg_tms1 = - let uu____2477 = - let uu____2478 = FStar_List.hd arg_tms1 in unbox uu____2478 in - let uu____2479 = - let uu____2480 = - let uu____2481 = FStar_List.tl arg_tms1 in - FStar_List.hd uu____2481 in - unbox uu____2480 in - (uu____2477, uu____2479) in - let mk_default uu____2489 = - let uu____2490 = + let uu____2887 = + let uu____2888 = FStar_List.hd arg_tms1 in unbox uu____2888 + in + let uu____2889 = + let uu____2890 = + let uu____2891 = FStar_List.tl arg_tms1 in + FStar_List.hd uu____2891 in + unbox uu____2890 in + (uu____2887, uu____2889) in + let mk_default uu____2899 = + let uu____2900 = FStar_SMTEncoding_Env.lookup_free_var_sym env - head_fv.FStar_Syntax_Syntax.fv_name in - match uu____2490 with - | (fname, fuel_args, arity) -> - let args = FStar_List.append fuel_args arg_tms in + head_fv.FStar_Syntax_Syntax.fv_name + in + match uu____2900 with + | (fname,fuel_args,arity) -> + let args = FStar_List.append fuel_args arg_tms in maybe_curry_app head1.FStar_Syntax_Syntax.pos fname arity - args in + args + in let mk_l box op mk_args ts = - let uu____2579 = FStar_Options.smtencoding_l_arith_native () in - if uu____2579 + let uu____2989 = FStar_Options.smtencoding_l_arith_native () + in + if uu____2989 then - let uu____2582 = let uu____2583 = mk_args ts in op uu____2583 in - FStar_All.pipe_right uu____2582 box - else mk_default () in + let uu____2992 = + let uu____2993 = mk_args ts in op uu____2993 in + FStar_All.pipe_right uu____2992 box + else mk_default () in let mk_nl box unbox nm op ts = - let uu____2641 = FStar_Options.smtencoding_nl_arith_wrapped () in - if uu____2641 + let uu____3051 = FStar_Options.smtencoding_nl_arith_wrapped () + in + if uu____3051 then - let uu____2644 = binary unbox ts in - match uu____2644 with - | (t1, t2) -> - let uu____2651 = - FStar_SMTEncoding_Util.mkApp (nm, [t1; t2]) in - FStar_All.pipe_right uu____2651 box + let uu____3054 = binary unbox ts in + match uu____3054 with + | (t1,t2) -> + let uu____3061 = + FStar_SMTEncoding_Util.mkApp (nm, [t1; t2]) in + FStar_All.pipe_right uu____3061 box else - (let uu____2657 = - FStar_Options.smtencoding_nl_arith_native () in - if uu____2657 + (let uu____3067 = + FStar_Options.smtencoding_nl_arith_native () in + if uu____3067 then - let uu____2660 = - let uu____2661 = binary unbox ts in op uu____2661 in - FStar_All.pipe_right uu____2660 box - else mk_default ()) in + let uu____3070 = + let uu____3071 = binary unbox ts in op uu____3071 in + FStar_All.pipe_right uu____3070 box + else mk_default ()) + in let add1 box unbox = - mk_l box FStar_SMTEncoding_Util.mkAdd (binary unbox) in + mk_l box FStar_SMTEncoding_Util.mkAdd (binary unbox) in let sub1 box unbox = - mk_l box FStar_SMTEncoding_Util.mkSub (binary unbox) in + mk_l box FStar_SMTEncoding_Util.mkSub (binary unbox) in let minus1 box unbox = - mk_l box FStar_SMTEncoding_Util.mkMinus (unary unbox) in + mk_l box FStar_SMTEncoding_Util.mkMinus (unary unbox) in let mul1 box unbox nm = - mk_nl box unbox nm FStar_SMTEncoding_Util.mkMul in + mk_nl box unbox nm FStar_SMTEncoding_Util.mkMul in let div1 box unbox nm = - mk_nl box unbox nm FStar_SMTEncoding_Util.mkDiv in + mk_nl box unbox nm FStar_SMTEncoding_Util.mkDiv in let modulus box unbox = - mk_nl box unbox "_mod" FStar_SMTEncoding_Util.mkMod in + mk_nl box unbox "_mod" FStar_SMTEncoding_Util.mkMod in let ops = [(FStar_Parser_Const.op_Addition, (add1 FStar_SMTEncoding_Term.boxInt @@ -831,18 +970,21 @@ and (encode_arith_term : (FStar_Parser_Const.real_op_GTE, (mk_l FStar_SMTEncoding_Term.boxBool FStar_SMTEncoding_Util.mkGTE - (binary FStar_SMTEncoding_Term.unboxReal)))] in - let uu____3096 = - let uu____3106 = + (binary FStar_SMTEncoding_Term.unboxReal)))] + in + let uu____3506 = + let uu____3516 = FStar_List.tryFind - (fun uu____3130 -> - match uu____3130 with - | (l, uu____3141) -> - FStar_Syntax_Syntax.fv_eq_lid head_fv l) ops in - FStar_All.pipe_right uu____3106 FStar_Util.must in - (match uu____3096 with - | (uu____3185, op) -> - let uu____3197 = op arg_tms in (uu____3197, decls)) + (fun uu____3540 -> + match uu____3540 with + | (l,uu____3551) -> + FStar_Syntax_Syntax.fv_eq_lid head_fv l) ops + in + FStar_All.pipe_right uu____3516 FStar_Util.must in + (match uu____3506 with + | (uu____3595,op) -> + let uu____3607 = op arg_tms in (uu____3607, decls)) + and (encode_BitVector_term : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> @@ -852,143 +994,165 @@ and (encode_BitVector_term : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_elt Prims.list)) = - fun env -> - fun head1 -> - fun args_e -> - let uu____3213 = FStar_List.hd args_e in - match uu____3213 with - | (tm_sz, uu____3229) -> - let uu____3238 = uu____3213 in - let sz = getInteger tm_sz.FStar_Syntax_Syntax.n in + fun env -> + fun head1 -> + fun args_e -> + let uu____3623 = FStar_List.hd args_e in + match uu____3623 with + | (tm_sz,uu____3639) -> + let uu____3648 = uu____3623 in + let sz = getInteger tm_sz.FStar_Syntax_Syntax.n in let sz_key = - FStar_Util.format1 "BitVector_%s" (Prims.string_of_int sz) in + FStar_Util.format1 "BitVector_%s" (Prims.string_of_int sz) in let sz_decls = - let t_decls1 = FStar_SMTEncoding_Term.mkBvConstructor sz in - FStar_SMTEncoding_Term.mk_decls "" sz_key t_decls1 [] in - let uu____3249 = + let t_decls1 = FStar_SMTEncoding_Term.mkBvConstructor sz in + FStar_SMTEncoding_Term.mk_decls "" sz_key t_decls1 [] in + let uu____3659 = match ((head1.FStar_Syntax_Syntax.n), args_e) with - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____3275::(sz_arg, uu____3277)::uu____3278::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,uu____3685::(sz_arg,uu____3687)::uu____3688::[]) when (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.bv_uext_lid) && (isInteger sz_arg.FStar_Syntax_Syntax.n) -> - let uu____3345 = - let uu____3346 = FStar_List.tail args_e in - FStar_List.tail uu____3346 in - let uu____3373 = - let uu____3377 = getInteger sz_arg.FStar_Syntax_Syntax.n in - FStar_Pervasives_Native.Some uu____3377 in - (uu____3345, uu____3373) - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____3384::(sz_arg, uu____3386)::uu____3387::[]) when + let uu____3755 = + let uu____3756 = FStar_List.tail args_e in + FStar_List.tail uu____3756 in + let uu____3783 = + let uu____3787 = getInteger sz_arg.FStar_Syntax_Syntax.n + in + FStar_Pervasives_Native.Some uu____3787 in + (uu____3755, uu____3783) + | (FStar_Syntax_Syntax.Tm_fvar + fv,uu____3794::(sz_arg,uu____3796)::uu____3797::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.bv_uext_lid -> - let uu____3454 = - let uu____3456 = FStar_Syntax_Print.term_to_string sz_arg in + let uu____3864 = + let uu____3866 = FStar_Syntax_Print.term_to_string sz_arg + in FStar_Util.format1 - "Not a constant bitvector extend size: %s" uu____3456 in - failwith uu____3454 - | uu____3466 -> - let uu____3481 = FStar_List.tail args_e in - (uu____3481, FStar_Pervasives_Native.None) in - (match uu____3249 with - | (arg_tms, ext_sz) -> - let uu____3508 = encode_args arg_tms env in - (match uu____3508 with - | (arg_tms1, decls) -> + "Not a constant bitvector extend size: %s" uu____3866 + in + failwith uu____3864 + | uu____3876 -> + let uu____3891 = FStar_List.tail args_e in + (uu____3891, FStar_Pervasives_Native.None) + in + (match uu____3659 with + | (arg_tms,ext_sz) -> + let uu____3918 = encode_args arg_tms env in + (match uu____3918 with + | (arg_tms1,decls) -> let head_fv = match head1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> fv - | uu____3529 -> failwith "Impossible" in + | uu____3939 -> failwith "Impossible" in let unary arg_tms2 = - let uu____3541 = FStar_List.hd arg_tms2 in - FStar_SMTEncoding_Term.unboxBitVec sz uu____3541 in + let uu____3951 = FStar_List.hd arg_tms2 in + FStar_SMTEncoding_Term.unboxBitVec sz uu____3951 in let unary_arith arg_tms2 = - let uu____3552 = FStar_List.hd arg_tms2 in - FStar_SMTEncoding_Term.unboxInt uu____3552 in + let uu____3962 = FStar_List.hd arg_tms2 in + FStar_SMTEncoding_Term.unboxInt uu____3962 in let binary arg_tms2 = - let uu____3567 = - let uu____3568 = FStar_List.hd arg_tms2 in - FStar_SMTEncoding_Term.unboxBitVec sz uu____3568 in - let uu____3569 = - let uu____3570 = - let uu____3571 = FStar_List.tl arg_tms2 in - FStar_List.hd uu____3571 in - FStar_SMTEncoding_Term.unboxBitVec sz uu____3570 in - (uu____3567, uu____3569) in + let uu____3977 = + let uu____3978 = FStar_List.hd arg_tms2 in + FStar_SMTEncoding_Term.unboxBitVec sz uu____3978 + in + let uu____3979 = + let uu____3980 = + let uu____3981 = FStar_List.tl arg_tms2 in + FStar_List.hd uu____3981 in + FStar_SMTEncoding_Term.unboxBitVec sz uu____3980 + in + (uu____3977, uu____3979) in let binary_arith arg_tms2 = - let uu____3588 = - let uu____3589 = FStar_List.hd arg_tms2 in - FStar_SMTEncoding_Term.unboxBitVec sz uu____3589 in - let uu____3590 = - let uu____3591 = - let uu____3592 = FStar_List.tl arg_tms2 in - FStar_List.hd uu____3592 in - FStar_SMTEncoding_Term.unboxInt uu____3591 in - (uu____3588, uu____3590) in + let uu____3998 = + let uu____3999 = FStar_List.hd arg_tms2 in + FStar_SMTEncoding_Term.unboxBitVec sz uu____3999 + in + let uu____4000 = + let uu____4001 = + let uu____4002 = FStar_List.tl arg_tms2 in + FStar_List.hd uu____4002 in + FStar_SMTEncoding_Term.unboxInt uu____4001 in + (uu____3998, uu____4000) in let mk_bv op mk_args resBox ts = - let uu____3650 = - let uu____3651 = mk_args ts in op uu____3651 in - FStar_All.pipe_right uu____3650 resBox in + let uu____4060 = + let uu____4061 = mk_args ts in op uu____4061 in + FStar_All.pipe_right uu____4060 resBox in let bv_and = mk_bv FStar_SMTEncoding_Util.mkBvAnd binary - (FStar_SMTEncoding_Term.boxBitVec sz) in + (FStar_SMTEncoding_Term.boxBitVec sz) + in let bv_xor = mk_bv FStar_SMTEncoding_Util.mkBvXor binary - (FStar_SMTEncoding_Term.boxBitVec sz) in + (FStar_SMTEncoding_Term.boxBitVec sz) + in let bv_or = mk_bv FStar_SMTEncoding_Util.mkBvOr binary - (FStar_SMTEncoding_Term.boxBitVec sz) in + (FStar_SMTEncoding_Term.boxBitVec sz) + in let bv_add = mk_bv FStar_SMTEncoding_Util.mkBvAdd binary - (FStar_SMTEncoding_Term.boxBitVec sz) in + (FStar_SMTEncoding_Term.boxBitVec sz) + in let bv_sub = mk_bv FStar_SMTEncoding_Util.mkBvSub binary - (FStar_SMTEncoding_Term.boxBitVec sz) in + (FStar_SMTEncoding_Term.boxBitVec sz) + in let bv_shl = mk_bv (FStar_SMTEncoding_Util.mkBvShl sz) - binary_arith (FStar_SMTEncoding_Term.boxBitVec sz) in + binary_arith (FStar_SMTEncoding_Term.boxBitVec sz) + in let bv_shr = mk_bv (FStar_SMTEncoding_Util.mkBvShr sz) - binary_arith (FStar_SMTEncoding_Term.boxBitVec sz) in + binary_arith (FStar_SMTEncoding_Term.boxBitVec sz) + in let bv_udiv = mk_bv (FStar_SMTEncoding_Util.mkBvUdiv sz) - binary_arith (FStar_SMTEncoding_Term.boxBitVec sz) in + binary_arith (FStar_SMTEncoding_Term.boxBitVec sz) + in let bv_mod = mk_bv (FStar_SMTEncoding_Util.mkBvMod sz) - binary_arith (FStar_SMTEncoding_Term.boxBitVec sz) in + binary_arith (FStar_SMTEncoding_Term.boxBitVec sz) + in let bv_mul = mk_bv (FStar_SMTEncoding_Util.mkBvMul sz) - binary_arith (FStar_SMTEncoding_Term.boxBitVec sz) in + binary_arith (FStar_SMTEncoding_Term.boxBitVec sz) + in let bv_ult = mk_bv FStar_SMTEncoding_Util.mkBvUlt binary - FStar_SMTEncoding_Term.boxBool in + FStar_SMTEncoding_Term.boxBool + in let bv_uext arg_tms2 = - let uu____3783 = - let uu____3788 = + let uu____4193 = + let uu____4198 = match ext_sz with | FStar_Pervasives_Native.Some x -> x - | FStar_Pervasives_Native.None -> - failwith "impossible" in - FStar_SMTEncoding_Util.mkBvUext uu____3788 in - let uu____3797 = - let uu____3802 = - let uu____3804 = + | FStar_Pervasives_Native.None -> + failwith "impossible" + in + FStar_SMTEncoding_Util.mkBvUext uu____4198 in + let uu____4207 = + let uu____4212 = + let uu____4214 = match ext_sz with | FStar_Pervasives_Native.Some x -> x - | FStar_Pervasives_Native.None -> - failwith "impossible" in - sz + uu____3804 in - FStar_SMTEncoding_Term.boxBitVec uu____3802 in - mk_bv uu____3783 unary uu____3797 arg_tms2 in + | FStar_Pervasives_Native.None -> + failwith "impossible" + in + sz + uu____4214 in + FStar_SMTEncoding_Term.boxBitVec uu____4212 in + mk_bv uu____4193 unary uu____4207 arg_tms2 in let to_int1 = mk_bv FStar_SMTEncoding_Util.mkBvToNat unary - FStar_SMTEncoding_Term.boxInt in + FStar_SMTEncoding_Term.boxInt + in let bv_to = mk_bv (FStar_SMTEncoding_Util.mkNatToBv sz) - unary_arith (FStar_SMTEncoding_Term.boxBitVec sz) in + unary_arith (FStar_SMTEncoding_Term.boxBitVec sz) + in let ops = [(FStar_Parser_Const.bv_and_lid, bv_and); (FStar_Parser_Const.bv_xor_lid, bv_xor); @@ -1003,911 +1167,1082 @@ and (encode_BitVector_term : (FStar_Parser_Const.bv_ult_lid, bv_ult); (FStar_Parser_Const.bv_uext_lid, bv_uext); (FStar_Parser_Const.bv_to_nat_lid, to_int1); - (FStar_Parser_Const.nat_to_bv_lid, bv_to)] in - let uu____4044 = - let uu____4054 = + (FStar_Parser_Const.nat_to_bv_lid, bv_to)] in + let uu____4454 = + let uu____4464 = FStar_List.tryFind - (fun uu____4078 -> - match uu____4078 with - | (l, uu____4089) -> + (fun uu____4488 -> + match uu____4488 with + | (l,uu____4499) -> FStar_Syntax_Syntax.fv_eq_lid head_fv l) - ops in - FStar_All.pipe_right uu____4054 FStar_Util.must in - (match uu____4044 with - | (uu____4135, op) -> - let uu____4147 = op arg_tms1 in - (uu____4147, (FStar_List.append sz_decls decls))))) + ops + in + FStar_All.pipe_right uu____4464 FStar_Util.must in + (match uu____4454 with + | (uu____4545,op) -> + let uu____4557 = op arg_tms1 in + (uu____4557, (FStar_List.append sz_decls decls))))) + and (encode_deeply_embedded_quantifier : FStar_Syntax_Syntax.term -> FStar_SMTEncoding_Env.env_t -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) = - fun t -> - fun env -> + fun t -> + fun env -> let env1 = - let uu___540_4157 = env in + let uu___587_4567 = env in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___540_4157.FStar_SMTEncoding_Env.bvar_bindings); + (uu___587_4567.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___540_4157.FStar_SMTEncoding_Env.fvar_bindings); + (uu___587_4567.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___540_4157.FStar_SMTEncoding_Env.depth); + (uu___587_4567.FStar_SMTEncoding_Env.depth); FStar_SMTEncoding_Env.tcenv = - (uu___540_4157.FStar_SMTEncoding_Env.tcenv); + (uu___587_4567.FStar_SMTEncoding_Env.tcenv); FStar_SMTEncoding_Env.warn = - (uu___540_4157.FStar_SMTEncoding_Env.warn); + (uu___587_4567.FStar_SMTEncoding_Env.warn); FStar_SMTEncoding_Env.nolabels = - (uu___540_4157.FStar_SMTEncoding_Env.nolabels); + (uu___587_4567.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = - (uu___540_4157.FStar_SMTEncoding_Env.use_zfuel_name); + (uu___587_4567.FStar_SMTEncoding_Env.use_zfuel_name); FStar_SMTEncoding_Env.encode_non_total_function_typ = - (uu___540_4157.FStar_SMTEncoding_Env.encode_non_total_function_typ); + (uu___587_4567.FStar_SMTEncoding_Env.encode_non_total_function_typ); FStar_SMTEncoding_Env.current_module_name = - (uu___540_4157.FStar_SMTEncoding_Env.current_module_name); + (uu___587_4567.FStar_SMTEncoding_Env.current_module_name); FStar_SMTEncoding_Env.encoding_quantifier = true; FStar_SMTEncoding_Env.global_cache = - (uu___540_4157.FStar_SMTEncoding_Env.global_cache) - } in - let uu____4159 = encode_term t env1 in - match uu____4159 with - | (tm, decls) -> - let vars = FStar_SMTEncoding_Term.free_variables tm in - let valid_tm = FStar_SMTEncoding_Term.mk_Valid tm in + (uu___587_4567.FStar_SMTEncoding_Env.global_cache) + } in + let uu____4569 = encode_term t env1 in + match uu____4569 with + | (tm,decls) -> + let vars = FStar_SMTEncoding_Term.free_variables tm in + let valid_tm = FStar_SMTEncoding_Term.mk_Valid tm in let key = FStar_SMTEncoding_Term.mkForall t.FStar_Syntax_Syntax.pos - ([], vars, valid_tm) in - let tkey_hash = FStar_SMTEncoding_Term.hash_of_term key in + ([], vars, valid_tm) + in + let tkey_hash = FStar_SMTEncoding_Term.hash_of_term key in (match tm.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.App - (uu____4185, + (uu____4595,{ + FStar_SMTEncoding_Term.tm = + FStar_SMTEncoding_Term.FreeV uu____4596; + FStar_SMTEncoding_Term.freevars = uu____4597; + FStar_SMTEncoding_Term.rng = uu____4598;_}:: { FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.FreeV - uu____4186; - FStar_SMTEncoding_Term.freevars = uu____4187; - FStar_SMTEncoding_Term.rng = uu____4188;_}::{ - FStar_SMTEncoding_Term.tm - = - FStar_SMTEncoding_Term.FreeV - uu____4189; - FStar_SMTEncoding_Term.freevars - = - uu____4190; - FStar_SMTEncoding_Term.rng - = - uu____4191;_}::[]) + uu____4599; + FStar_SMTEncoding_Term.freevars = uu____4600; + FStar_SMTEncoding_Term.rng = uu____4601;_}::[]) -> (FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos (FStar_Errors.Warning_QuantifierWithoutPattern, "Not encoding deeply embedded, unguarded quantifier to SMT"); (tm, decls)) - | uu____4237 -> - let uu____4238 = encode_formula t env1 in - (match uu____4238 with - | (phi, decls') -> + | uu____4647 -> + let uu____4648 = encode_formula t env1 in + (match uu____4648 with + | (phi,decls') -> let interp = match vars with | [] -> - let uu____4258 = - let uu____4263 = - FStar_SMTEncoding_Term.mk_Valid tm in - (uu____4263, phi) in - FStar_SMTEncoding_Util.mkIff uu____4258 - | uu____4264 -> - let uu____4265 = - let uu____4276 = - let uu____4277 = - let uu____4282 = - FStar_SMTEncoding_Term.mk_Valid tm in - (uu____4282, phi) in - FStar_SMTEncoding_Util.mkIff uu____4277 in - ([[valid_tm]], vars, uu____4276) in + let uu____4668 = + let uu____4673 = + FStar_SMTEncoding_Term.mk_Valid tm in + (uu____4673, phi) in + FStar_SMTEncoding_Util.mkIff uu____4668 + | uu____4674 -> + let uu____4675 = + let uu____4686 = + let uu____4687 = + let uu____4692 = + FStar_SMTEncoding_Term.mk_Valid tm in + (uu____4692, phi) in + FStar_SMTEncoding_Util.mkIff uu____4687 in + ([[valid_tm]], vars, uu____4686) in FStar_SMTEncoding_Term.mkForall - t.FStar_Syntax_Syntax.pos uu____4265 in + t.FStar_Syntax_Syntax.pos uu____4675 + in let ax = - let uu____4292 = - let uu____4300 = - let uu____4302 = - FStar_Util.digest_of_string tkey_hash in - Prims.op_Hat "l_quant_interp_" uu____4302 in + let uu____4702 = + let uu____4710 = + let uu____4712 = + FStar_Util.digest_of_string tkey_hash in + Prims.op_Hat "l_quant_interp_" uu____4712 in (interp, (FStar_Pervasives_Native.Some "Interpretation of deeply embedded quantifier"), - uu____4300) in - FStar_SMTEncoding_Util.mkAssume uu____4292 in - let uu____4308 = - let uu____4309 = - let uu____4312 = + uu____4710) + in + FStar_SMTEncoding_Util.mkAssume uu____4702 in + let uu____4718 = + let uu____4719 = + let uu____4722 = FStar_SMTEncoding_Term.mk_decls "" tkey_hash - [ax] (FStar_List.append decls decls') in - FStar_List.append decls' uu____4312 in - FStar_List.append decls uu____4309 in - (tm, uu____4308))) + [ax] (FStar_List.append decls decls') + in + FStar_List.append decls' uu____4722 in + FStar_List.append decls uu____4719 in + (tm, uu____4718))) + and (encode_term : FStar_Syntax_Syntax.typ -> FStar_SMTEncoding_Env.env_t -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) = - fun t -> - fun env -> - let t0 = FStar_Syntax_Subst.compress t in - (let uu____4324 = + fun t -> + fun env -> + let t0 = FStar_Syntax_Subst.compress t in + (let uu____4734 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env.FStar_SMTEncoding_Env.tcenv) - (FStar_Options.Other "SMTEncoding") in - if uu____4324 + (FStar_Options.Other "SMTEncoding") + in + if uu____4734 then - let uu____4329 = FStar_Syntax_Print.tag_of_term t in - let uu____4331 = FStar_Syntax_Print.tag_of_term t0 in - let uu____4333 = FStar_Syntax_Print.term_to_string t0 in - FStar_Util.print3 "(%s) (%s) %s\n" uu____4329 uu____4331 - uu____4333 + let uu____4739 = FStar_Syntax_Print.tag_of_term t in + let uu____4741 = FStar_Syntax_Print.tag_of_term t0 in + let uu____4743 = FStar_Syntax_Print.term_to_string t0 in + FStar_Util.print3 "(%s) (%s) %s\n" uu____4739 uu____4741 + uu____4743 else ()); (match t0.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_delayed uu____4342 -> - let uu____4365 = - let uu____4367 = + | FStar_Syntax_Syntax.Tm_delayed uu____4752 -> + let uu____4775 = + let uu____4777 = FStar_All.pipe_left FStar_Range.string_of_range - t.FStar_Syntax_Syntax.pos in - let uu____4370 = FStar_Syntax_Print.tag_of_term t0 in - let uu____4372 = FStar_Syntax_Print.term_to_string t0 in - let uu____4374 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format4 "(%s) Impossible: %s\n%s\n%s\n" uu____4367 - uu____4370 uu____4372 uu____4374 in - failwith uu____4365 - | FStar_Syntax_Syntax.Tm_unknown -> - let uu____4381 = - let uu____4383 = + t.FStar_Syntax_Syntax.pos + in + let uu____4780 = FStar_Syntax_Print.tag_of_term t0 in + let uu____4782 = FStar_Syntax_Print.term_to_string t0 in + let uu____4784 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format4 "(%s) Impossible: %s\n%s\n%s\n" uu____4777 + uu____4780 uu____4782 uu____4784 + in + failwith uu____4775 + | FStar_Syntax_Syntax.Tm_unknown -> + let uu____4791 = + let uu____4793 = FStar_All.pipe_left FStar_Range.string_of_range - t.FStar_Syntax_Syntax.pos in - let uu____4386 = FStar_Syntax_Print.tag_of_term t0 in - let uu____4388 = FStar_Syntax_Print.term_to_string t0 in - let uu____4390 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format4 "(%s) Impossible: %s\n%s\n%s\n" uu____4383 - uu____4386 uu____4388 uu____4390 in - failwith uu____4381 + t.FStar_Syntax_Syntax.pos + in + let uu____4796 = FStar_Syntax_Print.tag_of_term t0 in + let uu____4798 = FStar_Syntax_Print.term_to_string t0 in + let uu____4800 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format4 "(%s) Impossible: %s\n%s\n%s\n" uu____4793 + uu____4796 uu____4798 uu____4800 + in + failwith uu____4791 | FStar_Syntax_Syntax.Tm_lazy i -> - let e = FStar_Syntax_Util.unfold_lazy i in - ((let uu____4400 = + let e = FStar_Syntax_Util.unfold_lazy i in + ((let uu____4810 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env.FStar_SMTEncoding_Env.tcenv) - (FStar_Options.Other "SMTEncoding") in - if uu____4400 + (FStar_Options.Other "SMTEncoding") + in + if uu____4810 then - let uu____4405 = FStar_Syntax_Print.term_to_string t0 in - let uu____4407 = FStar_Syntax_Print.term_to_string e in - FStar_Util.print2 ">> Unfolded (%s) ~> (%s)\n" uu____4405 - uu____4407 + let uu____4815 = FStar_Syntax_Print.term_to_string t0 in + let uu____4817 = FStar_Syntax_Print.term_to_string e in + FStar_Util.print2 ">> Unfolded (%s) ~> (%s)\n" uu____4815 + uu____4817 else ()); encode_term e env) | FStar_Syntax_Syntax.Tm_bvar x -> - let uu____4413 = - let uu____4415 = FStar_Syntax_Print.bv_to_string x in + let uu____4823 = + let uu____4825 = FStar_Syntax_Print.bv_to_string x in FStar_Util.format1 "Impossible: locally nameless; got %s" - uu____4415 in - failwith uu____4413 - | FStar_Syntax_Syntax.Tm_ascribed (t1, (k, uu____4424), uu____4425) -> - let uu____4474 = + uu____4825 + in + failwith uu____4823 + | FStar_Syntax_Syntax.Tm_ascribed (t1,(k,uu____4834),uu____4835) -> + let uu____4884 = match k with | FStar_Util.Inl t2 -> FStar_Syntax_Util.is_unit t2 - | uu____4484 -> false in - if uu____4474 + | uu____4894 -> false in + if uu____4884 then (FStar_SMTEncoding_Term.mk_Term_unit, []) else encode_term t1 env - | FStar_Syntax_Syntax.Tm_quoted (qt, uu____4502) -> + | FStar_Syntax_Syntax.Tm_quoted (qt,uu____4912) -> let tv = - let uu____4508 = - let uu____4515 = FStar_Reflection_Basic.inspect_ln qt in + let uu____4918 = + let uu____4925 = FStar_Reflection_Basic.inspect_ln qt in FStar_Syntax_Embeddings.embed - FStar_Reflection_Embeddings.e_term_view uu____4515 in - uu____4508 t.FStar_Syntax_Syntax.pos + FStar_Reflection_Embeddings.e_term_view uu____4925 + in + uu____4918 t.FStar_Syntax_Syntax.pos FStar_Pervasives_Native.None - FStar_Syntax_Embeddings.id_norm_cb in - ((let uu____4519 = + FStar_Syntax_Embeddings.id_norm_cb + in + ((let uu____4929 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env.FStar_SMTEncoding_Env.tcenv) - (FStar_Options.Other "SMTEncoding") in - if uu____4519 + (FStar_Options.Other "SMTEncoding") + in + if uu____4929 then - let uu____4524 = FStar_Syntax_Print.term_to_string t0 in - let uu____4526 = FStar_Syntax_Print.term_to_string tv in - FStar_Util.print2 ">> Inspected (%s) ~> (%s)\n" uu____4524 - uu____4526 + let uu____4934 = FStar_Syntax_Print.term_to_string t0 in + let uu____4936 = FStar_Syntax_Print.term_to_string tv in + FStar_Util.print2 ">> Inspected (%s) ~> (%s)\n" uu____4934 + uu____4936 else ()); (let t1 = - let uu____4534 = - let uu____4545 = FStar_Syntax_Syntax.as_arg tv in - [uu____4545] in + let uu____4944 = + let uu____4955 = FStar_Syntax_Syntax.as_arg tv in + [uu____4955] in FStar_Syntax_Util.mk_app (FStar_Reflection_Data.refl_constant_term - FStar_Reflection_Data.fstar_refl_pack_ln) uu____4534 in + FStar_Reflection_Data.fstar_refl_pack_ln) uu____4944 + in encode_term t1 env)) | FStar_Syntax_Syntax.Tm_meta - (t1, FStar_Syntax_Syntax.Meta_pattern uu____4571) -> + (t1,FStar_Syntax_Syntax.Meta_pattern uu____4981) -> encode_term t1 - (let uu___612_4597 = env in + (let uu___659_5007 = env in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___612_4597.FStar_SMTEncoding_Env.bvar_bindings); + (uu___659_5007.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___612_4597.FStar_SMTEncoding_Env.fvar_bindings); + (uu___659_5007.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___612_4597.FStar_SMTEncoding_Env.depth); + (uu___659_5007.FStar_SMTEncoding_Env.depth); FStar_SMTEncoding_Env.tcenv = - (uu___612_4597.FStar_SMTEncoding_Env.tcenv); + (uu___659_5007.FStar_SMTEncoding_Env.tcenv); FStar_SMTEncoding_Env.warn = - (uu___612_4597.FStar_SMTEncoding_Env.warn); + (uu___659_5007.FStar_SMTEncoding_Env.warn); FStar_SMTEncoding_Env.nolabels = - (uu___612_4597.FStar_SMTEncoding_Env.nolabels); + (uu___659_5007.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = - (uu___612_4597.FStar_SMTEncoding_Env.use_zfuel_name); + (uu___659_5007.FStar_SMTEncoding_Env.use_zfuel_name); FStar_SMTEncoding_Env.encode_non_total_function_typ = - (uu___612_4597.FStar_SMTEncoding_Env.encode_non_total_function_typ); + (uu___659_5007.FStar_SMTEncoding_Env.encode_non_total_function_typ); FStar_SMTEncoding_Env.current_module_name = - (uu___612_4597.FStar_SMTEncoding_Env.current_module_name); + (uu___659_5007.FStar_SMTEncoding_Env.current_module_name); FStar_SMTEncoding_Env.encoding_quantifier = false; FStar_SMTEncoding_Env.global_cache = - (uu___612_4597.FStar_SMTEncoding_Env.global_cache) + (uu___659_5007.FStar_SMTEncoding_Env.global_cache) }) - | FStar_Syntax_Syntax.Tm_meta (t1, uu____4600) -> encode_term t1 env + | FStar_Syntax_Syntax.Tm_meta (t1,uu____5010) -> encode_term t1 env | FStar_Syntax_Syntax.Tm_name x -> - let t1 = FStar_SMTEncoding_Env.lookup_term_var env x in (t1, []) + let t1 = FStar_SMTEncoding_Env.lookup_term_var env x in (t1, []) | FStar_Syntax_Syntax.Tm_fvar v1 -> - let uu____4608 = head_redex env t in - if uu____4608 - then let uu____4615 = whnf env t in encode_term uu____4615 env + let uu____5018 = head_redex env t in + if uu____5018 + then let uu____5025 = whnf env t in encode_term uu____5025 env else (let fvb = FStar_SMTEncoding_Env.lookup_free_var_name env - v1.FStar_Syntax_Syntax.fv_name in + v1.FStar_Syntax_Syntax.fv_name + in let tok = FStar_SMTEncoding_Env.lookup_free_var env - v1.FStar_Syntax_Syntax.fv_name in - let tkey_hash = FStar_SMTEncoding_Term.hash_of_term tok in - let uu____4622 = + v1.FStar_Syntax_Syntax.fv_name + in + let tkey_hash = FStar_SMTEncoding_Term.hash_of_term tok in + let uu____5032 = if fvb.FStar_SMTEncoding_Env.smt_arity > (Prims.parse_int "0") then match tok.FStar_SMTEncoding_Term.tm with - | FStar_SMTEncoding_Term.FreeV uu____4646 -> + | FStar_SMTEncoding_Term.FreeV uu____5056 -> let sym_name = - let uu____4657 = - FStar_Util.digest_of_string tkey_hash in - Prims.op_Hat "@kick_partial_app_" uu____4657 in - let uu____4660 = - let uu____4663 = - let uu____4664 = - let uu____4672 = - FStar_SMTEncoding_Term.kick_partial_app tok in - (uu____4672, + let uu____5067 = + FStar_Util.digest_of_string tkey_hash in + Prims.op_Hat "@kick_partial_app_" uu____5067 in + let uu____5070 = + let uu____5073 = + let uu____5074 = + let uu____5082 = + FStar_SMTEncoding_Term.kick_partial_app tok in + (uu____5082, (FStar_Pervasives_Native.Some - "kick_partial_app"), sym_name) in - FStar_SMTEncoding_Util.mkAssume uu____4664 in - [uu____4663] in - (uu____4660, sym_name) - | FStar_SMTEncoding_Term.App (uu____4679, []) -> + "kick_partial_app"), sym_name) + in + FStar_SMTEncoding_Util.mkAssume uu____5074 in + [uu____5073] in + (uu____5070, sym_name) + | FStar_SMTEncoding_Term.App (uu____5089,[]) -> let sym_name = - let uu____4684 = - FStar_Util.digest_of_string tkey_hash in - Prims.op_Hat "@kick_partial_app_" uu____4684 in - let uu____4687 = - let uu____4690 = - let uu____4691 = - let uu____4699 = - FStar_SMTEncoding_Term.kick_partial_app tok in - (uu____4699, + let uu____5094 = + FStar_Util.digest_of_string tkey_hash in + Prims.op_Hat "@kick_partial_app_" uu____5094 in + let uu____5097 = + let uu____5100 = + let uu____5101 = + let uu____5109 = + FStar_SMTEncoding_Term.kick_partial_app tok in + (uu____5109, (FStar_Pervasives_Native.Some - "kick_partial_app"), sym_name) in - FStar_SMTEncoding_Util.mkAssume uu____4691 in - [uu____4690] in - (uu____4687, sym_name) - | uu____4706 -> ([], "") - else ([], "") in - match uu____4622 with - | (aux_decls, sym_name) -> - let uu____4729 = + "kick_partial_app"), sym_name) + in + FStar_SMTEncoding_Util.mkAssume uu____5101 in + [uu____5100] in + (uu____5097, sym_name) + | uu____5116 -> ([], "") + else ([], "") in + match uu____5032 with + | (aux_decls,sym_name) -> + let uu____5139 = if aux_decls = [] then FStar_All.pipe_right [] FStar_SMTEncoding_Term.mk_decls_trivial else FStar_SMTEncoding_Term.mk_decls sym_name tkey_hash - aux_decls [] in - (tok, uu____4729)) - | FStar_Syntax_Syntax.Tm_type uu____4737 -> + aux_decls [] + in + (tok, uu____5139)) + | FStar_Syntax_Syntax.Tm_type uu____5147 -> (FStar_SMTEncoding_Term.mk_Term_type, []) - | FStar_Syntax_Syntax.Tm_uinst (t1, uu____4739) -> encode_term t1 env + | FStar_Syntax_Syntax.Tm_uinst (t1,uu____5149) -> encode_term t1 env | FStar_Syntax_Syntax.Tm_constant c -> encode_const c env - | FStar_Syntax_Syntax.Tm_arrow (binders, c) -> - let module_name = env.FStar_SMTEncoding_Env.current_module_name in - let uu____4769 = FStar_Syntax_Subst.open_comp binders c in - (match uu____4769 with - | (binders1, res) -> - let uu____4780 = + | FStar_Syntax_Syntax.Tm_arrow (binders,c) -> + let module_name = env.FStar_SMTEncoding_Env.current_module_name + in + let uu____5179 = FStar_Syntax_Subst.open_comp binders c in + (match uu____5179 with + | (binders1,res) -> + let uu____5190 = (env.FStar_SMTEncoding_Env.encode_non_total_function_typ && (FStar_Syntax_Util.is_pure_or_ghost_comp res)) - || (FStar_Syntax_Util.is_tot_or_gtot_comp res) in - if uu____4780 + || (FStar_Syntax_Util.is_tot_or_gtot_comp res) + in + if uu____5190 then - let uu____4787 = - encode_binders FStar_Pervasives_Native.None binders1 env in - (match uu____4787 with - | (vars, guards, env', decls, uu____4812) -> + let uu____5197 = + encode_binders FStar_Pervasives_Native.None binders1 env + in + (match uu____5197 with + | (vars,guards_l,env',decls,uu____5222) -> let fsym = - let uu____4826 = - let uu____4832 = + let uu____5236 = + let uu____5242 = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.fresh - module_name "f" in - (uu____4832, FStar_SMTEncoding_Term.Term_sort) in - FStar_SMTEncoding_Term.mk_fv uu____4826 in - let f = FStar_SMTEncoding_Util.mkFreeV fsym in - let app = mk_Apply f vars in - let uu____4838 = + module_name "f" + in + (uu____5242, FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.mk_fv uu____5236 in + let f = FStar_SMTEncoding_Util.mkFreeV fsym in + let app = mk_Apply f vars in + let uu____5248 = FStar_TypeChecker_Util.pure_or_ghost_pre_and_post - (let uu___666_4847 = - env.FStar_SMTEncoding_Env.tcenv in + (let uu___713_5257 = + env.FStar_SMTEncoding_Env.tcenv in { FStar_TypeChecker_Env.solver = - (uu___666_4847.FStar_TypeChecker_Env.solver); + (uu___713_5257.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___666_4847.FStar_TypeChecker_Env.range); + (uu___713_5257.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___666_4847.FStar_TypeChecker_Env.curmodule); + (uu___713_5257.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___666_4847.FStar_TypeChecker_Env.gamma); + (uu___713_5257.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___666_4847.FStar_TypeChecker_Env.gamma_sig); + (uu___713_5257.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___666_4847.FStar_TypeChecker_Env.gamma_cache); + (uu___713_5257.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___666_4847.FStar_TypeChecker_Env.modules); + (uu___713_5257.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___666_4847.FStar_TypeChecker_Env.expected_typ); + (uu___713_5257.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___666_4847.FStar_TypeChecker_Env.sigtab); + (uu___713_5257.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___666_4847.FStar_TypeChecker_Env.attrtab); + (uu___713_5257.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___666_4847.FStar_TypeChecker_Env.is_pattern); + (uu___713_5257.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___666_4847.FStar_TypeChecker_Env.instantiate_imp); + (uu___713_5257.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___666_4847.FStar_TypeChecker_Env.effects); + (uu___713_5257.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___666_4847.FStar_TypeChecker_Env.generalize); + (uu___713_5257.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___666_4847.FStar_TypeChecker_Env.letrecs); + (uu___713_5257.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___666_4847.FStar_TypeChecker_Env.top_level); + (uu___713_5257.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___666_4847.FStar_TypeChecker_Env.check_uvars); + (uu___713_5257.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___666_4847.FStar_TypeChecker_Env.use_eq); + (uu___713_5257.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___666_4847.FStar_TypeChecker_Env.is_iface); + (uu___713_5257.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___666_4847.FStar_TypeChecker_Env.admit); + (uu___713_5257.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___666_4847.FStar_TypeChecker_Env.lax_universes); + (uu___713_5257.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___666_4847.FStar_TypeChecker_Env.phase1); + (uu___713_5257.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___666_4847.FStar_TypeChecker_Env.failhard); + (uu___713_5257.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___666_4847.FStar_TypeChecker_Env.nosynth); + (uu___713_5257.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___666_4847.FStar_TypeChecker_Env.uvar_subtyping); + (uu___713_5257.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___666_4847.FStar_TypeChecker_Env.tc_term); + (uu___713_5257.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___666_4847.FStar_TypeChecker_Env.type_of); + (uu___713_5257.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___666_4847.FStar_TypeChecker_Env.universe_of); + (uu___713_5257.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___666_4847.FStar_TypeChecker_Env.check_type_of); + (uu___713_5257.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___666_4847.FStar_TypeChecker_Env.use_bv_sorts); + (uu___713_5257.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___666_4847.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___713_5257.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___666_4847.FStar_TypeChecker_Env.normalized_eff_names); + (uu___713_5257.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___666_4847.FStar_TypeChecker_Env.fv_delta_depths); + (uu___713_5257.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___666_4847.FStar_TypeChecker_Env.proof_ns); + (uu___713_5257.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___666_4847.FStar_TypeChecker_Env.synth_hook); + (uu___713_5257.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___666_4847.FStar_TypeChecker_Env.splice); + (uu___713_5257.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___666_4847.FStar_TypeChecker_Env.postprocess); + (uu___713_5257.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___666_4847.FStar_TypeChecker_Env.is_native_tactic); + (uu___713_5257.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___666_4847.FStar_TypeChecker_Env.identifier_info); + (uu___713_5257.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___666_4847.FStar_TypeChecker_Env.tc_hooks); + (uu___713_5257.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___666_4847.FStar_TypeChecker_Env.dsenv); + (uu___713_5257.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___666_4847.FStar_TypeChecker_Env.nbe) - }) res in - (match uu____4838 with - | (pre_opt, res_t) -> - let uu____4859 = + (uu___713_5257.FStar_TypeChecker_Env.nbe) + }) res + in + (match uu____5248 with + | (pre_opt,res_t) -> + let uu____5269 = encode_term_pred FStar_Pervasives_Native.None - res_t env' app in - (match uu____4859 with - | (res_pred, decls') -> - let uu____4870 = + res_t env' app + in + (match uu____5269 with + | (res_pred,decls') -> + let uu____5280 = match pre_opt with - | FStar_Pervasives_Native.None -> - let uu____4883 = + | FStar_Pervasives_Native.None -> + let uu____5293 = FStar_SMTEncoding_Util.mk_and_l - guards in - (uu____4883, []) + guards_l + in + (uu____5293, []) | FStar_Pervasives_Native.Some pre -> - let uu____4887 = - encode_formula pre env' in - (match uu____4887 with - | (guard, decls0) -> - let uu____4900 = + let uu____5297 = + encode_formula pre env' in + (match uu____5297 with + | (guard,decls0) -> + let uu____5310 = FStar_SMTEncoding_Util.mk_and_l - (guard :: guards) in - (uu____4900, decls0)) in - (match uu____4870 with - | (guards1, guard_decls) -> + (guard :: guards_l) + in + (uu____5310, decls0)) + in + (match uu____5280 with + | (guards,guard_decls) -> + let is_pure = + let uu____5325 = + FStar_All.pipe_right res + (FStar_TypeChecker_Normalize.ghost_to_pure + env.FStar_SMTEncoding_Env.tcenv) + in + FStar_All.pipe_right uu____5325 + FStar_Syntax_Util.is_pure_comp + in let t_interp = - let uu____4914 = - let uu____4925 = + let uu____5334 = + let uu____5345 = FStar_SMTEncoding_Util.mkImp - (guards1, res_pred) in - ([[app]], vars, uu____4925) in + (guards, res_pred) + in + ([[app]], vars, uu____5345) in FStar_SMTEncoding_Term.mkForall t.FStar_Syntax_Syntax.pos - uu____4914 in + uu____5334 + in + let t_interp1 = + let tot_fun_axioms = + isTotFun_axioms + t.FStar_Syntax_Syntax.pos f vars + guards_l is_pure + in + FStar_SMTEncoding_Util.mkAnd + (t_interp, tot_fun_axioms) + in let cvars = - let uu____4945 = + let uu____5367 = FStar_SMTEncoding_Term.free_variables - t_interp in - FStar_All.pipe_right uu____4945 + t_interp1 + in + FStar_All.pipe_right uu____5367 (FStar_List.filter - (fun x -> - let uu____4964 = + (fun x -> + let uu____5386 = FStar_SMTEncoding_Term.fv_name - x in - let uu____4966 = + x + in + let uu____5388 = FStar_SMTEncoding_Term.fv_name - fsym in - uu____4964 <> uu____4966)) in + fsym + in + uu____5386 <> uu____5388)) + in let tkey = FStar_SMTEncoding_Term.mkForall t.FStar_Syntax_Syntax.pos - ([], (fsym :: cvars), t_interp) in + ([], (fsym :: cvars), t_interp1) + in + let prefix1 = + if is_pure + then "Tm_arrow_" + else "Tm_ghost_arrow_" in let tkey_hash = - FStar_SMTEncoding_Term.hash_of_term - tkey in + let uu____5416 = + FStar_SMTEncoding_Term.hash_of_term + tkey + in + Prims.op_Hat prefix1 uu____5416 in let tsym = - let uu____4988 = + let uu____5420 = FStar_Util.digest_of_string - tkey_hash in - Prims.op_Hat "Tm_arrow_" uu____4988 in + tkey_hash + in + Prims.op_Hat prefix1 uu____5420 in let cvar_sorts = FStar_List.map FStar_SMTEncoding_Term.fv_sort - cvars in + cvars + in let caption = - let uu____5003 = - FStar_Options.log_queries () in - if uu____5003 + let uu____5434 = + FStar_Options.log_queries () in + if uu____5434 then - let uu____5006 = - let uu____5008 = + let uu____5437 = + let uu____5439 = FStar_TypeChecker_Normalize.term_to_string env.FStar_SMTEncoding_Env.tcenv - t0 in + t0 + in FStar_Util.replace_char - uu____5008 10 32 in + uu____5439 10 32 + in FStar_Pervasives_Native.Some - uu____5006 - else FStar_Pervasives_Native.None in + uu____5437 + else FStar_Pervasives_Native.None in let tdecl = FStar_SMTEncoding_Term.DeclFun (tsym, cvar_sorts, FStar_SMTEncoding_Term.Term_sort, - caption) in + caption) + in let t1 = - let uu____5021 = - let uu____5029 = + let uu____5452 = + let uu____5460 = FStar_List.map FStar_SMTEncoding_Util.mkFreeV - cvars in - (tsym, uu____5029) in + cvars + in + (tsym, uu____5460) in FStar_SMTEncoding_Util.mkApp - uu____5021 in + uu____5452 + in let t_has_kind = FStar_SMTEncoding_Term.mk_HasType t1 - FStar_SMTEncoding_Term.mk_Term_type in + FStar_SMTEncoding_Term.mk_Term_type + in let k_assumption = let a_name = - Prims.op_Hat "kinding_" tsym in - let uu____5048 = - let uu____5056 = + Prims.op_Hat "kinding_" tsym in + let uu____5479 = + let uu____5487 = FStar_SMTEncoding_Term.mkForall t0.FStar_Syntax_Syntax.pos ([[t_has_kind]], cvars, - t_has_kind) in - (uu____5056, + t_has_kind) + in + (uu____5487, (FStar_Pervasives_Native.Some - a_name), a_name) in + a_name), a_name) + in FStar_SMTEncoding_Util.mkAssume - uu____5048 in + uu____5479 + in let f_has_t = FStar_SMTEncoding_Term.mk_HasType f - t1 in + t1 + in let f_has_t_z = FStar_SMTEncoding_Term.mk_HasTypeZ f - t1 in + t1 + in let pre_typing = let a_name = - Prims.op_Hat "pre_typing_" tsym in - let uu____5073 = - let uu____5081 = - let uu____5082 = - let uu____5093 = - let uu____5094 = - let uu____5099 = - let uu____5100 = + Prims.op_Hat "pre_typing_" tsym in + let uu____5504 = + let uu____5512 = + let uu____5513 = + let uu____5524 = + let uu____5525 = + let uu____5530 = + let uu____5531 = FStar_SMTEncoding_Term.mk_PreType - f in + f + in FStar_SMTEncoding_Term.mk_tester - "Tm_arrow" uu____5100 in - (f_has_t, uu____5099) in + "Tm_arrow" uu____5531 + in + (f_has_t, uu____5530) in FStar_SMTEncoding_Util.mkImp - uu____5094 in + uu____5525 + in ([[f_has_t]], (fsym :: cvars), - uu____5093) in - let uu____5118 = + uu____5524) + in + let uu____5549 = mkForall_fuel module_name - t0.FStar_Syntax_Syntax.pos in - uu____5118 uu____5082 in - (uu____5081, + t0.FStar_Syntax_Syntax.pos + in + uu____5549 uu____5513 in + (uu____5512, (FStar_Pervasives_Native.Some "pre-typing for functions"), (Prims.op_Hat module_name - (Prims.op_Hat "_" a_name))) in + (Prims.op_Hat "_" a_name))) + in FStar_SMTEncoding_Util.mkAssume - uu____5073 in - let t_interp1 = + uu____5504 + in + let t_interp2 = let a_name = - Prims.op_Hat "interpretation_" tsym in - let uu____5141 = - let uu____5149 = - let uu____5150 = - let uu____5161 = + Prims.op_Hat "interpretation_" tsym + in + let uu____5572 = + let uu____5580 = + let uu____5581 = + let uu____5592 = FStar_SMTEncoding_Util.mkIff - (f_has_t_z, t_interp) in + (f_has_t_z, t_interp1) + in ([[f_has_t_z]], (fsym :: - cvars), uu____5161) in + cvars), uu____5592) + in FStar_SMTEncoding_Term.mkForall t0.FStar_Syntax_Syntax.pos - uu____5150 in - (uu____5149, + uu____5581 + in + (uu____5580, (FStar_Pervasives_Native.Some a_name), (Prims.op_Hat module_name - (Prims.op_Hat "_" a_name))) in + (Prims.op_Hat "_" a_name))) + in FStar_SMTEncoding_Util.mkAssume - uu____5141 in + uu____5572 + in let t_decls1 = [tdecl; k_assumption; pre_typing; - t_interp1] in - let uu____5184 = - let uu____5185 = - let uu____5188 = - let uu____5191 = + t_interp2] in + let uu____5615 = + let uu____5616 = + let uu____5619 = + let uu____5622 = FStar_SMTEncoding_Term.mk_decls tsym tkey_hash t_decls1 (FStar_List.append decls (FStar_List.append decls' - guard_decls)) in + guard_decls)) + in FStar_List.append guard_decls - uu____5191 in - FStar_List.append decls' uu____5188 in - FStar_List.append decls uu____5185 in - (t1, uu____5184))))) + uu____5622 + in + FStar_List.append decls' uu____5619 + in + FStar_List.append decls uu____5616 + in + (t1, uu____5615))))) else (let tsym = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.fresh - module_name "Non_total_Tm_arrow" in + module_name "Non_total_Tm_arrow" + in let tdecl = FStar_SMTEncoding_Term.DeclFun (tsym, [], FStar_SMTEncoding_Term.Term_sort, - FStar_Pervasives_Native.None) in - let t1 = FStar_SMTEncoding_Util.mkApp (tsym, []) in + FStar_Pervasives_Native.None) + in + let t1 = FStar_SMTEncoding_Util.mkApp (tsym, []) in let t_kinding = let a_name = - Prims.op_Hat "non_total_function_typing_" tsym in - let uu____5212 = - let uu____5220 = + Prims.op_Hat "non_total_function_typing_" tsym in + let uu____5643 = + let uu____5651 = FStar_SMTEncoding_Term.mk_HasType t1 - FStar_SMTEncoding_Term.mk_Term_type in - (uu____5220, + FStar_SMTEncoding_Term.mk_Term_type + in + (uu____5651, (FStar_Pervasives_Native.Some - "Typing for non-total arrows"), a_name) in - FStar_SMTEncoding_Util.mkAssume uu____5212 in + "Typing for non-total arrows"), a_name) + in + FStar_SMTEncoding_Util.mkAssume uu____5643 in let fsym = FStar_SMTEncoding_Term.mk_fv - ("f", FStar_SMTEncoding_Term.Term_sort) in - let f = FStar_SMTEncoding_Util.mkFreeV fsym in - let f_has_t = FStar_SMTEncoding_Term.mk_HasType f t1 in + ("f", FStar_SMTEncoding_Term.Term_sort) + in + let f = FStar_SMTEncoding_Util.mkFreeV fsym in + let f_has_t = FStar_SMTEncoding_Term.mk_HasType f t1 in let t_interp = - let a_name = Prims.op_Hat "pre_typing_" tsym in - let uu____5233 = - let uu____5241 = - let uu____5242 = - let uu____5253 = - let uu____5254 = - let uu____5259 = - let uu____5260 = - FStar_SMTEncoding_Term.mk_PreType f in + let a_name = Prims.op_Hat "pre_typing_" tsym in + let uu____5664 = + let uu____5672 = + let uu____5673 = + let uu____5684 = + let uu____5685 = + let uu____5690 = + let uu____5691 = + FStar_SMTEncoding_Term.mk_PreType f in FStar_SMTEncoding_Term.mk_tester "Tm_arrow" - uu____5260 in - (f_has_t, uu____5259) in - FStar_SMTEncoding_Util.mkImp uu____5254 in - ([[f_has_t]], [fsym], uu____5253) in - let uu____5286 = + uu____5691 + in + (f_has_t, uu____5690) in + FStar_SMTEncoding_Util.mkImp uu____5685 in + ([[f_has_t]], [fsym], uu____5684) in + let uu____5717 = mkForall_fuel module_name - t0.FStar_Syntax_Syntax.pos in - uu____5286 uu____5242 in - (uu____5241, (FStar_Pervasives_Native.Some a_name), - a_name) in - FStar_SMTEncoding_Util.mkAssume uu____5233 in - let uu____5303 = + t0.FStar_Syntax_Syntax.pos + in + uu____5717 uu____5673 in + (uu____5672, (FStar_Pervasives_Native.Some a_name), + a_name) + in + FStar_SMTEncoding_Util.mkAssume uu____5664 in + let uu____5734 = FStar_All.pipe_right [tdecl; t_kinding; t_interp] - FStar_SMTEncoding_Term.mk_decls_trivial in - (t1, uu____5303))) - | FStar_Syntax_Syntax.Tm_refine uu____5306 -> - let uu____5313 = - let uu____5318 = - FStar_TypeChecker_Normalize.normalize_refinement - [FStar_TypeChecker_Env.Weak; - FStar_TypeChecker_Env.HNF; - FStar_TypeChecker_Env.EraseUniverses] - env.FStar_SMTEncoding_Env.tcenv t0 in - match uu____5318 with - | { - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_refine (x, f); - FStar_Syntax_Syntax.pos = uu____5325; - FStar_Syntax_Syntax.vars = uu____5326;_} -> - let uu____5333 = + FStar_SMTEncoding_Term.mk_decls_trivial + in + (t1, uu____5734))) + | FStar_Syntax_Syntax.Tm_refine uu____5737 -> + let uu____5744 = + let steps = + [FStar_TypeChecker_Env.Weak; + FStar_TypeChecker_Env.HNF; + FStar_TypeChecker_Env.EraseUniverses] in + let uu____5754 = + FStar_TypeChecker_Normalize.normalize_refinement steps + env.FStar_SMTEncoding_Env.tcenv t0 + in + match uu____5754 with + | { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_refine (x,f); + FStar_Syntax_Syntax.pos = uu____5763; + FStar_Syntax_Syntax.vars = uu____5764;_} -> + let uu____5771 = FStar_Syntax_Subst.open_term - [(x, FStar_Pervasives_Native.None)] f in - (match uu____5333 with - | (b, f1) -> - let uu____5358 = - let uu____5359 = FStar_List.hd b in - FStar_Pervasives_Native.fst uu____5359 in - (uu____5358, f1)) - | uu____5374 -> failwith "impossible" in - (match uu____5313 with - | (x, f) -> - let uu____5386 = encode_term x.FStar_Syntax_Syntax.sort env in - (match uu____5386 with - | (base_t, decls) -> - let uu____5397 = - FStar_SMTEncoding_Env.gen_term_var env x in - (match uu____5397 with - | (x1, xtm, env') -> - let uu____5414 = encode_formula f env' in - (match uu____5414 with - | (refinement, decls') -> - let uu____5425 = + [(x, FStar_Pervasives_Native.None)] f + in + (match uu____5771 with + | (b,f1) -> + let uu____5798 = + let uu____5799 = FStar_List.hd b in + FStar_Pervasives_Native.fst uu____5799 in + (uu____5798, f1)) + | uu____5816 -> failwith "impossible" in + (match uu____5744 with + | (x,f) -> + let uu____5834 = encode_term x.FStar_Syntax_Syntax.sort env + in + (match uu____5834 with + | (base_t,decls) -> + let uu____5845 = + FStar_SMTEncoding_Env.gen_term_var env x in + (match uu____5845 with + | (x1,xtm,env') -> + let uu____5862 = encode_formula f env' in + (match uu____5862 with + | (refinement,decls') -> + let uu____5873 = FStar_SMTEncoding_Env.fresh_fvar env.FStar_SMTEncoding_Env.current_module_name - "f" FStar_SMTEncoding_Term.Fuel_sort in - (match uu____5425 with - | (fsym, fterm) -> + "f" FStar_SMTEncoding_Term.Fuel_sort + in + (match uu____5873 with + | (fsym,fterm) -> let tm_has_type_with_fuel = FStar_SMTEncoding_Term.mk_HasTypeWithFuel (FStar_Pervasives_Native.Some fterm) - xtm base_t in + xtm base_t + in let encoding = FStar_SMTEncoding_Util.mkAnd - (tm_has_type_with_fuel, refinement) in + (tm_has_type_with_fuel, refinement) + in let cvars = - let uu____5453 = - let uu____5464 = + let uu____5901 = + let uu____5912 = FStar_SMTEncoding_Term.free_variables - refinement in - let uu____5475 = + refinement + in + let uu____5923 = FStar_SMTEncoding_Term.free_variables - tm_has_type_with_fuel in - FStar_List.append uu____5464 - uu____5475 in + tm_has_type_with_fuel + in + FStar_List.append uu____5912 + uu____5923 + in FStar_Util.remove_dups FStar_SMTEncoding_Term.fv_eq - uu____5453 in + uu____5901 + in let cvars1 = FStar_All.pipe_right cvars (FStar_List.filter - (fun y -> - (let uu____5529 = + (fun y -> + (let uu____5977 = FStar_SMTEncoding_Term.fv_name - y in - uu____5529 <> x1) && - (let uu____5533 = + y + in + uu____5977 <> x1) && + (let uu____5981 = FStar_SMTEncoding_Term.fv_name - y in - uu____5533 <> fsym))) in + y + in + uu____5981 <> fsym))) + in let xfv = FStar_SMTEncoding_Term.mk_fv (x1, - FStar_SMTEncoding_Term.Term_sort) in + FStar_SMTEncoding_Term.Term_sort) + in let ffv = FStar_SMTEncoding_Term.mk_fv (fsym, - FStar_SMTEncoding_Term.Fuel_sort) in + FStar_SMTEncoding_Term.Fuel_sort) + in let tkey = FStar_SMTEncoding_Term.mkForall t0.FStar_Syntax_Syntax.pos ([], (ffv :: xfv :: cvars1), - encoding) in + encoding) + in let tkey_hash = FStar_SMTEncoding_Term.hash_of_term - tkey in - let module_name = - env.FStar_SMTEncoding_Env.current_module_name in - let tsym = - let uu____5569 = - FStar_Util.digest_of_string tkey_hash in - Prims.op_Hat "Tm_refine_" uu____5569 in - let cvar_sorts = - FStar_List.map - FStar_SMTEncoding_Term.fv_sort cvars1 in - let tdecl = - FStar_SMTEncoding_Term.DeclFun - (tsym, cvar_sorts, - FStar_SMTEncoding_Term.Term_sort, - FStar_Pervasives_Native.None) in - let t1 = - let uu____5589 = - let uu____5597 = - FStar_List.map - FStar_SMTEncoding_Util.mkFreeV - cvars1 in - (tsym, uu____5597) in - FStar_SMTEncoding_Util.mkApp uu____5589 in - let x_has_base_t = - FStar_SMTEncoding_Term.mk_HasType xtm - base_t in - let x_has_t = - FStar_SMTEncoding_Term.mk_HasTypeWithFuel - (FStar_Pervasives_Native.Some fterm) - xtm t1 in - let t_has_kind = - FStar_SMTEncoding_Term.mk_HasType t1 - FStar_SMTEncoding_Term.mk_Term_type in - let t_haseq_base = - FStar_SMTEncoding_Term.mk_haseq base_t in - let t_haseq_ref = - FStar_SMTEncoding_Term.mk_haseq t1 in - let t_haseq1 = - let uu____5617 = - let uu____5625 = - let uu____5626 = - let uu____5637 = - FStar_SMTEncoding_Util.mkIff - (t_haseq_ref, t_haseq_base) in - ([[t_haseq_ref]], cvars1, - uu____5637) in - FStar_SMTEncoding_Term.mkForall - t0.FStar_Syntax_Syntax.pos - uu____5626 in - (uu____5625, - (FStar_Pervasives_Native.Some - (Prims.op_Hat "haseq for " tsym)), - (Prims.op_Hat "haseq" tsym)) in - FStar_SMTEncoding_Util.mkAssume - uu____5617 in - let t_kinding = - let uu____5651 = - let uu____5659 = - FStar_SMTEncoding_Term.mkForall - t0.FStar_Syntax_Syntax.pos - ([[t_has_kind]], cvars1, - t_has_kind) in - (uu____5659, - (FStar_Pervasives_Native.Some - "refinement kinding"), - (Prims.op_Hat "refinement_kinding_" - tsym)) in - FStar_SMTEncoding_Util.mkAssume - uu____5651 in - let t_interp = - let uu____5673 = - let uu____5681 = - let uu____5682 = - let uu____5693 = - FStar_SMTEncoding_Util.mkIff - (x_has_t, encoding) in - ([[x_has_t]], (ffv :: xfv :: - cvars1), uu____5693) in - FStar_SMTEncoding_Term.mkForall - t0.FStar_Syntax_Syntax.pos - uu____5682 in - (uu____5681, - (FStar_Pervasives_Native.Some - "refinement_interpretation"), - (Prims.op_Hat - "refinement_interpretation_" - tsym)) in - FStar_SMTEncoding_Util.mkAssume - uu____5673 in - let t_decls1 = - [tdecl; t_kinding; t_interp; t_haseq1] in - let uu____5725 = - let uu____5726 = - let uu____5729 = - FStar_SMTEncoding_Term.mk_decls - tsym tkey_hash t_decls1 - (FStar_List.append decls decls') in - FStar_List.append decls' uu____5729 in - FStar_List.append decls uu____5726 in - (t1, uu____5725)))))) - | FStar_Syntax_Syntax.Tm_uvar (uv, uu____5733) -> + tkey + in + ((let uu____6014 = + FStar_TypeChecker_Env.debug + env.FStar_SMTEncoding_Env.tcenv + (FStar_Options.Other "SMTEncoding") + in + if uu____6014 + then + let uu____6018 = + FStar_Syntax_Print.term_to_string f + in + let uu____6020 = + FStar_Util.digest_of_string + tkey_hash + in + FStar_Util.print3 + "Encoding Tm_refine %s with tkey_hash %s and digest %s\n" + uu____6018 tkey_hash uu____6020 + else ()); + (let tsym = + let uu____6027 = + FStar_Util.digest_of_string + tkey_hash + in + Prims.op_Hat "Tm_refine_" uu____6027 + in + let cvar_sorts = + FStar_List.map + FStar_SMTEncoding_Term.fv_sort + cvars1 + in + let tdecl = + FStar_SMTEncoding_Term.DeclFun + (tsym, cvar_sorts, + FStar_SMTEncoding_Term.Term_sort, + FStar_Pervasives_Native.None) + in + let t1 = + let uu____6047 = + let uu____6055 = + FStar_List.map + FStar_SMTEncoding_Util.mkFreeV + cvars1 + in + (tsym, uu____6055) in + FStar_SMTEncoding_Util.mkApp + uu____6047 + in + let x_has_base_t = + FStar_SMTEncoding_Term.mk_HasType xtm + base_t + in + let x_has_t = + FStar_SMTEncoding_Term.mk_HasTypeWithFuel + (FStar_Pervasives_Native.Some fterm) + xtm t1 + in + let t_has_kind = + FStar_SMTEncoding_Term.mk_HasType t1 + FStar_SMTEncoding_Term.mk_Term_type + in + let t_haseq_base = + FStar_SMTEncoding_Term.mk_haseq + base_t + in + let t_haseq_ref = + FStar_SMTEncoding_Term.mk_haseq t1 + in + let t_haseq1 = + let uu____6075 = + let uu____6083 = + let uu____6084 = + let uu____6095 = + FStar_SMTEncoding_Util.mkIff + (t_haseq_ref, t_haseq_base) + in + ([[t_haseq_ref]], cvars1, + uu____6095) + in + FStar_SMTEncoding_Term.mkForall + t0.FStar_Syntax_Syntax.pos + uu____6084 + in + (uu____6083, + (FStar_Pervasives_Native.Some + (Prims.op_Hat "haseq for " + tsym)), + (Prims.op_Hat "haseq" tsym)) + in + FStar_SMTEncoding_Util.mkAssume + uu____6075 + in + let t_kinding = + let uu____6109 = + let uu____6117 = + FStar_SMTEncoding_Term.mkForall + t0.FStar_Syntax_Syntax.pos + ([[t_has_kind]], cvars1, + t_has_kind) + in + (uu____6117, + (FStar_Pervasives_Native.Some + "refinement kinding"), + (Prims.op_Hat + "refinement_kinding_" tsym)) + in + FStar_SMTEncoding_Util.mkAssume + uu____6109 + in + let t_interp = + let uu____6131 = + let uu____6139 = + let uu____6140 = + let uu____6151 = + FStar_SMTEncoding_Util.mkIff + (x_has_t, encoding) + in + ([[x_has_t]], (ffv :: xfv :: + cvars1), uu____6151) + in + FStar_SMTEncoding_Term.mkForall + t0.FStar_Syntax_Syntax.pos + uu____6140 + in + (uu____6139, + (FStar_Pervasives_Native.Some + "refinement_interpretation"), + (Prims.op_Hat + "refinement_interpretation_" + tsym)) + in + FStar_SMTEncoding_Util.mkAssume + uu____6131 + in + let t_decls1 = + [tdecl; + t_kinding; + t_interp; + t_haseq1] in + let uu____6183 = + let uu____6184 = + let uu____6187 = + FStar_SMTEncoding_Term.mk_decls + tsym tkey_hash t_decls1 + (FStar_List.append decls decls') + in + FStar_List.append decls' uu____6187 + in + FStar_List.append decls uu____6184 + in + (t1, uu____6183)))))))) + | FStar_Syntax_Syntax.Tm_uvar (uv,uu____6191) -> let ttm = - let uu____5751 = + let uu____6209 = FStar_Syntax_Unionfind.uvar_id - uv.FStar_Syntax_Syntax.ctx_uvar_head in - FStar_SMTEncoding_Util.mk_Term_uvar uu____5751 in - let uu____5753 = + uv.FStar_Syntax_Syntax.ctx_uvar_head + in + FStar_SMTEncoding_Util.mk_Term_uvar uu____6209 in + let uu____6211 = encode_term_pred FStar_Pervasives_Native.None - uv.FStar_Syntax_Syntax.ctx_uvar_typ env ttm in - (match uu____5753 with - | (t_has_k, decls) -> + uv.FStar_Syntax_Syntax.ctx_uvar_typ env ttm + in + (match uu____6211 with + | (t_has_k,decls) -> let d = - let uu____5765 = - let uu____5773 = - let uu____5775 = - let uu____5777 = - let uu____5779 = + let uu____6223 = + let uu____6231 = + let uu____6233 = + let uu____6235 = + let uu____6237 = FStar_Syntax_Unionfind.uvar_id - uv.FStar_Syntax_Syntax.ctx_uvar_head in - FStar_Util.string_of_int uu____5779 in - FStar_Util.format1 "uvar_typing_%s" uu____5777 in + uv.FStar_Syntax_Syntax.ctx_uvar_head + in + FStar_Util.string_of_int uu____6237 in + FStar_Util.format1 "uvar_typing_%s" uu____6235 in FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.mk_unique - uu____5775 in + uu____6233 + in (t_has_k, (FStar_Pervasives_Native.Some "Uvar typing"), - uu____5773) in - FStar_SMTEncoding_Util.mkAssume uu____5765 in - let uu____5785 = - let uu____5786 = + uu____6231) + in + FStar_SMTEncoding_Util.mkAssume uu____6223 in + let uu____6243 = + let uu____6244 = FStar_All.pipe_right [d] - FStar_SMTEncoding_Term.mk_decls_trivial in - FStar_List.append decls uu____5786 in - (ttm, uu____5785)) - | FStar_Syntax_Syntax.Tm_app uu____5793 -> - let uu____5810 = FStar_Syntax_Util.head_and_args t0 in - (match uu____5810 with - | (head1, args_e) -> - let uu____5857 = - let uu____5872 = - let uu____5873 = FStar_Syntax_Subst.compress head1 in - uu____5873.FStar_Syntax_Syntax.n in - (uu____5872, args_e) in - (match uu____5857 with - | uu____5890 when head_redex env head1 -> - let uu____5905 = whnf env t in - encode_term uu____5905 env - | uu____5906 when is_arithmetic_primitive head1 args_e -> + FStar_SMTEncoding_Term.mk_decls_trivial + in + FStar_List.append decls uu____6244 in + (ttm, uu____6243)) + | FStar_Syntax_Syntax.Tm_app uu____6251 -> + let uu____6268 = FStar_Syntax_Util.head_and_args t0 in + (match uu____6268 with + | (head1,args_e) -> + let uu____6315 = + let uu____6330 = + let uu____6331 = FStar_Syntax_Subst.compress head1 in + uu____6331.FStar_Syntax_Syntax.n in + (uu____6330, args_e) in + (match uu____6315 with + | uu____6348 when head_redex env head1 -> + let uu____6363 = whnf env t in + encode_term uu____6363 env + | uu____6364 when is_arithmetic_primitive head1 args_e -> encode_arith_term env head1 args_e - | uu____5929 when is_BitVector_primitive head1 args_e -> + | uu____6387 when is_BitVector_primitive head1 args_e -> encode_BitVector_term env head1 args_e - | (FStar_Syntax_Syntax.Tm_fvar fv, uu____5947) when + | (FStar_Syntax_Syntax.Tm_fvar fv,uu____6405) when (Prims.op_Negation env.FStar_SMTEncoding_Env.encoding_quantifier) && @@ -1920,10 +2255,9 @@ and (encode_term : | (FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____5969; - FStar_Syntax_Syntax.vars = uu____5970;_}, - uu____5971), - uu____5972) when + FStar_Syntax_Syntax.pos = uu____6427; + FStar_Syntax_Syntax.vars = uu____6428;_},uu____6429),uu____6430) + when (Prims.op_Negation env.FStar_SMTEncoding_Env.encoding_quantifier) && @@ -1936,202 +2270,455 @@ and (encode_term : | (FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____5998; - FStar_Syntax_Syntax.vars = uu____5999;_}, - uu____6000), - (v0, uu____6002)::(v1, uu____6004)::(v2, uu____6006)::[]) + FStar_Syntax_Syntax.pos = uu____6456; + FStar_Syntax_Syntax.vars = uu____6457;_},uu____6458), + (v0,uu____6460)::(v1,uu____6462)::(v2,uu____6464)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.lexcons_lid -> - let uu____6077 = encode_term v0 env in - (match uu____6077 with - | (v01, decls0) -> - let uu____6088 = encode_term v1 env in - (match uu____6088 with - | (v11, decls1) -> - let uu____6099 = encode_term v2 env in - (match uu____6099 with - | (v21, decls2) -> - let uu____6110 = + let uu____6535 = encode_term v0 env in + (match uu____6535 with + | (v01,decls0) -> + let uu____6546 = encode_term v1 env in + (match uu____6546 with + | (v11,decls1) -> + let uu____6557 = encode_term v2 env in + (match uu____6557 with + | (v21,decls2) -> + let uu____6568 = FStar_SMTEncoding_Util.mk_LexCons v01 - v11 v21 in - (uu____6110, + v11 v21 + in + (uu____6568, (FStar_List.append decls0 (FStar_List.append decls1 decls2)))))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (v0, uu____6113)::(v1, uu____6115)::(v2, uu____6117)::[]) + | (FStar_Syntax_Syntax.Tm_fvar + fv,(v0,uu____6571)::(v1,uu____6573)::(v2,uu____6575)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.lexcons_lid -> - let uu____6184 = encode_term v0 env in - (match uu____6184 with - | (v01, decls0) -> - let uu____6195 = encode_term v1 env in - (match uu____6195 with - | (v11, decls1) -> - let uu____6206 = encode_term v2 env in - (match uu____6206 with - | (v21, decls2) -> - let uu____6217 = + let uu____6642 = encode_term v0 env in + (match uu____6642 with + | (v01,decls0) -> + let uu____6653 = encode_term v1 env in + (match uu____6653 with + | (v11,decls1) -> + let uu____6664 = encode_term v2 env in + (match uu____6664 with + | (v21,decls2) -> + let uu____6675 = FStar_SMTEncoding_Util.mk_LexCons v01 - v11 v21 in - (uu____6217, + v11 v21 + in + (uu____6675, (FStar_List.append decls0 (FStar_List.append decls1 decls2)))))) | (FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_range_of), (arg, uu____6219)::[]) -> + (FStar_Const.Const_range_of ),(arg,uu____6677)::[]) -> encode_const (FStar_Const.Const_range (arg.FStar_Syntax_Syntax.pos)) env | (FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_set_range_of), - (arg, uu____6255)::(rng, uu____6257)::[]) -> + (FStar_Const.Const_set_range_of + ),(arg,uu____6713)::(rng,uu____6715)::[]) -> encode_term arg env - | (FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reify), uu____6308) -> + | (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify + ),uu____6766) -> let e0 = - let uu____6330 = FStar_List.hd args_e in + let uu____6788 = FStar_List.hd args_e in FStar_TypeChecker_Util.reify_body_with_arg - env.FStar_SMTEncoding_Env.tcenv head1 uu____6330 in - ((let uu____6340 = + env.FStar_SMTEncoding_Env.tcenv head1 uu____6788 + in + ((let uu____6798 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env.FStar_SMTEncoding_Env.tcenv) - (FStar_Options.Other "SMTEncodingReify") in - if uu____6340 + (FStar_Options.Other "SMTEncodingReify") + in + if uu____6798 then - let uu____6345 = - FStar_Syntax_Print.term_to_string e0 in + let uu____6803 = + FStar_Syntax_Print.term_to_string e0 in FStar_Util.print1 "Result of normalization %s\n" - uu____6345 + uu____6803 else ()); (let e = - let uu____6353 = - let uu____6358 = - FStar_TypeChecker_Util.remove_reify e0 in - let uu____6359 = FStar_List.tl args_e in - FStar_Syntax_Syntax.mk_Tm_app uu____6358 - uu____6359 in - uu____6353 FStar_Pervasives_Native.None - t0.FStar_Syntax_Syntax.pos in + let uu____6811 = + let uu____6816 = + FStar_TypeChecker_Util.remove_reify e0 in + let uu____6817 = FStar_List.tl args_e in + FStar_Syntax_Syntax.mk_Tm_app uu____6816 + uu____6817 + in + uu____6811 FStar_Pervasives_Native.None + t0.FStar_Syntax_Syntax.pos + in encode_term e env)) | (FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reflect uu____6368), - (arg, uu____6370)::[]) -> encode_term arg env - | uu____6405 -> - let uu____6420 = encode_args args_e env in - (match uu____6420 with - | (args, decls) -> + (FStar_Const.Const_reflect + uu____6826),(arg,uu____6828)::[]) -> encode_term arg env + | uu____6863 -> + let uu____6878 = encode_args args_e env in + (match uu____6878 with + | (args,decls) -> let encode_partial_app ht_opt = - let uu____6481 = encode_term head1 env in - match uu____6481 with - | (head2, decls') -> - let app_tm = mk_Apply_args head2 args in + let uu____6947 = encode_term head1 env in + match uu____6947 with + | (smt_head,decls') -> + let app_tm = mk_Apply_args smt_head args in (match ht_opt with - | FStar_Pervasives_Native.None -> + | uu____6967 -> (app_tm, (FStar_List.append decls decls')) - | FStar_Pervasives_Native.Some (formals, c) - -> - let uu____6553 = - FStar_Util.first_N - (FStar_List.length args_e) formals in - (match uu____6553 with - | (formals1, rest) -> - let subst1 = - FStar_List.map2 - (fun uu____6651 -> - fun uu____6652 -> - match (uu____6651, - uu____6652) - with - | ((bv, uu____6682), - (a, uu____6684)) -> - FStar_Syntax_Syntax.NT - (bv, a)) formals1 - args_e in - let ty = - let uu____6714 = - FStar_Syntax_Util.arrow rest c in - FStar_All.pipe_right uu____6714 - (FStar_Syntax_Subst.subst - subst1) in - let uu____6715 = - encode_term_pred - FStar_Pervasives_Native.None ty - env app_tm in - (match uu____6715 with - | (has_type, decls'') -> - let cvars = - FStar_SMTEncoding_Term.free_variables - has_type in - let tkey_hash = - FStar_SMTEncoding_Term.hash_of_term - app_tm in - let e_typing = - let uu____6732 = - let uu____6740 = - FStar_SMTEncoding_Term.mkForall - t0.FStar_Syntax_Syntax.pos - ([[has_type]], cvars, - has_type) in - let uu____6749 = - let uu____6751 = - let uu____6753 = - FStar_SMTEncoding_Term.hash_of_term - app_tm in - FStar_Util.digest_of_string - uu____6753 in - Prims.op_Hat - "partial_app_typing_" - uu____6751 in - (uu____6740, - (FStar_Pervasives_Native.Some - "Partial app typing"), - uu____6749) in - FStar_SMTEncoding_Util.mkAssume - uu____6732 in - let uu____6759 = - let uu____6762 = - let uu____6765 = - let uu____6768 = - FStar_SMTEncoding_Term.mk_decls - "" tkey_hash - [e_typing] - (FStar_List.append - decls - (FStar_List.append - decls' decls'')) in - FStar_List.append - decls'' uu____6768 in - FStar_List.append decls' - uu____6765 in - FStar_List.append decls - uu____6762 in - (app_tm, uu____6759)))) in + | FStar_Pervasives_Native.Some + (head_type,formals,c) -> + ((let uu____7036 = + FStar_TypeChecker_Env.debug + env.FStar_SMTEncoding_Env.tcenv + (FStar_Options.Other "PartialApp") + in + if uu____7036 + then + let uu____7040 = + FStar_Syntax_Print.term_to_string + head1 + in + let uu____7042 = + FStar_Syntax_Print.term_to_string + head_type + in + let uu____7044 = + FStar_Syntax_Print.binders_to_string + ", " formals + in + let uu____7047 = + FStar_Syntax_Print.comp_to_string + c + in + let uu____7049 = + FStar_Syntax_Print.args_to_string + args_e + in + FStar_Util.print5 + "Encoding partial application:\n\thead=%s\n\thead_type=%s\n\tformals=%s\n\tcomp=%s\n\tactual args=%s\n" + uu____7040 uu____7042 uu____7044 + uu____7047 uu____7049 + else ()); + (let uu____7054 = + FStar_Util.first_N + (FStar_List.length args_e) formals + in + match uu____7054 with + | (formals1,rest) -> + let subst1 = + FStar_List.map2 + (fun uu____7152 -> + fun uu____7153 -> + match (uu____7152, + uu____7153) + with + | ((bv,uu____7183), + (a,uu____7185)) -> + FStar_Syntax_Syntax.NT + (bv, a)) formals1 + args_e + in + let ty = + let uu____7217 = + FStar_Syntax_Util.arrow rest c + in + FStar_All.pipe_right uu____7217 + (FStar_Syntax_Subst.subst + subst1) + in + ((let uu____7221 = + FStar_TypeChecker_Env.debug + env.FStar_SMTEncoding_Env.tcenv + (FStar_Options.Other + "PartialApp") + in + if uu____7221 + then + let uu____7225 = + FStar_Syntax_Print.term_to_string + ty + in + FStar_Util.print1 + "Encoding partial application, after subst:\n\tty=%s\n" + uu____7225 + else ()); + (let uu____7230 = + let uu____7243 = + FStar_List.fold_left2 + (fun uu____7278 -> + fun uu____7279 -> + fun e -> + match (uu____7278, + uu____7279) + with + | ((t_hyps,decls1), + (bv,uu____7320)) + -> + let t1 = + FStar_Syntax_Subst.subst + subst1 + bv.FStar_Syntax_Syntax.sort + in + let uu____7348 + = + encode_term_pred + FStar_Pervasives_Native.None + t1 env e + in + (match uu____7348 + with + | (t_hyp,decls'1) + -> + (( + let uu____7364 + = + FStar_TypeChecker_Env.debug + env.FStar_SMTEncoding_Env.tcenv + (FStar_Options.Other + "PartialApp") + in + if + uu____7364 + then + let uu____7368 + = + FStar_Syntax_Print.term_to_string + t1 in + let uu____7370 + = + FStar_SMTEncoding_Term.print_smt_term + t_hyp in + FStar_Util.print2 + "Encoded typing hypothesis for %s ... got %s\n" + uu____7368 + uu____7370 + else ()); + ((t_hyp + :: + t_hyps), + (FStar_List.append + decls1 + decls'1))))) + ([], []) formals1 args + in + match uu____7243 with + | (t_hyps,decls1) -> + let uu____7405 = + match smt_head.FStar_SMTEncoding_Term.tm + with + | FStar_SMTEncoding_Term.FreeV + uu____7414 -> + encode_term_pred + FStar_Pervasives_Native.None + head_type env + smt_head + | uu____7423 -> + (FStar_SMTEncoding_Util.mkTrue, + []) + in + (match uu____7405 with + | (t_head_hyp,decls'1) -> + let hyp = + FStar_SMTEncoding_Term.mk_and_l + (t_head_hyp :: + t_hyps) + FStar_Range.dummyRange + in + let uu____7439 = + encode_term_pred + FStar_Pervasives_Native.None + ty env app_tm + in + (match uu____7439 + with + | (has_type_conclusion,decls'') + -> + let has_type = + FStar_SMTEncoding_Util.mkImp + (hyp, + has_type_conclusion) + in + let cvars = + FStar_SMTEncoding_Term.free_variables + has_type + in + let app_tm_vars + = + FStar_SMTEncoding_Term.free_variables + app_tm + in + let uu____7461 = + let uu____7468 + = + FStar_SMTEncoding_Term.fvs_subset_of + cvars + app_tm_vars + in + if uu____7468 + then + ([app_tm], + app_tm_vars) + else + (let uu____7481 + = + let uu____7483 + = + FStar_SMTEncoding_Term.free_variables + has_type_conclusion + in + FStar_SMTEncoding_Term.fvs_subset_of + cvars + uu____7483 + in + if + uu____7481 + then + ([has_type_conclusion], + cvars) + else + ( + ( + let uu____7496 + = + let uu____7502 + = + let uu____7504 + = + FStar_Syntax_Print.term_to_string + t0 in + FStar_Util.format1 + "No SMT pattern for partial application %s" + uu____7504 + in + (FStar_Errors.Warning_SMTPatternIllFormed, + uu____7502) + in + FStar_Errors.log_issue + t0.FStar_Syntax_Syntax.pos + uu____7496); + ([], + cvars))) + in + (match uu____7461 + with + | (pattern,vars) + -> + (vars, + pattern, + has_type, + ( + FStar_List.append + decls1 + (FStar_List.append + decls'1 + decls'')))))) + in + match uu____7230 with + | (vars,pattern,has_type,decls'') + -> + ((let uu____7551 = + FStar_TypeChecker_Env.debug + env.FStar_SMTEncoding_Env.tcenv + (FStar_Options.Other + "PartialApp") + in + if uu____7551 + then + let uu____7555 = + FStar_SMTEncoding_Term.print_smt_term + has_type + in + FStar_Util.print1 + "Encoding partial application, after SMT encoded predicate:\n\t=%s\n" + uu____7555 + else ()); + (let tkey_hash = + FStar_SMTEncoding_Term.hash_of_term + app_tm + in + let e_typing = + let uu____7563 = + let uu____7571 = + FStar_SMTEncoding_Term.mkForall + t0.FStar_Syntax_Syntax.pos + ([pattern], vars, + has_type) + in + let uu____7580 = + let uu____7582 = + let uu____7584 = + FStar_SMTEncoding_Term.hash_of_term + app_tm + in + FStar_Util.digest_of_string + uu____7584 + in + Prims.op_Hat + "partial_app_typing_" + uu____7582 + in + (uu____7571, + (FStar_Pervasives_Native.Some + "Partial app typing"), + uu____7580) + in + FStar_SMTEncoding_Util.mkAssume + uu____7563 + in + let uu____7590 = + let uu____7593 = + let uu____7596 = + let uu____7599 = + FStar_SMTEncoding_Term.mk_decls + "" tkey_hash + [e_typing] + (FStar_List.append + decls + (FStar_List.append + decls' + decls'')) + in + FStar_List.append + decls'' uu____7599 + in + FStar_List.append + decls' uu____7596 + in + FStar_List.append decls + uu____7593 + in + (app_tm, uu____7590)))))))) + in let encode_full_app fv = - let uu____6788 = + let uu____7619 = FStar_SMTEncoding_Env.lookup_free_var_sym env - fv in - match uu____6788 with - | (fname, fuel_args, arity) -> + fv + in + match uu____7619 with + | (fname,fuel_args,arity) -> let tm = maybe_curry_app t0.FStar_Syntax_Syntax.pos fname arity - (FStar_List.append fuel_args args) in - (tm, decls) in - let head2 = FStar_Syntax_Subst.compress head1 in + (FStar_List.append fuel_args args) + in + (tm, decls) + in + let head2 = FStar_Syntax_Subst.compress head1 in let head_type = match head2.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_name x; - FStar_Syntax_Syntax.pos = uu____6831; - FStar_Syntax_Syntax.vars = uu____6832;_}, - uu____6833) + FStar_Syntax_Syntax.pos = uu____7662; + FStar_Syntax_Syntax.vars = uu____7663;_},uu____7664) -> FStar_Pervasives_Native.Some (x.FStar_Syntax_Syntax.sort) @@ -2142,395 +2729,620 @@ and (encode_term : ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____6840; - FStar_Syntax_Syntax.vars = uu____6841;_}, - uu____6842) + FStar_Syntax_Syntax.pos = uu____7671; + FStar_Syntax_Syntax.vars = uu____7672;_},uu____7673) -> - let uu____6847 = - let uu____6848 = - let uu____6853 = + let uu____7678 = + let uu____7679 = + let uu____7684 = FStar_TypeChecker_Env.lookup_lid env.FStar_SMTEncoding_Env.tcenv - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - FStar_All.pipe_right uu____6853 - FStar_Pervasives_Native.fst in - FStar_All.pipe_right uu____6848 - FStar_Pervasives_Native.snd in - FStar_Pervasives_Native.Some uu____6847 + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + FStar_All.pipe_right uu____7684 + FStar_Pervasives_Native.fst + in + FStar_All.pipe_right uu____7679 + FStar_Pervasives_Native.snd + in + FStar_Pervasives_Native.Some uu____7678 | FStar_Syntax_Syntax.Tm_fvar fv -> - let uu____6883 = - let uu____6884 = - let uu____6889 = + let uu____7714 = + let uu____7715 = + let uu____7720 = FStar_TypeChecker_Env.lookup_lid env.FStar_SMTEncoding_Env.tcenv - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - FStar_All.pipe_right uu____6889 - FStar_Pervasives_Native.fst in - FStar_All.pipe_right uu____6884 - FStar_Pervasives_Native.snd in - FStar_Pervasives_Native.Some uu____6883 + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + FStar_All.pipe_right uu____7720 + FStar_Pervasives_Native.fst + in + FStar_All.pipe_right uu____7715 + FStar_Pervasives_Native.snd + in + FStar_Pervasives_Native.Some uu____7714 | FStar_Syntax_Syntax.Tm_ascribed - (uu____6918, (FStar_Util.Inl t1, uu____6920), - uu____6921) + (uu____7749,(FStar_Util.Inl t1,uu____7751),uu____7752) -> FStar_Pervasives_Native.Some t1 | FStar_Syntax_Syntax.Tm_ascribed - (uu____6968, (FStar_Util.Inr c, uu____6970), - uu____6971) + (uu____7799,(FStar_Util.Inr c,uu____7801),uu____7802) -> FStar_Pervasives_Native.Some (FStar_Syntax_Util.comp_result c) - | uu____7018 -> FStar_Pervasives_Native.None in + | uu____7849 -> FStar_Pervasives_Native.None in (match head_type with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> encode_partial_app FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some head_type1 -> - let head_type2 = - let uu____7039 = - FStar_TypeChecker_Normalize.normalize_refinement - [FStar_TypeChecker_Env.Weak; - FStar_TypeChecker_Env.HNF; - FStar_TypeChecker_Env.EraseUniverses] - env.FStar_SMTEncoding_Env.tcenv - head_type1 in - FStar_All.pipe_left - FStar_Syntax_Util.unrefine uu____7039 in - let uu____7040 = - curried_arrow_formals_comp head_type2 in - (match uu____7040 with - | (formals, c) -> - (match head2.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_uinst - ({ - FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = - uu____7056; - FStar_Syntax_Syntax.vars = - uu____7057;_}, - uu____7058) - when - (FStar_List.length formals) = - (FStar_List.length args) - -> - encode_full_app - fv.FStar_Syntax_Syntax.fv_name - | FStar_Syntax_Syntax.Tm_fvar fv when - (FStar_List.length formals) = - (FStar_List.length args) - -> - encode_full_app - fv.FStar_Syntax_Syntax.fv_name - | uu____7076 -> - if - (FStar_List.length formals) > - (FStar_List.length args) - then - encode_partial_app - (FStar_Pervasives_Native.Some - (formals, c)) - else - encode_partial_app - FStar_Pervasives_Native.None)))))) - | FStar_Syntax_Syntax.Tm_abs (bs, body, lopt) -> - let uu____7155 = FStar_Syntax_Subst.open_term' bs body in - (match uu____7155 with - | (bs1, body1, opening) -> - let fallback uu____7178 = + let uu____7873 = + let head_type2 = + let uu____7895 = + FStar_TypeChecker_Normalize.normalize_refinement + [FStar_TypeChecker_Env.Weak; + FStar_TypeChecker_Env.HNF; + FStar_TypeChecker_Env.EraseUniverses] + env.FStar_SMTEncoding_Env.tcenv + head_type1 + in + FStar_All.pipe_left + FStar_Syntax_Util.unrefine uu____7895 + in + let uu____7898 = + curried_arrow_formals_comp head_type2 in + match uu____7898 with + | (formals,c) -> + if + (FStar_List.length formals) < + (FStar_List.length args) + then + let head_type3 = + let uu____7949 = + FStar_TypeChecker_Normalize.normalize_refinement + [FStar_TypeChecker_Env.Weak; + FStar_TypeChecker_Env.HNF; + FStar_TypeChecker_Env.EraseUniverses; + FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant] + env.FStar_SMTEncoding_Env.tcenv + head_type2 + in + FStar_All.pipe_left + FStar_Syntax_Util.unrefine + uu____7949 + in + let uu____7950 = + curried_arrow_formals_comp + head_type3 + in + (match uu____7950 with + | (formals1,c1) -> + (head_type3, formals1, c1)) + else (head_type2, formals, c) + in + (match uu____7873 with + | (head_type2,formals,c) -> + ((let uu____8033 = + FStar_TypeChecker_Env.debug + env.FStar_SMTEncoding_Env.tcenv + (FStar_Options.Other "PartialApp") + in + if uu____8033 + then + let uu____8037 = + FStar_Syntax_Print.term_to_string + head_type2 + in + let uu____8039 = + FStar_Syntax_Print.binders_to_string + ", " formals + in + let uu____8042 = + FStar_Syntax_Print.args_to_string + args_e + in + FStar_Util.print3 + "Encoding partial application, head_type = %s, formals = %s, args = %s\n" + uu____8037 uu____8039 uu____8042 + else ()); + (match head2.FStar_Syntax_Syntax.n with + | FStar_Syntax_Syntax.Tm_uinst + ({ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.Tm_fvar fv; + FStar_Syntax_Syntax.pos = + uu____8052; + FStar_Syntax_Syntax.vars = + uu____8053;_},uu____8054) + when + (FStar_List.length formals) = + (FStar_List.length args) + -> + encode_full_app + fv.FStar_Syntax_Syntax.fv_name + | FStar_Syntax_Syntax.Tm_fvar fv when + (FStar_List.length formals) = + (FStar_List.length args) + -> + encode_full_app + fv.FStar_Syntax_Syntax.fv_name + | uu____8072 -> + if + (FStar_List.length formals) > + (FStar_List.length args) + then + encode_partial_app + (FStar_Pervasives_Native.Some + (head_type2, formals, c)) + else + encode_partial_app + FStar_Pervasives_Native.None))))))) + | FStar_Syntax_Syntax.Tm_abs (bs,body,lopt) -> + let uu____8161 = FStar_Syntax_Subst.open_term' bs body in + (match uu____8161 with + | (bs1,body1,opening) -> + let fallback uu____8184 = let f = FStar_SMTEncoding_Env.varops.FStar_SMTEncoding_Env.fresh - env.FStar_SMTEncoding_Env.current_module_name "Tm_abs" in + env.FStar_SMTEncoding_Env.current_module_name "Tm_abs" + in let decl = FStar_SMTEncoding_Term.DeclFun (f, [], FStar_SMTEncoding_Term.Term_sort, (FStar_Pervasives_Native.Some - "Imprecise function encoding")) in - let uu____7188 = - let uu____7189 = + "Imprecise function encoding")) + in + let uu____8194 = + let uu____8195 = FStar_SMTEncoding_Term.mk_fv - (f, FStar_SMTEncoding_Term.Term_sort) in + (f, FStar_SMTEncoding_Term.Term_sort) + in FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV - uu____7189 in - let uu____7191 = + uu____8195 + in + let uu____8197 = FStar_All.pipe_right [decl] - FStar_SMTEncoding_Term.mk_decls_trivial in - (uu____7188, uu____7191) in + FStar_SMTEncoding_Term.mk_decls_trivial + in + (uu____8194, uu____8197) in let is_impure rc = - let uu____7201 = + let uu____8207 = FStar_TypeChecker_Util.is_pure_or_ghost_effect env.FStar_SMTEncoding_Env.tcenv - rc.FStar_Syntax_Syntax.residual_effect in - FStar_All.pipe_right uu____7201 Prims.op_Negation in + rc.FStar_Syntax_Syntax.residual_effect + in + FStar_All.pipe_right uu____8207 Prims.op_Negation in let codomain_eff rc = let res_typ = match rc.FStar_Syntax_Syntax.residual_typ with - | FStar_Pervasives_Native.None -> - let uu____7216 = - let uu____7229 = + | FStar_Pervasives_Native.None -> + let uu____8222 = + let uu____8235 = FStar_TypeChecker_Env.get_range - env.FStar_SMTEncoding_Env.tcenv in + env.FStar_SMTEncoding_Env.tcenv + in FStar_TypeChecker_Util.new_implicit_var - "SMTEncoding codomain" uu____7229 + "SMTEncoding codomain" uu____8235 env.FStar_SMTEncoding_Env.tcenv - FStar_Syntax_Util.ktype0 in - (match uu____7216 with - | (t1, uu____7232, uu____7233) -> t1) - | FStar_Pervasives_Native.Some t1 -> t1 in - let uu____7251 = + FStar_Syntax_Util.ktype0 + in + (match uu____8222 with + | (t1,uu____8238,uu____8239) -> t1) + | FStar_Pervasives_Native.Some t1 -> t1 in + let uu____8257 = FStar_Ident.lid_equals rc.FStar_Syntax_Syntax.residual_effect - FStar_Parser_Const.effect_Tot_lid in - if uu____7251 + FStar_Parser_Const.effect_Tot_lid + in + if uu____8257 then - let uu____7256 = FStar_Syntax_Syntax.mk_Total res_typ in - FStar_Pervasives_Native.Some uu____7256 + let uu____8262 = FStar_Syntax_Syntax.mk_Total res_typ in + FStar_Pervasives_Native.Some uu____8262 else - (let uu____7259 = + (let uu____8265 = FStar_Ident.lid_equals rc.FStar_Syntax_Syntax.residual_effect - FStar_Parser_Const.effect_GTot_lid in - if uu____7259 + FStar_Parser_Const.effect_GTot_lid + in + if uu____8265 then - let uu____7264 = FStar_Syntax_Syntax.mk_GTotal res_typ in - FStar_Pervasives_Native.Some uu____7264 - else FStar_Pervasives_Native.None) in + let uu____8270 = FStar_Syntax_Syntax.mk_GTotal res_typ + in + FStar_Pervasives_Native.Some uu____8270 + else FStar_Pervasives_Native.None) + in (match lopt with - | FStar_Pervasives_Native.None -> - ((let uu____7272 = - let uu____7278 = - let uu____7280 = - FStar_Syntax_Print.term_to_string t0 in + | FStar_Pervasives_Native.None -> + ((let uu____8278 = + let uu____8284 = + let uu____8286 = + FStar_Syntax_Print.term_to_string t0 in FStar_Util.format1 "Losing precision when encoding a function literal: %s\n(Unnannotated abstraction in the compiler ?)" - uu____7280 in + uu____8286 + in (FStar_Errors.Warning_FunctionLiteralPrecisionLoss, - uu____7278) in + uu____8284) + in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos - uu____7272); + uu____8278); fallback ()) | FStar_Pervasives_Native.Some rc -> - let uu____7285 = + let uu____8291 = (is_impure rc) && - (let uu____7288 = + (let uu____8294 = FStar_TypeChecker_Env.is_reifiable_rc - env.FStar_SMTEncoding_Env.tcenv rc in - Prims.op_Negation uu____7288) in - if uu____7285 + env.FStar_SMTEncoding_Env.tcenv rc + in + Prims.op_Negation uu____8294) + in + if uu____8291 then fallback () else - (let uu____7297 = - encode_binders FStar_Pervasives_Native.None bs1 env in - match uu____7297 with - | (vars, guards, envbody, decls, uu____7322) -> + (let uu____8303 = + encode_binders FStar_Pervasives_Native.None bs1 env + in + match uu____8303 with + | (vars,guards,envbody,decls,uu____8328) -> let body2 = - let uu____7336 = + let uu____8342 = FStar_TypeChecker_Env.is_reifiable_rc - env.FStar_SMTEncoding_Env.tcenv rc in - if uu____7336 + env.FStar_SMTEncoding_Env.tcenv rc + in + if uu____8342 then FStar_TypeChecker_Util.reify_body env.FStar_SMTEncoding_Env.tcenv body1 - else body1 in - let uu____7341 = encode_term body2 envbody in - (match uu____7341 with - | (body3, decls') -> - let uu____7352 = - let uu____7361 = codomain_eff rc in - match uu____7361 with - | FStar_Pervasives_Native.None -> + else body1 in + let uu____8347 = encode_term body2 envbody in + (match uu____8347 with + | (body3,decls') -> + let is_pure = + FStar_Syntax_Util.is_pure_effect + rc.FStar_Syntax_Syntax.residual_effect + in + let uu____8360 = + let uu____8369 = codomain_eff rc in + match uu____8369 with + | FStar_Pervasives_Native.None -> (FStar_Pervasives_Native.None, []) | FStar_Pervasives_Native.Some c -> let tfun = - FStar_Syntax_Util.arrow bs1 c in - let uu____7380 = encode_term tfun env in - (match uu____7380 with - | (t1, decls1) -> + FStar_Syntax_Util.arrow bs1 c in + let uu____8388 = encode_term tfun env + in + (match uu____8388 with + | (t1,decls1) -> ((FStar_Pervasives_Native.Some t1), - decls1)) in - (match uu____7352 with - | (arrow_t_opt, decls'') -> + decls1)) + in + (match uu____8360 with + | (arrow_t_opt,decls'') -> let key_body = - let uu____7414 = - let uu____7425 = - let uu____7426 = - let uu____7431 = + let uu____8422 = + let uu____8433 = + let uu____8434 = + let uu____8439 = FStar_SMTEncoding_Util.mk_and_l - guards in - (uu____7431, body3) in + guards + in + (uu____8439, body3) in FStar_SMTEncoding_Util.mkImp - uu____7426 in - ([], vars, uu____7425) in + uu____8434 + in + ([], vars, uu____8433) in FStar_SMTEncoding_Term.mkForall t0.FStar_Syntax_Syntax.pos - uu____7414 in + uu____8422 + in let cvars = FStar_SMTEncoding_Term.free_variables - key_body in - let uu____7439 = + key_body + in + let uu____8447 = match arrow_t_opt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (cvars, key_body) | FStar_Pervasives_Native.Some t1 -> - let uu____7455 = - let uu____7458 = - let uu____7469 = + let uu____8463 = + let uu____8466 = + let uu____8477 = FStar_SMTEncoding_Term.free_variables - t1 in - FStar_List.append uu____7469 - cvars in + t1 + in + FStar_List.append uu____8477 + cvars + in FStar_Util.remove_dups FStar_SMTEncoding_Term.fv_eq - uu____7458 in - let uu____7496 = + uu____8466 + in + let uu____8504 = FStar_SMTEncoding_Util.mkAnd - (key_body, t1) in - (uu____7455, uu____7496) in - (match uu____7439 with - | (cvars1, key_body1) -> + (key_body, t1) + in + (uu____8463, uu____8504) + in + (match uu____8447 with + | (cvars1,key_body1) -> let tkey = FStar_SMTEncoding_Term.mkForall t0.FStar_Syntax_Syntax.pos - ([], cvars1, key_body1) in + ([], cvars1, key_body1) + in let tkey_hash = FStar_SMTEncoding_Term.hash_of_term - tkey in - let uu____7518 = - is_an_eta_expansion env vars - body3 in - (match uu____7518 with - | FStar_Pervasives_Native.Some t1 - -> - let decls1 = - FStar_List.append decls - (FStar_List.append decls' - decls'') in - (t1, decls1) - | FStar_Pervasives_Native.None -> - let cvar_sorts = - FStar_List.map - FStar_SMTEncoding_Term.fv_sort - cvars1 in - let fsym = - let uu____7534 = - FStar_Util.digest_of_string - tkey_hash in - Prims.op_Hat "Tm_abs_" - uu____7534 in - let fdecl = - FStar_SMTEncoding_Term.DeclFun - (fsym, cvar_sorts, - FStar_SMTEncoding_Term.Term_sort, - FStar_Pervasives_Native.None) in - let f = - let uu____7543 = - let uu____7551 = - FStar_List.map - FStar_SMTEncoding_Util.mkFreeV - cvars1 in - (fsym, uu____7551) in - FStar_SMTEncoding_Util.mkApp - uu____7543 in - let app = mk_Apply f vars in - let typing_f = - match arrow_t_opt with - | FStar_Pervasives_Native.None - -> [] - | FStar_Pervasives_Native.Some - t1 -> - let f_has_t = - FStar_SMTEncoding_Term.mk_HasTypeWithFuel - FStar_Pervasives_Native.None - f t1 in - let a_name = - Prims.op_Hat - "typing_" fsym in - let uu____7568 = - let uu____7569 = - let uu____7577 = - FStar_SMTEncoding_Term.mkForall - t0.FStar_Syntax_Syntax.pos - ([[f]], cvars1, - f_has_t) in - (uu____7577, - (FStar_Pervasives_Native.Some - a_name), - a_name) in - FStar_SMTEncoding_Util.mkAssume - uu____7569 in - [uu____7568] in - let interp_f = - let a_name = - Prims.op_Hat - "interpretation_" fsym in - let uu____7592 = - let uu____7600 = - let uu____7601 = - let uu____7612 = - FStar_SMTEncoding_Util.mkEq - (app, body3) in - ([[app]], - (FStar_List.append - vars cvars1), - uu____7612) in - FStar_SMTEncoding_Term.mkForall - t0.FStar_Syntax_Syntax.pos - uu____7601 in - (uu____7600, - (FStar_Pervasives_Native.Some - a_name), a_name) in - FStar_SMTEncoding_Util.mkAssume - uu____7592 in - let f_decls = - FStar_List.append (fdecl :: - typing_f) [interp_f] in - let uu____7626 = - let uu____7627 = - let uu____7630 = - let uu____7633 = - FStar_SMTEncoding_Term.mk_decls - fsym tkey_hash - f_decls - (FStar_List.append - decls - (FStar_List.append - decls' - decls'')) in - FStar_List.append - decls'' uu____7633 in - FStar_List.append decls' - uu____7630 in - FStar_List.append decls - uu____7627 in - (f, uu____7626)))))))) + tkey + in + ((let uu____8527 = + FStar_All.pipe_left + (FStar_TypeChecker_Env.debug + env.FStar_SMTEncoding_Env.tcenv) + (FStar_Options.Other + "PartialApp") + in + if uu____8527 + then + let uu____8532 = + let uu____8534 = + FStar_List.map + FStar_SMTEncoding_Term.fv_name + vars + in + FStar_All.pipe_right + uu____8534 + (FStar_String.concat ", ") + in + let uu____8544 = + FStar_SMTEncoding_Term.print_smt_term + body3 + in + FStar_Util.print2 + "Checking eta expansion of\n\tvars={%s}\n\tbody=%s\n" + uu____8532 uu____8544 + else ()); + (let uu____8549 = + is_an_eta_expansion env vars + body3 + in + match uu____8549 with + | FStar_Pervasives_Native.Some + t1 -> + ((let uu____8558 = + FStar_All.pipe_left + (FStar_TypeChecker_Env.debug + env.FStar_SMTEncoding_Env.tcenv) + (FStar_Options.Other + "PartialApp") + in + if uu____8558 + then + let uu____8563 = + FStar_SMTEncoding_Term.print_smt_term + t1 + in + FStar_Util.print1 + "Yes, is an eta expansion of\n\tcore=%s\n" + uu____8563 + else ()); + (let decls1 = + FStar_List.append decls + (FStar_List.append + decls' decls'') + in + (t1, decls1))) + | FStar_Pervasives_Native.None + -> + let cvar_sorts = + FStar_List.map + FStar_SMTEncoding_Term.fv_sort + cvars1 + in + let fsym = + let uu____8576 = + FStar_Util.digest_of_string + tkey_hash + in + Prims.op_Hat "Tm_abs_" + uu____8576 + in + let fdecl = + FStar_SMTEncoding_Term.DeclFun + (fsym, cvar_sorts, + FStar_SMTEncoding_Term.Term_sort, + FStar_Pervasives_Native.None) + in + let f = + let uu____8585 = + let uu____8593 = + FStar_List.map + FStar_SMTEncoding_Util.mkFreeV + cvars1 + in + (fsym, uu____8593) in + FStar_SMTEncoding_Util.mkApp + uu____8585 + in + let app = mk_Apply f vars + in + let typing_f = + match arrow_t_opt with + | FStar_Pervasives_Native.None + -> + let tot_fun_ax = + let ax = + let uu____8607 = + FStar_All.pipe_right + vars + (FStar_List.map + (fun + uu____8615 + -> + FStar_SMTEncoding_Util.mkTrue)) + in + isTotFun_axioms + t0.FStar_Syntax_Syntax.pos + f vars + uu____8607 + is_pure + in + match cvars1 with + | [] -> ax + | uu____8616 -> + FStar_SMTEncoding_Term.mkForall + t0.FStar_Syntax_Syntax.pos + ([[f]], + cvars1, ax) + in + let a_name = + Prims.op_Hat + "tot_fun_" fsym + in + let uu____8630 = + FStar_SMTEncoding_Util.mkAssume + (tot_fun_ax, + (FStar_Pervasives_Native.Some + a_name), + a_name) + in + [uu____8630] + | FStar_Pervasives_Native.Some + t1 -> + let f_has_t = + FStar_SMTEncoding_Term.mk_HasTypeWithFuel + FStar_Pervasives_Native.None + f t1 + in + let a_name = + Prims.op_Hat + "typing_" fsym + in + let uu____8638 = + let uu____8639 = + let uu____8647 = + FStar_SMTEncoding_Term.mkForall + t0.FStar_Syntax_Syntax.pos + ([[f]], + cvars1, + f_has_t) + in + (uu____8647, + (FStar_Pervasives_Native.Some + a_name), + a_name) + in + FStar_SMTEncoding_Util.mkAssume + uu____8639 + in + [uu____8638] + in + let interp_f = + let a_name = + Prims.op_Hat + "interpretation_" fsym + in + let uu____8662 = + let uu____8670 = + let uu____8671 = + let uu____8682 = + FStar_SMTEncoding_Util.mkEq + (app, body3) + in + ([[app]], + (FStar_List.append + vars cvars1), + uu____8682) + in + FStar_SMTEncoding_Term.mkForall + t0.FStar_Syntax_Syntax.pos + uu____8671 + in + (uu____8670, + (FStar_Pervasives_Native.Some + a_name), a_name) + in + FStar_SMTEncoding_Util.mkAssume + uu____8662 + in + let f_decls = + FStar_List.append (fdecl + :: typing_f) [interp_f] + in + let uu____8696 = + let uu____8697 = + let uu____8700 = + let uu____8703 = + FStar_SMTEncoding_Term.mk_decls + fsym tkey_hash + f_decls + (FStar_List.append + decls + (FStar_List.append + decls' + decls'')) + in + FStar_List.append + decls'' uu____8703 + in + FStar_List.append decls' + uu____8700 + in + FStar_List.append decls + uu____8697 + in + (f, uu____8696))))))))) | FStar_Syntax_Syntax.Tm_let - ((uu____7636, - { FStar_Syntax_Syntax.lbname = FStar_Util.Inr uu____7637; - FStar_Syntax_Syntax.lbunivs = uu____7638; - FStar_Syntax_Syntax.lbtyp = uu____7639; - FStar_Syntax_Syntax.lbeff = uu____7640; - FStar_Syntax_Syntax.lbdef = uu____7641; - FStar_Syntax_Syntax.lbattrs = uu____7642; - FStar_Syntax_Syntax.lbpos = uu____7643;_}::uu____7644), - uu____7645) + ((uu____8706,{ + FStar_Syntax_Syntax.lbname = FStar_Util.Inr + uu____8707; + FStar_Syntax_Syntax.lbunivs = uu____8708; + FStar_Syntax_Syntax.lbtyp = uu____8709; + FStar_Syntax_Syntax.lbeff = uu____8710; + FStar_Syntax_Syntax.lbdef = uu____8711; + FStar_Syntax_Syntax.lbattrs = uu____8712; + FStar_Syntax_Syntax.lbpos = uu____8713;_}::uu____8714),uu____8715) -> failwith "Impossible: already handled by encoding of Sig_let" | FStar_Syntax_Syntax.Tm_let - ((false, - { FStar_Syntax_Syntax.lbname = FStar_Util.Inl x; - FStar_Syntax_Syntax.lbunivs = uu____7679; - FStar_Syntax_Syntax.lbtyp = t1; - FStar_Syntax_Syntax.lbeff = uu____7681; - FStar_Syntax_Syntax.lbdef = e1; - FStar_Syntax_Syntax.lbattrs = uu____7683; - FStar_Syntax_Syntax.lbpos = uu____7684;_}::[]), - e2) + ((false + ,{ FStar_Syntax_Syntax.lbname = FStar_Util.Inl x; + FStar_Syntax_Syntax.lbunivs = uu____8749; + FStar_Syntax_Syntax.lbtyp = t1; + FStar_Syntax_Syntax.lbeff = uu____8751; + FStar_Syntax_Syntax.lbdef = e1; + FStar_Syntax_Syntax.lbattrs = uu____8753; + FStar_Syntax_Syntax.lbpos = uu____8754;_}::[]),e2) -> encode_let x t1 e1 e2 env encode_term - | FStar_Syntax_Syntax.Tm_let uu____7711 -> - (FStar_Errors.diag t0.FStar_Syntax_Syntax.pos - "Non-top-level recursive functions, and their enclosings let bindings (including the top-level let) are not yet fully encoded to the SMT solver; you may not be able to prove some facts"; - FStar_Exn.raise FStar_SMTEncoding_Env.Inner_let_rec) - | FStar_Syntax_Syntax.Tm_match (e, pats) -> + | FStar_Syntax_Syntax.Tm_let + ((false ,uu____8781::uu____8782),uu____8783) -> + failwith "Impossible: non-recursive let with multiple bindings" + | FStar_Syntax_Syntax.Tm_let ((uu____8806,lbs),uu____8808) -> + let names1 = + FStar_All.pipe_right lbs + (FStar_List.map + (fun lb -> + let uu____8861 = lb in + match uu____8861 with + | { FStar_Syntax_Syntax.lbname = lbname; + FStar_Syntax_Syntax.lbunivs = uu____8868; + FStar_Syntax_Syntax.lbtyp = uu____8869; + FStar_Syntax_Syntax.lbeff = uu____8870; + FStar_Syntax_Syntax.lbdef = uu____8871; + FStar_Syntax_Syntax.lbattrs = uu____8872; + FStar_Syntax_Syntax.lbpos = uu____8873;_} -> + let x = FStar_Util.left lbname in + let uu____8889 = + FStar_Ident.text_of_id + x.FStar_Syntax_Syntax.ppname + in + let uu____8891 = FStar_Syntax_Syntax.range_of_bv x + in + (uu____8889, uu____8891))) + in + FStar_Exn.raise (FStar_SMTEncoding_Env.Inner_let_rec names1) + | FStar_Syntax_Syntax.Tm_match (e,pats) -> encode_match e pats FStar_SMTEncoding_Term.mk_Term_unit env encode_term) + and (encode_let : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.typ -> @@ -2544,33 +3356,37 @@ and (encode_let : -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) = - fun x -> - fun t1 -> - fun e1 -> - fun e2 -> - fun env -> - fun encode_body -> - let uu____7783 = - let uu____7788 = + fun x -> + fun t1 -> + fun e1 -> + fun e2 -> + fun env -> + fun encode_body -> + let uu____8949 = + let uu____8954 = FStar_Syntax_Util.ascribe e1 - ((FStar_Util.Inl t1), FStar_Pervasives_Native.None) in - encode_term uu____7788 env in - match uu____7783 with - | (ee1, decls1) -> - let uu____7813 = + ((FStar_Util.Inl t1), FStar_Pervasives_Native.None) + in + encode_term uu____8954 env in + match uu____8949 with + | (ee1,decls1) -> + let uu____8979 = FStar_Syntax_Subst.open_term - [(x, FStar_Pervasives_Native.None)] e2 in - (match uu____7813 with - | (xs, e21) -> - let uu____7838 = FStar_List.hd xs in - (match uu____7838 with - | (x1, uu____7856) -> + [(x, FStar_Pervasives_Native.None)] e2 + in + (match uu____8979 with + | (xs,e21) -> + let uu____9004 = FStar_List.hd xs in + (match uu____9004 with + | (x1,uu____9022) -> let env' = - FStar_SMTEncoding_Env.push_term_var env x1 ee1 in - let uu____7862 = encode_body e21 env' in - (match uu____7862 with - | (ee2, decls2) -> + FStar_SMTEncoding_Env.push_term_var env x1 ee1 + in + let uu____9028 = encode_body e21 env' in + (match uu____9028 with + | (ee2,decls2) -> (ee2, (FStar_List.append decls1 decls2))))) + and (encode_match : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.branch Prims.list -> @@ -2581,574 +3397,641 @@ and (encode_match : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) = - fun e -> - fun pats -> - fun default_case -> - fun env -> - fun encode_br -> - let uu____7892 = - let uu____7900 = - let uu____7901 = + fun e -> + fun pats -> + fun default_case -> + fun env -> + fun encode_br -> + let uu____9058 = + let uu____9066 = + let uu____9067 = FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown - FStar_Pervasives_Native.None FStar_Range.dummyRange in - FStar_Syntax_Syntax.null_bv uu____7901 in - FStar_SMTEncoding_Env.gen_term_var env uu____7900 in - match uu____7892 with - | (scrsym, scr', env1) -> - let uu____7911 = encode_term e env1 in - (match uu____7911 with - | (scr, decls) -> - let uu____7922 = - let encode_branch b uu____7951 = - match uu____7951 with - | (else_case, decls1) -> - let uu____7970 = - FStar_Syntax_Subst.open_branch b in - (match uu____7970 with - | (p, w, br) -> - let uu____7996 = encode_pat env1 p in - (match uu____7996 with - | (env0, pattern) -> - let guard = pattern.guard scr' in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in + FStar_Syntax_Syntax.null_bv uu____9067 in + FStar_SMTEncoding_Env.gen_term_var env uu____9066 in + match uu____9058 with + | (scrsym,scr',env1) -> + let uu____9077 = encode_term e env1 in + (match uu____9077 with + | (scr,decls) -> + let uu____9088 = + let encode_branch b uu____9117 = + match uu____9117 with + | (else_case,decls1) -> + let uu____9136 = + FStar_Syntax_Subst.open_branch b in + (match uu____9136 with + | (p,w,br) -> + let uu____9162 = encode_pat env1 p in + (match uu____9162 with + | (env0,pattern) -> + let guard = pattern.guard scr' in let projections = - pattern.projections scr' in + pattern.projections scr' in let env2 = FStar_All.pipe_right projections (FStar_List.fold_left - (fun env2 -> - fun uu____8033 -> - match uu____8033 with - | (x, t) -> + (fun env2 -> + fun uu____9199 -> + match uu____9199 with + | (x,t) -> FStar_SMTEncoding_Env.push_term_var - env2 x t) env1) in - let uu____8040 = + env2 x t) env1) + in + let uu____9206 = match w with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (guard, []) | FStar_Pervasives_Native.Some w1 -> - let uu____8062 = - encode_term w1 env2 in - (match uu____8062 with - | (w2, decls2) -> - let uu____8075 = - let uu____8076 = - let uu____8081 = - let uu____8082 = - let uu____8087 = + let uu____9228 = + encode_term w1 env2 in + (match uu____9228 with + | (w2,decls2) -> + let uu____9241 = + let uu____9242 = + let uu____9247 = + let uu____9248 = + let uu____9253 = FStar_SMTEncoding_Term.boxBool - FStar_SMTEncoding_Util.mkTrue in - (w2, uu____8087) in + FStar_SMTEncoding_Util.mkTrue + in + (w2, uu____9253) + in FStar_SMTEncoding_Util.mkEq - uu____8082 in - (guard, uu____8081) in + uu____9248 + in + (guard, uu____9247) in FStar_SMTEncoding_Util.mkAnd - uu____8076 in - (uu____8075, decls2)) in - (match uu____8040 with - | (guard1, decls2) -> - let uu____8102 = - encode_br br env2 in - (match uu____8102 with - | (br1, decls3) -> - let uu____8115 = + uu____9242 + in + (uu____9241, decls2)) + in + (match uu____9206 with + | (guard1,decls2) -> + let uu____9268 = + encode_br br env2 in + (match uu____9268 with + | (br1,decls3) -> + let uu____9281 = FStar_SMTEncoding_Util.mkITE - (guard1, br1, else_case) in - (uu____8115, + (guard1, br1, else_case) + in + (uu____9281, (FStar_List.append decls1 (FStar_List.append - decls2 decls3))))))) in + decls2 decls3))))))) + in FStar_List.fold_right encode_branch pats - (default_case, decls) in - (match uu____7922 with - | (match_tm, decls1) -> - let uu____8136 = - let uu____8137 = - let uu____8148 = - let uu____8155 = - let uu____8160 = + (default_case, decls) + in + (match uu____9088 with + | (match_tm,decls1) -> + let uu____9302 = + let uu____9303 = + let uu____9314 = + let uu____9321 = + let uu____9326 = FStar_SMTEncoding_Term.mk_fv (scrsym, - FStar_SMTEncoding_Term.Term_sort) in - (uu____8160, scr) in - [uu____8155] in - (uu____8148, match_tm) in - FStar_SMTEncoding_Term.mkLet' uu____8137 - FStar_Range.dummyRange in - (uu____8136, decls1))) + FStar_SMTEncoding_Term.Term_sort) + in + (uu____9326, scr) in + [uu____9321] in + (uu____9314, match_tm) in + FStar_SMTEncoding_Term.mkLet' uu____9303 + FStar_Range.dummyRange + in + (uu____9302, decls1))) + and (encode_pat : FStar_SMTEncoding_Env.env_t -> FStar_Syntax_Syntax.pat -> (FStar_SMTEncoding_Env.env_t * pattern)) = - fun env -> - fun pat -> - (let uu____8183 = + fun env -> + fun pat -> + (let uu____9349 = FStar_TypeChecker_Env.debug env.FStar_SMTEncoding_Env.tcenv - FStar_Options.Medium in - if uu____8183 + FStar_Options.Medium + in + if uu____9349 then - let uu____8186 = FStar_Syntax_Print.pat_to_string pat in - FStar_Util.print1 "Encoding pattern %s\n" uu____8186 + let uu____9352 = FStar_Syntax_Print.pat_to_string pat in + FStar_Util.print1 "Encoding pattern %s\n" uu____9352 else ()); - (let uu____8191 = FStar_TypeChecker_Util.decorated_pattern_as_term pat in - match uu____8191 with - | (vars, pat_term) -> - let uu____8208 = + (let uu____9357 = FStar_TypeChecker_Util.decorated_pattern_as_term pat + in + match uu____9357 with + | (vars,pat_term) -> + let uu____9374 = FStar_All.pipe_right vars (FStar_List.fold_left - (fun uu____8250 -> - fun v1 -> - match uu____8250 with - | (env1, vars1) -> - let uu____8286 = - FStar_SMTEncoding_Env.gen_term_var env1 v1 in - (match uu____8286 with - | (xx, uu____8305, env2) -> - let uu____8309 = - let uu____8316 = - let uu____8321 = + (fun uu____9416 -> + fun v1 -> + match uu____9416 with + | (env1,vars1) -> + let uu____9452 = + FStar_SMTEncoding_Env.gen_term_var env1 v1 in + (match uu____9452 with + | (xx,uu____9471,env2) -> + let uu____9475 = + let uu____9482 = + let uu____9487 = FStar_SMTEncoding_Term.mk_fv (xx, - FStar_SMTEncoding_Term.Term_sort) in - (v1, uu____8321) in - uu____8316 :: vars1 in - (env2, uu____8309))) (env, [])) in - (match uu____8208 with - | (env1, vars1) -> + FStar_SMTEncoding_Term.Term_sort) + in + (v1, uu____9487) in + uu____9482 :: vars1 in + (env2, uu____9475))) (env, [])) + in + (match uu____9374 with + | (env1,vars1) -> let rec mk_guard pat1 scrutinee = match pat1.FStar_Syntax_Syntax.v with - | FStar_Syntax_Syntax.Pat_var uu____8376 -> + | FStar_Syntax_Syntax.Pat_var uu____9542 -> FStar_SMTEncoding_Util.mkTrue - | FStar_Syntax_Syntax.Pat_wild uu____8377 -> + | FStar_Syntax_Syntax.Pat_wild uu____9543 -> FStar_SMTEncoding_Util.mkTrue - | FStar_Syntax_Syntax.Pat_dot_term uu____8378 -> + | FStar_Syntax_Syntax.Pat_dot_term uu____9544 -> FStar_SMTEncoding_Util.mkTrue | FStar_Syntax_Syntax.Pat_constant c -> - let uu____8386 = encode_const c env1 in - (match uu____8386 with - | (tm, decls) -> + let uu____9552 = encode_const c env1 in + (match uu____9552 with + | (tm,decls) -> ((match decls with - | uu____8394::uu____8395 -> + | uu____9560::uu____9561 -> failwith "Unexpected encoding of constant pattern" - | uu____8399 -> ()); + | uu____9565 -> ()); FStar_SMTEncoding_Util.mkEq (scrutinee, tm))) - | FStar_Syntax_Syntax.Pat_cons (f, args) -> + | FStar_Syntax_Syntax.Pat_cons (f,args) -> let is_f = let tc_name = FStar_TypeChecker_Env.typ_of_datacon env1.FStar_SMTEncoding_Env.tcenv - (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let uu____8422 = + (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + let uu____9588 = FStar_TypeChecker_Env.datacons_of_typ - env1.FStar_SMTEncoding_Env.tcenv tc_name in - match uu____8422 with - | (uu____8430, uu____8431::[]) -> + env1.FStar_SMTEncoding_Env.tcenv tc_name + in + match uu____9588 with + | (uu____9596,uu____9597::[]) -> FStar_SMTEncoding_Util.mkTrue - | uu____8436 -> + | uu____9602 -> FStar_SMTEncoding_Env.mk_data_tester env1 (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - scrutinee in + scrutinee + in let sub_term_guards = FStar_All.pipe_right args (FStar_List.mapi - (fun i -> - fun uu____8472 -> - match uu____8472 with - | (arg, uu____8482) -> + (fun i -> + fun uu____9638 -> + match uu____9638 with + | (arg,uu____9648) -> let proj = FStar_SMTEncoding_Env.primitive_projector_by_pos env1.FStar_SMTEncoding_Env.tcenv (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - i in - let uu____8491 = + i + in + let uu____9657 = FStar_SMTEncoding_Util.mkApp - (proj, [scrutinee]) in - mk_guard arg uu____8491)) in + (proj, [scrutinee]) + in + mk_guard arg uu____9657)) + in FStar_SMTEncoding_Util.mk_and_l (is_f :: - sub_term_guards) in + sub_term_guards) + in let rec mk_projections pat1 scrutinee = match pat1.FStar_Syntax_Syntax.v with - | FStar_Syntax_Syntax.Pat_dot_term (x, uu____8523) -> + | FStar_Syntax_Syntax.Pat_dot_term (x,uu____9689) -> [(x, scrutinee)] | FStar_Syntax_Syntax.Pat_var x -> [(x, scrutinee)] | FStar_Syntax_Syntax.Pat_wild x -> [(x, scrutinee)] - | FStar_Syntax_Syntax.Pat_constant uu____8554 -> [] - | FStar_Syntax_Syntax.Pat_cons (f, args) -> - let uu____8579 = + | FStar_Syntax_Syntax.Pat_constant uu____9720 -> [] + | FStar_Syntax_Syntax.Pat_cons (f,args) -> + let uu____9745 = FStar_All.pipe_right args (FStar_List.mapi - (fun i -> - fun uu____8625 -> - match uu____8625 with - | (arg, uu____8641) -> + (fun i -> + fun uu____9791 -> + match uu____9791 with + | (arg,uu____9807) -> let proj = FStar_SMTEncoding_Env.primitive_projector_by_pos env1.FStar_SMTEncoding_Env.tcenv (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - i in - let uu____8650 = + i + in + let uu____9816 = FStar_SMTEncoding_Util.mkApp - (proj, [scrutinee]) in - mk_projections arg uu____8650)) in - FStar_All.pipe_right uu____8579 FStar_List.flatten in - let pat_term1 uu____8681 = encode_term pat_term env1 in + (proj, [scrutinee]) + in + mk_projections arg uu____9816)) + in + FStar_All.pipe_right uu____9745 FStar_List.flatten + in + let pat_term1 uu____9847 = encode_term pat_term env1 in let pattern = { pat_vars = vars1; pat_term = pat_term1; guard = (mk_guard pat); projections = (mk_projections pat) - } in + } in (env1, pattern))) + and (encode_args : FStar_Syntax_Syntax.args -> FStar_SMTEncoding_Env.env_t -> (FStar_SMTEncoding_Term.term Prims.list * FStar_SMTEncoding_Term.decls_t)) = - fun l -> - fun env -> - let uu____8691 = + fun l -> + fun env -> + let uu____9857 = FStar_All.pipe_right l (FStar_List.fold_left - (fun uu____8739 -> - fun uu____8740 -> - match (uu____8739, uu____8740) with - | ((tms, decls), (t, uu____8780)) -> - let uu____8807 = encode_term t env in - (match uu____8807 with - | (t1, decls') -> + (fun uu____9905 -> + fun uu____9906 -> + match (uu____9905, uu____9906) with + | ((tms,decls),(t,uu____9946)) -> + let uu____9973 = encode_term t env in + (match uu____9973 with + | (t1,decls') -> ((t1 :: tms), (FStar_List.append decls decls')))) - ([], [])) in - match uu____8691 with | (l1, decls) -> ((FStar_List.rev l1), decls) + ([], [])) + in + match uu____9857 with | (l1,decls) -> ((FStar_List.rev l1), decls) + and (encode_function_type_as_formula : FStar_Syntax_Syntax.typ -> FStar_SMTEncoding_Env.env_t -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) = - fun t -> - fun env -> + fun t -> + fun env -> let universe_of_binders binders = - FStar_List.map (fun uu____8885 -> FStar_Syntax_Syntax.U_zero) binders in - let quant = FStar_Syntax_Util.smt_lemma_as_forall t universe_of_binders in + FStar_List.map (fun uu____10051 -> FStar_Syntax_Syntax.U_zero) + binders + in + let quant = FStar_Syntax_Util.smt_lemma_as_forall t universe_of_binders + in let env1 = - let uu___1241_8894 = env in + let uu___1382_10060 = env in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___1241_8894.FStar_SMTEncoding_Env.bvar_bindings); + (uu___1382_10060.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___1241_8894.FStar_SMTEncoding_Env.fvar_bindings); + (uu___1382_10060.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___1241_8894.FStar_SMTEncoding_Env.depth); + (uu___1382_10060.FStar_SMTEncoding_Env.depth); FStar_SMTEncoding_Env.tcenv = - (uu___1241_8894.FStar_SMTEncoding_Env.tcenv); + (uu___1382_10060.FStar_SMTEncoding_Env.tcenv); FStar_SMTEncoding_Env.warn = - (uu___1241_8894.FStar_SMTEncoding_Env.warn); + (uu___1382_10060.FStar_SMTEncoding_Env.warn); FStar_SMTEncoding_Env.nolabels = - (uu___1241_8894.FStar_SMTEncoding_Env.nolabels); + (uu___1382_10060.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = true; FStar_SMTEncoding_Env.encode_non_total_function_typ = - (uu___1241_8894.FStar_SMTEncoding_Env.encode_non_total_function_typ); + (uu___1382_10060.FStar_SMTEncoding_Env.encode_non_total_function_typ); FStar_SMTEncoding_Env.current_module_name = - (uu___1241_8894.FStar_SMTEncoding_Env.current_module_name); + (uu___1382_10060.FStar_SMTEncoding_Env.current_module_name); FStar_SMTEncoding_Env.encoding_quantifier = - (uu___1241_8894.FStar_SMTEncoding_Env.encoding_quantifier); + (uu___1382_10060.FStar_SMTEncoding_Env.encoding_quantifier); FStar_SMTEncoding_Env.global_cache = - (uu___1241_8894.FStar_SMTEncoding_Env.global_cache) - } in + (uu___1382_10060.FStar_SMTEncoding_Env.global_cache) + } in encode_formula quant env1 + and (encode_smt_patterns : FStar_Syntax_Syntax.arg Prims.list Prims.list -> FStar_SMTEncoding_Env.env_t -> (FStar_SMTEncoding_Term.term Prims.list Prims.list * FStar_SMTEncoding_Term.decls_t)) = - fun pats_l -> - fun env -> + fun pats_l -> + fun env -> let env1 = - let uu___1246_8911 = env in + let uu___1387_10077 = env in { FStar_SMTEncoding_Env.bvar_bindings = - (uu___1246_8911.FStar_SMTEncoding_Env.bvar_bindings); + (uu___1387_10077.FStar_SMTEncoding_Env.bvar_bindings); FStar_SMTEncoding_Env.fvar_bindings = - (uu___1246_8911.FStar_SMTEncoding_Env.fvar_bindings); + (uu___1387_10077.FStar_SMTEncoding_Env.fvar_bindings); FStar_SMTEncoding_Env.depth = - (uu___1246_8911.FStar_SMTEncoding_Env.depth); + (uu___1387_10077.FStar_SMTEncoding_Env.depth); FStar_SMTEncoding_Env.tcenv = - (uu___1246_8911.FStar_SMTEncoding_Env.tcenv); + (uu___1387_10077.FStar_SMTEncoding_Env.tcenv); FStar_SMTEncoding_Env.warn = - (uu___1246_8911.FStar_SMTEncoding_Env.warn); + (uu___1387_10077.FStar_SMTEncoding_Env.warn); FStar_SMTEncoding_Env.nolabels = - (uu___1246_8911.FStar_SMTEncoding_Env.nolabels); + (uu___1387_10077.FStar_SMTEncoding_Env.nolabels); FStar_SMTEncoding_Env.use_zfuel_name = true; FStar_SMTEncoding_Env.encode_non_total_function_typ = - (uu___1246_8911.FStar_SMTEncoding_Env.encode_non_total_function_typ); + (uu___1387_10077.FStar_SMTEncoding_Env.encode_non_total_function_typ); FStar_SMTEncoding_Env.current_module_name = - (uu___1246_8911.FStar_SMTEncoding_Env.current_module_name); + (uu___1387_10077.FStar_SMTEncoding_Env.current_module_name); FStar_SMTEncoding_Env.encoding_quantifier = - (uu___1246_8911.FStar_SMTEncoding_Env.encoding_quantifier); + (uu___1387_10077.FStar_SMTEncoding_Env.encoding_quantifier); FStar_SMTEncoding_Env.global_cache = - (uu___1246_8911.FStar_SMTEncoding_Env.global_cache) - } in + (uu___1387_10077.FStar_SMTEncoding_Env.global_cache) + } in let encode_smt_pattern t = - let uu____8927 = FStar_Syntax_Util.head_and_args t in - match uu____8927 with - | (head1, args) -> - let head2 = FStar_Syntax_Util.un_uinst head1 in + let uu____10093 = FStar_Syntax_Util.head_and_args t in + match uu____10093 with + | (head1,args) -> + let head2 = FStar_Syntax_Util.un_uinst head1 in (match ((head2.FStar_Syntax_Syntax.n), args) with - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____8990::(x, uu____8992)::(t1, uu____8994)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,uu____10156::(x,uu____10158)::(t1,uu____10160)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.has_type_lid -> - let uu____9061 = encode_term x env1 in - (match uu____9061 with - | (x1, decls) -> - let uu____9072 = encode_term t1 env1 in - (match uu____9072 with - | (t2, decls') -> - let uu____9083 = - FStar_SMTEncoding_Term.mk_HasType x1 t2 in - (uu____9083, (FStar_List.append decls decls')))) - | uu____9084 -> encode_term t env1) in + let uu____10227 = encode_term x env1 in + (match uu____10227 with + | (x1,decls) -> + let uu____10238 = encode_term t1 env1 in + (match uu____10238 with + | (t2,decls') -> + let uu____10249 = + FStar_SMTEncoding_Term.mk_HasType x1 t2 in + (uu____10249, (FStar_List.append decls decls')))) + | uu____10250 -> encode_term t env1) + in FStar_List.fold_right - (fun pats -> - fun uu____9127 -> - match uu____9127 with - | (pats_l1, decls) -> - let uu____9172 = + (fun pats -> + fun uu____10293 -> + match uu____10293 with + | (pats_l1,decls) -> + let uu____10338 = FStar_List.fold_right - (fun uu____9207 -> - fun uu____9208 -> - match (uu____9207, uu____9208) with - | ((p, uu____9250), (pats1, decls1)) -> - let uu____9285 = encode_smt_pattern p in - (match uu____9285 with - | (t, d) -> - let uu____9300 = + (fun uu____10373 -> + fun uu____10374 -> + match (uu____10373, uu____10374) with + | ((p,uu____10416),(pats1,decls1)) -> + let uu____10451 = encode_smt_pattern p in + (match uu____10451 with + | (t,d) -> + let uu____10466 = FStar_SMTEncoding_Term.check_pattern_ok - t in - (match uu____9300 with - | FStar_Pervasives_Native.None -> + t + in + (match uu____10466 with + | FStar_Pervasives_Native.None -> ((t :: pats1), (FStar_List.append d decls1)) | FStar_Pervasives_Native.Some illegal_subterm -> - ((let uu____9317 = - let uu____9323 = - let uu____9325 = + ((let uu____10483 = + let uu____10489 = + let uu____10491 = FStar_Syntax_Print.term_to_string - p in - let uu____9327 = + p + in + let uu____10493 = FStar_SMTEncoding_Term.print_smt_term - illegal_subterm in + illegal_subterm + in FStar_Util.format2 "Pattern %s contains illegal sub-term (%s); dropping it" - uu____9325 uu____9327 in + uu____10491 uu____10493 + in (FStar_Errors.Warning_SMTPatternIllFormed, - uu____9323) in + uu____10489) + in FStar_Errors.log_issue p.FStar_Syntax_Syntax.pos - uu____9317); + uu____10483); (pats1, (FStar_List.append d decls1)))))) - pats ([], decls) in - (match uu____9172 with - | (pats1, decls1) -> ((pats1 :: pats_l1), decls1))) pats_l + pats ([], decls) + in + (match uu____10338 with + | (pats1,decls1) -> ((pats1 :: pats_l1), decls1))) pats_l ([], []) + and (encode_formula : FStar_Syntax_Syntax.typ -> FStar_SMTEncoding_Env.env_t -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.decls_t)) = - fun phi -> - fun env -> + fun phi -> + fun env -> let debug1 phi1 = - let uu____9387 = + let uu____10553 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env.FStar_SMTEncoding_Env.tcenv) - (FStar_Options.Other "SMTEncoding") in - if uu____9387 + (FStar_Options.Other "SMTEncoding") + in + if uu____10553 then - let uu____9392 = FStar_Syntax_Print.tag_of_term phi1 in - let uu____9394 = FStar_Syntax_Print.term_to_string phi1 in - FStar_Util.print2 "Formula (%s) %s\n" uu____9392 uu____9394 - else () in + let uu____10558 = FStar_Syntax_Print.tag_of_term phi1 in + let uu____10560 = FStar_Syntax_Print.term_to_string phi1 in + FStar_Util.print2 "Formula (%s) %s\n" uu____10558 uu____10560 + else () in let enc f r l = - let uu____9436 = + let uu____10602 = FStar_Util.fold_map - (fun decls -> - fun x -> - let uu____9468 = - encode_term (FStar_Pervasives_Native.fst x) env in - match uu____9468 with - | (t, decls') -> ((FStar_List.append decls decls'), t)) [] l in - match uu____9436 with - | (decls, args) -> - let uu____9499 = - let uu___1310_9500 = f args in + (fun decls -> + fun x -> + let uu____10634 = + encode_term (FStar_Pervasives_Native.fst x) env in + match uu____10634 with + | (t,decls') -> ((FStar_List.append decls decls'), t)) [] l + in + match uu____10602 with + | (decls,args) -> + let uu____10665 = + let uu___1451_10666 = f args in { FStar_SMTEncoding_Term.tm = - (uu___1310_9500.FStar_SMTEncoding_Term.tm); + (uu___1451_10666.FStar_SMTEncoding_Term.tm); FStar_SMTEncoding_Term.freevars = - (uu___1310_9500.FStar_SMTEncoding_Term.freevars); + (uu___1451_10666.FStar_SMTEncoding_Term.freevars); FStar_SMTEncoding_Term.rng = r - } in - (uu____9499, decls) in - let const_op f r uu____9535 = let uu____9548 = f r in (uu____9548, []) in + } in + (uu____10665, decls) + in + let const_op f r uu____10701 = + let uu____10714 = f r in (uu____10714, []) in let un_op f l = - let uu____9571 = FStar_List.hd l in FStar_All.pipe_left f uu____9571 in - let bin_op f uu___2_9591 = - match uu___2_9591 with + let uu____10737 = FStar_List.hd l in + FStar_All.pipe_left f uu____10737 in + let bin_op f uu___2_10757 = + match uu___2_10757 with | t1::t2::[] -> f (t1, t2) - | uu____9602 -> failwith "Impossible" in + | uu____10768 -> failwith "Impossible" in let enc_prop_c f r l = - let uu____9643 = + let uu____10809 = FStar_Util.fold_map - (fun decls -> - fun uu____9668 -> - match uu____9668 with - | (t, uu____9684) -> - let uu____9689 = encode_formula t env in - (match uu____9689 with - | (phi1, decls') -> - ((FStar_List.append decls decls'), phi1))) [] l in - match uu____9643 with - | (decls, phis) -> - let uu____9718 = - let uu___1340_9719 = f phis in + (fun decls -> + fun uu____10834 -> + match uu____10834 with + | (t,uu____10850) -> + let uu____10855 = encode_formula t env in + (match uu____10855 with + | (phi1,decls') -> + ((FStar_List.append decls decls'), phi1))) [] l + in + match uu____10809 with + | (decls,phis) -> + let uu____10884 = + let uu___1481_10885 = f phis in { FStar_SMTEncoding_Term.tm = - (uu___1340_9719.FStar_SMTEncoding_Term.tm); + (uu___1481_10885.FStar_SMTEncoding_Term.tm); FStar_SMTEncoding_Term.freevars = - (uu___1340_9719.FStar_SMTEncoding_Term.freevars); + (uu___1481_10885.FStar_SMTEncoding_Term.freevars); FStar_SMTEncoding_Term.rng = r - } in - (uu____9718, decls) in + } in + (uu____10884, decls) + in let eq_op r args = let rf = FStar_List.filter - (fun uu____9782 -> - match uu____9782 with - | (a, q) -> + (fun uu____10948 -> + match uu____10948 with + | (a,q) -> (match q with | FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____9803) -> false - | uu____9806 -> true)) args in + (FStar_Syntax_Syntax.Implicit uu____10969) -> false + | uu____10972 -> true)) args + in if (FStar_List.length rf) <> (Prims.parse_int "2") then - let uu____9825 = + let uu____10991 = FStar_Util.format1 "eq_op: got %s non-implicit arguments instead of 2?" - (Prims.string_of_int (FStar_List.length rf)) in - failwith uu____9825 + (Prims.string_of_int (FStar_List.length rf)) + in + failwith uu____10991 else - (let uu____9842 = enc (bin_op FStar_SMTEncoding_Util.mkEq) in - uu____9842 r rf) in + (let uu____11008 = enc (bin_op FStar_SMTEncoding_Util.mkEq) in + uu____11008 r rf) + in let eq3_op r args = - let n1 = FStar_List.length args in + let n1 = FStar_List.length args in if n1 = (Prims.parse_int "4") then - let uu____9910 = + let uu____11076 = enc - (fun terms -> + (fun terms -> match terms with | t0::t1::v0::v1::[] -> - let uu____9942 = - let uu____9947 = FStar_SMTEncoding_Util.mkEq (t0, t1) in - let uu____9948 = FStar_SMTEncoding_Util.mkEq (v0, v1) in - (uu____9947, uu____9948) in - FStar_SMTEncoding_Util.mkAnd uu____9942 - | uu____9949 -> failwith "Impossible") in - uu____9910 r args + let uu____11108 = + let uu____11113 = FStar_SMTEncoding_Util.mkEq (t0, t1) + in + let uu____11114 = FStar_SMTEncoding_Util.mkEq (v0, v1) + in + (uu____11113, uu____11114) in + FStar_SMTEncoding_Util.mkAnd uu____11108 + | uu____11115 -> failwith "Impossible") + in + uu____11076 r args else - (let uu____9955 = + (let uu____11121 = FStar_Util.format1 "eq3_op: got %s non-implicit arguments instead of 4?" - (Prims.string_of_int n1) in - failwith uu____9955) in + (Prims.string_of_int n1) + in + failwith uu____11121) + in let h_equals_op r args = - let n1 = FStar_List.length args in + let n1 = FStar_List.length args in if n1 = (Prims.parse_int "4") then - let uu____10017 = + let uu____11183 = enc - (fun terms -> + (fun terms -> match terms with | t0::v0::t1::v1::[] -> - let uu____10049 = - let uu____10054 = FStar_SMTEncoding_Util.mkEq (t0, t1) in - let uu____10055 = FStar_SMTEncoding_Util.mkEq (v0, v1) in - (uu____10054, uu____10055) in - FStar_SMTEncoding_Util.mkAnd uu____10049 - | uu____10056 -> failwith "Impossible") in - uu____10017 r args + let uu____11215 = + let uu____11220 = FStar_SMTEncoding_Util.mkEq (t0, t1) + in + let uu____11221 = FStar_SMTEncoding_Util.mkEq (v0, v1) + in + (uu____11220, uu____11221) in + FStar_SMTEncoding_Util.mkAnd uu____11215 + | uu____11222 -> failwith "Impossible") + in + uu____11183 r args else - (let uu____10062 = + (let uu____11228 = FStar_Util.format1 "eq3_op: got %s non-implicit arguments instead of 4?" - (Prims.string_of_int n1) in - failwith uu____10062) in - let mk_imp1 r uu___3_10091 = - match uu___3_10091 with - | (lhs, uu____10097)::(rhs, uu____10099)::[] -> - let uu____10140 = encode_formula rhs env in - (match uu____10140 with - | (l1, decls1) -> + (Prims.string_of_int n1) + in + failwith uu____11228) + in + let mk_imp1 r uu___3_11257 = + match uu___3_11257 with + | (lhs,uu____11263)::(rhs,uu____11265)::[] -> + let uu____11306 = encode_formula rhs env in + (match uu____11306 with + | (l1,decls1) -> (match l1.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.TrueOp, uu____10155) -> + (FStar_SMTEncoding_Term.TrueOp ,uu____11321) -> (l1, decls1) - | uu____10160 -> - let uu____10161 = encode_formula lhs env in - (match uu____10161 with - | (l2, decls2) -> - let uu____10172 = - FStar_SMTEncoding_Term.mkImp (l2, l1) r in - (uu____10172, (FStar_List.append decls1 decls2))))) - | uu____10173 -> failwith "impossible" in - let mk_ite r uu___4_10201 = - match uu___4_10201 with - | (guard, uu____10207)::(_then, uu____10209)::(_else, uu____10211)::[] + | uu____11326 -> + let uu____11327 = encode_formula lhs env in + (match uu____11327 with + | (l2,decls2) -> + let uu____11338 = + FStar_SMTEncoding_Term.mkImp (l2, l1) r in + (uu____11338, (FStar_List.append decls1 decls2))))) + | uu____11339 -> failwith "impossible" in + let mk_ite r uu___4_11367 = + match uu___4_11367 with + | (guard,uu____11373)::(_then,uu____11375)::(_else,uu____11377)::[] -> - let uu____10268 = encode_formula guard env in - (match uu____10268 with - | (g, decls1) -> - let uu____10279 = encode_formula _then env in - (match uu____10279 with - | (t, decls2) -> - let uu____10290 = encode_formula _else env in - (match uu____10290 with - | (e, decls3) -> - let res = FStar_SMTEncoding_Term.mkITE (g, t, e) r in + let uu____11434 = encode_formula guard env in + (match uu____11434 with + | (g,decls1) -> + let uu____11445 = encode_formula _then env in + (match uu____11445 with + | (t,decls2) -> + let uu____11456 = encode_formula _else env in + (match uu____11456 with + | (e,decls3) -> + let res = FStar_SMTEncoding_Term.mkITE (g, t, e) r + in (res, (FStar_List.append decls1 (FStar_List.append decls2 decls3)))))) - | uu____10302 -> failwith "impossible" in + | uu____11468 -> failwith "impossible" in let unboxInt_l f l = - let uu____10332 = FStar_List.map FStar_SMTEncoding_Term.unboxInt l in - f uu____10332 in + let uu____11498 = FStar_List.map FStar_SMTEncoding_Term.unboxInt l + in + f uu____11498 in let connectives = - let uu____10362 = - let uu____10387 = enc_prop_c (bin_op FStar_SMTEncoding_Util.mkAnd) in - (FStar_Parser_Const.and_lid, uu____10387) in - let uu____10430 = - let uu____10457 = - let uu____10482 = enc_prop_c (bin_op FStar_SMTEncoding_Util.mkOr) in - (FStar_Parser_Const.or_lid, uu____10482) in - let uu____10525 = - let uu____10552 = - let uu____10579 = - let uu____10604 = - enc_prop_c (bin_op FStar_SMTEncoding_Util.mkIff) in - (FStar_Parser_Const.iff_lid, uu____10604) in - let uu____10647 = - let uu____10674 = - let uu____10701 = - let uu____10726 = - enc_prop_c (un_op FStar_SMTEncoding_Util.mkNot) in - (FStar_Parser_Const.not_lid, uu____10726) in - [uu____10701; + let uu____11528 = + let uu____11553 = enc_prop_c (bin_op FStar_SMTEncoding_Util.mkAnd) + in + (FStar_Parser_Const.and_lid, uu____11553) in + let uu____11596 = + let uu____11623 = + let uu____11648 = enc_prop_c (bin_op FStar_SMTEncoding_Util.mkOr) + in + (FStar_Parser_Const.or_lid, uu____11648) in + let uu____11691 = + let uu____11718 = + let uu____11745 = + let uu____11770 = + enc_prop_c (bin_op FStar_SMTEncoding_Util.mkIff) in + (FStar_Parser_Const.iff_lid, uu____11770) in + let uu____11813 = + let uu____11840 = + let uu____11867 = + let uu____11892 = + enc_prop_c (un_op FStar_SMTEncoding_Util.mkNot) in + (FStar_Parser_Const.not_lid, uu____11892) in + [uu____11867; (FStar_Parser_Const.eq2_lid, eq_op); (FStar_Parser_Const.c_eq2_lid, eq_op); (FStar_Parser_Const.eq3_lid, eq3_op); @@ -3156,223 +4039,240 @@ and (encode_formula : (FStar_Parser_Const.true_lid, (const_op FStar_SMTEncoding_Term.mkTrue)); (FStar_Parser_Const.false_lid, - (const_op FStar_SMTEncoding_Term.mkFalse))] in - (FStar_Parser_Const.ite_lid, mk_ite) :: uu____10674 in - uu____10579 :: uu____10647 in - (FStar_Parser_Const.imp_lid, mk_imp1) :: uu____10552 in - uu____10457 :: uu____10525 in - uu____10362 :: uu____10430 in + (const_op FStar_SMTEncoding_Term.mkFalse))] + in + (FStar_Parser_Const.ite_lid, mk_ite) :: uu____11840 in + uu____11745 :: uu____11813 in + (FStar_Parser_Const.imp_lid, mk_imp1) :: uu____11718 in + uu____11623 :: uu____11691 in + uu____11528 :: uu____11596 in let rec fallback phi1 = match phi1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_meta - (phi', FStar_Syntax_Syntax.Meta_labeled (msg, r, b)) -> - let uu____11271 = encode_formula phi' env in - (match uu____11271 with - | (phi2, decls) -> - let uu____11282 = + (phi',FStar_Syntax_Syntax.Meta_labeled (msg,r,b)) -> + let uu____12437 = encode_formula phi' env in + (match uu____12437 with + | (phi2,decls) -> + let uu____12448 = FStar_SMTEncoding_Term.mk - (FStar_SMTEncoding_Term.Labeled (phi2, msg, r)) r in - (uu____11282, decls)) - | FStar_Syntax_Syntax.Tm_meta uu____11284 -> - let uu____11291 = FStar_Syntax_Util.unmeta phi1 in - encode_formula uu____11291 env - | FStar_Syntax_Syntax.Tm_match (e, pats) -> - let uu____11330 = + (FStar_SMTEncoding_Term.Labeled (phi2, msg, r)) r + in + (uu____12448, decls)) + | FStar_Syntax_Syntax.Tm_meta uu____12450 -> + let uu____12457 = FStar_Syntax_Util.unmeta phi1 in + encode_formula uu____12457 env + | FStar_Syntax_Syntax.Tm_match (e,pats) -> + let uu____12496 = encode_match e pats FStar_SMTEncoding_Util.mkFalse env - encode_formula in - (match uu____11330 with | (t, decls) -> (t, decls)) + encode_formula + in + (match uu____12496 with | (t,decls) -> (t, decls)) | FStar_Syntax_Syntax.Tm_let - ((false, - { FStar_Syntax_Syntax.lbname = FStar_Util.Inl x; - FStar_Syntax_Syntax.lbunivs = uu____11342; - FStar_Syntax_Syntax.lbtyp = t1; - FStar_Syntax_Syntax.lbeff = uu____11344; - FStar_Syntax_Syntax.lbdef = e1; - FStar_Syntax_Syntax.lbattrs = uu____11346; - FStar_Syntax_Syntax.lbpos = uu____11347;_}::[]), - e2) + ((false + ,{ FStar_Syntax_Syntax.lbname = FStar_Util.Inl x; + FStar_Syntax_Syntax.lbunivs = uu____12508; + FStar_Syntax_Syntax.lbtyp = t1; + FStar_Syntax_Syntax.lbeff = uu____12510; + FStar_Syntax_Syntax.lbdef = e1; + FStar_Syntax_Syntax.lbattrs = uu____12512; + FStar_Syntax_Syntax.lbpos = uu____12513;_}::[]),e2) -> - let uu____11374 = encode_let x t1 e1 e2 env encode_formula in - (match uu____11374 with | (t, decls) -> (t, decls)) - | FStar_Syntax_Syntax.Tm_app (head1, args) -> - let head2 = FStar_Syntax_Util.un_uinst head1 in + let uu____12540 = encode_let x t1 e1 e2 env encode_formula in + (match uu____12540 with | (t,decls) -> (t, decls)) + | FStar_Syntax_Syntax.Tm_app (head1,args) -> + let head2 = FStar_Syntax_Util.un_uinst head1 in (match ((head2.FStar_Syntax_Syntax.n), args) with - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____11427::(x, uu____11429)::(t, uu____11431)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,uu____12593::(x,uu____12595)::(t,uu____12597)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.has_type_lid -> - let uu____11498 = encode_term x env in - (match uu____11498 with - | (x1, decls) -> - let uu____11509 = encode_term t env in - (match uu____11509 with - | (t1, decls') -> - let uu____11520 = - FStar_SMTEncoding_Term.mk_HasType x1 t1 in - (uu____11520, (FStar_List.append decls decls')))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (r, uu____11523)::(msg, uu____11525)::(phi2, uu____11527)::[]) + let uu____12664 = encode_term x env in + (match uu____12664 with + | (x1,decls) -> + let uu____12675 = encode_term t env in + (match uu____12675 with + | (t1,decls') -> + let uu____12686 = + FStar_SMTEncoding_Term.mk_HasType x1 t1 in + (uu____12686, (FStar_List.append decls decls')))) + | (FStar_Syntax_Syntax.Tm_fvar + fv,(r,uu____12689)::(msg,uu____12691)::(phi2,uu____12693)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.labeled_lid -> - let uu____11594 = - let uu____11599 = - let uu____11600 = FStar_Syntax_Subst.compress r in - uu____11600.FStar_Syntax_Syntax.n in - let uu____11603 = - let uu____11604 = FStar_Syntax_Subst.compress msg in - uu____11604.FStar_Syntax_Syntax.n in - (uu____11599, uu____11603) in - (match uu____11594 with + let uu____12760 = + let uu____12765 = + let uu____12766 = FStar_Syntax_Subst.compress r in + uu____12766.FStar_Syntax_Syntax.n in + let uu____12769 = + let uu____12770 = FStar_Syntax_Subst.compress msg in + uu____12770.FStar_Syntax_Syntax.n in + (uu____12765, uu____12769) in + (match uu____12760 with | (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range - r1), FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_string (s, uu____11613))) -> + r1),FStar_Syntax_Syntax.Tm_constant + (FStar_Const.Const_string (s,uu____12779))) -> let phi3 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta (phi2, (FStar_Syntax_Syntax.Meta_labeled (s, r1, false)))) - FStar_Pervasives_Native.None r1 in + FStar_Pervasives_Native.None r1 + in fallback phi3 - | uu____11624 -> fallback phi2) - | (FStar_Syntax_Syntax.Tm_fvar fv, (t, uu____11631)::[]) when + | uu____12790 -> fallback phi2) + | (FStar_Syntax_Syntax.Tm_fvar fv,(t,uu____12797)::[]) when (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.squash_lid) || (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.auto_squash_lid) -> encode_formula t env - | uu____11666 when head_redex env head2 -> - let uu____11681 = whnf env phi1 in - encode_formula uu____11681 env - | uu____11682 -> - let uu____11697 = encode_term phi1 env in - (match uu____11697 with - | (tt, decls) -> + | uu____12832 when head_redex env head2 -> + let uu____12847 = whnf env phi1 in + encode_formula uu____12847 env + | uu____12848 -> + let uu____12863 = encode_term phi1 env in + (match uu____12863 with + | (tt,decls) -> let tt1 = - let uu____11709 = - let uu____11711 = + let uu____12875 = + let uu____12877 = FStar_Range.use_range - tt.FStar_SMTEncoding_Term.rng in - let uu____11712 = + tt.FStar_SMTEncoding_Term.rng + in + let uu____12878 = FStar_Range.use_range - phi1.FStar_Syntax_Syntax.pos in - FStar_Range.rng_included uu____11711 uu____11712 in - if uu____11709 + phi1.FStar_Syntax_Syntax.pos + in + FStar_Range.rng_included uu____12877 uu____12878 + in + if uu____12875 then tt else - (let uu___1527_11716 = tt in + (let uu___1668_12882 = tt in { FStar_SMTEncoding_Term.tm = - (uu___1527_11716.FStar_SMTEncoding_Term.tm); + (uu___1668_12882.FStar_SMTEncoding_Term.tm); FStar_SMTEncoding_Term.freevars = - (uu___1527_11716.FStar_SMTEncoding_Term.freevars); + (uu___1668_12882.FStar_SMTEncoding_Term.freevars); FStar_SMTEncoding_Term.rng = (phi1.FStar_Syntax_Syntax.pos) - }) in - let uu____11717 = FStar_SMTEncoding_Term.mk_Valid tt1 in - (uu____11717, decls))) - | uu____11718 -> - let uu____11719 = encode_term phi1 env in - (match uu____11719 with - | (tt, decls) -> + }) + in + let uu____12883 = FStar_SMTEncoding_Term.mk_Valid tt1 + in + (uu____12883, decls))) + | uu____12884 -> + let uu____12885 = encode_term phi1 env in + (match uu____12885 with + | (tt,decls) -> let tt1 = - let uu____11731 = - let uu____11733 = - FStar_Range.use_range tt.FStar_SMTEncoding_Term.rng in - let uu____11734 = - FStar_Range.use_range phi1.FStar_Syntax_Syntax.pos in - FStar_Range.rng_included uu____11733 uu____11734 in - if uu____11731 + let uu____12897 = + let uu____12899 = + FStar_Range.use_range tt.FStar_SMTEncoding_Term.rng + in + let uu____12900 = + FStar_Range.use_range phi1.FStar_Syntax_Syntax.pos in + FStar_Range.rng_included uu____12899 uu____12900 in + if uu____12897 then tt else - (let uu___1535_11738 = tt in + (let uu___1676_12904 = tt in { FStar_SMTEncoding_Term.tm = - (uu___1535_11738.FStar_SMTEncoding_Term.tm); + (uu___1676_12904.FStar_SMTEncoding_Term.tm); FStar_SMTEncoding_Term.freevars = - (uu___1535_11738.FStar_SMTEncoding_Term.freevars); + (uu___1676_12904.FStar_SMTEncoding_Term.freevars); FStar_SMTEncoding_Term.rng = (phi1.FStar_Syntax_Syntax.pos) - }) in - let uu____11739 = FStar_SMTEncoding_Term.mk_Valid tt1 in - (uu____11739, decls)) in + }) + in + let uu____12905 = FStar_SMTEncoding_Term.mk_Valid tt1 in + (uu____12905, decls)) + in let encode_q_body env1 bs ps body = - let uu____11783 = encode_binders FStar_Pervasives_Native.None bs env1 in - match uu____11783 with - | (vars, guards, env2, decls, uu____11822) -> - let uu____11835 = encode_smt_patterns ps env2 in - (match uu____11835 with - | (pats, decls') -> - let uu____11872 = encode_formula body env2 in - (match uu____11872 with - | (body1, decls'') -> + let uu____12949 = encode_binders FStar_Pervasives_Native.None bs env1 + in + match uu____12949 with + | (vars,guards,env2,decls,uu____12988) -> + let uu____13001 = encode_smt_patterns ps env2 in + (match uu____13001 with + | (pats,decls') -> + let uu____13038 = encode_formula body env2 in + (match uu____13038 with + | (body1,decls'') -> let guards1 = match pats with | ({ FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Var gf, p::[]); - FStar_SMTEncoding_Term.freevars = uu____11904; - FStar_SMTEncoding_Term.rng = uu____11905;_}::[])::[] + (FStar_SMTEncoding_Term.Var gf,p::[]); + FStar_SMTEncoding_Term.freevars = uu____13070; + FStar_SMTEncoding_Term.rng = uu____13071;_}::[])::[] when - let uu____11925 = + let uu____13091 = FStar_Ident.text_of_lid - FStar_Parser_Const.guard_free in - uu____11925 = gf -> [] - | uu____11928 -> guards in - let uu____11933 = - FStar_SMTEncoding_Util.mk_and_l guards1 in - (vars, pats, uu____11933, body1, + FStar_Parser_Const.guard_free + in + uu____13091 = gf -> [] + | uu____13094 -> guards in + let uu____13099 = + FStar_SMTEncoding_Util.mk_and_l guards1 in + (vars, pats, uu____13099, body1, (FStar_List.append decls - (FStar_List.append decls' decls''))))) in + (FStar_List.append decls' decls''))))) + in debug1 phi; - (let phi1 = FStar_Syntax_Util.unascribe phi in - let uu____11944 = FStar_Syntax_Util.destruct_typ_as_formula phi1 in - match uu____11944 with - | FStar_Pervasives_Native.None -> fallback phi1 - | FStar_Pervasives_Native.Some (FStar_Syntax_Util.BaseConn (op, arms)) + (let phi1 = FStar_Syntax_Util.unascribe phi in + let uu____13110 = FStar_Syntax_Util.destruct_typ_as_formula phi1 in + match uu____13110 with + | FStar_Pervasives_Native.None -> fallback phi1 + | FStar_Pervasives_Native.Some (FStar_Syntax_Util.BaseConn (op,arms)) -> - let uu____11953 = + let uu____13119 = FStar_All.pipe_right connectives (FStar_List.tryFind - (fun uu____12059 -> - match uu____12059 with - | (l, uu____12084) -> FStar_Ident.lid_equals op l)) in - (match uu____11953 with - | FStar_Pervasives_Native.None -> fallback phi1 - | FStar_Pervasives_Native.Some (uu____12153, f) -> + (fun uu____13225 -> + match uu____13225 with + | (l,uu____13250) -> FStar_Ident.lid_equals op l)) + in + (match uu____13119 with + | FStar_Pervasives_Native.None -> fallback phi1 + | FStar_Pervasives_Native.Some (uu____13319,f) -> f phi1.FStar_Syntax_Syntax.pos arms) | FStar_Pervasives_Native.Some (FStar_Syntax_Util.QAll - (vars, pats, body)) -> + (vars,pats,body)) -> (FStar_All.pipe_right pats (FStar_List.iter (check_pattern_vars env vars)); - (let uu____12245 = encode_q_body env vars pats body in - match uu____12245 with - | (vars1, pats1, guard, body1, decls) -> + (let uu____13411 = encode_q_body env vars pats body in + match uu____13411 with + | (vars1,pats1,guard,body1,decls) -> let tm = - let uu____12290 = - let uu____12301 = - FStar_SMTEncoding_Util.mkImp (guard, body1) in - (pats1, vars1, uu____12301) in + let uu____13456 = + let uu____13467 = + FStar_SMTEncoding_Util.mkImp (guard, body1) in + (pats1, vars1, uu____13467) in FStar_SMTEncoding_Term.mkForall - phi1.FStar_Syntax_Syntax.pos uu____12290 in + phi1.FStar_Syntax_Syntax.pos uu____13456 + in (tm, decls))) | FStar_Pervasives_Native.Some (FStar_Syntax_Util.QEx - (vars, pats, body)) -> + (vars,pats,body)) -> (FStar_All.pipe_right pats (FStar_List.iter (check_pattern_vars env vars)); - (let uu____12332 = encode_q_body env vars pats body in - match uu____12332 with - | (vars1, pats1, guard, body1, decls) -> - let uu____12376 = - let uu____12377 = - let uu____12388 = - FStar_SMTEncoding_Util.mkAnd (guard, body1) in - (pats1, vars1, uu____12388) in + (let uu____13498 = encode_q_body env vars pats body in + match uu____13498 with + | (vars1,pats1,guard,body1,decls) -> + let uu____13542 = + let uu____13543 = + let uu____13554 = + FStar_SMTEncoding_Util.mkAnd (guard, body1) in + (pats1, vars1, uu____13554) in FStar_SMTEncoding_Term.mkExists - phi1.FStar_Syntax_Syntax.pos uu____12377 in - (uu____12376, decls)))) \ No newline at end of file + phi1.FStar_Syntax_Syntax.pos uu____13543 + in + (uu____13542, decls)))) diff --git a/src/ocaml-output/FStar_SMTEncoding_Env.ml b/src/ocaml-output/FStar_SMTEncoding_Env.ml index 63db5ce7aa8..cb7a7ad0879 100644 --- a/src/ocaml-output/FStar_SMTEncoding_Env.ml +++ b/src/ocaml-output/FStar_SMTEncoding_Env.ml @@ -1,118 +1,135 @@ open Prims -exception Inner_let_rec +exception Inner_let_rec of (Prims.string * FStar_Range.range) Prims.list let (uu___is_Inner_let_rec : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | Inner_let_rec -> true | uu____36 -> false + fun projectee -> + match projectee with | Inner_let_rec uu____46 -> true | uu____55 -> false + +let (__proj__Inner_let_rec__item__uu___ : + Prims.exn -> (Prims.string * FStar_Range.range) Prims.list) = + fun projectee -> match projectee with | Inner_let_rec uu____77 -> uu____77 let add_fuel : - 'Auu____45 . 'Auu____45 -> 'Auu____45 Prims.list -> 'Auu____45 Prims.list = - fun x -> - fun tl1 -> - let uu____62 = FStar_Options.unthrottle_inductives () in - if uu____62 then tl1 else x :: tl1 + 'Auu____92 . 'Auu____92 -> 'Auu____92 Prims.list -> 'Auu____92 Prims.list = + fun x -> + fun tl1 -> + let uu____109 = FStar_Options.unthrottle_inductives () in + if uu____109 then tl1 else x :: tl1 + let withenv : - 'Auu____80 'Auu____81 'Auu____82 . - 'Auu____80 -> - ('Auu____81 * 'Auu____82) -> ('Auu____81 * 'Auu____82 * 'Auu____80) - = fun c -> fun uu____102 -> match uu____102 with | (a, b) -> (a, b, c) + 'Auu____127 'Auu____128 'Auu____129 . + 'Auu____127 -> + ('Auu____128 * 'Auu____129) -> + ('Auu____128 * 'Auu____129 * 'Auu____127) + = fun c -> fun uu____149 -> match uu____149 with | (a,b) -> (a, b, c) let vargs : - 'Auu____118 'Auu____119 'Auu____120 . - (('Auu____118, 'Auu____119) FStar_Util.either * 'Auu____120) Prims.list - -> - (('Auu____118, 'Auu____119) FStar_Util.either * 'Auu____120) Prims.list + 'Auu____165 'Auu____166 'Auu____167 . + (('Auu____165,'Auu____166) FStar_Util.either * 'Auu____167) Prims.list -> + (('Auu____165,'Auu____166) FStar_Util.either * 'Auu____167) Prims.list = - fun args -> + fun args -> FStar_List.filter - (fun uu___0_167 -> - match uu___0_167 with - | (FStar_Util.Inl uu____177, uu____178) -> false - | uu____184 -> true) args + (fun uu___0_214 -> + match uu___0_214 with + | (FStar_Util.Inl uu____224,uu____225) -> false + | uu____231 -> true) args + let (escape : Prims.string -> Prims.string) = - fun s -> FStar_Util.replace_char s 39 95 + fun s -> FStar_Util.replace_char s 39 95 let (mk_term_projector_name : FStar_Ident.lident -> FStar_Syntax_Syntax.bv -> Prims.string) = - fun lid -> - fun a -> - let uu____217 = + fun lid -> + fun a -> + let uu____264 = FStar_Util.format2 "%s_%s" lid.FStar_Ident.str - (a.FStar_Syntax_Syntax.ppname).FStar_Ident.idText in - FStar_All.pipe_left escape uu____217 + (a.FStar_Syntax_Syntax.ppname).FStar_Ident.idText + in + FStar_All.pipe_left escape uu____264 + let (primitive_projector_by_pos : FStar_TypeChecker_Env.env -> FStar_Ident.lident -> Prims.int -> Prims.string) = - fun env -> - fun lid -> - fun i -> - let fail1 uu____247 = - let uu____248 = + fun env -> + fun lid -> + fun i -> + let fail1 uu____294 = + let uu____295 = FStar_Util.format2 "Projector %s on data constructor %s not found" - (Prims.string_of_int i) lid.FStar_Ident.str in - failwith uu____248 in - let uu____252 = FStar_TypeChecker_Env.lookup_datacon env lid in - match uu____252 with - | (uu____258, t) -> - let uu____260 = - let uu____261 = FStar_Syntax_Subst.compress t in - uu____261.FStar_Syntax_Syntax.n in - (match uu____260 with - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____287 = FStar_Syntax_Subst.open_comp bs c in - (match uu____287 with - | (binders, uu____294) -> + (Prims.string_of_int i) lid.FStar_Ident.str + in + failwith uu____295 in + let uu____299 = FStar_TypeChecker_Env.lookup_datacon env lid in + match uu____299 with + | (uu____305,t) -> + let uu____307 = + let uu____308 = FStar_Syntax_Subst.compress t in + uu____308.FStar_Syntax_Syntax.n in + (match uu____307 with + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____334 = FStar_Syntax_Subst.open_comp bs c in + (match uu____334 with + | (binders,uu____341) -> if (i < (Prims.parse_int "0")) || (i >= (FStar_List.length binders)) then fail1 () else - (let b = FStar_List.nth binders i in + (let b = FStar_List.nth binders i in mk_term_projector_name lid (FStar_Pervasives_Native.fst b))) - | uu____321 -> fail1 ()) + | uu____368 -> fail1 ()) + let (mk_term_projector_name_by_pos : FStar_Ident.lident -> Prims.int -> Prims.string) = - fun lid -> - fun i -> - let uu____336 = + fun lid -> + fun i -> + let uu____383 = FStar_Util.format2 "%s_%s" lid.FStar_Ident.str - (Prims.string_of_int i) in - FStar_All.pipe_left escape uu____336 + (Prims.string_of_int i) + in + FStar_All.pipe_left escape uu____383 + let (mk_term_projector : FStar_Ident.lident -> FStar_Syntax_Syntax.bv -> FStar_SMTEncoding_Term.term) = - fun lid -> - fun a -> - let uu____352 = - let uu____353 = - let uu____359 = mk_term_projector_name lid a in - (uu____359, + fun lid -> + fun a -> + let uu____399 = + let uu____400 = + let uu____406 = mk_term_projector_name lid a in + (uu____406, (FStar_SMTEncoding_Term.Arrow (FStar_SMTEncoding_Term.Term_sort, - FStar_SMTEncoding_Term.Term_sort))) in - FStar_SMTEncoding_Term.mk_fv uu____353 in - FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____352 + FStar_SMTEncoding_Term.Term_sort))) + in + FStar_SMTEncoding_Term.mk_fv uu____400 in + FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____399 + let (mk_term_projector_by_pos : FStar_Ident.lident -> Prims.int -> FStar_SMTEncoding_Term.term) = - fun lid -> - fun i -> - let uu____375 = - let uu____376 = - let uu____382 = mk_term_projector_name_by_pos lid i in - (uu____382, + fun lid -> + fun i -> + let uu____422 = + let uu____423 = + let uu____429 = mk_term_projector_name_by_pos lid i in + (uu____429, (FStar_SMTEncoding_Term.Arrow (FStar_SMTEncoding_Term.Term_sort, - FStar_SMTEncoding_Term.Term_sort))) in - FStar_SMTEncoding_Term.mk_fv uu____376 in - FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____375 + FStar_SMTEncoding_Term.Term_sort))) + in + FStar_SMTEncoding_Term.mk_fv uu____423 in + FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____422 + let mk_data_tester : - 'Auu____394 . - 'Auu____394 -> + 'Auu____441 . + 'Auu____441 -> FStar_Ident.lident -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term = - fun env -> - fun l -> - fun x -> FStar_SMTEncoding_Term.mk_tester (escape l.FStar_Ident.str) x + fun env -> + fun l -> + fun x -> FStar_SMTEncoding_Term.mk_tester (escape l.FStar_Ident.str) x + type varops_t = { push: unit -> unit ; @@ -127,155 +144,174 @@ type varops_t = next_id: unit -> Prims.int ; mk_unique: Prims.string -> Prims.string } let (__proj__Mkvarops_t__item__push : varops_t -> unit -> unit) = - fun projectee -> + fun projectee -> match projectee with | { push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; new_var; new_fvar; fresh = fresh1; reset_fresh; string_const; next_id = next_id1; mk_unique;_} -> push1 + let (__proj__Mkvarops_t__item__pop : varops_t -> unit -> unit) = - fun projectee -> + fun projectee -> match projectee with | { push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; new_var; new_fvar; fresh = fresh1; reset_fresh; string_const; next_id = next_id1; mk_unique;_} -> pop1 + let (__proj__Mkvarops_t__item__snapshot : varops_t -> unit -> (Prims.int * unit)) = - fun projectee -> + fun projectee -> match projectee with | { push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; new_var; new_fvar; fresh = fresh1; reset_fresh; string_const; next_id = next_id1; mk_unique;_} -> snapshot1 + let (__proj__Mkvarops_t__item__rollback : varops_t -> Prims.int FStar_Pervasives_Native.option -> unit) = - fun projectee -> + fun projectee -> match projectee with | { push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; new_var; new_fvar; fresh = fresh1; reset_fresh; string_const; next_id = next_id1; mk_unique;_} -> rollback1 + let (__proj__Mkvarops_t__item__new_var : varops_t -> FStar_Ident.ident -> Prims.int -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; new_var; new_fvar; fresh = fresh1; reset_fresh; string_const; next_id = next_id1; mk_unique;_} -> new_var + let (__proj__Mkvarops_t__item__new_fvar : varops_t -> FStar_Ident.lident -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; new_var; new_fvar; fresh = fresh1; reset_fresh; string_const; next_id = next_id1; mk_unique;_} -> new_fvar + let (__proj__Mkvarops_t__item__fresh : varops_t -> Prims.string -> Prims.string -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; new_var; new_fvar; fresh = fresh1; reset_fresh; string_const; next_id = next_id1; mk_unique;_} -> fresh1 + let (__proj__Mkvarops_t__item__reset_fresh : varops_t -> unit -> unit) = - fun projectee -> + fun projectee -> match projectee with | { push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; new_var; new_fvar; fresh = fresh1; reset_fresh; string_const; next_id = next_id1; mk_unique;_} -> reset_fresh + let (__proj__Mkvarops_t__item__string_const : varops_t -> Prims.string -> FStar_SMTEncoding_Term.term) = - fun projectee -> + fun projectee -> match projectee with | { push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; new_var; new_fvar; fresh = fresh1; reset_fresh; string_const; next_id = next_id1; mk_unique;_} -> string_const + let (__proj__Mkvarops_t__item__next_id : varops_t -> unit -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; new_var; new_fvar; fresh = fresh1; reset_fresh; string_const; next_id = next_id1; mk_unique;_} -> next_id1 + let (__proj__Mkvarops_t__item__mk_unique : varops_t -> Prims.string -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; new_var; new_fvar; fresh = fresh1; reset_fresh; string_const; next_id = next_id1; mk_unique;_} -> mk_unique + let (varops : varops_t) = - let initial_ctr = (Prims.parse_int "100") in - let ctr = FStar_Util.mk_ref initial_ctr in - let new_scope uu____1512 = - let uu____1513 = FStar_Util.smap_create (Prims.parse_int "100") in - let uu____1519 = FStar_Util.smap_create (Prims.parse_int "100") in - (uu____1513, uu____1519) in + let initial_ctr = (Prims.parse_int "100") in + let ctr = FStar_Util.mk_ref initial_ctr in + let new_scope uu____1559 = + let uu____1560 = FStar_Util.smap_create (Prims.parse_int "100") in + let uu____1566 = FStar_Util.smap_create (Prims.parse_int "100") in + (uu____1560, uu____1566) in let scopes = - let uu____1542 = let uu____1554 = new_scope () in [uu____1554] in - FStar_Util.mk_ref uu____1542 in + let uu____1589 = let uu____1601 = new_scope () in [uu____1601] in + FStar_Util.mk_ref uu____1589 in let mk_unique y = - let y1 = escape y in + let y1 = escape y in let y2 = - let uu____1606 = - let uu____1610 = FStar_ST.op_Bang scopes in - FStar_Util.find_map uu____1610 - (fun uu____1676 -> - match uu____1676 with - | (names1, uu____1690) -> FStar_Util.smap_try_find names1 y1) in - match uu____1606 with - | FStar_Pervasives_Native.None -> y1 - | FStar_Pervasives_Native.Some uu____1704 -> + let uu____1653 = + let uu____1657 = FStar_ST.op_Bang scopes in + FStar_Util.find_map uu____1657 + (fun uu____1723 -> + match uu____1723 with + | (names1,uu____1737) -> FStar_Util.smap_try_find names1 y1) + in + match uu____1653 with + | FStar_Pervasives_Native.None -> y1 + | FStar_Pervasives_Native.Some uu____1751 -> (FStar_Util.incr ctr; - (let uu____1708 = - let uu____1710 = - let uu____1712 = FStar_ST.op_Bang ctr in - Prims.string_of_int uu____1712 in - Prims.op_Hat "__" uu____1710 in - Prims.op_Hat y1 uu____1708)) in + (let uu____1755 = + let uu____1757 = + let uu____1759 = FStar_ST.op_Bang ctr in + Prims.string_of_int uu____1759 in + Prims.op_Hat "__" uu____1757 in + Prims.op_Hat y1 uu____1755)) + in let top_scope = - let uu____1740 = - let uu____1750 = FStar_ST.op_Bang scopes in FStar_List.hd uu____1750 in - FStar_All.pipe_left FStar_Pervasives_Native.fst uu____1740 in - FStar_Util.smap_add top_scope y2 true; y2 in + let uu____1787 = + let uu____1797 = FStar_ST.op_Bang scopes in FStar_List.hd uu____1797 + in + FStar_All.pipe_left FStar_Pervasives_Native.fst uu____1787 in + FStar_Util.smap_add top_scope y2 true; y2 in let new_var pp rn = FStar_All.pipe_left mk_unique (Prims.op_Hat pp.FStar_Ident.idText - (Prims.op_Hat "__" (Prims.string_of_int rn))) in - let new_fvar lid = mk_unique lid.FStar_Ident.str in - let next_id1 uu____1862 = FStar_Util.incr ctr; FStar_ST.op_Bang ctr in + (Prims.op_Hat "__" (Prims.string_of_int rn))) + in + let new_fvar lid = mk_unique lid.FStar_Ident.str in + let next_id1 uu____1909 = FStar_Util.incr ctr; FStar_ST.op_Bang ctr in let fresh1 mname pfx = - let uu____1901 = - let uu____1903 = next_id1 () in - FStar_All.pipe_left Prims.string_of_int uu____1903 in - FStar_Util.format3 "%s_%s_%s" pfx mname uu____1901 in - let reset_fresh uu____1913 = FStar_ST.op_Colon_Equals ctr initial_ctr in + let uu____1948 = + let uu____1950 = next_id1 () in + FStar_All.pipe_left Prims.string_of_int uu____1950 in + FStar_Util.format3 "%s_%s_%s" pfx mname uu____1948 in + let reset_fresh uu____1960 = FStar_ST.op_Colon_Equals ctr initial_ctr in let string_const s = - let uu____1943 = - let uu____1946 = FStar_ST.op_Bang scopes in - FStar_Util.find_map uu____1946 - (fun uu____2011 -> - match uu____2011 with - | (uu____2023, strings) -> FStar_Util.smap_try_find strings s) in - match uu____1943 with + let uu____1990 = + let uu____1993 = FStar_ST.op_Bang scopes in + FStar_Util.find_map uu____1993 + (fun uu____2058 -> + match uu____2058 with + | (uu____2070,strings) -> FStar_Util.smap_try_find strings s) + in + match uu____1990 with | FStar_Pervasives_Native.Some f -> f - | FStar_Pervasives_Native.None -> - let id1 = next_id1 () in + | FStar_Pervasives_Native.None -> + let id1 = next_id1 () in let f = - let uu____2039 = FStar_SMTEncoding_Util.mk_String_const id1 in - FStar_All.pipe_left FStar_SMTEncoding_Term.boxString uu____2039 in + let uu____2086 = FStar_SMTEncoding_Util.mk_String_const id1 in + FStar_All.pipe_left FStar_SMTEncoding_Term.boxString uu____2086 in let top_scope = - let uu____2043 = - let uu____2053 = FStar_ST.op_Bang scopes in - FStar_List.hd uu____2053 in - FStar_All.pipe_left FStar_Pervasives_Native.snd uu____2043 in - (FStar_Util.smap_add top_scope s f; f) in - let push1 uu____2137 = - let uu____2138 = - let uu____2150 = new_scope () in - let uu____2160 = FStar_ST.op_Bang scopes in uu____2150 :: uu____2160 in - FStar_ST.op_Colon_Equals scopes uu____2138 in - let pop1 uu____2268 = - let uu____2269 = - let uu____2281 = FStar_ST.op_Bang scopes in FStar_List.tl uu____2281 in - FStar_ST.op_Colon_Equals scopes uu____2269 in - let snapshot1 uu____2394 = FStar_Common.snapshot push1 scopes () in - let rollback1 depth = FStar_Common.rollback pop1 scopes depth in + let uu____2090 = + let uu____2100 = FStar_ST.op_Bang scopes in + FStar_List.hd uu____2100 in + FStar_All.pipe_left FStar_Pervasives_Native.snd uu____2090 in + (FStar_Util.smap_add top_scope s f; f) + in + let push1 uu____2184 = + let uu____2185 = + let uu____2197 = new_scope () in + let uu____2207 = FStar_ST.op_Bang scopes in uu____2197 :: uu____2207 + in + FStar_ST.op_Colon_Equals scopes uu____2185 in + let pop1 uu____2315 = + let uu____2316 = + let uu____2328 = FStar_ST.op_Bang scopes in FStar_List.tl uu____2328 + in + FStar_ST.op_Colon_Equals scopes uu____2316 in + let snapshot1 uu____2441 = FStar_Common.snapshot push1 scopes () in + let rollback1 depth = FStar_Common.rollback pop1 scopes depth in { push = push1; pop = pop1; @@ -288,7 +324,7 @@ let (varops : varops_t) = string_const; next_id = next_id1; mk_unique - } + } type fvar_binding = { fvar_lid: FStar_Ident.lident ; @@ -300,65 +336,103 @@ type fvar_binding = fvb_thunked: Prims.bool } let (__proj__Mkfvar_binding__item__fvar_lid : fvar_binding -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { fvar_lid; smt_arity; smt_id; smt_token; smt_fuel_partial_app; fvb_thunked;_} -> fvar_lid + let (__proj__Mkfvar_binding__item__smt_arity : fvar_binding -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { fvar_lid; smt_arity; smt_id; smt_token; smt_fuel_partial_app; fvb_thunked;_} -> smt_arity + let (__proj__Mkfvar_binding__item__smt_id : fvar_binding -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { fvar_lid; smt_arity; smt_id; smt_token; smt_fuel_partial_app; fvb_thunked;_} -> smt_id + let (__proj__Mkfvar_binding__item__smt_token : fvar_binding -> FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { fvar_lid; smt_arity; smt_id; smt_token; smt_fuel_partial_app; fvb_thunked;_} -> smt_token + let (__proj__Mkfvar_binding__item__smt_fuel_partial_app : fvar_binding -> FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { fvar_lid; smt_arity; smt_id; smt_token; smt_fuel_partial_app; fvb_thunked;_} -> smt_fuel_partial_app + let (__proj__Mkfvar_binding__item__fvb_thunked : fvar_binding -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { fvar_lid; smt_arity; smt_id; smt_token; smt_fuel_partial_app; fvb_thunked;_} -> fvb_thunked + +let (fvb_to_string : fvar_binding -> Prims.string) = + fun fvb -> + let term_opt_to_string uu___1_2652 = + match uu___1_2652 with + | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.Some s -> + FStar_SMTEncoding_Term.print_smt_term s + in + let uu____2658 = FStar_Ident.string_of_lid fvb.fvar_lid in + let uu____2660 = term_opt_to_string fvb.smt_token in + let uu____2662 = term_opt_to_string fvb.smt_fuel_partial_app in + let uu____2664 = FStar_Util.string_of_bool fvb.fvb_thunked in + FStar_Util.format5 + "{ lid = %s;\n smt_id = %s;\n smt_token = %s;\n smt_fuel_partial_app = %s;\n fvb_thunked = %s }" + uu____2658 fvb.smt_id uu____2660 uu____2662 uu____2664 + let (check_valid_fvb : fvar_binding -> unit) = - fun fvb -> + fun fvb -> if ((FStar_Option.isSome fvb.smt_token) || (FStar_Option.isSome fvb.smt_fuel_partial_app)) && fvb.fvb_thunked then - let uu____2597 = - let uu____2599 = FStar_Ident.string_of_lid fvb.fvar_lid in - FStar_Util.format1 "Unexpected thunked SMT symbol: %s" uu____2599 in - failwith uu____2597 + (let uu____2675 = + let uu____2677 = FStar_Ident.string_of_lid fvb.fvar_lid in + FStar_Util.format1 "Unexpected thunked SMT symbol: %s" uu____2677 + in + failwith uu____2675) else if fvb.fvb_thunked && (fvb.smt_arity <> (Prims.parse_int "0")) then - (let uu____2607 = - let uu____2609 = FStar_Ident.string_of_lid fvb.fvar_lid in + (let uu____2685 = + let uu____2687 = FStar_Ident.string_of_lid fvb.fvar_lid in FStar_Util.format1 "Unexpected arity of thunked SMT symbol: %s" - uu____2609 in - failwith uu____2607) - else () + uu____2687 + in + failwith uu____2685) + else (); + (match fvb.smt_token with + | FStar_Pervasives_Native.Some + { + FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.FreeV + uu____2692; + FStar_SMTEncoding_Term.freevars = uu____2693; + FStar_SMTEncoding_Term.rng = uu____2694;_} + -> + let uu____2715 = + let uu____2717 = fvb_to_string fvb in + FStar_Util.format1 "bad fvb\n%s" uu____2717 in + failwith uu____2715 + | uu____2720 -> ()) + let binder_of_eithervar : - 'Auu____2621 'Auu____2622 . - 'Auu____2621 -> - ('Auu____2621 * 'Auu____2622 FStar_Pervasives_Native.option) - = fun v1 -> (v1, FStar_Pervasives_Native.None) + 'Auu____2730 'Auu____2731 . + 'Auu____2730 -> + ('Auu____2730 * 'Auu____2731 FStar_Pervasives_Native.option) + = fun v1 -> (v1, FStar_Pervasives_Native.None) type env_t = { bvar_bindings: @@ -380,297 +454,328 @@ let (__proj__Mkenv_t__item__bvar_bindings : (FStar_Syntax_Syntax.bv * FStar_SMTEncoding_Term.term) FStar_Util.pimap FStar_Util.psmap) = - fun projectee -> + fun projectee -> match projectee with | { bvar_bindings; fvar_bindings; depth; tcenv; warn; nolabels; use_zfuel_name; encode_non_total_function_typ; current_module_name; encoding_quantifier; global_cache;_} -> bvar_bindings + let (__proj__Mkenv_t__item__fvar_bindings : env_t -> (fvar_binding FStar_Util.psmap * fvar_binding Prims.list)) = - fun projectee -> + fun projectee -> match projectee with | { bvar_bindings; fvar_bindings; depth; tcenv; warn; nolabels; use_zfuel_name; encode_non_total_function_typ; current_module_name; encoding_quantifier; global_cache;_} -> fvar_bindings + let (__proj__Mkenv_t__item__depth : env_t -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { bvar_bindings; fvar_bindings; depth; tcenv; warn; nolabels; use_zfuel_name; encode_non_total_function_typ; current_module_name; encoding_quantifier; global_cache;_} -> depth + let (__proj__Mkenv_t__item__tcenv : env_t -> FStar_TypeChecker_Env.env) = - fun projectee -> + fun projectee -> match projectee with | { bvar_bindings; fvar_bindings; depth; tcenv; warn; nolabels; use_zfuel_name; encode_non_total_function_typ; current_module_name; encoding_quantifier; global_cache;_} -> tcenv + let (__proj__Mkenv_t__item__warn : env_t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { bvar_bindings; fvar_bindings; depth; tcenv; warn; nolabels; use_zfuel_name; encode_non_total_function_typ; current_module_name; encoding_quantifier; global_cache;_} -> warn + let (__proj__Mkenv_t__item__nolabels : env_t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { bvar_bindings; fvar_bindings; depth; tcenv; warn; nolabels; use_zfuel_name; encode_non_total_function_typ; current_module_name; encoding_quantifier; global_cache;_} -> nolabels + let (__proj__Mkenv_t__item__use_zfuel_name : env_t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { bvar_bindings; fvar_bindings; depth; tcenv; warn; nolabels; use_zfuel_name; encode_non_total_function_typ; current_module_name; encoding_quantifier; global_cache;_} -> use_zfuel_name + let (__proj__Mkenv_t__item__encode_non_total_function_typ : env_t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { bvar_bindings; fvar_bindings; depth; tcenv; warn; nolabels; use_zfuel_name; encode_non_total_function_typ; current_module_name; encoding_quantifier; global_cache;_} -> encode_non_total_function_typ + let (__proj__Mkenv_t__item__current_module_name : env_t -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { bvar_bindings; fvar_bindings; depth; tcenv; warn; nolabels; use_zfuel_name; encode_non_total_function_typ; current_module_name; encoding_quantifier; global_cache;_} -> current_module_name + let (__proj__Mkenv_t__item__encoding_quantifier : env_t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { bvar_bindings; fvar_bindings; depth; tcenv; warn; nolabels; use_zfuel_name; encode_non_total_function_typ; current_module_name; encoding_quantifier; global_cache;_} -> encoding_quantifier + let (__proj__Mkenv_t__item__global_cache : env_t -> FStar_SMTEncoding_Term.decls_elt FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { bvar_bindings; fvar_bindings; depth; tcenv; warn; nolabels; use_zfuel_name; encode_non_total_function_typ; current_module_name; encoding_quantifier; global_cache;_} -> global_cache + let (print_env : env_t -> Prims.string) = - fun e -> + fun e -> let bvars = FStar_Util.psmap_fold e.bvar_bindings - (fun _k -> - fun pi -> - fun acc -> + (fun _k -> + fun pi -> + fun acc -> FStar_Util.pimap_fold pi - (fun _i -> - fun uu____3278 -> - fun acc1 -> - match uu____3278 with - | (x, _term) -> - let uu____3293 = - FStar_Syntax_Print.bv_to_string x in - uu____3293 :: acc1) acc) [] in + (fun _i -> + fun uu____3387 -> + fun acc1 -> + match uu____3387 with + | (x,_term) -> + let uu____3402 = + FStar_Syntax_Print.bv_to_string x in + uu____3402 :: acc1) acc) [] + in let allvars = - let uu____3300 = - FStar_All.pipe_right e.fvar_bindings FStar_Pervasives_Native.fst in - FStar_Util.psmap_fold uu____3300 - (fun _k -> fun fvb -> fun acc -> (fvb.fvar_lid) :: acc) [] in + let uu____3409 = + FStar_All.pipe_right e.fvar_bindings FStar_Pervasives_Native.fst in + FStar_Util.psmap_fold uu____3409 + (fun _k -> fun fvb -> fun acc -> (fvb.fvar_lid) :: acc) [] + in let last_fvar = match FStar_List.rev allvars with | [] -> "" - | l::uu____3333 -> - let uu____3336 = FStar_Syntax_Print.lid_to_string l in - Prims.op_Hat "...," uu____3336 in + | l::uu____3442 -> + let uu____3445 = FStar_Syntax_Print.lid_to_string l in + Prims.op_Hat "...," uu____3445 + in FStar_String.concat ", " (last_fvar :: bvars) + let (lookup_bvar_binding : env_t -> FStar_Syntax_Syntax.bv -> (FStar_Syntax_Syntax.bv * FStar_SMTEncoding_Term.term) FStar_Pervasives_Native.option) = - fun env -> - fun bv -> - let uu____3358 = + fun env -> + fun bv -> + let uu____3467 = FStar_Util.psmap_try_find env.bvar_bindings - (bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText in - match uu____3358 with + (bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText + in + match uu____3467 with | FStar_Pervasives_Native.Some bvs -> FStar_Util.pimap_try_find bvs bv.FStar_Syntax_Syntax.index - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + let (lookup_fvar_binding : env_t -> FStar_Ident.lident -> fvar_binding FStar_Pervasives_Native.option) = - fun env -> - fun lid -> - let uu____3419 = - FStar_All.pipe_right env.fvar_bindings FStar_Pervasives_Native.fst in - FStar_Util.psmap_try_find uu____3419 lid.FStar_Ident.str + fun env -> + fun lid -> + let uu____3528 = + FStar_All.pipe_right env.fvar_bindings FStar_Pervasives_Native.fst + in + FStar_Util.psmap_try_find uu____3528 lid.FStar_Ident.str + let add_bvar_binding : - 'Auu____3443 . - (FStar_Syntax_Syntax.bv * 'Auu____3443) -> - (FStar_Syntax_Syntax.bv * 'Auu____3443) FStar_Util.pimap + 'Auu____3552 . + (FStar_Syntax_Syntax.bv * 'Auu____3552) -> + (FStar_Syntax_Syntax.bv * 'Auu____3552) FStar_Util.pimap FStar_Util.psmap -> - (FStar_Syntax_Syntax.bv * 'Auu____3443) FStar_Util.pimap + (FStar_Syntax_Syntax.bv * 'Auu____3552) FStar_Util.pimap FStar_Util.psmap = - fun bvb -> - fun bvbs -> + fun bvb -> + fun bvbs -> FStar_Util.psmap_modify bvbs ((FStar_Pervasives_Native.fst bvb).FStar_Syntax_Syntax.ppname).FStar_Ident.idText - (fun pimap_opt -> - let uu____3503 = - let uu____3510 = FStar_Util.pimap_empty () in - FStar_Util.dflt uu____3510 pimap_opt in - FStar_Util.pimap_add uu____3503 + (fun pimap_opt -> + let uu____3612 = + let uu____3619 = FStar_Util.pimap_empty () in + FStar_Util.dflt uu____3619 pimap_opt in + FStar_Util.pimap_add uu____3612 (FStar_Pervasives_Native.fst bvb).FStar_Syntax_Syntax.index bvb) + let (add_fvar_binding : fvar_binding -> (fvar_binding FStar_Util.psmap * fvar_binding Prims.list) -> (fvar_binding FStar_Util.psmap * fvar_binding Prims.list)) = - fun fvb -> - fun uu____3557 -> - match uu____3557 with - | (fvb_map, fvb_list) -> - let uu____3584 = - FStar_Util.psmap_add fvb_map (fvb.fvar_lid).FStar_Ident.str fvb in - (uu____3584, (fvb :: fvb_list)) + fun fvb -> + fun uu____3666 -> + match uu____3666 with + | (fvb_map,fvb_list) -> + let uu____3693 = + FStar_Util.psmap_add fvb_map (fvb.fvar_lid).FStar_Ident.str fvb + in + (uu____3693, (fvb :: fvb_list)) + let (fresh_fvar : Prims.string -> Prims.string -> FStar_SMTEncoding_Term.sort -> (Prims.string * FStar_SMTEncoding_Term.term)) = - fun mname -> - fun x -> - fun s -> - let xsym = varops.fresh mname x in - let uu____3618 = - let uu____3619 = FStar_SMTEncoding_Term.mk_fv (xsym, s) in - FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____3619 in - (xsym, uu____3618) + fun mname -> + fun x -> + fun s -> + let xsym = varops.fresh mname x in + let uu____3727 = + let uu____3728 = FStar_SMTEncoding_Term.mk_fv (xsym, s) in + FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____3728 in + (xsym, uu____3727) + let (gen_term_var : env_t -> FStar_Syntax_Syntax.bv -> (Prims.string * FStar_SMTEncoding_Term.term * env_t)) = - fun env -> - fun x -> - let ysym = Prims.op_Hat "@x" (Prims.string_of_int env.depth) in + fun env -> + fun x -> + let ysym = Prims.op_Hat "@x" (Prims.string_of_int env.depth) in let y = - let uu____3644 = + let uu____3753 = FStar_SMTEncoding_Term.mk_fv - (ysym, FStar_SMTEncoding_Term.Term_sort) in - FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____3644 in - let uu____3646 = - let uu___225_3647 = env in - let uu____3648 = add_bvar_binding (x, y) env.bvar_bindings in + (ysym, FStar_SMTEncoding_Term.Term_sort) + in + FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV uu____3753 in + let uu____3755 = + let uu___241_3756 = env in + let uu____3757 = add_bvar_binding (x, y) env.bvar_bindings in { - bvar_bindings = uu____3648; - fvar_bindings = (uu___225_3647.fvar_bindings); + bvar_bindings = uu____3757; + fvar_bindings = (uu___241_3756.fvar_bindings); depth = (env.depth + (Prims.parse_int "1")); - tcenv = (uu___225_3647.tcenv); - warn = (uu___225_3647.warn); - nolabels = (uu___225_3647.nolabels); - use_zfuel_name = (uu___225_3647.use_zfuel_name); + tcenv = (uu___241_3756.tcenv); + warn = (uu___241_3756.warn); + nolabels = (uu___241_3756.nolabels); + use_zfuel_name = (uu___241_3756.use_zfuel_name); encode_non_total_function_typ = - (uu___225_3647.encode_non_total_function_typ); - current_module_name = (uu___225_3647.current_module_name); - encoding_quantifier = (uu___225_3647.encoding_quantifier); - global_cache = (uu___225_3647.global_cache) - } in - (ysym, y, uu____3646) + (uu___241_3756.encode_non_total_function_typ); + current_module_name = (uu___241_3756.current_module_name); + encoding_quantifier = (uu___241_3756.encoding_quantifier); + global_cache = (uu___241_3756.global_cache) + } in + (ysym, y, uu____3755) + let (new_term_constant : env_t -> FStar_Syntax_Syntax.bv -> (Prims.string * FStar_SMTEncoding_Term.term * env_t)) = - fun env -> - fun x -> + fun env -> + fun x -> let ysym = varops.new_var x.FStar_Syntax_Syntax.ppname - x.FStar_Syntax_Syntax.index in - let y = FStar_SMTEncoding_Util.mkApp (ysym, []) in - let uu____3683 = - let uu___231_3684 = env in - let uu____3685 = add_bvar_binding (x, y) env.bvar_bindings in + x.FStar_Syntax_Syntax.index + in + let y = FStar_SMTEncoding_Util.mkApp (ysym, []) in + let uu____3792 = + let uu___247_3793 = env in + let uu____3794 = add_bvar_binding (x, y) env.bvar_bindings in { - bvar_bindings = uu____3685; - fvar_bindings = (uu___231_3684.fvar_bindings); - depth = (uu___231_3684.depth); - tcenv = (uu___231_3684.tcenv); - warn = (uu___231_3684.warn); - nolabels = (uu___231_3684.nolabels); - use_zfuel_name = (uu___231_3684.use_zfuel_name); + bvar_bindings = uu____3794; + fvar_bindings = (uu___247_3793.fvar_bindings); + depth = (uu___247_3793.depth); + tcenv = (uu___247_3793.tcenv); + warn = (uu___247_3793.warn); + nolabels = (uu___247_3793.nolabels); + use_zfuel_name = (uu___247_3793.use_zfuel_name); encode_non_total_function_typ = - (uu___231_3684.encode_non_total_function_typ); - current_module_name = (uu___231_3684.current_module_name); - encoding_quantifier = (uu___231_3684.encoding_quantifier); - global_cache = (uu___231_3684.global_cache) - } in - (ysym, y, uu____3683) + (uu___247_3793.encode_non_total_function_typ); + current_module_name = (uu___247_3793.current_module_name); + encoding_quantifier = (uu___247_3793.encoding_quantifier); + global_cache = (uu___247_3793.global_cache) + } in + (ysym, y, uu____3792) + let (new_term_constant_from_string : env_t -> FStar_Syntax_Syntax.bv -> Prims.string -> (Prims.string * FStar_SMTEncoding_Term.term * env_t)) = - fun env -> - fun x -> - fun str -> - let ysym = varops.mk_unique str in - let y = FStar_SMTEncoding_Util.mkApp (ysym, []) in - let uu____3726 = - let uu___238_3727 = env in - let uu____3728 = add_bvar_binding (x, y) env.bvar_bindings in + fun env -> + fun x -> + fun str -> + let ysym = varops.mk_unique str in + let y = FStar_SMTEncoding_Util.mkApp (ysym, []) in + let uu____3835 = + let uu___254_3836 = env in + let uu____3837 = add_bvar_binding (x, y) env.bvar_bindings in { - bvar_bindings = uu____3728; - fvar_bindings = (uu___238_3727.fvar_bindings); - depth = (uu___238_3727.depth); - tcenv = (uu___238_3727.tcenv); - warn = (uu___238_3727.warn); - nolabels = (uu___238_3727.nolabels); - use_zfuel_name = (uu___238_3727.use_zfuel_name); + bvar_bindings = uu____3837; + fvar_bindings = (uu___254_3836.fvar_bindings); + depth = (uu___254_3836.depth); + tcenv = (uu___254_3836.tcenv); + warn = (uu___254_3836.warn); + nolabels = (uu___254_3836.nolabels); + use_zfuel_name = (uu___254_3836.use_zfuel_name); encode_non_total_function_typ = - (uu___238_3727.encode_non_total_function_typ); - current_module_name = (uu___238_3727.current_module_name); - encoding_quantifier = (uu___238_3727.encoding_quantifier); - global_cache = (uu___238_3727.global_cache) - } in - (ysym, y, uu____3726) + (uu___254_3836.encode_non_total_function_typ); + current_module_name = (uu___254_3836.current_module_name); + encoding_quantifier = (uu___254_3836.encoding_quantifier); + global_cache = (uu___254_3836.global_cache) + } in + (ysym, y, uu____3835) + let (push_term_var : env_t -> FStar_Syntax_Syntax.bv -> FStar_SMTEncoding_Term.term -> env_t) = - fun env -> - fun x -> - fun t -> - let uu___243_3754 = env in - let uu____3755 = add_bvar_binding (x, t) env.bvar_bindings in + fun env -> + fun x -> + fun t -> + let uu___259_3863 = env in + let uu____3864 = add_bvar_binding (x, t) env.bvar_bindings in { - bvar_bindings = uu____3755; - fvar_bindings = (uu___243_3754.fvar_bindings); - depth = (uu___243_3754.depth); - tcenv = (uu___243_3754.tcenv); - warn = (uu___243_3754.warn); - nolabels = (uu___243_3754.nolabels); - use_zfuel_name = (uu___243_3754.use_zfuel_name); + bvar_bindings = uu____3864; + fvar_bindings = (uu___259_3863.fvar_bindings); + depth = (uu___259_3863.depth); + tcenv = (uu___259_3863.tcenv); + warn = (uu___259_3863.warn); + nolabels = (uu___259_3863.nolabels); + use_zfuel_name = (uu___259_3863.use_zfuel_name); encode_non_total_function_typ = - (uu___243_3754.encode_non_total_function_typ); - current_module_name = (uu___243_3754.current_module_name); - encoding_quantifier = (uu___243_3754.encoding_quantifier); - global_cache = (uu___243_3754.global_cache) + (uu___259_3863.encode_non_total_function_typ); + current_module_name = (uu___259_3863.current_module_name); + encoding_quantifier = (uu___259_3863.encoding_quantifier); + global_cache = (uu___259_3863.global_cache) } + let (lookup_term_var : env_t -> FStar_Syntax_Syntax.bv -> FStar_SMTEncoding_Term.term) = - fun env -> - fun a -> - let uu____3775 = lookup_bvar_binding env a in - match uu____3775 with - | FStar_Pervasives_Native.None -> - let uu____3786 = lookup_bvar_binding env a in - (match uu____3786 with - | FStar_Pervasives_Native.None -> - let uu____3797 = - let uu____3799 = FStar_Syntax_Print.bv_to_string a in - let uu____3801 = print_env env in + fun env -> + fun a -> + let uu____3884 = lookup_bvar_binding env a in + match uu____3884 with + | FStar_Pervasives_Native.None -> + let uu____3895 = lookup_bvar_binding env a in + (match uu____3895 with + | FStar_Pervasives_Native.None -> + let uu____3906 = + let uu____3908 = FStar_Syntax_Print.bv_to_string a in + let uu____3910 = print_env env in FStar_Util.format2 "Bound term variable not found %s in environment: %s" - uu____3799 uu____3801 in - failwith uu____3797 - | FStar_Pervasives_Native.Some (b, t) -> t) - | FStar_Pervasives_Native.Some (b, t) -> t + uu____3908 uu____3910 + in + failwith uu____3906 + | FStar_Pervasives_Native.Some (b,t) -> t) + | FStar_Pervasives_Native.Some (b,t) -> t + let (mk_fvb : FStar_Ident.lident -> Prims.string -> @@ -679,12 +784,12 @@ let (mk_fvb : FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option -> Prims.bool -> fvar_binding) = - fun lid -> - fun fname -> - fun arity -> - fun ftok -> - fun fuel_partial_app -> - fun thunked -> + fun lid -> + fun fname -> + fun arity -> + fun ftok -> + fun fuel_partial_app -> + fun thunked -> let fvb = { fvar_lid = lid; @@ -693,8 +798,9 @@ let (mk_fvb : smt_token = ftok; smt_fuel_partial_app = fuel_partial_app; fvb_thunked = thunked - } in + } in check_valid_fvb fvb; fvb + let (new_term_constant_and_tok_from_lid_aux : env_t -> FStar_Ident.lident -> @@ -703,55 +809,59 @@ let (new_term_constant_and_tok_from_lid_aux : (Prims.string * Prims.string FStar_Pervasives_Native.option * env_t)) = - fun env -> - fun x -> - fun arity -> - fun thunked -> - let fname = varops.new_fvar x in - let uu____3900 = + fun env -> + fun x -> + fun arity -> + fun thunked -> + let fname = varops.new_fvar x in + let uu____4009 = if thunked then (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) else - (let ftok_name = Prims.op_Hat fname "@tok" in - let ftok = FStar_SMTEncoding_Util.mkApp (ftok_name, []) in + (let ftok_name = Prims.op_Hat fname "@tok" in + let ftok = FStar_SMTEncoding_Util.mkApp (ftok_name, []) in ((FStar_Pervasives_Native.Some ftok_name), - (FStar_Pervasives_Native.Some ftok))) in - match uu____3900 with - | (ftok_name, ftok) -> + (FStar_Pervasives_Native.Some ftok))) + in + match uu____4009 with + | (ftok_name,ftok) -> let fvb = mk_fvb x fname arity ftok FStar_Pervasives_Native.None - thunked in - let uu____3964 = - let uu___277_3965 = env in - let uu____3966 = add_fvar_binding fvb env.fvar_bindings in + thunked + in + let uu____4073 = + let uu___293_4074 = env in + let uu____4075 = add_fvar_binding fvb env.fvar_bindings in { - bvar_bindings = (uu___277_3965.bvar_bindings); - fvar_bindings = uu____3966; - depth = (uu___277_3965.depth); - tcenv = (uu___277_3965.tcenv); - warn = (uu___277_3965.warn); - nolabels = (uu___277_3965.nolabels); - use_zfuel_name = (uu___277_3965.use_zfuel_name); + bvar_bindings = (uu___293_4074.bvar_bindings); + fvar_bindings = uu____4075; + depth = (uu___293_4074.depth); + tcenv = (uu___293_4074.tcenv); + warn = (uu___293_4074.warn); + nolabels = (uu___293_4074.nolabels); + use_zfuel_name = (uu___293_4074.use_zfuel_name); encode_non_total_function_typ = - (uu___277_3965.encode_non_total_function_typ); - current_module_name = (uu___277_3965.current_module_name); - encoding_quantifier = (uu___277_3965.encoding_quantifier); - global_cache = (uu___277_3965.global_cache) - } in - (fname, ftok_name, uu____3964) + (uu___293_4074.encode_non_total_function_typ); + current_module_name = (uu___293_4074.current_module_name); + encoding_quantifier = (uu___293_4074.encoding_quantifier); + global_cache = (uu___293_4074.global_cache) + } in + (fname, ftok_name, uu____4073) + let (new_term_constant_and_tok_from_lid : env_t -> FStar_Ident.lident -> Prims.int -> (Prims.string * Prims.string * env_t)) = - fun env -> - fun x -> - fun arity -> - let uu____4005 = - new_term_constant_and_tok_from_lid_aux env x arity false in - match uu____4005 with - | (fname, ftok_name_opt, env1) -> - let uu____4036 = FStar_Option.get ftok_name_opt in - (fname, uu____4036, env1) + fun env -> + fun x -> + fun arity -> + let uu____4114 = + new_term_constant_and_tok_from_lid_aux env x arity false in + match uu____4114 with + | (fname,ftok_name_opt,env1) -> + let uu____4145 = FStar_Option.get ftok_name_opt in + (fname, uu____4145, env1) + let (new_term_constant_and_tok_from_lid_maybe_thunked : env_t -> FStar_Ident.lident -> @@ -760,21 +870,23 @@ let (new_term_constant_and_tok_from_lid_maybe_thunked : (Prims.string * Prims.string FStar_Pervasives_Native.option * env_t)) = - fun env -> - fun x -> - fun arity -> - fun th -> new_term_constant_and_tok_from_lid_aux env x arity th + fun env -> + fun x -> + fun arity -> + fun th -> new_term_constant_and_tok_from_lid_aux env x arity th + let (lookup_lid : env_t -> FStar_Ident.lident -> fvar_binding) = - fun env -> - fun a -> - let uu____4087 = lookup_fvar_binding env a in - match uu____4087 with - | FStar_Pervasives_Native.None -> - let uu____4090 = - let uu____4092 = FStar_Syntax_Print.lid_to_string a in - FStar_Util.format1 "Name not found: %s" uu____4092 in - failwith uu____4090 + fun env -> + fun a -> + let uu____4196 = lookup_fvar_binding env a in + match uu____4196 with + | FStar_Pervasives_Native.None -> + let uu____4199 = + let uu____4201 = FStar_Syntax_Print.lid_to_string a in + FStar_Util.format1 "Name not found: %s" uu____4201 in + failwith uu____4199 | FStar_Pervasives_Native.Some s -> (check_valid_fvb s; s) + let (push_free_var_maybe_thunked : env_t -> FStar_Ident.lident -> @@ -783,31 +895,33 @@ let (push_free_var_maybe_thunked : FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option -> Prims.bool -> env_t) = - fun env -> - fun x -> - fun arity -> - fun fname -> - fun ftok -> - fun thunked -> + fun env -> + fun x -> + fun arity -> + fun fname -> + fun ftok -> + fun thunked -> let fvb = mk_fvb x fname arity ftok FStar_Pervasives_Native.None - thunked in - let uu___303_4139 = env in - let uu____4140 = add_fvar_binding fvb env.fvar_bindings in + thunked + in + let uu___319_4248 = env in + let uu____4249 = add_fvar_binding fvb env.fvar_bindings in { - bvar_bindings = (uu___303_4139.bvar_bindings); - fvar_bindings = uu____4140; - depth = (uu___303_4139.depth); - tcenv = (uu___303_4139.tcenv); - warn = (uu___303_4139.warn); - nolabels = (uu___303_4139.nolabels); - use_zfuel_name = (uu___303_4139.use_zfuel_name); + bvar_bindings = (uu___319_4248.bvar_bindings); + fvar_bindings = uu____4249; + depth = (uu___319_4248.depth); + tcenv = (uu___319_4248.tcenv); + warn = (uu___319_4248.warn); + nolabels = (uu___319_4248.nolabels); + use_zfuel_name = (uu___319_4248.use_zfuel_name); encode_non_total_function_typ = - (uu___303_4139.encode_non_total_function_typ); - current_module_name = (uu___303_4139.current_module_name); - encoding_quantifier = (uu___303_4139.encoding_quantifier); - global_cache = (uu___303_4139.global_cache) + (uu___319_4248.encode_non_total_function_typ); + current_module_name = (uu___319_4248.current_module_name); + encoding_quantifier = (uu___319_4248.encoding_quantifier); + global_cache = (uu___319_4248.global_cache) } + let (push_free_var : env_t -> FStar_Ident.lident -> @@ -815,12 +929,13 @@ let (push_free_var : Prims.string -> FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option -> env_t) = - fun env -> - fun x -> - fun arity -> - fun fname -> - fun ftok -> + fun env -> + fun x -> + fun arity -> + fun fname -> + fun ftok -> push_free_var_maybe_thunked env x arity fname ftok false + let (push_free_var_thunk : env_t -> FStar_Ident.lident -> @@ -828,47 +943,50 @@ let (push_free_var_thunk : Prims.string -> FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option -> env_t) = - fun env -> - fun x -> - fun arity -> - fun fname -> - fun ftok -> + fun env -> + fun x -> + fun arity -> + fun fname -> + fun ftok -> push_free_var_maybe_thunked env x arity fname ftok (arity = (Prims.parse_int "0")) + let (push_zfuel_name : env_t -> FStar_Ident.lident -> Prims.string -> env_t) = - fun env -> - fun x -> - fun f -> - let fvb = lookup_lid env x in + fun env -> + fun x -> + fun f -> + let fvb = lookup_lid env x in let t3 = - let uu____4240 = - let uu____4248 = - let uu____4251 = FStar_SMTEncoding_Util.mkApp ("ZFuel", []) in - [uu____4251] in - (f, uu____4248) in - FStar_SMTEncoding_Util.mkApp uu____4240 in + let uu____4349 = + let uu____4357 = + let uu____4360 = FStar_SMTEncoding_Util.mkApp ("ZFuel", []) in + [uu____4360] in + (f, uu____4357) in + FStar_SMTEncoding_Util.mkApp uu____4349 in let fvb1 = mk_fvb x fvb.smt_id fvb.smt_arity fvb.smt_token - (FStar_Pervasives_Native.Some t3) false in - let uu___321_4261 = env in - let uu____4262 = add_fvar_binding fvb1 env.fvar_bindings in + (FStar_Pervasives_Native.Some t3) false + in + let uu___337_4370 = env in + let uu____4371 = add_fvar_binding fvb1 env.fvar_bindings in { - bvar_bindings = (uu___321_4261.bvar_bindings); - fvar_bindings = uu____4262; - depth = (uu___321_4261.depth); - tcenv = (uu___321_4261.tcenv); - warn = (uu___321_4261.warn); - nolabels = (uu___321_4261.nolabels); - use_zfuel_name = (uu___321_4261.use_zfuel_name); + bvar_bindings = (uu___337_4370.bvar_bindings); + fvar_bindings = uu____4371; + depth = (uu___337_4370.depth); + tcenv = (uu___337_4370.tcenv); + warn = (uu___337_4370.warn); + nolabels = (uu___337_4370.nolabels); + use_zfuel_name = (uu___337_4370.use_zfuel_name); encode_non_total_function_typ = - (uu___321_4261.encode_non_total_function_typ); - current_module_name = (uu___321_4261.current_module_name); - encoding_quantifier = (uu___321_4261.encoding_quantifier); - global_cache = (uu___321_4261.global_cache) + (uu___337_4370.encode_non_total_function_typ); + current_module_name = (uu___337_4370.current_module_name); + encoding_quantifier = (uu___337_4370.encoding_quantifier); + global_cache = (uu___337_4370.global_cache) } + let (force_thunk : fvar_binding -> FStar_SMTEncoding_Term.term) = - fun fvb -> + fun fvb -> if (Prims.op_Negation fvb.fvb_thunked) || (fvb.smt_arity <> (Prims.parse_int "0")) @@ -876,167 +994,222 @@ let (force_thunk : fvar_binding -> FStar_SMTEncoding_Term.term) = else (); FStar_All.pipe_left FStar_SMTEncoding_Util.mkFreeV ((fvb.smt_id), FStar_SMTEncoding_Term.Term_sort, true) + let (try_lookup_free_var : env_t -> FStar_Ident.lident -> FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option) = - fun env -> - fun l -> - let uu____4300 = lookup_fvar_binding env l in - match uu____4300 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + fun env -> + fun l -> + let uu____4409 = lookup_fvar_binding env l in + match uu____4409 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some fvb -> - if fvb.fvb_thunked - then - let uu____4309 = force_thunk fvb in - FStar_Pervasives_Native.Some uu____4309 - else - (match fvb.smt_fuel_partial_app with - | FStar_Pervasives_Native.Some f when env.use_zfuel_name -> - FStar_Pervasives_Native.Some f - | uu____4315 -> - (match fvb.smt_token with - | FStar_Pervasives_Native.Some t -> - (match t.FStar_SMTEncoding_Term.tm with - | FStar_SMTEncoding_Term.App (uu____4323, fuel::[]) -> - let uu____4327 = - let uu____4329 = - let uu____4331 = - FStar_SMTEncoding_Term.fv_of_term fuel in - FStar_All.pipe_right uu____4331 - FStar_SMTEncoding_Term.fv_name in - FStar_Util.starts_with uu____4329 "fuel" in - if uu____4327 - then - let uu____4337 = - let uu____4338 = - let uu____4339 = - FStar_SMTEncoding_Term.mk_fv - ((fvb.smt_id), - FStar_SMTEncoding_Term.Term_sort) in - FStar_All.pipe_left - FStar_SMTEncoding_Util.mkFreeV uu____4339 in - FStar_SMTEncoding_Term.mk_ApplyTF uu____4338 - fuel in - FStar_All.pipe_left - (fun _4343 -> - FStar_Pervasives_Native.Some _4343) - uu____4337 - else FStar_Pervasives_Native.Some t - | uu____4346 -> FStar_Pervasives_Native.Some t) - | uu____4347 -> FStar_Pervasives_Native.None)) + ((let uu____4416 = + FStar_All.pipe_left (FStar_TypeChecker_Env.debug env.tcenv) + (FStar_Options.Other "PartialApp") + in + if uu____4416 + then + let uu____4421 = FStar_Ident.string_of_lid l in + let uu____4423 = fvb_to_string fvb in + FStar_Util.print2 "Looked up %s found\n%s\n" uu____4421 + uu____4423 + else ()); + if fvb.fvb_thunked + then + (let uu____4431 = force_thunk fvb in + FStar_Pervasives_Native.Some uu____4431) + else + (match fvb.smt_fuel_partial_app with + | FStar_Pervasives_Native.Some f when env.use_zfuel_name -> + FStar_Pervasives_Native.Some f + | uu____4437 -> + (match fvb.smt_token with + | FStar_Pervasives_Native.Some t -> + (match t.FStar_SMTEncoding_Term.tm with + | FStar_SMTEncoding_Term.App (uu____4445,fuel::[]) -> + let uu____4449 = + let uu____4451 = + let uu____4453 = + FStar_SMTEncoding_Term.fv_of_term fuel in + FStar_All.pipe_right uu____4453 + FStar_SMTEncoding_Term.fv_name + in + FStar_Util.starts_with uu____4451 "fuel" in + if uu____4449 + then + let uu____4459 = + let uu____4460 = + let uu____4461 = + FStar_SMTEncoding_Term.mk_fv + ((fvb.smt_id), + FStar_SMTEncoding_Term.Term_sort) + in + FStar_All.pipe_left + FStar_SMTEncoding_Util.mkFreeV uu____4461 + in + FStar_SMTEncoding_Term.mk_ApplyTF uu____4460 + fuel + in + FStar_All.pipe_left + (fun _4465 -> + FStar_Pervasives_Native.Some _4465) + uu____4459 + else FStar_Pervasives_Native.Some t + | uu____4468 -> FStar_Pervasives_Native.Some t) + | uu____4469 -> FStar_Pervasives_Native.None))) + let (lookup_free_var : env_t -> FStar_Ident.lid FStar_Syntax_Syntax.withinfo_t -> FStar_SMTEncoding_Term.term) = - fun env -> - fun a -> - let uu____4365 = try_lookup_free_var env a.FStar_Syntax_Syntax.v in - match uu____4365 with + fun env -> + fun a -> + let uu____4487 = try_lookup_free_var env a.FStar_Syntax_Syntax.v in + match uu____4487 with | FStar_Pervasives_Native.Some t -> t - | FStar_Pervasives_Native.None -> - let uu____4369 = - let uu____4371 = - FStar_Syntax_Print.lid_to_string a.FStar_Syntax_Syntax.v in - FStar_Util.format1 "Name not found: %s" uu____4371 in - failwith uu____4369 + | FStar_Pervasives_Native.None -> + let uu____4491 = + let uu____4493 = + FStar_Syntax_Print.lid_to_string a.FStar_Syntax_Syntax.v in + FStar_Util.format1 "Name not found: %s" uu____4493 in + failwith uu____4491 + let (lookup_free_var_name : env_t -> FStar_Ident.lident FStar_Syntax_Syntax.withinfo_t -> fvar_binding) - = fun env -> fun a -> lookup_lid env a.FStar_Syntax_Syntax.v + = fun env -> fun a -> lookup_lid env a.FStar_Syntax_Syntax.v let (lookup_free_var_sym : env_t -> FStar_Ident.lident FStar_Syntax_Syntax.withinfo_t -> - ((FStar_SMTEncoding_Term.op, FStar_SMTEncoding_Term.term) + ((FStar_SMTEncoding_Term.op,FStar_SMTEncoding_Term.term) FStar_Util.either * FStar_SMTEncoding_Term.term Prims.list * Prims.int)) = - fun env -> - fun a -> - let fvb = lookup_lid env a.FStar_Syntax_Syntax.v in + fun env -> + fun a -> + let fvb = lookup_lid env a.FStar_Syntax_Syntax.v in match fvb.smt_fuel_partial_app with | FStar_Pervasives_Native.Some - { FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.App (g, zf); - FStar_SMTEncoding_Term.freevars = uu____4433; - FStar_SMTEncoding_Term.rng = uu____4434;_} + { FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.App (g,zf); + FStar_SMTEncoding_Term.freevars = uu____4555; + FStar_SMTEncoding_Term.rng = uu____4556;_} when env.use_zfuel_name -> ((FStar_Util.Inl g), zf, (fvb.smt_arity + (Prims.parse_int "1"))) - | uu____4459 -> + | uu____4581 -> (match fvb.smt_token with - | FStar_Pervasives_Native.None when fvb.fvb_thunked -> - let uu____4475 = - let uu____4480 = force_thunk fvb in - FStar_Util.Inr uu____4480 in - (uu____4475, [], (fvb.smt_arity)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None when fvb.fvb_thunked -> + let uu____4597 = + let uu____4602 = force_thunk fvb in + FStar_Util.Inr uu____4602 in + (uu____4597, [], (fvb.smt_arity)) + | FStar_Pervasives_Native.None -> ((FStar_Util.Inl (FStar_SMTEncoding_Term.Var (fvb.smt_id))), [], (fvb.smt_arity)) | FStar_Pervasives_Native.Some sym -> (match sym.FStar_SMTEncoding_Term.tm with - | FStar_SMTEncoding_Term.App (g, fuel::[]) -> + | FStar_SMTEncoding_Term.App (g,fuel::[]) -> ((FStar_Util.Inl g), [fuel], (fvb.smt_arity + (Prims.parse_int "1"))) - | uu____4521 -> + | uu____4643 -> ((FStar_Util.Inl (FStar_SMTEncoding_Term.Var (fvb.smt_id))), [], (fvb.smt_arity)))) + let (tok_of_name : env_t -> Prims.string -> FStar_SMTEncoding_Term.term FStar_Pervasives_Native.option) = - fun env -> - fun nm -> - let uu____4544 = - FStar_All.pipe_right env.fvar_bindings FStar_Pervasives_Native.fst in - FStar_Util.psmap_find_map uu____4544 - (fun uu____4564 -> - fun fvb -> - check_valid_fvb fvb; - if fvb.smt_id = nm - then fvb.smt_token - else FStar_Pervasives_Native.None) + fun env -> + fun nm -> + let uu____4666 = + let uu____4669 = + FStar_All.pipe_right env.fvar_bindings FStar_Pervasives_Native.fst + in + FStar_Util.psmap_find_map uu____4669 + (fun uu____4689 -> + fun fvb -> + check_valid_fvb fvb; + if fvb.smt_id = nm + then fvb.smt_token + else FStar_Pervasives_Native.None) + in + match uu____4666 with + | FStar_Pervasives_Native.Some b -> FStar_Pervasives_Native.Some b + | FStar_Pervasives_Native.None -> + FStar_Util.psmap_find_map env.bvar_bindings + (fun uu____4710 -> + fun pi -> + FStar_Util.pimap_fold pi + (fun uu____4730 -> + fun y -> + fun res -> + match (res, y) with + | (FStar_Pervasives_Native.Some + uu____4748,uu____4749) -> res + | (FStar_Pervasives_Native.None + ,(uu____4760,{ + FStar_SMTEncoding_Term.tm = + FStar_SMTEncoding_Term.App + (FStar_SMTEncoding_Term.Var + sym,[]); + FStar_SMTEncoding_Term.freevars = + uu____4762; + FStar_SMTEncoding_Term.rng = + uu____4763;_})) + when sym = nm -> + FStar_Pervasives_Native.Some + (FStar_Pervasives_Native.snd y) + | uu____4786 -> FStar_Pervasives_Native.None) + FStar_Pervasives_Native.None) + let (reset_current_module_fvbs : env_t -> env_t) = - fun env -> - let uu___381_4580 = env in - let uu____4581 = - let uu____4590 = - FStar_All.pipe_right env.fvar_bindings FStar_Pervasives_Native.fst in - (uu____4590, []) in + fun env -> + let uu___424_4803 = env in + let uu____4804 = + let uu____4813 = + FStar_All.pipe_right env.fvar_bindings FStar_Pervasives_Native.fst + in + (uu____4813, []) in { - bvar_bindings = (uu___381_4580.bvar_bindings); - fvar_bindings = uu____4581; - depth = (uu___381_4580.depth); - tcenv = (uu___381_4580.tcenv); - warn = (uu___381_4580.warn); - nolabels = (uu___381_4580.nolabels); - use_zfuel_name = (uu___381_4580.use_zfuel_name); + bvar_bindings = (uu___424_4803.bvar_bindings); + fvar_bindings = uu____4804; + depth = (uu___424_4803.depth); + tcenv = (uu___424_4803.tcenv); + warn = (uu___424_4803.warn); + nolabels = (uu___424_4803.nolabels); + use_zfuel_name = (uu___424_4803.use_zfuel_name); encode_non_total_function_typ = - (uu___381_4580.encode_non_total_function_typ); - current_module_name = (uu___381_4580.current_module_name); - encoding_quantifier = (uu___381_4580.encoding_quantifier); - global_cache = (uu___381_4580.global_cache) + (uu___424_4803.encode_non_total_function_typ); + current_module_name = (uu___424_4803.current_module_name); + encoding_quantifier = (uu___424_4803.encoding_quantifier); + global_cache = (uu___424_4803.global_cache) } + let (get_current_module_fvbs : env_t -> fvar_binding Prims.list) = - fun env -> + fun env -> FStar_All.pipe_right env.fvar_bindings FStar_Pervasives_Native.snd + let (add_fvar_binding_to_env : fvar_binding -> env_t -> env_t) = - fun fvb -> - fun env -> - let uu___386_4644 = env in - let uu____4645 = add_fvar_binding fvb env.fvar_bindings in + fun fvb -> + fun env -> + let uu___429_4867 = env in + let uu____4868 = add_fvar_binding fvb env.fvar_bindings in { - bvar_bindings = (uu___386_4644.bvar_bindings); - fvar_bindings = uu____4645; - depth = (uu___386_4644.depth); - tcenv = (uu___386_4644.tcenv); - warn = (uu___386_4644.warn); - nolabels = (uu___386_4644.nolabels); - use_zfuel_name = (uu___386_4644.use_zfuel_name); + bvar_bindings = (uu___429_4867.bvar_bindings); + fvar_bindings = uu____4868; + depth = (uu___429_4867.depth); + tcenv = (uu___429_4867.tcenv); + warn = (uu___429_4867.warn); + nolabels = (uu___429_4867.nolabels); + use_zfuel_name = (uu___429_4867.use_zfuel_name); encode_non_total_function_typ = - (uu___386_4644.encode_non_total_function_typ); - current_module_name = (uu___386_4644.current_module_name); - encoding_quantifier = (uu___386_4644.encoding_quantifier); - global_cache = (uu___386_4644.global_cache) - } \ No newline at end of file + (uu___429_4867.encode_non_total_function_typ); + current_module_name = (uu___429_4867.current_module_name); + encoding_quantifier = (uu___429_4867.encoding_quantifier); + global_cache = (uu___429_4867.global_cache) + } + \ No newline at end of file diff --git a/src/ocaml-output/FStar_SMTEncoding_ErrorReporting.ml b/src/ocaml-output/FStar_SMTEncoding_ErrorReporting.ml index 61967796781..d6a8475d589 100644 --- a/src/ocaml-output/FStar_SMTEncoding_ErrorReporting.ml +++ b/src/ocaml-output/FStar_SMTEncoding_ErrorReporting.ml @@ -1,13 +1,15 @@ open Prims exception Not_a_wp_implication of Prims.string let (uu___is_Not_a_wp_implication : Prims.exn -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Not_a_wp_implication uu____12 -> true | uu____15 -> false + let (__proj__Not_a_wp_implication__item__uu___ : Prims.exn -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | Not_a_wp_implication uu____25 -> uu____25 + type label = FStar_SMTEncoding_Term.error_label type labels = FStar_SMTEncoding_Term.error_labels let (sort_labels : @@ -15,25 +17,26 @@ let (sort_labels : ((FStar_SMTEncoding_Term.fv * Prims.string * FStar_Range.range) * Prims.bool) Prims.list) = - fun l -> + fun l -> FStar_List.sortWith - (fun uu____83 -> - fun uu____84 -> + (fun uu____83 -> + fun uu____84 -> match (uu____83, uu____84) with - | (((uu____134, uu____135, r1), uu____137), - ((uu____138, uu____139, r2), uu____141)) -> - FStar_Range.compare r1 r2) l + | (((uu____134,uu____135,r1),uu____137),((uu____138,uu____139,r2),uu____141)) + -> FStar_Range.compare r1 r2) l + let (remove_dups : labels -> (FStar_SMTEncoding_Term.fv * Prims.string * FStar_Range.range) Prims.list) = - fun l -> + fun l -> FStar_Util.remove_dups - (fun uu____218 -> - fun uu____219 -> + (fun uu____218 -> + fun uu____219 -> match (uu____218, uu____219) with - | ((uu____249, m1, r1), (uu____252, m2, r2)) -> - (r1 = r2) && (m1 = m2)) l + | ((uu____249,m1,r1),(uu____252,m2,r2)) -> (r1 = r2) && (m1 = m2)) + l + type msg = (Prims.string * FStar_Range.range) type ranges = (Prims.string FStar_Pervasives_Native.option * FStar_Range.range) @@ -43,96 +46,101 @@ let (fresh_label : FStar_Range.range -> FStar_SMTEncoding_Term.term -> (label * FStar_SMTEncoding_Term.term)) = - let ctr = FStar_Util.mk_ref (Prims.parse_int "0") in - fun message -> - fun range -> - fun t -> + let ctr = FStar_Util.mk_ref (Prims.parse_int "0") in + fun message -> + fun range -> + fun t -> let l = FStar_Util.incr ctr; (let uu____319 = - let uu____321 = FStar_ST.op_Bang ctr in - FStar_Util.string_of_int uu____321 in - FStar_Util.format1 "label_%s" uu____319) in + let uu____321 = FStar_ST.op_Bang ctr in + FStar_Util.string_of_int uu____321 in + FStar_Util.format1 "label_%s" uu____319) + in let lvar = - FStar_SMTEncoding_Term.mk_fv (l, FStar_SMTEncoding_Term.Bool_sort) in - let label = (lvar, message, range) in - let lterm = FStar_SMTEncoding_Util.mkFreeV lvar in - let lt1 = FStar_SMTEncoding_Term.mkOr (lterm, t) range in + FStar_SMTEncoding_Term.mk_fv (l, FStar_SMTEncoding_Term.Bool_sort) + in + let label = (lvar, message, range) in + let lterm = FStar_SMTEncoding_Util.mkFreeV lvar in + let lt1 = FStar_SMTEncoding_Term.mkOr (lterm, t) range in (label, lt1) + let (label_goals : (unit -> Prims.string) FStar_Pervasives_Native.option -> FStar_Range.range -> FStar_SMTEncoding_Term.term -> (labels * FStar_SMTEncoding_Term.term)) = - fun use_env_msg -> - fun r -> - fun q -> + fun use_env_msg -> + fun r -> + fun q -> let rec is_a_post_condition post_name_opt tm = match (post_name_opt, (tm.FStar_SMTEncoding_Term.tm)) with - | (FStar_Pervasives_Native.None, uu____415) -> false - | (FStar_Pervasives_Native.Some nm, FStar_SMTEncoding_Term.FreeV - fv) -> - let uu____436 = FStar_SMTEncoding_Term.fv_name fv in + | (FStar_Pervasives_Native.None ,uu____415) -> false + | (FStar_Pervasives_Native.Some nm,FStar_SMTEncoding_Term.FreeV fv) + -> + let uu____436 = FStar_SMTEncoding_Term.fv_name fv in nm = uu____436 - | (uu____439, FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Var "Valid", tm1::[])) -> + | (uu____439,FStar_SMTEncoding_Term.App + (FStar_SMTEncoding_Term.Var "Valid",tm1::[])) -> is_a_post_condition post_name_opt tm1 - | (uu____450, FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Var "ApplyTT", tm1::uu____452)) -> + | (uu____450,FStar_SMTEncoding_Term.App + (FStar_SMTEncoding_Term.Var "ApplyTT",tm1::uu____452)) -> is_a_post_condition post_name_opt tm1 - | uu____464 -> false in + | uu____464 -> false in let conjuncts t = match t.FStar_SMTEncoding_Term.tm with - | FStar_SMTEncoding_Term.App (FStar_SMTEncoding_Term.And, cs) -> cs - | uu____488 -> [t] in + | FStar_SMTEncoding_Term.App (FStar_SMTEncoding_Term.And ,cs) -> cs + | uu____488 -> [t] in let is_guard_free tm = match tm.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.Quant - (FStar_SMTEncoding_Term.Forall, - ({ - FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Var "Prims.guard_free", p::[]); - FStar_SMTEncoding_Term.freevars = uu____498; - FStar_SMTEncoding_Term.rng = uu____499;_}::[])::[], - iopt, uu____501, + (FStar_SMTEncoding_Term.Forall + ,({ + FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.App + (FStar_SMTEncoding_Term.Var "Prims.guard_free",p::[]); + FStar_SMTEncoding_Term.freevars = uu____498; + FStar_SMTEncoding_Term.rng = uu____499;_}::[])::[],iopt,uu____501, { FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Imp, l::r1::[]); + (FStar_SMTEncoding_Term.Imp ,l::r1::[]); FStar_SMTEncoding_Term.freevars = uu____504; FStar_SMTEncoding_Term.rng = uu____505;_}) -> true - | uu____554 -> false in + | uu____554 -> false in let is_a_named_continuation lhs = FStar_All.pipe_right (conjuncts lhs) - (FStar_Util.for_some is_guard_free) in + (FStar_Util.for_some is_guard_free) + in let uu____566 = match use_env_msg with - | FStar_Pervasives_Native.None -> (false, "") + | FStar_Pervasives_Native.None -> (false, "") | FStar_Pervasives_Native.Some f -> - let uu____596 = f () in (true, uu____596) in + let uu____596 = f () in (true, uu____596) + in match uu____566 with - | (flag, msg_prefix) -> + | (flag,msg_prefix) -> let fresh_label1 msg ropt rng t = let msg1 = if flag then Prims.op_Hat "Failed to verify implicit argument: " (Prims.op_Hat msg_prefix (Prims.op_Hat " :: " msg)) - else msg in + else msg in let rng1 = match ropt with - | FStar_Pervasives_Native.None -> rng + | FStar_Pervasives_Native.None -> rng | FStar_Pervasives_Native.Some r1 -> let uu____652 = - let uu____654 = FStar_Range.use_range rng in - let uu____655 = FStar_Range.use_range r1 in - FStar_Range.rng_included uu____654 uu____655 in + let uu____654 = FStar_Range.use_range rng in + let uu____655 = FStar_Range.use_range r1 in + FStar_Range.rng_included uu____654 uu____655 in if uu____652 then rng else - (let uu____659 = FStar_Range.def_range rng in - FStar_Range.set_def_range r1 uu____659) in - fresh_label msg1 rng1 t in + (let uu____659 = FStar_Range.def_range rng in + FStar_Range.set_def_range r1 uu____659) + in + fresh_label msg1 rng1 t in let rec aux default_msg ropt post_name_opt labels q1 = match q1.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.BoundV uu____714 -> (labels, q1) @@ -141,88 +149,98 @@ let (label_goals : | FStar_SMTEncoding_Term.LblPos uu____726 -> failwith "Impossible" | FStar_SMTEncoding_Term.Labeled - (arg, "could not prove post-condition", uu____740) -> + (arg,"could not prove post-condition",uu____740) -> let fallback msg = - aux default_msg ropt post_name_opt labels arg in + aux default_msg ropt post_name_opt labels arg in (try - (fun uu___142_786 -> + (fun uu___142_786 -> match () with | () -> (match arg.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.Quant - (FStar_SMTEncoding_Term.Forall, pats, iopt, - post::sorts, - { - FStar_SMTEncoding_Term.tm = - FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Imp, - lhs::rhs::[]); - FStar_SMTEncoding_Term.freevars = - uu____805; - FStar_SMTEncoding_Term.rng = rng;_}) + (FStar_SMTEncoding_Term.Forall + ,pats,iopt,post::sorts,{ + FStar_SMTEncoding_Term.tm + = + FStar_SMTEncoding_Term.App + (FStar_SMTEncoding_Term.Imp + ,lhs::rhs::[]); + FStar_SMTEncoding_Term.freevars + = uu____805; + FStar_SMTEncoding_Term.rng + = rng;_}) -> let post_name = let uu____841 = - let uu____843 = FStar_Ident.next_id () in + let uu____843 = FStar_Ident.next_id () + in FStar_All.pipe_left - FStar_Util.string_of_int uu____843 in - Prims.op_Hat "^^post_condition_" uu____841 in + FStar_Util.string_of_int uu____843 + in + Prims.op_Hat "^^post_condition_" uu____841 + in let names1 = let uu____851 = FStar_SMTEncoding_Term.mk_fv - (post_name, post) in + (post_name, post) + in let uu____853 = FStar_List.map - (fun s -> + (fun s -> let uu____859 = let uu____865 = let uu____867 = let uu____869 = - FStar_Ident.next_id () in + FStar_Ident.next_id () in FStar_All.pipe_left FStar_Util.string_of_int - uu____869 in - Prims.op_Hat "^^" uu____867 in - (uu____865, s) in + uu____869 + in + Prims.op_Hat "^^" uu____867 in + (uu____865, s) in FStar_SMTEncoding_Term.mk_fv - uu____859) sorts in - uu____851 :: uu____853 in + uu____859) sorts + in + uu____851 :: uu____853 in let instantiation = FStar_List.map - FStar_SMTEncoding_Util.mkFreeV names1 in + FStar_SMTEncoding_Util.mkFreeV names1 + in let uu____878 = let uu____883 = FStar_SMTEncoding_Term.inst - instantiation lhs in + instantiation lhs + in let uu____884 = FStar_SMTEncoding_Term.inst - instantiation rhs in - (uu____883, uu____884) in + instantiation rhs + in + (uu____883, uu____884) in (match uu____878 with - | (lhs1, rhs1) -> + | (lhs1,rhs1) -> let uu____893 = match lhs1.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.And, - clauses_lhs) + (FStar_SMTEncoding_Term.And + ,clauses_lhs) -> let uu____911 = - FStar_Util.prefix clauses_lhs in + FStar_Util.prefix clauses_lhs + in (match uu____911 with - | (req, ens) -> + | (req,ens) -> (match ens.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.Quant - (FStar_SMTEncoding_Term.Forall, - pats_ens, iopt_ens, - sorts_ens, + (FStar_SMTEncoding_Term.Forall + ,pats_ens,iopt_ens,sorts_ens, { FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Imp, - ensures_conjuncts::post1::[]); + (FStar_SMTEncoding_Term.Imp + ,ensures_conjuncts::post1::[]); FStar_SMTEncoding_Term.freevars = uu____941; FStar_SMTEncoding_Term.rng @@ -231,7 +249,8 @@ let (label_goals : let uu____975 = is_a_post_condition (FStar_Pervasives_Native.Some - post_name) post1 in + post_name) post1 + in if uu____975 then let uu____985 = @@ -241,10 +260,10 @@ let (label_goals : (FStar_Pervasives_Native.Some post_name) labels - ensures_conjuncts in + ensures_conjuncts + in (match uu____985 with - | (labels1, - ensures_conjuncts1) + | (labels1,ensures_conjuncts1) -> let pats_ens1 = match pats_ens @@ -255,7 +274,8 @@ let (label_goals : [[post1]] | uu____1029 -> - pats_ens in + pats_ens + in let ens1 = let uu____1035 = @@ -268,17 +288,21 @@ let (label_goals : (FStar_SMTEncoding_Term.Imp, [ensures_conjuncts1; post1])) - rng_ens in + rng_ens + in (FStar_SMTEncoding_Term.Forall, pats_ens1, iopt_ens, sorts_ens, - uu____1056) in + uu____1056) + in FStar_SMTEncoding_Term.Quant - uu____1036 in + uu____1036 + in FStar_SMTEncoding_Term.mk uu____1035 - ens.FStar_SMTEncoding_Term.rng in + ens.FStar_SMTEncoding_Term.rng + in let lhs2 = FStar_SMTEncoding_Term.mk (FStar_SMTEncoding_Term.App @@ -286,10 +310,12 @@ let (label_goals : (FStar_List.append req [ens1]))) - lhs1.FStar_SMTEncoding_Term.rng in + lhs1.FStar_SMTEncoding_Term.rng + in let uu____1071 = FStar_SMTEncoding_Term.abstr - names1 lhs2 in + names1 lhs2 + in (labels1, uu____1071)) else @@ -301,18 +327,23 @@ let (label_goals : let uu____1083 = FStar_SMTEncoding_Term.print_smt_term - post1 in + post1 + in Prims.op_Hat " ... " - uu____1083 in + uu____1083 + in Prims.op_Hat post_name - uu____1081 in + uu____1081 + in Prims.op_Hat "Ensures clause doesn't match post name: " - uu____1079 in + uu____1079 + in Not_a_wp_implication - uu____1077 in + uu____1077 + in FStar_Exn.raise uu____1076) | uu____1093 -> @@ -323,18 +354,23 @@ let (label_goals : let uu____1101 = FStar_SMTEncoding_Term.print_smt_term - ens in + ens + in Prims.op_Hat " ... " - uu____1101 in + uu____1101 + in Prims.op_Hat post_name - uu____1099 in + uu____1099 + in Prims.op_Hat "Ensures clause doesn't have the expected shape for post-condition " - uu____1097 in + uu____1097 + in Not_a_wp_implication - uu____1095 in + uu____1095 + in FStar_Exn.raise uu____1094)) | uu____1111 -> @@ -342,121 +378,138 @@ let (label_goals : let uu____1113 = let uu____1115 = FStar_SMTEncoding_Term.print_smt_term - lhs1 in + lhs1 + in Prims.op_Hat "LHS not a conjunct: " - uu____1115 in - Not_a_wp_implication uu____1113 in - FStar_Exn.raise uu____1112 in + uu____1115 + in + Not_a_wp_implication uu____1113 + in + FStar_Exn.raise uu____1112 + in (match uu____893 with - | (labels1, lhs2) -> + | (labels1,lhs2) -> let uu____1136 = let uu____1143 = aux default_msg FStar_Pervasives_Native.None (FStar_Pervasives_Native.Some - post_name) labels1 rhs1 in + post_name) labels1 rhs1 + in match uu____1143 with - | (labels2, rhs2) -> + | (labels2,rhs2) -> let uu____1163 = FStar_SMTEncoding_Term.abstr - names1 rhs2 in - (labels2, uu____1163) in + names1 rhs2 + in + (labels2, uu____1163) + in (match uu____1136 with - | (labels2, rhs2) -> + | (labels2,rhs2) -> let body = FStar_SMTEncoding_Term.mkImp - (lhs2, rhs2) rng in + (lhs2, rhs2) rng + in let uu____1179 = FStar_SMTEncoding_Term.mk (FStar_SMTEncoding_Term.Quant (FStar_SMTEncoding_Term.Forall, pats, iopt, (post :: sorts), body)) - q1.FStar_SMTEncoding_Term.rng in + q1.FStar_SMTEncoding_Term.rng + in (labels2, uu____1179)))) | uu____1191 -> let uu____1192 = let uu____1194 = FStar_SMTEncoding_Term.print_smt_term - arg in + arg + in Prims.op_Hat "arg not a quant: " - uu____1194 in + uu____1194 + in fallback uu____1192)) () with | Not_a_wp_implication msg -> fallback msg) - | FStar_SMTEncoding_Term.Labeled (arg, reason, r1) -> + | FStar_SMTEncoding_Term.Labeled (arg,reason,r1) -> aux reason (FStar_Pervasives_Native.Some r1) post_name_opt labels arg | FStar_SMTEncoding_Term.Quant - (FStar_SMTEncoding_Term.Forall, [], - FStar_Pervasives_Native.None, sorts, - { - FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Imp, lhs::rhs::[]); - FStar_SMTEncoding_Term.freevars = uu____1216; - FStar_SMTEncoding_Term.rng = rng;_}) + (FStar_SMTEncoding_Term.Forall + ,[],FStar_Pervasives_Native.None + ,sorts,{ + FStar_SMTEncoding_Term.tm = + FStar_SMTEncoding_Term.App + (FStar_SMTEncoding_Term.Imp ,lhs::rhs::[]); + FStar_SMTEncoding_Term.freevars = uu____1216; + FStar_SMTEncoding_Term.rng = rng;_}) when is_a_named_continuation lhs -> - let uu____1246 = FStar_Util.prefix sorts in + let uu____1246 = FStar_Util.prefix sorts in (match uu____1246 with - | (sorts', post) -> + | (sorts',post) -> let new_post_name = let uu____1267 = - let uu____1269 = FStar_Ident.next_id () in + let uu____1269 = FStar_Ident.next_id () in FStar_All.pipe_left FStar_Util.string_of_int - uu____1269 in - Prims.op_Hat "^^post_condition_" uu____1267 in + uu____1269 + in + Prims.op_Hat "^^post_condition_" uu____1267 in let names1 = let uu____1277 = FStar_List.map - (fun s -> + (fun s -> let uu____1283 = let uu____1289 = let uu____1291 = - let uu____1293 = FStar_Ident.next_id () in + let uu____1293 = FStar_Ident.next_id () + in FStar_All.pipe_left - FStar_Util.string_of_int uu____1293 in - Prims.op_Hat "^^" uu____1291 in - (uu____1289, s) in + FStar_Util.string_of_int uu____1293 + in + Prims.op_Hat "^^" uu____1291 in + (uu____1289, s) in FStar_SMTEncoding_Term.mk_fv uu____1283) - sorts' in + sorts' + in let uu____1299 = let uu____1302 = FStar_SMTEncoding_Term.mk_fv - (new_post_name, post) in - [uu____1302] in - FStar_List.append uu____1277 uu____1299 in + (new_post_name, post) + in + [uu____1302] in + FStar_List.append uu____1277 uu____1299 in let instantiation = - FStar_List.map FStar_SMTEncoding_Util.mkFreeV names1 in + FStar_List.map FStar_SMTEncoding_Util.mkFreeV names1 + in let uu____1307 = let uu____1312 = - FStar_SMTEncoding_Term.inst instantiation lhs in + FStar_SMTEncoding_Term.inst instantiation lhs in let uu____1313 = - FStar_SMTEncoding_Term.inst instantiation rhs in - (uu____1312, uu____1313) in + FStar_SMTEncoding_Term.inst instantiation rhs in + (uu____1312, uu____1313) in (match uu____1307 with - | (lhs1, rhs1) -> + | (lhs1,rhs1) -> let uu____1322 = FStar_Util.fold_map - (fun labels1 -> - fun tm -> + (fun labels1 -> + fun tm -> match tm.FStar_SMTEncoding_Term.tm with | FStar_SMTEncoding_Term.Quant - (FStar_SMTEncoding_Term.Forall, - ({ - FStar_SMTEncoding_Term.tm = - FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Var - "Prims.guard_free", p::[]); - FStar_SMTEncoding_Term.freevars - = uu____1360; - FStar_SMTEncoding_Term.rng = - uu____1361;_}::[])::[], - iopt, sorts1, + (FStar_SMTEncoding_Term.Forall + ,({ + FStar_SMTEncoding_Term.tm = + FStar_SMTEncoding_Term.App + (FStar_SMTEncoding_Term.Var + "Prims.guard_free",p::[]); + FStar_SMTEncoding_Term.freevars + = uu____1360; + FStar_SMTEncoding_Term.rng = + uu____1361;_}::[])::[],iopt,sorts1, { FStar_SMTEncoding_Term.tm = FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Imp, - l0::r1::[]); + (FStar_SMTEncoding_Term.Imp + ,l0::r1::[]); FStar_SMTEncoding_Term.freevars = uu____1366; FStar_SMTEncoding_Term.rng = @@ -465,15 +518,17 @@ let (label_goals : let uu____1415 = is_a_post_condition (FStar_Pervasives_Native.Some - new_post_name) r1 in + new_post_name) r1 + in if uu____1415 then let uu____1425 = aux default_msg FStar_Pervasives_Native.None - post_name_opt labels1 l0 in + post_name_opt labels1 l0 + in (match uu____1425 with - | (labels2, l) -> + | (labels2,l) -> let uu____1444 = let uu____1445 = let uu____1446 = @@ -482,43 +537,52 @@ let (label_goals : FStar_SMTEncoding_Term.mk (FStar_SMTEncoding_Term.App (FStar_SMTEncoding_Term.Imp, - [l; r1])) in + [l; r1])) + in (FStar_SMTEncoding_Term.Forall, [[p]], (FStar_Pervasives_Native.Some (Prims.parse_int "0")), - sorts1, uu____1466) in + sorts1, uu____1466) + in FStar_SMTEncoding_Term.Quant - uu____1446 in + uu____1446 + in FStar_SMTEncoding_Term.mk uu____1445 - q1.FStar_SMTEncoding_Term.rng in + q1.FStar_SMTEncoding_Term.rng + in (labels2, uu____1444)) else (labels1, tm) | uu____1490 -> (labels1, tm)) labels - (conjuncts lhs1) in + (conjuncts lhs1) + in (match uu____1322 with - | (labels1, lhs_conjs) -> + | (labels1,lhs_conjs) -> let uu____1509 = aux default_msg FStar_Pervasives_Native.None (FStar_Pervasives_Native.Some - new_post_name) labels1 rhs1 in + new_post_name) labels1 rhs1 + in (match uu____1509 with - | (labels2, rhs2) -> + | (labels2,rhs2) -> let body = let uu____1530 = let uu____1531 = let uu____1536 = FStar_SMTEncoding_Term.mk_and_l lhs_conjs - lhs1.FStar_SMTEncoding_Term.rng in - (uu____1536, rhs2) in + lhs1.FStar_SMTEncoding_Term.rng + in + (uu____1536, rhs2) in FStar_SMTEncoding_Term.mkImp - uu____1531 rng in + uu____1531 rng + in FStar_All.pipe_right uu____1530 (FStar_SMTEncoding_Term.abstr - names1) in + names1) + in let q2 = FStar_SMTEncoding_Term.mk (FStar_SMTEncoding_Term.Quant @@ -526,219 +590,241 @@ let (label_goals : [], FStar_Pervasives_Native.None, sorts, body)) - q1.FStar_SMTEncoding_Term.rng in + q1.FStar_SMTEncoding_Term.rng + in (labels2, q2))))) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Imp, lhs::rhs::[]) -> + (FStar_SMTEncoding_Term.Imp ,lhs::rhs::[]) -> let uu____1556 = - aux default_msg ropt post_name_opt labels rhs in + aux default_msg ropt post_name_opt labels rhs in (match uu____1556 with - | (labels1, rhs1) -> + | (labels1,rhs1) -> let uu____1575 = - FStar_SMTEncoding_Util.mkImp (lhs, rhs1) in + FStar_SMTEncoding_Util.mkImp (lhs, rhs1) in (labels1, uu____1575)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.And, conjuncts1) -> + (FStar_SMTEncoding_Term.And ,conjuncts1) -> let uu____1583 = FStar_Util.fold_map (aux default_msg ropt post_name_opt) - labels conjuncts1 in + labels conjuncts1 + in (match uu____1583 with - | (labels1, conjuncts2) -> + | (labels1,conjuncts2) -> let uu____1610 = FStar_SMTEncoding_Term.mk_and_l conjuncts2 - q1.FStar_SMTEncoding_Term.rng in + q1.FStar_SMTEncoding_Term.rng + in (labels1, uu____1610)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.ITE, hd1::q11::q2::[]) -> + (FStar_SMTEncoding_Term.ITE ,hd1::q11::q2::[]) -> let uu____1618 = - aux default_msg ropt post_name_opt labels q11 in + aux default_msg ropt post_name_opt labels q11 in (match uu____1618 with - | (labels1, q12) -> + | (labels1,q12) -> let uu____1637 = - aux default_msg ropt post_name_opt labels1 q2 in + aux default_msg ropt post_name_opt labels1 q2 in (match uu____1637 with - | (labels2, q21) -> + | (labels2,q21) -> let uu____1656 = FStar_SMTEncoding_Term.mkITE (hd1, q12, q21) - q1.FStar_SMTEncoding_Term.rng in + q1.FStar_SMTEncoding_Term.rng + in (labels2, uu____1656))) | FStar_SMTEncoding_Term.Quant - (FStar_SMTEncoding_Term.Exists, uu____1659, uu____1660, - uu____1661, uu____1662) + (FStar_SMTEncoding_Term.Exists + ,uu____1659,uu____1660,uu____1661,uu____1662) -> let uu____1681 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1681 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1681 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Iff, uu____1696) -> + (FStar_SMTEncoding_Term.Iff ,uu____1696) -> let uu____1701 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1701 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1701 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Or, uu____1716) -> + (FStar_SMTEncoding_Term.Or ,uu____1716) -> let uu____1721 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1721 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1721 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Var uu____1736, uu____1737) when + (FStar_SMTEncoding_Term.Var uu____1736,uu____1737) when is_a_post_condition post_name_opt q1 -> (labels, q1) | FStar_SMTEncoding_Term.FreeV uu____1745 -> let uu____1754 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1754 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1754 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.TrueOp, uu____1769) -> + (FStar_SMTEncoding_Term.TrueOp ,uu____1769) -> let uu____1774 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1774 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1774 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.FalseOp, uu____1789) -> + (FStar_SMTEncoding_Term.FalseOp ,uu____1789) -> let uu____1794 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1794 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1794 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Not, uu____1809) -> + (FStar_SMTEncoding_Term.Not ,uu____1809) -> let uu____1814 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1814 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1814 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Eq, uu____1829) -> + (FStar_SMTEncoding_Term.Eq ,uu____1829) -> let uu____1834 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1834 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1834 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.LT, uu____1849) -> + (FStar_SMTEncoding_Term.LT ,uu____1849) -> let uu____1854 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1854 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1854 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.LTE, uu____1869) -> + (FStar_SMTEncoding_Term.LTE ,uu____1869) -> let uu____1874 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1874 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1874 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.GT, uu____1889) -> + (FStar_SMTEncoding_Term.GT ,uu____1889) -> let uu____1894 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1894 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1894 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.GTE, uu____1909) -> + (FStar_SMTEncoding_Term.GTE ,uu____1909) -> let uu____1914 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1914 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1914 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvUlt, uu____1929) -> + (FStar_SMTEncoding_Term.BvUlt ,uu____1929) -> let uu____1934 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1934 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1934 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Var uu____1949, uu____1950) -> + (FStar_SMTEncoding_Term.Var uu____1949,uu____1950) -> let uu____1956 = fresh_label1 default_msg ropt - q1.FStar_SMTEncoding_Term.rng q1 in - (match uu____1956 with | (lab, q2) -> ((lab :: labels), q2)) + q1.FStar_SMTEncoding_Term.rng q1 + in + (match uu____1956 with | (lab,q2) -> ((lab :: labels), q2)) | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.RealDiv, uu____1971) -> + (FStar_SMTEncoding_Term.RealDiv ,uu____1971) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Add, uu____1983) -> + (FStar_SMTEncoding_Term.Add ,uu____1983) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Sub, uu____1995) -> + (FStar_SMTEncoding_Term.Sub ,uu____1995) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Div, uu____2007) -> + (FStar_SMTEncoding_Term.Div ,uu____2007) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Mul, uu____2019) -> + (FStar_SMTEncoding_Term.Mul ,uu____2019) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Minus, uu____2031) -> + (FStar_SMTEncoding_Term.Minus ,uu____2031) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Mod, uu____2043) -> + (FStar_SMTEncoding_Term.Mod ,uu____2043) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvAnd, uu____2055) -> + (FStar_SMTEncoding_Term.BvAnd ,uu____2055) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvXor, uu____2067) -> + (FStar_SMTEncoding_Term.BvXor ,uu____2067) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvOr, uu____2079) -> + (FStar_SMTEncoding_Term.BvOr ,uu____2079) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvAdd, uu____2091) -> + (FStar_SMTEncoding_Term.BvAdd ,uu____2091) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvSub, uu____2103) -> + (FStar_SMTEncoding_Term.BvSub ,uu____2103) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvShl, uu____2115) -> + (FStar_SMTEncoding_Term.BvShl ,uu____2115) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvShr, uu____2127) -> + (FStar_SMTEncoding_Term.BvShr ,uu____2127) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvUdiv, uu____2139) -> + (FStar_SMTEncoding_Term.BvUdiv ,uu____2139) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvMod, uu____2151) -> + (FStar_SMTEncoding_Term.BvMod ,uu____2151) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvMul, uu____2163) -> + (FStar_SMTEncoding_Term.BvMul ,uu____2163) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvUext uu____2175, uu____2176) -> + (FStar_SMTEncoding_Term.BvUext uu____2175,uu____2176) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.BvToNat, uu____2189) -> + (FStar_SMTEncoding_Term.BvToNat ,uu____2189) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.NatToBv uu____2201, uu____2202) -> + (FStar_SMTEncoding_Term.NatToBv uu____2201,uu____2202) -> failwith "Impossible: non-propositional term" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.ITE, uu____2215) -> + (FStar_SMTEncoding_Term.ITE ,uu____2215) -> failwith "Impossible: arity mismatch" | FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.Imp, uu____2227) -> + (FStar_SMTEncoding_Term.Imp ,uu____2227) -> failwith "Impossible: arity mismatch" | FStar_SMTEncoding_Term.Quant - (FStar_SMTEncoding_Term.Forall, pats, iopt, sorts, body) -> + (FStar_SMTEncoding_Term.Forall ,pats,iopt,sorts,body) -> let uu____2261 = - aux default_msg ropt post_name_opt labels body in + aux default_msg ropt post_name_opt labels body in (match uu____2261 with - | (labels1, body1) -> + | (labels1,body1) -> let uu____2280 = FStar_SMTEncoding_Term.mk (FStar_SMTEncoding_Term.Quant (FStar_SMTEncoding_Term.Forall, pats, iopt, - sorts, body1)) q1.FStar_SMTEncoding_Term.rng in + sorts, body1)) q1.FStar_SMTEncoding_Term.rng + in (labels1, uu____2280)) - | FStar_SMTEncoding_Term.Let (es, body) -> + | FStar_SMTEncoding_Term.Let (es,body) -> let uu____2298 = - aux default_msg ropt post_name_opt labels body in + aux default_msg ropt post_name_opt labels body in (match uu____2298 with - | (labels1, body1) -> + | (labels1,body1) -> let uu____2317 = FStar_SMTEncoding_Term.mkLet (es, body1) - q1.FStar_SMTEncoding_Term.rng in - (labels1, uu____2317)) in + q1.FStar_SMTEncoding_Term.rng + in + (labels1, uu____2317)) + in aux "assertion failed" FStar_Pervasives_Native.None FStar_Pervasives_Native.None [] q + let (detail_errors : Prims.bool -> FStar_TypeChecker_Env.env -> @@ -747,29 +833,31 @@ let (detail_errors : FStar_SMTEncoding_Z3.z3result) -> unit) = - fun hint_replay -> - fun env -> - fun all_labels -> - fun askZ3 -> + fun hint_replay -> + fun env -> + fun all_labels -> + fun askZ3 -> let print_banner uu____2361 = let msg = let uu____2364 = - let uu____2366 = FStar_TypeChecker_Env.get_range env in - FStar_Range.string_of_range uu____2366 in - let uu____2367 = FStar_Util.string_of_int (Prims.parse_int "5") in + let uu____2366 = FStar_TypeChecker_Env.get_range env in + FStar_Range.string_of_range uu____2366 in + let uu____2367 = FStar_Util.string_of_int (Prims.parse_int "5") + in let uu____2370 = - FStar_Util.string_of_int (FStar_List.length all_labels) in + FStar_Util.string_of_int (FStar_List.length all_labels) in FStar_Util.format4 "Detailed %s report follows for %s\nTaking %s seconds per proof obligation (%s proofs in total)\n" (if hint_replay then "hint replay" else "error") uu____2364 - uu____2367 uu____2370 in - FStar_Util.print_error msg in + uu____2367 uu____2370 + in + FStar_Util.print_error msg in let print_result uu____2396 = match uu____2396 with - | ((uu____2409, msg, r), success) -> + | ((uu____2409,msg,r),success) -> if success then - let uu____2425 = FStar_Range.string_of_range r in + let uu____2425 = FStar_Range.string_of_range r in FStar_Util.print1 "OK: proof obligation at %s was proven in isolation\n" uu____2425 @@ -783,28 +871,32 @@ let (detail_errors : else (let uu____2435 = let uu____2441 = - let uu____2443 = FStar_Range.string_of_range r in + let uu____2443 = FStar_Range.string_of_range r in FStar_Util.format2 "XX: proof obligation at %s failed\n\t%s\n" - uu____2443 msg in - (FStar_Errors.Error_ProofObligationFailed, uu____2441) in - FStar_Errors.log_issue r uu____2435) in + uu____2443 msg + in + (FStar_Errors.Error_ProofObligationFailed, uu____2441) + in + FStar_Errors.log_issue r uu____2435) + in let elim labs = FStar_All.pipe_right labs (FStar_List.map - (fun uu____2496 -> + (fun uu____2496 -> match uu____2496 with - | (l, uu____2505, uu____2506) -> + | (l,uu____2505,uu____2506) -> let a = let uu____2510 = let uu____2511 = let uu____2516 = - FStar_SMTEncoding_Util.mkFreeV l in - (uu____2516, FStar_SMTEncoding_Util.mkTrue) in - FStar_SMTEncoding_Util.mkEq uu____2511 in + FStar_SMTEncoding_Util.mkFreeV l in + (uu____2516, FStar_SMTEncoding_Util.mkTrue) in + FStar_SMTEncoding_Util.mkEq uu____2511 in let uu____2517 = - let uu____2519 = FStar_SMTEncoding_Term.fv_name l in - Prims.op_Hat "@disable_label_" uu____2519 in + let uu____2519 = FStar_SMTEncoding_Term.fv_name l + in + Prims.op_Hat "@disable_label_" uu____2519 in { FStar_SMTEncoding_Term.assumption_term = uu____2510; @@ -813,43 +905,47 @@ let (detail_errors : FStar_SMTEncoding_Term.assumption_name = uu____2517; FStar_SMTEncoding_Term.assumption_fact_ids = [] - } in - FStar_SMTEncoding_Term.Assume a)) in + } in + FStar_SMTEncoding_Term.Assume a)) + in let rec linear_check eliminated errors active = FStar_SMTEncoding_Z3.refresh (); (match active with | [] -> let results = let uu____2589 = - FStar_List.map (fun x -> (x, true)) eliminated in + FStar_List.map (fun x -> (x, true)) eliminated in let uu____2606 = - FStar_List.map (fun x -> (x, false)) errors in - FStar_List.append uu____2589 uu____2606 in + FStar_List.map (fun x -> (x, false)) errors in + FStar_List.append uu____2589 uu____2606 in sort_labels results | hd1::tl1 -> ((let uu____2633 = - FStar_Util.string_of_int (FStar_List.length active) in + FStar_Util.string_of_int (FStar_List.length active) in FStar_Util.print1 "%s, " uu____2633); (let decls = FStar_All.pipe_left elim (FStar_List.append eliminated - (FStar_List.append errors tl1)) in - let result = askZ3 decls in + (FStar_List.append errors tl1)) + in + let result = askZ3 decls in match result.FStar_SMTEncoding_Z3.z3result_status with | FStar_SMTEncoding_Z3.UNSAT uu____2665 -> linear_check (hd1 :: eliminated) errors tl1 | uu____2666 -> - linear_check eliminated (hd1 :: errors) tl1))) in + linear_check eliminated (hd1 :: errors) tl1))) + in print_banner (); FStar_Options.set_option "z3rlimit" (FStar_Options.Int (Prims.parse_int "5")); - (let res = linear_check [] [] all_labels in + (let res = linear_check [] [] all_labels in FStar_Util.print_string "\n"; FStar_All.pipe_right res (FStar_List.iter print_result); (let uu____2715 = - FStar_Util.for_all FStar_Pervasives_Native.snd res in + FStar_Util.for_all FStar_Pervasives_Native.snd res in if uu____2715 then FStar_Util.print_string "Failed: the heuristic of trying each proof in isolation failed to identify a precise error\n" - else ())) \ No newline at end of file + else ())) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_SMTEncoding_Solver.ml b/src/ocaml-output/FStar_SMTEncoding_Solver.ml index 1cca278082b..06827a91811 100644 --- a/src/ocaml-output/FStar_SMTEncoding_Solver.ml +++ b/src/ocaml-output/FStar_SMTEncoding_Solver.ml @@ -1,155 +1,169 @@ open Prims type z3_replay_result = - (FStar_SMTEncoding_Z3.unsat_core, FStar_SMTEncoding_Term.error_labels) + (FStar_SMTEncoding_Z3.unsat_core,FStar_SMTEncoding_Term.error_labels) FStar_Util.either let z3_result_as_replay_result : - 'Auu____30 'Auu____31 'Auu____32 . - ('Auu____30, ('Auu____31 * 'Auu____32)) FStar_Util.either -> - ('Auu____30, 'Auu____31) FStar_Util.either + 'Auu____35 'Auu____36 'Auu____37 . + ('Auu____35,('Auu____36 * 'Auu____37)) FStar_Util.either -> + ('Auu____35,'Auu____36) FStar_Util.either = - fun uu___0_49 -> - match uu___0_49 with + fun uu___0_54 -> + match uu___0_54 with | FStar_Util.Inl l -> FStar_Util.Inl l - | FStar_Util.Inr (r, uu____64) -> FStar_Util.Inr r + | FStar_Util.Inr (r,uu____69) -> FStar_Util.Inr r + let (recorded_hints : FStar_Util.hints FStar_Pervasives_Native.option FStar_ST.ref) = - FStar_Util.mk_ref FStar_Pervasives_Native.None + FStar_Util.mk_ref FStar_Pervasives_Native.None let (replaying_hints : FStar_Util.hints FStar_Pervasives_Native.option FStar_ST.ref) = - FStar_Util.mk_ref FStar_Pervasives_Native.None + FStar_Util.mk_ref FStar_Pervasives_Native.None let (format_hints_file_name : Prims.string -> Prims.string) = - fun src_filename -> FStar_Util.format1 "%s.hints" src_filename -let initialize_hints_db : 'Auu____100 . Prims.string -> 'Auu____100 -> unit = - fun src_filename -> - fun format_filename -> - (let uu____114 = FStar_Options.record_hints () in - if uu____114 + fun src_filename -> FStar_Util.format1 "%s.hints" src_filename +let initialize_hints_db : 'Auu____105 . Prims.string -> 'Auu____105 -> unit = + fun src_filename -> + fun format_filename -> + (let uu____119 = FStar_Options.record_hints () in + if uu____119 then FStar_ST.op_Colon_Equals recorded_hints (FStar_Pervasives_Native.Some []) else ()); - (let uu____144 = FStar_Options.use_hints () in - if uu____144 + (let uu____149 = FStar_Options.use_hints () in + if uu____149 then - let norm_src_filename = FStar_Util.normalize_file_path src_filename in + let norm_src_filename = FStar_Util.normalize_file_path src_filename + in let val_filename = - let uu____151 = FStar_Options.hint_file () in - match uu____151 with + let uu____156 = FStar_Options.hint_file () in + match uu____156 with | FStar_Pervasives_Native.Some fn -> fn - | FStar_Pervasives_Native.None -> - format_hints_file_name norm_src_filename in - let uu____160 = FStar_Util.read_hints val_filename in - match uu____160 with + | FStar_Pervasives_Native.None -> + format_hints_file_name norm_src_filename + in + let uu____165 = FStar_Util.read_hints val_filename in + match uu____165 with | FStar_Pervasives_Native.Some hints -> let expected_digest = - FStar_Util.digest_of_file norm_src_filename in - ((let uu____167 = FStar_Options.hint_info () in - if uu____167 + FStar_Util.digest_of_file norm_src_filename in + ((let uu____172 = FStar_Options.hint_info () in + if uu____172 then - let uu____170 = - let uu____172 = FStar_Options.hint_file () in - match uu____172 with + let uu____175 = + let uu____177 = FStar_Options.hint_file () in + match uu____177 with | FStar_Pervasives_Native.Some fn -> Prims.op_Hat " from '" (Prims.op_Hat val_filename "'") - | uu____182 -> "" in + | uu____187 -> "" in FStar_Util.print3 "(%s) digest is %s%s.\n" norm_src_filename (if hints.FStar_Util.module_digest = expected_digest then "valid; using hints" - else "invalid; using potentially stale hints") uu____170 + else "invalid; using potentially stale hints") uu____175 else ()); FStar_ST.op_Colon_Equals replaying_hints (FStar_Pervasives_Native.Some (hints.FStar_Util.hints))) - | FStar_Pervasives_Native.None -> - let uu____220 = FStar_Options.hint_info () in - (if uu____220 + | FStar_Pervasives_Native.None -> + let uu____225 = FStar_Options.hint_info () in + (if uu____225 then FStar_Util.print1 "(%s) Unable to read hint file.\n" norm_src_filename else ()) else ()) + let (finalize_hints_db : Prims.string -> unit) = - fun src_filename -> - (let uu____237 = FStar_Options.record_hints () in - if uu____237 + fun src_filename -> + (let uu____242 = FStar_Options.record_hints () in + if uu____242 then let hints = - let uu____241 = FStar_ST.op_Bang recorded_hints in - FStar_Option.get uu____241 in + let uu____246 = FStar_ST.op_Bang recorded_hints in + FStar_Option.get uu____246 in let hints_db = - let uu____268 = FStar_Util.digest_of_file src_filename in - { FStar_Util.module_digest = uu____268; FStar_Util.hints = hints } in - let norm_src_filename = FStar_Util.normalize_file_path src_filename in + let uu____273 = FStar_Util.digest_of_file src_filename in + { FStar_Util.module_digest = uu____273; FStar_Util.hints = hints } + in + let norm_src_filename = FStar_Util.normalize_file_path src_filename + in let val_filename = - let uu____274 = FStar_Options.hint_file () in - match uu____274 with + let uu____279 = FStar_Options.hint_file () in + match uu____279 with | FStar_Pervasives_Native.Some fn -> fn - | FStar_Pervasives_Native.None -> - format_hints_file_name norm_src_filename in + | FStar_Pervasives_Native.None -> + format_hints_file_name norm_src_filename + in FStar_Util.write_hints val_filename hints_db else ()); FStar_ST.op_Colon_Equals recorded_hints FStar_Pervasives_Native.None; FStar_ST.op_Colon_Equals replaying_hints FStar_Pervasives_Native.None + let with_hints_db : 'a . Prims.string -> (unit -> 'a) -> 'a = - fun fname -> - fun f -> + fun fname -> + fun f -> initialize_hints_db fname false; - (let result = f () in finalize_hints_db fname; result) + (let result = f () in finalize_hints_db fname; result) + let (filter_using_facts_from : FStar_TypeChecker_Env.env -> FStar_SMTEncoding_Term.decl Prims.list -> FStar_SMTEncoding_Term.decl Prims.list) = - fun e -> - fun theory -> + fun e -> + fun theory -> let matches_fact_ids include_assumption_names a = match a.FStar_SMTEncoding_Term.assumption_fact_ids with | [] -> true - | uu____399 -> + | uu____404 -> (FStar_All.pipe_right a.FStar_SMTEncoding_Term.assumption_fact_ids (FStar_Util.for_some - (fun uu___1_407 -> - match uu___1_407 with + (fun uu___1_412 -> + match uu___1_412 with | FStar_SMTEncoding_Term.Name lid -> FStar_TypeChecker_Env.should_enc_lid e lid - | uu____410 -> false))) + | uu____415 -> false))) || - (let uu____413 = + (let uu____418 = FStar_Util.smap_try_find include_assumption_names - a.FStar_SMTEncoding_Term.assumption_name in - FStar_Option.isSome uu____413) in - let theory_rev = FStar_List.rev theory in + a.FStar_SMTEncoding_Term.assumption_name + in + FStar_Option.isSome uu____418) + in + let theory_rev = FStar_List.rev theory in let pruned_theory = let include_assumption_names = - FStar_Util.smap_create (Prims.parse_int "10000") in - let keep_decl uu___2_437 = - match uu___2_437 with + FStar_Util.smap_create (Prims.parse_int "10000") in + let keep_decl uu___2_442 = + match uu___2_442 with | FStar_SMTEncoding_Term.Assume a -> matches_fact_ids include_assumption_names a | FStar_SMTEncoding_Term.RetainAssumptions names1 -> (FStar_List.iter - (fun x -> + (fun x -> FStar_Util.smap_add include_assumption_names x true) names1; true) - | FStar_SMTEncoding_Term.Module uu____452 -> + | FStar_SMTEncoding_Term.Module uu____457 -> failwith "Solver.fs::keep_decl should never have been called with a Module decl" - | uu____462 -> true in + | uu____467 -> true in FStar_List.fold_left - (fun out -> - fun d -> + (fun out -> + fun d -> match d with - | FStar_SMTEncoding_Term.Module (name, decls) -> - let uu____485 = - FStar_All.pipe_right decls (FStar_List.filter keep_decl) in - FStar_All.pipe_right uu____485 - (fun decls1 -> + | FStar_SMTEncoding_Term.Module (name,decls) -> + let uu____490 = + FStar_All.pipe_right decls (FStar_List.filter keep_decl) + in + FStar_All.pipe_right uu____490 + (fun decls1 -> (FStar_SMTEncoding_Term.Module (name, decls1)) :: out) - | uu____503 -> - let uu____504 = keep_decl d in - if uu____504 then d :: out else out) [] theory_rev in + | uu____508 -> + let uu____509 = keep_decl d in + if uu____509 then d :: out else out) [] theory_rev + in pruned_theory + let rec (filter_assertions_with_stats : FStar_TypeChecker_Env.env -> FStar_SMTEncoding_Z3.unsat_core -> @@ -157,31 +171,32 @@ let rec (filter_assertions_with_stats : (FStar_SMTEncoding_Term.decl Prims.list * Prims.bool * Prims.int * Prims.int)) = - fun e -> - fun core -> - fun theory -> + fun e -> + fun core -> + fun theory -> match core with - | FStar_Pervasives_Native.None -> - let uu____560 = filter_using_facts_from e theory in - (uu____560, false, (Prims.parse_int "0"), (Prims.parse_int "0")) + | FStar_Pervasives_Native.None -> + let uu____565 = filter_using_facts_from e theory in + (uu____565, false, (Prims.parse_int "0"), (Prims.parse_int "0")) | FStar_Pervasives_Native.Some core1 -> - let theory_rev = FStar_List.rev theory in - let uu____581 = - let uu____592 = - let uu____603 = - let uu____606 = - let uu____607 = - let uu____609 = - FStar_All.pipe_right core1 (FStar_String.concat ", ") in - Prims.op_Hat "UNSAT CORE: " uu____609 in - FStar_SMTEncoding_Term.Caption uu____607 in - [uu____606] in - (uu____603, (Prims.parse_int "0"), (Prims.parse_int "0")) in + let theory_rev = FStar_List.rev theory in + let uu____586 = + let uu____597 = + let uu____608 = + let uu____611 = + let uu____612 = + let uu____614 = + FStar_All.pipe_right core1 (FStar_String.concat ", ") + in + Prims.op_Hat "UNSAT CORE: " uu____614 in + FStar_SMTEncoding_Term.Caption uu____612 in + [uu____611] in + (uu____608, (Prims.parse_int "0"), (Prims.parse_int "0")) in FStar_List.fold_left - (fun uu____639 -> - fun d -> - match uu____639 with - | (theory1, n_retained, n_pruned) -> + (fun uu____644 -> + fun d -> + match uu____644 with + | (theory1,n_retained,n_pruned) -> (match d with | FStar_SMTEncoding_Term.Assume a -> if @@ -201,44 +216,49 @@ let rec (filter_assertions_with_stats : else (theory1, n_retained, (n_pruned + (Prims.parse_int "1"))) - | FStar_SMTEncoding_Term.Module (name, decls) -> - let uu____733 = + | FStar_SMTEncoding_Term.Module (name,decls) -> + let uu____738 = FStar_All.pipe_right decls (filter_assertions_with_stats e - (FStar_Pervasives_Native.Some core1)) in - FStar_All.pipe_right uu____733 - (fun uu____793 -> - match uu____793 with - | (decls1, uu____818, r, p) -> + (FStar_Pervasives_Native.Some core1)) + in + FStar_All.pipe_right uu____738 + (fun uu____798 -> + match uu____798 with + | (decls1,uu____823,r,p) -> (((FStar_SMTEncoding_Term.Module (name, decls1)) :: theory1), (n_retained + r), (n_pruned + p))) - | uu____838 -> + | uu____843 -> ((d :: theory1), n_retained, n_pruned))) - uu____592 theory_rev in - (match uu____581 with - | (theory', n_retained, n_pruned) -> + uu____597 theory_rev + in + (match uu____586 with + | (theory',n_retained,n_pruned) -> (theory', true, n_retained, n_pruned)) + let (filter_assertions : FStar_TypeChecker_Env.env -> FStar_SMTEncoding_Z3.unsat_core -> FStar_SMTEncoding_Term.decl Prims.list -> (FStar_SMTEncoding_Term.decl Prims.list * Prims.bool)) = - fun e -> - fun core -> - fun theory -> - let uu____900 = filter_assertions_with_stats e core theory in - match uu____900 with - | (theory1, b, uu____923, uu____924) -> (theory1, b) + fun e -> + fun core -> + fun theory -> + let uu____905 = filter_assertions_with_stats e core theory in + match uu____905 with + | (theory1,b,uu____928,uu____929) -> (theory1, b) + let (filter_facts_without_core : FStar_TypeChecker_Env.env -> FStar_SMTEncoding_Term.decl Prims.list -> (FStar_SMTEncoding_Term.decl Prims.list * Prims.bool)) = - fun e -> - fun x -> - let uu____960 = filter_using_facts_from e x in (uu____960, false) + fun e -> + fun x -> + let uu____965 = filter_using_facts_from e x in (uu____965, false) + type errors = { error_reason: Prims.string ; @@ -248,41 +268,61 @@ type errors = error_messages: (FStar_Errors.raw_error * Prims.string * FStar_Range.range) Prims.list } let (__proj__Mkerrors__item__error_reason : errors -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { error_reason; error_fuel; error_ifuel; error_hint; error_messages;_} -> error_reason + let (__proj__Mkerrors__item__error_fuel : errors -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { error_reason; error_fuel; error_ifuel; error_hint; error_messages;_} -> error_fuel + let (__proj__Mkerrors__item__error_ifuel : errors -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { error_reason; error_fuel; error_ifuel; error_hint; error_messages;_} -> error_ifuel + let (__proj__Mkerrors__item__error_hint : errors -> Prims.string Prims.list FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { error_reason; error_fuel; error_ifuel; error_hint; error_messages;_} -> error_hint + let (__proj__Mkerrors__item__error_messages : errors -> (FStar_Errors.raw_error * Prims.string * FStar_Range.range) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { error_reason; error_fuel; error_ifuel; error_hint; error_messages;_} -> error_messages + let (error_to_short_string : errors -> Prims.string) = - fun err -> - let uu____1190 = FStar_Util.string_of_int err.error_fuel in - let uu____1192 = FStar_Util.string_of_int err.error_ifuel in - FStar_Util.format4 "%s (fuel=%s; ifuel=%s; %s)" err.error_reason - uu____1190 uu____1192 - (if FStar_Option.isSome err.error_hint then "with hint" else "") + fun err -> + let uu____1195 = FStar_Util.string_of_int err.error_fuel in + let uu____1197 = FStar_Util.string_of_int err.error_ifuel in + FStar_Util.format4 "%s (fuel=%s; ifuel=%s%s)" err.error_reason uu____1195 + uu____1197 + (if FStar_Option.isSome err.error_hint then "; with hint" else "") + +let (error_to_is_timeout : errors -> Prims.string Prims.list) = + fun err -> + if FStar_Util.ends_with err.error_reason "canceled" + then + let uu____1223 = + let uu____1225 = FStar_Util.string_of_int err.error_fuel in + let uu____1227 = FStar_Util.string_of_int err.error_ifuel in + FStar_Util.format4 "timeout (fuel=%s; ifuel=%s; %s)" err.error_reason + uu____1225 uu____1227 + (if FStar_Option.isSome err.error_hint then "with hint" else "") + in + [uu____1223] + else [] + type query_settings = { query_env: FStar_TypeChecker_Env.env ; @@ -300,359 +340,429 @@ type query_settings = query_hash: Prims.string FStar_Pervasives_Native.option } let (__proj__Mkquery_settings__item__query_env : query_settings -> FStar_TypeChecker_Env.env) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_env + let (__proj__Mkquery_settings__item__query_decl : query_settings -> FStar_SMTEncoding_Term.decl) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_decl + let (__proj__Mkquery_settings__item__query_name : query_settings -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_name + let (__proj__Mkquery_settings__item__query_index : query_settings -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_index + let (__proj__Mkquery_settings__item__query_range : query_settings -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_range + let (__proj__Mkquery_settings__item__query_fuel : query_settings -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_fuel + let (__proj__Mkquery_settings__item__query_ifuel : query_settings -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_ifuel + let (__proj__Mkquery_settings__item__query_rlimit : query_settings -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_rlimit + let (__proj__Mkquery_settings__item__query_hint : query_settings -> FStar_SMTEncoding_Z3.unsat_core) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_hint + let (__proj__Mkquery_settings__item__query_errors : query_settings -> errors Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_errors + let (__proj__Mkquery_settings__item__query_all_labels : query_settings -> FStar_SMTEncoding_Term.error_labels) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_all_labels + let (__proj__Mkquery_settings__item__query_suffix : query_settings -> FStar_SMTEncoding_Term.decl Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_suffix + let (__proj__Mkquery_settings__item__query_hash : query_settings -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { query_env; query_decl; query_name; query_index; query_range; query_fuel; query_ifuel; query_rlimit; query_hint; query_errors; query_all_labels; query_suffix; query_hash;_} -> query_hash + let (with_fuel_and_diagnostics : query_settings -> FStar_SMTEncoding_Term.decl Prims.list -> FStar_SMTEncoding_Term.decl Prims.list) = - fun settings -> - fun label_assumptions -> - let n1 = settings.query_fuel in - let i = settings.query_ifuel in - let rlimit = settings.query_rlimit in - let uu____1731 = - let uu____1734 = - let uu____1735 = - let uu____1737 = FStar_Util.string_of_int n1 in - let uu____1739 = FStar_Util.string_of_int i in - FStar_Util.format2 "" uu____1737 uu____1739 in - FStar_SMTEncoding_Term.Caption uu____1735 in - let uu____1742 = - let uu____1745 = - let uu____1746 = - let uu____1754 = - let uu____1755 = - let uu____1760 = - FStar_SMTEncoding_Util.mkApp ("MaxFuel", []) in - let uu____1765 = FStar_SMTEncoding_Term.n_fuel n1 in - (uu____1760, uu____1765) in - FStar_SMTEncoding_Util.mkEq uu____1755 in - (uu____1754, FStar_Pervasives_Native.None, - "@MaxFuel_assumption") in - FStar_SMTEncoding_Util.mkAssume uu____1746 in - let uu____1769 = - let uu____1772 = - let uu____1773 = - let uu____1781 = - let uu____1782 = - let uu____1787 = - FStar_SMTEncoding_Util.mkApp ("MaxIFuel", []) in - let uu____1792 = FStar_SMTEncoding_Term.n_fuel i in - (uu____1787, uu____1792) in - FStar_SMTEncoding_Util.mkEq uu____1782 in - (uu____1781, FStar_Pervasives_Native.None, - "@MaxIFuel_assumption") in - FStar_SMTEncoding_Util.mkAssume uu____1773 in - [uu____1772; settings.query_decl] in - uu____1745 :: uu____1769 in - uu____1734 :: uu____1742 in - let uu____1796 = - let uu____1799 = - let uu____1802 = - let uu____1805 = - let uu____1806 = - let uu____1813 = FStar_Util.string_of_int rlimit in - ("rlimit", uu____1813) in - FStar_SMTEncoding_Term.SetOption uu____1806 in - [uu____1805; + fun settings -> + fun label_assumptions -> + let n1 = settings.query_fuel in + let i = settings.query_ifuel in + let rlimit = settings.query_rlimit in + let uu____1771 = + let uu____1774 = + let uu____1775 = + let uu____1777 = FStar_Util.string_of_int n1 in + let uu____1779 = FStar_Util.string_of_int i in + FStar_Util.format2 "" uu____1777 uu____1779 + in + FStar_SMTEncoding_Term.Caption uu____1775 in + let uu____1782 = + let uu____1785 = + let uu____1786 = + let uu____1794 = + let uu____1795 = + let uu____1800 = + FStar_SMTEncoding_Util.mkApp ("MaxFuel", []) in + let uu____1805 = FStar_SMTEncoding_Term.n_fuel n1 in + (uu____1800, uu____1805) in + FStar_SMTEncoding_Util.mkEq uu____1795 in + (uu____1794, FStar_Pervasives_Native.None, + "@MaxFuel_assumption") + in + FStar_SMTEncoding_Util.mkAssume uu____1786 in + let uu____1809 = + let uu____1812 = + let uu____1813 = + let uu____1821 = + let uu____1822 = + let uu____1827 = + FStar_SMTEncoding_Util.mkApp ("MaxIFuel", []) in + let uu____1832 = FStar_SMTEncoding_Term.n_fuel i in + (uu____1827, uu____1832) in + FStar_SMTEncoding_Util.mkEq uu____1822 in + (uu____1821, FStar_Pervasives_Native.None, + "@MaxIFuel_assumption") + in + FStar_SMTEncoding_Util.mkAssume uu____1813 in + [uu____1812; settings.query_decl] in + uu____1785 :: uu____1809 in + uu____1774 :: uu____1782 in + let uu____1836 = + let uu____1839 = + let uu____1842 = + let uu____1845 = + let uu____1846 = + let uu____1853 = FStar_Util.string_of_int rlimit in + ("rlimit", uu____1853) in + FStar_SMTEncoding_Term.SetOption uu____1846 in + [uu____1845; FStar_SMTEncoding_Term.CheckSat; + FStar_SMTEncoding_Term.SetOption ("rlimit", "0"); FStar_SMTEncoding_Term.GetReasonUnknown; - FStar_SMTEncoding_Term.GetUnsatCore] in - let uu____1818 = - let uu____1821 = - let uu____1824 = + FStar_SMTEncoding_Term.GetUnsatCore] in + let uu____1862 = + let uu____1865 = + let uu____1868 = (FStar_Options.print_z3_statistics ()) || - (FStar_Options.query_stats ()) in - if uu____1824 + (FStar_Options.query_stats ()) + in + if uu____1868 then [FStar_SMTEncoding_Term.GetStatistics] - else [] in - FStar_List.append uu____1821 settings.query_suffix in - FStar_List.append uu____1802 uu____1818 in - FStar_List.append label_assumptions uu____1799 in - FStar_List.append uu____1731 uu____1796 + else [] in + FStar_List.append uu____1865 settings.query_suffix in + FStar_List.append uu____1842 uu____1862 in + FStar_List.append label_assumptions uu____1839 in + FStar_List.append uu____1771 uu____1836 + let (used_hint : query_settings -> Prims.bool) = - fun s -> FStar_Option.isSome s.query_hint + fun s -> FStar_Option.isSome s.query_hint let (get_hint_for : Prims.string -> Prims.int -> FStar_Util.hint FStar_Pervasives_Native.option) = - fun qname -> - fun qindex -> - let uu____1858 = FStar_ST.op_Bang replaying_hints in - match uu____1858 with + fun qname -> + fun qindex -> + let uu____1902 = FStar_ST.op_Bang replaying_hints in + match uu____1902 with | FStar_Pervasives_Native.Some hints -> FStar_Util.find_map hints - (fun uu___3_1891 -> - match uu___3_1891 with + (fun uu___3_1935 -> + match uu___3_1935 with | FStar_Pervasives_Native.Some hint when (hint.FStar_Util.hint_name = qname) && (hint.FStar_Util.hint_index = qindex) -> FStar_Pervasives_Native.Some hint - | uu____1899 -> FStar_Pervasives_Native.None) - | uu____1902 -> FStar_Pervasives_Native.None + | uu____1943 -> FStar_Pervasives_Native.None) + | uu____1946 -> FStar_Pervasives_Native.None + let (query_errors : query_settings -> FStar_SMTEncoding_Z3.z3result -> errors FStar_Pervasives_Native.option) = - fun settings -> - fun z3result -> + fun settings -> + fun z3result -> match z3result.FStar_SMTEncoding_Z3.z3result_status with - | FStar_SMTEncoding_Z3.UNSAT uu____1920 -> FStar_Pervasives_Native.None - | uu____1921 -> - let uu____1922 = + | FStar_SMTEncoding_Z3.UNSAT uu____1964 -> FStar_Pervasives_Native.None + | uu____1965 -> + let uu____1966 = FStar_SMTEncoding_Z3.status_string_and_errors - z3result.FStar_SMTEncoding_Z3.z3result_status in - (match uu____1922 with - | (msg, error_labels) -> + z3result.FStar_SMTEncoding_Z3.z3result_status + in + (match uu____1966 with + | (msg,error_labels) -> let err = - let uu____1935 = + let uu____1979 = FStar_List.map - (fun uu____1963 -> - match uu____1963 with - | (uu____1978, x, y) -> + (fun uu____2007 -> + match uu____2007 with + | (uu____2022,x,y) -> (FStar_Errors.Error_Z3SolverError, x, y)) - error_labels in + error_labels + in { error_reason = msg; error_fuel = (settings.query_fuel); error_ifuel = (settings.query_ifuel); error_hint = (settings.query_hint); - error_messages = uu____1935 - } in + error_messages = uu____1979 + } in FStar_Pervasives_Native.Some err) + let (detail_hint_replay : query_settings -> FStar_SMTEncoding_Z3.z3result -> unit) = - fun settings -> - fun z3result -> - let uu____1995 = - (used_hint settings) && (FStar_Options.detail_hint_replay ()) in - if uu____1995 + fun settings -> + fun z3result -> + let uu____2039 = + (used_hint settings) && (FStar_Options.detail_hint_replay ()) in + if uu____2039 then match z3result.FStar_SMTEncoding_Z3.z3result_status with - | FStar_SMTEncoding_Z3.UNSAT uu____1998 -> () + | FStar_SMTEncoding_Z3.UNSAT uu____2042 -> () | _failed -> let ask_z3 label_assumptions = - let res = FStar_Util.mk_ref FStar_Pervasives_Native.None in - (let uu____2018 = - with_fuel_and_diagnostics settings label_assumptions in + let res = FStar_Util.mk_ref FStar_Pervasives_Native.None in + (let uu____2062 = + with_fuel_and_diagnostics settings label_assumptions in FStar_SMTEncoding_Z3.ask settings.query_range (filter_assertions settings.query_env settings.query_hint) - settings.query_hash settings.query_all_labels uu____2018 + settings.query_hash settings.query_all_labels uu____2062 FStar_Pervasives_Native.None - (fun r -> + (fun r -> FStar_ST.op_Colon_Equals res (FStar_Pervasives_Native.Some r)) false); - (let uu____2047 = FStar_ST.op_Bang res in - FStar_Option.get uu____2047) in + (let uu____2091 = FStar_ST.op_Bang res in + FStar_Option.get uu____2091) + in FStar_SMTEncoding_ErrorReporting.detail_errors true settings.query_env settings.query_all_labels ask_z3 else () + let (find_localized_errors : errors Prims.list -> errors FStar_Pervasives_Native.option) = - fun errs -> + fun errs -> FStar_All.pipe_right errs (FStar_List.tryFind - (fun err -> - match err.error_messages with | [] -> false | uu____2103 -> true)) + (fun err -> + match err.error_messages with | [] -> false | uu____2147 -> true)) + let (has_localized_errors : errors Prims.list -> Prims.bool) = - fun errs -> - let uu____2125 = find_localized_errors errs in - FStar_Option.isSome uu____2125 + fun errs -> + let uu____2169 = find_localized_errors errs in + FStar_Option.isSome uu____2169 + let (report_errors : query_settings -> unit) = - fun settings -> - (let uu____2135 = find_localized_errors settings.query_errors in - match uu____2135 with + fun settings -> + let format_smt_error msg = + FStar_Util.format1 + "SMT solver says:\n\t%s;\n\tNote: 'canceled' or 'resource limits reached' means the SMT query timed out, so you might want to increase the rlimit;\n\t'incomplete quantifiers' means a (partial) counterexample was found, so try to spell your proof out in greater detail, increase fuel or ifuel\n\t'unknown' means Z3 provided no further reason for the proof failing" + msg + in + (let smt_error = + let uu____2196 = FStar_Options.query_stats () in + if uu____2196 + then + let uu____2205 = + let uu____2207 = + let uu____2209 = + FStar_All.pipe_right settings.query_errors + (FStar_List.map error_to_short_string) + in + FStar_All.pipe_right uu____2209 (FStar_String.concat ";\n\t") + in + FStar_All.pipe_right uu____2207 format_smt_error in + FStar_All.pipe_right uu____2205 (fun _2235 -> FStar_Util.Inr _2235) + else + (let uu____2238 = + FStar_List.fold_left + (fun uu____2263 -> + fun err -> + match uu____2263 with + | (ic,cc,uc) -> + let err1 = + FStar_Util.substring_from err.error_reason + (FStar_String.length "unknown because ") + in + if + ((FStar_Util.starts_with err1 "canceled") || + (FStar_Util.starts_with err1 "(resource")) + || (FStar_Util.starts_with err1 "timeout") + then (ic, (cc + (Prims.parse_int "1")), uc) + else + if FStar_Util.starts_with err1 "(incomplete" + then ((ic + (Prims.parse_int "1")), cc, uc) + else (ic, cc, (uc + (Prims.parse_int "1")))) + ((Prims.parse_int "0"), (Prims.parse_int "0"), + (Prims.parse_int "0")) settings.query_errors + in + match uu____2238 with + | (incomplete_count,canceled_count,unknown_count) -> + FStar_All.pipe_right + (match (incomplete_count, canceled_count, unknown_count) with + | (uu____2368,_2373,_2374) when + ((_2373 = (Prims.parse_int "0")) && + (_2374 = (Prims.parse_int "0"))) + && (incomplete_count > (Prims.parse_int "0")) + -> + "The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel" + | (_2381,uu____2377,_2383) when + ((_2381 = (Prims.parse_int "0")) && + (_2383 = (Prims.parse_int "0"))) + && (canceled_count > (Prims.parse_int "0")) + -> + "The SMT query timed out, you might want to increase the rlimit" + | (uu____2386,uu____2387,uu____2388) -> + "Try with --query_stats to get more details") + (fun _2398 -> FStar_Util.Inl _2398)) + in + let uu____2399 = find_localized_errors settings.query_errors in + match uu____2399 with | FStar_Pervasives_Native.Some err -> - (FStar_All.pipe_right settings.query_errors - (FStar_List.iter - (fun e -> - let uu____2145 = - let uu____2147 = error_to_short_string e in - Prims.op_Hat "SMT solver says: " uu____2147 in - FStar_Errors.diag settings.query_range uu____2145)); - FStar_Errors.add_errors err.error_messages) - | FStar_Pervasives_Native.None -> - let err_detail = - let uu____2152 = - FStar_All.pipe_right settings.query_errors - (FStar_List.map - (fun e -> - let uu____2165 = error_to_short_string e in - Prims.op_Hat "SMT solver says: " uu____2165)) in - FStar_All.pipe_right uu____2152 (FStar_String.concat "; ") in - let uu____2173 = - let uu____2183 = - let uu____2191 = - FStar_Util.format1 "Unknown assertion failed (%s)" err_detail in - (FStar_Errors.Error_UnknownFatal_AssertionFailure, uu____2191, - (settings.query_range)) in - [uu____2183] in - FStar_Errors.add_errors uu____2173); - (let uu____2209 = - (FStar_Options.detail_errors ()) && - (let uu____2212 = FStar_Options.n_cores () in - uu____2212 = (Prims.parse_int "1")) in - if uu____2209 + FStar_TypeChecker_Err.add_errors_smt_detail settings.query_env + err.error_messages smt_error + | FStar_Pervasives_Native.None -> + FStar_TypeChecker_Err.add_errors_smt_detail settings.query_env + [(FStar_Errors.Error_UnknownFatal_AssertionFailure, + "Unknown assertion failed", (settings.query_range))] smt_error); + (let uu____2419 = FStar_Options.detail_errors () in + if uu____2419 then let initial_fuel1 = - let uu___235_2218 = settings in - let uu____2219 = FStar_Options.initial_fuel () in - let uu____2221 = FStar_Options.initial_ifuel () in + let uu___262_2423 = settings in + let uu____2424 = FStar_Options.initial_fuel () in + let uu____2426 = FStar_Options.initial_ifuel () in { - query_env = (uu___235_2218.query_env); - query_decl = (uu___235_2218.query_decl); - query_name = (uu___235_2218.query_name); - query_index = (uu___235_2218.query_index); - query_range = (uu___235_2218.query_range); - query_fuel = uu____2219; - query_ifuel = uu____2221; - query_rlimit = (uu___235_2218.query_rlimit); + query_env = (uu___262_2423.query_env); + query_decl = (uu___262_2423.query_decl); + query_name = (uu___262_2423.query_name); + query_index = (uu___262_2423.query_index); + query_range = (uu___262_2423.query_range); + query_fuel = uu____2424; + query_ifuel = uu____2426; + query_rlimit = (uu___262_2423.query_rlimit); query_hint = FStar_Pervasives_Native.None; - query_errors = (uu___235_2218.query_errors); - query_all_labels = (uu___235_2218.query_all_labels); - query_suffix = (uu___235_2218.query_suffix); - query_hash = (uu___235_2218.query_hash) - } in + query_errors = (uu___262_2423.query_errors); + query_all_labels = (uu___262_2423.query_all_labels); + query_suffix = (uu___262_2423.query_suffix); + query_hash = (uu___262_2423.query_hash) + } in let ask_z3 label_assumptions = - let res = FStar_Util.mk_ref FStar_Pervasives_Native.None in - (let uu____2244 = - with_fuel_and_diagnostics initial_fuel1 label_assumptions in + let res = FStar_Util.mk_ref FStar_Pervasives_Native.None in + (let uu____2449 = + with_fuel_and_diagnostics initial_fuel1 label_assumptions in FStar_SMTEncoding_Z3.ask settings.query_range (filter_facts_without_core settings.query_env) - settings.query_hash settings.query_all_labels uu____2244 + settings.query_hash settings.query_all_labels uu____2449 FStar_Pervasives_Native.None - (fun r -> + (fun r -> FStar_ST.op_Colon_Equals res (FStar_Pervasives_Native.Some r)) false); - (let uu____2273 = FStar_ST.op_Bang res in - FStar_Option.get uu____2273) in + (let uu____2478 = FStar_ST.op_Bang res in + FStar_Option.get uu____2478) + in FStar_SMTEncoding_ErrorReporting.detail_errors false settings.query_env settings.query_all_labels ask_z3 else ()) + let (query_info : query_settings -> FStar_SMTEncoding_Z3.z3result -> unit) = - fun settings -> - fun z3result -> + fun settings -> + fun z3result -> let process_unsat_core core = - let accumulator uu____2338 = - let r = FStar_Util.mk_ref [] in - let uu____2349 = - let module_names = FStar_Util.mk_ref [] in - ((fun m -> - let ms = FStar_ST.op_Bang module_names in + let accumulator uu____2543 = + let r = FStar_Util.mk_ref [] in + let uu____2554 = + let module_names = FStar_Util.mk_ref [] in + ((fun m -> + let ms = FStar_ST.op_Bang module_names in if FStar_List.contains m ms then () else FStar_ST.op_Colon_Equals module_names (m :: ms)), - (fun uu____2449 -> - let uu____2450 = FStar_ST.op_Bang module_names in - FStar_All.pipe_right uu____2450 - (FStar_Util.sort_with FStar_String.compare))) in - match uu____2349 with | (add1, get1) -> (add1, get1) in - let uu____2532 = accumulator () in - match uu____2532 with - | (add_module_name, get_module_names) -> - let uu____2569 = accumulator () in - (match uu____2569 with - | (add_discarded_name, get_discarded_names) -> + (fun uu____2654 -> + let uu____2655 = FStar_ST.op_Bang module_names in + FStar_All.pipe_right uu____2655 + (FStar_Util.sort_with FStar_String.compare))) + in + match uu____2554 with | (add1,get1) -> (add1, get1) in + let uu____2737 = accumulator () in + match uu____2737 with + | (add_module_name,get_module_names) -> + let uu____2774 = accumulator () in + (match uu____2774 with + | (add_discarded_name,get_discarded_names) -> let parse_axiom_name s = - let chars = FStar_String.list_of_string s in + let chars = FStar_String.list_of_string s in let first_upper_index = - FStar_Util.try_find_index FStar_Util.is_upper chars in + FStar_Util.try_find_index FStar_Util.is_upper chars in match first_upper_index with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (add_discarded_name s; []) | FStar_Pervasives_Native.Some first_upper_index1 -> let name_and_suffix = - FStar_Util.substring_from s first_upper_index1 in + FStar_Util.substring_from s first_upper_index1 in let components = - FStar_String.split [46] name_and_suffix in + FStar_String.split [46] name_and_suffix in let excluded_suffixes = ["fuel_instrumented"; "_pretyping"; @@ -661,175 +771,198 @@ let (query_info : query_settings -> FStar_SMTEncoding_Z3.z3result -> unit) = "@"; "_interpretation_Tm_arrow"; "MaxFuel_assumption"; - "MaxIFuel_assumption"] in + "MaxIFuel_assumption"] in let exclude_suffix s1 = - let s2 = FStar_Util.trim_string s1 in + let s2 = FStar_Util.trim_string s1 in let sopt = FStar_Util.find_map excluded_suffixes - (fun sfx -> + (fun sfx -> if FStar_Util.contains s2 sfx then - let uu____2692 = - FStar_List.hd (FStar_Util.split s2 sfx) in - FStar_Pervasives_Native.Some uu____2692 - else FStar_Pervasives_Native.None) in + let uu____2897 = + FStar_List.hd (FStar_Util.split s2 sfx) + in + FStar_Pervasives_Native.Some uu____2897 + else FStar_Pervasives_Native.None) + in match sopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> if s2 = "" then [] else [s2] | FStar_Pervasives_Native.Some s3 -> - if s3 = "" then [] else [s3] in + if s3 = "" then [] else [s3] + in let components1 = match components with | [] -> [] - | uu____2737 -> - let uu____2741 = FStar_Util.prefix components in - (match uu____2741 with - | (module_name, last1) -> + | uu____2942 -> + let uu____2946 = FStar_Util.prefix components + in + (match uu____2946 with + | (module_name,last1) -> let components1 = - let uu____2768 = exclude_suffix last1 in - FStar_List.append module_name uu____2768 in + let uu____2973 = exclude_suffix last1 in + FStar_List.append module_name uu____2973 + in ((match components1 with | [] -> () - | uu____2775::[] -> () - | uu____2779 -> + | uu____2980::[] -> () + | uu____2984 -> add_module_name (FStar_String.concat "." module_name)); - components1)) in + components1)) + in if components1 = [] then (add_discarded_name s; []) else - (let uu____2796 = + (let uu____3001 = FStar_All.pipe_right components1 - (FStar_String.concat ".") in - [uu____2796]) in + (FStar_String.concat ".") + in + [uu____3001]) + in (match core with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Util.print_string "no unsat core\n" | FStar_Pervasives_Native.Some core1 -> - let core2 = FStar_List.collect parse_axiom_name core1 in - ((let uu____2823 = - let uu____2825 = get_module_names () in - FStar_All.pipe_right uu____2825 - (FStar_String.concat "\nZ3 Proof Stats:\t") in + let core2 = FStar_List.collect parse_axiom_name core1 + in + ((let uu____3028 = + let uu____3030 = get_module_names () in + FStar_All.pipe_right uu____3030 + (FStar_String.concat "\nZ3 Proof Stats:\t") + in FStar_Util.print1 "Z3 Proof Stats: Modules relevant to this proof:\nZ3 Proof Stats:\t%s\n" - uu____2823); + uu____3028); FStar_Util.print1 "Z3 Proof Stats (Detail 1): Specifically:\nZ3 Proof Stats (Detail 1):\t%s\n" (FStar_String.concat "\nZ3 Proof Stats (Detail 1):\t" core2); - (let uu____2838 = - let uu____2840 = get_discarded_names () in - FStar_All.pipe_right uu____2840 - (FStar_String.concat ", ") in + (let uu____3043 = + let uu____3045 = get_discarded_names () in + FStar_All.pipe_right uu____3045 + (FStar_String.concat ", ") + in FStar_Util.print1 "Z3 Proof Stats (Detail 2): Note, this report ignored the following names in the context: %s\n" - uu____2838)))) in - let uu____2850 = - (FStar_Options.hint_info ()) || (FStar_Options.query_stats ()) in - if uu____2850 + uu____3043)))) + in + let uu____3055 = + (FStar_Options.hint_info ()) || (FStar_Options.query_stats ()) in + if uu____3055 then - let uu____2853 = + let uu____3058 = FStar_SMTEncoding_Z3.status_string_and_errors - z3result.FStar_SMTEncoding_Z3.z3result_status in - match uu____2853 with - | (status_string, errs) -> + z3result.FStar_SMTEncoding_Z3.z3result_status + in + match uu____3058 with + | (status_string,errs) -> let at_log_file = match z3result.FStar_SMTEncoding_Z3.z3result_log_file with - | FStar_Pervasives_Native.None -> "" - | FStar_Pervasives_Native.Some s -> Prims.op_Hat "@" s in - let uu____2872 = + | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.Some s -> Prims.op_Hat "@" s in + let uu____3077 = match z3result.FStar_SMTEncoding_Z3.z3result_status with | FStar_SMTEncoding_Z3.UNSAT core -> ("succeeded", core) - | uu____2886 -> + | uu____3091 -> ((Prims.op_Hat "failed {reason-unknown=" (Prims.op_Hat status_string "}")), - FStar_Pervasives_Native.None) in - (match uu____2872 with - | (tag, core) -> + FStar_Pervasives_Native.None) + in + (match uu____3077 with + | (tag,core) -> let range = - let uu____2899 = - let uu____2901 = - FStar_Range.string_of_range settings.query_range in - Prims.op_Hat uu____2901 (Prims.op_Hat at_log_file ")") in - Prims.op_Hat "(" uu____2899 in + let uu____3104 = + let uu____3106 = + FStar_Range.string_of_range settings.query_range in + Prims.op_Hat uu____3106 (Prims.op_Hat at_log_file ")") + in + Prims.op_Hat "(" uu____3104 in let used_hint_tag = - if used_hint settings then " (with hint)" else "" in + if used_hint settings then " (with hint)" else "" in let stats = - let uu____2915 = FStar_Options.query_stats () in - if uu____2915 + let uu____3120 = FStar_Options.query_stats () in + if uu____3120 then let f k v1 a = Prims.op_Hat a (Prims.op_Hat k - (Prims.op_Hat "=" (Prims.op_Hat v1 " "))) in + (Prims.op_Hat "=" (Prims.op_Hat v1 " "))) + in let str = FStar_Util.smap_fold z3result.FStar_SMTEncoding_Z3.z3result_statistics f - "statistics={" in - let uu____2949 = + "statistics={" + in + let uu____3154 = FStar_Util.substring str (Prims.parse_int "0") - ((FStar_String.length str) - (Prims.parse_int "1")) in - Prims.op_Hat uu____2949 "}" - else "" in - ((let uu____2958 = - let uu____2962 = - let uu____2966 = - let uu____2970 = - FStar_Util.string_of_int settings.query_index in - let uu____2972 = - let uu____2976 = - let uu____2980 = - let uu____2984 = + ((FStar_String.length str) - (Prims.parse_int "1")) + in + Prims.op_Hat uu____3154 "}" + else "" in + ((let uu____3163 = + let uu____3167 = + let uu____3171 = + let uu____3175 = + FStar_Util.string_of_int settings.query_index in + let uu____3177 = + let uu____3181 = + let uu____3185 = + let uu____3189 = FStar_Util.string_of_int - z3result.FStar_SMTEncoding_Z3.z3result_time in - let uu____2986 = - let uu____2990 = + z3result.FStar_SMTEncoding_Z3.z3result_time + in + let uu____3191 = + let uu____3195 = FStar_Util.string_of_int - settings.query_fuel in - let uu____2992 = - let uu____2996 = + settings.query_fuel + in + let uu____3197 = + let uu____3201 = FStar_Util.string_of_int - settings.query_ifuel in - let uu____2998 = - let uu____3002 = + settings.query_ifuel + in + let uu____3203 = + let uu____3207 = FStar_Util.string_of_int - settings.query_rlimit in - [uu____3002; stats] in - uu____2996 :: uu____2998 in - uu____2990 :: uu____2992 in - uu____2984 :: uu____2986 in - used_hint_tag :: uu____2980 in - tag :: uu____2976 in - uu____2970 :: uu____2972 in - (settings.query_name) :: uu____2966 in - range :: uu____2962 in + settings.query_rlimit + in + [uu____3207; stats] in + uu____3201 :: uu____3203 in + uu____3195 :: uu____3197 in + uu____3189 :: uu____3191 in + used_hint_tag :: uu____3185 in + tag :: uu____3181 in + uu____3175 :: uu____3177 in + (settings.query_name) :: uu____3171 in + range :: uu____3167 in FStar_Util.print "%s\tQuery-stats (%s, %s)\t%s%s in %s milliseconds with fuel %s and ifuel %s and rlimit %s %s\n" - uu____2958); - (let uu____3017 = FStar_Options.print_z3_statistics () in - if uu____3017 then process_unsat_core core else ()); + uu____3163); + (let uu____3222 = FStar_Options.print_z3_statistics () in + if uu____3222 then process_unsat_core core else ()); FStar_All.pipe_right errs (FStar_List.iter - (fun uu____3043 -> - match uu____3043 with - | (uu____3051, msg, range1) -> + (fun uu____3248 -> + match uu____3248 with + | (uu____3256,msg,range1) -> let tag1 = if used_hint settings then "(Hint-replay failed): " - else "" in + else "" in FStar_Errors.log_issue range1 (FStar_Errors.Warning_HitReplayFailed, (Prims.op_Hat tag1 msg)))))) else () + let (record_hint : query_settings -> FStar_SMTEncoding_Z3.z3result -> unit) = - fun settings -> - fun z3result -> - let uu____3078 = - let uu____3080 = FStar_Options.record_hints () in - Prims.op_Negation uu____3080 in - if uu____3078 + fun settings -> + fun z3result -> + let uu____3283 = + let uu____3285 = FStar_Options.record_hints () in + Prims.op_Negation uu____3285 in + if uu____3283 then () else (let mk_hint core = @@ -844,39 +977,41 @@ let (record_hint : query_settings -> FStar_SMTEncoding_Z3.z3result -> unit) = (match z3result.FStar_SMTEncoding_Z3.z3result_status with | FStar_SMTEncoding_Z3.UNSAT core1 -> z3result.FStar_SMTEncoding_Z3.z3result_query_hash - | uu____3107 -> FStar_Pervasives_Native.None) - } in + | uu____3312 -> FStar_Pervasives_Native.None) + } in let store_hint hint = - let uu____3115 = FStar_ST.op_Bang recorded_hints in - match uu____3115 with + let uu____3320 = FStar_ST.op_Bang recorded_hints in + match uu____3320 with | FStar_Pervasives_Native.Some l -> FStar_ST.op_Colon_Equals recorded_hints (FStar_Pervasives_Native.Some (FStar_List.append l [FStar_Pervasives_Native.Some hint])) - | uu____3171 -> () in + | uu____3376 -> () in match z3result.FStar_SMTEncoding_Z3.z3result_status with - | FStar_SMTEncoding_Z3.UNSAT (FStar_Pervasives_Native.None) -> - let uu____3178 = - let uu____3179 = - get_hint_for settings.query_name settings.query_index in - FStar_Option.get uu____3179 in - store_hint uu____3178 + | FStar_SMTEncoding_Z3.UNSAT (FStar_Pervasives_Native.None ) -> + let uu____3383 = + let uu____3384 = + get_hint_for settings.query_name settings.query_index in + FStar_Option.get uu____3384 in + store_hint uu____3383 | FStar_SMTEncoding_Z3.UNSAT unsat_core -> if used_hint settings then store_hint (mk_hint settings.query_hint) else store_hint (mk_hint unsat_core) - | uu____3186 -> ()) + | uu____3391 -> ()) + let (process_result : query_settings -> FStar_SMTEncoding_Z3.z3result -> errors FStar_Pervasives_Native.option) = - fun settings -> - fun result -> - let errs = query_errors settings result in + fun settings -> + fun result -> + let errs = query_errors settings result in query_info settings result; record_hint settings result; detail_hint_replay settings result; errs + let (fold_queries : query_settings Prims.list -> (query_settings -> (FStar_SMTEncoding_Z3.z3result -> unit) -> unit) -> @@ -885,22 +1020,24 @@ let (fold_queries : errors FStar_Pervasives_Native.option) -> (errors Prims.list -> unit) -> unit) = - fun qs -> - fun ask1 -> - fun f -> - fun report1 -> + fun qs -> + fun ask1 -> + fun f -> + fun report1 -> let rec aux acc qs1 = match qs1 with | [] -> report1 acc | q::qs2 -> ask1 q - (fun res -> - let uu____3297 = f q res in - match uu____3297 with - | FStar_Pervasives_Native.None -> () + (fun res -> + let uu____3502 = f q res in + match uu____3502 with + | FStar_Pervasives_Native.None -> () | FStar_Pervasives_Native.Some errs -> - aux (errs :: acc) qs2) in + aux (errs :: acc) qs2) + in aux [] qs + let (ask_and_report_errors : FStar_TypeChecker_Env.env -> FStar_SMTEncoding_Term.error_labels -> @@ -908,41 +1045,42 @@ let (ask_and_report_errors : FStar_SMTEncoding_Term.decl -> FStar_SMTEncoding_Term.decl Prims.list -> unit) = - fun env -> - fun all_labels -> - fun prefix1 -> - fun query -> - fun suffix -> + fun env -> + fun all_labels -> + fun prefix1 -> + fun query -> + fun suffix -> FStar_SMTEncoding_Z3.giveZ3 prefix1; - (let uu____3336 = - let uu____3343 = + (let uu____3541 = + let uu____3548 = match env.FStar_TypeChecker_Env.qtbl_name_and_index with - | (uu____3356, FStar_Pervasives_Native.None) -> + | (uu____3561,FStar_Pervasives_Native.None ) -> failwith "No query name set!" - | (uu____3382, FStar_Pervasives_Native.Some (q, n1)) -> - let uu____3405 = FStar_Ident.text_of_lid q in - (uu____3405, n1) in - match uu____3343 with - | (qname, index1) -> + | (uu____3587,FStar_Pervasives_Native.Some (q,n1)) -> + let uu____3610 = FStar_Ident.text_of_lid q in + (uu____3610, n1) + in + match uu____3548 with + | (qname,index1) -> let rlimit = - let uu____3423 = FStar_Options.z3_rlimit_factor () in - let uu____3425 = - let uu____3427 = FStar_Options.z3_rlimit () in - uu____3427 * (Prims.parse_int "544656") in - uu____3423 * uu____3425 in - let next_hint = get_hint_for qname index1 in + let uu____3628 = FStar_Options.z3_rlimit_factor () in + let uu____3630 = + let uu____3632 = FStar_Options.z3_rlimit () in + uu____3632 * (Prims.parse_int "544656") in + uu____3628 * uu____3630 in + let next_hint = get_hint_for qname index1 in let default_settings = - let uu____3434 = FStar_TypeChecker_Env.get_range env in - let uu____3435 = FStar_Options.initial_fuel () in - let uu____3437 = FStar_Options.initial_ifuel () in + let uu____3639 = FStar_TypeChecker_Env.get_range env in + let uu____3640 = FStar_Options.initial_fuel () in + let uu____3642 = FStar_Options.initial_ifuel () in { query_env = env; query_decl = query; query_name = qname; query_index = index1; - query_range = uu____3434; - query_fuel = uu____3435; - query_ifuel = uu____3437; + query_range = uu____3639; + query_fuel = uu____3640; + query_ifuel = uu____3642; query_rlimit = rlimit; query_hint = FStar_Pervasives_Native.None; query_errors = []; @@ -950,336 +1088,458 @@ let (ask_and_report_errors : query_suffix = suffix; query_hash = (match next_hint with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some - { FStar_Util.hint_name = uu____3446; - FStar_Util.hint_index = uu____3447; - FStar_Util.fuel = uu____3448; - FStar_Util.ifuel = uu____3449; - FStar_Util.unsat_core = uu____3450; - FStar_Util.query_elapsed_time = uu____3451; + { FStar_Util.hint_name = uu____3651; + FStar_Util.hint_index = uu____3652; + FStar_Util.fuel = uu____3653; + FStar_Util.ifuel = uu____3654; + FStar_Util.unsat_core = uu____3655; + FStar_Util.query_elapsed_time = uu____3656; FStar_Util.hash = h;_} -> h) - } in - (default_settings, next_hint) in - match uu____3336 with - | (default_settings, next_hint) -> + } in + (default_settings, next_hint) + in + match uu____3541 with + | (default_settings,next_hint) -> let use_hints_setting = match next_hint with | FStar_Pervasives_Native.Some - { FStar_Util.hint_name = uu____3479; - FStar_Util.hint_index = uu____3480; + { FStar_Util.hint_name = uu____3684; + FStar_Util.hint_index = uu____3685; FStar_Util.fuel = i; FStar_Util.ifuel = j; FStar_Util.unsat_core = FStar_Pervasives_Native.Some core; - FStar_Util.query_elapsed_time = uu____3484; + FStar_Util.query_elapsed_time = uu____3689; FStar_Util.hash = h;_} -> - [(let uu___424_3501 = default_settings in + [(let uu___451_3706 = default_settings in { - query_env = (uu___424_3501.query_env); - query_decl = (uu___424_3501.query_decl); - query_name = (uu___424_3501.query_name); - query_index = (uu___424_3501.query_index); - query_range = (uu___424_3501.query_range); + query_env = (uu___451_3706.query_env); + query_decl = (uu___451_3706.query_decl); + query_name = (uu___451_3706.query_name); + query_index = (uu___451_3706.query_index); + query_range = (uu___451_3706.query_range); query_fuel = i; query_ifuel = j; - query_rlimit = (uu___424_3501.query_rlimit); + query_rlimit = (uu___451_3706.query_rlimit); query_hint = (FStar_Pervasives_Native.Some core); - query_errors = (uu___424_3501.query_errors); + query_errors = (uu___451_3706.query_errors); query_all_labels = - (uu___424_3501.query_all_labels); - query_suffix = (uu___424_3501.query_suffix); - query_hash = (uu___424_3501.query_hash) + (uu___451_3706.query_all_labels); + query_suffix = (uu___451_3706.query_suffix); + query_hash = (uu___451_3706.query_hash) })] - | uu____3505 -> [] in + | uu____3710 -> [] in let initial_fuel_max_ifuel = - let uu____3511 = - let uu____3513 = FStar_Options.max_ifuel () in - let uu____3515 = FStar_Options.initial_ifuel () in - uu____3513 > uu____3515 in - if uu____3511 + let uu____3716 = + let uu____3718 = FStar_Options.max_ifuel () in + let uu____3720 = FStar_Options.initial_ifuel () in + uu____3718 > uu____3720 in + if uu____3716 then - let uu____3520 = - let uu___429_3521 = default_settings in - let uu____3522 = FStar_Options.max_ifuel () in + let uu____3725 = + let uu___456_3726 = default_settings in + let uu____3727 = FStar_Options.max_ifuel () in { - query_env = (uu___429_3521.query_env); - query_decl = (uu___429_3521.query_decl); - query_name = (uu___429_3521.query_name); - query_index = (uu___429_3521.query_index); - query_range = (uu___429_3521.query_range); - query_fuel = (uu___429_3521.query_fuel); - query_ifuel = uu____3522; - query_rlimit = (uu___429_3521.query_rlimit); - query_hint = (uu___429_3521.query_hint); - query_errors = (uu___429_3521.query_errors); - query_all_labels = (uu___429_3521.query_all_labels); - query_suffix = (uu___429_3521.query_suffix); - query_hash = (uu___429_3521.query_hash) - } in - [uu____3520] - else [] in + query_env = (uu___456_3726.query_env); + query_decl = (uu___456_3726.query_decl); + query_name = (uu___456_3726.query_name); + query_index = (uu___456_3726.query_index); + query_range = (uu___456_3726.query_range); + query_fuel = (uu___456_3726.query_fuel); + query_ifuel = uu____3727; + query_rlimit = (uu___456_3726.query_rlimit); + query_hint = (uu___456_3726.query_hint); + query_errors = (uu___456_3726.query_errors); + query_all_labels = (uu___456_3726.query_all_labels); + query_suffix = (uu___456_3726.query_suffix); + query_hash = (uu___456_3726.query_hash) + } in + [uu____3725] + else [] in let half_max_fuel_max_ifuel = - let uu____3529 = - let uu____3531 = - let uu____3533 = FStar_Options.max_fuel () in - uu____3533 / (Prims.parse_int "2") in - let uu____3536 = FStar_Options.initial_fuel () in - uu____3531 > uu____3536 in - if uu____3529 + let uu____3734 = + let uu____3736 = + let uu____3738 = FStar_Options.max_fuel () in + uu____3738 / (Prims.parse_int "2") in + let uu____3741 = FStar_Options.initial_fuel () in + uu____3736 > uu____3741 in + if uu____3734 then - let uu____3541 = - let uu___433_3542 = default_settings in - let uu____3543 = - let uu____3545 = FStar_Options.max_fuel () in - uu____3545 / (Prims.parse_int "2") in - let uu____3548 = FStar_Options.max_ifuel () in + let uu____3746 = + let uu___460_3747 = default_settings in + let uu____3748 = + let uu____3750 = FStar_Options.max_fuel () in + uu____3750 / (Prims.parse_int "2") in + let uu____3753 = FStar_Options.max_ifuel () in { - query_env = (uu___433_3542.query_env); - query_decl = (uu___433_3542.query_decl); - query_name = (uu___433_3542.query_name); - query_index = (uu___433_3542.query_index); - query_range = (uu___433_3542.query_range); - query_fuel = uu____3543; - query_ifuel = uu____3548; - query_rlimit = (uu___433_3542.query_rlimit); - query_hint = (uu___433_3542.query_hint); - query_errors = (uu___433_3542.query_errors); - query_all_labels = (uu___433_3542.query_all_labels); - query_suffix = (uu___433_3542.query_suffix); - query_hash = (uu___433_3542.query_hash) - } in - [uu____3541] - else [] in + query_env = (uu___460_3747.query_env); + query_decl = (uu___460_3747.query_decl); + query_name = (uu___460_3747.query_name); + query_index = (uu___460_3747.query_index); + query_range = (uu___460_3747.query_range); + query_fuel = uu____3748; + query_ifuel = uu____3753; + query_rlimit = (uu___460_3747.query_rlimit); + query_hint = (uu___460_3747.query_hint); + query_errors = (uu___460_3747.query_errors); + query_all_labels = (uu___460_3747.query_all_labels); + query_suffix = (uu___460_3747.query_suffix); + query_hash = (uu___460_3747.query_hash) + } in + [uu____3746] + else [] in let max_fuel_max_ifuel = - let uu____3555 = - (let uu____3561 = FStar_Options.max_fuel () in - let uu____3563 = FStar_Options.initial_fuel () in - uu____3561 > uu____3563) && - (let uu____3567 = FStar_Options.max_ifuel () in - let uu____3569 = FStar_Options.initial_ifuel () in - uu____3567 >= uu____3569) in - if uu____3555 + let uu____3760 = + (let uu____3766 = FStar_Options.max_fuel () in + let uu____3768 = FStar_Options.initial_fuel () in + uu____3766 > uu____3768) && + (let uu____3772 = FStar_Options.max_ifuel () in + let uu____3774 = FStar_Options.initial_ifuel () in + uu____3772 >= uu____3774) + in + if uu____3760 then - let uu____3574 = - let uu___437_3575 = default_settings in - let uu____3576 = FStar_Options.max_fuel () in - let uu____3578 = FStar_Options.max_ifuel () in + let uu____3779 = + let uu___464_3780 = default_settings in + let uu____3781 = FStar_Options.max_fuel () in + let uu____3783 = FStar_Options.max_ifuel () in { - query_env = (uu___437_3575.query_env); - query_decl = (uu___437_3575.query_decl); - query_name = (uu___437_3575.query_name); - query_index = (uu___437_3575.query_index); - query_range = (uu___437_3575.query_range); - query_fuel = uu____3576; - query_ifuel = uu____3578; - query_rlimit = (uu___437_3575.query_rlimit); - query_hint = (uu___437_3575.query_hint); - query_errors = (uu___437_3575.query_errors); - query_all_labels = (uu___437_3575.query_all_labels); - query_suffix = (uu___437_3575.query_suffix); - query_hash = (uu___437_3575.query_hash) - } in - [uu____3574] - else [] in + query_env = (uu___464_3780.query_env); + query_decl = (uu___464_3780.query_decl); + query_name = (uu___464_3780.query_name); + query_index = (uu___464_3780.query_index); + query_range = (uu___464_3780.query_range); + query_fuel = uu____3781; + query_ifuel = uu____3783; + query_rlimit = (uu___464_3780.query_rlimit); + query_hint = (uu___464_3780.query_hint); + query_errors = (uu___464_3780.query_errors); + query_all_labels = (uu___464_3780.query_all_labels); + query_suffix = (uu___464_3780.query_suffix); + query_hash = (uu___464_3780.query_hash) + } in + [uu____3779] + else [] in let min_fuel1 = - let uu____3585 = - let uu____3587 = FStar_Options.min_fuel () in - let uu____3589 = FStar_Options.initial_fuel () in - uu____3587 < uu____3589 in - if uu____3585 + let uu____3790 = + let uu____3792 = FStar_Options.min_fuel () in + let uu____3794 = FStar_Options.initial_fuel () in + uu____3792 < uu____3794 in + if uu____3790 then - let uu____3594 = - let uu___441_3595 = default_settings in - let uu____3596 = FStar_Options.min_fuel () in + let uu____3799 = + let uu___468_3800 = default_settings in + let uu____3801 = FStar_Options.min_fuel () in { - query_env = (uu___441_3595.query_env); - query_decl = (uu___441_3595.query_decl); - query_name = (uu___441_3595.query_name); - query_index = (uu___441_3595.query_index); - query_range = (uu___441_3595.query_range); - query_fuel = uu____3596; + query_env = (uu___468_3800.query_env); + query_decl = (uu___468_3800.query_decl); + query_name = (uu___468_3800.query_name); + query_index = (uu___468_3800.query_index); + query_range = (uu___468_3800.query_range); + query_fuel = uu____3801; query_ifuel = (Prims.parse_int "1"); - query_rlimit = (uu___441_3595.query_rlimit); - query_hint = (uu___441_3595.query_hint); - query_errors = (uu___441_3595.query_errors); - query_all_labels = (uu___441_3595.query_all_labels); - query_suffix = (uu___441_3595.query_suffix); - query_hash = (uu___441_3595.query_hash) - } in - [uu____3594] - else [] in + query_rlimit = (uu___468_3800.query_rlimit); + query_hint = (uu___468_3800.query_hint); + query_errors = (uu___468_3800.query_errors); + query_all_labels = (uu___468_3800.query_all_labels); + query_suffix = (uu___468_3800.query_suffix); + query_hash = (uu___468_3800.query_hash) + } in + [uu____3799] + else [] in let all_configs = FStar_List.append use_hints_setting (FStar_List.append [default_settings] (FStar_List.append initial_fuel_max_ifuel (FStar_List.append half_max_fuel_max_ifuel - max_fuel_max_ifuel))) in + max_fuel_max_ifuel))) + in let check_one_config config1 k = - (let uu____3621 = FStar_Options.z3_refresh () in - if uu____3621 + (let uu____3826 = FStar_Options.z3_refresh () in + if uu____3826 then FStar_SMTEncoding_Z3.refresh () else ()); - (let uu____3626 = with_fuel_and_diagnostics config1 [] in - let uu____3629 = - let uu____3632 = FStar_SMTEncoding_Z3.mk_fresh_scope () in - FStar_Pervasives_Native.Some uu____3632 in + (let uu____3831 = with_fuel_and_diagnostics config1 [] in + let uu____3834 = + let uu____3837 = FStar_SMTEncoding_Z3.mk_fresh_scope () + in + FStar_Pervasives_Native.Some uu____3837 in FStar_SMTEncoding_Z3.ask config1.query_range (filter_assertions config1.query_env config1.query_hint) - config1.query_hash config1.query_all_labels uu____3626 - uu____3629 k (used_hint config1)) in + config1.query_hash config1.query_all_labels uu____3831 + uu____3834 k (used_hint config1)) + in let check_all_configs configs = let report1 errs = report_errors - (let uu___454_3655 = default_settings in + (let uu___481_3860 = default_settings in { - query_env = (uu___454_3655.query_env); - query_decl = (uu___454_3655.query_decl); - query_name = (uu___454_3655.query_name); - query_index = (uu___454_3655.query_index); - query_range = (uu___454_3655.query_range); - query_fuel = (uu___454_3655.query_fuel); - query_ifuel = (uu___454_3655.query_ifuel); - query_rlimit = (uu___454_3655.query_rlimit); - query_hint = (uu___454_3655.query_hint); + query_env = (uu___481_3860.query_env); + query_decl = (uu___481_3860.query_decl); + query_name = (uu___481_3860.query_name); + query_index = (uu___481_3860.query_index); + query_range = (uu___481_3860.query_range); + query_fuel = (uu___481_3860.query_fuel); + query_ifuel = (uu___481_3860.query_ifuel); + query_rlimit = (uu___481_3860.query_rlimit); + query_hint = (uu___481_3860.query_hint); query_errors = errs; - query_all_labels = (uu___454_3655.query_all_labels); - query_suffix = (uu___454_3655.query_suffix); - query_hash = (uu___454_3655.query_hash) - }) in + query_all_labels = (uu___481_3860.query_all_labels); + query_suffix = (uu___481_3860.query_suffix); + query_hash = (uu___481_3860.query_hash) + }) + in fold_queries configs check_one_config process_result - report1 in - let uu____3656 = - let uu____3665 = FStar_Options.admit_smt_queries () in - let uu____3667 = FStar_Options.admit_except () in - (uu____3665, uu____3667) in - (match uu____3656 with - | (true, uu____3675) -> () - | (false, FStar_Pervasives_Native.None) -> + report1 + in + let uu____3861 = + let uu____3870 = FStar_Options.admit_smt_queries () in + let uu____3872 = FStar_Options.admit_except () in + (uu____3870, uu____3872) in + (match uu____3861 with + | (true ,uu____3880) -> () + | (false ,FStar_Pervasives_Native.None ) -> check_all_configs all_configs - | (false, FStar_Pervasives_Native.Some id1) -> + | (false ,FStar_Pervasives_Native.Some id1) -> let skip = if FStar_Util.starts_with id1 "(" then let full_query_id = - let uu____3705 = - let uu____3707 = - let uu____3709 = - let uu____3711 = + let uu____3910 = + let uu____3912 = + let uu____3914 = + let uu____3916 = FStar_Util.string_of_int - default_settings.query_index in - Prims.op_Hat uu____3711 ")" in - Prims.op_Hat ", " uu____3709 in + default_settings.query_index + in + Prims.op_Hat uu____3916 ")" in + Prims.op_Hat ", " uu____3914 in Prims.op_Hat default_settings.query_name - uu____3707 in - Prims.op_Hat "(" uu____3705 in + uu____3912 + in + Prims.op_Hat "(" uu____3910 in full_query_id <> id1 - else default_settings.query_name <> id1 in + else default_settings.query_name <> id1 in if Prims.op_Negation skip then check_all_configs all_configs else ())) + +type solver_cfg = + { + seed: Prims.int ; + cliopt: Prims.string Prims.list ; + facts: (Prims.string Prims.list * Prims.bool) Prims.list ; + valid_intro: Prims.bool ; + valid_elim: Prims.bool } +let (__proj__Mksolver_cfg__item__seed : solver_cfg -> Prims.int) = + fun projectee -> + match projectee with + | { seed; cliopt; facts; valid_intro; valid_elim;_} -> seed + +let (__proj__Mksolver_cfg__item__cliopt : + solver_cfg -> Prims.string Prims.list) = + fun projectee -> + match projectee with + | { seed; cliopt; facts; valid_intro; valid_elim;_} -> cliopt + +let (__proj__Mksolver_cfg__item__facts : + solver_cfg -> (Prims.string Prims.list * Prims.bool) Prims.list) = + fun projectee -> + match projectee with + | { seed; cliopt; facts; valid_intro; valid_elim;_} -> facts + +let (__proj__Mksolver_cfg__item__valid_intro : solver_cfg -> Prims.bool) = + fun projectee -> + match projectee with + | { seed; cliopt; facts; valid_intro; valid_elim;_} -> valid_intro + +let (__proj__Mksolver_cfg__item__valid_elim : solver_cfg -> Prims.bool) = + fun projectee -> + match projectee with + | { seed; cliopt; facts; valid_intro; valid_elim;_} -> valid_elim + +let (_last_cfg : solver_cfg FStar_Pervasives_Native.option FStar_ST.ref) = + FStar_Util.mk_ref FStar_Pervasives_Native.None +let (get_cfg : FStar_TypeChecker_Env.env -> solver_cfg) = + fun env -> + let uu____4149 = FStar_Options.z3_seed () in + let uu____4151 = FStar_Options.z3_cliopt () in + let uu____4155 = FStar_Options.smtencoding_valid_intro () in + let uu____4157 = FStar_Options.smtencoding_valid_elim () in + { + seed = uu____4149; + cliopt = uu____4151; + facts = (env.FStar_TypeChecker_Env.proof_ns); + valid_intro = uu____4155; + valid_elim = uu____4157 + } + +let (save_cfg : FStar_TypeChecker_Env.env -> unit) = + fun env -> + let uu____4165 = + let uu____4168 = get_cfg env in + FStar_Pervasives_Native.Some uu____4168 in + FStar_ST.op_Colon_Equals _last_cfg uu____4165 + +let (should_refresh : FStar_TypeChecker_Env.env -> Prims.bool) = + fun env -> + let uu____4199 = FStar_ST.op_Bang _last_cfg in + match uu____4199 with + | FStar_Pervasives_Native.None -> (save_cfg env; false) + | FStar_Pervasives_Native.Some cfg -> + let uu____4229 = let uu____4231 = get_cfg env in cfg = uu____4231 + in + Prims.op_Negation uu____4229 + let (solve : (unit -> Prims.string) FStar_Pervasives_Native.option -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> unit) = - fun use_env_msg -> - fun tcenv -> - fun q -> - (let uu____3751 = - let uu____3753 = - let uu____3755 = FStar_TypeChecker_Env.get_range tcenv in - FStar_All.pipe_left FStar_Range.string_of_range uu____3755 in - FStar_Util.format1 "Starting query at %s" uu____3753 in - FStar_SMTEncoding_Encode.push uu____3751); - (let uu____3758 = FStar_Options.no_smt () in - if uu____3758 - then - let uu____3761 = - let uu____3771 = - let uu____3779 = - let uu____3781 = FStar_Syntax_Print.term_to_string q in - FStar_Util.format1 - "Q = %s\nA query could not be solved internally, and --no_smt was given" - uu____3781 in - (FStar_Errors.Error_NoSMTButNeeded, uu____3779, - (tcenv.FStar_TypeChecker_Env.range)) in - [uu____3771] in - FStar_Errors.add_errors uu____3761 - else - (let tcenv1 = FStar_TypeChecker_Env.incr_query_index tcenv in - let uu____3802 = - FStar_SMTEncoding_Encode.encode_query use_env_msg tcenv1 q in - match uu____3802 with - | (prefix1, labels, qry, suffix) -> - let pop1 uu____3838 = - let uu____3839 = - let uu____3841 = - let uu____3843 = FStar_TypeChecker_Env.get_range tcenv1 in - FStar_All.pipe_left FStar_Range.string_of_range - uu____3843 in - FStar_Util.format1 "Ending query at %s" uu____3841 in - FStar_SMTEncoding_Encode.pop uu____3839 in - (match qry with - | FStar_SMTEncoding_Term.Assume - { - FStar_SMTEncoding_Term.assumption_term = - { - FStar_SMTEncoding_Term.tm = - FStar_SMTEncoding_Term.App - (FStar_SMTEncoding_Term.FalseOp, uu____3846); - FStar_SMTEncoding_Term.freevars = uu____3847; - FStar_SMTEncoding_Term.rng = uu____3848;_}; - FStar_SMTEncoding_Term.assumption_caption = uu____3849; - FStar_SMTEncoding_Term.assumption_name = uu____3850; - FStar_SMTEncoding_Term.assumption_fact_ids = - uu____3851;_} - -> pop1 () - | uu____3871 when tcenv1.FStar_TypeChecker_Env.admit -> - pop1 () - | FStar_SMTEncoding_Term.Assume uu____3872 -> - (ask_and_report_errors tcenv1 labels prefix1 qry suffix; - pop1 ()) - | uu____3874 -> failwith "Impossible"))) + fun use_env_msg -> + fun tcenv -> + fun q -> + let uu____4259 = FStar_Options.no_smt () in + if uu____4259 + then + let uu____4262 = + let uu____4272 = + let uu____4280 = + let uu____4282 = FStar_Syntax_Print.term_to_string q in + FStar_Util.format1 + "Q = %s\nA query could not be solved internally, and --no_smt was given" + uu____4282 + in + (FStar_Errors.Error_NoSMTButNeeded, uu____4280, + (tcenv.FStar_TypeChecker_Env.range)) + in + [uu____4272] in + FStar_TypeChecker_Err.add_errors tcenv uu____4262 + else + ((let uu____4303 = should_refresh tcenv in + if uu____4303 + then (save_cfg tcenv; FStar_SMTEncoding_Z3.refresh ()) + else ()); + (let uu____4310 = + let uu____4312 = + let uu____4314 = FStar_TypeChecker_Env.get_range tcenv in + FStar_All.pipe_left FStar_Range.string_of_range uu____4314 + in + FStar_Util.format1 "Starting query at %s" uu____4312 in + FStar_SMTEncoding_Encode.push uu____4310); + (let pop1 uu____4322 = + let uu____4323 = + let uu____4325 = + let uu____4327 = FStar_TypeChecker_Env.get_range tcenv in + FStar_All.pipe_left FStar_Range.string_of_range uu____4327 + in + FStar_Util.format1 "Ending query at %s" uu____4325 in + FStar_SMTEncoding_Encode.pop uu____4323 in + try + (fun uu___530_4343 -> + match () with + | () -> + let uu____4344 = + FStar_SMTEncoding_Encode.encode_query use_env_msg + tcenv q + in + (match uu____4344 with + | (prefix1,labels,qry,suffix) -> + let tcenv1 = + FStar_TypeChecker_Env.incr_query_index tcenv in + (match qry with + | FStar_SMTEncoding_Term.Assume + { + FStar_SMTEncoding_Term.assumption_term = + { + FStar_SMTEncoding_Term.tm = + FStar_SMTEncoding_Term.App + (FStar_SMTEncoding_Term.FalseOp + ,uu____4376); + FStar_SMTEncoding_Term.freevars = + uu____4377; + FStar_SMTEncoding_Term.rng = uu____4378;_}; + FStar_SMTEncoding_Term.assumption_caption = + uu____4379; + FStar_SMTEncoding_Term.assumption_name = + uu____4380; + FStar_SMTEncoding_Term.assumption_fact_ids = + uu____4381;_} + -> pop1 () + | uu____4401 when + tcenv1.FStar_TypeChecker_Env.admit -> + pop1 () + | FStar_SMTEncoding_Term.Assume uu____4402 -> + (ask_and_report_errors tcenv1 labels prefix1 + qry suffix; + pop1 ()) + | uu____4404 -> failwith "Impossible"))) () + with + | FStar_SMTEncoding_Env.Inner_let_rec names1 -> + (pop1 (); + (let uu____4420 = + let uu____4430 = + let uu____4438 = + let uu____4440 = + let uu____4442 = + FStar_List.map FStar_Pervasives_Native.fst names1 + in + FStar_String.concat "," uu____4442 in + FStar_Util.format1 + "Could not encode the query since F* does not support precise smtencoding of inner let-recs yet (in this case %s)" + uu____4440 + in + (FStar_Errors.Error_NonTopRecFunctionNotFullyEncoded, + uu____4438, (tcenv.FStar_TypeChecker_Env.range)) + in + [uu____4430] in + FStar_TypeChecker_Err.add_errors tcenv uu____4420)))) + let (solver : FStar_TypeChecker_Env.solver_t) = { - FStar_TypeChecker_Env.init = FStar_SMTEncoding_Encode.init; + FStar_TypeChecker_Env.init = + (fun e -> save_cfg e; FStar_SMTEncoding_Encode.init e); FStar_TypeChecker_Env.push = FStar_SMTEncoding_Encode.push; FStar_TypeChecker_Env.pop = FStar_SMTEncoding_Encode.pop; FStar_TypeChecker_Env.snapshot = FStar_SMTEncoding_Encode.snapshot; FStar_TypeChecker_Env.rollback = FStar_SMTEncoding_Encode.rollback; FStar_TypeChecker_Env.encode_sig = FStar_SMTEncoding_Encode.encode_sig; FStar_TypeChecker_Env.preprocess = - (fun e -> - fun g -> - let uu____3882 = - let uu____3889 = FStar_Options.peek () in (e, g, uu____3889) in - [uu____3882]); + (fun e -> + fun g -> + let uu____4482 = + let uu____4489 = FStar_Options.peek () in (e, g, uu____4489) + in + [uu____4482]); FStar_TypeChecker_Env.solve = solve; FStar_TypeChecker_Env.finish = FStar_SMTEncoding_Z3.finish; FStar_TypeChecker_Env.refresh = FStar_SMTEncoding_Z3.refresh - } + } let (dummy : FStar_TypeChecker_Env.solver_t) = { - FStar_TypeChecker_Env.init = (fun uu____3905 -> ()); - FStar_TypeChecker_Env.push = (fun uu____3907 -> ()); - FStar_TypeChecker_Env.pop = (fun uu____3910 -> ()); + FStar_TypeChecker_Env.init = (fun uu____4505 -> ()); + FStar_TypeChecker_Env.push = (fun uu____4507 -> ()); + FStar_TypeChecker_Env.pop = (fun uu____4510 -> ()); FStar_TypeChecker_Env.snapshot = - (fun uu____3913 -> + (fun uu____4513 -> (((Prims.parse_int "0"), (Prims.parse_int "0"), (Prims.parse_int "0")), ())); - FStar_TypeChecker_Env.rollback = (fun uu____3932 -> fun uu____3933 -> ()); + FStar_TypeChecker_Env.rollback = + (fun uu____4532 -> fun uu____4533 -> ()); FStar_TypeChecker_Env.encode_sig = - (fun uu____3948 -> fun uu____3949 -> ()); + (fun uu____4548 -> fun uu____4549 -> ()); FStar_TypeChecker_Env.preprocess = - (fun e -> - fun g -> - let uu____3955 = - let uu____3962 = FStar_Options.peek () in (e, g, uu____3962) in - [uu____3955]); + (fun e -> + fun g -> + let uu____4555 = + let uu____4562 = FStar_Options.peek () in (e, g, uu____4562) + in + [uu____4555]); FStar_TypeChecker_Env.solve = - (fun uu____3978 -> fun uu____3979 -> fun uu____3980 -> ()); - FStar_TypeChecker_Env.finish = (fun uu____3987 -> ()); - FStar_TypeChecker_Env.refresh = (fun uu____3989 -> ()) - } \ No newline at end of file + (fun uu____4578 -> fun uu____4579 -> fun uu____4580 -> ()); + FStar_TypeChecker_Env.finish = (fun uu____4587 -> ()); + FStar_TypeChecker_Env.refresh = (fun uu____4589 -> ()) + } \ No newline at end of file diff --git a/src/ocaml-output/FStar_SMTEncoding_Term.ml b/src/ocaml-output/FStar_SMTEncoding_Term.ml index e398f08415e..2f1a94f0e77 100644 --- a/src/ocaml-output/FStar_SMTEncoding_Term.ml +++ b/src/ocaml-output/FStar_SMTEncoding_Term.ml @@ -1,6 +1,6 @@ open Prims let (escape : Prims.string -> Prims.string) = - fun s -> FStar_Util.replace_char s 39 95 + fun s -> FStar_Util.replace_char s 39 95 type sort = | Bool_sort | Int_sort @@ -12,60 +12,70 @@ type sort = | Arrow of (sort * sort) | Sort of Prims.string let (uu___is_Bool_sort : sort -> Prims.bool) = - fun projectee -> - match projectee with | Bool_sort -> true | uu____60 -> false + fun projectee -> + match projectee with | Bool_sort -> true | uu____60 -> false + let (uu___is_Int_sort : sort -> Prims.bool) = - fun projectee -> - match projectee with | Int_sort -> true | uu____71 -> false + fun projectee -> + match projectee with | Int_sort -> true | uu____71 -> false + let (uu___is_String_sort : sort -> Prims.bool) = - fun projectee -> - match projectee with | String_sort -> true | uu____82 -> false + fun projectee -> + match projectee with | String_sort -> true | uu____82 -> false + let (uu___is_Term_sort : sort -> Prims.bool) = - fun projectee -> - match projectee with | Term_sort -> true | uu____93 -> false + fun projectee -> + match projectee with | Term_sort -> true | uu____93 -> false + let (uu___is_Fuel_sort : sort -> Prims.bool) = - fun projectee -> - match projectee with | Fuel_sort -> true | uu____104 -> false + fun projectee -> + match projectee with | Fuel_sort -> true | uu____104 -> false + let (uu___is_BitVec_sort : sort -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | BitVec_sort _0 -> true | uu____117 -> false + let (__proj__BitVec_sort__item___0 : sort -> Prims.int) = - fun projectee -> match projectee with | BitVec_sort _0 -> _0 + fun projectee -> match projectee with | BitVec_sort _0 -> _0 let (uu___is_Array : sort -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Array _0 -> true | uu____143 -> false + let (__proj__Array__item___0 : sort -> (sort * sort)) = - fun projectee -> match projectee with | Array _0 -> _0 + fun projectee -> match projectee with | Array _0 -> _0 let (uu___is_Arrow : sort -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Arrow _0 -> true | uu____178 -> false + let (__proj__Arrow__item___0 : sort -> (sort * sort)) = - fun projectee -> match projectee with | Arrow _0 -> _0 + fun projectee -> match projectee with | Arrow _0 -> _0 let (uu___is_Sort : sort -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Sort _0 -> true | uu____210 -> false + let (__proj__Sort__item___0 : sort -> Prims.string) = - fun projectee -> match projectee with | Sort _0 -> _0 + fun projectee -> match projectee with | Sort _0 -> _0 let rec (strSort : sort -> Prims.string) = - fun x -> + fun x -> match x with - | Bool_sort -> "Bool" - | Int_sort -> "Int" - | Term_sort -> "Term" - | String_sort -> "FString" - | Fuel_sort -> "Fuel" + | Bool_sort -> "Bool" + | Int_sort -> "Int" + | Term_sort -> "Term" + | String_sort -> "FString" + | Fuel_sort -> "Fuel" | BitVec_sort n1 -> - let uu____237 = FStar_Util.string_of_int n1 in + let uu____237 = FStar_Util.string_of_int n1 in FStar_Util.format1 "(_ BitVec %s)" uu____237 - | Array (s1, s2) -> - let uu____242 = strSort s1 in - let uu____244 = strSort s2 in + | Array (s1,s2) -> + let uu____242 = strSort s1 in + let uu____244 = strSort s2 in FStar_Util.format2 "(Array %s %s)" uu____242 uu____244 - | Arrow (s1, s2) -> - let uu____249 = strSort s1 in - let uu____251 = strSort s2 in + | Arrow (s1,s2) -> + let uu____249 = strSort s1 in + let uu____251 = strSort s2 in FStar_Util.format2 "(%s -> %s)" uu____249 uu____251 | Sort s -> s + type op = | TrueOp | FalseOp @@ -103,93 +113,128 @@ type op = | ITE | Var of Prims.string let (uu___is_TrueOp : op -> Prims.bool) = - fun projectee -> match projectee with | TrueOp -> true | uu____283 -> false + fun projectee -> + match projectee with | TrueOp -> true | uu____283 -> false + let (uu___is_FalseOp : op -> Prims.bool) = - fun projectee -> - match projectee with | FalseOp -> true | uu____294 -> false + fun projectee -> + match projectee with | FalseOp -> true | uu____294 -> false + let (uu___is_Not : op -> Prims.bool) = - fun projectee -> match projectee with | Not -> true | uu____305 -> false + fun projectee -> match projectee with | Not -> true | uu____305 -> false let (uu___is_And : op -> Prims.bool) = - fun projectee -> match projectee with | And -> true | uu____316 -> false + fun projectee -> match projectee with | And -> true | uu____316 -> false let (uu___is_Or : op -> Prims.bool) = - fun projectee -> match projectee with | Or -> true | uu____327 -> false + fun projectee -> match projectee with | Or -> true | uu____327 -> false let (uu___is_Imp : op -> Prims.bool) = - fun projectee -> match projectee with | Imp -> true | uu____338 -> false + fun projectee -> match projectee with | Imp -> true | uu____338 -> false let (uu___is_Iff : op -> Prims.bool) = - fun projectee -> match projectee with | Iff -> true | uu____349 -> false + fun projectee -> match projectee with | Iff -> true | uu____349 -> false let (uu___is_Eq : op -> Prims.bool) = - fun projectee -> match projectee with | Eq -> true | uu____360 -> false + fun projectee -> match projectee with | Eq -> true | uu____360 -> false let (uu___is_LT : op -> Prims.bool) = - fun projectee -> match projectee with | LT -> true | uu____371 -> false + fun projectee -> match projectee with | LT -> true | uu____371 -> false let (uu___is_LTE : op -> Prims.bool) = - fun projectee -> match projectee with | LTE -> true | uu____382 -> false + fun projectee -> match projectee with | LTE -> true | uu____382 -> false let (uu___is_GT : op -> Prims.bool) = - fun projectee -> match projectee with | GT -> true | uu____393 -> false + fun projectee -> match projectee with | GT -> true | uu____393 -> false let (uu___is_GTE : op -> Prims.bool) = - fun projectee -> match projectee with | GTE -> true | uu____404 -> false + fun projectee -> match projectee with | GTE -> true | uu____404 -> false let (uu___is_Add : op -> Prims.bool) = - fun projectee -> match projectee with | Add -> true | uu____415 -> false + fun projectee -> match projectee with | Add -> true | uu____415 -> false let (uu___is_Sub : op -> Prims.bool) = - fun projectee -> match projectee with | Sub -> true | uu____426 -> false + fun projectee -> match projectee with | Sub -> true | uu____426 -> false let (uu___is_Div : op -> Prims.bool) = - fun projectee -> match projectee with | Div -> true | uu____437 -> false + fun projectee -> match projectee with | Div -> true | uu____437 -> false let (uu___is_RealDiv : op -> Prims.bool) = - fun projectee -> - match projectee with | RealDiv -> true | uu____448 -> false + fun projectee -> + match projectee with | RealDiv -> true | uu____448 -> false + let (uu___is_Mul : op -> Prims.bool) = - fun projectee -> match projectee with | Mul -> true | uu____459 -> false + fun projectee -> match projectee with | Mul -> true | uu____459 -> false let (uu___is_Minus : op -> Prims.bool) = - fun projectee -> match projectee with | Minus -> true | uu____470 -> false + fun projectee -> + match projectee with | Minus -> true | uu____470 -> false + let (uu___is_Mod : op -> Prims.bool) = - fun projectee -> match projectee with | Mod -> true | uu____481 -> false + fun projectee -> match projectee with | Mod -> true | uu____481 -> false let (uu___is_BvAnd : op -> Prims.bool) = - fun projectee -> match projectee with | BvAnd -> true | uu____492 -> false + fun projectee -> + match projectee with | BvAnd -> true | uu____492 -> false + let (uu___is_BvXor : op -> Prims.bool) = - fun projectee -> match projectee with | BvXor -> true | uu____503 -> false + fun projectee -> + match projectee with | BvXor -> true | uu____503 -> false + let (uu___is_BvOr : op -> Prims.bool) = - fun projectee -> match projectee with | BvOr -> true | uu____514 -> false + fun projectee -> match projectee with | BvOr -> true | uu____514 -> false let (uu___is_BvAdd : op -> Prims.bool) = - fun projectee -> match projectee with | BvAdd -> true | uu____525 -> false + fun projectee -> + match projectee with | BvAdd -> true | uu____525 -> false + let (uu___is_BvSub : op -> Prims.bool) = - fun projectee -> match projectee with | BvSub -> true | uu____536 -> false + fun projectee -> + match projectee with | BvSub -> true | uu____536 -> false + let (uu___is_BvShl : op -> Prims.bool) = - fun projectee -> match projectee with | BvShl -> true | uu____547 -> false + fun projectee -> + match projectee with | BvShl -> true | uu____547 -> false + let (uu___is_BvShr : op -> Prims.bool) = - fun projectee -> match projectee with | BvShr -> true | uu____558 -> false + fun projectee -> + match projectee with | BvShr -> true | uu____558 -> false + let (uu___is_BvUdiv : op -> Prims.bool) = - fun projectee -> match projectee with | BvUdiv -> true | uu____569 -> false + fun projectee -> + match projectee with | BvUdiv -> true | uu____569 -> false + let (uu___is_BvMod : op -> Prims.bool) = - fun projectee -> match projectee with | BvMod -> true | uu____580 -> false + fun projectee -> + match projectee with | BvMod -> true | uu____580 -> false + let (uu___is_BvMul : op -> Prims.bool) = - fun projectee -> match projectee with | BvMul -> true | uu____591 -> false + fun projectee -> + match projectee with | BvMul -> true | uu____591 -> false + let (uu___is_BvUlt : op -> Prims.bool) = - fun projectee -> match projectee with | BvUlt -> true | uu____602 -> false + fun projectee -> + match projectee with | BvUlt -> true | uu____602 -> false + let (uu___is_BvUext : op -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | BvUext _0 -> true | uu____615 -> false + let (__proj__BvUext__item___0 : op -> Prims.int) = - fun projectee -> match projectee with | BvUext _0 -> _0 + fun projectee -> match projectee with | BvUext _0 -> _0 let (uu___is_NatToBv : op -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | NatToBv _0 -> true | uu____638 -> false + let (__proj__NatToBv__item___0 : op -> Prims.int) = - fun projectee -> match projectee with | NatToBv _0 -> _0 + fun projectee -> match projectee with | NatToBv _0 -> _0 let (uu___is_BvToNat : op -> Prims.bool) = - fun projectee -> - match projectee with | BvToNat -> true | uu____659 -> false + fun projectee -> + match projectee with | BvToNat -> true | uu____659 -> false + let (uu___is_ITE : op -> Prims.bool) = - fun projectee -> match projectee with | ITE -> true | uu____670 -> false + fun projectee -> match projectee with | ITE -> true | uu____670 -> false let (uu___is_Var : op -> Prims.bool) = - fun projectee -> match projectee with | Var _0 -> true | uu____683 -> false + fun projectee -> + match projectee with | Var _0 -> true | uu____683 -> false + let (__proj__Var__item___0 : op -> Prims.string) = - fun projectee -> match projectee with | Var _0 -> _0 + fun projectee -> match projectee with | Var _0 -> _0 type qop = | Forall | Exists let (uu___is_Forall : qop -> Prims.bool) = - fun projectee -> match projectee with | Forall -> true | uu____704 -> false + fun projectee -> + match projectee with | Forall -> true | uu____704 -> false + let (uu___is_Exists : qop -> Prims.bool) = - fun projectee -> match projectee with | Exists -> true | uu____715 -> false + fun projectee -> + match projectee with | Exists -> true | uu____715 -> false + type term' = | Integer of Prims.string | Real of Prims.string @@ -208,62 +253,72 @@ and term = (Prims.string * sort * Prims.bool) Prims.list FStar_Syntax_Syntax.memo ; rng: FStar_Range.range } let (uu___is_Integer : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Integer _0 -> true | uu____864 -> false + let (__proj__Integer__item___0 : term' -> Prims.string) = - fun projectee -> match projectee with | Integer _0 -> _0 + fun projectee -> match projectee with | Integer _0 -> _0 let (uu___is_Real : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Real _0 -> true | uu____887 -> false + let (__proj__Real__item___0 : term' -> Prims.string) = - fun projectee -> match projectee with | Real _0 -> _0 + fun projectee -> match projectee with | Real _0 -> _0 let (uu___is_BoundV : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | BoundV _0 -> true | uu____910 -> false + let (__proj__BoundV__item___0 : term' -> Prims.int) = - fun projectee -> match projectee with | BoundV _0 -> _0 + fun projectee -> match projectee with | BoundV _0 -> _0 let (uu___is_FreeV : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | FreeV _0 -> true | uu____940 -> false + let (__proj__FreeV__item___0 : term' -> (Prims.string * sort * Prims.bool)) = - fun projectee -> match projectee with | FreeV _0 -> _0 + fun projectee -> match projectee with | FreeV _0 -> _0 let (uu___is_App : term' -> Prims.bool) = - fun projectee -> match projectee with | App _0 -> true | uu____989 -> false + fun projectee -> + match projectee with | App _0 -> true | uu____989 -> false + let (__proj__App__item___0 : term' -> (op * term Prims.list)) = - fun projectee -> match projectee with | App _0 -> _0 + fun projectee -> match projectee with | App _0 -> _0 let (uu___is_Quant : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Quant _0 -> true | uu____1045 -> false + let (__proj__Quant__item___0 : term' -> (qop * term Prims.list Prims.list * Prims.int FStar_Pervasives_Native.option * sort Prims.list * term)) - = fun projectee -> match projectee with | Quant _0 -> _0 + = fun projectee -> match projectee with | Quant _0 -> _0 let (uu___is_Let : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Let _0 -> true | uu____1127 -> false + let (__proj__Let__item___0 : term' -> (term Prims.list * term)) = - fun projectee -> match projectee with | Let _0 -> _0 + fun projectee -> match projectee with | Let _0 -> _0 let (uu___is_Labeled : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Labeled _0 -> true | uu____1171 -> false + let (__proj__Labeled__item___0 : term' -> (term * Prims.string * FStar_Range.range)) = - fun projectee -> match projectee with | Labeled _0 -> _0 + fun projectee -> match projectee with | Labeled _0 -> _0 let (uu___is_LblPos : term' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | LblPos _0 -> true | uu____1216 -> false + let (__proj__LblPos__item___0 : term' -> (term * Prims.string)) = - fun projectee -> match projectee with | LblPos _0 -> _0 + fun projectee -> match projectee with | LblPos _0 -> _0 let (__proj__Mkterm__item__tm : term -> term') = - fun projectee -> match projectee with | { tm; freevars; rng;_} -> tm + fun projectee -> match projectee with | { tm; freevars; rng;_} -> tm let (__proj__Mkterm__item__freevars : term -> (Prims.string * sort * Prims.bool) Prims.list FStar_Syntax_Syntax.memo) = - fun projectee -> match projectee with | { tm; freevars; rng;_} -> freevars + fun projectee -> match projectee with | { tm; freevars; rng;_} -> freevars let (__proj__Mkterm__item__rng : term -> FStar_Range.range) = - fun projectee -> match projectee with | { tm; freevars; rng;_} -> rng + fun projectee -> match projectee with | { tm; freevars; rng;_} -> rng type pat = term type fv = (Prims.string * sort * Prims.bool) type fvs = (Prims.string * sort * Prims.bool) Prims.list @@ -279,20 +334,23 @@ type fact_db_id = | Namespace of FStar_Ident.lid | Tag of Prims.string let (uu___is_Name : fact_db_id -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Name _0 -> true | uu____1406 -> false + let (__proj__Name__item___0 : fact_db_id -> FStar_Ident.lid) = - fun projectee -> match projectee with | Name _0 -> _0 + fun projectee -> match projectee with | Name _0 -> _0 let (uu___is_Namespace : fact_db_id -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Namespace _0 -> true | uu____1425 -> false + let (__proj__Namespace__item___0 : fact_db_id -> FStar_Ident.lid) = - fun projectee -> match projectee with | Namespace _0 -> _0 + fun projectee -> match projectee with | Namespace _0 -> _0 let (uu___is_Tag : fact_db_id -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tag _0 -> true | uu____1445 -> false + let (__proj__Tag__item___0 : fact_db_id -> Prims.string) = - fun projectee -> match projectee with | Tag _0 -> _0 + fun projectee -> match projectee with | Tag _0 -> _0 type assumption = { assumption_term: term ; @@ -300,28 +358,32 @@ type assumption = assumption_name: Prims.string ; assumption_fact_ids: fact_db_id Prims.list } let (__proj__Mkassumption__item__assumption_term : assumption -> term) = - fun projectee -> + fun projectee -> match projectee with | { assumption_term; assumption_caption; assumption_name; assumption_fact_ids;_} -> assumption_term + let (__proj__Mkassumption__item__assumption_caption : assumption -> caption) = - fun projectee -> + fun projectee -> match projectee with | { assumption_term; assumption_caption; assumption_name; assumption_fact_ids;_} -> assumption_caption + let (__proj__Mkassumption__item__assumption_name : assumption -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { assumption_term; assumption_caption; assumption_name; assumption_fact_ids;_} -> assumption_name + let (__proj__Mkassumption__item__assumption_fact_ids : assumption -> fact_db_id Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { assumption_term; assumption_caption; assumption_name; assumption_fact_ids;_} -> assumption_fact_ids + type decl = | DefPrelude | DeclFun of (Prims.string * sort Prims.list * sort * caption) @@ -340,71 +402,87 @@ type decl = | GetStatistics | GetReasonUnknown let (uu___is_DefPrelude : decl -> Prims.bool) = - fun projectee -> - match projectee with | DefPrelude -> true | uu____1634 -> false + fun projectee -> + match projectee with | DefPrelude -> true | uu____1634 -> false + let (uu___is_DeclFun : decl -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | DeclFun _0 -> true | uu____1657 -> false + let (__proj__DeclFun__item___0 : decl -> (Prims.string * sort Prims.list * sort * caption)) = - fun projectee -> match projectee with | DeclFun _0 -> _0 + fun projectee -> match projectee with | DeclFun _0 -> _0 let (uu___is_DefineFun : decl -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | DefineFun _0 -> true | uu____1722 -> false + let (__proj__DefineFun__item___0 : decl -> (Prims.string * sort Prims.list * sort * term * caption)) = - fun projectee -> match projectee with | DefineFun _0 -> _0 + fun projectee -> match projectee with | DefineFun _0 -> _0 let (uu___is_Assume : decl -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Assume _0 -> true | uu____1780 -> false + let (__proj__Assume__item___0 : decl -> assumption) = - fun projectee -> match projectee with | Assume _0 -> _0 + fun projectee -> match projectee with | Assume _0 -> _0 let (uu___is_Caption : decl -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Caption _0 -> true | uu____1800 -> false + let (__proj__Caption__item___0 : decl -> Prims.string) = - fun projectee -> match projectee with | Caption _0 -> _0 + fun projectee -> match projectee with | Caption _0 -> _0 let (uu___is_Module : decl -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Module _0 -> true | uu____1829 -> false + let (__proj__Module__item___0 : decl -> (Prims.string * decl Prims.list)) = - fun projectee -> match projectee with | Module _0 -> _0 + fun projectee -> match projectee with | Module _0 -> _0 let (uu___is_Eval : decl -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Eval _0 -> true | uu____1869 -> false + let (__proj__Eval__item___0 : decl -> term) = - fun projectee -> match projectee with | Eval _0 -> _0 + fun projectee -> match projectee with | Eval _0 -> _0 let (uu___is_Echo : decl -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Echo _0 -> true | uu____1889 -> false + let (__proj__Echo__item___0 : decl -> Prims.string) = - fun projectee -> match projectee with | Echo _0 -> _0 + fun projectee -> match projectee with | Echo _0 -> _0 let (uu___is_RetainAssumptions : decl -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | RetainAssumptions _0 -> true | uu____1914 -> false + let (__proj__RetainAssumptions__item___0 : decl -> Prims.string Prims.list) = - fun projectee -> match projectee with | RetainAssumptions _0 -> _0 + fun projectee -> match projectee with | RetainAssumptions _0 -> _0 let (uu___is_Push : decl -> Prims.bool) = - fun projectee -> match projectee with | Push -> true | uu____1941 -> false + fun projectee -> + match projectee with | Push -> true | uu____1941 -> false + let (uu___is_Pop : decl -> Prims.bool) = - fun projectee -> match projectee with | Pop -> true | uu____1952 -> false + fun projectee -> match projectee with | Pop -> true | uu____1952 -> false let (uu___is_CheckSat : decl -> Prims.bool) = - fun projectee -> - match projectee with | CheckSat -> true | uu____1963 -> false + fun projectee -> + match projectee with | CheckSat -> true | uu____1963 -> false + let (uu___is_GetUnsatCore : decl -> Prims.bool) = - fun projectee -> - match projectee with | GetUnsatCore -> true | uu____1974 -> false + fun projectee -> + match projectee with | GetUnsatCore -> true | uu____1974 -> false + let (uu___is_SetOption : decl -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | SetOption _0 -> true | uu____1992 -> false + let (__proj__SetOption__item___0 : decl -> (Prims.string * Prims.string)) = - fun projectee -> match projectee with | SetOption _0 -> _0 + fun projectee -> match projectee with | SetOption _0 -> _0 let (uu___is_GetStatistics : decl -> Prims.bool) = - fun projectee -> - match projectee with | GetStatistics -> true | uu____2028 -> false + fun projectee -> + match projectee with | GetStatistics -> true | uu____2028 -> false + let (uu___is_GetReasonUnknown : decl -> Prims.bool) = - fun projectee -> - match projectee with | GetReasonUnknown -> true | uu____2039 -> false + fun projectee -> + match projectee with | GetReasonUnknown -> true | uu____2039 -> false + type decls_elt = { sym_name: Prims.string FStar_Pervasives_Native.option ; @@ -413,1117 +491,1228 @@ type decls_elt = a_names: Prims.string Prims.list } let (__proj__Mkdecls_elt__item__sym_name : decls_elt -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { sym_name; key; decls; a_names;_} -> sym_name + let (__proj__Mkdecls_elt__item__key : decls_elt -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { sym_name; key; decls; a_names;_} -> key + let (__proj__Mkdecls_elt__item__decls : decls_elt -> decl Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { sym_name; key; decls; a_names;_} -> decls + let (__proj__Mkdecls_elt__item__a_names : decls_elt -> Prims.string Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { sym_name; key; decls; a_names;_} -> a_names + type decls_t = decls_elt Prims.list let (mk_decls : Prims.string -> Prims.string -> decl Prims.list -> decls_elt Prims.list -> decls_t) = - fun name -> - fun key -> - fun decls -> - fun aux_decls -> + fun name -> + fun key -> + fun decls -> + fun aux_decls -> let uu____2213 = let uu____2214 = - let sm = FStar_Util.smap_create (Prims.parse_int "20") in + let sm = FStar_Util.smap_create (Prims.parse_int "20") in FStar_List.iter - (fun elt -> - FStar_List.iter (fun s -> FStar_Util.smap_add sm s "0") + (fun elt -> + FStar_List.iter (fun s -> FStar_Util.smap_add sm s "0") elt.a_names) aux_decls; FStar_List.iter - (fun d -> + (fun d -> match d with | Assume a -> FStar_Util.smap_add sm a.assumption_name "0" | uu____2240 -> ()) decls; - FStar_Util.smap_keys sm in + FStar_Util.smap_keys sm in { sym_name = (FStar_Pervasives_Native.Some name); key = (FStar_Pervasives_Native.Some key); decls; a_names = uu____2214 - } in + } in [uu____2213] + let (mk_decls_trivial : decl Prims.list -> decls_t) = - fun decls -> + fun decls -> let uu____2254 = let uu____2255 = FStar_List.collect - (fun uu___0_2262 -> + (fun uu___0_2262 -> match uu___0_2262 with | Assume a -> [a.assumption_name] - | uu____2269 -> []) decls in + | uu____2269 -> []) decls + in { sym_name = FStar_Pervasives_Native.None; key = FStar_Pervasives_Native.None; decls; a_names = uu____2255 - } in + } in [uu____2254] + let (decls_list_of : decls_t -> decl Prims.list) = - fun l -> FStar_All.pipe_right l (FStar_List.collect (fun elt -> elt.decls)) + fun l -> + FStar_All.pipe_right l (FStar_List.collect (fun elt -> elt.decls)) + type error_label = (fv * Prims.string * FStar_Range.range) type error_labels = error_label Prims.list let (mk_fv : (Prims.string * sort) -> fv) = - fun uu____2306 -> match uu____2306 with | (x, y) -> (x, y, false) + fun uu____2306 -> match uu____2306 with | (x,y) -> (x, y, false) let (fv_name : fv -> Prims.string) = - fun x -> - let uu____2326 = x in - match uu____2326 with | (nm, uu____2329, uu____2330) -> nm + fun x -> + let uu____2326 = x in + match uu____2326 with | (nm,uu____2329,uu____2330) -> nm + let (fv_sort : fv -> sort) = - fun x -> - let uu____2341 = x in - match uu____2341 with | (uu____2342, sort, uu____2344) -> sort + fun x -> + let uu____2341 = x in + match uu____2341 with | (uu____2342,sort,uu____2344) -> sort + let (fv_force : fv -> Prims.bool) = - fun x -> - let uu____2356 = x in - match uu____2356 with | (uu____2358, uu____2359, force) -> force + fun x -> + let uu____2356 = x in + match uu____2356 with | (uu____2358,uu____2359,force) -> force + let (fv_eq : fv -> fv -> Prims.bool) = - fun x -> - fun y -> - let uu____2377 = fv_name x in - let uu____2379 = fv_name y in uu____2377 = uu____2379 + fun x -> + fun y -> + let uu____2377 = fv_name x in + let uu____2379 = fv_name y in uu____2377 = uu____2379 + +let (fvs_subset_of : fvs -> fvs -> Prims.bool) = + fun x -> + fun y -> + let cmp_fv x1 y1 = + let uu____2406 = fv_name x1 in + let uu____2408 = fv_name y1 in + FStar_Util.compare uu____2406 uu____2408 in + let uu____2410 = FStar_Util.as_set x cmp_fv in + let uu____2429 = FStar_Util.as_set y cmp_fv in + FStar_Util.set_is_subset_of uu____2410 uu____2429 + let (freevar_eq : term -> term -> Prims.bool) = - fun x -> - fun y -> + fun x -> + fun y -> match ((x.tm), (y.tm)) with - | (FreeV x1, FreeV y1) -> fv_eq x1 y1 - | uu____2413 -> false + | (FreeV x1,FreeV y1) -> fv_eq x1 y1 + | uu____2487 -> false + let (freevar_sort : term -> sort) = - fun uu___1_2424 -> - match uu___1_2424 with - | { tm = FreeV x; freevars = uu____2426; rng = uu____2427;_} -> fv_sort x - | uu____2448 -> failwith "impossible" + fun uu___1_2498 -> + match uu___1_2498 with + | { tm = FreeV x; freevars = uu____2500; rng = uu____2501;_} -> fv_sort x + | uu____2522 -> failwith "impossible" + let (fv_of_term : term -> fv) = - fun uu___2_2455 -> - match uu___2_2455 with - | { tm = FreeV fv; freevars = uu____2457; rng = uu____2458;_} -> fv - | uu____2479 -> failwith "impossible" + fun uu___2_2529 -> + match uu___2_2529 with + | { tm = FreeV fv; freevars = uu____2531; rng = uu____2532;_} -> fv + | uu____2553 -> failwith "impossible" + let rec (freevars : term -> (Prims.string * sort * Prims.bool) Prims.list) = - fun t -> + fun t -> match t.tm with - | Integer uu____2507 -> [] - | Real uu____2517 -> [] - | BoundV uu____2527 -> [] + | Integer uu____2581 -> [] + | Real uu____2591 -> [] + | BoundV uu____2601 -> [] + | FreeV fv when fv_force fv -> [] | FreeV fv -> [fv] - | App (uu____2562, tms) -> FStar_List.collect freevars tms - | Quant (uu____2576, uu____2577, uu____2578, uu____2579, t1) -> - freevars t1 - | Labeled (t1, uu____2600, uu____2601) -> freevars t1 - | LblPos (t1, uu____2605) -> freevars t1 - | Let (es, body) -> FStar_List.collect freevars (body :: es) + | App (uu____2653,tms) -> FStar_List.collect freevars tms + | Quant (uu____2667,uu____2668,uu____2669,uu____2670,t1) -> freevars t1 + | Labeled (t1,uu____2691,uu____2692) -> freevars t1 + | LblPos (t1,uu____2696) -> freevars t1 + | Let (es,body) -> FStar_List.collect freevars (body :: es) + let (free_variables : term -> fvs) = - fun t -> - let uu____2628 = FStar_ST.op_Bang t.freevars in - match uu____2628 with + fun t -> + let uu____2719 = FStar_ST.op_Bang t.freevars in + match uu____2719 with | FStar_Pervasives_Native.Some b -> b - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let fvs = - let uu____2726 = freevars t in - FStar_Util.remove_dups fv_eq uu____2726 in + let uu____2817 = freevars t in + FStar_Util.remove_dups fv_eq uu____2817 in (FStar_ST.op_Colon_Equals t.freevars (FStar_Pervasives_Native.Some fvs); fvs) + let (qop_to_string : qop -> Prims.string) = - fun uu___3_2805 -> - match uu___3_2805 with | Forall -> "forall" | Exists -> "exists" + fun uu___3_2896 -> + match uu___3_2896 with | Forall -> "forall" | Exists -> "exists" + let (op_to_string : op -> Prims.string) = - fun uu___4_2815 -> - match uu___4_2815 with - | TrueOp -> "true" - | FalseOp -> "false" - | Not -> "not" - | And -> "and" - | Or -> "or" - | Imp -> "implies" - | Iff -> "iff" - | Eq -> "=" - | LT -> "<" - | LTE -> "<=" - | GT -> ">" - | GTE -> ">=" - | Add -> "+" - | Sub -> "-" - | Div -> "div" - | RealDiv -> "/" - | Mul -> "*" - | Minus -> "-" - | Mod -> "mod" - | ITE -> "ite" - | BvAnd -> "bvand" - | BvXor -> "bvxor" - | BvOr -> "bvor" - | BvAdd -> "bvadd" - | BvSub -> "bvsub" - | BvShl -> "bvshl" - | BvShr -> "bvlshr" - | BvUdiv -> "bvudiv" - | BvMod -> "bvurem" - | BvMul -> "bvmul" - | BvUlt -> "bvult" - | BvToNat -> "bv2int" + fun uu___4_2906 -> + match uu___4_2906 with + | TrueOp -> "true" + | FalseOp -> "false" + | Not -> "not" + | And -> "and" + | Or -> "or" + | Imp -> "implies" + | Iff -> "iff" + | Eq -> "=" + | LT -> "<" + | LTE -> "<=" + | GT -> ">" + | GTE -> ">=" + | Add -> "+" + | Sub -> "-" + | Div -> "div" + | RealDiv -> "/" + | Mul -> "*" + | Minus -> "-" + | Mod -> "mod" + | ITE -> "ite" + | BvAnd -> "bvand" + | BvXor -> "bvxor" + | BvOr -> "bvor" + | BvAdd -> "bvadd" + | BvSub -> "bvsub" + | BvShl -> "bvshl" + | BvShr -> "bvlshr" + | BvUdiv -> "bvudiv" + | BvMod -> "bvurem" + | BvMul -> "bvmul" + | BvUlt -> "bvult" + | BvToNat -> "bv2int" | BvUext n1 -> - let uu____2851 = FStar_Util.string_of_int n1 in - FStar_Util.format1 "(_ zero_extend %s)" uu____2851 + let uu____2942 = FStar_Util.string_of_int n1 in + FStar_Util.format1 "(_ zero_extend %s)" uu____2942 | NatToBv n1 -> - let uu____2856 = FStar_Util.string_of_int n1 in - FStar_Util.format1 "(_ int2bv %s)" uu____2856 + let uu____2947 = FStar_Util.string_of_int n1 in + FStar_Util.format1 "(_ int2bv %s)" uu____2947 | Var s -> s + let (weightToSmt : Prims.int FStar_Pervasives_Native.option -> Prims.string) = - fun uu___5_2870 -> - match uu___5_2870 with - | FStar_Pervasives_Native.None -> "" + fun uu___5_2961 -> + match uu___5_2961 with + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some i -> - let uu____2880 = FStar_Util.string_of_int i in - FStar_Util.format1 ":weight %s\n" uu____2880 + let uu____2971 = FStar_Util.string_of_int i in + FStar_Util.format1 ":weight %s\n" uu____2971 + let rec (hash_of_term' : term' -> Prims.string) = - fun t -> + fun t -> match t with | Integer i -> i | Real r -> r | BoundV i -> - let uu____2902 = FStar_Util.string_of_int i in - Prims.op_Hat "@" uu____2902 + let uu____2993 = FStar_Util.string_of_int i in + Prims.op_Hat "@" uu____2993 | FreeV x -> - let uu____2914 = fv_name x in - let uu____2916 = - let uu____2918 = let uu____2920 = fv_sort x in strSort uu____2920 in - Prims.op_Hat ":" uu____2918 in - Prims.op_Hat uu____2914 uu____2916 - | App (op, tms) -> - let uu____2928 = - let uu____2930 = op_to_string op in - let uu____2932 = - let uu____2934 = - let uu____2936 = FStar_List.map hash_of_term tms in - FStar_All.pipe_right uu____2936 (FStar_String.concat " ") in - Prims.op_Hat uu____2934 ")" in - Prims.op_Hat uu____2930 uu____2932 in - Prims.op_Hat "(" uu____2928 - | Labeled (t1, r1, r2) -> - let uu____2953 = hash_of_term t1 in - let uu____2955 = - let uu____2957 = FStar_Range.string_of_range r2 in - Prims.op_Hat r1 uu____2957 in - Prims.op_Hat uu____2953 uu____2955 - | LblPos (t1, r) -> - let uu____2963 = - let uu____2965 = hash_of_term t1 in - Prims.op_Hat uu____2965 - (Prims.op_Hat " :lblpos " (Prims.op_Hat r ")")) in - Prims.op_Hat "(! " uu____2963 - | Quant (qop, pats, wopt, sorts, body) -> - let uu____2993 = - let uu____2995 = - let uu____2997 = - let uu____2999 = - let uu____3001 = FStar_List.map strSort sorts in - FStar_All.pipe_right uu____3001 (FStar_String.concat " ") in - let uu____3011 = - let uu____3013 = - let uu____3015 = hash_of_term body in - let uu____3017 = - let uu____3019 = - let uu____3021 = weightToSmt wopt in - let uu____3023 = - let uu____3025 = - let uu____3027 = - let uu____3029 = + let uu____3005 = fv_name x in + let uu____3007 = + let uu____3009 = let uu____3011 = fv_sort x in strSort uu____3011 + in + Prims.op_Hat ":" uu____3009 in + Prims.op_Hat uu____3005 uu____3007 + | App (op,tms) -> + let uu____3019 = + let uu____3021 = op_to_string op in + let uu____3023 = + let uu____3025 = + let uu____3027 = FStar_List.map hash_of_term tms in + FStar_All.pipe_right uu____3027 (FStar_String.concat " ") in + Prims.op_Hat uu____3025 ")" in + Prims.op_Hat uu____3021 uu____3023 in + Prims.op_Hat "(" uu____3019 + | Labeled (t1,r1,r2) -> + let uu____3044 = hash_of_term t1 in + let uu____3046 = + let uu____3048 = FStar_Range.string_of_range r2 in + Prims.op_Hat r1 uu____3048 in + Prims.op_Hat uu____3044 uu____3046 + | LblPos (t1,r) -> + let uu____3054 = + let uu____3056 = hash_of_term t1 in + Prims.op_Hat uu____3056 + (Prims.op_Hat " :lblpos " (Prims.op_Hat r ")")) + in + Prims.op_Hat "(! " uu____3054 + | Quant (qop,pats,wopt,sorts,body) -> + let uu____3084 = + let uu____3086 = + let uu____3088 = + let uu____3090 = + let uu____3092 = FStar_List.map strSort sorts in + FStar_All.pipe_right uu____3092 (FStar_String.concat " ") in + let uu____3102 = + let uu____3104 = + let uu____3106 = hash_of_term body in + let uu____3108 = + let uu____3110 = + let uu____3112 = weightToSmt wopt in + let uu____3114 = + let uu____3116 = + let uu____3118 = + let uu____3120 = FStar_All.pipe_right pats (FStar_List.map - (fun pats1 -> - let uu____3048 = - FStar_List.map hash_of_term pats1 in - FStar_All.pipe_right uu____3048 - (FStar_String.concat " "))) in - FStar_All.pipe_right uu____3029 - (FStar_String.concat "; ") in - Prims.op_Hat uu____3027 "))" in - Prims.op_Hat " " uu____3025 in - Prims.op_Hat uu____3021 uu____3023 in - Prims.op_Hat " " uu____3019 in - Prims.op_Hat uu____3015 uu____3017 in - Prims.op_Hat ")(! " uu____3013 in - Prims.op_Hat uu____2999 uu____3011 in - Prims.op_Hat " (" uu____2997 in - Prims.op_Hat (qop_to_string qop) uu____2995 in - Prims.op_Hat "(" uu____2993 - | Let (es, body) -> - let uu____3075 = - let uu____3077 = - let uu____3079 = FStar_List.map hash_of_term es in - FStar_All.pipe_right uu____3079 (FStar_String.concat " ") in - let uu____3089 = - let uu____3091 = - let uu____3093 = hash_of_term body in - Prims.op_Hat uu____3093 ")" in - Prims.op_Hat ") " uu____3091 in - Prims.op_Hat uu____3077 uu____3089 in - Prims.op_Hat "(let (" uu____3075 -and (hash_of_term : term -> Prims.string) = fun tm -> hash_of_term' tm.tm + (fun pats1 -> + let uu____3139 = + FStar_List.map hash_of_term pats1 in + FStar_All.pipe_right uu____3139 + (FStar_String.concat " "))) + in + FStar_All.pipe_right uu____3120 + (FStar_String.concat "; ") + in + Prims.op_Hat uu____3118 "))" in + Prims.op_Hat " " uu____3116 in + Prims.op_Hat uu____3112 uu____3114 in + Prims.op_Hat " " uu____3110 in + Prims.op_Hat uu____3106 uu____3108 in + Prims.op_Hat ")(! " uu____3104 in + Prims.op_Hat uu____3090 uu____3102 in + Prims.op_Hat " (" uu____3088 in + Prims.op_Hat (qop_to_string qop) uu____3086 in + Prims.op_Hat "(" uu____3084 + | Let (es,body) -> + let uu____3166 = + let uu____3168 = + let uu____3170 = FStar_List.map hash_of_term es in + FStar_All.pipe_right uu____3170 (FStar_String.concat " ") in + let uu____3180 = + let uu____3182 = + let uu____3184 = hash_of_term body in + Prims.op_Hat uu____3184 ")" in + Prims.op_Hat ") " uu____3182 in + Prims.op_Hat uu____3168 uu____3180 in + Prims.op_Hat "(let (" uu____3166 + +and (hash_of_term : term -> Prims.string) = fun tm -> hash_of_term' tm.tm + let (mkBoxFunctions : Prims.string -> (Prims.string * Prims.string)) = - fun s -> (s, (Prims.op_Hat s "_proj_0")) -let (boxIntFun : (Prims.string * Prims.string)) = mkBoxFunctions "BoxInt" -let (boxBoolFun : (Prims.string * Prims.string)) = mkBoxFunctions "BoxBool" + fun s -> (s, (Prims.op_Hat s "_proj_0")) +let (boxIntFun : (Prims.string * Prims.string)) = mkBoxFunctions "BoxInt" +let (boxBoolFun : (Prims.string * Prims.string)) = mkBoxFunctions "BoxBool" let (boxStringFun : (Prims.string * Prims.string)) = - mkBoxFunctions "BoxString" + mkBoxFunctions "BoxString" let (boxBitVecFun : Prims.int -> (Prims.string * Prims.string)) = - fun sz -> - let uu____3154 = - let uu____3156 = FStar_Util.string_of_int sz in - Prims.op_Hat "BoxBitVec" uu____3156 in - mkBoxFunctions uu____3154 -let (boxRealFun : (Prims.string * Prims.string)) = mkBoxFunctions "BoxReal" + fun sz -> + let uu____3245 = + let uu____3247 = FStar_Util.string_of_int sz in + Prims.op_Hat "BoxBitVec" uu____3247 in + mkBoxFunctions uu____3245 + +let (boxRealFun : (Prims.string * Prims.string)) = mkBoxFunctions "BoxReal" let (isInjective : Prims.string -> Prims.bool) = - fun s -> + fun s -> if (FStar_String.length s) >= (Prims.parse_int "3") then - (let uu____3181 = - FStar_String.substring s (Prims.parse_int "0") (Prims.parse_int "3") in - uu____3181 = "Box") && - (let uu____3188 = - let uu____3190 = FStar_String.list_of_string s in - FStar_List.existsML (fun c -> c = 46) uu____3190 in - Prims.op_Negation uu____3188) + (let uu____3272 = + FStar_String.substring s (Prims.parse_int "0") (Prims.parse_int "3") + in + uu____3272 = "Box") && + (let uu____3279 = + let uu____3281 = FStar_String.list_of_string s in + FStar_List.existsML (fun c -> c = 46) uu____3281 in + Prims.op_Negation uu____3279) else false + let (mk : term' -> FStar_Range.range -> term) = - fun t -> - fun r -> - let uu____3214 = FStar_Util.mk_ref FStar_Pervasives_Native.None in - { tm = t; freevars = uu____3214; rng = r } -let (mkTrue : FStar_Range.range -> term) = fun r -> mk (App (TrueOp, [])) r -let (mkFalse : FStar_Range.range -> term) = fun r -> mk (App (FalseOp, [])) r + fun t -> + fun r -> + let uu____3305 = FStar_Util.mk_ref FStar_Pervasives_Native.None in + { tm = t; freevars = uu____3305; rng = r } + +let (mkTrue : FStar_Range.range -> term) = fun r -> mk (App (TrueOp, [])) r +let (mkFalse : FStar_Range.range -> term) = + fun r -> mk (App (FalseOp, [])) r let (mkInteger : Prims.string -> FStar_Range.range -> term) = - fun i -> - fun r -> - let uu____3278 = - let uu____3279 = FStar_Util.ensure_decimal i in Integer uu____3279 in - mk uu____3278 r + fun i -> + fun r -> + let uu____3369 = + let uu____3370 = FStar_Util.ensure_decimal i in Integer uu____3370 + in + mk uu____3369 r + let (mkInteger' : Prims.int -> FStar_Range.range -> term) = - fun i -> - fun r -> - let uu____3294 = FStar_Util.string_of_int i in mkInteger uu____3294 r + fun i -> + fun r -> + let uu____3385 = FStar_Util.string_of_int i in mkInteger uu____3385 r + let (mkReal : Prims.string -> FStar_Range.range -> term) = - fun i -> fun r -> mk (Real i) r + fun i -> fun r -> mk (Real i) r let (mkBoundV : Prims.int -> FStar_Range.range -> term) = - fun i -> fun r -> mk (BoundV i) r + fun i -> fun r -> mk (BoundV i) r let (mkFreeV : fv -> FStar_Range.range -> term) = - fun x -> fun r -> mk (FreeV x) r + fun x -> fun r -> mk (FreeV x) r let (mkApp' : (op * term Prims.list) -> FStar_Range.range -> term) = - fun f -> fun r -> mk (App f) r + fun f -> fun r -> mk (App f) r let (mkApp : (Prims.string * term Prims.list) -> FStar_Range.range -> term) = - fun uu____3372 -> - fun r -> match uu____3372 with | (s, args) -> mk (App ((Var s), args)) r + fun uu____3463 -> + fun r -> match uu____3463 with | (s,args) -> mk (App ((Var s), args)) r + let (mkNot : term -> FStar_Range.range -> term) = - fun t -> - fun r -> + fun t -> + fun r -> match t.tm with - | App (TrueOp, uu____3402) -> mkFalse r - | App (FalseOp, uu____3407) -> mkTrue r - | uu____3412 -> mkApp' (Not, [t]) r + | App (TrueOp ,uu____3493) -> mkFalse r + | App (FalseOp ,uu____3498) -> mkTrue r + | uu____3503 -> mkApp' (Not, [t]) r + let (mkAnd : (term * term) -> FStar_Range.range -> term) = - fun uu____3428 -> - fun r -> - match uu____3428 with - | (t1, t2) -> + fun uu____3519 -> + fun r -> + match uu____3519 with + | (t1,t2) -> (match ((t1.tm), (t2.tm)) with - | (App (TrueOp, uu____3436), uu____3437) -> t2 - | (uu____3442, App (TrueOp, uu____3443)) -> t1 - | (App (FalseOp, uu____3448), uu____3449) -> mkFalse r - | (uu____3454, App (FalseOp, uu____3455)) -> mkFalse r - | (App (And, ts1), App (And, ts2)) -> + | (App (TrueOp ,uu____3527),uu____3528) -> t2 + | (uu____3533,App (TrueOp ,uu____3534)) -> t1 + | (App (FalseOp ,uu____3539),uu____3540) -> mkFalse r + | (uu____3545,App (FalseOp ,uu____3546)) -> mkFalse r + | (App (And ,ts1),App (And ,ts2)) -> mkApp' (And, (FStar_List.append ts1 ts2)) r - | (uu____3472, App (And, ts2)) -> mkApp' (And, (t1 :: ts2)) r - | (App (And, ts1), uu____3481) -> + | (uu____3563,App (And ,ts2)) -> mkApp' (And, (t1 :: ts2)) r + | (App (And ,ts1),uu____3572) -> mkApp' (And, (FStar_List.append ts1 [t2])) r - | uu____3488 -> mkApp' (And, [t1; t2]) r) + | uu____3579 -> mkApp' (And, [t1; t2]) r) + let (mkOr : (term * term) -> FStar_Range.range -> term) = - fun uu____3508 -> - fun r -> - match uu____3508 with - | (t1, t2) -> + fun uu____3599 -> + fun r -> + match uu____3599 with + | (t1,t2) -> (match ((t1.tm), (t2.tm)) with - | (App (TrueOp, uu____3516), uu____3517) -> mkTrue r - | (uu____3522, App (TrueOp, uu____3523)) -> mkTrue r - | (App (FalseOp, uu____3528), uu____3529) -> t2 - | (uu____3534, App (FalseOp, uu____3535)) -> t1 - | (App (Or, ts1), App (Or, ts2)) -> + | (App (TrueOp ,uu____3607),uu____3608) -> mkTrue r + | (uu____3613,App (TrueOp ,uu____3614)) -> mkTrue r + | (App (FalseOp ,uu____3619),uu____3620) -> t2 + | (uu____3625,App (FalseOp ,uu____3626)) -> t1 + | (App (Or ,ts1),App (Or ,ts2)) -> mkApp' (Or, (FStar_List.append ts1 ts2)) r - | (uu____3552, App (Or, ts2)) -> mkApp' (Or, (t1 :: ts2)) r - | (App (Or, ts1), uu____3561) -> + | (uu____3643,App (Or ,ts2)) -> mkApp' (Or, (t1 :: ts2)) r + | (App (Or ,ts1),uu____3652) -> mkApp' (Or, (FStar_List.append ts1 [t2])) r - | uu____3568 -> mkApp' (Or, [t1; t2]) r) + | uu____3659 -> mkApp' (Or, [t1; t2]) r) + let (mkImp : (term * term) -> FStar_Range.range -> term) = - fun uu____3588 -> - fun r -> - match uu____3588 with - | (t1, t2) -> + fun uu____3679 -> + fun r -> + match uu____3679 with + | (t1,t2) -> (match ((t1.tm), (t2.tm)) with - | (uu____3596, App (TrueOp, uu____3597)) -> mkTrue r - | (App (FalseOp, uu____3602), uu____3603) -> mkTrue r - | (App (TrueOp, uu____3608), uu____3609) -> t2 - | (uu____3614, App (Imp, t1'::t2'::[])) -> - let uu____3619 = - let uu____3626 = - let uu____3629 = mkAnd (t1, t1') r in [uu____3629; t2'] in - (Imp, uu____3626) in - mkApp' uu____3619 r - | uu____3632 -> mkApp' (Imp, [t1; t2]) r) + | (uu____3687,App (TrueOp ,uu____3688)) -> mkTrue r + | (App (FalseOp ,uu____3693),uu____3694) -> mkTrue r + | (App (TrueOp ,uu____3699),uu____3700) -> t2 + | (uu____3705,App (Imp ,t1'::t2'::[])) -> + let uu____3710 = + let uu____3717 = + let uu____3720 = mkAnd (t1, t1') r in [uu____3720; t2'] + in + (Imp, uu____3717) in + mkApp' uu____3710 r + | uu____3723 -> mkApp' (Imp, [t1; t2]) r) + let (mk_bin_op : op -> (term * term) -> FStar_Range.range -> term) = - fun op -> - fun uu____3657 -> - fun r -> match uu____3657 with | (t1, t2) -> mkApp' (op, [t1; t2]) r + fun op -> + fun uu____3748 -> + fun r -> match uu____3748 with | (t1,t2) -> mkApp' (op, [t1; t2]) r + let (mkMinus : term -> FStar_Range.range -> term) = - fun t -> fun r -> mkApp' (Minus, [t]) r + fun t -> fun r -> mkApp' (Minus, [t]) r let (mkNatToBv : Prims.int -> term -> FStar_Range.range -> term) = - fun sz -> fun t -> fun r -> mkApp' ((NatToBv sz), [t]) r + fun sz -> fun t -> fun r -> mkApp' ((NatToBv sz), [t]) r let (mkBvUext : Prims.int -> term -> FStar_Range.range -> term) = - fun sz -> fun t -> fun r -> mkApp' ((BvUext sz), [t]) r + fun sz -> fun t -> fun r -> mkApp' ((BvUext sz), [t]) r let (mkBvToNat : term -> FStar_Range.range -> term) = - fun t -> fun r -> mkApp' (BvToNat, [t]) r -let (mkBvAnd : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvAnd -let (mkBvXor : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvXor -let (mkBvOr : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvOr -let (mkBvAdd : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvAdd -let (mkBvSub : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvSub + fun t -> fun r -> mkApp' (BvToNat, [t]) r +let (mkBvAnd : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvAnd +let (mkBvXor : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvXor +let (mkBvOr : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvOr +let (mkBvAdd : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvAdd +let (mkBvSub : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvSub let (mkBvShl : Prims.int -> (term * term) -> FStar_Range.range -> term) = - fun sz -> - fun uu____3817 -> - fun r -> - match uu____3817 with - | (t1, t2) -> - let uu____3826 = - let uu____3833 = - let uu____3836 = - let uu____3839 = mkNatToBv sz t2 r in [uu____3839] in - t1 :: uu____3836 in - (BvShl, uu____3833) in - mkApp' uu____3826 r + fun sz -> + fun uu____3908 -> + fun r -> + match uu____3908 with + | (t1,t2) -> + let uu____3917 = + let uu____3924 = + let uu____3927 = + let uu____3930 = mkNatToBv sz t2 r in [uu____3930] in + t1 :: uu____3927 in + (BvShl, uu____3924) in + mkApp' uu____3917 r + let (mkBvShr : Prims.int -> (term * term) -> FStar_Range.range -> term) = - fun sz -> - fun uu____3861 -> - fun r -> - match uu____3861 with - | (t1, t2) -> - let uu____3870 = - let uu____3877 = - let uu____3880 = - let uu____3883 = mkNatToBv sz t2 r in [uu____3883] in - t1 :: uu____3880 in - (BvShr, uu____3877) in - mkApp' uu____3870 r + fun sz -> + fun uu____3952 -> + fun r -> + match uu____3952 with + | (t1,t2) -> + let uu____3961 = + let uu____3968 = + let uu____3971 = + let uu____3974 = mkNatToBv sz t2 r in [uu____3974] in + t1 :: uu____3971 in + (BvShr, uu____3968) in + mkApp' uu____3961 r + let (mkBvUdiv : Prims.int -> (term * term) -> FStar_Range.range -> term) = - fun sz -> - fun uu____3905 -> - fun r -> - match uu____3905 with - | (t1, t2) -> - let uu____3914 = - let uu____3921 = - let uu____3924 = - let uu____3927 = mkNatToBv sz t2 r in [uu____3927] in - t1 :: uu____3924 in - (BvUdiv, uu____3921) in - mkApp' uu____3914 r + fun sz -> + fun uu____3996 -> + fun r -> + match uu____3996 with + | (t1,t2) -> + let uu____4005 = + let uu____4012 = + let uu____4015 = + let uu____4018 = mkNatToBv sz t2 r in [uu____4018] in + t1 :: uu____4015 in + (BvUdiv, uu____4012) in + mkApp' uu____4005 r + let (mkBvMod : Prims.int -> (term * term) -> FStar_Range.range -> term) = - fun sz -> - fun uu____3949 -> - fun r -> - match uu____3949 with - | (t1, t2) -> - let uu____3958 = - let uu____3965 = - let uu____3968 = - let uu____3971 = mkNatToBv sz t2 r in [uu____3971] in - t1 :: uu____3968 in - (BvMod, uu____3965) in - mkApp' uu____3958 r + fun sz -> + fun uu____4040 -> + fun r -> + match uu____4040 with + | (t1,t2) -> + let uu____4049 = + let uu____4056 = + let uu____4059 = + let uu____4062 = mkNatToBv sz t2 r in [uu____4062] in + t1 :: uu____4059 in + (BvMod, uu____4056) in + mkApp' uu____4049 r + let (mkBvMul : Prims.int -> (term * term) -> FStar_Range.range -> term) = - fun sz -> - fun uu____3993 -> - fun r -> - match uu____3993 with - | (t1, t2) -> - let uu____4002 = - let uu____4009 = - let uu____4012 = - let uu____4015 = mkNatToBv sz t2 r in [uu____4015] in - t1 :: uu____4012 in - (BvMul, uu____4009) in - mkApp' uu____4002 r -let (mkBvUlt : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvUlt -let (mkIff : (term * term) -> FStar_Range.range -> term) = mk_bin_op Iff + fun sz -> + fun uu____4084 -> + fun r -> + match uu____4084 with + | (t1,t2) -> + let uu____4093 = + let uu____4100 = + let uu____4103 = + let uu____4106 = mkNatToBv sz t2 r in [uu____4106] in + t1 :: uu____4103 in + (BvMul, uu____4100) in + mkApp' uu____4093 r + +let (mkBvUlt : (term * term) -> FStar_Range.range -> term) = mk_bin_op BvUlt +let (mkIff : (term * term) -> FStar_Range.range -> term) = mk_bin_op Iff let (mkEq : (term * term) -> FStar_Range.range -> term) = - fun uu____4057 -> - fun r -> - match uu____4057 with - | (t1, t2) -> + fun uu____4148 -> + fun r -> + match uu____4148 with + | (t1,t2) -> (match ((t1.tm), (t2.tm)) with - | (App (Var f1, s1::[]), App (Var f2, s2::[])) when + | (App (Var f1,s1::[]),App (Var f2,s2::[])) when (f1 = f2) && (isInjective f1) -> mk_bin_op Eq (s1, s2) r - | uu____4076 -> mk_bin_op Eq (t1, t2) r) -let (mkLT : (term * term) -> FStar_Range.range -> term) = mk_bin_op LT -let (mkLTE : (term * term) -> FStar_Range.range -> term) = mk_bin_op LTE -let (mkGT : (term * term) -> FStar_Range.range -> term) = mk_bin_op GT -let (mkGTE : (term * term) -> FStar_Range.range -> term) = mk_bin_op GTE -let (mkAdd : (term * term) -> FStar_Range.range -> term) = mk_bin_op Add -let (mkSub : (term * term) -> FStar_Range.range -> term) = mk_bin_op Sub -let (mkDiv : (term * term) -> FStar_Range.range -> term) = mk_bin_op Div + | uu____4167 -> mk_bin_op Eq (t1, t2) r) + +let (mkLT : (term * term) -> FStar_Range.range -> term) = mk_bin_op LT +let (mkLTE : (term * term) -> FStar_Range.range -> term) = mk_bin_op LTE +let (mkGT : (term * term) -> FStar_Range.range -> term) = mk_bin_op GT +let (mkGTE : (term * term) -> FStar_Range.range -> term) = mk_bin_op GTE +let (mkAdd : (term * term) -> FStar_Range.range -> term) = mk_bin_op Add +let (mkSub : (term * term) -> FStar_Range.range -> term) = mk_bin_op Sub +let (mkDiv : (term * term) -> FStar_Range.range -> term) = mk_bin_op Div let (mkRealDiv : (term * term) -> FStar_Range.range -> term) = - mk_bin_op RealDiv -let (mkMul : (term * term) -> FStar_Range.range -> term) = mk_bin_op Mul -let (mkMod : (term * term) -> FStar_Range.range -> term) = mk_bin_op Mod + mk_bin_op RealDiv +let (mkMul : (term * term) -> FStar_Range.range -> term) = mk_bin_op Mul +let (mkMod : (term * term) -> FStar_Range.range -> term) = mk_bin_op Mod let (mkRealOfInt : term -> FStar_Range.range -> term) = - fun t -> fun r -> mkApp ("to_real", [t]) r + fun t -> fun r -> mkApp ("to_real", [t]) r let (mkITE : (term * term * term) -> FStar_Range.range -> term) = - fun uu____4241 -> - fun r -> - match uu____4241 with - | (t1, t2, t3) -> + fun uu____4332 -> + fun r -> + match uu____4332 with + | (t1,t2,t3) -> (match t1.tm with - | App (TrueOp, uu____4252) -> t2 - | App (FalseOp, uu____4257) -> t3 - | uu____4262 -> + | App (TrueOp ,uu____4343) -> t2 + | App (FalseOp ,uu____4348) -> t3 + | uu____4353 -> (match ((t2.tm), (t3.tm)) with - | (App (TrueOp, uu____4263), App (TrueOp, uu____4264)) -> + | (App (TrueOp ,uu____4354),App (TrueOp ,uu____4355)) -> mkTrue r - | (App (TrueOp, uu____4273), uu____4274) -> - let uu____4279 = - let uu____4284 = mkNot t1 t1.rng in (uu____4284, t3) in - mkImp uu____4279 r - | (uu____4285, App (TrueOp, uu____4286)) -> mkImp (t1, t2) r - | (uu____4291, uu____4292) -> mkApp' (ITE, [t1; t2; t3]) r)) + | (App (TrueOp ,uu____4364),uu____4365) -> + let uu____4370 = + let uu____4375 = mkNot t1 t1.rng in (uu____4375, t3) + in + mkImp uu____4370 r + | (uu____4376,App (TrueOp ,uu____4377)) -> mkImp (t1, t2) r + | (uu____4382,uu____4383) -> mkApp' (ITE, [t1; t2; t3]) r)) + let (mkCases : term Prims.list -> FStar_Range.range -> term) = - fun t -> - fun r -> + fun t -> + fun r -> match t with | [] -> failwith "Impos" | hd1::tl1 -> - FStar_List.fold_left (fun out -> fun t1 -> mkAnd (out, t1) r) hd1 + FStar_List.fold_left (fun out -> fun t1 -> mkAnd (out, t1) r) hd1 tl1 + let (check_pattern_ok : term -> term FStar_Pervasives_Native.option) = - fun t -> + fun t -> let rec aux t1 = match t1.tm with - | Integer uu____4348 -> FStar_Pervasives_Native.None - | Real uu____4350 -> FStar_Pervasives_Native.None - | BoundV uu____4352 -> FStar_Pervasives_Native.None - | FreeV uu____4354 -> FStar_Pervasives_Native.None - | Let (tms, tm) -> aux_l (tm :: tms) - | App (head1, terms) -> + | Integer uu____4439 -> FStar_Pervasives_Native.None + | Real uu____4441 -> FStar_Pervasives_Native.None + | BoundV uu____4443 -> FStar_Pervasives_Native.None + | FreeV uu____4445 -> FStar_Pervasives_Native.None + | Let (tms,tm) -> aux_l (tm :: tms) + | App (head1,terms) -> let head_ok = match head1 with - | Var uu____4378 -> true - | TrueOp -> true - | FalseOp -> true - | Not -> false - | And -> false - | Or -> false - | Imp -> false - | Iff -> false - | Eq -> false - | LT -> true - | LTE -> true - | GT -> true - | GTE -> true - | Add -> true - | Sub -> true - | Div -> true - | RealDiv -> true - | Mul -> true - | Minus -> true - | Mod -> true - | BvAnd -> false - | BvXor -> false - | BvOr -> false - | BvAdd -> false - | BvSub -> false - | BvShl -> false - | BvShr -> false - | BvUdiv -> false - | BvMod -> false - | BvMul -> false - | BvUlt -> false - | BvUext uu____4411 -> false - | NatToBv uu____4414 -> false - | BvToNat -> false - | ITE -> false in + | Var uu____4469 -> true + | TrueOp -> true + | FalseOp -> true + | Not -> false + | And -> false + | Or -> false + | Imp -> false + | Iff -> false + | Eq -> false + | LT -> true + | LTE -> true + | GT -> true + | GTE -> true + | Add -> true + | Sub -> true + | Div -> true + | RealDiv -> true + | Mul -> true + | Minus -> true + | Mod -> true + | BvAnd -> false + | BvXor -> false + | BvOr -> false + | BvAdd -> false + | BvSub -> false + | BvShl -> false + | BvShr -> false + | BvUdiv -> false + | BvMod -> false + | BvMul -> false + | BvUlt -> false + | BvUext uu____4502 -> false + | NatToBv uu____4505 -> false + | BvToNat -> false + | ITE -> false in if Prims.op_Negation head_ok then FStar_Pervasives_Native.Some t1 else aux_l terms - | Labeled (t2, uu____4425, uu____4426) -> aux t2 - | Quant uu____4429 -> FStar_Pervasives_Native.Some t1 - | LblPos uu____4449 -> FStar_Pervasives_Native.Some t1 + | Labeled (t2,uu____4516,uu____4517) -> aux t2 + | Quant uu____4520 -> FStar_Pervasives_Native.Some t1 + | LblPos uu____4540 -> FStar_Pervasives_Native.Some t1 + and aux_l ts = match ts with | [] -> FStar_Pervasives_Native.None | t1::ts1 -> - let uu____4464 = aux t1 in - (match uu____4464 with + let uu____4555 = aux t1 in + (match uu____4555 with | FStar_Pervasives_Native.Some t2 -> FStar_Pervasives_Native.Some t2 - | FStar_Pervasives_Native.None -> aux_l ts1) in - aux t + | FStar_Pervasives_Native.None -> aux_l ts1) + in aux t + let rec (print_smt_term : term -> Prims.string) = - fun t -> + fun t -> match t.tm with | Integer n1 -> FStar_Util.format1 "(Integer %s)" n1 | Real r -> FStar_Util.format1 "(Real %s)" r | BoundV n1 -> - let uu____4502 = FStar_Util.string_of_int n1 in - FStar_Util.format1 "(BoundV %s)" uu____4502 + let uu____4593 = FStar_Util.string_of_int n1 in + FStar_Util.format1 "(BoundV %s)" uu____4593 | FreeV fv -> - let uu____4514 = fv_name fv in - FStar_Util.format1 "(FreeV %s)" uu____4514 - | App (op, l) -> - let uu____4523 = op_to_string op in - let uu____4525 = print_smt_term_list l in - FStar_Util.format2 "(%s %s)" uu____4523 uu____4525 - | Labeled (t1, r1, r2) -> - let uu____4533 = print_smt_term t1 in - FStar_Util.format2 "(Labeled '%s' %s)" r1 uu____4533 - | LblPos (t1, s) -> - let uu____4540 = print_smt_term t1 in - FStar_Util.format2 "(LblPos %s %s)" s uu____4540 - | Quant (qop, l, uu____4545, uu____4546, t1) -> - let uu____4566 = print_smt_term_list_list l in - let uu____4568 = print_smt_term t1 in - FStar_Util.format3 "(%s %s %s)" (qop_to_string qop) uu____4566 - uu____4568 - | Let (es, body) -> - let uu____4577 = print_smt_term_list es in - let uu____4579 = print_smt_term body in - FStar_Util.format2 "(let %s %s)" uu____4577 uu____4579 + let uu____4605 = fv_name fv in + FStar_Util.format1 "(FreeV %s)" uu____4605 + | App (op,l) -> + let uu____4614 = op_to_string op in + let uu____4616 = print_smt_term_list l in + FStar_Util.format2 "(%s %s)" uu____4614 uu____4616 + | Labeled (t1,r1,r2) -> + let uu____4624 = print_smt_term t1 in + FStar_Util.format2 "(Labeled '%s' %s)" r1 uu____4624 + | LblPos (t1,s) -> + let uu____4631 = print_smt_term t1 in + FStar_Util.format2 "(LblPos %s %s)" s uu____4631 + | Quant (qop,l,uu____4636,uu____4637,t1) -> + let uu____4657 = print_smt_term_list_list l in + let uu____4659 = print_smt_term t1 in + FStar_Util.format3 "(%s %s %s)" (qop_to_string qop) uu____4657 + uu____4659 + | Let (es,body) -> + let uu____4668 = print_smt_term_list es in + let uu____4670 = print_smt_term body in + FStar_Util.format2 "(let %s %s)" uu____4668 uu____4670 + and (print_smt_term_list : term Prims.list -> Prims.string) = - fun l -> - let uu____4586 = FStar_List.map print_smt_term l in - FStar_All.pipe_right uu____4586 (FStar_String.concat " ") + fun l -> + let uu____4677 = FStar_List.map print_smt_term l in + FStar_All.pipe_right uu____4677 (FStar_String.concat " ") + and (print_smt_term_list_list : term Prims.list Prims.list -> Prims.string) = - fun l -> + fun l -> FStar_List.fold_left - (fun s -> - fun l1 -> - let uu____4613 = - let uu____4615 = - let uu____4617 = print_smt_term_list l1 in - Prims.op_Hat uu____4617 " ] " in - Prims.op_Hat "; [ " uu____4615 in - Prims.op_Hat s uu____4613) "" l + (fun s -> + fun l1 -> + let uu____4704 = + let uu____4706 = + let uu____4708 = print_smt_term_list l1 in + Prims.op_Hat uu____4708 " ] " in + Prims.op_Hat "; [ " uu____4706 in + Prims.op_Hat s uu____4704) "" l + let (mkQuant : FStar_Range.range -> Prims.bool -> (qop * term Prims.list Prims.list * Prims.int FStar_Pervasives_Native.option * sort Prims.list * term) -> term) = - fun r -> - fun check_pats -> - fun uu____4657 -> - match uu____4657 with - | (qop, pats, wopt, vars, body) -> + fun r -> + fun check_pats -> + fun uu____4748 -> + match uu____4748 with + | (qop,pats,wopt,vars,body) -> let all_pats_ok pats1 = if Prims.op_Negation check_pats then pats1 else - (let uu____4726 = + (let uu____4817 = FStar_Util.find_map pats1 - (fun x -> FStar_Util.find_map x check_pattern_ok) in - match uu____4726 with - | FStar_Pervasives_Native.None -> pats1 + (fun x -> FStar_Util.find_map x check_pattern_ok) + in + match uu____4817 with + | FStar_Pervasives_Native.None -> pats1 | FStar_Pervasives_Native.Some p -> - ((let uu____4741 = - let uu____4747 = - let uu____4749 = print_smt_term p in + ((let uu____4832 = + let uu____4838 = + let uu____4840 = print_smt_term p in FStar_Util.format1 "Pattern (%s) contains illegal symbols; dropping it" - uu____4749 in + uu____4840 + in (FStar_Errors.Warning_SMTPatternIllFormed, - uu____4747) in - FStar_Errors.log_issue r uu____4741); - [])) in + uu____4838) + in + FStar_Errors.log_issue r uu____4832); + [])) + in if (FStar_List.length vars) = (Prims.parse_int "0") then body else (match body.tm with - | App (TrueOp, uu____4760) -> body - | uu____4765 -> - let uu____4766 = - let uu____4767 = - let uu____4787 = all_pats_ok pats in - (qop, uu____4787, wopt, vars, body) in - Quant uu____4767 in - mk uu____4766 r) + | App (TrueOp ,uu____4851) -> body + | uu____4856 -> + let uu____4857 = + let uu____4858 = + let uu____4878 = all_pats_ok pats in + (qop, uu____4878, wopt, vars, body) in + Quant uu____4858 in + mk uu____4857 r) + let (mkLet : (term Prims.list * term) -> FStar_Range.range -> term) = - fun uu____4816 -> - fun r -> - match uu____4816 with - | (es, body) -> + fun uu____4907 -> + fun r -> + match uu____4907 with + | (es,body) -> if (FStar_List.length es) = (Prims.parse_int "0") then body else mk (Let (es, body)) r + let (abstr : fv Prims.list -> term -> term) = - fun fvs -> - fun t -> - let nvars = FStar_List.length fvs in + fun fvs -> + fun t -> + let nvars = FStar_List.length fvs in let index_of1 fv = - let uu____4862 = FStar_Util.try_find_index (fv_eq fv) fvs in - match uu____4862 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + let uu____4953 = FStar_Util.try_find_index (fv_eq fv) fvs in + match uu____4953 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some i -> FStar_Pervasives_Native.Some - (nvars - (i + (Prims.parse_int "1"))) in + (nvars - (i + (Prims.parse_int "1"))) + in let rec aux ix t1 = - let uu____4889 = FStar_ST.op_Bang t1.freevars in - match uu____4889 with + let uu____4980 = FStar_ST.op_Bang t1.freevars in + match uu____4980 with | FStar_Pervasives_Native.Some [] -> t1 - | uu____4963 -> + | uu____5054 -> (match t1.tm with - | Integer uu____4976 -> t1 - | Real uu____4978 -> t1 - | BoundV uu____4980 -> t1 + | Integer uu____5067 -> t1 + | Real uu____5069 -> t1 + | BoundV uu____5071 -> t1 | FreeV x -> - let uu____4991 = index_of1 x in - (match uu____4991 with - | FStar_Pervasives_Native.None -> t1 + let uu____5082 = index_of1 x in + (match uu____5082 with + | FStar_Pervasives_Native.None -> t1 | FStar_Pervasives_Native.Some i -> mkBoundV (i + ix) t1.rng) - | App (op, tms) -> - let uu____5005 = - let uu____5012 = FStar_List.map (aux ix) tms in - (op, uu____5012) in - mkApp' uu____5005 t1.rng - | Labeled (t2, r1, r2) -> - let uu____5022 = - let uu____5023 = - let uu____5031 = aux ix t2 in (uu____5031, r1, r2) in - Labeled uu____5023 in - mk uu____5022 t2.rng - | LblPos (t2, r) -> - let uu____5037 = - let uu____5038 = - let uu____5044 = aux ix t2 in (uu____5044, r) in - LblPos uu____5038 in - mk uu____5037 t2.rng - | Quant (qop, pats, wopt, vars, body) -> - let n1 = FStar_List.length vars in - let uu____5070 = - let uu____5090 = + | App (op,tms) -> + let uu____5096 = + let uu____5103 = FStar_List.map (aux ix) tms in + (op, uu____5103) in + mkApp' uu____5096 t1.rng + | Labeled (t2,r1,r2) -> + let uu____5113 = + let uu____5114 = + let uu____5122 = aux ix t2 in (uu____5122, r1, r2) in + Labeled uu____5114 in + mk uu____5113 t2.rng + | LblPos (t2,r) -> + let uu____5128 = + let uu____5129 = + let uu____5135 = aux ix t2 in (uu____5135, r) in + LblPos uu____5129 in + mk uu____5128 t2.rng + | Quant (qop,pats,wopt,vars,body) -> + let n1 = FStar_List.length vars in + let uu____5161 = + let uu____5181 = FStar_All.pipe_right pats - (FStar_List.map (FStar_List.map (aux (ix + n1)))) in - let uu____5107 = aux (ix + n1) body in - (qop, uu____5090, wopt, vars, uu____5107) in - mkQuant t1.rng false uu____5070 - | Let (es, body) -> - let uu____5124 = + (FStar_List.map (FStar_List.map (aux (ix + n1)))) + in + let uu____5198 = aux (ix + n1) body in + (qop, uu____5181, wopt, vars, uu____5198) in + mkQuant t1.rng false uu____5161 + | Let (es,body) -> + let uu____5215 = FStar_List.fold_left - (fun uu____5144 -> - fun e -> - match uu____5144 with - | (ix1, l) -> - let uu____5168 = - let uu____5171 = aux ix1 e in uu____5171 :: l in - ((ix1 + (Prims.parse_int "1")), uu____5168)) - (ix, []) es in - (match uu____5124 with - | (ix1, es_rev) -> - let uu____5187 = - let uu____5194 = aux ix1 body in - ((FStar_List.rev es_rev), uu____5194) in - mkLet uu____5187 t1.rng)) in + (fun uu____5235 -> + fun e -> + match uu____5235 with + | (ix1,l) -> + let uu____5259 = + let uu____5262 = aux ix1 e in uu____5262 :: + l + in + ((ix1 + (Prims.parse_int "1")), uu____5259)) + (ix, []) es + in + (match uu____5215 with + | (ix1,es_rev) -> + let uu____5278 = + let uu____5285 = aux ix1 body in + ((FStar_List.rev es_rev), uu____5285) in + mkLet uu____5278 t1.rng)) + in aux (Prims.parse_int "0") t + let (inst : term Prims.list -> term -> term) = - fun tms -> - fun t -> - let tms1 = FStar_List.rev tms in - let n1 = FStar_List.length tms1 in + fun tms -> + fun t -> + let tms1 = FStar_List.rev tms in + let n1 = FStar_List.length tms1 in let rec aux shift t1 = match t1.tm with - | Integer uu____5230 -> t1 - | Real uu____5232 -> t1 - | FreeV uu____5234 -> t1 + | Integer uu____5321 -> t1 + | Real uu____5323 -> t1 + | FreeV uu____5325 -> t1 | BoundV i -> if ((Prims.parse_int "0") <= (i - shift)) && ((i - shift) < n1) then FStar_List.nth tms1 (i - shift) else t1 - | App (op, tms2) -> - let uu____5255 = - let uu____5262 = FStar_List.map (aux shift) tms2 in - (op, uu____5262) in - mkApp' uu____5255 t1.rng - | Labeled (t2, r1, r2) -> - let uu____5272 = - let uu____5273 = - let uu____5281 = aux shift t2 in (uu____5281, r1, r2) in - Labeled uu____5273 in - mk uu____5272 t2.rng - | LblPos (t2, r) -> - let uu____5287 = - let uu____5288 = - let uu____5294 = aux shift t2 in (uu____5294, r) in - LblPos uu____5288 in - mk uu____5287 t2.rng - | Quant (qop, pats, wopt, vars, body) -> - let m = FStar_List.length vars in - let shift1 = shift + m in - let uu____5322 = - let uu____5342 = + | App (op,tms2) -> + let uu____5346 = + let uu____5353 = FStar_List.map (aux shift) tms2 in + (op, uu____5353) in + mkApp' uu____5346 t1.rng + | Labeled (t2,r1,r2) -> + let uu____5363 = + let uu____5364 = + let uu____5372 = aux shift t2 in (uu____5372, r1, r2) in + Labeled uu____5364 in + mk uu____5363 t2.rng + | LblPos (t2,r) -> + let uu____5378 = + let uu____5379 = + let uu____5385 = aux shift t2 in (uu____5385, r) in + LblPos uu____5379 in + mk uu____5378 t2.rng + | Quant (qop,pats,wopt,vars,body) -> + let m = FStar_List.length vars in + let shift1 = shift + m in + let uu____5413 = + let uu____5433 = FStar_All.pipe_right pats - (FStar_List.map (FStar_List.map (aux shift1))) in - let uu____5359 = aux shift1 body in - (qop, uu____5342, wopt, vars, uu____5359) in - mkQuant t1.rng false uu____5322 - | Let (es, body) -> - let uu____5376 = + (FStar_List.map (FStar_List.map (aux shift1))) + in + let uu____5450 = aux shift1 body in + (qop, uu____5433, wopt, vars, uu____5450) in + mkQuant t1.rng false uu____5413 + | Let (es,body) -> + let uu____5467 = FStar_List.fold_left - (fun uu____5396 -> - fun e -> - match uu____5396 with - | (ix, es1) -> - let uu____5420 = - let uu____5423 = aux shift e in uu____5423 :: es1 in - ((shift + (Prims.parse_int "1")), uu____5420)) - (shift, []) es in - (match uu____5376 with - | (shift1, es_rev) -> - let uu____5439 = - let uu____5446 = aux shift1 body in - ((FStar_List.rev es_rev), uu____5446) in - mkLet uu____5439 t1.rng) in + (fun uu____5487 -> + fun e -> + match uu____5487 with + | (ix,es1) -> + let uu____5511 = + let uu____5514 = aux shift e in uu____5514 :: es1 + in + ((shift + (Prims.parse_int "1")), uu____5511)) + (shift, []) es + in + (match uu____5467 with + | (shift1,es_rev) -> + let uu____5530 = + let uu____5537 = aux shift1 body in + ((FStar_List.rev es_rev), uu____5537) in + mkLet uu____5530 t1.rng) + in aux (Prims.parse_int "0") t + let (subst : term -> fv -> term -> term) = - fun t -> - fun fv -> fun s -> let uu____5466 = abstr [fv] t in inst [s] uu____5466 + fun t -> + fun fv -> + fun s -> let uu____5557 = abstr [fv] t in inst [s] uu____5557 + let (mkQuant' : FStar_Range.range -> (qop * term Prims.list Prims.list * Prims.int FStar_Pervasives_Native.option * fv Prims.list * term) -> term) = - fun r -> - fun uu____5496 -> - match uu____5496 with - | (qop, pats, wopt, vars, body) -> - let uu____5539 = - let uu____5559 = + fun r -> + fun uu____5587 -> + match uu____5587 with + | (qop,pats,wopt,vars,body) -> + let uu____5630 = + let uu____5650 = FStar_All.pipe_right pats - (FStar_List.map (FStar_List.map (abstr vars))) in - let uu____5576 = FStar_List.map fv_sort vars in - let uu____5579 = abstr vars body in - (qop, uu____5559, wopt, uu____5576, uu____5579) in - mkQuant r true uu____5539 + (FStar_List.map (FStar_List.map (abstr vars))) + in + let uu____5667 = FStar_List.map fv_sort vars in + let uu____5670 = abstr vars body in + (qop, uu____5650, wopt, uu____5667, uu____5670) in + mkQuant r true uu____5630 + let (mkForall : FStar_Range.range -> (pat Prims.list Prims.list * fvs * term) -> term) = - fun r -> - fun uu____5610 -> - match uu____5610 with - | (pats, vars, body) -> + fun r -> + fun uu____5701 -> + match uu____5701 with + | (pats,vars,body) -> mkQuant' r (Forall, pats, FStar_Pervasives_Native.None, vars, body) + let (mkForall'' : FStar_Range.range -> (pat Prims.list Prims.list * Prims.int FStar_Pervasives_Native.option * sort Prims.list * term) -> term) = - fun r -> - fun uu____5669 -> - match uu____5669 with - | (pats, wopt, sorts, body) -> + fun r -> + fun uu____5760 -> + match uu____5760 with + | (pats,wopt,sorts,body) -> mkQuant r true (Forall, pats, wopt, sorts, body) + let (mkForall' : FStar_Range.range -> (pat Prims.list Prims.list * Prims.int FStar_Pervasives_Native.option * fvs * term) -> term) = - fun r -> - fun uu____5744 -> - match uu____5744 with - | (pats, wopt, vars, body) -> - mkQuant' r (Forall, pats, wopt, vars, body) + fun r -> + fun uu____5835 -> + match uu____5835 with + | (pats,wopt,vars,body) -> mkQuant' r (Forall, pats, wopt, vars, body) + let (mkExists : FStar_Range.range -> (pat Prims.list Prims.list * fvs * term) -> term) = - fun r -> - fun uu____5807 -> - match uu____5807 with - | (pats, vars, body) -> + fun r -> + fun uu____5898 -> + match uu____5898 with + | (pats,vars,body) -> mkQuant' r (Exists, pats, FStar_Pervasives_Native.None, vars, body) + let (mkLet' : ((fv * term) Prims.list * term) -> FStar_Range.range -> term) = - fun uu____5858 -> - fun r -> - match uu____5858 with - | (bindings, body) -> - let uu____5884 = FStar_List.split bindings in - (match uu____5884 with - | (vars, es) -> - let uu____5903 = - let uu____5910 = abstr vars body in (es, uu____5910) in - mkLet uu____5903 r) -let (norng : FStar_Range.range) = FStar_Range.dummyRange + fun uu____5949 -> + fun r -> + match uu____5949 with + | (bindings,body) -> + let uu____5975 = FStar_List.split bindings in + (match uu____5975 with + | (vars,es) -> + let uu____5994 = + let uu____6001 = abstr vars body in (es, uu____6001) in + mkLet uu____5994 r) + +let (norng : FStar_Range.range) = FStar_Range.dummyRange let (mkDefineFun : (Prims.string * fv Prims.list * sort * term * caption) -> decl) = - fun uu____5932 -> - match uu____5932 with - | (nm, vars, s, tm, c) -> - let uu____5957 = - let uu____5971 = FStar_List.map fv_sort vars in - let uu____5974 = abstr vars tm in - (nm, uu____5971, s, uu____5974, c) in - DefineFun uu____5957 + fun uu____6023 -> + match uu____6023 with + | (nm,vars,s,tm,c) -> + let uu____6048 = + let uu____6062 = FStar_List.map fv_sort vars in + let uu____6065 = abstr vars tm in + (nm, uu____6062, s, uu____6065, c) in + DefineFun uu____6048 + let (constr_id_of_sort : sort -> Prims.string) = - fun sort -> - let uu____5985 = strSort sort in - FStar_Util.format1 "%s_constr_id" uu____5985 + fun sort -> + let uu____6076 = strSort sort in + FStar_Util.format1 "%s_constr_id" uu____6076 + let (fresh_token : (Prims.string * sort) -> Prims.int -> decl) = - fun uu____6003 -> - fun id1 -> - match uu____6003 with - | (tok_name, sort) -> - let a_name = Prims.op_Hat "fresh_token_" tok_name in + fun uu____6094 -> + fun id1 -> + match uu____6094 with + | (tok_name,sort) -> + let a_name = Prims.op_Hat "fresh_token_" tok_name in let a = - let uu____6019 = - let uu____6020 = - let uu____6025 = mkInteger' id1 norng in - let uu____6026 = - let uu____6027 = - let uu____6035 = constr_id_of_sort sort in - let uu____6037 = - let uu____6040 = mkApp (tok_name, []) norng in - [uu____6040] in - (uu____6035, uu____6037) in - mkApp uu____6027 norng in - (uu____6025, uu____6026) in - mkEq uu____6020 norng in - let uu____6047 = escape a_name in + let uu____6110 = + let uu____6111 = + let uu____6116 = mkInteger' id1 norng in + let uu____6117 = + let uu____6118 = + let uu____6126 = constr_id_of_sort sort in + let uu____6128 = + let uu____6131 = mkApp (tok_name, []) norng in + [uu____6131] in + (uu____6126, uu____6128) in + mkApp uu____6118 norng in + (uu____6116, uu____6117) in + mkEq uu____6111 norng in + let uu____6138 = escape a_name in { - assumption_term = uu____6019; + assumption_term = uu____6110; assumption_caption = (FStar_Pervasives_Native.Some "fresh token"); - assumption_name = uu____6047; + assumption_name = uu____6138; assumption_fact_ids = [] - } in + } in Assume a + let (fresh_constructor : FStar_Range.range -> (Prims.string * sort Prims.list * sort * Prims.int) -> decl) = - fun rng -> - fun uu____6073 -> - match uu____6073 with - | (name, arg_sorts, sort, id1) -> - let id2 = FStar_Util.string_of_int id1 in + fun rng -> + fun uu____6164 -> + match uu____6164 with + | (name,arg_sorts,sort,id1) -> + let id2 = FStar_Util.string_of_int id1 in let bvars = FStar_All.pipe_right arg_sorts (FStar_List.mapi - (fun i -> - fun s -> - let uu____6113 = - let uu____6114 = - let uu____6120 = - let uu____6122 = FStar_Util.string_of_int i in - Prims.op_Hat "x_" uu____6122 in - (uu____6120, s) in - mk_fv uu____6114 in - mkFreeV uu____6113 norng)) in - let bvar_names = FStar_List.map fv_of_term bvars in - let capp = mkApp (name, bvars) norng in + (fun i -> + fun s -> + let uu____6204 = + let uu____6205 = + let uu____6211 = + let uu____6213 = FStar_Util.string_of_int i in + Prims.op_Hat "x_" uu____6213 in + (uu____6211, s) in + mk_fv uu____6205 in + mkFreeV uu____6204 norng)) + in + let bvar_names = FStar_List.map fv_of_term bvars in + let capp = mkApp (name, bvars) norng in let cid_app = - let uu____6150 = - let uu____6158 = constr_id_of_sort sort in (uu____6158, [capp]) in - mkApp uu____6150 norng in - let a_name = Prims.op_Hat "constructor_distinct_" name in + let uu____6241 = + let uu____6249 = constr_id_of_sort sort in + (uu____6249, [capp]) in + mkApp uu____6241 norng in + let a_name = Prims.op_Hat "constructor_distinct_" name in let a = - let uu____6167 = - let uu____6168 = - let uu____6179 = - let uu____6180 = - let uu____6185 = mkInteger id2 norng in - (uu____6185, cid_app) in - mkEq uu____6180 norng in - ([[capp]], bvar_names, uu____6179) in - mkForall rng uu____6168 in - let uu____6194 = escape a_name in + let uu____6258 = + let uu____6259 = + let uu____6270 = + let uu____6271 = + let uu____6276 = mkInteger id2 norng in + (uu____6276, cid_app) in + mkEq uu____6271 norng in + ([[capp]], bvar_names, uu____6270) in + mkForall rng uu____6259 in + let uu____6285 = escape a_name in { - assumption_term = uu____6167; + assumption_term = uu____6258; assumption_caption = (FStar_Pervasives_Native.Some "Constructor distinct"); - assumption_name = uu____6194; + assumption_name = uu____6285; assumption_fact_ids = [] - } in + } in Assume a + let (injective_constructor : FStar_Range.range -> (Prims.string * constructor_field Prims.list * sort) -> decl Prims.list) = - fun rng -> - fun uu____6219 -> - match uu____6219 with - | (name, fields, sort) -> - let n_bvars = FStar_List.length fields in + fun rng -> + fun uu____6310 -> + match uu____6310 with + | (name,fields,sort) -> + let n_bvars = FStar_List.length fields in let bvar_name i = - let uu____6252 = FStar_Util.string_of_int i in - Prims.op_Hat "x_" uu____6252 in - let bvar_index i = n_bvars - (i + (Prims.parse_int "1")) in + let uu____6343 = FStar_Util.string_of_int i in + Prims.op_Hat "x_" uu____6343 in + let bvar_index i = n_bvars - (i + (Prims.parse_int "1")) in let bvar i s = - let uu____6281 = - let uu____6282 = - let uu____6288 = bvar_name i in (uu____6288, s) in - mk_fv uu____6282 in - FStar_All.pipe_left mkFreeV uu____6281 in + let uu____6372 = + let uu____6373 = + let uu____6379 = bvar_name i in (uu____6379, s) in + mk_fv uu____6373 in + FStar_All.pipe_left mkFreeV uu____6372 in let bvars = FStar_All.pipe_right fields (FStar_List.mapi - (fun i -> - fun uu____6324 -> - match uu____6324 with - | (uu____6334, s, uu____6336) -> - let uu____6341 = bvar i s in uu____6341 norng)) in - let bvar_names = FStar_List.map fv_of_term bvars in - let capp = mkApp (name, bvars) norng in - let uu____6369 = + (fun i -> + fun uu____6415 -> + match uu____6415 with + | (uu____6425,s,uu____6427) -> + let uu____6432 = bvar i s in uu____6432 norng)) + in + let bvar_names = FStar_List.map fv_of_term bvars in + let capp = mkApp (name, bvars) norng in + let uu____6460 = FStar_All.pipe_right fields (FStar_List.mapi - (fun i -> - fun uu____6407 -> - match uu____6407 with - | (name1, s, projectible) -> - let cproj_app = mkApp (name1, [capp]) norng in + (fun i -> + fun uu____6498 -> + match uu____6498 with + | (name1,s,projectible) -> + let cproj_app = mkApp (name1, [capp]) norng in let proj_name = DeclFun (name1, [sort], s, - (FStar_Pervasives_Native.Some "Projector")) in + (FStar_Pervasives_Native.Some "Projector")) + in if projectible then let a = - let uu____6440 = - let uu____6441 = - let uu____6452 = - let uu____6453 = - let uu____6458 = - let uu____6459 = bvar i s in - uu____6459 norng in - (cproj_app, uu____6458) in - mkEq uu____6453 norng in - ([[capp]], bvar_names, uu____6452) in - mkForall rng uu____6441 in - let uu____6472 = + let uu____6531 = + let uu____6532 = + let uu____6543 = + let uu____6544 = + let uu____6549 = + let uu____6550 = bvar i s in + uu____6550 norng in + (cproj_app, uu____6549) in + mkEq uu____6544 norng in + ([[capp]], bvar_names, uu____6543) in + mkForall rng uu____6532 in + let uu____6563 = escape - (Prims.op_Hat "projection_inverse_" name1) in + (Prims.op_Hat "projection_inverse_" name1) + in { - assumption_term = uu____6440; + assumption_term = uu____6531; assumption_caption = (FStar_Pervasives_Native.Some "Projection inverse"); - assumption_name = uu____6472; + assumption_name = uu____6563; assumption_fact_ids = [] - } in + } in [proj_name; Assume a] - else [proj_name])) in - FStar_All.pipe_right uu____6369 FStar_List.flatten + else [proj_name])) + in + FStar_All.pipe_right uu____6460 FStar_List.flatten + let (constructor_to_decl : FStar_Range.range -> constructor_t -> decl Prims.list) = - fun rng -> - fun uu____6497 -> - match uu____6497 with - | (name, fields, sort, id1, injective) -> - let injective1 = injective || true in + fun rng -> + fun uu____6588 -> + match uu____6588 with + | (name,fields,sort,id1,injective) -> + let injective1 = injective || true in let field_sorts = FStar_All.pipe_right fields (FStar_List.map - (fun uu____6545 -> - match uu____6545 with - | (uu____6554, sort1, uu____6556) -> sort1)) in + (fun uu____6636 -> + match uu____6636 with + | (uu____6645,sort1,uu____6647) -> sort1)) + in let cdecl = DeclFun (name, field_sorts, sort, - (FStar_Pervasives_Native.Some "Constructor")) in - let cid = fresh_constructor rng (name, field_sorts, sort, id1) in + (FStar_Pervasives_Native.Some "Constructor")) + in + let cid = fresh_constructor rng (name, field_sorts, sort, id1) in let disc = - let disc_name = Prims.op_Hat "is-" name in - let xfv = mk_fv ("x", sort) in - let xx = mkFreeV xfv norng in + let disc_name = Prims.op_Hat "is-" name in + let xfv = mk_fv ("x", sort) in + let xx = mkFreeV xfv norng in let disc_eq = - let uu____6581 = - let uu____6586 = - let uu____6587 = - let uu____6595 = constr_id_of_sort sort in - (uu____6595, [xx]) in - mkApp uu____6587 norng in - let uu____6600 = - let uu____6601 = FStar_Util.string_of_int id1 in - mkInteger uu____6601 norng in - (uu____6586, uu____6600) in - mkEq uu____6581 norng in - let uu____6603 = - let uu____6622 = + let uu____6672 = + let uu____6677 = + let uu____6678 = + let uu____6686 = constr_id_of_sort sort in + (uu____6686, [xx]) in + mkApp uu____6678 norng in + let uu____6691 = + let uu____6692 = FStar_Util.string_of_int id1 in + mkInteger uu____6692 norng in + (uu____6677, uu____6691) in + mkEq uu____6672 norng in + let uu____6694 = + let uu____6713 = FStar_All.pipe_right fields (FStar_List.mapi - (fun i -> - fun uu____6686 -> - match uu____6686 with - | (proj, s, projectible) -> + (fun i -> + fun uu____6777 -> + match uu____6777 with + | (proj,s,projectible) -> if projectible then - let uu____6716 = mkApp (proj, [xx]) norng in - (uu____6716, []) + let uu____6807 = mkApp (proj, [xx]) norng in + (uu____6807, []) else (let fi = - let uu____6725 = - let uu____6731 = - let uu____6733 = - FStar_Util.string_of_int i in - Prims.op_Hat "f_" uu____6733 in - (uu____6731, s) in - mk_fv uu____6725 in - let uu____6737 = mkFreeV fi norng in - (uu____6737, [fi])))) in - FStar_All.pipe_right uu____6622 FStar_List.split in - match uu____6603 with - | (proj_terms, ex_vars) -> - let ex_vars1 = FStar_List.flatten ex_vars in + let uu____6816 = + let uu____6822 = + let uu____6824 = + FStar_Util.string_of_int i in + Prims.op_Hat "f_" uu____6824 in + (uu____6822, s) in + mk_fv uu____6816 in + let uu____6828 = mkFreeV fi norng in + (uu____6828, [fi])))) + in + FStar_All.pipe_right uu____6713 FStar_List.split in + match uu____6694 with + | (proj_terms,ex_vars) -> + let ex_vars1 = FStar_List.flatten ex_vars in let disc_inv_body = - let uu____6834 = - let uu____6839 = mkApp (name, proj_terms) norng in - (xx, uu____6839) in - mkEq uu____6834 norng in + let uu____6925 = + let uu____6930 = mkApp (name, proj_terms) norng in + (xx, uu____6930) in + mkEq uu____6925 norng in let disc_inv_body1 = match ex_vars1 with | [] -> disc_inv_body - | uu____6852 -> - mkExists norng ([], ex_vars1, disc_inv_body) in - let disc_ax = mkAnd (disc_eq, disc_inv_body1) norng in + | uu____6943 -> + mkExists norng ([], ex_vars1, disc_inv_body) + in + let disc_ax = mkAnd (disc_eq, disc_inv_body1) norng in let def = mkDefineFun (disc_name, [xfv], Bool_sort, disc_ax, (FStar_Pervasives_Native.Some - "Discriminator definition")) in - def in + "Discriminator definition")) + in + def + in let projs = if injective1 then injective_constructor rng (name, fields, sort) - else [] in - let uu____6887 = - let uu____6890 = - let uu____6891 = - FStar_Util.format1 "" name in - Caption uu____6891 in - uu____6890 :: cdecl :: cid :: projs in - let uu____6894 = - let uu____6897 = - let uu____6900 = - let uu____6901 = - FStar_Util.format1 "" name in - Caption uu____6901 in - [uu____6900] in - FStar_List.append [disc] uu____6897 in - FStar_List.append uu____6887 uu____6894 + else [] in + let uu____6978 = + let uu____6981 = + let uu____6982 = + FStar_Util.format1 "" name in + Caption uu____6982 in + uu____6981 :: cdecl :: cid :: projs in + let uu____6985 = + let uu____6988 = + let uu____6991 = + let uu____6992 = + FStar_Util.format1 "" name in + Caption uu____6992 in + [uu____6991] in + FStar_List.append [disc] uu____6988 in + FStar_List.append uu____6978 uu____6985 + let (name_binders_inner : Prims.string FStar_Pervasives_Native.option -> fv Prims.list -> @@ -1531,308 +1720,339 @@ let (name_binders_inner : sort Prims.list -> (fv Prims.list * Prims.string Prims.list * Prims.int)) = - fun prefix_opt -> - fun outer_names -> - fun start -> - fun sorts -> - let uu____6953 = + fun prefix_opt -> + fun outer_names -> + fun start -> + fun sorts -> + let uu____7044 = FStar_All.pipe_right sorts (FStar_List.fold_left - (fun uu____7002 -> - fun s -> - match uu____7002 with - | (names1, binders, n1) -> + (fun uu____7093 -> + fun s -> + match uu____7093 with + | (names1,binders,n1) -> let prefix1 = match s with - | Term_sort -> "@x" - | uu____7047 -> "@u" in + | Term_sort -> "@x" + | uu____7138 -> "@u" in let prefix2 = match prefix_opt with - | FStar_Pervasives_Native.None -> prefix1 + | FStar_Pervasives_Native.None -> prefix1 | FStar_Pervasives_Native.Some p -> - Prims.op_Hat p prefix1 in + Prims.op_Hat p prefix1 + in let nm = - let uu____7058 = FStar_Util.string_of_int n1 in - Prims.op_Hat prefix2 uu____7058 in + let uu____7149 = FStar_Util.string_of_int n1 in + Prims.op_Hat prefix2 uu____7149 in let names2 = - let uu____7063 = mk_fv (nm, s) in uu____7063 :: - names1 in + let uu____7154 = mk_fv (nm, s) in uu____7154 :: + names1 + in let b = - let uu____7067 = strSort s in - FStar_Util.format2 "(%s %s)" nm uu____7067 in + let uu____7158 = strSort s in + FStar_Util.format2 "(%s %s)" nm uu____7158 in (names2, (b :: binders), (n1 + (Prims.parse_int "1")))) - (outer_names, [], start)) in - match uu____6953 with - | (names1, binders, n1) -> (names1, (FStar_List.rev binders), n1) + (outer_names, [], start)) + in + match uu____7044 with + | (names1,binders,n1) -> (names1, (FStar_List.rev binders), n1) + let (name_macro_binders : sort Prims.list -> (fv Prims.list * Prims.string Prims.list)) = - fun sorts -> - let uu____7138 = + fun sorts -> + let uu____7229 = name_binders_inner (FStar_Pervasives_Native.Some "__") [] - (Prims.parse_int "0") sorts in - match uu____7138 with - | (names1, binders, n1) -> ((FStar_List.rev names1), binders) + (Prims.parse_int "0") sorts + in + match uu____7229 with + | (names1,binders,n1) -> ((FStar_List.rev names1), binders) + let (termToSmt : Prims.bool -> Prims.string -> term -> Prims.string) = - fun print_ranges -> - fun enclosing_name -> - fun t -> + fun print_ranges -> + fun enclosing_name -> + fun t -> let next_qid = - let ctr = FStar_Util.mk_ref (Prims.parse_int "0") in - fun depth -> - let n1 = FStar_ST.op_Bang ctr in + let ctr = FStar_Util.mk_ref (Prims.parse_int "0") in + fun depth -> + let n1 = FStar_ST.op_Bang ctr in FStar_Util.incr ctr; if n1 = (Prims.parse_int "0") then enclosing_name else - (let uu____7247 = FStar_Util.string_of_int n1 in - FStar_Util.format2 "%s.%s" enclosing_name uu____7247) in + (let uu____7338 = FStar_Util.string_of_int n1 in + FStar_Util.format2 "%s.%s" enclosing_name uu____7338) + in let remove_guard_free pats = FStar_All.pipe_right pats (FStar_List.map - (fun ps -> + (fun ps -> FStar_All.pipe_right ps (FStar_List.map - (fun tm -> + (fun tm -> match tm.tm with | App - (Var "Prims.guard_free", - { tm = BoundV uu____7293; - freevars = uu____7294; rng = uu____7295;_}::[]) + (Var + "Prims.guard_free",{ tm = BoundV uu____7384; + freevars = uu____7385; + rng = uu____7386;_}::[]) -> tm - | App (Var "Prims.guard_free", p::[]) -> p - | uu____7316 -> tm)))) in + | App (Var "Prims.guard_free",p::[]) -> p + | uu____7407 -> tm)))) + in let rec aux' depth n1 names1 t1 = - let aux1 = aux (depth + (Prims.parse_int "1")) in + let aux1 = aux (depth + (Prims.parse_int "1")) in match t1.tm with | Integer i -> i | Real r -> r | BoundV i -> - let uu____7394 = FStar_List.nth names1 i in - FStar_All.pipe_right uu____7394 fv_name + let uu____7485 = FStar_List.nth names1 i in + FStar_All.pipe_right uu____7485 fv_name | FreeV x when fv_force x -> - let uu____7405 = - let uu____7407 = fv_name x in - Prims.op_Hat uu____7407 " Dummy_value)" in - Prims.op_Hat "(" uu____7405 + let uu____7496 = + let uu____7498 = fv_name x in + Prims.op_Hat uu____7498 " Dummy_value)" in + Prims.op_Hat "(" uu____7496 | FreeV x -> fv_name x - | App (op, []) -> op_to_string op - | App (op, tms) -> - let uu____7429 = op_to_string op in - let uu____7431 = - let uu____7433 = FStar_List.map (aux1 n1 names1) tms in - FStar_All.pipe_right uu____7433 (FStar_String.concat "\n") in - FStar_Util.format2 "(%s %s)" uu____7429 uu____7431 - | Labeled (t2, uu____7445, uu____7446) -> aux1 n1 names1 t2 - | LblPos (t2, s) -> - let uu____7453 = aux1 n1 names1 t2 in - FStar_Util.format2 "(! %s :lblpos %s)" uu____7453 s - | Quant (qop, pats, wopt, sorts, body) -> - let qid = next_qid () in - let uu____7481 = + | App (op,[]) -> op_to_string op + | App (op,tms) -> + let uu____7520 = op_to_string op in + let uu____7522 = + let uu____7524 = FStar_List.map (aux1 n1 names1) tms in + FStar_All.pipe_right uu____7524 (FStar_String.concat "\n") + in + FStar_Util.format2 "(%s %s)" uu____7520 uu____7522 + | Labeled (t2,uu____7536,uu____7537) -> aux1 n1 names1 t2 + | LblPos (t2,s) -> + let uu____7544 = aux1 n1 names1 t2 in + FStar_Util.format2 "(! %s :lblpos %s)" uu____7544 s + | Quant (qop,pats,wopt,sorts,body) -> + let qid = next_qid () in + let uu____7572 = name_binders_inner FStar_Pervasives_Native.None names1 n1 - sorts in - (match uu____7481 with - | (names2, binders, n2) -> + sorts + in + (match uu____7572 with + | (names2,binders,n2) -> let binders1 = - FStar_All.pipe_right binders (FStar_String.concat " ") in - let pats1 = remove_guard_free pats in + FStar_All.pipe_right binders (FStar_String.concat " ") + in + let pats1 = remove_guard_free pats in let pats_str = match pats1 with | []::[] -> ";;no pats" | [] -> ";;no pats" - | uu____7534 -> - let uu____7539 = + | uu____7625 -> + let uu____7630 = FStar_All.pipe_right pats1 (FStar_List.map - (fun pats2 -> - let uu____7558 = - let uu____7560 = + (fun pats2 -> + let uu____7649 = + let uu____7651 = FStar_List.map - (fun p -> - let uu____7568 = aux1 n2 names2 p in + (fun p -> + let uu____7659 = aux1 n2 names2 p + in FStar_Util.format1 "%s" - uu____7568) pats2 in - FStar_String.concat " " uu____7560 in + uu____7659) pats2 + in + FStar_String.concat " " uu____7651 in FStar_Util.format1 "\n:pattern (%s)" - uu____7558)) in - FStar_All.pipe_right uu____7539 - (FStar_String.concat "\n") in - let uu____7578 = - let uu____7582 = - let uu____7586 = - let uu____7590 = aux1 n2 names2 body in - let uu____7592 = - let uu____7596 = weightToSmt wopt in - [uu____7596; pats_str; qid] in - uu____7590 :: uu____7592 in - binders1 :: uu____7586 in - (qop_to_string qop) :: uu____7582 in + uu____7649)) + in + FStar_All.pipe_right uu____7630 + (FStar_String.concat "\n") + in + let uu____7669 = + let uu____7673 = + let uu____7677 = + let uu____7681 = aux1 n2 names2 body in + let uu____7683 = + let uu____7687 = weightToSmt wopt in + [uu____7687; pats_str; qid] in + uu____7681 :: uu____7683 in + binders1 :: uu____7677 in + (qop_to_string qop) :: uu____7673 in FStar_Util.format "(%s (%s)\n (! %s\n %s\n%s\n:qid %s))" - uu____7578) - | Let (es, body) -> - let uu____7612 = + uu____7669) + | Let (es,body) -> + let uu____7703 = FStar_List.fold_left - (fun uu____7645 -> - fun e -> - match uu____7645 with - | (names0, binders, n0) -> + (fun uu____7736 -> + fun e -> + match uu____7736 with + | (names0,binders,n0) -> let nm = - let uu____7688 = FStar_Util.string_of_int n0 in - Prims.op_Hat "@lb" uu____7688 in + let uu____7779 = FStar_Util.string_of_int n0 in + Prims.op_Hat "@lb" uu____7779 in let names01 = - let uu____7694 = mk_fv (nm, Term_sort) in - uu____7694 :: names0 in + let uu____7785 = mk_fv (nm, Term_sort) in + uu____7785 :: names0 in let b = - let uu____7698 = aux1 n1 names1 e in - FStar_Util.format2 "(%s %s)" nm uu____7698 in + let uu____7789 = aux1 n1 names1 e in + FStar_Util.format2 "(%s %s)" nm uu____7789 in (names01, (b :: binders), (n0 + (Prims.parse_int "1")))) (names1, [], n1) - es in - (match uu____7612 with - | (names2, binders, n2) -> - let uu____7732 = aux1 n2 names2 body in + es + in + (match uu____7703 with + | (names2,binders,n2) -> + let uu____7823 = aux1 n2 names2 body in FStar_Util.format2 "(let (%s)\n%s)" - (FStar_String.concat " " binders) uu____7732) + (FStar_String.concat " " binders) uu____7823) + and aux depth n1 names1 t1 = - let s = aux' depth n1 names1 t1 in + let s = aux' depth n1 names1 t1 in if print_ranges && (t1.rng <> norng) then - let uu____7748 = FStar_Range.string_of_range t1.rng in - let uu____7750 = FStar_Range.string_of_use_range t1.rng in - FStar_Util.format3 "\n;; def=%s; use=%s\n%s\n" uu____7748 - uu____7750 s - else s in - aux (Prims.parse_int "0") (Prims.parse_int "0") [] t + let uu____7839 = FStar_Range.string_of_range t1.rng in + let uu____7841 = FStar_Range.string_of_use_range t1.rng in + FStar_Util.format3 "\n;; def=%s; use=%s\n%s\n" uu____7839 + uu____7841 s + else s + in aux (Prims.parse_int "0") (Prims.parse_int "0") [] t + let (caption_to_string : Prims.bool -> Prims.string FStar_Pervasives_Native.option -> Prims.string) = - fun print_captions -> - fun uu___6_7772 -> - match uu___6_7772 with + fun print_captions -> + fun uu___6_7863 -> + match uu___6_7863 with | FStar_Pervasives_Native.Some c when print_captions -> let c1 = - let uu____7783 = + let uu____7874 = FStar_All.pipe_right (FStar_String.split [10] c) - (FStar_List.map FStar_Util.trim_string) in - FStar_All.pipe_right uu____7783 (FStar_String.concat " ") in + (FStar_List.map FStar_Util.trim_string) + in + FStar_All.pipe_right uu____7874 (FStar_String.concat " ") in Prims.op_Hat ";;;;;;;;;;;;;;;;" (Prims.op_Hat c1 "\n") - | uu____7805 -> "" + | uu____7896 -> "" + let rec (declToSmt' : Prims.bool -> Prims.string -> decl -> Prims.string) = - fun print_captions -> - fun z3options -> - fun decl -> + fun print_captions -> + fun z3options -> + fun decl -> match decl with - | DefPrelude -> mkPrelude z3options - | Module (s, decls) -> + | DefPrelude -> mkPrelude z3options + | Module (s,decls) -> let res = - let uu____7880 = - FStar_List.map (declToSmt' print_captions z3options) decls in - FStar_All.pipe_right uu____7880 (FStar_String.concat "\n") in - let uu____7890 = FStar_Options.keep_query_captions () in - if uu____7890 + let uu____7971 = + FStar_List.map (declToSmt' print_captions z3options) decls + in + FStar_All.pipe_right uu____7971 (FStar_String.concat "\n") in + let uu____7981 = FStar_Options.keep_query_captions () in + if uu____7981 then - let uu____7894 = - FStar_Util.string_of_int (FStar_List.length decls) in - let uu____7896 = - FStar_Util.string_of_int (FStar_String.length res) in + let uu____7985 = + FStar_Util.string_of_int (FStar_List.length decls) in + let uu____7987 = + FStar_Util.string_of_int (FStar_String.length res) in FStar_Util.format5 "\n;;; Start module %s\n%s\n;;; End module %s (%s decls; total size %s)" - s res s uu____7894 uu____7896 + s res s uu____7985 uu____7987 else res | Caption c -> if print_captions then - let uu____7905 = - let uu____7907 = + let uu____7996 = + let uu____7998 = FStar_All.pipe_right (FStar_Util.splitlines c) (FStar_List.map - (fun s -> Prims.op_Hat "; " (Prims.op_Hat s "\n"))) in - FStar_All.pipe_right uu____7907 (FStar_String.concat "") in - Prims.op_Hat "\n" uu____7905 + (fun s -> Prims.op_Hat "; " (Prims.op_Hat s "\n"))) + in + FStar_All.pipe_right uu____7998 (FStar_String.concat "") in + Prims.op_Hat "\n" uu____7996 else "" - | DeclFun (f, argsorts, retsort, c) -> - let l = FStar_List.map strSort argsorts in - let uu____7948 = caption_to_string print_captions c in - let uu____7950 = strSort retsort in - FStar_Util.format4 "%s(declare-fun %s (%s) %s)" uu____7948 f - (FStar_String.concat " " l) uu____7950 - | DefineFun (f, arg_sorts, retsort, body, c) -> - let uu____7965 = name_macro_binders arg_sorts in - (match uu____7965 with - | (names1, binders) -> + | DeclFun (f,argsorts,retsort,c) -> + let l = FStar_List.map strSort argsorts in + let uu____8039 = caption_to_string print_captions c in + let uu____8041 = strSort retsort in + FStar_Util.format4 "%s(declare-fun %s (%s) %s)" uu____8039 f + (FStar_String.concat " " l) uu____8041 + | DefineFun (f,arg_sorts,retsort,body,c) -> + let uu____8056 = name_macro_binders arg_sorts in + (match uu____8056 with + | (names1,binders) -> let body1 = - let uu____7989 = - FStar_List.map (fun x -> mkFreeV x norng) names1 in - inst uu____7989 body in - let uu____7994 = caption_to_string print_captions c in - let uu____7996 = strSort retsort in - let uu____7998 = - let uu____8000 = escape f in - termToSmt print_captions uu____8000 body1 in + let uu____8080 = + FStar_List.map (fun x -> mkFreeV x norng) names1 in + inst uu____8080 body in + let uu____8085 = caption_to_string print_captions c in + let uu____8087 = strSort retsort in + let uu____8089 = + let uu____8091 = escape f in + termToSmt print_captions uu____8091 body1 in FStar_Util.format5 "%s(define-fun %s (%s) %s\n %s)" - uu____7994 f (FStar_String.concat " " binders) uu____7996 - uu____7998) + uu____8085 f (FStar_String.concat " " binders) uu____8087 + uu____8089) | Assume a -> let fact_ids_to_string ids = FStar_All.pipe_right ids (FStar_List.map - (fun uu___7_8027 -> - match uu___7_8027 with + (fun uu___7_8118 -> + match uu___7_8118 with | Name n1 -> - let uu____8030 = FStar_Ident.text_of_lid n1 in - Prims.op_Hat "Name " uu____8030 + let uu____8121 = FStar_Ident.text_of_lid n1 in + Prims.op_Hat "Name " uu____8121 | Namespace ns -> - let uu____8034 = FStar_Ident.text_of_lid ns in - Prims.op_Hat "Namespace " uu____8034 - | Tag t -> Prims.op_Hat "Tag " t)) in + let uu____8125 = FStar_Ident.text_of_lid ns in + Prims.op_Hat "Namespace " uu____8125 + | Tag t -> Prims.op_Hat "Tag " t)) + in let fids = if print_captions then - let uu____8044 = - let uu____8046 = fact_ids_to_string a.assumption_fact_ids in - FStar_String.concat "; " uu____8046 in - FStar_Util.format1 ";;; Fact-ids: %s\n" uu____8044 - else "" in - let n1 = a.assumption_name in - let uu____8057 = - caption_to_string print_captions a.assumption_caption in - let uu____8059 = termToSmt print_captions n1 a.assumption_term in - FStar_Util.format4 "%s%s(assert (! %s\n:named %s))" uu____8057 - fids uu____8059 n1 + let uu____8135 = + let uu____8137 = fact_ids_to_string a.assumption_fact_ids + in + FStar_String.concat "; " uu____8137 in + FStar_Util.format1 ";;; Fact-ids: %s\n" uu____8135 + else "" in + let n1 = a.assumption_name in + let uu____8148 = + caption_to_string print_captions a.assumption_caption in + let uu____8150 = termToSmt print_captions n1 a.assumption_term + in + FStar_Util.format4 "%s%s(assert (! %s\n:named %s))" uu____8148 + fids uu____8150 n1 | Eval t -> - let uu____8063 = termToSmt print_captions "eval" t in - FStar_Util.format1 "(eval %s)" uu____8063 + let uu____8154 = termToSmt print_captions "eval" t in + FStar_Util.format1 "(eval %s)" uu____8154 | Echo s -> FStar_Util.format1 "(echo \"%s\")" s - | RetainAssumptions uu____8070 -> "" - | CheckSat -> + | RetainAssumptions uu____8161 -> "" + | CheckSat -> "(echo \"\")\n(check-sat)\n(echo \"\")" - | GetUnsatCore -> + | GetUnsatCore -> "(echo \"\")\n(get-unsat-core)\n(echo \"\")" - | Push -> "(push)" - | Pop -> "(pop)" - | SetOption (s, v1) -> FStar_Util.format2 "(set-option :%s %s)" s v1 - | GetStatistics -> + | Push -> "(push)" + | Pop -> "(pop)" + | SetOption (s,v1) -> FStar_Util.format2 "(set-option :%s %s)" s v1 + | GetStatistics -> "(echo \"\")\n(get-info :all-statistics)\n(echo \"\")" - | GetReasonUnknown -> + | GetReasonUnknown -> "(echo \"\")\n(get-info :reason-unknown)\n(echo \"\")" + and (declToSmt : Prims.string -> decl -> Prims.string) = - fun z3options -> - fun decl -> - let uu____8091 = FStar_Options.keep_query_captions () in - declToSmt' uu____8091 z3options decl + fun z3options -> + fun decl -> + let uu____8182 = FStar_Options.keep_query_captions () in + declToSmt' uu____8182 z3options decl + and (declToSmt_no_caps : Prims.string -> decl -> Prims.string) = - fun z3options -> fun decl -> declToSmt' false z3options decl + fun z3options -> fun decl -> declToSmt' false z3options decl + and (declsToSmt : Prims.string -> decl Prims.list -> Prims.string) = - fun z3options -> - fun decls -> - let uu____8102 = FStar_List.map (declToSmt z3options) decls in - FStar_All.pipe_right uu____8102 (FStar_String.concat "\n") + fun z3options -> + fun decls -> + let uu____8193 = FStar_List.map (declToSmt z3options) decls in + FStar_All.pipe_right uu____8193 (FStar_String.concat "\n") + and (mkPrelude : Prims.string -> Prims.string) = - fun z3options -> + fun z3options -> let basic = Prims.op_Hat z3options - "(declare-sort FString)\n(declare-fun FString_constr_id (FString) Int)\n\n(declare-sort Term)\n(declare-fun Term_constr_id (Term) Int)\n(declare-sort Dummy_sort)\n(declare-fun Dummy_value () Dummy_sort)\n(declare-datatypes () ((Fuel \n(ZFuel) \n(SFuel (prec Fuel)))))\n(declare-fun MaxIFuel () Fuel)\n(declare-fun MaxFuel () Fuel)\n(declare-fun PreType (Term) Term)\n(declare-fun Valid (Term) Bool)\n(declare-fun HasTypeFuel (Fuel Term Term) Bool)\n(define-fun HasTypeZ ((x Term) (t Term)) Bool\n(HasTypeFuel ZFuel x t))\n(define-fun HasType ((x Term) (t Term)) Bool\n(HasTypeFuel MaxIFuel x t))\n;;fuel irrelevance\n(assert (forall ((f Fuel) (x Term) (t Term))\n(! (= (HasTypeFuel (SFuel f) x t)\n(HasTypeZ x t))\n:pattern ((HasTypeFuel (SFuel f) x t)))))\n(declare-fun NoHoist (Term Bool) Bool)\n;;no-hoist\n(assert (forall ((dummy Term) (b Bool))\n(! (= (NoHoist dummy b)\nb)\n:pattern ((NoHoist dummy b)))))\n(define-fun IsTyped ((x Term)) Bool\n(exists ((t Term)) (HasTypeZ x t)))\n(declare-fun ApplyTF (Term Fuel) Term)\n(declare-fun ApplyTT (Term Term) Term)\n(declare-fun Rank (Term) Int)\n(declare-fun Closure (Term) Term)\n(declare-fun ConsTerm (Term Term) Term)\n(declare-fun ConsFuel (Fuel Term) Term)\n(declare-fun Tm_uvar (Int) Term)\n(define-fun Reify ((x Term)) Term x)\n(declare-fun Prims.precedes (Term Term Term Term) Term)\n(declare-fun Range_const (Int) Term)\n(declare-fun _mul (Int Int) Int)\n(declare-fun _div (Int Int) Int)\n(declare-fun _mod (Int Int) Int)\n(declare-fun __uu__PartialApp () Term)\n(assert (forall ((x Int) (y Int)) (! (= (_mul x y) (* x y)) :pattern ((_mul x y)))))\n(assert (forall ((x Int) (y Int)) (! (= (_div x y) (div x y)) :pattern ((_div x y)))))\n(assert (forall ((x Int) (y Int)) (! (= (_mod x y) (mod x y)) :pattern ((_mod x y)))))\n(declare-fun _rmul (Real Real) Real)\n(declare-fun _rdiv (Real Real) Real)\n(assert (forall ((x Real) (y Real)) (! (= (_rmul x y) (* x y)) :pattern ((_rmul x y)))))\n(assert (forall ((x Real) (y Real)) (! (= (_rdiv x y) (/ x y)) :pattern ((_rdiv x y)))))" in + "(declare-sort FString)\n(declare-fun FString_constr_id (FString) Int)\n\n(declare-sort Term)\n(declare-fun Term_constr_id (Term) Int)\n(declare-sort Dummy_sort)\n(declare-fun Dummy_value () Dummy_sort)\n(declare-datatypes () ((Fuel \n(ZFuel) \n(SFuel (prec Fuel)))))\n(declare-fun MaxIFuel () Fuel)\n(declare-fun MaxFuel () Fuel)\n(declare-fun PreType (Term) Term)\n(declare-fun Valid (Term) Bool)\n(declare-fun HasTypeFuel (Fuel Term Term) Bool)\n(define-fun HasTypeZ ((x Term) (t Term)) Bool\n(HasTypeFuel ZFuel x t))\n(define-fun HasType ((x Term) (t Term)) Bool\n(HasTypeFuel MaxIFuel x t))\n(declare-fun IsTotFun (Term) Bool)\n\n ;;fuel irrelevance\n(assert (forall ((f Fuel) (x Term) (t Term))\n(! (= (HasTypeFuel (SFuel f) x t)\n(HasTypeZ x t))\n:pattern ((HasTypeFuel (SFuel f) x t)))))\n(declare-fun NoHoist (Term Bool) Bool)\n;;no-hoist\n(assert (forall ((dummy Term) (b Bool))\n(! (= (NoHoist dummy b)\nb)\n:pattern ((NoHoist dummy b)))))\n(define-fun IsTyped ((x Term)) Bool\n(exists ((t Term)) (HasTypeZ x t)))\n(declare-fun ApplyTF (Term Fuel) Term)\n(declare-fun ApplyTT (Term Term) Term)\n(declare-fun Rank (Term) Int)\n(declare-fun Closure (Term) Term)\n(declare-fun ConsTerm (Term Term) Term)\n(declare-fun ConsFuel (Fuel Term) Term)\n(declare-fun Tm_uvar (Int) Term)\n(define-fun Reify ((x Term)) Term x)\n(declare-fun Prims.precedes (Term Term Term Term) Term)\n(declare-fun Range_const (Int) Term)\n(declare-fun _mul (Int Int) Int)\n(declare-fun _div (Int Int) Int)\n(declare-fun _mod (Int Int) Int)\n(declare-fun __uu__PartialApp () Term)\n(assert (forall ((x Int) (y Int)) (! (= (_mul x y) (* x y)) :pattern ((_mul x y)))))\n(assert (forall ((x Int) (y Int)) (! (= (_div x y) (div x y)) :pattern ((_div x y)))))\n(assert (forall ((x Int) (y Int)) (! (= (_mod x y) (mod x y)) :pattern ((_mod x y)))))\n(declare-fun _rmul (Real Real) Real)\n(declare-fun _rdiv (Real Real) Real)\n(assert (forall ((x Real) (y Real)) (! (= (_rmul x y) (* x y)) :pattern ((_rmul x y)))))\n(assert (forall ((x Real) (y Real)) (! (= (_rdiv x y) (/ x y)) :pattern ((_rdiv x y)))))" + in let constrs = [("FString_const", [("FString_const_proj_0", Int_sort, true)], String_sort, (Prims.parse_int "0"), true); @@ -1856,393 +2076,446 @@ and (mkPrelude : Prims.string -> Prims.string) = [("LexCons_0", Term_sort, true); ("LexCons_1", Term_sort, true); ("LexCons_2", Term_sort, true)], Term_sort, (Prims.parse_int "11"), - true)] in + true)] + in let bcons = - let uu____8237 = - let uu____8241 = + let uu____8328 = + let uu____8332 = FStar_All.pipe_right constrs - (FStar_List.collect (constructor_to_decl norng)) in - FStar_All.pipe_right uu____8241 - (FStar_List.map (declToSmt z3options)) in - FStar_All.pipe_right uu____8237 (FStar_String.concat "\n") in + (FStar_List.collect (constructor_to_decl norng)) + in + FStar_All.pipe_right uu____8332 + (FStar_List.map (declToSmt z3options)) + in + FStar_All.pipe_right uu____8328 (FStar_String.concat "\n") in let lex_ordering = - "\n(define-fun is-Prims.LexCons ((t Term)) Bool \n(is-LexCons t))\n(declare-fun Prims.lex_t () Term)\n(assert (forall ((t1 Term) (t2 Term) (x1 Term) (x2 Term) (y1 Term) (y2 Term))\n(iff (Valid (Prims.precedes Prims.lex_t Prims.lex_t (LexCons t1 x1 x2) (LexCons t2 y1 y2)))\n(or (Valid (Prims.precedes t1 t2 x1 y1))\n(and (= x1 y1)\n(Valid (Prims.precedes Prims.lex_t Prims.lex_t x2 y2)))))))\n(assert (forall ((t1 Term) (t2 Term) (e1 Term) (e2 Term))\n(! (iff (Valid (Prims.precedes t1 t2 e1 e2))\n(Valid (Prims.precedes Prims.lex_t Prims.lex_t e1 e2)))\n:pattern (Prims.precedes t1 t2 e1 e2))))\n(assert (forall ((t1 Term) (t2 Term))\n(! (iff (Valid (Prims.precedes Prims.lex_t Prims.lex_t t1 t2)) \n(< (Rank t1) (Rank t2)))\n:pattern ((Prims.precedes Prims.lex_t Prims.lex_t t1 t2)))))\n" in + "\n(define-fun is-Prims.LexCons ((t Term)) Bool \n(is-LexCons t))\n(declare-fun Prims.lex_t () Term)\n(assert (forall ((t1 Term) (t2 Term) (x1 Term) (x2 Term) (y1 Term) (y2 Term))\n(iff (Valid (Prims.precedes Prims.lex_t Prims.lex_t (LexCons t1 x1 x2) (LexCons t2 y1 y2)))\n(or (Valid (Prims.precedes t1 t2 x1 y1))\n(and (= x1 y1)\n(Valid (Prims.precedes Prims.lex_t Prims.lex_t x2 y2)))))))\n(assert (forall ((t1 Term) (t2 Term) (e1 Term) (e2 Term))\n(! (iff (Valid (Prims.precedes t1 t2 e1 e2))\n(Valid (Prims.precedes Prims.lex_t Prims.lex_t e1 e2)))\n:pattern (Prims.precedes t1 t2 e1 e2))))\n(assert (forall ((t1 Term) (t2 Term))\n(! (iff (Valid (Prims.precedes Prims.lex_t Prims.lex_t t1 t2)) \n(< (Rank t1) (Rank t2)))\n:pattern ((Prims.precedes Prims.lex_t Prims.lex_t t1 t2)))))\n" + in let valid_intro = - "(assert (forall ((e Term) (t Term))\n(! (implies (HasType e t)\n(Valid t))\n:pattern ((HasType e t)\n(Valid t))\n:qid __prelude_valid_intro)))\n" in + "(assert (forall ((e Term) (t Term))\n(! (implies (HasType e t)\n(Valid t))\n:pattern ((HasType e t)\n(Valid t))\n:qid __prelude_valid_intro)))\n" + in let valid_elim = - "(assert (forall ((t Term))\n(! (implies (Valid t)\n(exists ((e Term)) (HasType e t)))\n:pattern ((Valid t))\n:qid __prelude_valid_elim)))\n" in - let uu____8268 = - let uu____8270 = - let uu____8272 = - let uu____8274 = - let uu____8276 = FStar_Options.smtencoding_valid_intro () in - if uu____8276 then valid_intro else "" in - let uu____8283 = - let uu____8285 = FStar_Options.smtencoding_valid_elim () in - if uu____8285 then valid_elim else "" in - Prims.op_Hat uu____8274 uu____8283 in - Prims.op_Hat lex_ordering uu____8272 in - Prims.op_Hat bcons uu____8270 in - Prims.op_Hat basic uu____8268 + "(assert (forall ((t Term))\n(! (implies (Valid t)\n(exists ((e Term)) (HasType e t)))\n:pattern ((Valid t))\n:qid __prelude_valid_elim)))\n" + in + let uu____8359 = + let uu____8361 = + let uu____8363 = + let uu____8365 = + let uu____8367 = FStar_Options.smtencoding_valid_intro () in + if uu____8367 then valid_intro else "" in + let uu____8374 = + let uu____8376 = FStar_Options.smtencoding_valid_elim () in + if uu____8376 then valid_elim else "" in + Prims.op_Hat uu____8365 uu____8374 in + Prims.op_Hat lex_ordering uu____8363 in + Prims.op_Hat bcons uu____8361 in + Prims.op_Hat basic uu____8359 + let (mkBvConstructor : Prims.int -> decl Prims.list) = - fun sz -> - let uu____8302 = - let uu____8303 = - let uu____8305 = boxBitVecFun sz in - FStar_Pervasives_Native.fst uu____8305 in - let uu____8314 = - let uu____8317 = - let uu____8318 = - let uu____8320 = boxBitVecFun sz in - FStar_Pervasives_Native.snd uu____8320 in - (uu____8318, (BitVec_sort sz), true) in - [uu____8317] in - (uu____8303, uu____8314, Term_sort, ((Prims.parse_int "12") + sz), - true) in - FStar_All.pipe_right uu____8302 (constructor_to_decl norng) + fun sz -> + let uu____8393 = + let uu____8394 = + let uu____8396 = boxBitVecFun sz in + FStar_Pervasives_Native.fst uu____8396 in + let uu____8405 = + let uu____8408 = + let uu____8409 = + let uu____8411 = boxBitVecFun sz in + FStar_Pervasives_Native.snd uu____8411 in + (uu____8409, (BitVec_sort sz), true) in + [uu____8408] in + (uu____8394, uu____8405, Term_sort, ((Prims.parse_int "12") + sz), + true) + in + FStar_All.pipe_right uu____8393 (constructor_to_decl norng) + let (__range_c : Prims.int FStar_ST.ref) = - FStar_Util.mk_ref (Prims.parse_int "0") + FStar_Util.mk_ref (Prims.parse_int "0") let (mk_Range_const : unit -> term) = - fun uu____8352 -> - let i = FStar_ST.op_Bang __range_c in - (let uu____8377 = - let uu____8379 = FStar_ST.op_Bang __range_c in - uu____8379 + (Prims.parse_int "1") in - FStar_ST.op_Colon_Equals __range_c uu____8377); - (let uu____8424 = - let uu____8432 = let uu____8435 = mkInteger' i norng in [uu____8435] in - ("Range_const", uu____8432) in - mkApp uu____8424 norng) -let (mk_Term_type : term) = mkApp ("Tm_type", []) norng + fun uu____8443 -> + let i = FStar_ST.op_Bang __range_c in + (let uu____8468 = + let uu____8470 = FStar_ST.op_Bang __range_c in + uu____8470 + (Prims.parse_int "1") in + FStar_ST.op_Colon_Equals __range_c uu____8468); + (let uu____8515 = + let uu____8523 = let uu____8526 = mkInteger' i norng in [uu____8526] + in + ("Range_const", uu____8523) in + mkApp uu____8515 norng) + +let (mk_Term_type : term) = mkApp ("Tm_type", []) norng let (mk_Term_app : term -> term -> FStar_Range.range -> term) = - fun t1 -> fun t2 -> fun r -> mkApp ("Tm_app", [t1; t2]) r + fun t1 -> fun t2 -> fun r -> mkApp ("Tm_app", [t1; t2]) r let (mk_Term_uvar : Prims.int -> FStar_Range.range -> term) = - fun i -> - fun r -> - let uu____8478 = - let uu____8486 = let uu____8489 = mkInteger' i norng in [uu____8489] in - ("Tm_uvar", uu____8486) in - mkApp uu____8478 r -let (mk_Term_unit : term) = mkApp ("Tm_unit", []) norng + fun i -> + fun r -> + let uu____8569 = + let uu____8577 = let uu____8580 = mkInteger' i norng in [uu____8580] + in + ("Tm_uvar", uu____8577) in + mkApp uu____8569 r + +let (mk_Term_unit : term) = mkApp ("Tm_unit", []) norng let (elim_box : Prims.bool -> Prims.string -> Prims.string -> term -> term) = - fun cond -> - fun u -> - fun v1 -> - fun t -> + fun cond -> + fun u -> + fun v1 -> + fun t -> match t.tm with - | App (Var v', t1::[]) when (v1 = v') && cond -> t1 - | uu____8532 -> mkApp (u, [t]) t.rng + | App (Var v',t1::[]) when (v1 = v') && cond -> t1 + | uu____8623 -> mkApp (u, [t]) t.rng + let (maybe_elim_box : Prims.string -> Prims.string -> term -> term) = - fun u -> - fun v1 -> - fun t -> - let uu____8556 = FStar_Options.smtencoding_elim_box () in - elim_box uu____8556 u v1 t + fun u -> + fun v1 -> + fun t -> + let uu____8647 = FStar_Options.smtencoding_elim_box () in + elim_box uu____8647 u v1 t + let (boxInt : term -> term) = - fun t -> + fun t -> maybe_elim_box (FStar_Pervasives_Native.fst boxIntFun) (FStar_Pervasives_Native.snd boxIntFun) t + let (unboxInt : term -> term) = - fun t -> + fun t -> maybe_elim_box (FStar_Pervasives_Native.snd boxIntFun) (FStar_Pervasives_Native.fst boxIntFun) t + let (boxBool : term -> term) = - fun t -> + fun t -> maybe_elim_box (FStar_Pervasives_Native.fst boxBoolFun) (FStar_Pervasives_Native.snd boxBoolFun) t + let (unboxBool : term -> term) = - fun t -> + fun t -> maybe_elim_box (FStar_Pervasives_Native.snd boxBoolFun) (FStar_Pervasives_Native.fst boxBoolFun) t + let (boxString : term -> term) = - fun t -> + fun t -> maybe_elim_box (FStar_Pervasives_Native.fst boxStringFun) (FStar_Pervasives_Native.snd boxStringFun) t + let (unboxString : term -> term) = - fun t -> + fun t -> maybe_elim_box (FStar_Pervasives_Native.snd boxStringFun) (FStar_Pervasives_Native.fst boxStringFun) t + let (boxReal : term -> term) = - fun t -> + fun t -> maybe_elim_box (FStar_Pervasives_Native.fst boxRealFun) (FStar_Pervasives_Native.snd boxRealFun) t + let (unboxReal : term -> term) = - fun t -> + fun t -> maybe_elim_box (FStar_Pervasives_Native.snd boxRealFun) (FStar_Pervasives_Native.fst boxRealFun) t + let (boxBitVec : Prims.int -> term -> term) = - fun sz -> - fun t -> - let uu____8651 = - let uu____8653 = boxBitVecFun sz in - FStar_Pervasives_Native.fst uu____8653 in - let uu____8662 = - let uu____8664 = boxBitVecFun sz in - FStar_Pervasives_Native.snd uu____8664 in - elim_box true uu____8651 uu____8662 t + fun sz -> + fun t -> + let uu____8742 = + let uu____8744 = boxBitVecFun sz in + FStar_Pervasives_Native.fst uu____8744 in + let uu____8753 = + let uu____8755 = boxBitVecFun sz in + FStar_Pervasives_Native.snd uu____8755 in + elim_box true uu____8742 uu____8753 t + let (unboxBitVec : Prims.int -> term -> term) = - fun sz -> - fun t -> - let uu____8687 = - let uu____8689 = boxBitVecFun sz in - FStar_Pervasives_Native.snd uu____8689 in - let uu____8698 = - let uu____8700 = boxBitVecFun sz in - FStar_Pervasives_Native.fst uu____8700 in - elim_box true uu____8687 uu____8698 t + fun sz -> + fun t -> + let uu____8778 = + let uu____8780 = boxBitVecFun sz in + FStar_Pervasives_Native.snd uu____8780 in + let uu____8789 = + let uu____8791 = boxBitVecFun sz in + FStar_Pervasives_Native.fst uu____8791 in + elim_box true uu____8778 uu____8789 t + let (boxTerm : sort -> term -> term) = - fun sort -> - fun t -> + fun sort -> + fun t -> match sort with - | Int_sort -> boxInt t - | Bool_sort -> boxBool t - | String_sort -> boxString t + | Int_sort -> boxInt t + | Bool_sort -> boxBool t + | String_sort -> boxString t | BitVec_sort sz -> boxBitVec sz t | Sort "Real" -> boxReal t - | uu____8724 -> FStar_Exn.raise FStar_Util.Impos + | uu____8815 -> FStar_Exn.raise FStar_Util.Impos + let (unboxTerm : sort -> term -> term) = - fun sort -> - fun t -> + fun sort -> + fun t -> match sort with - | Int_sort -> unboxInt t - | Bool_sort -> unboxBool t - | String_sort -> unboxString t + | Int_sort -> unboxInt t + | Bool_sort -> unboxBool t + | String_sort -> unboxString t | BitVec_sort sz -> unboxBitVec sz t | Sort "Real" -> unboxReal t - | uu____8739 -> FStar_Exn.raise FStar_Util.Impos + | uu____8830 -> FStar_Exn.raise FStar_Util.Impos + let (getBoxedInteger : term -> Prims.int FStar_Pervasives_Native.option) = - fun t -> + fun t -> match t.tm with - | App (Var s, t2::[]) when s = (FStar_Pervasives_Native.fst boxIntFun) -> + | App (Var s,t2::[]) when s = (FStar_Pervasives_Native.fst boxIntFun) -> (match t2.tm with | Integer n1 -> - let uu____8765 = FStar_Util.int_of_string n1 in - FStar_Pervasives_Native.Some uu____8765 - | uu____8768 -> FStar_Pervasives_Native.None) - | uu____8770 -> FStar_Pervasives_Native.None -let (mk_PreType : term -> term) = fun t -> mkApp ("PreType", [t]) t.rng + let uu____8856 = FStar_Util.int_of_string n1 in + FStar_Pervasives_Native.Some uu____8856 + | uu____8859 -> FStar_Pervasives_Native.None) + | uu____8861 -> FStar_Pervasives_Native.None + +let (mk_PreType : term -> term) = fun t -> mkApp ("PreType", [t]) t.rng let (mk_Valid : term -> term) = - fun t -> + fun t -> match t.tm with | App - (Var "Prims.b2t", - { tm = App (Var "Prims.op_Equality", uu____8788::t1::t2::[]); - freevars = uu____8791; rng = uu____8792;_}::[]) + (Var + "Prims.b2t",{ + tm = App + (Var "Prims.op_Equality",uu____8879::t1::t2::[]); + freevars = uu____8882; rng = uu____8883;_}::[]) -> mkEq (t1, t2) t.rng | App - (Var "Prims.b2t", - { tm = App (Var "Prims.op_disEquality", uu____8811::t1::t2::[]); - freevars = uu____8814; rng = uu____8815;_}::[]) - -> let uu____8834 = mkEq (t1, t2) norng in mkNot uu____8834 t.rng + (Var + "Prims.b2t",{ + tm = App + (Var "Prims.op_disEquality",uu____8902::t1::t2::[]); + freevars = uu____8905; rng = uu____8906;_}::[]) + -> let uu____8925 = mkEq (t1, t2) norng in mkNot uu____8925 t.rng | App - (Var "Prims.b2t", - { tm = App (Var "Prims.op_LessThanOrEqual", t1::t2::[]); - freevars = uu____8837; rng = uu____8838;_}::[]) + (Var + "Prims.b2t",{ tm = App (Var "Prims.op_LessThanOrEqual",t1::t2::[]); + freevars = uu____8928; rng = uu____8929;_}::[]) -> - let uu____8857 = - let uu____8862 = unboxInt t1 in - let uu____8863 = unboxInt t2 in (uu____8862, uu____8863) in - mkLTE uu____8857 t.rng + let uu____8948 = + let uu____8953 = unboxInt t1 in + let uu____8954 = unboxInt t2 in (uu____8953, uu____8954) in + mkLTE uu____8948 t.rng | App - (Var "Prims.b2t", - { tm = App (Var "Prims.op_LessThan", t1::t2::[]); - freevars = uu____8866; rng = uu____8867;_}::[]) + (Var + "Prims.b2t",{ tm = App (Var "Prims.op_LessThan",t1::t2::[]); + freevars = uu____8957; rng = uu____8958;_}::[]) -> - let uu____8886 = - let uu____8891 = unboxInt t1 in - let uu____8892 = unboxInt t2 in (uu____8891, uu____8892) in - mkLT uu____8886 t.rng + let uu____8977 = + let uu____8982 = unboxInt t1 in + let uu____8983 = unboxInt t2 in (uu____8982, uu____8983) in + mkLT uu____8977 t.rng | App - (Var "Prims.b2t", - { tm = App (Var "Prims.op_GreaterThanOrEqual", t1::t2::[]); - freevars = uu____8895; rng = uu____8896;_}::[]) + (Var + "Prims.b2t",{ + tm = App + (Var "Prims.op_GreaterThanOrEqual",t1::t2::[]); + freevars = uu____8986; rng = uu____8987;_}::[]) -> - let uu____8915 = - let uu____8920 = unboxInt t1 in - let uu____8921 = unboxInt t2 in (uu____8920, uu____8921) in - mkGTE uu____8915 t.rng + let uu____9006 = + let uu____9011 = unboxInt t1 in + let uu____9012 = unboxInt t2 in (uu____9011, uu____9012) in + mkGTE uu____9006 t.rng | App - (Var "Prims.b2t", - { tm = App (Var "Prims.op_GreaterThan", t1::t2::[]); - freevars = uu____8924; rng = uu____8925;_}::[]) + (Var + "Prims.b2t",{ tm = App (Var "Prims.op_GreaterThan",t1::t2::[]); + freevars = uu____9015; rng = uu____9016;_}::[]) -> - let uu____8944 = - let uu____8949 = unboxInt t1 in - let uu____8950 = unboxInt t2 in (uu____8949, uu____8950) in - mkGT uu____8944 t.rng + let uu____9035 = + let uu____9040 = unboxInt t1 in + let uu____9041 = unboxInt t2 in (uu____9040, uu____9041) in + mkGT uu____9035 t.rng | App - (Var "Prims.b2t", - { tm = App (Var "Prims.op_AmpAmp", t1::t2::[]); - freevars = uu____8953; rng = uu____8954;_}::[]) + (Var + "Prims.b2t",{ tm = App (Var "Prims.op_AmpAmp",t1::t2::[]); + freevars = uu____9044; rng = uu____9045;_}::[]) -> - let uu____8973 = - let uu____8978 = unboxBool t1 in - let uu____8979 = unboxBool t2 in (uu____8978, uu____8979) in - mkAnd uu____8973 t.rng + let uu____9064 = + let uu____9069 = unboxBool t1 in + let uu____9070 = unboxBool t2 in (uu____9069, uu____9070) in + mkAnd uu____9064 t.rng | App - (Var "Prims.b2t", - { tm = App (Var "Prims.op_BarBar", t1::t2::[]); - freevars = uu____8982; rng = uu____8983;_}::[]) + (Var + "Prims.b2t",{ tm = App (Var "Prims.op_BarBar",t1::t2::[]); + freevars = uu____9073; rng = uu____9074;_}::[]) -> - let uu____9002 = - let uu____9007 = unboxBool t1 in - let uu____9008 = unboxBool t2 in (uu____9007, uu____9008) in - mkOr uu____9002 t.rng + let uu____9093 = + let uu____9098 = unboxBool t1 in + let uu____9099 = unboxBool t2 in (uu____9098, uu____9099) in + mkOr uu____9093 t.rng | App - (Var "Prims.b2t", - { tm = App (Var "Prims.op_Negation", t1::[]); freevars = uu____9010; - rng = uu____9011;_}::[]) - -> let uu____9030 = unboxBool t1 in mkNot uu____9030 t1.rng + (Var + "Prims.b2t",{ tm = App (Var "Prims.op_Negation",t1::[]); + freevars = uu____9101; rng = uu____9102;_}::[]) + -> let uu____9121 = unboxBool t1 in mkNot uu____9121 t1.rng | App - (Var "Prims.b2t", - { tm = App (Var "FStar.BV.bvult", t0::t1::t2::[]); - freevars = uu____9034; rng = uu____9035;_}::[]) + (Var + "Prims.b2t",{ tm = App (Var "FStar.BV.bvult",t0::t1::t2::[]); + freevars = uu____9125; rng = uu____9126;_}::[]) when - let uu____9054 = getBoxedInteger t0 in FStar_Util.is_some uu____9054 + let uu____9145 = getBoxedInteger t0 in FStar_Util.is_some uu____9145 -> let sz = - let uu____9061 = getBoxedInteger t0 in - match uu____9061 with + let uu____9152 = getBoxedInteger t0 in + match uu____9152 with | FStar_Pervasives_Native.Some sz -> sz - | uu____9069 -> failwith "impossible" in - let uu____9075 = - let uu____9080 = unboxBitVec sz t1 in - let uu____9081 = unboxBitVec sz t2 in (uu____9080, uu____9081) in - mkBvUlt uu____9075 t.rng + | uu____9160 -> failwith "impossible" in + let uu____9166 = + let uu____9171 = unboxBitVec sz t1 in + let uu____9172 = unboxBitVec sz t2 in (uu____9171, uu____9172) in + mkBvUlt uu____9166 t.rng | App - (Var "Prims.equals", - uu____9082::{ tm = App (Var "FStar.BV.bvult", t0::t1::t2::[]); - freevars = uu____9086; rng = uu____9087;_}::uu____9088::[]) + (Var + "Prims.equals",uu____9173::{ + tm = App + (Var "FStar.BV.bvult",t0::t1::t2::[]); + freevars = uu____9177; + rng = uu____9178;_}::uu____9179::[]) when - let uu____9107 = getBoxedInteger t0 in FStar_Util.is_some uu____9107 + let uu____9198 = getBoxedInteger t0 in FStar_Util.is_some uu____9198 -> let sz = - let uu____9114 = getBoxedInteger t0 in - match uu____9114 with + let uu____9205 = getBoxedInteger t0 in + match uu____9205 with | FStar_Pervasives_Native.Some sz -> sz - | uu____9122 -> failwith "impossible" in - let uu____9128 = - let uu____9133 = unboxBitVec sz t1 in - let uu____9134 = unboxBitVec sz t2 in (uu____9133, uu____9134) in - mkBvUlt uu____9128 t.rng - | App (Var "Prims.b2t", t1::[]) -> - let uu___1391_9139 = unboxBool t1 in + | uu____9213 -> failwith "impossible" in + let uu____9219 = + let uu____9224 = unboxBitVec sz t1 in + let uu____9225 = unboxBitVec sz t2 in (uu____9224, uu____9225) in + mkBvUlt uu____9219 t.rng + | App (Var "Prims.b2t",t1::[]) -> + let uu___1398_9230 = unboxBool t1 in { - tm = (uu___1391_9139.tm); - freevars = (uu___1391_9139.freevars); + tm = (uu___1398_9230.tm); + freevars = (uu___1398_9230.freevars); rng = (t.rng) } - | uu____9140 -> mkApp ("Valid", [t]) t.rng + | uu____9231 -> mkApp ("Valid", [t]) t.rng + let (mk_HasType : term -> term -> term) = - fun v1 -> fun t -> mkApp ("HasType", [v1; t]) t.rng + fun v1 -> fun t -> mkApp ("HasType", [v1; t]) t.rng let (mk_HasTypeZ : term -> term -> term) = - fun v1 -> fun t -> mkApp ("HasTypeZ", [v1; t]) t.rng -let (mk_IsTyped : term -> term) = fun v1 -> mkApp ("IsTyped", [v1]) norng + fun v1 -> fun t -> mkApp ("HasTypeZ", [v1; t]) t.rng +let (mk_IsTotFun : term -> term) = fun t -> mkApp ("IsTotFun", [t]) t.rng +let (mk_IsTyped : term -> term) = fun v1 -> mkApp ("IsTyped", [v1]) norng let (mk_HasTypeFuel : term -> term -> term -> term) = - fun f -> - fun v1 -> - fun t -> - let uu____9201 = FStar_Options.unthrottle_inductives () in - if uu____9201 + fun f -> + fun v1 -> + fun t -> + let uu____9302 = FStar_Options.unthrottle_inductives () in + if uu____9302 then mk_HasType v1 t else mkApp ("HasTypeFuel", [f; v1; t]) t.rng + let (mk_HasTypeWithFuel : term FStar_Pervasives_Native.option -> term -> term -> term) = - fun f -> - fun v1 -> - fun t -> + fun f -> + fun v1 -> + fun t -> match f with - | FStar_Pervasives_Native.None -> mk_HasType v1 t + | FStar_Pervasives_Native.None -> mk_HasType v1 t | FStar_Pervasives_Native.Some f1 -> mk_HasTypeFuel f1 v1 t + let (mk_NoHoist : term -> term -> term) = - fun dummy -> fun b -> mkApp ("NoHoist", [dummy; b]) b.rng + fun dummy -> fun b -> mkApp ("NoHoist", [dummy; b]) b.rng let (mk_Destruct : term -> FStar_Range.range -> term) = - fun v1 -> mkApp ("Destruct", [v1]) + fun v1 -> mkApp ("Destruct", [v1]) let (mk_Rank : term -> FStar_Range.range -> term) = - fun x -> mkApp ("Rank", [x]) + fun x -> mkApp ("Rank", [x]) let (mk_tester : Prims.string -> term -> term) = - fun n1 -> fun t -> mkApp ((Prims.op_Hat "is-" n1), [t]) t.rng + fun n1 -> fun t -> mkApp ((Prims.op_Hat "is-" n1), [t]) t.rng let (mk_ApplyTF : term -> term -> term) = - fun t -> fun t' -> mkApp ("ApplyTF", [t; t']) t.rng + fun t -> fun t' -> mkApp ("ApplyTF", [t; t']) t.rng let (mk_ApplyTT : term -> term -> FStar_Range.range -> term) = - fun t -> fun t' -> fun r -> mkApp ("ApplyTT", [t; t']) r + fun t -> fun t' -> fun r -> mkApp ("ApplyTT", [t; t']) r let (kick_partial_app : term -> term) = - fun t -> - let uu____9334 = - let uu____9335 = mkApp ("__uu__PartialApp", []) t.rng in - mk_ApplyTT uu____9335 t t.rng in - FStar_All.pipe_right uu____9334 mk_Valid + fun t -> + let uu____9435 = + let uu____9436 = mkApp ("__uu__PartialApp", []) t.rng in + mk_ApplyTT uu____9436 t t.rng in + FStar_All.pipe_right uu____9435 mk_Valid + let (mk_String_const : Prims.int -> FStar_Range.range -> term) = - fun i -> - fun r -> - let uu____9353 = - let uu____9361 = let uu____9364 = mkInteger' i norng in [uu____9364] in - ("FString_const", uu____9361) in - mkApp uu____9353 r + fun i -> + fun r -> + let uu____9454 = + let uu____9462 = let uu____9465 = mkInteger' i norng in [uu____9465] + in + ("FString_const", uu____9462) in + mkApp uu____9454 r + let (mk_Precedes : term -> term -> term -> term -> FStar_Range.range -> term) = - fun x1 -> - fun x2 -> - fun x3 -> - fun x4 -> - fun r -> - let uu____9395 = mkApp ("Prims.precedes", [x1; x2; x3; x4]) r in - FStar_All.pipe_right uu____9395 mk_Valid + fun x1 -> + fun x2 -> + fun x3 -> + fun x4 -> + fun r -> + let uu____9496 = mkApp ("Prims.precedes", [x1; x2; x3; x4]) r in + FStar_All.pipe_right uu____9496 mk_Valid + let (mk_LexCons : term -> term -> term -> FStar_Range.range -> term) = - fun x1 -> fun x2 -> fun x3 -> fun r -> mkApp ("LexCons", [x1; x2; x3]) r + fun x1 -> + fun x2 -> fun x3 -> fun r -> mkApp ("LexCons", [x1; x2; x3]) r + let rec (n_fuel : Prims.int -> term) = - fun n1 -> + fun n1 -> if n1 = (Prims.parse_int "0") then mkApp ("ZFuel", []) norng else - (let uu____9442 = - let uu____9450 = - let uu____9453 = n_fuel (n1 - (Prims.parse_int "1")) in - [uu____9453] in - ("SFuel", uu____9450) in - mkApp uu____9442 norng) -let (fuel_2 : term) = n_fuel (Prims.parse_int "2") -let (fuel_100 : term) = n_fuel (Prims.parse_int "100") + (let uu____9543 = + let uu____9551 = + let uu____9554 = n_fuel (n1 - (Prims.parse_int "1")) in + [uu____9554] in + ("SFuel", uu____9551) in + mkApp uu____9543 norng) + +let (fuel_2 : term) = n_fuel (Prims.parse_int "2") +let (fuel_100 : term) = n_fuel (Prims.parse_int "100") let (mk_and_opt : term FStar_Pervasives_Native.option -> term FStar_Pervasives_Native.option -> FStar_Range.range -> term FStar_Pervasives_Native.option) = - fun p1 -> - fun p2 -> - fun r -> + fun p1 -> + fun p2 -> + fun r -> match (p1, p2) with - | (FStar_Pervasives_Native.Some p11, FStar_Pervasives_Native.Some - p21) -> - let uu____9501 = mkAnd (p11, p21) r in - FStar_Pervasives_Native.Some uu____9501 - | (FStar_Pervasives_Native.Some p, FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.Some p11,FStar_Pervasives_Native.Some p21) + -> + let uu____9602 = mkAnd (p11, p21) r in + FStar_Pervasives_Native.Some uu____9602 + | (FStar_Pervasives_Native.Some p,FStar_Pervasives_Native.None ) -> FStar_Pervasives_Native.Some p - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.Some p) -> + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.Some p) -> FStar_Pervasives_Native.Some p - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.None ) -> FStar_Pervasives_Native.None + let (mk_and_opt_l : term FStar_Pervasives_Native.option Prims.list -> FStar_Range.range -> term FStar_Pervasives_Native.option) = - fun pl -> - fun r -> - FStar_List.fold_right (fun p -> fun out -> mk_and_opt p out r) pl + fun pl -> + fun r -> + FStar_List.fold_right (fun p -> fun out -> mk_and_opt p out r) pl FStar_Pervasives_Native.None + let (mk_and_l : term Prims.list -> FStar_Range.range -> term) = - fun l -> - fun r -> - let uu____9564 = mkTrue r in - FStar_List.fold_right (fun p1 -> fun p2 -> mkAnd (p1, p2) r) l - uu____9564 + fun l -> + fun r -> + let uu____9665 = mkTrue r in + FStar_List.fold_right (fun p1 -> fun p2 -> mkAnd (p1, p2) r) l + uu____9665 + let (mk_or_l : term Prims.list -> FStar_Range.range -> term) = - fun l -> - fun r -> - let uu____9584 = mkFalse r in - FStar_List.fold_right (fun p1 -> fun p2 -> mkOr (p1, p2) r) l - uu____9584 + fun l -> + fun r -> + let uu____9685 = mkFalse r in + FStar_List.fold_right (fun p1 -> fun p2 -> mkOr (p1, p2) r) l + uu____9685 + let (mk_haseq : term -> term) = - fun t -> - let uu____9595 = mkApp ("Prims.hasEq", [t]) t.rng in mk_Valid uu____9595 -let (dummy_sort : sort) = Sort "Dummy_sort" \ No newline at end of file + fun t -> + let uu____9696 = mkApp ("Prims.hasEq", [t]) t.rng in mk_Valid uu____9696 + +let (dummy_sort : sort) = Sort "Dummy_sort" \ No newline at end of file diff --git a/src/ocaml-output/FStar_SMTEncoding_Util.ml b/src/ocaml-output/FStar_SMTEncoding_Util.ml index 799f2454ade..51742dd5386 100644 --- a/src/ocaml-output/FStar_SMTEncoding_Util.ml +++ b/src/ocaml-output/FStar_SMTEncoding_Util.ml @@ -3,184 +3,185 @@ let (mkAssume : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.caption * Prims.string) -> FStar_SMTEncoding_Term.decl) = - fun uu____11 -> + fun uu____11 -> match uu____11 with - | (tm, cap, nm) -> + | (tm,cap,nm) -> let uu____24 = - let uu____25 = FStar_SMTEncoding_Term.escape nm in + let uu____25 = FStar_SMTEncoding_Term.escape nm in { FStar_SMTEncoding_Term.assumption_term = tm; FStar_SMTEncoding_Term.assumption_caption = cap; FStar_SMTEncoding_Term.assumption_name = uu____25; FStar_SMTEncoding_Term.assumption_fact_ids = [] - } in + } in FStar_SMTEncoding_Term.Assume uu____24 + let norng : 'Auu____36 'Auu____37 . ('Auu____36 -> FStar_Range.range -> 'Auu____37) -> 'Auu____36 -> 'Auu____37 - = fun f -> fun x -> f x FStar_Range.dummyRange + = fun f -> fun x -> f x FStar_Range.dummyRange let (mkTrue : FStar_SMTEncoding_Term.term) = - FStar_SMTEncoding_Term.mkTrue FStar_Range.dummyRange + FStar_SMTEncoding_Term.mkTrue FStar_Range.dummyRange let (mkFalse : FStar_SMTEncoding_Term.term) = - FStar_SMTEncoding_Term.mkFalse FStar_Range.dummyRange + FStar_SMTEncoding_Term.mkFalse FStar_Range.dummyRange let (mkInteger : Prims.string -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mkInteger + norng FStar_SMTEncoding_Term.mkInteger let (mkInteger' : Prims.int -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mkInteger' + norng FStar_SMTEncoding_Term.mkInteger' let (mkReal : Prims.string -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mkReal + norng FStar_SMTEncoding_Term.mkReal let (mkBoundV : Prims.int -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mkBoundV + norng FStar_SMTEncoding_Term.mkBoundV let (mkFreeV : FStar_SMTEncoding_Term.fv -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mkFreeV + norng FStar_SMTEncoding_Term.mkFreeV let (mkApp' : (FStar_SMTEncoding_Term.op * FStar_SMTEncoding_Term.term Prims.list) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkApp' + = norng FStar_SMTEncoding_Term.mkApp' let (mkApp : (Prims.string * FStar_SMTEncoding_Term.term Prims.list) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkApp + = norng FStar_SMTEncoding_Term.mkApp let (mkNot : FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mkNot + norng FStar_SMTEncoding_Term.mkNot let (mkMinus : FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mkMinus + norng FStar_SMTEncoding_Term.mkMinus let (mkAnd : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkAnd + = norng FStar_SMTEncoding_Term.mkAnd let (mkOr : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkOr + = norng FStar_SMTEncoding_Term.mkOr let (mkImp : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkImp + = norng FStar_SMTEncoding_Term.mkImp let (mkIff : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkIff + = norng FStar_SMTEncoding_Term.mkIff let (mkEq : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkEq + = norng FStar_SMTEncoding_Term.mkEq let (mkLT : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkLT + = norng FStar_SMTEncoding_Term.mkLT let (mkLTE : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkLTE + = norng FStar_SMTEncoding_Term.mkLTE let (mkGT : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkGT + = norng FStar_SMTEncoding_Term.mkGT let (mkGTE : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkGTE + = norng FStar_SMTEncoding_Term.mkGTE let (mkAdd : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkAdd + = norng FStar_SMTEncoding_Term.mkAdd let (mkSub : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkSub + = norng FStar_SMTEncoding_Term.mkSub let (mkDiv : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkDiv + = norng FStar_SMTEncoding_Term.mkDiv let (mkRealDiv : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkRealDiv + = norng FStar_SMTEncoding_Term.mkRealDiv let (mkMul : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkMul + = norng FStar_SMTEncoding_Term.mkMul let (mkMod : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkMod + = norng FStar_SMTEncoding_Term.mkMod let (mkNatToBv : Prims.int -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term) = - fun sz -> norng (FStar_SMTEncoding_Term.mkNatToBv sz) + fun sz -> norng (FStar_SMTEncoding_Term.mkNatToBv sz) let (mkBvAnd : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkBvAnd + = norng FStar_SMTEncoding_Term.mkBvAnd let (mkBvXor : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkBvXor + = norng FStar_SMTEncoding_Term.mkBvXor let (mkBvOr : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkBvOr + = norng FStar_SMTEncoding_Term.mkBvOr let (mkBvAdd : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkBvAdd + = norng FStar_SMTEncoding_Term.mkBvAdd let (mkBvSub : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkBvSub + = norng FStar_SMTEncoding_Term.mkBvSub let (mkBvShl : Prims.int -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = fun sz -> norng (FStar_SMTEncoding_Term.mkBvShl sz) + = fun sz -> norng (FStar_SMTEncoding_Term.mkBvShl sz) let (mkBvShr : Prims.int -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = fun sz -> norng (FStar_SMTEncoding_Term.mkBvShr sz) + = fun sz -> norng (FStar_SMTEncoding_Term.mkBvShr sz) let (mkBvUdiv : Prims.int -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = fun sz -> norng (FStar_SMTEncoding_Term.mkBvUdiv sz) + = fun sz -> norng (FStar_SMTEncoding_Term.mkBvUdiv sz) let (mkBvMod : Prims.int -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = fun sz -> norng (FStar_SMTEncoding_Term.mkBvMod sz) + = fun sz -> norng (FStar_SMTEncoding_Term.mkBvMod sz) let (mkBvMul : Prims.int -> (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = fun sz -> norng (FStar_SMTEncoding_Term.mkBvMul sz) + = fun sz -> norng (FStar_SMTEncoding_Term.mkBvMul sz) let (mkBvUlt : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkBvUlt + = norng FStar_SMTEncoding_Term.mkBvUlt let (mkBvUext : Prims.int -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term) = - fun sz -> norng (FStar_SMTEncoding_Term.mkBvUext sz) + fun sz -> norng (FStar_SMTEncoding_Term.mkBvUext sz) let (mkBvToNat : FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkBvToNat + = norng FStar_SMTEncoding_Term.mkBvToNat let (mkITE : (FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term * FStar_SMTEncoding_Term.term) -> FStar_SMTEncoding_Term.term) - = norng FStar_SMTEncoding_Term.mkITE + = norng FStar_SMTEncoding_Term.mkITE let (mkCases : FStar_SMTEncoding_Term.term Prims.list -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mkCases + norng FStar_SMTEncoding_Term.mkCases let norng2 : 'Auu____587 'Auu____588 'Auu____589 . ('Auu____587 -> 'Auu____588 -> FStar_Range.range -> 'Auu____589) -> 'Auu____587 -> 'Auu____588 -> 'Auu____589 - = fun f -> fun x -> fun y -> f x y FStar_Range.dummyRange + = fun f -> fun x -> fun y -> f x y FStar_Range.dummyRange let norng3 : 'Auu____637 'Auu____638 'Auu____639 'Auu____640 . ('Auu____637 -> 'Auu____638 -> 'Auu____639 -> FStar_Range.range -> 'Auu____640) -> 'Auu____637 -> 'Auu____638 -> 'Auu____639 -> 'Auu____640 - = fun f -> fun x -> fun y -> fun z -> f x y z FStar_Range.dummyRange + = fun f -> fun x -> fun y -> fun z -> f x y z FStar_Range.dummyRange let norng4 : 'Auu____702 'Auu____703 'Auu____704 'Auu____705 'Auu____706 . ('Auu____702 -> @@ -189,34 +190,35 @@ let norng4 : -> 'Auu____702 -> 'Auu____703 -> 'Auu____704 -> 'Auu____705 -> 'Auu____706 = - fun f -> - fun x -> fun y -> fun z -> fun w -> f x y z w FStar_Range.dummyRange + fun f -> + fun x -> fun y -> fun z -> fun w -> f x y z w FStar_Range.dummyRange + let (mk_Term_app : FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term) - = norng2 FStar_SMTEncoding_Term.mk_Term_app + = norng2 FStar_SMTEncoding_Term.mk_Term_app let (mk_Term_uvar : Prims.int -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mk_Term_uvar + norng FStar_SMTEncoding_Term.mk_Term_uvar let (mk_and_l : FStar_SMTEncoding_Term.term Prims.list -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mk_and_l + norng FStar_SMTEncoding_Term.mk_and_l let (mk_or_l : FStar_SMTEncoding_Term.term Prims.list -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mk_or_l + norng FStar_SMTEncoding_Term.mk_or_l let (mk_ApplyTT : FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term) - = norng2 FStar_SMTEncoding_Term.mk_ApplyTT + = norng2 FStar_SMTEncoding_Term.mk_ApplyTT let (mk_String_const : Prims.int -> FStar_SMTEncoding_Term.term) = - norng FStar_SMTEncoding_Term.mk_String_const + norng FStar_SMTEncoding_Term.mk_String_const let (mk_Precedes : FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term) - = norng4 FStar_SMTEncoding_Term.mk_Precedes + = norng4 FStar_SMTEncoding_Term.mk_Precedes let (mk_LexCons : FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term -> FStar_SMTEncoding_Term.term) - = norng3 FStar_SMTEncoding_Term.mk_LexCons \ No newline at end of file + = norng3 FStar_SMTEncoding_Term.mk_LexCons \ No newline at end of file diff --git a/src/ocaml-output/FStar_SMTEncoding_Z3.ml b/src/ocaml-output/FStar_SMTEncoding_Z3.ml index b93a2eca432..d908e6b6f63 100644 --- a/src/ocaml-output/FStar_SMTEncoding_Z3.ml +++ b/src/ocaml-output/FStar_SMTEncoding_Z3.ml @@ -1,107 +1,82 @@ open Prims -let (_z3hash_checked : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false -let (_z3hash_expected : Prims.string) = "1f29cebd4df6" +let (_z3version_checked : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false +let (_z3version_expected : Prims.string) = "Z3 version 4.8.5" let (_z3url : Prims.string) = - "https://github.com/FStarLang/binaries/tree/master/z3-tested" + "https://github.com/FStarLang/binaries/tree/master/z3-tested" let (parse_z3_version_lines : Prims.string -> Prims.string FStar_Pervasives_Native.option) = - fun out -> + fun out -> match FStar_Util.splitlines out with - | x::uu____46 -> - let trimmed = FStar_Util.trim_string x in - let parts = FStar_Util.split trimmed " " in - let rec aux uu___0_70 = - match uu___0_70 with - | hash::[] -> - let n1 = - Prims.min (FStar_String.strlen _z3hash_expected) - (FStar_String.strlen hash) in - let hash_prefix = - FStar_String.substring hash (Prims.parse_int "0") n1 in - if hash_prefix = _z3hash_expected - then - ((let uu____92 = FStar_Options.debug_any () in - if uu____92 - then - let msg = - FStar_Util.format1 - "Successfully found expected Z3 commit hash %s\n" - hash in - FStar_Util.print_string msg - else ()); - FStar_Pervasives_Native.None) - else - (let msg = - FStar_Util.format2 - "Expected Z3 commit hash \"%s\", got \"%s\"" - _z3hash_expected trimmed in - FStar_Pervasives_Native.Some msg) - | uu____107::q -> aux q - | uu____114 -> - FStar_Pervasives_Native.Some "No Z3 commit hash found" in - aux parts - | uu____120 -> FStar_Pervasives_Native.Some "No Z3 version string found" -let (z3hash_warning_message : + | version::uu____46 -> + if FStar_Util.starts_with version _z3version_expected + then + ((let uu____57 = FStar_Options.debug_any () in + if uu____57 + then + let uu____60 = + FStar_Util.format1 + "Successfully found expected Z3 version %s\n" version + in + FStar_Util.print_string uu____60 + else ()); + FStar_Pervasives_Native.None) + else + (let msg = + FStar_Util.format2 "Expected Z3 version \"%s\", got \"%s\"" + _z3version_expected out + in + FStar_Pervasives_Native.Some msg) + | uu____72 -> FStar_Pervasives_Native.Some "No Z3 version string found" + +let (z3version_warning_message : unit -> (FStar_Errors.raw_error * Prims.string) FStar_Pervasives_Native.option) = - fun uu____138 -> + fun uu____90 -> let run_proc_result = try - (fun uu___29_148 -> + (fun uu___15_100 -> match () with | () -> - let uu____152 = - let uu____154 = FStar_Options.z3_exe () in - FStar_Util.run_process "z3_version" uu____154 ["-version"] - FStar_Pervasives_Native.None in - FStar_Pervasives_Native.Some uu____152) () - with | uu___28_163 -> FStar_Pervasives_Native.None in + let uu____104 = + let uu____106 = FStar_Options.z3_exe () in + FStar_Util.run_process "z3_version" uu____106 ["-version"] + FStar_Pervasives_Native.None + in + FStar_Pervasives_Native.Some uu____104) () + with | uu___14_115 -> FStar_Pervasives_Native.None in match run_proc_result with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some (FStar_Errors.Error_Z3InvocationError, "Could not run Z3") | FStar_Pervasives_Native.Some out -> - let uu____186 = parse_z3_version_lines out in - (match uu____186 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + let uu____138 = parse_z3_version_lines out in + (match uu____138 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some msg -> FStar_Pervasives_Native.Some (FStar_Errors.Warning_Z3InvocationWarning, msg)) -let (check_z3hash : unit -> unit) = - fun uu____217 -> - let uu____218 = - let uu____220 = FStar_ST.op_Bang _z3hash_checked in - Prims.op_Negation uu____220 in - if uu____218 + +let (check_z3version : unit -> unit) = + fun uu____169 -> + let uu____170 = + let uu____172 = FStar_ST.op_Bang _z3version_checked in + Prims.op_Negation uu____172 in + if uu____170 then - (FStar_ST.op_Colon_Equals _z3hash_checked true; - (let uu____267 = z3hash_warning_message () in - match uu____267 with - | FStar_Pervasives_Native.None -> () - | FStar_Pervasives_Native.Some (e, msg) -> + (FStar_ST.op_Colon_Equals _z3version_checked true; + (let uu____219 = z3version_warning_message () in + match uu____219 with + | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.Some (e,msg) -> let msg1 = FStar_Util.format4 "%s\n%s\n%s\n%s\n" msg "Please download the version of Z3 corresponding to your platform from:" - _z3url "and add the bin/ subdirectory into your PATH" in + _z3url "and add the bin/ subdirectory into your PATH" + in FStar_Errors.log_issue FStar_Range.dummyRange (e, msg1))) else () -let (ini_params : unit -> Prims.string Prims.list) = - fun uu____305 -> - check_z3hash (); - (let uu____307 = - let uu____311 = - let uu____315 = - let uu____319 = - let uu____321 = - let uu____323 = FStar_Options.z3_seed () in - FStar_Util.string_of_int uu____323 in - FStar_Util.format1 "smt.random_seed=%s" uu____321 in - [uu____319] in - "-in" :: uu____315 in - "-smt2" :: uu____311 in - let uu____332 = FStar_Options.z3_cliopt () in - FStar_List.append uu____307 uu____332) + type label = Prims.string type unsat_core = Prims.string Prims.list FStar_Pervasives_Native.option type z3status = @@ -114,106 +89,86 @@ type z3status = FStar_Pervasives_Native.option) | KILLED let (uu___is_UNSAT : z3status -> Prims.bool) = - fun projectee -> - match projectee with | UNSAT _0 -> true | uu____395 -> false + fun projectee -> + match projectee with | UNSAT _0 -> true | uu____307 -> false + let (__proj__UNSAT__item___0 : z3status -> unsat_core) = - fun projectee -> match projectee with | UNSAT _0 -> _0 + fun projectee -> match projectee with | UNSAT _0 -> _0 let (uu___is_SAT : z3status -> Prims.bool) = - fun projectee -> match projectee with | SAT _0 -> true | uu____421 -> false + fun projectee -> + match projectee with | SAT _0 -> true | uu____333 -> false + let (__proj__SAT__item___0 : z3status -> (FStar_SMTEncoding_Term.error_labels * Prims.string FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | SAT _0 -> _0 + = fun projectee -> match projectee with | SAT _0 -> _0 let (uu___is_UNKNOWN : z3status -> Prims.bool) = - fun projectee -> - match projectee with | UNKNOWN _0 -> true | uu____468 -> false + fun projectee -> + match projectee with | UNKNOWN _0 -> true | uu____380 -> false + let (__proj__UNKNOWN__item___0 : z3status -> (FStar_SMTEncoding_Term.error_labels * Prims.string FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | UNKNOWN _0 -> _0 + = fun projectee -> match projectee with | UNKNOWN _0 -> _0 let (uu___is_TIMEOUT : z3status -> Prims.bool) = - fun projectee -> - match projectee with | TIMEOUT _0 -> true | uu____515 -> false + fun projectee -> + match projectee with | TIMEOUT _0 -> true | uu____427 -> false + let (__proj__TIMEOUT__item___0 : z3status -> (FStar_SMTEncoding_Term.error_labels * Prims.string FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | TIMEOUT _0 -> _0 + = fun projectee -> match projectee with | TIMEOUT _0 -> _0 let (uu___is_KILLED : z3status -> Prims.bool) = - fun projectee -> match projectee with | KILLED -> true | uu____554 -> false + fun projectee -> + match projectee with | KILLED -> true | uu____466 -> false + type z3statistics = Prims.string FStar_Util.smap let (status_tag : z3status -> Prims.string) = - fun uu___1_565 -> - match uu___1_565 with - | SAT uu____567 -> "sat" - | UNSAT uu____576 -> "unsat" - | UNKNOWN uu____578 -> "unknown" - | TIMEOUT uu____587 -> "timeout" - | KILLED -> "killed" + fun uu___0_477 -> + match uu___0_477 with + | SAT uu____479 -> "sat" + | UNSAT uu____488 -> "unsat" + | UNKNOWN uu____490 -> "unknown" + | TIMEOUT uu____499 -> "timeout" + | KILLED -> "killed" + let (status_string_and_errors : z3status -> (Prims.string * FStar_SMTEncoding_Term.error_labels)) = - fun s -> + fun s -> match s with - | KILLED -> ((status_tag s), []) - | UNSAT uu____614 -> ((status_tag s), []) - | SAT (errs, msg) -> - let uu____624 = + | KILLED -> ((status_tag s), []) + | UNSAT uu____526 -> ((status_tag s), []) + | SAT (errs,msg) -> + let uu____536 = FStar_Util.format2 "%s%s" (status_tag s) (match msg with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some msg1 -> - Prims.op_Hat " because " msg1) in - (uu____624, errs) - | UNKNOWN (errs, msg) -> - let uu____643 = + Prims.op_Hat " because " msg1) + in + (uu____536, errs) + | UNKNOWN (errs,msg) -> + let uu____555 = FStar_Util.format2 "%s%s" (status_tag s) (match msg with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some msg1 -> - Prims.op_Hat " because " msg1) in - (uu____643, errs) - | TIMEOUT (errs, msg) -> - let uu____662 = + Prims.op_Hat " because " msg1) + in + (uu____555, errs) + | TIMEOUT (errs,msg) -> + let uu____574 = FStar_Util.format2 "%s%s" (status_tag s) (match msg with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some msg1 -> - Prims.op_Hat " because " msg1) in - (uu____662, errs) -let (tid : unit -> Prims.string) = - fun uu____679 -> - let uu____680 = FStar_Util.current_tid () in - FStar_All.pipe_right uu____680 FStar_Util.string_of_int -let (new_z3proc : Prims.string -> FStar_Util.proc) = - fun id1 -> - let uu____692 = FStar_Options.z3_exe () in - let uu____694 = ini_params () in - FStar_Util.start_process id1 uu____692 uu____694 (fun s -> s = "Done!") -let (new_z3proc_with_id : unit -> FStar_Util.proc) = - let ctr = FStar_Util.mk_ref (~- (Prims.parse_int "1")) in - fun uu____714 -> - let uu____715 = - let uu____717 = - FStar_Util.incr ctr; - (let uu____720 = FStar_ST.op_Bang ctr in - FStar_All.pipe_right uu____720 FStar_Util.string_of_int) in - FStar_Util.format1 "bg-%s" uu____717 in - new_z3proc uu____715 -type bgproc = - { - ask: Prims.string -> Prims.string ; - refresh: unit -> unit ; - restart: unit -> unit } -let (__proj__Mkbgproc__item__ask : bgproc -> Prims.string -> Prims.string) = - fun projectee -> match projectee with | { ask; refresh; restart;_} -> ask -let (__proj__Mkbgproc__item__refresh : bgproc -> unit -> unit) = - fun projectee -> - match projectee with | { ask; refresh; restart;_} -> refresh -let (__proj__Mkbgproc__item__restart : bgproc -> unit -> unit) = - fun projectee -> - match projectee with | { ask; refresh; restart;_} -> restart + Prims.op_Hat " because " msg1) + in + (uu____574, errs) + type query_log = { get_module_name: unit -> Prims.string ; @@ -222,145 +177,251 @@ type query_log = close_log: unit -> unit } let (__proj__Mkquery_log__item__get_module_name : query_log -> unit -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { get_module_name; set_module_name; write_to_log; close_log;_} -> get_module_name + let (__proj__Mkquery_log__item__set_module_name : query_log -> Prims.string -> unit) = - fun projectee -> + fun projectee -> match projectee with | { get_module_name; set_module_name; write_to_log; close_log;_} -> set_module_name + let (__proj__Mkquery_log__item__write_to_log : query_log -> Prims.bool -> Prims.string -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { get_module_name; set_module_name; write_to_log; close_log;_} -> write_to_log + let (__proj__Mkquery_log__item__close_log : query_log -> unit -> unit) = - fun projectee -> + fun projectee -> match projectee with | { get_module_name; set_module_name; write_to_log; close_log;_} -> close_log + let (query_logging : query_log) = - let query_number = FStar_Util.mk_ref (Prims.parse_int "0") in - let log_file_opt = FStar_Util.mk_ref FStar_Pervasives_Native.None in - let used_file_names = FStar_Util.mk_ref [] in - let current_module_name = FStar_Util.mk_ref FStar_Pervasives_Native.None in - let current_file_name = FStar_Util.mk_ref FStar_Pervasives_Native.None in + let query_number = FStar_Util.mk_ref (Prims.parse_int "0") in + let log_file_opt = FStar_Util.mk_ref FStar_Pervasives_Native.None in + let used_file_names = FStar_Util.mk_ref [] in + let current_module_name = FStar_Util.mk_ref FStar_Pervasives_Native.None + in + let current_file_name = FStar_Util.mk_ref FStar_Pervasives_Native.None in let set_module_name n1 = FStar_ST.op_Colon_Equals current_module_name - (FStar_Pervasives_Native.Some n1) in - let get_module_name uu____1192 = - let uu____1193 = FStar_ST.op_Bang current_module_name in - match uu____1193 with - | FStar_Pervasives_Native.None -> failwith "Module name not set" - | FStar_Pervasives_Native.Some n1 -> n1 in - let next_file_name uu____1235 = - let n1 = get_module_name () in + (FStar_Pervasives_Native.Some n1) + in + let get_module_name uu____914 = + let uu____915 = FStar_ST.op_Bang current_module_name in + match uu____915 with + | FStar_Pervasives_Native.None -> failwith "Module name not set" + | FStar_Pervasives_Native.Some n1 -> n1 in + let next_file_name uu____957 = + let n1 = get_module_name () in let file_name = - let uu____1240 = - let uu____1249 = FStar_ST.op_Bang used_file_names in + let uu____962 = + let uu____971 = FStar_ST.op_Bang used_file_names in FStar_List.tryFind - (fun uu____1302 -> - match uu____1302 with | (m, uu____1311) -> n1 = m) uu____1249 in - match uu____1240 with - | FStar_Pervasives_Native.None -> - ((let uu____1325 = - let uu____1334 = FStar_ST.op_Bang used_file_names in - (n1, (Prims.parse_int "0")) :: uu____1334 in - FStar_ST.op_Colon_Equals used_file_names uu____1325); + (fun uu____1024 -> + match uu____1024 with | (m,uu____1033) -> n1 = m) uu____971 + in + match uu____962 with + | FStar_Pervasives_Native.None -> + ((let uu____1047 = + let uu____1056 = FStar_ST.op_Bang used_file_names in + (n1, (Prims.parse_int "0")) :: uu____1056 in + FStar_ST.op_Colon_Equals used_file_names uu____1047); n1) - | FStar_Pervasives_Native.Some (uu____1422, k) -> - ((let uu____1435 = - let uu____1444 = FStar_ST.op_Bang used_file_names in - (n1, (k + (Prims.parse_int "1"))) :: uu____1444 in - FStar_ST.op_Colon_Equals used_file_names uu____1435); - (let uu____1532 = - FStar_Util.string_of_int (k + (Prims.parse_int "1")) in - FStar_Util.format2 "%s-%s" n1 uu____1532)) in - FStar_Util.format1 "queries-%s.smt2" file_name in - let new_log_file uu____1547 = - let file_name = next_file_name () in + | FStar_Pervasives_Native.Some (uu____1144,k) -> + ((let uu____1157 = + let uu____1166 = FStar_ST.op_Bang used_file_names in + (n1, (k + (Prims.parse_int "1"))) :: uu____1166 in + FStar_ST.op_Colon_Equals used_file_names uu____1157); + (let uu____1254 = + FStar_Util.string_of_int (k + (Prims.parse_int "1")) in + FStar_Util.format2 "%s-%s" n1 uu____1254)) + in + FStar_Util.format1 "queries-%s.smt2" file_name in + let new_log_file uu____1269 = + let file_name = next_file_name () in FStar_ST.op_Colon_Equals current_file_name (FStar_Pervasives_Native.Some file_name); - (let fh = FStar_Util.open_file_for_writing file_name in + (let fh = FStar_Util.open_file_for_writing file_name in FStar_ST.op_Colon_Equals log_file_opt (FStar_Pervasives_Native.Some (fh, file_name)); - (fh, file_name)) in - let get_log_file uu____1629 = - let uu____1630 = FStar_ST.op_Bang log_file_opt in - match uu____1630 with - | FStar_Pervasives_Native.None -> new_log_file () - | FStar_Pervasives_Native.Some fh -> fh in + (fh, file_name)) + in + let get_log_file uu____1351 = + let uu____1352 = FStar_ST.op_Bang log_file_opt in + match uu____1352 with + | FStar_Pervasives_Native.None -> new_log_file () + | FStar_Pervasives_Native.Some fh -> fh in let append_to_log str = - let uu____1701 = get_log_file () in - match uu____1701 with | (f, nm) -> (FStar_Util.append_to_file f str; nm) in + let uu____1423 = get_log_file () in + match uu____1423 with | (f,nm) -> (FStar_Util.append_to_file f str; nm) + in let write_to_new_log str = - let file_name = next_file_name () in - FStar_Util.write_file file_name str; file_name in + let file_name = next_file_name () in + FStar_Util.write_file file_name str; file_name in let write_to_log fresh str = - let uu____1741 = - fresh || - (let uu____1744 = FStar_Options.n_cores () in - uu____1744 > (Prims.parse_int "1")) in - if uu____1741 then write_to_new_log str else append_to_log str in - let close_log uu____1756 = - let uu____1757 = FStar_ST.op_Bang log_file_opt in - match uu____1757 with - | FStar_Pervasives_Native.None -> () - | FStar_Pervasives_Native.Some (fh, uu____1804) -> + if fresh then write_to_new_log str else append_to_log str in + let close_log uu____1472 = + let uu____1473 = FStar_ST.op_Bang log_file_opt in + match uu____1473 with + | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.Some (fh,uu____1520) -> (FStar_Util.close_file fh; - FStar_ST.op_Colon_Equals log_file_opt FStar_Pervasives_Native.None) in - let log_file_name uu____1857 = - let uu____1858 = FStar_ST.op_Bang current_file_name in - match uu____1858 with - | FStar_Pervasives_Native.None -> failwith "no log file" - | FStar_Pervasives_Native.Some n1 -> n1 in - { get_module_name; set_module_name; write_to_log; close_log } + FStar_ST.op_Colon_Equals log_file_opt FStar_Pervasives_Native.None) + in + let log_file_name uu____1573 = + let uu____1574 = FStar_ST.op_Bang current_file_name in + match uu____1574 with + | FStar_Pervasives_Native.None -> failwith "no log file" + | FStar_Pervasives_Native.Some n1 -> n1 in + { get_module_name; set_module_name; write_to_log; close_log } +let (z3_cmd_and_args : unit -> (Prims.string * Prims.string Prims.list)) = + fun uu____1623 -> + let cmd = FStar_Options.z3_exe () in + let cmd_args = + let uu____1630 = + let uu____1634 = + let uu____1638 = + let uu____1642 = + let uu____1644 = + let uu____1646 = FStar_Options.z3_seed () in + FStar_Util.string_of_int uu____1646 in + FStar_Util.format1 "smt.random_seed=%s" uu____1644 in + [uu____1642] in + "-in" :: uu____1638 in + "-smt2" :: uu____1634 in + let uu____1655 = FStar_Options.z3_cliopt () in + FStar_List.append uu____1630 uu____1655 in + (cmd, cmd_args) + +let (new_z3proc : + Prims.string -> (Prims.string * Prims.string Prims.list) -> FStar_Util.proc) + = + fun id1 -> + fun cmd_and_args -> + check_z3version (); + FStar_Util.start_process id1 (FStar_Pervasives_Native.fst cmd_and_args) + (FStar_Pervasives_Native.snd cmd_and_args) (fun s -> s = "Done!") + +let (new_z3proc_with_id : + (Prims.string * Prims.string Prims.list) -> FStar_Util.proc) = + let ctr = FStar_Util.mk_ref (~- (Prims.parse_int "1")) in + fun cmd_and_args -> + let uu____1735 = + let uu____1737 = + FStar_Util.incr ctr; + (let uu____1740 = FStar_ST.op_Bang ctr in + FStar_All.pipe_right uu____1740 FStar_Util.string_of_int) + in + FStar_Util.format1 "bg-%s" uu____1737 in + new_z3proc uu____1735 cmd_and_args + +type bgproc = + { + ask: Prims.string -> Prims.string ; + refresh: unit -> unit ; + restart: unit -> unit } +let (__proj__Mkbgproc__item__ask : bgproc -> Prims.string -> Prims.string) = + fun projectee -> match projectee with | { ask; refresh; restart;_} -> ask +let (__proj__Mkbgproc__item__refresh : bgproc -> unit -> unit) = + fun projectee -> + match projectee with | { ask; refresh; restart;_} -> refresh + +let (__proj__Mkbgproc__item__restart : bgproc -> unit -> unit) = + fun projectee -> + match projectee with | { ask; refresh; restart;_} -> restart + +let (cmd_and_args_to_string : + (Prims.string * Prims.string Prims.list) -> Prims.string) = + fun cmd_and_args -> + FStar_String.concat "" + ["cmd="; + FStar_Pervasives_Native.fst cmd_and_args; + " args=["; + FStar_String.concat ", " (FStar_Pervasives_Native.snd cmd_and_args); + "]"] + let (bg_z3_proc : bgproc FStar_ST.ref) = - let the_z3proc = FStar_Util.mk_ref FStar_Pervasives_Native.None in - let z3proc uu____1909 = - (let uu____1911 = - let uu____1913 = FStar_ST.op_Bang the_z3proc in - uu____1913 = FStar_Pervasives_Native.None in - if uu____1911 - then - let uu____1942 = - let uu____1945 = new_z3proc_with_id () in - FStar_Pervasives_Native.Some uu____1945 in - FStar_ST.op_Colon_Equals the_z3proc uu____1942 + let the_z3proc = FStar_Util.mk_ref FStar_Pervasives_Native.None in + let the_z3proc_params = + FStar_Util.mk_ref (FStar_Pervasives_Native.Some ("", [""])) in + let the_z3proc_ask_count = FStar_Util.mk_ref (Prims.parse_int "0") in + let make_new_z3_proc cmd_and_args = + (let uu____2003 = + let uu____2006 = new_z3proc_with_id cmd_and_args in + FStar_Pervasives_Native.Some uu____2006 in + FStar_ST.op_Colon_Equals the_z3proc uu____2003); + FStar_ST.op_Colon_Equals the_z3proc_params + (FStar_Pervasives_Native.Some cmd_and_args); + FStar_ST.op_Colon_Equals the_z3proc_ask_count (Prims.parse_int "0") in + let z3proc uu____2105 = + (let uu____2107 = + let uu____2109 = FStar_ST.op_Bang the_z3proc in + uu____2109 = FStar_Pervasives_Native.None in + if uu____2107 + then let uu____2138 = z3_cmd_and_args () in make_new_z3_proc uu____2138 else ()); - (let uu____1971 = FStar_ST.op_Bang the_z3proc in - FStar_Util.must uu____1971) in - let x = [] in + (let uu____2149 = FStar_ST.op_Bang the_z3proc in + FStar_Util.must uu____2149) + in let ask input = - let kill_handler uu____2015 = "\nkilled\n" in - let uu____2017 = z3proc () in - FStar_Util.ask_process uu____2017 input kill_handler in - let refresh uu____2023 = - (let uu____2025 = z3proc () in FStar_Util.kill_process uu____2025); - (let uu____2027 = - let uu____2030 = new_z3proc_with_id () in - FStar_Pervasives_Native.Some uu____2030 in - FStar_ST.op_Colon_Equals the_z3proc uu____2027); - query_logging.close_log () in - let restart uu____2059 = + FStar_Util.incr the_z3proc_ask_count; + (let kill_handler uu____2191 = "\nkilled\n" in + let uu____2193 = z3proc () in + FStar_Util.ask_process uu____2193 input kill_handler) + in + let refresh uu____2199 = + let next_params = z3_cmd_and_args () in + let old_params = + let uu____2218 = FStar_ST.op_Bang the_z3proc_params in + FStar_Util.must uu____2218 in + (let uu____2277 = + ((FStar_Options.log_queries ()) || + (let uu____2280 = FStar_ST.op_Bang the_z3proc_ask_count in + uu____2280 > (Prims.parse_int "0"))) + || (Prims.op_Negation (old_params = next_params)) + in + if uu____2277 + then + ((let uu____2314 = + (FStar_Options.query_stats ()) && + (let uu____2317 = + let uu____2319 = FStar_ST.op_Bang the_z3proc in + uu____2319 = FStar_Pervasives_Native.None in + Prims.op_Negation uu____2317) + in + if uu____2314 + then + let uu____2348 = + let uu____2350 = FStar_ST.op_Bang the_z3proc_ask_count in + FStar_Util.string_of_int uu____2350 in + FStar_Util.print3 + "Refreshing the z3proc (ask_count=%s old=[%s] new=[%s]) \n" + uu____2348 (cmd_and_args_to_string old_params) + (cmd_and_args_to_string next_params) + else ()); + (let uu____2377 = z3proc () in FStar_Util.kill_process uu____2377); + make_new_z3_proc next_params) + else ()); + query_logging.close_log () in + let restart uu____2385 = query_logging.close_log (); - FStar_ST.op_Colon_Equals the_z3proc FStar_Pervasives_Native.None; - (let uu____2085 = - let uu____2088 = new_z3proc_with_id () in - FStar_Pervasives_Native.Some uu____2088 in - FStar_ST.op_Colon_Equals the_z3proc uu____2085) in + (let next_params = z3_cmd_and_args () in make_new_z3_proc next_params) + in + let x = [] in FStar_Util.mk_ref { ask = (FStar_Util.with_monitor x ask); refresh = (FStar_Util.with_monitor x refresh); restart = (FStar_Util.with_monitor x restart) } -let (set_bg_z3_proc : bgproc -> unit) = - fun bgp -> FStar_ST.op_Colon_Equals bg_z3_proc bgp + type smt_output_section = Prims.string Prims.list type smt_output = { @@ -371,41 +432,46 @@ type smt_output = smt_labels: smt_output_section FStar_Pervasives_Native.option } let (__proj__Mksmt_output__item__smt_result : smt_output -> smt_output_section) = - fun projectee -> + fun projectee -> match projectee with | { smt_result; smt_reason_unknown; smt_unsat_core; smt_statistics; smt_labels;_} -> smt_result + let (__proj__Mksmt_output__item__smt_reason_unknown : smt_output -> smt_output_section FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { smt_result; smt_reason_unknown; smt_unsat_core; smt_statistics; smt_labels;_} -> smt_reason_unknown + let (__proj__Mksmt_output__item__smt_unsat_core : smt_output -> smt_output_section FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { smt_result; smt_reason_unknown; smt_unsat_core; smt_statistics; smt_labels;_} -> smt_unsat_core + let (__proj__Mksmt_output__item__smt_statistics : smt_output -> smt_output_section FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { smt_result; smt_reason_unknown; smt_unsat_core; smt_statistics; smt_labels;_} -> smt_statistics + let (__proj__Mksmt_output__item__smt_labels : smt_output -> smt_output_section FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { smt_result; smt_reason_unknown; smt_unsat_core; smt_statistics; smt_labels;_} -> smt_labels + let (smt_output_sections : Prims.string FStar_Pervasives_Native.option -> FStar_Range.range -> Prims.string Prims.list -> smt_output) = - fun log_file -> - fun r -> - fun lines -> + fun log_file -> + fun r -> + fun lines -> let rec until tag lines1 = match lines1 with | [] -> FStar_Pervasives_Native.None @@ -413,74 +479,80 @@ let (smt_output_sections : if tag = l then FStar_Pervasives_Native.Some ([], lines2) else - (let uu____2414 = until tag lines2 in - FStar_Util.map_opt uu____2414 - (fun uu____2450 -> - match uu____2450 with - | (until_tag, rest) -> ((l :: until_tag), rest))) in - let start_tag tag = Prims.op_Hat "<" (Prims.op_Hat tag ">") in - let end_tag tag = Prims.op_Hat "") in + (let uu____2676 = until tag lines2 in + FStar_Util.map_opt uu____2676 + (fun uu____2712 -> + match uu____2712 with + | (until_tag,rest) -> ((l :: until_tag), rest))) + in + let start_tag tag = Prims.op_Hat "<" (Prims.op_Hat tag ">") in + let end_tag tag = Prims.op_Hat "") in let find_section tag lines1 = - let uu____2557 = until (start_tag tag) lines1 in - match uu____2557 with - | FStar_Pervasives_Native.None -> + let uu____2819 = until (start_tag tag) lines1 in + match uu____2819 with + | FStar_Pervasives_Native.None -> (FStar_Pervasives_Native.None, lines1) - | FStar_Pervasives_Native.Some (prefix1, suffix) -> - let uu____2627 = until (end_tag tag) suffix in - (match uu____2627 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.Some (prefix1,suffix) -> + let uu____2889 = until (end_tag tag) suffix in + (match uu____2889 with + | FStar_Pervasives_Native.None -> failwith (Prims.op_Hat "Parse error: " (Prims.op_Hat (end_tag tag) " not found")) - | FStar_Pervasives_Native.Some (section, suffix1) -> + | FStar_Pervasives_Native.Some (section,suffix1) -> ((FStar_Pervasives_Native.Some section), - (FStar_List.append prefix1 suffix1))) in - let uu____2712 = find_section "result" lines in - match uu____2712 with - | (result_opt, lines1) -> - let result = FStar_Util.must result_opt in - let uu____2751 = find_section "reason-unknown" lines1 in - (match uu____2751 with - | (reason_unknown, lines2) -> - let uu____2783 = find_section "unsat-core" lines2 in - (match uu____2783 with - | (unsat_core, lines3) -> - let uu____2815 = find_section "statistics" lines3 in - (match uu____2815 with - | (statistics, lines4) -> - let uu____2847 = find_section "labels" lines4 in - (match uu____2847 with - | (labels, lines5) -> + (FStar_List.append prefix1 suffix1))) + in + let uu____2974 = find_section "result" lines in + match uu____2974 with + | (result_opt,lines1) -> + let result = FStar_Util.must result_opt in + let uu____3013 = find_section "reason-unknown" lines1 in + (match uu____3013 with + | (reason_unknown,lines2) -> + let uu____3045 = find_section "unsat-core" lines2 in + (match uu____3045 with + | (unsat_core,lines3) -> + let uu____3077 = find_section "statistics" lines3 in + (match uu____3077 with + | (statistics,lines4) -> + let uu____3109 = find_section "labels" lines4 in + (match uu____3109 with + | (labels,lines5) -> let remaining = - let uu____2883 = until "Done!" lines5 in - match uu____2883 with - | FStar_Pervasives_Native.None -> lines5 + let uu____3145 = until "Done!" lines5 in + match uu____3145 with + | FStar_Pervasives_Native.None -> lines5 | FStar_Pervasives_Native.Some - (prefix1, suffix) -> - FStar_List.append prefix1 suffix in + (prefix1,suffix) -> + FStar_List.append prefix1 suffix + in ((match remaining with | [] -> () - | uu____2937 -> + | uu____3199 -> let msg = FStar_Util.format2 "%sUnexpected output from Z3: %s\n" (match log_file with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some f -> Prims.op_Hat f ": ") - (FStar_String.concat "\n" remaining) in + (FStar_String.concat "\n" remaining) + in FStar_Errors.log_issue r (FStar_Errors.Warning_UnexpectedZ3Output, msg)); - (let uu____2953 = FStar_Util.must result_opt in + (let uu____3215 = FStar_Util.must result_opt + in { - smt_result = uu____2953; + smt_result = uu____3215; smt_reason_unknown = reason_unknown; smt_unsat_core = unsat_core; smt_statistics = statistics; smt_labels = labels })))))) + let (doZ3Exe : Prims.string FStar_Pervasives_Native.option -> FStar_Range.range -> @@ -488,128 +560,144 @@ let (doZ3Exe : Prims.string -> FStar_SMTEncoding_Term.error_labels -> (z3status * z3statistics)) = - fun log_file -> - fun r -> - fun fresh -> - fun input -> - fun label_messages -> + fun log_file -> + fun r -> + fun fresh -> + fun input -> + fun label_messages -> let parse z3out = let lines = FStar_All.pipe_right (FStar_String.split [10] z3out) - (FStar_List.map FStar_Util.trim_string) in - let smt_output = smt_output_sections log_file r lines in + (FStar_List.map FStar_Util.trim_string) + in + let smt_output = smt_output_sections log_file r lines in let unsat_core = match smt_output.smt_unsat_core with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some s -> let s1 = - FStar_Util.trim_string (FStar_String.concat " " s) in + FStar_Util.trim_string (FStar_String.concat " " s) in let s2 = FStar_Util.substring s1 (Prims.parse_int "1") - ((FStar_String.length s1) - (Prims.parse_int "2")) in + ((FStar_String.length s1) - (Prims.parse_int "2")) + in if FStar_Util.starts_with s2 "error" then FStar_Pervasives_Native.None else - (let uu____3048 = + (let uu____3310 = FStar_All.pipe_right (FStar_Util.split s2 " ") - (FStar_Util.sort_with FStar_String.compare) in - FStar_Pervasives_Native.Some uu____3048) in + (FStar_Util.sort_with FStar_String.compare) + in + FStar_Pervasives_Native.Some uu____3310) + in let labels = match smt_output.smt_labels with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some lines1 -> let rec lblnegs lines2 = match lines2 with | lname::"false"::rest when FStar_Util.starts_with lname "label_" -> - let uu____3093 = lblnegs rest in lname :: - uu____3093 - | lname::uu____3099::rest when + let uu____3355 = lblnegs rest in lname :: + uu____3355 + | lname::uu____3361::rest when FStar_Util.starts_with lname "label_" -> lblnegs rest - | uu____3109 -> [] in - let lblnegs1 = lblnegs lines1 in + | uu____3371 -> [] in + let lblnegs1 = lblnegs lines1 in FStar_All.pipe_right lblnegs1 (FStar_List.collect - (fun l -> - let uu____3133 = + (fun l -> + let uu____3395 = FStar_All.pipe_right label_messages (FStar_List.tryFind - (fun uu____3173 -> - match uu____3173 with - | (m, uu____3183, uu____3184) -> - let uu____3187 = - FStar_SMTEncoding_Term.fv_name m in - uu____3187 = l)) in - match uu____3133 with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some (lbl, msg, r1) -> - [(lbl, msg, r1)])) in + (fun uu____3435 -> + match uu____3435 with + | (m,uu____3445,uu____3446) -> + let uu____3449 = + FStar_SMTEncoding_Term.fv_name m + in + uu____3449 = l)) + in + match uu____3395 with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some (lbl,msg,r1) -> + [(lbl, msg, r1)])) + in let statistics = - let statistics = FStar_Util.smap_create (Prims.parse_int "0") in + let statistics = FStar_Util.smap_create (Prims.parse_int "0") + in match smt_output.smt_statistics with - | FStar_Pervasives_Native.None -> statistics + | FStar_Pervasives_Native.None -> statistics | FStar_Pervasives_Native.Some lines1 -> let parse_line line = let pline = - FStar_Util.split (FStar_Util.trim_string line) ":" in + FStar_Util.split (FStar_Util.trim_string line) ":" + in match pline with | "("::entry::[] -> - let tokens = FStar_Util.split entry " " in - let key = FStar_List.hd tokens in + let tokens = FStar_Util.split entry " " in + let key = FStar_List.hd tokens in let ltok = FStar_List.nth tokens ((FStar_List.length tokens) - - (Prims.parse_int "1")) in + (Prims.parse_int "1")) + in let value = if FStar_Util.ends_with ltok ")" then FStar_Util.substring ltok (Prims.parse_int "0") ((FStar_String.length ltok) - (Prims.parse_int "1")) - else ltok in + else ltok in FStar_Util.smap_add statistics key value | ""::entry::[] -> - let tokens = FStar_Util.split entry " " in - let key = FStar_List.hd tokens in + let tokens = FStar_Util.split entry " " in + let key = FStar_List.hd tokens in let ltok = FStar_List.nth tokens ((FStar_List.length tokens) - - (Prims.parse_int "1")) in + (Prims.parse_int "1")) + in let value = if FStar_Util.ends_with ltok ")" then FStar_Util.substring ltok (Prims.parse_int "0") ((FStar_String.length ltok) - (Prims.parse_int "1")) - else ltok in + else ltok in FStar_Util.smap_add statistics key value - | uu____3316 -> () in - (FStar_List.iter parse_line lines1; statistics) in + | uu____3578 -> () in + (FStar_List.iter parse_line lines1; statistics) + in let reason_unknown = FStar_Util.map_opt smt_output.smt_reason_unknown - (fun x -> - let ru = FStar_String.concat " " x in + (fun x -> + let ru = FStar_String.concat " " x in if FStar_Util.starts_with ru "(:reason-unknown \"" then let reason = FStar_Util.substring_from ru - (FStar_String.length "(:reason-unknown \"") in + (FStar_String.length "(:reason-unknown \"") + in let res = FStar_String.substring reason (Prims.parse_int "0") ((FStar_String.length reason) - - (Prims.parse_int "2")) in + (Prims.parse_int "2")) + in res - else ru) in + else ru) + in let status = - (let uu____3349 = FStar_Options.debug_any () in - if uu____3349 + (let uu____3611 = FStar_Options.debug_any () in + if uu____3611 then - let uu____3352 = + let uu____3614 = FStar_Util.format1 "Z3 says: %s\n" - (FStar_String.concat "\n" smt_output.smt_result) in - FStar_All.pipe_left FStar_Util.print_string uu____3352 + (FStar_String.concat "\n" smt_output.smt_result) + in + FStar_All.pipe_left FStar_Util.print_string uu____3614 else ()); (match smt_output.smt_result with | "unsat"::[] -> UNSAT unsat_core @@ -617,43 +705,50 @@ let (doZ3Exe : | "unknown"::[] -> UNKNOWN (labels, reason_unknown) | "timeout"::[] -> TIMEOUT (labels, reason_unknown) | "killed"::[] -> - ((let uu____3384 = - let uu____3389 = FStar_ST.op_Bang bg_z3_proc in - uu____3389.restart in - uu____3384 ()); + ((let uu____3646 = + let uu____3651 = FStar_ST.op_Bang bg_z3_proc in + uu____3651.restart in + uu____3646 ()); KILLED) - | uu____3409 -> - let uu____3410 = + | uu____3671 -> + let uu____3672 = FStar_Util.format1 "Unexpected output from Z3: got output result: %s\n" - (FStar_String.concat "\n" smt_output.smt_result) in - failwith uu____3410) in - (status, statistics) in + (FStar_String.concat "\n" smt_output.smt_result) + in + failwith uu____3672) + in + (status, statistics) in let stdout1 = if fresh then - let proc = new_z3proc_with_id () in - let kill_handler uu____3425 = "\nkilled\n" in - let out = FStar_Util.ask_process proc input kill_handler in + let proc = + let uu____3681 = z3_cmd_and_args () in + new_z3proc_with_id uu____3681 in + let kill_handler uu____3696 = "\nkilled\n" in + let out = FStar_Util.ask_process proc input kill_handler in (FStar_Util.kill_process proc; out) else - (let uu____3432 = - let uu____3439 = FStar_ST.op_Bang bg_z3_proc in - uu____3439.ask in - uu____3432 input) in + (let uu____3703 = + let uu____3710 = FStar_ST.op_Bang bg_z3_proc in + uu____3710.ask in + uu____3703 input) + in parse (FStar_Util.trim_string stdout1) + let (z3_options : Prims.string FStar_ST.ref) = FStar_Util.mk_ref "(set-option :global-decls false)\n(set-option :smt.mbqi false)\n(set-option :auto_config false)\n(set-option :produce-unsat-cores true)\n(set-option :model true)\n(set-option :smt.case_split 3)\n(set-option :smt.relevancy 2)\n" + let (set_z3_options : Prims.string -> unit) = - fun opts -> FStar_ST.op_Colon_Equals z3_options opts + fun opts -> FStar_ST.op_Colon_Equals z3_options opts type 'a job_t = { job: unit -> 'a ; callback: 'a -> unit } let __proj__Mkjob_t__item__job : 'a . 'a job_t -> unit -> 'a = - fun projectee -> match projectee with | { job; callback;_} -> job + fun projectee -> match projectee with | { job; callback;_} -> job let __proj__Mkjob_t__item__callback : 'a . 'a job_t -> 'a -> unit = - fun projectee -> match projectee with | { job; callback;_} -> callback + fun projectee -> match projectee with | { job; callback;_} -> callback type z3result = { z3result_status: z3status ; @@ -662,370 +757,273 @@ type z3result = z3result_query_hash: Prims.string FStar_Pervasives_Native.option ; z3result_log_file: Prims.string FStar_Pervasives_Native.option } let (__proj__Mkz3result__item__z3result_status : z3result -> z3status) = - fun projectee -> + fun projectee -> match projectee with | { z3result_status; z3result_time; z3result_statistics; z3result_query_hash; z3result_log_file;_} -> z3result_status + let (__proj__Mkz3result__item__z3result_time : z3result -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { z3result_status; z3result_time; z3result_statistics; z3result_query_hash; z3result_log_file;_} -> z3result_time + let (__proj__Mkz3result__item__z3result_statistics : z3result -> z3statistics) = - fun projectee -> + fun projectee -> match projectee with | { z3result_status; z3result_time; z3result_statistics; z3result_query_hash; z3result_log_file;_} -> z3result_statistics + let (__proj__Mkz3result__item__z3result_query_hash : z3result -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { z3result_status; z3result_time; z3result_statistics; z3result_query_hash; z3result_log_file;_} -> z3result_query_hash + let (__proj__Mkz3result__item__z3result_log_file : z3result -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { z3result_status; z3result_time; z3result_statistics; z3result_query_hash; z3result_log_file;_} -> z3result_log_file + type z3job = z3result job_t -let (job_queue : z3job Prims.list FStar_ST.ref) = FStar_Util.mk_ref [] -let (pending_jobs : Prims.int FStar_ST.ref) = - FStar_Util.mk_ref (Prims.parse_int "0") -let (z3_job : - Prims.string FStar_Pervasives_Native.option -> - FStar_Range.range -> - Prims.bool -> - FStar_SMTEncoding_Term.error_labels -> - Prims.string -> - Prims.string FStar_Pervasives_Native.option -> unit -> z3result) - = - fun log_file -> - fun r -> - fun fresh -> - fun label_messages -> - fun input -> - fun qhash -> - fun uu____3766 -> - let start = FStar_Util.now () in - let uu____3776 = - try - (fun uu___398_3786 -> - match () with - | () -> doZ3Exe log_file r fresh input label_messages) - () - with - | uu___397_3793 -> - if - let uu____3798 = FStar_Options.trace_error () in - Prims.op_Negation uu____3798 - then - Obj.magic - (Obj.repr - ((let uu____3801 = - let uu____3806 = FStar_ST.op_Bang bg_z3_proc in - uu____3806.refresh in - uu____3801 ()); - FStar_Exn.raise uu___397_3793)) - else Obj.magic (Obj.repr (failwith "unreachable")) in - match uu____3776 with - | (status, statistics) -> - let uu____3832 = - let uu____3838 = FStar_Util.now () in - FStar_Util.time_diff start uu____3838 in - (match uu____3832 with - | (uu____3839, elapsed_time) -> - { - z3result_status = status; - z3result_time = elapsed_time; - z3result_statistics = statistics; - z3result_query_hash = qhash; - z3result_log_file = log_file - }) -let (running : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false -let rec (dequeue' : unit -> unit) = - fun uu____3862 -> - let j = - let uu____3864 = FStar_ST.op_Bang job_queue in - match uu____3864 with - | [] -> failwith "Impossible" - | hd1::tl1 -> (FStar_ST.op_Colon_Equals job_queue tl1; hd1) in - FStar_Util.incr pending_jobs; - FStar_Util.monitor_exit job_queue; - run_job j; - FStar_Util.with_monitor job_queue - (fun uu____3932 -> FStar_Util.decr pending_jobs) (); - dequeue () -and (dequeue : unit -> unit) = - fun uu____3934 -> - let uu____3935 = FStar_ST.op_Bang running in - if uu____3935 - then - let rec aux uu____3963 = - FStar_Util.monitor_enter job_queue; - (let uu____3969 = FStar_ST.op_Bang job_queue in - match uu____3969 with - | [] -> - (FStar_Util.monitor_exit job_queue; - FStar_Util.sleep (Prims.parse_int "50"); - aux ()) - | uu____4002 -> dequeue' ()) in - aux () - else () -and (run_job : z3job -> unit) = - fun j -> - let uu____4006 = j.job () in FStar_All.pipe_left j.callback uu____4006 -let (init : unit -> unit) = - fun uu____4012 -> - FStar_ST.op_Colon_Equals running true; - (let n_cores1 = FStar_Options.n_cores () in - if n_cores1 > (Prims.parse_int "1") - then - let rec aux n1 = - if n1 = (Prims.parse_int "0") - then () - else (FStar_Util.spawn dequeue; aux (n1 - (Prims.parse_int "1"))) in - aux n_cores1 - else ()) -let (enqueue : z3job -> unit) = - fun j -> - FStar_Util.with_monitor job_queue - (fun uu____4069 -> - (let uu____4071 = - let uu____4074 = FStar_ST.op_Bang job_queue in - FStar_List.append uu____4074 [j] in - FStar_ST.op_Colon_Equals job_queue uu____4071); - FStar_Util.monitor_pulse job_queue) () -let (finish : unit -> unit) = - fun uu____4132 -> - let rec aux uu____4138 = - let uu____4139 = - FStar_Util.with_monitor job_queue - (fun uu____4157 -> - let uu____4158 = FStar_ST.op_Bang pending_jobs in - let uu____4181 = - let uu____4182 = FStar_ST.op_Bang job_queue in - FStar_List.length uu____4182 in - (uu____4158, uu____4181)) () in - match uu____4139 with - | (n1, m) -> - if (n1 + m) = (Prims.parse_int "0") - then FStar_ST.op_Colon_Equals running false - else (FStar_Util.sleep (Prims.parse_int "500"); aux ()) in - aux () +let run_job : 'Auu____3986 . 'Auu____3986 job_t -> unit = + fun j -> + let uu____3996 = j.job () in FStar_All.pipe_left j.callback uu____3996 + +let (init : unit -> unit) = fun uu____4002 -> () +let (finish : unit -> unit) = fun uu____4008 -> () type scope_t = FStar_SMTEncoding_Term.decl Prims.list Prims.list -let (fresh_scope : scope_t FStar_ST.ref) = FStar_Util.mk_ref [[]] +let (fresh_scope : scope_t FStar_ST.ref) = FStar_Util.mk_ref [[]] let (mk_fresh_scope : unit -> scope_t) = - fun uu____4258 -> FStar_ST.op_Bang fresh_scope + fun uu____4025 -> FStar_ST.op_Bang fresh_scope let (flatten_fresh_scope : unit -> FStar_SMTEncoding_Term.decl Prims.list) = - fun uu____4285 -> - let uu____4286 = - let uu____4291 = FStar_ST.op_Bang fresh_scope in - FStar_List.rev uu____4291 in - FStar_List.flatten uu____4286 + fun uu____4052 -> + let uu____4053 = + let uu____4058 = FStar_ST.op_Bang fresh_scope in + FStar_List.rev uu____4058 in + FStar_List.flatten uu____4053 + let (bg_scope : FStar_SMTEncoding_Term.decl Prims.list FStar_ST.ref) = - FStar_Util.mk_ref [] + FStar_Util.mk_ref [] let (push : Prims.string -> unit) = - fun msg -> + fun msg -> FStar_Util.atomically - (fun uu____4335 -> - (let uu____4337 = - let uu____4338 = FStar_ST.op_Bang fresh_scope in + (fun uu____4102 -> + (let uu____4104 = + let uu____4105 = FStar_ST.op_Bang fresh_scope in [FStar_SMTEncoding_Term.Caption msg; FStar_SMTEncoding_Term.Push] - :: uu____4338 in - FStar_ST.op_Colon_Equals fresh_scope uu____4337); - (let uu____4383 = - let uu____4386 = FStar_ST.op_Bang bg_scope in - FStar_List.append uu____4386 + :: uu____4105 + in + FStar_ST.op_Colon_Equals fresh_scope uu____4104); + (let uu____4150 = + let uu____4153 = FStar_ST.op_Bang bg_scope in + FStar_List.append uu____4153 [FStar_SMTEncoding_Term.Push; - FStar_SMTEncoding_Term.Caption msg] in - FStar_ST.op_Colon_Equals bg_scope uu____4383)) + FStar_SMTEncoding_Term.Caption msg] + in + FStar_ST.op_Colon_Equals bg_scope uu____4150)) + let (pop : Prims.string -> unit) = - fun msg -> + fun msg -> FStar_Util.atomically - (fun uu____4446 -> - (let uu____4448 = - let uu____4449 = FStar_ST.op_Bang fresh_scope in - FStar_List.tl uu____4449 in - FStar_ST.op_Colon_Equals fresh_scope uu____4448); - (let uu____4494 = - let uu____4497 = FStar_ST.op_Bang bg_scope in - FStar_List.append uu____4497 + (fun uu____4213 -> + (let uu____4215 = + let uu____4216 = FStar_ST.op_Bang fresh_scope in + FStar_List.tl uu____4216 in + FStar_ST.op_Colon_Equals fresh_scope uu____4215); + (let uu____4261 = + let uu____4264 = FStar_ST.op_Bang bg_scope in + FStar_List.append uu____4264 [FStar_SMTEncoding_Term.Caption msg; - FStar_SMTEncoding_Term.Pop] in - FStar_ST.op_Colon_Equals bg_scope uu____4494)) + FStar_SMTEncoding_Term.Pop] + in + FStar_ST.op_Colon_Equals bg_scope uu____4261)) + let (snapshot : Prims.string -> (Prims.int * unit)) = - fun msg -> FStar_Common.snapshot push fresh_scope msg + fun msg -> FStar_Common.snapshot push fresh_scope msg let (rollback : Prims.string -> Prims.int FStar_Pervasives_Native.option -> unit) = - fun msg -> - fun depth -> - FStar_Common.rollback (fun uu____4584 -> pop msg) fresh_scope depth + fun msg -> + fun depth -> + FStar_Common.rollback (fun uu____4351 -> pop msg) fresh_scope depth + let (giveZ3 : FStar_SMTEncoding_Term.decl Prims.list -> unit) = - fun decls -> + fun decls -> FStar_All.pipe_right decls (FStar_List.iter - (fun uu___2_4599 -> - match uu___2_4599 with - | FStar_SMTEncoding_Term.Push -> failwith "Unexpected push/pop" - | FStar_SMTEncoding_Term.Pop -> failwith "Unexpected push/pop" - | uu____4602 -> ())); - (let uu____4604 = FStar_ST.op_Bang fresh_scope in - match uu____4604 with + (fun uu___1_4366 -> + match uu___1_4366 with + | FStar_SMTEncoding_Term.Push -> failwith "Unexpected push/pop" + | FStar_SMTEncoding_Term.Pop -> failwith "Unexpected push/pop" + | uu____4369 -> ())); + (let uu____4371 = FStar_ST.op_Bang fresh_scope in + match uu____4371 with | hd1::tl1 -> FStar_ST.op_Colon_Equals fresh_scope ((FStar_List.append hd1 decls) :: tl1) - | uu____4655 -> failwith "Impossible"); - (let uu____4657 = - let uu____4660 = FStar_ST.op_Bang bg_scope in - FStar_List.append uu____4660 decls in - FStar_ST.op_Colon_Equals bg_scope uu____4657) + | uu____4422 -> failwith "Impossible"); + (let uu____4424 = + let uu____4427 = FStar_ST.op_Bang bg_scope in + FStar_List.append uu____4427 decls in + FStar_ST.op_Colon_Equals bg_scope uu____4424) + let (refresh : unit -> unit) = - fun uu____4714 -> - (let uu____4716 = - let uu____4718 = FStar_Options.n_cores () in - uu____4718 < (Prims.parse_int "2") in - if uu____4716 - then - let uu____4722 = - let uu____4727 = FStar_ST.op_Bang bg_z3_proc in uu____4727.refresh in - uu____4722 () - else ()); - (let uu____4749 = flatten_fresh_scope () in - FStar_ST.op_Colon_Equals bg_scope uu____4749) + fun uu____4481 -> + (let uu____4483 = + let uu____4488 = FStar_ST.op_Bang bg_z3_proc in uu____4488.refresh + in + uu____4483 ()); + (let uu____4508 = flatten_fresh_scope () in + FStar_ST.op_Colon_Equals bg_scope uu____4508) + let (context_profile : FStar_SMTEncoding_Term.decl Prims.list -> unit) = - fun theory -> - let uu____4785 = + fun theory -> + let uu____4544 = FStar_List.fold_left - (fun uu____4818 -> - fun d -> - match uu____4818 with - | (out, _total) -> + (fun uu____4577 -> + fun d -> + match uu____4577 with + | (out,_total) -> (match d with - | FStar_SMTEncoding_Term.Module (name, decls) -> + | FStar_SMTEncoding_Term.Module (name,decls) -> let decls1 = FStar_List.filter - (fun uu___3_4887 -> - match uu___3_4887 with - | FStar_SMTEncoding_Term.Assume uu____4889 -> + (fun uu___2_4646 -> + match uu___2_4646 with + | FStar_SMTEncoding_Term.Assume uu____4648 -> true - | uu____4891 -> false) decls in - let n1 = FStar_List.length decls1 in + | uu____4650 -> false) decls + in + let n1 = FStar_List.length decls1 in (((name, n1) :: out), (n1 + _total)) - | uu____4908 -> (out, _total))) ([], (Prims.parse_int "0")) - theory in - match uu____4785 with - | (modules, total_decls) -> + | uu____4667 -> (out, _total))) ([], (Prims.parse_int "0")) + theory + in + match uu____4544 with + | (modules,total_decls) -> let modules1 = FStar_List.sortWith - (fun uu____4970 -> - fun uu____4971 -> - match (uu____4970, uu____4971) with - | ((uu____4997, n1), (uu____4999, m)) -> m - n1) modules in + (fun uu____4729 -> + fun uu____4730 -> + match (uu____4729, uu____4730) with + | ((uu____4756,n1),(uu____4758,m)) -> m - n1) modules + in (if modules1 <> [] then - (let uu____5037 = FStar_Util.string_of_int total_decls in + (let uu____4796 = FStar_Util.string_of_int total_decls in FStar_Util.print1 "Z3 Proof Stats: context_profile with %s assertions\n" - uu____5037) + uu____4796) else (); FStar_List.iter - (fun uu____5052 -> - match uu____5052 with - | (m, n1) -> + (fun uu____4811 -> + match uu____4811 with + | (m,n1) -> if n1 <> (Prims.parse_int "0") then - let uu____5068 = FStar_Util.string_of_int n1 in + let uu____4827 = FStar_Util.string_of_int n1 in FStar_Util.print2 "Z3 Proof Stats: %s produced %s SMT decls\n" m - uu____5068 + uu____4827 else ()) modules1) + let (mk_input : Prims.bool -> FStar_SMTEncoding_Term.decl Prims.list -> (Prims.string * Prims.string FStar_Pervasives_Native.option * Prims.string FStar_Pervasives_Native.option)) = - fun fresh -> - fun theory -> - let options = FStar_ST.op_Bang z3_options in - (let uu____5127 = FStar_Options.print_z3_statistics () in - if uu____5127 then context_profile theory else ()); - (let uu____5132 = - let uu____5141 = + fun fresh -> + fun theory -> + let options = FStar_ST.op_Bang z3_options in + (let uu____4886 = FStar_Options.print_z3_statistics () in + if uu____4886 then context_profile theory else ()); + (let uu____4891 = + let uu____4900 = (FStar_Options.record_hints ()) || ((FStar_Options.use_hints ()) && - (FStar_Options.use_hint_hashes ())) in - if uu____5141 + (FStar_Options.use_hint_hashes ())) + in + if uu____4900 then - let uu____5152 = - let uu____5163 = + let uu____4911 = + let uu____4922 = FStar_All.pipe_right theory (FStar_Util.prefix_until - (fun uu___4_5191 -> - match uu___4_5191 with - | FStar_SMTEncoding_Term.CheckSat -> true - | uu____5194 -> false)) in - FStar_All.pipe_right uu____5163 FStar_Option.get in - match uu____5152 with - | (prefix1, check_sat, suffix) -> + (fun uu___3_4950 -> + match uu___3_4950 with + | FStar_SMTEncoding_Term.CheckSat -> true + | uu____4953 -> false)) + in + FStar_All.pipe_right uu____4922 FStar_Option.get in + match uu____4911 with + | (prefix1,check_sat,suffix) -> let pp = - FStar_List.map (FStar_SMTEncoding_Term.declToSmt options) in - let suffix1 = check_sat :: suffix in - let ps_lines = pp prefix1 in - let ss_lines = pp suffix1 in - let ps = FStar_String.concat "\n" ps_lines in - let ss = FStar_String.concat "\n" ss_lines in + FStar_List.map (FStar_SMTEncoding_Term.declToSmt options) + in + let suffix1 = check_sat :: suffix in + let ps_lines = pp prefix1 in + let ss_lines = pp suffix1 in + let ps = FStar_String.concat "\n" ps_lines in + let ss = FStar_String.concat "\n" ss_lines in let hs = - let uu____5277 = FStar_Options.keep_query_captions () in - if uu____5277 + let uu____5036 = FStar_Options.keep_query_captions () in + if uu____5036 then - let uu____5281 = + let uu____5040 = FStar_All.pipe_right prefix1 (FStar_List.map - (FStar_SMTEncoding_Term.declToSmt_no_caps options)) in - FStar_All.pipe_right uu____5281 (FStar_String.concat "\n") - else ps in - let uu____5298 = - let uu____5302 = FStar_Util.digest_of_string hs in - FStar_Pervasives_Native.Some uu____5302 in - ((Prims.op_Hat ps (Prims.op_Hat "\n" ss)), uu____5298) + (FStar_SMTEncoding_Term.declToSmt_no_caps options)) + in + FStar_All.pipe_right uu____5040 (FStar_String.concat "\n") + else ps in + let uu____5057 = + let uu____5061 = FStar_Util.digest_of_string hs in + FStar_Pervasives_Native.Some uu____5061 in + ((Prims.op_Hat ps (Prims.op_Hat "\n" ss)), uu____5057) else - (let uu____5312 = - let uu____5314 = + (let uu____5071 = + let uu____5073 = FStar_List.map (FStar_SMTEncoding_Term.declToSmt options) - theory in - FStar_All.pipe_right uu____5314 (FStar_String.concat "\n") in - (uu____5312, FStar_Pervasives_Native.None)) in - match uu____5132 with - | (r, hash) -> + theory + in + FStar_All.pipe_right uu____5073 (FStar_String.concat "\n") in + (uu____5071, FStar_Pervasives_Native.None)) + in + match uu____4891 with + | (r,hash) -> let log_file_name = - let uu____5356 = FStar_Options.log_queries () in - if uu____5356 + let uu____5115 = FStar_Options.log_queries () in + if uu____5115 then - let uu____5362 = query_logging.write_to_log fresh r in - FStar_Pervasives_Native.Some uu____5362 - else FStar_Pervasives_Native.None in + let uu____5121 = query_logging.write_to_log fresh r in + FStar_Pervasives_Native.Some uu____5121 + else FStar_Pervasives_Native.None in (r, hash, log_file_name)) + type cb = z3result -> unit let (cache_hit : Prims.string FStar_Pervasives_Native.option -> Prims.string FStar_Pervasives_Native.option -> Prims.string FStar_Pervasives_Native.option -> cb -> Prims.bool) = - fun log_file -> - fun cache -> - fun qhash -> - fun cb -> - let uu____5420 = + fun log_file -> + fun cache -> + fun qhash -> + fun cb -> + let uu____5179 = (FStar_Options.use_hints ()) && - (FStar_Options.use_hint_hashes ()) in - if uu____5420 + (FStar_Options.use_hint_hashes ()) + in + if uu____5179 then match qhash with | FStar_Pervasives_Native.Some x when qhash = cache -> - let stats = FStar_Util.smap_create (Prims.parse_int "0") in + let stats = FStar_Util.smap_create (Prims.parse_int "0") in (FStar_Util.smap_add stats "fstar_cache_hit" "1"; (let result = { @@ -1034,107 +1032,52 @@ let (cache_hit : z3result_statistics = stats; z3result_query_hash = qhash; z3result_log_file = log_file - } in + } in cb result; true)) - | uu____5445 -> false + | uu____5204 -> false else false -let (ask_1_core : - FStar_Range.range -> - (FStar_SMTEncoding_Term.decl Prims.list -> - (FStar_SMTEncoding_Term.decl Prims.list * Prims.bool)) - -> - Prims.string FStar_Pervasives_Native.option -> - FStar_SMTEncoding_Term.error_labels -> - FStar_SMTEncoding_Term.decl Prims.list -> cb -> Prims.bool -> unit) - = - fun r -> - fun filter_theory -> - fun cache -> - fun label_messages -> - fun qry -> - fun cb -> - fun fresh -> - let theory = - if fresh - then flatten_fresh_scope () - else - (let theory = FStar_ST.op_Bang bg_scope in - FStar_ST.op_Colon_Equals bg_scope []; theory) in - let theory1 = - FStar_List.append theory - (FStar_List.append [FStar_SMTEncoding_Term.Push] - (FStar_List.append qry [FStar_SMTEncoding_Term.Pop])) in - let uu____5587 = filter_theory theory1 in - match uu____5587 with - | (theory2, _used_unsat_core) -> - let uu____5603 = mk_input fresh theory2 in - (match uu____5603 with - | (input, qhash, log_file_name) -> - let uu____5634 = - let uu____5636 = - fresh && - (cache_hit log_file_name cache qhash cb) in - Prims.op_Negation uu____5636 in - if uu____5634 - then - run_job - { - job = - (z3_job log_file_name r fresh label_messages - input qhash); - callback = cb - } - else ()) -let (ask_n_cores : - FStar_Range.range -> - (FStar_SMTEncoding_Term.decl Prims.list -> - (FStar_SMTEncoding_Term.decl Prims.list * Prims.bool)) - -> - Prims.string FStar_Pervasives_Native.option -> + +let (z3_job : + Prims.string FStar_Pervasives_Native.option -> + FStar_Range.range -> + Prims.bool -> FStar_SMTEncoding_Term.error_labels -> - FStar_SMTEncoding_Term.decl Prims.list -> - scope_t FStar_Pervasives_Native.option -> cb -> unit) + Prims.string -> + Prims.string FStar_Pervasives_Native.option -> unit -> z3result) = - fun r -> - fun filter_theory -> - fun cache -> - fun label_messages -> - fun qry -> - fun scope -> - fun cb -> - let theory = - let uu____5719 = - match scope with - | FStar_Pervasives_Native.Some s -> FStar_List.rev s - | FStar_Pervasives_Native.None -> - (FStar_ST.op_Colon_Equals bg_scope []; - (let uu____5755 = FStar_ST.op_Bang fresh_scope in - FStar_List.rev uu____5755)) in - FStar_List.flatten uu____5719 in - let theory1 = - FStar_List.append theory - (FStar_List.append [FStar_SMTEncoding_Term.Push] - (FStar_List.append qry [FStar_SMTEncoding_Term.Pop])) in - let uu____5784 = filter_theory theory1 in - match uu____5784 with - | (theory2, used_unsat_core) -> - let uu____5800 = mk_input true theory2 in - (match uu____5800 with - | (input, qhash, log_file_name) -> - let uu____5832 = - let uu____5834 = - cache_hit log_file_name cache qhash cb in - Prims.op_Negation uu____5834 in - if uu____5832 - then - enqueue - { - job = - (z3_job log_file_name r true label_messages - input qhash); - callback = cb - } - else ()) + fun log_file -> + fun r -> + fun fresh -> + fun label_messages -> + fun input -> + fun qhash -> + fun uu____5255 -> + let start = FStar_Util.now () in + let uu____5265 = + try + (fun uu___500_5275 -> + match () with + | () -> doZ3Exe log_file r fresh input label_messages) + () + with + | uu___499_5282 -> + (refresh (); FStar_Exn.raise uu___499_5282) + in + match uu____5265 with + | (status,statistics) -> + let uu____5294 = + let uu____5300 = FStar_Util.now () in + FStar_Util.time_diff start uu____5300 in + (match uu____5294 with + | (uu____5301,elapsed_time) -> + { + z3result_status = status; + z3result_time = elapsed_time; + z3result_statistics = statistics; + z3result_query_hash = qhash; + z3result_log_file = log_file + }) + let (ask : FStar_Range.range -> (FStar_SMTEncoding_Term.decl Prims.list -> @@ -1146,18 +1089,46 @@ let (ask : scope_t FStar_Pervasives_Native.option -> cb -> Prims.bool -> unit) = - fun r -> - fun filter1 -> - fun cache -> - fun label_messages -> - fun qry -> - fun scope -> - fun cb -> - fun fresh -> - let uu____5922 = - let uu____5924 = FStar_Options.n_cores () in - uu____5924 = (Prims.parse_int "1") in - if uu____5922 - then ask_1_core r filter1 cache label_messages qry cb fresh - else - ask_n_cores r filter1 cache label_messages qry scope cb \ No newline at end of file + fun r -> + fun filter_theory -> + fun cache -> + fun label_messages -> + fun qry -> + fun _scope -> + fun cb -> + fun fresh -> + let theory = + if fresh + then flatten_fresh_scope () + else + (let theory = FStar_ST.op_Bang bg_scope in + FStar_ST.op_Colon_Equals bg_scope []; theory) + in + let theory1 = + FStar_List.append theory + (FStar_List.append [FStar_SMTEncoding_Term.Push] + (FStar_List.append qry [FStar_SMTEncoding_Term.Pop])) + in + let uu____5448 = filter_theory theory1 in + match uu____5448 with + | (theory2,_used_unsat_core) -> + let uu____5464 = mk_input fresh theory2 in + (match uu____5464 with + | (input,qhash,log_file_name) -> + let uu____5495 = + let uu____5497 = + fresh && + (cache_hit log_file_name cache qhash cb) + in + Prims.op_Negation uu____5497 in + if uu____5495 + then + run_job + { + job = + (z3_job log_file_name r fresh + label_messages input qhash); + callback = cb + } + else ()) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Syntax_DsEnv.ml b/src/ocaml-output/FStar_Syntax_DsEnv.ml index 9cf0224fec2..fd1095dfc78 100644 --- a/src/ocaml-output/FStar_Syntax_DsEnv.ml +++ b/src/ocaml-output/FStar_Syntax_DsEnv.ml @@ -7,11 +7,13 @@ type open_kind = | Open_module | Open_namespace let (uu___is_Open_module : open_kind -> Prims.bool) = - fun projectee -> - match projectee with | Open_module -> true | uu____53 -> false + fun projectee -> + match projectee with | Open_module -> true | uu____53 -> false + let (uu___is_Open_namespace : open_kind -> Prims.bool) = - fun projectee -> - match projectee with | Open_namespace -> true | uu____64 -> false + fun projectee -> + match projectee with | Open_namespace -> true | uu____64 -> false + type open_module_or_namespace = (FStar_Ident.lident * open_kind) type record_or_dc = { @@ -23,39 +25,45 @@ type record_or_dc = is_record: Prims.bool } let (__proj__Mkrecord_or_dc__item__typename : record_or_dc -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { typename; constrname; parms; fields; is_private_or_abstract; is_record;_} -> typename + let (__proj__Mkrecord_or_dc__item__constrname : record_or_dc -> FStar_Ident.ident) = - fun projectee -> + fun projectee -> match projectee with | { typename; constrname; parms; fields; is_private_or_abstract; is_record;_} -> constrname + let (__proj__Mkrecord_or_dc__item__parms : record_or_dc -> FStar_Syntax_Syntax.binders) = - fun projectee -> + fun projectee -> match projectee with | { typename; constrname; parms; fields; is_private_or_abstract; is_record;_} -> parms + let (__proj__Mkrecord_or_dc__item__fields : record_or_dc -> (FStar_Ident.ident * FStar_Syntax_Syntax.typ) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { typename; constrname; parms; fields; is_private_or_abstract; is_record;_} -> fields + let (__proj__Mkrecord_or_dc__item__is_private_or_abstract : record_or_dc -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { typename; constrname; parms; fields; is_private_or_abstract; is_record;_} -> is_private_or_abstract + let (__proj__Mkrecord_or_dc__item__is_record : record_or_dc -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { typename; constrname; parms; fields; is_private_or_abstract; is_record;_} -> is_record + type scope_mod = | Local_binding of local_binding | Rec_binding of rec_binding @@ -64,48 +72,58 @@ type scope_mod = | Top_level_def of FStar_Ident.ident | Record_or_dc of record_or_dc let (uu___is_Local_binding : scope_mod -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Local_binding _0 -> true | uu____284 -> false + let (__proj__Local_binding__item___0 : scope_mod -> local_binding) = - fun projectee -> match projectee with | Local_binding _0 -> _0 + fun projectee -> match projectee with | Local_binding _0 -> _0 let (uu___is_Rec_binding : scope_mod -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Rec_binding _0 -> true | uu____303 -> false + let (__proj__Rec_binding__item___0 : scope_mod -> rec_binding) = - fun projectee -> match projectee with | Rec_binding _0 -> _0 + fun projectee -> match projectee with | Rec_binding _0 -> _0 let (uu___is_Module_abbrev : scope_mod -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Module_abbrev _0 -> true | uu____322 -> false + let (__proj__Module_abbrev__item___0 : scope_mod -> module_abbrev) = - fun projectee -> match projectee with | Module_abbrev _0 -> _0 + fun projectee -> match projectee with | Module_abbrev _0 -> _0 let (uu___is_Open_module_or_namespace : scope_mod -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Open_module_or_namespace _0 -> true | uu____341 -> false + let (__proj__Open_module_or_namespace__item___0 : scope_mod -> open_module_or_namespace) = - fun projectee -> match projectee with | Open_module_or_namespace _0 -> _0 + fun projectee -> match projectee with | Open_module_or_namespace _0 -> _0 let (uu___is_Top_level_def : scope_mod -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Top_level_def _0 -> true | uu____360 -> false + let (__proj__Top_level_def__item___0 : scope_mod -> FStar_Ident.ident) = - fun projectee -> match projectee with | Top_level_def _0 -> _0 + fun projectee -> match projectee with | Top_level_def _0 -> _0 let (uu___is_Record_or_dc : scope_mod -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Record_or_dc _0 -> true | uu____379 -> false + let (__proj__Record_or_dc__item___0 : scope_mod -> record_or_dc) = - fun projectee -> match projectee with | Record_or_dc _0 -> _0 + fun projectee -> match projectee with | Record_or_dc _0 -> _0 type string_set = Prims.string FStar_Util.set type exported_id_kind = | Exported_id_term_type | Exported_id_field let (uu___is_Exported_id_term_type : exported_id_kind -> Prims.bool) = - fun projectee -> - match projectee with | Exported_id_term_type -> true | uu____400 -> false + fun projectee -> + match projectee with + | Exported_id_term_type -> true + | uu____400 -> false + let (uu___is_Exported_id_field : exported_id_kind -> Prims.bool) = - fun projectee -> - match projectee with | Exported_id_field -> true | uu____411 -> false + fun projectee -> + match projectee with | Exported_id_field -> true | uu____411 -> false + type exported_id_set = exported_id_kind -> string_set FStar_ST.ref type env = { @@ -135,180 +153,202 @@ and dsenv_hooks = env -> FStar_Ident.ident -> FStar_Ident.lident -> unit } let (__proj__Mkenv__item__curmodule : env -> FStar_Ident.lident FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> curmodule + let (__proj__Mkenv__item__curmonad : env -> FStar_Ident.ident FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> curmonad + let (__proj__Mkenv__item__modules : env -> (FStar_Ident.lident * FStar_Syntax_Syntax.modul) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> modules + let (__proj__Mkenv__item__scope_mods : env -> scope_mod Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> scope_mods + let (__proj__Mkenv__item__exported_ids : env -> exported_id_set FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> exported_ids + let (__proj__Mkenv__item__trans_exported_ids : env -> exported_id_set FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> trans_exported_ids + let (__proj__Mkenv__item__includes : env -> FStar_Ident.lident Prims.list FStar_ST.ref FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> includes + let (__proj__Mkenv__item__sigaccum : env -> FStar_Syntax_Syntax.sigelts) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> sigaccum + let (__proj__Mkenv__item__sigmap : env -> (FStar_Syntax_Syntax.sigelt * Prims.bool) FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> sigmap + let (__proj__Mkenv__item__iface : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> iface + let (__proj__Mkenv__item__admitted_iface : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> admitted_iface + let (__proj__Mkenv__item__expect_typ : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> expect_typ + let (__proj__Mkenv__item__docs : env -> FStar_Parser_AST.fsdoc FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> docs + let (__proj__Mkenv__item__remaining_iface_decls : env -> (FStar_Ident.lident * FStar_Parser_AST.decl Prims.list) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> remaining_iface_decls + let (__proj__Mkenv__item__syntax_only : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> syntax_only + let (__proj__Mkenv__item__ds_hooks : env -> dsenv_hooks) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> ds_hooks + let (__proj__Mkenv__item__dep_graph : env -> FStar_Parser_Dep.deps) = - fun projectee -> + fun projectee -> match projectee with | { curmodule; curmonad; modules; scope_mods; exported_ids; trans_exported_ids; includes; sigaccum; sigmap; iface; admitted_iface; expect_typ; docs; remaining_iface_decls; syntax_only; ds_hooks; dep_graph;_} -> dep_graph + let (__proj__Mkdsenv_hooks__item__ds_push_open_hook : dsenv_hooks -> env -> open_module_or_namespace -> unit) = - fun projectee -> + fun projectee -> match projectee with | { ds_push_open_hook; ds_push_include_hook; ds_push_module_abbrev_hook;_} -> ds_push_open_hook + let (__proj__Mkdsenv_hooks__item__ds_push_include_hook : dsenv_hooks -> env -> FStar_Ident.lident -> unit) = - fun projectee -> + fun projectee -> match projectee with | { ds_push_open_hook; ds_push_include_hook; ds_push_module_abbrev_hook;_} -> ds_push_include_hook + let (__proj__Mkdsenv_hooks__item__ds_push_module_abbrev_hook : dsenv_hooks -> env -> FStar_Ident.ident -> FStar_Ident.lident -> unit) = - fun projectee -> + fun projectee -> match projectee with | { ds_push_open_hook; ds_push_include_hook; ds_push_module_abbrev_hook;_} -> ds_push_module_abbrev_hook + type 'a withenv = env -> ('a * env) let (default_ds_hooks : dsenv_hooks) = { - ds_push_open_hook = (fun uu____2031 -> fun uu____2032 -> ()); - ds_push_include_hook = (fun uu____2035 -> fun uu____2036 -> ()); + ds_push_open_hook = (fun uu____2031 -> fun uu____2032 -> ()); + ds_push_include_hook = (fun uu____2035 -> fun uu____2036 -> ()); ds_push_module_abbrev_hook = - (fun uu____2040 -> fun uu____2041 -> fun uu____2042 -> ()) - } + (fun uu____2040 -> fun uu____2041 -> fun uu____2042 -> ()) + } type foundname = | Term_name of (FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.attribute Prims.list) | Eff_name of (FStar_Syntax_Syntax.sigelt * FStar_Ident.lident) let (uu___is_Term_name : foundname -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Term_name _0 -> true | uu____2079 -> false + let (__proj__Term_name__item___0 : foundname -> (FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.attribute Prims.list)) - = fun projectee -> match projectee with | Term_name _0 -> _0 + = fun projectee -> match projectee with | Term_name _0 -> _0 let (uu___is_Eff_name : foundname -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Eff_name _0 -> true | uu____2120 -> false + let (__proj__Eff_name__item___0 : foundname -> (FStar_Syntax_Syntax.sigelt * FStar_Ident.lident)) = - fun projectee -> match projectee with | Eff_name _0 -> _0 + fun projectee -> match projectee with | Eff_name _0 -> _0 let (set_iface : env -> Prims.bool -> env) = - fun env -> - fun b -> - let uu___129_2154 = env in + fun env -> + fun b -> + let uu___129_2154 = env in { curmodule = (uu___129_2154.curmodule); curmonad = (uu___129_2154.curmonad); @@ -328,11 +368,12 @@ let (set_iface : env -> Prims.bool -> env) = ds_hooks = (uu___129_2154.ds_hooks); dep_graph = (uu___129_2154.dep_graph) } -let (iface : env -> Prims.bool) = fun e -> e.iface + +let (iface : env -> Prims.bool) = fun e -> e.iface let (set_admitted_iface : env -> Prims.bool -> env) = - fun e -> - fun b -> - let uu___134_2175 = e in + fun e -> + fun b -> + let uu___134_2175 = e in { curmodule = (uu___134_2175.curmodule); curmonad = (uu___134_2175.curmonad); @@ -352,11 +393,12 @@ let (set_admitted_iface : env -> Prims.bool -> env) = ds_hooks = (uu___134_2175.ds_hooks); dep_graph = (uu___134_2175.dep_graph) } -let (admitted_iface : env -> Prims.bool) = fun e -> e.admitted_iface + +let (admitted_iface : env -> Prims.bool) = fun e -> e.admitted_iface let (set_expect_typ : env -> Prims.bool -> env) = - fun e -> - fun b -> - let uu___139_2196 = e in + fun e -> + fun b -> + let uu___139_2196 = e in { curmodule = (uu___139_2196.curmodule); curmonad = (uu___139_2196.curmonad); @@ -376,38 +418,41 @@ let (set_expect_typ : env -> Prims.bool -> env) = ds_hooks = (uu___139_2196.ds_hooks); dep_graph = (uu___139_2196.dep_graph) } -let (expect_typ : env -> Prims.bool) = fun e -> e.expect_typ + +let (expect_typ : env -> Prims.bool) = fun e -> e.expect_typ let (all_exported_id_kinds : exported_id_kind Prims.list) = - [Exported_id_field; Exported_id_term_type] + [Exported_id_field; Exported_id_term_type] let (transitive_exported_ids : env -> FStar_Ident.lident -> Prims.string Prims.list) = - fun env -> - fun lid -> - let module_name = FStar_Ident.string_of_lid lid in + fun env -> + fun lid -> + let module_name = FStar_Ident.string_of_lid lid in let uu____2223 = - FStar_Util.smap_try_find env.trans_exported_ids module_name in + FStar_Util.smap_try_find env.trans_exported_ids module_name in match uu____2223 with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some exported_id_set -> let uu____2236 = - let uu____2240 = exported_id_set Exported_id_term_type in - FStar_ST.op_Bang uu____2240 in + let uu____2240 = exported_id_set Exported_id_term_type in + FStar_ST.op_Bang uu____2240 in FStar_All.pipe_right uu____2236 FStar_Util.set_elements + let (open_modules : env -> (FStar_Ident.lident * FStar_Syntax_Syntax.modul) Prims.list) = - fun e -> e.modules + fun e -> e.modules let (open_modules_and_namespaces : env -> FStar_Ident.lident Prims.list) = - fun env -> + fun env -> FStar_List.filter_map - (fun uu___0_2328 -> + (fun uu___0_2328 -> match uu___0_2328 with - | Open_module_or_namespace (lid, _info) -> + | Open_module_or_namespace (lid,_info) -> FStar_Pervasives_Native.Some lid | uu____2333 -> FStar_Pervasives_Native.None) env.scope_mods + let (set_current_module : env -> FStar_Ident.lident -> env) = - fun e -> - fun l -> - let uu___158_2345 = e in + fun e -> + fun l -> + let uu___158_2345 = e in { curmodule = (FStar_Pervasives_Native.Some l); curmonad = (uu___158_2345.curmonad); @@ -427,42 +472,47 @@ let (set_current_module : env -> FStar_Ident.lident -> env) = ds_hooks = (uu___158_2345.ds_hooks); dep_graph = (uu___158_2345.dep_graph) } + let (current_module : env -> FStar_Ident.lident) = - fun env -> + fun env -> match env.curmodule with - | FStar_Pervasives_Native.None -> failwith "Unset current module" + | FStar_Pervasives_Native.None -> failwith "Unset current module" | FStar_Pervasives_Native.Some m -> m + let (iface_decls : env -> FStar_Ident.lident -> FStar_Parser_AST.decl Prims.list FStar_Pervasives_Native.option) = - fun env -> - fun l -> + fun env -> + fun l -> let uu____2369 = FStar_All.pipe_right env.remaining_iface_decls (FStar_List.tryFind - (fun uu____2403 -> + (fun uu____2403 -> match uu____2403 with - | (m, uu____2412) -> FStar_Ident.lid_equals l m)) in + | (m,uu____2412) -> FStar_Ident.lid_equals l m)) + in match uu____2369 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (uu____2429, decls) -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (uu____2429,decls) -> FStar_Pervasives_Native.Some decls + let (set_iface_decls : env -> FStar_Ident.lident -> FStar_Parser_AST.decl Prims.list -> env) = - fun env -> - fun l -> - fun ds -> + fun env -> + fun l -> + fun ds -> let uu____2463 = FStar_List.partition - (fun uu____2493 -> + (fun uu____2493 -> match uu____2493 with - | (m, uu____2502) -> FStar_Ident.lid_equals l m) - env.remaining_iface_decls in + | (m,uu____2502) -> FStar_Ident.lid_equals l m) + env.remaining_iface_decls + in match uu____2463 with - | (uu____2507, rest) -> - let uu___183_2541 = env in + | (uu____2507,rest) -> + let uu___183_2541 = env in { curmodule = (uu___183_2541.curmodule); curmonad = (uu___183_2541.curmonad); @@ -482,23 +532,25 @@ let (set_iface_decls : ds_hooks = (uu___183_2541.ds_hooks); dep_graph = (uu___183_2541.dep_graph) } + let (qual : FStar_Ident.lident -> FStar_Ident.ident -> FStar_Ident.lident) = - FStar_Syntax_Util.qual_id + FStar_Syntax_Util.qual_id let (qualify : env -> FStar_Ident.ident -> FStar_Ident.lident) = - fun env -> - fun id1 -> + fun env -> + fun id1 -> match env.curmonad with - | FStar_Pervasives_Native.None -> - let uu____2570 = current_module env in qual uu____2570 id1 + | FStar_Pervasives_Native.None -> + let uu____2570 = current_module env in qual uu____2570 id1 | FStar_Pervasives_Native.Some monad -> let uu____2572 = - let uu____2573 = current_module env in qual uu____2573 monad in + let uu____2573 = current_module env in qual uu____2573 monad in FStar_Syntax_Util.mk_field_projector_name_from_ident uu____2572 id1 -let (syntax_only : env -> Prims.bool) = fun env -> env.syntax_only + +let (syntax_only : env -> Prims.bool) = fun env -> env.syntax_only let (set_syntax_only : env -> Prims.bool -> env) = - fun env -> - fun b -> - let uu___193_2594 = env in + fun env -> + fun b -> + let uu___193_2594 = env in { curmodule = (uu___193_2594.curmodule); curmonad = (uu___193_2594.curmonad); @@ -518,11 +570,12 @@ let (set_syntax_only : env -> Prims.bool -> env) = ds_hooks = (uu___193_2594.ds_hooks); dep_graph = (uu___193_2594.dep_graph) } -let (ds_hooks : env -> dsenv_hooks) = fun env -> env.ds_hooks + +let (ds_hooks : env -> dsenv_hooks) = fun env -> env.ds_hooks let (set_ds_hooks : env -> dsenv_hooks -> env) = - fun env -> - fun hooks -> - let uu___198_2612 = env in + fun env -> + fun hooks -> + let uu___198_2612 = env in { curmodule = (uu___198_2612.curmodule); curmonad = (uu___198_2612.curmonad); @@ -542,15 +595,16 @@ let (set_ds_hooks : env -> dsenv_hooks -> env) = ds_hooks = hooks; dep_graph = (uu___198_2612.dep_graph) } + let new_sigmap : 'Auu____2618 . unit -> 'Auu____2618 FStar_Util.smap = - fun uu____2625 -> FStar_Util.smap_create (Prims.parse_int "100") + fun uu____2625 -> FStar_Util.smap_create (Prims.parse_int "100") let (empty_env : FStar_Parser_Dep.deps -> env) = - fun deps -> - let uu____2633 = new_sigmap () in - let uu____2638 = new_sigmap () in - let uu____2643 = new_sigmap () in - let uu____2654 = new_sigmap () in - let uu____2667 = new_sigmap () in + fun deps -> + let uu____2633 = new_sigmap () in + let uu____2638 = new_sigmap () in + let uu____2643 = new_sigmap () in + let uu____2654 = new_sigmap () in + let uu____2667 = new_sigmap () in { curmodule = FStar_Pervasives_Native.None; curmonad = FStar_Pervasives_Native.None; @@ -570,11 +624,12 @@ let (empty_env : FStar_Parser_Dep.deps -> env) = ds_hooks = default_ds_hooks; dep_graph = deps } -let (dep_graph : env -> FStar_Parser_Dep.deps) = fun env -> env.dep_graph + +let (dep_graph : env -> FStar_Parser_Dep.deps) = fun env -> env.dep_graph let (set_dep_graph : env -> FStar_Parser_Dep.deps -> env) = - fun env -> - fun ds -> - let uu___205_2701 = env in + fun env -> + fun ds -> + let uu___205_2701 = env in { curmodule = (uu___205_2701.curmodule); curmonad = (uu___205_2701.curmonad); @@ -594,35 +649,38 @@ let (set_dep_graph : env -> FStar_Parser_Dep.deps -> env) = ds_hooks = (uu___205_2701.ds_hooks); dep_graph = ds } + let (sigmap : env -> (FStar_Syntax_Syntax.sigelt * Prims.bool) FStar_Util.smap) = - fun env -> env.sigmap + fun env -> env.sigmap let (has_all_in_scope : env -> Prims.bool) = - fun env -> + fun env -> FStar_List.existsb - (fun uu____2729 -> + (fun uu____2729 -> match uu____2729 with - | (m, uu____2736) -> + | (m,uu____2736) -> FStar_Ident.lid_equals m FStar_Parser_Const.all_lid) env.modules + let (set_bv_range : FStar_Syntax_Syntax.bv -> FStar_Range.range -> FStar_Syntax_Syntax.bv) = - fun bv -> - fun r -> + fun bv -> + fun r -> let id1 = - let uu___214_2749 = bv.FStar_Syntax_Syntax.ppname in + let uu___214_2749 = bv.FStar_Syntax_Syntax.ppname in { FStar_Ident.idText = (uu___214_2749.FStar_Ident.idText); FStar_Ident.idRange = r - } in - let uu___217_2750 = bv in + } in + let uu___217_2750 = bv in { FStar_Syntax_Syntax.ppname = id1; FStar_Syntax_Syntax.index = (uu___217_2750.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = (uu___217_2750.FStar_Syntax_Syntax.sort) } + let (bv_to_name : FStar_Syntax_Syntax.bv -> FStar_Range.range -> FStar_Syntax_Syntax.term) = - fun bv -> fun r -> FStar_Syntax_Syntax.bv_to_name (set_bv_range bv r) + fun bv -> fun r -> FStar_Syntax_Syntax.bv_to_name (set_bv_range bv r) let (unmangleMap : (Prims.string * Prims.string * FStar_Syntax_Syntax.delta_depth * FStar_Syntax_Syntax.fv_qual FStar_Pervasives_Native.option) Prims.list) @@ -631,50 +689,57 @@ let (unmangleMap : (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor)); ("not", "op_Negation", FStar_Syntax_Syntax.delta_equational, FStar_Pervasives_Native.None)] + let (unmangleOpName : FStar_Ident.ident -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun id1 -> + fun id1 -> FStar_Util.find_map unmangleMap - (fun uu____2853 -> + (fun uu____2853 -> match uu____2853 with - | (x, y, dd, dq) -> + | (x,y,dd,dq) -> if id1.FStar_Ident.idText = x then let uu____2884 = let uu____2885 = FStar_Ident.lid_of_path ["Prims"; y] - id1.FStar_Ident.idRange in - FStar_Syntax_Syntax.fvar uu____2885 dd dq in + id1.FStar_Ident.idRange + in + FStar_Syntax_Syntax.fvar uu____2885 dd dq in FStar_Pervasives_Native.Some uu____2884 else FStar_Pervasives_Native.None) + type 'a cont_t = | Cont_ok of 'a | Cont_fail | Cont_ignore let uu___is_Cont_ok : 'a . 'a cont_t -> Prims.bool = - fun projectee -> + fun projectee -> match projectee with | Cont_ok _0 -> true | uu____2925 -> false + let __proj__Cont_ok__item___0 : 'a . 'a cont_t -> 'a = - fun projectee -> match projectee with | Cont_ok _0 -> _0 + fun projectee -> match projectee with | Cont_ok _0 -> _0 let uu___is_Cont_fail : 'a . 'a cont_t -> Prims.bool = - fun projectee -> - match projectee with | Cont_fail -> true | uu____2962 -> false + fun projectee -> + match projectee with | Cont_fail -> true | uu____2962 -> false + let uu___is_Cont_ignore : 'a . 'a cont_t -> Prims.bool = - fun projectee -> - match projectee with | Cont_ignore -> true | uu____2983 -> false + fun projectee -> + match projectee with | Cont_ignore -> true | uu____2983 -> false + let option_of_cont : 'a . (unit -> 'a FStar_Pervasives_Native.option) -> 'a cont_t -> 'a FStar_Pervasives_Native.option = - fun k_ignore -> - fun uu___1_3013 -> + fun k_ignore -> + fun uu___1_3013 -> match uu___1_3013 with | Cont_ok a -> FStar_Pervasives_Native.Some a - | Cont_fail -> FStar_Pervasives_Native.None - | Cont_ignore -> k_ignore () + | Cont_fail -> FStar_Pervasives_Native.None + | Cont_ignore -> k_ignore () + let find_in_record : 'Auu____3032 . FStar_Ident.ident Prims.list -> @@ -682,48 +747,55 @@ let find_in_record : record_or_dc -> (record_or_dc -> 'Auu____3032 cont_t) -> 'Auu____3032 cont_t = - fun ns -> - fun id1 -> - fun record -> - fun cont -> + fun ns -> + fun id1 -> + fun record -> + fun cont -> let typename' = FStar_Ident.lid_of_ids - (FStar_List.append ns [(record.typename).FStar_Ident.ident]) in - let uu____3069 = FStar_Ident.lid_equals typename' record.typename in + (FStar_List.append ns [(record.typename).FStar_Ident.ident]) + in + let uu____3069 = FStar_Ident.lid_equals typename' record.typename + in if uu____3069 then let fname = FStar_Ident.lid_of_ids - (FStar_List.append (record.typename).FStar_Ident.ns [id1]) in + (FStar_List.append (record.typename).FStar_Ident.ns [id1]) + in let find1 = FStar_Util.find_map record.fields - (fun uu____3085 -> + (fun uu____3085 -> match uu____3085 with - | (f, uu____3093) -> + | (f,uu____3093) -> if id1.FStar_Ident.idText = f.FStar_Ident.idText then FStar_Pervasives_Native.Some record - else FStar_Pervasives_Native.None) in + else FStar_Pervasives_Native.None) + in match find1 with | FStar_Pervasives_Native.Some r -> cont r - | FStar_Pervasives_Native.None -> Cont_ignore + | FStar_Pervasives_Native.None -> Cont_ignore else Cont_ignore + let (get_exported_id_set : env -> Prims.string -> (exported_id_kind -> string_set FStar_ST.ref) FStar_Pervasives_Native.option) - = fun e -> fun mname -> FStar_Util.smap_try_find e.exported_ids mname + = fun e -> fun mname -> FStar_Util.smap_try_find e.exported_ids mname let (get_trans_exported_id_set : env -> Prims.string -> (exported_id_kind -> string_set FStar_ST.ref) FStar_Pervasives_Native.option) - = fun e -> fun mname -> FStar_Util.smap_try_find e.trans_exported_ids mname + = + fun e -> fun mname -> FStar_Util.smap_try_find e.trans_exported_ids mname let (string_of_exported_id_kind : exported_id_kind -> Prims.string) = - fun uu___2_3167 -> + fun uu___2_3167 -> match uu___2_3167 with - | Exported_id_field -> "field" - | Exported_id_term_type -> "term/type" + | Exported_id_field -> "field" + | Exported_id_term_type -> "term/type" + let find_in_module_with_includes : 'a . exported_id_kind -> @@ -731,47 +803,52 @@ let find_in_module_with_includes : 'a cont_t -> env -> FStar_Ident.lident -> FStar_Ident.ident -> 'a cont_t = - fun eikind -> - fun find_in_module -> - fun find_in_module_default -> - fun env -> - fun ns -> - fun id1 -> - let idstr = id1.FStar_Ident.idText in + fun eikind -> + fun find_in_module -> + fun find_in_module_default -> + fun env -> + fun ns -> + fun id1 -> + let idstr = id1.FStar_Ident.idText in let rec aux uu___3_3243 = match uu___3_3243 with | [] -> find_in_module_default | modul::q -> - let mname = modul.FStar_Ident.str in + let mname = modul.FStar_Ident.str in let not_shadowed = - let uu____3256 = get_exported_id_set env mname in + let uu____3256 = get_exported_id_set env mname in match uu____3256 with - | FStar_Pervasives_Native.None -> true + | FStar_Pervasives_Native.None -> true | FStar_Pervasives_Native.Some mex -> let mexports = - let uu____3283 = mex eikind in - FStar_ST.op_Bang uu____3283 in - FStar_Util.set_mem idstr mexports in + let uu____3283 = mex eikind in + FStar_ST.op_Bang uu____3283 in + FStar_Util.set_mem idstr mexports + in let mincludes = let uu____3345 = - FStar_Util.smap_try_find env.includes mname in + FStar_Util.smap_try_find env.includes mname in match uu____3345 with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some minc -> - FStar_ST.op_Bang minc in + FStar_ST.op_Bang minc + in let look_into = if not_shadowed then - let uu____3400 = qual modul id1 in + let uu____3400 = qual modul id1 in find_in_module uu____3400 - else Cont_ignore in + else Cont_ignore in (match look_into with - | Cont_ignore -> aux (FStar_List.append mincludes q) - | uu____3405 -> look_into) in + | Cont_ignore -> aux (FStar_List.append mincludes q) + | uu____3405 -> look_into) + in aux [ns] + let (is_exported_id_field : exported_id_kind -> Prims.bool) = - fun uu___4_3414 -> - match uu___4_3414 with | Exported_id_field -> true | uu____3417 -> false + fun uu___4_3414 -> + match uu___4_3414 with | Exported_id_field -> true | uu____3417 -> false + let try_lookup_id'' : 'a . env -> @@ -784,63 +861,68 @@ let try_lookup_id'' : ('a cont_t -> FStar_Ident.ident -> 'a cont_t) -> 'a FStar_Pervasives_Native.option = - fun env -> - fun id1 -> - fun eikind -> - fun k_local_binding -> - fun k_rec_binding -> - fun k_record -> - fun find_in_module -> - fun lookup_default_id -> + fun env -> + fun id1 -> + fun eikind -> + fun k_local_binding -> + fun k_rec_binding -> + fun k_record -> + fun find_in_module -> + fun lookup_default_id -> let check_local_binding_id uu___5_3541 = match uu___5_3541 with - | (id', uu____3544) -> - id'.FStar_Ident.idText = id1.FStar_Ident.idText in + | (id',uu____3544) -> + id'.FStar_Ident.idText = id1.FStar_Ident.idText + in let check_rec_binding_id uu___6_3552 = match uu___6_3552 with - | (id', uu____3555, uu____3556) -> - id'.FStar_Ident.idText = id1.FStar_Ident.idText in + | (id',uu____3555,uu____3556) -> + id'.FStar_Ident.idText = id1.FStar_Ident.idText + in let curmod_ns = - let uu____3561 = current_module env in - FStar_Ident.ids_of_lid uu____3561 in + let uu____3561 = current_module env in + FStar_Ident.ids_of_lid uu____3561 in let proc uu___7_3569 = match uu___7_3569 with | Local_binding l when check_local_binding_id l -> k_local_binding l | Rec_binding r when check_rec_binding_id r -> k_rec_binding r - | Open_module_or_namespace (ns, Open_module) -> + | Open_module_or_namespace (ns,Open_module ) -> find_in_module_with_includes eikind find_in_module Cont_ignore env ns id1 | Top_level_def id' when id'.FStar_Ident.idText = id1.FStar_Ident.idText -> lookup_default_id Cont_ignore id1 | Record_or_dc r when is_exported_id_field eikind -> - let uu____3578 = FStar_Ident.lid_of_ids curmod_ns in + let uu____3578 = FStar_Ident.lid_of_ids curmod_ns in find_in_module_with_includes Exported_id_field - (fun lid -> - let id2 = lid.FStar_Ident.ident in + (fun lid -> + let id2 = lid.FStar_Ident.ident in find_in_record lid.FStar_Ident.ns id2 r k_record) Cont_ignore env uu____3578 id1 - | uu____3583 -> Cont_ignore in + | uu____3583 -> Cont_ignore in let rec aux uu___8_3593 = match uu___8_3593 with | a::q -> - let uu____3602 = proc a in - option_of_cont (fun uu____3606 -> aux q) uu____3602 + let uu____3602 = proc a in + option_of_cont (fun uu____3606 -> aux q) uu____3602 | [] -> - let uu____3607 = lookup_default_id Cont_fail id1 in + let uu____3607 = lookup_default_id Cont_fail id1 in option_of_cont - (fun uu____3611 -> FStar_Pervasives_Native.None) - uu____3607 in + (fun uu____3611 -> FStar_Pervasives_Native.None) + uu____3607 + in aux env.scope_mods + let found_local_binding : 'Auu____3619 . FStar_Range.range -> ('Auu____3619 * FStar_Syntax_Syntax.bv) -> FStar_Syntax_Syntax.term = - fun r -> - fun uu____3633 -> match uu____3633 with | (id', x) -> bv_to_name x r + fun r -> + fun uu____3633 -> match uu____3633 with | (id',x) -> bv_to_name x r + let find_in_module : 'Auu____3651 . env -> @@ -849,35 +931,39 @@ let find_in_module : (FStar_Syntax_Syntax.sigelt * Prims.bool) -> 'Auu____3651) -> 'Auu____3651 -> 'Auu____3651 = - fun env -> - fun lid -> - fun k_global_def -> - fun k_not_found -> + fun env -> + fun lid -> + fun k_global_def -> + fun k_not_found -> let uu____3692 = - FStar_Util.smap_try_find (sigmap env) lid.FStar_Ident.str in + FStar_Util.smap_try_find (sigmap env) lid.FStar_Ident.str in match uu____3692 with | FStar_Pervasives_Native.Some sb -> k_global_def lid sb - | FStar_Pervasives_Native.None -> k_not_found + | FStar_Pervasives_Native.None -> k_not_found + let (try_lookup_id : env -> FStar_Ident.ident -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun env -> - fun id1 -> - let uu____3736 = unmangleOpName id1 in + fun env -> + fun id1 -> + let uu____3736 = unmangleOpName id1 in match uu____3736 with | FStar_Pervasives_Native.Some f -> FStar_Pervasives_Native.Some f | uu____3742 -> try_lookup_id'' env id1 Exported_id_term_type - (fun r -> - let uu____3748 = found_local_binding id1.FStar_Ident.idRange r in - Cont_ok uu____3748) (fun uu____3750 -> Cont_fail) - (fun uu____3752 -> Cont_ignore) - (fun i -> + (fun r -> + let uu____3748 = found_local_binding id1.FStar_Ident.idRange r + in + Cont_ok uu____3748) (fun uu____3750 -> Cont_fail) + (fun uu____3752 -> Cont_ignore) + (fun i -> find_in_module env i - (fun uu____3759 -> fun uu____3760 -> Cont_fail) Cont_ignore) - (fun uu____3768 -> fun uu____3769 -> Cont_fail) + (fun uu____3759 -> fun uu____3760 -> Cont_fail) + Cont_ignore) + (fun uu____3768 -> fun uu____3769 -> Cont_fail) + let lookup_default_id : 'a . env -> @@ -886,91 +972,99 @@ let lookup_default_id : (FStar_Syntax_Syntax.sigelt * Prims.bool) -> 'a cont_t) -> 'a cont_t -> 'a cont_t = - fun env -> - fun id1 -> - fun k_global_def -> - fun k_not_found -> + fun env -> + fun id1 -> + fun k_global_def -> + fun k_not_found -> let find_in_monad = match env.curmonad with | FStar_Pervasives_Native.Some uu____3843 -> - let lid = qualify env id1 in + let lid = qualify env id1 in let uu____3845 = - FStar_Util.smap_try_find (sigmap env) lid.FStar_Ident.str in + FStar_Util.smap_try_find (sigmap env) lid.FStar_Ident.str + in (match uu____3845 with | FStar_Pervasives_Native.Some r -> - let uu____3873 = k_global_def lid r in + let uu____3873 = k_global_def lid r in FStar_Pervasives_Native.Some uu____3873 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + in match find_in_monad with | FStar_Pervasives_Native.Some v1 -> v1 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let lid = - let uu____3897 = current_module env in qual uu____3897 id1 in + let uu____3897 = current_module env in qual uu____3897 id1 + in find_in_module env lid k_global_def k_not_found + let (lid_is_curmod : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun lid -> + fun env -> + fun lid -> match env.curmodule with - | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.None -> false | FStar_Pervasives_Native.Some m -> FStar_Ident.lid_equals lid m + let (module_is_defined : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun lid -> + fun env -> + fun lid -> (lid_is_curmod env lid) || (FStar_List.existsb - (fun x -> + (fun x -> FStar_Ident.lid_equals lid (FStar_Pervasives_Native.fst x)) env.modules) + let (resolve_module_name : env -> FStar_Ident.lident -> Prims.bool -> FStar_Ident.lident FStar_Pervasives_Native.option) = - fun env -> - fun lid -> - fun honor_ns -> - let nslen = FStar_List.length lid.FStar_Ident.ns in + fun env -> + fun lid -> + fun honor_ns -> + let nslen = FStar_List.length lid.FStar_Ident.ns in let rec aux uu___9_3969 = match uu___9_3969 with | [] -> - let uu____3974 = module_is_defined env lid in + let uu____3974 = module_is_defined env lid in if uu____3974 then FStar_Pervasives_Native.Some lid else FStar_Pervasives_Native.None - | (Open_module_or_namespace (ns, Open_namespace))::q when honor_ns + | (Open_module_or_namespace (ns,Open_namespace ))::q when honor_ns -> let new_lid = let uu____3986 = - let uu____3987 = FStar_Ident.path_of_lid ns in - let uu____3991 = FStar_Ident.path_of_lid lid in - FStar_List.append uu____3987 uu____3991 in - let uu____3996 = FStar_Ident.range_of_lid lid in - FStar_Ident.lid_of_path uu____3986 uu____3996 in - let uu____3997 = module_is_defined env new_lid in + let uu____3987 = FStar_Ident.path_of_lid ns in + let uu____3991 = FStar_Ident.path_of_lid lid in + FStar_List.append uu____3987 uu____3991 in + let uu____3996 = FStar_Ident.range_of_lid lid in + FStar_Ident.lid_of_path uu____3986 uu____3996 in + let uu____3997 = module_is_defined env new_lid in if uu____3997 then FStar_Pervasives_Native.Some new_lid else aux q - | (Module_abbrev (name, modul))::uu____4006 when + | (Module_abbrev (name,modul))::uu____4006 when (nslen = (Prims.parse_int "0")) && (name.FStar_Ident.idText = (lid.FStar_Ident.ident).FStar_Ident.idText) -> FStar_Pervasives_Native.Some modul - | uu____4012::q -> aux q in + | uu____4012::q -> aux q in aux env.scope_mods + let (fail_if_curmodule : env -> FStar_Ident.lident -> FStar_Ident.lident -> unit) = - fun env -> - fun ns_original -> - fun ns_resolved -> + fun env -> + fun ns_original -> + fun ns_resolved -> let uu____4032 = - let uu____4034 = current_module env in - FStar_Ident.lid_equals ns_resolved uu____4034 in + let uu____4034 = current_module env in + FStar_Ident.lid_equals ns_resolved uu____4034 in if uu____4032 then let uu____4036 = - FStar_Ident.lid_equals ns_resolved FStar_Parser_Const.prims_lid in + FStar_Ident.lid_equals ns_resolved FStar_Parser_Const.prims_lid + in (if uu____4036 then () else @@ -978,50 +1072,57 @@ let (fail_if_curmodule : let uu____4047 = FStar_Util.format1 "Reference %s to current module is forbidden (see GitHub issue #451)" - ns_original.FStar_Ident.str in + ns_original.FStar_Ident.str + in (FStar_Errors.Fatal_ForbiddenReferenceToCurrentModule, - uu____4047) in - let uu____4051 = FStar_Ident.range_of_lid ns_original in + uu____4047) + in + let uu____4051 = FStar_Ident.range_of_lid ns_original in FStar_Errors.raise_error uu____4041 uu____4051)) else () + let (fail_if_qualified_by_curmodule : env -> FStar_Ident.lident -> unit) = - fun env -> - fun lid -> + fun env -> + fun lid -> match lid.FStar_Ident.ns with | [] -> () | uu____4065 -> - let modul_orig = FStar_Ident.lid_of_ids lid.FStar_Ident.ns in - let uu____4069 = resolve_module_name env modul_orig true in + let modul_orig = FStar_Ident.lid_of_ids lid.FStar_Ident.ns in + let uu____4069 = resolve_module_name env modul_orig true in (match uu____4069 with | FStar_Pervasives_Native.Some modul_res -> fail_if_curmodule env modul_orig modul_res | uu____4074 -> ()) + let (is_open : env -> FStar_Ident.lident -> open_kind -> Prims.bool) = - fun env -> - fun lid -> - fun open_kind -> + fun env -> + fun lid -> + fun open_kind -> FStar_List.existsb - (fun uu___10_4097 -> + (fun uu___10_4097 -> match uu___10_4097 with - | Open_module_or_namespace (ns, k) -> + | Open_module_or_namespace (ns,k) -> (k = open_kind) && (FStar_Ident.lid_equals lid ns) | uu____4101 -> false) env.scope_mods + let (namespace_is_open : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> fun lid -> is_open env lid Open_namespace + fun env -> fun lid -> is_open env lid Open_namespace let (module_is_open : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun lid -> (lid_is_curmod env lid) || (is_open env lid Open_module) + fun env -> + fun lid -> (lid_is_curmod env lid) || (is_open env lid Open_module) + let (shorten_module_path : env -> FStar_Ident.ident Prims.list -> Prims.bool -> (FStar_Ident.ident Prims.list * FStar_Ident.ident Prims.list)) = - fun env -> - fun ids -> - fun is_full_path -> + fun env -> + fun ids -> + fun is_full_path -> let rec aux revns id1 = - let lid = FStar_Ident.lid_of_ns_and_id (FStar_List.rev revns) id1 in + let lid = FStar_Ident.lid_of_ns_and_id (FStar_List.rev revns) id1 + in if namespace_is_open env lid then FStar_Pervasives_Native.Some @@ -1030,32 +1131,35 @@ let (shorten_module_path : (match revns with | [] -> FStar_Pervasives_Native.None | ns_last_id::rev_ns_prefix -> - let uu____4230 = aux rev_ns_prefix ns_last_id in + let uu____4230 = aux rev_ns_prefix ns_last_id in FStar_All.pipe_right uu____4230 (FStar_Util.map_option - (fun uu____4280 -> + (fun uu____4280 -> match uu____4280 with - | (stripped_ids, rev_kept_ids) -> - (stripped_ids, (id1 :: rev_kept_ids))))) in + | (stripped_ids,rev_kept_ids) -> + (stripped_ids, (id1 :: rev_kept_ids))))) + in let do_shorten env1 ids1 = match FStar_List.rev ids1 with | [] -> ([], []) | ns_last_id::ns_rev_prefix -> - let uu____4350 = aux ns_rev_prefix ns_last_id in + let uu____4350 = aux ns_rev_prefix ns_last_id in (match uu____4350 with - | FStar_Pervasives_Native.None -> ([], ids1) - | FStar_Pervasives_Native.Some (stripped_ids, rev_kept_ids) -> - (stripped_ids, (FStar_List.rev rev_kept_ids))) in + | FStar_Pervasives_Native.None -> ([], ids1) + | FStar_Pervasives_Native.Some (stripped_ids,rev_kept_ids) -> + (stripped_ids, (FStar_List.rev rev_kept_ids))) + in if is_full_path && ((FStar_List.length ids) > (Prims.parse_int "0")) then let uu____4413 = - let uu____4416 = FStar_Ident.lid_of_ids ids in - resolve_module_name env uu____4416 true in + let uu____4416 = FStar_Ident.lid_of_ids ids in + resolve_module_name env uu____4416 true in match uu____4413 with | FStar_Pervasives_Native.Some m when module_is_open env m -> (ids, []) | uu____4431 -> do_shorten env ids else do_shorten env ids + let resolve_in_open_namespaces'' : 'a . env -> @@ -1068,44 +1172,47 @@ let resolve_in_open_namespaces'' : ('a cont_t -> FStar_Ident.ident -> 'a cont_t) -> 'a FStar_Pervasives_Native.option = - fun env -> - fun lid -> - fun eikind -> - fun k_local_binding -> - fun k_rec_binding -> - fun k_record -> - fun f_module -> - fun l_default -> + fun env -> + fun lid -> + fun eikind -> + fun k_local_binding -> + fun k_rec_binding -> + fun k_record -> + fun f_module -> + fun l_default -> match lid.FStar_Ident.ns with | uu____4552::uu____4553 -> let uu____4556 = let uu____4559 = let uu____4560 = - FStar_Ident.lid_of_ids lid.FStar_Ident.ns in - let uu____4561 = FStar_Ident.range_of_lid lid in - FStar_Ident.set_lid_range uu____4560 uu____4561 in - resolve_module_name env uu____4559 true in + FStar_Ident.lid_of_ids lid.FStar_Ident.ns in + let uu____4561 = FStar_Ident.range_of_lid lid in + FStar_Ident.set_lid_range uu____4560 uu____4561 in + resolve_module_name env uu____4559 true in (match uu____4556 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some modul -> let uu____4566 = find_in_module_with_includes eikind f_module - Cont_fail env modul lid.FStar_Ident.ident in + Cont_fail env modul lid.FStar_Ident.ident + in option_of_cont - (fun uu____4570 -> FStar_Pervasives_Native.None) + (fun uu____4570 -> FStar_Pervasives_Native.None) uu____4566) | [] -> try_lookup_id'' env lid.FStar_Ident.ident eikind k_local_binding k_rec_binding k_record f_module l_default + let cont_of_option : 'a . 'a cont_t -> 'a FStar_Pervasives_Native.option -> 'a cont_t = - fun k_none -> - fun uu___11_4594 -> + fun k_none -> + fun uu___11_4594 -> match uu___11_4594 with | FStar_Pervasives_Native.Some v1 -> Cont_ok v1 - | FStar_Pervasives_Native.None -> k_none + | FStar_Pervasives_Native.None -> k_none + let resolve_in_open_namespaces' : 'a . env -> @@ -1117,133 +1224,144 @@ let resolve_in_open_namespaces' : 'a FStar_Pervasives_Native.option) -> 'a FStar_Pervasives_Native.option = - fun env -> - fun lid -> - fun k_local_binding -> - fun k_rec_binding -> - fun k_global_def -> + fun env -> + fun lid -> + fun k_local_binding -> + fun k_rec_binding -> + fun k_global_def -> let k_global_def' k lid1 def = - let uu____4715 = k_global_def lid1 def in - cont_of_option k uu____4715 in + let uu____4715 = k_global_def lid1 def in + cont_of_option k uu____4715 in let f_module lid' = - let k = Cont_ignore in - find_in_module env lid' (k_global_def' k) k in - let l_default k i = lookup_default_id env i (k_global_def' k) k in + let k = Cont_ignore in + find_in_module env lid' (k_global_def' k) k in + let l_default k i = lookup_default_id env i (k_global_def' k) k + in resolve_in_open_namespaces'' env lid Exported_id_term_type - (fun l -> - let uu____4751 = k_local_binding l in + (fun l -> + let uu____4751 = k_local_binding l in cont_of_option Cont_fail uu____4751) - (fun r -> - let uu____4757 = k_rec_binding r in + (fun r -> + let uu____4757 = k_rec_binding r in cont_of_option Cont_fail uu____4757) - (fun uu____4761 -> Cont_ignore) f_module l_default + (fun uu____4761 -> Cont_ignore) f_module l_default + let (fv_qual_of_se : FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.fv_qual FStar_Pervasives_Native.option) = - fun se -> + fun se -> match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (uu____4772, uu____4773, uu____4774, l, uu____4776, uu____4777) -> + (uu____4772,uu____4773,uu____4774,l,uu____4776,uu____4777) -> let qopt = FStar_Util.find_map se.FStar_Syntax_Syntax.sigquals - (fun uu___12_4790 -> + (fun uu___12_4790 -> match uu___12_4790 with - | FStar_Syntax_Syntax.RecordConstructor (uu____4793, fs) -> + | FStar_Syntax_Syntax.RecordConstructor (uu____4793,fs) -> FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_ctor (l, fs)) - | uu____4805 -> FStar_Pervasives_Native.None) in + | uu____4805 -> FStar_Pervasives_Native.None) + in (match qopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor | x -> x) - | FStar_Syntax_Syntax.Sig_declare_typ - (uu____4811, uu____4812, uu____4813) -> FStar_Pervasives_Native.None + | FStar_Syntax_Syntax.Sig_declare_typ (uu____4811,uu____4812,uu____4813) + -> FStar_Pervasives_Native.None | uu____4814 -> FStar_Pervasives_Native.None + let (lb_fv : FStar_Syntax_Syntax.letbinding Prims.list -> FStar_Ident.lident -> FStar_Syntax_Syntax.fv) = - fun lbs -> - fun lid -> + fun lbs -> + fun lid -> let uu____4830 = FStar_Util.find_map lbs - (fun lb -> - let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname in - let uu____4838 = FStar_Syntax_Syntax.fv_eq_lid fv lid in + (fun lb -> + let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + let uu____4838 = FStar_Syntax_Syntax.fv_eq_lid fv lid in if uu____4838 then FStar_Pervasives_Native.Some fv - else FStar_Pervasives_Native.None) in + else FStar_Pervasives_Native.None) + in FStar_All.pipe_right uu____4830 FStar_Util.must + let (ns_of_lid_equals : FStar_Ident.lident -> FStar_Ident.lident -> Prims.bool) = - fun lid -> - fun ns -> + fun lid -> + fun ns -> (let uu____4861 = - let uu____4862 = FStar_Ident.ids_of_lid ns in - FStar_List.length uu____4862 in + let uu____4862 = FStar_Ident.ids_of_lid ns in + FStar_List.length uu____4862 in (FStar_List.length lid.FStar_Ident.ns) = uu____4861) && - (let uu____4866 = FStar_Ident.lid_of_ids lid.FStar_Ident.ns in + (let uu____4866 = FStar_Ident.lid_of_ids lid.FStar_Ident.ns in FStar_Ident.lid_equals uu____4866 ns) + let (delta_depth_of_declaration : FStar_Ident.lident -> FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Syntax_Syntax.delta_depth) = - fun lid -> - fun quals -> + fun lid -> + fun quals -> let dd = let uu____4883 = (FStar_Syntax_Util.is_primop_lid lid) || (FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___13_4890 -> + (fun uu___13_4890 -> match uu___13_4890 with | FStar_Syntax_Syntax.Projector uu____4892 -> true | FStar_Syntax_Syntax.Discriminator uu____4898 -> true - | uu____4900 -> false))) in + | uu____4900 -> false))) + in if uu____4883 then FStar_Syntax_Syntax.delta_equational - else FStar_Syntax_Syntax.delta_constant in + else FStar_Syntax_Syntax.delta_constant in let uu____4905 = (FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___14_4911 -> + (fun uu___14_4911 -> match uu___14_4911 with - | FStar_Syntax_Syntax.Abstract -> true + | FStar_Syntax_Syntax.Abstract -> true | uu____4914 -> false))) || ((FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___15_4920 -> + (fun uu___15_4920 -> match uu___15_4920 with - | FStar_Syntax_Syntax.Assumption -> true + | FStar_Syntax_Syntax.Assumption -> true | uu____4923 -> false))) && (let uu____4926 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___16_4932 -> + (fun uu___16_4932 -> match uu___16_4932 with - | FStar_Syntax_Syntax.New -> true - | uu____4935 -> false)) in - Prims.op_Negation uu____4926)) in + | FStar_Syntax_Syntax.New -> true + | uu____4935 -> false)) + in + Prims.op_Negation uu____4926)) + in if uu____4905 then FStar_Syntax_Syntax.Delta_abstract dd else dd + let (try_lookup_name : Prims.bool -> Prims.bool -> env -> FStar_Ident.lident -> foundname FStar_Pervasives_Native.option) = - fun any_val -> - fun exclude_interf -> - fun env -> - fun lid -> - let occurrence_range = FStar_Ident.range_of_lid lid in + fun any_val -> + fun exclude_interf -> + fun env -> + fun lid -> + let occurrence_range = FStar_Ident.range_of_lid lid in let k_global_def source_lid uu___19_4987 = match uu___19_4987 with - | (uu____4995, true) when exclude_interf -> + | (uu____4995,true ) when exclude_interf -> FStar_Pervasives_Native.None - | (se, uu____4999) -> + | (se,uu____4999) -> (match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ uu____5004 -> let uu____5021 = @@ -1251,63 +1369,70 @@ let (try_lookup_name : let uu____5029 = FStar_Syntax_Syntax.fvar source_lid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - (uu____5029, (se.FStar_Syntax_Syntax.sigattrs)) in - Term_name uu____5022 in + FStar_Pervasives_Native.None + in + (uu____5029, (se.FStar_Syntax_Syntax.sigattrs)) in + Term_name uu____5022 in FStar_Pervasives_Native.Some uu____5021 | FStar_Syntax_Syntax.Sig_datacon uu____5032 -> let uu____5048 = let uu____5049 = let uu____5056 = - let uu____5057 = fv_qual_of_se se in + let uu____5057 = fv_qual_of_se se in FStar_Syntax_Syntax.fvar source_lid - FStar_Syntax_Syntax.delta_constant uu____5057 in - (uu____5056, (se.FStar_Syntax_Syntax.sigattrs)) in - Term_name uu____5049 in + FStar_Syntax_Syntax.delta_constant uu____5057 + in + (uu____5056, (se.FStar_Syntax_Syntax.sigattrs)) in + Term_name uu____5049 in FStar_Pervasives_Native.Some uu____5048 - | FStar_Syntax_Syntax.Sig_let - ((uu____5062, lbs), uu____5064) -> - let fv = lb_fv lbs source_lid in + | FStar_Syntax_Syntax.Sig_let ((uu____5062,lbs),uu____5064) + -> + let fv = lb_fv lbs source_lid in let uu____5076 = let uu____5077 = let uu____5084 = FStar_Syntax_Syntax.fvar source_lid fv.FStar_Syntax_Syntax.fv_delta - fv.FStar_Syntax_Syntax.fv_qual in - (uu____5084, (se.FStar_Syntax_Syntax.sigattrs)) in - Term_name uu____5077 in + fv.FStar_Syntax_Syntax.fv_qual + in + (uu____5084, (se.FStar_Syntax_Syntax.sigattrs)) in + Term_name uu____5077 in FStar_Pervasives_Native.Some uu____5076 | FStar_Syntax_Syntax.Sig_declare_typ - (lid1, uu____5088, uu____5089) -> - let quals = se.FStar_Syntax_Syntax.sigquals in + (lid1,uu____5088,uu____5089) -> + let quals = se.FStar_Syntax_Syntax.sigquals in let uu____5093 = any_val || (FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___17_5099 -> + (fun uu___17_5099 -> match uu___17_5099 with - | FStar_Syntax_Syntax.Assumption -> true - | uu____5102 -> false))) in + | FStar_Syntax_Syntax.Assumption -> true + | uu____5102 -> false))) + in if uu____5093 then let lid2 = - let uu____5108 = FStar_Ident.range_of_lid source_lid in - FStar_Ident.set_lid_range lid1 uu____5108 in - let dd = delta_depth_of_declaration lid2 quals in + let uu____5108 = FStar_Ident.range_of_lid source_lid + in + FStar_Ident.set_lid_range lid1 uu____5108 in + let dd = delta_depth_of_declaration lid2 quals in let uu____5110 = FStar_Util.find_map quals - (fun uu___18_5115 -> + (fun uu___18_5115 -> match uu___18_5115 with | FStar_Syntax_Syntax.Reflectable refl_monad -> FStar_Pervasives_Native.Some refl_monad - | uu____5119 -> FStar_Pervasives_Native.None) in + | uu____5119 -> FStar_Pervasives_Native.None) + in (match uu____5110 with | FStar_Pervasives_Native.Some refl_monad -> let refl_const = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reflect refl_monad)) - FStar_Pervasives_Native.None occurrence_range in + FStar_Pervasives_Native.None occurrence_range + in FStar_Pervasives_Native.Some (Term_name (refl_const, @@ -1316,11 +1441,13 @@ let (try_lookup_name : let uu____5131 = let uu____5132 = let uu____5139 = - let uu____5140 = fv_qual_of_se se in - FStar_Syntax_Syntax.fvar lid2 dd uu____5140 in + let uu____5140 = fv_qual_of_se se in + FStar_Syntax_Syntax.fvar lid2 dd uu____5140 + in (uu____5139, - (se.FStar_Syntax_Syntax.sigattrs)) in - Term_name uu____5132 in + (se.FStar_Syntax_Syntax.sigattrs)) + in + Term_name uu____5132 in FStar_Pervasives_Native.Some uu____5131) else FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Sig_new_effect_for_free ne -> @@ -1328,70 +1455,77 @@ let (try_lookup_name : let uu____5149 = let uu____5154 = let uu____5155 = - FStar_Ident.range_of_lid source_lid in + FStar_Ident.range_of_lid source_lid in FStar_Ident.set_lid_range - ne.FStar_Syntax_Syntax.mname uu____5155 in - (se, uu____5154) in - Eff_name uu____5149 in + ne.FStar_Syntax_Syntax.mname uu____5155 + in + (se, uu____5154) in + Eff_name uu____5149 in FStar_Pervasives_Native.Some uu____5148 | FStar_Syntax_Syntax.Sig_new_effect ne -> let uu____5157 = let uu____5158 = let uu____5163 = let uu____5164 = - FStar_Ident.range_of_lid source_lid in + FStar_Ident.range_of_lid source_lid in FStar_Ident.set_lid_range - ne.FStar_Syntax_Syntax.mname uu____5164 in - (se, uu____5163) in - Eff_name uu____5158 in + ne.FStar_Syntax_Syntax.mname uu____5164 + in + (se, uu____5163) in + Eff_name uu____5158 in FStar_Pervasives_Native.Some uu____5157 | FStar_Syntax_Syntax.Sig_effect_abbrev uu____5165 -> FStar_Pervasives_Native.Some (Eff_name (se, source_lid)) - | FStar_Syntax_Syntax.Sig_splice (lids, t) -> + | FStar_Syntax_Syntax.Sig_splice (lids,t) -> let uu____5184 = let uu____5185 = let uu____5192 = FStar_Syntax_Syntax.fvar source_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in - (uu____5192, []) in - Term_name uu____5185 in + FStar_Pervasives_Native.None + in + (uu____5192, []) in + Term_name uu____5185 in FStar_Pervasives_Native.Some uu____5184 - | uu____5196 -> FStar_Pervasives_Native.None) in + | uu____5196 -> FStar_Pervasives_Native.None) + in let k_local_binding r = let t = - let uu____5214 = FStar_Ident.range_of_lid lid in - found_local_binding uu____5214 r in - FStar_Pervasives_Native.Some (Term_name (t, [])) in + let uu____5214 = FStar_Ident.range_of_lid lid in + found_local_binding uu____5214 r in + FStar_Pervasives_Native.Some (Term_name (t, [])) in let k_rec_binding uu____5230 = match uu____5230 with - | (id1, l, dd) -> + | (id1,l,dd) -> let uu____5242 = let uu____5243 = let uu____5250 = let uu____5251 = - let uu____5252 = FStar_Ident.range_of_lid lid in - FStar_Ident.set_lid_range l uu____5252 in + let uu____5252 = FStar_Ident.range_of_lid lid in + FStar_Ident.set_lid_range l uu____5252 in FStar_Syntax_Syntax.fvar uu____5251 dd - FStar_Pervasives_Native.None in - (uu____5250, []) in - Term_name uu____5243 in - FStar_Pervasives_Native.Some uu____5242 in + FStar_Pervasives_Native.None + in + (uu____5250, []) in + Term_name uu____5243 in + FStar_Pervasives_Native.Some uu____5242 + in let found_unmangled = match lid.FStar_Ident.ns with | [] -> - let uu____5260 = unmangleOpName lid.FStar_Ident.ident in + let uu____5260 = unmangleOpName lid.FStar_Ident.ident in (match uu____5260 with | FStar_Pervasives_Native.Some t -> FStar_Pervasives_Native.Some (Term_name (t, [])) | uu____5268 -> FStar_Pervasives_Native.None) - | uu____5271 -> FStar_Pervasives_Native.None in + | uu____5271 -> FStar_Pervasives_Native.None in match found_unmangled with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> resolve_in_open_namespaces' env lid k_local_binding k_rec_binding k_global_def | x -> x + let (try_lookup_effect_name' : Prims.bool -> env -> @@ -1399,36 +1533,38 @@ let (try_lookup_effect_name' : (FStar_Syntax_Syntax.sigelt * FStar_Ident.lident) FStar_Pervasives_Native.option) = - fun exclude_interf -> - fun env -> - fun lid -> - let uu____5309 = try_lookup_name true exclude_interf env lid in + fun exclude_interf -> + fun env -> + fun lid -> + let uu____5309 = try_lookup_name true exclude_interf env lid in match uu____5309 with - | FStar_Pervasives_Native.Some (Eff_name (o, l)) -> + | FStar_Pervasives_Native.Some (Eff_name (o,l)) -> FStar_Pervasives_Native.Some (o, l) | uu____5325 -> FStar_Pervasives_Native.None + let (try_lookup_effect_name : env -> FStar_Ident.lident -> FStar_Ident.lident FStar_Pervasives_Native.option) = - fun env -> - fun l -> + fun env -> + fun l -> let uu____5345 = - try_lookup_effect_name' (Prims.op_Negation env.iface) env l in + try_lookup_effect_name' (Prims.op_Negation env.iface) env l in match uu____5345 with - | FStar_Pervasives_Native.Some (o, l1) -> + | FStar_Pervasives_Native.Some (o,l1) -> FStar_Pervasives_Native.Some l1 | uu____5360 -> FStar_Pervasives_Native.None + let (try_lookup_effect_name_and_attributes : env -> FStar_Ident.lident -> (FStar_Ident.lident * FStar_Syntax_Syntax.cflag Prims.list) FStar_Pervasives_Native.option) = - fun env -> - fun l -> + fun env -> + fun l -> let uu____5386 = - try_lookup_effect_name' (Prims.op_Negation env.iface) env l in + try_lookup_effect_name' (Prims.op_Negation env.iface) env l in match uu____5386 with | FStar_Pervasives_Native.Some ({ @@ -1437,8 +1573,7 @@ let (try_lookup_effect_name_and_attributes : FStar_Syntax_Syntax.sigrng = uu____5402; FStar_Syntax_Syntax.sigquals = uu____5403; FStar_Syntax_Syntax.sigmeta = uu____5404; - FStar_Syntax_Syntax.sigattrs = uu____5405;_}, - l1) + FStar_Syntax_Syntax.sigattrs = uu____5405;_},l1) -> FStar_Pervasives_Native.Some (l1, (ne.FStar_Syntax_Syntax.cattributes)) @@ -1449,8 +1584,7 @@ let (try_lookup_effect_name_and_attributes : FStar_Syntax_Syntax.sigrng = uu____5424; FStar_Syntax_Syntax.sigquals = uu____5425; FStar_Syntax_Syntax.sigmeta = uu____5426; - FStar_Syntax_Syntax.sigattrs = uu____5427;_}, - l1) + FStar_Syntax_Syntax.sigattrs = uu____5427;_},l1) -> FStar_Pervasives_Native.Some (l1, (ne.FStar_Syntax_Syntax.cattributes)) @@ -1458,23 +1592,23 @@ let (try_lookup_effect_name_and_attributes : ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_effect_abbrev - (uu____5445, uu____5446, uu____5447, uu____5448, cattributes); + (uu____5445,uu____5446,uu____5447,uu____5448,cattributes); FStar_Syntax_Syntax.sigrng = uu____5450; FStar_Syntax_Syntax.sigquals = uu____5451; FStar_Syntax_Syntax.sigmeta = uu____5452; - FStar_Syntax_Syntax.sigattrs = uu____5453;_}, - l1) + FStar_Syntax_Syntax.sigattrs = uu____5453;_},l1) -> FStar_Pervasives_Native.Some (l1, cattributes) | uu____5475 -> FStar_Pervasives_Native.None + let (try_lookup_effect_defn : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.eff_decl FStar_Pervasives_Native.option) = - fun env -> - fun l -> + fun env -> + fun l -> let uu____5501 = - try_lookup_effect_name' (Prims.op_Negation env.iface) env l in + try_lookup_effect_name' (Prims.op_Negation env.iface) env l in match uu____5501 with | FStar_Pervasives_Native.Some ({ @@ -1483,8 +1617,7 @@ let (try_lookup_effect_defn : FStar_Syntax_Syntax.sigrng = uu____5511; FStar_Syntax_Syntax.sigquals = uu____5512; FStar_Syntax_Syntax.sigmeta = uu____5513; - FStar_Syntax_Syntax.sigattrs = uu____5514;_}, - uu____5515) + FStar_Syntax_Syntax.sigattrs = uu____5514;_},uu____5515) -> FStar_Pervasives_Native.Some ne | FStar_Pervasives_Native.Some ({ @@ -1493,164 +1626,176 @@ let (try_lookup_effect_defn : FStar_Syntax_Syntax.sigrng = uu____5525; FStar_Syntax_Syntax.sigquals = uu____5526; FStar_Syntax_Syntax.sigmeta = uu____5527; - FStar_Syntax_Syntax.sigattrs = uu____5528;_}, - uu____5529) + FStar_Syntax_Syntax.sigattrs = uu____5528;_},uu____5529) -> FStar_Pervasives_Native.Some ne | uu____5538 -> FStar_Pervasives_Native.None + let (is_effect_name : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun lid -> - let uu____5557 = try_lookup_effect_name env lid in + fun env -> + fun lid -> + let uu____5557 = try_lookup_effect_name env lid in match uu____5557 with - | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.None -> false | FStar_Pervasives_Native.Some uu____5562 -> true + let (try_lookup_root_effect_name : env -> FStar_Ident.lident -> FStar_Ident.lident FStar_Pervasives_Native.option) = - fun env -> - fun l -> + fun env -> + fun l -> let uu____5577 = - try_lookup_effect_name' (Prims.op_Negation env.iface) env l in + try_lookup_effect_name' (Prims.op_Negation env.iface) env l in match uu____5577 with | FStar_Pervasives_Native.Some ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_effect_abbrev - (l', uu____5587, uu____5588, uu____5589, uu____5590); + (l',uu____5587,uu____5588,uu____5589,uu____5590); FStar_Syntax_Syntax.sigrng = uu____5591; FStar_Syntax_Syntax.sigquals = uu____5592; FStar_Syntax_Syntax.sigmeta = uu____5593; - FStar_Syntax_Syntax.sigattrs = uu____5594;_}, - uu____5595) + FStar_Syntax_Syntax.sigattrs = uu____5594;_},uu____5595) -> let rec aux new_name = let uu____5616 = - FStar_Util.smap_try_find (sigmap env) new_name.FStar_Ident.str in + FStar_Util.smap_try_find (sigmap env) new_name.FStar_Ident.str + in match uu____5616 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (s, uu____5637) -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (s,uu____5637) -> (match s.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_new_effect_for_free ne -> let uu____5648 = - let uu____5649 = FStar_Ident.range_of_lid l in + let uu____5649 = FStar_Ident.range_of_lid l in FStar_Ident.set_lid_range ne.FStar_Syntax_Syntax.mname - uu____5649 in + uu____5649 + in FStar_Pervasives_Native.Some uu____5648 | FStar_Syntax_Syntax.Sig_new_effect ne -> let uu____5651 = - let uu____5652 = FStar_Ident.range_of_lid l in + let uu____5652 = FStar_Ident.range_of_lid l in FStar_Ident.set_lid_range ne.FStar_Syntax_Syntax.mname - uu____5652 in + uu____5652 + in FStar_Pervasives_Native.Some uu____5651 | FStar_Syntax_Syntax.Sig_effect_abbrev - (uu____5653, uu____5654, uu____5655, cmp, uu____5657) -> - let l'' = FStar_Syntax_Util.comp_effect_name cmp in + (uu____5653,uu____5654,uu____5655,cmp,uu____5657) -> + let l'' = FStar_Syntax_Util.comp_effect_name cmp in aux l'' - | uu____5663 -> FStar_Pervasives_Native.None) in + | uu____5663 -> FStar_Pervasives_Native.None) + in aux l' - | FStar_Pervasives_Native.Some (uu____5664, l') -> + | FStar_Pervasives_Native.Some (uu____5664,l') -> FStar_Pervasives_Native.Some l' | uu____5670 -> FStar_Pervasives_Native.None + let (lookup_letbinding_quals : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.qualifier Prims.list) = - fun env -> - fun lid -> + fun env -> + fun lid -> let k_global_def lid1 uu___20_5709 = match uu___20_5709 with | ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_declare_typ - (uu____5719, uu____5720, uu____5721); + (uu____5719,uu____5720,uu____5721); FStar_Syntax_Syntax.sigrng = uu____5722; FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = uu____5724; - FStar_Syntax_Syntax.sigattrs = uu____5725;_}, - uu____5726) -> FStar_Pervasives_Native.Some quals - | uu____5735 -> FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.sigattrs = uu____5725;_},uu____5726) + -> FStar_Pervasives_Native.Some quals + | uu____5735 -> FStar_Pervasives_Native.None in let uu____5743 = resolve_in_open_namespaces' env lid - (fun uu____5751 -> FStar_Pervasives_Native.None) - (fun uu____5755 -> FStar_Pervasives_Native.None) k_global_def in + (fun uu____5751 -> FStar_Pervasives_Native.None) + (fun uu____5755 -> FStar_Pervasives_Native.None) k_global_def + in match uu____5743 with | FStar_Pervasives_Native.Some quals -> quals | uu____5765 -> [] + let (try_lookup_module : env -> FStar_Ident.path -> FStar_Syntax_Syntax.modul FStar_Pervasives_Native.option) = - fun env -> - fun path -> + fun env -> + fun path -> let uu____5783 = FStar_List.tryFind - (fun uu____5798 -> + (fun uu____5798 -> match uu____5798 with - | (mlid, modul) -> - let uu____5806 = FStar_Ident.path_of_lid mlid in - uu____5806 = path) env.modules in + | (mlid,modul) -> + let uu____5806 = FStar_Ident.path_of_lid mlid in + uu____5806 = path) env.modules + in match uu____5783 with - | FStar_Pervasives_Native.Some (uu____5809, modul) -> + | FStar_Pervasives_Native.Some (uu____5809,modul) -> FStar_Pervasives_Native.Some modul - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + let (try_lookup_let : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun env -> - fun lid -> + fun env -> + fun lid -> let k_global_def lid1 uu___21_5849 = match uu___21_5849 with | ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_let - ((uu____5857, lbs), uu____5859); + ((uu____5857,lbs),uu____5859); FStar_Syntax_Syntax.sigrng = uu____5860; FStar_Syntax_Syntax.sigquals = uu____5861; FStar_Syntax_Syntax.sigmeta = uu____5862; - FStar_Syntax_Syntax.sigattrs = uu____5863;_}, - uu____5864) -> - let fv = lb_fv lbs lid1 in + FStar_Syntax_Syntax.sigattrs = uu____5863;_},uu____5864) + -> + let fv = lb_fv lbs lid1 in let uu____5882 = FStar_Syntax_Syntax.fvar lid1 fv.FStar_Syntax_Syntax.fv_delta - fv.FStar_Syntax_Syntax.fv_qual in + fv.FStar_Syntax_Syntax.fv_qual + in FStar_Pervasives_Native.Some uu____5882 - | uu____5883 -> FStar_Pervasives_Native.None in + | uu____5883 -> FStar_Pervasives_Native.None in resolve_in_open_namespaces' env lid - (fun uu____5890 -> FStar_Pervasives_Native.None) - (fun uu____5892 -> FStar_Pervasives_Native.None) k_global_def + (fun uu____5890 -> FStar_Pervasives_Native.None) + (fun uu____5892 -> FStar_Pervasives_Native.None) k_global_def + let (try_lookup_definition : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun env -> - fun lid -> + fun env -> + fun lid -> let k_global_def lid1 uu___22_5925 = match uu___22_5925 with | ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_let - (lbs, uu____5936); + (lbs,uu____5936); FStar_Syntax_Syntax.sigrng = uu____5937; FStar_Syntax_Syntax.sigquals = uu____5938; FStar_Syntax_Syntax.sigmeta = uu____5939; - FStar_Syntax_Syntax.sigattrs = uu____5940;_}, - uu____5941) -> + FStar_Syntax_Syntax.sigattrs = uu____5940;_},uu____5941) + -> FStar_Util.find_map (FStar_Pervasives_Native.snd lbs) - (fun lb -> + (fun lb -> match lb.FStar_Syntax_Syntax.lbname with | FStar_Util.Inr fv when FStar_Syntax_Syntax.fv_eq_lid fv lid1 -> FStar_Pervasives_Native.Some (lb.FStar_Syntax_Syntax.lbdef) | uu____5967 -> FStar_Pervasives_Native.None) - | uu____5974 -> FStar_Pervasives_Native.None in + | uu____5974 -> FStar_Pervasives_Native.None in resolve_in_open_namespaces' env lid - (fun uu____5985 -> FStar_Pervasives_Native.None) - (fun uu____5989 -> FStar_Pervasives_Native.None) k_global_def + (fun uu____5985 -> FStar_Pervasives_Native.None) + (fun uu____5989 -> FStar_Pervasives_Native.None) k_global_def + let (empty_include_smap : - FStar_Ident.lident Prims.list FStar_ST.ref FStar_Util.smap) = new_sigmap () + FStar_Ident.lident Prims.list FStar_ST.ref FStar_Util.smap) = new_sigmap () let (empty_exported_id_smap : exported_id_set FStar_Util.smap) = - new_sigmap () + new_sigmap () let (try_lookup_lid' : Prims.bool -> Prims.bool -> @@ -1659,88 +1804,96 @@ let (try_lookup_lid' : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.attribute Prims.list) FStar_Pervasives_Native.option) = - fun any_val -> - fun exclude_interface -> - fun env -> - fun lid -> - let uu____6049 = try_lookup_name any_val exclude_interface env lid in + fun any_val -> + fun exclude_interface -> + fun env -> + fun lid -> + let uu____6049 = try_lookup_name any_val exclude_interface env lid + in match uu____6049 with - | FStar_Pervasives_Native.Some (Term_name (e, attrs)) -> + | FStar_Pervasives_Native.Some (Term_name (e,attrs)) -> FStar_Pervasives_Native.Some (e, attrs) | uu____6074 -> FStar_Pervasives_Native.None + let (drop_attributes : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.attribute Prims.list) FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun x -> + fun x -> match x with - | FStar_Pervasives_Native.Some (t, uu____6112) -> + | FStar_Pervasives_Native.Some (t,uu____6112) -> FStar_Pervasives_Native.Some t - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + let (try_lookup_lid_with_attributes : env -> FStar_Ident.lident -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.attribute Prims.list) FStar_Pervasives_Native.option) - = fun env -> fun l -> try_lookup_lid' env.iface false env l + = fun env -> fun l -> try_lookup_lid' env.iface false env l let (try_lookup_lid : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun env -> - fun l -> - let uu____6170 = try_lookup_lid_with_attributes env l in + fun env -> + fun l -> + let uu____6170 = try_lookup_lid_with_attributes env l in FStar_All.pipe_right uu____6170 drop_attributes + let (resolve_to_fully_qualified_name : env -> FStar_Ident.lident -> FStar_Ident.lident FStar_Pervasives_Native.option) = - fun env -> - fun l -> - let uu____6202 = try_lookup_lid env l in + fun env -> + fun l -> + let uu____6202 = try_lookup_lid env l in match uu____6202 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some e -> let uu____6208 = - let uu____6209 = FStar_Syntax_Subst.compress e in - uu____6209.FStar_Syntax_Syntax.n in + let uu____6209 = FStar_Syntax_Subst.compress e in + uu____6209.FStar_Syntax_Syntax.n in (match uu____6208 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Pervasives_Native.Some ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) | uu____6215 -> FStar_Pervasives_Native.None) + let (shorten_lid' : env -> FStar_Ident.lident -> FStar_Ident.lident) = - fun env -> - fun lid -> - let uu____6227 = shorten_module_path env lid.FStar_Ident.ns true in + fun env -> + fun lid -> + let uu____6227 = shorten_module_path env lid.FStar_Ident.ns true in match uu____6227 with - | (uu____6237, short) -> + | (uu____6237,short) -> FStar_Ident.lid_of_ns_and_id short lid.FStar_Ident.ident + let (shorten_lid : env -> FStar_Ident.lid -> FStar_Ident.lid) = - fun env -> - fun lid -> + fun env -> + fun lid -> match env.curmodule with - | FStar_Pervasives_Native.None -> shorten_lid' env lid + | FStar_Pervasives_Native.None -> shorten_lid' env lid | uu____6258 -> let lid_without_ns = - FStar_Ident.lid_of_ns_and_id [] lid.FStar_Ident.ident in - let uu____6262 = resolve_to_fully_qualified_name env lid_without_ns in + FStar_Ident.lid_of_ns_and_id [] lid.FStar_Ident.ident in + let uu____6262 = resolve_to_fully_qualified_name env lid_without_ns + in (match uu____6262 with | FStar_Pervasives_Native.Some lid' when lid'.FStar_Ident.str = lid.FStar_Ident.str -> lid_without_ns | uu____6267 -> shorten_lid' env lid) + let (try_lookup_lid_with_attributes_no_resolve : env -> FStar_Ident.lident -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.attribute Prims.list) FStar_Pervasives_Native.option) = - fun env -> - fun l -> + fun env -> + fun l -> let env' = - let uu___884_6298 = env in + let uu___884_6298 = env in { curmodule = (uu___884_6298.curmodule); curmonad = (uu___884_6298.curmonad); @@ -1759,51 +1912,55 @@ let (try_lookup_lid_with_attributes_no_resolve : syntax_only = (uu___884_6298.syntax_only); ds_hooks = (uu___884_6298.ds_hooks); dep_graph = (uu___884_6298.dep_graph) - } in + } in try_lookup_lid_with_attributes env' l + let (try_lookup_lid_no_resolve : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun env -> - fun l -> - let uu____6314 = try_lookup_lid_with_attributes_no_resolve env l in + fun env -> + fun l -> + let uu____6314 = try_lookup_lid_with_attributes_no_resolve env l in FStar_All.pipe_right uu____6314 drop_attributes + let (try_lookup_doc : env -> FStar_Ident.lid -> FStar_Parser_AST.fsdoc FStar_Pervasives_Native.option) - = fun env -> fun l -> FStar_Util.smap_try_find env.docs l.FStar_Ident.str + = fun env -> fun l -> FStar_Util.smap_try_find env.docs l.FStar_Ident.str let (try_lookup_datacon : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.fv FStar_Pervasives_Native.option) = - fun env -> - fun lid -> + fun env -> + fun lid -> let k_global_def lid1 se = match se with | ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_declare_typ - (uu____6384, uu____6385, uu____6386); + (uu____6384,uu____6385,uu____6386); FStar_Syntax_Syntax.sigrng = uu____6387; FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = uu____6389; - FStar_Syntax_Syntax.sigattrs = uu____6390;_}, - uu____6391) -> + FStar_Syntax_Syntax.sigattrs = uu____6390;_},uu____6391) + -> let uu____6398 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___23_6404 -> + (fun uu___23_6404 -> match uu___23_6404 with - | FStar_Syntax_Syntax.Assumption -> true - | uu____6407 -> false)) in + | FStar_Syntax_Syntax.Assumption -> true + | uu____6407 -> false)) + in if uu____6398 then let uu____6412 = FStar_Syntax_Syntax.lid_as_fv lid1 FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Pervasives_Native.Some uu____6412 else FStar_Pervasives_Native.None | ({ @@ -1812,202 +1969,212 @@ let (try_lookup_datacon : FStar_Syntax_Syntax.sigrng = uu____6416; FStar_Syntax_Syntax.sigquals = uu____6417; FStar_Syntax_Syntax.sigmeta = uu____6418; - FStar_Syntax_Syntax.sigattrs = uu____6419;_}, - uu____6420) -> - let qual1 = fv_qual_of_se (FStar_Pervasives_Native.fst se) in + FStar_Syntax_Syntax.sigattrs = uu____6419;_},uu____6420) + -> + let qual1 = fv_qual_of_se (FStar_Pervasives_Native.fst se) in let uu____6446 = FStar_Syntax_Syntax.lid_as_fv lid1 - FStar_Syntax_Syntax.delta_constant qual1 in + FStar_Syntax_Syntax.delta_constant qual1 + in FStar_Pervasives_Native.Some uu____6446 - | uu____6447 -> FStar_Pervasives_Native.None in + | uu____6447 -> FStar_Pervasives_Native.None in resolve_in_open_namespaces' env lid - (fun uu____6454 -> FStar_Pervasives_Native.None) - (fun uu____6456 -> FStar_Pervasives_Native.None) k_global_def + (fun uu____6454 -> FStar_Pervasives_Native.None) + (fun uu____6456 -> FStar_Pervasives_Native.None) k_global_def + let (find_all_datacons : env -> FStar_Ident.lident -> FStar_Ident.lident Prims.list FStar_Pervasives_Native.option) = - fun env -> - fun lid -> + fun env -> + fun lid -> let k_global_def lid1 uu___24_6491 = match uu___24_6491 with | ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_inductive_typ - (uu____6501, uu____6502, uu____6503, uu____6504, datas, - uu____6506); + (uu____6501,uu____6502,uu____6503,uu____6504,datas,uu____6506); FStar_Syntax_Syntax.sigrng = uu____6507; FStar_Syntax_Syntax.sigquals = uu____6508; FStar_Syntax_Syntax.sigmeta = uu____6509; - FStar_Syntax_Syntax.sigattrs = uu____6510;_}, - uu____6511) -> FStar_Pervasives_Native.Some datas - | uu____6528 -> FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.sigattrs = uu____6510;_},uu____6511) + -> FStar_Pervasives_Native.Some datas + | uu____6528 -> FStar_Pervasives_Native.None in resolve_in_open_namespaces' env lid - (fun uu____6539 -> FStar_Pervasives_Native.None) - (fun uu____6543 -> FStar_Pervasives_Native.None) k_global_def + (fun uu____6539 -> FStar_Pervasives_Native.None) + (fun uu____6543 -> FStar_Pervasives_Native.None) k_global_def + let (record_cache_aux_with_filter : ((((unit -> unit) * (unit -> unit)) * (((unit -> (Prims.int * unit)) * (Prims.int FStar_Pervasives_Native.option -> unit)) * ((unit -> record_or_dc Prims.list) * (record_or_dc -> unit)))) * (unit -> unit))) = - let record_cache = FStar_Util.mk_ref [[]] in + let record_cache = FStar_Util.mk_ref [[]] in let push1 uu____6622 = let uu____6623 = let uu____6628 = - let uu____6631 = FStar_ST.op_Bang record_cache in - FStar_List.hd uu____6631 in - let uu____6665 = FStar_ST.op_Bang record_cache in uu____6628 :: - uu____6665 in - FStar_ST.op_Colon_Equals record_cache uu____6623 in + let uu____6631 = FStar_ST.op_Bang record_cache in + FStar_List.hd uu____6631 in + let uu____6665 = FStar_ST.op_Bang record_cache in uu____6628 :: + uu____6665 + in + FStar_ST.op_Colon_Equals record_cache uu____6623 in let pop1 uu____6731 = let uu____6732 = - let uu____6737 = FStar_ST.op_Bang record_cache in - FStar_List.tl uu____6737 in - FStar_ST.op_Colon_Equals record_cache uu____6732 in - let snapshot1 uu____6808 = FStar_Common.snapshot push1 record_cache () in - let rollback1 depth = FStar_Common.rollback pop1 record_cache depth in + let uu____6737 = FStar_ST.op_Bang record_cache in + FStar_List.tl uu____6737 in + FStar_ST.op_Colon_Equals record_cache uu____6732 in + let snapshot1 uu____6808 = FStar_Common.snapshot push1 record_cache () in + let rollback1 depth = FStar_Common.rollback pop1 record_cache depth in let peek1 uu____6832 = - let uu____6833 = FStar_ST.op_Bang record_cache in - FStar_List.hd uu____6833 in + let uu____6833 = FStar_ST.op_Bang record_cache in + FStar_List.hd uu____6833 in let insert r = let uu____6873 = - let uu____6878 = let uu____6881 = peek1 () in r :: uu____6881 in + let uu____6878 = let uu____6881 = peek1 () in r :: uu____6881 in let uu____6884 = - let uu____6889 = FStar_ST.op_Bang record_cache in - FStar_List.tl uu____6889 in - uu____6878 :: uu____6884 in - FStar_ST.op_Colon_Equals record_cache uu____6873 in + let uu____6889 = FStar_ST.op_Bang record_cache in + FStar_List.tl uu____6889 in + uu____6878 :: uu____6884 in + FStar_ST.op_Colon_Equals record_cache uu____6873 in let filter1 uu____6957 = - let rc = peek1 () in + let rc = peek1 () in let filtered = - FStar_List.filter (fun r -> Prims.op_Negation r.is_private_or_abstract) - rc in + FStar_List.filter + (fun r -> Prims.op_Negation r.is_private_or_abstract) rc + in let uu____6966 = let uu____6971 = - let uu____6976 = FStar_ST.op_Bang record_cache in - FStar_List.tl uu____6976 in - filtered :: uu____6971 in - FStar_ST.op_Colon_Equals record_cache uu____6966 in - let aux = ((push1, pop1), ((snapshot1, rollback1), (peek1, insert))) in - (aux, filter1) + let uu____6976 = FStar_ST.op_Bang record_cache in + FStar_List.tl uu____6976 in + filtered :: uu____6971 in + FStar_ST.op_Colon_Equals record_cache uu____6966 in + let aux = ((push1, pop1), ((snapshot1, rollback1), (peek1, insert))) in + (aux, filter1) let (record_cache_aux : (((unit -> unit) * (unit -> unit)) * (((unit -> (Prims.int * unit)) * (Prims.int FStar_Pervasives_Native.option -> unit)) * ((unit -> record_or_dc Prims.list) * (record_or_dc -> unit))))) - = FStar_Pervasives_Native.fst record_cache_aux_with_filter + = FStar_Pervasives_Native.fst record_cache_aux_with_filter let (filter_record_cache : unit -> unit) = - FStar_Pervasives_Native.snd record_cache_aux_with_filter + FStar_Pervasives_Native.snd record_cache_aux_with_filter let (push_record_cache : unit -> unit) = - FStar_Pervasives_Native.fst (FStar_Pervasives_Native.fst record_cache_aux) + FStar_Pervasives_Native.fst (FStar_Pervasives_Native.fst record_cache_aux) let (pop_record_cache : unit -> unit) = - FStar_Pervasives_Native.snd (FStar_Pervasives_Native.fst record_cache_aux) + FStar_Pervasives_Native.snd (FStar_Pervasives_Native.fst record_cache_aux) let (snapshot_record_cache : unit -> (Prims.int * unit)) = FStar_Pervasives_Native.fst (FStar_Pervasives_Native.fst (FStar_Pervasives_Native.snd record_cache_aux)) + let (rollback_record_cache : Prims.int FStar_Pervasives_Native.option -> unit) = FStar_Pervasives_Native.snd (FStar_Pervasives_Native.fst (FStar_Pervasives_Native.snd record_cache_aux)) + let (peek_record_cache : unit -> record_or_dc Prims.list) = FStar_Pervasives_Native.fst (FStar_Pervasives_Native.snd (FStar_Pervasives_Native.snd record_cache_aux)) + let (insert_record_cache : record_or_dc -> unit) = FStar_Pervasives_Native.snd (FStar_Pervasives_Native.snd (FStar_Pervasives_Native.snd record_cache_aux)) + let (extract_record : env -> scope_mod Prims.list FStar_ST.ref -> FStar_Syntax_Syntax.sigelt -> unit) = - fun e -> - fun new_globs -> - fun se -> + fun e -> + fun new_globs -> + fun se -> match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle (sigs, uu____7902) -> + | FStar_Syntax_Syntax.Sig_bundle (sigs,uu____7902) -> let is_record = FStar_Util.for_some - (fun uu___25_7921 -> + (fun uu___25_7921 -> match uu___25_7921 with | FStar_Syntax_Syntax.RecordType uu____7923 -> true | FStar_Syntax_Syntax.RecordConstructor uu____7933 -> true - | uu____7943 -> false) in + | uu____7943 -> false) + in let find_dc dc = FStar_All.pipe_right sigs (FStar_Util.find_opt - (fun uu___26_7968 -> + (fun uu___26_7968 -> match uu___26_7968 with | { FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon - (lid, uu____7971, uu____7972, uu____7973, - uu____7974, uu____7975); + (lid,uu____7971,uu____7972,uu____7973,uu____7974,uu____7975); FStar_Syntax_Syntax.sigrng = uu____7976; FStar_Syntax_Syntax.sigquals = uu____7977; FStar_Syntax_Syntax.sigmeta = uu____7978; FStar_Syntax_Syntax.sigattrs = uu____7979;_} -> FStar_Ident.lid_equals dc lid - | uu____7990 -> false)) in + | uu____7990 -> false)) + in FStar_All.pipe_right sigs (FStar_List.iter - (fun uu___27_8026 -> + (fun uu___27_8026 -> match uu___27_8026 with | { FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_inductive_typ - (typename, univs1, parms, uu____8030, uu____8031, - dc::[]); + (typename,univs1,parms,uu____8030,uu____8031,dc::[]); FStar_Syntax_Syntax.sigrng = uu____8033; FStar_Syntax_Syntax.sigquals = typename_quals; FStar_Syntax_Syntax.sigmeta = uu____8035; FStar_Syntax_Syntax.sigattrs = uu____8036;_} -> let uu____8047 = - let uu____8048 = find_dc dc in - FStar_All.pipe_left FStar_Util.must uu____8048 in + let uu____8048 = find_dc dc in + FStar_All.pipe_left FStar_Util.must uu____8048 in (match uu____8047 with | { FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon - (constrname, uu____8054, t, uu____8056, - uu____8057, uu____8058); + (constrname,uu____8054,t,uu____8056,uu____8057,uu____8058); FStar_Syntax_Syntax.sigrng = uu____8059; FStar_Syntax_Syntax.sigquals = uu____8060; FStar_Syntax_Syntax.sigmeta = uu____8061; FStar_Syntax_Syntax.sigattrs = uu____8062;_} -> let uu____8073 = - FStar_Syntax_Util.arrow_formals t in + FStar_Syntax_Util.arrow_formals t in (match uu____8073 with - | (formals, uu____8089) -> - let is_rec = is_record typename_quals in + | (formals,uu____8089) -> + let is_rec = is_record typename_quals in let formals' = FStar_All.pipe_right formals (FStar_List.collect - (fun uu____8143 -> + (fun uu____8143 -> match uu____8143 with - | (x, q) -> + | (x,q) -> let uu____8156 = (FStar_Syntax_Syntax.is_null_bv x) || (is_rec && (FStar_Syntax_Syntax.is_implicit - q)) in + q)) + in if uu____8156 then [] - else [(x, q)])) in + else [(x, q)])) + in let fields' = FStar_All.pipe_right formals' (FStar_List.map - (fun uu____8211 -> + (fun uu____8211 -> match uu____8211 with - | (x, q) -> + | (x,q) -> ((x.FStar_Syntax_Syntax.ppname), - (x.FStar_Syntax_Syntax.sort)))) in - let fields = fields' in + (x.FStar_Syntax_Syntax.sort)))) + in + let fields = fields' in let record = { typename; @@ -2024,38 +2191,44 @@ let (extract_record : FStar_Syntax_Syntax.Abstract typename_quals)); is_record = is_rec - } in + } in ((let uu____8235 = let uu____8238 = - FStar_ST.op_Bang new_globs in - (Record_or_dc record) :: uu____8238 in + FStar_ST.op_Bang new_globs in + (Record_or_dc record) :: uu____8238 in FStar_ST.op_Colon_Equals new_globs uu____8235); (match () with | () -> ((let add_field uu____8297 = match uu____8297 with - | (id1, uu____8303) -> + | (id1,uu____8303) -> let modul = let uu____8306 = FStar_Ident.lid_of_ids - constrname.FStar_Ident.ns in - uu____8306.FStar_Ident.str in + constrname.FStar_Ident.ns + in + uu____8306.FStar_Ident.str + in let uu____8307 = - get_exported_id_set e modul in + get_exported_id_set e modul + in (match uu____8307 with | FStar_Pervasives_Native.Some my_ex -> let my_exported_ids = my_ex - Exported_id_field in + Exported_id_field + in ((let uu____8330 = let uu____8331 = FStar_ST.op_Bang - my_exported_ids in + my_exported_ids + in FStar_Util.set_add id1.FStar_Ident.idText - uu____8331 in + uu____8331 + in FStar_ST.op_Colon_Equals my_exported_ids uu____8330); @@ -2067,92 +2240,106 @@ let (extract_record : = FStar_Syntax_Util.mk_field_projector_name_from_ident constrname - id1 in - uu____8377.FStar_Ident.ident in - uu____8376.FStar_Ident.idText in + id1 + in + uu____8377.FStar_Ident.ident + in + uu____8376.FStar_Ident.idText + in let uu____8379 = let uu____8380 = FStar_ST.op_Bang - my_exported_ids in + my_exported_ids + in FStar_Util.set_add projname - uu____8380 in + uu____8380 + in FStar_ST.op_Colon_Equals my_exported_ids uu____8379)) | FStar_Pervasives_Native.None - -> ()) in + -> ()) + in FStar_List.iter add_field fields'); (match () with | () -> insert_record_cache record))))) | uu____8432 -> ()) | uu____8433 -> ())) | uu____8434 -> () + let (try_lookup_record_or_dc_by_field_name : env -> FStar_Ident.lident -> record_or_dc FStar_Pervasives_Native.option) = - fun env -> - fun fieldname -> + fun env -> + fun fieldname -> let find_in_cache fieldname1 = let uu____8456 = - ((fieldname1.FStar_Ident.ns), (fieldname1.FStar_Ident.ident)) in + ((fieldname1.FStar_Ident.ns), (fieldname1.FStar_Ident.ident)) in match uu____8456 with - | (ns, id1) -> - let uu____8473 = peek_record_cache () in + | (ns,id1) -> + let uu____8473 = peek_record_cache () in FStar_Util.find_map uu____8473 - (fun record -> + (fun record -> let uu____8479 = - find_in_record ns id1 record (fun r -> Cont_ok r) in + find_in_record ns id1 record (fun r -> Cont_ok r) in option_of_cont - (fun uu____8485 -> FStar_Pervasives_Native.None) - uu____8479) in + (fun uu____8485 -> FStar_Pervasives_Native.None) + uu____8479) + in resolve_in_open_namespaces'' env fieldname Exported_id_field - (fun uu____8487 -> Cont_ignore) (fun uu____8489 -> Cont_ignore) - (fun r -> Cont_ok r) - (fun fn -> - let uu____8495 = find_in_cache fn in + (fun uu____8487 -> Cont_ignore) (fun uu____8489 -> Cont_ignore) + (fun r -> Cont_ok r) + (fun fn -> + let uu____8495 = find_in_cache fn in cont_of_option Cont_ignore uu____8495) - (fun k -> fun uu____8501 -> k) + (fun k -> fun uu____8501 -> k) + let (try_lookup_record_by_field_name : env -> FStar_Ident.lident -> record_or_dc FStar_Pervasives_Native.option) = - fun env -> - fun fieldname -> - let uu____8517 = try_lookup_record_or_dc_by_field_name env fieldname in + fun env -> + fun fieldname -> + let uu____8517 = try_lookup_record_or_dc_by_field_name env fieldname + in match uu____8517 with | FStar_Pervasives_Native.Some r when r.is_record -> FStar_Pervasives_Native.Some r | uu____8523 -> FStar_Pervasives_Native.None + let (belongs_to_record : env -> FStar_Ident.lident -> record_or_dc -> Prims.bool) = - fun env -> - fun lid -> - fun record -> - let uu____8543 = try_lookup_record_by_field_name env lid in + fun env -> + fun lid -> + fun record -> + let uu____8543 = try_lookup_record_by_field_name env lid in match uu____8543 with | FStar_Pervasives_Native.Some record' when let uu____8548 = let uu____8550 = - FStar_Ident.path_of_ns (record.typename).FStar_Ident.ns in - FStar_Ident.text_of_path uu____8550 in + FStar_Ident.path_of_ns (record.typename).FStar_Ident.ns in + FStar_Ident.text_of_path uu____8550 in let uu____8551 = let uu____8553 = - FStar_Ident.path_of_ns (record'.typename).FStar_Ident.ns in - FStar_Ident.text_of_path uu____8553 in + FStar_Ident.path_of_ns (record'.typename).FStar_Ident.ns in + FStar_Ident.text_of_path uu____8553 in uu____8548 = uu____8551 -> let uu____8555 = find_in_record (record.typename).FStar_Ident.ns - lid.FStar_Ident.ident record (fun uu____8559 -> Cont_ok ()) in + lid.FStar_Ident.ident record (fun uu____8559 -> Cont_ok ()) + in (match uu____8555 with | Cont_ok uu____8561 -> true | uu____8563 -> false) | uu____8567 -> false + let (try_lookup_dc_by_field_name : env -> FStar_Ident.lident -> (FStar_Ident.lident * Prims.bool) FStar_Pervasives_Native.option) = - fun env -> - fun fieldname -> - let uu____8589 = try_lookup_record_or_dc_by_field_name env fieldname in + fun env -> + fun fieldname -> + let uu____8589 = try_lookup_record_or_dc_by_field_name env fieldname + in match uu____8589 with | FStar_Pervasives_Native.Some r -> let uu____8600 = @@ -2160,39 +2347,43 @@ let (try_lookup_dc_by_field_name : let uu____8607 = FStar_Ident.lid_of_ids (FStar_List.append (r.typename).FStar_Ident.ns - [r.constrname]) in - let uu____8608 = FStar_Ident.range_of_lid fieldname in - FStar_Ident.set_lid_range uu____8607 uu____8608 in - (uu____8606, (r.is_record)) in + [r.constrname]) + in + let uu____8608 = FStar_Ident.range_of_lid fieldname in + FStar_Ident.set_lid_range uu____8607 uu____8608 in + (uu____8606, (r.is_record)) in FStar_Pervasives_Native.Some uu____8600 | uu____8615 -> FStar_Pervasives_Native.None + let (string_set_ref_new : unit -> Prims.string FStar_Util.set FStar_ST.ref) = - fun uu____8633 -> - let uu____8634 = FStar_Util.new_set FStar_Util.compare in + fun uu____8633 -> + let uu____8634 = FStar_Util.new_set FStar_Util.compare in FStar_Util.mk_ref uu____8634 + let (exported_id_set_new : unit -> exported_id_kind -> Prims.string FStar_Util.set FStar_ST.ref) = - fun uu____8655 -> - let term_type_set = string_set_ref_new () in - let field_set = string_set_ref_new () in - fun uu___28_8668 -> + fun uu____8655 -> + let term_type_set = string_set_ref_new () in + let field_set = string_set_ref_new () in + fun uu___28_8668 -> match uu___28_8668 with - | Exported_id_term_type -> term_type_set - | Exported_id_field -> field_set + | Exported_id_term_type -> term_type_set + | Exported_id_field -> field_set + let (unique : Prims.bool -> Prims.bool -> env -> FStar_Ident.lident -> Prims.bool) = - fun any_val -> - fun exclude_interface -> - fun env -> - fun lid -> + fun any_val -> + fun exclude_interface -> + fun env -> + fun lid -> let filter_scope_mods uu___29_8706 = match uu___29_8706 with | Rec_binding uu____8708 -> true - | uu____8710 -> false in + | uu____8710 -> false in let this_env = - let uu___1110_8713 = env in + let uu___1110_8713 = env in let uu____8714 = - FStar_List.filter filter_scope_mods env.scope_mods in + FStar_List.filter filter_scope_mods env.scope_mods in { curmodule = (uu___1110_8713.curmodule); curmonad = (uu___1110_8713.curmonad); @@ -2211,16 +2402,17 @@ let (unique : syntax_only = (uu___1110_8713.syntax_only); ds_hooks = (uu___1110_8713.ds_hooks); dep_graph = (uu___1110_8713.dep_graph) - } in + } in let uu____8717 = - try_lookup_lid' any_val exclude_interface this_env lid in + try_lookup_lid' any_val exclude_interface this_env lid in match uu____8717 with - | FStar_Pervasives_Native.None -> true + | FStar_Pervasives_Native.None -> true | FStar_Pervasives_Native.Some uu____8734 -> false + let (push_scope_mod : env -> scope_mod -> env) = - fun env -> - fun scope_mod -> - let uu___1118_8759 = env in + fun env -> + fun scope_mod -> + let uu___1118_8759 = env in { curmodule = (uu___1118_8759.curmodule); curmonad = (uu___1118_8759.curmonad); @@ -2240,83 +2432,91 @@ let (push_scope_mod : env -> scope_mod -> env) = ds_hooks = (uu___1118_8759.ds_hooks); dep_graph = (uu___1118_8759.dep_graph) } + let (push_bv : env -> FStar_Ident.ident -> (env * FStar_Syntax_Syntax.bv)) = - fun env -> - fun x -> + fun env -> + fun x -> let bv = FStar_Syntax_Syntax.gen_bv x.FStar_Ident.idText (FStar_Pervasives_Native.Some (x.FStar_Ident.idRange)) - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in ((push_scope_mod env (Local_binding (x, bv))), bv) + let (push_top_level_rec_binding : env -> FStar_Ident.ident -> FStar_Syntax_Syntax.delta_depth -> env) = - fun env -> - fun x -> - fun dd -> - let l = qualify env x in + fun env -> + fun x -> + fun dd -> + let l = qualify env x in let uu____8793 = - (unique false true env l) || (FStar_Options.interactive ()) in + (unique false true env l) || (FStar_Options.interactive ()) in if uu____8793 then push_scope_mod env (Rec_binding (x, l, dd)) else - (let uu____8800 = FStar_Ident.range_of_lid l in + (let uu____8800 = FStar_Ident.range_of_lid l in FStar_Errors.raise_error (FStar_Errors.Fatal_DuplicateTopLevelNames, (Prims.op_Hat "Duplicate top-level names " l.FStar_Ident.str)) uu____8800) + let (push_sigelt' : Prims.bool -> env -> FStar_Syntax_Syntax.sigelt -> env) = - fun fail_on_dup -> - fun env -> - fun s -> + fun fail_on_dup -> + fun env -> + fun s -> let err l = - let sopt = FStar_Util.smap_try_find (sigmap env) l.FStar_Ident.str in + let sopt = FStar_Util.smap_try_find (sigmap env) l.FStar_Ident.str + in let r = match sopt with - | FStar_Pervasives_Native.Some (se, uu____8844) -> + | FStar_Pervasives_Native.Some (se,uu____8844) -> let uu____8852 = FStar_Util.find_opt (FStar_Ident.lid_equals l) - (FStar_Syntax_Util.lids_of_sigelt se) in + (FStar_Syntax_Util.lids_of_sigelt se) + in (match uu____8852 with | FStar_Pervasives_Native.Some l1 -> - let uu____8857 = FStar_Ident.range_of_lid l1 in + let uu____8857 = FStar_Ident.range_of_lid l1 in FStar_All.pipe_left FStar_Range.string_of_range uu____8857 - | FStar_Pervasives_Native.None -> "") - | FStar_Pervasives_Native.None -> "" in + | FStar_Pervasives_Native.None -> "") + | FStar_Pervasives_Native.None -> "" in let uu____8866 = let uu____8872 = - let uu____8874 = FStar_Ident.text_of_lid l in + let uu____8874 = FStar_Ident.text_of_lid l in FStar_Util.format2 "Duplicate top-level names [%s]; previously declared at %s" - uu____8874 r in - (FStar_Errors.Fatal_DuplicateTopLevelNames, uu____8872) in - let uu____8878 = FStar_Ident.range_of_lid l in - FStar_Errors.raise_error uu____8866 uu____8878 in - let globals = FStar_Util.mk_ref env.scope_mods in + uu____8874 r + in + (FStar_Errors.Fatal_DuplicateTopLevelNames, uu____8872) in + let uu____8878 = FStar_Ident.range_of_lid l in + FStar_Errors.raise_error uu____8866 uu____8878 in + let globals = FStar_Util.mk_ref env.scope_mods in let env1 = let uu____8887 = match s.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_let uu____8900 -> (false, true) | FStar_Syntax_Syntax.Sig_bundle uu____8911 -> (false, true) - | uu____8924 -> (false, false) in + | uu____8924 -> (false, false) in match uu____8887 with - | (any_val, exclude_interface) -> - let lids = FStar_Syntax_Util.lids_of_sigelt s in + | (any_val,exclude_interface) -> + let lids = FStar_Syntax_Util.lids_of_sigelt s in let uu____8938 = FStar_Util.find_map lids - (fun l -> + (fun l -> let uu____8944 = let uu____8946 = - unique any_val exclude_interface env l in - Prims.op_Negation uu____8946 in + unique any_val exclude_interface env l in + Prims.op_Negation uu____8946 in if uu____8944 then FStar_Pervasives_Native.Some l - else FStar_Pervasives_Native.None) in + else FStar_Pervasives_Native.None) + in (match uu____8938 with | FStar_Pervasives_Native.Some l when fail_on_dup -> err l | uu____8954 -> (extract_record env globals s; - (let uu___1159_8958 = env in + (let uu___1159_8958 = env in { curmodule = (uu___1159_8958.curmodule); curmonad = (uu___1159_8958.curmonad); @@ -2337,10 +2537,11 @@ let (push_sigelt' : Prims.bool -> env -> FStar_Syntax_Syntax.sigelt -> env) = syntax_only = (uu___1159_8958.syntax_only); ds_hooks = (uu___1159_8958.ds_hooks); dep_graph = (uu___1159_8958.dep_graph) - }))) in + }))) + in let env2 = - let uu___1162_8960 = env1 in - let uu____8961 = FStar_ST.op_Bang globals in + let uu___1162_8960 = env1 in + let uu____8961 = FStar_ST.op_Bang globals in { curmodule = (uu___1162_8960.curmodule); curmonad = (uu___1162_8960.curmonad); @@ -2359,59 +2560,68 @@ let (push_sigelt' : Prims.bool -> env -> FStar_Syntax_Syntax.sigelt -> env) = syntax_only = (uu___1162_8960.syntax_only); ds_hooks = (uu___1162_8960.ds_hooks); dep_graph = (uu___1162_8960.dep_graph) - } in + } in let uu____8987 = match s.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle (ses, uu____9013) -> + | FStar_Syntax_Syntax.Sig_bundle (ses,uu____9013) -> let uu____9022 = FStar_List.map - (fun se -> ((FStar_Syntax_Util.lids_of_sigelt se), se)) ses in + (fun se -> ((FStar_Syntax_Util.lids_of_sigelt se), se)) + ses + in (env2, uu____9022) - | uu____9049 -> (env2, [((FStar_Syntax_Util.lids_of_sigelt s), s)]) in + | uu____9049 -> (env2, [((FStar_Syntax_Util.lids_of_sigelt s), s)]) + in match uu____8987 with - | (env3, lss) -> + | (env3,lss) -> (FStar_All.pipe_right lss (FStar_List.iter - (fun uu____9108 -> + (fun uu____9108 -> match uu____9108 with - | (lids, se) -> + | (lids,se) -> FStar_All.pipe_right lids (FStar_List.iter - (fun lid -> + (fun lid -> (let uu____9130 = - let uu____9133 = FStar_ST.op_Bang globals in + let uu____9133 = FStar_ST.op_Bang globals + in (Top_level_def (lid.FStar_Ident.ident)) - :: uu____9133 in + :: uu____9133 + in FStar_ST.op_Colon_Equals globals uu____9130); (match () with | () -> let modul = let uu____9184 = FStar_Ident.lid_of_ids - lid.FStar_Ident.ns in - uu____9184.FStar_Ident.str in + lid.FStar_Ident.ns + in + uu____9184.FStar_Ident.str in ((let uu____9186 = - get_exported_id_set env3 modul in + get_exported_id_set env3 modul in match uu____9186 with | FStar_Pervasives_Native.Some f -> let my_exported_ids = - f Exported_id_term_type in + f Exported_id_term_type in let uu____9208 = let uu____9209 = FStar_ST.op_Bang - my_exported_ids in + my_exported_ids + in FStar_Util.set_add (lid.FStar_Ident.ident).FStar_Ident.idText - uu____9209 in + uu____9209 + in FStar_ST.op_Colon_Equals my_exported_ids uu____9208 - | FStar_Pervasives_Native.None -> ()); + | FStar_Pervasives_Native.None -> ()); (match () with | () -> let is_iface = env3.iface && (Prims.op_Negation - env3.admitted_iface) in + env3.admitted_iface) + in FStar_Util.smap_add (sigmap env3) lid.FStar_Ident.str (se, @@ -2419,8 +2629,8 @@ let (push_sigelt' : Prims.bool -> env -> FStar_Syntax_Syntax.sigelt -> env) = (Prims.op_Negation env3.admitted_iface)))))))))); (let env4 = - let uu___1187_9266 = env3 in - let uu____9267 = FStar_ST.op_Bang globals in + let uu___1187_9266 = env3 in + let uu____9267 = FStar_ST.op_Bang globals in { curmodule = (uu___1187_9266.curmodule); curmonad = (uu___1187_9266.curmonad); @@ -2440,133 +2650,150 @@ let (push_sigelt' : Prims.bool -> env -> FStar_Syntax_Syntax.sigelt -> env) = syntax_only = (uu___1187_9266.syntax_only); ds_hooks = (uu___1187_9266.ds_hooks); dep_graph = (uu___1187_9266.dep_graph) - } in + } in env4)) + let (push_sigelt : env -> FStar_Syntax_Syntax.sigelt -> env) = - fun env -> fun se -> push_sigelt' true env se + fun env -> fun se -> push_sigelt' true env se let (push_sigelt_force : env -> FStar_Syntax_Syntax.sigelt -> env) = - fun env -> fun se -> push_sigelt' false env se + fun env -> fun se -> push_sigelt' false env se let (push_namespace : env -> FStar_Ident.lident -> env) = - fun env -> - fun ns -> + fun env -> + fun ns -> let uu____9328 = - let uu____9333 = resolve_module_name env ns false in + let uu____9333 = resolve_module_name env ns false in match uu____9333 with - | FStar_Pervasives_Native.None -> - let modules = env.modules in + | FStar_Pervasives_Native.None -> + let modules = env.modules in let uu____9348 = FStar_All.pipe_right modules (FStar_Util.for_some - (fun uu____9366 -> + (fun uu____9366 -> match uu____9366 with - | (m, uu____9373) -> + | (m,uu____9373) -> let uu____9374 = - let uu____9376 = FStar_Ident.text_of_lid m in - Prims.op_Hat uu____9376 "." in + let uu____9376 = FStar_Ident.text_of_lid m in + Prims.op_Hat uu____9376 "." in let uu____9379 = - let uu____9381 = FStar_Ident.text_of_lid ns in - Prims.op_Hat uu____9381 "." in - FStar_Util.starts_with uu____9374 uu____9379)) in + let uu____9381 = FStar_Ident.text_of_lid ns in + Prims.op_Hat uu____9381 "." in + FStar_Util.starts_with uu____9374 uu____9379)) + in if uu____9348 then (ns, Open_namespace) else (let uu____9391 = let uu____9397 = - let uu____9399 = FStar_Ident.text_of_lid ns in + let uu____9399 = FStar_Ident.text_of_lid ns in FStar_Util.format1 "Namespace %s cannot be found" - uu____9399 in - (FStar_Errors.Fatal_NameSpaceNotFound, uu____9397) in - let uu____9403 = FStar_Ident.range_of_lid ns in + uu____9399 + in + (FStar_Errors.Fatal_NameSpaceNotFound, uu____9397) in + let uu____9403 = FStar_Ident.range_of_lid ns in FStar_Errors.raise_error uu____9391 uu____9403) | FStar_Pervasives_Native.Some ns' -> - (fail_if_curmodule env ns ns'; (ns', Open_module)) in + (fail_if_curmodule env ns ns'; (ns', Open_module)) + in match uu____9328 with - | (ns', kd) -> + | (ns',kd) -> ((env.ds_hooks).ds_push_open_hook env (ns', kd); push_scope_mod env (Open_module_or_namespace (ns', kd))) + let (push_include : env -> FStar_Ident.lident -> env) = - fun env -> - fun ns -> - let ns0 = ns in - let uu____9425 = resolve_module_name env ns false in + fun env -> + fun ns -> + let ns0 = ns in + let uu____9425 = resolve_module_name env ns false in match uu____9425 with | FStar_Pervasives_Native.Some ns1 -> ((env.ds_hooks).ds_push_include_hook env ns1; fail_if_curmodule env ns0 ns1; (let env1 = push_scope_mod env - (Open_module_or_namespace (ns1, Open_module)) in + (Open_module_or_namespace (ns1, Open_module)) + in let curmod = - let uu____9435 = current_module env1 in - uu____9435.FStar_Ident.str in - (let uu____9437 = FStar_Util.smap_try_find env1.includes curmod in + let uu____9435 = current_module env1 in + uu____9435.FStar_Ident.str in + (let uu____9437 = FStar_Util.smap_try_find env1.includes curmod + in match uu____9437 with - | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.None -> () | FStar_Pervasives_Native.Some incl -> let uu____9461 = - let uu____9464 = FStar_ST.op_Bang incl in ns1 :: - uu____9464 in + let uu____9464 = FStar_ST.op_Bang incl in ns1 :: + uu____9464 + in FStar_ST.op_Colon_Equals incl uu____9461); (match () with | () -> let uu____9513 = - get_trans_exported_id_set env1 ns1.FStar_Ident.str in + get_trans_exported_id_set env1 ns1.FStar_Ident.str in (match uu____9513 with | FStar_Pervasives_Native.Some ns_trans_exports -> ((let uu____9533 = - let uu____9630 = get_exported_id_set env1 curmod in + let uu____9630 = get_exported_id_set env1 curmod + in let uu____9677 = - get_trans_exported_id_set env1 curmod in - (uu____9630, uu____9677) in + get_trans_exported_id_set env1 curmod in + (uu____9630, uu____9677) in match uu____9533 with - | (FStar_Pervasives_Native.Some cur_exports, - FStar_Pervasives_Native.Some cur_trans_exports) -> + | (FStar_Pervasives_Native.Some + cur_exports,FStar_Pervasives_Native.Some + cur_trans_exports) -> let update_exports k = let ns_ex = - let uu____10093 = ns_trans_exports k in - FStar_ST.op_Bang uu____10093 in - let ex = cur_exports k in + let uu____10093 = ns_trans_exports k in + FStar_ST.op_Bang uu____10093 in + let ex = cur_exports k in (let uu____10194 = - let uu____10198 = FStar_ST.op_Bang ex in - FStar_Util.set_difference uu____10198 ns_ex in + let uu____10198 = FStar_ST.op_Bang ex in + FStar_Util.set_difference uu____10198 ns_ex + in FStar_ST.op_Colon_Equals ex uu____10194); (match () with | () -> - let trans_ex = cur_trans_exports k in + let trans_ex = cur_trans_exports k in let uu____10290 = let uu____10294 = - FStar_ST.op_Bang trans_ex in - FStar_Util.set_union uu____10294 ns_ex in + FStar_ST.op_Bang trans_ex in + FStar_Util.set_union uu____10294 ns_ex + in FStar_ST.op_Colon_Equals trans_ex - uu____10290) in + uu____10290) + in FStar_List.iter update_exports all_exported_id_kinds | uu____10343 -> ()); (match () with | () -> env1)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____10445 = let uu____10451 = FStar_Util.format1 "include: Module %s was not prepared" - ns1.FStar_Ident.str in + ns1.FStar_Ident.str + in (FStar_Errors.Fatal_IncludeModuleNotPrepared, - uu____10451) in - let uu____10455 = FStar_Ident.range_of_lid ns1 in + uu____10451) + in + let uu____10455 = FStar_Ident.range_of_lid ns1 in FStar_Errors.raise_error uu____10445 uu____10455)))) | uu____10456 -> let uu____10459 = let uu____10465 = FStar_Util.format1 "include: Module %s cannot be found" - ns.FStar_Ident.str in - (FStar_Errors.Fatal_ModuleNotFound, uu____10465) in - let uu____10469 = FStar_Ident.range_of_lid ns in + ns.FStar_Ident.str + in + (FStar_Errors.Fatal_ModuleNotFound, uu____10465) in + let uu____10469 = FStar_Ident.range_of_lid ns in FStar_Errors.raise_error uu____10459 uu____10469 + let (push_module_abbrev : env -> FStar_Ident.ident -> FStar_Ident.lident -> env) = - fun env -> - fun x -> - fun l -> - let uu____10486 = module_is_defined env l in + fun env -> + fun x -> + fun l -> + let uu____10486 = module_is_defined env l in if uu____10486 then (fail_if_curmodule env l l; @@ -2575,59 +2802,65 @@ let (push_module_abbrev : else (let uu____10493 = let uu____10499 = - let uu____10501 = FStar_Ident.text_of_lid l in - FStar_Util.format1 "Module %s cannot be found" uu____10501 in - (FStar_Errors.Fatal_ModuleNotFound, uu____10499) in - let uu____10505 = FStar_Ident.range_of_lid l in + let uu____10501 = FStar_Ident.text_of_lid l in + FStar_Util.format1 "Module %s cannot be found" uu____10501 in + (FStar_Errors.Fatal_ModuleNotFound, uu____10499) in + let uu____10505 = FStar_Ident.range_of_lid l in FStar_Errors.raise_error uu____10493 uu____10505) + let (push_doc : env -> FStar_Ident.lident -> FStar_Parser_AST.fsdoc FStar_Pervasives_Native.option -> env) = - fun env -> - fun l -> - fun doc_opt -> + fun env -> + fun l -> + fun doc_opt -> match doc_opt with - | FStar_Pervasives_Native.None -> env + | FStar_Pervasives_Native.None -> env | FStar_Pervasives_Native.Some doc1 -> ((let uu____10528 = - FStar_Util.smap_try_find env.docs l.FStar_Ident.str in + FStar_Util.smap_try_find env.docs l.FStar_Ident.str in match uu____10528 with - | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.None -> () | FStar_Pervasives_Native.Some old_doc -> - let uu____10532 = FStar_Ident.range_of_lid l in + let uu____10532 = FStar_Ident.range_of_lid l in let uu____10533 = let uu____10539 = - let uu____10541 = FStar_Ident.string_of_lid l in + let uu____10541 = FStar_Ident.string_of_lid l in let uu____10543 = - FStar_Parser_AST.string_of_fsdoc old_doc in - let uu____10545 = FStar_Parser_AST.string_of_fsdoc doc1 in + FStar_Parser_AST.string_of_fsdoc old_doc in + let uu____10545 = FStar_Parser_AST.string_of_fsdoc doc1 + in FStar_Util.format3 "Overwriting doc of %s; old doc was [%s]; new doc are [%s]" - uu____10541 uu____10543 uu____10545 in - (FStar_Errors.Warning_DocOverwrite, uu____10539) in + uu____10541 uu____10543 uu____10545 + in + (FStar_Errors.Warning_DocOverwrite, uu____10539) in FStar_Errors.log_issue uu____10532 uu____10533); FStar_Util.smap_add env.docs l.FStar_Ident.str doc1; env) + let (check_admits : env -> FStar_Syntax_Syntax.modul -> FStar_Syntax_Syntax.modul) = - fun env -> - fun m -> + fun env -> + fun m -> let admitted_sig_lids = FStar_All.pipe_right env.sigaccum (FStar_List.fold_left - (fun lids -> - fun se -> + (fun lids -> + fun se -> match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_declare_typ (l, u, t) when + | FStar_Syntax_Syntax.Sig_declare_typ (l,u,t) when let uu____10591 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals - (FStar_List.contains FStar_Syntax_Syntax.Assumption) in + (FStar_List.contains FStar_Syntax_Syntax.Assumption) + in Prims.op_Negation uu____10591 -> let uu____10596 = FStar_Util.smap_try_find (sigmap env) - l.FStar_Ident.str in + l.FStar_Ident.str + in (match uu____10596 with | FStar_Pervasives_Native.Some ({ @@ -2636,8 +2869,7 @@ let (check_admits : FStar_Syntax_Syntax.sigrng = uu____10612; FStar_Syntax_Syntax.sigquals = uu____10613; FStar_Syntax_Syntax.sigmeta = uu____10614; - FStar_Syntax_Syntax.sigattrs = uu____10615;_}, - uu____10616) + FStar_Syntax_Syntax.sigattrs = uu____10615;_},uu____10616) -> lids | FStar_Pervasives_Native.Some ({ @@ -2647,32 +2879,35 @@ let (check_admits : FStar_Syntax_Syntax.sigrng = uu____10635; FStar_Syntax_Syntax.sigquals = uu____10636; FStar_Syntax_Syntax.sigmeta = uu____10637; - FStar_Syntax_Syntax.sigattrs = uu____10638;_}, - uu____10639) + FStar_Syntax_Syntax.sigattrs = uu____10638;_},uu____10639) -> lids | uu____10667 -> ((let uu____10676 = - let uu____10678 = FStar_Options.interactive () in - Prims.op_Negation uu____10678 in + let uu____10678 = FStar_Options.interactive () + in + Prims.op_Negation uu____10678 in if uu____10676 then - let uu____10681 = FStar_Ident.range_of_lid l in + let uu____10681 = FStar_Ident.range_of_lid l + in let uu____10682 = let uu____10688 = let uu____10690 = - FStar_Ident.string_of_lid l in + FStar_Ident.string_of_lid l in FStar_Util.format1 "Admitting %s without a definition" - uu____10690 in + uu____10690 + in (FStar_Errors.Warning_AdmitWithoutDefinition, - uu____10688) in + uu____10688) + in FStar_Errors.log_issue uu____10681 uu____10682 else ()); (let quals = FStar_Syntax_Syntax.Assumption :: - (se.FStar_Syntax_Syntax.sigquals) in + (se.FStar_Syntax_Syntax.sigquals) in FStar_Util.smap_add (sigmap env) l.FStar_Ident.str - ((let uu___1290_10707 = se in + ((let uu___1290_10707 = se in { FStar_Syntax_Syntax.sigel = (uu___1290_10707.FStar_Syntax_Syntax.sigel); @@ -2687,20 +2922,21 @@ let (check_admits : l :: lids))) - | uu____10709 -> lids) []) in - let uu___1295_10710 = m in + | uu____10709 -> lids) []) + in + let uu___1295_10710 = m in let uu____10711 = FStar_All.pipe_right m.FStar_Syntax_Syntax.declarations (FStar_List.map - (fun s -> + (fun s -> match s.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_declare_typ - (lid, uu____10721, uu____10722) when + (lid,uu____10721,uu____10722) when FStar_List.existsb - (fun l -> FStar_Ident.lid_equals l lid) + (fun l -> FStar_Ident.lid_equals l lid) admitted_sig_lids -> - let uu___1304_10725 = s in + let uu___1304_10725 = s in { FStar_Syntax_Syntax.sigel = (uu___1304_10725.FStar_Syntax_Syntax.sigel); @@ -2714,7 +2950,8 @@ let (check_admits : FStar_Syntax_Syntax.sigattrs = (uu___1304_10725.FStar_Syntax_Syntax.sigattrs) } - | uu____10726 -> s)) in + | uu____10726 -> s)) + in { FStar_Syntax_Syntax.name = (uu___1295_10710.FStar_Syntax_Syntax.name); FStar_Syntax_Syntax.declarations = uu____10711; @@ -2723,15 +2960,16 @@ let (check_admits : FStar_Syntax_Syntax.is_interface = (uu___1295_10710.FStar_Syntax_Syntax.is_interface) } + let (finish : env -> FStar_Syntax_Syntax.modul -> env) = - fun env -> - fun modul -> + fun env -> + fun modul -> FStar_All.pipe_right modul.FStar_Syntax_Syntax.declarations (FStar_List.iter - (fun se -> - let quals = se.FStar_Syntax_Syntax.sigquals in + (fun se -> + let quals = se.FStar_Syntax_Syntax.sigquals in match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle (ses, uu____10750) -> + | FStar_Syntax_Syntax.Sig_bundle (ses,uu____10750) -> if (FStar_List.contains FStar_Syntax_Syntax.Private quals) || @@ -2739,17 +2977,15 @@ let (finish : env -> FStar_Syntax_Syntax.modul -> env) = then FStar_All.pipe_right ses (FStar_List.iter - (fun se1 -> + (fun se1 -> match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (lid, uu____10771, uu____10772, uu____10773, - uu____10774, uu____10775) + (lid,uu____10771,uu____10772,uu____10773,uu____10774,uu____10775) -> FStar_Util.smap_remove (sigmap env) lid.FStar_Ident.str | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, univ_names, binders, typ, uu____10791, - uu____10792) + (lid,univ_names,binders,typ,uu____10791,uu____10792) -> (FStar_Util.smap_remove (sigmap env) lid.FStar_Ident.str; @@ -2762,26 +2998,31 @@ let (finish : env -> FStar_Syntax_Syntax.modul -> env) = let uu____10809 = let uu____10816 = let uu____10817 = - FStar_Ident.range_of_lid lid in + FStar_Ident.range_of_lid lid in let uu____10818 = let uu____10825 = let uu____10826 = let uu____10841 = FStar_Syntax_Syntax.mk_Total - typ in - (binders, uu____10841) in + typ + in + (binders, uu____10841) in FStar_Syntax_Syntax.Tm_arrow - uu____10826 in + uu____10826 + in FStar_Syntax_Syntax.mk - uu____10825 in + uu____10825 + in uu____10818 FStar_Pervasives_Native.None - uu____10817 in - (lid, univ_names, uu____10816) in + uu____10817 + in + (lid, univ_names, uu____10816) in FStar_Syntax_Syntax.Sig_declare_typ - uu____10809 in + uu____10809 + in let se2 = - let uu___1336_10855 = se1 in + let uu___1336_10855 = se1 in { FStar_Syntax_Syntax.sigel = sigel; FStar_Syntax_Syntax.sigrng = @@ -2793,19 +3034,19 @@ let (finish : env -> FStar_Syntax_Syntax.modul -> env) = (uu___1336_10855.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = (uu___1336_10855.FStar_Syntax_Syntax.sigattrs) - } in + } in FStar_Util.smap_add (sigmap env) lid.FStar_Ident.str (se2, false)) else ()) | uu____10865 -> ())) else () | FStar_Syntax_Syntax.Sig_declare_typ - (lid, uu____10869, uu____10870) -> + (lid,uu____10869,uu____10870) -> if FStar_List.contains FStar_Syntax_Syntax.Private quals then FStar_Util.smap_remove (sigmap env) lid.FStar_Ident.str else () - | FStar_Syntax_Syntax.Sig_let ((uu____10879, lbs), uu____10881) + | FStar_Syntax_Syntax.Sig_let ((uu____10879,lbs),uu____10881) -> (if (FStar_List.contains FStar_Syntax_Syntax.Private quals) @@ -2815,16 +3056,18 @@ let (finish : env -> FStar_Syntax_Syntax.modul -> env) = then FStar_All.pipe_right lbs (FStar_List.iter - (fun lb -> + (fun lb -> let uu____10899 = let uu____10901 = let uu____10902 = let uu____10905 = FStar_Util.right - lb.FStar_Syntax_Syntax.lbname in - uu____10905.FStar_Syntax_Syntax.fv_name in - uu____10902.FStar_Syntax_Syntax.v in - uu____10901.FStar_Ident.str in + lb.FStar_Syntax_Syntax.lbname + in + uu____10905.FStar_Syntax_Syntax.fv_name + in + uu____10902.FStar_Syntax_Syntax.v in + uu____10901.FStar_Ident.str in FStar_Util.smap_remove (sigmap env) uu____10899)) else (); if @@ -2836,18 +3079,19 @@ let (finish : env -> FStar_Syntax_Syntax.modul -> env) = then FStar_All.pipe_right lbs (FStar_List.iter - (fun lb -> + (fun lb -> let lid = let uu____10922 = let uu____10925 = FStar_Util.right - lb.FStar_Syntax_Syntax.lbname in - uu____10925.FStar_Syntax_Syntax.fv_name in - uu____10922.FStar_Syntax_Syntax.v in + lb.FStar_Syntax_Syntax.lbname + in + uu____10925.FStar_Syntax_Syntax.fv_name in + uu____10922.FStar_Syntax_Syntax.v in let quals1 = FStar_Syntax_Syntax.Assumption :: - quals in + quals in let decl = - let uu___1359_10930 = se in + let uu___1359_10930 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ @@ -2860,29 +3104,30 @@ let (finish : env -> FStar_Syntax_Syntax.modul -> env) = (uu___1359_10930.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = (uu___1359_10930.FStar_Syntax_Syntax.sigattrs) - } in + } in FStar_Util.smap_add (sigmap env) lid.FStar_Ident.str (decl, false))) else ()) | uu____10940 -> ())); (let curmod = - let uu____10943 = current_module env in uu____10943.FStar_Ident.str in + let uu____10943 = current_module env in uu____10943.FStar_Ident.str + in (let uu____10945 = - let uu____11042 = get_exported_id_set env curmod in - let uu____11089 = get_trans_exported_id_set env curmod in - (uu____11042, uu____11089) in + let uu____11042 = get_exported_id_set env curmod in + let uu____11089 = get_trans_exported_id_set env curmod in + (uu____11042, uu____11089) in match uu____10945 with - | (FStar_Pervasives_Native.Some cur_ex, FStar_Pervasives_Native.Some + | (FStar_Pervasives_Native.Some cur_ex,FStar_Pervasives_Native.Some cur_trans_ex) -> let update_exports eikind = let cur_ex_set = - let uu____11508 = cur_ex eikind in - FStar_ST.op_Bang uu____11508 in - let cur_trans_ex_set_ref = cur_trans_ex eikind in + let uu____11508 = cur_ex eikind in + FStar_ST.op_Bang uu____11508 in + let cur_trans_ex_set_ref = cur_trans_ex eikind in let uu____11614 = - let uu____11618 = FStar_ST.op_Bang cur_trans_ex_set_ref in - FStar_Util.set_union cur_ex_set uu____11618 in - FStar_ST.op_Colon_Equals cur_trans_ex_set_ref uu____11614 in + let uu____11618 = FStar_ST.op_Bang cur_trans_ex_set_ref in + FStar_Util.set_union cur_ex_set uu____11618 in + FStar_ST.op_Colon_Equals cur_trans_ex_set_ref uu____11614 in FStar_List.iter update_exports all_exported_id_kinds | uu____11667 -> ()); (match () with @@ -2890,7 +3135,7 @@ let (finish : env -> FStar_Syntax_Syntax.modul -> env) = (filter_record_cache (); (match () with | () -> - let uu___1377_11765 = env in + let uu___1377_11765 = env in { curmodule = FStar_Pervasives_Native.None; curmonad = (uu___1377_11765.curmonad); @@ -2912,21 +3157,23 @@ let (finish : env -> FStar_Syntax_Syntax.modul -> env) = ds_hooks = (uu___1377_11765.ds_hooks); dep_graph = (uu___1377_11765.dep_graph) })))) -let (stack : env Prims.list FStar_ST.ref) = FStar_Util.mk_ref [] + +let (stack : env Prims.list FStar_ST.ref) = FStar_Util.mk_ref [] let (push : env -> env) = - fun env -> + fun env -> FStar_Util.atomically - (fun uu____11792 -> + (fun uu____11792 -> push_record_cache (); (let uu____11795 = - let uu____11798 = FStar_ST.op_Bang stack in env :: uu____11798 in + let uu____11798 = FStar_ST.op_Bang stack in env :: uu____11798 + in FStar_ST.op_Colon_Equals stack uu____11795); - (let uu___1383_11847 = env in - let uu____11848 = FStar_Util.smap_copy env.exported_ids in - let uu____11853 = FStar_Util.smap_copy env.trans_exported_ids in - let uu____11858 = FStar_Util.smap_copy env.includes in - let uu____11869 = FStar_Util.smap_copy env.sigmap in - let uu____11882 = FStar_Util.smap_copy env.docs in + (let uu___1383_11847 = env in + let uu____11848 = FStar_Util.smap_copy env.exported_ids in + let uu____11853 = FStar_Util.smap_copy env.trans_exported_ids in + let uu____11858 = FStar_Util.smap_copy env.includes in + let uu____11869 = FStar_Util.smap_copy env.sigmap in + let uu____11882 = FStar_Util.smap_copy env.docs in { curmodule = (uu___1383_11847.curmodule); curmonad = (uu___1383_11847.curmonad); @@ -2946,42 +3193,44 @@ let (push : env -> env) = ds_hooks = (uu___1383_11847.ds_hooks); dep_graph = (uu___1383_11847.dep_graph) })) + let (pop : unit -> env) = - fun uu____11890 -> + fun uu____11890 -> FStar_Util.atomically - (fun uu____11897 -> - let uu____11898 = FStar_ST.op_Bang stack in + (fun uu____11897 -> + let uu____11898 = FStar_ST.op_Bang stack in match uu____11898 with | env::tl1 -> (pop_record_cache (); FStar_ST.op_Colon_Equals stack tl1; env) | uu____11953 -> failwith "Impossible: Too many pops") + let (snapshot : env -> (Prims.int * env)) = - fun env -> FStar_Common.snapshot push stack env + fun env -> FStar_Common.snapshot push stack env let (rollback : Prims.int FStar_Pervasives_Native.option -> env) = - fun depth -> FStar_Common.rollback pop stack depth + fun depth -> FStar_Common.rollback pop stack depth let (export_interface : FStar_Ident.lident -> env -> env) = - fun m -> - fun env -> + fun m -> + fun env -> let sigelt_in_m se = match FStar_Syntax_Util.lids_of_sigelt se with | l::uu____12000 -> l.FStar_Ident.nsstr = m.FStar_Ident.str - | uu____12004 -> false in - let sm = sigmap env in - let env1 = pop () in - let keys = FStar_Util.smap_keys sm in - let sm' = sigmap env1 in + | uu____12004 -> false in + let sm = sigmap env in + let env1 = pop () in + let keys = FStar_Util.smap_keys sm in + let sm' = sigmap env1 in FStar_All.pipe_right keys (FStar_List.iter - (fun k -> - let uu____12046 = FStar_Util.smap_try_find sm' k in + (fun k -> + let uu____12046 = FStar_Util.smap_try_find sm' k in match uu____12046 with - | FStar_Pervasives_Native.Some (se, true) when sigelt_in_m se + | FStar_Pervasives_Native.Some (se,true ) when sigelt_in_m se -> (FStar_Util.smap_remove sm' k; (let se1 = match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_declare_typ (l, u, t) -> - let uu___1418_12077 = se in + | FStar_Syntax_Syntax.Sig_declare_typ (l,u,t) -> + let uu___1418_12077 = se in { FStar_Syntax_Syntax.sigel = (uu___1418_12077.FStar_Syntax_Syntax.sigel); @@ -2995,65 +3244,72 @@ let (export_interface : FStar_Ident.lident -> env -> env) = FStar_Syntax_Syntax.sigattrs = (uu___1418_12077.FStar_Syntax_Syntax.sigattrs) } - | uu____12078 -> se in + | uu____12078 -> se in FStar_Util.smap_add sm' k (se1, false))) | uu____12086 -> ())); env1 + let (finish_module_or_interface : env -> FStar_Syntax_Syntax.modul -> (env * FStar_Syntax_Syntax.modul)) = - fun env -> - fun modul -> + fun env -> + fun modul -> let modul1 = if Prims.op_Negation modul.FStar_Syntax_Syntax.is_interface then check_admits env modul - else modul in - let uu____12113 = finish env modul1 in (uu____12113, modul1) + else modul in + let uu____12113 = finish env modul1 in (uu____12113, modul1) + type exported_ids = { exported_id_terms: Prims.string Prims.list ; exported_id_fields: Prims.string Prims.list } let (__proj__Mkexported_ids__item__exported_id_terms : exported_ids -> Prims.string Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { exported_id_terms; exported_id_fields;_} -> exported_id_terms + let (__proj__Mkexported_ids__item__exported_id_fields : exported_ids -> Prims.string Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { exported_id_terms; exported_id_fields;_} -> exported_id_fields + let (as_exported_ids : exported_id_set -> exported_ids) = - fun e -> + fun e -> let terms = let uu____12182 = - let uu____12186 = e Exported_id_term_type in - FStar_ST.op_Bang uu____12186 in - FStar_Util.set_elements uu____12182 in + let uu____12186 = e Exported_id_term_type in + FStar_ST.op_Bang uu____12186 in + FStar_Util.set_elements uu____12182 in let fields = let uu____12249 = - let uu____12253 = e Exported_id_field in FStar_ST.op_Bang uu____12253 in - FStar_Util.set_elements uu____12249 in + let uu____12253 = e Exported_id_field in + FStar_ST.op_Bang uu____12253 in + FStar_Util.set_elements uu____12249 in { exported_id_terms = terms; exported_id_fields = fields } + let (as_exported_id_set : exported_ids FStar_Pervasives_Native.option -> exported_id_kind -> Prims.string FStar_Util.set FStar_ST.ref) = - fun e -> + fun e -> match e with - | FStar_Pervasives_Native.None -> exported_id_set_new () + | FStar_Pervasives_Native.None -> exported_id_set_new () | FStar_Pervasives_Native.Some e1 -> let terms = let uu____12345 = - FStar_Util.as_set e1.exported_id_terms FStar_Util.compare in - FStar_Util.mk_ref uu____12345 in + FStar_Util.as_set e1.exported_id_terms FStar_Util.compare in + FStar_Util.mk_ref uu____12345 in let fields = let uu____12359 = - FStar_Util.as_set e1.exported_id_fields FStar_Util.compare in - FStar_Util.mk_ref uu____12359 in - (fun uu___30_12367 -> + FStar_Util.as_set e1.exported_id_fields FStar_Util.compare in + FStar_Util.mk_ref uu____12359 in + (fun uu___30_12367 -> match uu___30_12367 with - | Exported_id_term_type -> terms - | Exported_id_field -> fields) + | Exported_id_term_type -> terms + | Exported_id_field -> fields) + type module_inclusion_info = { mii_exported_ids: exported_ids FStar_Pervasives_Native.option ; @@ -3061,82 +3317,88 @@ type module_inclusion_info = mii_includes: FStar_Ident.lident Prims.list FStar_Pervasives_Native.option } let (__proj__Mkmodule_inclusion_info__item__mii_exported_ids : module_inclusion_info -> exported_ids FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { mii_exported_ids; mii_trans_exported_ids; mii_includes;_} -> mii_exported_ids + let (__proj__Mkmodule_inclusion_info__item__mii_trans_exported_ids : module_inclusion_info -> exported_ids FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { mii_exported_ids; mii_trans_exported_ids; mii_includes;_} -> mii_trans_exported_ids + let (__proj__Mkmodule_inclusion_info__item__mii_includes : module_inclusion_info -> FStar_Ident.lident Prims.list FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { mii_exported_ids; mii_trans_exported_ids; mii_includes;_} -> mii_includes + let (default_mii : module_inclusion_info) = { mii_exported_ids = FStar_Pervasives_Native.None; mii_trans_exported_ids = FStar_Pervasives_Native.None; mii_includes = FStar_Pervasives_Native.None - } + } let as_includes : 'Auu____12471 . 'Auu____12471 Prims.list FStar_Pervasives_Native.option -> 'Auu____12471 Prims.list FStar_ST.ref = - fun uu___31_12484 -> + fun uu___31_12484 -> match uu___31_12484 with - | FStar_Pervasives_Native.None -> FStar_Util.mk_ref [] + | FStar_Pervasives_Native.None -> FStar_Util.mk_ref [] | FStar_Pervasives_Native.Some l -> FStar_Util.mk_ref l + let (inclusion_info : env -> FStar_Ident.lident -> module_inclusion_info) = - fun env -> - fun l -> - let mname = FStar_Ident.string_of_lid l in + fun env -> + fun l -> + let mname = FStar_Ident.string_of_lid l in let as_ids_opt m = - let uu____12527 = FStar_Util.smap_try_find m mname in - FStar_Util.map_opt uu____12527 as_exported_ids in - let uu____12533 = as_ids_opt env.exported_ids in - let uu____12536 = as_ids_opt env.trans_exported_ids in + let uu____12527 = FStar_Util.smap_try_find m mname in + FStar_Util.map_opt uu____12527 as_exported_ids in + let uu____12533 = as_ids_opt env.exported_ids in + let uu____12536 = as_ids_opt env.trans_exported_ids in let uu____12539 = - let uu____12544 = FStar_Util.smap_try_find env.includes mname in - FStar_Util.map_opt uu____12544 (fun r -> FStar_ST.op_Bang r) in + let uu____12544 = FStar_Util.smap_try_find env.includes mname in + FStar_Util.map_opt uu____12544 (fun r -> FStar_ST.op_Bang r) in { mii_exported_ids = uu____12533; mii_trans_exported_ids = uu____12536; mii_includes = uu____12539 } + let (prepare_module_or_interface : Prims.bool -> Prims.bool -> env -> FStar_Ident.lident -> module_inclusion_info -> (env * Prims.bool)) = - fun intf -> - fun admitted -> - fun env -> - fun mname -> - fun mii -> + fun intf -> + fun admitted -> + fun env -> + fun mname -> + fun mii -> let prep env1 = let filename = - let uu____12633 = FStar_Ident.text_of_lid mname in - FStar_Util.strcat uu____12633 ".fst" in + let uu____12633 = FStar_Ident.text_of_lid mname in + FStar_Util.strcat uu____12633 ".fst" in let auto_open = - FStar_Parser_Dep.hard_coded_dependencies filename in + FStar_Parser_Dep.hard_coded_dependencies filename in let auto_open1 = let convert_kind uu___32_12655 = match uu___32_12655 with - | FStar_Parser_Dep.Open_namespace -> Open_namespace - | FStar_Parser_Dep.Open_module -> Open_module in + | FStar_Parser_Dep.Open_namespace -> Open_namespace + | FStar_Parser_Dep.Open_module -> Open_module in FStar_List.map - (fun uu____12667 -> + (fun uu____12667 -> match uu____12667 with - | (lid, kind) -> (lid, (convert_kind kind))) auto_open in + | (lid,kind) -> (lid, (convert_kind kind))) auto_open + in let namespace_of_module = if (FStar_List.length mname.FStar_Ident.ns) > @@ -3144,35 +3406,37 @@ let (prepare_module_or_interface : then let uu____12693 = let uu____12698 = - FStar_Ident.lid_of_ids mname.FStar_Ident.ns in - (uu____12698, Open_namespace) in + FStar_Ident.lid_of_ids mname.FStar_Ident.ns in + (uu____12698, Open_namespace) in [uu____12693] - else [] in + else [] in let auto_open2 = FStar_List.append namespace_of_module - (FStar_List.rev auto_open1) in - (let uu____12729 = as_exported_id_set mii.mii_exported_ids in + (FStar_List.rev auto_open1) + in + (let uu____12729 = as_exported_id_set mii.mii_exported_ids in FStar_Util.smap_add env1.exported_ids mname.FStar_Ident.str uu____12729); (match () with | () -> ((let uu____12734 = - as_exported_id_set mii.mii_trans_exported_ids in + as_exported_id_set mii.mii_trans_exported_ids in FStar_Util.smap_add env1.trans_exported_ids mname.FStar_Ident.str uu____12734); (match () with | () -> - ((let uu____12739 = as_includes mii.mii_includes in + ((let uu____12739 = as_includes mii.mii_includes in FStar_Util.smap_add env1.includes mname.FStar_Ident.str uu____12739); (match () with | () -> let env' = - let uu___1488_12749 = env1 in + let uu___1488_12749 = env1 in let uu____12750 = FStar_List.map - (fun x -> Open_module_or_namespace x) - auto_open2 in + (fun x -> Open_module_or_namespace x) + auto_open2 + in { curmodule = (FStar_Pervasives_Native.Some mname); @@ -3196,45 +3460,51 @@ let (prepare_module_or_interface : (uu___1488_12749.syntax_only); ds_hooks = (uu___1488_12749.ds_hooks); dep_graph = (uu___1488_12749.dep_graph) - } in + } in (FStar_List.iter - (fun op -> + (fun op -> (env1.ds_hooks).ds_push_open_hook env' op) (FStar_List.rev auto_open2); - env')))))) in + env')))))) + in let uu____12762 = FStar_All.pipe_right env.modules (FStar_Util.find_opt - (fun uu____12788 -> + (fun uu____12788 -> match uu____12788 with - | (l, uu____12795) -> FStar_Ident.lid_equals l mname)) in + | (l,uu____12795) -> FStar_Ident.lid_equals l mname)) + in match uu____12762 with - | FStar_Pervasives_Native.None -> - let uu____12805 = prep env in (uu____12805, false) - | FStar_Pervasives_Native.Some (uu____12808, m) -> + | FStar_Pervasives_Native.None -> + let uu____12805 = prep env in (uu____12805, false) + | FStar_Pervasives_Native.Some (uu____12808,m) -> ((let uu____12815 = - (let uu____12819 = FStar_Options.interactive () in + (let uu____12819 = FStar_Options.interactive () in Prims.op_Negation uu____12819) && ((Prims.op_Negation m.FStar_Syntax_Syntax.is_interface) - || intf) in + || intf) + in if uu____12815 then let uu____12822 = let uu____12828 = FStar_Util.format1 "Duplicate module or interface name: %s" - mname.FStar_Ident.str in + mname.FStar_Ident.str + in (FStar_Errors.Fatal_DuplicateModuleOrInterface, - uu____12828) in - let uu____12832 = FStar_Ident.range_of_lid mname in + uu____12828) + in + let uu____12832 = FStar_Ident.range_of_lid mname in FStar_Errors.raise_error uu____12822 uu____12832 else ()); (let uu____12835 = - let uu____12836 = push env in prep uu____12836 in + let uu____12836 = push env in prep uu____12836 in (uu____12835, true))) + let (enter_monad_scope : env -> FStar_Ident.ident -> env) = - fun env -> - fun mname -> + fun env -> + fun mname -> match env.curmonad with | FStar_Pervasives_Native.Some mname' -> FStar_Errors.raise_error @@ -3244,8 +3514,8 @@ let (enter_monad_scope : env -> FStar_Ident.ident -> env) = (Prims.op_Hat ", but already in monad scope " mname'.FStar_Ident.idText)))) mname.FStar_Ident.idRange - | FStar_Pervasives_Native.None -> - let uu___1509_12854 = env in + | FStar_Pervasives_Native.None -> + let uu___1509_12854 = env in { curmodule = (uu___1509_12854.curmodule); curmonad = (FStar_Pervasives_Native.Some mname); @@ -3265,27 +3535,29 @@ let (enter_monad_scope : env -> FStar_Ident.ident -> env) = ds_hooks = (uu___1509_12854.ds_hooks); dep_graph = (uu___1509_12854.dep_graph) } + let fail_or : 'a . env -> (FStar_Ident.lident -> 'a FStar_Pervasives_Native.option) -> FStar_Ident.lident -> 'a = - fun env -> - fun lookup1 -> - fun lid -> - let uu____12889 = lookup1 lid in + fun env -> + fun lookup1 -> + fun lid -> + let uu____12889 = lookup1 lid in match uu____12889 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let opened_modules = FStar_List.map - (fun uu____12904 -> + (fun uu____12904 -> match uu____12904 with - | (lid1, uu____12911) -> FStar_Ident.text_of_lid lid1) - env.modules in + | (lid1,uu____12911) -> FStar_Ident.text_of_lid lid1) + env.modules + in let msg = - let uu____12914 = FStar_Ident.text_of_lid lid in - FStar_Util.format1 "Identifier not found: [%s]" uu____12914 in + let uu____12914 = FStar_Ident.text_of_lid lid in + FStar_Util.format1 "Identifier not found: [%s]" uu____12914 in let msg1 = if (FStar_List.length lid.FStar_Ident.ns) = @@ -3294,25 +3566,25 @@ let fail_or : else (let modul = let uu____12926 = - FStar_Ident.lid_of_ids lid.FStar_Ident.ns in - let uu____12927 = FStar_Ident.range_of_lid lid in - FStar_Ident.set_lid_range uu____12926 uu____12927 in - let uu____12928 = resolve_module_name env modul true in + FStar_Ident.lid_of_ids lid.FStar_Ident.ns in + let uu____12927 = FStar_Ident.range_of_lid lid in + FStar_Ident.set_lid_range uu____12926 uu____12927 in + let uu____12928 = resolve_module_name env modul true in match uu____12928 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let opened_modules1 = - FStar_String.concat ", " opened_modules in + FStar_String.concat ", " opened_modules in FStar_Util.format3 "%s\nModule %s does not belong to the list of modules in scope, namely %s" msg modul.FStar_Ident.str opened_modules1 | FStar_Pervasives_Native.Some modul' when Prims.op_Negation (FStar_List.existsb - (fun m -> m = modul'.FStar_Ident.str) + (fun m -> m = modul'.FStar_Ident.str) opened_modules) -> let opened_modules1 = - FStar_String.concat ", " opened_modules in + FStar_String.concat ", " opened_modules in FStar_Util.format4 "%s\nModule %s resolved into %s, which does not belong to the list of modules in scope, namely %s" msg modul.FStar_Ident.str modul'.FStar_Ident.str @@ -3321,24 +3593,27 @@ let fail_or : FStar_Util.format4 "%s\nModule %s resolved into %s, definition %s not found" msg modul.FStar_Ident.str modul'.FStar_Ident.str - (lid.FStar_Ident.ident).FStar_Ident.idText) in - let uu____12949 = FStar_Ident.range_of_lid lid in + (lid.FStar_Ident.ident).FStar_Ident.idText) + in + let uu____12949 = FStar_Ident.range_of_lid lid in FStar_Errors.raise_error (FStar_Errors.Fatal_IdentifierNotFound, msg1) uu____12949 | FStar_Pervasives_Native.Some r -> r + let fail_or2 : 'a . (FStar_Ident.ident -> 'a FStar_Pervasives_Native.option) -> FStar_Ident.ident -> 'a = - fun lookup1 -> - fun id1 -> - let uu____12979 = lookup1 id1 in + fun lookup1 -> + fun id1 -> + let uu____12979 = lookup1 id1 in match uu____12979 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Errors.raise_error (FStar_Errors.Fatal_IdentifierNotFound, (Prims.op_Hat "Identifier not found [" (Prims.op_Hat id1.FStar_Ident.idText "]"))) id1.FStar_Ident.idRange - | FStar_Pervasives_Native.Some r -> r \ No newline at end of file + | FStar_Pervasives_Native.Some r -> r + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Syntax_Embeddings.ml b/src/ocaml-output/FStar_Syntax_Embeddings.ml index b99046303ad..910f2e3c078 100644 --- a/src/ocaml-output/FStar_Syntax_Embeddings.ml +++ b/src/ocaml-output/FStar_Syntax_Embeddings.ml @@ -1,40 +1,45 @@ open Prims type norm_cb = - (FStar_Ident.lid, FStar_Syntax_Syntax.term) FStar_Util.either -> + (FStar_Ident.lid,FStar_Syntax_Syntax.term) FStar_Util.either -> FStar_Syntax_Syntax.term let (id_norm_cb : norm_cb) = - fun uu___0_16 -> + fun uu___0_16 -> match uu___0_16 with | FStar_Util.Inr x -> x | FStar_Util.Inl l -> let uu____23 = FStar_Syntax_Syntax.lid_as_fv l - FStar_Syntax_Syntax.delta_equational FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_equational FStar_Pervasives_Native.None + in FStar_Syntax_Syntax.fv_to_tm uu____23 + exception Embedding_failure let (uu___is_Embedding_failure : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | Embedding_failure -> true | uu____33 -> false + fun projectee -> + match projectee with | Embedding_failure -> true | uu____33 -> false + exception Unembedding_failure let (uu___is_Unembedding_failure : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | Unembedding_failure -> true | uu____44 -> false + fun projectee -> + match projectee with | Unembedding_failure -> true | uu____44 -> false + type shadow_term = FStar_Syntax_Syntax.term FStar_Common.thunk FStar_Pervasives_Native.option let (map_shadow : shadow_term -> (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) -> shadow_term) = - fun s -> - fun f -> + fun s -> + fun f -> FStar_Util.map_opt s - (fun s1 -> + (fun s1 -> FStar_Common.mk_thunk - (fun uu____76 -> - let uu____77 = FStar_Common.force_thunk s1 in f uu____77)) + (fun uu____76 -> + let uu____77 = FStar_Common.force_thunk s1 in f uu____77)) + let (force_shadow : shadow_term -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun s -> FStar_Util.map_opt s FStar_Common.force_thunk + fun s -> FStar_Util.map_opt s FStar_Common.force_thunk type embed_t = FStar_Range.range -> shadow_term -> norm_cb -> FStar_Syntax_Syntax.term type 'a unembed_t = @@ -50,62 +55,71 @@ type 'a embedding = print: 'a printer ; emb_typ: FStar_Syntax_Syntax.emb_typ } let __proj__Mkembedding__item__em : 'a . 'a embedding -> 'a -> embed_t = - fun projectee -> + fun projectee -> match projectee with | { em; un; typ; print = print7; emb_typ;_} -> em + let __proj__Mkembedding__item__un : 'a . 'a embedding -> FStar_Syntax_Syntax.term -> 'a unembed_t = - fun projectee -> + fun projectee -> match projectee with | { em; un; typ; print = print7; emb_typ;_} -> un + let __proj__Mkembedding__item__typ : 'a . 'a embedding -> FStar_Syntax_Syntax.typ = - fun projectee -> + fun projectee -> match projectee with | { em; un; typ; print = print7; emb_typ;_} -> typ + let __proj__Mkembedding__item__print : 'a . 'a embedding -> 'a printer = - fun projectee -> + fun projectee -> match projectee with | { em; un; typ; print = print7; emb_typ;_} -> print7 + let __proj__Mkembedding__item__emb_typ : 'a . 'a embedding -> FStar_Syntax_Syntax.emb_typ = - fun projectee -> + fun projectee -> match projectee with | { em; un; typ; print = print7; emb_typ;_} -> emb_typ + let emb_typ_of : 'a . 'a embedding -> FStar_Syntax_Syntax.emb_typ = - fun e -> e.emb_typ + fun e -> e.emb_typ let unknown_printer : 'Auu____439 . FStar_Syntax_Syntax.term -> 'Auu____439 -> Prims.string = - fun typ -> - fun uu____450 -> - let uu____451 = FStar_Syntax_Print.term_to_string typ in + fun typ -> + fun uu____450 -> + let uu____451 = FStar_Syntax_Print.term_to_string typ in FStar_Util.format1 "unknown %s" uu____451 + let (term_as_fv : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.fv) = - fun t -> + fun t -> let uu____460 = - let uu____461 = FStar_Syntax_Subst.compress t in - uu____461.FStar_Syntax_Syntax.n in + let uu____461 = FStar_Syntax_Subst.compress t in + uu____461.FStar_Syntax_Syntax.n in match uu____460 with | FStar_Syntax_Syntax.Tm_fvar fv -> fv | uu____465 -> let uu____466 = - let uu____468 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "Embeddings not defined for type %s" uu____468 in + let uu____468 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "Embeddings not defined for type %s" uu____468 + in failwith uu____466 + let mk_emb : 'a . 'a raw_embedder -> 'a raw_unembedder -> FStar_Syntax_Syntax.fv -> 'a embedding = - fun em -> - fun un -> - fun fv -> - let typ = FStar_Syntax_Syntax.fv_to_tm fv in + fun em -> + fun un -> + fun fv -> + let typ = FStar_Syntax_Syntax.fv_to_tm fv in let uu____511 = let uu____512 = let uu____520 = - let uu____522 = FStar_Syntax_Syntax.lid_of_fv fv in - FStar_All.pipe_right uu____522 FStar_Ident.string_of_lid in - (uu____520, []) in - FStar_Syntax_Syntax.ET_app uu____512 in + let uu____522 = FStar_Syntax_Syntax.lid_of_fv fv in + FStar_All.pipe_right uu____522 FStar_Ident.string_of_lid in + (uu____520, []) in + FStar_Syntax_Syntax.ET_app uu____512 in { em; un; typ; print = (unknown_printer typ); emb_typ = uu____511 } + let mk_emb_full : 'a . 'a raw_embedder -> @@ -113,35 +127,38 @@ let mk_emb_full : FStar_Syntax_Syntax.typ -> ('a -> Prims.string) -> FStar_Syntax_Syntax.emb_typ -> 'a embedding = - fun em -> - fun un -> - fun typ -> - fun printer -> - fun emb_typ -> { em; un; typ; print = printer; emb_typ } -let embed : 'a . 'a embedding -> 'a -> embed_t = fun e -> fun x -> e.em x + fun em -> + fun un -> + fun typ -> + fun printer -> + fun emb_typ -> { em; un; typ; print = printer; emb_typ } + +let embed : 'a . 'a embedding -> 'a -> embed_t = fun e -> fun x -> e.em x let unembed : 'a . 'a embedding -> FStar_Syntax_Syntax.term -> 'a unembed_t = - fun e -> fun t -> e.un t + fun e -> fun t -> e.un t let warn_unembed : 'a . 'a embedding -> FStar_Syntax_Syntax.term -> norm_cb -> 'a FStar_Pervasives_Native.option = - fun e -> - fun t -> fun n1 -> let uu____671 = unembed e t in uu____671 true n1 + fun e -> + fun t -> fun n1 -> let uu____671 = unembed e t in uu____671 true n1 + let try_unembed : 'a . 'a embedding -> FStar_Syntax_Syntax.term -> norm_cb -> 'a FStar_Pervasives_Native.option = - fun e -> - fun t -> fun n1 -> let uu____712 = unembed e t in uu____712 false n1 -let type_of : 'a . 'a embedding -> FStar_Syntax_Syntax.typ = fun e -> e.typ + fun e -> + fun t -> fun n1 -> let uu____712 = unembed e t in uu____712 false n1 + +let type_of : 'a . 'a embedding -> FStar_Syntax_Syntax.typ = fun e -> e.typ let set_type : 'a . FStar_Syntax_Syntax.typ -> 'a embedding -> 'a embedding = - fun ty -> - fun e -> - let uu___79_759 = e in + fun ty -> + fun e -> + let uu___79_759 = e in { em = (uu___79_759.em); un = (uu___79_759.un); @@ -149,6 +166,7 @@ let set_type : 'a . FStar_Syntax_Syntax.typ -> 'a embedding -> 'a embedding = print = (uu___79_759.print); emb_typ = (uu___79_759.emb_typ) } + let lazy_embed : 'a . 'a printer -> @@ -159,41 +177,44 @@ let lazy_embed : (unit -> FStar_Syntax_Syntax.term) -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax = - fun pa -> - fun et -> - fun rng -> - fun ta -> - fun x -> - fun f -> - (let uu____822 = FStar_ST.op_Bang FStar_Options.debug_embedding in + fun pa -> + fun et -> + fun rng -> + fun ta -> + fun x -> + fun f -> + (let uu____822 = FStar_ST.op_Bang FStar_Options.debug_embedding + in if uu____822 then - let uu____846 = FStar_Syntax_Print.term_to_string ta in - let uu____848 = FStar_Syntax_Print.emb_typ_to_string et in - let uu____850 = pa x in + let uu____846 = FStar_Syntax_Print.term_to_string ta in + let uu____848 = FStar_Syntax_Print.emb_typ_to_string et in + let uu____850 = pa x in FStar_Util.print3 "Embedding a %s\n\temb_typ=%s\n\tvalue is %s\n" uu____846 uu____848 uu____850 else ()); - (let uu____855 = FStar_ST.op_Bang FStar_Options.eager_embedding in + (let uu____855 = FStar_ST.op_Bang FStar_Options.eager_embedding + in if uu____855 then f () else - (let thunk1 = FStar_Common.mk_thunk f in + (let thunk1 = FStar_Common.mk_thunk f in let uu____890 = let uu____897 = let uu____898 = - let uu____899 = FStar_Dyn.mkdyn x in + let uu____899 = FStar_Dyn.mkdyn x in { FStar_Syntax_Syntax.blob = uu____899; FStar_Syntax_Syntax.lkind = (FStar_Syntax_Syntax.Lazy_embedding (et, thunk1)); FStar_Syntax_Syntax.ltyp = FStar_Syntax_Syntax.tun; FStar_Syntax_Syntax.rng = rng - } in - FStar_Syntax_Syntax.Tm_lazy uu____898 in - FStar_Syntax_Syntax.mk uu____897 in + } in + FStar_Syntax_Syntax.Tm_lazy uu____898 in + FStar_Syntax_Syntax.mk uu____897 in uu____890 FStar_Pervasives_Native.None rng)) + let lazy_unembed : 'a . 'a printer -> @@ -203,160 +224,171 @@ let lazy_unembed : (FStar_Syntax_Syntax.term -> 'a FStar_Pervasives_Native.option) -> 'a FStar_Pervasives_Native.option = - fun pa -> - fun et -> - fun x -> - fun ta -> - fun f -> - let x1 = FStar_Syntax_Subst.compress x in + fun pa -> + fun et -> + fun x -> + fun ta -> + fun f -> + let x1 = FStar_Syntax_Subst.compress x in match x1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = b; FStar_Syntax_Syntax.lkind = - FStar_Syntax_Syntax.Lazy_embedding (et', t); + FStar_Syntax_Syntax.Lazy_embedding (et',t); FStar_Syntax_Syntax.ltyp = uu____966; FStar_Syntax_Syntax.rng = uu____967;_} -> let uu____978 = (et <> et') || - (FStar_ST.op_Bang FStar_Options.eager_embedding) in + (FStar_ST.op_Bang FStar_Options.eager_embedding) + in if uu____978 then let res = - let uu____1007 = FStar_Common.force_thunk t in - f uu____1007 in + let uu____1007 = FStar_Common.force_thunk t in + f uu____1007 in ((let uu____1011 = - FStar_ST.op_Bang FStar_Options.debug_embedding in + FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____1011 then let uu____1035 = - FStar_Syntax_Print.emb_typ_to_string et in + FStar_Syntax_Print.emb_typ_to_string et in let uu____1037 = - FStar_Syntax_Print.emb_typ_to_string et' in + FStar_Syntax_Print.emb_typ_to_string et' in let uu____1039 = match res with - | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.None -> "None" | FStar_Pervasives_Native.Some x2 -> - let uu____1044 = pa x2 in - Prims.op_Hat "Some " uu____1044 in + let uu____1044 = pa x2 in + Prims.op_Hat "Some " uu____1044 + in FStar_Util.print3 "Unembed cancellation failed\n\t%s <> %s\nvalue is %s\n" uu____1035 uu____1037 uu____1039 else ()); res) else - (let a = FStar_Dyn.undyn b in + (let a = FStar_Dyn.undyn b in (let uu____1054 = - FStar_ST.op_Bang FStar_Options.debug_embedding in + FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____1054 then let uu____1078 = - FStar_Syntax_Print.emb_typ_to_string et in - let uu____1080 = pa a in + FStar_Syntax_Print.emb_typ_to_string et in + let uu____1080 = pa a in FStar_Util.print2 "Unembed cancelled for %s\n\tvalue is %s\n" uu____1078 uu____1080 else ()); FStar_Pervasives_Native.Some a) | uu____1085 -> - let aopt = f x1 in + let aopt = f x1 in ((let uu____1090 = - FStar_ST.op_Bang FStar_Options.debug_embedding in + FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____1090 then - let uu____1114 = FStar_Syntax_Print.emb_typ_to_string et in - let uu____1116 = FStar_Syntax_Print.term_to_string x1 in + let uu____1114 = FStar_Syntax_Print.emb_typ_to_string et + in + let uu____1116 = FStar_Syntax_Print.term_to_string x1 in let uu____1118 = match aopt with - | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.None -> "None" | FStar_Pervasives_Native.Some a -> - let uu____1123 = pa a in - Prims.op_Hat "Some " uu____1123 in + let uu____1123 = pa a in + Prims.op_Hat "Some " uu____1123 + in FStar_Util.print3 "Unembedding:\n\temb_typ=%s\n\tterm is %s\n\tvalue is %s\n" uu____1114 uu____1116 uu____1118 else ()); aopt) + let (mk_any_emb : FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term embedding) = - fun typ -> + fun typ -> let em t _r _topt _norm = - (let uu____1161 = FStar_ST.op_Bang FStar_Options.debug_embedding in + (let uu____1161 = FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____1161 then - let uu____1185 = unknown_printer typ t in + let uu____1185 = unknown_printer typ t in FStar_Util.print1 "Embedding abstract: %s\n" uu____1185 else ()); - t in + t in let un t _w _n = - (let uu____1213 = FStar_ST.op_Bang FStar_Options.debug_embedding in + (let uu____1213 = FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____1213 then - let uu____1237 = unknown_printer typ t in + let uu____1237 = unknown_printer typ t in FStar_Util.print1 "Unembedding abstract: %s\n" uu____1237 else ()); - FStar_Pervasives_Native.Some t in + FStar_Pervasives_Native.Some t in mk_emb_full em un typ (unknown_printer typ) FStar_Syntax_Syntax.ET_abstract + let (e_any : FStar_Syntax_Syntax.term embedding) = - let em t _r _topt _norm = t in - let un t _w _n = FStar_Pervasives_Native.Some t in + let em t _r _topt _norm = t in + let un t _w _n = FStar_Pervasives_Native.Some t in let uu____1290 = let uu____1291 = let uu____1299 = FStar_All.pipe_right FStar_Parser_Const.term_lid - FStar_Ident.string_of_lid in - (uu____1299, []) in - FStar_Syntax_Syntax.ET_app uu____1291 in + FStar_Ident.string_of_lid + in + (uu____1299, []) in + FStar_Syntax_Syntax.ET_app uu____1291 in mk_emb_full em un FStar_Syntax_Syntax.t_term FStar_Syntax_Print.term_to_string uu____1290 + let (e_unit : unit embedding) = let em u rng _topt _norm = - let uu___153_1331 = FStar_Syntax_Util.exp_unit in + let uu___153_1331 = FStar_Syntax_Util.exp_unit in { FStar_Syntax_Syntax.n = (uu___153_1331.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = (uu___153_1331.FStar_Syntax_Syntax.vars) - } in + } in let un t0 w _norm = - let t = FStar_Syntax_Util.unascribe t0 in + let t = FStar_Syntax_Util.unascribe t0 in match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_unit) -> + | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_unit ) -> FStar_Pervasives_Native.Some () | uu____1359 -> (if w then (let uu____1362 = let uu____1368 = - let uu____1370 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "Not an embedded unit: %s" uu____1370 in - (FStar_Errors.Warning_NotEmbedded, uu____1368) in + let uu____1370 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "Not an embedded unit: %s" uu____1370 in + (FStar_Errors.Warning_NotEmbedded, uu____1368) in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu____1362) else (); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in let uu____1376 = let uu____1377 = let uu____1385 = FStar_All.pipe_right FStar_Parser_Const.unit_lid - FStar_Ident.string_of_lid in - (uu____1385, []) in - FStar_Syntax_Syntax.ET_app uu____1377 in - mk_emb_full em un FStar_Syntax_Syntax.t_unit (fun uu____1392 -> "()") + FStar_Ident.string_of_lid + in + (uu____1385, []) in + FStar_Syntax_Syntax.ET_app uu____1377 in + mk_emb_full em un FStar_Syntax_Syntax.t_unit (fun uu____1392 -> "()") uu____1376 + let (e_bool : Prims.bool embedding) = let em b rng _topt _norm = let t = if b then FStar_Syntax_Util.exp_true_bool - else FStar_Syntax_Util.exp_false_bool in - let uu___173_1431 = t in + else FStar_Syntax_Util.exp_false_bool in + let uu___173_1431 = t in { FStar_Syntax_Syntax.n = (uu___173_1431.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = (uu___173_1431.FStar_Syntax_Syntax.vars) - } in + } in let un t0 w _norm = - let t = FStar_Syntax_Util.unmeta_safe t0 in + let t = FStar_Syntax_Util.unmeta_safe t0 in match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool b) -> FStar_Pervasives_Native.Some b @@ -365,32 +397,35 @@ let (e_bool : Prims.bool embedding) = then (let uu____1470 = let uu____1476 = - let uu____1478 = FStar_Syntax_Print.term_to_string t0 in - FStar_Util.format1 "Not an embedded bool: %s" uu____1478 in - (FStar_Errors.Warning_NotEmbedded, uu____1476) in + let uu____1478 = FStar_Syntax_Print.term_to_string t0 in + FStar_Util.format1 "Not an embedded bool: %s" uu____1478 in + (FStar_Errors.Warning_NotEmbedded, uu____1476) in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu____1470) else (); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in let uu____1485 = let uu____1486 = let uu____1494 = FStar_All.pipe_right FStar_Parser_Const.bool_lid - FStar_Ident.string_of_lid in - (uu____1494, []) in - FStar_Syntax_Syntax.ET_app uu____1486 in + FStar_Ident.string_of_lid + in + (uu____1494, []) in + FStar_Syntax_Syntax.ET_app uu____1486 in mk_emb_full em un FStar_Syntax_Syntax.t_bool FStar_Util.string_of_bool uu____1485 + let (e_char : FStar_Char.char embedding) = let em c rng _topt _norm = - let t = FStar_Syntax_Util.exp_char c in - let uu___192_1531 = t in + let t = FStar_Syntax_Util.exp_char c in + let uu___192_1531 = t in { FStar_Syntax_Syntax.n = (uu___192_1531.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = (uu___192_1531.FStar_Syntax_Syntax.vars) - } in + } in let un t0 w _norm = - let t = FStar_Syntax_Util.unmeta_safe t0 in + let t = FStar_Syntax_Util.unmeta_safe t0 in match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_char c) -> FStar_Pervasives_Native.Some c @@ -399,206 +434,235 @@ let (e_char : FStar_Char.char embedding) = then (let uu____1568 = let uu____1574 = - let uu____1576 = FStar_Syntax_Print.term_to_string t0 in - FStar_Util.format1 "Not an embedded char: %s" uu____1576 in - (FStar_Errors.Warning_NotEmbedded, uu____1574) in + let uu____1576 = FStar_Syntax_Print.term_to_string t0 in + FStar_Util.format1 "Not an embedded char: %s" uu____1576 in + (FStar_Errors.Warning_NotEmbedded, uu____1574) in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu____1568) else (); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in let uu____1583 = let uu____1584 = let uu____1592 = FStar_All.pipe_right FStar_Parser_Const.char_lid - FStar_Ident.string_of_lid in - (uu____1592, []) in - FStar_Syntax_Syntax.ET_app uu____1584 in + FStar_Ident.string_of_lid + in + (uu____1592, []) in + FStar_Syntax_Syntax.ET_app uu____1584 in mk_emb_full em un FStar_Syntax_Syntax.t_char FStar_Util.string_of_char uu____1583 + let (e_int : FStar_BigInt.t embedding) = - let t_int1 = FStar_Syntax_Util.fvar_const FStar_Parser_Const.int_lid in + let t_int1 = FStar_Syntax_Util.fvar_const FStar_Parser_Const.int_lid in let emb_t_int = let uu____1604 = let uu____1612 = FStar_All.pipe_right FStar_Parser_Const.int_lid - FStar_Ident.string_of_lid in - (uu____1612, []) in - FStar_Syntax_Syntax.ET_app uu____1604 in + FStar_Ident.string_of_lid + in + (uu____1612, []) in + FStar_Syntax_Syntax.ET_app uu____1604 in let em i rng _topt _norm = lazy_embed FStar_BigInt.string_of_big_int emb_t_int rng t_int1 i - (fun uu____1643 -> - let uu____1644 = FStar_BigInt.string_of_big_int i in - FStar_Syntax_Util.exp_int uu____1644) in + (fun uu____1643 -> + let uu____1644 = FStar_BigInt.string_of_big_int i in + FStar_Syntax_Util.exp_int uu____1644) + in let un t0 w _norm = - let t = FStar_Syntax_Util.unmeta_safe t0 in + let t = FStar_Syntax_Util.unmeta_safe t0 in lazy_unembed FStar_BigInt.string_of_big_int emb_t_int t t_int1 - (fun t1 -> + (fun t1 -> match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_int - (s, uu____1679)) -> - let uu____1694 = FStar_BigInt.big_int_of_string s in + (s,uu____1679)) -> + let uu____1694 = FStar_BigInt.big_int_of_string s in FStar_Pervasives_Native.Some uu____1694 | uu____1695 -> (if w then (let uu____1698 = let uu____1704 = - let uu____1706 = FStar_Syntax_Print.term_to_string t0 in - FStar_Util.format1 "Not an embedded int: %s" uu____1706 in - (FStar_Errors.Warning_NotEmbedded, uu____1704) in + let uu____1706 = FStar_Syntax_Print.term_to_string t0 + in + FStar_Util.format1 "Not an embedded int: %s" uu____1706 + in + (FStar_Errors.Warning_NotEmbedded, uu____1704) in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu____1698) else (); - FStar_Pervasives_Native.None)) in + FStar_Pervasives_Native.None)) + in mk_emb_full em un FStar_Syntax_Syntax.t_int FStar_BigInt.string_of_big_int emb_t_int + let (e_string : Prims.string embedding) = let emb_t_string = let uu____1717 = let uu____1725 = FStar_All.pipe_right FStar_Parser_Const.string_lid - FStar_Ident.string_of_lid in - (uu____1725, []) in - FStar_Syntax_Syntax.ET_app uu____1717 in + FStar_Ident.string_of_lid + in + (uu____1725, []) in + FStar_Syntax_Syntax.ET_app uu____1717 in let em s rng _topt _norm = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_string (s, rng))) - FStar_Pervasives_Native.None rng in + FStar_Pervasives_Native.None rng + in let un t0 w _norm = - let t = FStar_Syntax_Util.unmeta_safe t0 in + let t = FStar_Syntax_Util.unmeta_safe t0 in match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_string - (s, uu____1788)) -> FStar_Pervasives_Native.Some s + (s,uu____1788)) -> FStar_Pervasives_Native.Some s | uu____1792 -> (if w then (let uu____1795 = let uu____1801 = - let uu____1803 = FStar_Syntax_Print.term_to_string t0 in - FStar_Util.format1 "Not an embedded string: %s" uu____1803 in - (FStar_Errors.Warning_NotEmbedded, uu____1801) in + let uu____1803 = FStar_Syntax_Print.term_to_string t0 in + FStar_Util.format1 "Not an embedded string: %s" uu____1803 + in + (FStar_Errors.Warning_NotEmbedded, uu____1801) in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu____1795) else (); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in mk_emb_full em un FStar_Syntax_Syntax.t_string - (fun x -> Prims.op_Hat "\"" (Prims.op_Hat x "\"")) emb_t_string + (fun x -> Prims.op_Hat "\"" (Prims.op_Hat x "\"")) emb_t_string + let e_option : 'a . 'a embedding -> 'a FStar_Pervasives_Native.option embedding = - fun ea -> + fun ea -> let t_option_a = - let t_opt = FStar_Syntax_Util.fvar_const FStar_Parser_Const.option_lid in + let t_opt = FStar_Syntax_Util.fvar_const FStar_Parser_Const.option_lid + in let uu____1839 = let uu____1844 = - let uu____1845 = FStar_Syntax_Syntax.as_arg ea.typ in [uu____1845] in - FStar_Syntax_Syntax.mk_Tm_app t_opt uu____1844 in - uu____1839 FStar_Pervasives_Native.None FStar_Range.dummyRange in + let uu____1845 = FStar_Syntax_Syntax.as_arg ea.typ in [uu____1845] + in + FStar_Syntax_Syntax.mk_Tm_app t_opt uu____1844 in + uu____1839 FStar_Pervasives_Native.None FStar_Range.dummyRange in let emb_t_option_a = let uu____1871 = let uu____1879 = FStar_All.pipe_right FStar_Parser_Const.option_lid - FStar_Ident.string_of_lid in - (uu____1879, [ea.emb_typ]) in - FStar_Syntax_Syntax.ET_app uu____1871 in + FStar_Ident.string_of_lid + in + (uu____1879, [ea.emb_typ]) in + FStar_Syntax_Syntax.ET_app uu____1871 in let printer uu___1_1893 = match uu___1_1893 with - | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.None -> "None" | FStar_Pervasives_Native.Some x -> let uu____1899 = - let uu____1901 = ea.print x in Prims.op_Hat uu____1901 ")" in - Prims.op_Hat "(Some " uu____1899 in + let uu____1901 = ea.print x in Prims.op_Hat uu____1901 ")" in + Prims.op_Hat "(Some " uu____1899 + in let em o rng topt norm1 = lazy_embed printer emb_t_option_a rng t_option_a o - (fun uu____1936 -> + (fun uu____1936 -> match o with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____1937 = let uu____1942 = let uu____1943 = FStar_Syntax_Syntax.tdataconstr - FStar_Parser_Const.none_lid in + FStar_Parser_Const.none_lid + in FStar_Syntax_Syntax.mk_Tm_uinst uu____1943 - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let uu____1944 = let uu____1945 = - let uu____1954 = type_of ea in - FStar_Syntax_Syntax.iarg uu____1954 in - [uu____1945] in - FStar_Syntax_Syntax.mk_Tm_app uu____1942 uu____1944 in + let uu____1954 = type_of ea in + FStar_Syntax_Syntax.iarg uu____1954 in + [uu____1945] in + FStar_Syntax_Syntax.mk_Tm_app uu____1942 uu____1944 in uu____1937 FStar_Pervasives_Native.None rng | FStar_Pervasives_Native.Some a -> let shadow_a = map_shadow topt - (fun t -> - let v1 = FStar_Ident.mk_ident ("v", rng) in + (fun t -> + let v1 = FStar_Ident.mk_ident ("v", rng) in let some_v = FStar_Syntax_Util.mk_field_projector_name_from_ident - FStar_Parser_Const.some_lid v1 in + FStar_Parser_Const.some_lid v1 + in let some_v_tm = let uu____1984 = FStar_Syntax_Syntax.lid_as_fv some_v FStar_Syntax_Syntax.delta_equational - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____1984 in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____1984 in let uu____1985 = let uu____1990 = FStar_Syntax_Syntax.mk_Tm_uinst some_v_tm - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let uu____1991 = let uu____1992 = - let uu____2001 = type_of ea in - FStar_Syntax_Syntax.iarg uu____2001 in + let uu____2001 = type_of ea in + FStar_Syntax_Syntax.iarg uu____2001 in let uu____2002 = - let uu____2013 = FStar_Syntax_Syntax.as_arg t in - [uu____2013] in - uu____1992 :: uu____2002 in - FStar_Syntax_Syntax.mk_Tm_app uu____1990 uu____1991 in - uu____1985 FStar_Pervasives_Native.None rng) in + let uu____2013 = FStar_Syntax_Syntax.as_arg t in + [uu____2013] in + uu____1992 :: uu____2002 in + FStar_Syntax_Syntax.mk_Tm_app uu____1990 uu____1991 + in + uu____1985 FStar_Pervasives_Native.None rng) + in let uu____2046 = let uu____2051 = let uu____2052 = FStar_Syntax_Syntax.tdataconstr - FStar_Parser_Const.some_lid in + FStar_Parser_Const.some_lid + in FStar_Syntax_Syntax.mk_Tm_uinst uu____2052 - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let uu____2053 = let uu____2054 = - let uu____2063 = type_of ea in - FStar_Syntax_Syntax.iarg uu____2063 in + let uu____2063 = type_of ea in + FStar_Syntax_Syntax.iarg uu____2063 in let uu____2064 = let uu____2075 = let uu____2084 = - let uu____2085 = embed ea a in - uu____2085 rng shadow_a norm1 in - FStar_Syntax_Syntax.as_arg uu____2084 in - [uu____2075] in - uu____2054 :: uu____2064 in - FStar_Syntax_Syntax.mk_Tm_app uu____2051 uu____2053 in - uu____2046 FStar_Pervasives_Native.None rng) in + let uu____2085 = embed ea a in + uu____2085 rng shadow_a norm1 in + FStar_Syntax_Syntax.as_arg uu____2084 in + [uu____2075] in + uu____2054 :: uu____2064 in + FStar_Syntax_Syntax.mk_Tm_app uu____2051 uu____2053 in + uu____2046 FStar_Pervasives_Native.None rng) + in let un t0 w norm1 = - let t = FStar_Syntax_Util.unmeta_safe t0 in + let t = FStar_Syntax_Util.unmeta_safe t0 in lazy_unembed printer emb_t_option_a t t_option_a - (fun t1 -> - let uu____2155 = FStar_Syntax_Util.head_and_args' t1 in + (fun t1 -> + let uu____2155 = FStar_Syntax_Util.head_and_args' t1 in match uu____2155 with - | (hd1, args) -> + | (hd1,args) -> let uu____2196 = let uu____2211 = - let uu____2212 = FStar_Syntax_Util.un_uinst hd1 in - uu____2212.FStar_Syntax_Syntax.n in - (uu____2211, args) in + let uu____2212 = FStar_Syntax_Util.un_uinst hd1 in + uu____2212.FStar_Syntax_Syntax.n in + (uu____2211, args) in (match uu____2196 with - | (FStar_Syntax_Syntax.Tm_fvar fv, uu____2230) when + | (FStar_Syntax_Syntax.Tm_fvar fv,uu____2230) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.none_lid -> FStar_Pervasives_Native.Some FStar_Pervasives_Native.None - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____2254::(a, uu____2256)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,uu____2254::(a,uu____2256)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.some_lid -> let uu____2307 = - let uu____2310 = unembed ea a in uu____2310 w norm1 in + let uu____2310 = unembed ea a in uu____2310 w norm1 + in FStar_Util.bind_opt uu____2307 - (fun a1 -> + (fun a1 -> FStar_Pervasives_Native.Some (FStar_Pervasives_Native.Some a1)) | uu____2323 -> @@ -607,363 +671,400 @@ let e_option : (let uu____2340 = let uu____2346 = let uu____2348 = - FStar_Syntax_Print.term_to_string t0 in + FStar_Syntax_Print.term_to_string t0 in FStar_Util.format1 "Not an embedded option: %s" - uu____2348 in - (FStar_Errors.Warning_NotEmbedded, uu____2346) in + uu____2348 + in + (FStar_Errors.Warning_NotEmbedded, uu____2346) in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu____2340) else (); - FStar_Pervasives_Native.None))) in + FStar_Pervasives_Native.None))) + in let uu____2356 = - let uu____2357 = type_of ea in - FStar_Syntax_Syntax.t_option_of uu____2357 in + let uu____2357 = type_of ea in + FStar_Syntax_Syntax.t_option_of uu____2357 in mk_emb_full em un uu____2356 printer emb_t_option_a + let e_tuple2 : 'a 'b . 'a embedding -> 'b embedding -> ('a * 'b) embedding = - fun ea -> - fun eb -> + fun ea -> + fun eb -> let t_pair_a_b = let t_tup2 = - FStar_Syntax_Util.fvar_const FStar_Parser_Const.lid_tuple2 in + FStar_Syntax_Util.fvar_const FStar_Parser_Const.lid_tuple2 in let uu____2399 = let uu____2404 = - let uu____2405 = FStar_Syntax_Syntax.as_arg ea.typ in + let uu____2405 = FStar_Syntax_Syntax.as_arg ea.typ in let uu____2414 = - let uu____2425 = FStar_Syntax_Syntax.as_arg eb.typ in - [uu____2425] in - uu____2405 :: uu____2414 in - FStar_Syntax_Syntax.mk_Tm_app t_tup2 uu____2404 in - uu____2399 FStar_Pervasives_Native.None FStar_Range.dummyRange in + let uu____2425 = FStar_Syntax_Syntax.as_arg eb.typ in + [uu____2425] in + uu____2405 :: uu____2414 in + FStar_Syntax_Syntax.mk_Tm_app t_tup2 uu____2404 in + uu____2399 FStar_Pervasives_Native.None FStar_Range.dummyRange in let emb_t_pair_a_b = let uu____2459 = let uu____2467 = FStar_All.pipe_right FStar_Parser_Const.lid_tuple2 - FStar_Ident.string_of_lid in - (uu____2467, [ea.emb_typ; eb.emb_typ]) in - FStar_Syntax_Syntax.ET_app uu____2459 in + FStar_Ident.string_of_lid + in + (uu____2467, [ea.emb_typ; eb.emb_typ]) in + FStar_Syntax_Syntax.ET_app uu____2459 in let printer uu____2483 = match uu____2483 with - | (x, y) -> - let uu____2491 = ea.print x in - let uu____2493 = eb.print y in - FStar_Util.format2 "(%s, %s)" uu____2491 uu____2493 in + | (x,y) -> + let uu____2491 = ea.print x in + let uu____2493 = eb.print y in + FStar_Util.format2 "(%s, %s)" uu____2491 uu____2493 + in let em x rng topt norm1 = lazy_embed printer emb_t_pair_a_b rng t_pair_a_b x - (fun uu____2536 -> + (fun uu____2536 -> let proj i ab = let uu____2552 = let uu____2557 = FStar_Parser_Const.mk_tuple_data_lid (Prims.parse_int "2") - rng in + rng + in let uu____2559 = - FStar_Syntax_Syntax.null_bv FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.null_bv FStar_Syntax_Syntax.tun in FStar_Syntax_Util.mk_field_projector_name uu____2557 - uu____2559 i in + uu____2559 i + in match uu____2552 with - | (proj_1, uu____2563) -> + | (proj_1,uu____2563) -> let proj_1_tm = let uu____2565 = FStar_Syntax_Syntax.lid_as_fv proj_1 FStar_Syntax_Syntax.delta_equational - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____2565 in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____2565 in let uu____2566 = let uu____2571 = FStar_Syntax_Syntax.mk_Tm_uinst proj_1_tm - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let uu____2572 = let uu____2573 = - let uu____2582 = type_of ea in - FStar_Syntax_Syntax.iarg uu____2582 in + let uu____2582 = type_of ea in + FStar_Syntax_Syntax.iarg uu____2582 in let uu____2583 = let uu____2594 = - let uu____2603 = type_of eb in - FStar_Syntax_Syntax.iarg uu____2603 in + let uu____2603 = type_of eb in + FStar_Syntax_Syntax.iarg uu____2603 in let uu____2604 = - let uu____2615 = FStar_Syntax_Syntax.as_arg ab in - [uu____2615] in - uu____2594 :: uu____2604 in - uu____2573 :: uu____2583 in - FStar_Syntax_Syntax.mk_Tm_app uu____2571 uu____2572 in - uu____2566 FStar_Pervasives_Native.None rng in - let shadow_a = map_shadow topt (proj (Prims.parse_int "1")) in - let shadow_b = map_shadow topt (proj (Prims.parse_int "2")) in + let uu____2615 = FStar_Syntax_Syntax.as_arg ab in + [uu____2615] in + uu____2594 :: uu____2604 in + uu____2573 :: uu____2583 in + FStar_Syntax_Syntax.mk_Tm_app uu____2571 uu____2572 in + uu____2566 FStar_Pervasives_Native.None rng + in + let shadow_a = map_shadow topt (proj (Prims.parse_int "1")) in + let shadow_b = map_shadow topt (proj (Prims.parse_int "2")) in let uu____2660 = let uu____2665 = let uu____2666 = FStar_Syntax_Syntax.tdataconstr - FStar_Parser_Const.lid_Mktuple2 in + FStar_Parser_Const.lid_Mktuple2 + in FStar_Syntax_Syntax.mk_Tm_uinst uu____2666 - [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] + in let uu____2667 = let uu____2668 = - let uu____2677 = type_of ea in - FStar_Syntax_Syntax.iarg uu____2677 in + let uu____2677 = type_of ea in + FStar_Syntax_Syntax.iarg uu____2677 in let uu____2678 = let uu____2689 = - let uu____2698 = type_of eb in - FStar_Syntax_Syntax.iarg uu____2698 in + let uu____2698 = type_of eb in + FStar_Syntax_Syntax.iarg uu____2698 in let uu____2699 = let uu____2710 = let uu____2719 = let uu____2720 = - embed ea (FStar_Pervasives_Native.fst x) in - uu____2720 rng shadow_a norm1 in - FStar_Syntax_Syntax.as_arg uu____2719 in + embed ea (FStar_Pervasives_Native.fst x) in + uu____2720 rng shadow_a norm1 in + FStar_Syntax_Syntax.as_arg uu____2719 in let uu____2727 = let uu____2738 = let uu____2747 = let uu____2748 = - embed eb (FStar_Pervasives_Native.snd x) in - uu____2748 rng shadow_b norm1 in - FStar_Syntax_Syntax.as_arg uu____2747 in - [uu____2738] in - uu____2710 :: uu____2727 in - uu____2689 :: uu____2699 in - uu____2668 :: uu____2678 in - FStar_Syntax_Syntax.mk_Tm_app uu____2665 uu____2667 in - uu____2660 FStar_Pervasives_Native.None rng) in + embed eb (FStar_Pervasives_Native.snd x) in + uu____2748 rng shadow_b norm1 in + FStar_Syntax_Syntax.as_arg uu____2747 in + [uu____2738] in + uu____2710 :: uu____2727 in + uu____2689 :: uu____2699 in + uu____2668 :: uu____2678 in + FStar_Syntax_Syntax.mk_Tm_app uu____2665 uu____2667 in + uu____2660 FStar_Pervasives_Native.None rng) + in let un t0 w norm1 = - let t = FStar_Syntax_Util.unmeta_safe t0 in + let t = FStar_Syntax_Util.unmeta_safe t0 in lazy_unembed printer emb_t_pair_a_b t t_pair_a_b - (fun t1 -> - let uu____2846 = FStar_Syntax_Util.head_and_args' t1 in + (fun t1 -> + let uu____2846 = FStar_Syntax_Util.head_and_args' t1 in match uu____2846 with - | (hd1, args) -> + | (hd1,args) -> let uu____2889 = let uu____2902 = - let uu____2903 = FStar_Syntax_Util.un_uinst hd1 in - uu____2903.FStar_Syntax_Syntax.n in - (uu____2902, args) in + let uu____2903 = FStar_Syntax_Util.un_uinst hd1 in + uu____2903.FStar_Syntax_Syntax.n in + (uu____2902, args) in (match uu____2889 with - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____2921::uu____2922::(a, uu____2924)::(b, uu____2926)::[]) + | (FStar_Syntax_Syntax.Tm_fvar + fv,uu____2921::uu____2922::(a,uu____2924)::(b,uu____2926)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.lid_Mktuple2 -> let uu____2985 = - let uu____2988 = unembed ea a in uu____2988 w norm1 in + let uu____2988 = unembed ea a in uu____2988 w norm1 + in FStar_Util.bind_opt uu____2985 - (fun a1 -> + (fun a1 -> let uu____3002 = - let uu____3005 = unembed eb b in - uu____3005 w norm1 in + let uu____3005 = unembed eb b in + uu____3005 w norm1 in FStar_Util.bind_opt uu____3002 - (fun b1 -> FStar_Pervasives_Native.Some (a1, b1))) + (fun b1 -> + FStar_Pervasives_Native.Some (a1, b1))) | uu____3022 -> (if w then (let uu____3037 = let uu____3043 = let uu____3045 = - FStar_Syntax_Print.term_to_string t0 in + FStar_Syntax_Print.term_to_string t0 in FStar_Util.format1 "Not an embedded pair: %s" - uu____3045 in - (FStar_Errors.Warning_NotEmbedded, uu____3043) in + uu____3045 + in + (FStar_Errors.Warning_NotEmbedded, uu____3043) + in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu____3037) else (); - FStar_Pervasives_Native.None))) in + FStar_Pervasives_Native.None))) + in let uu____3055 = - let uu____3056 = type_of ea in - let uu____3057 = type_of eb in - FStar_Syntax_Syntax.t_tuple2_of uu____3056 uu____3057 in + let uu____3056 = type_of ea in + let uu____3057 = type_of eb in + FStar_Syntax_Syntax.t_tuple2_of uu____3056 uu____3057 in mk_emb_full em un uu____3055 printer emb_t_pair_a_b + let e_either : - 'a 'b . - 'a embedding -> 'b embedding -> ('a, 'b) FStar_Util.either embedding + 'a 'b . 'a embedding -> 'b embedding -> ('a,'b) FStar_Util.either embedding = - fun ea -> - fun eb -> + fun ea -> + fun eb -> let t_sum_a_b = let t_either = - FStar_Syntax_Util.fvar_const FStar_Parser_Const.either_lid in + FStar_Syntax_Util.fvar_const FStar_Parser_Const.either_lid in let uu____3101 = let uu____3106 = - let uu____3107 = FStar_Syntax_Syntax.as_arg ea.typ in + let uu____3107 = FStar_Syntax_Syntax.as_arg ea.typ in let uu____3116 = - let uu____3127 = FStar_Syntax_Syntax.as_arg eb.typ in - [uu____3127] in - uu____3107 :: uu____3116 in - FStar_Syntax_Syntax.mk_Tm_app t_either uu____3106 in - uu____3101 FStar_Pervasives_Native.None FStar_Range.dummyRange in + let uu____3127 = FStar_Syntax_Syntax.as_arg eb.typ in + [uu____3127] in + uu____3107 :: uu____3116 in + FStar_Syntax_Syntax.mk_Tm_app t_either uu____3106 in + uu____3101 FStar_Pervasives_Native.None FStar_Range.dummyRange in let emb_t_sum_a_b = let uu____3161 = let uu____3169 = FStar_All.pipe_right FStar_Parser_Const.either_lid - FStar_Ident.string_of_lid in - (uu____3169, [ea.emb_typ; eb.emb_typ]) in - FStar_Syntax_Syntax.ET_app uu____3161 in + FStar_Ident.string_of_lid + in + (uu____3169, [ea.emb_typ; eb.emb_typ]) in + FStar_Syntax_Syntax.ET_app uu____3161 in let printer s = match s with | FStar_Util.Inl a -> - let uu____3192 = ea.print a in + let uu____3192 = ea.print a in FStar_Util.format1 "Inl %s" uu____3192 | FStar_Util.Inr b -> - let uu____3196 = eb.print b in - FStar_Util.format1 "Inr %s" uu____3196 in + let uu____3196 = eb.print b in + FStar_Util.format1 "Inr %s" uu____3196 + in let em s rng topt norm1 = lazy_embed printer emb_t_sum_a_b rng t_sum_a_b s (match s with | FStar_Util.Inl a -> - (fun uu____3242 -> + (fun uu____3242 -> let shadow_a = map_shadow topt - (fun t -> - let v1 = FStar_Ident.mk_ident ("v", rng) in + (fun t -> + let v1 = FStar_Ident.mk_ident ("v", rng) in let some_v = FStar_Syntax_Util.mk_field_projector_name_from_ident - FStar_Parser_Const.inl_lid v1 in + FStar_Parser_Const.inl_lid v1 + in let some_v_tm = let uu____3255 = FStar_Syntax_Syntax.lid_as_fv some_v FStar_Syntax_Syntax.delta_equational - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____3255 in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____3255 in let uu____3256 = let uu____3261 = FStar_Syntax_Syntax.mk_Tm_uinst some_v_tm - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let uu____3262 = let uu____3263 = - let uu____3272 = type_of ea in - FStar_Syntax_Syntax.iarg uu____3272 in + let uu____3272 = type_of ea in + FStar_Syntax_Syntax.iarg uu____3272 in let uu____3273 = let uu____3284 = - let uu____3293 = type_of eb in - FStar_Syntax_Syntax.iarg uu____3293 in + let uu____3293 = type_of eb in + FStar_Syntax_Syntax.iarg uu____3293 in let uu____3294 = let uu____3305 = - FStar_Syntax_Syntax.as_arg t in - [uu____3305] in - uu____3284 :: uu____3294 in - uu____3263 :: uu____3273 in + FStar_Syntax_Syntax.as_arg t in + [uu____3305] in + uu____3284 :: uu____3294 in + uu____3263 :: uu____3273 in FStar_Syntax_Syntax.mk_Tm_app uu____3261 - uu____3262 in - uu____3256 FStar_Pervasives_Native.None rng) in + uu____3262 + in + uu____3256 FStar_Pervasives_Native.None rng) + in let uu____3346 = let uu____3351 = let uu____3352 = FStar_Syntax_Syntax.tdataconstr - FStar_Parser_Const.inl_lid in + FStar_Parser_Const.inl_lid + in FStar_Syntax_Syntax.mk_Tm_uinst uu____3352 [FStar_Syntax_Syntax.U_zero; - FStar_Syntax_Syntax.U_zero] in + FStar_Syntax_Syntax.U_zero] + in let uu____3353 = let uu____3354 = - let uu____3363 = type_of ea in - FStar_Syntax_Syntax.iarg uu____3363 in + let uu____3363 = type_of ea in + FStar_Syntax_Syntax.iarg uu____3363 in let uu____3364 = let uu____3375 = - let uu____3384 = type_of eb in - FStar_Syntax_Syntax.iarg uu____3384 in + let uu____3384 = type_of eb in + FStar_Syntax_Syntax.iarg uu____3384 in let uu____3385 = let uu____3396 = let uu____3405 = - let uu____3406 = embed ea a in - uu____3406 rng shadow_a norm1 in - FStar_Syntax_Syntax.as_arg uu____3405 in - [uu____3396] in - uu____3375 :: uu____3385 in - uu____3354 :: uu____3364 in - FStar_Syntax_Syntax.mk_Tm_app uu____3351 uu____3353 in + let uu____3406 = embed ea a in + uu____3406 rng shadow_a norm1 in + FStar_Syntax_Syntax.as_arg uu____3405 in + [uu____3396] in + uu____3375 :: uu____3385 in + uu____3354 :: uu____3364 in + FStar_Syntax_Syntax.mk_Tm_app uu____3351 uu____3353 in uu____3346 FStar_Pervasives_Native.None rng) | FStar_Util.Inr b -> - (fun uu____3446 -> + (fun uu____3446 -> let shadow_b = map_shadow topt - (fun t -> - let v1 = FStar_Ident.mk_ident ("v", rng) in + (fun t -> + let v1 = FStar_Ident.mk_ident ("v", rng) in let some_v = FStar_Syntax_Util.mk_field_projector_name_from_ident - FStar_Parser_Const.inr_lid v1 in + FStar_Parser_Const.inr_lid v1 + in let some_v_tm = let uu____3459 = FStar_Syntax_Syntax.lid_as_fv some_v FStar_Syntax_Syntax.delta_equational - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____3459 in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____3459 in let uu____3460 = let uu____3465 = FStar_Syntax_Syntax.mk_Tm_uinst some_v_tm - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let uu____3466 = let uu____3467 = - let uu____3476 = type_of ea in - FStar_Syntax_Syntax.iarg uu____3476 in + let uu____3476 = type_of ea in + FStar_Syntax_Syntax.iarg uu____3476 in let uu____3477 = let uu____3488 = - let uu____3497 = type_of eb in - FStar_Syntax_Syntax.iarg uu____3497 in + let uu____3497 = type_of eb in + FStar_Syntax_Syntax.iarg uu____3497 in let uu____3498 = let uu____3509 = - FStar_Syntax_Syntax.as_arg t in - [uu____3509] in - uu____3488 :: uu____3498 in - uu____3467 :: uu____3477 in + FStar_Syntax_Syntax.as_arg t in + [uu____3509] in + uu____3488 :: uu____3498 in + uu____3467 :: uu____3477 in FStar_Syntax_Syntax.mk_Tm_app uu____3465 - uu____3466 in - uu____3460 FStar_Pervasives_Native.None rng) in + uu____3466 + in + uu____3460 FStar_Pervasives_Native.None rng) + in let uu____3550 = let uu____3555 = let uu____3556 = FStar_Syntax_Syntax.tdataconstr - FStar_Parser_Const.inr_lid in + FStar_Parser_Const.inr_lid + in FStar_Syntax_Syntax.mk_Tm_uinst uu____3556 [FStar_Syntax_Syntax.U_zero; - FStar_Syntax_Syntax.U_zero] in + FStar_Syntax_Syntax.U_zero] + in let uu____3557 = let uu____3558 = - let uu____3567 = type_of ea in - FStar_Syntax_Syntax.iarg uu____3567 in + let uu____3567 = type_of ea in + FStar_Syntax_Syntax.iarg uu____3567 in let uu____3568 = let uu____3579 = - let uu____3588 = type_of eb in - FStar_Syntax_Syntax.iarg uu____3588 in + let uu____3588 = type_of eb in + FStar_Syntax_Syntax.iarg uu____3588 in let uu____3589 = let uu____3600 = let uu____3609 = - let uu____3610 = embed eb b in - uu____3610 rng shadow_b norm1 in - FStar_Syntax_Syntax.as_arg uu____3609 in - [uu____3600] in - uu____3579 :: uu____3589 in - uu____3558 :: uu____3568 in - FStar_Syntax_Syntax.mk_Tm_app uu____3555 uu____3557 in - uu____3550 FStar_Pervasives_Native.None rng)) in + let uu____3610 = embed eb b in + uu____3610 rng shadow_b norm1 in + FStar_Syntax_Syntax.as_arg uu____3609 in + [uu____3600] in + uu____3579 :: uu____3589 in + uu____3558 :: uu____3568 in + FStar_Syntax_Syntax.mk_Tm_app uu____3555 uu____3557 in + uu____3550 FStar_Pervasives_Native.None rng)) + in let un t0 w norm1 = - let t = FStar_Syntax_Util.unmeta_safe t0 in + let t = FStar_Syntax_Util.unmeta_safe t0 in lazy_unembed printer emb_t_sum_a_b t t_sum_a_b - (fun t1 -> - let uu____3698 = FStar_Syntax_Util.head_and_args' t1 in + (fun t1 -> + let uu____3698 = FStar_Syntax_Util.head_and_args' t1 in match uu____3698 with - | (hd1, args) -> + | (hd1,args) -> let uu____3741 = let uu____3756 = - let uu____3757 = FStar_Syntax_Util.un_uinst hd1 in - uu____3757.FStar_Syntax_Syntax.n in - (uu____3756, args) in + let uu____3757 = FStar_Syntax_Util.un_uinst hd1 in + uu____3757.FStar_Syntax_Syntax.n in + (uu____3756, args) in (match uu____3741 with - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____3777::uu____3778::(a, uu____3780)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,uu____3777::uu____3778::(a,uu____3780)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.inl_lid -> let uu____3847 = - let uu____3850 = unembed ea a in uu____3850 w norm1 in + let uu____3850 = unembed ea a in uu____3850 w norm1 + in FStar_Util.bind_opt uu____3847 - (fun a1 -> + (fun a1 -> FStar_Pervasives_Native.Some (FStar_Util.Inl a1)) - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____3868::uu____3869::(b, uu____3871)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,uu____3868::uu____3869::(b,uu____3871)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.inr_lid -> let uu____3938 = - let uu____3941 = unembed eb b in uu____3941 w norm1 in + let uu____3941 = unembed eb b in uu____3941 w norm1 + in FStar_Util.bind_opt uu____3938 - (fun b1 -> + (fun b1 -> FStar_Pervasives_Native.Some (FStar_Util.Inr b1)) | uu____3958 -> (if w @@ -971,157 +1072,175 @@ let e_either : (let uu____3975 = let uu____3981 = let uu____3983 = - FStar_Syntax_Print.term_to_string t0 in + FStar_Syntax_Print.term_to_string t0 in FStar_Util.format1 "Not an embedded sum: %s" - uu____3983 in - (FStar_Errors.Warning_NotEmbedded, uu____3981) in + uu____3983 + in + (FStar_Errors.Warning_NotEmbedded, uu____3981) + in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu____3975) else (); - FStar_Pervasives_Native.None))) in + FStar_Pervasives_Native.None))) + in let uu____3993 = - let uu____3994 = type_of ea in - let uu____3995 = type_of eb in - FStar_Syntax_Syntax.t_either_of uu____3994 uu____3995 in + let uu____3994 = type_of ea in + let uu____3995 = type_of eb in + FStar_Syntax_Syntax.t_either_of uu____3994 uu____3995 in mk_emb_full em un uu____3993 printer emb_t_sum_a_b + let e_list : 'a . 'a embedding -> 'a Prims.list embedding = - fun ea -> + fun ea -> let t_list_a = - let t_list = FStar_Syntax_Util.fvar_const FStar_Parser_Const.list_lid in + let t_list = FStar_Syntax_Util.fvar_const FStar_Parser_Const.list_lid + in let uu____4023 = let uu____4028 = - let uu____4029 = FStar_Syntax_Syntax.as_arg ea.typ in [uu____4029] in - FStar_Syntax_Syntax.mk_Tm_app t_list uu____4028 in - uu____4023 FStar_Pervasives_Native.None FStar_Range.dummyRange in + let uu____4029 = FStar_Syntax_Syntax.as_arg ea.typ in [uu____4029] + in + FStar_Syntax_Syntax.mk_Tm_app t_list uu____4028 in + uu____4023 FStar_Pervasives_Native.None FStar_Range.dummyRange in let emb_t_list_a = let uu____4055 = let uu____4063 = FStar_All.pipe_right FStar_Parser_Const.list_lid - FStar_Ident.string_of_lid in - (uu____4063, [ea.emb_typ]) in - FStar_Syntax_Syntax.ET_app uu____4055 in + FStar_Ident.string_of_lid + in + (uu____4063, [ea.emb_typ]) in + FStar_Syntax_Syntax.ET_app uu____4055 in let printer l = let uu____4080 = let uu____4082 = - let uu____4084 = FStar_List.map ea.print l in - FStar_All.pipe_right uu____4084 (FStar_String.concat "; ") in - Prims.op_Hat uu____4082 "]" in - Prims.op_Hat "[" uu____4080 in + let uu____4084 = FStar_List.map ea.print l in + FStar_All.pipe_right uu____4084 (FStar_String.concat "; ") in + Prims.op_Hat uu____4082 "]" in + Prims.op_Hat "[" uu____4080 in let rec em l rng shadow_l norm1 = lazy_embed printer emb_t_list_a rng t_list_a l - (fun uu____4128 -> + (fun uu____4128 -> let t = - let uu____4130 = type_of ea in - FStar_Syntax_Syntax.iarg uu____4130 in + let uu____4130 = type_of ea in + FStar_Syntax_Syntax.iarg uu____4130 in match l with | [] -> let uu____4131 = let uu____4136 = let uu____4137 = FStar_Syntax_Syntax.tdataconstr - FStar_Parser_Const.nil_lid in + FStar_Parser_Const.nil_lid + in FStar_Syntax_Syntax.mk_Tm_uinst uu____4137 - [FStar_Syntax_Syntax.U_zero] in - FStar_Syntax_Syntax.mk_Tm_app uu____4136 [t] in + [FStar_Syntax_Syntax.U_zero] + in + FStar_Syntax_Syntax.mk_Tm_app uu____4136 [t] in uu____4131 FStar_Pervasives_Native.None rng | hd1::tl1 -> let cons1 = let uu____4159 = FStar_Syntax_Syntax.tdataconstr - FStar_Parser_Const.cons_lid in + FStar_Parser_Const.cons_lid + in FStar_Syntax_Syntax.mk_Tm_uinst uu____4159 - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let proj f cons_tm = - let fid = FStar_Ident.mk_ident (f, rng) in + let fid = FStar_Ident.mk_ident (f, rng) in let proj = FStar_Syntax_Util.mk_field_projector_name_from_ident - FStar_Parser_Const.cons_lid fid in + FStar_Parser_Const.cons_lid fid + in let proj_tm = let uu____4179 = FStar_Syntax_Syntax.lid_as_fv proj FStar_Syntax_Syntax.delta_equational - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____4179 in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____4179 in let uu____4180 = let uu____4185 = FStar_Syntax_Syntax.mk_Tm_uinst proj_tm - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let uu____4186 = let uu____4187 = - let uu____4196 = type_of ea in - FStar_Syntax_Syntax.iarg uu____4196 in + let uu____4196 = type_of ea in + FStar_Syntax_Syntax.iarg uu____4196 in let uu____4197 = - let uu____4208 = FStar_Syntax_Syntax.as_arg cons_tm in - [uu____4208] in - uu____4187 :: uu____4197 in - FStar_Syntax_Syntax.mk_Tm_app uu____4185 uu____4186 in - uu____4180 FStar_Pervasives_Native.None rng in - let shadow_hd = map_shadow shadow_l (proj "hd") in - let shadow_tl = map_shadow shadow_l (proj "tl") in + let uu____4208 = FStar_Syntax_Syntax.as_arg cons_tm + in + [uu____4208] in + uu____4187 :: uu____4197 in + FStar_Syntax_Syntax.mk_Tm_app uu____4185 uu____4186 in + uu____4180 FStar_Pervasives_Native.None rng in + let shadow_hd = map_shadow shadow_l (proj "hd") in + let shadow_tl = map_shadow shadow_l (proj "tl") in let uu____4245 = let uu____4250 = let uu____4251 = let uu____4262 = let uu____4271 = - let uu____4272 = embed ea hd1 in - uu____4272 rng shadow_hd norm1 in - FStar_Syntax_Syntax.as_arg uu____4271 in + let uu____4272 = embed ea hd1 in + uu____4272 rng shadow_hd norm1 in + FStar_Syntax_Syntax.as_arg uu____4271 in let uu____4279 = let uu____4290 = - let uu____4299 = em tl1 rng shadow_tl norm1 in - FStar_Syntax_Syntax.as_arg uu____4299 in - [uu____4290] in - uu____4262 :: uu____4279 in - t :: uu____4251 in - FStar_Syntax_Syntax.mk_Tm_app cons1 uu____4250 in - uu____4245 FStar_Pervasives_Native.None rng) in + let uu____4299 = em tl1 rng shadow_tl norm1 in + FStar_Syntax_Syntax.as_arg uu____4299 in + [uu____4290] in + uu____4262 :: uu____4279 in + t :: uu____4251 in + FStar_Syntax_Syntax.mk_Tm_app cons1 uu____4250 in + uu____4245 FStar_Pervasives_Native.None rng) + in let rec un t0 w norm1 = - let t = FStar_Syntax_Util.unmeta_safe t0 in + let t = FStar_Syntax_Util.unmeta_safe t0 in lazy_unembed printer emb_t_list_a t t_list_a - (fun t1 -> - let uu____4371 = FStar_Syntax_Util.head_and_args' t1 in + (fun t1 -> + let uu____4371 = FStar_Syntax_Util.head_and_args' t1 in match uu____4371 with - | (hd1, args) -> + | (hd1,args) -> let uu____4412 = let uu____4425 = - let uu____4426 = FStar_Syntax_Util.un_uinst hd1 in - uu____4426.FStar_Syntax_Syntax.n in - (uu____4425, args) in + let uu____4426 = FStar_Syntax_Util.un_uinst hd1 in + uu____4426.FStar_Syntax_Syntax.n in + (uu____4425, args) in (match uu____4412 with - | (FStar_Syntax_Syntax.Tm_fvar fv, uu____4442) when + | (FStar_Syntax_Syntax.Tm_fvar fv,uu____4442) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.nil_lid -> FStar_Pervasives_Native.Some [] - | (FStar_Syntax_Syntax.Tm_fvar fv, - (uu____4462, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____4463))::(hd2, - FStar_Pervasives_Native.None):: - (tl1, FStar_Pervasives_Native.None)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(uu____4462,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit uu____4463))::(hd2,FStar_Pervasives_Native.None + ):: + (tl1,FStar_Pervasives_Native.None )::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.cons_lid -> let uu____4505 = - let uu____4508 = unembed ea hd2 in uu____4508 w norm1 in + let uu____4508 = unembed ea hd2 in uu____4508 w norm1 + in FStar_Util.bind_opt uu____4505 - (fun hd3 -> - let uu____4520 = un tl1 w norm1 in + (fun hd3 -> + let uu____4520 = un tl1 w norm1 in FStar_Util.bind_opt uu____4520 - (fun tl2 -> + (fun tl2 -> FStar_Pervasives_Native.Some (hd3 :: tl2))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (hd2, FStar_Pervasives_Native.None)::(tl1, - FStar_Pervasives_Native.None)::[]) + | (FStar_Syntax_Syntax.Tm_fvar + fv,(hd2,FStar_Pervasives_Native.None )::(tl1,FStar_Pervasives_Native.None + )::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.cons_lid -> let uu____4568 = - let uu____4571 = unembed ea hd2 in uu____4571 w norm1 in + let uu____4571 = unembed ea hd2 in uu____4571 w norm1 + in FStar_Util.bind_opt uu____4568 - (fun hd3 -> - let uu____4583 = un tl1 w norm1 in + (fun hd3 -> + let uu____4583 = un tl1 w norm1 in FStar_Util.bind_opt uu____4583 - (fun tl2 -> + (fun tl2 -> FStar_Pervasives_Native.Some (hd3 :: tl2))) | uu____4598 -> (if w @@ -1129,18 +1248,22 @@ let e_list : 'a . 'a embedding -> 'a Prims.list embedding = (let uu____4613 = let uu____4619 = let uu____4621 = - FStar_Syntax_Print.term_to_string t0 in + FStar_Syntax_Print.term_to_string t0 in FStar_Util.format1 "Not an embedded list: %s" - uu____4621 in - (FStar_Errors.Warning_NotEmbedded, uu____4619) in + uu____4621 + in + (FStar_Errors.Warning_NotEmbedded, uu____4619) in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu____4613) else (); - FStar_Pervasives_Native.None))) in + FStar_Pervasives_Native.None))) + in let uu____4629 = - let uu____4630 = type_of ea in FStar_Syntax_Syntax.t_list_of uu____4630 in + let uu____4630 = type_of ea in + FStar_Syntax_Syntax.t_list_of uu____4630 in mk_emb_full em un uu____4629 printer emb_t_list_a -let (e_string_list : Prims.string Prims.list embedding) = e_list e_string + +let (e_string_list : Prims.string Prims.list embedding) = e_list e_string type norm_step = | Simpl | Weak @@ -1155,100 +1278,118 @@ type norm_step = | UnfoldAttr of Prims.string Prims.list | NBE let (uu___is_Simpl : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Simpl -> true | uu____4673 -> false + fun projectee -> + match projectee with | Simpl -> true | uu____4673 -> false + let (uu___is_Weak : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Weak -> true | uu____4684 -> false + fun projectee -> + match projectee with | Weak -> true | uu____4684 -> false + let (uu___is_HNF : norm_step -> Prims.bool) = - fun projectee -> match projectee with | HNF -> true | uu____4695 -> false + fun projectee -> match projectee with | HNF -> true | uu____4695 -> false let (uu___is_Primops : norm_step -> Prims.bool) = - fun projectee -> - match projectee with | Primops -> true | uu____4706 -> false + fun projectee -> + match projectee with | Primops -> true | uu____4706 -> false + let (uu___is_Delta : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Delta -> true | uu____4717 -> false + fun projectee -> + match projectee with | Delta -> true | uu____4717 -> false + let (uu___is_Zeta : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Zeta -> true | uu____4728 -> false + fun projectee -> + match projectee with | Zeta -> true | uu____4728 -> false + let (uu___is_Iota : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Iota -> true | uu____4739 -> false + fun projectee -> + match projectee with | Iota -> true | uu____4739 -> false + let (uu___is_Reify : norm_step -> Prims.bool) = - fun projectee -> match projectee with | Reify -> true | uu____4750 -> false + fun projectee -> + match projectee with | Reify -> true | uu____4750 -> false + let (uu___is_UnfoldOnly : norm_step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldOnly _0 -> true | uu____4765 -> false + let (__proj__UnfoldOnly__item___0 : norm_step -> Prims.string Prims.list) = - fun projectee -> match projectee with | UnfoldOnly _0 -> _0 + fun projectee -> match projectee with | UnfoldOnly _0 -> _0 let (uu___is_UnfoldFully : norm_step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldFully _0 -> true | uu____4796 -> false + let (__proj__UnfoldFully__item___0 : norm_step -> Prims.string Prims.list) = - fun projectee -> match projectee with | UnfoldFully _0 -> _0 + fun projectee -> match projectee with | UnfoldFully _0 -> _0 let (uu___is_UnfoldAttr : norm_step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldAttr _0 -> true | uu____4827 -> false + let (__proj__UnfoldAttr__item___0 : norm_step -> Prims.string Prims.list) = - fun projectee -> match projectee with | UnfoldAttr _0 -> _0 + fun projectee -> match projectee with | UnfoldAttr _0 -> _0 let (uu___is_NBE : norm_step -> Prims.bool) = - fun projectee -> match projectee with | NBE -> true | uu____4854 -> false + fun projectee -> match projectee with | NBE -> true | uu____4854 -> false let (steps_Simpl : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_simpl + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_simpl let (steps_Weak : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_weak + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_weak let (steps_HNF : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_hnf + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_hnf let (steps_Primops : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_primops + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_primops let (steps_Delta : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_delta + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_delta let (steps_Zeta : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_zeta + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_zeta let (steps_Iota : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_iota + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_iota let (steps_Reify : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_reify + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_reify let (steps_UnfoldOnly : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_unfoldonly + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_unfoldonly let (steps_UnfoldFully : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_unfoldonly + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_unfoldonly let (steps_UnfoldAttr : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_unfoldattr + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_unfoldattr let (steps_NBE : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_nbe + FStar_Syntax_Syntax.tdataconstr FStar_Parser_Const.steps_nbe let (e_norm_step : norm_step embedding) = let t_norm_step1 = let uu____4872 = - FStar_Ident.lid_of_str "FStar.Syntax.Embeddings.norm_step" in - FStar_Syntax_Util.fvar_const uu____4872 in + FStar_Ident.lid_of_str "FStar.Syntax.Embeddings.norm_step" in + FStar_Syntax_Util.fvar_const uu____4872 in let emb_t_norm_step = let uu____4875 = let uu____4883 = FStar_All.pipe_right FStar_Parser_Const.norm_step_lid - FStar_Ident.string_of_lid in - (uu____4883, []) in - FStar_Syntax_Syntax.ET_app uu____4875 in - let printer uu____4895 = "norm_step" in + FStar_Ident.string_of_lid + in + (uu____4883, []) in + FStar_Syntax_Syntax.ET_app uu____4875 in + let printer uu____4895 = "norm_step" in let em n1 rng _topt norm1 = lazy_embed printer emb_t_norm_step rng t_norm_step1 n1 - (fun uu____4921 -> + (fun uu____4921 -> match n1 with - | Simpl -> steps_Simpl - | Weak -> steps_Weak - | HNF -> steps_HNF - | Primops -> steps_Primops - | Delta -> steps_Delta - | Zeta -> steps_Zeta - | Iota -> steps_Iota - | NBE -> steps_NBE - | Reify -> steps_Reify + | Simpl -> steps_Simpl + | Weak -> steps_Weak + | HNF -> steps_HNF + | Primops -> steps_Primops + | Delta -> steps_Delta + | Zeta -> steps_Zeta + | Iota -> steps_Iota + | NBE -> steps_NBE + | Reify -> steps_Reify | UnfoldOnly l -> let uu____4926 = let uu____4931 = let uu____4932 = let uu____4941 = let uu____4942 = - let uu____4949 = e_list e_string in embed uu____4949 l in - uu____4942 rng FStar_Pervasives_Native.None norm1 in - FStar_Syntax_Syntax.as_arg uu____4941 in - [uu____4932] in - FStar_Syntax_Syntax.mk_Tm_app steps_UnfoldOnly uu____4931 in + let uu____4949 = e_list e_string in + embed uu____4949 l in + uu____4942 rng FStar_Pervasives_Native.None norm1 in + FStar_Syntax_Syntax.as_arg uu____4941 in + [uu____4932] in + FStar_Syntax_Syntax.mk_Tm_app steps_UnfoldOnly uu____4931 in uu____4926 FStar_Pervasives_Native.None rng | UnfoldFully l -> let uu____4981 = @@ -1256,11 +1397,12 @@ let (e_norm_step : norm_step embedding) = let uu____4987 = let uu____4996 = let uu____4997 = - let uu____5004 = e_list e_string in embed uu____5004 l in - uu____4997 rng FStar_Pervasives_Native.None norm1 in - FStar_Syntax_Syntax.as_arg uu____4996 in - [uu____4987] in - FStar_Syntax_Syntax.mk_Tm_app steps_UnfoldFully uu____4986 in + let uu____5004 = e_list e_string in + embed uu____5004 l in + uu____4997 rng FStar_Pervasives_Native.None norm1 in + FStar_Syntax_Syntax.as_arg uu____4996 in + [uu____4987] in + FStar_Syntax_Syntax.mk_Tm_app steps_UnfoldFully uu____4986 in uu____4981 FStar_Pervasives_Native.None rng | UnfoldAttr l -> let uu____5036 = @@ -1268,102 +1410,104 @@ let (e_norm_step : norm_step embedding) = let uu____5042 = let uu____5051 = let uu____5052 = - let uu____5059 = e_list e_string in embed uu____5059 l in - uu____5052 rng FStar_Pervasives_Native.None norm1 in - FStar_Syntax_Syntax.as_arg uu____5051 in - [uu____5042] in - FStar_Syntax_Syntax.mk_Tm_app steps_UnfoldAttr uu____5041 in - uu____5036 FStar_Pervasives_Native.None rng) in + let uu____5059 = e_list e_string in + embed uu____5059 l in + uu____5052 rng FStar_Pervasives_Native.None norm1 in + FStar_Syntax_Syntax.as_arg uu____5051 in + [uu____5042] in + FStar_Syntax_Syntax.mk_Tm_app steps_UnfoldAttr uu____5041 in + uu____5036 FStar_Pervasives_Native.None rng) + in let un t0 w norm1 = - let t = FStar_Syntax_Util.unmeta_safe t0 in + let t = FStar_Syntax_Util.unmeta_safe t0 in lazy_unembed printer emb_t_norm_step t t_norm_step1 - (fun t1 -> - let uu____5119 = FStar_Syntax_Util.head_and_args t1 in + (fun t1 -> + let uu____5119 = FStar_Syntax_Util.head_and_args t1 in match uu____5119 with - | (hd1, args) -> + | (hd1,args) -> let uu____5164 = let uu____5179 = - let uu____5180 = FStar_Syntax_Util.un_uinst hd1 in - uu____5180.FStar_Syntax_Syntax.n in - (uu____5179, args) in + let uu____5180 = FStar_Syntax_Util.un_uinst hd1 in + uu____5180.FStar_Syntax_Syntax.n in + (uu____5179, args) in (match uu____5164 with - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_simpl -> FStar_Pervasives_Native.Some Simpl - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_weak -> FStar_Pervasives_Native.Some Weak - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_hnf -> FStar_Pervasives_Native.Some HNF - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_primops -> FStar_Pervasives_Native.Some Primops - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_delta -> FStar_Pervasives_Native.Some Delta - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_zeta -> FStar_Pervasives_Native.Some Zeta - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_iota -> FStar_Pervasives_Native.Some Iota - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_nbe -> FStar_Pervasives_Native.Some NBE - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_reify -> FStar_Pervasives_Native.Some Reify - | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu____5368)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(l,uu____5368)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldonly -> let uu____5403 = let uu____5409 = - let uu____5419 = e_list e_string in - unembed uu____5419 l in - uu____5409 w norm1 in + let uu____5419 = e_list e_string in + unembed uu____5419 l in + uu____5409 w norm1 in FStar_Util.bind_opt uu____5403 - (fun ss -> + (fun ss -> FStar_All.pipe_left - (fun _5439 -> FStar_Pervasives_Native.Some _5439) + (fun _5439 -> FStar_Pervasives_Native.Some _5439) (UnfoldOnly ss)) - | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu____5442)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(l,uu____5442)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldfully -> let uu____5477 = let uu____5483 = - let uu____5493 = e_list e_string in - unembed uu____5493 l in - uu____5483 w norm1 in + let uu____5493 = e_list e_string in + unembed uu____5493 l in + uu____5483 w norm1 in FStar_Util.bind_opt uu____5477 - (fun ss -> + (fun ss -> FStar_All.pipe_left - (fun _5513 -> FStar_Pervasives_Native.Some _5513) + (fun _5513 -> FStar_Pervasives_Native.Some _5513) (UnfoldFully ss)) - | (FStar_Syntax_Syntax.Tm_fvar fv, (l, uu____5516)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(l,uu____5516)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldattr -> let uu____5551 = let uu____5557 = - let uu____5567 = e_list e_string in - unembed uu____5567 l in - uu____5557 w norm1 in + let uu____5567 = e_list e_string in + unembed uu____5567 l in + uu____5557 w norm1 in FStar_Util.bind_opt uu____5551 - (fun ss -> + (fun ss -> FStar_All.pipe_left - (fun _5587 -> FStar_Pervasives_Native.Some _5587) + (fun _5587 -> FStar_Pervasives_Native.Some _5587) (UnfoldAttr ss)) | uu____5588 -> (if w @@ -1371,22 +1515,25 @@ let (e_norm_step : norm_step embedding) = (let uu____5605 = let uu____5611 = let uu____5613 = - FStar_Syntax_Print.term_to_string t0 in + FStar_Syntax_Print.term_to_string t0 in FStar_Util.format1 "Not an embedded norm_step: %s" - uu____5613 in - (FStar_Errors.Warning_NotEmbedded, uu____5611) in + uu____5613 + in + (FStar_Errors.Warning_NotEmbedded, uu____5611) in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu____5605) else (); - FStar_Pervasives_Native.None))) in - mk_emb_full em un FStar_Syntax_Syntax.t_norm_step printer emb_t_norm_step + FStar_Pervasives_Native.None))) + in + mk_emb_full em un FStar_Syntax_Syntax.t_norm_step printer emb_t_norm_step let (e_range : FStar_Range.range embedding) = let em r rng _shadow _norm = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range r)) - FStar_Pervasives_Native.None rng in + FStar_Pervasives_Native.None rng + in let un t0 w _norm = - let t = FStar_Syntax_Util.unmeta_safe t0 in + let t = FStar_Syntax_Util.unmeta_safe t0 in match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range r) -> FStar_Pervasives_Native.Some r @@ -1395,118 +1542,130 @@ let (e_range : FStar_Range.range embedding) = then (let uu____5676 = let uu____5682 = - let uu____5684 = FStar_Syntax_Print.term_to_string t0 in - FStar_Util.format1 "Not an embedded range: %s" uu____5684 in - (FStar_Errors.Warning_NotEmbedded, uu____5682) in + let uu____5684 = FStar_Syntax_Print.term_to_string t0 in + FStar_Util.format1 "Not an embedded range: %s" uu____5684 in + (FStar_Errors.Warning_NotEmbedded, uu____5682) in FStar_Errors.log_issue t0.FStar_Syntax_Syntax.pos uu____5676) else (); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in let uu____5690 = let uu____5691 = let uu____5699 = FStar_All.pipe_right FStar_Parser_Const.range_lid - FStar_Ident.string_of_lid in - (uu____5699, []) in - FStar_Syntax_Syntax.ET_app uu____5691 in + FStar_Ident.string_of_lid + in + (uu____5699, []) in + FStar_Syntax_Syntax.ET_app uu____5691 in mk_emb_full em un FStar_Syntax_Syntax.t_range FStar_Range.string_of_range uu____5690 + let or_else : 'a . 'a FStar_Pervasives_Native.option -> (unit -> 'a) -> 'a = - fun f -> - fun g -> + fun f -> + fun g -> match f with | FStar_Pervasives_Native.Some x -> x - | FStar_Pervasives_Native.None -> g () + | FStar_Pervasives_Native.None -> g () + let e_arrow : 'a 'b . 'a embedding -> 'b embedding -> ('a -> 'b) embedding = - fun ea -> - fun eb -> + fun ea -> + fun eb -> let t_arrow = let uu____5770 = let uu____5777 = let uu____5778 = let uu____5793 = let uu____5802 = - let uu____5809 = FStar_Syntax_Syntax.null_bv ea.typ in - (uu____5809, FStar_Pervasives_Native.None) in - [uu____5802] in - let uu____5824 = FStar_Syntax_Syntax.mk_Total eb.typ in - (uu____5793, uu____5824) in - FStar_Syntax_Syntax.Tm_arrow uu____5778 in - FStar_Syntax_Syntax.mk uu____5777 in - uu____5770 FStar_Pervasives_Native.None FStar_Range.dummyRange in + let uu____5809 = FStar_Syntax_Syntax.null_bv ea.typ in + (uu____5809, FStar_Pervasives_Native.None) in + [uu____5802] in + let uu____5824 = FStar_Syntax_Syntax.mk_Total eb.typ in + (uu____5793, uu____5824) in + FStar_Syntax_Syntax.Tm_arrow uu____5778 in + FStar_Syntax_Syntax.mk uu____5777 in + uu____5770 FStar_Pervasives_Native.None FStar_Range.dummyRange in let emb_t_arr_a_b = - FStar_Syntax_Syntax.ET_fun ((ea.emb_typ), (eb.emb_typ)) in - let printer f = "" in + FStar_Syntax_Syntax.ET_fun ((ea.emb_typ), (eb.emb_typ)) in + let printer f = "" in let em f rng shadow_f norm1 = - lazy_embed (fun uu____5896 -> "") emb_t_arr_a_b rng t_arrow f - (fun uu____5902 -> - let uu____5903 = force_shadow shadow_f in + lazy_embed (fun uu____5896 -> "") emb_t_arr_a_b rng t_arrow f + (fun uu____5902 -> + let uu____5903 = force_shadow shadow_f in match uu____5903 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Exn.raise Embedding_failure | FStar_Pervasives_Native.Some repr_f -> ((let uu____5908 = - FStar_ST.op_Bang FStar_Options.debug_embedding in + FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____5908 then let uu____5932 = - FStar_Syntax_Print.term_to_string repr_f in - let uu____5934 = FStar_Util.stack_dump () in + FStar_Syntax_Print.term_to_string repr_f in + let uu____5934 = FStar_Util.stack_dump () in FStar_Util.print2 "e_arrow forced back to term using shadow %s; repr=%s\n" uu____5932 uu____5934 else ()); - (let res = norm1 (FStar_Util.Inr repr_f) in + (let res = norm1 (FStar_Util.Inr repr_f) in (let uu____5941 = - FStar_ST.op_Bang FStar_Options.debug_embedding in + FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____5941 then let uu____5965 = - FStar_Syntax_Print.term_to_string repr_f in - let uu____5967 = FStar_Syntax_Print.term_to_string res in - let uu____5969 = FStar_Util.stack_dump () in + FStar_Syntax_Print.term_to_string repr_f in + let uu____5967 = FStar_Syntax_Print.term_to_string res + in + let uu____5969 = FStar_Util.stack_dump () in FStar_Util.print3 "e_arrow forced back to term using shadow %s; repr=%s\n\t%s\n" uu____5965 uu____5967 uu____5969 else ()); - res))) in + res))) + in let un f w norm1 = lazy_unembed printer emb_t_arr_a_b f t_arrow - (fun f1 -> + (fun f1 -> let f_wrapped a = (let uu____6028 = - FStar_ST.op_Bang FStar_Options.debug_embedding in + FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____6028 then - let uu____6052 = FStar_Syntax_Print.term_to_string f1 in - let uu____6054 = FStar_Util.stack_dump () in + let uu____6052 = FStar_Syntax_Print.term_to_string f1 in + let uu____6054 = FStar_Util.stack_dump () in FStar_Util.print2 "Calling back into normalizer for %s\n%s\n" uu____6052 uu____6054 else ()); (let a_tm = - let uu____6060 = embed ea a in + let uu____6060 = embed ea a in uu____6060 f1.FStar_Syntax_Syntax.pos - FStar_Pervasives_Native.None norm1 in + FStar_Pervasives_Native.None norm1 + in let b_tm = let uu____6070 = let uu____6075 = let uu____6076 = let uu____6081 = - let uu____6082 = FStar_Syntax_Syntax.as_arg a_tm in - [uu____6082] in - FStar_Syntax_Syntax.mk_Tm_app f1 uu____6081 in + let uu____6082 = FStar_Syntax_Syntax.as_arg a_tm + in + [uu____6082] in + FStar_Syntax_Syntax.mk_Tm_app f1 uu____6081 in uu____6076 FStar_Pervasives_Native.None - f1.FStar_Syntax_Syntax.pos in - FStar_Util.Inr uu____6075 in - norm1 uu____6070 in + f1.FStar_Syntax_Syntax.pos + in + FStar_Util.Inr uu____6075 in + norm1 uu____6070 in let uu____6107 = - let uu____6110 = unembed eb b_tm in uu____6110 w norm1 in + let uu____6110 = unembed eb b_tm in uu____6110 w norm1 in match uu____6107 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Exn.raise Unembedding_failure - | FStar_Pervasives_Native.Some b -> b) in - FStar_Pervasives_Native.Some f_wrapped) in + | FStar_Pervasives_Native.Some b -> b) + in + FStar_Pervasives_Native.Some f_wrapped) + in mk_emb_full em un t_arrow printer emb_t_arr_a_b + let arrow_as_prim_step_1 : 'a 'b . 'a embedding -> @@ -1518,47 +1677,52 @@ let arrow_as_prim_step_1 : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun f -> - fun n_tvars -> - fun fv_lid1 -> - fun norm1 -> - let rng = FStar_Ident.range_of_lid fv_lid1 in + fun ea -> + fun eb -> + fun f -> + fun n_tvars -> + fun fv_lid1 -> + fun norm1 -> + let rng = FStar_Ident.range_of_lid fv_lid1 in let f_wrapped args = - let uu____6204 = FStar_List.splitAt n_tvars args in + let uu____6204 = FStar_List.splitAt n_tvars args in match uu____6204 with - | (_tvar_args, rest_args) -> - let uu____6281 = FStar_List.hd rest_args in + | (_tvar_args,rest_args) -> + let uu____6281 = FStar_List.hd rest_args in (match uu____6281 with - | (x, uu____6301) -> + | (x,uu____6301) -> let shadow_app = let uu____6315 = FStar_Common.mk_thunk - (fun uu____6322 -> + (fun uu____6322 -> let uu____6323 = let uu____6328 = - norm1 (FStar_Util.Inl fv_lid1) in + norm1 (FStar_Util.Inl fv_lid1) in FStar_Syntax_Syntax.mk_Tm_app uu____6328 - args in - uu____6323 FStar_Pervasives_Native.None rng) in - FStar_Pervasives_Native.Some uu____6315 in + args + in + uu____6323 FStar_Pervasives_Native.None rng) + in + FStar_Pervasives_Native.Some uu____6315 in let uu____6331 = let uu____6334 = - let uu____6337 = unembed ea x in - uu____6337 true norm1 in + let uu____6337 = unembed ea x in + uu____6337 true norm1 in FStar_Util.map_opt uu____6334 - (fun x1 -> + (fun x1 -> let uu____6348 = - let uu____6355 = f x1 in - embed eb uu____6355 in - uu____6348 rng shadow_app norm1) in + let uu____6355 = f x1 in + embed eb uu____6355 in + uu____6348 rng shadow_app norm1) + in (match uu____6331 with | FStar_Pervasives_Native.Some x1 -> FStar_Pervasives_Native.Some x1 - | FStar_Pervasives_Native.None -> - force_shadow shadow_app)) in + | FStar_Pervasives_Native.None -> + force_shadow shadow_app)) + in f_wrapped + let arrow_as_prim_step_2 : 'a 'b 'c . 'a embedding -> @@ -1571,62 +1735,69 @@ let arrow_as_prim_step_2 : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun ec -> - fun f -> - fun n_tvars -> - fun fv_lid1 -> - fun norm1 -> - let rng = FStar_Ident.range_of_lid fv_lid1 in + fun ea -> + fun eb -> + fun ec -> + fun f -> + fun n_tvars -> + fun fv_lid1 -> + fun norm1 -> + let rng = FStar_Ident.range_of_lid fv_lid1 in let f_wrapped args = - let uu____6458 = FStar_List.splitAt n_tvars args in + let uu____6458 = FStar_List.splitAt n_tvars args in match uu____6458 with - | (_tvar_args, rest_args) -> - let uu____6521 = FStar_List.hd rest_args in + | (_tvar_args,rest_args) -> + let uu____6521 = FStar_List.hd rest_args in (match uu____6521 with - | (x, uu____6537) -> + | (x,uu____6537) -> let uu____6542 = - let uu____6549 = FStar_List.tl rest_args in - FStar_List.hd uu____6549 in + let uu____6549 = FStar_List.tl rest_args in + FStar_List.hd uu____6549 in (match uu____6542 with - | (y, uu____6573) -> + | (y,uu____6573) -> let shadow_app = let uu____6583 = FStar_Common.mk_thunk - (fun uu____6590 -> + (fun uu____6590 -> let uu____6591 = let uu____6596 = - norm1 (FStar_Util.Inl fv_lid1) in + norm1 (FStar_Util.Inl fv_lid1) + in FStar_Syntax_Syntax.mk_Tm_app - uu____6596 args in + uu____6596 args + in uu____6591 - FStar_Pervasives_Native.None rng) in - FStar_Pervasives_Native.Some uu____6583 in + FStar_Pervasives_Native.None rng) + in + FStar_Pervasives_Native.Some uu____6583 in let uu____6599 = let uu____6602 = - let uu____6605 = unembed ea x in - uu____6605 true norm1 in + let uu____6605 = unembed ea x in + uu____6605 true norm1 in FStar_Util.bind_opt uu____6602 - (fun x1 -> + (fun x1 -> let uu____6616 = - let uu____6619 = unembed eb y in - uu____6619 true norm1 in + let uu____6619 = unembed eb y in + uu____6619 true norm1 in FStar_Util.bind_opt uu____6616 - (fun y1 -> + (fun y1 -> let uu____6630 = let uu____6631 = - let uu____6638 = f x1 y1 in - embed ec uu____6638 in - uu____6631 rng shadow_app norm1 in + let uu____6638 = f x1 y1 in + embed ec uu____6638 in + uu____6631 rng shadow_app norm1 + in FStar_Pervasives_Native.Some - uu____6630)) in + uu____6630)) + in (match uu____6599 with | FStar_Pervasives_Native.Some x1 -> FStar_Pervasives_Native.Some x1 - | FStar_Pervasives_Native.None -> - force_shadow shadow_app))) in + | FStar_Pervasives_Native.None -> + force_shadow shadow_app))) + in f_wrapped + let arrow_as_prim_step_3 : 'a 'b 'c 'd . 'a embedding -> @@ -1640,90 +1811,102 @@ let arrow_as_prim_step_3 : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun f -> - fun n_tvars -> - fun fv_lid1 -> - fun norm1 -> - let rng = FStar_Ident.range_of_lid fv_lid1 in + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun f -> + fun n_tvars -> + fun fv_lid1 -> + fun norm1 -> + let rng = FStar_Ident.range_of_lid fv_lid1 in let f_wrapped args = - let uu____6760 = FStar_List.splitAt n_tvars args in + let uu____6760 = FStar_List.splitAt n_tvars args in match uu____6760 with - | (_tvar_args, rest_args) -> - let uu____6823 = FStar_List.hd rest_args in + | (_tvar_args,rest_args) -> + let uu____6823 = FStar_List.hd rest_args in (match uu____6823 with - | (x, uu____6839) -> + | (x,uu____6839) -> let uu____6844 = - let uu____6851 = FStar_List.tl rest_args in - FStar_List.hd uu____6851 in + let uu____6851 = FStar_List.tl rest_args in + FStar_List.hd uu____6851 in (match uu____6844 with - | (y, uu____6875) -> + | (y,uu____6875) -> let uu____6880 = let uu____6887 = let uu____6896 = - FStar_List.tl rest_args in - FStar_List.tl uu____6896 in - FStar_List.hd uu____6887 in + FStar_List.tl rest_args in + FStar_List.tl uu____6896 in + FStar_List.hd uu____6887 in (match uu____6880 with - | (z, uu____6926) -> + | (z,uu____6926) -> let shadow_app = let uu____6936 = FStar_Common.mk_thunk - (fun uu____6943 -> + (fun uu____6943 -> let uu____6944 = let uu____6949 = norm1 - (FStar_Util.Inl fv_lid1) in + (FStar_Util.Inl fv_lid1) + in FStar_Syntax_Syntax.mk_Tm_app - uu____6949 args in + uu____6949 args + in uu____6944 FStar_Pervasives_Native.None - rng) in + rng) + in FStar_Pervasives_Native.Some - uu____6936 in + uu____6936 + in let uu____6952 = let uu____6955 = - let uu____6958 = unembed ea x in - uu____6958 true norm1 in + let uu____6958 = unembed ea x in + uu____6958 true norm1 in FStar_Util.bind_opt uu____6955 - (fun x1 -> + (fun x1 -> let uu____6969 = - let uu____6972 = unembed eb y in - uu____6972 true norm1 in + let uu____6972 = unembed eb y + in + uu____6972 true norm1 in FStar_Util.bind_opt uu____6969 - (fun y1 -> + (fun y1 -> let uu____6983 = let uu____6986 = - unembed ec z in - uu____6986 true norm1 in + unembed ec z in + uu____6986 true norm1 + in FStar_Util.bind_opt uu____6983 - (fun z1 -> + (fun z1 -> let uu____6997 = let uu____6998 = let uu____7005 = - f x1 y1 z1 in + f x1 y1 z1 in embed ed - uu____7005 in + uu____7005 + in uu____6998 rng - shadow_app norm1 in + shadow_app norm1 + in FStar_Pervasives_Native.Some - uu____6997))) in + uu____6997))) + in (match uu____6952 with | FStar_Pervasives_Native.Some x1 -> FStar_Pervasives_Native.Some x1 - | FStar_Pervasives_Native.None -> - force_shadow shadow_app)))) in + | FStar_Pervasives_Native.None -> + force_shadow shadow_app)))) + in f_wrapped + let debug_wrap : 'a . Prims.string -> (unit -> 'a) -> 'a = - fun s -> - fun f -> - (let uu____7035 = FStar_ST.op_Bang FStar_Options.debug_embedding in + fun s -> + fun f -> + (let uu____7035 = FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____7035 then FStar_Util.print1 "++++starting %s\n" s else ()); - (let res = f () in - (let uu____7064 = FStar_ST.op_Bang FStar_Options.debug_embedding in + (let res = f () in + (let uu____7064 = FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____7064 then FStar_Util.print1 "------ending %s\n" s else ()); - res) \ No newline at end of file + res) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Syntax_Free.ml b/src/ocaml-output/FStar_Syntax_Free.ml index 260c9c6732d..e7d8cefb1c4 100644 --- a/src/ocaml-output/FStar_Syntax_Free.ml +++ b/src/ocaml-output/FStar_Syntax_Free.ml @@ -3,29 +3,32 @@ type free_vars_and_fvars = (FStar_Syntax_Syntax.free_vars * FStar_Ident.lident FStar_Util.set) let (no_free_vars : (FStar_Syntax_Syntax.free_vars * FStar_Ident.lident FStar_Util.set)) = - let uu____12 = FStar_Syntax_Syntax.new_fv_set () in + let uu____12 = FStar_Syntax_Syntax.new_fv_set () in ({ FStar_Syntax_Syntax.free_names = []; FStar_Syntax_Syntax.free_uvars = []; FStar_Syntax_Syntax.free_univs = []; FStar_Syntax_Syntax.free_univ_names = [] }, uu____12) + let (singleton_fvar : FStar_Syntax_Syntax.fv -> (FStar_Syntax_Syntax.free_vars * FStar_Ident.lident FStar_Util.set)) = - fun fv -> + fun fv -> let uu____29 = - let uu____32 = FStar_Syntax_Syntax.new_fv_set () in + let uu____32 = FStar_Syntax_Syntax.new_fv_set () in FStar_Util.set_add - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v uu____32 in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v uu____32 + in ((FStar_Pervasives_Native.fst no_free_vars), uu____29) + let (singleton_bv : FStar_Syntax_Syntax.bv -> (FStar_Syntax_Syntax.free_vars * FStar_Ident.lident FStar_Util.set)) = - fun x -> - ((let uu___2_54 = FStar_Pervasives_Native.fst no_free_vars in + fun x -> + ((let uu___2_54 = FStar_Pervasives_Native.fst no_free_vars in { FStar_Syntax_Syntax.free_names = [x]; FStar_Syntax_Syntax.free_uvars = @@ -35,12 +38,13 @@ let (singleton_bv : FStar_Syntax_Syntax.free_univ_names = (uu___2_54.FStar_Syntax_Syntax.free_univ_names) }), (FStar_Pervasives_Native.snd no_free_vars)) + let (singleton_uv : FStar_Syntax_Syntax.ctx_uvar -> (FStar_Syntax_Syntax.free_vars * FStar_Ident.lident FStar_Util.set)) = - fun x -> - ((let uu___5_74 = FStar_Pervasives_Native.fst no_free_vars in + fun x -> + ((let uu___5_74 = FStar_Pervasives_Native.fst no_free_vars in { FStar_Syntax_Syntax.free_names = (uu___5_74.FStar_Syntax_Syntax.free_names); @@ -50,12 +54,13 @@ let (singleton_uv : FStar_Syntax_Syntax.free_univ_names = (uu___5_74.FStar_Syntax_Syntax.free_univ_names) }), (FStar_Pervasives_Native.snd no_free_vars)) + let (singleton_univ : FStar_Syntax_Syntax.universe_uvar -> (FStar_Syntax_Syntax.free_vars * FStar_Ident.lident FStar_Util.set)) = - fun x -> - ((let uu___8_94 = FStar_Pervasives_Native.fst no_free_vars in + fun x -> + ((let uu___8_94 = FStar_Pervasives_Native.fst no_free_vars in { FStar_Syntax_Syntax.free_names = (uu___8_94.FStar_Syntax_Syntax.free_names); @@ -65,12 +70,13 @@ let (singleton_univ : FStar_Syntax_Syntax.free_univ_names = (uu___8_94.FStar_Syntax_Syntax.free_univ_names) }), (FStar_Pervasives_Native.snd no_free_vars)) + let (singleton_univ_name : FStar_Syntax_Syntax.univ_name -> (FStar_Syntax_Syntax.free_vars * FStar_Ident.lident FStar_Util.set)) = - fun x -> - ((let uu___11_114 = FStar_Pervasives_Native.fst no_free_vars in + fun x -> + ((let uu___11_114 = FStar_Pervasives_Native.fst no_free_vars in { FStar_Syntax_Syntax.free_names = (uu___11_114.FStar_Syntax_Syntax.free_names); @@ -80,16 +86,18 @@ let (singleton_univ_name : (uu___11_114.FStar_Syntax_Syntax.free_univs); FStar_Syntax_Syntax.free_univ_names = [x] }), (FStar_Pervasives_Native.snd no_free_vars)) + let (union : free_vars_and_fvars -> free_vars_and_fvars -> (FStar_Syntax_Syntax.free_vars * FStar_Ident.lident FStar_Util.set)) = - fun f1 -> - fun f2 -> + fun f1 -> + fun f2 -> let uu____136 = FStar_Util.set_union (FStar_Pervasives_Native.snd f1) - (FStar_Pervasives_Native.snd f2) in + (FStar_Pervasives_Native.snd f2) + in ({ FStar_Syntax_Syntax.free_names = (FStar_List.append @@ -108,166 +116,179 @@ let (union : (FStar_Pervasives_Native.fst f1).FStar_Syntax_Syntax.free_univ_names (FStar_Pervasives_Native.fst f2).FStar_Syntax_Syntax.free_univ_names) }, uu____136) + let rec (free_univs : FStar_Syntax_Syntax.universe -> free_vars_and_fvars) = - fun u -> - let uu____167 = FStar_Syntax_Subst.compress_univ u in + fun u -> + let uu____167 = FStar_Syntax_Subst.compress_univ u in match uu____167 with - | FStar_Syntax_Syntax.U_zero -> no_free_vars + | FStar_Syntax_Syntax.U_zero -> no_free_vars | FStar_Syntax_Syntax.U_bvar uu____168 -> no_free_vars - | FStar_Syntax_Syntax.U_unknown -> no_free_vars + | FStar_Syntax_Syntax.U_unknown -> no_free_vars | FStar_Syntax_Syntax.U_name uname -> singleton_univ_name uname | FStar_Syntax_Syntax.U_succ u1 -> free_univs u1 | FStar_Syntax_Syntax.U_max us -> FStar_List.fold_left - (fun out -> - fun x -> let uu____180 = free_univs x in union out uu____180) + (fun out -> + fun x -> let uu____180 = free_univs x in union out uu____180) no_free_vars us | FStar_Syntax_Syntax.U_unif u1 -> singleton_univ u1 + let rec (free_names_and_uvs' : FStar_Syntax_Syntax.term -> Prims.bool -> free_vars_and_fvars) = - fun tm -> - fun use_cache -> + fun tm -> + fun use_cache -> let aux_binders bs from_body = let from_binders = FStar_All.pipe_right bs (FStar_List.fold_left - (fun n1 -> - fun uu____321 -> + (fun n1 -> + fun uu____321 -> match uu____321 with - | (x, uu____329) -> + | (x,uu____329) -> let uu____334 = free_names_and_uvars x.FStar_Syntax_Syntax.sort - use_cache in - union n1 uu____334) no_free_vars) in - union from_binders from_body in - let t = FStar_Syntax_Subst.compress tm in + use_cache + in + union n1 uu____334) no_free_vars) + in + union from_binders from_body in + let t = FStar_Syntax_Subst.compress tm in match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_delayed uu____336 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_name x -> singleton_bv x - | FStar_Syntax_Syntax.Tm_uvar (uv, uu____362) -> singleton_uv uv + | FStar_Syntax_Syntax.Tm_uvar (uv,uu____362) -> singleton_uv uv | FStar_Syntax_Syntax.Tm_type u -> free_univs u | FStar_Syntax_Syntax.Tm_bvar uu____380 -> no_free_vars | FStar_Syntax_Syntax.Tm_fvar fv -> singleton_fvar fv | FStar_Syntax_Syntax.Tm_constant uu____382 -> no_free_vars | FStar_Syntax_Syntax.Tm_lazy uu____383 -> no_free_vars - | FStar_Syntax_Syntax.Tm_unknown -> no_free_vars - | FStar_Syntax_Syntax.Tm_uinst (t1, us) -> - let f = free_names_and_uvars t1 use_cache in + | FStar_Syntax_Syntax.Tm_unknown -> no_free_vars + | FStar_Syntax_Syntax.Tm_uinst (t1,us) -> + let f = free_names_and_uvars t1 use_cache in FStar_List.fold_left - (fun out -> - fun u -> let uu____396 = free_univs u in union out uu____396) + (fun out -> + fun u -> let uu____396 = free_univs u in union out uu____396) f us - | FStar_Syntax_Syntax.Tm_abs (bs, t1, uu____399) -> - let uu____424 = free_names_and_uvars t1 use_cache in + | FStar_Syntax_Syntax.Tm_abs (bs,t1,uu____399) -> + let uu____424 = free_names_and_uvars t1 use_cache in aux_binders bs uu____424 - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____447 = free_names_and_uvars_comp c use_cache in + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____447 = free_names_and_uvars_comp c use_cache in aux_binders bs uu____447 - | FStar_Syntax_Syntax.Tm_refine (bv, t1) -> - let uu____454 = free_names_and_uvars t1 use_cache in + | FStar_Syntax_Syntax.Tm_refine (bv,t1) -> + let uu____454 = free_names_and_uvars t1 use_cache in aux_binders [(bv, FStar_Pervasives_Native.None)] uu____454 - | FStar_Syntax_Syntax.Tm_app (t1, args) -> - let uu____495 = free_names_and_uvars t1 use_cache in + | FStar_Syntax_Syntax.Tm_app (t1,args) -> + let uu____495 = free_names_and_uvars t1 use_cache in free_names_and_uvars_args args uu____495 use_cache - | FStar_Syntax_Syntax.Tm_match (t1, pats) -> + | FStar_Syntax_Syntax.Tm_match (t1,pats) -> let uu____540 = - let uu____559 = free_names_and_uvars t1 use_cache in + let uu____559 = free_names_and_uvars t1 use_cache in FStar_List.fold_left - (fun n1 -> - fun uu____582 -> + (fun n1 -> + fun uu____582 -> match uu____582 with - | (p, wopt, t2) -> + | (p,wopt,t2) -> let n11 = match wopt with - | FStar_Pervasives_Native.None -> no_free_vars + | FStar_Pervasives_Native.None -> no_free_vars | FStar_Pervasives_Native.Some w -> - free_names_and_uvars w use_cache in - let n2 = free_names_and_uvars t2 use_cache in + free_names_and_uvars w use_cache + in + let n2 = free_names_and_uvars t2 use_cache in let n3 = - let uu____620 = FStar_Syntax_Syntax.pat_bvs p in + let uu____620 = FStar_Syntax_Syntax.pat_bvs p in FStar_All.pipe_right uu____620 (FStar_List.fold_left - (fun n3 -> - fun x -> + (fun n3 -> + fun x -> let uu____630 = free_names_and_uvars - x.FStar_Syntax_Syntax.sort use_cache in - union n3 uu____630) n1) in - let uu____631 = union n11 n2 in union n3 uu____631) - uu____559 in + x.FStar_Syntax_Syntax.sort use_cache + in + union n3 uu____630) n1) + in + let uu____631 = union n11 n2 in union n3 uu____631) + uu____559 + in FStar_All.pipe_right pats uu____540 - | FStar_Syntax_Syntax.Tm_ascribed (t1, asc, uu____648) -> - let u1 = free_names_and_uvars t1 use_cache in + | FStar_Syntax_Syntax.Tm_ascribed (t1,asc,uu____648) -> + let u1 = free_names_and_uvars t1 use_cache in let u2 = match FStar_Pervasives_Native.fst asc with | FStar_Util.Inl t2 -> free_names_and_uvars t2 use_cache - | FStar_Util.Inr c2 -> free_names_and_uvars_comp c2 use_cache in + | FStar_Util.Inr c2 -> free_names_and_uvars_comp c2 use_cache in (match FStar_Pervasives_Native.snd asc with - | FStar_Pervasives_Native.None -> union u1 u2 + | FStar_Pervasives_Native.None -> union u1 u2 | FStar_Pervasives_Native.Some tac -> - let uu____736 = union u1 u2 in - let uu____737 = free_names_and_uvars tac use_cache in + let uu____736 = union u1 u2 in + let uu____737 = free_names_and_uvars tac use_cache in union uu____736 uu____737) - | FStar_Syntax_Syntax.Tm_let (lbs, t1) -> + | FStar_Syntax_Syntax.Tm_let (lbs,t1) -> let uu____758 = - let uu____765 = free_names_and_uvars t1 use_cache in + let uu____765 = free_names_and_uvars t1 use_cache in FStar_List.fold_left - (fun n1 -> - fun lb -> + (fun n1 -> + fun lb -> let uu____771 = let uu____772 = free_names_and_uvars lb.FStar_Syntax_Syntax.lbtyp - use_cache in + use_cache + in let uu____773 = free_names_and_uvars lb.FStar_Syntax_Syntax.lbdef - use_cache in - union uu____772 uu____773 in - union n1 uu____771) uu____765 in + use_cache + in + union uu____772 uu____773 in + union n1 uu____771) uu____765 + in FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs) uu____758 - | FStar_Syntax_Syntax.Tm_quoted (tm1, qi) -> + | FStar_Syntax_Syntax.Tm_quoted (tm1,qi) -> (match qi.FStar_Syntax_Syntax.qkind with - | FStar_Syntax_Syntax.Quote_static -> no_free_vars - | FStar_Syntax_Syntax.Quote_dynamic -> + | FStar_Syntax_Syntax.Quote_static -> no_free_vars + | FStar_Syntax_Syntax.Quote_dynamic -> free_names_and_uvars tm1 use_cache) - | FStar_Syntax_Syntax.Tm_meta (t1, m) -> - let u1 = free_names_and_uvars t1 use_cache in + | FStar_Syntax_Syntax.Tm_meta (t1,m) -> + let u1 = free_names_and_uvars t1 use_cache in (match m with - | FStar_Syntax_Syntax.Meta_pattern (uu____792, args) -> + | FStar_Syntax_Syntax.Meta_pattern (uu____792,args) -> FStar_List.fold_right - (fun a -> - fun acc -> free_names_and_uvars_args a acc use_cache) + (fun a -> + fun acc -> free_names_and_uvars_args a acc use_cache) args u1 - | FStar_Syntax_Syntax.Meta_monadic (uu____862, t') -> - let uu____868 = free_names_and_uvars t' use_cache in + | FStar_Syntax_Syntax.Meta_monadic (uu____862,t') -> + let uu____868 = free_names_and_uvars t' use_cache in union u1 uu____868 - | FStar_Syntax_Syntax.Meta_monadic_lift (uu____869, uu____870, t') + | FStar_Syntax_Syntax.Meta_monadic_lift (uu____869,uu____870,t') -> - let uu____876 = free_names_and_uvars t' use_cache in + let uu____876 = free_names_and_uvars t' use_cache in union u1 uu____876 | FStar_Syntax_Syntax.Meta_labeled uu____877 -> u1 | FStar_Syntax_Syntax.Meta_desugared uu____886 -> u1 | FStar_Syntax_Syntax.Meta_named uu____887 -> u1) + and (free_names_and_uvars : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> Prims.bool -> free_vars_and_fvars) = - fun t -> - fun use_cache -> - let t1 = FStar_Syntax_Subst.compress t in - let uu____894 = FStar_ST.op_Bang t1.FStar_Syntax_Syntax.vars in + fun t -> + fun use_cache -> + let t1 = FStar_Syntax_Subst.compress t in + let uu____894 = FStar_ST.op_Bang t1.FStar_Syntax_Syntax.vars in match uu____894 with | FStar_Pervasives_Native.Some n1 when - let uu____921 = should_invalidate_cache n1 use_cache in + let uu____921 = should_invalidate_cache n1 use_cache in Prims.op_Negation uu____921 -> - let uu____923 = FStar_Syntax_Syntax.new_fv_set () in + let uu____923 = FStar_Syntax_Syntax.new_fv_set () in (n1, uu____923) | uu____928 -> (FStar_ST.op_Colon_Equals t1.FStar_Syntax_Syntax.vars FStar_Pervasives_Native.None; - (let n1 = free_names_and_uvs' t1 use_cache in + (let n1 = free_names_and_uvs' t1 use_cache in FStar_ST.op_Colon_Equals t1.FStar_Syntax_Syntax.vars (FStar_Pervasives_Native.Some (FStar_Pervasives_Native.fst n1)); n1)) + and (free_names_and_uvars_args : (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) @@ -276,189 +297,219 @@ and (free_names_and_uvars_args : Prims.bool -> (FStar_Syntax_Syntax.free_vars * FStar_Ident.lident FStar_Util.set)) = - fun args -> - fun acc -> - fun use_cache -> + fun args -> + fun acc -> + fun use_cache -> FStar_All.pipe_right args (FStar_List.fold_left - (fun n1 -> - fun uu____1032 -> + (fun n1 -> + fun uu____1032 -> match uu____1032 with - | (x, uu____1042) -> - let uu____1051 = free_names_and_uvars x use_cache in + | (x,uu____1042) -> + let uu____1051 = free_names_and_uvars x use_cache in union n1 uu____1051) acc) + and (free_names_and_uvars_binders : FStar_Syntax_Syntax.binders -> free_vars_and_fvars -> Prims.bool -> free_vars_and_fvars) = - fun bs -> - fun acc -> - fun use_cache -> + fun bs -> + fun acc -> + fun use_cache -> FStar_All.pipe_right bs (FStar_List.fold_left - (fun n1 -> - fun uu____1076 -> + (fun n1 -> + fun uu____1076 -> match uu____1076 with - | (x, uu____1084) -> + | (x,uu____1084) -> let uu____1089 = free_names_and_uvars x.FStar_Syntax_Syntax.sort - use_cache in + use_cache + in union n1 uu____1089) acc) + and (free_names_and_uvars_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool -> free_vars_and_fvars) = - fun c -> - fun use_cache -> - let uu____1095 = FStar_ST.op_Bang c.FStar_Syntax_Syntax.vars in + fun c -> + fun use_cache -> + let uu____1095 = FStar_ST.op_Bang c.FStar_Syntax_Syntax.vars in match uu____1095 with | FStar_Pervasives_Native.Some n1 -> - let uu____1122 = should_invalidate_cache n1 use_cache in + let uu____1122 = should_invalidate_cache n1 use_cache in if uu____1122 then (FStar_ST.op_Colon_Equals c.FStar_Syntax_Syntax.vars FStar_Pervasives_Native.None; free_names_and_uvars_comp c use_cache) else - (let uu____1151 = FStar_Syntax_Syntax.new_fv_set () in + (let uu____1151 = FStar_Syntax_Syntax.new_fv_set () in (n1, uu____1151)) | uu____1156 -> let n1 = match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.GTotal (t, FStar_Pervasives_Native.None) -> + | FStar_Syntax_Syntax.GTotal (t,FStar_Pervasives_Native.None ) -> free_names_and_uvars t use_cache - | FStar_Syntax_Syntax.Total (t, FStar_Pervasives_Native.None) -> + | FStar_Syntax_Syntax.Total (t,FStar_Pervasives_Native.None ) -> free_names_and_uvars t use_cache - | FStar_Syntax_Syntax.GTotal (t, FStar_Pervasives_Native.Some u) + | FStar_Syntax_Syntax.GTotal (t,FStar_Pervasives_Native.Some u) -> - let uu____1194 = free_univs u in - let uu____1195 = free_names_and_uvars t use_cache in + let uu____1194 = free_univs u in + let uu____1195 = free_names_and_uvars t use_cache in union uu____1194 uu____1195 - | FStar_Syntax_Syntax.Total (t, FStar_Pervasives_Native.Some u) - -> - let uu____1204 = free_univs u in - let uu____1205 = free_names_and_uvars t use_cache in + | FStar_Syntax_Syntax.Total (t,FStar_Pervasives_Native.Some u) -> + let uu____1204 = free_univs u in + let uu____1205 = free_names_and_uvars t use_cache in union uu____1204 uu____1205 | FStar_Syntax_Syntax.Comp ct -> let us = let uu____1214 = free_names_and_uvars ct.FStar_Syntax_Syntax.result_typ - use_cache in + use_cache + in free_names_and_uvars_args - ct.FStar_Syntax_Syntax.effect_args uu____1214 use_cache in + ct.FStar_Syntax_Syntax.effect_args uu____1214 use_cache + in FStar_List.fold_left - (fun us1 -> - fun u -> - let uu____1226 = free_univs u in union us1 uu____1226) - us ct.FStar_Syntax_Syntax.comp_univs in + (fun us1 -> + fun u -> + let uu____1226 = free_univs u in union us1 uu____1226) + us ct.FStar_Syntax_Syntax.comp_univs + in (FStar_ST.op_Colon_Equals c.FStar_Syntax_Syntax.vars (FStar_Pervasives_Native.Some (FStar_Pervasives_Native.fst n1)); n1) + and (should_invalidate_cache : FStar_Syntax_Syntax.free_vars -> Prims.bool -> Prims.bool) = - fun n1 -> - fun use_cache -> + fun n1 -> + fun use_cache -> (Prims.op_Negation use_cache) || ((FStar_All.pipe_right n1.FStar_Syntax_Syntax.free_uvars (FStar_Util.for_some - (fun u -> + (fun u -> let uu____1263 = FStar_Syntax_Unionfind.find - u.FStar_Syntax_Syntax.ctx_uvar_head in + u.FStar_Syntax_Syntax.ctx_uvar_head + in match uu____1263 with | FStar_Pervasives_Native.Some uu____1267 -> true | uu____1269 -> false))) || (FStar_All.pipe_right n1.FStar_Syntax_Syntax.free_univs (FStar_Util.for_some - (fun u -> - let uu____1280 = FStar_Syntax_Unionfind.univ_find u in + (fun u -> + let uu____1280 = FStar_Syntax_Unionfind.univ_find u in match uu____1280 with | FStar_Pervasives_Native.Some uu____1284 -> true - | FStar_Pervasives_Native.None -> false)))) + | FStar_Pervasives_Native.None -> false)))) + let (compare_uv : FStar_Syntax_Syntax.ctx_uvar -> FStar_Syntax_Syntax.ctx_uvar -> Prims.int) = - fun uv1 -> - fun uv2 -> + fun uv1 -> + fun uv2 -> let uu____1299 = - FStar_Syntax_Unionfind.uvar_id uv1.FStar_Syntax_Syntax.ctx_uvar_head in + FStar_Syntax_Unionfind.uvar_id uv1.FStar_Syntax_Syntax.ctx_uvar_head + in let uu____1301 = - FStar_Syntax_Unionfind.uvar_id uv2.FStar_Syntax_Syntax.ctx_uvar_head in + FStar_Syntax_Unionfind.uvar_id uv2.FStar_Syntax_Syntax.ctx_uvar_head + in uu____1299 - uu____1301 + let (new_uv_set : unit -> FStar_Syntax_Syntax.uvars) = - fun uu____1308 -> FStar_Util.new_set compare_uv + fun uu____1308 -> FStar_Util.new_set compare_uv let (compare_universe_uvar : FStar_Syntax_Syntax.universe_uvar -> FStar_Syntax_Syntax.universe_uvar -> Prims.int) = - fun x -> - fun y -> - let uu____1321 = FStar_Syntax_Unionfind.univ_uvar_id x in - let uu____1323 = FStar_Syntax_Unionfind.univ_uvar_id y in + fun x -> + fun y -> + let uu____1321 = FStar_Syntax_Unionfind.univ_uvar_id x in + let uu____1323 = FStar_Syntax_Unionfind.univ_uvar_id y in uu____1321 - uu____1323 + let (new_universe_uvar_set : unit -> FStar_Syntax_Syntax.universe_uvar FStar_Util.set) = - fun uu____1332 -> FStar_Util.new_set compare_universe_uvar + fun uu____1332 -> FStar_Util.new_set compare_universe_uvar let (empty : FStar_Syntax_Syntax.bv FStar_Util.set) = - FStar_Util.new_set FStar_Syntax_Syntax.order_bv + FStar_Util.new_set FStar_Syntax_Syntax.order_bv let (names : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.bv FStar_Util.set) = - fun t -> + fun t -> let uu____1346 = let uu____1349 = - let uu____1350 = free_names_and_uvars t true in - FStar_Pervasives_Native.fst uu____1350 in - uu____1349.FStar_Syntax_Syntax.free_names in + let uu____1350 = free_names_and_uvars t true in + FStar_Pervasives_Native.fst uu____1350 in + uu____1349.FStar_Syntax_Syntax.free_names in FStar_Util.as_set uu____1346 FStar_Syntax_Syntax.order_bv + let (uvars : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.ctx_uvar FStar_Util.set) = - fun t -> + fun t -> let uu____1368 = let uu____1371 = - let uu____1372 = free_names_and_uvars t true in - FStar_Pervasives_Native.fst uu____1372 in - uu____1371.FStar_Syntax_Syntax.free_uvars in + let uu____1372 = free_names_and_uvars t true in + FStar_Pervasives_Native.fst uu____1372 in + uu____1371.FStar_Syntax_Syntax.free_uvars in FStar_Util.as_set uu____1368 compare_uv + let (univs : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.universe_uvar FStar_Util.set) = - fun t -> + fun t -> let uu____1390 = let uu____1393 = - let uu____1394 = free_names_and_uvars t true in - FStar_Pervasives_Native.fst uu____1394 in - uu____1393.FStar_Syntax_Syntax.free_univs in + let uu____1394 = free_names_and_uvars t true in + FStar_Pervasives_Native.fst uu____1394 in + uu____1393.FStar_Syntax_Syntax.free_univs in FStar_Util.as_set uu____1390 compare_universe_uvar + let (univnames : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.univ_name FStar_Util.set) = - fun t -> + fun t -> let uu____1412 = let uu____1415 = - let uu____1416 = free_names_and_uvars t true in - FStar_Pervasives_Native.fst uu____1416 in - uu____1415.FStar_Syntax_Syntax.free_univ_names in + let uu____1416 = free_names_and_uvars t true in + FStar_Pervasives_Native.fst uu____1416 in + uu____1415.FStar_Syntax_Syntax.free_univ_names in FStar_Util.as_set uu____1412 FStar_Syntax_Syntax.order_univ_name + let (univnames_comp : FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.univ_name FStar_Util.set) = - fun c -> + fun c -> let uu____1434 = let uu____1437 = - let uu____1438 = free_names_and_uvars_comp c true in - FStar_Pervasives_Native.fst uu____1438 in - uu____1437.FStar_Syntax_Syntax.free_univ_names in + let uu____1438 = free_names_and_uvars_comp c true in + FStar_Pervasives_Native.fst uu____1438 in + uu____1437.FStar_Syntax_Syntax.free_univ_names in FStar_Util.as_set uu____1434 FStar_Syntax_Syntax.order_univ_name + let (fvars : FStar_Syntax_Syntax.term -> FStar_Ident.lident FStar_Util.set) = - fun t -> - let uu____1456 = free_names_and_uvars t false in + fun t -> + let uu____1456 = free_names_and_uvars t false in FStar_Pervasives_Native.snd uu____1456 + let (names_of_binders : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.bv FStar_Util.set) = - fun bs -> + fun bs -> let uu____1474 = let uu____1477 = - let uu____1478 = free_names_and_uvars_binders bs no_free_vars true in - FStar_Pervasives_Native.fst uu____1478 in - uu____1477.FStar_Syntax_Syntax.free_names in - FStar_Util.as_set uu____1474 FStar_Syntax_Syntax.order_bv \ No newline at end of file + let uu____1478 = free_names_and_uvars_binders bs no_free_vars true + in + FStar_Pervasives_Native.fst uu____1478 in + uu____1477.FStar_Syntax_Syntax.free_names in + FStar_Util.as_set uu____1474 FStar_Syntax_Syntax.order_bv + +let (uvars_uncached : + FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.ctx_uvar FStar_Util.set) = + fun t -> + let uu____1496 = + let uu____1499 = + let uu____1500 = free_names_and_uvars t false in + FStar_Pervasives_Native.fst uu____1500 in + uu____1499.FStar_Syntax_Syntax.free_uvars in + FStar_Util.as_set uu____1496 compare_uv + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Syntax_InstFV.ml b/src/ocaml-output/FStar_Syntax_InstFV.ml index 50518c82321..7b79bc72747 100644 --- a/src/ocaml-output/FStar_Syntax_InstFV.ml +++ b/src/ocaml-output/FStar_Syntax_InstFV.ml @@ -5,19 +5,20 @@ let mk : 'Auu____14 FStar_Syntax_Syntax.syntax -> 'Auu____15 -> 'Auu____15 FStar_Syntax_Syntax.syntax = - fun t -> - fun s -> + fun t -> + fun s -> FStar_Syntax_Syntax.mk s FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos + let rec (inst : (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.term) -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun s -> - fun t -> - let t1 = FStar_Syntax_Subst.compress t in - let mk1 = mk t1 in + fun s -> + fun t -> + let t1 = FStar_Syntax_Subst.compress t in + let mk1 = mk t1 in match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_delayed uu____145 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_name uu____169 -> t1 @@ -27,89 +28,95 @@ let rec (inst : | FStar_Syntax_Syntax.Tm_bvar uu____197 -> t1 | FStar_Syntax_Syntax.Tm_constant uu____198 -> t1 | FStar_Syntax_Syntax.Tm_quoted uu____199 -> t1 - | FStar_Syntax_Syntax.Tm_unknown -> t1 + | FStar_Syntax_Syntax.Tm_unknown -> t1 | FStar_Syntax_Syntax.Tm_uinst uu____206 -> t1 | FStar_Syntax_Syntax.Tm_lazy uu____213 -> t1 | FStar_Syntax_Syntax.Tm_fvar fv -> s t1 fv - | FStar_Syntax_Syntax.Tm_abs (bs, body, lopt) -> - let bs1 = inst_binders s bs in - let body1 = inst s body in + | FStar_Syntax_Syntax.Tm_abs (bs,body,lopt) -> + let bs1 = inst_binders s bs in + let body1 = inst s body in let uu____244 = let uu____245 = - let uu____264 = inst_lcomp_opt s lopt in - (bs1, body1, uu____264) in - FStar_Syntax_Syntax.Tm_abs uu____245 in + let uu____264 = inst_lcomp_opt s lopt in + (bs1, body1, uu____264) in + FStar_Syntax_Syntax.Tm_abs uu____245 in mk1 uu____244 - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let bs1 = inst_binders s bs in - let c1 = inst_comp s c in + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let bs1 = inst_binders s bs in + let c1 = inst_comp s c in mk1 (FStar_Syntax_Syntax.Tm_arrow (bs1, c1)) - | FStar_Syntax_Syntax.Tm_refine (bv, t2) -> + | FStar_Syntax_Syntax.Tm_refine (bv,t2) -> let bv1 = - let uu___47_322 = bv in - let uu____323 = inst s bv.FStar_Syntax_Syntax.sort in + let uu___47_322 = bv in + let uu____323 = inst s bv.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___47_322.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___47_322.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____323 - } in - let t3 = inst s t2 in mk1 (FStar_Syntax_Syntax.Tm_refine (bv1, t3)) - | FStar_Syntax_Syntax.Tm_app (t2, args) -> + } in + let t3 = inst s t2 in + mk1 (FStar_Syntax_Syntax.Tm_refine (bv1, t3)) + | FStar_Syntax_Syntax.Tm_app (t2,args) -> let uu____355 = let uu____356 = - let uu____373 = inst s t2 in - let uu____376 = inst_args s args in (uu____373, uu____376) in - FStar_Syntax_Syntax.Tm_app uu____356 in + let uu____373 = inst s t2 in + let uu____376 = inst_args s args in (uu____373, uu____376) in + FStar_Syntax_Syntax.Tm_app uu____356 in mk1 uu____355 - | FStar_Syntax_Syntax.Tm_match (t2, pats) -> + | FStar_Syntax_Syntax.Tm_match (t2,pats) -> let pats1 = FStar_All.pipe_right pats (FStar_List.map - (fun uu____508 -> + (fun uu____508 -> match uu____508 with - | (p, wopt, t3) -> + | (p,wopt,t3) -> let wopt1 = match wopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some w -> - let uu____546 = inst s w in - FStar_Pervasives_Native.Some uu____546 in - let t4 = inst s t3 in (p, wopt1, t4))) in + let uu____546 = inst s w in + FStar_Pervasives_Native.Some uu____546 + in + let t4 = inst s t3 in (p, wopt1, t4))) + in let uu____552 = - let uu____553 = let uu____576 = inst s t2 in (uu____576, pats1) in - FStar_Syntax_Syntax.Tm_match uu____553 in + let uu____553 = let uu____576 = inst s t2 in (uu____576, pats1) + in + FStar_Syntax_Syntax.Tm_match uu____553 in mk1 uu____552 - | FStar_Syntax_Syntax.Tm_ascribed (t11, asc, f) -> + | FStar_Syntax_Syntax.Tm_ascribed (t11,asc,f) -> let inst_asc uu____669 = match uu____669 with - | (annot, topt) -> - let topt1 = FStar_Util.map_opt topt (inst s) in + | (annot,topt) -> + let topt1 = FStar_Util.map_opt topt (inst s) in let annot1 = match annot with | FStar_Util.Inl t2 -> - let uu____731 = inst s t2 in FStar_Util.Inl uu____731 + let uu____731 = inst s t2 in FStar_Util.Inl uu____731 | FStar_Util.Inr c -> - let uu____739 = inst_comp s c in - FStar_Util.Inr uu____739 in - (annot1, topt1) in + let uu____739 = inst_comp s c in + FStar_Util.Inr uu____739 + in + (annot1, topt1) + in let uu____752 = let uu____753 = - let uu____780 = inst s t11 in - let uu____783 = inst_asc asc in (uu____780, uu____783, f) in - FStar_Syntax_Syntax.Tm_ascribed uu____753 in + let uu____780 = inst s t11 in + let uu____783 = inst_asc asc in (uu____780, uu____783, f) in + FStar_Syntax_Syntax.Tm_ascribed uu____753 in mk1 uu____752 - | FStar_Syntax_Syntax.Tm_let (lbs, t2) -> + | FStar_Syntax_Syntax.Tm_let (lbs,t2) -> let lbs1 = let uu____848 = FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs) (FStar_List.map - (fun lb -> - let uu___89_863 = lb in - let uu____864 = inst s lb.FStar_Syntax_Syntax.lbtyp in - let uu____867 = inst s lb.FStar_Syntax_Syntax.lbdef in + (fun lb -> + let uu___89_863 = lb in + let uu____864 = inst s lb.FStar_Syntax_Syntax.lbtyp in + let uu____867 = inst s lb.FStar_Syntax_Syntax.lbdef in { FStar_Syntax_Syntax.lbname = (uu___89_863.FStar_Syntax_Syntax.lbname); @@ -123,66 +130,72 @@ let rec (inst : (uu___89_863.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___89_863.FStar_Syntax_Syntax.lbpos) - })) in - ((FStar_Pervasives_Native.fst lbs), uu____848) in + })) + in + ((FStar_Pervasives_Native.fst lbs), uu____848) in let uu____876 = - let uu____877 = let uu____891 = inst s t2 in (lbs1, uu____891) in - FStar_Syntax_Syntax.Tm_let uu____877 in + let uu____877 = let uu____891 = inst s t2 in (lbs1, uu____891) + in + FStar_Syntax_Syntax.Tm_let uu____877 in mk1 uu____876 | FStar_Syntax_Syntax.Tm_meta - (t2, FStar_Syntax_Syntax.Meta_pattern (bvs, args)) -> + (t2,FStar_Syntax_Syntax.Meta_pattern (bvs,args)) -> let uu____942 = let uu____943 = - let uu____950 = inst s t2 in + let uu____950 = inst s t2 in let uu____953 = let uu____954 = let uu____975 = - FStar_All.pipe_right args (FStar_List.map (inst_args s)) in - (bvs, uu____975) in - FStar_Syntax_Syntax.Meta_pattern uu____954 in - (uu____950, uu____953) in - FStar_Syntax_Syntax.Tm_meta uu____943 in + FStar_All.pipe_right args (FStar_List.map (inst_args s)) + in + (bvs, uu____975) in + FStar_Syntax_Syntax.Meta_pattern uu____954 in + (uu____950, uu____953) in + FStar_Syntax_Syntax.Tm_meta uu____943 in mk1 uu____942 | FStar_Syntax_Syntax.Tm_meta - (t2, FStar_Syntax_Syntax.Meta_monadic (m, t')) -> + (t2,FStar_Syntax_Syntax.Meta_monadic (m,t')) -> let uu____1061 = let uu____1062 = - let uu____1069 = inst s t2 in + let uu____1069 = inst s t2 in let uu____1072 = let uu____1073 = - let uu____1080 = inst s t' in (m, uu____1080) in - FStar_Syntax_Syntax.Meta_monadic uu____1073 in - (uu____1069, uu____1072) in - FStar_Syntax_Syntax.Tm_meta uu____1062 in + let uu____1080 = inst s t' in (m, uu____1080) in + FStar_Syntax_Syntax.Meta_monadic uu____1073 in + (uu____1069, uu____1072) in + FStar_Syntax_Syntax.Tm_meta uu____1062 in mk1 uu____1061 - | FStar_Syntax_Syntax.Tm_meta (t2, tag) -> + | FStar_Syntax_Syntax.Tm_meta (t2,tag) -> let uu____1093 = - let uu____1094 = let uu____1101 = inst s t2 in (uu____1101, tag) in - FStar_Syntax_Syntax.Tm_meta uu____1094 in + let uu____1094 = let uu____1101 = inst s t2 in (uu____1101, tag) + in + FStar_Syntax_Syntax.Tm_meta uu____1094 in mk1 uu____1093 + and (inst_binders : (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.term) -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binders) = - fun s -> - fun bs -> + fun s -> + fun bs -> FStar_All.pipe_right bs (FStar_List.map - (fun uu____1136 -> + (fun uu____1136 -> match uu____1136 with - | (x, imp) -> + | (x,imp) -> let uu____1155 = - let uu___115_1156 = x in - let uu____1157 = inst s x.FStar_Syntax_Syntax.sort in + let uu___115_1156 = x in + let uu____1157 = inst s x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___115_1156.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___115_1156.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____1157 - } in + } in (uu____1155, imp))) + and (inst_args : (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.term) @@ -194,13 +207,14 @@ and (inst_args : FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list) = - fun s -> - fun args -> + fun s -> + fun args -> FStar_All.pipe_right args (FStar_List.map - (fun uu____1212 -> + (fun uu____1212 -> match uu____1212 with - | (a, imp) -> let uu____1231 = inst s a in (uu____1231, imp))) + | (a,imp) -> let uu____1231 = inst s a in (uu____1231, imp))) + and (inst_comp : (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.term) @@ -208,29 +222,31 @@ and (inst_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax) = - fun s -> - fun c -> + fun s -> + fun c -> match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, uopt) -> - let uu____1254 = inst s t in + | FStar_Syntax_Syntax.Total (t,uopt) -> + let uu____1254 = inst s t in FStar_Syntax_Syntax.mk_Total' uu____1254 uopt - | FStar_Syntax_Syntax.GTotal (t, uopt) -> - let uu____1265 = inst s t in + | FStar_Syntax_Syntax.GTotal (t,uopt) -> + let uu____1265 = inst s t in FStar_Syntax_Syntax.mk_GTotal' uu____1265 uopt | FStar_Syntax_Syntax.Comp ct -> let ct1 = - let uu___134_1268 = ct in - let uu____1269 = inst s ct.FStar_Syntax_Syntax.result_typ in - let uu____1272 = inst_args s ct.FStar_Syntax_Syntax.effect_args in + let uu___134_1268 = ct in + let uu____1269 = inst s ct.FStar_Syntax_Syntax.result_typ in + let uu____1272 = inst_args s ct.FStar_Syntax_Syntax.effect_args + in let uu____1283 = FStar_All.pipe_right ct.FStar_Syntax_Syntax.flags (FStar_List.map - (fun uu___0_1293 -> + (fun uu___0_1293 -> match uu___0_1293 with | FStar_Syntax_Syntax.DECREASES t -> - let uu____1297 = inst s t in + let uu____1297 = inst s t in FStar_Syntax_Syntax.DECREASES uu____1297 - | f -> f)) in + | f -> f)) + in { FStar_Syntax_Syntax.comp_univs = (uu___134_1268.FStar_Syntax_Syntax.comp_univs); @@ -239,8 +255,9 @@ and (inst_comp : FStar_Syntax_Syntax.result_typ = uu____1269; FStar_Syntax_Syntax.effect_args = uu____1272; FStar_Syntax_Syntax.flags = uu____1283 - } in + } in FStar_Syntax_Syntax.mk_Comp ct1 + and (inst_lcomp_opt : (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.term) @@ -248,41 +265,46 @@ and (inst_lcomp_opt : FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option) = - fun s -> - fun l -> + fun s -> + fun l -> match l with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some rc -> let uu____1312 = - let uu___146_1313 = rc in + let uu___146_1313 = rc in let uu____1314 = - FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ (inst s) in + FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ (inst s) + in { FStar_Syntax_Syntax.residual_effect = (uu___146_1313.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = uu____1314; FStar_Syntax_Syntax.residual_flags = (uu___146_1313.FStar_Syntax_Syntax.residual_flags) - } in + } in FStar_Pervasives_Native.Some uu____1312 + let (instantiate : inst_t -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun i -> - fun t -> + fun i -> + fun t -> match i with | [] -> t | uu____1338 -> let inst_fv t1 fv = let uu____1350 = FStar_Util.find_opt - (fun uu____1364 -> + (fun uu____1364 -> match uu____1364 with - | (x, uu____1371) -> + | (x,uu____1371) -> FStar_Ident.lid_equals x (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) - i in + i + in match uu____1350 with - | FStar_Pervasives_Native.None -> t1 - | FStar_Pervasives_Native.Some (uu____1376, us) -> - mk t1 (FStar_Syntax_Syntax.Tm_uinst (t1, us)) in - inst inst_fv t \ No newline at end of file + | FStar_Pervasives_Native.None -> t1 + | FStar_Pervasives_Native.Some (uu____1376,us) -> + mk t1 (FStar_Syntax_Syntax.Tm_uinst (t1, us)) + in + inst inst_fv t + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Syntax_MutRecTy.ml b/src/ocaml-output/FStar_Syntax_MutRecTy.ml index 02f3fe35008..247b00e10d8 100644 --- a/src/ocaml-output/FStar_Syntax_MutRecTy.ml +++ b/src/ocaml-output/FStar_Syntax_MutRecTy.ml @@ -7,35 +7,36 @@ let (disentangle_abbrevs_from_bundle : (FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.sigelt Prims.list)) = - fun sigelts -> - fun quals -> - fun members -> - fun rng -> + fun sigelts -> + fun quals -> + fun members -> + fun rng -> let sigattrs = - FStar_List.collect (fun s -> s.FStar_Syntax_Syntax.sigattrs) - sigelts in + FStar_List.collect (fun s -> s.FStar_Syntax_Syntax.sigattrs) + sigelts + in let type_abbrev_sigelts = FStar_All.pipe_right sigelts (FStar_List.collect - (fun x -> + (fun x -> match x.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_let - ((false, - { - FStar_Syntax_Syntax.lbname = FStar_Util.Inr - uu____68; - FStar_Syntax_Syntax.lbunivs = uu____69; - FStar_Syntax_Syntax.lbtyp = uu____70; - FStar_Syntax_Syntax.lbeff = uu____71; - FStar_Syntax_Syntax.lbdef = uu____72; - FStar_Syntax_Syntax.lbattrs = uu____73; - FStar_Syntax_Syntax.lbpos = uu____74;_}::[]), - uu____75) + ((false + ,{ + FStar_Syntax_Syntax.lbname = FStar_Util.Inr + uu____68; + FStar_Syntax_Syntax.lbunivs = uu____69; + FStar_Syntax_Syntax.lbtyp = uu____70; + FStar_Syntax_Syntax.lbeff = uu____71; + FStar_Syntax_Syntax.lbdef = uu____72; + FStar_Syntax_Syntax.lbattrs = uu____73; + FStar_Syntax_Syntax.lbpos = uu____74;_}::[]),uu____75) -> [x] - | FStar_Syntax_Syntax.Sig_let (uu____94, uu____95) -> + | FStar_Syntax_Syntax.Sig_let (uu____94,uu____95) -> failwith "mutrecty: disentangle_abbrevs_from_bundle: type_abbrev_sigelts: impossible" - | uu____103 -> [])) in + | uu____103 -> [])) + in match type_abbrev_sigelts with | [] -> ({ @@ -51,148 +52,171 @@ let (disentangle_abbrevs_from_bundle : let type_abbrevs = FStar_All.pipe_right type_abbrev_sigelts (FStar_List.map - (fun x -> + (fun x -> match x.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_let - ((uu____137, - { - FStar_Syntax_Syntax.lbname = FStar_Util.Inr - fv; - FStar_Syntax_Syntax.lbunivs = uu____139; - FStar_Syntax_Syntax.lbtyp = uu____140; - FStar_Syntax_Syntax.lbeff = uu____141; - FStar_Syntax_Syntax.lbdef = uu____142; - FStar_Syntax_Syntax.lbattrs = uu____143; - FStar_Syntax_Syntax.lbpos = uu____144;_}::[]), - uu____145) + ((uu____137,{ + FStar_Syntax_Syntax.lbname = + FStar_Util.Inr fv; + FStar_Syntax_Syntax.lbunivs = + uu____139; + FStar_Syntax_Syntax.lbtyp = + uu____140; + FStar_Syntax_Syntax.lbeff = + uu____141; + FStar_Syntax_Syntax.lbdef = + uu____142; + FStar_Syntax_Syntax.lbattrs = + uu____143; + FStar_Syntax_Syntax.lbpos = + uu____144;_}::[]),uu____145) -> (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v | uu____164 -> failwith - "mutrecty: disentangle_abbrevs_from_bundle: type_abbrevs: impossible")) in + "mutrecty: disentangle_abbrevs_from_bundle: type_abbrevs: impossible")) + in let unfolded_type_abbrevs = - let rev_unfolded_type_abbrevs = FStar_Util.mk_ref [] in - let in_progress = FStar_Util.mk_ref [] in - let not_unfolded_yet = FStar_Util.mk_ref type_abbrev_sigelts in + let rev_unfolded_type_abbrevs = FStar_Util.mk_ref [] in + let in_progress = FStar_Util.mk_ref [] in + let not_unfolded_yet = FStar_Util.mk_ref type_abbrev_sigelts + in let remove_not_unfolded lid = let uu____196 = - let uu____199 = FStar_ST.op_Bang not_unfolded_yet in + let uu____199 = FStar_ST.op_Bang not_unfolded_yet in FStar_All.pipe_right uu____199 (FStar_List.filter - (fun x -> + (fun x -> match x.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_let - ((uu____242, - { - FStar_Syntax_Syntax.lbname = - FStar_Util.Inr fv; - FStar_Syntax_Syntax.lbunivs = uu____244; - FStar_Syntax_Syntax.lbtyp = uu____245; - FStar_Syntax_Syntax.lbeff = uu____246; - FStar_Syntax_Syntax.lbdef = uu____247; - FStar_Syntax_Syntax.lbattrs = uu____248; - FStar_Syntax_Syntax.lbpos = uu____249;_}::[]), - uu____250) + ((uu____242,{ + FStar_Syntax_Syntax.lbname = + FStar_Util.Inr fv; + FStar_Syntax_Syntax.lbunivs = + uu____244; + FStar_Syntax_Syntax.lbtyp = + uu____245; + FStar_Syntax_Syntax.lbeff = + uu____246; + FStar_Syntax_Syntax.lbdef = + uu____247; + FStar_Syntax_Syntax.lbattrs = + uu____248; + FStar_Syntax_Syntax.lbpos = + uu____249;_}::[]),uu____250) -> let uu____269 = FStar_Ident.lid_equals lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in Prims.op_Negation uu____269 - | uu____271 -> true)) in - FStar_ST.op_Colon_Equals not_unfolded_yet uu____196 in + | uu____271 -> true)) + in + FStar_ST.op_Colon_Equals not_unfolded_yet uu____196 in let rec unfold_abbrev_fv t fv = let replacee x = match x.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_let - ((uu____322, - { FStar_Syntax_Syntax.lbname = FStar_Util.Inr fv'; - FStar_Syntax_Syntax.lbunivs = uu____324; - FStar_Syntax_Syntax.lbtyp = uu____325; - FStar_Syntax_Syntax.lbeff = uu____326; - FStar_Syntax_Syntax.lbdef = uu____327; - FStar_Syntax_Syntax.lbattrs = uu____328; - FStar_Syntax_Syntax.lbpos = uu____329;_}::[]), - uu____330) + ((uu____322,{ + FStar_Syntax_Syntax.lbname = + FStar_Util.Inr fv'; + FStar_Syntax_Syntax.lbunivs = uu____324; + FStar_Syntax_Syntax.lbtyp = uu____325; + FStar_Syntax_Syntax.lbeff = uu____326; + FStar_Syntax_Syntax.lbdef = uu____327; + FStar_Syntax_Syntax.lbattrs = uu____328; + FStar_Syntax_Syntax.lbpos = uu____329;_}::[]),uu____330) when FStar_Ident.lid_equals (fv'.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v -> FStar_Pervasives_Native.Some x - | uu____349 -> FStar_Pervasives_Native.None in + | uu____349 -> FStar_Pervasives_Native.None in let replacee_term x = match replacee x with | FStar_Pervasives_Native.Some { FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_let - ((uu____364, - { FStar_Syntax_Syntax.lbname = uu____365; - FStar_Syntax_Syntax.lbunivs = uu____366; - FStar_Syntax_Syntax.lbtyp = uu____367; - FStar_Syntax_Syntax.lbeff = uu____368; - FStar_Syntax_Syntax.lbdef = tm; - FStar_Syntax_Syntax.lbattrs = uu____370; - FStar_Syntax_Syntax.lbpos = uu____371;_}::[]), - uu____372); + ((uu____364,{ + FStar_Syntax_Syntax.lbname = + uu____365; + FStar_Syntax_Syntax.lbunivs = + uu____366; + FStar_Syntax_Syntax.lbtyp = + uu____367; + FStar_Syntax_Syntax.lbeff = + uu____368; + FStar_Syntax_Syntax.lbdef = tm; + FStar_Syntax_Syntax.lbattrs = + uu____370; + FStar_Syntax_Syntax.lbpos = + uu____371;_}::[]),uu____372); FStar_Syntax_Syntax.sigrng = uu____373; FStar_Syntax_Syntax.sigquals = uu____374; FStar_Syntax_Syntax.sigmeta = uu____375; FStar_Syntax_Syntax.sigattrs = uu____376;_} -> FStar_Pervasives_Native.Some tm - | uu____405 -> FStar_Pervasives_Native.None in + | uu____405 -> FStar_Pervasives_Native.None in let uu____410 = let uu____415 = - FStar_ST.op_Bang rev_unfolded_type_abbrevs in - FStar_Util.find_map uu____415 replacee_term in + FStar_ST.op_Bang rev_unfolded_type_abbrevs in + FStar_Util.find_map uu____415 replacee_term in match uu____410 with | FStar_Pervasives_Native.Some x -> x - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____450 = - FStar_Util.find_map type_abbrev_sigelts replacee in + FStar_Util.find_map type_abbrev_sigelts replacee in (match uu____450 with | FStar_Pervasives_Native.Some se -> let uu____454 = - let uu____456 = FStar_ST.op_Bang in_progress in + let uu____456 = FStar_ST.op_Bang in_progress in FStar_List.existsb - (fun x -> + (fun x -> FStar_Ident.lid_equals x (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) - uu____456 in + uu____456 + in if uu____454 then let msg = FStar_Util.format1 "Cycle on %s in mutually recursive type abbreviations" - ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.str in + ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.str + in let uu____488 = FStar_Ident.range_of_lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in FStar_Errors.raise_error (FStar_Errors.Fatal_CycleInRecTypeAbbreviation, msg) uu____488 else unfold_abbrev se | uu____492 -> t) + and unfold_abbrev x = match x.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_let ((false, lb::[]), uu____497) + | FStar_Syntax_Syntax.Sig_let ((false ,lb::[]),uu____497) -> let quals1 = FStar_All.pipe_right x.FStar_Syntax_Syntax.sigquals (FStar_List.filter - (fun uu___0_514 -> + (fun uu___0_514 -> match uu___0_514 with - | FStar_Syntax_Syntax.Noeq -> false - | uu____517 -> true)) in + | FStar_Syntax_Syntax.Noeq -> false + | uu____517 -> true)) + in let lid = match lb.FStar_Syntax_Syntax.lbname with | FStar_Util.Inr fv -> (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v | uu____521 -> failwith - "mutrecty: disentangle_abbrevs_from_bundle: rename_abbrev: lid: impossible" in + "mutrecty: disentangle_abbrevs_from_bundle: rename_abbrev: lid: impossible" + in ((let uu____528 = - let uu____531 = FStar_ST.op_Bang in_progress in lid - :: uu____531 in + let uu____531 = FStar_ST.op_Bang in_progress in + lid :: uu____531 in FStar_ST.op_Colon_Equals in_progress uu____528); (match () with | () -> @@ -201,12 +225,14 @@ let (disentangle_abbrevs_from_bundle : | () -> let ty' = FStar_Syntax_InstFV.inst unfold_abbrev_fv - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in let tm' = FStar_Syntax_InstFV.inst unfold_abbrev_fv - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in let lb' = - let uu___145_584 = lb in + let uu___145_584 = lb in { FStar_Syntax_Syntax.lbname = (uu___145_584.FStar_Syntax_Syntax.lbname); @@ -220,15 +246,17 @@ let (disentangle_abbrevs_from_bundle : (uu___145_584.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___145_584.FStar_Syntax_Syntax.lbpos) - } in + } in let sigelt' = FStar_Syntax_Syntax.Sig_let - ((false, [lb']), [lid]) in + ((false, [lb']), [lid]) + in ((let uu____593 = let uu____596 = FStar_ST.op_Bang - rev_unfolded_type_abbrevs in - (let uu___149_623 = x in + rev_unfolded_type_abbrevs + in + (let uu___149_623 = x in { FStar_Syntax_Syntax.sigel = sigelt'; FStar_Syntax_Syntax.sigrng = @@ -239,74 +267,83 @@ let (disentangle_abbrevs_from_bundle : (uu___149_623.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = (uu___149_623.FStar_Syntax_Syntax.sigattrs) - }) :: uu____596 in + }) :: uu____596 + in FStar_ST.op_Colon_Equals rev_unfolded_type_abbrevs uu____593); (match () with | () -> ((let uu____648 = let uu____651 = - FStar_ST.op_Bang in_progress in - FStar_List.tl uu____651 in + FStar_ST.op_Bang in_progress + in + FStar_List.tl uu____651 in FStar_ST.op_Colon_Equals in_progress uu____648); (match () with | () -> tm')))))))) | uu____700 -> failwith - "mutrecty: disentangle_abbrevs_from_bundle: rename_abbrev: impossible" in + "mutrecty: disentangle_abbrevs_from_bundle: rename_abbrev: impossible" + in let rec aux uu____709 = - let uu____710 = FStar_ST.op_Bang not_unfolded_yet in + let uu____710 = FStar_ST.op_Bang not_unfolded_yet in match uu____710 with - | x::uu____739 -> let _unused = unfold_abbrev x in aux () + | x::uu____739 -> let _unused = unfold_abbrev x in aux () | uu____743 -> let uu____746 = - FStar_ST.op_Bang rev_unfolded_type_abbrevs in - FStar_List.rev uu____746 in - aux () in + FStar_ST.op_Bang rev_unfolded_type_abbrevs in + FStar_List.rev uu____746 + in + aux () in let filter_out_type_abbrevs l = FStar_List.filter - (fun lid -> + (fun lid -> FStar_List.for_all - (fun lid' -> - let uu____789 = FStar_Ident.lid_equals lid lid' in - Prims.op_Negation uu____789) type_abbrevs) l in + (fun lid' -> + let uu____789 = FStar_Ident.lid_equals lid lid' in + Prims.op_Negation uu____789) type_abbrevs) l + in let inductives_with_abbrevs_unfolded = let find_in_unfolded fv = FStar_Util.find_map unfolded_type_abbrevs - (fun x -> + (fun x -> match x.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_let - ((uu____821, - { - FStar_Syntax_Syntax.lbname = FStar_Util.Inr - fv'; - FStar_Syntax_Syntax.lbunivs = uu____823; - FStar_Syntax_Syntax.lbtyp = uu____824; - FStar_Syntax_Syntax.lbeff = uu____825; - FStar_Syntax_Syntax.lbdef = tm; - FStar_Syntax_Syntax.lbattrs = uu____827; - FStar_Syntax_Syntax.lbpos = uu____828;_}::[]), - uu____829) + ((uu____821,{ + FStar_Syntax_Syntax.lbname = + FStar_Util.Inr fv'; + FStar_Syntax_Syntax.lbunivs = + uu____823; + FStar_Syntax_Syntax.lbtyp = + uu____824; + FStar_Syntax_Syntax.lbeff = + uu____825; + FStar_Syntax_Syntax.lbdef = tm; + FStar_Syntax_Syntax.lbattrs = + uu____827; + FStar_Syntax_Syntax.lbpos = + uu____828;_}::[]),uu____829) when FStar_Ident.lid_equals (fv'.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v -> FStar_Pervasives_Native.Some tm - | uu____850 -> FStar_Pervasives_Native.None) in + | uu____850 -> FStar_Pervasives_Native.None) + in let unfold_fv t fv = - let uu____864 = find_in_unfolded fv in + let uu____864 = find_in_unfolded fv in match uu____864 with | FStar_Pervasives_Native.Some t' -> t' - | uu____874 -> t in + | uu____874 -> t in let unfold_in_sig x = match x.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, univs, bnd, ty, mut, dc) -> + (lid,univs,bnd,ty,mut,dc) -> let bnd' = - FStar_Syntax_InstFV.inst_binders unfold_fv bnd in - let ty' = FStar_Syntax_InstFV.inst unfold_fv ty in - let mut' = filter_out_type_abbrevs mut in - [(let uu___204_909 = x in + FStar_Syntax_InstFV.inst_binders unfold_fv bnd in + let ty' = FStar_Syntax_InstFV.inst unfold_fv ty in + let mut' = filter_out_type_abbrevs mut in + [(let uu___204_909 = x in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_inductive_typ @@ -321,10 +358,10 @@ let (disentangle_abbrevs_from_bundle : (uu___204_909.FStar_Syntax_Syntax.sigattrs) })] | FStar_Syntax_Syntax.Sig_datacon - (lid, univs, ty, res, npars, mut) -> - let ty' = FStar_Syntax_InstFV.inst unfold_fv ty in - let mut' = filter_out_type_abbrevs mut in - [(let uu___216_931 = x in + (lid,univs,ty,res,npars,mut) -> + let ty' = FStar_Syntax_InstFV.inst unfold_fv ty in + let mut' = filter_out_type_abbrevs mut in + [(let uu___216_931 = x in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_datacon @@ -338,12 +375,13 @@ let (disentangle_abbrevs_from_bundle : FStar_Syntax_Syntax.sigattrs = (uu___216_931.FStar_Syntax_Syntax.sigattrs) })] - | FStar_Syntax_Syntax.Sig_let (uu____935, uu____936) -> [] + | FStar_Syntax_Syntax.Sig_let (uu____935,uu____936) -> [] | uu____941 -> failwith - "mutrecty: inductives_with_abbrevs_unfolded: unfold_in_sig: impossible" in - FStar_List.collect unfold_in_sig sigelts in - let new_members = filter_out_type_abbrevs members in + "mutrecty: inductives_with_abbrevs_unfolded: unfold_in_sig: impossible" + in + FStar_List.collect unfold_in_sig sigelts in + let new_members = filter_out_type_abbrevs members in let new_bundle = { FStar_Syntax_Syntax.sigel = @@ -354,5 +392,6 @@ let (disentangle_abbrevs_from_bundle : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = sigattrs - } in - (new_bundle, unfolded_type_abbrevs) \ No newline at end of file + } in + (new_bundle, unfolded_type_abbrevs) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Syntax_Print.ml b/src/ocaml-output/FStar_Syntax_Print.ml index ad3ca92f8b8..1e7fecf3759 100644 --- a/src/ocaml-output/FStar_Syntax_Print.ml +++ b/src/ocaml-output/FStar_Syntax_Print.ml @@ -1,46 +1,55 @@ open Prims let rec (delta_depth_to_string : FStar_Syntax_Syntax.delta_depth -> Prims.string) = - fun uu___0_5 -> + fun uu___0_5 -> match uu___0_5 with | FStar_Syntax_Syntax.Delta_constant_at_level i -> - let uu____9 = FStar_Util.string_of_int i in + let uu____9 = FStar_Util.string_of_int i in Prims.op_Hat "Delta_constant_at_level " uu____9 | FStar_Syntax_Syntax.Delta_equational_at_level i -> - let uu____14 = FStar_Util.string_of_int i in + let uu____14 = FStar_Util.string_of_int i in Prims.op_Hat "Delta_equational_at_level " uu____14 | FStar_Syntax_Syntax.Delta_abstract d -> let uu____18 = - let uu____20 = delta_depth_to_string d in Prims.op_Hat uu____20 ")" in + let uu____20 = delta_depth_to_string d in + Prims.op_Hat uu____20 ")" in Prims.op_Hat "Delta_abstract (" uu____18 + let (sli : FStar_Ident.lident -> Prims.string) = - fun l -> - let uu____32 = FStar_Options.print_real_names () in + fun l -> + let uu____32 = FStar_Options.print_real_names () in if uu____32 then l.FStar_Ident.str else (l.FStar_Ident.ident).FStar_Ident.idText -let (lid_to_string : FStar_Ident.lid -> Prims.string) = fun l -> sli l + +let (lid_to_string : FStar_Ident.lid -> Prims.string) = fun l -> sli l let (fv_to_string : FStar_Syntax_Syntax.fv -> Prims.string) = - fun fv -> + fun fv -> lid_to_string (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + let (bv_to_string : FStar_Syntax_Syntax.bv -> Prims.string) = - fun bv -> + fun bv -> let uu____59 = - let uu____61 = FStar_Util.string_of_int bv.FStar_Syntax_Syntax.index in - Prims.op_Hat "#" uu____61 in + let uu____61 = FStar_Util.string_of_int bv.FStar_Syntax_Syntax.index + in + Prims.op_Hat "#" uu____61 in Prims.op_Hat (bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText uu____59 + let (nm_to_string : FStar_Syntax_Syntax.bv -> Prims.string) = - fun bv -> - let uu____71 = FStar_Options.print_real_names () in + fun bv -> + let uu____71 = FStar_Options.print_real_names () in if uu____71 then bv_to_string bv else (bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText + let (db_to_string : FStar_Syntax_Syntax.bv -> Prims.string) = - fun bv -> + fun bv -> let uu____84 = - let uu____86 = FStar_Util.string_of_int bv.FStar_Syntax_Syntax.index in - Prims.op_Hat "@" uu____86 in + let uu____86 = FStar_Util.string_of_int bv.FStar_Syntax_Syntax.index + in + Prims.op_Hat "@" uu____86 in Prims.op_Hat (bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText uu____84 + let (infix_prim_ops : (FStar_Ident.lident * Prims.string) Prims.list) = [(FStar_Parser_Const.op_Addition, "+"); (FStar_Parser_Const.op_Subtraction, "-"); @@ -62,61 +71,67 @@ let (infix_prim_ops : (FStar_Ident.lident * Prims.string) Prims.list) = (FStar_Parser_Const.iff_lid, "<==>"); (FStar_Parser_Const.precedes_lid, "<<"); (FStar_Parser_Const.eq2_lid, "=="); - (FStar_Parser_Const.eq3_lid, "===")] + (FStar_Parser_Const.eq3_lid, "===")] let (unary_prim_ops : (FStar_Ident.lident * Prims.string) Prims.list) = [(FStar_Parser_Const.op_Negation, "not"); (FStar_Parser_Const.op_Minus, "-"); - (FStar_Parser_Const.not_lid, "~")] + (FStar_Parser_Const.not_lid, "~")] let (is_prim_op : FStar_Ident.lident Prims.list -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun ps -> - fun f -> + fun ps -> + fun f -> match f.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_All.pipe_right ps (FStar_Util.for_some (FStar_Syntax_Syntax.fv_eq_lid fv)) | uu____308 -> false + let (get_lid : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Ident.lident) = - fun f -> + fun f -> match f.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v | uu____321 -> failwith "get_lid" + let (is_infix_prim_op : FStar_Syntax_Syntax.term -> Prims.bool) = - fun e -> + fun e -> is_prim_op (FStar_Pervasives_Native.fst (FStar_List.split infix_prim_ops)) e + let (is_unary_prim_op : FStar_Syntax_Syntax.term -> Prims.bool) = - fun e -> + fun e -> is_prim_op (FStar_Pervasives_Native.fst (FStar_List.split unary_prim_ops)) e + let (quants : (FStar_Ident.lident * Prims.string) Prims.list) = [(FStar_Parser_Const.forall_lid, "forall"); - (FStar_Parser_Const.exists_lid, "exists")] + (FStar_Parser_Const.exists_lid, "exists")] type exp = FStar_Syntax_Syntax.term let (is_b2t : FStar_Syntax_Syntax.typ -> Prims.bool) = - fun t -> is_prim_op [FStar_Parser_Const.b2t_lid] t + fun t -> is_prim_op [FStar_Parser_Const.b2t_lid] t let (is_quant : FStar_Syntax_Syntax.typ -> Prims.bool) = - fun t -> + fun t -> is_prim_op (FStar_Pervasives_Native.fst (FStar_List.split quants)) t + let (is_ite : FStar_Syntax_Syntax.typ -> Prims.bool) = - fun t -> is_prim_op [FStar_Parser_Const.ite_lid] t + fun t -> is_prim_op [FStar_Parser_Const.ite_lid] t let (is_lex_cons : exp -> Prims.bool) = - fun f -> is_prim_op [FStar_Parser_Const.lexcons_lid] f + fun f -> is_prim_op [FStar_Parser_Const.lexcons_lid] f let (is_lex_top : exp -> Prims.bool) = - fun f -> is_prim_op [FStar_Parser_Const.lextop_lid] f + fun f -> is_prim_op [FStar_Parser_Const.lextop_lid] f let is_inr : 'Auu____424 'Auu____425 . - ('Auu____424, 'Auu____425) FStar_Util.either -> Prims.bool + ('Auu____424,'Auu____425) FStar_Util.either -> Prims.bool = - fun uu___1_435 -> + fun uu___1_435 -> match uu___1_435 with | FStar_Util.Inl uu____440 -> false | FStar_Util.Inr uu____442 -> true + let filter_imp : 'Auu____449 . ('Auu____449 * FStar_Syntax_Syntax.arg_qualifier @@ -124,262 +139,287 @@ let filter_imp : ('Auu____449 * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list = - fun a -> + fun a -> FStar_All.pipe_right a (FStar_List.filter - (fun uu___2_504 -> + (fun uu___2_504 -> match uu___2_504 with - | (uu____512, FStar_Pervasives_Native.Some + | (uu____512,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t)) when FStar_Syntax_Util.is_fvar FStar_Parser_Const.tcresolve_lid t -> true - | (uu____519, FStar_Pervasives_Native.Some + | (uu____519,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit uu____520)) -> false - | (uu____525, FStar_Pervasives_Native.Some + | (uu____525,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta uu____526)) -> false | uu____532 -> true)) + let rec (reconstruct_lex : exp -> exp Prims.list FStar_Pervasives_Native.option) = - fun e -> + fun e -> let uu____550 = - let uu____551 = FStar_Syntax_Subst.compress e in - uu____551.FStar_Syntax_Syntax.n in + let uu____551 = FStar_Syntax_Subst.compress e in + uu____551.FStar_Syntax_Syntax.n in match uu____550 with - | FStar_Syntax_Syntax.Tm_app (f, args) -> - let args1 = filter_imp args in - let exps = FStar_List.map FStar_Pervasives_Native.fst args1 in + | FStar_Syntax_Syntax.Tm_app (f,args) -> + let args1 = filter_imp args in + let exps = FStar_List.map FStar_Pervasives_Native.fst args1 in let uu____612 = (is_lex_cons f) && - ((FStar_List.length exps) = (Prims.parse_int "2")) in + ((FStar_List.length exps) = (Prims.parse_int "2")) + in if uu____612 then let uu____621 = - let uu____626 = FStar_List.nth exps (Prims.parse_int "1") in - reconstruct_lex uu____626 in + let uu____626 = FStar_List.nth exps (Prims.parse_int "1") in + reconstruct_lex uu____626 in (match uu____621 with | FStar_Pervasives_Native.Some xs -> let uu____637 = - let uu____640 = FStar_List.nth exps (Prims.parse_int "0") in - uu____640 :: xs in + let uu____640 = FStar_List.nth exps (Prims.parse_int "0") + in + uu____640 :: xs in FStar_Pervasives_Native.Some uu____637 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) else FStar_Pervasives_Native.None | uu____652 -> - let uu____653 = is_lex_top e in + let uu____653 = is_lex_top e in if uu____653 then FStar_Pervasives_Native.Some [] else FStar_Pervasives_Native.None + let rec find : 'a . ('a -> Prims.bool) -> 'a Prims.list -> 'a = - fun f -> - fun l -> + fun f -> + fun l -> match l with | [] -> failwith "blah" | hd1::tl1 -> - let uu____701 = f hd1 in if uu____701 then hd1 else find f tl1 + let uu____701 = f hd1 in if uu____701 then hd1 else find f tl1 + let (find_lid : FStar_Ident.lident -> (FStar_Ident.lident * Prims.string) Prims.list -> Prims.string) = - fun x -> - fun xs -> + fun x -> + fun xs -> let uu____733 = find - (fun p -> FStar_Ident.lid_equals x (FStar_Pervasives_Native.fst p)) - xs in + (fun p -> FStar_Ident.lid_equals x (FStar_Pervasives_Native.fst p)) + xs + in FStar_Pervasives_Native.snd uu____733 + let (infix_prim_op_to_string : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> Prims.string) = - fun e -> let uu____764 = get_lid e in find_lid uu____764 infix_prim_ops + fun e -> let uu____764 = get_lid e in find_lid uu____764 infix_prim_ops let (unary_prim_op_to_string : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> Prims.string) = - fun e -> let uu____776 = get_lid e in find_lid uu____776 unary_prim_ops + fun e -> let uu____776 = get_lid e in find_lid uu____776 unary_prim_ops let (quant_to_string : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> Prims.string) = - fun t -> let uu____788 = get_lid t in find_lid uu____788 quants + fun t -> let uu____788 = get_lid t in find_lid uu____788 quants let (const_to_string : FStar_Const.sconst -> Prims.string) = - fun x -> FStar_Parser_Const.const_to_string x + fun x -> FStar_Parser_Const.const_to_string x let (lbname_to_string : FStar_Syntax_Syntax.lbname -> Prims.string) = - fun uu___3_802 -> + fun uu___3_802 -> match uu___3_802 with | FStar_Util.Inl l -> bv_to_string l | FStar_Util.Inr l -> lid_to_string (l.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + let (uvar_to_string : FStar_Syntax_Syntax.uvar -> Prims.string) = - fun u -> - let uu____813 = FStar_Options.hide_uvar_nums () in + fun u -> + let uu____813 = FStar_Options.hide_uvar_nums () in if uu____813 then "?" else (let uu____820 = - let uu____822 = FStar_Syntax_Unionfind.uvar_id u in - FStar_All.pipe_right uu____822 FStar_Util.string_of_int in + let uu____822 = FStar_Syntax_Unionfind.uvar_id u in + FStar_All.pipe_right uu____822 FStar_Util.string_of_int in Prims.op_Hat "?" uu____820) + let (version_to_string : FStar_Syntax_Syntax.version -> Prims.string) = - fun v1 -> - let uu____834 = FStar_Util.string_of_int v1.FStar_Syntax_Syntax.major in - let uu____836 = FStar_Util.string_of_int v1.FStar_Syntax_Syntax.minor in + fun v1 -> + let uu____834 = FStar_Util.string_of_int v1.FStar_Syntax_Syntax.major in + let uu____836 = FStar_Util.string_of_int v1.FStar_Syntax_Syntax.minor in FStar_Util.format2 "%s.%s" uu____834 uu____836 + let (univ_uvar_to_string : (FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option FStar_Unionfind.p_uvar * FStar_Syntax_Syntax.version) -> Prims.string) = - fun u -> - let uu____862 = FStar_Options.hide_uvar_nums () in + fun u -> + let uu____862 = FStar_Options.hide_uvar_nums () in if uu____862 then "?" else (let uu____869 = let uu____871 = - let uu____873 = FStar_Syntax_Unionfind.univ_uvar_id u in - FStar_All.pipe_right uu____873 FStar_Util.string_of_int in + let uu____873 = FStar_Syntax_Unionfind.univ_uvar_id u in + FStar_All.pipe_right uu____873 FStar_Util.string_of_int in let uu____877 = - let uu____879 = version_to_string (FStar_Pervasives_Native.snd u) in - Prims.op_Hat ":" uu____879 in - Prims.op_Hat uu____871 uu____877 in + let uu____879 = version_to_string (FStar_Pervasives_Native.snd u) + in + Prims.op_Hat ":" uu____879 in + Prims.op_Hat uu____871 uu____877 in Prims.op_Hat "?" uu____869) + let rec (int_of_univ : Prims.int -> FStar_Syntax_Syntax.universe -> (Prims.int * FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option)) = - fun n1 -> - fun u -> - let uu____907 = FStar_Syntax_Subst.compress_univ u in + fun n1 -> + fun u -> + let uu____907 = FStar_Syntax_Subst.compress_univ u in match uu____907 with - | FStar_Syntax_Syntax.U_zero -> (n1, FStar_Pervasives_Native.None) + | FStar_Syntax_Syntax.U_zero -> (n1, FStar_Pervasives_Native.None) | FStar_Syntax_Syntax.U_succ u1 -> int_of_univ (n1 + (Prims.parse_int "1")) u1 | uu____920 -> (n1, (FStar_Pervasives_Native.Some u)) + let rec (univ_to_string : FStar_Syntax_Syntax.universe -> Prims.string) = - fun u -> - let uu____931 = FStar_Syntax_Subst.compress_univ u in + fun u -> + let uu____931 = FStar_Syntax_Subst.compress_univ u in match uu____931 with | FStar_Syntax_Syntax.U_unif u1 -> - let uu____942 = univ_uvar_to_string u1 in + let uu____942 = univ_uvar_to_string u1 in Prims.op_Hat "U_unif " uu____942 | FStar_Syntax_Syntax.U_name x -> Prims.op_Hat "U_name " x.FStar_Ident.idText | FStar_Syntax_Syntax.U_bvar x -> - let uu____949 = FStar_Util.string_of_int x in + let uu____949 = FStar_Util.string_of_int x in Prims.op_Hat "@" uu____949 - | FStar_Syntax_Syntax.U_zero -> "0" + | FStar_Syntax_Syntax.U_zero -> "0" | FStar_Syntax_Syntax.U_succ u1 -> - let uu____954 = int_of_univ (Prims.parse_int "1") u1 in + let uu____954 = int_of_univ (Prims.parse_int "1") u1 in (match uu____954 with - | (n1, FStar_Pervasives_Native.None) -> FStar_Util.string_of_int n1 - | (n1, FStar_Pervasives_Native.Some u2) -> - let uu____975 = univ_to_string u2 in - let uu____977 = FStar_Util.string_of_int n1 in + | (n1,FStar_Pervasives_Native.None ) -> FStar_Util.string_of_int n1 + | (n1,FStar_Pervasives_Native.Some u2) -> + let uu____975 = univ_to_string u2 in + let uu____977 = FStar_Util.string_of_int n1 in FStar_Util.format2 "(%s + %s)" uu____975 uu____977) | FStar_Syntax_Syntax.U_max us -> let uu____983 = - let uu____985 = FStar_List.map univ_to_string us in - FStar_All.pipe_right uu____985 (FStar_String.concat ", ") in + let uu____985 = FStar_List.map univ_to_string us in + FStar_All.pipe_right uu____985 (FStar_String.concat ", ") in FStar_Util.format1 "(max %s)" uu____983 - | FStar_Syntax_Syntax.U_unknown -> "unknown" + | FStar_Syntax_Syntax.U_unknown -> "unknown" + let (univs_to_string : FStar_Syntax_Syntax.universes -> Prims.string) = - fun us -> - let uu____1004 = FStar_List.map univ_to_string us in + fun us -> + let uu____1004 = FStar_List.map univ_to_string us in FStar_All.pipe_right uu____1004 (FStar_String.concat ", ") + let (univ_names_to_string : FStar_Syntax_Syntax.univ_names -> Prims.string) = - fun us -> - let uu____1021 = FStar_List.map (fun x -> x.FStar_Ident.idText) us in + fun us -> + let uu____1021 = FStar_List.map (fun x -> x.FStar_Ident.idText) us in FStar_All.pipe_right uu____1021 (FStar_String.concat ", ") + let (qual_to_string : FStar_Syntax_Syntax.qualifier -> Prims.string) = - fun uu___4_1039 -> + fun uu___4_1039 -> match uu___4_1039 with - | FStar_Syntax_Syntax.Assumption -> "assume" - | FStar_Syntax_Syntax.New -> "new" - | FStar_Syntax_Syntax.Private -> "private" - | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen -> "unfold" - | FStar_Syntax_Syntax.Inline_for_extraction -> "inline" - | FStar_Syntax_Syntax.NoExtract -> "noextract" - | FStar_Syntax_Syntax.Visible_default -> "visible" - | FStar_Syntax_Syntax.Irreducible -> "irreducible" - | FStar_Syntax_Syntax.Abstract -> "abstract" - | FStar_Syntax_Syntax.Noeq -> "noeq" - | FStar_Syntax_Syntax.Unopteq -> "unopteq" - | FStar_Syntax_Syntax.Logic -> "logic" - | FStar_Syntax_Syntax.TotalEffect -> "total" + | FStar_Syntax_Syntax.Assumption -> "assume" + | FStar_Syntax_Syntax.New -> "new" + | FStar_Syntax_Syntax.Private -> "private" + | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen -> "unfold" + | FStar_Syntax_Syntax.Inline_for_extraction -> "inline" + | FStar_Syntax_Syntax.NoExtract -> "noextract" + | FStar_Syntax_Syntax.Visible_default -> "visible" + | FStar_Syntax_Syntax.Irreducible -> "irreducible" + | FStar_Syntax_Syntax.Abstract -> "abstract" + | FStar_Syntax_Syntax.Noeq -> "noeq" + | FStar_Syntax_Syntax.Unopteq -> "unopteq" + | FStar_Syntax_Syntax.Logic -> "logic" + | FStar_Syntax_Syntax.TotalEffect -> "total" | FStar_Syntax_Syntax.Discriminator l -> - let uu____1055 = lid_to_string l in + let uu____1055 = lid_to_string l in FStar_Util.format1 "(Discriminator %s)" uu____1055 - | FStar_Syntax_Syntax.Projector (l, x) -> - let uu____1060 = lid_to_string l in + | FStar_Syntax_Syntax.Projector (l,x) -> + let uu____1060 = lid_to_string l in FStar_Util.format2 "(Projector %s %s)" uu____1060 x.FStar_Ident.idText - | FStar_Syntax_Syntax.RecordType (ns, fns) -> + | FStar_Syntax_Syntax.RecordType (ns,fns) -> let uu____1073 = - let uu____1075 = FStar_Ident.path_of_ns ns in - FStar_Ident.text_of_path uu____1075 in + let uu____1075 = FStar_Ident.path_of_ns ns in + FStar_Ident.text_of_path uu____1075 in let uu____1076 = let uu____1078 = - FStar_All.pipe_right fns (FStar_List.map FStar_Ident.text_of_id) in - FStar_All.pipe_right uu____1078 (FStar_String.concat ", ") in + FStar_All.pipe_right fns (FStar_List.map FStar_Ident.text_of_id) + in + FStar_All.pipe_right uu____1078 (FStar_String.concat ", ") in FStar_Util.format2 "(RecordType %s %s)" uu____1073 uu____1076 - | FStar_Syntax_Syntax.RecordConstructor (ns, fns) -> + | FStar_Syntax_Syntax.RecordConstructor (ns,fns) -> let uu____1104 = - let uu____1106 = FStar_Ident.path_of_ns ns in - FStar_Ident.text_of_path uu____1106 in + let uu____1106 = FStar_Ident.path_of_ns ns in + FStar_Ident.text_of_path uu____1106 in let uu____1107 = let uu____1109 = - FStar_All.pipe_right fns (FStar_List.map FStar_Ident.text_of_id) in - FStar_All.pipe_right uu____1109 (FStar_String.concat ", ") in + FStar_All.pipe_right fns (FStar_List.map FStar_Ident.text_of_id) + in + FStar_All.pipe_right uu____1109 (FStar_String.concat ", ") in FStar_Util.format2 "(RecordConstructor %s %s)" uu____1104 uu____1107 | FStar_Syntax_Syntax.Action eff_lid -> - let uu____1126 = lid_to_string eff_lid in + let uu____1126 = lid_to_string eff_lid in FStar_Util.format1 "(Action %s)" uu____1126 - | FStar_Syntax_Syntax.ExceptionConstructor -> "ExceptionConstructor" - | FStar_Syntax_Syntax.HasMaskedEffect -> "HasMaskedEffect" - | FStar_Syntax_Syntax.Effect -> "Effect" - | FStar_Syntax_Syntax.Reifiable -> "reify" + | FStar_Syntax_Syntax.ExceptionConstructor -> "ExceptionConstructor" + | FStar_Syntax_Syntax.HasMaskedEffect -> "HasMaskedEffect" + | FStar_Syntax_Syntax.Effect -> "Effect" + | FStar_Syntax_Syntax.Reifiable -> "reify" | FStar_Syntax_Syntax.Reflectable l -> FStar_Util.format1 "(reflect %s)" l.FStar_Ident.str - | FStar_Syntax_Syntax.OnlyName -> "OnlyName" + | FStar_Syntax_Syntax.OnlyName -> "OnlyName" + let (quals_to_string : FStar_Syntax_Syntax.qualifier Prims.list -> Prims.string) = - fun quals -> + fun quals -> match quals with | [] -> "" | uu____1149 -> let uu____1152 = - FStar_All.pipe_right quals (FStar_List.map qual_to_string) in + FStar_All.pipe_right quals (FStar_List.map qual_to_string) in FStar_All.pipe_right uu____1152 (FStar_String.concat " ") + let (quals_to_string' : FStar_Syntax_Syntax.qualifier Prims.list -> Prims.string) = - fun quals -> + fun quals -> match quals with | [] -> "" | uu____1180 -> - let uu____1183 = quals_to_string quals in Prims.op_Hat uu____1183 " " + let uu____1183 = quals_to_string quals in + Prims.op_Hat uu____1183 " " + let (paren : Prims.string -> Prims.string) = - fun s -> Prims.op_Hat "(" (Prims.op_Hat s ")") + fun s -> Prims.op_Hat "(" (Prims.op_Hat s ")") let rec (tag_of_term : FStar_Syntax_Syntax.term -> Prims.string) = - fun t -> + fun t -> match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_bvar x -> - let uu____1379 = db_to_string x in + let uu____1379 = db_to_string x in Prims.op_Hat "Tm_bvar: " uu____1379 | FStar_Syntax_Syntax.Tm_name x -> - let uu____1383 = nm_to_string x in + let uu____1383 = nm_to_string x in Prims.op_Hat "Tm_name: " uu____1383 | FStar_Syntax_Syntax.Tm_fvar x -> let uu____1387 = - lid_to_string (x.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + lid_to_string (x.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in Prims.op_Hat "Tm_fvar: " uu____1387 | FStar_Syntax_Syntax.Tm_uinst uu____1390 -> "Tm_uinst" | FStar_Syntax_Syntax.Tm_constant uu____1398 -> "Tm_constant" | FStar_Syntax_Syntax.Tm_type uu____1400 -> "Tm_type" | FStar_Syntax_Syntax.Tm_quoted - (uu____1402, - { FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_static; - FStar_Syntax_Syntax.antiquotes = uu____1403;_}) + (uu____1402,{ + FStar_Syntax_Syntax.qkind = + FStar_Syntax_Syntax.Quote_static ; + FStar_Syntax_Syntax.antiquotes = uu____1403;_}) -> "Tm_quoted (static)" | FStar_Syntax_Syntax.Tm_quoted - (uu____1417, - { FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_dynamic; - FStar_Syntax_Syntax.antiquotes = uu____1418;_}) + (uu____1417,{ + FStar_Syntax_Syntax.qkind = + FStar_Syntax_Syntax.Quote_dynamic ; + FStar_Syntax_Syntax.antiquotes = uu____1418;_}) -> "Tm_quoted (dynamic)" | FStar_Syntax_Syntax.Tm_abs uu____1432 -> "Tm_abs" | FStar_Syntax_Syntax.Tm_arrow uu____1452 -> "Tm_arrow" @@ -389,47 +429,48 @@ let rec (tag_of_term : FStar_Syntax_Syntax.term -> Prims.string) = | FStar_Syntax_Syntax.Tm_ascribed uu____1518 -> "Tm_ascribed" | FStar_Syntax_Syntax.Tm_let uu____1546 -> "Tm_let" | FStar_Syntax_Syntax.Tm_uvar uu____1561 -> "Tm_uvar" - | FStar_Syntax_Syntax.Tm_delayed (uu____1575, m) -> - let uu____1613 = FStar_ST.op_Bang m in + | FStar_Syntax_Syntax.Tm_delayed (uu____1575,m) -> + let uu____1613 = FStar_ST.op_Bang m in (match uu____1613 with - | FStar_Pervasives_Native.None -> "Tm_delayed" + | FStar_Pervasives_Native.None -> "Tm_delayed" | FStar_Pervasives_Native.Some uu____1649 -> "Tm_delayed-resolved") - | FStar_Syntax_Syntax.Tm_meta (uu____1655, m) -> - let uu____1661 = metadata_to_string m in + | FStar_Syntax_Syntax.Tm_meta (uu____1655,m) -> + let uu____1661 = metadata_to_string m in Prims.op_Hat "Tm_meta:" uu____1661 - | FStar_Syntax_Syntax.Tm_unknown -> "Tm_unknown" + | FStar_Syntax_Syntax.Tm_unknown -> "Tm_unknown" | FStar_Syntax_Syntax.Tm_lazy uu____1665 -> "Tm_lazy" + and (term_to_string : FStar_Syntax_Syntax.term -> Prims.string) = - fun x -> + fun x -> let uu____1668 = - let uu____1670 = FStar_Options.ugly () in Prims.op_Negation uu____1670 in + let uu____1670 = FStar_Options.ugly () in Prims.op_Negation uu____1670 + in if uu____1668 then - let e = FStar_Syntax_Resugar.resugar_term x in - let d = FStar_Parser_ToDocument.term_to_document e in + let e = FStar_Syntax_Resugar.resugar_term x in + let d = FStar_Parser_ToDocument.term_to_document e in FStar_Pprint.pretty_string (FStar_Util.float_of_string "1.0") (Prims.parse_int "100") d else - (let x1 = FStar_Syntax_Subst.compress x in + (let x1 = FStar_Syntax_Subst.compress x in let x2 = - let uu____1684 = FStar_Options.print_implicits () in - if uu____1684 then x1 else FStar_Syntax_Util.unmeta x1 in + let uu____1684 = FStar_Options.print_implicits () in + if uu____1684 then x1 else FStar_Syntax_Util.unmeta x1 in match x2.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_delayed uu____1692 -> failwith "impossible" - | FStar_Syntax_Syntax.Tm_app (uu____1717, []) -> - failwith "Empty args!" + | FStar_Syntax_Syntax.Tm_app (uu____1717,[]) -> failwith "Empty args!" | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = b; FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_embedding - (uu____1743, thunk1); + (uu____1743,thunk1); FStar_Syntax_Syntax.ltyp = uu____1745; FStar_Syntax_Syntax.rng = uu____1746;_} -> let uu____1757 = let uu____1759 = - let uu____1761 = FStar_Common.force_thunk thunk1 in - term_to_string uu____1761 in - Prims.op_Hat uu____1759 "]" in + let uu____1761 = FStar_Common.force_thunk thunk1 in + term_to_string uu____1761 in + Prims.op_Hat uu____1759 "]" in Prims.op_Hat "[LAZYEMB:" uu____1757 | FStar_Syntax_Syntax.Tm_lazy i -> let uu____1767 = @@ -437,964 +478,1067 @@ and (term_to_string : FStar_Syntax_Syntax.term -> Prims.string) = let uu____1771 = let uu____1772 = let uu____1781 = - FStar_ST.op_Bang FStar_Syntax_Syntax.lazy_chooser in - FStar_Util.must uu____1781 in - uu____1772 i.FStar_Syntax_Syntax.lkind i in - term_to_string uu____1771 in - Prims.op_Hat uu____1769 "]" in + FStar_ST.op_Bang FStar_Syntax_Syntax.lazy_chooser in + FStar_Util.must uu____1781 in + uu____1772 i.FStar_Syntax_Syntax.lkind i in + term_to_string uu____1771 in + Prims.op_Hat uu____1769 "]" in Prims.op_Hat "[lazy:" uu____1767 - | FStar_Syntax_Syntax.Tm_quoted (tm, qi) -> + | FStar_Syntax_Syntax.Tm_quoted (tm,qi) -> (match qi.FStar_Syntax_Syntax.qkind with - | FStar_Syntax_Syntax.Quote_static -> + | FStar_Syntax_Syntax.Quote_static -> let print_aq uu____1850 = match uu____1850 with - | (bv, t) -> - let uu____1858 = bv_to_string bv in - let uu____1860 = term_to_string t in - FStar_Util.format2 "%s -> %s" uu____1858 uu____1860 in - let uu____1863 = term_to_string tm in + | (bv,t) -> + let uu____1858 = bv_to_string bv in + let uu____1860 = term_to_string t in + FStar_Util.format2 "%s -> %s" uu____1858 uu____1860 + in + let uu____1863 = term_to_string tm in let uu____1865 = FStar_Common.string_of_list print_aq - qi.FStar_Syntax_Syntax.antiquotes in + qi.FStar_Syntax_Syntax.antiquotes + in FStar_Util.format2 "`(%s)%s" uu____1863 uu____1865 - | FStar_Syntax_Syntax.Quote_dynamic -> - let uu____1874 = term_to_string tm in + | FStar_Syntax_Syntax.Quote_dynamic -> + let uu____1874 = term_to_string tm in FStar_Util.format1 "quote (%s)" uu____1874) | FStar_Syntax_Syntax.Tm_meta - (t, FStar_Syntax_Syntax.Meta_pattern (uu____1878, ps)) -> + (t,FStar_Syntax_Syntax.Meta_pattern (uu____1878,ps)) -> let pats = let uu____1918 = FStar_All.pipe_right ps (FStar_List.map - (fun args -> + (fun args -> let uu____1955 = FStar_All.pipe_right args (FStar_List.map - (fun uu____1980 -> + (fun uu____1980 -> match uu____1980 with - | (t1, uu____1989) -> term_to_string t1)) in + | (t1,uu____1989) -> term_to_string t1)) + in FStar_All.pipe_right uu____1955 - (FStar_String.concat "; "))) in - FStar_All.pipe_right uu____1918 (FStar_String.concat "\\/") in - let uu____2004 = term_to_string t in + (FStar_String.concat "; "))) + in + FStar_All.pipe_right uu____1918 (FStar_String.concat "\\/") in + let uu____2004 = term_to_string t in FStar_Util.format2 "{:pattern %s} %s" pats uu____2004 | FStar_Syntax_Syntax.Tm_meta - (t, FStar_Syntax_Syntax.Meta_monadic (m, t')) -> - let uu____2018 = tag_of_term t in - let uu____2020 = sli m in - let uu____2022 = term_to_string t' in - let uu____2024 = term_to_string t in + (t,FStar_Syntax_Syntax.Meta_monadic (m,t')) -> + let uu____2018 = tag_of_term t in + let uu____2020 = sli m in + let uu____2022 = term_to_string t' in + let uu____2024 = term_to_string t in FStar_Util.format4 "(Monadic-%s{%s %s} %s)" uu____2018 uu____2020 uu____2022 uu____2024 | FStar_Syntax_Syntax.Tm_meta - (t, FStar_Syntax_Syntax.Meta_monadic_lift (m0, m1, t')) -> - let uu____2039 = tag_of_term t in - let uu____2041 = term_to_string t' in - let uu____2043 = sli m0 in - let uu____2045 = sli m1 in - let uu____2047 = term_to_string t in + (t,FStar_Syntax_Syntax.Meta_monadic_lift (m0,m1,t')) -> + let uu____2039 = tag_of_term t in + let uu____2041 = term_to_string t' in + let uu____2043 = sli m0 in + let uu____2045 = sli m1 in + let uu____2047 = term_to_string t in FStar_Util.format5 "(MonadicLift-%s{%s : %s -> %s} %s)" uu____2039 uu____2041 uu____2043 uu____2045 uu____2047 | FStar_Syntax_Syntax.Tm_meta - (t, FStar_Syntax_Syntax.Meta_labeled (l, r, b)) -> - let uu____2062 = FStar_Range.string_of_range r in - let uu____2064 = term_to_string t in + (t,FStar_Syntax_Syntax.Meta_labeled (l,r,b)) -> + let uu____2062 = FStar_Range.string_of_range r in + let uu____2064 = term_to_string t in FStar_Util.format3 "Meta_labeled(%s, %s){%s}" l uu____2062 uu____2064 - | FStar_Syntax_Syntax.Tm_meta (t, FStar_Syntax_Syntax.Meta_named l) -> - let uu____2073 = lid_to_string l in + | FStar_Syntax_Syntax.Tm_meta (t,FStar_Syntax_Syntax.Meta_named l) -> + let uu____2073 = lid_to_string l in let uu____2075 = - FStar_Range.string_of_range t.FStar_Syntax_Syntax.pos in - let uu____2077 = term_to_string t in + FStar_Range.string_of_range t.FStar_Syntax_Syntax.pos in + let uu____2077 = term_to_string t in FStar_Util.format3 "Meta_named(%s, %s){%s}" uu____2073 uu____2075 uu____2077 | FStar_Syntax_Syntax.Tm_meta - (t, FStar_Syntax_Syntax.Meta_desugared uu____2081) -> - let uu____2086 = term_to_string t in + (t,FStar_Syntax_Syntax.Meta_desugared uu____2081) -> + let uu____2086 = term_to_string t in FStar_Util.format1 "Meta_desugared{%s}" uu____2086 | FStar_Syntax_Syntax.Tm_bvar x3 -> - let uu____2090 = db_to_string x3 in + let uu____2090 = db_to_string x3 in let uu____2092 = let uu____2094 = - let uu____2096 = tag_of_term x3.FStar_Syntax_Syntax.sort in - Prims.op_Hat uu____2096 ")" in - Prims.op_Hat ":(" uu____2094 in + let uu____2096 = tag_of_term x3.FStar_Syntax_Syntax.sort in + Prims.op_Hat uu____2096 ")" in + Prims.op_Hat ":(" uu____2094 in Prims.op_Hat uu____2090 uu____2092 | FStar_Syntax_Syntax.Tm_name x3 -> nm_to_string x3 | FStar_Syntax_Syntax.Tm_fvar f -> fv_to_string f - | FStar_Syntax_Syntax.Tm_uvar (u, ([], uu____2103)) -> + | FStar_Syntax_Syntax.Tm_uvar (u,([],uu____2103)) -> let uu____2118 = (FStar_Options.print_bound_var_types ()) && - (FStar_Options.print_effect_args ()) in + (FStar_Options.print_effect_args ()) + in if uu____2118 then ctx_uvar_to_string u else (let uu____2124 = let uu____2126 = FStar_Syntax_Unionfind.uvar_id - u.FStar_Syntax_Syntax.ctx_uvar_head in - FStar_All.pipe_left FStar_Util.string_of_int uu____2126 in + u.FStar_Syntax_Syntax.ctx_uvar_head + in + FStar_All.pipe_left FStar_Util.string_of_int uu____2126 in Prims.op_Hat "?" uu____2124) - | FStar_Syntax_Syntax.Tm_uvar (u, s) -> + | FStar_Syntax_Syntax.Tm_uvar (u,s) -> let uu____2149 = (FStar_Options.print_bound_var_types ()) && - (FStar_Options.print_effect_args ()) in + (FStar_Options.print_effect_args ()) + in if uu____2149 then - let uu____2153 = ctx_uvar_to_string u in + let uu____2153 = ctx_uvar_to_string u in let uu____2155 = let uu____2157 = FStar_List.map subst_to_string - (FStar_Pervasives_Native.fst s) in - FStar_All.pipe_right uu____2157 (FStar_String.concat "; ") in + (FStar_Pervasives_Native.fst s) + in + FStar_All.pipe_right uu____2157 (FStar_String.concat "; ") in FStar_Util.format2 "(%s @ %s)" uu____2153 uu____2155 else (let uu____2176 = let uu____2178 = FStar_Syntax_Unionfind.uvar_id - u.FStar_Syntax_Syntax.ctx_uvar_head in - FStar_All.pipe_left FStar_Util.string_of_int uu____2178 in + u.FStar_Syntax_Syntax.ctx_uvar_head + in + FStar_All.pipe_left FStar_Util.string_of_int uu____2178 in Prims.op_Hat "?" uu____2176) | FStar_Syntax_Syntax.Tm_constant c -> const_to_string c | FStar_Syntax_Syntax.Tm_type u -> - let uu____2185 = FStar_Options.print_universes () in + let uu____2185 = FStar_Options.print_universes () in if uu____2185 then - let uu____2189 = univ_to_string u in + let uu____2189 = univ_to_string u in FStar_Util.format1 "Type u#(%s)" uu____2189 else "Type" - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____2217 = binders_to_string " -> " bs in - let uu____2220 = comp_to_string c in + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____2217 = binders_to_string " -> " bs in + let uu____2220 = comp_to_string c in FStar_Util.format2 "(%s -> %s)" uu____2217 uu____2220 - | FStar_Syntax_Syntax.Tm_abs (bs, t2, lc) -> + | FStar_Syntax_Syntax.Tm_abs (bs,t2,lc) -> (match lc with | FStar_Pervasives_Native.Some rc when FStar_Options.print_implicits () -> - let uu____2252 = binders_to_string " " bs in - let uu____2255 = term_to_string t2 in + let uu____2252 = binders_to_string " " bs in + let uu____2255 = term_to_string t2 in let uu____2257 = if FStar_Option.isNone rc.FStar_Syntax_Syntax.residual_typ then "None" else (let uu____2266 = - FStar_Option.get rc.FStar_Syntax_Syntax.residual_typ in - term_to_string uu____2266) in + FStar_Option.get rc.FStar_Syntax_Syntax.residual_typ + in + term_to_string uu____2266) + in FStar_Util.format4 "(fun %s -> (%s $$ (residual) %s %s))" uu____2252 uu____2255 (rc.FStar_Syntax_Syntax.residual_effect).FStar_Ident.str uu____2257 | uu____2270 -> - let uu____2273 = binders_to_string " " bs in - let uu____2276 = term_to_string t2 in + let uu____2273 = binders_to_string " " bs in + let uu____2276 = term_to_string t2 in FStar_Util.format2 "(fun %s -> %s)" uu____2273 uu____2276) - | FStar_Syntax_Syntax.Tm_refine (xt, f) -> - let uu____2285 = bv_to_string xt in + | FStar_Syntax_Syntax.Tm_refine (xt,f) -> + let uu____2285 = bv_to_string xt in let uu____2287 = - FStar_All.pipe_right xt.FStar_Syntax_Syntax.sort term_to_string in - let uu____2290 = FStar_All.pipe_right f formula_to_string in + FStar_All.pipe_right xt.FStar_Syntax_Syntax.sort term_to_string + in + let uu____2290 = FStar_All.pipe_right f formula_to_string in FStar_Util.format3 "(%s:%s{%s})" uu____2285 uu____2287 uu____2290 - | FStar_Syntax_Syntax.Tm_app (t, args) -> - let uu____2322 = term_to_string t in - let uu____2324 = args_to_string args in + | FStar_Syntax_Syntax.Tm_app (t,args) -> + let uu____2322 = term_to_string t in + let uu____2324 = args_to_string args in FStar_Util.format2 "(%s %s)" uu____2322 uu____2324 - | FStar_Syntax_Syntax.Tm_let (lbs, e) -> - let uu____2347 = lbs_to_string [] lbs in - let uu____2349 = term_to_string e in + | FStar_Syntax_Syntax.Tm_let (lbs,e) -> + let uu____2347 = lbs_to_string [] lbs in + let uu____2349 = term_to_string e in FStar_Util.format2 "%s\nin\n%s" uu____2347 uu____2349 - | FStar_Syntax_Syntax.Tm_ascribed (e, (annot, topt), eff_name) -> + | FStar_Syntax_Syntax.Tm_ascribed (e,(annot,topt),eff_name) -> let annot1 = match annot with | FStar_Util.Inl t -> let uu____2414 = let uu____2416 = - FStar_Util.map_opt eff_name FStar_Ident.text_of_lid in + FStar_Util.map_opt eff_name FStar_Ident.text_of_lid in FStar_All.pipe_right uu____2416 - (FStar_Util.dflt "default") in - let uu____2427 = term_to_string t in + (FStar_Util.dflt "default") + in + let uu____2427 = term_to_string t in FStar_Util.format2 "[%s] %s" uu____2414 uu____2427 - | FStar_Util.Inr c -> comp_to_string c in + | FStar_Util.Inr c -> comp_to_string c in let topt1 = match topt with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some t -> - let uu____2448 = term_to_string t in - FStar_Util.format1 "by %s" uu____2448 in - let uu____2451 = term_to_string e in + let uu____2448 = term_to_string t in + FStar_Util.format1 "by %s" uu____2448 + in + let uu____2451 = term_to_string e in FStar_Util.format3 "(%s - let uu____2492 = term_to_string head1 in + | FStar_Syntax_Syntax.Tm_match (head1,branches) -> + let uu____2492 = term_to_string head1 in let uu____2494 = let uu____2496 = FStar_All.pipe_right branches (FStar_List.map - (fun uu____2529 -> + (fun uu____2529 -> match uu____2529 with - | (p, wopt, e) -> + | (p,wopt,e) -> let uu____2546 = - FStar_All.pipe_right p pat_to_string in + FStar_All.pipe_right p pat_to_string in let uu____2549 = match wopt with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some w -> let uu____2554 = - FStar_All.pipe_right w term_to_string in - FStar_Util.format1 "when %s" uu____2554 in + FStar_All.pipe_right w term_to_string in + FStar_Util.format1 "when %s" uu____2554 + in let uu____2558 = - FStar_All.pipe_right e term_to_string in + FStar_All.pipe_right e term_to_string in FStar_Util.format3 "%s %s -> %s" uu____2546 - uu____2549 uu____2558)) in - FStar_Util.concat_l "\n\t|" uu____2496 in + uu____2549 uu____2558)) + in + FStar_Util.concat_l "\n\t|" uu____2496 in FStar_Util.format2 "(match %s with\n\t| %s)" uu____2492 uu____2494 - | FStar_Syntax_Syntax.Tm_uinst (t, us) -> - let uu____2570 = FStar_Options.print_universes () in + | FStar_Syntax_Syntax.Tm_uinst (t,us) -> + let uu____2570 = FStar_Options.print_universes () in if uu____2570 then - let uu____2574 = term_to_string t in - let uu____2576 = univs_to_string us in + let uu____2574 = term_to_string t in + let uu____2576 = univs_to_string us in FStar_Util.format2 "%s<%s>" uu____2574 uu____2576 else term_to_string t - | FStar_Syntax_Syntax.Tm_unknown -> "_") + | FStar_Syntax_Syntax.Tm_unknown -> "_") + and (ctx_uvar_to_string : FStar_Syntax_Syntax.ctx_uvar -> Prims.string) = - fun ctx_uvar -> + fun ctx_uvar -> let uu____2583 = - binders_to_string ", " ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_binders in + binders_to_string ", " ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_binders + in let uu____2586 = - uvar_to_string ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_head in - let uu____2588 = term_to_string ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_typ in + uvar_to_string ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_head in + let uu____2588 = term_to_string ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_typ + in FStar_Util.format4 "(* %s *)\n(%s |- %s : %s)" ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_reason uu____2583 uu____2586 uu____2588 + and (subst_elt_to_string : FStar_Syntax_Syntax.subst_elt -> Prims.string) = - fun uu___5_2591 -> + fun uu___5_2591 -> match uu___5_2591 with - | FStar_Syntax_Syntax.DB (i, x) -> - let uu____2597 = FStar_Util.string_of_int i in - let uu____2599 = bv_to_string x in + | FStar_Syntax_Syntax.DB (i,x) -> + let uu____2597 = FStar_Util.string_of_int i in + let uu____2599 = bv_to_string x in FStar_Util.format2 "DB (%s, %s)" uu____2597 uu____2599 - | FStar_Syntax_Syntax.NM (x, i) -> - let uu____2606 = bv_to_string x in - let uu____2608 = FStar_Util.string_of_int i in + | FStar_Syntax_Syntax.NM (x,i) -> + let uu____2606 = bv_to_string x in + let uu____2608 = FStar_Util.string_of_int i in FStar_Util.format2 "NM (%s, %s)" uu____2606 uu____2608 - | FStar_Syntax_Syntax.NT (x, t) -> - let uu____2617 = bv_to_string x in - let uu____2619 = term_to_string t in + | FStar_Syntax_Syntax.NT (x,t) -> + let uu____2617 = bv_to_string x in + let uu____2619 = term_to_string t in FStar_Util.format2 "NT (%s, %s)" uu____2617 uu____2619 - | FStar_Syntax_Syntax.UN (i, u) -> - let uu____2626 = FStar_Util.string_of_int i in - let uu____2628 = univ_to_string u in + | FStar_Syntax_Syntax.UN (i,u) -> + let uu____2626 = FStar_Util.string_of_int i in + let uu____2628 = univ_to_string u in FStar_Util.format2 "UN (%s, %s)" uu____2626 uu____2628 - | FStar_Syntax_Syntax.UD (u, i) -> - let uu____2635 = FStar_Util.string_of_int i in + | FStar_Syntax_Syntax.UD (u,i) -> + let uu____2635 = FStar_Util.string_of_int i in FStar_Util.format2 "UD (%s, %s)" u.FStar_Ident.idText uu____2635 + and (subst_to_string : FStar_Syntax_Syntax.subst_t -> Prims.string) = - fun s -> + fun s -> let uu____2639 = - FStar_All.pipe_right s (FStar_List.map subst_elt_to_string) in + FStar_All.pipe_right s (FStar_List.map subst_elt_to_string) in FStar_All.pipe_right uu____2639 (FStar_String.concat "; ") + and (pat_to_string : FStar_Syntax_Syntax.pat -> Prims.string) = - fun x -> + fun x -> let uu____2655 = - let uu____2657 = FStar_Options.ugly () in Prims.op_Negation uu____2657 in + let uu____2657 = FStar_Options.ugly () in Prims.op_Negation uu____2657 + in if uu____2655 then let e = - let uu____2662 = FStar_Syntax_Syntax.new_bv_set () in - FStar_Syntax_Resugar.resugar_pat x uu____2662 in - let d = FStar_Parser_ToDocument.pat_to_document e in + let uu____2662 = FStar_Syntax_Syntax.new_bv_set () in + FStar_Syntax_Resugar.resugar_pat x uu____2662 in + let d = FStar_Parser_ToDocument.pat_to_document e in FStar_Pprint.pretty_string (FStar_Util.float_of_string "1.0") (Prims.parse_int "100") d else (match x.FStar_Syntax_Syntax.v with - | FStar_Syntax_Syntax.Pat_cons (l, pats) -> - let uu____2691 = fv_to_string l in + | FStar_Syntax_Syntax.Pat_cons (l,pats) -> + let uu____2691 = fv_to_string l in let uu____2693 = let uu____2695 = FStar_List.map - (fun uu____2709 -> + (fun uu____2709 -> match uu____2709 with - | (x1, b) -> - let p = pat_to_string x1 in - if b then Prims.op_Hat "#" p else p) pats in - FStar_All.pipe_right uu____2695 (FStar_String.concat " ") in + | (x1,b) -> + let p = pat_to_string x1 in + if b then Prims.op_Hat "#" p else p) pats + in + FStar_All.pipe_right uu____2695 (FStar_String.concat " ") in FStar_Util.format2 "(%s %s)" uu____2691 uu____2693 - | FStar_Syntax_Syntax.Pat_dot_term (x1, uu____2734) -> - let uu____2739 = FStar_Options.print_bound_var_types () in + | FStar_Syntax_Syntax.Pat_dot_term (x1,uu____2734) -> + let uu____2739 = FStar_Options.print_bound_var_types () in if uu____2739 then - let uu____2743 = bv_to_string x1 in - let uu____2745 = term_to_string x1.FStar_Syntax_Syntax.sort in + let uu____2743 = bv_to_string x1 in + let uu____2745 = term_to_string x1.FStar_Syntax_Syntax.sort in FStar_Util.format2 ".%s:%s" uu____2743 uu____2745 else - (let uu____2750 = bv_to_string x1 in + (let uu____2750 = bv_to_string x1 in FStar_Util.format1 ".%s" uu____2750) | FStar_Syntax_Syntax.Pat_var x1 -> - let uu____2754 = FStar_Options.print_bound_var_types () in + let uu____2754 = FStar_Options.print_bound_var_types () in if uu____2754 then - let uu____2758 = bv_to_string x1 in - let uu____2760 = term_to_string x1.FStar_Syntax_Syntax.sort in + let uu____2758 = bv_to_string x1 in + let uu____2760 = term_to_string x1.FStar_Syntax_Syntax.sort in FStar_Util.format2 "%s:%s" uu____2758 uu____2760 else bv_to_string x1 | FStar_Syntax_Syntax.Pat_constant c -> const_to_string c | FStar_Syntax_Syntax.Pat_wild x1 -> - let uu____2767 = FStar_Options.print_bound_var_types () in + let uu____2767 = FStar_Options.print_bound_var_types () in if uu____2767 then - let uu____2771 = bv_to_string x1 in - let uu____2773 = term_to_string x1.FStar_Syntax_Syntax.sort in + let uu____2771 = bv_to_string x1 in + let uu____2773 = term_to_string x1.FStar_Syntax_Syntax.sort in FStar_Util.format2 "_wild_%s:%s" uu____2771 uu____2773 else bv_to_string x1) + and (lbs_to_string : FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Syntax_Syntax.letbindings -> Prims.string) = - fun quals -> - fun lbs -> - let uu____2782 = quals_to_string' quals in + fun quals -> + fun lbs -> + let uu____2782 = quals_to_string' quals in let uu____2784 = let uu____2786 = FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs) (FStar_List.map - (fun lb -> + (fun lb -> let uu____2806 = - attrs_to_string lb.FStar_Syntax_Syntax.lbattrs in + attrs_to_string lb.FStar_Syntax_Syntax.lbattrs in let uu____2808 = - lbname_to_string lb.FStar_Syntax_Syntax.lbname in + lbname_to_string lb.FStar_Syntax_Syntax.lbname in let uu____2810 = - let uu____2812 = FStar_Options.print_universes () in + let uu____2812 = FStar_Options.print_universes () in if uu____2812 then let uu____2816 = let uu____2818 = - univ_names_to_string lb.FStar_Syntax_Syntax.lbunivs in - Prims.op_Hat uu____2818 ">" in + univ_names_to_string lb.FStar_Syntax_Syntax.lbunivs + in + Prims.op_Hat uu____2818 ">" in Prims.op_Hat "<" uu____2816 - else "" in + else "" in let uu____2825 = - term_to_string lb.FStar_Syntax_Syntax.lbtyp in + term_to_string lb.FStar_Syntax_Syntax.lbtyp in let uu____2827 = FStar_All.pipe_right lb.FStar_Syntax_Syntax.lbdef - term_to_string in + term_to_string + in FStar_Util.format5 "%s%s %s : %s = %s" uu____2806 - uu____2808 uu____2810 uu____2825 uu____2827)) in - FStar_Util.concat_l "\n and " uu____2786 in + uu____2808 uu____2810 uu____2825 uu____2827)) + in + FStar_Util.concat_l "\n and " uu____2786 in FStar_Util.format3 "%slet %s %s" uu____2782 (if FStar_Pervasives_Native.fst lbs then "rec" else "") uu____2784 + and (attrs_to_string : FStar_Syntax_Syntax.attribute Prims.list -> Prims.string) = - fun uu___6_2842 -> + fun uu___6_2842 -> match uu___6_2842 with | [] -> "" | tms -> let uu____2850 = let uu____2852 = FStar_List.map - (fun t -> let uu____2860 = term_to_string t in paren uu____2860) - tms in - FStar_All.pipe_right uu____2852 (FStar_String.concat "; ") in + (fun t -> + let uu____2860 = term_to_string t in paren uu____2860) tms + in + FStar_All.pipe_right uu____2852 (FStar_String.concat "; ") in FStar_Util.format1 "[@ %s]" uu____2850 + and (lcomp_to_string : FStar_Syntax_Syntax.lcomp -> Prims.string) = - fun lc -> - let uu____2869 = FStar_Options.print_effect_args () in + fun lc -> + let uu____2869 = FStar_Options.print_effect_args () in if uu____2869 then - let uu____2873 = FStar_Syntax_Syntax.lcomp_comp lc in + let uu____2873 = FStar_Syntax_Syntax.lcomp_comp lc in comp_to_string uu____2873 else - (let uu____2876 = sli lc.FStar_Syntax_Syntax.eff_name in - let uu____2878 = term_to_string lc.FStar_Syntax_Syntax.res_typ in + (let uu____2876 = sli lc.FStar_Syntax_Syntax.eff_name in + let uu____2878 = term_to_string lc.FStar_Syntax_Syntax.res_typ in FStar_Util.format2 "%s %s" uu____2876 uu____2878) + and (aqual_to_string' : Prims.string -> FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option -> Prims.string) = - fun s -> - fun uu___7_2882 -> + fun s -> + fun uu___7_2882 -> match uu___7_2882 with - | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit (false)) + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit (false )) -> Prims.op_Hat "#" s - | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit (true)) -> - Prims.op_Hat "#." s - | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality) -> + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit (true )) + -> Prims.op_Hat "#." s + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality ) -> Prims.op_Hat "$" s | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) when FStar_Syntax_Util.is_fvar FStar_Parser_Const.tcresolve_lid t -> Prims.op_Hat "[|" (Prims.op_Hat s "|]") | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) -> let uu____2900 = - let uu____2902 = term_to_string t in - Prims.op_Hat uu____2902 (Prims.op_Hat "]" s) in + let uu____2902 = term_to_string t in + Prims.op_Hat uu____2902 (Prims.op_Hat "]" s) in Prims.op_Hat "#[" uu____2900 - | FStar_Pervasives_Native.None -> s + | FStar_Pervasives_Native.None -> s + and (aqual_to_string : FStar_Syntax_Syntax.aqual -> Prims.string) = - fun aq -> aqual_to_string' "" aq + fun aq -> aqual_to_string' "" aq + and (imp_to_string : Prims.string -> FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option -> Prims.string) - = fun s -> fun aq -> aqual_to_string' s aq + = fun s -> fun aq -> aqual_to_string' s aq + and (binder_to_string' : Prims.bool -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) -> Prims.string) = - fun is_arrow -> - fun b -> + fun is_arrow -> + fun b -> let uu____2922 = - let uu____2924 = FStar_Options.ugly () in - Prims.op_Negation uu____2924 in + let uu____2924 = FStar_Options.ugly () in + Prims.op_Negation uu____2924 in if uu____2922 then let uu____2928 = - FStar_Syntax_Resugar.resugar_binder b FStar_Range.dummyRange in + FStar_Syntax_Resugar.resugar_binder b FStar_Range.dummyRange in match uu____2928 with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some e -> - let d = FStar_Parser_ToDocument.binder_to_document e in + let d = FStar_Parser_ToDocument.binder_to_document e in FStar_Pprint.pretty_string (FStar_Util.float_of_string "1.0") (Prims.parse_int "100") d else - (let uu____2939 = b in + (let uu____2939 = b in match uu____2939 with - | (a, imp) -> - let uu____2953 = FStar_Syntax_Syntax.is_null_binder b in + | (a,imp) -> + let uu____2953 = FStar_Syntax_Syntax.is_null_binder b in if uu____2953 then - let uu____2957 = term_to_string a.FStar_Syntax_Syntax.sort in + let uu____2957 = term_to_string a.FStar_Syntax_Syntax.sort in Prims.op_Hat "_:" uu____2957 else (let uu____2962 = (Prims.op_Negation is_arrow) && - (let uu____2965 = FStar_Options.print_bound_var_types () in - Prims.op_Negation uu____2965) in + (let uu____2965 = FStar_Options.print_bound_var_types () + in + Prims.op_Negation uu____2965) + in if uu____2962 then - let uu____2969 = nm_to_string a in + let uu____2969 = nm_to_string a in imp_to_string uu____2969 imp else (let uu____2973 = - let uu____2975 = nm_to_string a in + let uu____2975 = nm_to_string a in let uu____2977 = let uu____2979 = - term_to_string a.FStar_Syntax_Syntax.sort in - Prims.op_Hat ":" uu____2979 in - Prims.op_Hat uu____2975 uu____2977 in + term_to_string a.FStar_Syntax_Syntax.sort in + Prims.op_Hat ":" uu____2979 in + Prims.op_Hat uu____2975 uu____2977 in imp_to_string uu____2973 imp))) + and (binder_to_string : FStar_Syntax_Syntax.binder -> Prims.string) = - fun b -> binder_to_string' false b + fun b -> binder_to_string' false b + and (arrow_binder_to_string : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) -> Prims.string) - = fun b -> binder_to_string' true b + = fun b -> binder_to_string' true b + and (binders_to_string : Prims.string -> FStar_Syntax_Syntax.binders -> Prims.string) = - fun sep -> - fun bs -> + fun sep -> + fun bs -> let bs1 = - let uu____2998 = FStar_Options.print_implicits () in - if uu____2998 then bs else filter_imp bs in + let uu____2998 = FStar_Options.print_implicits () in + if uu____2998 then bs else filter_imp bs in if sep = " -> " then let uu____3009 = - FStar_All.pipe_right bs1 (FStar_List.map arrow_binder_to_string) in + FStar_All.pipe_right bs1 (FStar_List.map arrow_binder_to_string) + in FStar_All.pipe_right uu____3009 (FStar_String.concat sep) else (let uu____3037 = - FStar_All.pipe_right bs1 (FStar_List.map binder_to_string) in + FStar_All.pipe_right bs1 (FStar_List.map binder_to_string) in FStar_All.pipe_right uu____3037 (FStar_String.concat sep)) + and (arg_to_string : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) -> Prims.string) = - fun uu___8_3051 -> + fun uu___8_3051 -> match uu___8_3051 with - | (a, imp) -> - let uu____3065 = term_to_string a in imp_to_string uu____3065 imp + | (a,imp) -> + let uu____3065 = term_to_string a in imp_to_string uu____3065 imp + and (args_to_string : FStar_Syntax_Syntax.args -> Prims.string) = - fun args -> + fun args -> let args1 = - let uu____3077 = FStar_Options.print_implicits () in - if uu____3077 then args else filter_imp args in + let uu____3077 = FStar_Options.print_implicits () in + if uu____3077 then args else filter_imp args in let uu____3092 = - FStar_All.pipe_right args1 (FStar_List.map arg_to_string) in + FStar_All.pipe_right args1 (FStar_List.map arg_to_string) in FStar_All.pipe_right uu____3092 (FStar_String.concat " ") + and (comp_to_string' : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.comp -> Prims.string) = - fun env -> - fun c -> - let uu____3121 = FStar_Options.ugly () in + fun env -> + fun c -> + let uu____3121 = FStar_Options.ugly () in if uu____3121 then comp_to_string c else - (let e = FStar_Syntax_Resugar.resugar_comp' env c in - let d = FStar_Parser_ToDocument.term_to_document e in + (let e = FStar_Syntax_Resugar.resugar_comp' env c in + let d = FStar_Parser_ToDocument.term_to_document e in FStar_Pprint.pretty_string (FStar_Util.float_of_string "1.0") (Prims.parse_int "100") d) + and (comp_to_string : FStar_Syntax_Syntax.comp -> Prims.string) = - fun c -> + fun c -> let uu____3132 = - let uu____3134 = FStar_Options.ugly () in Prims.op_Negation uu____3134 in + let uu____3134 = FStar_Options.ugly () in Prims.op_Negation uu____3134 + in if uu____3132 then - let e = FStar_Syntax_Resugar.resugar_comp c in - let d = FStar_Parser_ToDocument.term_to_document e in + let e = FStar_Syntax_Resugar.resugar_comp c in + let d = FStar_Parser_ToDocument.term_to_document e in FStar_Pprint.pretty_string (FStar_Util.float_of_string "1.0") (Prims.parse_int "100") d else (match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, uopt) -> + | FStar_Syntax_Syntax.Total (t,uopt) -> let uu____3155 = - let uu____3156 = FStar_Syntax_Subst.compress t in - uu____3156.FStar_Syntax_Syntax.n in + let uu____3156 = FStar_Syntax_Subst.compress t in + uu____3156.FStar_Syntax_Syntax.n in (match uu____3155 with | FStar_Syntax_Syntax.Tm_type uu____3160 when let uu____3161 = (FStar_Options.print_implicits ()) || - (FStar_Options.print_universes ()) in + (FStar_Options.print_universes ()) + in Prims.op_Negation uu____3161 -> term_to_string t | uu____3163 -> (match uopt with | FStar_Pervasives_Native.Some u when FStar_Options.print_universes () -> - let uu____3166 = univ_to_string u in - let uu____3168 = term_to_string t in + let uu____3166 = univ_to_string u in + let uu____3168 = term_to_string t in FStar_Util.format2 "Tot<%s> %s" uu____3166 uu____3168 | uu____3171 -> - let uu____3174 = term_to_string t in + let uu____3174 = term_to_string t in FStar_Util.format1 "Tot %s" uu____3174)) - | FStar_Syntax_Syntax.GTotal (t, uopt) -> + | FStar_Syntax_Syntax.GTotal (t,uopt) -> let uu____3187 = - let uu____3188 = FStar_Syntax_Subst.compress t in - uu____3188.FStar_Syntax_Syntax.n in + let uu____3188 = FStar_Syntax_Subst.compress t in + uu____3188.FStar_Syntax_Syntax.n in (match uu____3187 with | FStar_Syntax_Syntax.Tm_type uu____3192 when let uu____3193 = (FStar_Options.print_implicits ()) || - (FStar_Options.print_universes ()) in + (FStar_Options.print_universes ()) + in Prims.op_Negation uu____3193 -> term_to_string t | uu____3195 -> (match uopt with | FStar_Pervasives_Native.Some u when FStar_Options.print_universes () -> - let uu____3198 = univ_to_string u in - let uu____3200 = term_to_string t in + let uu____3198 = univ_to_string u in + let uu____3200 = term_to_string t in FStar_Util.format2 "GTot<%s> %s" uu____3198 uu____3200 | uu____3203 -> - let uu____3206 = term_to_string t in + let uu____3206 = term_to_string t in FStar_Util.format1 "GTot %s" uu____3206)) | FStar_Syntax_Syntax.Comp c1 -> let basic = - let uu____3212 = FStar_Options.print_effect_args () in + let uu____3212 = FStar_Options.print_effect_args () in if uu____3212 then - let uu____3216 = sli c1.FStar_Syntax_Syntax.effect_name in + let uu____3216 = sli c1.FStar_Syntax_Syntax.effect_name in let uu____3218 = let uu____3220 = FStar_All.pipe_right c1.FStar_Syntax_Syntax.comp_univs - (FStar_List.map univ_to_string) in - FStar_All.pipe_right uu____3220 (FStar_String.concat ", ") in + (FStar_List.map univ_to_string) + in + FStar_All.pipe_right uu____3220 (FStar_String.concat ", ") + in let uu____3235 = - term_to_string c1.FStar_Syntax_Syntax.result_typ in + term_to_string c1.FStar_Syntax_Syntax.result_typ in let uu____3237 = let uu____3239 = FStar_All.pipe_right c1.FStar_Syntax_Syntax.effect_args - (FStar_List.map arg_to_string) in - FStar_All.pipe_right uu____3239 (FStar_String.concat ", ") in - let uu____3266 = cflags_to_string c1.FStar_Syntax_Syntax.flags in + (FStar_List.map arg_to_string) + in + FStar_All.pipe_right uu____3239 (FStar_String.concat ", ") + in + let uu____3266 = cflags_to_string c1.FStar_Syntax_Syntax.flags + in FStar_Util.format5 "%s<%s> (%s) %s (attributes %s)" uu____3216 uu____3218 uu____3235 uu____3237 uu____3266 else (let uu____3271 = (FStar_All.pipe_right c1.FStar_Syntax_Syntax.flags (FStar_Util.for_some - (fun uu___9_3277 -> + (fun uu___9_3277 -> match uu___9_3277 with - | FStar_Syntax_Syntax.TOTAL -> true + | FStar_Syntax_Syntax.TOTAL -> true | uu____3280 -> false))) && - (let uu____3283 = FStar_Options.print_effect_args () in - Prims.op_Negation uu____3283) in + (let uu____3283 = FStar_Options.print_effect_args () in + Prims.op_Negation uu____3283) + in if uu____3271 then let uu____3287 = - term_to_string c1.FStar_Syntax_Syntax.result_typ in + term_to_string c1.FStar_Syntax_Syntax.result_typ in FStar_Util.format1 "Tot %s" uu____3287 else (let uu____3292 = - ((let uu____3296 = FStar_Options.print_effect_args () in + ((let uu____3296 = FStar_Options.print_effect_args () + in Prims.op_Negation uu____3296) && - (let uu____3299 = FStar_Options.print_implicits () in + (let uu____3299 = FStar_Options.print_implicits () + in Prims.op_Negation uu____3299)) && (FStar_Ident.lid_equals c1.FStar_Syntax_Syntax.effect_name - FStar_Parser_Const.effect_ML_lid) in + FStar_Parser_Const.effect_ML_lid) + in if uu____3292 then term_to_string c1.FStar_Syntax_Syntax.result_typ else (let uu____3305 = - (let uu____3309 = FStar_Options.print_effect_args () in + (let uu____3309 = FStar_Options.print_effect_args () + in Prims.op_Negation uu____3309) && (FStar_All.pipe_right c1.FStar_Syntax_Syntax.flags (FStar_Util.for_some - (fun uu___10_3315 -> + (fun uu___10_3315 -> match uu___10_3315 with - | FStar_Syntax_Syntax.MLEFFECT -> true - | uu____3318 -> false))) in + | FStar_Syntax_Syntax.MLEFFECT -> true + | uu____3318 -> false))) + in if uu____3305 then let uu____3322 = - term_to_string c1.FStar_Syntax_Syntax.result_typ in + term_to_string c1.FStar_Syntax_Syntax.result_typ + in FStar_Util.format1 "ALL %s" uu____3322 else (let uu____3327 = - sli c1.FStar_Syntax_Syntax.effect_name in + sli c1.FStar_Syntax_Syntax.effect_name in let uu____3329 = - term_to_string c1.FStar_Syntax_Syntax.result_typ in - FStar_Util.format2 "%s (%s)" uu____3327 uu____3329)))) in + term_to_string c1.FStar_Syntax_Syntax.result_typ + in + FStar_Util.format2 "%s (%s)" uu____3327 uu____3329)))) + in let dec = let uu____3334 = FStar_All.pipe_right c1.FStar_Syntax_Syntax.flags (FStar_List.collect - (fun uu___11_3347 -> + (fun uu___11_3347 -> match uu___11_3347 with | FStar_Syntax_Syntax.DECREASES e -> let uu____3354 = - let uu____3356 = term_to_string e in - FStar_Util.format1 " (decreases %s)" uu____3356 in + let uu____3356 = term_to_string e in + FStar_Util.format1 " (decreases %s)" uu____3356 + in [uu____3354] - | uu____3361 -> [])) in - FStar_All.pipe_right uu____3334 (FStar_String.concat " ") in + | uu____3361 -> [])) + in + FStar_All.pipe_right uu____3334 (FStar_String.concat " ") in FStar_Util.format2 "%s%s" basic dec) + and (cflag_to_string : FStar_Syntax_Syntax.cflag -> Prims.string) = - fun c -> + fun c -> match c with - | FStar_Syntax_Syntax.TOTAL -> "total" - | FStar_Syntax_Syntax.MLEFFECT -> "ml" - | FStar_Syntax_Syntax.RETURN -> "return" - | FStar_Syntax_Syntax.PARTIAL_RETURN -> "partial_return" - | FStar_Syntax_Syntax.SOMETRIVIAL -> "sometrivial" - | FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION -> "trivial_postcondition" - | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> "should_not_inline" - | FStar_Syntax_Syntax.LEMMA -> "lemma" - | FStar_Syntax_Syntax.CPS -> "cps" + | FStar_Syntax_Syntax.TOTAL -> "total" + | FStar_Syntax_Syntax.MLEFFECT -> "ml" + | FStar_Syntax_Syntax.RETURN -> "return" + | FStar_Syntax_Syntax.PARTIAL_RETURN -> "partial_return" + | FStar_Syntax_Syntax.SOMETRIVIAL -> "sometrivial" + | FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION -> "trivial_postcondition" + | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> "should_not_inline" + | FStar_Syntax_Syntax.LEMMA -> "lemma" + | FStar_Syntax_Syntax.CPS -> "cps" | FStar_Syntax_Syntax.DECREASES uu____3380 -> "" + and (cflags_to_string : FStar_Syntax_Syntax.cflag Prims.list -> Prims.string) - = fun fs -> FStar_Common.string_of_list cflag_to_string fs + = fun fs -> FStar_Common.string_of_list cflag_to_string fs + and (formula_to_string : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> Prims.string) = - fun phi -> term_to_string phi + fun phi -> term_to_string phi + and (metadata_to_string : FStar_Syntax_Syntax.metadata -> Prims.string) = - fun uu___12_3390 -> + fun uu___12_3390 -> match uu___12_3390 with - | FStar_Syntax_Syntax.Meta_pattern (uu____3392, ps) -> + | FStar_Syntax_Syntax.Meta_pattern (uu____3392,ps) -> let pats = let uu____3428 = FStar_All.pipe_right ps (FStar_List.map - (fun args -> + (fun args -> let uu____3465 = FStar_All.pipe_right args (FStar_List.map - (fun uu____3490 -> + (fun uu____3490 -> match uu____3490 with - | (t, uu____3499) -> term_to_string t)) in + | (t,uu____3499) -> term_to_string t)) + in FStar_All.pipe_right uu____3465 - (FStar_String.concat "; "))) in - FStar_All.pipe_right uu____3428 (FStar_String.concat "\\/") in + (FStar_String.concat "; "))) + in + FStar_All.pipe_right uu____3428 (FStar_String.concat "\\/") in FStar_Util.format1 "{Meta_pattern %s}" pats | FStar_Syntax_Syntax.Meta_named lid -> - let uu____3516 = sli lid in + let uu____3516 = sli lid in FStar_Util.format1 "{Meta_named %s}" uu____3516 - | FStar_Syntax_Syntax.Meta_labeled (l, r, uu____3521) -> - let uu____3526 = FStar_Range.string_of_range r in + | FStar_Syntax_Syntax.Meta_labeled (l,r,uu____3521) -> + let uu____3526 = FStar_Range.string_of_range r in FStar_Util.format2 "{Meta_labeled (%s, %s)}" l uu____3526 | FStar_Syntax_Syntax.Meta_desugared msi -> "{Meta_desugared}" - | FStar_Syntax_Syntax.Meta_monadic (m, t) -> - let uu____3537 = sli m in - let uu____3539 = term_to_string t in + | FStar_Syntax_Syntax.Meta_monadic (m,t) -> + let uu____3537 = sli m in + let uu____3539 = term_to_string t in FStar_Util.format2 "{Meta_monadic(%s @ %s)}" uu____3537 uu____3539 - | FStar_Syntax_Syntax.Meta_monadic_lift (m, m', t) -> - let uu____3549 = sli m in - let uu____3551 = sli m' in - let uu____3553 = term_to_string t in + | FStar_Syntax_Syntax.Meta_monadic_lift (m,m',t) -> + let uu____3549 = sli m in + let uu____3551 = sli m' in + let uu____3553 = term_to_string t in FStar_Util.format3 "{Meta_monadic_lift(%s -> %s @ %s)}" uu____3549 uu____3551 uu____3553 + let (term_to_string' : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.term -> Prims.string) = - fun env -> - fun x -> - let uu____3568 = FStar_Options.ugly () in + fun env -> + fun x -> + let uu____3568 = FStar_Options.ugly () in if uu____3568 then term_to_string x else - (let e = FStar_Syntax_Resugar.resugar_term' env x in - let d = FStar_Parser_ToDocument.term_to_document e in + (let e = FStar_Syntax_Resugar.resugar_term' env x in + let d = FStar_Parser_ToDocument.term_to_document e in FStar_Pprint.pretty_string (FStar_Util.float_of_string "1.0") (Prims.parse_int "100") d) + let (binder_to_json : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.binder -> FStar_Util.json) = - fun env -> - fun b -> - let uu____3589 = b in + fun env -> + fun b -> + let uu____3589 = b in match uu____3589 with - | (a, imp) -> + | (a,imp) -> let n1 = - let uu____3597 = FStar_Syntax_Syntax.is_null_binder b in + let uu____3597 = FStar_Syntax_Syntax.is_null_binder b in if uu____3597 then FStar_Util.JsonNull else (let uu____3602 = - let uu____3604 = nm_to_string a in - imp_to_string uu____3604 imp in - FStar_Util.JsonStr uu____3602) in + let uu____3604 = nm_to_string a in + imp_to_string uu____3604 imp in + FStar_Util.JsonStr uu____3602) + in let t = - let uu____3607 = term_to_string' env a.FStar_Syntax_Syntax.sort in - FStar_Util.JsonStr uu____3607 in + let uu____3607 = term_to_string' env a.FStar_Syntax_Syntax.sort + in + FStar_Util.JsonStr uu____3607 in FStar_Util.JsonAssoc [("name", n1); ("type", t)] + let (binders_to_json : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.binders -> FStar_Util.json) = - fun env -> - fun bs -> - let uu____3639 = FStar_List.map (binder_to_json env) bs in + fun env -> + fun bs -> + let uu____3639 = FStar_List.map (binder_to_json env) bs in FStar_Util.JsonList uu____3639 + let (enclose_universes : Prims.string -> Prims.string) = - fun s -> - let uu____3657 = FStar_Options.print_universes () in + fun s -> + let uu____3657 = FStar_Options.print_universes () in if uu____3657 then Prims.op_Hat "<" (Prims.op_Hat s ">") else "" + let (tscheme_to_string : FStar_Syntax_Syntax.tscheme -> Prims.string) = - fun s -> + fun s -> let uu____3673 = - let uu____3675 = FStar_Options.ugly () in Prims.op_Negation uu____3675 in + let uu____3675 = FStar_Options.ugly () in Prims.op_Negation uu____3675 + in if uu____3673 then - let d = FStar_Syntax_Resugar.resugar_tscheme s in - let d1 = FStar_Parser_ToDocument.decl_to_document d in + let d = FStar_Syntax_Resugar.resugar_tscheme s in + let d1 = FStar_Parser_ToDocument.decl_to_document d in FStar_Pprint.pretty_string (FStar_Util.float_of_string "1.0") (Prims.parse_int "100") d1 else - (let uu____3685 = s in + (let uu____3685 = s in match uu____3685 with - | (us, t) -> + | (us,t) -> let uu____3697 = - let uu____3699 = univ_names_to_string us in - FStar_All.pipe_left enclose_universes uu____3699 in - let uu____3703 = term_to_string t in + let uu____3699 = univ_names_to_string us in + FStar_All.pipe_left enclose_universes uu____3699 in + let uu____3703 = term_to_string t in FStar_Util.format2 "%s%s" uu____3697 uu____3703) + let (action_to_string : FStar_Syntax_Syntax.action -> Prims.string) = - fun a -> - let uu____3713 = sli a.FStar_Syntax_Syntax.action_name in + fun a -> + let uu____3713 = sli a.FStar_Syntax_Syntax.action_name in let uu____3715 = - binders_to_string " " a.FStar_Syntax_Syntax.action_params in + binders_to_string " " a.FStar_Syntax_Syntax.action_params in let uu____3718 = let uu____3720 = - univ_names_to_string a.FStar_Syntax_Syntax.action_univs in - FStar_All.pipe_left enclose_universes uu____3720 in - let uu____3724 = term_to_string a.FStar_Syntax_Syntax.action_typ in - let uu____3726 = term_to_string a.FStar_Syntax_Syntax.action_defn in + univ_names_to_string a.FStar_Syntax_Syntax.action_univs in + FStar_All.pipe_left enclose_universes uu____3720 in + let uu____3724 = term_to_string a.FStar_Syntax_Syntax.action_typ in + let uu____3726 = term_to_string a.FStar_Syntax_Syntax.action_defn in FStar_Util.format5 "%s%s %s : %s = %s" uu____3713 uu____3715 uu____3718 uu____3724 uu____3726 + let (eff_decl_to_string' : Prims.bool -> FStar_Range.range -> FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Syntax_Syntax.eff_decl -> Prims.string) = - fun for_free -> - fun r -> - fun q -> - fun ed -> + fun for_free -> + fun r -> + fun q -> + fun ed -> let uu____3757 = - let uu____3759 = FStar_Options.ugly () in - Prims.op_Negation uu____3759 in + let uu____3759 = FStar_Options.ugly () in + Prims.op_Negation uu____3759 in if uu____3757 then - let d = FStar_Syntax_Resugar.resugar_eff_decl for_free r q ed in - let d1 = FStar_Parser_ToDocument.decl_to_document d in + let d = FStar_Syntax_Resugar.resugar_eff_decl for_free r q ed in + let d1 = FStar_Parser_ToDocument.decl_to_document d in FStar_Pprint.pretty_string (FStar_Util.float_of_string "1.0") (Prims.parse_int "100") d1 else (let actions_to_string actions = let uu____3780 = FStar_All.pipe_right actions - (FStar_List.map action_to_string) in - FStar_All.pipe_right uu____3780 (FStar_String.concat ",\n\t") in + (FStar_List.map action_to_string) + in + FStar_All.pipe_right uu____3780 (FStar_String.concat ",\n\t") + in let uu____3795 = let uu____3799 = - let uu____3803 = lid_to_string ed.FStar_Syntax_Syntax.mname in + let uu____3803 = lid_to_string ed.FStar_Syntax_Syntax.mname + in let uu____3805 = let uu____3809 = let uu____3811 = - univ_names_to_string ed.FStar_Syntax_Syntax.univs in - FStar_All.pipe_left enclose_universes uu____3811 in + univ_names_to_string ed.FStar_Syntax_Syntax.univs in + FStar_All.pipe_left enclose_universes uu____3811 in let uu____3815 = let uu____3819 = - binders_to_string " " ed.FStar_Syntax_Syntax.binders in + binders_to_string " " ed.FStar_Syntax_Syntax.binders + in let uu____3822 = let uu____3826 = - term_to_string ed.FStar_Syntax_Syntax.signature in + term_to_string ed.FStar_Syntax_Syntax.signature in let uu____3828 = let uu____3832 = - tscheme_to_string ed.FStar_Syntax_Syntax.ret_wp in + tscheme_to_string ed.FStar_Syntax_Syntax.ret_wp + in let uu____3834 = let uu____3838 = - tscheme_to_string ed.FStar_Syntax_Syntax.bind_wp in + tscheme_to_string ed.FStar_Syntax_Syntax.bind_wp + in let uu____3840 = let uu____3844 = tscheme_to_string - ed.FStar_Syntax_Syntax.if_then_else in + ed.FStar_Syntax_Syntax.if_then_else + in let uu____3846 = let uu____3850 = tscheme_to_string - ed.FStar_Syntax_Syntax.ite_wp in + ed.FStar_Syntax_Syntax.ite_wp + in let uu____3852 = let uu____3856 = tscheme_to_string - ed.FStar_Syntax_Syntax.stronger in + ed.FStar_Syntax_Syntax.stronger + in let uu____3858 = let uu____3862 = tscheme_to_string - ed.FStar_Syntax_Syntax.close_wp in + ed.FStar_Syntax_Syntax.close_wp + in let uu____3864 = let uu____3868 = tscheme_to_string - ed.FStar_Syntax_Syntax.assert_p in + ed.FStar_Syntax_Syntax.assert_p + in let uu____3870 = let uu____3874 = tscheme_to_string - ed.FStar_Syntax_Syntax.assume_p in + ed.FStar_Syntax_Syntax.assume_p + in let uu____3876 = let uu____3880 = tscheme_to_string - ed.FStar_Syntax_Syntax.null_wp in + ed.FStar_Syntax_Syntax.null_wp + in let uu____3882 = let uu____3886 = tscheme_to_string - ed.FStar_Syntax_Syntax.trivial in + ed.FStar_Syntax_Syntax.trivial + in let uu____3888 = let uu____3892 = term_to_string - ed.FStar_Syntax_Syntax.repr in + ed.FStar_Syntax_Syntax.repr + in let uu____3894 = let uu____3898 = tscheme_to_string - ed.FStar_Syntax_Syntax.bind_repr in + ed.FStar_Syntax_Syntax.bind_repr + in let uu____3900 = let uu____3904 = tscheme_to_string - ed.FStar_Syntax_Syntax.return_repr in + ed.FStar_Syntax_Syntax.return_repr + in let uu____3906 = let uu____3910 = actions_to_string - ed.FStar_Syntax_Syntax.actions in - [uu____3910] in - uu____3904 :: uu____3906 in - uu____3898 :: uu____3900 in - uu____3892 :: uu____3894 in - uu____3886 :: uu____3888 in - uu____3880 :: uu____3882 in - uu____3874 :: uu____3876 in - uu____3868 :: uu____3870 in - uu____3862 :: uu____3864 in - uu____3856 :: uu____3858 in - uu____3850 :: uu____3852 in - uu____3844 :: uu____3846 in - uu____3838 :: uu____3840 in - uu____3832 :: uu____3834 in - uu____3826 :: uu____3828 in - uu____3819 :: uu____3822 in - uu____3809 :: uu____3815 in - uu____3803 :: uu____3805 in - (if for_free then "_for_free " else "") :: uu____3799 in + ed.FStar_Syntax_Syntax.actions + in + [uu____3910] in + uu____3904 :: uu____3906 in + uu____3898 :: uu____3900 in + uu____3892 :: uu____3894 in + uu____3886 :: uu____3888 in + uu____3880 :: uu____3882 in + uu____3874 :: uu____3876 in + uu____3868 :: uu____3870 in + uu____3862 :: uu____3864 in + uu____3856 :: uu____3858 in + uu____3850 :: uu____3852 in + uu____3844 :: uu____3846 in + uu____3838 :: uu____3840 in + uu____3832 :: uu____3834 in + uu____3826 :: uu____3828 in + uu____3819 :: uu____3822 in + uu____3809 :: uu____3815 in + uu____3803 :: uu____3805 in + (if for_free then "_for_free " else "") :: uu____3799 in FStar_Util.format "new_effect%s { %s%s %s : %s \n return_wp = %s\n; bind_wp = %s\n; if_then_else= %s\n; ite_wp = %s\n; stronger = %s\n; close_wp = %s\n; assert_p = %s\n; assume_p = %s\n; null_wp = %s\n; trivial = %s\n; repr = %s\n; bind_repr = %s\n; return_repr = %s\nand effect_actions\n\t%s\n}\n" uu____3795) + let (eff_decl_to_string : Prims.bool -> FStar_Syntax_Syntax.eff_decl -> Prims.string) = - fun for_free -> - fun ed -> eff_decl_to_string' for_free FStar_Range.dummyRange [] ed + fun for_free -> + fun ed -> eff_decl_to_string' for_free FStar_Range.dummyRange [] ed + let rec (sigelt_to_string : FStar_Syntax_Syntax.sigelt -> Prims.string) = - fun x -> + fun x -> let basic = match x.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.LightOff) -> + | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.LightOff ) -> "#light \"off\"" | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.ResetOptions - (FStar_Pervasives_Native.None)) -> "#reset-options" + (FStar_Pervasives_Native.None )) -> "#reset-options" | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.ResetOptions (FStar_Pervasives_Native.Some s)) -> FStar_Util.format1 "#reset-options \"%s\"" s | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.SetOptions s) -> FStar_Util.format1 "#set-options \"%s\"" s | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.PushOptions - (FStar_Pervasives_Native.None)) -> "#push-options" + (FStar_Pervasives_Native.None )) -> "#push-options" | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.PushOptions (FStar_Pervasives_Native.Some s)) -> FStar_Util.format1 "#push-options \"%s\"" s - | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.PopOptions) -> + | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.RestartSolver ) + -> "#restart-solver" + | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.PopOptions ) -> "#pop-options" | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, univs1, tps, k, uu____3984, uu____3985) -> - let quals_str = quals_to_string' x.FStar_Syntax_Syntax.sigquals in - let binders_str = binders_to_string " " tps in - let term_str = term_to_string k in - let uu____4001 = FStar_Options.print_universes () in - if uu____4001 + (lid,univs1,tps,k,uu____3985,uu____3986) -> + let quals_str = quals_to_string' x.FStar_Syntax_Syntax.sigquals in + let binders_str = binders_to_string " " tps in + let term_str = term_to_string k in + let uu____4002 = FStar_Options.print_universes () in + if uu____4002 then - let uu____4005 = univ_names_to_string univs1 in + let uu____4006 = univ_names_to_string univs1 in FStar_Util.format5 "%stype %s<%s> %s : %s" quals_str - lid.FStar_Ident.str uu____4005 binders_str term_str + lid.FStar_Ident.str uu____4006 binders_str term_str else FStar_Util.format4 "%stype %s %s : %s" quals_str lid.FStar_Ident.str binders_str term_str | FStar_Syntax_Syntax.Sig_datacon - (lid, univs1, t, uu____4014, uu____4015, uu____4016) -> - let uu____4023 = FStar_Options.print_universes () in - if uu____4023 + (lid,univs1,t,uu____4015,uu____4016,uu____4017) -> + let uu____4024 = FStar_Options.print_universes () in + if uu____4024 then - let uu____4027 = univ_names_to_string univs1 in - let uu____4029 = term_to_string t in - FStar_Util.format3 "datacon<%s> %s : %s" uu____4027 - lid.FStar_Ident.str uu____4029 + let uu____4028 = univ_names_to_string univs1 in + let uu____4030 = term_to_string t in + FStar_Util.format3 "datacon<%s> %s : %s" uu____4028 + lid.FStar_Ident.str uu____4030 else - (let uu____4034 = term_to_string t in + (let uu____4035 = term_to_string t in FStar_Util.format2 "datacon %s : %s" lid.FStar_Ident.str - uu____4034) - | FStar_Syntax_Syntax.Sig_declare_typ (lid, univs1, t) -> - let uu____4040 = quals_to_string' x.FStar_Syntax_Syntax.sigquals in - let uu____4042 = - let uu____4044 = FStar_Options.print_universes () in - if uu____4044 + uu____4035) + | FStar_Syntax_Syntax.Sig_declare_typ (lid,univs1,t) -> + let uu____4041 = quals_to_string' x.FStar_Syntax_Syntax.sigquals + in + let uu____4043 = + let uu____4045 = FStar_Options.print_universes () in + if uu____4045 then - let uu____4048 = univ_names_to_string univs1 in - FStar_Util.format1 "<%s>" uu____4048 - else "" in - let uu____4054 = term_to_string t in - FStar_Util.format4 "%sval %s %s : %s" uu____4040 - lid.FStar_Ident.str uu____4042 uu____4054 - | FStar_Syntax_Syntax.Sig_assume (lid, us, f) -> - let uu____4060 = FStar_Options.print_universes () in - if uu____4060 + let uu____4049 = univ_names_to_string univs1 in + FStar_Util.format1 "<%s>" uu____4049 + else "" in + let uu____4055 = term_to_string t in + FStar_Util.format4 "%sval %s %s : %s" uu____4041 + lid.FStar_Ident.str uu____4043 uu____4055 + | FStar_Syntax_Syntax.Sig_assume (lid,us,f) -> + let uu____4061 = FStar_Options.print_universes () in + if uu____4061 then - let uu____4064 = univ_names_to_string us in - let uu____4066 = term_to_string f in + let uu____4065 = univ_names_to_string us in + let uu____4067 = term_to_string f in FStar_Util.format3 "val %s<%s> : %s" lid.FStar_Ident.str - uu____4064 uu____4066 + uu____4065 uu____4067 else - (let uu____4071 = term_to_string f in - FStar_Util.format2 "val %s : %s" lid.FStar_Ident.str uu____4071) - | FStar_Syntax_Syntax.Sig_let (lbs, uu____4075) -> + (let uu____4072 = term_to_string f in + FStar_Util.format2 "val %s : %s" lid.FStar_Ident.str uu____4072) + | FStar_Syntax_Syntax.Sig_let (lbs,uu____4076) -> lbs_to_string x.FStar_Syntax_Syntax.sigquals lbs | FStar_Syntax_Syntax.Sig_main e -> - let uu____4081 = term_to_string e in - FStar_Util.format1 "let _ = %s" uu____4081 - | FStar_Syntax_Syntax.Sig_bundle (ses, uu____4085) -> - let uu____4094 = - let uu____4096 = FStar_List.map sigelt_to_string ses in - FStar_All.pipe_right uu____4096 (FStar_String.concat "\n") in - Prims.op_Hat "(* Sig_bundle *)" uu____4094 + let uu____4082 = term_to_string e in + FStar_Util.format1 "let _ = %s" uu____4082 + | FStar_Syntax_Syntax.Sig_bundle (ses,uu____4086) -> + let uu____4095 = + let uu____4097 = FStar_List.map sigelt_to_string ses in + FStar_All.pipe_right uu____4097 (FStar_String.concat "\n") in + Prims.op_Hat "(* Sig_bundle *)" uu____4095 | FStar_Syntax_Syntax.Sig_new_effect ed -> eff_decl_to_string' false x.FStar_Syntax_Syntax.sigrng x.FStar_Syntax_Syntax.sigquals ed @@ -1406,191 +1550,206 @@ let rec (sigelt_to_string : FStar_Syntax_Syntax.sigelt -> Prims.string) = match ((se.FStar_Syntax_Syntax.lift_wp), (se.FStar_Syntax_Syntax.lift)) with - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) -> - failwith "impossible" - | (FStar_Pervasives_Native.Some lift_wp, uu____4141) -> lift_wp - | (uu____4148, FStar_Pervasives_Native.Some lift) -> lift in - let uu____4156 = + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.None ) + -> failwith "impossible" + | (FStar_Pervasives_Native.Some lift_wp,uu____4142) -> lift_wp + | (uu____4149,FStar_Pervasives_Native.Some lift) -> lift in + let uu____4157 = FStar_Syntax_Subst.open_univ_vars (FStar_Pervasives_Native.fst lift_wp) - (FStar_Pervasives_Native.snd lift_wp) in - (match uu____4156 with - | (us, t) -> - let uu____4168 = lid_to_string se.FStar_Syntax_Syntax.source in - let uu____4170 = lid_to_string se.FStar_Syntax_Syntax.target in - let uu____4172 = univ_names_to_string us in - let uu____4174 = term_to_string t in - FStar_Util.format4 "sub_effect %s ~> %s : <%s> %s" uu____4168 - uu____4170 uu____4172 uu____4174) - | FStar_Syntax_Syntax.Sig_effect_abbrev (l, univs1, tps, c, flags) -> - let uu____4186 = FStar_Options.print_universes () in - if uu____4186 + (FStar_Pervasives_Native.snd lift_wp) + in + (match uu____4157 with + | (us,t) -> + let uu____4169 = lid_to_string se.FStar_Syntax_Syntax.source + in + let uu____4171 = lid_to_string se.FStar_Syntax_Syntax.target + in + let uu____4173 = univ_names_to_string us in + let uu____4175 = term_to_string t in + FStar_Util.format4 "sub_effect %s ~> %s : <%s> %s" uu____4169 + uu____4171 uu____4173 uu____4175) + | FStar_Syntax_Syntax.Sig_effect_abbrev (l,univs1,tps,c,flags) -> + let uu____4187 = FStar_Options.print_universes () in + if uu____4187 then - let uu____4190 = - let uu____4195 = + let uu____4191 = + let uu____4196 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow (tps, c)) - FStar_Pervasives_Native.None FStar_Range.dummyRange in - FStar_Syntax_Subst.open_univ_vars univs1 uu____4195 in - (match uu____4190 with - | (univs2, t) -> - let uu____4209 = - let uu____4214 = - let uu____4215 = FStar_Syntax_Subst.compress t in - uu____4215.FStar_Syntax_Syntax.n in - match uu____4214 with - | FStar_Syntax_Syntax.Tm_arrow (bs, c1) -> (bs, c1) - | uu____4244 -> failwith "impossible" in - (match uu____4209 with - | (tps1, c1) -> - let uu____4253 = sli l in - let uu____4255 = univ_names_to_string univs2 in - let uu____4257 = binders_to_string " " tps1 in - let uu____4260 = comp_to_string c1 in - FStar_Util.format4 "effect %s<%s> %s = %s" uu____4253 - uu____4255 uu____4257 uu____4260)) + FStar_Pervasives_Native.None FStar_Range.dummyRange + in + FStar_Syntax_Subst.open_univ_vars univs1 uu____4196 in + (match uu____4191 with + | (univs2,t) -> + let uu____4210 = + let uu____4215 = + let uu____4216 = FStar_Syntax_Subst.compress t in + uu____4216.FStar_Syntax_Syntax.n in + match uu____4215 with + | FStar_Syntax_Syntax.Tm_arrow (bs,c1) -> (bs, c1) + | uu____4245 -> failwith "impossible" in + (match uu____4210 with + | (tps1,c1) -> + let uu____4254 = sli l in + let uu____4256 = univ_names_to_string univs2 in + let uu____4258 = binders_to_string " " tps1 in + let uu____4261 = comp_to_string c1 in + FStar_Util.format4 "effect %s<%s> %s = %s" uu____4254 + uu____4256 uu____4258 uu____4261)) else - (let uu____4265 = sli l in - let uu____4267 = binders_to_string " " tps in - let uu____4270 = comp_to_string c in - FStar_Util.format3 "effect %s %s = %s" uu____4265 uu____4267 - uu____4270) - | FStar_Syntax_Syntax.Sig_splice (lids, t) -> - let uu____4279 = - let uu____4281 = FStar_List.map FStar_Ident.string_of_lid lids in - FStar_All.pipe_left (FStar_String.concat "; ") uu____4281 in - let uu____4291 = term_to_string t in - FStar_Util.format2 "splice[%s] (%s)" uu____4279 uu____4291 in + (let uu____4266 = sli l in + let uu____4268 = binders_to_string " " tps in + let uu____4271 = comp_to_string c in + FStar_Util.format3 "effect %s %s = %s" uu____4266 uu____4268 + uu____4271) + | FStar_Syntax_Syntax.Sig_splice (lids,t) -> + let uu____4280 = + let uu____4282 = FStar_List.map FStar_Ident.string_of_lid lids + in + FStar_All.pipe_left (FStar_String.concat "; ") uu____4282 in + let uu____4292 = term_to_string t in + FStar_Util.format2 "splice[%s] (%s)" uu____4280 uu____4292 + in match x.FStar_Syntax_Syntax.sigattrs with | [] -> basic - | uu____4295 -> - let uu____4298 = attrs_to_string x.FStar_Syntax_Syntax.sigattrs in - Prims.op_Hat uu____4298 (Prims.op_Hat "\n" basic) + | uu____4296 -> + let uu____4299 = attrs_to_string x.FStar_Syntax_Syntax.sigattrs in + Prims.op_Hat uu____4299 (Prims.op_Hat "\n" basic) + let (format_error : FStar_Range.range -> Prims.string -> Prims.string) = - fun r -> - fun msg -> - let uu____4315 = FStar_Range.string_of_range r in - FStar_Util.format2 "%s: %s\n" uu____4315 msg + fun r -> + fun msg -> + let uu____4316 = FStar_Range.string_of_range r in + FStar_Util.format2 "%s: %s\n" uu____4316 msg + let rec (sigelt_to_string_short : FStar_Syntax_Syntax.sigelt -> Prims.string) = - fun x -> + fun x -> match x.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_let - ((uu____4326, - { FStar_Syntax_Syntax.lbname = lb; - FStar_Syntax_Syntax.lbunivs = uu____4328; - FStar_Syntax_Syntax.lbtyp = t; - FStar_Syntax_Syntax.lbeff = uu____4330; - FStar_Syntax_Syntax.lbdef = uu____4331; - FStar_Syntax_Syntax.lbattrs = uu____4332; - FStar_Syntax_Syntax.lbpos = uu____4333;_}::[]), - uu____4334) + ((uu____4327,{ FStar_Syntax_Syntax.lbname = lb; + FStar_Syntax_Syntax.lbunivs = uu____4329; + FStar_Syntax_Syntax.lbtyp = t; + FStar_Syntax_Syntax.lbeff = uu____4331; + FStar_Syntax_Syntax.lbdef = uu____4332; + FStar_Syntax_Syntax.lbattrs = uu____4333; + FStar_Syntax_Syntax.lbpos = uu____4334;_}::[]),uu____4335) -> - let uu____4357 = lbname_to_string lb in - let uu____4359 = term_to_string t in - FStar_Util.format2 "let %s : %s" uu____4357 uu____4359 - | uu____4362 -> - let uu____4363 = + let uu____4358 = lbname_to_string lb in + let uu____4360 = term_to_string t in + FStar_Util.format2 "let %s : %s" uu____4358 uu____4360 + | uu____4363 -> + let uu____4364 = FStar_All.pipe_right (FStar_Syntax_Util.lids_of_sigelt x) - (FStar_List.map (fun l -> l.FStar_Ident.str)) in - FStar_All.pipe_right uu____4363 (FStar_String.concat ", ") + (FStar_List.map (fun l -> l.FStar_Ident.str)) + in + FStar_All.pipe_right uu____4364 (FStar_String.concat ", ") + let rec (modul_to_string : FStar_Syntax_Syntax.modul -> Prims.string) = - fun m -> - let uu____4387 = sli m.FStar_Syntax_Syntax.name in - let uu____4389 = - let uu____4391 = - FStar_List.map sigelt_to_string m.FStar_Syntax_Syntax.declarations in - FStar_All.pipe_right uu____4391 (FStar_String.concat "\n") in - let uu____4401 = - let uu____4403 = - FStar_List.map sigelt_to_string m.FStar_Syntax_Syntax.exports in - FStar_All.pipe_right uu____4403 (FStar_String.concat "\n") in + fun m -> + let uu____4388 = sli m.FStar_Syntax_Syntax.name in + let uu____4390 = + let uu____4392 = + FStar_List.map sigelt_to_string m.FStar_Syntax_Syntax.declarations + in + FStar_All.pipe_right uu____4392 (FStar_String.concat "\n") in + let uu____4402 = + let uu____4404 = + FStar_List.map sigelt_to_string m.FStar_Syntax_Syntax.exports in + FStar_All.pipe_right uu____4404 (FStar_String.concat "\n") in FStar_Util.format3 - "module %s\nDeclarations: [\n%s\n]\nExports: [\n%s\n]\n" uu____4387 - uu____4389 uu____4401 + "module %s\nDeclarations: [\n%s\n]\nExports: [\n%s\n]\n" uu____4388 + uu____4390 uu____4402 + let (abs_ascription_to_string : - (FStar_Syntax_Syntax.lcomp, FStar_Ident.lident) FStar_Util.either + (FStar_Syntax_Syntax.lcomp,FStar_Ident.lident) FStar_Util.either FStar_Pervasives_Native.option -> Prims.string) = - fun ascription -> - let strb = FStar_Util.new_string_builder () in + fun ascription -> + let strb = FStar_Util.new_string_builder () in (match ascription with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Util.string_builder_append strb "None" | FStar_Pervasives_Native.Some (FStar_Util.Inl lc) -> (FStar_Util.string_builder_append strb "Some Inr "; - (let uu____4447 = - FStar_Ident.text_of_lid lc.FStar_Syntax_Syntax.eff_name in - FStar_Util.string_builder_append strb uu____4447)) + (let uu____4448 = + FStar_Ident.text_of_lid lc.FStar_Syntax_Syntax.eff_name in + FStar_Util.string_builder_append strb uu____4448)) | FStar_Pervasives_Native.Some (FStar_Util.Inr lid) -> (FStar_Util.string_builder_append strb "Some Inr "; - (let uu____4456 = FStar_Ident.text_of_lid lid in - FStar_Util.string_builder_append strb uu____4456))); + (let uu____4457 = FStar_Ident.text_of_lid lid in + FStar_Util.string_builder_append strb uu____4457))); FStar_Util.string_of_string_builder strb + let list_to_string : 'a . ('a -> Prims.string) -> 'a Prims.list -> Prims.string = - fun f -> - fun elts -> + fun f -> + fun elts -> match elts with | [] -> "[]" | x::xs -> - let strb = FStar_Util.new_string_builder () in + let strb = FStar_Util.new_string_builder () in (FStar_Util.string_builder_append strb "["; - (let uu____4497 = f x in - FStar_Util.string_builder_append strb uu____4497); + (let uu____4498 = f x in + FStar_Util.string_builder_append strb uu____4498); FStar_List.iter - (fun x1 -> + (fun x1 -> FStar_Util.string_builder_append strb "; "; - (let uu____4506 = f x1 in - FStar_Util.string_builder_append strb uu____4506)) xs; + (let uu____4507 = f x1 in + FStar_Util.string_builder_append strb uu____4507)) xs; FStar_Util.string_builder_append strb "]"; FStar_Util.string_of_string_builder strb) + let set_to_string : 'a . ('a -> Prims.string) -> 'a FStar_Util.set -> Prims.string = - fun f -> - fun s -> - let elts = FStar_Util.set_elements s in + fun f -> + fun s -> + let elts = FStar_Util.set_elements s in match elts with | [] -> "{}" | x::xs -> - let strb = FStar_Util.new_string_builder () in + let strb = FStar_Util.new_string_builder () in (FStar_Util.string_builder_append strb "{"; - (let uu____4553 = f x in - FStar_Util.string_builder_append strb uu____4553); + (let uu____4554 = f x in + FStar_Util.string_builder_append strb uu____4554); FStar_List.iter - (fun x1 -> + (fun x1 -> FStar_Util.string_builder_append strb ", "; - (let uu____4562 = f x1 in - FStar_Util.string_builder_append strb uu____4562)) xs; + (let uu____4563 = f x1 in + FStar_Util.string_builder_append strb uu____4563)) xs; FStar_Util.string_builder_append strb "}"; FStar_Util.string_of_string_builder strb) + let (bvs_to_string : Prims.string -> FStar_Syntax_Syntax.bv Prims.list -> Prims.string) = - fun sep -> - fun bvs -> - let uu____4584 = FStar_List.map FStar_Syntax_Syntax.mk_binder bvs in - binders_to_string sep uu____4584 + fun sep -> + fun bvs -> + let uu____4585 = FStar_List.map FStar_Syntax_Syntax.mk_binder bvs in + binders_to_string sep uu____4585 + let rec (emb_typ_to_string : FStar_Syntax_Syntax.emb_typ -> Prims.string) = - fun uu___13_4597 -> - match uu___13_4597 with - | FStar_Syntax_Syntax.ET_abstract -> "abstract" - | FStar_Syntax_Syntax.ET_app (h, []) -> h - | FStar_Syntax_Syntax.ET_app (h, args) -> - let uu____4613 = - let uu____4615 = - let uu____4617 = - let uu____4619 = - let uu____4621 = FStar_List.map emb_typ_to_string args in - FStar_All.pipe_right uu____4621 (FStar_String.concat " ") in - Prims.op_Hat uu____4619 ")" in - Prims.op_Hat " " uu____4617 in - Prims.op_Hat h uu____4615 in - Prims.op_Hat "(" uu____4613 - | FStar_Syntax_Syntax.ET_fun (a, b) -> - let uu____4636 = - let uu____4638 = emb_typ_to_string a in - let uu____4640 = - let uu____4642 = emb_typ_to_string b in - Prims.op_Hat ") -> " uu____4642 in - Prims.op_Hat uu____4638 uu____4640 in - Prims.op_Hat "(" uu____4636 \ No newline at end of file + fun uu___13_4598 -> + match uu___13_4598 with + | FStar_Syntax_Syntax.ET_abstract -> "abstract" + | FStar_Syntax_Syntax.ET_app (h,[]) -> h + | FStar_Syntax_Syntax.ET_app (h,args) -> + let uu____4614 = + let uu____4616 = + let uu____4618 = + let uu____4620 = + let uu____4622 = FStar_List.map emb_typ_to_string args in + FStar_All.pipe_right uu____4622 (FStar_String.concat " ") in + Prims.op_Hat uu____4620 ")" in + Prims.op_Hat " " uu____4618 in + Prims.op_Hat h uu____4616 in + Prims.op_Hat "(" uu____4614 + | FStar_Syntax_Syntax.ET_fun (a,b) -> + let uu____4637 = + let uu____4639 = emb_typ_to_string a in + let uu____4641 = + let uu____4643 = emb_typ_to_string b in + Prims.op_Hat ") -> " uu____4643 in + Prims.op_Hat uu____4639 uu____4641 in + Prims.op_Hat "(" uu____4637 + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Syntax_Resugar.ml b/src/ocaml-output/FStar_Syntax_Resugar.ml index 06d6c8918b7..43a6d9fc8b7 100644 --- a/src/ocaml-output/FStar_Syntax_Resugar.ml +++ b/src/ocaml-output/FStar_Syntax_Resugar.ml @@ -1,37 +1,43 @@ open Prims let (doc_to_string : FStar_Pprint.document -> Prims.string) = - fun doc1 -> + fun doc1 -> FStar_Pprint.pretty_string (FStar_Util.float_of_string "1.0") (Prims.parse_int "100") doc1 + let (parser_term_to_string : FStar_Parser_AST.term -> Prims.string) = - fun t -> - let uu____15 = FStar_Parser_ToDocument.term_to_document t in + fun t -> + let uu____15 = FStar_Parser_ToDocument.term_to_document t in doc_to_string uu____15 + let (parser_pat_to_string : FStar_Parser_AST.pattern -> Prims.string) = - fun t -> - let uu____23 = FStar_Parser_ToDocument.pat_to_document t in + fun t -> + let uu____23 = FStar_Parser_ToDocument.pat_to_document t in doc_to_string uu____23 + let map_opt : 'Auu____33 'Auu____34 . unit -> ('Auu____33 -> 'Auu____34 FStar_Pervasives_Native.option) -> 'Auu____33 Prims.list -> 'Auu____34 Prims.list - = fun uu____50 -> FStar_List.filter_map + = fun uu____50 -> FStar_List.filter_map let (bv_as_unique_ident : FStar_Syntax_Syntax.bv -> FStar_Ident.ident) = - fun x -> + fun x -> let unique_name = let uu____59 = (FStar_Util.starts_with FStar_Ident.reserved_prefix (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText) - || (FStar_Options.print_real_names ()) in + || (FStar_Options.print_real_names ()) + in if uu____59 then - let uu____63 = FStar_Util.string_of_int x.FStar_Syntax_Syntax.index in + let uu____63 = FStar_Util.string_of_int x.FStar_Syntax_Syntax.index + in Prims.op_Hat (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText uu____63 - else (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText in + else (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText in FStar_Ident.mk_ident (unique_name, ((x.FStar_Syntax_Syntax.ppname).FStar_Ident.idRange)) + let filter_imp : 'Auu____73 . ('Auu____73 * FStar_Syntax_Syntax.arg_qualifier @@ -39,104 +45,111 @@ let filter_imp : ('Auu____73 * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list = - fun a -> + fun a -> FStar_All.pipe_right a (FStar_List.filter - (fun uu___0_128 -> + (fun uu___0_128 -> match uu___0_128 with - | (uu____136, FStar_Pervasives_Native.Some + | (uu____136,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t)) when FStar_Syntax_Util.is_fvar FStar_Parser_Const.tcresolve_lid t -> true - | (uu____143, FStar_Pervasives_Native.Some + | (uu____143,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit uu____144)) -> false - | (uu____149, FStar_Pervasives_Native.Some + | (uu____149,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta uu____150)) -> false | uu____156 -> true)) + let filter_pattern_imp : 'Auu____169 . ('Auu____169 * Prims.bool) Prims.list -> ('Auu____169 * Prims.bool) Prims.list = - fun xs -> + fun xs -> FStar_List.filter - (fun uu____204 -> + (fun uu____204 -> match uu____204 with - | (uu____211, is_implicit1) -> Prims.op_Negation is_implicit1) xs + | (uu____211,is_implicit1) -> Prims.op_Negation is_implicit1) xs + let (label : Prims.string -> FStar_Parser_AST.term -> FStar_Parser_AST.term) = - fun s -> - fun t -> + fun s -> + fun t -> if s = "" then t else FStar_Parser_AST.mk_term (FStar_Parser_AST.Labeled (t, s, true)) t.FStar_Parser_AST.range FStar_Parser_AST.Un + let rec (universe_to_int : Prims.int -> FStar_Syntax_Syntax.universe -> (Prims.int * FStar_Syntax_Syntax.universe)) = - fun n1 -> - fun u -> + fun n1 -> + fun u -> match u with | FStar_Syntax_Syntax.U_succ u1 -> universe_to_int (n1 + (Prims.parse_int "1")) u1 | uu____261 -> (n1, u) + let (universe_to_string : FStar_Ident.ident Prims.list -> Prims.string) = - fun univs1 -> - let uu____274 = FStar_Options.print_universes () in + fun univs1 -> + let uu____274 = FStar_Options.print_universes () in if uu____274 then - let uu____278 = FStar_List.map (fun x -> x.FStar_Ident.idText) univs1 in + let uu____278 = FStar_List.map (fun x -> x.FStar_Ident.idText) univs1 + in FStar_All.pipe_right uu____278 (FStar_String.concat ", ") else "" + let rec (resugar_universe' : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.universe -> FStar_Range.range -> FStar_Parser_AST.term) - = fun env -> fun u -> fun r -> resugar_universe u r + = fun env -> fun u -> fun r -> resugar_universe u r + and (resugar_universe : FStar_Syntax_Syntax.universe -> FStar_Range.range -> FStar_Parser_AST.term) = - fun u -> - fun r -> - let mk1 a r1 = FStar_Parser_AST.mk_term a r1 FStar_Parser_AST.Un in + fun u -> + fun r -> + let mk1 a r1 = FStar_Parser_AST.mk_term a r1 FStar_Parser_AST.Un in match u with - | FStar_Syntax_Syntax.U_zero -> + | FStar_Syntax_Syntax.U_zero -> mk1 (FStar_Parser_AST.Const (FStar_Const.Const_int ("0", FStar_Pervasives_Native.None))) r | FStar_Syntax_Syntax.U_succ uu____342 -> - let uu____343 = universe_to_int (Prims.parse_int "0") u in + let uu____343 = universe_to_int (Prims.parse_int "0") u in (match uu____343 with - | (n1, u1) -> + | (n1,u1) -> (match u1 with - | FStar_Syntax_Syntax.U_zero -> + | FStar_Syntax_Syntax.U_zero -> let uu____354 = let uu____355 = let uu____356 = - let uu____368 = FStar_Util.string_of_int n1 in - (uu____368, FStar_Pervasives_Native.None) in - FStar_Const.Const_int uu____356 in - FStar_Parser_AST.Const uu____355 in + let uu____368 = FStar_Util.string_of_int n1 in + (uu____368, FStar_Pervasives_Native.None) in + FStar_Const.Const_int uu____356 in + FStar_Parser_AST.Const uu____355 in mk1 uu____354 r | uu____381 -> let e1 = let uu____383 = let uu____384 = let uu____385 = - let uu____397 = FStar_Util.string_of_int n1 in - (uu____397, FStar_Pervasives_Native.None) in - FStar_Const.Const_int uu____385 in - FStar_Parser_AST.Const uu____384 in - mk1 uu____383 r in - let e2 = resugar_universe u1 r in + let uu____397 = FStar_Util.string_of_int n1 in + (uu____397, FStar_Pervasives_Native.None) in + FStar_Const.Const_int uu____385 in + FStar_Parser_AST.Const uu____384 in + mk1 uu____383 r in + let e2 = resugar_universe u1 r in let uu____411 = let uu____412 = - let uu____419 = FStar_Ident.id_of_text "+" in - (uu____419, [e1; e2]) in - FStar_Parser_AST.Op uu____412 in + let uu____419 = FStar_Ident.id_of_text "+" in + (uu____419, [e1; e2]) in + FStar_Parser_AST.Op uu____412 in mk1 uu____411 r)) | FStar_Syntax_Syntax.U_max l -> (match l with @@ -144,17 +157,17 @@ and (resugar_universe : | uu____427 -> let t = let uu____431 = - let uu____432 = FStar_Ident.lid_of_path ["max"] r in - FStar_Parser_AST.Var uu____432 in - mk1 uu____431 r in + let uu____432 = FStar_Ident.lid_of_path ["max"] r in + FStar_Parser_AST.Var uu____432 in + mk1 uu____431 r in FStar_List.fold_left - (fun acc -> - fun x -> + (fun acc -> + fun x -> let uu____441 = let uu____442 = - let uu____449 = resugar_universe x r in - (acc, uu____449, FStar_Parser_AST.Nothing) in - FStar_Parser_AST.App uu____442 in + let uu____449 = resugar_universe x r in + (acc, uu____449, FStar_Parser_AST.Nothing) in + FStar_Parser_AST.App uu____442 in mk1 uu____441 r) t l) | FStar_Syntax_Syntax.U_name u1 -> mk1 (FStar_Parser_AST.Uvar u1) r | FStar_Syntax_Syntax.U_unif uu____451 -> mk1 FStar_Parser_AST.Wild r @@ -162,18 +175,19 @@ and (resugar_universe : let id1 = let uu____463 = let uu____469 = - let uu____471 = FStar_Util.string_of_int x in - FStar_Util.strcat "uu__univ_bvar_" uu____471 in - (uu____469, r) in - FStar_Ident.mk_ident uu____463 in + let uu____471 = FStar_Util.string_of_int x in + FStar_Util.strcat "uu__univ_bvar_" uu____471 in + (uu____469, r) in + FStar_Ident.mk_ident uu____463 in mk1 (FStar_Parser_AST.Uvar id1) r - | FStar_Syntax_Syntax.U_unknown -> mk1 FStar_Parser_AST.Wild r + | FStar_Syntax_Syntax.U_unknown -> mk1 FStar_Parser_AST.Wild r + let (string_to_op : Prims.string -> (Prims.string * Prims.int FStar_Pervasives_Native.option) FStar_Pervasives_Native.option) = - fun s -> + fun s -> let name_of_op uu___1_509 = match uu___1_509 with | "Amp" -> @@ -219,7 +233,7 @@ let (string_to_op : FStar_Pervasives_Native.Some ("$", FStar_Pervasives_Native.None) | "Dot" -> FStar_Pervasives_Native.Some (".", FStar_Pervasives_Native.None) - | uu____837 -> FStar_Pervasives_Native.None in + | uu____837 -> FStar_Pervasives_Native.None in match s with | "op_String_Assignment" -> FStar_Pervasives_Native.Some (".[]<-", FStar_Pervasives_Native.None) @@ -244,31 +258,33 @@ let (string_to_op : then let s1 = let uu____995 = - FStar_Util.substring_from s (FStar_String.length "op_") in - FStar_Util.split uu____995 "_" in + FStar_Util.substring_from s (FStar_String.length "op_") in + FStar_Util.split uu____995 "_" in (match s1 with | op::[] -> name_of_op op | uu____1013 -> let op = - let uu____1019 = FStar_List.map name_of_op s1 in + let uu____1019 = FStar_List.map name_of_op s1 in FStar_List.fold_left - (fun acc -> - fun x -> + (fun acc -> + fun x -> match x with - | FStar_Pervasives_Native.Some (op, uu____1073) -> + | FStar_Pervasives_Native.Some (op,uu____1073) -> Prims.op_Hat acc op - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> failwith "wrong composed operator format") "" - uu____1019 in + uu____1019 + in FStar_Pervasives_Native.Some (op, FStar_Pervasives_Native.None)) else FStar_Pervasives_Native.None + type expected_arity = Prims.int FStar_Pervasives_Native.option let rec (resugar_term_as_op : FStar_Syntax_Syntax.term -> (Prims.string * expected_arity) FStar_Pervasives_Native.option) = - fun t -> + fun t -> let infix_prim_ops = [(FStar_Parser_Const.op_Addition, "+"); (FStar_Parser_Const.op_Subtraction, "-"); @@ -301,14 +317,15 @@ let rec (resugar_term_as_op : (FStar_Parser_Const.eq3_lid, "==="); (FStar_Parser_Const.forall_lid, "forall"); (FStar_Parser_Const.exists_lid, "exists"); - (FStar_Parser_Const.salloc_lid, "alloc")] in + (FStar_Parser_Const.salloc_lid, "alloc")] in let fallback fv = let uu____1400 = FStar_All.pipe_right infix_prim_ops (FStar_Util.find_opt - (fun d -> + (fun d -> FStar_Syntax_Syntax.fv_eq_lid fv - (FStar_Pervasives_Native.fst d))) in + (FStar_Pervasives_Native.fst d))) + in match uu____1400 with | FStar_Pervasives_Native.Some op -> FStar_Pervasives_Native.Some @@ -316,7 +333,8 @@ let rec (resugar_term_as_op : | uu____1470 -> let length1 = FStar_String.length - ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.nsstr in + ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.nsstr + in let str = if length1 = (Prims.parse_int "0") then @@ -324,7 +342,8 @@ let rec (resugar_term_as_op : else FStar_Util.substring_from ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.str - (length1 + (Prims.parse_int "1")) in + (length1 + (Prims.parse_int "1")) + in if FStar_Util.starts_with str "dtuple" then FStar_Pervasives_Native.Some @@ -342,21 +361,24 @@ let rec (resugar_term_as_op : else (let uu____1572 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.sread_lid in + FStar_Parser_Const.sread_lid + in if uu____1572 then FStar_Pervasives_Native.Some ((((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.str), FStar_Pervasives_Native.None) - else FStar_Pervasives_Native.None) in + else FStar_Pervasives_Native.None) + in let uu____1608 = - let uu____1609 = FStar_Syntax_Subst.compress t in - uu____1609.FStar_Syntax_Syntax.n in + let uu____1609 = FStar_Syntax_Subst.compress t in + uu____1609.FStar_Syntax_Syntax.n in match uu____1608 with | FStar_Syntax_Syntax.Tm_fvar fv -> let length1 = FStar_String.length - ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.nsstr in + ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.nsstr + in let s = if length1 = (Prims.parse_int "0") then @@ -364,95 +386,105 @@ let rec (resugar_term_as_op : else FStar_Util.substring_from ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.str - (length1 + (Prims.parse_int "1")) in - let uu____1630 = string_to_op s in + (length1 + (Prims.parse_int "1")) + in + let uu____1630 = string_to_op s in (match uu____1630 with | FStar_Pervasives_Native.Some t1 -> FStar_Pervasives_Native.Some t1 | uu____1670 -> fallback fv) - | FStar_Syntax_Syntax.Tm_uinst (e, us) -> resugar_term_as_op e + | FStar_Syntax_Syntax.Tm_uinst (e,us) -> resugar_term_as_op e | uu____1687 -> FStar_Pervasives_Native.None + let (is_true_pat : FStar_Syntax_Syntax.pat -> Prims.bool) = - fun p -> + fun p -> match p.FStar_Syntax_Syntax.v with - | FStar_Syntax_Syntax.Pat_constant (FStar_Const.Const_bool (true)) -> + | FStar_Syntax_Syntax.Pat_constant (FStar_Const.Const_bool (true )) -> true | uu____1704 -> false + let (is_wild_pat : FStar_Syntax_Syntax.pat -> Prims.bool) = - fun p -> + fun p -> match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_wild uu____1715 -> true | uu____1717 -> false + let (is_tuple_constructor_lid : FStar_Ident.lident -> Prims.bool) = - fun lid -> + fun lid -> (FStar_Parser_Const.is_tuple_data_lid' lid) || (FStar_Parser_Const.is_dtuple_data_lid' lid) + let (may_shorten : FStar_Ident.lident -> Prims.bool) = - fun lid -> + fun lid -> match lid.FStar_Ident.str with | "Prims.Nil" -> false | "Prims.Cons" -> false | uu____1738 -> - let uu____1740 = is_tuple_constructor_lid lid in + let uu____1740 = is_tuple_constructor_lid lid in Prims.op_Negation uu____1740 + let (maybe_shorten_fv : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.fv -> FStar_Ident.lident) = - fun env -> - fun fv -> - let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let uu____1754 = may_shorten lid in + fun env -> + fun fv -> + let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + let uu____1754 = may_shorten lid in if uu____1754 then FStar_Syntax_DsEnv.shorten_lid env lid else lid + let rec (resugar_term' : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.term -> FStar_Parser_AST.term) = - fun env -> - fun t -> + fun env -> + fun t -> let mk1 a = FStar_Parser_AST.mk_term a t.FStar_Syntax_Syntax.pos - FStar_Parser_AST.Un in + FStar_Parser_AST.Un + in let name a r = - let uu____1899 = FStar_Ident.lid_of_path [a] r in - FStar_Parser_AST.Name uu____1899 in + let uu____1899 = FStar_Ident.lid_of_path [a] r in + FStar_Parser_AST.Name uu____1899 in let uu____1902 = - let uu____1903 = FStar_Syntax_Subst.compress t in - uu____1903.FStar_Syntax_Syntax.n in + let uu____1903 = FStar_Syntax_Subst.compress t in + uu____1903.FStar_Syntax_Syntax.n in match uu____1902 with | FStar_Syntax_Syntax.Tm_delayed uu____1906 -> failwith "Tm_delayed is impossible after compress" | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____1931 = FStar_Syntax_Util.unfold_lazy i in + let uu____1931 = FStar_Syntax_Util.unfold_lazy i in resugar_term' env uu____1931 | FStar_Syntax_Syntax.Tm_bvar x -> let l = let uu____1934 = - let uu____1937 = bv_as_unique_ident x in [uu____1937] in - FStar_Ident.lid_of_ids uu____1934 in + let uu____1937 = bv_as_unique_ident x in [uu____1937] in + FStar_Ident.lid_of_ids uu____1934 in mk1 (FStar_Parser_AST.Var l) | FStar_Syntax_Syntax.Tm_name x -> let l = let uu____1940 = - let uu____1943 = bv_as_unique_ident x in [uu____1943] in - FStar_Ident.lid_of_ids uu____1940 in + let uu____1943 = bv_as_unique_ident x in [uu____1943] in + FStar_Ident.lid_of_ids uu____1940 in mk1 (FStar_Parser_AST.Var l) | FStar_Syntax_Syntax.Tm_fvar fv -> - let a = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + let a = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in let length1 = FStar_String.length - ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.nsstr in + ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.nsstr + in let s = if length1 = (Prims.parse_int "0") then a.FStar_Ident.str else FStar_Util.substring_from a.FStar_Ident.str - (length1 + (Prims.parse_int "1")) in - let is_prefix = Prims.op_Hat FStar_Ident.reserved_prefix "is_" in + (length1 + (Prims.parse_int "1")) + in + let is_prefix = Prims.op_Hat FStar_Ident.reserved_prefix "is_" in if FStar_Util.starts_with s is_prefix then let rest = - FStar_Util.substring_from s (FStar_String.length is_prefix) in + FStar_Util.substring_from s (FStar_String.length is_prefix) in let uu____1962 = let uu____1963 = - FStar_Ident.lid_of_path [rest] t.FStar_Syntax_Syntax.pos in - FStar_Parser_AST.Discrim uu____1963 in + FStar_Ident.lid_of_path [rest] t.FStar_Syntax_Syntax.pos in + FStar_Parser_AST.Discrim uu____1963 in mk1 uu____1962 else if @@ -462,15 +494,19 @@ let rec (resugar_term' : (let rest = FStar_Util.substring_from s (FStar_String.length - FStar_Syntax_Util.field_projector_prefix) in + FStar_Syntax_Util.field_projector_prefix) + in let r = - FStar_Util.split rest FStar_Syntax_Util.field_projector_sep in + FStar_Util.split rest FStar_Syntax_Util.field_projector_sep + in match r with | fst1::snd1::[] -> let l = - FStar_Ident.lid_of_path [fst1] t.FStar_Syntax_Syntax.pos in + FStar_Ident.lid_of_path [fst1] t.FStar_Syntax_Syntax.pos + in let r1 = - FStar_Ident.mk_ident (snd1, (t.FStar_Syntax_Syntax.pos)) in + FStar_Ident.mk_ident (snd1, (t.FStar_Syntax_Syntax.pos)) + in mk1 (FStar_Parser_AST.Projector (l, r1)) | uu____1987 -> failwith "wrong projector format") else @@ -480,154 +516,161 @@ let rec (resugar_term' : || (let uu____1998 = let uu____2000 = - FStar_String.get s (Prims.parse_int "0") in - FStar_Char.uppercase uu____2000 in - let uu____2003 = FStar_String.get s (Prims.parse_int "0") in - uu____1998 <> uu____2003) in + FStar_String.get s (Prims.parse_int "0") in + FStar_Char.uppercase uu____2000 in + let uu____2003 = FStar_String.get s (Prims.parse_int "0") + in + uu____1998 <> uu____2003) + in if uu____1994 then let uu____2008 = - let uu____2009 = maybe_shorten_fv env fv in - FStar_Parser_AST.Var uu____2009 in + let uu____2009 = maybe_shorten_fv env fv in + FStar_Parser_AST.Var uu____2009 in mk1 uu____2008 else (let uu____2012 = let uu____2013 = - let uu____2024 = maybe_shorten_fv env fv in - (uu____2024, []) in - FStar_Parser_AST.Construct uu____2013 in + let uu____2024 = maybe_shorten_fv env fv in + (uu____2024, []) in + FStar_Parser_AST.Construct uu____2013 in mk1 uu____2012)) - | FStar_Syntax_Syntax.Tm_uinst (e, universes) -> - let e1 = resugar_term' env e in - let uu____2042 = FStar_Options.print_universes () in + | FStar_Syntax_Syntax.Tm_uinst (e,universes) -> + let e1 = resugar_term' env e in + let uu____2042 = FStar_Options.print_universes () in if uu____2042 then let univs1 = FStar_List.map - (fun x -> resugar_universe x t.FStar_Syntax_Syntax.pos) - universes in + (fun x -> resugar_universe x t.FStar_Syntax_Syntax.pos) + universes + in (match e1 with - | { - FStar_Parser_AST.tm = FStar_Parser_AST.Construct (hd1, args); + | { FStar_Parser_AST.tm = FStar_Parser_AST.Construct (hd1,args); FStar_Parser_AST.range = r; FStar_Parser_AST.level = l;_} -> let args1 = let uu____2073 = - FStar_List.map (fun u -> (u, FStar_Parser_AST.UnivApp)) - univs1 in - FStar_List.append args uu____2073 in + FStar_List.map (fun u -> (u, FStar_Parser_AST.UnivApp)) + univs1 + in + FStar_List.append args uu____2073 in FStar_Parser_AST.mk_term (FStar_Parser_AST.Construct (hd1, args1)) r l | uu____2096 -> FStar_List.fold_left - (fun acc -> - fun u -> + (fun acc -> + fun u -> mk1 (FStar_Parser_AST.App (acc, u, FStar_Parser_AST.UnivApp))) e1 univs1) else e1 | FStar_Syntax_Syntax.Tm_constant c -> - let uu____2104 = FStar_Syntax_Syntax.is_teff t in + let uu____2104 = FStar_Syntax_Syntax.is_teff t in if uu____2104 then - let uu____2107 = name "Effect" t.FStar_Syntax_Syntax.pos in + let uu____2107 = name "Effect" t.FStar_Syntax_Syntax.pos in mk1 uu____2107 else mk1 (FStar_Parser_AST.Const c) | FStar_Syntax_Syntax.Tm_type u -> let uu____2112 = match u with - | FStar_Syntax_Syntax.U_zero -> ("Type0", false) - | FStar_Syntax_Syntax.U_unknown -> ("Type", false) - | uu____2133 -> ("Type", true) in + | FStar_Syntax_Syntax.U_zero -> ("Type0", false) + | FStar_Syntax_Syntax.U_unknown -> ("Type", false) + | uu____2133 -> ("Type", true) in (match uu____2112 with - | (nm, needs_app) -> + | (nm,needs_app) -> let typ = - let uu____2145 = name nm t.FStar_Syntax_Syntax.pos in - mk1 uu____2145 in + let uu____2145 = name nm t.FStar_Syntax_Syntax.pos in + mk1 uu____2145 in let uu____2146 = - needs_app && (FStar_Options.print_universes ()) in + needs_app && (FStar_Options.print_universes ()) in if uu____2146 then let uu____2149 = let uu____2150 = let uu____2157 = - resugar_universe u t.FStar_Syntax_Syntax.pos in - (typ, uu____2157, FStar_Parser_AST.UnivApp) in - FStar_Parser_AST.App uu____2150 in + resugar_universe u t.FStar_Syntax_Syntax.pos in + (typ, uu____2157, FStar_Parser_AST.UnivApp) in + FStar_Parser_AST.App uu____2150 in mk1 uu____2149 else typ) - | FStar_Syntax_Syntax.Tm_abs (xs, body, uu____2162) -> - let uu____2187 = FStar_Syntax_Subst.open_term xs body in + | FStar_Syntax_Syntax.Tm_abs (xs,body,uu____2162) -> + let uu____2187 = FStar_Syntax_Subst.open_term xs body in (match uu____2187 with - | (xs1, body1) -> + | (xs1,body1) -> let xs2 = - let uu____2203 = FStar_Options.print_implicits () in - if uu____2203 then xs1 else filter_imp xs1 in - let body_bv = FStar_Syntax_Free.names body1 in + let uu____2203 = FStar_Options.print_implicits () in + if uu____2203 then xs1 else filter_imp xs1 in + let body_bv = FStar_Syntax_Free.names body1 in let patterns = FStar_All.pipe_right xs2 (FStar_List.choose - (fun uu____2241 -> + (fun uu____2241 -> match uu____2241 with - | (x, qual) -> resugar_bv_as_pat env x qual body_bv)) in - let body2 = resugar_term' env body1 in + | (x,qual) -> resugar_bv_as_pat env x qual body_bv)) + in + let body2 = resugar_term' env body1 in mk1 (FStar_Parser_AST.Abs (patterns, body2))) - | FStar_Syntax_Syntax.Tm_arrow (xs, body) -> - let uu____2281 = FStar_Syntax_Subst.open_comp xs body in + | FStar_Syntax_Syntax.Tm_arrow (xs,body) -> + let uu____2281 = FStar_Syntax_Subst.open_comp xs body in (match uu____2281 with - | (xs1, body1) -> + | (xs1,body1) -> let xs2 = - let uu____2291 = FStar_Options.print_implicits () in - if uu____2291 then xs1 else filter_imp xs1 in - let body2 = resugar_comp' env body1 in + let uu____2291 = FStar_Options.print_implicits () in + if uu____2291 then xs1 else filter_imp xs1 in + let body2 = resugar_comp' env body1 in let xs3 = let uu____2302 = FStar_All.pipe_right xs2 ((map_opt ()) - (fun b -> - resugar_binder' env b t.FStar_Syntax_Syntax.pos)) in - FStar_All.pipe_right uu____2302 FStar_List.rev in + (fun b -> + resugar_binder' env b t.FStar_Syntax_Syntax.pos)) + in + FStar_All.pipe_right uu____2302 FStar_List.rev in let rec aux body3 uu___2_2327 = match uu___2_2327 with | [] -> body3 | hd1::tl1 -> let body4 = - mk1 (FStar_Parser_AST.Product ([hd1], body3)) in - aux body4 tl1 in + mk1 (FStar_Parser_AST.Product ([hd1], body3)) in + aux body4 tl1 + in aux body2 xs3) - | FStar_Syntax_Syntax.Tm_refine (x, phi) -> + | FStar_Syntax_Syntax.Tm_refine (x,phi) -> let uu____2343 = let uu____2348 = - let uu____2349 = FStar_Syntax_Syntax.mk_binder x in - [uu____2349] in - FStar_Syntax_Subst.open_term uu____2348 phi in + let uu____2349 = FStar_Syntax_Syntax.mk_binder x in + [uu____2349] in + FStar_Syntax_Subst.open_term uu____2348 phi in (match uu____2343 with - | (x1, phi1) -> + | (x1,phi1) -> let b = let uu____2371 = - let uu____2374 = FStar_List.hd x1 in - resugar_binder' env uu____2374 t.FStar_Syntax_Syntax.pos in - FStar_Util.must uu____2371 in + let uu____2374 = FStar_List.hd x1 in + resugar_binder' env uu____2374 t.FStar_Syntax_Syntax.pos + in + FStar_Util.must uu____2371 in let uu____2381 = let uu____2382 = - let uu____2387 = resugar_term' env phi1 in (b, uu____2387) in - FStar_Parser_AST.Refine uu____2382 in + let uu____2387 = resugar_term' env phi1 in + (b, uu____2387) in + FStar_Parser_AST.Refine uu____2382 in mk1 uu____2381) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos = uu____2389; - FStar_Syntax_Syntax.vars = uu____2390;_}, - (e, uu____2392)::[]) + FStar_Syntax_Syntax.vars = uu____2390;_},(e,uu____2392)::[]) when - (let uu____2433 = FStar_Options.print_implicits () in + (let uu____2433 = FStar_Options.print_implicits () in Prims.op_Negation uu____2433) && (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.b2t_lid) -> resugar_term' env e - | FStar_Syntax_Syntax.Tm_app (e, args) -> + | FStar_Syntax_Syntax.Tm_app (e,args) -> let rec last1 uu___3_2482 = match uu___3_2482 with | hd1::[] -> [hd1] | hd1::tl1 -> last1 tl1 - | uu____2552 -> failwith "last of an empty list" in + | uu____2552 -> failwith "last of an empty list" in let rec last_two uu___4_2591 = match uu___4_2591 with | [] -> @@ -637,119 +680,127 @@ let rec (resugar_term' : failwith "last two elements of a list with less than two elements " | a1::a2::[] -> [a1; a2] - | uu____2701::t1 -> last_two t1 in + | uu____2701::t1 -> last_two t1 in let resugar_as_app e1 args1 = let args2 = FStar_List.map - (fun uu____2772 -> + (fun uu____2772 -> match uu____2772 with - | (e2, qual) -> - let uu____2789 = resugar_term' env e2 in - let uu____2790 = resugar_imp env qual in - (uu____2789, uu____2790)) args1 in - let uu____2791 = resugar_term' env e1 in + | (e2,qual) -> + let uu____2789 = resugar_term' env e2 in + let uu____2790 = resugar_imp env qual in + (uu____2789, uu____2790)) args1 + in + let uu____2791 = resugar_term' env e1 in match uu____2791 with | { FStar_Parser_AST.tm = FStar_Parser_AST.Construct - (hd1, previous_args); + (hd1,previous_args); FStar_Parser_AST.range = r; FStar_Parser_AST.level = l;_} -> FStar_Parser_AST.mk_term (FStar_Parser_AST.Construct (hd1, (FStar_List.append previous_args args2))) r l | e2 -> FStar_List.fold_left - (fun acc -> - fun uu____2828 -> + (fun acc -> + fun uu____2828 -> match uu____2828 with - | (x, qual) -> + | (x,qual) -> mk1 (FStar_Parser_AST.App (acc, x, qual))) e2 - args2 in + args2 + in let args1 = - let uu____2844 = FStar_Options.print_implicits () in - if uu____2844 then args else filter_imp args in - let uu____2859 = resugar_term_as_op e in + let uu____2844 = FStar_Options.print_implicits () in + if uu____2844 then args else filter_imp args in + let uu____2859 = resugar_term_as_op e in (match uu____2859 with - | FStar_Pervasives_Native.None -> resugar_as_app e args1 - | FStar_Pervasives_Native.Some ("tuple", uu____2872) -> + | FStar_Pervasives_Native.None -> resugar_as_app e args1 + | FStar_Pervasives_Native.Some ("tuple",uu____2872) -> let out = FStar_List.fold_left - (fun out -> - fun uu____2897 -> + (fun out -> + fun uu____2897 -> match uu____2897 with - | (x, uu____2909) -> - let x1 = resugar_term' env x in + | (x,uu____2909) -> + let x1 = resugar_term' env x in (match out with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some x1 | FStar_Pervasives_Native.Some prefix1 -> let uu____2918 = let uu____2919 = let uu____2920 = let uu____2927 = - FStar_Ident.id_of_text "*" in - (uu____2927, [prefix1; x1]) in - FStar_Parser_AST.Op uu____2920 in - mk1 uu____2919 in + FStar_Ident.id_of_text "*" in + (uu____2927, [prefix1; x1]) in + FStar_Parser_AST.Op uu____2920 in + mk1 uu____2919 in FStar_Pervasives_Native.Some uu____2918)) - FStar_Pervasives_Native.None args1 in + FStar_Pervasives_Native.None args1 + in FStar_Option.get out - | FStar_Pervasives_Native.Some ("dtuple", uu____2931) when + | FStar_Pervasives_Native.Some ("dtuple",uu____2931) when (FStar_List.length args1) > (Prims.parse_int "0") -> - let args2 = last1 args1 in + let args2 = last1 args1 in let body = match args2 with - | (b, uu____2957)::[] -> b - | uu____2974 -> failwith "wrong arguments to dtuple" in + | (b,uu____2957)::[] -> b + | uu____2974 -> failwith "wrong arguments to dtuple" in let uu____2984 = - let uu____2985 = FStar_Syntax_Subst.compress body in - uu____2985.FStar_Syntax_Syntax.n in + let uu____2985 = FStar_Syntax_Subst.compress body in + uu____2985.FStar_Syntax_Syntax.n in (match uu____2984 with - | FStar_Syntax_Syntax.Tm_abs (xs, body1, uu____2990) -> - let uu____3015 = FStar_Syntax_Subst.open_term xs body1 in + | FStar_Syntax_Syntax.Tm_abs (xs,body1,uu____2990) -> + let uu____3015 = FStar_Syntax_Subst.open_term xs body1 + in (match uu____3015 with - | (xs1, body2) -> + | (xs1,body2) -> let xs2 = - let uu____3025 = FStar_Options.print_implicits () in - if uu____3025 then xs1 else filter_imp xs1 in + let uu____3025 = FStar_Options.print_implicits () + in + if uu____3025 then xs1 else filter_imp xs1 in let xs3 = FStar_All.pipe_right xs2 ((map_opt ()) - (fun b -> + (fun b -> resugar_binder' env b - t.FStar_Syntax_Syntax.pos)) in - let body3 = resugar_term' env body2 in + t.FStar_Syntax_Syntax.pos)) + in + let body3 = resugar_term' env body2 in let uu____3042 = let uu____3043 = let uu____3054 = FStar_List.map - (fun _3065 -> FStar_Util.Inl _3065) xs3 in - (uu____3054, body3) in - FStar_Parser_AST.Sum uu____3043 in + (fun _3065 -> FStar_Util.Inl _3065) xs3 + in + (uu____3054, body3) in + FStar_Parser_AST.Sum uu____3043 in mk1 uu____3042) | uu____3072 -> let args3 = FStar_All.pipe_right args2 (FStar_List.map - (fun uu____3095 -> + (fun uu____3095 -> match uu____3095 with - | (e1, qual) -> resugar_term' env e1)) in - let e1 = resugar_term' env e in + | (e1,qual) -> resugar_term' env e1)) + in + let e1 = resugar_term' env e in FStar_List.fold_left - (fun acc -> - fun x -> + (fun acc -> + fun x -> mk1 (FStar_Parser_AST.App (acc, x, FStar_Parser_AST.Nothing))) e1 args3) - | FStar_Pervasives_Native.Some ("dtuple", uu____3113) -> + | FStar_Pervasives_Native.Some ("dtuple",uu____3113) -> resugar_as_app e args1 - | FStar_Pervasives_Native.Some (ref_read, uu____3122) when + | FStar_Pervasives_Native.Some (ref_read,uu____3122) when ref_read = FStar_Parser_Const.sread_lid.FStar_Ident.str -> - let uu____3131 = FStar_List.hd args1 in + let uu____3131 = FStar_List.hd args1 in (match uu____3131 with - | (t1, uu____3145) -> + | (t1,uu____3145) -> let uu____3150 = - let uu____3151 = FStar_Syntax_Subst.compress t1 in - uu____3151.FStar_Syntax_Syntax.n in + let uu____3151 = FStar_Syntax_Subst.compress t1 in + uu____3151.FStar_Syntax_Syntax.n in (match uu____3150 with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Util.field_projector_contains_constructor @@ -758,144 +809,156 @@ let rec (resugar_term' : let f = FStar_Ident.lid_of_path [((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.str] - t1.FStar_Syntax_Syntax.pos in + t1.FStar_Syntax_Syntax.pos + in let uu____3158 = let uu____3159 = - let uu____3164 = resugar_term' env t1 in - (uu____3164, f) in - FStar_Parser_AST.Project uu____3159 in + let uu____3164 = resugar_term' env t1 in + (uu____3164, f) in + FStar_Parser_AST.Project uu____3159 in mk1 uu____3158 | uu____3165 -> resugar_term' env t1)) - | FStar_Pervasives_Native.Some ("try_with", uu____3166) when + | FStar_Pervasives_Native.Some ("try_with",uu____3166) when (FStar_List.length args1) > (Prims.parse_int "1") -> - let new_args = last_two args1 in + let new_args = last_two args1 in let uu____3190 = match new_args with - | (a1, uu____3200)::(a2, uu____3202)::[] -> (a1, a2) - | uu____3229 -> failwith "wrong arguments to try_with" in + | (a1,uu____3200)::(a2,uu____3202)::[] -> (a1, a2) + | uu____3229 -> failwith "wrong arguments to try_with" in (match uu____3190 with - | (body, handler) -> + | (body,handler) -> let decomp term = let uu____3251 = - let uu____3252 = FStar_Syntax_Subst.compress term in - uu____3252.FStar_Syntax_Syntax.n in + let uu____3252 = FStar_Syntax_Subst.compress term in + uu____3252.FStar_Syntax_Syntax.n in match uu____3251 with - | FStar_Syntax_Syntax.Tm_abs (x, e1, uu____3257) -> - let uu____3282 = FStar_Syntax_Subst.open_term x e1 in - (match uu____3282 with | (x1, e2) -> e2) + | FStar_Syntax_Syntax.Tm_abs (x,e1,uu____3257) -> + let uu____3282 = FStar_Syntax_Subst.open_term x e1 + in + (match uu____3282 with | (x1,e2) -> e2) | uu____3289 -> - failwith "wrong argument format to try_with" in + failwith "wrong argument format to try_with" + in let body1 = - let uu____3292 = decomp body in - resugar_term' env uu____3292 in + let uu____3292 = decomp body in + resugar_term' env uu____3292 in let handler1 = - let uu____3294 = decomp handler in - resugar_term' env uu____3294 in + let uu____3294 = decomp handler in + resugar_term' env uu____3294 in let rec resugar_body t1 = match t1.FStar_Parser_AST.tm with | FStar_Parser_AST.Match - (e1, (uu____3302, uu____3303, b)::[]) -> b - | FStar_Parser_AST.Let (uu____3335, uu____3336, b) -> b - | FStar_Parser_AST.Ascribed (t11, t2, t3) -> + (e1,(uu____3302,uu____3303,b)::[]) -> b + | FStar_Parser_AST.Let (uu____3335,uu____3336,b) -> b + | FStar_Parser_AST.Ascribed (t11,t2,t3) -> let uu____3373 = let uu____3374 = - let uu____3383 = resugar_body t11 in - (uu____3383, t2, t3) in - FStar_Parser_AST.Ascribed uu____3374 in + let uu____3383 = resugar_body t11 in + (uu____3383, t2, t3) in + FStar_Parser_AST.Ascribed uu____3374 in mk1 uu____3373 | uu____3386 -> - failwith "unexpected body format to try_with" in - let e1 = resugar_body body1 in + failwith "unexpected body format to try_with" + in + let e1 = resugar_body body1 in let rec resugar_branches t1 = match t1.FStar_Parser_AST.tm with - | FStar_Parser_AST.Match (e2, branches) -> branches - | FStar_Parser_AST.Ascribed (t11, t2, t3) -> + | FStar_Parser_AST.Match (e2,branches) -> branches + | FStar_Parser_AST.Ascribed (t11,t2,t3) -> resugar_branches t11 - | uu____3444 -> [] in - let branches = resugar_branches handler1 in + | uu____3444 -> [] in + let branches = resugar_branches handler1 in mk1 (FStar_Parser_AST.TryWith (e1, branches))) - | FStar_Pervasives_Native.Some ("try_with", uu____3474) -> + | FStar_Pervasives_Native.Some ("try_with",uu____3474) -> resugar_as_app e args1 - | FStar_Pervasives_Native.Some (op, uu____3483) when + | FStar_Pervasives_Native.Some (op,uu____3483) when ((((((op = "=") || (op = "==")) || (op = "===")) || (op = "@")) || (op = ":=")) || (op = "|>")) && (FStar_Options.print_implicits ()) -> resugar_as_app e args1 - | FStar_Pervasives_Native.Some (op, uu____3504) when + | FStar_Pervasives_Native.Some (op,uu____3504) when (op = "forall") || (op = "exists") -> let rec uncurry xs pat t1 = match t1.FStar_Parser_AST.tm with - | FStar_Parser_AST.QExists (x, (uu____3569, p), body) -> + | FStar_Parser_AST.QExists (x,(uu____3569,p),body) -> uncurry (FStar_List.append x xs) (FStar_List.append p pat) body - | FStar_Parser_AST.QForall (x, (uu____3601, p), body) -> + | FStar_Parser_AST.QForall (x,(uu____3601,p),body) -> uncurry (FStar_List.append x xs) (FStar_List.append p pat) body - | uu____3632 -> (xs, pat, t1) in + | uu____3632 -> (xs, pat, t1) in let resugar body = let uu____3645 = - let uu____3646 = FStar_Syntax_Subst.compress body in - uu____3646.FStar_Syntax_Syntax.n in + let uu____3646 = FStar_Syntax_Subst.compress body in + uu____3646.FStar_Syntax_Syntax.n in match uu____3645 with - | FStar_Syntax_Syntax.Tm_abs (xs, body1, uu____3651) -> - let uu____3676 = FStar_Syntax_Subst.open_term xs body1 in + | FStar_Syntax_Syntax.Tm_abs (xs,body1,uu____3651) -> + let uu____3676 = FStar_Syntax_Subst.open_term xs body1 + in (match uu____3676 with - | (xs1, body2) -> + | (xs1,body2) -> let xs2 = - let uu____3686 = FStar_Options.print_implicits () in - if uu____3686 then xs1 else filter_imp xs1 in + let uu____3686 = FStar_Options.print_implicits () + in + if uu____3686 then xs1 else filter_imp xs1 in let xs3 = FStar_All.pipe_right xs2 ((map_opt ()) - (fun b -> + (fun b -> resugar_binder' env b - t.FStar_Syntax_Syntax.pos)) in + t.FStar_Syntax_Syntax.pos)) + in let uu____3702 = let uu____3711 = let uu____3712 = - FStar_Syntax_Subst.compress body2 in - uu____3712.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress body2 in + uu____3712.FStar_Syntax_Syntax.n in match uu____3711 with - | FStar_Syntax_Syntax.Tm_meta (e1, m) -> - let body3 = resugar_term' env e1 in + | FStar_Syntax_Syntax.Tm_meta (e1,m) -> + let body3 = resugar_term' env e1 in let uu____3730 = match m with | FStar_Syntax_Syntax.Meta_pattern - (uu____3747, pats) -> + (uu____3747,pats) -> let uu____3781 = FStar_List.map - (fun es -> + (fun es -> FStar_All.pipe_right es (FStar_List.map - (fun uu____3825 -> + (fun uu____3825 -> match uu____3825 with - | (e2, uu____3833) -> + | (e2,uu____3833) -> resugar_term' env e2))) - pats in + pats + in (uu____3781, body3) - | FStar_Syntax_Syntax.Meta_labeled - (s, r, p) -> + | FStar_Syntax_Syntax.Meta_labeled + (s,r,p) -> let uu____3849 = mk1 (FStar_Parser_AST.Labeled - (body3, s, p)) in + (body3, s, p)) + in ([], uu____3849) | uu____3858 -> failwith - "wrong pattern format for QForall/QExists" in + "wrong pattern format for QForall/QExists" + in (match uu____3730 with - | (pats, body4) -> (pats, body4)) + | (pats,body4) -> (pats, body4)) | uu____3890 -> - let uu____3891 = resugar_term' env body2 in - ([], uu____3891) in + let uu____3891 = resugar_term' env body2 in + ([], uu____3891) + in (match uu____3702 with - | (pats, body3) -> - let uu____3908 = uncurry xs3 pats body3 in + | (pats,body3) -> + let uu____3908 = uncurry xs3 pats body3 in (match uu____3908 with - | (xs4, pats1, body4) -> + | (xs4,pats1,body4) -> let xs5 = - FStar_All.pipe_right xs4 FStar_List.rev in + FStar_All.pipe_right xs4 FStar_List.rev + in if op = "forall" then let uu____3946 = @@ -903,10 +966,12 @@ let rec (resugar_term' : let uu____3966 = let uu____3977 = FStar_Parser_AST.idents_of_binders - xs5 t.FStar_Syntax_Syntax.pos in - (uu____3977, pats1) in - (xs5, uu____3966, body4) in - FStar_Parser_AST.QForall uu____3947 in + xs5 t.FStar_Syntax_Syntax.pos + in + (uu____3977, pats1) in + (xs5, uu____3966, body4) in + FStar_Parser_AST.QForall uu____3947 + in mk1 uu____3946 else (let uu____4000 = @@ -915,74 +980,79 @@ let rec (resugar_term' : let uu____4031 = FStar_Parser_AST.idents_of_binders xs5 - t.FStar_Syntax_Syntax.pos in - (uu____4031, pats1) in - (xs5, uu____4020, body4) in - FStar_Parser_AST.QExists uu____4001 in + t.FStar_Syntax_Syntax.pos + in + (uu____4031, pats1) in + (xs5, uu____4020, body4) in + FStar_Parser_AST.QExists uu____4001 + in mk1 uu____4000)))) | uu____4052 -> if op = "forall" then let uu____4056 = let uu____4057 = - let uu____4076 = resugar_term' env body in - ([], ([], []), uu____4076) in - FStar_Parser_AST.QForall uu____4057 in + let uu____4076 = resugar_term' env body in + ([], ([], []), uu____4076) in + FStar_Parser_AST.QForall uu____4057 in mk1 uu____4056 else (let uu____4099 = let uu____4100 = - let uu____4119 = resugar_term' env body in - ([], ([], []), uu____4119) in - FStar_Parser_AST.QExists uu____4100 in - mk1 uu____4099) in + let uu____4119 = resugar_term' env body in + ([], ([], []), uu____4119) in + FStar_Parser_AST.QExists uu____4100 in + mk1 uu____4099) + in if (FStar_List.length args1) > (Prims.parse_int "0") then - let args2 = last1 args1 in + let args2 = last1 args1 in (match args2 with - | (b, uu____4158)::[] -> resugar b + | (b,uu____4158)::[] -> resugar b | uu____4175 -> failwith "wrong args format to QForall") else resugar_as_app e args1 - | FStar_Pervasives_Native.Some ("alloc", uu____4187) -> - let uu____4195 = FStar_List.hd args1 in + | FStar_Pervasives_Native.Some ("alloc",uu____4187) -> + let uu____4195 = FStar_List.hd args1 in (match uu____4195 with - | (e1, uu____4209) -> resugar_term' env e1) - | FStar_Pervasives_Native.Some (op, expected_arity) -> - let op1 = FStar_Ident.id_of_text op in + | (e1,uu____4209) -> resugar_term' env e1) + | FStar_Pervasives_Native.Some (op,expected_arity) -> + let op1 = FStar_Ident.id_of_text op in let resugar args2 = FStar_All.pipe_right args2 (FStar_List.map - (fun uu____4281 -> + (fun uu____4281 -> match uu____4281 with - | (e1, qual) -> - let uu____4298 = resugar_term' env e1 in - let uu____4299 = resugar_imp env qual in - (uu____4298, uu____4299))) in + | (e1,qual) -> + let uu____4298 = resugar_term' env e1 in + let uu____4299 = resugar_imp env qual in + (uu____4298, uu____4299))) + in (match expected_arity with - | FStar_Pervasives_Native.None -> - let resugared_args = resugar args1 in + | FStar_Pervasives_Native.None -> + let resugared_args = resugar args1 in let expect_n = - FStar_Parser_ToDocument.handleable_args_length op1 in + FStar_Parser_ToDocument.handleable_args_length op1 in if (FStar_List.length resugared_args) >= expect_n then let uu____4315 = - FStar_Util.first_N expect_n resugared_args in + FStar_Util.first_N expect_n resugared_args in (match uu____4315 with - | (op_args, rest) -> + | (op_args,rest) -> let head1 = let uu____4363 = let uu____4364 = let uu____4371 = FStar_List.map FStar_Pervasives_Native.fst - op_args in - (op1, uu____4371) in - FStar_Parser_AST.Op uu____4364 in - mk1 uu____4363 in + op_args + in + (op1, uu____4371) in + FStar_Parser_AST.Op uu____4364 in + mk1 uu____4363 in FStar_List.fold_left - (fun head2 -> - fun uu____4389 -> + (fun head2 -> + fun uu____4389 -> match uu____4389 with - | (arg, qual) -> + | (arg,qual) -> mk1 (FStar_Parser_AST.App (head2, arg, qual))) head1 rest) @@ -992,134 +1062,140 @@ let rec (resugar_term' : let uu____4408 = let uu____4409 = let uu____4416 = - let uu____4419 = resugar args1 in + let uu____4419 = resugar args1 in FStar_List.map FStar_Pervasives_Native.fst - uu____4419 in - (op1, uu____4416) in - FStar_Parser_AST.Op uu____4409 in + uu____4419 + in + (op1, uu____4416) in + FStar_Parser_AST.Op uu____4409 in mk1 uu____4408 | uu____4432 -> resugar_as_app e args1)) - | FStar_Syntax_Syntax.Tm_match (e, (pat, wopt, t1)::[]) -> - let uu____4501 = FStar_Syntax_Subst.open_branch (pat, wopt, t1) in + | FStar_Syntax_Syntax.Tm_match (e,(pat,wopt,t1)::[]) -> + let uu____4501 = FStar_Syntax_Subst.open_branch (pat, wopt, t1) in (match uu____4501 with - | (pat1, wopt1, t2) -> - let branch_bv = FStar_Syntax_Free.names t2 in + | (pat1,wopt1,t2) -> + let branch_bv = FStar_Syntax_Free.names t2 in let bnds = let uu____4547 = let uu____4560 = - let uu____4565 = resugar_pat' env pat1 branch_bv in - let uu____4566 = resugar_term' env e in - (uu____4565, uu____4566) in - (FStar_Pervasives_Native.None, uu____4560) in - [uu____4547] in - let body = resugar_term' env t2 in + let uu____4565 = resugar_pat' env pat1 branch_bv in + let uu____4566 = resugar_term' env e in + (uu____4565, uu____4566) in + (FStar_Pervasives_Native.None, uu____4560) in + [uu____4547] in + let body = resugar_term' env t2 in mk1 (FStar_Parser_AST.Let (FStar_Parser_AST.NoLetQualifier, bnds, body))) | FStar_Syntax_Syntax.Tm_match - (e, (pat1, uu____4618, t1)::(pat2, uu____4621, t2)::[]) when + (e,(pat1,uu____4618,t1)::(pat2,uu____4621,t2)::[]) when (is_true_pat pat1) && (is_wild_pat pat2) -> let uu____4717 = let uu____4718 = - let uu____4725 = resugar_term' env e in - let uu____4726 = resugar_term' env t1 in - let uu____4727 = resugar_term' env t2 in - (uu____4725, uu____4726, uu____4727) in - FStar_Parser_AST.If uu____4718 in + let uu____4725 = resugar_term' env e in + let uu____4726 = resugar_term' env t1 in + let uu____4727 = resugar_term' env t2 in + (uu____4725, uu____4726, uu____4727) in + FStar_Parser_AST.If uu____4718 in mk1 uu____4717 - | FStar_Syntax_Syntax.Tm_match (e, branches) -> + | FStar_Syntax_Syntax.Tm_match (e,branches) -> let resugar_branch uu____4793 = match uu____4793 with - | (pat, wopt, b) -> + | (pat,wopt,b) -> let uu____4835 = - FStar_Syntax_Subst.open_branch (pat, wopt, b) in + FStar_Syntax_Subst.open_branch (pat, wopt, b) in (match uu____4835 with - | (pat1, wopt1, b1) -> - let branch_bv = FStar_Syntax_Free.names b1 in - let pat2 = resugar_pat' env pat1 branch_bv in + | (pat1,wopt1,b1) -> + let branch_bv = FStar_Syntax_Free.names b1 in + let pat2 = resugar_pat' env pat1 branch_bv in let wopt2 = match wopt1 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some e1 -> - let uu____4887 = resugar_term' env e1 in - FStar_Pervasives_Native.Some uu____4887 in - let b2 = resugar_term' env b1 in (pat2, wopt2, b2)) in + let uu____4887 = resugar_term' env e1 in + FStar_Pervasives_Native.Some uu____4887 + in + let b2 = resugar_term' env b1 in (pat2, wopt2, b2)) + in let uu____4891 = let uu____4892 = - let uu____4907 = resugar_term' env e in - let uu____4908 = FStar_List.map resugar_branch branches in - (uu____4907, uu____4908) in - FStar_Parser_AST.Match uu____4892 in + let uu____4907 = resugar_term' env e in + let uu____4908 = FStar_List.map resugar_branch branches in + (uu____4907, uu____4908) in + FStar_Parser_AST.Match uu____4892 in mk1 uu____4891 - | FStar_Syntax_Syntax.Tm_ascribed (e, (asc, tac_opt), uu____4954) -> + | FStar_Syntax_Syntax.Tm_ascribed (e,(asc,tac_opt),uu____4954) -> let term = match asc with | FStar_Util.Inl n1 -> resugar_term' env n1 - | FStar_Util.Inr n1 -> resugar_comp' env n1 in - let tac_opt1 = FStar_Option.map (resugar_term' env) tac_opt in + | FStar_Util.Inr n1 -> resugar_comp' env n1 in + let tac_opt1 = FStar_Option.map (resugar_term' env) tac_opt in let uu____5023 = let uu____5024 = - let uu____5033 = resugar_term' env e in - (uu____5033, term, tac_opt1) in - FStar_Parser_AST.Ascribed uu____5024 in + let uu____5033 = resugar_term' env e in + (uu____5033, term, tac_opt1) in + FStar_Parser_AST.Ascribed uu____5024 in mk1 uu____5023 - | FStar_Syntax_Syntax.Tm_let ((is_rec, source_lbs), body) -> + | FStar_Syntax_Syntax.Tm_let ((is_rec,source_lbs),body) -> let mk_pat a = - FStar_Parser_AST.mk_pattern a t.FStar_Syntax_Syntax.pos in - let uu____5062 = FStar_Syntax_Subst.open_let_rec source_lbs body in + FStar_Parser_AST.mk_pattern a t.FStar_Syntax_Syntax.pos in + let uu____5062 = FStar_Syntax_Subst.open_let_rec source_lbs body + in (match uu____5062 with - | (source_lbs1, body1) -> + | (source_lbs1,body1) -> let resugar_one_binding bnd = let attrs_opt = match bnd.FStar_Syntax_Syntax.lbattrs with | [] -> FStar_Pervasives_Native.None | tms -> let uu____5116 = - FStar_List.map (resugar_term' env) tms in - FStar_Pervasives_Native.Some uu____5116 in + FStar_List.map (resugar_term' env) tms in + FStar_Pervasives_Native.Some uu____5116 + in let uu____5123 = let uu____5128 = FStar_Syntax_Util.mk_conj bnd.FStar_Syntax_Syntax.lbtyp - bnd.FStar_Syntax_Syntax.lbdef in + bnd.FStar_Syntax_Syntax.lbdef + in FStar_Syntax_Subst.open_univ_vars - bnd.FStar_Syntax_Syntax.lbunivs uu____5128 in + bnd.FStar_Syntax_Syntax.lbunivs uu____5128 + in match uu____5123 with - | (univs1, td) -> + | (univs1,td) -> let uu____5148 = let uu____5155 = - let uu____5156 = FStar_Syntax_Subst.compress td in - uu____5156.FStar_Syntax_Syntax.n in + let uu____5156 = FStar_Syntax_Subst.compress td in + uu____5156.FStar_Syntax_Syntax.n in match uu____5155 with | FStar_Syntax_Syntax.Tm_app - (uu____5165, - (t1, uu____5167)::(d, uu____5169)::[]) + (uu____5165,(t1,uu____5167)::(d,uu____5169)::[]) -> (t1, d) - | uu____5226 -> failwith "wrong let binding format" in + | uu____5226 -> failwith "wrong let binding format" + in (match uu____5148 with - | (typ, def) -> + | (typ,def) -> let uu____5257 = let uu____5273 = let uu____5274 = - FStar_Syntax_Subst.compress def in - uu____5274.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress def in + uu____5274.FStar_Syntax_Syntax.n in match uu____5273 with - | FStar_Syntax_Syntax.Tm_abs (b, t1, uu____5294) - -> + | FStar_Syntax_Syntax.Tm_abs (b,t1,uu____5294) -> let uu____5319 = - FStar_Syntax_Subst.open_term b t1 in + FStar_Syntax_Subst.open_term b t1 in (match uu____5319 with - | (b1, t2) -> + | (b1,t2) -> let b2 = let uu____5350 = - FStar_Options.print_implicits () in + FStar_Options.print_implicits () in if uu____5350 then b1 - else filter_imp b1 in + else filter_imp b1 in (b2, t2, true)) - | uu____5373 -> ([], def, false) in + | uu____5373 -> ([], def, false) in (match uu____5257 with - | (binders, term, is_pat_app) -> + | (binders,term,is_pat_app) -> let uu____5428 = match bnd.FStar_Syntax_Syntax.lbname with | FStar_Util.Inr fv -> @@ -1132,161 +1208,179 @@ let rec (resugar_term' : let uu____5440 = let uu____5441 = let uu____5448 = - bv_as_unique_ident bv in + bv_as_unique_ident bv in (uu____5448, - FStar_Pervasives_Native.None) in - FStar_Parser_AST.PatVar uu____5441 in - mk_pat uu____5440 in - (uu____5439, term) in + FStar_Pervasives_Native.None) + in + FStar_Parser_AST.PatVar uu____5441 + in + mk_pat uu____5440 in + (uu____5439, term) + in (match uu____5428 with - | (pat, term1) -> + | (pat,term1) -> let uu____5470 = if is_pat_app then let args = FStar_All.pipe_right binders ((map_opt ()) - (fun uu____5513 -> + (fun uu____5513 -> match uu____5513 with - | (bv, q) -> + | (bv,q) -> let uu____5528 = resugar_arg_qual env - q in + q + in FStar_Util.map_opt uu____5528 - (fun q1 -> + (fun q1 -> let uu____5540 = let uu____5541 = let uu____5548 = bv_as_unique_ident - bv in + bv + in (uu____5548, - q1) in + q1) + in FStar_Parser_AST.PatVar - uu____5541 in - mk_pat uu____5540))) in + uu____5541 + in + mk_pat uu____5540))) + in let uu____5551 = let uu____5556 = - resugar_term' env term1 in + resugar_term' env term1 in ((mk_pat (FStar_Parser_AST.PatApp - (pat, args))), uu____5556) in + (pat, args))), uu____5556) + in let uu____5559 = - universe_to_string univs1 in + universe_to_string univs1 in (uu____5551, uu____5559) else (let uu____5568 = let uu____5573 = - resugar_term' env term1 in - (pat, uu____5573) in + resugar_term' env term1 in + (pat, uu____5573) in let uu____5574 = - universe_to_string univs1 in - (uu____5568, uu____5574)) in - (attrs_opt, uu____5470)))) in - let r = FStar_List.map resugar_one_binding source_lbs1 in + universe_to_string univs1 in + (uu____5568, uu____5574)) + in + (attrs_opt, uu____5470)))) + in + let r = FStar_List.map resugar_one_binding source_lbs1 in let bnds = let f uu____5680 = match uu____5680 with - | (attrs, (pb, univs1)) -> + | (attrs,(pb,univs1)) -> let uu____5740 = - let uu____5742 = FStar_Options.print_universes () in - Prims.op_Negation uu____5742 in + let uu____5742 = FStar_Options.print_universes () + in + Prims.op_Negation uu____5742 in if uu____5740 then (attrs, pb) else (attrs, ((FStar_Pervasives_Native.fst pb), - (label univs1 (FStar_Pervasives_Native.snd pb)))) in - FStar_List.map f r in - let body2 = resugar_term' env body1 in + (label univs1 (FStar_Pervasives_Native.snd pb)))) + in + FStar_List.map f r in + let body2 = resugar_term' env body1 in mk1 (FStar_Parser_AST.Let ((if is_rec then FStar_Parser_AST.Rec else FStar_Parser_AST.NoLetQualifier), bnds, body2))) - | FStar_Syntax_Syntax.Tm_uvar (u, uu____5823) -> + | FStar_Syntax_Syntax.Tm_uvar (u,uu____5823) -> let s = let uu____5842 = let uu____5844 = FStar_Syntax_Unionfind.uvar_id - u.FStar_Syntax_Syntax.ctx_uvar_head in - FStar_All.pipe_right uu____5844 FStar_Util.string_of_int in - Prims.op_Hat "?u" uu____5842 in - let uu____5849 = mk1 FStar_Parser_AST.Wild in label s uu____5849 - | FStar_Syntax_Syntax.Tm_quoted (tm, qi) -> + u.FStar_Syntax_Syntax.ctx_uvar_head + in + FStar_All.pipe_right uu____5844 FStar_Util.string_of_int in + Prims.op_Hat "?u" uu____5842 in + let uu____5849 = mk1 FStar_Parser_AST.Wild in label s uu____5849 + | FStar_Syntax_Syntax.Tm_quoted (tm,qi) -> let qi1 = match qi.FStar_Syntax_Syntax.qkind with - | FStar_Syntax_Syntax.Quote_static -> FStar_Parser_AST.Static - | FStar_Syntax_Syntax.Quote_dynamic -> FStar_Parser_AST.Dynamic in + | FStar_Syntax_Syntax.Quote_static -> FStar_Parser_AST.Static + | FStar_Syntax_Syntax.Quote_dynamic -> FStar_Parser_AST.Dynamic + in let uu____5857 = let uu____5858 = - let uu____5863 = resugar_term' env tm in (uu____5863, qi1) in - FStar_Parser_AST.Quote uu____5858 in + let uu____5863 = resugar_term' env tm in (uu____5863, qi1) in + FStar_Parser_AST.Quote uu____5858 in mk1 uu____5857 - | FStar_Syntax_Syntax.Tm_meta (e, m) -> + | FStar_Syntax_Syntax.Tm_meta (e,m) -> let resugar_meta_desugared uu___5_5875 = match uu___5_5875 with - | FStar_Syntax_Syntax.Sequence -> - let term = resugar_term' env e in + | FStar_Syntax_Syntax.Sequence -> + let term = resugar_term' env e in let rec resugar_seq t1 = match t1.FStar_Parser_AST.tm with | FStar_Parser_AST.Let - (uu____5883, (uu____5884, (p, t11))::[], t2) -> + (uu____5883,(uu____5884,(p,t11))::[],t2) -> mk1 (FStar_Parser_AST.Seq (t11, t2)) - | FStar_Parser_AST.Ascribed (t11, t2, t3) -> + | FStar_Parser_AST.Ascribed (t11,t2,t3) -> let uu____5945 = let uu____5946 = - let uu____5955 = resugar_seq t11 in - (uu____5955, t2, t3) in - FStar_Parser_AST.Ascribed uu____5946 in + let uu____5955 = resugar_seq t11 in + (uu____5955, t2, t3) in + FStar_Parser_AST.Ascribed uu____5946 in mk1 uu____5945 - | uu____5958 -> t1 in + | uu____5958 -> t1 in resugar_seq term - | FStar_Syntax_Syntax.Primop -> resugar_term' env e - | FStar_Syntax_Syntax.Masked_effect -> resugar_term' env e - | FStar_Syntax_Syntax.Meta_smt_pat -> resugar_term' env e in + | FStar_Syntax_Syntax.Primop -> resugar_term' env e + | FStar_Syntax_Syntax.Masked_effect -> resugar_term' env e + | FStar_Syntax_Syntax.Meta_smt_pat -> resugar_term' env e in (match m with - | FStar_Syntax_Syntax.Meta_pattern (uu____5959, pats) -> + | FStar_Syntax_Syntax.Meta_pattern (uu____5959,pats) -> let pats1 = FStar_All.pipe_right (FStar_List.flatten pats) (FStar_List.map - (fun uu____6023 -> + (fun uu____6023 -> match uu____6023 with - | (x, uu____6031) -> resugar_term' env x)) in + | (x,uu____6031) -> resugar_term' env x)) + in mk1 (FStar_Parser_AST.Attributes pats1) | FStar_Syntax_Syntax.Meta_labeled uu____6036 -> resugar_term' env e | FStar_Syntax_Syntax.Meta_desugared i -> resugar_meta_desugared i | FStar_Syntax_Syntax.Meta_named t1 -> mk1 (FStar_Parser_AST.Name t1) - | FStar_Syntax_Syntax.Meta_monadic (name1, t1) -> + | FStar_Syntax_Syntax.Meta_monadic (name1,t1) -> resugar_term' env e - | FStar_Syntax_Syntax.Meta_monadic_lift (name1, uu____6054, t1) -> + | FStar_Syntax_Syntax.Meta_monadic_lift (name1,uu____6054,t1) -> resugar_term' env e) - | FStar_Syntax_Syntax.Tm_unknown -> mk1 FStar_Parser_AST.Wild + | FStar_Syntax_Syntax.Tm_unknown -> mk1 FStar_Parser_AST.Wild + and (resugar_comp' : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.comp -> FStar_Parser_AST.term) = - fun env -> - fun c -> + fun env -> + fun c -> let mk1 a = FStar_Parser_AST.mk_term a c.FStar_Syntax_Syntax.pos - FStar_Parser_AST.Un in + FStar_Parser_AST.Un + in match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (typ, u) -> - let t = resugar_term' env typ in + | FStar_Syntax_Syntax.Total (typ,u) -> + let t = resugar_term' env typ in (match u with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> mk1 (FStar_Parser_AST.Construct (FStar_Parser_Const.effect_Tot_lid, [(t, FStar_Parser_AST.Nothing)])) | FStar_Pervasives_Native.Some u1 -> - let uu____6094 = FStar_Options.print_universes () in + let uu____6094 = FStar_Options.print_universes () in if uu____6094 then - let u2 = resugar_universe u1 c.FStar_Syntax_Syntax.pos in + let u2 = resugar_universe u1 c.FStar_Syntax_Syntax.pos in mk1 (FStar_Parser_AST.Construct (FStar_Parser_Const.effect_Tot_lid, @@ -1297,19 +1391,19 @@ and (resugar_comp' : (FStar_Parser_AST.Construct (FStar_Parser_Const.effect_Tot_lid, [(t, FStar_Parser_AST.Nothing)]))) - | FStar_Syntax_Syntax.GTotal (typ, u) -> - let t = resugar_term' env typ in + | FStar_Syntax_Syntax.GTotal (typ,u) -> + let t = resugar_term' env typ in (match u with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> mk1 (FStar_Parser_AST.Construct (FStar_Parser_Const.effect_GTot_lid, [(t, FStar_Parser_AST.Nothing)])) | FStar_Pervasives_Native.Some u1 -> - let uu____6158 = FStar_Options.print_universes () in + let uu____6158 = FStar_Options.print_universes () in if uu____6158 then - let u2 = resugar_universe u1 c.FStar_Syntax_Syntax.pos in + let u2 = resugar_universe u1 c.FStar_Syntax_Syntax.pos in mk1 (FStar_Parser_AST.Construct (FStar_Parser_Const.effect_GTot_lid, @@ -1323,21 +1417,24 @@ and (resugar_comp' : | FStar_Syntax_Syntax.Comp c1 -> let result = let uu____6202 = - resugar_term' env c1.FStar_Syntax_Syntax.result_typ in - (uu____6202, FStar_Parser_AST.Nothing) in + resugar_term' env c1.FStar_Syntax_Syntax.result_typ in + (uu____6202, FStar_Parser_AST.Nothing) in let uu____6203 = (FStar_Options.print_effect_args ()) || (FStar_Ident.lid_equals c1.FStar_Syntax_Syntax.effect_name - FStar_Parser_Const.effect_Lemma_lid) in + FStar_Parser_Const.effect_Lemma_lid) + in if uu____6203 then let universe = - FStar_List.map (fun u -> resugar_universe u) - c1.FStar_Syntax_Syntax.comp_univs in + FStar_List.map (fun u -> resugar_universe u) + c1.FStar_Syntax_Syntax.comp_univs + in let args = let uu____6226 = FStar_Ident.lid_equals c1.FStar_Syntax_Syntax.effect_name - FStar_Parser_Const.effect_Lemma_lid in + FStar_Parser_Const.effect_Lemma_lid + in if uu____6226 then match c1.FStar_Syntax_Syntax.effect_args with @@ -1345,31 +1442,35 @@ and (resugar_comp' : let post1 = let uu____6311 = FStar_Syntax_Util.unthunk_lemma_post - (FStar_Pervasives_Native.fst post) in - (uu____6311, (FStar_Pervasives_Native.snd post)) in + (FStar_Pervasives_Native.fst post) + in + (uu____6311, (FStar_Pervasives_Native.snd post)) in let uu____6322 = let uu____6331 = FStar_Syntax_Util.is_fvar FStar_Parser_Const.true_lid - (FStar_Pervasives_Native.fst pre) in - if uu____6331 then [] else [pre] in + (FStar_Pervasives_Native.fst pre) + in + if uu____6331 then [] else [pre] in let uu____6366 = let uu____6375 = let uu____6384 = FStar_Syntax_Util.is_fvar FStar_Parser_Const.nil_lid - (FStar_Pervasives_Native.fst pats) in - if uu____6384 then [] else [pats] in - FStar_List.append [post1] uu____6375 in + (FStar_Pervasives_Native.fst pats) + in + if uu____6384 then [] else [pats] in + FStar_List.append [post1] uu____6375 in FStar_List.append uu____6322 uu____6366 | uu____6443 -> c1.FStar_Syntax_Syntax.effect_args - else c1.FStar_Syntax_Syntax.effect_args in + else c1.FStar_Syntax_Syntax.effect_args in let args1 = FStar_List.map - (fun uu____6477 -> + (fun uu____6477 -> match uu____6477 with - | (e, uu____6489) -> - let uu____6494 = resugar_term' env e in - (uu____6494, FStar_Parser_AST.Nothing)) args in + | (e,uu____6489) -> + let uu____6494 = resugar_term' env e in + (uu____6494, FStar_Parser_AST.Nothing)) args + in let rec aux l uu___6_6519 = match uu___6_6519 with | [] -> l @@ -1377,11 +1478,12 @@ and (resugar_comp' : (match hd1 with | FStar_Syntax_Syntax.DECREASES e -> let e1 = - let uu____6552 = resugar_term' env e in - (uu____6552, FStar_Parser_AST.Nothing) in + let uu____6552 = resugar_term' env e in + (uu____6552, FStar_Parser_AST.Nothing) in aux (e1 :: l) tl1 - | uu____6557 -> aux l tl1) in - let decrease = aux [] c1.FStar_Syntax_Syntax.flags in + | uu____6557 -> aux l tl1) + in + let decrease = aux [] c1.FStar_Syntax_Syntax.flags in mk1 (FStar_Parser_AST.Construct ((c1.FStar_Syntax_Syntax.effect_name), @@ -1390,31 +1492,32 @@ and (resugar_comp' : mk1 (FStar_Parser_AST.Construct ((c1.FStar_Syntax_Syntax.effect_name), [result])) + and (resugar_binder' : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.binder -> FStar_Range.range -> FStar_Parser_AST.binder FStar_Pervasives_Native.option) = - fun env -> - fun b -> - fun r -> - let uu____6604 = b in + fun env -> + fun b -> + fun r -> + let uu____6604 = b in match uu____6604 with - | (x, aq) -> - let uu____6613 = resugar_arg_qual env aq in + | (x,aq) -> + let uu____6613 = resugar_arg_qual env aq in FStar_Util.map_opt uu____6613 - (fun imp -> - let e = resugar_term' env x.FStar_Syntax_Syntax.sort in + (fun imp -> + let e = resugar_term' env x.FStar_Syntax_Syntax.sort in match e.FStar_Parser_AST.tm with - | FStar_Parser_AST.Wild -> + | FStar_Parser_AST.Wild -> let uu____6627 = - let uu____6628 = bv_as_unique_ident x in - FStar_Parser_AST.Variable uu____6628 in + let uu____6628 = bv_as_unique_ident x in + FStar_Parser_AST.Variable uu____6628 in FStar_Parser_AST.mk_binder uu____6627 r FStar_Parser_AST.Type_level imp | uu____6629 -> - let uu____6630 = FStar_Syntax_Syntax.is_null_bv x in + let uu____6630 = FStar_Syntax_Syntax.is_null_bv x in if uu____6630 then FStar_Parser_AST.mk_binder (FStar_Parser_AST.NoName e) @@ -1422,11 +1525,12 @@ and (resugar_binder' : else (let uu____6635 = let uu____6636 = - let uu____6641 = bv_as_unique_ident x in - (uu____6641, e) in - FStar_Parser_AST.Annotated uu____6636 in + let uu____6641 = bv_as_unique_ident x in + (uu____6641, e) in + FStar_Parser_AST.Annotated uu____6636 in FStar_Parser_AST.mk_binder uu____6635 r FStar_Parser_AST.Type_level imp)) + and (resugar_bv_as_pat' : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.bv -> @@ -1435,45 +1539,46 @@ and (resugar_bv_as_pat' : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax FStar_Pervasives_Native.option -> FStar_Parser_AST.pattern) = - fun env -> - fun v1 -> - fun aqual -> - fun body_bv -> - fun typ_opt -> + fun env -> + fun v1 -> + fun aqual -> + fun body_bv -> + fun typ_opt -> let mk1 a = - let uu____6661 = FStar_Syntax_Syntax.range_of_bv v1 in - FStar_Parser_AST.mk_pattern a uu____6661 in - let used = FStar_Util.set_mem v1 body_bv in + let uu____6661 = FStar_Syntax_Syntax.range_of_bv v1 in + FStar_Parser_AST.mk_pattern a uu____6661 in + let used = FStar_Util.set_mem v1 body_bv in let pat = let uu____6665 = if used then let uu____6667 = - let uu____6674 = bv_as_unique_ident v1 in - (uu____6674, aqual) in + let uu____6674 = bv_as_unique_ident v1 in + (uu____6674, aqual) in FStar_Parser_AST.PatVar uu____6667 - else FStar_Parser_AST.PatWild aqual in - mk1 uu____6665 in + else FStar_Parser_AST.PatWild aqual in + mk1 uu____6665 in match typ_opt with - | FStar_Pervasives_Native.None -> pat + | FStar_Pervasives_Native.None -> pat | FStar_Pervasives_Native.Some - { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_unknown; + { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_unknown ; FStar_Syntax_Syntax.pos = uu____6681; FStar_Syntax_Syntax.vars = uu____6682;_} -> pat | FStar_Pervasives_Native.Some typ -> - let uu____6692 = FStar_Options.print_bound_var_types () in + let uu____6692 = FStar_Options.print_bound_var_types () in if uu____6692 then let uu____6695 = let uu____6696 = let uu____6707 = - let uu____6714 = resugar_term' env typ in - (uu____6714, FStar_Pervasives_Native.None) in - (pat, uu____6707) in - FStar_Parser_AST.PatAscribed uu____6696 in + let uu____6714 = resugar_term' env typ in + (uu____6714, FStar_Pervasives_Native.None) in + (pat, uu____6707) in + FStar_Parser_AST.PatAscribed uu____6696 in mk1 uu____6695 else pat + and (resugar_bv_as_pat : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.bv -> @@ -1481,79 +1586,87 @@ and (resugar_bv_as_pat : FStar_Syntax_Syntax.bv FStar_Util.set -> FStar_Parser_AST.pattern FStar_Pervasives_Native.option) = - fun env -> - fun x -> - fun qual -> - fun body_bv -> - let uu____6735 = resugar_arg_qual env qual in + fun env -> + fun x -> + fun qual -> + fun body_bv -> + let uu____6735 = resugar_arg_qual env qual in FStar_Util.map_opt uu____6735 - (fun aqual -> + (fun aqual -> let uu____6747 = let uu____6752 = - FStar_Syntax_Subst.compress x.FStar_Syntax_Syntax.sort in + FStar_Syntax_Subst.compress x.FStar_Syntax_Syntax.sort in FStar_All.pipe_left - (fun _6763 -> FStar_Pervasives_Native.Some _6763) - uu____6752 in + (fun _6763 -> FStar_Pervasives_Native.Some _6763) + uu____6752 + in resugar_bv_as_pat' env x aqual body_bv uu____6747) + and (resugar_pat' : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.pat -> FStar_Syntax_Syntax.bv FStar_Util.set -> FStar_Parser_AST.pattern) = - fun env -> - fun p -> - fun branch_bv -> - let mk1 a = FStar_Parser_AST.mk_pattern a p.FStar_Syntax_Syntax.p in + fun env -> + fun p -> + fun branch_bv -> + let mk1 a = FStar_Parser_AST.mk_pattern a p.FStar_Syntax_Syntax.p in let to_arg_qual bopt = FStar_Util.bind_opt bopt - (fun b -> + (fun b -> if b then FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit - else FStar_Pervasives_Native.None) in + else FStar_Pervasives_Native.None) + in let may_drop_implicits args = - (let uu____6825 = FStar_Options.print_implicits () in + (let uu____6825 = FStar_Options.print_implicits () in Prims.op_Negation uu____6825) && (let uu____6828 = FStar_List.existsML - (fun uu____6841 -> + (fun uu____6841 -> match uu____6841 with - | (pattern, is_implicit1) -> + | (pattern,is_implicit1) -> let might_be_used = match pattern.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_var bv -> FStar_Util.set_mem bv branch_bv - | FStar_Syntax_Syntax.Pat_dot_term (bv, uu____6863) + | FStar_Syntax_Syntax.Pat_dot_term (bv,uu____6863) -> FStar_Util.set_mem bv branch_bv | FStar_Syntax_Syntax.Pat_wild uu____6868 -> false - | uu____6870 -> true in - is_implicit1 && might_be_used) args in - Prims.op_Negation uu____6828) in + | uu____6870 -> true in + is_implicit1 && might_be_used) args + in + Prims.op_Negation uu____6828) + in let resugar_plain_pat_cons' fv args = mk1 (FStar_Parser_AST.PatApp ((mk1 (FStar_Parser_AST.PatName ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v))), - args)) in + args)) + in let rec resugar_plain_pat_cons fv args = let args1 = - let uu____6938 = may_drop_implicits args in - if uu____6938 then filter_pattern_imp args else args in + let uu____6938 = may_drop_implicits args in + if uu____6938 then filter_pattern_imp args else args in let args2 = FStar_List.map - (fun uu____6963 -> + (fun uu____6963 -> match uu____6963 with - | (p1, b) -> aux p1 (FStar_Pervasives_Native.Some b)) args1 in + | (p1,b) -> aux p1 (FStar_Pervasives_Native.Some b)) args1 + in resugar_plain_pat_cons' fv args2 + and aux p1 imp_opt = match p1.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant c -> mk1 (FStar_Parser_AST.PatConst c) - | FStar_Syntax_Syntax.Pat_cons (fv, []) -> + | FStar_Syntax_Syntax.Pat_cons (fv,[]) -> mk1 (FStar_Parser_AST.PatName ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v)) - | FStar_Syntax_Syntax.Pat_cons (fv, args) when + | FStar_Syntax_Syntax.Pat_cons (fv,args) when (FStar_Ident.lid_equals (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v FStar_Parser_Const.nil_lid) @@ -1561,9 +1674,9 @@ and (resugar_pat' : -> ((let uu____7018 = let uu____7020 = - let uu____7022 = filter_pattern_imp args in - FStar_List.isEmpty uu____7022 in - Prims.op_Negation uu____7020 in + let uu____7022 = filter_pattern_imp args in + FStar_List.isEmpty uu____7022 in + Prims.op_Negation uu____7020 in if uu____7018 then FStar_Errors.log_issue p1.FStar_Syntax_Syntax.p @@ -1571,18 +1684,18 @@ and (resugar_pat' : "Prims.Nil given explicit arguments") else ()); mk1 (FStar_Parser_AST.PatList [])) - | FStar_Syntax_Syntax.Pat_cons (fv, args) when + | FStar_Syntax_Syntax.Pat_cons (fv,args) when (FStar_Ident.lid_equals (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v FStar_Parser_Const.cons_lid) && (may_drop_implicits args) -> - let uu____7066 = filter_pattern_imp args in + let uu____7066 = filter_pattern_imp args in (match uu____7066 with - | (hd1, false)::(tl1, false)::[] -> - let hd' = aux hd1 (FStar_Pervasives_Native.Some false) in + | (hd1,false )::(tl1,false )::[] -> + let hd' = aux hd1 (FStar_Pervasives_Native.Some false) in let uu____7116 = - aux tl1 (FStar_Pervasives_Native.Some false) in + aux tl1 (FStar_Pervasives_Native.Some false) in (match uu____7116 with | { FStar_Parser_AST.pat = FStar_Parser_AST.PatList tl'; FStar_Parser_AST.prange = p2;_} -> @@ -1594,16 +1707,19 @@ and (resugar_pat' : let uu____7141 = let uu____7143 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length args') in + (FStar_List.length args') + in FStar_Util.format1 "Prims.Cons applied to %s explicit arguments" - uu____7143 in + uu____7143 + in (FStar_Errors.Warning_ConsAppliedExplicitArgs, - uu____7141) in + uu____7141) + in FStar_Errors.log_issue p1.FStar_Syntax_Syntax.p uu____7135); resugar_plain_pat_cons fv args)) - | FStar_Syntax_Syntax.Pat_cons (fv, args) when + | FStar_Syntax_Syntax.Pat_cons (fv,args) when (is_tuple_constructor_lid (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) && (may_drop_implicits args) @@ -1611,97 +1727,104 @@ and (resugar_pat' : let args1 = FStar_All.pipe_right args (FStar_List.filter_map - (fun uu____7196 -> + (fun uu____7196 -> match uu____7196 with - | (p2, is_implicit1) -> + | (p2,is_implicit1) -> if is_implicit1 then FStar_Pervasives_Native.None else (let uu____7213 = - aux p2 (FStar_Pervasives_Native.Some false) in - FStar_Pervasives_Native.Some uu____7213))) in + aux p2 (FStar_Pervasives_Native.Some false) + in + FStar_Pervasives_Native.Some uu____7213))) + in let is_dependent_tuple = FStar_Parser_Const.is_dtuple_data_lid' - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in mk1 (FStar_Parser_AST.PatTuple (args1, is_dependent_tuple)) | FStar_Syntax_Syntax.Pat_cons ({ FStar_Syntax_Syntax.fv_name = uu____7221; FStar_Syntax_Syntax.fv_delta = uu____7222; FStar_Syntax_Syntax.fv_qual = FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Record_ctor (name, fields));_}, - args) + (FStar_Syntax_Syntax.Record_ctor (name,fields));_},args) -> let fields1 = let uu____7251 = FStar_All.pipe_right fields - (FStar_List.map (fun f -> FStar_Ident.lid_of_ids [f])) in - FStar_All.pipe_right uu____7251 FStar_List.rev in + (FStar_List.map (fun f -> FStar_Ident.lid_of_ids [f])) + in + FStar_All.pipe_right uu____7251 FStar_List.rev in let args1 = let uu____7267 = FStar_All.pipe_right args (FStar_List.map - (fun uu____7287 -> + (fun uu____7287 -> match uu____7287 with - | (p2, b) -> - aux p2 (FStar_Pervasives_Native.Some b))) in - FStar_All.pipe_right uu____7267 FStar_List.rev in + | (p2,b) -> aux p2 (FStar_Pervasives_Native.Some b))) + in + FStar_All.pipe_right uu____7267 FStar_List.rev in let rec map21 l1 l2 = match (l1, l2) with - | ([], []) -> [] - | ([], hd1::tl1) -> [] - | (hd1::tl1, []) -> - let uu____7365 = map21 tl1 [] in + | ([],[]) -> [] + | ([],hd1::tl1) -> [] + | (hd1::tl1,[]) -> + let uu____7365 = map21 tl1 [] in (hd1, (mk1 (FStar_Parser_AST.PatWild FStar_Pervasives_Native.None))) :: uu____7365 - | (hd1::tl1, hd2::tl2) -> - let uu____7388 = map21 tl1 tl2 in (hd1, hd2) :: - uu____7388 in + | (hd1::tl1,hd2::tl2) -> + let uu____7388 = map21 tl1 tl2 in (hd1, hd2) :: + uu____7388 + in let args2 = - let uu____7406 = map21 fields1 args1 in - FStar_All.pipe_right uu____7406 FStar_List.rev in + let uu____7406 = map21 fields1 args1 in + FStar_All.pipe_right uu____7406 FStar_List.rev in mk1 (FStar_Parser_AST.PatRecord args2) - | FStar_Syntax_Syntax.Pat_cons (fv, args) -> + | FStar_Syntax_Syntax.Pat_cons (fv,args) -> resugar_plain_pat_cons fv args | FStar_Syntax_Syntax.Pat_var v1 -> let uu____7450 = string_to_op - (v1.FStar_Syntax_Syntax.ppname).FStar_Ident.idText in + (v1.FStar_Syntax_Syntax.ppname).FStar_Ident.idText + in (match uu____7450 with - | FStar_Pervasives_Native.Some (op, uu____7462) -> + | FStar_Pervasives_Native.Some (op,uu____7462) -> let uu____7479 = let uu____7480 = FStar_Ident.mk_ident (op, - ((v1.FStar_Syntax_Syntax.ppname).FStar_Ident.idRange)) in - FStar_Parser_AST.PatOp uu____7480 in + ((v1.FStar_Syntax_Syntax.ppname).FStar_Ident.idRange)) + in + FStar_Parser_AST.PatOp uu____7480 in mk1 uu____7479 - | FStar_Pervasives_Native.None -> - let uu____7490 = to_arg_qual imp_opt in + | FStar_Pervasives_Native.None -> + let uu____7490 = to_arg_qual imp_opt in resugar_bv_as_pat' env v1 uu____7490 branch_bv FStar_Pervasives_Native.None) | FStar_Syntax_Syntax.Pat_wild uu____7495 -> let uu____7496 = - let uu____7497 = to_arg_qual imp_opt in - FStar_Parser_AST.PatWild uu____7497 in + let uu____7497 = to_arg_qual imp_opt in + FStar_Parser_AST.PatWild uu____7497 in mk1 uu____7496 - | FStar_Syntax_Syntax.Pat_dot_term (bv, term) -> + | FStar_Syntax_Syntax.Pat_dot_term (bv,term) -> resugar_bv_as_pat' env bv (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit) - branch_bv (FStar_Pervasives_Native.Some term) in - aux p FStar_Pervasives_Native.None + branch_bv (FStar_Pervasives_Native.Some term) + in aux p FStar_Pervasives_Native.None + and (resugar_arg_qual : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option -> FStar_Parser_AST.arg_qualifier FStar_Pervasives_Native.option FStar_Pervasives_Native.option) = - fun env -> - fun q -> + fun env -> + fun q -> match q with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit b) -> if b @@ -1709,66 +1832,68 @@ and (resugar_arg_qual : else FStar_Pervasives_Native.Some (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit) - | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality) -> + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality ) -> FStar_Pervasives_Native.Some (FStar_Pervasives_Native.Some FStar_Parser_AST.Equality) | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) -> let uu____7537 = let uu____7540 = - let uu____7541 = resugar_term' env t in - FStar_Parser_AST.Meta uu____7541 in - FStar_Pervasives_Native.Some uu____7540 in + let uu____7541 = resugar_term' env t in + FStar_Parser_AST.Meta uu____7541 in + FStar_Pervasives_Native.Some uu____7540 in FStar_Pervasives_Native.Some uu____7537 + and (resugar_imp : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option -> FStar_Parser_AST.imp) = - fun env -> - fun q -> + fun env -> + fun q -> match q with - | FStar_Pervasives_Native.None -> FStar_Parser_AST.Nothing - | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit (false)) + | FStar_Pervasives_Native.None -> FStar_Parser_AST.Nothing + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit (false )) -> FStar_Parser_AST.Hash - | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality) -> - FStar_Parser_AST.Nothing - | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit (true)) -> + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality ) -> FStar_Parser_AST.Nothing + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit (true )) + -> FStar_Parser_AST.Nothing | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) -> - let uu____7553 = resugar_term' env t in + let uu____7553 = resugar_term' env t in FStar_Parser_AST.HashBrace uu____7553 + let (resugar_qualifier : FStar_Syntax_Syntax.qualifier -> FStar_Parser_AST.qualifier FStar_Pervasives_Native.option) = - fun uu___7_7561 -> + fun uu___7_7561 -> match uu___7_7561 with - | FStar_Syntax_Syntax.Assumption -> + | FStar_Syntax_Syntax.Assumption -> FStar_Pervasives_Native.Some FStar_Parser_AST.Assumption - | FStar_Syntax_Syntax.New -> + | FStar_Syntax_Syntax.New -> FStar_Pervasives_Native.Some FStar_Parser_AST.New - | FStar_Syntax_Syntax.Private -> + | FStar_Syntax_Syntax.Private -> FStar_Pervasives_Native.Some FStar_Parser_AST.Private - | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen -> + | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen -> FStar_Pervasives_Native.Some FStar_Parser_AST.Unfold_for_unification_and_vcgen - | FStar_Syntax_Syntax.Visible_default -> FStar_Pervasives_Native.None - | FStar_Syntax_Syntax.Irreducible -> + | FStar_Syntax_Syntax.Visible_default -> FStar_Pervasives_Native.None + | FStar_Syntax_Syntax.Irreducible -> FStar_Pervasives_Native.Some FStar_Parser_AST.Irreducible - | FStar_Syntax_Syntax.Abstract -> + | FStar_Syntax_Syntax.Abstract -> FStar_Pervasives_Native.Some FStar_Parser_AST.Abstract - | FStar_Syntax_Syntax.Inline_for_extraction -> + | FStar_Syntax_Syntax.Inline_for_extraction -> FStar_Pervasives_Native.Some FStar_Parser_AST.Inline_for_extraction - | FStar_Syntax_Syntax.NoExtract -> + | FStar_Syntax_Syntax.NoExtract -> FStar_Pervasives_Native.Some FStar_Parser_AST.NoExtract - | FStar_Syntax_Syntax.Noeq -> + | FStar_Syntax_Syntax.Noeq -> FStar_Pervasives_Native.Some FStar_Parser_AST.Noeq - | FStar_Syntax_Syntax.Unopteq -> + | FStar_Syntax_Syntax.Unopteq -> FStar_Pervasives_Native.Some FStar_Parser_AST.Unopteq - | FStar_Syntax_Syntax.TotalEffect -> + | FStar_Syntax_Syntax.TotalEffect -> FStar_Pervasives_Native.Some FStar_Parser_AST.TotalEffect - | FStar_Syntax_Syntax.Logic -> FStar_Pervasives_Native.None - | FStar_Syntax_Syntax.Reifiable -> + | FStar_Syntax_Syntax.Logic -> FStar_Pervasives_Native.None + | FStar_Syntax_Syntax.Reifiable -> FStar_Pervasives_Native.Some FStar_Parser_AST.Reifiable | FStar_Syntax_Syntax.Reflectable uu____7568 -> FStar_Pervasives_Native.Some FStar_Parser_AST.Reflectable @@ -1781,96 +1906,103 @@ let (resugar_qualifier : | FStar_Syntax_Syntax.RecordConstructor uu____7584 -> FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Action uu____7593 -> FStar_Pervasives_Native.None - | FStar_Syntax_Syntax.ExceptionConstructor -> + | FStar_Syntax_Syntax.ExceptionConstructor -> FStar_Pervasives_Native.None - | FStar_Syntax_Syntax.HasMaskedEffect -> FStar_Pervasives_Native.None - | FStar_Syntax_Syntax.Effect -> + | FStar_Syntax_Syntax.HasMaskedEffect -> FStar_Pervasives_Native.None + | FStar_Syntax_Syntax.Effect -> FStar_Pervasives_Native.Some FStar_Parser_AST.Effect_qual - | FStar_Syntax_Syntax.OnlyName -> FStar_Pervasives_Native.None + | FStar_Syntax_Syntax.OnlyName -> FStar_Pervasives_Native.None + let (resugar_pragma : FStar_Syntax_Syntax.pragma -> FStar_Parser_AST.pragma) = - fun uu___8_7599 -> + fun uu___8_7599 -> match uu___8_7599 with | FStar_Syntax_Syntax.SetOptions s -> FStar_Parser_AST.SetOptions s | FStar_Syntax_Syntax.ResetOptions s -> FStar_Parser_AST.ResetOptions s | FStar_Syntax_Syntax.PushOptions s -> FStar_Parser_AST.PushOptions s - | FStar_Syntax_Syntax.PopOptions -> FStar_Parser_AST.PopOptions - | FStar_Syntax_Syntax.LightOff -> FStar_Parser_AST.LightOff + | FStar_Syntax_Syntax.PopOptions -> FStar_Parser_AST.PopOptions + | FStar_Syntax_Syntax.RestartSolver -> FStar_Parser_AST.RestartSolver + | FStar_Syntax_Syntax.LightOff -> FStar_Parser_AST.LightOff + let (resugar_typ : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.sigelt Prims.list -> FStar_Syntax_Syntax.sigelt -> (FStar_Syntax_Syntax.sigelts * FStar_Parser_AST.tycon)) = - fun env -> - fun datacon_ses -> - fun se -> + fun env -> + fun datacon_ses -> + fun se -> match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (tylid, uvs, bs, t, uu____7642, datacons) -> + (tylid,uvs,bs,t,uu____7642,datacons) -> let uu____7652 = FStar_All.pipe_right datacon_ses (FStar_List.partition - (fun se1 -> + (fun se1 -> match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (uu____7680, uu____7681, uu____7682, inductive_lid, - uu____7684, uu____7685) + (uu____7680,uu____7681,uu____7682,inductive_lid,uu____7684,uu____7685) -> FStar_Ident.lid_equals inductive_lid tylid - | uu____7692 -> failwith "unexpected")) in + | uu____7692 -> failwith "unexpected")) + in (match uu____7652 with - | (current_datacons, other_datacons) -> + | (current_datacons,other_datacons) -> let bs1 = - let uu____7713 = FStar_Options.print_implicits () in - if uu____7713 then bs else filter_imp bs in + let uu____7713 = FStar_Options.print_implicits () in + if uu____7713 then bs else filter_imp bs in let bs2 = FStar_All.pipe_right bs1 ((map_opt ()) - (fun b -> - resugar_binder' env b t.FStar_Syntax_Syntax.pos)) in + (fun b -> + resugar_binder' env b t.FStar_Syntax_Syntax.pos)) + in let tyc = let uu____7730 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___9_7737 -> + (fun uu___9_7737 -> match uu___9_7737 with | FStar_Syntax_Syntax.RecordType uu____7739 -> true - | uu____7749 -> false)) in + | uu____7749 -> false)) + in if uu____7730 then let resugar_datacon_as_fields fields se1 = match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (uu____7803, univs1, term, uu____7806, num, - uu____7808) + (uu____7803,univs1,term,uu____7806,num,uu____7808) -> let uu____7815 = let uu____7816 = - FStar_Syntax_Subst.compress term in - uu____7816.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress term in + uu____7816.FStar_Syntax_Syntax.n in (match uu____7815 with - | FStar_Syntax_Syntax.Tm_arrow (bs3, uu____7830) + | FStar_Syntax_Syntax.Tm_arrow (bs3,uu____7830) -> let mfields = FStar_All.pipe_right bs3 (FStar_List.map - (fun uu____7899 -> + (fun uu____7899 -> match uu____7899 with - | (b, qual) -> + | (b,qual) -> let uu____7920 = - bv_as_unique_ident b in + bv_as_unique_ident b in let uu____7921 = resugar_term' env - b.FStar_Syntax_Syntax.sort in + b.FStar_Syntax_Syntax.sort + in (uu____7920, uu____7921, - FStar_Pervasives_Native.None))) in + FStar_Pervasives_Native.None))) + in FStar_List.append mfields fields | uu____7932 -> failwith "unexpected") - | uu____7944 -> failwith "unexpected" in + | uu____7944 -> failwith "unexpected" in let fields = FStar_List.fold_left resugar_datacon_as_fields [] - current_datacons in + current_datacons + in FStar_Parser_AST.TyconRecord ((tylid.FStar_Ident.ident), bs2, FStar_Pervasives_Native.None, fields) @@ -1878,34 +2010,38 @@ let (resugar_typ : (let resugar_datacon constructors se1 = match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (l, univs1, term, uu____8075, num, uu____8077) -> + (l,univs1,term,uu____8075,num,uu____8077) -> let c = let uu____8098 = - let uu____8101 = resugar_term' env term in - FStar_Pervasives_Native.Some uu____8101 in + let uu____8101 = resugar_term' env term in + FStar_Pervasives_Native.Some uu____8101 in ((l.FStar_Ident.ident), uu____8098, - FStar_Pervasives_Native.None, false) in + FStar_Pervasives_Native.None, false) + in c :: constructors - | uu____8121 -> failwith "unexpected" in + | uu____8121 -> failwith "unexpected" in let constructors = FStar_List.fold_left resugar_datacon [] - current_datacons in + current_datacons + in FStar_Parser_AST.TyconVariant ((tylid.FStar_Ident.ident), bs2, - FStar_Pervasives_Native.None, constructors)) in + FStar_Pervasives_Native.None, constructors)) + in (other_datacons, tyc)) | uu____8201 -> failwith "Impossible : only Sig_inductive_typ can be resugared as types" + let (mk_decl : FStar_Range.range -> FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Parser_AST.decl' -> FStar_Parser_AST.decl) = - fun r -> - fun q -> - fun d' -> - let uu____8227 = FStar_List.choose resugar_qualifier q in + fun r -> + fun q -> + fun d' -> + let uu____8227 = FStar_List.choose resugar_qualifier q in { FStar_Parser_AST.d = d'; FStar_Parser_AST.drange = r; @@ -1913,44 +2049,48 @@ let (mk_decl : FStar_Parser_AST.quals = uu____8227; FStar_Parser_AST.attrs = [] } + let (decl'_to_decl : FStar_Syntax_Syntax.sigelt -> FStar_Parser_AST.decl' -> FStar_Parser_AST.decl) = - fun se -> - fun d' -> + fun se -> + fun d' -> mk_decl se.FStar_Syntax_Syntax.sigrng se.FStar_Syntax_Syntax.sigquals d' + let (resugar_tscheme'' : FStar_Syntax_DsEnv.env -> Prims.string -> FStar_Syntax_Syntax.tscheme -> FStar_Parser_AST.decl) = - fun env -> - fun name -> - fun ts -> - let uu____8257 = ts in + fun env -> + fun name -> + fun ts -> + let uu____8257 = ts in match uu____8257 with - | (univs1, typ) -> + | (univs1,typ) -> let name1 = - FStar_Ident.mk_ident (name, (typ.FStar_Syntax_Syntax.pos)) in + FStar_Ident.mk_ident (name, (typ.FStar_Syntax_Syntax.pos)) in let uu____8270 = let uu____8271 = let uu____8288 = let uu____8297 = let uu____8304 = let uu____8305 = - let uu____8318 = resugar_term' env typ in - (name1, [], FStar_Pervasives_Native.None, uu____8318) in - FStar_Parser_AST.TyconAbbrev uu____8305 in - (uu____8304, FStar_Pervasives_Native.None) in - [uu____8297] in - (false, false, uu____8288) in - FStar_Parser_AST.Tycon uu____8271 in + let uu____8318 = resugar_term' env typ in + (name1, [], FStar_Pervasives_Native.None, uu____8318) + in + FStar_Parser_AST.TyconAbbrev uu____8305 in + (uu____8304, FStar_Pervasives_Native.None) in + [uu____8297] in + (false, false, uu____8288) in + FStar_Parser_AST.Tycon uu____8271 in mk_decl typ.FStar_Syntax_Syntax.pos [] uu____8270 + let (resugar_tscheme' : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.tscheme -> FStar_Parser_AST.decl) - = fun env -> fun ts -> resugar_tscheme'' env "tscheme" ts + = fun env -> fun ts -> resugar_tscheme'' env "tscheme" ts let (resugar_eff_decl' : FStar_Syntax_DsEnv.env -> Prims.bool -> @@ -1958,49 +2098,57 @@ let (resugar_eff_decl' : FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Syntax_Syntax.eff_decl -> FStar_Parser_AST.decl) = - fun env -> - fun for_free -> - fun r -> - fun q -> - fun ed -> + fun env -> + fun for_free -> + fun r -> + fun q -> + fun ed -> let resugar_action d for_free1 = let action_params = FStar_Syntax_Subst.open_binders - d.FStar_Syntax_Syntax.action_params in + d.FStar_Syntax_Syntax.action_params + in let uu____8407 = FStar_Syntax_Subst.open_term action_params - d.FStar_Syntax_Syntax.action_defn in + d.FStar_Syntax_Syntax.action_defn + in match uu____8407 with - | (bs, action_defn) -> + | (bs,action_defn) -> let uu____8414 = FStar_Syntax_Subst.open_term action_params - d.FStar_Syntax_Syntax.action_typ in + d.FStar_Syntax_Syntax.action_typ + in (match uu____8414 with - | (bs1, action_typ) -> + | (bs1,action_typ) -> let action_params1 = - let uu____8424 = FStar_Options.print_implicits () in + let uu____8424 = FStar_Options.print_implicits () + in if uu____8424 then action_params - else filter_imp action_params in + else filter_imp action_params in let action_params2 = let uu____8434 = FStar_All.pipe_right action_params1 - ((map_opt ()) (fun b -> resugar_binder' env b r)) in - FStar_All.pipe_right uu____8434 FStar_List.rev in - let action_defn1 = resugar_term' env action_defn in - let action_typ1 = resugar_term' env action_typ in + ((map_opt ()) + (fun b -> resugar_binder' env b r)) + in + FStar_All.pipe_right uu____8434 FStar_List.rev in + let action_defn1 = resugar_term' env action_defn in + let action_typ1 = resugar_term' env action_typ in if for_free1 then let a = let uu____8451 = let uu____8462 = - FStar_Ident.lid_of_str "construct" in + FStar_Ident.lid_of_str "construct" in (uu____8462, [(action_defn1, FStar_Parser_AST.Nothing); - (action_typ1, FStar_Parser_AST.Nothing)]) in - FStar_Parser_AST.Construct uu____8451 in + (action_typ1, FStar_Parser_AST.Nothing)]) + in + FStar_Parser_AST.Construct uu____8451 in let t = - FStar_Parser_AST.mk_term a r FStar_Parser_AST.Un in + FStar_Parser_AST.mk_term a r FStar_Parser_AST.Un + in mk_decl r q (FStar_Parser_AST.Tycon (false, false, @@ -2018,61 +2166,79 @@ let (resugar_eff_decl' : action_params2, FStar_Pervasives_Native.None, action_defn1)), - FStar_Pervasives_Native.None)]))) in - let eff_name = (ed.FStar_Syntax_Syntax.mname).FStar_Ident.ident in + FStar_Pervasives_Native.None)]))) + in + let eff_name = (ed.FStar_Syntax_Syntax.mname).FStar_Ident.ident + in let uu____8546 = FStar_Syntax_Subst.open_term ed.FStar_Syntax_Syntax.binders - ed.FStar_Syntax_Syntax.signature in + ed.FStar_Syntax_Syntax.signature + in match uu____8546 with - | (eff_binders, eff_typ) -> + | (eff_binders,eff_typ) -> let eff_binders1 = - let uu____8556 = FStar_Options.print_implicits () in - if uu____8556 then eff_binders else filter_imp eff_binders in + let uu____8556 = FStar_Options.print_implicits () in + if uu____8556 then eff_binders else filter_imp eff_binders + in let eff_binders2 = let uu____8566 = FStar_All.pipe_right eff_binders1 - ((map_opt ()) (fun b -> resugar_binder' env b r)) in - FStar_All.pipe_right uu____8566 FStar_List.rev in - let eff_typ1 = resugar_term' env eff_typ in + ((map_opt ()) (fun b -> resugar_binder' env b r)) + in + FStar_All.pipe_right uu____8566 FStar_List.rev in + let eff_typ1 = resugar_term' env eff_typ in let ret_wp = resugar_tscheme'' env "ret_wp" - ed.FStar_Syntax_Syntax.ret_wp in + ed.FStar_Syntax_Syntax.ret_wp + in let bind_wp = resugar_tscheme'' env "bind_wp" - ed.FStar_Syntax_Syntax.bind_wp in + ed.FStar_Syntax_Syntax.bind_wp + in let if_then_else1 = resugar_tscheme'' env "if_then_else" - ed.FStar_Syntax_Syntax.if_then_else in + ed.FStar_Syntax_Syntax.if_then_else + in let ite_wp = resugar_tscheme'' env "ite_wp" - ed.FStar_Syntax_Syntax.ite_wp in + ed.FStar_Syntax_Syntax.ite_wp + in let stronger = resugar_tscheme'' env "stronger" - ed.FStar_Syntax_Syntax.stronger in + ed.FStar_Syntax_Syntax.stronger + in let close_wp = resugar_tscheme'' env "close_wp" - ed.FStar_Syntax_Syntax.close_wp in + ed.FStar_Syntax_Syntax.close_wp + in let assert_p = resugar_tscheme'' env "assert_p" - ed.FStar_Syntax_Syntax.assert_p in + ed.FStar_Syntax_Syntax.assert_p + in let assume_p = resugar_tscheme'' env "assume_p" - ed.FStar_Syntax_Syntax.assume_p in + ed.FStar_Syntax_Syntax.assume_p + in let null_wp = resugar_tscheme'' env "null_wp" - ed.FStar_Syntax_Syntax.null_wp in + ed.FStar_Syntax_Syntax.null_wp + in let trivial = resugar_tscheme'' env "trivial" - ed.FStar_Syntax_Syntax.trivial in + ed.FStar_Syntax_Syntax.trivial + in let repr = resugar_tscheme'' env "repr" - ([], (ed.FStar_Syntax_Syntax.repr)) in + ([], (ed.FStar_Syntax_Syntax.repr)) + in let return_repr = resugar_tscheme'' env "return_repr" - ed.FStar_Syntax_Syntax.return_repr in + ed.FStar_Syntax_Syntax.return_repr + in let bind_repr = resugar_tscheme'' env "bind_repr" - ed.FStar_Syntax_Syntax.bind_repr in + ed.FStar_Syntax_Syntax.bind_repr + in let mandatory_members_decls = if for_free then [repr; return_repr; bind_repr] @@ -2089,28 +2255,32 @@ let (resugar_eff_decl' : assert_p; assume_p; null_wp; - trivial] in + trivial] + in let actions = FStar_All.pipe_right ed.FStar_Syntax_Syntax.actions - (FStar_List.map (fun a -> resugar_action a false)) in - let decls = FStar_List.append mandatory_members_decls actions in + (FStar_List.map (fun a -> resugar_action a false)) + in + let decls = FStar_List.append mandatory_members_decls actions + in mk_decl r q (FStar_Parser_AST.NewEffect (FStar_Parser_AST.DefineEffect (eff_name, eff_binders2, eff_typ1, decls))) + let (resugar_sigelt' : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.sigelt -> FStar_Parser_AST.decl FStar_Pervasives_Native.option) = - fun env -> - fun se -> + fun env -> + fun se -> match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle (ses, uu____8651) -> + | FStar_Syntax_Syntax.Sig_bundle (ses,uu____8651) -> let uu____8660 = FStar_All.pipe_right ses (FStar_List.partition - (fun se1 -> + (fun se1 -> match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ uu____8683 -> true @@ -2118,21 +2288,23 @@ let (resugar_sigelt' : | FStar_Syntax_Syntax.Sig_datacon uu____8709 -> false | uu____8726 -> failwith - "Found a sigelt which is neither a type declaration or a data constructor in a sigelt")) in + "Found a sigelt which is neither a type declaration or a data constructor in a sigelt")) + in (match uu____8660 with - | (decl_typ_ses, datacon_ses) -> + | (decl_typ_ses,datacon_ses) -> let retrieve_datacons_and_resugar uu____8764 se1 = match uu____8764 with - | (datacon_ses1, tycons) -> - let uu____8790 = resugar_typ env datacon_ses1 se1 in + | (datacon_ses1,tycons) -> + let uu____8790 = resugar_typ env datacon_ses1 se1 in (match uu____8790 with - | (datacon_ses2, tyc) -> - (datacon_ses2, (tyc :: tycons))) in + | (datacon_ses2,tyc) -> (datacon_ses2, (tyc :: tycons))) + in let uu____8805 = FStar_List.fold_left retrieve_datacons_and_resugar - (datacon_ses, []) decl_typ_ses in + (datacon_ses, []) decl_typ_ses + in (match uu____8805 with - | (leftover_datacons, tycons) -> + | (leftover_datacons,tycons) -> (match leftover_datacons with | [] -> let uu____8840 = @@ -2140,104 +2312,109 @@ let (resugar_sigelt' : let uu____8842 = let uu____8859 = FStar_List.map - (fun tyc -> + (fun tyc -> (tyc, FStar_Pervasives_Native.None)) - tycons in - (false, false, uu____8859) in - FStar_Parser_AST.Tycon uu____8842 in - decl'_to_decl se uu____8841 in + tycons + in + (false, false, uu____8859) in + FStar_Parser_AST.Tycon uu____8842 in + decl'_to_decl se uu____8841 in FStar_Pervasives_Native.Some uu____8840 | se1::[] -> (match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (l, uu____8894, uu____8895, uu____8896, - uu____8897, uu____8898) + (l,uu____8894,uu____8895,uu____8896,uu____8897,uu____8898) -> let uu____8905 = decl'_to_decl se1 (FStar_Parser_AST.Exception ((l.FStar_Ident.ident), - FStar_Pervasives_Native.None)) in + FStar_Pervasives_Native.None)) + in FStar_Pervasives_Native.Some uu____8905 | uu____8908 -> failwith "wrong format for resguar to Exception") | uu____8912 -> failwith "Should not happen hopefully"))) - | FStar_Syntax_Syntax.Sig_let (lbs, uu____8919) -> + | FStar_Syntax_Syntax.Sig_let (lbs,uu____8919) -> let uu____8924 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___10_8932 -> + (fun uu___10_8932 -> match uu___10_8932 with - | FStar_Syntax_Syntax.Projector (uu____8934, uu____8935) + | FStar_Syntax_Syntax.Projector (uu____8934,uu____8935) -> true | FStar_Syntax_Syntax.Discriminator uu____8937 -> true - | uu____8939 -> false)) in + | uu____8939 -> false)) + in if uu____8924 then FStar_Pervasives_Native.None else (let mk1 e = FStar_Syntax_Syntax.mk e FStar_Pervasives_Native.None - se.FStar_Syntax_Syntax.sigrng in - let dummy = mk1 FStar_Syntax_Syntax.Tm_unknown in + se.FStar_Syntax_Syntax.sigrng + in + let dummy = mk1 FStar_Syntax_Syntax.Tm_unknown in let desugared_let = - mk1 (FStar_Syntax_Syntax.Tm_let (lbs, dummy)) in - let t = resugar_term' env desugared_let in + mk1 (FStar_Syntax_Syntax.Tm_let (lbs, dummy)) in + let t = resugar_term' env desugared_let in match t.FStar_Parser_AST.tm with - | FStar_Parser_AST.Let (isrec, lets, uu____8974) -> + | FStar_Parser_AST.Let (isrec,lets,uu____8974) -> let uu____9003 = let uu____9004 = let uu____9005 = let uu____9016 = - FStar_List.map FStar_Pervasives_Native.snd lets in - (isrec, uu____9016) in - FStar_Parser_AST.TopLevelLet uu____9005 in - decl'_to_decl se uu____9004 in + FStar_List.map FStar_Pervasives_Native.snd lets in + (isrec, uu____9016) in + FStar_Parser_AST.TopLevelLet uu____9005 in + decl'_to_decl se uu____9004 in FStar_Pervasives_Native.Some uu____9003 | uu____9053 -> failwith "Should not happen hopefully") - | FStar_Syntax_Syntax.Sig_assume (lid, uu____9058, fml) -> + | FStar_Syntax_Syntax.Sig_assume (lid,uu____9058,fml) -> let uu____9060 = let uu____9061 = let uu____9062 = - let uu____9067 = resugar_term' env fml in - ((lid.FStar_Ident.ident), uu____9067) in - FStar_Parser_AST.Assume uu____9062 in - decl'_to_decl se uu____9061 in + let uu____9067 = resugar_term' env fml in + ((lid.FStar_Ident.ident), uu____9067) in + FStar_Parser_AST.Assume uu____9062 in + decl'_to_decl se uu____9061 in FStar_Pervasives_Native.Some uu____9060 | FStar_Syntax_Syntax.Sig_new_effect ed -> let uu____9069 = resugar_eff_decl' env false se.FStar_Syntax_Syntax.sigrng - se.FStar_Syntax_Syntax.sigquals ed in + se.FStar_Syntax_Syntax.sigquals ed + in FStar_Pervasives_Native.Some uu____9069 | FStar_Syntax_Syntax.Sig_new_effect_for_free ed -> let uu____9072 = resugar_eff_decl' env true se.FStar_Syntax_Syntax.sigrng - se.FStar_Syntax_Syntax.sigquals ed in + se.FStar_Syntax_Syntax.sigquals ed + in FStar_Pervasives_Native.Some uu____9072 | FStar_Syntax_Syntax.Sig_sub_effect e -> - let src = e.FStar_Syntax_Syntax.source in - let dst = e.FStar_Syntax_Syntax.target in + let src = e.FStar_Syntax_Syntax.source in + let dst = e.FStar_Syntax_Syntax.target in let lift_wp = match e.FStar_Syntax_Syntax.lift_wp with - | FStar_Pervasives_Native.Some (uu____9082, t) -> - let uu____9092 = resugar_term' env t in + | FStar_Pervasives_Native.Some (uu____9082,t) -> + let uu____9092 = resugar_term' env t in FStar_Pervasives_Native.Some uu____9092 - | uu____9093 -> FStar_Pervasives_Native.None in + | uu____9093 -> FStar_Pervasives_Native.None in let lift = match e.FStar_Syntax_Syntax.lift with - | FStar_Pervasives_Native.Some (uu____9101, t) -> - let uu____9111 = resugar_term' env t in + | FStar_Pervasives_Native.Some (uu____9101,t) -> + let uu____9111 = resugar_term' env t in FStar_Pervasives_Native.Some uu____9111 - | uu____9112 -> FStar_Pervasives_Native.None in + | uu____9112 -> FStar_Pervasives_Native.None in let op = match (lift_wp, lift) with - | (FStar_Pervasives_Native.Some t, FStar_Pervasives_Native.None) + | (FStar_Pervasives_Native.Some t,FStar_Pervasives_Native.None ) -> FStar_Parser_AST.NonReifiableLift t - | (FStar_Pervasives_Native.Some wp, FStar_Pervasives_Native.Some + | (FStar_Pervasives_Native.Some wp,FStar_Pervasives_Native.Some t) -> FStar_Parser_AST.ReifiableLift (wp, t) - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.Some t) + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.Some t) -> FStar_Parser_AST.LiftForFree t - | uu____9136 -> failwith "Should not happen hopefully" in + | uu____9136 -> failwith "Should not happen hopefully" in let uu____9146 = decl'_to_decl se (FStar_Parser_AST.SubEffect @@ -2245,20 +2422,22 @@ let (resugar_sigelt' : FStar_Parser_AST.msource = src; FStar_Parser_AST.mdest = dst; FStar_Parser_AST.lift_op = op - }) in + }) + in FStar_Pervasives_Native.Some uu____9146 - | FStar_Syntax_Syntax.Sig_effect_abbrev (lid, vs, bs, c, flags) -> - let uu____9156 = FStar_Syntax_Subst.open_comp bs c in + | FStar_Syntax_Syntax.Sig_effect_abbrev (lid,vs,bs,c,flags) -> + let uu____9156 = FStar_Syntax_Subst.open_comp bs c in (match uu____9156 with - | (bs1, c1) -> + | (bs1,c1) -> let bs2 = - let uu____9168 = FStar_Options.print_implicits () in - if uu____9168 then bs1 else filter_imp bs1 in + let uu____9168 = FStar_Options.print_implicits () in + if uu____9168 then bs1 else filter_imp bs1 in let bs3 = FStar_All.pipe_right bs2 ((map_opt ()) - (fun b -> - resugar_binder' env b se.FStar_Syntax_Syntax.sigrng)) in + (fun b -> + resugar_binder' env b se.FStar_Syntax_Syntax.sigrng)) + in let uu____9184 = let uu____9185 = let uu____9186 = @@ -2266,60 +2445,66 @@ let (resugar_sigelt' : let uu____9212 = let uu____9219 = let uu____9220 = - let uu____9233 = resugar_comp' env c1 in + let uu____9233 = resugar_comp' env c1 in ((lid.FStar_Ident.ident), bs3, - FStar_Pervasives_Native.None, uu____9233) in - FStar_Parser_AST.TyconAbbrev uu____9220 in - (uu____9219, FStar_Pervasives_Native.None) in - [uu____9212] in - (false, false, uu____9203) in - FStar_Parser_AST.Tycon uu____9186 in - decl'_to_decl se uu____9185 in + FStar_Pervasives_Native.None, uu____9233) + in + FStar_Parser_AST.TyconAbbrev uu____9220 in + (uu____9219, FStar_Pervasives_Native.None) in + [uu____9212] in + (false, false, uu____9203) in + FStar_Parser_AST.Tycon uu____9186 in + decl'_to_decl se uu____9185 in FStar_Pervasives_Native.Some uu____9184) | FStar_Syntax_Syntax.Sig_pragma p -> let uu____9265 = - decl'_to_decl se (FStar_Parser_AST.Pragma (resugar_pragma p)) in + decl'_to_decl se (FStar_Parser_AST.Pragma (resugar_pragma p)) in FStar_Pervasives_Native.Some uu____9265 - | FStar_Syntax_Syntax.Sig_declare_typ (lid, uvs, t) -> + | FStar_Syntax_Syntax.Sig_declare_typ (lid,uvs,t) -> let uu____9269 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___11_9277 -> + (fun uu___11_9277 -> match uu___11_9277 with - | FStar_Syntax_Syntax.Projector (uu____9279, uu____9280) + | FStar_Syntax_Syntax.Projector (uu____9279,uu____9280) -> true | FStar_Syntax_Syntax.Discriminator uu____9282 -> true - | uu____9284 -> false)) in + | uu____9284 -> false)) + in if uu____9269 then FStar_Pervasives_Native.None else (let t' = let uu____9292 = - (let uu____9296 = FStar_Options.print_universes () in - Prims.op_Negation uu____9296) || (FStar_List.isEmpty uvs) in + (let uu____9296 = FStar_Options.print_universes () in + Prims.op_Negation uu____9296) || (FStar_List.isEmpty uvs) + in if uu____9292 then resugar_term' env t else - (let uu____9301 = FStar_Syntax_Subst.open_univ_vars uvs t in + (let uu____9301 = FStar_Syntax_Subst.open_univ_vars uvs t + in match uu____9301 with - | (uvs1, t1) -> - let universes = universe_to_string uvs1 in - let uu____9310 = resugar_term' env t1 in - label universes uu____9310) in + | (uvs1,t1) -> + let universes = universe_to_string uvs1 in + let uu____9310 = resugar_term' env t1 in + label universes uu____9310) + in let uu____9311 = decl'_to_decl se - (FStar_Parser_AST.Val ((lid.FStar_Ident.ident), t')) in + (FStar_Parser_AST.Val ((lid.FStar_Ident.ident), t')) + in FStar_Pervasives_Native.Some uu____9311) - | FStar_Syntax_Syntax.Sig_splice (ids, t) -> + | FStar_Syntax_Syntax.Sig_splice (ids,t) -> let uu____9318 = let uu____9319 = let uu____9320 = let uu____9327 = - FStar_List.map (fun l -> l.FStar_Ident.ident) ids in - let uu____9332 = resugar_term' env t in - (uu____9327, uu____9332) in - FStar_Parser_AST.Splice uu____9320 in - decl'_to_decl se uu____9319 in + FStar_List.map (fun l -> l.FStar_Ident.ident) ids in + let uu____9332 = resugar_term' env t in + (uu____9327, uu____9332) in + FStar_Parser_AST.Splice uu____9320 in + decl'_to_decl se uu____9319 in FStar_Pervasives_Native.Some uu____9318 | FStar_Syntax_Syntax.Sig_inductive_typ uu____9335 -> FStar_Pervasives_Native.None @@ -2327,41 +2512,46 @@ let (resugar_sigelt' : FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Sig_main uu____9368 -> FStar_Pervasives_Native.None + let (empty_env : FStar_Syntax_DsEnv.env) = - FStar_Syntax_DsEnv.empty_env FStar_Parser_Dep.empty_deps -let noenv : 'a . (FStar_Syntax_DsEnv.env -> 'a) -> 'a = fun f -> f empty_env + FStar_Syntax_DsEnv.empty_env FStar_Parser_Dep.empty_deps +let noenv : 'a . (FStar_Syntax_DsEnv.env -> 'a) -> 'a = fun f -> f empty_env let (resugar_term : FStar_Syntax_Syntax.term -> FStar_Parser_AST.term) = - fun t -> let uu____9392 = noenv resugar_term' in uu____9392 t + fun t -> let uu____9392 = noenv resugar_term' in uu____9392 t let (resugar_sigelt : FStar_Syntax_Syntax.sigelt -> FStar_Parser_AST.decl FStar_Pervasives_Native.option) - = fun se -> let uu____9410 = noenv resugar_sigelt' in uu____9410 se + = fun se -> let uu____9410 = noenv resugar_sigelt' in uu____9410 se let (resugar_comp : FStar_Syntax_Syntax.comp -> FStar_Parser_AST.term) = - fun c -> let uu____9428 = noenv resugar_comp' in uu____9428 c + fun c -> let uu____9428 = noenv resugar_comp' in uu____9428 c let (resugar_pat : FStar_Syntax_Syntax.pat -> FStar_Syntax_Syntax.bv FStar_Util.set -> FStar_Parser_AST.pattern) = - fun p -> - fun branch_bv -> - let uu____9451 = noenv resugar_pat' in uu____9451 p branch_bv + fun p -> + fun branch_bv -> + let uu____9451 = noenv resugar_pat' in uu____9451 p branch_bv + let (resugar_binder : FStar_Syntax_Syntax.binder -> FStar_Range.range -> FStar_Parser_AST.binder FStar_Pervasives_Native.option) = - fun b -> fun r -> let uu____9485 = noenv resugar_binder' in uu____9485 b r + fun b -> + fun r -> let uu____9485 = noenv resugar_binder' in uu____9485 b r + let (resugar_tscheme : FStar_Syntax_Syntax.tscheme -> FStar_Parser_AST.decl) - = fun ts -> let uu____9510 = noenv resugar_tscheme' in uu____9510 ts + = fun ts -> let uu____9510 = noenv resugar_tscheme' in uu____9510 ts let (resugar_eff_decl : Prims.bool -> FStar_Range.range -> FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Syntax_Syntax.eff_decl -> FStar_Parser_AST.decl) = - fun for_free -> - fun r -> - fun q -> - fun ed -> - let uu____9545 = noenv resugar_eff_decl' in - uu____9545 for_free r q ed \ No newline at end of file + fun for_free -> + fun r -> + fun q -> + fun ed -> + let uu____9545 = noenv resugar_eff_decl' in + uu____9545 for_free r q ed + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Syntax_Subst.ml b/src/ocaml-output/FStar_Syntax_Subst.ml index 2b9417eea4f..c908050ddd0 100644 --- a/src/ocaml-output/FStar_Syntax_Subst.ml +++ b/src/ocaml-output/FStar_Syntax_Subst.ml @@ -2,31 +2,34 @@ open Prims let subst_to_string : 'Auu____4 . (FStar_Syntax_Syntax.bv * 'Auu____4) Prims.list -> Prims.string = - fun s -> + fun s -> let uu____23 = FStar_All.pipe_right s (FStar_List.map - (fun uu____44 -> + (fun uu____44 -> match uu____44 with - | (b, uu____51) -> - (b.FStar_Syntax_Syntax.ppname).FStar_Ident.idText)) in + | (b,uu____51) -> + (b.FStar_Syntax_Syntax.ppname).FStar_Ident.idText)) + in FStar_All.pipe_right uu____23 (FStar_String.concat ", ") + let rec apply_until_some : 'Auu____66 'Auu____67 . ('Auu____66 -> 'Auu____67 FStar_Pervasives_Native.option) -> 'Auu____66 Prims.list -> ('Auu____66 Prims.list * 'Auu____67) FStar_Pervasives_Native.option = - fun f -> - fun s -> + fun f -> + fun s -> match s with | [] -> FStar_Pervasives_Native.None | s0::rest -> - let uu____109 = f s0 in + let uu____109 = f s0 in (match uu____109 with - | FStar_Pervasives_Native.None -> apply_until_some f rest + | FStar_Pervasives_Native.None -> apply_until_some f rest | FStar_Pervasives_Native.Some st -> FStar_Pervasives_Native.Some (rest, st)) + let map_some_curry : 'Auu____142 'Auu____143 'Auu____144 . ('Auu____142 -> 'Auu____143 -> 'Auu____144) -> @@ -34,12 +37,13 @@ let map_some_curry : ('Auu____142 * 'Auu____143) FStar_Pervasives_Native.option -> 'Auu____144 = - fun f -> - fun x -> - fun uu___0_171 -> + fun f -> + fun x -> + fun uu___0_171 -> match uu___0_171 with - | FStar_Pervasives_Native.None -> x - | FStar_Pervasives_Native.Some (a, b) -> f a b + | FStar_Pervasives_Native.None -> x + | FStar_Pervasives_Native.Some (a,b) -> f a b + let apply_until_some_then_map : 'Auu____207 'Auu____208 'Auu____209 . ('Auu____207 -> 'Auu____208 FStar_Pervasives_Native.option) -> @@ -47,47 +51,51 @@ let apply_until_some_then_map : ('Auu____207 Prims.list -> 'Auu____208 -> 'Auu____209) -> 'Auu____209 -> 'Auu____209 = - fun f -> - fun s -> - fun g -> - fun t -> - let uu____257 = apply_until_some f s in + fun f -> + fun s -> + fun g -> + fun t -> + let uu____257 = apply_until_some f s in FStar_All.pipe_right uu____257 (map_some_curry g t) + let compose_subst : 'Auu____283 . ('Auu____283 Prims.list * FStar_Syntax_Syntax.maybe_set_use_range) -> ('Auu____283 Prims.list * FStar_Syntax_Syntax.maybe_set_use_range) -> ('Auu____283 Prims.list * FStar_Syntax_Syntax.maybe_set_use_range) = - fun s1 -> - fun s2 -> + fun s1 -> + fun s2 -> let s = FStar_List.append (FStar_Pervasives_Native.fst s1) - (FStar_Pervasives_Native.fst s2) in + (FStar_Pervasives_Native.fst s2) + in let ropt = match FStar_Pervasives_Native.snd s2 with | FStar_Syntax_Syntax.SomeUseRange uu____334 -> FStar_Pervasives_Native.snd s2 - | uu____337 -> FStar_Pervasives_Native.snd s1 in + | uu____337 -> FStar_Pervasives_Native.snd s1 in (s, ropt) + let (delay : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> (FStar_Syntax_Syntax.subst_elt Prims.list Prims.list * FStar_Syntax_Syntax.maybe_set_use_range) -> FStar_Syntax_Syntax.term) = - fun t -> - fun s -> + fun t -> + fun s -> match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_delayed ((t', s'), m) -> + | FStar_Syntax_Syntax.Tm_delayed ((t',s'),m) -> FStar_Syntax_Syntax.mk_Tm_delayed (t', (compose_subst s' s)) t.FStar_Syntax_Syntax.pos | uu____420 -> FStar_Syntax_Syntax.mk_Tm_delayed (t, s) t.FStar_Syntax_Syntax.pos + let rec (force_uvar' : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * Prims.bool)) = - fun t -> + fun t -> match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_uvar ({ FStar_Syntax_Syntax.ctx_uvar_head = uv; @@ -97,27 +105,27 @@ let rec (force_uvar' : FStar_Syntax_Syntax.ctx_uvar_reason = uu____449; FStar_Syntax_Syntax.ctx_uvar_should_check = uu____450; FStar_Syntax_Syntax.ctx_uvar_range = uu____451; - FStar_Syntax_Syntax.ctx_uvar_meta = uu____452;_}, - s) + FStar_Syntax_Syntax.ctx_uvar_meta = uu____452;_},s) -> - let uu____501 = FStar_Syntax_Unionfind.find uv in + let uu____501 = FStar_Syntax_Unionfind.find uv in (match uu____501 with | FStar_Pervasives_Native.Some t' -> let uu____512 = let uu____515 = - let uu____523 = delay t' s in force_uvar' uu____523 in - FStar_Pervasives_Native.fst uu____515 in + let uu____523 = delay t' s in force_uvar' uu____523 in + FStar_Pervasives_Native.fst uu____515 in (uu____512, true) | uu____533 -> (t, false)) | uu____540 -> (t, false) + let (force_uvar : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * Prims.bool)) = - fun t -> - let uu____562 = force_uvar' t in + fun t -> + let uu____562 = force_uvar' t in match uu____562 with - | (t', forced) -> + | (t',forced) -> if Prims.op_Negation forced then (t, forced) else @@ -125,22 +133,24 @@ let (force_uvar : delay t' ([], (FStar_Syntax_Syntax.SomeUseRange - (t.FStar_Syntax_Syntax.pos))) in + (t.FStar_Syntax_Syntax.pos))) + in (uu____598, forced)) + let rec (try_read_memo_aux : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * Prims.bool)) = - fun t -> + fun t -> match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_delayed (f, m) -> - let uu____672 = FStar_ST.op_Bang m in + | FStar_Syntax_Syntax.Tm_delayed (f,m) -> + let uu____672 = FStar_ST.op_Bang m in (match uu____672 with - | FStar_Pervasives_Native.None -> (t, false) + | FStar_Pervasives_Native.None -> (t, false) | FStar_Pervasives_Native.Some t' -> - let uu____722 = try_read_memo_aux t' in + let uu____722 = try_read_memo_aux t' in (match uu____722 with - | (t'1, shorten) -> + | (t'1,shorten) -> (if shorten then FStar_ST.op_Colon_Equals m @@ -148,233 +158,249 @@ let rec (try_read_memo_aux : else (); (t'1, true)))) | uu____782 -> (t, false) + let (try_read_memo : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t -> - let uu____799 = try_read_memo_aux t in + fun t -> + let uu____799 = try_read_memo_aux t in FStar_Pervasives_Native.fst uu____799 + let rec (compress_univ : FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe) = - fun u -> + fun u -> match u with | FStar_Syntax_Syntax.U_unif u' -> - let uu____825 = FStar_Syntax_Unionfind.univ_find u' in + let uu____825 = FStar_Syntax_Unionfind.univ_find u' in (match uu____825 with | FStar_Pervasives_Native.Some u1 -> compress_univ u1 | uu____829 -> u) | uu____832 -> u + let (subst_bv : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.subst_elt Prims.list -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun a -> - fun s -> + fun a -> + fun s -> FStar_Util.find_map s - (fun uu___1_854 -> + (fun uu___1_854 -> match uu___1_854 with - | FStar_Syntax_Syntax.DB (i, x) when + | FStar_Syntax_Syntax.DB (i,x) when i = a.FStar_Syntax_Syntax.index -> let uu____862 = let uu____863 = - let uu____864 = FStar_Syntax_Syntax.range_of_bv a in - FStar_Syntax_Syntax.set_range_of_bv x uu____864 in - FStar_Syntax_Syntax.bv_to_name uu____863 in + let uu____864 = FStar_Syntax_Syntax.range_of_bv a in + FStar_Syntax_Syntax.set_range_of_bv x uu____864 in + FStar_Syntax_Syntax.bv_to_name uu____863 in FStar_Pervasives_Native.Some uu____862 | uu____865 -> FStar_Pervasives_Native.None) + let (subst_nm : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.subst_elt Prims.list -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax FStar_Pervasives_Native.option) = - fun a -> - fun s -> + fun a -> + fun s -> FStar_Util.find_map s - (fun uu___2_891 -> + (fun uu___2_891 -> match uu___2_891 with - | FStar_Syntax_Syntax.NM (x, i) when FStar_Syntax_Syntax.bv_eq a x + | FStar_Syntax_Syntax.NM (x,i) when FStar_Syntax_Syntax.bv_eq a x -> let uu____900 = FStar_Syntax_Syntax.bv_to_tm - (let uu___108_905 = a in + (let uu___108_905 = a in { FStar_Syntax_Syntax.ppname = (uu___108_905.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = i; FStar_Syntax_Syntax.sort = (uu___108_905.FStar_Syntax_Syntax.sort) - }) in + }) + in FStar_Pervasives_Native.Some uu____900 - | FStar_Syntax_Syntax.NT (x, t) when FStar_Syntax_Syntax.bv_eq a x + | FStar_Syntax_Syntax.NT (x,t) when FStar_Syntax_Syntax.bv_eq a x -> FStar_Pervasives_Native.Some t | uu____916 -> FStar_Pervasives_Native.None) + let (subst_univ_bv : Prims.int -> FStar_Syntax_Syntax.subst_elt Prims.list -> FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option) = - fun x -> - fun s -> + fun x -> + fun s -> FStar_Util.find_map s - (fun uu___3_941 -> + (fun uu___3_941 -> match uu___3_941 with - | FStar_Syntax_Syntax.UN (y, t) when x = y -> + | FStar_Syntax_Syntax.UN (y,t) when x = y -> FStar_Pervasives_Native.Some t | uu____949 -> FStar_Pervasives_Native.None) + let (subst_univ_nm : FStar_Syntax_Syntax.univ_name -> FStar_Syntax_Syntax.subst_elt Prims.list -> FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option) = - fun x -> - fun s -> + fun x -> + fun s -> FStar_Util.find_map s - (fun uu___4_970 -> + (fun uu___4_970 -> match uu___4_970 with - | FStar_Syntax_Syntax.UD (y, i) when + | FStar_Syntax_Syntax.UD (y,i) when x.FStar_Ident.idText = y.FStar_Ident.idText -> FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.U_bvar i) | uu____978 -> FStar_Pervasives_Native.None) + let rec (subst_univ : FStar_Syntax_Syntax.subst_elt Prims.list Prims.list -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe) = - fun s -> - fun u -> - let u1 = compress_univ u in + fun s -> + fun u -> + let u1 = compress_univ u in match u1 with | FStar_Syntax_Syntax.U_bvar x -> apply_until_some_then_map (subst_univ_bv x) s subst_univ u1 | FStar_Syntax_Syntax.U_name x -> apply_until_some_then_map (subst_univ_nm x) s subst_univ u1 - | FStar_Syntax_Syntax.U_zero -> u1 - | FStar_Syntax_Syntax.U_unknown -> u1 + | FStar_Syntax_Syntax.U_zero -> u1 + | FStar_Syntax_Syntax.U_unknown -> u1 | FStar_Syntax_Syntax.U_unif uu____1006 -> u1 | FStar_Syntax_Syntax.U_succ u2 -> - let uu____1016 = subst_univ s u2 in + let uu____1016 = subst_univ s u2 in FStar_Syntax_Syntax.U_succ uu____1016 | FStar_Syntax_Syntax.U_max us -> - let uu____1020 = FStar_List.map (subst_univ s) us in + let uu____1020 = FStar_List.map (subst_univ s) us in FStar_Syntax_Syntax.U_max uu____1020 + let tag_with_range : 'Auu____1030 . FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> ('Auu____1030 * FStar_Syntax_Syntax.maybe_set_use_range) -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax = - fun t -> - fun s -> + fun t -> + fun s -> match FStar_Pervasives_Native.snd s with - | FStar_Syntax_Syntax.NoUseRange -> t + | FStar_Syntax_Syntax.NoUseRange -> t | FStar_Syntax_Syntax.SomeUseRange r -> let uu____1056 = - let uu____1058 = FStar_Range.use_range t.FStar_Syntax_Syntax.pos in - let uu____1059 = FStar_Range.use_range r in - FStar_Range.rng_included uu____1058 uu____1059 in + let uu____1058 = FStar_Range.use_range t.FStar_Syntax_Syntax.pos + in + let uu____1059 = FStar_Range.use_range r in + FStar_Range.rng_included uu____1058 uu____1059 in if uu____1056 then t else (let r1 = - let uu____1066 = FStar_Range.use_range r in - FStar_Range.set_use_range t.FStar_Syntax_Syntax.pos uu____1066 in + let uu____1066 = FStar_Range.use_range r in + FStar_Range.set_use_range t.FStar_Syntax_Syntax.pos uu____1066 + in let t' = match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_bvar bv -> - let uu____1069 = FStar_Syntax_Syntax.set_range_of_bv bv r1 in + let uu____1069 = FStar_Syntax_Syntax.set_range_of_bv bv r1 + in FStar_Syntax_Syntax.Tm_bvar uu____1069 | FStar_Syntax_Syntax.Tm_name bv -> - let uu____1071 = FStar_Syntax_Syntax.set_range_of_bv bv r1 in + let uu____1071 = FStar_Syntax_Syntax.set_range_of_bv bv r1 + in FStar_Syntax_Syntax.Tm_name uu____1071 | FStar_Syntax_Syntax.Tm_fvar fv -> - let l = FStar_Syntax_Syntax.lid_of_fv fv in + let l = FStar_Syntax_Syntax.lid_of_fv fv in let v1 = - let uu___160_1077 = fv.FStar_Syntax_Syntax.fv_name in - let uu____1078 = FStar_Ident.set_lid_range l r1 in + let uu___160_1077 = fv.FStar_Syntax_Syntax.fv_name in + let uu____1078 = FStar_Ident.set_lid_range l r1 in { FStar_Syntax_Syntax.v = uu____1078; FStar_Syntax_Syntax.p = (uu___160_1077.FStar_Syntax_Syntax.p) - } in + } in let fv1 = - let uu___163_1080 = fv in + let uu___163_1080 = fv in { FStar_Syntax_Syntax.fv_name = v1; FStar_Syntax_Syntax.fv_delta = (uu___163_1080.FStar_Syntax_Syntax.fv_delta); FStar_Syntax_Syntax.fv_qual = (uu___163_1080.FStar_Syntax_Syntax.fv_qual) - } in + } in FStar_Syntax_Syntax.Tm_fvar fv1 - | t' -> t' in - let uu___168_1082 = t in + | t' -> t' in + let uu___168_1082 = t in { FStar_Syntax_Syntax.n = t'; FStar_Syntax_Syntax.pos = r1; FStar_Syntax_Syntax.vars = (uu___168_1082.FStar_Syntax_Syntax.vars) }) + let tag_lid_with_range : 'Auu____1092 . FStar_Ident.lident -> ('Auu____1092 * FStar_Syntax_Syntax.maybe_set_use_range) -> FStar_Ident.lident = - fun l -> - fun s -> + fun l -> + fun s -> match FStar_Pervasives_Native.snd s with - | FStar_Syntax_Syntax.NoUseRange -> l + | FStar_Syntax_Syntax.NoUseRange -> l | FStar_Syntax_Syntax.SomeUseRange r -> let uu____1112 = let uu____1114 = - let uu____1115 = FStar_Ident.range_of_lid l in - FStar_Range.use_range uu____1115 in - let uu____1116 = FStar_Range.use_range r in - FStar_Range.rng_included uu____1114 uu____1116 in + let uu____1115 = FStar_Ident.range_of_lid l in + FStar_Range.use_range uu____1115 in + let uu____1116 = FStar_Range.use_range r in + FStar_Range.rng_included uu____1114 uu____1116 in if uu____1112 then l else (let uu____1120 = - let uu____1121 = FStar_Ident.range_of_lid l in - let uu____1122 = FStar_Range.use_range r in - FStar_Range.set_use_range uu____1121 uu____1122 in + let uu____1121 = FStar_Ident.range_of_lid l in + let uu____1122 = FStar_Range.use_range r in + FStar_Range.set_use_range uu____1121 uu____1122 in FStar_Ident.set_lid_range l uu____1120) + let (mk_range : FStar_Range.range -> FStar_Syntax_Syntax.subst_ts -> FStar_Range.range) = - fun r -> - fun s -> + fun r -> + fun s -> match FStar_Pervasives_Native.snd s with - | FStar_Syntax_Syntax.NoUseRange -> r + | FStar_Syntax_Syntax.NoUseRange -> r | FStar_Syntax_Syntax.SomeUseRange r' -> let uu____1139 = - let uu____1141 = FStar_Range.use_range r in - let uu____1142 = FStar_Range.use_range r' in - FStar_Range.rng_included uu____1141 uu____1142 in + let uu____1141 = FStar_Range.use_range r in + let uu____1142 = FStar_Range.use_range r' in + FStar_Range.rng_included uu____1141 uu____1142 in if uu____1139 then r else - (let uu____1146 = FStar_Range.use_range r' in + (let uu____1146 = FStar_Range.use_range r' in FStar_Range.set_use_range r uu____1146) + let rec (subst' : FStar_Syntax_Syntax.subst_ts -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun s -> - fun t -> - let subst_tail tl1 = subst' (tl1, (FStar_Pervasives_Native.snd s)) in + fun s -> + fun t -> + let subst_tail tl1 = subst' (tl1, (FStar_Pervasives_Native.snd s)) in match s with - | ([], FStar_Syntax_Syntax.NoUseRange) -> t - | ([]::[], FStar_Syntax_Syntax.NoUseRange) -> t + | ([],FStar_Syntax_Syntax.NoUseRange ) -> t + | ([]::[],FStar_Syntax_Syntax.NoUseRange ) -> t | uu____1267 -> - let t0 = try_read_memo t in + let t0 = try_read_memo t in (match t0.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_unknown -> tag_with_range t0 s + | FStar_Syntax_Syntax.Tm_unknown -> tag_with_range t0 s | FStar_Syntax_Syntax.Tm_constant uu____1275 -> tag_with_range t0 s | FStar_Syntax_Syntax.Tm_fvar uu____1280 -> tag_with_range t0 s - | FStar_Syntax_Syntax.Tm_delayed ((t', s'), m) -> + | FStar_Syntax_Syntax.Tm_delayed ((t',s'),m) -> FStar_Syntax_Syntax.mk_Tm_delayed (t', (compose_subst s' s)) t.FStar_Syntax_Syntax.pos | FStar_Syntax_Syntax.Tm_bvar a -> @@ -384,60 +410,64 @@ let rec (subst' : apply_until_some_then_map (subst_nm a) (FStar_Pervasives_Native.fst s) subst_tail t0 | FStar_Syntax_Syntax.Tm_type u -> - let uu____1349 = mk_range t0.FStar_Syntax_Syntax.pos s in + let uu____1349 = mk_range t0.FStar_Syntax_Syntax.pos s in let uu____1350 = let uu____1357 = let uu____1358 = - subst_univ (FStar_Pervasives_Native.fst s) u in - FStar_Syntax_Syntax.Tm_type uu____1358 in - FStar_Syntax_Syntax.mk uu____1357 in + subst_univ (FStar_Pervasives_Native.fst s) u in + FStar_Syntax_Syntax.Tm_type uu____1358 in + FStar_Syntax_Syntax.mk uu____1357 in uu____1350 FStar_Pervasives_Native.None uu____1349 | uu____1363 -> - let uu____1364 = mk_range t.FStar_Syntax_Syntax.pos s in + let uu____1364 = mk_range t.FStar_Syntax_Syntax.pos s in FStar_Syntax_Syntax.mk_Tm_delayed (t0, s) uu____1364) + and (subst_flags' : FStar_Syntax_Syntax.subst_ts -> FStar_Syntax_Syntax.cflag Prims.list -> FStar_Syntax_Syntax.cflag Prims.list) = - fun s -> - fun flags -> + fun s -> + fun flags -> FStar_All.pipe_right flags (FStar_List.map - (fun uu___5_1376 -> + (fun uu___5_1376 -> match uu___5_1376 with | FStar_Syntax_Syntax.DECREASES a -> - let uu____1380 = subst' s a in + let uu____1380 = subst' s a in FStar_Syntax_Syntax.DECREASES uu____1380 | f -> f)) + and (subst_comp_typ' : (FStar_Syntax_Syntax.subst_elt Prims.list Prims.list * FStar_Syntax_Syntax.maybe_set_use_range) -> FStar_Syntax_Syntax.comp_typ -> FStar_Syntax_Syntax.comp_typ) = - fun s -> - fun t -> + fun s -> + fun t -> match s with - | ([], FStar_Syntax_Syntax.NoUseRange) -> t - | ([]::[], FStar_Syntax_Syntax.NoUseRange) -> t + | ([],FStar_Syntax_Syntax.NoUseRange ) -> t + | ([]::[],FStar_Syntax_Syntax.NoUseRange ) -> t | uu____1408 -> - let uu___229_1417 = t in + let uu___229_1417 = t in let uu____1418 = FStar_List.map (subst_univ (FStar_Pervasives_Native.fst s)) - t.FStar_Syntax_Syntax.comp_univs in + t.FStar_Syntax_Syntax.comp_univs + in let uu____1423 = - tag_lid_with_range t.FStar_Syntax_Syntax.effect_name s in - let uu____1428 = subst' s t.FStar_Syntax_Syntax.result_typ in + tag_lid_with_range t.FStar_Syntax_Syntax.effect_name s in + let uu____1428 = subst' s t.FStar_Syntax_Syntax.result_typ in let uu____1431 = FStar_List.map - (fun uu____1459 -> + (fun uu____1459 -> match uu____1459 with - | (t1, imp) -> - let uu____1478 = subst' s t1 in - let uu____1479 = subst_imp' s imp in + | (t1,imp) -> + let uu____1478 = subst' s t1 in + let uu____1479 = subst_imp' s imp in (uu____1478, uu____1479)) - t.FStar_Syntax_Syntax.effect_args in - let uu____1484 = subst_flags' s t.FStar_Syntax_Syntax.flags in + t.FStar_Syntax_Syntax.effect_args + in + let uu____1484 = subst_flags' s t.FStar_Syntax_Syntax.flags in { FStar_Syntax_Syntax.comp_univs = uu____1418; FStar_Syntax_Syntax.effect_name = uu____1423; @@ -445,75 +475,83 @@ and (subst_comp_typ' : FStar_Syntax_Syntax.effect_args = uu____1431; FStar_Syntax_Syntax.flags = uu____1484 } + and (subst_comp' : (FStar_Syntax_Syntax.subst_elt Prims.list Prims.list * FStar_Syntax_Syntax.maybe_set_use_range) -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax) = - fun s -> - fun t -> + fun s -> + fun t -> match s with - | ([], FStar_Syntax_Syntax.NoUseRange) -> t - | ([]::[], FStar_Syntax_Syntax.NoUseRange) -> t + | ([],FStar_Syntax_Syntax.NoUseRange ) -> t + | ([]::[],FStar_Syntax_Syntax.NoUseRange ) -> t | uu____1515 -> (match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t1, uopt) -> - let uu____1536 = subst' s t1 in + | FStar_Syntax_Syntax.Total (t1,uopt) -> + let uu____1536 = subst' s t1 in let uu____1537 = FStar_Option.map - (subst_univ (FStar_Pervasives_Native.fst s)) uopt in + (subst_univ (FStar_Pervasives_Native.fst s)) uopt + in FStar_Syntax_Syntax.mk_Total' uu____1536 uu____1537 - | FStar_Syntax_Syntax.GTotal (t1, uopt) -> - let uu____1554 = subst' s t1 in + | FStar_Syntax_Syntax.GTotal (t1,uopt) -> + let uu____1554 = subst' s t1 in let uu____1555 = FStar_Option.map - (subst_univ (FStar_Pervasives_Native.fst s)) uopt in + (subst_univ (FStar_Pervasives_Native.fst s)) uopt + in FStar_Syntax_Syntax.mk_GTotal' uu____1554 uu____1555 | FStar_Syntax_Syntax.Comp ct -> - let uu____1563 = subst_comp_typ' s ct in + let uu____1563 = subst_comp_typ' s ct in FStar_Syntax_Syntax.mk_Comp uu____1563) + and (subst_imp' : (FStar_Syntax_Syntax.subst_elt Prims.list Prims.list * FStar_Syntax_Syntax.maybe_set_use_range) -> FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) = - fun s -> - fun i -> + fun s -> + fun i -> match i with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) -> let uu____1581 = - let uu____1582 = subst' s t in - FStar_Syntax_Syntax.Meta uu____1582 in + let uu____1582 = subst' s t in + FStar_Syntax_Syntax.Meta uu____1582 in FStar_Pervasives_Native.Some uu____1581 | i1 -> i1 + let (shift : Prims.int -> FStar_Syntax_Syntax.subst_elt -> FStar_Syntax_Syntax.subst_elt) = - fun n1 -> - fun s -> + fun n1 -> + fun s -> match s with - | FStar_Syntax_Syntax.DB (i, t) -> FStar_Syntax_Syntax.DB ((i + n1), t) - | FStar_Syntax_Syntax.UN (i, t) -> FStar_Syntax_Syntax.UN ((i + n1), t) - | FStar_Syntax_Syntax.NM (x, i) -> FStar_Syntax_Syntax.NM (x, (i + n1)) - | FStar_Syntax_Syntax.UD (x, i) -> FStar_Syntax_Syntax.UD (x, (i + n1)) + | FStar_Syntax_Syntax.DB (i,t) -> FStar_Syntax_Syntax.DB ((i + n1), t) + | FStar_Syntax_Syntax.UN (i,t) -> FStar_Syntax_Syntax.UN ((i + n1), t) + | FStar_Syntax_Syntax.NM (x,i) -> FStar_Syntax_Syntax.NM (x, (i + n1)) + | FStar_Syntax_Syntax.UD (x,i) -> FStar_Syntax_Syntax.UD (x, (i + n1)) | FStar_Syntax_Syntax.NT uu____1621 -> s + let (shift_subst : Prims.int -> FStar_Syntax_Syntax.subst_t -> FStar_Syntax_Syntax.subst_t) = - fun n1 -> fun s -> FStar_List.map (shift n1) s + fun n1 -> fun s -> FStar_List.map (shift n1) s let shift_subst' : 'Auu____1648 . Prims.int -> (FStar_Syntax_Syntax.subst_t Prims.list * 'Auu____1648) -> (FStar_Syntax_Syntax.subst_t Prims.list * 'Auu____1648) = - fun n1 -> - fun s -> + fun n1 -> + fun s -> let uu____1679 = FStar_All.pipe_right (FStar_Pervasives_Native.fst s) - (FStar_List.map (shift_subst n1)) in + (FStar_List.map (shift_subst n1)) + in (uu____1679, (FStar_Pervasives_Native.snd s)) + let (subst_binder' : (FStar_Syntax_Syntax.subst_elt Prims.list Prims.list * FStar_Syntax_Syntax.maybe_set_use_range) -> @@ -522,21 +560,22 @@ let (subst_binder' : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option)) = - fun s -> - fun uu____1722 -> + fun s -> + fun uu____1722 -> match uu____1722 with - | (x, imp) -> + | (x,imp) -> let uu____1749 = - let uu___288_1750 = x in - let uu____1751 = subst' s x.FStar_Syntax_Syntax.sort in + let uu___288_1750 = x in + let uu____1751 = subst' s x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___288_1750.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___288_1750.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____1751 - } in - let uu____1754 = subst_imp' s imp in (uu____1749, uu____1754) + } in + let uu____1754 = subst_imp' s imp in (uu____1749, uu____1754) + let (subst_binders' : (FStar_Syntax_Syntax.subst_elt Prims.list Prims.list * FStar_Syntax_Syntax.maybe_set_use_range) -> @@ -545,64 +584,69 @@ let (subst_binders' : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list) = - fun s -> - fun bs -> + fun s -> + fun bs -> FStar_All.pipe_right bs (FStar_List.mapi - (fun i -> - fun b -> + (fun i -> + fun b -> if i = (Prims.parse_int "0") then subst_binder' s b else - (let uu____1860 = shift_subst' i s in + (let uu____1860 = shift_subst' i s in subst_binder' uu____1860 b))) + let (subst_binders : FStar_Syntax_Syntax.subst_elt Prims.list -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binders) = - fun s -> fun bs -> subst_binders' ([s], FStar_Syntax_Syntax.NoUseRange) bs + fun s -> + fun bs -> subst_binders' ([s], FStar_Syntax_Syntax.NoUseRange) bs + let subst_arg' : 'Auu____1899 . FStar_Syntax_Syntax.subst_ts -> (FStar_Syntax_Syntax.term * 'Auu____1899) -> (FStar_Syntax_Syntax.term * 'Auu____1899) = - fun s -> - fun uu____1917 -> + fun s -> + fun uu____1917 -> match uu____1917 with - | (t, imp) -> let uu____1924 = subst' s t in (uu____1924, imp) + | (t,imp) -> let uu____1924 = subst' s t in (uu____1924, imp) + let subst_args' : 'Auu____1931 . FStar_Syntax_Syntax.subst_ts -> (FStar_Syntax_Syntax.term * 'Auu____1931) Prims.list -> (FStar_Syntax_Syntax.term * 'Auu____1931) Prims.list - = fun s -> FStar_List.map (subst_arg' s) + = fun s -> FStar_List.map (subst_arg' s) let (subst_pat' : (FStar_Syntax_Syntax.subst_t Prims.list * FStar_Syntax_Syntax.maybe_set_use_range) -> FStar_Syntax_Syntax.pat' FStar_Syntax_Syntax.withinfo_t -> (FStar_Syntax_Syntax.pat * Prims.int)) = - fun s -> - fun p -> + fun s -> + fun p -> let rec aux n1 p1 = match p1.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant uu____2025 -> (p1, n1) - | FStar_Syntax_Syntax.Pat_cons (fv, pats) -> + | FStar_Syntax_Syntax.Pat_cons (fv,pats) -> let uu____2047 = FStar_All.pipe_right pats (FStar_List.fold_left - (fun uu____2109 -> - fun uu____2110 -> + (fun uu____2109 -> + fun uu____2110 -> match (uu____2109, uu____2110) with - | ((pats1, n2), (p2, imp)) -> - let uu____2206 = aux n2 p2 in + | ((pats1,n2),(p2,imp)) -> + let uu____2206 = aux n2 p2 in (match uu____2206 with - | (p3, m) -> (((p3, imp) :: pats1), m))) - ([], n1)) in + | (p3,m) -> (((p3, imp) :: pats1), m))) + ([], n1)) + in (match uu____2047 with - | (pats1, n2) -> - ((let uu___325_2280 = p1 in + | (pats1,n2) -> + ((let uu___325_2280 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_cons @@ -611,96 +655,101 @@ let (subst_pat' : (uu___325_2280.FStar_Syntax_Syntax.p) }), n2)) | FStar_Syntax_Syntax.Pat_var x -> - let s1 = shift_subst' n1 s in + let s1 = shift_subst' n1 s in let x1 = - let uu___330_2306 = x in - let uu____2307 = subst' s1 x.FStar_Syntax_Syntax.sort in + let uu___330_2306 = x in + let uu____2307 = subst' s1 x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___330_2306.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___330_2306.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____2307 - } in - ((let uu___333_2312 = p1 in + } in + ((let uu___333_2312 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_var x1); FStar_Syntax_Syntax.p = (uu___333_2312.FStar_Syntax_Syntax.p) }), (n1 + (Prims.parse_int "1"))) | FStar_Syntax_Syntax.Pat_wild x -> - let s1 = shift_subst' n1 s in + let s1 = shift_subst' n1 s in let x1 = - let uu___338_2325 = x in - let uu____2326 = subst' s1 x.FStar_Syntax_Syntax.sort in + let uu___338_2325 = x in + let uu____2326 = subst' s1 x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___338_2325.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___338_2325.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____2326 - } in - ((let uu___341_2331 = p1 in + } in + ((let uu___341_2331 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_wild x1); FStar_Syntax_Syntax.p = (uu___341_2331.FStar_Syntax_Syntax.p) }), (n1 + (Prims.parse_int "1"))) - | FStar_Syntax_Syntax.Pat_dot_term (x, t0) -> - let s1 = shift_subst' n1 s in + | FStar_Syntax_Syntax.Pat_dot_term (x,t0) -> + let s1 = shift_subst' n1 s in let x1 = - let uu___348_2349 = x in - let uu____2350 = subst' s1 x.FStar_Syntax_Syntax.sort in + let uu___348_2349 = x in + let uu____2350 = subst' s1 x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___348_2349.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___348_2349.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____2350 - } in - let t01 = subst' s1 t0 in - ((let uu___352_2356 = p1 in + } in + let t01 = subst' s1 t0 in + ((let uu___352_2356 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_dot_term (x1, t01)); FStar_Syntax_Syntax.p = (uu___352_2356.FStar_Syntax_Syntax.p) - }), n1) in + }), n1) + in aux (Prims.parse_int "0") p + let (push_subst_lcomp : FStar_Syntax_Syntax.subst_ts -> FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option) = - fun s -> - fun lopt -> + fun s -> + fun lopt -> match lopt with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some rc -> let uu____2382 = - let uu___359_2383 = rc in + let uu___359_2383 = rc in let uu____2384 = FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (subst' s) in + (subst' s) + in { FStar_Syntax_Syntax.residual_effect = (uu___359_2383.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = uu____2384; FStar_Syntax_Syntax.residual_flags = (uu___359_2383.FStar_Syntax_Syntax.residual_flags) - } in + } in FStar_Pervasives_Native.Some uu____2382 + let (compose_uvar_subst : FStar_Syntax_Syntax.ctx_uvar -> FStar_Syntax_Syntax.subst_ts -> FStar_Syntax_Syntax.subst_ts -> FStar_Syntax_Syntax.subst_ts) = - fun u -> - fun s0 -> - fun s -> + fun u -> + fun s0 -> + fun s -> let should_retain x = FStar_All.pipe_right u.FStar_Syntax_Syntax.ctx_uvar_binders (FStar_Util.for_some - (fun uu____2434 -> + (fun uu____2434 -> match uu____2434 with - | (x', uu____2443) -> FStar_Syntax_Syntax.bv_eq x x')) in + | (x',uu____2443) -> FStar_Syntax_Syntax.bv_eq x x')) + in let rec aux uu___7_2459 = match uu___7_2459 with | [] -> [] @@ -708,38 +757,41 @@ let (compose_uvar_subst : let hd1 = FStar_All.pipe_right hd_subst (FStar_List.collect - (fun uu___6_2490 -> + (fun uu___6_2490 -> match uu___6_2490 with - | FStar_Syntax_Syntax.NT (x, t) -> - let uu____2499 = should_retain x in + | FStar_Syntax_Syntax.NT (x,t) -> + let uu____2499 = should_retain x in if uu____2499 then let uu____2504 = let uu____2505 = let uu____2512 = delay t - (rest, FStar_Syntax_Syntax.NoUseRange) in - (x, uu____2512) in - FStar_Syntax_Syntax.NT uu____2505 in + (rest, FStar_Syntax_Syntax.NoUseRange) + in + (x, uu____2512) in + FStar_Syntax_Syntax.NT uu____2505 in [uu____2504] else [] - | FStar_Syntax_Syntax.NM (x, i) -> - let uu____2527 = should_retain x in + | FStar_Syntax_Syntax.NM (x,i) -> + let uu____2527 = should_retain x in if uu____2527 then let x_i = FStar_Syntax_Syntax.bv_to_tm - (let uu___386_2535 = x in + (let uu___386_2535 = x in { FStar_Syntax_Syntax.ppname = (uu___386_2535.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = i; FStar_Syntax_Syntax.sort = (uu___386_2535.FStar_Syntax_Syntax.sort) - }) in + }) + in let t = subst' (rest, FStar_Syntax_Syntax.NoUseRange) - x_i in + x_i + in (match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_bvar x_j -> [FStar_Syntax_Syntax.NM @@ -747,25 +799,29 @@ let (compose_uvar_subst : | uu____2545 -> [FStar_Syntax_Syntax.NT (x, t)]) else [] - | uu____2550 -> [])) in - let uu____2551 = aux rest in FStar_List.append hd1 uu____2551 in + | uu____2550 -> [])) + in + let uu____2551 = aux rest in FStar_List.append hd1 uu____2551 + in let uu____2554 = aux (FStar_List.append (FStar_Pervasives_Native.fst s0) - (FStar_Pervasives_Native.fst s)) in + (FStar_Pervasives_Native.fst s)) + in match uu____2554 with | [] -> ([], (FStar_Pervasives_Native.snd s)) | s' -> ([s'], (FStar_Pervasives_Native.snd s)) + let rec (push_subst : FStar_Syntax_Syntax.subst_ts -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun s -> - fun t -> + fun s -> + fun t -> let mk1 t' = - let uu____2617 = mk_range t.FStar_Syntax_Syntax.pos s in - FStar_Syntax_Syntax.mk t' FStar_Pervasives_Native.None uu____2617 in + let uu____2617 = mk_range t.FStar_Syntax_Syntax.pos s in + FStar_Syntax_Syntax.mk t' FStar_Pervasives_Native.None uu____2617 in match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_delayed uu____2620 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_lazy i -> @@ -774,147 +830,155 @@ let rec (push_subst : let t1 = let uu____2659 = let uu____2668 = - FStar_ST.op_Bang FStar_Syntax_Syntax.lazy_chooser in - FStar_Util.must uu____2668 in - uu____2659 i.FStar_Syntax_Syntax.lkind i in + FStar_ST.op_Bang FStar_Syntax_Syntax.lazy_chooser in + FStar_Util.must uu____2668 in + uu____2659 i.FStar_Syntax_Syntax.lkind i in push_subst s t1 | uu____2718 -> t) | FStar_Syntax_Syntax.Tm_constant uu____2719 -> tag_with_range t s | FStar_Syntax_Syntax.Tm_fvar uu____2724 -> tag_with_range t s - | FStar_Syntax_Syntax.Tm_unknown -> tag_with_range t s - | FStar_Syntax_Syntax.Tm_uvar (uv, s0) -> + | FStar_Syntax_Syntax.Tm_unknown -> tag_with_range t s + | FStar_Syntax_Syntax.Tm_uvar (uv,s0) -> let uu____2751 = - FStar_Syntax_Unionfind.find uv.FStar_Syntax_Syntax.ctx_uvar_head in + FStar_Syntax_Unionfind.find uv.FStar_Syntax_Syntax.ctx_uvar_head + in (match uu____2751 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____2756 = - let uu___419_2759 = t in + let uu___419_2759 = t in let uu____2762 = let uu____2763 = - let uu____2776 = compose_uvar_subst uv s0 s in - (uv, uu____2776) in - FStar_Syntax_Syntax.Tm_uvar uu____2763 in + let uu____2776 = compose_uvar_subst uv s0 s in + (uv, uu____2776) in + FStar_Syntax_Syntax.Tm_uvar uu____2763 in { FStar_Syntax_Syntax.n = uu____2762; FStar_Syntax_Syntax.pos = (uu___419_2759.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = (uu___419_2759.FStar_Syntax_Syntax.vars) - } in + } in tag_with_range uu____2756 s | FStar_Pervasives_Native.Some t1 -> push_subst (compose_subst s0 s) t1) | FStar_Syntax_Syntax.Tm_type uu____2800 -> subst' s t | FStar_Syntax_Syntax.Tm_bvar uu____2801 -> subst' s t | FStar_Syntax_Syntax.Tm_name uu____2802 -> subst' s t - | FStar_Syntax_Syntax.Tm_uinst (t', us) -> + | FStar_Syntax_Syntax.Tm_uinst (t',us) -> let us1 = - FStar_List.map (subst_univ (FStar_Pervasives_Native.fst s)) us in - let uu____2816 = FStar_Syntax_Syntax.mk_Tm_uinst t' us1 in + FStar_List.map (subst_univ (FStar_Pervasives_Native.fst s)) us + in + let uu____2816 = FStar_Syntax_Syntax.mk_Tm_uinst t' us1 in tag_with_range uu____2816 s - | FStar_Syntax_Syntax.Tm_app (t0, args) -> + | FStar_Syntax_Syntax.Tm_app (t0,args) -> let uu____2849 = let uu____2850 = - let uu____2867 = subst' s t0 in - let uu____2870 = subst_args' s args in (uu____2867, uu____2870) in - FStar_Syntax_Syntax.Tm_app uu____2850 in + let uu____2867 = subst' s t0 in + let uu____2870 = subst_args' s args in + (uu____2867, uu____2870) in + FStar_Syntax_Syntax.Tm_app uu____2850 in mk1 uu____2849 - | FStar_Syntax_Syntax.Tm_ascribed (t0, (annot, topt), lopt) -> + | FStar_Syntax_Syntax.Tm_ascribed (t0,(annot,topt),lopt) -> let annot1 = match annot with | FStar_Util.Inl t1 -> - let uu____2971 = subst' s t1 in FStar_Util.Inl uu____2971 + let uu____2971 = subst' s t1 in FStar_Util.Inl uu____2971 | FStar_Util.Inr c -> - let uu____2985 = subst_comp' s c in FStar_Util.Inr uu____2985 in + let uu____2985 = subst_comp' s c in + FStar_Util.Inr uu____2985 + in let uu____2992 = let uu____2993 = - let uu____3020 = subst' s t0 in + let uu____3020 = subst' s t0 in let uu____3023 = - let uu____3040 = FStar_Util.map_opt topt (subst' s) in - (annot1, uu____3040) in - (uu____3020, uu____3023, lopt) in - FStar_Syntax_Syntax.Tm_ascribed uu____2993 in + let uu____3040 = FStar_Util.map_opt topt (subst' s) in + (annot1, uu____3040) in + (uu____3020, uu____3023, lopt) in + FStar_Syntax_Syntax.Tm_ascribed uu____2993 in mk1 uu____2992 - | FStar_Syntax_Syntax.Tm_abs (bs, body, lopt) -> - let n1 = FStar_List.length bs in - let s' = shift_subst' n1 s in + | FStar_Syntax_Syntax.Tm_abs (bs,body,lopt) -> + let n1 = FStar_List.length bs in + let s' = shift_subst' n1 s in let uu____3122 = let uu____3123 = - let uu____3142 = subst_binders' s bs in - let uu____3151 = subst' s' body in - let uu____3154 = push_subst_lcomp s' lopt in - (uu____3142, uu____3151, uu____3154) in - FStar_Syntax_Syntax.Tm_abs uu____3123 in + let uu____3142 = subst_binders' s bs in + let uu____3151 = subst' s' body in + let uu____3154 = push_subst_lcomp s' lopt in + (uu____3142, uu____3151, uu____3154) in + FStar_Syntax_Syntax.Tm_abs uu____3123 in mk1 uu____3122 - | FStar_Syntax_Syntax.Tm_arrow (bs, comp) -> - let n1 = FStar_List.length bs in + | FStar_Syntax_Syntax.Tm_arrow (bs,comp) -> + let n1 = FStar_List.length bs in let uu____3198 = let uu____3199 = - let uu____3214 = subst_binders' s bs in + let uu____3214 = subst_binders' s bs in let uu____3223 = - let uu____3226 = shift_subst' n1 s in - subst_comp' uu____3226 comp in - (uu____3214, uu____3223) in - FStar_Syntax_Syntax.Tm_arrow uu____3199 in + let uu____3226 = shift_subst' n1 s in + subst_comp' uu____3226 comp in + (uu____3214, uu____3223) in + FStar_Syntax_Syntax.Tm_arrow uu____3199 in mk1 uu____3198 - | FStar_Syntax_Syntax.Tm_refine (x, phi) -> + | FStar_Syntax_Syntax.Tm_refine (x,phi) -> let x1 = - let uu___466_3252 = x in - let uu____3253 = subst' s x.FStar_Syntax_Syntax.sort in + let uu___466_3252 = x in + let uu____3253 = subst' s x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___466_3252.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___466_3252.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____3253 - } in + } in let phi1 = - let uu____3257 = shift_subst' (Prims.parse_int "1") s in - subst' uu____3257 phi in + let uu____3257 = shift_subst' (Prims.parse_int "1") s in + subst' uu____3257 phi in mk1 (FStar_Syntax_Syntax.Tm_refine (x1, phi1)) - | FStar_Syntax_Syntax.Tm_match (t0, pats) -> - let t01 = subst' s t0 in + | FStar_Syntax_Syntax.Tm_match (t0,pats) -> + let t01 = subst' s t0 in let pats1 = FStar_All.pipe_right pats (FStar_List.map - (fun uu____3373 -> + (fun uu____3373 -> match uu____3373 with - | (pat, wopt, branch) -> - let uu____3403 = subst_pat' s pat in + | (pat,wopt,branch) -> + let uu____3403 = subst_pat' s pat in (match uu____3403 with - | (pat1, n1) -> - let s1 = shift_subst' n1 s in + | (pat1,n1) -> + let s1 = shift_subst' n1 s in let wopt1 = match wopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some w -> - let uu____3434 = subst' s1 w in - FStar_Pervasives_Native.Some uu____3434 in - let branch1 = subst' s1 branch in - (pat1, wopt1, branch1)))) in + let uu____3434 = subst' s1 w in + FStar_Pervasives_Native.Some uu____3434 + in + let branch1 = subst' s1 branch in + (pat1, wopt1, branch1)))) + in mk1 (FStar_Syntax_Syntax.Tm_match (t01, pats1)) - | FStar_Syntax_Syntax.Tm_let ((is_rec, lbs), body) -> - let n1 = FStar_List.length lbs in - let sn = shift_subst' n1 s in - let body1 = subst' sn body in + | FStar_Syntax_Syntax.Tm_let ((is_rec,lbs),body) -> + let n1 = FStar_List.length lbs in + let sn = shift_subst' n1 s in + let body1 = subst' sn body in let lbs1 = FStar_All.pipe_right lbs (FStar_List.map - (fun lb -> - let lbt = subst' s lb.FStar_Syntax_Syntax.lbtyp in + (fun lb -> + let lbt = subst' s lb.FStar_Syntax_Syntax.lbtyp in let lbd = let uu____3502 = is_rec && - (FStar_Util.is_left lb.FStar_Syntax_Syntax.lbname) in + (FStar_Util.is_left lb.FStar_Syntax_Syntax.lbname) + in if uu____3502 then subst' sn lb.FStar_Syntax_Syntax.lbdef - else subst' s lb.FStar_Syntax_Syntax.lbdef in + else subst' s lb.FStar_Syntax_Syntax.lbdef in let lbname = match lb.FStar_Syntax_Syntax.lbname with | FStar_Util.Inl x -> FStar_Util.Inl - (let uu___504_3520 = x in + (let uu___504_3520 = x in { FStar_Syntax_Syntax.ppname = (uu___504_3520.FStar_Syntax_Syntax.ppname); @@ -922,8 +986,8 @@ let rec (push_subst : (uu___504_3520.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = lbt }) - | FStar_Util.Inr fv -> FStar_Util.Inr fv in - let uu___509_3522 = lb in + | FStar_Util.Inr fv -> FStar_Util.Inr fv in + let uu___509_3522 = lb in { FStar_Syntax_Syntax.lbname = lbname; FStar_Syntax_Syntax.lbunivs = @@ -936,203 +1000,220 @@ let rec (push_subst : (uu___509_3522.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___509_3522.FStar_Syntax_Syntax.lbpos) - })) in + })) + in mk1 (FStar_Syntax_Syntax.Tm_let ((is_rec, lbs1), body1)) | FStar_Syntax_Syntax.Tm_meta - (t0, FStar_Syntax_Syntax.Meta_pattern (bs, ps)) -> + (t0,FStar_Syntax_Syntax.Meta_pattern (bs,ps)) -> let uu____3574 = let uu____3575 = - let uu____3582 = subst' s t0 in + let uu____3582 = subst' s t0 in let uu____3585 = let uu____3586 = - let uu____3607 = FStar_List.map (subst' s) bs in + let uu____3607 = FStar_List.map (subst' s) bs in let uu____3616 = - FStar_All.pipe_right ps (FStar_List.map (subst_args' s)) in - (uu____3607, uu____3616) in - FStar_Syntax_Syntax.Meta_pattern uu____3586 in - (uu____3582, uu____3585) in - FStar_Syntax_Syntax.Tm_meta uu____3575 in + FStar_All.pipe_right ps (FStar_List.map (subst_args' s)) + in + (uu____3607, uu____3616) in + FStar_Syntax_Syntax.Meta_pattern uu____3586 in + (uu____3582, uu____3585) in + FStar_Syntax_Syntax.Tm_meta uu____3575 in mk1 uu____3574 | FStar_Syntax_Syntax.Tm_meta - (t0, FStar_Syntax_Syntax.Meta_monadic (m, t1)) -> + (t0,FStar_Syntax_Syntax.Meta_monadic (m,t1)) -> let uu____3698 = let uu____3699 = - let uu____3706 = subst' s t0 in + let uu____3706 = subst' s t0 in let uu____3709 = let uu____3710 = - let uu____3717 = subst' s t1 in (m, uu____3717) in - FStar_Syntax_Syntax.Meta_monadic uu____3710 in - (uu____3706, uu____3709) in - FStar_Syntax_Syntax.Tm_meta uu____3699 in + let uu____3717 = subst' s t1 in (m, uu____3717) in + FStar_Syntax_Syntax.Meta_monadic uu____3710 in + (uu____3706, uu____3709) in + FStar_Syntax_Syntax.Tm_meta uu____3699 in mk1 uu____3698 | FStar_Syntax_Syntax.Tm_meta - (t0, FStar_Syntax_Syntax.Meta_monadic_lift (m1, m2, t1)) -> + (t0,FStar_Syntax_Syntax.Meta_monadic_lift (m1,m2,t1)) -> let uu____3736 = let uu____3737 = - let uu____3744 = subst' s t0 in + let uu____3744 = subst' s t0 in let uu____3747 = let uu____3748 = - let uu____3757 = subst' s t1 in (m1, m2, uu____3757) in - FStar_Syntax_Syntax.Meta_monadic_lift uu____3748 in - (uu____3744, uu____3747) in - FStar_Syntax_Syntax.Tm_meta uu____3737 in + let uu____3757 = subst' s t1 in (m1, m2, uu____3757) in + FStar_Syntax_Syntax.Meta_monadic_lift uu____3748 in + (uu____3744, uu____3747) in + FStar_Syntax_Syntax.Tm_meta uu____3737 in mk1 uu____3736 - | FStar_Syntax_Syntax.Tm_quoted (tm, qi) -> + | FStar_Syntax_Syntax.Tm_quoted (tm,qi) -> (match qi.FStar_Syntax_Syntax.qkind with - | FStar_Syntax_Syntax.Quote_dynamic -> + | FStar_Syntax_Syntax.Quote_dynamic -> let uu____3772 = let uu____3773 = - let uu____3780 = subst' s tm in (uu____3780, qi) in - FStar_Syntax_Syntax.Tm_quoted uu____3773 in + let uu____3780 = subst' s tm in (uu____3780, qi) in + FStar_Syntax_Syntax.Tm_quoted uu____3773 in mk1 uu____3772 - | FStar_Syntax_Syntax.Quote_static -> - let qi1 = FStar_Syntax_Syntax.on_antiquoted (subst' s) qi in + | FStar_Syntax_Syntax.Quote_static -> + let qi1 = FStar_Syntax_Syntax.on_antiquoted (subst' s) qi in mk1 (FStar_Syntax_Syntax.Tm_quoted (tm, qi1))) - | FStar_Syntax_Syntax.Tm_meta (t1, m) -> + | FStar_Syntax_Syntax.Tm_meta (t1,m) -> let uu____3794 = - let uu____3795 = let uu____3802 = subst' s t1 in (uu____3802, m) in - FStar_Syntax_Syntax.Tm_meta uu____3795 in + let uu____3795 = let uu____3802 = subst' s t1 in (uu____3802, m) + in + FStar_Syntax_Syntax.Tm_meta uu____3795 in mk1 uu____3794 + let rec (compress : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> - let t1 = try_read_memo t in - let uu____3816 = force_uvar t1 in + fun t -> + let t1 = try_read_memo t in + let uu____3816 = force_uvar t1 in match uu____3816 with - | (t2, uu____3825) -> + | (t2,uu____3825) -> (match t2.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_delayed ((t', s), memo) -> + | FStar_Syntax_Syntax.Tm_delayed ((t',s),memo) -> ((let uu____3878 = - let uu____3883 = push_subst s t' in - FStar_Pervasives_Native.Some uu____3883 in + let uu____3883 = push_subst s t' in + FStar_Pervasives_Native.Some uu____3883 in FStar_ST.op_Colon_Equals memo uu____3878); compress t2) | uu____3915 -> t2) + let (subst : FStar_Syntax_Syntax.subst_elt Prims.list -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) - = fun s -> fun t -> subst' ([s], FStar_Syntax_Syntax.NoUseRange) t + = fun s -> fun t -> subst' ([s], FStar_Syntax_Syntax.NoUseRange) t let (set_use_range : FStar_Range.range -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun r -> - fun t -> + fun r -> + fun t -> let uu____3950 = let uu____3951 = let uu____3952 = - let uu____3953 = FStar_Range.use_range r in - FStar_Range.set_def_range r uu____3953 in - FStar_Syntax_Syntax.SomeUseRange uu____3952 in - ([], uu____3951) in + let uu____3953 = FStar_Range.use_range r in + FStar_Range.set_def_range r uu____3953 in + FStar_Syntax_Syntax.SomeUseRange uu____3952 in + ([], uu____3951) in subst' uu____3950 t + let (subst_comp : FStar_Syntax_Syntax.subst_elt Prims.list -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp) - = fun s -> fun t -> subst_comp' ([s], FStar_Syntax_Syntax.NoUseRange) t + = fun s -> fun t -> subst_comp' ([s], FStar_Syntax_Syntax.NoUseRange) t let (subst_imp : FStar_Syntax_Syntax.subst_elt Prims.list -> FStar_Syntax_Syntax.aqual -> FStar_Syntax_Syntax.aqual) - = fun s -> fun imp -> subst_imp' ([s], FStar_Syntax_Syntax.NoUseRange) imp + = + fun s -> fun imp -> subst_imp' ([s], FStar_Syntax_Syntax.NoUseRange) imp let (closing_subst : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.subst_elt Prims.list) = - fun bs -> + fun bs -> let uu____4014 = FStar_List.fold_right - (fun uu____4041 -> - fun uu____4042 -> + (fun uu____4041 -> + fun uu____4042 -> match (uu____4041, uu____4042) with - | ((x, uu____4077), (subst1, n1)) -> + | ((x,uu____4077),(subst1,n1)) -> (((FStar_Syntax_Syntax.NM (x, n1)) :: subst1), (n1 + (Prims.parse_int "1")))) bs - ([], (Prims.parse_int "0")) in + ([], (Prims.parse_int "0")) + in FStar_All.pipe_right uu____4014 FStar_Pervasives_Native.fst + let (open_binders' : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.aqual) Prims.list -> ((FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.aqual) Prims.list * FStar_Syntax_Syntax.subst_elt Prims.list)) = - fun bs -> + fun bs -> let rec aux bs1 o = match bs1 with | [] -> ([], o) - | (x, imp)::bs' -> + | (x,imp)::bs' -> let x' = - let uu___583_4235 = FStar_Syntax_Syntax.freshen_bv x in - let uu____4236 = subst o x.FStar_Syntax_Syntax.sort in + let uu___583_4235 = FStar_Syntax_Syntax.freshen_bv x in + let uu____4236 = subst o x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___583_4235.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___583_4235.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____4236 - } in - let imp1 = subst_imp o imp in + } in + let imp1 = subst_imp o imp in let o1 = - let uu____4243 = shift_subst (Prims.parse_int "1") o in + let uu____4243 = shift_subst (Prims.parse_int "1") o in (FStar_Syntax_Syntax.DB ((Prims.parse_int "0"), x')) :: - uu____4243 in - let uu____4249 = aux bs' o1 in - (match uu____4249 with | (bs'1, o2) -> (((x', imp1) :: bs'1), o2)) in + uu____4243 + in + let uu____4249 = aux bs' o1 in + (match uu____4249 with | (bs'1,o2) -> (((x', imp1) :: bs'1), o2)) + in aux bs [] + let (open_binders : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binders) = - fun bs -> - let uu____4310 = open_binders' bs in + fun bs -> + let uu____4310 = open_binders' bs in FStar_Pervasives_Native.fst uu____4310 + let (open_term' : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.subst_t)) = - fun bs -> - fun t -> - let uu____4348 = open_binders' bs in + fun bs -> + fun t -> + let uu____4348 = open_binders' bs in match uu____4348 with - | (bs', opening) -> - let uu____4385 = subst opening t in (bs', uu____4385, opening) + | (bs',opening) -> + let uu____4385 = subst opening t in (bs', uu____4385, opening) + let (open_term : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.term)) = - fun bs -> - fun t -> - let uu____4401 = open_term' bs t in - match uu____4401 with | (b, t1, uu____4414) -> (b, t1) + fun bs -> + fun t -> + let uu____4401 = open_term' bs t in + match uu____4401 with | (b,t1,uu____4414) -> (b, t1) + let (open_comp : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.comp -> (FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.comp)) = - fun bs -> - fun t -> - let uu____4430 = open_binders' bs in + fun bs -> + fun t -> + let uu____4430 = open_binders' bs in match uu____4430 with - | (bs', opening) -> - let uu____4465 = subst_comp opening t in (bs', uu____4465) + | (bs',opening) -> + let uu____4465 = subst_comp opening t in (bs', uu____4465) + let (open_pat : FStar_Syntax_Syntax.pat -> (FStar_Syntax_Syntax.pat * FStar_Syntax_Syntax.subst_t)) = - fun p -> + fun p -> let rec open_pat_aux sub1 p1 = match p1.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant uu____4515 -> (p1, sub1) - | FStar_Syntax_Syntax.Pat_cons (fv, pats) -> + | FStar_Syntax_Syntax.Pat_cons (fv,pats) -> let uu____4540 = FStar_All.pipe_right pats (FStar_List.fold_left - (fun uu____4611 -> - fun uu____4612 -> + (fun uu____4611 -> + fun uu____4612 -> match (uu____4611, uu____4612) with - | ((pats1, sub2), (p2, imp)) -> - let uu____4726 = open_pat_aux sub2 p2 in + | ((pats1,sub2),(p2,imp)) -> + let uu____4726 = open_pat_aux sub2 p2 in (match uu____4726 with - | (p3, sub3) -> (((p3, imp) :: pats1), sub3))) - ([], sub1)) in + | (p3,sub3) -> (((p3, imp) :: pats1), sub3))) + ([], sub1)) + in (match uu____4540 with - | (pats1, sub2) -> - ((let uu___630_4836 = p1 in + | (pats1,sub2) -> + ((let uu___630_4836 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_cons @@ -1142,156 +1223,172 @@ let (open_pat : }), sub2)) | FStar_Syntax_Syntax.Pat_var x -> let x' = - let uu___634_4857 = FStar_Syntax_Syntax.freshen_bv x in - let uu____4858 = subst sub1 x.FStar_Syntax_Syntax.sort in + let uu___634_4857 = FStar_Syntax_Syntax.freshen_bv x in + let uu____4858 = subst sub1 x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___634_4857.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___634_4857.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____4858 - } in + } in let sub2 = - let uu____4864 = shift_subst (Prims.parse_int "1") sub1 in + let uu____4864 = shift_subst (Prims.parse_int "1") sub1 in (FStar_Syntax_Syntax.DB ((Prims.parse_int "0"), x')) :: - uu____4864 in - ((let uu___638_4875 = p1 in + uu____4864 + in + ((let uu___638_4875 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_var x'); FStar_Syntax_Syntax.p = (uu___638_4875.FStar_Syntax_Syntax.p) }), sub2) | FStar_Syntax_Syntax.Pat_wild x -> let x' = - let uu___642_4880 = FStar_Syntax_Syntax.freshen_bv x in - let uu____4881 = subst sub1 x.FStar_Syntax_Syntax.sort in + let uu___642_4880 = FStar_Syntax_Syntax.freshen_bv x in + let uu____4881 = subst sub1 x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___642_4880.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___642_4880.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____4881 - } in + } in let sub2 = - let uu____4887 = shift_subst (Prims.parse_int "1") sub1 in + let uu____4887 = shift_subst (Prims.parse_int "1") sub1 in (FStar_Syntax_Syntax.DB ((Prims.parse_int "0"), x')) :: - uu____4887 in - ((let uu___646_4898 = p1 in + uu____4887 + in + ((let uu___646_4898 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_wild x'); FStar_Syntax_Syntax.p = (uu___646_4898.FStar_Syntax_Syntax.p) }), sub2) - | FStar_Syntax_Syntax.Pat_dot_term (x, t0) -> + | FStar_Syntax_Syntax.Pat_dot_term (x,t0) -> let x1 = - let uu___652_4908 = x in - let uu____4909 = subst sub1 x.FStar_Syntax_Syntax.sort in + let uu___652_4908 = x in + let uu____4909 = subst sub1 x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___652_4908.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___652_4908.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____4909 - } in - let t01 = subst sub1 t0 in - ((let uu___656_4918 = p1 in + } in + let t01 = subst sub1 t0 in + ((let uu___656_4918 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_dot_term (x1, t01)); FStar_Syntax_Syntax.p = (uu___656_4918.FStar_Syntax_Syntax.p) - }), sub1) in + }), sub1) + in open_pat_aux [] p + let (open_branch' : FStar_Syntax_Syntax.branch -> (FStar_Syntax_Syntax.branch * FStar_Syntax_Syntax.subst_t)) = - fun uu____4932 -> + fun uu____4932 -> match uu____4932 with - | (p, wopt, e) -> - let uu____4956 = open_pat p in + | (p,wopt,e) -> + let uu____4956 = open_pat p in (match uu____4956 with - | (p1, opening) -> + | (p1,opening) -> let wopt1 = match wopt with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some w -> - let uu____4985 = subst opening w in - FStar_Pervasives_Native.Some uu____4985 in - let e1 = subst opening e in ((p1, wopt1, e1), opening)) + let uu____4985 = subst opening w in + FStar_Pervasives_Native.Some uu____4985 + in + let e1 = subst opening e in ((p1, wopt1, e1), opening)) + let (open_branch : FStar_Syntax_Syntax.branch -> FStar_Syntax_Syntax.branch) = - fun br -> - let uu____5005 = open_branch' br in - match uu____5005 with | (br1, uu____5011) -> br1 + fun br -> + let uu____5005 = open_branch' br in + match uu____5005 with | (br1,uu____5011) -> br1 + let (close : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun bs -> fun t -> let uu____5023 = closing_subst bs in subst uu____5023 t + fun bs -> + fun t -> let uu____5023 = closing_subst bs in subst uu____5023 t + let (close_comp : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp) = - fun bs -> - fun c -> let uu____5037 = closing_subst bs in subst_comp uu____5037 c + fun bs -> + fun c -> let uu____5037 = closing_subst bs in subst_comp uu____5037 c + let (close_binders : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binders) = - fun bs -> + fun bs -> let rec aux s bs1 = match bs1 with | [] -> [] - | (x, imp)::tl1 -> + | (x,imp)::tl1 -> let x1 = - let uu___688_5105 = x in - let uu____5106 = subst s x.FStar_Syntax_Syntax.sort in + let uu___688_5105 = x in + let uu____5106 = subst s x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___688_5105.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___688_5105.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____5106 - } in - let imp1 = subst_imp s imp in + } in + let imp1 = subst_imp s imp in let s' = - let uu____5113 = shift_subst (Prims.parse_int "1") s in + let uu____5113 = shift_subst (Prims.parse_int "1") s in (FStar_Syntax_Syntax.NM (x1, (Prims.parse_int "0"))) :: - uu____5113 in - let uu____5119 = aux s' tl1 in (x1, imp1) :: uu____5119 in + uu____5113 + in + let uu____5119 = aux s' tl1 in (x1, imp1) :: uu____5119 + in aux [] bs + let (close_lcomp : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.lcomp) = - fun bs -> - fun lc -> - let s = closing_subst bs in + fun bs -> + fun lc -> + let s = closing_subst bs in FStar_Syntax_Syntax.mk_lcomp lc.FStar_Syntax_Syntax.eff_name lc.FStar_Syntax_Syntax.res_typ lc.FStar_Syntax_Syntax.cflags - (fun uu____5146 -> - let uu____5147 = FStar_Syntax_Syntax.lcomp_comp lc in + (fun uu____5146 -> + let uu____5147 = FStar_Syntax_Syntax.lcomp_comp lc in subst_comp s uu____5147) + let (close_pat : FStar_Syntax_Syntax.pat' FStar_Syntax_Syntax.withinfo_t -> (FStar_Syntax_Syntax.pat' FStar_Syntax_Syntax.withinfo_t * FStar_Syntax_Syntax.subst_elt Prims.list)) = - fun p -> + fun p -> let rec aux sub1 p1 = match p1.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant uu____5201 -> (p1, sub1) - | FStar_Syntax_Syntax.Pat_cons (fv, pats) -> + | FStar_Syntax_Syntax.Pat_cons (fv,pats) -> let uu____5226 = FStar_All.pipe_right pats (FStar_List.fold_left - (fun uu____5297 -> - fun uu____5298 -> + (fun uu____5297 -> + fun uu____5298 -> match (uu____5297, uu____5298) with - | ((pats1, sub2), (p2, imp)) -> - let uu____5412 = aux sub2 p2 in + | ((pats1,sub2),(p2,imp)) -> + let uu____5412 = aux sub2 p2 in (match uu____5412 with - | (p3, sub3) -> (((p3, imp) :: pats1), sub3))) - ([], sub1)) in + | (p3,sub3) -> (((p3, imp) :: pats1), sub3))) + ([], sub1)) + in (match uu____5226 with - | (pats1, sub2) -> - ((let uu___719_5522 = p1 in + | (pats1,sub2) -> + ((let uu___719_5522 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_cons @@ -1301,159 +1398,173 @@ let (close_pat : }), sub2)) | FStar_Syntax_Syntax.Pat_var x -> let x1 = - let uu___723_5543 = x in - let uu____5544 = subst sub1 x.FStar_Syntax_Syntax.sort in + let uu___723_5543 = x in + let uu____5544 = subst sub1 x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___723_5543.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___723_5543.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____5544 - } in + } in let sub2 = - let uu____5550 = shift_subst (Prims.parse_int "1") sub1 in + let uu____5550 = shift_subst (Prims.parse_int "1") sub1 in (FStar_Syntax_Syntax.NM (x1, (Prims.parse_int "0"))) :: - uu____5550 in - ((let uu___727_5561 = p1 in + uu____5550 + in + ((let uu___727_5561 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_var x1); FStar_Syntax_Syntax.p = (uu___727_5561.FStar_Syntax_Syntax.p) }), sub2) | FStar_Syntax_Syntax.Pat_wild x -> let x1 = - let uu___731_5566 = x in - let uu____5567 = subst sub1 x.FStar_Syntax_Syntax.sort in + let uu___731_5566 = x in + let uu____5567 = subst sub1 x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___731_5566.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___731_5566.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____5567 - } in + } in let sub2 = - let uu____5573 = shift_subst (Prims.parse_int "1") sub1 in + let uu____5573 = shift_subst (Prims.parse_int "1") sub1 in (FStar_Syntax_Syntax.NM (x1, (Prims.parse_int "0"))) :: - uu____5573 in - ((let uu___735_5584 = p1 in + uu____5573 + in + ((let uu___735_5584 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_wild x1); FStar_Syntax_Syntax.p = (uu___735_5584.FStar_Syntax_Syntax.p) }), sub2) - | FStar_Syntax_Syntax.Pat_dot_term (x, t0) -> + | FStar_Syntax_Syntax.Pat_dot_term (x,t0) -> let x1 = - let uu___741_5594 = x in - let uu____5595 = subst sub1 x.FStar_Syntax_Syntax.sort in + let uu___741_5594 = x in + let uu____5595 = subst sub1 x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___741_5594.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___741_5594.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____5595 - } in - let t01 = subst sub1 t0 in - ((let uu___745_5604 = p1 in + } in + let t01 = subst sub1 t0 in + ((let uu___745_5604 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_dot_term (x1, t01)); FStar_Syntax_Syntax.p = (uu___745_5604.FStar_Syntax_Syntax.p) - }), sub1) in + }), sub1) + in aux [] p + let (close_branch : FStar_Syntax_Syntax.branch -> FStar_Syntax_Syntax.branch) = - fun uu____5614 -> + fun uu____5614 -> match uu____5614 with - | (p, wopt, e) -> - let uu____5634 = close_pat p in + | (p,wopt,e) -> + let uu____5634 = close_pat p in (match uu____5634 with - | (p1, closing) -> + | (p1,closing) -> let wopt1 = match wopt with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some w -> - let uu____5671 = subst closing w in - FStar_Pervasives_Native.Some uu____5671 in - let e1 = subst closing e in (p1, wopt1, e1)) + let uu____5671 = subst closing w in + FStar_Pervasives_Native.Some uu____5671 + in + let e1 = subst closing e in (p1, wopt1, e1)) + let (univ_var_opening : FStar_Syntax_Syntax.univ_names -> (FStar_Syntax_Syntax.subst_elt Prims.list * FStar_Syntax_Syntax.univ_name Prims.list)) = - fun us -> - let n1 = (FStar_List.length us) - (Prims.parse_int "1") in + fun us -> + let n1 = (FStar_List.length us) - (Prims.parse_int "1") in let s = FStar_All.pipe_right us (FStar_List.mapi - (fun i -> - fun u -> + (fun i -> + fun u -> FStar_Syntax_Syntax.UN - ((n1 - i), (FStar_Syntax_Syntax.U_name u)))) in + ((n1 - i), (FStar_Syntax_Syntax.U_name u)))) + in (s, us) + let (univ_var_closing : FStar_Syntax_Syntax.univ_names -> FStar_Syntax_Syntax.subst_elt Prims.list) = - fun us -> - let n1 = (FStar_List.length us) - (Prims.parse_int "1") in + fun us -> + let n1 = (FStar_List.length us) - (Prims.parse_int "1") in FStar_All.pipe_right us (FStar_List.mapi - (fun i -> fun u -> FStar_Syntax_Syntax.UD (u, (n1 - i)))) + (fun i -> fun u -> FStar_Syntax_Syntax.UD (u, (n1 - i)))) + let (open_univ_vars : FStar_Syntax_Syntax.univ_names -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.univ_names * FStar_Syntax_Syntax.term)) = - fun us -> - fun t -> - let uu____5759 = univ_var_opening us in - match uu____5759 with | (s, us') -> let t1 = subst s t in (us', t1) + fun us -> + fun t -> + let uu____5759 = univ_var_opening us in + match uu____5759 with | (s,us') -> let t1 = subst s t in (us', t1) + let (open_univ_vars_comp : FStar_Syntax_Syntax.univ_names -> FStar_Syntax_Syntax.comp -> (FStar_Syntax_Syntax.univ_names * FStar_Syntax_Syntax.comp)) = - fun us -> - fun c -> - let uu____5802 = univ_var_opening us in + fun us -> + fun c -> + let uu____5802 = univ_var_opening us in match uu____5802 with - | (s, us') -> let uu____5825 = subst_comp s c in (us', uu____5825) + | (s,us') -> let uu____5825 = subst_comp s c in (us', uu____5825) + let (close_univ_vars : FStar_Syntax_Syntax.univ_names -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) - = fun us -> fun t -> let s = univ_var_closing us in subst s t + = fun us -> fun t -> let s = univ_var_closing us in subst s t let (close_univ_vars_comp : FStar_Syntax_Syntax.univ_names -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp) = - fun us -> - fun c -> - let n1 = (FStar_List.length us) - (Prims.parse_int "1") in + fun us -> + fun c -> + let n1 = (FStar_List.length us) - (Prims.parse_int "1") in let s = FStar_All.pipe_right us (FStar_List.mapi - (fun i -> fun u -> FStar_Syntax_Syntax.UD (u, (n1 - i)))) in + (fun i -> fun u -> FStar_Syntax_Syntax.UD (u, (n1 - i)))) + in subst_comp s c + let (open_let_rec : FStar_Syntax_Syntax.letbinding Prims.list -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.letbinding Prims.list * FStar_Syntax_Syntax.term)) = - fun lbs -> - fun t -> + fun lbs -> + fun t -> let uu____5888 = - let uu____5900 = FStar_Syntax_Syntax.is_top_level lbs in + let uu____5900 = FStar_Syntax_Syntax.is_top_level lbs in if uu____5900 then ((Prims.parse_int "0"), lbs, []) else FStar_List.fold_right - (fun lb -> - fun uu____5940 -> + (fun lb -> + fun uu____5940 -> match uu____5940 with - | (i, lbs1, out) -> + | (i,lbs1,out) -> let x = let uu____5977 = - FStar_Util.left lb.FStar_Syntax_Syntax.lbname in - FStar_Syntax_Syntax.freshen_bv uu____5977 in + FStar_Util.left lb.FStar_Syntax_Syntax.lbname in + FStar_Syntax_Syntax.freshen_bv uu____5977 in ((i + (Prims.parse_int "1")), - ((let uu___797_5985 = lb in + ((let uu___797_5985 = lb in { FStar_Syntax_Syntax.lbname = (FStar_Util.Inl x); FStar_Syntax_Syntax.lbunivs = @@ -1469,36 +1580,41 @@ let (open_let_rec : FStar_Syntax_Syntax.lbpos = (uu___797_5985.FStar_Syntax_Syntax.lbpos) }) :: lbs1), ((FStar_Syntax_Syntax.DB (i, x)) :: - out))) lbs ((Prims.parse_int "0"), [], []) in + out))) lbs ((Prims.parse_int "0"), [], []) + in match uu____5888 with - | (n_let_recs, lbs1, let_rec_opening) -> + | (n_let_recs,lbs1,let_rec_opening) -> let lbs2 = FStar_All.pipe_right lbs1 (FStar_List.map - (fun lb -> + (fun lb -> let uu____6028 = FStar_List.fold_right - (fun u -> - fun uu____6058 -> + (fun u -> + fun uu____6058 -> match uu____6058 with - | (i, us, out) -> + | (i,us,out) -> let u1 = FStar_Syntax_Syntax.new_univ_name - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in ((i + (Prims.parse_int "1")), (u1 :: us), ((FStar_Syntax_Syntax.UN (i, (FStar_Syntax_Syntax.U_name u1))) :: out))) lb.FStar_Syntax_Syntax.lbunivs - (n_let_recs, [], let_rec_opening) in + (n_let_recs, [], let_rec_opening) + in match uu____6028 with - | (uu____6107, us, u_let_rec_opening) -> - let uu___814_6120 = lb in + | (uu____6107,us,u_let_rec_opening) -> + let uu___814_6120 = lb in let uu____6121 = subst u_let_rec_opening - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in let uu____6124 = subst u_let_rec_opening - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in { FStar_Syntax_Syntax.lbname = (uu___814_6120.FStar_Syntax_Syntax.lbname); @@ -1511,60 +1627,67 @@ let (open_let_rec : (uu___814_6120.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___814_6120.FStar_Syntax_Syntax.lbpos) - })) in - let t1 = subst let_rec_opening t in (lbs2, t1) + })) + in + let t1 = subst let_rec_opening t in (lbs2, t1) + let (close_let_rec : FStar_Syntax_Syntax.letbinding Prims.list -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.letbinding Prims.list * FStar_Syntax_Syntax.term)) = - fun lbs -> - fun t -> + fun lbs -> + fun t -> let uu____6151 = - let uu____6159 = FStar_Syntax_Syntax.is_top_level lbs in + let uu____6159 = FStar_Syntax_Syntax.is_top_level lbs in if uu____6159 then ((Prims.parse_int "0"), []) else FStar_List.fold_right - (fun lb -> - fun uu____6188 -> + (fun lb -> + fun uu____6188 -> match uu____6188 with - | (i, out) -> + | (i,out) -> let uu____6211 = let uu____6214 = let uu____6215 = let uu____6221 = - FStar_Util.left lb.FStar_Syntax_Syntax.lbname in - (uu____6221, i) in - FStar_Syntax_Syntax.NM uu____6215 in - uu____6214 :: out in + FStar_Util.left lb.FStar_Syntax_Syntax.lbname + in + (uu____6221, i) in + FStar_Syntax_Syntax.NM uu____6215 in + uu____6214 :: out in ((i + (Prims.parse_int "1")), uu____6211)) lbs - ((Prims.parse_int "0"), []) in + ((Prims.parse_int "0"), []) + in match uu____6151 with - | (n_let_recs, let_rec_closing) -> + | (n_let_recs,let_rec_closing) -> let lbs1 = FStar_All.pipe_right lbs (FStar_List.map - (fun lb -> + (fun lb -> let uu____6260 = FStar_List.fold_right - (fun u -> - fun uu____6280 -> + (fun u -> + fun uu____6280 -> match uu____6280 with - | (i, out) -> + | (i,out) -> ((i + (Prims.parse_int "1")), ((FStar_Syntax_Syntax.UD (u, i)) :: out))) lb.FStar_Syntax_Syntax.lbunivs - (n_let_recs, let_rec_closing) in + (n_let_recs, let_rec_closing) + in match uu____6260 with - | (uu____6311, u_let_rec_closing) -> - let uu___836_6319 = lb in + | (uu____6311,u_let_rec_closing) -> + let uu___836_6319 = lb in let uu____6320 = subst u_let_rec_closing - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in let uu____6323 = subst u_let_rec_closing - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in { FStar_Syntax_Syntax.lbname = (uu___836_6319.FStar_Syntax_Syntax.lbname); @@ -1578,97 +1701,108 @@ let (close_let_rec : (uu___836_6319.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___836_6319.FStar_Syntax_Syntax.lbpos) - })) in - let t1 = subst let_rec_closing t in (lbs1, t1) + })) + in + let t1 = subst let_rec_closing t in (lbs1, t1) + let (close_tscheme : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.tscheme -> FStar_Syntax_Syntax.tscheme) = - fun binders -> - fun uu____6339 -> + fun binders -> + fun uu____6339 -> match uu____6339 with - | (us, t) -> - let n1 = (FStar_List.length binders) - (Prims.parse_int "1") in - let k = FStar_List.length us in + | (us,t) -> + let n1 = (FStar_List.length binders) - (Prims.parse_int "1") in + let k = FStar_List.length us in let s = FStar_List.mapi - (fun i -> - fun uu____6374 -> + (fun i -> + fun uu____6374 -> match uu____6374 with - | (x, uu____6383) -> - FStar_Syntax_Syntax.NM (x, (k + (n1 - i)))) binders in - let t1 = subst s t in (us, t1) + | (x,uu____6383) -> + FStar_Syntax_Syntax.NM (x, (k + (n1 - i)))) binders + in + let t1 = subst s t in (us, t1) + let (close_univ_vars_tscheme : FStar_Syntax_Syntax.univ_names -> FStar_Syntax_Syntax.tscheme -> FStar_Syntax_Syntax.tscheme) = - fun us -> - fun uu____6404 -> + fun us -> + fun uu____6404 -> match uu____6404 with - | (us', t) -> - let n1 = (FStar_List.length us) - (Prims.parse_int "1") in - let k = FStar_List.length us' in + | (us',t) -> + let n1 = (FStar_List.length us) - (Prims.parse_int "1") in + let k = FStar_List.length us' in let s = FStar_List.mapi - (fun i -> fun x -> FStar_Syntax_Syntax.UD (x, (k + (n1 - i)))) - us in - let uu____6428 = subst s t in (us', uu____6428) + (fun i -> fun x -> FStar_Syntax_Syntax.UD (x, (k + (n1 - i)))) + us + in + let uu____6428 = subst s t in (us', uu____6428) + let (subst_tscheme : FStar_Syntax_Syntax.subst_elt Prims.list -> FStar_Syntax_Syntax.tscheme -> FStar_Syntax_Syntax.tscheme) = - fun s -> - fun uu____6447 -> + fun s -> + fun uu____6447 -> match uu____6447 with - | (us, t) -> - let s1 = shift_subst (FStar_List.length us) s in - let uu____6461 = subst s1 t in (us, uu____6461) + | (us,t) -> + let s1 = shift_subst (FStar_List.length us) s in + let uu____6461 = subst s1 t in (us, uu____6461) + let (opening_of_binders : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.subst_t) = - fun bs -> - let n1 = (FStar_List.length bs) - (Prims.parse_int "1") in + fun bs -> + let n1 = (FStar_List.length bs) - (Prims.parse_int "1") in FStar_All.pipe_right bs (FStar_List.mapi - (fun i -> - fun uu____6502 -> + (fun i -> + fun uu____6502 -> match uu____6502 with - | (x, uu____6511) -> FStar_Syntax_Syntax.DB ((n1 - i), x))) + | (x,uu____6511) -> FStar_Syntax_Syntax.DB ((n1 - i), x))) + let (closing_of_binders : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.subst_t) = - fun bs -> closing_subst bs + fun bs -> closing_subst bs let (open_term_1 : FStar_Syntax_Syntax.binder -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.binder * FStar_Syntax_Syntax.term)) = - fun b -> - fun t -> - let uu____6538 = open_term [b] t in + fun b -> + fun t -> + let uu____6538 = open_term [b] t in match uu____6538 with - | (b1::[], t1) -> (b1, t1) + | (b1::[],t1) -> (b1, t1) | uu____6579 -> failwith "impossible: open_term_1" + let (open_term_bvs : FStar_Syntax_Syntax.bv Prims.list -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.bv Prims.list * FStar_Syntax_Syntax.term)) = - fun bvs -> - fun t -> + fun bvs -> + fun t -> let uu____6610 = - let uu____6615 = FStar_List.map FStar_Syntax_Syntax.mk_binder bvs in - open_term uu____6615 t in + let uu____6615 = FStar_List.map FStar_Syntax_Syntax.mk_binder bvs in + open_term uu____6615 t in match uu____6610 with - | (bs, t1) -> - let uu____6630 = FStar_List.map FStar_Pervasives_Native.fst bs in + | (bs,t1) -> + let uu____6630 = FStar_List.map FStar_Pervasives_Native.fst bs in (uu____6630, t1) + let (open_term_bv : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term)) = - fun bv -> - fun t -> - let uu____6658 = open_term_bvs [bv] t in + fun bv -> + fun t -> + let uu____6658 = open_term_bvs [bv] t in match uu____6658 with - | (bv1::[], t1) -> (bv1, t1) - | uu____6673 -> failwith "impossible: open_term_bv" \ No newline at end of file + | (bv1::[],t1) -> (bv1, t1) + | uu____6673 -> failwith "impossible: open_term_bv" + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Syntax_Syntax.ml b/src/ocaml-output/FStar_Syntax_Syntax.ml index bcb088a4dac..83a869afa95 100644 --- a/src/ocaml-output/FStar_Syntax_Syntax.ml +++ b/src/ocaml-output/FStar_Syntax_Syntax.ml @@ -3,9 +3,9 @@ type 'a withinfo_t = { v: 'a ; p: FStar_Range.range }[@@deriving yojson,show] let __proj__Mkwithinfo_t__item__v : 'a . 'a withinfo_t -> 'a = - fun projectee -> match projectee with | { v = v1; p;_} -> v1 + fun projectee -> match projectee with | { v = v1; p;_} -> v1 let __proj__Mkwithinfo_t__item__p : 'a . 'a withinfo_t -> FStar_Range.range = - fun projectee -> match projectee with | { v = v1; p;_} -> p + fun projectee -> match projectee with | { v = v1; p;_} -> p type var = FStar_Ident.lident withinfo_t[@@deriving yojson,show] type sconst = FStar_Const.sconst[@@deriving yojson,show] type pragma = @@ -13,34 +13,44 @@ type pragma = | ResetOptions of Prims.string FStar_Pervasives_Native.option | PushOptions of Prims.string FStar_Pervasives_Native.option | PopOptions + | RestartSolver | LightOff [@@deriving yojson,show] let (uu___is_SetOptions : pragma -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | SetOptions _0 -> true | uu____178 -> false + let (__proj__SetOptions__item___0 : pragma -> Prims.string) = - fun projectee -> match projectee with | SetOptions _0 -> _0 + fun projectee -> match projectee with | SetOptions _0 -> _0 let (uu___is_ResetOptions : pragma -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | ResetOptions _0 -> true | uu____203 -> false + let (__proj__ResetOptions__item___0 : pragma -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> match projectee with | ResetOptions _0 -> _0 + fun projectee -> match projectee with | ResetOptions _0 -> _0 let (uu___is_PushOptions : pragma -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | PushOptions _0 -> true | uu____234 -> false + let (__proj__PushOptions__item___0 : pragma -> Prims.string FStar_Pervasives_Native.option) = - fun projectee -> match projectee with | PushOptions _0 -> _0 + fun projectee -> match projectee with | PushOptions _0 -> _0 let (uu___is_PopOptions : pragma -> Prims.bool) = - fun projectee -> - match projectee with | PopOptions -> true | uu____261 -> false + fun projectee -> + match projectee with | PopOptions -> true | uu____261 -> false + +let (uu___is_RestartSolver : pragma -> Prims.bool) = + fun projectee -> + match projectee with | RestartSolver -> true | uu____272 -> false + let (uu___is_LightOff : pragma -> Prims.bool) = - fun projectee -> - match projectee with | LightOff -> true | uu____272 -> false + fun projectee -> + match projectee with | LightOff -> true | uu____283 -> false + type 'a memo = (('a FStar_Pervasives_Native.option FStar_ST.ref)[@printer - fun fmt -> - fun _ -> + fun fmt -> + fun _ -> Format.pp_print_string fmt "None"]) [@@deriving yojson,show] @@ -49,26 +59,29 @@ type emb_typ = | ET_fun of (emb_typ * emb_typ) | ET_app of (Prims.string * emb_typ Prims.list) let (uu___is_ET_abstract : emb_typ -> Prims.bool) = - fun projectee -> - match projectee with | ET_abstract -> true | uu____312 -> false + fun projectee -> + match projectee with | ET_abstract -> true | uu____323 -> false + let (uu___is_ET_fun : emb_typ -> Prims.bool) = - fun projectee -> - match projectee with | ET_fun _0 -> true | uu____328 -> false + fun projectee -> + match projectee with | ET_fun _0 -> true | uu____339 -> false + let (__proj__ET_fun__item___0 : emb_typ -> (emb_typ * emb_typ)) = - fun projectee -> match projectee with | ET_fun _0 -> _0 + fun projectee -> match projectee with | ET_fun _0 -> _0 let (uu___is_ET_app : emb_typ -> Prims.bool) = - fun projectee -> - match projectee with | ET_app _0 -> true | uu____366 -> false + fun projectee -> + match projectee with | ET_app _0 -> true | uu____377 -> false + let (__proj__ET_app__item___0 : emb_typ -> (Prims.string * emb_typ Prims.list)) = - fun projectee -> match projectee with | ET_app _0 -> _0 + fun projectee -> match projectee with | ET_app _0 -> _0 type version = { major: Prims.int ; minor: Prims.int }[@@deriving yojson,show] let (__proj__Mkversion__item__major : version -> Prims.int) = - fun projectee -> match projectee with | { major; minor;_} -> major + fun projectee -> match projectee with | { major; minor;_} -> major let (__proj__Mkversion__item__minor : version -> Prims.int) = - fun projectee -> match projectee with | { major; minor;_} -> minor + fun projectee -> match projectee with | { major; minor;_} -> minor type universe = | U_zero | U_succ of universe @@ -79,38 +92,46 @@ type universe = * version) | U_unknown [@@deriving yojson,show] let (uu___is_U_zero : universe -> Prims.bool) = - fun projectee -> match projectee with | U_zero -> true | uu____477 -> false + fun projectee -> + match projectee with | U_zero -> true | uu____488 -> false + let (uu___is_U_succ : universe -> Prims.bool) = - fun projectee -> - match projectee with | U_succ _0 -> true | uu____489 -> false + fun projectee -> + match projectee with | U_succ _0 -> true | uu____500 -> false + let (__proj__U_succ__item___0 : universe -> universe) = - fun projectee -> match projectee with | U_succ _0 -> _0 + fun projectee -> match projectee with | U_succ _0 -> _0 let (uu___is_U_max : universe -> Prims.bool) = - fun projectee -> - match projectee with | U_max _0 -> true | uu____510 -> false + fun projectee -> + match projectee with | U_max _0 -> true | uu____521 -> false + let (__proj__U_max__item___0 : universe -> universe Prims.list) = - fun projectee -> match projectee with | U_max _0 -> _0 + fun projectee -> match projectee with | U_max _0 -> _0 let (uu___is_U_bvar : universe -> Prims.bool) = - fun projectee -> - match projectee with | U_bvar _0 -> true | uu____536 -> false + fun projectee -> + match projectee with | U_bvar _0 -> true | uu____547 -> false + let (__proj__U_bvar__item___0 : universe -> Prims.int) = - fun projectee -> match projectee with | U_bvar _0 -> _0 + fun projectee -> match projectee with | U_bvar _0 -> _0 let (uu___is_U_name : universe -> Prims.bool) = - fun projectee -> - match projectee with | U_name _0 -> true | uu____558 -> false + fun projectee -> + match projectee with | U_name _0 -> true | uu____569 -> false + let (__proj__U_name__item___0 : universe -> FStar_Ident.ident) = - fun projectee -> match projectee with | U_name _0 -> _0 + fun projectee -> match projectee with | U_name _0 -> _0 let (uu___is_U_unif : universe -> Prims.bool) = - fun projectee -> - match projectee with | U_unif _0 -> true | uu____585 -> false + fun projectee -> + match projectee with | U_unif _0 -> true | uu____596 -> false + let (__proj__U_unif__item___0 : universe -> (universe FStar_Pervasives_Native.option FStar_Unionfind.p_uvar * version)) - = fun projectee -> match projectee with | U_unif _0 -> _0 + = fun projectee -> match projectee with | U_unif _0 -> _0 let (uu___is_U_unknown : universe -> Prims.bool) = - fun projectee -> - match projectee with | U_unknown -> true | uu____627 -> false + fun projectee -> + match projectee with | U_unknown -> true | uu____638 -> false + type univ_name = FStar_Ident.ident[@@deriving yojson,show] type universe_uvar = (universe FStar_Pervasives_Native.option FStar_Unionfind.p_uvar * version) @@ -122,59 +143,70 @@ type quote_kind = | Quote_static | Quote_dynamic [@@deriving yojson,show] let (uu___is_Quote_static : quote_kind -> Prims.bool) = - fun projectee -> - match projectee with | Quote_static -> true | uu____650 -> false + fun projectee -> + match projectee with | Quote_static -> true | uu____661 -> false + let (uu___is_Quote_dynamic : quote_kind -> Prims.bool) = - fun projectee -> - match projectee with | Quote_dynamic -> true | uu____661 -> false + fun projectee -> + match projectee with | Quote_dynamic -> true | uu____672 -> false + type maybe_set_use_range = | NoUseRange | SomeUseRange of FStar_Range.range [@@deriving yojson,show] let (uu___is_NoUseRange : maybe_set_use_range -> Prims.bool) = - fun projectee -> - match projectee with | NoUseRange -> true | uu____677 -> false + fun projectee -> + match projectee with | NoUseRange -> true | uu____688 -> false + let (uu___is_SomeUseRange : maybe_set_use_range -> Prims.bool) = - fun projectee -> - match projectee with | SomeUseRange _0 -> true | uu____689 -> false + fun projectee -> + match projectee with | SomeUseRange _0 -> true | uu____700 -> false + let (__proj__SomeUseRange__item___0 : maybe_set_use_range -> FStar_Range.range) = - fun projectee -> match projectee with | SomeUseRange _0 -> _0 + fun projectee -> match projectee with | SomeUseRange _0 -> _0 type delta_depth = | Delta_constant_at_level of Prims.int | Delta_equational_at_level of Prims.int | Delta_abstract of delta_depth [@@deriving yojson,show] let (uu___is_Delta_constant_at_level : delta_depth -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Delta_constant_at_level _0 -> true - | uu____726 -> false + | uu____737 -> false + let (__proj__Delta_constant_at_level__item___0 : delta_depth -> Prims.int) = - fun projectee -> match projectee with | Delta_constant_at_level _0 -> _0 + fun projectee -> match projectee with | Delta_constant_at_level _0 -> _0 let (uu___is_Delta_equational_at_level : delta_depth -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Delta_equational_at_level _0 -> true - | uu____749 -> false + | uu____760 -> false + let (__proj__Delta_equational_at_level__item___0 : delta_depth -> Prims.int) = - fun projectee -> match projectee with | Delta_equational_at_level _0 -> _0 + fun projectee -> match projectee with | Delta_equational_at_level _0 -> _0 let (uu___is_Delta_abstract : delta_depth -> Prims.bool) = - fun projectee -> - match projectee with | Delta_abstract _0 -> true | uu____771 -> false + fun projectee -> + match projectee with | Delta_abstract _0 -> true | uu____782 -> false + let (__proj__Delta_abstract__item___0 : delta_depth -> delta_depth) = - fun projectee -> match projectee with | Delta_abstract _0 -> _0 + fun projectee -> match projectee with | Delta_abstract _0 -> _0 type should_check_uvar = | Allow_unresolved | Allow_untyped | Strict [@@deriving yojson,show] let (uu___is_Allow_unresolved : should_check_uvar -> Prims.bool) = - fun projectee -> - match projectee with | Allow_unresolved -> true | uu____789 -> false + fun projectee -> + match projectee with | Allow_unresolved -> true | uu____800 -> false + let (uu___is_Allow_untyped : should_check_uvar -> Prims.bool) = - fun projectee -> - match projectee with | Allow_untyped -> true | uu____800 -> false + fun projectee -> + match projectee with | Allow_untyped -> true | uu____811 -> false + let (uu___is_Strict : should_check_uvar -> Prims.bool) = - fun projectee -> match projectee with | Strict -> true | uu____811 -> false + fun projectee -> + match projectee with | Strict -> true | uu____822 -> false + type term' = | Tm_bvar of bv | Tm_name of bv @@ -191,7 +223,7 @@ type term' = FStar_Pervasives_Native.option) Prims.list) | Tm_match of (term' syntax * (pat' withinfo_t * term' syntax FStar_Pervasives_Native.option * term' syntax) Prims.list) - | Tm_ascribed of (term' syntax * ((term' syntax, comp' syntax) + | Tm_ascribed of (term' syntax * ((term' syntax,comp' syntax) FStar_Util.either * term' syntax FStar_Pervasives_Native.option) * FStar_Ident.lident FStar_Pervasives_Native.option) | Tm_let of ((Prims.bool * letbinding Prims.list) * term' syntax) @@ -226,7 +258,7 @@ and pat' = | Pat_dot_term of (bv * term' syntax) and letbinding = { - lbname: (bv, fv) FStar_Util.either ; + lbname: (bv,fv) FStar_Util.either ; lbunivs: univ_name Prims.list ; lbtyp: term' syntax ; lbeff: FStar_Ident.lident ; @@ -335,535 +367,652 @@ and arg_qualifier = | Meta of term' syntax | Equality let (uu___is_Tm_bvar : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_bvar _0 -> true | uu____1701 -> false + fun projectee -> + match projectee with | Tm_bvar _0 -> true | uu____1712 -> false + let (__proj__Tm_bvar__item___0 : term' -> bv) = - fun projectee -> match projectee with | Tm_bvar _0 -> _0 + fun projectee -> match projectee with | Tm_bvar _0 -> _0 let (uu___is_Tm_name : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_name _0 -> true | uu____1720 -> false + fun projectee -> + match projectee with | Tm_name _0 -> true | uu____1731 -> false + let (__proj__Tm_name__item___0 : term' -> bv) = - fun projectee -> match projectee with | Tm_name _0 -> _0 + fun projectee -> match projectee with | Tm_name _0 -> _0 let (uu___is_Tm_fvar : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_fvar _0 -> true | uu____1739 -> false + fun projectee -> + match projectee with | Tm_fvar _0 -> true | uu____1750 -> false + let (__proj__Tm_fvar__item___0 : term' -> fv) = - fun projectee -> match projectee with | Tm_fvar _0 -> _0 + fun projectee -> match projectee with | Tm_fvar _0 -> _0 let (uu___is_Tm_uinst : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_uinst _0 -> true | uu____1764 -> false + fun projectee -> + match projectee with | Tm_uinst _0 -> true | uu____1775 -> false + let (__proj__Tm_uinst__item___0 : term' -> (term' syntax * universes)) = - fun projectee -> match projectee with | Tm_uinst _0 -> _0 + fun projectee -> match projectee with | Tm_uinst _0 -> _0 let (uu___is_Tm_constant : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_constant _0 -> true | uu____1801 -> false + fun projectee -> + match projectee with | Tm_constant _0 -> true | uu____1812 -> false + let (__proj__Tm_constant__item___0 : term' -> sconst) = - fun projectee -> match projectee with | Tm_constant _0 -> _0 + fun projectee -> match projectee with | Tm_constant _0 -> _0 let (uu___is_Tm_type : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_type _0 -> true | uu____1820 -> false + fun projectee -> + match projectee with | Tm_type _0 -> true | uu____1831 -> false + let (__proj__Tm_type__item___0 : term' -> universe) = - fun projectee -> match projectee with | Tm_type _0 -> _0 + fun projectee -> match projectee with | Tm_type _0 -> _0 let (uu___is_Tm_abs : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_abs _0 -> true | uu____1857 -> false + fun projectee -> + match projectee with | Tm_abs _0 -> true | uu____1868 -> false + let (__proj__Tm_abs__item___0 : term' -> ((bv * arg_qualifier FStar_Pervasives_Native.option) Prims.list * term' syntax * residual_comp FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | Tm_abs _0 -> _0 + = fun projectee -> match projectee with | Tm_abs _0 -> _0 let (uu___is_Tm_arrow : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_arrow _0 -> true | uu____1944 -> false + fun projectee -> + match projectee with | Tm_arrow _0 -> true | uu____1955 -> false + let (__proj__Tm_arrow__item___0 : term' -> ((bv * arg_qualifier FStar_Pervasives_Native.option) Prims.list * comp' syntax)) - = fun projectee -> match projectee with | Tm_arrow _0 -> _0 + = fun projectee -> match projectee with | Tm_arrow _0 -> _0 let (uu___is_Tm_refine : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_refine _0 -> true | uu____2011 -> false + fun projectee -> + match projectee with | Tm_refine _0 -> true | uu____2022 -> false + let (__proj__Tm_refine__item___0 : term' -> (bv * term' syntax)) = - fun projectee -> match projectee with | Tm_refine _0 -> _0 + fun projectee -> match projectee with | Tm_refine _0 -> _0 let (uu___is_Tm_app : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_app _0 -> true | uu____2064 -> false + fun projectee -> + match projectee with | Tm_app _0 -> true | uu____2075 -> false + let (__proj__Tm_app__item___0 : term' -> (term' syntax * (term' syntax * arg_qualifier FStar_Pervasives_Native.option) Prims.list)) - = fun projectee -> match projectee with | Tm_app _0 -> _0 + = fun projectee -> match projectee with | Tm_app _0 -> _0 let (uu___is_Tm_match : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_match _0 -> true | uu____2153 -> false + fun projectee -> + match projectee with | Tm_match _0 -> true | uu____2164 -> false + let (__proj__Tm_match__item___0 : term' -> (term' syntax * (pat' withinfo_t * term' syntax FStar_Pervasives_Native.option * term' syntax) Prims.list)) - = fun projectee -> match projectee with | Tm_match _0 -> _0 + = fun projectee -> match projectee with | Tm_match _0 -> _0 let (uu___is_Tm_ascribed : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_ascribed _0 -> true | uu____2264 -> false + fun projectee -> + match projectee with | Tm_ascribed _0 -> true | uu____2275 -> false + let (__proj__Tm_ascribed__item___0 : term' -> - (term' syntax * ((term' syntax, comp' syntax) FStar_Util.either * term' + (term' syntax * ((term' syntax,comp' syntax) FStar_Util.either * term' syntax FStar_Pervasives_Native.option) * FStar_Ident.lident FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | Tm_ascribed _0 -> _0 + = fun projectee -> match projectee with | Tm_ascribed _0 -> _0 let (uu___is_Tm_let : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_let _0 -> true | uu____2374 -> false + fun projectee -> + match projectee with | Tm_let _0 -> true | uu____2385 -> false + let (__proj__Tm_let__item___0 : term' -> ((Prims.bool * letbinding Prims.list) * term' syntax)) = - fun projectee -> match projectee with | Tm_let _0 -> _0 + fun projectee -> match projectee with | Tm_let _0 -> _0 let (uu___is_Tm_uvar : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_uvar _0 -> true | uu____2444 -> false + fun projectee -> + match projectee with | Tm_uvar _0 -> true | uu____2455 -> false + let (__proj__Tm_uvar__item___0 : term' -> (ctx_uvar * (subst_elt Prims.list Prims.list * maybe_set_use_range))) - = fun projectee -> match projectee with | Tm_uvar _0 -> _0 + = fun projectee -> match projectee with | Tm_uvar _0 -> _0 let (uu___is_Tm_delayed : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_delayed _0 -> true | uu____2521 -> false + fun projectee -> + match projectee with | Tm_delayed _0 -> true | uu____2532 -> false + let (__proj__Tm_delayed__item___0 : term' -> ((term' syntax * (subst_elt Prims.list Prims.list * maybe_set_use_range)) * term' syntax memo)) - = fun projectee -> match projectee with | Tm_delayed _0 -> _0 + = fun projectee -> match projectee with | Tm_delayed _0 -> _0 let (uu___is_Tm_meta : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_meta _0 -> true | uu____2612 -> false + fun projectee -> + match projectee with | Tm_meta _0 -> true | uu____2623 -> false + let (__proj__Tm_meta__item___0 : term' -> (term' syntax * metadata)) = - fun projectee -> match projectee with | Tm_meta _0 -> _0 + fun projectee -> match projectee with | Tm_meta _0 -> _0 let (uu___is_Tm_lazy : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_lazy _0 -> true | uu____2649 -> false + fun projectee -> + match projectee with | Tm_lazy _0 -> true | uu____2660 -> false + let (__proj__Tm_lazy__item___0 : term' -> lazyinfo) = - fun projectee -> match projectee with | Tm_lazy _0 -> _0 + fun projectee -> match projectee with | Tm_lazy _0 -> _0 let (uu___is_Tm_quoted : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_quoted _0 -> true | uu____2674 -> false + fun projectee -> + match projectee with | Tm_quoted _0 -> true | uu____2685 -> false + let (__proj__Tm_quoted__item___0 : term' -> (term' syntax * quoteinfo)) = - fun projectee -> match projectee with | Tm_quoted _0 -> _0 + fun projectee -> match projectee with | Tm_quoted _0 -> _0 let (uu___is_Tm_unknown : term' -> Prims.bool) = - fun projectee -> - match projectee with | Tm_unknown -> true | uu____2710 -> false + fun projectee -> + match projectee with | Tm_unknown -> true | uu____2721 -> false + let (__proj__Mkctx_uvar__item__ctx_uvar_head : ctx_uvar -> (term' syntax FStar_Pervasives_Native.option FStar_Unionfind.p_uvar * version)) = - fun projectee -> + fun projectee -> match projectee with | { ctx_uvar_head; ctx_uvar_gamma; ctx_uvar_binders; ctx_uvar_typ; ctx_uvar_reason; ctx_uvar_should_check; ctx_uvar_range; ctx_uvar_meta;_} -> ctx_uvar_head + let (__proj__Mkctx_uvar__item__ctx_uvar_gamma : ctx_uvar -> binding Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { ctx_uvar_head; ctx_uvar_gamma; ctx_uvar_binders; ctx_uvar_typ; ctx_uvar_reason; ctx_uvar_should_check; ctx_uvar_range; ctx_uvar_meta;_} -> ctx_uvar_gamma + let (__proj__Mkctx_uvar__item__ctx_uvar_binders : ctx_uvar -> (bv * arg_qualifier FStar_Pervasives_Native.option) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { ctx_uvar_head; ctx_uvar_gamma; ctx_uvar_binders; ctx_uvar_typ; ctx_uvar_reason; ctx_uvar_should_check; ctx_uvar_range; ctx_uvar_meta;_} -> ctx_uvar_binders + let (__proj__Mkctx_uvar__item__ctx_uvar_typ : ctx_uvar -> term' syntax) = - fun projectee -> + fun projectee -> match projectee with | { ctx_uvar_head; ctx_uvar_gamma; ctx_uvar_binders; ctx_uvar_typ; ctx_uvar_reason; ctx_uvar_should_check; ctx_uvar_range; ctx_uvar_meta;_} -> ctx_uvar_typ + let (__proj__Mkctx_uvar__item__ctx_uvar_reason : ctx_uvar -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { ctx_uvar_head; ctx_uvar_gamma; ctx_uvar_binders; ctx_uvar_typ; ctx_uvar_reason; ctx_uvar_should_check; ctx_uvar_range; ctx_uvar_meta;_} -> ctx_uvar_reason + let (__proj__Mkctx_uvar__item__ctx_uvar_should_check : ctx_uvar -> should_check_uvar) = - fun projectee -> + fun projectee -> match projectee with | { ctx_uvar_head; ctx_uvar_gamma; ctx_uvar_binders; ctx_uvar_typ; ctx_uvar_reason; ctx_uvar_should_check; ctx_uvar_range; ctx_uvar_meta;_} -> ctx_uvar_should_check + let (__proj__Mkctx_uvar__item__ctx_uvar_range : ctx_uvar -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { ctx_uvar_head; ctx_uvar_gamma; ctx_uvar_binders; ctx_uvar_typ; ctx_uvar_reason; ctx_uvar_should_check; ctx_uvar_range; ctx_uvar_meta;_} -> ctx_uvar_range + let (__proj__Mkctx_uvar__item__ctx_uvar_meta : ctx_uvar -> (FStar_Dyn.dyn * term' syntax) FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { ctx_uvar_head; ctx_uvar_gamma; ctx_uvar_binders; ctx_uvar_typ; ctx_uvar_reason; ctx_uvar_should_check; ctx_uvar_range; ctx_uvar_meta;_} -> ctx_uvar_meta + let (uu___is_Pat_constant : pat' -> Prims.bool) = - fun projectee -> - match projectee with | Pat_constant _0 -> true | uu____3144 -> false + fun projectee -> + match projectee with | Pat_constant _0 -> true | uu____3155 -> false + let (__proj__Pat_constant__item___0 : pat' -> sconst) = - fun projectee -> match projectee with | Pat_constant _0 -> _0 + fun projectee -> match projectee with | Pat_constant _0 -> _0 let (uu___is_Pat_cons : pat' -> Prims.bool) = - fun projectee -> - match projectee with | Pat_cons _0 -> true | uu____3176 -> false + fun projectee -> + match projectee with | Pat_cons _0 -> true | uu____3187 -> false + let (__proj__Pat_cons__item___0 : pat' -> (fv * (pat' withinfo_t * Prims.bool) Prims.list)) = - fun projectee -> match projectee with | Pat_cons _0 -> _0 + fun projectee -> match projectee with | Pat_cons _0 -> _0 let (uu___is_Pat_var : pat' -> Prims.bool) = - fun projectee -> - match projectee with | Pat_var _0 -> true | uu____3234 -> false + fun projectee -> + match projectee with | Pat_var _0 -> true | uu____3245 -> false + let (__proj__Pat_var__item___0 : pat' -> bv) = - fun projectee -> match projectee with | Pat_var _0 -> _0 + fun projectee -> match projectee with | Pat_var _0 -> _0 let (uu___is_Pat_wild : pat' -> Prims.bool) = - fun projectee -> - match projectee with | Pat_wild _0 -> true | uu____3253 -> false + fun projectee -> + match projectee with | Pat_wild _0 -> true | uu____3264 -> false + let (__proj__Pat_wild__item___0 : pat' -> bv) = - fun projectee -> match projectee with | Pat_wild _0 -> _0 + fun projectee -> match projectee with | Pat_wild _0 -> _0 let (uu___is_Pat_dot_term : pat' -> Prims.bool) = - fun projectee -> - match projectee with | Pat_dot_term _0 -> true | uu____3278 -> false + fun projectee -> + match projectee with | Pat_dot_term _0 -> true | uu____3289 -> false + let (__proj__Pat_dot_term__item___0 : pat' -> (bv * term' syntax)) = - fun projectee -> match projectee with | Pat_dot_term _0 -> _0 + fun projectee -> match projectee with | Pat_dot_term _0 -> _0 let (__proj__Mkletbinding__item__lbname : - letbinding -> (bv, fv) FStar_Util.either) = - fun projectee -> + letbinding -> (bv,fv) FStar_Util.either) = + fun projectee -> match projectee with | { lbname; lbunivs; lbtyp; lbeff; lbdef; lbattrs; lbpos;_} -> lbname + let (__proj__Mkletbinding__item__lbunivs : letbinding -> univ_name Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { lbname; lbunivs; lbtyp; lbeff; lbdef; lbattrs; lbpos;_} -> lbunivs + let (__proj__Mkletbinding__item__lbtyp : letbinding -> term' syntax) = - fun projectee -> + fun projectee -> match projectee with | { lbname; lbunivs; lbtyp; lbeff; lbdef; lbattrs; lbpos;_} -> lbtyp + let (__proj__Mkletbinding__item__lbeff : letbinding -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { lbname; lbunivs; lbtyp; lbeff; lbdef; lbattrs; lbpos;_} -> lbeff + let (__proj__Mkletbinding__item__lbdef : letbinding -> term' syntax) = - fun projectee -> + fun projectee -> match projectee with | { lbname; lbunivs; lbtyp; lbeff; lbdef; lbattrs; lbpos;_} -> lbdef + let (__proj__Mkletbinding__item__lbattrs : letbinding -> term' syntax Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { lbname; lbunivs; lbtyp; lbeff; lbdef; lbattrs; lbpos;_} -> lbattrs + let (__proj__Mkletbinding__item__lbpos : letbinding -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { lbname; lbunivs; lbtyp; lbeff; lbdef; lbattrs; lbpos;_} -> lbpos + let (__proj__Mkquoteinfo__item__qkind : quoteinfo -> quote_kind) = - fun projectee -> match projectee with | { qkind; antiquotes;_} -> qkind + fun projectee -> match projectee with | { qkind; antiquotes;_} -> qkind let (__proj__Mkquoteinfo__item__antiquotes : quoteinfo -> (bv * term' syntax) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { qkind; antiquotes;_} -> antiquotes + let (__proj__Mkcomp_typ__item__comp_univs : comp_typ -> universes) = - fun projectee -> + fun projectee -> match projectee with | { comp_univs; effect_name; result_typ; effect_args; flags;_} -> comp_univs + let (__proj__Mkcomp_typ__item__effect_name : comp_typ -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { comp_univs; effect_name; result_typ; effect_args; flags;_} -> effect_name + let (__proj__Mkcomp_typ__item__result_typ : comp_typ -> term' syntax) = - fun projectee -> + fun projectee -> match projectee with | { comp_univs; effect_name; result_typ; effect_args; flags;_} -> result_typ + let (__proj__Mkcomp_typ__item__effect_args : comp_typ -> (term' syntax * arg_qualifier FStar_Pervasives_Native.option) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { comp_univs; effect_name; result_typ; effect_args; flags;_} -> effect_args + let (__proj__Mkcomp_typ__item__flags : comp_typ -> cflag Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { comp_univs; effect_name; result_typ; effect_args; flags;_} -> flags + let (uu___is_Total : comp' -> Prims.bool) = - fun projectee -> - match projectee with | Total _0 -> true | uu____3741 -> false + fun projectee -> + match projectee with | Total _0 -> true | uu____3752 -> false + let (__proj__Total__item___0 : comp' -> (term' syntax * universe FStar_Pervasives_Native.option)) = - fun projectee -> match projectee with | Total _0 -> _0 + fun projectee -> match projectee with | Total _0 -> _0 let (uu___is_GTotal : comp' -> Prims.bool) = - fun projectee -> - match projectee with | GTotal _0 -> true | uu____3792 -> false + fun projectee -> + match projectee with | GTotal _0 -> true | uu____3803 -> false + let (__proj__GTotal__item___0 : comp' -> (term' syntax * universe FStar_Pervasives_Native.option)) = - fun projectee -> match projectee with | GTotal _0 -> _0 + fun projectee -> match projectee with | GTotal _0 -> _0 let (uu___is_Comp : comp' -> Prims.bool) = - fun projectee -> - match projectee with | Comp _0 -> true | uu____3835 -> false + fun projectee -> + match projectee with | Comp _0 -> true | uu____3846 -> false + let (__proj__Comp__item___0 : comp' -> comp_typ) = - fun projectee -> match projectee with | Comp _0 -> _0 + fun projectee -> match projectee with | Comp _0 -> _0 let (uu___is_TOTAL : cflag -> Prims.bool) = - fun projectee -> match projectee with | TOTAL -> true | uu____3853 -> false + fun projectee -> + match projectee with | TOTAL -> true | uu____3864 -> false + let (uu___is_MLEFFECT : cflag -> Prims.bool) = - fun projectee -> - match projectee with | MLEFFECT -> true | uu____3864 -> false + fun projectee -> + match projectee with | MLEFFECT -> true | uu____3875 -> false + let (uu___is_LEMMA : cflag -> Prims.bool) = - fun projectee -> match projectee with | LEMMA -> true | uu____3875 -> false + fun projectee -> + match projectee with | LEMMA -> true | uu____3886 -> false + let (uu___is_RETURN : cflag -> Prims.bool) = - fun projectee -> - match projectee with | RETURN -> true | uu____3886 -> false + fun projectee -> + match projectee with | RETURN -> true | uu____3897 -> false + let (uu___is_PARTIAL_RETURN : cflag -> Prims.bool) = - fun projectee -> - match projectee with | PARTIAL_RETURN -> true | uu____3897 -> false + fun projectee -> + match projectee with | PARTIAL_RETURN -> true | uu____3908 -> false + let (uu___is_SOMETRIVIAL : cflag -> Prims.bool) = - fun projectee -> - match projectee with | SOMETRIVIAL -> true | uu____3908 -> false + fun projectee -> + match projectee with | SOMETRIVIAL -> true | uu____3919 -> false + let (uu___is_TRIVIAL_POSTCONDITION : cflag -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | TRIVIAL_POSTCONDITION -> true - | uu____3919 -> false + | TRIVIAL_POSTCONDITION -> true + | uu____3930 -> false + let (uu___is_SHOULD_NOT_INLINE : cflag -> Prims.bool) = - fun projectee -> - match projectee with | SHOULD_NOT_INLINE -> true | uu____3930 -> false + fun projectee -> + match projectee with | SHOULD_NOT_INLINE -> true | uu____3941 -> false + let (uu___is_CPS : cflag -> Prims.bool) = - fun projectee -> match projectee with | CPS -> true | uu____3941 -> false + fun projectee -> match projectee with | CPS -> true | uu____3952 -> false let (uu___is_DECREASES : cflag -> Prims.bool) = - fun projectee -> - match projectee with | DECREASES _0 -> true | uu____3955 -> false + fun projectee -> + match projectee with | DECREASES _0 -> true | uu____3966 -> false + let (__proj__DECREASES__item___0 : cflag -> term' syntax) = - fun projectee -> match projectee with | DECREASES _0 -> _0 + fun projectee -> match projectee with | DECREASES _0 -> _0 let (uu___is_Meta_pattern : metadata -> Prims.bool) = - fun projectee -> - match projectee with | Meta_pattern _0 -> true | uu____4000 -> false + fun projectee -> + match projectee with | Meta_pattern _0 -> true | uu____4011 -> false + let (__proj__Meta_pattern__item___0 : metadata -> (term' syntax Prims.list * (term' syntax * arg_qualifier FStar_Pervasives_Native.option) Prims.list Prims.list)) - = fun projectee -> match projectee with | Meta_pattern _0 -> _0 + = fun projectee -> match projectee with | Meta_pattern _0 -> _0 let (uu___is_Meta_named : metadata -> Prims.bool) = - fun projectee -> - match projectee with | Meta_named _0 -> true | uu____4079 -> false + fun projectee -> + match projectee with | Meta_named _0 -> true | uu____4090 -> false + let (__proj__Meta_named__item___0 : metadata -> FStar_Ident.lident) = - fun projectee -> match projectee with | Meta_named _0 -> _0 + fun projectee -> match projectee with | Meta_named _0 -> _0 let (uu___is_Meta_labeled : metadata -> Prims.bool) = - fun projectee -> - match projectee with | Meta_labeled _0 -> true | uu____4106 -> false + fun projectee -> + match projectee with | Meta_labeled _0 -> true | uu____4117 -> false + let (__proj__Meta_labeled__item___0 : metadata -> (Prims.string * FStar_Range.range * Prims.bool)) = - fun projectee -> match projectee with | Meta_labeled _0 -> _0 + fun projectee -> match projectee with | Meta_labeled _0 -> _0 let (uu___is_Meta_desugared : metadata -> Prims.bool) = - fun projectee -> - match projectee with | Meta_desugared _0 -> true | uu____4149 -> false + fun projectee -> + match projectee with | Meta_desugared _0 -> true | uu____4160 -> false + let (__proj__Meta_desugared__item___0 : metadata -> meta_source_info) = - fun projectee -> match projectee with | Meta_desugared _0 -> _0 + fun projectee -> match projectee with | Meta_desugared _0 -> _0 let (uu___is_Meta_monadic : metadata -> Prims.bool) = - fun projectee -> - match projectee with | Meta_monadic _0 -> true | uu____4174 -> false + fun projectee -> + match projectee with | Meta_monadic _0 -> true | uu____4185 -> false + let (__proj__Meta_monadic__item___0 : metadata -> (monad_name * term' syntax)) = - fun projectee -> match projectee with | Meta_monadic _0 -> _0 + fun projectee -> match projectee with | Meta_monadic _0 -> _0 let (uu___is_Meta_monadic_lift : metadata -> Prims.bool) = - fun projectee -> - match projectee with | Meta_monadic_lift _0 -> true | uu____4219 -> false + fun projectee -> + match projectee with | Meta_monadic_lift _0 -> true | uu____4230 -> false + let (__proj__Meta_monadic_lift__item___0 : metadata -> (monad_name * monad_name * term' syntax)) = - fun projectee -> match projectee with | Meta_monadic_lift _0 -> _0 + fun projectee -> match projectee with | Meta_monadic_lift _0 -> _0 let (uu___is_Sequence : meta_source_info -> Prims.bool) = - fun projectee -> - match projectee with | Sequence -> true | uu____4261 -> false + fun projectee -> + match projectee with | Sequence -> true | uu____4272 -> false + let (uu___is_Primop : meta_source_info -> Prims.bool) = - fun projectee -> - match projectee with | Primop -> true | uu____4272 -> false + fun projectee -> + match projectee with | Primop -> true | uu____4283 -> false + let (uu___is_Masked_effect : meta_source_info -> Prims.bool) = - fun projectee -> - match projectee with | Masked_effect -> true | uu____4283 -> false + fun projectee -> + match projectee with | Masked_effect -> true | uu____4294 -> false + let (uu___is_Meta_smt_pat : meta_source_info -> Prims.bool) = - fun projectee -> - match projectee with | Meta_smt_pat -> true | uu____4294 -> false + fun projectee -> + match projectee with | Meta_smt_pat -> true | uu____4305 -> false + let (uu___is_Data_ctor : fv_qual -> Prims.bool) = - fun projectee -> - match projectee with | Data_ctor -> true | uu____4305 -> false + fun projectee -> + match projectee with | Data_ctor -> true | uu____4316 -> false + let (uu___is_Record_projector : fv_qual -> Prims.bool) = - fun projectee -> - match projectee with | Record_projector _0 -> true | uu____4321 -> false + fun projectee -> + match projectee with | Record_projector _0 -> true | uu____4332 -> false + let (__proj__Record_projector__item___0 : fv_qual -> (FStar_Ident.lident * FStar_Ident.ident)) = - fun projectee -> match projectee with | Record_projector _0 -> _0 + fun projectee -> match projectee with | Record_projector _0 -> _0 let (uu___is_Record_ctor : fv_qual -> Prims.bool) = - fun projectee -> - match projectee with | Record_ctor _0 -> true | uu____4358 -> false + fun projectee -> + match projectee with | Record_ctor _0 -> true | uu____4369 -> false + let (__proj__Record_ctor__item___0 : fv_qual -> (FStar_Ident.lident * FStar_Ident.ident Prims.list)) = - fun projectee -> match projectee with | Record_ctor _0 -> _0 + fun projectee -> match projectee with | Record_ctor _0 -> _0 let (uu___is_DB : subst_elt -> Prims.bool) = - fun projectee -> match projectee with | DB _0 -> true | uu____4400 -> false + fun projectee -> + match projectee with | DB _0 -> true | uu____4411 -> false + let (__proj__DB__item___0 : subst_elt -> (Prims.int * bv)) = - fun projectee -> match projectee with | DB _0 -> _0 + fun projectee -> match projectee with | DB _0 -> _0 let (uu___is_NM : subst_elt -> Prims.bool) = - fun projectee -> match projectee with | NM _0 -> true | uu____4439 -> false + fun projectee -> + match projectee with | NM _0 -> true | uu____4450 -> false + let (__proj__NM__item___0 : subst_elt -> (bv * Prims.int)) = - fun projectee -> match projectee with | NM _0 -> _0 + fun projectee -> match projectee with | NM _0 -> _0 let (uu___is_NT : subst_elt -> Prims.bool) = - fun projectee -> match projectee with | NT _0 -> true | uu____4479 -> false + fun projectee -> + match projectee with | NT _0 -> true | uu____4490 -> false + let (__proj__NT__item___0 : subst_elt -> (bv * term' syntax)) = - fun projectee -> match projectee with | NT _0 -> _0 + fun projectee -> match projectee with | NT _0 -> _0 let (uu___is_UN : subst_elt -> Prims.bool) = - fun projectee -> match projectee with | UN _0 -> true | uu____4521 -> false + fun projectee -> + match projectee with | UN _0 -> true | uu____4532 -> false + let (__proj__UN__item___0 : subst_elt -> (Prims.int * universe)) = - fun projectee -> match projectee with | UN _0 -> _0 + fun projectee -> match projectee with | UN _0 -> _0 let (uu___is_UD : subst_elt -> Prims.bool) = - fun projectee -> match projectee with | UD _0 -> true | uu____4560 -> false + fun projectee -> + match projectee with | UD _0 -> true | uu____4571 -> false + let (__proj__UD__item___0 : subst_elt -> (univ_name * Prims.int)) = - fun projectee -> match projectee with | UD _0 -> _0 + fun projectee -> match projectee with | UD _0 -> _0 let __proj__Mksyntax__item__n : 'a . 'a syntax -> 'a = - fun projectee -> match projectee with | { n = n1; pos; vars;_} -> n1 + fun projectee -> match projectee with | { n = n1; pos; vars;_} -> n1 let __proj__Mksyntax__item__pos : 'a . 'a syntax -> FStar_Range.range = - fun projectee -> match projectee with | { n = n1; pos; vars;_} -> pos + fun projectee -> match projectee with | { n = n1; pos; vars;_} -> pos let __proj__Mksyntax__item__vars : 'a . 'a syntax -> free_vars memo = - fun projectee -> match projectee with | { n = n1; pos; vars;_} -> vars + fun projectee -> match projectee with | { n = n1; pos; vars;_} -> vars let (__proj__Mkbv__item__ppname : bv -> FStar_Ident.ident) = - fun projectee -> + fun projectee -> match projectee with | { ppname; index = index1; sort;_} -> ppname + let (__proj__Mkbv__item__index : bv -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { ppname; index = index1; sort;_} -> index1 + let (__proj__Mkbv__item__sort : bv -> term' syntax) = - fun projectee -> + fun projectee -> match projectee with | { ppname; index = index1; sort;_} -> sort + let (__proj__Mkfv__item__fv_name : fv -> var) = - fun projectee -> + fun projectee -> match projectee with | { fv_name; fv_delta; fv_qual;_} -> fv_name + let (__proj__Mkfv__item__fv_delta : fv -> delta_depth) = - fun projectee -> + fun projectee -> match projectee with | { fv_name; fv_delta; fv_qual;_} -> fv_delta + let (__proj__Mkfv__item__fv_qual : fv -> fv_qual FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { fv_name; fv_delta; fv_qual;_} -> fv_qual + let (__proj__Mkfree_vars__item__free_names : free_vars -> bv Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { free_names; free_uvars; free_univs; free_univ_names;_} -> free_names + let (__proj__Mkfree_vars__item__free_uvars : free_vars -> ctx_uvar Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { free_names; free_uvars; free_univs; free_univ_names;_} -> free_uvars + let (__proj__Mkfree_vars__item__free_univs : free_vars -> universe_uvar Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { free_names; free_uvars; free_univs; free_univ_names;_} -> free_univs + let (__proj__Mkfree_vars__item__free_univ_names : free_vars -> univ_name Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { free_names; free_uvars; free_univs; free_univ_names;_} -> free_univ_names + let (__proj__Mkresidual_comp__item__residual_effect : residual_comp -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { residual_effect; residual_typ; residual_flags;_} -> residual_effect + let (__proj__Mkresidual_comp__item__residual_typ : residual_comp -> term' syntax FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { residual_effect; residual_typ; residual_flags;_} -> residual_typ + let (__proj__Mkresidual_comp__item__residual_flags : residual_comp -> cflag Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { residual_effect; residual_typ; residual_flags;_} -> residual_flags + let (__proj__Mklazyinfo__item__blob : lazyinfo -> FStar_Dyn.dyn) = - fun projectee -> match projectee with | { blob; lkind; ltyp; rng;_} -> blob + fun projectee -> + match projectee with | { blob; lkind; ltyp; rng;_} -> blob + let (__proj__Mklazyinfo__item__lkind : lazyinfo -> lazy_kind) = - fun projectee -> + fun projectee -> match projectee with | { blob; lkind; ltyp; rng;_} -> lkind + let (__proj__Mklazyinfo__item__ltyp : lazyinfo -> term' syntax) = - fun projectee -> match projectee with | { blob; lkind; ltyp; rng;_} -> ltyp + fun projectee -> + match projectee with | { blob; lkind; ltyp; rng;_} -> ltyp + let (__proj__Mklazyinfo__item__rng : lazyinfo -> FStar_Range.range) = - fun projectee -> match projectee with | { blob; lkind; ltyp; rng;_} -> rng + fun projectee -> match projectee with | { blob; lkind; ltyp; rng;_} -> rng let (uu___is_BadLazy : lazy_kind -> Prims.bool) = - fun projectee -> - match projectee with | BadLazy -> true | uu____4931 -> false + fun projectee -> + match projectee with | BadLazy -> true | uu____4942 -> false + let (uu___is_Lazy_bv : lazy_kind -> Prims.bool) = - fun projectee -> - match projectee with | Lazy_bv -> true | uu____4942 -> false + fun projectee -> + match projectee with | Lazy_bv -> true | uu____4953 -> false + let (uu___is_Lazy_binder : lazy_kind -> Prims.bool) = - fun projectee -> - match projectee with | Lazy_binder -> true | uu____4953 -> false + fun projectee -> + match projectee with | Lazy_binder -> true | uu____4964 -> false + let (uu___is_Lazy_fvar : lazy_kind -> Prims.bool) = - fun projectee -> - match projectee with | Lazy_fvar -> true | uu____4964 -> false + fun projectee -> + match projectee with | Lazy_fvar -> true | uu____4975 -> false + let (uu___is_Lazy_comp : lazy_kind -> Prims.bool) = - fun projectee -> - match projectee with | Lazy_comp -> true | uu____4975 -> false + fun projectee -> + match projectee with | Lazy_comp -> true | uu____4986 -> false + let (uu___is_Lazy_env : lazy_kind -> Prims.bool) = - fun projectee -> - match projectee with | Lazy_env -> true | uu____4986 -> false + fun projectee -> + match projectee with | Lazy_env -> true | uu____4997 -> false + let (uu___is_Lazy_proofstate : lazy_kind -> Prims.bool) = - fun projectee -> - match projectee with | Lazy_proofstate -> true | uu____4997 -> false + fun projectee -> + match projectee with | Lazy_proofstate -> true | uu____5008 -> false + let (uu___is_Lazy_goal : lazy_kind -> Prims.bool) = - fun projectee -> - match projectee with | Lazy_goal -> true | uu____5008 -> false + fun projectee -> + match projectee with | Lazy_goal -> true | uu____5019 -> false + let (uu___is_Lazy_sigelt : lazy_kind -> Prims.bool) = - fun projectee -> - match projectee with | Lazy_sigelt -> true | uu____5019 -> false + fun projectee -> + match projectee with | Lazy_sigelt -> true | uu____5030 -> false + let (uu___is_Lazy_uvar : lazy_kind -> Prims.bool) = - fun projectee -> - match projectee with | Lazy_uvar -> true | uu____5030 -> false + fun projectee -> + match projectee with | Lazy_uvar -> true | uu____5041 -> false + let (uu___is_Lazy_embedding : lazy_kind -> Prims.bool) = - fun projectee -> - match projectee with | Lazy_embedding _0 -> true | uu____5050 -> false + fun projectee -> + match projectee with | Lazy_embedding _0 -> true | uu____5061 -> false + let (__proj__Lazy_embedding__item___0 : lazy_kind -> (emb_typ * term' syntax FStar_Common.thunk)) = - fun projectee -> match projectee with | Lazy_embedding _0 -> _0 + fun projectee -> match projectee with | Lazy_embedding _0 -> _0 let (uu___is_Binding_var : binding -> Prims.bool) = - fun projectee -> - match projectee with | Binding_var _0 -> true | uu____5093 -> false + fun projectee -> + match projectee with | Binding_var _0 -> true | uu____5104 -> false + let (__proj__Binding_var__item___0 : binding -> bv) = - fun projectee -> match projectee with | Binding_var _0 -> _0 + fun projectee -> match projectee with | Binding_var _0 -> _0 let (uu___is_Binding_lid : binding -> Prims.bool) = - fun projectee -> - match projectee with | Binding_lid _0 -> true | uu____5124 -> false + fun projectee -> + match projectee with | Binding_lid _0 -> true | uu____5135 -> false + let (__proj__Binding_lid__item___0 : binding -> (FStar_Ident.lident * (univ_name Prims.list * term' syntax))) = - fun projectee -> match projectee with | Binding_lid _0 -> _0 + fun projectee -> match projectee with | Binding_lid _0 -> _0 let (uu___is_Binding_univ : binding -> Prims.bool) = - fun projectee -> - match projectee with | Binding_univ _0 -> true | uu____5179 -> false + fun projectee -> + match projectee with | Binding_univ _0 -> true | uu____5190 -> false + let (__proj__Binding_univ__item___0 : binding -> univ_name) = - fun projectee -> match projectee with | Binding_univ _0 -> _0 + fun projectee -> match projectee with | Binding_univ _0 -> _0 let (uu___is_Implicit : arg_qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Implicit _0 -> true | uu____5199 -> false + fun projectee -> + match projectee with | Implicit _0 -> true | uu____5210 -> false + let (__proj__Implicit__item___0 : arg_qualifier -> Prims.bool) = - fun projectee -> match projectee with | Implicit _0 -> _0 + fun projectee -> match projectee with | Implicit _0 -> _0 let (uu___is_Meta : arg_qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Meta _0 -> true | uu____5223 -> false + fun projectee -> + match projectee with | Meta _0 -> true | uu____5234 -> false + let (__proj__Meta__item___0 : arg_qualifier -> term' syntax) = - fun projectee -> match projectee with | Meta _0 -> _0 + fun projectee -> match projectee with | Meta _0 -> _0 let (uu___is_Equality : arg_qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Equality -> true | uu____5247 -> false + fun projectee -> + match projectee with | Equality -> true | uu____5258 -> false + type subst_ts = (subst_elt Prims.list Prims.list * maybe_set_use_range) type ctx_uvar_and_subst = (ctx_uvar * (subst_elt Prims.list Prims.list * maybe_set_use_range)) @@ -878,7 +1027,7 @@ type branch = syntax) type comp = comp' syntax type ascription = - ((term' syntax, comp' syntax) FStar_Util.either * term' syntax + ((term' syntax,comp' syntax) FStar_Util.either * term' syntax FStar_Pervasives_Native.option) type antiquotations = (bv * term' syntax) Prims.list type typ = term' syntax @@ -888,7 +1037,7 @@ type args = (term' syntax * arg_qualifier FStar_Pervasives_Native.option) Prims.list type binder = (bv * arg_qualifier FStar_Pervasives_Native.option) type binders = (bv * arg_qualifier FStar_Pervasives_Native.option) Prims.list -type lbname = (bv, fv) FStar_Util.either +type lbname = (bv,fv) FStar_Util.either type letbindings = (Prims.bool * letbinding Prims.list) type freenames = bv FStar_Util.set type attribute = term' syntax @@ -899,43 +1048,49 @@ type lcomp = eff_name: FStar_Ident.lident ; res_typ: typ ; cflags: cflag Prims.list ; - comp_thunk: (unit -> comp, comp) FStar_Util.either FStar_ST.ref } + comp_thunk: (unit -> comp,comp) FStar_Util.either FStar_ST.ref } let (__proj__Mklcomp__item__eff_name : lcomp -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { eff_name; res_typ; cflags; comp_thunk;_} -> eff_name + let (__proj__Mklcomp__item__res_typ : lcomp -> typ) = - fun projectee -> + fun projectee -> match projectee with | { eff_name; res_typ; cflags; comp_thunk;_} -> res_typ + let (__proj__Mklcomp__item__cflags : lcomp -> cflag Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { eff_name; res_typ; cflags; comp_thunk;_} -> cflags + let (__proj__Mklcomp__item__comp_thunk : - lcomp -> (unit -> comp, comp) FStar_Util.either FStar_ST.ref) = - fun projectee -> + lcomp -> (unit -> comp,comp) FStar_Util.either FStar_ST.ref) = + fun projectee -> match projectee with | { eff_name; res_typ; cflags; comp_thunk;_} -> comp_thunk + let (lazy_chooser : (lazy_kind -> lazyinfo -> term) FStar_Pervasives_Native.option FStar_ST.ref) - = FStar_Util.mk_ref FStar_Pervasives_Native.None + = FStar_Util.mk_ref FStar_Pervasives_Native.None let (mk_lcomp : FStar_Ident.lident -> typ -> cflag Prims.list -> (unit -> comp) -> lcomp) = - fun eff_name -> - fun res_typ -> - fun cflags -> - fun comp_thunk -> - let uu____5607 = FStar_Util.mk_ref (FStar_Util.Inl comp_thunk) in - { eff_name; res_typ; cflags; comp_thunk = uu____5607 } + fun eff_name -> + fun res_typ -> + fun cflags -> + fun comp_thunk -> + let uu____5618 = FStar_Util.mk_ref (FStar_Util.Inl comp_thunk) in + { eff_name; res_typ; cflags; comp_thunk = uu____5618 } + let (lcomp_comp : lcomp -> comp) = - fun lc -> - let uu____5633 = FStar_ST.op_Bang lc.comp_thunk in - match uu____5633 with + fun lc -> + let uu____5644 = FStar_ST.op_Bang lc.comp_thunk in + match uu____5644 with | FStar_Util.Inl thunk -> - let c = thunk () in + let c = thunk () in (FStar_ST.op_Colon_Equals lc.comp_thunk (FStar_Util.Inr c); c) | FStar_Util.Inr c -> c + type freenames_l = bv Prims.list type formula = typ type formulae = typ Prims.list @@ -967,93 +1122,120 @@ type qualifier = | Effect | OnlyName let (uu___is_Assumption : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Assumption -> true | uu____5786 -> false + fun projectee -> + match projectee with | Assumption -> true | uu____5797 -> false + let (uu___is_New : qualifier -> Prims.bool) = - fun projectee -> match projectee with | New -> true | uu____5797 -> false + fun projectee -> match projectee with | New -> true | uu____5808 -> false let (uu___is_Private : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Private -> true | uu____5808 -> false + fun projectee -> + match projectee with | Private -> true | uu____5819 -> false + let (uu___is_Unfold_for_unification_and_vcgen : qualifier -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Unfold_for_unification_and_vcgen -> true - | uu____5819 -> false + | Unfold_for_unification_and_vcgen -> true + | uu____5830 -> false + let (uu___is_Visible_default : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Visible_default -> true | uu____5830 -> false + fun projectee -> + match projectee with | Visible_default -> true | uu____5841 -> false + let (uu___is_Irreducible : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Irreducible -> true | uu____5841 -> false + fun projectee -> + match projectee with | Irreducible -> true | uu____5852 -> false + let (uu___is_Abstract : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Abstract -> true | uu____5852 -> false + fun projectee -> + match projectee with | Abstract -> true | uu____5863 -> false + let (uu___is_Inline_for_extraction : qualifier -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Inline_for_extraction -> true - | uu____5863 -> false + | Inline_for_extraction -> true + | uu____5874 -> false + let (uu___is_NoExtract : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | NoExtract -> true | uu____5874 -> false + fun projectee -> + match projectee with | NoExtract -> true | uu____5885 -> false + let (uu___is_Noeq : qualifier -> Prims.bool) = - fun projectee -> match projectee with | Noeq -> true | uu____5885 -> false + fun projectee -> + match projectee with | Noeq -> true | uu____5896 -> false + let (uu___is_Unopteq : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Unopteq -> true | uu____5896 -> false + fun projectee -> + match projectee with | Unopteq -> true | uu____5907 -> false + let (uu___is_TotalEffect : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | TotalEffect -> true | uu____5907 -> false + fun projectee -> + match projectee with | TotalEffect -> true | uu____5918 -> false + let (uu___is_Logic : qualifier -> Prims.bool) = - fun projectee -> match projectee with | Logic -> true | uu____5918 -> false + fun projectee -> + match projectee with | Logic -> true | uu____5929 -> false + let (uu___is_Reifiable : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Reifiable -> true | uu____5929 -> false + fun projectee -> + match projectee with | Reifiable -> true | uu____5940 -> false + let (uu___is_Reflectable : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Reflectable _0 -> true | uu____5941 -> false + fun projectee -> + match projectee with | Reflectable _0 -> true | uu____5952 -> false + let (__proj__Reflectable__item___0 : qualifier -> FStar_Ident.lident) = - fun projectee -> match projectee with | Reflectable _0 -> _0 + fun projectee -> match projectee with | Reflectable _0 -> _0 let (uu___is_Discriminator : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Discriminator _0 -> true | uu____5960 -> false + fun projectee -> + match projectee with | Discriminator _0 -> true | uu____5971 -> false + let (__proj__Discriminator__item___0 : qualifier -> FStar_Ident.lident) = - fun projectee -> match projectee with | Discriminator _0 -> _0 + fun projectee -> match projectee with | Discriminator _0 -> _0 let (uu___is_Projector : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Projector _0 -> true | uu____5983 -> false + fun projectee -> + match projectee with | Projector _0 -> true | uu____5994 -> false + let (__proj__Projector__item___0 : qualifier -> (FStar_Ident.lident * FStar_Ident.ident)) = - fun projectee -> match projectee with | Projector _0 -> _0 + fun projectee -> match projectee with | Projector _0 -> _0 let (uu___is_RecordType : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | RecordType _0 -> true | uu____6022 -> false + fun projectee -> + match projectee with | RecordType _0 -> true | uu____6033 -> false + let (__proj__RecordType__item___0 : qualifier -> (FStar_Ident.ident Prims.list * FStar_Ident.ident Prims.list)) - = fun projectee -> match projectee with | RecordType _0 -> _0 + = fun projectee -> match projectee with | RecordType _0 -> _0 let (uu___is_RecordConstructor : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | RecordConstructor _0 -> true | uu____6073 -> false + fun projectee -> + match projectee with | RecordConstructor _0 -> true | uu____6084 -> false + let (__proj__RecordConstructor__item___0 : qualifier -> (FStar_Ident.ident Prims.list * FStar_Ident.ident Prims.list)) - = fun projectee -> match projectee with | RecordConstructor _0 -> _0 + = fun projectee -> match projectee with | RecordConstructor _0 -> _0 let (uu___is_Action : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Action _0 -> true | uu____6116 -> false + fun projectee -> + match projectee with | Action _0 -> true | uu____6127 -> false + let (__proj__Action__item___0 : qualifier -> FStar_Ident.lident) = - fun projectee -> match projectee with | Action _0 -> _0 + fun projectee -> match projectee with | Action _0 -> _0 let (uu___is_ExceptionConstructor : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | ExceptionConstructor -> true | uu____6134 -> false + fun projectee -> + match projectee with + | ExceptionConstructor -> true + | uu____6145 -> false + let (uu___is_HasMaskedEffect : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | HasMaskedEffect -> true | uu____6145 -> false + fun projectee -> + match projectee with | HasMaskedEffect -> true | uu____6156 -> false + let (uu___is_Effect : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | Effect -> true | uu____6156 -> false + fun projectee -> + match projectee with | Effect -> true | uu____6167 -> false + let (uu___is_OnlyName : qualifier -> Prims.bool) = - fun projectee -> - match projectee with | OnlyName -> true | uu____6167 -> false + fun projectee -> + match projectee with | OnlyName -> true | uu____6178 -> false + type tycon = (FStar_Ident.lident * binders * typ) type monad_abbrev = { mabbrev: FStar_Ident.lident ; @@ -1061,11 +1243,13 @@ type monad_abbrev = { def: typ } let (__proj__Mkmonad_abbrev__item__mabbrev : monad_abbrev -> FStar_Ident.lident) = - fun projectee -> match projectee with | { mabbrev; parms; def;_} -> mabbrev + fun projectee -> + match projectee with | { mabbrev; parms; def;_} -> mabbrev + let (__proj__Mkmonad_abbrev__item__parms : monad_abbrev -> binders) = - fun projectee -> match projectee with | { mabbrev; parms; def;_} -> parms + fun projectee -> match projectee with | { mabbrev; parms; def;_} -> parms let (__proj__Mkmonad_abbrev__item__def : monad_abbrev -> typ) = - fun projectee -> match projectee with | { mabbrev; parms; def;_} -> def + fun projectee -> match projectee with | { mabbrev; parms; def;_} -> def type sub_eff = { source: FStar_Ident.lident ; @@ -1073,19 +1257,23 @@ type sub_eff = lift_wp: tscheme FStar_Pervasives_Native.option ; lift: tscheme FStar_Pervasives_Native.option } let (__proj__Mksub_eff__item__source : sub_eff -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { source; target; lift_wp; lift;_} -> source + let (__proj__Mksub_eff__item__target : sub_eff -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { source; target; lift_wp; lift;_} -> target + let (__proj__Mksub_eff__item__lift_wp : sub_eff -> tscheme FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { source; target; lift_wp; lift;_} -> lift_wp + let (__proj__Mksub_eff__item__lift : sub_eff -> tscheme FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { source; target; lift_wp; lift;_} -> lift + type action = { action_name: FStar_Ident.lident ; @@ -1095,36 +1283,42 @@ type action = action_defn: term ; action_typ: typ } let (__proj__Mkaction__item__action_name : action -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { action_name; action_unqualified_name; action_univs; action_params; action_defn; action_typ;_} -> action_name + let (__proj__Mkaction__item__action_unqualified_name : action -> FStar_Ident.ident) = - fun projectee -> + fun projectee -> match projectee with | { action_name; action_unqualified_name; action_univs; action_params; action_defn; action_typ;_} -> action_unqualified_name + let (__proj__Mkaction__item__action_univs : action -> univ_names) = - fun projectee -> + fun projectee -> match projectee with | { action_name; action_unqualified_name; action_univs; action_params; action_defn; action_typ;_} -> action_univs + let (__proj__Mkaction__item__action_params : action -> binders) = - fun projectee -> + fun projectee -> match projectee with | { action_name; action_unqualified_name; action_univs; action_params; action_defn; action_typ;_} -> action_params + let (__proj__Mkaction__item__action_defn : action -> term) = - fun projectee -> + fun projectee -> match projectee with | { action_name; action_unqualified_name; action_univs; action_params; action_defn; action_typ;_} -> action_defn + let (__proj__Mkaction__item__action_typ : action -> typ) = - fun projectee -> + fun projectee -> match projectee with | { action_name; action_unqualified_name; action_univs; action_params; action_defn; action_typ;_} -> action_typ + type eff_decl = { cattributes: cflag Prims.list ; @@ -1148,160 +1342,182 @@ type eff_decl = actions: action Prims.list ; eff_attrs: attribute Prims.list } let (__proj__Mkeff_decl__item__cattributes : eff_decl -> cflag Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> cattributes + let (__proj__Mkeff_decl__item__mname : eff_decl -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> mname + let (__proj__Mkeff_decl__item__univs : eff_decl -> univ_names) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> univs + let (__proj__Mkeff_decl__item__binders : eff_decl -> binders) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> binders + let (__proj__Mkeff_decl__item__signature : eff_decl -> term) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> signature + let (__proj__Mkeff_decl__item__ret_wp : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> ret_wp + let (__proj__Mkeff_decl__item__bind_wp : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> bind_wp + let (__proj__Mkeff_decl__item__if_then_else : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> if_then_else + let (__proj__Mkeff_decl__item__ite_wp : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> ite_wp + let (__proj__Mkeff_decl__item__stronger : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> stronger + let (__proj__Mkeff_decl__item__close_wp : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> close_wp + let (__proj__Mkeff_decl__item__assert_p : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> assert_p + let (__proj__Mkeff_decl__item__assume_p : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> assume_p + let (__proj__Mkeff_decl__item__null_wp : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> null_wp + let (__proj__Mkeff_decl__item__trivial : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> trivial + let (__proj__Mkeff_decl__item__repr : eff_decl -> term) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> repr + let (__proj__Mkeff_decl__item__return_repr : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> return_repr + let (__proj__Mkeff_decl__item__bind_repr : eff_decl -> tscheme) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> bind_repr + let (__proj__Mkeff_decl__item__actions : eff_decl -> action Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> actions + let (__proj__Mkeff_decl__item__eff_attrs : eff_decl -> attribute Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { cattributes; mname; univs; binders; signature; ret_wp; bind_wp; if_then_else; ite_wp; stronger; close_wp; assert_p; assume_p; null_wp; trivial; repr; return_repr; bind_repr; actions; eff_attrs;_} -> eff_attrs + type sig_metadata = { sigmeta_active: Prims.bool ; sigmeta_fact_db_ids: Prims.string Prims.list } let (__proj__Mksig_metadata__item__sigmeta_active : sig_metadata -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { sigmeta_active; sigmeta_fact_db_ids;_} -> sigmeta_active + let (__proj__Mksig_metadata__item__sigmeta_fact_db_ids : sig_metadata -> Prims.string Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { sigmeta_active; sigmeta_fact_db_ids;_} -> sigmeta_fact_db_ids + type sigelt' = | Sig_inductive_typ of (FStar_Ident.lident * univ_names * binders * typ * FStar_Ident.lident Prims.list * FStar_Ident.lident Prims.list) @@ -1327,105 +1543,123 @@ and sigelt = sigmeta: sig_metadata ; sigattrs: attribute Prims.list } let (uu___is_Sig_inductive_typ : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_inductive_typ _0 -> true | uu____7406 -> false + fun projectee -> + match projectee with | Sig_inductive_typ _0 -> true | uu____7417 -> false + let (__proj__Sig_inductive_typ__item___0 : sigelt' -> (FStar_Ident.lident * univ_names * binders * typ * FStar_Ident.lident Prims.list * FStar_Ident.lident Prims.list)) - = fun projectee -> match projectee with | Sig_inductive_typ _0 -> _0 + = fun projectee -> match projectee with | Sig_inductive_typ _0 -> _0 let (uu___is_Sig_bundle : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_bundle _0 -> true | uu____7481 -> false + fun projectee -> + match projectee with | Sig_bundle _0 -> true | uu____7492 -> false + let (__proj__Sig_bundle__item___0 : sigelt' -> (sigelt Prims.list * FStar_Ident.lident Prims.list)) = - fun projectee -> match projectee with | Sig_bundle _0 -> _0 + fun projectee -> match projectee with | Sig_bundle _0 -> _0 let (uu___is_Sig_datacon : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_datacon _0 -> true | uu____7539 -> false + fun projectee -> + match projectee with | Sig_datacon _0 -> true | uu____7550 -> false + let (__proj__Sig_datacon__item___0 : sigelt' -> (FStar_Ident.lident * univ_names * typ * FStar_Ident.lident * Prims.int * FStar_Ident.lident Prims.list)) - = fun projectee -> match projectee with | Sig_datacon _0 -> _0 + = fun projectee -> match projectee with | Sig_datacon _0 -> _0 let (uu___is_Sig_declare_typ : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_declare_typ _0 -> true | uu____7609 -> false + fun projectee -> + match projectee with | Sig_declare_typ _0 -> true | uu____7620 -> false + let (__proj__Sig_declare_typ__item___0 : sigelt' -> (FStar_Ident.lident * univ_names * typ)) = - fun projectee -> match projectee with | Sig_declare_typ _0 -> _0 + fun projectee -> match projectee with | Sig_declare_typ _0 -> _0 let (uu___is_Sig_let : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_let _0 -> true | uu____7652 -> false + fun projectee -> + match projectee with | Sig_let _0 -> true | uu____7663 -> false + let (__proj__Sig_let__item___0 : sigelt' -> (letbindings * FStar_Ident.lident Prims.list)) = - fun projectee -> match projectee with | Sig_let _0 -> _0 + fun projectee -> match projectee with | Sig_let _0 -> _0 let (uu___is_Sig_main : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_main _0 -> true | uu____7689 -> false + fun projectee -> + match projectee with | Sig_main _0 -> true | uu____7700 -> false + let (__proj__Sig_main__item___0 : sigelt' -> term) = - fun projectee -> match projectee with | Sig_main _0 -> _0 + fun projectee -> match projectee with | Sig_main _0 -> _0 let (uu___is_Sig_assume : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_assume _0 -> true | uu____7714 -> false + fun projectee -> + match projectee with | Sig_assume _0 -> true | uu____7725 -> false + let (__proj__Sig_assume__item___0 : sigelt' -> (FStar_Ident.lident * univ_names * formula)) = - fun projectee -> match projectee with | Sig_assume _0 -> _0 + fun projectee -> match projectee with | Sig_assume _0 -> _0 let (uu___is_Sig_new_effect : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_new_effect _0 -> true | uu____7751 -> false + fun projectee -> + match projectee with | Sig_new_effect _0 -> true | uu____7762 -> false + let (__proj__Sig_new_effect__item___0 : sigelt' -> eff_decl) = - fun projectee -> match projectee with | Sig_new_effect _0 -> _0 + fun projectee -> match projectee with | Sig_new_effect _0 -> _0 let (uu___is_Sig_new_effect_for_free : sigelt' -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Sig_new_effect_for_free _0 -> true - | uu____7770 -> false + | uu____7781 -> false + let (__proj__Sig_new_effect_for_free__item___0 : sigelt' -> eff_decl) = - fun projectee -> match projectee with | Sig_new_effect_for_free _0 -> _0 + fun projectee -> match projectee with | Sig_new_effect_for_free _0 -> _0 let (uu___is_Sig_sub_effect : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_sub_effect _0 -> true | uu____7789 -> false + fun projectee -> + match projectee with | Sig_sub_effect _0 -> true | uu____7800 -> false + let (__proj__Sig_sub_effect__item___0 : sigelt' -> sub_eff) = - fun projectee -> match projectee with | Sig_sub_effect _0 -> _0 + fun projectee -> match projectee with | Sig_sub_effect _0 -> _0 let (uu___is_Sig_effect_abbrev : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_effect_abbrev _0 -> true | uu____7820 -> false + fun projectee -> + match projectee with | Sig_effect_abbrev _0 -> true | uu____7831 -> false + let (__proj__Sig_effect_abbrev__item___0 : sigelt' -> (FStar_Ident.lident * univ_names * binders * comp * cflag Prims.list)) - = fun projectee -> match projectee with | Sig_effect_abbrev _0 -> _0 + = fun projectee -> match projectee with | Sig_effect_abbrev _0 -> _0 let (uu___is_Sig_pragma : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_pragma _0 -> true | uu____7875 -> false + fun projectee -> + match projectee with | Sig_pragma _0 -> true | uu____7886 -> false + let (__proj__Sig_pragma__item___0 : sigelt' -> pragma) = - fun projectee -> match projectee with | Sig_pragma _0 -> _0 + fun projectee -> match projectee with | Sig_pragma _0 -> _0 let (uu___is_Sig_splice : sigelt' -> Prims.bool) = - fun projectee -> - match projectee with | Sig_splice _0 -> true | uu____7900 -> false + fun projectee -> + match projectee with | Sig_splice _0 -> true | uu____7911 -> false + let (__proj__Sig_splice__item___0 : sigelt' -> (FStar_Ident.lident Prims.list * term)) = - fun projectee -> match projectee with | Sig_splice _0 -> _0 + fun projectee -> match projectee with | Sig_splice _0 -> _0 let (__proj__Mksigelt__item__sigel : sigelt -> sigelt') = - fun projectee -> + fun projectee -> match projectee with | { sigel; sigrng; sigquals; sigmeta; sigattrs;_} -> sigel + let (__proj__Mksigelt__item__sigrng : sigelt -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { sigel; sigrng; sigquals; sigmeta; sigattrs;_} -> sigrng + let (__proj__Mksigelt__item__sigquals : sigelt -> qualifier Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { sigel; sigrng; sigquals; sigmeta; sigattrs;_} -> sigquals + let (__proj__Mksigelt__item__sigmeta : sigelt -> sig_metadata) = - fun projectee -> + fun projectee -> match projectee with | { sigel; sigrng; sigquals; sigmeta; sigattrs;_} -> sigmeta + let (__proj__Mksigelt__item__sigattrs : sigelt -> attribute Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { sigel; sigrng; sigquals; sigmeta; sigattrs;_} -> sigattrs + type sigelts = sigelt Prims.list type modul = { @@ -1434,219 +1668,247 @@ type modul = exports: sigelts ; is_interface: Prims.bool } let (__proj__Mkmodul__item__name : modul -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { name; declarations; exports; is_interface;_} -> name + let (__proj__Mkmodul__item__declarations : modul -> sigelts) = - fun projectee -> + fun projectee -> match projectee with | { name; declarations; exports; is_interface;_} -> declarations + let (__proj__Mkmodul__item__exports : modul -> sigelts) = - fun projectee -> + fun projectee -> match projectee with | { name; declarations; exports; is_interface;_} -> exports + let (__proj__Mkmodul__item__is_interface : modul -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { name; declarations; exports; is_interface;_} -> is_interface -let (mod_name : modul -> FStar_Ident.lident) = fun m -> m.name + +let (mod_name : modul -> FStar_Ident.lident) = fun m -> m.name type path = Prims.string Prims.list type subst_t = subst_elt Prims.list type 'a mk_t_a = unit FStar_Pervasives_Native.option -> FStar_Range.range -> 'a syntax type mk_t = term' mk_t_a let (contains_reflectable : qualifier Prims.list -> Prims.bool) = - fun l -> + fun l -> FStar_Util.for_some - (fun uu___0_8122 -> - match uu___0_8122 with - | Reflectable uu____8124 -> true - | uu____8126 -> false) l + (fun uu___0_8133 -> + match uu___0_8133 with + | Reflectable uu____8135 -> true + | uu____8137 -> false) l + let withinfo : 'a . 'a -> FStar_Range.range -> 'a withinfo_t = - fun v1 -> fun r -> { v = v1; p = r } + fun v1 -> fun r -> { v = v1; p = r } let withsort : 'a . 'a -> 'a withinfo_t = - fun v1 -> withinfo v1 FStar_Range.dummyRange + fun v1 -> withinfo v1 FStar_Range.dummyRange let (bv_eq : bv -> bv -> Prims.bool) = - fun bv1 -> - fun bv2 -> + fun bv1 -> + fun bv2 -> ((bv1.ppname).FStar_Ident.idText = (bv2.ppname).FStar_Ident.idText) && (bv1.index = bv2.index) + let (order_bv : bv -> bv -> Prims.int) = - fun x -> - fun y -> + fun x -> + fun y -> let i = FStar_String.compare (x.ppname).FStar_Ident.idText - (y.ppname).FStar_Ident.idText in + (y.ppname).FStar_Ident.idText + in if i = (Prims.parse_int "0") then x.index - y.index else i + let (order_ident : FStar_Ident.ident -> FStar_Ident.ident -> Prims.int) = - fun x -> - fun y -> FStar_String.compare x.FStar_Ident.idText y.FStar_Ident.idText + fun x -> + fun y -> FStar_String.compare x.FStar_Ident.idText y.FStar_Ident.idText + let (order_fv : FStar_Ident.lident -> FStar_Ident.lident -> Prims.int) = - fun x -> fun y -> FStar_String.compare x.FStar_Ident.str y.FStar_Ident.str + fun x -> + fun y -> FStar_String.compare x.FStar_Ident.str y.FStar_Ident.str + let (range_of_lbname : lbname -> FStar_Range.range) = - fun l -> + fun l -> match l with | FStar_Util.Inl x -> (x.ppname).FStar_Ident.idRange | FStar_Util.Inr fv -> FStar_Ident.range_of_lid (fv.fv_name).v + let (range_of_bv : bv -> FStar_Range.range) = - fun x -> (x.ppname).FStar_Ident.idRange + fun x -> (x.ppname).FStar_Ident.idRange let (set_range_of_bv : bv -> FStar_Range.range -> bv) = - fun x -> - fun r -> - let uu___422_8244 = x in - let uu____8245 = - FStar_Ident.mk_ident (((x.ppname).FStar_Ident.idText), r) in + fun x -> + fun r -> + let uu___422_8255 = x in + let uu____8256 = + FStar_Ident.mk_ident (((x.ppname).FStar_Ident.idText), r) in { - ppname = uu____8245; - index = (uu___422_8244.index); - sort = (uu___422_8244.sort) + ppname = uu____8256; + index = (uu___422_8255.index); + sort = (uu___422_8255.sort) } + let (on_antiquoted : (term -> term) -> quoteinfo -> quoteinfo) = - fun f -> - fun qi -> + fun f -> + fun qi -> let aq = FStar_List.map - (fun uu____8282 -> - match uu____8282 with - | (bv, t) -> let uu____8293 = f t in (bv, uu____8293)) - qi.antiquotes in - let uu___430_8294 = qi in - { qkind = (uu___430_8294.qkind); antiquotes = aq } + (fun uu____8293 -> + match uu____8293 with + | (bv,t) -> let uu____8304 = f t in (bv, uu____8304)) + qi.antiquotes + in + let uu___430_8305 = qi in + { qkind = (uu___430_8305.qkind); antiquotes = aq } + let (lookup_aq : bv -> antiquotations -> term FStar_Pervasives_Native.option) = - fun bv -> - fun aq -> - let uu____8310 = + fun bv -> + fun aq -> + let uu____8321 = FStar_List.tryFind - (fun uu____8328 -> - match uu____8328 with | (bv', uu____8337) -> bv_eq bv bv') aq in - match uu____8310 with - | FStar_Pervasives_Native.Some (uu____8344, e) -> + (fun uu____8339 -> + match uu____8339 with | (bv',uu____8348) -> bv_eq bv bv') aq + in + match uu____8321 with + | FStar_Pervasives_Native.Some (uu____8355,e) -> FStar_Pervasives_Native.Some e - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + let syn : - 'Auu____8375 'Auu____8376 'Auu____8377 . - 'Auu____8375 -> - 'Auu____8376 -> - ('Auu____8376 -> 'Auu____8375 -> 'Auu____8377) -> 'Auu____8377 - = fun p -> fun k -> fun f -> f k p + 'Auu____8386 'Auu____8387 'Auu____8388 . + 'Auu____8386 -> + 'Auu____8387 -> + ('Auu____8387 -> 'Auu____8386 -> 'Auu____8388) -> 'Auu____8388 + = fun p -> fun k -> fun f -> f k p let mk_fvs : - 'Auu____8408 . - unit -> 'Auu____8408 FStar_Pervasives_Native.option FStar_ST.ref - = fun uu____8417 -> FStar_Util.mk_ref FStar_Pervasives_Native.None + 'Auu____8419 . + unit -> 'Auu____8419 FStar_Pervasives_Native.option FStar_ST.ref + = fun uu____8428 -> FStar_Util.mk_ref FStar_Pervasives_Native.None let mk_uvs : - 'Auu____8425 . - unit -> 'Auu____8425 FStar_Pervasives_Native.option FStar_ST.ref - = fun uu____8434 -> FStar_Util.mk_ref FStar_Pervasives_Native.None + 'Auu____8436 . + unit -> 'Auu____8436 FStar_Pervasives_Native.option FStar_ST.ref + = fun uu____8445 -> FStar_Util.mk_ref FStar_Pervasives_Native.None let (new_bv_set : unit -> bv FStar_Util.set) = - fun uu____8444 -> FStar_Util.new_set order_bv + fun uu____8455 -> FStar_Util.new_set order_bv let (new_id_set : unit -> FStar_Ident.ident FStar_Util.set) = - fun uu____8454 -> FStar_Util.new_set order_ident + fun uu____8465 -> FStar_Util.new_set order_ident let (new_fv_set : unit -> FStar_Ident.lident FStar_Util.set) = - fun uu____8464 -> FStar_Util.new_set order_fv + fun uu____8475 -> FStar_Util.new_set order_fv let (order_univ_name : univ_name -> univ_name -> Prims.int) = - fun x -> - fun y -> - let uu____8479 = FStar_Ident.text_of_id x in - let uu____8481 = FStar_Ident.text_of_id y in - FStar_String.compare uu____8479 uu____8481 + fun x -> + fun y -> + let uu____8490 = FStar_Ident.text_of_id x in + let uu____8492 = FStar_Ident.text_of_id y in + FStar_String.compare uu____8490 uu____8492 + let (new_universe_names_set : unit -> univ_name FStar_Util.set) = - fun uu____8490 -> FStar_Util.new_set order_univ_name + fun uu____8501 -> FStar_Util.new_set order_univ_name let (eq_binding : binding -> binding -> Prims.bool) = - fun b1 -> - fun b2 -> + fun b1 -> + fun b2 -> match (b1, b2) with - | (Binding_var bv1, Binding_var bv2) -> bv_eq bv1 bv2 - | (Binding_lid (lid1, uu____8509), Binding_lid (lid2, uu____8511)) -> + | (Binding_var bv1,Binding_var bv2) -> bv_eq bv1 bv2 + | (Binding_lid (lid1,uu____8520),Binding_lid (lid2,uu____8522)) -> FStar_Ident.lid_equals lid1 lid2 - | (Binding_univ u1, Binding_univ u2) -> FStar_Ident.ident_equals u1 u2 - | uu____8546 -> false -let (no_names : freenames) = new_bv_set () -let (no_fvars : FStar_Ident.lident FStar_Util.set) = new_fv_set () + | (Binding_univ u1,Binding_univ u2) -> FStar_Ident.ident_equals u1 u2 + | uu____8557 -> false + +let (no_names : freenames) = new_bv_set () +let (no_fvars : FStar_Ident.lident FStar_Util.set) = new_fv_set () let (no_universe_names : univ_name FStar_Util.set) = - new_universe_names_set () + new_universe_names_set () let (freenames_of_list : bv Prims.list -> freenames) = - fun l -> FStar_List.fold_right FStar_Util.set_add l no_names + fun l -> FStar_List.fold_right FStar_Util.set_add l no_names let (list_of_freenames : freenames -> bv Prims.list) = - fun fvs -> FStar_Util.set_elements fvs + fun fvs -> FStar_Util.set_elements fvs let mk : 'a . 'a -> 'a mk_t_a = - fun t -> - fun uu____8600 -> - fun r -> - let uu____8604 = FStar_Util.mk_ref FStar_Pervasives_Native.None in - { n = t; pos = r; vars = uu____8604 } + fun t -> + fun uu____8611 -> + fun r -> + let uu____8615 = FStar_Util.mk_ref FStar_Pervasives_Native.None in + { n = t; pos = r; vars = uu____8615 } + let (bv_to_tm : bv -> term) = - fun bv -> - let uu____8615 = range_of_bv bv in - mk (Tm_bvar bv) FStar_Pervasives_Native.None uu____8615 + fun bv -> + let uu____8626 = range_of_bv bv in + mk (Tm_bvar bv) FStar_Pervasives_Native.None uu____8626 + let (bv_to_name : bv -> term) = - fun bv -> - let uu____8622 = range_of_bv bv in - mk (Tm_name bv) FStar_Pervasives_Native.None uu____8622 + fun bv -> + let uu____8633 = range_of_bv bv in + mk (Tm_name bv) FStar_Pervasives_Native.None uu____8633 + let (binders_to_names : binders -> term Prims.list) = - fun bs -> + fun bs -> FStar_All.pipe_right bs (FStar_List.map - (fun uu____8652 -> - match uu____8652 with | (x, uu____8660) -> bv_to_name x)) + (fun uu____8663 -> + match uu____8663 with | (x,uu____8671) -> bv_to_name x)) + let (mk_Tm_app : term -> args -> mk_t) = - fun t1 -> - fun args -> - fun k -> - fun p -> + fun t1 -> + fun args -> + fun k -> + fun p -> match args with | [] -> t1 - | uu____8690 -> + | uu____8701 -> mk (Tm_app (t1, args)) FStar_Pervasives_Native.None p + let (mk_Tm_uinst : term -> universes -> term) = - fun t -> - fun uu___1_8715 -> - match uu___1_8715 with + fun t -> + fun uu___1_8726 -> + match uu___1_8726 with | [] -> t | us -> (match t.n with - | Tm_fvar uu____8717 -> + | Tm_fvar uu____8728 -> mk (Tm_uinst (t, us)) FStar_Pervasives_Native.None t.pos - | uu____8720 -> failwith "Unexpected universe instantiation") + | uu____8731 -> failwith "Unexpected universe instantiation") + let (extend_app_n : term -> args -> mk_t) = - fun t -> - fun args' -> - fun kopt -> - fun r -> + fun t -> + fun args' -> + fun kopt -> + fun r -> match t.n with - | Tm_app (head1, args) -> + | Tm_app (head1,args) -> mk_Tm_app head1 (FStar_List.append args args') kopt r - | uu____8779 -> mk_Tm_app t args' kopt r + | uu____8790 -> mk_Tm_app t args' kopt r + let (extend_app : term -> arg -> mk_t) = - fun t -> fun arg -> fun kopt -> fun r -> extend_app_n t [arg] kopt r + fun t -> fun arg -> fun kopt -> fun r -> extend_app_n t [arg] kopt r let (mk_Tm_delayed : (term * subst_ts) -> FStar_Range.range -> term) = - fun lr -> - fun pos -> - let uu____8836 = - let uu____8843 = - let uu____8844 = - let uu____8867 = FStar_Util.mk_ref FStar_Pervasives_Native.None in - (lr, uu____8867) in - Tm_delayed uu____8844 in - mk uu____8843 in - uu____8836 FStar_Pervasives_Native.None pos + fun lr -> + fun pos -> + let uu____8847 = + let uu____8854 = + let uu____8855 = + let uu____8878 = FStar_Util.mk_ref FStar_Pervasives_Native.None + in + (lr, uu____8878) in + Tm_delayed uu____8855 in + mk uu____8854 in + uu____8847 FStar_Pervasives_Native.None pos + let (mk_Total' : typ -> universe FStar_Pervasives_Native.option -> comp) = - fun t -> fun u -> mk (Total (t, u)) FStar_Pervasives_Native.None t.pos + fun t -> fun u -> mk (Total (t, u)) FStar_Pervasives_Native.None t.pos let (mk_GTotal' : typ -> universe FStar_Pervasives_Native.option -> comp) = - fun t -> fun u -> mk (GTotal (t, u)) FStar_Pervasives_Native.None t.pos + fun t -> fun u -> mk (GTotal (t, u)) FStar_Pervasives_Native.None t.pos let (mk_Total : typ -> comp) = - fun t -> mk_Total' t FStar_Pervasives_Native.None + fun t -> mk_Total' t FStar_Pervasives_Native.None let (mk_GTotal : typ -> comp) = - fun t -> mk_GTotal' t FStar_Pervasives_Native.None + fun t -> mk_GTotal' t FStar_Pervasives_Native.None let (mk_Comp : comp_typ -> comp) = - fun ct -> mk (Comp ct) FStar_Pervasives_Native.None (ct.result_typ).pos + fun ct -> mk (Comp ct) FStar_Pervasives_Native.None (ct.result_typ).pos let (mk_lb : (lbname * univ_name Prims.list * FStar_Ident.lident * typ * term * attribute Prims.list * FStar_Range.range) -> letbinding) = - fun uu____8975 -> - match uu____8975 with - | (x, univs, eff, t, e, attrs, pos) -> + fun uu____8986 -> + match uu____8986 with + | (x,univs,eff,t,e,attrs,pos) -> { lbname = x; lbunivs = univs; @@ -1656,10 +1918,11 @@ let (mk_lb : lbattrs = attrs; lbpos = pos } + let (default_sigmeta : sig_metadata) = - { sigmeta_active = true; sigmeta_fact_db_ids = [] } + { sigmeta_active = true; sigmeta_fact_db_ids = [] } let (mk_sigelt : sigelt' -> sigelt) = - fun e -> + fun e -> { sigel = e; sigrng = FStar_Range.dummyRange; @@ -1667,331 +1930,366 @@ let (mk_sigelt : sigelt' -> sigelt) = sigmeta = default_sigmeta; sigattrs = [] } -let (mk_subst : subst_t -> subst_t) = fun s -> s + +let (mk_subst : subst_t -> subst_t) = fun s -> s let (extend_subst : subst_elt -> subst_elt Prims.list -> subst_t) = - fun x -> fun s -> x :: s + fun x -> fun s -> x :: s let (argpos : arg -> FStar_Range.range) = - fun x -> (FStar_Pervasives_Native.fst x).pos + fun x -> (FStar_Pervasives_Native.fst x).pos let (tun : term) = - mk Tm_unknown FStar_Pervasives_Native.None FStar_Range.dummyRange + mk Tm_unknown FStar_Pervasives_Native.None FStar_Range.dummyRange let (teff : term) = mk (Tm_constant FStar_Const.Const_effect) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (is_teff : term -> Prims.bool) = - fun t -> + fun t -> match t.n with - | Tm_constant (FStar_Const.Const_effect) -> true - | uu____9060 -> false + | Tm_constant (FStar_Const.Const_effect ) -> true + | uu____9071 -> false + let (is_type : term -> Prims.bool) = - fun t -> match t.n with | Tm_type uu____9070 -> true | uu____9072 -> false + fun t -> match t.n with | Tm_type uu____9081 -> true | uu____9083 -> false let (null_id : FStar_Ident.ident) = - FStar_Ident.mk_ident ("_", FStar_Range.dummyRange) + FStar_Ident.mk_ident ("_", FStar_Range.dummyRange) let (null_bv : term -> bv) = - fun k -> { ppname = null_id; index = (Prims.parse_int "0"); sort = k } -let (mk_binder : bv -> binder) = fun a -> (a, FStar_Pervasives_Native.None) + fun k -> { ppname = null_id; index = (Prims.parse_int "0"); sort = k } +let (mk_binder : bv -> binder) = fun a -> (a, FStar_Pervasives_Native.None) let (null_binder : term -> binder) = - fun t -> - let uu____9098 = null_bv t in (uu____9098, FStar_Pervasives_Native.None) -let (imp_tag : arg_qualifier) = Implicit false + fun t -> + let uu____9109 = null_bv t in (uu____9109, FStar_Pervasives_Native.None) + +let (imp_tag : arg_qualifier) = Implicit false let (iarg : term -> arg) = - fun t -> (t, (FStar_Pervasives_Native.Some imp_tag)) -let (as_arg : term -> arg) = fun t -> (t, FStar_Pervasives_Native.None) + fun t -> (t, (FStar_Pervasives_Native.Some imp_tag)) +let (as_arg : term -> arg) = fun t -> (t, FStar_Pervasives_Native.None) let (is_null_bv : bv -> Prims.bool) = - fun b -> (b.ppname).FStar_Ident.idText = null_id.FStar_Ident.idText + fun b -> (b.ppname).FStar_Ident.idText = null_id.FStar_Ident.idText let (is_null_binder : binder -> Prims.bool) = - fun b -> is_null_bv (FStar_Pervasives_Native.fst b) + fun b -> is_null_bv (FStar_Pervasives_Native.fst b) let (is_top_level : letbinding Prims.list -> Prims.bool) = - fun uu___2_9148 -> - match uu___2_9148 with - | { lbname = FStar_Util.Inr uu____9152; lbunivs = uu____9153; - lbtyp = uu____9154; lbeff = uu____9155; lbdef = uu____9156; - lbattrs = uu____9157; lbpos = uu____9158;_}::uu____9159 -> true - | uu____9173 -> false + fun uu___2_9159 -> + match uu___2_9159 with + | { lbname = FStar_Util.Inr uu____9163; lbunivs = uu____9164; + lbtyp = uu____9165; lbeff = uu____9166; lbdef = uu____9167; + lbattrs = uu____9168; lbpos = uu____9169;_}::uu____9170 -> true + | uu____9184 -> false + let (freenames_of_binders : binders -> freenames) = - fun bs -> + fun bs -> FStar_List.fold_right - (fun uu____9195 -> - fun out -> - match uu____9195 with - | (x, uu____9208) -> FStar_Util.set_add x out) bs no_names + (fun uu____9206 -> + fun out -> + match uu____9206 with | (x,uu____9219) -> FStar_Util.set_add x out) + bs no_names + let (binders_of_list : bv Prims.list -> binders) = - fun fvs -> + fun fvs -> FStar_All.pipe_right fvs - (FStar_List.map (fun t -> (t, FStar_Pervasives_Native.None))) + (FStar_List.map (fun t -> (t, FStar_Pervasives_Native.None))) + let (binders_of_freenames : freenames -> binders) = - fun fvs -> - let uu____9241 = FStar_Util.set_elements fvs in - FStar_All.pipe_right uu____9241 binders_of_list + fun fvs -> + let uu____9252 = FStar_Util.set_elements fvs in + FStar_All.pipe_right uu____9252 binders_of_list + let (is_implicit : aqual -> Prims.bool) = - fun uu___3_9252 -> - match uu___3_9252 with - | FStar_Pervasives_Native.Some (Implicit uu____9254) -> true - | uu____9257 -> false + fun uu___3_9263 -> + match uu___3_9263 with + | FStar_Pervasives_Native.Some (Implicit uu____9265) -> true + | uu____9268 -> false + let (as_implicit : Prims.bool -> aqual) = - fun uu___4_9265 -> - if uu___4_9265 + fun uu___4_9276 -> + if uu___4_9276 then FStar_Pervasives_Native.Some imp_tag else FStar_Pervasives_Native.None + let (pat_bvs : pat -> bv Prims.list) = - fun p -> + fun p -> let rec aux b p1 = match p1.v with - | Pat_dot_term uu____9303 -> b - | Pat_constant uu____9310 -> b + | Pat_dot_term uu____9314 -> b + | Pat_constant uu____9321 -> b | Pat_wild x -> x :: b | Pat_var x -> x :: b - | Pat_cons (uu____9313, pats) -> + | Pat_cons (uu____9324,pats) -> FStar_List.fold_left - (fun b1 -> - fun uu____9347 -> - match uu____9347 with | (p2, uu____9360) -> aux b1 p2) b - pats in - let uu____9367 = aux [] p in - FStar_All.pipe_left FStar_List.rev uu____9367 + (fun b1 -> + fun uu____9358 -> + match uu____9358 with | (p2,uu____9371) -> aux b1 p2) b pats + in + let uu____9378 = aux [] p in + FStar_All.pipe_left FStar_List.rev uu____9378 + let (range_of_ropt : FStar_Range.range FStar_Pervasives_Native.option -> FStar_Range.range) = - fun uu___5_9381 -> - match uu___5_9381 with - | FStar_Pervasives_Native.None -> FStar_Range.dummyRange + fun uu___5_9392 -> + match uu___5_9392 with + | FStar_Pervasives_Native.None -> FStar_Range.dummyRange | FStar_Pervasives_Native.Some r -> r + let (gen_bv : Prims.string -> FStar_Range.range FStar_Pervasives_Native.option -> typ -> bv) = - fun s -> - fun r -> - fun t -> - let id1 = FStar_Ident.mk_ident (s, (range_of_ropt r)) in - let uu____9421 = FStar_Ident.next_id () in - { ppname = id1; index = uu____9421; sort = t } + fun s -> + fun r -> + fun t -> + let id1 = FStar_Ident.mk_ident (s, (range_of_ropt r)) in + let uu____9432 = FStar_Ident.next_id () in + { ppname = id1; index = uu____9432; sort = t } + let (new_bv : FStar_Range.range FStar_Pervasives_Native.option -> typ -> bv) - = fun ropt -> fun t -> gen_bv FStar_Ident.reserved_prefix ropt t + = fun ropt -> fun t -> gen_bv FStar_Ident.reserved_prefix ropt t let (freshen_bv : bv -> bv) = - fun bv -> - let uu____9444 = is_null_bv bv in - if uu____9444 + fun bv -> + let uu____9455 = is_null_bv bv in + if uu____9455 then - let uu____9447 = - let uu____9450 = range_of_bv bv in - FStar_Pervasives_Native.Some uu____9450 in - new_bv uu____9447 bv.sort + let uu____9458 = + let uu____9461 = range_of_bv bv in + FStar_Pervasives_Native.Some uu____9461 in + new_bv uu____9458 bv.sort else - (let uu___611_9453 = bv in - let uu____9454 = FStar_Ident.next_id () in + (let uu___611_9464 = bv in + let uu____9465 = FStar_Ident.next_id () in { - ppname = (uu___611_9453.ppname); - index = uu____9454; - sort = (uu___611_9453.sort) + ppname = (uu___611_9464.ppname); + index = uu____9465; + sort = (uu___611_9464.sort) }) + let (freshen_binder : binder -> binder) = - fun b -> - let uu____9462 = b in - match uu____9462 with - | (bv, aq) -> let uu____9469 = freshen_bv bv in (uu____9469, aq) + fun b -> + let uu____9473 = b in + match uu____9473 with + | (bv,aq) -> let uu____9480 = freshen_bv bv in (uu____9480, aq) + let (new_univ_name : FStar_Range.range FStar_Pervasives_Native.option -> univ_name) = - fun ropt -> - let id1 = FStar_Ident.next_id () in - let uu____9484 = - let uu____9490 = - let uu____9492 = FStar_Util.string_of_int id1 in - Prims.op_Hat FStar_Ident.reserved_prefix uu____9492 in - (uu____9490, (range_of_ropt ropt)) in - FStar_Ident.mk_ident uu____9484 + fun ropt -> + let id1 = FStar_Ident.next_id () in + let uu____9495 = + let uu____9501 = + let uu____9503 = FStar_Util.string_of_int id1 in + Prims.op_Hat FStar_Ident.reserved_prefix uu____9503 in + (uu____9501, (range_of_ropt ropt)) in + FStar_Ident.mk_ident uu____9495 + let (mkbv : FStar_Ident.ident -> Prims.int -> term' syntax -> bv) = - fun x -> fun y -> fun t -> { ppname = x; index = y; sort = t } + fun x -> fun y -> fun t -> { ppname = x; index = y; sort = t } let (lbname_eq : - (bv, FStar_Ident.lident) FStar_Util.either -> - (bv, FStar_Ident.lident) FStar_Util.either -> Prims.bool) + (bv,FStar_Ident.lident) FStar_Util.either -> + (bv,FStar_Ident.lident) FStar_Util.either -> Prims.bool) = - fun l1 -> - fun l2 -> + fun l1 -> + fun l2 -> match (l1, l2) with - | (FStar_Util.Inl x, FStar_Util.Inl y) -> bv_eq x y - | (FStar_Util.Inr l, FStar_Util.Inr m) -> FStar_Ident.lid_equals l m - | uu____9574 -> false + | (FStar_Util.Inl x,FStar_Util.Inl y) -> bv_eq x y + | (FStar_Util.Inr l,FStar_Util.Inr m) -> FStar_Ident.lid_equals l m + | uu____9585 -> false + let (fv_eq : fv -> fv -> Prims.bool) = - fun fv1 -> - fun fv2 -> FStar_Ident.lid_equals (fv1.fv_name).v (fv2.fv_name).v + fun fv1 -> + fun fv2 -> FStar_Ident.lid_equals (fv1.fv_name).v (fv2.fv_name).v + let (fv_eq_lid : fv -> FStar_Ident.lident -> Prims.bool) = - fun fv -> fun lid -> FStar_Ident.lid_equals (fv.fv_name).v lid + fun fv -> fun lid -> FStar_Ident.lid_equals (fv.fv_name).v lid let (set_bv_range : bv -> FStar_Range.range -> bv) = - fun bv -> - fun r -> - let uu___641_9623 = bv in - let uu____9624 = - FStar_Ident.mk_ident (((bv.ppname).FStar_Ident.idText), r) in + fun bv -> + fun r -> + let uu___641_9634 = bv in + let uu____9635 = + FStar_Ident.mk_ident (((bv.ppname).FStar_Ident.idText), r) in { - ppname = uu____9624; - index = (uu___641_9623.index); - sort = (uu___641_9623.sort) + ppname = uu____9635; + index = (uu___641_9634.index); + sort = (uu___641_9634.sort) } + let (lid_as_fv : FStar_Ident.lident -> delta_depth -> fv_qual FStar_Pervasives_Native.option -> fv) = - fun l -> - fun dd -> - fun dq -> - let uu____9646 = - let uu____9647 = FStar_Ident.range_of_lid l in - withinfo l uu____9647 in - { fv_name = uu____9646; fv_delta = dd; fv_qual = dq } + fun l -> + fun dd -> + fun dq -> + let uu____9657 = + let uu____9658 = FStar_Ident.range_of_lid l in + withinfo l uu____9658 in + { fv_name = uu____9657; fv_delta = dd; fv_qual = dq } + let (fv_to_tm : fv -> term) = - fun fv -> - let uu____9654 = FStar_Ident.range_of_lid (fv.fv_name).v in - mk (Tm_fvar fv) FStar_Pervasives_Native.None uu____9654 + fun fv -> + let uu____9665 = FStar_Ident.range_of_lid (fv.fv_name).v in + mk (Tm_fvar fv) FStar_Pervasives_Native.None uu____9665 + let (fvar : FStar_Ident.lident -> delta_depth -> fv_qual FStar_Pervasives_Native.option -> term) = - fun l -> - fun dd -> - fun dq -> let uu____9675 = lid_as_fv l dd dq in fv_to_tm uu____9675 -let (lid_of_fv : fv -> FStar_Ident.lid) = fun fv -> (fv.fv_name).v + fun l -> + fun dd -> + fun dq -> let uu____9686 = lid_as_fv l dd dq in fv_to_tm uu____9686 + +let (lid_of_fv : fv -> FStar_Ident.lid) = fun fv -> (fv.fv_name).v let (range_of_fv : fv -> FStar_Range.range) = - fun fv -> - let uu____9688 = lid_of_fv fv in FStar_Ident.range_of_lid uu____9688 + fun fv -> + let uu____9699 = lid_of_fv fv in FStar_Ident.range_of_lid uu____9699 + let (set_range_of_fv : fv -> FStar_Range.range -> fv) = - fun fv -> - fun r -> - let uu___654_9700 = fv in - let uu____9701 = - let uu___656_9702 = fv.fv_name in - let uu____9703 = - let uu____9704 = lid_of_fv fv in - FStar_Ident.set_lid_range uu____9704 r in - { v = uu____9703; p = (uu___656_9702.p) } in + fun fv -> + fun r -> + let uu___654_9711 = fv in + let uu____9712 = + let uu___656_9713 = fv.fv_name in + let uu____9714 = + let uu____9715 = lid_of_fv fv in + FStar_Ident.set_lid_range uu____9715 r in + { v = uu____9714; p = (uu___656_9713.p) } in { - fv_name = uu____9701; - fv_delta = (uu___654_9700.fv_delta); - fv_qual = (uu___654_9700.fv_qual) + fv_name = uu____9712; + fv_delta = (uu___654_9711.fv_delta); + fv_qual = (uu___654_9711.fv_qual) } + let (has_simple_attribute : term Prims.list -> Prims.string -> Prims.bool) = - fun l -> - fun s -> + fun l -> + fun s -> FStar_List.existsb - (fun uu___6_9730 -> - match uu___6_9730 with - | { n = Tm_constant (FStar_Const.Const_string (data, uu____9735)); - pos = uu____9736; vars = uu____9737;_} when data = s -> true - | uu____9744 -> false) l + (fun uu___6_9741 -> + match uu___6_9741 with + | { n = Tm_constant (FStar_Const.Const_string (data,uu____9746)); + pos = uu____9747; vars = uu____9748;_} when data = s -> true + | uu____9755 -> false) l + let rec (eq_pat : pat -> pat -> Prims.bool) = - fun p1 -> - fun p2 -> + fun p1 -> + fun p2 -> match ((p1.v), (p2.v)) with - | (Pat_constant c1, Pat_constant c2) -> FStar_Const.eq_const c1 c2 - | (Pat_cons (fv1, as1), Pat_cons (fv2, as2)) -> - let uu____9803 = fv_eq fv1 fv2 in - if uu____9803 + | (Pat_constant c1,Pat_constant c2) -> FStar_Const.eq_const c1 c2 + | (Pat_cons (fv1,as1),Pat_cons (fv2,as2)) -> + let uu____9814 = fv_eq fv1 fv2 in + if uu____9814 then - let uu____9808 = FStar_List.zip as1 as2 in - FStar_All.pipe_right uu____9808 + let uu____9819 = FStar_List.zip as1 as2 in + FStar_All.pipe_right uu____9819 (FStar_List.for_all - (fun uu____9875 -> - match uu____9875 with - | ((p11, b1), (p21, b2)) -> (b1 = b2) && (eq_pat p11 p21))) + (fun uu____9886 -> + match uu____9886 with + | ((p11,b1),(p21,b2)) -> (b1 = b2) && (eq_pat p11 p21))) else false - | (Pat_var uu____9913, Pat_var uu____9914) -> true - | (Pat_wild uu____9916, Pat_wild uu____9917) -> true - | (Pat_dot_term (bv1, t1), Pat_dot_term (bv2, t2)) -> true - | (uu____9932, uu____9933) -> false + | (Pat_var uu____9924,Pat_var uu____9925) -> true + | (Pat_wild uu____9927,Pat_wild uu____9928) -> true + | (Pat_dot_term (bv1,t1),Pat_dot_term (bv2,t2)) -> true + | (uu____9943,uu____9944) -> false + let (delta_constant : delta_depth) = - Delta_constant_at_level (Prims.parse_int "0") + Delta_constant_at_level (Prims.parse_int "0") let (delta_equational : delta_depth) = - Delta_equational_at_level (Prims.parse_int "0") + Delta_equational_at_level (Prims.parse_int "0") let (fvconst : FStar_Ident.lident -> fv) = - fun l -> lid_as_fv l delta_constant FStar_Pervasives_Native.None + fun l -> lid_as_fv l delta_constant FStar_Pervasives_Native.None let (tconst : FStar_Ident.lident -> term) = - fun l -> - let uu____9951 = - let uu____9958 = let uu____9959 = fvconst l in Tm_fvar uu____9959 in - mk uu____9958 in - uu____9951 FStar_Pervasives_Native.None FStar_Range.dummyRange + fun l -> + let uu____9962 = + let uu____9969 = let uu____9970 = fvconst l in Tm_fvar uu____9970 in + mk uu____9969 in + uu____9962 FStar_Pervasives_Native.None FStar_Range.dummyRange + let (tabbrev : FStar_Ident.lident -> term) = - fun l -> - let uu____9966 = - let uu____9973 = - let uu____9974 = + fun l -> + let uu____9977 = + let uu____9984 = + let uu____9985 = lid_as_fv l (Delta_constant_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in - Tm_fvar uu____9974 in - mk uu____9973 in - uu____9966 FStar_Pervasives_Native.None FStar_Range.dummyRange + FStar_Pervasives_Native.None + in + Tm_fvar uu____9985 in + mk uu____9984 in + uu____9977 FStar_Pervasives_Native.None FStar_Range.dummyRange + let (tdataconstr : FStar_Ident.lident -> term) = - fun l -> - let uu____9982 = - lid_as_fv l delta_constant (FStar_Pervasives_Native.Some Data_ctor) in - fv_to_tm uu____9982 -let (t_unit : term) = tconst FStar_Parser_Const.unit_lid -let (t_bool : term) = tconst FStar_Parser_Const.bool_lid -let (t_int : term) = tconst FStar_Parser_Const.int_lid -let (t_string : term) = tconst FStar_Parser_Const.string_lid -let (t_exn : term) = tconst FStar_Parser_Const.exn_lid -let (t_real : term) = tconst FStar_Parser_Const.real_lid -let (t_float : term) = tconst FStar_Parser_Const.float_lid -let (t_char : term) = tabbrev FStar_Parser_Const.char_lid -let (t_range : term) = tconst FStar_Parser_Const.range_lid -let (t_term : term) = tconst FStar_Parser_Const.term_lid -let (t_order : term) = tconst FStar_Parser_Const.order_lid -let (t_decls : term) = tabbrev FStar_Parser_Const.decls_lid -let (t_binder : term) = tconst FStar_Parser_Const.binder_lid -let (t_binders : term) = tconst FStar_Parser_Const.binders_lid -let (t_bv : term) = tconst FStar_Parser_Const.bv_lid -let (t_fv : term) = tconst FStar_Parser_Const.fv_lid -let (t_norm_step : term) = tconst FStar_Parser_Const.norm_step_lid + fun l -> + let uu____9993 = + lid_as_fv l delta_constant (FStar_Pervasives_Native.Some Data_ctor) in + fv_to_tm uu____9993 + +let (t_unit : term) = tconst FStar_Parser_Const.unit_lid +let (t_bool : term) = tconst FStar_Parser_Const.bool_lid +let (t_int : term) = tconst FStar_Parser_Const.int_lid +let (t_string : term) = tconst FStar_Parser_Const.string_lid +let (t_exn : term) = tconst FStar_Parser_Const.exn_lid +let (t_real : term) = tconst FStar_Parser_Const.real_lid +let (t_float : term) = tconst FStar_Parser_Const.float_lid +let (t_char : term) = tabbrev FStar_Parser_Const.char_lid +let (t_range : term) = tconst FStar_Parser_Const.range_lid +let (t_term : term) = tconst FStar_Parser_Const.term_lid +let (t_order : term) = tconst FStar_Parser_Const.order_lid +let (t_decls : term) = tabbrev FStar_Parser_Const.decls_lid +let (t_binder : term) = tconst FStar_Parser_Const.binder_lid +let (t_binders : term) = tconst FStar_Parser_Const.binders_lid +let (t_bv : term) = tconst FStar_Parser_Const.bv_lid +let (t_fv : term) = tconst FStar_Parser_Const.fv_lid +let (t_norm_step : term) = tconst FStar_Parser_Const.norm_step_lid let (t_tactic_unit : term) = - let uu____10001 = - let uu____10006 = - let uu____10007 = tabbrev FStar_Parser_Const.tactic_lid in - mk_Tm_uinst uu____10007 [U_zero] in - let uu____10008 = let uu____10009 = as_arg t_unit in [uu____10009] in - mk_Tm_app uu____10006 uu____10008 in - uu____10001 FStar_Pervasives_Native.None FStar_Range.dummyRange + let uu____10012 = + let uu____10017 = + let uu____10018 = tabbrev FStar_Parser_Const.tactic_lid in + mk_Tm_uinst uu____10018 [U_zero] in + let uu____10019 = let uu____10020 = as_arg t_unit in [uu____10020] in + mk_Tm_app uu____10017 uu____10019 in + uu____10012 FStar_Pervasives_Native.None FStar_Range.dummyRange let (t_list_of : term -> term) = - fun t -> - let uu____10040 = - let uu____10045 = - let uu____10046 = tabbrev FStar_Parser_Const.list_lid in - mk_Tm_uinst uu____10046 [U_zero] in - let uu____10047 = let uu____10048 = as_arg t in [uu____10048] in - mk_Tm_app uu____10045 uu____10047 in - uu____10040 FStar_Pervasives_Native.None FStar_Range.dummyRange + fun t -> + let uu____10051 = + let uu____10056 = + let uu____10057 = tabbrev FStar_Parser_Const.list_lid in + mk_Tm_uinst uu____10057 [U_zero] in + let uu____10058 = let uu____10059 = as_arg t in [uu____10059] in + mk_Tm_app uu____10056 uu____10058 in + uu____10051 FStar_Pervasives_Native.None FStar_Range.dummyRange + let (t_option_of : term -> term) = - fun t -> - let uu____10079 = - let uu____10084 = - let uu____10085 = tabbrev FStar_Parser_Const.option_lid in - mk_Tm_uinst uu____10085 [U_zero] in - let uu____10086 = let uu____10087 = as_arg t in [uu____10087] in - mk_Tm_app uu____10084 uu____10086 in - uu____10079 FStar_Pervasives_Native.None FStar_Range.dummyRange + fun t -> + let uu____10090 = + let uu____10095 = + let uu____10096 = tabbrev FStar_Parser_Const.option_lid in + mk_Tm_uinst uu____10096 [U_zero] in + let uu____10097 = let uu____10098 = as_arg t in [uu____10098] in + mk_Tm_app uu____10095 uu____10097 in + uu____10090 FStar_Pervasives_Native.None FStar_Range.dummyRange + let (t_tuple2_of : term -> term -> term) = - fun t1 -> - fun t2 -> - let uu____10123 = - let uu____10128 = - let uu____10129 = tabbrev FStar_Parser_Const.lid_tuple2 in - mk_Tm_uinst uu____10129 [U_zero; U_zero] in - let uu____10130 = - let uu____10131 = as_arg t1 in - let uu____10140 = let uu____10151 = as_arg t2 in [uu____10151] in - uu____10131 :: uu____10140 in - mk_Tm_app uu____10128 uu____10130 in - uu____10123 FStar_Pervasives_Native.None FStar_Range.dummyRange + fun t1 -> + fun t2 -> + let uu____10134 = + let uu____10139 = + let uu____10140 = tabbrev FStar_Parser_Const.lid_tuple2 in + mk_Tm_uinst uu____10140 [U_zero; U_zero] in + let uu____10141 = + let uu____10142 = as_arg t1 in + let uu____10151 = let uu____10162 = as_arg t2 in [uu____10162] in + uu____10142 :: uu____10151 in + mk_Tm_app uu____10139 uu____10141 in + uu____10134 FStar_Pervasives_Native.None FStar_Range.dummyRange + let (t_either_of : term -> term -> term) = - fun t1 -> - fun t2 -> - let uu____10195 = - let uu____10200 = - let uu____10201 = tabbrev FStar_Parser_Const.either_lid in - mk_Tm_uinst uu____10201 [U_zero; U_zero] in - let uu____10202 = - let uu____10203 = as_arg t1 in - let uu____10212 = let uu____10223 = as_arg t2 in [uu____10223] in - uu____10203 :: uu____10212 in - mk_Tm_app uu____10200 uu____10202 in - uu____10195 FStar_Pervasives_Native.None FStar_Range.dummyRange + fun t1 -> + fun t2 -> + let uu____10206 = + let uu____10211 = + let uu____10212 = tabbrev FStar_Parser_Const.either_lid in + mk_Tm_uinst uu____10212 [U_zero; U_zero] in + let uu____10213 = + let uu____10214 = as_arg t1 in + let uu____10223 = let uu____10234 = as_arg t2 in [uu____10234] in + uu____10214 :: uu____10223 in + mk_Tm_app uu____10211 uu____10213 in + uu____10206 FStar_Pervasives_Native.None FStar_Range.dummyRange + let (unit_const : term) = mk (Tm_constant FStar_Const.Const_unit) FStar_Pervasives_Native.None - FStar_Range.dummyRange \ No newline at end of file + FStar_Range.dummyRange + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Syntax_Unionfind.ml b/src/ocaml-output/FStar_Syntax_Unionfind.ml index e6433fcf396..8fe801b52db 100644 --- a/src/ocaml-output/FStar_Syntax_Unionfind.ml +++ b/src/ocaml-output/FStar_Syntax_Unionfind.ml @@ -5,30 +5,33 @@ type vops_t = next_minor: unit -> FStar_Syntax_Syntax.version } let (__proj__Mkvops_t__item__next_major : vops_t -> unit -> FStar_Syntax_Syntax.version) = - fun projectee -> + fun projectee -> match projectee with | { next_major; next_minor;_} -> next_major + let (__proj__Mkvops_t__item__next_minor : vops_t -> unit -> FStar_Syntax_Syntax.version) = - fun projectee -> + fun projectee -> match projectee with | { next_major; next_minor;_} -> next_minor + let (vops : vops_t) = - let major = FStar_Util.mk_ref (Prims.parse_int "0") in - let minor = FStar_Util.mk_ref (Prims.parse_int "0") in + let major = FStar_Util.mk_ref (Prims.parse_int "0") in + let minor = FStar_Util.mk_ref (Prims.parse_int "0") in let next_major uu____85 = FStar_ST.op_Colon_Equals minor (Prims.parse_int "0"); - (let uu____109 = FStar_Util.incr major; FStar_ST.op_Bang major in + (let uu____109 = FStar_Util.incr major; FStar_ST.op_Bang major in { FStar_Syntax_Syntax.major = uu____109; FStar_Syntax_Syntax.minor = (Prims.parse_int "0") - }) in + }) + in let next_minor uu____139 = - let uu____140 = FStar_ST.op_Bang major in - let uu____163 = FStar_Util.incr minor; FStar_ST.op_Bang minor in + let uu____140 = FStar_ST.op_Bang major in + let uu____163 = FStar_Util.incr minor; FStar_ST.op_Bang minor in { FStar_Syntax_Syntax.major = uu____140; FStar_Syntax_Syntax.minor = uu____163 - } in - { next_major; next_minor } + } in + { next_major; next_minor } type tgraph = FStar_Syntax_Syntax.term FStar_Pervasives_Native.option FStar_Unionfind.puf type ugraph = @@ -40,74 +43,84 @@ type uf = univ_graph: ugraph ; version: FStar_Syntax_Syntax.version } let (__proj__Mkuf__item__term_graph : uf -> tgraph) = - fun projectee -> + fun projectee -> match projectee with | { term_graph; univ_graph; version;_} -> term_graph + let (__proj__Mkuf__item__univ_graph : uf -> ugraph) = - fun projectee -> + fun projectee -> match projectee with | { term_graph; univ_graph; version;_} -> univ_graph + let (__proj__Mkuf__item__version : uf -> FStar_Syntax_Syntax.version) = - fun projectee -> + fun projectee -> match projectee with | { term_graph; univ_graph; version;_} -> version + let (empty : FStar_Syntax_Syntax.version -> uf) = - fun v1 -> - let uu____243 = FStar_Unionfind.puf_empty () in - let uu____246 = FStar_Unionfind.puf_empty () in + fun v1 -> + let uu____243 = FStar_Unionfind.puf_empty () in + let uu____246 = FStar_Unionfind.puf_empty () in { term_graph = uu____243; univ_graph = uu____246; version = v1 } + let (version_to_string : FStar_Syntax_Syntax.version -> Prims.string) = - fun v1 -> - let uu____256 = FStar_Util.string_of_int v1.FStar_Syntax_Syntax.major in - let uu____258 = FStar_Util.string_of_int v1.FStar_Syntax_Syntax.minor in + fun v1 -> + let uu____256 = FStar_Util.string_of_int v1.FStar_Syntax_Syntax.major in + let uu____258 = FStar_Util.string_of_int v1.FStar_Syntax_Syntax.minor in FStar_Util.format2 "%s.%s" uu____256 uu____258 + let (state : uf FStar_ST.ref) = - let uu____264 = let uu____265 = vops.next_major () in empty uu____265 in - FStar_Util.mk_ref uu____264 + let uu____264 = let uu____265 = vops.next_major () in empty uu____265 in + FStar_Util.mk_ref uu____264 type tx = | TX of uf -let (uu___is_TX : tx -> Prims.bool) = fun projectee -> true +let (uu___is_TX : tx -> Prims.bool) = fun projectee -> true let (__proj__TX__item___0 : tx -> uf) = - fun projectee -> match projectee with | TX _0 -> _0 -let (get : unit -> uf) = fun uu____291 -> FStar_ST.op_Bang state -let (set : uf -> unit) = fun u -> FStar_ST.op_Colon_Equals state u + fun projectee -> match projectee with | TX _0 -> _0 +let (get : unit -> uf) = fun uu____291 -> FStar_ST.op_Bang state +let (set : uf -> unit) = fun u -> FStar_ST.op_Colon_Equals state u let (reset : unit -> unit) = - fun uu____341 -> - let v1 = vops.next_major () in let uu____343 = empty v1 in set uu____343 + fun uu____341 -> + let v1 = vops.next_major () in + let uu____343 = empty v1 in set uu____343 + let (new_transaction : unit -> tx) = - fun uu____349 -> - let tx = let uu____351 = get () in TX uu____351 in + fun uu____349 -> + let tx = let uu____351 = get () in TX uu____351 in (let uu____353 = - let uu___34_354 = get () in - let uu____355 = vops.next_minor () in + let uu___34_354 = get () in + let uu____355 = vops.next_minor () in { term_graph = (uu___34_354.term_graph); univ_graph = (uu___34_354.univ_graph); version = uu____355 - } in + } in set uu____353); tx -let (commit : tx -> unit) = fun tx -> () + +let (commit : tx -> unit) = fun tx -> () let (rollback : tx -> unit) = - fun uu____367 -> match uu____367 with | TX uf -> set uf -let update_in_tx : 'a . 'a FStar_ST.ref -> 'a -> unit = fun r -> fun x -> () + fun uu____367 -> match uu____367 with | TX uf -> set uf +let update_in_tx : 'a . 'a FStar_ST.ref -> 'a -> unit = + fun r -> fun x -> () let (get_term_graph : unit -> tgraph) = - fun uu____396 -> let uu____397 = get () in uu____397.term_graph + fun uu____396 -> let uu____397 = get () in uu____397.term_graph let (get_version : unit -> FStar_Syntax_Syntax.version) = - fun uu____403 -> let uu____404 = get () in uu____404.version + fun uu____403 -> let uu____404 = get () in uu____404.version let (set_term_graph : tgraph -> unit) = - fun tg -> + fun tg -> let uu____411 = - let uu___47_412 = get () in + let uu___47_412 = get () in { term_graph = tg; univ_graph = (uu___47_412.univ_graph); version = (uu___47_412.version) - } in + } in set uu____411 + let chk_v : 'Auu____418 . ('Auu____418 * FStar_Syntax_Syntax.version) -> 'Auu____418 = - fun uu____427 -> + fun uu____427 -> match uu____427 with - | (u, v1) -> - let expected = get_version () in + | (u,v1) -> + let expected = get_version () in if (v1.FStar_Syntax_Syntax.major = expected.FStar_Syntax_Syntax.major) && @@ -116,126 +129,145 @@ let chk_v : then u else (let uu____439 = - let uu____441 = version_to_string expected in - let uu____443 = version_to_string v1 in + let uu____441 = version_to_string expected in + let uu____443 = version_to_string v1 in FStar_Util.format2 "Incompatible version for unification variable: current version is %s; got version %s" - uu____441 uu____443 in + uu____441 uu____443 + in failwith uu____439) + let (uvar_id : FStar_Syntax_Syntax.uvar -> Prims.int) = - fun u -> - let uu____453 = get_term_graph () in - let uu____458 = chk_v u in FStar_Unionfind.puf_id uu____453 uu____458 + fun u -> + let uu____453 = get_term_graph () in + let uu____458 = chk_v u in FStar_Unionfind.puf_id uu____453 uu____458 + let (from_id : Prims.int -> FStar_Syntax_Syntax.uvar) = - fun n1 -> + fun n1 -> let uu____479 = - let uu____486 = get_term_graph () in - FStar_Unionfind.puf_fromid uu____486 n1 in - let uu____493 = get_version () in (uu____479, uu____493) + let uu____486 = get_term_graph () in + FStar_Unionfind.puf_fromid uu____486 n1 in + let uu____493 = get_version () in (uu____479, uu____493) + let (fresh : unit -> FStar_Syntax_Syntax.uvar) = - fun uu____505 -> + fun uu____505 -> let uu____506 = - let uu____513 = get_term_graph () in - FStar_Unionfind.puf_fresh uu____513 FStar_Pervasives_Native.None in - let uu____520 = get_version () in (uu____506, uu____520) + let uu____513 = get_term_graph () in + FStar_Unionfind.puf_fresh uu____513 FStar_Pervasives_Native.None in + let uu____520 = get_version () in (uu____506, uu____520) + let (find : FStar_Syntax_Syntax.uvar -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun u -> - let uu____535 = get_term_graph () in - let uu____540 = chk_v u in FStar_Unionfind.puf_find uu____535 uu____540 + fun u -> + let uu____535 = get_term_graph () in + let uu____540 = chk_v u in FStar_Unionfind.puf_find uu____535 uu____540 + let (change : FStar_Syntax_Syntax.uvar -> FStar_Syntax_Syntax.term -> unit) = - fun u -> - fun t -> + fun u -> + fun t -> let uu____564 = - let uu____565 = get_term_graph () in - let uu____570 = chk_v u in + let uu____565 = get_term_graph () in + let uu____570 = chk_v u in FStar_Unionfind.puf_change uu____565 uu____570 - (FStar_Pervasives_Native.Some t) in + (FStar_Pervasives_Native.Some t) + in set_term_graph uu____564 + let (equiv : FStar_Syntax_Syntax.uvar -> FStar_Syntax_Syntax.uvar -> Prims.bool) = - fun u -> - fun v1 -> - let uu____595 = get_term_graph () in - let uu____600 = chk_v u in - let uu____611 = chk_v v1 in + fun u -> + fun v1 -> + let uu____595 = get_term_graph () in + let uu____600 = chk_v u in + let uu____611 = chk_v v1 in FStar_Unionfind.puf_equivalent uu____595 uu____600 uu____611 + let (union : FStar_Syntax_Syntax.uvar -> FStar_Syntax_Syntax.uvar -> unit) = - fun u -> - fun v1 -> + fun u -> + fun v1 -> let uu____635 = - let uu____636 = get_term_graph () in - let uu____641 = chk_v u in - let uu____652 = chk_v v1 in - FStar_Unionfind.puf_union uu____636 uu____641 uu____652 in + let uu____636 = get_term_graph () in + let uu____641 = chk_v u in + let uu____652 = chk_v v1 in + FStar_Unionfind.puf_union uu____636 uu____641 uu____652 in set_term_graph uu____635 + let (get_univ_graph : unit -> ugraph) = - fun uu____670 -> let uu____671 = get () in uu____671.univ_graph + fun uu____670 -> let uu____671 = get () in uu____671.univ_graph let (set_univ_graph : ugraph -> unit) = - fun ug -> + fun ug -> let uu____678 = - let uu___66_679 = get () in + let uu___66_679 = get () in { term_graph = (uu___66_679.term_graph); univ_graph = ug; version = (uu___66_679.version) - } in + } in set uu____678 + let (univ_uvar_id : FStar_Syntax_Syntax.universe_uvar -> Prims.int) = - fun u -> - let uu____687 = get_univ_graph () in - let uu____692 = chk_v u in FStar_Unionfind.puf_id uu____687 uu____692 + fun u -> + let uu____687 = get_univ_graph () in + let uu____692 = chk_v u in FStar_Unionfind.puf_id uu____687 uu____692 + let (univ_from_id : Prims.int -> FStar_Syntax_Syntax.universe_uvar) = - fun n1 -> + fun n1 -> let uu____711 = - let uu____716 = get_univ_graph () in - FStar_Unionfind.puf_fromid uu____716 n1 in - let uu____723 = get_version () in (uu____711, uu____723) + let uu____716 = get_univ_graph () in + FStar_Unionfind.puf_fromid uu____716 n1 in + let uu____723 = get_version () in (uu____711, uu____723) + let (univ_fresh : unit -> FStar_Syntax_Syntax.universe_uvar) = - fun uu____733 -> + fun uu____733 -> let uu____734 = - let uu____739 = get_univ_graph () in - FStar_Unionfind.puf_fresh uu____739 FStar_Pervasives_Native.None in - let uu____746 = get_version () in (uu____734, uu____746) + let uu____739 = get_univ_graph () in + FStar_Unionfind.puf_fresh uu____739 FStar_Pervasives_Native.None in + let uu____746 = get_version () in (uu____734, uu____746) + let (univ_find : FStar_Syntax_Syntax.universe_uvar -> FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option) = - fun u -> - let uu____759 = get_univ_graph () in - let uu____764 = chk_v u in FStar_Unionfind.puf_find uu____759 uu____764 + fun u -> + let uu____759 = get_univ_graph () in + let uu____764 = chk_v u in FStar_Unionfind.puf_find uu____759 uu____764 + let (univ_change : FStar_Syntax_Syntax.universe_uvar -> FStar_Syntax_Syntax.universe -> unit) = - fun u -> - fun t -> + fun u -> + fun t -> let uu____786 = - let uu____787 = get_univ_graph () in - let uu____792 = chk_v u in + let uu____787 = get_univ_graph () in + let uu____792 = chk_v u in FStar_Unionfind.puf_change uu____787 uu____792 - (FStar_Pervasives_Native.Some t) in + (FStar_Pervasives_Native.Some t) + in set_univ_graph uu____786 + let (univ_equiv : FStar_Syntax_Syntax.universe_uvar -> FStar_Syntax_Syntax.universe_uvar -> Prims.bool) = - fun u -> - fun v1 -> - let uu____815 = get_univ_graph () in - let uu____820 = chk_v u in - let uu____829 = chk_v v1 in + fun u -> + fun v1 -> + let uu____815 = get_univ_graph () in + let uu____820 = chk_v u in + let uu____829 = chk_v v1 in FStar_Unionfind.puf_equivalent uu____815 uu____820 uu____829 + let (univ_union : FStar_Syntax_Syntax.universe_uvar -> FStar_Syntax_Syntax.universe_uvar -> unit) = - fun u -> - fun v1 -> + fun u -> + fun v1 -> let uu____851 = - let uu____852 = get_univ_graph () in - let uu____857 = chk_v u in - let uu____866 = chk_v v1 in - FStar_Unionfind.puf_union uu____852 uu____857 uu____866 in - set_univ_graph uu____851 \ No newline at end of file + let uu____852 = get_univ_graph () in + let uu____857 = chk_v u in + let uu____866 = chk_v v1 in + FStar_Unionfind.puf_union uu____852 uu____857 uu____866 in + set_univ_graph uu____851 + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Syntax_Util.ml b/src/ocaml-output/FStar_Syntax_Util.ml index 728e866d04b..b9c20a75a40 100644 --- a/src/ocaml-output/FStar_Syntax_Util.ml +++ b/src/ocaml-output/FStar_Syntax_Util.ml @@ -2,23 +2,26 @@ open Prims let (tts_f : (FStar_Syntax_Syntax.term -> Prims.string) FStar_Pervasives_Native.option FStar_ST.ref) - = FStar_Util.mk_ref FStar_Pervasives_Native.None + = FStar_Util.mk_ref FStar_Pervasives_Native.None let (tts : FStar_Syntax_Syntax.term -> Prims.string) = - fun t -> - let uu____26 = FStar_ST.op_Bang tts_f in + fun t -> + let uu____26 = FStar_ST.op_Bang tts_f in match uu____26 with - | FStar_Pervasives_Native.None -> "<>" + | FStar_Pervasives_Native.None -> "<>" | FStar_Pervasives_Native.Some f -> f t + let (qual_id : FStar_Ident.lident -> FStar_Ident.ident -> FStar_Ident.lident) = - fun lid -> - fun id1 -> + fun lid -> + fun id1 -> let uu____90 = FStar_Ident.lid_of_ids - (FStar_List.append lid.FStar_Ident.ns [lid.FStar_Ident.ident; id1]) in + (FStar_List.append lid.FStar_Ident.ns [lid.FStar_Ident.ident; id1]) + in FStar_Ident.set_lid_range uu____90 id1.FStar_Ident.idRange + let (mk_discriminator : FStar_Ident.lident -> FStar_Ident.lident) = - fun lid -> + fun lid -> let uu____97 = let uu____100 = let uu____103 = @@ -26,332 +29,360 @@ let (mk_discriminator : FStar_Ident.lident -> FStar_Ident.lident) = ((Prims.op_Hat FStar_Ident.reserved_prefix (Prims.op_Hat "is_" (lid.FStar_Ident.ident).FStar_Ident.idText)), - ((lid.FStar_Ident.ident).FStar_Ident.idRange)) in - [uu____103] in - FStar_List.append lid.FStar_Ident.ns uu____100 in + ((lid.FStar_Ident.ident).FStar_Ident.idRange)) + in + [uu____103] in + FStar_List.append lid.FStar_Ident.ns uu____100 in FStar_Ident.lid_of_ids uu____97 + let (is_name : FStar_Ident.lident -> Prims.bool) = - fun lid -> + fun lid -> let c = FStar_Util.char_at (lid.FStar_Ident.ident).FStar_Ident.idText - (Prims.parse_int "0") in + (Prims.parse_int "0") + in FStar_Util.is_upper c + let arg_of_non_null_binder : 'Auu____121 . (FStar_Syntax_Syntax.bv * 'Auu____121) -> (FStar_Syntax_Syntax.term * 'Auu____121) = - fun uu____134 -> + fun uu____134 -> match uu____134 with - | (b, imp) -> - let uu____141 = FStar_Syntax_Syntax.bv_to_name b in (uu____141, imp) + | (b,imp) -> + let uu____141 = FStar_Syntax_Syntax.bv_to_name b in (uu____141, imp) + let (args_of_non_null_binders : FStar_Syntax_Syntax.binders -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list) = - fun binders -> + fun binders -> FStar_All.pipe_right binders (FStar_List.collect - (fun b -> - let uu____193 = FStar_Syntax_Syntax.is_null_binder b in + (fun b -> + let uu____193 = FStar_Syntax_Syntax.is_null_binder b in if uu____193 then [] - else (let uu____212 = arg_of_non_null_binder b in [uu____212]))) + else (let uu____212 = arg_of_non_null_binder b in [uu____212]))) + let (args_of_binders : FStar_Syntax_Syntax.binders -> (FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.args)) = - fun binders -> + fun binders -> let uu____247 = FStar_All.pipe_right binders (FStar_List.map - (fun b -> - let uu____329 = FStar_Syntax_Syntax.is_null_binder b in + (fun b -> + let uu____329 = FStar_Syntax_Syntax.is_null_binder b in if uu____329 then let b1 = let uu____355 = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort in - (uu____355, (FStar_Pervasives_Native.snd b)) in - let uu____362 = arg_of_non_null_binder b1 in (b1, uu____362) + (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort + in + (uu____355, (FStar_Pervasives_Native.snd b)) in + let uu____362 = arg_of_non_null_binder b1 in (b1, uu____362) else - (let uu____385 = arg_of_non_null_binder b in (b, uu____385)))) in + (let uu____385 = arg_of_non_null_binder b in (b, uu____385)))) + in FStar_All.pipe_right uu____247 FStar_List.unzip + let (name_binders : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list) = - fun binders -> + fun binders -> FStar_All.pipe_right binders (FStar_List.mapi - (fun i -> - fun b -> - let uu____519 = FStar_Syntax_Syntax.is_null_binder b in + (fun i -> + fun b -> + let uu____519 = FStar_Syntax_Syntax.is_null_binder b in if uu____519 then - let uu____528 = b in + let uu____528 = b in match uu____528 with - | (a, imp) -> + | (a,imp) -> let b1 = let uu____548 = - let uu____550 = FStar_Util.string_of_int i in - Prims.op_Hat "_" uu____550 in - FStar_Ident.id_of_text uu____548 in + let uu____550 = FStar_Util.string_of_int i in + Prims.op_Hat "_" uu____550 in + FStar_Ident.id_of_text uu____548 in let b2 = { FStar_Syntax_Syntax.ppname = b1; FStar_Syntax_Syntax.index = (Prims.parse_int "0"); FStar_Syntax_Syntax.sort = (a.FStar_Syntax_Syntax.sort) - } in + } in (b2, imp) else b)) + let (name_function_binders : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t -> + fun t -> match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (binders, comp) -> + | FStar_Syntax_Syntax.Tm_arrow (binders,comp) -> let uu____595 = let uu____602 = let uu____603 = - let uu____618 = name_binders binders in (uu____618, comp) in - FStar_Syntax_Syntax.Tm_arrow uu____603 in - FStar_Syntax_Syntax.mk uu____602 in + let uu____618 = name_binders binders in (uu____618, comp) in + FStar_Syntax_Syntax.Tm_arrow uu____603 in + FStar_Syntax_Syntax.mk uu____602 in uu____595 FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos | uu____637 -> t + let (null_binders_of_tks : (FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.aqual) Prims.list -> FStar_Syntax_Syntax.binders) = - fun tks -> + fun tks -> FStar_All.pipe_right tks (FStar_List.map - (fun uu____674 -> + (fun uu____674 -> match uu____674 with - | (t, imp) -> + | (t,imp) -> let uu____685 = - let uu____686 = FStar_Syntax_Syntax.null_binder t in - FStar_All.pipe_left FStar_Pervasives_Native.fst uu____686 in + let uu____686 = FStar_Syntax_Syntax.null_binder t in + FStar_All.pipe_left FStar_Pervasives_Native.fst uu____686 + in (uu____685, imp))) + let (binders_of_tks : (FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.aqual) Prims.list -> FStar_Syntax_Syntax.binders) = - fun tks -> + fun tks -> FStar_All.pipe_right tks (FStar_List.map - (fun uu____741 -> + (fun uu____741 -> match uu____741 with - | (t, imp) -> + | (t,imp) -> let uu____758 = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some (t.FStar_Syntax_Syntax.pos)) - t in + t + in (uu____758, imp))) + let (binders_of_freevars : FStar_Syntax_Syntax.bv FStar_Util.set -> FStar_Syntax_Syntax.binder Prims.list) = - fun fvs -> - let uu____771 = FStar_Util.set_elements fvs in + fun fvs -> + let uu____771 = FStar_Util.set_elements fvs in FStar_All.pipe_right uu____771 (FStar_List.map FStar_Syntax_Syntax.mk_binder) + let mk_subst : 'Auu____783 . 'Auu____783 -> 'Auu____783 Prims.list = - fun s -> [s] + fun s -> [s] let (subst_of_list : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.subst_t) = - fun formals -> - fun actuals -> + fun formals -> + fun actuals -> if (FStar_List.length formals) = (FStar_List.length actuals) then FStar_List.fold_right2 - (fun f -> - fun a -> - fun out -> + (fun f -> + fun a -> + fun out -> (FStar_Syntax_Syntax.NT ((FStar_Pervasives_Native.fst f), (FStar_Pervasives_Native.fst a))) :: out) formals actuals [] else failwith "Ill-formed substitution" + let (rename_binders : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.subst_t) = - fun replace_xs -> - fun with_ys -> + fun replace_xs -> + fun with_ys -> if (FStar_List.length replace_xs) = (FStar_List.length with_ys) then FStar_List.map2 - (fun uu____909 -> - fun uu____910 -> + (fun uu____909 -> + fun uu____910 -> match (uu____909, uu____910) with - | ((x, uu____936), (y, uu____938)) -> + | ((x,uu____936),(y,uu____938)) -> let uu____959 = - let uu____966 = FStar_Syntax_Syntax.bv_to_name y in - (x, uu____966) in + let uu____966 = FStar_Syntax_Syntax.bv_to_name y in + (x, uu____966) in FStar_Syntax_Syntax.NT uu____959) replace_xs with_ys else failwith "Ill-formed substitution" + let rec (unmeta : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun e -> - let e1 = FStar_Syntax_Subst.compress e in + fun e -> + let e1 = FStar_Syntax_Subst.compress e in match e1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_meta (e2, uu____982) -> unmeta e2 - | FStar_Syntax_Syntax.Tm_ascribed (e2, uu____988, uu____989) -> unmeta e2 + | FStar_Syntax_Syntax.Tm_meta (e2,uu____982) -> unmeta e2 + | FStar_Syntax_Syntax.Tm_ascribed (e2,uu____988,uu____989) -> unmeta e2 | uu____1030 -> e1 + let rec (unmeta_safe : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun e -> - let e1 = FStar_Syntax_Subst.compress e in + fun e -> + let e1 = FStar_Syntax_Subst.compress e in match e1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_meta (e', m) -> + | FStar_Syntax_Syntax.Tm_meta (e',m) -> (match m with | FStar_Syntax_Syntax.Meta_monadic uu____1044 -> e1 | FStar_Syntax_Syntax.Meta_monadic_lift uu____1051 -> e1 | uu____1060 -> unmeta_safe e') - | FStar_Syntax_Syntax.Tm_ascribed (e2, uu____1062, uu____1063) -> + | FStar_Syntax_Syntax.Tm_ascribed (e2,uu____1062,uu____1063) -> unmeta_safe e2 | uu____1104 -> e1 + let rec (univ_kernel : FStar_Syntax_Syntax.universe -> (FStar_Syntax_Syntax.universe * Prims.int)) = - fun u -> + fun u -> match u with - | FStar_Syntax_Syntax.U_unknown -> (u, (Prims.parse_int "0")) + | FStar_Syntax_Syntax.U_unknown -> (u, (Prims.parse_int "0")) | FStar_Syntax_Syntax.U_name uu____1123 -> (u, (Prims.parse_int "0")) | FStar_Syntax_Syntax.U_unif uu____1126 -> (u, (Prims.parse_int "0")) - | FStar_Syntax_Syntax.U_zero -> (u, (Prims.parse_int "0")) + | FStar_Syntax_Syntax.U_zero -> (u, (Prims.parse_int "0")) | FStar_Syntax_Syntax.U_succ u1 -> - let uu____1140 = univ_kernel u1 in - (match uu____1140 with | (k, n1) -> (k, (n1 + (Prims.parse_int "1")))) + let uu____1140 = univ_kernel u1 in + (match uu____1140 with | (k,n1) -> (k, (n1 + (Prims.parse_int "1")))) | FStar_Syntax_Syntax.U_max uu____1157 -> failwith "Imposible: univ_kernel (U_max _)" | FStar_Syntax_Syntax.U_bvar uu____1166 -> failwith "Imposible: univ_kernel (U_bvar _)" + let (constant_univ_as_nat : FStar_Syntax_Syntax.universe -> Prims.int) = - fun u -> - let uu____1181 = univ_kernel u in FStar_Pervasives_Native.snd uu____1181 + fun u -> + let uu____1181 = univ_kernel u in FStar_Pervasives_Native.snd uu____1181 + let rec (compare_univs : FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe -> Prims.int) = - fun u1 -> - fun u2 -> + fun u1 -> + fun u2 -> match (u1, u2) with - | (FStar_Syntax_Syntax.U_bvar uu____1201, uu____1202) -> + | (FStar_Syntax_Syntax.U_bvar uu____1201,uu____1202) -> failwith "Impossible: compare_univs" - | (uu____1206, FStar_Syntax_Syntax.U_bvar uu____1207) -> + | (uu____1206,FStar_Syntax_Syntax.U_bvar uu____1207) -> failwith "Impossible: compare_univs" - | (FStar_Syntax_Syntax.U_unknown, FStar_Syntax_Syntax.U_unknown) -> + | (FStar_Syntax_Syntax.U_unknown ,FStar_Syntax_Syntax.U_unknown ) -> (Prims.parse_int "0") - | (FStar_Syntax_Syntax.U_unknown, uu____1212) -> + | (FStar_Syntax_Syntax.U_unknown ,uu____1212) -> ~- (Prims.parse_int "1") - | (uu____1214, FStar_Syntax_Syntax.U_unknown) -> (Prims.parse_int "1") - | (FStar_Syntax_Syntax.U_zero, FStar_Syntax_Syntax.U_zero) -> + | (uu____1214,FStar_Syntax_Syntax.U_unknown ) -> (Prims.parse_int "1") + | (FStar_Syntax_Syntax.U_zero ,FStar_Syntax_Syntax.U_zero ) -> (Prims.parse_int "0") - | (FStar_Syntax_Syntax.U_zero, uu____1217) -> ~- (Prims.parse_int "1") - | (uu____1219, FStar_Syntax_Syntax.U_zero) -> (Prims.parse_int "1") - | (FStar_Syntax_Syntax.U_name u11, FStar_Syntax_Syntax.U_name u21) -> + | (FStar_Syntax_Syntax.U_zero ,uu____1217) -> ~- (Prims.parse_int "1") + | (uu____1219,FStar_Syntax_Syntax.U_zero ) -> (Prims.parse_int "1") + | (FStar_Syntax_Syntax.U_name u11,FStar_Syntax_Syntax.U_name u21) -> FStar_String.compare u11.FStar_Ident.idText u21.FStar_Ident.idText - | (FStar_Syntax_Syntax.U_name uu____1223, FStar_Syntax_Syntax.U_unif + | (FStar_Syntax_Syntax.U_name uu____1223,FStar_Syntax_Syntax.U_unif uu____1224) -> ~- (Prims.parse_int "1") - | (FStar_Syntax_Syntax.U_unif uu____1234, FStar_Syntax_Syntax.U_name + | (FStar_Syntax_Syntax.U_unif uu____1234,FStar_Syntax_Syntax.U_name uu____1235) -> (Prims.parse_int "1") - | (FStar_Syntax_Syntax.U_unif u11, FStar_Syntax_Syntax.U_unif u21) -> - let uu____1263 = FStar_Syntax_Unionfind.univ_uvar_id u11 in - let uu____1265 = FStar_Syntax_Unionfind.univ_uvar_id u21 in + | (FStar_Syntax_Syntax.U_unif u11,FStar_Syntax_Syntax.U_unif u21) -> + let uu____1263 = FStar_Syntax_Unionfind.univ_uvar_id u11 in + let uu____1265 = FStar_Syntax_Unionfind.univ_uvar_id u21 in uu____1263 - uu____1265 - | (FStar_Syntax_Syntax.U_max us1, FStar_Syntax_Syntax.U_max us2) -> - let n1 = FStar_List.length us1 in - let n2 = FStar_List.length us2 in + | (FStar_Syntax_Syntax.U_max us1,FStar_Syntax_Syntax.U_max us2) -> + let n1 = FStar_List.length us1 in + let n2 = FStar_List.length us2 in if n1 <> n2 then n1 - n2 else (let copt = - let uu____1283 = FStar_List.zip us1 us2 in + let uu____1283 = FStar_List.zip us1 us2 in FStar_Util.find_map uu____1283 - (fun uu____1299 -> + (fun uu____1299 -> match uu____1299 with - | (u11, u21) -> - let c = compare_univs u11 u21 in + | (u11,u21) -> + let c = compare_univs u11 u21 in if c <> (Prims.parse_int "0") then FStar_Pervasives_Native.Some c - else FStar_Pervasives_Native.None) in + else FStar_Pervasives_Native.None) + in match copt with - | FStar_Pervasives_Native.None -> (Prims.parse_int "0") + | FStar_Pervasives_Native.None -> (Prims.parse_int "0") | FStar_Pervasives_Native.Some c -> c) - | (FStar_Syntax_Syntax.U_max uu____1327, uu____1328) -> + | (FStar_Syntax_Syntax.U_max uu____1327,uu____1328) -> ~- (Prims.parse_int "1") - | (uu____1332, FStar_Syntax_Syntax.U_max uu____1333) -> + | (uu____1332,FStar_Syntax_Syntax.U_max uu____1333) -> (Prims.parse_int "1") | uu____1337 -> - let uu____1342 = univ_kernel u1 in + let uu____1342 = univ_kernel u1 in (match uu____1342 with - | (k1, n1) -> - let uu____1353 = univ_kernel u2 in + | (k1,n1) -> + let uu____1353 = univ_kernel u2 in (match uu____1353 with - | (k2, n2) -> - let r = compare_univs k1 k2 in + | (k2,n2) -> + let r = compare_univs k1 k2 in if r = (Prims.parse_int "0") then n1 - n2 else r)) + let (eq_univs : FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe -> Prims.bool) = - fun u1 -> - fun u2 -> - let uu____1384 = compare_univs u1 u2 in + fun u1 -> + fun u2 -> + let uu____1384 = compare_univs u1 u2 in uu____1384 = (Prims.parse_int "0") + let (ml_comp : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Range.range -> FStar_Syntax_Syntax.comp) = - fun t -> - fun r -> + fun t -> + fun r -> let uu____1403 = let uu____1404 = - FStar_Ident.set_lid_range FStar_Parser_Const.effect_ML_lid r in + FStar_Ident.set_lid_range FStar_Parser_Const.effect_ML_lid r in { FStar_Syntax_Syntax.comp_univs = [FStar_Syntax_Syntax.U_zero]; FStar_Syntax_Syntax.effect_name = uu____1404; FStar_Syntax_Syntax.result_typ = t; FStar_Syntax_Syntax.effect_args = []; FStar_Syntax_Syntax.flags = [FStar_Syntax_Syntax.MLEFFECT] - } in + } in FStar_Syntax_Syntax.mk_Comp uu____1403 + let (comp_effect_name : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Ident.lident) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Comp c1 -> c1.FStar_Syntax_Syntax.effect_name | FStar_Syntax_Syntax.Total uu____1424 -> FStar_Parser_Const.effect_Tot_lid | FStar_Syntax_Syntax.GTotal uu____1433 -> FStar_Parser_Const.effect_GTot_lid + let (comp_flags : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.cflag Prims.list) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Total uu____1456 -> [FStar_Syntax_Syntax.TOTAL] | FStar_Syntax_Syntax.GTotal uu____1465 -> [FStar_Syntax_Syntax.SOMETRIVIAL] | FStar_Syntax_Syntax.Comp ct -> ct.FStar_Syntax_Syntax.flags + let (comp_to_comp_typ_nouniv : FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp_typ) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Comp c1 -> c1 - | FStar_Syntax_Syntax.Total (t, u_opt) -> + | FStar_Syntax_Syntax.Total (t,u_opt) -> let uu____1492 = - let uu____1493 = FStar_Util.map_opt u_opt (fun x -> [x]) in - FStar_Util.dflt [] uu____1493 in + let uu____1493 = FStar_Util.map_opt u_opt (fun x -> [x]) in + FStar_Util.dflt [] uu____1493 in { FStar_Syntax_Syntax.comp_univs = uu____1492; FStar_Syntax_Syntax.effect_name = (comp_effect_name c); @@ -359,10 +390,10 @@ let (comp_to_comp_typ_nouniv : FStar_Syntax_Syntax.effect_args = []; FStar_Syntax_Syntax.flags = (comp_flags c) } - | FStar_Syntax_Syntax.GTotal (t, u_opt) -> + | FStar_Syntax_Syntax.GTotal (t,u_opt) -> let uu____1522 = - let uu____1523 = FStar_Util.map_opt u_opt (fun x -> [x]) in - FStar_Util.dflt [] uu____1523 in + let uu____1523 = FStar_Util.map_opt u_opt (fun x -> [x]) in + FStar_Util.dflt [] uu____1523 in { FStar_Syntax_Syntax.comp_univs = uu____1522; FStar_Syntax_Syntax.effect_name = (comp_effect_name c); @@ -370,17 +401,18 @@ let (comp_to_comp_typ_nouniv : FStar_Syntax_Syntax.effect_args = []; FStar_Syntax_Syntax.flags = (comp_flags c) } + let (comp_set_flags : FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.cflag Prims.list -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax) = - fun c -> - fun f -> - let uu___229_1559 = c in + fun c -> + fun f -> + let uu___229_1559 = c in let uu____1560 = let uu____1561 = - let uu___231_1562 = comp_to_comp_typ_nouniv c in + let uu___231_1562 = comp_to_comp_typ_nouniv c in { FStar_Syntax_Syntax.comp_univs = (uu___231_1562.FStar_Syntax_Syntax.comp_univs); @@ -391,26 +423,27 @@ let (comp_set_flags : FStar_Syntax_Syntax.effect_args = (uu___231_1562.FStar_Syntax_Syntax.effect_args); FStar_Syntax_Syntax.flags = f - } in - FStar_Syntax_Syntax.Comp uu____1561 in + } in + FStar_Syntax_Syntax.Comp uu____1561 in { FStar_Syntax_Syntax.n = uu____1560; FStar_Syntax_Syntax.pos = (uu___229_1559.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = (uu___229_1559.FStar_Syntax_Syntax.vars) } + let (lcomp_set_flags : FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.cflag Prims.list -> FStar_Syntax_Syntax.lcomp) = - fun lc -> - fun fs -> + fun lc -> + fun fs -> let comp_typ_set_flags c = match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Total uu____1588 -> c | FStar_Syntax_Syntax.GTotal uu____1597 -> c | FStar_Syntax_Syntax.Comp ct -> let ct1 = - let uu___243_1608 = ct in + let uu___243_1608 = ct in { FStar_Syntax_Syntax.comp_univs = (uu___243_1608.FStar_Syntax_Syntax.comp_univs); @@ -421,26 +454,28 @@ let (lcomp_set_flags : FStar_Syntax_Syntax.effect_args = (uu___243_1608.FStar_Syntax_Syntax.effect_args); FStar_Syntax_Syntax.flags = fs - } in - let uu___246_1609 = c in + } in + let uu___246_1609 = c in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Comp ct1); FStar_Syntax_Syntax.pos = (uu___246_1609.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = (uu___246_1609.FStar_Syntax_Syntax.vars) - } in + } + in FStar_Syntax_Syntax.mk_lcomp lc.FStar_Syntax_Syntax.eff_name lc.FStar_Syntax_Syntax.res_typ fs - (fun uu____1612 -> - let uu____1613 = FStar_Syntax_Syntax.lcomp_comp lc in + (fun uu____1612 -> + let uu____1613 = FStar_Syntax_Syntax.lcomp_comp lc in comp_typ_set_flags uu____1613) + let (comp_to_comp_typ : FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp_typ) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Comp c1 -> c1 - | FStar_Syntax_Syntax.Total (t, FStar_Pervasives_Native.Some u) -> + | FStar_Syntax_Syntax.Total (t,FStar_Pervasives_Native.Some u) -> { FStar_Syntax_Syntax.comp_univs = [u]; FStar_Syntax_Syntax.effect_name = (comp_effect_name c); @@ -448,7 +483,7 @@ let (comp_to_comp_typ : FStar_Syntax_Syntax.effect_args = []; FStar_Syntax_Syntax.flags = (comp_flags c) } - | FStar_Syntax_Syntax.GTotal (t, FStar_Pervasives_Native.Some u) -> + | FStar_Syntax_Syntax.GTotal (t,FStar_Pervasives_Native.Some u) -> { FStar_Syntax_Syntax.comp_univs = [u]; FStar_Syntax_Syntax.effect_name = (comp_effect_name c); @@ -458,42 +493,46 @@ let (comp_to_comp_typ : } | uu____1653 -> failwith "Assertion failed: Computation type without universe" + let (is_named_tot : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Comp c1 -> FStar_Ident.lid_equals c1.FStar_Syntax_Syntax.effect_name FStar_Parser_Const.effect_Tot_lid | FStar_Syntax_Syntax.Total uu____1668 -> true | FStar_Syntax_Syntax.GTotal uu____1678 -> false + let (is_total_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun c -> + fun c -> (FStar_Ident.lid_equals (comp_effect_name c) FStar_Parser_Const.effect_Tot_lid) || (FStar_All.pipe_right (comp_flags c) (FStar_Util.for_some - (fun uu___0_1703 -> + (fun uu___0_1703 -> match uu___0_1703 with - | FStar_Syntax_Syntax.TOTAL -> true - | FStar_Syntax_Syntax.RETURN -> true + | FStar_Syntax_Syntax.TOTAL -> true + | FStar_Syntax_Syntax.RETURN -> true | uu____1707 -> false))) + let (is_total_lcomp : FStar_Syntax_Syntax.lcomp -> Prims.bool) = - fun c -> + fun c -> (FStar_Ident.lid_equals c.FStar_Syntax_Syntax.eff_name FStar_Parser_Const.effect_Tot_lid) || (FStar_All.pipe_right c.FStar_Syntax_Syntax.cflags (FStar_Util.for_some - (fun uu___1_1720 -> + (fun uu___1_1720 -> match uu___1_1720 with - | FStar_Syntax_Syntax.TOTAL -> true - | FStar_Syntax_Syntax.RETURN -> true + | FStar_Syntax_Syntax.TOTAL -> true + | FStar_Syntax_Syntax.RETURN -> true | uu____1724 -> false))) + let (is_tot_or_gtot_lcomp : FStar_Syntax_Syntax.lcomp -> Prims.bool) = - fun c -> + fun c -> ((FStar_Ident.lid_equals c.FStar_Syntax_Syntax.eff_name FStar_Parser_Const.effect_Tot_lid) || @@ -502,44 +541,49 @@ let (is_tot_or_gtot_lcomp : FStar_Syntax_Syntax.lcomp -> Prims.bool) = || (FStar_All.pipe_right c.FStar_Syntax_Syntax.cflags (FStar_Util.for_some - (fun uu___2_1737 -> + (fun uu___2_1737 -> match uu___2_1737 with - | FStar_Syntax_Syntax.TOTAL -> true - | FStar_Syntax_Syntax.RETURN -> true + | FStar_Syntax_Syntax.TOTAL -> true + | FStar_Syntax_Syntax.RETURN -> true | uu____1741 -> false))) + let (is_partial_return : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun c -> + fun c -> FStar_All.pipe_right (comp_flags c) (FStar_Util.for_some - (fun uu___3_1758 -> + (fun uu___3_1758 -> match uu___3_1758 with - | FStar_Syntax_Syntax.RETURN -> true - | FStar_Syntax_Syntax.PARTIAL_RETURN -> true + | FStar_Syntax_Syntax.RETURN -> true + | FStar_Syntax_Syntax.PARTIAL_RETURN -> true | uu____1762 -> false)) + let (is_lcomp_partial_return : FStar_Syntax_Syntax.lcomp -> Prims.bool) = - fun c -> + fun c -> FStar_All.pipe_right c.FStar_Syntax_Syntax.cflags (FStar_Util.for_some - (fun uu___4_1775 -> + (fun uu___4_1775 -> match uu___4_1775 with - | FStar_Syntax_Syntax.RETURN -> true - | FStar_Syntax_Syntax.PARTIAL_RETURN -> true + | FStar_Syntax_Syntax.RETURN -> true + | FStar_Syntax_Syntax.PARTIAL_RETURN -> true | uu____1779 -> false)) + let (is_tot_or_gtot_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun c -> + fun c -> (is_total_comp c) || (FStar_Ident.lid_equals FStar_Parser_Const.effect_GTot_lid (comp_effect_name c)) + let (is_pure_effect : FStar_Ident.lident -> Prims.bool) = - fun l -> + fun l -> ((FStar_Ident.lid_equals l FStar_Parser_Const.effect_Tot_lid) || (FStar_Ident.lid_equals l FStar_Parser_Const.effect_PURE_lid)) || (FStar_Ident.lid_equals l FStar_Parser_Const.effect_Pure_lid) + let (is_pure_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Total uu____1811 -> true | FStar_Syntax_Syntax.GTotal uu____1821 -> false @@ -549,75 +593,84 @@ let (is_pure_comp : || (FStar_All.pipe_right ct.FStar_Syntax_Syntax.flags (FStar_Util.for_some - (fun uu___5_1836 -> + (fun uu___5_1836 -> match uu___5_1836 with - | FStar_Syntax_Syntax.LEMMA -> true + | FStar_Syntax_Syntax.LEMMA -> true | uu____1839 -> false))) + let (is_ghost_effect : FStar_Ident.lident -> Prims.bool) = - fun l -> + fun l -> ((FStar_Ident.lid_equals FStar_Parser_Const.effect_GTot_lid l) || (FStar_Ident.lid_equals FStar_Parser_Const.effect_GHOST_lid l)) || (FStar_Ident.lid_equals FStar_Parser_Const.effect_Ghost_lid l) + let (is_div_effect : FStar_Ident.lident -> Prims.bool) = - fun l -> + fun l -> ((FStar_Ident.lid_equals l FStar_Parser_Const.effect_DIV_lid) || (FStar_Ident.lid_equals l FStar_Parser_Const.effect_Div_lid)) || (FStar_Ident.lid_equals l FStar_Parser_Const.effect_Dv_lid) + let (is_pure_or_ghost_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun c -> (is_pure_comp c) || (is_ghost_effect (comp_effect_name c)) + fun c -> (is_pure_comp c) || (is_ghost_effect (comp_effect_name c)) let (is_pure_or_ghost_effect : FStar_Ident.lident -> Prims.bool) = - fun l -> (is_pure_effect l) || (is_ghost_effect l) + fun l -> (is_pure_effect l) || (is_ghost_effect l) let (is_pure_lcomp : FStar_Syntax_Syntax.lcomp -> Prims.bool) = - fun lc -> + fun lc -> ((is_total_lcomp lc) || (is_pure_effect lc.FStar_Syntax_Syntax.eff_name)) || (FStar_All.pipe_right lc.FStar_Syntax_Syntax.cflags (FStar_Util.for_some - (fun uu___6_1884 -> + (fun uu___6_1884 -> match uu___6_1884 with - | FStar_Syntax_Syntax.LEMMA -> true + | FStar_Syntax_Syntax.LEMMA -> true | uu____1887 -> false))) + let (is_pure_or_ghost_lcomp : FStar_Syntax_Syntax.lcomp -> Prims.bool) = - fun lc -> + fun lc -> (is_pure_lcomp lc) || (is_ghost_effect lc.FStar_Syntax_Syntax.eff_name) + let (is_pure_or_ghost_function : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____1903 = - let uu____1904 = FStar_Syntax_Subst.compress t in - uu____1904.FStar_Syntax_Syntax.n in + let uu____1904 = FStar_Syntax_Subst.compress t in + uu____1904.FStar_Syntax_Syntax.n in match uu____1903 with - | FStar_Syntax_Syntax.Tm_arrow (uu____1908, c) -> is_pure_or_ghost_comp c + | FStar_Syntax_Syntax.Tm_arrow (uu____1908,c) -> is_pure_or_ghost_comp c | uu____1930 -> true + let (is_lemma_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Comp ct -> FStar_Ident.lid_equals ct.FStar_Syntax_Syntax.effect_name FStar_Parser_Const.effect_Lemma_lid | uu____1945 -> false + let (is_lemma : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____1954 = - let uu____1955 = FStar_Syntax_Subst.compress t in - uu____1955.FStar_Syntax_Syntax.n in + let uu____1955 = FStar_Syntax_Subst.compress t in + uu____1955.FStar_Syntax_Syntax.n in match uu____1954 with - | FStar_Syntax_Syntax.Tm_arrow (uu____1959, c) -> is_lemma_comp c + | FStar_Syntax_Syntax.Tm_arrow (uu____1959,c) -> is_lemma_comp c | uu____1981 -> false + let rec (head_of : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> + fun t -> let uu____1989 = - let uu____1990 = FStar_Syntax_Subst.compress t in - uu____1990.FStar_Syntax_Syntax.n in + let uu____1990 = FStar_Syntax_Subst.compress t in + uu____1990.FStar_Syntax_Syntax.n in match uu____1989 with - | FStar_Syntax_Syntax.Tm_app (t1, uu____1994) -> head_of t1 - | FStar_Syntax_Syntax.Tm_match (t1, uu____2020) -> head_of t1 - | FStar_Syntax_Syntax.Tm_abs (uu____2057, t1, uu____2059) -> head_of t1 - | FStar_Syntax_Syntax.Tm_ascribed (t1, uu____2085, uu____2086) -> + | FStar_Syntax_Syntax.Tm_app (t1,uu____1994) -> head_of t1 + | FStar_Syntax_Syntax.Tm_match (t1,uu____2020) -> head_of t1 + | FStar_Syntax_Syntax.Tm_abs (uu____2057,t1,uu____2059) -> head_of t1 + | FStar_Syntax_Syntax.Tm_ascribed (t1,uu____2085,uu____2086) -> head_of t1 - | FStar_Syntax_Syntax.Tm_meta (t1, uu____2128) -> head_of t1 + | FStar_Syntax_Syntax.Tm_meta (t1,uu____2128) -> head_of t1 | uu____2133 -> t + let (head_and_args : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * @@ -625,35 +678,38 @@ let (head_and_args : FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list)) = - fun t -> - let t1 = FStar_Syntax_Subst.compress t in + fun t -> + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_app (head1, args) -> (head1, args) + | FStar_Syntax_Syntax.Tm_app (head1,args) -> (head1, args) | uu____2211 -> (t1, []) + let rec (head_and_args' : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list)) = - fun t -> - let t1 = FStar_Syntax_Subst.compress t in + fun t -> + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_app (head1, args) -> - let uu____2293 = head_and_args' head1 in + | FStar_Syntax_Syntax.Tm_app (head1,args) -> + let uu____2293 = head_and_args' head1 in (match uu____2293 with - | (head2, args') -> (head2, (FStar_List.append args' args))) + | (head2,args') -> (head2, (FStar_List.append args' args))) | uu____2362 -> (t1, []) + let (un_uinst : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> - let t1 = FStar_Syntax_Subst.compress t in + fun t -> + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_uinst (t2, uu____2389) -> + | FStar_Syntax_Syntax.Tm_uinst (t2,uu____2389) -> FStar_Syntax_Subst.compress t2 | uu____2394 -> t1 + let (is_ml_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Comp c1 -> (FStar_Ident.lid_equals c1.FStar_Syntax_Syntax.effect_name @@ -661,27 +717,29 @@ let (is_ml_comp : || (FStar_All.pipe_right c1.FStar_Syntax_Syntax.flags (FStar_Util.for_some - (fun uu___7_2412 -> + (fun uu___7_2412 -> match uu___7_2412 with - | FStar_Syntax_Syntax.MLEFFECT -> true + | FStar_Syntax_Syntax.MLEFFECT -> true | uu____2415 -> false))) | uu____2417 -> false + let (comp_result : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, uu____2434) -> t - | FStar_Syntax_Syntax.GTotal (t, uu____2444) -> t + | FStar_Syntax_Syntax.Total (t,uu____2434) -> t + | FStar_Syntax_Syntax.GTotal (t,uu____2444) -> t | FStar_Syntax_Syntax.Comp ct -> ct.FStar_Syntax_Syntax.result_typ + let (set_result_typ : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.comp) = - fun c -> - fun t -> + fun c -> + fun t -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Total uu____2473 -> FStar_Syntax_Syntax.mk_Total t @@ -689,7 +747,7 @@ let (set_result_typ : FStar_Syntax_Syntax.mk_GTotal t | FStar_Syntax_Syntax.Comp ct -> FStar_Syntax_Syntax.mk_Comp - (let uu___399_2494 = ct in + (let uu___399_2494 = ct in { FStar_Syntax_Syntax.comp_univs = (uu___399_2494.FStar_Syntax_Syntax.comp_univs); @@ -701,34 +759,38 @@ let (set_result_typ : FStar_Syntax_Syntax.flags = (uu___399_2494.FStar_Syntax_Syntax.flags) }) + let (set_result_typ_lc : FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.lcomp) = - fun lc -> - fun t -> + fun lc -> + fun t -> FStar_Syntax_Syntax.mk_lcomp lc.FStar_Syntax_Syntax.eff_name t lc.FStar_Syntax_Syntax.cflags - (fun uu____2508 -> - let uu____2509 = FStar_Syntax_Syntax.lcomp_comp lc in + (fun uu____2508 -> + let uu____2509 = FStar_Syntax_Syntax.lcomp_comp lc in set_result_typ uu____2509 t) + let (is_trivial_wp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun c -> + fun c -> FStar_All.pipe_right (comp_flags c) (FStar_Util.for_some - (fun uu___8_2527 -> + (fun uu___8_2527 -> match uu___8_2527 with - | FStar_Syntax_Syntax.TOTAL -> true - | FStar_Syntax_Syntax.RETURN -> true + | FStar_Syntax_Syntax.TOTAL -> true + | FStar_Syntax_Syntax.RETURN -> true | uu____2531 -> false)) + let (comp_effect_args : FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.args) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Total uu____2539 -> [] | FStar_Syntax_Syntax.GTotal uu____2556 -> [] | FStar_Syntax_Syntax.Comp ct -> ct.FStar_Syntax_Syntax.effect_args + let (primops : FStar_Ident.lident Prims.list) = [FStar_Parser_Const.op_Eq; FStar_Parser_Const.op_notEq; @@ -744,107 +806,115 @@ let (primops : FStar_Ident.lident Prims.list) = FStar_Parser_Const.op_Modulus; FStar_Parser_Const.op_And; FStar_Parser_Const.op_Or; - FStar_Parser_Const.op_Negation] + FStar_Parser_Const.op_Negation] let (is_primop_lid : FStar_Ident.lident -> Prims.bool) = - fun l -> + fun l -> FStar_All.pipe_right primops (FStar_Util.for_some (FStar_Ident.lid_equals l)) + let (is_primop : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun f -> + fun f -> match f.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> is_primop_lid (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v | uu____2600 -> false + let rec (unascribe : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun e -> - let e1 = FStar_Syntax_Subst.compress e in + fun e -> + let e1 = FStar_Syntax_Subst.compress e in match e1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_ascribed (e2, uu____2610, uu____2611) -> + | FStar_Syntax_Syntax.Tm_ascribed (e2,uu____2610,uu____2611) -> unascribe e2 | uu____2652 -> e1 + let rec (ascribe : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> - ((FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax, - FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax) FStar_Util.either - * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax - FStar_Pervasives_Native.option) -> + ((FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax,FStar_Syntax_Syntax.comp' + FStar_Syntax_Syntax.syntax) + FStar_Util.either * FStar_Syntax_Syntax.term' + FStar_Syntax_Syntax.syntax FStar_Pervasives_Native.option) -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t -> - fun k -> + fun t -> + fun k -> match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_ascribed (t', uu____2705, uu____2706) -> + | FStar_Syntax_Syntax.Tm_ascribed (t',uu____2705,uu____2706) -> ascribe t' k | uu____2747 -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed (t, k, FStar_Pervasives_Native.None)) FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos + let (unfold_lazy : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = - fun i -> + fun i -> let uu____2774 = - let uu____2783 = FStar_ST.op_Bang FStar_Syntax_Syntax.lazy_chooser in - FStar_Util.must uu____2783 in + let uu____2783 = FStar_ST.op_Bang FStar_Syntax_Syntax.lazy_chooser in + FStar_Util.must uu____2783 in uu____2774 i.FStar_Syntax_Syntax.lkind i + let rec (unlazy : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> + fun t -> let uu____2839 = - let uu____2840 = FStar_Syntax_Subst.compress t in - uu____2840.FStar_Syntax_Syntax.n in + let uu____2840 = FStar_Syntax_Subst.compress t in + uu____2840.FStar_Syntax_Syntax.n in match uu____2839 with | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____2844 = unfold_lazy i in + let uu____2844 = unfold_lazy i in FStar_All.pipe_left unlazy uu____2844 | uu____2845 -> t + let rec (unlazy_emb : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> + fun t -> let uu____2852 = - let uu____2853 = FStar_Syntax_Subst.compress t in - uu____2853.FStar_Syntax_Syntax.n in + let uu____2853 = FStar_Syntax_Subst.compress t in + uu____2853.FStar_Syntax_Syntax.n in match uu____2852 with | FStar_Syntax_Syntax.Tm_lazy i -> (match i.FStar_Syntax_Syntax.lkind with | FStar_Syntax_Syntax.Lazy_embedding uu____2857 -> - let uu____2866 = unfold_lazy i in + let uu____2866 = unfold_lazy i in FStar_All.pipe_left unlazy uu____2866 | uu____2867 -> t) | uu____2868 -> t + let (eq_lazy_kind : FStar_Syntax_Syntax.lazy_kind -> FStar_Syntax_Syntax.lazy_kind -> Prims.bool) = - fun k -> - fun k' -> + fun k -> + fun k' -> match (k, k') with - | (FStar_Syntax_Syntax.BadLazy, FStar_Syntax_Syntax.BadLazy) -> true - | (FStar_Syntax_Syntax.Lazy_bv, FStar_Syntax_Syntax.Lazy_bv) -> true - | (FStar_Syntax_Syntax.Lazy_binder, FStar_Syntax_Syntax.Lazy_binder) -> - true - | (FStar_Syntax_Syntax.Lazy_fvar, FStar_Syntax_Syntax.Lazy_fvar) -> + | (FStar_Syntax_Syntax.BadLazy ,FStar_Syntax_Syntax.BadLazy ) -> true + | (FStar_Syntax_Syntax.Lazy_bv ,FStar_Syntax_Syntax.Lazy_bv ) -> true + | (FStar_Syntax_Syntax.Lazy_binder ,FStar_Syntax_Syntax.Lazy_binder ) + -> true + | (FStar_Syntax_Syntax.Lazy_fvar ,FStar_Syntax_Syntax.Lazy_fvar ) -> true - | (FStar_Syntax_Syntax.Lazy_comp, FStar_Syntax_Syntax.Lazy_comp) -> + | (FStar_Syntax_Syntax.Lazy_comp ,FStar_Syntax_Syntax.Lazy_comp ) -> true - | (FStar_Syntax_Syntax.Lazy_env, FStar_Syntax_Syntax.Lazy_env) -> true - | (FStar_Syntax_Syntax.Lazy_proofstate, - FStar_Syntax_Syntax.Lazy_proofstate) -> true - | (FStar_Syntax_Syntax.Lazy_goal, FStar_Syntax_Syntax.Lazy_goal) -> + | (FStar_Syntax_Syntax.Lazy_env ,FStar_Syntax_Syntax.Lazy_env ) -> true + | (FStar_Syntax_Syntax.Lazy_proofstate + ,FStar_Syntax_Syntax.Lazy_proofstate ) -> true + | (FStar_Syntax_Syntax.Lazy_goal ,FStar_Syntax_Syntax.Lazy_goal ) -> true - | (FStar_Syntax_Syntax.Lazy_sigelt, FStar_Syntax_Syntax.Lazy_sigelt) -> - true - | (FStar_Syntax_Syntax.Lazy_uvar, FStar_Syntax_Syntax.Lazy_uvar) -> + | (FStar_Syntax_Syntax.Lazy_sigelt ,FStar_Syntax_Syntax.Lazy_sigelt ) + -> true + | (FStar_Syntax_Syntax.Lazy_uvar ,FStar_Syntax_Syntax.Lazy_uvar ) -> true | uu____2892 -> false + let rec unlazy_as_t : 'Auu____2905 . FStar_Syntax_Syntax.lazy_kind -> FStar_Syntax_Syntax.term -> 'Auu____2905 = - fun k -> - fun t -> + fun k -> + fun t -> let uu____2916 = - let uu____2917 = FStar_Syntax_Subst.compress t in - uu____2917.FStar_Syntax_Syntax.n in + let uu____2917 = FStar_Syntax_Subst.compress t in + uu____2917.FStar_Syntax_Syntax.n in match uu____2916 with | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = v1; FStar_Syntax_Syntax.lkind = k'; @@ -852,6 +922,7 @@ let rec unlazy_as_t : FStar_Syntax_Syntax.rng = uu____2923;_} when eq_lazy_kind k k' -> FStar_Dyn.undyn v1 | uu____2926 -> failwith "Not a Tm_lazy of the expected kind" + let mk_lazy : 'a . 'a -> @@ -860,47 +931,53 @@ let mk_lazy : FStar_Range.range FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.term = - fun t -> - fun typ -> - fun k -> - fun r -> + fun t -> + fun typ -> + fun k -> + fun r -> let rng = match r with | FStar_Pervasives_Native.Some r1 -> r1 - | FStar_Pervasives_Native.None -> FStar_Range.dummyRange in + | FStar_Pervasives_Native.None -> FStar_Range.dummyRange in let i = - let uu____2967 = FStar_Dyn.mkdyn t in + let uu____2967 = FStar_Dyn.mkdyn t in { FStar_Syntax_Syntax.blob = uu____2967; FStar_Syntax_Syntax.lkind = k; FStar_Syntax_Syntax.ltyp = typ; FStar_Syntax_Syntax.rng = rng - } in + } in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_lazy i) FStar_Pervasives_Native.None rng + let (canon_app : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t -> + fun t -> let uu____2980 = - let uu____2995 = unascribe t in head_and_args' uu____2995 in + let uu____2995 = unascribe t in head_and_args' uu____2995 in match uu____2980 with - | (hd1, args) -> + | (hd1,args) -> FStar_Syntax_Syntax.mk_Tm_app hd1 args FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos + type eq_result = | Equal | NotEqual | Unknown let (uu___is_Equal : eq_result -> Prims.bool) = - fun projectee -> match projectee with | Equal -> true | uu____3029 -> false + fun projectee -> + match projectee with | Equal -> true | uu____3029 -> false + let (uu___is_NotEqual : eq_result -> Prims.bool) = - fun projectee -> - match projectee with | NotEqual -> true | uu____3040 -> false + fun projectee -> + match projectee with | NotEqual -> true | uu____3040 -> false + let (uu___is_Unknown : eq_result -> Prims.bool) = - fun projectee -> - match projectee with | Unknown -> true | uu____3051 -> false + fun projectee -> + match projectee with | Unknown -> true | uu____3051 -> false + let (injectives : Prims.string Prims.list) = ["FStar.Int8.int_to_t"; "FStar.Int16.int_to_t"; @@ -917,61 +994,64 @@ let (injectives : Prims.string Prims.list) = "FStar.UInt8.__uint_to_t"; "FStar.UInt16.__uint_to_t"; "FStar.UInt32.__uint_to_t"; - "FStar.UInt64.__uint_to_t"] + "FStar.UInt64.__uint_to_t"] let (eq_inj : eq_result -> eq_result -> eq_result) = - fun f -> - fun g -> + fun f -> + fun g -> match (f, g) with - | (Equal, Equal) -> Equal - | (NotEqual, uu____3101) -> NotEqual - | (uu____3102, NotEqual) -> NotEqual - | (Unknown, uu____3103) -> Unknown - | (uu____3104, Unknown) -> Unknown + | (Equal ,Equal ) -> Equal + | (NotEqual ,uu____3101) -> NotEqual + | (uu____3102,NotEqual ) -> NotEqual + | (Unknown ,uu____3103) -> Unknown + | (uu____3104,Unknown ) -> Unknown + let rec (eq_tm : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> eq_result) = - fun t1 -> - fun t2 -> - let t11 = canon_app t1 in - let t21 = canon_app t2 in - let equal_if uu___9_3225 = if uu___9_3225 then Equal else Unknown in - let equal_iff uu___10_3236 = if uu___10_3236 then Equal else NotEqual in - let eq_and f g = match f with | Equal -> g () | uu____3257 -> Unknown in + fun t1 -> + fun t2 -> + let t11 = canon_app t1 in + let t21 = canon_app t2 in + let equal_if uu___9_3225 = if uu___9_3225 then Equal else Unknown in + let equal_iff uu___10_3236 = if uu___10_3236 then Equal else NotEqual + in + let eq_and f g = match f with | Equal -> g () | uu____3257 -> Unknown + in let equal_data f1 args1 f2 args2 = - let uu____3279 = FStar_Syntax_Syntax.fv_eq f1 f2 in + let uu____3279 = FStar_Syntax_Syntax.fv_eq f1 f2 in if uu____3279 then - let uu____3283 = FStar_List.zip args1 args2 in + let uu____3283 = FStar_List.zip args1 args2 in FStar_All.pipe_left (FStar_List.fold_left - (fun acc -> - fun uu____3360 -> + (fun acc -> + fun uu____3360 -> match uu____3360 with - | ((a1, q1), (a2, q2)) -> - let uu____3401 = eq_tm a1 a2 in eq_inj acc uu____3401) - Equal) uu____3283 - else NotEqual in + | ((a1,q1),(a2,q2)) -> + let uu____3401 = eq_tm a1 a2 in + eq_inj acc uu____3401) Equal) uu____3283 + else NotEqual in let heads_and_args_in_case_both_data = let uu____3415 = - let uu____3432 = FStar_All.pipe_right t11 unmeta in - FStar_All.pipe_right uu____3432 head_and_args in + let uu____3432 = FStar_All.pipe_right t11 unmeta in + FStar_All.pipe_right uu____3432 head_and_args in match uu____3415 with - | (head1, args1) -> + | (head1,args1) -> let uu____3485 = - let uu____3502 = FStar_All.pipe_right t21 unmeta in - FStar_All.pipe_right uu____3502 head_and_args in + let uu____3502 = FStar_All.pipe_right t21 unmeta in + FStar_All.pipe_right uu____3502 head_and_args in (match uu____3485 with - | (head2, args2) -> + | (head2,args2) -> let uu____3555 = let uu____3560 = - let uu____3561 = un_uinst head1 in - uu____3561.FStar_Syntax_Syntax.n in + let uu____3561 = un_uinst head1 in + uu____3561.FStar_Syntax_Syntax.n in let uu____3564 = - let uu____3565 = un_uinst head2 in - uu____3565.FStar_Syntax_Syntax.n in - (uu____3560, uu____3564) in + let uu____3565 = un_uinst head2 in + uu____3565.FStar_Syntax_Syntax.n in + (uu____3560, uu____3564) in (match uu____3555 with - | (FStar_Syntax_Syntax.Tm_fvar f, - FStar_Syntax_Syntax.Tm_fvar g) when + | (FStar_Syntax_Syntax.Tm_fvar + f,FStar_Syntax_Syntax.Tm_fvar g) when (f.FStar_Syntax_Syntax.fv_qual = (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor)) @@ -980,22 +1060,25 @@ let rec (eq_tm : (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor)) -> FStar_Pervasives_Native.Some (f, args1, g, args2) - | uu____3592 -> FStar_Pervasives_Native.None)) in + | uu____3592 -> FStar_Pervasives_Native.None)) + in let uu____3605 = let uu____3610 = - let uu____3611 = unmeta t11 in uu____3611.FStar_Syntax_Syntax.n in + let uu____3611 = unmeta t11 in uu____3611.FStar_Syntax_Syntax.n + in let uu____3614 = - let uu____3615 = unmeta t21 in uu____3615.FStar_Syntax_Syntax.n in - (uu____3610, uu____3614) in + let uu____3615 = unmeta t21 in uu____3615.FStar_Syntax_Syntax.n + in + (uu____3610, uu____3614) in match uu____3605 with - | (FStar_Syntax_Syntax.Tm_bvar bv1, FStar_Syntax_Syntax.Tm_bvar bv2) -> + | (FStar_Syntax_Syntax.Tm_bvar bv1,FStar_Syntax_Syntax.Tm_bvar bv2) -> equal_if (bv1.FStar_Syntax_Syntax.index = bv2.FStar_Syntax_Syntax.index) - | (FStar_Syntax_Syntax.Tm_lazy uu____3621, uu____3622) -> - let uu____3623 = unlazy t11 in eq_tm uu____3623 t21 - | (uu____3624, FStar_Syntax_Syntax.Tm_lazy uu____3625) -> - let uu____3626 = unlazy t21 in eq_tm t11 uu____3626 - | (FStar_Syntax_Syntax.Tm_name a, FStar_Syntax_Syntax.Tm_name b) -> + | (FStar_Syntax_Syntax.Tm_lazy uu____3621,uu____3622) -> + let uu____3623 = unlazy t11 in eq_tm uu____3623 t21 + | (uu____3624,FStar_Syntax_Syntax.Tm_lazy uu____3625) -> + let uu____3626 = unlazy t21 in eq_tm t11 uu____3626 + | (FStar_Syntax_Syntax.Tm_name a,FStar_Syntax_Syntax.Tm_name b) -> equal_if (FStar_Syntax_Syntax.bv_eq a b) | uu____3629 when FStar_All.pipe_right heads_and_args_in_case_both_data @@ -1003,137 +1086,146 @@ let rec (eq_tm : -> let uu____3653 = FStar_All.pipe_right heads_and_args_in_case_both_data - FStar_Util.must in + FStar_Util.must + in FStar_All.pipe_right uu____3653 - (fun uu____3701 -> + (fun uu____3701 -> match uu____3701 with - | (f, args1, g, args2) -> equal_data f args1 g args2) - | (FStar_Syntax_Syntax.Tm_fvar f, FStar_Syntax_Syntax.Tm_fvar g) -> - let uu____3716 = FStar_Syntax_Syntax.fv_eq f g in + | (f,args1,g,args2) -> equal_data f args1 g args2) + | (FStar_Syntax_Syntax.Tm_fvar f,FStar_Syntax_Syntax.Tm_fvar g) -> + let uu____3716 = FStar_Syntax_Syntax.fv_eq f g in equal_if uu____3716 - | (FStar_Syntax_Syntax.Tm_uinst (f, us), FStar_Syntax_Syntax.Tm_uinst - (g, vs)) -> - let uu____3730 = eq_tm f g in + | (FStar_Syntax_Syntax.Tm_uinst (f,us),FStar_Syntax_Syntax.Tm_uinst + (g,vs)) -> + let uu____3730 = eq_tm f g in eq_and uu____3730 - (fun uu____3733 -> - let uu____3734 = eq_univs_list us vs in equal_if uu____3734) + (fun uu____3733 -> + let uu____3734 = eq_univs_list us vs in equal_if uu____3734) | (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range - uu____3736), uu____3737) -> Unknown - | (uu____3738, FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range + uu____3736),uu____3737) -> Unknown + | (uu____3738,FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range uu____3739)) -> Unknown - | (FStar_Syntax_Syntax.Tm_constant c, FStar_Syntax_Syntax.Tm_constant - d) -> - let uu____3742 = FStar_Const.eq_const c d in equal_iff uu____3742 - | (FStar_Syntax_Syntax.Tm_uvar (u1, ([], uu____3745)), - FStar_Syntax_Syntax.Tm_uvar (u2, ([], uu____3747))) -> + | (FStar_Syntax_Syntax.Tm_constant c,FStar_Syntax_Syntax.Tm_constant d) + -> + let uu____3742 = FStar_Const.eq_const c d in equal_iff uu____3742 + | (FStar_Syntax_Syntax.Tm_uvar + (u1,([],uu____3745)),FStar_Syntax_Syntax.Tm_uvar + (u2,([],uu____3747))) -> let uu____3776 = FStar_Syntax_Unionfind.equiv u1.FStar_Syntax_Syntax.ctx_uvar_head - u2.FStar_Syntax_Syntax.ctx_uvar_head in + u2.FStar_Syntax_Syntax.ctx_uvar_head + in equal_if uu____3776 - | (FStar_Syntax_Syntax.Tm_app (h1, args1), FStar_Syntax_Syntax.Tm_app - (h2, args2)) -> + | (FStar_Syntax_Syntax.Tm_app (h1,args1),FStar_Syntax_Syntax.Tm_app + (h2,args2)) -> let uu____3830 = let uu____3835 = - let uu____3836 = un_uinst h1 in - uu____3836.FStar_Syntax_Syntax.n in + let uu____3836 = un_uinst h1 in + uu____3836.FStar_Syntax_Syntax.n in let uu____3839 = - let uu____3840 = un_uinst h2 in - uu____3840.FStar_Syntax_Syntax.n in - (uu____3835, uu____3839) in + let uu____3840 = un_uinst h2 in + uu____3840.FStar_Syntax_Syntax.n in + (uu____3835, uu____3839) in (match uu____3830 with - | (FStar_Syntax_Syntax.Tm_fvar f1, FStar_Syntax_Syntax.Tm_fvar f2) + | (FStar_Syntax_Syntax.Tm_fvar f1,FStar_Syntax_Syntax.Tm_fvar f2) when (FStar_Syntax_Syntax.fv_eq f1 f2) && (let uu____3846 = - let uu____3848 = FStar_Syntax_Syntax.lid_of_fv f1 in - FStar_Ident.string_of_lid uu____3848 in + let uu____3848 = FStar_Syntax_Syntax.lid_of_fv f1 in + FStar_Ident.string_of_lid uu____3848 in FStar_List.mem uu____3846 injectives) -> equal_data f1 args1 f2 args2 | uu____3850 -> - let uu____3855 = eq_tm h1 h2 in - eq_and uu____3855 (fun uu____3857 -> eq_args args1 args2)) - | (FStar_Syntax_Syntax.Tm_match (t12, bs1), - FStar_Syntax_Syntax.Tm_match (t22, bs2)) -> + let uu____3855 = eq_tm h1 h2 in + eq_and uu____3855 (fun uu____3857 -> eq_args args1 args2)) + | (FStar_Syntax_Syntax.Tm_match (t12,bs1),FStar_Syntax_Syntax.Tm_match + (t22,bs2)) -> if (FStar_List.length bs1) = (FStar_List.length bs2) then - let uu____3963 = FStar_List.zip bs1 bs2 in - let uu____4026 = eq_tm t12 t22 in + let uu____3963 = FStar_List.zip bs1 bs2 in + let uu____4026 = eq_tm t12 t22 in FStar_List.fold_right - (fun uu____4063 -> - fun a -> + (fun uu____4063 -> + fun a -> match uu____4063 with - | (b1, b2) -> - eq_and a (fun uu____4156 -> branch_matches b1 b2)) + | (b1,b2) -> + eq_and a (fun uu____4156 -> branch_matches b1 b2)) uu____3963 uu____4026 else Unknown - | (FStar_Syntax_Syntax.Tm_type u, FStar_Syntax_Syntax.Tm_type v1) -> - let uu____4161 = eq_univs u v1 in equal_if uu____4161 - | (FStar_Syntax_Syntax.Tm_quoted (t12, q1), - FStar_Syntax_Syntax.Tm_quoted (t22, q2)) -> - let uu____4175 = eq_quoteinfo q1 q2 in - eq_and uu____4175 (fun uu____4177 -> eq_tm t12 t22) - | (FStar_Syntax_Syntax.Tm_refine (t12, phi1), - FStar_Syntax_Syntax.Tm_refine (t22, phi2)) -> + | (FStar_Syntax_Syntax.Tm_type u,FStar_Syntax_Syntax.Tm_type v1) -> + let uu____4161 = eq_univs u v1 in equal_if uu____4161 + | (FStar_Syntax_Syntax.Tm_quoted (t12,q1),FStar_Syntax_Syntax.Tm_quoted + (t22,q2)) -> + let uu____4175 = eq_quoteinfo q1 q2 in + eq_and uu____4175 (fun uu____4177 -> eq_tm t12 t22) + | (FStar_Syntax_Syntax.Tm_refine + (t12,phi1),FStar_Syntax_Syntax.Tm_refine (t22,phi2)) -> let uu____4190 = - eq_tm t12.FStar_Syntax_Syntax.sort t22.FStar_Syntax_Syntax.sort in - eq_and uu____4190 (fun uu____4192 -> eq_tm phi1 phi2) + eq_tm t12.FStar_Syntax_Syntax.sort t22.FStar_Syntax_Syntax.sort + in + eq_and uu____4190 (fun uu____4192 -> eq_tm phi1 phi2) | uu____4193 -> Unknown + and (eq_quoteinfo : FStar_Syntax_Syntax.quoteinfo -> FStar_Syntax_Syntax.quoteinfo -> eq_result) = - fun q1 -> - fun q2 -> + fun q1 -> + fun q2 -> if q1.FStar_Syntax_Syntax.qkind <> q2.FStar_Syntax_Syntax.qkind then NotEqual else eq_antiquotes q1.FStar_Syntax_Syntax.antiquotes q2.FStar_Syntax_Syntax.antiquotes + and (eq_antiquotes : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) Prims.list -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) Prims.list -> eq_result) = - fun a1 -> - fun a2 -> + fun a1 -> + fun a2 -> match (a1, a2) with - | ([], []) -> Equal - | ([], uu____4265) -> NotEqual - | (uu____4296, []) -> NotEqual - | ((x1, t1)::a11, (x2, t2)::a21) -> + | ([],[]) -> Equal + | ([],uu____4265) -> NotEqual + | (uu____4296,[]) -> NotEqual + | ((x1,t1)::a11,(x2,t2)::a21) -> if Prims.op_Negation (FStar_Syntax_Syntax.bv_eq x1 x2) then NotEqual else - (let uu____4388 = eq_tm t1 t2 in + (let uu____4388 = eq_tm t1 t2 in match uu____4388 with - | NotEqual -> NotEqual - | Unknown -> - let uu____4389 = eq_antiquotes a11 a21 in + | NotEqual -> NotEqual + | Unknown -> + let uu____4389 = eq_antiquotes a11 a21 in (match uu____4389 with - | NotEqual -> NotEqual + | NotEqual -> NotEqual | uu____4390 -> Unknown) - | Equal -> eq_antiquotes a11 a21) + | Equal -> eq_antiquotes a11 a21) + and (eq_aqual : FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option -> eq_result) = - fun a1 -> - fun a2 -> + fun a1 -> + fun a2 -> match (a1, a2) with - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) -> Equal - | (FStar_Pervasives_Native.None, uu____4405) -> NotEqual - | (uu____4412, FStar_Pervasives_Native.None) -> NotEqual - | (FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit b1), - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit b2)) when - b1 = b2 -> Equal - | (FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t1), - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t2)) -> + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.None ) -> + Equal + | (FStar_Pervasives_Native.None ,uu____4405) -> NotEqual + | (uu____4412,FStar_Pervasives_Native.None ) -> NotEqual + | (FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit + b1),FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit b2)) + when b1 = b2 -> Equal + | (FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta + t1),FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t2)) -> eq_tm t1 t2 - | (FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality), - FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality)) -> + | (FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality + ),FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality )) -> Equal | uu____4442 -> NotEqual + and (branch_matches : (FStar_Syntax_Syntax.pat' FStar_Syntax_Syntax.withinfo_t * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax @@ -1144,82 +1236,88 @@ and (branch_matches : FStar_Pervasives_Native.option * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) -> eq_result) = - fun b1 -> - fun b2 -> + fun b1 -> + fun b2 -> let related_by f o1 o2 = match (o1, o2) with - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.None ) -> true - | (FStar_Pervasives_Native.Some x, FStar_Pervasives_Native.Some y) -> + | (FStar_Pervasives_Native.Some x,FStar_Pervasives_Native.Some y) -> f x y - | (uu____4534, uu____4535) -> false in - let uu____4545 = b1 in + | (uu____4534,uu____4535) -> false in + let uu____4545 = b1 in match uu____4545 with - | (p1, w1, t1) -> - let uu____4579 = b2 in + | (p1,w1,t1) -> + let uu____4579 = b2 in (match uu____4579 with - | (p2, w2, t2) -> - let uu____4613 = FStar_Syntax_Syntax.eq_pat p1 p2 in + | (p2,w2,t2) -> + let uu____4613 = FStar_Syntax_Syntax.eq_pat p1 p2 in if uu____4613 then let uu____4616 = - (let uu____4620 = eq_tm t1 t2 in uu____4620 = Equal) && + (let uu____4620 = eq_tm t1 t2 in uu____4620 = Equal) && (related_by - (fun t11 -> - fun t21 -> - let uu____4629 = eq_tm t11 t21 in - uu____4629 = Equal) w1 w2) in + (fun t11 -> + fun t21 -> + let uu____4629 = eq_tm t11 t21 in + uu____4629 = Equal) w1 w2) + in (if uu____4616 then Equal else Unknown) else Unknown) + and (eq_args : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.args -> eq_result) = - fun a1 -> - fun a2 -> + fun a1 -> + fun a2 -> match (a1, a2) with - | ([], []) -> Equal - | ((a, uu____4694)::a11, (b, uu____4697)::b1) -> - let uu____4771 = eq_tm a b in + | ([],[]) -> Equal + | ((a,uu____4694)::a11,(b,uu____4697)::b1) -> + let uu____4771 = eq_tm a b in (match uu____4771 with - | Equal -> eq_args a11 b1 + | Equal -> eq_args a11 b1 | uu____4772 -> Unknown) | uu____4773 -> Unknown + and (eq_univs_list : FStar_Syntax_Syntax.universes -> FStar_Syntax_Syntax.universes -> Prims.bool) = - fun us -> - fun vs -> + fun us -> + fun vs -> ((FStar_List.length us) = (FStar_List.length vs)) && (FStar_List.forall2 eq_univs us vs) + let rec (unrefine : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> - let t1 = FStar_Syntax_Subst.compress t in + fun t -> + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_refine (x, uu____4809) -> + | FStar_Syntax_Syntax.Tm_refine (x,uu____4809) -> unrefine x.FStar_Syntax_Syntax.sort - | FStar_Syntax_Syntax.Tm_ascribed (t2, uu____4815, uu____4816) -> + | FStar_Syntax_Syntax.Tm_ascribed (t2,uu____4815,uu____4816) -> unrefine t2 | uu____4857 -> t1 + let rec (is_uvar : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____4865 = - let uu____4866 = FStar_Syntax_Subst.compress t in - uu____4866.FStar_Syntax_Syntax.n in + let uu____4866 = FStar_Syntax_Subst.compress t in + uu____4866.FStar_Syntax_Syntax.n in match uu____4865 with | FStar_Syntax_Syntax.Tm_uvar uu____4870 -> true - | FStar_Syntax_Syntax.Tm_uinst (t1, uu____4885) -> is_uvar t1 + | FStar_Syntax_Syntax.Tm_uinst (t1,uu____4885) -> is_uvar t1 | FStar_Syntax_Syntax.Tm_app uu____4890 -> let uu____4907 = - let uu____4908 = FStar_All.pipe_right t head_and_args in - FStar_All.pipe_right uu____4908 FStar_Pervasives_Native.fst in + let uu____4908 = FStar_All.pipe_right t head_and_args in + FStar_All.pipe_right uu____4908 FStar_Pervasives_Native.fst in FStar_All.pipe_right uu____4907 is_uvar - | FStar_Syntax_Syntax.Tm_ascribed (t1, uu____4971, uu____4972) -> + | FStar_Syntax_Syntax.Tm_ascribed (t1,uu____4971,uu____4972) -> is_uvar t1 | uu____5013 -> false + let rec (is_unit : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____5022 = - let uu____5023 = unrefine t in uu____5023.FStar_Syntax_Syntax.n in + let uu____5023 = unrefine t in uu____5023.FStar_Syntax_Syntax.n in match uu____5022 with | FStar_Syntax_Syntax.Tm_fvar fv -> ((FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.unit_lid) || @@ -1227,58 +1325,64 @@ let rec (is_unit : FStar_Syntax_Syntax.term -> Prims.bool) = || (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.auto_squash_lid) - | FStar_Syntax_Syntax.Tm_app (head1, uu____5029) -> is_unit head1 - | FStar_Syntax_Syntax.Tm_uinst (t1, uu____5055) -> is_unit t1 + | FStar_Syntax_Syntax.Tm_app (head1,uu____5029) -> is_unit head1 + | FStar_Syntax_Syntax.Tm_uinst (t1,uu____5055) -> is_unit t1 | uu____5060 -> false + let (is_eqtype_no_unrefine : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____5069 = - let uu____5070 = FStar_Syntax_Subst.compress t in - uu____5070.FStar_Syntax_Syntax.n in + let uu____5070 = FStar_Syntax_Subst.compress t in + uu____5070.FStar_Syntax_Syntax.n in match uu____5069 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.eqtype_lid | uu____5075 -> false + let rec (non_informative : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____5084 = - let uu____5085 = unrefine t in uu____5085.FStar_Syntax_Syntax.n in + let uu____5085 = unrefine t in uu____5085.FStar_Syntax_Syntax.n in match uu____5084 with | FStar_Syntax_Syntax.Tm_type uu____5089 -> true | FStar_Syntax_Syntax.Tm_fvar fv -> ((FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.unit_lid) || (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.squash_lid)) || (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.erased_lid) - | FStar_Syntax_Syntax.Tm_app (head1, uu____5093) -> non_informative head1 - | FStar_Syntax_Syntax.Tm_uinst (t1, uu____5119) -> non_informative t1 - | FStar_Syntax_Syntax.Tm_arrow (uu____5124, c) -> + | FStar_Syntax_Syntax.Tm_app (head1,uu____5093) -> non_informative head1 + | FStar_Syntax_Syntax.Tm_uinst (t1,uu____5119) -> non_informative t1 + | FStar_Syntax_Syntax.Tm_arrow (uu____5124,c) -> (is_tot_or_gtot_comp c) && (non_informative (comp_result c)) | uu____5146 -> false + let (is_fun : FStar_Syntax_Syntax.term -> Prims.bool) = - fun e -> + fun e -> let uu____5155 = - let uu____5156 = FStar_Syntax_Subst.compress e in - uu____5156.FStar_Syntax_Syntax.n in + let uu____5156 = FStar_Syntax_Subst.compress e in + uu____5156.FStar_Syntax_Syntax.n in match uu____5155 with | FStar_Syntax_Syntax.Tm_abs uu____5160 -> true | uu____5180 -> false + let (is_function_typ : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____5189 = - let uu____5190 = FStar_Syntax_Subst.compress t in - uu____5190.FStar_Syntax_Syntax.n in + let uu____5190 = FStar_Syntax_Subst.compress t in + uu____5190.FStar_Syntax_Syntax.n in match uu____5189 with | FStar_Syntax_Syntax.Tm_arrow uu____5194 -> true | uu____5210 -> false + let rec (pre_typ : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> - let t1 = FStar_Syntax_Subst.compress t in + fun t -> + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_refine (x, uu____5220) -> + | FStar_Syntax_Syntax.Tm_refine (x,uu____5220) -> pre_typ x.FStar_Syntax_Syntax.sort - | FStar_Syntax_Syntax.Tm_ascribed (t2, uu____5226, uu____5227) -> + | FStar_Syntax_Syntax.Tm_ascribed (t2,uu____5226,uu____5227) -> pre_typ t2 | uu____5268 -> t1 + let (destruct : FStar_Syntax_Syntax.term -> FStar_Ident.lident -> @@ -1286,14 +1390,15 @@ let (destruct : FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list FStar_Pervasives_Native.option) = - fun typ -> - fun lid -> - let typ1 = FStar_Syntax_Subst.compress typ in + fun typ -> + fun lid -> + let typ1 = FStar_Syntax_Subst.compress typ in let uu____5293 = - let uu____5294 = un_uinst typ1 in uu____5294.FStar_Syntax_Syntax.n in + let uu____5294 = un_uinst typ1 in uu____5294.FStar_Syntax_Syntax.n + in match uu____5293 with - | FStar_Syntax_Syntax.Tm_app (head1, args) -> - let head2 = un_uinst head1 in + | FStar_Syntax_Syntax.Tm_app (head1,args) -> + let head2 = un_uinst head1 in (match head2.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar tc when FStar_Syntax_Syntax.fv_eq_lid tc lid -> @@ -1303,101 +1408,110 @@ let (destruct : FStar_Syntax_Syntax.fv_eq_lid tc lid -> FStar_Pervasives_Native.Some [] | uu____5389 -> FStar_Pervasives_Native.None + let (lids_of_sigelt : FStar_Syntax_Syntax.sigelt -> FStar_Ident.lident Prims.list) = - fun se -> + fun se -> match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_let (uu____5410, lids) -> lids - | FStar_Syntax_Syntax.Sig_splice (lids, uu____5417) -> lids - | FStar_Syntax_Syntax.Sig_bundle (uu____5422, lids) -> lids + | FStar_Syntax_Syntax.Sig_let (uu____5410,lids) -> lids + | FStar_Syntax_Syntax.Sig_splice (lids,uu____5417) -> lids + | FStar_Syntax_Syntax.Sig_bundle (uu____5422,lids) -> lids | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uu____5433, uu____5434, uu____5435, uu____5436, uu____5437) -> + (lid,uu____5433,uu____5434,uu____5435,uu____5436,uu____5437) -> [lid] | FStar_Syntax_Syntax.Sig_effect_abbrev - (lid, uu____5447, uu____5448, uu____5449, uu____5450) -> [lid] + (lid,uu____5447,uu____5448,uu____5449,uu____5450) -> [lid] | FStar_Syntax_Syntax.Sig_datacon - (lid, uu____5456, uu____5457, uu____5458, uu____5459, uu____5460) -> + (lid,uu____5456,uu____5457,uu____5458,uu____5459,uu____5460) -> [lid] - | FStar_Syntax_Syntax.Sig_declare_typ (lid, uu____5468, uu____5469) -> + | FStar_Syntax_Syntax.Sig_declare_typ (lid,uu____5468,uu____5469) -> [lid] - | FStar_Syntax_Syntax.Sig_assume (lid, uu____5471, uu____5472) -> [lid] + | FStar_Syntax_Syntax.Sig_assume (lid,uu____5471,uu____5472) -> [lid] | FStar_Syntax_Syntax.Sig_new_effect_for_free n1 -> [n1.FStar_Syntax_Syntax.mname] | FStar_Syntax_Syntax.Sig_new_effect n1 -> [n1.FStar_Syntax_Syntax.mname] | FStar_Syntax_Syntax.Sig_sub_effect uu____5475 -> [] | FStar_Syntax_Syntax.Sig_pragma uu____5476 -> [] | FStar_Syntax_Syntax.Sig_main uu____5477 -> [] + let (lid_of_sigelt : FStar_Syntax_Syntax.sigelt -> FStar_Ident.lident FStar_Pervasives_Native.option) = - fun se -> + fun se -> match lids_of_sigelt se with | l::[] -> FStar_Pervasives_Native.Some l | uu____5491 -> FStar_Pervasives_Native.None + let (quals_of_sigelt : FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.qualifier Prims.list) = - fun x -> x.FStar_Syntax_Syntax.sigquals + fun x -> x.FStar_Syntax_Syntax.sigquals let (range_of_sigelt : FStar_Syntax_Syntax.sigelt -> FStar_Range.range) = - fun x -> x.FStar_Syntax_Syntax.sigrng + fun x -> x.FStar_Syntax_Syntax.sigrng let (range_of_lbname : - (FStar_Syntax_Syntax.bv, FStar_Syntax_Syntax.fv) FStar_Util.either -> + (FStar_Syntax_Syntax.bv,FStar_Syntax_Syntax.fv) FStar_Util.either -> FStar_Range.range) = - fun uu___11_5517 -> + fun uu___11_5517 -> match uu___11_5517 with | FStar_Util.Inl x -> FStar_Syntax_Syntax.range_of_bv x | FStar_Util.Inr fv -> FStar_Ident.range_of_lid (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + let range_of_arg : 'Auu____5531 'Auu____5532 . ('Auu____5531 FStar_Syntax_Syntax.syntax * 'Auu____5532) -> FStar_Range.range = - fun uu____5543 -> - match uu____5543 with | (hd1, uu____5551) -> hd1.FStar_Syntax_Syntax.pos + fun uu____5543 -> + match uu____5543 with | (hd1,uu____5551) -> hd1.FStar_Syntax_Syntax.pos + let range_of_args : 'Auu____5565 'Auu____5566 . ('Auu____5565 FStar_Syntax_Syntax.syntax * 'Auu____5566) Prims.list -> FStar_Range.range -> FStar_Range.range = - fun args -> - fun r -> + fun args -> + fun r -> FStar_All.pipe_right args (FStar_List.fold_left - (fun r1 -> fun a -> FStar_Range.union_ranges r1 (range_of_arg a)) + (fun r1 -> fun a -> FStar_Range.union_ranges r1 (range_of_arg a)) r) + let (mk_app : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun f -> - fun args -> + fun f -> + fun args -> match args with | [] -> f | uu____5664 -> - let r = range_of_args args f.FStar_Syntax_Syntax.pos in + let r = range_of_args args f.FStar_Syntax_Syntax.pos in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (f, args)) FStar_Pervasives_Native.None r + let (mk_app_binders : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun f -> - fun bs -> + fun f -> + fun bs -> let uu____5723 = FStar_List.map - (fun uu____5750 -> + (fun uu____5750 -> match uu____5750 with - | (bv, aq) -> - let uu____5769 = FStar_Syntax_Syntax.bv_to_name bv in - (uu____5769, aq)) bs in + | (bv,aq) -> + let uu____5769 = FStar_Syntax_Syntax.bv_to_name bv in + (uu____5769, aq)) bs + in mk_app f uu____5723 + let (mk_data : FStar_Ident.lident -> (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * @@ -1406,40 +1520,44 @@ let (mk_data : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax FStar_Syntax_Syntax.syntax) = - fun l -> - fun args -> + fun l -> + fun args -> match args with | [] -> - let uu____5819 = FStar_Ident.range_of_lid l in + let uu____5819 = FStar_Ident.range_of_lid l in let uu____5820 = let uu____5829 = FStar_Syntax_Syntax.fvar l FStar_Syntax_Syntax.delta_constant - (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) in - FStar_Syntax_Syntax.mk uu____5829 in + (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + in + FStar_Syntax_Syntax.mk uu____5829 in uu____5820 FStar_Pervasives_Native.None uu____5819 | uu____5834 -> let e = let uu____5848 = FStar_Syntax_Syntax.fvar l FStar_Syntax_Syntax.delta_constant - (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) in - mk_app uu____5848 args in + (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + in + mk_app uu____5848 args in FStar_Syntax_Syntax.mk e FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos -let (field_projector_prefix : Prims.string) = "__proj__" -let (field_projector_sep : Prims.string) = "__item__" + +let (field_projector_prefix : Prims.string) = "__proj__" +let (field_projector_sep : Prims.string) = "__item__" let (field_projector_contains_constructor : Prims.string -> Prims.bool) = - fun s -> FStar_Util.starts_with s field_projector_prefix + fun s -> FStar_Util.starts_with s field_projector_prefix let (mk_field_projector_name_from_string : Prims.string -> Prims.string -> Prims.string) = - fun constr -> - fun field -> + fun constr -> + fun field -> Prims.op_Hat field_projector_prefix (Prims.op_Hat constr (Prims.op_Hat field_projector_sep field)) + let (mk_field_projector_name_from_ident : FStar_Ident.lident -> FStar_Ident.ident -> FStar_Ident.lident) = - fun lid -> - fun i -> - let itext = i.FStar_Ident.idText in + fun lid -> + fun i -> + let itext = i.FStar_Ident.idText in let newi = if field_projector_contains_constructor itext then i @@ -1447,204 +1565,217 @@ let (mk_field_projector_name_from_ident : FStar_Ident.mk_ident ((mk_field_projector_name_from_string (lid.FStar_Ident.ident).FStar_Ident.idText itext), - (i.FStar_Ident.idRange)) in + (i.FStar_Ident.idRange)) + in FStar_Ident.lid_of_ids (FStar_List.append lid.FStar_Ident.ns [newi]) + let (mk_field_projector_name : FStar_Ident.lident -> FStar_Syntax_Syntax.bv -> Prims.int -> (FStar_Ident.lident * FStar_Syntax_Syntax.bv)) = - fun lid -> - fun x -> - fun i -> + fun lid -> + fun x -> + fun i -> let nm = - let uu____5925 = FStar_Syntax_Syntax.is_null_bv x in + let uu____5925 = FStar_Syntax_Syntax.is_null_bv x in if uu____5925 then let uu____5928 = let uu____5934 = - let uu____5936 = FStar_Util.string_of_int i in - Prims.op_Hat "_" uu____5936 in - let uu____5939 = FStar_Syntax_Syntax.range_of_bv x in - (uu____5934, uu____5939) in + let uu____5936 = FStar_Util.string_of_int i in + Prims.op_Hat "_" uu____5936 in + let uu____5939 = FStar_Syntax_Syntax.range_of_bv x in + (uu____5934, uu____5939) in FStar_Ident.mk_ident uu____5928 - else x.FStar_Syntax_Syntax.ppname in + else x.FStar_Syntax_Syntax.ppname in let y = - let uu___993_5944 = x in + let uu___993_5944 = x in { FStar_Syntax_Syntax.ppname = nm; FStar_Syntax_Syntax.index = (uu___993_5944.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = (uu___993_5944.FStar_Syntax_Syntax.sort) - } in - let uu____5945 = mk_field_projector_name_from_ident lid nm in + } in + let uu____5945 = mk_field_projector_name_from_ident lid nm in (uu____5945, y) + let (ses_of_sigbundle : FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt Prims.list) = - fun se -> + fun se -> match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle (ses, uu____5957) -> ses + | FStar_Syntax_Syntax.Sig_bundle (ses,uu____5957) -> ses | uu____5966 -> failwith "ses_of_sigbundle: not a Sig_bundle" + let (eff_decl_of_new_effect : FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.eff_decl) = - fun se -> + fun se -> match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_new_effect ne -> ne | uu____5977 -> failwith "eff_decl_of_new_effect: not a Sig_new_effect" + let (set_uvar : FStar_Syntax_Syntax.uvar -> FStar_Syntax_Syntax.term -> unit) = - fun uv -> - fun t -> - let uu____5990 = FStar_Syntax_Unionfind.find uv in + fun uv -> + fun t -> + let uu____5990 = FStar_Syntax_Unionfind.find uv in match uu____5990 with | FStar_Pervasives_Native.Some uu____5993 -> let uu____5994 = let uu____5996 = - let uu____5998 = FStar_Syntax_Unionfind.uvar_id uv in - FStar_All.pipe_left FStar_Util.string_of_int uu____5998 in - FStar_Util.format1 "Changing a fixed uvar! ?%s\n" uu____5996 in + let uu____5998 = FStar_Syntax_Unionfind.uvar_id uv in + FStar_All.pipe_left FStar_Util.string_of_int uu____5998 in + FStar_Util.format1 "Changing a fixed uvar! ?%s\n" uu____5996 in failwith uu____5994 | uu____6003 -> FStar_Syntax_Unionfind.change uv t + let (qualifier_equal : FStar_Syntax_Syntax.qualifier -> FStar_Syntax_Syntax.qualifier -> Prims.bool) = - fun q1 -> - fun q2 -> + fun q1 -> + fun q2 -> match (q1, q2) with - | (FStar_Syntax_Syntax.Discriminator l1, - FStar_Syntax_Syntax.Discriminator l2) -> + | (FStar_Syntax_Syntax.Discriminator + l1,FStar_Syntax_Syntax.Discriminator l2) -> FStar_Ident.lid_equals l1 l2 - | (FStar_Syntax_Syntax.Projector (l1a, l1b), - FStar_Syntax_Syntax.Projector (l2a, l2b)) -> + | (FStar_Syntax_Syntax.Projector + (l1a,l1b),FStar_Syntax_Syntax.Projector (l2a,l2b)) -> (FStar_Ident.lid_equals l1a l2a) && (l1b.FStar_Ident.idText = l2b.FStar_Ident.idText) - | (FStar_Syntax_Syntax.RecordType (ns1, f1), - FStar_Syntax_Syntax.RecordType (ns2, f2)) -> + | (FStar_Syntax_Syntax.RecordType + (ns1,f1),FStar_Syntax_Syntax.RecordType (ns2,f2)) -> ((((FStar_List.length ns1) = (FStar_List.length ns2)) && (FStar_List.forall2 - (fun x1 -> - fun x2 -> x1.FStar_Ident.idText = x2.FStar_Ident.idText) + (fun x1 -> + fun x2 -> x1.FStar_Ident.idText = x2.FStar_Ident.idText) f1 f2)) && ((FStar_List.length f1) = (FStar_List.length f2))) && (FStar_List.forall2 - (fun x1 -> - fun x2 -> x1.FStar_Ident.idText = x2.FStar_Ident.idText) f1 - f2) - | (FStar_Syntax_Syntax.RecordConstructor (ns1, f1), - FStar_Syntax_Syntax.RecordConstructor (ns2, f2)) -> + (fun x1 -> + fun x2 -> x1.FStar_Ident.idText = x2.FStar_Ident.idText) + f1 f2) + | (FStar_Syntax_Syntax.RecordConstructor + (ns1,f1),FStar_Syntax_Syntax.RecordConstructor (ns2,f2)) -> ((((FStar_List.length ns1) = (FStar_List.length ns2)) && (FStar_List.forall2 - (fun x1 -> - fun x2 -> x1.FStar_Ident.idText = x2.FStar_Ident.idText) + (fun x1 -> + fun x2 -> x1.FStar_Ident.idText = x2.FStar_Ident.idText) f1 f2)) && ((FStar_List.length f1) = (FStar_List.length f2))) && (FStar_List.forall2 - (fun x1 -> - fun x2 -> x1.FStar_Ident.idText = x2.FStar_Ident.idText) f1 - f2) + (fun x1 -> + fun x2 -> x1.FStar_Ident.idText = x2.FStar_Ident.idText) + f1 f2) | uu____6086 -> q1 = q2 + let (abs : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun bs -> - fun t -> - fun lopt -> + fun bs -> + fun t -> + fun lopt -> let close_lopt lopt1 = match lopt1 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some rc -> let uu____6132 = - let uu___1054_6133 = rc in + let uu___1054_6133 = rc in let uu____6134 = FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (FStar_Syntax_Subst.close bs) in + (FStar_Syntax_Subst.close bs) + in { FStar_Syntax_Syntax.residual_effect = (uu___1054_6133.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = uu____6134; FStar_Syntax_Syntax.residual_flags = (uu___1054_6133.FStar_Syntax_Syntax.residual_flags) - } in - FStar_Pervasives_Native.Some uu____6132 in + } in + FStar_Pervasives_Native.Some uu____6132 + in match bs with | [] -> t | uu____6151 -> let body = - let uu____6153 = FStar_Syntax_Subst.close bs t in - FStar_Syntax_Subst.compress uu____6153 in + let uu____6153 = FStar_Syntax_Subst.close bs t in + FStar_Syntax_Subst.compress uu____6153 in (match body.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_abs (bs', t1, lopt') -> + | FStar_Syntax_Syntax.Tm_abs (bs',t1,lopt') -> let uu____6183 = let uu____6190 = let uu____6191 = let uu____6210 = - let uu____6219 = FStar_Syntax_Subst.close_binders bs in - FStar_List.append uu____6219 bs' in - let uu____6234 = close_lopt lopt' in - (uu____6210, t1, uu____6234) in - FStar_Syntax_Syntax.Tm_abs uu____6191 in - FStar_Syntax_Syntax.mk uu____6190 in + let uu____6219 = FStar_Syntax_Subst.close_binders bs + in + FStar_List.append uu____6219 bs' in + let uu____6234 = close_lopt lopt' in + (uu____6210, t1, uu____6234) in + FStar_Syntax_Syntax.Tm_abs uu____6191 in + FStar_Syntax_Syntax.mk uu____6190 in uu____6183 FStar_Pervasives_Native.None t1.FStar_Syntax_Syntax.pos | uu____6249 -> let uu____6250 = let uu____6257 = let uu____6258 = - let uu____6277 = FStar_Syntax_Subst.close_binders bs in - let uu____6286 = close_lopt lopt in - (uu____6277, body, uu____6286) in - FStar_Syntax_Syntax.Tm_abs uu____6258 in - FStar_Syntax_Syntax.mk uu____6257 in + let uu____6277 = FStar_Syntax_Subst.close_binders bs + in + let uu____6286 = close_lopt lopt in + (uu____6277, body, uu____6286) in + FStar_Syntax_Syntax.Tm_abs uu____6258 in + FStar_Syntax_Syntax.mk uu____6257 in uu____6250 FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos) + let (arrow : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun bs -> - fun c -> + fun bs -> + fun c -> match bs with | [] -> comp_result c | uu____6342 -> let uu____6351 = let uu____6358 = let uu____6359 = - let uu____6374 = FStar_Syntax_Subst.close_binders bs in - let uu____6383 = FStar_Syntax_Subst.close_comp bs c in - (uu____6374, uu____6383) in - FStar_Syntax_Syntax.Tm_arrow uu____6359 in - FStar_Syntax_Syntax.mk uu____6358 in + let uu____6374 = FStar_Syntax_Subst.close_binders bs in + let uu____6383 = FStar_Syntax_Subst.close_comp bs c in + (uu____6374, uu____6383) in + FStar_Syntax_Syntax.Tm_arrow uu____6359 in + FStar_Syntax_Syntax.mk uu____6358 in uu____6351 FStar_Pervasives_Native.None c.FStar_Syntax_Syntax.pos + let (flat_arrow : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun bs -> - fun c -> - let t = arrow bs c in + fun bs -> + fun c -> + let t = arrow bs c in let uu____6432 = - let uu____6433 = FStar_Syntax_Subst.compress t in - uu____6433.FStar_Syntax_Syntax.n in + let uu____6433 = FStar_Syntax_Subst.compress t in + uu____6433.FStar_Syntax_Syntax.n in match uu____6432 with - | FStar_Syntax_Syntax.Tm_arrow (bs1, c1) -> + | FStar_Syntax_Syntax.Tm_arrow (bs1,c1) -> (match c1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (tres, uu____6463) -> + | FStar_Syntax_Syntax.Total (tres,uu____6463) -> let uu____6472 = - let uu____6473 = FStar_Syntax_Subst.compress tres in - uu____6473.FStar_Syntax_Syntax.n in + let uu____6473 = FStar_Syntax_Subst.compress tres in + uu____6473.FStar_Syntax_Syntax.n in (match uu____6472 with - | FStar_Syntax_Syntax.Tm_arrow (bs', c') -> + | FStar_Syntax_Syntax.Tm_arrow (bs',c') -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow ((FStar_List.append bs1 bs'), c')) @@ -1652,183 +1783,192 @@ let (flat_arrow : | uu____6516 -> t) | uu____6517 -> t) | uu____6518 -> t + let (refine : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun b -> - fun t -> + fun b -> + fun t -> let uu____6536 = - let uu____6537 = FStar_Syntax_Syntax.range_of_bv b in - FStar_Range.union_ranges uu____6537 t.FStar_Syntax_Syntax.pos in + let uu____6537 = FStar_Syntax_Syntax.range_of_bv b in + FStar_Range.union_ranges uu____6537 t.FStar_Syntax_Syntax.pos in let uu____6538 = let uu____6545 = let uu____6546 = let uu____6553 = let uu____6556 = - let uu____6557 = FStar_Syntax_Syntax.mk_binder b in - [uu____6557] in - FStar_Syntax_Subst.close uu____6556 t in - (b, uu____6553) in - FStar_Syntax_Syntax.Tm_refine uu____6546 in - FStar_Syntax_Syntax.mk uu____6545 in + let uu____6557 = FStar_Syntax_Syntax.mk_binder b in + [uu____6557] in + FStar_Syntax_Subst.close uu____6556 t in + (b, uu____6553) in + FStar_Syntax_Syntax.Tm_refine uu____6546 in + FStar_Syntax_Syntax.mk uu____6545 in uu____6538 FStar_Pervasives_Native.None uu____6536 + let (branch : FStar_Syntax_Syntax.branch -> FStar_Syntax_Syntax.branch) = - fun b -> FStar_Syntax_Subst.close_branch b + fun b -> FStar_Syntax_Subst.close_branch b let rec (arrow_formals_comp : FStar_Syntax_Syntax.term -> ((FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list * FStar_Syntax_Syntax.comp)) = - fun k -> - let k1 = FStar_Syntax_Subst.compress k in + fun k -> + let k1 = FStar_Syntax_Subst.compress k in match k1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____6637 = FStar_Syntax_Subst.open_comp bs c in + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____6637 = FStar_Syntax_Subst.open_comp bs c in (match uu____6637 with - | (bs1, c1) -> - let uu____6656 = is_total_comp c1 in + | (bs1,c1) -> + let uu____6656 = is_total_comp c1 in if uu____6656 then - let uu____6671 = arrow_formals_comp (comp_result c1) in + let uu____6671 = arrow_formals_comp (comp_result c1) in (match uu____6671 with - | (bs', k2) -> ((FStar_List.append bs1 bs'), k2)) + | (bs',k2) -> ((FStar_List.append bs1 bs'), k2)) else (bs1, c1)) | FStar_Syntax_Syntax.Tm_refine ({ FStar_Syntax_Syntax.ppname = uu____6738; FStar_Syntax_Syntax.index = uu____6739; - FStar_Syntax_Syntax.sort = s;_}, - uu____6741) + FStar_Syntax_Syntax.sort = s;_},uu____6741) -> let rec aux s1 k2 = let uu____6772 = - let uu____6773 = FStar_Syntax_Subst.compress s1 in - uu____6773.FStar_Syntax_Syntax.n in + let uu____6773 = FStar_Syntax_Subst.compress s1 in + uu____6773.FStar_Syntax_Syntax.n in match uu____6772 with | FStar_Syntax_Syntax.Tm_arrow uu____6788 -> arrow_formals_comp s1 | FStar_Syntax_Syntax.Tm_refine ({ FStar_Syntax_Syntax.ppname = uu____6803; FStar_Syntax_Syntax.index = uu____6804; - FStar_Syntax_Syntax.sort = s2;_}, - uu____6806) + FStar_Syntax_Syntax.sort = s2;_},uu____6806) -> aux s2 k2 | uu____6814 -> - let uu____6815 = FStar_Syntax_Syntax.mk_Total k2 in - ([], uu____6815) in + let uu____6815 = FStar_Syntax_Syntax.mk_Total k2 in + ([], uu____6815) + in aux s k1 | uu____6830 -> - let uu____6831 = FStar_Syntax_Syntax.mk_Total k1 in ([], uu____6831) + let uu____6831 = FStar_Syntax_Syntax.mk_Total k1 in ([], uu____6831) + let rec (arrow_formals : FStar_Syntax_Syntax.term -> ((FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax)) = - fun k -> - let uu____6866 = arrow_formals_comp k in - match uu____6866 with | (bs, c) -> (bs, (comp_result c)) + fun k -> + let uu____6866 = arrow_formals_comp k in + match uu____6866 with | (bs,c) -> (bs, (comp_result c)) + let (let_rec_arity : FStar_Syntax_Syntax.letbinding -> (Prims.int * Prims.bool Prims.list FStar_Pervasives_Native.option)) = - fun lb -> + fun lb -> let rec arrow_until_decreases k = - let k1 = FStar_Syntax_Subst.compress k in + let k1 = FStar_Syntax_Subst.compress k in match k1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____7008 = FStar_Syntax_Subst.open_comp bs c in + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____7008 = FStar_Syntax_Subst.open_comp bs c in (match uu____7008 with - | (bs1, c1) -> - let ct = comp_to_comp_typ c1 in + | (bs1,c1) -> + let ct = comp_to_comp_typ c1 in let uu____7032 = FStar_All.pipe_right ct.FStar_Syntax_Syntax.flags (FStar_Util.find_opt - (fun uu___12_7041 -> + (fun uu___12_7041 -> match uu___12_7041 with | FStar_Syntax_Syntax.DECREASES uu____7043 -> true - | uu____7047 -> false)) in + | uu____7047 -> false)) + in (match uu____7032 with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.DECREASES d) -> (bs1, (FStar_Pervasives_Native.Some d)) | uu____7082 -> - let uu____7085 = is_total_comp c1 in + let uu____7085 = is_total_comp c1 in if uu____7085 then - let uu____7104 = arrow_until_decreases (comp_result c1) in + let uu____7104 = arrow_until_decreases (comp_result c1) + in (match uu____7104 with - | (bs', d) -> ((FStar_List.append bs1 bs'), d)) + | (bs',d) -> ((FStar_List.append bs1 bs'), d)) else (bs1, FStar_Pervasives_Native.None))) | FStar_Syntax_Syntax.Tm_refine ({ FStar_Syntax_Syntax.ppname = uu____7197; FStar_Syntax_Syntax.index = uu____7198; - FStar_Syntax_Syntax.sort = k2;_}, - uu____7200) + FStar_Syntax_Syntax.sort = k2;_},uu____7200) -> arrow_until_decreases k2 - | uu____7208 -> ([], FStar_Pervasives_Native.None) in - let uu____7229 = arrow_until_decreases lb.FStar_Syntax_Syntax.lbtyp in + | uu____7208 -> ([], FStar_Pervasives_Native.None) in + let uu____7229 = arrow_until_decreases lb.FStar_Syntax_Syntax.lbtyp in match uu____7229 with - | (bs, dopt) -> - let n_univs = FStar_List.length lb.FStar_Syntax_Syntax.lbunivs in + | (bs,dopt) -> + let n_univs = FStar_List.length lb.FStar_Syntax_Syntax.lbunivs in let uu____7283 = FStar_Util.map_opt dopt - (fun d -> - let d_bvs = FStar_Syntax_Free.names d in + (fun d -> + let d_bvs = FStar_Syntax_Free.names d in let uu____7304 = - FStar_Common.tabulate n_univs (fun uu____7310 -> false) in + FStar_Common.tabulate n_univs (fun uu____7310 -> false) in let uu____7313 = FStar_All.pipe_right bs (FStar_List.map - (fun uu____7338 -> + (fun uu____7338 -> match uu____7338 with - | (x, uu____7347) -> FStar_Util.set_mem x d_bvs)) in - FStar_List.append uu____7304 uu____7313) in + | (x,uu____7347) -> FStar_Util.set_mem x d_bvs)) + in + FStar_List.append uu____7304 uu____7313) + in ((n_univs + (FStar_List.length bs)), uu____7283) + let (abs_formals : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option)) = - fun t -> + fun t -> let subst_lcomp_opt s l = match l with | FStar_Pervasives_Native.Some rc -> let uu____7403 = - let uu___1176_7404 = rc in + let uu___1176_7404 = rc in let uu____7405 = FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (FStar_Syntax_Subst.subst s) in + (FStar_Syntax_Subst.subst s) + in { FStar_Syntax_Syntax.residual_effect = (uu___1176_7404.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = uu____7405; FStar_Syntax_Syntax.residual_flags = (uu___1176_7404.FStar_Syntax_Syntax.residual_flags) - } in + } in FStar_Pervasives_Native.Some uu____7403 - | uu____7414 -> l in + | uu____7414 -> l in let rec aux t1 abs_body_lcomp = let uu____7448 = let uu____7449 = - let uu____7452 = FStar_Syntax_Subst.compress t1 in - FStar_All.pipe_left unascribe uu____7452 in - uu____7449.FStar_Syntax_Syntax.n in + let uu____7452 = FStar_Syntax_Subst.compress t1 in + FStar_All.pipe_left unascribe uu____7452 in + uu____7449.FStar_Syntax_Syntax.n in match uu____7448 with - | FStar_Syntax_Syntax.Tm_abs (bs, t2, what) -> - let uu____7498 = aux t2 what in + | FStar_Syntax_Syntax.Tm_abs (bs,t2,what) -> + let uu____7498 = aux t2 what in (match uu____7498 with - | (bs', t3, what1) -> ((FStar_List.append bs bs'), t3, what1)) - | uu____7570 -> ([], t1, abs_body_lcomp) in - let uu____7587 = aux t FStar_Pervasives_Native.None in + | (bs',t3,what1) -> ((FStar_List.append bs bs'), t3, what1)) + | uu____7570 -> ([], t1, abs_body_lcomp) in + let uu____7587 = aux t FStar_Pervasives_Native.None in match uu____7587 with - | (bs, t1, abs_body_lcomp) -> - let uu____7635 = FStar_Syntax_Subst.open_term' bs t1 in + | (bs,t1,abs_body_lcomp) -> + let uu____7635 = FStar_Syntax_Subst.open_term' bs t1 in (match uu____7635 with - | (bs1, t2, opening) -> - let abs_body_lcomp1 = subst_lcomp_opt opening abs_body_lcomp in + | (bs1,t2,opening) -> + let abs_body_lcomp1 = subst_lcomp_opt opening abs_body_lcomp in (bs1, t2, abs_body_lcomp1)) + let (mk_letbinding : - (FStar_Syntax_Syntax.bv, FStar_Syntax_Syntax.fv) FStar_Util.either -> + (FStar_Syntax_Syntax.bv,FStar_Syntax_Syntax.fv) FStar_Util.either -> FStar_Syntax_Syntax.univ_name Prims.list -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Ident.lident -> @@ -1836,13 +1976,13 @@ let (mk_letbinding : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax Prims.list -> FStar_Range.range -> FStar_Syntax_Syntax.letbinding) = - fun lbname -> - fun univ_vars -> - fun typ -> - fun eff -> - fun def -> - fun lbattrs -> - fun pos -> + fun lbname -> + fun univ_vars -> + fun typ -> + fun eff -> + fun def -> + fun lbattrs -> + fun pos -> { FStar_Syntax_Syntax.lbname = lbname; FStar_Syntax_Syntax.lbunivs = univ_vars; @@ -1852,9 +1992,10 @@ let (mk_letbinding : FStar_Syntax_Syntax.lbattrs = lbattrs; FStar_Syntax_Syntax.lbpos = pos } + let (close_univs_and_mk_letbinding : FStar_Syntax_Syntax.fv Prims.list FStar_Pervasives_Native.option -> - (FStar_Syntax_Syntax.bv, FStar_Syntax_Syntax.fv) FStar_Util.either -> + (FStar_Syntax_Syntax.bv,FStar_Syntax_Syntax.fv) FStar_Util.either -> FStar_Syntax_Syntax.univ_name Prims.list -> FStar_Syntax_Syntax.term -> FStar_Ident.lident -> @@ -1862,34 +2003,40 @@ let (close_univs_and_mk_letbinding : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax Prims.list -> FStar_Range.range -> FStar_Syntax_Syntax.letbinding) = - fun recs -> - fun lbname -> - fun univ_vars -> - fun typ -> - fun eff -> - fun def -> - fun attrs -> - fun pos -> + fun recs -> + fun lbname -> + fun univ_vars -> + fun typ -> + fun eff -> + fun def -> + fun attrs -> + fun pos -> let def1 = match (recs, univ_vars) with - | (FStar_Pervasives_Native.None, uu____7798) -> def - | (uu____7809, []) -> def - | (FStar_Pervasives_Native.Some fvs, uu____7821) -> + | (FStar_Pervasives_Native.None ,uu____7798) -> def + | (uu____7809,[]) -> def + | (FStar_Pervasives_Native.Some fvs,uu____7821) -> let universes = FStar_All.pipe_right univ_vars (FStar_List.map - (fun _7837 -> FStar_Syntax_Syntax.U_name _7837)) in + (fun _7837 -> + FStar_Syntax_Syntax.U_name _7837)) + in let inst1 = FStar_All.pipe_right fvs (FStar_List.map - (fun fv -> + (fun fv -> (((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v), - universes))) in - FStar_Syntax_InstFV.instantiate inst1 def in - let typ1 = FStar_Syntax_Subst.close_univ_vars univ_vars typ in + universes))) + in + FStar_Syntax_InstFV.instantiate inst1 def + in + let typ1 = FStar_Syntax_Subst.close_univ_vars univ_vars typ + in let def2 = - FStar_Syntax_Subst.close_univ_vars univ_vars def1 in + FStar_Syntax_Subst.close_univ_vars univ_vars def1 in mk_letbinding lbname univ_vars typ1 eff def2 attrs pos + let (open_univ_vars_binders_and_comp : FStar_Syntax_Syntax.univ_names -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier @@ -1899,88 +2046,93 @@ let (open_univ_vars_binders_and_comp : FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list * FStar_Syntax_Syntax.comp)) = - fun uvs -> - fun binders -> - fun c -> + fun uvs -> + fun binders -> + fun c -> match binders with | [] -> - let uu____7919 = FStar_Syntax_Subst.open_univ_vars_comp uvs c in - (match uu____7919 with | (uvs1, c1) -> (uvs1, [], c1)) + let uu____7919 = FStar_Syntax_Subst.open_univ_vars_comp uvs c in + (match uu____7919 with | (uvs1,c1) -> (uvs1, [], c1)) | uu____7954 -> - let t' = arrow binders c in - let uu____7966 = FStar_Syntax_Subst.open_univ_vars uvs t' in + let t' = arrow binders c in + let uu____7966 = FStar_Syntax_Subst.open_univ_vars uvs t' in (match uu____7966 with - | (uvs1, t'1) -> + | (uvs1,t'1) -> let uu____7987 = - let uu____7988 = FStar_Syntax_Subst.compress t'1 in - uu____7988.FStar_Syntax_Syntax.n in + let uu____7988 = FStar_Syntax_Subst.compress t'1 in + uu____7988.FStar_Syntax_Syntax.n in (match uu____7987 with - | FStar_Syntax_Syntax.Tm_arrow (binders1, c1) -> + | FStar_Syntax_Syntax.Tm_arrow (binders1,c1) -> (uvs1, binders1, c1) | uu____8037 -> failwith "Impossible")) + let (is_tuple_constructor : FStar_Syntax_Syntax.typ -> Prims.bool) = - fun t -> + fun t -> match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Parser_Const.is_tuple_constructor_string ((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.str | uu____8062 -> false + let (is_dtuple_constructor : FStar_Syntax_Syntax.typ -> Prims.bool) = - fun t -> + fun t -> match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Parser_Const.is_dtuple_constructor_lid (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v | uu____8073 -> false + let (is_lid_equality : FStar_Ident.lident -> Prims.bool) = - fun x -> FStar_Ident.lid_equals x FStar_Parser_Const.eq2_lid + fun x -> FStar_Ident.lid_equals x FStar_Parser_Const.eq2_lid let (is_forall : FStar_Ident.lident -> Prims.bool) = - fun lid -> FStar_Ident.lid_equals lid FStar_Parser_Const.forall_lid + fun lid -> FStar_Ident.lid_equals lid FStar_Parser_Const.forall_lid let (is_exists : FStar_Ident.lident -> Prims.bool) = - fun lid -> FStar_Ident.lid_equals lid FStar_Parser_Const.exists_lid + fun lid -> FStar_Ident.lid_equals lid FStar_Parser_Const.exists_lid let (is_qlid : FStar_Ident.lident -> Prims.bool) = - fun lid -> (is_forall lid) || (is_exists lid) + fun lid -> (is_forall lid) || (is_exists lid) let (is_equality : FStar_Ident.lident FStar_Syntax_Syntax.withinfo_t -> Prims.bool) = - fun x -> is_lid_equality x.FStar_Syntax_Syntax.v + fun x -> is_lid_equality x.FStar_Syntax_Syntax.v let (lid_is_connective : FStar_Ident.lident -> Prims.bool) = let lst = [FStar_Parser_Const.and_lid; FStar_Parser_Const.or_lid; FStar_Parser_Const.not_lid; FStar_Parser_Const.iff_lid; - FStar_Parser_Const.imp_lid] in - fun lid -> FStar_Util.for_some (FStar_Ident.lid_equals lid) lst + FStar_Parser_Const.imp_lid] in + fun lid -> FStar_Util.for_some (FStar_Ident.lid_equals lid) lst let (is_constructor : FStar_Syntax_Syntax.term -> FStar_Ident.lident -> Prims.bool) = - fun t -> - fun lid -> + fun t -> + fun lid -> let uu____8136 = - let uu____8137 = pre_typ t in uu____8137.FStar_Syntax_Syntax.n in + let uu____8137 = pre_typ t in uu____8137.FStar_Syntax_Syntax.n in match uu____8136 with | FStar_Syntax_Syntax.Tm_fvar tc -> FStar_Ident.lid_equals (tc.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v lid | uu____8142 -> false + let rec (is_constructed_typ : FStar_Syntax_Syntax.term -> FStar_Ident.lident -> Prims.bool) = - fun t -> - fun lid -> + fun t -> + fun lid -> let uu____8156 = - let uu____8157 = pre_typ t in uu____8157.FStar_Syntax_Syntax.n in + let uu____8157 = pre_typ t in uu____8157.FStar_Syntax_Syntax.n in match uu____8156 with | FStar_Syntax_Syntax.Tm_fvar uu____8161 -> is_constructor t lid - | FStar_Syntax_Syntax.Tm_app (t1, uu____8163) -> + | FStar_Syntax_Syntax.Tm_app (t1,uu____8163) -> is_constructed_typ t1 lid - | FStar_Syntax_Syntax.Tm_uinst (t1, uu____8189) -> + | FStar_Syntax_Syntax.Tm_uinst (t1,uu____8189) -> is_constructed_typ t1 lid | uu____8194 -> false + let rec (get_tycon : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun t -> - let t1 = pre_typ t in + fun t -> + let t1 = pre_typ t in match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_bvar uu____8207 -> FStar_Pervasives_Native.Some t1 @@ -1988,54 +2140,63 @@ let rec (get_tycon : FStar_Pervasives_Native.Some t1 | FStar_Syntax_Syntax.Tm_fvar uu____8209 -> FStar_Pervasives_Native.Some t1 - | FStar_Syntax_Syntax.Tm_app (t2, uu____8211) -> get_tycon t2 + | FStar_Syntax_Syntax.Tm_app (t2,uu____8211) -> get_tycon t2 | uu____8236 -> FStar_Pervasives_Native.None + let (is_fstar_tactics_by_tactic : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____8244 = - let uu____8245 = un_uinst t in uu____8245.FStar_Syntax_Syntax.n in + let uu____8245 = un_uinst t in uu____8245.FStar_Syntax_Syntax.n in match uu____8244 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.by_tactic_lid | uu____8250 -> false + let (is_builtin_tactic : FStar_Ident.lident -> Prims.bool) = - fun md -> - let path = FStar_Ident.path_of_lid md in + fun md -> + let path = FStar_Ident.path_of_lid md in if (FStar_List.length path) > (Prims.parse_int "2") then let uu____8264 = - let uu____8268 = FStar_List.splitAt (Prims.parse_int "2") path in - FStar_Pervasives_Native.fst uu____8268 in + let uu____8268 = FStar_List.splitAt (Prims.parse_int "2") path in + FStar_Pervasives_Native.fst uu____8268 in match uu____8264 with | "FStar"::"Tactics"::[] -> true | "FStar"::"Reflection"::[] -> true | uu____8300 -> false else false + let (ktype : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type FStar_Syntax_Syntax.U_unknown) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (ktype0 : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type FStar_Syntax_Syntax.U_zero) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (type_u : unit -> (FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.universe)) = - fun uu____8319 -> + fun uu____8319 -> let u = - let uu____8325 = FStar_Syntax_Unionfind.univ_fresh () in - FStar_All.pipe_left (fun _8342 -> FStar_Syntax_Syntax.U_unif _8342) - uu____8325 in + let uu____8325 = FStar_Syntax_Unionfind.univ_fresh () in + FStar_All.pipe_left (fun _8342 -> FStar_Syntax_Syntax.U_unif _8342) + uu____8325 + in let uu____8343 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type u) - FStar_Pervasives_Native.None FStar_Range.dummyRange in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in (uu____8343, u) + let (attr_eq : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun a -> - fun a' -> - let uu____8356 = eq_tm a a' in - match uu____8356 with | Equal -> true | uu____8359 -> false + fun a -> + fun a' -> + let uu____8356 = eq_tm a a' in + match uu____8356 with | Equal -> true | uu____8359 -> false + let (attr_substitute : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = let uu____8364 = @@ -2043,74 +2204,85 @@ let (attr_substitute : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) let uu____8372 = let uu____8373 = FStar_Ident.lid_of_path ["FStar"; "Pervasives"; "Substitute"] - FStar_Range.dummyRange in + FStar_Range.dummyRange + in FStar_Syntax_Syntax.lid_as_fv uu____8373 - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.Tm_fvar uu____8372 in - FStar_Syntax_Syntax.mk uu____8371 in - uu____8364 FStar_Pervasives_Native.None FStar_Range.dummyRange + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.Tm_fvar uu____8372 in + FStar_Syntax_Syntax.mk uu____8371 in + uu____8364 FStar_Pervasives_Native.None FStar_Range.dummyRange let (exp_true_bool : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool true)) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (exp_false_bool : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool false)) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (exp_unit : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant FStar_Const.Const_unit) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (exp_int : Prims.string -> FStar_Syntax_Syntax.term) = - fun s -> + fun s -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_int (s, FStar_Pervasives_Native.None))) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (exp_char : FStar_BaseTypes.char -> FStar_Syntax_Syntax.term) = - fun c -> + fun c -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_char c)) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (exp_string : Prims.string -> FStar_Syntax_Syntax.term) = - fun s -> + fun s -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_string (s, FStar_Range.dummyRange))) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (fvar_const : FStar_Ident.lident -> FStar_Syntax_Syntax.term) = - fun l -> + fun l -> FStar_Syntax_Syntax.fvar l FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None -let (tand : FStar_Syntax_Syntax.term) = fvar_const FStar_Parser_Const.and_lid -let (tor : FStar_Syntax_Syntax.term) = fvar_const FStar_Parser_Const.or_lid + +let (tand : FStar_Syntax_Syntax.term) = fvar_const FStar_Parser_Const.and_lid +let (tor : FStar_Syntax_Syntax.term) = fvar_const FStar_Parser_Const.or_lid let (timp : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.fvar FStar_Parser_Const.imp_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "1")) FStar_Pervasives_Native.None + let (tiff : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.fvar FStar_Parser_Const.iff_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "2")) FStar_Pervasives_Native.None + let (t_bool : FStar_Syntax_Syntax.term) = - fvar_const FStar_Parser_Const.bool_lid + fvar_const FStar_Parser_Const.bool_lid let (b2t_v : FStar_Syntax_Syntax.term) = - fvar_const FStar_Parser_Const.b2t_lid + fvar_const FStar_Parser_Const.b2t_lid let (t_not : FStar_Syntax_Syntax.term) = - fvar_const FStar_Parser_Const.not_lid + fvar_const FStar_Parser_Const.not_lid let (t_false : FStar_Syntax_Syntax.term) = - fvar_const FStar_Parser_Const.false_lid + fvar_const FStar_Parser_Const.false_lid let (t_true : FStar_Syntax_Syntax.term) = - fvar_const FStar_Parser_Const.true_lid -let (tac_opaque_attr : FStar_Syntax_Syntax.term) = exp_string "tac_opaque" + fvar_const FStar_Parser_Const.true_lid +let (tac_opaque_attr : FStar_Syntax_Syntax.term) = exp_string "tac_opaque" let (dm4f_bind_range_attr : FStar_Syntax_Syntax.term) = - fvar_const FStar_Parser_Const.dm4f_bind_range_attr + fvar_const FStar_Parser_Const.dm4f_bind_range_attr let (tcdecltime_attr : FStar_Syntax_Syntax.term) = - fvar_const FStar_Parser_Const.tcdecltime_attr + fvar_const FStar_Parser_Const.tcdecltime_attr let (inline_let_attr : FStar_Syntax_Syntax.term) = - fvar_const FStar_Parser_Const.inline_let_attr + fvar_const FStar_Parser_Const.inline_let_attr let (t_ctx_uvar_and_sust : FStar_Syntax_Syntax.term) = - fvar_const FStar_Parser_Const.ctx_uvar_and_subst_lid + fvar_const FStar_Parser_Const.ctx_uvar_and_subst_lid let (mk_conj_opt : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax FStar_Pervasives_Native.option -> @@ -2118,289 +2290,312 @@ let (mk_conj_opt : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax FStar_Pervasives_Native.option) = - fun phi1 -> - fun phi2 -> + fun phi1 -> + fun phi2 -> match phi1 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some phi2 + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some phi2 | FStar_Pervasives_Native.Some phi11 -> let uu____8485 = let uu____8488 = FStar_Range.union_ranges phi11.FStar_Syntax_Syntax.pos - phi2.FStar_Syntax_Syntax.pos in + phi2.FStar_Syntax_Syntax.pos + in let uu____8489 = let uu____8496 = let uu____8497 = let uu____8514 = - let uu____8525 = FStar_Syntax_Syntax.as_arg phi11 in + let uu____8525 = FStar_Syntax_Syntax.as_arg phi11 in let uu____8534 = - let uu____8545 = FStar_Syntax_Syntax.as_arg phi2 in - [uu____8545] in - uu____8525 :: uu____8534 in - (tand, uu____8514) in - FStar_Syntax_Syntax.Tm_app uu____8497 in - FStar_Syntax_Syntax.mk uu____8496 in - uu____8489 FStar_Pervasives_Native.None uu____8488 in + let uu____8545 = FStar_Syntax_Syntax.as_arg phi2 in + [uu____8545] in + uu____8525 :: uu____8534 in + (tand, uu____8514) in + FStar_Syntax_Syntax.Tm_app uu____8497 in + FStar_Syntax_Syntax.mk uu____8496 in + uu____8489 FStar_Pervasives_Native.None uu____8488 in FStar_Pervasives_Native.Some uu____8485 + let (mk_binop : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun op_t -> - fun phi1 -> - fun phi2 -> + fun op_t -> + fun phi1 -> + fun phi2 -> let uu____8622 = FStar_Range.union_ranges phi1.FStar_Syntax_Syntax.pos - phi2.FStar_Syntax_Syntax.pos in + phi2.FStar_Syntax_Syntax.pos + in let uu____8623 = let uu____8630 = let uu____8631 = let uu____8648 = - let uu____8659 = FStar_Syntax_Syntax.as_arg phi1 in + let uu____8659 = FStar_Syntax_Syntax.as_arg phi1 in let uu____8668 = - let uu____8679 = FStar_Syntax_Syntax.as_arg phi2 in - [uu____8679] in - uu____8659 :: uu____8668 in - (op_t, uu____8648) in - FStar_Syntax_Syntax.Tm_app uu____8631 in - FStar_Syntax_Syntax.mk uu____8630 in + let uu____8679 = FStar_Syntax_Syntax.as_arg phi2 in + [uu____8679] in + uu____8659 :: uu____8668 in + (op_t, uu____8648) in + FStar_Syntax_Syntax.Tm_app uu____8631 in + FStar_Syntax_Syntax.mk uu____8630 in uu____8623 FStar_Pervasives_Native.None uu____8622 + let (mk_neg : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun phi -> + fun phi -> let uu____8736 = let uu____8743 = let uu____8744 = let uu____8761 = - let uu____8772 = FStar_Syntax_Syntax.as_arg phi in [uu____8772] in - (t_not, uu____8761) in - FStar_Syntax_Syntax.Tm_app uu____8744 in - FStar_Syntax_Syntax.mk uu____8743 in + let uu____8772 = FStar_Syntax_Syntax.as_arg phi in [uu____8772] + in + (t_not, uu____8761) in + FStar_Syntax_Syntax.Tm_app uu____8744 in + FStar_Syntax_Syntax.mk uu____8743 in uu____8736 FStar_Pervasives_Native.None phi.FStar_Syntax_Syntax.pos + let (mk_conj : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) - = fun phi1 -> fun phi2 -> mk_binop tand phi1 phi2 + = fun phi1 -> fun phi2 -> mk_binop tand phi1 phi2 let (mk_conj_l : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax Prims.list -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun phi -> + fun phi -> match phi with | [] -> FStar_Syntax_Syntax.fvar FStar_Parser_Const.true_lid FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None | hd1::tl1 -> FStar_List.fold_right mk_conj tl1 hd1 + let (mk_disj : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) - = fun phi1 -> fun phi2 -> mk_binop tor phi1 phi2 + = fun phi1 -> fun phi2 -> mk_binop tor phi1 phi2 let (mk_disj_l : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax Prims.list -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun phi -> + fun phi -> match phi with | [] -> t_false | hd1::tl1 -> FStar_List.fold_right mk_disj tl1 hd1 + let (mk_imp : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term) - = fun phi1 -> fun phi2 -> mk_binop timp phi1 phi2 + = fun phi1 -> fun phi2 -> mk_binop timp phi1 phi2 let (mk_iff : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term) - = fun phi1 -> fun phi2 -> mk_binop tiff phi1 phi2 + = fun phi1 -> fun phi2 -> mk_binop tiff phi1 phi2 let (b2t : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun e -> + fun e -> let uu____8969 = let uu____8976 = let uu____8977 = let uu____8994 = - let uu____9005 = FStar_Syntax_Syntax.as_arg e in [uu____9005] in - (b2t_v, uu____8994) in - FStar_Syntax_Syntax.Tm_app uu____8977 in - FStar_Syntax_Syntax.mk uu____8976 in + let uu____9005 = FStar_Syntax_Syntax.as_arg e in [uu____9005] + in + (b2t_v, uu____8994) in + FStar_Syntax_Syntax.Tm_app uu____8977 in + FStar_Syntax_Syntax.mk uu____8976 in uu____8969 FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos + let (unb2t : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun e -> - let uu____9052 = head_and_args e in + fun e -> + let uu____9052 = head_and_args e in match uu____9052 with - | (hd1, args) -> + | (hd1,args) -> let uu____9097 = let uu____9112 = - let uu____9113 = FStar_Syntax_Subst.compress hd1 in - uu____9113.FStar_Syntax_Syntax.n in - (uu____9112, args) in + let uu____9113 = FStar_Syntax_Subst.compress hd1 in + uu____9113.FStar_Syntax_Syntax.n in + (uu____9112, args) in (match uu____9097 with - | (FStar_Syntax_Syntax.Tm_fvar fv, (e1, uu____9130)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(e1,uu____9130)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.b2t_lid -> FStar_Pervasives_Native.Some e1 | uu____9165 -> FStar_Pervasives_Native.None) + let (is_t_true : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____9187 = - let uu____9188 = unmeta t in uu____9188.FStar_Syntax_Syntax.n in + let uu____9188 = unmeta t in uu____9188.FStar_Syntax_Syntax.n in match uu____9187 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.true_lid | uu____9193 -> false + let (mk_conj_simp : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t1 -> - fun t2 -> - let uu____9216 = is_t_true t1 in + fun t1 -> + fun t2 -> + let uu____9216 = is_t_true t1 in if uu____9216 then t2 else - (let uu____9223 = is_t_true t2 in + (let uu____9223 = is_t_true t2 in if uu____9223 then t1 else mk_conj t1 t2) + let (mk_disj_simp : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t1 -> - fun t2 -> - let uu____9251 = is_t_true t1 in + fun t1 -> + fun t2 -> + let uu____9251 = is_t_true t1 in if uu____9251 then t_true else - (let uu____9258 = is_t_true t2 in + (let uu____9258 = is_t_true t2 in if uu____9258 then t_true else mk_disj t1 t2) -let (teq : FStar_Syntax_Syntax.term) = fvar_const FStar_Parser_Const.eq2_lid + +let (teq : FStar_Syntax_Syntax.term) = fvar_const FStar_Parser_Const.eq2_lid let (mk_untyped_eq2 : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun e1 -> - fun e2 -> + fun e1 -> + fun e2 -> let uu____9287 = FStar_Range.union_ranges e1.FStar_Syntax_Syntax.pos - e2.FStar_Syntax_Syntax.pos in + e2.FStar_Syntax_Syntax.pos + in let uu____9288 = let uu____9295 = let uu____9296 = let uu____9313 = - let uu____9324 = FStar_Syntax_Syntax.as_arg e1 in + let uu____9324 = FStar_Syntax_Syntax.as_arg e1 in let uu____9333 = - let uu____9344 = FStar_Syntax_Syntax.as_arg e2 in - [uu____9344] in - uu____9324 :: uu____9333 in - (teq, uu____9313) in - FStar_Syntax_Syntax.Tm_app uu____9296 in - FStar_Syntax_Syntax.mk uu____9295 in + let uu____9344 = FStar_Syntax_Syntax.as_arg e2 in + [uu____9344] in + uu____9324 :: uu____9333 in + (teq, uu____9313) in + FStar_Syntax_Syntax.Tm_app uu____9296 in + FStar_Syntax_Syntax.mk uu____9295 in uu____9288 FStar_Pervasives_Native.None uu____9287 + let (mk_eq2 : FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun u -> - fun t -> - fun e1 -> - fun e2 -> - let eq_inst = FStar_Syntax_Syntax.mk_Tm_uinst teq [u] in + fun u -> + fun t -> + fun e1 -> + fun e2 -> + let eq_inst = FStar_Syntax_Syntax.mk_Tm_uinst teq [u] in let uu____9411 = FStar_Range.union_ranges e1.FStar_Syntax_Syntax.pos - e2.FStar_Syntax_Syntax.pos in + e2.FStar_Syntax_Syntax.pos + in let uu____9412 = let uu____9419 = let uu____9420 = let uu____9437 = - let uu____9448 = FStar_Syntax_Syntax.iarg t in + let uu____9448 = FStar_Syntax_Syntax.iarg t in let uu____9457 = - let uu____9468 = FStar_Syntax_Syntax.as_arg e1 in + let uu____9468 = FStar_Syntax_Syntax.as_arg e1 in let uu____9477 = - let uu____9488 = FStar_Syntax_Syntax.as_arg e2 in - [uu____9488] in - uu____9468 :: uu____9477 in - uu____9448 :: uu____9457 in - (eq_inst, uu____9437) in - FStar_Syntax_Syntax.Tm_app uu____9420 in - FStar_Syntax_Syntax.mk uu____9419 in + let uu____9488 = FStar_Syntax_Syntax.as_arg e2 in + [uu____9488] in + uu____9468 :: uu____9477 in + uu____9448 :: uu____9457 in + (eq_inst, uu____9437) in + FStar_Syntax_Syntax.Tm_app uu____9420 in + FStar_Syntax_Syntax.mk uu____9419 in uu____9412 FStar_Pervasives_Native.None uu____9411 + let (mk_has_type : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t -> - fun x -> - fun t' -> - let t_has_type = fvar_const FStar_Parser_Const.has_type_lid in + fun t -> + fun x -> + fun t' -> + let t_has_type = fvar_const FStar_Parser_Const.has_type_lid in let t_has_type1 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uinst (t_has_type, [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero])) - FStar_Pervasives_Native.None FStar_Range.dummyRange in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in let uu____9565 = let uu____9572 = let uu____9573 = let uu____9590 = - let uu____9601 = FStar_Syntax_Syntax.iarg t in + let uu____9601 = FStar_Syntax_Syntax.iarg t in let uu____9610 = - let uu____9621 = FStar_Syntax_Syntax.as_arg x in + let uu____9621 = FStar_Syntax_Syntax.as_arg x in let uu____9630 = - let uu____9641 = FStar_Syntax_Syntax.as_arg t' in - [uu____9641] in - uu____9621 :: uu____9630 in - uu____9601 :: uu____9610 in - (t_has_type1, uu____9590) in - FStar_Syntax_Syntax.Tm_app uu____9573 in - FStar_Syntax_Syntax.mk uu____9572 in + let uu____9641 = FStar_Syntax_Syntax.as_arg t' in + [uu____9641] in + uu____9621 :: uu____9630 in + uu____9601 :: uu____9610 in + (t_has_type1, uu____9590) in + FStar_Syntax_Syntax.Tm_app uu____9573 in + FStar_Syntax_Syntax.mk uu____9572 in uu____9565 FStar_Pervasives_Native.None FStar_Range.dummyRange + let (mk_with_type : FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun u -> - fun t -> - fun e -> + fun u -> + fun t -> + fun e -> let t_with_type = FStar_Syntax_Syntax.fvar FStar_Parser_Const.with_type_lid - FStar_Syntax_Syntax.delta_equational FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_equational FStar_Pervasives_Native.None + in let t_with_type1 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uinst (t_with_type, [u])) - FStar_Pervasives_Native.None FStar_Range.dummyRange in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in let uu____9718 = let uu____9725 = let uu____9726 = let uu____9743 = - let uu____9754 = FStar_Syntax_Syntax.iarg t in + let uu____9754 = FStar_Syntax_Syntax.iarg t in let uu____9763 = - let uu____9774 = FStar_Syntax_Syntax.as_arg e in - [uu____9774] in - uu____9754 :: uu____9763 in - (t_with_type1, uu____9743) in - FStar_Syntax_Syntax.Tm_app uu____9726 in - FStar_Syntax_Syntax.mk uu____9725 in + let uu____9774 = FStar_Syntax_Syntax.as_arg e in + [uu____9774] in + uu____9754 :: uu____9763 in + (t_with_type1, uu____9743) in + FStar_Syntax_Syntax.Tm_app uu____9726 in + FStar_Syntax_Syntax.mk uu____9725 in uu____9718 FStar_Pervasives_Native.None FStar_Range.dummyRange + let (lex_t : FStar_Syntax_Syntax.term) = - fvar_const FStar_Parser_Const.lex_t_lid + fvar_const FStar_Parser_Const.lex_t_lid let (lex_top : FStar_Syntax_Syntax.term) = let uu____9821 = let uu____9828 = @@ -2408,24 +2603,28 @@ let (lex_top : FStar_Syntax_Syntax.term) = let uu____9836 = FStar_Syntax_Syntax.fvar FStar_Parser_Const.lextop_lid FStar_Syntax_Syntax.delta_constant - (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) in - (uu____9836, [FStar_Syntax_Syntax.U_zero]) in - FStar_Syntax_Syntax.Tm_uinst uu____9829 in - FStar_Syntax_Syntax.mk uu____9828 in - uu____9821 FStar_Pervasives_Native.None FStar_Range.dummyRange + (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + in + (uu____9836, [FStar_Syntax_Syntax.U_zero]) in + FStar_Syntax_Syntax.Tm_uinst uu____9829 in + FStar_Syntax_Syntax.mk uu____9828 in + uu____9821 FStar_Pervasives_Native.None FStar_Range.dummyRange let (lex_pair : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.fvar FStar_Parser_Const.lexcons_lid FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + let (tforall : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.fvar FStar_Parser_Const.forall_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "1")) FStar_Pervasives_Native.None + let (t_haseq : FStar_Syntax_Syntax.term) = FStar_Syntax_Syntax.fvar FStar_Parser_Const.haseq_lid FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + let (lcomp_of_comp : FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.lcomp) = - fun c0 -> + fun c0 -> let uu____9851 = match c0.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Total uu____9864 -> @@ -2435,11 +2634,13 @@ let (lcomp_of_comp : FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.lcomp) = [FStar_Syntax_Syntax.SOMETRIVIAL]) | FStar_Syntax_Syntax.Comp c -> ((c.FStar_Syntax_Syntax.effect_name), - (c.FStar_Syntax_Syntax.flags)) in + (c.FStar_Syntax_Syntax.flags)) + in match uu____9851 with - | (eff_name, flags) -> + | (eff_name,flags) -> FStar_Syntax_Syntax.mk_lcomp eff_name (comp_result c0) flags - (fun uu____9896 -> c0) + (fun uu____9896 -> c0) + let (mk_residual_comp : FStar_Ident.lident -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax @@ -2447,186 +2648,203 @@ let (mk_residual_comp : FStar_Syntax_Syntax.cflag Prims.list -> FStar_Syntax_Syntax.residual_comp) = - fun l -> - fun t -> - fun f -> + fun l -> + fun t -> + fun f -> { FStar_Syntax_Syntax.residual_effect = l; FStar_Syntax_Syntax.residual_typ = t; FStar_Syntax_Syntax.residual_flags = f } + let (residual_tot : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.residual_comp) = - fun t -> + fun t -> { FStar_Syntax_Syntax.residual_effect = FStar_Parser_Const.effect_Tot_lid; FStar_Syntax_Syntax.residual_typ = (FStar_Pervasives_Native.Some t); FStar_Syntax_Syntax.residual_flags = [FStar_Syntax_Syntax.TOTAL] } + let (residual_comp_of_comp : FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.residual_comp) = - fun c -> + fun c -> { FStar_Syntax_Syntax.residual_effect = (comp_effect_name c); FStar_Syntax_Syntax.residual_typ = (FStar_Pervasives_Native.Some (comp_result c)); FStar_Syntax_Syntax.residual_flags = (comp_flags c) } + let (residual_comp_of_lcomp : FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.residual_comp) = - fun lc -> + fun lc -> { FStar_Syntax_Syntax.residual_effect = (lc.FStar_Syntax_Syntax.eff_name); FStar_Syntax_Syntax.residual_typ = (FStar_Pervasives_Native.Some (lc.FStar_Syntax_Syntax.res_typ)); FStar_Syntax_Syntax.residual_flags = (lc.FStar_Syntax_Syntax.cflags) } + let (mk_forall_aux : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun fa -> - fun x -> - fun body -> + fun fa -> + fun x -> + fun body -> let uu____9979 = let uu____9986 = let uu____9987 = let uu____10004 = let uu____10015 = - FStar_Syntax_Syntax.iarg x.FStar_Syntax_Syntax.sort in + FStar_Syntax_Syntax.iarg x.FStar_Syntax_Syntax.sort in let uu____10024 = let uu____10035 = let uu____10044 = let uu____10045 = - let uu____10046 = FStar_Syntax_Syntax.mk_binder x in - [uu____10046] in + let uu____10046 = FStar_Syntax_Syntax.mk_binder x in + [uu____10046] in abs uu____10045 body - (FStar_Pervasives_Native.Some (residual_tot ktype0)) in - FStar_Syntax_Syntax.as_arg uu____10044 in - [uu____10035] in - uu____10015 :: uu____10024 in - (fa, uu____10004) in - FStar_Syntax_Syntax.Tm_app uu____9987 in - FStar_Syntax_Syntax.mk uu____9986 in + (FStar_Pervasives_Native.Some (residual_tot ktype0)) + in + FStar_Syntax_Syntax.as_arg uu____10044 in + [uu____10035] in + uu____10015 :: uu____10024 in + (fa, uu____10004) in + FStar_Syntax_Syntax.Tm_app uu____9987 in + FStar_Syntax_Syntax.mk uu____9986 in uu____9979 FStar_Pervasives_Native.None FStar_Range.dummyRange + let (mk_forall_no_univ : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) - = fun x -> fun body -> mk_forall_aux tforall x body + = fun x -> fun body -> mk_forall_aux tforall x body let (mk_forall : FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) = - fun u -> - fun x -> - fun body -> - let tforall1 = FStar_Syntax_Syntax.mk_Tm_uinst tforall [u] in + fun u -> + fun x -> + fun body -> + let tforall1 = FStar_Syntax_Syntax.mk_Tm_uinst tforall [u] in mk_forall_aux tforall1 x body + let (close_forall_no_univs : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) = - fun bs -> - fun f -> + fun bs -> + fun f -> FStar_List.fold_right - (fun b -> - fun f1 -> - let uu____10173 = FStar_Syntax_Syntax.is_null_binder b in + (fun b -> + fun f1 -> + let uu____10173 = FStar_Syntax_Syntax.is_null_binder b in if uu____10173 then f1 else mk_forall_no_univ (FStar_Pervasives_Native.fst b) f1) bs f + let rec (is_wild_pat : FStar_Syntax_Syntax.pat' FStar_Syntax_Syntax.withinfo_t -> Prims.bool) = - fun p -> + fun p -> match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_wild uu____10192 -> true | uu____10194 -> false + let (if_then_else : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun b -> - fun t1 -> - fun t2 -> + fun b -> + fun t1 -> + fun t2 -> let then_branch = let uu____10241 = FStar_Syntax_Syntax.withinfo (FStar_Syntax_Syntax.Pat_constant (FStar_Const.Const_bool true)) - t1.FStar_Syntax_Syntax.pos in - (uu____10241, FStar_Pervasives_Native.None, t1) in + t1.FStar_Syntax_Syntax.pos + in + (uu____10241, FStar_Pervasives_Native.None, t1) in let else_branch = let uu____10270 = FStar_Syntax_Syntax.withinfo (FStar_Syntax_Syntax.Pat_constant - (FStar_Const.Const_bool false)) t2.FStar_Syntax_Syntax.pos in - (uu____10270, FStar_Pervasives_Native.None, t2) in + (FStar_Const.Const_bool false)) t2.FStar_Syntax_Syntax.pos + in + (uu____10270, FStar_Pervasives_Native.None, t2) in let uu____10284 = let uu____10285 = FStar_Range.union_ranges t1.FStar_Syntax_Syntax.pos - t2.FStar_Syntax_Syntax.pos in - FStar_Range.union_ranges b.FStar_Syntax_Syntax.pos uu____10285 in + t2.FStar_Syntax_Syntax.pos + in + FStar_Range.union_ranges b.FStar_Syntax_Syntax.pos uu____10285 in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_match (b, [then_branch; else_branch])) FStar_Pervasives_Native.None uu____10284 + let (mk_squash : FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun u -> - fun p -> + fun u -> + fun p -> let sq = FStar_Syntax_Syntax.fvar FStar_Parser_Const.squash_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in - let uu____10361 = FStar_Syntax_Syntax.mk_Tm_uinst sq [u] in + FStar_Pervasives_Native.None + in + let uu____10361 = FStar_Syntax_Syntax.mk_Tm_uinst sq [u] in let uu____10364 = - let uu____10375 = FStar_Syntax_Syntax.as_arg p in [uu____10375] in + let uu____10375 = FStar_Syntax_Syntax.as_arg p in [uu____10375] in mk_app uu____10361 uu____10364 + let (mk_auto_squash : FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun u -> - fun p -> + fun u -> + fun p -> let sq = FStar_Syntax_Syntax.fvar FStar_Parser_Const.auto_squash_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "2")) - FStar_Pervasives_Native.None in - let uu____10415 = FStar_Syntax_Syntax.mk_Tm_uinst sq [u] in + FStar_Pervasives_Native.None + in + let uu____10415 = FStar_Syntax_Syntax.mk_Tm_uinst sq [u] in let uu____10418 = - let uu____10429 = FStar_Syntax_Syntax.as_arg p in [uu____10429] in + let uu____10429 = FStar_Syntax_Syntax.as_arg p in [uu____10429] in mk_app uu____10415 uu____10418 + let (un_squash : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax FStar_Pervasives_Native.option) = - fun t -> - let uu____10464 = head_and_args t in + fun t -> + let uu____10464 = head_and_args t in match uu____10464 with - | (head1, args) -> - let head2 = unascribe head1 in - let head3 = un_uinst head2 in + | (head1,args) -> + let head2 = unascribe head1 in + let head3 = un_uinst head2 in let uu____10513 = let uu____10528 = - let uu____10529 = FStar_Syntax_Subst.compress head3 in - uu____10529.FStar_Syntax_Syntax.n in - (uu____10528, args) in + let uu____10529 = FStar_Syntax_Subst.compress head3 in + uu____10529.FStar_Syntax_Syntax.n in + (uu____10528, args) in (match uu____10513 with - | (FStar_Syntax_Syntax.Tm_fvar fv, (p, uu____10548)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(p,uu____10548)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.squash_lid -> FStar_Pervasives_Native.Some p - | (FStar_Syntax_Syntax.Tm_refine (b, p), []) -> + | (FStar_Syntax_Syntax.Tm_refine (b,p),[]) -> (match (b.FStar_Syntax_Syntax.sort).FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv @@ -2634,81 +2852,84 @@ let (un_squash : -> let uu____10614 = let uu____10619 = - let uu____10620 = FStar_Syntax_Syntax.mk_binder b in - [uu____10620] in - FStar_Syntax_Subst.open_term uu____10619 p in + let uu____10620 = FStar_Syntax_Syntax.mk_binder b in + [uu____10620] in + FStar_Syntax_Subst.open_term uu____10619 p in (match uu____10614 with - | (bs, p1) -> + | (bs,p1) -> let b1 = match bs with | b1::[] -> b1 - | uu____10677 -> failwith "impossible" in + | uu____10677 -> failwith "impossible" in let uu____10685 = - let uu____10687 = FStar_Syntax_Free.names p1 in + let uu____10687 = FStar_Syntax_Free.names p1 in FStar_Util.set_mem (FStar_Pervasives_Native.fst b1) - uu____10687 in + uu____10687 + in if uu____10685 then FStar_Pervasives_Native.None else FStar_Pervasives_Native.Some p1) | uu____10703 -> FStar_Pervasives_Native.None) | uu____10706 -> FStar_Pervasives_Native.None) + let (is_squash : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.universe * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) FStar_Pervasives_Native.option) = - fun t -> - let uu____10737 = head_and_args t in + fun t -> + let uu____10737 = head_and_args t in match uu____10737 with - | (head1, args) -> + | (head1,args) -> let uu____10788 = let uu____10803 = - let uu____10804 = FStar_Syntax_Subst.compress head1 in - uu____10804.FStar_Syntax_Syntax.n in - (uu____10803, args) in + let uu____10804 = FStar_Syntax_Subst.compress head1 in + uu____10804.FStar_Syntax_Syntax.n in + (uu____10803, args) in (match uu____10788 with | (FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos = uu____10826; - FStar_Syntax_Syntax.vars = uu____10827;_}, - u::[]), - (t1, uu____10830)::[]) when + FStar_Syntax_Syntax.vars = uu____10827;_},u::[]),(t1,uu____10830)::[]) + when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.squash_lid -> FStar_Pervasives_Native.Some (u, t1) | uu____10877 -> FStar_Pervasives_Native.None) + let (is_auto_squash : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.universe * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) FStar_Pervasives_Native.option) = - fun t -> - let uu____10912 = head_and_args t in + fun t -> + let uu____10912 = head_and_args t in match uu____10912 with - | (head1, args) -> + | (head1,args) -> let uu____10963 = let uu____10978 = - let uu____10979 = FStar_Syntax_Subst.compress head1 in - uu____10979.FStar_Syntax_Syntax.n in - (uu____10978, args) in + let uu____10979 = FStar_Syntax_Subst.compress head1 in + uu____10979.FStar_Syntax_Syntax.n in + (uu____10978, args) in (match uu____10963 with | (FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos = uu____11001; - FStar_Syntax_Syntax.vars = uu____11002;_}, - u::[]), - (t1, uu____11005)::[]) when + FStar_Syntax_Syntax.vars = uu____11002;_},u::[]),(t1,uu____11005)::[]) + when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.auto_squash_lid -> FStar_Pervasives_Native.Some (u, t1) | uu____11052 -> FStar_Pervasives_Native.None) + let (is_sub_singleton : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> - let uu____11080 = let uu____11097 = unmeta t in head_and_args uu____11097 in + fun t -> + let uu____11080 = + let uu____11097 = unmeta t in head_and_args uu____11097 in match uu____11080 with - | (head1, uu____11100) -> + | (head1,uu____11100) -> let uu____11125 = - let uu____11126 = un_uinst head1 in - uu____11126.FStar_Syntax_Syntax.n in + let uu____11126 = un_uinst head1 in + uu____11126.FStar_Syntax_Syntax.n in (match uu____11125 with | FStar_Syntax_Syntax.Tm_fvar fv -> (((((((((((((((((FStar_Syntax_Syntax.fv_eq_lid fv @@ -2765,87 +2986,94 @@ let (is_sub_singleton : FStar_Syntax_Syntax.term -> Prims.bool) = (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.precedes_lid) | uu____11131 -> false) + let (arrow_one : FStar_Syntax_Syntax.typ -> (FStar_Syntax_Syntax.binder * FStar_Syntax_Syntax.comp) FStar_Pervasives_Native.option) = - fun t -> + fun t -> let uu____11151 = let uu____11164 = - let uu____11165 = FStar_Syntax_Subst.compress t in - uu____11165.FStar_Syntax_Syntax.n in + let uu____11165 = FStar_Syntax_Subst.compress t in + uu____11165.FStar_Syntax_Syntax.n in match uu____11164 with - | FStar_Syntax_Syntax.Tm_arrow ([], c) -> + | FStar_Syntax_Syntax.Tm_arrow ([],c) -> failwith "fatal: empty binders on arrow?" - | FStar_Syntax_Syntax.Tm_arrow (b::[], c) -> + | FStar_Syntax_Syntax.Tm_arrow (b::[],c) -> FStar_Pervasives_Native.Some (b, c) - | FStar_Syntax_Syntax.Tm_arrow (b::bs, c) -> + | FStar_Syntax_Syntax.Tm_arrow (b::bs,c) -> let uu____11295 = let uu____11306 = - let uu____11307 = arrow bs c in - FStar_Syntax_Syntax.mk_Total uu____11307 in - (b, uu____11306) in + let uu____11307 = arrow bs c in + FStar_Syntax_Syntax.mk_Total uu____11307 in + (b, uu____11306) in FStar_Pervasives_Native.Some uu____11295 - | uu____11324 -> FStar_Pervasives_Native.None in + | uu____11324 -> FStar_Pervasives_Native.None in FStar_Util.bind_opt uu____11151 - (fun uu____11362 -> + (fun uu____11362 -> match uu____11362 with - | (b, c) -> - let uu____11399 = FStar_Syntax_Subst.open_comp [b] c in + | (b,c) -> + let uu____11399 = FStar_Syntax_Subst.open_comp [b] c in (match uu____11399 with - | (bs, c1) -> + | (bs,c1) -> let b1 = match bs with | b1::[] -> b1 | uu____11462 -> failwith - "impossible: open_comp returned different amount of binders" in + "impossible: open_comp returned different amount of binders" + in FStar_Pervasives_Native.Some (b1, c1))) + let (is_free_in : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun bv -> - fun t -> - let uu____11499 = FStar_Syntax_Free.names t in + fun bv -> + fun t -> + let uu____11499 = FStar_Syntax_Free.names t in FStar_Util.set_mem bv uu____11499 + type qpats = FStar_Syntax_Syntax.args Prims.list type connective = | QAll of (FStar_Syntax_Syntax.binders * qpats * FStar_Syntax_Syntax.typ) | QEx of (FStar_Syntax_Syntax.binders * qpats * FStar_Syntax_Syntax.typ) | BaseConn of (FStar_Ident.lident * FStar_Syntax_Syntax.args) let (uu___is_QAll : connective -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | QAll _0 -> true | uu____11551 -> false + let (__proj__QAll__item___0 : connective -> (FStar_Syntax_Syntax.binders * qpats * FStar_Syntax_Syntax.typ)) - = fun projectee -> match projectee with | QAll _0 -> _0 + = fun projectee -> match projectee with | QAll _0 -> _0 let (uu___is_QEx : connective -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | QEx _0 -> true | uu____11594 -> false + let (__proj__QEx__item___0 : connective -> (FStar_Syntax_Syntax.binders * qpats * FStar_Syntax_Syntax.typ)) - = fun projectee -> match projectee with | QEx _0 -> _0 + = fun projectee -> match projectee with | QEx _0 -> _0 let (uu___is_BaseConn : connective -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | BaseConn _0 -> true | uu____11635 -> false + let (__proj__BaseConn__item___0 : connective -> (FStar_Ident.lident * FStar_Syntax_Syntax.args)) = - fun projectee -> match projectee with | BaseConn _0 -> _0 + fun projectee -> match projectee with | BaseConn _0 -> _0 let (destruct_typ_as_formula : FStar_Syntax_Syntax.term -> connective FStar_Pervasives_Native.option) = - fun f -> + fun f -> let rec unmeta_monadic f1 = - let f2 = FStar_Syntax_Subst.compress f1 in + let f2 = FStar_Syntax_Subst.compress f1 in match f2.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_meta - (t, FStar_Syntax_Syntax.Meta_monadic uu____11674) -> + (t,FStar_Syntax_Syntax.Meta_monadic uu____11674) -> unmeta_monadic t | FStar_Syntax_Syntax.Tm_meta - (t, FStar_Syntax_Syntax.Meta_monadic_lift uu____11686) -> + (t,FStar_Syntax_Syntax.Meta_monadic_lift uu____11686) -> unmeta_monadic t - | uu____11699 -> f2 in + | uu____11699 -> f2 in let destruct_base_conn f1 = let connectives = [(FStar_Parser_Const.true_lid, (Prims.parse_int "0")); @@ -2859,128 +3087,136 @@ let (destruct_typ_as_formula : (FStar_Parser_Const.eq2_lid, (Prims.parse_int "3")); (FStar_Parser_Const.eq2_lid, (Prims.parse_int "2")); (FStar_Parser_Const.eq3_lid, (Prims.parse_int "4")); - (FStar_Parser_Const.eq3_lid, (Prims.parse_int "2"))] in + (FStar_Parser_Const.eq3_lid, (Prims.parse_int "2"))] in let aux f2 uu____11795 = match uu____11795 with - | (lid, arity) -> + | (lid,arity) -> let uu____11804 = - let uu____11821 = unmeta_monadic f2 in - head_and_args uu____11821 in + let uu____11821 = unmeta_monadic f2 in + head_and_args uu____11821 in (match uu____11804 with - | (t, args) -> - let t1 = un_uinst t in + | (t,args) -> + let t1 = un_uinst t in let uu____11851 = (is_constructor t1 lid) && - ((FStar_List.length args) = arity) in + ((FStar_List.length args) = arity) + in if uu____11851 then FStar_Pervasives_Native.Some (BaseConn (lid, args)) - else FStar_Pervasives_Native.None) in - FStar_Util.find_map connectives (aux f1) in + else FStar_Pervasives_Native.None) + in + FStar_Util.find_map connectives (aux f1) in let patterns t = - let t1 = FStar_Syntax_Subst.compress t in + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_meta - (t2, FStar_Syntax_Syntax.Meta_pattern (uu____11910, pats)) -> - let uu____11948 = FStar_Syntax_Subst.compress t2 in + (t2,FStar_Syntax_Syntax.Meta_pattern (uu____11910,pats)) -> + let uu____11948 = FStar_Syntax_Subst.compress t2 in (pats, uu____11948) - | uu____11961 -> ([], t1) in + | uu____11961 -> ([], t1) in let destruct_q_conn t = let is_q fa fv = if fa then is_forall (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - else is_exists (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + else is_exists (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in let flat t1 = - let uu____12028 = head_and_args t1 in + let uu____12028 = head_and_args t1 in match uu____12028 with - | (t2, args) -> - let uu____12083 = un_uinst t2 in + | (t2,args) -> + let uu____12083 = un_uinst t2 in let uu____12084 = FStar_All.pipe_right args (FStar_List.map - (fun uu____12125 -> + (fun uu____12125 -> match uu____12125 with - | (t3, imp) -> - let uu____12144 = unascribe t3 in - (uu____12144, imp))) in - (uu____12083, uu____12084) in + | (t3,imp) -> + let uu____12144 = unascribe t3 in + (uu____12144, imp))) + in + (uu____12083, uu____12084) + in let rec aux qopt out t1 = - let uu____12195 = let uu____12219 = flat t1 in (qopt, uu____12219) in + let uu____12195 = let uu____12219 = flat t1 in (qopt, uu____12219) + in match uu____12195 with - | (FStar_Pervasives_Native.Some fa, - ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar tc; - FStar_Syntax_Syntax.pos = uu____12259; - FStar_Syntax_Syntax.vars = uu____12260;_}, - ({ - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_abs - (b::[], t2, uu____12263); - FStar_Syntax_Syntax.pos = uu____12264; - FStar_Syntax_Syntax.vars = uu____12265;_}, - uu____12266)::[])) + | (FStar_Pervasives_Native.Some + fa,({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar tc; + FStar_Syntax_Syntax.pos = uu____12259; + FStar_Syntax_Syntax.vars = uu____12260;_},({ + FStar_Syntax_Syntax.n + = + FStar_Syntax_Syntax.Tm_abs + (b::[],t2,uu____12263); + FStar_Syntax_Syntax.pos + = uu____12264; + FStar_Syntax_Syntax.vars + = uu____12265;_},uu____12266)::[])) when is_q fa tc -> aux qopt (b :: out) t2 - | (FStar_Pervasives_Native.Some fa, - ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar tc; - FStar_Syntax_Syntax.pos = uu____12368; - FStar_Syntax_Syntax.vars = uu____12369;_}, - uu____12370::({ - FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.Tm_abs - (b::[], t2, uu____12373); - FStar_Syntax_Syntax.pos = uu____12374; - FStar_Syntax_Syntax.vars = uu____12375;_}, - uu____12376)::[])) + | (FStar_Pervasives_Native.Some + fa,({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar tc; + FStar_Syntax_Syntax.pos = uu____12368; + FStar_Syntax_Syntax.vars = uu____12369;_},uu____12370:: + ({ + FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_abs + (b::[],t2,uu____12373); + FStar_Syntax_Syntax.pos = uu____12374; + FStar_Syntax_Syntax.vars = uu____12375;_},uu____12376)::[])) when is_q fa tc -> aux qopt (b :: out) t2 - | (FStar_Pervasives_Native.None, - ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar tc; - FStar_Syntax_Syntax.pos = uu____12493; - FStar_Syntax_Syntax.vars = uu____12494;_}, - ({ - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_abs - (b::[], t2, uu____12497); - FStar_Syntax_Syntax.pos = uu____12498; - FStar_Syntax_Syntax.vars = uu____12499;_}, - uu____12500)::[])) + | (FStar_Pervasives_Native.None + ,({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar tc; + FStar_Syntax_Syntax.pos = uu____12493; + FStar_Syntax_Syntax.vars = uu____12494;_},({ + FStar_Syntax_Syntax.n + = + FStar_Syntax_Syntax.Tm_abs + (b::[],t2,uu____12497); + FStar_Syntax_Syntax.pos + = uu____12498; + FStar_Syntax_Syntax.vars + = uu____12499;_},uu____12500)::[])) when is_qlid (tc.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v -> let uu____12593 = let uu____12597 = is_forall - (tc.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - FStar_Pervasives_Native.Some uu____12597 in + (tc.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + FStar_Pervasives_Native.Some uu____12597 in aux uu____12593 (b :: out) t2 - | (FStar_Pervasives_Native.None, - ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar tc; - FStar_Syntax_Syntax.pos = uu____12607; - FStar_Syntax_Syntax.vars = uu____12608;_}, - uu____12609::({ - FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.Tm_abs - (b::[], t2, uu____12612); - FStar_Syntax_Syntax.pos = uu____12613; - FStar_Syntax_Syntax.vars = uu____12614;_}, - uu____12615)::[])) + | (FStar_Pervasives_Native.None + ,({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar tc; + FStar_Syntax_Syntax.pos = uu____12607; + FStar_Syntax_Syntax.vars = uu____12608;_},uu____12609:: + ({ + FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_abs + (b::[],t2,uu____12612); + FStar_Syntax_Syntax.pos = uu____12613; + FStar_Syntax_Syntax.vars = uu____12614;_},uu____12615)::[])) when is_qlid (tc.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v -> let uu____12724 = let uu____12728 = is_forall - (tc.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - FStar_Pervasives_Native.Some uu____12728 in + (tc.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + FStar_Pervasives_Native.Some uu____12728 in aux uu____12724 (b :: out) t2 - | (FStar_Pervasives_Native.Some b, uu____12738) -> - let bs = FStar_List.rev out in - let uu____12791 = FStar_Syntax_Subst.open_term bs t1 in + | (FStar_Pervasives_Native.Some b,uu____12738) -> + let bs = FStar_List.rev out in + let uu____12791 = FStar_Syntax_Subst.open_term bs t1 in (match uu____12791 with - | (bs1, t2) -> - let uu____12800 = patterns t2 in + | (bs1,t2) -> + let uu____12800 = patterns t2 in (match uu____12800 with - | (pats, body) -> + | (pats,body) -> if b then FStar_Pervasives_Native.Some (QAll (bs1, pats, body)) else FStar_Pervasives_Native.Some (QEx (bs1, pats, body)))) - | uu____12850 -> FStar_Pervasives_Native.None in - aux FStar_Pervasives_Native.None [] t in + | uu____12850 -> FStar_Pervasives_Native.None in + aux FStar_Pervasives_Native.None [] t in let u_connectives = [(FStar_Parser_Const.true_lid, FStar_Parser_Const.c_true_lid, (Prims.parse_int "0")); @@ -2989,100 +3225,102 @@ let (destruct_typ_as_formula : (FStar_Parser_Const.and_lid, FStar_Parser_Const.c_and_lid, (Prims.parse_int "2")); (FStar_Parser_Const.or_lid, FStar_Parser_Const.c_or_lid, - (Prims.parse_int "2"))] in + (Prims.parse_int "2"))] + in let destruct_sq_base_conn t = - let uu____12942 = un_squash t in + let uu____12942 = un_squash t in FStar_Util.bind_opt uu____12942 - (fun t1 -> - let uu____12958 = head_and_args' t1 in + (fun t1 -> + let uu____12958 = head_and_args' t1 in match uu____12958 with - | (hd1, args) -> + | (hd1,args) -> let uu____12997 = let uu____13003 = - let uu____13004 = un_uinst hd1 in - uu____13004.FStar_Syntax_Syntax.n in - (uu____13003, (FStar_List.length args)) in + let uu____13004 = un_uinst hd1 in + uu____13004.FStar_Syntax_Syntax.n in + (uu____13003, (FStar_List.length args)) in (match uu____12997 with - | (FStar_Syntax_Syntax.Tm_fvar fv, _13020) when + | (FStar_Syntax_Syntax.Tm_fvar fv,_13020) when (_13020 = (Prims.parse_int "2")) && (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.c_and_lid) -> FStar_Pervasives_Native.Some (BaseConn (FStar_Parser_Const.and_lid, args)) - | (FStar_Syntax_Syntax.Tm_fvar fv, _13023) when + | (FStar_Syntax_Syntax.Tm_fvar fv,_13023) when (_13023 = (Prims.parse_int "2")) && (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.c_or_lid) -> FStar_Pervasives_Native.Some (BaseConn (FStar_Parser_Const.or_lid, args)) - | (FStar_Syntax_Syntax.Tm_fvar fv, _13026) when + | (FStar_Syntax_Syntax.Tm_fvar fv,_13026) when (_13026 = (Prims.parse_int "2")) && (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.c_eq2_lid) -> FStar_Pervasives_Native.Some (BaseConn (FStar_Parser_Const.c_eq2_lid, args)) - | (FStar_Syntax_Syntax.Tm_fvar fv, _13029) when + | (FStar_Syntax_Syntax.Tm_fvar fv,_13029) when (_13029 = (Prims.parse_int "3")) && (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.c_eq2_lid) -> FStar_Pervasives_Native.Some (BaseConn (FStar_Parser_Const.c_eq2_lid, args)) - | (FStar_Syntax_Syntax.Tm_fvar fv, _13032) when + | (FStar_Syntax_Syntax.Tm_fvar fv,_13032) when (_13032 = (Prims.parse_int "2")) && (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.c_eq3_lid) -> FStar_Pervasives_Native.Some (BaseConn (FStar_Parser_Const.c_eq3_lid, args)) - | (FStar_Syntax_Syntax.Tm_fvar fv, _13035) when + | (FStar_Syntax_Syntax.Tm_fvar fv,_13035) when (_13035 = (Prims.parse_int "4")) && (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.c_eq3_lid) -> FStar_Pervasives_Native.Some (BaseConn (FStar_Parser_Const.c_eq3_lid, args)) - | (FStar_Syntax_Syntax.Tm_fvar fv, _13038) when + | (FStar_Syntax_Syntax.Tm_fvar fv,_13038) when (_13038 = (Prims.parse_int "0")) && (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.c_true_lid) -> FStar_Pervasives_Native.Some (BaseConn (FStar_Parser_Const.true_lid, args)) - | (FStar_Syntax_Syntax.Tm_fvar fv, _13041) when + | (FStar_Syntax_Syntax.Tm_fvar fv,_13041) when (_13041 = (Prims.parse_int "0")) && (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.c_false_lid) -> FStar_Pervasives_Native.Some (BaseConn (FStar_Parser_Const.false_lid, args)) - | uu____13042 -> FStar_Pervasives_Native.None)) in + | uu____13042 -> FStar_Pervasives_Native.None)) + in let rec destruct_sq_forall t = - let uu____13072 = un_squash t in + let uu____13072 = un_squash t in FStar_Util.bind_opt uu____13072 - (fun t1 -> - let uu____13087 = arrow_one t1 in + (fun t1 -> + let uu____13087 = arrow_one t1 in match uu____13087 with - | FStar_Pervasives_Native.Some (b, c) -> + | FStar_Pervasives_Native.Some (b,c) -> let uu____13102 = - let uu____13104 = is_tot_or_gtot_comp c in - Prims.op_Negation uu____13104 in + let uu____13104 = is_tot_or_gtot_comp c in + Prims.op_Negation uu____13104 in if uu____13102 then FStar_Pervasives_Native.None else (let q = - let uu____13114 = comp_to_comp_typ_nouniv c in - uu____13114.FStar_Syntax_Syntax.result_typ in + let uu____13114 = comp_to_comp_typ_nouniv c in + uu____13114.FStar_Syntax_Syntax.result_typ in let uu____13115 = - is_free_in (FStar_Pervasives_Native.fst b) q in + is_free_in (FStar_Pervasives_Native.fst b) q in if uu____13115 then - let uu____13122 = patterns q in + let uu____13122 = patterns q in match uu____13122 with - | (pats, q1) -> + | (pats,q1) -> FStar_All.pipe_left maybe_collect (FStar_Pervasives_Native.Some (QAll ([b], pats, q1))) @@ -3092,117 +3330,128 @@ let (destruct_typ_as_formula : let uu____13191 = let uu____13192 = FStar_Syntax_Syntax.as_arg - (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort in + (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort + in let uu____13203 = - let uu____13214 = FStar_Syntax_Syntax.as_arg q in - [uu____13214] in - uu____13192 :: uu____13203 in - (FStar_Parser_Const.imp_lid, uu____13191) in - BaseConn uu____13186 in + let uu____13214 = FStar_Syntax_Syntax.as_arg q + in + [uu____13214] in + uu____13192 :: uu____13203 in + (FStar_Parser_Const.imp_lid, uu____13191) in + BaseConn uu____13186 in FStar_Pervasives_Native.Some uu____13185)) | uu____13247 -> FStar_Pervasives_Native.None) + and destruct_sq_exists t = - let uu____13255 = un_squash t in + let uu____13255 = un_squash t in FStar_Util.bind_opt uu____13255 - (fun t1 -> - let uu____13286 = head_and_args' t1 in + (fun t1 -> + let uu____13286 = head_and_args' t1 in match uu____13286 with - | (hd1, args) -> + | (hd1,args) -> let uu____13325 = let uu____13340 = - let uu____13341 = un_uinst hd1 in - uu____13341.FStar_Syntax_Syntax.n in - (uu____13340, args) in + let uu____13341 = un_uinst hd1 in + uu____13341.FStar_Syntax_Syntax.n in + (uu____13340, args) in (match uu____13325 with - | (FStar_Syntax_Syntax.Tm_fvar fv, - (a1, uu____13358)::(a2, uu____13360)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(a1,uu____13358)::(a2,uu____13360)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.dtuple2_lid -> let uu____13411 = - let uu____13412 = FStar_Syntax_Subst.compress a2 in - uu____13412.FStar_Syntax_Syntax.n in + let uu____13412 = FStar_Syntax_Subst.compress a2 in + uu____13412.FStar_Syntax_Syntax.n in (match uu____13411 with - | FStar_Syntax_Syntax.Tm_abs (b::[], q, uu____13419) -> - let uu____13454 = FStar_Syntax_Subst.open_term [b] q in + | FStar_Syntax_Syntax.Tm_abs (b::[],q,uu____13419) -> + let uu____13454 = FStar_Syntax_Subst.open_term [b] q + in (match uu____13454 with - | (bs, q1) -> + | (bs,q1) -> let b1 = match bs with | b1::[] -> b1 - | uu____13507 -> failwith "impossible" in - let uu____13515 = patterns q1 in + | uu____13507 -> failwith "impossible" in + let uu____13515 = patterns q1 in (match uu____13515 with - | (pats, q2) -> + | (pats,q2) -> FStar_All.pipe_left maybe_collect (FStar_Pervasives_Native.Some (QEx ([b1], pats, q2))))) | uu____13576 -> FStar_Pervasives_Native.None) | uu____13577 -> FStar_Pervasives_Native.None)) + and maybe_collect f1 = match f1 with - | FStar_Pervasives_Native.Some (QAll (bs, pats, phi)) -> - let uu____13600 = destruct_sq_forall phi in + | FStar_Pervasives_Native.Some (QAll (bs,pats,phi)) -> + let uu____13600 = destruct_sq_forall phi in (match uu____13600 with - | FStar_Pervasives_Native.Some (QAll (bs', pats', psi)) -> + | FStar_Pervasives_Native.Some (QAll (bs',pats',psi)) -> FStar_All.pipe_left - (fun _13610 -> FStar_Pervasives_Native.Some _13610) + (fun _13610 -> FStar_Pervasives_Native.Some _13610) (QAll ((FStar_List.append bs bs'), (FStar_List.append pats pats'), psi)) | uu____13617 -> f1) - | FStar_Pervasives_Native.Some (QEx (bs, pats, phi)) -> - let uu____13623 = destruct_sq_exists phi in + | FStar_Pervasives_Native.Some (QEx (bs,pats,phi)) -> + let uu____13623 = destruct_sq_exists phi in (match uu____13623 with - | FStar_Pervasives_Native.Some (QEx (bs', pats', psi)) -> + | FStar_Pervasives_Native.Some (QEx (bs',pats',psi)) -> FStar_All.pipe_left - (fun _13633 -> FStar_Pervasives_Native.Some _13633) + (fun _13633 -> FStar_Pervasives_Native.Some _13633) (QEx ((FStar_List.append bs bs'), (FStar_List.append pats pats'), psi)) | uu____13640 -> f1) - | uu____13643 -> f1 in - let phi = unmeta_monadic f in - let uu____13647 = destruct_base_conn phi in + | uu____13643 -> f1 + in + let phi = unmeta_monadic f in + let uu____13647 = destruct_base_conn phi in FStar_Util.catch_opt uu____13647 - (fun uu____13652 -> - let uu____13653 = destruct_q_conn phi in + (fun uu____13652 -> + let uu____13653 = destruct_q_conn phi in FStar_Util.catch_opt uu____13653 - (fun uu____13658 -> - let uu____13659 = destruct_sq_base_conn phi in + (fun uu____13658 -> + let uu____13659 = destruct_sq_base_conn phi in FStar_Util.catch_opt uu____13659 - (fun uu____13664 -> - let uu____13665 = destruct_sq_forall phi in + (fun uu____13664 -> + let uu____13665 = destruct_sq_forall phi in FStar_Util.catch_opt uu____13665 - (fun uu____13670 -> - let uu____13671 = destruct_sq_exists phi in + (fun uu____13670 -> + let uu____13671 = destruct_sq_exists phi in FStar_Util.catch_opt uu____13671 - (fun uu____13675 -> FStar_Pervasives_Native.None))))) + (fun uu____13675 -> FStar_Pervasives_Native.None))))) + let (action_as_lb : FStar_Ident.lident -> FStar_Syntax_Syntax.action -> FStar_Range.range -> FStar_Syntax_Syntax.sigelt) = - fun eff_lid -> - fun a -> - fun pos -> + fun eff_lid -> + fun a -> + fun pos -> let lb = let uu____13693 = let uu____13698 = FStar_Syntax_Syntax.lid_as_fv a.FStar_Syntax_Syntax.action_name FStar_Syntax_Syntax.delta_equational - FStar_Pervasives_Native.None in - FStar_Util.Inr uu____13698 in + FStar_Pervasives_Native.None + in + FStar_Util.Inr uu____13698 in let uu____13699 = let uu____13700 = - FStar_Syntax_Syntax.mk_Total a.FStar_Syntax_Syntax.action_typ in - arrow a.FStar_Syntax_Syntax.action_params uu____13700 in + FStar_Syntax_Syntax.mk_Total a.FStar_Syntax_Syntax.action_typ + in + arrow a.FStar_Syntax_Syntax.action_params uu____13700 in let uu____13703 = abs a.FStar_Syntax_Syntax.action_params - a.FStar_Syntax_Syntax.action_defn FStar_Pervasives_Native.None in + a.FStar_Syntax_Syntax.action_defn FStar_Pervasives_Native.None + in close_univs_and_mk_letbinding FStar_Pervasives_Native.None uu____13693 a.FStar_Syntax_Syntax.action_univs uu____13699 - FStar_Parser_Const.effect_Tot_lid uu____13703 [] pos in + FStar_Parser_Const.effect_Tot_lid uu____13703 [] pos + in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_let @@ -3215,55 +3464,61 @@ let (action_as_lb : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] } + let (mk_reify : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t -> + fun t -> let reify_1 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant FStar_Const.Const_reify) - FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos + in let uu____13729 = let uu____13736 = let uu____13737 = let uu____13754 = - let uu____13765 = FStar_Syntax_Syntax.as_arg t in [uu____13765] in - (reify_1, uu____13754) in - FStar_Syntax_Syntax.Tm_app uu____13737 in - FStar_Syntax_Syntax.mk uu____13736 in + let uu____13765 = FStar_Syntax_Syntax.as_arg t in [uu____13765] + in + (reify_1, uu____13754) in + FStar_Syntax_Syntax.Tm_app uu____13737 in + FStar_Syntax_Syntax.mk uu____13736 in uu____13729 FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos + let (mk_reflect : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t -> + fun t -> let reflect_ = let uu____13817 = let uu____13824 = let uu____13825 = - let uu____13826 = FStar_Ident.lid_of_str "Bogus.Effect" in - FStar_Const.Const_reflect uu____13826 in - FStar_Syntax_Syntax.Tm_constant uu____13825 in - FStar_Syntax_Syntax.mk uu____13824 in - uu____13817 FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos in + let uu____13826 = FStar_Ident.lid_of_str "Bogus.Effect" in + FStar_Const.Const_reflect uu____13826 in + FStar_Syntax_Syntax.Tm_constant uu____13825 in + FStar_Syntax_Syntax.mk uu____13824 in + uu____13817 FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos in let uu____13828 = let uu____13835 = let uu____13836 = let uu____13853 = - let uu____13864 = FStar_Syntax_Syntax.as_arg t in [uu____13864] in - (reflect_, uu____13853) in - FStar_Syntax_Syntax.Tm_app uu____13836 in - FStar_Syntax_Syntax.mk uu____13835 in + let uu____13864 = FStar_Syntax_Syntax.as_arg t in [uu____13864] + in + (reflect_, uu____13853) in + FStar_Syntax_Syntax.Tm_app uu____13836 in + FStar_Syntax_Syntax.mk uu____13835 in uu____13828 FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos + let rec (delta_qualifier : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.delta_depth) = - fun t -> - let t1 = FStar_Syntax_Subst.compress t in + fun t -> + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_delayed uu____13908 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____13933 = unfold_lazy i in delta_qualifier uu____13933 + let uu____13933 = unfold_lazy i in delta_qualifier uu____13933 | FStar_Syntax_Syntax.Tm_fvar fv -> fv.FStar_Syntax_Syntax.fv_delta | FStar_Syntax_Syntax.Tm_bvar uu____13935 -> FStar_Syntax_Syntax.delta_equational @@ -3273,7 +3528,7 @@ let rec (delta_qualifier : FStar_Syntax_Syntax.delta_equational | FStar_Syntax_Syntax.Tm_uvar uu____13960 -> FStar_Syntax_Syntax.delta_equational - | FStar_Syntax_Syntax.Tm_unknown -> FStar_Syntax_Syntax.delta_equational + | FStar_Syntax_Syntax.Tm_unknown -> FStar_Syntax_Syntax.delta_equational | FStar_Syntax_Syntax.Tm_type uu____13973 -> FStar_Syntax_Syntax.delta_constant | FStar_Syntax_Syntax.Tm_quoted uu____13974 -> @@ -3282,23 +3537,23 @@ let rec (delta_qualifier : FStar_Syntax_Syntax.delta_constant | FStar_Syntax_Syntax.Tm_arrow uu____13982 -> FStar_Syntax_Syntax.delta_constant - | FStar_Syntax_Syntax.Tm_uinst (t2, uu____13998) -> delta_qualifier t2 + | FStar_Syntax_Syntax.Tm_uinst (t2,uu____13998) -> delta_qualifier t2 | FStar_Syntax_Syntax.Tm_refine ({ FStar_Syntax_Syntax.ppname = uu____14003; FStar_Syntax_Syntax.index = uu____14004; - FStar_Syntax_Syntax.sort = t2;_}, - uu____14006) + FStar_Syntax_Syntax.sort = t2;_},uu____14006) -> delta_qualifier t2 - | FStar_Syntax_Syntax.Tm_meta (t2, uu____14015) -> delta_qualifier t2 - | FStar_Syntax_Syntax.Tm_ascribed (t2, uu____14021, uu____14022) -> + | FStar_Syntax_Syntax.Tm_meta (t2,uu____14015) -> delta_qualifier t2 + | FStar_Syntax_Syntax.Tm_ascribed (t2,uu____14021,uu____14022) -> delta_qualifier t2 - | FStar_Syntax_Syntax.Tm_app (t2, uu____14064) -> delta_qualifier t2 - | FStar_Syntax_Syntax.Tm_abs (uu____14089, t2, uu____14091) -> + | FStar_Syntax_Syntax.Tm_app (t2,uu____14064) -> delta_qualifier t2 + | FStar_Syntax_Syntax.Tm_abs (uu____14089,t2,uu____14091) -> delta_qualifier t2 - | FStar_Syntax_Syntax.Tm_let (uu____14116, t2) -> delta_qualifier t2 + | FStar_Syntax_Syntax.Tm_let (uu____14116,t2) -> delta_qualifier t2 + let rec (incr_delta_depth : FStar_Syntax_Syntax.delta_depth -> FStar_Syntax_Syntax.delta_depth) = - fun d -> + fun d -> match d with | FStar_Syntax_Syntax.Delta_constant_at_level i -> FStar_Syntax_Syntax.Delta_constant_at_level @@ -3307,335 +3562,359 @@ let rec (incr_delta_depth : FStar_Syntax_Syntax.Delta_equational_at_level (i + (Prims.parse_int "1")) | FStar_Syntax_Syntax.Delta_abstract d1 -> incr_delta_depth d1 + let (incr_delta_qualifier : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.delta_depth) = - fun t -> - let uu____14155 = delta_qualifier t in incr_delta_depth uu____14155 + fun t -> + let uu____14155 = delta_qualifier t in incr_delta_depth uu____14155 + let (is_unknown : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____14163 = - let uu____14164 = FStar_Syntax_Subst.compress t in - uu____14164.FStar_Syntax_Syntax.n in + let uu____14164 = FStar_Syntax_Subst.compress t in + uu____14164.FStar_Syntax_Syntax.n in match uu____14163 with - | FStar_Syntax_Syntax.Tm_unknown -> true + | FStar_Syntax_Syntax.Tm_unknown -> true | uu____14169 -> false + let rec apply_last : 'Auu____14178 . ('Auu____14178 -> 'Auu____14178) -> 'Auu____14178 Prims.list -> 'Auu____14178 Prims.list = - fun f -> - fun l -> + fun f -> + fun l -> match l with | [] -> failwith "apply_last: got empty list" - | a::[] -> let uu____14204 = f a in [uu____14204] - | x::xs -> let uu____14209 = apply_last f xs in x :: uu____14209 + | a::[] -> let uu____14204 = f a in [uu____14204] + | x::xs -> let uu____14209 = apply_last f xs in x :: uu____14209 + let (dm4f_lid : FStar_Syntax_Syntax.eff_decl -> Prims.string -> FStar_Ident.lident) = - fun ed -> - fun name -> - let p = FStar_Ident.path_of_lid ed.FStar_Syntax_Syntax.mname in + fun ed -> + fun name -> + let p = FStar_Ident.path_of_lid ed.FStar_Syntax_Syntax.mname in let p' = apply_last - (fun s -> + (fun s -> Prims.op_Hat "_dm4f_" (Prims.op_Hat s (Prims.op_Hat "_" name))) - p in + p + in FStar_Ident.lid_of_path p' FStar_Range.dummyRange + let rec (mk_list : FStar_Syntax_Syntax.term -> FStar_Range.range -> FStar_Syntax_Syntax.term Prims.list -> FStar_Syntax_Syntax.term) = - fun typ -> - fun rng -> - fun l -> + fun typ -> + fun rng -> + fun l -> let ctor l1 = let uu____14264 = let uu____14271 = let uu____14272 = FStar_Syntax_Syntax.lid_as_fv l1 FStar_Syntax_Syntax.delta_constant - (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) in - FStar_Syntax_Syntax.Tm_fvar uu____14272 in - FStar_Syntax_Syntax.mk uu____14271 in - uu____14264 FStar_Pervasives_Native.None rng in + (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + in + FStar_Syntax_Syntax.Tm_fvar uu____14272 in + FStar_Syntax_Syntax.mk uu____14271 in + uu____14264 FStar_Pervasives_Native.None rng in let cons1 args pos = let uu____14286 = let uu____14291 = - let uu____14292 = ctor FStar_Parser_Const.cons_lid in + let uu____14292 = ctor FStar_Parser_Const.cons_lid in FStar_Syntax_Syntax.mk_Tm_uinst uu____14292 - [FStar_Syntax_Syntax.U_zero] in - FStar_Syntax_Syntax.mk_Tm_app uu____14291 args in - uu____14286 FStar_Pervasives_Native.None pos in + [FStar_Syntax_Syntax.U_zero] + in + FStar_Syntax_Syntax.mk_Tm_app uu____14291 args in + uu____14286 FStar_Pervasives_Native.None pos in let nil args pos = let uu____14306 = let uu____14311 = - let uu____14312 = ctor FStar_Parser_Const.nil_lid in + let uu____14312 = ctor FStar_Parser_Const.nil_lid in FStar_Syntax_Syntax.mk_Tm_uinst uu____14312 - [FStar_Syntax_Syntax.U_zero] in - FStar_Syntax_Syntax.mk_Tm_app uu____14311 args in - uu____14306 FStar_Pervasives_Native.None pos in + [FStar_Syntax_Syntax.U_zero] + in + FStar_Syntax_Syntax.mk_Tm_app uu____14311 args in + uu____14306 FStar_Pervasives_Native.None pos in let uu____14313 = let uu____14314 = - let uu____14315 = FStar_Syntax_Syntax.iarg typ in [uu____14315] in - nil uu____14314 rng in + let uu____14315 = FStar_Syntax_Syntax.iarg typ in [uu____14315] + in + nil uu____14314 rng in FStar_List.fold_right - (fun t -> - fun a -> + (fun t -> + fun a -> let uu____14349 = - let uu____14350 = FStar_Syntax_Syntax.iarg typ in + let uu____14350 = FStar_Syntax_Syntax.iarg typ in let uu____14359 = - let uu____14370 = FStar_Syntax_Syntax.as_arg t in + let uu____14370 = FStar_Syntax_Syntax.as_arg t in let uu____14379 = - let uu____14390 = FStar_Syntax_Syntax.as_arg a in - [uu____14390] in - uu____14370 :: uu____14379 in - uu____14350 :: uu____14359 in + let uu____14390 = FStar_Syntax_Syntax.as_arg a in + [uu____14390] in + uu____14370 :: uu____14379 in + uu____14350 :: uu____14359 in cons1 uu____14349 t.FStar_Syntax_Syntax.pos) l uu____14313 + let rec eqlist : 'a . ('a -> 'a -> Prims.bool) -> 'a Prims.list -> 'a Prims.list -> Prims.bool = - fun eq1 -> - fun xs -> - fun ys -> + fun eq1 -> + fun xs -> + fun ys -> match (xs, ys) with - | ([], []) -> true - | (x::xs1, y::ys1) -> (eq1 x y) && (eqlist eq1 xs1 ys1) + | ([],[]) -> true + | (x::xs1,y::ys1) -> (eq1 x y) && (eqlist eq1 xs1 ys1) | uu____14499 -> false + let eqsum : 'a 'b . ('a -> 'a -> Prims.bool) -> ('b -> 'b -> Prims.bool) -> - ('a, 'b) FStar_Util.either -> - ('a, 'b) FStar_Util.either -> Prims.bool + ('a,'b) FStar_Util.either -> ('a,'b) FStar_Util.either -> Prims.bool = - fun e1 -> - fun e2 -> - fun x -> - fun y -> + fun e1 -> + fun e2 -> + fun x -> + fun y -> match (x, y) with - | (FStar_Util.Inl x1, FStar_Util.Inl y1) -> e1 x1 y1 - | (FStar_Util.Inr x1, FStar_Util.Inr y1) -> e2 x1 y1 + | (FStar_Util.Inl x1,FStar_Util.Inl y1) -> e1 x1 y1 + | (FStar_Util.Inr x1,FStar_Util.Inr y1) -> e2 x1 y1 | uu____14613 -> false + let eqprod : 'a 'b . ('a -> 'a -> Prims.bool) -> ('b -> 'b -> Prims.bool) -> ('a * 'b) -> ('a * 'b) -> Prims.bool = - fun e1 -> - fun e2 -> - fun x -> - fun y -> - match (x, y) with - | ((x1, x2), (y1, y2)) -> (e1 x1 y1) && (e2 x2 y2) + fun e1 -> + fun e2 -> + fun x -> + fun y -> + match (x, y) with | ((x1,x2),(y1,y2)) -> (e1 x1 y1) && (e2 x2 y2) + let eqopt : 'a . ('a -> 'a -> Prims.bool) -> 'a FStar_Pervasives_Native.option -> 'a FStar_Pervasives_Native.option -> Prims.bool = - fun e -> - fun x -> - fun y -> + fun e -> + fun x -> + fun y -> match (x, y) with - | (FStar_Pervasives_Native.Some x1, FStar_Pervasives_Native.Some y1) + | (FStar_Pervasives_Native.Some x1,FStar_Pervasives_Native.Some y1) -> e x1 y1 | uu____14779 -> false -let (debug_term_eq : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false + +let (debug_term_eq : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false let (check : Prims.string -> Prims.bool -> Prims.bool) = - fun msg -> - fun cond -> + fun msg -> + fun cond -> if cond then true else - ((let uu____14817 = FStar_ST.op_Bang debug_term_eq in + ((let uu____14817 = FStar_ST.op_Bang debug_term_eq in if uu____14817 then FStar_Util.print1 ">>> term_eq failing: %s\n" msg else ()); false) -let (fail : Prims.string -> Prims.bool) = fun msg -> check msg false + +let (fail : Prims.string -> Prims.bool) = fun msg -> check msg false let rec (term_eq_dbg : Prims.bool -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun dbg -> - fun t1 -> - fun t2 -> - let t11 = let uu____15039 = unmeta_safe t1 in canon_app uu____15039 in - let t21 = let uu____15045 = unmeta_safe t2 in canon_app uu____15045 in + fun dbg -> + fun t1 -> + fun t2 -> + let t11 = let uu____15039 = unmeta_safe t1 in canon_app uu____15039 + in + let t21 = let uu____15045 = unmeta_safe t2 in canon_app uu____15045 + in let uu____15048 = let uu____15053 = let uu____15054 = - let uu____15057 = un_uinst t11 in - FStar_Syntax_Subst.compress uu____15057 in - uu____15054.FStar_Syntax_Syntax.n in + let uu____15057 = un_uinst t11 in + FStar_Syntax_Subst.compress uu____15057 in + uu____15054.FStar_Syntax_Syntax.n in let uu____15058 = let uu____15059 = - let uu____15062 = un_uinst t21 in - FStar_Syntax_Subst.compress uu____15062 in - uu____15059.FStar_Syntax_Syntax.n in - (uu____15053, uu____15058) in + let uu____15062 = un_uinst t21 in + FStar_Syntax_Subst.compress uu____15062 in + uu____15059.FStar_Syntax_Syntax.n in + (uu____15053, uu____15058) in match uu____15048 with - | (FStar_Syntax_Syntax.Tm_uinst uu____15064, uu____15065) -> + | (FStar_Syntax_Syntax.Tm_uinst uu____15064,uu____15065) -> failwith "term_eq: impossible, should have been removed" - | (uu____15074, FStar_Syntax_Syntax.Tm_uinst uu____15075) -> + | (uu____15074,FStar_Syntax_Syntax.Tm_uinst uu____15075) -> failwith "term_eq: impossible, should have been removed" - | (FStar_Syntax_Syntax.Tm_delayed uu____15084, uu____15085) -> + | (FStar_Syntax_Syntax.Tm_delayed uu____15084,uu____15085) -> failwith "term_eq: impossible, should have been removed" - | (uu____15110, FStar_Syntax_Syntax.Tm_delayed uu____15111) -> + | (uu____15110,FStar_Syntax_Syntax.Tm_delayed uu____15111) -> failwith "term_eq: impossible, should have been removed" - | (FStar_Syntax_Syntax.Tm_ascribed uu____15136, uu____15137) -> + | (FStar_Syntax_Syntax.Tm_ascribed uu____15136,uu____15137) -> failwith "term_eq: impossible, should have been removed" - | (uu____15166, FStar_Syntax_Syntax.Tm_ascribed uu____15167) -> + | (uu____15166,FStar_Syntax_Syntax.Tm_ascribed uu____15167) -> failwith "term_eq: impossible, should have been removed" - | (FStar_Syntax_Syntax.Tm_bvar x, FStar_Syntax_Syntax.Tm_bvar y) -> + | (FStar_Syntax_Syntax.Tm_bvar x,FStar_Syntax_Syntax.Tm_bvar y) -> check "bvar" (x.FStar_Syntax_Syntax.index = y.FStar_Syntax_Syntax.index) - | (FStar_Syntax_Syntax.Tm_name x, FStar_Syntax_Syntax.Tm_name y) -> + | (FStar_Syntax_Syntax.Tm_name x,FStar_Syntax_Syntax.Tm_name y) -> check "name" (x.FStar_Syntax_Syntax.index = y.FStar_Syntax_Syntax.index) - | (FStar_Syntax_Syntax.Tm_fvar x, FStar_Syntax_Syntax.Tm_fvar y) -> - let uu____15206 = FStar_Syntax_Syntax.fv_eq x y in + | (FStar_Syntax_Syntax.Tm_fvar x,FStar_Syntax_Syntax.Tm_fvar y) -> + let uu____15206 = FStar_Syntax_Syntax.fv_eq x y in check "fvar" uu____15206 - | (FStar_Syntax_Syntax.Tm_constant c1, - FStar_Syntax_Syntax.Tm_constant c2) -> - let uu____15211 = FStar_Const.eq_const c1 c2 in + | (FStar_Syntax_Syntax.Tm_constant c1,FStar_Syntax_Syntax.Tm_constant + c2) -> + let uu____15211 = FStar_Const.eq_const c1 c2 in check "const" uu____15211 - | (FStar_Syntax_Syntax.Tm_type uu____15214, - FStar_Syntax_Syntax.Tm_type uu____15215) -> true - | (FStar_Syntax_Syntax.Tm_abs (b1, t12, k1), - FStar_Syntax_Syntax.Tm_abs (b2, t22, k2)) -> - (let uu____15273 = eqlist (binder_eq_dbg dbg) b1 b2 in + | (FStar_Syntax_Syntax.Tm_type + uu____15214,FStar_Syntax_Syntax.Tm_type uu____15215) -> true + | (FStar_Syntax_Syntax.Tm_abs (b1,t12,k1),FStar_Syntax_Syntax.Tm_abs + (b2,t22,k2)) -> + (let uu____15273 = eqlist (binder_eq_dbg dbg) b1 b2 in check "abs binders" uu____15273) && - (let uu____15283 = term_eq_dbg dbg t12 t22 in + (let uu____15283 = term_eq_dbg dbg t12 t22 in check "abs bodies" uu____15283) - | (FStar_Syntax_Syntax.Tm_arrow (b1, c1), - FStar_Syntax_Syntax.Tm_arrow (b2, c2)) -> - (let uu____15332 = eqlist (binder_eq_dbg dbg) b1 b2 in + | (FStar_Syntax_Syntax.Tm_arrow (b1,c1),FStar_Syntax_Syntax.Tm_arrow + (b2,c2)) -> + (let uu____15332 = eqlist (binder_eq_dbg dbg) b1 b2 in check "arrow binders" uu____15332) && - (let uu____15342 = comp_eq_dbg dbg c1 c2 in + (let uu____15342 = comp_eq_dbg dbg c1 c2 in check "arrow comp" uu____15342) - | (FStar_Syntax_Syntax.Tm_refine (b1, t12), - FStar_Syntax_Syntax.Tm_refine (b2, t22)) -> - (check "refine bv" - (b1.FStar_Syntax_Syntax.index = b2.FStar_Syntax_Syntax.index)) - && - (let uu____15360 = term_eq_dbg dbg t12 t22 in - check "refine formula" uu____15360) - | (FStar_Syntax_Syntax.Tm_app (f1, a1), FStar_Syntax_Syntax.Tm_app - (f2, a2)) -> - (let uu____15417 = term_eq_dbg dbg f1 f2 in - check "app head" uu____15417) && - (let uu____15421 = eqlist (arg_eq_dbg dbg) a1 a2 in - check "app args" uu____15421) - | (FStar_Syntax_Syntax.Tm_match (t12, bs1), - FStar_Syntax_Syntax.Tm_match (t22, bs2)) -> - (let uu____15510 = term_eq_dbg dbg t12 t22 in - check "match head" uu____15510) && - (let uu____15514 = eqlist (branch_eq_dbg dbg) bs1 bs2 in - check "match branches" uu____15514) - | (FStar_Syntax_Syntax.Tm_lazy uu____15531, uu____15532) -> - let uu____15533 = - let uu____15535 = unlazy t11 in term_eq_dbg dbg uu____15535 t21 in - check "lazy_l" uu____15533 - | (uu____15537, FStar_Syntax_Syntax.Tm_lazy uu____15538) -> - let uu____15539 = - let uu____15541 = unlazy t21 in term_eq_dbg dbg t11 uu____15541 in - check "lazy_r" uu____15539 - | (FStar_Syntax_Syntax.Tm_let ((b1, lbs1), t12), - FStar_Syntax_Syntax.Tm_let ((b2, lbs2), t22)) -> + | (FStar_Syntax_Syntax.Tm_refine + (b1,t12),FStar_Syntax_Syntax.Tm_refine (b2,t22)) -> + (let uu____15359 = + term_eq_dbg dbg b1.FStar_Syntax_Syntax.sort + b2.FStar_Syntax_Syntax.sort + in + check "refine bv sort" uu____15359) && + (let uu____15363 = term_eq_dbg dbg t12 t22 in + check "refine formula" uu____15363) + | (FStar_Syntax_Syntax.Tm_app (f1,a1),FStar_Syntax_Syntax.Tm_app + (f2,a2)) -> + (let uu____15420 = term_eq_dbg dbg f1 f2 in + check "app head" uu____15420) && + (let uu____15424 = eqlist (arg_eq_dbg dbg) a1 a2 in + check "app args" uu____15424) + | (FStar_Syntax_Syntax.Tm_match + (t12,bs1),FStar_Syntax_Syntax.Tm_match (t22,bs2)) -> + (let uu____15513 = term_eq_dbg dbg t12 t22 in + check "match head" uu____15513) && + (let uu____15517 = eqlist (branch_eq_dbg dbg) bs1 bs2 in + check "match branches" uu____15517) + | (FStar_Syntax_Syntax.Tm_lazy uu____15534,uu____15535) -> + let uu____15536 = + let uu____15538 = unlazy t11 in + term_eq_dbg dbg uu____15538 t21 in + check "lazy_l" uu____15536 + | (uu____15540,FStar_Syntax_Syntax.Tm_lazy uu____15541) -> + let uu____15542 = + let uu____15544 = unlazy t21 in + term_eq_dbg dbg t11 uu____15544 in + check "lazy_r" uu____15542 + | (FStar_Syntax_Syntax.Tm_let + ((b1,lbs1),t12),FStar_Syntax_Syntax.Tm_let ((b2,lbs2),t22)) -> ((check "let flag" (b1 = b2)) && - (let uu____15586 = eqlist (letbinding_eq_dbg dbg) lbs1 lbs2 in - check "let lbs" uu____15586)) + (let uu____15589 = eqlist (letbinding_eq_dbg dbg) lbs1 lbs2 + in + check "let lbs" uu____15589)) && - (let uu____15590 = term_eq_dbg dbg t12 t22 in - check "let body" uu____15590) - | (FStar_Syntax_Syntax.Tm_uvar (u1, uu____15594), - FStar_Syntax_Syntax.Tm_uvar (u2, uu____15596)) -> + (let uu____15593 = term_eq_dbg dbg t12 t22 in + check "let body" uu____15593) + | (FStar_Syntax_Syntax.Tm_uvar + (u1,uu____15597),FStar_Syntax_Syntax.Tm_uvar (u2,uu____15599)) -> check "uvar" (u1.FStar_Syntax_Syntax.ctx_uvar_head = u2.FStar_Syntax_Syntax.ctx_uvar_head) - | (FStar_Syntax_Syntax.Tm_quoted (qt1, qi1), - FStar_Syntax_Syntax.Tm_quoted (qt2, qi2)) -> - (let uu____15654 = - let uu____15656 = eq_quoteinfo qi1 qi2 in uu____15656 = Equal in - check "tm_quoted qi" uu____15654) && - (let uu____15659 = term_eq_dbg dbg qt1 qt2 in - check "tm_quoted payload" uu____15659) - | (FStar_Syntax_Syntax.Tm_meta (t12, m1), FStar_Syntax_Syntax.Tm_meta - (t22, m2)) -> + | (FStar_Syntax_Syntax.Tm_quoted + (qt1,qi1),FStar_Syntax_Syntax.Tm_quoted (qt2,qi2)) -> + (let uu____15657 = + let uu____15659 = eq_quoteinfo qi1 qi2 in uu____15659 = Equal + in + check "tm_quoted qi" uu____15657) && + (let uu____15662 = term_eq_dbg dbg qt1 qt2 in + check "tm_quoted payload" uu____15662) + | (FStar_Syntax_Syntax.Tm_meta (t12,m1),FStar_Syntax_Syntax.Tm_meta + (t22,m2)) -> (match (m1, m2) with - | (FStar_Syntax_Syntax.Meta_monadic (n1, ty1), - FStar_Syntax_Syntax.Meta_monadic (n2, ty2)) -> - (let uu____15689 = FStar_Ident.lid_equals n1 n2 in - check "meta_monadic lid" uu____15689) && - (let uu____15693 = term_eq_dbg dbg ty1 ty2 in - check "meta_monadic type" uu____15693) - | (FStar_Syntax_Syntax.Meta_monadic_lift (s1, t13, ty1), - FStar_Syntax_Syntax.Meta_monadic_lift (s2, t23, ty2)) -> - ((let uu____15712 = FStar_Ident.lid_equals s1 s2 in - check "meta_monadic_lift src" uu____15712) && - (let uu____15716 = FStar_Ident.lid_equals t13 t23 in - check "meta_monadic_lift tgt" uu____15716)) + | (FStar_Syntax_Syntax.Meta_monadic + (n1,ty1),FStar_Syntax_Syntax.Meta_monadic (n2,ty2)) -> + (let uu____15692 = FStar_Ident.lid_equals n1 n2 in + check "meta_monadic lid" uu____15692) && + (let uu____15696 = term_eq_dbg dbg ty1 ty2 in + check "meta_monadic type" uu____15696) + | (FStar_Syntax_Syntax.Meta_monadic_lift + (s1,t13,ty1),FStar_Syntax_Syntax.Meta_monadic_lift + (s2,t23,ty2)) -> + ((let uu____15715 = FStar_Ident.lid_equals s1 s2 in + check "meta_monadic_lift src" uu____15715) && + (let uu____15719 = FStar_Ident.lid_equals t13 t23 in + check "meta_monadic_lift tgt" uu____15719)) && - (let uu____15720 = term_eq_dbg dbg ty1 ty2 in - check "meta_monadic_lift type" uu____15720) - | uu____15723 -> fail "metas") - | (FStar_Syntax_Syntax.Tm_unknown, uu____15729) -> fail "unk" - | (uu____15731, FStar_Syntax_Syntax.Tm_unknown) -> fail "unk" - | (FStar_Syntax_Syntax.Tm_bvar uu____15733, uu____15734) -> + (let uu____15723 = term_eq_dbg dbg ty1 ty2 in + check "meta_monadic_lift type" uu____15723) + | uu____15726 -> fail "metas") + | (FStar_Syntax_Syntax.Tm_unknown ,uu____15732) -> fail "unk" + | (uu____15734,FStar_Syntax_Syntax.Tm_unknown ) -> fail "unk" + | (FStar_Syntax_Syntax.Tm_bvar uu____15736,uu____15737) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_name uu____15736, uu____15737) -> + | (FStar_Syntax_Syntax.Tm_name uu____15739,uu____15740) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_fvar uu____15739, uu____15740) -> + | (FStar_Syntax_Syntax.Tm_fvar uu____15742,uu____15743) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_constant uu____15742, uu____15743) -> + | (FStar_Syntax_Syntax.Tm_constant uu____15745,uu____15746) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_type uu____15745, uu____15746) -> + | (FStar_Syntax_Syntax.Tm_type uu____15748,uu____15749) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_abs uu____15748, uu____15749) -> + | (FStar_Syntax_Syntax.Tm_abs uu____15751,uu____15752) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_arrow uu____15769, uu____15770) -> + | (FStar_Syntax_Syntax.Tm_arrow uu____15772,uu____15773) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_refine uu____15786, uu____15787) -> + | (FStar_Syntax_Syntax.Tm_refine uu____15789,uu____15790) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_app uu____15795, uu____15796) -> + | (FStar_Syntax_Syntax.Tm_app uu____15798,uu____15799) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_match uu____15814, uu____15815) -> + | (FStar_Syntax_Syntax.Tm_match uu____15817,uu____15818) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_let uu____15839, uu____15840) -> + | (FStar_Syntax_Syntax.Tm_let uu____15842,uu____15843) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_uvar uu____15855, uu____15856) -> + | (FStar_Syntax_Syntax.Tm_uvar uu____15858,uu____15859) -> fail "bottom" - | (FStar_Syntax_Syntax.Tm_meta uu____15870, uu____15871) -> + | (FStar_Syntax_Syntax.Tm_meta uu____15873,uu____15874) -> fail "bottom" - | (uu____15879, FStar_Syntax_Syntax.Tm_bvar uu____15880) -> + | (uu____15882,FStar_Syntax_Syntax.Tm_bvar uu____15883) -> fail "bottom" - | (uu____15882, FStar_Syntax_Syntax.Tm_name uu____15883) -> + | (uu____15885,FStar_Syntax_Syntax.Tm_name uu____15886) -> fail "bottom" - | (uu____15885, FStar_Syntax_Syntax.Tm_fvar uu____15886) -> + | (uu____15888,FStar_Syntax_Syntax.Tm_fvar uu____15889) -> fail "bottom" - | (uu____15888, FStar_Syntax_Syntax.Tm_constant uu____15889) -> + | (uu____15891,FStar_Syntax_Syntax.Tm_constant uu____15892) -> fail "bottom" - | (uu____15891, FStar_Syntax_Syntax.Tm_type uu____15892) -> + | (uu____15894,FStar_Syntax_Syntax.Tm_type uu____15895) -> fail "bottom" - | (uu____15894, FStar_Syntax_Syntax.Tm_abs uu____15895) -> + | (uu____15897,FStar_Syntax_Syntax.Tm_abs uu____15898) -> fail "bottom" - | (uu____15915, FStar_Syntax_Syntax.Tm_arrow uu____15916) -> + | (uu____15918,FStar_Syntax_Syntax.Tm_arrow uu____15919) -> fail "bottom" - | (uu____15932, FStar_Syntax_Syntax.Tm_refine uu____15933) -> + | (uu____15935,FStar_Syntax_Syntax.Tm_refine uu____15936) -> fail "bottom" - | (uu____15941, FStar_Syntax_Syntax.Tm_app uu____15942) -> + | (uu____15944,FStar_Syntax_Syntax.Tm_app uu____15945) -> fail "bottom" - | (uu____15960, FStar_Syntax_Syntax.Tm_match uu____15961) -> + | (uu____15963,FStar_Syntax_Syntax.Tm_match uu____15964) -> fail "bottom" - | (uu____15985, FStar_Syntax_Syntax.Tm_let uu____15986) -> + | (uu____15988,FStar_Syntax_Syntax.Tm_let uu____15989) -> fail "bottom" - | (uu____16001, FStar_Syntax_Syntax.Tm_uvar uu____16002) -> + | (uu____16004,FStar_Syntax_Syntax.Tm_uvar uu____16005) -> fail "bottom" - | (uu____16016, FStar_Syntax_Syntax.Tm_meta uu____16017) -> + | (uu____16019,FStar_Syntax_Syntax.Tm_meta uu____16020) -> fail "bottom" + and (arg_eq_dbg : Prims.bool -> (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * @@ -3644,19 +3923,20 @@ and (arg_eq_dbg : FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) -> Prims.bool) = - fun dbg -> - fun a1 -> - fun a2 -> + fun dbg -> + fun a1 -> + fun a2 -> eqprod - (fun t1 -> - fun t2 -> - let uu____16052 = term_eq_dbg dbg t1 t2 in - check "arg tm" uu____16052) - (fun q1 -> - fun q2 -> - let uu____16064 = - let uu____16066 = eq_aqual q1 q2 in uu____16066 = Equal in - check "arg qual" uu____16064) a1 a2 + (fun t1 -> + fun t2 -> + let uu____16055 = term_eq_dbg dbg t1 t2 in + check "arg tm" uu____16055) + (fun q1 -> + fun q2 -> + let uu____16067 = + let uu____16069 = eq_aqual q1 q2 in uu____16069 = Equal in + check "arg qual" uu____16067) a1 a2 + and (binder_eq_dbg : Prims.bool -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier @@ -3664,51 +3944,59 @@ and (binder_eq_dbg : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) -> Prims.bool) = - fun dbg -> - fun b1 -> - fun b2 -> + fun dbg -> + fun b1 -> + fun b2 -> eqprod - (fun b11 -> - fun b21 -> - let uu____16091 = + (fun b11 -> + fun b21 -> + let uu____16094 = term_eq_dbg dbg b11.FStar_Syntax_Syntax.sort - b21.FStar_Syntax_Syntax.sort in - check "binder sort" uu____16091) - (fun q1 -> - fun q2 -> - let uu____16103 = - let uu____16105 = eq_aqual q1 q2 in uu____16105 = Equal in - check "binder qual" uu____16103) b1 b2 + b21.FStar_Syntax_Syntax.sort + in + check "binder sort" uu____16094) + (fun q1 -> + fun q2 -> + let uu____16106 = + let uu____16108 = eq_aqual q1 q2 in uu____16108 = Equal in + check "binder qual" uu____16106) b1 b2 + and (lcomp_eq_dbg : FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.lcomp -> Prims.bool) = - fun c1 -> fun c2 -> fail "lcomp" + fun c1 -> fun c2 -> fail "lcomp" + and (residual_eq_dbg : FStar_Syntax_Syntax.residual_comp -> FStar_Syntax_Syntax.residual_comp -> Prims.bool) - = fun r1 -> fun r2 -> fail "residual" + = fun r1 -> fun r2 -> fail "residual" + and (comp_eq_dbg : Prims.bool -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun dbg -> - fun c1 -> - fun c2 -> - let c11 = comp_to_comp_typ_nouniv c1 in - let c21 = comp_to_comp_typ_nouniv c2 in - ((let uu____16125 = + fun dbg -> + fun c1 -> + fun c2 -> + let c11 = comp_to_comp_typ_nouniv c1 in + let c21 = comp_to_comp_typ_nouniv c2 in + ((let uu____16128 = FStar_Ident.lid_equals c11.FStar_Syntax_Syntax.effect_name - c21.FStar_Syntax_Syntax.effect_name in - check "comp eff" uu____16125) && - (let uu____16129 = + c21.FStar_Syntax_Syntax.effect_name + in + check "comp eff" uu____16128) && + (let uu____16132 = term_eq_dbg dbg c11.FStar_Syntax_Syntax.result_typ - c21.FStar_Syntax_Syntax.result_typ in - check "comp result typ" uu____16129)) + c21.FStar_Syntax_Syntax.result_typ + in + check "comp result typ" uu____16132)) && true + and (eq_flags_dbg : Prims.bool -> FStar_Syntax_Syntax.cflag -> FStar_Syntax_Syntax.cflag -> Prims.bool) - = fun dbg -> fun f1 -> fun f2 -> true + = fun dbg -> fun f1 -> fun f2 -> true + and (branch_eq_dbg : Prims.bool -> (FStar_Syntax_Syntax.pat' FStar_Syntax_Syntax.withinfo_t * @@ -3720,117 +4008,128 @@ and (branch_eq_dbg : FStar_Pervasives_Native.option * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) -> Prims.bool) = - fun dbg -> - fun uu____16139 -> - fun uu____16140 -> - match (uu____16139, uu____16140) with - | ((p1, w1, t1), (p2, w2, t2)) -> - ((let uu____16267 = FStar_Syntax_Syntax.eq_pat p1 p2 in - check "branch pat" uu____16267) && - (let uu____16271 = term_eq_dbg dbg t1 t2 in - check "branch body" uu____16271)) + fun dbg -> + fun uu____16142 -> + fun uu____16143 -> + match (uu____16142, uu____16143) with + | ((p1,w1,t1),(p2,w2,t2)) -> + ((let uu____16270 = FStar_Syntax_Syntax.eq_pat p1 p2 in + check "branch pat" uu____16270) && + (let uu____16274 = term_eq_dbg dbg t1 t2 in + check "branch body" uu____16274)) && - (let uu____16275 = + (let uu____16278 = match (w1, w2) with - | (FStar_Pervasives_Native.Some x, - FStar_Pervasives_Native.Some y) -> term_eq_dbg dbg x y - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) -> true - | uu____16317 -> false in - check "branch when" uu____16275) + | (FStar_Pervasives_Native.Some + x,FStar_Pervasives_Native.Some y) -> term_eq_dbg dbg x y + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.None ) -> true + | uu____16320 -> false in + check "branch when" uu____16278) + and (letbinding_eq_dbg : Prims.bool -> FStar_Syntax_Syntax.letbinding -> FStar_Syntax_Syntax.letbinding -> Prims.bool) = - fun dbg -> - fun lb1 -> - fun lb2 -> - ((let uu____16338 = - eqsum (fun bv1 -> fun bv2 -> true) FStar_Syntax_Syntax.fv_eq - lb1.FStar_Syntax_Syntax.lbname lb2.FStar_Syntax_Syntax.lbname in - check "lb bv" uu____16338) && - (let uu____16347 = + fun dbg -> + fun lb1 -> + fun lb2 -> + ((let uu____16341 = + eqsum (fun bv1 -> fun bv2 -> true) FStar_Syntax_Syntax.fv_eq + lb1.FStar_Syntax_Syntax.lbname lb2.FStar_Syntax_Syntax.lbname + in + check "lb bv" uu____16341) && + (let uu____16350 = term_eq_dbg dbg lb1.FStar_Syntax_Syntax.lbtyp - lb2.FStar_Syntax_Syntax.lbtyp in - check "lb typ" uu____16347)) + lb2.FStar_Syntax_Syntax.lbtyp + in + check "lb typ" uu____16350)) && - (let uu____16351 = + (let uu____16354 = term_eq_dbg dbg lb1.FStar_Syntax_Syntax.lbdef - lb2.FStar_Syntax_Syntax.lbdef in - check "lb def" uu____16351) + lb2.FStar_Syntax_Syntax.lbdef + in + check "lb def" uu____16354) + let (term_eq : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun t1 -> - fun t2 -> + fun t1 -> + fun t2 -> let r = - let uu____16368 = FStar_ST.op_Bang debug_term_eq in - term_eq_dbg uu____16368 t1 t2 in + let uu____16371 = FStar_ST.op_Bang debug_term_eq in + term_eq_dbg uu____16371 t1 t2 in FStar_ST.op_Colon_Equals debug_term_eq false; r + let rec (sizeof : FStar_Syntax_Syntax.term -> Prims.int) = - fun t -> + fun t -> match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_delayed uu____16422 -> - let uu____16445 = - let uu____16447 = FStar_Syntax_Subst.compress t in - sizeof uu____16447 in - (Prims.parse_int "1") + uu____16445 + | FStar_Syntax_Syntax.Tm_delayed uu____16425 -> + let uu____16448 = + let uu____16450 = FStar_Syntax_Subst.compress t in + sizeof uu____16450 in + (Prims.parse_int "1") + uu____16448 | FStar_Syntax_Syntax.Tm_bvar bv -> - let uu____16450 = sizeof bv.FStar_Syntax_Syntax.sort in - (Prims.parse_int "1") + uu____16450 + let uu____16453 = sizeof bv.FStar_Syntax_Syntax.sort in + (Prims.parse_int "1") + uu____16453 | FStar_Syntax_Syntax.Tm_name bv -> - let uu____16454 = sizeof bv.FStar_Syntax_Syntax.sort in - (Prims.parse_int "1") + uu____16454 - | FStar_Syntax_Syntax.Tm_uinst (t1, us) -> - let uu____16463 = sizeof t1 in (FStar_List.length us) + uu____16463 - | FStar_Syntax_Syntax.Tm_abs (bs, t1, uu____16467) -> - let uu____16492 = sizeof t1 in - let uu____16494 = + let uu____16457 = sizeof bv.FStar_Syntax_Syntax.sort in + (Prims.parse_int "1") + uu____16457 + | FStar_Syntax_Syntax.Tm_uinst (t1,us) -> + let uu____16466 = sizeof t1 in (FStar_List.length us) + uu____16466 + | FStar_Syntax_Syntax.Tm_abs (bs,t1,uu____16470) -> + let uu____16495 = sizeof t1 in + let uu____16497 = FStar_List.fold_left - (fun acc -> - fun uu____16509 -> - match uu____16509 with - | (bv, uu____16519) -> - let uu____16524 = sizeof bv.FStar_Syntax_Syntax.sort in - acc + uu____16524) (Prims.parse_int "0") bs in - uu____16492 + uu____16494 - | FStar_Syntax_Syntax.Tm_app (hd1, args) -> - let uu____16553 = sizeof hd1 in - let uu____16555 = + (fun acc -> + fun uu____16512 -> + match uu____16512 with + | (bv,uu____16522) -> + let uu____16527 = sizeof bv.FStar_Syntax_Syntax.sort in + acc + uu____16527) (Prims.parse_int "0") bs + in + uu____16495 + uu____16497 + | FStar_Syntax_Syntax.Tm_app (hd1,args) -> + let uu____16556 = sizeof hd1 in + let uu____16558 = FStar_List.fold_left - (fun acc -> - fun uu____16570 -> - match uu____16570 with - | (arg, uu____16580) -> - let uu____16585 = sizeof arg in acc + uu____16585) - (Prims.parse_int "0") args in - uu____16553 + uu____16555 - | uu____16588 -> (Prims.parse_int "1") + (fun acc -> + fun uu____16573 -> + match uu____16573 with + | (arg,uu____16583) -> + let uu____16588 = sizeof arg in acc + uu____16588) + (Prims.parse_int "0") args + in + uu____16556 + uu____16558 + | uu____16591 -> (Prims.parse_int "1") + let (is_fvar : FStar_Ident.lident -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun lid -> - fun t -> - let uu____16602 = - let uu____16603 = un_uinst t in uu____16603.FStar_Syntax_Syntax.n in - match uu____16602 with + fun lid -> + fun t -> + let uu____16605 = + let uu____16606 = un_uinst t in uu____16606.FStar_Syntax_Syntax.n + in + match uu____16605 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Syntax_Syntax.fv_eq_lid fv lid - | uu____16608 -> false + | uu____16611 -> false + let (is_synth_by_tactic : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> is_fvar FStar_Parser_Const.synth_lid t + fun t -> is_fvar FStar_Parser_Const.synth_lid t let (has_attribute : FStar_Syntax_Syntax.attribute Prims.list -> FStar_Ident.lident -> Prims.bool) - = fun attrs -> fun attr -> FStar_Util.for_some (is_fvar attr) attrs + = fun attrs -> fun attr -> FStar_Util.for_some (is_fvar attr) attrs let (process_pragma : FStar_Syntax_Syntax.pragma -> FStar_Range.range -> unit) = - fun p -> - fun r -> - let set_options1 t s = - let uu____16657 = FStar_Options.set_options t s in - match uu____16657 with - | FStar_Getopt.Success -> () - | FStar_Getopt.Help -> + fun p -> + fun r -> + let set_options1 s = + let uu____16655 = FStar_Options.set_options s in + match uu____16655 with + | FStar_Getopt.Success -> () + | FStar_Getopt.Help -> FStar_Errors.raise_error (FStar_Errors.Fatal_FailToProcessPragma, "Failed to process pragma: use 'fstar --help' to see which options are available") @@ -3838,448 +4137,477 @@ let (process_pragma : | FStar_Getopt.Error s1 -> FStar_Errors.raise_error (FStar_Errors.Fatal_FailToProcessPragma, - (Prims.op_Hat "Failed to process pragma: " s1)) r in + (Prims.op_Hat "Failed to process pragma: " s1)) r + in match p with - | FStar_Syntax_Syntax.LightOff -> - if p = FStar_Syntax_Syntax.LightOff - then FStar_Options.set_ml_ish () - else () - | FStar_Syntax_Syntax.SetOptions o -> set_options1 FStar_Options.Set o + | FStar_Syntax_Syntax.LightOff -> FStar_Options.set_ml_ish () + | FStar_Syntax_Syntax.SetOptions o -> set_options1 o | FStar_Syntax_Syntax.ResetOptions sopt -> - ((let uu____16674 = FStar_Options.restore_cmd_line_options false in - FStar_All.pipe_right uu____16674 (fun a1 -> ())); + ((let uu____16669 = FStar_Options.restore_cmd_line_options false + in + FStar_All.pipe_right uu____16669 (fun a1 -> ())); (match sopt with - | FStar_Pervasives_Native.None -> () - | FStar_Pervasives_Native.Some s -> - set_options1 FStar_Options.Reset s)) + | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.Some s -> set_options1 s)) | FStar_Syntax_Syntax.PushOptions sopt -> (FStar_Options.internal_push (); (match sopt with - | FStar_Pervasives_Native.None -> () - | FStar_Pervasives_Native.Some s -> - set_options1 FStar_Options.Reset s)) - | FStar_Syntax_Syntax.PopOptions -> - let uu____16689 = FStar_Options.internal_pop () in - if uu____16689 + | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.Some s -> set_options1 s)) + | FStar_Syntax_Syntax.RestartSolver -> () + | FStar_Syntax_Syntax.PopOptions -> + let uu____16684 = FStar_Options.internal_pop () in + if uu____16684 then () else FStar_Errors.raise_error (FStar_Errors.Fatal_FailToProcessPragma, "Cannot #pop-options, stack would become empty") r + let rec (unbound_variables : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.bv Prims.list) = - fun tm -> - let t = FStar_Syntax_Subst.compress tm in + fun tm -> + let t = FStar_Syntax_Subst.compress tm in match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_delayed uu____16721 -> failwith "Impossible" + | FStar_Syntax_Syntax.Tm_delayed uu____16716 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_name x -> [] - | FStar_Syntax_Syntax.Tm_uvar uu____16748 -> [] + | FStar_Syntax_Syntax.Tm_uvar uu____16743 -> [] | FStar_Syntax_Syntax.Tm_type u -> [] | FStar_Syntax_Syntax.Tm_bvar x -> [x] - | FStar_Syntax_Syntax.Tm_fvar uu____16763 -> [] - | FStar_Syntax_Syntax.Tm_constant uu____16764 -> [] - | FStar_Syntax_Syntax.Tm_lazy uu____16765 -> [] - | FStar_Syntax_Syntax.Tm_unknown -> [] - | FStar_Syntax_Syntax.Tm_uinst (t1, us) -> unbound_variables t1 - | FStar_Syntax_Syntax.Tm_abs (bs, t1, uu____16774) -> - let uu____16799 = FStar_Syntax_Subst.open_term bs t1 in - (match uu____16799 with - | (bs1, t2) -> - let uu____16808 = + | FStar_Syntax_Syntax.Tm_fvar uu____16758 -> [] + | FStar_Syntax_Syntax.Tm_constant uu____16759 -> [] + | FStar_Syntax_Syntax.Tm_lazy uu____16760 -> [] + | FStar_Syntax_Syntax.Tm_unknown -> [] + | FStar_Syntax_Syntax.Tm_uinst (t1,us) -> unbound_variables t1 + | FStar_Syntax_Syntax.Tm_abs (bs,t1,uu____16769) -> + let uu____16794 = FStar_Syntax_Subst.open_term bs t1 in + (match uu____16794 with + | (bs1,t2) -> + let uu____16803 = FStar_List.collect - (fun uu____16820 -> - match uu____16820 with - | (b, uu____16830) -> - unbound_variables b.FStar_Syntax_Syntax.sort) bs1 in - let uu____16835 = unbound_variables t2 in - FStar_List.append uu____16808 uu____16835) - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____16860 = FStar_Syntax_Subst.open_comp bs c in - (match uu____16860 with - | (bs1, c1) -> - let uu____16869 = + (fun uu____16815 -> + match uu____16815 with + | (b,uu____16825) -> + unbound_variables b.FStar_Syntax_Syntax.sort) bs1 + in + let uu____16830 = unbound_variables t2 in + FStar_List.append uu____16803 uu____16830) + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____16855 = FStar_Syntax_Subst.open_comp bs c in + (match uu____16855 with + | (bs1,c1) -> + let uu____16864 = FStar_List.collect - (fun uu____16881 -> - match uu____16881 with - | (b, uu____16891) -> - unbound_variables b.FStar_Syntax_Syntax.sort) bs1 in - let uu____16896 = unbound_variables_comp c1 in - FStar_List.append uu____16869 uu____16896) - | FStar_Syntax_Syntax.Tm_refine (b, t1) -> - let uu____16905 = - FStar_Syntax_Subst.open_term [(b, FStar_Pervasives_Native.None)] t1 in - (match uu____16905 with - | (bs, t2) -> - let uu____16928 = + (fun uu____16876 -> + match uu____16876 with + | (b,uu____16886) -> + unbound_variables b.FStar_Syntax_Syntax.sort) bs1 + in + let uu____16891 = unbound_variables_comp c1 in + FStar_List.append uu____16864 uu____16891) + | FStar_Syntax_Syntax.Tm_refine (b,t1) -> + let uu____16900 = + FStar_Syntax_Subst.open_term [(b, FStar_Pervasives_Native.None)] t1 + in + (match uu____16900 with + | (bs,t2) -> + let uu____16923 = FStar_List.collect - (fun uu____16940 -> - match uu____16940 with - | (b1, uu____16950) -> - unbound_variables b1.FStar_Syntax_Syntax.sort) bs in - let uu____16955 = unbound_variables t2 in - FStar_List.append uu____16928 uu____16955) - | FStar_Syntax_Syntax.Tm_app (t1, args) -> - let uu____16984 = + (fun uu____16935 -> + match uu____16935 with + | (b1,uu____16945) -> + unbound_variables b1.FStar_Syntax_Syntax.sort) bs + in + let uu____16950 = unbound_variables t2 in + FStar_List.append uu____16923 uu____16950) + | FStar_Syntax_Syntax.Tm_app (t1,args) -> + let uu____16979 = FStar_List.collect - (fun uu____16998 -> - match uu____16998 with - | (x, uu____17010) -> unbound_variables x) args in - let uu____17019 = unbound_variables t1 in - FStar_List.append uu____16984 uu____17019 - | FStar_Syntax_Syntax.Tm_match (t1, pats) -> - let uu____17060 = unbound_variables t1 in - let uu____17063 = + (fun uu____16993 -> + match uu____16993 with + | (x,uu____17005) -> unbound_variables x) args + in + let uu____17014 = unbound_variables t1 in + FStar_List.append uu____16979 uu____17014 + | FStar_Syntax_Syntax.Tm_match (t1,pats) -> + let uu____17055 = unbound_variables t1 in + let uu____17058 = FStar_All.pipe_right pats (FStar_List.collect - (fun br -> - let uu____17078 = FStar_Syntax_Subst.open_branch br in - match uu____17078 with - | (p, wopt, t2) -> - let uu____17100 = unbound_variables t2 in - let uu____17103 = + (fun br -> + let uu____17073 = FStar_Syntax_Subst.open_branch br in + match uu____17073 with + | (p,wopt,t2) -> + let uu____17095 = unbound_variables t2 in + let uu____17098 = match wopt with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some t3 -> - unbound_variables t3 in - FStar_List.append uu____17100 uu____17103)) in - FStar_List.append uu____17060 uu____17063 - | FStar_Syntax_Syntax.Tm_ascribed (t1, asc, uu____17117) -> - let uu____17158 = unbound_variables t1 in - let uu____17161 = - let uu____17164 = + unbound_variables t3 + in + FStar_List.append uu____17095 uu____17098)) + in + FStar_List.append uu____17055 uu____17058 + | FStar_Syntax_Syntax.Tm_ascribed (t1,asc,uu____17112) -> + let uu____17153 = unbound_variables t1 in + let uu____17156 = + let uu____17159 = match FStar_Pervasives_Native.fst asc with | FStar_Util.Inl t2 -> unbound_variables t2 - | FStar_Util.Inr c2 -> unbound_variables_comp c2 in - let uu____17195 = + | FStar_Util.Inr c2 -> unbound_variables_comp c2 in + let uu____17190 = match FStar_Pervasives_Native.snd asc with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some tac -> unbound_variables tac in - FStar_List.append uu____17164 uu____17195 in - FStar_List.append uu____17158 uu____17161 - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), t1) -> - let uu____17236 = unbound_variables lb.FStar_Syntax_Syntax.lbtyp in - let uu____17239 = - let uu____17242 = unbound_variables lb.FStar_Syntax_Syntax.lbdef in - let uu____17245 = + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some tac -> unbound_variables tac in + FStar_List.append uu____17159 uu____17190 in + FStar_List.append uu____17153 uu____17156 + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),t1) -> + let uu____17231 = unbound_variables lb.FStar_Syntax_Syntax.lbtyp in + let uu____17234 = + let uu____17237 = unbound_variables lb.FStar_Syntax_Syntax.lbdef + in + let uu____17240 = match lb.FStar_Syntax_Syntax.lbname with - | FStar_Util.Inr uu____17250 -> unbound_variables t1 + | FStar_Util.Inr uu____17245 -> unbound_variables t1 | FStar_Util.Inl bv -> - let uu____17252 = + let uu____17247 = FStar_Syntax_Subst.open_term - [(bv, FStar_Pervasives_Native.None)] t1 in - (match uu____17252 with - | (uu____17273, t2) -> unbound_variables t2) in - FStar_List.append uu____17242 uu____17245 in - FStar_List.append uu____17236 uu____17239 - | FStar_Syntax_Syntax.Tm_let ((uu____17275, lbs), t1) -> - let uu____17295 = FStar_Syntax_Subst.open_let_rec lbs t1 in - (match uu____17295 with - | (lbs1, t2) -> - let uu____17310 = unbound_variables t2 in - let uu____17313 = + [(bv, FStar_Pervasives_Native.None)] t1 + in + (match uu____17247 with + | (uu____17268,t2) -> unbound_variables t2) + in + FStar_List.append uu____17237 uu____17240 in + FStar_List.append uu____17231 uu____17234 + | FStar_Syntax_Syntax.Tm_let ((uu____17270,lbs),t1) -> + let uu____17290 = FStar_Syntax_Subst.open_let_rec lbs t1 in + (match uu____17290 with + | (lbs1,t2) -> + let uu____17305 = unbound_variables t2 in + let uu____17308 = FStar_List.collect - (fun lb -> - let uu____17320 = - unbound_variables lb.FStar_Syntax_Syntax.lbtyp in - let uu____17323 = - unbound_variables lb.FStar_Syntax_Syntax.lbdef in - FStar_List.append uu____17320 uu____17323) lbs1 in - FStar_List.append uu____17310 uu____17313) - | FStar_Syntax_Syntax.Tm_quoted (tm1, qi) -> + (fun lb -> + let uu____17315 = + unbound_variables lb.FStar_Syntax_Syntax.lbtyp in + let uu____17318 = + unbound_variables lb.FStar_Syntax_Syntax.lbdef in + FStar_List.append uu____17315 uu____17318) lbs1 + in + FStar_List.append uu____17305 uu____17308) + | FStar_Syntax_Syntax.Tm_quoted (tm1,qi) -> (match qi.FStar_Syntax_Syntax.qkind with - | FStar_Syntax_Syntax.Quote_static -> [] - | FStar_Syntax_Syntax.Quote_dynamic -> unbound_variables tm1) - | FStar_Syntax_Syntax.Tm_meta (t1, m) -> - let uu____17340 = unbound_variables t1 in - let uu____17343 = + | FStar_Syntax_Syntax.Quote_static -> [] + | FStar_Syntax_Syntax.Quote_dynamic -> unbound_variables tm1) + | FStar_Syntax_Syntax.Tm_meta (t1,m) -> + let uu____17335 = unbound_variables t1 in + let uu____17338 = match m with - | FStar_Syntax_Syntax.Meta_pattern (uu____17348, args) -> + | FStar_Syntax_Syntax.Meta_pattern (uu____17343,args) -> FStar_List.collect (FStar_List.collect - (fun uu____17403 -> - match uu____17403 with - | (a, uu____17415) -> unbound_variables a)) args + (fun uu____17398 -> + match uu____17398 with + | (a,uu____17410) -> unbound_variables a)) args | FStar_Syntax_Syntax.Meta_monadic_lift - (uu____17424, uu____17425, t') -> unbound_variables t' - | FStar_Syntax_Syntax.Meta_monadic (uu____17431, t') -> + (uu____17419,uu____17420,t') -> unbound_variables t' + | FStar_Syntax_Syntax.Meta_monadic (uu____17426,t') -> unbound_variables t' - | FStar_Syntax_Syntax.Meta_labeled uu____17437 -> [] - | FStar_Syntax_Syntax.Meta_desugared uu____17446 -> [] - | FStar_Syntax_Syntax.Meta_named uu____17447 -> [] in - FStar_List.append uu____17340 uu____17343 + | FStar_Syntax_Syntax.Meta_labeled uu____17432 -> [] + | FStar_Syntax_Syntax.Meta_desugared uu____17441 -> [] + | FStar_Syntax_Syntax.Meta_named uu____17442 -> [] in + FStar_List.append uu____17335 uu____17338 + and (unbound_variables_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.bv Prims.list) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.GTotal (t, uu____17454) -> unbound_variables t - | FStar_Syntax_Syntax.Total (t, uu____17464) -> unbound_variables t + | FStar_Syntax_Syntax.GTotal (t,uu____17449) -> unbound_variables t + | FStar_Syntax_Syntax.Total (t,uu____17459) -> unbound_variables t | FStar_Syntax_Syntax.Comp ct -> - let uu____17474 = unbound_variables ct.FStar_Syntax_Syntax.result_typ in - let uu____17477 = + let uu____17469 = unbound_variables ct.FStar_Syntax_Syntax.result_typ + in + let uu____17472 = FStar_List.collect - (fun uu____17491 -> - match uu____17491 with - | (a, uu____17503) -> unbound_variables a) - ct.FStar_Syntax_Syntax.effect_args in - FStar_List.append uu____17474 uu____17477 + (fun uu____17486 -> + match uu____17486 with + | (a,uu____17498) -> unbound_variables a) + ct.FStar_Syntax_Syntax.effect_args + in + FStar_List.append uu____17469 uu____17472 + let (extract_attr' : FStar_Ident.lid -> FStar_Syntax_Syntax.term Prims.list -> (FStar_Syntax_Syntax.term Prims.list * FStar_Syntax_Syntax.args) FStar_Pervasives_Native.option) = - fun attr_lid -> - fun attrs -> + fun attr_lid -> + fun attrs -> let rec aux acc attrs1 = match attrs1 with | [] -> FStar_Pervasives_Native.None | h::t -> - let uu____17618 = head_and_args h in - (match uu____17618 with - | (head1, args) -> - let uu____17679 = - let uu____17680 = FStar_Syntax_Subst.compress head1 in - uu____17680.FStar_Syntax_Syntax.n in - (match uu____17679 with + let uu____17613 = head_and_args h in + (match uu____17613 with + | (head1,args) -> + let uu____17674 = + let uu____17675 = FStar_Syntax_Subst.compress head1 in + uu____17675.FStar_Syntax_Syntax.n in + (match uu____17674 with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv attr_lid -> - let attrs' = FStar_List.rev_acc acc t in + let attrs' = FStar_List.rev_acc acc t in FStar_Pervasives_Native.Some (attrs', args) - | uu____17733 -> aux (h :: acc) t)) in + | uu____17728 -> aux (h :: acc) t)) + in aux [] attrs + let (extract_attr : FStar_Ident.lid -> FStar_Syntax_Syntax.sigelt -> (FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.args) FStar_Pervasives_Native.option) = - fun attr_lid -> - fun se -> - let uu____17757 = - extract_attr' attr_lid se.FStar_Syntax_Syntax.sigattrs in - match uu____17757 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (attrs', t) -> + fun attr_lid -> + fun se -> + let uu____17752 = + extract_attr' attr_lid se.FStar_Syntax_Syntax.sigattrs in + match uu____17752 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (attrs',t) -> FStar_Pervasives_Native.Some - ((let uu___2540_17799 = se in + ((let uu___2539_17794 = se in { FStar_Syntax_Syntax.sigel = - (uu___2540_17799.FStar_Syntax_Syntax.sigel); + (uu___2539_17794.FStar_Syntax_Syntax.sigel); FStar_Syntax_Syntax.sigrng = - (uu___2540_17799.FStar_Syntax_Syntax.sigrng); + (uu___2539_17794.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___2540_17799.FStar_Syntax_Syntax.sigquals); + (uu___2539_17794.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___2540_17799.FStar_Syntax_Syntax.sigmeta); + (uu___2539_17794.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = attrs' }), t) + let (is_smt_lemma : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> - let uu____17807 = - let uu____17808 = FStar_Syntax_Subst.compress t in - uu____17808.FStar_Syntax_Syntax.n in - match uu____17807 with - | FStar_Syntax_Syntax.Tm_arrow (uu____17812, c) -> + fun t -> + let uu____17802 = + let uu____17803 = FStar_Syntax_Subst.compress t in + uu____17803.FStar_Syntax_Syntax.n in + match uu____17802 with + | FStar_Syntax_Syntax.Tm_arrow (uu____17807,c) -> (match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Comp ct when FStar_Ident.lid_equals ct.FStar_Syntax_Syntax.effect_name FStar_Parser_Const.effect_Lemma_lid -> (match ct.FStar_Syntax_Syntax.effect_args with - | _req::_ens::(pats, uu____17840)::uu____17841 -> - let pats' = unmeta pats in - let uu____17901 = head_and_args pats' in - (match uu____17901 with - | (head1, uu____17920) -> - let uu____17945 = - let uu____17946 = un_uinst head1 in - uu____17946.FStar_Syntax_Syntax.n in - (match uu____17945 with + | _req::_ens::(pats,uu____17835)::uu____17836 -> + let pats' = unmeta pats in + let uu____17896 = head_and_args pats' in + (match uu____17896 with + | (head1,uu____17915) -> + let uu____17940 = + let uu____17941 = un_uinst head1 in + uu____17941.FStar_Syntax_Syntax.n in + (match uu____17940 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.cons_lid - | uu____17951 -> false)) - | uu____17953 -> false) - | uu____17965 -> false) - | uu____17967 -> false + | uu____17946 -> false)) + | uu____17948 -> false) + | uu____17960 -> false) + | uu____17962 -> false + let rec (list_elements : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term Prims.list FStar_Pervasives_Native.option) = - fun e -> - let uu____17983 = let uu____18000 = unmeta e in head_and_args uu____18000 in - match uu____17983 with - | (head1, args) -> - let uu____18031 = - let uu____18046 = - let uu____18047 = un_uinst head1 in - uu____18047.FStar_Syntax_Syntax.n in - (uu____18046, args) in - (match uu____18031 with - | (FStar_Syntax_Syntax.Tm_fvar fv, uu____18065) when + fun e -> + let uu____17978 = + let uu____17995 = unmeta e in head_and_args uu____17995 in + match uu____17978 with + | (head1,args) -> + let uu____18026 = + let uu____18041 = + let uu____18042 = un_uinst head1 in + uu____18042.FStar_Syntax_Syntax.n in + (uu____18041, args) in + (match uu____18026 with + | (FStar_Syntax_Syntax.Tm_fvar fv,uu____18060) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.nil_lid -> FStar_Pervasives_Native.Some [] - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____18089::(hd1, uu____18091)::(tl1, uu____18093)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,uu____18084::(hd1,uu____18086)::(tl1,uu____18088)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.cons_lid -> - let uu____18160 = - let uu____18163 = - let uu____18166 = list_elements tl1 in - FStar_Util.must uu____18166 in - hd1 :: uu____18163 in - FStar_Pervasives_Native.Some uu____18160 - | uu____18175 -> FStar_Pervasives_Native.None) + let uu____18155 = + let uu____18158 = + let uu____18161 = list_elements tl1 in + FStar_Util.must uu____18161 in + hd1 :: uu____18158 in + FStar_Pervasives_Native.Some uu____18155 + | uu____18170 -> FStar_Pervasives_Native.None) + let (unthunk_lemma_post : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t -> - let uu____18204 = - let uu____18205 = FStar_Syntax_Subst.compress t in - uu____18205.FStar_Syntax_Syntax.n in - match uu____18204 with - | FStar_Syntax_Syntax.Tm_abs (b::[], e, uu____18212) -> - let uu____18247 = FStar_Syntax_Subst.open_term [b] e in - (match uu____18247 with - | (bs, e1) -> - let b1 = FStar_List.hd bs in - let uu____18281 = is_free_in (FStar_Pervasives_Native.fst b1) e1 in - if uu____18281 + fun t -> + let uu____18199 = + let uu____18200 = FStar_Syntax_Subst.compress t in + uu____18200.FStar_Syntax_Syntax.n in + match uu____18199 with + | FStar_Syntax_Syntax.Tm_abs (b::[],e,uu____18207) -> + let uu____18242 = FStar_Syntax_Subst.open_term [b] e in + (match uu____18242 with + | (bs,e1) -> + let b1 = FStar_List.hd bs in + let uu____18276 = is_free_in (FStar_Pervasives_Native.fst b1) e1 + in + if uu____18276 then - let uu____18288 = - let uu____18299 = FStar_Syntax_Syntax.as_arg exp_unit in - [uu____18299] in - mk_app t uu____18288 + let uu____18283 = + let uu____18294 = FStar_Syntax_Syntax.as_arg exp_unit in + [uu____18294] in + mk_app t uu____18283 else e1) - | uu____18326 -> - let uu____18327 = - let uu____18338 = FStar_Syntax_Syntax.as_arg exp_unit in - [uu____18338] in - mk_app t uu____18327 + | uu____18321 -> + let uu____18322 = + let uu____18333 = FStar_Syntax_Syntax.as_arg exp_unit in + [uu____18333] in + mk_app t uu____18322 + let (smt_lemma_as_forall : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.universe Prims.list) -> FStar_Syntax_Syntax.term) = - fun t -> - fun universe_of_binders -> + fun t -> + fun universe_of_binders -> let list_elements1 e = - let uu____18393 = list_elements e in - match uu____18393 with + let uu____18388 = list_elements e in + match uu____18388 with | FStar_Pervasives_Native.Some l -> l - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Errors.log_issue e.FStar_Syntax_Syntax.pos (FStar_Errors.Warning_NonListLiteralSMTPattern, "SMT pattern is not a list literal; ignoring the pattern"); - []) in + []) + in let one_pat p = - let uu____18424 = - let uu____18441 = unmeta p in - FStar_All.pipe_right uu____18441 head_and_args in - match uu____18424 with - | (head1, args) -> - let uu____18492 = - let uu____18507 = - let uu____18508 = un_uinst head1 in - uu____18508.FStar_Syntax_Syntax.n in - (uu____18507, args) in - (match uu____18492 with - | (FStar_Syntax_Syntax.Tm_fvar fv, - (uu____18530, uu____18531)::arg::[]) when + let uu____18419 = + let uu____18436 = unmeta p in + FStar_All.pipe_right uu____18436 head_and_args in + match uu____18419 with + | (head1,args) -> + let uu____18487 = + let uu____18502 = + let uu____18503 = un_uinst head1 in + uu____18503.FStar_Syntax_Syntax.n in + (uu____18502, args) in + (match uu____18487 with + | (FStar_Syntax_Syntax.Tm_fvar + fv,(uu____18525,uu____18526)::arg::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.smtpat_lid -> arg - | uu____18583 -> failwith "Unexpected pattern term") in + | uu____18578 -> failwith "Unexpected pattern term") + in let lemma_pats p = - let elts = list_elements1 p in + let elts = list_elements1 p in let smt_pat_or1 t1 = - let uu____18638 = - let uu____18655 = unmeta t1 in - FStar_All.pipe_right uu____18655 head_and_args in - match uu____18638 with - | (head1, args) -> - let uu____18702 = - let uu____18717 = - let uu____18718 = un_uinst head1 in - uu____18718.FStar_Syntax_Syntax.n in - (uu____18717, args) in - (match uu____18702 with - | (FStar_Syntax_Syntax.Tm_fvar fv, (e, uu____18737)::[]) when + let uu____18633 = + let uu____18650 = unmeta t1 in + FStar_All.pipe_right uu____18650 head_and_args in + match uu____18633 with + | (head1,args) -> + let uu____18697 = + let uu____18712 = + let uu____18713 = un_uinst head1 in + uu____18713.FStar_Syntax_Syntax.n in + (uu____18712, args) in + (match uu____18697 with + | (FStar_Syntax_Syntax.Tm_fvar fv,(e,uu____18732)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.smtpatOr_lid -> FStar_Pervasives_Native.Some e - | uu____18774 -> FStar_Pervasives_Native.None) in + | uu____18769 -> FStar_Pervasives_Native.None) + in match elts with | t1::[] -> - let uu____18804 = smt_pat_or1 t1 in - (match uu____18804 with + let uu____18799 = smt_pat_or1 t1 in + (match uu____18799 with | FStar_Pervasives_Native.Some e -> - let uu____18826 = list_elements1 e in - FStar_All.pipe_right uu____18826 + let uu____18821 = list_elements1 e in + FStar_All.pipe_right uu____18821 (FStar_List.map - (fun branch1 -> - let uu____18856 = list_elements1 branch1 in - FStar_All.pipe_right uu____18856 + (fun branch1 -> + let uu____18851 = list_elements1 branch1 in + FStar_All.pipe_right uu____18851 (FStar_List.map one_pat))) - | uu____18879 -> - let uu____18884 = - FStar_All.pipe_right elts (FStar_List.map one_pat) in - [uu____18884]) - | uu____18935 -> - let uu____18938 = - FStar_All.pipe_right elts (FStar_List.map one_pat) in - [uu____18938] in - let uu____18989 = - let uu____19022 = - let uu____19023 = FStar_Syntax_Subst.compress t in - uu____19023.FStar_Syntax_Syntax.n in - match uu____19022 with - | FStar_Syntax_Syntax.Tm_arrow (binders, c) -> - let uu____19080 = FStar_Syntax_Subst.open_comp binders c in - (match uu____19080 with - | (binders1, c1) -> + | uu____18874 -> + let uu____18879 = + FStar_All.pipe_right elts (FStar_List.map one_pat) in + [uu____18879]) + | uu____18930 -> + let uu____18933 = + FStar_All.pipe_right elts (FStar_List.map one_pat) in + [uu____18933] + in + let uu____18984 = + let uu____19017 = + let uu____19018 = FStar_Syntax_Subst.compress t in + uu____19018.FStar_Syntax_Syntax.n in + match uu____19017 with + | FStar_Syntax_Syntax.Tm_arrow (binders,c) -> + let uu____19075 = FStar_Syntax_Subst.open_comp binders c in + (match uu____19075 with + | (binders1,c1) -> (match c1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Comp - { FStar_Syntax_Syntax.comp_univs = uu____19151; - FStar_Syntax_Syntax.effect_name = uu____19152; - FStar_Syntax_Syntax.result_typ = uu____19153; + { FStar_Syntax_Syntax.comp_univs = uu____19146; + FStar_Syntax_Syntax.effect_name = uu____19147; + FStar_Syntax_Syntax.result_typ = uu____19148; FStar_Syntax_Syntax.effect_args = - (pre, uu____19155)::(post, uu____19157)::(pats, - uu____19159)::[]; - FStar_Syntax_Syntax.flags = uu____19160;_} + (pre,uu____19150)::(post,uu____19152)::(pats,uu____19154)::[]; + FStar_Syntax_Syntax.flags = uu____19155;_} -> - let uu____19221 = lemma_pats pats in - (binders1, pre, post, uu____19221) - | uu____19258 -> failwith "impos")) - | uu____19292 -> failwith "Impos" in - match uu____18989 with - | (binders, pre, post, patterns) -> - let post1 = unthunk_lemma_post post in + let uu____19216 = lemma_pats pats in + (binders1, pre, post, uu____19216) + | uu____19253 -> failwith "impos")) + | uu____19287 -> failwith "Impos" in + match uu____18984 with + | (binders,pre,post,patterns) -> + let post1 = unthunk_lemma_post post in let body = - let uu____19384 = - let uu____19391 = - let uu____19392 = - let uu____19399 = mk_imp pre post1 in - let uu____19402 = - let uu____19403 = - let uu____19424 = - FStar_Syntax_Syntax.binders_to_names binders in - (uu____19424, patterns) in - FStar_Syntax_Syntax.Meta_pattern uu____19403 in - (uu____19399, uu____19402) in - FStar_Syntax_Syntax.Tm_meta uu____19392 in - FStar_Syntax_Syntax.mk uu____19391 in - uu____19384 FStar_Pervasives_Native.None - t.FStar_Syntax_Syntax.pos in + let uu____19379 = + let uu____19386 = + let uu____19387 = + let uu____19394 = mk_imp pre post1 in + let uu____19397 = + let uu____19398 = + let uu____19419 = + FStar_Syntax_Syntax.binders_to_names binders in + (uu____19419, patterns) in + FStar_Syntax_Syntax.Meta_pattern uu____19398 in + (uu____19394, uu____19397) in + FStar_Syntax_Syntax.Tm_meta uu____19387 in + FStar_Syntax_Syntax.mk uu____19386 in + uu____19379 FStar_Pervasives_Native.None + t.FStar_Syntax_Syntax.pos + in let quant = - let uu____19448 = universe_of_binders binders in + let uu____19443 = universe_of_binders binders in FStar_List.fold_right2 - (fun b -> - fun u -> - fun out -> mk_forall u (FStar_Pervasives_Native.fst b) out) - binders uu____19448 body in - quant \ No newline at end of file + (fun b -> + fun u -> + fun out -> + mk_forall u (FStar_Pervasives_Native.fst b) out) binders + uu____19443 body + in + quant + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Tactics_Basic.ml b/src/ocaml-output/FStar_Tactics_Basic.ml index 9a71820d8b3..fac8efce58e 100644 --- a/src/ocaml-output/FStar_Tactics_Basic.ml +++ b/src/ocaml-output/FStar_Tactics_Basic.ml @@ -7,25 +7,27 @@ let (normalize : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun s -> - fun e -> - fun t -> + fun s -> + fun e -> + fun t -> FStar_TypeChecker_Normalize.normalize_with_primitive_steps FStar_Reflection_Interpreter.reflection_primops s e t + let (bnorm : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) - = fun e -> fun t -> normalize [] e t + = fun e -> fun t -> normalize [] e t let (tts : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> Prims.string) = - FStar_TypeChecker_Normalize.term_to_string + FStar_TypeChecker_Normalize.term_to_string let (bnorm_goal : FStar_Tactics_Types.goal -> FStar_Tactics_Types.goal) = - fun g -> + fun g -> let uu____44 = - let uu____45 = FStar_Tactics_Types.goal_env g in - let uu____46 = FStar_Tactics_Types.goal_type g in - bnorm uu____45 uu____46 in + let uu____45 = FStar_Tactics_Types.goal_env g in + let uu____46 = FStar_Tactics_Types.goal_type g in + bnorm uu____45 uu____46 in FStar_Tactics_Types.goal_with_type g uu____44 + type 'a tac = { tac_f: FStar_Tactics_Types.proofstate -> 'a FStar_Tactics_Result.__result } @@ -33,1237 +35,1363 @@ let __proj__Mktac__item__tac_f : 'a . 'a tac -> FStar_Tactics_Types.proofstate -> 'a FStar_Tactics_Result.__result - = fun projectee -> match projectee with | { tac_f;_} -> tac_f + = fun projectee -> match projectee with | { tac_f;_} -> tac_f let mk_tac : 'a . (FStar_Tactics_Types.proofstate -> 'a FStar_Tactics_Result.__result) -> 'a tac - = fun f -> { tac_f = f } + = fun f -> { tac_f = f } let run : 'a . 'a tac -> FStar_Tactics_Types.proofstate -> 'a FStar_Tactics_Result.__result - = fun t -> fun p -> t.tac_f p + = fun t -> fun p -> t.tac_f p let run_safe : 'a . 'a tac -> FStar_Tactics_Types.proofstate -> 'a FStar_Tactics_Result.__result = - fun t -> - fun p -> - let uu____160 = FStar_Options.tactics_failhard () in + fun t -> + fun p -> + let uu____160 = FStar_Options.tactics_failhard () in if uu____160 then run t p else - (try (fun uu___31_170 -> match () with | () -> run t p) () + (try (fun uu___31_170 -> match () with | () -> run t p) () with - | FStar_Errors.Err (uu____179, msg) -> + | FStar_Errors.Err (uu____179,msg) -> FStar_Tactics_Result.Failed ((FStar_Tactics_Types.TacticFailure msg), p) - | FStar_Errors.Error (uu____183, msg, uu____185) -> + | FStar_Errors.Error (uu____183,msg,uu____185) -> FStar_Tactics_Result.Failed ((FStar_Tactics_Types.TacticFailure msg), p) | e -> FStar_Tactics_Result.Failed (e, p)) + let rec (log : FStar_Tactics_Types.proofstate -> (unit -> unit) -> unit) = - fun ps -> fun f -> if ps.FStar_Tactics_Types.tac_verb_dbg then f () else () + fun ps -> + fun f -> if ps.FStar_Tactics_Types.tac_verb_dbg then f () else () + let ret : 'a . 'a -> 'a tac = - fun x -> mk_tac (fun p -> FStar_Tactics_Result.Success (x, p)) + fun x -> mk_tac (fun p -> FStar_Tactics_Result.Success (x, p)) let bind : 'a 'b . 'a tac -> ('a -> 'b tac) -> 'b tac = - fun t1 -> - fun t2 -> + fun t1 -> + fun t2 -> mk_tac - (fun p -> - let uu____265 = run t1 p in + (fun p -> + let uu____265 = run t1 p in match uu____265 with - | FStar_Tactics_Result.Success (a, q) -> - let uu____272 = t2 a in run uu____272 q - | FStar_Tactics_Result.Failed (msg, q) -> + | FStar_Tactics_Result.Success (a,q) -> + let uu____272 = t2 a in run uu____272 q + | FStar_Tactics_Result.Failed (msg,q) -> FStar_Tactics_Result.Failed (msg, q)) + let (get : FStar_Tactics_Types.proofstate tac) = - mk_tac (fun p -> FStar_Tactics_Result.Success (p, p)) -let (idtac : unit tac) = ret () + mk_tac (fun p -> FStar_Tactics_Result.Success (p, p)) +let (idtac : unit tac) = ret () let (get_uvar_solved : FStar_Syntax_Syntax.ctx_uvar -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun uv -> + fun uv -> let uu____295 = - FStar_Syntax_Unionfind.find uv.FStar_Syntax_Syntax.ctx_uvar_head in + FStar_Syntax_Unionfind.find uv.FStar_Syntax_Syntax.ctx_uvar_head in match uu____295 with | FStar_Pervasives_Native.Some t -> FStar_Pervasives_Native.Some t - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + let (check_goal_solved : FStar_Tactics_Types.goal -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) - = fun goal -> get_uvar_solved goal.FStar_Tactics_Types.goal_ctx_uvar + = fun goal -> get_uvar_solved goal.FStar_Tactics_Types.goal_ctx_uvar let (goal_to_string_verbose : FStar_Tactics_Types.goal -> Prims.string) = - fun g -> + fun g -> let uu____317 = FStar_Syntax_Print.ctx_uvar_to_string - g.FStar_Tactics_Types.goal_ctx_uvar in + g.FStar_Tactics_Types.goal_ctx_uvar + in let uu____319 = - let uu____321 = check_goal_solved g in + let uu____321 = check_goal_solved g in match uu____321 with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some t -> - let uu____327 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "\tGOAL ALREADY SOLVED!: %s" uu____327 in + let uu____327 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "\tGOAL ALREADY SOLVED!: %s" uu____327 + in FStar_Util.format2 "%s%s\n" uu____317 uu____319 + let (unshadow : FStar_Reflection_Data.binders -> FStar_Syntax_Syntax.term -> (FStar_Reflection_Data.binders * FStar_Syntax_Syntax.term)) = - fun bs -> - fun t -> - let s b = (b.FStar_Syntax_Syntax.ppname).FStar_Ident.idText in + fun bs -> + fun t -> + let s b = (b.FStar_Syntax_Syntax.ppname).FStar_Ident.idText in let sset bv s1 = FStar_Syntax_Syntax.gen_bv s1 (FStar_Pervasives_Native.Some ((bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idRange)) - bv.FStar_Syntax_Syntax.sort in + bv.FStar_Syntax_Syntax.sort + in let fresh_until b f = let rec aux i = let t1 = let uu____404 = - let uu____406 = FStar_Util.string_of_int i in - Prims.op_Hat "'" uu____406 in - Prims.op_Hat b uu____404 in - let uu____409 = f t1 in - if uu____409 then t1 else aux (i + (Prims.parse_int "1")) in - let uu____416 = f b in - if uu____416 then b else aux (Prims.parse_int "0") in + let uu____406 = FStar_Util.string_of_int i in + Prims.op_Hat "'" uu____406 in + Prims.op_Hat b uu____404 in + let uu____409 = f t1 in + if uu____409 then t1 else aux (i + (Prims.parse_int "1")) in + let uu____416 = f b in + if uu____416 then b else aux (Prims.parse_int "0") in let rec go seen subst1 bs1 bs' t1 = match bs1 with | [] -> - let uu____521 = FStar_Syntax_Subst.subst subst1 t1 in + let uu____521 = FStar_Syntax_Subst.subst subst1 t1 in ((FStar_List.rev bs'), uu____521) | b::bs2 -> - let uu____558 = FStar_Syntax_Subst.subst_binders subst1 [b] in - (match uu____558 with - | b1::[] -> - let uu____602 = b1 in - (match uu____602 with - | (bv0, q) -> - let nbs = - fresh_until (s bv0) - (fun s1 -> - Prims.op_Negation (FStar_List.mem s1 seen)) in - let bv = sset bv0 nbs in - let b2 = (bv, q) in - let uu____643 = - let uu____646 = - let uu____649 = - let uu____650 = - let uu____657 = - FStar_Syntax_Syntax.bv_to_name bv in - (bv0, uu____657) in - FStar_Syntax_Syntax.NT uu____650 in - [uu____649] in - FStar_List.append subst1 uu____646 in - go (nbs :: seen) uu____643 bs2 (b2 :: bs') t1)) in + let b1 = + let uu____565 = FStar_Syntax_Subst.subst_binders subst1 [b] in + match uu____565 with + | b1::[] -> b1 + | uu____603 -> failwith "impossible: unshadow subst_binders" + in + let uu____611 = b1 in + (match uu____611 with + | (bv0,q) -> + let nbs = + fresh_until (s bv0) + (fun s1 -> Prims.op_Negation (FStar_List.mem s1 seen)) + in + let bv = sset bv0 nbs in + let b2 = (bv, q) in + let uu____652 = + let uu____655 = + let uu____658 = + let uu____659 = + let uu____666 = FStar_Syntax_Syntax.bv_to_name bv + in + (bv0, uu____666) in + FStar_Syntax_Syntax.NT uu____659 in + [uu____658] in + FStar_List.append subst1 uu____655 in + go (nbs :: seen) uu____652 bs2 (b2 :: bs') t1) + in go [] [] bs [] t + let (goal_to_string : Prims.string -> (Prims.int * Prims.int) FStar_Pervasives_Native.option -> FStar_Tactics_Types.proofstate -> FStar_Tactics_Types.goal -> Prims.string) = - fun kind -> - fun maybe_num -> - fun ps -> - fun g -> + fun kind -> + fun maybe_num -> + fun ps -> + fun g -> let w = - let uu____719 = FStar_Options.print_implicits () in - if uu____719 + let uu____728 = FStar_Options.print_implicits () in + if uu____728 then - let uu____723 = FStar_Tactics_Types.goal_env g in - let uu____724 = FStar_Tactics_Types.goal_witness g in - tts uu____723 uu____724 + let uu____732 = FStar_Tactics_Types.goal_env g in + let uu____733 = FStar_Tactics_Types.goal_witness g in + tts uu____732 uu____733 else - (let uu____727 = - get_uvar_solved g.FStar_Tactics_Types.goal_ctx_uvar in - match uu____727 with - | FStar_Pervasives_Native.None -> "_" + (let uu____736 = + get_uvar_solved g.FStar_Tactics_Types.goal_ctx_uvar in + match uu____736 with + | FStar_Pervasives_Native.None -> "_" | FStar_Pervasives_Native.Some t -> - let uu____733 = FStar_Tactics_Types.goal_env g in - let uu____734 = FStar_Tactics_Types.goal_witness g in - tts uu____733 uu____734) in + let uu____742 = FStar_Tactics_Types.goal_env g in + let uu____743 = FStar_Tactics_Types.goal_witness g in + tts uu____742 uu____743) + in let num = match maybe_num with - | FStar_Pervasives_Native.None -> "" - | FStar_Pervasives_Native.Some (i, n1) -> - let uu____757 = FStar_Util.string_of_int i in - let uu____759 = FStar_Util.string_of_int n1 in - FStar_Util.format2 " %s/%s" uu____757 uu____759 in + | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.Some (i,n1) -> + let uu____766 = FStar_Util.string_of_int i in + let uu____768 = FStar_Util.string_of_int n1 in + FStar_Util.format2 " %s/%s" uu____766 uu____768 + in let maybe_label = match g.FStar_Tactics_Types.label with | "" -> "" - | l -> Prims.op_Hat " (" (Prims.op_Hat l ")") in + | l -> Prims.op_Hat " (" (Prims.op_Hat l ")") in let goal_binders = - (g.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_binders in + (g.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_binders + in let goal_ty = - (g.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_typ in - let uu____783 = unshadow goal_binders goal_ty in - match uu____783 with - | (goal_binders1, goal_ty1) -> + (g.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_typ + in + let uu____792 = unshadow goal_binders goal_ty in + match uu____792 with + | (goal_binders1,goal_ty1) -> let actual_goal = if ps.FStar_Tactics_Types.tac_verb_dbg then goal_to_string_verbose g else - (let uu____797 = - FStar_Syntax_Print.binders_to_string ", " goal_binders1 in - let uu____800 = - let uu____802 = FStar_Tactics_Types.goal_env g in - tts uu____802 goal_ty1 in - FStar_Util.format3 "%s |- %s : %s\n" uu____797 w uu____800) in + (let uu____806 = + FStar_Syntax_Print.binders_to_string ", " goal_binders1 + in + let uu____809 = + let uu____811 = FStar_Tactics_Types.goal_env g in + tts uu____811 goal_ty1 in + FStar_Util.format3 "%s |- %s : %s\n" uu____806 w uu____809) + in FStar_Util.format4 "%s%s%s:\n%s\n" kind num maybe_label actual_goal + let (tacprint : Prims.string -> unit) = - fun s -> FStar_Util.print1 "TAC>> %s\n" s + fun s -> FStar_Util.print1 "TAC>> %s\n" s let (tacprint1 : Prims.string -> Prims.string -> unit) = - fun s -> - fun x -> - let uu____829 = FStar_Util.format1 s x in - FStar_Util.print1 "TAC>> %s\n" uu____829 + fun s -> + fun x -> + let uu____838 = FStar_Util.format1 s x in + FStar_Util.print1 "TAC>> %s\n" uu____838 + let (tacprint2 : Prims.string -> Prims.string -> Prims.string -> unit) = - fun s -> - fun x -> - fun y -> - let uu____854 = FStar_Util.format2 s x y in - FStar_Util.print1 "TAC>> %s\n" uu____854 + fun s -> + fun x -> + fun y -> + let uu____863 = FStar_Util.format2 s x y in + FStar_Util.print1 "TAC>> %s\n" uu____863 + let (tacprint3 : Prims.string -> Prims.string -> Prims.string -> Prims.string -> unit) = - fun s -> - fun x -> - fun y -> - fun z -> - let uu____886 = FStar_Util.format3 s x y z in - FStar_Util.print1 "TAC>> %s\n" uu____886 + fun s -> + fun x -> + fun y -> + fun z -> + let uu____895 = FStar_Util.format3 s x y z in + FStar_Util.print1 "TAC>> %s\n" uu____895 + let (get_phi : FStar_Tactics_Types.goal -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun g -> - let uu____899 = - let uu____900 = FStar_Tactics_Types.goal_env g in - let uu____901 = FStar_Tactics_Types.goal_type g in - FStar_TypeChecker_Normalize.unfold_whnf uu____900 uu____901 in - FStar_Syntax_Util.un_squash uu____899 + fun g -> + let uu____908 = + let uu____909 = FStar_Tactics_Types.goal_env g in + let uu____910 = FStar_Tactics_Types.goal_type g in + FStar_TypeChecker_Normalize.unfold_whnf uu____909 uu____910 in + FStar_Syntax_Util.un_squash uu____908 + let (is_irrelevant : FStar_Tactics_Types.goal -> Prims.bool) = - fun g -> let uu____910 = get_phi g in FStar_Option.isSome uu____910 -let (print : Prims.string -> unit tac) = fun msg -> tacprint msg; ret () + fun g -> let uu____919 = get_phi g in FStar_Option.isSome uu____919 +let (print : Prims.string -> unit tac) = fun msg -> tacprint msg; ret () let (debugging : unit -> Prims.bool tac) = - fun uu____934 -> + fun uu____943 -> bind get - (fun ps -> - let uu____942 = + (fun ps -> + let uu____951 = FStar_TypeChecker_Env.debug ps.FStar_Tactics_Types.main_context - (FStar_Options.Other "Tac") in - ret uu____942) + (FStar_Options.Other "Tac") + in + ret uu____951) + let (ps_to_string : (Prims.string * FStar_Tactics_Types.proofstate) -> Prims.string) = - fun uu____957 -> - match uu____957 with - | (msg, ps) -> + fun uu____966 -> + match uu____966 with + | (msg,ps) -> let p_imp imp = FStar_Syntax_Print.uvar_to_string - (imp.FStar_TypeChecker_Env.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_head in - let n_active = FStar_List.length ps.FStar_Tactics_Types.goals in - let n_smt = FStar_List.length ps.FStar_Tactics_Types.smt_goals in - let n1 = n_active + n_smt in - let uu____979 = - let uu____983 = - let uu____987 = - let uu____989 = - FStar_Util.string_of_int ps.FStar_Tactics_Types.depth in - FStar_Util.format2 "State dump @ depth %s (%s):\n" uu____989 - msg in - let uu____992 = - let uu____996 = + (imp.FStar_TypeChecker_Env.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_head + in + let n_active = FStar_List.length ps.FStar_Tactics_Types.goals in + let n_smt = FStar_List.length ps.FStar_Tactics_Types.smt_goals in + let n1 = n_active + n_smt in + let uu____988 = + let uu____992 = + let uu____996 = + let uu____998 = + FStar_Util.string_of_int ps.FStar_Tactics_Types.depth in + FStar_Util.format2 "State dump @ depth %s (%s):\n" uu____998 + msg + in + let uu____1001 = + let uu____1005 = if ps.FStar_Tactics_Types.entry_range <> FStar_Range.dummyRange then - let uu____1000 = + let uu____1009 = FStar_Range.string_of_def_range - ps.FStar_Tactics_Types.entry_range in - FStar_Util.format1 "Location: %s\n" uu____1000 - else "" in - let uu____1006 = - let uu____1010 = - let uu____1012 = + ps.FStar_Tactics_Types.entry_range + in + FStar_Util.format1 "Location: %s\n" uu____1009 + else "" in + let uu____1015 = + let uu____1019 = + let uu____1021 = FStar_TypeChecker_Env.debug ps.FStar_Tactics_Types.main_context - (FStar_Options.Other "Imp") in - if uu____1012 + (FStar_Options.Other "Imp") + in + if uu____1021 then - let uu____1017 = + let uu____1026 = FStar_Common.string_of_list p_imp - ps.FStar_Tactics_Types.all_implicits in - FStar_Util.format1 "Imps: %s\n" uu____1017 - else "" in - [uu____1010] in - uu____996 :: uu____1006 in - uu____987 :: uu____992 in - let uu____1027 = - let uu____1031 = + ps.FStar_Tactics_Types.all_implicits + in + FStar_Util.format1 "Imps: %s\n" uu____1026 + else "" in + [uu____1019] in + uu____1005 :: uu____1015 in + uu____996 :: uu____1001 in + let uu____1036 = + let uu____1040 = FStar_List.mapi - (fun i -> - fun g -> + (fun i -> + fun g -> goal_to_string "Goal" (FStar_Pervasives_Native.Some (((Prims.parse_int "1") + i), n1)) ps g) - ps.FStar_Tactics_Types.goals in - let uu____1051 = + ps.FStar_Tactics_Types.goals + in + let uu____1060 = FStar_List.mapi - (fun i -> - fun g -> + (fun i -> + fun g -> goal_to_string "SMT Goal" (FStar_Pervasives_Native.Some ((((Prims.parse_int "1") + n_active) + i), n1)) ps - g) ps.FStar_Tactics_Types.smt_goals in - FStar_List.append uu____1031 uu____1051 in - FStar_List.append uu____983 uu____1027 in - FStar_String.concat "" uu____979 + g) ps.FStar_Tactics_Types.smt_goals + in + FStar_List.append uu____1040 uu____1060 in + FStar_List.append uu____992 uu____1036 in + FStar_String.concat "" uu____988 + let (goal_to_json : FStar_Tactics_Types.goal -> FStar_Util.json) = - fun g -> + fun g -> let g_binders = - (g.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_binders in - let g_type = FStar_Tactics_Types.goal_type g in - let uu____1090 = unshadow g_binders g_type in - match uu____1090 with - | (g_binders1, g_type1) -> + (g.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_binders + in + let g_type = FStar_Tactics_Types.goal_type g in + let uu____1099 = unshadow g_binders g_type in + match uu____1099 with + | (g_binders1,g_type1) -> let j_binders = - let uu____1098 = - let uu____1099 = FStar_Tactics_Types.goal_env g in - FStar_TypeChecker_Env.dsenv uu____1099 in - FStar_Syntax_Print.binders_to_json uu____1098 g_binders1 in - let uu____1100 = - let uu____1108 = - let uu____1116 = - let uu____1122 = - let uu____1123 = - let uu____1131 = - let uu____1137 = - let uu____1138 = - let uu____1140 = FStar_Tactics_Types.goal_env g in - let uu____1141 = FStar_Tactics_Types.goal_witness g in - tts uu____1140 uu____1141 in - FStar_Util.JsonStr uu____1138 in - ("witness", uu____1137) in - let uu____1144 = - let uu____1152 = - let uu____1158 = - let uu____1159 = - let uu____1161 = FStar_Tactics_Types.goal_env g in - tts uu____1161 g_type1 in - FStar_Util.JsonStr uu____1159 in - ("type", uu____1158) in - [uu____1152; + let uu____1107 = + let uu____1108 = FStar_Tactics_Types.goal_env g in + FStar_TypeChecker_Env.dsenv uu____1108 in + FStar_Syntax_Print.binders_to_json uu____1107 g_binders1 in + let uu____1109 = + let uu____1117 = + let uu____1125 = + let uu____1131 = + let uu____1132 = + let uu____1140 = + let uu____1146 = + let uu____1147 = + let uu____1149 = FStar_Tactics_Types.goal_env g in + let uu____1150 = FStar_Tactics_Types.goal_witness g + in + tts uu____1149 uu____1150 in + FStar_Util.JsonStr uu____1147 in + ("witness", uu____1146) in + let uu____1153 = + let uu____1161 = + let uu____1167 = + let uu____1168 = + let uu____1170 = FStar_Tactics_Types.goal_env g in + tts uu____1170 g_type1 in + FStar_Util.JsonStr uu____1168 in + ("type", uu____1167) in + [uu____1161; ("label", - (FStar_Util.JsonStr (g.FStar_Tactics_Types.label)))] in - uu____1131 :: uu____1144 in - FStar_Util.JsonAssoc uu____1123 in - ("goal", uu____1122) in - [uu____1116] in - ("hyps", j_binders) :: uu____1108 in - FStar_Util.JsonAssoc uu____1100 + (FStar_Util.JsonStr (g.FStar_Tactics_Types.label)))] + in + uu____1140 :: uu____1153 in + FStar_Util.JsonAssoc uu____1132 in + ("goal", uu____1131) in + [uu____1125] in + ("hyps", j_binders) :: uu____1117 in + FStar_Util.JsonAssoc uu____1109 + let (ps_to_json : (Prims.string * FStar_Tactics_Types.proofstate) -> FStar_Util.json) = - fun uu____1215 -> - match uu____1215 with - | (msg, ps) -> - let uu____1225 = - let uu____1233 = - let uu____1241 = - let uu____1249 = - let uu____1257 = - let uu____1263 = - let uu____1264 = + fun uu____1224 -> + match uu____1224 with + | (msg,ps) -> + let uu____1234 = + let uu____1242 = + let uu____1250 = + let uu____1258 = + let uu____1266 = + let uu____1272 = + let uu____1273 = FStar_List.map goal_to_json - ps.FStar_Tactics_Types.goals in - FStar_Util.JsonList uu____1264 in - ("goals", uu____1263) in - let uu____1269 = - let uu____1277 = - let uu____1283 = - let uu____1284 = + ps.FStar_Tactics_Types.goals + in + FStar_Util.JsonList uu____1273 in + ("goals", uu____1272) in + let uu____1278 = + let uu____1286 = + let uu____1292 = + let uu____1293 = FStar_List.map goal_to_json - ps.FStar_Tactics_Types.smt_goals in - FStar_Util.JsonList uu____1284 in - ("smt-goals", uu____1283) in - [uu____1277] in - uu____1257 :: uu____1269 in + ps.FStar_Tactics_Types.smt_goals + in + FStar_Util.JsonList uu____1293 in + ("smt-goals", uu____1292) in + [uu____1286] in + uu____1266 :: uu____1278 in ("depth", (FStar_Util.JsonInt (ps.FStar_Tactics_Types.depth))) - :: uu____1249 in - ("label", (FStar_Util.JsonStr msg)) :: uu____1241 in - let uu____1318 = + :: uu____1258 + in + ("label", (FStar_Util.JsonStr msg)) :: uu____1250 in + let uu____1327 = if ps.FStar_Tactics_Types.entry_range <> FStar_Range.dummyRange then - let uu____1334 = - let uu____1340 = + let uu____1343 = + let uu____1349 = FStar_Range.json_of_def_range - ps.FStar_Tactics_Types.entry_range in - ("location", uu____1340) in - [uu____1334] - else [] in - FStar_List.append uu____1233 uu____1318 in - FStar_Util.JsonAssoc uu____1225 + ps.FStar_Tactics_Types.entry_range + in + ("location", uu____1349) in + [uu____1343] + else [] in + FStar_List.append uu____1242 uu____1327 in + FStar_Util.JsonAssoc uu____1234 + let (dump_proofstate : FStar_Tactics_Types.proofstate -> Prims.string -> unit) = - fun ps -> - fun msg -> + fun ps -> + fun msg -> FStar_Options.with_saved_options - (fun uu____1380 -> + (fun uu____1389 -> FStar_Options.set_option "print_effect_args" (FStar_Options.Bool true); FStar_Util.print_generic "proof-state" ps_to_string ps_to_json (msg, ps)) + let (print_proof_state : Prims.string -> unit tac) = - fun msg -> + fun msg -> mk_tac - (fun ps -> - let psc = ps.FStar_Tactics_Types.psc in - let subst1 = FStar_TypeChecker_Cfg.psc_subst psc in - (let uu____1411 = FStar_Tactics_Types.subst_proof_state subst1 ps in - dump_proofstate uu____1411 msg); + (fun ps -> + let psc = ps.FStar_Tactics_Types.psc in + let subst1 = FStar_TypeChecker_Cfg.psc_subst psc in + (let uu____1420 = FStar_Tactics_Types.subst_proof_state subst1 ps + in + dump_proofstate uu____1420 msg); FStar_Tactics_Result.Success ((), ps)) + let mlog : 'a . (unit -> unit) -> (unit -> 'a tac) -> 'a tac = - fun f -> fun cont -> bind get (fun ps -> log ps f; cont ()) + fun f -> fun cont -> bind get (fun ps -> log ps f; cont ()) let traise : 'a . Prims.exn -> 'a tac = - fun e -> mk_tac (fun ps -> FStar_Tactics_Result.Failed (e, ps)) + fun e -> mk_tac (fun ps -> FStar_Tactics_Result.Failed (e, ps)) let fail : 'a . Prims.string -> 'a tac = - fun msg -> + fun msg -> mk_tac - (fun ps -> - (let uu____1484 = + (fun ps -> + (let uu____1493 = FStar_TypeChecker_Env.debug ps.FStar_Tactics_Types.main_context - (FStar_Options.Other "TacFail") in - if uu____1484 + (FStar_Options.Other "TacFail") + in + if uu____1493 then dump_proofstate ps (Prims.op_Hat "TACTIC FAILING: " msg) else ()); FStar_Tactics_Result.Failed ((FStar_Tactics_Types.TacticFailure msg), ps)) -let fail1 : 'Auu____1498 . Prims.string -> Prims.string -> 'Auu____1498 tac = - fun msg -> - fun x -> let uu____1515 = FStar_Util.format1 msg x in fail uu____1515 + +let fail1 : 'Auu____1507 . Prims.string -> Prims.string -> 'Auu____1507 tac = + fun msg -> + fun x -> let uu____1524 = FStar_Util.format1 msg x in fail uu____1524 + let fail2 : - 'Auu____1526 . - Prims.string -> Prims.string -> Prims.string -> 'Auu____1526 tac + 'Auu____1535 . + Prims.string -> Prims.string -> Prims.string -> 'Auu____1535 tac = - fun msg -> - fun x -> - fun y -> let uu____1550 = FStar_Util.format2 msg x y in fail uu____1550 + fun msg -> + fun x -> + fun y -> + let uu____1559 = FStar_Util.format2 msg x y in fail uu____1559 + let fail3 : - 'Auu____1563 . + 'Auu____1572 . Prims.string -> - Prims.string -> Prims.string -> Prims.string -> 'Auu____1563 tac + Prims.string -> Prims.string -> Prims.string -> 'Auu____1572 tac = - fun msg -> - fun x -> - fun y -> - fun z -> - let uu____1594 = FStar_Util.format3 msg x y z in fail uu____1594 + fun msg -> + fun x -> + fun y -> + fun z -> + let uu____1603 = FStar_Util.format3 msg x y z in fail uu____1603 + let fail4 : - 'Auu____1609 . + 'Auu____1618 . Prims.string -> Prims.string -> - Prims.string -> Prims.string -> Prims.string -> 'Auu____1609 tac + Prims.string -> Prims.string -> Prims.string -> 'Auu____1618 tac = - fun msg -> - fun x -> - fun y -> - fun z -> - fun w -> - let uu____1647 = FStar_Util.format4 msg x y z w in - fail uu____1647 -let catch : 'a . 'a tac -> (Prims.exn, 'a) FStar_Util.either tac = - fun t -> + fun msg -> + fun x -> + fun y -> + fun z -> + fun w -> + let uu____1656 = FStar_Util.format4 msg x y z w in + fail uu____1656 + +let catch : 'a . 'a tac -> (Prims.exn,'a) FStar_Util.either tac = + fun t -> mk_tac - (fun ps -> - let tx = FStar_Syntax_Unionfind.new_transaction () in - let uu____1682 = run t ps in - match uu____1682 with - | FStar_Tactics_Result.Success (a, q) -> + (fun ps -> + let tx = FStar_Syntax_Unionfind.new_transaction () in + let uu____1691 = run t ps in + match uu____1691 with + | FStar_Tactics_Result.Success (a,q) -> (FStar_Syntax_Unionfind.commit tx; FStar_Tactics_Result.Success ((FStar_Util.Inr a), q)) - | FStar_Tactics_Result.Failed (m, q) -> + | FStar_Tactics_Result.Failed (m,q) -> (FStar_Syntax_Unionfind.rollback tx; (let ps1 = - let uu___227_1706 = ps in + let uu___229_1715 = ps in { FStar_Tactics_Types.main_context = - (uu___227_1706.FStar_Tactics_Types.main_context); + (uu___229_1715.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___227_1706.FStar_Tactics_Types.main_goal); + (uu___229_1715.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___227_1706.FStar_Tactics_Types.all_implicits); + (uu___229_1715.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = - (uu___227_1706.FStar_Tactics_Types.goals); + (uu___229_1715.FStar_Tactics_Types.goals); FStar_Tactics_Types.smt_goals = - (uu___227_1706.FStar_Tactics_Types.smt_goals); + (uu___229_1715.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___227_1706.FStar_Tactics_Types.depth); + (uu___229_1715.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___227_1706.FStar_Tactics_Types.__dump); + (uu___229_1715.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___227_1706.FStar_Tactics_Types.psc); + (uu___229_1715.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___227_1706.FStar_Tactics_Types.entry_range); + (uu___229_1715.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___227_1706.FStar_Tactics_Types.guard_policy); + (uu___229_1715.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = (q.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___227_1706.FStar_Tactics_Types.tac_verb_dbg); + (uu___229_1715.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___227_1706.FStar_Tactics_Types.local_state) - } in + (uu___229_1715.FStar_Tactics_Types.local_state) + } in FStar_Tactics_Result.Success ((FStar_Util.Inl m), ps1)))) -let recover : 'a . 'a tac -> (Prims.exn, 'a) FStar_Util.either tac = - fun t -> + +let recover : 'a . 'a tac -> (Prims.exn,'a) FStar_Util.either tac = + fun t -> mk_tac - (fun ps -> - let uu____1745 = run t ps in - match uu____1745 with - | FStar_Tactics_Result.Success (a, q) -> + (fun ps -> + let uu____1754 = run t ps in + match uu____1754 with + | FStar_Tactics_Result.Success (a,q) -> FStar_Tactics_Result.Success ((FStar_Util.Inr a), q) - | FStar_Tactics_Result.Failed (m, q) -> + | FStar_Tactics_Result.Failed (m,q) -> FStar_Tactics_Result.Success ((FStar_Util.Inl m), q)) + let trytac : 'a . 'a tac -> 'a FStar_Pervasives_Native.option tac = - fun t -> - let uu____1793 = catch t in - bind uu____1793 - (fun r -> + fun t -> + let uu____1802 = catch t in + bind uu____1802 + (fun r -> match r with | FStar_Util.Inr v1 -> ret (FStar_Pervasives_Native.Some v1) - | FStar_Util.Inl uu____1820 -> ret FStar_Pervasives_Native.None) + | FStar_Util.Inl uu____1829 -> ret FStar_Pervasives_Native.None) + let trytac_exn : 'a . 'a tac -> 'a FStar_Pervasives_Native.option tac = - fun t -> + fun t -> mk_tac - (fun ps -> + (fun ps -> try - (fun uu___253_1852 -> + (fun uu___255_1861 -> match () with - | () -> let uu____1857 = trytac t in run uu____1857 ps) () + | () -> let uu____1866 = trytac t in run uu____1866 ps) () with - | FStar_Errors.Err (uu____1873, msg) -> + | FStar_Errors.Err (uu____1882,msg) -> (log ps - (fun uu____1879 -> + (fun uu____1888 -> FStar_Util.print1 "trytac_exn error: (%s)" msg); FStar_Tactics_Result.Success (FStar_Pervasives_Native.None, ps)) - | FStar_Errors.Error (uu____1885, msg, uu____1887) -> + | FStar_Errors.Error (uu____1894,msg,uu____1896) -> (log ps - (fun uu____1892 -> + (fun uu____1901 -> FStar_Util.print1 "trytac_exn error: (%s)" msg); FStar_Tactics_Result.Success (FStar_Pervasives_Native.None, ps))) + let wrap_err : 'a . Prims.string -> 'a tac -> 'a tac = - fun pref -> - fun t -> + fun pref -> + fun t -> mk_tac - (fun ps -> - let uu____1929 = run t ps in - match uu____1929 with - | FStar_Tactics_Result.Success (a, q) -> + (fun ps -> + let uu____1938 = run t ps in + match uu____1938 with + | FStar_Tactics_Result.Success (a,q) -> FStar_Tactics_Result.Success (a, q) | FStar_Tactics_Result.Failed - (FStar_Tactics_Types.TacticFailure msg, q) -> + (FStar_Tactics_Types.TacticFailure msg,q) -> FStar_Tactics_Result.Failed ((FStar_Tactics_Types.TacticFailure (Prims.op_Hat pref (Prims.op_Hat ": " msg))), q) - | FStar_Tactics_Result.Failed (e, q) -> + | FStar_Tactics_Result.Failed (e,q) -> FStar_Tactics_Result.Failed (e, q)) + let (set : FStar_Tactics_Types.proofstate -> unit tac) = - fun p -> mk_tac (fun uu____1953 -> FStar_Tactics_Result.Success ((), p)) + fun p -> mk_tac (fun uu____1962 -> FStar_Tactics_Result.Success ((), p)) let (add_implicits : implicits -> unit tac) = - fun i -> + fun i -> bind get - (fun p -> + (fun p -> set - (let uu___288_1968 = p in + (let uu___290_1977 = p in { FStar_Tactics_Types.main_context = - (uu___288_1968.FStar_Tactics_Types.main_context); + (uu___290_1977.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___288_1968.FStar_Tactics_Types.main_goal); + (uu___290_1977.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = (FStar_List.append i p.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = - (uu___288_1968.FStar_Tactics_Types.goals); + (uu___290_1977.FStar_Tactics_Types.goals); FStar_Tactics_Types.smt_goals = - (uu___288_1968.FStar_Tactics_Types.smt_goals); + (uu___290_1977.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___288_1968.FStar_Tactics_Types.depth); + (uu___290_1977.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___288_1968.FStar_Tactics_Types.__dump); + (uu___290_1977.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___288_1968.FStar_Tactics_Types.psc); + (uu___290_1977.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___288_1968.FStar_Tactics_Types.entry_range); + (uu___290_1977.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___288_1968.FStar_Tactics_Types.guard_policy); + (uu___290_1977.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___288_1968.FStar_Tactics_Types.freshness); + (uu___290_1977.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___288_1968.FStar_Tactics_Types.tac_verb_dbg); + (uu___290_1977.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___288_1968.FStar_Tactics_Types.local_state) + (uu___290_1977.FStar_Tactics_Types.local_state) })) + let (__do_unify : env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> Prims.bool tac) = - fun env -> - fun t1 -> - fun t2 -> - (let uu____1992 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "1346") in - if uu____1992 + fun env -> + fun t1 -> + fun t2 -> + (let uu____2001 = + FStar_TypeChecker_Env.debug env (FStar_Options.Other "1346") in + if uu____2001 then - let uu____1996 = FStar_Syntax_Print.term_to_string t1 in - let uu____1998 = FStar_Syntax_Print.term_to_string t2 in - FStar_Util.print2 "%%%%%%%%do_unify %s =? %s\n" uu____1996 - uu____1998 + let uu____2005 = FStar_Syntax_Print.term_to_string t1 in + let uu____2007 = FStar_Syntax_Print.term_to_string t2 in + FStar_Util.print2 "%%%%%%%%do_unify %s =? %s\n" uu____2005 + uu____2007 else ()); (try - (fun uu___296_2009 -> + (fun uu___298_2018 -> match () with | () -> - let res = FStar_TypeChecker_Rel.teq_nosmt env t1 t2 in - ((let uu____2017 = + let res = FStar_TypeChecker_Rel.teq_nosmt env t1 t2 in + ((let uu____2026 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "1346") in - if uu____2017 + (FStar_Options.Other "1346") + in + if uu____2026 then - let uu____2021 = + let uu____2030 = FStar_Common.string_of_option - (FStar_TypeChecker_Rel.guard_to_string env) res in - let uu____2023 = FStar_Syntax_Print.term_to_string t1 in - let uu____2025 = FStar_Syntax_Print.term_to_string t2 in + (FStar_TypeChecker_Rel.guard_to_string env) res + in + let uu____2032 = FStar_Syntax_Print.term_to_string t1 + in + let uu____2034 = FStar_Syntax_Print.term_to_string t2 + in FStar_Util.print3 - "%%%%%%%%do_unify (RESULT %s) %s =? %s\n" uu____2021 - uu____2023 uu____2025 + "%%%%%%%%do_unify (RESULT %s) %s =? %s\n" uu____2030 + uu____2032 uu____2034 else ()); (match res with - | FStar_Pervasives_Native.None -> ret false + | FStar_Pervasives_Native.None -> ret false | FStar_Pervasives_Native.Some g -> - let uu____2036 = - add_implicits g.FStar_TypeChecker_Env.implicits in - bind uu____2036 (fun uu____2041 -> ret true)))) () + let uu____2045 = + add_implicits g.FStar_TypeChecker_Env.implicits in + bind uu____2045 (fun uu____2050 -> ret true)))) () with - | FStar_Errors.Err (uu____2051, msg) -> + | FStar_Errors.Err (uu____2060,msg) -> mlog - (fun uu____2057 -> + (fun uu____2066 -> FStar_Util.print1 ">> do_unify error, (%s)\n" msg) - (fun uu____2060 -> ret false) - | FStar_Errors.Error (uu____2063, msg, r) -> + (fun uu____2069 -> ret false) + | FStar_Errors.Error (uu____2072,msg,r) -> mlog - (fun uu____2071 -> - let uu____2072 = FStar_Range.string_of_range r in + (fun uu____2080 -> + let uu____2081 = FStar_Range.string_of_range r in FStar_Util.print2 ">> do_unify error, (%s) at (%s)\n" msg - uu____2072) (fun uu____2076 -> ret false)) + uu____2081) (fun uu____2085 -> ret false)) + let (compress_implicits : unit tac) = bind get - (fun ps -> - let imps = ps.FStar_Tactics_Types.all_implicits in + (fun ps -> + let imps = ps.FStar_Tactics_Types.all_implicits in let g = - let uu___322_2090 = FStar_TypeChecker_Env.trivial_guard in + let uu___324_2099 = FStar_TypeChecker_Env.trivial_guard in { FStar_TypeChecker_Env.guard_f = - (uu___322_2090.FStar_TypeChecker_Env.guard_f); + (uu___324_2099.FStar_TypeChecker_Env.guard_f); FStar_TypeChecker_Env.deferred = - (uu___322_2090.FStar_TypeChecker_Env.deferred); + (uu___324_2099.FStar_TypeChecker_Env.deferred); FStar_TypeChecker_Env.univ_ineqs = - (uu___322_2090.FStar_TypeChecker_Env.univ_ineqs); + (uu___324_2099.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = imps - } in + } in let g1 = FStar_TypeChecker_Rel.resolve_implicits_tac - ps.FStar_Tactics_Types.main_context g in + ps.FStar_Tactics_Types.main_context g + in let ps' = - let uu___326_2093 = ps in + let uu___328_2102 = ps in { FStar_Tactics_Types.main_context = - (uu___326_2093.FStar_Tactics_Types.main_context); + (uu___328_2102.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___326_2093.FStar_Tactics_Types.main_goal); + (uu___328_2102.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = (g1.FStar_TypeChecker_Env.implicits); FStar_Tactics_Types.goals = - (uu___326_2093.FStar_Tactics_Types.goals); + (uu___328_2102.FStar_Tactics_Types.goals); FStar_Tactics_Types.smt_goals = - (uu___326_2093.FStar_Tactics_Types.smt_goals); + (uu___328_2102.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___326_2093.FStar_Tactics_Types.depth); + (uu___328_2102.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___326_2093.FStar_Tactics_Types.__dump); - FStar_Tactics_Types.psc = (uu___326_2093.FStar_Tactics_Types.psc); + (uu___328_2102.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = (uu___328_2102.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___326_2093.FStar_Tactics_Types.entry_range); + (uu___328_2102.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___326_2093.FStar_Tactics_Types.guard_policy); + (uu___328_2102.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___326_2093.FStar_Tactics_Types.freshness); + (uu___328_2102.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___326_2093.FStar_Tactics_Types.tac_verb_dbg); + (uu___328_2102.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___326_2093.FStar_Tactics_Types.local_state) - } in + (uu___328_2102.FStar_Tactics_Types.local_state) + } in set ps') + let (do_unify : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> Prims.bool tac) = - fun env -> - fun t1 -> - fun t2 -> + fun env -> + fun t1 -> + fun t2 -> bind idtac - (fun uu____2120 -> - (let uu____2122 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "1346") in - if uu____2122 + (fun uu____2129 -> + (let uu____2131 = + FStar_TypeChecker_Env.debug env (FStar_Options.Other "1346") + in + if uu____2131 then (FStar_Options.push (); - (let uu____2127 = - FStar_Options.set_options FStar_Options.Set - "--debug_level Rel --debug_level RelCheck" in + (let uu____2136 = + FStar_Options.set_options + "--debug_level Rel --debug_level RelCheck" + in ())) else ()); - (let uu____2131 = __do_unify env t1 t2 in - bind uu____2131 - (fun r -> - (let uu____2142 = + (let uu____2140 = __do_unify env t1 t2 in + bind uu____2140 + (fun r -> + (let uu____2151 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "1346") in - if uu____2142 then FStar_Options.pop () else ()); + (FStar_Options.Other "1346") + in + if uu____2151 then FStar_Options.pop () else ()); ret r))) + +let (do_match : + FStar_TypeChecker_Env.env -> + FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> Prims.bool tac) + = + fun env -> + fun t1 -> + fun t2 -> + let uvs1 = FStar_Syntax_Free.uvars_uncached t1 in + let uu____2183 = do_unify env t1 t2 in + bind uu____2183 + (fun r -> + if r + then + let uvs2 = FStar_Syntax_Free.uvars_uncached t1 in + let uu____2201 = + let uu____2203 = FStar_Util.set_eq uvs1 uvs2 in + Prims.op_Negation uu____2203 in + (if uu____2201 then ret false else ret true) + else ret false) + let (remove_solved_goals : unit tac) = bind get - (fun ps -> + (fun ps -> let ps' = - let uu___341_2156 = ps in - let uu____2157 = + let uu___351_2226 = ps in + let uu____2227 = FStar_List.filter - (fun g -> - let uu____2163 = check_goal_solved g in - FStar_Option.isNone uu____2163) ps.FStar_Tactics_Types.goals in + (fun g -> + let uu____2233 = check_goal_solved g in + FStar_Option.isNone uu____2233) ps.FStar_Tactics_Types.goals + in { FStar_Tactics_Types.main_context = - (uu___341_2156.FStar_Tactics_Types.main_context); + (uu___351_2226.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___341_2156.FStar_Tactics_Types.main_goal); + (uu___351_2226.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___341_2156.FStar_Tactics_Types.all_implicits); - FStar_Tactics_Types.goals = uu____2157; + (uu___351_2226.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = uu____2227; FStar_Tactics_Types.smt_goals = - (uu___341_2156.FStar_Tactics_Types.smt_goals); + (uu___351_2226.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___341_2156.FStar_Tactics_Types.depth); + (uu___351_2226.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___341_2156.FStar_Tactics_Types.__dump); - FStar_Tactics_Types.psc = (uu___341_2156.FStar_Tactics_Types.psc); + (uu___351_2226.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = (uu___351_2226.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___341_2156.FStar_Tactics_Types.entry_range); + (uu___351_2226.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___341_2156.FStar_Tactics_Types.guard_policy); + (uu___351_2226.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___341_2156.FStar_Tactics_Types.freshness); + (uu___351_2226.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___341_2156.FStar_Tactics_Types.tac_verb_dbg); + (uu___351_2226.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___341_2156.FStar_Tactics_Types.local_state) - } in + (uu___351_2226.FStar_Tactics_Types.local_state) + } in set ps') + let (set_solution : FStar_Tactics_Types.goal -> FStar_Syntax_Syntax.term -> unit tac) = - fun goal -> - fun solution -> - let uu____2181 = + fun goal -> + fun solution -> + let uu____2251 = FStar_Syntax_Unionfind.find - (goal.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_head in - match uu____2181 with - | FStar_Pervasives_Native.Some uu____2186 -> - let uu____2187 = - let uu____2189 = goal_to_string_verbose goal in - FStar_Util.format1 "Goal %s is already solved" uu____2189 in - fail uu____2187 - | FStar_Pervasives_Native.None -> + (goal.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_head + in + match uu____2251 with + | FStar_Pervasives_Native.Some uu____2256 -> + let uu____2257 = + let uu____2259 = goal_to_string_verbose goal in + FStar_Util.format1 "Goal %s is already solved" uu____2259 in + fail uu____2257 + | FStar_Pervasives_Native.None -> (FStar_Syntax_Unionfind.change (goal.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_head solution; ret ()) + let (trysolve : FStar_Tactics_Types.goal -> FStar_Syntax_Syntax.term -> Prims.bool tac) = - fun goal -> - fun solution -> - let uu____2210 = FStar_Tactics_Types.goal_env goal in - let uu____2211 = FStar_Tactics_Types.goal_witness goal in - do_unify uu____2210 solution uu____2211 + fun goal -> + fun solution -> + let uu____2280 = FStar_Tactics_Types.goal_env goal in + let uu____2281 = FStar_Tactics_Types.goal_witness goal in + do_unify uu____2280 solution uu____2281 + let (__dismiss : unit tac) = bind get - (fun p -> - let uu____2218 = - let uu___354_2219 = p in - let uu____2220 = FStar_List.tl p.FStar_Tactics_Types.goals in + (fun p -> + let uu____2288 = + let uu___364_2289 = p in + let uu____2290 = FStar_List.tl p.FStar_Tactics_Types.goals in { FStar_Tactics_Types.main_context = - (uu___354_2219.FStar_Tactics_Types.main_context); + (uu___364_2289.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___354_2219.FStar_Tactics_Types.main_goal); + (uu___364_2289.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___354_2219.FStar_Tactics_Types.all_implicits); - FStar_Tactics_Types.goals = uu____2220; + (uu___364_2289.FStar_Tactics_Types.all_implicits); + FStar_Tactics_Types.goals = uu____2290; FStar_Tactics_Types.smt_goals = - (uu___354_2219.FStar_Tactics_Types.smt_goals); + (uu___364_2289.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___354_2219.FStar_Tactics_Types.depth); + (uu___364_2289.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___354_2219.FStar_Tactics_Types.__dump); - FStar_Tactics_Types.psc = (uu___354_2219.FStar_Tactics_Types.psc); + (uu___364_2289.FStar_Tactics_Types.__dump); + FStar_Tactics_Types.psc = (uu___364_2289.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___354_2219.FStar_Tactics_Types.entry_range); + (uu___364_2289.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___354_2219.FStar_Tactics_Types.guard_policy); + (uu___364_2289.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___354_2219.FStar_Tactics_Types.freshness); + (uu___364_2289.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___354_2219.FStar_Tactics_Types.tac_verb_dbg); + (uu___364_2289.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___354_2219.FStar_Tactics_Types.local_state) - } in - set uu____2218) + (uu___364_2289.FStar_Tactics_Types.local_state) + } in + set uu____2288) + let (solve : FStar_Tactics_Types.goal -> FStar_Syntax_Syntax.term -> unit tac) = - fun goal -> - fun solution -> - let e = FStar_Tactics_Types.goal_env goal in + fun goal -> + fun solution -> + let e = FStar_Tactics_Types.goal_env goal in mlog - (fun uu____2242 -> - let uu____2243 = - let uu____2245 = FStar_Tactics_Types.goal_witness goal in - FStar_Syntax_Print.term_to_string uu____2245 in - let uu____2246 = FStar_Syntax_Print.term_to_string solution in - FStar_Util.print2 "solve %s := %s\n" uu____2243 uu____2246) - (fun uu____2251 -> - let uu____2252 = trysolve goal solution in - bind uu____2252 - (fun b -> + (fun uu____2312 -> + let uu____2313 = + let uu____2315 = FStar_Tactics_Types.goal_witness goal in + FStar_Syntax_Print.term_to_string uu____2315 in + let uu____2316 = FStar_Syntax_Print.term_to_string solution in + FStar_Util.print2 "solve %s := %s\n" uu____2313 uu____2316) + (fun uu____2321 -> + let uu____2322 = trysolve goal solution in + bind uu____2322 + (fun b -> if b - then bind __dismiss (fun uu____2264 -> remove_solved_goals) + then bind __dismiss (fun uu____2334 -> remove_solved_goals) else - (let uu____2267 = - let uu____2269 = - let uu____2271 = FStar_Tactics_Types.goal_env goal in - tts uu____2271 solution in - let uu____2272 = - let uu____2274 = FStar_Tactics_Types.goal_env goal in - let uu____2275 = FStar_Tactics_Types.goal_witness goal in - tts uu____2274 uu____2275 in - let uu____2276 = - let uu____2278 = FStar_Tactics_Types.goal_env goal in - let uu____2279 = FStar_Tactics_Types.goal_type goal in - tts uu____2278 uu____2279 in + (let uu____2337 = + let uu____2339 = + let uu____2341 = FStar_Tactics_Types.goal_env goal in + tts uu____2341 solution in + let uu____2342 = + let uu____2344 = FStar_Tactics_Types.goal_env goal in + let uu____2345 = FStar_Tactics_Types.goal_witness goal + in + tts uu____2344 uu____2345 in + let uu____2346 = + let uu____2348 = FStar_Tactics_Types.goal_env goal in + let uu____2349 = FStar_Tactics_Types.goal_type goal + in + tts uu____2348 uu____2349 in FStar_Util.format3 "%s does not solve %s : %s" - uu____2269 uu____2272 uu____2276 in - fail uu____2267))) + uu____2339 uu____2342 uu____2346 + in + fail uu____2337))) + let (solve' : FStar_Tactics_Types.goal -> FStar_Syntax_Syntax.term -> unit tac) = - fun goal -> - fun solution -> - let uu____2296 = set_solution goal solution in - bind uu____2296 - (fun uu____2300 -> - bind __dismiss (fun uu____2302 -> remove_solved_goals)) + fun goal -> + fun solution -> + let uu____2366 = set_solution goal solution in + bind uu____2366 + (fun uu____2370 -> + bind __dismiss (fun uu____2372 -> remove_solved_goals)) + let (set_goals : FStar_Tactics_Types.goal Prims.list -> unit tac) = - fun gs -> + fun gs -> bind get - (fun ps -> + (fun ps -> set - (let uu___370_2321 = ps in + (let uu___380_2391 = ps in { FStar_Tactics_Types.main_context = - (uu___370_2321.FStar_Tactics_Types.main_context); + (uu___380_2391.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___370_2321.FStar_Tactics_Types.main_goal); + (uu___380_2391.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___370_2321.FStar_Tactics_Types.all_implicits); + (uu___380_2391.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = gs; FStar_Tactics_Types.smt_goals = - (uu___370_2321.FStar_Tactics_Types.smt_goals); + (uu___380_2391.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___370_2321.FStar_Tactics_Types.depth); + (uu___380_2391.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___370_2321.FStar_Tactics_Types.__dump); + (uu___380_2391.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___370_2321.FStar_Tactics_Types.psc); + (uu___380_2391.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___370_2321.FStar_Tactics_Types.entry_range); + (uu___380_2391.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___370_2321.FStar_Tactics_Types.guard_policy); + (uu___380_2391.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___370_2321.FStar_Tactics_Types.freshness); + (uu___380_2391.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___370_2321.FStar_Tactics_Types.tac_verb_dbg); + (uu___380_2391.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___370_2321.FStar_Tactics_Types.local_state) + (uu___380_2391.FStar_Tactics_Types.local_state) })) + let (set_smt_goals : FStar_Tactics_Types.goal Prims.list -> unit tac) = - fun gs -> + fun gs -> bind get - (fun ps -> + (fun ps -> set - (let uu___374_2340 = ps in + (let uu___384_2410 = ps in { FStar_Tactics_Types.main_context = - (uu___374_2340.FStar_Tactics_Types.main_context); + (uu___384_2410.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___374_2340.FStar_Tactics_Types.main_goal); + (uu___384_2410.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___374_2340.FStar_Tactics_Types.all_implicits); + (uu___384_2410.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = - (uu___374_2340.FStar_Tactics_Types.goals); + (uu___384_2410.FStar_Tactics_Types.goals); FStar_Tactics_Types.smt_goals = gs; FStar_Tactics_Types.depth = - (uu___374_2340.FStar_Tactics_Types.depth); + (uu___384_2410.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___374_2340.FStar_Tactics_Types.__dump); + (uu___384_2410.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___374_2340.FStar_Tactics_Types.psc); + (uu___384_2410.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___374_2340.FStar_Tactics_Types.entry_range); + (uu___384_2410.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___374_2340.FStar_Tactics_Types.guard_policy); + (uu___384_2410.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___374_2340.FStar_Tactics_Types.freshness); + (uu___384_2410.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___374_2340.FStar_Tactics_Types.tac_verb_dbg); + (uu___384_2410.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___374_2340.FStar_Tactics_Types.local_state) + (uu___384_2410.FStar_Tactics_Types.local_state) })) -let (dismiss_all : unit tac) = set_goals [] + +let (dismiss_all : unit tac) = set_goals [] let (nwarn : Prims.int FStar_ST.ref) = - FStar_Util.mk_ref (Prims.parse_int "0") + FStar_Util.mk_ref (Prims.parse_int "0") let (check_valid_goal : FStar_Tactics_Types.goal -> unit) = - fun g -> - let uu____2356 = FStar_Options.defensive () in - if uu____2356 + fun g -> + let uu____2426 = FStar_Options.defensive () in + if uu____2426 then - let b = true in - let env = FStar_Tactics_Types.goal_env g in + let b = true in + let env = FStar_Tactics_Types.goal_env g in let b1 = b && - (let uu____2366 = FStar_Tactics_Types.goal_witness g in - FStar_TypeChecker_Env.closed env uu____2366) in + (let uu____2436 = FStar_Tactics_Types.goal_witness g in + FStar_TypeChecker_Env.closed env uu____2436) + in let b2 = b1 && - (let uu____2370 = FStar_Tactics_Types.goal_type g in - FStar_TypeChecker_Env.closed env uu____2370) in + (let uu____2440 = FStar_Tactics_Types.goal_type g in + FStar_TypeChecker_Env.closed env uu____2440) + in let rec aux b3 e = - let uu____2385 = FStar_TypeChecker_Env.pop_bv e in - match uu____2385 with - | FStar_Pervasives_Native.None -> b3 - | FStar_Pervasives_Native.Some (bv, e1) -> + let uu____2455 = FStar_TypeChecker_Env.pop_bv e in + match uu____2455 with + | FStar_Pervasives_Native.None -> b3 + | FStar_Pervasives_Native.Some (bv,e1) -> let b4 = b3 && - (FStar_TypeChecker_Env.closed e1 bv.FStar_Syntax_Syntax.sort) in - aux b4 e1 in - let uu____2405 = - (let uu____2409 = aux b2 env in Prims.op_Negation uu____2409) && - (let uu____2412 = FStar_ST.op_Bang nwarn in - uu____2412 < (Prims.parse_int "5")) in - (if uu____2405 + (FStar_TypeChecker_Env.closed e1 bv.FStar_Syntax_Syntax.sort) + in + aux b4 e1 + in + let uu____2475 = + (let uu____2479 = aux b2 env in Prims.op_Negation uu____2479) && + (let uu____2482 = FStar_ST.op_Bang nwarn in + uu____2482 < (Prims.parse_int "5")) + in + (if uu____2475 then - ((let uu____2438 = - let uu____2439 = FStar_Tactics_Types.goal_type g in - uu____2439.FStar_Syntax_Syntax.pos in - let uu____2442 = - let uu____2448 = - let uu____2450 = goal_to_string_verbose g in + ((let uu____2508 = + let uu____2509 = FStar_Tactics_Types.goal_type g in + uu____2509.FStar_Syntax_Syntax.pos in + let uu____2512 = + let uu____2518 = + let uu____2520 = goal_to_string_verbose g in FStar_Util.format1 "The following goal is ill-formed. Keeping calm and carrying on...\n<%s>\n\n" - uu____2450 in - (FStar_Errors.Warning_IllFormedGoal, uu____2448) in - FStar_Errors.log_issue uu____2438 uu____2442); - (let uu____2454 = - let uu____2456 = FStar_ST.op_Bang nwarn in - uu____2456 + (Prims.parse_int "1") in - FStar_ST.op_Colon_Equals nwarn uu____2454)) + uu____2520 + in + (FStar_Errors.Warning_IllFormedGoal, uu____2518) in + FStar_Errors.log_issue uu____2508 uu____2512); + (let uu____2524 = + let uu____2526 = FStar_ST.op_Bang nwarn in + uu____2526 + (Prims.parse_int "1") in + FStar_ST.op_Colon_Equals nwarn uu____2524)) else ()) else () + let (add_goals : FStar_Tactics_Types.goal Prims.list -> unit tac) = - fun gs -> + fun gs -> bind get - (fun p -> + (fun p -> FStar_List.iter check_valid_goal gs; set - (let uu___396_2525 = p in + (let uu___406_2595 = p in { FStar_Tactics_Types.main_context = - (uu___396_2525.FStar_Tactics_Types.main_context); + (uu___406_2595.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___396_2525.FStar_Tactics_Types.main_goal); + (uu___406_2595.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___396_2525.FStar_Tactics_Types.all_implicits); + (uu___406_2595.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = (FStar_List.append gs p.FStar_Tactics_Types.goals); FStar_Tactics_Types.smt_goals = - (uu___396_2525.FStar_Tactics_Types.smt_goals); + (uu___406_2595.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___396_2525.FStar_Tactics_Types.depth); + (uu___406_2595.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___396_2525.FStar_Tactics_Types.__dump); + (uu___406_2595.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___396_2525.FStar_Tactics_Types.psc); + (uu___406_2595.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___396_2525.FStar_Tactics_Types.entry_range); + (uu___406_2595.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___396_2525.FStar_Tactics_Types.guard_policy); + (uu___406_2595.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___396_2525.FStar_Tactics_Types.freshness); + (uu___406_2595.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___396_2525.FStar_Tactics_Types.tac_verb_dbg); + (uu___406_2595.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___396_2525.FStar_Tactics_Types.local_state) + (uu___406_2595.FStar_Tactics_Types.local_state) })) + let (add_smt_goals : FStar_Tactics_Types.goal Prims.list -> unit tac) = - fun gs -> + fun gs -> bind get - (fun p -> + (fun p -> FStar_List.iter check_valid_goal gs; set - (let uu___401_2546 = p in + (let uu___411_2616 = p in { FStar_Tactics_Types.main_context = - (uu___401_2546.FStar_Tactics_Types.main_context); + (uu___411_2616.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___401_2546.FStar_Tactics_Types.main_goal); + (uu___411_2616.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___401_2546.FStar_Tactics_Types.all_implicits); + (uu___411_2616.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = - (uu___401_2546.FStar_Tactics_Types.goals); + (uu___411_2616.FStar_Tactics_Types.goals); FStar_Tactics_Types.smt_goals = (FStar_List.append gs p.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___401_2546.FStar_Tactics_Types.depth); + (uu___411_2616.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___401_2546.FStar_Tactics_Types.__dump); + (uu___411_2616.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___401_2546.FStar_Tactics_Types.psc); + (uu___411_2616.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___401_2546.FStar_Tactics_Types.entry_range); + (uu___411_2616.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___401_2546.FStar_Tactics_Types.guard_policy); + (uu___411_2616.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___401_2546.FStar_Tactics_Types.freshness); + (uu___411_2616.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___401_2546.FStar_Tactics_Types.tac_verb_dbg); + (uu___411_2616.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___401_2546.FStar_Tactics_Types.local_state) + (uu___411_2616.FStar_Tactics_Types.local_state) })) + let (push_goals : FStar_Tactics_Types.goal Prims.list -> unit tac) = - fun gs -> + fun gs -> bind get - (fun p -> + (fun p -> FStar_List.iter check_valid_goal gs; set - (let uu___406_2567 = p in + (let uu___416_2637 = p in { FStar_Tactics_Types.main_context = - (uu___406_2567.FStar_Tactics_Types.main_context); + (uu___416_2637.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___406_2567.FStar_Tactics_Types.main_goal); + (uu___416_2637.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___406_2567.FStar_Tactics_Types.all_implicits); + (uu___416_2637.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = (FStar_List.append p.FStar_Tactics_Types.goals gs); FStar_Tactics_Types.smt_goals = - (uu___406_2567.FStar_Tactics_Types.smt_goals); + (uu___416_2637.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___406_2567.FStar_Tactics_Types.depth); + (uu___416_2637.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___406_2567.FStar_Tactics_Types.__dump); + (uu___416_2637.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___406_2567.FStar_Tactics_Types.psc); + (uu___416_2637.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___406_2567.FStar_Tactics_Types.entry_range); + (uu___416_2637.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___406_2567.FStar_Tactics_Types.guard_policy); + (uu___416_2637.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___406_2567.FStar_Tactics_Types.freshness); + (uu___416_2637.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___406_2567.FStar_Tactics_Types.tac_verb_dbg); + (uu___416_2637.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___406_2567.FStar_Tactics_Types.local_state) + (uu___416_2637.FStar_Tactics_Types.local_state) })) + let (push_smt_goals : FStar_Tactics_Types.goal Prims.list -> unit tac) = - fun gs -> + fun gs -> bind get - (fun p -> + (fun p -> FStar_List.iter check_valid_goal gs; set - (let uu___411_2588 = p in + (let uu___421_2658 = p in { FStar_Tactics_Types.main_context = - (uu___411_2588.FStar_Tactics_Types.main_context); + (uu___421_2658.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___411_2588.FStar_Tactics_Types.main_goal); + (uu___421_2658.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___411_2588.FStar_Tactics_Types.all_implicits); + (uu___421_2658.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = - (uu___411_2588.FStar_Tactics_Types.goals); + (uu___421_2658.FStar_Tactics_Types.goals); FStar_Tactics_Types.smt_goals = (FStar_List.append p.FStar_Tactics_Types.smt_goals gs); FStar_Tactics_Types.depth = - (uu___411_2588.FStar_Tactics_Types.depth); + (uu___421_2658.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___411_2588.FStar_Tactics_Types.__dump); + (uu___421_2658.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___411_2588.FStar_Tactics_Types.psc); + (uu___421_2658.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___411_2588.FStar_Tactics_Types.entry_range); + (uu___421_2658.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___411_2588.FStar_Tactics_Types.guard_policy); + (uu___421_2658.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___411_2588.FStar_Tactics_Types.freshness); + (uu___421_2658.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___411_2588.FStar_Tactics_Types.tac_verb_dbg); + (uu___421_2658.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___411_2588.FStar_Tactics_Types.local_state) + (uu___421_2658.FStar_Tactics_Types.local_state) })) + let (replace_cur : FStar_Tactics_Types.goal -> unit tac) = - fun g -> bind __dismiss (fun uu____2600 -> add_goals [g]) + fun g -> bind __dismiss (fun uu____2670 -> add_goals [g]) let (new_uvar : Prims.string -> env -> FStar_Reflection_Data.typ -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.ctx_uvar) tac) = - fun reason -> - fun env -> - fun typ -> - let uu____2631 = + fun reason -> + fun env -> + fun typ -> + let uu____2701 = FStar_TypeChecker_Env.new_implicit_var_aux reason typ.FStar_Syntax_Syntax.pos env typ - FStar_Syntax_Syntax.Allow_untyped FStar_Pervasives_Native.None in - match uu____2631 with - | (u, ctx_uvar, g_u) -> - let uu____2669 = - add_implicits g_u.FStar_TypeChecker_Env.implicits in - bind uu____2669 - (fun uu____2678 -> - let uu____2679 = - let uu____2684 = - let uu____2685 = FStar_List.hd ctx_uvar in - FStar_Pervasives_Native.fst uu____2685 in - (u, uu____2684) in - ret uu____2679) + FStar_Syntax_Syntax.Allow_untyped FStar_Pervasives_Native.None + in + match uu____2701 with + | (u,ctx_uvar,g_u) -> + let uu____2739 = + add_implicits g_u.FStar_TypeChecker_Env.implicits in + bind uu____2739 + (fun uu____2748 -> + let uu____2749 = + let uu____2754 = + let uu____2755 = FStar_List.hd ctx_uvar in + FStar_Pervasives_Native.fst uu____2755 in + (u, uu____2754) in + ret uu____2749) + let (is_true : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> - let t1 = FStar_Syntax_Util.unascribe t in - let uu____2706 = FStar_Syntax_Util.un_squash t1 in - match uu____2706 with + fun t -> + let t1 = FStar_Syntax_Util.unascribe t in + let uu____2776 = FStar_Syntax_Util.un_squash t1 in + match uu____2776 with | FStar_Pervasives_Native.Some t' -> - let t'1 = FStar_Syntax_Util.unascribe t' in - let uu____2718 = - let uu____2719 = FStar_Syntax_Subst.compress t'1 in - uu____2719.FStar_Syntax_Syntax.n in - (match uu____2718 with + let t'1 = FStar_Syntax_Util.unascribe t' in + let uu____2788 = + let uu____2789 = FStar_Syntax_Subst.compress t'1 in + uu____2789.FStar_Syntax_Syntax.n in + (match uu____2788 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.true_lid - | uu____2724 -> false) - | uu____2726 -> false + | uu____2794 -> false) + | uu____2796 -> false + let (is_false : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> - let uu____2739 = FStar_Syntax_Util.un_squash t in - match uu____2739 with + fun t -> + let uu____2809 = FStar_Syntax_Util.un_squash t in + match uu____2809 with | FStar_Pervasives_Native.Some t' -> - let uu____2750 = - let uu____2751 = FStar_Syntax_Subst.compress t' in - uu____2751.FStar_Syntax_Syntax.n in - (match uu____2750 with + let uu____2820 = + let uu____2821 = FStar_Syntax_Subst.compress t' in + uu____2821.FStar_Syntax_Syntax.n in + (match uu____2820 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.false_lid - | uu____2756 -> false) - | uu____2758 -> false + | uu____2826 -> false) + | uu____2828 -> false + let (cur_goal : unit -> FStar_Tactics_Types.goal tac) = - fun uu____2771 -> + fun uu____2841 -> bind get - (fun p -> + (fun p -> match p.FStar_Tactics_Types.goals with | [] -> fail "No more goals (1)" | hd1::tl1 -> - let uu____2783 = + let uu____2853 = FStar_Syntax_Unionfind.find - (hd1.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_head in - (match uu____2783 with - | FStar_Pervasives_Native.None -> ret hd1 + (hd1.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_head + in + (match uu____2853 with + | FStar_Pervasives_Native.None -> ret hd1 | FStar_Pervasives_Native.Some t -> - ((let uu____2790 = goal_to_string_verbose hd1 in - let uu____2792 = FStar_Syntax_Print.term_to_string t in + ((let uu____2860 = goal_to_string_verbose hd1 in + let uu____2862 = FStar_Syntax_Print.term_to_string t in FStar_Util.print2 "!!!!!!!!!!!! GOAL IS ALREADY SOLVED! %s\nsol is %s\n" - uu____2790 uu____2792); + uu____2860 uu____2862); ret hd1))) + let (tadmit_t : FStar_Syntax_Syntax.term -> unit tac) = - fun t -> - let uu____2805 = + fun t -> + let uu____2875 = bind get - (fun ps -> - let uu____2811 = cur_goal () in - bind uu____2811 - (fun g -> - (let uu____2818 = - let uu____2819 = FStar_Tactics_Types.goal_type g in - uu____2819.FStar_Syntax_Syntax.pos in - let uu____2822 = - let uu____2828 = - let uu____2830 = - goal_to_string "" FStar_Pervasives_Native.None ps g in + (fun ps -> + let uu____2881 = cur_goal () in + bind uu____2881 + (fun g -> + (let uu____2888 = + let uu____2889 = FStar_Tactics_Types.goal_type g in + uu____2889.FStar_Syntax_Syntax.pos in + let uu____2892 = + let uu____2898 = + let uu____2900 = + goal_to_string "" FStar_Pervasives_Native.None ps g + in FStar_Util.format1 "Tactics admitted goal <%s>\n\n" - uu____2830 in - (FStar_Errors.Warning_TacAdmit, uu____2828) in - FStar_Errors.log_issue uu____2818 uu____2822); - solve' g t)) in - FStar_All.pipe_left (wrap_err "tadmit_t") uu____2805 + uu____2900 + in + (FStar_Errors.Warning_TacAdmit, uu____2898) in + FStar_Errors.log_issue uu____2888 uu____2892); + solve' g t)) + in + FStar_All.pipe_left (wrap_err "tadmit_t") uu____2875 + let (fresh : unit -> FStar_BigInt.t tac) = - fun uu____2853 -> + fun uu____2923 -> bind get - (fun ps -> - let n1 = ps.FStar_Tactics_Types.freshness in + (fun ps -> + let n1 = ps.FStar_Tactics_Types.freshness in let ps1 = - let uu___456_2864 = ps in + let uu___466_2934 = ps in { FStar_Tactics_Types.main_context = - (uu___456_2864.FStar_Tactics_Types.main_context); + (uu___466_2934.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___456_2864.FStar_Tactics_Types.main_goal); + (uu___466_2934.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___456_2864.FStar_Tactics_Types.all_implicits); + (uu___466_2934.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = - (uu___456_2864.FStar_Tactics_Types.goals); + (uu___466_2934.FStar_Tactics_Types.goals); FStar_Tactics_Types.smt_goals = - (uu___456_2864.FStar_Tactics_Types.smt_goals); + (uu___466_2934.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___456_2864.FStar_Tactics_Types.depth); + (uu___466_2934.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___456_2864.FStar_Tactics_Types.__dump); + (uu___466_2934.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___456_2864.FStar_Tactics_Types.psc); + (uu___466_2934.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___456_2864.FStar_Tactics_Types.entry_range); + (uu___466_2934.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___456_2864.FStar_Tactics_Types.guard_policy); + (uu___466_2934.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = (n1 + (Prims.parse_int "1")); FStar_Tactics_Types.tac_verb_dbg = - (uu___456_2864.FStar_Tactics_Types.tac_verb_dbg); + (uu___466_2934.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___456_2864.FStar_Tactics_Types.local_state) - } in - let uu____2866 = set ps1 in - bind uu____2866 - (fun uu____2871 -> - let uu____2872 = FStar_BigInt.of_int_fs n1 in ret uu____2872)) + (uu___466_2934.FStar_Tactics_Types.local_state) + } in + let uu____2936 = set ps1 in + bind uu____2936 + (fun uu____2941 -> + let uu____2942 = FStar_BigInt.of_int_fs n1 in ret uu____2942)) + let (mk_irrelevant_goal : Prims.string -> env -> @@ -1271,888 +1399,937 @@ let (mk_irrelevant_goal : FStar_Options.optionstate -> Prims.string -> FStar_Tactics_Types.goal tac) = - fun reason -> - fun env -> - fun phi -> - fun opts -> - fun label1 -> + fun reason -> + fun env -> + fun phi -> + fun opts -> + fun label1 -> let typ = - let uu____2910 = env.FStar_TypeChecker_Env.universe_of env phi in - FStar_Syntax_Util.mk_squash uu____2910 phi in - let uu____2911 = new_uvar reason env typ in - bind uu____2911 - (fun uu____2926 -> - match uu____2926 with - | (uu____2933, ctx_uvar) -> + let uu____2980 = env.FStar_TypeChecker_Env.universe_of env phi + in + FStar_Syntax_Util.mk_squash uu____2980 phi in + let uu____2981 = new_uvar reason env typ in + bind uu____2981 + (fun uu____2996 -> + match uu____2996 with + | (uu____3003,ctx_uvar) -> let goal = FStar_Tactics_Types.mk_goal env ctx_uvar opts false - label1 in + label1 + in ret goal) + let (__tc : env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Reflection_Data.typ * FStar_TypeChecker_Env.guard_t) tac) = - fun e -> - fun t -> + fun e -> + fun t -> bind get - (fun ps -> + (fun ps -> mlog - (fun uu____2980 -> - let uu____2981 = FStar_Syntax_Print.term_to_string t in - FStar_Util.print1 "Tac> __tc(%s)\n" uu____2981) - (fun uu____2986 -> + (fun uu____3050 -> + let uu____3051 = FStar_Syntax_Print.term_to_string t in + FStar_Util.print1 "Tac> __tc(%s)\n" uu____3051) + (fun uu____3056 -> let e1 = - let uu___474_2988 = e in + let uu___484_3058 = e in { FStar_TypeChecker_Env.solver = - (uu___474_2988.FStar_TypeChecker_Env.solver); + (uu___484_3058.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___474_2988.FStar_TypeChecker_Env.range); + (uu___484_3058.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___474_2988.FStar_TypeChecker_Env.curmodule); + (uu___484_3058.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___474_2988.FStar_TypeChecker_Env.gamma); + (uu___484_3058.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___474_2988.FStar_TypeChecker_Env.gamma_sig); + (uu___484_3058.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___474_2988.FStar_TypeChecker_Env.gamma_cache); + (uu___484_3058.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___474_2988.FStar_TypeChecker_Env.modules); + (uu___484_3058.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___474_2988.FStar_TypeChecker_Env.expected_typ); + (uu___484_3058.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___474_2988.FStar_TypeChecker_Env.sigtab); + (uu___484_3058.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___474_2988.FStar_TypeChecker_Env.attrtab); + (uu___484_3058.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___474_2988.FStar_TypeChecker_Env.is_pattern); + (uu___484_3058.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___474_2988.FStar_TypeChecker_Env.instantiate_imp); + (uu___484_3058.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___474_2988.FStar_TypeChecker_Env.effects); + (uu___484_3058.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___474_2988.FStar_TypeChecker_Env.generalize); + (uu___484_3058.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___474_2988.FStar_TypeChecker_Env.letrecs); + (uu___484_3058.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___474_2988.FStar_TypeChecker_Env.top_level); + (uu___484_3058.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___474_2988.FStar_TypeChecker_Env.check_uvars); + (uu___484_3058.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___474_2988.FStar_TypeChecker_Env.use_eq); + (uu___484_3058.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___474_2988.FStar_TypeChecker_Env.is_iface); + (uu___484_3058.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___474_2988.FStar_TypeChecker_Env.admit); + (uu___484_3058.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___474_2988.FStar_TypeChecker_Env.lax); + (uu___484_3058.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___474_2988.FStar_TypeChecker_Env.lax_universes); + (uu___484_3058.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___474_2988.FStar_TypeChecker_Env.phase1); + (uu___484_3058.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___474_2988.FStar_TypeChecker_Env.failhard); + (uu___484_3058.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___474_2988.FStar_TypeChecker_Env.nosynth); + (uu___484_3058.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = false; FStar_TypeChecker_Env.tc_term = - (uu___474_2988.FStar_TypeChecker_Env.tc_term); + (uu___484_3058.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___474_2988.FStar_TypeChecker_Env.type_of); + (uu___484_3058.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___474_2988.FStar_TypeChecker_Env.universe_of); + (uu___484_3058.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___474_2988.FStar_TypeChecker_Env.check_type_of); + (uu___484_3058.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___474_2988.FStar_TypeChecker_Env.use_bv_sorts); + (uu___484_3058.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___474_2988.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___484_3058.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___474_2988.FStar_TypeChecker_Env.normalized_eff_names); + (uu___484_3058.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___474_2988.FStar_TypeChecker_Env.fv_delta_depths); + (uu___484_3058.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___474_2988.FStar_TypeChecker_Env.proof_ns); + (uu___484_3058.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___474_2988.FStar_TypeChecker_Env.synth_hook); + (uu___484_3058.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___474_2988.FStar_TypeChecker_Env.splice); + (uu___484_3058.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___474_2988.FStar_TypeChecker_Env.postprocess); + (uu___484_3058.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___474_2988.FStar_TypeChecker_Env.is_native_tactic); + (uu___484_3058.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___474_2988.FStar_TypeChecker_Env.identifier_info); + (uu___484_3058.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___474_2988.FStar_TypeChecker_Env.tc_hooks); + (uu___484_3058.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___474_2988.FStar_TypeChecker_Env.dsenv); + (uu___484_3058.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___474_2988.FStar_TypeChecker_Env.nbe) - } in + (uu___484_3058.FStar_TypeChecker_Env.nbe) + } in try - (fun uu___478_3000 -> + (fun uu___488_3070 -> match () with | () -> - let uu____3009 = - FStar_TypeChecker_TcTerm.type_of_tot_term e1 t in - ret uu____3009) () + let uu____3079 = + FStar_TypeChecker_TcTerm.type_of_tot_term e1 t in + ret uu____3079) () with - | FStar_Errors.Err (uu____3036, msg) -> - let uu____3040 = tts e1 t in - let uu____3042 = - let uu____3044 = FStar_TypeChecker_Env.all_binders e1 in - FStar_All.pipe_right uu____3044 - (FStar_Syntax_Print.binders_to_string ", ") in + | FStar_Errors.Err (uu____3106,msg) -> + let uu____3110 = tts e1 t in + let uu____3112 = + let uu____3114 = FStar_TypeChecker_Env.all_binders e1 + in + FStar_All.pipe_right uu____3114 + (FStar_Syntax_Print.binders_to_string ", ") + in fail3 "Cannot type %s in context (%s). Error = (%s)" - uu____3040 uu____3042 msg - | FStar_Errors.Error (uu____3054, msg, uu____3056) -> - let uu____3059 = tts e1 t in - let uu____3061 = - let uu____3063 = FStar_TypeChecker_Env.all_binders e1 in - FStar_All.pipe_right uu____3063 - (FStar_Syntax_Print.binders_to_string ", ") in + uu____3110 uu____3112 msg + | FStar_Errors.Error (uu____3124,msg,uu____3126) -> + let uu____3129 = tts e1 t in + let uu____3131 = + let uu____3133 = FStar_TypeChecker_Env.all_binders e1 + in + FStar_All.pipe_right uu____3133 + (FStar_Syntax_Print.binders_to_string ", ") + in fail3 "Cannot type %s in context (%s). Error = (%s)" - uu____3059 uu____3061 msg)) + uu____3129 uu____3131 msg)) + let (__tc_ghost : env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Reflection_Data.typ * FStar_TypeChecker_Env.guard_t) tac) = - fun e -> - fun t -> + fun e -> + fun t -> bind get - (fun ps -> + (fun ps -> mlog - (fun uu____3116 -> - let uu____3117 = FStar_Syntax_Print.term_to_string t in - FStar_Util.print1 "Tac> __tc_ghost(%s)\n" uu____3117) - (fun uu____3122 -> + (fun uu____3186 -> + let uu____3187 = FStar_Syntax_Print.term_to_string t in + FStar_Util.print1 "Tac> __tc_ghost(%s)\n" uu____3187) + (fun uu____3192 -> let e1 = - let uu___495_3124 = e in + let uu___505_3194 = e in { FStar_TypeChecker_Env.solver = - (uu___495_3124.FStar_TypeChecker_Env.solver); + (uu___505_3194.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___495_3124.FStar_TypeChecker_Env.range); + (uu___505_3194.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___495_3124.FStar_TypeChecker_Env.curmodule); + (uu___505_3194.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___495_3124.FStar_TypeChecker_Env.gamma); + (uu___505_3194.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___495_3124.FStar_TypeChecker_Env.gamma_sig); + (uu___505_3194.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___495_3124.FStar_TypeChecker_Env.gamma_cache); + (uu___505_3194.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___495_3124.FStar_TypeChecker_Env.modules); + (uu___505_3194.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___495_3124.FStar_TypeChecker_Env.expected_typ); + (uu___505_3194.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___495_3124.FStar_TypeChecker_Env.sigtab); + (uu___505_3194.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___495_3124.FStar_TypeChecker_Env.attrtab); + (uu___505_3194.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___495_3124.FStar_TypeChecker_Env.is_pattern); + (uu___505_3194.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___495_3124.FStar_TypeChecker_Env.instantiate_imp); + (uu___505_3194.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___495_3124.FStar_TypeChecker_Env.effects); + (uu___505_3194.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___495_3124.FStar_TypeChecker_Env.generalize); + (uu___505_3194.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___495_3124.FStar_TypeChecker_Env.letrecs); + (uu___505_3194.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___495_3124.FStar_TypeChecker_Env.top_level); + (uu___505_3194.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___495_3124.FStar_TypeChecker_Env.check_uvars); + (uu___505_3194.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___495_3124.FStar_TypeChecker_Env.use_eq); + (uu___505_3194.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___495_3124.FStar_TypeChecker_Env.is_iface); + (uu___505_3194.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___495_3124.FStar_TypeChecker_Env.admit); + (uu___505_3194.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___495_3124.FStar_TypeChecker_Env.lax); + (uu___505_3194.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___495_3124.FStar_TypeChecker_Env.lax_universes); + (uu___505_3194.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___495_3124.FStar_TypeChecker_Env.phase1); + (uu___505_3194.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___495_3124.FStar_TypeChecker_Env.failhard); + (uu___505_3194.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___495_3124.FStar_TypeChecker_Env.nosynth); + (uu___505_3194.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = false; FStar_TypeChecker_Env.tc_term = - (uu___495_3124.FStar_TypeChecker_Env.tc_term); + (uu___505_3194.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___495_3124.FStar_TypeChecker_Env.type_of); + (uu___505_3194.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___495_3124.FStar_TypeChecker_Env.universe_of); + (uu___505_3194.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___495_3124.FStar_TypeChecker_Env.check_type_of); + (uu___505_3194.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___495_3124.FStar_TypeChecker_Env.use_bv_sorts); + (uu___505_3194.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___495_3124.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___505_3194.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___495_3124.FStar_TypeChecker_Env.normalized_eff_names); + (uu___505_3194.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___495_3124.FStar_TypeChecker_Env.fv_delta_depths); + (uu___505_3194.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___495_3124.FStar_TypeChecker_Env.proof_ns); + (uu___505_3194.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___495_3124.FStar_TypeChecker_Env.synth_hook); + (uu___505_3194.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___495_3124.FStar_TypeChecker_Env.splice); + (uu___505_3194.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___495_3124.FStar_TypeChecker_Env.postprocess); + (uu___505_3194.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___495_3124.FStar_TypeChecker_Env.is_native_tactic); + (uu___505_3194.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___495_3124.FStar_TypeChecker_Env.identifier_info); + (uu___505_3194.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___495_3124.FStar_TypeChecker_Env.tc_hooks); + (uu___505_3194.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___495_3124.FStar_TypeChecker_Env.dsenv); + (uu___505_3194.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___495_3124.FStar_TypeChecker_Env.nbe) - } in + (uu___505_3194.FStar_TypeChecker_Env.nbe) + } in try - (fun uu___499_3139 -> + (fun uu___509_3209 -> match () with | () -> - let uu____3148 = - FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term e1 t in - (match uu____3148 with - | (t1, lc, g) -> + let uu____3218 = + FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term e1 t + in + (match uu____3218 with + | (t1,lc,g) -> ret (t1, (lc.FStar_Syntax_Syntax.res_typ), g))) () with - | FStar_Errors.Err (uu____3186, msg) -> - let uu____3190 = tts e1 t in - let uu____3192 = - let uu____3194 = FStar_TypeChecker_Env.all_binders e1 in - FStar_All.pipe_right uu____3194 - (FStar_Syntax_Print.binders_to_string ", ") in + | FStar_Errors.Err (uu____3256,msg) -> + let uu____3260 = tts e1 t in + let uu____3262 = + let uu____3264 = FStar_TypeChecker_Env.all_binders e1 + in + FStar_All.pipe_right uu____3264 + (FStar_Syntax_Print.binders_to_string ", ") + in fail3 "Cannot type %s in context (%s). Error = (%s)" - uu____3190 uu____3192 msg - | FStar_Errors.Error (uu____3204, msg, uu____3206) -> - let uu____3209 = tts e1 t in - let uu____3211 = - let uu____3213 = FStar_TypeChecker_Env.all_binders e1 in - FStar_All.pipe_right uu____3213 - (FStar_Syntax_Print.binders_to_string ", ") in + uu____3260 uu____3262 msg + | FStar_Errors.Error (uu____3274,msg,uu____3276) -> + let uu____3279 = tts e1 t in + let uu____3281 = + let uu____3283 = FStar_TypeChecker_Env.all_binders e1 + in + FStar_All.pipe_right uu____3283 + (FStar_Syntax_Print.binders_to_string ", ") + in fail3 "Cannot type %s in context (%s). Error = (%s)" - uu____3209 uu____3211 msg)) + uu____3279 uu____3281 msg)) + let (__tc_lax : env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t) tac) = - fun e -> - fun t -> + fun e -> + fun t -> bind get - (fun ps -> + (fun ps -> mlog - (fun uu____3266 -> - let uu____3267 = FStar_Syntax_Print.term_to_string t in - FStar_Util.print1 "Tac> __tc(%s)\n" uu____3267) - (fun uu____3273 -> + (fun uu____3336 -> + let uu____3337 = FStar_Syntax_Print.term_to_string t in + FStar_Util.print1 "Tac> __tc(%s)\n" uu____3337) + (fun uu____3343 -> let e1 = - let uu___520_3275 = e in + let uu___530_3345 = e in { FStar_TypeChecker_Env.solver = - (uu___520_3275.FStar_TypeChecker_Env.solver); + (uu___530_3345.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___520_3275.FStar_TypeChecker_Env.range); + (uu___530_3345.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___520_3275.FStar_TypeChecker_Env.curmodule); + (uu___530_3345.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___520_3275.FStar_TypeChecker_Env.gamma); + (uu___530_3345.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___520_3275.FStar_TypeChecker_Env.gamma_sig); + (uu___530_3345.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___520_3275.FStar_TypeChecker_Env.gamma_cache); + (uu___530_3345.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___520_3275.FStar_TypeChecker_Env.modules); + (uu___530_3345.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___520_3275.FStar_TypeChecker_Env.expected_typ); + (uu___530_3345.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___520_3275.FStar_TypeChecker_Env.sigtab); + (uu___530_3345.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___520_3275.FStar_TypeChecker_Env.attrtab); + (uu___530_3345.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___520_3275.FStar_TypeChecker_Env.is_pattern); + (uu___530_3345.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___520_3275.FStar_TypeChecker_Env.instantiate_imp); + (uu___530_3345.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___520_3275.FStar_TypeChecker_Env.effects); + (uu___530_3345.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___520_3275.FStar_TypeChecker_Env.generalize); + (uu___530_3345.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___520_3275.FStar_TypeChecker_Env.letrecs); + (uu___530_3345.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___520_3275.FStar_TypeChecker_Env.top_level); + (uu___530_3345.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___520_3275.FStar_TypeChecker_Env.check_uvars); + (uu___530_3345.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___520_3275.FStar_TypeChecker_Env.use_eq); + (uu___530_3345.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___520_3275.FStar_TypeChecker_Env.is_iface); + (uu___530_3345.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___520_3275.FStar_TypeChecker_Env.admit); + (uu___530_3345.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___520_3275.FStar_TypeChecker_Env.lax); + (uu___530_3345.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___520_3275.FStar_TypeChecker_Env.lax_universes); + (uu___530_3345.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___520_3275.FStar_TypeChecker_Env.phase1); + (uu___530_3345.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___520_3275.FStar_TypeChecker_Env.failhard); + (uu___530_3345.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___520_3275.FStar_TypeChecker_Env.nosynth); + (uu___530_3345.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = false; FStar_TypeChecker_Env.tc_term = - (uu___520_3275.FStar_TypeChecker_Env.tc_term); + (uu___530_3345.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___520_3275.FStar_TypeChecker_Env.type_of); + (uu___530_3345.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___520_3275.FStar_TypeChecker_Env.universe_of); + (uu___530_3345.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___520_3275.FStar_TypeChecker_Env.check_type_of); + (uu___530_3345.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___520_3275.FStar_TypeChecker_Env.use_bv_sorts); + (uu___530_3345.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___520_3275.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___530_3345.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___520_3275.FStar_TypeChecker_Env.normalized_eff_names); + (uu___530_3345.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___520_3275.FStar_TypeChecker_Env.fv_delta_depths); + (uu___530_3345.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___520_3275.FStar_TypeChecker_Env.proof_ns); + (uu___530_3345.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___520_3275.FStar_TypeChecker_Env.synth_hook); + (uu___530_3345.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___520_3275.FStar_TypeChecker_Env.splice); + (uu___530_3345.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___520_3275.FStar_TypeChecker_Env.postprocess); + (uu___530_3345.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___520_3275.FStar_TypeChecker_Env.is_native_tactic); + (uu___530_3345.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___520_3275.FStar_TypeChecker_Env.identifier_info); + (uu___530_3345.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___520_3275.FStar_TypeChecker_Env.tc_hooks); + (uu___530_3345.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___520_3275.FStar_TypeChecker_Env.dsenv); + (uu___530_3345.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___520_3275.FStar_TypeChecker_Env.nbe) - } in + (uu___530_3345.FStar_TypeChecker_Env.nbe) + } in let e2 = - let uu___523_3278 = e1 in + let uu___533_3348 = e1 in { FStar_TypeChecker_Env.solver = - (uu___523_3278.FStar_TypeChecker_Env.solver); + (uu___533_3348.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___523_3278.FStar_TypeChecker_Env.range); + (uu___533_3348.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___523_3278.FStar_TypeChecker_Env.curmodule); + (uu___533_3348.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___523_3278.FStar_TypeChecker_Env.gamma); + (uu___533_3348.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___523_3278.FStar_TypeChecker_Env.gamma_sig); + (uu___533_3348.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___523_3278.FStar_TypeChecker_Env.gamma_cache); + (uu___533_3348.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___523_3278.FStar_TypeChecker_Env.modules); + (uu___533_3348.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___523_3278.FStar_TypeChecker_Env.expected_typ); + (uu___533_3348.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___523_3278.FStar_TypeChecker_Env.sigtab); + (uu___533_3348.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___523_3278.FStar_TypeChecker_Env.attrtab); + (uu___533_3348.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___523_3278.FStar_TypeChecker_Env.is_pattern); + (uu___533_3348.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___523_3278.FStar_TypeChecker_Env.instantiate_imp); + (uu___533_3348.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___523_3278.FStar_TypeChecker_Env.effects); + (uu___533_3348.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___523_3278.FStar_TypeChecker_Env.generalize); + (uu___533_3348.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___523_3278.FStar_TypeChecker_Env.letrecs); + (uu___533_3348.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___523_3278.FStar_TypeChecker_Env.top_level); + (uu___533_3348.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___523_3278.FStar_TypeChecker_Env.check_uvars); + (uu___533_3348.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___523_3278.FStar_TypeChecker_Env.use_eq); + (uu___533_3348.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___523_3278.FStar_TypeChecker_Env.is_iface); + (uu___533_3348.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___523_3278.FStar_TypeChecker_Env.admit); + (uu___533_3348.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___523_3278.FStar_TypeChecker_Env.lax_universes); + (uu___533_3348.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___523_3278.FStar_TypeChecker_Env.phase1); + (uu___533_3348.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___523_3278.FStar_TypeChecker_Env.failhard); + (uu___533_3348.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___523_3278.FStar_TypeChecker_Env.nosynth); + (uu___533_3348.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___523_3278.FStar_TypeChecker_Env.uvar_subtyping); + (uu___533_3348.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___523_3278.FStar_TypeChecker_Env.tc_term); + (uu___533_3348.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___523_3278.FStar_TypeChecker_Env.type_of); + (uu___533_3348.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___523_3278.FStar_TypeChecker_Env.universe_of); + (uu___533_3348.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___523_3278.FStar_TypeChecker_Env.check_type_of); + (uu___533_3348.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___523_3278.FStar_TypeChecker_Env.use_bv_sorts); + (uu___533_3348.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___523_3278.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___533_3348.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___523_3278.FStar_TypeChecker_Env.normalized_eff_names); + (uu___533_3348.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___523_3278.FStar_TypeChecker_Env.fv_delta_depths); + (uu___533_3348.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___523_3278.FStar_TypeChecker_Env.proof_ns); + (uu___533_3348.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___523_3278.FStar_TypeChecker_Env.synth_hook); + (uu___533_3348.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___523_3278.FStar_TypeChecker_Env.splice); + (uu___533_3348.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___523_3278.FStar_TypeChecker_Env.postprocess); + (uu___533_3348.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___523_3278.FStar_TypeChecker_Env.is_native_tactic); + (uu___533_3348.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___523_3278.FStar_TypeChecker_Env.identifier_info); + (uu___533_3348.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___523_3278.FStar_TypeChecker_Env.tc_hooks); + (uu___533_3348.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___523_3278.FStar_TypeChecker_Env.dsenv); + (uu___533_3348.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___523_3278.FStar_TypeChecker_Env.nbe) - } in + (uu___533_3348.FStar_TypeChecker_Env.nbe) + } in try - (fun uu___527_3290 -> + (fun uu___537_3360 -> match () with | () -> - let uu____3299 = - FStar_TypeChecker_TcTerm.tc_term e2 t in - ret uu____3299) () + let uu____3369 = + FStar_TypeChecker_TcTerm.tc_term e2 t in + ret uu____3369) () with - | FStar_Errors.Err (uu____3326, msg) -> - let uu____3330 = tts e2 t in - let uu____3332 = - let uu____3334 = FStar_TypeChecker_Env.all_binders e2 in - FStar_All.pipe_right uu____3334 - (FStar_Syntax_Print.binders_to_string ", ") in + | FStar_Errors.Err (uu____3396,msg) -> + let uu____3400 = tts e2 t in + let uu____3402 = + let uu____3404 = FStar_TypeChecker_Env.all_binders e2 + in + FStar_All.pipe_right uu____3404 + (FStar_Syntax_Print.binders_to_string ", ") + in fail3 "Cannot type %s in context (%s). Error = (%s)" - uu____3330 uu____3332 msg - | FStar_Errors.Error (uu____3344, msg, uu____3346) -> - let uu____3349 = tts e2 t in - let uu____3351 = - let uu____3353 = FStar_TypeChecker_Env.all_binders e2 in - FStar_All.pipe_right uu____3353 - (FStar_Syntax_Print.binders_to_string ", ") in + uu____3400 uu____3402 msg + | FStar_Errors.Error (uu____3414,msg,uu____3416) -> + let uu____3419 = tts e2 t in + let uu____3421 = + let uu____3423 = FStar_TypeChecker_Env.all_binders e2 + in + FStar_All.pipe_right uu____3423 + (FStar_Syntax_Print.binders_to_string ", ") + in fail3 "Cannot type %s in context (%s). Error = (%s)" - uu____3349 uu____3351 msg)) + uu____3419 uu____3421 msg)) + let (istrivial : env -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun e -> - fun t -> + fun e -> + fun t -> let steps = [FStar_TypeChecker_Env.Reify; FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Simplify; FStar_TypeChecker_Env.UnfoldTac; - FStar_TypeChecker_Env.Unmeta] in - let t1 = normalize steps e t in is_true t1 + FStar_TypeChecker_Env.Unmeta] in + let t1 = normalize steps e t in is_true t1 + let (get_guard_policy : unit -> FStar_Tactics_Types.guard_policy tac) = - fun uu____3387 -> - bind get (fun ps -> ret ps.FStar_Tactics_Types.guard_policy) + fun uu____3457 -> + bind get (fun ps -> ret ps.FStar_Tactics_Types.guard_policy) + let (set_guard_policy : FStar_Tactics_Types.guard_policy -> unit tac) = - fun pol -> + fun pol -> bind get - (fun ps -> + (fun ps -> set - (let uu___548_3406 = ps in + (let uu___558_3476 = ps in { FStar_Tactics_Types.main_context = - (uu___548_3406.FStar_Tactics_Types.main_context); + (uu___558_3476.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___548_3406.FStar_Tactics_Types.main_goal); + (uu___558_3476.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___548_3406.FStar_Tactics_Types.all_implicits); + (uu___558_3476.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = - (uu___548_3406.FStar_Tactics_Types.goals); + (uu___558_3476.FStar_Tactics_Types.goals); FStar_Tactics_Types.smt_goals = - (uu___548_3406.FStar_Tactics_Types.smt_goals); + (uu___558_3476.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___548_3406.FStar_Tactics_Types.depth); + (uu___558_3476.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___548_3406.FStar_Tactics_Types.__dump); + (uu___558_3476.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___548_3406.FStar_Tactics_Types.psc); + (uu___558_3476.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___548_3406.FStar_Tactics_Types.entry_range); + (uu___558_3476.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = pol; FStar_Tactics_Types.freshness = - (uu___548_3406.FStar_Tactics_Types.freshness); + (uu___558_3476.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___548_3406.FStar_Tactics_Types.tac_verb_dbg); + (uu___558_3476.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___548_3406.FStar_Tactics_Types.local_state) + (uu___558_3476.FStar_Tactics_Types.local_state) })) + let with_policy : 'a . FStar_Tactics_Types.guard_policy -> 'a tac -> 'a tac = - fun pol -> - fun t -> - let uu____3431 = get_guard_policy () in - bind uu____3431 - (fun old_pol -> - let uu____3437 = set_guard_policy pol in - bind uu____3437 - (fun uu____3441 -> + fun pol -> + fun t -> + let uu____3501 = get_guard_policy () in + bind uu____3501 + (fun old_pol -> + let uu____3507 = set_guard_policy pol in + bind uu____3507 + (fun uu____3511 -> bind t - (fun r -> - let uu____3445 = set_guard_policy old_pol in - bind uu____3445 (fun uu____3449 -> ret r)))) + (fun r -> + let uu____3515 = set_guard_policy old_pol in + bind uu____3515 (fun uu____3519 -> ret r)))) + let (getopts : FStar_Options.optionstate tac) = - let uu____3453 = let uu____3458 = cur_goal () in trytac uu____3458 in - bind uu____3453 - (fun uu___0_3465 -> - match uu___0_3465 with + let uu____3523 = let uu____3528 = cur_goal () in trytac uu____3528 in + bind uu____3523 + (fun uu___0_3535 -> + match uu___0_3535 with | FStar_Pervasives_Native.Some g -> ret g.FStar_Tactics_Types.opts - | FStar_Pervasives_Native.None -> - let uu____3471 = FStar_Options.peek () in ret uu____3471) + | FStar_Pervasives_Native.None -> + let uu____3541 = FStar_Options.peek () in ret uu____3541) + let (proc_guard : Prims.string -> env -> FStar_TypeChecker_Env.guard_t -> unit tac) = - fun reason -> - fun e -> - fun g -> + fun reason -> + fun e -> + fun g -> mlog - (fun uu____3496 -> - let uu____3497 = FStar_TypeChecker_Rel.guard_to_string e g in - FStar_Util.print2 "Processing guard (%s:%s)\n" reason uu____3497) - (fun uu____3502 -> - let uu____3503 = add_implicits g.FStar_TypeChecker_Env.implicits in - bind uu____3503 - (fun uu____3507 -> + (fun uu____3566 -> + let uu____3567 = FStar_TypeChecker_Rel.guard_to_string e g in + FStar_Util.print2 "Processing guard (%s:%s)\n" reason uu____3567) + (fun uu____3572 -> + let uu____3573 = add_implicits g.FStar_TypeChecker_Env.implicits + in + bind uu____3573 + (fun uu____3577 -> bind getopts - (fun opts -> - let uu____3511 = - let uu____3512 = - FStar_TypeChecker_Rel.simplify_guard e g in - uu____3512.FStar_TypeChecker_Env.guard_f in - match uu____3511 with - | FStar_TypeChecker_Common.Trivial -> ret () + (fun opts -> + let uu____3581 = + let uu____3582 = + FStar_TypeChecker_Rel.simplify_guard e g in + uu____3582.FStar_TypeChecker_Env.guard_f in + match uu____3581 with + | FStar_TypeChecker_Common.Trivial -> ret () | FStar_TypeChecker_Common.NonTrivial f -> - let uu____3516 = istrivial e f in - if uu____3516 + let uu____3586 = istrivial e f in + if uu____3586 then ret () else bind get - (fun ps -> + (fun ps -> match ps.FStar_Tactics_Types.guard_policy with - | FStar_Tactics_Types.Drop -> - ((let uu____3529 = - let uu____3535 = - let uu____3537 = + | FStar_Tactics_Types.Drop -> + ((let uu____3599 = + let uu____3605 = + let uu____3607 = FStar_TypeChecker_Rel.guard_to_string - e g in + e g + in FStar_Util.format1 "Tactics admitted guard <%s>\n\n" - uu____3537 in + uu____3607 + in (FStar_Errors.Warning_TacAdmit, - uu____3535) in + uu____3605) + in FStar_Errors.log_issue e.FStar_TypeChecker_Env.range - uu____3529); + uu____3599); ret ()) - | FStar_Tactics_Types.Goal -> + | FStar_Tactics_Types.Goal -> mlog - (fun uu____3543 -> - let uu____3544 = + (fun uu____3613 -> + let uu____3614 = FStar_TypeChecker_Rel.guard_to_string - e g in + e g + in FStar_Util.print2 "Making guard (%s:%s) into a goal\n" - reason uu____3544) - (fun uu____3549 -> - let uu____3550 = + reason uu____3614) + (fun uu____3619 -> + let uu____3620 = mk_irrelevant_goal reason e f - opts "" in - bind uu____3550 - (fun goal -> + opts "" + in + bind uu____3620 + (fun goal -> let goal1 = - let uu___577_3558 = goal in + let uu___587_3628 = goal + in { FStar_Tactics_Types.goal_main_env = - (uu___577_3558.FStar_Tactics_Types.goal_main_env); + (uu___587_3628.FStar_Tactics_Types.goal_main_env); FStar_Tactics_Types.goal_ctx_uvar = - (uu___577_3558.FStar_Tactics_Types.goal_ctx_uvar); + (uu___587_3628.FStar_Tactics_Types.goal_ctx_uvar); FStar_Tactics_Types.opts = - (uu___577_3558.FStar_Tactics_Types.opts); + (uu___587_3628.FStar_Tactics_Types.opts); FStar_Tactics_Types.is_guard = true; FStar_Tactics_Types.label = - (uu___577_3558.FStar_Tactics_Types.label) - } in + (uu___587_3628.FStar_Tactics_Types.label) + } in push_goals [goal1])) - | FStar_Tactics_Types.SMT -> + | FStar_Tactics_Types.SMT -> mlog - (fun uu____3562 -> - let uu____3563 = + (fun uu____3632 -> + let uu____3633 = FStar_TypeChecker_Rel.guard_to_string - e g in + e g + in FStar_Util.print2 "Sending guard (%s:%s) to SMT goal\n" - reason uu____3563) - (fun uu____3568 -> - let uu____3569 = + reason uu____3633) + (fun uu____3638 -> + let uu____3639 = mk_irrelevant_goal reason e f - opts "" in - bind uu____3569 - (fun goal -> + opts "" + in + bind uu____3639 + (fun goal -> let goal1 = - let uu___584_3577 = goal in + let uu___594_3647 = goal + in { FStar_Tactics_Types.goal_main_env = - (uu___584_3577.FStar_Tactics_Types.goal_main_env); + (uu___594_3647.FStar_Tactics_Types.goal_main_env); FStar_Tactics_Types.goal_ctx_uvar = - (uu___584_3577.FStar_Tactics_Types.goal_ctx_uvar); + (uu___594_3647.FStar_Tactics_Types.goal_ctx_uvar); FStar_Tactics_Types.opts = - (uu___584_3577.FStar_Tactics_Types.opts); + (uu___594_3647.FStar_Tactics_Types.opts); FStar_Tactics_Types.is_guard = true; FStar_Tactics_Types.label = - (uu___584_3577.FStar_Tactics_Types.label) - } in + (uu___594_3647.FStar_Tactics_Types.label) + } in push_smt_goals [goal1])) - | FStar_Tactics_Types.Force -> + | FStar_Tactics_Types.Force -> mlog - (fun uu____3581 -> - let uu____3582 = + (fun uu____3651 -> + let uu____3652 = FStar_TypeChecker_Rel.guard_to_string - e g in + e g + in FStar_Util.print2 "Forcing guard (%s:%s)\n" reason - uu____3582) - (fun uu____3586 -> + uu____3652) + (fun uu____3656 -> try - (fun uu___591_3591 -> + (fun uu___601_3661 -> match () with | () -> - let uu____3594 = - let uu____3596 = - let uu____3598 = + let uu____3664 = + let uu____3666 = + let uu____3668 = FStar_TypeChecker_Rel.discharge_guard_no_smt - e g in + e g + in FStar_All.pipe_left FStar_TypeChecker_Env.is_trivial - uu____3598 in + uu____3668 + in Prims.op_Negation - uu____3596 in - if uu____3594 + uu____3666 + in + if uu____3664 then mlog - (fun uu____3605 -> - let uu____3606 = + (fun uu____3675 -> + let uu____3676 = FStar_TypeChecker_Rel.guard_to_string - e g in + e g + in FStar_Util.print1 "guard = %s\n" - uu____3606) - (fun uu____3610 -> + uu____3676) + (fun uu____3680 -> fail1 "Forcing the guard failed (%s)" reason) else ret ()) () with - | uu___590_3615 -> + | uu___600_3685 -> mlog - (fun uu____3620 -> - let uu____3621 = + (fun uu____3690 -> + let uu____3691 = FStar_TypeChecker_Rel.guard_to_string - e g in + e g + in FStar_Util.print1 "guard = %s\n" - uu____3621) - (fun uu____3625 -> + uu____3691) + (fun uu____3695 -> fail1 "Forcing the guard failed (%s)" reason)))))) + let (tcc : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.comp tac) = - fun t -> - let uu____3637 = - let uu____3640 = cur_goal () in - bind uu____3640 - (fun goal -> - let uu____3646 = - let uu____3655 = FStar_Tactics_Types.goal_env goal in - __tc_lax uu____3655 t in - bind uu____3646 - (fun uu____3667 -> - match uu____3667 with - | (uu____3676, lc, uu____3678) -> - let uu____3679 = FStar_Syntax_Syntax.lcomp_comp lc in - ret uu____3679)) in - FStar_All.pipe_left (wrap_err "tcc") uu____3637 + fun t -> + let uu____3707 = + let uu____3710 = cur_goal () in + bind uu____3710 + (fun goal -> + let uu____3716 = + let uu____3725 = FStar_Tactics_Types.goal_env goal in + __tc_lax uu____3725 t in + bind uu____3716 + (fun uu____3737 -> + match uu____3737 with + | (uu____3746,lc,uu____3748) -> + let uu____3749 = FStar_Syntax_Syntax.lcomp_comp lc in + ret uu____3749)) + in + FStar_All.pipe_left (wrap_err "tcc") uu____3707 + let (tc : FStar_Syntax_Syntax.term -> FStar_Reflection_Data.typ tac) = - fun t -> - let uu____3695 = - let uu____3700 = tcc t in - bind uu____3700 (fun c -> ret (FStar_Syntax_Util.comp_result c)) in - FStar_All.pipe_left (wrap_err "tc") uu____3695 + fun t -> + let uu____3765 = + let uu____3770 = tcc t in + bind uu____3770 (fun c -> ret (FStar_Syntax_Util.comp_result c)) in + FStar_All.pipe_left (wrap_err "tc") uu____3765 + let (add_irrelevant_goal : Prims.string -> env -> FStar_Reflection_Data.typ -> FStar_Options.optionstate -> Prims.string -> unit tac) = - fun reason -> - fun env -> - fun phi -> - fun opts -> - fun label1 -> - let uu____3752 = mk_irrelevant_goal reason env phi opts label1 in - bind uu____3752 (fun goal -> add_goals [goal]) + fun reason -> + fun env -> + fun phi -> + fun opts -> + fun label1 -> + let uu____3822 = mk_irrelevant_goal reason env phi opts label1 + in + bind uu____3822 (fun goal -> add_goals [goal]) + let (trivial : unit -> unit tac) = - fun uu____3764 -> - let uu____3767 = cur_goal () in - bind uu____3767 - (fun goal -> - let uu____3773 = - let uu____3775 = FStar_Tactics_Types.goal_env goal in - let uu____3776 = FStar_Tactics_Types.goal_type goal in - istrivial uu____3775 uu____3776 in - if uu____3773 + fun uu____3834 -> + let uu____3837 = cur_goal () in + bind uu____3837 + (fun goal -> + let uu____3843 = + let uu____3845 = FStar_Tactics_Types.goal_env goal in + let uu____3846 = FStar_Tactics_Types.goal_type goal in + istrivial uu____3845 uu____3846 in + if uu____3843 then solve' goal FStar_Syntax_Util.exp_unit else - (let uu____3782 = - let uu____3784 = FStar_Tactics_Types.goal_env goal in - let uu____3785 = FStar_Tactics_Types.goal_type goal in - tts uu____3784 uu____3785 in - fail1 "Not a trivial goal: %s" uu____3782)) + (let uu____3852 = + let uu____3854 = FStar_Tactics_Types.goal_env goal in + let uu____3855 = FStar_Tactics_Types.goal_type goal in + tts uu____3854 uu____3855 in + fail1 "Not a trivial goal: %s" uu____3852)) + let divide : 'a 'b . FStar_BigInt.t -> 'a tac -> 'b tac -> ('a * 'b) tac = - fun n1 -> - fun l -> - fun r -> + fun n1 -> + fun l -> + fun r -> bind get - (fun p -> - let uu____3836 = + (fun p -> + let uu____3906 = try - (fun uu___649_3859 -> + (fun uu___659_3929 -> match () with | () -> - let uu____3870 = - let uu____3879 = FStar_BigInt.to_int_fs n1 in - FStar_List.splitAt uu____3879 - p.FStar_Tactics_Types.goals in - ret uu____3870) () - with | uu___648_3890 -> fail "divide: not enough goals" in - bind uu____3836 - (fun uu____3927 -> - match uu____3927 with - | (lgs, rgs) -> + let uu____3940 = + let uu____3949 = FStar_BigInt.to_int_fs n1 in + FStar_List.splitAt uu____3949 + p.FStar_Tactics_Types.goals + in + ret uu____3940) () + with | uu___658_3960 -> fail "divide: not enough goals" in + bind uu____3906 + (fun uu____3997 -> + match uu____3997 with + | (lgs,rgs) -> let lp = - let uu___631_3953 = p in + let uu___641_4023 = p in { FStar_Tactics_Types.main_context = - (uu___631_3953.FStar_Tactics_Types.main_context); + (uu___641_4023.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___631_3953.FStar_Tactics_Types.main_goal); + (uu___641_4023.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___631_3953.FStar_Tactics_Types.all_implicits); + (uu___641_4023.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = lgs; FStar_Tactics_Types.smt_goals = []; FStar_Tactics_Types.depth = - (uu___631_3953.FStar_Tactics_Types.depth); + (uu___641_4023.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___631_3953.FStar_Tactics_Types.__dump); + (uu___641_4023.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___631_3953.FStar_Tactics_Types.psc); + (uu___641_4023.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___631_3953.FStar_Tactics_Types.entry_range); + (uu___641_4023.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___631_3953.FStar_Tactics_Types.guard_policy); + (uu___641_4023.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___631_3953.FStar_Tactics_Types.freshness); + (uu___641_4023.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___631_3953.FStar_Tactics_Types.tac_verb_dbg); + (uu___641_4023.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___631_3953.FStar_Tactics_Types.local_state) - } in - let uu____3954 = set lp in - bind uu____3954 - (fun uu____3962 -> + (uu___641_4023.FStar_Tactics_Types.local_state) + } in + let uu____4024 = set lp in + bind uu____4024 + (fun uu____4032 -> bind l - (fun a -> + (fun a -> bind get - (fun lp' -> + (fun lp' -> let rp = - let uu___637_3978 = lp' in + let uu___647_4048 = lp' in { FStar_Tactics_Types.main_context = - (uu___637_3978.FStar_Tactics_Types.main_context); + (uu___647_4048.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___637_3978.FStar_Tactics_Types.main_goal); + (uu___647_4048.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___637_3978.FStar_Tactics_Types.all_implicits); + (uu___647_4048.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = rgs; FStar_Tactics_Types.smt_goals = []; FStar_Tactics_Types.depth = - (uu___637_3978.FStar_Tactics_Types.depth); + (uu___647_4048.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___637_3978.FStar_Tactics_Types.__dump); + (uu___647_4048.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___637_3978.FStar_Tactics_Types.psc); + (uu___647_4048.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___637_3978.FStar_Tactics_Types.entry_range); + (uu___647_4048.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___637_3978.FStar_Tactics_Types.guard_policy); + (uu___647_4048.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___637_3978.FStar_Tactics_Types.freshness); + (uu___647_4048.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___637_3978.FStar_Tactics_Types.tac_verb_dbg); + (uu___647_4048.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___637_3978.FStar_Tactics_Types.local_state) - } in - let uu____3979 = set rp in - bind uu____3979 - (fun uu____3987 -> + (uu___647_4048.FStar_Tactics_Types.local_state) + } in + let uu____4049 = set rp in + bind uu____4049 + (fun uu____4057 -> bind r - (fun b -> + (fun b -> bind get - (fun rp' -> + (fun rp' -> let p' = - let uu___643_4003 = rp' in + let uu___653_4073 = rp' + in { FStar_Tactics_Types.main_context = - (uu___643_4003.FStar_Tactics_Types.main_context); + (uu___653_4073.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___643_4003.FStar_Tactics_Types.main_goal); + (uu___653_4073.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___643_4003.FStar_Tactics_Types.all_implicits); + (uu___653_4073.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = (FStar_List.append @@ -2167,742 +2344,851 @@ let divide : 'a 'b . FStar_BigInt.t -> 'a tac -> 'b tac -> ('a * 'b) tac = p.FStar_Tactics_Types.smt_goals)); FStar_Tactics_Types.depth = - (uu___643_4003.FStar_Tactics_Types.depth); + (uu___653_4073.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___643_4003.FStar_Tactics_Types.__dump); + (uu___653_4073.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___643_4003.FStar_Tactics_Types.psc); + (uu___653_4073.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___643_4003.FStar_Tactics_Types.entry_range); + (uu___653_4073.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___643_4003.FStar_Tactics_Types.guard_policy); + (uu___653_4073.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___643_4003.FStar_Tactics_Types.freshness); + (uu___653_4073.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___643_4003.FStar_Tactics_Types.tac_verb_dbg); + (uu___653_4073.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___643_4003.FStar_Tactics_Types.local_state) - } in - let uu____4004 = set p' in - bind uu____4004 - (fun uu____4012 -> + (uu___653_4073.FStar_Tactics_Types.local_state) + } in + let uu____4074 = set p' + in + bind uu____4074 + (fun uu____4082 -> bind remove_solved_goals - (fun uu____4018 -> - ret (a, b))))))))))) + (fun uu____4088 + -> ret (a, b))))))))))) + let focus : 'a . 'a tac -> 'a tac = - fun f -> - let uu____4040 = divide FStar_BigInt.one f idtac in - bind uu____4040 - (fun uu____4053 -> match uu____4053 with | (a, ()) -> ret a) + fun f -> + let uu____4110 = divide FStar_BigInt.one f idtac in + bind uu____4110 + (fun uu____4123 -> match uu____4123 with | (a,()) -> ret a) + let rec map : 'a . 'a tac -> 'a Prims.list tac = - fun tau -> + fun tau -> bind get - (fun p -> + (fun p -> match p.FStar_Tactics_Types.goals with | [] -> ret [] - | uu____4091::uu____4092 -> - let uu____4095 = - let uu____4104 = map tau in - divide FStar_BigInt.one tau uu____4104 in - bind uu____4095 - (fun uu____4122 -> - match uu____4122 with | (h, t) -> ret (h :: t))) + | uu____4161::uu____4162 -> + let uu____4165 = + let uu____4174 = map tau in + divide FStar_BigInt.one tau uu____4174 in + bind uu____4165 + (fun uu____4192 -> + match uu____4192 with | (h,t) -> ret (h :: t))) + let (seq : unit tac -> unit tac -> unit tac) = - fun t1 -> - fun t2 -> - let uu____4164 = + fun t1 -> + fun t2 -> + let uu____4234 = bind t1 - (fun uu____4169 -> - let uu____4170 = map t2 in - bind uu____4170 (fun uu____4178 -> ret ())) in - focus uu____4164 + (fun uu____4239 -> + let uu____4240 = map t2 in + bind uu____4240 (fun uu____4248 -> ret ())) + in + focus uu____4234 + let (intro : unit -> FStar_Syntax_Syntax.binder tac) = - fun uu____4188 -> - let uu____4191 = - let uu____4194 = cur_goal () in - bind uu____4194 - (fun goal -> - let uu____4203 = - let uu____4210 = FStar_Tactics_Types.goal_type goal in - FStar_Syntax_Util.arrow_one uu____4210 in - match uu____4203 with - | FStar_Pervasives_Native.Some (b, c) -> - let uu____4219 = - let uu____4221 = FStar_Syntax_Util.is_total_comp c in - Prims.op_Negation uu____4221 in - if uu____4219 + fun uu____4258 -> + let uu____4261 = + let uu____4264 = cur_goal () in + bind uu____4264 + (fun goal -> + let uu____4273 = + let uu____4280 = FStar_Tactics_Types.goal_type goal in + FStar_Syntax_Util.arrow_one uu____4280 in + match uu____4273 with + | FStar_Pervasives_Native.Some (b,c) -> + let uu____4289 = + let uu____4291 = FStar_Syntax_Util.is_total_comp c in + Prims.op_Negation uu____4291 in + if uu____4289 then fail "Codomain is effectful" else (let env' = - let uu____4230 = FStar_Tactics_Types.goal_env goal in - FStar_TypeChecker_Env.push_binders uu____4230 [b] in - let typ' = FStar_Syntax_Util.comp_result c in - let uu____4246 = new_uvar "intro" env' typ' in - bind uu____4246 - (fun uu____4263 -> - match uu____4263 with - | (body, ctx_uvar) -> + let uu____4300 = FStar_Tactics_Types.goal_env goal in + FStar_TypeChecker_Env.push_binders uu____4300 [b] in + let typ' = FStar_Syntax_Util.comp_result c in + let uu____4316 = new_uvar "intro" env' typ' in + bind uu____4316 + (fun uu____4333 -> + match uu____4333 with + | (body,ctx_uvar) -> let sol = FStar_Syntax_Util.abs [b] body (FStar_Pervasives_Native.Some - (FStar_Syntax_Util.residual_comp_of_comp c)) in - let uu____4287 = set_solution goal sol in - bind uu____4287 - (fun uu____4293 -> + (FStar_Syntax_Util.residual_comp_of_comp c)) + in + let uu____4357 = set_solution goal sol in + bind uu____4357 + (fun uu____4363 -> let g = FStar_Tactics_Types.mk_goal env' ctx_uvar goal.FStar_Tactics_Types.opts goal.FStar_Tactics_Types.is_guard - goal.FStar_Tactics_Types.label in - let uu____4295 = - let uu____4298 = bnorm_goal g in - replace_cur uu____4298 in - bind uu____4295 (fun uu____4300 -> ret b)))) - | FStar_Pervasives_Native.None -> - let uu____4305 = - let uu____4307 = FStar_Tactics_Types.goal_env goal in - let uu____4308 = FStar_Tactics_Types.goal_type goal in - tts uu____4307 uu____4308 in - fail1 "goal is not an arrow (%s)" uu____4305) in - FStar_All.pipe_left (wrap_err "intro") uu____4191 + goal.FStar_Tactics_Types.label + in + let uu____4365 = + let uu____4368 = bnorm_goal g in + replace_cur uu____4368 in + bind uu____4365 (fun uu____4370 -> ret b)))) + | FStar_Pervasives_Native.None -> + let uu____4375 = + let uu____4377 = FStar_Tactics_Types.goal_env goal in + let uu____4378 = FStar_Tactics_Types.goal_type goal in + tts uu____4377 uu____4378 in + fail1 "goal is not an arrow (%s)" uu____4375) + in + FStar_All.pipe_left (wrap_err "intro") uu____4261 + let (intro_rec : unit -> (FStar_Syntax_Syntax.binder * FStar_Syntax_Syntax.binder) tac) = - fun uu____4326 -> - let uu____4333 = cur_goal () in - bind uu____4333 - (fun goal -> + fun uu____4396 -> + let uu____4403 = cur_goal () in + bind uu____4403 + (fun goal -> FStar_Util.print_string "WARNING (intro_rec): calling this is known to cause normalizer loops\n"; FStar_Util.print_string "WARNING (intro_rec): proceed at your own risk...\n"; - (let uu____4352 = - let uu____4359 = FStar_Tactics_Types.goal_type goal in - FStar_Syntax_Util.arrow_one uu____4359 in - match uu____4352 with - | FStar_Pervasives_Native.Some (b, c) -> - let uu____4372 = - let uu____4374 = FStar_Syntax_Util.is_total_comp c in - Prims.op_Negation uu____4374 in - if uu____4372 + (let uu____4422 = + let uu____4429 = FStar_Tactics_Types.goal_type goal in + FStar_Syntax_Util.arrow_one uu____4429 in + match uu____4422 with + | FStar_Pervasives_Native.Some (b,c) -> + let uu____4442 = + let uu____4444 = FStar_Syntax_Util.is_total_comp c in + Prims.op_Negation uu____4444 in + if uu____4442 then fail "Codomain is effectful" else (let bv = - let uu____4391 = FStar_Tactics_Types.goal_type goal in + let uu____4461 = FStar_Tactics_Types.goal_type goal in FStar_Syntax_Syntax.gen_bv "__recf" - FStar_Pervasives_Native.None uu____4391 in + FStar_Pervasives_Native.None uu____4461 + in let bs = - let uu____4402 = FStar_Syntax_Syntax.mk_binder bv in - [uu____4402; b] in + let uu____4472 = FStar_Syntax_Syntax.mk_binder bv in + [uu____4472; b] in let env' = - let uu____4428 = FStar_Tactics_Types.goal_env goal in - FStar_TypeChecker_Env.push_binders uu____4428 bs in - let uu____4429 = + let uu____4498 = FStar_Tactics_Types.goal_env goal in + FStar_TypeChecker_Env.push_binders uu____4498 bs in + let uu____4499 = new_uvar "intro_rec" env' - (FStar_Syntax_Util.comp_result c) in - bind uu____4429 - (fun uu____4455 -> - match uu____4455 with - | (u, ctx_uvar_u) -> + (FStar_Syntax_Util.comp_result c) + in + bind uu____4499 + (fun uu____4525 -> + match uu____4525 with + | (u,ctx_uvar_u) -> let lb = - let uu____4469 = - FStar_Tactics_Types.goal_type goal in - let uu____4472 = + let uu____4539 = + FStar_Tactics_Types.goal_type goal in + let uu____4542 = FStar_Syntax_Util.abs [b] u - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Syntax_Util.mk_letbinding - (FStar_Util.Inl bv) [] uu____4469 - FStar_Parser_Const.effect_Tot_lid uu____4472 [] - FStar_Range.dummyRange in - let body = FStar_Syntax_Syntax.bv_to_name bv in - let uu____4490 = - FStar_Syntax_Subst.close_let_rec [lb] body in - (match uu____4490 with - | (lbs, body1) -> + (FStar_Util.Inl bv) [] uu____4539 + FStar_Parser_Const.effect_Tot_lid uu____4542 [] + FStar_Range.dummyRange + in + let body = FStar_Syntax_Syntax.bv_to_name bv in + let uu____4560 = + FStar_Syntax_Subst.close_let_rec [lb] body in + (match uu____4560 with + | (lbs,body1) -> let tm = - let uu____4512 = - let uu____4513 = - FStar_Tactics_Types.goal_witness goal in - uu____4513.FStar_Syntax_Syntax.pos in + let uu____4582 = + let uu____4583 = + FStar_Tactics_Types.goal_witness goal + in + uu____4583.FStar_Syntax_Syntax.pos in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let ((true, lbs), body1)) - FStar_Pervasives_Native.None uu____4512 in - let uu____4529 = set_solution goal tm in - bind uu____4529 - (fun uu____4538 -> - let uu____4539 = - let uu____4542 = + FStar_Pervasives_Native.None uu____4582 + in + let uu____4599 = set_solution goal tm in + bind uu____4599 + (fun uu____4608 -> + let uu____4609 = + let uu____4612 = bnorm_goal - (let uu___714_4545 = goal in + (let uu___724_4615 = goal in { FStar_Tactics_Types.goal_main_env = - (uu___714_4545.FStar_Tactics_Types.goal_main_env); + (uu___724_4615.FStar_Tactics_Types.goal_main_env); FStar_Tactics_Types.goal_ctx_uvar = ctx_uvar_u; FStar_Tactics_Types.opts = - (uu___714_4545.FStar_Tactics_Types.opts); + (uu___724_4615.FStar_Tactics_Types.opts); FStar_Tactics_Types.is_guard = - (uu___714_4545.FStar_Tactics_Types.is_guard); + (uu___724_4615.FStar_Tactics_Types.is_guard); FStar_Tactics_Types.label = - (uu___714_4545.FStar_Tactics_Types.label) - }) in - replace_cur uu____4542 in - bind uu____4539 - (fun uu____4552 -> - let uu____4553 = - let uu____4558 = - FStar_Syntax_Syntax.mk_binder bv in - (uu____4558, b) in - ret uu____4553))))) - | FStar_Pervasives_Native.None -> - let uu____4567 = - let uu____4569 = FStar_Tactics_Types.goal_env goal in - let uu____4570 = FStar_Tactics_Types.goal_type goal in - tts uu____4569 uu____4570 in - fail1 "intro_rec: goal is not an arrow (%s)" uu____4567)) + (uu___724_4615.FStar_Tactics_Types.label) + }) + in + replace_cur uu____4612 in + bind uu____4609 + (fun uu____4622 -> + let uu____4623 = + let uu____4628 = + FStar_Syntax_Syntax.mk_binder bv + in + (uu____4628, b) in + ret uu____4623))))) + | FStar_Pervasives_Native.None -> + let uu____4637 = + let uu____4639 = FStar_Tactics_Types.goal_env goal in + let uu____4640 = FStar_Tactics_Types.goal_type goal in + tts uu____4639 uu____4640 in + fail1 "intro_rec: goal is not an arrow (%s)" uu____4637)) + let (norm : FStar_Syntax_Embeddings.norm_step Prims.list -> unit tac) = - fun s -> - let uu____4590 = cur_goal () in - bind uu____4590 - (fun goal -> + fun s -> + let uu____4660 = cur_goal () in + bind uu____4660 + (fun goal -> mlog - (fun uu____4597 -> - let uu____4598 = - let uu____4600 = FStar_Tactics_Types.goal_witness goal in - FStar_Syntax_Print.term_to_string uu____4600 in - FStar_Util.print1 "norm: witness = %s\n" uu____4598) - (fun uu____4606 -> + (fun uu____4667 -> + let uu____4668 = + let uu____4670 = FStar_Tactics_Types.goal_witness goal in + FStar_Syntax_Print.term_to_string uu____4670 in + FStar_Util.print1 "norm: witness = %s\n" uu____4668) + (fun uu____4676 -> let steps = - let uu____4610 = FStar_TypeChecker_Normalize.tr_norm_steps s in + let uu____4680 = FStar_TypeChecker_Normalize.tr_norm_steps s + in FStar_List.append [FStar_TypeChecker_Env.Reify; - FStar_TypeChecker_Env.UnfoldTac] uu____4610 in + FStar_TypeChecker_Env.UnfoldTac] uu____4680 + in let t = - let uu____4614 = FStar_Tactics_Types.goal_env goal in - let uu____4615 = FStar_Tactics_Types.goal_type goal in - normalize steps uu____4614 uu____4615 in - let uu____4616 = FStar_Tactics_Types.goal_with_type goal t in - replace_cur uu____4616)) + let uu____4684 = FStar_Tactics_Types.goal_env goal in + let uu____4685 = FStar_Tactics_Types.goal_type goal in + normalize steps uu____4684 uu____4685 in + let uu____4686 = FStar_Tactics_Types.goal_with_type goal t in + replace_cur uu____4686)) + let (norm_term_env : env -> FStar_Syntax_Embeddings.norm_step Prims.list -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term tac) = - fun e -> - fun s -> - fun t -> - let uu____4641 = + fun e -> + fun s -> + fun t -> + let uu____4711 = bind get - (fun ps -> + (fun ps -> let opts = match ps.FStar_Tactics_Types.goals with - | g::uu____4649 -> g.FStar_Tactics_Types.opts - | uu____4652 -> FStar_Options.peek () in + | g::uu____4719 -> g.FStar_Tactics_Types.opts + | uu____4722 -> FStar_Options.peek () in mlog - (fun uu____4657 -> - let uu____4658 = FStar_Syntax_Print.term_to_string t in - FStar_Util.print1 "norm_term_env: t = %s\n" uu____4658) - (fun uu____4663 -> - let uu____4664 = __tc_lax e t in - bind uu____4664 - (fun uu____4685 -> - match uu____4685 with - | (t1, uu____4695, uu____4696) -> + (fun uu____4727 -> + let uu____4728 = FStar_Syntax_Print.term_to_string t in + FStar_Util.print1 "norm_term_env: t = %s\n" uu____4728) + (fun uu____4733 -> + let uu____4734 = __tc_lax e t in + bind uu____4734 + (fun uu____4755 -> + match uu____4755 with + | (t1,uu____4765,uu____4766) -> let steps = - let uu____4700 = - FStar_TypeChecker_Normalize.tr_norm_steps s in + let uu____4770 = + FStar_TypeChecker_Normalize.tr_norm_steps s + in FStar_List.append [FStar_TypeChecker_Env.Reify; - FStar_TypeChecker_Env.UnfoldTac] uu____4700 in + FStar_TypeChecker_Env.UnfoldTac] uu____4770 + in let t2 = normalize steps - ps.FStar_Tactics_Types.main_context t1 in + ps.FStar_Tactics_Types.main_context t1 + in mlog - (fun uu____4706 -> - let uu____4707 = - FStar_Syntax_Print.term_to_string t2 in + (fun uu____4776 -> + let uu____4777 = + FStar_Syntax_Print.term_to_string t2 in FStar_Util.print1 - "norm_term_env: t' = %s\n" uu____4707) - (fun uu____4711 -> ret t2)))) in - FStar_All.pipe_left (wrap_err "norm_term") uu____4641 + "norm_term_env: t' = %s\n" uu____4777) + (fun uu____4781 -> ret t2)))) + in + FStar_All.pipe_left (wrap_err "norm_term") uu____4711 + let (refine_intro : unit -> unit tac) = - fun uu____4724 -> - let uu____4727 = - let uu____4730 = cur_goal () in - bind uu____4730 - (fun g -> - let uu____4737 = - let uu____4748 = FStar_Tactics_Types.goal_env g in - let uu____4749 = FStar_Tactics_Types.goal_type g in - FStar_TypeChecker_Rel.base_and_refinement uu____4748 uu____4749 in - match uu____4737 with - | (uu____4752, FStar_Pervasives_Native.None) -> + fun uu____4794 -> + let uu____4797 = + let uu____4800 = cur_goal () in + bind uu____4800 + (fun g -> + let uu____4807 = + let uu____4818 = FStar_Tactics_Types.goal_env g in + let uu____4819 = FStar_Tactics_Types.goal_type g in + FStar_TypeChecker_Rel.base_and_refinement uu____4818 uu____4819 + in + match uu____4807 with + | (uu____4822,FStar_Pervasives_Native.None ) -> fail "not a refinement" - | (t, FStar_Pervasives_Native.Some (bv, phi)) -> - let g1 = FStar_Tactics_Types.goal_with_type g t in - let uu____4778 = - let uu____4783 = - let uu____4788 = - let uu____4789 = FStar_Syntax_Syntax.mk_binder bv in - [uu____4789] in - FStar_Syntax_Subst.open_term uu____4788 phi in - match uu____4783 with - | (bvs, phi1) -> - let uu____4814 = - let uu____4815 = FStar_List.hd bvs in - FStar_Pervasives_Native.fst uu____4815 in - (uu____4814, phi1) in - (match uu____4778 with - | (bv1, phi1) -> - let uu____4834 = - let uu____4837 = FStar_Tactics_Types.goal_env g in - let uu____4838 = - let uu____4839 = - let uu____4842 = - let uu____4843 = - let uu____4850 = - FStar_Tactics_Types.goal_witness g in - (bv1, uu____4850) in - FStar_Syntax_Syntax.NT uu____4843 in - [uu____4842] in - FStar_Syntax_Subst.subst uu____4839 phi1 in - mk_irrelevant_goal "refine_intro refinement" uu____4837 - uu____4838 g.FStar_Tactics_Types.opts - g.FStar_Tactics_Types.label in - bind uu____4834 - (fun g2 -> + | (t,FStar_Pervasives_Native.Some (bv,phi)) -> + let g1 = FStar_Tactics_Types.goal_with_type g t in + let uu____4848 = + let uu____4853 = + let uu____4858 = + let uu____4859 = FStar_Syntax_Syntax.mk_binder bv in + [uu____4859] in + FStar_Syntax_Subst.open_term uu____4858 phi in + match uu____4853 with + | (bvs,phi1) -> + let uu____4884 = + let uu____4885 = FStar_List.hd bvs in + FStar_Pervasives_Native.fst uu____4885 in + (uu____4884, phi1) + in + (match uu____4848 with + | (bv1,phi1) -> + let uu____4904 = + let uu____4907 = FStar_Tactics_Types.goal_env g in + let uu____4908 = + let uu____4909 = + let uu____4912 = + let uu____4913 = + let uu____4920 = + FStar_Tactics_Types.goal_witness g in + (bv1, uu____4920) in + FStar_Syntax_Syntax.NT uu____4913 in + [uu____4912] in + FStar_Syntax_Subst.subst uu____4909 phi1 in + mk_irrelevant_goal "refine_intro refinement" uu____4907 + uu____4908 g.FStar_Tactics_Types.opts + g.FStar_Tactics_Types.label + in + bind uu____4904 + (fun g2 -> bind __dismiss - (fun uu____4859 -> add_goals [g1; g2])))) in - FStar_All.pipe_left (wrap_err "refine_intro") uu____4727 + (fun uu____4929 -> add_goals [g1; g2])))) + in + FStar_All.pipe_left (wrap_err "refine_intro") uu____4797 + let (__exact_now : Prims.bool -> FStar_Syntax_Syntax.term -> unit tac) = - fun set_expected_typ1 -> - fun t -> - let uu____4882 = cur_goal () in - bind uu____4882 - (fun goal -> + fun set_expected_typ1 -> + fun t -> + let uu____4952 = cur_goal () in + bind uu____4952 + (fun goal -> let env = if set_expected_typ1 then - let uu____4891 = FStar_Tactics_Types.goal_env goal in - let uu____4892 = FStar_Tactics_Types.goal_type goal in - FStar_TypeChecker_Env.set_expected_typ uu____4891 uu____4892 - else FStar_Tactics_Types.goal_env goal in - let uu____4895 = __tc env t in - bind uu____4895 - (fun uu____4914 -> - match uu____4914 with - | (t1, typ, guard) -> + let uu____4961 = FStar_Tactics_Types.goal_env goal in + let uu____4962 = FStar_Tactics_Types.goal_type goal in + FStar_TypeChecker_Env.set_expected_typ uu____4961 uu____4962 + else FStar_Tactics_Types.goal_env goal in + let uu____4965 = __tc env t in + bind uu____4965 + (fun uu____4984 -> + match uu____4984 with + | (t1,typ,guard) -> mlog - (fun uu____4929 -> - let uu____4930 = - FStar_Syntax_Print.term_to_string typ in - let uu____4932 = - let uu____4934 = FStar_Tactics_Types.goal_env goal in - FStar_TypeChecker_Rel.guard_to_string uu____4934 - guard in + (fun uu____4999 -> + let uu____5000 = + FStar_Syntax_Print.term_to_string typ in + let uu____5002 = + let uu____5004 = FStar_Tactics_Types.goal_env goal + in + FStar_TypeChecker_Rel.guard_to_string uu____5004 + guard + in FStar_Util.print2 "__exact_now: got type %s\n__exact_now: and guard %s\n" - uu____4930 uu____4932) - (fun uu____4938 -> - let uu____4939 = - let uu____4942 = FStar_Tactics_Types.goal_env goal in - proc_guard "__exact typing" uu____4942 guard in - bind uu____4939 - (fun uu____4945 -> + uu____5000 uu____5002) + (fun uu____5008 -> + let uu____5009 = + let uu____5012 = FStar_Tactics_Types.goal_env goal + in + proc_guard "__exact typing" uu____5012 guard in + bind uu____5009 + (fun uu____5015 -> mlog - (fun uu____4949 -> - let uu____4950 = - FStar_Syntax_Print.term_to_string typ in - let uu____4952 = - let uu____4954 = - FStar_Tactics_Types.goal_type goal in + (fun uu____5019 -> + let uu____5020 = + FStar_Syntax_Print.term_to_string typ + in + let uu____5022 = + let uu____5024 = + FStar_Tactics_Types.goal_type goal in FStar_Syntax_Print.term_to_string - uu____4954 in + uu____5024 + in FStar_Util.print2 "__exact_now: unifying %s and %s\n" - uu____4950 uu____4952) - (fun uu____4958 -> - let uu____4959 = - let uu____4963 = - FStar_Tactics_Types.goal_env goal in - let uu____4964 = - FStar_Tactics_Types.goal_type goal in - do_unify uu____4963 typ uu____4964 in - bind uu____4959 - (fun b -> + uu____5020 uu____5022) + (fun uu____5028 -> + let uu____5029 = + let uu____5033 = + FStar_Tactics_Types.goal_env goal in + let uu____5034 = + FStar_Tactics_Types.goal_type goal in + do_unify uu____5033 typ uu____5034 in + bind uu____5029 + (fun b -> if b then solve goal t1 else - (let uu____4974 = - let uu____4976 = + (let uu____5044 = + let uu____5046 = FStar_Tactics_Types.goal_env - goal in - tts uu____4976 t1 in - let uu____4977 = - let uu____4979 = + goal + in + tts uu____5046 t1 in + let uu____5047 = + let uu____5049 = FStar_Tactics_Types.goal_env - goal in - tts uu____4979 typ in - let uu____4980 = - let uu____4982 = + goal + in + tts uu____5049 typ in + let uu____5050 = + let uu____5052 = FStar_Tactics_Types.goal_env - goal in - let uu____4983 = + goal + in + let uu____5053 = FStar_Tactics_Types.goal_type - goal in - tts uu____4982 uu____4983 in - let uu____4984 = - let uu____4986 = + goal + in + tts uu____5052 uu____5053 in + let uu____5054 = + let uu____5056 = FStar_Tactics_Types.goal_env - goal in - let uu____4987 = + goal + in + let uu____5057 = FStar_Tactics_Types.goal_witness - goal in - tts uu____4986 uu____4987 in + goal + in + tts uu____5056 uu____5057 in fail4 "%s : %s does not exactly solve the goal %s (witness = %s)" - uu____4974 uu____4977 uu____4980 - uu____4984))))))) + uu____5044 uu____5047 uu____5050 + uu____5054))))))) + let (t_exact : Prims.bool -> Prims.bool -> FStar_Syntax_Syntax.term -> unit tac) = - fun try_refine -> - fun set_expected_typ1 -> - fun tm -> - let uu____5013 = + fun try_refine -> + fun set_expected_typ1 -> + fun tm -> + let uu____5083 = mlog - (fun uu____5018 -> - let uu____5019 = FStar_Syntax_Print.term_to_string tm in - FStar_Util.print1 "t_exact: tm = %s\n" uu____5019) - (fun uu____5024 -> - let uu____5025 = - let uu____5032 = __exact_now set_expected_typ1 tm in - catch uu____5032 in - bind uu____5025 - (fun uu___2_5041 -> - match uu___2_5041 with + (fun uu____5088 -> + let uu____5089 = FStar_Syntax_Print.term_to_string tm in + FStar_Util.print1 "t_exact: tm = %s\n" uu____5089) + (fun uu____5094 -> + let uu____5095 = + let uu____5102 = __exact_now set_expected_typ1 tm in + catch uu____5102 in + bind uu____5095 + (fun uu___2_5111 -> + match uu___2_5111 with | FStar_Util.Inr r -> ret () | FStar_Util.Inl e when Prims.op_Negation try_refine -> traise e | FStar_Util.Inl e -> mlog - (fun uu____5052 -> + (fun uu____5122 -> FStar_Util.print_string "__exact_now failed, trying refine...\n") - (fun uu____5056 -> - let uu____5057 = - let uu____5064 = - let uu____5067 = - norm [FStar_Syntax_Embeddings.Delta] in - bind uu____5067 - (fun uu____5072 -> - let uu____5073 = refine_intro () in - bind uu____5073 - (fun uu____5077 -> - __exact_now set_expected_typ1 tm)) in - catch uu____5064 in - bind uu____5057 - (fun uu___1_5084 -> - match uu___1_5084 with + (fun uu____5126 -> + let uu____5127 = + let uu____5134 = + let uu____5137 = + norm [FStar_Syntax_Embeddings.Delta] in + bind uu____5137 + (fun uu____5142 -> + let uu____5143 = refine_intro () in + bind uu____5143 + (fun uu____5147 -> + __exact_now set_expected_typ1 tm)) + in + catch uu____5134 in + bind uu____5127 + (fun uu___1_5154 -> + match uu___1_5154 with | FStar_Util.Inr r -> mlog - (fun uu____5093 -> + (fun uu____5163 -> FStar_Util.print_string "__exact_now: failed after refining too\n") - (fun uu____5096 -> ret ()) - | FStar_Util.Inl uu____5097 -> + (fun uu____5166 -> ret ()) + | FStar_Util.Inl uu____5167 -> mlog - (fun uu____5099 -> + (fun uu____5169 -> FStar_Util.print_string "__exact_now: was not a refinement\n") - (fun uu____5102 -> traise e))))) in - FStar_All.pipe_left (wrap_err "exact") uu____5013 + (fun uu____5172 -> traise e))))) + in + FStar_All.pipe_left (wrap_err "exact") uu____5083 + let rec mapM : 'a 'b . ('a -> 'b tac) -> 'a Prims.list -> 'b Prims.list tac = - fun f -> - fun l -> + fun f -> + fun l -> match l with | [] -> ret [] | x::xs -> - let uu____5154 = f x in - bind uu____5154 - (fun y -> - let uu____5162 = mapM f xs in - bind uu____5162 (fun ys -> ret (y :: ys))) -let rec (__try_match_by_application : - (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.aqual * - FStar_Syntax_Syntax.ctx_uvar) Prims.list -> + let uu____5224 = f x in + bind uu____5224 + (fun y -> + let uu____5232 = mapM f xs in + bind uu____5232 (fun ys -> ret (y :: ys))) + +let rec (__try_unify_by_application : + Prims.bool -> + (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.aqual * + FStar_Syntax_Syntax.ctx_uvar) Prims.list -> + env -> + FStar_Syntax_Syntax.term -> + FStar_Syntax_Syntax.term -> + (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.aqual * + FStar_Syntax_Syntax.ctx_uvar) Prims.list tac) + = + fun only_match -> + fun acc -> + fun e -> + fun ty1 -> + fun ty2 -> + let f = if only_match then do_match else do_unify in + let uu____5342 = f e ty2 ty1 in + bind uu____5342 + (fun uu___3_5356 -> + if uu___3_5356 + then ret acc + else + (let uu____5376 = FStar_Syntax_Util.arrow_one ty1 in + match uu____5376 with + | FStar_Pervasives_Native.None -> + let uu____5397 = + FStar_Syntax_Print.term_to_string ty1 in + let uu____5399 = + FStar_Syntax_Print.term_to_string ty2 in + fail2 "Could not instantiate, %s to %s" uu____5397 + uu____5399 + | FStar_Pervasives_Native.Some (b,c) -> + let uu____5416 = + let uu____5418 = FStar_Syntax_Util.is_total_comp c + in + Prims.op_Negation uu____5418 in + if uu____5416 + then fail "Codomain is effectful" + else + (let uu____5442 = + new_uvar "apply arg" e + (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort + in + bind uu____5442 + (fun uu____5469 -> + match uu____5469 with + | (uvt,uv) -> + let typ = FStar_Syntax_Util.comp_result c + in + let typ' = + FStar_Syntax_Subst.subst + [FStar_Syntax_Syntax.NT + ((FStar_Pervasives_Native.fst b), + uvt)] typ + in + __try_unify_by_application only_match + ((uvt, (FStar_Pervasives_Native.snd b), + uv) :: acc) e typ' ty2)))) + +let (try_unify_by_application : + Prims.bool -> env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.aqual * FStar_Syntax_Syntax.ctx_uvar) Prims.list tac) = - fun acc -> - fun e -> - fun ty1 -> - fun ty2 -> - let uu____5234 = do_unify e ty1 ty2 in - bind uu____5234 - (fun uu___3_5248 -> - if uu___3_5248 - then ret acc - else - (let uu____5268 = FStar_Syntax_Util.arrow_one ty1 in - match uu____5268 with - | FStar_Pervasives_Native.None -> - let uu____5289 = FStar_Syntax_Print.term_to_string ty1 in - let uu____5291 = FStar_Syntax_Print.term_to_string ty2 in - fail2 "Could not instantiate, %s to %s" uu____5289 - uu____5291 - | FStar_Pervasives_Native.Some (b, c) -> - let uu____5308 = - let uu____5310 = FStar_Syntax_Util.is_total_comp c in - Prims.op_Negation uu____5310 in - if uu____5308 - then fail "Codomain is effectful" - else - (let uu____5334 = - new_uvar "apply arg" e - (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort in - bind uu____5334 - (fun uu____5361 -> - match uu____5361 with - | (uvt, uv) -> - let typ = FStar_Syntax_Util.comp_result c in - let typ' = - FStar_Syntax_Subst.subst - [FStar_Syntax_Syntax.NT - ((FStar_Pervasives_Native.fst b), - uvt)] typ in - __try_match_by_application - ((uvt, (FStar_Pervasives_Native.snd b), - uv) :: acc) e typ' ty2)))) -let (try_match_by_application : - env -> - FStar_Syntax_Syntax.term -> - FStar_Syntax_Syntax.term -> - (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.aqual * - FStar_Syntax_Syntax.ctx_uvar) Prims.list tac) - = fun e -> fun ty1 -> fun ty2 -> __try_match_by_application [] e ty1 ty2 -let (t_apply : Prims.bool -> FStar_Syntax_Syntax.term -> unit tac) = - fun uopt -> - fun tm -> - let uu____5453 = - mlog - (fun uu____5458 -> - let uu____5459 = FStar_Syntax_Print.term_to_string tm in - FStar_Util.print1 "t_apply: tm = %s\n" uu____5459) - (fun uu____5464 -> - let uu____5465 = cur_goal () in - bind uu____5465 - (fun goal -> - let e = FStar_Tactics_Types.goal_env goal in - let uu____5473 = __tc e tm in - bind uu____5473 - (fun uu____5494 -> - match uu____5494 with - | (tm1, typ, guard) -> - let typ1 = bnorm e typ in - let uu____5507 = - let uu____5518 = - FStar_Tactics_Types.goal_type goal in - try_match_by_application e typ1 uu____5518 in - bind uu____5507 - (fun uvs -> - let fix_qual q = - match q with - | FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Meta uu____5556) - -> - FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit false) - | uu____5560 -> q in - let w = - FStar_List.fold_right - (fun uu____5583 -> - fun w -> - match uu____5583 with - | (uvt, q, uu____5601) -> - FStar_Syntax_Util.mk_app w - [(uvt, (fix_qual q))]) uvs tm1 in - let uvset = - let uu____5633 = - FStar_Syntax_Free.new_uv_set () in - FStar_List.fold_right - (fun uu____5650 -> - fun s -> - match uu____5650 with - | (uu____5662, uu____5663, uv) -> - let uu____5665 = - FStar_Syntax_Free.uvars - uv.FStar_Syntax_Syntax.ctx_uvar_typ in - FStar_Util.set_union s - uu____5665) uvs uu____5633 in - let free_in_some_goal uv = - FStar_Util.set_mem uv uvset in - let uu____5675 = solve' goal w in - bind uu____5675 - (fun uu____5680 -> - let uu____5681 = - mapM - (fun uu____5698 -> - match uu____5698 with - | (uvt, q, uv) -> - let uu____5710 = - FStar_Syntax_Unionfind.find - uv.FStar_Syntax_Syntax.ctx_uvar_head in - (match uu____5710 with - | FStar_Pervasives_Native.Some - uu____5715 -> ret () - | FStar_Pervasives_Native.None - -> - let uu____5716 = - uopt && - (free_in_some_goal - uv) in - if uu____5716 - then ret () - else - (let uu____5723 = - let uu____5726 = - bnorm_goal - (let uu___875_5729 - = goal in - { - FStar_Tactics_Types.goal_main_env - = - (uu___875_5729.FStar_Tactics_Types.goal_main_env); - FStar_Tactics_Types.goal_ctx_uvar - = uv; - FStar_Tactics_Types.opts - = - (uu___875_5729.FStar_Tactics_Types.opts); - FStar_Tactics_Types.is_guard - = false; - FStar_Tactics_Types.label + fun only_match -> + fun e -> + fun ty1 -> + fun ty2 -> __try_unify_by_application only_match [] e ty1 ty2 + +let (t_apply : + Prims.bool -> Prims.bool -> FStar_Syntax_Syntax.term -> unit tac) = + fun uopt -> + fun only_match -> + fun tm -> + let uu____5575 = + mlog + (fun uu____5580 -> + let uu____5581 = FStar_Syntax_Print.term_to_string tm in + FStar_Util.print1 "t_apply: tm = %s\n" uu____5581) + (fun uu____5586 -> + let uu____5587 = cur_goal () in + bind uu____5587 + (fun goal -> + let e = FStar_Tactics_Types.goal_env goal in + let uu____5595 = __tc e tm in + bind uu____5595 + (fun uu____5616 -> + match uu____5616 with + | (tm1,typ,guard) -> + let typ1 = bnorm e typ in + let uu____5629 = + let uu____5640 = + FStar_Tactics_Types.goal_type goal in + try_unify_by_application only_match e typ1 + uu____5640 + in + bind uu____5629 + (fun uvs -> + mlog + (fun uu____5661 -> + let uu____5662 = + FStar_Common.string_of_list + (fun uu____5674 -> + match uu____5674 with + | (t,uu____5683,uu____5684) -> + FStar_Syntax_Print.term_to_string + t) uvs + in + FStar_Util.print1 + "t_apply: found args = %s\n" + uu____5662) + (fun uu____5692 -> + let fix_qual q = + match q with + | FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Meta + uu____5707) -> + FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit + false) + | uu____5711 -> q in + let w = + FStar_List.fold_right + (fun uu____5734 -> + fun w -> + match uu____5734 with + | (uvt,q,uu____5752) -> + FStar_Syntax_Util.mk_app + w [(uvt, (fix_qual q))]) + uvs tm1 + in + let uvset = + let uu____5784 = + FStar_Syntax_Free.new_uv_set () + in + FStar_List.fold_right + (fun uu____5801 -> + fun s -> + match uu____5801 with + | (uu____5813,uu____5814,uv) + -> + let uu____5816 = + FStar_Syntax_Free.uvars + uv.FStar_Syntax_Syntax.ctx_uvar_typ + in + FStar_Util.set_union s + uu____5816) uvs + uu____5784 + in + let free_in_some_goal uv = + FStar_Util.set_mem uv uvset in + let uu____5826 = solve' goal w in + bind uu____5826 + (fun uu____5831 -> + let uu____5832 = + mapM + (fun uu____5849 -> + match uu____5849 with + | (uvt,q,uv) -> + let uu____5861 = + FStar_Syntax_Unionfind.find + uv.FStar_Syntax_Syntax.ctx_uvar_head + in + (match uu____5861 with + | FStar_Pervasives_Native.Some + uu____5866 -> + ret () + | FStar_Pervasives_Native.None + -> + let uu____5867 = + uopt && + (free_in_some_goal + uv) + in + if uu____5867 + then ret () + else + (let uu____5874 + = + let uu____5877 = - (uu___875_5729.FStar_Tactics_Types.label) - }) in - [uu____5726] in - add_goals uu____5723))) - uvs in - bind uu____5681 - (fun uu____5734 -> - proc_guard "apply guard" e guard)))))) in - FStar_All.pipe_left (wrap_err "apply") uu____5453 + bnorm_goal + (let uu___891_5880 + = goal + in + { + FStar_Tactics_Types.goal_main_env + = + (uu___891_5880.FStar_Tactics_Types.goal_main_env); + FStar_Tactics_Types.goal_ctx_uvar + = uv; + FStar_Tactics_Types.opts + = + (uu___891_5880.FStar_Tactics_Types.opts); + FStar_Tactics_Types.is_guard + = false; + FStar_Tactics_Types.label + = + (uu___891_5880.FStar_Tactics_Types.label) + }) + in + [uu____5877] + in + add_goals + uu____5874))) + uvs + in + bind uu____5832 + (fun uu____5885 -> + proc_guard "apply guard" e + guard))))))) + in + FStar_All.pipe_left (wrap_err "apply") uu____5575 + let (lemma_or_sq : FStar_Syntax_Syntax.comp -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term) FStar_Pervasives_Native.option) = - fun c -> - let ct = FStar_Syntax_Util.comp_to_comp_typ_nouniv c in - let uu____5762 = + fun c -> + let ct = FStar_Syntax_Util.comp_to_comp_typ_nouniv c in + let uu____5913 = FStar_Ident.lid_equals ct.FStar_Syntax_Syntax.effect_name - FStar_Parser_Const.effect_Lemma_lid in - if uu____5762 + FStar_Parser_Const.effect_Lemma_lid + in + if uu____5913 then - let uu____5771 = + let uu____5922 = match ct.FStar_Syntax_Syntax.effect_args with - | pre::post::uu____5786 -> + | pre::post::uu____5937 -> ((FStar_Pervasives_Native.fst pre), (FStar_Pervasives_Native.fst post)) - | uu____5839 -> failwith "apply_lemma: impossible: not a lemma" in - match uu____5771 with - | (pre, post) -> + | uu____5990 -> failwith "apply_lemma: impossible: not a lemma" in + match uu____5922 with + | (pre,post) -> let post1 = - let uu____5872 = - let uu____5883 = - FStar_Syntax_Syntax.as_arg FStar_Syntax_Util.exp_unit in - [uu____5883] in - FStar_Syntax_Util.mk_app post uu____5872 in + let uu____6023 = + let uu____6034 = + FStar_Syntax_Syntax.as_arg FStar_Syntax_Util.exp_unit in + [uu____6034] in + FStar_Syntax_Util.mk_app post uu____6023 in FStar_Pervasives_Native.Some (pre, post1) else - (let uu____5914 = - FStar_Syntax_Util.is_pure_effect ct.FStar_Syntax_Syntax.effect_name in - if uu____5914 + (let uu____6065 = + FStar_Syntax_Util.is_pure_effect ct.FStar_Syntax_Syntax.effect_name + in + if uu____6065 then - let uu____5923 = - FStar_Syntax_Util.un_squash ct.FStar_Syntax_Syntax.result_typ in - FStar_Util.map_opt uu____5923 - (fun post -> (FStar_Syntax_Util.t_true, post)) + let uu____6074 = + FStar_Syntax_Util.un_squash ct.FStar_Syntax_Syntax.result_typ in + FStar_Util.map_opt uu____6074 + (fun post -> (FStar_Syntax_Util.t_true, post)) else FStar_Pervasives_Native.None) + let rec fold_left : 'a 'b . ('a -> 'b -> 'b tac) -> 'b -> 'a Prims.list -> 'b tac = - fun f -> - fun e -> - fun xs -> + fun f -> + fun e -> + fun xs -> match xs with | [] -> ret e | x::xs1 -> - let uu____6002 = f x e in - bind uu____6002 (fun e' -> fold_left f e' xs1) + let uu____6153 = f x e in + bind uu____6153 (fun e' -> fold_left f e' xs1) + let (apply_lemma : FStar_Syntax_Syntax.term -> unit tac) = - fun tm -> - let uu____6017 = - let uu____6020 = + fun tm -> + let uu____6168 = + let uu____6171 = bind get - (fun ps -> + (fun ps -> mlog - (fun uu____6027 -> - let uu____6028 = FStar_Syntax_Print.term_to_string tm in - FStar_Util.print1 "apply_lemma: tm = %s\n" uu____6028) - (fun uu____6034 -> + (fun uu____6178 -> + let uu____6179 = FStar_Syntax_Print.term_to_string tm in + FStar_Util.print1 "apply_lemma: tm = %s\n" uu____6179) + (fun uu____6185 -> let is_unit_t t = - let uu____6042 = - let uu____6043 = FStar_Syntax_Subst.compress t in - uu____6043.FStar_Syntax_Syntax.n in - match uu____6042 with + let uu____6193 = + let uu____6194 = FStar_Syntax_Subst.compress t in + uu____6194.FStar_Syntax_Syntax.n in + match uu____6193 with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.unit_lid -> true - | uu____6049 -> false in - let uu____6051 = cur_goal () in - bind uu____6051 - (fun goal -> - let uu____6057 = - let uu____6066 = FStar_Tactics_Types.goal_env goal in - __tc uu____6066 tm in - bind uu____6057 - (fun uu____6081 -> - match uu____6081 with - | (tm1, t, guard) -> - let uu____6093 = - FStar_Syntax_Util.arrow_formals_comp t in - (match uu____6093 with - | (bs, comp) -> - let uu____6126 = lemma_or_sq comp in - (match uu____6126 with - | FStar_Pervasives_Native.None -> + | uu____6200 -> false in + let uu____6202 = cur_goal () in + bind uu____6202 + (fun goal -> + let uu____6208 = + let uu____6217 = FStar_Tactics_Types.goal_env goal + in + __tc uu____6217 tm in + bind uu____6208 + (fun uu____6232 -> + match uu____6232 with + | (tm1,t,guard) -> + let uu____6244 = + FStar_Syntax_Util.arrow_formals_comp t in + (match uu____6244 with + | (bs,comp) -> + let uu____6277 = lemma_or_sq comp in + (match uu____6277 with + | FStar_Pervasives_Native.None -> fail "not a lemma or squashed function" | FStar_Pervasives_Native.Some - (pre, post) -> - let uu____6146 = + (pre,post) -> + let uu____6297 = fold_left - (fun uu____6208 -> - fun uu____6209 -> - match (uu____6208, - uu____6209) + (fun uu____6359 -> + fun uu____6360 -> + match (uu____6359, + uu____6360) with - | ((b, aq), - (uvs, imps, subst1)) -> + | ((b,aq),(uvs,imps,subst1)) + -> let b_t = FStar_Syntax_Subst.subst subst1 - b.FStar_Syntax_Syntax.sort in - let uu____6360 = - is_unit_t b_t in - if uu____6360 + b.FStar_Syntax_Syntax.sort + in + let uu____6511 = + is_unit_t b_t in + if uu____6511 then FStar_All.pipe_left ret @@ -2914,19 +3200,21 @@ let (apply_lemma : FStar_Syntax_Syntax.term -> unit tac) = FStar_Syntax_Util.exp_unit)) :: subst1)) else - (let uu____6483 = - let uu____6490 = + (let uu____6634 = + let uu____6641 = FStar_Tactics_Types.goal_env - goal in + goal + in new_uvar "apply_lemma" - uu____6490 b_t in - bind uu____6483 - (fun uu____6521 + uu____6641 b_t + in + bind uu____6634 + (fun uu____6672 -> - match uu____6521 + match uu____6672 with - | (t1, u) -> + | (t1,u) -> FStar_All.pipe_left ret (((t1, @@ -2938,410 +3226,438 @@ let (apply_lemma : FStar_Syntax_Syntax.term -> unit tac) = (b, t1)) :: subst1))))) - ([], [], []) bs in - bind uu____6146 - (fun uu____6707 -> - match uu____6707 with - | (uvs, implicits, subst1) -> + ([], [], []) bs + in + bind uu____6297 + (fun uu____6858 -> + match uu____6858 with + | (uvs,implicits,subst1) -> let implicits1 = - FStar_List.rev implicits in + FStar_List.rev implicits + in let uvs1 = - FStar_List.rev uvs in + FStar_List.rev uvs in let pre1 = FStar_Syntax_Subst.subst - subst1 pre in + subst1 pre + in let post1 = FStar_Syntax_Subst.subst - subst1 post in - let uu____6795 = - let uu____6799 = + subst1 post + in + let uu____6946 = + let uu____6950 = FStar_Tactics_Types.goal_env - goal in - let uu____6800 = + goal + in + let uu____6951 = FStar_Syntax_Util.mk_squash FStar_Syntax_Syntax.U_zero - post1 in - let uu____6801 = + post1 + in + let uu____6952 = FStar_Tactics_Types.goal_type - goal in - do_unify uu____6799 - uu____6800 uu____6801 in - bind uu____6795 - (fun b -> + goal + in + do_unify uu____6950 + uu____6951 uu____6952 + in + bind uu____6946 + (fun b -> if Prims.op_Negation b then - let uu____6812 = - let uu____6814 = + let uu____6963 = + let uu____6965 = FStar_Tactics_Types.goal_env - goal in - tts uu____6814 - tm1 in - let uu____6815 = - let uu____6817 = + goal + in + tts uu____6965 + tm1 + in + let uu____6966 = + let uu____6968 = FStar_Tactics_Types.goal_env - goal in - let uu____6818 = + goal + in + let uu____6969 = FStar_Syntax_Util.mk_squash FStar_Syntax_Syntax.U_zero - post1 in - tts uu____6817 - uu____6818 in - let uu____6819 = - let uu____6821 = + post1 + in + tts uu____6968 + uu____6969 + in + let uu____6970 = + let uu____6972 = FStar_Tactics_Types.goal_env - goal in - let uu____6822 = + goal + in + let uu____6973 = FStar_Tactics_Types.goal_type - goal in - tts uu____6821 - uu____6822 in + goal + in + tts uu____6972 + uu____6973 + in fail3 "Cannot instantiate lemma %s (with postcondition: %s) to match goal (%s)" - uu____6812 - uu____6815 - uu____6819 + uu____6963 + uu____6966 + uu____6970 else - (let uu____6826 = + (let uu____6977 = solve' goal - FStar_Syntax_Util.exp_unit in - bind uu____6826 - (fun uu____6834 + FStar_Syntax_Util.exp_unit + in + bind uu____6977 + (fun uu____6985 -> let is_free_uvar uv t1 = let free_uvars = - let uu____6860 + let uu____7011 = - let uu____6863 + let uu____7014 = FStar_Syntax_Free.uvars - t1 in + t1 in FStar_Util.set_elements - uu____6863 in + uu____7014 + in FStar_List.map - (fun x -> + (fun x + -> x.FStar_Syntax_Syntax.ctx_uvar_head) - uu____6860 in + uu____7011 + in FStar_List.existsML ( - fun u -> + fun u -> FStar_Syntax_Unionfind.equiv u uv) - free_uvars in + free_uvars + in let appears uv goals = FStar_List.existsML ( - fun g' -> - let uu____6899 + fun g' + -> + let uu____7050 = FStar_Tactics_Types.goal_type - g' in + g' in is_free_uvar uv - uu____6899) - goals in + uu____7050) + goals + in let checkone t1 goals = - let uu____6916 + let uu____7067 = FStar_Syntax_Util.head_and_args - t1 in - match uu____6916 + t1 in + match uu____7067 with - | (hd1, - uu____6935) + | (hd1,uu____7086) -> (match hd1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_uvar - (uv, - uu____6962) + (uv,uu____7113) -> appears uv.FStar_Syntax_Syntax.ctx_uvar_head goals | - uu____6979 - -> false) in - let uu____6981 + uu____7130 + -> false) + in + let uu____7132 = FStar_All.pipe_right implicits1 ( mapM - (fun imp + (fun imp -> let t1 = FStar_Util.now - () in - let uu____7024 - = imp in - match uu____7024 + () in + let uu____7175 + = imp in + match uu____7175 with | - (term, - ctx_uvar) + (term,ctx_uvar) -> - let uu____7035 + let uu____7186 = FStar_Syntax_Util.head_and_args - term in - (match uu____7035 + term in + (match uu____7186 with | - (hd1, - uu____7057) + (hd1,uu____7208) -> - let uu____7082 + let uu____7233 = - let uu____7083 + let uu____7234 = FStar_Syntax_Subst.compress - hd1 in - uu____7083.FStar_Syntax_Syntax.n in - (match uu____7082 + hd1 in + uu____7234.FStar_Syntax_Syntax.n + in + (match uu____7233 with | FStar_Syntax_Syntax.Tm_uvar - (ctx_uvar1, - uu____7091) + (ctx_uvar1,uu____7242) -> let goal1 = bnorm_goal - (let uu___985_7111 - = goal in + (let uu___1006_7262 + = goal + in { FStar_Tactics_Types.goal_main_env = - (uu___985_7111.FStar_Tactics_Types.goal_main_env); + (uu___1006_7262.FStar_Tactics_Types.goal_main_env); FStar_Tactics_Types.goal_ctx_uvar = ctx_uvar1; FStar_Tactics_Types.opts = - (uu___985_7111.FStar_Tactics_Types.opts); + (uu___1006_7262.FStar_Tactics_Types.opts); FStar_Tactics_Types.is_guard = - (uu___985_7111.FStar_Tactics_Types.is_guard); + (uu___1006_7262.FStar_Tactics_Types.is_guard); FStar_Tactics_Types.label = - (uu___985_7111.FStar_Tactics_Types.label) - }) in + (uu___1006_7262.FStar_Tactics_Types.label) + }) in ret [goal1] | - uu____7114 + uu____7265 -> mlog (fun - uu____7120 - -> - let uu____7121 + uu____7271 + -> + let uu____7272 = FStar_Syntax_Print.uvar_to_string - ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_head in - let uu____7123 + ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_head + in + let uu____7274 = FStar_Syntax_Print.term_to_string - term in + term in FStar_Util.print2 "apply_lemma: arg %s unified to (%s)\n" - uu____7121 - uu____7123) + uu____7272 + uu____7274) (fun - uu____7130 - -> + uu____7281 + -> let env = - let uu___990_7132 + let uu___1011_7283 = FStar_Tactics_Types.goal_env - goal in + goal in { FStar_TypeChecker_Env.solver = - (uu___990_7132.FStar_TypeChecker_Env.solver); + (uu___1011_7283.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___990_7132.FStar_TypeChecker_Env.range); + (uu___1011_7283.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___990_7132.FStar_TypeChecker_Env.curmodule); + (uu___1011_7283.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = (ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___990_7132.FStar_TypeChecker_Env.gamma_sig); + (uu___1011_7283.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___990_7132.FStar_TypeChecker_Env.gamma_cache); + (uu___1011_7283.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___990_7132.FStar_TypeChecker_Env.modules); + (uu___1011_7283.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___990_7132.FStar_TypeChecker_Env.expected_typ); + (uu___1011_7283.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___990_7132.FStar_TypeChecker_Env.sigtab); + (uu___1011_7283.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___990_7132.FStar_TypeChecker_Env.attrtab); + (uu___1011_7283.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___990_7132.FStar_TypeChecker_Env.is_pattern); + (uu___1011_7283.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___990_7132.FStar_TypeChecker_Env.instantiate_imp); + (uu___1011_7283.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___990_7132.FStar_TypeChecker_Env.effects); + (uu___1011_7283.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___990_7132.FStar_TypeChecker_Env.generalize); + (uu___1011_7283.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___990_7132.FStar_TypeChecker_Env.letrecs); + (uu___1011_7283.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___990_7132.FStar_TypeChecker_Env.top_level); + (uu___1011_7283.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___990_7132.FStar_TypeChecker_Env.check_uvars); + (uu___1011_7283.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___990_7132.FStar_TypeChecker_Env.use_eq); + (uu___1011_7283.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___990_7132.FStar_TypeChecker_Env.is_iface); + (uu___1011_7283.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___990_7132.FStar_TypeChecker_Env.admit); + (uu___1011_7283.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___990_7132.FStar_TypeChecker_Env.lax); + (uu___1011_7283.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___990_7132.FStar_TypeChecker_Env.lax_universes); + (uu___1011_7283.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___990_7132.FStar_TypeChecker_Env.phase1); + (uu___1011_7283.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___990_7132.FStar_TypeChecker_Env.failhard); + (uu___1011_7283.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___990_7132.FStar_TypeChecker_Env.nosynth); + (uu___1011_7283.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___990_7132.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1011_7283.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___990_7132.FStar_TypeChecker_Env.tc_term); + (uu___1011_7283.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___990_7132.FStar_TypeChecker_Env.type_of); + (uu___1011_7283.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___990_7132.FStar_TypeChecker_Env.universe_of); + (uu___1011_7283.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___990_7132.FStar_TypeChecker_Env.check_type_of); + (uu___1011_7283.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___990_7132.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1011_7283.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___990_7132.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1011_7283.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___990_7132.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1011_7283.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___990_7132.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1011_7283.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___990_7132.FStar_TypeChecker_Env.proof_ns); + (uu___1011_7283.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___990_7132.FStar_TypeChecker_Env.synth_hook); + (uu___1011_7283.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___990_7132.FStar_TypeChecker_Env.splice); + (uu___1011_7283.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___990_7132.FStar_TypeChecker_Env.postprocess); + (uu___1011_7283.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___990_7132.FStar_TypeChecker_Env.is_native_tactic); + (uu___1011_7283.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___990_7132.FStar_TypeChecker_Env.identifier_info); + (uu___1011_7283.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___990_7132.FStar_TypeChecker_Env.tc_hooks); + (uu___1011_7283.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___990_7132.FStar_TypeChecker_Env.dsenv); + (uu___1011_7283.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___990_7132.FStar_TypeChecker_Env.nbe) - } in + (uu___1011_7283.FStar_TypeChecker_Env.nbe) + } in let g_typ = FStar_TypeChecker_TcTerm.check_type_of_well_typed_term' true env term - ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_typ in - let uu____7135 + ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_typ + in + let uu____7286 = - let uu____7138 + let uu____7289 = if ps.FStar_Tactics_Types.tac_verb_dbg then - let uu____7142 + let uu____7293 = FStar_Syntax_Print.ctx_uvar_to_string - ctx_uvar in - let uu____7144 + ctx_uvar + in + let uu____7295 = FStar_Syntax_Print.term_to_string - term in + term in FStar_Util.format2 "apply_lemma solved arg %s to %s\n" - uu____7142 - uu____7144 + uu____7293 + uu____7295 else - "apply_lemma solved arg" in - let uu____7150 + "apply_lemma solved arg" + in + let uu____7301 = FStar_Tactics_Types.goal_env - goal in + goal in proc_guard - uu____7138 - uu____7150 - g_typ in + uu____7289 + uu____7301 + g_typ in bind - uu____7135 + uu____7286 (fun - uu____7154 - -> ret [])))))) in + uu____7305 + -> + ret [])))))) + in bind - uu____6981 + uu____7132 (fun sub_goals - -> + -> let sub_goals1 = FStar_List.flatten - sub_goals in + sub_goals + in let rec filter' f xs = match xs @@ -3350,190 +3666,201 @@ let (apply_lemma : FStar_Syntax_Syntax.term -> unit tac) = [] -> [] | x::xs1 -> - let uu____7218 - = f x xs1 in + let uu____7369 + = f x xs1 + in if - uu____7218 + uu____7369 then - let uu____7223 + let uu____7374 = filter' f - xs1 in x + xs1 in x :: - uu____7223 + uu____7374 else filter' f - xs1 in + xs1 in let sub_goals2 = filter' - (fun g -> - fun goals + (fun g -> - let uu____7238 + fun goals + -> + let uu____7389 = - let uu____7240 + let uu____7391 = FStar_Tactics_Types.goal_witness - g in + g in checkone - uu____7240 - goals in + uu____7391 + goals in Prims.op_Negation - uu____7238) - sub_goals1 in - let uu____7241 + uu____7389) + sub_goals1 + in + let uu____7392 = - let uu____7244 + let uu____7395 = FStar_Tactics_Types.goal_env - goal in + goal in proc_guard "apply_lemma guard" - uu____7244 - guard in + uu____7395 + guard in bind - uu____7241 + uu____7392 (fun - uu____7248 - -> - let uu____7249 + uu____7399 + -> + let uu____7400 = - let uu____7252 + let uu____7403 = - let uu____7254 + let uu____7405 = - let uu____7256 + let uu____7407 = FStar_Tactics_Types.goal_env - goal in - let uu____7257 + goal in + let uu____7408 = FStar_Syntax_Util.mk_squash FStar_Syntax_Syntax.U_zero - pre1 in + pre1 in istrivial - uu____7256 - uu____7257 in + uu____7407 + uu____7408 + in Prims.op_Negation - uu____7254 in + uu____7405 + in if - uu____7252 + uu____7403 then - let uu____7261 + let uu____7412 = FStar_Tactics_Types.goal_env - goal in + goal in add_irrelevant_goal "apply_lemma precondition" - uu____7261 + uu____7412 pre1 goal.FStar_Tactics_Types.opts goal.FStar_Tactics_Types.label else - ret () in + ret () + in bind - uu____7249 + uu____7400 (fun - uu____7266 - -> + uu____7417 + -> add_goals - sub_goals2))))))))))))) in - focus uu____6020 in - FStar_All.pipe_left (wrap_err "apply_lemma") uu____6017 + sub_goals2))))))))))))) + in + focus uu____6171 in + FStar_All.pipe_left (wrap_err "apply_lemma") uu____6168 + let (destruct_eq' : FStar_Reflection_Data.typ -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term) FStar_Pervasives_Native.option) = - fun typ -> - let uu____7290 = FStar_Syntax_Util.destruct_typ_as_formula typ in - match uu____7290 with + fun typ -> + let uu____7441 = FStar_Syntax_Util.destruct_typ_as_formula typ in + match uu____7441 with | FStar_Pervasives_Native.Some (FStar_Syntax_Util.BaseConn - (l, uu____7300::(e1, uu____7302)::(e2, uu____7304)::[])) when + (l,uu____7451::(e1,FStar_Pervasives_Native.None )::(e2,FStar_Pervasives_Native.None + )::[])) + when (FStar_Ident.lid_equals l FStar_Parser_Const.eq2_lid) || (FStar_Ident.lid_equals l FStar_Parser_Const.c_eq2_lid) -> FStar_Pervasives_Native.Some (e1, e2) - | uu____7365 -> - let uu____7368 = FStar_Syntax_Util.unb2t typ in - (match uu____7368 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (FStar_Syntax_Util.BaseConn + (l,uu____7511::uu____7512::(e1,uu____7514)::(e2,uu____7516)::[])) + when FStar_Ident.lid_equals l FStar_Parser_Const.eq3_lid -> + FStar_Pervasives_Native.Some (e1, e2) + | uu____7593 -> + let uu____7596 = FStar_Syntax_Util.unb2t typ in + (match uu____7596 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some t -> - ((let uu____7383 = FStar_Syntax_Print.term_to_string t in - FStar_Util.print1 "GG t = %s\n" uu____7383); - (let uu____7386 = FStar_Syntax_Util.head_and_args t in - match uu____7386 with - | (hd1, args) -> - let uu____7435 = - let uu____7450 = - let uu____7451 = FStar_Syntax_Subst.compress hd1 in - uu____7451.FStar_Syntax_Syntax.n in - (uu____7450, args) in - (match uu____7435 with - | (FStar_Syntax_Syntax.Tm_fvar fv, - (uu____7471, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____7472))::(e1, - FStar_Pervasives_Native.None):: - (e2, FStar_Pervasives_Native.None)::[]) when - FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.op_Eq - -> - ((let uu____7537 = - FStar_Syntax_Print.term_to_string e1 in - let uu____7539 = - FStar_Syntax_Print.term_to_string e2 in - FStar_Util.print2 "wat %s -- %s\n" uu____7537 - uu____7539); - FStar_Pervasives_Native.Some (e1, e2)) - | uu____7546 -> FStar_Pervasives_Native.None)))) + let uu____7610 = FStar_Syntax_Util.head_and_args t in + (match uu____7610 with + | (hd1,args) -> + let uu____7659 = + let uu____7674 = + let uu____7675 = FStar_Syntax_Subst.compress hd1 in + uu____7675.FStar_Syntax_Syntax.n in + (uu____7674, args) in + (match uu____7659 with + | (FStar_Syntax_Syntax.Tm_fvar + fv,(uu____7695,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit uu____7696)):: + (e1,FStar_Pervasives_Native.None )::(e2,FStar_Pervasives_Native.None + )::[]) + when + FStar_Syntax_Syntax.fv_eq_lid fv + FStar_Parser_Const.op_Eq + -> FStar_Pervasives_Native.Some (e1, e2) + | uu____7764 -> FStar_Pervasives_Native.None))) + let (destruct_eq : FStar_Reflection_Data.typ -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term) FStar_Pervasives_Native.option) = - fun typ -> - let uu____7583 = destruct_eq' typ in - match uu____7583 with + fun typ -> + let uu____7801 = destruct_eq' typ in + match uu____7801 with | FStar_Pervasives_Native.Some t -> FStar_Pervasives_Native.Some t - | FStar_Pervasives_Native.None -> - let uu____7613 = FStar_Syntax_Util.un_squash typ in - (match uu____7613 with + | FStar_Pervasives_Native.None -> + let uu____7831 = FStar_Syntax_Util.un_squash typ in + (match uu____7831 with | FStar_Pervasives_Native.Some typ1 -> destruct_eq' typ1 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) + let (split_env : FStar_Syntax_Syntax.bv -> env -> (env * FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.bv Prims.list) FStar_Pervasives_Native.option) = - fun bvar -> - fun e -> + fun bvar -> + fun e -> let rec aux e1 = - let uu____7682 = FStar_TypeChecker_Env.pop_bv e1 in - match uu____7682 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (bv', e') -> + let uu____7900 = FStar_TypeChecker_Env.pop_bv e1 in + match uu____7900 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (bv',e') -> if FStar_Syntax_Syntax.bv_eq bvar bv' then FStar_Pervasives_Native.Some (e', bv', []) else - (let uu____7740 = aux e' in - FStar_Util.map_opt uu____7740 - (fun uu____7771 -> - match uu____7771 with - | (e'', bv, bvs) -> (e'', bv, (bv' :: bvs)))) in - let uu____7797 = aux e in - FStar_Util.map_opt uu____7797 - (fun uu____7828 -> - match uu____7828 with - | (e', bv, bvs) -> (e', bv, (FStar_List.rev bvs))) + (let uu____7958 = aux e' in + FStar_Util.map_opt uu____7958 + (fun uu____7989 -> + match uu____7989 with + | (e'',bv,bvs) -> (e'', bv, (bv' :: bvs)))) + in + let uu____8015 = aux e in + FStar_Util.map_opt uu____8015 + (fun uu____8046 -> + match uu____8046 with + | (e',bv,bvs) -> (e', bv, (FStar_List.rev bvs))) + let (push_bvs : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.bv Prims.list -> FStar_TypeChecker_Env.env) = - fun e -> - fun bvs -> + fun e -> + fun bvs -> FStar_List.fold_left - (fun e1 -> fun b -> FStar_TypeChecker_Env.push_bv e1 b) e bvs + (fun e1 -> fun b -> FStar_TypeChecker_Env.push_bv e1 b) e bvs + let (subst_goal : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.bv -> @@ -3541,703 +3868,757 @@ let (subst_goal : FStar_Tactics_Types.goal -> FStar_Tactics_Types.goal FStar_Pervasives_Native.option) = - fun b1 -> - fun b2 -> - fun s -> - fun g -> - let uu____7902 = - let uu____7913 = FStar_Tactics_Types.goal_env g in - split_env b1 uu____7913 in - FStar_Util.map_opt uu____7902 - (fun uu____7931 -> - match uu____7931 with - | (e0, b11, bvs) -> + fun b1 -> + fun b2 -> + fun s -> + fun g -> + let uu____8120 = + let uu____8131 = FStar_Tactics_Types.goal_env g in + split_env b1 uu____8131 in + FStar_Util.map_opt uu____8120 + (fun uu____8149 -> + match uu____8149 with + | (e0,b11,bvs) -> let s1 bv = - let uu___1087_7953 = bv in - let uu____7954 = - FStar_Syntax_Subst.subst s bv.FStar_Syntax_Syntax.sort in + let uu___1119_8171 = bv in + let uu____8172 = + FStar_Syntax_Subst.subst s bv.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = - (uu___1087_7953.FStar_Syntax_Syntax.ppname); + (uu___1119_8171.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1087_7953.FStar_Syntax_Syntax.index); - FStar_Syntax_Syntax.sort = uu____7954 - } in - let bvs1 = FStar_List.map s1 bvs in - let new_env = push_bvs e0 (b2 :: bvs1) in + (uu___1119_8171.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort = uu____8172 + } in + let bvs1 = FStar_List.map s1 bvs in + let new_env = push_bvs e0 (b2 :: bvs1) in let new_goal = - let uu___1091_7962 = g.FStar_Tactics_Types.goal_ctx_uvar in - let uu____7963 = - FStar_TypeChecker_Env.all_binders new_env in - let uu____7972 = - let uu____7975 = FStar_Tactics_Types.goal_type g in - FStar_Syntax_Subst.subst s uu____7975 in + let uu___1123_8180 = g.FStar_Tactics_Types.goal_ctx_uvar + in + let uu____8181 = + FStar_TypeChecker_Env.all_binders new_env in + let uu____8190 = + let uu____8193 = FStar_Tactics_Types.goal_type g in + FStar_Syntax_Subst.subst s uu____8193 in { FStar_Syntax_Syntax.ctx_uvar_head = - (uu___1091_7962.FStar_Syntax_Syntax.ctx_uvar_head); + (uu___1123_8180.FStar_Syntax_Syntax.ctx_uvar_head); FStar_Syntax_Syntax.ctx_uvar_gamma = (new_env.FStar_TypeChecker_Env.gamma); - FStar_Syntax_Syntax.ctx_uvar_binders = uu____7963; - FStar_Syntax_Syntax.ctx_uvar_typ = uu____7972; + FStar_Syntax_Syntax.ctx_uvar_binders = uu____8181; + FStar_Syntax_Syntax.ctx_uvar_typ = uu____8190; FStar_Syntax_Syntax.ctx_uvar_reason = - (uu___1091_7962.FStar_Syntax_Syntax.ctx_uvar_reason); + (uu___1123_8180.FStar_Syntax_Syntax.ctx_uvar_reason); FStar_Syntax_Syntax.ctx_uvar_should_check = - (uu___1091_7962.FStar_Syntax_Syntax.ctx_uvar_should_check); + (uu___1123_8180.FStar_Syntax_Syntax.ctx_uvar_should_check); FStar_Syntax_Syntax.ctx_uvar_range = - (uu___1091_7962.FStar_Syntax_Syntax.ctx_uvar_range); + (uu___1123_8180.FStar_Syntax_Syntax.ctx_uvar_range); FStar_Syntax_Syntax.ctx_uvar_meta = - (uu___1091_7962.FStar_Syntax_Syntax.ctx_uvar_meta) - } in - let uu___1094_7976 = g in + (uu___1123_8180.FStar_Syntax_Syntax.ctx_uvar_meta) + } in + let uu___1126_8194 = g in { FStar_Tactics_Types.goal_main_env = - (uu___1094_7976.FStar_Tactics_Types.goal_main_env); + (uu___1126_8194.FStar_Tactics_Types.goal_main_env); FStar_Tactics_Types.goal_ctx_uvar = new_goal; FStar_Tactics_Types.opts = - (uu___1094_7976.FStar_Tactics_Types.opts); + (uu___1126_8194.FStar_Tactics_Types.opts); FStar_Tactics_Types.is_guard = - (uu___1094_7976.FStar_Tactics_Types.is_guard); + (uu___1126_8194.FStar_Tactics_Types.is_guard); FStar_Tactics_Types.label = - (uu___1094_7976.FStar_Tactics_Types.label) + (uu___1126_8194.FStar_Tactics_Types.label) }) + let (rewrite : FStar_Syntax_Syntax.binder -> unit tac) = - fun h -> - let uu____7987 = - let uu____7990 = cur_goal () in - bind uu____7990 - (fun goal -> - let uu____7998 = h in - match uu____7998 with - | (bv, uu____8002) -> + fun h -> + let uu____8205 = + let uu____8208 = cur_goal () in + bind uu____8208 + (fun goal -> + let uu____8216 = h in + match uu____8216 with + | (bv,uu____8220) -> mlog - (fun uu____8010 -> - let uu____8011 = FStar_Syntax_Print.bv_to_string bv in - let uu____8013 = + (fun uu____8228 -> + let uu____8229 = FStar_Syntax_Print.bv_to_string bv in + let uu____8231 = FStar_Syntax_Print.term_to_string - bv.FStar_Syntax_Syntax.sort in - FStar_Util.print2 "+++Rewrite %s : %s\n" uu____8011 - uu____8013) - (fun uu____8018 -> - let uu____8019 = - let uu____8030 = FStar_Tactics_Types.goal_env goal in - split_env bv uu____8030 in - match uu____8019 with - | FStar_Pervasives_Native.None -> + bv.FStar_Syntax_Syntax.sort + in + FStar_Util.print2 "+++Rewrite %s : %s\n" uu____8229 + uu____8231) + (fun uu____8236 -> + let uu____8237 = + let uu____8248 = FStar_Tactics_Types.goal_env goal in + split_env bv uu____8248 in + match uu____8237 with + | FStar_Pervasives_Native.None -> fail "binder not found in environment" - | FStar_Pervasives_Native.Some (e0, bv1, bvs) -> - let uu____8057 = - destruct_eq bv1.FStar_Syntax_Syntax.sort in - (match uu____8057 with - | FStar_Pervasives_Native.Some (x, e) -> - let uu____8072 = - let uu____8073 = FStar_Syntax_Subst.compress x in - uu____8073.FStar_Syntax_Syntax.n in - (match uu____8072 with + | FStar_Pervasives_Native.Some (e0,bv1,bvs) -> + let uu____8275 = + destruct_eq bv1.FStar_Syntax_Syntax.sort in + (match uu____8275 with + | FStar_Pervasives_Native.Some (x,e) -> + let uu____8290 = + let uu____8291 = FStar_Syntax_Subst.compress x + in + uu____8291.FStar_Syntax_Syntax.n in + (match uu____8290 with | FStar_Syntax_Syntax.Tm_name x1 -> - let s = [FStar_Syntax_Syntax.NT (x1, e)] in + let s = [FStar_Syntax_Syntax.NT (x1, e)] + in let s1 bv2 = - let uu___1117_8090 = bv2 in - let uu____8091 = + let uu___1149_8308 = bv2 in + let uu____8309 = FStar_Syntax_Subst.subst s - bv2.FStar_Syntax_Syntax.sort in + bv2.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = - (uu___1117_8090.FStar_Syntax_Syntax.ppname); + (uu___1149_8308.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1117_8090.FStar_Syntax_Syntax.index); - FStar_Syntax_Syntax.sort = uu____8091 - } in - let bvs1 = FStar_List.map s1 bvs in - let new_env = push_bvs e0 (bv1 :: bvs1) in + (uu___1149_8308.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort = uu____8309 + } in + let bvs1 = FStar_List.map s1 bvs in + let new_env = push_bvs e0 (bv1 :: bvs1) in let new_goal = - let uu___1121_8099 = - goal.FStar_Tactics_Types.goal_ctx_uvar in - let uu____8100 = + let uu___1153_8317 = + goal.FStar_Tactics_Types.goal_ctx_uvar + in + let uu____8318 = FStar_TypeChecker_Env.all_binders - new_env in - let uu____8109 = - let uu____8112 = - FStar_Tactics_Types.goal_type goal in - FStar_Syntax_Subst.subst s uu____8112 in + new_env + in + let uu____8327 = + let uu____8330 = + FStar_Tactics_Types.goal_type goal + in + FStar_Syntax_Subst.subst s uu____8330 + in { FStar_Syntax_Syntax.ctx_uvar_head = - (uu___1121_8099.FStar_Syntax_Syntax.ctx_uvar_head); + (uu___1153_8317.FStar_Syntax_Syntax.ctx_uvar_head); FStar_Syntax_Syntax.ctx_uvar_gamma = (new_env.FStar_TypeChecker_Env.gamma); FStar_Syntax_Syntax.ctx_uvar_binders = - uu____8100; + uu____8318; FStar_Syntax_Syntax.ctx_uvar_typ = - uu____8109; + uu____8327; FStar_Syntax_Syntax.ctx_uvar_reason = - (uu___1121_8099.FStar_Syntax_Syntax.ctx_uvar_reason); + (uu___1153_8317.FStar_Syntax_Syntax.ctx_uvar_reason); FStar_Syntax_Syntax.ctx_uvar_should_check = - (uu___1121_8099.FStar_Syntax_Syntax.ctx_uvar_should_check); + (uu___1153_8317.FStar_Syntax_Syntax.ctx_uvar_should_check); FStar_Syntax_Syntax.ctx_uvar_range = - (uu___1121_8099.FStar_Syntax_Syntax.ctx_uvar_range); + (uu___1153_8317.FStar_Syntax_Syntax.ctx_uvar_range); FStar_Syntax_Syntax.ctx_uvar_meta = - (uu___1121_8099.FStar_Syntax_Syntax.ctx_uvar_meta) - } in + (uu___1153_8317.FStar_Syntax_Syntax.ctx_uvar_meta) + } in replace_cur - (let uu___1124_8115 = goal in + (let uu___1156_8333 = goal in { FStar_Tactics_Types.goal_main_env = - (uu___1124_8115.FStar_Tactics_Types.goal_main_env); + (uu___1156_8333.FStar_Tactics_Types.goal_main_env); FStar_Tactics_Types.goal_ctx_uvar = new_goal; FStar_Tactics_Types.opts = - (uu___1124_8115.FStar_Tactics_Types.opts); + (uu___1156_8333.FStar_Tactics_Types.opts); FStar_Tactics_Types.is_guard = - (uu___1124_8115.FStar_Tactics_Types.is_guard); + (uu___1156_8333.FStar_Tactics_Types.is_guard); FStar_Tactics_Types.label = - (uu___1124_8115.FStar_Tactics_Types.label) + (uu___1156_8333.FStar_Tactics_Types.label) }) - | uu____8116 -> + | uu____8334 -> fail "Not an equality hypothesis with a variable on the LHS") - | uu____8118 -> fail "Not an equality hypothesis"))) in - FStar_All.pipe_left (wrap_err "rewrite") uu____7987 + | uu____8336 -> fail "Not an equality hypothesis"))) + in + FStar_All.pipe_left (wrap_err "rewrite") uu____8205 + let (rename_to : FStar_Syntax_Syntax.binder -> Prims.string -> unit tac) = - fun b -> - fun s -> - let uu____8148 = - let uu____8151 = cur_goal () in - bind uu____8151 - (fun goal -> - let uu____8162 = b in - match uu____8162 with - | (bv, uu____8166) -> + fun b -> + fun s -> + let uu____8366 = + let uu____8369 = cur_goal () in + bind uu____8369 + (fun goal -> + let uu____8380 = b in + match uu____8380 with + | (bv,uu____8384) -> let bv' = - let uu____8172 = - let uu___1135_8173 = bv in - let uu____8174 = + let uu____8390 = + let uu___1167_8391 = bv in + let uu____8392 = FStar_Ident.mk_ident (s, - ((bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idRange)) in + ((bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idRange)) + in { - FStar_Syntax_Syntax.ppname = uu____8174; + FStar_Syntax_Syntax.ppname = uu____8392; FStar_Syntax_Syntax.index = - (uu___1135_8173.FStar_Syntax_Syntax.index); + (uu___1167_8391.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = - (uu___1135_8173.FStar_Syntax_Syntax.sort) - } in - FStar_Syntax_Syntax.freshen_bv uu____8172 in + (uu___1167_8391.FStar_Syntax_Syntax.sort) + } in + FStar_Syntax_Syntax.freshen_bv uu____8390 in let s1 = - let uu____8179 = - let uu____8180 = - let uu____8187 = FStar_Syntax_Syntax.bv_to_name bv' in - (bv, uu____8187) in - FStar_Syntax_Syntax.NT uu____8180 in - [uu____8179] in - let uu____8192 = subst_goal bv bv' s1 goal in - (match uu____8192 with - | FStar_Pervasives_Native.None -> + let uu____8397 = + let uu____8398 = + let uu____8405 = FStar_Syntax_Syntax.bv_to_name bv' + in + (bv, uu____8405) in + FStar_Syntax_Syntax.NT uu____8398 in + [uu____8397] in + let uu____8410 = subst_goal bv bv' s1 goal in + (match uu____8410 with + | FStar_Pervasives_Native.None -> fail "binder not found in environment" - | FStar_Pervasives_Native.Some goal1 -> replace_cur goal1)) in - FStar_All.pipe_left (wrap_err "rename_to") uu____8148 + | FStar_Pervasives_Native.Some goal1 -> replace_cur goal1)) + in + FStar_All.pipe_left (wrap_err "rename_to") uu____8366 + let (binder_retype : FStar_Syntax_Syntax.binder -> unit tac) = - fun b -> - let uu____8214 = - let uu____8217 = cur_goal () in - bind uu____8217 - (fun goal -> - let uu____8226 = b in - match uu____8226 with - | (bv, uu____8230) -> - let uu____8235 = - let uu____8246 = FStar_Tactics_Types.goal_env goal in - split_env bv uu____8246 in - (match uu____8235 with - | FStar_Pervasives_Native.None -> + fun b -> + let uu____8432 = + let uu____8435 = cur_goal () in + bind uu____8435 + (fun goal -> + let uu____8444 = b in + match uu____8444 with + | (bv,uu____8448) -> + let uu____8453 = + let uu____8464 = FStar_Tactics_Types.goal_env goal in + split_env bv uu____8464 in + (match uu____8453 with + | FStar_Pervasives_Native.None -> fail "binder is not present in environment" - | FStar_Pervasives_Native.Some (e0, bv1, bvs) -> - let uu____8273 = FStar_Syntax_Util.type_u () in - (match uu____8273 with - | (ty, u) -> - let uu____8282 = new_uvar "binder_retype" e0 ty in - bind uu____8282 - (fun uu____8301 -> - match uu____8301 with - | (t', u_t') -> + | FStar_Pervasives_Native.Some (e0,bv1,bvs) -> + let uu____8491 = FStar_Syntax_Util.type_u () in + (match uu____8491 with + | (ty,u) -> + let uu____8500 = new_uvar "binder_retype" e0 ty in + bind uu____8500 + (fun uu____8519 -> + match uu____8519 with + | (t',u_t') -> let bv'' = - let uu___1159_8311 = bv1 in + let uu___1191_8529 = bv1 in { FStar_Syntax_Syntax.ppname = - (uu___1159_8311.FStar_Syntax_Syntax.ppname); + (uu___1191_8529.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1159_8311.FStar_Syntax_Syntax.index); + (uu___1191_8529.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t' - } in + } in let s = - let uu____8315 = - let uu____8316 = - let uu____8323 = - FStar_Syntax_Syntax.bv_to_name bv'' in - (bv1, uu____8323) in - FStar_Syntax_Syntax.NT uu____8316 in - [uu____8315] in + let uu____8533 = + let uu____8534 = + let uu____8541 = + FStar_Syntax_Syntax.bv_to_name bv'' + in + (bv1, uu____8541) in + FStar_Syntax_Syntax.NT uu____8534 in + [uu____8533] in let bvs1 = FStar_List.map - (fun b1 -> - let uu___1164_8335 = b1 in - let uu____8336 = + (fun b1 -> + let uu___1196_8553 = b1 in + let uu____8554 = FStar_Syntax_Subst.subst s - b1.FStar_Syntax_Syntax.sort in + b1.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = - (uu___1164_8335.FStar_Syntax_Syntax.ppname); + (uu___1196_8553.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1164_8335.FStar_Syntax_Syntax.index); + (uu___1196_8553.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = - uu____8336 - }) bvs in - let env' = push_bvs e0 (bv'' :: bvs1) in + uu____8554 + }) bvs + in + let env' = push_bvs e0 (bv'' :: bvs1) in bind __dismiss - (fun uu____8343 -> + (fun uu____8561 -> let new_goal = - let uu____8345 = + let uu____8563 = FStar_Tactics_Types.goal_with_env - goal env' in - let uu____8346 = - let uu____8347 = + goal env' + in + let uu____8564 = + let uu____8565 = FStar_Tactics_Types.goal_type - goal in + goal + in FStar_Syntax_Subst.subst s - uu____8347 in + uu____8565 + in FStar_Tactics_Types.goal_with_type - uu____8345 uu____8346 in - let uu____8348 = add_goals [new_goal] in - bind uu____8348 - (fun uu____8353 -> - let uu____8354 = + uu____8563 uu____8564 + in + let uu____8566 = add_goals [new_goal] + in + bind uu____8566 + (fun uu____8571 -> + let uu____8572 = FStar_Syntax_Util.mk_eq2 (FStar_Syntax_Syntax.U_succ u) ty bv1.FStar_Syntax_Syntax.sort - t' in + t' + in add_irrelevant_goal "binder_retype equation" e0 - uu____8354 + uu____8572 goal.FStar_Tactics_Types.opts - goal.FStar_Tactics_Types.label)))))) in - FStar_All.pipe_left (wrap_err "binder_retype") uu____8214 + goal.FStar_Tactics_Types.label)))))) + in + FStar_All.pipe_left (wrap_err "binder_retype") uu____8432 + let (norm_binder_type : FStar_Syntax_Embeddings.norm_step Prims.list -> FStar_Syntax_Syntax.binder -> unit tac) = - fun s -> - fun b -> - let uu____8380 = - let uu____8383 = cur_goal () in - bind uu____8383 - (fun goal -> - let uu____8392 = b in - match uu____8392 with - | (bv, uu____8396) -> - let uu____8401 = - let uu____8412 = FStar_Tactics_Types.goal_env goal in - split_env bv uu____8412 in - (match uu____8401 with - | FStar_Pervasives_Native.None -> + fun s -> + fun b -> + let uu____8598 = + let uu____8601 = cur_goal () in + bind uu____8601 + (fun goal -> + let uu____8610 = b in + match uu____8610 with + | (bv,uu____8614) -> + let uu____8619 = + let uu____8630 = FStar_Tactics_Types.goal_env goal in + split_env bv uu____8630 in + (match uu____8619 with + | FStar_Pervasives_Native.None -> fail "binder is not present in environment" - | FStar_Pervasives_Native.Some (e0, bv1, bvs) -> + | FStar_Pervasives_Native.Some (e0,bv1,bvs) -> let steps = - let uu____8442 = - FStar_TypeChecker_Normalize.tr_norm_steps s in + let uu____8660 = + FStar_TypeChecker_Normalize.tr_norm_steps s in FStar_List.append [FStar_TypeChecker_Env.Reify; - FStar_TypeChecker_Env.UnfoldTac] uu____8442 in + FStar_TypeChecker_Env.UnfoldTac] uu____8660 + in let sort' = - normalize steps e0 bv1.FStar_Syntax_Syntax.sort in + normalize steps e0 bv1.FStar_Syntax_Syntax.sort in let bv' = - let uu___1185_8447 = bv1 in + let uu___1217_8665 = bv1 in { FStar_Syntax_Syntax.ppname = - (uu___1185_8447.FStar_Syntax_Syntax.ppname); + (uu___1217_8665.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1185_8447.FStar_Syntax_Syntax.index); + (uu___1217_8665.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = sort' - } in - let env' = push_bvs e0 (bv' :: bvs) in - let uu____8449 = - FStar_Tactics_Types.goal_with_env goal env' in - replace_cur uu____8449)) in - FStar_All.pipe_left (wrap_err "norm_binder_type") uu____8380 + } in + let env' = push_bvs e0 (bv' :: bvs) in + let uu____8667 = + FStar_Tactics_Types.goal_with_env goal env' in + replace_cur uu____8667)) + in + FStar_All.pipe_left (wrap_err "norm_binder_type") uu____8598 + let (revert : unit -> unit tac) = - fun uu____8462 -> - let uu____8465 = cur_goal () in - bind uu____8465 - (fun goal -> - let uu____8471 = - let uu____8478 = FStar_Tactics_Types.goal_env goal in - FStar_TypeChecker_Env.pop_bv uu____8478 in - match uu____8471 with - | FStar_Pervasives_Native.None -> + fun uu____8680 -> + let uu____8683 = cur_goal () in + bind uu____8683 + (fun goal -> + let uu____8689 = + let uu____8696 = FStar_Tactics_Types.goal_env goal in + FStar_TypeChecker_Env.pop_bv uu____8696 in + match uu____8689 with + | FStar_Pervasives_Native.None -> fail "Cannot revert; empty context" - | FStar_Pervasives_Native.Some (x, env') -> + | FStar_Pervasives_Native.Some (x,env') -> let typ' = - let uu____8495 = - let uu____8498 = FStar_Tactics_Types.goal_type goal in - FStar_Syntax_Syntax.mk_Total uu____8498 in + let uu____8713 = + let uu____8716 = FStar_Tactics_Types.goal_type goal in + FStar_Syntax_Syntax.mk_Total uu____8716 in FStar_Syntax_Util.arrow [(x, FStar_Pervasives_Native.None)] - uu____8495 in - let uu____8513 = new_uvar "revert" env' typ' in - bind uu____8513 - (fun uu____8529 -> - match uu____8529 with - | (r, u_r) -> - let uu____8538 = - let uu____8541 = - let uu____8542 = - let uu____8543 = - FStar_Tactics_Types.goal_type goal in - uu____8543.FStar_Syntax_Syntax.pos in - let uu____8546 = - let uu____8551 = - let uu____8552 = - let uu____8561 = - FStar_Syntax_Syntax.bv_to_name x in - FStar_Syntax_Syntax.as_arg uu____8561 in - [uu____8552] in - FStar_Syntax_Syntax.mk_Tm_app r uu____8551 in - uu____8546 FStar_Pervasives_Native.None uu____8542 in - set_solution goal uu____8541 in - bind uu____8538 - (fun uu____8580 -> + uu____8713 + in + let uu____8731 = new_uvar "revert" env' typ' in + bind uu____8731 + (fun uu____8747 -> + match uu____8747 with + | (r,u_r) -> + let uu____8756 = + let uu____8759 = + let uu____8760 = + let uu____8761 = + FStar_Tactics_Types.goal_type goal in + uu____8761.FStar_Syntax_Syntax.pos in + let uu____8764 = + let uu____8769 = + let uu____8770 = + let uu____8779 = + FStar_Syntax_Syntax.bv_to_name x in + FStar_Syntax_Syntax.as_arg uu____8779 in + [uu____8770] in + FStar_Syntax_Syntax.mk_Tm_app r uu____8769 in + uu____8764 FStar_Pervasives_Native.None uu____8760 + in + set_solution goal uu____8759 in + bind uu____8756 + (fun uu____8798 -> let g = FStar_Tactics_Types.mk_goal env' u_r goal.FStar_Tactics_Types.opts goal.FStar_Tactics_Types.is_guard - goal.FStar_Tactics_Types.label in + goal.FStar_Tactics_Types.label + in replace_cur g))) + let (free_in : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun bv -> - fun t -> - let uu____8594 = FStar_Syntax_Free.names t in - FStar_Util.set_mem bv uu____8594 + fun bv -> + fun t -> + let uu____8812 = FStar_Syntax_Free.names t in + FStar_Util.set_mem bv uu____8812 + let rec (clear : FStar_Syntax_Syntax.binder -> unit tac) = - fun b -> - let bv = FStar_Pervasives_Native.fst b in - let uu____8610 = cur_goal () in - bind uu____8610 - (fun goal -> + fun b -> + let bv = FStar_Pervasives_Native.fst b in + let uu____8828 = cur_goal () in + bind uu____8828 + (fun goal -> mlog - (fun uu____8618 -> - let uu____8619 = FStar_Syntax_Print.binder_to_string b in - let uu____8621 = - let uu____8623 = - let uu____8625 = - let uu____8634 = FStar_Tactics_Types.goal_env goal in - FStar_TypeChecker_Env.all_binders uu____8634 in - FStar_All.pipe_right uu____8625 FStar_List.length in - FStar_All.pipe_right uu____8623 FStar_Util.string_of_int in + (fun uu____8836 -> + let uu____8837 = FStar_Syntax_Print.binder_to_string b in + let uu____8839 = + let uu____8841 = + let uu____8843 = + let uu____8852 = FStar_Tactics_Types.goal_env goal in + FStar_TypeChecker_Env.all_binders uu____8852 in + FStar_All.pipe_right uu____8843 FStar_List.length in + FStar_All.pipe_right uu____8841 FStar_Util.string_of_int in FStar_Util.print2 "Clear of (%s), env has %s binders\n" - uu____8619 uu____8621) - (fun uu____8655 -> - let uu____8656 = - let uu____8667 = FStar_Tactics_Types.goal_env goal in - split_env bv uu____8667 in - match uu____8656 with - | FStar_Pervasives_Native.None -> + uu____8837 uu____8839) + (fun uu____8873 -> + let uu____8874 = + let uu____8885 = FStar_Tactics_Types.goal_env goal in + split_env bv uu____8885 in + match uu____8874 with + | FStar_Pervasives_Native.None -> fail "Cannot clear; binder not in environment" - | FStar_Pervasives_Native.Some (e', bv1, bvs) -> + | FStar_Pervasives_Native.Some (e',bv1,bvs) -> let rec check1 bvs1 = match bvs1 with | [] -> ret () | bv'::bvs2 -> - let uu____8712 = - free_in bv1 bv'.FStar_Syntax_Syntax.sort in - if uu____8712 + let uu____8930 = + free_in bv1 bv'.FStar_Syntax_Syntax.sort in + if uu____8930 then - let uu____8717 = - let uu____8719 = - FStar_Syntax_Print.bv_to_string bv' in + let uu____8935 = + let uu____8937 = + FStar_Syntax_Print.bv_to_string bv' in FStar_Util.format1 "Cannot clear; binder present in the type of %s" - uu____8719 in - fail uu____8717 - else check1 bvs2 in - let uu____8724 = - let uu____8726 = FStar_Tactics_Types.goal_type goal in - free_in bv1 uu____8726 in - if uu____8724 + uu____8937 + in + fail uu____8935 + else check1 bvs2 + in + let uu____8942 = + let uu____8944 = FStar_Tactics_Types.goal_type goal in + free_in bv1 uu____8944 in + if uu____8942 then fail "Cannot clear; binder present in goal" else - (let uu____8733 = check1 bvs in - bind uu____8733 - (fun uu____8739 -> - let env' = push_bvs e' bvs in - let uu____8741 = - let uu____8748 = - FStar_Tactics_Types.goal_type goal in - new_uvar "clear.witness" env' uu____8748 in - bind uu____8741 - (fun uu____8758 -> - match uu____8758 with - | (ut, uvar_ut) -> - let uu____8767 = set_solution goal ut in - bind uu____8767 - (fun uu____8772 -> - let uu____8773 = + (let uu____8951 = check1 bvs in + bind uu____8951 + (fun uu____8957 -> + let env' = push_bvs e' bvs in + let uu____8959 = + let uu____8966 = + FStar_Tactics_Types.goal_type goal in + new_uvar "clear.witness" env' uu____8966 in + bind uu____8959 + (fun uu____8976 -> + match uu____8976 with + | (ut,uvar_ut) -> + let uu____8985 = set_solution goal ut in + bind uu____8985 + (fun uu____8990 -> + let uu____8991 = FStar_Tactics_Types.mk_goal env' uvar_ut goal.FStar_Tactics_Types.opts goal.FStar_Tactics_Types.is_guard - goal.FStar_Tactics_Types.label in - replace_cur uu____8773)))))) + goal.FStar_Tactics_Types.label + in + replace_cur uu____8991)))))) + let (clear_top : unit -> unit tac) = - fun uu____8781 -> - let uu____8784 = cur_goal () in - bind uu____8784 - (fun goal -> - let uu____8790 = - let uu____8797 = FStar_Tactics_Types.goal_env goal in - FStar_TypeChecker_Env.pop_bv uu____8797 in - match uu____8790 with - | FStar_Pervasives_Native.None -> fail "Cannot clear; empty context" - | FStar_Pervasives_Native.Some (x, uu____8806) -> - let uu____8811 = FStar_Syntax_Syntax.mk_binder x in - clear uu____8811) + fun uu____8999 -> + let uu____9002 = cur_goal () in + bind uu____9002 + (fun goal -> + let uu____9008 = + let uu____9015 = FStar_Tactics_Types.goal_env goal in + FStar_TypeChecker_Env.pop_bv uu____9015 in + match uu____9008 with + | FStar_Pervasives_Native.None -> + fail "Cannot clear; empty context" + | FStar_Pervasives_Native.Some (x,uu____9024) -> + let uu____9029 = FStar_Syntax_Syntax.mk_binder x in + clear uu____9029) + let (prune : Prims.string -> unit tac) = - fun s -> - let uu____8824 = cur_goal () in - bind uu____8824 - (fun g -> - let ctx = FStar_Tactics_Types.goal_env g in + fun s -> + let uu____9042 = cur_goal () in + bind uu____9042 + (fun g -> + let ctx = FStar_Tactics_Types.goal_env g in let ctx' = - let uu____8834 = FStar_Ident.path_of_text s in - FStar_TypeChecker_Env.rem_proof_ns ctx uu____8834 in - let g' = FStar_Tactics_Types.goal_with_env g ctx' in - bind __dismiss (fun uu____8837 -> add_goals [g'])) + let uu____9052 = FStar_Ident.path_of_text s in + FStar_TypeChecker_Env.rem_proof_ns ctx uu____9052 in + let g' = FStar_Tactics_Types.goal_with_env g ctx' in + bind __dismiss (fun uu____9055 -> add_goals [g'])) + let (addns : Prims.string -> unit tac) = - fun s -> - let uu____8850 = cur_goal () in - bind uu____8850 - (fun g -> - let ctx = FStar_Tactics_Types.goal_env g in + fun s -> + let uu____9068 = cur_goal () in + bind uu____9068 + (fun g -> + let ctx = FStar_Tactics_Types.goal_env g in let ctx' = - let uu____8860 = FStar_Ident.path_of_text s in - FStar_TypeChecker_Env.add_proof_ns ctx uu____8860 in - let g' = FStar_Tactics_Types.goal_with_env g ctx' in - bind __dismiss (fun uu____8863 -> add_goals [g'])) + let uu____9078 = FStar_Ident.path_of_text s in + FStar_TypeChecker_Env.add_proof_ns ctx uu____9078 in + let g' = FStar_Tactics_Types.goal_with_env g ctx' in + bind __dismiss (fun uu____9081 -> add_goals [g'])) + let rec (tac_fold_env : FStar_Tactics_Types.direction -> (env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term tac) -> env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term tac) = - fun d -> - fun f -> - fun env -> - fun t -> + fun d -> + fun f -> + fun env -> + fun t -> let tn = - let uu____8904 = FStar_Syntax_Subst.compress t in - uu____8904.FStar_Syntax_Syntax.n in - let uu____8907 = + let uu____9122 = FStar_Syntax_Subst.compress t in + uu____9122.FStar_Syntax_Syntax.n in + let uu____9125 = if d = FStar_Tactics_Types.TopDown then f env - (let uu___1369_8914 = t in + (let uu___1401_9132 = t in { FStar_Syntax_Syntax.n = tn; FStar_Syntax_Syntax.pos = - (uu___1369_8914.FStar_Syntax_Syntax.pos); + (uu___1401_9132.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___1369_8914.FStar_Syntax_Syntax.vars) + (uu___1401_9132.FStar_Syntax_Syntax.vars) }) - else ret t in - bind uu____8907 - (fun t1 -> - let ff = tac_fold_env d f env in + else ret t in + bind uu____9125 + (fun t1 -> + let ff = tac_fold_env d f env in let tn1 = - let uu____8931 = - let uu____8932 = FStar_Syntax_Subst.compress t1 in - uu____8932.FStar_Syntax_Syntax.n in - match uu____8931 with - | FStar_Syntax_Syntax.Tm_app (hd1, args) -> - let uu____8963 = ff hd1 in - bind uu____8963 - (fun hd2 -> - let fa uu____8989 = - match uu____8989 with - | (a, q) -> - let uu____9010 = ff a in - bind uu____9010 (fun a1 -> ret (a1, q)) in - let uu____9029 = mapM fa args in - bind uu____9029 - (fun args1 -> + let uu____9149 = + let uu____9150 = FStar_Syntax_Subst.compress t1 in + uu____9150.FStar_Syntax_Syntax.n in + match uu____9149 with + | FStar_Syntax_Syntax.Tm_app (hd1,args) -> + let uu____9181 = ff hd1 in + bind uu____9181 + (fun hd2 -> + let fa uu____9207 = + match uu____9207 with + | (a,q) -> + let uu____9228 = ff a in + bind uu____9228 (fun a1 -> ret (a1, q)) + in + let uu____9247 = mapM fa args in + bind uu____9247 + (fun args1 -> ret (FStar_Syntax_Syntax.Tm_app (hd2, args1)))) - | FStar_Syntax_Syntax.Tm_abs (bs, t2, k) -> - let uu____9111 = FStar_Syntax_Subst.open_term bs t2 in - (match uu____9111 with - | (bs1, t') -> - let uu____9120 = - let uu____9123 = - FStar_TypeChecker_Env.push_binders env bs1 in - tac_fold_env d f uu____9123 t' in - bind uu____9120 - (fun t'' -> - let uu____9127 = - let uu____9128 = - let uu____9147 = - FStar_Syntax_Subst.close_binders bs1 in - let uu____9156 = - FStar_Syntax_Subst.close bs1 t'' in - (uu____9147, uu____9156, k) in - FStar_Syntax_Syntax.Tm_abs uu____9128 in - ret uu____9127)) - | FStar_Syntax_Syntax.Tm_arrow (bs, k) -> ret tn - | FStar_Syntax_Syntax.Tm_match (hd1, brs) -> - let uu____9231 = ff hd1 in - bind uu____9231 - (fun hd2 -> + | FStar_Syntax_Syntax.Tm_abs (bs,t2,k) -> + let uu____9329 = FStar_Syntax_Subst.open_term bs t2 in + (match uu____9329 with + | (bs1,t') -> + let uu____9338 = + let uu____9341 = + FStar_TypeChecker_Env.push_binders env bs1 in + tac_fold_env d f uu____9341 t' in + bind uu____9338 + (fun t'' -> + let uu____9345 = + let uu____9346 = + let uu____9365 = + FStar_Syntax_Subst.close_binders bs1 in + let uu____9374 = + FStar_Syntax_Subst.close bs1 t'' in + (uu____9365, uu____9374, k) in + FStar_Syntax_Syntax.Tm_abs uu____9346 in + ret uu____9345)) + | FStar_Syntax_Syntax.Tm_arrow (bs,k) -> ret tn + | FStar_Syntax_Syntax.Tm_match (hd1,brs) -> + let uu____9449 = ff hd1 in + bind uu____9449 + (fun hd2 -> let ffb br = - let uu____9246 = - FStar_Syntax_Subst.open_branch br in - match uu____9246 with - | (pat, w, e) -> - let bvs = FStar_Syntax_Syntax.pat_bvs pat in + let uu____9464 = + FStar_Syntax_Subst.open_branch br in + match uu____9464 with + | (pat,w,e) -> + let bvs = FStar_Syntax_Syntax.pat_bvs pat in let ff1 = - let uu____9278 = - FStar_TypeChecker_Env.push_bvs env bvs in - tac_fold_env d f uu____9278 in - let uu____9279 = ff1 e in - bind uu____9279 - (fun e1 -> + let uu____9496 = + FStar_TypeChecker_Env.push_bvs env bvs + in + tac_fold_env d f uu____9496 in + let uu____9497 = ff1 e in + bind uu____9497 + (fun e1 -> let br1 = FStar_Syntax_Subst.close_branch - (pat, w, e1) in - ret br1) in - let uu____9294 = mapM ffb brs in - bind uu____9294 - (fun brs1 -> + (pat, w, e1) + in + ret br1) + in + let uu____9512 = mapM ffb brs in + bind uu____9512 + (fun brs1 -> ret (FStar_Syntax_Syntax.Tm_match (hd2, brs1)))) | FStar_Syntax_Syntax.Tm_let - ((false, - { FStar_Syntax_Syntax.lbname = FStar_Util.Inl bv; - FStar_Syntax_Syntax.lbunivs = uu____9338; - FStar_Syntax_Syntax.lbtyp = uu____9339; - FStar_Syntax_Syntax.lbeff = uu____9340; - FStar_Syntax_Syntax.lbdef = def; - FStar_Syntax_Syntax.lbattrs = uu____9342; - FStar_Syntax_Syntax.lbpos = uu____9343;_}::[]), - e) + ((false + ,{ FStar_Syntax_Syntax.lbname = FStar_Util.Inl bv; + FStar_Syntax_Syntax.lbunivs = uu____9556; + FStar_Syntax_Syntax.lbtyp = uu____9557; + FStar_Syntax_Syntax.lbeff = uu____9558; + FStar_Syntax_Syntax.lbdef = def; + FStar_Syntax_Syntax.lbattrs = uu____9560; + FStar_Syntax_Syntax.lbpos = uu____9561;_}::[]),e) -> let lb = - let uu____9371 = - let uu____9372 = FStar_Syntax_Subst.compress t1 in - uu____9372.FStar_Syntax_Syntax.n in - match uu____9371 with + let uu____9589 = + let uu____9590 = FStar_Syntax_Subst.compress t1 in + uu____9590.FStar_Syntax_Syntax.n in + match uu____9589 with | FStar_Syntax_Syntax.Tm_let - ((false, lb::[]), uu____9376) -> lb - | uu____9392 -> failwith "impossible" in + ((false ,lb::[]),uu____9594) -> lb + | uu____9610 -> failwith "impossible" in let fflb lb1 = - let uu____9402 = ff lb1.FStar_Syntax_Syntax.lbdef in - bind uu____9402 - (fun def1 -> + let uu____9620 = ff lb1.FStar_Syntax_Syntax.lbdef in + bind uu____9620 + (fun def1 -> ret - (let uu___1322_9408 = lb1 in + (let uu___1354_9626 = lb1 in { FStar_Syntax_Syntax.lbname = - (uu___1322_9408.FStar_Syntax_Syntax.lbname); + (uu___1354_9626.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = - (uu___1322_9408.FStar_Syntax_Syntax.lbunivs); + (uu___1354_9626.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = - (uu___1322_9408.FStar_Syntax_Syntax.lbtyp); + (uu___1354_9626.FStar_Syntax_Syntax.lbtyp); FStar_Syntax_Syntax.lbeff = - (uu___1322_9408.FStar_Syntax_Syntax.lbeff); + (uu___1354_9626.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = def1; FStar_Syntax_Syntax.lbattrs = - (uu___1322_9408.FStar_Syntax_Syntax.lbattrs); + (uu___1354_9626.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___1322_9408.FStar_Syntax_Syntax.lbpos) - })) in - let uu____9409 = fflb lb in - bind uu____9409 - (fun lb1 -> - let uu____9419 = - let uu____9424 = - let uu____9425 = - FStar_Syntax_Syntax.mk_binder bv in - [uu____9425] in - FStar_Syntax_Subst.open_term uu____9424 e in - match uu____9419 with - | (bs, e1) -> + (uu___1354_9626.FStar_Syntax_Syntax.lbpos) + })) + in + let uu____9627 = fflb lb in + bind uu____9627 + (fun lb1 -> + let uu____9637 = + let uu____9642 = + let uu____9643 = + FStar_Syntax_Syntax.mk_binder bv in + [uu____9643] in + FStar_Syntax_Subst.open_term uu____9642 e in + match uu____9637 with + | (bs,e1) -> let ff1 = - let uu____9455 = - FStar_TypeChecker_Env.push_binders env bs in - tac_fold_env d f uu____9455 in - let uu____9456 = ff1 e1 in - bind uu____9456 - (fun e2 -> - let e3 = FStar_Syntax_Subst.close bs e2 in + let uu____9673 = + FStar_TypeChecker_Env.push_binders env bs + in + tac_fold_env d f uu____9673 in + let uu____9674 = ff1 e1 in + bind uu____9674 + (fun e2 -> + let e3 = FStar_Syntax_Subst.close bs e2 + in ret (FStar_Syntax_Syntax.Tm_let ((false, [lb1]), e3)))) - | FStar_Syntax_Syntax.Tm_let ((true, lbs), e) -> + | FStar_Syntax_Syntax.Tm_let ((true ,lbs),e) -> let fflb lb = - let uu____9503 = ff lb.FStar_Syntax_Syntax.lbdef in - bind uu____9503 - (fun def -> + let uu____9721 = ff lb.FStar_Syntax_Syntax.lbdef in + bind uu____9721 + (fun def -> ret - (let uu___1340_9509 = lb in + (let uu___1372_9727 = lb in { FStar_Syntax_Syntax.lbname = - (uu___1340_9509.FStar_Syntax_Syntax.lbname); + (uu___1372_9727.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = - (uu___1340_9509.FStar_Syntax_Syntax.lbunivs); + (uu___1372_9727.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = - (uu___1340_9509.FStar_Syntax_Syntax.lbtyp); + (uu___1372_9727.FStar_Syntax_Syntax.lbtyp); FStar_Syntax_Syntax.lbeff = - (uu___1340_9509.FStar_Syntax_Syntax.lbeff); + (uu___1372_9727.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = def; FStar_Syntax_Syntax.lbattrs = - (uu___1340_9509.FStar_Syntax_Syntax.lbattrs); + (uu___1372_9727.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___1340_9509.FStar_Syntax_Syntax.lbpos) - })) in - let uu____9510 = FStar_Syntax_Subst.open_let_rec lbs e in - (match uu____9510 with - | (lbs1, e1) -> - let uu____9525 = mapM fflb lbs1 in - bind uu____9525 - (fun lbs2 -> - let uu____9537 = ff e1 in - bind uu____9537 - (fun e2 -> - let uu____9545 = + (uu___1372_9727.FStar_Syntax_Syntax.lbpos) + })) + in + let uu____9728 = FStar_Syntax_Subst.open_let_rec lbs e + in + (match uu____9728 with + | (lbs1,e1) -> + let uu____9743 = mapM fflb lbs1 in + bind uu____9743 + (fun lbs2 -> + let uu____9755 = ff e1 in + bind uu____9755 + (fun e2 -> + let uu____9763 = FStar_Syntax_Subst.close_let_rec lbs2 - e2 in - match uu____9545 with - | (lbs3, e3) -> + e2 + in + match uu____9763 with + | (lbs3,e3) -> ret (FStar_Syntax_Syntax.Tm_let ((true, lbs3), e3))))) - | FStar_Syntax_Syntax.Tm_ascribed (t2, asc, eff) -> - let uu____9616 = ff t2 in - bind uu____9616 - (fun t3 -> + | FStar_Syntax_Syntax.Tm_ascribed (t2,asc,eff) -> + let uu____9834 = ff t2 in + bind uu____9834 + (fun t3 -> ret (FStar_Syntax_Syntax.Tm_ascribed (t3, asc, eff))) - | FStar_Syntax_Syntax.Tm_meta (t2, m) -> - let uu____9647 = ff t2 in - bind uu____9647 - (fun t3 -> ret (FStar_Syntax_Syntax.Tm_meta (t3, m))) - | uu____9654 -> ret tn in + | FStar_Syntax_Syntax.Tm_meta (t2,m) -> + let uu____9865 = ff t2 in + bind uu____9865 + (fun t3 -> ret (FStar_Syntax_Syntax.Tm_meta (t3, m))) + | uu____9872 -> ret tn in bind tn1 - (fun tn2 -> + (fun tn2 -> let t' = - let uu___1364_9661 = t1 in + let uu___1396_9879 = t1 in { FStar_Syntax_Syntax.n = tn2; FStar_Syntax_Syntax.pos = - (uu___1364_9661.FStar_Syntax_Syntax.pos); + (uu___1396_9879.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___1364_9661.FStar_Syntax_Syntax.vars) - } in + (uu___1396_9879.FStar_Syntax_Syntax.vars) + } in if d = FStar_Tactics_Types.BottomUp then f env t' else ret t')) + let (pointwise_rec : FStar_Tactics_Types.proofstate -> unit tac -> @@ -4246,237 +4627,254 @@ let (pointwise_rec : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term tac) = - fun ps -> - fun tau -> - fun opts -> - fun label1 -> - fun env -> - fun t -> - let uu____9708 = + fun ps -> + fun tau -> + fun opts -> + fun label1 -> + fun env -> + fun t -> + let uu____9926 = FStar_TypeChecker_TcTerm.tc_term - (let uu___1377_9717 = env in + (let uu___1409_9935 = env in { FStar_TypeChecker_Env.solver = - (uu___1377_9717.FStar_TypeChecker_Env.solver); + (uu___1409_9935.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1377_9717.FStar_TypeChecker_Env.range); + (uu___1409_9935.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1377_9717.FStar_TypeChecker_Env.curmodule); + (uu___1409_9935.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1377_9717.FStar_TypeChecker_Env.gamma); + (uu___1409_9935.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1377_9717.FStar_TypeChecker_Env.gamma_sig); + (uu___1409_9935.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1377_9717.FStar_TypeChecker_Env.gamma_cache); + (uu___1409_9935.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1377_9717.FStar_TypeChecker_Env.modules); + (uu___1409_9935.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1377_9717.FStar_TypeChecker_Env.expected_typ); + (uu___1409_9935.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1377_9717.FStar_TypeChecker_Env.sigtab); + (uu___1409_9935.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1377_9717.FStar_TypeChecker_Env.attrtab); + (uu___1409_9935.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1377_9717.FStar_TypeChecker_Env.is_pattern); + (uu___1409_9935.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1377_9717.FStar_TypeChecker_Env.instantiate_imp); + (uu___1409_9935.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1377_9717.FStar_TypeChecker_Env.effects); + (uu___1409_9935.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1377_9717.FStar_TypeChecker_Env.generalize); + (uu___1409_9935.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1377_9717.FStar_TypeChecker_Env.letrecs); + (uu___1409_9935.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1377_9717.FStar_TypeChecker_Env.top_level); + (uu___1409_9935.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1377_9717.FStar_TypeChecker_Env.check_uvars); + (uu___1409_9935.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1377_9717.FStar_TypeChecker_Env.use_eq); + (uu___1409_9935.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1377_9717.FStar_TypeChecker_Env.is_iface); + (uu___1409_9935.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1377_9717.FStar_TypeChecker_Env.admit); + (uu___1409_9935.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___1377_9717.FStar_TypeChecker_Env.lax_universes); + (uu___1409_9935.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1377_9717.FStar_TypeChecker_Env.phase1); + (uu___1409_9935.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1377_9717.FStar_TypeChecker_Env.failhard); + (uu___1409_9935.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1377_9717.FStar_TypeChecker_Env.nosynth); + (uu___1409_9935.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1377_9717.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1409_9935.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1377_9717.FStar_TypeChecker_Env.tc_term); + (uu___1409_9935.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1377_9717.FStar_TypeChecker_Env.type_of); + (uu___1409_9935.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1377_9717.FStar_TypeChecker_Env.universe_of); + (uu___1409_9935.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1377_9717.FStar_TypeChecker_Env.check_type_of); + (uu___1409_9935.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1377_9717.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1409_9935.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1377_9717.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1409_9935.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1377_9717.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1409_9935.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1377_9717.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1409_9935.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1377_9717.FStar_TypeChecker_Env.proof_ns); + (uu___1409_9935.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1377_9717.FStar_TypeChecker_Env.synth_hook); + (uu___1409_9935.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1377_9717.FStar_TypeChecker_Env.splice); + (uu___1409_9935.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1377_9717.FStar_TypeChecker_Env.postprocess); + (uu___1409_9935.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1377_9717.FStar_TypeChecker_Env.is_native_tactic); + (uu___1409_9935.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1377_9717.FStar_TypeChecker_Env.identifier_info); + (uu___1409_9935.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1377_9717.FStar_TypeChecker_Env.tc_hooks); + (uu___1409_9935.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1377_9717.FStar_TypeChecker_Env.dsenv); + (uu___1409_9935.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1377_9717.FStar_TypeChecker_Env.nbe) - }) t in - match uu____9708 with - | (t1, lcomp, g) -> - let uu____9724 = - (let uu____9728 = - FStar_Syntax_Util.is_pure_or_ghost_lcomp lcomp in - Prims.op_Negation uu____9728) || - (let uu____9731 = FStar_TypeChecker_Env.is_trivial g in - Prims.op_Negation uu____9731) in - if uu____9724 + (uu___1409_9935.FStar_TypeChecker_Env.nbe) + }) t + in + match uu____9926 with + | (t1,lcomp,g) -> + let uu____9942 = + (let uu____9946 = + FStar_Syntax_Util.is_pure_or_ghost_lcomp lcomp in + Prims.op_Negation uu____9946) || + (let uu____9949 = FStar_TypeChecker_Env.is_trivial g + in + Prims.op_Negation uu____9949) + in + if uu____9942 then ret t1 else (let rewrite_eq = - let typ = lcomp.FStar_Syntax_Syntax.res_typ in - let uu____9742 = new_uvar "pointwise_rec" env typ in - bind uu____9742 - (fun uu____9759 -> - match uu____9759 with - | (ut, uvar_ut) -> + let typ = lcomp.FStar_Syntax_Syntax.res_typ in + let uu____9960 = new_uvar "pointwise_rec" env typ in + bind uu____9960 + (fun uu____9977 -> + match uu____9977 with + | (ut,uvar_ut) -> (log ps - (fun uu____9772 -> - let uu____9773 = - FStar_Syntax_Print.term_to_string t1 in - let uu____9775 = - FStar_Syntax_Print.term_to_string ut in + (fun uu____9990 -> + let uu____9991 = + FStar_Syntax_Print.term_to_string t1 + in + let uu____9993 = + FStar_Syntax_Print.term_to_string ut + in FStar_Util.print2 "Pointwise_rec: making equality\n\t%s ==\n\t%s\n" - uu____9773 uu____9775); - (let uu____9778 = - let uu____9781 = - let uu____9782 = + uu____9991 uu____9993); + (let uu____9996 = + let uu____9999 = + let uu____10000 = FStar_TypeChecker_TcTerm.universe_of - env typ in - FStar_Syntax_Util.mk_eq2 uu____9782 typ - t1 ut in + env typ + in + FStar_Syntax_Util.mk_eq2 uu____10000 + typ t1 ut + in add_irrelevant_goal - "pointwise_rec equation" env uu____9781 - opts label1 in - bind uu____9778 - (fun uu____9786 -> - let uu____9787 = + "pointwise_rec equation" env uu____9999 + opts label1 + in + bind uu____9996 + (fun uu____10004 -> + let uu____10005 = bind tau - (fun uu____9793 -> + (fun uu____10011 -> let ut1 = FStar_TypeChecker_Normalize.reduce_uvar_solutions - env ut in + env ut + in log ps - (fun uu____9799 -> - let uu____9800 = + (fun uu____10017 -> + let uu____10018 = FStar_Syntax_Print.term_to_string - t1 in - let uu____9802 = + t1 + in + let uu____10020 = FStar_Syntax_Print.term_to_string - ut1 in + ut1 + in FStar_Util.print2 "Pointwise_rec: succeeded rewriting\n\t%s to\n\t%s\n" - uu____9800 uu____9802); - ret ut1) in - focus uu____9787)))) in - let uu____9805 = catch rewrite_eq in - bind uu____9805 - (fun x -> + uu____10018 uu____10020); + ret ut1) + in + focus uu____10005)))) + in + let uu____10023 = catch rewrite_eq in + bind uu____10023 + (fun x -> match x with | FStar_Util.Inl (FStar_Tactics_Types.TacticFailure "SKIP") -> ret t1 | FStar_Util.Inl e -> traise e | FStar_Util.Inr x1 -> ret x1)) + type ctrl = FStar_BigInt.t -let (keepGoing : ctrl) = FStar_BigInt.zero -let (proceedToNextSubtree : FStar_BigInt.bigint) = FStar_BigInt.one +let (keepGoing : ctrl) = FStar_BigInt.zero +let (proceedToNextSubtree : FStar_BigInt.bigint) = FStar_BigInt.one let (globalStop : FStar_BigInt.bigint) = - FStar_BigInt.succ_big_int FStar_BigInt.one + FStar_BigInt.succ_big_int FStar_BigInt.one type rewrite_result = Prims.bool -let (skipThisTerm : Prims.bool) = false -let (rewroteThisTerm : Prims.bool) = true +let (skipThisTerm : Prims.bool) = false +let (rewroteThisTerm : Prims.bool) = true type 'a ctrl_tac = ('a * ctrl) tac let rec (ctrl_tac_fold : (env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term ctrl_tac) -> env -> ctrl -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term ctrl_tac) = - fun f -> - fun env -> - fun ctrl -> - fun t -> + fun f -> + fun env -> + fun ctrl -> + fun t -> let keep_going c = - if c = proceedToNextSubtree then keepGoing else c in + if c = proceedToNextSubtree then keepGoing else c in let maybe_continue ctrl1 t1 k = if ctrl1 = globalStop then ret (t1, globalStop) else if ctrl1 = proceedToNextSubtree then ret (t1, keepGoing) - else k t1 in - let uu____10017 = FStar_Syntax_Subst.compress t in - maybe_continue ctrl uu____10017 - (fun t1 -> - let uu____10025 = + else k t1 + in + let uu____10235 = FStar_Syntax_Subst.compress t in + maybe_continue ctrl uu____10235 + (fun t1 -> + let uu____10243 = f env - (let uu___1454_10033 = t1 in + (let uu___1486_10251 = t1 in { FStar_Syntax_Syntax.n = (t1.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = - (uu___1454_10033.FStar_Syntax_Syntax.pos); + (uu___1486_10251.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___1454_10033.FStar_Syntax_Syntax.vars) - }) in - bind uu____10025 - (fun uu____10049 -> - match uu____10049 with - | (t2, ctrl1) -> + (uu___1486_10251.FStar_Syntax_Syntax.vars) + }) + in + bind uu____10243 + (fun uu____10267 -> + match uu____10267 with + | (t2,ctrl1) -> maybe_continue ctrl1 t2 - (fun t3 -> - let uu____10072 = - let uu____10073 = - FStar_Syntax_Subst.compress t3 in - uu____10073.FStar_Syntax_Syntax.n in - match uu____10072 with - | FStar_Syntax_Syntax.Tm_app (hd1, args) -> - let uu____10110 = - ctrl_tac_fold f env ctrl1 hd1 in - bind uu____10110 - (fun uu____10132 -> - match uu____10132 with - | (hd2, ctrl2) -> - let ctrl3 = keep_going ctrl2 in - let uu____10148 = + (fun t3 -> + let uu____10290 = + let uu____10291 = + FStar_Syntax_Subst.compress t3 in + uu____10291.FStar_Syntax_Syntax.n in + match uu____10290 with + | FStar_Syntax_Syntax.Tm_app (hd1,args) -> + let uu____10328 = + ctrl_tac_fold f env ctrl1 hd1 in + bind uu____10328 + (fun uu____10350 -> + match uu____10350 with + | (hd2,ctrl2) -> + let ctrl3 = keep_going ctrl2 in + let uu____10366 = ctrl_tac_fold_args f env ctrl3 - args in - bind uu____10148 - (fun uu____10172 -> - match uu____10172 with - | (args1, ctrl4) -> + args + in + bind uu____10366 + (fun uu____10390 -> + match uu____10390 with + | (args1,ctrl4) -> ret - ((let uu___1434_10202 = - t3 in + ((let uu___1466_10420 = + t3 in { FStar_Syntax_Syntax.n = @@ -4484,55 +4882,63 @@ let rec (ctrl_tac_fold : (hd2, args1)); FStar_Syntax_Syntax.pos = - (uu___1434_10202.FStar_Syntax_Syntax.pos); + (uu___1466_10420.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___1434_10202.FStar_Syntax_Syntax.vars) + (uu___1466_10420.FStar_Syntax_Syntax.vars) }), ctrl4))) - | FStar_Syntax_Syntax.Tm_abs (bs, t4, k) -> - let uu____10244 = - FStar_Syntax_Subst.open_term bs t4 in - (match uu____10244 with - | (bs1, t') -> - let uu____10259 = - let uu____10266 = + | FStar_Syntax_Syntax.Tm_abs (bs,t4,k) -> + let uu____10462 = + FStar_Syntax_Subst.open_term bs t4 in + (match uu____10462 with + | (bs1,t') -> + let uu____10477 = + let uu____10484 = FStar_TypeChecker_Env.push_binders - env bs1 in - ctrl_tac_fold f uu____10266 ctrl1 t' in - bind uu____10259 - (fun uu____10281 -> - match uu____10281 with - | (t'', ctrl2) -> - let uu____10296 = - let uu____10303 = - let uu___1447_10306 = t4 in - let uu____10309 = - let uu____10310 = - let uu____10329 = + env bs1 + in + ctrl_tac_fold f uu____10484 ctrl1 t' + in + bind uu____10477 + (fun uu____10499 -> + match uu____10499 with + | (t'',ctrl2) -> + let uu____10514 = + let uu____10521 = + let uu___1479_10524 = t4 + in + let uu____10527 = + let uu____10528 = + let uu____10547 = FStar_Syntax_Subst.close_binders - bs1 in - let uu____10338 = + bs1 + in + let uu____10556 = FStar_Syntax_Subst.close - bs1 t'' in - (uu____10329, - uu____10338, k) in + bs1 t'' + in + (uu____10547, + uu____10556, k) + in FStar_Syntax_Syntax.Tm_abs - uu____10310 in + uu____10528 + in { FStar_Syntax_Syntax.n = - uu____10309; + uu____10527; FStar_Syntax_Syntax.pos = - (uu___1447_10306.FStar_Syntax_Syntax.pos); + (uu___1479_10524.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___1447_10306.FStar_Syntax_Syntax.vars) - } in - (uu____10303, ctrl2) in - ret uu____10296)) - | FStar_Syntax_Syntax.Tm_arrow (bs, k) -> + (uu___1479_10524.FStar_Syntax_Syntax.vars) + } in + (uu____10521, ctrl2) in + ret uu____10514)) + | FStar_Syntax_Syntax.Tm_arrow (bs,k) -> ret (t3, ctrl1) - | uu____10391 -> ret (t3, ctrl1)))) + | uu____10609 -> ret (t3, ctrl1)))) + and (ctrl_tac_fold_args : (env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term ctrl_tac) -> env -> @@ -4540,23 +4946,25 @@ and (ctrl_tac_fold_args : FStar_Syntax_Syntax.arg Prims.list -> FStar_Syntax_Syntax.arg Prims.list ctrl_tac) = - fun f -> - fun env -> - fun ctrl -> - fun ts -> + fun f -> + fun env -> + fun ctrl -> + fun ts -> match ts with | [] -> ret ([], ctrl) - | (t, q)::ts1 -> - let uu____10437 = ctrl_tac_fold f env ctrl t in - bind uu____10437 - (fun uu____10458 -> - match uu____10458 with - | (t1, ctrl1) -> - let uu____10473 = ctrl_tac_fold_args f env ctrl1 ts1 in - bind uu____10473 - (fun uu____10497 -> - match uu____10497 with - | (ts2, ctrl2) -> ret (((t1, q) :: ts2), ctrl2))) + | (t,q)::ts1 -> + let uu____10655 = ctrl_tac_fold f env ctrl t in + bind uu____10655 + (fun uu____10676 -> + match uu____10676 with + | (t1,ctrl1) -> + let uu____10691 = ctrl_tac_fold_args f env ctrl1 ts1 + in + bind uu____10691 + (fun uu____10715 -> + match uu____10715 with + | (ts2,ctrl2) -> ret (((t1, q) :: ts2), ctrl2))) + let (rewrite_rec : FStar_Tactics_Types.proofstate -> (FStar_Syntax_Syntax.term -> rewrite_result ctrl_tac) -> @@ -4566,1103 +4974,1162 @@ let (rewrite_rec : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term ctrl_tac) = - fun ps -> - fun ctrl -> - fun rewriter -> - fun opts -> - fun label1 -> - fun env -> - fun t -> - let t1 = FStar_Syntax_Subst.compress t in - let uu____10588 = - let uu____10596 = + fun ps -> + fun ctrl -> + fun rewriter -> + fun opts -> + fun label1 -> + fun env -> + fun t -> + let t1 = FStar_Syntax_Subst.compress t in + let uu____10806 = + let uu____10814 = add_irrelevant_goal "dummy" env FStar_Syntax_Util.t_true - opts label1 in - bind uu____10596 - (fun uu____10607 -> - let uu____10608 = ctrl t1 in - bind uu____10608 - (fun res -> - let uu____10634 = trivial () in - bind uu____10634 (fun uu____10643 -> ret res))) in - bind uu____10588 - (fun uu____10661 -> - match uu____10661 with - | (should_rewrite, ctrl1) -> + opts label1 + in + bind uu____10814 + (fun uu____10825 -> + let uu____10826 = ctrl t1 in + bind uu____10826 + (fun res -> + let uu____10852 = trivial () in + bind uu____10852 (fun uu____10861 -> ret res))) + in + bind uu____10806 + (fun uu____10879 -> + match uu____10879 with + | (should_rewrite,ctrl1) -> if Prims.op_Negation should_rewrite then ret (t1, ctrl1) else - (let uu____10690 = + (let uu____10908 = FStar_TypeChecker_TcTerm.tc_term - (let uu___1484_10699 = env in + (let uu___1516_10917 = env in { FStar_TypeChecker_Env.solver = - (uu___1484_10699.FStar_TypeChecker_Env.solver); + (uu___1516_10917.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1484_10699.FStar_TypeChecker_Env.range); + (uu___1516_10917.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1484_10699.FStar_TypeChecker_Env.curmodule); + (uu___1516_10917.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1484_10699.FStar_TypeChecker_Env.gamma); + (uu___1516_10917.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1484_10699.FStar_TypeChecker_Env.gamma_sig); + (uu___1516_10917.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1484_10699.FStar_TypeChecker_Env.gamma_cache); + (uu___1516_10917.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1484_10699.FStar_TypeChecker_Env.modules); + (uu___1516_10917.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1484_10699.FStar_TypeChecker_Env.expected_typ); + (uu___1516_10917.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1484_10699.FStar_TypeChecker_Env.sigtab); + (uu___1516_10917.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1484_10699.FStar_TypeChecker_Env.attrtab); + (uu___1516_10917.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1484_10699.FStar_TypeChecker_Env.is_pattern); + (uu___1516_10917.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1484_10699.FStar_TypeChecker_Env.instantiate_imp); + (uu___1516_10917.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1484_10699.FStar_TypeChecker_Env.effects); + (uu___1516_10917.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1484_10699.FStar_TypeChecker_Env.generalize); + (uu___1516_10917.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1484_10699.FStar_TypeChecker_Env.letrecs); + (uu___1516_10917.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1484_10699.FStar_TypeChecker_Env.top_level); + (uu___1516_10917.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1484_10699.FStar_TypeChecker_Env.check_uvars); + (uu___1516_10917.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1484_10699.FStar_TypeChecker_Env.use_eq); + (uu___1516_10917.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1484_10699.FStar_TypeChecker_Env.is_iface); + (uu___1516_10917.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1484_10699.FStar_TypeChecker_Env.admit); + (uu___1516_10917.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___1484_10699.FStar_TypeChecker_Env.lax_universes); + (uu___1516_10917.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1484_10699.FStar_TypeChecker_Env.phase1); + (uu___1516_10917.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1484_10699.FStar_TypeChecker_Env.failhard); + (uu___1516_10917.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1484_10699.FStar_TypeChecker_Env.nosynth); + (uu___1516_10917.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1484_10699.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1516_10917.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1484_10699.FStar_TypeChecker_Env.tc_term); + (uu___1516_10917.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1484_10699.FStar_TypeChecker_Env.type_of); + (uu___1516_10917.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1484_10699.FStar_TypeChecker_Env.universe_of); + (uu___1516_10917.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1484_10699.FStar_TypeChecker_Env.check_type_of); + (uu___1516_10917.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1484_10699.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1516_10917.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1484_10699.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1516_10917.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1484_10699.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1516_10917.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1484_10699.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1516_10917.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1484_10699.FStar_TypeChecker_Env.proof_ns); + (uu___1516_10917.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1484_10699.FStar_TypeChecker_Env.synth_hook); + (uu___1516_10917.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1484_10699.FStar_TypeChecker_Env.splice); + (uu___1516_10917.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1484_10699.FStar_TypeChecker_Env.postprocess); + (uu___1516_10917.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1484_10699.FStar_TypeChecker_Env.is_native_tactic); + (uu___1516_10917.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1484_10699.FStar_TypeChecker_Env.identifier_info); + (uu___1516_10917.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1484_10699.FStar_TypeChecker_Env.tc_hooks); + (uu___1516_10917.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1484_10699.FStar_TypeChecker_Env.dsenv); + (uu___1516_10917.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1484_10699.FStar_TypeChecker_Env.nbe) - }) t1 in - match uu____10690 with - | (t2, lcomp, g) -> - let uu____10710 = - (let uu____10714 = + (uu___1516_10917.FStar_TypeChecker_Env.nbe) + }) t1 + in + match uu____10908 with + | (t2,lcomp,g) -> + let uu____10928 = + (let uu____10932 = FStar_Syntax_Util.is_pure_or_ghost_lcomp - lcomp in - Prims.op_Negation uu____10714) || - (let uu____10717 = - FStar_TypeChecker_Env.is_trivial g in - Prims.op_Negation uu____10717) in - if uu____10710 + lcomp + in + Prims.op_Negation uu____10932) || + (let uu____10935 = + FStar_TypeChecker_Env.is_trivial g in + Prims.op_Negation uu____10935) + in + if uu____10928 then ret (t2, globalStop) else (let typ = - lcomp.FStar_Syntax_Syntax.res_typ in - let uu____10733 = - new_uvar "pointwise_rec" env typ in - bind uu____10733 - (fun uu____10754 -> - match uu____10754 with - | (ut, uvar_ut) -> + lcomp.FStar_Syntax_Syntax.res_typ in + let uu____10951 = + new_uvar "pointwise_rec" env typ in + bind uu____10951 + (fun uu____10972 -> + match uu____10972 with + | (ut,uvar_ut) -> (log ps - (fun uu____10771 -> - let uu____10772 = + (fun uu____10989 -> + let uu____10990 = FStar_Syntax_Print.term_to_string - t2 in - let uu____10774 = + t2 + in + let uu____10992 = FStar_Syntax_Print.term_to_string - ut in + ut + in FStar_Util.print2 "Pointwise_rec: making equality\n\t%s ==\n\t%s\n" - uu____10772 uu____10774); - (let uu____10777 = - let uu____10780 = - let uu____10781 = + uu____10990 uu____10992); + (let uu____10995 = + let uu____10998 = + let uu____10999 = FStar_TypeChecker_TcTerm.universe_of - env typ in + env typ + in FStar_Syntax_Util.mk_eq2 - uu____10781 typ t2 ut in + uu____10999 typ t2 ut + in add_irrelevant_goal "rewrite_rec equation" env - uu____10780 opts label1 in - bind uu____10777 - (fun uu____10789 -> - let uu____10790 = + uu____10998 opts label1 + in + bind uu____10995 + (fun uu____11007 -> + let uu____11008 = bind rewriter - (fun uu____10804 -> + (fun uu____11022 -> let ut1 = FStar_TypeChecker_Normalize.reduce_uvar_solutions - env ut in + env ut + in log ps - (fun uu____10810 + (fun uu____11028 -> - let uu____10811 + let uu____11029 = FStar_Syntax_Print.term_to_string - t2 in - let uu____10813 + t2 + in + let uu____11031 = FStar_Syntax_Print.term_to_string - ut1 in + ut1 + in FStar_Util.print2 "rewrite_rec: succeeded rewriting\n\t%s to\n\t%s\n" - uu____10811 - uu____10813); - ret (ut1, ctrl1)) in - focus uu____10790))))))) + uu____11029 + uu____11031); + ret (ut1, ctrl1)) + in + focus uu____11008))))))) + let (topdown_rewrite : (FStar_Syntax_Syntax.term -> (Prims.bool * FStar_BigInt.t) tac) -> unit tac -> unit tac) = - fun ctrl -> - fun rewriter -> - let uu____10858 = + fun ctrl -> + fun rewriter -> + let uu____11076 = bind get - (fun ps -> - let uu____10868 = + (fun ps -> + let uu____11086 = match ps.FStar_Tactics_Types.goals with | g::gs -> (g, gs) - | [] -> failwith "no goals" in - match uu____10868 with - | (g, gs) -> - let gt1 = FStar_Tactics_Types.goal_type g in + | [] -> failwith "no goals" in + match uu____11086 with + | (g,gs) -> + let gt1 = FStar_Tactics_Types.goal_type g in (log ps - (fun uu____10906 -> - let uu____10907 = - FStar_Syntax_Print.term_to_string gt1 in + (fun uu____11124 -> + let uu____11125 = + FStar_Syntax_Print.term_to_string gt1 in FStar_Util.print1 "Topdown_rewrite starting with %s\n" - uu____10907); + uu____11125); bind dismiss_all - (fun uu____10912 -> - let uu____10913 = - let uu____10920 = FStar_Tactics_Types.goal_env g in + (fun uu____11130 -> + let uu____11131 = + let uu____11138 = FStar_Tactics_Types.goal_env g in ctrl_tac_fold (rewrite_rec ps ctrl rewriter g.FStar_Tactics_Types.opts - g.FStar_Tactics_Types.label) uu____10920 - keepGoing gt1 in - bind uu____10913 - (fun uu____10930 -> - match uu____10930 with - | (gt', uu____10938) -> + g.FStar_Tactics_Types.label) uu____11138 + keepGoing gt1 + in + bind uu____11131 + (fun uu____11148 -> + match uu____11148 with + | (gt',uu____11156) -> (log ps - (fun uu____10942 -> - let uu____10943 = - FStar_Syntax_Print.term_to_string gt' in + (fun uu____11160 -> + let uu____11161 = + FStar_Syntax_Print.term_to_string gt' + in FStar_Util.print1 "Topdown_rewrite seems to have succeded with %s\n" - uu____10943); - (let uu____10946 = push_goals gs in - bind uu____10946 - (fun uu____10951 -> - let uu____10952 = - let uu____10955 = + uu____11161); + (let uu____11164 = push_goals gs in + bind uu____11164 + (fun uu____11169 -> + let uu____11170 = + let uu____11173 = FStar_Tactics_Types.goal_with_type - g gt' in - [uu____10955] in - add_goals uu____10952))))))) in - FStar_All.pipe_left (wrap_err "topdown_rewrite") uu____10858 + g gt' + in + [uu____11173] in + add_goals uu____11170))))))) + in + FStar_All.pipe_left (wrap_err "topdown_rewrite") uu____11076 + let (pointwise : FStar_Tactics_Types.direction -> unit tac -> unit tac) = - fun d -> - fun tau -> - let uu____10980 = + fun d -> + fun tau -> + let uu____11198 = bind get - (fun ps -> - let uu____10990 = + (fun ps -> + let uu____11208 = match ps.FStar_Tactics_Types.goals with | g::gs -> (g, gs) - | [] -> failwith "no goals" in - match uu____10990 with - | (g, gs) -> - let gt1 = FStar_Tactics_Types.goal_type g in + | [] -> failwith "no goals" in + match uu____11208 with + | (g,gs) -> + let gt1 = FStar_Tactics_Types.goal_type g in (log ps - (fun uu____11028 -> - let uu____11029 = - FStar_Syntax_Print.term_to_string gt1 in + (fun uu____11246 -> + let uu____11247 = + FStar_Syntax_Print.term_to_string gt1 in FStar_Util.print1 "Pointwise starting with %s\n" - uu____11029); + uu____11247); bind dismiss_all - (fun uu____11034 -> - let uu____11035 = - let uu____11038 = FStar_Tactics_Types.goal_env g in + (fun uu____11252 -> + let uu____11253 = + let uu____11256 = FStar_Tactics_Types.goal_env g in tac_fold_env d (pointwise_rec ps tau g.FStar_Tactics_Types.opts - g.FStar_Tactics_Types.label) uu____11038 gt1 in - bind uu____11035 - (fun gt' -> + g.FStar_Tactics_Types.label) uu____11256 gt1 + in + bind uu____11253 + (fun gt' -> log ps - (fun uu____11046 -> - let uu____11047 = - FStar_Syntax_Print.term_to_string gt' in + (fun uu____11264 -> + let uu____11265 = + FStar_Syntax_Print.term_to_string gt' in FStar_Util.print1 "Pointwise seems to have succeded with %s\n" - uu____11047); - (let uu____11050 = push_goals gs in - bind uu____11050 - (fun uu____11055 -> - let uu____11056 = - let uu____11059 = + uu____11265); + (let uu____11268 = push_goals gs in + bind uu____11268 + (fun uu____11273 -> + let uu____11274 = + let uu____11277 = FStar_Tactics_Types.goal_with_type g - gt' in - [uu____11059] in - add_goals uu____11056)))))) in - FStar_All.pipe_left (wrap_err "pointwise") uu____10980 + gt' + in + [uu____11277] in + add_goals uu____11274)))))) + in + FStar_All.pipe_left (wrap_err "pointwise") uu____11198 + +let (_trefl : + FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> unit tac) = + fun l -> + fun r -> + let uu____11298 = cur_goal () in + bind uu____11298 + (fun g -> + let uu____11304 = + let uu____11308 = FStar_Tactics_Types.goal_env g in + do_unify uu____11308 l r in + bind uu____11304 + (fun b -> + if b + then solve' g FStar_Syntax_Util.exp_unit + else + (let l1 = + let uu____11319 = FStar_Tactics_Types.goal_env g in + FStar_TypeChecker_Normalize.normalize + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.UnfoldTac] uu____11319 l + in + let r1 = + let uu____11321 = FStar_Tactics_Types.goal_env g in + FStar_TypeChecker_Normalize.normalize + [FStar_TypeChecker_Env.UnfoldUntil + FStar_Syntax_Syntax.delta_constant; + FStar_TypeChecker_Env.Primops; + FStar_TypeChecker_Env.UnfoldTac] uu____11321 r + in + let uu____11322 = + let uu____11326 = FStar_Tactics_Types.goal_env g in + do_unify uu____11326 l1 r1 in + bind uu____11322 + (fun b1 -> + if b1 + then solve' g FStar_Syntax_Util.exp_unit + else + (let uu____11336 = + let uu____11338 = FStar_Tactics_Types.goal_env g + in + tts uu____11338 l1 in + let uu____11339 = + let uu____11341 = FStar_Tactics_Types.goal_env g + in + tts uu____11341 r1 in + fail2 "not a trivial equality ((%s) vs (%s))" + uu____11336 uu____11339))))) + let (trefl : unit -> unit tac) = - fun uu____11072 -> - let uu____11075 = - let uu____11078 = cur_goal () in - bind uu____11078 - (fun g -> - let uu____11096 = - let uu____11101 = FStar_Tactics_Types.goal_type g in - FStar_Syntax_Util.un_squash uu____11101 in - match uu____11096 with - | FStar_Pervasives_Native.Some t -> - let uu____11109 = FStar_Syntax_Util.head_and_args' t in - (match uu____11109 with - | (hd1, args) -> - let uu____11148 = - let uu____11161 = - let uu____11162 = FStar_Syntax_Util.un_uinst hd1 in - uu____11162.FStar_Syntax_Syntax.n in - (uu____11161, args) in - (match uu____11148 with - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____11176::(l, uu____11178)::(r, uu____11180)::[]) - when - FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.eq2_lid - -> - let uu____11227 = - let uu____11231 = FStar_Tactics_Types.goal_env g in - do_unify uu____11231 l r in - bind uu____11227 - (fun b -> - if b - then solve' g FStar_Syntax_Util.exp_unit - else - (let l1 = - let uu____11242 = - FStar_Tactics_Types.goal_env g in - FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.UnfoldTac] - uu____11242 l in - let r1 = - let uu____11244 = - FStar_Tactics_Types.goal_env g in - FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.UnfoldTac] - uu____11244 r in - let uu____11245 = - let uu____11249 = - FStar_Tactics_Types.goal_env g in - do_unify uu____11249 l1 r1 in - bind uu____11245 - (fun b1 -> - if b1 - then - solve' g FStar_Syntax_Util.exp_unit - else - (let uu____11259 = - let uu____11261 = - FStar_Tactics_Types.goal_env g in - tts uu____11261 l1 in - let uu____11262 = - let uu____11264 = - FStar_Tactics_Types.goal_env g in - tts uu____11264 r1 in - fail2 - "not a trivial equality ((%s) vs (%s))" - uu____11259 uu____11262)))) - | (hd2, uu____11267) -> - let uu____11284 = - let uu____11286 = FStar_Tactics_Types.goal_env g in - tts uu____11286 t in - fail1 "trefl: not an equality (%s)" uu____11284)) - | FStar_Pervasives_Native.None -> fail "not an irrelevant goal") in - FStar_All.pipe_left (wrap_err "trefl") uu____11075 + fun uu____11350 -> + let uu____11353 = + let uu____11356 = cur_goal () in + bind uu____11356 + (fun g -> + let uu____11364 = + let uu____11371 = FStar_Tactics_Types.goal_type g in + destruct_eq uu____11371 in + match uu____11364 with + | FStar_Pervasives_Native.Some (l,r) -> _trefl l r + | FStar_Pervasives_Native.None -> + let uu____11384 = + let uu____11386 = FStar_Tactics_Types.goal_env g in + let uu____11387 = FStar_Tactics_Types.goal_type g in + tts uu____11386 uu____11387 in + fail1 "not an equality (%s)" uu____11384) + in + FStar_All.pipe_left (wrap_err "trefl") uu____11353 + let (dup : unit -> unit tac) = - fun uu____11303 -> - let uu____11306 = cur_goal () in - bind uu____11306 - (fun g -> - let uu____11312 = - let uu____11319 = FStar_Tactics_Types.goal_env g in - let uu____11320 = FStar_Tactics_Types.goal_type g in - new_uvar "dup" uu____11319 uu____11320 in - bind uu____11312 - (fun uu____11330 -> - match uu____11330 with - | (u, u_uvar) -> + fun uu____11401 -> + let uu____11404 = cur_goal () in + bind uu____11404 + (fun g -> + let uu____11410 = + let uu____11417 = FStar_Tactics_Types.goal_env g in + let uu____11418 = FStar_Tactics_Types.goal_type g in + new_uvar "dup" uu____11417 uu____11418 in + bind uu____11410 + (fun uu____11428 -> + match uu____11428 with + | (u,u_uvar) -> let g' = - let uu___1576_11340 = g in + let uu___1596_11438 = g in { FStar_Tactics_Types.goal_main_env = - (uu___1576_11340.FStar_Tactics_Types.goal_main_env); + (uu___1596_11438.FStar_Tactics_Types.goal_main_env); FStar_Tactics_Types.goal_ctx_uvar = u_uvar; FStar_Tactics_Types.opts = - (uu___1576_11340.FStar_Tactics_Types.opts); + (uu___1596_11438.FStar_Tactics_Types.opts); FStar_Tactics_Types.is_guard = - (uu___1576_11340.FStar_Tactics_Types.is_guard); + (uu___1596_11438.FStar_Tactics_Types.is_guard); FStar_Tactics_Types.label = - (uu___1576_11340.FStar_Tactics_Types.label) - } in + (uu___1596_11438.FStar_Tactics_Types.label) + } in bind __dismiss - (fun uu____11343 -> - let uu____11344 = - let uu____11347 = FStar_Tactics_Types.goal_env g in - let uu____11348 = - let uu____11349 = - let uu____11350 = FStar_Tactics_Types.goal_env g in - let uu____11351 = - FStar_Tactics_Types.goal_type g in - FStar_TypeChecker_TcTerm.universe_of uu____11350 - uu____11351 in - let uu____11352 = FStar_Tactics_Types.goal_type g in - let uu____11353 = - FStar_Tactics_Types.goal_witness g in - FStar_Syntax_Util.mk_eq2 uu____11349 uu____11352 u - uu____11353 in - add_irrelevant_goal "dup equation" uu____11347 - uu____11348 g.FStar_Tactics_Types.opts - g.FStar_Tactics_Types.label in - bind uu____11344 - (fun uu____11357 -> - let uu____11358 = add_goals [g'] in - bind uu____11358 (fun uu____11362 -> ret ()))))) + (fun uu____11441 -> + let uu____11442 = + let uu____11445 = FStar_Tactics_Types.goal_env g in + let uu____11446 = + let uu____11447 = + let uu____11448 = FStar_Tactics_Types.goal_env g + in + let uu____11449 = + FStar_Tactics_Types.goal_type g in + FStar_TypeChecker_TcTerm.universe_of uu____11448 + uu____11449 + in + let uu____11450 = FStar_Tactics_Types.goal_type g + in + let uu____11451 = + FStar_Tactics_Types.goal_witness g in + FStar_Syntax_Util.mk_eq2 uu____11447 uu____11450 u + uu____11451 + in + add_irrelevant_goal "dup equation" uu____11445 + uu____11446 g.FStar_Tactics_Types.opts + g.FStar_Tactics_Types.label + in + bind uu____11442 + (fun uu____11455 -> + let uu____11456 = add_goals [g'] in + bind uu____11456 (fun uu____11460 -> ret ()))))) + let rec longest_prefix : 'a . ('a -> 'a -> Prims.bool) -> 'a Prims.list -> 'a Prims.list -> ('a Prims.list * 'a Prims.list * 'a Prims.list) = - fun f -> - fun l1 -> - fun l2 -> + fun f -> + fun l1 -> + fun l2 -> let rec aux acc l11 l21 = match (l11, l21) with - | (x::xs, y::ys) -> - let uu____11488 = f x y in - if uu____11488 then aux (x :: acc) xs ys else (acc, xs, ys) - | uu____11511 -> (acc, l11, l21) in - let uu____11526 = aux [] l1 l2 in - match uu____11526 with - | (pr, t1, t2) -> ((FStar_List.rev pr), t1, t2) + | (x::xs,y::ys) -> + let uu____11586 = f x y in + if uu____11586 then aux (x :: acc) xs ys else (acc, xs, ys) + | uu____11609 -> (acc, l11, l21) in + let uu____11624 = aux [] l1 l2 in + match uu____11624 with | (pr,t1,t2) -> ((FStar_List.rev pr), t1, t2) + let (join_goals : FStar_Tactics_Types.goal -> FStar_Tactics_Types.goal -> FStar_Tactics_Types.goal tac) = - fun g1 -> - fun g2 -> + fun g1 -> + fun g2 -> let close_forall_no_univs1 bs f = FStar_List.fold_right - (fun b -> - fun f1 -> + (fun b -> + fun f1 -> FStar_Syntax_Util.mk_forall_no_univ - (FStar_Pervasives_Native.fst b) f1) bs f in - let uu____11632 = get_phi g1 in - match uu____11632 with - | FStar_Pervasives_Native.None -> fail "goal 1 is not irrelevant" + (FStar_Pervasives_Native.fst b) f1) bs f + in + let uu____11730 = get_phi g1 in + match uu____11730 with + | FStar_Pervasives_Native.None -> fail "goal 1 is not irrelevant" | FStar_Pervasives_Native.Some phi1 -> - let uu____11639 = get_phi g2 in - (match uu____11639 with - | FStar_Pervasives_Native.None -> fail "goal 2 is not irrelevant" + let uu____11737 = get_phi g2 in + (match uu____11737 with + | FStar_Pervasives_Native.None -> fail "goal 2 is not irrelevant" | FStar_Pervasives_Native.Some phi2 -> let gamma1 = - (g1.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_gamma in + (g1.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_gamma + in let gamma2 = - (g2.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_gamma in - let uu____11652 = + (g2.FStar_Tactics_Types.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_gamma + in + let uu____11750 = longest_prefix FStar_Syntax_Syntax.eq_binding - (FStar_List.rev gamma1) (FStar_List.rev gamma2) in - (match uu____11652 with - | (gamma, r1, r2) -> + (FStar_List.rev gamma1) (FStar_List.rev gamma2) + in + (match uu____11750 with + | (gamma,r1,r2) -> let t1 = - let uu____11683 = + let uu____11781 = FStar_TypeChecker_Env.binders_of_bindings - (FStar_List.rev r1) in - close_forall_no_univs1 uu____11683 phi1 in + (FStar_List.rev r1) + in + close_forall_no_univs1 uu____11781 phi1 in let t2 = - let uu____11693 = + let uu____11791 = FStar_TypeChecker_Env.binders_of_bindings - (FStar_List.rev r2) in - close_forall_no_univs1 uu____11693 phi2 in - let uu____11702 = - set_solution g1 FStar_Syntax_Util.exp_unit in - bind uu____11702 - (fun uu____11707 -> - let uu____11708 = - set_solution g2 FStar_Syntax_Util.exp_unit in - bind uu____11708 - (fun uu____11715 -> - let ng = FStar_Syntax_Util.mk_conj t1 t2 in + (FStar_List.rev r2) + in + close_forall_no_univs1 uu____11791 phi2 in + let uu____11800 = + set_solution g1 FStar_Syntax_Util.exp_unit in + bind uu____11800 + (fun uu____11805 -> + let uu____11806 = + set_solution g2 FStar_Syntax_Util.exp_unit in + bind uu____11806 + (fun uu____11813 -> + let ng = FStar_Syntax_Util.mk_conj t1 t2 in let nenv = - let uu___1627_11720 = - FStar_Tactics_Types.goal_env g1 in - let uu____11721 = + let uu___1647_11818 = + FStar_Tactics_Types.goal_env g1 in + let uu____11819 = FStar_Util.smap_create - (Prims.parse_int "100") in + (Prims.parse_int "100") + in { FStar_TypeChecker_Env.solver = - (uu___1627_11720.FStar_TypeChecker_Env.solver); + (uu___1647_11818.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1627_11720.FStar_TypeChecker_Env.range); + (uu___1647_11818.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1627_11720.FStar_TypeChecker_Env.curmodule); + (uu___1647_11818.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = (FStar_List.rev gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1627_11720.FStar_TypeChecker_Env.gamma_sig); + (uu___1647_11818.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - uu____11721; + uu____11819; FStar_TypeChecker_Env.modules = - (uu___1627_11720.FStar_TypeChecker_Env.modules); + (uu___1647_11818.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1627_11720.FStar_TypeChecker_Env.expected_typ); + (uu___1647_11818.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1627_11720.FStar_TypeChecker_Env.sigtab); + (uu___1647_11818.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1627_11720.FStar_TypeChecker_Env.attrtab); + (uu___1647_11818.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1627_11720.FStar_TypeChecker_Env.is_pattern); + (uu___1647_11818.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1627_11720.FStar_TypeChecker_Env.instantiate_imp); + (uu___1647_11818.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1627_11720.FStar_TypeChecker_Env.effects); + (uu___1647_11818.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1627_11720.FStar_TypeChecker_Env.generalize); + (uu___1647_11818.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1627_11720.FStar_TypeChecker_Env.letrecs); + (uu___1647_11818.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1627_11720.FStar_TypeChecker_Env.top_level); + (uu___1647_11818.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1627_11720.FStar_TypeChecker_Env.check_uvars); + (uu___1647_11818.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1627_11720.FStar_TypeChecker_Env.use_eq); + (uu___1647_11818.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1627_11720.FStar_TypeChecker_Env.is_iface); + (uu___1647_11818.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1627_11720.FStar_TypeChecker_Env.admit); + (uu___1647_11818.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___1627_11720.FStar_TypeChecker_Env.lax); + (uu___1647_11818.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___1627_11720.FStar_TypeChecker_Env.lax_universes); + (uu___1647_11818.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1627_11720.FStar_TypeChecker_Env.phase1); + (uu___1647_11818.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1627_11720.FStar_TypeChecker_Env.failhard); + (uu___1647_11818.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1627_11720.FStar_TypeChecker_Env.nosynth); + (uu___1647_11818.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1627_11720.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1647_11818.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1627_11720.FStar_TypeChecker_Env.tc_term); + (uu___1647_11818.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1627_11720.FStar_TypeChecker_Env.type_of); + (uu___1647_11818.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1627_11720.FStar_TypeChecker_Env.universe_of); + (uu___1647_11818.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1627_11720.FStar_TypeChecker_Env.check_type_of); + (uu___1647_11818.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1627_11720.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1647_11818.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1627_11720.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1647_11818.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1627_11720.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1647_11818.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1627_11720.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1647_11818.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1627_11720.FStar_TypeChecker_Env.proof_ns); + (uu___1647_11818.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1627_11720.FStar_TypeChecker_Env.synth_hook); + (uu___1647_11818.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1627_11720.FStar_TypeChecker_Env.splice); + (uu___1647_11818.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1627_11720.FStar_TypeChecker_Env.postprocess); + (uu___1647_11818.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1627_11720.FStar_TypeChecker_Env.is_native_tactic); + (uu___1647_11818.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1627_11720.FStar_TypeChecker_Env.identifier_info); + (uu___1647_11818.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1627_11720.FStar_TypeChecker_Env.tc_hooks); + (uu___1647_11818.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1627_11720.FStar_TypeChecker_Env.dsenv); + (uu___1647_11818.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1627_11720.FStar_TypeChecker_Env.nbe) - } in - let uu____11725 = + (uu___1647_11818.FStar_TypeChecker_Env.nbe) + } in + let uu____11823 = mk_irrelevant_goal "joined" nenv ng g1.FStar_Tactics_Types.opts - g1.FStar_Tactics_Types.label in - bind uu____11725 - (fun goal -> + g1.FStar_Tactics_Types.label + in + bind uu____11823 + (fun goal -> mlog - (fun uu____11735 -> - let uu____11736 = - goal_to_string_verbose g1 in - let uu____11738 = - goal_to_string_verbose g2 in - let uu____11740 = - goal_to_string_verbose goal in + (fun uu____11833 -> + let uu____11834 = + goal_to_string_verbose g1 in + let uu____11836 = + goal_to_string_verbose g2 in + let uu____11838 = + goal_to_string_verbose goal in FStar_Util.print3 "join_goals of\n(%s)\nand\n(%s)\n= (%s)\n" - uu____11736 uu____11738 uu____11740) - (fun uu____11744 -> ret goal)))))) + uu____11834 uu____11836 uu____11838) + (fun uu____11842 -> ret goal)))))) + let (join : unit -> unit tac) = - fun uu____11752 -> + fun uu____11850 -> bind get - (fun ps -> + (fun ps -> match ps.FStar_Tactics_Types.goals with | g1::g2::gs -> - let uu____11768 = + let uu____11866 = set - (let uu___1642_11773 = ps in + (let uu___1662_11871 = ps in { FStar_Tactics_Types.main_context = - (uu___1642_11773.FStar_Tactics_Types.main_context); + (uu___1662_11871.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___1642_11773.FStar_Tactics_Types.main_goal); + (uu___1662_11871.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___1642_11773.FStar_Tactics_Types.all_implicits); + (uu___1662_11871.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = gs; FStar_Tactics_Types.smt_goals = - (uu___1642_11773.FStar_Tactics_Types.smt_goals); + (uu___1662_11871.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___1642_11773.FStar_Tactics_Types.depth); + (uu___1662_11871.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___1642_11773.FStar_Tactics_Types.__dump); + (uu___1662_11871.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___1642_11773.FStar_Tactics_Types.psc); + (uu___1662_11871.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___1642_11773.FStar_Tactics_Types.entry_range); + (uu___1662_11871.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___1642_11773.FStar_Tactics_Types.guard_policy); + (uu___1662_11871.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___1642_11773.FStar_Tactics_Types.freshness); + (uu___1662_11871.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___1642_11773.FStar_Tactics_Types.tac_verb_dbg); + (uu___1662_11871.FStar_Tactics_Types.tac_verb_dbg); FStar_Tactics_Types.local_state = - (uu___1642_11773.FStar_Tactics_Types.local_state) - }) in - bind uu____11768 - (fun uu____11776 -> - let uu____11777 = join_goals g1 g2 in - bind uu____11777 (fun g12 -> add_goals [g12])) - | uu____11782 -> fail "join: less than 2 goals") + (uu___1662_11871.FStar_Tactics_Types.local_state) + }) + in + bind uu____11866 + (fun uu____11874 -> + let uu____11875 = join_goals g1 g2 in + bind uu____11875 (fun g12 -> add_goals [g12])) + | uu____11880 -> fail "join: less than 2 goals") + let (set_options : Prims.string -> unit tac) = - fun s -> - let uu____11798 = - let uu____11801 = cur_goal () in - bind uu____11801 - (fun g -> + fun s -> + let uu____11896 = + let uu____11899 = cur_goal () in + bind uu____11899 + (fun g -> FStar_Options.push (); - (let uu____11814 = FStar_Util.smap_copy g.FStar_Tactics_Types.opts in - FStar_Options.set uu____11814); - (let res = FStar_Options.set_options FStar_Options.Set s in - let opts' = FStar_Options.peek () in + (let uu____11912 = FStar_Util.smap_copy g.FStar_Tactics_Types.opts + in + FStar_Options.set uu____11912); + (let res = FStar_Options.set_options s in + let opts' = FStar_Options.peek () in FStar_Options.pop (); (match res with - | FStar_Getopt.Success -> + | FStar_Getopt.Success -> let g' = - let uu___1653_11821 = g in + let uu___1673_11919 = g in { FStar_Tactics_Types.goal_main_env = - (uu___1653_11821.FStar_Tactics_Types.goal_main_env); + (uu___1673_11919.FStar_Tactics_Types.goal_main_env); FStar_Tactics_Types.goal_ctx_uvar = - (uu___1653_11821.FStar_Tactics_Types.goal_ctx_uvar); + (uu___1673_11919.FStar_Tactics_Types.goal_ctx_uvar); FStar_Tactics_Types.opts = opts'; FStar_Tactics_Types.is_guard = - (uu___1653_11821.FStar_Tactics_Types.is_guard); + (uu___1673_11919.FStar_Tactics_Types.is_guard); FStar_Tactics_Types.label = - (uu___1653_11821.FStar_Tactics_Types.label) - } in + (uu___1673_11919.FStar_Tactics_Types.label) + } in replace_cur g' | FStar_Getopt.Error err -> fail2 "Setting options `%s` failed: %s" s err - | FStar_Getopt.Help -> - fail1 "Setting options `%s` failed (got `Help`?)" s))) in - FStar_All.pipe_left (wrap_err "set_options") uu____11798 + | FStar_Getopt.Help -> + fail1 "Setting options `%s` failed (got `Help`?)" s))) + in + FStar_All.pipe_left (wrap_err "set_options") uu____11896 + let (top_env : unit -> env tac) = - fun uu____11838 -> + fun uu____11936 -> bind get - (fun ps -> FStar_All.pipe_left ret ps.FStar_Tactics_Types.main_context) + (fun ps -> FStar_All.pipe_left ret ps.FStar_Tactics_Types.main_context) + let (lax_on : unit -> Prims.bool tac) = - fun uu____11853 -> - let uu____11857 = cur_goal () in - bind uu____11857 - (fun g -> - let uu____11864 = + fun uu____11951 -> + let uu____11955 = cur_goal () in + bind uu____11955 + (fun g -> + let uu____11962 = (FStar_Options.lax ()) || - (let uu____11867 = FStar_Tactics_Types.goal_env g in - uu____11867.FStar_TypeChecker_Env.lax) in - ret uu____11864) + (let uu____11965 = FStar_Tactics_Types.goal_env g in + uu____11965.FStar_TypeChecker_Env.lax) + in + ret uu____11962) + let (unquote : FStar_Reflection_Data.typ -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term tac) = - fun ty -> - fun tm -> - let uu____11884 = + fun ty -> + fun tm -> + let uu____11982 = mlog - (fun uu____11889 -> - let uu____11890 = FStar_Syntax_Print.term_to_string tm in - FStar_Util.print1 "unquote: tm = %s\n" uu____11890) - (fun uu____11895 -> - let uu____11896 = cur_goal () in - bind uu____11896 - (fun goal -> + (fun uu____11987 -> + let uu____11988 = FStar_Syntax_Print.term_to_string tm in + FStar_Util.print1 "unquote: tm = %s\n" uu____11988) + (fun uu____11993 -> + let uu____11994 = cur_goal () in + bind uu____11994 + (fun goal -> let env = - let uu____11904 = FStar_Tactics_Types.goal_env goal in - FStar_TypeChecker_Env.set_expected_typ uu____11904 ty in - let uu____11905 = __tc_ghost env tm in - bind uu____11905 - (fun uu____11924 -> - match uu____11924 with - | (tm1, typ, guard) -> + let uu____12002 = FStar_Tactics_Types.goal_env goal in + FStar_TypeChecker_Env.set_expected_typ uu____12002 ty in + let uu____12003 = __tc_ghost env tm in + bind uu____12003 + (fun uu____12022 -> + match uu____12022 with + | (tm1,typ,guard) -> mlog - (fun uu____11938 -> - let uu____11939 = - FStar_Syntax_Print.term_to_string tm1 in + (fun uu____12036 -> + let uu____12037 = + FStar_Syntax_Print.term_to_string tm1 in FStar_Util.print1 "unquote: tm' = %s\n" - uu____11939) - (fun uu____11943 -> + uu____12037) + (fun uu____12041 -> mlog - (fun uu____11946 -> - let uu____11947 = - FStar_Syntax_Print.term_to_string typ in + (fun uu____12044 -> + let uu____12045 = + FStar_Syntax_Print.term_to_string typ + in FStar_Util.print1 "unquote: typ = %s\n" - uu____11947) - (fun uu____11952 -> - let uu____11953 = - proc_guard "unquote" env guard in - bind uu____11953 - (fun uu____11958 -> ret tm1)))))) in - FStar_All.pipe_left (wrap_err "unquote") uu____11884 + uu____12045) + (fun uu____12050 -> + let uu____12051 = + proc_guard "unquote" env guard in + bind uu____12051 + (fun uu____12056 -> ret tm1)))))) + in + FStar_All.pipe_left (wrap_err "unquote") uu____11982 + let (uvar_env : env -> FStar_Reflection_Data.typ FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.term tac) = - fun env -> - fun ty -> - let uu____11983 = + fun env -> + fun ty -> + let uu____12081 = match ty with | FStar_Pervasives_Native.Some ty1 -> ret ty1 - | FStar_Pervasives_Native.None -> - let uu____11989 = - let uu____11996 = - let uu____11997 = FStar_Syntax_Util.type_u () in - FStar_All.pipe_left FStar_Pervasives_Native.fst uu____11997 in - new_uvar "uvar_env.2" env uu____11996 in - bind uu____11989 - (fun uu____12014 -> - match uu____12014 with | (typ, uvar_typ) -> ret typ) in - bind uu____11983 - (fun typ -> - let uu____12026 = new_uvar "uvar_env" env typ in - bind uu____12026 - (fun uu____12041 -> - match uu____12041 with | (t, uvar_t) -> ret t)) + | FStar_Pervasives_Native.None -> + let uu____12087 = + let uu____12094 = + let uu____12095 = FStar_Syntax_Util.type_u () in + FStar_All.pipe_left FStar_Pervasives_Native.fst uu____12095 + in + new_uvar "uvar_env.2" env uu____12094 in + bind uu____12087 + (fun uu____12112 -> + match uu____12112 with | (typ,uvar_typ) -> ret typ) + in + bind uu____12081 + (fun typ -> + let uu____12124 = new_uvar "uvar_env" env typ in + bind uu____12124 + (fun uu____12139 -> + match uu____12139 with | (t,uvar_t) -> ret t)) + let (unshelve : FStar_Syntax_Syntax.term -> unit tac) = - fun t -> - let uu____12060 = + fun t -> + let uu____12158 = bind get - (fun ps -> - let env = ps.FStar_Tactics_Types.main_context in + (fun ps -> + let env = ps.FStar_Tactics_Types.main_context in let opts = match ps.FStar_Tactics_Types.goals with - | g::uu____12079 -> g.FStar_Tactics_Types.opts - | uu____12082 -> FStar_Options.peek () in - let uu____12085 = FStar_Syntax_Util.head_and_args t in - match uu____12085 with + | g::uu____12177 -> g.FStar_Tactics_Types.opts + | uu____12180 -> FStar_Options.peek () in + let uu____12183 = FStar_Syntax_Util.head_and_args t in + match uu____12183 with | ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar - (ctx_uvar, uu____12105); - FStar_Syntax_Syntax.pos = uu____12106; - FStar_Syntax_Syntax.vars = uu____12107;_}, - uu____12108) -> + (ctx_uvar,uu____12203); + FStar_Syntax_Syntax.pos = uu____12204; + FStar_Syntax_Syntax.vars = uu____12205;_},uu____12206) + -> let env1 = - let uu___1707_12150 = env in + let uu___1727_12248 = env in { FStar_TypeChecker_Env.solver = - (uu___1707_12150.FStar_TypeChecker_Env.solver); + (uu___1727_12248.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1707_12150.FStar_TypeChecker_Env.range); + (uu___1727_12248.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1707_12150.FStar_TypeChecker_Env.curmodule); + (uu___1727_12248.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = (ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1707_12150.FStar_TypeChecker_Env.gamma_sig); + (uu___1727_12248.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1707_12150.FStar_TypeChecker_Env.gamma_cache); + (uu___1727_12248.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1707_12150.FStar_TypeChecker_Env.modules); + (uu___1727_12248.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1707_12150.FStar_TypeChecker_Env.expected_typ); + (uu___1727_12248.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1707_12150.FStar_TypeChecker_Env.sigtab); + (uu___1727_12248.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1707_12150.FStar_TypeChecker_Env.attrtab); + (uu___1727_12248.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1707_12150.FStar_TypeChecker_Env.is_pattern); + (uu___1727_12248.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1707_12150.FStar_TypeChecker_Env.instantiate_imp); + (uu___1727_12248.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1707_12150.FStar_TypeChecker_Env.effects); + (uu___1727_12248.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1707_12150.FStar_TypeChecker_Env.generalize); + (uu___1727_12248.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1707_12150.FStar_TypeChecker_Env.letrecs); + (uu___1727_12248.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1707_12150.FStar_TypeChecker_Env.top_level); + (uu___1727_12248.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1707_12150.FStar_TypeChecker_Env.check_uvars); + (uu___1727_12248.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1707_12150.FStar_TypeChecker_Env.use_eq); + (uu___1727_12248.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1707_12150.FStar_TypeChecker_Env.is_iface); + (uu___1727_12248.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1707_12150.FStar_TypeChecker_Env.admit); + (uu___1727_12248.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___1707_12150.FStar_TypeChecker_Env.lax); + (uu___1727_12248.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___1707_12150.FStar_TypeChecker_Env.lax_universes); + (uu___1727_12248.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1707_12150.FStar_TypeChecker_Env.phase1); + (uu___1727_12248.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1707_12150.FStar_TypeChecker_Env.failhard); + (uu___1727_12248.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1707_12150.FStar_TypeChecker_Env.nosynth); + (uu___1727_12248.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1707_12150.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1727_12248.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1707_12150.FStar_TypeChecker_Env.tc_term); + (uu___1727_12248.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1707_12150.FStar_TypeChecker_Env.type_of); + (uu___1727_12248.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1707_12150.FStar_TypeChecker_Env.universe_of); + (uu___1727_12248.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1707_12150.FStar_TypeChecker_Env.check_type_of); + (uu___1727_12248.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1707_12150.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1727_12248.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1707_12150.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1727_12248.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1707_12150.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1727_12248.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1707_12150.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1727_12248.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1707_12150.FStar_TypeChecker_Env.proof_ns); + (uu___1727_12248.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1707_12150.FStar_TypeChecker_Env.synth_hook); + (uu___1727_12248.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1707_12150.FStar_TypeChecker_Env.splice); + (uu___1727_12248.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1707_12150.FStar_TypeChecker_Env.postprocess); + (uu___1727_12248.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1707_12150.FStar_TypeChecker_Env.is_native_tactic); + (uu___1727_12248.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1707_12150.FStar_TypeChecker_Env.identifier_info); + (uu___1727_12248.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1707_12150.FStar_TypeChecker_Env.tc_hooks); + (uu___1727_12248.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1707_12150.FStar_TypeChecker_Env.dsenv); + (uu___1727_12248.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1707_12150.FStar_TypeChecker_Env.nbe) - } in + (uu___1727_12248.FStar_TypeChecker_Env.nbe) + } in let g = - FStar_Tactics_Types.mk_goal env1 ctx_uvar opts false "" in - let uu____12154 = - let uu____12157 = bnorm_goal g in [uu____12157] in - add_goals uu____12154 - | uu____12158 -> fail "not a uvar") in - FStar_All.pipe_left (wrap_err "unshelve") uu____12060 + FStar_Tactics_Types.mk_goal env1 ctx_uvar opts false "" in + let uu____12252 = + let uu____12255 = bnorm_goal g in [uu____12255] in + add_goals uu____12252 + | uu____12256 -> fail "not a uvar") + in + FStar_All.pipe_left (wrap_err "unshelve") uu____12158 + let (tac_and : Prims.bool tac -> Prims.bool tac -> Prims.bool tac) = - fun t1 -> - fun t2 -> + fun t1 -> + fun t2 -> let comp = bind t1 - (fun b -> - let uu____12220 = if b then t2 else ret false in - bind uu____12220 (fun b' -> if b' then ret b' else fail "")) in - let uu____12246 = trytac comp in - bind uu____12246 - (fun uu___4_12258 -> - match uu___4_12258 with - | FStar_Pervasives_Native.Some (true) -> ret true - | FStar_Pervasives_Native.Some (false) -> failwith "impossible" - | FStar_Pervasives_Native.None -> ret false) + (fun b -> + let uu____12318 = if b then t2 else ret false in + bind uu____12318 (fun b' -> if b' then ret b' else fail "")) + in + let uu____12344 = trytac comp in + bind uu____12344 + (fun uu___4_12356 -> + match uu___4_12356 with + | FStar_Pervasives_Native.Some (true ) -> ret true + | FStar_Pervasives_Native.Some (false ) -> failwith "impossible" + | FStar_Pervasives_Native.None -> ret false) + let (unify_env : env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> Prims.bool tac) = - fun e -> - fun t1 -> - fun t2 -> - let uu____12300 = + fun e -> + fun t1 -> + fun t2 -> + let uu____12398 = bind get - (fun ps -> - let uu____12308 = __tc e t1 in - bind uu____12308 - (fun uu____12329 -> - match uu____12329 with - | (t11, ty1, g1) -> - let uu____12342 = __tc e t2 in - bind uu____12342 - (fun uu____12363 -> - match uu____12363 with - | (t21, ty2, g2) -> - let uu____12376 = - proc_guard "unify_env g1" e g1 in - bind uu____12376 - (fun uu____12383 -> - let uu____12384 = - proc_guard "unify_env g2" e g2 in - bind uu____12384 - (fun uu____12392 -> - let uu____12393 = - do_unify e ty1 ty2 in - let uu____12397 = - do_unify e t11 t21 in - tac_and uu____12393 uu____12397))))) in - FStar_All.pipe_left (wrap_err "unify_env") uu____12300 + (fun ps -> + let uu____12406 = __tc e t1 in + bind uu____12406 + (fun uu____12427 -> + match uu____12427 with + | (t11,ty1,g1) -> + let uu____12440 = __tc e t2 in + bind uu____12440 + (fun uu____12461 -> + match uu____12461 with + | (t21,ty2,g2) -> + let uu____12474 = + proc_guard "unify_env g1" e g1 in + bind uu____12474 + (fun uu____12481 -> + let uu____12482 = + proc_guard "unify_env g2" e g2 in + bind uu____12482 + (fun uu____12490 -> + let uu____12491 = + do_unify e ty1 ty2 in + let uu____12495 = + do_unify e t11 t21 in + tac_and uu____12491 uu____12495))))) + in + FStar_All.pipe_left (wrap_err "unify_env") uu____12398 + let (launch_process : Prims.string -> Prims.string Prims.list -> Prims.string -> Prims.string tac) = - fun prog -> - fun args -> - fun input -> + fun prog -> + fun args -> + fun input -> bind idtac - (fun uu____12445 -> - let uu____12446 = FStar_Options.unsafe_tactic_exec () in - if uu____12446 + (fun uu____12543 -> + let uu____12544 = FStar_Options.unsafe_tactic_exec () in + if uu____12544 then let s = FStar_Util.run_process "tactic_launch" prog args - (FStar_Pervasives_Native.Some input) in + (FStar_Pervasives_Native.Some input) + in ret s else fail "launch_process: will not run anything unless --unsafe_tactic_exec is provided") + let (fresh_bv_named : Prims.string -> FStar_Reflection_Data.typ -> FStar_Syntax_Syntax.bv tac) = - fun nm -> - fun t -> + fun nm -> + fun t -> bind idtac - (fun uu____12480 -> - let uu____12481 = - FStar_Syntax_Syntax.gen_bv nm FStar_Pervasives_Native.None t in - ret uu____12481) + (fun uu____12578 -> + let uu____12579 = + FStar_Syntax_Syntax.gen_bv nm FStar_Pervasives_Native.None t in + ret uu____12579) + let (change : FStar_Reflection_Data.typ -> unit tac) = - fun ty -> - let uu____12492 = + fun ty -> + let uu____12590 = mlog - (fun uu____12497 -> - let uu____12498 = FStar_Syntax_Print.term_to_string ty in - FStar_Util.print1 "change: ty = %s\n" uu____12498) - (fun uu____12503 -> - let uu____12504 = cur_goal () in - bind uu____12504 - (fun g -> - let uu____12510 = - let uu____12519 = FStar_Tactics_Types.goal_env g in - __tc uu____12519 ty in - bind uu____12510 - (fun uu____12531 -> - match uu____12531 with - | (ty1, uu____12541, guard) -> - let uu____12543 = - let uu____12546 = FStar_Tactics_Types.goal_env g in - proc_guard "change" uu____12546 guard in - bind uu____12543 - (fun uu____12550 -> - let uu____12551 = - let uu____12555 = - FStar_Tactics_Types.goal_env g in - let uu____12556 = - FStar_Tactics_Types.goal_type g in - do_unify uu____12555 uu____12556 ty1 in - bind uu____12551 - (fun bb -> + (fun uu____12595 -> + let uu____12596 = FStar_Syntax_Print.term_to_string ty in + FStar_Util.print1 "change: ty = %s\n" uu____12596) + (fun uu____12601 -> + let uu____12602 = cur_goal () in + bind uu____12602 + (fun g -> + let uu____12608 = + let uu____12617 = FStar_Tactics_Types.goal_env g in + __tc uu____12617 ty in + bind uu____12608 + (fun uu____12629 -> + match uu____12629 with + | (ty1,uu____12639,guard) -> + let uu____12641 = + let uu____12644 = FStar_Tactics_Types.goal_env g + in + proc_guard "change" uu____12644 guard in + bind uu____12641 + (fun uu____12648 -> + let uu____12649 = + let uu____12653 = + FStar_Tactics_Types.goal_env g in + let uu____12654 = + FStar_Tactics_Types.goal_type g in + do_unify uu____12653 uu____12654 ty1 in + bind uu____12649 + (fun bb -> if bb then - let uu____12565 = + let uu____12663 = FStar_Tactics_Types.goal_with_type g - ty1 in - replace_cur uu____12565 + ty1 + in + replace_cur uu____12663 else (let steps = [FStar_TypeChecker_Env.AllowUnboundUniverses; FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Primops] in + FStar_TypeChecker_Env.Primops] in let ng = - let uu____12572 = - FStar_Tactics_Types.goal_env g in - let uu____12573 = - FStar_Tactics_Types.goal_type g in - normalize steps uu____12572 - uu____12573 in + let uu____12670 = + FStar_Tactics_Types.goal_env g in + let uu____12671 = + FStar_Tactics_Types.goal_type g in + normalize steps uu____12670 + uu____12671 + in let nty = - let uu____12575 = - FStar_Tactics_Types.goal_env g in - normalize steps uu____12575 ty1 in - let uu____12576 = - let uu____12580 = - FStar_Tactics_Types.goal_env g in - do_unify uu____12580 ng nty in - bind uu____12576 - (fun b -> + let uu____12673 = + FStar_Tactics_Types.goal_env g in + normalize steps uu____12673 ty1 in + let uu____12674 = + let uu____12678 = + FStar_Tactics_Types.goal_env g in + do_unify uu____12678 ng nty in + bind uu____12674 + (fun b -> if b then - let uu____12589 = + let uu____12687 = FStar_Tactics_Types.goal_with_type - g ty1 in - replace_cur uu____12589 - else fail "not convertible"))))))) in - FStar_All.pipe_left (wrap_err "change") uu____12492 + g ty1 + in + replace_cur uu____12687 + else fail "not convertible"))))))) + in + FStar_All.pipe_left (wrap_err "change") uu____12590 + let failwhen : 'a . Prims.bool -> Prims.string -> (unit -> 'a tac) -> 'a tac - = fun b -> fun msg -> fun k -> if b then fail msg else k () + = fun b -> fun msg -> fun k -> if b then fail msg else k () let (t_destruct : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.fv * FStar_BigInt.t) Prims.list tac) = - fun s_tm -> - let uu____12663 = - let uu____12672 = cur_goal () in - bind uu____12672 - (fun g -> - let uu____12684 = - let uu____12693 = FStar_Tactics_Types.goal_env g in - __tc uu____12693 s_tm in - bind uu____12684 - (fun uu____12711 -> - match uu____12711 with - | (s_tm1, s_ty, guard) -> - let uu____12729 = - let uu____12732 = FStar_Tactics_Types.goal_env g in - proc_guard "destruct" uu____12732 guard in - bind uu____12729 - (fun uu____12745 -> - let uu____12746 = - FStar_Syntax_Util.head_and_args' s_ty in - match uu____12746 with - | (h, args) -> - let uu____12791 = - let uu____12798 = - let uu____12799 = - FStar_Syntax_Subst.compress h in - uu____12799.FStar_Syntax_Syntax.n in - match uu____12798 with + fun s_tm -> + let uu____12761 = + let uu____12770 = cur_goal () in + bind uu____12770 + (fun g -> + let uu____12782 = + let uu____12791 = FStar_Tactics_Types.goal_env g in + __tc uu____12791 s_tm in + bind uu____12782 + (fun uu____12809 -> + match uu____12809 with + | (s_tm1,s_ty,guard) -> + let uu____12827 = + let uu____12830 = FStar_Tactics_Types.goal_env g in + proc_guard "destruct" uu____12830 guard in + bind uu____12827 + (fun uu____12843 -> + let uu____12844 = + FStar_Syntax_Util.head_and_args' s_ty in + match uu____12844 with + | (h,args) -> + let uu____12889 = + let uu____12896 = + let uu____12897 = + FStar_Syntax_Subst.compress h in + uu____12897.FStar_Syntax_Syntax.n in + match uu____12896 with | FStar_Syntax_Syntax.Tm_fvar fv -> ret (fv, []) | FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____12814; - FStar_Syntax_Syntax.vars = uu____12815;_}, - us) + FStar_Syntax_Syntax.pos = uu____12912; + FStar_Syntax_Syntax.vars = uu____12913;_},us) -> ret (fv, us) - | uu____12825 -> fail "type is not an fv" in - bind uu____12791 - (fun uu____12846 -> - match uu____12846 with - | (fv, a_us) -> + | uu____12923 -> fail "type is not an fv" in + bind uu____12889 + (fun uu____12944 -> + match uu____12944 with + | (fv,a_us) -> let t_lid = - FStar_Syntax_Syntax.lid_of_fv fv in - let uu____12862 = - let uu____12865 = - FStar_Tactics_Types.goal_env g in + FStar_Syntax_Syntax.lid_of_fv fv in + let uu____12960 = + let uu____12963 = + FStar_Tactics_Types.goal_env g in FStar_TypeChecker_Env.lookup_sigelt - uu____12865 t_lid in - (match uu____12862 with - | FStar_Pervasives_Native.None -> + uu____12963 t_lid + in + (match uu____12960 with + | FStar_Pervasives_Native.None -> fail "type not found in environment" | FStar_Pervasives_Native.Some se -> (match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (_lid, t_us, t_ps, t_ty, mut, - c_lids) + (_lid,t_us,t_ps,t_ty,mut,c_lids) -> failwhen ((FStar_List.length a_us) <> (FStar_List.length t_us)) "t_us don't match?" - (fun uu____12916 -> - let uu____12917 = + (fun uu____13014 -> + let uu____13015 = FStar_Syntax_Subst.open_term - t_ps t_ty in - match uu____12917 with - | (t_ps1, t_ty1) -> - let uu____12932 = + t_ps t_ty + in + match uu____13015 with + | (t_ps1,t_ty1) -> + let uu____13030 = mapM - (fun c_lid -> - let uu____12960 + (fun c_lid -> + let uu____13058 = - let uu____12963 + let uu____13061 = FStar_Tactics_Types.goal_env - g in + g in FStar_TypeChecker_Env.lookup_sigelt - uu____12963 - c_lid in - match uu____12960 + uu____13061 + c_lid + in + match uu____13058 with | FStar_Pervasives_Native.None - -> + -> fail "ctor not found?" | FStar_Pervasives_Native.Some @@ -5673,18 +6140,15 @@ let (t_destruct : with | FStar_Syntax_Syntax.Sig_datacon - (_c_lid, - c_us, - c_ty, - _t_lid, - nparam, - mut1) -> + (_c_lid,c_us,c_ty,_t_lid,nparam,mut1) + -> let fv1 = FStar_Syntax_Syntax.lid_as_fv c_lid FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some - FStar_Syntax_Syntax.Data_ctor) in + FStar_Syntax_Syntax.Data_ctor) + in failwhen ((FStar_List.length a_us) <> @@ -5692,57 +6156,62 @@ let (t_destruct : c_us)) "t_us don't match?" (fun - uu____13037 - -> + uu____13135 + -> let s = FStar_TypeChecker_Env.mk_univ_subst - c_us a_us in + c_us a_us + in let c_ty1 = FStar_Syntax_Subst.subst - s c_ty in - let uu____13042 + s c_ty + in + let uu____13140 = FStar_TypeChecker_Env.inst_tscheme (c_us, - c_ty1) in - match uu____13042 + c_ty1) + in + match uu____13140 with | - (c_us1, - c_ty2) -> - let uu____13065 + (c_us1,c_ty2) + -> + let uu____13163 = FStar_Syntax_Util.arrow_formals_comp - c_ty2 in - (match uu____13065 + c_ty2 in + (match uu____13163 with | - (bs, - comp) -> - let uu____13108 + (bs,comp) + -> + let uu____13206 = FStar_List.splitAt - nparam bs in - (match uu____13108 + nparam bs + in + (match uu____13206 with | - (d_ps, - bs1) -> - let uu____13181 + (d_ps,bs1) + -> + let uu____13279 = - let uu____13183 + let uu____13281 = FStar_Syntax_Util.is_total_comp - comp in + comp in Prims.op_Negation - uu____13183 in + uu____13281 + in failwhen - uu____13181 + uu____13279 "not total?" (fun - uu____13202 - -> + uu____13300 + -> let mk_pat p = { @@ -5751,30 +6220,31 @@ let (t_destruct : FStar_Syntax_Syntax.p = (s_tm1.FStar_Syntax_Syntax.pos) - } in + } in let is_imp - uu___5_13219 + uu___5_13317 = - match uu___5_13219 + match uu___5_13317 with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit - uu____13223) + uu____13321) -> true | - uu____13226 - -> false in - let uu____13230 + uu____13324 + -> false + in + let uu____13328 = FStar_List.splitAt nparam - args in - match uu____13230 + args in + match uu____13328 with | - (a_ps, - a_is) -> + (a_ps,a_is) + -> failwhen ((FStar_List.length a_ps) <> @@ -5782,799 +6252,849 @@ let (t_destruct : d_ps)) "params not match?" (fun - uu____13364 - -> + uu____13462 + -> let d_ps_a_ps = FStar_List.zip - d_ps a_ps in + d_ps a_ps + in let subst1 = FStar_List.map (fun - uu____13426 - -> - match uu____13426 + uu____13524 + -> + match uu____13524 with | - ((bv, - uu____13446), - (t, - uu____13448)) + ((bv,uu____13544), + (t,uu____13546)) -> FStar_Syntax_Syntax.NT (bv, t)) - d_ps_a_ps in + d_ps_a_ps + in let bs2 = FStar_Syntax_Subst.subst_binders subst1 - bs1 in + bs1 in let subpats_1 = FStar_List.map (fun - uu____13518 - -> - match uu____13518 + uu____13616 + -> + match uu____13616 with | - ((bv, - uu____13545), - (t, - uu____13547)) + ((bv,uu____13643), + (t,uu____13645)) -> ((mk_pat (FStar_Syntax_Syntax.Pat_dot_term (bv, t))), true)) - d_ps_a_ps in + d_ps_a_ps + in let subpats_2 = FStar_List.map (fun - uu____13606 - -> - match uu____13606 + uu____13704 + -> + match uu____13704 with | - (bv, aq) + (bv,aq) -> ((mk_pat (FStar_Syntax_Syntax.Pat_var bv)), (is_imp - aq))) bs2 in + aq))) bs2 + in let subpats = FStar_List.append subpats_1 - subpats_2 in + subpats_2 + in let pat = mk_pat (FStar_Syntax_Syntax.Pat_cons (fv1, - subpats)) in + subpats)) + in let env = FStar_Tactics_Types.goal_env - g in + g in let cod = FStar_Tactics_Types.goal_type - g in + g in let equ = env.FStar_TypeChecker_Env.universe_of - env s_ty in - let uu____13661 + env s_ty + in + let uu____13759 = FStar_TypeChecker_TcTerm.tc_pat - (let uu___1871_13678 - = env in + (let uu___1891_13776 + = env in { FStar_TypeChecker_Env.solver = - (uu___1871_13678.FStar_TypeChecker_Env.solver); + (uu___1891_13776.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1871_13678.FStar_TypeChecker_Env.range); + (uu___1891_13776.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1871_13678.FStar_TypeChecker_Env.curmodule); + (uu___1891_13776.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1871_13678.FStar_TypeChecker_Env.gamma); + (uu___1891_13776.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1871_13678.FStar_TypeChecker_Env.gamma_sig); + (uu___1891_13776.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1871_13678.FStar_TypeChecker_Env.gamma_cache); + (uu___1891_13776.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1871_13678.FStar_TypeChecker_Env.modules); + (uu___1891_13776.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1871_13678.FStar_TypeChecker_Env.expected_typ); + (uu___1891_13776.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1871_13678.FStar_TypeChecker_Env.sigtab); + (uu___1891_13776.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1871_13678.FStar_TypeChecker_Env.attrtab); + (uu___1891_13776.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1871_13678.FStar_TypeChecker_Env.is_pattern); + (uu___1891_13776.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1871_13678.FStar_TypeChecker_Env.instantiate_imp); + (uu___1891_13776.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1871_13678.FStar_TypeChecker_Env.effects); + (uu___1891_13776.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1871_13678.FStar_TypeChecker_Env.generalize); + (uu___1891_13776.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1871_13678.FStar_TypeChecker_Env.letrecs); + (uu___1891_13776.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1871_13678.FStar_TypeChecker_Env.top_level); + (uu___1891_13776.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1871_13678.FStar_TypeChecker_Env.check_uvars); + (uu___1891_13776.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1871_13678.FStar_TypeChecker_Env.use_eq); + (uu___1891_13776.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1871_13678.FStar_TypeChecker_Env.is_iface); + (uu___1891_13776.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1871_13678.FStar_TypeChecker_Env.admit); + (uu___1891_13776.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___1871_13678.FStar_TypeChecker_Env.lax_universes); + (uu___1891_13776.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1871_13678.FStar_TypeChecker_Env.phase1); + (uu___1891_13776.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1871_13678.FStar_TypeChecker_Env.failhard); + (uu___1891_13776.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1871_13678.FStar_TypeChecker_Env.nosynth); + (uu___1891_13776.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1871_13678.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1891_13776.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1871_13678.FStar_TypeChecker_Env.tc_term); + (uu___1891_13776.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1871_13678.FStar_TypeChecker_Env.type_of); + (uu___1891_13776.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1871_13678.FStar_TypeChecker_Env.universe_of); + (uu___1891_13776.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1871_13678.FStar_TypeChecker_Env.check_type_of); + (uu___1891_13776.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1871_13678.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1891_13776.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1871_13678.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1891_13776.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1871_13678.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1891_13776.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1871_13678.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1891_13776.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1871_13678.FStar_TypeChecker_Env.proof_ns); + (uu___1891_13776.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1871_13678.FStar_TypeChecker_Env.synth_hook); + (uu___1891_13776.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1871_13678.FStar_TypeChecker_Env.splice); + (uu___1891_13776.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1871_13678.FStar_TypeChecker_Env.postprocess); + (uu___1891_13776.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1871_13678.FStar_TypeChecker_Env.is_native_tactic); + (uu___1891_13776.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1871_13678.FStar_TypeChecker_Env.identifier_info); + (uu___1891_13776.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1871_13678.FStar_TypeChecker_Env.tc_hooks); + (uu___1891_13776.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1871_13678.FStar_TypeChecker_Env.dsenv); + (uu___1891_13776.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1871_13678.FStar_TypeChecker_Env.nbe) + (uu___1891_13776.FStar_TypeChecker_Env.nbe) }) s_ty - pat in - match uu____13661 + pat in + match uu____13759 with | - (uu____13692, - uu____13693, - uu____13694, - pat_t, - uu____13696, - _guard_pat) + (uu____13790,uu____13791,uu____13792,pat_t,uu____13794,_guard_pat) -> let eq_b = - let uu____13703 + let uu____13801 = - let uu____13704 + let uu____13802 = FStar_Syntax_Util.mk_eq2 equ s_ty s_tm1 - pat_t in + pat_t in FStar_Syntax_Util.mk_squash equ - uu____13704 in + uu____13802 + in FStar_Syntax_Syntax.gen_bv "breq" FStar_Pervasives_Native.None - uu____13703 in + uu____13801 + in let cod1 = - let uu____13709 + let uu____13807 = - let uu____13718 + let uu____13816 = FStar_Syntax_Syntax.mk_binder - eq_b in - [uu____13718] in - let uu____13737 + eq_b in + [uu____13816] + in + let uu____13835 = FStar_Syntax_Syntax.mk_Total - cod in + cod in FStar_Syntax_Util.arrow - uu____13709 - uu____13737 in + uu____13807 + uu____13835 + in let nty = - let uu____13743 + let uu____13841 = FStar_Syntax_Syntax.mk_Total - cod1 in + cod1 in FStar_Syntax_Util.arrow bs2 - uu____13743 in - let uu____13746 + uu____13841 + in + let uu____13844 = new_uvar "destruct branch" - env nty in + env nty + in bind - uu____13746 + uu____13844 (fun - uu____13776 - -> - match uu____13776 + uu____13874 + -> + match uu____13874 with | - (uvt, uv) + (uvt,uv) -> let g' = FStar_Tactics_Types.mk_goal env uv g.FStar_Tactics_Types.opts false - g.FStar_Tactics_Types.label in + g.FStar_Tactics_Types.label + in let brt = FStar_Syntax_Util.mk_app_binders - uvt bs2 in + uvt bs2 + in let brt1 = - let uu____13803 + let uu____13901 = - let uu____13814 + let uu____13912 = FStar_Syntax_Syntax.as_arg - FStar_Syntax_Util.exp_unit in - [uu____13814] in + FStar_Syntax_Util.exp_unit + in + [uu____13912] + in FStar_Syntax_Util.mk_app brt - uu____13803 in + uu____13901 + in let br = FStar_Syntax_Subst.close_branch (pat, FStar_Pervasives_Native.None, - brt1) in - let uu____13850 + brt1) in + let uu____13948 = - let uu____13861 + let uu____13959 = - let uu____13866 + let uu____13964 = FStar_BigInt.of_int_fs (FStar_List.length - bs2) in + bs2) in (fv1, - uu____13866) in + uu____13964) + in (g', br, - uu____13861) in + uu____13959) + in ret - uu____13850)))))) + uu____13948)))))) | - uu____13887 + uu____13985 -> fail "impossible: not a ctor")) - c_lids in - bind uu____12932 - (fun goal_brs -> - let uu____13937 + c_lids + in + bind uu____13030 + (fun goal_brs -> + let uu____14035 = FStar_List.unzip3 - goal_brs in - match uu____13937 + goal_brs + in + match uu____14035 with - | (goals, brs, - infos) -> + | (goals,brs,infos) + -> let w = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_match (s_tm1, brs)) FStar_Pervasives_Native.None - s_tm1.FStar_Syntax_Syntax.pos in - let uu____14010 + s_tm1.FStar_Syntax_Syntax.pos + in + let uu____14108 = solve' g - w in + w in bind - uu____14010 + uu____14108 ( fun - uu____14021 - -> - let uu____14022 + uu____14119 + -> + let uu____14120 = add_goals - goals in + goals in bind - uu____14022 + uu____14120 (fun - uu____14032 - -> + uu____14130 + -> ret infos)))) - | uu____14039 -> - fail "not an inductive type")))))) in - FStar_All.pipe_left (wrap_err "destruct") uu____12663 + | uu____14137 -> + fail "not an inductive type")))))) + in + FStar_All.pipe_left (wrap_err "destruct") uu____12761 + let rec last : 'a . 'a Prims.list -> 'a = - fun l -> + fun l -> match l with | [] -> failwith "last: empty list" | x::[] -> x - | uu____14088::xs -> last xs + | uu____14186::xs -> last xs + let rec init : 'a . 'a Prims.list -> 'a Prims.list = - fun l -> + fun l -> match l with | [] -> failwith "init: empty list" | x::[] -> [] - | x::xs -> let uu____14118 = init xs in x :: uu____14118 + | x::xs -> let uu____14216 = init xs in x :: uu____14216 + let rec (inspect : FStar_Syntax_Syntax.term -> FStar_Reflection_Data.term_view tac) = - fun t -> - let uu____14131 = - let t1 = FStar_Syntax_Util.unascribe t in - let t2 = FStar_Syntax_Util.un_uinst t1 in - let t3 = FStar_Syntax_Util.unlazy_emb t2 in + fun t -> + let uu____14229 = + let t1 = FStar_Syntax_Util.unascribe t in + let t2 = FStar_Syntax_Util.un_uinst t1 in + let t3 = FStar_Syntax_Util.unlazy_emb t2 in match t3.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_meta (t4, uu____14140) -> inspect t4 + | FStar_Syntax_Syntax.Tm_meta (t4,uu____14238) -> inspect t4 | FStar_Syntax_Syntax.Tm_name bv -> FStar_All.pipe_left ret (FStar_Reflection_Data.Tv_Var bv) | FStar_Syntax_Syntax.Tm_bvar bv -> FStar_All.pipe_left ret (FStar_Reflection_Data.Tv_BVar bv) | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_All.pipe_left ret (FStar_Reflection_Data.Tv_FVar fv) - | FStar_Syntax_Syntax.Tm_app (hd1, []) -> + | FStar_Syntax_Syntax.Tm_app (hd1,[]) -> failwith "empty arguments on Tm_app" - | FStar_Syntax_Syntax.Tm_app (hd1, args) -> - let uu____14206 = last args in - (match uu____14206 with - | (a, q) -> - let q' = FStar_Reflection_Basic.inspect_aqual q in - let uu____14236 = - let uu____14237 = - let uu____14242 = - let uu____14243 = - let uu____14248 = init args in - FStar_Syntax_Syntax.mk_Tm_app hd1 uu____14248 in - uu____14243 FStar_Pervasives_Native.None - t3.FStar_Syntax_Syntax.pos in - (uu____14242, (a, q')) in - FStar_Reflection_Data.Tv_App uu____14237 in - FStar_All.pipe_left ret uu____14236) - | FStar_Syntax_Syntax.Tm_abs ([], uu____14259, uu____14260) -> + | FStar_Syntax_Syntax.Tm_app (hd1,args) -> + let uu____14304 = last args in + (match uu____14304 with + | (a,q) -> + let q' = FStar_Reflection_Basic.inspect_aqual q in + let uu____14334 = + let uu____14335 = + let uu____14340 = + let uu____14341 = + let uu____14346 = init args in + FStar_Syntax_Syntax.mk_Tm_app hd1 uu____14346 in + uu____14341 FStar_Pervasives_Native.None + t3.FStar_Syntax_Syntax.pos + in + (uu____14340, (a, q')) in + FStar_Reflection_Data.Tv_App uu____14335 in + FStar_All.pipe_left ret uu____14334) + | FStar_Syntax_Syntax.Tm_abs ([],uu____14357,uu____14358) -> failwith "empty arguments on Tm_abs" - | FStar_Syntax_Syntax.Tm_abs (bs, t4, k) -> - let uu____14313 = FStar_Syntax_Subst.open_term bs t4 in - (match uu____14313 with - | (bs1, t5) -> + | FStar_Syntax_Syntax.Tm_abs (bs,t4,k) -> + let uu____14411 = FStar_Syntax_Subst.open_term bs t4 in + (match uu____14411 with + | (bs1,t5) -> (match bs1 with | [] -> failwith "impossible" | b::bs2 -> - let uu____14355 = - let uu____14356 = - let uu____14361 = FStar_Syntax_Util.abs bs2 t5 k in - (b, uu____14361) in - FStar_Reflection_Data.Tv_Abs uu____14356 in - FStar_All.pipe_left ret uu____14355)) - | FStar_Syntax_Syntax.Tm_type uu____14364 -> + let uu____14453 = + let uu____14454 = + let uu____14459 = FStar_Syntax_Util.abs bs2 t5 k in + (b, uu____14459) in + FStar_Reflection_Data.Tv_Abs uu____14454 in + FStar_All.pipe_left ret uu____14453)) + | FStar_Syntax_Syntax.Tm_type uu____14462 -> FStar_All.pipe_left ret (FStar_Reflection_Data.Tv_Type ()) - | FStar_Syntax_Syntax.Tm_arrow ([], k) -> + | FStar_Syntax_Syntax.Tm_arrow ([],k) -> failwith "empty binders on arrow" - | FStar_Syntax_Syntax.Tm_arrow uu____14389 -> - let uu____14404 = FStar_Syntax_Util.arrow_one t3 in - (match uu____14404 with - | FStar_Pervasives_Native.Some (b, c) -> + | FStar_Syntax_Syntax.Tm_arrow uu____14487 -> + let uu____14502 = FStar_Syntax_Util.arrow_one t3 in + (match uu____14502 with + | FStar_Pervasives_Native.Some (b,c) -> FStar_All.pipe_left ret (FStar_Reflection_Data.Tv_Arrow (b, c)) - | FStar_Pervasives_Native.None -> failwith "impossible") - | FStar_Syntax_Syntax.Tm_refine (bv, t4) -> - let b = FStar_Syntax_Syntax.mk_binder bv in - let uu____14435 = FStar_Syntax_Subst.open_term [b] t4 in - (match uu____14435 with - | (b', t5) -> + | FStar_Pervasives_Native.None -> failwith "impossible") + | FStar_Syntax_Syntax.Tm_refine (bv,t4) -> + let b = FStar_Syntax_Syntax.mk_binder bv in + let uu____14533 = FStar_Syntax_Subst.open_term [b] t4 in + (match uu____14533 with + | (b',t5) -> let b1 = match b' with | b'1::[] -> b'1 - | uu____14488 -> failwith "impossible" in + | uu____14586 -> failwith "impossible" in FStar_All.pipe_left ret (FStar_Reflection_Data.Tv_Refine ((FStar_Pervasives_Native.fst b1), t5))) | FStar_Syntax_Syntax.Tm_constant c -> - let uu____14501 = - let uu____14502 = FStar_Reflection_Basic.inspect_const c in - FStar_Reflection_Data.Tv_Const uu____14502 in - FStar_All.pipe_left ret uu____14501 - | FStar_Syntax_Syntax.Tm_uvar (ctx_u, s) -> - let uu____14523 = - let uu____14524 = - let uu____14529 = - let uu____14530 = + let uu____14599 = + let uu____14600 = FStar_Reflection_Basic.inspect_const c in + FStar_Reflection_Data.Tv_Const uu____14600 in + FStar_All.pipe_left ret uu____14599 + | FStar_Syntax_Syntax.Tm_uvar (ctx_u,s) -> + let uu____14621 = + let uu____14622 = + let uu____14627 = + let uu____14628 = FStar_Syntax_Unionfind.uvar_id - ctx_u.FStar_Syntax_Syntax.ctx_uvar_head in - FStar_BigInt.of_int_fs uu____14530 in - (uu____14529, (ctx_u, s)) in - FStar_Reflection_Data.Tv_Uvar uu____14524 in - FStar_All.pipe_left ret uu____14523 - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), t21) -> + ctx_u.FStar_Syntax_Syntax.ctx_uvar_head + in + FStar_BigInt.of_int_fs uu____14628 in + (uu____14627, (ctx_u, s)) in + FStar_Reflection_Data.Tv_Uvar uu____14622 in + FStar_All.pipe_left ret uu____14621 + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),t21) -> if lb.FStar_Syntax_Syntax.lbunivs <> [] then FStar_All.pipe_left ret FStar_Reflection_Data.Tv_Unknown else (match lb.FStar_Syntax_Syntax.lbname with - | FStar_Util.Inr uu____14570 -> + | FStar_Util.Inr uu____14668 -> FStar_All.pipe_left ret FStar_Reflection_Data.Tv_Unknown | FStar_Util.Inl bv -> - let b = FStar_Syntax_Syntax.mk_binder bv in - let uu____14575 = FStar_Syntax_Subst.open_term [b] t21 in - (match uu____14575 with - | (bs, t22) -> + let b = FStar_Syntax_Syntax.mk_binder bv in + let uu____14673 = FStar_Syntax_Subst.open_term [b] t21 in + (match uu____14673 with + | (bs,t22) -> let b1 = match bs with | b1::[] -> b1 - | uu____14628 -> + | uu____14726 -> failwith - "impossible: open_term returned different amount of binders" in + "impossible: open_term returned different amount of binders" + in FStar_All.pipe_left ret (FStar_Reflection_Data.Tv_Let (false, (FStar_Pervasives_Native.fst b1), (lb.FStar_Syntax_Syntax.lbdef), t22)))) - | FStar_Syntax_Syntax.Tm_let ((true, lb::[]), t21) -> + | FStar_Syntax_Syntax.Tm_let ((true ,lb::[]),t21) -> if lb.FStar_Syntax_Syntax.lbunivs <> [] then FStar_All.pipe_left ret FStar_Reflection_Data.Tv_Unknown else (match lb.FStar_Syntax_Syntax.lbname with - | FStar_Util.Inr uu____14670 -> + | FStar_Util.Inr uu____14768 -> FStar_All.pipe_left ret FStar_Reflection_Data.Tv_Unknown | FStar_Util.Inl bv -> - let uu____14674 = FStar_Syntax_Subst.open_let_rec [lb] t21 in - (match uu____14674 with - | (lbs, t22) -> + let uu____14772 = FStar_Syntax_Subst.open_let_rec [lb] t21 + in + (match uu____14772 with + | (lbs,t22) -> (match lbs with | lb1::[] -> (match lb1.FStar_Syntax_Syntax.lbname with - | FStar_Util.Inr uu____14694 -> + | FStar_Util.Inr uu____14792 -> ret FStar_Reflection_Data.Tv_Unknown | FStar_Util.Inl bv1 -> FStar_All.pipe_left ret (FStar_Reflection_Data.Tv_Let (true, bv1, (lb1.FStar_Syntax_Syntax.lbdef), t22))) - | uu____14700 -> + | uu____14798 -> failwith "impossible: open_term returned different amount of binders"))) - | FStar_Syntax_Syntax.Tm_match (t4, brs) -> + | FStar_Syntax_Syntax.Tm_match (t4,brs) -> let rec inspect_pat p = match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant c -> - let uu____14755 = FStar_Reflection_Basic.inspect_const c in - FStar_Reflection_Data.Pat_Constant uu____14755 - | FStar_Syntax_Syntax.Pat_cons (fv, ps) -> - let uu____14776 = - let uu____14783 = + let uu____14853 = FStar_Reflection_Basic.inspect_const c in + FStar_Reflection_Data.Pat_Constant uu____14853 + | FStar_Syntax_Syntax.Pat_cons (fv,ps) -> + let uu____14874 = + let uu____14881 = FStar_List.map - (fun uu____14796 -> - match uu____14796 with - | (p1, uu____14805) -> inspect_pat p1) ps in - (fv, uu____14783) in - FStar_Reflection_Data.Pat_Cons uu____14776 + (fun uu____14894 -> + match uu____14894 with + | (p1,uu____14903) -> inspect_pat p1) ps + in + (fv, uu____14881) in + FStar_Reflection_Data.Pat_Cons uu____14874 | FStar_Syntax_Syntax.Pat_var bv -> FStar_Reflection_Data.Pat_Var bv | FStar_Syntax_Syntax.Pat_wild bv -> FStar_Reflection_Data.Pat_Wild bv - | FStar_Syntax_Syntax.Pat_dot_term (bv, t5) -> - FStar_Reflection_Data.Pat_Dot_Term (bv, t5) in - let brs1 = FStar_List.map FStar_Syntax_Subst.open_branch brs in + | FStar_Syntax_Syntax.Pat_dot_term (bv,t5) -> + FStar_Reflection_Data.Pat_Dot_Term (bv, t5) + in + let brs1 = FStar_List.map FStar_Syntax_Subst.open_branch brs in let brs2 = FStar_List.map - (fun uu___6_14901 -> - match uu___6_14901 with - | (pat, uu____14923, t5) -> - let uu____14941 = inspect_pat pat in (uu____14941, t5)) - brs1 in + (fun uu___6_14999 -> + match uu___6_14999 with + | (pat,uu____15021,t5) -> + let uu____15039 = inspect_pat pat in (uu____15039, t5)) + brs1 + in FStar_All.pipe_left ret (FStar_Reflection_Data.Tv_Match (t4, brs2)) - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> FStar_All.pipe_left ret FStar_Reflection_Data.Tv_Unknown - | uu____14950 -> - ((let uu____14952 = - let uu____14958 = - let uu____14960 = FStar_Syntax_Print.tag_of_term t3 in - let uu____14962 = FStar_Syntax_Print.term_to_string t3 in + | uu____15048 -> + ((let uu____15050 = + let uu____15056 = + let uu____15058 = FStar_Syntax_Print.tag_of_term t3 in + let uu____15060 = FStar_Syntax_Print.term_to_string t3 in FStar_Util.format2 "inspect: outside of expected syntax (%s, %s)\n" - uu____14960 uu____14962 in - (FStar_Errors.Warning_CantInspect, uu____14958) in - FStar_Errors.log_issue t3.FStar_Syntax_Syntax.pos uu____14952); - FStar_All.pipe_left ret FStar_Reflection_Data.Tv_Unknown) in - wrap_err "inspect" uu____14131 + uu____15058 uu____15060 + in + (FStar_Errors.Warning_CantInspect, uu____15056) in + FStar_Errors.log_issue t3.FStar_Syntax_Syntax.pos uu____15050); + FStar_All.pipe_left ret FStar_Reflection_Data.Tv_Unknown) + in + wrap_err "inspect" uu____14229 + let (pack : FStar_Reflection_Data.term_view -> FStar_Syntax_Syntax.term tac) = - fun tv -> + fun tv -> match tv with | FStar_Reflection_Data.Tv_Var bv -> - let uu____14980 = FStar_Syntax_Syntax.bv_to_name bv in - FStar_All.pipe_left ret uu____14980 + let uu____15078 = FStar_Syntax_Syntax.bv_to_name bv in + FStar_All.pipe_left ret uu____15078 | FStar_Reflection_Data.Tv_BVar bv -> - let uu____14984 = FStar_Syntax_Syntax.bv_to_tm bv in - FStar_All.pipe_left ret uu____14984 + let uu____15082 = FStar_Syntax_Syntax.bv_to_tm bv in + FStar_All.pipe_left ret uu____15082 | FStar_Reflection_Data.Tv_FVar fv -> - let uu____14988 = FStar_Syntax_Syntax.fv_to_tm fv in - FStar_All.pipe_left ret uu____14988 - | FStar_Reflection_Data.Tv_App (l, (r, q)) -> - let q' = FStar_Reflection_Basic.pack_aqual q in - let uu____14995 = FStar_Syntax_Util.mk_app l [(r, q')] in - FStar_All.pipe_left ret uu____14995 - | FStar_Reflection_Data.Tv_Abs (b, t) -> - let uu____15020 = - FStar_Syntax_Util.abs [b] t FStar_Pervasives_Native.None in - FStar_All.pipe_left ret uu____15020 - | FStar_Reflection_Data.Tv_Arrow (b, c) -> - let uu____15037 = FStar_Syntax_Util.arrow [b] c in - FStar_All.pipe_left ret uu____15037 + let uu____15086 = FStar_Syntax_Syntax.fv_to_tm fv in + FStar_All.pipe_left ret uu____15086 + | FStar_Reflection_Data.Tv_App (l,(r,q)) -> + let q' = FStar_Reflection_Basic.pack_aqual q in + let uu____15093 = FStar_Syntax_Util.mk_app l [(r, q')] in + FStar_All.pipe_left ret uu____15093 + | FStar_Reflection_Data.Tv_Abs (b,t) -> + let uu____15118 = + FStar_Syntax_Util.abs [b] t FStar_Pervasives_Native.None in + FStar_All.pipe_left ret uu____15118 + | FStar_Reflection_Data.Tv_Arrow (b,c) -> + let uu____15135 = FStar_Syntax_Util.arrow [b] c in + FStar_All.pipe_left ret uu____15135 | FStar_Reflection_Data.Tv_Type () -> FStar_All.pipe_left ret FStar_Syntax_Util.ktype - | FStar_Reflection_Data.Tv_Refine (bv, t) -> - let uu____15056 = FStar_Syntax_Util.refine bv t in - FStar_All.pipe_left ret uu____15056 + | FStar_Reflection_Data.Tv_Refine (bv,t) -> + let uu____15154 = FStar_Syntax_Util.refine bv t in + FStar_All.pipe_left ret uu____15154 | FStar_Reflection_Data.Tv_Const c -> - let uu____15060 = - let uu____15061 = - let uu____15068 = - let uu____15069 = FStar_Reflection_Basic.pack_const c in - FStar_Syntax_Syntax.Tm_constant uu____15069 in - FStar_Syntax_Syntax.mk uu____15068 in - uu____15061 FStar_Pervasives_Native.None FStar_Range.dummyRange in - FStar_All.pipe_left ret uu____15060 - | FStar_Reflection_Data.Tv_Uvar (_u, ctx_u_s) -> - let uu____15074 = + let uu____15158 = + let uu____15159 = + let uu____15166 = + let uu____15167 = FStar_Reflection_Basic.pack_const c in + FStar_Syntax_Syntax.Tm_constant uu____15167 in + FStar_Syntax_Syntax.mk uu____15166 in + uu____15159 FStar_Pervasives_Native.None FStar_Range.dummyRange in + FStar_All.pipe_left ret uu____15158 + | FStar_Reflection_Data.Tv_Uvar (_u,ctx_u_s) -> + let uu____15172 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uvar ctx_u_s) - FStar_Pervasives_Native.None FStar_Range.dummyRange in - FStar_All.pipe_left ret uu____15074 - | FStar_Reflection_Data.Tv_Let (false, bv, t1, t2) -> + FStar_Pervasives_Native.None FStar_Range.dummyRange + in + FStar_All.pipe_left ret uu____15172 + | FStar_Reflection_Data.Tv_Let (false ,bv,t1,t2) -> let lb = FStar_Syntax_Util.mk_letbinding (FStar_Util.Inl bv) [] bv.FStar_Syntax_Syntax.sort FStar_Parser_Const.effect_Tot_lid t1 - [] FStar_Range.dummyRange in - let uu____15085 = - let uu____15086 = - let uu____15093 = - let uu____15094 = - let uu____15108 = - let uu____15111 = - let uu____15112 = FStar_Syntax_Syntax.mk_binder bv in - [uu____15112] in - FStar_Syntax_Subst.close uu____15111 t2 in - ((false, [lb]), uu____15108) in - FStar_Syntax_Syntax.Tm_let uu____15094 in - FStar_Syntax_Syntax.mk uu____15093 in - uu____15086 FStar_Pervasives_Native.None FStar_Range.dummyRange in - FStar_All.pipe_left ret uu____15085 - | FStar_Reflection_Data.Tv_Let (true, bv, t1, t2) -> + [] FStar_Range.dummyRange + in + let uu____15183 = + let uu____15184 = + let uu____15191 = + let uu____15192 = + let uu____15206 = + let uu____15209 = + let uu____15210 = FStar_Syntax_Syntax.mk_binder bv in + [uu____15210] in + FStar_Syntax_Subst.close uu____15209 t2 in + ((false, [lb]), uu____15206) in + FStar_Syntax_Syntax.Tm_let uu____15192 in + FStar_Syntax_Syntax.mk uu____15191 in + uu____15184 FStar_Pervasives_Native.None FStar_Range.dummyRange in + FStar_All.pipe_left ret uu____15183 + | FStar_Reflection_Data.Tv_Let (true ,bv,t1,t2) -> let lb = FStar_Syntax_Util.mk_letbinding (FStar_Util.Inl bv) [] bv.FStar_Syntax_Syntax.sort FStar_Parser_Const.effect_Tot_lid t1 - [] FStar_Range.dummyRange in - let uu____15154 = FStar_Syntax_Subst.close_let_rec [lb] t2 in - (match uu____15154 with - | (lbs, body) -> - let uu____15169 = + [] FStar_Range.dummyRange + in + let uu____15252 = FStar_Syntax_Subst.close_let_rec [lb] t2 in + (match uu____15252 with + | (lbs,body) -> + let uu____15267 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let ((true, lbs), body)) - FStar_Pervasives_Native.None FStar_Range.dummyRange in - FStar_All.pipe_left ret uu____15169) - | FStar_Reflection_Data.Tv_Match (t, brs) -> + FStar_Pervasives_Native.None FStar_Range.dummyRange + in + FStar_All.pipe_left ret uu____15267) + | FStar_Reflection_Data.Tv_Match (t,brs) -> let wrap v1 = { FStar_Syntax_Syntax.v = v1; FStar_Syntax_Syntax.p = FStar_Range.dummyRange - } in + } in let rec pack_pat p = match p with | FStar_Reflection_Data.Pat_Constant c -> - let uu____15206 = - let uu____15207 = FStar_Reflection_Basic.pack_const c in - FStar_Syntax_Syntax.Pat_constant uu____15207 in - FStar_All.pipe_left wrap uu____15206 - | FStar_Reflection_Data.Pat_Cons (fv, ps) -> - let uu____15214 = - let uu____15215 = - let uu____15229 = + let uu____15304 = + let uu____15305 = FStar_Reflection_Basic.pack_const c in + FStar_Syntax_Syntax.Pat_constant uu____15305 in + FStar_All.pipe_left wrap uu____15304 + | FStar_Reflection_Data.Pat_Cons (fv,ps) -> + let uu____15312 = + let uu____15313 = + let uu____15327 = FStar_List.map - (fun p1 -> - let uu____15247 = pack_pat p1 in - (uu____15247, false)) ps in - (fv, uu____15229) in - FStar_Syntax_Syntax.Pat_cons uu____15215 in - FStar_All.pipe_left wrap uu____15214 + (fun p1 -> + let uu____15345 = pack_pat p1 in + (uu____15345, false)) ps + in + (fv, uu____15327) in + FStar_Syntax_Syntax.Pat_cons uu____15313 in + FStar_All.pipe_left wrap uu____15312 | FStar_Reflection_Data.Pat_Var bv -> FStar_All.pipe_left wrap (FStar_Syntax_Syntax.Pat_var bv) | FStar_Reflection_Data.Pat_Wild bv -> FStar_All.pipe_left wrap (FStar_Syntax_Syntax.Pat_wild bv) - | FStar_Reflection_Data.Pat_Dot_Term (bv, t1) -> + | FStar_Reflection_Data.Pat_Dot_Term (bv,t1) -> FStar_All.pipe_left wrap - (FStar_Syntax_Syntax.Pat_dot_term (bv, t1)) in + (FStar_Syntax_Syntax.Pat_dot_term (bv, t1)) + in let brs1 = FStar_List.map - (fun uu___7_15296 -> - match uu___7_15296 with - | (pat, t1) -> - let uu____15313 = pack_pat pat in - (uu____15313, FStar_Pervasives_Native.None, t1)) brs in - let brs2 = FStar_List.map FStar_Syntax_Subst.close_branch brs1 in - let uu____15361 = + (fun uu___7_15394 -> + match uu___7_15394 with + | (pat,t1) -> + let uu____15411 = pack_pat pat in + (uu____15411, FStar_Pervasives_Native.None, t1)) brs + in + let brs2 = FStar_List.map FStar_Syntax_Subst.close_branch brs1 in + let uu____15459 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_match (t, brs2)) - FStar_Pervasives_Native.None FStar_Range.dummyRange in - FStar_All.pipe_left ret uu____15361 - | FStar_Reflection_Data.Tv_AscribedT (e, t, tacopt) -> - let uu____15389 = + FStar_Pervasives_Native.None FStar_Range.dummyRange + in + FStar_All.pipe_left ret uu____15459 + | FStar_Reflection_Data.Tv_AscribedT (e,t,tacopt) -> + let uu____15487 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed (e, ((FStar_Util.Inl t), tacopt), FStar_Pervasives_Native.None)) FStar_Pervasives_Native.None - FStar_Range.dummyRange in - FStar_All.pipe_left ret uu____15389 - | FStar_Reflection_Data.Tv_AscribedC (e, c, tacopt) -> - let uu____15435 = + FStar_Range.dummyRange + in + FStar_All.pipe_left ret uu____15487 + | FStar_Reflection_Data.Tv_AscribedC (e,c,tacopt) -> + let uu____15533 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed (e, ((FStar_Util.Inr c), tacopt), FStar_Pervasives_Native.None)) FStar_Pervasives_Native.None - FStar_Range.dummyRange in - FStar_All.pipe_left ret uu____15435 - | FStar_Reflection_Data.Tv_Unknown -> - let uu____15474 = + FStar_Range.dummyRange + in + FStar_All.pipe_left ret uu____15533 + | FStar_Reflection_Data.Tv_Unknown -> + let uu____15572 = FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown - FStar_Pervasives_Native.None FStar_Range.dummyRange in - FStar_All.pipe_left ret uu____15474 + FStar_Pervasives_Native.None FStar_Range.dummyRange + in + FStar_All.pipe_left ret uu____15572 + let (lget : FStar_Reflection_Data.typ -> Prims.string -> FStar_Syntax_Syntax.term tac) = - fun ty -> - fun k -> - let uu____15494 = + fun ty -> + fun k -> + let uu____15592 = bind get - (fun ps -> - let uu____15500 = - FStar_Util.psmap_try_find ps.FStar_Tactics_Types.local_state k in - match uu____15500 with - | FStar_Pervasives_Native.None -> fail "not found" - | FStar_Pervasives_Native.Some t -> unquote ty t) in - FStar_All.pipe_left (wrap_err "lget") uu____15494 + (fun ps -> + let uu____15598 = + FStar_Util.psmap_try_find ps.FStar_Tactics_Types.local_state k + in + match uu____15598 with + | FStar_Pervasives_Native.None -> fail "not found" + | FStar_Pervasives_Native.Some t -> unquote ty t) + in + FStar_All.pipe_left (wrap_err "lget") uu____15592 + let (lset : FStar_Reflection_Data.typ -> Prims.string -> FStar_Syntax_Syntax.term -> unit tac) = - fun _ty -> - fun k -> - fun t -> - let uu____15534 = + fun _ty -> + fun k -> + fun t -> + let uu____15632 = bind get - (fun ps -> + (fun ps -> let ps1 = - let uu___2169_15541 = ps in - let uu____15542 = + let uu___2189_15639 = ps in + let uu____15640 = FStar_Util.psmap_add ps.FStar_Tactics_Types.local_state k - t in + t + in { FStar_Tactics_Types.main_context = - (uu___2169_15541.FStar_Tactics_Types.main_context); + (uu___2189_15639.FStar_Tactics_Types.main_context); FStar_Tactics_Types.main_goal = - (uu___2169_15541.FStar_Tactics_Types.main_goal); + (uu___2189_15639.FStar_Tactics_Types.main_goal); FStar_Tactics_Types.all_implicits = - (uu___2169_15541.FStar_Tactics_Types.all_implicits); + (uu___2189_15639.FStar_Tactics_Types.all_implicits); FStar_Tactics_Types.goals = - (uu___2169_15541.FStar_Tactics_Types.goals); + (uu___2189_15639.FStar_Tactics_Types.goals); FStar_Tactics_Types.smt_goals = - (uu___2169_15541.FStar_Tactics_Types.smt_goals); + (uu___2189_15639.FStar_Tactics_Types.smt_goals); FStar_Tactics_Types.depth = - (uu___2169_15541.FStar_Tactics_Types.depth); + (uu___2189_15639.FStar_Tactics_Types.depth); FStar_Tactics_Types.__dump = - (uu___2169_15541.FStar_Tactics_Types.__dump); + (uu___2189_15639.FStar_Tactics_Types.__dump); FStar_Tactics_Types.psc = - (uu___2169_15541.FStar_Tactics_Types.psc); + (uu___2189_15639.FStar_Tactics_Types.psc); FStar_Tactics_Types.entry_range = - (uu___2169_15541.FStar_Tactics_Types.entry_range); + (uu___2189_15639.FStar_Tactics_Types.entry_range); FStar_Tactics_Types.guard_policy = - (uu___2169_15541.FStar_Tactics_Types.guard_policy); + (uu___2189_15639.FStar_Tactics_Types.guard_policy); FStar_Tactics_Types.freshness = - (uu___2169_15541.FStar_Tactics_Types.freshness); + (uu___2189_15639.FStar_Tactics_Types.freshness); FStar_Tactics_Types.tac_verb_dbg = - (uu___2169_15541.FStar_Tactics_Types.tac_verb_dbg); - FStar_Tactics_Types.local_state = uu____15542 - } in - set ps1) in - FStar_All.pipe_left (wrap_err "lset") uu____15534 + (uu___2189_15639.FStar_Tactics_Types.tac_verb_dbg); + FStar_Tactics_Types.local_state = uu____15640 + } in + set ps1) + in + FStar_All.pipe_left (wrap_err "lset") uu____15632 + let (goal_of_goal_ty : env -> FStar_Reflection_Data.typ -> (FStar_Tactics_Types.goal * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun typ -> - let uu____15569 = + fun env -> + fun typ -> + let uu____15667 = FStar_TypeChecker_Util.new_implicit_var "proofstate_of_goal_ty" - typ.FStar_Syntax_Syntax.pos env typ in - match uu____15569 with - | (u, ctx_uvars, g_u) -> - let uu____15602 = FStar_List.hd ctx_uvars in - (match uu____15602 with - | (ctx_uvar, uu____15616) -> + typ.FStar_Syntax_Syntax.pos env typ + in + match uu____15667 with + | (u,ctx_uvars,g_u) -> + let uu____15700 = FStar_List.hd ctx_uvars in + (match uu____15700 with + | (ctx_uvar,uu____15714) -> let g = - let uu____15618 = FStar_Options.peek () in - FStar_Tactics_Types.mk_goal env ctx_uvar uu____15618 false - "" in + let uu____15716 = FStar_Options.peek () in + FStar_Tactics_Types.mk_goal env ctx_uvar uu____15716 false + "" + in (g, g_u)) + let (proofstate_of_goal_ty : FStar_Range.range -> env -> FStar_Reflection_Data.typ -> (FStar_Tactics_Types.proofstate * FStar_Syntax_Syntax.term)) = - fun rng -> - fun env -> - fun typ -> - let uu____15641 = goal_of_goal_ty env typ in - match uu____15641 with - | (g, g_u) -> + fun rng -> + fun env -> + fun typ -> + let uu____15739 = goal_of_goal_ty env typ in + match uu____15739 with + | (g,g_u) -> let ps = - let uu____15653 = + let uu____15751 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "TacVerbose") in - let uu____15656 = FStar_Util.psmap_empty () in + (FStar_Options.Other "TacVerbose") + in + let uu____15754 = FStar_Util.psmap_empty () in { FStar_Tactics_Types.main_context = env; FStar_Tactics_Types.main_goal = g; @@ -6584,13 +7104,14 @@ let (proofstate_of_goal_ty : FStar_Tactics_Types.smt_goals = []; FStar_Tactics_Types.depth = (Prims.parse_int "0"); FStar_Tactics_Types.__dump = - (fun ps -> fun msg -> dump_proofstate ps msg); + (fun ps -> fun msg -> dump_proofstate ps msg); FStar_Tactics_Types.psc = FStar_TypeChecker_Cfg.null_psc; FStar_Tactics_Types.entry_range = rng; FStar_Tactics_Types.guard_policy = FStar_Tactics_Types.SMT; FStar_Tactics_Types.freshness = (Prims.parse_int "0"); - FStar_Tactics_Types.tac_verb_dbg = uu____15653; - FStar_Tactics_Types.local_state = uu____15656 - } in - let uu____15666 = FStar_Tactics_Types.goal_witness g in - (ps, uu____15666) \ No newline at end of file + FStar_Tactics_Types.tac_verb_dbg = uu____15751; + FStar_Tactics_Types.local_state = uu____15754 + } in + let uu____15764 = FStar_Tactics_Types.goal_witness g in + (ps, uu____15764) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Tactics_Embedding.ml b/src/ocaml-output/FStar_Tactics_Embedding.ml index eef8a140c8a..e3d48bcfbb2 100644 --- a/src/ocaml-output/FStar_Tactics_Embedding.ml +++ b/src/ocaml-output/FStar_Tactics_Embedding.ml @@ -1,126 +1,133 @@ open Prims type name = FStar_Syntax_Syntax.bv let (fstar_tactics_lid' : Prims.string Prims.list -> FStar_Ident.lid) = - fun s -> FStar_Parser_Const.fstar_tactics_lid' s + fun s -> FStar_Parser_Const.fstar_tactics_lid' s let (lid_as_tm : FStar_Ident.lident -> FStar_Syntax_Syntax.term) = - fun l -> + fun l -> let uu____17 = FStar_Syntax_Syntax.lid_as_fv l FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_All.pipe_right uu____17 FStar_Syntax_Syntax.fv_to_tm + let (mk_tactic_lid_as_term : Prims.string -> FStar_Syntax_Syntax.term) = - fun s -> - let uu____26 = fstar_tactics_lid' ["Effect"; s] in lid_as_tm uu____26 + fun s -> + let uu____26 = fstar_tactics_lid' ["Effect"; s] in lid_as_tm uu____26 + let (lid_as_data_fv : FStar_Ident.lident -> FStar_Syntax_Syntax.fv) = - fun l -> + fun l -> FStar_Syntax_Syntax.lid_as_fv l FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + let (lid_as_data_tm : FStar_Ident.lident -> FStar_Syntax_Syntax.term) = - fun l -> - let uu____43 = lid_as_data_fv l in FStar_Syntax_Syntax.fv_to_tm uu____43 + fun l -> + let uu____43 = lid_as_data_fv l in FStar_Syntax_Syntax.fv_to_tm uu____43 + let (fstar_tactics_lid_as_data_tm : Prims.string -> FStar_Syntax_Syntax.term) = - fun s -> - let uu____52 = fstar_tactics_lid' ["Effect"; s] in + fun s -> + let uu____52 = fstar_tactics_lid' ["Effect"; s] in lid_as_data_tm uu____52 + let (fstar_tactics_Failed_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Result"; "Failed"] + fstar_tactics_lid' ["Result"; "Failed"] let (fstar_tactics_Success_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Result"; "Success"] + fstar_tactics_lid' ["Result"; "Success"] let (fstar_tactics_Failed_tm : FStar_Syntax_Syntax.term) = - lid_as_data_tm fstar_tactics_Failed_lid + lid_as_data_tm fstar_tactics_Failed_lid let (fstar_tactics_Success_tm : FStar_Syntax_Syntax.term) = - lid_as_data_tm fstar_tactics_Success_lid + lid_as_data_tm fstar_tactics_Success_lid let (fstar_tactics_Failed_fv : FStar_Syntax_Syntax.fv) = - lid_as_data_fv fstar_tactics_Failed_lid + lid_as_data_fv fstar_tactics_Failed_lid let (fstar_tactics_Success_fv : FStar_Syntax_Syntax.fv) = - lid_as_data_fv fstar_tactics_Success_lid + lid_as_data_fv fstar_tactics_Success_lid let (fstar_tactics_topdown_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Types"; "TopDown"] + fstar_tactics_lid' ["Types"; "TopDown"] let (fstar_tactics_bottomup_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Types"; "BottomUp"] + fstar_tactics_lid' ["Types"; "BottomUp"] let (fstar_tactics_topdown : FStar_Syntax_Syntax.term) = - lid_as_data_tm fstar_tactics_topdown_lid + lid_as_data_tm fstar_tactics_topdown_lid let (fstar_tactics_bottomup : FStar_Syntax_Syntax.term) = - lid_as_data_tm fstar_tactics_bottomup_lid + lid_as_data_tm fstar_tactics_bottomup_lid let (fstar_tactics_topdown_fv : FStar_Syntax_Syntax.fv) = - lid_as_data_fv fstar_tactics_topdown_lid + lid_as_data_fv fstar_tactics_topdown_lid let (fstar_tactics_bottomup_fv : FStar_Syntax_Syntax.fv) = - lid_as_data_fv fstar_tactics_bottomup_lid + lid_as_data_fv fstar_tactics_bottomup_lid let (fstar_tactics_SMT_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Types"; "SMT"] + fstar_tactics_lid' ["Types"; "SMT"] let (fstar_tactics_Goal_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Types"; "Goal"] + fstar_tactics_lid' ["Types"; "Goal"] let (fstar_tactics_Drop_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Types"; "Drop"] + fstar_tactics_lid' ["Types"; "Drop"] let (fstar_tactics_Force_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Types"; "Force"] + fstar_tactics_lid' ["Types"; "Force"] let (fstar_tactics_SMT : FStar_Syntax_Syntax.term) = - lid_as_data_tm fstar_tactics_SMT_lid + lid_as_data_tm fstar_tactics_SMT_lid let (fstar_tactics_Goal : FStar_Syntax_Syntax.term) = - lid_as_data_tm fstar_tactics_Goal_lid + lid_as_data_tm fstar_tactics_Goal_lid let (fstar_tactics_Drop : FStar_Syntax_Syntax.term) = - lid_as_data_tm fstar_tactics_Drop_lid + lid_as_data_tm fstar_tactics_Drop_lid let (fstar_tactics_Force : FStar_Syntax_Syntax.term) = - lid_as_data_tm fstar_tactics_Force_lid + lid_as_data_tm fstar_tactics_Force_lid let (fstar_tactics_SMT_fv : FStar_Syntax_Syntax.fv) = - lid_as_data_fv fstar_tactics_SMT_lid + lid_as_data_fv fstar_tactics_SMT_lid let (fstar_tactics_Goal_fv : FStar_Syntax_Syntax.fv) = - lid_as_data_fv fstar_tactics_Goal_lid + lid_as_data_fv fstar_tactics_Goal_lid let (fstar_tactics_Drop_fv : FStar_Syntax_Syntax.fv) = - lid_as_data_fv fstar_tactics_Drop_lid + lid_as_data_fv fstar_tactics_Drop_lid let (fstar_tactics_Force_fv : FStar_Syntax_Syntax.fv) = - lid_as_data_fv fstar_tactics_Force_lid + lid_as_data_fv fstar_tactics_Force_lid let (fstar_tactics_TacticFailure_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Types"; "TacticFailure"] + fstar_tactics_lid' ["Types"; "TacticFailure"] let (fstar_tactics_EExn_lid : FStar_Ident.lid) = - fstar_tactics_lid' ["Types"; "EExn"] + fstar_tactics_lid' ["Types"; "EExn"] let (fstar_tactics_TacticFailure_tm : FStar_Syntax_Syntax.term) = - lid_as_data_tm fstar_tactics_TacticFailure_lid + lid_as_data_tm fstar_tactics_TacticFailure_lid let (fstar_tactics_EExn_tm : FStar_Syntax_Syntax.term) = - lid_as_data_tm fstar_tactics_EExn_lid + lid_as_data_tm fstar_tactics_EExn_lid let (fstar_tactics_TacticFailure_fv : FStar_Syntax_Syntax.fv) = - lid_as_data_fv fstar_tactics_TacticFailure_lid + lid_as_data_fv fstar_tactics_TacticFailure_lid let (fstar_tactics_EExn_fv : FStar_Syntax_Syntax.fv) = - lid_as_data_fv fstar_tactics_EExn_lid + lid_as_data_fv fstar_tactics_EExn_lid let (t_proofstate : FStar_Syntax_Syntax.term) = - let uu____138 = fstar_tactics_lid' ["Types"; "proofstate"] in - FStar_Syntax_Syntax.tconst uu____138 + let uu____138 = fstar_tactics_lid' ["Types"; "proofstate"] in + FStar_Syntax_Syntax.tconst uu____138 let (fv_proofstate : FStar_Syntax_Syntax.fv) = - let uu____145 = fstar_tactics_lid' ["Types"; "proofstate"] in - FStar_Syntax_Syntax.fvconst uu____145 + let uu____145 = fstar_tactics_lid' ["Types"; "proofstate"] in + FStar_Syntax_Syntax.fvconst uu____145 let (t_goal : FStar_Syntax_Syntax.term) = - let uu____152 = fstar_tactics_lid' ["Types"; "goal"] in - FStar_Syntax_Syntax.tconst uu____152 + let uu____152 = fstar_tactics_lid' ["Types"; "goal"] in + FStar_Syntax_Syntax.tconst uu____152 let (fv_goal : FStar_Syntax_Syntax.fv) = - let uu____159 = fstar_tactics_lid' ["Types"; "goal"] in - FStar_Syntax_Syntax.fvconst uu____159 -let (t_result_lid : FStar_Ident.lid) = fstar_tactics_lid' ["Types"; "result"] + let uu____159 = fstar_tactics_lid' ["Types"; "goal"] in + FStar_Syntax_Syntax.fvconst uu____159 +let (t_result_lid : FStar_Ident.lid) = fstar_tactics_lid' ["Types"; "result"] let (t_result : FStar_Syntax_Syntax.term) = - FStar_Syntax_Syntax.tconst t_result_lid + FStar_Syntax_Syntax.tconst t_result_lid let (fv_result : FStar_Syntax_Syntax.fv) = - let uu____173 = fstar_tactics_lid' ["Types"; "result"] in - FStar_Syntax_Syntax.fvconst uu____173 + let uu____173 = fstar_tactics_lid' ["Types"; "result"] in + FStar_Syntax_Syntax.fvconst uu____173 let (t_result_of : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t -> + fun t -> let uu____187 = - let uu____198 = FStar_Syntax_Syntax.as_arg t in [uu____198] in + let uu____198 = FStar_Syntax_Syntax.as_arg t in [uu____198] in FStar_Syntax_Util.mk_app t_result uu____187 + let (t_guard_policy : FStar_Syntax_Syntax.term) = - let uu____224 = fstar_tactics_lid' ["Types"; "guard_policy"] in - FStar_Syntax_Syntax.tconst uu____224 + let uu____224 = fstar_tactics_lid' ["Types"; "guard_policy"] in + FStar_Syntax_Syntax.tconst uu____224 let (fv_guard_policy : FStar_Syntax_Syntax.fv) = - let uu____231 = fstar_tactics_lid' ["Types"; "guard_policy"] in - FStar_Syntax_Syntax.fvconst uu____231 + let uu____231 = fstar_tactics_lid' ["Types"; "guard_policy"] in + FStar_Syntax_Syntax.fvconst uu____231 let (t_direction : FStar_Syntax_Syntax.term) = - let uu____238 = fstar_tactics_lid' ["Types"; "direction"] in - FStar_Syntax_Syntax.tconst uu____238 + let uu____238 = fstar_tactics_lid' ["Types"; "direction"] in + FStar_Syntax_Syntax.tconst uu____238 let (fv_direction : FStar_Syntax_Syntax.fv) = - let uu____245 = fstar_tactics_lid' ["Types"; "direction"] in - FStar_Syntax_Syntax.fvconst uu____245 + let uu____245 = fstar_tactics_lid' ["Types"; "direction"] in + FStar_Syntax_Syntax.fvconst uu____245 let mk_emb : 'a . (FStar_Range.range -> 'a -> FStar_Syntax_Syntax.term) -> @@ -128,24 +135,26 @@ let mk_emb : FStar_Syntax_Syntax.term -> 'a FStar_Pervasives_Native.option) -> FStar_Syntax_Syntax.term -> 'a FStar_Syntax_Embeddings.embedding = - fun em -> - fun un -> - fun t -> - let uu____304 = FStar_Syntax_Embeddings.term_as_fv t in + fun em -> + fun un -> + fun t -> + let uu____304 = FStar_Syntax_Embeddings.term_as_fv t in FStar_Syntax_Embeddings.mk_emb - (fun x -> fun r -> fun _topt -> fun _norm -> em r x) - (fun x -> fun w -> fun _norm -> un w x) uu____304 + (fun x -> fun r -> fun _topt -> fun _norm -> em r x) + (fun x -> fun w -> fun _norm -> un w x) uu____304 + let embed : 'Auu____331 . 'Auu____331 FStar_Syntax_Embeddings.embedding -> FStar_Range.range -> 'Auu____331 -> FStar_Syntax_Syntax.term = - fun e -> - fun r -> - fun x -> - let uu____351 = FStar_Syntax_Embeddings.embed e x in + fun e -> + fun r -> + fun x -> + let uu____351 = FStar_Syntax_Embeddings.embed e x in uu____351 r FStar_Pervasives_Native.None FStar_Syntax_Embeddings.id_norm_cb + let unembed' : 'Auu____369 . Prims.bool -> @@ -153,218 +162,232 @@ let unembed' : FStar_Syntax_Syntax.term -> 'Auu____369 FStar_Pervasives_Native.option = - fun w -> - fun e -> - fun x -> - let uu____393 = FStar_Syntax_Embeddings.unembed e x in + fun w -> + fun e -> + fun x -> + let uu____393 = FStar_Syntax_Embeddings.unembed e x in uu____393 w FStar_Syntax_Embeddings.id_norm_cb + let (hd'_and_args : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term' * (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list)) = - fun tm -> - let tm1 = FStar_Syntax_Util.unascribe tm in - let uu____421 = FStar_Syntax_Util.head_and_args tm1 in + fun tm -> + let tm1 = FStar_Syntax_Util.unascribe tm in + let uu____421 = FStar_Syntax_Util.head_and_args tm1 in match uu____421 with - | (hd1, args) -> + | (hd1,args) -> let uu____478 = - let uu____479 = FStar_Syntax_Util.un_uinst hd1 in - uu____479.FStar_Syntax_Syntax.n in + let uu____479 = FStar_Syntax_Util.un_uinst hd1 in + uu____479.FStar_Syntax_Syntax.n in (uu____478, args) + let (e_proofstate : FStar_Tactics_Types.proofstate FStar_Syntax_Embeddings.embedding) = let embed_proofstate rng ps = FStar_Syntax_Util.mk_lazy ps t_proofstate - FStar_Syntax_Syntax.Lazy_proofstate (FStar_Pervasives_Native.Some rng) in + FStar_Syntax_Syntax.Lazy_proofstate (FStar_Pervasives_Native.Some rng) + in let unembed_proofstate w t = let uu____523 = - let uu____524 = FStar_Syntax_Subst.compress t in - uu____524.FStar_Syntax_Syntax.n in + let uu____524 = FStar_Syntax_Subst.compress t in + uu____524.FStar_Syntax_Syntax.n in match uu____523 with | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_proofstate; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_proofstate ; FStar_Syntax_Syntax.ltyp = uu____530; FStar_Syntax_Syntax.rng = uu____531;_} -> - let uu____534 = FStar_Dyn.undyn b in - FStar_All.pipe_left (fun _537 -> FStar_Pervasives_Native.Some _537) + let uu____534 = FStar_Dyn.undyn b in + FStar_All.pipe_left (fun _537 -> FStar_Pervasives_Native.Some _537) uu____534 | uu____538 -> (if w then (let uu____541 = let uu____547 = - let uu____549 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "Not an embedded proofstate: %s" uu____549 in - (FStar_Errors.Warning_NotEmbedded, uu____547) in + let uu____549 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "Not an embedded proofstate: %s" uu____549 + in + (FStar_Errors.Warning_NotEmbedded, uu____547) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____541) else (); - FStar_Pervasives_Native.None) in - mk_emb embed_proofstate unembed_proofstate t_proofstate + FStar_Pervasives_Native.None) + in + mk_emb embed_proofstate unembed_proofstate t_proofstate let (unfold_lazy_proofstate : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = - fun i -> FStar_Syntax_Util.exp_string "(((proofstate)))" + fun i -> FStar_Syntax_Util.exp_string "(((proofstate)))" let (mkFV : FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.universe Prims.list -> (FStar_TypeChecker_NBETerm.t * FStar_Syntax_Syntax.aqual) Prims.list -> FStar_TypeChecker_NBETerm.t) = - fun fv -> - fun us -> - fun ts -> + fun fv -> + fun us -> + fun ts -> FStar_TypeChecker_NBETerm.mkFV fv (FStar_List.rev us) (FStar_List.rev ts) + let (mkConstruct : FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.universe Prims.list -> (FStar_TypeChecker_NBETerm.t * FStar_Syntax_Syntax.aqual) Prims.list -> FStar_TypeChecker_NBETerm.t) = - fun fv -> - fun us -> - fun ts -> + fun fv -> + fun us -> + fun ts -> FStar_TypeChecker_NBETerm.mkConstruct fv (FStar_List.rev us) (FStar_List.rev ts) + let (fv_as_emb_typ : FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.emb_typ) = - fun fv -> + fun fv -> let uu____640 = let uu____648 = FStar_Ident.string_of_lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - (uu____648, []) in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + (uu____648, []) in FStar_Syntax_Syntax.ET_app uu____640 + let (e_proofstate_nbe : FStar_Tactics_Types.proofstate FStar_TypeChecker_NBETerm.embedding) = let embed_proofstate _cb ps = let li = - let uu____668 = FStar_Dyn.mkdyn ps in + let uu____668 = FStar_Dyn.mkdyn ps in { FStar_Syntax_Syntax.blob = uu____668; FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_proofstate; FStar_Syntax_Syntax.ltyp = t_proofstate; FStar_Syntax_Syntax.rng = FStar_Range.dummyRange - } in + } in let thunk1 = FStar_Common.mk_thunk - (fun uu____673 -> + (fun uu____673 -> FStar_TypeChecker_NBETerm.Constant (FStar_TypeChecker_NBETerm.String - ("(((proofstate.nbe)))", FStar_Range.dummyRange))) in - FStar_TypeChecker_NBETerm.Lazy ((FStar_Util.Inl li), thunk1) in + ("(((proofstate.nbe)))", FStar_Range.dummyRange))) + in + FStar_TypeChecker_NBETerm.Lazy ((FStar_Util.Inl li), thunk1) in let unembed_proofstate _cb t = match t with | FStar_TypeChecker_NBETerm.Lazy (FStar_Util.Inl { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_proofstate; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_proofstate ; FStar_Syntax_Syntax.ltyp = uu____706; - FStar_Syntax_Syntax.rng = uu____707;_}, - uu____708) + FStar_Syntax_Syntax.rng = uu____707;_},uu____708) -> - let uu____727 = FStar_Dyn.undyn b in - FStar_All.pipe_left (fun _730 -> FStar_Pervasives_Native.Some _730) + let uu____727 = FStar_Dyn.undyn b in + FStar_All.pipe_left (fun _730 -> FStar_Pervasives_Native.Some _730) uu____727 | uu____731 -> ((let uu____733 = let uu____739 = - let uu____741 = FStar_TypeChecker_NBETerm.t_to_string t in + let uu____741 = FStar_TypeChecker_NBETerm.t_to_string t in FStar_Util.format1 "Not an embedded NBE proofstate: %s" - uu____741 in - (FStar_Errors.Warning_NotEmbedded, uu____739) in + uu____741 + in + (FStar_Errors.Warning_NotEmbedded, uu____739) in FStar_Errors.log_issue FStar_Range.dummyRange uu____733); - FStar_Pervasives_Native.None) in - let uu____745 = mkFV fv_proofstate [] [] in - let uu____750 = fv_as_emb_typ fv_proofstate in + FStar_Pervasives_Native.None) + in + let uu____745 = mkFV fv_proofstate [] [] in + let uu____750 = fv_as_emb_typ fv_proofstate in { FStar_TypeChecker_NBETerm.em = embed_proofstate; FStar_TypeChecker_NBETerm.un = unembed_proofstate; FStar_TypeChecker_NBETerm.typ = uu____745; FStar_TypeChecker_NBETerm.emb_typ = uu____750 - } + } let (e_goal : FStar_Tactics_Types.goal FStar_Syntax_Embeddings.embedding) = let embed_goal rng g = FStar_Syntax_Util.mk_lazy g t_goal FStar_Syntax_Syntax.Lazy_goal - (FStar_Pervasives_Native.Some rng) in + (FStar_Pervasives_Native.Some rng) + in let unembed_goal w t = let uu____782 = - let uu____783 = FStar_Syntax_Subst.compress t in - uu____783.FStar_Syntax_Syntax.n in + let uu____783 = FStar_Syntax_Subst.compress t in + uu____783.FStar_Syntax_Syntax.n in match uu____782 with | FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_goal; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_goal ; FStar_Syntax_Syntax.ltyp = uu____789; FStar_Syntax_Syntax.rng = uu____790;_} -> - let uu____793 = FStar_Dyn.undyn b in - FStar_All.pipe_left (fun _796 -> FStar_Pervasives_Native.Some _796) + let uu____793 = FStar_Dyn.undyn b in + FStar_All.pipe_left (fun _796 -> FStar_Pervasives_Native.Some _796) uu____793 | uu____797 -> (if w then (let uu____800 = let uu____806 = - let uu____808 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "Not an embedded goal: %s" uu____808 in - (FStar_Errors.Warning_NotEmbedded, uu____806) in + let uu____808 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "Not an embedded goal: %s" uu____808 in + (FStar_Errors.Warning_NotEmbedded, uu____806) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____800) else (); - FStar_Pervasives_Native.None) in - mk_emb embed_goal unembed_goal t_goal + FStar_Pervasives_Native.None) + in + mk_emb embed_goal unembed_goal t_goal let (unfold_lazy_goal : FStar_Syntax_Syntax.lazyinfo -> FStar_Syntax_Syntax.term) = - fun i -> FStar_Syntax_Util.exp_string "(((goal)))" + fun i -> FStar_Syntax_Util.exp_string "(((goal)))" let (e_goal_nbe : FStar_Tactics_Types.goal FStar_TypeChecker_NBETerm.embedding) = let embed_goal _cb ps = let li = - let uu____836 = FStar_Dyn.mkdyn ps in + let uu____836 = FStar_Dyn.mkdyn ps in { FStar_Syntax_Syntax.blob = uu____836; FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_goal; FStar_Syntax_Syntax.ltyp = t_goal; FStar_Syntax_Syntax.rng = FStar_Range.dummyRange - } in + } in let thunk1 = FStar_Common.mk_thunk - (fun uu____841 -> + (fun uu____841 -> FStar_TypeChecker_NBETerm.Constant (FStar_TypeChecker_NBETerm.String - ("(((goal.nbe)))", FStar_Range.dummyRange))) in - FStar_TypeChecker_NBETerm.Lazy ((FStar_Util.Inl li), thunk1) in + ("(((goal.nbe)))", FStar_Range.dummyRange))) + in + FStar_TypeChecker_NBETerm.Lazy ((FStar_Util.Inl li), thunk1) in let unembed_goal _cb t = match t with | FStar_TypeChecker_NBETerm.Lazy (FStar_Util.Inl { FStar_Syntax_Syntax.blob = b; - FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_goal; + FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_goal ; FStar_Syntax_Syntax.ltyp = uu____874; - FStar_Syntax_Syntax.rng = uu____875;_}, - uu____876) + FStar_Syntax_Syntax.rng = uu____875;_},uu____876) -> - let uu____895 = FStar_Dyn.undyn b in - FStar_All.pipe_left (fun _898 -> FStar_Pervasives_Native.Some _898) + let uu____895 = FStar_Dyn.undyn b in + FStar_All.pipe_left (fun _898 -> FStar_Pervasives_Native.Some _898) uu____895 | uu____899 -> ((let uu____901 = let uu____907 = - let uu____909 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded NBE goal: %s" uu____909 in - (FStar_Errors.Warning_NotEmbedded, uu____907) in + let uu____909 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded NBE goal: %s" uu____909 in + (FStar_Errors.Warning_NotEmbedded, uu____907) in FStar_Errors.log_issue FStar_Range.dummyRange uu____901); - FStar_Pervasives_Native.None) in - let uu____913 = mkFV fv_goal [] [] in - let uu____918 = fv_as_emb_typ fv_goal in + FStar_Pervasives_Native.None) + in + let uu____913 = mkFV fv_goal [] [] in + let uu____918 = fv_as_emb_typ fv_goal in { FStar_TypeChecker_NBETerm.em = embed_goal; FStar_TypeChecker_NBETerm.un = unembed_goal; FStar_TypeChecker_NBETerm.typ = uu____913; FStar_TypeChecker_NBETerm.emb_typ = uu____918 - } + } let (e_exn : Prims.exn FStar_Syntax_Embeddings.embedding) = let embed_exn e rng uu____944 uu____945 = match e with @@ -372,14 +395,16 @@ let (e_exn : Prims.exn FStar_Syntax_Embeddings.embedding) = let uu____949 = let uu____954 = let uu____955 = - let uu____964 = embed FStar_Syntax_Embeddings.e_string rng s in - FStar_Syntax_Syntax.as_arg uu____964 in - [uu____955] in + let uu____964 = embed FStar_Syntax_Embeddings.e_string rng s + in + FStar_Syntax_Syntax.as_arg uu____964 in + [uu____955] in FStar_Syntax_Syntax.mk_Tm_app fstar_tactics_TacticFailure_tm - uu____954 in + uu____954 + in uu____949 FStar_Pervasives_Native.None rng | FStar_Tactics_Types.EExn t -> - let uu___117_983 = t in + let uu___117_983 = t in { FStar_Syntax_Syntax.n = (uu___117_983.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; @@ -387,37 +412,43 @@ let (e_exn : Prims.exn FStar_Syntax_Embeddings.embedding) = } | e1 -> let s = - let uu____987 = FStar_Util.message_of_exn e1 in - Prims.op_Hat "uncaught exception: " uu____987 in + let uu____987 = FStar_Util.message_of_exn e1 in + Prims.op_Hat "uncaught exception: " uu____987 in let uu____990 = let uu____995 = let uu____996 = - let uu____1005 = embed FStar_Syntax_Embeddings.e_string rng s in - FStar_Syntax_Syntax.as_arg uu____1005 in - [uu____996] in + let uu____1005 = embed FStar_Syntax_Embeddings.e_string rng s + in + FStar_Syntax_Syntax.as_arg uu____1005 in + [uu____996] in FStar_Syntax_Syntax.mk_Tm_app fstar_tactics_TacticFailure_tm - uu____995 in - uu____990 FStar_Pervasives_Native.None rng in + uu____995 + in + uu____990 FStar_Pervasives_Native.None rng + in let unembed_exn t w uu____1042 = - let uu____1047 = hd'_and_args t in + let uu____1047 = hd'_and_args t in match uu____1047 with - | (FStar_Syntax_Syntax.Tm_fvar fv, (s, uu____1066)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(s,uu____1066)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_TacticFailure_lid -> - let uu____1101 = unembed' w FStar_Syntax_Embeddings.e_string s in + let uu____1101 = unembed' w FStar_Syntax_Embeddings.e_string s in FStar_Util.bind_opt uu____1101 - (fun s1 -> + (fun s1 -> FStar_Pervasives_Native.Some (FStar_Tactics_Types.TacticFailure s1)) - | uu____1110 -> FStar_Pervasives_Native.Some (FStar_Tactics_Types.EExn t) in + | uu____1110 -> FStar_Pervasives_Native.Some (FStar_Tactics_Types.EExn t) + in let uu____1125 = let uu____1126 = let uu____1134 = FStar_All.pipe_right FStar_Parser_Const.exn_lid - FStar_Ident.string_of_lid in - (uu____1134, []) in - FStar_Syntax_Syntax.ET_app uu____1126 in + FStar_Ident.string_of_lid + in + (uu____1134, []) in + FStar_Syntax_Syntax.ET_app uu____1126 in FStar_Syntax_Embeddings.mk_emb_full embed_exn unembed_exn - FStar_Syntax_Syntax.t_exn (fun uu____1141 -> "(exn)") uu____1125 + FStar_Syntax_Syntax.t_exn (fun uu____1141 -> "(exn)") uu____1125 + let (e_exn_nbe : Prims.exn FStar_TypeChecker_NBETerm.embedding) = let embed_exn cb e = match e with @@ -426,112 +457,118 @@ let (e_exn_nbe : Prims.exn FStar_TypeChecker_NBETerm.embedding) = let uu____1166 = let uu____1171 = FStar_TypeChecker_NBETerm.embed - FStar_TypeChecker_NBETerm.e_string cb s in - FStar_TypeChecker_NBETerm.as_arg uu____1171 in - [uu____1166] in + FStar_TypeChecker_NBETerm.e_string cb s + in + FStar_TypeChecker_NBETerm.as_arg uu____1171 in + [uu____1166] in mkConstruct fstar_tactics_TacticFailure_fv [] uu____1159 | uu____1181 -> let uu____1182 = - let uu____1184 = FStar_Util.message_of_exn e in - FStar_Util.format1 "cannot embed exn (NBE) : %s" uu____1184 in - failwith uu____1182 in + let uu____1184 = FStar_Util.message_of_exn e in + FStar_Util.format1 "cannot embed exn (NBE) : %s" uu____1184 in + failwith uu____1182 + in let unembed_exn cb t = match t with - | FStar_TypeChecker_NBETerm.Construct - (fv, uu____1203, (s, uu____1205)::[]) when - FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_TacticFailure_lid -> + | FStar_TypeChecker_NBETerm.Construct (fv,uu____1203,(s,uu____1205)::[]) + when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_TacticFailure_lid + -> let uu____1224 = FStar_TypeChecker_NBETerm.unembed - FStar_TypeChecker_NBETerm.e_string cb s in + FStar_TypeChecker_NBETerm.e_string cb s + in FStar_Util.bind_opt uu____1224 - (fun s1 -> + (fun s1 -> FStar_Pervasives_Native.Some (FStar_Tactics_Types.TacticFailure s1)) - | uu____1233 -> FStar_Pervasives_Native.None in - let fv_exn = FStar_Syntax_Syntax.fvconst FStar_Parser_Const.exn_lid in - let uu____1235 = mkFV fv_exn [] [] in - let uu____1240 = fv_as_emb_typ fv_exn in + | uu____1233 -> FStar_Pervasives_Native.None in + let fv_exn = FStar_Syntax_Syntax.fvconst FStar_Parser_Const.exn_lid in + let uu____1235 = mkFV fv_exn [] [] in + let uu____1240 = fv_as_emb_typ fv_exn in { FStar_TypeChecker_NBETerm.em = embed_exn; FStar_TypeChecker_NBETerm.un = unembed_exn; FStar_TypeChecker_NBETerm.typ = uu____1235; FStar_TypeChecker_NBETerm.emb_typ = uu____1240 - } + } let e_result : 'a . 'a FStar_Syntax_Embeddings.embedding -> 'a FStar_Tactics_Result.__result FStar_Syntax_Embeddings.embedding = - fun ea -> + fun ea -> let embed_result res rng uu____1282 uu____1283 = match res with - | FStar_Tactics_Result.Success (a, ps) -> + | FStar_Tactics_Result.Success (a,ps) -> let uu____1289 = let uu____1294 = FStar_Syntax_Syntax.mk_Tm_uinst fstar_tactics_Success_tm - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let uu____1295 = let uu____1296 = - let uu____1305 = FStar_Syntax_Embeddings.type_of ea in - FStar_Syntax_Syntax.iarg uu____1305 in + let uu____1305 = FStar_Syntax_Embeddings.type_of ea in + FStar_Syntax_Syntax.iarg uu____1305 in let uu____1306 = let uu____1317 = - let uu____1326 = embed ea rng a in - FStar_Syntax_Syntax.as_arg uu____1326 in + let uu____1326 = embed ea rng a in + FStar_Syntax_Syntax.as_arg uu____1326 in let uu____1327 = let uu____1338 = - let uu____1347 = embed e_proofstate rng ps in - FStar_Syntax_Syntax.as_arg uu____1347 in - [uu____1338] in - uu____1317 :: uu____1327 in - uu____1296 :: uu____1306 in - FStar_Syntax_Syntax.mk_Tm_app uu____1294 uu____1295 in + let uu____1347 = embed e_proofstate rng ps in + FStar_Syntax_Syntax.as_arg uu____1347 in + [uu____1338] in + uu____1317 :: uu____1327 in + uu____1296 :: uu____1306 in + FStar_Syntax_Syntax.mk_Tm_app uu____1294 uu____1295 in uu____1289 FStar_Pervasives_Native.None rng - | FStar_Tactics_Result.Failed (e, ps) -> + | FStar_Tactics_Result.Failed (e,ps) -> let uu____1382 = let uu____1387 = FStar_Syntax_Syntax.mk_Tm_uinst fstar_tactics_Failed_tm - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let uu____1388 = let uu____1389 = - let uu____1398 = FStar_Syntax_Embeddings.type_of ea in - FStar_Syntax_Syntax.iarg uu____1398 in + let uu____1398 = FStar_Syntax_Embeddings.type_of ea in + FStar_Syntax_Syntax.iarg uu____1398 in let uu____1399 = let uu____1410 = - let uu____1419 = embed e_exn rng e in - FStar_Syntax_Syntax.as_arg uu____1419 in + let uu____1419 = embed e_exn rng e in + FStar_Syntax_Syntax.as_arg uu____1419 in let uu____1420 = let uu____1431 = - let uu____1440 = embed e_proofstate rng ps in - FStar_Syntax_Syntax.as_arg uu____1440 in - [uu____1431] in - uu____1410 :: uu____1420 in - uu____1389 :: uu____1399 in - FStar_Syntax_Syntax.mk_Tm_app uu____1387 uu____1388 in - uu____1382 FStar_Pervasives_Native.None rng in + let uu____1440 = embed e_proofstate rng ps in + FStar_Syntax_Syntax.as_arg uu____1440 in + [uu____1431] in + uu____1410 :: uu____1420 in + uu____1389 :: uu____1399 in + FStar_Syntax_Syntax.mk_Tm_app uu____1387 uu____1388 in + uu____1382 FStar_Pervasives_Native.None rng + in let unembed_result t w uu____1494 = - let uu____1501 = hd'_and_args t in + let uu____1501 = hd'_and_args t in match uu____1501 with - | (FStar_Syntax_Syntax.Tm_fvar fv, - _t::(a, uu____1523)::(ps, uu____1525)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,_t::(a,uu____1523)::(ps,uu____1525)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_Success_lid -> - let uu____1592 = unembed' w ea a in + let uu____1592 = unembed' w ea a in FStar_Util.bind_opt uu____1592 - (fun a1 -> - let uu____1600 = unembed' w e_proofstate ps in + (fun a1 -> + let uu____1600 = unembed' w e_proofstate ps in FStar_Util.bind_opt uu____1600 - (fun ps1 -> + (fun ps1 -> FStar_Pervasives_Native.Some (FStar_Tactics_Result.Success (a1, ps1)))) - | (FStar_Syntax_Syntax.Tm_fvar fv, - _t::(e, uu____1612)::(ps, uu____1614)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,_t::(e,uu____1612)::(ps,uu____1614)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_Failed_lid -> - let uu____1681 = unembed' w e_exn e in + let uu____1681 = unembed' w e_exn e in FStar_Util.bind_opt uu____1681 - (fun e1 -> - let uu____1689 = unembed' w e_proofstate ps in + (fun e1 -> + let uu____1689 = unembed' w e_proofstate ps in FStar_Util.bind_opt uu____1689 - (fun ps1 -> + (fun ps1 -> FStar_Pervasives_Native.Some (FStar_Tactics_Result.Failed (e1, ps1)))) | uu____1698 -> @@ -539,119 +576,127 @@ let e_result : then (let uu____1715 = let uu____1721 = - let uu____1723 = FStar_Syntax_Print.term_to_string t in + let uu____1723 = FStar_Syntax_Print.term_to_string t in FStar_Util.format1 "Not an embedded tactic result: %s" - uu____1723 in - (FStar_Errors.Warning_NotEmbedded, uu____1721) in + uu____1723 + in + (FStar_Errors.Warning_NotEmbedded, uu____1721) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____1715) else (); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in let uu____1731 = - let uu____1732 = FStar_Syntax_Embeddings.type_of ea in - t_result_of uu____1732 in + let uu____1732 = FStar_Syntax_Embeddings.type_of ea in + t_result_of uu____1732 in let uu____1733 = let uu____1734 = let uu____1742 = - FStar_All.pipe_right t_result_lid FStar_Ident.string_of_lid in + FStar_All.pipe_right t_result_lid FStar_Ident.string_of_lid in let uu____1745 = - let uu____1748 = FStar_Syntax_Embeddings.emb_typ_of ea in - [uu____1748] in - (uu____1742, uu____1745) in - FStar_Syntax_Syntax.ET_app uu____1734 in + let uu____1748 = FStar_Syntax_Embeddings.emb_typ_of ea in + [uu____1748] in + (uu____1742, uu____1745) in + FStar_Syntax_Syntax.ET_app uu____1734 in FStar_Syntax_Embeddings.mk_emb_full embed_result unembed_result - uu____1731 (fun uu____1755 -> "") uu____1733 + uu____1731 (fun uu____1755 -> "") uu____1733 + let e_result_nbe : 'a . 'a FStar_TypeChecker_NBETerm.embedding -> 'a FStar_Tactics_Result.__result FStar_TypeChecker_NBETerm.embedding = - fun ea -> + fun ea -> let embed_result cb res = match res with - | FStar_Tactics_Result.Failed (e, ps) -> + | FStar_Tactics_Result.Failed (e,ps) -> let uu____1795 = let uu____1802 = - let uu____1807 = FStar_TypeChecker_NBETerm.type_of ea in - FStar_TypeChecker_NBETerm.as_iarg uu____1807 in + let uu____1807 = FStar_TypeChecker_NBETerm.type_of ea in + FStar_TypeChecker_NBETerm.as_iarg uu____1807 in let uu____1808 = let uu____1815 = let uu____1820 = - FStar_TypeChecker_NBETerm.embed e_exn_nbe cb e in - FStar_TypeChecker_NBETerm.as_arg uu____1820 in + FStar_TypeChecker_NBETerm.embed e_exn_nbe cb e in + FStar_TypeChecker_NBETerm.as_arg uu____1820 in let uu____1821 = let uu____1828 = let uu____1833 = - FStar_TypeChecker_NBETerm.embed e_proofstate_nbe cb ps in - FStar_TypeChecker_NBETerm.as_arg uu____1833 in - [uu____1828] in - uu____1815 :: uu____1821 in - uu____1802 :: uu____1808 in + FStar_TypeChecker_NBETerm.embed e_proofstate_nbe cb ps + in + FStar_TypeChecker_NBETerm.as_arg uu____1833 in + [uu____1828] in + uu____1815 :: uu____1821 in + uu____1802 :: uu____1808 in mkConstruct fstar_tactics_Failed_fv [FStar_Syntax_Syntax.U_zero] uu____1795 - | FStar_Tactics_Result.Success (a, ps) -> + | FStar_Tactics_Result.Success (a,ps) -> let uu____1852 = let uu____1859 = - let uu____1864 = FStar_TypeChecker_NBETerm.type_of ea in - FStar_TypeChecker_NBETerm.as_iarg uu____1864 in + let uu____1864 = FStar_TypeChecker_NBETerm.type_of ea in + FStar_TypeChecker_NBETerm.as_iarg uu____1864 in let uu____1865 = let uu____1872 = - let uu____1877 = FStar_TypeChecker_NBETerm.embed ea cb a in - FStar_TypeChecker_NBETerm.as_arg uu____1877 in + let uu____1877 = FStar_TypeChecker_NBETerm.embed ea cb a in + FStar_TypeChecker_NBETerm.as_arg uu____1877 in let uu____1878 = let uu____1885 = let uu____1890 = - FStar_TypeChecker_NBETerm.embed e_proofstate_nbe cb ps in - FStar_TypeChecker_NBETerm.as_arg uu____1890 in - [uu____1885] in - uu____1872 :: uu____1878 in - uu____1859 :: uu____1865 in + FStar_TypeChecker_NBETerm.embed e_proofstate_nbe cb ps + in + FStar_TypeChecker_NBETerm.as_arg uu____1890 in + [uu____1885] in + uu____1872 :: uu____1878 in + uu____1859 :: uu____1865 in mkConstruct fstar_tactics_Success_fv [FStar_Syntax_Syntax.U_zero] - uu____1852 in + uu____1852 + in let unembed_result cb t = match t with | FStar_TypeChecker_NBETerm.Construct - (fv, uu____1927, (ps, uu____1929)::(a, uu____1931)::_t::[]) when + (fv,uu____1927,(ps,uu____1929)::(a,uu____1931)::_t::[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_Success_lid -> - let uu____1963 = FStar_TypeChecker_NBETerm.unembed ea cb a in + let uu____1963 = FStar_TypeChecker_NBETerm.unembed ea cb a in FStar_Util.bind_opt uu____1963 - (fun a1 -> + (fun a1 -> let uu____1971 = - FStar_TypeChecker_NBETerm.unembed e_proofstate_nbe cb ps in + FStar_TypeChecker_NBETerm.unembed e_proofstate_nbe cb ps in FStar_Util.bind_opt uu____1971 - (fun ps1 -> + (fun ps1 -> FStar_Pervasives_Native.Some (FStar_Tactics_Result.Success (a1, ps1)))) | FStar_TypeChecker_NBETerm.Construct - (fv, uu____1981, (ps, uu____1983)::(e, uu____1985)::_t::[]) when + (fv,uu____1981,(ps,uu____1983)::(e,uu____1985)::_t::[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_Failed_lid -> - let uu____2017 = FStar_TypeChecker_NBETerm.unembed e_exn_nbe cb e in + let uu____2017 = FStar_TypeChecker_NBETerm.unembed e_exn_nbe cb e + in FStar_Util.bind_opt uu____2017 - (fun e1 -> + (fun e1 -> let uu____2025 = - FStar_TypeChecker_NBETerm.unembed e_proofstate_nbe cb ps in + FStar_TypeChecker_NBETerm.unembed e_proofstate_nbe cb ps in FStar_Util.bind_opt uu____2025 - (fun ps1 -> + (fun ps1 -> FStar_Pervasives_Native.Some (FStar_Tactics_Result.Failed (e1, ps1)))) - | uu____2034 -> FStar_Pervasives_Native.None in - let uu____2037 = mkFV fv_result [] [] in - let uu____2042 = fv_as_emb_typ fv_result in + | uu____2034 -> FStar_Pervasives_Native.None in + let uu____2037 = mkFV fv_result [] [] in + let uu____2042 = fv_as_emb_typ fv_result in { FStar_TypeChecker_NBETerm.em = embed_result; FStar_TypeChecker_NBETerm.un = unembed_result; FStar_TypeChecker_NBETerm.typ = uu____2037; FStar_TypeChecker_NBETerm.emb_typ = uu____2042 } + let (e_direction : FStar_Tactics_Types.direction FStar_Syntax_Embeddings.embedding) = let embed_direction rng d = match d with - | FStar_Tactics_Types.TopDown -> fstar_tactics_topdown - | FStar_Tactics_Types.BottomUp -> fstar_tactics_bottomup in + | FStar_Tactics_Types.TopDown -> fstar_tactics_topdown + | FStar_Tactics_Types.BottomUp -> fstar_tactics_bottomup in let unembed_direction w t = let uu____2076 = - let uu____2077 = FStar_Syntax_Subst.compress t in - uu____2077.FStar_Syntax_Syntax.n in + let uu____2077 = FStar_Syntax_Subst.compress t in + uu____2077.FStar_Syntax_Syntax.n in match uu____2076 with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_topdown_lid -> @@ -664,57 +709,62 @@ let (e_direction : then (let uu____2087 = let uu____2093 = - let uu____2095 = FStar_Syntax_Print.term_to_string t in - FStar_Util.format1 "Not an embedded direction: %s" uu____2095 in - (FStar_Errors.Warning_NotEmbedded, uu____2093) in + let uu____2095 = FStar_Syntax_Print.term_to_string t in + FStar_Util.format1 "Not an embedded direction: %s" uu____2095 + in + (FStar_Errors.Warning_NotEmbedded, uu____2093) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____2087) else (); - FStar_Pervasives_Native.None) in - mk_emb embed_direction unembed_direction t_direction + FStar_Pervasives_Native.None) + in + mk_emb embed_direction unembed_direction t_direction let (e_direction_nbe : FStar_Tactics_Types.direction FStar_TypeChecker_NBETerm.embedding) = let embed_direction cb res = match res with - | FStar_Tactics_Types.TopDown -> + | FStar_Tactics_Types.TopDown -> mkConstruct fstar_tactics_topdown_fv [] [] - | FStar_Tactics_Types.BottomUp -> - mkConstruct fstar_tactics_bottomup_fv [] [] in + | FStar_Tactics_Types.BottomUp -> + mkConstruct fstar_tactics_bottomup_fv [] [] + in let unembed_direction cb t = match t with - | FStar_TypeChecker_NBETerm.Construct (fv, uu____2139, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____2139,[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_topdown_lid -> FStar_Pervasives_Native.Some FStar_Tactics_Types.TopDown - | FStar_TypeChecker_NBETerm.Construct (fv, uu____2155, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____2155,[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_bottomup_lid -> FStar_Pervasives_Native.Some FStar_Tactics_Types.BottomUp | uu____2170 -> ((let uu____2172 = let uu____2178 = - let uu____2180 = FStar_TypeChecker_NBETerm.t_to_string t in - FStar_Util.format1 "Not an embedded direction: %s" uu____2180 in - (FStar_Errors.Warning_NotEmbedded, uu____2178) in + let uu____2180 = FStar_TypeChecker_NBETerm.t_to_string t in + FStar_Util.format1 "Not an embedded direction: %s" uu____2180 + in + (FStar_Errors.Warning_NotEmbedded, uu____2178) in FStar_Errors.log_issue FStar_Range.dummyRange uu____2172); - FStar_Pervasives_Native.None) in - let uu____2184 = mkFV fv_direction [] [] in - let uu____2189 = fv_as_emb_typ fv_direction in + FStar_Pervasives_Native.None) + in + let uu____2184 = mkFV fv_direction [] [] in + let uu____2189 = fv_as_emb_typ fv_direction in { FStar_TypeChecker_NBETerm.em = embed_direction; FStar_TypeChecker_NBETerm.un = unembed_direction; FStar_TypeChecker_NBETerm.typ = uu____2184; FStar_TypeChecker_NBETerm.emb_typ = uu____2189 - } + } let (e_guard_policy : FStar_Tactics_Types.guard_policy FStar_Syntax_Embeddings.embedding) = let embed_guard_policy rng p = match p with - | FStar_Tactics_Types.SMT -> fstar_tactics_SMT - | FStar_Tactics_Types.Goal -> fstar_tactics_Goal - | FStar_Tactics_Types.Force -> fstar_tactics_Force - | FStar_Tactics_Types.Drop -> fstar_tactics_Drop in + | FStar_Tactics_Types.SMT -> fstar_tactics_SMT + | FStar_Tactics_Types.Goal -> fstar_tactics_Goal + | FStar_Tactics_Types.Force -> fstar_tactics_Force + | FStar_Tactics_Types.Drop -> fstar_tactics_Drop in let unembed_guard_policy w t = let uu____2221 = - let uu____2222 = FStar_Syntax_Subst.compress t in - uu____2222.FStar_Syntax_Syntax.n in + let uu____2222 = FStar_Syntax_Subst.compress t in + uu____2222.FStar_Syntax_Syntax.n in match uu____2221 with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_SMT_lid -> @@ -733,42 +783,45 @@ let (e_guard_policy : then (let uu____2234 = let uu____2240 = - let uu____2242 = FStar_Syntax_Print.term_to_string t in + let uu____2242 = FStar_Syntax_Print.term_to_string t in FStar_Util.format1 "Not an embedded guard_policy: %s" - uu____2242 in - (FStar_Errors.Warning_NotEmbedded, uu____2240) in + uu____2242 + in + (FStar_Errors.Warning_NotEmbedded, uu____2240) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____2234) else (); - FStar_Pervasives_Native.None) in - mk_emb embed_guard_policy unembed_guard_policy t_guard_policy + FStar_Pervasives_Native.None) + in + mk_emb embed_guard_policy unembed_guard_policy t_guard_policy let (e_guard_policy_nbe : FStar_Tactics_Types.guard_policy FStar_TypeChecker_NBETerm.embedding) = let embed_guard_policy cb p = match p with - | FStar_Tactics_Types.SMT -> mkConstruct fstar_tactics_SMT_fv [] [] - | FStar_Tactics_Types.Goal -> mkConstruct fstar_tactics_Goal_fv [] [] - | FStar_Tactics_Types.Force -> mkConstruct fstar_tactics_Force_fv [] [] - | FStar_Tactics_Types.Drop -> mkConstruct fstar_tactics_Drop_fv [] [] in + | FStar_Tactics_Types.SMT -> mkConstruct fstar_tactics_SMT_fv [] [] + | FStar_Tactics_Types.Goal -> mkConstruct fstar_tactics_Goal_fv [] [] + | FStar_Tactics_Types.Force -> mkConstruct fstar_tactics_Force_fv [] [] + | FStar_Tactics_Types.Drop -> mkConstruct fstar_tactics_Drop_fv [] [] + in let unembed_guard_policy cb t = match t with - | FStar_TypeChecker_NBETerm.Construct (fv, uu____2296, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____2296,[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_SMT_lid -> FStar_Pervasives_Native.Some FStar_Tactics_Types.SMT - | FStar_TypeChecker_NBETerm.Construct (fv, uu____2312, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____2312,[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_Goal_lid -> FStar_Pervasives_Native.Some FStar_Tactics_Types.Goal - | FStar_TypeChecker_NBETerm.Construct (fv, uu____2328, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____2328,[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_Force_lid -> FStar_Pervasives_Native.Some FStar_Tactics_Types.Force - | FStar_TypeChecker_NBETerm.Construct (fv, uu____2344, []) when + | FStar_TypeChecker_NBETerm.Construct (fv,uu____2344,[]) when FStar_Syntax_Syntax.fv_eq_lid fv fstar_tactics_Drop_lid -> FStar_Pervasives_Native.Some FStar_Tactics_Types.Drop - | uu____2359 -> FStar_Pervasives_Native.None in - let uu____2360 = mkFV fv_guard_policy [] [] in - let uu____2365 = fv_as_emb_typ fv_guard_policy in + | uu____2359 -> FStar_Pervasives_Native.None in + let uu____2360 = mkFV fv_guard_policy [] [] in + let uu____2365 = fv_as_emb_typ fv_guard_policy in { FStar_TypeChecker_NBETerm.em = embed_guard_policy; FStar_TypeChecker_NBETerm.un = unembed_guard_policy; FStar_TypeChecker_NBETerm.typ = uu____2360; FStar_TypeChecker_NBETerm.emb_typ = uu____2365 - } \ No newline at end of file + } \ No newline at end of file diff --git a/src/ocaml-output/FStar_Tactics_InterpFuns.ml b/src/ocaml-output/FStar_Tactics_InterpFuns.ml index 29c78379790..fd51cea9c0e 100644 --- a/src/ocaml-output/FStar_Tactics_InterpFuns.ml +++ b/src/ocaml-output/FStar_Tactics_InterpFuns.ml @@ -6,11 +6,12 @@ let unembed : FStar_Syntax_Embeddings.norm_cb -> 'Auu____8 FStar_Pervasives_Native.option = - fun e -> - fun t -> - fun n1 -> - let uu____32 = FStar_Syntax_Embeddings.unembed e t in + fun e -> + fun t -> + fun n1 -> + let uu____32 = FStar_Syntax_Embeddings.unembed e t in uu____32 true n1 + let embed : 'Auu____51 . 'Auu____51 FStar_Syntax_Embeddings.embedding -> @@ -18,27 +19,29 @@ let embed : 'Auu____51 -> FStar_Syntax_Embeddings.norm_cb -> FStar_Syntax_Syntax.term = - fun e -> - fun rng -> - fun t -> - fun n1 -> - let uu____78 = FStar_Syntax_Embeddings.embed e t in + fun e -> + fun rng -> + fun t -> + fun n1 -> + let uu____78 = FStar_Syntax_Embeddings.embed e t in uu____78 rng FStar_Pervasives_Native.None n1 + let extract_1 : 'a . 'a FStar_Syntax_Embeddings.embedding -> FStar_Syntax_Embeddings.norm_cb -> FStar_Syntax_Syntax.args -> 'a FStar_Pervasives_Native.option = - fun ea -> - fun ncb -> - fun args -> + fun ea -> + fun ncb -> + fun args -> match args with - | (a, uu____121)::[] -> - let uu____146 = unembed ea a ncb in + | (a,uu____121)::[] -> + let uu____146 = unembed ea a ncb in FStar_Util.bind_opt uu____146 - (fun a1 -> FStar_Pervasives_Native.Some a1) + (fun a1 -> FStar_Pervasives_Native.Some a1) | uu____151 -> failwith "extract_1: wrong number of arguments" + let extract_2 : 'a 'b . 'a FStar_Syntax_Embeddings.embedding -> @@ -47,19 +50,20 @@ let extract_2 : FStar_Syntax_Syntax.args -> ('a * 'b) FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun ncb -> - fun args -> + fun ea -> + fun eb -> + fun ncb -> + fun args -> match args with - | (a, uu____207)::(b, uu____209)::[] -> - let uu____250 = unembed ea a ncb in + | (a,uu____207)::(b,uu____209)::[] -> + let uu____250 = unembed ea a ncb in FStar_Util.bind_opt uu____250 - (fun a1 -> - let uu____260 = unembed eb b ncb in + (fun a1 -> + let uu____260 = unembed eb b ncb in FStar_Util.bind_opt uu____260 - (fun b1 -> FStar_Pervasives_Native.Some (a1, b1))) + (fun b1 -> FStar_Pervasives_Native.Some (a1, b1))) | uu____273 -> failwith "extract_2: wrong number of arguments" + let extract_3 : 'a 'b 'c . 'a FStar_Syntax_Embeddings.embedding -> @@ -69,24 +73,25 @@ let extract_3 : FStar_Syntax_Syntax.args -> ('a * 'b * 'c) FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun ec -> - fun ncb -> - fun args -> + fun ea -> + fun eb -> + fun ec -> + fun ncb -> + fun args -> match args with - | (a, uu____349)::(b, uu____351)::(c, uu____353)::[] -> - let uu____410 = unembed ea a ncb in + | (a,uu____349)::(b,uu____351)::(c,uu____353)::[] -> + let uu____410 = unembed ea a ncb in FStar_Util.bind_opt uu____410 - (fun a1 -> - let uu____422 = unembed eb b ncb in + (fun a1 -> + let uu____422 = unembed eb b ncb in FStar_Util.bind_opt uu____422 - (fun b1 -> - let uu____434 = unembed ec c ncb in + (fun b1 -> + let uu____434 = unembed ec c ncb in FStar_Util.bind_opt uu____434 - (fun c1 -> + (fun c1 -> FStar_Pervasives_Native.Some (a1, b1, c1)))) | uu____451 -> failwith "extract_3: wrong number of arguments" + let extract_4 : 'a 'b 'c 'd . 'a FStar_Syntax_Embeddings.embedding -> @@ -97,31 +102,31 @@ let extract_4 : FStar_Syntax_Syntax.args -> ('a * 'b * 'c * 'd) FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ncb -> - fun args -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ncb -> + fun args -> match args with - | (a, uu____545)::(b, uu____547)::(c, uu____549)::(d, - uu____551)::[] + | (a,uu____545)::(b,uu____547)::(c,uu____549)::(d,uu____551)::[] -> - let uu____624 = unembed ea a ncb in + let uu____624 = unembed ea a ncb in FStar_Util.bind_opt uu____624 - (fun a1 -> - let uu____638 = unembed eb b ncb in + (fun a1 -> + let uu____638 = unembed eb b ncb in FStar_Util.bind_opt uu____638 - (fun b1 -> - let uu____652 = unembed ec c ncb in + (fun b1 -> + let uu____652 = unembed ec c ncb in FStar_Util.bind_opt uu____652 - (fun c1 -> - let uu____666 = unembed ed d ncb in + (fun c1 -> + let uu____666 = unembed ed d ncb in FStar_Util.bind_opt uu____666 - (fun d1 -> + (fun d1 -> FStar_Pervasives_Native.Some (a1, b1, c1, d1))))) | uu____687 -> failwith "extract_4: wrong number of arguments" + let extract_5 : 'a 'b 'c 'd 'e . 'a FStar_Syntax_Embeddings.embedding -> @@ -133,36 +138,36 @@ let extract_5 : FStar_Syntax_Syntax.args -> ('a * 'b * 'c * 'd * 'e) FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ee -> - fun ncb -> - fun args -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ee -> + fun ncb -> + fun args -> match args with - | (a, uu____799)::(b, uu____801)::(c, uu____803)::(d, - uu____805):: - (e, uu____807)::[] -> - let uu____896 = unembed ea a ncb in + | (a,uu____799)::(b,uu____801)::(c,uu____803)::(d,uu____805):: + (e,uu____807)::[] -> + let uu____896 = unembed ea a ncb in FStar_Util.bind_opt uu____896 - (fun a1 -> - let uu____912 = unembed eb b ncb in + (fun a1 -> + let uu____912 = unembed eb b ncb in FStar_Util.bind_opt uu____912 - (fun b1 -> - let uu____928 = unembed ec c ncb in + (fun b1 -> + let uu____928 = unembed ec c ncb in FStar_Util.bind_opt uu____928 - (fun c1 -> - let uu____944 = unembed ed d ncb in + (fun c1 -> + let uu____944 = unembed ed d ncb in FStar_Util.bind_opt uu____944 - (fun d1 -> - let uu____960 = unembed ee e ncb in + (fun d1 -> + let uu____960 = unembed ee e ncb in FStar_Util.bind_opt uu____960 - (fun e1 -> + (fun e1 -> FStar_Pervasives_Native.Some (a1, b1, c1, d1, e1)))))) | uu____985 -> failwith "extract_5: wrong number of arguments" + let extract_6 : 'a 'b 'c 'd 'e 'f . 'a FStar_Syntax_Embeddings.embedding -> @@ -176,42 +181,43 @@ let extract_6 : ('a * 'b * 'c * 'd * 'e * 'f) FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ee -> - fun ef -> - fun ncb -> - fun args -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ee -> + fun ef -> + fun ncb -> + fun args -> match args with - | (a, uu____1115)::(b, uu____1117)::(c, uu____1119):: - (d, uu____1121)::(e, uu____1123)::(f, uu____1125)::[] - -> - let uu____1230 = unembed ea a ncb in + | (a,uu____1115)::(b,uu____1117)::(c,uu____1119)::(d,uu____1121):: + (e,uu____1123)::(f,uu____1125)::[] -> + let uu____1230 = unembed ea a ncb in FStar_Util.bind_opt uu____1230 - (fun a1 -> - let uu____1248 = unembed eb b ncb in + (fun a1 -> + let uu____1248 = unembed eb b ncb in FStar_Util.bind_opt uu____1248 - (fun b1 -> - let uu____1266 = unembed ec c ncb in + (fun b1 -> + let uu____1266 = unembed ec c ncb in FStar_Util.bind_opt uu____1266 - (fun c1 -> - let uu____1284 = unembed ed d ncb in + (fun c1 -> + let uu____1284 = unembed ed d ncb in FStar_Util.bind_opt uu____1284 - (fun d1 -> - let uu____1302 = unembed ee e ncb in + (fun d1 -> + let uu____1302 = unembed ee e ncb + in FStar_Util.bind_opt uu____1302 - (fun e1 -> + (fun e1 -> let uu____1320 = - unembed ef f ncb in + unembed ef f ncb in FStar_Util.bind_opt uu____1320 - (fun f1 -> + (fun f1 -> FStar_Pervasives_Native.Some (a1, b1, c1, d1, e1, f1))))))) | uu____1349 -> failwith "extract_6: wrong number of arguments" + let extract_7 : 'a 'b 'c 'd 'e 'f 'g . 'a FStar_Syntax_Embeddings.embedding -> @@ -226,49 +232,51 @@ let extract_7 : ('a * 'b * 'c * 'd * 'e * 'f * 'g) FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ee -> - fun ef -> - fun eg -> - fun ncb -> - fun args -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ee -> + fun ef -> + fun eg -> + fun ncb -> + fun args -> match args with - | (a, uu____1497)::(b, uu____1499)::(c, uu____1501):: - (d, uu____1503)::(e, uu____1505)::(f, uu____1507):: - (g, uu____1509)::[] -> - let uu____1630 = unembed ea a ncb in + | (a,uu____1497)::(b,uu____1499)::(c,uu____1501):: + (d,uu____1503)::(e,uu____1505)::(f,uu____1507):: + (g,uu____1509)::[] -> + let uu____1630 = unembed ea a ncb in FStar_Util.bind_opt uu____1630 - (fun a1 -> - let uu____1650 = unembed eb b ncb in + (fun a1 -> + let uu____1650 = unembed eb b ncb in FStar_Util.bind_opt uu____1650 - (fun b1 -> - let uu____1670 = unembed ec c ncb in + (fun b1 -> + let uu____1670 = unembed ec c ncb in FStar_Util.bind_opt uu____1670 - (fun c1 -> - let uu____1690 = unembed ed d ncb in + (fun c1 -> + let uu____1690 = unembed ed d ncb in FStar_Util.bind_opt uu____1690 - (fun d1 -> - let uu____1710 = unembed ee e ncb in + (fun d1 -> + let uu____1710 = unembed ee e ncb + in FStar_Util.bind_opt uu____1710 - (fun e1 -> + (fun e1 -> let uu____1730 = - unembed ef f ncb in + unembed ef f ncb in FStar_Util.bind_opt uu____1730 - (fun f1 -> + (fun f1 -> let uu____1750 = - unembed eg g ncb in + unembed eg g ncb in FStar_Util.bind_opt uu____1750 - (fun g1 -> + (fun g1 -> FStar_Pervasives_Native.Some (a1, b1, c1, d1, e1, f1, g1)))))))) | uu____1783 -> failwith "extract_7: wrong number of arguments" + let extract_14 : 't1 't10 't11 't12 't13 't14 't2 't3 't4 't5 't6 't7 't8 't9 . 't1 FStar_Syntax_Embeddings.embedding -> @@ -291,133 +299,137 @@ let extract_14 : * 't8 * 't9 * 't10 * 't11 * 't12 * 't13 * 't14) FStar_Pervasives_Native.option = - fun e_t1 -> - fun e_t2 -> - fun e_t3 -> - fun e_t4 -> - fun e_t5 -> - fun e_t6 -> - fun e_t7 -> - fun e_t8 -> - fun e_t9 -> - fun e_t10 -> - fun e_t11 -> - fun e_t12 -> - fun e_t13 -> - fun e_t14 -> - fun ncb -> - fun args -> + fun e_t1 -> + fun e_t2 -> + fun e_t3 -> + fun e_t4 -> + fun e_t5 -> + fun e_t6 -> + fun e_t7 -> + fun e_t8 -> + fun e_t9 -> + fun e_t10 -> + fun e_t11 -> + fun e_t12 -> + fun e_t13 -> + fun e_t14 -> + fun ncb -> + fun args -> match args with - | (a1, uu____2045)::(a2, uu____2047):: - (a3, uu____2049)::(a4, uu____2051):: - (a5, uu____2053)::(a6, uu____2055):: - (a7, uu____2057)::(a8, uu____2059):: - (a9, uu____2061)::(a10, uu____2063):: - (a11, uu____2065)::(a12, uu____2067):: - (a13, uu____2069)::(a14, uu____2071)::[] + | (a1,uu____2045)::(a2,uu____2047):: + (a3,uu____2049)::(a4,uu____2051):: + (a5,uu____2053)::(a6,uu____2055):: + (a7,uu____2057)::(a8,uu____2059):: + (a9,uu____2061)::(a10,uu____2063):: + (a11,uu____2065)::(a12,uu____2067):: + (a13,uu____2069)::(a14,uu____2071)::[] -> - let uu____2304 = unembed e_t1 a1 ncb in + let uu____2304 = unembed e_t1 a1 ncb + in FStar_Util.bind_opt uu____2304 - (fun a15 -> + (fun a15 -> let uu____2338 = - unembed e_t2 a2 ncb in + unembed e_t2 a2 ncb in FStar_Util.bind_opt uu____2338 - (fun a21 -> + (fun a21 -> let uu____2372 = - unembed e_t3 a3 ncb in + unembed e_t3 a3 ncb in FStar_Util.bind_opt uu____2372 - (fun a31 -> + (fun a31 -> let uu____2406 = - unembed e_t4 a4 ncb in + unembed e_t4 a4 ncb + in FStar_Util.bind_opt uu____2406 - (fun a41 -> + (fun a41 -> let uu____2440 = unembed e_t5 a5 - ncb in + ncb + in FStar_Util.bind_opt uu____2440 - (fun a51 -> + (fun a51 -> let uu____2474 = unembed e_t6 - a6 ncb in + a6 ncb + in FStar_Util.bind_opt uu____2474 - (fun a61 -> + (fun a61 -> let uu____2508 = unembed e_t7 a7 - ncb in + ncb in FStar_Util.bind_opt uu____2508 - (fun a71 + (fun a71 -> let uu____2542 = unembed e_t8 a8 - ncb in + ncb in FStar_Util.bind_opt uu____2542 - (fun a81 + (fun a81 -> let uu____2576 = unembed e_t9 a9 - ncb in + ncb in FStar_Util.bind_opt uu____2576 - (fun a91 + (fun a91 -> let uu____2610 = unembed e_t10 a10 - ncb in + ncb in FStar_Util.bind_opt uu____2610 (fun a101 - -> + -> let uu____2644 = unembed e_t11 a11 - ncb in + ncb in FStar_Util.bind_opt uu____2644 (fun a111 - -> + -> let uu____2678 = unembed e_t12 a12 - ncb in + ncb in FStar_Util.bind_opt uu____2678 (fun a121 - -> + -> let uu____2712 = unembed e_t13 a13 - ncb in + ncb in FStar_Util.bind_opt uu____2712 (fun a131 - -> + -> let uu____2746 = unembed e_t14 a14 - ncb in + ncb in FStar_Util.bind_opt uu____2746 (fun a141 - -> + -> FStar_Pervasives_Native.Some (a15, a21, a31, @@ -432,21 +444,23 @@ let extract_14 : | uu____2807 -> failwith "extract_14: wrong number of arguments" + let extract_1_nbe : 'a . FStar_TypeChecker_NBETerm.nbe_cbs -> 'a FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_NBETerm.args -> 'a FStar_Pervasives_Native.option = - fun cb -> - fun ea -> - fun args -> + fun cb -> + fun ea -> + fun args -> match args with - | (a, uu____2871)::[] -> - let uu____2880 = FStar_TypeChecker_NBETerm.unembed ea cb a in + | (a,uu____2871)::[] -> + let uu____2880 = FStar_TypeChecker_NBETerm.unembed ea cb a in FStar_Util.bind_opt uu____2880 - (fun a1 -> FStar_Pervasives_Native.Some a1) + (fun a1 -> FStar_Pervasives_Native.Some a1) | uu____2885 -> failwith "extract_1_nbe: wrong number of arguments" + let extract_2_nbe : 'a 'b . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -455,19 +469,21 @@ let extract_2_nbe : FStar_TypeChecker_NBETerm.args -> ('a * 'b) FStar_Pervasives_Native.option = - fun cb -> - fun ea -> - fun eb -> - fun args -> + fun cb -> + fun ea -> + fun eb -> + fun args -> match args with - | (a, uu____2939)::(b, uu____2941)::[] -> - let uu____2954 = FStar_TypeChecker_NBETerm.unembed ea cb a in + | (a,uu____2939)::(b,uu____2941)::[] -> + let uu____2954 = FStar_TypeChecker_NBETerm.unembed ea cb a in FStar_Util.bind_opt uu____2954 - (fun a1 -> - let uu____2964 = FStar_TypeChecker_NBETerm.unembed eb cb b in + (fun a1 -> + let uu____2964 = FStar_TypeChecker_NBETerm.unembed eb cb b + in FStar_Util.bind_opt uu____2964 - (fun b1 -> FStar_Pervasives_Native.Some (a1, b1))) + (fun b1 -> FStar_Pervasives_Native.Some (a1, b1))) | uu____2977 -> failwith "extract_2_nbe: wrong number of arguments" + let extract_3_nbe : 'a 'b 'c . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -477,27 +493,29 @@ let extract_3_nbe : FStar_TypeChecker_NBETerm.args -> ('a * 'b * 'c) FStar_Pervasives_Native.option = - fun cb -> - fun ea -> - fun eb -> - fun ec -> - fun args -> + fun cb -> + fun ea -> + fun eb -> + fun ec -> + fun args -> match args with - | (a, uu____3051)::(b, uu____3053)::(c, uu____3055)::[] -> - let uu____3072 = FStar_TypeChecker_NBETerm.unembed ea cb a in + | (a,uu____3051)::(b,uu____3053)::(c,uu____3055)::[] -> + let uu____3072 = FStar_TypeChecker_NBETerm.unembed ea cb a + in FStar_Util.bind_opt uu____3072 - (fun a1 -> + (fun a1 -> let uu____3084 = - FStar_TypeChecker_NBETerm.unembed eb cb b in + FStar_TypeChecker_NBETerm.unembed eb cb b in FStar_Util.bind_opt uu____3084 - (fun b1 -> + (fun b1 -> let uu____3096 = - FStar_TypeChecker_NBETerm.unembed ec cb c in + FStar_TypeChecker_NBETerm.unembed ec cb c in FStar_Util.bind_opt uu____3096 - (fun c1 -> + (fun c1 -> FStar_Pervasives_Native.Some (a1, b1, c1)))) | uu____3113 -> failwith "extract_3_nbe: wrong number of arguments" + let extract_4_nbe : 'a 'b 'c 'd . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -508,35 +526,37 @@ let extract_4_nbe : FStar_TypeChecker_NBETerm.args -> ('a * 'b * 'c * 'd) FStar_Pervasives_Native.option = - fun cb -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun args -> + fun cb -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun args -> match args with - | (a, uu____3205)::(b, uu____3207)::(c, uu____3209)::(d, - uu____3211)::[] + | (a,uu____3205)::(b,uu____3207)::(c,uu____3209)::(d,uu____3211)::[] -> - let uu____3232 = FStar_TypeChecker_NBETerm.unembed ea cb a in + let uu____3232 = FStar_TypeChecker_NBETerm.unembed ea cb a + in FStar_Util.bind_opt uu____3232 - (fun a1 -> + (fun a1 -> let uu____3246 = - FStar_TypeChecker_NBETerm.unembed eb cb b in + FStar_TypeChecker_NBETerm.unembed eb cb b in FStar_Util.bind_opt uu____3246 - (fun b1 -> + (fun b1 -> let uu____3260 = - FStar_TypeChecker_NBETerm.unembed ec cb c in + FStar_TypeChecker_NBETerm.unembed ec cb c in FStar_Util.bind_opt uu____3260 - (fun c1 -> + (fun c1 -> let uu____3274 = - FStar_TypeChecker_NBETerm.unembed ed cb d in + FStar_TypeChecker_NBETerm.unembed ed cb d + in FStar_Util.bind_opt uu____3274 - (fun d1 -> + (fun d1 -> FStar_Pervasives_Native.Some (a1, b1, c1, d1))))) | uu____3295 -> failwith "extract_4_nbe: wrong number of arguments" + let extract_5_nbe : 'a 'b 'c 'd 'e . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -548,42 +568,45 @@ let extract_5_nbe : FStar_TypeChecker_NBETerm.args -> ('a * 'b * 'c * 'd * 'e) FStar_Pervasives_Native.option = - fun cb -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ee -> - fun args -> + fun cb -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ee -> + fun args -> match args with - | (a, uu____3405)::(b, uu____3407)::(c, uu____3409):: - (d, uu____3411)::(e, uu____3413)::[] -> + | (a,uu____3405)::(b,uu____3407)::(c,uu____3409)::(d,uu____3411):: + (e,uu____3413)::[] -> let uu____3438 = - FStar_TypeChecker_NBETerm.unembed ea cb a in + FStar_TypeChecker_NBETerm.unembed ea cb a in FStar_Util.bind_opt uu____3438 - (fun a1 -> + (fun a1 -> let uu____3454 = - FStar_TypeChecker_NBETerm.unembed eb cb b in + FStar_TypeChecker_NBETerm.unembed eb cb b in FStar_Util.bind_opt uu____3454 - (fun b1 -> + (fun b1 -> let uu____3470 = - FStar_TypeChecker_NBETerm.unembed ec cb c in + FStar_TypeChecker_NBETerm.unembed ec cb c in FStar_Util.bind_opt uu____3470 - (fun c1 -> + (fun c1 -> let uu____3486 = FStar_TypeChecker_NBETerm.unembed ed cb - d in + d + in FStar_Util.bind_opt uu____3486 - (fun d1 -> + (fun d1 -> let uu____3502 = FStar_TypeChecker_NBETerm.unembed - ee cb e in + ee cb e + in FStar_Util.bind_opt uu____3502 - (fun e1 -> + (fun e1 -> FStar_Pervasives_Native.Some (a1, b1, c1, d1, e1)))))) | uu____3527 -> failwith "extract_5_nbe: wrong number of arguments" + let extract_6_nbe : 'a 'b 'c 'd 'e 'f . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -597,50 +620,54 @@ let extract_6_nbe : ('a * 'b * 'c * 'd * 'e * 'f) FStar_Pervasives_Native.option = - fun cb -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ee -> - fun ef -> - fun args -> + fun cb -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ee -> + fun ef -> + fun args -> match args with - | (a, uu____3655)::(b, uu____3657)::(c, uu____3659):: - (d, uu____3661)::(e, uu____3663)::(f, uu____3665)::[] - -> + | (a,uu____3655)::(b,uu____3657)::(c,uu____3659)::(d,uu____3661):: + (e,uu____3663)::(f,uu____3665)::[] -> let uu____3694 = - FStar_TypeChecker_NBETerm.unembed ea cb a in + FStar_TypeChecker_NBETerm.unembed ea cb a in FStar_Util.bind_opt uu____3694 - (fun a1 -> + (fun a1 -> let uu____3712 = - FStar_TypeChecker_NBETerm.unembed eb cb b in + FStar_TypeChecker_NBETerm.unembed eb cb b in FStar_Util.bind_opt uu____3712 - (fun b1 -> + (fun b1 -> let uu____3730 = - FStar_TypeChecker_NBETerm.unembed ec cb c in + FStar_TypeChecker_NBETerm.unembed ec cb c + in FStar_Util.bind_opt uu____3730 - (fun c1 -> + (fun c1 -> let uu____3748 = FStar_TypeChecker_NBETerm.unembed ed - cb d in + cb d + in FStar_Util.bind_opt uu____3748 - (fun d1 -> + (fun d1 -> let uu____3766 = FStar_TypeChecker_NBETerm.unembed - ee cb e in + ee cb e + in FStar_Util.bind_opt uu____3766 - (fun e1 -> + (fun e1 -> let uu____3784 = FStar_TypeChecker_NBETerm.unembed - ef cb f in + ef cb f + in FStar_Util.bind_opt uu____3784 - (fun f1 -> + (fun f1 -> FStar_Pervasives_Native.Some (a1, b1, c1, d1, e1, f1))))))) | uu____3813 -> failwith "extract_6_nbe: wrong number of arguments" + let extract_7_nbe : 'a 'b 'c 'd 'e 'f 'g . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -655,58 +682,64 @@ let extract_7_nbe : ('a * 'b * 'c * 'd * 'e * 'f * 'g) FStar_Pervasives_Native.option = - fun cb -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ee -> - fun ef -> - fun eg -> - fun args -> + fun cb -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ee -> + fun ef -> + fun eg -> + fun args -> match args with - | (a, uu____3959)::(b, uu____3961)::(c, uu____3963):: - (d, uu____3965)::(e, uu____3967)::(f, uu____3969):: - (g, uu____3971)::[] -> + | (a,uu____3959)::(b,uu____3961)::(c,uu____3963):: + (d,uu____3965)::(e,uu____3967)::(f,uu____3969):: + (g,uu____3971)::[] -> let uu____4004 = - FStar_TypeChecker_NBETerm.unembed ea cb a in + FStar_TypeChecker_NBETerm.unembed ea cb a in FStar_Util.bind_opt uu____4004 - (fun a1 -> + (fun a1 -> let uu____4024 = - FStar_TypeChecker_NBETerm.unembed eb cb b in + FStar_TypeChecker_NBETerm.unembed eb cb b in FStar_Util.bind_opt uu____4024 - (fun b1 -> + (fun b1 -> let uu____4044 = - FStar_TypeChecker_NBETerm.unembed ec cb c in + FStar_TypeChecker_NBETerm.unembed ec cb c + in FStar_Util.bind_opt uu____4044 - (fun c1 -> + (fun c1 -> let uu____4064 = FStar_TypeChecker_NBETerm.unembed ed - cb d in + cb d + in FStar_Util.bind_opt uu____4064 - (fun d1 -> + (fun d1 -> let uu____4084 = FStar_TypeChecker_NBETerm.unembed - ee cb e in + ee cb e + in FStar_Util.bind_opt uu____4084 - (fun e1 -> + (fun e1 -> let uu____4104 = FStar_TypeChecker_NBETerm.unembed - ef cb f in + ef cb f + in FStar_Util.bind_opt uu____4104 - (fun f1 -> + (fun f1 -> let uu____4124 = FStar_TypeChecker_NBETerm.unembed - eg cb g in + eg cb g + in FStar_Util.bind_opt uu____4124 - (fun g1 -> + (fun g1 -> FStar_Pervasives_Native.Some (a1, b1, c1, d1, e1, f1, g1)))))))) | uu____4157 -> failwith "extract_7_nbe: wrong number of arguments" + let mk_tactic_interpretation_1 : 'a 'r . ('a -> 'r FStar_Tactics_Basic.tac) -> @@ -717,27 +750,31 @@ let mk_tactic_interpretation_1 : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun t -> - fun ea -> - fun er -> - fun psc -> - fun ncb -> - fun args -> + fun t -> + fun ea -> + fun er -> + fun psc -> + fun ncb -> + fun args -> let uu____4245 = - extract_2 ea FStar_Tactics_Embedding.e_proofstate ncb args in + extract_2 ea FStar_Tactics_Embedding.e_proofstate ncb args + in FStar_Util.bind_opt uu____4245 - (fun uu____4262 -> + (fun uu____4262 -> match uu____4262 with - | (a, ps) -> - let ps1 = FStar_Tactics_Types.set_ps_psc psc ps in + | (a,ps) -> + let ps1 = FStar_Tactics_Types.set_ps_psc psc ps in let r = - let uu____4275 = t a in - FStar_Tactics_Basic.run_safe uu____4275 ps1 in + let uu____4275 = t a in + FStar_Tactics_Basic.run_safe uu____4275 ps1 in let uu____4278 = - let uu____4279 = FStar_Tactics_Embedding.e_result er in - let uu____4284 = FStar_TypeChecker_Cfg.psc_range psc in - embed uu____4279 uu____4284 r ncb in + let uu____4279 = FStar_Tactics_Embedding.e_result er + in + let uu____4284 = FStar_TypeChecker_Cfg.psc_range psc + in + embed uu____4279 uu____4284 r ncb in FStar_Pervasives_Native.Some uu____4278) + let mk_tactic_interpretation_2 : 'a 'b 'r . ('a -> 'b -> 'r FStar_Tactics_Basic.tac) -> @@ -749,31 +786,33 @@ let mk_tactic_interpretation_2 : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun t -> - fun ea -> - fun eb -> - fun er -> - fun psc -> - fun ncb -> - fun args -> + fun t -> + fun ea -> + fun eb -> + fun er -> + fun psc -> + fun ncb -> + fun args -> let uu____4376 = extract_3 ea eb FStar_Tactics_Embedding.e_proofstate ncb - args in + args + in FStar_Util.bind_opt uu____4376 - (fun uu____4398 -> + (fun uu____4398 -> match uu____4398 with - | (a, b, ps) -> - let ps1 = FStar_Tactics_Types.set_ps_psc psc ps in + | (a,b,ps) -> + let ps1 = FStar_Tactics_Types.set_ps_psc psc ps in let r = - let uu____4414 = t a b in - FStar_Tactics_Basic.run_safe uu____4414 ps1 in + let uu____4414 = t a b in + FStar_Tactics_Basic.run_safe uu____4414 ps1 in let uu____4417 = let uu____4418 = - FStar_Tactics_Embedding.e_result er in + FStar_Tactics_Embedding.e_result er in let uu____4423 = - FStar_TypeChecker_Cfg.psc_range psc in - embed uu____4418 uu____4423 r ncb in + FStar_TypeChecker_Cfg.psc_range psc in + embed uu____4418 uu____4423 r ncb in FStar_Pervasives_Native.Some uu____4417) + let mk_tactic_interpretation_3 : 'a 'b 'c 'r . ('a -> 'b -> 'c -> 'r FStar_Tactics_Basic.tac) -> @@ -786,32 +825,35 @@ let mk_tactic_interpretation_3 : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun t -> - fun ea -> - fun eb -> - fun ec -> - fun er -> - fun psc -> - fun ncb -> - fun args -> + fun t -> + fun ea -> + fun eb -> + fun ec -> + fun er -> + fun psc -> + fun ncb -> + fun args -> let uu____4534 = extract_4 ea eb ec FStar_Tactics_Embedding.e_proofstate - ncb args in + ncb args + in FStar_Util.bind_opt uu____4534 - (fun uu____4561 -> + (fun uu____4561 -> match uu____4561 with - | (a, b, c, ps) -> - let ps1 = FStar_Tactics_Types.set_ps_psc psc ps in + | (a,b,c,ps) -> + let ps1 = FStar_Tactics_Types.set_ps_psc psc ps + in let r = - let uu____4580 = t a b c in - FStar_Tactics_Basic.run_safe uu____4580 ps1 in + let uu____4580 = t a b c in + FStar_Tactics_Basic.run_safe uu____4580 ps1 in let uu____4583 = let uu____4584 = - FStar_Tactics_Embedding.e_result er in + FStar_Tactics_Embedding.e_result er in let uu____4589 = - FStar_TypeChecker_Cfg.psc_range psc in - embed uu____4584 uu____4589 r ncb in + FStar_TypeChecker_Cfg.psc_range psc in + embed uu____4584 uu____4589 r ncb in FStar_Pervasives_Native.Some uu____4583) + let mk_tactic_interpretation_4 : 'a 'b 'c 'd 'r . ('a -> 'b -> 'c -> 'd -> 'r FStar_Tactics_Basic.tac) -> @@ -825,33 +867,37 @@ let mk_tactic_interpretation_4 : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun t -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun er -> - fun psc -> - fun ncb -> - fun args -> + fun t -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun er -> + fun psc -> + fun ncb -> + fun args -> let uu____4719 = extract_5 ea eb ec ed - FStar_Tactics_Embedding.e_proofstate ncb args in + FStar_Tactics_Embedding.e_proofstate ncb args + in FStar_Util.bind_opt uu____4719 - (fun uu____4751 -> + (fun uu____4751 -> match uu____4751 with - | (a, b, c, d, ps) -> - let ps1 = FStar_Tactics_Types.set_ps_psc psc ps in + | (a,b,c,d,ps) -> + let ps1 = FStar_Tactics_Types.set_ps_psc psc ps + in let r = - let uu____4773 = t a b c d in - FStar_Tactics_Basic.run_safe uu____4773 ps1 in + let uu____4773 = t a b c d in + FStar_Tactics_Basic.run_safe uu____4773 ps1 + in let uu____4776 = let uu____4777 = - FStar_Tactics_Embedding.e_result er in + FStar_Tactics_Embedding.e_result er in let uu____4782 = - FStar_TypeChecker_Cfg.psc_range psc in - embed uu____4777 uu____4782 r ncb in + FStar_TypeChecker_Cfg.psc_range psc in + embed uu____4777 uu____4782 r ncb in FStar_Pervasives_Native.Some uu____4776) + let mk_tactic_interpretation_5 : 'a 'b 'c 'd 'e 'r . ('a -> 'b -> 'c -> 'd -> 'e -> 'r FStar_Tactics_Basic.tac) -> @@ -867,35 +913,38 @@ let mk_tactic_interpretation_5 : FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun t -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ee -> - fun er -> - fun psc -> - fun ncb -> - fun args -> + fun t -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ee -> + fun er -> + fun psc -> + fun ncb -> + fun args -> let uu____4931 = extract_6 ea eb ec ed ee - FStar_Tactics_Embedding.e_proofstate ncb args in + FStar_Tactics_Embedding.e_proofstate ncb args + in FStar_Util.bind_opt uu____4931 - (fun uu____4968 -> + (fun uu____4968 -> match uu____4968 with - | (a, b, c, d, e, ps) -> + | (a,b,c,d,e,ps) -> let ps1 = - FStar_Tactics_Types.set_ps_psc psc ps in + FStar_Tactics_Types.set_ps_psc psc ps in let r = - let uu____4993 = t a b c d e in - FStar_Tactics_Basic.run_safe uu____4993 ps1 in + let uu____4993 = t a b c d e in + FStar_Tactics_Basic.run_safe uu____4993 ps1 + in let uu____4996 = let uu____4997 = - FStar_Tactics_Embedding.e_result er in + FStar_Tactics_Embedding.e_result er in let uu____5002 = - FStar_TypeChecker_Cfg.psc_range psc in - embed uu____4997 uu____5002 r ncb in + FStar_TypeChecker_Cfg.psc_range psc in + embed uu____4997 uu____5002 r ncb in FStar_Pervasives_Native.Some uu____4996) + let mk_tactic_interpretation_6 : 'a 'b 'c 'd 'e 'f 'r . ('a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'r FStar_Tactics_Basic.tac) -> @@ -912,37 +961,40 @@ let mk_tactic_interpretation_6 : FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun t -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ee -> - fun ef -> - fun er -> - fun psc -> - fun ncb -> - fun args -> + fun t -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ee -> + fun ef -> + fun er -> + fun psc -> + fun ncb -> + fun args -> let uu____5170 = extract_7 ea eb ec ed ee ef - FStar_Tactics_Embedding.e_proofstate ncb args in + FStar_Tactics_Embedding.e_proofstate ncb args + in FStar_Util.bind_opt uu____5170 - (fun uu____5212 -> + (fun uu____5212 -> match uu____5212 with - | (a, b, c, d, e, f, ps) -> + | (a,b,c,d,e,f,ps) -> let ps1 = - FStar_Tactics_Types.set_ps_psc psc ps in + FStar_Tactics_Types.set_ps_psc psc ps in let r = - let uu____5240 = t a b c d e f in + let uu____5240 = t a b c d e f in FStar_Tactics_Basic.run_safe uu____5240 - ps1 in + ps1 + in let uu____5243 = let uu____5244 = - FStar_Tactics_Embedding.e_result er in + FStar_Tactics_Embedding.e_result er in let uu____5249 = - FStar_TypeChecker_Cfg.psc_range psc in - embed uu____5244 uu____5249 r ncb in + FStar_TypeChecker_Cfg.psc_range psc in + embed uu____5244 uu____5249 r ncb in FStar_Pervasives_Native.Some uu____5243) + let mk_tactic_interpretation_13 : 'r 't1 't10 't11 't12 't13 't2 't3 't4 't5 't6 't7 't8 't9 . ('t1 -> @@ -977,55 +1029,63 @@ let mk_tactic_interpretation_13 : FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun t -> - fun e_t1 -> - fun e_t2 -> - fun e_t3 -> - fun e_t4 -> - fun e_t5 -> - fun e_t6 -> - fun e_t7 -> - fun e_t8 -> - fun e_t9 -> - fun e_t10 -> - fun e_t11 -> - fun e_t12 -> - fun e_t13 -> - fun er -> - fun psc -> - fun ncb -> - fun args -> + fun t -> + fun e_t1 -> + fun e_t2 -> + fun e_t3 -> + fun e_t4 -> + fun e_t5 -> + fun e_t6 -> + fun e_t7 -> + fun e_t8 -> + fun e_t9 -> + fun e_t10 -> + fun e_t11 -> + fun e_t12 -> + fun e_t13 -> + fun er -> + fun psc -> + fun ncb -> + fun args -> let uu____5550 = extract_14 e_t1 e_t2 e_t3 e_t4 e_t5 e_t6 e_t7 e_t8 e_t9 e_t10 e_t11 e_t12 e_t13 FStar_Tactics_Embedding.e_proofstate - ncb args in + ncb args + in FStar_Util.bind_opt uu____5550 - (fun uu____5627 -> + (fun uu____5627 -> match uu____5627 with - | (a1, a2, a3, a4, a5, a6, a7, a8, - a9, a10, a11, a12, a13, ps) -> + | (a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,ps) + -> let ps1 = FStar_Tactics_Types.set_ps_psc - psc ps in + psc ps + in let r = let uu____5676 = t a1 a2 a3 a4 a5 a6 a7 a8 - a9 a10 a11 a12 a13 in + a9 a10 a11 a12 a13 + in FStar_Tactics_Basic.run_safe - uu____5676 ps1 in + uu____5676 ps1 + in let uu____5679 = let uu____5680 = FStar_Tactics_Embedding.e_result - er in + er + in let uu____5685 = FStar_TypeChecker_Cfg.psc_range - psc in + psc + in embed uu____5680 uu____5685 - r ncb in + r ncb + in FStar_Pervasives_Native.Some uu____5679) + let mk_tactic_nbe_interpretation_1 : 'a 'r . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -1035,26 +1095,28 @@ let mk_tactic_nbe_interpretation_1 : FStar_TypeChecker_NBETerm.args -> FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option = - fun cb -> - fun t -> - fun ea -> - fun er -> - fun args -> + fun cb -> + fun t -> + fun ea -> + fun er -> + fun args -> let uu____5749 = extract_2_nbe cb ea FStar_Tactics_Embedding.e_proofstate_nbe - args in + args + in FStar_Util.bind_opt uu____5749 - (fun uu____5765 -> + (fun uu____5765 -> match uu____5765 with - | (a, ps) -> + | (a,ps) -> let r = - let uu____5777 = t a in - FStar_Tactics_Basic.run_safe uu____5777 ps in + let uu____5777 = t a in + FStar_Tactics_Basic.run_safe uu____5777 ps in let uu____5780 = let uu____5781 = - FStar_Tactics_Embedding.e_result_nbe er in - FStar_TypeChecker_NBETerm.embed uu____5781 cb r in + FStar_Tactics_Embedding.e_result_nbe er in + FStar_TypeChecker_NBETerm.embed uu____5781 cb r in FStar_Pervasives_Native.Some uu____5780) + let mk_tactic_nbe_interpretation_2 : 'a 'b 'r . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -1065,27 +1127,29 @@ let mk_tactic_nbe_interpretation_2 : FStar_TypeChecker_NBETerm.args -> FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option = - fun cb -> - fun t -> - fun ea -> - fun eb -> - fun er -> - fun args -> + fun cb -> + fun t -> + fun ea -> + fun eb -> + fun er -> + fun args -> let uu____5868 = extract_3_nbe cb ea eb - FStar_Tactics_Embedding.e_proofstate_nbe args in + FStar_Tactics_Embedding.e_proofstate_nbe args + in FStar_Util.bind_opt uu____5868 - (fun uu____5889 -> + (fun uu____5889 -> match uu____5889 with - | (a, b, ps) -> + | (a,b,ps) -> let r = - let uu____5904 = t a b in - FStar_Tactics_Basic.run_safe uu____5904 ps in + let uu____5904 = t a b in + FStar_Tactics_Basic.run_safe uu____5904 ps in let uu____5907 = let uu____5908 = - FStar_Tactics_Embedding.e_result_nbe er in - FStar_TypeChecker_NBETerm.embed uu____5908 cb r in + FStar_Tactics_Embedding.e_result_nbe er in + FStar_TypeChecker_NBETerm.embed uu____5908 cb r in FStar_Pervasives_Native.Some uu____5907) + let mk_tactic_nbe_interpretation_3 : 'a 'b 'c 'r . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -1097,28 +1161,31 @@ let mk_tactic_nbe_interpretation_3 : FStar_TypeChecker_NBETerm.args -> FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option = - fun cb -> - fun t -> - fun ea -> - fun eb -> - fun ec -> - fun er -> - fun args -> + fun cb -> + fun t -> + fun ea -> + fun eb -> + fun ec -> + fun er -> + fun args -> let uu____6014 = extract_4_nbe cb ea eb ec - FStar_Tactics_Embedding.e_proofstate_nbe args in + FStar_Tactics_Embedding.e_proofstate_nbe args + in FStar_Util.bind_opt uu____6014 - (fun uu____6040 -> + (fun uu____6040 -> match uu____6040 with - | (a, b, c, ps) -> + | (a,b,c,ps) -> let r = - let uu____6058 = t a b c in - FStar_Tactics_Basic.run_safe uu____6058 ps in + let uu____6058 = t a b c in + FStar_Tactics_Basic.run_safe uu____6058 ps in let uu____6061 = let uu____6062 = - FStar_Tactics_Embedding.e_result_nbe er in - FStar_TypeChecker_NBETerm.embed uu____6062 cb r in + FStar_Tactics_Embedding.e_result_nbe er in + FStar_TypeChecker_NBETerm.embed uu____6062 cb r + in FStar_Pervasives_Native.Some uu____6061) + let mk_tactic_nbe_interpretation_4 : 'a 'b 'c 'd 'r . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -1132,29 +1199,32 @@ let mk_tactic_nbe_interpretation_4 : FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option = - fun cb -> - fun t -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun er -> - fun args -> + fun cb -> + fun t -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun er -> + fun args -> let uu____6187 = extract_5_nbe cb ea eb ec ed - FStar_Tactics_Embedding.e_proofstate_nbe args in + FStar_Tactics_Embedding.e_proofstate_nbe args + in FStar_Util.bind_opt uu____6187 - (fun uu____6218 -> + (fun uu____6218 -> match uu____6218 with - | (a, b, c, d, ps) -> + | (a,b,c,d,ps) -> let r = - let uu____6239 = t a b c d in - FStar_Tactics_Basic.run_safe uu____6239 ps in + let uu____6239 = t a b c d in + FStar_Tactics_Basic.run_safe uu____6239 ps in let uu____6242 = let uu____6243 = - FStar_Tactics_Embedding.e_result_nbe er in - FStar_TypeChecker_NBETerm.embed uu____6243 cb r in + FStar_Tactics_Embedding.e_result_nbe er in + FStar_TypeChecker_NBETerm.embed uu____6243 cb r + in FStar_Pervasives_Native.Some uu____6242) + let mk_tactic_nbe_interpretation_5 : 'a 'b 'c 'd 'e 'r . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -1169,31 +1239,34 @@ let mk_tactic_nbe_interpretation_5 : FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option = - fun cb -> - fun t -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ee -> - fun er -> - fun args -> + fun cb -> + fun t -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ee -> + fun er -> + fun args -> let uu____6387 = extract_6_nbe cb ea eb ec ed ee - FStar_Tactics_Embedding.e_proofstate_nbe args in + FStar_Tactics_Embedding.e_proofstate_nbe args + in FStar_Util.bind_opt uu____6387 - (fun uu____6423 -> + (fun uu____6423 -> match uu____6423 with - | (a, b, c, d, e, ps) -> + | (a,b,c,d,e,ps) -> let r = - let uu____6447 = t a b c d e in - FStar_Tactics_Basic.run_safe uu____6447 ps in + let uu____6447 = t a b c d e in + FStar_Tactics_Basic.run_safe uu____6447 ps in let uu____6450 = let uu____6451 = - FStar_Tactics_Embedding.e_result_nbe er in + FStar_Tactics_Embedding.e_result_nbe er in FStar_TypeChecker_NBETerm.embed uu____6451 cb - r in + r + in FStar_Pervasives_Native.Some uu____6450) + let mk_tactic_nbe_interpretation_6 : 'a 'b 'c 'd 'e 'f 'r . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -1209,37 +1282,42 @@ let mk_tactic_nbe_interpretation_6 : FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option = - fun cb -> - fun t -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ee -> - fun ef -> - fun er -> - fun args -> + fun cb -> + fun t -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ee -> + fun ef -> + fun er -> + fun args -> let uu____6614 = extract_7_nbe cb ea eb ec ed ee ef - FStar_Tactics_Embedding.e_proofstate_nbe args in + FStar_Tactics_Embedding.e_proofstate_nbe args + in FStar_Util.bind_opt uu____6614 - (fun uu____6655 -> + (fun uu____6655 -> match uu____6655 with - | (a, b, c, d, e, f, ps) -> + | (a,b,c,d,e,f,ps) -> let r = - let uu____6682 = t a b c d e f in - FStar_Tactics_Basic.run_safe uu____6682 ps in + let uu____6682 = t a b c d e f in + FStar_Tactics_Basic.run_safe uu____6682 ps + in let uu____6685 = let uu____6686 = - FStar_Tactics_Embedding.e_result_nbe er in + FStar_Tactics_Embedding.e_result_nbe er + in FStar_TypeChecker_NBETerm.embed uu____6686 - cb r in + cb r + in FStar_Pervasives_Native.Some uu____6685) + let (step_from_native_step : FStar_Tactics_Native.native_primitive_step -> FStar_TypeChecker_Cfg.primitive_step) = - fun s -> + fun s -> { FStar_TypeChecker_Cfg.name = (s.FStar_Tactics_Native.name); FStar_TypeChecker_Cfg.arity = (s.FStar_Tactics_Native.arity); @@ -1252,23 +1330,28 @@ let (step_from_native_step : FStar_TypeChecker_Cfg.requires_binder_substitution = false; FStar_TypeChecker_Cfg.interpretation = (s.FStar_Tactics_Native.tactic); FStar_TypeChecker_Cfg.interpretation_nbe = - (fun _cb -> + (fun _cb -> FStar_TypeChecker_NBETerm.dummy_interp s.FStar_Tactics_Native.name) } + let timing_int : 'Auu____6724 'Auu____6725 'Auu____6726 'Auu____6727 . FStar_Ident.lid -> ('Auu____6724 -> 'Auu____6725 -> 'Auu____6726 -> 'Auu____6727) -> 'Auu____6724 -> 'Auu____6725 -> 'Auu____6726 -> 'Auu____6727 = - fun l -> - fun f -> fun psc -> fun cb -> fun args -> let r = f psc cb args in r + fun l -> + fun f -> fun psc -> fun cb -> fun args -> let r = f psc cb args in r + let timing_nbe : 'Auu____6784 'Auu____6785 'Auu____6786 . FStar_Ident.lid -> ('Auu____6784 -> 'Auu____6785 -> 'Auu____6786) -> 'Auu____6784 -> 'Auu____6785 -> 'Auu____6786 - = fun l -> fun f -> fun nbe_cbs -> fun args -> let r = f nbe_cbs args in r + = + fun l -> + fun f -> fun nbe_cbs -> fun args -> let r = f nbe_cbs args in r + let (mk : Prims.string -> Prims.int -> @@ -1283,13 +1366,13 @@ let (mk : FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option) -> FStar_TypeChecker_Cfg.primitive_step) = - fun nm -> - fun arity -> - fun nunivs -> - fun interp -> - fun nbe_interp -> + fun nm -> + fun arity -> + fun nunivs -> + fun interp -> + fun nbe_interp -> let nm1 = - FStar_Tactics_Embedding.fstar_tactics_lid' ["Builtins"; nm] in + FStar_Tactics_Embedding.fstar_tactics_lid' ["Builtins"; nm] in { FStar_TypeChecker_Cfg.name = nm1; FStar_TypeChecker_Cfg.arity = arity; @@ -1302,26 +1385,29 @@ let (mk : FStar_TypeChecker_Cfg.interpretation_nbe = (timing_nbe nm1 nbe_interp) } + let (native_tactics : unit -> FStar_Tactics_Native.native_primitive_step Prims.list) = - fun uu____6906 -> FStar_Tactics_Native.list_all () + fun uu____6906 -> FStar_Tactics_Native.list_all () let (native_tactics_steps : unit -> FStar_TypeChecker_Cfg.primitive_step Prims.list) = - fun uu____6914 -> - let uu____6915 = native_tactics () in + fun uu____6914 -> + let uu____6915 = native_tactics () in FStar_List.map step_from_native_step uu____6915 + let rec drop : 'Auu____6925 . Prims.int -> 'Auu____6925 Prims.list -> 'Auu____6925 Prims.list = - fun n1 -> - fun l -> + fun n1 -> + fun l -> if n1 = (Prims.parse_int "0") then l else (match l with | [] -> failwith "drop: impossible" | uu____6954::xs -> drop (n1 - (Prims.parse_int "1")) xs) + let mktac1 : 'a 'na 'nr 'r . Prims.int -> @@ -1334,21 +1420,22 @@ let mktac1 : 'nr FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_Cfg.primitive_step = - fun nunivs -> - fun name -> - fun f -> - fun ea -> - fun er -> - fun nf -> - fun nea -> - fun ner -> + fun nunivs -> + fun name -> + fun f -> + fun ea -> + fun er -> + fun nf -> + fun nea -> + fun ner -> mk name (Prims.parse_int "2") nunivs (mk_tactic_interpretation_1 f ea er) - (fun cb -> - fun args -> - let uu____7072 = drop nunivs args in + (fun cb -> + fun args -> + let uu____7072 = drop nunivs args in mk_tactic_nbe_interpretation_1 cb nf nea ner uu____7072) + let mktac2 : 'a 'b 'na 'nb 'nr 'r . Prims.int -> @@ -1363,23 +1450,24 @@ let mktac2 : 'nr FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_Cfg.primitive_step = - fun nunivs -> - fun name -> - fun f -> - fun ea -> - fun eb -> - fun er -> - fun nf -> - fun nea -> - fun neb -> - fun ner -> + fun nunivs -> + fun name -> + fun f -> + fun ea -> + fun eb -> + fun er -> + fun nf -> + fun nea -> + fun neb -> + fun ner -> mk name (Prims.parse_int "3") nunivs (mk_tactic_interpretation_2 f ea eb er) - (fun cb -> - fun args -> - let uu____7228 = drop nunivs args in + (fun cb -> + fun args -> + let uu____7228 = drop nunivs args in mk_tactic_nbe_interpretation_2 cb nf nea neb ner uu____7228) + let mktac3 : 'a 'b 'c 'na 'nb 'nc 'nr 'r . Prims.int -> @@ -1396,25 +1484,26 @@ let mktac3 : 'nr FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_Cfg.primitive_step = - fun nunivs -> - fun name -> - fun f -> - fun ea -> - fun eb -> - fun ec -> - fun er -> - fun nf -> - fun nea -> - fun neb -> - fun nec -> - fun ner -> + fun nunivs -> + fun name -> + fun f -> + fun ea -> + fun eb -> + fun ec -> + fun er -> + fun nf -> + fun nea -> + fun neb -> + fun nec -> + fun ner -> mk name (Prims.parse_int "4") nunivs (mk_tactic_interpretation_3 f ea eb ec er) - (fun cb -> - fun args -> - let uu____7422 = drop nunivs args in + (fun cb -> + fun args -> + let uu____7422 = drop nunivs args in mk_tactic_nbe_interpretation_3 cb nf nea neb nec ner uu____7422) + let mktac4 : 'a 'b 'c 'd 'na 'nb 'nc 'nd 'nr 'r . Prims.int -> @@ -1434,27 +1523,28 @@ let mktac4 : 'nr FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_Cfg.primitive_step = - fun nunivs -> - fun name -> - fun f -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun er -> - fun nf -> - fun nea -> - fun neb -> - fun nec -> - fun ned -> - fun ner -> + fun nunivs -> + fun name -> + fun f -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun er -> + fun nf -> + fun nea -> + fun neb -> + fun nec -> + fun ned -> + fun ner -> mk name (Prims.parse_int "5") nunivs (mk_tactic_interpretation_4 f ea eb ec ed er) - (fun cb -> - fun args -> - let uu____7654 = drop nunivs args in + (fun cb -> + fun args -> + let uu____7654 = drop nunivs args in mk_tactic_nbe_interpretation_4 cb nf nea neb nec ned ner uu____7654) + let mktac5 : 'a 'b 'c 'd 'e 'na 'nb 'nc 'nd 'ne 'nr 'r . Prims.int -> @@ -1478,30 +1568,32 @@ let mktac5 : 'nr FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_Cfg.primitive_step = - fun nunivs -> - fun name -> - fun f -> - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun ee -> - fun er -> - fun nf -> - fun nea -> - fun neb -> - fun nec -> - fun ned -> - fun nee -> - fun ner -> + fun nunivs -> + fun name -> + fun f -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun ee -> + fun er -> + fun nf -> + fun nea -> + fun neb -> + fun nec -> + fun ned -> + fun nee -> + fun ner -> mk name (Prims.parse_int "6") nunivs (mk_tactic_interpretation_5 f ea eb ec ed ee er) - (fun cb -> - fun args -> - let uu____7924 = drop nunivs args in + (fun cb -> + fun args -> + let uu____7924 = drop nunivs args + in mk_tactic_nbe_interpretation_5 cb nf nea neb nec ned nee ner uu____7924) + let (mkt : Prims.string -> Prims.int -> @@ -1516,13 +1608,13 @@ let (mkt : FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option) -> FStar_TypeChecker_Cfg.primitive_step) = - fun nm -> - fun arity -> - fun nunivs -> - fun interp -> - fun nbe_interp -> + fun nm -> + fun arity -> + fun nunivs -> + fun interp -> + fun nbe_interp -> let nm1 = - FStar_Tactics_Embedding.fstar_tactics_lid' ["Builtins"; nm] in + FStar_Tactics_Embedding.fstar_tactics_lid' ["Builtins"; nm] in { FStar_TypeChecker_Cfg.name = nm1; FStar_TypeChecker_Cfg.arity = arity; @@ -1535,6 +1627,7 @@ let (mkt : FStar_TypeChecker_Cfg.interpretation_nbe = (timing_nbe nm1 nbe_interp) } + let mk_total_interpretation_1 : 'a 'r . ('a -> 'r) -> @@ -1545,20 +1638,21 @@ let mk_total_interpretation_1 : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun f -> - fun ea -> - fun er -> - fun psc -> - fun ncb -> - fun args -> - let uu____8075 = extract_1 ea ncb args in + fun f -> + fun ea -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + let uu____8075 = extract_1 ea ncb args in FStar_Util.bind_opt uu____8075 - (fun a -> - let r = f a in + (fun a -> + let r = f a in let uu____8083 = - let uu____8084 = FStar_TypeChecker_Cfg.psc_range psc in - embed er uu____8084 r ncb in + let uu____8084 = FStar_TypeChecker_Cfg.psc_range psc in + embed er uu____8084 r ncb in FStar_Pervasives_Native.Some uu____8083) + let mk_total_interpretation_2 : 'a 'b 'r . ('a -> 'b -> 'r) -> @@ -1570,24 +1664,25 @@ let mk_total_interpretation_2 : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun f -> - fun ea -> - fun eb -> - fun er -> - fun psc -> - fun ncb -> - fun args -> - let uu____8170 = extract_2 ea eb ncb args in + fun f -> + fun ea -> + fun eb -> + fun er -> + fun psc -> + fun ncb -> + fun args -> + let uu____8170 = extract_2 ea eb ncb args in FStar_Util.bind_opt uu____8170 - (fun uu____8186 -> + (fun uu____8186 -> match uu____8186 with - | (a, b) -> - let r = f a b in + | (a,b) -> + let r = f a b in let uu____8196 = let uu____8197 = - FStar_TypeChecker_Cfg.psc_range psc in - embed er uu____8197 r ncb in + FStar_TypeChecker_Cfg.psc_range psc in + embed er uu____8197 r ncb in FStar_Pervasives_Native.Some uu____8196) + let mk_total_nbe_interpretation_1 : 'a 'r . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -1597,17 +1692,18 @@ let mk_total_nbe_interpretation_1 : FStar_TypeChecker_NBETerm.args -> FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option = - fun cb -> - fun f -> - fun ea -> - fun er -> - fun args -> - let uu____8255 = extract_1_nbe cb ea args in + fun cb -> + fun f -> + fun ea -> + fun er -> + fun args -> + let uu____8255 = extract_1_nbe cb ea args in FStar_Util.bind_opt uu____8255 - (fun a -> - let r = f a in - let uu____8263 = FStar_TypeChecker_NBETerm.embed er cb r in + (fun a -> + let r = f a in + let uu____8263 = FStar_TypeChecker_NBETerm.embed er cb r in FStar_Pervasives_Native.Some uu____8263) + let mk_total_nbe_interpretation_2 : 'a 'b 'r . FStar_TypeChecker_NBETerm.nbe_cbs -> @@ -1618,21 +1714,22 @@ let mk_total_nbe_interpretation_2 : FStar_TypeChecker_NBETerm.args -> FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option = - fun cb -> - fun f -> - fun ea -> - fun eb -> - fun er -> - fun args -> - let uu____8340 = extract_2_nbe cb ea eb args in + fun cb -> + fun f -> + fun ea -> + fun eb -> + fun er -> + fun args -> + let uu____8340 = extract_2_nbe cb ea eb args in FStar_Util.bind_opt uu____8340 - (fun uu____8356 -> + (fun uu____8356 -> match uu____8356 with - | (a, b) -> - let r = f a b in + | (a,b) -> + let r = f a b in let uu____8366 = - FStar_TypeChecker_NBETerm.embed er cb r in + FStar_TypeChecker_NBETerm.embed er cb r in FStar_Pervasives_Native.Some uu____8366) + let mktot1 : 'a 'na 'nr 'r . Prims.int -> @@ -1645,21 +1742,22 @@ let mktot1 : 'nr FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_Cfg.primitive_step = - fun nunivs -> - fun name -> - fun f -> - fun ea -> - fun er -> - fun nf -> - fun nea -> - fun ner -> + fun nunivs -> + fun name -> + fun f -> + fun ea -> + fun er -> + fun nf -> + fun nea -> + fun ner -> mkt name (Prims.parse_int "1") nunivs (mk_total_interpretation_1 f ea er) - (fun cb -> - fun args -> - let uu____8472 = drop nunivs args in + (fun cb -> + fun args -> + let uu____8472 = drop nunivs args in mk_total_nbe_interpretation_1 cb nf nea ner uu____8472) + let mktot2 : 'a 'b 'na 'nb 'nr 'r . Prims.int -> @@ -1674,20 +1772,21 @@ let mktot2 : 'nr FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_Cfg.primitive_step = - fun nunivs -> - fun name -> - fun f -> - fun ea -> - fun eb -> - fun er -> - fun nf -> - fun nea -> - fun neb -> - fun ner -> + fun nunivs -> + fun name -> + fun f -> + fun ea -> + fun eb -> + fun er -> + fun nf -> + fun nea -> + fun neb -> + fun ner -> mkt name (Prims.parse_int "2") nunivs (mk_total_interpretation_2 f ea eb er) - (fun cb -> - fun args -> - let uu____8620 = drop nunivs args in + (fun cb -> + fun args -> + let uu____8620 = drop nunivs args in mk_total_nbe_interpretation_2 cb nf nea neb ner - uu____8620) \ No newline at end of file + uu____8620) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Tactics_Interpreter.ml b/src/ocaml-output/FStar_Tactics_Interpreter.ml index 72511ef7e29..61aaff7ac44 100644 --- a/src/ocaml-output/FStar_Tactics_Interpreter.ml +++ b/src/ocaml-output/FStar_Tactics_Interpreter.ml @@ -1,5 +1,5 @@ open Prims -let (tacdbg : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false +let (tacdbg : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref false let mktot1' : 'Auu____30 'Auu____31 'Auu____32 'Auu____33 . Prims.int -> @@ -12,20 +12,22 @@ let mktot1' : 'Auu____33 FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_Cfg.primitive_step = - fun uarity -> - fun nm -> - fun f -> - fun ea -> - fun er -> - fun nf -> - fun ena -> - fun enr -> + fun uarity -> + fun nm -> + fun f -> + fun ea -> + fun er -> + fun nf -> + fun ena -> + fun enr -> let uu___9_104 = FStar_Tactics_InterpFuns.mktot1 uarity nm f ea er nf ena - enr in + enr + in let uu____105 = FStar_Ident.lid_of_str - (Prims.op_Hat "FStar.Tactics.Types." nm) in + (Prims.op_Hat "FStar.Tactics.Types." nm) + in { FStar_TypeChecker_Cfg.name = uu____105; FStar_TypeChecker_Cfg.arity = @@ -43,6 +45,7 @@ let mktot1' : FStar_TypeChecker_Cfg.interpretation_nbe = (uu___9_104.FStar_TypeChecker_Cfg.interpretation_nbe) } + let mktot2' : 'Auu____140 'Auu____141 'Auu____142 'Auu____143 'Auu____144 'Auu____145 . Prims.int -> @@ -57,22 +60,24 @@ let mktot2' : 'Auu____145 FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_Cfg.primitive_step = - fun uarity -> - fun nm -> - fun f -> - fun ea -> - fun eb -> - fun er -> - fun nf -> - fun ena -> - fun enb -> - fun enr -> + fun uarity -> + fun nm -> + fun f -> + fun ea -> + fun eb -> + fun er -> + fun nf -> + fun ena -> + fun enb -> + fun enr -> let uu___21_244 = FStar_Tactics_InterpFuns.mktot2 uarity nm f ea eb er - nf ena enb enr in + nf ena enb enr + in let uu____245 = FStar_Ident.lid_of_str - (Prims.op_Hat "FStar.Tactics.Types." nm) in + (Prims.op_Hat "FStar.Tactics.Types." nm) + in { FStar_TypeChecker_Cfg.name = uu____245; FStar_TypeChecker_Cfg.arity = @@ -90,49 +95,53 @@ let mktot2' : FStar_TypeChecker_Cfg.interpretation_nbe = (uu___21_244.FStar_TypeChecker_Cfg.interpretation_nbe) } + let rec e_tactic_thunk : 'Ar . 'Ar FStar_Syntax_Embeddings.embedding -> 'Ar FStar_Tactics_Basic.tac FStar_Syntax_Embeddings.embedding = - fun er -> + fun er -> let uu____551 = - FStar_Syntax_Embeddings.term_as_fv FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Embeddings.term_as_fv FStar_Syntax_Syntax.t_unit in FStar_Syntax_Embeddings.mk_emb - (fun uu____558 -> - fun uu____559 -> - fun uu____560 -> - fun uu____561 -> + (fun uu____558 -> + fun uu____559 -> + fun uu____560 -> + fun uu____561 -> failwith "Impossible: embedding tactic (thunk)?") - (fun t -> - fun w -> - fun cb -> + (fun t -> + fun w -> + fun cb -> let uu____575 = let uu____578 = - unembed_tactic_1 FStar_Syntax_Embeddings.e_unit er t cb in - uu____578 () in + unembed_tactic_1 FStar_Syntax_Embeddings.e_unit er t cb in + uu____578 () in FStar_Pervasives_Native.Some uu____575) uu____551 + and e_tactic_nbe_thunk : 'Ar . 'Ar FStar_TypeChecker_NBETerm.embedding -> 'Ar FStar_Tactics_Basic.tac FStar_TypeChecker_NBETerm.embedding = - fun er -> + fun er -> let uu____590 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in + FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in FStar_TypeChecker_NBETerm.mk_emb - (fun cb -> - fun uu____596 -> + (fun cb -> + fun uu____596 -> failwith "Impossible: NBE embedding tactic (thunk)?") - (fun cb -> - fun t -> + (fun cb -> + fun t -> let uu____605 = let uu____608 = - unembed_tactic_nbe_1 FStar_TypeChecker_NBETerm.e_unit er cb t in - uu____608 () in + unembed_tactic_nbe_1 FStar_TypeChecker_NBETerm.e_unit er cb t + in + uu____608 () in FStar_Pervasives_Native.Some uu____605) (FStar_TypeChecker_NBETerm.Constant FStar_TypeChecker_NBETerm.Unit) uu____590 + and e_tactic_1 : 'Aa 'Ar . 'Aa FStar_Syntax_Embeddings.embedding -> @@ -140,20 +149,21 @@ and e_tactic_1 : ('Aa -> 'Ar FStar_Tactics_Basic.tac) FStar_Syntax_Embeddings.embedding = - fun ea -> - fun er -> + fun ea -> + fun er -> let uu____623 = - FStar_Syntax_Embeddings.term_as_fv FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Embeddings.term_as_fv FStar_Syntax_Syntax.t_unit in FStar_Syntax_Embeddings.mk_emb - (fun uu____633 -> - fun uu____634 -> - fun uu____635 -> - fun uu____636 -> failwith "Impossible: embedding tactic (1)?") - (fun t -> - fun w -> - fun cb -> - let uu____652 = unembed_tactic_1 ea er t cb in + (fun uu____633 -> + fun uu____634 -> + fun uu____635 -> + fun uu____636 -> failwith "Impossible: embedding tactic (1)?") + (fun t -> + fun w -> + fun cb -> + let uu____652 = unembed_tactic_1 ea er t cb in FStar_Pervasives_Native.Some uu____652) uu____623 + and e_tactic_nbe_1 : 'Aa 'Ar . 'Aa FStar_TypeChecker_NBETerm.embedding -> @@ -161,29 +171,31 @@ and e_tactic_nbe_1 : ('Aa -> 'Ar FStar_Tactics_Basic.tac) FStar_TypeChecker_NBETerm.embedding = - fun ea -> - fun er -> + fun ea -> + fun er -> let uu____670 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in + FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in FStar_TypeChecker_NBETerm.mk_emb - (fun cb -> - fun uu____679 -> failwith "Impossible: NBE embedding tactic (1)?") - (fun cb -> - fun t -> - let uu____690 = unembed_tactic_nbe_1 ea er cb t in + (fun cb -> + fun uu____679 -> failwith "Impossible: NBE embedding tactic (1)?") + (fun cb -> + fun t -> + let uu____690 = unembed_tactic_nbe_1 ea er cb t in FStar_Pervasives_Native.Some uu____690) (FStar_TypeChecker_NBETerm.Constant FStar_TypeChecker_NBETerm.Unit) uu____670 + and (primitive_steps : unit -> FStar_TypeChecker_Cfg.primitive_step Prims.list) = - fun uu____702 -> + fun uu____702 -> let uu____705 = let uu____708 = mktot1' (Prims.parse_int "0") "tracepoint" FStar_Tactics_Types.tracepoint FStar_Tactics_Embedding.e_proofstate FStar_Syntax_Embeddings.e_unit FStar_Tactics_Types.tracepoint FStar_Tactics_Embedding.e_proofstate_nbe - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____711 = let uu____714 = mktot2' (Prims.parse_int "0") "set_proofstate_range" @@ -194,7 +206,8 @@ and (primitive_steps : FStar_Tactics_Types.set_proofstate_range FStar_Tactics_Embedding.e_proofstate_nbe FStar_TypeChecker_NBETerm.e_range - FStar_Tactics_Embedding.e_proofstate_nbe in + FStar_Tactics_Embedding.e_proofstate_nbe + in let uu____717 = let uu____720 = mktot1' (Prims.parse_int "0") "incr_depth" @@ -203,7 +216,8 @@ and (primitive_steps : FStar_Tactics_Embedding.e_proofstate FStar_Tactics_Types.incr_depth FStar_Tactics_Embedding.e_proofstate_nbe - FStar_Tactics_Embedding.e_proofstate_nbe in + FStar_Tactics_Embedding.e_proofstate_nbe + in let uu____723 = let uu____726 = mktot1' (Prims.parse_int "0") "decr_depth" @@ -212,33 +226,40 @@ and (primitive_steps : FStar_Tactics_Embedding.e_proofstate FStar_Tactics_Types.decr_depth FStar_Tactics_Embedding.e_proofstate_nbe - FStar_Tactics_Embedding.e_proofstate_nbe in + FStar_Tactics_Embedding.e_proofstate_nbe + in let uu____729 = let uu____732 = let uu____733 = FStar_Syntax_Embeddings.e_list - FStar_Tactics_Embedding.e_goal in + FStar_Tactics_Embedding.e_goal + in let uu____738 = FStar_TypeChecker_NBETerm.e_list - FStar_Tactics_Embedding.e_goal_nbe in + FStar_Tactics_Embedding.e_goal_nbe + in mktot1' (Prims.parse_int "0") "goals_of" FStar_Tactics_Types.goals_of FStar_Tactics_Embedding.e_proofstate uu____733 FStar_Tactics_Types.goals_of - FStar_Tactics_Embedding.e_proofstate_nbe uu____738 in + FStar_Tactics_Embedding.e_proofstate_nbe uu____738 + in let uu____749 = let uu____752 = let uu____753 = FStar_Syntax_Embeddings.e_list - FStar_Tactics_Embedding.e_goal in + FStar_Tactics_Embedding.e_goal + in let uu____758 = FStar_TypeChecker_NBETerm.e_list - FStar_Tactics_Embedding.e_goal_nbe in + FStar_Tactics_Embedding.e_goal_nbe + in mktot1' (Prims.parse_int "0") "smt_goals_of" FStar_Tactics_Types.smt_goals_of FStar_Tactics_Embedding.e_proofstate uu____753 FStar_Tactics_Types.smt_goals_of - FStar_Tactics_Embedding.e_proofstate_nbe uu____758 in + FStar_Tactics_Embedding.e_proofstate_nbe uu____758 + in let uu____769 = let uu____772 = mktot1' (Prims.parse_int "0") "goal_env" @@ -247,7 +268,8 @@ and (primitive_steps : FStar_Reflection_Embeddings.e_env FStar_Tactics_Types.goal_env FStar_Tactics_Embedding.e_goal_nbe - FStar_Reflection_NBEEmbeddings.e_env in + FStar_Reflection_NBEEmbeddings.e_env + in let uu____775 = let uu____778 = mktot1' (Prims.parse_int "0") "goal_type" @@ -256,7 +278,8 @@ and (primitive_steps : FStar_Reflection_Embeddings.e_term FStar_Tactics_Types.goal_type FStar_Tactics_Embedding.e_goal_nbe - FStar_Reflection_NBEEmbeddings.e_term in + FStar_Reflection_NBEEmbeddings.e_term + in let uu____781 = let uu____784 = mktot1' (Prims.parse_int "0") "goal_witness" @@ -265,7 +288,8 @@ and (primitive_steps : FStar_Reflection_Embeddings.e_term FStar_Tactics_Types.goal_witness FStar_Tactics_Embedding.e_goal_nbe - FStar_Reflection_NBEEmbeddings.e_term in + FStar_Reflection_NBEEmbeddings.e_term + in let uu____787 = let uu____790 = mktot1' (Prims.parse_int "0") "is_guard" @@ -274,7 +298,8 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_bool FStar_Tactics_Types.is_guard FStar_Tactics_Embedding.e_goal_nbe - FStar_TypeChecker_NBETerm.e_bool in + FStar_TypeChecker_NBETerm.e_bool + in let uu____795 = let uu____798 = mktot1' (Prims.parse_int "0") "get_label" @@ -283,7 +308,8 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_string FStar_Tactics_Types.get_label FStar_Tactics_Embedding.e_goal_nbe - FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.e_string + in let uu____803 = let uu____806 = mktot2' (Prims.parse_int "0") "set_label" @@ -294,47 +320,54 @@ and (primitive_steps : FStar_Tactics_Types.set_label FStar_TypeChecker_NBETerm.e_string FStar_Tactics_Embedding.e_goal_nbe - FStar_Tactics_Embedding.e_goal_nbe in + FStar_Tactics_Embedding.e_goal_nbe + in let uu____811 = let uu____814 = FStar_Tactics_InterpFuns.mktot2 (Prims.parse_int "0") "push_binder" - (fun env -> - fun b -> + (fun env -> + fun b -> FStar_TypeChecker_Env.push_binders env [b]) FStar_Reflection_Embeddings.e_env FStar_Reflection_Embeddings.e_binder FStar_Reflection_Embeddings.e_env - (fun env -> - fun b -> + (fun env -> + fun b -> FStar_TypeChecker_Env.push_binders env [b]) FStar_Reflection_NBEEmbeddings.e_env FStar_Reflection_NBEEmbeddings.e_binder - FStar_Reflection_NBEEmbeddings.e_env in + FStar_Reflection_NBEEmbeddings.e_env + in let uu____873 = let uu____876 = let uu____877 = FStar_Syntax_Embeddings.e_list - FStar_Tactics_Embedding.e_goal in + FStar_Tactics_Embedding.e_goal + in let uu____882 = FStar_TypeChecker_NBETerm.e_list - FStar_Tactics_Embedding.e_goal_nbe in + FStar_Tactics_Embedding.e_goal_nbe + in FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") "set_goals" FStar_Tactics_Basic.set_goals uu____877 FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.set_goals uu____882 - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____893 = let uu____896 = let uu____897 = FStar_Syntax_Embeddings.e_list - FStar_Tactics_Embedding.e_goal in + FStar_Tactics_Embedding.e_goal + in let uu____902 = FStar_TypeChecker_NBETerm.e_list - FStar_Tactics_Embedding.e_goal_nbe in + FStar_Tactics_Embedding.e_goal_nbe + in FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") "set_smt_goals" FStar_Tactics_Basic.set_smt_goals @@ -342,7 +375,8 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.set_smt_goals uu____902 - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____913 = let uu____916 = FStar_Tactics_InterpFuns.mktac1 @@ -352,59 +386,70 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.trivial FStar_TypeChecker_NBETerm.e_unit - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____919 = let uu____922 = let uu____923 = e_tactic_thunk - FStar_Syntax_Embeddings.e_any in + FStar_Syntax_Embeddings.e_any + in let uu____928 = FStar_Syntax_Embeddings.e_either FStar_Tactics_Embedding.e_exn - FStar_Syntax_Embeddings.e_any in + FStar_Syntax_Embeddings.e_any + in let uu____935 = e_tactic_nbe_thunk - FStar_TypeChecker_NBETerm.e_any in + FStar_TypeChecker_NBETerm.e_any + in let uu____940 = FStar_TypeChecker_NBETerm.e_either FStar_Tactics_Embedding.e_exn_nbe - FStar_TypeChecker_NBETerm.e_any in + FStar_TypeChecker_NBETerm.e_any + in FStar_Tactics_InterpFuns.mktac2 (Prims.parse_int "1") "catch" - (fun uu____962 -> + (fun uu____962 -> FStar_Tactics_Basic.catch) FStar_Syntax_Embeddings.e_any uu____923 uu____928 - (fun uu____964 -> + (fun uu____964 -> FStar_Tactics_Basic.catch) FStar_TypeChecker_NBETerm.e_any - uu____935 uu____940 in + uu____935 uu____940 + in let uu____965 = let uu____968 = let uu____969 = e_tactic_thunk - FStar_Syntax_Embeddings.e_any in + FStar_Syntax_Embeddings.e_any + in let uu____974 = FStar_Syntax_Embeddings.e_either FStar_Tactics_Embedding.e_exn - FStar_Syntax_Embeddings.e_any in + FStar_Syntax_Embeddings.e_any + in let uu____981 = e_tactic_nbe_thunk - FStar_TypeChecker_NBETerm.e_any in + FStar_TypeChecker_NBETerm.e_any + in let uu____986 = FStar_TypeChecker_NBETerm.e_either FStar_Tactics_Embedding.e_exn_nbe - FStar_TypeChecker_NBETerm.e_any in + FStar_TypeChecker_NBETerm.e_any + in FStar_Tactics_InterpFuns.mktac2 (Prims.parse_int "1") "recover" - (fun uu____1008 -> + (fun uu____1008 -> FStar_Tactics_Basic.recover) FStar_Syntax_Embeddings.e_any uu____969 uu____974 - (fun uu____1010 -> + (fun uu____1010 -> FStar_Tactics_Basic.recover) FStar_TypeChecker_NBETerm.e_any - uu____981 uu____986 in + uu____981 uu____986 + in let uu____1011 = let uu____1014 = FStar_Tactics_InterpFuns.mktac1 @@ -414,17 +459,20 @@ and (primitive_steps : FStar_Reflection_Embeddings.e_binder FStar_Tactics_Basic.intro FStar_TypeChecker_NBETerm.e_unit - FStar_Reflection_NBEEmbeddings.e_binder in + FStar_Reflection_NBEEmbeddings.e_binder + in let uu____1017 = let uu____1020 = let uu____1021 = FStar_Syntax_Embeddings.e_tuple2 FStar_Reflection_Embeddings.e_binder - FStar_Reflection_Embeddings.e_binder in + FStar_Reflection_Embeddings.e_binder + in let uu____1028 = FStar_TypeChecker_NBETerm.e_tuple2 FStar_Reflection_NBEEmbeddings.e_binder - FStar_Reflection_NBEEmbeddings.e_binder in + FStar_Reflection_NBEEmbeddings.e_binder + in FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") "intro_rec" @@ -433,15 +481,18 @@ and (primitive_steps : uu____1021 FStar_Tactics_Basic.intro_rec FStar_TypeChecker_NBETerm.e_unit - uu____1028 in + uu____1028 + in let uu____1045 = let uu____1048 = let uu____1049 = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_norm_step in + FStar_Syntax_Embeddings.e_norm_step + in let uu____1054 = FStar_TypeChecker_NBETerm.e_list - FStar_TypeChecker_NBETerm.e_norm_step in + FStar_TypeChecker_NBETerm.e_norm_step + in FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") "norm" @@ -450,15 +501,18 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.norm uu____1054 - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____1065 = let uu____1068 = let uu____1069 = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_norm_step in + FStar_Syntax_Embeddings.e_norm_step + in let uu____1074 = FStar_TypeChecker_NBETerm.e_list - FStar_TypeChecker_NBETerm.e_norm_step in + FStar_TypeChecker_NBETerm.e_norm_step + in FStar_Tactics_InterpFuns.mktac3 (Prims.parse_int "0") "norm_term_env" @@ -471,15 +525,18 @@ and (primitive_steps : FStar_Reflection_NBEEmbeddings.e_env uu____1074 FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term in + FStar_Reflection_NBEEmbeddings.e_term + in let uu____1085 = let uu____1088 = let uu____1089 = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_norm_step in + FStar_Syntax_Embeddings.e_norm_step + in let uu____1094 = FStar_TypeChecker_NBETerm.e_list - FStar_TypeChecker_NBETerm.e_norm_step in + FStar_TypeChecker_NBETerm.e_norm_step + in FStar_Tactics_InterpFuns.mktac2 (Prims.parse_int "0") "norm_binder_type" @@ -490,7 +547,8 @@ and (primitive_steps : FStar_Tactics_Basic.norm_binder_type uu____1094 FStar_Reflection_NBEEmbeddings.e_binder - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____1105 = let uu____1108 = FStar_Tactics_InterpFuns.mktac2 @@ -503,7 +561,8 @@ and (primitive_steps : FStar_Tactics_Basic.rename_to FStar_Reflection_NBEEmbeddings.e_binder FStar_TypeChecker_NBETerm.e_string - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____1113 = let uu____1116 = FStar_Tactics_InterpFuns.mktac1 @@ -514,7 +573,8 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.binder_retype FStar_Reflection_NBEEmbeddings.e_binder - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____1119 = let uu____1122 = FStar_Tactics_InterpFuns.mktac1 @@ -525,7 +585,8 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.revert FStar_TypeChecker_NBETerm.e_unit - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____1125 = let uu____1128 = FStar_Tactics_InterpFuns.mktac1 @@ -536,7 +597,8 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.clear_top FStar_TypeChecker_NBETerm.e_unit - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____1131 = let uu____1134 = FStar_Tactics_InterpFuns.mktac1 @@ -547,7 +609,8 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.clear FStar_Reflection_NBEEmbeddings.e_binder - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____1137 = let uu____1140 = @@ -559,7 +622,8 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.rewrite FStar_Reflection_NBEEmbeddings.e_binder - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____1143 = let uu____1146 @@ -572,7 +636,8 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.refine_intro FStar_TypeChecker_NBETerm.e_unit - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____1149 = let uu____1152 @@ -589,25 +654,29 @@ and (primitive_steps : FStar_TypeChecker_NBETerm.e_bool FStar_TypeChecker_NBETerm.e_bool FStar_Reflection_NBEEmbeddings.e_term - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in let uu____1159 = let uu____1162 = - FStar_Tactics_InterpFuns.mktac2 + FStar_Tactics_InterpFuns.mktac3 (Prims.parse_int "1") "t_apply" FStar_Tactics_Basic.t_apply FStar_Syntax_Embeddings.e_bool + FStar_Syntax_Embeddings.e_bool FStar_Reflection_Embeddings.e_term FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.t_apply FStar_TypeChecker_NBETerm.e_bool + FStar_TypeChecker_NBETerm.e_bool FStar_Reflection_NBEEmbeddings.e_term - FStar_TypeChecker_NBETerm.e_unit in - let uu____1167 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1169 = - let uu____1170 + let uu____1172 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -617,10 +686,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.apply_lemma FStar_Reflection_NBEEmbeddings.e_term - FStar_TypeChecker_NBETerm.e_unit in - let uu____1173 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1175 = - let uu____1176 + let uu____1178 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -630,10 +700,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.set_options FStar_TypeChecker_NBETerm.e_string - FStar_TypeChecker_NBETerm.e_unit in - let uu____1181 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1183 = - let uu____1184 + let uu____1186 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -643,10 +714,11 @@ and (primitive_steps : FStar_Reflection_Embeddings.e_comp FStar_Tactics_Basic.tcc FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_comp in - let uu____1187 + FStar_Reflection_NBEEmbeddings.e_comp + in + let uu____1189 = - let uu____1190 + let uu____1192 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -656,10 +728,11 @@ and (primitive_steps : FStar_Reflection_Embeddings.e_term FStar_Tactics_Basic.tc FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term in - let uu____1193 + FStar_Reflection_NBEEmbeddings.e_term + in + let uu____1195 = - let uu____1196 + let uu____1198 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -669,10 +742,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.unshelve FStar_Reflection_NBEEmbeddings.e_term - FStar_TypeChecker_NBETerm.e_unit in - let uu____1199 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1201 = - let uu____1202 + let uu____1204 = FStar_Tactics_InterpFuns.mktac2 (Prims.parse_int "1") @@ -682,19 +756,20 @@ and (primitive_steps : FStar_Reflection_Embeddings.e_term FStar_Syntax_Embeddings.e_any (fun - uu____1207 - -> + uu____1209 + -> fun - uu____1208 - -> + uu____1210 + -> failwith "NBE unquote") FStar_TypeChecker_NBETerm.e_any FStar_Reflection_NBEEmbeddings.e_term - FStar_TypeChecker_NBETerm.e_any in - let uu____1212 + FStar_TypeChecker_NBETerm.e_any + in + let uu____1214 = - let uu____1215 + let uu____1217 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -704,10 +779,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.prune FStar_TypeChecker_NBETerm.e_string - FStar_TypeChecker_NBETerm.e_unit in - let uu____1220 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1222 = - let uu____1223 + let uu____1225 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -717,10 +793,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.addns FStar_TypeChecker_NBETerm.e_string - FStar_TypeChecker_NBETerm.e_unit in - let uu____1228 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1230 = - let uu____1231 + let uu____1233 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -730,10 +807,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.print FStar_TypeChecker_NBETerm.e_string - FStar_TypeChecker_NBETerm.e_unit in - let uu____1236 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1238 = - let uu____1239 + let uu____1241 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -743,10 +821,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_bool FStar_Tactics_Basic.debugging FStar_TypeChecker_NBETerm.e_unit - FStar_TypeChecker_NBETerm.e_bool in - let uu____1244 + FStar_TypeChecker_NBETerm.e_bool + in + let uu____1246 = - let uu____1247 + let uu____1249 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -756,76 +835,87 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.print_proof_state FStar_TypeChecker_NBETerm.e_string - FStar_TypeChecker_NBETerm.e_unit in - let uu____1252 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1254 = - let uu____1255 + let uu____1257 = - let uu____1256 + let uu____1258 = e_tactic_thunk - FStar_Syntax_Embeddings.e_unit in - let uu____1261 + FStar_Syntax_Embeddings.e_unit + in + let uu____1263 = e_tactic_nbe_thunk - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in FStar_Tactics_InterpFuns.mktac2 (Prims.parse_int "0") "t_pointwise" FStar_Tactics_Basic.pointwise FStar_Tactics_Embedding.e_direction - uu____1256 + uu____1258 FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.pointwise FStar_Tactics_Embedding.e_direction_nbe - uu____1261 - FStar_TypeChecker_NBETerm.e_unit in - let uu____1272 + uu____1263 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1274 = - let uu____1275 + let uu____1277 = - let uu____1276 + let uu____1278 = - let uu____1289 + let uu____1291 = FStar_Syntax_Embeddings.e_tuple2 FStar_Syntax_Embeddings.e_bool - FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings.e_int + in e_tactic_1 FStar_Reflection_Embeddings.e_term - uu____1289 in - let uu____1303 + uu____1291 + in + let uu____1305 = e_tactic_thunk - FStar_Syntax_Embeddings.e_unit in - let uu____1308 + FStar_Syntax_Embeddings.e_unit + in + let uu____1310 = - let uu____1321 + let uu____1323 = FStar_TypeChecker_NBETerm.e_tuple2 FStar_TypeChecker_NBETerm.e_bool - FStar_TypeChecker_NBETerm.e_int in + FStar_TypeChecker_NBETerm.e_int + in e_tactic_nbe_1 FStar_Reflection_NBEEmbeddings.e_term - uu____1321 in - let uu____1335 + uu____1323 + in + let uu____1337 = e_tactic_nbe_thunk - FStar_TypeChecker_NBETerm.e_unit in + FStar_TypeChecker_NBETerm.e_unit + in FStar_Tactics_InterpFuns.mktac2 (Prims.parse_int "0") "topdown_rewrite" FStar_Tactics_Basic.topdown_rewrite - uu____1276 - uu____1303 + uu____1278 + uu____1305 FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.topdown_rewrite - uu____1308 - uu____1335 - FStar_TypeChecker_NBETerm.e_unit in - let uu____1366 + uu____1310 + uu____1337 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1368 = - let uu____1369 + let uu____1371 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -835,10 +925,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.trefl FStar_TypeChecker_NBETerm.e_unit - FStar_TypeChecker_NBETerm.e_unit in - let uu____1372 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1374 = - let uu____1375 + let uu____1377 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -848,10 +939,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.dup FStar_TypeChecker_NBETerm.e_unit - FStar_TypeChecker_NBETerm.e_unit in - let uu____1378 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1380 = - let uu____1381 + let uu____1383 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -861,10 +953,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.tadmit_t FStar_Reflection_NBEEmbeddings.e_term - FStar_TypeChecker_NBETerm.e_unit in - let uu____1384 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1386 = - let uu____1387 + let uu____1389 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -874,41 +967,47 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.join FStar_TypeChecker_NBETerm.e_unit - FStar_TypeChecker_NBETerm.e_unit in - let uu____1390 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1392 = - let uu____1393 + let uu____1395 = - let uu____1394 + let uu____1396 = - let uu____1403 + let uu____1405 = FStar_Syntax_Embeddings.e_tuple2 FStar_Reflection_Embeddings.e_fv - FStar_Syntax_Embeddings.e_int in + FStar_Syntax_Embeddings.e_int + in FStar_Syntax_Embeddings.e_list - uu____1403 in - let uu____1414 + uu____1405 + in + let uu____1416 = - let uu____1423 + let uu____1425 = FStar_TypeChecker_NBETerm.e_tuple2 FStar_Reflection_NBEEmbeddings.e_fv - FStar_TypeChecker_NBETerm.e_int in + FStar_TypeChecker_NBETerm.e_int + in FStar_TypeChecker_NBETerm.e_list - uu____1423 in + uu____1425 + in FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") "t_destruct" FStar_Tactics_Basic.t_destruct FStar_Reflection_Embeddings.e_term - uu____1394 + uu____1396 FStar_Tactics_Basic.t_destruct FStar_Reflection_NBEEmbeddings.e_term - uu____1414 in - let uu____1448 + uu____1416 + in + let uu____1450 = - let uu____1451 + let uu____1453 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -918,10 +1017,11 @@ and (primitive_steps : FStar_Reflection_Embeddings.e_env FStar_Tactics_Basic.top_env FStar_TypeChecker_NBETerm.e_unit - FStar_Reflection_NBEEmbeddings.e_env in - let uu____1454 + FStar_Reflection_NBEEmbeddings.e_env + in + let uu____1456 = - let uu____1457 + let uu____1459 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -931,10 +1031,11 @@ and (primitive_steps : FStar_Reflection_Embeddings.e_term_view FStar_Tactics_Basic.inspect FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_term_view in - let uu____1460 + FStar_Reflection_NBEEmbeddings.e_term_view + in + let uu____1462 = - let uu____1463 + let uu____1465 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -944,10 +1045,11 @@ and (primitive_steps : FStar_Reflection_Embeddings.e_term FStar_Tactics_Basic.pack FStar_Reflection_NBEEmbeddings.e_term_view - FStar_Reflection_NBEEmbeddings.e_term in - let uu____1466 + FStar_Reflection_NBEEmbeddings.e_term + in + let uu____1468 = - let uu____1469 + let uu____1471 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -957,33 +1059,37 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_int FStar_Tactics_Basic.fresh FStar_TypeChecker_NBETerm.e_unit - FStar_TypeChecker_NBETerm.e_int in - let uu____1472 + FStar_TypeChecker_NBETerm.e_int + in + let uu____1474 = - let uu____1475 + let uu____1477 = - let uu____1476 + let uu____1478 = FStar_Syntax_Embeddings.e_option - FStar_Reflection_Embeddings.e_term in - let uu____1481 + FStar_Reflection_Embeddings.e_term + in + let uu____1483 = FStar_TypeChecker_NBETerm.e_option - FStar_Reflection_NBEEmbeddings.e_term in + FStar_Reflection_NBEEmbeddings.e_term + in FStar_Tactics_InterpFuns.mktac2 (Prims.parse_int "0") "uvar_env" FStar_Tactics_Basic.uvar_env FStar_Reflection_Embeddings.e_env - uu____1476 + uu____1478 FStar_Reflection_Embeddings.e_term FStar_Tactics_Basic.uvar_env FStar_Reflection_NBEEmbeddings.e_env - uu____1481 - FStar_Reflection_NBEEmbeddings.e_term in - let uu____1492 + uu____1483 + FStar_Reflection_NBEEmbeddings.e_term + in + let uu____1494 = - let uu____1495 + let uu____1497 = FStar_Tactics_InterpFuns.mktac3 (Prims.parse_int "0") @@ -997,35 +1103,39 @@ and (primitive_steps : FStar_Reflection_NBEEmbeddings.e_env FStar_Reflection_NBEEmbeddings.e_term FStar_Reflection_NBEEmbeddings.e_term - FStar_TypeChecker_NBETerm.e_bool in - let uu____1500 + FStar_TypeChecker_NBETerm.e_bool + in + let uu____1502 = - let uu____1503 + let uu____1505 = - let uu____1504 + let uu____1506 = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_string in - let uu____1511 + FStar_Syntax_Embeddings.e_string + in + let uu____1513 = FStar_TypeChecker_NBETerm.e_list - FStar_TypeChecker_NBETerm.e_string in + FStar_TypeChecker_NBETerm.e_string + in FStar_Tactics_InterpFuns.mktac3 (Prims.parse_int "0") "launch_process" FStar_Tactics_Basic.launch_process FStar_Syntax_Embeddings.e_string - uu____1504 + uu____1506 FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_string FStar_Tactics_Basic.launch_process FStar_TypeChecker_NBETerm.e_string - uu____1511 + uu____1513 + FStar_TypeChecker_NBETerm.e_string FStar_TypeChecker_NBETerm.e_string - FStar_TypeChecker_NBETerm.e_string in - let uu____1532 + in + let uu____1534 = - let uu____1535 + let uu____1537 = FStar_Tactics_InterpFuns.mktac2 (Prims.parse_int "0") @@ -1037,10 +1147,11 @@ and (primitive_steps : FStar_Tactics_Basic.fresh_bv_named FStar_TypeChecker_NBETerm.e_string FStar_Reflection_NBEEmbeddings.e_term - FStar_Reflection_NBEEmbeddings.e_bv in - let uu____1540 + FStar_Reflection_NBEEmbeddings.e_bv + in + let uu____1542 = - let uu____1543 + let uu____1545 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -1050,10 +1161,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.change FStar_Reflection_NBEEmbeddings.e_term - FStar_TypeChecker_NBETerm.e_unit in - let uu____1546 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1548 = - let uu____1549 + let uu____1551 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -1063,10 +1175,11 @@ and (primitive_steps : FStar_Tactics_Embedding.e_guard_policy FStar_Tactics_Basic.get_guard_policy FStar_TypeChecker_NBETerm.e_unit - FStar_Tactics_Embedding.e_guard_policy_nbe in - let uu____1552 + FStar_Tactics_Embedding.e_guard_policy_nbe + in + let uu____1554 = - let uu____1555 + let uu____1557 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -1076,10 +1189,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_unit FStar_Tactics_Basic.set_guard_policy FStar_Tactics_Embedding.e_guard_policy_nbe - FStar_TypeChecker_NBETerm.e_unit in - let uu____1558 + FStar_TypeChecker_NBETerm.e_unit + in + let uu____1560 = - let uu____1561 + let uu____1563 = FStar_Tactics_InterpFuns.mktac1 (Prims.parse_int "0") @@ -1089,10 +1203,11 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_bool FStar_Tactics_Basic.lax_on FStar_TypeChecker_NBETerm.e_unit - FStar_TypeChecker_NBETerm.e_bool in - let uu____1566 + FStar_TypeChecker_NBETerm.e_bool + in + let uu____1568 = - let uu____1569 + let uu____1571 = FStar_Tactics_InterpFuns.mktac2 (Prims.parse_int "1") @@ -1102,19 +1217,20 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_string FStar_Syntax_Embeddings.e_any (fun - uu____1576 - -> + uu____1578 + -> fun - uu____1577 - -> + uu____1579 + -> FStar_Tactics_Basic.fail "sorry, `lget` does not work in NBE") FStar_TypeChecker_NBETerm.e_any FStar_TypeChecker_NBETerm.e_string - FStar_TypeChecker_NBETerm.e_any in - let uu____1580 + FStar_TypeChecker_NBETerm.e_any + in + let uu____1582 = - let uu____1583 + let uu____1585 = FStar_Tactics_InterpFuns.mktac3 (Prims.parse_int "1") @@ -1125,161 +1241,206 @@ and (primitive_steps : FStar_Syntax_Embeddings.e_any FStar_Syntax_Embeddings.e_unit (fun - uu____1591 - -> + uu____1593 + -> fun - uu____1592 - -> + uu____1594 + -> fun - uu____1593 - -> + uu____1595 + -> FStar_Tactics_Basic.fail "sorry, `lset` does not work in NBE") FStar_TypeChecker_NBETerm.e_any FStar_TypeChecker_NBETerm.e_string FStar_TypeChecker_NBETerm.e_any - FStar_TypeChecker_NBETerm.e_unit in - [uu____1583] in - uu____1569 + FStar_TypeChecker_NBETerm.e_unit + in + [uu____1585] + in + uu____1571 :: - uu____1580 in - uu____1561 + uu____1582 + in + uu____1563 :: - uu____1566 in - uu____1555 + uu____1568 + in + uu____1557 :: - uu____1558 in - uu____1549 + uu____1560 + in + uu____1551 :: - uu____1552 in - uu____1543 + uu____1554 + in + uu____1545 :: - uu____1546 in - uu____1535 + uu____1548 + in + uu____1537 :: - uu____1540 in - uu____1503 + uu____1542 + in + uu____1505 :: - uu____1532 in - uu____1495 + uu____1534 + in + uu____1497 :: - uu____1500 in - uu____1475 + uu____1502 + in + uu____1477 :: - uu____1492 in - uu____1469 + uu____1494 + in + uu____1471 :: - uu____1472 in - uu____1463 + uu____1474 + in + uu____1465 :: - uu____1466 in - uu____1457 + uu____1468 + in + uu____1459 :: - uu____1460 in - uu____1451 + uu____1462 + in + uu____1453 :: - uu____1454 in - uu____1393 + uu____1456 + in + uu____1395 :: - uu____1448 in - uu____1387 + uu____1450 + in + uu____1389 :: - uu____1390 in - uu____1381 + uu____1392 + in + uu____1383 :: - uu____1384 in - uu____1375 + uu____1386 + in + uu____1377 :: - uu____1378 in - uu____1369 + uu____1380 + in + uu____1371 :: - uu____1372 in - uu____1275 + uu____1374 + in + uu____1277 :: - uu____1366 in - uu____1255 + uu____1368 + in + uu____1257 :: - uu____1272 in - uu____1247 + uu____1274 + in + uu____1249 :: - uu____1252 in - uu____1239 + uu____1254 + in + uu____1241 :: - uu____1244 in - uu____1231 + uu____1246 + in + uu____1233 :: - uu____1236 in - uu____1223 + uu____1238 + in + uu____1225 :: - uu____1228 in - uu____1215 + uu____1230 + in + uu____1217 :: - uu____1220 in - uu____1202 + uu____1222 + in + uu____1204 :: - uu____1212 in - uu____1196 + uu____1214 + in + uu____1198 :: - uu____1199 in - uu____1190 + uu____1201 + in + uu____1192 :: - uu____1193 in - uu____1184 + uu____1195 + in + uu____1186 :: - uu____1187 in - uu____1176 + uu____1189 + in + uu____1178 :: - uu____1181 in - uu____1170 + uu____1183 + in + uu____1172 :: - uu____1173 in + uu____1175 + in uu____1162 :: - uu____1167 in + uu____1169 + in uu____1152 :: - uu____1159 in + uu____1159 + in uu____1146 :: - uu____1149 in + uu____1149 + in uu____1140 :: - uu____1143 in + uu____1143 + in uu____1134 :: - uu____1137 in + uu____1137 + in uu____1128 :: - uu____1131 in + uu____1131 + in uu____1122 :: - uu____1125 in + uu____1125 + in uu____1116 :: - uu____1119 in - uu____1108 :: uu____1113 in - uu____1088 :: uu____1105 in - uu____1068 :: uu____1085 in - uu____1048 :: uu____1065 in - uu____1020 :: uu____1045 in - uu____1014 :: uu____1017 in - uu____968 :: uu____1011 in - uu____922 :: uu____965 in - uu____916 :: uu____919 in - uu____896 :: uu____913 in - uu____876 :: uu____893 in - uu____814 :: uu____873 in - uu____806 :: uu____811 in - uu____798 :: uu____803 in - uu____790 :: uu____795 in - uu____784 :: uu____787 in - uu____778 :: uu____781 in - uu____772 :: uu____775 in - uu____752 :: uu____769 in - uu____732 :: uu____749 in - uu____726 :: uu____729 in - uu____720 :: uu____723 in - uu____714 :: uu____717 in - uu____708 :: uu____711 in - let uu____1596 = - let uu____1599 = FStar_Tactics_InterpFuns.native_tactics_steps () in + uu____1119 + in + uu____1108 :: uu____1113 + in + uu____1088 :: uu____1105 + in + uu____1068 :: uu____1085 in + uu____1048 :: uu____1065 in + uu____1020 :: uu____1045 in + uu____1014 :: uu____1017 in + uu____968 :: uu____1011 in + uu____922 :: uu____965 in + uu____916 :: uu____919 in + uu____896 :: uu____913 in + uu____876 :: uu____893 in + uu____814 :: uu____873 in + uu____806 :: uu____811 in + uu____798 :: uu____803 in + uu____790 :: uu____795 in + uu____784 :: uu____787 in + uu____778 :: uu____781 in + uu____772 :: uu____775 in + uu____752 :: uu____769 in + uu____732 :: uu____749 in + uu____726 :: uu____729 in + uu____720 :: uu____723 in + uu____714 :: uu____717 in + uu____708 :: uu____711 in + let uu____1598 = + let uu____1601 = FStar_Tactics_InterpFuns.native_tactics_steps () in FStar_List.append FStar_Reflection_Interpreter.reflection_primops - uu____1599 in - FStar_List.append uu____705 uu____1596 + uu____1601 + in + FStar_List.append uu____705 uu____1598 + and unembed_tactic_1 : 'Aa 'Ar . 'Aa FStar_Syntax_Embeddings.embedding -> @@ -1288,34 +1449,36 @@ and unembed_tactic_1 : FStar_Syntax_Embeddings.norm_cb -> 'Aa -> 'Ar FStar_Tactics_Basic.tac = - fun ea -> - fun er -> - fun f -> - fun ncb -> - fun x -> - let rng = FStar_Range.dummyRange in - let x_tm = FStar_Tactics_InterpFuns.embed ea rng x ncb in + fun ea -> + fun er -> + fun f -> + fun ncb -> + fun x -> + let rng = FStar_Range.dummyRange in + let x_tm = FStar_Tactics_InterpFuns.embed ea rng x ncb in let app = - let uu____1617 = - let uu____1622 = - let uu____1623 = FStar_Syntax_Syntax.as_arg x_tm in - [uu____1623] in - FStar_Syntax_Syntax.mk_Tm_app f uu____1622 in - uu____1617 FStar_Pervasives_Native.None rng in + let uu____1619 = + let uu____1624 = + let uu____1625 = FStar_Syntax_Syntax.as_arg x_tm in + [uu____1625] in + FStar_Syntax_Syntax.mk_Tm_app f uu____1624 in + uu____1619 FStar_Pervasives_Native.None rng in unembed_tactic_0 er app ncb + and unembed_tactic_0 : 'Ab . 'Ab FStar_Syntax_Embeddings.embedding -> FStar_Syntax_Syntax.term -> FStar_Syntax_Embeddings.norm_cb -> 'Ab FStar_Tactics_Basic.tac = - fun eb -> - fun embedded_tac_b -> - fun ncb -> + fun eb -> + fun embedded_tac_b -> + fun ncb -> FStar_Tactics_Basic.bind FStar_Tactics_Basic.get - (fun proof_state -> - let rng = embedded_tac_b.FStar_Syntax_Syntax.pos in - let embedded_tac_b1 = FStar_Syntax_Util.mk_reify embedded_tac_b in + (fun proof_state -> + let rng = embedded_tac_b.FStar_Syntax_Syntax.pos in + let embedded_tac_b1 = FStar_Syntax_Util.mk_reify embedded_tac_b + in let tm = let uu____1675 = let uu____1680 = @@ -1323,11 +1486,12 @@ and unembed_tactic_0 : let uu____1690 = FStar_Tactics_InterpFuns.embed FStar_Tactics_Embedding.e_proofstate rng proof_state - ncb in - FStar_Syntax_Syntax.as_arg uu____1690 in - [uu____1681] in - FStar_Syntax_Syntax.mk_Tm_app embedded_tac_b1 uu____1680 in - uu____1675 FStar_Pervasives_Native.None rng in + ncb + in + FStar_Syntax_Syntax.as_arg uu____1690 in + [uu____1681] in + FStar_Syntax_Syntax.mk_Tm_app embedded_tac_b1 uu____1680 in + uu____1675 FStar_Pervasives_Native.None rng in let steps = [FStar_TypeChecker_Env.Weak; FStar_TypeChecker_Env.Reify; @@ -1335,52 +1499,46 @@ and unembed_tactic_0 : FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.UnfoldTac; FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Unascribe] in + FStar_TypeChecker_Env.Unascribe] in let norm_f = - let uu____1731 = FStar_Options.tactics_nbe () in + let uu____1731 = FStar_Options.tactics_nbe () in if uu____1731 then FStar_TypeChecker_NBE.normalize else - FStar_TypeChecker_Normalize.normalize_with_primitive_steps in - if proof_state.FStar_Tactics_Types.tac_verb_dbg - then - (let uu____1754 = FStar_Syntax_Print.term_to_string tm in - FStar_Util.print1 "Starting normalizer with %s\n" uu____1754) - else (); - (let result = - let uu____1760 = primitive_steps () in - norm_f uu____1760 steps - proof_state.FStar_Tactics_Types.main_context tm in - if proof_state.FStar_Tactics_Types.tac_verb_dbg - then - (let uu____1765 = FStar_Syntax_Print.term_to_string result in - FStar_Util.print1 "Reduced tactic: got %s\n" uu____1765) - else (); - (let res = - let uu____1775 = FStar_Tactics_Embedding.e_result eb in - FStar_Tactics_InterpFuns.unembed uu____1775 result ncb in - match res with - | FStar_Pervasives_Native.Some (FStar_Tactics_Result.Success - (b, ps)) -> - let uu____1788 = FStar_Tactics_Basic.set ps in - FStar_Tactics_Basic.bind uu____1788 - (fun uu____1792 -> FStar_Tactics_Basic.ret b) - | FStar_Pervasives_Native.Some (FStar_Tactics_Result.Failed - (e, ps)) -> - let uu____1797 = FStar_Tactics_Basic.set ps in - FStar_Tactics_Basic.bind uu____1797 - (fun uu____1801 -> FStar_Tactics_Basic.traise e) - | FStar_Pervasives_Native.None -> - let uu____1804 = - let uu____1810 = - let uu____1812 = - FStar_Syntax_Print.term_to_string result in - FStar_Util.format1 - "Tactic got stuck! Please file a bug report with a minimal reproduction of this issue.\n%s" - uu____1812 in - (FStar_Errors.Fatal_TacticGotStuck, uu____1810) in - FStar_Errors.raise_error uu____1804 - (proof_state.FStar_Tactics_Types.main_context).FStar_TypeChecker_Env.range))) + FStar_TypeChecker_Normalize.normalize_with_primitive_steps + in + let result = + let uu____1753 = primitive_steps () in + norm_f uu____1753 steps + proof_state.FStar_Tactics_Types.main_context tm + in + let res = + let uu____1761 = FStar_Tactics_Embedding.e_result eb in + FStar_Tactics_InterpFuns.unembed uu____1761 result ncb in + match res with + | FStar_Pervasives_Native.Some (FStar_Tactics_Result.Success + (b,ps)) -> + let uu____1774 = FStar_Tactics_Basic.set ps in + FStar_Tactics_Basic.bind uu____1774 + (fun uu____1778 -> FStar_Tactics_Basic.ret b) + | FStar_Pervasives_Native.Some (FStar_Tactics_Result.Failed + (e,ps)) -> + let uu____1783 = FStar_Tactics_Basic.set ps in + FStar_Tactics_Basic.bind uu____1783 + (fun uu____1787 -> FStar_Tactics_Basic.traise e) + | FStar_Pervasives_Native.None -> + let uu____1790 = + let uu____1796 = + let uu____1798 = + FStar_Syntax_Print.term_to_string result in + FStar_Util.format1 + "Tactic got stuck! Please file a bug report with a minimal reproduction of this issue.\n%s" + uu____1798 + in + (FStar_Errors.Fatal_TacticGotStuck, uu____1796) in + FStar_Errors.raise_error uu____1790 + (proof_state.FStar_Tactics_Types.main_context).FStar_TypeChecker_Env.range) + and unembed_tactic_nbe_1 : 'Aa 'Ar . 'Aa FStar_TypeChecker_NBETerm.embedding -> @@ -1388,64 +1546,69 @@ and unembed_tactic_nbe_1 : FStar_TypeChecker_NBETerm.nbe_cbs -> FStar_TypeChecker_NBETerm.t -> 'Aa -> 'Ar FStar_Tactics_Basic.tac = - fun ea -> - fun er -> - fun cb -> - fun f -> - fun x -> - let x_tm = FStar_TypeChecker_NBETerm.embed ea cb x in + fun ea -> + fun er -> + fun cb -> + fun f -> + fun x -> + let x_tm = FStar_TypeChecker_NBETerm.embed ea cb x in let app = - let uu____1829 = - let uu____1830 = FStar_TypeChecker_NBETerm.as_arg x_tm in - [uu____1830] in - FStar_TypeChecker_NBETerm.iapp_cb cb f uu____1829 in + let uu____1815 = + let uu____1816 = FStar_TypeChecker_NBETerm.as_arg x_tm in + [uu____1816] in + FStar_TypeChecker_NBETerm.iapp_cb cb f uu____1815 in unembed_tactic_nbe_0 er cb app + and unembed_tactic_nbe_0 : 'Ab . 'Ab FStar_TypeChecker_NBETerm.embedding -> FStar_TypeChecker_NBETerm.nbe_cbs -> FStar_TypeChecker_NBETerm.t -> 'Ab FStar_Tactics_Basic.tac = - fun eb -> - fun cb -> - fun embedded_tac_b -> + fun eb -> + fun cb -> + fun embedded_tac_b -> FStar_Tactics_Basic.bind FStar_Tactics_Basic.get - (fun proof_state -> + (fun proof_state -> let result = - let uu____1856 = - let uu____1857 = - let uu____1862 = + let uu____1842 = + let uu____1843 = + let uu____1848 = FStar_TypeChecker_NBETerm.embed FStar_Tactics_Embedding.e_proofstate_nbe cb - proof_state in - FStar_TypeChecker_NBETerm.as_arg uu____1862 in - [uu____1857] in - FStar_TypeChecker_NBETerm.iapp_cb cb embedded_tac_b uu____1856 in + proof_state + in + FStar_TypeChecker_NBETerm.as_arg uu____1848 in + [uu____1843] in + FStar_TypeChecker_NBETerm.iapp_cb cb embedded_tac_b uu____1842 + in let res = - let uu____1876 = FStar_Tactics_Embedding.e_result_nbe eb in - FStar_TypeChecker_NBETerm.unembed uu____1876 cb result in + let uu____1862 = FStar_Tactics_Embedding.e_result_nbe eb in + FStar_TypeChecker_NBETerm.unembed uu____1862 cb result in match res with | FStar_Pervasives_Native.Some (FStar_Tactics_Result.Success - (b, ps)) -> - let uu____1889 = FStar_Tactics_Basic.set ps in - FStar_Tactics_Basic.bind uu____1889 - (fun uu____1893 -> FStar_Tactics_Basic.ret b) + (b,ps)) -> + let uu____1875 = FStar_Tactics_Basic.set ps in + FStar_Tactics_Basic.bind uu____1875 + (fun uu____1879 -> FStar_Tactics_Basic.ret b) | FStar_Pervasives_Native.Some (FStar_Tactics_Result.Failed - (e, ps)) -> - let uu____1898 = FStar_Tactics_Basic.set ps in - FStar_Tactics_Basic.bind uu____1898 - (fun uu____1902 -> FStar_Tactics_Basic.traise e) - | FStar_Pervasives_Native.None -> - let uu____1905 = - let uu____1911 = - let uu____1913 = - FStar_TypeChecker_NBETerm.t_to_string result in + (e,ps)) -> + let uu____1884 = FStar_Tactics_Basic.set ps in + FStar_Tactics_Basic.bind uu____1884 + (fun uu____1888 -> FStar_Tactics_Basic.traise e) + | FStar_Pervasives_Native.None -> + let uu____1891 = + let uu____1897 = + let uu____1899 = + FStar_TypeChecker_NBETerm.t_to_string result in FStar_Util.format1 "Tactic got stuck (in NBE)! Please file a bug report with a minimal reproduction of this issue.\n%s" - uu____1913 in - (FStar_Errors.Fatal_TacticGotStuck, uu____1911) in - FStar_Errors.raise_error uu____1905 + uu____1899 + in + (FStar_Errors.Fatal_TacticGotStuck, uu____1897) in + FStar_Errors.raise_error uu____1891 (proof_state.FStar_Tactics_Types.main_context).FStar_TypeChecker_Env.range) + and unembed_tactic_1_alt : 'Aa 'Ar . 'Aa FStar_Syntax_Embeddings.embedding -> @@ -1455,22 +1618,23 @@ and unembed_tactic_1_alt : ('Aa -> 'Ar FStar_Tactics_Basic.tac) FStar_Pervasives_Native.option = - fun ea -> - fun er -> - fun f -> - fun ncb -> + fun ea -> + fun er -> + fun f -> + fun ncb -> FStar_Pervasives_Native.Some - (fun x -> - let rng = FStar_Range.dummyRange in - let x_tm = FStar_Tactics_InterpFuns.embed ea rng x ncb in + (fun x -> + let rng = FStar_Range.dummyRange in + let x_tm = FStar_Tactics_InterpFuns.embed ea rng x ncb in let app = - let uu____1943 = - let uu____1948 = - let uu____1949 = FStar_Syntax_Syntax.as_arg x_tm in - [uu____1949] in - FStar_Syntax_Syntax.mk_Tm_app f uu____1948 in - uu____1943 FStar_Pervasives_Native.None rng in + let uu____1929 = + let uu____1934 = + let uu____1935 = FStar_Syntax_Syntax.as_arg x_tm in + [uu____1935] in + FStar_Syntax_Syntax.mk_Tm_app f uu____1934 in + uu____1929 FStar_Pervasives_Native.None rng in unembed_tactic_0 er app ncb) + and e_tactic_1_alt : 'Aa 'Ar . 'Aa FStar_Syntax_Embeddings.embedding -> @@ -1480,41 +1644,47 @@ and e_tactic_1_alt : 'Ar FStar_Tactics_Result.__result) FStar_Syntax_Embeddings.embedding = - fun ea -> - fun er -> - let em uu____2006 uu____2007 uu____2008 uu____2009 = - failwith "Impossible: embedding tactic (1)?" in + fun ea -> + fun er -> + let em uu____1992 uu____1993 uu____1994 uu____1995 = + failwith "Impossible: embedding tactic (1)?" in let un t0 w n1 = - let uu____2058 = unembed_tactic_1_alt ea er t0 n1 in - match uu____2058 with + let uu____2044 = unembed_tactic_1_alt ea er t0 n1 in + match uu____2044 with | FStar_Pervasives_Native.Some f -> FStar_Pervasives_Native.Some - ((fun x -> - let uu____2098 = f x in FStar_Tactics_Basic.run uu____2098)) - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in - let uu____2114 = - FStar_Syntax_Embeddings.term_as_fv FStar_Syntax_Syntax.t_unit in - FStar_Syntax_Embeddings.mk_emb em un uu____2114 + ((fun x -> + let uu____2084 = f x in FStar_Tactics_Basic.run uu____2084)) + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in + let uu____2100 = + FStar_Syntax_Embeddings.term_as_fv FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Embeddings.mk_emb em un uu____2100 + let (report_implicits : FStar_Range.range -> FStar_TypeChecker_Env.implicits -> unit) = - fun rng -> - fun is -> + fun rng -> + fun is -> let errs = FStar_List.map - (fun imp -> - let uu____2154 = - let uu____2156 = + (fun imp -> + let uu____2140 = + let uu____2142 = FStar_Syntax_Print.uvar_to_string - (imp.FStar_TypeChecker_Env.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_head in - let uu____2158 = + (imp.FStar_TypeChecker_Env.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_head + in + let uu____2144 = FStar_Syntax_Print.term_to_string - (imp.FStar_TypeChecker_Env.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_typ in + (imp.FStar_TypeChecker_Env.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_typ + in FStar_Util.format3 "Tactic left uninstantiated unification variable %s of type %s (reason = \"%s\")" - uu____2156 uu____2158 imp.FStar_TypeChecker_Env.imp_reason in + uu____2142 uu____2144 imp.FStar_TypeChecker_Env.imp_reason + in (FStar_Errors.Error_UninstantiatedUnificationVarInTactic, - uu____2154, rng)) is in + uu____2140, rng)) is + in FStar_Errors.add_errors errs; FStar_Errors.stop_if_err () + let (run_tactic_on_typ : FStar_Range.range -> FStar_Range.range -> @@ -1523,1083 +1693,1172 @@ let (run_tactic_on_typ : FStar_Syntax_Syntax.typ -> (FStar_Tactics_Types.goal Prims.list * FStar_Syntax_Syntax.term)) = - fun rng_tac -> - fun rng_goal -> - fun tactic -> - fun env -> - fun typ -> - (let uu____2202 = FStar_ST.op_Bang tacdbg in - if uu____2202 + fun rng_tac -> + fun rng_goal -> + fun tactic -> + fun env -> + fun typ -> + (let uu____2188 = FStar_ST.op_Bang tacdbg in + if uu____2188 then - let uu____2226 = FStar_Syntax_Print.term_to_string tactic in - FStar_Util.print1 "Typechecking tactic: (%s) {\n" uu____2226 + let uu____2212 = FStar_Syntax_Print.term_to_string tactic in + FStar_Util.print1 "Typechecking tactic: (%s) {\n" uu____2212 else ()); - (let uu____2231 = FStar_TypeChecker_TcTerm.tc_tactic env tactic in - match uu____2231 with - | (uu____2244, uu____2245, g) -> - ((let uu____2248 = FStar_ST.op_Bang tacdbg in - if uu____2248 then FStar_Util.print_string "}\n" else ()); + (let uu____2217 = FStar_TypeChecker_TcTerm.tc_tactic env tactic + in + match uu____2217 with + | (uu____2230,uu____2231,g) -> + ((let uu____2234 = FStar_ST.op_Bang tacdbg in + if uu____2234 then FStar_Util.print_string "}\n" else ()); FStar_TypeChecker_Rel.force_trivial_guard env g; FStar_Errors.stop_if_err (); (let tau = unembed_tactic_1 FStar_Syntax_Embeddings.e_unit FStar_Syntax_Embeddings.e_unit tactic - FStar_Syntax_Embeddings.id_norm_cb in - let uu____2284 = - FStar_TypeChecker_Env.clear_expected_typ env in - match uu____2284 with - | (env1, uu____2298) -> + FStar_Syntax_Embeddings.id_norm_cb + in + let uu____2270 = + FStar_TypeChecker_Env.clear_expected_typ env in + match uu____2270 with + | (env1,uu____2284) -> let env2 = - let uu___193_2304 = env1 in + let uu___189_2290 = env1 in { FStar_TypeChecker_Env.solver = - (uu___193_2304.FStar_TypeChecker_Env.solver); + (uu___189_2290.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___193_2304.FStar_TypeChecker_Env.range); + (uu___189_2290.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___193_2304.FStar_TypeChecker_Env.curmodule); + (uu___189_2290.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___193_2304.FStar_TypeChecker_Env.gamma); + (uu___189_2290.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___193_2304.FStar_TypeChecker_Env.gamma_sig); + (uu___189_2290.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___193_2304.FStar_TypeChecker_Env.gamma_cache); + (uu___189_2290.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___193_2304.FStar_TypeChecker_Env.modules); + (uu___189_2290.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___193_2304.FStar_TypeChecker_Env.expected_typ); + (uu___189_2290.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___193_2304.FStar_TypeChecker_Env.sigtab); + (uu___189_2290.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___193_2304.FStar_TypeChecker_Env.attrtab); + (uu___189_2290.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___193_2304.FStar_TypeChecker_Env.is_pattern); + (uu___189_2290.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = false; FStar_TypeChecker_Env.effects = - (uu___193_2304.FStar_TypeChecker_Env.effects); + (uu___189_2290.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___193_2304.FStar_TypeChecker_Env.generalize); + (uu___189_2290.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___193_2304.FStar_TypeChecker_Env.letrecs); + (uu___189_2290.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___193_2304.FStar_TypeChecker_Env.top_level); + (uu___189_2290.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___193_2304.FStar_TypeChecker_Env.check_uvars); + (uu___189_2290.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___193_2304.FStar_TypeChecker_Env.use_eq); + (uu___189_2290.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___193_2304.FStar_TypeChecker_Env.is_iface); + (uu___189_2290.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___193_2304.FStar_TypeChecker_Env.admit); + (uu___189_2290.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___193_2304.FStar_TypeChecker_Env.lax); + (uu___189_2290.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___193_2304.FStar_TypeChecker_Env.lax_universes); + (uu___189_2290.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___193_2304.FStar_TypeChecker_Env.phase1); + (uu___189_2290.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___193_2304.FStar_TypeChecker_Env.failhard); + (uu___189_2290.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___193_2304.FStar_TypeChecker_Env.nosynth); + (uu___189_2290.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___193_2304.FStar_TypeChecker_Env.uvar_subtyping); + (uu___189_2290.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___193_2304.FStar_TypeChecker_Env.tc_term); + (uu___189_2290.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___193_2304.FStar_TypeChecker_Env.type_of); + (uu___189_2290.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___193_2304.FStar_TypeChecker_Env.universe_of); + (uu___189_2290.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___193_2304.FStar_TypeChecker_Env.check_type_of); + (uu___189_2290.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___193_2304.FStar_TypeChecker_Env.use_bv_sorts); + (uu___189_2290.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___193_2304.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___189_2290.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___193_2304.FStar_TypeChecker_Env.normalized_eff_names); + (uu___189_2290.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___193_2304.FStar_TypeChecker_Env.fv_delta_depths); + (uu___189_2290.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___193_2304.FStar_TypeChecker_Env.proof_ns); + (uu___189_2290.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___193_2304.FStar_TypeChecker_Env.synth_hook); + (uu___189_2290.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___193_2304.FStar_TypeChecker_Env.splice); + (uu___189_2290.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___193_2304.FStar_TypeChecker_Env.postprocess); + (uu___189_2290.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___193_2304.FStar_TypeChecker_Env.is_native_tactic); + (uu___189_2290.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___193_2304.FStar_TypeChecker_Env.identifier_info); + (uu___189_2290.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___193_2304.FStar_TypeChecker_Env.tc_hooks); + (uu___189_2290.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___193_2304.FStar_TypeChecker_Env.dsenv); + (uu___189_2290.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___193_2304.FStar_TypeChecker_Env.nbe) - } in + (uu___189_2290.FStar_TypeChecker_Env.nbe) + } in let env3 = - let uu___196_2307 = env2 in + let uu___192_2293 = env2 in { FStar_TypeChecker_Env.solver = - (uu___196_2307.FStar_TypeChecker_Env.solver); + (uu___192_2293.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___196_2307.FStar_TypeChecker_Env.range); + (uu___192_2293.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___196_2307.FStar_TypeChecker_Env.curmodule); + (uu___192_2293.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___196_2307.FStar_TypeChecker_Env.gamma); + (uu___192_2293.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___196_2307.FStar_TypeChecker_Env.gamma_sig); + (uu___192_2293.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___196_2307.FStar_TypeChecker_Env.gamma_cache); + (uu___192_2293.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___196_2307.FStar_TypeChecker_Env.modules); + (uu___192_2293.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___196_2307.FStar_TypeChecker_Env.expected_typ); + (uu___192_2293.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___196_2307.FStar_TypeChecker_Env.sigtab); + (uu___192_2293.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___196_2307.FStar_TypeChecker_Env.attrtab); + (uu___192_2293.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___196_2307.FStar_TypeChecker_Env.is_pattern); + (uu___192_2293.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___196_2307.FStar_TypeChecker_Env.instantiate_imp); + (uu___192_2293.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___196_2307.FStar_TypeChecker_Env.effects); + (uu___192_2293.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___196_2307.FStar_TypeChecker_Env.generalize); + (uu___192_2293.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___196_2307.FStar_TypeChecker_Env.letrecs); + (uu___192_2293.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___196_2307.FStar_TypeChecker_Env.top_level); + (uu___192_2293.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___196_2307.FStar_TypeChecker_Env.check_uvars); + (uu___192_2293.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___196_2307.FStar_TypeChecker_Env.use_eq); + (uu___192_2293.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___196_2307.FStar_TypeChecker_Env.is_iface); + (uu___192_2293.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___196_2307.FStar_TypeChecker_Env.admit); + (uu___192_2293.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___196_2307.FStar_TypeChecker_Env.lax); + (uu___192_2293.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = true; FStar_TypeChecker_Env.phase1 = - (uu___196_2307.FStar_TypeChecker_Env.phase1); + (uu___192_2293.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___196_2307.FStar_TypeChecker_Env.failhard); + (uu___192_2293.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___196_2307.FStar_TypeChecker_Env.nosynth); + (uu___192_2293.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___196_2307.FStar_TypeChecker_Env.uvar_subtyping); + (uu___192_2293.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___196_2307.FStar_TypeChecker_Env.tc_term); + (uu___192_2293.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___196_2307.FStar_TypeChecker_Env.type_of); + (uu___192_2293.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___196_2307.FStar_TypeChecker_Env.universe_of); + (uu___192_2293.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___196_2307.FStar_TypeChecker_Env.check_type_of); + (uu___192_2293.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___196_2307.FStar_TypeChecker_Env.use_bv_sorts); + (uu___192_2293.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___196_2307.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___192_2293.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___196_2307.FStar_TypeChecker_Env.normalized_eff_names); + (uu___192_2293.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___196_2307.FStar_TypeChecker_Env.fv_delta_depths); + (uu___192_2293.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___196_2307.FStar_TypeChecker_Env.proof_ns); + (uu___192_2293.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___196_2307.FStar_TypeChecker_Env.synth_hook); + (uu___192_2293.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___196_2307.FStar_TypeChecker_Env.splice); + (uu___192_2293.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___196_2307.FStar_TypeChecker_Env.postprocess); + (uu___192_2293.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___196_2307.FStar_TypeChecker_Env.is_native_tactic); + (uu___192_2293.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___196_2307.FStar_TypeChecker_Env.identifier_info); + (uu___192_2293.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___196_2307.FStar_TypeChecker_Env.tc_hooks); + (uu___192_2293.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___196_2307.FStar_TypeChecker_Env.dsenv); + (uu___192_2293.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___196_2307.FStar_TypeChecker_Env.nbe) - } in + (uu___192_2293.FStar_TypeChecker_Env.nbe) + } in let env4 = - let uu___199_2310 = env3 in + let uu___195_2296 = env3 in { FStar_TypeChecker_Env.solver = - (uu___199_2310.FStar_TypeChecker_Env.solver); + (uu___195_2296.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___199_2310.FStar_TypeChecker_Env.range); + (uu___195_2296.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___199_2310.FStar_TypeChecker_Env.curmodule); + (uu___195_2296.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___199_2310.FStar_TypeChecker_Env.gamma); + (uu___195_2296.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___199_2310.FStar_TypeChecker_Env.gamma_sig); + (uu___195_2296.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___199_2310.FStar_TypeChecker_Env.gamma_cache); + (uu___195_2296.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___199_2310.FStar_TypeChecker_Env.modules); + (uu___195_2296.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___199_2310.FStar_TypeChecker_Env.expected_typ); + (uu___195_2296.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___199_2310.FStar_TypeChecker_Env.sigtab); + (uu___195_2296.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___199_2310.FStar_TypeChecker_Env.attrtab); + (uu___195_2296.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___199_2310.FStar_TypeChecker_Env.is_pattern); + (uu___195_2296.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___199_2310.FStar_TypeChecker_Env.instantiate_imp); + (uu___195_2296.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___199_2310.FStar_TypeChecker_Env.effects); + (uu___195_2296.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___199_2310.FStar_TypeChecker_Env.generalize); + (uu___195_2296.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___199_2310.FStar_TypeChecker_Env.letrecs); + (uu___195_2296.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___199_2310.FStar_TypeChecker_Env.top_level); + (uu___195_2296.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___199_2310.FStar_TypeChecker_Env.check_uvars); + (uu___195_2296.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___199_2310.FStar_TypeChecker_Env.use_eq); + (uu___195_2296.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___199_2310.FStar_TypeChecker_Env.is_iface); + (uu___195_2296.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___199_2310.FStar_TypeChecker_Env.admit); + (uu___195_2296.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___199_2310.FStar_TypeChecker_Env.lax); + (uu___195_2296.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___199_2310.FStar_TypeChecker_Env.lax_universes); + (uu___195_2296.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___199_2310.FStar_TypeChecker_Env.phase1); + (uu___195_2296.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = true; FStar_TypeChecker_Env.nosynth = - (uu___199_2310.FStar_TypeChecker_Env.nosynth); + (uu___195_2296.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___199_2310.FStar_TypeChecker_Env.uvar_subtyping); + (uu___195_2296.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___199_2310.FStar_TypeChecker_Env.tc_term); + (uu___195_2296.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___199_2310.FStar_TypeChecker_Env.type_of); + (uu___195_2296.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___199_2310.FStar_TypeChecker_Env.universe_of); + (uu___195_2296.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___199_2310.FStar_TypeChecker_Env.check_type_of); + (uu___195_2296.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___199_2310.FStar_TypeChecker_Env.use_bv_sorts); + (uu___195_2296.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___199_2310.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___195_2296.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___199_2310.FStar_TypeChecker_Env.normalized_eff_names); + (uu___195_2296.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___199_2310.FStar_TypeChecker_Env.fv_delta_depths); + (uu___195_2296.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___199_2310.FStar_TypeChecker_Env.proof_ns); + (uu___195_2296.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___199_2310.FStar_TypeChecker_Env.synth_hook); + (uu___195_2296.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___199_2310.FStar_TypeChecker_Env.splice); + (uu___195_2296.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___199_2310.FStar_TypeChecker_Env.postprocess); + (uu___195_2296.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___199_2310.FStar_TypeChecker_Env.is_native_tactic); + (uu___195_2296.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___199_2310.FStar_TypeChecker_Env.identifier_info); + (uu___195_2296.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___199_2310.FStar_TypeChecker_Env.tc_hooks); + (uu___195_2296.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___199_2310.FStar_TypeChecker_Env.dsenv); + (uu___195_2296.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___199_2310.FStar_TypeChecker_Env.nbe) - } in + (uu___195_2296.FStar_TypeChecker_Env.nbe) + } in let rng = - let uu____2313 = FStar_Range.use_range rng_goal in - let uu____2314 = FStar_Range.use_range rng_tac in - FStar_Range.range_of_rng uu____2313 uu____2314 in - let uu____2315 = + let uu____2299 = FStar_Range.use_range rng_goal in + let uu____2300 = FStar_Range.use_range rng_tac in + FStar_Range.range_of_rng uu____2299 uu____2300 in + let uu____2301 = FStar_Tactics_Basic.proofstate_of_goal_ty rng env4 - typ in - (match uu____2315 with - | (ps, w) -> + typ + in + (match uu____2301 with + | (ps,w) -> (FStar_ST.op_Colon_Equals FStar_Reflection_Basic.env_hook (FStar_Pervasives_Native.Some env4); - (let uu____2353 = FStar_ST.op_Bang tacdbg in - if uu____2353 + (let uu____2339 = FStar_ST.op_Bang tacdbg in + if uu____2339 then - let uu____2377 = - FStar_Syntax_Print.term_to_string typ in + let uu____2363 = + FStar_Syntax_Print.term_to_string typ in FStar_Util.print1 "Running tactic with goal = (%s) {\n" - uu____2377 + uu____2363 else ()); - (let uu____2382 = + (let uu____2368 = FStar_Util.record_time - (fun uu____2394 -> - let uu____2395 = tau () in - FStar_Tactics_Basic.run_safe uu____2395 - ps) in - match uu____2382 with - | (res, ms) -> - ((let uu____2413 = FStar_ST.op_Bang tacdbg in - if uu____2413 + (fun uu____2380 -> + let uu____2381 = tau () in + FStar_Tactics_Basic.run_safe uu____2381 + ps) + in + match uu____2368 with + | (res,ms) -> + ((let uu____2399 = FStar_ST.op_Bang tacdbg + in + if uu____2399 then FStar_Util.print_string "}\n" else ()); - (let uu____2441 = + (let uu____2427 = (FStar_ST.op_Bang tacdbg) || - (FStar_Options.tactics_info ()) in - if uu____2441 + (FStar_Options.tactics_info ()) + in + if uu____2427 then - let uu____2465 = + let uu____2451 = FStar_Syntax_Print.term_to_string - tactic in - let uu____2467 = - FStar_Util.string_of_int ms in - let uu____2469 = + tactic + in + let uu____2453 = + FStar_Util.string_of_int ms in + let uu____2455 = FStar_Syntax_Print.lid_to_string - env4.FStar_TypeChecker_Env.curmodule in + env4.FStar_TypeChecker_Env.curmodule + in FStar_Util.print3 "Tactic %s ran in %s ms (%s)\n" - uu____2465 uu____2467 uu____2469 + uu____2451 uu____2453 uu____2455 else ()); (match res with | FStar_Tactics_Result.Success - (uu____2480, ps1) -> - ((let uu____2483 = - FStar_ST.op_Bang tacdbg in - if uu____2483 + (uu____2466,ps1) -> + ((let uu____2469 = + FStar_ST.op_Bang tacdbg in + if uu____2469 then - let uu____2507 = + let uu____2493 = FStar_Syntax_Print.term_to_string - w in + w + in FStar_Util.print1 "Tactic generated proofterm %s\n" - uu____2507 + uu____2493 else ()); FStar_List.iter - (fun g1 -> - let uu____2517 = + (fun g1 -> + let uu____2503 = FStar_Tactics_Basic.is_irrelevant - g1 in - if uu____2517 + g1 + in + if uu____2503 then - let uu____2520 = - let uu____2522 = + let uu____2506 = + let uu____2508 = FStar_Tactics_Types.goal_env - g1 in - let uu____2523 = + g1 + in + let uu____2509 = FStar_Tactics_Types.goal_witness - g1 in + g1 + in FStar_TypeChecker_Rel.teq_nosmt_force - uu____2522 uu____2523 - FStar_Syntax_Util.exp_unit in - (if uu____2520 + uu____2508 uu____2509 + FStar_Syntax_Util.exp_unit + in + (if uu____2506 then () else - (let uu____2527 = - let uu____2529 = - let uu____2531 = + (let uu____2513 = + let uu____2515 = + let uu____2517 = FStar_Tactics_Types.goal_witness - g1 in + g1 + in FStar_Syntax_Print.term_to_string - uu____2531 in + uu____2517 + in FStar_Util.format1 "Irrelevant tactic witness does not unify with (): %s" - uu____2529 in - failwith uu____2527)) + uu____2515 + in + failwith uu____2513)) else ()) (FStar_List.append ps1.FStar_Tactics_Types.goals ps1.FStar_Tactics_Types.smt_goals); - (let uu____2536 = - FStar_ST.op_Bang tacdbg in - if uu____2536 + (let uu____2522 = + FStar_ST.op_Bang tacdbg in + if uu____2522 then - let uu____2560 = + let uu____2546 = FStar_Common.string_of_list - (fun imp -> + (fun imp -> FStar_Syntax_Print.ctx_uvar_to_string imp.FStar_TypeChecker_Env.imp_uvar) - ps1.FStar_Tactics_Types.all_implicits in + ps1.FStar_Tactics_Types.all_implicits + in FStar_Util.print1 "About to check tactic implicits: %s\n" - uu____2560 + uu____2546 else ()); (let g1 = - let uu___230_2568 = - FStar_TypeChecker_Env.trivial_guard in + let uu___226_2554 = + FStar_TypeChecker_Env.trivial_guard + in { FStar_TypeChecker_Env.guard_f = - (uu___230_2568.FStar_TypeChecker_Env.guard_f); + (uu___226_2554.FStar_TypeChecker_Env.guard_f); FStar_TypeChecker_Env.deferred = - (uu___230_2568.FStar_TypeChecker_Env.deferred); + (uu___226_2554.FStar_TypeChecker_Env.deferred); FStar_TypeChecker_Env.univ_ineqs = - (uu___230_2568.FStar_TypeChecker_Env.univ_ineqs); + (uu___226_2554.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = (ps1.FStar_Tactics_Types.all_implicits) - } in + } in let g2 = FStar_TypeChecker_Rel.solve_deferred_constraints - env4 g1 in - (let uu____2571 = - FStar_ST.op_Bang tacdbg in - if uu____2571 + env4 g1 + in + (let uu____2557 = + FStar_ST.op_Bang tacdbg in + if uu____2557 then - let uu____2595 = + let uu____2581 = FStar_Util.string_of_int (FStar_List.length - ps1.FStar_Tactics_Types.all_implicits) in - let uu____2597 = + ps1.FStar_Tactics_Types.all_implicits) + in + let uu____2583 = FStar_Common.string_of_list - (fun imp -> + (fun imp -> FStar_Syntax_Print.ctx_uvar_to_string imp.FStar_TypeChecker_Env.imp_uvar) - ps1.FStar_Tactics_Types.all_implicits in + ps1.FStar_Tactics_Types.all_implicits + in FStar_Util.print2 "Checked %s implicits (1): %s\n" - uu____2595 uu____2597 + uu____2581 uu____2583 else ()); (let g3 = FStar_TypeChecker_Rel.resolve_implicits_tac - env4 g2 in - (let uu____2606 = - FStar_ST.op_Bang tacdbg in - if uu____2606 + env4 g2 + in + (let uu____2592 = + FStar_ST.op_Bang tacdbg in + if uu____2592 then - let uu____2630 = + let uu____2616 = FStar_Util.string_of_int (FStar_List.length - ps1.FStar_Tactics_Types.all_implicits) in - let uu____2632 = + ps1.FStar_Tactics_Types.all_implicits) + in + let uu____2618 = FStar_Common.string_of_list - (fun imp -> + (fun imp -> FStar_Syntax_Print.ctx_uvar_to_string imp.FStar_TypeChecker_Env.imp_uvar) - ps1.FStar_Tactics_Types.all_implicits in + ps1.FStar_Tactics_Types.all_implicits + in FStar_Util.print2 "Checked %s implicits (2): %s\n" - uu____2630 uu____2632 + uu____2616 uu____2618 else ()); report_implicits rng_goal g3.FStar_TypeChecker_Env.implicits; - (let uu____2641 = - FStar_ST.op_Bang tacdbg in - if uu____2641 + (let uu____2627 = + FStar_ST.op_Bang tacdbg in + if uu____2627 then - let uu____2665 = - let uu____2666 = + let uu____2651 = + let uu____2652 = FStar_TypeChecker_Cfg.psc_subst - ps1.FStar_Tactics_Types.psc in + ps1.FStar_Tactics_Types.psc + in FStar_Tactics_Types.subst_proof_state - uu____2666 ps1 in + uu____2652 ps1 + in FStar_Tactics_Basic.dump_proofstate - uu____2665 + uu____2651 "at the finish line" else ()); ((FStar_List.append ps1.FStar_Tactics_Types.goals ps1.FStar_Tactics_Types.smt_goals), w)))) - | FStar_Tactics_Result.Failed (e, ps1) -> - ((let uu____2675 = - let uu____2676 = + | FStar_Tactics_Result.Failed (e,ps1) -> + ((let uu____2661 = + let uu____2662 = FStar_TypeChecker_Cfg.psc_subst - ps1.FStar_Tactics_Types.psc in + ps1.FStar_Tactics_Types.psc + in FStar_Tactics_Types.subst_proof_state - uu____2676 ps1 in + uu____2662 ps1 + in FStar_Tactics_Basic.dump_proofstate - uu____2675 + uu____2661 "at the time of failure"); (let texn_to_string e1 = match e1 with | FStar_Tactics_Types.TacticFailure s -> s | FStar_Tactics_Types.EExn t -> - let uu____2689 = + let uu____2675 = FStar_Syntax_Print.term_to_string - t in + t + in Prims.op_Hat "uncaught exception: " - uu____2689 - | e2 -> FStar_Exn.raise e2 in - let uu____2694 = - let uu____2700 = - let uu____2702 = - texn_to_string e in + uu____2675 + | e2 -> FStar_Exn.raise e2 in + let uu____2680 = + let uu____2686 = + let uu____2688 = + texn_to_string e in FStar_Util.format1 "user tactic failed: %s" - uu____2702 in + uu____2688 + in (FStar_Errors.Fatal_UserTacticFailure, - uu____2700) in - FStar_Errors.raise_error uu____2694 + uu____2686) + in + FStar_Errors.raise_error uu____2680 ps1.FStar_Tactics_Types.entry_range)))))))))) + type pol = | Pos | Neg | Both let (uu___is_Pos : pol -> Prims.bool) = - fun projectee -> match projectee with | Pos -> true | uu____2721 -> false + fun projectee -> match projectee with | Pos -> true | uu____2707 -> false let (uu___is_Neg : pol -> Prims.bool) = - fun projectee -> match projectee with | Neg -> true | uu____2732 -> false + fun projectee -> match projectee with | Neg -> true | uu____2718 -> false let (uu___is_Both : pol -> Prims.bool) = - fun projectee -> match projectee with | Both -> true | uu____2743 -> false + fun projectee -> + match projectee with | Both -> true | uu____2729 -> false + type 'a tres_m = | Unchanged of 'a | Simplified of ('a * FStar_Tactics_Types.goal Prims.list) | Dual of ('a * 'a * FStar_Tactics_Types.goal Prims.list) let uu___is_Unchanged : 'a . 'a tres_m -> Prims.bool = - fun projectee -> - match projectee with | Unchanged _0 -> true | uu____2802 -> false + fun projectee -> + match projectee with | Unchanged _0 -> true | uu____2788 -> false + let __proj__Unchanged__item___0 : 'a . 'a tres_m -> 'a = - fun projectee -> match projectee with | Unchanged _0 -> _0 + fun projectee -> match projectee with | Unchanged _0 -> _0 let uu___is_Simplified : 'a . 'a tres_m -> Prims.bool = - fun projectee -> - match projectee with | Simplified _0 -> true | uu____2846 -> false + fun projectee -> + match projectee with | Simplified _0 -> true | uu____2832 -> false + let __proj__Simplified__item___0 : 'a . 'a tres_m -> ('a * FStar_Tactics_Types.goal Prims.list) = - fun projectee -> match projectee with | Simplified _0 -> _0 + fun projectee -> match projectee with | Simplified _0 -> _0 let uu___is_Dual : 'a . 'a tres_m -> Prims.bool = - fun projectee -> - match projectee with | Dual _0 -> true | uu____2904 -> false + fun projectee -> + match projectee with | Dual _0 -> true | uu____2890 -> false + let __proj__Dual__item___0 : 'a . 'a tres_m -> ('a * 'a * FStar_Tactics_Types.goal Prims.list) = - fun projectee -> match projectee with | Dual _0 -> _0 + fun projectee -> match projectee with | Dual _0 -> _0 type tres = FStar_Syntax_Syntax.term tres_m -let tpure : 'Auu____2947 . 'Auu____2947 -> 'Auu____2947 tres_m = - fun x -> Unchanged x +let tpure : 'Auu____2933 . 'Auu____2933 -> 'Auu____2933 tres_m = + fun x -> Unchanged x let (flip : pol -> pol) = - fun p -> match p with | Pos -> Neg | Neg -> Pos | Both -> Both + fun p -> match p with | Pos -> Neg | Neg -> Pos | Both -> Both let (by_tactic_interp : pol -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> tres) = - fun pol -> - fun e -> - fun t -> - let uu____2977 = FStar_Syntax_Util.head_and_args t in - match uu____2977 with - | (hd1, args) -> - let uu____3020 = - let uu____3035 = - let uu____3036 = FStar_Syntax_Util.un_uinst hd1 in - uu____3036.FStar_Syntax_Syntax.n in - (uu____3035, args) in - (match uu____3020 with - | (FStar_Syntax_Syntax.Tm_fvar fv, - (rett, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____3051))::(tactic, - FStar_Pervasives_Native.None):: - (assertion, FStar_Pervasives_Native.None)::[]) when + fun pol -> + fun e -> + fun t -> + let uu____2963 = FStar_Syntax_Util.head_and_args t in + match uu____2963 with + | (hd1,args) -> + let uu____3006 = + let uu____3021 = + let uu____3022 = FStar_Syntax_Util.un_uinst hd1 in + uu____3022.FStar_Syntax_Syntax.n in + (uu____3021, args) in + (match uu____3006 with + | (FStar_Syntax_Syntax.Tm_fvar + fv,(tactic,FStar_Pervasives_Native.None )::(assertion,FStar_Pervasives_Native.None + )::[]) + when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.by_tactic_lid -> (match pol with - | Pos -> - let uu____3115 = + | Pos -> + let uu____3084 = run_tactic_on_typ tactic.FStar_Syntax_Syntax.pos assertion.FStar_Syntax_Syntax.pos tactic e - assertion in - (match uu____3115 with - | (gs, uu____3123) -> + assertion + in + (match uu____3084 with + | (gs,uu____3092) -> Simplified (FStar_Syntax_Util.t_true, gs)) - | Both -> - let uu____3130 = + | Both -> + let uu____3099 = run_tactic_on_typ tactic.FStar_Syntax_Syntax.pos assertion.FStar_Syntax_Syntax.pos tactic e - assertion in - (match uu____3130 with - | (gs, uu____3138) -> + assertion + in + (match uu____3099 with + | (gs,uu____3107) -> Dual (assertion, FStar_Syntax_Util.t_true, gs)) - | Neg -> Simplified (assertion, [])) - | (FStar_Syntax_Syntax.Tm_fvar fv, - (assertion, FStar_Pervasives_Native.None)::[]) when + | Neg -> Simplified (assertion, [])) + | (FStar_Syntax_Syntax.Tm_fvar + fv,(assertion,FStar_Pervasives_Native.None )::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.spinoff_lid -> (match pol with - | Pos -> - let uu____3181 = - let uu____3188 = - let uu____3191 = - let uu____3192 = - FStar_Tactics_Basic.goal_of_goal_ty e assertion in + | Pos -> + let uu____3150 = + let uu____3157 = + let uu____3160 = + let uu____3161 = + FStar_Tactics_Basic.goal_of_goal_ty e assertion + in FStar_All.pipe_left FStar_Pervasives_Native.fst - uu____3192 in - [uu____3191] in - (FStar_Syntax_Util.t_true, uu____3188) in - Simplified uu____3181 - | Both -> - let uu____3203 = - let uu____3212 = - let uu____3215 = - let uu____3216 = - FStar_Tactics_Basic.goal_of_goal_ty e assertion in + uu____3161 + in + [uu____3160] in + (FStar_Syntax_Util.t_true, uu____3157) in + Simplified uu____3150 + | Both -> + let uu____3172 = + let uu____3181 = + let uu____3184 = + let uu____3185 = + FStar_Tactics_Basic.goal_of_goal_ty e assertion + in FStar_All.pipe_left FStar_Pervasives_Native.fst - uu____3216 in - [uu____3215] in - (assertion, FStar_Syntax_Util.t_true, uu____3212) in - Dual uu____3203 - | Neg -> Simplified (assertion, [])) - | uu____3229 -> Unchanged t) + uu____3185 + in + [uu____3184] in + (assertion, FStar_Syntax_Util.t_true, uu____3181) in + Dual uu____3172 + | Neg -> Simplified (assertion, [])) + | uu____3198 -> Unchanged t) + let explode : 'a . 'a tres_m -> ('a * 'a * FStar_Tactics_Types.goal Prims.list) = - fun t -> + fun t -> match t with | Unchanged t1 -> (t1, t1, []) - | Simplified (t1, gs) -> (t1, t1, gs) - | Dual (tn, tp, gs) -> (tn, tp, gs) + | Simplified (t1,gs) -> (t1, t1, gs) + | Dual (tn,tp,gs) -> (tn, tp, gs) + let comb1 : 'a 'b . ('a -> 'b) -> 'a tres_m -> 'b tres_m = - fun f -> - fun uu___0_3321 -> - match uu___0_3321 with - | Unchanged t -> let uu____3327 = f t in Unchanged uu____3327 - | Simplified (t, gs) -> - let uu____3334 = let uu____3341 = f t in (uu____3341, gs) in - Simplified uu____3334 - | Dual (tn, tp, gs) -> - let uu____3351 = - let uu____3360 = f tn in - let uu____3361 = f tp in (uu____3360, uu____3361, gs) in - Dual uu____3351 + fun f -> + fun uu___0_3290 -> + match uu___0_3290 with + | Unchanged t -> let uu____3296 = f t in Unchanged uu____3296 + | Simplified (t,gs) -> + let uu____3303 = let uu____3310 = f t in (uu____3310, gs) in + Simplified uu____3303 + | Dual (tn,tp,gs) -> + let uu____3320 = + let uu____3329 = f tn in + let uu____3330 = f tp in (uu____3329, uu____3330, gs) in + Dual uu____3320 + let comb2 : 'a 'b 'c . ('a -> 'b -> 'c) -> 'a tres_m -> 'b tres_m -> 'c tres_m = - fun f -> - fun x -> - fun y -> + fun f -> + fun x -> + fun y -> match (x, y) with - | (Unchanged t1, Unchanged t2) -> - let uu____3425 = f t1 t2 in Unchanged uu____3425 - | (Unchanged t1, Simplified (t2, gs)) -> - let uu____3437 = let uu____3444 = f t1 t2 in (uu____3444, gs) in - Simplified uu____3437 - | (Simplified (t1, gs), Unchanged t2) -> - let uu____3458 = let uu____3465 = f t1 t2 in (uu____3465, gs) in - Simplified uu____3458 - | (Simplified (t1, gs1), Simplified (t2, gs2)) -> - let uu____3484 = - let uu____3491 = f t1 t2 in - (uu____3491, (FStar_List.append gs1 gs2)) in - Simplified uu____3484 - | uu____3494 -> - let uu____3503 = explode x in - (match uu____3503 with - | (n1, p1, gs1) -> - let uu____3521 = explode y in - (match uu____3521 with - | (n2, p2, gs2) -> - let uu____3539 = - let uu____3548 = f n1 n2 in - let uu____3549 = f p1 p2 in - (uu____3548, uu____3549, (FStar_List.append gs1 gs2)) in - Dual uu____3539)) + | (Unchanged t1,Unchanged t2) -> + let uu____3394 = f t1 t2 in Unchanged uu____3394 + | (Unchanged t1,Simplified (t2,gs)) -> + let uu____3406 = let uu____3413 = f t1 t2 in (uu____3413, gs) + in + Simplified uu____3406 + | (Simplified (t1,gs),Unchanged t2) -> + let uu____3427 = let uu____3434 = f t1 t2 in (uu____3434, gs) + in + Simplified uu____3427 + | (Simplified (t1,gs1),Simplified (t2,gs2)) -> + let uu____3453 = + let uu____3460 = f t1 t2 in + (uu____3460, (FStar_List.append gs1 gs2)) in + Simplified uu____3453 + | uu____3463 -> + let uu____3472 = explode x in + (match uu____3472 with + | (n1,p1,gs1) -> + let uu____3490 = explode y in + (match uu____3490 with + | (n2,p2,gs2) -> + let uu____3508 = + let uu____3517 = f n1 n2 in + let uu____3518 = f p1 p2 in + (uu____3517, uu____3518, (FStar_List.append gs1 gs2)) + in + Dual uu____3508)) + let comb_list : 'a . 'a tres_m Prims.list -> 'a Prims.list tres_m = - fun rs -> + fun rs -> let rec aux rs1 acc = match rs1 with | [] -> acc | hd1::tl1 -> - let uu____3622 = comb2 (fun l -> fun r -> l :: r) hd1 acc in - aux tl1 uu____3622 in + let uu____3591 = comb2 (fun l -> fun r -> l :: r) hd1 acc in + aux tl1 uu____3591 + in aux (FStar_List.rev rs) (tpure []) + let emit : 'a . FStar_Tactics_Types.goal Prims.list -> 'a tres_m -> 'a tres_m = - fun gs -> - fun m -> comb2 (fun uu____3671 -> fun x -> x) (Simplified ((), gs)) m + fun gs -> + fun m -> comb2 (fun uu____3640 -> fun x -> x) (Simplified ((), gs)) m + let rec (traverse : (pol -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> tres) -> pol -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> tres) = - fun f -> - fun pol -> - fun e -> - fun t -> + fun f -> + fun pol -> + fun e -> + fun t -> let r = - let uu____3714 = - let uu____3715 = FStar_Syntax_Subst.compress t in - uu____3715.FStar_Syntax_Syntax.n in - match uu____3714 with - | FStar_Syntax_Syntax.Tm_uinst (t1, us) -> - let tr = traverse f pol e t1 in - let uu____3727 = - comb1 (fun t' -> FStar_Syntax_Syntax.Tm_uinst (t', us)) in - uu____3727 tr - | FStar_Syntax_Syntax.Tm_meta (t1, m) -> - let tr = traverse f pol e t1 in - let uu____3753 = - comb1 (fun t' -> FStar_Syntax_Syntax.Tm_meta (t', m)) in - uu____3753 tr + let uu____3683 = + let uu____3684 = FStar_Syntax_Subst.compress t in + uu____3684.FStar_Syntax_Syntax.n in + match uu____3683 with + | FStar_Syntax_Syntax.Tm_uinst (t1,us) -> + let tr = traverse f pol e t1 in + let uu____3696 = + comb1 (fun t' -> FStar_Syntax_Syntax.Tm_uinst (t', us)) + in + uu____3696 tr + | FStar_Syntax_Syntax.Tm_meta (t1,m) -> + let tr = traverse f pol e t1 in + let uu____3722 = + comb1 (fun t' -> FStar_Syntax_Syntax.Tm_meta (t', m)) in + uu____3722 tr | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____3773; - FStar_Syntax_Syntax.vars = uu____3774;_}, - (p, uu____3776)::(q, uu____3778)::[]) + FStar_Syntax_Syntax.pos = uu____3742; + FStar_Syntax_Syntax.vars = uu____3743;_},(p,uu____3745):: + (q,uu____3747)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.imp_lid -> let x = - FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None p in - let r1 = traverse f (flip pol) e p in + FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None p + in + let r1 = traverse f (flip pol) e p in let r2 = - let uu____3836 = FStar_TypeChecker_Env.push_bv e x in - traverse f pol uu____3836 q in + let uu____3805 = FStar_TypeChecker_Env.push_bv e x in + traverse f pol uu____3805 q in comb2 - (fun l -> - fun r -> - let uu____3850 = FStar_Syntax_Util.mk_imp l r in - uu____3850.FStar_Syntax_Syntax.n) r1 r2 + (fun l -> + fun r -> + let uu____3819 = FStar_Syntax_Util.mk_imp l r in + uu____3819.FStar_Syntax_Syntax.n) r1 r2 | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____3854; - FStar_Syntax_Syntax.vars = uu____3855;_}, - (p, uu____3857)::(q, uu____3859)::[]) + FStar_Syntax_Syntax.pos = uu____3823; + FStar_Syntax_Syntax.vars = uu____3824;_},(p,uu____3826):: + (q,uu____3828)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.iff_lid -> let xp = - FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None p in + FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None p + in let xq = - FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None q in + FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None q + in let r1 = - let uu____3917 = FStar_TypeChecker_Env.push_bv e xq in - traverse f Both uu____3917 p in + let uu____3886 = FStar_TypeChecker_Env.push_bv e xq in + traverse f Both uu____3886 p in let r2 = - let uu____3919 = FStar_TypeChecker_Env.push_bv e xp in - traverse f Both uu____3919 q in + let uu____3888 = FStar_TypeChecker_Env.push_bv e xp in + traverse f Both uu____3888 q in (match (r1, r2) with - | (Unchanged uu____3926, Unchanged uu____3927) -> + | (Unchanged uu____3895,Unchanged uu____3896) -> comb2 - (fun l -> - fun r -> - let uu____3945 = FStar_Syntax_Util.mk_iff l r in - uu____3945.FStar_Syntax_Syntax.n) r1 r2 - | uu____3948 -> - let uu____3957 = explode r1 in - (match uu____3957 with - | (pn, pp, gs1) -> - let uu____3975 = explode r2 in - (match uu____3975 with - | (qn, qp, gs2) -> + (fun l -> + fun r -> + let uu____3914 = FStar_Syntax_Util.mk_iff l r in + uu____3914.FStar_Syntax_Syntax.n) r1 r2 + | uu____3917 -> + let uu____3926 = explode r1 in + (match uu____3926 with + | (pn,pp,gs1) -> + let uu____3944 = explode r2 in + (match uu____3944 with + | (qn,qp,gs2) -> let t1 = - let uu____3996 = - FStar_Syntax_Util.mk_imp pn qp in - let uu____3999 = - FStar_Syntax_Util.mk_imp qn pp in - FStar_Syntax_Util.mk_conj uu____3996 - uu____3999 in + let uu____3965 = + FStar_Syntax_Util.mk_imp pn qp in + let uu____3968 = + FStar_Syntax_Util.mk_imp qn pp in + FStar_Syntax_Util.mk_conj uu____3965 + uu____3968 + in Simplified ((t1.FStar_Syntax_Syntax.n), (FStar_List.append gs1 gs2))))) - | FStar_Syntax_Syntax.Tm_app (hd1, args) -> - let r0 = traverse f pol e hd1 in + | FStar_Syntax_Syntax.Tm_app (hd1,args) -> + let r0 = traverse f pol e hd1 in let r1 = FStar_List.fold_right - (fun uu____4063 -> - fun r -> - match uu____4063 with - | (a, q) -> - let r' = traverse f pol e a in - comb2 (fun a1 -> fun args1 -> (a1, q) :: args1) - r' r) args (tpure []) in + (fun uu____4032 -> + fun r -> + match uu____4032 with + | (a,q) -> + let r' = traverse f pol e a in + comb2 + (fun a1 -> fun args1 -> (a1, q) :: args1) r' + r) args (tpure []) + in comb2 - (fun hd2 -> - fun args1 -> FStar_Syntax_Syntax.Tm_app (hd2, args1)) r0 - r1 - | FStar_Syntax_Syntax.Tm_abs (bs, t1, k) -> - let uu____4215 = FStar_Syntax_Subst.open_term bs t1 in - (match uu____4215 with - | (bs1, topen) -> - let e' = FStar_TypeChecker_Env.push_binders e bs1 in + (fun hd2 -> + fun args1 -> FStar_Syntax_Syntax.Tm_app (hd2, args1)) + r0 r1 + | FStar_Syntax_Syntax.Tm_abs (bs,t1,k) -> + let uu____4184 = FStar_Syntax_Subst.open_term bs t1 in + (match uu____4184 with + | (bs1,topen) -> + let e' = FStar_TypeChecker_Env.push_binders e bs1 in let r0 = FStar_List.map - (fun uu____4255 -> - match uu____4255 with - | (bv, aq) -> + (fun uu____4224 -> + match uu____4224 with + | (bv,aq) -> let r = traverse f (flip pol) e - bv.FStar_Syntax_Syntax.sort in - let uu____4277 = + bv.FStar_Syntax_Syntax.sort + in + let uu____4246 = comb1 - (fun s' -> - ((let uu___493_4309 = bv in + (fun s' -> + ((let uu___484_4278 = bv in { FStar_Syntax_Syntax.ppname = - (uu___493_4309.FStar_Syntax_Syntax.ppname); + (uu___484_4278.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___493_4309.FStar_Syntax_Syntax.index); + (uu___484_4278.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = s' - }), aq)) in - uu____4277 r) bs1 in - let rbs = comb_list r0 in - let rt = traverse f pol e' topen in + }), aq)) + in + uu____4246 r) bs1 + in + let rbs = comb_list r0 in + let rt = traverse f pol e' topen in comb2 - (fun bs2 -> - fun t2 -> - let uu____4337 = FStar_Syntax_Util.abs bs2 t2 k in - uu____4337.FStar_Syntax_Syntax.n) rbs rt) - | FStar_Syntax_Syntax.Tm_ascribed (t1, asc, ef) -> - let uu____4383 = traverse f pol e t1 in - let uu____4388 = + (fun bs2 -> + fun t2 -> + let uu____4306 = FStar_Syntax_Util.abs bs2 t2 k + in + uu____4306.FStar_Syntax_Syntax.n) rbs rt) + | FStar_Syntax_Syntax.Tm_ascribed (t1,asc,ef) -> + let uu____4352 = traverse f pol e t1 in + let uu____4357 = comb1 - (fun t2 -> FStar_Syntax_Syntax.Tm_ascribed (t2, asc, ef)) in - uu____4388 uu____4383 - | FStar_Syntax_Syntax.Tm_match (sc, brs) -> - let uu____4463 = traverse f pol e sc in - let uu____4468 = - let uu____4487 = + (fun t2 -> FStar_Syntax_Syntax.Tm_ascribed (t2, asc, ef)) + in + uu____4357 uu____4352 + | FStar_Syntax_Syntax.Tm_match (sc,brs) -> + let uu____4432 = traverse f pol e sc in + let uu____4437 = + let uu____4456 = FStar_List.map - (fun br -> - let uu____4504 = FStar_Syntax_Subst.open_branch br in - match uu____4504 with - | (pat, w, exp) -> - let bvs = FStar_Syntax_Syntax.pat_bvs pat in - let e1 = FStar_TypeChecker_Env.push_bvs e bvs in - let r = traverse f pol e1 exp in - let uu____4531 = + (fun br -> + let uu____4473 = FStar_Syntax_Subst.open_branch br + in + match uu____4473 with + | (pat,w,exp) -> + let bvs = FStar_Syntax_Syntax.pat_bvs pat in + let e1 = FStar_TypeChecker_Env.push_bvs e bvs + in + let r = traverse f pol e1 exp in + let uu____4500 = comb1 - (fun exp1 -> + (fun exp1 -> FStar_Syntax_Subst.close_branch - (pat, w, exp1)) in - uu____4531 r) brs in - comb_list uu____4487 in + (pat, w, exp1)) + in + uu____4500 r) brs + in + comb_list uu____4456 in comb2 - (fun sc1 -> - fun brs1 -> FStar_Syntax_Syntax.Tm_match (sc1, brs1)) - uu____4463 uu____4468 - | x -> tpure x in + (fun sc1 -> + fun brs1 -> FStar_Syntax_Syntax.Tm_match (sc1, brs1)) + uu____4432 uu____4437 + | x -> tpure x in match r with | Unchanged tn' -> f pol e - (let uu___525_4617 = t in + (let uu___516_4586 = t in { FStar_Syntax_Syntax.n = tn'; FStar_Syntax_Syntax.pos = - (uu___525_4617.FStar_Syntax_Syntax.pos); + (uu___516_4586.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___525_4617.FStar_Syntax_Syntax.vars) + (uu___516_4586.FStar_Syntax_Syntax.vars) }) - | Simplified (tn', gs) -> - let uu____4624 = + | Simplified (tn',gs) -> + let uu____4593 = f pol e - (let uu___531_4628 = t in + (let uu___522_4597 = t in { FStar_Syntax_Syntax.n = tn'; FStar_Syntax_Syntax.pos = - (uu___531_4628.FStar_Syntax_Syntax.pos); + (uu___522_4597.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___531_4628.FStar_Syntax_Syntax.vars) - }) in - emit gs uu____4624 - | Dual (tn, tp, gs) -> + (uu___522_4597.FStar_Syntax_Syntax.vars) + }) + in + emit gs uu____4593 + | Dual (tn,tp,gs) -> let rp = f pol e - (let uu___538_4638 = t in + (let uu___529_4607 = t in { FStar_Syntax_Syntax.n = tp; FStar_Syntax_Syntax.pos = - (uu___538_4638.FStar_Syntax_Syntax.pos); + (uu___529_4607.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___538_4638.FStar_Syntax_Syntax.vars) - }) in - let uu____4639 = explode rp in - (match uu____4639 with - | (uu____4648, p', gs') -> + (uu___529_4607.FStar_Syntax_Syntax.vars) + }) + in + let uu____4608 = explode rp in + (match uu____4608 with + | (uu____4617,p',gs') -> Dual - ((let uu___545_4658 = t in + ((let uu___536_4627 = t in { FStar_Syntax_Syntax.n = tn; FStar_Syntax_Syntax.pos = - (uu___545_4658.FStar_Syntax_Syntax.pos); + (uu___536_4627.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___545_4658.FStar_Syntax_Syntax.vars) + (uu___536_4627.FStar_Syntax_Syntax.vars) }), p', (FStar_List.append gs gs'))) + let (getprop : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun e -> - fun t -> + fun e -> + fun t -> let tn = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Weak; FStar_TypeChecker_Env.HNF; FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant] e t in + FStar_Syntax_Syntax.delta_constant] e t + in FStar_Syntax_Util.un_squash tn + let (preprocess : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_TypeChecker_Env.env * FStar_Syntax_Syntax.term * FStar_Options.optionstate) Prims.list) = - fun env -> - fun goal -> - (let uu____4703 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in - FStar_ST.op_Colon_Equals tacdbg uu____4703); - (let uu____4728 = FStar_ST.op_Bang tacdbg in - if uu____4728 + fun env -> + fun goal -> + (let uu____4672 = + FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in + FStar_ST.op_Colon_Equals tacdbg uu____4672); + (let uu____4697 = FStar_ST.op_Bang tacdbg in + if uu____4697 then - let uu____4752 = - let uu____4754 = FStar_TypeChecker_Env.all_binders env in - FStar_All.pipe_right uu____4754 - (FStar_Syntax_Print.binders_to_string ",") in - let uu____4757 = FStar_Syntax_Print.term_to_string goal in - FStar_Util.print2 "About to preprocess %s |= %s\n" uu____4752 - uu____4757 + let uu____4721 = + let uu____4723 = FStar_TypeChecker_Env.all_binders env in + FStar_All.pipe_right uu____4723 + (FStar_Syntax_Print.binders_to_string ",") + in + let uu____4726 = FStar_Syntax_Print.term_to_string goal in + FStar_Util.print2 "About to preprocess %s |= %s\n" uu____4721 + uu____4726 else ()); - (let initial = ((Prims.parse_int "1"), []) in - let uu____4792 = - let uu____4801 = traverse by_tactic_interp Pos env goal in - match uu____4801 with + (let initial = ((Prims.parse_int "1"), []) in + let uu____4761 = + let uu____4770 = traverse by_tactic_interp Pos env goal in + match uu____4770 with | Unchanged t' -> (t', []) - | Simplified (t', gs) -> (t', gs) - | uu____4825 -> failwith "no" in - match uu____4792 with - | (t', gs) -> - ((let uu____4854 = FStar_ST.op_Bang tacdbg in - if uu____4854 + | Simplified (t',gs) -> (t', gs) + | uu____4794 -> failwith "no" in + match uu____4761 with + | (t',gs) -> + ((let uu____4823 = FStar_ST.op_Bang tacdbg in + if uu____4823 then - let uu____4878 = - let uu____4880 = FStar_TypeChecker_Env.all_binders env in - FStar_All.pipe_right uu____4880 - (FStar_Syntax_Print.binders_to_string ", ") in - let uu____4883 = FStar_Syntax_Print.term_to_string t' in + let uu____4847 = + let uu____4849 = FStar_TypeChecker_Env.all_binders env in + FStar_All.pipe_right uu____4849 + (FStar_Syntax_Print.binders_to_string ", ") + in + let uu____4852 = FStar_Syntax_Print.term_to_string t' in FStar_Util.print2 "Main goal simplified to: %s |- %s\n" - uu____4878 uu____4883 + uu____4847 uu____4852 else ()); - (let s = initial in + (let s = initial in let s1 = FStar_List.fold_left - (fun uu____4938 -> - fun g -> - match uu____4938 with - | (n1, gs1) -> + (fun uu____4907 -> + fun g -> + match uu____4907 with + | (n1,gs1) -> let phi = - let uu____4987 = - let uu____4990 = FStar_Tactics_Types.goal_env g in - let uu____4991 = - FStar_Tactics_Types.goal_type g in - getprop uu____4990 uu____4991 in - match uu____4987 with - | FStar_Pervasives_Native.None -> - let uu____4992 = - let uu____4998 = - let uu____5000 = - let uu____5002 = - FStar_Tactics_Types.goal_type g in + let uu____4956 = + let uu____4959 = FStar_Tactics_Types.goal_env g + in + let uu____4960 = + FStar_Tactics_Types.goal_type g in + getprop uu____4959 uu____4960 in + match uu____4956 with + | FStar_Pervasives_Native.None -> + let uu____4961 = + let uu____4967 = + let uu____4969 = + let uu____4971 = + FStar_Tactics_Types.goal_type g in FStar_Syntax_Print.term_to_string - uu____5002 in + uu____4971 + in FStar_Util.format1 "Tactic returned proof-relevant goal: %s" - uu____5000 in + uu____4969 + in (FStar_Errors.Fatal_TacticProofRelevantGoal, - uu____4998) in - FStar_Errors.raise_error uu____4992 + uu____4967) + in + FStar_Errors.raise_error uu____4961 env.FStar_TypeChecker_Env.range - | FStar_Pervasives_Native.Some phi -> phi in - ((let uu____5007 = FStar_ST.op_Bang tacdbg in - if uu____5007 + | FStar_Pervasives_Native.Some phi -> phi in + ((let uu____4976 = FStar_ST.op_Bang tacdbg in + if uu____4976 then - let uu____5031 = FStar_Util.string_of_int n1 in - let uu____5033 = - let uu____5035 = - FStar_Tactics_Types.goal_type g in - FStar_Syntax_Print.term_to_string uu____5035 in + let uu____5000 = FStar_Util.string_of_int n1 + in + let uu____5002 = + let uu____5004 = + FStar_Tactics_Types.goal_type g in + FStar_Syntax_Print.term_to_string uu____5004 + in FStar_Util.print2 "Got goal #%s: %s\n" - uu____5031 uu____5033 + uu____5000 uu____5002 else ()); (let label1 = - let uu____5041 = - let uu____5043 = - FStar_Tactics_Types.get_label g in - uu____5043 = "" in - if uu____5041 + let uu____5010 = + let uu____5012 = + FStar_Tactics_Types.get_label g in + uu____5012 = "" in + if uu____5010 then - let uu____5049 = FStar_Util.string_of_int n1 in + let uu____5018 = FStar_Util.string_of_int n1 + in Prims.op_Hat "Could not prove goal #" - uu____5049 + uu____5018 else - (let uu____5054 = - let uu____5056 = - FStar_Util.string_of_int n1 in - let uu____5058 = - let uu____5060 = - let uu____5062 = - FStar_Tactics_Types.get_label g in - Prims.op_Hat uu____5062 ")" in - Prims.op_Hat " (" uu____5060 in - Prims.op_Hat uu____5056 uu____5058 in + (let uu____5023 = + let uu____5025 = + FStar_Util.string_of_int n1 in + let uu____5027 = + let uu____5029 = + let uu____5031 = + FStar_Tactics_Types.get_label g in + Prims.op_Hat uu____5031 ")" in + Prims.op_Hat " (" uu____5029 in + Prims.op_Hat uu____5025 uu____5027 in Prims.op_Hat "Could not prove goal #" - uu____5054) in + uu____5023) + in let gt' = FStar_TypeChecker_Util.label label1 - goal.FStar_Syntax_Syntax.pos phi in - let uu____5068 = - let uu____5077 = - let uu____5084 = - FStar_Tactics_Types.goal_env g in - (uu____5084, gt', - (g.FStar_Tactics_Types.opts)) in - uu____5077 :: gs1 in - ((n1 + (Prims.parse_int "1")), uu____5068)))) s - gs in - let uu____5101 = s1 in - match uu____5101 with - | (uu____5123, gs1) -> - let uu____5143 = - let uu____5150 = FStar_Options.peek () in - (env, t', uu____5150) in - uu____5143 :: gs1))) + goal.FStar_Syntax_Syntax.pos phi + in + let uu____5037 = + let uu____5046 = + let uu____5053 = + FStar_Tactics_Types.goal_env g in + (uu____5053, gt', + (g.FStar_Tactics_Types.opts)) + in + uu____5046 :: gs1 in + ((n1 + (Prims.parse_int "1")), uu____5037)))) s + gs + in + let uu____5070 = s1 in + match uu____5070 with + | (uu____5092,gs1) -> + let uu____5112 = + let uu____5119 = FStar_Options.peek () in + (env, t', uu____5119) in + uu____5112 :: gs1))) + let (synthesize : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun typ -> - fun tau -> + fun env -> + fun typ -> + fun tau -> if env.FStar_TypeChecker_Env.nosynth then - let uu____5174 = - let uu____5179 = + let uu____5143 = + let uu____5148 = FStar_TypeChecker_Util.fvar_const env - FStar_Parser_Const.magic_lid in - let uu____5180 = - let uu____5181 = - FStar_Syntax_Syntax.as_arg FStar_Syntax_Util.exp_unit in - [uu____5181] in - FStar_Syntax_Syntax.mk_Tm_app uu____5179 uu____5180 in - uu____5174 FStar_Pervasives_Native.None typ.FStar_Syntax_Syntax.pos + FStar_Parser_Const.magic_lid + in + let uu____5149 = + let uu____5150 = + FStar_Syntax_Syntax.as_arg FStar_Syntax_Util.exp_unit in + [uu____5150] in + FStar_Syntax_Syntax.mk_Tm_app uu____5148 uu____5149 in + uu____5143 FStar_Pervasives_Native.None typ.FStar_Syntax_Syntax.pos else - ((let uu____5209 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in - FStar_ST.op_Colon_Equals tacdbg uu____5209); - (let uu____5233 = + ((let uu____5178 = + FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in + FStar_ST.op_Colon_Equals tacdbg uu____5178); + (let uu____5202 = run_tactic_on_typ tau.FStar_Syntax_Syntax.pos - typ.FStar_Syntax_Syntax.pos tau env typ in - match uu____5233 with - | (gs, w) -> + typ.FStar_Syntax_Syntax.pos tau env typ + in + match uu____5202 with + | (gs,w) -> (FStar_List.iter - (fun g -> - let uu____5254 = - let uu____5257 = FStar_Tactics_Types.goal_env g in - let uu____5258 = FStar_Tactics_Types.goal_type g in - getprop uu____5257 uu____5258 in - match uu____5254 with + (fun g -> + let uu____5223 = + let uu____5226 = FStar_Tactics_Types.goal_env g in + let uu____5227 = FStar_Tactics_Types.goal_type g in + getprop uu____5226 uu____5227 in + match uu____5223 with | FStar_Pervasives_Native.Some vc -> - ((let uu____5261 = FStar_ST.op_Bang tacdbg in - if uu____5261 + ((let uu____5230 = FStar_ST.op_Bang tacdbg in + if uu____5230 then - let uu____5285 = - FStar_Syntax_Print.term_to_string vc in + let uu____5254 = + FStar_Syntax_Print.term_to_string vc in FStar_Util.print1 "Synthesis left a goal: %s\n" - uu____5285 + uu____5254 else ()); (let guard = { @@ -2608,45 +2867,51 @@ let (synthesize : FStar_TypeChecker_Env.deferred = []; FStar_TypeChecker_Env.univ_ineqs = ([], []); FStar_TypeChecker_Env.implicits = [] - } in - let uu____5300 = FStar_Tactics_Types.goal_env g in + } in + let uu____5269 = FStar_Tactics_Types.goal_env g + in FStar_TypeChecker_Rel.force_trivial_guard - uu____5300 guard)) - | FStar_Pervasives_Native.None -> + uu____5269 guard)) + | FStar_Pervasives_Native.None -> FStar_Errors.raise_error (FStar_Errors.Fatal_OpenGoalsInSynthesis, "synthesis left open goals") typ.FStar_Syntax_Syntax.pos) gs; w))) + let (splice : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.sigelt Prims.list) = - fun env -> - fun tau -> + fun env -> + fun tau -> if env.FStar_TypeChecker_Env.nosynth then [] else - ((let uu____5322 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in - FStar_ST.op_Colon_Equals tacdbg uu____5322); - (let typ = FStar_Syntax_Syntax.t_decls in - let uu____5347 = + ((let uu____5291 = + FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in + FStar_ST.op_Colon_Equals tacdbg uu____5291); + (let typ = FStar_Syntax_Syntax.t_decls in + let uu____5316 = run_tactic_on_typ tau.FStar_Syntax_Syntax.pos - tau.FStar_Syntax_Syntax.pos tau env typ in - match uu____5347 with - | (gs, w) -> - ((let uu____5363 = + tau.FStar_Syntax_Syntax.pos tau env typ + in + match uu____5316 with + | (gs,w) -> + ((let uu____5332 = FStar_List.existsML - (fun g -> - let uu____5368 = - let uu____5370 = - let uu____5373 = FStar_Tactics_Types.goal_env g in - let uu____5374 = FStar_Tactics_Types.goal_type g in - getprop uu____5373 uu____5374 in - FStar_Option.isSome uu____5370 in - Prims.op_Negation uu____5368) gs in - if uu____5363 + (fun g -> + let uu____5337 = + let uu____5339 = + let uu____5342 = FStar_Tactics_Types.goal_env g + in + let uu____5343 = FStar_Tactics_Types.goal_type g + in + getprop uu____5342 uu____5343 in + FStar_Option.isSome uu____5339 in + Prims.op_Negation uu____5337) gs + in + if uu____5332 then FStar_Errors.raise_error (FStar_Errors.Fatal_OpenGoalsInSynthesis, @@ -2660,76 +2925,86 @@ let (splice : FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Unascribe; - FStar_TypeChecker_Env.Unmeta] env w in - (let uu____5382 = FStar_ST.op_Bang tacdbg in - if uu____5382 + FStar_TypeChecker_Env.Unmeta] env w + in + (let uu____5351 = FStar_ST.op_Bang tacdbg in + if uu____5351 then - let uu____5406 = FStar_Syntax_Print.term_to_string w1 in - FStar_Util.print1 "splice: got witness = %s\n" uu____5406 + let uu____5375 = FStar_Syntax_Print.term_to_string w1 in + FStar_Util.print1 "splice: got witness = %s\n" uu____5375 else ()); - (let uu____5411 = - let uu____5416 = + (let uu____5380 = + let uu____5385 = FStar_Syntax_Embeddings.e_list - FStar_Reflection_Embeddings.e_sigelt in - FStar_Tactics_InterpFuns.unembed uu____5416 w1 - FStar_Syntax_Embeddings.id_norm_cb in - match uu____5411 with + FStar_Reflection_Embeddings.e_sigelt + in + FStar_Tactics_InterpFuns.unembed uu____5385 w1 + FStar_Syntax_Embeddings.id_norm_cb + in + match uu____5380 with | FStar_Pervasives_Native.Some sigelts -> sigelts - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Errors.raise_error (FStar_Errors.Fatal_SpliceUnembedFail, "splice: failed to unembed sigelts") typ.FStar_Syntax_Syntax.pos))))) + let (postprocess : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun tau -> - fun typ -> - fun tm -> + fun env -> + fun tau -> + fun typ -> + fun tm -> if env.FStar_TypeChecker_Env.nosynth then tm else - ((let uu____5461 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") in - FStar_ST.op_Colon_Equals tacdbg uu____5461); - (let uu____5485 = + ((let uu____5430 = + FStar_TypeChecker_Env.debug env (FStar_Options.Other "Tac") + in + FStar_ST.op_Colon_Equals tacdbg uu____5430); + (let uu____5454 = FStar_TypeChecker_Env.new_implicit_var_aux "postprocess RHS" tm.FStar_Syntax_Syntax.pos env typ FStar_Syntax_Syntax.Allow_untyped - FStar_Pervasives_Native.None in - match uu____5485 with - | (uvtm, uu____5504, g_imp) -> - let u = env.FStar_TypeChecker_Env.universe_of env typ in + FStar_Pervasives_Native.None + in + match uu____5454 with + | (uvtm,uu____5473,g_imp) -> + let u = env.FStar_TypeChecker_Env.universe_of env typ in let goal = - let uu____5522 = FStar_Syntax_Util.mk_eq2 u typ tm uvtm in - FStar_Syntax_Util.mk_squash u uu____5522 in - let uu____5523 = + let uu____5491 = FStar_Syntax_Util.mk_eq2 u typ tm uvtm + in + FStar_Syntax_Util.mk_squash u uu____5491 in + let uu____5492 = run_tactic_on_typ tau.FStar_Syntax_Syntax.pos - tm.FStar_Syntax_Syntax.pos tau env goal in - (match uu____5523 with - | (gs, w) -> + tm.FStar_Syntax_Syntax.pos tau env goal + in + (match uu____5492 with + | (gs,w) -> (FStar_List.iter - (fun g -> - let uu____5544 = - let uu____5547 = - FStar_Tactics_Types.goal_env g in - let uu____5548 = - FStar_Tactics_Types.goal_type g in - getprop uu____5547 uu____5548 in - match uu____5544 with + (fun g -> + let uu____5513 = + let uu____5516 = + FStar_Tactics_Types.goal_env g in + let uu____5517 = + FStar_Tactics_Types.goal_type g in + getprop uu____5516 uu____5517 in + match uu____5513 with | FStar_Pervasives_Native.Some vc -> - ((let uu____5551 = FStar_ST.op_Bang tacdbg in - if uu____5551 + ((let uu____5520 = FStar_ST.op_Bang tacdbg + in + if uu____5520 then - let uu____5575 = - FStar_Syntax_Print.term_to_string vc in + let uu____5544 = + FStar_Syntax_Print.term_to_string vc + in FStar_Util.print1 "Postprocessing left a goal: %s\n" - uu____5575 + uu____5544 else ()); (let guard = { @@ -2740,19 +3015,21 @@ let (postprocess : FStar_TypeChecker_Env.univ_ineqs = ([], []); FStar_TypeChecker_Env.implicits = [] - } in - let uu____5590 = - FStar_Tactics_Types.goal_env g in + } in + let uu____5559 = + FStar_Tactics_Types.goal_env g in FStar_TypeChecker_Rel.force_trivial_guard - uu____5590 guard)) - | FStar_Pervasives_Native.None -> + uu____5559 guard)) + | FStar_Pervasives_Native.None -> FStar_Errors.raise_error (FStar_Errors.Fatal_OpenGoalsInSynthesis, "postprocessing left open goals") typ.FStar_Syntax_Syntax.pos) gs; (let g_imp1 = FStar_TypeChecker_Rel.resolve_implicits_tac env - g_imp in + g_imp + in report_implicits tm.FStar_Syntax_Syntax.pos g_imp1.FStar_TypeChecker_Env.implicits; - uvtm))))) \ No newline at end of file + uvtm))))) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Tactics_Result.ml b/src/ocaml-output/FStar_Tactics_Result.ml index cf0366ac56c..ffc3ba46662 100644 --- a/src/ocaml-output/FStar_Tactics_Result.ml +++ b/src/ocaml-output/FStar_Tactics_Result.ml @@ -3,14 +3,16 @@ type 'a __result = | Success of ('a * FStar_Tactics_Types.proofstate) | Failed of (Prims.exn * FStar_Tactics_Types.proofstate) let uu___is_Success : 'a . 'a __result -> Prims.bool = - fun projectee -> + fun projectee -> match projectee with | Success _0 -> true | uu____46 -> false + let __proj__Success__item___0 : 'a . 'a __result -> ('a * FStar_Tactics_Types.proofstate) = - fun projectee -> match projectee with | Success _0 -> _0 + fun projectee -> match projectee with | Success _0 -> _0 let uu___is_Failed : 'a . 'a __result -> Prims.bool = - fun projectee -> + fun projectee -> match projectee with | Failed _0 -> true | uu____96 -> false + let __proj__Failed__item___0 : 'a . 'a __result -> (Prims.exn * FStar_Tactics_Types.proofstate) = - fun projectee -> match projectee with | Failed _0 -> _0 \ No newline at end of file + fun projectee -> match projectee with | Failed _0 -> _0 \ No newline at end of file diff --git a/src/ocaml-output/FStar_Tactics_Types.ml b/src/ocaml-output/FStar_Tactics_Types.ml index 76162653245..93d221ae4bf 100644 --- a/src/ocaml-output/FStar_Tactics_Types.ml +++ b/src/ocaml-output/FStar_Tactics_Types.ml @@ -8,31 +8,36 @@ type goal = label: Prims.string } let (__proj__Mkgoal__item__goal_main_env : goal -> FStar_TypeChecker_Env.env) = - fun projectee -> + fun projectee -> match projectee with | { goal_main_env; goal_ctx_uvar; opts; is_guard; label;_} -> goal_main_env + let (__proj__Mkgoal__item__goal_ctx_uvar : goal -> FStar_Syntax_Syntax.ctx_uvar) = - fun projectee -> + fun projectee -> match projectee with | { goal_main_env; goal_ctx_uvar; opts; is_guard; label;_} -> goal_ctx_uvar + let (__proj__Mkgoal__item__opts : goal -> FStar_Options.optionstate) = - fun projectee -> + fun projectee -> match projectee with | { goal_main_env; goal_ctx_uvar; opts; is_guard; label;_} -> opts + let (__proj__Mkgoal__item__is_guard : goal -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { goal_main_env; goal_ctx_uvar; opts; is_guard; label;_} -> is_guard + let (__proj__Mkgoal__item__label : goal -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { goal_main_env; goal_ctx_uvar; opts; is_guard; label;_} -> label + let (goal_env : goal -> FStar_TypeChecker_Env.env) = - fun g -> - let uu___16_119 = g.goal_main_env in + fun g -> + let uu___16_119 = g.goal_main_env in { FStar_TypeChecker_Env.solver = (uu___16_119.FStar_TypeChecker_Env.solver); @@ -116,20 +121,22 @@ let (goal_env : goal -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.dsenv = (uu___16_119.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___16_119.FStar_TypeChecker_Env.nbe) } + let (goal_witness : goal -> FStar_Syntax_Syntax.term) = - fun g -> + fun g -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uvar ((g.goal_ctx_uvar), ([], FStar_Syntax_Syntax.NoUseRange))) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (goal_type : goal -> FStar_Syntax_Syntax.term) = - fun g -> (g.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_typ + fun g -> (g.goal_ctx_uvar).FStar_Syntax_Syntax.ctx_uvar_typ let (goal_with_type : goal -> FStar_Syntax_Syntax.term -> goal) = - fun g -> - fun t -> - let c = g.goal_ctx_uvar in + fun g -> + fun t -> + let c = g.goal_ctx_uvar in let c' = - let uu___23_159 = c in + let uu___23_159 = c in { FStar_Syntax_Syntax.ctx_uvar_head = (uu___23_159.FStar_Syntax_Syntax.ctx_uvar_head); @@ -146,8 +153,8 @@ let (goal_with_type : goal -> FStar_Syntax_Syntax.term -> goal) = (uu___23_159.FStar_Syntax_Syntax.ctx_uvar_range); FStar_Syntax_Syntax.ctx_uvar_meta = (uu___23_159.FStar_Syntax_Syntax.ctx_uvar_meta) - } in - let uu___26_160 = g in + } in + let uu___26_160 = g in { goal_main_env = (uu___26_160.goal_main_env); goal_ctx_uvar = c'; @@ -155,13 +162,14 @@ let (goal_with_type : goal -> FStar_Syntax_Syntax.term -> goal) = is_guard = (uu___26_160.is_guard); label = (uu___26_160.label) } + let (goal_with_env : goal -> FStar_TypeChecker_Env.env -> goal) = - fun g -> - fun env -> - let c = g.goal_ctx_uvar in + fun g -> + fun env -> + let c = g.goal_ctx_uvar in let c' = - let uu___31_174 = c in - let uu____175 = FStar_TypeChecker_Env.all_binders env in + let uu___31_174 = c in + let uu____175 = FStar_TypeChecker_Env.all_binders env in { FStar_Syntax_Syntax.ctx_uvar_head = (uu___31_174.FStar_Syntax_Syntax.ctx_uvar_head); @@ -178,8 +186,8 @@ let (goal_with_env : goal -> FStar_TypeChecker_Env.env -> goal) = (uu___31_174.FStar_Syntax_Syntax.ctx_uvar_range); FStar_Syntax_Syntax.ctx_uvar_meta = (uu___31_174.FStar_Syntax_Syntax.ctx_uvar_meta) - } in - let uu___34_184 = g in + } in + let uu___34_184 = g in { goal_main_env = env; goal_ctx_uvar = c'; @@ -187,16 +195,17 @@ let (goal_with_env : goal -> FStar_TypeChecker_Env.env -> goal) = is_guard = (uu___34_184.is_guard); label = (uu___34_184.label) } + let (mk_goal : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.ctx_uvar -> FStar_Options.optionstate -> Prims.bool -> Prims.string -> goal) = - fun env -> - fun u -> - fun o -> - fun b -> - fun l -> + fun env -> + fun u -> + fun o -> + fun b -> + fun l -> { goal_main_env = env; goal_ctx_uvar = u; @@ -204,17 +213,20 @@ let (mk_goal : is_guard = b; label = l } + let (subst_goal : FStar_Syntax_Syntax.subst_elt Prims.list -> goal -> goal) = - fun subst1 -> - fun goal -> - let g = goal.goal_ctx_uvar in + fun subst1 -> + fun goal -> + let g = goal.goal_ctx_uvar in let ctx_uvar = - let uu___44_232 = g in + let uu___44_232 = g in let uu____233 = FStar_TypeChecker_Env.rename_gamma subst1 - g.FStar_Syntax_Syntax.ctx_uvar_gamma in + g.FStar_Syntax_Syntax.ctx_uvar_gamma + in let uu____236 = - FStar_Syntax_Subst.subst subst1 g.FStar_Syntax_Syntax.ctx_uvar_typ in + FStar_Syntax_Subst.subst subst1 g.FStar_Syntax_Syntax.ctx_uvar_typ + in { FStar_Syntax_Syntax.ctx_uvar_head = (uu___44_232.FStar_Syntax_Syntax.ctx_uvar_head); @@ -230,8 +242,8 @@ let (subst_goal : FStar_Syntax_Syntax.subst_elt Prims.list -> goal -> goal) = (uu___44_232.FStar_Syntax_Syntax.ctx_uvar_range); FStar_Syntax_Syntax.ctx_uvar_meta = (uu___44_232.FStar_Syntax_Syntax.ctx_uvar_meta) - } in - let uu___47_239 = goal in + } in + let uu___47_239 = goal in { goal_main_env = (uu___47_239.goal_main_env); goal_ctx_uvar = ctx_uvar; @@ -239,19 +251,22 @@ let (subst_goal : FStar_Syntax_Syntax.subst_elt Prims.list -> goal -> goal) = is_guard = (uu___47_239.is_guard); label = (uu___47_239.label) } + type guard_policy = | Goal | SMT | Force | Drop let (uu___is_Goal : guard_policy -> Prims.bool) = - fun projectee -> match projectee with | Goal -> true | uu____249 -> false + fun projectee -> match projectee with | Goal -> true | uu____249 -> false let (uu___is_SMT : guard_policy -> Prims.bool) = - fun projectee -> match projectee with | SMT -> true | uu____260 -> false + fun projectee -> match projectee with | SMT -> true | uu____260 -> false let (uu___is_Force : guard_policy -> Prims.bool) = - fun projectee -> match projectee with | Force -> true | uu____271 -> false + fun projectee -> + match projectee with | Force -> true | uu____271 -> false + let (uu___is_Drop : guard_policy -> Prims.bool) = - fun projectee -> match projectee with | Drop -> true | uu____282 -> false + fun projectee -> match projectee with | Drop -> true | uu____282 -> false type proofstate = { main_context: FStar_TypeChecker_Env.env ; @@ -269,99 +284,112 @@ type proofstate = local_state: FStar_Syntax_Syntax.term FStar_Util.psmap } let (__proj__Mkproofstate__item__main_context : proofstate -> FStar_TypeChecker_Env.env) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> main_context + let (__proj__Mkproofstate__item__main_goal : proofstate -> goal) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> main_goal + let (__proj__Mkproofstate__item__all_implicits : proofstate -> FStar_TypeChecker_Env.implicits) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> all_implicits + let (__proj__Mkproofstate__item__goals : proofstate -> goal Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> goals + let (__proj__Mkproofstate__item__smt_goals : proofstate -> goal Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> smt_goals + let (__proj__Mkproofstate__item__depth : proofstate -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> depth + let (__proj__Mkproofstate__item____dump : proofstate -> proofstate -> Prims.string -> unit) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> __dump + let (__proj__Mkproofstate__item__psc : proofstate -> FStar_TypeChecker_Cfg.psc) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> psc + let (__proj__Mkproofstate__item__entry_range : proofstate -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> entry_range + let (__proj__Mkproofstate__item__guard_policy : proofstate -> guard_policy) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> guard_policy + let (__proj__Mkproofstate__item__freshness : proofstate -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> freshness + let (__proj__Mkproofstate__item__tac_verb_dbg : proofstate -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> tac_verb_dbg + let (__proj__Mkproofstate__item__local_state : proofstate -> FStar_Syntax_Syntax.term FStar_Util.psmap) = - fun projectee -> + fun projectee -> match projectee with | { main_context; main_goal; all_implicits; goals; smt_goals; depth; __dump; psc; entry_range; guard_policy; freshness; tac_verb_dbg; local_state;_} -> local_state + let (subst_proof_state : FStar_Syntax_Syntax.subst_t -> proofstate -> proofstate) = - fun subst1 -> - fun ps -> - let uu____869 = FStar_Options.tactic_raw_binders () in + fun subst1 -> + fun ps -> + let uu____869 = FStar_Options.tactic_raw_binders () in if uu____869 then ps else - (let uu___91_874 = ps in - let uu____875 = subst_goal subst1 ps.main_goal in - let uu____876 = FStar_List.map (subst_goal subst1) ps.goals in + (let uu___91_874 = ps in + let uu____875 = subst_goal subst1 ps.main_goal in + let uu____876 = FStar_List.map (subst_goal subst1) ps.goals in { main_context = (uu___91_874.main_context); main_goal = uu____875; @@ -377,9 +405,10 @@ let (subst_proof_state : tac_verb_dbg = (uu___91_874.tac_verb_dbg); local_state = (uu___91_874.local_state) }) + let (decr_depth : proofstate -> proofstate) = - fun ps -> - let uu___94_885 = ps in + fun ps -> + let uu___94_885 = ps in { main_context = (uu___94_885.main_context); main_goal = (uu___94_885.main_goal); @@ -395,9 +424,10 @@ let (decr_depth : proofstate -> proofstate) = tac_verb_dbg = (uu___94_885.tac_verb_dbg); local_state = (uu___94_885.local_state) } + let (incr_depth : proofstate -> proofstate) = - fun ps -> - let uu___97_893 = ps in + fun ps -> + let uu___97_893 = ps in { main_context = (uu___97_893.main_context); main_goal = (uu___97_893.main_goal); @@ -413,23 +443,26 @@ let (incr_depth : proofstate -> proofstate) = tac_verb_dbg = (uu___97_893.tac_verb_dbg); local_state = (uu___97_893.local_state) } + let (tracepoint : proofstate -> unit) = - fun ps -> + fun ps -> let uu____901 = (FStar_Options.tactic_trace ()) || - (let uu____904 = FStar_Options.tactic_trace_d () in - ps.depth <= uu____904) in + (let uu____904 = FStar_Options.tactic_trace_d () in + ps.depth <= uu____904) + in if uu____901 then let uu____907 = - let uu____908 = FStar_TypeChecker_Cfg.psc_subst ps.psc in - subst_proof_state uu____908 ps in + let uu____908 = FStar_TypeChecker_Cfg.psc_subst ps.psc in + subst_proof_state uu____908 ps in ps.__dump uu____907 "TRACE" else () + let (set_ps_psc : FStar_TypeChecker_Cfg.psc -> proofstate -> proofstate) = - fun psc -> - fun ps -> - let uu___103_923 = ps in + fun psc -> + fun ps -> + let uu___103_923 = ps in { main_context = (uu___103_923.main_context); main_goal = (uu___103_923.main_goal); @@ -445,13 +478,14 @@ let (set_ps_psc : FStar_TypeChecker_Cfg.psc -> proofstate -> proofstate) = tac_verb_dbg = (uu___103_923.tac_verb_dbg); local_state = (uu___103_923.local_state) } + let (set_proofstate_range : proofstate -> FStar_Range.range -> proofstate) = - fun ps -> - fun r -> - let uu___107_935 = ps in + fun ps -> + fun r -> + let uu___107_935 = ps in let uu____936 = - let uu____937 = FStar_Range.def_range r in - FStar_Range.set_def_range ps.entry_range uu____937 in + let uu____937 = FStar_Range.def_range r in + FStar_Range.set_def_range ps.entry_range uu____937 in { main_context = (uu___107_935.main_context); main_goal = (uu___107_935.main_goal); @@ -467,14 +501,15 @@ let (set_proofstate_range : proofstate -> FStar_Range.range -> proofstate) = tac_verb_dbg = (uu___107_935.tac_verb_dbg); local_state = (uu___107_935.local_state) } -let (goals_of : proofstate -> goal Prims.list) = fun ps -> ps.goals -let (smt_goals_of : proofstate -> goal Prims.list) = fun ps -> ps.smt_goals -let (is_guard : goal -> Prims.bool) = fun g -> g.is_guard -let (get_label : goal -> Prims.string) = fun g -> g.label + +let (goals_of : proofstate -> goal Prims.list) = fun ps -> ps.goals +let (smt_goals_of : proofstate -> goal Prims.list) = fun ps -> ps.smt_goals +let (is_guard : goal -> Prims.bool) = fun g -> g.is_guard +let (get_label : goal -> Prims.string) = fun g -> g.label let (set_label : Prims.string -> goal -> goal) = - fun l -> - fun g -> - let uu___115_985 = g in + fun l -> + fun g -> + let uu___115_985 = g in { goal_main_env = (uu___115_985.goal_main_env); goal_ctx_uvar = (uu___115_985.goal_ctx_uvar); @@ -482,27 +517,33 @@ let (set_label : Prims.string -> goal -> goal) = is_guard = (uu___115_985.is_guard); label = l } + type direction = | TopDown | BottomUp let (uu___is_TopDown : direction -> Prims.bool) = - fun projectee -> - match projectee with | TopDown -> true | uu____995 -> false + fun projectee -> + match projectee with | TopDown -> true | uu____995 -> false + let (uu___is_BottomUp : direction -> Prims.bool) = - fun projectee -> - match projectee with | BottomUp -> true | uu____1006 -> false + fun projectee -> + match projectee with | BottomUp -> true | uu____1006 -> false + exception TacticFailure of Prims.string let (uu___is_TacticFailure : Prims.exn -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | TacticFailure uu____1021 -> true | uu____1024 -> false + let (__proj__TacticFailure__item__uu___ : Prims.exn -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | TacticFailure uu____1034 -> uu____1034 + exception EExn of FStar_Syntax_Syntax.term let (uu___is_EExn : Prims.exn -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | EExn uu____1048 -> true | uu____1050 -> false + let (__proj__EExn__item__uu___ : Prims.exn -> FStar_Syntax_Syntax.term) = - fun projectee -> match projectee with | EExn uu____1058 -> uu____1058 \ No newline at end of file + fun projectee -> match projectee with | EExn uu____1058 -> uu____1058 \ No newline at end of file diff --git a/src/ocaml-output/FStar_Tests_Norm.ml b/src/ocaml-output/FStar_Tests_Norm.ml index 69d444f3db1..0886145d898 100644 --- a/src/ocaml-output/FStar_Tests_Norm.ml +++ b/src/ocaml-output/FStar_Tests_Norm.ml @@ -1,61 +1,66 @@ open Prims let (b : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.binder) = - FStar_Syntax_Syntax.mk_binder -let (id : FStar_Syntax_Syntax.term) = FStar_Tests_Pars.pars "fun x -> x" + FStar_Syntax_Syntax.mk_binder +let (id : FStar_Syntax_Syntax.term) = FStar_Tests_Pars.pars "fun x -> x" let (apply : FStar_Syntax_Syntax.term) = - FStar_Tests_Pars.pars "fun f x -> f x" + FStar_Tests_Pars.pars "fun f x -> f x" let (twice : FStar_Syntax_Syntax.term) = - FStar_Tests_Pars.pars "fun f x -> f (f x)" -let (tt : FStar_Syntax_Syntax.term) = FStar_Tests_Pars.pars "fun x y -> x" -let (ff : FStar_Syntax_Syntax.term) = FStar_Tests_Pars.pars "fun x y -> y" -let (z : FStar_Syntax_Syntax.term) = FStar_Tests_Pars.pars "fun f x -> x" -let (one : FStar_Syntax_Syntax.term) = FStar_Tests_Pars.pars "fun f x -> f x" + FStar_Tests_Pars.pars "fun f x -> f (f x)" +let (tt : FStar_Syntax_Syntax.term) = FStar_Tests_Pars.pars "fun x y -> x" +let (ff : FStar_Syntax_Syntax.term) = FStar_Tests_Pars.pars "fun x y -> y" +let (z : FStar_Syntax_Syntax.term) = FStar_Tests_Pars.pars "fun f x -> x" +let (one : FStar_Syntax_Syntax.term) = FStar_Tests_Pars.pars "fun f x -> f x" let (two : FStar_Syntax_Syntax.term) = - FStar_Tests_Pars.pars "fun f x -> f (f x)" + FStar_Tests_Pars.pars "fun f x -> f (f x)" let (succ : FStar_Syntax_Syntax.term) = - FStar_Tests_Pars.pars "fun n f x -> f (n f x)" + FStar_Tests_Pars.pars "fun n f x -> f (n f x)" let (pred : FStar_Syntax_Syntax.term) = FStar_Tests_Pars.pars "fun n f x -> n (fun g h -> h (g f)) (fun y -> x) (fun y -> y)" + let (mul : FStar_Syntax_Syntax.term) = - FStar_Tests_Pars.pars "fun m n f -> m (n f)" + FStar_Tests_Pars.pars "fun m n f -> m (n f)" let rec (encode : Prims.int -> FStar_Syntax_Syntax.term) = - fun n1 -> + fun n1 -> if n1 = (Prims.parse_int "0") then z else (let uu____39 = - let uu____42 = encode (n1 - (Prims.parse_int "1")) in [uu____42] in + let uu____42 = encode (n1 - (Prims.parse_int "1")) in [uu____42] + in FStar_Tests_Util.app succ uu____39) + let (minus : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) - = fun m1 -> fun n1 -> FStar_Tests_Util.app n1 [pred; m1] + = fun m1 -> fun n1 -> FStar_Tests_Util.app n1 [pred; m1] let (let_ : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term) = - fun x1 -> - fun e -> - fun e' -> + fun x1 -> + fun e -> + fun e' -> let uu____81 = - let uu____84 = let uu____85 = b x1 in [uu____85] in - FStar_Syntax_Util.abs uu____84 e' FStar_Pervasives_Native.None in + let uu____84 = let uu____85 = b x1 in [uu____85] in + FStar_Syntax_Util.abs uu____84 e' FStar_Pervasives_Native.None in FStar_Tests_Util.app uu____81 [e] + let (mk_let : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun x1 -> - fun e -> - fun e' -> + fun x1 -> + fun e -> + fun e' -> let e'1 = FStar_Syntax_Subst.subst - [FStar_Syntax_Syntax.NM (x1, (Prims.parse_int "0"))] e' in + [FStar_Syntax_Syntax.NM (x1, (Prims.parse_int "0"))] e' + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let ((false, @@ -70,62 +75,69 @@ let (mk_let : FStar_Syntax_Syntax.lbpos = FStar_Range.dummyRange }]), e'1)) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (lid : Prims.string -> FStar_Ident.lident) = - fun x1 -> FStar_Ident.lid_of_path ["Test"; x1] FStar_Range.dummyRange + fun x1 -> FStar_Ident.lid_of_path ["Test"; x1] FStar_Range.dummyRange let (znat_l : FStar_Syntax_Syntax.fv) = - let uu____155 = lid "Z" in + let uu____155 = lid "Z" in FStar_Syntax_Syntax.lid_as_fv uu____155 FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + let (snat_l : FStar_Syntax_Syntax.fv) = - let uu____158 = lid "S" in + let uu____158 = lid "S" in FStar_Syntax_Syntax.lid_as_fv uu____158 FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + let (tm_fv : FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun fv -> + fun fv -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_fvar fv) FStar_Pervasives_Native.None FStar_Range.dummyRange -let (znat : FStar_Syntax_Syntax.term) = tm_fv znat_l + +let (znat : FStar_Syntax_Syntax.term) = tm_fv znat_l let (snat : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun s -> + fun s -> let uu____177 = let uu____184 = let uu____185 = - let uu____202 = tm_fv snat_l in + let uu____202 = tm_fv snat_l in let uu____205 = - let uu____216 = FStar_Syntax_Syntax.as_arg s in [uu____216] in - (uu____202, uu____205) in - FStar_Syntax_Syntax.Tm_app uu____185 in - FStar_Syntax_Syntax.mk uu____184 in + let uu____216 = FStar_Syntax_Syntax.as_arg s in [uu____216] in + (uu____202, uu____205) in + FStar_Syntax_Syntax.Tm_app uu____185 in + FStar_Syntax_Syntax.mk uu____184 in uu____177 FStar_Pervasives_Native.None FStar_Range.dummyRange + let pat : 'Auu____258 . 'Auu____258 -> 'Auu____258 FStar_Syntax_Syntax.withinfo_t = - fun p -> FStar_Syntax_Syntax.withinfo p FStar_Range.dummyRange + fun p -> FStar_Syntax_Syntax.withinfo p FStar_Range.dummyRange let (mk_match : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.branch Prims.list -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun h1 -> - fun branches -> + fun h1 -> + fun branches -> let branches1 = FStar_All.pipe_right branches - (FStar_List.map FStar_Syntax_Util.branch) in + (FStar_List.map FStar_Syntax_Util.branch) + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_match (h1, branches1)) FStar_Pervasives_Native.None FStar_Range.dummyRange + let (pred_nat : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun s -> + fun s -> let zbranch = - let uu____367 = pat (FStar_Syntax_Syntax.Pat_cons (znat_l, [])) in - (uu____367, FStar_Pervasives_Native.None, znat) in + let uu____367 = pat (FStar_Syntax_Syntax.Pat_cons (znat_l, [])) in + (uu____367, FStar_Pervasives_Native.None, znat) in let sbranch = let uu____411 = let uu____414 = @@ -133,37 +145,39 @@ let (pred_nat : let uu____429 = let uu____439 = let uu____447 = - pat (FStar_Syntax_Syntax.Pat_var FStar_Tests_Util.x) in - (uu____447, false) in - [uu____439] in - (snat_l, uu____429) in - FStar_Syntax_Syntax.Pat_cons uu____415 in - pat uu____414 in + pat (FStar_Syntax_Syntax.Pat_var FStar_Tests_Util.x) in + (uu____447, false) in + [uu____439] in + (snat_l, uu____429) in + FStar_Syntax_Syntax.Pat_cons uu____415 in + pat uu____414 in let uu____477 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_bvar - (let uu___21_482 = FStar_Tests_Util.x in + (let uu___21_482 = FStar_Tests_Util.x in { FStar_Syntax_Syntax.ppname = (uu___21_482.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (Prims.parse_int "0"); FStar_Syntax_Syntax.sort = (uu___21_482.FStar_Syntax_Syntax.sort) - })) FStar_Pervasives_Native.None FStar_Range.dummyRange in - (uu____411, FStar_Pervasives_Native.None, uu____477) in + })) FStar_Pervasives_Native.None FStar_Range.dummyRange + in + (uu____411, FStar_Pervasives_Native.None, uu____477) in mk_match s [zbranch; sbranch] + let (minus_nat : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t1 -> - fun t2 -> - let minus1 = FStar_Tests_Util.m in + fun t1 -> + fun t2 -> + let minus1 = FStar_Tests_Util.m in let zbranch = - let uu____523 = pat (FStar_Syntax_Syntax.Pat_cons (znat_l, [])) in - let uu____542 = FStar_Tests_Util.nm FStar_Tests_Util.x in - (uu____523, FStar_Pervasives_Native.None, uu____542) in + let uu____523 = pat (FStar_Syntax_Syntax.Pat_cons (znat_l, [])) in + let uu____542 = FStar_Tests_Util.nm FStar_Tests_Util.x in + (uu____523, FStar_Pervasives_Native.None, uu____542) in let sbranch = let uu____570 = let uu____573 = @@ -171,42 +185,44 @@ let (minus_nat : let uu____588 = let uu____598 = let uu____606 = - pat (FStar_Syntax_Syntax.Pat_var FStar_Tests_Util.n) in - (uu____606, false) in - [uu____598] in - (snat_l, uu____588) in - FStar_Syntax_Syntax.Pat_cons uu____574 in - pat uu____573 in + pat (FStar_Syntax_Syntax.Pat_var FStar_Tests_Util.n) in + (uu____606, false) in + [uu____598] in + (snat_l, uu____588) in + FStar_Syntax_Syntax.Pat_cons uu____574 in + pat uu____573 in let uu____636 = - let uu____639 = FStar_Tests_Util.nm minus1 in + let uu____639 = FStar_Tests_Util.nm minus1 in let uu____642 = let uu____645 = - let uu____646 = FStar_Tests_Util.nm FStar_Tests_Util.x in - pred_nat uu____646 in + let uu____646 = FStar_Tests_Util.nm FStar_Tests_Util.x in + pred_nat uu____646 in let uu____649 = - let uu____652 = FStar_Tests_Util.nm FStar_Tests_Util.n in - [uu____652] in - uu____645 :: uu____649 in - FStar_Tests_Util.app uu____639 uu____642 in - (uu____570, FStar_Pervasives_Native.None, uu____636) in + let uu____652 = FStar_Tests_Util.nm FStar_Tests_Util.n in + [uu____652] in + uu____645 :: uu____649 in + FStar_Tests_Util.app uu____639 uu____642 in + (uu____570, FStar_Pervasives_Native.None, uu____636) in let lb = let uu____664 = - FStar_Ident.lid_of_path ["Pure"] FStar_Range.dummyRange in + FStar_Ident.lid_of_path ["Pure"] FStar_Range.dummyRange in let uu____668 = let uu____671 = let uu____672 = - let uu____673 = b FStar_Tests_Util.x in + let uu____673 = b FStar_Tests_Util.x in let uu____680 = - let uu____689 = b FStar_Tests_Util.y in [uu____689] in - uu____673 :: uu____680 in + let uu____689 = b FStar_Tests_Util.y in [uu____689] in + uu____673 :: uu____680 in let uu____714 = - let uu____717 = FStar_Tests_Util.nm FStar_Tests_Util.y in - mk_match uu____717 [zbranch; sbranch] in + let uu____717 = FStar_Tests_Util.nm FStar_Tests_Util.y in + mk_match uu____717 [zbranch; sbranch] in FStar_Syntax_Util.abs uu____672 uu____714 - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Syntax_Subst.subst [FStar_Syntax_Syntax.NM (minus1, (Prims.parse_int "0"))] - uu____671 in + uu____671 + in { FStar_Syntax_Syntax.lbname = (FStar_Util.Inl minus1); FStar_Syntax_Syntax.lbunivs = []; @@ -215,30 +231,34 @@ let (minus_nat : FStar_Syntax_Syntax.lbdef = uu____668; FStar_Syntax_Syntax.lbattrs = []; FStar_Syntax_Syntax.lbpos = FStar_Range.dummyRange - } in + } in let uu____724 = let uu____731 = let uu____732 = let uu____746 = let uu____749 = - let uu____750 = FStar_Tests_Util.nm minus1 in - FStar_Tests_Util.app uu____750 [t1; t2] in + let uu____750 = FStar_Tests_Util.nm minus1 in + FStar_Tests_Util.app uu____750 [t1; t2] in FStar_Syntax_Subst.subst [FStar_Syntax_Syntax.NM (minus1, (Prims.parse_int "0"))] - uu____749 in - ((true, [lb]), uu____746) in - FStar_Syntax_Syntax.Tm_let uu____732 in - FStar_Syntax_Syntax.mk uu____731 in + uu____749 + in + ((true, [lb]), uu____746) in + FStar_Syntax_Syntax.Tm_let uu____732 in + FStar_Syntax_Syntax.mk uu____731 in uu____724 FStar_Pervasives_Native.None FStar_Range.dummyRange + let (encode_nat : Prims.int -> FStar_Syntax_Syntax.term) = - fun n1 -> + fun n1 -> let rec aux out n2 = if n2 = (Prims.parse_int "0") then out else - (let uu____794 = snat out in - aux uu____794 (n2 - (Prims.parse_int "1"))) in + (let uu____794 = snat out in + aux uu____794 (n2 - (Prims.parse_int "1"))) + in aux znat n1 + let (tests : (Prims.int * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) Prims.list) @@ -287,50 +307,51 @@ let (tests : let uu____875 = let uu____878 = let uu____881 = - let uu____884 = FStar_Tests_Util.nm FStar_Tests_Util.n in - [uu____884] in - id :: uu____881 in - one :: uu____878 in - FStar_Tests_Util.app apply uu____875 in - let uu____885 = FStar_Tests_Util.nm FStar_Tests_Util.n in - ((Prims.parse_int "0"), uu____872, uu____885) in + let uu____884 = FStar_Tests_Util.nm FStar_Tests_Util.n in + [uu____884] in + id :: uu____881 in + one :: uu____878 in + FStar_Tests_Util.app apply uu____875 in + let uu____885 = FStar_Tests_Util.nm FStar_Tests_Util.n in + ((Prims.parse_int "0"), uu____872, uu____885) in let uu____894 = let uu____908 = let uu____920 = let uu____923 = - let uu____926 = FStar_Tests_Util.nm FStar_Tests_Util.x in - [uu____926] in - FStar_Tests_Util.app id uu____923 in - let uu____927 = FStar_Tests_Util.nm FStar_Tests_Util.x in - ((Prims.parse_int "1"), uu____920, uu____927) in + let uu____926 = FStar_Tests_Util.nm FStar_Tests_Util.x in + [uu____926] in + FStar_Tests_Util.app id uu____923 in + let uu____927 = FStar_Tests_Util.nm FStar_Tests_Util.x in + ((Prims.parse_int "1"), uu____920, uu____927) in let uu____936 = let uu____950 = let uu____962 = let uu____965 = let uu____968 = - let uu____971 = FStar_Tests_Util.nm FStar_Tests_Util.n in + let uu____971 = FStar_Tests_Util.nm FStar_Tests_Util.n in let uu____972 = - let uu____975 = FStar_Tests_Util.nm FStar_Tests_Util.m in - [uu____975] in - uu____971 :: uu____972 in - tt :: uu____968 in - FStar_Tests_Util.app apply uu____965 in - let uu____976 = FStar_Tests_Util.nm FStar_Tests_Util.n in - ((Prims.parse_int "1"), uu____962, uu____976) in + let uu____975 = FStar_Tests_Util.nm FStar_Tests_Util.m in + [uu____975] in + uu____971 :: uu____972 in + tt :: uu____968 in + FStar_Tests_Util.app apply uu____965 in + let uu____976 = FStar_Tests_Util.nm FStar_Tests_Util.n in + ((Prims.parse_int "1"), uu____962, uu____976) in let uu____985 = let uu____999 = let uu____1011 = let uu____1014 = let uu____1017 = - let uu____1020 = FStar_Tests_Util.nm FStar_Tests_Util.n in + let uu____1020 = FStar_Tests_Util.nm FStar_Tests_Util.n in let uu____1021 = - let uu____1024 = FStar_Tests_Util.nm FStar_Tests_Util.m in - [uu____1024] in - uu____1020 :: uu____1021 in - ff :: uu____1017 in - FStar_Tests_Util.app apply uu____1014 in - let uu____1025 = FStar_Tests_Util.nm FStar_Tests_Util.m in - ((Prims.parse_int "2"), uu____1011, uu____1025) in + let uu____1024 = FStar_Tests_Util.nm FStar_Tests_Util.m + in + [uu____1024] in + uu____1020 :: uu____1021 in + ff :: uu____1017 in + FStar_Tests_Util.app apply uu____1014 in + let uu____1025 = FStar_Tests_Util.nm FStar_Tests_Util.m in + ((Prims.parse_int "2"), uu____1011, uu____1025) in let uu____1034 = let uu____1048 = let uu____1060 = @@ -342,21 +363,21 @@ let (tests : let uu____1078 = let uu____1081 = let uu____1084 = - FStar_Tests_Util.nm FStar_Tests_Util.n in + FStar_Tests_Util.nm FStar_Tests_Util.n in let uu____1085 = let uu____1088 = - FStar_Tests_Util.nm FStar_Tests_Util.m in - [uu____1088] in - uu____1084 :: uu____1085 in - ff :: uu____1081 in - apply :: uu____1078 in - apply :: uu____1075 in - apply :: uu____1072 in - apply :: uu____1069 in - apply :: uu____1066 in - FStar_Tests_Util.app apply uu____1063 in - let uu____1089 = FStar_Tests_Util.nm FStar_Tests_Util.m in - ((Prims.parse_int "3"), uu____1060, uu____1089) in + FStar_Tests_Util.nm FStar_Tests_Util.m in + [uu____1088] in + uu____1084 :: uu____1085 in + ff :: uu____1081 in + apply :: uu____1078 in + apply :: uu____1075 in + apply :: uu____1072 in + apply :: uu____1069 in + apply :: uu____1066 in + FStar_Tests_Util.app apply uu____1063 in + let uu____1089 = FStar_Tests_Util.nm FStar_Tests_Util.m in + ((Prims.parse_int "3"), uu____1060, uu____1089) in let uu____1098 = let uu____1112 = let uu____1124 = @@ -364,379 +385,466 @@ let (tests : let uu____1130 = let uu____1133 = let uu____1136 = - FStar_Tests_Util.nm FStar_Tests_Util.n in + FStar_Tests_Util.nm FStar_Tests_Util.n in let uu____1137 = let uu____1140 = - FStar_Tests_Util.nm FStar_Tests_Util.m in - [uu____1140] in - uu____1136 :: uu____1137 in - ff :: uu____1133 in - apply :: uu____1130 in - FStar_Tests_Util.app twice uu____1127 in - let uu____1141 = FStar_Tests_Util.nm FStar_Tests_Util.m in - ((Prims.parse_int "4"), uu____1124, uu____1141) in + FStar_Tests_Util.nm FStar_Tests_Util.m in + [uu____1140] in + uu____1136 :: uu____1137 in + ff :: uu____1133 in + apply :: uu____1130 in + FStar_Tests_Util.app twice uu____1127 in + let uu____1141 = FStar_Tests_Util.nm FStar_Tests_Util.m in + ((Prims.parse_int "4"), uu____1124, uu____1141) in let uu____1150 = let uu____1164 = - let uu____1176 = minus one z in - ((Prims.parse_int "5"), uu____1176, one) in + let uu____1176 = minus one z in + ((Prims.parse_int "5"), uu____1176, one) in let uu____1185 = let uu____1199 = - let uu____1211 = FStar_Tests_Util.app pred [one] in - ((Prims.parse_int "6"), uu____1211, z) in + let uu____1211 = FStar_Tests_Util.app pred [one] in + ((Prims.parse_int "6"), uu____1211, z) in let uu____1220 = let uu____1234 = - let uu____1246 = minus one one in - ((Prims.parse_int "7"), uu____1246, z) in + let uu____1246 = minus one one in + ((Prims.parse_int "7"), uu____1246, z) in let uu____1255 = let uu____1269 = - let uu____1281 = FStar_Tests_Util.app mul [one; one] in - ((Prims.parse_int "8"), uu____1281, one) in + let uu____1281 = FStar_Tests_Util.app mul [one; one] + in + ((Prims.parse_int "8"), uu____1281, one) in let uu____1290 = let uu____1304 = - let uu____1316 = FStar_Tests_Util.app mul [two; one] in - ((Prims.parse_int "9"), uu____1316, two) in + let uu____1316 = FStar_Tests_Util.app mul [two; one] + in + ((Prims.parse_int "9"), uu____1316, two) in let uu____1325 = let uu____1339 = let uu____1351 = let uu____1354 = let uu____1357 = - FStar_Tests_Util.app succ [one] in - [uu____1357; one] in - FStar_Tests_Util.app mul uu____1354 in - ((Prims.parse_int "10"), uu____1351, two) in + FStar_Tests_Util.app succ [one] in + [uu____1357; one] in + FStar_Tests_Util.app mul uu____1354 in + ((Prims.parse_int "10"), uu____1351, two) in let uu____1364 = let uu____1378 = let uu____1390 = - let uu____1393 = encode (Prims.parse_int "10") in - let uu____1395 = encode (Prims.parse_int "10") in - minus uu____1393 uu____1395 in - ((Prims.parse_int "11"), uu____1390, z) in + let uu____1393 = encode (Prims.parse_int "10") + in + let uu____1395 = encode (Prims.parse_int "10") + in + minus uu____1393 uu____1395 in + ((Prims.parse_int "11"), uu____1390, z) in let uu____1405 = let uu____1419 = let uu____1431 = let uu____1434 = - encode (Prims.parse_int "100") in + encode (Prims.parse_int "100") in let uu____1436 = - encode (Prims.parse_int "100") in - minus uu____1434 uu____1436 in - ((Prims.parse_int "12"), uu____1431, z) in + encode (Prims.parse_int "100") in + minus uu____1434 uu____1436 in + ((Prims.parse_int "12"), uu____1431, z) in let uu____1446 = let uu____1460 = let uu____1472 = let uu____1475 = - encode (Prims.parse_int "100") in + encode (Prims.parse_int "100") in let uu____1477 = let uu____1480 = - FStar_Tests_Util.nm FStar_Tests_Util.x in + FStar_Tests_Util.nm FStar_Tests_Util.x + in let uu____1481 = - FStar_Tests_Util.nm FStar_Tests_Util.x in - minus uu____1480 uu____1481 in + FStar_Tests_Util.nm FStar_Tests_Util.x + in + minus uu____1480 uu____1481 in let_ FStar_Tests_Util.x uu____1475 - uu____1477 in - ((Prims.parse_int "13"), uu____1472, z) in + uu____1477 + in + ((Prims.parse_int "13"), uu____1472, z) in let uu____1490 = let uu____1504 = let uu____1516 = let uu____1519 = - FStar_Tests_Util.app succ [one] in + FStar_Tests_Util.app succ [one] in let uu____1520 = let uu____1523 = let uu____1524 = let uu____1527 = FStar_Tests_Util.nm - FStar_Tests_Util.x in + FStar_Tests_Util.x + in let uu____1528 = let uu____1531 = FStar_Tests_Util.nm - FStar_Tests_Util.x in - [uu____1531] in - uu____1527 :: uu____1528 in - FStar_Tests_Util.app mul uu____1524 in + FStar_Tests_Util.x + in + [uu____1531] in + uu____1527 :: uu____1528 in + FStar_Tests_Util.app mul uu____1524 + in let uu____1532 = let uu____1535 = let uu____1536 = let uu____1539 = FStar_Tests_Util.nm - FStar_Tests_Util.y in + FStar_Tests_Util.y + in let uu____1540 = let uu____1543 = FStar_Tests_Util.nm - FStar_Tests_Util.y in - [uu____1543] in - uu____1539 :: uu____1540 in + FStar_Tests_Util.y + in + [uu____1543] in + uu____1539 :: uu____1540 in FStar_Tests_Util.app mul - uu____1536 in + uu____1536 + in let uu____1544 = let uu____1547 = FStar_Tests_Util.nm - FStar_Tests_Util.h in + FStar_Tests_Util.h + in let uu____1548 = FStar_Tests_Util.nm - FStar_Tests_Util.h in - minus uu____1547 uu____1548 in + FStar_Tests_Util.h + in + minus uu____1547 uu____1548 in let_ FStar_Tests_Util.h uu____1535 - uu____1544 in + uu____1544 + in let_ FStar_Tests_Util.y uu____1523 - uu____1532 in + uu____1532 + in let_ FStar_Tests_Util.x uu____1519 - uu____1520 in - ((Prims.parse_int "15"), uu____1516, z) in + uu____1520 + in + ((Prims.parse_int "15"), uu____1516, z) + in let uu____1557 = let uu____1571 = let uu____1583 = let uu____1586 = - FStar_Tests_Util.app succ [one] in + FStar_Tests_Util.app succ [one] in let uu____1589 = let uu____1590 = let uu____1593 = let uu____1596 = FStar_Tests_Util.nm - FStar_Tests_Util.x in + FStar_Tests_Util.x + in let uu____1597 = let uu____1600 = FStar_Tests_Util.nm - FStar_Tests_Util.x in - [uu____1600] in - uu____1596 :: uu____1597 in + FStar_Tests_Util.x + in + [uu____1600] in + uu____1596 :: uu____1597 in FStar_Tests_Util.app mul - uu____1593 in + uu____1593 + in let uu____1601 = let uu____1602 = let uu____1605 = let uu____1608 = FStar_Tests_Util.nm - FStar_Tests_Util.y in + FStar_Tests_Util.y + in let uu____1609 = let uu____1612 = FStar_Tests_Util.nm - FStar_Tests_Util.y in - [uu____1612] in - uu____1608 :: uu____1609 in + FStar_Tests_Util.y + in + [uu____1612] in + uu____1608 :: uu____1609 in FStar_Tests_Util.app mul - uu____1605 in + uu____1605 + in let uu____1613 = let uu____1614 = FStar_Tests_Util.nm - FStar_Tests_Util.h in + FStar_Tests_Util.h + in let uu____1615 = FStar_Tests_Util.nm - FStar_Tests_Util.h in - minus uu____1614 uu____1615 in + FStar_Tests_Util.h + in + minus uu____1614 uu____1615 in mk_let FStar_Tests_Util.h - uu____1602 uu____1613 in + uu____1602 uu____1613 + in mk_let FStar_Tests_Util.y uu____1590 - uu____1601 in + uu____1601 + in mk_let FStar_Tests_Util.x uu____1586 - uu____1589 in - ((Prims.parse_int "16"), uu____1583, z) in + uu____1589 + in + ((Prims.parse_int "16"), uu____1583, z) + in let uu____1624 = let uu____1638 = let uu____1650 = let uu____1653 = - FStar_Tests_Util.app succ [one] in + FStar_Tests_Util.app succ [one] + in let uu____1654 = let uu____1657 = let uu____1658 = let uu____1661 = FStar_Tests_Util.nm - FStar_Tests_Util.x in + FStar_Tests_Util.x + in let uu____1662 = let uu____1665 = FStar_Tests_Util.nm - FStar_Tests_Util.x in - [uu____1665] in - uu____1661 :: uu____1662 in + FStar_Tests_Util.x + in + [uu____1665] in + uu____1661 :: uu____1662 in FStar_Tests_Util.app mul - uu____1658 in + uu____1658 + in let uu____1666 = let uu____1669 = let uu____1670 = let uu____1673 = FStar_Tests_Util.nm - FStar_Tests_Util.y in + FStar_Tests_Util.y + in let uu____1674 = let uu____1677 = FStar_Tests_Util.nm - FStar_Tests_Util.y in - [uu____1677] in - uu____1673 :: uu____1674 in + FStar_Tests_Util.y + in + [uu____1677] in + uu____1673 :: uu____1674 in FStar_Tests_Util.app mul - uu____1670 in + uu____1670 + in let uu____1678 = let uu____1681 = FStar_Tests_Util.nm - FStar_Tests_Util.h in + FStar_Tests_Util.h + in let uu____1682 = FStar_Tests_Util.nm - FStar_Tests_Util.h in - minus uu____1681 uu____1682 in + FStar_Tests_Util.h + in + minus uu____1681 uu____1682 + in let_ FStar_Tests_Util.h - uu____1669 uu____1678 in + uu____1669 uu____1678 + in let_ FStar_Tests_Util.y uu____1657 - uu____1666 in + uu____1666 + in let_ FStar_Tests_Util.x uu____1653 - uu____1654 in + uu____1654 + in ((Prims.parse_int "17"), uu____1650, - z) in + z) + in let uu____1691 = let uu____1705 = let uu____1717 = let uu____1720 = - let uu____1723 = snat znat in - snat uu____1723 in - pred_nat uu____1720 in - let uu____1724 = snat znat in + let uu____1723 = snat znat in + snat uu____1723 in + pred_nat uu____1720 in + let uu____1724 = snat znat in ((Prims.parse_int "18"), uu____1717, - uu____1724) in + uu____1724) + in let uu____1733 = let uu____1747 = let uu____1759 = let uu____1762 = let uu____1763 = - let uu____1764 = snat znat in - snat uu____1764 in - let uu____1765 = snat znat in + let uu____1764 = snat znat + in + snat uu____1764 in + let uu____1765 = snat znat in minus_nat uu____1763 - uu____1765 in + uu____1765 + in FStar_Tests_Pars.tc_nbe_term - uu____1762 in - let uu____1766 = snat znat in + uu____1762 + in + let uu____1766 = snat znat in ((Prims.parse_int "19"), - uu____1759, uu____1766) in + uu____1759, uu____1766) + in let uu____1775 = let uu____1789 = let uu____1801 = let uu____1804 = let uu____1805 = encode_nat - (Prims.parse_int "10") in + (Prims.parse_int "10") + in let uu____1807 = encode_nat - (Prims.parse_int "10") in + (Prims.parse_int "10") + in minus_nat uu____1805 - uu____1807 in + uu____1807 + in FStar_Tests_Pars.tc_nbe_term - uu____1804 in + uu____1804 + in ((Prims.parse_int "20"), - uu____1801, znat) in + uu____1801, znat) + in let uu____1815 = let uu____1829 = let uu____1841 = let uu____1844 = let uu____1845 = encode_nat - (Prims.parse_int "100") in + (Prims.parse_int "100") + in let uu____1847 = encode_nat - (Prims.parse_int "100") in + (Prims.parse_int "100") + in minus_nat uu____1845 - uu____1847 in + uu____1847 + in FStar_Tests_Pars.tc_nbe_term - uu____1844 in + uu____1844 + in ((Prims.parse_int "21"), - uu____1841, znat) in + uu____1841, znat) + in let uu____1855 = let uu____1869 = let uu____1881 = FStar_Tests_Pars.tc_nbe - "recons [0;1]" in + "recons [0;1]" + in let uu____1885 = FStar_Tests_Pars.tc_nbe - "[0;1]" in + "[0;1]" + in ((Prims.parse_int "24"), - uu____1881, uu____1885) in + uu____1881, uu____1885) + in let uu____1895 = let uu____1909 = let uu____1921 = FStar_Tests_Pars.tc_nbe - "recons [false;true;false]" in + "recons [false;true;false]" + in let uu____1925 = FStar_Tests_Pars.tc_nbe - "[false;true;false]" in + "[false;true;false]" + in ((Prims.parse_int "241"), - uu____1921, uu____1925) in + uu____1921, uu____1925) + in let uu____1935 = let uu____1949 = let uu____1961 = FStar_Tests_Pars.tc_nbe - "copy [0;1]" in + "copy [0;1]" + in let uu____1965 = FStar_Tests_Pars.tc_nbe - "[0;1]" in + "[0;1]" + in ((Prims.parse_int "25"), uu____1961, - uu____1965) in + uu____1965) + in let uu____1975 = let uu____1989 = let uu____2001 = FStar_Tests_Pars.tc_nbe - "rev [0;1;2;3;4;5;6;7;8;9;10]" in + "rev [0;1;2;3;4;5;6;7;8;9;10]" + in let uu____2005 = FStar_Tests_Pars.tc_nbe - "[10;9;8;7;6;5;4;3;2;1;0]" in + "[10;9;8;7;6;5;4;3;2;1;0]" + in ((Prims.parse_int "26"), uu____2001, - uu____2005) in + uu____2005) + in let uu____2015 = let uu____2029 = let uu____2041 = FStar_Tests_Pars.tc_nbe - "(fun x y z q -> z) T T F T" in + "(fun x y z q -> z) T T F T" + in let uu____2045 = FStar_Tests_Pars.tc_nbe - "F" in + "F" + in ((Prims.parse_int "28"), uu____2041, - uu____2045) in + uu____2045) + in let uu____2055 = let uu____2069 = let uu____2081 = FStar_Tests_Pars.tc_nbe - "[T; F]" in + "[T; F]" + in let uu____2085 = FStar_Tests_Pars.tc_nbe - "[T; F]" in + "[T; F]" + in ((Prims.parse_int "29"), uu____2081, - uu____2085) in + uu____2085) + in let uu____2095 = let uu____2109 = let uu____2121 = FStar_Tests_Pars.tc_nbe - "id_tb T" in + "id_tb T" + in let uu____2125 = FStar_Tests_Pars.tc_nbe - "T" in + "T" + in ((Prims.parse_int "31"), uu____2121, - uu____2125) in + uu____2125) + in let uu____2135 = let uu____2149 = let uu____2161 = FStar_Tests_Pars.tc_nbe - "(fun #a x -> x) #tb T" in + "(fun #a x -> x) #tb T" + in let uu____2165 = FStar_Tests_Pars.tc_nbe - "T" in + "T" + in ((Prims.parse_int "32"), uu____2161, - uu____2165) in + uu____2165) + in let uu____2175 = let uu____2189 = let uu____2201 = FStar_Tests_Pars.tc_nbe - "revtb T" in + "revtb T" + in let uu____2205 = FStar_Tests_Pars.tc_nbe - "F" in + "F" + in ((Prims.parse_int "33"), uu____2201, - uu____2205) in + uu____2205) + in let uu____2215 = let uu____2229 @@ -744,14 +852,16 @@ let (tests : let uu____2241 = FStar_Tests_Pars.tc_nbe - "(fun x y -> x) T F" in + "(fun x y -> x) T F" + in let uu____2245 = FStar_Tests_Pars.tc_nbe - "T" in + "T" in ((Prims.parse_int "34"), uu____2241, - uu____2245) in + uu____2245) + in let uu____2255 = let uu____2269 @@ -759,14 +869,16 @@ let (tests : let uu____2281 = FStar_Tests_Pars.tc_nbe - "fst_a T F" in + "fst_a T F" + in let uu____2285 = FStar_Tests_Pars.tc_nbe - "T" in + "T" in ((Prims.parse_int "35"), uu____2281, - uu____2285) in + uu____2285) + in let uu____2295 = let uu____2309 @@ -774,14 +886,16 @@ let (tests : let uu____2321 = FStar_Tests_Pars.tc_nbe - "idd T" in + "idd T" + in let uu____2325 = FStar_Tests_Pars.tc_nbe - "T" in + "T" in ((Prims.parse_int "36"), uu____2321, - uu____2325) in + uu____2325) + in let uu____2335 = let uu____2349 @@ -789,14 +903,16 @@ let (tests : let uu____2361 = FStar_Tests_Pars.tc_nbe - "id_list [T]" in + "id_list [T]" + in let uu____2365 = FStar_Tests_Pars.tc_nbe - "[T]" in + "[T]" in ((Prims.parse_int "301"), uu____2361, - uu____2365) in + uu____2365) + in let uu____2375 = let uu____2389 @@ -804,14 +920,16 @@ let (tests : let uu____2401 = FStar_Tests_Pars.tc_nbe - "id_list_m [T]" in + "id_list_m [T]" + in let uu____2405 = FStar_Tests_Pars.tc_nbe - "[T]" in + "[T]" in ((Prims.parse_int "3012"), uu____2401, - uu____2405) in + uu____2405) + in let uu____2415 = let uu____2429 @@ -819,14 +937,17 @@ let (tests : let uu____2441 = FStar_Tests_Pars.tc_nbe - "recons_m [T; F]" in + "recons_m [T; F]" + in let uu____2445 = FStar_Tests_Pars.tc_nbe - "[T; F]" in + "[T; F]" + in ((Prims.parse_int "302"), uu____2441, - uu____2445) in + uu____2445) + in let uu____2455 = let uu____2469 @@ -834,14 +955,16 @@ let (tests : let uu____2481 = FStar_Tests_Pars.tc_nbe - "select T A1 A3" in + "select T A1 A3" + in let uu____2485 = FStar_Tests_Pars.tc_nbe - "A1" in + "A1" in ((Prims.parse_int "303"), uu____2481, - uu____2485) in + uu____2485) + in let uu____2495 = let uu____2509 @@ -849,14 +972,16 @@ let (tests : let uu____2521 = FStar_Tests_Pars.tc_nbe - "select T 3 4" in + "select T 3 4" + in let uu____2525 = FStar_Tests_Pars.tc_nbe - "3" in + "3" in ((Prims.parse_int "3031"), uu____2521, - uu____2525) in + uu____2525) + in let uu____2535 = let uu____2549 @@ -864,14 +989,16 @@ let (tests : let uu____2561 = FStar_Tests_Pars.tc_nbe - "select_bool false 3 4" in + "select_bool false 3 4" + in let uu____2565 = FStar_Tests_Pars.tc_nbe - "4" in + "4" in ((Prims.parse_int "3032"), uu____2561, - uu____2565) in + uu____2565) + in let uu____2575 = let uu____2589 @@ -879,14 +1006,16 @@ let (tests : let uu____2601 = FStar_Tests_Pars.tc_nbe - "select_int3 1 7 8 9" in + "select_int3 1 7 8 9" + in let uu____2605 = FStar_Tests_Pars.tc_nbe - "8" in + "8" in ((Prims.parse_int "3033"), uu____2601, - uu____2605) in + uu____2605) + in let uu____2615 = let uu____2629 @@ -894,14 +1023,15 @@ let (tests : let uu____2641 = FStar_Tests_Pars.tc_nbe - "[5]" in + "[5]" in let uu____2645 = FStar_Tests_Pars.tc_nbe - "[5]" in + "[5]" in ((Prims.parse_int "3034"), uu____2641, - uu____2645) in + uu____2645) + in let uu____2655 = let uu____2669 @@ -909,14 +1039,17 @@ let (tests : let uu____2681 = FStar_Tests_Pars.tc_nbe - "[\"abcd\"]" in + "[\"abcd\"]" + in let uu____2685 = FStar_Tests_Pars.tc_nbe - "[\"abcd\"]" in + "[\"abcd\"]" + in ((Prims.parse_int "3035"), uu____2681, - uu____2685) in + uu____2685) + in let uu____2695 = let uu____2709 @@ -924,14 +1057,16 @@ let (tests : let uu____2721 = FStar_Tests_Pars.tc_nbe - "select_string3 \"def\" 5 6 7" in + "select_string3 \"def\" 5 6 7" + in let uu____2725 = FStar_Tests_Pars.tc_nbe - "6" in + "6" in ((Prims.parse_int "3036"), uu____2721, - uu____2725) in + uu____2725) + in let uu____2735 = let uu____2749 @@ -939,14 +1074,16 @@ let (tests : let uu____2761 = FStar_Tests_Pars.tc_nbe - "idd T" in + "idd T" + in let uu____2765 = FStar_Tests_Pars.tc_nbe - "T" in + "T" in ((Prims.parse_int "305"), uu____2761, - uu____2765) in + uu____2765) + in let uu____2775 = let uu____2789 @@ -954,14 +1091,16 @@ let (tests : let uu____2801 = FStar_Tests_Pars.tc_nbe - "recons [T]" in + "recons [T]" + in let uu____2805 = FStar_Tests_Pars.tc_nbe - "[T]" in + "[T]" in ((Prims.parse_int "306"), uu____2801, - uu____2805) in + uu____2805) + in let uu____2815 = let uu____2829 @@ -969,14 +1108,17 @@ let (tests : let uu____2841 = FStar_Tests_Pars.tc_nbe - "copy_tb_list_2 [T;F;T;F;T;F;F]" in + "copy_tb_list_2 [T;F;T;F;T;F;F]" + in let uu____2845 = FStar_Tests_Pars.tc_nbe - "[T;F;T;F;T;F;F]" in + "[T;F;T;F;T;F;F]" + in ((Prims.parse_int "307"), uu____2841, - uu____2845) in + uu____2845) + in let uu____2855 = let uu____2869 @@ -984,14 +1126,17 @@ let (tests : let uu____2881 = FStar_Tests_Pars.tc_nbe - "copy_list_2 [T;F;T;F;T;F;F]" in + "copy_list_2 [T;F;T;F;T;F;F]" + in let uu____2885 = FStar_Tests_Pars.tc_nbe - "[T;F;T;F;T;F;F]" in + "[T;F;T;F;T;F;F]" + in ((Prims.parse_int "308"), uu____2881, - uu____2885) in + uu____2885) + in let uu____2895 = let uu____2909 @@ -999,14 +1144,17 @@ let (tests : let uu____2921 = FStar_Tests_Pars.tc_nbe - "rev [T; F; F]" in + "rev [T; F; F]" + in let uu____2925 = FStar_Tests_Pars.tc_nbe - "[F; F; T]" in + "[F; F; T]" + in ((Prims.parse_int "304"), uu____2921, - uu____2925) in + uu____2925) + in let uu____2935 = let uu____2949 @@ -1014,14 +1162,17 @@ let (tests : let uu____2961 = FStar_Tests_Pars.tc_nbe - "rev [[T]; [F; T]]" in + "rev [[T]; [F; T]]" + in let uu____2965 = FStar_Tests_Pars.tc_nbe - "[[F; T]; [T]]" in + "[[F; T]; [T]]" + in ((Prims.parse_int "305"), uu____2961, - uu____2965) in + uu____2965) + in let uu____2975 = let uu____2989 @@ -1029,14 +1180,15 @@ let (tests : let uu____3001 = FStar_Tests_Pars.tc_nbe - "x1" in + "x1" in let uu____3005 = FStar_Tests_Pars.tc_nbe - "6" in + "6" in ((Prims.parse_int "309"), uu____3001, - uu____3005) in + uu____3005) + in let uu____3015 = let uu____3029 @@ -1044,14 +1196,15 @@ let (tests : let uu____3041 = FStar_Tests_Pars.tc_nbe - "x2" in + "x2" in let uu____3045 = FStar_Tests_Pars.tc_nbe - "2" in + "2" in ((Prims.parse_int "310"), uu____3041, - uu____3045) in + uu____3045) + in let uu____3055 = let uu____3069 @@ -1059,14 +1212,16 @@ let (tests : let uu____3081 = FStar_Tests_Pars.tc_nbe - "7 + 3" in + "7 + 3" + in let uu____3085 = FStar_Tests_Pars.tc_nbe - "10" in + "10" in ((Prims.parse_int "401"), uu____3081, - uu____3085) in + uu____3085) + in let uu____3095 = let uu____3109 @@ -1074,14 +1229,17 @@ let (tests : let uu____3121 = FStar_Tests_Pars.tc_nbe - "true && false" in + "true && false" + in let uu____3125 = FStar_Tests_Pars.tc_nbe - "false" in + "false" + in ((Prims.parse_int "402"), uu____3121, - uu____3125) in + uu____3125) + in let uu____3135 = let uu____3149 @@ -1089,14 +1247,17 @@ let (tests : let uu____3161 = FStar_Tests_Pars.tc_nbe - "3 = 5" in + "3 = 5" + in let uu____3165 = FStar_Tests_Pars.tc_nbe - "false" in + "false" + in ((Prims.parse_int "403"), uu____3161, - uu____3165) in + uu____3165) + in let uu____3175 = let uu____3189 @@ -1104,123 +1265,159 @@ let (tests : let uu____3201 = FStar_Tests_Pars.tc_nbe - "\"abc\" ^ \"def\"" in + "\"abc\" ^ \"def\"" + in let uu____3205 = FStar_Tests_Pars.tc_nbe - "\"abcdef\"" in + "\"abcdef\"" + in ((Prims.parse_int "404"), uu____3201, - uu____3205) in - [uu____3189] in + uu____3205) + in + [uu____3189] + in uu____3149 :: - uu____3175 in + uu____3175 + in uu____3109 :: - uu____3135 in + uu____3135 + in uu____3069 :: - uu____3095 in + uu____3095 + in uu____3029 :: - uu____3055 in + uu____3055 + in uu____2989 :: - uu____3015 in + uu____3015 + in uu____2949 :: - uu____2975 in + uu____2975 + in uu____2909 :: - uu____2935 in + uu____2935 + in uu____2869 :: - uu____2895 in + uu____2895 + in uu____2829 :: - uu____2855 in + uu____2855 + in uu____2789 :: - uu____2815 in + uu____2815 + in uu____2749 :: - uu____2775 in + uu____2775 + in uu____2709 :: - uu____2735 in + uu____2735 + in uu____2669 :: - uu____2695 in + uu____2695 + in uu____2629 :: - uu____2655 in + uu____2655 + in uu____2589 :: - uu____2615 in + uu____2615 + in uu____2549 :: - uu____2575 in + uu____2575 + in uu____2509 :: - uu____2535 in + uu____2535 + in uu____2469 :: - uu____2495 in + uu____2495 + in uu____2429 :: - uu____2455 in + uu____2455 + in uu____2389 :: - uu____2415 in + uu____2415 + in uu____2349 :: - uu____2375 in + uu____2375 + in uu____2309 :: - uu____2335 in + uu____2335 + in uu____2269 :: - uu____2295 in + uu____2295 + in uu____2229 :: - uu____2255 in + uu____2255 + in uu____2189 :: - uu____2215 in + uu____2215 + in uu____2149 :: - uu____2175 in + uu____2175 + in uu____2109 :: - uu____2135 in + uu____2135 + in uu____2069 :: - uu____2095 in + uu____2095 + in uu____2029 :: - uu____2055 in - uu____1989 :: uu____2015 in - uu____1949 :: uu____1975 in - uu____1909 :: uu____1935 in - uu____1869 :: uu____1895 in - uu____1829 :: uu____1855 in - uu____1789 :: uu____1815 in - uu____1747 :: uu____1775 in - uu____1705 :: uu____1733 in - uu____1638 :: uu____1691 in - uu____1571 :: uu____1624 in - uu____1504 :: uu____1557 in - uu____1460 :: uu____1490 in - uu____1419 :: uu____1446 in - uu____1378 :: uu____1405 in - uu____1339 :: uu____1364 in - uu____1304 :: uu____1325 in - uu____1269 :: uu____1290 in - uu____1234 :: uu____1255 in - uu____1199 :: uu____1220 in - uu____1164 :: uu____1185 in - uu____1112 :: uu____1150 in - uu____1048 :: uu____1098 in - uu____999 :: uu____1034 in - uu____950 :: uu____985 in - uu____908 :: uu____936 in + uu____2055 + in + uu____1989 :: uu____2015 + in + uu____1949 :: uu____1975 + in + uu____1909 :: uu____1935 in + uu____1869 :: uu____1895 in + uu____1829 :: uu____1855 in + uu____1789 :: uu____1815 in + uu____1747 :: uu____1775 in + uu____1705 :: uu____1733 in + uu____1638 :: uu____1691 in + uu____1571 :: uu____1624 in + uu____1504 :: uu____1557 in + uu____1460 :: uu____1490 in + uu____1419 :: uu____1446 in + uu____1378 :: uu____1405 in + uu____1339 :: uu____1364 in + uu____1304 :: uu____1325 in + uu____1269 :: uu____1290 in + uu____1234 :: uu____1255 in + uu____1199 :: uu____1220 in + uu____1164 :: uu____1185 in + uu____1112 :: uu____1150 in + uu____1048 :: uu____1098 in + uu____999 :: uu____1034 in + uu____950 :: uu____985 in + uu____908 :: uu____936 in uu____860 :: uu____894) + let run_either : 'Auu____3853 . Prims.int -> @@ -1230,79 +1427,84 @@ let run_either : 'Auu____3853 -> FStar_Syntax_Syntax.term) -> unit = - fun i -> - fun r -> - fun expected -> - fun normalizer -> - (let uu____3891 = FStar_Util.string_of_int i in + fun i -> + fun r -> + fun expected -> + fun normalizer -> + (let uu____3891 = FStar_Util.string_of_int i in FStar_Util.print1 "%s: ... \n\n" uu____3891); - (let tcenv = FStar_Tests_Pars.init () in - (let uu____3896 = FStar_Main.process_args () in - FStar_All.pipe_right uu____3896 (fun a1 -> ())); - (let x1 = normalizer tcenv r in + (let tcenv = FStar_Tests_Pars.init () in + (let uu____3896 = FStar_Main.process_args () in + FStar_All.pipe_right uu____3896 (fun a1 -> ())); + (let x1 = normalizer tcenv r in FStar_Options.init (); FStar_Options.set_option "print_universes" (FStar_Options.Bool true); FStar_Options.set_option "print_implicits" (FStar_Options.Bool true); (let uu____3919 = - let uu____3921 = FStar_Syntax_Util.unascribe x1 in - FStar_Tests_Util.term_eq uu____3921 expected in + let uu____3921 = FStar_Syntax_Util.unascribe x1 in + FStar_Tests_Util.term_eq uu____3921 expected in FStar_Tests_Util.always i uu____3919))) + let (run_interpreter : Prims.int -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> unit) = - fun i -> - fun r -> - fun expected -> + fun i -> + fun r -> + fun expected -> run_either i r expected (FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.Primops]) + let (run_nbe : Prims.int -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> unit) = - fun i -> - fun r -> - fun expected -> + fun i -> + fun r -> + fun expected -> run_either i r expected (FStar_TypeChecker_NBE.normalize_for_unit_test [FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant]) + let (run_interpreter_with_time : Prims.int -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> (Prims.int * FStar_BaseTypes.float)) = - fun i -> - fun r -> - fun expected -> - let interp uu____4000 = run_interpreter i r expected in + fun i -> + fun r -> + fun expected -> + let interp uu____4000 = run_interpreter i r expected in let uu____4001 = - let uu____4002 = FStar_Util.return_execution_time interp in - FStar_Pervasives_Native.snd uu____4002 in + let uu____4002 = FStar_Util.return_execution_time interp in + FStar_Pervasives_Native.snd uu____4002 in (i, uu____4001) + let (run_nbe_with_time : Prims.int -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> (Prims.int * FStar_BaseTypes.float)) = - fun i -> - fun r -> - fun expected -> - let nbe1 uu____4040 = run_nbe i r expected in + fun i -> + fun r -> + fun expected -> + let nbe1 uu____4040 = run_nbe i r expected in let uu____4041 = - let uu____4042 = FStar_Util.return_execution_time nbe1 in - FStar_Pervasives_Native.snd uu____4042 in + let uu____4042 = FStar_Util.return_execution_time nbe1 in + FStar_Pervasives_Native.snd uu____4042 in (i, uu____4041) + let run_tests : 'Auu____4053 . (Prims.int -> @@ -1310,88 +1512,98 @@ let run_tests : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> 'Auu____4053) -> 'Auu____4053 Prims.list = - fun run1 -> + fun run1 -> FStar_Options.__set_unit_tests (); (let l = FStar_List.map - (fun uu___0_4105 -> - match uu___0_4105 with | (no, test, res) -> run1 no test res) - tests in + (fun uu___0_4105 -> + match uu___0_4105 with | (no,test,res) -> run1 no test res) tests + in FStar_Options.__clear_unit_tests (); l) + let (run_all_nbe : unit -> unit) = - fun uu____4136 -> + fun uu____4136 -> FStar_Util.print_string "Testing NBE\n"; - (let uu____4139 = run_tests run_nbe in FStar_Util.print_string "NBE ok\n") + (let uu____4139 = run_tests run_nbe in + FStar_Util.print_string "NBE ok\n") + let (run_all_interpreter : unit -> unit) = - fun uu____4148 -> + fun uu____4148 -> FStar_Util.print_string "Testing the normalizer\n"; - (let uu____4151 = run_tests run_interpreter in + (let uu____4151 = run_tests run_interpreter in FStar_Util.print_string "Normalizer ok\n") + let (run_all_nbe_with_time : unit -> (Prims.int * FStar_BaseTypes.float) Prims.list) = - fun uu____4167 -> + fun uu____4167 -> FStar_Util.print_string "Testing NBE\n"; - (let l = run_tests run_nbe_with_time in + (let l = run_tests run_nbe_with_time in FStar_Util.print_string "NBE ok\n"; l) + let (run_all_interpreter_with_time : unit -> (Prims.int * FStar_BaseTypes.float) Prims.list) = - fun uu____4197 -> + fun uu____4197 -> FStar_Util.print_string "Testing the normalizer\n"; - (let l = run_tests run_interpreter_with_time in + (let l = run_tests run_interpreter_with_time in FStar_Util.print_string "Normalizer ok\n"; l) + let (run_both_with_time : Prims.int -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> unit) = - fun i -> - fun r -> - fun expected -> - let nbe1 uu____4242 = run_nbe i r expected in - let norm1 uu____4248 = run_interpreter i r expected in + fun i -> + fun r -> + fun expected -> + let nbe1 uu____4242 = run_nbe i r expected in + let norm1 uu____4248 = run_interpreter i r expected in FStar_Util.measure_execution_time "nbe" nbe1; FStar_Util.print_string "\n"; FStar_Util.measure_execution_time "normalizer" norm1; FStar_Util.print_string "\n" + let (compare : unit -> unit) = - fun uu____4261 -> + fun uu____4261 -> FStar_Util.print_string "Comparing times for normalization and nbe\n"; (let uu____4264 = - let uu____4265 = encode (Prims.parse_int "1000") in + let uu____4265 = encode (Prims.parse_int "1000") in let uu____4267 = - let uu____4270 = FStar_Tests_Util.nm FStar_Tests_Util.x in - let uu____4271 = FStar_Tests_Util.nm FStar_Tests_Util.x in - minus uu____4270 uu____4271 in - let_ FStar_Tests_Util.x uu____4265 uu____4267 in + let uu____4270 = FStar_Tests_Util.nm FStar_Tests_Util.x in + let uu____4271 = FStar_Tests_Util.nm FStar_Tests_Util.x in + minus uu____4270 uu____4271 in + let_ FStar_Tests_Util.x uu____4265 uu____4267 in run_both_with_time (Prims.parse_int "14") uu____4264 z) + let (compare_times : (Prims.int * FStar_BaseTypes.float) Prims.list -> (Prims.int * FStar_BaseTypes.float) Prims.list -> unit) = - fun l_int -> - fun l_nbe -> + fun l_int -> + fun l_nbe -> FStar_Util.print_string "Comparing times for normalization and nbe\n"; FStar_List.iter2 - (fun res1 -> - fun res2 -> - let uu____4347 = res1 in + (fun res1 -> + fun res2 -> + let uu____4347 = res1 in match uu____4347 with - | (t1, time_int) -> - let uu____4357 = res2 in + | (t1,time_int) -> + let uu____4357 = res2 in (match uu____4357 with - | (t2, time_nbe) -> + | (t2,time_nbe) -> if t1 = t2 then - let uu____4369 = FStar_Util.string_of_int t1 in + let uu____4369 = FStar_Util.string_of_int t1 in FStar_Util.print3 "Test %s\nNBE %s\nInterpreter %s\n" uu____4369 (FStar_Util.string_of_float time_nbe) (FStar_Util.string_of_float time_int) else FStar_Util.print_string "Test numbers do not match...\n")) l_int l_nbe + let (run_all : unit -> unit) = - fun uu____4380 -> - (let uu____4382 = FStar_Syntax_Print.term_to_string znat in + fun uu____4380 -> + (let uu____4382 = FStar_Syntax_Print.term_to_string znat in FStar_Util.print1 "%s" uu____4382); - (let l_int = run_all_interpreter_with_time () in - let l_nbe = run_all_nbe_with_time () in compare_times l_int l_nbe) \ No newline at end of file + (let l_int = run_all_interpreter_with_time () in + let l_nbe = run_all_nbe_with_time () in compare_times l_int l_nbe) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Tests_Pars.ml b/src/ocaml-output/FStar_Tests_Pars.ml index 49f3c4d1a56..12be11a23d9 100644 --- a/src/ocaml-output/FStar_Tests_Pars.ml +++ b/src/ocaml-output/FStar_Tests_Pars.ml @@ -1,9 +1,9 @@ open Prims let (test_lid : FStar_Ident.lident) = - FStar_Ident.lid_of_path ["Test"] FStar_Range.dummyRange + FStar_Ident.lid_of_path ["Test"] FStar_Range.dummyRange let (tcenv_ref : FStar_TypeChecker_Env.env FStar_Pervasives_Native.option FStar_ST.ref) = - FStar_Util.mk_ref FStar_Pervasives_Native.None + FStar_Util.mk_ref FStar_Pervasives_Native.None let (test_mod_ref : FStar_Syntax_Syntax.modul FStar_Pervasives_Native.option FStar_ST.ref) = FStar_Util.mk_ref @@ -14,64 +14,71 @@ let (test_mod_ref : FStar_Syntax_Syntax.exports = []; FStar_Syntax_Syntax.is_interface = false }) + let (parse_mod : Prims.string -> FStar_Syntax_DsEnv.env -> (FStar_Syntax_DsEnv.env * FStar_Syntax_Syntax.modul)) = - fun mod_name1 -> - fun dsenv1 -> + fun mod_name1 -> + fun dsenv1 -> let uu____35 = - FStar_Parser_ParseIt.parse (FStar_Parser_ParseIt.Filename mod_name1) in + FStar_Parser_ParseIt.parse (FStar_Parser_ParseIt.Filename mod_name1) + in match uu____35 with - | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inl m, uu____41) -> + | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inl m,uu____41) -> let uu____58 = - let uu____63 = FStar_ToSyntax_ToSyntax.ast_modul_to_modul m in - uu____63 dsenv1 in + let uu____63 = FStar_ToSyntax_ToSyntax.ast_modul_to_modul m in + uu____63 dsenv1 in (match uu____58 with - | (m1, env') -> + | (m1,env') -> let uu____74 = let uu____80 = - FStar_Ident.lid_of_path ["Test"] FStar_Range.dummyRange in + FStar_Ident.lid_of_path ["Test"] FStar_Range.dummyRange + in FStar_Syntax_DsEnv.prepare_module_or_interface false false - env' uu____80 FStar_Syntax_DsEnv.default_mii in - (match uu____74 with | (env'1, uu____91) -> (env'1, m1))) - | FStar_Parser_ParseIt.ParseError (err, msg, r) -> + env' uu____80 FStar_Syntax_DsEnv.default_mii + in + (match uu____74 with | (env'1,uu____91) -> (env'1, m1))) + | FStar_Parser_ParseIt.ParseError (err,msg,r) -> FStar_Exn.raise (FStar_Errors.Error (err, msg, r)) - | FStar_Parser_ParseIt.ASTFragment - (FStar_Util.Inr uu____104, uu____105) -> - let msg = FStar_Util.format1 "%s: expected a module\n" mod_name1 in + | FStar_Parser_ParseIt.ASTFragment (FStar_Util.Inr uu____104,uu____105) + -> + let msg = FStar_Util.format1 "%s: expected a module\n" mod_name1 + in FStar_Errors.raise_error (FStar_Errors.Fatal_ModuleExpected, msg) FStar_Range.dummyRange | FStar_Parser_ParseIt.Term uu____132 -> failwith "Impossible: parsing a Filename always results in an ASTFragment" + let (add_mods : Prims.string Prims.list -> FStar_Syntax_DsEnv.env -> FStar_TypeChecker_Env.env -> (FStar_Syntax_DsEnv.env * FStar_TypeChecker_Env.env)) = - fun mod_names -> - fun dsenv1 -> - fun env -> + fun mod_names -> + fun dsenv1 -> + fun env -> FStar_List.fold_left - (fun uu____179 -> - fun mod_name1 -> + (fun uu____179 -> + fun mod_name1 -> match uu____179 with - | (dsenv2, env1) -> - let uu____192 = parse_mod mod_name1 dsenv2 in + | (dsenv2,env1) -> + let uu____192 = parse_mod mod_name1 dsenv2 in (match uu____192 with - | (dsenv3, string_mod) -> + | (dsenv3,string_mod) -> let uu____203 = FStar_TypeChecker_Tc.check_module env1 string_mod - false in - (match uu____203 with - | (_mod, env2) -> (dsenv3, env2)))) (dsenv1, env) - mod_names + false + in + (match uu____203 with | (_mod,env2) -> (dsenv3, env2)))) + (dsenv1, env) mod_names + let (init_once : unit -> unit) = - fun uu____220 -> - let solver1 = FStar_SMTEncoding_Solver.dummy in + fun uu____220 -> + let solver1 = FStar_SMTEncoding_Solver.dummy in let env = FStar_TypeChecker_Env.initial_env FStar_Parser_Dep.empty_deps FStar_TypeChecker_TcTerm.tc_term @@ -79,17 +86,18 @@ let (init_once : unit -> unit) = FStar_TypeChecker_TcTerm.universe_of FStar_TypeChecker_TcTerm.check_type_of_well_typed_term solver1 FStar_Parser_Const.prims_lid - FStar_TypeChecker_NBE.normalize_for_unit_test in + FStar_TypeChecker_NBE.normalize_for_unit_test + in (env.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.init env; (let uu____224 = - let uu____229 = FStar_Options.prims () in + let uu____229 = FStar_Options.prims () in let uu____231 = - FStar_Syntax_DsEnv.empty_env FStar_Parser_Dep.empty_deps in - parse_mod uu____229 uu____231 in + FStar_Syntax_DsEnv.empty_env FStar_Parser_Dep.empty_deps in + parse_mod uu____229 uu____231 in match uu____224 with - | (dsenv1, prims_mod) -> + | (dsenv1,prims_mod) -> let env1 = - let uu___46_235 = env in + let uu___46_235 = env in { FStar_TypeChecker_Env.solver = (uu___46_235.FStar_TypeChecker_Env.solver); @@ -176,13 +184,13 @@ let (init_once : unit -> unit) = FStar_TypeChecker_Env.dsenv = dsenv1; FStar_TypeChecker_Env.nbe = (uu___46_235.FStar_TypeChecker_Env.nbe) - } in + } in let uu____236 = - FStar_TypeChecker_Tc.check_module env1 prims_mod false in + FStar_TypeChecker_Tc.check_module env1 prims_mod false in (match uu____236 with - | (_prims_mod, env2) -> + | (_prims_mod,env2) -> let env3 = - let uu___52_245 = env2 in + let uu___52_245 = env2 in { FStar_TypeChecker_Env.solver = (uu___52_245.FStar_TypeChecker_Env.solver); @@ -269,46 +277,50 @@ let (init_once : unit -> unit) = FStar_TypeChecker_Env.dsenv = dsenv1; FStar_TypeChecker_Env.nbe = (uu___52_245.FStar_TypeChecker_Env.nbe) - } in + } in let env4 = - FStar_TypeChecker_Env.set_current_module env3 test_lid in + FStar_TypeChecker_Env.set_current_module env3 test_lid in FStar_ST.op_Colon_Equals tcenv_ref (FStar_Pervasives_Native.Some env4))) -let (uu___56 : unit) = FStar_Main.setup_hooks (); init_once () + +let (uu___56 : unit) = FStar_Main.setup_hooks (); init_once () let (init : unit -> FStar_TypeChecker_Env.env) = - fun uu____277 -> - let uu____278 = FStar_ST.op_Bang tcenv_ref in + fun uu____277 -> + let uu____278 = FStar_ST.op_Bang tcenv_ref in match uu____278 with | FStar_Pervasives_Native.Some f -> f | uu____305 -> failwith "Should have already been initialized by the top-level effect" + let (frag_of_text : Prims.string -> FStar_Parser_ParseIt.input_frag) = - fun s -> + fun s -> { FStar_Parser_ParseIt.frag_fname = ""; FStar_Parser_ParseIt.frag_text = s; FStar_Parser_ParseIt.frag_line = (Prims.parse_int "1"); FStar_Parser_ParseIt.frag_col = (Prims.parse_int "0") } + let (pars : Prims.string -> FStar_Syntax_Syntax.term) = - fun s -> + fun s -> try - (fun uu___65_332 -> + (fun uu___65_332 -> match () with | () -> - let tcenv = init () in + let tcenv = init () in let uu____334 = let uu____335 = FStar_All.pipe_left - (fun _336 -> FStar_Parser_ParseIt.Fragment _336) - (frag_of_text s) in - FStar_Parser_ParseIt.parse uu____335 in + (fun _336 -> FStar_Parser_ParseIt.Fragment _336) + (frag_of_text s) + in + FStar_Parser_ParseIt.parse uu____335 in (match uu____334 with | FStar_Parser_ParseIt.Term t -> FStar_ToSyntax_ToSyntax.desugar_term tcenv.FStar_TypeChecker_Env.dsenv t - | FStar_Parser_ParseIt.ParseError (e, msg, r) -> + | FStar_Parser_ParseIt.ParseError (e,msg,r) -> FStar_Errors.raise_error (e, msg) r | FStar_Parser_ParseIt.ASTFragment uu____344 -> failwith @@ -317,20 +329,21 @@ let (pars : Prims.string -> FStar_Syntax_Syntax.term) = with | uu___64_358 -> if - let uu____359 = FStar_Options.trace_error () in + let uu____359 = FStar_Options.trace_error () in Prims.op_Negation uu____359 then Obj.magic (Obj.repr (FStar_Exn.raise uu___64_358)) else Obj.magic (Obj.repr (failwith "unreachable")) + let (tc' : Prims.string -> (FStar_Syntax_Syntax.term * FStar_TypeChecker_Env.guard_t * FStar_TypeChecker_Env.env)) = - fun s -> - let tm = pars s in - let tcenv = init () in + fun s -> + let tm = pars s in + let tcenv = init () in let tcenv1 = - let uu___83_378 = tcenv in + let uu___83_378 = tcenv in { FStar_TypeChecker_Env.solver = (uu___83_378.FStar_TypeChecker_Env.solver); @@ -415,24 +428,27 @@ let (tc' : FStar_TypeChecker_Env.dsenv = (uu___83_378.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___83_378.FStar_TypeChecker_Env.nbe) - } in - let uu____380 = FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term tcenv1 tm in - match uu____380 with | (tm1, uu____394, g) -> (tm1, g, tcenv1) + } in + let uu____380 = FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term tcenv1 tm + in + match uu____380 with | (tm1,uu____394,g) -> (tm1, g, tcenv1) + let (tc : Prims.string -> FStar_Syntax_Syntax.term) = - fun s -> - let uu____404 = tc' s in - match uu____404 with | (tm, uu____412, uu____413) -> tm + fun s -> + let uu____404 = tc' s in + match uu____404 with | (tm,uu____412,uu____413) -> tm + let (tc_nbe : Prims.string -> FStar_Syntax_Syntax.term) = - fun s -> - let uu____422 = tc' s in + fun s -> + let uu____422 = tc' s in match uu____422 with - | (tm, g, tcenv) -> - (FStar_TypeChecker_Rel.force_trivial_guard tcenv g; tm) + | (tm,g,tcenv) -> (FStar_TypeChecker_Rel.force_trivial_guard tcenv g; tm) + let (tc_nbe_term : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun tm -> - let tcenv = init () in + fun tm -> + let tcenv = init () in let tcenv1 = - let uu___103_441 = tcenv in + let uu___103_441 = tcenv in { FStar_TypeChecker_Env.solver = (uu___103_441.FStar_TypeChecker_Env.solver); @@ -517,48 +533,53 @@ let (tc_nbe_term : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = FStar_TypeChecker_Env.dsenv = (uu___103_441.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___103_441.FStar_TypeChecker_Env.nbe) - } in - let uu____443 = FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term tcenv1 tm in + } in + let uu____443 = FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term tcenv1 tm + in match uu____443 with - | (tm1, uu____451, g) -> + | (tm1,uu____451,g) -> (FStar_TypeChecker_Rel.force_trivial_guard tcenv1 g; tm1) + let (pars_and_tc_fragment : Prims.string -> unit) = - fun s -> + fun s -> FStar_Options.set_option "trace_error" (FStar_Options.Bool true); (let report uu____470 = - let uu____471 = FStar_Errors.report_all () in - FStar_All.pipe_right uu____471 (fun a1 -> ()) in + let uu____471 = FStar_Errors.report_all () in + FStar_All.pipe_right uu____471 (fun a1 -> ()) in try - (fun uu___116_479 -> + (fun uu___116_479 -> match () with | () -> - let tcenv = init () in - let frag = frag_of_text s in + let tcenv = init () in + let frag = frag_of_text s in (try - (fun uu___124_491 -> + (fun uu___124_491 -> match () with | () -> let uu____492 = - let uu____499 = FStar_ST.op_Bang test_mod_ref in + let uu____499 = FStar_ST.op_Bang test_mod_ref in FStar_Universal.tc_one_fragment uu____499 tcenv - frag in + frag + in (match uu____492 with - | (test_mod', tcenv') -> + | (test_mod',tcenv') -> (FStar_ST.op_Colon_Equals test_mod_ref test_mod'; FStar_ST.op_Colon_Equals tcenv_ref (FStar_Pervasives_Native.Some tcenv'); - (let n1 = FStar_Errors.get_err_count () in + (let n1 = FStar_Errors.get_err_count () in if n1 <> (Prims.parse_int "0") then (report (); (let uu____585 = let uu____591 = let uu____593 = - FStar_Util.string_of_int n1 in + FStar_Util.string_of_int n1 in FStar_Util.format1 - "%s errors were reported" uu____593 in + "%s errors were reported" uu____593 + in (FStar_Errors.Fatal_ErrorsReported, - uu____591) in + uu____591) + in FStar_Errors.raise_err uu____585)) else ())))) () with @@ -570,7 +591,8 @@ let (pars_and_tc_fragment : Prims.string -> unit) = with | uu___115_606 -> if - let uu____607 = FStar_Options.trace_error () in + let uu____607 = FStar_Options.trace_error () in Prims.op_Negation uu____607 then Obj.magic (Obj.repr (FStar_Exn.raise uu___115_606)) - else Obj.magic (Obj.repr (failwith "unreachable"))) \ No newline at end of file + else Obj.magic (Obj.repr (failwith "unreachable"))) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Tests_Test.ml b/src/ocaml-output/FStar_Tests_Test.ml index b71e0548775..de37722eb13 100644 --- a/src/ocaml-output/FStar_Tests_Test.ml +++ b/src/ocaml-output/FStar_Tests_Test.ml @@ -1,24 +1,25 @@ open Prims let main : 'Auu____6 'Auu____7 . 'Auu____6 -> 'Auu____7 = - fun argv -> + fun argv -> FStar_Util.print_string "Initializing ...\n"; (try - (fun uu___3_19 -> + (fun uu___3_19 -> match () with | () -> - ((let uu____21 = FStar_Tests_Pars.init () in - FStar_All.pipe_right uu____21 (fun a1 -> ())); + ((let uu____21 = FStar_Tests_Pars.init () in + FStar_All.pipe_right uu____21 (fun a1 -> ())); FStar_Tests_Norm.run_all (); - (let uu____24 = FStar_Tests_Unif.run_all () in + (let uu____24 = FStar_Tests_Unif.run_all () in if uu____24 then () else FStar_All.exit (Prims.parse_int "1")); FStar_All.exit (Prims.parse_int "0"))) () with - | FStar_Errors.Error (err, msg, r) when - let uu____42 = FStar_Options.trace_error () in + | FStar_Errors.Error (err,msg,r) when + let uu____42 = FStar_Options.trace_error () in FStar_All.pipe_left Prims.op_Negation uu____42 -> (if r = FStar_Range.dummyRange then FStar_Util.print_string msg else - (let uu____50 = FStar_Range.string_of_range r in + (let uu____50 = FStar_Range.string_of_range r in FStar_Util.print2 "%s: %s\n" uu____50 msg); - FStar_All.exit (Prims.parse_int "1"))) \ No newline at end of file + FStar_All.exit (Prims.parse_int "1"))) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Tests_Unif.ml b/src/ocaml-output/FStar_Tests_Unif.ml index 150f07831a8..d47eaa867a8 100644 --- a/src/ocaml-output/FStar_Tests_Unif.ml +++ b/src/ocaml-output/FStar_Tests_Unif.ml @@ -1,390 +1,439 @@ open Prims let (tcenv : unit -> FStar_TypeChecker_Env.env) = - fun uu____4 -> FStar_Tests_Pars.init () + fun uu____4 -> FStar_Tests_Pars.init () let (guard_to_string : FStar_TypeChecker_Common.guard_formula -> Prims.string) = - fun g -> + fun g -> match g with - | FStar_TypeChecker_Common.Trivial -> "trivial" + | FStar_TypeChecker_Common.Trivial -> "trivial" | FStar_TypeChecker_Common.NonTrivial f -> - let uu____15 = tcenv () in + let uu____15 = tcenv () in FStar_TypeChecker_Normalize.term_to_string uu____15 f -let (success : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref true + +let (success : Prims.bool FStar_ST.ref) = FStar_Util.mk_ref true let (fail : Prims.string -> unit) = - fun msg -> + fun msg -> FStar_Util.print_string msg; FStar_ST.op_Colon_Equals success false + let (guard_eq : Prims.int -> FStar_TypeChecker_Common.guard_formula -> FStar_TypeChecker_Common.guard_formula -> unit) = - fun i -> - fun g -> - fun g' -> + fun i -> + fun g -> + fun g' -> let uu____71 = match (g, g') with - | (FStar_TypeChecker_Common.Trivial, - FStar_TypeChecker_Common.Trivial) -> (true, g, g') - | (FStar_TypeChecker_Common.NonTrivial f, - FStar_TypeChecker_Common.NonTrivial f') -> + | (FStar_TypeChecker_Common.Trivial + ,FStar_TypeChecker_Common.Trivial ) -> (true, g, g') + | (FStar_TypeChecker_Common.NonTrivial + f,FStar_TypeChecker_Common.NonTrivial f') -> let f1 = - let uu____91 = tcenv () in + let uu____91 = tcenv () in FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.EraseUniverses] uu____91 f in + [FStar_TypeChecker_Env.EraseUniverses] uu____91 f + in let f'1 = - let uu____93 = tcenv () in + let uu____93 = tcenv () in FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.EraseUniverses] uu____93 f' in - let uu____94 = FStar_Tests_Util.term_eq f1 f'1 in + [FStar_TypeChecker_Env.EraseUniverses] uu____93 f' + in + let uu____94 = FStar_Tests_Util.term_eq f1 f'1 in (uu____94, (FStar_TypeChecker_Common.NonTrivial f1), (FStar_TypeChecker_Common.NonTrivial f'1)) - | uu____97 -> (false, g, g') in + | uu____97 -> (false, g, g') in match uu____71 with - | (b, g1, g'1) -> + | (b,g1,g'1) -> (if Prims.op_Negation b then (let uu____111 = - let uu____113 = FStar_Util.string_of_int i in - let uu____115 = guard_to_string g'1 in - let uu____117 = guard_to_string g1 in + let uu____113 = FStar_Util.string_of_int i in + let uu____115 = guard_to_string g'1 in + let uu____117 = guard_to_string g1 in FStar_Util.format3 "Test %s failed:\n\tExpected guard %s;\n\tGot guard %s\n" - uu____113 uu____115 uu____117 in + uu____113 uu____115 uu____117 + in FStar_All.pipe_left fail uu____111) else (); - (let uu____123 = (FStar_ST.op_Bang success) && b in + (let uu____123 = (FStar_ST.op_Bang success) && b in FStar_ST.op_Colon_Equals success uu____123)) + let (unify : Prims.int -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_TypeChecker_Common.guard_formula -> (unit -> unit) -> unit) = - fun i -> - fun x1 -> - fun y1 -> - fun g' -> - fun check1 -> - (let uu____209 = FStar_Util.string_of_int i in + fun i -> + fun x1 -> + fun y1 -> + fun g' -> + fun check1 -> + (let uu____209 = FStar_Util.string_of_int i in FStar_Util.print1 "%s ..." uu____209); - (let uu____213 = FStar_Main.process_args () in - FStar_All.pipe_right uu____213 (fun a1 -> ())); - (let uu____229 = FStar_Syntax_Print.term_to_string x1 in - let uu____231 = FStar_Syntax_Print.term_to_string y1 in + (let uu____213 = FStar_Main.process_args () in + FStar_All.pipe_right uu____213 (fun a1 -> ())); + (let uu____229 = FStar_Syntax_Print.term_to_string x1 in + let uu____231 = FStar_Syntax_Print.term_to_string y1 in FStar_Util.print2 "Unify %s\nand %s\n" uu____229 uu____231); (let g = let uu____235 = let uu____236 = - let uu____237 = tcenv () in - FStar_TypeChecker_Rel.teq uu____237 x1 y1 in + let uu____237 = tcenv () in + FStar_TypeChecker_Rel.teq uu____237 x1 y1 in let uu____238 = - let uu____243 = tcenv () in - FStar_TypeChecker_Rel.solve_deferred_constraints uu____243 in - FStar_All.pipe_right uu____236 uu____238 in + let uu____243 = tcenv () in + FStar_TypeChecker_Rel.solve_deferred_constraints uu____243 + in + FStar_All.pipe_right uu____236 uu____238 in let uu____244 = - let uu____249 = tcenv () in - FStar_TypeChecker_Rel.simplify_guard uu____249 in - FStar_All.pipe_right uu____235 uu____244 in + let uu____249 = tcenv () in + FStar_TypeChecker_Rel.simplify_guard uu____249 in + FStar_All.pipe_right uu____235 uu____244 in guard_eq i g.FStar_TypeChecker_Env.guard_f g'; check1 (); FStar_Options.init ()) + let (should_fail : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> unit) = - fun x1 -> - fun y1 -> + fun x1 -> + fun y1 -> try - (fun uu___41_274 -> + (fun uu___41_274 -> match () with | () -> let g = let uu____276 = - let uu____277 = tcenv () in - FStar_TypeChecker_Rel.teq uu____277 x1 y1 in + let uu____277 = tcenv () in + FStar_TypeChecker_Rel.teq uu____277 x1 y1 in let uu____278 = - let uu____283 = tcenv () in - FStar_TypeChecker_Rel.solve_deferred_constraints uu____283 in - FStar_All.pipe_right uu____276 uu____278 in + let uu____283 = tcenv () in + FStar_TypeChecker_Rel.solve_deferred_constraints uu____283 + in + FStar_All.pipe_right uu____276 uu____278 in (match g.FStar_TypeChecker_Env.guard_f with - | FStar_TypeChecker_Common.Trivial -> + | FStar_TypeChecker_Common.Trivial -> let uu____284 = - let uu____286 = FStar_Syntax_Print.term_to_string x1 in - let uu____288 = FStar_Syntax_Print.term_to_string y1 in + let uu____286 = FStar_Syntax_Print.term_to_string x1 + in + let uu____288 = FStar_Syntax_Print.term_to_string y1 + in FStar_Util.format2 "%s and %s should not be unifiable\n" uu____286 - uu____288 in + uu____288 + in fail uu____284 | FStar_TypeChecker_Common.NonTrivial f -> - let uu____292 = FStar_Syntax_Print.term_to_string x1 in - let uu____294 = FStar_Syntax_Print.term_to_string y1 in - let uu____296 = FStar_Syntax_Print.term_to_string f in + let uu____292 = FStar_Syntax_Print.term_to_string x1 in + let uu____294 = FStar_Syntax_Print.term_to_string y1 in + let uu____296 = FStar_Syntax_Print.term_to_string f in FStar_Util.print3 "%s and %s are unifiable if %s\n" uu____292 uu____294 uu____296)) () - with | FStar_Errors.Error (e, msg, r) -> FStar_Util.print1 "%s\n" msg + with | FStar_Errors.Error (e,msg,r) -> FStar_Util.print1 "%s\n" msg + let (unify' : Prims.string -> Prims.string -> unit) = - fun x1 -> - fun y1 -> - let x2 = FStar_Tests_Pars.pars x1 in - let y2 = FStar_Tests_Pars.pars y1 in + fun x1 -> + fun y1 -> + let x2 = FStar_Tests_Pars.pars x1 in + let y2 = FStar_Tests_Pars.pars y1 in let g = let uu____328 = - let uu____329 = tcenv () in - FStar_TypeChecker_Rel.teq uu____329 x2 y2 in + let uu____329 = tcenv () in + FStar_TypeChecker_Rel.teq uu____329 x2 y2 in let uu____330 = - let uu____335 = tcenv () in - FStar_TypeChecker_Rel.solve_deferred_constraints uu____335 in - FStar_All.pipe_right uu____328 uu____330 in - let uu____336 = FStar_Syntax_Print.term_to_string x2 in - let uu____338 = FStar_Syntax_Print.term_to_string y2 in - let uu____340 = guard_to_string g.FStar_TypeChecker_Env.guard_f in + let uu____335 = tcenv () in + FStar_TypeChecker_Rel.solve_deferred_constraints uu____335 in + FStar_All.pipe_right uu____328 uu____330 in + let uu____336 = FStar_Syntax_Print.term_to_string x2 in + let uu____338 = FStar_Syntax_Print.term_to_string y2 in + let uu____340 = guard_to_string g.FStar_TypeChecker_Env.guard_f in FStar_Util.print3 "%s and %s are unifiable with guard %s\n" uu____336 uu____338 uu____340 + let (norm : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> - let uu____349 = tcenv () in + fun t -> + let uu____349 = tcenv () in FStar_TypeChecker_Normalize.normalize [] uu____349 t + let (inst : Prims.int -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term Prims.list)) = - fun n1 -> - fun tm1 -> + fun n1 -> + fun tm1 -> let rec aux out n2 = if n2 = (Prims.parse_int "0") then out else (let uu____399 = - let uu____412 = FStar_Tests_Pars.init () in + let uu____412 = FStar_Tests_Pars.init () in FStar_TypeChecker_Util.new_implicit_var "" - FStar_Range.dummyRange uu____412 FStar_Syntax_Util.ktype0 in + FStar_Range.dummyRange uu____412 FStar_Syntax_Util.ktype0 + in match uu____399 with - | (t, uu____417, uu____418) -> + | (t,uu____417,uu____418) -> let uu____431 = - let uu____444 = FStar_Tests_Pars.init () in + let uu____444 = FStar_Tests_Pars.init () in FStar_TypeChecker_Util.new_implicit_var "" - FStar_Range.dummyRange uu____444 t in + FStar_Range.dummyRange uu____444 t + in (match uu____431 with - | (u, uu____449, uu____450) -> - aux (u :: out) (n2 - (Prims.parse_int "1")))) in - let us = aux [] n1 in + | (u,uu____449,uu____450) -> + aux (u :: out) (n2 - (Prims.parse_int "1")))) + in + let us = aux [] n1 in let uu____467 = - let uu____468 = FStar_Tests_Util.app tm1 us in norm uu____468 in + let uu____468 = FStar_Tests_Util.app tm1 us in norm uu____468 in (uu____467, us) + let (run_all : unit -> Prims.bool) = - fun uu____477 -> + fun uu____477 -> FStar_Util.print_string "Testing the unifier\n"; FStar_Options.__set_unit_tests (); - (let unify_check n1 x1 y1 g f = unify n1 x1 y1 g f in - let unify1 n1 x1 y1 g = unify n1 x1 y1 g (fun uu____554 -> ()) in - let int_t = FStar_Tests_Pars.tc "Prims.int" in + (let unify_check n1 x1 y1 g f = unify n1 x1 y1 g f in + let unify1 n1 x1 y1 g = unify n1 x1 y1 g (fun uu____554 -> ()) in + let int_t = FStar_Tests_Pars.tc "Prims.int" in let x1 = let uu____560 = - FStar_Syntax_Syntax.gen_bv "x" FStar_Pervasives_Native.None int_t in - FStar_All.pipe_right uu____560 FStar_Syntax_Syntax.bv_to_name in + FStar_Syntax_Syntax.gen_bv "x" FStar_Pervasives_Native.None int_t + in + FStar_All.pipe_right uu____560 FStar_Syntax_Syntax.bv_to_name in let y1 = let uu____567 = - FStar_Syntax_Syntax.gen_bv "y" FStar_Pervasives_Native.None int_t in - FStar_All.pipe_right uu____567 FStar_Syntax_Syntax.bv_to_name in + FStar_Syntax_Syntax.gen_bv "y" FStar_Pervasives_Native.None int_t + in + FStar_All.pipe_right uu____567 FStar_Syntax_Syntax.bv_to_name in unify1 (Prims.parse_int "0") x1 x1 FStar_TypeChecker_Common.Trivial; (let uu____574 = let uu____575 = FStar_Syntax_Util.mk_eq2 FStar_Syntax_Syntax.U_zero - FStar_Syntax_Util.t_bool x1 y1 in - FStar_TypeChecker_Common.NonTrivial uu____575 in + FStar_Syntax_Util.t_bool x1 y1 + in + FStar_TypeChecker_Common.NonTrivial uu____575 in unify1 (Prims.parse_int "1") x1 y1 uu____574); - (let id1 = FStar_Tests_Pars.tc "fun x -> x" in - (let uu____580 = FStar_Tests_Util.app id1 [x1] in + (let id1 = FStar_Tests_Pars.tc "fun x -> x" in + (let uu____580 = FStar_Tests_Util.app id1 [x1] in unify1 (Prims.parse_int "2") x1 uu____580 FStar_TypeChecker_Common.Trivial); - (let id2 = FStar_Tests_Pars.tc "fun x -> x" in + (let id2 = FStar_Tests_Pars.tc "fun x -> x" in unify1 (Prims.parse_int "3") id2 id2 FStar_TypeChecker_Common.Trivial; - (let id3 = FStar_Tests_Pars.tc "fun x -> x" in - let id' = FStar_Tests_Pars.tc "fun y -> y" in + (let id3 = FStar_Tests_Pars.tc "fun x -> x" in + let id' = FStar_Tests_Pars.tc "fun y -> y" in unify1 (Prims.parse_int "4") id3 id' FStar_TypeChecker_Common.Trivial; - (let uu____595 = FStar_Tests_Pars.tc "fun x y -> x" in - let uu____599 = FStar_Tests_Pars.tc "fun a b -> a" in + (let uu____595 = FStar_Tests_Pars.tc "fun x y -> x" in + let uu____599 = FStar_Tests_Pars.tc "fun a b -> a" in unify1 (Prims.parse_int "5") uu____595 uu____599 FStar_TypeChecker_Common.Trivial); - (let uu____605 = FStar_Tests_Pars.tc "fun x y z -> y" in - let uu____609 = FStar_Tests_Pars.tc "fun a b c -> b" in + (let uu____605 = FStar_Tests_Pars.tc "fun x y z -> y" in + let uu____609 = FStar_Tests_Pars.tc "fun a b c -> b" in unify1 (Prims.parse_int "6") uu____605 uu____609 FStar_TypeChecker_Common.Trivial); - (let uu____615 = FStar_Tests_Pars.tc "fun (x:int) (y:int) -> y" in - let uu____619 = FStar_Tests_Pars.tc "fun (x:int) (y:int) -> x" in + (let uu____615 = FStar_Tests_Pars.tc "fun (x:int) (y:int) -> y" in + let uu____619 = FStar_Tests_Pars.tc "fun (x:int) (y:int) -> x" in let uu____623 = let uu____624 = - FStar_Tests_Pars.tc "(forall (x:int). (forall (y:int). y==x))" in - FStar_TypeChecker_Common.NonTrivial uu____624 in + FStar_Tests_Pars.tc "(forall (x:int). (forall (y:int). y==x))" + in + FStar_TypeChecker_Common.NonTrivial uu____624 in unify1 (Prims.parse_int "7") uu____615 uu____619 uu____623); (let uu____628 = - FStar_Tests_Pars.tc "fun (x:int) (y:int) (z:int) -> y" in + FStar_Tests_Pars.tc "fun (x:int) (y:int) (z:int) -> y" in let uu____632 = - FStar_Tests_Pars.tc "fun (x:int) (y:int) (z:int) -> z" in + FStar_Tests_Pars.tc "fun (x:int) (y:int) (z:int) -> z" in let uu____636 = let uu____637 = FStar_Tests_Pars.tc - "(forall (x:int). (forall (y:int). (forall (z:int). y==z)))" in - FStar_TypeChecker_Common.NonTrivial uu____637 in + "(forall (x:int). (forall (y:int). (forall (z:int). y==z)))" + in + FStar_TypeChecker_Common.NonTrivial uu____637 in unify1 (Prims.parse_int "8") uu____628 uu____632 uu____636); - (let uu____641 = FStar_Main.process_args () in - FStar_All.pipe_right uu____641 (fun a2 -> ())); + (let uu____641 = FStar_Main.process_args () in + FStar_All.pipe_right uu____641 (fun a2 -> ())); (let uu____656 = - let uu____663 = FStar_Tests_Pars.tc "fun u x -> u x" in - inst (Prims.parse_int "1") uu____663 in + let uu____663 = FStar_Tests_Pars.tc "fun u x -> u x" in + inst (Prims.parse_int "1") uu____663 in match uu____656 with - | (tm1, us) -> - let sol = FStar_Tests_Pars.tc "fun x -> c_and x x" in + | (tm1,us) -> + let sol = FStar_Tests_Pars.tc "fun x -> c_and x x" in (unify_check (Prims.parse_int "9") tm1 sol FStar_TypeChecker_Common.Trivial - (fun uu____681 -> + (fun uu____681 -> let uu____682 = let uu____684 = - let uu____687 = FStar_List.hd us in norm uu____687 in - let uu____688 = norm sol in - FStar_Tests_Util.term_eq uu____684 uu____688 in + let uu____687 = FStar_List.hd us in norm uu____687 + in + let uu____688 = norm sol in + FStar_Tests_Util.term_eq uu____684 uu____688 in FStar_Tests_Util.always (Prims.parse_int "9") uu____682); (let uu____692 = - let uu____699 = FStar_Tests_Pars.tc "fun u x -> u x" in - inst (Prims.parse_int "1") uu____699 in + let uu____699 = FStar_Tests_Pars.tc "fun u x -> u x" in + inst (Prims.parse_int "1") uu____699 in match uu____692 with - | (tm2, us1) -> - let sol1 = FStar_Tests_Pars.tc "fun x y -> x + y" in + | (tm2,us1) -> + let sol1 = FStar_Tests_Pars.tc "fun x y -> x + y" in (unify_check (Prims.parse_int "10") tm2 sol1 FStar_TypeChecker_Common.Trivial - (fun uu____717 -> + (fun uu____717 -> let uu____718 = let uu____720 = - let uu____723 = FStar_List.hd us1 in - norm uu____723 in - let uu____724 = norm sol1 in - FStar_Tests_Util.term_eq uu____720 uu____724 in + let uu____723 = FStar_List.hd us1 in + norm uu____723 in + let uu____724 = norm sol1 in + FStar_Tests_Util.term_eq uu____720 uu____724 in FStar_Tests_Util.always (Prims.parse_int "10") uu____718); (let tm11 = - FStar_Tests_Pars.tc "x:int -> y:int{eq2 y x} -> bool" in - let tm21 = FStar_Tests_Pars.tc "x:int -> y:int -> bool" in + FStar_Tests_Pars.tc "x:int -> y:int{eq2 y x} -> bool" + in + let tm21 = FStar_Tests_Pars.tc "x:int -> y:int -> bool" + in (let uu____733 = let uu____734 = FStar_Tests_Pars.tc - "forall (x:int). (forall (y:int). y==x)" in - FStar_TypeChecker_Common.NonTrivial uu____734 in + "forall (x:int). (forall (y:int). y==x)" + in + FStar_TypeChecker_Common.NonTrivial uu____734 in unify1 (Prims.parse_int "11") tm11 tm21 uu____733); (let tm12 = FStar_Tests_Pars.tc - "a:Type0 -> b:(a -> Type0) -> x:a -> y:b x -> Tot Type0" in + "a:Type0 -> b:(a -> Type0) -> x:a -> y:b x -> Tot Type0" + in let tm22 = FStar_Tests_Pars.tc - "a:Type0 -> b:(a -> Type0) -> x:a -> y:b x -> Tot Type0" in + "a:Type0 -> b:(a -> Type0) -> x:a -> y:b x -> Tot Type0" + in unify1 (Prims.parse_int "12") tm12 tm22 FStar_TypeChecker_Common.Trivial; (let uu____743 = - let int_typ = FStar_Tests_Pars.tc "int" in + let int_typ = FStar_Tests_Pars.tc "int" in let x2 = FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None int_typ in - let typ = FStar_Tests_Pars.tc "unit -> Type0" in + FStar_Pervasives_Native.None int_typ + in + let typ = FStar_Tests_Pars.tc "unit -> Type0" in let l = FStar_Tests_Pars.tc - "fun (q:(unit -> Type0)) -> q ()" in + "fun (q:(unit -> Type0)) -> q ()" + in let q = FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None typ in + FStar_Pervasives_Native.None typ + in let tm13 = let uu____761 = let uu____762 = let uu____765 = - FStar_Syntax_Syntax.bv_to_name q in - [uu____765] in - FStar_Tests_Util.app l uu____762 in - norm uu____761 in + FStar_Syntax_Syntax.bv_to_name q in + [uu____765] in + FStar_Tests_Util.app l uu____762 in + norm uu____761 in let l1 = - FStar_Tests_Pars.tc "fun (p:unit -> Type0) -> p" in - let unit = FStar_Tests_Pars.tc "()" in + FStar_Tests_Pars.tc "fun (p:unit -> Type0) -> p" + in + let unit = FStar_Tests_Pars.tc "()" in let env = - let uu____771 = FStar_Tests_Pars.init () in + let uu____771 = FStar_Tests_Pars.init () in let uu____772 = - let uu____773 = FStar_Syntax_Syntax.mk_binder x2 in + let uu____773 = FStar_Syntax_Syntax.mk_binder x2 + in let uu____780 = let uu____789 = - FStar_Syntax_Syntax.mk_binder q in - [uu____789] in - uu____773 :: uu____780 in + FStar_Syntax_Syntax.mk_binder q in + [uu____789] in + uu____773 :: uu____780 in FStar_TypeChecker_Env.push_binders uu____771 - uu____772 in + uu____772 + in let uu____814 = FStar_TypeChecker_Util.new_implicit_var "" - FStar_Range.dummyRange env typ in + FStar_Range.dummyRange env typ + in match uu____814 with - | (u_p, uu____837, uu____838) -> + | (u_p,uu____837,uu____838) -> let tm23 = let uu____854 = let uu____857 = - FStar_Tests_Util.app l1 [u_p] in - norm uu____857 in - FStar_Tests_Util.app uu____854 [unit] in - (tm13, tm23) in + FStar_Tests_Util.app l1 [u_p] in + norm uu____857 in + FStar_Tests_Util.app uu____854 [unit] in + (tm13, tm23) + in match uu____743 with - | (tm13, tm23) -> + | (tm13,tm23) -> (unify1 (Prims.parse_int "13") tm13 tm23 FStar_TypeChecker_Common.Trivial; (let uu____875 = - let int_typ = FStar_Tests_Pars.tc "int" in + let int_typ = FStar_Tests_Pars.tc "int" in let x2 = FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None int_typ in - let typ = FStar_Tests_Pars.tc "pure_post unit" in + FStar_Pervasives_Native.None int_typ + in + let typ = FStar_Tests_Pars.tc "pure_post unit" + in let l = FStar_Tests_Pars.tc - "fun (q:pure_post unit) -> q ()" in + "fun (q:pure_post unit) -> q ()" + in let q = FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None typ in + FStar_Pervasives_Native.None typ + in let tm14 = let uu____893 = let uu____894 = let uu____897 = - FStar_Syntax_Syntax.bv_to_name q in - [uu____897] in - FStar_Tests_Util.app l uu____894 in - norm uu____893 in + FStar_Syntax_Syntax.bv_to_name q in + [uu____897] in + FStar_Tests_Util.app l uu____894 in + norm uu____893 in let l1 = FStar_Tests_Pars.tc - "fun (p:pure_post unit) -> p" in - let unit = FStar_Tests_Pars.tc "()" in + "fun (p:pure_post unit) -> p" + in + let unit = FStar_Tests_Pars.tc "()" in let env = - let uu____903 = FStar_Tests_Pars.init () in + let uu____903 = FStar_Tests_Pars.init () in let uu____904 = let uu____905 = - FStar_Syntax_Syntax.mk_binder x2 in + FStar_Syntax_Syntax.mk_binder x2 in let uu____912 = let uu____921 = - FStar_Syntax_Syntax.mk_binder q in - [uu____921] in - uu____905 :: uu____912 in + FStar_Syntax_Syntax.mk_binder q in + [uu____921] in + uu____905 :: uu____912 in FStar_TypeChecker_Env.push_binders uu____903 - uu____904 in + uu____904 + in let uu____946 = FStar_TypeChecker_Util.new_implicit_var "" - FStar_Range.dummyRange env typ in + FStar_Range.dummyRange env typ + in match uu____946 with - | (u_p, uu____969, uu____970) -> + | (u_p,uu____969,uu____970) -> let tm24 = let uu____986 = let uu____989 = - FStar_Tests_Util.app l1 [u_p] in - norm uu____989 in - FStar_Tests_Util.app uu____986 [unit] in - (tm14, tm24) in + FStar_Tests_Util.app l1 [u_p] in + norm uu____989 in + FStar_Tests_Util.app uu____986 [unit] + in + (tm14, tm24) + in match uu____875 with - | (tm14, tm24) -> + | (tm14,tm24) -> (unify1 (Prims.parse_int "14") tm14 tm24 FStar_TypeChecker_Common.Trivial; FStar_Options.__clear_unit_tests (); - (let uu____1009 = FStar_ST.op_Bang success in + (let uu____1009 = FStar_ST.op_Bang success + in if uu____1009 then FStar_Util.print_string "Unifier ok\n" else ()); - FStar_ST.op_Bang success)))))))))))))) \ No newline at end of file + FStar_ST.op_Bang success)))))))))))))) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Tests_Util.ml b/src/ocaml-output/FStar_Tests_Util.ml index 1e579ec1b7a..ba9b42c534f 100644 --- a/src/ocaml-output/FStar_Tests_Util.ml +++ b/src/ocaml-output/FStar_Tests_Util.ml @@ -1,84 +1,95 @@ open Prims let (always : Prims.int -> Prims.bool -> unit) = - fun id1 -> - fun b -> + fun id1 -> + fun b -> if b then () else (let uu____17 = let uu____23 = - let uu____25 = FStar_Util.string_of_int id1 in - FStar_Util.format1 "Assertion failed: test %s" uu____25 in - (FStar_Errors.Fatal_AssertionFailure, uu____23) in + let uu____25 = FStar_Util.string_of_int id1 in + FStar_Util.format1 "Assertion failed: test %s" uu____25 in + (FStar_Errors.Fatal_AssertionFailure, uu____23) in FStar_Errors.raise_error uu____17 FStar_Range.dummyRange) + let (x : FStar_Syntax_Syntax.bv) = FStar_Syntax_Syntax.gen_bv "x" FStar_Pervasives_Native.None FStar_Syntax_Syntax.tun + let (y : FStar_Syntax_Syntax.bv) = FStar_Syntax_Syntax.gen_bv "y" FStar_Pervasives_Native.None FStar_Syntax_Syntax.tun + let (n : FStar_Syntax_Syntax.bv) = FStar_Syntax_Syntax.gen_bv "n" FStar_Pervasives_Native.None FStar_Syntax_Syntax.tun + let (h : FStar_Syntax_Syntax.bv) = FStar_Syntax_Syntax.gen_bv "h" FStar_Pervasives_Native.None FStar_Syntax_Syntax.tun + let (m : FStar_Syntax_Syntax.bv) = FStar_Syntax_Syntax.gen_bv "m" FStar_Pervasives_Native.None FStar_Syntax_Syntax.tun + let tm : 'Auu____44 . 'Auu____44 -> 'Auu____44 FStar_Syntax_Syntax.syntax = - fun t -> + fun t -> FStar_Syntax_Syntax.mk t FStar_Pervasives_Native.None FStar_Range.dummyRange + let (nm : FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.term) = - fun x1 -> FStar_Syntax_Syntax.bv_to_name x1 + fun x1 -> FStar_Syntax_Syntax.bv_to_name x1 let (app : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term Prims.list -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun x1 -> - fun ts -> + fun x1 -> + fun ts -> let uu____79 = let uu____86 = let uu____87 = - let uu____104 = FStar_List.map FStar_Syntax_Syntax.as_arg ts in - (x1, uu____104) in - FStar_Syntax_Syntax.Tm_app uu____87 in - FStar_Syntax_Syntax.mk uu____86 in + let uu____104 = FStar_List.map FStar_Syntax_Syntax.as_arg ts in + (x1, uu____104) in + FStar_Syntax_Syntax.Tm_app uu____87 in + FStar_Syntax_Syntax.mk uu____86 in uu____79 FStar_Pervasives_Native.None FStar_Range.dummyRange + let rec (term_eq' : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun t1 -> - fun t2 -> - let t11 = FStar_Syntax_Subst.compress t1 in - let t21 = FStar_Syntax_Subst.compress t2 in + fun t1 -> + fun t2 -> + let t11 = FStar_Syntax_Subst.compress t1 in + let t21 = FStar_Syntax_Subst.compress t2 in let binders_eq xs ys = ((FStar_List.length xs) = (FStar_List.length ys)) && (FStar_List.forall2 - (fun uu____183 -> - fun uu____184 -> + (fun uu____183 -> + fun uu____184 -> match (uu____183, uu____184) with - | ((x1, uu____199), (y1, uu____201)) -> + | ((x1,uu____199),(y1,uu____201)) -> term_eq' x1.FStar_Syntax_Syntax.sort - y1.FStar_Syntax_Syntax.sort) xs ys) in + y1.FStar_Syntax_Syntax.sort) xs ys) + in let args_eq xs ys = ((FStar_List.length xs) = (FStar_List.length ys)) && (FStar_List.forall2 - (fun uu____312 -> - fun uu____313 -> + (fun uu____312 -> + fun uu____313 -> match (uu____312, uu____313) with - | ((a, imp), (b, imp')) -> + | ((a,imp),(b,imp')) -> (term_eq' a b) && - (let uu____384 = FStar_Syntax_Util.eq_aqual imp imp' in - uu____384 = FStar_Syntax_Util.Equal)) xs ys) in + (let uu____384 = FStar_Syntax_Util.eq_aqual imp imp' + in + uu____384 = FStar_Syntax_Util.Equal)) xs ys) + in let comp_eq c d = match ((c.FStar_Syntax_Syntax.n), (d.FStar_Syntax_Syntax.n)) with - | (FStar_Syntax_Syntax.Total (t, uu____399), - FStar_Syntax_Syntax.Total (s, uu____401)) -> term_eq' t s - | (FStar_Syntax_Syntax.Comp ct1, FStar_Syntax_Syntax.Comp ct2) -> + | (FStar_Syntax_Syntax.Total (t,uu____399),FStar_Syntax_Syntax.Total + (s,uu____401)) -> term_eq' t s + | (FStar_Syntax_Syntax.Comp ct1,FStar_Syntax_Syntax.Comp ct2) -> ((FStar_Ident.lid_equals ct1.FStar_Syntax_Syntax.effect_name ct2.FStar_Syntax_Syntax.effect_name) && @@ -87,47 +98,48 @@ let rec (term_eq' : && (args_eq ct1.FStar_Syntax_Syntax.effect_args ct2.FStar_Syntax_Syntax.effect_args) - | uu____420 -> false in + | uu____420 -> false in match ((t11.FStar_Syntax_Syntax.n), (t21.FStar_Syntax_Syntax.n)) with - | (FStar_Syntax_Syntax.Tm_lazy l, uu____428) -> + | (FStar_Syntax_Syntax.Tm_lazy l,uu____428) -> let uu____429 = let uu____432 = let uu____441 = - FStar_ST.op_Bang FStar_Syntax_Syntax.lazy_chooser in - FStar_Util.must uu____441 in - uu____432 l.FStar_Syntax_Syntax.lkind l in + FStar_ST.op_Bang FStar_Syntax_Syntax.lazy_chooser in + FStar_Util.must uu____441 in + uu____432 l.FStar_Syntax_Syntax.lkind l in term_eq' uu____429 t21 - | (uu____491, FStar_Syntax_Syntax.Tm_lazy l) -> + | (uu____491,FStar_Syntax_Syntax.Tm_lazy l) -> let uu____493 = let uu____496 = let uu____505 = - FStar_ST.op_Bang FStar_Syntax_Syntax.lazy_chooser in - FStar_Util.must uu____505 in - uu____496 l.FStar_Syntax_Syntax.lkind l in + FStar_ST.op_Bang FStar_Syntax_Syntax.lazy_chooser in + FStar_Util.must uu____505 in + uu____496 l.FStar_Syntax_Syntax.lkind l in term_eq' t11 uu____493 - | (FStar_Syntax_Syntax.Tm_bvar x1, FStar_Syntax_Syntax.Tm_bvar y1) -> + | (FStar_Syntax_Syntax.Tm_bvar x1,FStar_Syntax_Syntax.Tm_bvar y1) -> x1.FStar_Syntax_Syntax.index = y1.FStar_Syntax_Syntax.index - | (FStar_Syntax_Syntax.Tm_name x1, FStar_Syntax_Syntax.Tm_name y1) -> + | (FStar_Syntax_Syntax.Tm_name x1,FStar_Syntax_Syntax.Tm_name y1) -> FStar_Syntax_Syntax.bv_eq x1 y1 - | (FStar_Syntax_Syntax.Tm_fvar f, FStar_Syntax_Syntax.Tm_fvar g) -> + | (FStar_Syntax_Syntax.Tm_fvar f,FStar_Syntax_Syntax.Tm_fvar g) -> FStar_Syntax_Syntax.fv_eq f g - | (FStar_Syntax_Syntax.Tm_uinst (t, uu____563), - FStar_Syntax_Syntax.Tm_uinst (s, uu____565)) -> term_eq' t s - | (FStar_Syntax_Syntax.Tm_constant c1, FStar_Syntax_Syntax.Tm_constant + | (FStar_Syntax_Syntax.Tm_uinst + (t,uu____563),FStar_Syntax_Syntax.Tm_uinst (s,uu____565)) -> + term_eq' t s + | (FStar_Syntax_Syntax.Tm_constant c1,FStar_Syntax_Syntax.Tm_constant c2) -> FStar_Const.eq_const c1 c2 - | (FStar_Syntax_Syntax.Tm_type u, FStar_Syntax_Syntax.Tm_type v1) -> + | (FStar_Syntax_Syntax.Tm_type u,FStar_Syntax_Syntax.Tm_type v1) -> u = v1 - | (FStar_Syntax_Syntax.Tm_abs (xs, t, uu____580), - FStar_Syntax_Syntax.Tm_abs (ys, u, uu____583)) when + | (FStar_Syntax_Syntax.Tm_abs + (xs,t,uu____580),FStar_Syntax_Syntax.Tm_abs (ys,u,uu____583)) when (FStar_List.length xs) = (FStar_List.length ys) -> (binders_eq xs ys) && (term_eq' t u) - | (FStar_Syntax_Syntax.Tm_abs (xs, t, uu____646), - FStar_Syntax_Syntax.Tm_abs (ys, u, uu____649)) -> + | (FStar_Syntax_Syntax.Tm_abs + (xs,t,uu____646),FStar_Syntax_Syntax.Tm_abs (ys,u,uu____649)) -> if (FStar_List.length xs) > (FStar_List.length ys) then - let uu____712 = FStar_Util.first_N (FStar_List.length ys) xs in + let uu____712 = FStar_Util.first_N (FStar_List.length ys) xs in (match uu____712 with - | (xs1, xs') -> + | (xs1,xs') -> let t12 = let uu____783 = let uu____790 = @@ -137,17 +149,19 @@ let rec (term_eq' : (FStar_Syntax_Syntax.Tm_abs (xs', t, FStar_Pervasives_Native.None)) FStar_Pervasives_Native.None - t11.FStar_Syntax_Syntax.pos in - (xs1, uu____810, FStar_Pervasives_Native.None) in - FStar_Syntax_Syntax.Tm_abs uu____791 in - FStar_Syntax_Syntax.mk uu____790 in + t11.FStar_Syntax_Syntax.pos + in + (xs1, uu____810, FStar_Pervasives_Native.None) in + FStar_Syntax_Syntax.Tm_abs uu____791 in + FStar_Syntax_Syntax.mk uu____790 in uu____783 FStar_Pervasives_Native.None - t11.FStar_Syntax_Syntax.pos in + t11.FStar_Syntax_Syntax.pos + in term_eq' t12 t21) else - (let uu____839 = FStar_Util.first_N (FStar_List.length xs) ys in + (let uu____839 = FStar_Util.first_N (FStar_List.length xs) ys in match uu____839 with - | (ys1, ys') -> + | (ys1,ys') -> let t22 = let uu____910 = let uu____917 = @@ -157,102 +171,105 @@ let rec (term_eq' : (FStar_Syntax_Syntax.Tm_abs (ys', u, FStar_Pervasives_Native.None)) FStar_Pervasives_Native.None - t21.FStar_Syntax_Syntax.pos in - (ys1, uu____937, FStar_Pervasives_Native.None) in - FStar_Syntax_Syntax.Tm_abs uu____918 in - FStar_Syntax_Syntax.mk uu____917 in + t21.FStar_Syntax_Syntax.pos + in + (ys1, uu____937, FStar_Pervasives_Native.None) in + FStar_Syntax_Syntax.Tm_abs uu____918 in + FStar_Syntax_Syntax.mk uu____917 in uu____910 FStar_Pervasives_Native.None - t21.FStar_Syntax_Syntax.pos in + t21.FStar_Syntax_Syntax.pos + in term_eq' t11 t22) - | (FStar_Syntax_Syntax.Tm_arrow (xs, c), FStar_Syntax_Syntax.Tm_arrow - (ys, d)) -> (binders_eq xs ys) && (comp_eq c d) - | (FStar_Syntax_Syntax.Tm_refine (x1, t), FStar_Syntax_Syntax.Tm_refine - (y1, u)) -> + | (FStar_Syntax_Syntax.Tm_arrow (xs,c),FStar_Syntax_Syntax.Tm_arrow + (ys,d)) -> (binders_eq xs ys) && (comp_eq c d) + | (FStar_Syntax_Syntax.Tm_refine (x1,t),FStar_Syntax_Syntax.Tm_refine + (y1,u)) -> (term_eq' x1.FStar_Syntax_Syntax.sort y1.FStar_Syntax_Syntax.sort) && (term_eq' t u) | (FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv_eq_1; FStar_Syntax_Syntax.pos = uu____1021; - FStar_Syntax_Syntax.vars = uu____1022;_}, - (uu____1023, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____1024))::t12::t22::[]), - FStar_Syntax_Syntax.Tm_app + FStar_Syntax_Syntax.vars = uu____1022;_},(uu____1023,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit + uu____1024))::t12::t22::[]),FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv_eq_2; FStar_Syntax_Syntax.pos = uu____1028; - FStar_Syntax_Syntax.vars = uu____1029;_}, - (uu____1030, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____1031))::s1::s2::[])) + FStar_Syntax_Syntax.vars = uu____1029;_},(uu____1030,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit + uu____1031))::s1::s2::[])) when (FStar_Syntax_Syntax.fv_eq_lid fv_eq_1 FStar_Parser_Const.eq2_lid) && (FStar_Syntax_Syntax.fv_eq_lid fv_eq_2 FStar_Parser_Const.eq2_lid) -> args_eq [s1; s2] [t12; t22] - | (FStar_Syntax_Syntax.Tm_app (t, args), FStar_Syntax_Syntax.Tm_app - (s, args')) -> (term_eq' t s) && (args_eq args args') - | (FStar_Syntax_Syntax.Tm_match (t, pats), FStar_Syntax_Syntax.Tm_match - (t', pats')) -> + | (FStar_Syntax_Syntax.Tm_app (t,args),FStar_Syntax_Syntax.Tm_app + (s,args')) -> (term_eq' t s) && (args_eq args args') + | (FStar_Syntax_Syntax.Tm_match (t,pats),FStar_Syntax_Syntax.Tm_match + (t',pats')) -> (((FStar_List.length pats) = (FStar_List.length pats')) && (FStar_List.forall2 - (fun uu____1412 -> - fun uu____1413 -> + (fun uu____1412 -> + fun uu____1413 -> match (uu____1412, uu____1413) with - | ((uu____1471, uu____1472, e), - (uu____1474, uu____1475, e')) -> term_eq' e e') pats - pats')) + | ((uu____1471,uu____1472,e),(uu____1474,uu____1475,e')) + -> term_eq' e e') pats pats')) && (term_eq' t t') | (FStar_Syntax_Syntax.Tm_ascribed - (t12, (FStar_Util.Inl t22, uu____1539), uu____1540), - FStar_Syntax_Syntax.Tm_ascribed - (s1, (FStar_Util.Inl s2, uu____1543), uu____1544)) -> + (t12,(FStar_Util.Inl t22,uu____1539),uu____1540),FStar_Syntax_Syntax.Tm_ascribed + (s1,(FStar_Util.Inl s2,uu____1543),uu____1544)) -> (term_eq' t12 s1) && (term_eq' t22 s2) - | (FStar_Syntax_Syntax.Tm_let ((is_rec, lbs), t), - FStar_Syntax_Syntax.Tm_let ((is_rec', lbs'), s)) when + | (FStar_Syntax_Syntax.Tm_let + ((is_rec,lbs),t),FStar_Syntax_Syntax.Tm_let ((is_rec',lbs'),s)) when is_rec = is_rec' -> (((FStar_List.length lbs) = (FStar_List.length lbs')) && (FStar_List.forall2 - (fun lb1 -> - fun lb2 -> + (fun lb1 -> + fun lb2 -> (term_eq' lb1.FStar_Syntax_Syntax.lbtyp lb2.FStar_Syntax_Syntax.lbtyp) && (term_eq' lb1.FStar_Syntax_Syntax.lbdef lb2.FStar_Syntax_Syntax.lbdef)) lbs lbs')) && (term_eq' t s) - | (FStar_Syntax_Syntax.Tm_uvar (u, uu____1683), - FStar_Syntax_Syntax.Tm_uvar (u', uu____1685)) -> + | (FStar_Syntax_Syntax.Tm_uvar + (u,uu____1683),FStar_Syntax_Syntax.Tm_uvar (u',uu____1685)) -> FStar_Syntax_Unionfind.equiv u.FStar_Syntax_Syntax.ctx_uvar_head u'.FStar_Syntax_Syntax.ctx_uvar_head - | (FStar_Syntax_Syntax.Tm_meta (t12, uu____1719), uu____1720) -> + | (FStar_Syntax_Syntax.Tm_meta (t12,uu____1719),uu____1720) -> term_eq' t12 t21 - | (uu____1725, FStar_Syntax_Syntax.Tm_meta (t22, uu____1727)) -> + | (uu____1725,FStar_Syntax_Syntax.Tm_meta (t22,uu____1727)) -> term_eq' t11 t22 - | (FStar_Syntax_Syntax.Tm_delayed uu____1732, uu____1733) -> + | (FStar_Syntax_Syntax.Tm_delayed uu____1732,uu____1733) -> let uu____1756 = - let uu____1758 = FStar_Syntax_Print.tag_of_term t11 in - let uu____1760 = FStar_Syntax_Print.tag_of_term t21 in - FStar_Util.format2 "Impossible: %s and %s" uu____1758 uu____1760 in + let uu____1758 = FStar_Syntax_Print.tag_of_term t11 in + let uu____1760 = FStar_Syntax_Print.tag_of_term t21 in + FStar_Util.format2 "Impossible: %s and %s" uu____1758 uu____1760 + in failwith uu____1756 - | (uu____1764, FStar_Syntax_Syntax.Tm_delayed uu____1765) -> + | (uu____1764,FStar_Syntax_Syntax.Tm_delayed uu____1765) -> let uu____1788 = - let uu____1790 = FStar_Syntax_Print.tag_of_term t11 in - let uu____1792 = FStar_Syntax_Print.tag_of_term t21 in - FStar_Util.format2 "Impossible: %s and %s" uu____1790 uu____1792 in + let uu____1790 = FStar_Syntax_Print.tag_of_term t11 in + let uu____1792 = FStar_Syntax_Print.tag_of_term t21 in + FStar_Util.format2 "Impossible: %s and %s" uu____1790 uu____1792 + in failwith uu____1788 - | (FStar_Syntax_Syntax.Tm_unknown, FStar_Syntax_Syntax.Tm_unknown) -> + | (FStar_Syntax_Syntax.Tm_unknown ,FStar_Syntax_Syntax.Tm_unknown ) -> true | uu____1797 -> false + let (term_eq : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun t1 -> - fun t2 -> - let b = term_eq' t1 t2 in + fun t1 -> + fun t2 -> + let b = term_eq' t1 t2 in if Prims.op_Negation b then - (let uu____1827 = FStar_Syntax_Print.term_to_string t1 in - let uu____1829 = FStar_Syntax_Print.term_to_string t2 in + (let uu____1827 = FStar_Syntax_Print.term_to_string t1 in + let uu____1829 = FStar_Syntax_Print.term_to_string t2 in FStar_Util.print2 ">>>>>>>>>>>Term %s is not equal to %s\n" uu____1827 uu____1829) else (); - b \ No newline at end of file + b + \ No newline at end of file diff --git a/src/ocaml-output/FStar_ToSyntax_Interleave.ml b/src/ocaml-output/FStar_ToSyntax_Interleave.ml index b1a3673698c..6fd8f87c11f 100644 --- a/src/ocaml-output/FStar_ToSyntax_Interleave.ml +++ b/src/ocaml-output/FStar_ToSyntax_Interleave.ml @@ -1,72 +1,78 @@ open Prims let (id_eq_lid : FStar_Ident.ident -> FStar_Ident.lident -> Prims.bool) = - fun i -> - fun l -> i.FStar_Ident.idText = (l.FStar_Ident.ident).FStar_Ident.idText + fun i -> + fun l -> i.FStar_Ident.idText = (l.FStar_Ident.ident).FStar_Ident.idText + let (is_val : FStar_Ident.ident -> FStar_Parser_AST.decl -> Prims.bool) = - fun x -> - fun d -> + fun x -> + fun d -> match d.FStar_Parser_AST.d with - | FStar_Parser_AST.Val (y, uu____26) -> + | FStar_Parser_AST.Val (y,uu____26) -> x.FStar_Ident.idText = y.FStar_Ident.idText | uu____28 -> false + let (is_type : FStar_Ident.ident -> FStar_Parser_AST.decl -> Prims.bool) = - fun x -> - fun d -> + fun x -> + fun d -> match d.FStar_Parser_AST.d with - | FStar_Parser_AST.Tycon (uu____43, uu____44, tys) -> + | FStar_Parser_AST.Tycon (uu____43,uu____44,tys) -> FStar_All.pipe_right tys (FStar_Util.for_some - (fun uu____84 -> + (fun uu____84 -> match uu____84 with - | (t, uu____93) -> + | (t,uu____93) -> (FStar_Parser_AST.id_of_tycon t) = x.FStar_Ident.idText)) | uu____99 -> false + let (definition_lids : FStar_Parser_AST.decl -> FStar_Ident.lident Prims.list) = - fun d -> + fun d -> match d.FStar_Parser_AST.d with - | FStar_Parser_AST.TopLevelLet (uu____111, defs) -> + | FStar_Parser_AST.TopLevelLet (uu____111,defs) -> FStar_Parser_AST.lids_of_let defs - | FStar_Parser_AST.Tycon (uu____125, uu____126, tys) -> + | FStar_Parser_AST.Tycon (uu____125,uu____126,tys) -> FStar_All.pipe_right tys (FStar_List.collect - (fun uu___0_171 -> + (fun uu___0_171 -> match uu___0_171 with | (FStar_Parser_AST.TyconAbbrev - (id1, uu____181, uu____182, uu____183), uu____184) -> - let uu____197 = FStar_Ident.lid_of_ids [id1] in + (id1,uu____181,uu____182,uu____183),uu____184) -> + let uu____197 = FStar_Ident.lid_of_ids [id1] in [uu____197] | (FStar_Parser_AST.TyconRecord - (id1, uu____199, uu____200, uu____201), uu____202) -> - let uu____235 = FStar_Ident.lid_of_ids [id1] in + (id1,uu____199,uu____200,uu____201),uu____202) -> + let uu____235 = FStar_Ident.lid_of_ids [id1] in [uu____235] | (FStar_Parser_AST.TyconVariant - (id1, uu____237, uu____238, uu____239), uu____240) -> - let uu____283 = FStar_Ident.lid_of_ids [id1] in + (id1,uu____237,uu____238,uu____239),uu____240) -> + let uu____283 = FStar_Ident.lid_of_ids [id1] in [uu____283] | uu____284 -> [])) | uu____291 -> [] + let (is_definition_of : FStar_Ident.ident -> FStar_Parser_AST.decl -> Prims.bool) = - fun x -> - fun d -> - let uu____304 = definition_lids d in + fun x -> + fun d -> + let uu____304 = definition_lids d in FStar_Util.for_some (id_eq_lid x) uu____304 + let rec (prefix_with_iface_decls : FStar_Parser_AST.decl Prims.list -> FStar_Parser_AST.decl -> (FStar_Parser_AST.decl Prims.list * FStar_Parser_AST.decl Prims.list)) = - fun iface1 -> - fun impl -> + fun iface1 -> + fun impl -> let qualify_kremlin_private impl1 = let krem_private = FStar_Parser_AST.mk_term (FStar_Parser_AST.Const (FStar_Const.Const_string ("KremlinPrivate", (impl1.FStar_Parser_AST.drange)))) - impl1.FStar_Parser_AST.drange FStar_Parser_AST.Expr in - let uu___66_347 = impl1 in + impl1.FStar_Parser_AST.drange FStar_Parser_AST.Expr + in + let uu___66_347 = impl1 in { FStar_Parser_AST.d = (uu___66_347.FStar_Parser_AST.d); FStar_Parser_AST.drange = (uu___66_347.FStar_Parser_AST.drange); @@ -74,36 +80,37 @@ let rec (prefix_with_iface_decls : FStar_Parser_AST.quals = (uu___66_347.FStar_Parser_AST.quals); FStar_Parser_AST.attrs = (krem_private :: (impl1.FStar_Parser_AST.attrs)) - } in + } in match iface1 with | [] -> ([], [qualify_kremlin_private impl]) | iface_hd::iface_tl -> (match iface_hd.FStar_Parser_AST.d with - | FStar_Parser_AST.Tycon (uu____372, uu____373, tys) when + | FStar_Parser_AST.Tycon (uu____372,uu____373,tys) when FStar_All.pipe_right tys (FStar_Util.for_some - (fun uu___1_413 -> + (fun uu___1_413 -> match uu___1_413 with - | (FStar_Parser_AST.TyconAbstract uu____421, - uu____422) -> true + | (FStar_Parser_AST.TyconAbstract uu____421,uu____422) + -> true | uu____438 -> false)) -> FStar_Errors.raise_error (FStar_Errors.Fatal_AbstractTypeDeclarationInInterface, "Interface contains an abstract 'type' declaration; use 'val' instead") impl.FStar_Parser_AST.drange - | FStar_Parser_AST.Val (x, t) -> - let def_ids = definition_lids impl in - let defines_x = FStar_Util.for_some (id_eq_lid x) def_ids in + | FStar_Parser_AST.Val (x,t) -> + let def_ids = definition_lids impl in + let defines_x = FStar_Util.for_some (id_eq_lid x) def_ids in if Prims.op_Negation defines_x then let uu____472 = FStar_All.pipe_right def_ids (FStar_Util.for_some - (fun y -> + (fun y -> FStar_All.pipe_right iface_tl (FStar_Util.for_some - (is_val y.FStar_Ident.ident)))) in + (is_val y.FStar_Ident.ident)))) + in (if uu____472 then let uu____491 = @@ -111,13 +118,17 @@ let rec (prefix_with_iface_decls : let uu____499 = let uu____501 = FStar_All.pipe_right def_ids - (FStar_List.map FStar_Ident.string_of_lid) in + (FStar_List.map FStar_Ident.string_of_lid) + in FStar_All.pipe_right uu____501 - (FStar_String.concat ", ") in + (FStar_String.concat ", ") + in FStar_Util.format2 "Expected the definition of %s to precede %s" - x.FStar_Ident.idText uu____499 in - (FStar_Errors.Fatal_WrongDefinitionOrder, uu____497) in + x.FStar_Ident.idText uu____499 + in + (FStar_Errors.Fatal_WrongDefinitionOrder, uu____497) + in FStar_Errors.raise_error uu____491 impl.FStar_Parser_AST.drange else (iface1, [qualify_kremlin_private impl])) @@ -125,86 +136,99 @@ let rec (prefix_with_iface_decls : (let mutually_defined_with_x = FStar_All.pipe_right def_ids (FStar_List.filter - (fun y -> Prims.op_Negation (id_eq_lid x y))) in + (fun y -> Prims.op_Negation (id_eq_lid x y))) + in let rec aux mutuals iface2 = match (mutuals, iface2) with - | ([], uu____582) -> ([], iface2) - | (uu____593::uu____594, []) -> ([], []) - | (y::ys, iface_hd1::iface_tl1) -> + | ([],uu____582) -> ([], iface2) + | (uu____593::uu____594,[]) -> ([], []) + | (y::ys,iface_hd1::iface_tl1) -> if is_val y.FStar_Ident.ident iface_hd1 then - let uu____626 = aux ys iface_tl1 in + let uu____626 = aux ys iface_tl1 in (match uu____626 with - | (val_ys, iface3) -> + | (val_ys,iface3) -> ((iface_hd1 :: val_ys), iface3)) else (let uu____659 = let uu____661 = FStar_List.tryFind - (is_val y.FStar_Ident.ident) iface_tl1 in + (is_val y.FStar_Ident.ident) iface_tl1 + in FStar_All.pipe_left FStar_Option.isSome - uu____661 in + uu____661 + in if uu____659 then let uu____676 = let uu____682 = let uu____684 = - FStar_Parser_AST.decl_to_string iface_hd1 in - let uu____686 = FStar_Ident.string_of_lid y in + FStar_Parser_AST.decl_to_string iface_hd1 + in + let uu____686 = FStar_Ident.string_of_lid y + in FStar_Util.format2 "%s is out of order with the definition of %s" - uu____684 uu____686 in + uu____684 uu____686 + in (FStar_Errors.Fatal_WrongDefinitionOrder, - uu____682) in + uu____682) + in FStar_Errors.raise_error uu____676 iface_hd1.FStar_Parser_AST.drange - else aux ys iface2) in - let uu____700 = aux mutually_defined_with_x iface_tl in + else aux ys iface2) + in + let uu____700 = aux mutually_defined_with_x iface_tl in match uu____700 with - | (take_iface, rest_iface) -> + | (take_iface,rest_iface) -> (rest_iface, (FStar_List.append (iface_hd :: take_iface) [impl]))) | uu____731 -> - let uu____732 = prefix_with_iface_decls iface_tl impl in + let uu____732 = prefix_with_iface_decls iface_tl impl in (match uu____732 with - | (iface2, ds) -> (iface2, (iface_hd :: ds)))) + | (iface2,ds) -> (iface2, (iface_hd :: ds)))) + let (check_initial_interface : FStar_Parser_AST.decl Prims.list -> FStar_Parser_AST.decl Prims.list) = - fun iface1 -> + fun iface1 -> let rec aux iface2 = match iface2 with | [] -> () | hd1::tl1 -> (match hd1.FStar_Parser_AST.d with - | FStar_Parser_AST.Tycon (uu____789, uu____790, tys) when + | FStar_Parser_AST.Tycon (uu____789,uu____790,tys) when FStar_All.pipe_right tys (FStar_Util.for_some - (fun uu___2_830 -> + (fun uu___2_830 -> match uu___2_830 with - | (FStar_Parser_AST.TyconAbstract uu____838, - uu____839) -> true + | (FStar_Parser_AST.TyconAbstract uu____838,uu____839) + -> true | uu____855 -> false)) -> FStar_Errors.raise_error (FStar_Errors.Fatal_AbstractTypeDeclarationInInterface, "Interface contains an abstract 'type' declaration; use 'val' instead") hd1.FStar_Parser_AST.drange - | FStar_Parser_AST.Val (x, t) -> - let uu____867 = FStar_Util.for_some (is_definition_of x) tl1 in + | FStar_Parser_AST.Val (x,t) -> + let uu____867 = FStar_Util.for_some (is_definition_of x) tl1 + in if uu____867 then let uu____870 = let uu____876 = FStar_Util.format2 "'val %s' and 'let %s' cannot both be provided in an interface" - x.FStar_Ident.idText x.FStar_Ident.idText in - (FStar_Errors.Fatal_BothValAndLetInInterface, uu____876) in + x.FStar_Ident.idText x.FStar_Ident.idText + in + (FStar_Errors.Fatal_BothValAndLetInInterface, uu____876) + in FStar_Errors.raise_error uu____870 hd1.FStar_Parser_AST.drange else (let uu____882 = FStar_All.pipe_right hd1.FStar_Parser_AST.quals - (FStar_List.contains FStar_Parser_AST.Assumption) in + (FStar_List.contains FStar_Parser_AST.Assumption) + in if uu____882 then FStar_Errors.raise_error @@ -212,135 +236,146 @@ let (check_initial_interface : "Interfaces cannot use `assume val x : t`; just write `val x : t` instead") hd1.FStar_Parser_AST.drange else ()) - | uu____892 -> ()) in + | uu____892 -> ()) + in aux iface1; FStar_All.pipe_right iface1 (FStar_List.filter - (fun d -> + (fun d -> match d.FStar_Parser_AST.d with | FStar_Parser_AST.TopLevelModule uu____902 -> false | uu____904 -> true)) + let rec (ml_mode_prefix_with_iface_decls : FStar_Parser_AST.decl Prims.list -> FStar_Parser_AST.decl -> (FStar_Parser_AST.decl Prims.list * FStar_Parser_AST.decl Prims.list)) = - fun iface1 -> - fun impl -> + fun iface1 -> + fun impl -> match impl.FStar_Parser_AST.d with - | FStar_Parser_AST.TopLevelLet (uu____937, defs) -> - let xs = FStar_Parser_AST.lids_of_let defs in + | FStar_Parser_AST.TopLevelLet (uu____937,defs) -> + let xs = FStar_Parser_AST.lids_of_let defs in let uu____954 = FStar_List.partition - (fun d -> + (fun d -> FStar_All.pipe_right xs (FStar_Util.for_some - (fun x -> is_val x.FStar_Ident.ident d))) iface1 in + (fun x -> is_val x.FStar_Ident.ident d))) iface1 + in (match uu____954 with - | (val_xs, rest_iface) -> + | (val_xs,rest_iface) -> (rest_iface, (FStar_List.append val_xs [impl]))) | uu____992 -> (iface1, [impl]) + let (ml_mode_check_initial_interface : FStar_Parser_AST.decl Prims.list -> FStar_Parser_AST.decl Prims.list) = - fun iface1 -> + fun iface1 -> FStar_All.pipe_right iface1 (FStar_List.filter - (fun d -> + (fun d -> match d.FStar_Parser_AST.d with | FStar_Parser_AST.Val uu____1017 -> true | uu____1023 -> false)) + let (prefix_one_decl : FStar_Parser_AST.decl Prims.list -> FStar_Parser_AST.decl -> (FStar_Parser_AST.decl Prims.list * FStar_Parser_AST.decl Prims.list)) = - fun iface1 -> - fun impl -> + fun iface1 -> + fun impl -> match impl.FStar_Parser_AST.d with | FStar_Parser_AST.TopLevelModule uu____1056 -> (iface1, [impl]) | uu____1061 -> - let uu____1062 = FStar_Options.ml_ish () in + let uu____1062 = FStar_Options.ml_ish () in if uu____1062 then ml_mode_prefix_with_iface_decls iface1 impl else prefix_with_iface_decls iface1 impl + let (initialize_interface : FStar_Ident.lident -> FStar_Parser_AST.decl Prims.list -> unit FStar_Syntax_DsEnv.withenv) = - fun mname -> - fun l -> - fun env -> + fun mname -> + fun l -> + fun env -> let decls = - let uu____1100 = FStar_Options.ml_ish () in + let uu____1100 = FStar_Options.ml_ish () in if uu____1100 then ml_mode_check_initial_interface l - else check_initial_interface l in - let uu____1107 = FStar_Syntax_DsEnv.iface_decls env mname in + else check_initial_interface l in + let uu____1107 = FStar_Syntax_DsEnv.iface_decls env mname in match uu____1107 with | FStar_Pervasives_Native.Some uu____1116 -> let uu____1121 = let uu____1127 = - let uu____1129 = FStar_Ident.string_of_lid mname in + let uu____1129 = FStar_Ident.string_of_lid mname in FStar_Util.format1 "Interface %s has already been processed" - uu____1129 in - (FStar_Errors.Fatal_InterfaceAlreadyProcessed, uu____1127) in - let uu____1133 = FStar_Ident.range_of_lid mname in + uu____1129 + in + (FStar_Errors.Fatal_InterfaceAlreadyProcessed, uu____1127) in + let uu____1133 = FStar_Ident.range_of_lid mname in FStar_Errors.raise_error uu____1121 uu____1133 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____1140 = - FStar_Syntax_DsEnv.set_iface_decls env mname decls in + FStar_Syntax_DsEnv.set_iface_decls env mname decls in ((), uu____1140) + let (prefix_with_interface_decls : FStar_Parser_AST.decl -> FStar_Parser_AST.decl Prims.list FStar_Syntax_DsEnv.withenv) = - fun impl -> - fun env -> + fun impl -> + fun env -> let uu____1158 = - let uu____1163 = FStar_Syntax_DsEnv.current_module env in - FStar_Syntax_DsEnv.iface_decls env uu____1163 in + let uu____1163 = FStar_Syntax_DsEnv.current_module env in + FStar_Syntax_DsEnv.iface_decls env uu____1163 in match uu____1158 with - | FStar_Pervasives_Native.None -> ([impl], env) + | FStar_Pervasives_Native.None -> ([impl], env) | FStar_Pervasives_Native.Some iface1 -> - let uu____1179 = prefix_one_decl iface1 impl in + let uu____1179 = prefix_one_decl iface1 impl in (match uu____1179 with - | (iface2, impl1) -> + | (iface2,impl1) -> let env1 = - let uu____1205 = FStar_Syntax_DsEnv.current_module env in - FStar_Syntax_DsEnv.set_iface_decls env uu____1205 iface2 in + let uu____1205 = FStar_Syntax_DsEnv.current_module env in + FStar_Syntax_DsEnv.set_iface_decls env uu____1205 iface2 in (impl1, env1)) + let (interleave_module : FStar_Parser_AST.modul -> Prims.bool -> FStar_Parser_AST.modul FStar_Syntax_DsEnv.withenv) = - fun a -> - fun expect_complete_modul -> - fun env -> + fun a -> + fun expect_complete_modul -> + fun env -> match a with | FStar_Parser_AST.Interface uu____1232 -> (a, env) - | FStar_Parser_AST.Module (l, impls) -> - let uu____1248 = FStar_Syntax_DsEnv.iface_decls env l in + | FStar_Parser_AST.Module (l,impls) -> + let uu____1248 = FStar_Syntax_DsEnv.iface_decls env l in (match uu____1248 with - | FStar_Pervasives_Native.None -> (a, env) + | FStar_Pervasives_Native.None -> (a, env) | FStar_Pervasives_Native.Some iface1 -> let uu____1264 = FStar_List.fold_left - (fun uu____1288 -> - fun impl -> + (fun uu____1288 -> + fun impl -> match uu____1288 with - | (iface2, impls1) -> - let uu____1316 = prefix_one_decl iface2 impl in + | (iface2,impls1) -> + let uu____1316 = prefix_one_decl iface2 impl + in (match uu____1316 with - | (iface3, impls') -> + | (iface3,impls') -> (iface3, (FStar_List.append impls1 impls')))) - (iface1, []) impls in + (iface1, []) impls + in (match uu____1264 with - | (iface2, impls1) -> + | (iface2,impls1) -> let uu____1365 = let uu____1374 = FStar_Util.prefix_until - (fun uu___3_1393 -> + (fun uu___3_1393 -> match uu___3_1393 with | { FStar_Parser_AST.d = FStar_Parser_AST.Val @@ -350,22 +385,26 @@ let (interleave_module : FStar_Parser_AST.quals = uu____1398; FStar_Parser_AST.attrs = uu____1399;_} -> true - | uu____1407 -> false) iface2 in + | uu____1407 -> false) iface2 + in match uu____1374 with - | FStar_Pervasives_Native.None -> (iface2, []) - | FStar_Pervasives_Native.Some (lets, one_val, rest) - -> (lets, (one_val :: rest)) in + | FStar_Pervasives_Native.None -> (iface2, []) + | FStar_Pervasives_Native.Some (lets,one_val,rest) -> + (lets, (one_val :: rest)) + in (match uu____1365 with - | (iface_lets, remaining_iface_vals) -> - let impls2 = FStar_List.append impls1 iface_lets in + | (iface_lets,remaining_iface_vals) -> + let impls2 = FStar_List.append impls1 iface_lets + in let env1 = - let uu____1474 = FStar_Options.interactive () in + let uu____1474 = FStar_Options.interactive () + in if uu____1474 then FStar_Syntax_DsEnv.set_iface_decls env l remaining_iface_vals - else env in - let a1 = FStar_Parser_AST.Module (l, impls2) in + else env in + let a1 = FStar_Parser_AST.Module (l, impls2) in (match remaining_iface_vals with | uu____1486::uu____1487 when expect_complete_modul -> @@ -373,19 +412,25 @@ let (interleave_module : let uu____1492 = FStar_List.map FStar_Parser_AST.decl_to_string - remaining_iface_vals in + remaining_iface_vals + in FStar_All.pipe_right uu____1492 - (FStar_String.concat "\n\t") in + (FStar_String.concat "\n\t") + in let uu____1502 = let uu____1508 = let uu____1510 = - FStar_Ident.string_of_lid l in + FStar_Ident.string_of_lid l in FStar_Util.format2 "Some interface elements were not implemented by module %s:\n\t%s" - uu____1510 err in + uu____1510 err + in (FStar_Errors.Fatal_InterfaceNotImplementedByModule, - uu____1508) in - let uu____1514 = FStar_Ident.range_of_lid l in + uu____1508) + in + let uu____1514 = FStar_Ident.range_of_lid l + in FStar_Errors.raise_error uu____1502 uu____1514 - | uu____1519 -> (a1, env1))))) \ No newline at end of file + | uu____1519 -> (a1, env1))))) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_ToSyntax_ToSyntax.ml b/src/ocaml-output/FStar_ToSyntax_ToSyntax.ml index 2aa52c7143f..ec1af7f25e8 100644 --- a/src/ocaml-output/FStar_ToSyntax_ToSyntax.ml +++ b/src/ocaml-output/FStar_ToSyntax_ToSyntax.ml @@ -10,116 +10,124 @@ let (desugar_disjunctive_pattern : FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.branch Prims.list) = - fun annotated_pats -> - fun when_opt -> - fun branch1 -> + fun annotated_pats -> + fun when_opt -> + fun branch1 -> FStar_All.pipe_right annotated_pats (FStar_List.map - (fun uu____103 -> + (fun uu____103 -> match uu____103 with - | (pat, annots) -> + | (pat,annots) -> let branch2 = FStar_List.fold_left - (fun br -> - fun uu____158 -> + (fun br -> + fun uu____158 -> match uu____158 with - | (bv, ty) -> + | (bv,ty) -> let lb = let uu____176 = - FStar_Syntax_Syntax.bv_to_name bv in + FStar_Syntax_Syntax.bv_to_name bv in FStar_Syntax_Util.mk_letbinding (FStar_Util.Inl bv) [] ty FStar_Parser_Const.effect_Tot_lid - uu____176 [] br.FStar_Syntax_Syntax.pos in + uu____176 [] br.FStar_Syntax_Syntax.pos + in let branch2 = let uu____182 = let uu____183 = - FStar_Syntax_Syntax.mk_binder bv in - [uu____183] in - FStar_Syntax_Subst.close uu____182 branch1 in + FStar_Syntax_Syntax.mk_binder bv in + [uu____183] in + FStar_Syntax_Subst.close uu____182 branch1 + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let ((false, [lb]), branch2)) FStar_Pervasives_Native.None - br.FStar_Syntax_Syntax.pos) branch1 annots in + br.FStar_Syntax_Syntax.pos) branch1 annots + in FStar_Syntax_Util.branch (pat, when_opt, branch2))) + let (trans_qual : FStar_Range.range -> FStar_Ident.lident FStar_Pervasives_Native.option -> FStar_Parser_AST.qualifier -> FStar_Syntax_Syntax.qualifier) = - fun r -> - fun maybe_effect_id -> - fun uu___0_240 -> + fun r -> + fun maybe_effect_id -> + fun uu___0_240 -> match uu___0_240 with - | FStar_Parser_AST.Private -> FStar_Syntax_Syntax.Private - | FStar_Parser_AST.Assumption -> FStar_Syntax_Syntax.Assumption - | FStar_Parser_AST.Unfold_for_unification_and_vcgen -> + | FStar_Parser_AST.Private -> FStar_Syntax_Syntax.Private + | FStar_Parser_AST.Assumption -> FStar_Syntax_Syntax.Assumption + | FStar_Parser_AST.Unfold_for_unification_and_vcgen -> FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen - | FStar_Parser_AST.Inline_for_extraction -> + | FStar_Parser_AST.Inline_for_extraction -> FStar_Syntax_Syntax.Inline_for_extraction - | FStar_Parser_AST.NoExtract -> FStar_Syntax_Syntax.NoExtract - | FStar_Parser_AST.Irreducible -> FStar_Syntax_Syntax.Irreducible - | FStar_Parser_AST.Logic -> FStar_Syntax_Syntax.Logic - | FStar_Parser_AST.TotalEffect -> FStar_Syntax_Syntax.TotalEffect - | FStar_Parser_AST.Effect_qual -> FStar_Syntax_Syntax.Effect - | FStar_Parser_AST.New -> FStar_Syntax_Syntax.New - | FStar_Parser_AST.Abstract -> FStar_Syntax_Syntax.Abstract - | FStar_Parser_AST.Opaque -> + | FStar_Parser_AST.NoExtract -> FStar_Syntax_Syntax.NoExtract + | FStar_Parser_AST.Irreducible -> FStar_Syntax_Syntax.Irreducible + | FStar_Parser_AST.Logic -> FStar_Syntax_Syntax.Logic + | FStar_Parser_AST.TotalEffect -> FStar_Syntax_Syntax.TotalEffect + | FStar_Parser_AST.Effect_qual -> FStar_Syntax_Syntax.Effect + | FStar_Parser_AST.New -> FStar_Syntax_Syntax.New + | FStar_Parser_AST.Abstract -> FStar_Syntax_Syntax.Abstract + | FStar_Parser_AST.Opaque -> (FStar_Errors.log_issue r (FStar_Errors.Warning_DeprecatedOpaqueQualifier, "The 'opaque' qualifier is deprecated since its use was strangely schizophrenic. There were two overloaded uses: (1) Given 'opaque val f : t', the behavior was to exclude the definition of 'f' to the SMT solver. This corresponds roughly to the new 'irreducible' qualifier. (2) Given 'opaque type t = t'', the behavior was to provide the definition of 't' to the SMT solver, but not to inline it, unless absolutely required for unification. This corresponds roughly to the behavior of 'unfoldable' (which is currently the default)."); FStar_Syntax_Syntax.Visible_default) - | FStar_Parser_AST.Reflectable -> + | FStar_Parser_AST.Reflectable -> (match maybe_effect_id with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Errors.raise_error (FStar_Errors.Fatal_ReflectOnlySupportedOnEffects, "Qualifier reflect only supported on effects") r | FStar_Pervasives_Native.Some effect_id -> FStar_Syntax_Syntax.Reflectable effect_id) - | FStar_Parser_AST.Reifiable -> FStar_Syntax_Syntax.Reifiable - | FStar_Parser_AST.Noeq -> FStar_Syntax_Syntax.Noeq - | FStar_Parser_AST.Unopteq -> FStar_Syntax_Syntax.Unopteq - | FStar_Parser_AST.DefaultEffect -> + | FStar_Parser_AST.Reifiable -> FStar_Syntax_Syntax.Reifiable + | FStar_Parser_AST.Noeq -> FStar_Syntax_Syntax.Noeq + | FStar_Parser_AST.Unopteq -> FStar_Syntax_Syntax.Unopteq + | FStar_Parser_AST.DefaultEffect -> FStar_Errors.raise_error (FStar_Errors.Fatal_DefaultQualifierNotAllowedOnEffects, "The 'default' qualifier on effects is no longer supported") r - | FStar_Parser_AST.Inline -> + | FStar_Parser_AST.Inline -> FStar_Errors.raise_error (FStar_Errors.Fatal_UnsupportedQualifier, "Unsupported qualifier") r - | FStar_Parser_AST.Visible -> + | FStar_Parser_AST.Visible -> FStar_Errors.raise_error (FStar_Errors.Fatal_UnsupportedQualifier, "Unsupported qualifier") r + let (trans_pragma : FStar_Parser_AST.pragma -> FStar_Syntax_Syntax.pragma) = - fun uu___1_260 -> + fun uu___1_260 -> match uu___1_260 with | FStar_Parser_AST.SetOptions s -> FStar_Syntax_Syntax.SetOptions s | FStar_Parser_AST.ResetOptions sopt -> FStar_Syntax_Syntax.ResetOptions sopt | FStar_Parser_AST.PushOptions sopt -> FStar_Syntax_Syntax.PushOptions sopt - | FStar_Parser_AST.PopOptions -> FStar_Syntax_Syntax.PopOptions - | FStar_Parser_AST.LightOff -> FStar_Syntax_Syntax.LightOff + | FStar_Parser_AST.PopOptions -> FStar_Syntax_Syntax.PopOptions + | FStar_Parser_AST.RestartSolver -> FStar_Syntax_Syntax.RestartSolver + | FStar_Parser_AST.LightOff -> FStar_Syntax_Syntax.LightOff + let (as_imp : FStar_Parser_AST.imp -> FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) = - fun uu___2_278 -> + fun uu___2_278 -> match uu___2_278 with - | FStar_Parser_AST.Hash -> + | FStar_Parser_AST.Hash -> FStar_Pervasives_Native.Some FStar_Syntax_Syntax.imp_tag | uu____281 -> FStar_Pervasives_Native.None + let arg_withimp_e : 'Auu____289 . FStar_Parser_AST.imp -> 'Auu____289 -> ('Auu____289 * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) - = fun imp -> fun t -> (t, (as_imp imp)) + = fun imp -> fun t -> (t, (as_imp imp)) let arg_withimp_t : 'Auu____315 . FStar_Parser_AST.imp -> @@ -127,61 +135,68 @@ let arg_withimp_t : ('Auu____315 * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) = - fun imp -> - fun t -> + fun imp -> + fun t -> match imp with - | FStar_Parser_AST.Hash -> + | FStar_Parser_AST.Hash -> (t, (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.imp_tag)) | uu____334 -> (t, FStar_Pervasives_Native.None) + let (contains_binder : FStar_Parser_AST.binder Prims.list -> Prims.bool) = - fun binders -> + fun binders -> FStar_All.pipe_right binders (FStar_Util.for_some - (fun b -> + (fun b -> match b.FStar_Parser_AST.b with | FStar_Parser_AST.Annotated uu____355 -> true | uu____361 -> false)) + let rec (unparen : FStar_Parser_AST.term -> FStar_Parser_AST.term) = - fun t -> + fun t -> match t.FStar_Parser_AST.tm with | FStar_Parser_AST.Paren t1 -> unparen t1 | uu____370 -> t + let (tm_type_z : FStar_Range.range -> FStar_Parser_AST.term) = - fun r -> + fun r -> let uu____377 = - let uu____378 = FStar_Ident.lid_of_path ["Type0"] r in - FStar_Parser_AST.Name uu____378 in + let uu____378 = FStar_Ident.lid_of_path ["Type0"] r in + FStar_Parser_AST.Name uu____378 in FStar_Parser_AST.mk_term uu____377 r FStar_Parser_AST.Kind + let (tm_type : FStar_Range.range -> FStar_Parser_AST.term) = - fun r -> + fun r -> let uu____388 = - let uu____389 = FStar_Ident.lid_of_path ["Type"] r in - FStar_Parser_AST.Name uu____389 in + let uu____389 = FStar_Ident.lid_of_path ["Type"] r in + FStar_Parser_AST.Name uu____389 in FStar_Parser_AST.mk_term uu____388 r FStar_Parser_AST.Kind + let rec (is_comp_type : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.term -> Prims.bool) = - fun env -> - fun t -> + fun env -> + fun t -> let uu____405 = - let uu____406 = unparen t in uu____406.FStar_Parser_AST.tm in + let uu____406 = unparen t in uu____406.FStar_Parser_AST.tm in match uu____405 with | FStar_Parser_AST.Name l -> - let uu____409 = FStar_Syntax_DsEnv.try_lookup_effect_name env l in + let uu____409 = FStar_Syntax_DsEnv.try_lookup_effect_name env l in FStar_All.pipe_right uu____409 FStar_Option.isSome - | FStar_Parser_AST.Construct (l, uu____416) -> - let uu____429 = FStar_Syntax_DsEnv.try_lookup_effect_name env l in + | FStar_Parser_AST.Construct (l,uu____416) -> + let uu____429 = FStar_Syntax_DsEnv.try_lookup_effect_name env l in FStar_All.pipe_right uu____429 FStar_Option.isSome - | FStar_Parser_AST.App (head1, uu____436, uu____437) -> + | FStar_Parser_AST.App (head1,uu____436,uu____437) -> is_comp_type env head1 | FStar_Parser_AST.Paren t1 -> failwith "impossible" - | FStar_Parser_AST.Ascribed (t1, uu____442, uu____443) -> + | FStar_Parser_AST.Ascribed (t1,uu____442,uu____443) -> is_comp_type env t1 - | FStar_Parser_AST.LetOpen (uu____448, t1) -> is_comp_type env t1 + | FStar_Parser_AST.LetOpen (uu____448,t1) -> is_comp_type env t1 | uu____450 -> false + let (unit_ty : FStar_Parser_AST.term) = FStar_Parser_AST.mk_term (FStar_Parser_AST.Name FStar_Parser_Const.unit_lid) FStar_Range.dummyRange FStar_Parser_AST.Type_level + type env_t = FStar_Syntax_DsEnv.env type lenv_t = FStar_Syntax_Syntax.bv Prims.list let (desugar_name' : @@ -191,30 +206,30 @@ let (desugar_name' : FStar_Ident.lid -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun setpos -> - fun env -> - fun resolve -> - fun l -> + fun setpos -> + fun env -> + fun resolve -> + fun l -> let tm_attrs_opt = if resolve then FStar_Syntax_DsEnv.try_lookup_lid_with_attributes env l else FStar_Syntax_DsEnv.try_lookup_lid_with_attributes_no_resolve - env l in + env l + in match tm_attrs_opt with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (tm, attrs) -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (tm,attrs) -> let warn_if_deprecated attrs1 = FStar_List.iter - (fun a -> + (fun a -> match a.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos = uu____551; - FStar_Syntax_Syntax.vars = uu____552;_}, - args) + FStar_Syntax_Syntax.vars = uu____552;_},args) when FStar_Ident.lid_equals (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v @@ -222,20 +237,20 @@ let (desugar_name' : -> let msg = let uu____580 = - FStar_Syntax_Print.term_to_string tm in - Prims.op_Hat uu____580 " is deprecated" in + FStar_Syntax_Print.term_to_string tm in + Prims.op_Hat uu____580 " is deprecated" in let msg1 = if (FStar_List.length args) > (Prims.parse_int "0") then let uu____596 = let uu____597 = - let uu____600 = FStar_List.hd args in - FStar_Pervasives_Native.fst uu____600 in - uu____597.FStar_Syntax_Syntax.n in + let uu____600 = FStar_List.hd args in + FStar_Pervasives_Native.fst uu____600 in + uu____597.FStar_Syntax_Syntax.n in match uu____596 with | FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_string (s, uu____623)) + (FStar_Const.Const_string (s,uu____623)) when Prims.op_Negation ((FStar_Util.trim_string s) = "") @@ -244,8 +259,8 @@ let (desugar_name' : (Prims.op_Hat ", use " (Prims.op_Hat s " instead")) | uu____630 -> msg - else msg in - let uu____633 = FStar_Ident.range_of_lid l in + else msg in + let uu____633 = FStar_Ident.range_of_lid l in FStar_Errors.log_issue uu____633 (FStar_Errors.Warning_DeprecatedDefinition, msg1) | FStar_Syntax_Syntax.Tm_fvar fv when @@ -255,40 +270,44 @@ let (desugar_name' : -> let msg = let uu____638 = - FStar_Syntax_Print.term_to_string tm in - Prims.op_Hat uu____638 " is deprecated" in - let uu____641 = FStar_Ident.range_of_lid l in + FStar_Syntax_Print.term_to_string tm in + Prims.op_Hat uu____638 " is deprecated" in + let uu____641 = FStar_Ident.range_of_lid l in FStar_Errors.log_issue uu____641 (FStar_Errors.Warning_DeprecatedDefinition, msg) - | uu____643 -> ()) attrs1 in + | uu____643 -> ()) attrs1 + in (warn_if_deprecated attrs; - (let tm1 = setpos tm in FStar_Pervasives_Native.Some tm1)) + (let tm1 = setpos tm in FStar_Pervasives_Native.Some tm1)) + let desugar_name : 'Auu____659 . 'Auu____659 -> (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) -> env_t -> Prims.bool -> FStar_Ident.lident -> FStar_Syntax_Syntax.term = - fun mk1 -> - fun setpos -> - fun env -> - fun resolve -> - fun l -> + fun mk1 -> + fun setpos -> + fun env -> + fun resolve -> + fun l -> FStar_Syntax_DsEnv.fail_or env (desugar_name' setpos env resolve) l + let (compile_op_lid : Prims.int -> Prims.string -> FStar_Range.range -> FStar_Ident.lident) = - fun n1 -> - fun s -> - fun r -> + fun n1 -> + fun s -> + fun r -> let uu____712 = let uu____715 = let uu____716 = - let uu____722 = FStar_Parser_AST.compile_op n1 s r in - (uu____722, r) in - FStar_Ident.mk_ident uu____716 in - [uu____715] in + let uu____722 = FStar_Parser_AST.compile_op n1 s r in + (uu____722, r) in + FStar_Ident.mk_ident uu____716 in + [uu____715] in FStar_All.pipe_right uu____712 FStar_Ident.lid_of_ids + let op_as_term : 'Auu____738 . env_t -> @@ -297,21 +316,22 @@ let op_as_term : FStar_Ident.ident -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option = - fun env -> - fun arity -> - fun rng -> - fun op -> + fun env -> + fun arity -> + fun rng -> + fun op -> let r l dd = let uu____776 = let uu____777 = let uu____778 = - FStar_Ident.set_lid_range l op.FStar_Ident.idRange in + FStar_Ident.set_lid_range l op.FStar_Ident.idRange in FStar_Syntax_Syntax.lid_as_fv uu____778 dd - FStar_Pervasives_Native.None in - FStar_All.pipe_right uu____777 FStar_Syntax_Syntax.fv_to_tm in - FStar_Pervasives_Native.Some uu____776 in + FStar_Pervasives_Native.None + in + FStar_All.pipe_right uu____777 FStar_Syntax_Syntax.fv_to_tm in + FStar_Pervasives_Native.Some uu____776 in let fallback uu____786 = - let uu____787 = FStar_Ident.text_of_id op in + let uu____787 = FStar_Ident.text_of_id op in match uu____787 with | "=" -> r FStar_Parser_Const.op_Eq @@ -356,7 +376,7 @@ let op_as_term : r FStar_Parser_Const.read_lid FStar_Syntax_Syntax.delta_equational | "@" -> - let uu____808 = FStar_Options.ml_ish () in + let uu____808 = FStar_Options.ml_ish () in if uu____808 then r FStar_Parser_Const.list_append_lid @@ -402,160 +422,171 @@ let op_as_term : r FStar_Parser_Const.iff_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "2")) - | uu____833 -> FStar_Pervasives_Native.None in + | uu____833 -> FStar_Pervasives_Native.None in let uu____835 = let uu____838 = compile_op_lid arity op.FStar_Ident.idText - op.FStar_Ident.idRange in + op.FStar_Ident.idRange + in desugar_name' - (fun t -> - let uu___205_844 = t in + (fun t -> + let uu___206_844 = t in { FStar_Syntax_Syntax.n = - (uu___205_844.FStar_Syntax_Syntax.n); + (uu___206_844.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = (op.FStar_Ident.idRange); FStar_Syntax_Syntax.vars = - (uu___205_844.FStar_Syntax_Syntax.vars) - }) env true uu____838 in + (uu___206_844.FStar_Syntax_Syntax.vars) + }) env true uu____838 + in match uu____835 with | FStar_Pervasives_Native.Some t -> FStar_Pervasives_Native.Some t | uu____849 -> fallback () + let (sort_ftv : FStar_Ident.ident Prims.list -> FStar_Ident.ident Prims.list) = - fun ftv -> + fun ftv -> let uu____864 = FStar_Util.remove_dups - (fun x -> fun y -> x.FStar_Ident.idText = y.FStar_Ident.idText) ftv in + (fun x -> fun y -> x.FStar_Ident.idText = y.FStar_Ident.idText) ftv + in FStar_All.pipe_left (FStar_Util.sort_with - (fun x -> - fun y -> + (fun x -> + fun y -> FStar_String.compare x.FStar_Ident.idText y.FStar_Ident.idText)) uu____864 + let rec (free_type_vars_b : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.binder -> (FStar_Syntax_DsEnv.env * FStar_Ident.ident Prims.list)) = - fun env -> - fun binder -> + fun env -> + fun binder -> match binder.FStar_Parser_AST.b with | FStar_Parser_AST.Variable uu____913 -> (env, []) | FStar_Parser_AST.TVariable x -> - let uu____917 = FStar_Syntax_DsEnv.push_bv env x in - (match uu____917 with | (env1, uu____929) -> (env1, [x])) - | FStar_Parser_AST.Annotated (uu____932, term) -> - let uu____934 = free_type_vars env term in (env, uu____934) - | FStar_Parser_AST.TAnnotated (id1, uu____940) -> - let uu____941 = FStar_Syntax_DsEnv.push_bv env id1 in - (match uu____941 with | (env1, uu____953) -> (env1, [])) + let uu____917 = FStar_Syntax_DsEnv.push_bv env x in + (match uu____917 with | (env1,uu____929) -> (env1, [x])) + | FStar_Parser_AST.Annotated (uu____932,term) -> + let uu____934 = free_type_vars env term in (env, uu____934) + | FStar_Parser_AST.TAnnotated (id1,uu____940) -> + let uu____941 = FStar_Syntax_DsEnv.push_bv env id1 in + (match uu____941 with | (env1,uu____953) -> (env1, [])) | FStar_Parser_AST.NoName t -> - let uu____957 = free_type_vars env t in (env, uu____957) + let uu____957 = free_type_vars env t in (env, uu____957) + and (free_type_vars : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.term -> FStar_Ident.ident Prims.list) = - fun env -> - fun t -> + fun env -> + fun t -> let uu____964 = - let uu____965 = unparen t in uu____965.FStar_Parser_AST.tm in + let uu____965 = unparen t in uu____965.FStar_Parser_AST.tm in match uu____964 with | FStar_Parser_AST.Labeled uu____968 -> failwith "Impossible --- labeled source term" | FStar_Parser_AST.Tvar a -> - let uu____981 = FStar_Syntax_DsEnv.try_lookup_id env a in + let uu____981 = FStar_Syntax_DsEnv.try_lookup_id env a in (match uu____981 with - | FStar_Pervasives_Native.None -> [a] + | FStar_Pervasives_Native.None -> [a] | uu____986 -> []) - | FStar_Parser_AST.Wild -> [] + | FStar_Parser_AST.Wild -> [] | FStar_Parser_AST.Const uu____989 -> [] | FStar_Parser_AST.Uvar uu____990 -> [] | FStar_Parser_AST.Var uu____991 -> [] | FStar_Parser_AST.Projector uu____992 -> [] | FStar_Parser_AST.Discrim uu____997 -> [] | FStar_Parser_AST.Name uu____998 -> [] - | FStar_Parser_AST.Requires (t1, uu____1000) -> free_type_vars env t1 - | FStar_Parser_AST.Ensures (t1, uu____1008) -> free_type_vars env t1 - | FStar_Parser_AST.NamedTyp (uu____1015, t1) -> free_type_vars env t1 + | FStar_Parser_AST.Requires (t1,uu____1000) -> free_type_vars env t1 + | FStar_Parser_AST.Ensures (t1,uu____1008) -> free_type_vars env t1 + | FStar_Parser_AST.NamedTyp (uu____1015,t1) -> free_type_vars env t1 | FStar_Parser_AST.Paren t1 -> failwith "impossible" - | FStar_Parser_AST.Ascribed (t1, t', tacopt) -> + | FStar_Parser_AST.Ascribed (t1,t',tacopt) -> let ts = t1 :: t' :: (match tacopt with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some t2 -> [t2]) in + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some t2 -> [t2]) + in FStar_List.collect (free_type_vars env) ts - | FStar_Parser_AST.Construct (uu____1034, ts) -> + | FStar_Parser_AST.Construct (uu____1034,ts) -> FStar_List.collect - (fun uu____1055 -> + (fun uu____1055 -> match uu____1055 with - | (t1, uu____1063) -> free_type_vars env t1) ts - | FStar_Parser_AST.Op (uu____1064, ts) -> + | (t1,uu____1063) -> free_type_vars env t1) ts + | FStar_Parser_AST.Op (uu____1064,ts) -> FStar_List.collect (free_type_vars env) ts - | FStar_Parser_AST.App (t1, t2, uu____1072) -> - let uu____1073 = free_type_vars env t1 in - let uu____1076 = free_type_vars env t2 in + | FStar_Parser_AST.App (t1,t2,uu____1072) -> + let uu____1073 = free_type_vars env t1 in + let uu____1076 = free_type_vars env t2 in FStar_List.append uu____1073 uu____1076 - | FStar_Parser_AST.Refine (b, t1) -> - let uu____1081 = free_type_vars_b env b in + | FStar_Parser_AST.Refine (b,t1) -> + let uu____1081 = free_type_vars_b env b in (match uu____1081 with - | (env1, f) -> - let uu____1096 = free_type_vars env1 t1 in + | (env1,f) -> + let uu____1096 = free_type_vars env1 t1 in FStar_List.append f uu____1096) - | FStar_Parser_AST.Sum (binders, body) -> + | FStar_Parser_AST.Sum (binders,body) -> let uu____1113 = FStar_List.fold_left - (fun uu____1137 -> - fun bt -> + (fun uu____1137 -> + fun bt -> match uu____1137 with - | (env1, free) -> + | (env1,free) -> let uu____1161 = match bt with | FStar_Util.Inl binder -> free_type_vars_b env1 binder | FStar_Util.Inr t1 -> - let uu____1176 = free_type_vars env1 body in - (env1, uu____1176) in + let uu____1176 = free_type_vars env1 body in + (env1, uu____1176) + in (match uu____1161 with - | (env2, f) -> (env2, (FStar_List.append f free)))) - (env, []) binders in + | (env2,f) -> (env2, (FStar_List.append f free)))) + (env, []) binders + in (match uu____1113 with - | (env1, free) -> - let uu____1205 = free_type_vars env1 body in + | (env1,free) -> + let uu____1205 = free_type_vars env1 body in FStar_List.append free uu____1205) - | FStar_Parser_AST.Product (binders, body) -> + | FStar_Parser_AST.Product (binders,body) -> let uu____1214 = FStar_List.fold_left - (fun uu____1234 -> - fun binder -> + (fun uu____1234 -> + fun binder -> match uu____1234 with - | (env1, free) -> - let uu____1254 = free_type_vars_b env1 binder in + | (env1,free) -> + let uu____1254 = free_type_vars_b env1 binder in (match uu____1254 with - | (env2, f) -> (env2, (FStar_List.append f free)))) - (env, []) binders in + | (env2,f) -> (env2, (FStar_List.append f free)))) + (env, []) binders + in (match uu____1214 with - | (env1, free) -> - let uu____1285 = free_type_vars env1 body in + | (env1,free) -> + let uu____1285 = free_type_vars env1 body in FStar_List.append free uu____1285) - | FStar_Parser_AST.Project (t1, uu____1289) -> free_type_vars env t1 + | FStar_Parser_AST.Project (t1,uu____1289) -> free_type_vars env t1 | FStar_Parser_AST.Attributes cattributes -> FStar_List.collect (free_type_vars env) cattributes - | FStar_Parser_AST.CalcProof (rel, init1, steps) -> - let uu____1300 = free_type_vars env rel in + | FStar_Parser_AST.CalcProof (rel,init1,steps) -> + let uu____1300 = free_type_vars env rel in let uu____1303 = - let uu____1306 = free_type_vars env init1 in + let uu____1306 = free_type_vars env init1 in let uu____1309 = FStar_List.collect - (fun uu____1318 -> + (fun uu____1318 -> match uu____1318 with - | FStar_Parser_AST.CalcStep (rel1, just, next) -> - let uu____1324 = free_type_vars env rel1 in + | FStar_Parser_AST.CalcStep (rel1,just,next) -> + let uu____1324 = free_type_vars env rel1 in let uu____1327 = - let uu____1330 = free_type_vars env just in - let uu____1333 = free_type_vars env next in - FStar_List.append uu____1330 uu____1333 in - FStar_List.append uu____1324 uu____1327) steps in - FStar_List.append uu____1306 uu____1309 in + let uu____1330 = free_type_vars env just in + let uu____1333 = free_type_vars env next in + FStar_List.append uu____1330 uu____1333 in + FStar_List.append uu____1324 uu____1327) steps + in + FStar_List.append uu____1306 uu____1309 in FStar_List.append uu____1300 uu____1303 | FStar_Parser_AST.Abs uu____1336 -> [] | FStar_Parser_AST.Let uu____1343 -> [] @@ -571,76 +602,83 @@ and (free_type_vars : | FStar_Parser_AST.VQuote uu____1469 -> [] | FStar_Parser_AST.Antiquote uu____1470 -> [] | FStar_Parser_AST.Seq uu____1471 -> [] + let (head_and_args : FStar_Parser_AST.term -> (FStar_Parser_AST.term * (FStar_Parser_AST.term * FStar_Parser_AST.imp) Prims.list)) = - fun t -> + fun t -> let rec aux args t1 = let uu____1525 = - let uu____1526 = unparen t1 in uu____1526.FStar_Parser_AST.tm in + let uu____1526 = unparen t1 in uu____1526.FStar_Parser_AST.tm in match uu____1525 with - | FStar_Parser_AST.App (t2, arg, imp) -> aux ((arg, imp) :: args) t2 - | FStar_Parser_AST.Construct (l, args') -> + | FStar_Parser_AST.App (t2,arg,imp) -> aux ((arg, imp) :: args) t2 + | FStar_Parser_AST.Construct (l,args') -> ({ FStar_Parser_AST.tm = (FStar_Parser_AST.Name l); FStar_Parser_AST.range = (t1.FStar_Parser_AST.range); FStar_Parser_AST.level = (t1.FStar_Parser_AST.level) }, (FStar_List.append args' args)) - | uu____1568 -> (t1, args) in + | uu____1568 -> (t1, args) in aux [] t + let (close : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.term -> FStar_Parser_AST.term) = - fun env -> - fun t -> + fun env -> + fun t -> let ftv = - let uu____1593 = free_type_vars env t in - FStar_All.pipe_left sort_ftv uu____1593 in + let uu____1593 = free_type_vars env t in + FStar_All.pipe_left sort_ftv uu____1593 in if (FStar_List.length ftv) = (Prims.parse_int "0") then t else (let binders = FStar_All.pipe_right ftv (FStar_List.map - (fun x -> + (fun x -> let uu____1615 = let uu____1616 = - let uu____1621 = tm_type x.FStar_Ident.idRange in - (x, uu____1621) in - FStar_Parser_AST.TAnnotated uu____1616 in + let uu____1621 = tm_type x.FStar_Ident.idRange in + (x, uu____1621) in + FStar_Parser_AST.TAnnotated uu____1616 in FStar_Parser_AST.mk_binder uu____1615 x.FStar_Ident.idRange FStar_Parser_AST.Type_level - (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit))) in + (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit))) + in let result = FStar_Parser_AST.mk_term (FStar_Parser_AST.Product (binders, t)) - t.FStar_Parser_AST.range t.FStar_Parser_AST.level in + t.FStar_Parser_AST.range t.FStar_Parser_AST.level + in result) + let (close_fun : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.term -> FStar_Parser_AST.term) = - fun env -> - fun t -> + fun env -> + fun t -> let ftv = - let uu____1639 = free_type_vars env t in - FStar_All.pipe_left sort_ftv uu____1639 in + let uu____1639 = free_type_vars env t in + FStar_All.pipe_left sort_ftv uu____1639 in if (FStar_List.length ftv) = (Prims.parse_int "0") then t else (let binders = FStar_All.pipe_right ftv (FStar_List.map - (fun x -> + (fun x -> let uu____1661 = let uu____1662 = - let uu____1667 = tm_type x.FStar_Ident.idRange in - (x, uu____1667) in - FStar_Parser_AST.TAnnotated uu____1662 in + let uu____1667 = tm_type x.FStar_Ident.idRange in + (x, uu____1667) in + FStar_Parser_AST.TAnnotated uu____1662 in FStar_Parser_AST.mk_binder uu____1661 x.FStar_Ident.idRange FStar_Parser_AST.Type_level - (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit))) in + (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit))) + in let t1 = let uu____1669 = - let uu____1670 = unparen t in uu____1670.FStar_Parser_AST.tm in + let uu____1670 = unparen t in uu____1670.FStar_Parser_AST.tm + in match uu____1669 with | FStar_Parser_AST.Product uu____1671 -> t | uu____1678 -> @@ -651,45 +689,50 @@ let (close_fun : FStar_Parser_Const.effect_Tot_lid) t.FStar_Parser_AST.range t.FStar_Parser_AST.level), t, FStar_Parser_AST.Nothing)) t.FStar_Parser_AST.range - t.FStar_Parser_AST.level in + t.FStar_Parser_AST.level + in let result = FStar_Parser_AST.mk_term (FStar_Parser_AST.Product (binders, t1)) - t1.FStar_Parser_AST.range t1.FStar_Parser_AST.level in + t1.FStar_Parser_AST.range t1.FStar_Parser_AST.level + in result) + let rec (uncurry : FStar_Parser_AST.binder Prims.list -> FStar_Parser_AST.term -> (FStar_Parser_AST.binder Prims.list * FStar_Parser_AST.term)) = - fun bs -> - fun t -> + fun bs -> + fun t -> match t.FStar_Parser_AST.tm with - | FStar_Parser_AST.Product (binders, t1) -> + | FStar_Parser_AST.Product (binders,t1) -> uncurry (FStar_List.append bs binders) t1 | uu____1715 -> (bs, t) + let rec (is_var_pattern : FStar_Parser_AST.pattern -> Prims.bool) = - fun p -> + fun p -> match p.FStar_Parser_AST.pat with | FStar_Parser_AST.PatWild uu____1726 -> true - | FStar_Parser_AST.PatTvar (uu____1730, uu____1731) -> true - | FStar_Parser_AST.PatVar (uu____1737, uu____1738) -> true - | FStar_Parser_AST.PatAscribed (p1, uu____1745) -> is_var_pattern p1 + | FStar_Parser_AST.PatTvar (uu____1730,uu____1731) -> true + | FStar_Parser_AST.PatVar (uu____1737,uu____1738) -> true + | FStar_Parser_AST.PatAscribed (p1,uu____1745) -> is_var_pattern p1 | uu____1758 -> false + let rec (is_app_pattern : FStar_Parser_AST.pattern -> Prims.bool) = - fun p -> + fun p -> match p.FStar_Parser_AST.pat with - | FStar_Parser_AST.PatAscribed (p1, uu____1769) -> is_app_pattern p1 + | FStar_Parser_AST.PatAscribed (p1,uu____1769) -> is_app_pattern p1 | FStar_Parser_AST.PatApp ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatVar uu____1782; - FStar_Parser_AST.prange = uu____1783;_}, - uu____1784) + FStar_Parser_AST.prange = uu____1783;_},uu____1784) -> true | uu____1796 -> false + let (replace_unit_pattern : FStar_Parser_AST.pattern -> FStar_Parser_AST.pattern) = - fun p -> + fun p -> match p.FStar_Parser_AST.pat with - | FStar_Parser_AST.PatConst (FStar_Const.Const_unit) -> + | FStar_Parser_AST.PatConst (FStar_Const.Const_unit ) -> FStar_Parser_AST.mk_pattern (FStar_Parser_AST.PatAscribed ((FStar_Parser_AST.mk_pattern @@ -698,54 +741,55 @@ let (replace_unit_pattern : (unit_ty, FStar_Pervasives_Native.None))) p.FStar_Parser_AST.prange | uu____1812 -> p + let rec (destruct_app_pattern : FStar_Syntax_DsEnv.env -> Prims.bool -> FStar_Parser_AST.pattern -> - ((FStar_Ident.ident, FStar_Ident.lident) FStar_Util.either * + ((FStar_Ident.ident,FStar_Ident.lident) FStar_Util.either * FStar_Parser_AST.pattern Prims.list * (FStar_Parser_AST.term * FStar_Parser_AST.term FStar_Pervasives_Native.option) FStar_Pervasives_Native.option)) = - fun env -> - fun is_top_level1 -> - fun p -> + fun env -> + fun is_top_level1 -> + fun p -> match p.FStar_Parser_AST.pat with - | FStar_Parser_AST.PatAscribed (p1, t) -> - let uu____1885 = destruct_app_pattern env is_top_level1 p1 in + | FStar_Parser_AST.PatAscribed (p1,t) -> + let uu____1885 = destruct_app_pattern env is_top_level1 p1 in (match uu____1885 with - | (name, args, uu____1928) -> + | (name,args,uu____1928) -> (name, args, (FStar_Pervasives_Native.Some t))) | FStar_Parser_AST.PatApp ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatVar - (id1, uu____1978); - FStar_Parser_AST.prange = uu____1979;_}, - args) + (id1,uu____1978); + FStar_Parser_AST.prange = uu____1979;_},args) when is_top_level1 -> let uu____1989 = - let uu____1994 = FStar_Syntax_DsEnv.qualify env id1 in - FStar_Util.Inr uu____1994 in + let uu____1994 = FStar_Syntax_DsEnv.qualify env id1 in + FStar_Util.Inr uu____1994 in (uu____1989, args, FStar_Pervasives_Native.None) | FStar_Parser_AST.PatApp ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatVar - (id1, uu____2016); - FStar_Parser_AST.prange = uu____2017;_}, - args) + (id1,uu____2016); + FStar_Parser_AST.prange = uu____2017;_},args) -> ((FStar_Util.Inl id1), args, FStar_Pervasives_Native.None) | uu____2047 -> failwith "Not an app pattern" + let rec (gather_pattern_bound_vars_maybe_top : Prims.bool -> FStar_Ident.ident FStar_Util.set -> FStar_Parser_AST.pattern -> FStar_Ident.ident FStar_Util.set) = - fun fail_on_patconst -> - fun acc -> - fun p -> + fun fail_on_patconst -> + fun acc -> + fun p -> let gather_pattern_bound_vars_from_list = FStar_List.fold_left - (gather_pattern_bound_vars_maybe_top fail_on_patconst) acc in + (gather_pattern_bound_vars_maybe_top fail_on_patconst) acc + in match p.FStar_Parser_AST.pat with | FStar_Parser_AST.PatWild uu____2106 -> acc | FStar_Parser_AST.PatName uu____2109 -> acc @@ -757,70 +801,75 @@ let rec (gather_pattern_bound_vars_maybe_top : (FStar_Errors.Error_CannotRedefineConst, "Constants cannot be redefined") p.FStar_Parser_AST.prange else acc - | FStar_Parser_AST.PatApp (phead, pats) -> + | FStar_Parser_AST.PatApp (phead,pats) -> gather_pattern_bound_vars_from_list (phead :: pats) - | FStar_Parser_AST.PatTvar (x, uu____2128) -> - FStar_Util.set_add x acc - | FStar_Parser_AST.PatVar (x, uu____2134) -> FStar_Util.set_add x acc + | FStar_Parser_AST.PatTvar (x,uu____2128) -> FStar_Util.set_add x acc + | FStar_Parser_AST.PatVar (x,uu____2134) -> FStar_Util.set_add x acc | FStar_Parser_AST.PatList pats -> gather_pattern_bound_vars_from_list pats - | FStar_Parser_AST.PatTuple (pats, uu____2143) -> + | FStar_Parser_AST.PatTuple (pats,uu____2143) -> gather_pattern_bound_vars_from_list pats | FStar_Parser_AST.PatOr pats -> gather_pattern_bound_vars_from_list pats | FStar_Parser_AST.PatRecord guarded_pats -> let uu____2160 = - FStar_List.map FStar_Pervasives_Native.snd guarded_pats in + FStar_List.map FStar_Pervasives_Native.snd guarded_pats in gather_pattern_bound_vars_from_list uu____2160 - | FStar_Parser_AST.PatAscribed (pat, uu____2168) -> + | FStar_Parser_AST.PatAscribed (pat,uu____2168) -> gather_pattern_bound_vars_maybe_top fail_on_patconst acc pat + let (gather_pattern_bound_vars : Prims.bool -> FStar_Parser_AST.pattern -> FStar_Ident.ident FStar_Util.set) = - fun fail_on_patconst -> - fun p -> + fun fail_on_patconst -> + fun p -> let acc = FStar_Util.new_set - (fun id1 -> - fun id2 -> + (fun id1 -> + fun id2 -> if id1.FStar_Ident.idText = id2.FStar_Ident.idText then (Prims.parse_int "0") - else (Prims.parse_int "1")) in + else (Prims.parse_int "1")) + in gather_pattern_bound_vars_maybe_top fail_on_patconst acc p + type bnd = | LocalBinder of (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.aqual) | LetBinder of (FStar_Ident.lident * (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term FStar_Pervasives_Native.option)) let (uu___is_LocalBinder : bnd -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | LocalBinder _0 -> true | uu____2250 -> false + let (__proj__LocalBinder__item___0 : bnd -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.aqual)) = - fun projectee -> match projectee with | LocalBinder _0 -> _0 + fun projectee -> match projectee with | LocalBinder _0 -> _0 let (uu___is_LetBinder : bnd -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | LetBinder _0 -> true | uu____2291 -> false + let (__proj__LetBinder__item___0 : bnd -> (FStar_Ident.lident * (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term FStar_Pervasives_Native.option))) - = fun projectee -> match projectee with | LetBinder _0 -> _0 + = fun projectee -> match projectee with | LetBinder _0 -> _0 let (binder_of_bnd : bnd -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.aqual)) = - fun uu___3_2339 -> + fun uu___3_2339 -> match uu___3_2339 with - | LocalBinder (a, aq) -> (a, aq) + | LocalBinder (a,aq) -> (a, aq) | uu____2346 -> failwith "Impossible" + let (mk_lb : (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax Prims.list * - (FStar_Syntax_Syntax.bv, FStar_Syntax_Syntax.fv) FStar_Util.either * + (FStar_Syntax_Syntax.bv,FStar_Syntax_Syntax.fv) FStar_Util.either * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * FStar_Range.range) -> FStar_Syntax_Syntax.letbinding) = - fun uu____2379 -> + fun uu____2379 -> match uu____2379 with - | (attrs, n1, t, e, pos) -> + | (attrs,n1,t,e,pos) -> { FStar_Syntax_Syntax.lbname = n1; FStar_Syntax_Syntax.lbunivs = []; @@ -830,103 +879,114 @@ let (mk_lb : FStar_Syntax_Syntax.lbattrs = attrs; FStar_Syntax_Syntax.lbpos = pos } + let (no_annot_abs : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun bs -> fun t -> FStar_Syntax_Util.abs bs t FStar_Pervasives_Native.None + fun bs -> + fun t -> FStar_Syntax_Util.abs bs t FStar_Pervasives_Native.None + let (mk_ref_read : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun tm -> + fun tm -> let tm' = let uu____2461 = let uu____2478 = let uu____2481 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.sread_lid - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____2481 in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____2481 in let uu____2482 = let uu____2493 = - let uu____2502 = FStar_Syntax_Syntax.as_implicit false in - (tm, uu____2502) in - [uu____2493] in - (uu____2478, uu____2482) in - FStar_Syntax_Syntax.Tm_app uu____2461 in + let uu____2502 = FStar_Syntax_Syntax.as_implicit false in + (tm, uu____2502) in + [uu____2493] in + (uu____2478, uu____2482) in + FStar_Syntax_Syntax.Tm_app uu____2461 in FStar_Syntax_Syntax.mk tm' FStar_Pervasives_Native.None tm.FStar_Syntax_Syntax.pos + let (mk_ref_alloc : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun tm -> + fun tm -> let tm' = let uu____2551 = let uu____2568 = let uu____2571 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.salloc_lid - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____2571 in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____2571 in let uu____2572 = let uu____2583 = - let uu____2592 = FStar_Syntax_Syntax.as_implicit false in - (tm, uu____2592) in - [uu____2583] in - (uu____2568, uu____2572) in - FStar_Syntax_Syntax.Tm_app uu____2551 in + let uu____2592 = FStar_Syntax_Syntax.as_implicit false in + (tm, uu____2592) in + [uu____2583] in + (uu____2568, uu____2572) in + FStar_Syntax_Syntax.Tm_app uu____2551 in FStar_Syntax_Syntax.mk tm' FStar_Pervasives_Native.None tm.FStar_Syntax_Syntax.pos + let (mk_ref_assign : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Range.range -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun t1 -> - fun t2 -> - fun pos -> + fun t1 -> + fun t2 -> + fun pos -> let tm = let uu____2655 = let uu____2672 = let uu____2675 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.swrite_lid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____2675 in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____2675 in let uu____2676 = let uu____2687 = - let uu____2696 = FStar_Syntax_Syntax.as_implicit false in - (t1, uu____2696) in + let uu____2696 = FStar_Syntax_Syntax.as_implicit false in + (t1, uu____2696) in let uu____2704 = let uu____2715 = - let uu____2724 = FStar_Syntax_Syntax.as_implicit false in - (t2, uu____2724) in - [uu____2715] in - uu____2687 :: uu____2704 in - (uu____2672, uu____2676) in - FStar_Syntax_Syntax.Tm_app uu____2655 in + let uu____2724 = FStar_Syntax_Syntax.as_implicit false in + (t2, uu____2724) in + [uu____2715] in + uu____2687 :: uu____2704 in + (uu____2672, uu____2676) in + FStar_Syntax_Syntax.Tm_app uu____2655 in FStar_Syntax_Syntax.mk tm FStar_Pervasives_Native.None pos + let (generalize_annotated_univs : FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt) = - fun s -> + fun s -> let bs_univnames bs = let uu____2784 = let uu____2799 = - FStar_Util.new_set FStar_Syntax_Syntax.order_univ_name in + FStar_Util.new_set FStar_Syntax_Syntax.order_univ_name in FStar_List.fold_left - (fun uvs -> - fun uu____2818 -> + (fun uvs -> + fun uu____2818 -> match uu____2818 with | ({ FStar_Syntax_Syntax.ppname = uu____2829; FStar_Syntax_Syntax.index = uu____2830; - FStar_Syntax_Syntax.sort = t;_}, - uu____2832) -> - let uu____2840 = FStar_Syntax_Free.univnames t in - FStar_Util.set_union uvs uu____2840) uu____2799 in - FStar_All.pipe_right bs uu____2784 in - let empty_set = FStar_Util.new_set FStar_Syntax_Syntax.order_univ_name in + FStar_Syntax_Syntax.sort = t;_},uu____2832) + -> + let uu____2840 = FStar_Syntax_Free.univnames t in + FStar_Util.set_union uvs uu____2840) uu____2799 + in + FStar_All.pipe_right bs uu____2784 in + let empty_set = FStar_Util.new_set FStar_Syntax_Syntax.order_univ_name + in match s.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ uu____2856 -> failwith @@ -934,254 +994,262 @@ let (generalize_annotated_univs : | FStar_Syntax_Syntax.Sig_datacon uu____2874 -> failwith "Impossible: collect_annotated_universes: bare data/type constructor" - | FStar_Syntax_Syntax.Sig_bundle (sigs, lids) -> + | FStar_Syntax_Syntax.Sig_bundle (sigs,lids) -> let uvs = let uu____2902 = FStar_All.pipe_right sigs (FStar_List.fold_left - (fun uvs -> - fun se -> + (fun uvs -> + fun se -> let se_univs = match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (uu____2923, uu____2924, bs, t, uu____2927, - uu____2928) + (uu____2923,uu____2924,bs,t,uu____2927,uu____2928) -> - let uu____2937 = bs_univnames bs in - let uu____2940 = FStar_Syntax_Free.univnames t in + let uu____2937 = bs_univnames bs in + let uu____2940 = FStar_Syntax_Free.univnames t + in FStar_Util.set_union uu____2937 uu____2940 | FStar_Syntax_Syntax.Sig_datacon - (uu____2943, uu____2944, t, uu____2946, - uu____2947, uu____2948) + (uu____2943,uu____2944,t,uu____2946,uu____2947,uu____2948) -> FStar_Syntax_Free.univnames t | uu____2955 -> failwith - "Impossible: collect_annotated_universes: Sig_bundle should not have a non data/type sigelt" in - FStar_Util.set_union uvs se_univs) empty_set) in - FStar_All.pipe_right uu____2902 FStar_Util.set_elements in - let usubst = FStar_Syntax_Subst.univ_var_closing uvs in - let uu___587_2964 = s in + "Impossible: collect_annotated_universes: Sig_bundle should not have a non data/type sigelt" + in + FStar_Util.set_union uvs se_univs) empty_set) + in + FStar_All.pipe_right uu____2902 FStar_Util.set_elements in + let usubst = FStar_Syntax_Subst.univ_var_closing uvs in + let uu___588_2964 = s in let uu____2965 = let uu____2966 = let uu____2975 = FStar_All.pipe_right sigs (FStar_List.map - (fun se -> + (fun se -> match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uu____2993, bs, t, lids1, lids2) -> - let uu___598_3006 = se in + (lid,uu____2993,bs,t,lids1,lids2) -> + let uu___599_3006 = se in let uu____3007 = let uu____3008 = let uu____3025 = - FStar_Syntax_Subst.subst_binders usubst bs in + FStar_Syntax_Subst.subst_binders usubst bs + in let uu____3026 = let uu____3027 = FStar_Syntax_Subst.shift_subst - (FStar_List.length bs) usubst in - FStar_Syntax_Subst.subst uu____3027 t in + (FStar_List.length bs) usubst + in + FStar_Syntax_Subst.subst uu____3027 t in (lid, uvs, uu____3025, uu____3026, lids1, - lids2) in - FStar_Syntax_Syntax.Sig_inductive_typ uu____3008 in + lids2) + in + FStar_Syntax_Syntax.Sig_inductive_typ uu____3008 + in { FStar_Syntax_Syntax.sigel = uu____3007; FStar_Syntax_Syntax.sigrng = - (uu___598_3006.FStar_Syntax_Syntax.sigrng); + (uu___599_3006.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___598_3006.FStar_Syntax_Syntax.sigquals); + (uu___599_3006.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___598_3006.FStar_Syntax_Syntax.sigmeta); + (uu___599_3006.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___598_3006.FStar_Syntax_Syntax.sigattrs) + (uu___599_3006.FStar_Syntax_Syntax.sigattrs) } | FStar_Syntax_Syntax.Sig_datacon - (lid, uu____3041, t, tlid, n1, lids1) -> - let uu___608_3052 = se in + (lid,uu____3041,t,tlid,n1,lids1) -> + let uu___609_3052 = se in let uu____3053 = let uu____3054 = let uu____3070 = - FStar_Syntax_Subst.subst usubst t in - (lid, uvs, uu____3070, tlid, n1, lids1) in - FStar_Syntax_Syntax.Sig_datacon uu____3054 in + FStar_Syntax_Subst.subst usubst t in + (lid, uvs, uu____3070, tlid, n1, lids1) in + FStar_Syntax_Syntax.Sig_datacon uu____3054 in { FStar_Syntax_Syntax.sigel = uu____3053; FStar_Syntax_Syntax.sigrng = - (uu___608_3052.FStar_Syntax_Syntax.sigrng); + (uu___609_3052.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___608_3052.FStar_Syntax_Syntax.sigquals); + (uu___609_3052.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___608_3052.FStar_Syntax_Syntax.sigmeta); + (uu___609_3052.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___608_3052.FStar_Syntax_Syntax.sigattrs) + (uu___609_3052.FStar_Syntax_Syntax.sigattrs) } | uu____3074 -> failwith - "Impossible: collect_annotated_universes: Sig_bundle should not have a non data/type sigelt")) in - (uu____2975, lids) in - FStar_Syntax_Syntax.Sig_bundle uu____2966 in + "Impossible: collect_annotated_universes: Sig_bundle should not have a non data/type sigelt")) + in + (uu____2975, lids) in + FStar_Syntax_Syntax.Sig_bundle uu____2966 in { FStar_Syntax_Syntax.sigel = uu____2965; FStar_Syntax_Syntax.sigrng = - (uu___587_2964.FStar_Syntax_Syntax.sigrng); + (uu___588_2964.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___587_2964.FStar_Syntax_Syntax.sigquals); + (uu___588_2964.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___587_2964.FStar_Syntax_Syntax.sigmeta); + (uu___588_2964.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___587_2964.FStar_Syntax_Syntax.sigattrs) + (uu___588_2964.FStar_Syntax_Syntax.sigattrs) } - | FStar_Syntax_Syntax.Sig_declare_typ (lid, uu____3081, t) -> + | FStar_Syntax_Syntax.Sig_declare_typ (lid,uu____3081,t) -> let uvs = - let uu____3084 = FStar_Syntax_Free.univnames t in - FStar_All.pipe_right uu____3084 FStar_Util.set_elements in - let uu___617_3089 = s in + let uu____3084 = FStar_Syntax_Free.univnames t in + FStar_All.pipe_right uu____3084 FStar_Util.set_elements in + let uu___618_3089 = s in let uu____3090 = let uu____3091 = - let uu____3098 = FStar_Syntax_Subst.close_univ_vars uvs t in - (lid, uvs, uu____3098) in - FStar_Syntax_Syntax.Sig_declare_typ uu____3091 in + let uu____3098 = FStar_Syntax_Subst.close_univ_vars uvs t in + (lid, uvs, uu____3098) in + FStar_Syntax_Syntax.Sig_declare_typ uu____3091 in { FStar_Syntax_Syntax.sigel = uu____3090; FStar_Syntax_Syntax.sigrng = - (uu___617_3089.FStar_Syntax_Syntax.sigrng); + (uu___618_3089.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___617_3089.FStar_Syntax_Syntax.sigquals); + (uu___618_3089.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___617_3089.FStar_Syntax_Syntax.sigmeta); + (uu___618_3089.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___617_3089.FStar_Syntax_Syntax.sigattrs) + (uu___618_3089.FStar_Syntax_Syntax.sigattrs) } - | FStar_Syntax_Syntax.Sig_let ((b, lbs), lids) -> + | FStar_Syntax_Syntax.Sig_let ((b,lbs),lids) -> let lb_univnames lb = let uu____3122 = - FStar_Syntax_Free.univnames lb.FStar_Syntax_Syntax.lbtyp in + FStar_Syntax_Free.univnames lb.FStar_Syntax_Syntax.lbtyp in let uu____3125 = match (lb.FStar_Syntax_Syntax.lbdef).FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_abs (bs, e, uu____3132) -> - let uvs1 = bs_univnames bs in + | FStar_Syntax_Syntax.Tm_abs (bs,e,uu____3132) -> + let uvs1 = bs_univnames bs in let uvs2 = match e.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_ascribed - (uu____3165, (FStar_Util.Inl t, uu____3167), - uu____3168) + (uu____3165,(FStar_Util.Inl t,uu____3167),uu____3168) -> FStar_Syntax_Free.univnames t | FStar_Syntax_Syntax.Tm_ascribed - (uu____3215, (FStar_Util.Inr c, uu____3217), - uu____3218) + (uu____3215,(FStar_Util.Inr c,uu____3217),uu____3218) -> FStar_Syntax_Free.univnames_comp c - | uu____3265 -> empty_set in + | uu____3265 -> empty_set in FStar_Util.set_union uvs1 uvs2 | FStar_Syntax_Syntax.Tm_ascribed - (uu____3266, (FStar_Util.Inl t, uu____3268), uu____3269) -> + (uu____3266,(FStar_Util.Inl t,uu____3268),uu____3269) -> FStar_Syntax_Free.univnames t | FStar_Syntax_Syntax.Tm_ascribed - (uu____3316, (FStar_Util.Inr c, uu____3318), uu____3319) -> + (uu____3316,(FStar_Util.Inr c,uu____3318),uu____3319) -> FStar_Syntax_Free.univnames_comp c - | uu____3366 -> empty_set in - FStar_Util.set_union uu____3122 uu____3125 in + | uu____3366 -> empty_set in + FStar_Util.set_union uu____3122 uu____3125 in let all_lb_univs = let uu____3370 = FStar_All.pipe_right lbs (FStar_List.fold_left - (fun uvs -> - fun lb -> - let uu____3386 = lb_univnames lb in - FStar_Util.set_union uvs uu____3386) empty_set) in - FStar_All.pipe_right uu____3370 FStar_Util.set_elements in - let usubst = FStar_Syntax_Subst.univ_var_closing all_lb_univs in - let uu___672_3396 = s in + (fun uvs -> + fun lb -> + let uu____3386 = lb_univnames lb in + FStar_Util.set_union uvs uu____3386) empty_set) + in + FStar_All.pipe_right uu____3370 FStar_Util.set_elements in + let usubst = FStar_Syntax_Subst.univ_var_closing all_lb_univs in + let uu___673_3396 = s in let uu____3397 = let uu____3398 = let uu____3405 = let uu____3406 = FStar_All.pipe_right lbs (FStar_List.map - (fun lb -> - let uu___675_3418 = lb in + (fun lb -> + let uu___676_3418 = lb in let uu____3419 = FStar_Syntax_Subst.subst usubst - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in let uu____3422 = FStar_Syntax_Subst.subst usubst - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in { FStar_Syntax_Syntax.lbname = - (uu___675_3418.FStar_Syntax_Syntax.lbname); + (uu___676_3418.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = all_lb_univs; FStar_Syntax_Syntax.lbtyp = uu____3419; FStar_Syntax_Syntax.lbeff = - (uu___675_3418.FStar_Syntax_Syntax.lbeff); + (uu___676_3418.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = uu____3422; FStar_Syntax_Syntax.lbattrs = - (uu___675_3418.FStar_Syntax_Syntax.lbattrs); + (uu___676_3418.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___675_3418.FStar_Syntax_Syntax.lbpos) - })) in - (b, uu____3406) in - (uu____3405, lids) in - FStar_Syntax_Syntax.Sig_let uu____3398 in + (uu___676_3418.FStar_Syntax_Syntax.lbpos) + })) + in + (b, uu____3406) in + (uu____3405, lids) in + FStar_Syntax_Syntax.Sig_let uu____3398 in { FStar_Syntax_Syntax.sigel = uu____3397; FStar_Syntax_Syntax.sigrng = - (uu___672_3396.FStar_Syntax_Syntax.sigrng); + (uu___673_3396.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___672_3396.FStar_Syntax_Syntax.sigquals); + (uu___673_3396.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___672_3396.FStar_Syntax_Syntax.sigmeta); + (uu___673_3396.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___672_3396.FStar_Syntax_Syntax.sigattrs) + (uu___673_3396.FStar_Syntax_Syntax.sigattrs) } - | FStar_Syntax_Syntax.Sig_assume (lid, uu____3431, fml) -> + | FStar_Syntax_Syntax.Sig_assume (lid,uu____3431,fml) -> let uvs = - let uu____3434 = FStar_Syntax_Free.univnames fml in - FStar_All.pipe_right uu____3434 FStar_Util.set_elements in - let uu___683_3439 = s in + let uu____3434 = FStar_Syntax_Free.univnames fml in + FStar_All.pipe_right uu____3434 FStar_Util.set_elements in + let uu___684_3439 = s in let uu____3440 = let uu____3441 = - let uu____3448 = FStar_Syntax_Subst.close_univ_vars uvs fml in - (lid, uvs, uu____3448) in - FStar_Syntax_Syntax.Sig_assume uu____3441 in + let uu____3448 = FStar_Syntax_Subst.close_univ_vars uvs fml in + (lid, uvs, uu____3448) in + FStar_Syntax_Syntax.Sig_assume uu____3441 in { FStar_Syntax_Syntax.sigel = uu____3440; FStar_Syntax_Syntax.sigrng = - (uu___683_3439.FStar_Syntax_Syntax.sigrng); + (uu___684_3439.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___683_3439.FStar_Syntax_Syntax.sigquals); + (uu___684_3439.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___683_3439.FStar_Syntax_Syntax.sigmeta); + (uu___684_3439.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___683_3439.FStar_Syntax_Syntax.sigattrs) + (uu___684_3439.FStar_Syntax_Syntax.sigattrs) } - | FStar_Syntax_Syntax.Sig_effect_abbrev (lid, uu____3450, bs, c, flags) - -> + | FStar_Syntax_Syntax.Sig_effect_abbrev (lid,uu____3450,bs,c,flags) -> let uvs = let uu____3459 = - let uu____3462 = bs_univnames bs in - let uu____3465 = FStar_Syntax_Free.univnames_comp c in - FStar_Util.set_union uu____3462 uu____3465 in - FStar_All.pipe_right uu____3459 FStar_Util.set_elements in - let usubst = FStar_Syntax_Subst.univ_var_closing uvs in - let uu___694_3473 = s in + let uu____3462 = bs_univnames bs in + let uu____3465 = FStar_Syntax_Free.univnames_comp c in + FStar_Util.set_union uu____3462 uu____3465 in + FStar_All.pipe_right uu____3459 FStar_Util.set_elements in + let usubst = FStar_Syntax_Subst.univ_var_closing uvs in + let uu___695_3473 = s in let uu____3474 = let uu____3475 = - let uu____3488 = FStar_Syntax_Subst.subst_binders usubst bs in - let uu____3489 = FStar_Syntax_Subst.subst_comp usubst c in - (lid, uvs, uu____3488, uu____3489, flags) in - FStar_Syntax_Syntax.Sig_effect_abbrev uu____3475 in + let uu____3488 = FStar_Syntax_Subst.subst_binders usubst bs in + let uu____3489 = FStar_Syntax_Subst.subst_comp usubst c in + (lid, uvs, uu____3488, uu____3489, flags) in + FStar_Syntax_Syntax.Sig_effect_abbrev uu____3475 in { FStar_Syntax_Syntax.sigel = uu____3474; FStar_Syntax_Syntax.sigrng = - (uu___694_3473.FStar_Syntax_Syntax.sigrng); + (uu___695_3473.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___694_3473.FStar_Syntax_Syntax.sigquals); + (uu___695_3473.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___694_3473.FStar_Syntax_Syntax.sigmeta); + (uu___695_3473.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___694_3473.FStar_Syntax_Syntax.sigattrs) + (uu___695_3473.FStar_Syntax_Syntax.sigattrs) } | uu____3492 -> s + let (is_special_effect_combinator : Prims.string -> Prims.bool) = - fun uu___4_3500 -> + fun uu___4_3500 -> match uu___4_3500 with | "lift1" -> true | "lift2" -> true @@ -1208,35 +1276,37 @@ let (is_special_effect_combinator : Prims.string -> Prims.bool) = | "pre" -> true | "wp" -> true | uu____3551 -> false + let rec (sum_to_universe : FStar_Syntax_Syntax.universe -> Prims.int -> FStar_Syntax_Syntax.universe) = - fun u -> - fun n1 -> + fun u -> + fun n1 -> if n1 = (Prims.parse_int "0") then u else - (let uu____3572 = sum_to_universe u (n1 - (Prims.parse_int "1")) in + (let uu____3572 = sum_to_universe u (n1 - (Prims.parse_int "1")) in FStar_Syntax_Syntax.U_succ uu____3572) + let (int_to_universe : Prims.int -> FStar_Syntax_Syntax.universe) = - fun n1 -> sum_to_universe FStar_Syntax_Syntax.U_zero n1 + fun n1 -> sum_to_universe FStar_Syntax_Syntax.U_zero n1 let rec (desugar_maybe_non_constant_universe : FStar_Parser_AST.term -> - (Prims.int, FStar_Syntax_Syntax.universe) FStar_Util.either) + (Prims.int,FStar_Syntax_Syntax.universe) FStar_Util.either) = - fun t -> + fun t -> let uu____3598 = - let uu____3599 = unparen t in uu____3599.FStar_Parser_AST.tm in + let uu____3599 = unparen t in uu____3599.FStar_Parser_AST.tm in match uu____3598 with - | FStar_Parser_AST.Wild -> + | FStar_Parser_AST.Wild -> let uu____3605 = - let uu____3606 = FStar_Syntax_Unionfind.univ_fresh () in - FStar_Syntax_Syntax.U_unif uu____3606 in + let uu____3606 = FStar_Syntax_Unionfind.univ_fresh () in + FStar_Syntax_Syntax.U_unif uu____3606 in FStar_Util.Inr uu____3605 | FStar_Parser_AST.Uvar u -> FStar_Util.Inr (FStar_Syntax_Syntax.U_name u) - | FStar_Parser_AST.Const (FStar_Const.Const_int (repr, uu____3619)) -> - let n1 = FStar_Util.int_of_string repr in + | FStar_Parser_AST.Const (FStar_Const.Const_int (repr,uu____3619)) -> + let n1 = FStar_Util.int_of_string repr in (if n1 < (Prims.parse_int "0") then FStar_Errors.raise_error @@ -1246,39 +1316,42 @@ let rec (desugar_maybe_non_constant_universe : t.FStar_Parser_AST.range else (); FStar_Util.Inl n1) - | FStar_Parser_AST.Op (op_plus, t1::t2::[]) -> - let u1 = desugar_maybe_non_constant_universe t1 in - let u2 = desugar_maybe_non_constant_universe t2 in + | FStar_Parser_AST.Op (op_plus,t1::t2::[]) -> + let u1 = desugar_maybe_non_constant_universe t1 in + let u2 = desugar_maybe_non_constant_universe t2 in (match (u1, u2) with - | (FStar_Util.Inl n1, FStar_Util.Inl n2) -> FStar_Util.Inl (n1 + n2) - | (FStar_Util.Inl n1, FStar_Util.Inr u) -> - let uu____3710 = sum_to_universe u n1 in + | (FStar_Util.Inl n1,FStar_Util.Inl n2) -> FStar_Util.Inl (n1 + n2) + | (FStar_Util.Inl n1,FStar_Util.Inr u) -> + let uu____3710 = sum_to_universe u n1 in FStar_Util.Inr uu____3710 - | (FStar_Util.Inr u, FStar_Util.Inl n1) -> - let uu____3727 = sum_to_universe u n1 in + | (FStar_Util.Inr u,FStar_Util.Inl n1) -> + let uu____3727 = sum_to_universe u n1 in FStar_Util.Inr uu____3727 - | (FStar_Util.Inr u11, FStar_Util.Inr u21) -> + | (FStar_Util.Inr u11,FStar_Util.Inr u21) -> let uu____3743 = let uu____3749 = - let uu____3751 = FStar_Parser_AST.term_to_string t in + let uu____3751 = FStar_Parser_AST.term_to_string t in Prims.op_Hat "This universe might contain a sum of two universe variables " - uu____3751 in + uu____3751 + in (FStar_Errors.Fatal_UniverseMightContainSumOfTwoUnivVars, - uu____3749) in + uu____3749) + in FStar_Errors.raise_error uu____3743 t.FStar_Parser_AST.range) | FStar_Parser_AST.App uu____3760 -> let rec aux t1 univargs = let uu____3797 = - let uu____3798 = unparen t1 in uu____3798.FStar_Parser_AST.tm in + let uu____3798 = unparen t1 in uu____3798.FStar_Parser_AST.tm + in match uu____3797 with - | FStar_Parser_AST.App (t2, targ, uu____3806) -> - let uarg = desugar_maybe_non_constant_universe targ in + | FStar_Parser_AST.App (t2,targ,uu____3806) -> + let uarg = desugar_maybe_non_constant_universe targ in aux t2 (uarg :: univargs) | FStar_Parser_AST.Var max_lid1 -> if FStar_List.existsb - (fun uu___5_3833 -> + (fun uu___5_3833 -> match uu___5_3833 with | FStar_Util.Inr uu____3840 -> true | uu____3843 -> false) univargs @@ -1286,99 +1359,110 @@ let rec (desugar_maybe_non_constant_universe : let uu____3851 = let uu____3852 = FStar_List.map - (fun uu___6_3862 -> + (fun uu___6_3862 -> match uu___6_3862 with | FStar_Util.Inl n1 -> int_to_universe n1 - | FStar_Util.Inr u -> u) univargs in - FStar_Syntax_Syntax.U_max uu____3852 in + | FStar_Util.Inr u -> u) univargs + in + FStar_Syntax_Syntax.U_max uu____3852 in FStar_Util.Inr uu____3851 else (let nargs = FStar_List.map - (fun uu___7_3888 -> + (fun uu___7_3888 -> match uu___7_3888 with | FStar_Util.Inl n1 -> n1 | FStar_Util.Inr uu____3898 -> failwith "impossible") - univargs in + univargs + in let uu____3902 = FStar_List.fold_left - (fun m -> fun n1 -> if m > n1 then m else n1) - (Prims.parse_int "0") nargs in + (fun m -> fun n1 -> if m > n1 then m else n1) + (Prims.parse_int "0") nargs + in FStar_Util.Inl uu____3902) | uu____3918 -> let uu____3919 = let uu____3925 = let uu____3927 = - let uu____3929 = FStar_Parser_AST.term_to_string t1 in - Prims.op_Hat uu____3929 " in universe context" in - Prims.op_Hat "Unexpected term " uu____3927 in - (FStar_Errors.Fatal_UnexpectedTermInUniverse, uu____3925) in - FStar_Errors.raise_error uu____3919 t1.FStar_Parser_AST.range in + let uu____3929 = FStar_Parser_AST.term_to_string t1 in + Prims.op_Hat uu____3929 " in universe context" in + Prims.op_Hat "Unexpected term " uu____3927 in + (FStar_Errors.Fatal_UnexpectedTermInUniverse, uu____3925) in + FStar_Errors.raise_error uu____3919 t1.FStar_Parser_AST.range + in aux t [] | uu____3944 -> let uu____3945 = let uu____3951 = let uu____3953 = - let uu____3955 = FStar_Parser_AST.term_to_string t in - Prims.op_Hat uu____3955 " in universe context" in - Prims.op_Hat "Unexpected term " uu____3953 in - (FStar_Errors.Fatal_UnexpectedTermInUniverse, uu____3951) in + let uu____3955 = FStar_Parser_AST.term_to_string t in + Prims.op_Hat uu____3955 " in universe context" in + Prims.op_Hat "Unexpected term " uu____3953 in + (FStar_Errors.Fatal_UnexpectedTermInUniverse, uu____3951) in FStar_Errors.raise_error uu____3945 t.FStar_Parser_AST.range + let rec (desugar_universe : FStar_Parser_AST.term -> FStar_Syntax_Syntax.universe) = - fun t -> - let u = desugar_maybe_non_constant_universe t in + fun t -> + let u = desugar_maybe_non_constant_universe t in match u with | FStar_Util.Inl n1 -> int_to_universe n1 | FStar_Util.Inr u1 -> u1 + let (check_no_aq : FStar_Syntax_Syntax.antiquotations -> unit) = - fun aq -> + fun aq -> match aq with | [] -> () - | (bv, - { - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_quoted - (e, - { FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_dynamic; - FStar_Syntax_Syntax.antiquotes = uu____3996;_}); - FStar_Syntax_Syntax.pos = uu____3997; - FStar_Syntax_Syntax.vars = uu____3998;_})::uu____3999 + | (bv,{ + FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_quoted + (e,{ + FStar_Syntax_Syntax.qkind = + FStar_Syntax_Syntax.Quote_dynamic ; + FStar_Syntax_Syntax.antiquotes = uu____3996;_}); + FStar_Syntax_Syntax.pos = uu____3997; + FStar_Syntax_Syntax.vars = uu____3998;_})::uu____3999 -> let uu____4030 = let uu____4036 = - let uu____4038 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "Unexpected antiquotation: `@(%s)" uu____4038 in - (FStar_Errors.Fatal_UnexpectedAntiquotation, uu____4036) in + let uu____4038 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "Unexpected antiquotation: `@(%s)" uu____4038 + in + (FStar_Errors.Fatal_UnexpectedAntiquotation, uu____4036) in FStar_Errors.raise_error uu____4030 e.FStar_Syntax_Syntax.pos - | (bv, e)::uu____4044 -> + | (bv,e)::uu____4044 -> let uu____4063 = let uu____4069 = - let uu____4071 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "Unexpected antiquotation: `#(%s)" uu____4071 in - (FStar_Errors.Fatal_UnexpectedAntiquotation, uu____4069) in + let uu____4071 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "Unexpected antiquotation: `#(%s)" uu____4071 + in + (FStar_Errors.Fatal_UnexpectedAntiquotation, uu____4069) in FStar_Errors.raise_error uu____4063 e.FStar_Syntax_Syntax.pos + let check_fields : 'Auu____4084 . FStar_Syntax_DsEnv.env -> (FStar_Ident.lident * 'Auu____4084) Prims.list -> FStar_Range.range -> FStar_Syntax_DsEnv.record_or_dc = - fun env -> - fun fields -> - fun rg -> - let uu____4112 = FStar_List.hd fields in + fun env -> + fun fields -> + fun rg -> + let uu____4112 = FStar_List.hd fields in match uu____4112 with - | (f, uu____4122) -> + | (f,uu____4122) -> (FStar_Syntax_DsEnv.fail_if_qualified_by_curmodule env f; (let record = FStar_Syntax_DsEnv.fail_or env - (FStar_Syntax_DsEnv.try_lookup_record_by_field_name env) f in + (FStar_Syntax_DsEnv.try_lookup_record_by_field_name env) f + in let check_field uu____4134 = match uu____4134 with - | (f', uu____4140) -> + | (f',uu____4140) -> (FStar_Syntax_DsEnv.fail_if_qualified_by_curmodule env f'; (let uu____4142 = - FStar_Syntax_DsEnv.belongs_to_record env f' record in + FStar_Syntax_DsEnv.belongs_to_record env f' record + in if uu____4142 then () else @@ -1387,19 +1471,22 @@ let check_fields : "Field %s belongs to record type %s, whereas field %s does not" f.FStar_Ident.str (record.FStar_Syntax_DsEnv.typename).FStar_Ident.str - f'.FStar_Ident.str in + f'.FStar_Ident.str + in FStar_Errors.raise_error (FStar_Errors.Fatal_FieldsNotBelongToSameRecordType, - msg) rg))) in - (let uu____4152 = FStar_List.tl fields in + msg) rg))) + in + (let uu____4152 = FStar_List.tl fields in FStar_List.iter check_field uu____4152); (match () with | () -> record))) + let rec (desugar_data_pat : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.pattern -> (env_t * bnd * annotated_pat Prims.list)) = - fun env -> - fun p -> + fun env -> + fun p -> let check_linear_pattern_variables pats r = let rec pat_vars p1 = match p1.FStar_Syntax_Syntax.v with @@ -1411,76 +1498,87 @@ let rec (desugar_data_pat : FStar_Syntax_Syntax.no_names | FStar_Syntax_Syntax.Pat_var x -> FStar_Util.set_add x FStar_Syntax_Syntax.no_names - | FStar_Syntax_Syntax.Pat_cons (uu____4525, pats1) -> + | FStar_Syntax_Syntax.Pat_cons (uu____4525,pats1) -> let aux out uu____4566 = match uu____4566 with - | (p2, uu____4579) -> + | (p2,uu____4579) -> let intersection = - let uu____4589 = pat_vars p2 in - FStar_Util.set_intersect uu____4589 out in - let uu____4592 = FStar_Util.set_is_empty intersection in + let uu____4589 = pat_vars p2 in + FStar_Util.set_intersect uu____4589 out in + let uu____4592 = FStar_Util.set_is_empty intersection in if uu____4592 then - let uu____4597 = pat_vars p2 in + let uu____4597 = pat_vars p2 in FStar_Util.set_union out uu____4597 else (let duplicate_bv = let uu____4603 = - FStar_Util.set_elements intersection in - FStar_List.hd uu____4603 in + FStar_Util.set_elements intersection in + FStar_List.hd uu____4603 in let uu____4606 = let uu____4612 = FStar_Util.format1 "Non-linear patterns are not permitted: `%s` appears more than once in this pattern." - (duplicate_bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText in + (duplicate_bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText + in (FStar_Errors.Fatal_NonLinearPatternNotPermitted, - uu____4612) in - FStar_Errors.raise_error uu____4606 r) in - FStar_List.fold_left aux FStar_Syntax_Syntax.no_names pats1 in + uu____4612) + in + FStar_Errors.raise_error uu____4606 r) + in + FStar_List.fold_left aux FStar_Syntax_Syntax.no_names pats1 + in match pats with | [] -> () | p1::[] -> - let uu____4636 = pat_vars p1 in - FStar_All.pipe_right uu____4636 (fun a1 -> ()) + let uu____4636 = pat_vars p1 in + FStar_All.pipe_right uu____4636 (fun a1 -> ()) | p1::ps -> - let pvars = pat_vars p1 in + let pvars = pat_vars p1 in let aux p2 = let uu____4664 = - let uu____4666 = pat_vars p2 in - FStar_Util.set_eq pvars uu____4666 in + let uu____4666 = pat_vars p2 in + FStar_Util.set_eq pvars uu____4666 in if uu____4664 then () else (let nonlinear_vars = - let uu____4675 = pat_vars p2 in - FStar_Util.set_symmetric_difference pvars uu____4675 in + let uu____4675 = pat_vars p2 in + FStar_Util.set_symmetric_difference pvars uu____4675 in let first_nonlinear_var = - let uu____4679 = FStar_Util.set_elements nonlinear_vars in - FStar_List.hd uu____4679 in + let uu____4679 = FStar_Util.set_elements nonlinear_vars + in + FStar_List.hd uu____4679 in let uu____4682 = let uu____4688 = FStar_Util.format1 "Patterns in this match are incoherent, variable %s is bound in some but not all patterns." - (first_nonlinear_var.FStar_Syntax_Syntax.ppname).FStar_Ident.idText in - (FStar_Errors.Fatal_IncoherentPatterns, uu____4688) in - FStar_Errors.raise_error uu____4682 r) in - FStar_List.iter aux ps in + (first_nonlinear_var.FStar_Syntax_Syntax.ppname).FStar_Ident.idText + in + (FStar_Errors.Fatal_IncoherentPatterns, uu____4688) in + FStar_Errors.raise_error uu____4682 r) + in + FStar_List.iter aux ps + in let resolvex l e x = let uu____4716 = FStar_All.pipe_right l (FStar_Util.find_opt - (fun y -> + (fun y -> (y.FStar_Syntax_Syntax.ppname).FStar_Ident.idText = - x.FStar_Ident.idText)) in + x.FStar_Ident.idText)) + in match uu____4716 with | FStar_Pervasives_Native.Some y -> (l, e, y) | uu____4733 -> - let uu____4736 = FStar_Syntax_DsEnv.push_bv e x in - (match uu____4736 with | (e1, x1) -> ((x1 :: l), e1, x1)) in + let uu____4736 = FStar_Syntax_DsEnv.push_bv e x in + (match uu____4736 with | (e1,x1) -> ((x1 :: l), e1, x1)) + in let rec aux' top loc env1 p1 = - let pos q = FStar_Syntax_Syntax.withinfo q p1.FStar_Parser_AST.prange in - let pos_r r q = FStar_Syntax_Syntax.withinfo q r in - let orig = p1 in + let pos q = FStar_Syntax_Syntax.withinfo q p1.FStar_Parser_AST.prange + in + let pos_r r q = FStar_Syntax_Syntax.withinfo q r in + let orig = p1 in match p1.FStar_Parser_AST.pat with | FStar_Parser_AST.PatOr uu____4887 -> failwith "impossible" | FStar_Parser_AST.PatOp op -> @@ -1491,169 +1589,186 @@ let rec (desugar_data_pat : let uu____4921 = let uu____4927 = FStar_Parser_AST.compile_op (Prims.parse_int "0") - op.FStar_Ident.idText op.FStar_Ident.idRange in - (uu____4927, (op.FStar_Ident.idRange)) in - FStar_Ident.mk_ident uu____4921 in - (uu____4920, FStar_Pervasives_Native.None) in - FStar_Parser_AST.PatVar uu____4913 in + op.FStar_Ident.idText op.FStar_Ident.idRange + in + (uu____4927, (op.FStar_Ident.idRange)) in + FStar_Ident.mk_ident uu____4921 in + (uu____4920, FStar_Pervasives_Native.None) in + FStar_Parser_AST.PatVar uu____4913 in { FStar_Parser_AST.pat = uu____4912; FStar_Parser_AST.prange = (p1.FStar_Parser_AST.prange) - } in + } in aux loc env1 uu____4911 - | FStar_Parser_AST.PatAscribed (p2, (t, tacopt)) -> + | FStar_Parser_AST.PatAscribed (p2,(t,tacopt)) -> ((match tacopt with - | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.None -> () | FStar_Pervasives_Native.Some uu____4947 -> FStar_Errors.raise_error (FStar_Errors.Fatal_TypeWithinPatternsAllowedOnVariablesOnly, "Type ascriptions within patterns cannot be associated with a tactic") orig.FStar_Parser_AST.prange); - (let uu____4950 = aux loc env1 p2 in + (let uu____4950 = aux loc env1 p2 in match uu____4950 with - | (loc1, env', binder, p3, annots, imp) -> + | (loc1,env',binder,p3,annots,imp) -> let annot_pat_var p4 t1 = match p4.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_var x -> - let uu___932_5039 = p4 in + let uu___933_5039 = p4 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_var - (let uu___934_5044 = x in + (let uu___935_5044 = x in { FStar_Syntax_Syntax.ppname = - (uu___934_5044.FStar_Syntax_Syntax.ppname); + (uu___935_5044.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___934_5044.FStar_Syntax_Syntax.index); + (uu___935_5044.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t1 })); FStar_Syntax_Syntax.p = - (uu___932_5039.FStar_Syntax_Syntax.p) + (uu___933_5039.FStar_Syntax_Syntax.p) } | FStar_Syntax_Syntax.Pat_wild x -> - let uu___938_5046 = p4 in + let uu___939_5046 = p4 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_wild - (let uu___940_5051 = x in + (let uu___941_5051 = x in { FStar_Syntax_Syntax.ppname = - (uu___940_5051.FStar_Syntax_Syntax.ppname); + (uu___941_5051.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___940_5051.FStar_Syntax_Syntax.index); + (uu___941_5051.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t1 })); FStar_Syntax_Syntax.p = - (uu___938_5046.FStar_Syntax_Syntax.p) + (uu___939_5046.FStar_Syntax_Syntax.p) } | uu____5052 when top -> p4 | uu____5053 -> FStar_Errors.raise_error (FStar_Errors.Fatal_TypeWithinPatternsAllowedOnVariablesOnly, "Type ascriptions within patterns are only allowed on variables") - orig.FStar_Parser_AST.prange in + orig.FStar_Parser_AST.prange + in let uu____5058 = match binder with | LetBinder uu____5079 -> failwith "impossible" - | LocalBinder (x, aq) -> + | LocalBinder (x,aq) -> let t1 = - let uu____5104 = close_fun env1 t in - desugar_term env1 uu____5104 in + let uu____5104 = close_fun env1 t in + desugar_term env1 uu____5104 in let x1 = - let uu___951_5106 = x in + let uu___952_5106 = x in { FStar_Syntax_Syntax.ppname = - (uu___951_5106.FStar_Syntax_Syntax.ppname); + (uu___952_5106.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___951_5106.FStar_Syntax_Syntax.index); + (uu___952_5106.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t1 - } in - ([(x1, t1)], (LocalBinder (x1, aq))) in + } in + ([(x1, t1)], (LocalBinder (x1, aq))) + in (match uu____5058 with - | (annots', binder1) -> + | (annots',binder1) -> (loc1, env', binder1, p3, (FStar_List.append annots' annots), imp)))) | FStar_Parser_AST.PatWild aq -> let imp = - aq = (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit) in - let aq1 = trans_aqual env1 aq in + aq = (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit) + in + let aq1 = trans_aqual env1 aq in let x = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some (p1.FStar_Parser_AST.prange)) - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let uu____5174 = - FStar_All.pipe_left pos (FStar_Syntax_Syntax.Pat_wild x) in + FStar_All.pipe_left pos (FStar_Syntax_Syntax.Pat_wild x) in (loc, env1, (LocalBinder (x, aq1)), uu____5174, [], imp) | FStar_Parser_AST.PatConst c -> let x = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some (p1.FStar_Parser_AST.prange)) - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let uu____5188 = - FStar_All.pipe_left pos (FStar_Syntax_Syntax.Pat_constant c) in + FStar_All.pipe_left pos (FStar_Syntax_Syntax.Pat_constant c) + in (loc, env1, (LocalBinder (x, FStar_Pervasives_Native.None)), uu____5188, [], false) - | FStar_Parser_AST.PatTvar (x, aq) -> + | FStar_Parser_AST.PatTvar (x,aq) -> let imp = - aq = (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit) in - let aq1 = trans_aqual env1 aq in - let uu____5212 = resolvex loc env1 x in + aq = (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit) + in + let aq1 = trans_aqual env1 aq in + let uu____5212 = resolvex loc env1 x in (match uu____5212 with - | (loc1, env2, xbv) -> + | (loc1,env2,xbv) -> let uu____5241 = - FStar_All.pipe_left pos (FStar_Syntax_Syntax.Pat_var xbv) in + FStar_All.pipe_left pos (FStar_Syntax_Syntax.Pat_var xbv) + in (loc1, env2, (LocalBinder (xbv, aq1)), uu____5241, [], imp)) - | FStar_Parser_AST.PatVar (x, aq) -> + | FStar_Parser_AST.PatVar (x,aq) -> let imp = - aq = (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit) in - let aq1 = trans_aqual env1 aq in - let uu____5264 = resolvex loc env1 x in + aq = (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit) + in + let aq1 = trans_aqual env1 aq in + let uu____5264 = resolvex loc env1 x in (match uu____5264 with - | (loc1, env2, xbv) -> + | (loc1,env2,xbv) -> let uu____5293 = - FStar_All.pipe_left pos (FStar_Syntax_Syntax.Pat_var xbv) in + FStar_All.pipe_left pos (FStar_Syntax_Syntax.Pat_var xbv) + in (loc1, env2, (LocalBinder (xbv, aq1)), uu____5293, [], imp)) | FStar_Parser_AST.PatName l -> let l1 = FStar_Syntax_DsEnv.fail_or env1 - (FStar_Syntax_DsEnv.try_lookup_datacon env1) l in + (FStar_Syntax_DsEnv.try_lookup_datacon env1) l + in let x = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some (p1.FStar_Parser_AST.prange)) - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let uu____5308 = - FStar_All.pipe_left pos (FStar_Syntax_Syntax.Pat_cons (l1, [])) in + FStar_All.pipe_left pos (FStar_Syntax_Syntax.Pat_cons (l1, [])) + in (loc, env1, (LocalBinder (x, FStar_Pervasives_Native.None)), uu____5308, [], false) | FStar_Parser_AST.PatApp ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatName l; - FStar_Parser_AST.prange = uu____5338;_}, - args) + FStar_Parser_AST.prange = uu____5338;_},args) -> let uu____5344 = FStar_List.fold_right - (fun arg -> - fun uu____5405 -> + (fun arg -> + fun uu____5405 -> match uu____5405 with - | (loc1, env2, annots, args1) -> - let uu____5486 = aux loc1 env2 arg in + | (loc1,env2,annots,args1) -> + let uu____5486 = aux loc1 env2 arg in (match uu____5486 with - | (loc2, env3, uu____5533, arg1, ans, imp) -> + | (loc2,env3,uu____5533,arg1,ans,imp) -> (loc2, env3, (FStar_List.append ans annots), ((arg1, imp) :: args1)))) args - (loc, env1, [], []) in + (loc, env1, [], []) + in (match uu____5344 with - | (loc1, env2, annots, args1) -> + | (loc1,env2,annots,args1) -> let l1 = FStar_Syntax_DsEnv.fail_or env2 - (FStar_Syntax_DsEnv.try_lookup_datacon env2) l in + (FStar_Syntax_DsEnv.try_lookup_datacon env2) l + in let x = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some - (p1.FStar_Parser_AST.prange)) FStar_Syntax_Syntax.tun in + (p1.FStar_Parser_AST.prange)) FStar_Syntax_Syntax.tun + in let uu____5665 = FStar_All.pipe_left pos - (FStar_Syntax_Syntax.Pat_cons (l1, args1)) in + (FStar_Syntax_Syntax.Pat_cons (l1, args1)) + in (loc1, env2, (LocalBinder (x, FStar_Pervasives_Native.None)), uu____5665, annots, false)) @@ -1664,24 +1779,24 @@ let rec (desugar_data_pat : | FStar_Parser_AST.PatList pats -> let uu____5714 = FStar_List.fold_right - (fun pat -> - fun uu____5765 -> + (fun pat -> + fun uu____5765 -> match uu____5765 with - | (loc1, env2, annots, pats1) -> - let uu____5826 = aux loc1 env2 pat in + | (loc1,env2,annots,pats1) -> + let uu____5826 = aux loc1 env2 pat in (match uu____5826 with - | (loc2, env3, uu____5868, pat1, ans, uu____5871) - -> + | (loc2,env3,uu____5868,pat1,ans,uu____5871) -> (loc2, env3, (FStar_List.append ans annots), - (pat1 :: pats1)))) pats (loc, env1, [], []) in + (pat1 :: pats1)))) pats (loc, env1, [], []) + in (match uu____5714 with - | (loc1, env2, annots, pats1) -> + | (loc1,env2,annots,pats1) -> let pat = let uu____5968 = let uu____5971 = let uu____5978 = - FStar_Range.end_range p1.FStar_Parser_AST.prange in - pos_r uu____5978 in + FStar_Range.end_range p1.FStar_Parser_AST.prange in + pos_r uu____5978 in let uu____5979 = let uu____5980 = let uu____5994 = @@ -1689,17 +1804,19 @@ let rec (desugar_data_pat : FStar_Parser_Const.nil_lid FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some - FStar_Syntax_Syntax.Data_ctor) in - (uu____5994, []) in - FStar_Syntax_Syntax.Pat_cons uu____5980 in - FStar_All.pipe_left uu____5971 uu____5979 in + FStar_Syntax_Syntax.Data_ctor) + in + (uu____5994, []) in + FStar_Syntax_Syntax.Pat_cons uu____5980 in + FStar_All.pipe_left uu____5971 uu____5979 in FStar_List.fold_right - (fun hd1 -> - fun tl1 -> + (fun hd1 -> + fun tl1 -> let r = FStar_Range.union_ranges hd1.FStar_Syntax_Syntax.p - tl1.FStar_Syntax_Syntax.p in + tl1.FStar_Syntax_Syntax.p + in let uu____6028 = let uu____6029 = let uu____6043 = @@ -1707,34 +1824,38 @@ let rec (desugar_data_pat : FStar_Parser_Const.cons_lid FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some - FStar_Syntax_Syntax.Data_ctor) in - (uu____6043, [(hd1, false); (tl1, false)]) in - FStar_Syntax_Syntax.Pat_cons uu____6029 in + FStar_Syntax_Syntax.Data_ctor) + in + (uu____6043, [(hd1, false); (tl1, false)]) in + FStar_Syntax_Syntax.Pat_cons uu____6029 in FStar_All.pipe_left (pos_r r) uu____6028) pats1 - uu____5968 in + uu____5968 + in let x = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some - (p1.FStar_Parser_AST.prange)) FStar_Syntax_Syntax.tun in + (p1.FStar_Parser_AST.prange)) FStar_Syntax_Syntax.tun + in (loc1, env2, (LocalBinder (x, FStar_Pervasives_Native.None)), pat, annots, false)) - | FStar_Parser_AST.PatTuple (args, dep1) -> + | FStar_Parser_AST.PatTuple (args,dep1) -> let uu____6101 = FStar_List.fold_left - (fun uu____6161 -> - fun p2 -> + (fun uu____6161 -> + fun p2 -> match uu____6161 with - | (loc1, env2, annots, pats) -> - let uu____6243 = aux loc1 env2 p2 in + | (loc1,env2,annots,pats) -> + let uu____6243 = aux loc1 env2 p2 in (match uu____6243 with - | (loc2, env3, uu____6290, pat, ans, uu____6293) -> + | (loc2,env3,uu____6290,pat,ans,uu____6293) -> (loc2, env3, (FStar_List.append ans annots), ((pat, false) :: pats)))) (loc, env1, [], []) - args in + args + in (match uu____6101 with - | (loc1, env2, annots, args1) -> - let args2 = FStar_List.rev args1 in + | (loc1,env2,annots,args1) -> + let args2 = FStar_List.rev args1 in let l = if dep1 then @@ -1742,21 +1863,25 @@ let rec (desugar_data_pat : (FStar_List.length args2) p1.FStar_Parser_AST.prange else FStar_Parser_Const.mk_tuple_data_lid - (FStar_List.length args2) p1.FStar_Parser_AST.prange in + (FStar_List.length args2) p1.FStar_Parser_AST.prange + in let constr = FStar_Syntax_DsEnv.fail_or env2 - (FStar_Syntax_DsEnv.try_lookup_lid env2) l in + (FStar_Syntax_DsEnv.try_lookup_lid env2) l + in let l1 = match constr.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> fv - | uu____6459 -> failwith "impossible" in + | uu____6459 -> failwith "impossible" in let x = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some - (p1.FStar_Parser_AST.prange)) FStar_Syntax_Syntax.tun in + (p1.FStar_Parser_AST.prange)) FStar_Syntax_Syntax.tun + in let uu____6462 = FStar_All.pipe_left pos - (FStar_Syntax_Syntax.Pat_cons (l1, args2)) in + (FStar_Syntax_Syntax.Pat_cons (l1, args2)) + in (loc1, env2, (LocalBinder (x, FStar_Pervasives_Native.None)), uu____6462, annots, false)) @@ -1765,35 +1890,39 @@ let rec (desugar_data_pat : (FStar_Errors.Fatal_UnexpectedPattern, "Unexpected pattern") p1.FStar_Parser_AST.prange | FStar_Parser_AST.PatRecord fields -> - let record = check_fields env1 fields p1.FStar_Parser_AST.prange in + let record = check_fields env1 fields p1.FStar_Parser_AST.prange + in let fields1 = FStar_All.pipe_right fields (FStar_List.map - (fun uu____6543 -> + (fun uu____6543 -> match uu____6543 with - | (f, p2) -> ((f.FStar_Ident.ident), p2))) in + | (f,p2) -> ((f.FStar_Ident.ident), p2))) + in let args = FStar_All.pipe_right record.FStar_Syntax_DsEnv.fields (FStar_List.map - (fun uu____6573 -> + (fun uu____6573 -> match uu____6573 with - | (f, uu____6579) -> + | (f,uu____6579) -> let uu____6580 = FStar_All.pipe_right fields1 (FStar_List.tryFind - (fun uu____6606 -> + (fun uu____6606 -> match uu____6606 with - | (g, uu____6613) -> + | (g,uu____6613) -> f.FStar_Ident.idText = - g.FStar_Ident.idText)) in + g.FStar_Ident.idText)) + in (match uu____6580 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Parser_AST.mk_pattern (FStar_Parser_AST.PatWild FStar_Pervasives_Native.None) p1.FStar_Parser_AST.prange - | FStar_Pervasives_Native.Some (uu____6619, p2) -> - p2))) in + | FStar_Pervasives_Native.Some (uu____6619,p2) -> + p2))) + in let app = let uu____6626 = let uu____6627 = @@ -1803,24 +1932,27 @@ let rec (desugar_data_pat : FStar_Ident.lid_of_ids (FStar_List.append (record.FStar_Syntax_DsEnv.typename).FStar_Ident.ns - [record.FStar_Syntax_DsEnv.constrname]) in - FStar_Parser_AST.PatName uu____6636 in + [record.FStar_Syntax_DsEnv.constrname]) + in + FStar_Parser_AST.PatName uu____6636 in FStar_Parser_AST.mk_pattern uu____6635 - p1.FStar_Parser_AST.prange in - (uu____6634, args) in - FStar_Parser_AST.PatApp uu____6627 in + p1.FStar_Parser_AST.prange + in + (uu____6634, args) in + FStar_Parser_AST.PatApp uu____6627 in FStar_Parser_AST.mk_pattern uu____6626 - p1.FStar_Parser_AST.prange in - let uu____6639 = aux loc env1 app in + p1.FStar_Parser_AST.prange + in + let uu____6639 = aux loc env1 app in (match uu____6639 with - | (env2, e, b, p2, annots, uu____6685) -> + | (env2,e,b,p2,annots,uu____6685) -> let p3 = match p2.FStar_Syntax_Syntax.v with - | FStar_Syntax_Syntax.Pat_cons (fv, args1) -> + | FStar_Syntax_Syntax.Pat_cons (fv,args1) -> let uu____6725 = let uu____6726 = let uu____6740 = - let uu___1099_6741 = fv in + let uu___1100_6741 = fv in let uu____6742 = let uu____6745 = let uu____6746 = @@ -1828,108 +1960,115 @@ let rec (desugar_data_pat : FStar_All.pipe_right record.FStar_Syntax_DsEnv.fields (FStar_List.map - FStar_Pervasives_Native.fst) in + FStar_Pervasives_Native.fst) + in ((record.FStar_Syntax_DsEnv.typename), - uu____6753) in - FStar_Syntax_Syntax.Record_ctor uu____6746 in - FStar_Pervasives_Native.Some uu____6745 in + uu____6753) + in + FStar_Syntax_Syntax.Record_ctor uu____6746 + in + FStar_Pervasives_Native.Some uu____6745 in { FStar_Syntax_Syntax.fv_name = - (uu___1099_6741.FStar_Syntax_Syntax.fv_name); + (uu___1100_6741.FStar_Syntax_Syntax.fv_name); FStar_Syntax_Syntax.fv_delta = - (uu___1099_6741.FStar_Syntax_Syntax.fv_delta); + (uu___1100_6741.FStar_Syntax_Syntax.fv_delta); FStar_Syntax_Syntax.fv_qual = uu____6742 - } in - (uu____6740, args1) in - FStar_Syntax_Syntax.Pat_cons uu____6726 in + } in + (uu____6740, args1) in + FStar_Syntax_Syntax.Pat_cons uu____6726 in FStar_All.pipe_left pos uu____6725 - | uu____6779 -> p2 in + | uu____6779 -> p2 in (env2, e, b, p3, annots, false)) - and aux loc env1 p1 = aux' false loc env1 p1 in + + and aux loc env1 p1 = aux' false loc env1 p1 + in let aux_maybe_or env1 p1 = - let loc = [] in + let loc = [] in match p1.FStar_Parser_AST.pat with | FStar_Parser_AST.PatOr [] -> failwith "impossible" | FStar_Parser_AST.PatOr (p2::ps) -> - let uu____6865 = aux' true loc env1 p2 in + let uu____6865 = aux' true loc env1 p2 in (match uu____6865 with - | (loc1, env2, var, p3, ans, uu____6909) -> + | (loc1,env2,var,p3,ans,uu____6909) -> let uu____6924 = FStar_List.fold_left - (fun uu____6973 -> - fun p4 -> + (fun uu____6973 -> + fun p4 -> match uu____6973 with - | (loc2, env3, ps1) -> - let uu____7038 = aux' true loc2 env3 p4 in + | (loc2,env3,ps1) -> + let uu____7038 = aux' true loc2 env3 p4 in (match uu____7038 with - | (loc3, env4, uu____7079, p5, ans1, - uu____7082) -> + | (loc3,env4,uu____7079,p5,ans1,uu____7082) -> (loc3, env4, ((p5, ans1) :: ps1)))) - (loc1, env2, []) ps in + (loc1, env2, []) ps + in (match uu____6924 with - | (loc2, env3, ps1) -> - let pats = (p3, ans) :: (FStar_List.rev ps1) in + | (loc2,env3,ps1) -> + let pats = (p3, ans) :: (FStar_List.rev ps1) in (env3, var, pats))) | uu____7243 -> - let uu____7244 = aux' true loc env1 p1 in + let uu____7244 = aux' true loc env1 p1 in (match uu____7244 with - | (loc1, env2, vars, pat, ans, b) -> (env2, vars, [(pat, ans)])) in - let uu____7341 = aux_maybe_or env p in + | (loc1,env2,vars,pat,ans,b) -> (env2, vars, [(pat, ans)])) + in + let uu____7341 = aux_maybe_or env p in match uu____7341 with - | (env1, b, pats) -> - ((let uu____7396 = FStar_List.map FStar_Pervasives_Native.fst pats in + | (env1,b,pats) -> + ((let uu____7396 = FStar_List.map FStar_Pervasives_Native.fst pats + in check_linear_pattern_variables uu____7396 p.FStar_Parser_AST.prange); (env1, b, pats)) + and (desugar_binding_pat_maybe_top : Prims.bool -> FStar_Syntax_DsEnv.env -> FStar_Parser_AST.pattern -> (env_t * bnd * annotated_pat Prims.list)) = - fun top -> - fun env -> - fun p -> + fun top -> + fun env -> + fun p -> let mklet x ty tacopt = let uu____7469 = let uu____7470 = - let uu____7481 = FStar_Syntax_DsEnv.qualify env x in - (uu____7481, (ty, tacopt)) in - LetBinder uu____7470 in - (env, uu____7469, []) in + let uu____7481 = FStar_Syntax_DsEnv.qualify env x in + (uu____7481, (ty, tacopt)) in + LetBinder uu____7470 in + (env, uu____7469, []) in let op_to_ident x = let uu____7498 = let uu____7504 = FStar_Parser_AST.compile_op (Prims.parse_int "0") - x.FStar_Ident.idText x.FStar_Ident.idRange in - (uu____7504, (x.FStar_Ident.idRange)) in - FStar_Ident.mk_ident uu____7498 in + x.FStar_Ident.idText x.FStar_Ident.idRange + in + (uu____7504, (x.FStar_Ident.idRange)) in + FStar_Ident.mk_ident uu____7498 in if top then match p.FStar_Parser_AST.pat with | FStar_Parser_AST.PatOp x -> - let uu____7526 = op_to_ident x in + let uu____7526 = op_to_ident x in mklet uu____7526 FStar_Syntax_Syntax.tun FStar_Pervasives_Native.None - | FStar_Parser_AST.PatVar (x, uu____7528) -> + | FStar_Parser_AST.PatVar (x,uu____7528) -> mklet x FStar_Syntax_Syntax.tun FStar_Pervasives_Native.None | FStar_Parser_AST.PatAscribed ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatOp x; - FStar_Parser_AST.prange = uu____7534;_}, - (t, tacopt)) + FStar_Parser_AST.prange = uu____7534;_},(t,tacopt)) -> - let tacopt1 = FStar_Util.map_opt tacopt (desugar_term env) in - let uu____7550 = op_to_ident x in - let uu____7551 = desugar_term env t in + let tacopt1 = FStar_Util.map_opt tacopt (desugar_term env) in + let uu____7550 = op_to_ident x in + let uu____7551 = desugar_term env t in mklet uu____7550 uu____7551 tacopt1 | FStar_Parser_AST.PatAscribed ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatVar - (x, uu____7553); - FStar_Parser_AST.prange = uu____7554;_}, - (t, tacopt)) + (x,uu____7553); + FStar_Parser_AST.prange = uu____7554;_},(t,tacopt)) -> - let tacopt1 = FStar_Util.map_opt tacopt (desugar_term env) in - let uu____7574 = desugar_term env t in + let tacopt1 = FStar_Util.map_opt tacopt (desugar_term env) in + let uu____7574 = desugar_term env t in mklet x uu____7574 tacopt1 | uu____7575 -> FStar_Errors.raise_error @@ -1937,108 +2076,118 @@ and (desugar_binding_pat_maybe_top : "Unexpected pattern at the top-level") p.FStar_Parser_AST.prange else - (let uu____7588 = desugar_data_pat env p in + (let uu____7588 = desugar_data_pat env p in match uu____7588 with - | (env1, binder, p1) -> + | (env1,binder,p1) -> let p2 = match p1 with | ({ FStar_Syntax_Syntax.v = FStar_Syntax_Syntax.Pat_var uu____7617; - FStar_Syntax_Syntax.p = uu____7618;_}, - uu____7619)::[] -> [] + FStar_Syntax_Syntax.p = uu____7618;_},uu____7619)::[] + -> [] | ({ FStar_Syntax_Syntax.v = FStar_Syntax_Syntax.Pat_wild uu____7632; - FStar_Syntax_Syntax.p = uu____7633;_}, - uu____7634)::[] -> [] - | uu____7647 -> p1 in + FStar_Syntax_Syntax.p = uu____7633;_},uu____7634)::[] + -> [] + | uu____7647 -> p1 in (env1, binder, p2)) + and (desugar_binding_pat : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.pattern -> (env_t * bnd * annotated_pat Prims.list)) - = fun env -> fun p -> desugar_binding_pat_maybe_top false env p + = fun env -> fun p -> desugar_binding_pat_maybe_top false env p + and (desugar_match_pat_maybe_top : Prims.bool -> FStar_Syntax_DsEnv.env -> FStar_Parser_AST.pattern -> (env_t * annotated_pat Prims.list)) = - fun uu____7655 -> - fun env -> - fun pat -> - let uu____7659 = desugar_data_pat env pat in - match uu____7659 with | (env1, uu____7675, pat1) -> (env1, pat1) + fun uu____7655 -> + fun env -> + fun pat -> + let uu____7659 = desugar_data_pat env pat in + match uu____7659 with | (env1,uu____7675,pat1) -> (env1, pat1) + and (desugar_match_pat : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.pattern -> (env_t * annotated_pat Prims.list)) - = fun env -> fun p -> desugar_match_pat_maybe_top false env p + = fun env -> fun p -> desugar_match_pat_maybe_top false env p + and (desugar_term_aq : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.antiquotations)) = - fun env -> - fun e -> - let env1 = FStar_Syntax_DsEnv.set_expect_typ env false in + fun env -> + fun e -> + let env1 = FStar_Syntax_DsEnv.set_expect_typ env false in desugar_term_maybe_top false env1 e + and (desugar_term : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun e -> - let uu____7697 = desugar_term_aq env e in - match uu____7697 with | (t, aq) -> (check_no_aq aq; t) + fun env -> + fun e -> + let uu____7697 = desugar_term_aq env e in + match uu____7697 with | (t,aq) -> (check_no_aq aq; t) + and (desugar_typ_aq : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.antiquotations)) = - fun env -> - fun e -> - let env1 = FStar_Syntax_DsEnv.set_expect_typ env true in + fun env -> + fun e -> + let env1 = FStar_Syntax_DsEnv.set_expect_typ env true in desugar_term_maybe_top false env1 e + and (desugar_typ : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun e -> - let uu____7716 = desugar_typ_aq env e in - match uu____7716 with | (t, aq) -> (check_no_aq aq; t) + fun env -> + fun e -> + let uu____7716 = desugar_typ_aq env e in + match uu____7716 with | (t,aq) -> (check_no_aq aq; t) + and (desugar_machine_integer : FStar_Syntax_DsEnv.env -> Prims.string -> (FStar_Const.signedness * FStar_Const.width) -> FStar_Range.range -> FStar_Syntax_Syntax.term) = - fun env -> - fun repr -> - fun uu____7726 -> - fun range -> + fun env -> + fun repr -> + fun uu____7726 -> + fun range -> match uu____7726 with - | (signedness, width) -> + | (signedness,width) -> let tnm = Prims.op_Hat "FStar." (Prims.op_Hat (match signedness with - | FStar_Const.Unsigned -> "U" - | FStar_Const.Signed -> "") + | FStar_Const.Unsigned -> "U" + | FStar_Const.Signed -> "") (Prims.op_Hat "Int" (match width with - | FStar_Const.Int8 -> "8" - | FStar_Const.Int16 -> "16" - | FStar_Const.Int32 -> "32" - | FStar_Const.Int64 -> "64"))) in + | FStar_Const.Int8 -> "8" + | FStar_Const.Int16 -> "16" + | FStar_Const.Int32 -> "32" + | FStar_Const.Int64 -> "64"))) + in ((let uu____7748 = let uu____7750 = - FStar_Const.within_bounds repr signedness width in - Prims.op_Negation uu____7750 in + FStar_Const.within_bounds repr signedness width in + Prims.op_Negation uu____7750 in if uu____7748 then let uu____7753 = let uu____7759 = FStar_Util.format2 - "%s is not in the expected range for %s" repr tnm in - (FStar_Errors.Error_OutOfRange, uu____7759) in + "%s is not in the expected range for %s" repr tnm + in + (FStar_Errors.Error_OutOfRange, uu____7759) in FStar_Errors.log_issue range uu____7753 else ()); (let private_intro_nm = @@ -2046,84 +2195,94 @@ and (desugar_machine_integer : (Prims.op_Hat ".__" (Prims.op_Hat (match signedness with - | FStar_Const.Unsigned -> "u" - | FStar_Const.Signed -> "") "int_to_t")) in + | FStar_Const.Unsigned -> "u" + | FStar_Const.Signed -> "") "int_to_t")) + in let intro_nm = Prims.op_Hat tnm (Prims.op_Hat "." (Prims.op_Hat (match signedness with - | FStar_Const.Unsigned -> "u" - | FStar_Const.Signed -> "") "int_to_t")) in + | FStar_Const.Unsigned -> "u" + | FStar_Const.Signed -> "") "int_to_t")) + in let lid = - let uu____7780 = FStar_Ident.path_of_text intro_nm in - FStar_Ident.lid_of_path uu____7780 range in + let uu____7780 = FStar_Ident.path_of_text intro_nm in + FStar_Ident.lid_of_path uu____7780 range in let lid1 = - let uu____7784 = FStar_Syntax_DsEnv.try_lookup_lid env lid in + let uu____7784 = FStar_Syntax_DsEnv.try_lookup_lid env lid + in match uu____7784 with | FStar_Pervasives_Native.Some intro_term -> (match intro_term.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> let private_lid = let uu____7794 = - FStar_Ident.path_of_text private_intro_nm in - FStar_Ident.lid_of_path uu____7794 range in + FStar_Ident.path_of_text private_intro_nm in + FStar_Ident.lid_of_path uu____7794 range in let private_fv = let uu____7796 = FStar_Syntax_Util.incr_delta_depth - fv.FStar_Syntax_Syntax.fv_delta in + fv.FStar_Syntax_Syntax.fv_delta + in FStar_Syntax_Syntax.lid_as_fv private_lid - uu____7796 fv.FStar_Syntax_Syntax.fv_qual in - let uu___1269_7797 = intro_term in + uu____7796 fv.FStar_Syntax_Syntax.fv_qual + in + let uu___1270_7797 = intro_term in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Tm_fvar private_fv); FStar_Syntax_Syntax.pos = - (uu___1269_7797.FStar_Syntax_Syntax.pos); + (uu___1270_7797.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___1269_7797.FStar_Syntax_Syntax.vars) + (uu___1270_7797.FStar_Syntax_Syntax.vars) } | uu____7798 -> failwith (Prims.op_Hat "Unexpected non-fvar for " intro_nm)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____7802 = let uu____7808 = FStar_Util.format1 "Unexpected numeric literal. Restart F* to load %s." - tnm in + tnm + in (FStar_Errors.Fatal_UnexpectedNumericLiteral, - uu____7808) in - FStar_Errors.raise_error uu____7802 range in + uu____7808) + in + FStar_Errors.raise_error uu____7802 range + in let repr1 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_int (repr, FStar_Pervasives_Native.None))) - FStar_Pervasives_Native.None range in + FStar_Pervasives_Native.None range + in let uu____7828 = let uu____7835 = let uu____7836 = let uu____7853 = let uu____7864 = let uu____7873 = - FStar_Syntax_Syntax.as_implicit false in - (repr1, uu____7873) in - [uu____7864] in - (lid1, uu____7853) in - FStar_Syntax_Syntax.Tm_app uu____7836 in - FStar_Syntax_Syntax.mk uu____7835 in + FStar_Syntax_Syntax.as_implicit false in + (repr1, uu____7873) in + [uu____7864] in + (lid1, uu____7853) in + FStar_Syntax_Syntax.Tm_app uu____7836 in + FStar_Syntax_Syntax.mk uu____7835 in uu____7828 FStar_Pervasives_Native.None range)) + and (desugar_attributes : env_t -> FStar_Parser_AST.term Prims.list -> FStar_Syntax_Syntax.cflag Prims.list) = - fun env -> - fun cattributes -> + fun env -> + fun cattributes -> let desugar_attribute t = let uu____7921 = - let uu____7922 = unparen t in uu____7922.FStar_Parser_AST.tm in + let uu____7922 = unparen t in uu____7922.FStar_Parser_AST.tm in match uu____7921 with | FStar_Parser_AST.Var { FStar_Ident.ns = uu____7923; FStar_Ident.ident = uu____7924; @@ -2132,142 +2291,154 @@ and (desugar_attributes : | uu____7930 -> let uu____7931 = let uu____7937 = - let uu____7939 = FStar_Parser_AST.term_to_string t in - Prims.op_Hat "Unknown attribute " uu____7939 in - (FStar_Errors.Fatal_UnknownAttribute, uu____7937) in - FStar_Errors.raise_error uu____7931 t.FStar_Parser_AST.range in + let uu____7939 = FStar_Parser_AST.term_to_string t in + Prims.op_Hat "Unknown attribute " uu____7939 in + (FStar_Errors.Fatal_UnknownAttribute, uu____7937) in + FStar_Errors.raise_error uu____7931 t.FStar_Parser_AST.range + in FStar_List.map desugar_attribute cattributes + and (desugar_term_maybe_top : Prims.bool -> env_t -> FStar_Parser_AST.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.antiquotations)) = - fun top_level -> - fun env -> - fun top -> + fun top_level -> + fun env -> + fun top -> let mk1 e = FStar_Syntax_Syntax.mk e FStar_Pervasives_Native.None - top.FStar_Parser_AST.range in - let noaqs = [] in - let join_aqs aqs = FStar_List.flatten aqs in + top.FStar_Parser_AST.range + in + let noaqs = [] in + let join_aqs aqs = FStar_List.flatten aqs in let setpos e = - let uu___1296_8026 = e in + let uu___1297_8026 = e in { - FStar_Syntax_Syntax.n = (uu___1296_8026.FStar_Syntax_Syntax.n); + FStar_Syntax_Syntax.n = (uu___1297_8026.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = (top.FStar_Parser_AST.range); FStar_Syntax_Syntax.vars = - (uu___1296_8026.FStar_Syntax_Syntax.vars) - } in + (uu___1297_8026.FStar_Syntax_Syntax.vars) + } in let uu____8029 = - let uu____8030 = unparen top in uu____8030.FStar_Parser_AST.tm in + let uu____8030 = unparen top in uu____8030.FStar_Parser_AST.tm in match uu____8029 with - | FStar_Parser_AST.Wild -> ((setpos FStar_Syntax_Syntax.tun), noaqs) + | FStar_Parser_AST.Wild -> ((setpos FStar_Syntax_Syntax.tun), noaqs) | FStar_Parser_AST.Labeled uu____8035 -> - let uu____8044 = desugar_formula env top in (uu____8044, noaqs) - | FStar_Parser_AST.Requires (t, lopt) -> - let uu____8053 = desugar_formula env t in (uu____8053, noaqs) - | FStar_Parser_AST.Ensures (t, lopt) -> - let uu____8062 = desugar_formula env t in (uu____8062, noaqs) + let uu____8044 = desugar_formula env top in (uu____8044, noaqs) + | FStar_Parser_AST.Requires (t,lopt) -> + let uu____8053 = desugar_formula env t in (uu____8053, noaqs) + | FStar_Parser_AST.Ensures (t,lopt) -> + let uu____8062 = desugar_formula env t in (uu____8062, noaqs) | FStar_Parser_AST.Attributes ts -> failwith "Attributes should not be desugared by desugar_term_maybe_top" | FStar_Parser_AST.Const (FStar_Const.Const_int - (i, FStar_Pervasives_Native.Some size)) -> + (i,FStar_Pervasives_Native.Some size)) -> let uu____8089 = - desugar_machine_integer env i size top.FStar_Parser_AST.range in + desugar_machine_integer env i size top.FStar_Parser_AST.range + in (uu____8089, noaqs) | FStar_Parser_AST.Const c -> - let uu____8091 = mk1 (FStar_Syntax_Syntax.Tm_constant c) in + let uu____8091 = mk1 (FStar_Syntax_Syntax.Tm_constant c) in (uu____8091, noaqs) | FStar_Parser_AST.Op - ({ FStar_Ident.idText = "=!="; FStar_Ident.idRange = r;_}, args) + ({ FStar_Ident.idText = "=!="; FStar_Ident.idRange = r;_},args) -> let e = let uu____8100 = let uu____8101 = - let uu____8108 = FStar_Ident.mk_ident ("==", r) in - (uu____8108, args) in - FStar_Parser_AST.Op uu____8101 in + let uu____8108 = FStar_Ident.mk_ident ("==", r) in + (uu____8108, args) in + FStar_Parser_AST.Op uu____8101 in FStar_Parser_AST.mk_term uu____8100 top.FStar_Parser_AST.range - top.FStar_Parser_AST.level in + top.FStar_Parser_AST.level + in let uu____8113 = let uu____8114 = let uu____8115 = - let uu____8122 = FStar_Ident.mk_ident ("~", r) in - (uu____8122, [e]) in - FStar_Parser_AST.Op uu____8115 in + let uu____8122 = FStar_Ident.mk_ident ("~", r) in + (uu____8122, [e]) in + FStar_Parser_AST.Op uu____8115 in FStar_Parser_AST.mk_term uu____8114 top.FStar_Parser_AST.range - top.FStar_Parser_AST.level in + top.FStar_Parser_AST.level + in desugar_term_aq env uu____8113 - | FStar_Parser_AST.Op (op_star, lhs::rhs::[]) when - (let uu____8134 = FStar_Ident.text_of_id op_star in + | FStar_Parser_AST.Op (op_star,lhs::rhs::[]) when + (let uu____8134 = FStar_Ident.text_of_id op_star in uu____8134 = "*") && (let uu____8139 = op_as_term env (Prims.parse_int "2") - top.FStar_Parser_AST.range op_star in + top.FStar_Parser_AST.range op_star + in FStar_All.pipe_right uu____8139 FStar_Option.isNone) -> let rec flatten1 t = match t.FStar_Parser_AST.tm with | FStar_Parser_AST.Op ({ FStar_Ident.idText = "*"; - FStar_Ident.idRange = uu____8156;_}, - t1::t2::[]) + FStar_Ident.idRange = uu____8156;_},t1::t2::[]) when let uu____8162 = op_as_term env (Prims.parse_int "2") - top.FStar_Parser_AST.range op_star in + top.FStar_Parser_AST.range op_star + in FStar_All.pipe_right uu____8162 FStar_Option.isNone -> - let uu____8169 = flatten1 t1 in + let uu____8169 = flatten1 t1 in FStar_List.append uu____8169 [t2] - | uu____8172 -> [t] in - let terms = flatten1 lhs in + | uu____8172 -> [t] in + let terms = flatten1 lhs in let t = - let uu___1344_8177 = top in + let uu___1345_8177 = top in let uu____8178 = let uu____8179 = let uu____8190 = - FStar_List.map (fun _8201 -> FStar_Util.Inr _8201) terms in - (uu____8190, rhs) in - FStar_Parser_AST.Sum uu____8179 in + FStar_List.map (fun _8201 -> FStar_Util.Inr _8201) terms + in + (uu____8190, rhs) in + FStar_Parser_AST.Sum uu____8179 in { FStar_Parser_AST.tm = uu____8178; FStar_Parser_AST.range = - (uu___1344_8177.FStar_Parser_AST.range); + (uu___1345_8177.FStar_Parser_AST.range); FStar_Parser_AST.level = - (uu___1344_8177.FStar_Parser_AST.level) - } in + (uu___1345_8177.FStar_Parser_AST.level) + } in desugar_term_maybe_top top_level env t | FStar_Parser_AST.Tvar a -> let uu____8209 = let uu____8210 = FStar_Syntax_DsEnv.fail_or2 - (FStar_Syntax_DsEnv.try_lookup_id env) a in - FStar_All.pipe_left setpos uu____8210 in + (FStar_Syntax_DsEnv.try_lookup_id env) a + in + FStar_All.pipe_left setpos uu____8210 in (uu____8209, noaqs) | FStar_Parser_AST.Uvar u -> let uu____8216 = let uu____8222 = let uu____8224 = - let uu____8226 = FStar_Ident.text_of_id u in - Prims.op_Hat uu____8226 " in non-universe context" in - Prims.op_Hat "Unexpected universe variable " uu____8224 in - (FStar_Errors.Fatal_UnexpectedUniverseVariable, uu____8222) in + let uu____8226 = FStar_Ident.text_of_id u in + Prims.op_Hat uu____8226 " in non-universe context" in + Prims.op_Hat "Unexpected universe variable " uu____8224 in + (FStar_Errors.Fatal_UnexpectedUniverseVariable, uu____8222) in FStar_Errors.raise_error uu____8216 top.FStar_Parser_AST.range - | FStar_Parser_AST.Op (s, args) -> + | FStar_Parser_AST.Op (s,args) -> let uu____8241 = op_as_term env (FStar_List.length args) - top.FStar_Parser_AST.range s in + top.FStar_Parser_AST.range s + in (match uu____8241 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____8248 = let uu____8254 = - let uu____8256 = FStar_Ident.text_of_id s in + let uu____8256 = FStar_Ident.text_of_id s in Prims.op_Hat "Unexpected or unbound operator: " - uu____8256 in + uu____8256 + in (FStar_Errors.Fatal_UnepxectedOrUnboundOperator, - uu____8254) in + uu____8254) + in FStar_Errors.raise_error uu____8248 top.FStar_Parser_AST.range | FStar_Pervasives_Native.Some op -> @@ -2277,142 +2448,149 @@ and (desugar_term_maybe_top : let uu____8296 = FStar_All.pipe_right args (FStar_List.map - (fun t -> - let uu____8358 = desugar_term_aq env t in + (fun t -> + let uu____8358 = desugar_term_aq env t in match uu____8358 with - | (t', s1) -> - ((t', FStar_Pervasives_Native.None), s1))) in - FStar_All.pipe_right uu____8296 FStar_List.unzip in + | (t',s1) -> + ((t', FStar_Pervasives_Native.None), s1))) + in + FStar_All.pipe_right uu____8296 FStar_List.unzip in (match uu____8271 with - | (args1, aqs) -> + | (args1,aqs) -> let uu____8491 = - mk1 (FStar_Syntax_Syntax.Tm_app (op, args1)) in + mk1 (FStar_Syntax_Syntax.Tm_app (op, args1)) in (uu____8491, (join_aqs aqs))) else (op, noaqs)) - | FStar_Parser_AST.Construct (n1, (a, uu____8508)::[]) when + | FStar_Parser_AST.Construct (n1,(a,uu____8508)::[]) when n1.FStar_Ident.str = "SMTPat" -> let uu____8525 = - let uu___1373_8526 = top in + let uu___1374_8526 = top in let uu____8527 = let uu____8528 = let uu____8535 = - let uu___1375_8536 = top in + let uu___1376_8536 = top in let uu____8537 = let uu____8538 = FStar_Ident.lid_of_path ["Prims"; "smt_pat"] - top.FStar_Parser_AST.range in - FStar_Parser_AST.Var uu____8538 in + top.FStar_Parser_AST.range + in + FStar_Parser_AST.Var uu____8538 in { FStar_Parser_AST.tm = uu____8537; FStar_Parser_AST.range = - (uu___1375_8536.FStar_Parser_AST.range); + (uu___1376_8536.FStar_Parser_AST.range); FStar_Parser_AST.level = - (uu___1375_8536.FStar_Parser_AST.level) - } in - (uu____8535, a, FStar_Parser_AST.Nothing) in - FStar_Parser_AST.App uu____8528 in + (uu___1376_8536.FStar_Parser_AST.level) + } in + (uu____8535, a, FStar_Parser_AST.Nothing) in + FStar_Parser_AST.App uu____8528 in { FStar_Parser_AST.tm = uu____8527; FStar_Parser_AST.range = - (uu___1373_8526.FStar_Parser_AST.range); + (uu___1374_8526.FStar_Parser_AST.range); FStar_Parser_AST.level = - (uu___1373_8526.FStar_Parser_AST.level) - } in + (uu___1374_8526.FStar_Parser_AST.level) + } in desugar_term_maybe_top top_level env uu____8525 - | FStar_Parser_AST.Construct (n1, (a, uu____8546)::[]) when + | FStar_Parser_AST.Construct (n1,(a,uu____8546)::[]) when n1.FStar_Ident.str = "SMTPatT" -> (FStar_Errors.log_issue top.FStar_Parser_AST.range (FStar_Errors.Warning_SMTPatTDeprecated, "SMTPatT is deprecated; please just use SMTPat"); (let uu____8566 = - let uu___1385_8567 = top in + let uu___1386_8567 = top in let uu____8568 = let uu____8569 = let uu____8576 = - let uu___1387_8577 = top in + let uu___1388_8577 = top in let uu____8578 = let uu____8579 = FStar_Ident.lid_of_path ["Prims"; "smt_pat"] - top.FStar_Parser_AST.range in - FStar_Parser_AST.Var uu____8579 in + top.FStar_Parser_AST.range + in + FStar_Parser_AST.Var uu____8579 in { FStar_Parser_AST.tm = uu____8578; FStar_Parser_AST.range = - (uu___1387_8577.FStar_Parser_AST.range); + (uu___1388_8577.FStar_Parser_AST.range); FStar_Parser_AST.level = - (uu___1387_8577.FStar_Parser_AST.level) - } in - (uu____8576, a, FStar_Parser_AST.Nothing) in - FStar_Parser_AST.App uu____8569 in + (uu___1388_8577.FStar_Parser_AST.level) + } in + (uu____8576, a, FStar_Parser_AST.Nothing) in + FStar_Parser_AST.App uu____8569 in { FStar_Parser_AST.tm = uu____8568; FStar_Parser_AST.range = - (uu___1385_8567.FStar_Parser_AST.range); + (uu___1386_8567.FStar_Parser_AST.range); FStar_Parser_AST.level = - (uu___1385_8567.FStar_Parser_AST.level) - } in + (uu___1386_8567.FStar_Parser_AST.level) + } in desugar_term_maybe_top top_level env uu____8566)) - | FStar_Parser_AST.Construct (n1, (a, uu____8587)::[]) when + | FStar_Parser_AST.Construct (n1,(a,uu____8587)::[]) when n1.FStar_Ident.str = "SMTPatOr" -> let uu____8604 = - let uu___1396_8605 = top in + let uu___1397_8605 = top in let uu____8606 = let uu____8607 = let uu____8614 = - let uu___1398_8615 = top in + let uu___1399_8615 = top in let uu____8616 = let uu____8617 = FStar_Ident.lid_of_path ["Prims"; "smt_pat_or"] - top.FStar_Parser_AST.range in - FStar_Parser_AST.Var uu____8617 in + top.FStar_Parser_AST.range + in + FStar_Parser_AST.Var uu____8617 in { FStar_Parser_AST.tm = uu____8616; FStar_Parser_AST.range = - (uu___1398_8615.FStar_Parser_AST.range); + (uu___1399_8615.FStar_Parser_AST.range); FStar_Parser_AST.level = - (uu___1398_8615.FStar_Parser_AST.level) - } in - (uu____8614, a, FStar_Parser_AST.Nothing) in - FStar_Parser_AST.App uu____8607 in + (uu___1399_8615.FStar_Parser_AST.level) + } in + (uu____8614, a, FStar_Parser_AST.Nothing) in + FStar_Parser_AST.App uu____8607 in { FStar_Parser_AST.tm = uu____8606; FStar_Parser_AST.range = - (uu___1396_8605.FStar_Parser_AST.range); + (uu___1397_8605.FStar_Parser_AST.range); FStar_Parser_AST.level = - (uu___1396_8605.FStar_Parser_AST.level) - } in + (uu___1397_8605.FStar_Parser_AST.level) + } in desugar_term_maybe_top top_level env uu____8604 | FStar_Parser_AST.Name { FStar_Ident.ns = uu____8623; FStar_Ident.ident = uu____8624; FStar_Ident.nsstr = uu____8625; FStar_Ident.str = "Type0";_} -> let uu____8630 = - mk1 (FStar_Syntax_Syntax.Tm_type FStar_Syntax_Syntax.U_zero) in + mk1 (FStar_Syntax_Syntax.Tm_type FStar_Syntax_Syntax.U_zero) + in (uu____8630, noaqs) | FStar_Parser_AST.Name { FStar_Ident.ns = uu____8631; FStar_Ident.ident = uu____8632; FStar_Ident.nsstr = uu____8633; FStar_Ident.str = "Type";_} -> let uu____8638 = - mk1 (FStar_Syntax_Syntax.Tm_type FStar_Syntax_Syntax.U_unknown) in + mk1 (FStar_Syntax_Syntax.Tm_type FStar_Syntax_Syntax.U_unknown) + in (uu____8638, noaqs) | FStar_Parser_AST.Construct ({ FStar_Ident.ns = uu____8639; FStar_Ident.ident = uu____8640; FStar_Ident.nsstr = uu____8641; FStar_Ident.str = "Type";_}, - (t, FStar_Parser_AST.UnivApp)::[]) + (t,FStar_Parser_AST.UnivApp )::[]) -> let uu____8661 = let uu____8662 = - let uu____8663 = desugar_universe t in - FStar_Syntax_Syntax.Tm_type uu____8663 in - mk1 uu____8662 in + let uu____8663 = desugar_universe t in + FStar_Syntax_Syntax.Tm_type uu____8663 in + mk1 uu____8662 in (uu____8661, noaqs) | FStar_Parser_AST.Name { FStar_Ident.ns = uu____8664; FStar_Ident.ident = uu____8665; FStar_Ident.nsstr = uu____8666; FStar_Ident.str = "Effect";_} -> let uu____8671 = - mk1 (FStar_Syntax_Syntax.Tm_constant FStar_Const.Const_effect) in + mk1 (FStar_Syntax_Syntax.Tm_constant FStar_Const.Const_effect) + in (uu____8671, noaqs) | FStar_Parser_AST.Name { FStar_Ident.ns = uu____8672; FStar_Ident.ident = uu____8673; @@ -2421,10 +2599,12 @@ and (desugar_term_maybe_top : let uu____8679 = let uu____8680 = FStar_Ident.set_lid_range FStar_Parser_Const.true_lid - top.FStar_Parser_AST.range in + top.FStar_Parser_AST.range + in FStar_Syntax_Syntax.fvar uu____8680 FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (uu____8679, noaqs) | FStar_Parser_AST.Name { FStar_Ident.ns = uu____8681; FStar_Ident.ident = uu____8682; @@ -2433,148 +2613,167 @@ and (desugar_term_maybe_top : let uu____8688 = let uu____8689 = FStar_Ident.set_lid_range FStar_Parser_Const.false_lid - top.FStar_Parser_AST.range in + top.FStar_Parser_AST.range + in FStar_Syntax_Syntax.fvar uu____8689 FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (uu____8688, noaqs) | FStar_Parser_AST.Projector - (eff_name, - { FStar_Ident.idText = txt; FStar_Ident.idRange = uu____8692;_}) + (eff_name,{ FStar_Ident.idText = txt; + FStar_Ident.idRange = uu____8692;_}) when (is_special_effect_combinator txt) && (FStar_Syntax_DsEnv.is_effect_name env eff_name) -> (FStar_Syntax_DsEnv.fail_if_qualified_by_curmodule env eff_name; (let uu____8695 = - FStar_Syntax_DsEnv.try_lookup_effect_defn env eff_name in + FStar_Syntax_DsEnv.try_lookup_effect_defn env eff_name in match uu____8695 with | FStar_Pervasives_Native.Some ed -> - let lid = FStar_Syntax_Util.dm4f_lid ed txt in + let lid = FStar_Syntax_Util.dm4f_lid ed txt in let uu____8704 = FStar_Syntax_Syntax.fvar lid (FStar_Syntax_Syntax.Delta_constant_at_level - (Prims.parse_int "1")) FStar_Pervasives_Native.None in + (Prims.parse_int "1")) FStar_Pervasives_Native.None + in (uu____8704, noaqs) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____8706 = - let uu____8708 = FStar_Ident.text_of_lid eff_name in + let uu____8708 = FStar_Ident.text_of_lid eff_name in FStar_Util.format2 "Member %s of effect %s is not accessible (using an effect abbreviation instead of the original effect ?)" - uu____8708 txt in + uu____8708 txt + in failwith uu____8706)) | FStar_Parser_AST.Var l -> (FStar_Syntax_DsEnv.fail_if_qualified_by_curmodule env l; - (let uu____8717 = desugar_name mk1 setpos env true l in + (let uu____8717 = desugar_name mk1 setpos env true l in (uu____8717, noaqs))) | FStar_Parser_AST.Name l -> (FStar_Syntax_DsEnv.fail_if_qualified_by_curmodule env l; - (let uu____8726 = desugar_name mk1 setpos env true l in + (let uu____8726 = desugar_name mk1 setpos env true l in (uu____8726, noaqs))) - | FStar_Parser_AST.Projector (l, i) -> + | FStar_Parser_AST.Projector (l,i) -> (FStar_Syntax_DsEnv.fail_if_qualified_by_curmodule env l; (let name = - let uu____8744 = FStar_Syntax_DsEnv.try_lookup_datacon env l in + let uu____8744 = FStar_Syntax_DsEnv.try_lookup_datacon env l + in match uu____8744 with | FStar_Pervasives_Native.Some uu____8754 -> FStar_Pervasives_Native.Some (true, l) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____8762 = - FStar_Syntax_DsEnv.try_lookup_root_effect_name env l in + FStar_Syntax_DsEnv.try_lookup_root_effect_name env l + in (match uu____8762 with | FStar_Pervasives_Native.Some new_name -> FStar_Pervasives_Native.Some (false, new_name) - | uu____8780 -> FStar_Pervasives_Native.None) in + | uu____8780 -> FStar_Pervasives_Native.None) + in match name with - | FStar_Pervasives_Native.Some (resolve, new_name) -> + | FStar_Pervasives_Native.Some (resolve,new_name) -> let uu____8801 = let uu____8802 = FStar_Syntax_Util.mk_field_projector_name_from_ident - new_name i in - desugar_name mk1 setpos env resolve uu____8802 in + new_name i + in + desugar_name mk1 setpos env resolve uu____8802 in (uu____8801, noaqs) | uu____8808 -> let uu____8816 = let uu____8822 = FStar_Util.format1 "Data constructor or effect %s not found" - l.FStar_Ident.str in - (FStar_Errors.Fatal_EffectNotFound, uu____8822) in + l.FStar_Ident.str + in + (FStar_Errors.Fatal_EffectNotFound, uu____8822) in FStar_Errors.raise_error uu____8816 top.FStar_Parser_AST.range)) | FStar_Parser_AST.Discrim lid -> (FStar_Syntax_DsEnv.fail_if_qualified_by_curmodule env lid; - (let uu____8832 = FStar_Syntax_DsEnv.try_lookup_datacon env lid in + (let uu____8832 = FStar_Syntax_DsEnv.try_lookup_datacon env lid + in match uu____8832 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____8839 = let uu____8845 = FStar_Util.format1 "Data constructor %s not found" - lid.FStar_Ident.str in - (FStar_Errors.Fatal_DataContructorNotFound, uu____8845) in + lid.FStar_Ident.str + in + (FStar_Errors.Fatal_DataContructorNotFound, uu____8845) + in FStar_Errors.raise_error uu____8839 top.FStar_Parser_AST.range | uu____8853 -> - let lid' = FStar_Syntax_Util.mk_discriminator lid in - let uu____8857 = desugar_name mk1 setpos env true lid' in + let lid' = FStar_Syntax_Util.mk_discriminator lid in + let uu____8857 = desugar_name mk1 setpos env true lid' in (uu____8857, noaqs))) - | FStar_Parser_AST.Construct (l, args) -> + | FStar_Parser_AST.Construct (l,args) -> (FStar_Syntax_DsEnv.fail_if_qualified_by_curmodule env l; - (let uu____8879 = FStar_Syntax_DsEnv.try_lookup_datacon env l in + (let uu____8879 = FStar_Syntax_DsEnv.try_lookup_datacon env l + in match uu____8879 with | FStar_Pervasives_Native.Some head1 -> - let head2 = mk1 (FStar_Syntax_Syntax.Tm_fvar head1) in + let head2 = mk1 (FStar_Syntax_Syntax.Tm_fvar head1) in (match args with | [] -> (head2, noaqs) | uu____8898 -> let uu____8905 = FStar_Util.take - (fun uu____8929 -> + (fun uu____8929 -> match uu____8929 with - | (uu____8935, imp) -> - imp = FStar_Parser_AST.UnivApp) args in + | (uu____8935,imp) -> + imp = FStar_Parser_AST.UnivApp) args + in (match uu____8905 with - | (universes, args1) -> + | (universes,args1) -> let universes1 = FStar_List.map - (fun x -> + (fun x -> desugar_universe (FStar_Pervasives_Native.fst x)) - universes in + universes + in let uu____8980 = let uu____9005 = FStar_List.map - (fun uu____9048 -> + (fun uu____9048 -> match uu____9048 with - | (t, imp) -> + | (t,imp) -> let uu____9065 = - desugar_term_aq env t in + desugar_term_aq env t in (match uu____9065 with - | (te, aq) -> + | (te,aq) -> ((arg_withimp_e imp te), aq))) - args1 in + args1 + in FStar_All.pipe_right uu____9005 - FStar_List.unzip in + FStar_List.unzip + in (match uu____8980 with - | (args2, aqs) -> + | (args2,aqs) -> let head3 = if universes1 = [] then head2 else mk1 (FStar_Syntax_Syntax.Tm_uinst - (head2, universes1)) in + (head2, universes1)) + in let uu____9208 = mk1 (FStar_Syntax_Syntax.Tm_app - (head3, args2)) in + (head3, args2)) + in (uu____9208, (join_aqs aqs))))) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let err = let uu____9227 = - FStar_Syntax_DsEnv.try_lookup_effect_name env l in + FStar_Syntax_DsEnv.try_lookup_effect_name env l in match uu____9227 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Errors.Fatal_ConstructorNotFound, (Prims.op_Hat "Constructor " (Prims.op_Hat l.FStar_Ident.str " not found"))) @@ -2582,11 +2781,12 @@ and (desugar_term_maybe_top : (FStar_Errors.Fatal_UnexpectedEffect, (Prims.op_Hat "Effect " (Prims.op_Hat l.FStar_Ident.str - " used at an unexpected position"))) in + " used at an unexpected position"))) + in FStar_Errors.raise_error err top.FStar_Parser_AST.range)) - | FStar_Parser_AST.Sum (binders, t) when + | FStar_Parser_AST.Sum (binders,t) when FStar_Util.for_all - (fun uu___8_9266 -> + (fun uu___8_9266 -> match uu___8_9266 with | FStar_Util.Inr uu____9272 -> true | uu____9274 -> false) binders @@ -2595,236 +2795,262 @@ and (desugar_term_maybe_top : let uu____9283 = FStar_All.pipe_right binders (FStar_List.map - (fun uu___9_9300 -> + (fun uu___9_9300 -> match uu___9_9300 with | FStar_Util.Inr x -> x - | FStar_Util.Inl uu____9306 -> failwith "Impossible")) in - FStar_List.append uu____9283 [t] in + | FStar_Util.Inl uu____9306 -> failwith "Impossible")) + in + FStar_List.append uu____9283 [t] in let uu____9308 = let uu____9333 = FStar_All.pipe_right terms (FStar_List.map - (fun t1 -> - let uu____9390 = desugar_typ_aq env t1 in + (fun t1 -> + let uu____9390 = desugar_typ_aq env t1 in match uu____9390 with - | (t', aq) -> - let uu____9401 = FStar_Syntax_Syntax.as_arg t' in - (uu____9401, aq))) in - FStar_All.pipe_right uu____9333 FStar_List.unzip in + | (t',aq) -> + let uu____9401 = FStar_Syntax_Syntax.as_arg t' + in + (uu____9401, aq))) + in + FStar_All.pipe_right uu____9333 FStar_List.unzip in (match uu____9308 with - | (targs, aqs) -> + | (targs,aqs) -> let tup = let uu____9511 = FStar_Parser_Const.mk_tuple_lid - (FStar_List.length targs) top.FStar_Parser_AST.range in + (FStar_List.length targs) top.FStar_Parser_AST.range + in FStar_Syntax_DsEnv.fail_or env - (FStar_Syntax_DsEnv.try_lookup_lid env) uu____9511 in + (FStar_Syntax_DsEnv.try_lookup_lid env) uu____9511 + in let uu____9520 = - mk1 (FStar_Syntax_Syntax.Tm_app (tup, targs)) in + mk1 (FStar_Syntax_Syntax.Tm_app (tup, targs)) in (uu____9520, (join_aqs aqs))) - | FStar_Parser_AST.Sum (binders, t) -> + | FStar_Parser_AST.Sum (binders,t) -> let uu____9547 = let uu____9564 = let uu____9571 = let uu____9578 = - FStar_All.pipe_left (fun _9587 -> FStar_Util.Inl _9587) + FStar_All.pipe_left (fun _9587 -> FStar_Util.Inl _9587) (FStar_Parser_AST.mk_binder (FStar_Parser_AST.NoName t) t.FStar_Parser_AST.range FStar_Parser_AST.Type_level - FStar_Pervasives_Native.None) in - [uu____9578] in - FStar_List.append binders uu____9571 in + FStar_Pervasives_Native.None) + in + [uu____9578] in + FStar_List.append binders uu____9571 in FStar_List.fold_left - (fun uu____9632 -> - fun b -> + (fun uu____9632 -> + fun b -> match uu____9632 with - | (env1, tparams, typs) -> + | (env1,tparams,typs) -> let uu____9693 = match b with | FStar_Util.Inl b1 -> desugar_binder env1 b1 | FStar_Util.Inr t1 -> - let uu____9708 = desugar_typ env1 t1 in - (FStar_Pervasives_Native.None, uu____9708) in + let uu____9708 = desugar_typ env1 t1 in + (FStar_Pervasives_Native.None, uu____9708) + in (match uu____9693 with - | (xopt, t1) -> + | (xopt,t1) -> let uu____9733 = match xopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____9742 = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some (top.FStar_Parser_AST.range)) - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in (env1, uu____9742) | FStar_Pervasives_Native.Some x -> - FStar_Syntax_DsEnv.push_bv env1 x in + FStar_Syntax_DsEnv.push_bv env1 x + in (match uu____9733 with - | (env2, x) -> + | (env2,x) -> let uu____9762 = let uu____9765 = let uu____9768 = let uu____9769 = - no_annot_abs tparams t1 in + no_annot_abs tparams t1 in FStar_All.pipe_left FStar_Syntax_Syntax.as_arg - uu____9769 in - [uu____9768] in - FStar_List.append typs uu____9765 in + uu____9769 + in + [uu____9768] in + FStar_List.append typs uu____9765 in (env2, (FStar_List.append tparams - [(((let uu___1557_9795 = x in + [(((let uu___1558_9795 = x in { FStar_Syntax_Syntax.ppname = - (uu___1557_9795.FStar_Syntax_Syntax.ppname); + (uu___1558_9795.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1557_9795.FStar_Syntax_Syntax.index); + (uu___1558_9795.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t1 })), FStar_Pervasives_Native.None)]), - uu____9762)))) (env, [], []) uu____9564 in + uu____9762)))) (env, [], []) uu____9564 + in (match uu____9547 with - | (env1, uu____9823, targs) -> + | (env1,uu____9823,targs) -> let tup = let uu____9846 = FStar_Parser_Const.mk_dtuple_lid - (FStar_List.length targs) top.FStar_Parser_AST.range in + (FStar_List.length targs) top.FStar_Parser_AST.range + in FStar_Syntax_DsEnv.fail_or env1 - (FStar_Syntax_DsEnv.try_lookup_lid env1) uu____9846 in + (FStar_Syntax_DsEnv.try_lookup_lid env1) uu____9846 + in let uu____9847 = FStar_All.pipe_left mk1 - (FStar_Syntax_Syntax.Tm_app (tup, targs)) in + (FStar_Syntax_Syntax.Tm_app (tup, targs)) + in (uu____9847, noaqs)) - | FStar_Parser_AST.Product (binders, t) -> - let uu____9866 = uncurry binders t in + | FStar_Parser_AST.Product (binders,t) -> + let uu____9866 = uncurry binders t in (match uu____9866 with - | (bs, t1) -> + | (bs,t1) -> let rec aux env1 bs1 uu___10_9910 = match uu___10_9910 with | [] -> let cod = - desugar_comp top.FStar_Parser_AST.range true env1 t1 in + desugar_comp top.FStar_Parser_AST.range true env1 t1 + in let uu____9927 = - FStar_Syntax_Util.arrow (FStar_List.rev bs1) cod in + FStar_Syntax_Util.arrow (FStar_List.rev bs1) cod in FStar_All.pipe_left setpos uu____9927 | hd1::tl1 -> - let bb = desugar_binder env1 hd1 in + let bb = desugar_binder env1 hd1 in let uu____9951 = - as_binder env1 hd1.FStar_Parser_AST.aqual bb in + as_binder env1 hd1.FStar_Parser_AST.aqual bb in (match uu____9951 with - | (b, env2) -> aux env2 (b :: bs1) tl1) in - let uu____9984 = aux env [] bs in (uu____9984, noaqs)) - | FStar_Parser_AST.Refine (b, f) -> - let uu____9993 = desugar_binder env b in + | (b,env2) -> aux env2 (b :: bs1) tl1) + in + let uu____9984 = aux env [] bs in (uu____9984, noaqs)) + | FStar_Parser_AST.Refine (b,f) -> + let uu____9993 = desugar_binder env b in (match uu____9993 with - | (FStar_Pervasives_Native.None, uu____10004) -> + | (FStar_Pervasives_Native.None ,uu____10004) -> failwith "Missing binder in refinement" | b1 -> let uu____10019 = - as_binder env FStar_Pervasives_Native.None b1 in + as_binder env FStar_Pervasives_Native.None b1 in (match uu____10019 with - | ((x, uu____10035), env1) -> - let f1 = desugar_formula env1 f in + | ((x,uu____10035),env1) -> + let f1 = desugar_formula env1 f in let uu____10048 = - let uu____10049 = FStar_Syntax_Util.refine x f1 in - FStar_All.pipe_left setpos uu____10049 in + let uu____10049 = FStar_Syntax_Util.refine x f1 in + FStar_All.pipe_left setpos uu____10049 in (uu____10048, noaqs))) - | FStar_Parser_AST.Abs (binders, body) -> + | FStar_Parser_AST.Abs (binders,body) -> let bvss = - FStar_List.map (gather_pattern_bound_vars false) binders in + FStar_List.map (gather_pattern_bound_vars false) binders in let check_disjoint sets = let rec aux acc sets1 = match sets1 with | [] -> FStar_Pervasives_Native.None | set1::sets2 -> - let i = FStar_Util.set_intersect acc set1 in - let uu____10128 = FStar_Util.set_is_empty i in + let i = FStar_Util.set_intersect acc set1 in + let uu____10128 = FStar_Util.set_is_empty i in if uu____10128 then - let uu____10133 = FStar_Util.set_union acc set1 in + let uu____10133 = FStar_Util.set_union acc set1 in aux uu____10133 sets2 else (let uu____10138 = - let uu____10139 = FStar_Util.set_elements i in - FStar_List.hd uu____10139 in - FStar_Pervasives_Native.Some uu____10138) in - let uu____10142 = FStar_Syntax_Syntax.new_id_set () in - aux uu____10142 sets in - ((let uu____10146 = check_disjoint bvss in + let uu____10139 = FStar_Util.set_elements i in + FStar_List.hd uu____10139 in + FStar_Pervasives_Native.Some uu____10138) + in + let uu____10142 = FStar_Syntax_Syntax.new_id_set () in + aux uu____10142 sets in + ((let uu____10146 = check_disjoint bvss in match uu____10146 with - | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.None -> () | FStar_Pervasives_Native.Some id1 -> let uu____10150 = let uu____10156 = FStar_Util.format1 "Non-linear patterns are not permitted: `%s` appears more than once in this function definition." - id1.FStar_Ident.idText in + id1.FStar_Ident.idText + in (FStar_Errors.Fatal_NonLinearPatternNotPermitted, - uu____10156) in - let uu____10160 = FStar_Ident.range_of_id id1 in + uu____10156) + in + let uu____10160 = FStar_Ident.range_of_id id1 in FStar_Errors.raise_error uu____10150 uu____10160); (let binders1 = FStar_All.pipe_right binders - (FStar_List.map replace_unit_pattern) in + (FStar_List.map replace_unit_pattern) + in let uu____10168 = FStar_List.fold_left - (fun uu____10188 -> - fun pat -> + (fun uu____10188 -> + fun pat -> match uu____10188 with - | (env1, ftvs) -> + | (env1,ftvs) -> (match pat.FStar_Parser_AST.pat with | FStar_Parser_AST.PatAscribed - (uu____10214, - (t, FStar_Pervasives_Native.None)) + (uu____10214,(t,FStar_Pervasives_Native.None + )) -> let uu____10224 = - let uu____10227 = free_type_vars env1 t in - FStar_List.append uu____10227 ftvs in + let uu____10227 = free_type_vars env1 t in + FStar_List.append uu____10227 ftvs in (env1, uu____10224) | FStar_Parser_AST.PatAscribed - (uu____10232, - (t, FStar_Pervasives_Native.Some tac)) + (uu____10232,(t,FStar_Pervasives_Native.Some + tac)) -> let uu____10243 = - let uu____10246 = free_type_vars env1 t in + let uu____10246 = free_type_vars env1 t in let uu____10249 = - let uu____10252 = free_type_vars env1 tac in - FStar_List.append uu____10252 ftvs in - FStar_List.append uu____10246 uu____10249 in + let uu____10252 = free_type_vars env1 tac + in + FStar_List.append uu____10252 ftvs in + FStar_List.append uu____10246 uu____10249 + in (env1, uu____10243) | uu____10257 -> (env1, ftvs))) (env, []) - binders1 in + binders1 + in match uu____10168 with - | (uu____10266, ftv) -> - let ftv1 = sort_ftv ftv in + | (uu____10266,ftv) -> + let ftv1 = sort_ftv ftv in let binders2 = let uu____10278 = FStar_All.pipe_right ftv1 (FStar_List.map - (fun a -> + (fun a -> FStar_Parser_AST.mk_pattern (FStar_Parser_AST.PatTvar (a, (FStar_Pervasives_Native.Some FStar_Parser_AST.Implicit))) - top.FStar_Parser_AST.range)) in - FStar_List.append uu____10278 binders1 in + top.FStar_Parser_AST.range)) + in + FStar_List.append uu____10278 binders1 in let rec aux env1 bs sc_pat_opt uu___11_10335 = match uu___11_10335 with | [] -> - let uu____10362 = desugar_term_aq env1 body in + let uu____10362 = desugar_term_aq env1 body in (match uu____10362 with - | (body1, aq) -> + | (body1,aq) -> let body2 = match sc_pat_opt with - | FStar_Pervasives_Native.Some (sc, pat) -> + | FStar_Pervasives_Native.Some (sc,pat) -> let body2 = let uu____10399 = let uu____10400 = - FStar_Syntax_Syntax.pat_bvs pat in + FStar_Syntax_Syntax.pat_bvs pat in FStar_All.pipe_right uu____10400 (FStar_List.map - FStar_Syntax_Syntax.mk_binder) in + FStar_Syntax_Syntax.mk_binder) + in FStar_Syntax_Subst.close uu____10399 - body1 in + body1 + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_match (sc, @@ -2833,61 +3059,65 @@ and (desugar_term_maybe_top : body2)])) FStar_Pervasives_Native.None body2.FStar_Syntax_Syntax.pos - | FStar_Pervasives_Native.None -> body1 in + | FStar_Pervasives_Native.None -> body1 in let uu____10469 = let uu____10472 = - no_annot_abs (FStar_List.rev bs) body2 in - setpos uu____10472 in + no_annot_abs (FStar_List.rev bs) body2 in + setpos uu____10472 in (uu____10469, aq)) | p::rest -> - let uu____10487 = desugar_binding_pat env1 p in + let uu____10487 = desugar_binding_pat env1 p in (match uu____10487 with - | (env2, b, pat) -> + | (env2,b,pat) -> let pat1 = match pat with | [] -> FStar_Pervasives_Native.None - | (p1, uu____10521)::[] -> + | (p1,uu____10521)::[] -> FStar_Pervasives_Native.Some p1 | uu____10536 -> FStar_Errors.raise_error (FStar_Errors.Fatal_UnsupportedDisjuctivePatterns, "Disjunctive patterns are not supported in abstractions") - p.FStar_Parser_AST.prange in + p.FStar_Parser_AST.prange + in let uu____10545 = match b with | LetBinder uu____10586 -> failwith "Impossible" - | LocalBinder (x, aq) -> + | LocalBinder (x,aq) -> let sc_pat_opt1 = match (pat1, sc_pat_opt) with - | (FStar_Pervasives_Native.None, - uu____10655) -> sc_pat_opt - | (FStar_Pervasives_Native.Some p1, - FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.None + ,uu____10655) -> sc_pat_opt + | (FStar_Pervasives_Native.Some + p1,FStar_Pervasives_Native.None ) -> let uu____10709 = let uu____10718 = - FStar_Syntax_Syntax.bv_to_name x in - (uu____10718, p1) in + FStar_Syntax_Syntax.bv_to_name x + in + (uu____10718, p1) in FStar_Pervasives_Native.Some uu____10709 - | (FStar_Pervasives_Native.Some p1, - FStar_Pervasives_Native.Some - (sc, p')) -> + | (FStar_Pervasives_Native.Some + p1,FStar_Pervasives_Native.Some + (sc,p')) -> (match ((sc.FStar_Syntax_Syntax.n), (p'.FStar_Syntax_Syntax.v)) with | (FStar_Syntax_Syntax.Tm_name - uu____10780, uu____10781) -> + uu____10780,uu____10781) -> let tup2 = let uu____10783 = FStar_Parser_Const.mk_tuple_data_lid (Prims.parse_int "2") - top.FStar_Parser_AST.range in + top.FStar_Parser_AST.range + in FStar_Syntax_Syntax.lid_as_fv uu____10783 FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some - FStar_Syntax_Syntax.Data_ctor) in + FStar_Syntax_Syntax.Data_ctor) + in let sc1 = let uu____10788 = let uu____10795 = @@ -2895,162 +3125,192 @@ and (desugar_term_maybe_top : let uu____10813 = mk1 (FStar_Syntax_Syntax.Tm_fvar - tup2) in + tup2) + in let uu____10816 = let uu____10827 = FStar_Syntax_Syntax.as_arg - sc in + sc + in let uu____10836 = let uu____10847 = let uu____10856 = FStar_Syntax_Syntax.bv_to_name - x in + x + in FStar_All.pipe_left FStar_Syntax_Syntax.as_arg - uu____10856 in - [uu____10847] in + uu____10856 + in + [uu____10847] in uu____10827 :: - uu____10836 in + uu____10836 + in (uu____10813, - uu____10816) in + uu____10816) + in FStar_Syntax_Syntax.Tm_app - uu____10796 in + uu____10796 + in FStar_Syntax_Syntax.mk - uu____10795 in + uu____10795 + in uu____10788 FStar_Pervasives_Native.None - top.FStar_Parser_AST.range in + top.FStar_Parser_AST.range + in let p2 = let uu____10904 = FStar_Range.union_ranges p'.FStar_Syntax_Syntax.p - p1.FStar_Syntax_Syntax.p in + p1.FStar_Syntax_Syntax.p + in FStar_Syntax_Syntax.withinfo (FStar_Syntax_Syntax.Pat_cons (tup2, [(p', false); (p1, false)])) - uu____10904 in + uu____10904 + in FStar_Pervasives_Native.Some (sc1, p2) | (FStar_Syntax_Syntax.Tm_app - (uu____10955, args), - FStar_Syntax_Syntax.Pat_cons - (uu____10957, pats)) -> + (uu____10955,args),FStar_Syntax_Syntax.Pat_cons + (uu____10957,pats)) -> let tupn = let uu____11002 = FStar_Parser_Const.mk_tuple_data_lid ((Prims.parse_int "1") + (FStar_List.length args)) - top.FStar_Parser_AST.range in + top.FStar_Parser_AST.range + in FStar_Syntax_Syntax.lid_as_fv uu____11002 FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some - FStar_Syntax_Syntax.Data_ctor) in + FStar_Syntax_Syntax.Data_ctor) + in let sc1 = let uu____11015 = let uu____11016 = let uu____11033 = mk1 (FStar_Syntax_Syntax.Tm_fvar - tupn) in + tupn) + in let uu____11036 = let uu____11047 = let uu____11058 = let uu____11067 = FStar_Syntax_Syntax.bv_to_name - x in + x + in FStar_All.pipe_left FStar_Syntax_Syntax.as_arg - uu____11067 in - [uu____11058] in + uu____11067 + in + [uu____11058] in FStar_List.append args - uu____11047 in + uu____11047 + in (uu____11033, - uu____11036) in + uu____11036) + in FStar_Syntax_Syntax.Tm_app - uu____11016 in - mk1 uu____11015 in + uu____11016 + in + mk1 uu____11015 in let p2 = let uu____11115 = FStar_Range.union_ranges p'.FStar_Syntax_Syntax.p - p1.FStar_Syntax_Syntax.p in + p1.FStar_Syntax_Syntax.p + in FStar_Syntax_Syntax.withinfo (FStar_Syntax_Syntax.Pat_cons (tupn, (FStar_List.append pats [(p1, false)]))) - uu____11115 in + uu____11115 + in FStar_Pervasives_Native.Some (sc1, p2) | uu____11162 -> - failwith "Impossible") in - ((x, aq), sc_pat_opt1) in + failwith "Impossible") + in + ((x, aq), sc_pat_opt1) + in (match uu____10545 with - | (b1, sc_pat_opt1) -> - aux env2 (b1 :: bs) sc_pat_opt1 rest)) in + | (b1,sc_pat_opt1) -> + aux env2 (b1 :: bs) sc_pat_opt1 rest)) + in aux env [] FStar_Pervasives_Native.None binders2)) | FStar_Parser_AST.App - (uu____11256, uu____11257, FStar_Parser_AST.UnivApp) -> + (uu____11256,uu____11257,FStar_Parser_AST.UnivApp ) -> let rec aux universes e = let uu____11279 = - let uu____11280 = unparen e in - uu____11280.FStar_Parser_AST.tm in + let uu____11280 = unparen e in + uu____11280.FStar_Parser_AST.tm in match uu____11279 with - | FStar_Parser_AST.App (e1, t, FStar_Parser_AST.UnivApp) -> - let univ_arg = desugar_universe t in + | FStar_Parser_AST.App (e1,t,FStar_Parser_AST.UnivApp ) -> + let univ_arg = desugar_universe t in aux (univ_arg :: universes) e1 | uu____11290 -> - let uu____11291 = desugar_term_aq env e in + let uu____11291 = desugar_term_aq env e in (match uu____11291 with - | (head1, aq) -> + | (head1,aq) -> let uu____11304 = mk1 - (FStar_Syntax_Syntax.Tm_uinst (head1, universes)) in - (uu____11304, aq)) in + (FStar_Syntax_Syntax.Tm_uinst (head1, universes)) + in + (uu____11304, aq)) + in aux [] top | FStar_Parser_AST.App uu____11311 -> let rec aux args aqs e = let uu____11388 = - let uu____11389 = unparen e in - uu____11389.FStar_Parser_AST.tm in + let uu____11389 = unparen e in + uu____11389.FStar_Parser_AST.tm in match uu____11388 with - | FStar_Parser_AST.App (e1, t, imp) when + | FStar_Parser_AST.App (e1,t,imp) when imp <> FStar_Parser_AST.UnivApp -> - let uu____11407 = desugar_term_aq env t in + let uu____11407 = desugar_term_aq env t in (match uu____11407 with - | (t1, aq) -> - let arg = arg_withimp_e imp t1 in + | (t1,aq) -> + let arg = arg_withimp_e imp t1 in aux (arg :: args) (aq :: aqs) e1) | uu____11455 -> - let uu____11456 = desugar_term_aq env e in + let uu____11456 = desugar_term_aq env e in (match uu____11456 with - | (head1, aq) -> + | (head1,aq) -> let uu____11477 = - mk1 (FStar_Syntax_Syntax.Tm_app (head1, args)) in - (uu____11477, (join_aqs (aq :: aqs)))) in + mk1 (FStar_Syntax_Syntax.Tm_app (head1, args)) in + (uu____11477, (join_aqs (aq :: aqs)))) + in aux [] [] top - | FStar_Parser_AST.Bind (x, t1, t2) -> + | FStar_Parser_AST.Bind (x,t1,t2) -> let xpat = FStar_Parser_AST.mk_pattern (FStar_Parser_AST.PatVar (x, FStar_Pervasives_Native.None)) - x.FStar_Ident.idRange in + x.FStar_Ident.idRange + in let k = FStar_Parser_AST.mk_term (FStar_Parser_AST.Abs ([xpat], t2)) - t2.FStar_Parser_AST.range t2.FStar_Parser_AST.level in + t2.FStar_Parser_AST.range t2.FStar_Parser_AST.level + in let bind_lid = - FStar_Ident.lid_of_path ["bind"] x.FStar_Ident.idRange in + FStar_Ident.lid_of_path ["bind"] x.FStar_Ident.idRange in let bind1 = FStar_Parser_AST.mk_term (FStar_Parser_AST.Var bind_lid) - x.FStar_Ident.idRange FStar_Parser_AST.Expr in + x.FStar_Ident.idRange FStar_Parser_AST.Expr + in let uu____11540 = FStar_Parser_AST.mkExplicitApp bind1 [t1; k] - top.FStar_Parser_AST.range in + top.FStar_Parser_AST.range + in desugar_term_aq env uu____11540 - | FStar_Parser_AST.Seq (t1, t2) -> + | FStar_Parser_AST.Seq (t1,t2) -> let t = FStar_Parser_AST.mk_term (FStar_Parser_AST.Let @@ -3060,44 +3320,47 @@ and (desugar_term_maybe_top : (FStar_Parser_AST.PatWild FStar_Pervasives_Native.None) t1.FStar_Parser_AST.range), t1))], t2)) - top.FStar_Parser_AST.range FStar_Parser_AST.Expr in - let uu____11592 = desugar_term_aq env t in + top.FStar_Parser_AST.range FStar_Parser_AST.Expr + in + let uu____11592 = desugar_term_aq env t in (match uu____11592 with - | (tm, s) -> + | (tm,s) -> let uu____11603 = mk1 (FStar_Syntax_Syntax.Tm_meta (tm, (FStar_Syntax_Syntax.Meta_desugared - FStar_Syntax_Syntax.Sequence))) in + FStar_Syntax_Syntax.Sequence))) + in (uu____11603, s)) - | FStar_Parser_AST.LetOpen (lid, e) -> - let env1 = FStar_Syntax_DsEnv.push_namespace env lid in + | FStar_Parser_AST.LetOpen (lid,e) -> + let env1 = FStar_Syntax_DsEnv.push_namespace env lid in let uu____11609 = - let uu____11622 = FStar_Syntax_DsEnv.expect_typ env1 in - if uu____11622 then desugar_typ_aq else desugar_term_aq in + let uu____11622 = FStar_Syntax_DsEnv.expect_typ env1 in + if uu____11622 then desugar_typ_aq else desugar_term_aq in uu____11609 env1 e - | FStar_Parser_AST.Let (qual, lbs, body) -> - let is_rec = qual = FStar_Parser_AST.Rec in + | FStar_Parser_AST.Let (qual,lbs,body) -> + let is_rec = qual = FStar_Parser_AST.Rec in let ds_let_rec_or_app uu____11681 = - let bindings = lbs in + let bindings = lbs in let funs = FStar_All.pipe_right bindings (FStar_List.map - (fun uu____11824 -> + (fun uu____11824 -> match uu____11824 with - | (attr_opt, (p, def)) -> - let uu____11882 = is_app_pattern p in + | (attr_opt,(p,def)) -> + let uu____11882 = is_app_pattern p in if uu____11882 then let uu____11915 = - destruct_app_pattern env top_level p in + destruct_app_pattern env top_level p in (attr_opt, uu____11915, def) else (match FStar_Parser_AST.un_function p def with - | FStar_Pervasives_Native.Some (p1, def1) -> + | FStar_Pervasives_Native.Some (p1,def1) -> let uu____11998 = - destruct_app_pattern env top_level p1 in + destruct_app_pattern env top_level p1 + in (attr_opt, uu____11998, def1) | uu____12043 -> (match p.FStar_Parser_AST.pat with @@ -3105,10 +3368,9 @@ and (desugar_term_maybe_top : ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatVar - (id1, uu____12081); + (id1,uu____12081); FStar_Parser_AST.prange = - uu____12082;_}, - t) + uu____12082;_},t) -> if top_level then @@ -3116,10 +3378,12 @@ and (desugar_term_maybe_top : let uu____12152 = let uu____12157 = FStar_Syntax_DsEnv.qualify - env id1 in - FStar_Util.Inr uu____12157 in + env id1 + in + FStar_Util.Inr uu____12157 in (uu____12152, [], - (FStar_Pervasives_Native.Some t)) in + (FStar_Pervasives_Native.Some t)) + in (attr_opt, uu____12131, def) else (attr_opt, @@ -3127,17 +3391,19 @@ and (desugar_term_maybe_top : (FStar_Pervasives_Native.Some t)), def) | FStar_Parser_AST.PatVar - (id1, uu____12249) -> + (id1,uu____12249) -> if top_level then let uu____12285 = let uu____12306 = let uu____12311 = FStar_Syntax_DsEnv.qualify - env id1 in - FStar_Util.Inr uu____12311 in + env id1 + in + FStar_Util.Inr uu____12311 in (uu____12306, [], - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in (attr_opt, uu____12285, def) else (attr_opt, @@ -3148,67 +3414,73 @@ and (desugar_term_maybe_top : FStar_Errors.raise_error (FStar_Errors.Fatal_UnexpectedLetBinding, "Unexpected let binding") - p.FStar_Parser_AST.prange)))) in + p.FStar_Parser_AST.prange)))) + in let uu____12435 = FStar_List.fold_left - (fun uu____12508 -> - fun uu____12509 -> + (fun uu____12508 -> + fun uu____12509 -> match (uu____12508, uu____12509) with - | ((env1, fnames, rec_bindings), - (_attr_opt, (f, uu____12617, uu____12618), - uu____12619)) -> + | ((env1,fnames,rec_bindings),(_attr_opt,(f,uu____12617,uu____12618),uu____12619)) + -> let uu____12736 = match f with | FStar_Util.Inl x -> let uu____12762 = - FStar_Syntax_DsEnv.push_bv env1 x in + FStar_Syntax_DsEnv.push_bv env1 x in (match uu____12762 with - | (env2, xx) -> + | (env2,xx) -> let uu____12781 = let uu____12784 = - FStar_Syntax_Syntax.mk_binder xx in - uu____12784 :: rec_bindings in + FStar_Syntax_Syntax.mk_binder xx + in + uu____12784 :: rec_bindings in (env2, (FStar_Util.Inl xx), uu____12781)) | FStar_Util.Inr l -> let uu____12792 = FStar_Syntax_DsEnv.push_top_level_rec_binding env1 l.FStar_Ident.ident - FStar_Syntax_Syntax.delta_equational in + FStar_Syntax_Syntax.delta_equational + in (uu____12792, (FStar_Util.Inr l), - rec_bindings) in + rec_bindings) + in (match uu____12736 with - | (env2, lbname, rec_bindings1) -> + | (env2,lbname,rec_bindings1) -> (env2, (lbname :: fnames), rec_bindings1))) - (env, [], []) funs in + (env, [], []) funs + in match uu____12435 with - | (env', fnames, rec_bindings) -> - let fnames1 = FStar_List.rev fnames in - let rec_bindings1 = FStar_List.rev rec_bindings in + | (env',fnames,rec_bindings) -> + let fnames1 = FStar_List.rev fnames in + let rec_bindings1 = FStar_List.rev rec_bindings in let desugar_one_def env1 lbname uu____12940 = match uu____12940 with - | (attrs_opt, (uu____12976, args, result_t), def) -> + | (attrs_opt,(uu____12976,args,result_t),def) -> let args1 = FStar_All.pipe_right args - (FStar_List.map replace_unit_pattern) in - let pos = def.FStar_Parser_AST.range in + (FStar_List.map replace_unit_pattern) + in + let pos = def.FStar_Parser_AST.range in let def1 = match result_t with - | FStar_Pervasives_Native.None -> def - | FStar_Pervasives_Native.Some (t, tacopt) -> + | FStar_Pervasives_Native.None -> def + | FStar_Pervasives_Native.Some (t,tacopt) -> let t1 = - let uu____13064 = is_comp_type env1 t in + let uu____13064 = is_comp_type env1 t in if uu____13064 then ((let uu____13068 = FStar_All.pipe_right args1 (FStar_List.tryFind - (fun x -> + (fun x -> let uu____13078 = - is_var_pattern x in - Prims.op_Negation uu____13078)) in + is_var_pattern x in + Prims.op_Negation uu____13078)) + in match uu____13068 with - | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.None -> () | FStar_Pervasives_Native.Some p -> FStar_Errors.raise_error (FStar_Errors.Fatal_ComputationTypeNotAllowed, @@ -3221,19 +3493,23 @@ and (desugar_term_maybe_top : (let uu____13088 = FStar_Syntax_DsEnv.try_lookup_effect_name env1 - FStar_Parser_Const.effect_ML_lid in + FStar_Parser_Const.effect_ML_lid + in FStar_Option.isSome uu____13088)) && ((Prims.op_Negation is_rec) || ((FStar_List.length args1) <> - (Prims.parse_int "0"))) in + (Prims.parse_int "0"))) + in if uu____13085 then FStar_Parser_AST.ml_comp t - else FStar_Parser_AST.tot_comp t) in + else FStar_Parser_AST.tot_comp t) + in FStar_Parser_AST.mk_term (FStar_Parser_AST.Ascribed (def, t1, tacopt)) def.FStar_Parser_AST.range - FStar_Parser_AST.Expr in + FStar_Parser_AST.Expr + in let def2 = match args1 with | [] -> def1 @@ -3241,8 +3517,9 @@ and (desugar_term_maybe_top : FStar_Parser_AST.mk_term (FStar_Parser_AST.un_curry_abs args1 def1) top.FStar_Parser_AST.range - top.FStar_Parser_AST.level in - let body1 = desugar_term env1 def2 in + top.FStar_Parser_AST.level + in + let body1 = desugar_term env1 def2 in let lbname1 = match lbname with | FStar_Util.Inl x -> FStar_Util.Inl x @@ -3250,60 +3527,71 @@ and (desugar_term_maybe_top : let uu____13114 = let uu____13115 = FStar_Syntax_Util.incr_delta_qualifier - body1 in + body1 + in FStar_Syntax_Syntax.lid_as_fv l uu____13115 - FStar_Pervasives_Native.None in - FStar_Util.Inr uu____13114 in + FStar_Pervasives_Native.None + in + FStar_Util.Inr uu____13114 + in let body2 = if is_rec then FStar_Syntax_Subst.close rec_bindings1 body1 - else body1 in + else body1 in let attrs = match attrs_opt with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some l -> - FStar_List.map (desugar_term env1) l in + FStar_List.map (desugar_term env1) l + in mk_lb (attrs, lbname1, FStar_Syntax_Syntax.tun, body2, - pos) in + pos) + in let lbs1 = FStar_List.map2 (desugar_one_def (if is_rec then env' else env)) - fnames1 funs in - let uu____13196 = desugar_term_aq env' body in + fnames1 funs + in + let uu____13196 = desugar_term_aq env' body in (match uu____13196 with - | (body1, aq) -> + | (body1,aq) -> let uu____13209 = let uu____13212 = let uu____13213 = let uu____13227 = - FStar_Syntax_Subst.close rec_bindings1 body1 in - ((is_rec, lbs1), uu____13227) in - FStar_Syntax_Syntax.Tm_let uu____13213 in - FStar_All.pipe_left mk1 uu____13212 in - (uu____13209, aq)) in + FStar_Syntax_Subst.close rec_bindings1 body1 + in + ((is_rec, lbs1), uu____13227) in + FStar_Syntax_Syntax.Tm_let uu____13213 in + FStar_All.pipe_left mk1 uu____13212 in + (uu____13209, aq)) + in let ds_non_rec attrs_opt pat t1 t2 = let attrs = match attrs_opt with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some l -> - FStar_List.map (desugar_term env) l in - let t11 = desugar_term env t1 in + FStar_List.map (desugar_term env) l + in + let t11 = desugar_term env t1 in let uu____13302 = - desugar_binding_pat_maybe_top top_level env pat in + desugar_binding_pat_maybe_top top_level env pat in match uu____13302 with - | (env1, binder, pat1) -> + | (env1,binder,pat1) -> let uu____13324 = match binder with - | LetBinder (l, (t, _tacopt)) -> - let uu____13350 = desugar_term_aq env1 t2 in + | LetBinder (l,(t,_tacopt)) -> + let uu____13350 = desugar_term_aq env1 t2 in (match uu____13350 with - | (body1, aq) -> + | (body1,aq) -> let fv = let uu____13364 = - FStar_Syntax_Util.incr_delta_qualifier t11 in + FStar_Syntax_Util.incr_delta_qualifier t11 + in FStar_Syntax_Syntax.lid_as_fv l uu____13364 - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let uu____13365 = FStar_All.pipe_left mk1 (FStar_Syntax_Syntax.Tm_let @@ -3312,12 +3600,13 @@ and (desugar_term_maybe_top : (attrs, (FStar_Util.Inr fv), t, t11, (t11.FStar_Syntax_Syntax.pos))]), - body1)) in + body1)) + in (uu____13365, aq)) - | LocalBinder (x, uu____13398) -> - let uu____13399 = desugar_term_aq env1 t2 in + | LocalBinder (x,uu____13398) -> + let uu____13399 = desugar_term_aq env1 t2 in (match uu____13399 with - | (body1, aq) -> + | (body1,aq) -> let body2 = match pat1 with | [] -> body1 @@ -3325,73 +3614,83 @@ and (desugar_term_maybe_top : FStar_Syntax_Syntax.v = FStar_Syntax_Syntax.Pat_wild uu____13413; - FStar_Syntax_Syntax.p = uu____13414;_}, - uu____13415)::[] -> body1 + FStar_Syntax_Syntax.p = uu____13414;_},uu____13415)::[] + -> body1 | uu____13428 -> let uu____13431 = let uu____13438 = let uu____13439 = let uu____13462 = - FStar_Syntax_Syntax.bv_to_name x in + FStar_Syntax_Syntax.bv_to_name x + in let uu____13465 = desugar_disjunctive_pattern pat1 FStar_Pervasives_Native.None - body1 in - (uu____13462, uu____13465) in + body1 + in + (uu____13462, uu____13465) in FStar_Syntax_Syntax.Tm_match - uu____13439 in - FStar_Syntax_Syntax.mk uu____13438 in + uu____13439 + in + FStar_Syntax_Syntax.mk uu____13438 in uu____13431 FStar_Pervasives_Native.None - top.FStar_Parser_AST.range in + top.FStar_Parser_AST.range + in let uu____13502 = let uu____13505 = let uu____13506 = let uu____13520 = let uu____13523 = let uu____13524 = - FStar_Syntax_Syntax.mk_binder x in - [uu____13524] in + FStar_Syntax_Syntax.mk_binder x in + [uu____13524] in FStar_Syntax_Subst.close uu____13523 - body2 in + body2 + in ((false, [mk_lb (attrs, (FStar_Util.Inl x), (x.FStar_Syntax_Syntax.sort), t11, (t11.FStar_Syntax_Syntax.pos))]), - uu____13520) in - FStar_Syntax_Syntax.Tm_let uu____13506 in - FStar_All.pipe_left mk1 uu____13505 in - (uu____13502, aq)) in - (match uu____13324 with | (tm, aq) -> (tm, aq)) in - let uu____13586 = FStar_List.hd lbs in + uu____13520) + in + FStar_Syntax_Syntax.Tm_let uu____13506 in + FStar_All.pipe_left mk1 uu____13505 in + (uu____13502, aq)) + in + (match uu____13324 with | (tm,aq) -> (tm, aq)) + in + let uu____13586 = FStar_List.hd lbs in (match uu____13586 with - | (attrs, (head_pat, defn)) -> - let uu____13630 = is_rec || (is_app_pattern head_pat) in + | (attrs,(head_pat,defn)) -> + let uu____13630 = is_rec || (is_app_pattern head_pat) in if uu____13630 then ds_let_rec_or_app () else ds_non_rec attrs head_pat defn body) - | FStar_Parser_AST.If (t1, t2, t3) -> + | FStar_Parser_AST.If (t1,t2,t3) -> let x = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some (t3.FStar_Parser_AST.range)) - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let t_bool1 = let uu____13646 = let uu____13647 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.bool_lid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.Tm_fvar uu____13647 in - mk1 uu____13646 in - let uu____13648 = desugar_term_aq env t1 in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.Tm_fvar uu____13647 in + mk1 uu____13646 in + let uu____13648 = desugar_term_aq env t1 in (match uu____13648 with - | (t1', aq1) -> - let uu____13659 = desugar_term_aq env t2 in + | (t1',aq1) -> + let uu____13659 = desugar_term_aq env t2 in (match uu____13659 with - | (t2', aq2) -> - let uu____13670 = desugar_term_aq env t3 in + | (t2',aq2) -> + let uu____13670 = desugar_term_aq env t3 in (match uu____13670 with - | (t3', aq3) -> + | (t3',aq3) -> let uu____13681 = let uu____13682 = let uu____13683 = @@ -3401,187 +3700,217 @@ and (desugar_term_maybe_top : FStar_Syntax_Syntax.withinfo (FStar_Syntax_Syntax.Pat_constant (FStar_Const.Const_bool true)) - t2.FStar_Parser_AST.range in + t1.FStar_Parser_AST.range + in (uu____13738, - FStar_Pervasives_Native.None, t2') in + FStar_Pervasives_Native.None, t2') + in let uu____13752 = let uu____13769 = let uu____13784 = FStar_Syntax_Syntax.withinfo (FStar_Syntax_Syntax.Pat_wild x) - t3.FStar_Parser_AST.range in + t1.FStar_Parser_AST.range + in (uu____13784, - FStar_Pervasives_Native.None, t3') in - [uu____13769] in - uu____13723 :: uu____13752 in - (t1', uu____13706) in - FStar_Syntax_Syntax.Tm_match uu____13683 in - mk1 uu____13682 in + FStar_Pervasives_Native.None, t3') + in + [uu____13769] in + uu____13723 :: uu____13752 in + (t1', uu____13706) in + FStar_Syntax_Syntax.Tm_match uu____13683 in + mk1 uu____13682 in (uu____13681, (join_aqs [aq1; aq2; aq3]))))) - | FStar_Parser_AST.TryWith (e, branches) -> - let r = top.FStar_Parser_AST.range in - let handler = FStar_Parser_AST.mk_function branches r r in + | FStar_Parser_AST.TryWith (e,branches) -> + let r = top.FStar_Parser_AST.range in + let handler = FStar_Parser_AST.mk_function branches r r in let body = FStar_Parser_AST.mk_function [((FStar_Parser_AST.mk_pattern (FStar_Parser_AST.PatConst FStar_Const.Const_unit) r), - FStar_Pervasives_Native.None, e)] r r in - let try_with_lid1 = FStar_Ident.lid_of_path ["try_with"] r in + FStar_Pervasives_Native.None, e)] r r + in + let try_with_lid1 = FStar_Ident.lid_of_path ["try_with"] r in let try_with1 = FStar_Parser_AST.mk_term (FStar_Parser_AST.Var try_with_lid1) r - FStar_Parser_AST.Expr in + FStar_Parser_AST.Expr + in let a1 = FStar_Parser_AST.mk_term (FStar_Parser_AST.App (try_with1, body, FStar_Parser_AST.Nothing)) r - top.FStar_Parser_AST.level in + top.FStar_Parser_AST.level + in let a2 = FStar_Parser_AST.mk_term (FStar_Parser_AST.App (a1, handler, FStar_Parser_AST.Nothing)) - r top.FStar_Parser_AST.level in + r top.FStar_Parser_AST.level + in desugar_term_aq env a2 - | FStar_Parser_AST.Match (e, branches) -> + | FStar_Parser_AST.Match (e,branches) -> let desugar_branch uu____13980 = match uu____13980 with - | (pat, wopt, b) -> - let uu____14002 = desugar_match_pat env pat in + | (pat,wopt,b) -> + let uu____14002 = desugar_match_pat env pat in (match uu____14002 with - | (env1, pat1) -> + | (env1,pat1) -> let wopt1 = match wopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some e1 -> - let uu____14033 = desugar_term env1 e1 in - FStar_Pervasives_Native.Some uu____14033 in - let uu____14038 = desugar_term_aq env1 b in + let uu____14033 = desugar_term env1 e1 in + FStar_Pervasives_Native.Some uu____14033 + in + let uu____14038 = desugar_term_aq env1 b in (match uu____14038 with - | (b1, aq) -> + | (b1,aq) -> let uu____14051 = - desugar_disjunctive_pattern pat1 wopt1 b1 in - (uu____14051, aq))) in - let uu____14056 = desugar_term_aq env e in + desugar_disjunctive_pattern pat1 wopt1 b1 in + (uu____14051, aq))) + in + let uu____14056 = desugar_term_aq env e in (match uu____14056 with - | (e1, aq) -> + | (e1,aq) -> let uu____14067 = let uu____14098 = - let uu____14131 = FStar_List.map desugar_branch branches in - FStar_All.pipe_right uu____14131 FStar_List.unzip in + let uu____14131 = FStar_List.map desugar_branch branches + in + FStar_All.pipe_right uu____14131 FStar_List.unzip in FStar_All.pipe_right uu____14098 - (fun uu____14349 -> + (fun uu____14349 -> match uu____14349 with - | (x, y) -> ((FStar_List.flatten x), y)) in + | (x,y) -> ((FStar_List.flatten x), y)) + in (match uu____14067 with - | (brs, aqs) -> + | (brs,aqs) -> let uu____14568 = FStar_All.pipe_left mk1 - (FStar_Syntax_Syntax.Tm_match (e1, brs)) in + (FStar_Syntax_Syntax.Tm_match (e1, brs)) + in (uu____14568, (join_aqs (aq :: aqs))))) - | FStar_Parser_AST.Ascribed (e, t, tac_opt) -> + | FStar_Parser_AST.Ascribed (e,t,tac_opt) -> let uu____14602 = - let uu____14623 = is_comp_type env t in + let uu____14623 = is_comp_type env t in if uu____14623 then - let comp = desugar_comp t.FStar_Parser_AST.range true env t in + let comp = desugar_comp t.FStar_Parser_AST.range true env t + in ((FStar_Util.Inr comp), []) else - (let uu____14678 = desugar_term_aq env t in + (let uu____14678 = desugar_term_aq env t in match uu____14678 with - | (tm, aq) -> ((FStar_Util.Inl tm), aq)) in + | (tm,aq) -> ((FStar_Util.Inl tm), aq)) + in (match uu____14602 with - | (annot, aq0) -> - let tac_opt1 = FStar_Util.map_opt tac_opt (desugar_term env) in - let uu____14770 = desugar_term_aq env e in + | (annot,aq0) -> + let tac_opt1 = FStar_Util.map_opt tac_opt (desugar_term env) + in + let uu____14770 = desugar_term_aq env e in (match uu____14770 with - | (e1, aq) -> + | (e1,aq) -> let uu____14781 = FStar_All.pipe_left mk1 (FStar_Syntax_Syntax.Tm_ascribed (e1, (annot, tac_opt1), - FStar_Pervasives_Native.None)) in + FStar_Pervasives_Native.None)) + in (uu____14781, (FStar_List.append aq0 aq)))) - | FStar_Parser_AST.Record (uu____14820, []) -> + | FStar_Parser_AST.Record (uu____14820,[]) -> FStar_Errors.raise_error (FStar_Errors.Fatal_UnexpectedEmptyRecord, "Unexpected empty record") top.FStar_Parser_AST.range - | FStar_Parser_AST.Record (eopt, fields) -> - let record = check_fields env fields top.FStar_Parser_AST.range in + | FStar_Parser_AST.Record (eopt,fields) -> + let record = check_fields env fields top.FStar_Parser_AST.range + in let user_ns = - let uu____14863 = FStar_List.hd fields in - match uu____14863 with | (f, uu____14875) -> f.FStar_Ident.ns in + let uu____14863 = FStar_List.hd fields in + match uu____14863 with | (f,uu____14875) -> f.FStar_Ident.ns + in let get_field xopt f = let found = FStar_All.pipe_right fields (FStar_Util.find_opt - (fun uu____14921 -> + (fun uu____14921 -> match uu____14921 with - | (g, uu____14928) -> + | (g,uu____14928) -> f.FStar_Ident.idText = - (g.FStar_Ident.ident).FStar_Ident.idText)) in - let fn = FStar_Ident.lid_of_ids (FStar_List.append user_ns [f]) in + (g.FStar_Ident.ident).FStar_Ident.idText)) + in + let fn = FStar_Ident.lid_of_ids (FStar_List.append user_ns [f]) + in match found with - | FStar_Pervasives_Native.Some (uu____14935, e) -> (fn, e) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.Some (uu____14935,e) -> (fn, e) + | FStar_Pervasives_Native.None -> (match xopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____14949 = let uu____14955 = FStar_Util.format2 "Field %s of record type %s is missing" f.FStar_Ident.idText - (record.FStar_Syntax_DsEnv.typename).FStar_Ident.str in + (record.FStar_Syntax_DsEnv.typename).FStar_Ident.str + in (FStar_Errors.Fatal_MissingFieldInRecord, - uu____14955) in + uu____14955) + in FStar_Errors.raise_error uu____14949 top.FStar_Parser_AST.range | FStar_Pervasives_Native.Some x -> (fn, (FStar_Parser_AST.mk_term (FStar_Parser_AST.Project (x, fn)) - x.FStar_Parser_AST.range x.FStar_Parser_AST.level))) in + x.FStar_Parser_AST.range x.FStar_Parser_AST.level))) + in let user_constrname = FStar_Ident.lid_of_ids (FStar_List.append user_ns - [record.FStar_Syntax_DsEnv.constrname]) in + [record.FStar_Syntax_DsEnv.constrname]) + in let recterm = match eopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____14966 = let uu____14977 = FStar_All.pipe_right record.FStar_Syntax_DsEnv.fields (FStar_List.map - (fun uu____15008 -> + (fun uu____15008 -> match uu____15008 with - | (f, uu____15018) -> + | (f,uu____15018) -> let uu____15019 = let uu____15020 = get_field FStar_Pervasives_Native.None - f in + f + in FStar_All.pipe_left - FStar_Pervasives_Native.snd uu____15020 in - (uu____15019, FStar_Parser_AST.Nothing))) in - (user_constrname, uu____14977) in + FStar_Pervasives_Native.snd uu____15020 + in + (uu____15019, FStar_Parser_AST.Nothing))) + in + (user_constrname, uu____14977) in FStar_Parser_AST.Construct uu____14966 | FStar_Pervasives_Native.Some e -> - let x = FStar_Ident.gen e.FStar_Parser_AST.range in + let x = FStar_Ident.gen e.FStar_Parser_AST.range in let xterm = let uu____15038 = - let uu____15039 = FStar_Ident.lid_of_ids [x] in - FStar_Parser_AST.Var uu____15039 in + let uu____15039 = FStar_Ident.lid_of_ids [x] in + FStar_Parser_AST.Var uu____15039 in FStar_Parser_AST.mk_term uu____15038 - x.FStar_Ident.idRange FStar_Parser_AST.Expr in + x.FStar_Ident.idRange FStar_Parser_AST.Expr + in let record1 = let uu____15041 = let uu____15054 = FStar_All.pipe_right record.FStar_Syntax_DsEnv.fields (FStar_List.map - (fun uu____15084 -> + (fun uu____15084 -> match uu____15084 with - | (f, uu____15094) -> + | (f,uu____15094) -> get_field - (FStar_Pervasives_Native.Some xterm) f)) in - (FStar_Pervasives_Native.None, uu____15054) in - FStar_Parser_AST.Record uu____15041 in + (FStar_Pervasives_Native.Some xterm) f)) + in + (FStar_Pervasives_Native.None, uu____15054) in + FStar_Parser_AST.Record uu____15041 in FStar_Parser_AST.Let (FStar_Parser_AST.NoLetQualifier, [(FStar_Pervasives_Native.None, @@ -3591,21 +3920,22 @@ and (desugar_term_maybe_top : x.FStar_Ident.idRange), e))], (FStar_Parser_AST.mk_term record1 top.FStar_Parser_AST.range - top.FStar_Parser_AST.level)) in + top.FStar_Parser_AST.level)) + in let recterm1 = FStar_Parser_AST.mk_term recterm top.FStar_Parser_AST.range - top.FStar_Parser_AST.level in - let uu____15154 = desugar_term_aq env recterm1 in + top.FStar_Parser_AST.level + in + let uu____15154 = desugar_term_aq env recterm1 in (match uu____15154 with - | (e, s) -> + | (e,s) -> (match e.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos = uu____15170; - FStar_Syntax_Syntax.vars = uu____15171;_}, - args) + FStar_Syntax_Syntax.vars = uu____15171;_},args) -> let uu____15197 = let uu____15198 = @@ -3614,7 +3944,8 @@ and (desugar_term_maybe_top : let uu____15219 = FStar_Ident.set_lid_range (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - e.FStar_Syntax_Syntax.pos in + e.FStar_Syntax_Syntax.pos + in let uu____15220 = let uu____15223 = let uu____15224 = @@ -3622,145 +3953,163 @@ and (desugar_term_maybe_top : FStar_All.pipe_right record.FStar_Syntax_DsEnv.fields (FStar_List.map - FStar_Pervasives_Native.fst) in + FStar_Pervasives_Native.fst) + in ((record.FStar_Syntax_DsEnv.typename), - uu____15231) in - FStar_Syntax_Syntax.Record_ctor uu____15224 in - FStar_Pervasives_Native.Some uu____15223 in + uu____15231) + in + FStar_Syntax_Syntax.Record_ctor uu____15224 + in + FStar_Pervasives_Native.Some uu____15223 in FStar_Syntax_Syntax.fvar uu____15219 FStar_Syntax_Syntax.delta_constant - uu____15220 in - (uu____15216, args) in - FStar_Syntax_Syntax.Tm_app uu____15199 in - FStar_All.pipe_left mk1 uu____15198 in + uu____15220 + in + (uu____15216, args) in + FStar_Syntax_Syntax.Tm_app uu____15199 in + FStar_All.pipe_left mk1 uu____15198 in (uu____15197, s) | uu____15260 -> (e, s))) - | FStar_Parser_AST.Project (e, f) -> + | FStar_Parser_AST.Project (e,f) -> (FStar_Syntax_DsEnv.fail_if_qualified_by_curmodule env f; (let uu____15264 = FStar_Syntax_DsEnv.fail_or env - (FStar_Syntax_DsEnv.try_lookup_dc_by_field_name env) f in + (FStar_Syntax_DsEnv.try_lookup_dc_by_field_name env) f + in match uu____15264 with - | (constrname, is_rec) -> - let uu____15283 = desugar_term_aq env e in + | (constrname,is_rec) -> + let uu____15283 = desugar_term_aq env e in (match uu____15283 with - | (e1, s) -> + | (e1,s) -> let projname = FStar_Syntax_Util.mk_field_projector_name_from_ident - constrname f.FStar_Ident.ident in + constrname f.FStar_Ident.ident + in let qual = if is_rec then FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_projector (constrname, (f.FStar_Ident.ident))) - else FStar_Pervasives_Native.None in + else FStar_Pervasives_Native.None in let uu____15303 = let uu____15304 = let uu____15305 = let uu____15322 = let uu____15325 = - let uu____15326 = FStar_Ident.range_of_lid f in + let uu____15326 = FStar_Ident.range_of_lid f + in FStar_Ident.set_lid_range projname - uu____15326 in + uu____15326 + in FStar_Syntax_Syntax.fvar uu____15325 (FStar_Syntax_Syntax.Delta_equational_at_level - (Prims.parse_int "1")) qual in + (Prims.parse_int "1")) qual + in let uu____15328 = let uu____15339 = - FStar_Syntax_Syntax.as_arg e1 in - [uu____15339] in - (uu____15322, uu____15328) in - FStar_Syntax_Syntax.Tm_app uu____15305 in - FStar_All.pipe_left mk1 uu____15304 in + FStar_Syntax_Syntax.as_arg e1 in + [uu____15339] in + (uu____15322, uu____15328) in + FStar_Syntax_Syntax.Tm_app uu____15305 in + FStar_All.pipe_left mk1 uu____15304 in (uu____15303, s)))) - | FStar_Parser_AST.NamedTyp (uu____15376, e) -> desugar_term_aq env e + | FStar_Parser_AST.NamedTyp (uu____15376,e) -> desugar_term_aq env e | FStar_Parser_AST.Paren e -> failwith "impossible" | FStar_Parser_AST.VQuote e -> - let tm = desugar_term env e in + let tm = desugar_term env e in let uu____15386 = - let uu____15387 = FStar_Syntax_Subst.compress tm in - uu____15387.FStar_Syntax_Syntax.n in + let uu____15387 = FStar_Syntax_Subst.compress tm in + uu____15387.FStar_Syntax_Syntax.n in (match uu____15386 with | FStar_Syntax_Syntax.Tm_fvar fv -> let uu____15395 = - let uu___2091_15396 = + let uu___2092_15396 = let uu____15397 = - let uu____15399 = FStar_Syntax_Syntax.lid_of_fv fv in - FStar_Ident.string_of_lid uu____15399 in - FStar_Syntax_Util.exp_string uu____15397 in + let uu____15399 = FStar_Syntax_Syntax.lid_of_fv fv in + FStar_Ident.string_of_lid uu____15399 in + FStar_Syntax_Util.exp_string uu____15397 in { FStar_Syntax_Syntax.n = - (uu___2091_15396.FStar_Syntax_Syntax.n); + (uu___2092_15396.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = (e.FStar_Parser_AST.range); FStar_Syntax_Syntax.vars = - (uu___2091_15396.FStar_Syntax_Syntax.vars) - } in + (uu___2092_15396.FStar_Syntax_Syntax.vars) + } in (uu____15395, noaqs) | uu____15400 -> let uu____15401 = let uu____15407 = - let uu____15409 = FStar_Syntax_Print.term_to_string tm in + let uu____15409 = FStar_Syntax_Print.term_to_string tm + in Prims.op_Hat "VQuote, expected an fvar, got: " - uu____15409 in - (FStar_Errors.Fatal_UnexpectedTermVQuote, uu____15407) in + uu____15409 + in + (FStar_Errors.Fatal_UnexpectedTermVQuote, uu____15407) in FStar_Errors.raise_error uu____15401 top.FStar_Parser_AST.range) - | FStar_Parser_AST.Quote (e, FStar_Parser_AST.Static) -> - let uu____15418 = desugar_term_aq env e in + | FStar_Parser_AST.Quote (e,FStar_Parser_AST.Static ) -> + let uu____15418 = desugar_term_aq env e in (match uu____15418 with - | (tm, vts) -> + | (tm,vts) -> let qi = { FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_static; FStar_Syntax_Syntax.antiquotes = vts - } in + } in let uu____15430 = FStar_All.pipe_left mk1 - (FStar_Syntax_Syntax.Tm_quoted (tm, qi)) in + (FStar_Syntax_Syntax.Tm_quoted (tm, qi)) + in (uu____15430, noaqs)) | FStar_Parser_AST.Antiquote e -> let bv = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some (e.FStar_Parser_AST.range)) - FStar_Syntax_Syntax.tun in - let uu____15435 = FStar_Syntax_Syntax.bv_to_name bv in + FStar_Syntax_Syntax.tun + in + let uu____15435 = FStar_Syntax_Syntax.bv_to_name bv in let uu____15436 = let uu____15437 = - let uu____15444 = desugar_term env e in (bv, uu____15444) in - [uu____15437] in + let uu____15444 = desugar_term env e in (bv, uu____15444) + in + [uu____15437] in (uu____15435, uu____15436) - | FStar_Parser_AST.Quote (e, FStar_Parser_AST.Dynamic) -> + | FStar_Parser_AST.Quote (e,FStar_Parser_AST.Dynamic ) -> let qi = { FStar_Syntax_Syntax.qkind = FStar_Syntax_Syntax.Quote_dynamic; FStar_Syntax_Syntax.antiquotes = [] - } in + } in let uu____15469 = let uu____15470 = let uu____15471 = - let uu____15478 = desugar_term env e in (uu____15478, qi) in - FStar_Syntax_Syntax.Tm_quoted uu____15471 in - FStar_All.pipe_left mk1 uu____15470 in + let uu____15478 = desugar_term env e in (uu____15478, qi) + in + FStar_Syntax_Syntax.Tm_quoted uu____15471 in + FStar_All.pipe_left mk1 uu____15470 in (uu____15469, noaqs) - | FStar_Parser_AST.CalcProof (rel, init_expr, steps) -> + | FStar_Parser_AST.CalcProof (rel,init_expr,steps) -> let eta_and_annot rel1 = - let x = FStar_Ident.gen rel1.FStar_Parser_AST.range in - let y = FStar_Ident.gen rel1.FStar_Parser_AST.range in + let x = FStar_Ident.gen rel1.FStar_Parser_AST.range in + let y = FStar_Ident.gen rel1.FStar_Parser_AST.range in let xt = FStar_Parser_AST.mk_term (FStar_Parser_AST.Tvar x) - rel1.FStar_Parser_AST.range FStar_Parser_AST.Expr in + rel1.FStar_Parser_AST.range FStar_Parser_AST.Expr + in let yt = FStar_Parser_AST.mk_term (FStar_Parser_AST.Tvar y) - rel1.FStar_Parser_AST.range FStar_Parser_AST.Expr in + rel1.FStar_Parser_AST.range FStar_Parser_AST.Expr + in let pats = [FStar_Parser_AST.mk_pattern (FStar_Parser_AST.PatVar (x, FStar_Pervasives_Native.None)) rel1.FStar_Parser_AST.range; FStar_Parser_AST.mk_pattern (FStar_Parser_AST.PatVar (y, FStar_Pervasives_Native.None)) - rel1.FStar_Parser_AST.range] in + rel1.FStar_Parser_AST.range] + in let uu____15507 = let uu____15508 = let uu____15515 = @@ -3770,137 +4119,163 @@ and (desugar_term_maybe_top : FStar_Parser_AST.mkApp rel1 [(xt, FStar_Parser_AST.Nothing); (yt, FStar_Parser_AST.Nothing)] - rel1.FStar_Parser_AST.range in + rel1.FStar_Parser_AST.range + in let uu____15539 = let uu____15540 = - let uu____15541 = FStar_Ident.lid_of_str "Type0" in - FStar_Parser_AST.Name uu____15541 in + let uu____15541 = FStar_Ident.lid_of_str "Type0" + in + FStar_Parser_AST.Name uu____15541 in FStar_Parser_AST.mk_term uu____15540 - rel1.FStar_Parser_AST.range FStar_Parser_AST.Expr in + rel1.FStar_Parser_AST.range FStar_Parser_AST.Expr + in (uu____15526, uu____15539, - FStar_Pervasives_Native.None) in - FStar_Parser_AST.Ascribed uu____15517 in + FStar_Pervasives_Native.None) + in + FStar_Parser_AST.Ascribed uu____15517 in FStar_Parser_AST.mk_term uu____15516 - rel1.FStar_Parser_AST.range FStar_Parser_AST.Expr in - (pats, uu____15515) in - FStar_Parser_AST.Abs uu____15508 in + rel1.FStar_Parser_AST.range FStar_Parser_AST.Expr + in + (pats, uu____15515) in + FStar_Parser_AST.Abs uu____15508 in FStar_Parser_AST.mk_term uu____15507 - rel1.FStar_Parser_AST.range FStar_Parser_AST.Expr in - let rel1 = eta_and_annot rel in + rel1.FStar_Parser_AST.range FStar_Parser_AST.Expr + in + let rel1 = eta_and_annot rel in let wild r = FStar_Parser_AST.mk_term FStar_Parser_AST.Wild r - FStar_Parser_AST.Expr in + FStar_Parser_AST.Expr + in let init1 = FStar_Parser_AST.mk_term (FStar_Parser_AST.Var FStar_Parser_Const.calc_init_lid) - init_expr.FStar_Parser_AST.range FStar_Parser_AST.Expr in + FStar_Range.dummyRange FStar_Parser_AST.Expr + in let last_expr = - let uu____15556 = FStar_List.last steps in + let uu____15556 = FStar_List.last steps in match uu____15556 with | FStar_Pervasives_Native.Some (FStar_Parser_AST.CalcStep - (uu____15559, uu____15560, last_expr)) -> last_expr - | uu____15562 -> failwith "impossible: no last_expr on calc" in + (uu____15559,uu____15560,last_expr)) -> last_expr + | uu____15562 -> failwith "impossible: no last_expr on calc" + in let step r = FStar_Parser_AST.mk_term (FStar_Parser_AST.Var FStar_Parser_Const.calc_step_lid) r - FStar_Parser_AST.Expr in + FStar_Parser_AST.Expr + in let finish1 = FStar_Parser_AST.mkApp (FStar_Parser_AST.mk_term (FStar_Parser_AST.Var FStar_Parser_Const.calc_finish_lid) top.FStar_Parser_AST.range FStar_Parser_AST.Expr) - [(rel1, FStar_Parser_AST.Nothing)] top.FStar_Parser_AST.range in + [(rel1, FStar_Parser_AST.Nothing)] top.FStar_Parser_AST.range + in let e = FStar_Parser_AST.mkApp init1 [(init_expr, FStar_Parser_AST.Nothing)] - init_expr.FStar_Parser_AST.range in + FStar_Range.dummyRange + in let uu____15590 = FStar_List.fold_left - (fun uu____15607 -> - fun uu____15608 -> + (fun uu____15607 -> + fun uu____15608 -> match (uu____15607, uu____15608) with - | ((e1, prev), FStar_Parser_AST.CalcStep - (rel2, just, next_expr)) -> + | ((e1,prev),FStar_Parser_AST.CalcStep + (rel2,just,next_expr)) -> let pf = let uu____15631 = let uu____15638 = let uu____15645 = let uu____15652 = let uu____15659 = - let uu____15664 = eta_and_annot rel2 in - (uu____15664, FStar_Parser_AST.Nothing) in + let uu____15664 = eta_and_annot rel2 in + (uu____15664, FStar_Parser_AST.Nothing) + in let uu____15665 = let uu____15672 = let uu____15679 = let uu____15684 = - FStar_Parser_AST.thunk e1 in + FStar_Parser_AST.thunk e1 in (uu____15684, - FStar_Parser_AST.Nothing) in + FStar_Parser_AST.Nothing) + in let uu____15685 = let uu____15692 = let uu____15697 = - FStar_Parser_AST.thunk just in + FStar_Parser_AST.thunk just in (uu____15697, - FStar_Parser_AST.Nothing) in - [uu____15692] in - uu____15679 :: uu____15685 in + FStar_Parser_AST.Nothing) + in + [uu____15692] in + uu____15679 :: uu____15685 in (next_expr, FStar_Parser_AST.Nothing) :: - uu____15672 in - uu____15659 :: uu____15665 in - (prev, FStar_Parser_AST.Hash) :: uu____15652 in + uu____15672 + in + uu____15659 :: uu____15665 in + (prev, FStar_Parser_AST.Hash) :: uu____15652 + in (init_expr, FStar_Parser_AST.Hash) :: - uu____15645 in + uu____15645 + in ((wild rel2.FStar_Parser_AST.range), - FStar_Parser_AST.Hash) :: uu____15638 in + FStar_Parser_AST.Hash) :: uu____15638 + in FStar_Parser_AST.mkApp (step rel2.FStar_Parser_AST.range) uu____15631 - just.FStar_Parser_AST.range in - (pf, next_expr)) (e, init_expr) steps in + FStar_Range.dummyRange + in + (pf, next_expr)) (e, init_expr) steps + in (match uu____15590 with - | (e1, uu____15735) -> + | (e1,uu____15735) -> let e2 = let uu____15737 = let uu____15744 = let uu____15751 = let uu____15758 = - let uu____15763 = FStar_Parser_AST.thunk e1 in - (uu____15763, FStar_Parser_AST.Nothing) in - [uu____15758] in - (last_expr, FStar_Parser_AST.Hash) :: uu____15751 in - (init_expr, FStar_Parser_AST.Hash) :: uu____15744 in + let uu____15763 = FStar_Parser_AST.thunk e1 in + (uu____15763, FStar_Parser_AST.Nothing) in + [uu____15758] in + (last_expr, FStar_Parser_AST.Hash) :: uu____15751 in + (init_expr, FStar_Parser_AST.Hash) :: uu____15744 in FStar_Parser_AST.mkApp finish1 uu____15737 - init_expr.FStar_Parser_AST.range in + FStar_Range.dummyRange + in desugar_term_maybe_top top_level env e2) | uu____15780 when top.FStar_Parser_AST.level = FStar_Parser_AST.Formula -> - let uu____15781 = desugar_formula env top in (uu____15781, noaqs) + let uu____15781 = desugar_formula env top in + (uu____15781, noaqs) | uu____15782 -> let uu____15783 = let uu____15789 = - let uu____15791 = FStar_Parser_AST.term_to_string top in - Prims.op_Hat "Unexpected term: " uu____15791 in - (FStar_Errors.Fatal_UnexpectedTerm, uu____15789) in + let uu____15791 = FStar_Parser_AST.term_to_string top in + Prims.op_Hat "Unexpected term: " uu____15791 in + (FStar_Errors.Fatal_UnexpectedTerm, uu____15789) in FStar_Errors.raise_error uu____15783 top.FStar_Parser_AST.range + and (not_ascribed : FStar_Parser_AST.term -> Prims.bool) = - fun t -> + fun t -> match t.FStar_Parser_AST.tm with | FStar_Parser_AST.Ascribed uu____15801 -> false | uu____15811 -> true + and (desugar_args : FStar_Syntax_DsEnv.env -> (FStar_Parser_AST.term * FStar_Parser_AST.imp) Prims.list -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list) = - fun env -> - fun args -> + fun env -> + fun args -> FStar_All.pipe_right args (FStar_List.map - (fun uu____15849 -> + (fun uu____15849 -> match uu____15849 with - | (a, imp) -> - let uu____15862 = desugar_term env a in + | (a,imp) -> + let uu____15862 = desugar_term env a in arg_withimp_e imp uu____15862)) + and (desugar_comp : FStar_Range.range -> Prims.bool -> @@ -3908,84 +4283,86 @@ and (desugar_comp : FStar_Parser_AST.term -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax) = - fun r -> - fun allow_type_promotion -> - fun env -> - fun t -> - let fail1 err = FStar_Errors.raise_error err r in + fun r -> + fun allow_type_promotion -> + fun env -> + fun t -> + let fail1 err = FStar_Errors.raise_error err r in let is_requires uu____15899 = match uu____15899 with - | (t1, uu____15906) -> + | (t1,uu____15906) -> let uu____15907 = - let uu____15908 = unparen t1 in - uu____15908.FStar_Parser_AST.tm in + let uu____15908 = unparen t1 in + uu____15908.FStar_Parser_AST.tm in (match uu____15907 with | FStar_Parser_AST.Requires uu____15910 -> true - | uu____15919 -> false) in + | uu____15919 -> false) + in let is_ensures uu____15931 = match uu____15931 with - | (t1, uu____15938) -> + | (t1,uu____15938) -> let uu____15939 = - let uu____15940 = unparen t1 in - uu____15940.FStar_Parser_AST.tm in + let uu____15940 = unparen t1 in + uu____15940.FStar_Parser_AST.tm in (match uu____15939 with | FStar_Parser_AST.Ensures uu____15942 -> true - | uu____15951 -> false) in + | uu____15951 -> false) + in let is_app head1 uu____15969 = match uu____15969 with - | (t1, uu____15977) -> + | (t1,uu____15977) -> let uu____15978 = - let uu____15979 = unparen t1 in - uu____15979.FStar_Parser_AST.tm in + let uu____15979 = unparen t1 in + uu____15979.FStar_Parser_AST.tm in (match uu____15978 with | FStar_Parser_AST.App ({ FStar_Parser_AST.tm = FStar_Parser_AST.Var d; FStar_Parser_AST.range = uu____15982; - FStar_Parser_AST.level = uu____15983;_}, - uu____15984, uu____15985) + FStar_Parser_AST.level = uu____15983;_},uu____15984,uu____15985) -> (d.FStar_Ident.ident).FStar_Ident.idText = head1 - | uu____15987 -> false) in + | uu____15987 -> false) + in let is_smt_pat uu____15999 = match uu____15999 with - | (t1, uu____16006) -> + | (t1,uu____16006) -> let uu____16007 = - let uu____16008 = unparen t1 in - uu____16008.FStar_Parser_AST.tm in + let uu____16008 = unparen t1 in + uu____16008.FStar_Parser_AST.tm in (match uu____16007 with | FStar_Parser_AST.Construct - (cons1, - ({ - FStar_Parser_AST.tm = FStar_Parser_AST.Construct - (smtpat, uu____16012); - FStar_Parser_AST.range = uu____16013; - FStar_Parser_AST.level = uu____16014;_}, - uu____16015)::uu____16016::[]) + (cons1,({ + FStar_Parser_AST.tm = + FStar_Parser_AST.Construct + (smtpat,uu____16012); + FStar_Parser_AST.range = uu____16013; + FStar_Parser_AST.level = uu____16014;_},uu____16015)::uu____16016::[]) -> (FStar_Ident.lid_equals cons1 FStar_Parser_Const.cons_lid) && (FStar_Util.for_some - (fun s -> smtpat.FStar_Ident.str = s) + (fun s -> smtpat.FStar_Ident.str = s) ["SMTPat"; "SMTPatT"; "SMTPatOr"]) | FStar_Parser_AST.Construct - (cons1, - ({ FStar_Parser_AST.tm = FStar_Parser_AST.Var smtpat; - FStar_Parser_AST.range = uu____16065; - FStar_Parser_AST.level = uu____16066;_}, - uu____16067)::uu____16068::[]) + (cons1,({ + FStar_Parser_AST.tm = FStar_Parser_AST.Var + smtpat; + FStar_Parser_AST.range = uu____16065; + FStar_Parser_AST.level = uu____16066;_},uu____16067)::uu____16068::[]) -> (FStar_Ident.lid_equals cons1 FStar_Parser_Const.cons_lid) && (FStar_Util.for_some - (fun s -> smtpat.FStar_Ident.str = s) + (fun s -> smtpat.FStar_Ident.str = s) ["smt_pat"; "smt_pat_or"]) - | uu____16101 -> false) in - let is_decreases = is_app "decreases" in + | uu____16101 -> false) + in + let is_decreases = is_app "decreases" in let pre_process_comp_typ t1 = - let uu____16136 = head_and_args t1 in + let uu____16136 = head_and_args t1 in match uu____16136 with - | (head1, args) -> + | (head1,args) -> (match head1.FStar_Parser_AST.tm with | FStar_Parser_AST.Name lemma when (lemma.FStar_Ident.ident).FStar_Ident.idText = "Lemma" @@ -3995,12 +4372,14 @@ and (desugar_comp : (FStar_Parser_AST.Name FStar_Parser_Const.unit_lid) t1.FStar_Parser_AST.range FStar_Parser_AST.Type_level), - FStar_Parser_AST.Nothing) in + FStar_Parser_AST.Nothing) + in let nil_pat = ((FStar_Parser_AST.mk_term (FStar_Parser_AST.Name FStar_Parser_Const.nil_lid) t1.FStar_Parser_AST.range FStar_Parser_AST.Expr), - FStar_Parser_AST.Nothing) in + FStar_Parser_AST.Nothing) + in let req_true = let req = FStar_Parser_AST.Requires @@ -4009,16 +4388,19 @@ and (desugar_comp : FStar_Parser_Const.true_lid) t1.FStar_Parser_AST.range FStar_Parser_AST.Formula), - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in ((FStar_Parser_AST.mk_term req t1.FStar_Parser_AST.range FStar_Parser_AST.Type_level), - FStar_Parser_AST.Nothing) in + FStar_Parser_AST.Nothing) + in let thunk_ens uu____16229 = match uu____16229 with - | (e, i) -> - let uu____16240 = FStar_Parser_AST.thunk e in - (uu____16240, i) in + | (e,i) -> + let uu____16240 = FStar_Parser_AST.thunk e in + (uu____16240, i) + in let fail_lemma uu____16252 = let expected_one_of = ["Lemma post"; @@ -4030,13 +4412,16 @@ and (desugar_comp : "Lemma (ensures post) (decreases d) [SMTPat ...]"; "Lemma (requires pre) (ensures post) (decreases d)"; "Lemma (requires pre) (ensures post) [SMTPat ...]"; - "Lemma (requires pre) (ensures post) (decreases d) [SMTPat ...]"] in - let msg = FStar_String.concat "\n\t" expected_one_of in + "Lemma (requires pre) (ensures post) (decreases d) [SMTPat ...]"] + in + let msg = FStar_String.concat "\n\t" expected_one_of + in FStar_Errors.raise_error (FStar_Errors.Fatal_InvalidLemmaArgument, (Prims.op_Hat "Invalid arguments to 'Lemma'; expected one of the following:\n\t" - msg)) t1.FStar_Parser_AST.range in + msg)) t1.FStar_Parser_AST.range + in let args1 = match args with | [] -> fail_lemma () @@ -4046,41 +4431,41 @@ and (desugar_comp : | ens::[] -> let uu____16358 = let uu____16365 = - let uu____16372 = thunk_ens ens in - [uu____16372; nil_pat] in - req_true :: uu____16365 in + let uu____16372 = thunk_ens ens in + [uu____16372; nil_pat] in + req_true :: uu____16365 in unit_tm :: uu____16358 | req::ens::[] when (is_requires req) && (is_ensures ens) -> let uu____16419 = let uu____16426 = - let uu____16433 = thunk_ens ens in - [uu____16433; nil_pat] in - req :: uu____16426 in + let uu____16433 = thunk_ens ens in + [uu____16433; nil_pat] in + req :: uu____16426 in unit_tm :: uu____16419 | ens::smtpat::[] when - (((let uu____16482 = is_requires ens in + (((let uu____16482 = is_requires ens in Prims.op_Negation uu____16482) && - (let uu____16485 = is_smt_pat ens in + (let uu____16485 = is_smt_pat ens in Prims.op_Negation uu____16485)) && - (let uu____16488 = is_decreases ens in + (let uu____16488 = is_decreases ens in Prims.op_Negation uu____16488)) && (is_smt_pat smtpat) -> let uu____16490 = let uu____16497 = - let uu____16504 = thunk_ens ens in - [uu____16504; smtpat] in - req_true :: uu____16497 in + let uu____16504 = thunk_ens ens in + [uu____16504; smtpat] in + req_true :: uu____16497 in unit_tm :: uu____16490 | ens::dec::[] when (is_ensures ens) && (is_decreases dec) -> let uu____16551 = let uu____16558 = - let uu____16565 = thunk_ens ens in - [uu____16565; nil_pat; dec] in - req_true :: uu____16558 in + let uu____16565 = thunk_ens ens in + [uu____16565; nil_pat; dec] in + req_true :: uu____16558 in unit_tm :: uu____16551 | ens::dec::smtpat::[] when ((is_ensures ens) && (is_decreases dec)) && @@ -4088,9 +4473,9 @@ and (desugar_comp : -> let uu____16625 = let uu____16632 = - let uu____16639 = thunk_ens ens in - [uu____16639; smtpat; dec] in - req_true :: uu____16632 in + let uu____16639 = thunk_ens ens in + [uu____16639; smtpat; dec] in + req_true :: uu____16632 in unit_tm :: uu____16625 | req::ens::dec::[] when ((is_requires req) && (is_ensures ens)) && @@ -4098,9 +4483,9 @@ and (desugar_comp : -> let uu____16699 = let uu____16706 = - let uu____16713 = thunk_ens ens in - [uu____16713; nil_pat; dec] in - req :: uu____16706 in + let uu____16713 = thunk_ens ens in + [uu____16713; nil_pat; dec] in + req :: uu____16706 in unit_tm :: uu____16699 | req::ens::smtpat::[] when ((is_requires req) && (is_ensures ens)) && @@ -4108,9 +4493,9 @@ and (desugar_comp : -> let uu____16773 = let uu____16780 = - let uu____16787 = thunk_ens ens in - [uu____16787; smtpat] in - req :: uu____16780 in + let uu____16787 = thunk_ens ens in + [uu____16787; smtpat] in + req :: uu____16780 in unit_tm :: uu____16773 | req::ens::dec::smtpat::[] when (((is_requires req) && (is_ensures ens)) && @@ -4119,25 +4504,28 @@ and (desugar_comp : -> let uu____16852 = let uu____16859 = - let uu____16866 = thunk_ens ens in - [uu____16866; dec; smtpat] in - req :: uu____16859 in + let uu____16866 = thunk_ens ens in + [uu____16866; dec; smtpat] in + req :: uu____16859 in unit_tm :: uu____16852 - | _other -> fail_lemma () in + | _other -> fail_lemma () in let head_and_attributes = FStar_Syntax_DsEnv.fail_or env (FStar_Syntax_DsEnv.try_lookup_effect_name_and_attributes - env) lemma in + env) lemma + in (head_and_attributes, args1) | FStar_Parser_AST.Name l when FStar_Syntax_DsEnv.is_effect_name env l -> let uu____16928 = FStar_Syntax_DsEnv.fail_or env (FStar_Syntax_DsEnv.try_lookup_effect_name_and_attributes - env) l in + env) l + in (uu____16928, args) | FStar_Parser_AST.Name l when - (let uu____16956 = FStar_Syntax_DsEnv.current_module env in + (let uu____16956 = FStar_Syntax_DsEnv.current_module env + in FStar_Ident.lid_equals uu____16956 FStar_Parser_Const.prims_lid) && ((l.FStar_Ident.ident).FStar_Ident.idText = "Tot") @@ -4146,11 +4534,13 @@ and (desugar_comp : let uu____16966 = FStar_Ident.set_lid_range FStar_Parser_Const.effect_Tot_lid - head1.FStar_Parser_AST.range in - (uu____16966, []) in + head1.FStar_Parser_AST.range + in + (uu____16966, []) in (uu____16959, args) | FStar_Parser_AST.Name l when - (let uu____16984 = FStar_Syntax_DsEnv.current_module env in + (let uu____16984 = FStar_Syntax_DsEnv.current_module env + in FStar_Ident.lid_equals uu____16984 FStar_Parser_Const.prims_lid) && ((l.FStar_Ident.ident).FStar_Ident.idText = "GTot") @@ -4159,8 +4549,9 @@ and (desugar_comp : let uu____16994 = FStar_Ident.set_lid_range FStar_Parser_Const.effect_GTot_lid - head1.FStar_Parser_AST.range in - (uu____16994, []) in + head1.FStar_Parser_AST.range + in + (uu____16994, []) in (uu____16987, args) | FStar_Parser_AST.Name l when (((l.FStar_Ident.ident).FStar_Ident.idText = "Type") || @@ -4172,17 +4563,18 @@ and (desugar_comp : let uu____17023 = FStar_Ident.set_lid_range FStar_Parser_Const.effect_Tot_lid - head1.FStar_Parser_AST.range in - (uu____17023, []) in + head1.FStar_Parser_AST.range + in + (uu____17023, []) in (uu____17016, [(t1, FStar_Parser_AST.Nothing)]) | uu____17046 when allow_type_promotion -> let default_effect = - let uu____17048 = FStar_Options.ml_ish () in + let uu____17048 = FStar_Options.ml_ish () in if uu____17048 then FStar_Parser_Const.effect_ML_lid else ((let uu____17054 = - FStar_Options.warn_default_effects () in + FStar_Options.warn_default_effects () in if uu____17054 then FStar_Errors.log_issue @@ -4190,56 +4582,64 @@ and (desugar_comp : (FStar_Errors.Warning_UseDefaultEffect, "Using default effect Tot") else ()); - FStar_Parser_Const.effect_Tot_lid) in + FStar_Parser_Const.effect_Tot_lid) + in let uu____17061 = let uu____17068 = FStar_Ident.set_lid_range default_effect - head1.FStar_Parser_AST.range in - (uu____17068, []) in + head1.FStar_Parser_AST.range + in + (uu____17068, []) in (uu____17061, [(t1, FStar_Parser_AST.Nothing)]) | uu____17091 -> FStar_Errors.raise_error (FStar_Errors.Fatal_EffectNotFound, "Expected an effect constructor") - t1.FStar_Parser_AST.range) in - let uu____17110 = pre_process_comp_typ t in + t1.FStar_Parser_AST.range) + in + let uu____17110 = pre_process_comp_typ t in match uu____17110 with - | ((eff, cattributes), args) -> + | ((eff,cattributes),args) -> (if (FStar_List.length args) = (Prims.parse_int "0") then (let uu____17162 = let uu____17168 = - let uu____17170 = FStar_Syntax_Print.lid_to_string eff in + let uu____17170 = FStar_Syntax_Print.lid_to_string eff + in FStar_Util.format1 "Not enough args to effect %s" - uu____17170 in - (FStar_Errors.Fatal_NotEnoughArgsToEffect, uu____17168) in + uu____17170 + in + (FStar_Errors.Fatal_NotEnoughArgsToEffect, uu____17168) + in fail1 uu____17162) else (); (let is_universe uu____17186 = match uu____17186 with - | (uu____17192, imp) -> imp = FStar_Parser_AST.UnivApp in - let uu____17194 = FStar_Util.take is_universe args in + | (uu____17192,imp) -> imp = FStar_Parser_AST.UnivApp in + let uu____17194 = FStar_Util.take is_universe args in match uu____17194 with - | (universes, args1) -> + | (universes,args1) -> let universes1 = FStar_List.map - (fun uu____17253 -> + (fun uu____17253 -> match uu____17253 with - | (u, imp) -> desugar_universe u) universes in + | (u,imp) -> desugar_universe u) universes + in let uu____17260 = - let uu____17275 = FStar_List.hd args1 in - let uu____17284 = FStar_List.tl args1 in - (uu____17275, uu____17284) in + let uu____17275 = FStar_List.hd args1 in + let uu____17284 = FStar_List.tl args1 in + (uu____17275, uu____17284) in (match uu____17260 with - | (result_arg, rest) -> + | (result_arg,rest) -> let result_typ = desugar_typ env - (FStar_Pervasives_Native.fst result_arg) in - let rest1 = desugar_args env rest in + (FStar_Pervasives_Native.fst result_arg) + in + let rest1 = desugar_args env rest in let uu____17339 = let is_decrease uu____17378 = match uu____17378 with - | (t1, uu____17389) -> + | (t1,uu____17389) -> (match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_app ({ @@ -4248,52 +4648,56 @@ and (desugar_comp : FStar_Syntax_Syntax.pos = uu____17400; FStar_Syntax_Syntax.vars = - uu____17401;_}, - uu____17402::[]) + uu____17401;_},uu____17402::[]) -> FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.decreases_lid - | uu____17441 -> false) in + | uu____17441 -> false) + in FStar_All.pipe_right rest1 - (FStar_List.partition is_decrease) in + (FStar_List.partition is_decrease) + in (match uu____17339 with - | (dec, rest2) -> + | (dec,rest2) -> let decreases_clause = FStar_All.pipe_right dec (FStar_List.map - (fun uu____17558 -> + (fun uu____17558 -> match uu____17558 with - | (t1, uu____17568) -> + | (t1,uu____17568) -> (match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_app - (uu____17577, - (arg, uu____17579)::[]) + (uu____17577,(arg,uu____17579)::[]) -> FStar_Syntax_Syntax.DECREASES arg | uu____17618 -> - failwith "impos"))) in + failwith "impos"))) + in let no_additional_args = let is_empty l = match l with | [] -> true - | uu____17639 -> false in + | uu____17639 -> false in (((is_empty decreases_clause) && (is_empty rest2)) && (is_empty cattributes)) - && (is_empty universes1) in + && (is_empty universes1) + in let uu____17651 = no_additional_args && (FStar_Ident.lid_equals eff - FStar_Parser_Const.effect_Tot_lid) in + FStar_Parser_Const.effect_Tot_lid) + in if uu____17651 then FStar_Syntax_Syntax.mk_Total result_typ else (let uu____17658 = no_additional_args && (FStar_Ident.lid_equals eff - FStar_Parser_Const.effect_GTot_lid) in + FStar_Parser_Const.effect_GTot_lid) + in if uu____17658 then FStar_Syntax_Syntax.mk_GTotal result_typ @@ -4301,40 +4705,46 @@ and (desugar_comp : (let flags = let uu____17668 = FStar_Ident.lid_equals eff - FStar_Parser_Const.effect_Lemma_lid in + FStar_Parser_Const.effect_Lemma_lid + in if uu____17668 then [FStar_Syntax_Syntax.LEMMA] else (let uu____17675 = FStar_Ident.lid_equals eff - FStar_Parser_Const.effect_Tot_lid in + FStar_Parser_Const.effect_Tot_lid + in if uu____17675 then [FStar_Syntax_Syntax.TOTAL] else (let uu____17682 = FStar_Ident.lid_equals eff - FStar_Parser_Const.effect_ML_lid in + FStar_Parser_Const.effect_ML_lid + in if uu____17682 then [FStar_Syntax_Syntax.MLEFFECT] else (let uu____17689 = FStar_Ident.lid_equals eff - FStar_Parser_Const.effect_GTot_lid in + FStar_Parser_Const.effect_GTot_lid + in if uu____17689 then [FStar_Syntax_Syntax.SOMETRIVIAL] - else []))) in + else []))) + in let flags1 = - FStar_List.append flags cattributes in + FStar_List.append flags cattributes in let rest3 = let uu____17710 = FStar_Ident.lid_equals eff - FStar_Parser_Const.effect_Lemma_lid in + FStar_Parser_Const.effect_Lemma_lid + in if uu____17710 then match rest2 with - | req::ens::(pat, aq)::[] -> + | req::ens::(pat,aq)::[] -> let pat1 = match pat.FStar_Syntax_Syntax.n with @@ -4347,16 +4757,19 @@ and (desugar_comp : let nil = FStar_Syntax_Syntax.mk_Tm_uinst pat - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let pattern = let uu____17801 = FStar_Ident.set_lid_range FStar_Parser_Const.pattern_lid - pat.FStar_Syntax_Syntax.pos in + pat.FStar_Syntax_Syntax.pos + in FStar_Syntax_Syntax.fvar uu____17801 FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Syntax_Syntax.mk_Tm_app nil [(pattern, @@ -4364,7 +4777,7 @@ and (desugar_comp : FStar_Syntax_Syntax.imp_tag))] FStar_Pervasives_Native.None pat.FStar_Syntax_Syntax.pos - | uu____17822 -> pat in + | uu____17822 -> pat in let uu____17823 = let uu____17834 = let uu____17845 = @@ -4375,13 +4788,14 @@ and (desugar_comp : (FStar_Syntax_Syntax.Meta_desugared FStar_Syntax_Syntax.Meta_smt_pat))) FStar_Pervasives_Native.None - pat1.FStar_Syntax_Syntax.pos in - (uu____17854, aq) in - [uu____17845] in - ens :: uu____17834 in + pat1.FStar_Syntax_Syntax.pos + in + (uu____17854, aq) in + [uu____17845] in + ens :: uu____17834 in req :: uu____17823 | uu____17895 -> rest2 - else rest2 in + else rest2 in FStar_Syntax_Syntax.mk_Comp { FStar_Syntax_Syntax.comp_univs = @@ -4395,11 +4809,12 @@ and (desugar_comp : (FStar_List.append flags1 decreases_clause) })))))) + and (desugar_formula : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun f -> + fun env -> + fun f -> let connective s = match s with | "/\\" -> FStar_Pervasives_Native.Some FStar_Parser_Const.and_lid @@ -4407,237 +4822,257 @@ and (desugar_formula : | "==>" -> FStar_Pervasives_Native.Some FStar_Parser_Const.imp_lid | "<==>" -> FStar_Pervasives_Native.Some FStar_Parser_Const.iff_lid | "~" -> FStar_Pervasives_Native.Some FStar_Parser_Const.not_lid - | uu____17927 -> FStar_Pervasives_Native.None in + | uu____17927 -> FStar_Pervasives_Native.None in let mk1 t = FStar_Syntax_Syntax.mk t FStar_Pervasives_Native.None - f.FStar_Parser_AST.range in + f.FStar_Parser_AST.range + in let setpos t = - let uu___2398_17949 = t in + let uu___2399_17949 = t in { - FStar_Syntax_Syntax.n = (uu___2398_17949.FStar_Syntax_Syntax.n); + FStar_Syntax_Syntax.n = (uu___2399_17949.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = (f.FStar_Parser_AST.range); FStar_Syntax_Syntax.vars = - (uu___2398_17949.FStar_Syntax_Syntax.vars) - } in + (uu___2399_17949.FStar_Syntax_Syntax.vars) + } in let desugar_quant q b pats body = let tk = desugar_binder env - (let uu___2405_18003 = b in + (let uu___2406_18003 = b in { - FStar_Parser_AST.b = (uu___2405_18003.FStar_Parser_AST.b); + FStar_Parser_AST.b = (uu___2406_18003.FStar_Parser_AST.b); FStar_Parser_AST.brange = - (uu___2405_18003.FStar_Parser_AST.brange); + (uu___2406_18003.FStar_Parser_AST.brange); FStar_Parser_AST.blevel = FStar_Parser_AST.Formula; FStar_Parser_AST.aqual = - (uu___2405_18003.FStar_Parser_AST.aqual) - }) in + (uu___2406_18003.FStar_Parser_AST.aqual) + }) + in let with_pats env1 uu____18032 body1 = match uu____18032 with - | (names1, pats1) -> + | (names1,pats1) -> (match (names1, pats1) with - | ([], []) -> body1 - | ([], uu____18078::uu____18079) -> + | ([],[]) -> body1 + | ([],uu____18078::uu____18079) -> failwith "Impossible: Annotated pattern without binders in scope" | uu____18097 -> let names2 = FStar_All.pipe_right names1 (FStar_List.map - (fun i -> - let uu___2424_18124 = + (fun i -> + let uu___2425_18124 = FStar_Syntax_DsEnv.fail_or2 - (FStar_Syntax_DsEnv.try_lookup_id env1) i in + (FStar_Syntax_DsEnv.try_lookup_id env1) i + in { FStar_Syntax_Syntax.n = - (uu___2424_18124.FStar_Syntax_Syntax.n); + (uu___2425_18124.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = (i.FStar_Ident.idRange); FStar_Syntax_Syntax.vars = - (uu___2424_18124.FStar_Syntax_Syntax.vars) - })) in + (uu___2425_18124.FStar_Syntax_Syntax.vars) + })) + in let pats2 = FStar_All.pipe_right pats1 (FStar_List.map - (fun es -> + (fun es -> FStar_All.pipe_right es (FStar_List.map - (fun e -> - let uu____18187 = desugar_term env1 e in + (fun e -> + let uu____18187 = desugar_term env1 e + in FStar_All.pipe_left (arg_withimp_t FStar_Parser_AST.Nothing) - uu____18187)))) in + uu____18187)))) + in mk1 (FStar_Syntax_Syntax.Tm_meta (body1, - (FStar_Syntax_Syntax.Meta_pattern (names2, pats2))))) in + (FStar_Syntax_Syntax.Meta_pattern (names2, pats2))))) + in match tk with - | (FStar_Pervasives_Native.Some a, k) -> - let uu____18218 = FStar_Syntax_DsEnv.push_bv env a in + | (FStar_Pervasives_Native.Some a,k) -> + let uu____18218 = FStar_Syntax_DsEnv.push_bv env a in (match uu____18218 with - | (env1, a1) -> + | (env1,a1) -> let a2 = - let uu___2437_18228 = a1 in + let uu___2438_18228 = a1 in { FStar_Syntax_Syntax.ppname = - (uu___2437_18228.FStar_Syntax_Syntax.ppname); + (uu___2438_18228.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2437_18228.FStar_Syntax_Syntax.index); + (uu___2438_18228.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = k - } in - let body1 = desugar_formula env1 body in - let body2 = with_pats env1 pats body1 in + } in + let body1 = desugar_formula env1 body in + let body2 = with_pats env1 pats body1 in let body3 = let uu____18234 = let uu____18237 = - let uu____18238 = FStar_Syntax_Syntax.mk_binder a2 in - [uu____18238] in - no_annot_abs uu____18237 body2 in - FStar_All.pipe_left setpos uu____18234 in + let uu____18238 = FStar_Syntax_Syntax.mk_binder a2 in + [uu____18238] in + no_annot_abs uu____18237 body2 in + FStar_All.pipe_left setpos uu____18234 in let uu____18259 = let uu____18260 = let uu____18277 = let uu____18280 = FStar_Ident.set_lid_range q - b.FStar_Parser_AST.brange in + b.FStar_Parser_AST.brange + in FStar_Syntax_Syntax.fvar uu____18280 (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let uu____18282 = - let uu____18293 = FStar_Syntax_Syntax.as_arg body3 in - [uu____18293] in - (uu____18277, uu____18282) in - FStar_Syntax_Syntax.Tm_app uu____18260 in + let uu____18293 = FStar_Syntax_Syntax.as_arg body3 in + [uu____18293] in + (uu____18277, uu____18282) in + FStar_Syntax_Syntax.Tm_app uu____18260 in FStar_All.pipe_left mk1 uu____18259) - | uu____18332 -> failwith "impossible" in + | uu____18332 -> failwith "impossible" in let push_quant q binders pats body = match binders with | b::b'::_rest -> - let rest = b' :: _rest in + let rest = b' :: _rest in let body1 = - let uu____18397 = q (rest, pats, body) in + let uu____18397 = q (rest, pats, body) in let uu____18400 = FStar_Range.union_ranges b'.FStar_Parser_AST.brange - body.FStar_Parser_AST.range in + body.FStar_Parser_AST.range + in FStar_Parser_AST.mk_term uu____18397 uu____18400 - FStar_Parser_AST.Formula in - let uu____18401 = q ([b], ([], []), body1) in + FStar_Parser_AST.Formula + in + let uu____18401 = q ([b], ([], []), body1) in FStar_Parser_AST.mk_term uu____18401 f.FStar_Parser_AST.range FStar_Parser_AST.Formula - | uu____18412 -> failwith "impossible" in + | uu____18412 -> failwith "impossible" in let uu____18416 = - let uu____18417 = unparen f in uu____18417.FStar_Parser_AST.tm in + let uu____18417 = unparen f in uu____18417.FStar_Parser_AST.tm in match uu____18416 with - | FStar_Parser_AST.Labeled (f1, l, p) -> - let f2 = desugar_formula env f1 in + | FStar_Parser_AST.Labeled (f1,l,p) -> + let f2 = desugar_formula env f1 in FStar_All.pipe_left mk1 (FStar_Syntax_Syntax.Tm_meta (f2, (FStar_Syntax_Syntax.Meta_labeled (l, (f2.FStar_Syntax_Syntax.pos), p)))) - | FStar_Parser_AST.QForall ([], uu____18430, uu____18431) -> + | FStar_Parser_AST.QForall ([],uu____18430,uu____18431) -> failwith "Impossible: Quantifier without binders" - | FStar_Parser_AST.QExists ([], uu____18455, uu____18456) -> + | FStar_Parser_AST.QExists ([],uu____18455,uu____18456) -> failwith "Impossible: Quantifier without binders" - | FStar_Parser_AST.QForall (_1::_2::_3, pats, body) -> - let binders = _1 :: _2 :: _3 in + | FStar_Parser_AST.QForall (_1::_2::_3,pats,body) -> + let binders = _1 :: _2 :: _3 in let uu____18512 = - push_quant (fun x -> FStar_Parser_AST.QForall x) binders pats - body in + push_quant (fun x -> FStar_Parser_AST.QForall x) binders pats + body + in desugar_formula env uu____18512 - | FStar_Parser_AST.QExists (_1::_2::_3, pats, body) -> - let binders = _1 :: _2 :: _3 in + | FStar_Parser_AST.QExists (_1::_2::_3,pats,body) -> + let binders = _1 :: _2 :: _3 in let uu____18556 = - push_quant (fun x -> FStar_Parser_AST.QExists x) binders pats - body in + push_quant (fun x -> FStar_Parser_AST.QExists x) binders pats + body + in desugar_formula env uu____18556 - | FStar_Parser_AST.QForall (b::[], pats, body) -> + | FStar_Parser_AST.QForall (b::[],pats,body) -> desugar_quant FStar_Parser_Const.forall_lid b pats body - | FStar_Parser_AST.QExists (b::[], pats, body) -> + | FStar_Parser_AST.QExists (b::[],pats,body) -> desugar_quant FStar_Parser_Const.exists_lid b pats body | FStar_Parser_AST.Paren f1 -> failwith "impossible" | uu____18620 -> desugar_term env f + and (typars_of_binders : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.binder Prims.list -> (FStar_Syntax_DsEnv.env * (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.aqual) Prims.list)) = - fun env -> - fun bs -> + fun env -> + fun bs -> let uu____18625 = FStar_List.fold_left - (fun uu____18658 -> - fun b -> + (fun uu____18658 -> + fun b -> match uu____18658 with - | (env1, out) -> + | (env1,out) -> let tk = desugar_binder env1 - (let uu___2516_18702 = b in + (let uu___2517_18702 = b in { FStar_Parser_AST.b = - (uu___2516_18702.FStar_Parser_AST.b); + (uu___2517_18702.FStar_Parser_AST.b); FStar_Parser_AST.brange = - (uu___2516_18702.FStar_Parser_AST.brange); + (uu___2517_18702.FStar_Parser_AST.brange); FStar_Parser_AST.blevel = FStar_Parser_AST.Formula; FStar_Parser_AST.aqual = - (uu___2516_18702.FStar_Parser_AST.aqual) - }) in + (uu___2517_18702.FStar_Parser_AST.aqual) + }) + in (match tk with - | (FStar_Pervasives_Native.Some a, k) -> - let uu____18717 = FStar_Syntax_DsEnv.push_bv env1 a in + | (FStar_Pervasives_Native.Some a,k) -> + let uu____18717 = FStar_Syntax_DsEnv.push_bv env1 a + in (match uu____18717 with - | (env2, a1) -> + | (env2,a1) -> let a2 = - let uu___2526_18735 = a1 in + let uu___2527_18735 = a1 in { FStar_Syntax_Syntax.ppname = - (uu___2526_18735.FStar_Syntax_Syntax.ppname); + (uu___2527_18735.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2526_18735.FStar_Syntax_Syntax.index); + (uu___2527_18735.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = k - } in + } in let uu____18736 = let uu____18743 = let uu____18748 = - trans_aqual env2 b.FStar_Parser_AST.aqual in - (a2, uu____18748) in - uu____18743 :: out in + trans_aqual env2 b.FStar_Parser_AST.aqual + in + (a2, uu____18748) in + uu____18743 :: out in (env2, uu____18736)) | uu____18759 -> FStar_Errors.raise_error (FStar_Errors.Fatal_UnexpectedBinder, "Unexpected binder") b.FStar_Parser_AST.brange)) - (env, []) bs in - match uu____18625 with - | (env1, tpars) -> (env1, (FStar_List.rev tpars)) + (env, []) bs + in + match uu____18625 with | (env1,tpars) -> (env1, (FStar_List.rev tpars)) + and (desugar_binder : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.binder -> (FStar_Ident.ident FStar_Pervasives_Native.option * FStar_Syntax_Syntax.term)) = - fun env -> - fun b -> + fun env -> + fun b -> match b.FStar_Parser_AST.b with - | FStar_Parser_AST.TAnnotated (x, t) -> - let uu____18832 = desugar_typ env t in + | FStar_Parser_AST.TAnnotated (x,t) -> + let uu____18832 = desugar_typ env t in ((FStar_Pervasives_Native.Some x), uu____18832) - | FStar_Parser_AST.Annotated (x, t) -> - let uu____18837 = desugar_typ env t in + | FStar_Parser_AST.Annotated (x,t) -> + let uu____18837 = desugar_typ env t in ((FStar_Pervasives_Native.Some x), uu____18837) | FStar_Parser_AST.TVariable x -> let uu____18841 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type FStar_Syntax_Syntax.U_unknown) - FStar_Pervasives_Native.None x.FStar_Ident.idRange in + FStar_Pervasives_Native.None x.FStar_Ident.idRange + in ((FStar_Pervasives_Native.Some x), uu____18841) | FStar_Parser_AST.NoName t -> - let uu____18845 = desugar_typ env t in + let uu____18845 = desugar_typ env t in (FStar_Pervasives_Native.None, uu____18845) | FStar_Parser_AST.Variable x -> ((FStar_Pervasives_Native.Some x), FStar_Syntax_Syntax.tun) + and (as_binder : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.arg_qualifier FStar_Pervasives_Native.option -> @@ -4646,99 +5081,107 @@ and (as_binder : ((FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) * FStar_Syntax_DsEnv.env)) = - fun env -> - fun imp -> - fun uu___12_18853 -> + fun env -> + fun imp -> + fun uu___12_18853 -> match uu___12_18853 with - | (FStar_Pervasives_Native.None, k) -> - let uu____18875 = FStar_Syntax_Syntax.null_binder k in + | (FStar_Pervasives_Native.None ,k) -> + let uu____18875 = FStar_Syntax_Syntax.null_binder k in (uu____18875, env) - | (FStar_Pervasives_Native.Some a, k) -> - let uu____18892 = FStar_Syntax_DsEnv.push_bv env a in + | (FStar_Pervasives_Native.Some a,k) -> + let uu____18892 = FStar_Syntax_DsEnv.push_bv env a in (match uu____18892 with - | (env1, a1) -> + | (env1,a1) -> let uu____18909 = - let uu____18916 = trans_aqual env1 imp in - ((let uu___2560_18922 = a1 in + let uu____18916 = trans_aqual env1 imp in + ((let uu___2561_18922 = a1 in { FStar_Syntax_Syntax.ppname = - (uu___2560_18922.FStar_Syntax_Syntax.ppname); + (uu___2561_18922.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2560_18922.FStar_Syntax_Syntax.index); + (uu___2561_18922.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = k - }), uu____18916) in + }), uu____18916) + in (uu____18909, env1)) + and (trans_aqual : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.arg_qualifier FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.aqual) = - fun env -> - fun uu___13_18930 -> + fun env -> + fun uu___13_18930 -> match uu___13_18930 with - | FStar_Pervasives_Native.Some (FStar_Parser_AST.Implicit) -> + | FStar_Pervasives_Native.Some (FStar_Parser_AST.Implicit ) -> FStar_Pervasives_Native.Some FStar_Syntax_Syntax.imp_tag - | FStar_Pervasives_Native.Some (FStar_Parser_AST.Equality) -> + | FStar_Pervasives_Native.Some (FStar_Parser_AST.Equality ) -> FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Equality | FStar_Pervasives_Native.Some (FStar_Parser_AST.Meta t) -> let uu____18934 = - let uu____18935 = desugar_term env t in - FStar_Syntax_Syntax.Meta uu____18935 in + let uu____18935 = desugar_term env t in + FStar_Syntax_Syntax.Meta uu____18935 in FStar_Pervasives_Native.Some uu____18934 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + let (binder_ident : FStar_Parser_AST.binder -> FStar_Ident.ident FStar_Pervasives_Native.option) = - fun b -> + fun b -> match b.FStar_Parser_AST.b with - | FStar_Parser_AST.TAnnotated (x, uu____18951) -> + | FStar_Parser_AST.TAnnotated (x,uu____18951) -> FStar_Pervasives_Native.Some x - | FStar_Parser_AST.Annotated (x, uu____18953) -> + | FStar_Parser_AST.Annotated (x,uu____18953) -> FStar_Pervasives_Native.Some x | FStar_Parser_AST.TVariable x -> FStar_Pervasives_Native.Some x | FStar_Parser_AST.Variable x -> FStar_Pervasives_Native.Some x | FStar_Parser_AST.NoName uu____18956 -> FStar_Pervasives_Native.None + let (binder_idents : FStar_Parser_AST.binder Prims.list -> FStar_Ident.ident Prims.list) = - fun bs -> + fun bs -> FStar_List.collect - (fun b -> - let uu____18974 = binder_ident b in + (fun b -> + let uu____18974 = binder_ident b in FStar_Common.list_of_option uu____18974) bs + let (mk_data_discriminators : FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Syntax_DsEnv.env -> FStar_Ident.lident Prims.list -> FStar_Syntax_Syntax.sigelt Prims.list) = - fun quals -> - fun env -> - fun datas -> + fun quals -> + fun env -> + fun datas -> let quals1 = FStar_All.pipe_right quals (FStar_List.filter - (fun uu___14_19011 -> + (fun uu___14_19011 -> match uu___14_19011 with - | FStar_Syntax_Syntax.NoExtract -> true - | FStar_Syntax_Syntax.Abstract -> true - | FStar_Syntax_Syntax.Private -> true - | uu____19016 -> false)) in + | FStar_Syntax_Syntax.NoExtract -> true + | FStar_Syntax_Syntax.Abstract -> true + | FStar_Syntax_Syntax.Private -> true + | uu____19016 -> false)) + in let quals2 q = let uu____19030 = - (let uu____19034 = FStar_Syntax_DsEnv.iface env in + (let uu____19034 = FStar_Syntax_DsEnv.iface env in Prims.op_Negation uu____19034) || - (FStar_Syntax_DsEnv.admitted_iface env) in + (FStar_Syntax_DsEnv.admitted_iface env) + in if uu____19030 then FStar_List.append (FStar_Syntax_Syntax.Assumption :: q) quals1 - else FStar_List.append q quals1 in + else FStar_List.append q quals1 in FStar_All.pipe_right datas (FStar_List.map - (fun d -> - let disc_name = FStar_Syntax_Util.mk_discriminator d in - let uu____19051 = FStar_Ident.range_of_lid disc_name in + (fun d -> + let disc_name = FStar_Syntax_Util.mk_discriminator d in + let uu____19051 = FStar_Ident.range_of_lid disc_name in let uu____19052 = quals2 [FStar_Syntax_Syntax.OnlyName; - FStar_Syntax_Syntax.Discriminator d] in + FStar_Syntax_Syntax.Discriminator d] + in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ @@ -4749,6 +5192,7 @@ let (mk_data_discriminators : FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] })) + let (mk_indexed_projector_names : FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Syntax_Syntax.fv_qual -> @@ -4757,27 +5201,29 @@ let (mk_indexed_projector_names : FStar_Syntax_Syntax.binder Prims.list -> FStar_Syntax_Syntax.sigelt Prims.list) = - fun iquals -> - fun fvq -> - fun env -> - fun lid -> - fun fields -> - let p = FStar_Ident.range_of_lid lid in + fun iquals -> + fun fvq -> + fun env -> + fun lid -> + fun fields -> + let p = FStar_Ident.range_of_lid lid in let uu____19092 = FStar_All.pipe_right fields (FStar_List.mapi - (fun i -> - fun uu____19130 -> + (fun i -> + fun uu____19130 -> match uu____19130 with - | (x, uu____19141) -> + | (x,uu____19141) -> let uu____19146 = FStar_Syntax_Util.mk_field_projector_name lid x - i in + i + in (match uu____19146 with - | (field_name, uu____19154) -> + | (field_name,uu____19154) -> let only_decl = ((let uu____19159 = - FStar_Syntax_DsEnv.current_module env in + FStar_Syntax_DsEnv.current_module env + in FStar_Ident.lid_equals FStar_Parser_Const.prims_lid uu____19159) @@ -4787,46 +5233,52 @@ let (mk_indexed_projector_names : (let uu____19161 = let uu____19163 = FStar_Syntax_DsEnv.current_module - env in - uu____19163.FStar_Ident.str in + env + in + uu____19163.FStar_Ident.str in FStar_Options.dont_gen_projectors - uu____19161) in + uu____19161) + in let no_decl = FStar_Syntax_Syntax.is_type - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in let quals q = if only_decl then let uu____19181 = FStar_List.filter - (fun uu___15_19185 -> + (fun uu___15_19185 -> match uu___15_19185 with - | FStar_Syntax_Syntax.Abstract -> - false - | uu____19188 -> true) q in + | FStar_Syntax_Syntax.Abstract + -> false + | uu____19188 -> true) q + in FStar_Syntax_Syntax.Assumption :: uu____19181 - else q in + else q in let quals1 = let iquals1 = FStar_All.pipe_right iquals (FStar_List.filter - (fun uu___16_19203 -> + (fun uu___16_19203 -> match uu___16_19203 with - | FStar_Syntax_Syntax.NoExtract + | FStar_Syntax_Syntax.NoExtract + -> true + | FStar_Syntax_Syntax.Abstract -> true - | FStar_Syntax_Syntax.Abstract + | FStar_Syntax_Syntax.Private -> true - | FStar_Syntax_Syntax.Private -> - true - | uu____19208 -> false)) in + | uu____19208 -> false)) + in quals (FStar_Syntax_Syntax.OnlyName :: (FStar_Syntax_Syntax.Projector (lid, (x.FStar_Syntax_Syntax.ppname))) - :: iquals1) in + :: iquals1) + in let decl = let uu____19211 = - FStar_Ident.range_of_lid field_name in + FStar_Ident.range_of_lid field_name in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ @@ -4837,7 +5289,7 @@ let (mk_indexed_projector_names : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in if only_decl then [decl] else @@ -4845,7 +5297,8 @@ let (mk_indexed_projector_names : let uu____19218 = FStar_All.pipe_right quals1 (FStar_List.contains - FStar_Syntax_Syntax.Abstract) in + FStar_Syntax_Syntax.Abstract) + in if uu____19218 then FStar_Syntax_Syntax.Delta_abstract @@ -4853,14 +5306,16 @@ let (mk_indexed_projector_names : (Prims.parse_int "1")) else FStar_Syntax_Syntax.Delta_equational_at_level - (Prims.parse_int "1") in + (Prims.parse_int "1") + in let lb = let uu____19229 = let uu____19234 = FStar_Syntax_Syntax.lid_as_fv field_name dd - FStar_Pervasives_Native.None in - FStar_Util.Inr uu____19234 in + FStar_Pervasives_Native.None + in + FStar_Util.Inr uu____19234 in { FStar_Syntax_Syntax.lbname = uu____19229; @@ -4874,7 +5329,7 @@ let (mk_indexed_projector_names : FStar_Syntax_Syntax.lbattrs = []; FStar_Syntax_Syntax.lbpos = FStar_Range.dummyRange - } in + } in let impl = let uu____19238 = let uu____19239 = @@ -4883,15 +5338,18 @@ let (mk_indexed_projector_names : let uu____19250 = FStar_All.pipe_right lb.FStar_Syntax_Syntax.lbname - FStar_Util.right in + FStar_Util.right + in FStar_All.pipe_right uu____19250 - (fun fv -> - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) in - [uu____19249] in - ((false, [lb]), uu____19246) in + (fun fv -> + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) + in + [uu____19249] in + ((false, [lb]), uu____19246) in FStar_Syntax_Syntax.Sig_let - uu____19239 in + uu____19239 + in { FStar_Syntax_Syntax.sigel = uu____19238; @@ -4900,44 +5358,47 @@ let (mk_indexed_projector_names : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in - if no_decl then [impl] else [decl; impl])))) in + } in + if no_decl then [impl] else [decl; impl])))) + in FStar_All.pipe_right uu____19092 FStar_List.flatten + let (mk_data_projector_names : FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt Prims.list) = - fun iquals -> - fun env -> - fun se -> + fun iquals -> + fun env -> + fun se -> match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (lid, uu____19299, t, uu____19301, n1, uu____19303) when + (lid,uu____19299,t,uu____19301,n1,uu____19303) when let uu____19310 = - FStar_Ident.lid_equals lid FStar_Parser_Const.lexcons_lid in + FStar_Ident.lid_equals lid FStar_Parser_Const.lexcons_lid in Prims.op_Negation uu____19310 -> - let uu____19312 = FStar_Syntax_Util.arrow_formals t in + let uu____19312 = FStar_Syntax_Util.arrow_formals t in (match uu____19312 with - | (formals, uu____19330) -> + | (formals,uu____19330) -> (match formals with | [] -> [] | uu____19359 -> let filter_records uu___17_19375 = match uu___17_19375 with | FStar_Syntax_Syntax.RecordConstructor - (uu____19378, fns) -> + (uu____19378,fns) -> FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_ctor (lid, fns)) - | uu____19390 -> FStar_Pervasives_Native.None in + | uu____19390 -> FStar_Pervasives_Native.None in let fv_qual = let uu____19392 = FStar_Util.find_map se.FStar_Syntax_Syntax.sigquals - filter_records in + filter_records + in match uu____19392 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Syntax_Syntax.Data_ctor - | FStar_Pervasives_Native.Some q -> q in + | FStar_Pervasives_Native.Some q -> q in let iquals1 = if (FStar_List.contains FStar_Syntax_Syntax.Abstract @@ -4947,13 +5408,14 @@ let (mk_data_projector_names : (FStar_List.contains FStar_Syntax_Syntax.Private iquals)) then FStar_Syntax_Syntax.Private :: iquals - else iquals in - let uu____19404 = FStar_Util.first_N n1 formals in + else iquals in + let uu____19404 = FStar_Util.first_N n1 formals in (match uu____19404 with - | (uu____19433, rest) -> + | (uu____19433,rest) -> mk_indexed_projector_names iquals1 fv_qual env lid rest))) | uu____19467 -> [] + let (mk_typ_abbrev : FStar_Ident.lident -> FStar_Syntax_Syntax.univ_name Prims.list -> @@ -4965,40 +5427,42 @@ let (mk_typ_abbrev : FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Range.range -> FStar_Syntax_Syntax.sigelt) = - fun lid -> - fun uvs -> - fun typars -> - fun kopt -> - fun t -> - fun lids -> - fun quals -> - fun rng -> + fun lid -> + fun uvs -> + fun typars -> + fun kopt -> + fun t -> + fun lids -> + fun quals -> + fun rng -> let dd = let uu____19546 = FStar_All.pipe_right quals - (FStar_List.contains FStar_Syntax_Syntax.Abstract) in + (FStar_List.contains FStar_Syntax_Syntax.Abstract) + in if uu____19546 then let uu____19552 = - FStar_Syntax_Util.incr_delta_qualifier t in + FStar_Syntax_Util.incr_delta_qualifier t in FStar_Syntax_Syntax.Delta_abstract uu____19552 - else FStar_Syntax_Util.incr_delta_qualifier t in + else FStar_Syntax_Util.incr_delta_qualifier t in let lb = let uu____19556 = let uu____19561 = FStar_Syntax_Syntax.lid_as_fv lid dd - FStar_Pervasives_Native.None in - FStar_Util.Inr uu____19561 in + FStar_Pervasives_Native.None + in + FStar_Util.Inr uu____19561 in let uu____19562 = if FStar_Util.is_some kopt then let uu____19568 = let uu____19571 = - FStar_All.pipe_right kopt FStar_Util.must in - FStar_Syntax_Syntax.mk_Total uu____19571 in + FStar_All.pipe_right kopt FStar_Util.must in + FStar_Syntax_Syntax.mk_Total uu____19571 in FStar_Syntax_Util.arrow typars uu____19568 - else FStar_Syntax_Syntax.tun in - let uu____19576 = no_annot_abs typars t in + else FStar_Syntax_Syntax.tun in + let uu____19576 = no_annot_abs typars t in { FStar_Syntax_Syntax.lbname = uu____19556; FStar_Syntax_Syntax.lbunivs = uvs; @@ -5008,7 +5472,7 @@ let (mk_typ_abbrev : FStar_Syntax_Syntax.lbdef = uu____19576; FStar_Syntax_Syntax.lbattrs = []; FStar_Syntax_Syntax.lbpos = rng - } in + } in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_let ((false, [lb]), lids)); @@ -5018,6 +5482,7 @@ let (mk_typ_abbrev : FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] } + let rec (desugar_tycon : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.decl -> @@ -5025,155 +5490,172 @@ let rec (desugar_tycon : FStar_Parser_AST.tycon Prims.list -> (env_t * FStar_Syntax_Syntax.sigelts)) = - fun env -> - fun d -> - fun quals -> - fun tcs -> - let rng = d.FStar_Parser_AST.drange in + fun env -> + fun d -> + fun quals -> + fun tcs -> + let rng = d.FStar_Parser_AST.drange in let tycon_id uu___18_19630 = match uu___18_19630 with - | FStar_Parser_AST.TyconAbstract (id1, uu____19632, uu____19633) - -> id1 + | FStar_Parser_AST.TyconAbstract (id1,uu____19632,uu____19633) -> + id1 | FStar_Parser_AST.TyconAbbrev - (id1, uu____19643, uu____19644, uu____19645) -> id1 + (id1,uu____19643,uu____19644,uu____19645) -> id1 | FStar_Parser_AST.TyconRecord - (id1, uu____19655, uu____19656, uu____19657) -> id1 + (id1,uu____19655,uu____19656,uu____19657) -> id1 | FStar_Parser_AST.TyconVariant - (id1, uu____19687, uu____19688, uu____19689) -> id1 in + (id1,uu____19687,uu____19688,uu____19689) -> id1 + in let binder_to_term b = match b.FStar_Parser_AST.b with - | FStar_Parser_AST.Annotated (x, uu____19735) -> + | FStar_Parser_AST.Annotated (x,uu____19735) -> let uu____19736 = - let uu____19737 = FStar_Ident.lid_of_ids [x] in - FStar_Parser_AST.Var uu____19737 in + let uu____19737 = FStar_Ident.lid_of_ids [x] in + FStar_Parser_AST.Var uu____19737 in FStar_Parser_AST.mk_term uu____19736 x.FStar_Ident.idRange FStar_Parser_AST.Expr | FStar_Parser_AST.Variable x -> let uu____19739 = - let uu____19740 = FStar_Ident.lid_of_ids [x] in - FStar_Parser_AST.Var uu____19740 in + let uu____19740 = FStar_Ident.lid_of_ids [x] in + FStar_Parser_AST.Var uu____19740 in FStar_Parser_AST.mk_term uu____19739 x.FStar_Ident.idRange FStar_Parser_AST.Expr - | FStar_Parser_AST.TAnnotated (a, uu____19742) -> + | FStar_Parser_AST.TAnnotated (a,uu____19742) -> FStar_Parser_AST.mk_term (FStar_Parser_AST.Tvar a) a.FStar_Ident.idRange FStar_Parser_AST.Type_level | FStar_Parser_AST.TVariable a -> FStar_Parser_AST.mk_term (FStar_Parser_AST.Tvar a) a.FStar_Ident.idRange FStar_Parser_AST.Type_level - | FStar_Parser_AST.NoName t -> t in + | FStar_Parser_AST.NoName t -> t in let tot = FStar_Parser_AST.mk_term (FStar_Parser_AST.Name FStar_Parser_Const.effect_Tot_lid) rng - FStar_Parser_AST.Expr in + FStar_Parser_AST.Expr + in let with_constructor_effect t = FStar_Parser_AST.mk_term (FStar_Parser_AST.App (tot, t, FStar_Parser_AST.Nothing)) - t.FStar_Parser_AST.range t.FStar_Parser_AST.level in + t.FStar_Parser_AST.range t.FStar_Parser_AST.level + in let apply_binders t binders = let imp_of_aqual b = match b.FStar_Parser_AST.aqual with - | FStar_Pervasives_Native.Some (FStar_Parser_AST.Implicit) -> + | FStar_Pervasives_Native.Some (FStar_Parser_AST.Implicit ) -> FStar_Parser_AST.Hash - | uu____19773 -> FStar_Parser_AST.Nothing in + | uu____19773 -> FStar_Parser_AST.Nothing in FStar_List.fold_left - (fun out -> - fun b -> + (fun out -> + fun b -> let uu____19781 = let uu____19782 = - let uu____19789 = binder_to_term b in - (out, uu____19789, (imp_of_aqual b)) in - FStar_Parser_AST.App uu____19782 in + let uu____19789 = binder_to_term b in + (out, uu____19789, (imp_of_aqual b)) in + FStar_Parser_AST.App uu____19782 in FStar_Parser_AST.mk_term uu____19781 out.FStar_Parser_AST.range out.FStar_Parser_AST.level) t - binders in + binders + in let tycon_record_as_variant uu___19_19801 = match uu___19_19801 with - | FStar_Parser_AST.TyconRecord (id1, parms, kopt, fields) -> + | FStar_Parser_AST.TyconRecord (id1,parms,kopt,fields) -> let constrName = FStar_Ident.mk_ident ((Prims.op_Hat "Mk" id1.FStar_Ident.idText), - (id1.FStar_Ident.idRange)) in + (id1.FStar_Ident.idRange)) + in let mfields = FStar_List.map - (fun uu____19858 -> + (fun uu____19858 -> match uu____19858 with - | (x, t, uu____19869) -> + | (x,t,uu____19869) -> FStar_Parser_AST.mk_binder (FStar_Parser_AST.Annotated (x, t)) x.FStar_Ident.idRange FStar_Parser_AST.Expr - FStar_Pervasives_Native.None) fields in + FStar_Pervasives_Native.None) fields + in let result = let uu____19875 = let uu____19876 = - let uu____19877 = FStar_Ident.lid_of_ids [id1] in - FStar_Parser_AST.Var uu____19877 in + let uu____19877 = FStar_Ident.lid_of_ids [id1] in + FStar_Parser_AST.Var uu____19877 in FStar_Parser_AST.mk_term uu____19876 - id1.FStar_Ident.idRange FStar_Parser_AST.Type_level in - apply_binders uu____19875 parms in + id1.FStar_Ident.idRange FStar_Parser_AST.Type_level + in + apply_binders uu____19875 parms in let constrTyp = FStar_Parser_AST.mk_term (FStar_Parser_AST.Product (mfields, (with_constructor_effect result))) - id1.FStar_Ident.idRange FStar_Parser_AST.Type_level in + id1.FStar_Ident.idRange FStar_Parser_AST.Type_level + in let names1 = - let uu____19884 = binder_idents parms in id1 :: uu____19884 in + let uu____19884 = binder_idents parms in id1 :: + uu____19884 + in (FStar_List.iter - (fun uu____19902 -> + (fun uu____19902 -> match uu____19902 with - | (f, uu____19912, uu____19913) -> + | (f,uu____19912,uu____19913) -> let uu____19918 = FStar_Util.for_some - (fun i -> FStar_Ident.ident_equals f i) names1 in + (fun i -> FStar_Ident.ident_equals f i) names1 + in if uu____19918 then let uu____19923 = let uu____19929 = let uu____19931 = - FStar_Ident.string_of_ident f in + FStar_Ident.string_of_ident f in FStar_Util.format1 "Field %s shadows the record's name or a parameter of it, please rename it" - uu____19931 in - (FStar_Errors.Error_FieldShadow, uu____19929) in + uu____19931 + in + (FStar_Errors.Error_FieldShadow, uu____19929) + in FStar_Errors.raise_error uu____19923 f.FStar_Ident.idRange else ()) fields; (let uu____19937 = FStar_All.pipe_right fields (FStar_List.map - (fun uu____19964 -> + (fun uu____19964 -> match uu____19964 with - | (x, uu____19974, uu____19975) -> x)) in + | (x,uu____19974,uu____19975) -> x)) + in ((FStar_Parser_AST.TyconVariant (id1, parms, kopt, [(constrName, (FStar_Pervasives_Native.Some constrTyp), FStar_Pervasives_Native.None, false)])), uu____19937))) - | uu____20033 -> failwith "impossible" in + | uu____20033 -> failwith "impossible" in let desugar_abstract_tc quals1 _env mutuals uu___20_20073 = match uu___20_20073 with - | FStar_Parser_AST.TyconAbstract (id1, binders, kopt) -> - let uu____20097 = typars_of_binders _env binders in + | FStar_Parser_AST.TyconAbstract (id1,binders,kopt) -> + let uu____20097 = typars_of_binders _env binders in (match uu____20097 with - | (_env', typars) -> + | (_env',typars) -> let k = match kopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Syntax_Util.ktype | FStar_Pervasives_Native.Some k -> - desugar_term _env' k in + desugar_term _env' k + in let tconstr = let uu____20133 = let uu____20134 = - let uu____20135 = FStar_Ident.lid_of_ids [id1] in - FStar_Parser_AST.Var uu____20135 in + let uu____20135 = FStar_Ident.lid_of_ids [id1] in + FStar_Parser_AST.Var uu____20135 in FStar_Parser_AST.mk_term uu____20134 id1.FStar_Ident.idRange - FStar_Parser_AST.Type_level in - apply_binders uu____20133 binders in - let qlid = FStar_Syntax_DsEnv.qualify _env id1 in - let typars1 = FStar_Syntax_Subst.close_binders typars in - let k1 = FStar_Syntax_Subst.close typars1 k in + FStar_Parser_AST.Type_level + in + apply_binders uu____20133 binders in + let qlid = FStar_Syntax_DsEnv.qualify _env id1 in + let typars1 = FStar_Syntax_Subst.close_binders typars + in + let k1 = FStar_Syntax_Subst.close typars1 k in let se = { FStar_Syntax_Syntax.sigel = @@ -5184,47 +5666,51 @@ let rec (desugar_tycon : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in let _env1 = FStar_Syntax_DsEnv.push_top_level_rec_binding _env id1 - FStar_Syntax_Syntax.delta_constant in + FStar_Syntax_Syntax.delta_constant + in let _env2 = FStar_Syntax_DsEnv.push_top_level_rec_binding _env' - id1 FStar_Syntax_Syntax.delta_constant in + id1 FStar_Syntax_Syntax.delta_constant + in (_env1, _env2, se, tconstr)) - | uu____20146 -> failwith "Unexpected tycon" in + | uu____20146 -> failwith "Unexpected tycon" in let push_tparams env1 bs = let uu____20189 = FStar_List.fold_left - (fun uu____20223 -> - fun uu____20224 -> + (fun uu____20223 -> + fun uu____20224 -> match (uu____20223, uu____20224) with - | ((env2, tps), (x, imp)) -> + | ((env2,tps),(x,imp)) -> let uu____20293 = FStar_Syntax_DsEnv.push_bv env2 - x.FStar_Syntax_Syntax.ppname in + x.FStar_Syntax_Syntax.ppname + in (match uu____20293 with - | (env3, y) -> (env3, ((y, imp) :: tps)))) - (env1, []) bs in + | (env3,y) -> (env3, ((y, imp) :: tps)))) + (env1, []) bs + in match uu____20189 with - | (env2, bs1) -> (env2, (FStar_List.rev bs1)) in + | (env2,bs1) -> (env2, (FStar_List.rev bs1)) in match tcs with - | (FStar_Parser_AST.TyconAbstract (id1, bs, kopt))::[] -> + | (FStar_Parser_AST.TyconAbstract (id1,bs,kopt))::[] -> let kopt1 = match kopt with - | FStar_Pervasives_Native.None -> - let uu____20384 = tm_type_z id1.FStar_Ident.idRange in + | FStar_Pervasives_Native.None -> + let uu____20384 = tm_type_z id1.FStar_Ident.idRange in FStar_Pervasives_Native.Some uu____20384 - | uu____20385 -> kopt in - let tc = FStar_Parser_AST.TyconAbstract (id1, bs, kopt1) in - let uu____20393 = desugar_abstract_tc quals env [] tc in + | uu____20385 -> kopt in + let tc = FStar_Parser_AST.TyconAbstract (id1, bs, kopt1) in + let uu____20393 = desugar_abstract_tc quals env [] tc in (match uu____20393 with - | (uu____20406, uu____20407, se, uu____20409) -> + | (uu____20406,uu____20407,se,uu____20409) -> let se1 = match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (l, uu____20412, typars, k, [], []) -> - let quals1 = se.FStar_Syntax_Syntax.sigquals in + (l,uu____20412,typars,k,[],[]) -> + let quals1 = se.FStar_Syntax_Syntax.sigquals in let quals2 = if FStar_List.contains @@ -5232,19 +5718,22 @@ let rec (desugar_tycon : then quals1 else ((let uu____20431 = - let uu____20433 = FStar_Options.ml_ish () in - Prims.op_Negation uu____20433 in + let uu____20433 = FStar_Options.ml_ish () + in + Prims.op_Negation uu____20433 in if uu____20431 then let uu____20436 = let uu____20442 = let uu____20444 = - FStar_Syntax_Print.lid_to_string l in + FStar_Syntax_Print.lid_to_string l in FStar_Util.format1 "Adding an implicit 'assume new' qualifier on %s" - uu____20444 in + uu____20444 + in (FStar_Errors.Warning_AddImplicitAssumeNewQualifier, - uu____20442) in + uu____20442) + in FStar_Errors.log_issue se.FStar_Syntax_Syntax.sigrng uu____20436 else ()); @@ -5252,7 +5741,8 @@ let rec (desugar_tycon : :: FStar_Syntax_Syntax.New :: - quals1) in + quals1) + in let t = match typars with | [] -> k @@ -5261,117 +5751,129 @@ let rec (desugar_tycon : let uu____20465 = let uu____20466 = let uu____20481 = - FStar_Syntax_Syntax.mk_Total k in - (typars, uu____20481) in - FStar_Syntax_Syntax.Tm_arrow uu____20466 in - FStar_Syntax_Syntax.mk uu____20465 in + FStar_Syntax_Syntax.mk_Total k in + (typars, uu____20481) in + FStar_Syntax_Syntax.Tm_arrow uu____20466 + in + FStar_Syntax_Syntax.mk uu____20465 in uu____20458 FStar_Pervasives_Native.None - se.FStar_Syntax_Syntax.sigrng in - let uu___2835_20494 = se in + se.FStar_Syntax_Syntax.sigrng + in + let uu___2836_20494 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (l, [], t)); FStar_Syntax_Syntax.sigrng = - (uu___2835_20494.FStar_Syntax_Syntax.sigrng); + (uu___2836_20494.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = quals2; FStar_Syntax_Syntax.sigmeta = - (uu___2835_20494.FStar_Syntax_Syntax.sigmeta); + (uu___2836_20494.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___2835_20494.FStar_Syntax_Syntax.sigattrs) + (uu___2836_20494.FStar_Syntax_Syntax.sigattrs) } - | uu____20495 -> failwith "Impossible" in - let env1 = FStar_Syntax_DsEnv.push_sigelt env se1 in + | uu____20495 -> failwith "Impossible" in + let env1 = FStar_Syntax_DsEnv.push_sigelt env se1 in let env2 = - let uu____20499 = FStar_Syntax_DsEnv.qualify env1 id1 in + let uu____20499 = FStar_Syntax_DsEnv.qualify env1 id1 + in FStar_Syntax_DsEnv.push_doc env1 uu____20499 - d.FStar_Parser_AST.doc in + d.FStar_Parser_AST.doc + in (env2, [se1])) - | (FStar_Parser_AST.TyconAbbrev (id1, binders, kopt, t))::[] -> - let uu____20512 = typars_of_binders env binders in + | (FStar_Parser_AST.TyconAbbrev (id1,binders,kopt,t))::[] -> + let uu____20512 = typars_of_binders env binders in (match uu____20512 with - | (env', typars) -> + | (env',typars) -> let kopt1 = match kopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____20546 = FStar_Util.for_some - (fun uu___21_20549 -> + (fun uu___21_20549 -> match uu___21_20549 with - | FStar_Syntax_Syntax.Effect -> true - | uu____20552 -> false) quals in + | FStar_Syntax_Syntax.Effect -> true + | uu____20552 -> false) quals + in if uu____20546 then FStar_Pervasives_Native.Some FStar_Syntax_Syntax.teff else FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some k -> - let uu____20560 = desugar_term env' k in - FStar_Pervasives_Native.Some uu____20560 in - let t0 = t in + let uu____20560 = desugar_term env' k in + FStar_Pervasives_Native.Some uu____20560 + in + let t0 = t in let quals1 = let uu____20565 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___22_20571 -> + (fun uu___22_20571 -> match uu___22_20571 with - | FStar_Syntax_Syntax.Logic -> true - | uu____20574 -> false)) in + | FStar_Syntax_Syntax.Logic -> true + | uu____20574 -> false)) + in if uu____20565 then quals else if t0.FStar_Parser_AST.level = FStar_Parser_AST.Formula then FStar_Syntax_Syntax.Logic :: quals - else quals in - let qlid = FStar_Syntax_DsEnv.qualify env id1 in + else quals + in + let qlid = FStar_Syntax_DsEnv.qualify env id1 in let se = let uu____20588 = FStar_All.pipe_right quals1 - (FStar_List.contains FStar_Syntax_Syntax.Effect) in + (FStar_List.contains FStar_Syntax_Syntax.Effect) + in if uu____20588 then let uu____20594 = let uu____20601 = - let uu____20602 = unparen t in - uu____20602.FStar_Parser_AST.tm in + let uu____20602 = unparen t in + uu____20602.FStar_Parser_AST.tm in match uu____20601 with - | FStar_Parser_AST.Construct (head1, args) -> + | FStar_Parser_AST.Construct (head1,args) -> let uu____20623 = match FStar_List.rev args with - | (last_arg, uu____20653)::args_rev -> + | (last_arg,uu____20653)::args_rev -> let uu____20665 = - let uu____20666 = unparen last_arg in - uu____20666.FStar_Parser_AST.tm in + let uu____20666 = unparen last_arg in + uu____20666.FStar_Parser_AST.tm in (match uu____20665 with | FStar_Parser_AST.Attributes ts -> (ts, (FStar_List.rev args_rev)) | uu____20694 -> ([], args)) - | uu____20703 -> ([], args) in + | uu____20703 -> ([], args) in (match uu____20623 with - | (cattributes, args1) -> + | (cattributes,args1) -> let uu____20742 = - desugar_attributes env cattributes in + desugar_attributes env cattributes in ((FStar_Parser_AST.mk_term (FStar_Parser_AST.Construct (head1, args1)) t.FStar_Parser_AST.range t.FStar_Parser_AST.level), uu____20742)) - | uu____20753 -> (t, []) in + | uu____20753 -> (t, []) in match uu____20594 with - | (t1, cattributes) -> + | (t1,cattributes) -> let c = desugar_comp t1.FStar_Parser_AST.range false - env' t1 in + env' t1 + in let typars1 = - FStar_Syntax_Subst.close_binders typars in - let c1 = FStar_Syntax_Subst.close_comp typars1 c in + FStar_Syntax_Subst.close_binders typars in + let c1 = FStar_Syntax_Subst.close_comp typars1 c + in let quals2 = FStar_All.pipe_right quals1 (FStar_List.filter - (fun uu___23_20776 -> + (fun uu___23_20776 -> match uu___23_20776 with - | FStar_Syntax_Syntax.Effect -> false - | uu____20779 -> true)) in + | FStar_Syntax_Syntax.Effect -> false + | uu____20779 -> true)) + in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_effect_abbrev @@ -5385,79 +5887,85 @@ let rec (desugar_tycon : FStar_Syntax_Syntax.sigattrs = [] } else - (let t1 = desugar_typ env' t in + (let t1 = desugar_typ env' t in mk_typ_abbrev qlid [] typars kopt1 t1 [qlid] quals1 - rng) in - let env1 = FStar_Syntax_DsEnv.push_sigelt env se in + rng) + in + let env1 = FStar_Syntax_DsEnv.push_sigelt env se in let env2 = FStar_Syntax_DsEnv.push_doc env1 qlid - d.FStar_Parser_AST.doc in + d.FStar_Parser_AST.doc + in (env2, [se])) | (FStar_Parser_AST.TyconRecord uu____20788)::[] -> - let trec = FStar_List.hd tcs in - let uu____20812 = tycon_record_as_variant trec in + let trec = FStar_List.hd tcs in + let uu____20812 = tycon_record_as_variant trec in (match uu____20812 with - | (t, fs) -> + | (t,fs) -> let uu____20829 = let uu____20832 = let uu____20833 = let uu____20842 = let uu____20845 = - FStar_Syntax_DsEnv.current_module env in - FStar_Ident.ids_of_lid uu____20845 in - (uu____20842, fs) in - FStar_Syntax_Syntax.RecordType uu____20833 in - uu____20832 :: quals in + FStar_Syntax_DsEnv.current_module env in + FStar_Ident.ids_of_lid uu____20845 in + (uu____20842, fs) in + FStar_Syntax_Syntax.RecordType uu____20833 in + uu____20832 :: quals in desugar_tycon env d uu____20829 [t]) | uu____20850::uu____20851 -> - let env0 = env in + let env0 = env in let mutuals = FStar_List.map - (fun x -> + (fun x -> FStar_All.pipe_left (FStar_Syntax_DsEnv.qualify env) - (tycon_id x)) tcs in + (tycon_id x)) tcs + in let rec collect_tcs quals1 et tc = - let uu____21021 = et in + let uu____21021 = et in match uu____21021 with - | (env1, tcs1) -> + | (env1,tcs1) -> (match tc with | FStar_Parser_AST.TyconRecord uu____21251 -> - let trec = tc in - let uu____21275 = tycon_record_as_variant trec in + let trec = tc in + let uu____21275 = tycon_record_as_variant trec in (match uu____21275 with - | (t, fs) -> + | (t,fs) -> let uu____21335 = let uu____21338 = let uu____21339 = let uu____21348 = let uu____21351 = FStar_Syntax_DsEnv.current_module - env1 in - FStar_Ident.ids_of_lid uu____21351 in - (uu____21348, fs) in - FStar_Syntax_Syntax.RecordType uu____21339 in - uu____21338 :: quals1 in + env1 + in + FStar_Ident.ids_of_lid uu____21351 in + (uu____21348, fs) in + FStar_Syntax_Syntax.RecordType uu____21339 + in + uu____21338 :: quals1 in collect_tcs uu____21335 (env1, tcs1) t) | FStar_Parser_AST.TyconVariant - (id1, binders, kopt, constructors) -> + (id1,binders,kopt,constructors) -> let uu____21441 = desugar_abstract_tc quals1 env1 mutuals (FStar_Parser_AST.TyconAbstract - (id1, binders, kopt)) in + (id1, binders, kopt)) + in (match uu____21441 with - | (env2, uu____21502, se, tconstr) -> + | (env2,uu____21502,se,tconstr) -> (env2, ((FStar_Util.Inl (se, constructors, tconstr, quals1)) :: tcs1))) - | FStar_Parser_AST.TyconAbbrev (id1, binders, kopt, t) - -> + | FStar_Parser_AST.TyconAbbrev (id1,binders,kopt,t) -> let uu____21655 = desugar_abstract_tc quals1 env1 mutuals (FStar_Parser_AST.TyconAbstract - (id1, binders, kopt)) in + (id1, binders, kopt)) + in (match uu____21655 with - | (env2, uu____21716, se, tconstr) -> + | (env2,uu____21716,se,tconstr) -> (env2, ((FStar_Util.Inr (se, binders, t, quals1)) :: tcs1))) @@ -5465,67 +5973,69 @@ let rec (desugar_tycon : FStar_Errors.raise_error (FStar_Errors.Fatal_NonInductiveInMutuallyDefinedType, "Mutually defined type contains a non-inductive element") - rng) in + rng) + in let uu____21894 = - FStar_List.fold_left (collect_tcs quals) (env, []) tcs in + FStar_List.fold_left (collect_tcs quals) (env, []) tcs in (match uu____21894 with - | (env1, tcs1) -> - let tcs2 = FStar_List.rev tcs1 in + | (env1,tcs1) -> + let tcs2 = FStar_List.rev tcs1 in let docs_tps_sigelts = FStar_All.pipe_right tcs2 (FStar_List.collect - (fun uu___25_22409 -> + (fun uu___25_22409 -> match uu___25_22409 with | FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_inductive_typ - (id1, uvs, tpars, k, uu____22475, - uu____22476); + (id1,uvs,tpars,k,uu____22475,uu____22476); FStar_Syntax_Syntax.sigrng = uu____22477; FStar_Syntax_Syntax.sigquals = uu____22478; FStar_Syntax_Syntax.sigmeta = uu____22479; FStar_Syntax_Syntax.sigattrs = - uu____22480;_}, - binders, t, quals1) + uu____22480;_},binders,t,quals1) -> let t1 = let uu____22544 = - typars_of_binders env1 binders in + typars_of_binders env1 binders in match uu____22544 with - | (env2, tpars1) -> + | (env2,tpars1) -> let uu____22571 = - push_tparams env2 tpars1 in + push_tparams env2 tpars1 in (match uu____22571 with - | (env_tps, tpars2) -> - let t1 = desugar_typ env_tps t in + | (env_tps,tpars2) -> + let t1 = desugar_typ env_tps t + in let tpars3 = FStar_Syntax_Subst.close_binders - tpars2 in + tpars2 + in FStar_Syntax_Subst.close tpars3 - t1) in + t1) + in let uu____22600 = let uu____22619 = mk_typ_abbrev id1 uvs tpars (FStar_Pervasives_Native.Some k) t1 - [id1] quals1 rng in + [id1] quals1 rng + in ((id1, (d.FStar_Parser_AST.doc)), [], - uu____22619) in + uu____22619) + in [uu____22600] | FStar_Util.Inl ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_inductive_typ - (tname, univs1, tpars, k, mutuals1, - uu____22679); + (tname,univs1,tpars,k,mutuals1,uu____22679); FStar_Syntax_Syntax.sigrng = uu____22680; FStar_Syntax_Syntax.sigquals = tname_quals; FStar_Syntax_Syntax.sigmeta = uu____22682; FStar_Syntax_Syntax.sigattrs = - uu____22683;_}, - constrs, tconstr, quals1) + uu____22683;_},constrs,tconstr,quals1) -> let mk_tot t = let tot1 = @@ -5533,34 +6043,38 @@ let rec (desugar_tycon : (FStar_Parser_AST.Name FStar_Parser_Const.effect_Tot_lid) t.FStar_Parser_AST.range - t.FStar_Parser_AST.level in + t.FStar_Parser_AST.level + in FStar_Parser_AST.mk_term (FStar_Parser_AST.App (tot1, t, FStar_Parser_AST.Nothing)) t.FStar_Parser_AST.range - t.FStar_Parser_AST.level in - let tycon = (tname, tpars, k) in - let uu____22784 = push_tparams env1 tpars in + t.FStar_Parser_AST.level + in + let tycon = (tname, tpars, k) in + let uu____22784 = push_tparams env1 tpars + in (match uu____22784 with - | (env_tps, tps) -> + | (env_tps,tps) -> let data_tpars = FStar_List.map - (fun uu____22851 -> + (fun uu____22851 -> match uu____22851 with - | (x, uu____22863) -> + | (x,uu____22863) -> (x, (FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit - true)))) tps in - let tot_tconstr = mk_tot tconstr in + true)))) tps + in + let tot_tconstr = mk_tot tconstr in let uu____22868 = let uu____22895 = FStar_All.pipe_right constrs (FStar_List.map - (fun uu____23005 -> + (fun uu____23005 -> match uu____23005 with - | (id1, topt, doc1, - of_notation) -> + | (id1,topt,doc1,of_notation) + -> let t = if of_notation then @@ -5580,30 +6094,33 @@ let rec (desugar_tycon : t.FStar_Parser_AST.range t.FStar_Parser_AST.level | FStar_Pervasives_Native.None - -> tconstr + -> tconstr else (match topt with | FStar_Pervasives_Native.None - -> + -> failwith "Impossible" | FStar_Pervasives_Native.Some - t -> t) in + t -> t) + in let t1 = let uu____23065 = - close env_tps t in + close env_tps t in desugar_term env_tps - uu____23065 in + uu____23065 + in let name = FStar_Syntax_DsEnv.qualify - env1 id1 in + env1 id1 + in let quals2 = FStar_All.pipe_right tname_quals (FStar_List.collect (fun uu___24_23076 - -> + -> match uu___24_23076 with | FStar_Syntax_Syntax.RecordType @@ -5612,10 +6129,12 @@ let rec (desugar_tycon : FStar_Syntax_Syntax.RecordConstructor fns] | uu____23088 - -> [])) in + -> [])) + in let ntps = FStar_List.length - data_tpars in + data_tpars + in let uu____23096 = let uu____23115 = let uu____23116 = @@ -5628,18 +6147,23 @@ let rec (desugar_tycon : = FStar_All.pipe_right t1 - FStar_Syntax_Util.name_function_binders in + FStar_Syntax_Util.name_function_binders + in FStar_Syntax_Syntax.mk_Total - uu____23137 in + uu____23137 + in FStar_Syntax_Util.arrow data_tpars - uu____23134 in + uu____23134 + in (name, univs1, uu____23133, tname, ntps, - mutuals1) in + mutuals1) + in FStar_Syntax_Syntax.Sig_datacon - uu____23117 in + uu____23117 + in { FStar_Syntax_Syntax.sigel = uu____23116; @@ -5652,14 +6176,17 @@ let rec (desugar_tycon : FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in ((name, doc1), tps, - uu____23115) in - (name, uu____23096))) in + uu____23115) + in + (name, uu____23096))) + in FStar_All.pipe_left FStar_List.split - uu____22895 in + uu____22895 + in (match uu____22868 with - | (constrNames, constrs1) -> + | (constrNames,constrs1) -> ((tname, (d.FStar_Parser_AST.doc)), [], { @@ -5677,50 +6204,56 @@ let rec (desugar_tycon : [] }) :: constrs1)) - | uu____23349 -> failwith "impossible")) in + | uu____23349 -> failwith "impossible")) + in let name_docs = FStar_All.pipe_right docs_tps_sigelts (FStar_List.map - (fun uu____23477 -> + (fun uu____23477 -> match uu____23477 with - | (name_doc, uu____23503, uu____23504) -> - name_doc)) in + | (name_doc,uu____23503,uu____23504) -> name_doc)) + in let sigelts = FStar_All.pipe_right docs_tps_sigelts (FStar_List.map - (fun uu____23576 -> + (fun uu____23576 -> match uu____23576 with - | (uu____23595, uu____23596, se) -> se)) in + | (uu____23595,uu____23596,se) -> se)) + in let uu____23622 = let uu____23629 = FStar_List.collect FStar_Syntax_Util.lids_of_sigelt - sigelts in + sigelts + in FStar_Syntax_MutRecTy.disentangle_abbrevs_from_bundle - sigelts quals uu____23629 rng in + sigelts quals uu____23629 rng + in (match uu____23622 with - | (bundle, abbrevs) -> - let env2 = FStar_Syntax_DsEnv.push_sigelt env0 bundle in + | (bundle,abbrevs) -> + let env2 = FStar_Syntax_DsEnv.push_sigelt env0 bundle + in let env3 = FStar_List.fold_left FStar_Syntax_DsEnv.push_sigelt - env2 abbrevs in + env2 abbrevs + in let data_ops = FStar_All.pipe_right docs_tps_sigelts (FStar_List.collect - (fun uu____23691 -> + (fun uu____23691 -> match uu____23691 with - | (uu____23712, tps, se) -> - mk_data_projector_names quals env3 se)) in + | (uu____23712,tps,se) -> + mk_data_projector_names quals env3 se)) + in let discs = FStar_All.pipe_right sigelts (FStar_List.collect - (fun se -> + (fun se -> match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (tname, uu____23760, tps, k, - uu____23763, constrs) + (tname,uu____23760,tps,k,uu____23763,constrs) -> let quals1 = - se.FStar_Syntax_Syntax.sigquals in + se.FStar_Syntax_Syntax.sigquals in let quals2 = if (FStar_List.contains @@ -5733,69 +6266,73 @@ let rec (desugar_tycon : quals1)) then FStar_Syntax_Syntax.Private :: quals1 - else quals1 in + else quals1 in let uu____23784 = FStar_All.pipe_right constrs (FStar_List.filter - (fun data_lid -> + (fun data_lid -> let data_quals = let data_se = let uu____23799 = FStar_All.pipe_right sigelts (FStar_List.find - (fun se1 -> + (fun se1 -> match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (name, - uu____23816, - uu____23817, - uu____23818, - uu____23819, - uu____23820) + (name,uu____23816,uu____23817,uu____23818,uu____23819,uu____23820) -> FStar_Ident.lid_equals name data_lid | uu____23827 - -> false)) in + -> false)) + in FStar_All.pipe_right uu____23799 - FStar_Util.must in - data_se.FStar_Syntax_Syntax.sigquals in + FStar_Util.must + in + data_se.FStar_Syntax_Syntax.sigquals + in let uu____23831 = FStar_All.pipe_right data_quals (FStar_List.existsb - (fun uu___26_23838 -> + (fun uu___26_23838 -> match uu___26_23838 with | FStar_Syntax_Syntax.RecordConstructor uu____23840 -> true | uu____23850 -> - false)) in - Prims.op_Negation uu____23831)) in + false)) + in + Prims.op_Negation uu____23831)) + in mk_data_discriminators quals2 env3 uu____23784 - | uu____23852 -> [])) in - let ops = FStar_List.append discs data_ops in + | uu____23852 -> [])) + in + let ops = FStar_List.append discs data_ops in let env4 = FStar_List.fold_left FStar_Syntax_DsEnv.push_sigelt - env3 ops in + env3 ops + in let env5 = FStar_List.fold_left - (fun acc -> - fun uu____23869 -> + (fun acc -> + fun uu____23869 -> match uu____23869 with - | (lid, doc1) -> + | (lid,doc1) -> FStar_Syntax_DsEnv.push_doc env4 lid - doc1) env4 name_docs in + doc1) env4 name_docs + in (env5, (FStar_List.append [bundle] (FStar_List.append abbrevs ops))))) | [] -> failwith "impossible" + let (desugar_binders : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.binder Prims.list -> @@ -5803,57 +6340,63 @@ let (desugar_binders : FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list)) = - fun env -> - fun binders -> + fun env -> + fun binders -> let uu____23914 = FStar_List.fold_left - (fun uu____23949 -> - fun b -> + (fun uu____23949 -> + fun b -> match uu____23949 with - | (env1, binders1) -> - let uu____23993 = desugar_binder env1 b in + | (env1,binders1) -> + let uu____23993 = desugar_binder env1 b in (match uu____23993 with - | (FStar_Pervasives_Native.Some a, k) -> + | (FStar_Pervasives_Native.Some a,k) -> let uu____24016 = as_binder env1 b.FStar_Parser_AST.aqual - ((FStar_Pervasives_Native.Some a), k) in + ((FStar_Pervasives_Native.Some a), k) + in (match uu____24016 with - | (binder, env2) -> (env2, (binder :: binders1))) + | (binder,env2) -> (env2, (binder :: binders1))) | uu____24069 -> FStar_Errors.raise_error (FStar_Errors.Fatal_MissingNameInBinder, "Missing name in binder") - b.FStar_Parser_AST.brange)) (env, []) binders in + b.FStar_Parser_AST.brange)) (env, []) binders + in match uu____23914 with - | (env1, binders1) -> (env1, (FStar_List.rev binders1)) + | (env1,binders1) -> (env1, (FStar_List.rev binders1)) + let (push_reflect_effect : FStar_Syntax_DsEnv.env -> FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Ident.lid -> FStar_Range.range -> FStar_Syntax_DsEnv.env) = - fun env -> - fun quals -> - fun effect_name -> - fun range -> + fun env -> + fun quals -> + fun effect_name -> + fun range -> let uu____24173 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___27_24180 -> + (fun uu___27_24180 -> match uu___27_24180 with | FStar_Syntax_Syntax.Reflectable uu____24182 -> true - | uu____24184 -> false)) in + | uu____24184 -> false)) + in if uu____24173 then let monad_env = FStar_Syntax_DsEnv.enter_monad_scope env - effect_name.FStar_Ident.ident in + effect_name.FStar_Ident.ident + in let reflect_lid = - let uu____24189 = FStar_Ident.id_of_text "reflect" in + let uu____24189 = FStar_Ident.id_of_text "reflect" in FStar_All.pipe_right uu____24189 - (FStar_Syntax_DsEnv.qualify monad_env) in + (FStar_Syntax_DsEnv.qualify monad_env) + in let quals1 = [FStar_Syntax_Syntax.Assumption; - FStar_Syntax_Syntax.Reflectable effect_name] in + FStar_Syntax_Syntax.Reflectable effect_name] in let refl_decl = { FStar_Syntax_Syntax.sigel = @@ -5864,26 +6407,27 @@ let (push_reflect_effect : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in FStar_Syntax_DsEnv.push_sigelt env refl_decl else env + let (get_fail_attr : Prims.bool -> FStar_Syntax_Syntax.term -> (Prims.int Prims.list * Prims.bool) FStar_Pervasives_Native.option) = - fun warn -> - fun at1 -> - let uu____24230 = FStar_Syntax_Util.head_and_args at1 in + fun warn -> + fun at1 -> + let uu____24230 = FStar_Syntax_Util.head_and_args at1 in match uu____24230 with - | (hd1, args) -> + | (hd1,args) -> let uu____24283 = let uu____24298 = - let uu____24299 = FStar_Syntax_Subst.compress hd1 in - uu____24299.FStar_Syntax_Syntax.n in - (uu____24298, args) in + let uu____24299 = FStar_Syntax_Subst.compress hd1 in + uu____24299.FStar_Syntax_Syntax.n in + (uu____24298, args) in (match uu____24283 with - | (FStar_Syntax_Syntax.Tm_fvar fv, (a1, uu____24324)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar fv,(a1,uu____24324)::[]) when (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.fail_attr) || (FStar_Syntax_Syntax.fv_eq_lid fv @@ -5893,19 +6437,21 @@ let (get_fail_attr : let uu____24364 = let uu____24373 = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_int in - FStar_Syntax_Embeddings.unembed uu____24373 a1 in - uu____24364 true FStar_Syntax_Embeddings.id_norm_cb in + FStar_Syntax_Embeddings.e_int + in + FStar_Syntax_Embeddings.unembed uu____24373 a1 in + uu____24364 true FStar_Syntax_Embeddings.id_norm_cb in (match uu____24359 with | FStar_Pervasives_Native.Some es when (FStar_List.length es) > (Prims.parse_int "0") -> let b = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.fail_lax_attr in + FStar_Parser_Const.fail_lax_attr + in let uu____24399 = let uu____24408 = - FStar_List.map FStar_BigInt.to_int_fs es in - (uu____24408, b) in + FStar_List.map FStar_BigInt.to_int_fs es in + (uu____24408, b) in FStar_Pervasives_Native.Some uu____24399 | uu____24425 -> (if warn @@ -5915,7 +6461,7 @@ let (get_fail_attr : "Found ill-applied 'expect_failure', argument should be a non-empty list of integer literals") else (); FStar_Pervasives_Native.None)) - | (FStar_Syntax_Syntax.Tm_fvar fv, []) when + | (FStar_Syntax_Syntax.Tm_fvar fv,[]) when (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.fail_attr) || (FStar_Syntax_Syntax.fv_eq_lid fv @@ -5923,9 +6469,10 @@ let (get_fail_attr : -> let b = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.fail_lax_attr in + FStar_Parser_Const.fail_lax_attr + in FStar_Pervasives_Native.Some ([], b) - | (FStar_Syntax_Syntax.Tm_fvar fv, uu____24479) when + | (FStar_Syntax_Syntax.Tm_fvar fv,uu____24479) when (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.fail_attr) || (FStar_Syntax_Syntax.fv_eq_lid fv @@ -5939,6 +6486,7 @@ let (get_fail_attr : else (); FStar_Pervasives_Native.None) | uu____24514 -> FStar_Pervasives_Native.None) + let rec (desugar_effect : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.decl -> @@ -5951,31 +6499,31 @@ let rec (desugar_effect : (FStar_Syntax_DsEnv.env * FStar_Syntax_Syntax.sigelt Prims.list)) = - fun env -> - fun d -> - fun quals -> - fun eff_name -> - fun eff_binders -> - fun eff_typ -> - fun eff_decls -> - fun attrs -> - let env0 = env in + fun env -> + fun d -> + fun quals -> + fun eff_name -> + fun eff_binders -> + fun eff_typ -> + fun eff_decls -> + fun attrs -> + let env0 = env in let monad_env = - FStar_Syntax_DsEnv.enter_monad_scope env eff_name in - let uu____24686 = desugar_binders monad_env eff_binders in + FStar_Syntax_DsEnv.enter_monad_scope env eff_name in + let uu____24686 = desugar_binders monad_env eff_binders in match uu____24686 with - | (env1, binders) -> - let eff_t = desugar_term env1 eff_typ in + | (env1,binders) -> + let eff_t = desugar_term env1 eff_typ in let for_free = let uu____24726 = let uu____24728 = let uu____24737 = - FStar_Syntax_Util.arrow_formals eff_t in - FStar_Pervasives_Native.fst uu____24737 in - FStar_List.length uu____24728 in - uu____24726 = (Prims.parse_int "1") in + FStar_Syntax_Util.arrow_formals eff_t in + FStar_Pervasives_Native.fst uu____24737 in + FStar_List.length uu____24728 in + uu____24726 = (Prims.parse_int "1") in let mandatory_members = - let rr_members = ["repr"; "return"; "bind"] in + let rr_members = ["repr"; "return"; "bind"] in if for_free then rr_members else @@ -5989,99 +6537,106 @@ let rec (desugar_effect : "assert_p"; "assume_p"; "null_wp"; - "trivial"] in + "trivial"] + in let name_of_eff_decl decl = match decl.FStar_Parser_AST.d with | FStar_Parser_AST.Tycon - (uu____24821, uu____24822, - (FStar_Parser_AST.TyconAbbrev - (name, uu____24824, uu____24825, uu____24826), - uu____24827)::[]) + (uu____24821,uu____24822,(FStar_Parser_AST.TyconAbbrev + (name,uu____24824,uu____24825,uu____24826),uu____24827)::[]) -> FStar_Ident.text_of_id name | uu____24864 -> - failwith "Malformed effect member declaration." in + failwith "Malformed effect member declaration." + in let uu____24867 = FStar_List.partition - (fun decl -> - let uu____24879 = name_of_eff_decl decl in + (fun decl -> + let uu____24879 = name_of_eff_decl decl in FStar_List.mem uu____24879 mandatory_members) - eff_decls in + eff_decls + in (match uu____24867 with - | (mandatory_members_decls, actions) -> + | (mandatory_members_decls,actions) -> let uu____24898 = FStar_All.pipe_right mandatory_members_decls (FStar_List.fold_left - (fun uu____24927 -> - fun decl -> + (fun uu____24927 -> + fun decl -> match uu____24927 with - | (env2, out) -> + | (env2,out) -> let uu____24947 = - desugar_decl env2 decl in + desugar_decl env2 decl in (match uu____24947 with - | (env3, ses) -> + | (env3,ses) -> let uu____24960 = let uu____24963 = - FStar_List.hd ses in - uu____24963 :: out in + FStar_List.hd ses in + uu____24963 :: out in (env3, uu____24960))) - (env1, [])) in + (env1, [])) + in (match uu____24898 with - | (env2, decls) -> + | (env2,decls) -> let binders1 = - FStar_Syntax_Subst.close_binders binders in + FStar_Syntax_Subst.close_binders binders + in let actions_docs = FStar_All.pipe_right actions (FStar_List.map - (fun d1 -> + (fun d1 -> match d1.FStar_Parser_AST.d with | FStar_Parser_AST.Tycon - (uu____25032, uu____25033, + (uu____25032,uu____25033, (FStar_Parser_AST.TyconAbbrev - (name, action_params, - uu____25036, + (name,action_params,uu____25036, { FStar_Parser_AST.tm = FStar_Parser_AST.Construct - (uu____25037, - (def, uu____25039):: - (cps_type, uu____25041)::[]); + (uu____25037,(def,uu____25039):: + (cps_type,uu____25041)::[]); FStar_Parser_AST.range = uu____25042; FStar_Parser_AST.level = - uu____25043;_}), - doc1)::[]) + uu____25043;_}),doc1)::[]) when Prims.op_Negation for_free -> let uu____25099 = desugar_binders env2 - action_params in + action_params + in (match uu____25099 with - | (env3, action_params1) -> + | (env3,action_params1) -> let action_params2 = FStar_Syntax_Subst.close_binders - action_params1 in + action_params1 + in let uu____25137 = let uu____25138 = FStar_Syntax_DsEnv.qualify - env3 name in + env3 name + in let uu____25139 = let uu____25140 = desugar_term env3 - def in + def + in FStar_Syntax_Subst.close (FStar_List.append binders1 action_params2) - uu____25140 in + uu____25140 + in let uu____25147 = let uu____25148 = desugar_typ env3 - cps_type in + cps_type + in FStar_Syntax_Subst.close (FStar_List.append binders1 action_params2) - uu____25148 in + uu____25148 + in { FStar_Syntax_Syntax.action_name = uu____25138; @@ -6095,36 +6650,39 @@ let rec (desugar_effect : = uu____25139; FStar_Syntax_Syntax.action_typ = uu____25147 - } in + } in (uu____25137, doc1)) | FStar_Parser_AST.Tycon - (uu____25157, uu____25158, + (uu____25157,uu____25158, (FStar_Parser_AST.TyconAbbrev - (name, action_params, - uu____25161, defn), - doc1)::[]) + (name,action_params,uu____25161,defn),doc1)::[]) when for_free -> let uu____25200 = desugar_binders env2 - action_params in + action_params + in (match uu____25200 with - | (env3, action_params1) -> + | (env3,action_params1) -> let action_params2 = FStar_Syntax_Subst.close_binders - action_params1 in + action_params1 + in let uu____25238 = let uu____25239 = FStar_Syntax_DsEnv.qualify - env3 name in + env3 name + in let uu____25240 = let uu____25241 = desugar_term env3 - defn in + defn + in FStar_Syntax_Subst.close (FStar_List.append binders1 action_params2) - uu____25241 in + uu____25241 + in { FStar_Syntax_Syntax.action_name = uu____25239; @@ -6139,41 +6697,49 @@ let rec (desugar_effect : FStar_Syntax_Syntax.action_typ = FStar_Syntax_Syntax.tun - } in + } in (uu____25238, doc1)) | uu____25250 -> FStar_Errors.raise_error (FStar_Errors.Fatal_MalformedActionDeclaration, "Malformed action declaration; if this is an \"effect for free\", just provide the direct-style declaration. If this is not an \"effect for free\", please provide a pair of the definition and its cps-type with arrows inserted in the right place (see examples).") - d1.FStar_Parser_AST.drange)) in + d1.FStar_Parser_AST.drange)) + in let actions1 = FStar_List.map FStar_Pervasives_Native.fst - actions_docs in + actions_docs + in let eff_t1 = - FStar_Syntax_Subst.close binders1 eff_t in + FStar_Syntax_Subst.close binders1 eff_t in let lookup1 s = let l = let uu____25286 = FStar_Ident.mk_ident - (s, (d.FStar_Parser_AST.drange)) in + (s, (d.FStar_Parser_AST.drange)) + in FStar_Syntax_DsEnv.qualify env2 - uu____25286 in + uu____25286 + in let uu____25288 = let uu____25289 = FStar_Syntax_DsEnv.fail_or env2 (FStar_Syntax_DsEnv.try_lookup_definition - env2) l in + env2) l + in FStar_All.pipe_left (FStar_Syntax_Subst.close binders1) - uu____25289 in - ([], uu____25288) in + uu____25289 + in + ([], uu____25288) in let mname = - FStar_Syntax_DsEnv.qualify env0 eff_name in + FStar_Syntax_DsEnv.qualify env0 eff_name + in let qualifiers = FStar_List.map (trans_qual d.FStar_Parser_AST.drange (FStar_Pervasives_Native.Some mname)) - quals in + quals + in let se = if for_free then @@ -6182,19 +6748,24 @@ let rec (desugar_effect : FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown FStar_Pervasives_Native.None - FStar_Range.dummyRange in - ([], uu____25307) in + FStar_Range.dummyRange + in + ([], uu____25307) in let uu____25314 = let uu____25315 = let uu____25316 = - let uu____25317 = lookup1 "repr" in + let uu____25317 = lookup1 "repr" + in FStar_Pervasives_Native.snd - uu____25317 in - let uu____25327 = lookup1 "return" in - let uu____25329 = lookup1 "bind" in + uu____25317 + in + let uu____25327 = lookup1 "return" + in + let uu____25329 = lookup1 "bind" in let uu____25331 = FStar_List.map (desugar_term env2) - attrs in + attrs + in { FStar_Syntax_Syntax.cattributes = []; @@ -6234,9 +6805,10 @@ let rec (desugar_effect : actions1; FStar_Syntax_Syntax.eff_attrs = uu____25331 - } in + } in FStar_Syntax_Syntax.Sig_new_effect_for_free - uu____25315 in + uu____25315 + in { FStar_Syntax_Syntax.sigel = uu____25314; FStar_Syntax_Syntax.sigrng = @@ -6250,49 +6822,60 @@ let rec (desugar_effect : else (let rr = FStar_Util.for_some - (fun uu___28_25339 -> + (fun uu___28_25339 -> match uu___28_25339 with - | FStar_Syntax_Syntax.Reifiable + | FStar_Syntax_Syntax.Reifiable -> true | FStar_Syntax_Syntax.Reflectable uu____25342 -> true | uu____25344 -> false) - qualifiers in + qualifiers + in let un_ts = - ([], FStar_Syntax_Syntax.tun) in + ([], FStar_Syntax_Syntax.tun) in let uu____25359 = let uu____25360 = let uu____25361 = - lookup1 "return_wp" in - let uu____25363 = lookup1 "bind_wp" in + lookup1 "return_wp" in + let uu____25363 = lookup1 "bind_wp" + in let uu____25365 = - lookup1 "if_then_else" in - let uu____25367 = lookup1 "ite_wp" in - let uu____25369 = lookup1 "stronger" in - let uu____25371 = lookup1 "close_wp" in - let uu____25373 = lookup1 "assert_p" in - let uu____25375 = lookup1 "assume_p" in - let uu____25377 = lookup1 "null_wp" in - let uu____25379 = lookup1 "trivial" in + lookup1 "if_then_else" in + let uu____25367 = lookup1 "ite_wp" + in + let uu____25369 = lookup1 "stronger" + in + let uu____25371 = lookup1 "close_wp" + in + let uu____25373 = lookup1 "assert_p" + in + let uu____25375 = lookup1 "assume_p" + in + let uu____25377 = lookup1 "null_wp" + in + let uu____25379 = lookup1 "trivial" + in let uu____25381 = if rr then - let uu____25383 = lookup1 "repr" in + let uu____25383 = lookup1 "repr" + in FStar_All.pipe_left FStar_Pervasives_Native.snd uu____25383 - else FStar_Syntax_Syntax.tun in + else FStar_Syntax_Syntax.tun in let uu____25401 = if rr then lookup1 "return" - else un_ts in + else un_ts in let uu____25406 = if rr then lookup1 "bind" - else un_ts in + else un_ts in let uu____25411 = FStar_List.map (desugar_term env2) - attrs in + attrs + in { FStar_Syntax_Syntax.cattributes = []; @@ -6332,9 +6915,10 @@ let rec (desugar_effect : actions1; FStar_Syntax_Syntax.eff_attrs = uu____25411 - } in + } in FStar_Syntax_Syntax.Sig_new_effect - uu____25360 in + uu____25360 + in { FStar_Syntax_Syntax.sigel = uu____25359; @@ -6345,37 +6929,45 @@ let rec (desugar_effect : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - }) in + }) + in let env3 = - FStar_Syntax_DsEnv.push_sigelt env0 se in + FStar_Syntax_DsEnv.push_sigelt env0 se in let env4 = FStar_Syntax_DsEnv.push_doc env3 mname - d.FStar_Parser_AST.doc in + d.FStar_Parser_AST.doc + in let env5 = FStar_All.pipe_right actions_docs (FStar_List.fold_left - (fun env5 -> - fun uu____25437 -> + (fun env5 -> + fun uu____25437 -> match uu____25437 with - | (a, doc1) -> + | (a,doc1) -> let env6 = let uu____25451 = FStar_Syntax_Util.action_as_lb mname a - (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos in + (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos + in FStar_Syntax_DsEnv.push_sigelt - env5 uu____25451 in + env5 uu____25451 + in FStar_Syntax_DsEnv.push_doc env6 a.FStar_Syntax_Syntax.action_name - doc1) env4) in + doc1) env4) + in let env6 = push_reflect_effect env5 qualifiers mname - d.FStar_Parser_AST.drange in + d.FStar_Parser_AST.drange + in let env7 = FStar_Syntax_DsEnv.push_doc env6 mname - d.FStar_Parser_AST.doc in + d.FStar_Parser_AST.doc + in (env7, [se]))) + and (desugar_redefine_effect : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.decl -> @@ -6389,22 +6981,23 @@ and (desugar_redefine_effect : (FStar_Syntax_DsEnv.env * FStar_Syntax_Syntax.sigelt Prims.list)) = - fun env -> - fun d -> - fun trans_qual1 -> - fun quals -> - fun eff_name -> - fun eff_binders -> - fun defn -> - let env0 = env in - let env1 = FStar_Syntax_DsEnv.enter_monad_scope env eff_name in - let uu____25475 = desugar_binders env1 eff_binders in + fun env -> + fun d -> + fun trans_qual1 -> + fun quals -> + fun eff_name -> + fun eff_binders -> + fun defn -> + let env0 = env in + let env1 = FStar_Syntax_DsEnv.enter_monad_scope env eff_name + in + let uu____25475 = desugar_binders env1 eff_binders in match uu____25475 with - | (env2, binders) -> + | (env2,binders) -> let uu____25512 = - let uu____25523 = head_and_args defn in + let uu____25523 = head_and_args defn in match uu____25523 with - | (head1, args) -> + | (head1,args) -> let lid = match head1.FStar_Parser_AST.tm with | FStar_Parser_AST.Name l -> l @@ -6413,38 +7006,44 @@ and (desugar_redefine_effect : let uu____25567 = let uu____25569 = let uu____25571 = - FStar_Parser_AST.term_to_string head1 in - Prims.op_Hat uu____25571 " not found" in - Prims.op_Hat "Effect " uu____25569 in + FStar_Parser_AST.term_to_string head1 + in + Prims.op_Hat uu____25571 " not found" + in + Prims.op_Hat "Effect " uu____25569 in (FStar_Errors.Fatal_EffectNotFound, - uu____25567) in + uu____25567) + in FStar_Errors.raise_error uu____25561 - d.FStar_Parser_AST.drange in + d.FStar_Parser_AST.drange + in let ed = FStar_Syntax_DsEnv.fail_or env2 (FStar_Syntax_DsEnv.try_lookup_effect_defn env2) - lid in + lid + in let uu____25577 = match FStar_List.rev args with - | (last_arg, uu____25607)::args_rev -> + | (last_arg,uu____25607)::args_rev -> let uu____25619 = - let uu____25620 = unparen last_arg in - uu____25620.FStar_Parser_AST.tm in + let uu____25620 = unparen last_arg in + uu____25620.FStar_Parser_AST.tm in (match uu____25619 with | FStar_Parser_AST.Attributes ts -> (ts, (FStar_List.rev args_rev)) | uu____25648 -> ([], args)) - | uu____25657 -> ([], args) in + | uu____25657 -> ([], args) in (match uu____25577 with - | (cattributes, args1) -> - let uu____25700 = desugar_args env2 args1 in + | (cattributes,args1) -> + let uu____25700 = desugar_args env2 args1 in let uu____25701 = - desugar_attributes env2 cattributes in - (lid, ed, uu____25700, uu____25701)) in + desugar_attributes env2 cattributes in + (lid, ed, uu____25700, uu____25701)) + in (match uu____25512 with - | (ed_lid, ed, args, cattributes) -> + | (ed_lid,ed,args,cattributes) -> let binders1 = - FStar_Syntax_Subst.close_binders binders in + FStar_Syntax_Subst.close_binders binders in (if (FStar_List.length args) <> (FStar_List.length @@ -6458,88 +7057,105 @@ and (desugar_redefine_effect : (let uu____25741 = FStar_Syntax_Subst.open_term' ed.FStar_Syntax_Syntax.binders - FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Syntax.t_unit + in match uu____25741 with - | (ed_binders, uu____25755, ed_binders_opening) -> + | (ed_binders,uu____25755,ed_binders_opening) -> let sub' shift_n uu____25774 = match uu____25774 with - | (us, x) -> + | (us,x) -> let x1 = let uu____25789 = FStar_Syntax_Subst.shift_subst (shift_n + (FStar_List.length us)) - ed_binders_opening in - FStar_Syntax_Subst.subst uu____25789 x in + ed_binders_opening + in + FStar_Syntax_Subst.subst uu____25789 x + in let s = FStar_Syntax_Util.subst_of_list - ed_binders args in + ed_binders args + in let uu____25793 = let uu____25794 = - FStar_Syntax_Subst.subst s x1 in - (us, uu____25794) in + FStar_Syntax_Subst.subst s x1 in + (us, uu____25794) in FStar_Syntax_Subst.close_tscheme - binders1 uu____25793 in - let sub1 = sub' (Prims.parse_int "0") in + binders1 uu____25793 + in + let sub1 = sub' (Prims.parse_int "0") in let mname = - FStar_Syntax_DsEnv.qualify env0 eff_name in + FStar_Syntax_DsEnv.qualify env0 eff_name in let ed1 = let uu____25815 = let uu____25816 = sub1 ([], - (ed.FStar_Syntax_Syntax.signature)) in - FStar_Pervasives_Native.snd uu____25816 in + (ed.FStar_Syntax_Syntax.signature)) + in + FStar_Pervasives_Native.snd uu____25816 + in let uu____25831 = - sub1 ed.FStar_Syntax_Syntax.ret_wp in + sub1 ed.FStar_Syntax_Syntax.ret_wp in let uu____25832 = - sub1 ed.FStar_Syntax_Syntax.bind_wp in + sub1 ed.FStar_Syntax_Syntax.bind_wp in let uu____25833 = - sub1 ed.FStar_Syntax_Syntax.if_then_else in + sub1 ed.FStar_Syntax_Syntax.if_then_else + in let uu____25834 = - sub1 ed.FStar_Syntax_Syntax.ite_wp in + sub1 ed.FStar_Syntax_Syntax.ite_wp in let uu____25835 = - sub1 ed.FStar_Syntax_Syntax.stronger in + sub1 ed.FStar_Syntax_Syntax.stronger in let uu____25836 = - sub1 ed.FStar_Syntax_Syntax.close_wp in + sub1 ed.FStar_Syntax_Syntax.close_wp in let uu____25837 = - sub1 ed.FStar_Syntax_Syntax.assert_p in + sub1 ed.FStar_Syntax_Syntax.assert_p in let uu____25838 = - sub1 ed.FStar_Syntax_Syntax.assume_p in + sub1 ed.FStar_Syntax_Syntax.assume_p in let uu____25839 = - sub1 ed.FStar_Syntax_Syntax.null_wp in + sub1 ed.FStar_Syntax_Syntax.null_wp in let uu____25840 = - sub1 ed.FStar_Syntax_Syntax.trivial in + sub1 ed.FStar_Syntax_Syntax.trivial in let uu____25841 = let uu____25842 = - sub1 ([], (ed.FStar_Syntax_Syntax.repr)) in - FStar_Pervasives_Native.snd uu____25842 in + sub1 ([], (ed.FStar_Syntax_Syntax.repr)) + in + FStar_Pervasives_Native.snd uu____25842 + in let uu____25857 = - sub1 ed.FStar_Syntax_Syntax.return_repr in + sub1 ed.FStar_Syntax_Syntax.return_repr + in let uu____25858 = - sub1 ed.FStar_Syntax_Syntax.bind_repr in + sub1 ed.FStar_Syntax_Syntax.bind_repr in let uu____25859 = FStar_List.map - (fun action -> + (fun action -> let nparam = FStar_List.length - action.FStar_Syntax_Syntax.action_params in + action.FStar_Syntax_Syntax.action_params + in let uu____25875 = FStar_Syntax_DsEnv.qualify env2 - action.FStar_Syntax_Syntax.action_unqualified_name in + action.FStar_Syntax_Syntax.action_unqualified_name + in let uu____25876 = let uu____25877 = sub' nparam ([], - (action.FStar_Syntax_Syntax.action_defn)) in + (action.FStar_Syntax_Syntax.action_defn)) + in FStar_Pervasives_Native.snd - uu____25877 in + uu____25877 + in let uu____25892 = let uu____25893 = sub' nparam ([], - (action.FStar_Syntax_Syntax.action_typ)) in + (action.FStar_Syntax_Syntax.action_typ)) + in FStar_Pervasives_Native.snd - uu____25893 in + uu____25893 + in { FStar_Syntax_Syntax.action_name = uu____25875; @@ -6554,7 +7170,8 @@ and (desugar_redefine_effect : uu____25876; FStar_Syntax_Syntax.action_typ = uu____25892 - }) ed.FStar_Syntax_Syntax.actions in + }) ed.FStar_Syntax_Syntax.actions + in { FStar_Syntax_Syntax.cattributes = cattributes; @@ -6583,23 +7200,26 @@ and (desugar_redefine_effect : FStar_Syntax_Syntax.actions = uu____25859; FStar_Syntax_Syntax.eff_attrs = (ed.FStar_Syntax_Syntax.eff_attrs) - } in + } in let se = let for_free = let uu____25911 = let uu____25913 = let uu____25922 = FStar_Syntax_Util.arrow_formals - ed1.FStar_Syntax_Syntax.signature in + ed1.FStar_Syntax_Syntax.signature + in FStar_Pervasives_Native.fst - uu____25922 in - FStar_List.length uu____25913 in - uu____25911 = (Prims.parse_int "1") in + uu____25922 + in + FStar_List.length uu____25913 in + uu____25911 = (Prims.parse_int "1") in let uu____25955 = let uu____25958 = trans_qual1 - (FStar_Pervasives_Native.Some mname) in - FStar_List.map uu____25958 quals in + (FStar_Pervasives_Native.Some mname) + in + FStar_List.map uu____25958 quals in { FStar_Syntax_Syntax.sigel = (if for_free @@ -6615,48 +7235,56 @@ and (desugar_redefine_effect : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in - let monad_env = env2 in + } in + let monad_env = env2 in let env3 = - FStar_Syntax_DsEnv.push_sigelt env0 se in + FStar_Syntax_DsEnv.push_sigelt env0 se in let env4 = FStar_Syntax_DsEnv.push_doc env3 ed_lid - d.FStar_Parser_AST.doc in + d.FStar_Parser_AST.doc + in let env5 = FStar_All.pipe_right ed1.FStar_Syntax_Syntax.actions (FStar_List.fold_left - (fun env5 -> - fun a -> + (fun env5 -> + fun a -> let doc1 = FStar_Syntax_DsEnv.try_lookup_doc env5 - a.FStar_Syntax_Syntax.action_name in + a.FStar_Syntax_Syntax.action_name + in let env6 = let uu____25982 = FStar_Syntax_Util.action_as_lb mname a - (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos in + (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos + in FStar_Syntax_DsEnv.push_sigelt - env5 uu____25982 in + env5 uu____25982 + in FStar_Syntax_DsEnv.push_doc env6 a.FStar_Syntax_Syntax.action_name - doc1) env4) in + doc1) env4) + in let env6 = let uu____25984 = FStar_All.pipe_right quals (FStar_List.contains - FStar_Parser_AST.Reflectable) in + FStar_Parser_AST.Reflectable) + in if uu____25984 then let reflect_lid = let uu____25991 = - FStar_Ident.id_of_text "reflect" in + FStar_Ident.id_of_text "reflect" in FStar_All.pipe_right uu____25991 - (FStar_Syntax_DsEnv.qualify monad_env) in + (FStar_Syntax_DsEnv.qualify monad_env) + in let quals1 = [FStar_Syntax_Syntax.Assumption; - FStar_Syntax_Syntax.Reflectable mname] in + FStar_Syntax_Syntax.Reflectable mname] + in let refl_decl = { FStar_Syntax_Syntax.sigel = @@ -6669,131 +7297,146 @@ and (desugar_redefine_effect : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in FStar_Syntax_DsEnv.push_sigelt env5 refl_decl - else env5 in + else env5 in let env7 = FStar_Syntax_DsEnv.push_doc env6 mname - d.FStar_Parser_AST.doc in + d.FStar_Parser_AST.doc + in (env7, [se])))) + and (mk_comment_attr : FStar_Parser_AST.decl -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun d -> + fun d -> let uu____26003 = match d.FStar_Parser_AST.doc with - | FStar_Pervasives_Native.None -> ("", []) - | FStar_Pervasives_Native.Some fsdoc -> fsdoc in + | FStar_Pervasives_Native.None -> ("", []) + | FStar_Pervasives_Native.Some fsdoc -> fsdoc in match uu____26003 with - | (text, kv) -> + | (text,kv) -> let summary = match FStar_List.assoc "summary" kv with - | FStar_Pervasives_Native.None -> "" + | FStar_Pervasives_Native.None -> "" | FStar_Pervasives_Native.Some s -> - Prims.op_Hat " " (Prims.op_Hat s "\n") in + Prims.op_Hat " " (Prims.op_Hat s "\n") + in let pp = match FStar_List.assoc "type" kv with | FStar_Pervasives_Native.Some uu____26088 -> let uu____26091 = let uu____26093 = - FStar_Parser_ToDocument.signature_to_document d in + FStar_Parser_ToDocument.signature_to_document d in FStar_Pprint.pretty_string 0.95 (Prims.parse_int "80") - uu____26093 in + uu____26093 + in Prims.op_Hat "\n " uu____26091 - | uu____26096 -> "" in + | uu____26096 -> "" in let other = FStar_List.filter_map - (fun uu____26115 -> + (fun uu____26115 -> match uu____26115 with - | (k, v1) -> + | (k,v1) -> if (k <> "summary") && (k <> "type") then FStar_Pervasives_Native.Some (Prims.op_Hat k (Prims.op_Hat ": " v1)) - else FStar_Pervasives_Native.None) kv in + else FStar_Pervasives_Native.None) kv + in let other1 = if other <> [] then Prims.op_Hat (FStar_String.concat "\n" other) "\n" - else "" in + else "" in let str = - Prims.op_Hat summary (Prims.op_Hat pp (Prims.op_Hat other1 text)) in + Prims.op_Hat summary (Prims.op_Hat pp (Prims.op_Hat other1 text)) + in let fv = - let uu____26160 = FStar_Ident.lid_of_str "FStar.Pervasives.Comment" in + let uu____26160 = FStar_Ident.lid_of_str "FStar.Pervasives.Comment" + in FStar_Syntax_Syntax.fvar uu____26160 - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in - let arg = FStar_Syntax_Util.exp_string str in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in + let arg = FStar_Syntax_Util.exp_string str in let uu____26163 = - let uu____26174 = FStar_Syntax_Syntax.as_arg arg in [uu____26174] in + let uu____26174 = FStar_Syntax_Syntax.as_arg arg in [uu____26174] + in FStar_Syntax_Util.mk_app fv uu____26163 + and (desugar_decl_aux : env_t -> FStar_Parser_AST.decl -> (env_t * FStar_Syntax_Syntax.sigelts)) = - fun env -> - fun d -> - let uu____26205 = desugar_decl_noattrs env d in + fun env -> + fun d -> + let uu____26205 = desugar_decl_noattrs env d in match uu____26205 with - | (env1, sigelts) -> - let attrs = d.FStar_Parser_AST.attrs in - let attrs1 = FStar_List.map (desugar_term env1) attrs in + | (env1,sigelts) -> + let attrs = d.FStar_Parser_AST.attrs in + let attrs1 = FStar_List.map (desugar_term env1) attrs in let attrs2 = - let uu____26223 = mk_comment_attr d in uu____26223 :: attrs1 in + let uu____26223 = mk_comment_attr d in uu____26223 :: attrs1 in let uu____26224 = FStar_List.mapi - (fun i -> - fun sigelt -> + (fun i -> + fun sigelt -> if i = (Prims.parse_int "0") then - let uu___3392_26234 = sigelt in + let uu___3393_26234 = sigelt in { FStar_Syntax_Syntax.sigel = - (uu___3392_26234.FStar_Syntax_Syntax.sigel); + (uu___3393_26234.FStar_Syntax_Syntax.sigel); FStar_Syntax_Syntax.sigrng = - (uu___3392_26234.FStar_Syntax_Syntax.sigrng); + (uu___3393_26234.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3392_26234.FStar_Syntax_Syntax.sigquals); + (uu___3393_26234.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3392_26234.FStar_Syntax_Syntax.sigmeta); + (uu___3393_26234.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = attrs2 } else - (let uu___3394_26237 = sigelt in + (let uu___3395_26237 = sigelt in let uu____26238 = FStar_List.filter - (fun at1 -> - let uu____26244 = get_fail_attr false at1 in - FStar_Option.isNone uu____26244) attrs2 in + (fun at1 -> + let uu____26244 = get_fail_attr false at1 in + FStar_Option.isNone uu____26244) attrs2 + in { FStar_Syntax_Syntax.sigel = - (uu___3394_26237.FStar_Syntax_Syntax.sigel); + (uu___3395_26237.FStar_Syntax_Syntax.sigel); FStar_Syntax_Syntax.sigrng = - (uu___3394_26237.FStar_Syntax_Syntax.sigrng); + (uu___3395_26237.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3394_26237.FStar_Syntax_Syntax.sigquals); + (uu___3395_26237.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3394_26237.FStar_Syntax_Syntax.sigmeta); + (uu___3395_26237.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = uu____26238 - })) sigelts in + })) sigelts + in (env1, uu____26224) + and (desugar_decl : env_t -> FStar_Parser_AST.decl -> (env_t * FStar_Syntax_Syntax.sigelts)) = - fun env -> - fun d -> - let uu____26270 = desugar_decl_aux env d in + fun env -> + fun d -> + let uu____26270 = desugar_decl_aux env d in match uu____26270 with - | (env1, ses) -> + | (env1,ses) -> let uu____26281 = FStar_All.pipe_right ses - (FStar_List.map generalize_annotated_univs) in + (FStar_List.map generalize_annotated_univs) + in (env1, uu____26281) + and (desugar_decl_noattrs : env_t -> FStar_Parser_AST.decl -> (env_t * FStar_Syntax_Syntax.sigelts)) = - fun env -> - fun d -> - let trans_qual1 = trans_qual d.FStar_Parser_AST.drange in + fun env -> + fun d -> + let trans_qual1 = trans_qual d.FStar_Parser_AST.drange in match d.FStar_Parser_AST.d with | FStar_Parser_AST.Pragma p -> - let p1 = trans_pragma p in + let p1 = trans_pragma p in (FStar_Syntax_Util.process_pragma p1 d.FStar_Parser_AST.drange; (let se = { @@ -6804,14 +7447,14 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in (env, [se]))) | FStar_Parser_AST.Fsdoc uu____26309 -> (env, []) | FStar_Parser_AST.TopLevelModule id1 -> (env, []) | FStar_Parser_AST.Open lid -> - let env1 = FStar_Syntax_DsEnv.push_namespace env lid in (env1, []) + let env1 = FStar_Syntax_DsEnv.push_namespace env lid in (env1, []) | FStar_Parser_AST.Friend lid -> - let uu____26314 = FStar_Syntax_DsEnv.iface env in + let uu____26314 = FStar_Syntax_DsEnv.iface env in if uu____26314 then FStar_Errors.raise_error @@ -6821,11 +7464,12 @@ and (desugar_decl_noattrs : else (let uu____26329 = let uu____26331 = - let uu____26333 = FStar_Syntax_DsEnv.dep_graph env in - let uu____26334 = FStar_Syntax_DsEnv.current_module env in + let uu____26333 = FStar_Syntax_DsEnv.dep_graph env in + let uu____26334 = FStar_Syntax_DsEnv.current_module env in FStar_Parser_Dep.module_has_interface uu____26333 - uu____26334 in - Prims.op_Negation uu____26331 in + uu____26334 + in + Prims.op_Negation uu____26331 in if uu____26329 then FStar_Errors.raise_error @@ -6835,9 +7479,9 @@ and (desugar_decl_noattrs : else (let uu____26348 = let uu____26350 = - let uu____26352 = FStar_Syntax_DsEnv.dep_graph env in - FStar_Parser_Dep.module_has_interface uu____26352 lid in - Prims.op_Negation uu____26350 in + let uu____26352 = FStar_Syntax_DsEnv.dep_graph env in + FStar_Parser_Dep.module_has_interface uu____26352 lid in + Prims.op_Negation uu____26350 in if uu____26348 then FStar_Errors.raise_error @@ -6847,10 +7491,11 @@ and (desugar_decl_noattrs : else (let uu____26366 = let uu____26368 = - let uu____26370 = FStar_Syntax_DsEnv.dep_graph env in + let uu____26370 = FStar_Syntax_DsEnv.dep_graph env in FStar_Parser_Dep.deps_has_implementation uu____26370 - lid in - Prims.op_Negation uu____26368 in + lid + in + Prims.op_Negation uu____26368 in if uu____26366 then FStar_Errors.raise_error @@ -6859,89 +7504,96 @@ and (desugar_decl_noattrs : d.FStar_Parser_AST.drange else (env, [])))) | FStar_Parser_AST.Include lid -> - let env1 = FStar_Syntax_DsEnv.push_include env lid in (env1, []) - | FStar_Parser_AST.ModuleAbbrev (x, l) -> - let uu____26388 = FStar_Syntax_DsEnv.push_module_abbrev env x l in + let env1 = FStar_Syntax_DsEnv.push_include env lid in (env1, []) + | FStar_Parser_AST.ModuleAbbrev (x,l) -> + let uu____26388 = FStar_Syntax_DsEnv.push_module_abbrev env x l in (uu____26388, []) - | FStar_Parser_AST.Tycon (is_effect, typeclass, tcs) -> - let quals = d.FStar_Parser_AST.quals in + | FStar_Parser_AST.Tycon (is_effect,typeclass,tcs) -> + let quals = d.FStar_Parser_AST.quals in let quals1 = if is_effect then FStar_Parser_AST.Effect_qual :: quals - else quals in + else quals in let quals2 = if typeclass then match tcs with - | (FStar_Parser_AST.TyconRecord uu____26429, uu____26430)::[] - -> FStar_Parser_AST.Noeq :: quals1 + | (FStar_Parser_AST.TyconRecord uu____26429,uu____26430)::[] -> + FStar_Parser_AST.Noeq :: quals1 | uu____26469 -> FStar_Errors.raise_error (FStar_Errors.Error_BadClassDecl, "Ill-formed `class` declaration: definition must be a record type") d.FStar_Parser_AST.drange - else quals1 in + else quals1 in let tcs1 = FStar_List.map - (fun uu____26496 -> - match uu____26496 with | (x, uu____26504) -> x) tcs in + (fun uu____26496 -> + match uu____26496 with | (x,uu____26504) -> x) tcs + in let uu____26509 = let uu____26514 = FStar_List.map (trans_qual1 FStar_Pervasives_Native.None) - quals2 in - desugar_tycon env d uu____26514 tcs1 in + quals2 + in + desugar_tycon env d uu____26514 tcs1 in (match uu____26509 with - | (env1, ses) -> + | (env1,ses) -> let mkclass lid = let uu____26531 = let uu____26532 = let uu____26539 = FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None FStar_Syntax_Syntax.tun in - FStar_Syntax_Syntax.mk_binder uu____26539 in - [uu____26532] in + FStar_Pervasives_Native.None FStar_Syntax_Syntax.tun + in + FStar_Syntax_Syntax.mk_binder uu____26539 in + [uu____26532] in let uu____26552 = let uu____26555 = FStar_Syntax_Syntax.tabbrev - FStar_Parser_Const.mk_class_lid in + FStar_Parser_Const.mk_class_lid + in let uu____26558 = let uu____26569 = let uu____26578 = - let uu____26579 = FStar_Ident.string_of_lid lid in - FStar_Syntax_Util.exp_string uu____26579 in - FStar_Syntax_Syntax.as_arg uu____26578 in - [uu____26569] in - FStar_Syntax_Util.mk_app uu____26555 uu____26558 in + let uu____26579 = FStar_Ident.string_of_lid lid in + FStar_Syntax_Util.exp_string uu____26579 in + FStar_Syntax_Syntax.as_arg uu____26578 in + [uu____26569] in + FStar_Syntax_Util.mk_app uu____26555 uu____26558 in FStar_Syntax_Util.abs uu____26531 uu____26552 - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let get_meths se = let rec get_fname quals3 = match quals3 with | (FStar_Syntax_Syntax.Projector - (uu____26619, id1))::uu____26621 -> + (uu____26619,id1))::uu____26621 -> FStar_Pervasives_Native.Some id1 | uu____26624::quals4 -> get_fname quals4 - | [] -> FStar_Pervasives_Native.None in - let uu____26628 = get_fname se.FStar_Syntax_Syntax.sigquals in + | [] -> FStar_Pervasives_Native.None in + let uu____26628 = get_fname se.FStar_Syntax_Syntax.sigquals + in match uu____26628 with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some id1 -> - let uu____26634 = FStar_Syntax_DsEnv.qualify env1 id1 in - [uu____26634] in + let uu____26634 = FStar_Syntax_DsEnv.qualify env1 id1 + in + [uu____26634] + in let rec splice_decl meths se = match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle (ses1, uu____26655) -> + | FStar_Syntax_Syntax.Sig_bundle (ses1,uu____26655) -> FStar_List.concatMap (splice_decl meths) ses1 | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uu____26665, uu____26666, uu____26667, - uu____26668, uu____26669) + (lid,uu____26665,uu____26666,uu____26667,uu____26668,uu____26669) -> let uu____26678 = let uu____26679 = let uu____26680 = - let uu____26687 = mkclass lid in - (meths, uu____26687) in - FStar_Syntax_Syntax.Sig_splice uu____26680 in + let uu____26687 = mkclass lid in + (meths, uu____26687) in + FStar_Syntax_Syntax.Sig_splice uu____26680 in { FStar_Syntax_Syntax.sigel = uu____26679; FStar_Syntax_Syntax.sigrng = @@ -6950,60 +7602,61 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in [uu____26678] - | uu____26690 -> [] in + | uu____26690 -> [] in let extra = if typeclass then - let meths = FStar_List.concatMap get_meths ses in + let meths = FStar_List.concatMap get_meths ses in FStar_List.concatMap (splice_decl meths) ses - else [] in + else [] in let env2 = FStar_List.fold_left FStar_Syntax_DsEnv.push_sigelt env1 - extra in + extra + in (env2, (FStar_List.append ses extra))) - | FStar_Parser_AST.TopLevelLet (isrec, lets) -> - let quals = d.FStar_Parser_AST.quals in + | FStar_Parser_AST.TopLevelLet (isrec,lets) -> + let quals = d.FStar_Parser_AST.quals in let expand_toplevel_pattern = (isrec = FStar_Parser_AST.NoLetQualifier) && (match lets with | ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatOp uu____26724; - FStar_Parser_AST.prange = uu____26725;_}, - uu____26726)::[] -> false + FStar_Parser_AST.prange = uu____26725;_},uu____26726)::[] + -> false | ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatVar uu____26736; - FStar_Parser_AST.prange = uu____26737;_}, - uu____26738)::[] -> false + FStar_Parser_AST.prange = uu____26737;_},uu____26738)::[] + -> false | ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatAscribed ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatOp uu____26754; - FStar_Parser_AST.prange = uu____26755;_}, - uu____26756); - FStar_Parser_AST.prange = uu____26757;_}, - uu____26758)::[] -> false + FStar_Parser_AST.prange = uu____26755;_},uu____26756); + FStar_Parser_AST.prange = uu____26757;_},uu____26758)::[] + -> false | ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatAscribed ({ FStar_Parser_AST.pat = FStar_Parser_AST.PatVar uu____26780; - FStar_Parser_AST.prange = uu____26781;_}, - uu____26782); - FStar_Parser_AST.prange = uu____26783;_}, - uu____26784)::[] -> false - | (p, uu____26813)::[] -> - let uu____26822 = is_app_pattern p in + FStar_Parser_AST.prange = uu____26781;_},uu____26782); + FStar_Parser_AST.prange = uu____26783;_},uu____26784)::[] + -> false + | (p,uu____26813)::[] -> + let uu____26822 = is_app_pattern p in Prims.op_Negation uu____26822 - | uu____26824 -> false) in + | uu____26824 -> false) + in if Prims.op_Negation expand_toplevel_pattern then let lets1 = - FStar_List.map (fun x -> (FStar_Pervasives_Native.None, x)) - lets in + FStar_List.map (fun x -> (FStar_Pervasives_Native.None, x)) + lets + in let as_inner_let = FStar_Parser_AST.mk_term (FStar_Parser_AST.Let @@ -7011,25 +7664,29 @@ and (desugar_decl_noattrs : (FStar_Parser_AST.mk_term (FStar_Parser_AST.Const FStar_Const.Const_unit) d.FStar_Parser_AST.drange FStar_Parser_AST.Expr))) - d.FStar_Parser_AST.drange FStar_Parser_AST.Expr in - let uu____26899 = desugar_term_maybe_top true env as_inner_let in + d.FStar_Parser_AST.drange FStar_Parser_AST.Expr + in + let uu____26899 = desugar_term_maybe_top true env as_inner_let + in (match uu____26899 with - | (ds_lets, aq) -> + | (ds_lets,aq) -> (check_no_aq aq; (let uu____26912 = let uu____26913 = FStar_All.pipe_left FStar_Syntax_Subst.compress - ds_lets in - uu____26913.FStar_Syntax_Syntax.n in + ds_lets + in + uu____26913.FStar_Syntax_Syntax.n in match uu____26912 with - | FStar_Syntax_Syntax.Tm_let (lbs, uu____26923) -> + | FStar_Syntax_Syntax.Tm_let (lbs,uu____26923) -> let fvs = FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs) (FStar_List.map - (fun lb -> + (fun lb -> FStar_Util.right - lb.FStar_Syntax_Syntax.lbname)) in + lb.FStar_Syntax_Syntax.lbname)) + in let quals1 = match quals with | uu____26959::uu____26960 -> @@ -7040,7 +7697,7 @@ and (desugar_decl_noattrs : FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs) (FStar_List.collect - (fun uu___29_26979 -> + (fun uu___29_26979 -> match uu___29_26979 with | { FStar_Syntax_Syntax.lbname = @@ -7076,71 +7733,78 @@ and (desugar_decl_noattrs : -> FStar_Syntax_DsEnv.lookup_letbinding_quals env - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v)) in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v)) + in let quals2 = let uu____27019 = FStar_All.pipe_right lets1 (FStar_Util.for_some - (fun uu____27052 -> + (fun uu____27052 -> match uu____27052 with - | (uu____27066, (uu____27067, t)) -> + | (uu____27066,(uu____27067,t)) -> t.FStar_Parser_AST.level = - FStar_Parser_AST.Formula)) in + FStar_Parser_AST.Formula)) + in if uu____27019 then FStar_Syntax_Syntax.Logic :: quals1 - else quals1 in + else quals1 in let lbs1 = let uu____27087 = FStar_All.pipe_right quals2 (FStar_List.contains - FStar_Syntax_Syntax.Abstract) in + FStar_Syntax_Syntax.Abstract) + in if uu____27087 then let uu____27093 = FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs) (FStar_List.map - (fun lb -> + (fun lb -> let fv = FStar_Util.right - lb.FStar_Syntax_Syntax.lbname in - let uu___3589_27108 = lb in + lb.FStar_Syntax_Syntax.lbname + in + let uu___3590_27108 = lb in { FStar_Syntax_Syntax.lbname = (FStar_Util.Inr - (let uu___3591_27110 = fv in + (let uu___3592_27110 = fv in { FStar_Syntax_Syntax.fv_name = - (uu___3591_27110.FStar_Syntax_Syntax.fv_name); + (uu___3592_27110.FStar_Syntax_Syntax.fv_name); FStar_Syntax_Syntax.fv_delta = (FStar_Syntax_Syntax.Delta_abstract (fv.FStar_Syntax_Syntax.fv_delta)); FStar_Syntax_Syntax.fv_qual = - (uu___3591_27110.FStar_Syntax_Syntax.fv_qual) + (uu___3592_27110.FStar_Syntax_Syntax.fv_qual) })); FStar_Syntax_Syntax.lbunivs = - (uu___3589_27108.FStar_Syntax_Syntax.lbunivs); + (uu___3590_27108.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = - (uu___3589_27108.FStar_Syntax_Syntax.lbtyp); + (uu___3590_27108.FStar_Syntax_Syntax.lbtyp); FStar_Syntax_Syntax.lbeff = - (uu___3589_27108.FStar_Syntax_Syntax.lbeff); + (uu___3590_27108.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = - (uu___3589_27108.FStar_Syntax_Syntax.lbdef); + (uu___3590_27108.FStar_Syntax_Syntax.lbdef); FStar_Syntax_Syntax.lbattrs = - (uu___3589_27108.FStar_Syntax_Syntax.lbattrs); + (uu___3590_27108.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___3589_27108.FStar_Syntax_Syntax.lbpos) - })) in + (uu___3590_27108.FStar_Syntax_Syntax.lbpos) + })) + in ((FStar_Pervasives_Native.fst lbs), uu____27093) - else lbs in + else lbs in let names1 = FStar_All.pipe_right fvs (FStar_List.map - (fun fv -> - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v)) in + (fun fv -> + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v)) + in let attrs = FStar_List.map (desugar_term env) - d.FStar_Parser_AST.attrs in + d.FStar_Parser_AST.attrs + in let s = { FStar_Syntax_Syntax.sigel = @@ -7151,101 +7815,111 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = attrs - } in - let env1 = FStar_Syntax_DsEnv.push_sigelt env s in + } in + let env1 = FStar_Syntax_DsEnv.push_sigelt env s in let env2 = FStar_List.fold_left - (fun env2 -> - fun id1 -> + (fun env2 -> + fun id1 -> FStar_Syntax_DsEnv.push_doc env2 id1 - d.FStar_Parser_AST.doc) env1 names1 in + d.FStar_Parser_AST.doc) env1 names1 + in (env2, [s]) | uu____27140 -> failwith "Desugaring a let did not produce a let"))) else (let uu____27148 = match lets with - | (pat, body)::[] -> (pat, body) + | (pat,body)::[] -> (pat, body) | uu____27167 -> failwith - "expand_toplevel_pattern should only allow single definition lets" in + "expand_toplevel_pattern should only allow single definition lets" + in match uu____27148 with - | (pat, body) -> + | (pat,body) -> let fresh_toplevel_name = - FStar_Ident.gen FStar_Range.dummyRange in + FStar_Ident.gen FStar_Range.dummyRange in let fresh_pat = let var_pat = FStar_Parser_AST.mk_pattern (FStar_Parser_AST.PatVar (fresh_toplevel_name, FStar_Pervasives_Native.None)) - FStar_Range.dummyRange in + FStar_Range.dummyRange + in match pat.FStar_Parser_AST.pat with - | FStar_Parser_AST.PatAscribed (pat1, ty) -> - let uu___3617_27204 = pat1 in + | FStar_Parser_AST.PatAscribed (pat1,ty) -> + let uu___3618_27204 = pat1 in { FStar_Parser_AST.pat = (FStar_Parser_AST.PatAscribed (var_pat, ty)); FStar_Parser_AST.prange = - (uu___3617_27204.FStar_Parser_AST.prange) + (uu___3618_27204.FStar_Parser_AST.prange) } - | uu____27211 -> var_pat in + | uu____27211 -> var_pat in let main_let = desugar_decl env - (let uu___3621_27218 = d in + (let uu___3622_27218 = d in { FStar_Parser_AST.d = (FStar_Parser_AST.TopLevelLet (isrec, [(fresh_pat, body)])); FStar_Parser_AST.drange = - (uu___3621_27218.FStar_Parser_AST.drange); + (uu___3622_27218.FStar_Parser_AST.drange); FStar_Parser_AST.doc = - (uu___3621_27218.FStar_Parser_AST.doc); + (uu___3622_27218.FStar_Parser_AST.doc); FStar_Parser_AST.quals = (FStar_Parser_AST.Private :: (d.FStar_Parser_AST.quals)); FStar_Parser_AST.attrs = - (uu___3621_27218.FStar_Parser_AST.attrs) - }) in + (uu___3622_27218.FStar_Parser_AST.attrs) + }) + in let build_projection uu____27254 id1 = match uu____27254 with - | (env1, ses) -> + | (env1,ses) -> let main = let uu____27275 = let uu____27276 = - FStar_Ident.lid_of_ids [fresh_toplevel_name] in - FStar_Parser_AST.Var uu____27276 in + FStar_Ident.lid_of_ids [fresh_toplevel_name] in + FStar_Parser_AST.Var uu____27276 in FStar_Parser_AST.mk_term uu____27275 - FStar_Range.dummyRange FStar_Parser_AST.Expr in - let lid = FStar_Ident.lid_of_ids [id1] in + FStar_Range.dummyRange FStar_Parser_AST.Expr + in + let lid = FStar_Ident.lid_of_ids [id1] in let projectee = FStar_Parser_AST.mk_term (FStar_Parser_AST.Var lid) - FStar_Range.dummyRange FStar_Parser_AST.Expr in + FStar_Range.dummyRange FStar_Parser_AST.Expr + in let body1 = FStar_Parser_AST.mk_term (FStar_Parser_AST.Match (main, [(pat, FStar_Pervasives_Native.None, projectee)])) FStar_Range.dummyRange - FStar_Parser_AST.Expr in + FStar_Parser_AST.Expr + in let bv_pat = FStar_Parser_AST.mk_pattern (FStar_Parser_AST.PatVar (id1, FStar_Pervasives_Native.None)) - FStar_Range.dummyRange in + FStar_Range.dummyRange + in let id_decl = FStar_Parser_AST.mk_decl (FStar_Parser_AST.TopLevelLet (FStar_Parser_AST.NoLetQualifier, - [(bv_pat, body1)])) FStar_Range.dummyRange [] in - let uu____27326 = desugar_decl env1 id_decl in + [(bv_pat, body1)])) FStar_Range.dummyRange [] + in + let uu____27326 = desugar_decl env1 id_decl in (match uu____27326 with - | (env2, ses') -> - (env2, (FStar_List.append ses ses'))) in + | (env2,ses') -> (env2, (FStar_List.append ses ses'))) + in let bvs = - let uu____27344 = gather_pattern_bound_vars true pat in - FStar_All.pipe_right uu____27344 FStar_Util.set_elements in + let uu____27344 = gather_pattern_bound_vars true pat in + FStar_All.pipe_right uu____27344 FStar_Util.set_elements + in FStar_List.fold_left build_projection main_let bvs) | FStar_Parser_AST.Main t -> - let e = desugar_term env t in + let e = desugar_term env t in let se = { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_main e); @@ -7254,13 +7928,13 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in (env, [se]) - | FStar_Parser_AST.Assume (id1, t) -> - let f = desugar_formula env t in - let lid = FStar_Syntax_DsEnv.qualify env id1 in + | FStar_Parser_AST.Assume (id1,t) -> + let f = desugar_formula env t in + let lid = FStar_Syntax_DsEnv.qualify env id1 in let env1 = - FStar_Syntax_DsEnv.push_doc env lid d.FStar_Parser_AST.doc in + FStar_Syntax_DsEnv.push_doc env lid d.FStar_Parser_AST.doc in (env1, [{ FStar_Syntax_Syntax.sigel = @@ -7272,24 +7946,27 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] }]) - | FStar_Parser_AST.Val (id1, t) -> - let quals = d.FStar_Parser_AST.quals in + | FStar_Parser_AST.Val (id1,t) -> + let quals = d.FStar_Parser_AST.quals in let t1 = - let uu____27368 = close_fun env t in desugar_term env uu____27368 in + let uu____27368 = close_fun env t in + desugar_term env uu____27368 in let quals1 = let uu____27372 = (FStar_Syntax_DsEnv.iface env) && - (FStar_Syntax_DsEnv.admitted_iface env) in + (FStar_Syntax_DsEnv.admitted_iface env) + in if uu____27372 then FStar_Parser_AST.Assumption :: quals - else quals in - let lid = FStar_Syntax_DsEnv.qualify env id1 in + else quals in + let lid = FStar_Syntax_DsEnv.qualify env id1 in let attrs = - FStar_List.map (desugar_term env) d.FStar_Parser_AST.attrs in + FStar_List.map (desugar_term env) d.FStar_Parser_AST.attrs in let se = let uu____27384 = FStar_List.map (trans_qual1 FStar_Pervasives_Native.None) - quals1 in + quals1 + in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (lid, [], t1)); @@ -7298,33 +7975,36 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = attrs - } in - let env1 = FStar_Syntax_DsEnv.push_sigelt env se in + } in + let env1 = FStar_Syntax_DsEnv.push_sigelt env se in let env2 = - FStar_Syntax_DsEnv.push_doc env1 lid d.FStar_Parser_AST.doc in + FStar_Syntax_DsEnv.push_doc env1 lid d.FStar_Parser_AST.doc in (env2, [se]) - | FStar_Parser_AST.Exception (id1, t_opt) -> + | FStar_Parser_AST.Exception (id1,t_opt) -> let t = match t_opt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Syntax_DsEnv.fail_or env (FStar_Syntax_DsEnv.try_lookup_lid env) FStar_Parser_Const.exn_lid | FStar_Pervasives_Native.Some term -> - let t = desugar_term env term in + let t = desugar_term env term in let uu____27398 = - let uu____27407 = FStar_Syntax_Syntax.null_binder t in - [uu____27407] in + let uu____27407 = FStar_Syntax_Syntax.null_binder t in + [uu____27407] in let uu____27426 = let uu____27429 = FStar_Syntax_DsEnv.fail_or env (FStar_Syntax_DsEnv.try_lookup_lid env) - FStar_Parser_Const.exn_lid in + FStar_Parser_Const.exn_lid + in FStar_All.pipe_left FStar_Syntax_Syntax.mk_Total - uu____27429 in - FStar_Syntax_Util.arrow uu____27398 uu____27426 in - let l = FStar_Syntax_DsEnv.qualify env id1 in - let qual = [FStar_Syntax_Syntax.ExceptionConstructor] in + uu____27429 + in + FStar_Syntax_Util.arrow uu____27398 uu____27426 + in + let l = FStar_Syntax_DsEnv.qualify env id1 in + let qual = [FStar_Syntax_Syntax.ExceptionConstructor] in let se = { FStar_Syntax_Syntax.sigel = @@ -7336,7 +8016,7 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in let se' = { FStar_Syntax_Syntax.sigel = @@ -7346,72 +8026,78 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in - let env1 = FStar_Syntax_DsEnv.push_sigelt env se' in + } in + let env1 = FStar_Syntax_DsEnv.push_sigelt env se' in let env2 = - FStar_Syntax_DsEnv.push_doc env1 l d.FStar_Parser_AST.doc in - let data_ops = mk_data_projector_names [] env2 se in - let discs = mk_data_discriminators [] env2 [l] in + FStar_Syntax_DsEnv.push_doc env1 l d.FStar_Parser_AST.doc in + let data_ops = mk_data_projector_names [] env2 se in + let discs = mk_data_discriminators [] env2 [l] in let env3 = FStar_List.fold_left FStar_Syntax_DsEnv.push_sigelt env2 - (FStar_List.append discs data_ops) in + (FStar_List.append discs data_ops) + in (env3, (FStar_List.append (se' :: discs) data_ops)) | FStar_Parser_AST.NewEffect (FStar_Parser_AST.RedefineEffect - (eff_name, eff_binders, defn)) -> - let quals = d.FStar_Parser_AST.quals in + (eff_name,eff_binders,defn)) -> + let quals = d.FStar_Parser_AST.quals in desugar_redefine_effect env d trans_qual1 quals eff_name eff_binders defn | FStar_Parser_AST.NewEffect (FStar_Parser_AST.DefineEffect - (eff_name, eff_binders, eff_typ, eff_decls)) -> - let quals = d.FStar_Parser_AST.quals in - let attrs = d.FStar_Parser_AST.attrs in + (eff_name,eff_binders,eff_typ,eff_decls)) -> + let quals = d.FStar_Parser_AST.quals in + let attrs = d.FStar_Parser_AST.attrs in desugar_effect env d quals eff_name eff_binders eff_typ eff_decls attrs | FStar_Parser_AST.SubEffect l -> let lookup1 l1 = let uu____27484 = - FStar_Syntax_DsEnv.try_lookup_effect_name env l1 in + FStar_Syntax_DsEnv.try_lookup_effect_name env l1 in match uu____27484 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____27487 = let uu____27493 = let uu____27495 = - let uu____27497 = FStar_Syntax_Print.lid_to_string l1 in - Prims.op_Hat uu____27497 " not found" in - Prims.op_Hat "Effect name " uu____27495 in - (FStar_Errors.Fatal_EffectNotFound, uu____27493) in + let uu____27497 = FStar_Syntax_Print.lid_to_string l1 + in + Prims.op_Hat uu____27497 " not found" in + Prims.op_Hat "Effect name " uu____27495 in + (FStar_Errors.Fatal_EffectNotFound, uu____27493) in FStar_Errors.raise_error uu____27487 d.FStar_Parser_AST.drange - | FStar_Pervasives_Native.Some l2 -> l2 in - let src = lookup1 l.FStar_Parser_AST.msource in - let dst = lookup1 l.FStar_Parser_AST.mdest in + | FStar_Pervasives_Native.Some l2 -> l2 in + let src = lookup1 l.FStar_Parser_AST.msource in + let dst = lookup1 l.FStar_Parser_AST.mdest in let uu____27505 = match l.FStar_Parser_AST.lift_op with | FStar_Parser_AST.NonReifiableLift t -> let uu____27523 = let uu____27526 = - let uu____27527 = desugar_term env t in ([], uu____27527) in - FStar_Pervasives_Native.Some uu____27526 in + let uu____27527 = desugar_term env t in + ([], uu____27527) in + FStar_Pervasives_Native.Some uu____27526 in (uu____27523, FStar_Pervasives_Native.None) - | FStar_Parser_AST.ReifiableLift (wp, t) -> + | FStar_Parser_AST.ReifiableLift (wp,t) -> let uu____27540 = let uu____27543 = - let uu____27544 = desugar_term env wp in - ([], uu____27544) in - FStar_Pervasives_Native.Some uu____27543 in + let uu____27544 = desugar_term env wp in + ([], uu____27544) in + FStar_Pervasives_Native.Some uu____27543 in let uu____27551 = let uu____27554 = - let uu____27555 = desugar_term env t in ([], uu____27555) in - FStar_Pervasives_Native.Some uu____27554 in + let uu____27555 = desugar_term env t in + ([], uu____27555) in + FStar_Pervasives_Native.Some uu____27554 in (uu____27540, uu____27551) | FStar_Parser_AST.LiftForFree t -> let uu____27567 = let uu____27570 = - let uu____27571 = desugar_term env t in ([], uu____27571) in - FStar_Pervasives_Native.Some uu____27570 in - (FStar_Pervasives_Native.None, uu____27567) in + let uu____27571 = desugar_term env t in + ([], uu____27571) in + FStar_Pervasives_Native.Some uu____27570 in + (FStar_Pervasives_Native.None, uu____27567) + in (match uu____27505 with - | (lift_wp, lift) -> + | (lift_wp,lift) -> let se = { FStar_Syntax_Syntax.sigel = @@ -7427,17 +8113,17 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in (env, [se])) - | FStar_Parser_AST.Splice (ids, t) -> - let t1 = desugar_term env t in + | FStar_Parser_AST.Splice (ids,t) -> + let t1 = desugar_term env t in let se = let uu____27605 = let uu____27606 = let uu____27613 = - FStar_List.map (FStar_Syntax_DsEnv.qualify env) ids in - (uu____27613, t1) in - FStar_Syntax_Syntax.Sig_splice uu____27606 in + FStar_List.map (FStar_Syntax_DsEnv.qualify env) ids in + (uu____27613, t1) in + FStar_Syntax_Syntax.Sig_splice uu____27606 in { FStar_Syntax_Syntax.sigel = uu____27605; FStar_Syntax_Syntax.sigrng = (d.FStar_Parser_AST.drange); @@ -7445,42 +8131,44 @@ and (desugar_decl_noattrs : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in - let env1 = FStar_Syntax_DsEnv.push_sigelt env se in (env1, [se]) + } in + let env1 = FStar_Syntax_DsEnv.push_sigelt env se in (env1, [se]) + let (desugar_decls : env_t -> FStar_Parser_AST.decl Prims.list -> (env_t * FStar_Syntax_Syntax.sigelt Prims.list)) = - fun env -> - fun decls -> + fun env -> + fun decls -> let uu____27640 = FStar_List.fold_left - (fun uu____27660 -> - fun d -> + (fun uu____27660 -> + fun d -> match uu____27660 with - | (env1, sigelts) -> - let uu____27680 = desugar_decl env1 d in + | (env1,sigelts) -> + let uu____27680 = desugar_decl env1 d in (match uu____27680 with - | (env2, se) -> (env2, (FStar_List.append sigelts se)))) - (env, []) decls in + | (env2,se) -> (env2, (FStar_List.append sigelts se)))) + (env, []) decls + in match uu____27640 with - | (env1, sigelts) -> + | (env1,sigelts) -> let rec forward acc uu___31_27725 = match uu___31_27725 with | se1::se2::sigelts1 -> (match ((se1.FStar_Syntax_Syntax.sigel), (se2.FStar_Syntax_Syntax.sigel)) with - | (FStar_Syntax_Syntax.Sig_declare_typ uu____27739, - FStar_Syntax_Syntax.Sig_let uu____27740) -> + | (FStar_Syntax_Syntax.Sig_declare_typ + uu____27739,FStar_Syntax_Syntax.Sig_let uu____27740) -> let uu____27753 = let uu____27756 = - let uu___3750_27757 = se2 in + let uu___3751_27757 = se2 in let uu____27758 = let uu____27761 = FStar_List.filter - (fun uu___30_27775 -> + (fun uu___30_27775 -> match uu___30_27775 with | { FStar_Syntax_Syntax.n = @@ -7491,38 +8179,42 @@ let (desugar_decls : FStar_Syntax_Syntax.pos = uu____27780; FStar_Syntax_Syntax.vars = - uu____27781;_}, - uu____27782); + uu____27781;_},uu____27782); FStar_Syntax_Syntax.pos = uu____27783; FStar_Syntax_Syntax.vars = uu____27784;_} when let uu____27811 = let uu____27813 = - FStar_Syntax_Syntax.lid_of_fv fv in - FStar_Ident.string_of_lid uu____27813 in + FStar_Syntax_Syntax.lid_of_fv fv + in + FStar_Ident.string_of_lid uu____27813 + in uu____27811 = "FStar.Pervasives.Comment" -> true | uu____27817 -> false) - se1.FStar_Syntax_Syntax.sigattrs in + se1.FStar_Syntax_Syntax.sigattrs + in FStar_List.append uu____27761 - se2.FStar_Syntax_Syntax.sigattrs in + se2.FStar_Syntax_Syntax.sigattrs + in { FStar_Syntax_Syntax.sigel = - (uu___3750_27757.FStar_Syntax_Syntax.sigel); + (uu___3751_27757.FStar_Syntax_Syntax.sigel); FStar_Syntax_Syntax.sigrng = - (uu___3750_27757.FStar_Syntax_Syntax.sigrng); + (uu___3751_27757.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3750_27757.FStar_Syntax_Syntax.sigquals); + (uu___3751_27757.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3750_27757.FStar_Syntax_Syntax.sigmeta); + (uu___3751_27757.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = uu____27758 - } in - uu____27756 :: se1 :: acc in + } in + uu____27756 :: se1 :: acc in forward uu____27753 sigelts1 | uu____27823 -> forward (se1 :: acc) (se2 :: sigelts1)) - | sigelts1 -> FStar_List.rev_append acc sigelts1 in - let uu____27831 = forward [] sigelts in (env1, uu____27831) + | sigelts1 -> FStar_List.rev_append acc sigelts1 in + let uu____27831 = forward [] sigelts in (env1, uu____27831) + let (open_prims_all : (FStar_Parser_AST.decoration Prims.list -> FStar_Parser_AST.decl) Prims.list) @@ -7532,108 +8224,119 @@ let (open_prims_all : FStar_Range.dummyRange; FStar_Parser_AST.mk_decl (FStar_Parser_AST.Open FStar_Parser_Const.all_lid) FStar_Range.dummyRange] + let (desugar_modul_common : FStar_Syntax_Syntax.modul FStar_Pervasives_Native.option -> FStar_Syntax_DsEnv.env -> FStar_Parser_AST.modul -> (env_t * FStar_Syntax_Syntax.modul * Prims.bool)) = - fun curmod -> - fun env -> - fun m -> + fun curmod -> + fun env -> + fun m -> let env1 = match (curmod, m) with - | (FStar_Pervasives_Native.None, uu____27896) -> env + | (FStar_Pervasives_Native.None ,uu____27896) -> env | (FStar_Pervasives_Native.Some { FStar_Syntax_Syntax.name = prev_lid; FStar_Syntax_Syntax.declarations = uu____27900; FStar_Syntax_Syntax.exports = uu____27901; - FStar_Syntax_Syntax.is_interface = uu____27902;_}, - FStar_Parser_AST.Module (current_lid, uu____27904)) when + FStar_Syntax_Syntax.is_interface = uu____27902;_},FStar_Parser_AST.Module + (current_lid,uu____27904)) when (FStar_Ident.lid_equals prev_lid current_lid) && (FStar_Options.interactive ()) -> env - | (FStar_Pervasives_Native.Some prev_mod, uu____27913) -> + | (FStar_Pervasives_Native.Some prev_mod,uu____27913) -> let uu____27916 = - FStar_Syntax_DsEnv.finish_module_or_interface env prev_mod in - FStar_Pervasives_Native.fst uu____27916 in + FStar_Syntax_DsEnv.finish_module_or_interface env prev_mod + in + FStar_Pervasives_Native.fst uu____27916 + in let uu____27921 = match m with - | FStar_Parser_AST.Interface (mname, decls, admitted) -> + | FStar_Parser_AST.Interface (mname,decls,admitted) -> let uu____27963 = FStar_Syntax_DsEnv.prepare_module_or_interface true admitted - env1 mname FStar_Syntax_DsEnv.default_mii in + env1 mname FStar_Syntax_DsEnv.default_mii + in (uu____27963, mname, decls, true) - | FStar_Parser_AST.Module (mname, decls) -> + | FStar_Parser_AST.Module (mname,decls) -> let uu____27985 = FStar_Syntax_DsEnv.prepare_module_or_interface false false - env1 mname FStar_Syntax_DsEnv.default_mii in - (uu____27985, mname, decls, false) in + env1 mname FStar_Syntax_DsEnv.default_mii + in + (uu____27985, mname, decls, false) + in match uu____27921 with - | ((env2, pop_when_done), mname, decls, intf) -> - let uu____28027 = desugar_decls env2 decls in + | ((env2,pop_when_done),mname,decls,intf) -> + let uu____28027 = desugar_decls env2 decls in (match uu____28027 with - | (env3, sigelts) -> + | (env3,sigelts) -> let modul = { FStar_Syntax_Syntax.name = mname; FStar_Syntax_Syntax.declarations = sigelts; FStar_Syntax_Syntax.exports = []; FStar_Syntax_Syntax.is_interface = intf - } in + } in (env3, modul, pop_when_done)) + let (as_interface : FStar_Parser_AST.modul -> FStar_Parser_AST.modul) = - fun m -> + fun m -> match m with - | FStar_Parser_AST.Module (mname, decls) -> + | FStar_Parser_AST.Module (mname,decls) -> FStar_Parser_AST.Interface (mname, decls, true) | i -> i + let (desugar_partial_modul : FStar_Syntax_Syntax.modul FStar_Pervasives_Native.option -> env_t -> FStar_Parser_AST.modul -> (env_t * FStar_Syntax_Syntax.modul)) = - fun curmod -> - fun env -> - fun m -> + fun curmod -> + fun env -> + fun m -> let m1 = let uu____28095 = (FStar_Options.interactive ()) && (let uu____28098 = let uu____28100 = - let uu____28102 = FStar_Options.file_list () in - FStar_List.hd uu____28102 in - FStar_Util.get_file_extension uu____28100 in - FStar_List.mem uu____28098 ["fsti"; "fsi"]) in - if uu____28095 then as_interface m else m in - let uu____28116 = desugar_modul_common curmod env m1 in + let uu____28102 = FStar_Options.file_list () in + FStar_List.hd uu____28102 in + FStar_Util.get_file_extension uu____28100 in + FStar_List.mem uu____28098 ["fsti"; "fsi"]) + in + if uu____28095 then as_interface m else m in + let uu____28116 = desugar_modul_common curmod env m1 in match uu____28116 with - | (env1, modul, pop_when_done) -> + | (env1,modul,pop_when_done) -> if pop_when_done then - let uu____28138 = FStar_Syntax_DsEnv.pop () in + let uu____28138 = FStar_Syntax_DsEnv.pop () in (uu____28138, modul) else (env1, modul) + let (desugar_modul : FStar_Syntax_DsEnv.env -> FStar_Parser_AST.modul -> (env_t * FStar_Syntax_Syntax.modul)) = - fun env -> - fun m -> + fun env -> + fun m -> let uu____28160 = - desugar_modul_common FStar_Pervasives_Native.None env m in + desugar_modul_common FStar_Pervasives_Native.None env m in match uu____28160 with - | (env1, modul, pop_when_done) -> + | (env1,modul,pop_when_done) -> let uu____28177 = - FStar_Syntax_DsEnv.finish_module_or_interface env1 modul in + FStar_Syntax_DsEnv.finish_module_or_interface env1 modul in (match uu____28177 with - | (env2, modul1) -> + | (env2,modul1) -> ((let uu____28189 = FStar_Options.dump_module - (modul1.FStar_Syntax_Syntax.name).FStar_Ident.str in + (modul1.FStar_Syntax_Syntax.name).FStar_Ident.str + in if uu____28189 then let uu____28192 = - FStar_Syntax_Print.modul_to_string modul1 in + FStar_Syntax_Print.modul_to_string modul1 in FStar_Util.print1 "Module after desugaring:\n%s\n" uu____28192 else ()); @@ -7642,58 +8345,63 @@ let (desugar_modul : then FStar_Syntax_DsEnv.export_interface modul1.FStar_Syntax_Syntax.name env2 - else env2 in + else env2 in (uu____28197, modul1)))) + let with_options : 'a . (unit -> 'a) -> 'a = - fun f -> + fun f -> FStar_Options.push (); - (let res = f () in - let light = FStar_Options.ml_ish () in + (let res = f () in + let light = FStar_Options.ml_ish () in FStar_Options.pop (); if light then FStar_Options.set_ml_ish () else (); res) + let (ast_modul_to_modul : FStar_Parser_AST.modul -> FStar_Syntax_Syntax.modul FStar_Syntax_DsEnv.withenv) = - fun modul -> - fun env -> + fun modul -> + fun env -> with_options - (fun uu____28247 -> - let uu____28248 = desugar_modul env modul in - match uu____28248 with | (e, m) -> (m, e)) + (fun uu____28247 -> + let uu____28248 = desugar_modul env modul in + match uu____28248 with | (e,m) -> (m, e)) + let (decls_to_sigelts : FStar_Parser_AST.decl Prims.list -> FStar_Syntax_Syntax.sigelts FStar_Syntax_DsEnv.withenv) = - fun decls -> - fun env -> + fun decls -> + fun env -> with_options - (fun uu____28286 -> - let uu____28287 = desugar_decls env decls in - match uu____28287 with | (env1, sigelts) -> (sigelts, env1)) + (fun uu____28286 -> + let uu____28287 = desugar_decls env decls in + match uu____28287 with | (env1,sigelts) -> (sigelts, env1)) + let (partial_ast_modul_to_modul : FStar_Syntax_Syntax.modul FStar_Pervasives_Native.option -> FStar_Parser_AST.modul -> FStar_Syntax_Syntax.modul FStar_Syntax_DsEnv.withenv) = - fun modul -> - fun a_modul -> - fun env -> + fun modul -> + fun a_modul -> + fun env -> with_options - (fun uu____28338 -> - let uu____28339 = desugar_partial_modul modul env a_modul in - match uu____28339 with | (env1, modul1) -> (modul1, env1)) + (fun uu____28338 -> + let uu____28339 = desugar_partial_modul modul env a_modul in + match uu____28339 with | (env1,modul1) -> (modul1, env1)) + let (add_modul_to_env : FStar_Syntax_Syntax.modul -> FStar_Syntax_DsEnv.module_inclusion_info -> (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) -> unit FStar_Syntax_DsEnv.withenv) = - fun m -> - fun mii -> - fun erase_univs -> - fun en -> + fun m -> + fun mii -> + fun erase_univs -> + fun en -> let erase_univs_ed ed = let erase_binders bs = match bs with @@ -7705,45 +8413,52 @@ let (add_modul_to_env : (FStar_Syntax_Syntax.Tm_abs (bs, FStar_Syntax_Syntax.t_unit, FStar_Pervasives_Native.None)) - FStar_Pervasives_Native.None FStar_Range.dummyRange in - erase_univs uu____28444 in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in + erase_univs uu____28444 in let uu____28457 = - let uu____28458 = FStar_Syntax_Subst.compress t in - uu____28458.FStar_Syntax_Syntax.n in + let uu____28458 = FStar_Syntax_Subst.compress t in + uu____28458.FStar_Syntax_Syntax.n in (match uu____28457 with - | FStar_Syntax_Syntax.Tm_abs - (bs1, uu____28470, uu____28471) -> bs1 - | uu____28496 -> failwith "Impossible") in + | FStar_Syntax_Syntax.Tm_abs (bs1,uu____28470,uu____28471) + -> bs1 + | uu____28496 -> failwith "Impossible") + in let uu____28506 = - let uu____28513 = erase_binders ed.FStar_Syntax_Syntax.binders in + let uu____28513 = erase_binders ed.FStar_Syntax_Syntax.binders + in FStar_Syntax_Subst.open_term' uu____28513 - FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Syntax.t_unit + in match uu____28506 with - | (binders, uu____28515, binders_opening) -> + | (binders,uu____28515,binders_opening) -> let erase_term t = let uu____28523 = let uu____28524 = - FStar_Syntax_Subst.subst binders_opening t in - erase_univs uu____28524 in - FStar_Syntax_Subst.close binders uu____28523 in + FStar_Syntax_Subst.subst binders_opening t in + erase_univs uu____28524 in + FStar_Syntax_Subst.close binders uu____28523 in let erase_tscheme uu____28542 = match uu____28542 with - | (us, t) -> + | (us,t) -> let t1 = let uu____28562 = FStar_Syntax_Subst.shift_subst - (FStar_List.length us) binders_opening in - FStar_Syntax_Subst.subst uu____28562 t in + (FStar_List.length us) binders_opening + in + FStar_Syntax_Subst.subst uu____28562 t in let uu____28565 = - let uu____28566 = erase_univs t1 in - FStar_Syntax_Subst.close binders uu____28566 in - ([], uu____28565) in + let uu____28566 = erase_univs t1 in + FStar_Syntax_Subst.close binders uu____28566 in + ([], uu____28565) + in let erase_action action = let opening = FStar_Syntax_Subst.shift_subst (FStar_List.length action.FStar_Syntax_Syntax.action_univs) - binders_opening in + binders_opening + in let erased_action_params = match action.FStar_Syntax_Syntax.action_params with | [] -> [] @@ -7751,78 +8466,87 @@ let (add_modul_to_env : let bs = let uu____28599 = FStar_Syntax_Subst.subst_binders opening - action.FStar_Syntax_Syntax.action_params in - FStar_All.pipe_left erase_binders uu____28599 in + action.FStar_Syntax_Syntax.action_params + in + FStar_All.pipe_left erase_binders uu____28599 in let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_abs (bs, FStar_Syntax_Syntax.t_unit, FStar_Pervasives_Native.None)) FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Range.dummyRange + in let uu____28639 = let uu____28640 = let uu____28643 = - FStar_Syntax_Subst.close binders t in - FStar_Syntax_Subst.compress uu____28643 in - uu____28640.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.close binders t in + FStar_Syntax_Subst.compress uu____28643 in + uu____28640.FStar_Syntax_Syntax.n in (match uu____28639 with | FStar_Syntax_Syntax.Tm_abs - (bs1, uu____28645, uu____28646) -> bs1 - | uu____28671 -> failwith "Impossible") in + (bs1,uu____28645,uu____28646) -> bs1 + | uu____28671 -> failwith "Impossible") + in let erase_term1 t = let uu____28679 = - let uu____28680 = FStar_Syntax_Subst.subst opening t in - erase_univs uu____28680 in - FStar_Syntax_Subst.close binders uu____28679 in - let uu___3909_28681 = action in + let uu____28680 = FStar_Syntax_Subst.subst opening t + in + erase_univs uu____28680 in + FStar_Syntax_Subst.close binders uu____28679 in + let uu___3910_28681 = action in let uu____28682 = - erase_term1 action.FStar_Syntax_Syntax.action_defn in + erase_term1 action.FStar_Syntax_Syntax.action_defn in let uu____28683 = - erase_term1 action.FStar_Syntax_Syntax.action_typ in + erase_term1 action.FStar_Syntax_Syntax.action_typ in { FStar_Syntax_Syntax.action_name = - (uu___3909_28681.FStar_Syntax_Syntax.action_name); + (uu___3910_28681.FStar_Syntax_Syntax.action_name); FStar_Syntax_Syntax.action_unqualified_name = - (uu___3909_28681.FStar_Syntax_Syntax.action_unqualified_name); + (uu___3910_28681.FStar_Syntax_Syntax.action_unqualified_name); FStar_Syntax_Syntax.action_univs = []; FStar_Syntax_Syntax.action_params = erased_action_params; FStar_Syntax_Syntax.action_defn = uu____28682; FStar_Syntax_Syntax.action_typ = uu____28683 - } in - let uu___3911_28684 = ed in - let uu____28685 = FStar_Syntax_Subst.close_binders binders in - let uu____28686 = erase_term ed.FStar_Syntax_Syntax.signature in - let uu____28687 = erase_tscheme ed.FStar_Syntax_Syntax.ret_wp in + } in + let uu___3912_28684 = ed in + let uu____28685 = FStar_Syntax_Subst.close_binders binders + in + let uu____28686 = erase_term ed.FStar_Syntax_Syntax.signature + in + let uu____28687 = erase_tscheme ed.FStar_Syntax_Syntax.ret_wp + in let uu____28688 = - erase_tscheme ed.FStar_Syntax_Syntax.bind_wp in + erase_tscheme ed.FStar_Syntax_Syntax.bind_wp in let uu____28689 = - erase_tscheme ed.FStar_Syntax_Syntax.if_then_else in - let uu____28690 = erase_tscheme ed.FStar_Syntax_Syntax.ite_wp in + erase_tscheme ed.FStar_Syntax_Syntax.if_then_else in + let uu____28690 = erase_tscheme ed.FStar_Syntax_Syntax.ite_wp + in let uu____28691 = - erase_tscheme ed.FStar_Syntax_Syntax.stronger in + erase_tscheme ed.FStar_Syntax_Syntax.stronger in let uu____28692 = - erase_tscheme ed.FStar_Syntax_Syntax.close_wp in + erase_tscheme ed.FStar_Syntax_Syntax.close_wp in let uu____28693 = - erase_tscheme ed.FStar_Syntax_Syntax.assert_p in + erase_tscheme ed.FStar_Syntax_Syntax.assert_p in let uu____28694 = - erase_tscheme ed.FStar_Syntax_Syntax.assume_p in + erase_tscheme ed.FStar_Syntax_Syntax.assume_p in let uu____28695 = - erase_tscheme ed.FStar_Syntax_Syntax.null_wp in + erase_tscheme ed.FStar_Syntax_Syntax.null_wp in let uu____28696 = - erase_tscheme ed.FStar_Syntax_Syntax.trivial in - let uu____28697 = erase_term ed.FStar_Syntax_Syntax.repr in + erase_tscheme ed.FStar_Syntax_Syntax.trivial in + let uu____28697 = erase_term ed.FStar_Syntax_Syntax.repr in let uu____28698 = - erase_tscheme ed.FStar_Syntax_Syntax.return_repr in + erase_tscheme ed.FStar_Syntax_Syntax.return_repr in let uu____28699 = - erase_tscheme ed.FStar_Syntax_Syntax.bind_repr in + erase_tscheme ed.FStar_Syntax_Syntax.bind_repr in let uu____28700 = - FStar_List.map erase_action ed.FStar_Syntax_Syntax.actions in + FStar_List.map erase_action ed.FStar_Syntax_Syntax.actions + in { FStar_Syntax_Syntax.cattributes = - (uu___3911_28684.FStar_Syntax_Syntax.cattributes); + (uu___3912_28684.FStar_Syntax_Syntax.cattributes); FStar_Syntax_Syntax.mname = - (uu___3911_28684.FStar_Syntax_Syntax.mname); + (uu___3912_28684.FStar_Syntax_Syntax.mname); FStar_Syntax_Syntax.univs = []; FStar_Syntax_Syntax.binders = uu____28685; FStar_Syntax_Syntax.signature = uu____28686; @@ -7841,67 +8565,73 @@ let (add_modul_to_env : FStar_Syntax_Syntax.bind_repr = uu____28699; FStar_Syntax_Syntax.actions = uu____28700; FStar_Syntax_Syntax.eff_attrs = - (uu___3911_28684.FStar_Syntax_Syntax.eff_attrs) - } in + (uu___3912_28684.FStar_Syntax_Syntax.eff_attrs) + } + in let push_sigelt1 env se = match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_new_effect ed -> let se' = - let uu___3918_28716 = se in + let uu___3919_28716 = se in let uu____28717 = - let uu____28718 = erase_univs_ed ed in - FStar_Syntax_Syntax.Sig_new_effect uu____28718 in + let uu____28718 = erase_univs_ed ed in + FStar_Syntax_Syntax.Sig_new_effect uu____28718 in { FStar_Syntax_Syntax.sigel = uu____28717; FStar_Syntax_Syntax.sigrng = - (uu___3918_28716.FStar_Syntax_Syntax.sigrng); + (uu___3919_28716.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3918_28716.FStar_Syntax_Syntax.sigquals); + (uu___3919_28716.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3918_28716.FStar_Syntax_Syntax.sigmeta); + (uu___3919_28716.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3918_28716.FStar_Syntax_Syntax.sigattrs) - } in - let env1 = FStar_Syntax_DsEnv.push_sigelt env se' in + (uu___3919_28716.FStar_Syntax_Syntax.sigattrs) + } in + let env1 = FStar_Syntax_DsEnv.push_sigelt env se' in push_reflect_effect env1 se.FStar_Syntax_Syntax.sigquals ed.FStar_Syntax_Syntax.mname se.FStar_Syntax_Syntax.sigrng | FStar_Syntax_Syntax.Sig_new_effect_for_free ed -> let se' = - let uu___3924_28722 = se in + let uu___3925_28722 = se in let uu____28723 = - let uu____28724 = erase_univs_ed ed in - FStar_Syntax_Syntax.Sig_new_effect_for_free uu____28724 in + let uu____28724 = erase_univs_ed ed in + FStar_Syntax_Syntax.Sig_new_effect_for_free uu____28724 + in { FStar_Syntax_Syntax.sigel = uu____28723; FStar_Syntax_Syntax.sigrng = - (uu___3924_28722.FStar_Syntax_Syntax.sigrng); + (uu___3925_28722.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3924_28722.FStar_Syntax_Syntax.sigquals); + (uu___3925_28722.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3924_28722.FStar_Syntax_Syntax.sigmeta); + (uu___3925_28722.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3924_28722.FStar_Syntax_Syntax.sigattrs) - } in - let env1 = FStar_Syntax_DsEnv.push_sigelt env se' in + (uu___3925_28722.FStar_Syntax_Syntax.sigattrs) + } in + let env1 = FStar_Syntax_DsEnv.push_sigelt env se' in push_reflect_effect env1 se.FStar_Syntax_Syntax.sigquals ed.FStar_Syntax_Syntax.mname se.FStar_Syntax_Syntax.sigrng - | uu____28726 -> FStar_Syntax_DsEnv.push_sigelt env se in + | uu____28726 -> FStar_Syntax_DsEnv.push_sigelt env se in let uu____28727 = FStar_Syntax_DsEnv.prepare_module_or_interface false false en - m.FStar_Syntax_Syntax.name mii in + m.FStar_Syntax_Syntax.name mii + in match uu____28727 with - | (en1, pop_when_done) -> + | (en1,pop_when_done) -> let en2 = let uu____28744 = FStar_Syntax_DsEnv.set_current_module en1 - m.FStar_Syntax_Syntax.name in + m.FStar_Syntax_Syntax.name + in FStar_List.fold_left push_sigelt1 uu____28744 - m.FStar_Syntax_Syntax.exports in - let env = FStar_Syntax_DsEnv.finish en2 m in + m.FStar_Syntax_Syntax.exports + in + let env = FStar_Syntax_DsEnv.finish en2 m in let uu____28746 = if pop_when_done then FStar_Syntax_DsEnv.export_interface m.FStar_Syntax_Syntax.name env - else env in - ((), uu____28746) \ No newline at end of file + else env in + ((), uu____28746) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_Cfg.ml b/src/ocaml-output/FStar_TypeChecker_Cfg.ml index 0b971dc8294..12c0ff2884b 100644 --- a/src/ocaml-output/FStar_TypeChecker_Cfg.ml +++ b/src/ocaml-output/FStar_TypeChecker_Cfg.ml @@ -29,7 +29,7 @@ type fsteps = nbe_step: Prims.bool ; for_extraction: Prims.bool } let (__proj__Mkfsteps__item__beta : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -39,8 +39,9 @@ let (__proj__Mkfsteps__item__beta : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> beta + let (__proj__Mkfsteps__item__iota : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -50,8 +51,9 @@ let (__proj__Mkfsteps__item__iota : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> iota1 + let (__proj__Mkfsteps__item__zeta : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -61,8 +63,9 @@ let (__proj__Mkfsteps__item__zeta : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> zeta1 + let (__proj__Mkfsteps__item__weak : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -72,8 +75,9 @@ let (__proj__Mkfsteps__item__weak : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> weak1 + let (__proj__Mkfsteps__item__hnf : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -83,8 +87,9 @@ let (__proj__Mkfsteps__item__hnf : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> hnf1 + let (__proj__Mkfsteps__item__primops : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -94,9 +99,10 @@ let (__proj__Mkfsteps__item__primops : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> primops1 + let (__proj__Mkfsteps__item__do_not_unfold_pure_lets : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -107,9 +113,10 @@ let (__proj__Mkfsteps__item__do_not_unfold_pure_lets : fsteps -> Prims.bool) unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> do_not_unfold_pure_lets + let (__proj__Mkfsteps__item__unfold_until : fsteps -> FStar_Syntax_Syntax.delta_depth FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -119,9 +126,10 @@ let (__proj__Mkfsteps__item__unfold_until : compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> unfold_until + let (__proj__Mkfsteps__item__unfold_only : fsteps -> FStar_Ident.lid Prims.list FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -131,9 +139,10 @@ let (__proj__Mkfsteps__item__unfold_only : compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> unfold_only + let (__proj__Mkfsteps__item__unfold_fully : fsteps -> FStar_Ident.lid Prims.list FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -143,9 +152,10 @@ let (__proj__Mkfsteps__item__unfold_fully : compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> unfold_fully + let (__proj__Mkfsteps__item__unfold_attr : fsteps -> FStar_Ident.lid Prims.list FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -155,8 +165,9 @@ let (__proj__Mkfsteps__item__unfold_attr : compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> unfold_attr + let (__proj__Mkfsteps__item__unfold_tac : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -166,9 +177,10 @@ let (__proj__Mkfsteps__item__unfold_tac : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> unfold_tac + let (__proj__Mkfsteps__item__pure_subterms_within_computations : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -179,8 +191,9 @@ let (__proj__Mkfsteps__item__pure_subterms_within_computations : unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> pure_subterms_within_computations + let (__proj__Mkfsteps__item__simplify : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -190,8 +203,9 @@ let (__proj__Mkfsteps__item__simplify : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> simplify1 + let (__proj__Mkfsteps__item__erase_universes : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -202,9 +216,10 @@ let (__proj__Mkfsteps__item__erase_universes : fsteps -> Prims.bool) = unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> erase_universes + let (__proj__Mkfsteps__item__allow_unbound_universes : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -215,8 +230,9 @@ let (__proj__Mkfsteps__item__allow_unbound_universes : fsteps -> Prims.bool) unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> allow_unbound_universes + let (__proj__Mkfsteps__item__reify_ : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -226,8 +242,9 @@ let (__proj__Mkfsteps__item__reify_ : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> reify_1 + let (__proj__Mkfsteps__item__compress_uvars : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -238,8 +255,9 @@ let (__proj__Mkfsteps__item__compress_uvars : fsteps -> Prims.bool) = unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> compress_uvars + let (__proj__Mkfsteps__item__no_full_norm : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -249,8 +267,9 @@ let (__proj__Mkfsteps__item__no_full_norm : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> no_full_norm + let (__proj__Mkfsteps__item__check_no_uvars : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -261,8 +280,9 @@ let (__proj__Mkfsteps__item__check_no_uvars : fsteps -> Prims.bool) = unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> check_no_uvars + let (__proj__Mkfsteps__item__unmeta : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -272,8 +292,9 @@ let (__proj__Mkfsteps__item__unmeta : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> unmeta1 + let (__proj__Mkfsteps__item__unascribe : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -283,8 +304,9 @@ let (__proj__Mkfsteps__item__unascribe : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> unascribe1 + let (__proj__Mkfsteps__item__in_full_norm_request : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -295,9 +317,10 @@ let (__proj__Mkfsteps__item__in_full_norm_request : fsteps -> Prims.bool) = unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> in_full_norm_request + let (__proj__Mkfsteps__item__weakly_reduce_scrutinee : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -308,8 +331,9 @@ let (__proj__Mkfsteps__item__weakly_reduce_scrutinee : fsteps -> Prims.bool) unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> weakly_reduce_scrutinee + let (__proj__Mkfsteps__item__nbe_step : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -319,8 +343,9 @@ let (__proj__Mkfsteps__item__nbe_step : fsteps -> Prims.bool) = compress_uvars; no_full_norm; check_no_uvars; unmeta = unmeta1; unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> nbe_step + let (__proj__Mkfsteps__item__for_extraction : fsteps -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { beta; iota = iota1; zeta = zeta1; weak = weak1; hnf = hnf1; primops = primops1; do_not_unfold_pure_lets; unfold_until; @@ -331,141 +356,162 @@ let (__proj__Mkfsteps__item__for_extraction : fsteps -> Prims.bool) = unascribe = unascribe1; in_full_norm_request; weakly_reduce_scrutinee; nbe_step; for_extraction;_} -> for_extraction + let (steps_to_string : fsteps -> Prims.string) = - fun f -> + fun f -> let format_opt f1 o = match o with - | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.None -> "None" | FStar_Pervasives_Native.Some x -> let uu____2099 = - let uu____2101 = f1 x in FStar_String.op_Hat uu____2101 ")" in - FStar_String.op_Hat "Some (" uu____2099 in - let b = FStar_Util.string_of_bool in + let uu____2101 = f1 x in FStar_String.op_Hat uu____2101 ")" in + FStar_String.op_Hat "Some (" uu____2099 + in + let b = FStar_Util.string_of_bool in let uu____2112 = - let uu____2116 = FStar_All.pipe_right f.beta b in + let uu____2116 = FStar_All.pipe_right f.beta b in let uu____2120 = - let uu____2124 = FStar_All.pipe_right f.iota b in + let uu____2124 = FStar_All.pipe_right f.iota b in let uu____2128 = - let uu____2132 = FStar_All.pipe_right f.zeta b in + let uu____2132 = FStar_All.pipe_right f.zeta b in let uu____2136 = - let uu____2140 = FStar_All.pipe_right f.weak b in + let uu____2140 = FStar_All.pipe_right f.weak b in let uu____2144 = - let uu____2148 = FStar_All.pipe_right f.hnf b in + let uu____2148 = FStar_All.pipe_right f.hnf b in let uu____2152 = - let uu____2156 = FStar_All.pipe_right f.primops b in + let uu____2156 = FStar_All.pipe_right f.primops b in let uu____2160 = let uu____2164 = - FStar_All.pipe_right f.do_not_unfold_pure_lets b in + FStar_All.pipe_right f.do_not_unfold_pure_lets b in let uu____2168 = let uu____2172 = FStar_All.pipe_right f.unfold_until - (format_opt FStar_Syntax_Print.delta_depth_to_string) in + (format_opt FStar_Syntax_Print.delta_depth_to_string) + in let uu____2177 = let uu____2181 = FStar_All.pipe_right f.unfold_only (format_opt - (fun x -> + (fun x -> let uu____2195 = - FStar_List.map FStar_Ident.string_of_lid x in + FStar_List.map FStar_Ident.string_of_lid x + in FStar_All.pipe_right uu____2195 - (FStar_String.concat ", "))) in + (FStar_String.concat ", "))) + in let uu____2205 = let uu____2209 = FStar_All.pipe_right f.unfold_fully (format_opt - (fun x -> + (fun x -> let uu____2223 = FStar_List.map FStar_Ident.string_of_lid - x in + x + in FStar_All.pipe_right uu____2223 - (FStar_String.concat ", "))) in + (FStar_String.concat ", "))) + in let uu____2233 = let uu____2237 = FStar_All.pipe_right f.unfold_attr (format_opt - (fun x -> + (fun x -> let uu____2251 = FStar_List.map - FStar_Ident.string_of_lid x in + FStar_Ident.string_of_lid x + in FStar_All.pipe_right uu____2251 - (FStar_String.concat ", "))) in + (FStar_String.concat ", "))) + in let uu____2261 = let uu____2265 = - FStar_All.pipe_right f.unfold_tac b in + FStar_All.pipe_right f.unfold_tac b in let uu____2269 = let uu____2273 = FStar_All.pipe_right - f.pure_subterms_within_computations b in + f.pure_subterms_within_computations b + in let uu____2277 = let uu____2281 = - FStar_All.pipe_right f.simplify b in + FStar_All.pipe_right f.simplify b in let uu____2285 = let uu____2289 = - FStar_All.pipe_right f.erase_universes b in + FStar_All.pipe_right f.erase_universes b + in let uu____2293 = let uu____2297 = FStar_All.pipe_right - f.allow_unbound_universes b in + f.allow_unbound_universes b + in let uu____2301 = let uu____2305 = - FStar_All.pipe_right f.reify_ b in + FStar_All.pipe_right f.reify_ b in let uu____2309 = let uu____2313 = FStar_All.pipe_right - f.compress_uvars b in + f.compress_uvars b + in let uu____2317 = let uu____2321 = FStar_All.pipe_right - f.no_full_norm b in + f.no_full_norm b + in let uu____2325 = let uu____2329 = FStar_All.pipe_right - f.check_no_uvars b in + f.check_no_uvars b + in let uu____2333 = let uu____2337 = FStar_All.pipe_right - f.unmeta b in + f.unmeta b + in let uu____2341 = let uu____2345 = FStar_All.pipe_right - f.unascribe b in + f.unascribe b + in let uu____2349 = let uu____2353 = FStar_All.pipe_right f.in_full_norm_request - b in + b + in let uu____2357 = let uu____2361 = FStar_All.pipe_right f.weakly_reduce_scrutinee - b in - [uu____2361] in - uu____2353 :: uu____2357 in - uu____2345 :: uu____2349 in - uu____2337 :: uu____2341 in - uu____2329 :: uu____2333 in - uu____2321 :: uu____2325 in - uu____2313 :: uu____2317 in - uu____2305 :: uu____2309 in - uu____2297 :: uu____2301 in - uu____2289 :: uu____2293 in - uu____2281 :: uu____2285 in - uu____2273 :: uu____2277 in - uu____2265 :: uu____2269 in - uu____2237 :: uu____2261 in - uu____2209 :: uu____2233 in - uu____2181 :: uu____2205 in - uu____2172 :: uu____2177 in - uu____2164 :: uu____2168 in - uu____2156 :: uu____2160 in - uu____2148 :: uu____2152 in - uu____2140 :: uu____2144 in - uu____2132 :: uu____2136 in - uu____2124 :: uu____2128 in - uu____2116 :: uu____2120 in + b + in + [uu____2361] in + uu____2353 :: uu____2357 + in + uu____2345 :: uu____2349 in + uu____2337 :: uu____2341 in + uu____2329 :: uu____2333 in + uu____2321 :: uu____2325 in + uu____2313 :: uu____2317 in + uu____2305 :: uu____2309 in + uu____2297 :: uu____2301 in + uu____2289 :: uu____2293 in + uu____2281 :: uu____2285 in + uu____2273 :: uu____2277 in + uu____2265 :: uu____2269 in + uu____2237 :: uu____2261 in + uu____2209 :: uu____2233 in + uu____2181 :: uu____2205 in + uu____2172 :: uu____2177 in + uu____2164 :: uu____2168 in + uu____2156 :: uu____2160 in + uu____2148 :: uu____2152 in + uu____2140 :: uu____2144 in + uu____2132 :: uu____2136 in + uu____2124 :: uu____2128 in + uu____2116 :: uu____2120 in FStar_Util.format "{\nbeta = %s;\niota = %s;\nzeta = %s;\nweak = %s;\nhnf = %s;\nprimops = %s;\ndo_not_unfold_pure_lets = %s;\nunfold_until = %s;\nunfold_only = %s;\nunfold_fully = %s;\nunfold_attr = %s;\nunfold_tac = %s;\npure_subterms_within_computations = %s;\nsimplify = %s;\nerase_universes = %s;\nallow_unbound_universes = %s;\nreify_ = %s;\ncompress_uvars = %s;\nno_full_norm = %s;\ncheck_no_uvars = %s;\nunmeta = %s;\nunascribe = %s;\nin_full_norm_request = %s;\nweakly_reduce_scrutinee = %s;\n}" uu____2112 + let (default_steps : fsteps) = { beta = true; @@ -494,13 +540,13 @@ let (default_steps : fsteps) = weakly_reduce_scrutinee = true; nbe_step = false; for_extraction = false - } + } let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = - fun s -> - fun fs -> + fun s -> + fun fs -> match s with - | FStar_TypeChecker_Env.Beta -> - let uu___94_2431 = fs in + | FStar_TypeChecker_Env.Beta -> + let uu___94_2431 = fs in { beta = true; iota = (uu___94_2431.iota); @@ -530,8 +576,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___94_2431.nbe_step); for_extraction = (uu___94_2431.for_extraction) } - | FStar_TypeChecker_Env.Iota -> - let uu___97_2433 = fs in + | FStar_TypeChecker_Env.Iota -> + let uu___97_2433 = fs in { beta = (uu___97_2433.beta); iota = true; @@ -561,8 +607,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___97_2433.nbe_step); for_extraction = (uu___97_2433.for_extraction) } - | FStar_TypeChecker_Env.Zeta -> - let uu___100_2435 = fs in + | FStar_TypeChecker_Env.Zeta -> + let uu___100_2435 = fs in { beta = (uu___100_2435.beta); iota = (uu___100_2435.iota); @@ -592,8 +638,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___100_2435.nbe_step); for_extraction = (uu___100_2435.for_extraction) } - | FStar_TypeChecker_Env.Exclude (FStar_TypeChecker_Env.Beta) -> - let uu___104_2437 = fs in + | FStar_TypeChecker_Env.Exclude (FStar_TypeChecker_Env.Beta ) -> + let uu___104_2437 = fs in { beta = false; iota = (uu___104_2437.iota); @@ -623,8 +669,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___104_2437.nbe_step); for_extraction = (uu___104_2437.for_extraction) } - | FStar_TypeChecker_Env.Exclude (FStar_TypeChecker_Env.Iota) -> - let uu___108_2439 = fs in + | FStar_TypeChecker_Env.Exclude (FStar_TypeChecker_Env.Iota ) -> + let uu___108_2439 = fs in { beta = (uu___108_2439.beta); iota = false; @@ -654,8 +700,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___108_2439.nbe_step); for_extraction = (uu___108_2439.for_extraction) } - | FStar_TypeChecker_Env.Exclude (FStar_TypeChecker_Env.Zeta) -> - let uu___112_2441 = fs in + | FStar_TypeChecker_Env.Exclude (FStar_TypeChecker_Env.Zeta ) -> + let uu___112_2441 = fs in { beta = (uu___112_2441.beta); iota = (uu___112_2441.iota); @@ -686,8 +732,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = for_extraction = (uu___112_2441.for_extraction) } | FStar_TypeChecker_Env.Exclude uu____2443 -> failwith "Bad exclude" - | FStar_TypeChecker_Env.Weak -> - let uu___117_2445 = fs in + | FStar_TypeChecker_Env.Weak -> + let uu___117_2445 = fs in { beta = (uu___117_2445.beta); iota = (uu___117_2445.iota); @@ -717,8 +763,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___117_2445.nbe_step); for_extraction = (uu___117_2445.for_extraction) } - | FStar_TypeChecker_Env.HNF -> - let uu___120_2447 = fs in + | FStar_TypeChecker_Env.HNF -> + let uu___120_2447 = fs in { beta = (uu___120_2447.beta); iota = (uu___120_2447.iota); @@ -748,8 +794,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___120_2447.nbe_step); for_extraction = (uu___120_2447.for_extraction) } - | FStar_TypeChecker_Env.Primops -> - let uu___123_2449 = fs in + | FStar_TypeChecker_Env.Primops -> + let uu___123_2449 = fs in { beta = (uu___123_2449.beta); iota = (uu___123_2449.iota); @@ -779,10 +825,10 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___123_2449.nbe_step); for_extraction = (uu___123_2449.for_extraction) } - | FStar_TypeChecker_Env.Eager_unfolding -> fs - | FStar_TypeChecker_Env.Inlining -> fs - | FStar_TypeChecker_Env.DoNotUnfoldPureLets -> - let uu___128_2451 = fs in + | FStar_TypeChecker_Env.Eager_unfolding -> fs + | FStar_TypeChecker_Env.Inlining -> fs + | FStar_TypeChecker_Env.DoNotUnfoldPureLets -> + let uu___128_2451 = fs in { beta = (uu___128_2451.beta); iota = (uu___128_2451.iota); @@ -813,7 +859,7 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = for_extraction = (uu___128_2451.for_extraction) } | FStar_TypeChecker_Env.UnfoldUntil d -> - let uu___132_2454 = fs in + let uu___132_2454 = fs in { beta = (uu___132_2454.beta); iota = (uu___132_2454.iota); @@ -844,7 +890,7 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = for_extraction = (uu___132_2454.for_extraction) } | FStar_TypeChecker_Env.UnfoldOnly lids -> - let uu___136_2458 = fs in + let uu___136_2458 = fs in { beta = (uu___136_2458.beta); iota = (uu___136_2458.iota); @@ -875,7 +921,7 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = for_extraction = (uu___136_2458.for_extraction) } | FStar_TypeChecker_Env.UnfoldFully lids -> - let uu___140_2464 = fs in + let uu___140_2464 = fs in { beta = (uu___140_2464.beta); iota = (uu___140_2464.iota); @@ -906,7 +952,7 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = for_extraction = (uu___140_2464.for_extraction) } | FStar_TypeChecker_Env.UnfoldAttr lids -> - let uu___144_2470 = fs in + let uu___144_2470 = fs in { beta = (uu___144_2470.beta); iota = (uu___144_2470.iota); @@ -936,8 +982,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___144_2470.nbe_step); for_extraction = (uu___144_2470.for_extraction) } - | FStar_TypeChecker_Env.UnfoldTac -> - let uu___147_2473 = fs in + | FStar_TypeChecker_Env.UnfoldTac -> + let uu___147_2473 = fs in { beta = (uu___147_2473.beta); iota = (uu___147_2473.iota); @@ -967,8 +1013,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___147_2473.nbe_step); for_extraction = (uu___147_2473.for_extraction) } - | FStar_TypeChecker_Env.PureSubtermsWithinComputations -> - let uu___150_2475 = fs in + | FStar_TypeChecker_Env.PureSubtermsWithinComputations -> + let uu___150_2475 = fs in { beta = (uu___150_2475.beta); iota = (uu___150_2475.iota); @@ -997,8 +1043,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___150_2475.nbe_step); for_extraction = (uu___150_2475.for_extraction) } - | FStar_TypeChecker_Env.Simplify -> - let uu___153_2477 = fs in + | FStar_TypeChecker_Env.Simplify -> + let uu___153_2477 = fs in { beta = (uu___153_2477.beta); iota = (uu___153_2477.iota); @@ -1028,8 +1074,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___153_2477.nbe_step); for_extraction = (uu___153_2477.for_extraction) } - | FStar_TypeChecker_Env.EraseUniverses -> - let uu___156_2479 = fs in + | FStar_TypeChecker_Env.EraseUniverses -> + let uu___156_2479 = fs in { beta = (uu___156_2479.beta); iota = (uu___156_2479.iota); @@ -1059,8 +1105,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___156_2479.nbe_step); for_extraction = (uu___156_2479.for_extraction) } - | FStar_TypeChecker_Env.AllowUnboundUniverses -> - let uu___159_2481 = fs in + | FStar_TypeChecker_Env.AllowUnboundUniverses -> + let uu___159_2481 = fs in { beta = (uu___159_2481.beta); iota = (uu___159_2481.iota); @@ -1090,8 +1136,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___159_2481.nbe_step); for_extraction = (uu___159_2481.for_extraction) } - | FStar_TypeChecker_Env.Reify -> - let uu___162_2483 = fs in + | FStar_TypeChecker_Env.Reify -> + let uu___162_2483 = fs in { beta = (uu___162_2483.beta); iota = (uu___162_2483.iota); @@ -1121,8 +1167,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___162_2483.nbe_step); for_extraction = (uu___162_2483.for_extraction) } - | FStar_TypeChecker_Env.CompressUvars -> - let uu___165_2485 = fs in + | FStar_TypeChecker_Env.CompressUvars -> + let uu___165_2485 = fs in { beta = (uu___165_2485.beta); iota = (uu___165_2485.iota); @@ -1152,8 +1198,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___165_2485.nbe_step); for_extraction = (uu___165_2485.for_extraction) } - | FStar_TypeChecker_Env.NoFullNorm -> - let uu___168_2487 = fs in + | FStar_TypeChecker_Env.NoFullNorm -> + let uu___168_2487 = fs in { beta = (uu___168_2487.beta); iota = (uu___168_2487.iota); @@ -1183,8 +1229,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___168_2487.nbe_step); for_extraction = (uu___168_2487.for_extraction) } - | FStar_TypeChecker_Env.CheckNoUvars -> - let uu___171_2489 = fs in + | FStar_TypeChecker_Env.CheckNoUvars -> + let uu___171_2489 = fs in { beta = (uu___171_2489.beta); iota = (uu___171_2489.iota); @@ -1214,8 +1260,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___171_2489.nbe_step); for_extraction = (uu___171_2489.for_extraction) } - | FStar_TypeChecker_Env.Unmeta -> - let uu___174_2491 = fs in + | FStar_TypeChecker_Env.Unmeta -> + let uu___174_2491 = fs in { beta = (uu___174_2491.beta); iota = (uu___174_2491.iota); @@ -1245,8 +1291,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___174_2491.nbe_step); for_extraction = (uu___174_2491.for_extraction) } - | FStar_TypeChecker_Env.Unascribe -> - let uu___177_2493 = fs in + | FStar_TypeChecker_Env.Unascribe -> + let uu___177_2493 = fs in { beta = (uu___177_2493.beta); iota = (uu___177_2493.iota); @@ -1276,8 +1322,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___177_2493.nbe_step); for_extraction = (uu___177_2493.for_extraction) } - | FStar_TypeChecker_Env.NBE -> - let uu___180_2495 = fs in + | FStar_TypeChecker_Env.NBE -> + let uu___180_2495 = fs in { beta = (uu___180_2495.beta); iota = (uu___180_2495.iota); @@ -1307,8 +1353,8 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = true; for_extraction = (uu___180_2495.for_extraction) } - | FStar_TypeChecker_Env.ForExtraction -> - let uu___183_2497 = fs in + | FStar_TypeChecker_Env.ForExtraction -> + let uu___183_2497 = fs in { beta = (uu___183_2497.beta); iota = (uu___183_2497.iota); @@ -1338,24 +1384,27 @@ let (fstep_add_one : FStar_TypeChecker_Env.step -> fsteps -> fsteps) = nbe_step = (uu___183_2497.nbe_step); for_extraction = true } + let (to_fsteps : FStar_TypeChecker_Env.step Prims.list -> fsteps) = - fun s -> FStar_List.fold_right fstep_add_one s default_steps + fun s -> FStar_List.fold_right fstep_add_one s default_steps type psc = { psc_range: FStar_Range.range ; psc_subst: unit -> FStar_Syntax_Syntax.subst_t } let (__proj__Mkpsc__item__psc_range : psc -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { psc_range; psc_subst;_} -> psc_range + let (__proj__Mkpsc__item__psc_subst : psc -> unit -> FStar_Syntax_Syntax.subst_t) = - fun projectee -> + fun projectee -> match projectee with | { psc_range; psc_subst;_} -> psc_subst + let (null_psc : psc) = - { psc_range = FStar_Range.dummyRange; psc_subst = (fun uu____2555 -> []) } -let (psc_range : psc -> FStar_Range.range) = fun psc -> psc.psc_range + { psc_range = FStar_Range.dummyRange; psc_subst = (fun uu____2555 -> []) } +let (psc_range : psc -> FStar_Range.range) = fun psc -> psc.psc_range let (psc_subst : psc -> FStar_Syntax_Syntax.subst_t) = - fun psc -> psc.psc_subst () + fun psc -> psc.psc_subst () type debug_switches = { gen: Prims.bool ; @@ -1368,53 +1417,74 @@ type debug_switches = norm_delayed: Prims.bool ; print_normalized: Prims.bool } let (__proj__Mkdebug_switches__item__gen : debug_switches -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { gen = gen1; top; cfg; primop; unfolding; b380; wpe; norm_delayed; print_normalized;_} -> gen1 + let (__proj__Mkdebug_switches__item__top : debug_switches -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { gen = gen1; top; cfg; primop; unfolding; b380; wpe; norm_delayed; print_normalized;_} -> top + let (__proj__Mkdebug_switches__item__cfg : debug_switches -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { gen = gen1; top; cfg; primop; unfolding; b380; wpe; norm_delayed; print_normalized;_} -> cfg + let (__proj__Mkdebug_switches__item__primop : debug_switches -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { gen = gen1; top; cfg; primop; unfolding; b380; wpe; norm_delayed; print_normalized;_} -> primop + let (__proj__Mkdebug_switches__item__unfolding : debug_switches -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { gen = gen1; top; cfg; primop; unfolding; b380; wpe; norm_delayed; print_normalized;_} -> unfolding + let (__proj__Mkdebug_switches__item__b380 : debug_switches -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { gen = gen1; top; cfg; primop; unfolding; b380; wpe; norm_delayed; print_normalized;_} -> b380 + let (__proj__Mkdebug_switches__item__wpe : debug_switches -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { gen = gen1; top; cfg; primop; unfolding; b380; wpe; norm_delayed; print_normalized;_} -> wpe + let (__proj__Mkdebug_switches__item__norm_delayed : debug_switches -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { gen = gen1; top; cfg; primop; unfolding; b380; wpe; norm_delayed; print_normalized;_} -> norm_delayed + let (__proj__Mkdebug_switches__item__print_normalized : debug_switches -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { gen = gen1; top; cfg; primop; unfolding; b380; wpe; norm_delayed; print_normalized;_} -> print_normalized + +let (no_debug_switches : debug_switches) = + { + gen = false; + top = false; + cfg = false; + primop = false; + unfolding = false; + b380 = false; + wpe = false; + norm_delayed = false; + print_normalized = false + } type primitive_step = { name: FStar_Ident.lid ; @@ -1436,45 +1506,51 @@ type primitive_step = } let (__proj__Mkprimitive_step__item__name : primitive_step -> FStar_Ident.lid) = - fun projectee -> + fun projectee -> match projectee with | { name; arity; univ_arity; auto_reflect; strong_reduction_ok; requires_binder_substitution; interpretation; interpretation_nbe;_} -> name + let (__proj__Mkprimitive_step__item__arity : primitive_step -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { name; arity; univ_arity; auto_reflect; strong_reduction_ok; requires_binder_substitution; interpretation; interpretation_nbe;_} -> arity + let (__proj__Mkprimitive_step__item__univ_arity : primitive_step -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { name; arity; univ_arity; auto_reflect; strong_reduction_ok; requires_binder_substitution; interpretation; interpretation_nbe;_} -> univ_arity + let (__proj__Mkprimitive_step__item__auto_reflect : primitive_step -> Prims.int FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { name; arity; univ_arity; auto_reflect; strong_reduction_ok; requires_binder_substitution; interpretation; interpretation_nbe;_} -> auto_reflect + let (__proj__Mkprimitive_step__item__strong_reduction_ok : primitive_step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { name; arity; univ_arity; auto_reflect; strong_reduction_ok; requires_binder_substitution; interpretation; interpretation_nbe;_} -> strong_reduction_ok + let (__proj__Mkprimitive_step__item__requires_binder_substitution : primitive_step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { name; arity; univ_arity; auto_reflect; strong_reduction_ok; requires_binder_substitution; interpretation; interpretation_nbe;_} -> requires_binder_substitution + let (__proj__Mkprimitive_step__item__interpretation : primitive_step -> psc -> @@ -1482,22 +1558,24 @@ let (__proj__Mkprimitive_step__item__interpretation : FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { name; arity; univ_arity; auto_reflect; strong_reduction_ok; requires_binder_substitution; interpretation; interpretation_nbe;_} -> interpretation + let (__proj__Mkprimitive_step__item__interpretation_nbe : primitive_step -> FStar_TypeChecker_NBETerm.nbe_cbs -> FStar_TypeChecker_NBETerm.args -> FStar_TypeChecker_NBETerm.t FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { name; arity; univ_arity; auto_reflect; strong_reduction_ok; requires_binder_substitution; interpretation; interpretation_nbe;_} -> interpretation_nbe + type cfg = { steps: fsteps ; @@ -1510,208 +1588,236 @@ type cfg = normalize_pure_lets: Prims.bool ; reifying: Prims.bool } let (__proj__Mkcfg__item__steps : cfg -> fsteps) = - fun projectee -> + fun projectee -> match projectee with | { steps; tcenv; debug = debug1; delta_level; primitive_steps; strong; memoize_lazy; normalize_pure_lets; reifying;_} -> steps + let (__proj__Mkcfg__item__tcenv : cfg -> FStar_TypeChecker_Env.env) = - fun projectee -> + fun projectee -> match projectee with | { steps; tcenv; debug = debug1; delta_level; primitive_steps; strong; memoize_lazy; normalize_pure_lets; reifying;_} -> tcenv + let (__proj__Mkcfg__item__debug : cfg -> debug_switches) = - fun projectee -> + fun projectee -> match projectee with | { steps; tcenv; debug = debug1; delta_level; primitive_steps; strong; memoize_lazy; normalize_pure_lets; reifying;_} -> debug1 + let (__proj__Mkcfg__item__delta_level : cfg -> FStar_TypeChecker_Env.delta_level Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { steps; tcenv; debug = debug1; delta_level; primitive_steps; strong; memoize_lazy; normalize_pure_lets; reifying;_} -> delta_level + let (__proj__Mkcfg__item__primitive_steps : cfg -> primitive_step FStar_Util.psmap) = - fun projectee -> + fun projectee -> match projectee with | { steps; tcenv; debug = debug1; delta_level; primitive_steps; strong; memoize_lazy; normalize_pure_lets; reifying;_} -> primitive_steps + let (__proj__Mkcfg__item__strong : cfg -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { steps; tcenv; debug = debug1; delta_level; primitive_steps; strong; memoize_lazy; normalize_pure_lets; reifying;_} -> strong + let (__proj__Mkcfg__item__memoize_lazy : cfg -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { steps; tcenv; debug = debug1; delta_level; primitive_steps; strong; memoize_lazy; normalize_pure_lets; reifying;_} -> memoize_lazy + let (__proj__Mkcfg__item__normalize_pure_lets : cfg -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { steps; tcenv; debug = debug1; delta_level; primitive_steps; strong; memoize_lazy; normalize_pure_lets; reifying;_} -> normalize_pure_lets + let (__proj__Mkcfg__item__reifying : cfg -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { steps; tcenv; debug = debug1; delta_level; primitive_steps; strong; memoize_lazy; normalize_pure_lets; reifying;_} -> reifying + let (cfg_to_string : cfg -> Prims.string) = - fun cfg -> - let uu____3604 = - let uu____3608 = - let uu____3612 = - let uu____3614 = steps_to_string cfg.steps in - FStar_Util.format1 " steps = %s" uu____3614 in - [uu____3612; "}"] in - "{" :: uu____3608 in - FStar_String.concat "\n" uu____3604 -let (cfg_env : cfg -> FStar_TypeChecker_Env.env) = fun cfg -> cfg.tcenv + fun cfg -> + let uu____3614 = + let uu____3618 = + let uu____3622 = + let uu____3624 = steps_to_string cfg.steps in + FStar_Util.format1 " steps = %s" uu____3624 in + [uu____3622; "}"] in + "{" :: uu____3618 in + FStar_String.concat "\n" uu____3614 + +let (cfg_env : cfg -> FStar_TypeChecker_Env.env) = fun cfg -> cfg.tcenv let (add_steps : primitive_step FStar_Util.psmap -> primitive_step Prims.list -> primitive_step FStar_Util.psmap) = - fun m -> - fun l -> + fun m -> + fun l -> FStar_List.fold_right - (fun p -> - fun m1 -> - let uu____3662 = FStar_Ident.text_of_lid p.name in - FStar_Util.psmap_add m1 uu____3662 p) l m + (fun p -> + fun m1 -> + let uu____3672 = FStar_Ident.text_of_lid p.name in + FStar_Util.psmap_add m1 uu____3672 p) l m + let (prim_from_list : primitive_step Prims.list -> primitive_step FStar_Util.psmap) = - fun l -> - let uu____3678 = FStar_Util.psmap_empty () in add_steps uu____3678 l + fun l -> + let uu____3688 = FStar_Util.psmap_empty () in add_steps uu____3688 l + let (find_prim_step : cfg -> FStar_Syntax_Syntax.fv -> primitive_step FStar_Pervasives_Native.option) = - fun cfg -> - fun fv -> - let uu____3694 = + fun cfg -> + fun fv -> + let uu____3704 = FStar_Ident.text_of_lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - FStar_Util.psmap_try_find cfg.primitive_steps uu____3694 + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + FStar_Util.psmap_try_find cfg.primitive_steps uu____3704 + let (is_prim_step : cfg -> FStar_Syntax_Syntax.fv -> Prims.bool) = - fun cfg -> - fun fv -> - let uu____3708 = - let uu____3711 = + fun cfg -> + fun fv -> + let uu____3718 = + let uu____3721 = FStar_Ident.text_of_lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - FStar_Util.psmap_try_find cfg.primitive_steps uu____3711 in - FStar_Util.is_some uu____3708 + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + FStar_Util.psmap_try_find cfg.primitive_steps uu____3721 in + FStar_Util.is_some uu____3718 + let (log : cfg -> (unit -> unit) -> unit) = - fun cfg -> fun f -> if (cfg.debug).gen then f () else () + fun cfg -> fun f -> if (cfg.debug).gen then f () else () let (log_top : cfg -> (unit -> unit) -> unit) = - fun cfg -> fun f -> if (cfg.debug).top then f () else () + fun cfg -> fun f -> if (cfg.debug).top then f () else () let (log_cfg : cfg -> (unit -> unit) -> unit) = - fun cfg -> fun f -> if (cfg.debug).cfg then f () else () + fun cfg -> fun f -> if (cfg.debug).cfg then f () else () let (log_primops : cfg -> (unit -> unit) -> unit) = - fun cfg -> fun f -> if (cfg.debug).primop then f () else () + fun cfg -> fun f -> if (cfg.debug).primop then f () else () let (log_unfolding : cfg -> (unit -> unit) -> unit) = - fun cfg -> fun f -> if (cfg.debug).unfolding then f () else () + fun cfg -> fun f -> if (cfg.debug).unfolding then f () else () let (log_nbe : cfg -> (unit -> unit) -> unit) = - fun cfg -> - fun f -> - let uu____3824 = + fun cfg -> + fun f -> + let uu____3834 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug cfg.tcenv) - (FStar_Options.Other "NBE") in - if uu____3824 then f () else () + (FStar_Options.Other "NBE") + in + if uu____3834 then f () else () + let embed_simple : 'a . 'a FStar_Syntax_Embeddings.embedding -> FStar_Range.range -> 'a -> FStar_Syntax_Syntax.term = - fun emb -> - fun r -> - fun x -> - let uu____3860 = FStar_Syntax_Embeddings.embed emb x in - uu____3860 r FStar_Pervasives_Native.None + fun emb -> + fun r -> + fun x -> + let uu____3870 = FStar_Syntax_Embeddings.embed emb x in + uu____3870 r FStar_Pervasives_Native.None FStar_Syntax_Embeddings.id_norm_cb + let try_unembed_simple : 'a . 'a FStar_Syntax_Embeddings.embedding -> FStar_Syntax_Syntax.term -> 'a FStar_Pervasives_Native.option = - fun emb -> - fun x -> - let uu____3893 = FStar_Syntax_Embeddings.unembed emb x in - uu____3893 false FStar_Syntax_Embeddings.id_norm_cb + fun emb -> + fun x -> + let uu____3903 = FStar_Syntax_Embeddings.unembed emb x in + uu____3903 false FStar_Syntax_Embeddings.id_norm_cb + let mk : - 'Auu____3908 . - 'Auu____3908 -> - FStar_Range.range -> 'Auu____3908 FStar_Syntax_Syntax.syntax - = fun t -> fun r -> FStar_Syntax_Syntax.mk t FStar_Pervasives_Native.None r + 'Auu____3918 . + 'Auu____3918 -> + FStar_Range.range -> 'Auu____3918 FStar_Syntax_Syntax.syntax + = + fun t -> fun r -> FStar_Syntax_Syntax.mk t FStar_Pervasives_Native.None r let (built_in_primitive_steps : primitive_step FStar_Util.psmap) = let arg_as_int1 a = FStar_All.pipe_right (FStar_Pervasives_Native.fst a) - (try_unembed_simple FStar_Syntax_Embeddings.e_int) in + (try_unembed_simple FStar_Syntax_Embeddings.e_int) + in let arg_as_bool1 a = FStar_All.pipe_right (FStar_Pervasives_Native.fst a) - (try_unembed_simple FStar_Syntax_Embeddings.e_bool) in + (try_unembed_simple FStar_Syntax_Embeddings.e_bool) + in let arg_as_char1 a = FStar_All.pipe_right (FStar_Pervasives_Native.fst a) - (try_unembed_simple FStar_Syntax_Embeddings.e_char) in + (try_unembed_simple FStar_Syntax_Embeddings.e_char) + in let arg_as_string1 a = FStar_All.pipe_right (FStar_Pervasives_Native.fst a) - (try_unembed_simple FStar_Syntax_Embeddings.e_string) in + (try_unembed_simple FStar_Syntax_Embeddings.e_string) + in let arg_as_list1 e a = - let uu____4029 = - let uu____4038 = FStar_Syntax_Embeddings.e_list e in - try_unembed_simple uu____4038 in - FStar_All.pipe_right (FStar_Pervasives_Native.fst a) uu____4029 in - let arg_as_bounded_int1 uu____4068 = - match uu____4068 with - | (a, uu____4082) -> - let uu____4093 = FStar_Syntax_Util.head_and_args' a in - (match uu____4093 with - | (hd1, args) -> - let a1 = FStar_Syntax_Util.unlazy_emb a in - let uu____4137 = - let uu____4152 = - let uu____4153 = FStar_Syntax_Subst.compress hd1 in - uu____4153.FStar_Syntax_Syntax.n in - (uu____4152, args) in - (match uu____4137 with - | (FStar_Syntax_Syntax.Tm_fvar fv1, (arg, uu____4174)::[]) when - let uu____4209 = + let uu____4039 = + let uu____4048 = FStar_Syntax_Embeddings.e_list e in + try_unembed_simple uu____4048 in + FStar_All.pipe_right (FStar_Pervasives_Native.fst a) uu____4039 in + let arg_as_bounded_int1 uu____4078 = + match uu____4078 with + | (a,uu____4092) -> + let uu____4103 = FStar_Syntax_Util.head_and_args' a in + (match uu____4103 with + | (hd1,args) -> + let a1 = FStar_Syntax_Util.unlazy_emb a in + let uu____4147 = + let uu____4162 = + let uu____4163 = FStar_Syntax_Subst.compress hd1 in + uu____4163.FStar_Syntax_Syntax.n in + (uu____4162, args) in + (match uu____4147 with + | (FStar_Syntax_Syntax.Tm_fvar fv1,(arg,uu____4184)::[]) when + let uu____4219 = FStar_Ident.text_of_lid - (fv1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - FStar_Util.ends_with uu____4209 "int_to_t" -> - let arg1 = FStar_Syntax_Util.unlazy_emb arg in - let uu____4213 = - let uu____4214 = FStar_Syntax_Subst.compress arg1 in - uu____4214.FStar_Syntax_Syntax.n in - (match uu____4213 with + (fv1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + FStar_Util.ends_with uu____4219 "int_to_t" -> + let arg1 = FStar_Syntax_Util.unlazy_emb arg in + let uu____4223 = + let uu____4224 = FStar_Syntax_Subst.compress arg1 in + uu____4224.FStar_Syntax_Syntax.n in + (match uu____4223 with | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_int - (i, FStar_Pervasives_Native.None)) -> - let uu____4236 = - let uu____4241 = FStar_BigInt.big_int_of_string i in - (fv1, uu____4241) in - FStar_Pervasives_Native.Some uu____4236 - | uu____4246 -> FStar_Pervasives_Native.None) - | uu____4251 -> FStar_Pervasives_Native.None)) in + (i,FStar_Pervasives_Native.None )) -> + let uu____4246 = + let uu____4251 = FStar_BigInt.big_int_of_string i + in + (fv1, uu____4251) in + FStar_Pervasives_Native.Some uu____4246 + | uu____4256 -> FStar_Pervasives_Native.None) + | uu____4261 -> FStar_Pervasives_Native.None)) + in let lift_unary f aopts = match aopts with | (FStar_Pervasives_Native.Some a)::[] -> - let uu____4313 = f a in FStar_Pervasives_Native.Some uu____4313 - | uu____4314 -> FStar_Pervasives_Native.None in + let uu____4323 = f a in FStar_Pervasives_Native.Some uu____4323 + | uu____4324 -> FStar_Pervasives_Native.None in let lift_binary f aopts = match aopts with | (FStar_Pervasives_Native.Some a0)::(FStar_Pervasives_Native.Some a1)::[] -> - let uu____4370 = f a0 a1 in FStar_Pervasives_Native.Some uu____4370 - | uu____4371 -> FStar_Pervasives_Native.None in + let uu____4380 = f a0 a1 in FStar_Pervasives_Native.Some uu____4380 + | uu____4381 -> FStar_Pervasives_Native.None in let unary_op1 as_a f res norm_cb args = - let uu____4438 = FStar_List.map as_a args in - lift_unary (f res.psc_range) uu____4438 in + let uu____4448 = FStar_List.map as_a args in + lift_unary (f res.psc_range) uu____4448 in let binary_op1 as_a f res n1 args = - let uu____4520 = FStar_List.map as_a args in - lift_binary (f res.psc_range) uu____4520 in - let as_primitive_step is_strong uu____4575 = - match uu____4575 with - | (l, arity, u_arity, f, f_nbe) -> + let uu____4530 = FStar_List.map as_a args in + lift_binary (f res.psc_range) uu____4530 in + let as_primitive_step is_strong uu____4585 = + match uu____4585 with + | (l,arity,u_arity,f,f_nbe) -> { name = l; arity; @@ -1720,561 +1826,632 @@ let (built_in_primitive_steps : primitive_step FStar_Util.psmap) = strong_reduction_ok = is_strong; requires_binder_substitution = false; interpretation = f; - interpretation_nbe = ((fun _cb -> f_nbe)) - } in + interpretation_nbe = ((fun _cb -> f_nbe)) + } + in let unary_int_op1 f = unary_op1 arg_as_int1 - (fun r -> - fun x -> - let uu____4683 = f x in - embed_simple FStar_Syntax_Embeddings.e_int r uu____4683) in + (fun r -> + fun x -> + let uu____4693 = f x in + embed_simple FStar_Syntax_Embeddings.e_int r uu____4693) + in let binary_int_op1 f = binary_op1 arg_as_int1 - (fun r -> - fun x -> - fun y -> - let uu____4725 = f x y in - embed_simple FStar_Syntax_Embeddings.e_int r uu____4725) in + (fun r -> + fun x -> + fun y -> + let uu____4735 = f x y in + embed_simple FStar_Syntax_Embeddings.e_int r uu____4735) + in let unary_bool_op1 f = unary_op1 arg_as_bool1 - (fun r -> - fun x -> - let uu____4766 = f x in - embed_simple FStar_Syntax_Embeddings.e_bool r uu____4766) in + (fun r -> + fun x -> + let uu____4776 = f x in + embed_simple FStar_Syntax_Embeddings.e_bool r uu____4776) + in let binary_bool_op1 f = binary_op1 arg_as_bool1 - (fun r -> - fun x -> - fun y -> - let uu____4819 = f x y in - embed_simple FStar_Syntax_Embeddings.e_bool r uu____4819) in + (fun r -> + fun x -> + fun y -> + let uu____4829 = f x y in + embed_simple FStar_Syntax_Embeddings.e_bool r uu____4829) + in let binary_string_op1 f = binary_op1 arg_as_string1 - (fun r -> - fun x -> - fun y -> - let uu____4872 = f x y in - embed_simple FStar_Syntax_Embeddings.e_string r uu____4872) in + (fun r -> + fun x -> + fun y -> + let uu____4882 = f x y in + embed_simple FStar_Syntax_Embeddings.e_string r uu____4882) + in let mixed_binary_op1 as_a as_b embed_c f res _norm_cb args = match args with | a::b::[] -> - let uu____5025 = - let uu____5034 = as_a a in - let uu____5037 = as_b b in (uu____5034, uu____5037) in - (match uu____5025 with - | (FStar_Pervasives_Native.Some a1, FStar_Pervasives_Native.Some b1) + let uu____5035 = + let uu____5044 = as_a a in + let uu____5047 = as_b b in (uu____5044, uu____5047) in + (match uu____5035 with + | (FStar_Pervasives_Native.Some a1,FStar_Pervasives_Native.Some b1) -> - let uu____5052 = - let uu____5053 = f res.psc_range a1 b1 in - embed_c res.psc_range uu____5053 in - FStar_Pervasives_Native.Some uu____5052 - | uu____5054 -> FStar_Pervasives_Native.None) - | uu____5063 -> FStar_Pervasives_Native.None in + let uu____5062 = + let uu____5063 = f res.psc_range a1 b1 in + embed_c res.psc_range uu____5063 in + FStar_Pervasives_Native.Some uu____5062 + | uu____5064 -> FStar_Pervasives_Native.None) + | uu____5073 -> FStar_Pervasives_Native.None in let list_of_string'1 rng s = let name l = - let uu____5085 = - let uu____5086 = + let uu____5095 = + let uu____5096 = FStar_Syntax_Syntax.lid_as_fv l FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.Tm_fvar uu____5086 in - mk uu____5085 rng in - let char_t = name FStar_Parser_Const.char_lid in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.Tm_fvar uu____5096 in + mk uu____5095 rng in + let char_t = name FStar_Parser_Const.char_lid in let charterm c = - mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_char c)) rng in - let uu____5100 = - let uu____5103 = FStar_String.list_of_string s in - FStar_List.map charterm uu____5103 in - FStar_All.pipe_left (FStar_Syntax_Util.mk_list char_t rng) uu____5100 in + mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_char c)) rng in + let uu____5110 = + let uu____5113 = FStar_String.list_of_string s in + FStar_List.map charterm uu____5113 in + FStar_All.pipe_left (FStar_Syntax_Util.mk_list char_t rng) uu____5110 in let string_of_list'1 rng l = - let s = FStar_String.string_of_list l in FStar_Syntax_Util.exp_string s in + let s = FStar_String.string_of_list l in FStar_Syntax_Util.exp_string s + in let string_compare'1 rng s1 s2 = - let r = FStar_String.compare s1 s2 in - let uu____5151 = - let uu____5152 = FStar_Util.string_of_int r in - FStar_BigInt.big_int_of_string uu____5152 in - embed_simple FStar_Syntax_Embeddings.e_int rng uu____5151 in + let r = FStar_String.compare s1 s2 in + let uu____5161 = + let uu____5162 = FStar_Util.string_of_int r in + FStar_BigInt.big_int_of_string uu____5162 in + embed_simple FStar_Syntax_Embeddings.e_int rng uu____5161 in let string_concat'1 psc _n args = match args with | a1::a2::[] -> - let uu____5238 = arg_as_string1 a1 in - (match uu____5238 with + let uu____5248 = arg_as_string1 a1 in + (match uu____5248 with | FStar_Pervasives_Native.Some s1 -> - let uu____5247 = - arg_as_list1 FStar_Syntax_Embeddings.e_string a2 in - (match uu____5247 with + let uu____5257 = + arg_as_list1 FStar_Syntax_Embeddings.e_string a2 in + (match uu____5257 with | FStar_Pervasives_Native.Some s2 -> - let r = FStar_String.concat s1 s2 in - let uu____5265 = + let r = FStar_String.concat s1 s2 in + let uu____5275 = embed_simple FStar_Syntax_Embeddings.e_string - psc.psc_range r in - FStar_Pervasives_Native.Some uu____5265 - | uu____5267 -> FStar_Pervasives_Native.None) - | uu____5273 -> FStar_Pervasives_Native.None) - | uu____5277 -> FStar_Pervasives_Native.None in + psc.psc_range r + in + FStar_Pervasives_Native.Some uu____5275 + | uu____5277 -> FStar_Pervasives_Native.None) + | uu____5283 -> FStar_Pervasives_Native.None) + | uu____5287 -> FStar_Pervasives_Native.None in let string_split'1 psc _norm_cb args = match args with | a1::a2::[] -> - let uu____5358 = arg_as_list1 FStar_Syntax_Embeddings.e_char a1 in - (match uu____5358 with + let uu____5368 = arg_as_list1 FStar_Syntax_Embeddings.e_char a1 in + (match uu____5368 with | FStar_Pervasives_Native.Some s1 -> - let uu____5374 = arg_as_string1 a2 in - (match uu____5374 with + let uu____5384 = arg_as_string1 a2 in + (match uu____5384 with | FStar_Pervasives_Native.Some s2 -> - let r = FStar_String.split s1 s2 in - let uu____5387 = - let uu____5388 = + let r = FStar_String.split s1 s2 in + let uu____5397 = + let uu____5398 = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_string in - embed_simple uu____5388 psc.psc_range r in - FStar_Pervasives_Native.Some uu____5387 - | uu____5398 -> FStar_Pervasives_Native.None) - | uu____5402 -> FStar_Pervasives_Native.None) - | uu____5408 -> FStar_Pervasives_Native.None in + FStar_Syntax_Embeddings.e_string + in + embed_simple uu____5398 psc.psc_range r in + FStar_Pervasives_Native.Some uu____5397 + | uu____5408 -> FStar_Pervasives_Native.None) + | uu____5412 -> FStar_Pervasives_Native.None) + | uu____5418 -> FStar_Pervasives_Native.None in let string_substring'1 psc _norm_cb args = match args with | a1::a2::a3::[] -> - let uu____5446 = - let uu____5460 = arg_as_string1 a1 in - let uu____5464 = arg_as_int1 a2 in - let uu____5467 = arg_as_int1 a3 in - (uu____5460, uu____5464, uu____5467) in - (match uu____5446 with - | (FStar_Pervasives_Native.Some s1, FStar_Pervasives_Native.Some n1, - FStar_Pervasives_Native.Some n2) -> - let n11 = FStar_BigInt.to_int_fs n1 in - let n21 = FStar_BigInt.to_int_fs n2 in + let uu____5456 = + let uu____5470 = arg_as_string1 a1 in + let uu____5474 = arg_as_int1 a2 in + let uu____5477 = arg_as_int1 a3 in + (uu____5470, uu____5474, uu____5477) in + (match uu____5456 with + | (FStar_Pervasives_Native.Some s1,FStar_Pervasives_Native.Some + n1,FStar_Pervasives_Native.Some n2) -> + let n11 = FStar_BigInt.to_int_fs n1 in + let n21 = FStar_BigInt.to_int_fs n2 in (try - (fun uu___500_5500 -> + (fun uu___500_5510 -> match () with | () -> - let r = FStar_String.substring s1 n11 n21 in - let uu____5505 = + let r = FStar_String.substring s1 n11 n21 in + let uu____5515 = embed_simple FStar_Syntax_Embeddings.e_string - psc.psc_range r in - FStar_Pervasives_Native.Some uu____5505) () - with | uu___499_5508 -> FStar_Pervasives_Native.None) - | uu____5511 -> FStar_Pervasives_Native.None) - | uu____5525 -> FStar_Pervasives_Native.None in + psc.psc_range r + in + FStar_Pervasives_Native.Some uu____5515) () + with | uu___499_5518 -> FStar_Pervasives_Native.None) + | uu____5521 -> FStar_Pervasives_Native.None) + | uu____5535 -> FStar_Pervasives_Native.None in let string_of_int1 rng i = - let uu____5539 = FStar_BigInt.string_of_big_int i in - embed_simple FStar_Syntax_Embeddings.e_string rng uu____5539 in + let uu____5549 = FStar_BigInt.string_of_big_int i in + embed_simple FStar_Syntax_Embeddings.e_string rng uu____5549 in let string_of_bool1 rng b = embed_simple FStar_Syntax_Embeddings.e_string rng - (if b then "true" else "false") in + (if b then "true" else "false") + in let lowercase1 rng s = embed_simple FStar_Syntax_Embeddings.e_string rng - (FStar_String.lowercase s) in + (FStar_String.lowercase s) + in let uppercase1 rng s = embed_simple FStar_Syntax_Embeddings.e_string rng - (FStar_String.uppercase s) in + (FStar_String.uppercase s) + in let string_index1 psc _norm_cb args = match args with | a1::a2::[] -> - let uu____5618 = - let uu____5628 = arg_as_string1 a1 in - let uu____5632 = arg_as_int1 a2 in (uu____5628, uu____5632) in - (match uu____5618 with - | (FStar_Pervasives_Native.Some s, FStar_Pervasives_Native.Some i) - -> + let uu____5628 = + let uu____5638 = arg_as_string1 a1 in + let uu____5642 = arg_as_int1 a2 in (uu____5638, uu____5642) in + (match uu____5628 with + | (FStar_Pervasives_Native.Some s,FStar_Pervasives_Native.Some i) -> (try - (fun uu___534_5656 -> + (fun uu___534_5666 -> match () with | () -> - let r = FStar_String.index s i in - let uu____5661 = + let r = FStar_String.index s i in + let uu____5671 = embed_simple FStar_Syntax_Embeddings.e_char - psc.psc_range r in - FStar_Pervasives_Native.Some uu____5661) () - with | uu___533_5664 -> FStar_Pervasives_Native.None) - | uu____5667 -> FStar_Pervasives_Native.None) - | uu____5677 -> FStar_Pervasives_Native.None in + psc.psc_range r + in + FStar_Pervasives_Native.Some uu____5671) () + with | uu___533_5674 -> FStar_Pervasives_Native.None) + | uu____5677 -> FStar_Pervasives_Native.None) + | uu____5687 -> FStar_Pervasives_Native.None in let string_index_of1 psc _norm_cb args = match args with | a1::a2::[] -> - let uu____5708 = - let uu____5719 = arg_as_string1 a1 in - let uu____5723 = arg_as_char1 a2 in (uu____5719, uu____5723) in - (match uu____5708 with - | (FStar_Pervasives_Native.Some s, FStar_Pervasives_Native.Some c) - -> + let uu____5718 = + let uu____5729 = arg_as_string1 a1 in + let uu____5733 = arg_as_char1 a2 in (uu____5729, uu____5733) in + (match uu____5718 with + | (FStar_Pervasives_Native.Some s,FStar_Pervasives_Native.Some c) -> (try - (fun uu___555_5752 -> + (fun uu___555_5762 -> match () with | () -> - let r = FStar_String.index_of s c in - let uu____5756 = + let r = FStar_String.index_of s c in + let uu____5766 = embed_simple FStar_Syntax_Embeddings.e_int - psc.psc_range r in - FStar_Pervasives_Native.Some uu____5756) () - with | uu___554_5758 -> FStar_Pervasives_Native.None) - | uu____5761 -> FStar_Pervasives_Native.None) - | uu____5772 -> FStar_Pervasives_Native.None in + psc.psc_range r + in + FStar_Pervasives_Native.Some uu____5766) () + with | uu___554_5768 -> FStar_Pervasives_Native.None) + | uu____5771 -> FStar_Pervasives_Native.None) + | uu____5782 -> FStar_Pervasives_Native.None in let mk_range1 psc _norm_cb args = match args with | fn::from_line::from_col::to_line::to_col::[] -> - let uu____5806 = - let uu____5828 = arg_as_string1 fn in - let uu____5832 = arg_as_int1 from_line in - let uu____5835 = arg_as_int1 from_col in - let uu____5838 = arg_as_int1 to_line in - let uu____5841 = arg_as_int1 to_col in - (uu____5828, uu____5832, uu____5835, uu____5838, uu____5841) in - (match uu____5806 with - | (FStar_Pervasives_Native.Some fn1, FStar_Pervasives_Native.Some - from_l, FStar_Pervasives_Native.Some from_c, - FStar_Pervasives_Native.Some to_l, FStar_Pervasives_Native.Some - to_c) -> + let uu____5816 = + let uu____5838 = arg_as_string1 fn in + let uu____5842 = arg_as_int1 from_line in + let uu____5845 = arg_as_int1 from_col in + let uu____5848 = arg_as_int1 to_line in + let uu____5851 = arg_as_int1 to_col in + (uu____5838, uu____5842, uu____5845, uu____5848, uu____5851) in + (match uu____5816 with + | (FStar_Pervasives_Native.Some fn1,FStar_Pervasives_Native.Some + from_l,FStar_Pervasives_Native.Some + from_c,FStar_Pervasives_Native.Some + to_l,FStar_Pervasives_Native.Some to_c) -> let r = - let uu____5876 = - let uu____5877 = FStar_BigInt.to_int_fs from_l in - let uu____5879 = FStar_BigInt.to_int_fs from_c in - FStar_Range.mk_pos uu____5877 uu____5879 in - let uu____5881 = - let uu____5882 = FStar_BigInt.to_int_fs to_l in - let uu____5884 = FStar_BigInt.to_int_fs to_c in - FStar_Range.mk_pos uu____5882 uu____5884 in - FStar_Range.mk_range fn1 uu____5876 uu____5881 in - let uu____5886 = - embed_simple FStar_Syntax_Embeddings.e_range psc.psc_range r in - FStar_Pervasives_Native.Some uu____5886 - | uu____5887 -> FStar_Pervasives_Native.None) - | uu____5909 -> FStar_Pervasives_Native.None in + let uu____5886 = + let uu____5887 = FStar_BigInt.to_int_fs from_l in + let uu____5889 = FStar_BigInt.to_int_fs from_c in + FStar_Range.mk_pos uu____5887 uu____5889 in + let uu____5891 = + let uu____5892 = FStar_BigInt.to_int_fs to_l in + let uu____5894 = FStar_BigInt.to_int_fs to_c in + FStar_Range.mk_pos uu____5892 uu____5894 in + FStar_Range.mk_range fn1 uu____5886 uu____5891 in + let uu____5896 = + embed_simple FStar_Syntax_Embeddings.e_range psc.psc_range r + in + FStar_Pervasives_Native.Some uu____5896 + | uu____5897 -> FStar_Pervasives_Native.None) + | uu____5919 -> FStar_Pervasives_Native.None in let decidable_eq1 neg psc _norm_cb args = - let r = psc.psc_range in + let r = psc.psc_range in let tru = - mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool true)) r in + mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool true)) r + in let fal = - mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool false)) r in + mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool false)) r + in match args with - | (_typ, uu____5953)::(a1, uu____5955)::(a2, uu____5957)::[] -> - let uu____6014 = FStar_Syntax_Util.eq_tm a1 a2 in - (match uu____6014 with - | FStar_Syntax_Util.Equal -> + | (_typ,uu____5963)::(a1,uu____5965)::(a2,uu____5967)::[] -> + let uu____6024 = FStar_Syntax_Util.eq_tm a1 a2 in + (match uu____6024 with + | FStar_Syntax_Util.Equal -> FStar_Pervasives_Native.Some (if neg then fal else tru) - | FStar_Syntax_Util.NotEqual -> + | FStar_Syntax_Util.NotEqual -> FStar_Pervasives_Native.Some (if neg then tru else fal) - | uu____6023 -> FStar_Pervasives_Native.None) - | uu____6024 -> failwith "Unexpected number of arguments" in + | uu____6033 -> FStar_Pervasives_Native.None) + | uu____6034 -> failwith "Unexpected number of arguments" in let prims_to_fstar_range_step1 psc _norm_cb args = match args with - | (a1, uu____6067)::[] -> - let uu____6084 = - try_unembed_simple FStar_Syntax_Embeddings.e_range a1 in - (match uu____6084 with + | (a1,uu____6077)::[] -> + let uu____6094 = + try_unembed_simple FStar_Syntax_Embeddings.e_range a1 in + (match uu____6094 with | FStar_Pervasives_Native.Some r -> - let uu____6090 = - embed_simple FStar_Syntax_Embeddings.e_range psc.psc_range r in - FStar_Pervasives_Native.Some uu____6090 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) - | uu____6091 -> failwith "Unexpected number of arguments" in + let uu____6100 = + embed_simple FStar_Syntax_Embeddings.e_range psc.psc_range r + in + FStar_Pervasives_Native.Some uu____6100 + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) + | uu____6101 -> failwith "Unexpected number of arguments" in let bogus_cbs = { - FStar_TypeChecker_NBETerm.iapp = (fun h -> fun _args -> h); + FStar_TypeChecker_NBETerm.iapp = (fun h -> fun _args -> h); FStar_TypeChecker_NBETerm.translate = - (fun uu____6111 -> failwith "bogus_cbs translate") - } in + (fun uu____6121 -> failwith "bogus_cbs translate") + } in let basic_ops = - let uu____6145 = - let uu____6175 = + let uu____6155 = + let uu____6185 = FStar_TypeChecker_NBETerm.unary_int_op - (fun x -> FStar_BigInt.minus_big_int x) in + (fun x -> FStar_BigInt.minus_big_int x) + in (FStar_Parser_Const.op_Minus, (Prims.parse_int "1"), (Prims.parse_int "0"), - (unary_int_op1 (fun x -> FStar_BigInt.minus_big_int x)), uu____6175) in - let uu____6209 = - let uu____6241 = - let uu____6271 = + (unary_int_op1 (fun x -> FStar_BigInt.minus_big_int x)), uu____6185) + in + let uu____6219 = + let uu____6251 = + let uu____6281 = FStar_TypeChecker_NBETerm.binary_int_op - (fun x -> fun y -> FStar_BigInt.add_big_int x y) in + (fun x -> fun y -> FStar_BigInt.add_big_int x y) + in (FStar_Parser_Const.op_Addition, (Prims.parse_int "2"), (Prims.parse_int "0"), - (binary_int_op1 (fun x -> fun y -> FStar_BigInt.add_big_int x y)), - uu____6271) in - let uu____6311 = - let uu____6343 = - let uu____6373 = + (binary_int_op1 (fun x -> fun y -> FStar_BigInt.add_big_int x y)), + uu____6281) + in + let uu____6321 = + let uu____6353 = + let uu____6383 = FStar_TypeChecker_NBETerm.binary_int_op - (fun x -> fun y -> FStar_BigInt.sub_big_int x y) in + (fun x -> fun y -> FStar_BigInt.sub_big_int x y) + in (FStar_Parser_Const.op_Subtraction, (Prims.parse_int "2"), (Prims.parse_int "0"), - (binary_int_op1 (fun x -> fun y -> FStar_BigInt.sub_big_int x y)), - uu____6373) in - let uu____6413 = - let uu____6445 = - let uu____6475 = + (binary_int_op1 + (fun x -> fun y -> FStar_BigInt.sub_big_int x y)), + uu____6383) + in + let uu____6423 = + let uu____6455 = + let uu____6485 = FStar_TypeChecker_NBETerm.binary_int_op - (fun x -> fun y -> FStar_BigInt.mult_big_int x y) in + (fun x -> fun y -> FStar_BigInt.mult_big_int x y) + in (FStar_Parser_Const.op_Multiply, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_int_op1 - (fun x -> fun y -> FStar_BigInt.mult_big_int x y)), - uu____6475) in - let uu____6515 = - let uu____6547 = - let uu____6577 = + (fun x -> fun y -> FStar_BigInt.mult_big_int x y)), + uu____6485) + in + let uu____6525 = + let uu____6557 = + let uu____6587 = FStar_TypeChecker_NBETerm.binary_int_op - (fun x -> fun y -> FStar_BigInt.div_big_int x y) in + (fun x -> fun y -> FStar_BigInt.div_big_int x y) + in (FStar_Parser_Const.op_Division, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_int_op1 - (fun x -> fun y -> FStar_BigInt.div_big_int x y)), - uu____6577) in - let uu____6617 = - let uu____6649 = - let uu____6679 = + (fun x -> fun y -> FStar_BigInt.div_big_int x y)), + uu____6587) + in + let uu____6627 = + let uu____6659 = + let uu____6689 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_int - (fun x -> - fun y -> - let uu____6691 = FStar_BigInt.lt_big_int x y in + (fun x -> + fun y -> + let uu____6701 = FStar_BigInt.lt_big_int x y in FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_bool bogus_cbs - uu____6691) in + uu____6701) + in (FStar_Parser_Const.op_LT, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_int1 - (fun r -> - fun x -> - fun y -> - let uu____6722 = FStar_BigInt.lt_big_int x y in + (fun r -> + fun x -> + fun y -> + let uu____6732 = FStar_BigInt.lt_big_int x y in embed_simple FStar_Syntax_Embeddings.e_bool r - uu____6722)), uu____6679) in - let uu____6725 = - let uu____6757 = - let uu____6787 = + uu____6732)), uu____6689) + in + let uu____6735 = + let uu____6767 = + let uu____6797 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_int - (fun x -> - fun y -> - let uu____6799 = FStar_BigInt.le_big_int x y in + (fun x -> + fun y -> + let uu____6809 = FStar_BigInt.le_big_int x y in FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_bool bogus_cbs - uu____6799) in + uu____6809) + in (FStar_Parser_Const.op_LTE, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_int1 - (fun r -> - fun x -> - fun y -> - let uu____6830 = FStar_BigInt.le_big_int x y in + (fun r -> + fun x -> + fun y -> + let uu____6840 = FStar_BigInt.le_big_int x y + in embed_simple FStar_Syntax_Embeddings.e_bool r - uu____6830)), uu____6787) in - let uu____6833 = - let uu____6865 = - let uu____6895 = + uu____6840)), uu____6797) + in + let uu____6843 = + let uu____6875 = + let uu____6905 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_int - (fun x -> - fun y -> - let uu____6907 = FStar_BigInt.gt_big_int x y in + (fun x -> + fun y -> + let uu____6917 = FStar_BigInt.gt_big_int x y in FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_bool bogus_cbs - uu____6907) in + uu____6917) + in (FStar_Parser_Const.op_GT, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_int1 - (fun r -> - fun x -> - fun y -> - let uu____6938 = FStar_BigInt.gt_big_int x y in + (fun r -> + fun x -> + fun y -> + let uu____6948 = FStar_BigInt.gt_big_int x y + in embed_simple FStar_Syntax_Embeddings.e_bool r - uu____6938)), uu____6895) in - let uu____6941 = - let uu____6973 = - let uu____7003 = + uu____6948)), uu____6905) + in + let uu____6951 = + let uu____6983 = + let uu____7013 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_int - (fun x -> - fun y -> - let uu____7015 = FStar_BigInt.ge_big_int x y in + (fun x -> + fun y -> + let uu____7025 = FStar_BigInt.ge_big_int x y + in FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_bool bogus_cbs - uu____7015) in + uu____7025) + in (FStar_Parser_Const.op_GTE, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_int1 - (fun r -> - fun x -> - fun y -> - let uu____7046 = - FStar_BigInt.ge_big_int x y in + (fun r -> + fun x -> + fun y -> + let uu____7056 = + FStar_BigInt.ge_big_int x y in embed_simple FStar_Syntax_Embeddings.e_bool - r uu____7046)), uu____7003) in - let uu____7049 = - let uu____7081 = - let uu____7111 = + r uu____7056)), uu____7013) + in + let uu____7059 = + let uu____7091 = + let uu____7121 = FStar_TypeChecker_NBETerm.binary_int_op - (fun x -> fun y -> FStar_BigInt.mod_big_int x y) in + (fun x -> fun y -> FStar_BigInt.mod_big_int x y) + in (FStar_Parser_Const.op_Modulus, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_int_op1 - (fun x -> fun y -> FStar_BigInt.mod_big_int x y)), - uu____7111) in - let uu____7151 = - let uu____7183 = - let uu____7213 = + (fun x -> + fun y -> FStar_BigInt.mod_big_int x y)), + uu____7121) + in + let uu____7161 = + let uu____7193 = + let uu____7223 = FStar_TypeChecker_NBETerm.unary_bool_op - (fun x -> Prims.op_Negation x) in + (fun x -> Prims.op_Negation x) + in (FStar_Parser_Const.op_Negation, (Prims.parse_int "1"), (Prims.parse_int "0"), - (unary_bool_op1 (fun x -> Prims.op_Negation x)), - uu____7213) in - let uu____7249 = - let uu____7281 = - let uu____7311 = + (unary_bool_op1 (fun x -> Prims.op_Negation x)), + uu____7223) + in + let uu____7259 = + let uu____7291 = + let uu____7321 = FStar_TypeChecker_NBETerm.binary_bool_op - (fun x -> fun y -> x && y) in + (fun x -> fun y -> x && y) + in (FStar_Parser_Const.op_And, (Prims.parse_int "2"), (Prims.parse_int "0"), - (binary_bool_op1 (fun x -> fun y -> x && y)), - uu____7311) in - let uu____7355 = - let uu____7387 = - let uu____7417 = + (binary_bool_op1 (fun x -> fun y -> x && y)), + uu____7321) + in + let uu____7365 = + let uu____7397 = + let uu____7427 = FStar_TypeChecker_NBETerm.binary_bool_op - (fun x -> fun y -> x || y) in + (fun x -> fun y -> x || y) + in (FStar_Parser_Const.op_Or, (Prims.parse_int "2"), (Prims.parse_int "0"), - (binary_bool_op1 (fun x -> fun y -> x || y)), - uu____7417) in - let uu____7461 = - let uu____7493 = - let uu____7523 = + (binary_bool_op1 (fun x -> fun y -> x || y)), + uu____7427) + in + let uu____7471 = + let uu____7503 = + let uu____7533 = FStar_TypeChecker_NBETerm.unary_op FStar_TypeChecker_NBETerm.arg_as_int - FStar_TypeChecker_NBETerm.string_of_int in + FStar_TypeChecker_NBETerm.string_of_int + in (FStar_Parser_Const.string_of_int_lid, (Prims.parse_int "1"), (Prims.parse_int "0"), (unary_op1 arg_as_int1 string_of_int1), - uu____7523) in - let uu____7551 = - let uu____7583 = - let uu____7613 = + uu____7533) + in + let uu____7561 = + let uu____7593 = + let uu____7623 = FStar_TypeChecker_NBETerm.unary_op FStar_TypeChecker_NBETerm.arg_as_bool - FStar_TypeChecker_NBETerm.string_of_bool in + FStar_TypeChecker_NBETerm.string_of_bool + in (FStar_Parser_Const.string_of_bool_lid, (Prims.parse_int "1"), (Prims.parse_int "0"), (unary_op1 arg_as_bool1 string_of_bool1), - uu____7613) in - let uu____7643 = - let uu____7675 = - let uu____7705 = + uu____7623) + in + let uu____7653 = + let uu____7685 = + let uu____7715 = FStar_TypeChecker_NBETerm.unary_op FStar_TypeChecker_NBETerm.arg_as_string - FStar_TypeChecker_NBETerm.list_of_string' in + FStar_TypeChecker_NBETerm.list_of_string' + in (FStar_Parser_Const.string_list_of_string_lid, (Prims.parse_int "1"), (Prims.parse_int "0"), (unary_op1 arg_as_string1 - list_of_string'1), uu____7705) in - let uu____7735 = - let uu____7767 = - let uu____7797 = + list_of_string'1), uu____7715) + in + let uu____7745 = + let uu____7777 = + let uu____7807 = FStar_TypeChecker_NBETerm.unary_op (FStar_TypeChecker_NBETerm.arg_as_list FStar_TypeChecker_NBETerm.e_char) - FStar_TypeChecker_NBETerm.string_of_list' in + FStar_TypeChecker_NBETerm.string_of_list' + in (FStar_Parser_Const.string_string_of_list_lid, (Prims.parse_int "1"), (Prims.parse_int "0"), (unary_op1 (arg_as_list1 FStar_Syntax_Embeddings.e_char) - string_of_list'1), uu____7797) in - let uu____7833 = - let uu____7865 = - let uu____7897 = - let uu____7929 = - let uu____7959 = + string_of_list'1), uu____7807) + in + let uu____7843 = + let uu____7875 = + let uu____7907 = + let uu____7939 = + let uu____7969 = FStar_TypeChecker_NBETerm.binary_string_op - (fun x -> - fun y -> - FStar_String.op_Hat x y) in + (fun x -> + fun y -> + FStar_String.op_Hat x y) + in (FStar_Parser_Const.prims_strcat_lid, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_string_op1 - (fun x -> - fun y -> + (fun x -> + fun y -> FStar_String.op_Hat x y)), - uu____7959) in - let uu____8003 = - let uu____8035 = - let uu____8067 = - let uu____8097 = + uu____7969) + in + let uu____8013 = + let uu____8045 = + let uu____8077 = + let uu____8107 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_string - FStar_TypeChecker_NBETerm.string_compare' in + FStar_TypeChecker_NBETerm.string_compare' + in (FStar_Parser_Const.string_compare_lid, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_string1 string_compare'1), - uu____8097) in - let uu____8127 = - let uu____8159 = - let uu____8189 = + uu____8107) + in + let uu____8137 = + let uu____8169 = + let uu____8199 = FStar_TypeChecker_NBETerm.unary_op FStar_TypeChecker_NBETerm.arg_as_string - FStar_TypeChecker_NBETerm.string_lowercase in + FStar_TypeChecker_NBETerm.string_lowercase + in (FStar_Parser_Const.string_lowercase_lid, (Prims.parse_int "1"), (Prims.parse_int "0"), (unary_op1 arg_as_string1 lowercase1), - uu____8189) in - let uu____8219 = - let uu____8251 = - let uu____8281 = + uu____8199) + in + let uu____8229 = + let uu____8261 = + let uu____8291 = FStar_TypeChecker_NBETerm.unary_op FStar_TypeChecker_NBETerm.arg_as_string - FStar_TypeChecker_NBETerm.string_uppercase in + FStar_TypeChecker_NBETerm.string_uppercase + in (FStar_Parser_Const.string_uppercase_lid, (Prims.parse_int "1"), (Prims.parse_int "0"), (unary_op1 arg_as_string1 uppercase1), - uu____8281) in - let uu____8311 = - let uu____8343 = - let uu____8375 = - let uu____8407 = - let uu____8439 = - let uu____8471 = - let uu____8503 + uu____8291) + in + let uu____8321 = + let uu____8353 = + let uu____8385 = + let uu____8417 = + let uu____8449 = + let uu____8481 = + let uu____8513 = - let uu____8533 + let uu____8543 = FStar_Parser_Const.p2l ["Prims"; - "mk_range"] in - (uu____8533, + "mk_range"] + in + (uu____8543, (Prims.parse_int "5"), (Prims.parse_int "0"), mk_range1, - FStar_TypeChecker_NBETerm.mk_range) in - let uu____8560 + FStar_TypeChecker_NBETerm.mk_range) + in + let uu____8570 = - let uu____8592 + let uu____8602 = - let uu____8622 + let uu____8632 = FStar_Parser_Const.p2l ["FStar"; "Range"; - "prims_to_fstar_range"] in - (uu____8622, + "prims_to_fstar_range"] + in + (uu____8632, (Prims.parse_int "1"), (Prims.parse_int "0"), prims_to_fstar_range_step1, - FStar_TypeChecker_NBETerm.prims_to_fstar_range_step) in - [uu____8592] in - uu____8503 :: - uu____8560 in + FStar_TypeChecker_NBETerm.prims_to_fstar_range_step) + in + [uu____8602] + in + uu____8513 :: + uu____8570 + in (FStar_Parser_Const.op_notEq, (Prims.parse_int "3"), (Prims.parse_int "0"), @@ -2282,7 +2459,8 @@ let (built_in_primitive_steps : primitive_step FStar_Util.psmap) = true), (FStar_TypeChecker_NBETerm.decidable_eq true)) - :: uu____8471 in + :: uu____8481 + in (FStar_Parser_Const.op_Eq, (Prims.parse_int "3"), (Prims.parse_int "0"), @@ -2290,41 +2468,48 @@ let (built_in_primitive_steps : primitive_step FStar_Util.psmap) = false), (FStar_TypeChecker_NBETerm.decidable_eq false)) - :: uu____8439 in + :: uu____8449 + in (FStar_Parser_Const.string_sub_lid, (Prims.parse_int "3"), (Prims.parse_int "0"), string_substring'1, FStar_TypeChecker_NBETerm.string_substring') - :: uu____8407 in + :: uu____8417 + in (FStar_Parser_Const.string_index_of_lid, (Prims.parse_int "2"), (Prims.parse_int "0"), string_index_of1, FStar_TypeChecker_NBETerm.string_index_of) - :: uu____8375 in + :: uu____8385 + in (FStar_Parser_Const.string_index_lid, (Prims.parse_int "2"), (Prims.parse_int "0"), string_index1, FStar_TypeChecker_NBETerm.string_index) - :: uu____8343 in - uu____8251 :: uu____8311 in - uu____8159 :: uu____8219 in - uu____8067 :: uu____8127 in + :: uu____8353 + in + uu____8261 :: uu____8321 + in + uu____8169 :: uu____8229 in + uu____8077 :: uu____8137 in (FStar_Parser_Const.string_concat_lid, (Prims.parse_int "2"), (Prims.parse_int "0"), string_concat'1, FStar_TypeChecker_NBETerm.string_concat') - :: uu____8035 in - uu____7929 :: uu____8003 in + :: uu____8045 + in + uu____7939 :: uu____8013 in (FStar_Parser_Const.string_split_lid, (Prims.parse_int "2"), (Prims.parse_int "0"), string_split'1, FStar_TypeChecker_NBETerm.string_split') - :: uu____7897 in + :: uu____7907 + in (FStar_Parser_Const.string_make_lid, (Prims.parse_int "2"), (Prims.parse_int "0"), @@ -2332,218 +2517,241 @@ let (built_in_primitive_steps : primitive_step FStar_Util.psmap) = arg_as_char1 (embed_simple FStar_Syntax_Embeddings.e_string) - (fun r -> - fun x -> - fun y -> - let uu____9269 = - FStar_BigInt.to_int_fs x in + (fun r -> + fun x -> + fun y -> + let uu____9279 = + FStar_BigInt.to_int_fs x + in FStar_String.make - uu____9269 y)), + uu____9279 y)), (FStar_TypeChecker_NBETerm.mixed_binary_op FStar_TypeChecker_NBETerm.arg_as_int FStar_TypeChecker_NBETerm.arg_as_char (FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_string bogus_cbs) - (fun x -> - fun y -> - let uu____9280 = - FStar_BigInt.to_int_fs x in - FStar_String.make uu____9280 + (fun x -> + fun y -> + let uu____9290 = + FStar_BigInt.to_int_fs x + in + FStar_String.make uu____9290 y))) - :: uu____7865 in - uu____7767 :: uu____7833 in - uu____7675 :: uu____7735 in - uu____7583 :: uu____7643 in - uu____7493 :: uu____7551 in - uu____7387 :: uu____7461 in - uu____7281 :: uu____7355 in - uu____7183 :: uu____7249 in - uu____7081 :: uu____7151 in - uu____6973 :: uu____7049 in - uu____6865 :: uu____6941 in - uu____6757 :: uu____6833 in - uu____6649 :: uu____6725 in - uu____6547 :: uu____6617 in - uu____6445 :: uu____6515 in - uu____6343 :: uu____6413 in - uu____6241 :: uu____6311 in - uu____6145 :: uu____6209 in - let weak_ops = [] in + :: uu____7875 + in + uu____7777 :: uu____7843 in + uu____7685 :: uu____7745 in + uu____7593 :: uu____7653 in + uu____7503 :: uu____7561 in + uu____7397 :: uu____7471 in + uu____7291 :: uu____7365 in + uu____7193 :: uu____7259 in + uu____7091 :: uu____7161 in + uu____6983 :: uu____7059 in + uu____6875 :: uu____6951 in + uu____6767 :: uu____6843 in + uu____6659 :: uu____6735 in + uu____6557 :: uu____6627 in + uu____6455 :: uu____6525 in + uu____6353 :: uu____6423 in + uu____6251 :: uu____6321 in + uu____6155 :: uu____6219 in + let weak_ops = [] in let bounded_arith_ops = - let bounded_signed_int_types = ["Int8"; "Int16"; "Int32"; "Int64"] in + let bounded_signed_int_types = ["Int8"; "Int16"; "Int32"; "Int64"] in let bounded_unsigned_int_types = - ["UInt8"; "UInt16"; "UInt32"; "UInt64"; "UInt128"] in + ["UInt8"; "UInt16"; "UInt32"; "UInt64"; "UInt128"] in let int_as_bounded1 r int_to_t1 n1 = - let c = embed_simple FStar_Syntax_Embeddings.e_int r n1 in - let int_to_t2 = FStar_Syntax_Syntax.fv_to_tm int_to_t1 in - let uu____9916 = - let uu____9921 = - let uu____9922 = FStar_Syntax_Syntax.as_arg c in [uu____9922] in - FStar_Syntax_Syntax.mk_Tm_app int_to_t2 uu____9921 in - uu____9916 FStar_Pervasives_Native.None r in + let c = embed_simple FStar_Syntax_Embeddings.e_int r n1 in + let int_to_t2 = FStar_Syntax_Syntax.fv_to_tm int_to_t1 in + let uu____9926 = + let uu____9931 = + let uu____9932 = FStar_Syntax_Syntax.as_arg c in [uu____9932] in + FStar_Syntax_Syntax.mk_Tm_app int_to_t2 uu____9931 in + uu____9926 FStar_Pervasives_Native.None r in let add_sub_mul_v = FStar_All.pipe_right (FStar_List.append bounded_signed_int_types bounded_unsigned_int_types) (FStar_List.collect - (fun m -> - let uu____10049 = - let uu____10079 = FStar_Parser_Const.p2l ["FStar"; m; "add"] in - let uu____10086 = + (fun m -> + let uu____10059 = + let uu____10089 = FStar_Parser_Const.p2l ["FStar"; m; "add"] + in + let uu____10096 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____10104 -> - fun uu____10105 -> - match (uu____10104, uu____10105) with - | ((int_to_t1, x), (uu____10124, y)) -> - let uu____10134 = FStar_BigInt.add_big_int x y in + (fun uu____10114 -> + fun uu____10115 -> + match (uu____10114, uu____10115) with + | ((int_to_t1,x),(uu____10134,y)) -> + let uu____10144 = FStar_BigInt.add_big_int x y + in FStar_TypeChecker_NBETerm.int_as_bounded - int_to_t1 uu____10134) in - (uu____10079, (Prims.parse_int "2"), (Prims.parse_int "0"), + int_to_t1 uu____10144) + in + (uu____10089, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____10169 -> - fun uu____10170 -> - match (uu____10169, uu____10170) with - | ((int_to_t1, x), (uu____10189, y)) -> - let uu____10199 = - FStar_BigInt.add_big_int x y in - int_as_bounded1 r int_to_t1 uu____10199)), - uu____10086) in - let uu____10200 = - let uu____10232 = - let uu____10262 = - FStar_Parser_Const.p2l ["FStar"; m; "sub"] in - let uu____10269 = + (fun r -> + fun uu____10179 -> + fun uu____10180 -> + match (uu____10179, uu____10180) with + | ((int_to_t1,x),(uu____10199,y)) -> + let uu____10209 = + FStar_BigInt.add_big_int x y in + int_as_bounded1 r int_to_t1 uu____10209)), + uu____10096) + in + let uu____10210 = + let uu____10242 = + let uu____10272 = + FStar_Parser_Const.p2l ["FStar"; m; "sub"] in + let uu____10279 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____10287 -> - fun uu____10288 -> - match (uu____10287, uu____10288) with - | ((int_to_t1, x), (uu____10307, y)) -> - let uu____10317 = FStar_BigInt.sub_big_int x y in + (fun uu____10297 -> + fun uu____10298 -> + match (uu____10297, uu____10298) with + | ((int_to_t1,x),(uu____10317,y)) -> + let uu____10327 = FStar_BigInt.sub_big_int x y + in FStar_TypeChecker_NBETerm.int_as_bounded - int_to_t1 uu____10317) in - (uu____10262, (Prims.parse_int "2"), (Prims.parse_int "0"), + int_to_t1 uu____10327) + in + (uu____10272, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____10352 -> - fun uu____10353 -> - match (uu____10352, uu____10353) with - | ((int_to_t1, x), (uu____10372, y)) -> - let uu____10382 = - FStar_BigInt.sub_big_int x y in - int_as_bounded1 r int_to_t1 uu____10382)), - uu____10269) in - let uu____10383 = - let uu____10415 = - let uu____10445 = - FStar_Parser_Const.p2l ["FStar"; m; "mul"] in - let uu____10452 = + (fun r -> + fun uu____10362 -> + fun uu____10363 -> + match (uu____10362, uu____10363) with + | ((int_to_t1,x),(uu____10382,y)) -> + let uu____10392 = + FStar_BigInt.sub_big_int x y in + int_as_bounded1 r int_to_t1 uu____10392)), + uu____10279) + in + let uu____10393 = + let uu____10425 = + let uu____10455 = + FStar_Parser_Const.p2l ["FStar"; m; "mul"] in + let uu____10462 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____10470 -> - fun uu____10471 -> - match (uu____10470, uu____10471) with - | ((int_to_t1, x), (uu____10490, y)) -> - let uu____10500 = - FStar_BigInt.mult_big_int x y in + (fun uu____10480 -> + fun uu____10481 -> + match (uu____10480, uu____10481) with + | ((int_to_t1,x),(uu____10500,y)) -> + let uu____10510 = + FStar_BigInt.mult_big_int x y in FStar_TypeChecker_NBETerm.int_as_bounded - int_to_t1 uu____10500) in - (uu____10445, (Prims.parse_int "2"), + int_to_t1 uu____10510) + in + (uu____10455, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____10535 -> - fun uu____10536 -> - match (uu____10535, uu____10536) with - | ((int_to_t1, x), (uu____10555, y)) -> - let uu____10565 = - FStar_BigInt.mult_big_int x y in - int_as_bounded1 r int_to_t1 uu____10565)), - uu____10452) in - let uu____10566 = - let uu____10598 = - let uu____10628 = - FStar_Parser_Const.p2l ["FStar"; m; "v"] in - let uu____10635 = + (fun r -> + fun uu____10545 -> + fun uu____10546 -> + match (uu____10545, uu____10546) with + | ((int_to_t1,x),(uu____10565,y)) -> + let uu____10575 = + FStar_BigInt.mult_big_int x y in + int_as_bounded1 r int_to_t1 uu____10575)), + uu____10462) + in + let uu____10576 = + let uu____10608 = + let uu____10638 = + FStar_Parser_Const.p2l ["FStar"; m; "v"] in + let uu____10645 = FStar_TypeChecker_NBETerm.unary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____10649 -> - match uu____10649 with - | (int_to_t1, x) -> + (fun uu____10659 -> + match uu____10659 with + | (int_to_t1,x) -> FStar_TypeChecker_NBETerm.embed FStar_TypeChecker_NBETerm.e_int bogus_cbs - x) in - (uu____10628, (Prims.parse_int "1"), + x) + in + (uu____10638, (Prims.parse_int "1"), (Prims.parse_int "0"), (unary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____10686 -> - match uu____10686 with - | (int_to_t1, x) -> + (fun r -> + fun uu____10696 -> + match uu____10696 with + | (int_to_t1,x) -> embed_simple FStar_Syntax_Embeddings.e_int r x)), - uu____10635) in - [uu____10598] in - uu____10415 :: uu____10566 in - uu____10232 :: uu____10383 in - uu____10049 :: uu____10200)) in + uu____10645) + in + [uu____10608] in + uu____10425 :: uu____10576 in + uu____10242 :: uu____10393 in + uu____10059 :: uu____10210)) + in let div_mod_unsigned = FStar_All.pipe_right bounded_unsigned_int_types (FStar_List.collect - (fun m -> - let uu____10939 = - let uu____10969 = FStar_Parser_Const.p2l ["FStar"; m; "div"] in - let uu____10976 = + (fun m -> + let uu____10949 = + let uu____10979 = FStar_Parser_Const.p2l ["FStar"; m; "div"] + in + let uu____10986 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____10994 -> - fun uu____10995 -> - match (uu____10994, uu____10995) with - | ((int_to_t1, x), (uu____11014, y)) -> - let uu____11024 = FStar_BigInt.div_big_int x y in + (fun uu____11004 -> + fun uu____11005 -> + match (uu____11004, uu____11005) with + | ((int_to_t1,x),(uu____11024,y)) -> + let uu____11034 = FStar_BigInt.div_big_int x y + in FStar_TypeChecker_NBETerm.int_as_bounded - int_to_t1 uu____11024) in - (uu____10969, (Prims.parse_int "2"), (Prims.parse_int "0"), + int_to_t1 uu____11034) + in + (uu____10979, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____11059 -> - fun uu____11060 -> - match (uu____11059, uu____11060) with - | ((int_to_t1, x), (uu____11079, y)) -> - let uu____11089 = - FStar_BigInt.div_big_int x y in - int_as_bounded1 r int_to_t1 uu____11089)), - uu____10976) in - let uu____11090 = - let uu____11122 = - let uu____11152 = - FStar_Parser_Const.p2l ["FStar"; m; "rem"] in - let uu____11159 = + (fun r -> + fun uu____11069 -> + fun uu____11070 -> + match (uu____11069, uu____11070) with + | ((int_to_t1,x),(uu____11089,y)) -> + let uu____11099 = + FStar_BigInt.div_big_int x y in + int_as_bounded1 r int_to_t1 uu____11099)), + uu____10986) + in + let uu____11100 = + let uu____11132 = + let uu____11162 = + FStar_Parser_Const.p2l ["FStar"; m; "rem"] in + let uu____11169 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____11177 -> - fun uu____11178 -> - match (uu____11177, uu____11178) with - | ((int_to_t1, x), (uu____11197, y)) -> - let uu____11207 = FStar_BigInt.mod_big_int x y in + (fun uu____11187 -> + fun uu____11188 -> + match (uu____11187, uu____11188) with + | ((int_to_t1,x),(uu____11207,y)) -> + let uu____11217 = FStar_BigInt.mod_big_int x y + in FStar_TypeChecker_NBETerm.int_as_bounded - int_to_t1 uu____11207) in - (uu____11152, (Prims.parse_int "2"), (Prims.parse_int "0"), + int_to_t1 uu____11217) + in + (uu____11162, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____11242 -> - fun uu____11243 -> - match (uu____11242, uu____11243) with - | ((int_to_t1, x), (uu____11262, y)) -> - let uu____11272 = - FStar_BigInt.mod_big_int x y in - int_as_bounded1 r int_to_t1 uu____11272)), - uu____11159) in - [uu____11122] in - uu____10939 :: uu____11090)) in + (fun r -> + fun uu____11252 -> + fun uu____11253 -> + match (uu____11252, uu____11253) with + | ((int_to_t1,x),(uu____11272,y)) -> + let uu____11282 = + FStar_BigInt.mod_big_int x y in + int_as_bounded1 r int_to_t1 uu____11282)), + uu____11169) + in + [uu____11132] in + uu____10949 :: uu____11100)) + in let mask m = match m with | "UInt8" -> FStar_BigInt.of_hex "ff" @@ -2551,265 +2759,292 @@ let (built_in_primitive_steps : primitive_step FStar_Util.psmap) = | "UInt32" -> FStar_BigInt.of_hex "ffffffff" | "UInt64" -> FStar_BigInt.of_hex "ffffffffffffffff" | "UInt128" -> FStar_BigInt.of_hex "ffffffffffffffffffffffffffffffff" - | uu____11378 -> - let uu____11380 = - FStar_Util.format1 "Impossible: bad string on mask: %s\n" m in - failwith uu____11380 in + | uu____11388 -> + let uu____11390 = + FStar_Util.format1 "Impossible: bad string on mask: %s\n" m in + failwith uu____11390 + in let bitwise = FStar_All.pipe_right bounded_unsigned_int_types (FStar_List.collect - (fun m -> - let uu____11484 = - let uu____11514 = - FStar_Parser_Const.p2l ["FStar"; m; "logor"] in - let uu____11521 = + (fun m -> + let uu____11494 = + let uu____11524 = + FStar_Parser_Const.p2l ["FStar"; m; "logor"] in + let uu____11531 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____11539 -> - fun uu____11540 -> - match (uu____11539, uu____11540) with - | ((int_to_t1, x), (uu____11559, y)) -> - let uu____11569 = FStar_BigInt.logor_big_int x y in + (fun uu____11549 -> + fun uu____11550 -> + match (uu____11549, uu____11550) with + | ((int_to_t1,x),(uu____11569,y)) -> + let uu____11579 = FStar_BigInt.logor_big_int x y + in FStar_TypeChecker_NBETerm.int_as_bounded - int_to_t1 uu____11569) in - (uu____11514, (Prims.parse_int "2"), (Prims.parse_int "0"), + int_to_t1 uu____11579) + in + (uu____11524, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____11604 -> - fun uu____11605 -> - match (uu____11604, uu____11605) with - | ((int_to_t1, x), (uu____11624, y)) -> - let uu____11634 = - FStar_BigInt.logor_big_int x y in - int_as_bounded1 r int_to_t1 uu____11634)), - uu____11521) in - let uu____11635 = - let uu____11667 = - let uu____11697 = - FStar_Parser_Const.p2l ["FStar"; m; "logand"] in - let uu____11704 = + (fun r -> + fun uu____11614 -> + fun uu____11615 -> + match (uu____11614, uu____11615) with + | ((int_to_t1,x),(uu____11634,y)) -> + let uu____11644 = + FStar_BigInt.logor_big_int x y in + int_as_bounded1 r int_to_t1 uu____11644)), + uu____11531) + in + let uu____11645 = + let uu____11677 = + let uu____11707 = + FStar_Parser_Const.p2l ["FStar"; m; "logand"] in + let uu____11714 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____11722 -> - fun uu____11723 -> - match (uu____11722, uu____11723) with - | ((int_to_t1, x), (uu____11742, y)) -> - let uu____11752 = - FStar_BigInt.logand_big_int x y in + (fun uu____11732 -> + fun uu____11733 -> + match (uu____11732, uu____11733) with + | ((int_to_t1,x),(uu____11752,y)) -> + let uu____11762 = + FStar_BigInt.logand_big_int x y in FStar_TypeChecker_NBETerm.int_as_bounded - int_to_t1 uu____11752) in - (uu____11697, (Prims.parse_int "2"), (Prims.parse_int "0"), + int_to_t1 uu____11762) + in + (uu____11707, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____11787 -> - fun uu____11788 -> - match (uu____11787, uu____11788) with - | ((int_to_t1, x), (uu____11807, y)) -> - let uu____11817 = - FStar_BigInt.logand_big_int x y in - int_as_bounded1 r int_to_t1 uu____11817)), - uu____11704) in - let uu____11818 = - let uu____11850 = - let uu____11880 = - FStar_Parser_Const.p2l ["FStar"; m; "logxor"] in - let uu____11887 = + (fun r -> + fun uu____11797 -> + fun uu____11798 -> + match (uu____11797, uu____11798) with + | ((int_to_t1,x),(uu____11817,y)) -> + let uu____11827 = + FStar_BigInt.logand_big_int x y in + int_as_bounded1 r int_to_t1 uu____11827)), + uu____11714) + in + let uu____11828 = + let uu____11860 = + let uu____11890 = + FStar_Parser_Const.p2l ["FStar"; m; "logxor"] in + let uu____11897 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____11905 -> - fun uu____11906 -> - match (uu____11905, uu____11906) with - | ((int_to_t1, x), (uu____11925, y)) -> - let uu____11935 = - FStar_BigInt.logxor_big_int x y in + (fun uu____11915 -> + fun uu____11916 -> + match (uu____11915, uu____11916) with + | ((int_to_t1,x),(uu____11935,y)) -> + let uu____11945 = + FStar_BigInt.logxor_big_int x y in FStar_TypeChecker_NBETerm.int_as_bounded - int_to_t1 uu____11935) in - (uu____11880, (Prims.parse_int "2"), + int_to_t1 uu____11945) + in + (uu____11890, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____11970 -> - fun uu____11971 -> - match (uu____11970, uu____11971) with - | ((int_to_t1, x), (uu____11990, y)) -> - let uu____12000 = - FStar_BigInt.logxor_big_int x y in - int_as_bounded1 r int_to_t1 uu____12000)), - uu____11887) in - let uu____12001 = - let uu____12033 = - let uu____12063 = - FStar_Parser_Const.p2l ["FStar"; m; "lognot"] in - let uu____12070 = + (fun r -> + fun uu____11980 -> + fun uu____11981 -> + match (uu____11980, uu____11981) with + | ((int_to_t1,x),(uu____12000,y)) -> + let uu____12010 = + FStar_BigInt.logxor_big_int x y in + int_as_bounded1 r int_to_t1 uu____12010)), + uu____11897) + in + let uu____12011 = + let uu____12043 = + let uu____12073 = + FStar_Parser_Const.p2l ["FStar"; m; "lognot"] in + let uu____12080 = FStar_TypeChecker_NBETerm.unary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____12085 -> - match uu____12085 with - | (int_to_t1, x) -> - let uu____12092 = - let uu____12093 = - FStar_BigInt.lognot_big_int x in - let uu____12094 = mask m in - FStar_BigInt.logand_big_int uu____12093 - uu____12094 in + (fun uu____12095 -> + match uu____12095 with + | (int_to_t1,x) -> + let uu____12102 = + let uu____12103 = + FStar_BigInt.lognot_big_int x in + let uu____12104 = mask m in + FStar_BigInt.logand_big_int uu____12103 + uu____12104 + in FStar_TypeChecker_NBETerm.int_as_bounded - int_to_t1 uu____12092) in - (uu____12063, (Prims.parse_int "1"), + int_to_t1 uu____12102) + in + (uu____12073, (Prims.parse_int "1"), (Prims.parse_int "0"), (unary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____12126 -> - match uu____12126 with - | (int_to_t1, x) -> - let uu____12133 = - let uu____12134 = - FStar_BigInt.lognot_big_int x in - let uu____12135 = mask m in - FStar_BigInt.logand_big_int uu____12134 - uu____12135 in - int_as_bounded1 r int_to_t1 uu____12133)), - uu____12070) in - let uu____12136 = - let uu____12168 = - let uu____12198 = - FStar_Parser_Const.p2l ["FStar"; m; "shift_left"] in - let uu____12205 = + (fun r -> + fun uu____12136 -> + match uu____12136 with + | (int_to_t1,x) -> + let uu____12143 = + let uu____12144 = + FStar_BigInt.lognot_big_int x in + let uu____12145 = mask m in + FStar_BigInt.logand_big_int uu____12144 + uu____12145 + in + int_as_bounded1 r int_to_t1 uu____12143)), + uu____12080) + in + let uu____12146 = + let uu____12178 = + let uu____12208 = + FStar_Parser_Const.p2l ["FStar"; m; "shift_left"] + in + let uu____12215 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____12223 -> - fun uu____12224 -> - match (uu____12223, uu____12224) with - | ((int_to_t1, x), (uu____12243, y)) -> - let uu____12253 = - let uu____12254 = - FStar_BigInt.shift_left_big_int x y in - let uu____12255 = mask m in + (fun uu____12233 -> + fun uu____12234 -> + match (uu____12233, uu____12234) with + | ((int_to_t1,x),(uu____12253,y)) -> + let uu____12263 = + let uu____12264 = + FStar_BigInt.shift_left_big_int x y + in + let uu____12265 = mask m in FStar_BigInt.logand_big_int - uu____12254 uu____12255 in + uu____12264 uu____12265 + in FStar_TypeChecker_NBETerm.int_as_bounded - int_to_t1 uu____12253) in - (uu____12198, (Prims.parse_int "2"), + int_to_t1 uu____12263) + in + (uu____12208, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____12290 -> - fun uu____12291 -> - match (uu____12290, uu____12291) with - | ((int_to_t1, x), (uu____12310, y)) -> - let uu____12320 = - let uu____12321 = + (fun r -> + fun uu____12300 -> + fun uu____12301 -> + match (uu____12300, uu____12301) with + | ((int_to_t1,x),(uu____12320,y)) -> + let uu____12330 = + let uu____12331 = FStar_BigInt.shift_left_big_int x - y in - let uu____12322 = mask m in + y + in + let uu____12332 = mask m in FStar_BigInt.logand_big_int - uu____12321 uu____12322 in + uu____12331 uu____12332 + in int_as_bounded1 r int_to_t1 - uu____12320)), uu____12205) in - let uu____12323 = - let uu____12355 = - let uu____12385 = + uu____12330)), uu____12215) + in + let uu____12333 = + let uu____12365 = + let uu____12395 = FStar_Parser_Const.p2l - ["FStar"; m; "shift_right"] in - let uu____12392 = + ["FStar"; m; "shift_right"] + in + let uu____12402 = FStar_TypeChecker_NBETerm.binary_op FStar_TypeChecker_NBETerm.arg_as_bounded_int - (fun uu____12410 -> - fun uu____12411 -> - match (uu____12410, uu____12411) with - | ((int_to_t1, x), (uu____12430, y)) -> - let uu____12440 = - FStar_BigInt.shift_right_big_int x y in + (fun uu____12420 -> + fun uu____12421 -> + match (uu____12420, uu____12421) with + | ((int_to_t1,x),(uu____12440,y)) -> + let uu____12450 = + FStar_BigInt.shift_right_big_int x y + in FStar_TypeChecker_NBETerm.int_as_bounded - int_to_t1 uu____12440) in - (uu____12385, (Prims.parse_int "2"), + int_to_t1 uu____12450) + in + (uu____12395, (Prims.parse_int "2"), (Prims.parse_int "0"), (binary_op1 arg_as_bounded_int1 - (fun r -> - fun uu____12475 -> - fun uu____12476 -> - match (uu____12475, uu____12476) with - | ((int_to_t1, x), (uu____12495, y)) -> - let uu____12505 = + (fun r -> + fun uu____12485 -> + fun uu____12486 -> + match (uu____12485, uu____12486) with + | ((int_to_t1,x),(uu____12505,y)) -> + let uu____12515 = FStar_BigInt.shift_right_big_int - x y in + x y + in int_as_bounded1 r int_to_t1 - uu____12505)), uu____12392) in - [uu____12355] in - uu____12168 :: uu____12323 in - uu____12033 :: uu____12136 in - uu____11850 :: uu____12001 in - uu____11667 :: uu____11818 in - uu____11484 :: uu____11635)) in + uu____12515)), uu____12402) + in + [uu____12365] in + uu____12178 :: uu____12333 in + uu____12043 :: uu____12146 in + uu____11860 :: uu____12011 in + uu____11677 :: uu____11828 in + uu____11494 :: uu____11645)) + in FStar_List.append add_sub_mul_v - (FStar_List.append div_mod_unsigned bitwise) in + (FStar_List.append div_mod_unsigned bitwise) + in let strong_steps = FStar_List.map (as_primitive_step true) - (FStar_List.append basic_ops bounded_arith_ops) in - let weak_steps = FStar_List.map (as_primitive_step false) weak_ops in + (FStar_List.append basic_ops bounded_arith_ops) + in + let weak_steps = FStar_List.map (as_primitive_step false) weak_ops in FStar_All.pipe_left prim_from_list (FStar_List.append strong_steps weak_steps) + let (equality_ops : primitive_step FStar_Util.psmap) = let interp_prop_eq21 psc _norm_cb args = - let r = psc.psc_range in + let r = psc.psc_range in match args with - | (_typ, uu____12897)::(a1, uu____12899)::(a2, uu____12901)::[] -> - let uu____12958 = FStar_Syntax_Util.eq_tm a1 a2 in - (match uu____12958 with - | FStar_Syntax_Util.Equal -> + | (_typ,uu____12907)::(a1,uu____12909)::(a2,uu____12911)::[] -> + let uu____12968 = FStar_Syntax_Util.eq_tm a1 a2 in + (match uu____12968 with + | FStar_Syntax_Util.Equal -> FStar_Pervasives_Native.Some - (let uu___875_12962 = FStar_Syntax_Util.t_true in + (let uu___875_12972 = FStar_Syntax_Util.t_true in { FStar_Syntax_Syntax.n = - (uu___875_12962.FStar_Syntax_Syntax.n); + (uu___875_12972.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = r; FStar_Syntax_Syntax.vars = - (uu___875_12962.FStar_Syntax_Syntax.vars) + (uu___875_12972.FStar_Syntax_Syntax.vars) }) - | FStar_Syntax_Util.NotEqual -> + | FStar_Syntax_Util.NotEqual -> FStar_Pervasives_Native.Some - (let uu___878_12964 = FStar_Syntax_Util.t_false in + (let uu___878_12974 = FStar_Syntax_Util.t_false in { FStar_Syntax_Syntax.n = - (uu___878_12964.FStar_Syntax_Syntax.n); + (uu___878_12974.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = r; FStar_Syntax_Syntax.vars = - (uu___878_12964.FStar_Syntax_Syntax.vars) + (uu___878_12974.FStar_Syntax_Syntax.vars) }) - | uu____12965 -> FStar_Pervasives_Native.None) - | uu____12966 -> failwith "Unexpected number of arguments" in + | uu____12975 -> FStar_Pervasives_Native.None) + | uu____12976 -> failwith "Unexpected number of arguments" in let interp_prop_eq31 psc _norm_cb args = - let r = psc.psc_range in + let r = psc.psc_range in match args with - | (t1, uu____12996)::(t2, uu____12998)::(a1, uu____13000)::(a2, - uu____13002)::[] + | (t1,uu____13006)::(t2,uu____13008)::(a1,uu____13010)::(a2,uu____13012)::[] -> - let uu____13075 = - let uu____13076 = FStar_Syntax_Util.eq_tm t1 t2 in - let uu____13077 = FStar_Syntax_Util.eq_tm a1 a2 in - FStar_Syntax_Util.eq_inj uu____13076 uu____13077 in - (match uu____13075 with - | FStar_Syntax_Util.Equal -> + let uu____13085 = + let uu____13086 = FStar_Syntax_Util.eq_tm t1 t2 in + let uu____13087 = FStar_Syntax_Util.eq_tm a1 a2 in + FStar_Syntax_Util.eq_inj uu____13086 uu____13087 in + (match uu____13085 with + | FStar_Syntax_Util.Equal -> FStar_Pervasives_Native.Some - (let uu___901_13081 = FStar_Syntax_Util.t_true in + (let uu___901_13091 = FStar_Syntax_Util.t_true in { FStar_Syntax_Syntax.n = - (uu___901_13081.FStar_Syntax_Syntax.n); + (uu___901_13091.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = r; FStar_Syntax_Syntax.vars = - (uu___901_13081.FStar_Syntax_Syntax.vars) + (uu___901_13091.FStar_Syntax_Syntax.vars) }) - | FStar_Syntax_Util.NotEqual -> + | FStar_Syntax_Util.NotEqual -> FStar_Pervasives_Native.Some - (let uu___904_13083 = FStar_Syntax_Util.t_false in + (let uu___904_13093 = FStar_Syntax_Util.t_false in { FStar_Syntax_Syntax.n = - (uu___904_13083.FStar_Syntax_Syntax.n); + (uu___904_13093.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = r; FStar_Syntax_Syntax.vars = - (uu___904_13083.FStar_Syntax_Syntax.vars) + (uu___904_13093.FStar_Syntax_Syntax.vars) }) - | uu____13084 -> FStar_Pervasives_Native.None) - | uu____13085 -> failwith "Unexpected number of arguments" in + | uu____13094 -> FStar_Pervasives_Native.None) + | uu____13095 -> failwith "Unexpected number of arguments" in let propositional_equality = { name = FStar_Parser_Const.eq2_lid; @@ -2820,8 +3055,8 @@ let (equality_ops : primitive_step FStar_Util.psmap) = requires_binder_substitution = false; interpretation = interp_prop_eq21; interpretation_nbe = - (fun _cb -> FStar_TypeChecker_NBETerm.interp_prop_eq2) - } in + (fun _cb -> FStar_TypeChecker_NBETerm.interp_prop_eq2) + } in let hetero_propositional_equality = { name = FStar_Parser_Const.eq3_lid; @@ -2832,183 +3067,201 @@ let (equality_ops : primitive_step FStar_Util.psmap) = requires_binder_substitution = false; interpretation = interp_prop_eq31; interpretation_nbe = - (fun _cb -> FStar_TypeChecker_NBETerm.interp_prop_eq3) - } in - prim_from_list [propositional_equality; hetero_propositional_equality] + (fun _cb -> FStar_TypeChecker_NBETerm.interp_prop_eq3) + } in + prim_from_list [propositional_equality; hetero_propositional_equality] let (primop_time_map : Prims.int FStar_Util.smap) = - FStar_Util.smap_create (Prims.parse_int "50") + FStar_Util.smap_create (Prims.parse_int "50") let (primop_time_reset : unit -> unit) = - fun uu____13116 -> FStar_Util.smap_clear primop_time_map + fun uu____13126 -> FStar_Util.smap_clear primop_time_map let (primop_time_count : Prims.string -> Prims.int -> unit) = - fun nm -> - fun ms -> - let uu____13133 = FStar_Util.smap_try_find primop_time_map nm in - match uu____13133 with - | FStar_Pervasives_Native.None -> + fun nm -> + fun ms -> + let uu____13143 = FStar_Util.smap_try_find primop_time_map nm in + match uu____13143 with + | FStar_Pervasives_Native.None -> FStar_Util.smap_add primop_time_map nm ms | FStar_Pervasives_Native.Some ms0 -> FStar_Util.smap_add primop_time_map nm (ms0 + ms) + let (fixto : Prims.int -> Prims.string -> Prims.string) = - fun n1 -> - fun s -> + fun n1 -> + fun s -> if (FStar_String.length s) < n1 then - let uu____13162 = FStar_String.make (n1 - (FStar_String.length s)) 32 in - FStar_String.op_Hat uu____13162 s + let uu____13172 = FStar_String.make (n1 - (FStar_String.length s)) 32 + in + FStar_String.op_Hat uu____13172 s else s + let (primop_time_report : unit -> Prims.string) = - fun uu____13173 -> + fun uu____13183 -> let pairs = FStar_Util.smap_fold primop_time_map - (fun nm -> fun ms -> fun rest -> (nm, ms) :: rest) [] in + (fun nm -> fun ms -> fun rest -> (nm, ms) :: rest) [] + in let pairs1 = FStar_Util.sort_with - (fun uu____13244 -> - fun uu____13245 -> - match (uu____13244, uu____13245) with - | ((uu____13271, t1), (uu____13273, t2)) -> t1 - t2) pairs in + (fun uu____13254 -> + fun uu____13255 -> + match (uu____13254, uu____13255) with + | ((uu____13281,t1),(uu____13283,t2)) -> t1 - t2) pairs + in FStar_List.fold_right - (fun uu____13307 -> - fun rest -> - match uu____13307 with - | (nm, ms) -> - let uu____13323 = - let uu____13325 = - let uu____13327 = FStar_Util.string_of_int ms in - fixto (Prims.parse_int "10") uu____13327 in - FStar_Util.format2 "%sms --- %s\n" uu____13325 nm in - FStar_String.op_Hat uu____13323 rest) pairs1 "" + (fun uu____13317 -> + fun rest -> + match uu____13317 with + | (nm,ms) -> + let uu____13333 = + let uu____13335 = + let uu____13337 = FStar_Util.string_of_int ms in + fixto (Prims.parse_int "10") uu____13337 in + FStar_Util.format2 "%sms --- %s\n" uu____13335 nm in + FStar_String.op_Hat uu____13333 rest) pairs1 "" + let (plugins : ((primitive_step -> unit) * (unit -> primitive_step Prims.list))) = - let plugins = FStar_Util.mk_ref [] in + let plugins = FStar_Util.mk_ref [] in let register p = - let uu____13358 = - let uu____13361 = FStar_ST.op_Bang plugins in p :: uu____13361 in - FStar_ST.op_Colon_Equals plugins uu____13358 in - let retrieve uu____13417 = FStar_ST.op_Bang plugins in (register, retrieve) + let uu____13368 = + let uu____13371 = FStar_ST.op_Bang plugins in p :: uu____13371 in + FStar_ST.op_Colon_Equals plugins uu____13368 in + let retrieve uu____13427 = FStar_ST.op_Bang plugins in + (register, retrieve) let (register_plugin : primitive_step -> unit) = - fun p -> FStar_Pervasives_Native.fst plugins p + fun p -> FStar_Pervasives_Native.fst plugins p let (retrieve_plugins : unit -> primitive_step Prims.list) = - fun uu____13470 -> - let uu____13471 = FStar_Options.no_plugins () in - if uu____13471 then [] else FStar_Pervasives_Native.snd plugins () + fun uu____13480 -> + let uu____13481 = FStar_Options.no_plugins () in + if uu____13481 then [] else FStar_Pervasives_Native.snd plugins () + let (add_nbe : fsteps -> fsteps) = - fun s -> - let uu____13492 = FStar_Options.use_nbe () in - if uu____13492 + fun s -> + let uu____13502 = FStar_Options.use_nbe () in + if uu____13502 then - let uu___947_13495 = s in + let uu___947_13505 = s in { - beta = (uu___947_13495.beta); - iota = (uu___947_13495.iota); - zeta = (uu___947_13495.zeta); - weak = (uu___947_13495.weak); - hnf = (uu___947_13495.hnf); - primops = (uu___947_13495.primops); - do_not_unfold_pure_lets = (uu___947_13495.do_not_unfold_pure_lets); - unfold_until = (uu___947_13495.unfold_until); - unfold_only = (uu___947_13495.unfold_only); - unfold_fully = (uu___947_13495.unfold_fully); - unfold_attr = (uu___947_13495.unfold_attr); - unfold_tac = (uu___947_13495.unfold_tac); + beta = (uu___947_13505.beta); + iota = (uu___947_13505.iota); + zeta = (uu___947_13505.zeta); + weak = (uu___947_13505.weak); + hnf = (uu___947_13505.hnf); + primops = (uu___947_13505.primops); + do_not_unfold_pure_lets = (uu___947_13505.do_not_unfold_pure_lets); + unfold_until = (uu___947_13505.unfold_until); + unfold_only = (uu___947_13505.unfold_only); + unfold_fully = (uu___947_13505.unfold_fully); + unfold_attr = (uu___947_13505.unfold_attr); + unfold_tac = (uu___947_13505.unfold_tac); pure_subterms_within_computations = - (uu___947_13495.pure_subterms_within_computations); - simplify = (uu___947_13495.simplify); - erase_universes = (uu___947_13495.erase_universes); - allow_unbound_universes = (uu___947_13495.allow_unbound_universes); - reify_ = (uu___947_13495.reify_); - compress_uvars = (uu___947_13495.compress_uvars); - no_full_norm = (uu___947_13495.no_full_norm); - check_no_uvars = (uu___947_13495.check_no_uvars); - unmeta = (uu___947_13495.unmeta); - unascribe = (uu___947_13495.unascribe); - in_full_norm_request = (uu___947_13495.in_full_norm_request); - weakly_reduce_scrutinee = (uu___947_13495.weakly_reduce_scrutinee); + (uu___947_13505.pure_subterms_within_computations); + simplify = (uu___947_13505.simplify); + erase_universes = (uu___947_13505.erase_universes); + allow_unbound_universes = (uu___947_13505.allow_unbound_universes); + reify_ = (uu___947_13505.reify_); + compress_uvars = (uu___947_13505.compress_uvars); + no_full_norm = (uu___947_13505.no_full_norm); + check_no_uvars = (uu___947_13505.check_no_uvars); + unmeta = (uu___947_13505.unmeta); + unascribe = (uu___947_13505.unascribe); + in_full_norm_request = (uu___947_13505.in_full_norm_request); + weakly_reduce_scrutinee = (uu___947_13505.weakly_reduce_scrutinee); nbe_step = true; - for_extraction = (uu___947_13495.for_extraction) + for_extraction = (uu___947_13505.for_extraction) } else s + let (config' : primitive_step Prims.list -> FStar_TypeChecker_Env.step Prims.list -> FStar_TypeChecker_Env.env -> cfg) = - fun psteps -> - fun s -> - fun e -> + fun psteps -> + fun s -> + fun e -> let d = FStar_All.pipe_right s (FStar_List.collect - (fun uu___0_13532 -> - match uu___0_13532 with + (fun uu___0_13542 -> + match uu___0_13542 with | FStar_TypeChecker_Env.UnfoldUntil k -> [FStar_TypeChecker_Env.Unfold k] - | FStar_TypeChecker_Env.Eager_unfolding -> + | FStar_TypeChecker_Env.Eager_unfolding -> [FStar_TypeChecker_Env.Eager_unfolding_only] - | FStar_TypeChecker_Env.Inlining -> + | FStar_TypeChecker_Env.Inlining -> [FStar_TypeChecker_Env.InliningDelta] - | uu____13536 -> [])) in + | uu____13546 -> [])) + in let d1 = match d with | [] -> [FStar_TypeChecker_Env.NoDelta] - | uu____13542 -> d in - let uu____13545 = - let uu____13546 = to_fsteps s in - FStar_All.pipe_right uu____13546 add_nbe in - let uu____13547 = - let uu____13548 = - FStar_TypeChecker_Env.debug e (FStar_Options.Other "Norm") in - let uu____13551 = - FStar_TypeChecker_Env.debug e (FStar_Options.Other "NormTop") in - let uu____13554 = - FStar_TypeChecker_Env.debug e (FStar_Options.Other "NormCfg") in - let uu____13557 = - FStar_TypeChecker_Env.debug e (FStar_Options.Other "Primops") in - let uu____13560 = - FStar_TypeChecker_Env.debug e (FStar_Options.Other "Unfolding") in - let uu____13563 = - FStar_TypeChecker_Env.debug e (FStar_Options.Other "380") in - let uu____13566 = - FStar_TypeChecker_Env.debug e (FStar_Options.Other "WPE") in - let uu____13569 = - FStar_TypeChecker_Env.debug e (FStar_Options.Other "NormDelayed") in - let uu____13572 = - FStar_TypeChecker_Env.debug e - (FStar_Options.Other "print_normalized_terms") in - { - gen = uu____13548; - top = uu____13551; - cfg = uu____13554; - primop = uu____13557; - unfolding = uu____13560; - b380 = uu____13563; - wpe = uu____13566; - norm_delayed = uu____13569; - print_normalized = uu____13572 - } in - let uu____13575 = - let uu____13578 = - let uu____13581 = retrieve_plugins () in - FStar_List.append uu____13581 psteps in - add_steps built_in_primitive_steps uu____13578 in - let uu____13584 = - (FStar_Options.normalize_pure_terms_for_extraction ()) || - (let uu____13587 = - FStar_All.pipe_right s - (FStar_Util.for_some - (FStar_TypeChecker_Env.eq_step - FStar_TypeChecker_Env.PureSubtermsWithinComputations)) in - Prims.op_Negation uu____13587) in + | uu____13552 -> d in + let steps = + let uu____13556 = to_fsteps s in + FStar_All.pipe_right uu____13556 add_nbe in + let uu____13557 = + let uu____13558 = FStar_Options.debug_any () in + if uu____13558 + then + let uu____13561 = + FStar_TypeChecker_Env.debug e (FStar_Options.Other "Norm") in + let uu____13564 = + FStar_TypeChecker_Env.debug e (FStar_Options.Other "NormTop") + in + let uu____13567 = + FStar_TypeChecker_Env.debug e (FStar_Options.Other "NormCfg") + in + let uu____13570 = + FStar_TypeChecker_Env.debug e (FStar_Options.Other "Primops") + in + let uu____13573 = + FStar_TypeChecker_Env.debug e (FStar_Options.Other "Unfolding") + in + let uu____13576 = + FStar_TypeChecker_Env.debug e (FStar_Options.Other "380") in + let uu____13579 = + FStar_TypeChecker_Env.debug e (FStar_Options.Other "WPE") in + let uu____13582 = + FStar_TypeChecker_Env.debug e + (FStar_Options.Other "NormDelayed") + in + let uu____13585 = + FStar_TypeChecker_Env.debug e + (FStar_Options.Other "print_normalized_terms") + in + { + gen = uu____13561; + top = uu____13564; + cfg = uu____13567; + primop = uu____13570; + unfolding = uu____13573; + b380 = uu____13576; + wpe = uu____13579; + norm_delayed = uu____13582; + print_normalized = uu____13585 + } + else no_debug_switches in + let uu____13590 = + let uu____13593 = + let uu____13596 = retrieve_plugins () in + FStar_List.append uu____13596 psteps in + add_steps built_in_primitive_steps uu____13593 in + let uu____13599 = + (Prims.op_Negation steps.pure_subterms_within_computations) || + (FStar_Options.normalize_pure_terms_for_extraction ()) + in { - steps = uu____13545; + steps; tcenv = e; - debug = uu____13547; + debug = uu____13557; delta_level = d1; - primitive_steps = uu____13575; + primitive_steps = uu____13590; strong = false; memoize_lazy = true; - normalize_pure_lets = uu____13584; + normalize_pure_lets = uu____13599; reifying = false } + let (config : FStar_TypeChecker_Env.step Prims.list -> FStar_TypeChecker_Env.env -> cfg) - = fun s -> fun e -> config' [] s e \ No newline at end of file + = fun s -> fun e -> config' [] s e \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_Common.ml b/src/ocaml-output/FStar_TypeChecker_Common.ml index 8cd96993795..b1cb6fc585e 100644 --- a/src/ocaml-output/FStar_TypeChecker_Common.ml +++ b/src/ocaml-output/FStar_TypeChecker_Common.ml @@ -4,11 +4,13 @@ type rel = | SUB | SUBINV let (uu___is_EQ : rel -> Prims.bool) = - fun projectee -> match projectee with | EQ -> true | uu____25 -> false + fun projectee -> match projectee with | EQ -> true | uu____25 -> false let (uu___is_SUB : rel -> Prims.bool) = - fun projectee -> match projectee with | SUB -> true | uu____36 -> false + fun projectee -> match projectee with | SUB -> true | uu____36 -> false let (uu___is_SUBINV : rel -> Prims.bool) = - fun projectee -> match projectee with | SUBINV -> true | uu____47 -> false + fun projectee -> + match projectee with | SUBINV -> true | uu____47 -> false + type rank_t = | Rigid_rigid | Flex_rigid_eq @@ -17,23 +19,29 @@ type rank_t = | Rigid_flex | Flex_flex let (uu___is_Rigid_rigid : rank_t -> Prims.bool) = - fun projectee -> - match projectee with | Rigid_rigid -> true | uu____58 -> false + fun projectee -> + match projectee with | Rigid_rigid -> true | uu____58 -> false + let (uu___is_Flex_rigid_eq : rank_t -> Prims.bool) = - fun projectee -> - match projectee with | Flex_rigid_eq -> true | uu____69 -> false + fun projectee -> + match projectee with | Flex_rigid_eq -> true | uu____69 -> false + let (uu___is_Flex_flex_pattern_eq : rank_t -> Prims.bool) = - fun projectee -> - match projectee with | Flex_flex_pattern_eq -> true | uu____80 -> false + fun projectee -> + match projectee with | Flex_flex_pattern_eq -> true | uu____80 -> false + let (uu___is_Flex_rigid : rank_t -> Prims.bool) = - fun projectee -> - match projectee with | Flex_rigid -> true | uu____91 -> false + fun projectee -> + match projectee with | Flex_rigid -> true | uu____91 -> false + let (uu___is_Rigid_flex : rank_t -> Prims.bool) = - fun projectee -> - match projectee with | Rigid_flex -> true | uu____102 -> false + fun projectee -> + match projectee with | Rigid_flex -> true | uu____102 -> false + let (uu___is_Flex_flex : rank_t -> Prims.bool) = - fun projectee -> - match projectee with | Flex_flex -> true | uu____113 -> false + fun projectee -> + match projectee with | Flex_flex -> true | uu____113 -> false + type 'a problem = { pid: Prims.int ; @@ -47,91 +55,106 @@ type 'a problem = loc: FStar_Range.range ; rank: rank_t FStar_Pervasives_Native.option } let __proj__Mkproblem__item__pid : 'a . 'a problem -> Prims.int = - fun projectee -> + fun projectee -> match projectee with | { pid; lhs; relation; rhs; element; logical_guard; logical_guard_uvar; reason; loc; rank;_} -> pid + let __proj__Mkproblem__item__lhs : 'a . 'a problem -> 'a = - fun projectee -> + fun projectee -> match projectee with | { pid; lhs; relation; rhs; element; logical_guard; logical_guard_uvar; reason; loc; rank;_} -> lhs + let __proj__Mkproblem__item__relation : 'a . 'a problem -> rel = - fun projectee -> + fun projectee -> match projectee with | { pid; lhs; relation; rhs; element; logical_guard; logical_guard_uvar; reason; loc; rank;_} -> relation + let __proj__Mkproblem__item__rhs : 'a . 'a problem -> 'a = - fun projectee -> + fun projectee -> match projectee with | { pid; lhs; relation; rhs; element; logical_guard; logical_guard_uvar; reason; loc; rank;_} -> rhs + let __proj__Mkproblem__item__element : 'a . 'a problem -> FStar_Syntax_Syntax.bv FStar_Pervasives_Native.option = - fun projectee -> + fun projectee -> match projectee with | { pid; lhs; relation; rhs; element; logical_guard; logical_guard_uvar; reason; loc; rank;_} -> element + let __proj__Mkproblem__item__logical_guard : 'a . 'a problem -> FStar_Syntax_Syntax.term = - fun projectee -> + fun projectee -> match projectee with | { pid; lhs; relation; rhs; element; logical_guard; logical_guard_uvar; reason; loc; rank;_} -> logical_guard + let __proj__Mkproblem__item__logical_guard_uvar : 'a . 'a problem -> FStar_Syntax_Syntax.ctx_uvar = - fun projectee -> + fun projectee -> match projectee with | { pid; lhs; relation; rhs; element; logical_guard; logical_guard_uvar; reason; loc; rank;_} -> logical_guard_uvar + let __proj__Mkproblem__item__reason : 'a . 'a problem -> Prims.string Prims.list = - fun projectee -> + fun projectee -> match projectee with | { pid; lhs; relation; rhs; element; logical_guard; logical_guard_uvar; reason; loc; rank;_} -> reason + let __proj__Mkproblem__item__loc : 'a . 'a problem -> FStar_Range.range = - fun projectee -> + fun projectee -> match projectee with | { pid; lhs; relation; rhs; element; logical_guard; logical_guard_uvar; reason; loc; rank;_} -> loc + let __proj__Mkproblem__item__rank : 'a . 'a problem -> rank_t FStar_Pervasives_Native.option = - fun projectee -> + fun projectee -> match projectee with | { pid; lhs; relation; rhs; element; logical_guard; logical_guard_uvar; reason; loc; rank;_} -> rank + type prob = | TProb of FStar_Syntax_Syntax.typ problem | CProb of FStar_Syntax_Syntax.comp problem let (uu___is_TProb : prob -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | TProb _0 -> true | uu____541 -> false + let (__proj__TProb__item___0 : prob -> FStar_Syntax_Syntax.typ problem) = - fun projectee -> match projectee with | TProb _0 -> _0 + fun projectee -> match projectee with | TProb _0 -> _0 let (uu___is_CProb : prob -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | CProb _0 -> true | uu____568 -> false + let (__proj__CProb__item___0 : prob -> FStar_Syntax_Syntax.comp problem) = - fun projectee -> match projectee with | CProb _0 -> _0 + fun projectee -> match projectee with | CProb _0 -> _0 let (as_tprob : prob -> FStar_Syntax_Syntax.typ problem) = - fun uu___0_590 -> + fun uu___0_590 -> match uu___0_590 with | TProb p -> p | uu____596 -> failwith "Expected a TProb" + type probs = prob Prims.list type guard_formula = | Trivial | NonTrivial of FStar_Syntax_Syntax.formula let (uu___is_Trivial : guard_formula -> Prims.bool) = - fun projectee -> - match projectee with | Trivial -> true | uu____616 -> false + fun projectee -> + match projectee with | Trivial -> true | uu____616 -> false + let (uu___is_NonTrivial : guard_formula -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | NonTrivial _0 -> true | uu____628 -> false + let (__proj__NonTrivial__item___0 : guard_formula -> FStar_Syntax_Syntax.formula) = - fun projectee -> match projectee with | NonTrivial _0 -> _0 + fun projectee -> match projectee with | NonTrivial _0 -> _0 type deferred = (Prims.string * prob) Prims.list type univ_ineq = (FStar_Syntax_Syntax.universe * FStar_Syntax_Syntax.universe) @@ -139,53 +162,53 @@ let (mk_by_tactic : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun tac -> - fun f -> + fun tac -> + fun f -> let t_by_tactic = let uu____660 = - FStar_Syntax_Syntax.tabbrev FStar_Parser_Const.by_tactic_lid in + FStar_Syntax_Syntax.tabbrev FStar_Parser_Const.by_tactic_lid in FStar_Syntax_Syntax.mk_Tm_uinst uu____660 - [FStar_Syntax_Syntax.U_zero] in + [FStar_Syntax_Syntax.U_zero] + in let uu____661 = let uu____666 = - let uu____667 = FStar_Syntax_Syntax.iarg FStar_Syntax_Syntax.t_unit in + let uu____667 = FStar_Syntax_Syntax.as_arg tac in let uu____676 = - let uu____687 = FStar_Syntax_Syntax.as_arg tac in - let uu____696 = - let uu____707 = FStar_Syntax_Syntax.as_arg f in [uu____707] in - uu____687 :: uu____696 in - uu____667 :: uu____676 in - FStar_Syntax_Syntax.mk_Tm_app t_by_tactic uu____666 in + let uu____687 = FStar_Syntax_Syntax.as_arg f in [uu____687] in + uu____667 :: uu____676 in + FStar_Syntax_Syntax.mk_Tm_app t_by_tactic uu____666 in uu____661 FStar_Pervasives_Native.None FStar_Range.dummyRange + let rec (delta_depth_greater_than : FStar_Syntax_Syntax.delta_depth -> FStar_Syntax_Syntax.delta_depth -> Prims.bool) = - fun l -> - fun m -> + fun l -> + fun m -> match (l, m) with - | (FStar_Syntax_Syntax.Delta_equational_at_level i, - FStar_Syntax_Syntax.Delta_equational_at_level j) -> i > j - | (FStar_Syntax_Syntax.Delta_constant_at_level i, - FStar_Syntax_Syntax.Delta_constant_at_level j) -> i > j - | (FStar_Syntax_Syntax.Delta_abstract d, uu____770) -> + | (FStar_Syntax_Syntax.Delta_equational_at_level + i,FStar_Syntax_Syntax.Delta_equational_at_level j) -> i > j + | (FStar_Syntax_Syntax.Delta_constant_at_level + i,FStar_Syntax_Syntax.Delta_constant_at_level j) -> i > j + | (FStar_Syntax_Syntax.Delta_abstract d,uu____742) -> delta_depth_greater_than d m - | (uu____771, FStar_Syntax_Syntax.Delta_abstract d) -> + | (uu____743,FStar_Syntax_Syntax.Delta_abstract d) -> delta_depth_greater_than l d - | (FStar_Syntax_Syntax.Delta_equational_at_level uu____773, uu____774) + | (FStar_Syntax_Syntax.Delta_equational_at_level uu____745,uu____746) -> true - | (uu____777, FStar_Syntax_Syntax.Delta_equational_at_level uu____778) + | (uu____749,FStar_Syntax_Syntax.Delta_equational_at_level uu____750) -> false + let rec (decr_delta_depth : FStar_Syntax_Syntax.delta_depth -> FStar_Syntax_Syntax.delta_depth FStar_Pervasives_Native.option) = - fun uu___1_788 -> - match uu___1_788 with - | FStar_Syntax_Syntax.Delta_constant_at_level _791 when - _791 = (Prims.parse_int "0") -> FStar_Pervasives_Native.None - | FStar_Syntax_Syntax.Delta_equational_at_level _792 when - _792 = (Prims.parse_int "0") -> FStar_Pervasives_Native.None + fun uu___1_760 -> + match uu___1_760 with + | FStar_Syntax_Syntax.Delta_constant_at_level _763 when + _763 = (Prims.parse_int "0") -> FStar_Pervasives_Native.None + | FStar_Syntax_Syntax.Delta_equational_at_level _764 when + _764 = (Prims.parse_int "0") -> FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Delta_constant_at_level i -> FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Delta_constant_at_level @@ -195,63 +218,71 @@ let rec (decr_delta_depth : (FStar_Syntax_Syntax.Delta_equational_at_level (i - (Prims.parse_int "1"))) | FStar_Syntax_Syntax.Delta_abstract d -> decr_delta_depth d + type identifier_info = { identifier: - (FStar_Syntax_Syntax.bv, FStar_Syntax_Syntax.fv) FStar_Util.either ; + (FStar_Syntax_Syntax.bv,FStar_Syntax_Syntax.fv) FStar_Util.either ; identifier_ty: FStar_Syntax_Syntax.typ ; identifier_range: FStar_Range.range } let (__proj__Mkidentifier_info__item__identifier : identifier_info -> - (FStar_Syntax_Syntax.bv, FStar_Syntax_Syntax.fv) FStar_Util.either) + (FStar_Syntax_Syntax.bv,FStar_Syntax_Syntax.fv) FStar_Util.either) = - fun projectee -> + fun projectee -> match projectee with | { identifier; identifier_ty; identifier_range;_} -> identifier + let (__proj__Mkidentifier_info__item__identifier_ty : identifier_info -> FStar_Syntax_Syntax.typ) = - fun projectee -> + fun projectee -> match projectee with | { identifier; identifier_ty; identifier_range;_} -> identifier_ty + let (__proj__Mkidentifier_info__item__identifier_range : identifier_info -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { identifier; identifier_ty; identifier_range;_} -> identifier_range + let (insert_col_info : Prims.int -> identifier_info -> (Prims.int * identifier_info) Prims.list -> (Prims.int * identifier_info) Prims.list) = - fun col -> - fun info -> - fun col_infos -> + fun col -> + fun info -> + fun col_infos -> let rec __insert aux rest = match rest with | [] -> (aux, [(col, info)]) - | (c, i)::rest' -> + | (c,i)::rest' -> if col < c then (aux, ((col, info) :: rest)) - else __insert ((c, i) :: aux) rest' in - let uu____1074 = __insert [] col_infos in - match uu____1074 with - | (l, r) -> FStar_List.append (FStar_List.rev l) r + else __insert ((c, i) :: aux) rest' + in + let uu____1046 = __insert [] col_infos in + match uu____1046 with + | (l,r) -> FStar_List.append (FStar_List.rev l) r + let (find_nearest_preceding_col_info : Prims.int -> (Prims.int * identifier_info) Prims.list -> identifier_info FStar_Pervasives_Native.option) = - fun col -> - fun col_infos -> - let rec aux out uu___2_1195 = - match uu___2_1195 with + fun col -> + fun col_infos -> + let rec aux out uu___2_1167 = + match uu___2_1167 with | [] -> out - | (c, i)::rest -> + | (c,i)::rest -> if c > col then out - else aux (FStar_Pervasives_Native.Some i) rest in + else aux (FStar_Pervasives_Native.Some i) rest + in aux FStar_Pervasives_Native.None col_infos + type id_info_by_col = (Prims.int * identifier_info) Prims.list type col_info_by_row = id_info_by_col FStar_Util.pimap type row_info_by_file = col_info_by_row FStar_Util.psmap @@ -262,22 +293,25 @@ type id_info_table = id_info_buffer: identifier_info Prims.list } let (__proj__Mkid_info_table__item__id_info_enabled : id_info_table -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { id_info_enabled; id_info_db; id_info_buffer;_} -> id_info_enabled + let (__proj__Mkid_info_table__item__id_info_db : id_info_table -> row_info_by_file) = - fun projectee -> + fun projectee -> match projectee with | { id_info_enabled; id_info_db; id_info_buffer;_} -> id_info_db + let (__proj__Mkid_info_table__item__id_info_buffer : id_info_table -> identifier_info Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { id_info_enabled; id_info_db; id_info_buffer;_} -> id_info_buffer + let (id_info_table_empty : id_info_table) = - let uu____1306 = FStar_Util.psmap_empty () in - { id_info_enabled = false; id_info_db = uu____1306; id_info_buffer = [] } + let uu____1278 = FStar_Util.psmap_empty () in + { id_info_enabled = false; id_info_db = uu____1278; id_info_buffer = [] } let (id_info__insert : (FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) -> (Prims.int * identifier_info) Prims.list FStar_Util.pimap @@ -286,186 +320,201 @@ let (id_info__insert : (Prims.int * identifier_info) Prims.list FStar_Util.pimap FStar_Util.psmap) = - fun ty_map -> - fun db -> - fun info -> - let range = info.identifier_range in + fun ty_map -> + fun db -> + fun info -> + let range = info.identifier_range in let use_range1 = - let uu____1364 = FStar_Range.use_range range in - FStar_Range.set_def_range range uu____1364 in + let uu____1336 = FStar_Range.use_range range in + FStar_Range.set_def_range range uu____1336 in let info1 = - let uu___139_1366 = info in - let uu____1367 = ty_map info.identifier_ty in + let uu___139_1338 = info in + let uu____1339 = ty_map info.identifier_ty in { - identifier = (uu___139_1366.identifier); - identifier_ty = uu____1367; + identifier = (uu___139_1338.identifier); + identifier_ty = uu____1339; identifier_range = use_range1 - } in - let fn = FStar_Range.file_of_range use_range1 in - let start = FStar_Range.start_of_range use_range1 in - let uu____1371 = - let uu____1378 = FStar_Range.line_of_pos start in - let uu____1380 = FStar_Range.col_of_pos start in - (uu____1378, uu____1380) in - match uu____1371 with - | (row, col) -> + } in + let fn = FStar_Range.file_of_range use_range1 in + let start = FStar_Range.start_of_range use_range1 in + let uu____1343 = + let uu____1350 = FStar_Range.line_of_pos start in + let uu____1352 = FStar_Range.col_of_pos start in + (uu____1350, uu____1352) in + match uu____1343 with + | (row,col) -> let rows = - let uu____1411 = FStar_Util.pimap_empty () in - FStar_Util.psmap_find_default db fn uu____1411 in - let cols = FStar_Util.pimap_find_default rows row [] in - let uu____1457 = - let uu____1467 = insert_col_info col info1 cols in - FStar_All.pipe_right uu____1467 (FStar_Util.pimap_add rows row) in - FStar_All.pipe_right uu____1457 (FStar_Util.psmap_add db fn) + let uu____1383 = FStar_Util.pimap_empty () in + FStar_Util.psmap_find_default db fn uu____1383 in + let cols = FStar_Util.pimap_find_default rows row [] in + let uu____1429 = + let uu____1439 = insert_col_info col info1 cols in + FStar_All.pipe_right uu____1439 (FStar_Util.pimap_add rows row) + in + FStar_All.pipe_right uu____1429 (FStar_Util.psmap_add db fn) + let (id_info_insert : id_info_table -> - (FStar_Syntax_Syntax.bv, FStar_Syntax_Syntax.fv) FStar_Util.either -> + (FStar_Syntax_Syntax.bv,FStar_Syntax_Syntax.fv) FStar_Util.either -> FStar_Syntax_Syntax.typ -> FStar_Range.range -> id_info_table) = - fun table -> - fun id1 -> - fun ty -> - fun range -> + fun table -> + fun id1 -> + fun ty -> + fun range -> let info = { identifier = id1; identifier_ty = ty; identifier_range = range - } in - let uu___154_1557 = table in + } in + let uu___154_1529 = table in { - id_info_enabled = (uu___154_1557.id_info_enabled); - id_info_db = (uu___154_1557.id_info_db); + id_info_enabled = (uu___154_1529.id_info_enabled); + id_info_db = (uu___154_1529.id_info_db); id_info_buffer = (info :: (table.id_info_buffer)) } + let (id_info_insert_bv : id_info_table -> FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.typ -> id_info_table) = - fun table -> - fun bv -> - fun ty -> + fun table -> + fun bv -> + fun ty -> if table.id_info_enabled then - let uu____1575 = FStar_Syntax_Syntax.range_of_bv bv in - id_info_insert table (FStar_Util.Inl bv) ty uu____1575 + let uu____1547 = FStar_Syntax_Syntax.range_of_bv bv in + id_info_insert table (FStar_Util.Inl bv) ty uu____1547 else table + let (id_info_insert_fv : id_info_table -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.typ -> id_info_table) = - fun table -> - fun fv -> - fun ty -> + fun table -> + fun fv -> + fun ty -> if table.id_info_enabled then - let uu____1595 = FStar_Syntax_Syntax.range_of_fv fv in - id_info_insert table (FStar_Util.Inr fv) ty uu____1595 + let uu____1567 = FStar_Syntax_Syntax.range_of_fv fv in + id_info_insert table (FStar_Util.Inr fv) ty uu____1567 else table + let (id_info_toggle : id_info_table -> Prims.bool -> id_info_table) = - fun table -> - fun enabled -> - let uu___166_1611 = table in + fun table -> + fun enabled -> + let uu___166_1583 = table in { id_info_enabled = enabled; - id_info_db = (uu___166_1611.id_info_db); - id_info_buffer = (uu___166_1611.id_info_buffer) + id_info_db = (uu___166_1583.id_info_db); + id_info_buffer = (uu___166_1583.id_info_buffer) } + let (id_info_promote : id_info_table -> (FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) -> id_info_table) = - fun table -> - fun ty_map -> - let uu___170_1628 = table in - let uu____1629 = + fun table -> + fun ty_map -> + let uu___170_1600 = table in + let uu____1601 = FStar_List.fold_left (id_info__insert ty_map) table.id_info_db - table.id_info_buffer in + table.id_info_buffer + in { - id_info_enabled = (uu___170_1628.id_info_enabled); - id_info_db = uu____1629; + id_info_enabled = (uu___170_1600.id_info_enabled); + id_info_db = uu____1601; id_info_buffer = [] } + let (id_info_at_pos : id_info_table -> Prims.string -> Prims.int -> Prims.int -> identifier_info FStar_Pervasives_Native.option) = - fun table -> - fun fn -> - fun row -> - fun col -> + fun table -> + fun fn -> + fun row -> + fun col -> let rows = - let uu____1673 = FStar_Util.pimap_empty () in - FStar_Util.psmap_find_default table.id_info_db fn uu____1673 in - let cols = FStar_Util.pimap_find_default rows row [] in - let uu____1680 = find_nearest_preceding_col_info col cols in - match uu____1680 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + let uu____1645 = FStar_Util.pimap_empty () in + FStar_Util.psmap_find_default table.id_info_db fn uu____1645 in + let cols = FStar_Util.pimap_find_default rows row [] in + let uu____1652 = find_nearest_preceding_col_info col cols in + match uu____1652 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some info -> let last_col = - let uu____1688 = - FStar_Range.end_of_range info.identifier_range in - FStar_Range.col_of_pos uu____1688 in + let uu____1660 = + FStar_Range.end_of_range info.identifier_range in + FStar_Range.col_of_pos uu____1660 in if col <= last_col then FStar_Pervasives_Native.Some info else FStar_Pervasives_Native.None + let (check_uvar_ctx_invariant : Prims.string -> FStar_Range.range -> Prims.bool -> FStar_Syntax_Syntax.gamma -> FStar_Syntax_Syntax.binders -> unit) = - fun reason -> - fun r -> - fun should_check -> - fun g -> - fun bs -> + fun reason -> + fun r -> + fun should_check -> + fun g -> + fun bs -> let print_gamma gamma = - let uu____1735 = + let uu____1707 = FStar_All.pipe_right gamma (FStar_List.map - (fun uu___3_1748 -> - match uu___3_1748 with + (fun uu___3_1720 -> + match uu___3_1720 with | FStar_Syntax_Syntax.Binding_var x -> - let uu____1751 = - FStar_Syntax_Print.bv_to_string x in - Prims.op_Hat "Binding_var " uu____1751 + let uu____1723 = + FStar_Syntax_Print.bv_to_string x in + Prims.op_Hat "Binding_var " uu____1723 | FStar_Syntax_Syntax.Binding_univ u -> Prims.op_Hat "Binding_univ " u.FStar_Ident.idText - | FStar_Syntax_Syntax.Binding_lid (l, uu____1757) -> - let uu____1774 = FStar_Ident.string_of_lid l in - Prims.op_Hat "Binding_lid " uu____1774)) in - FStar_All.pipe_right uu____1735 (FStar_String.concat "::\n") in - let fail1 uu____1787 = - let uu____1788 = - let uu____1790 = FStar_Range.string_of_range r in - let uu____1792 = print_gamma g in - let uu____1794 = FStar_Syntax_Print.binders_to_string ", " bs in + | FStar_Syntax_Syntax.Binding_lid (l,uu____1729) -> + let uu____1746 = FStar_Ident.string_of_lid l in + Prims.op_Hat "Binding_lid " uu____1746)) + in + FStar_All.pipe_right uu____1707 (FStar_String.concat "::\n") + in + let fail1 uu____1759 = + let uu____1760 = + let uu____1762 = FStar_Range.string_of_range r in + let uu____1764 = print_gamma g in + let uu____1766 = FStar_Syntax_Print.binders_to_string ", " bs + in FStar_Util.format5 "Invariant violation: gamma and binders are out of sync\n\treason=%s, range=%s, should_check=%s\n\t\n gamma=%s\n\tbinders=%s\n" - reason uu____1790 - (if should_check then "true" else "false") uu____1792 - uu____1794 in - failwith uu____1788 in + reason uu____1762 + (if should_check then "true" else "false") uu____1764 + uu____1766 + in + failwith uu____1760 in if Prims.op_Negation should_check then () else - (let uu____1807 = - let uu____1832 = + (let uu____1779 = + let uu____1804 = FStar_Util.prefix_until - (fun uu___4_1847 -> - match uu___4_1847 with - | FStar_Syntax_Syntax.Binding_var uu____1849 -> true - | uu____1851 -> false) g in - (uu____1832, bs) in - match uu____1807 with - | (FStar_Pervasives_Native.None, []) -> () - | (FStar_Pervasives_Native.Some (uu____1909, hd1, gamma_tail), - uu____1912::uu____1913) -> - let uu____1972 = FStar_Util.prefix bs in - (match uu____1972 with - | (uu____1997, (x, uu____1999)) -> + (fun uu___4_1819 -> + match uu___4_1819 with + | FStar_Syntax_Syntax.Binding_var uu____1821 -> true + | uu____1823 -> false) g + in + (uu____1804, bs) in + match uu____1779 with + | (FStar_Pervasives_Native.None ,[]) -> () + | (FStar_Pervasives_Native.Some + (uu____1881,hd1,gamma_tail),uu____1884::uu____1885) -> + let uu____1944 = FStar_Util.prefix bs in + (match uu____1944 with + | (uu____1969,(x,uu____1971)) -> (match hd1 with | FStar_Syntax_Syntax.Binding_var x' when FStar_Syntax_Syntax.bv_eq x x' -> () - | uu____2027 -> fail1 ())) - | uu____2028 -> fail1 ()) \ No newline at end of file + | uu____1999 -> fail1 ())) + | uu____2000 -> fail1 ()) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_DMFF.ml b/src/ocaml-output/FStar_TypeChecker_DMFF.ml index 8533890a17d..ec71d9077c0 100644 --- a/src/ocaml-output/FStar_TypeChecker_DMFF.ml +++ b/src/ocaml-output/FStar_TypeChecker_DMFF.ml @@ -5,20 +5,23 @@ type env = subst: FStar_Syntax_Syntax.subst_elt Prims.list ; tc_const: FStar_Const.sconst -> FStar_Syntax_Syntax.typ } let (__proj__Mkenv__item__tcenv : env -> FStar_TypeChecker_Env.env) = - fun projectee -> + fun projectee -> match projectee with | { tcenv; subst = subst1; tc_const;_} -> tcenv + let (__proj__Mkenv__item__subst : env -> FStar_Syntax_Syntax.subst_elt Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { tcenv; subst = subst1; tc_const;_} -> subst1 + let (__proj__Mkenv__item__tc_const : env -> FStar_Const.sconst -> FStar_Syntax_Syntax.typ) = - fun projectee -> + fun projectee -> match projectee with | { tcenv; subst = subst1; tc_const;_} -> tc_const + let (empty : FStar_TypeChecker_Env.env -> (FStar_Const.sconst -> FStar_Syntax_Syntax.typ) -> env) - = fun env -> fun tc_const -> { tcenv = env; subst = []; tc_const } + = fun env -> fun tc_const -> { tcenv = env; subst = []; tc_const } let (gen_wps_for_free : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.binders -> @@ -27,202 +30,229 @@ let (gen_wps_for_free : FStar_Syntax_Syntax.eff_decl -> (FStar_Syntax_Syntax.sigelts * FStar_Syntax_Syntax.eff_decl)) = - fun env -> - fun binders -> - fun a -> - fun wp_a -> - fun ed -> + fun env -> + fun binders -> + fun a -> + fun wp_a -> + fun ed -> let wp_a1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.EraseUniverses] env wp_a in + FStar_TypeChecker_Env.EraseUniverses] env wp_a + in let a1 = - let uu___28_129 = a in + let uu___28_129 = a in let uu____130 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.EraseUniverses] env - a.FStar_Syntax_Syntax.sort in + a.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = (uu___28_129.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___28_129.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____130 - } in - let d s = FStar_Util.print1 "\027[01;36m%s\027[00m\n" s in + } in + let d s = FStar_Util.print1 "\027[01;36m%s\027[00m\n" s in (let uu____143 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "ED") in + FStar_TypeChecker_Env.debug env (FStar_Options.Other "ED") in if uu____143 then (d "Elaborating extra WP combinators"; - (let uu____149 = FStar_Syntax_Print.term_to_string wp_a1 in + (let uu____149 = FStar_Syntax_Print.term_to_string wp_a1 in FStar_Util.print1 "wp_a is: %s\n" uu____149)) else ()); (let rec collect_binders t = let uu____168 = let uu____169 = - let uu____172 = FStar_Syntax_Subst.compress t in - FStar_All.pipe_left FStar_Syntax_Util.unascribe uu____172 in - uu____169.FStar_Syntax_Syntax.n in + let uu____172 = FStar_Syntax_Subst.compress t in + FStar_All.pipe_left FStar_Syntax_Util.unascribe uu____172 + in + uu____169.FStar_Syntax_Syntax.n in match uu____168 with - | FStar_Syntax_Syntax.Tm_arrow (bs, comp) -> + | FStar_Syntax_Syntax.Tm_arrow (bs,comp) -> let rest = match comp.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t1, uu____207) -> t1 - | uu____216 -> failwith "wp_a contains non-Tot arrow" in - let uu____218 = collect_binders rest in + | FStar_Syntax_Syntax.Total (t1,uu____207) -> t1 + | uu____216 -> failwith "wp_a contains non-Tot arrow" + in + let uu____218 = collect_binders rest in FStar_List.append bs uu____218 | FStar_Syntax_Syntax.Tm_type uu____233 -> [] - | uu____240 -> failwith "wp_a doesn't end in Type0" in - let mk_lid name = FStar_Syntax_Util.dm4f_lid ed name in + | uu____240 -> failwith "wp_a doesn't end in Type0" in + let mk_lid name = FStar_Syntax_Util.dm4f_lid ed name in let gamma = - let uu____267 = collect_binders wp_a1 in - FStar_All.pipe_right uu____267 FStar_Syntax_Util.name_binders in + let uu____267 = collect_binders wp_a1 in + FStar_All.pipe_right uu____267 FStar_Syntax_Util.name_binders + in (let uu____293 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "ED") in + FStar_TypeChecker_Env.debug env (FStar_Options.Other "ED") + in if uu____293 then let uu____297 = let uu____299 = - FStar_Syntax_Print.binders_to_string ", " gamma in - FStar_Util.format1 "Gamma is %s\n" uu____299 in + FStar_Syntax_Print.binders_to_string ", " gamma in + FStar_Util.format1 "Gamma is %s\n" uu____299 in d uu____297 else ()); - (let unknown = FStar_Syntax_Syntax.tun in + (let unknown = FStar_Syntax_Syntax.tun in let mk1 x = FStar_Syntax_Syntax.mk x FStar_Pervasives_Native.None - FStar_Range.dummyRange in - let sigelts = FStar_Util.mk_ref [] in + FStar_Range.dummyRange + in + let sigelts = FStar_Util.mk_ref [] in let register env1 lident def = let uu____337 = FStar_TypeChecker_Util.mk_toplevel_definition env1 lident - def in + def + in match uu____337 with - | (sigelt, fv) -> + | (sigelt,fv) -> ((let uu____345 = - let uu____348 = FStar_ST.op_Bang sigelts in sigelt :: - uu____348 in + let uu____348 = FStar_ST.op_Bang sigelts in sigelt + :: uu____348 + in FStar_ST.op_Colon_Equals sigelts uu____345); - fv) in + fv) + in let binders_of_list1 = FStar_List.map - (fun uu____428 -> + (fun uu____428 -> match uu____428 with - | (t, b) -> - let uu____442 = FStar_Syntax_Syntax.as_implicit b in - (t, uu____442)) in + | (t,b) -> + let uu____442 = FStar_Syntax_Syntax.as_implicit b + in + (t, uu____442)) + in let mk_all_implicit = FStar_List.map - (fun t -> - let uu____481 = FStar_Syntax_Syntax.as_implicit true in - ((FStar_Pervasives_Native.fst t), uu____481)) in + (fun t -> + let uu____481 = FStar_Syntax_Syntax.as_implicit true in + ((FStar_Pervasives_Native.fst t), uu____481)) + in let args_of_binders1 = FStar_List.map - (fun bv -> + (fun bv -> let uu____515 = FStar_Syntax_Syntax.bv_to_name - (FStar_Pervasives_Native.fst bv) in - FStar_Syntax_Syntax.as_arg uu____515) in + (FStar_Pervasives_Native.fst bv) + in + FStar_Syntax_Syntax.as_arg uu____515) + in let uu____518 = let uu____535 = let mk2 f = let t = FStar_Syntax_Syntax.gen_bv "t" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let body = let uu____560 = - let uu____563 = FStar_Syntax_Syntax.bv_to_name t in - f uu____563 in - FStar_Syntax_Util.arrow gamma uu____560 in + let uu____563 = FStar_Syntax_Syntax.bv_to_name t in + f uu____563 in + FStar_Syntax_Util.arrow gamma uu____560 in let uu____564 = let uu____565 = - let uu____574 = FStar_Syntax_Syntax.mk_binder a1 in + let uu____574 = FStar_Syntax_Syntax.mk_binder a1 in let uu____581 = - let uu____590 = FStar_Syntax_Syntax.mk_binder t in - [uu____590] in - uu____574 :: uu____581 in - FStar_List.append binders uu____565 in + let uu____590 = FStar_Syntax_Syntax.mk_binder t in + [uu____590] in + uu____574 :: uu____581 in + FStar_List.append binders uu____565 in FStar_Syntax_Util.abs uu____564 body - FStar_Pervasives_Native.None in - let uu____621 = mk2 FStar_Syntax_Syntax.mk_Total in - let uu____622 = mk2 FStar_Syntax_Syntax.mk_GTotal in - (uu____621, uu____622) in + FStar_Pervasives_Native.None + in + let uu____621 = mk2 FStar_Syntax_Syntax.mk_Total in + let uu____622 = mk2 FStar_Syntax_Syntax.mk_GTotal in + (uu____621, uu____622) in match uu____535 with - | (ctx_def, gctx_def) -> - let ctx_lid = mk_lid "ctx" in - let ctx_fv = register env ctx_lid ctx_def in - let gctx_lid = mk_lid "gctx" in - let gctx_fv = register env gctx_lid gctx_def in + | (ctx_def,gctx_def) -> + let ctx_lid = mk_lid "ctx" in + let ctx_fv = register env ctx_lid ctx_def in + let gctx_lid = mk_lid "gctx" in + let gctx_fv = register env gctx_lid gctx_def in let mk_app1 fv t = let uu____664 = let uu____665 = let uu____682 = let uu____693 = FStar_List.map - (fun uu____715 -> + (fun uu____715 -> match uu____715 with - | (bv, uu____727) -> + | (bv,uu____727) -> let uu____732 = - FStar_Syntax_Syntax.bv_to_name bv in + FStar_Syntax_Syntax.bv_to_name bv + in let uu____733 = FStar_Syntax_Syntax.as_implicit - false in - (uu____732, uu____733)) binders in + false + in + (uu____732, uu____733)) binders + in let uu____735 = let uu____742 = let uu____747 = - FStar_Syntax_Syntax.bv_to_name a1 in + FStar_Syntax_Syntax.bv_to_name a1 in let uu____748 = - FStar_Syntax_Syntax.as_implicit false in - (uu____747, uu____748) in + FStar_Syntax_Syntax.as_implicit false in + (uu____747, uu____748) in let uu____750 = let uu____757 = let uu____762 = - FStar_Syntax_Syntax.as_implicit false in - (t, uu____762) in - [uu____757] in - uu____742 :: uu____750 in - FStar_List.append uu____693 uu____735 in - (fv, uu____682) in - FStar_Syntax_Syntax.Tm_app uu____665 in - mk1 uu____664 in - (env, (mk_app1 ctx_fv), (mk_app1 gctx_fv)) in + FStar_Syntax_Syntax.as_implicit false in + (t, uu____762) in + [uu____757] in + uu____742 :: uu____750 in + FStar_List.append uu____693 uu____735 in + (fv, uu____682) in + FStar_Syntax_Syntax.Tm_app uu____665 in + mk1 uu____664 in + (env, (mk_app1 ctx_fv), (mk_app1 gctx_fv)) + in match uu____518 with - | (env1, mk_ctx, mk_gctx) -> + | (env1,mk_ctx,mk_gctx) -> let c_pure = let t = FStar_Syntax_Syntax.gen_bv "t" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let x = - let uu____835 = FStar_Syntax_Syntax.bv_to_name t in + let uu____835 = FStar_Syntax_Syntax.bv_to_name t in FStar_Syntax_Syntax.gen_bv "x" - FStar_Pervasives_Native.None uu____835 in + FStar_Pervasives_Native.None uu____835 + in let ret1 = let uu____840 = let uu____841 = - let uu____844 = FStar_Syntax_Syntax.bv_to_name t in - mk_ctx uu____844 in - FStar_Syntax_Util.residual_tot uu____841 in - FStar_Pervasives_Native.Some uu____840 in + let uu____844 = FStar_Syntax_Syntax.bv_to_name t + in + mk_ctx uu____844 in + FStar_Syntax_Util.residual_tot uu____841 in + FStar_Pervasives_Native.Some uu____840 in let body = - let uu____848 = FStar_Syntax_Syntax.bv_to_name x in - FStar_Syntax_Util.abs gamma uu____848 ret1 in + let uu____848 = FStar_Syntax_Syntax.bv_to_name x in + FStar_Syntax_Util.abs gamma uu____848 ret1 in let uu____851 = - let uu____852 = mk_all_implicit binders in + let uu____852 = mk_all_implicit binders in let uu____859 = - binders_of_list1 [(a1, true); (t, true); (x, false)] in - FStar_List.append uu____852 uu____859 in - FStar_Syntax_Util.abs uu____851 body ret1 in + binders_of_list1 [(a1, true); (t, true); (x, false)] + in + FStar_List.append uu____852 uu____859 in + FStar_Syntax_Util.abs uu____851 body ret1 in let c_pure1 = - let uu____897 = mk_lid "pure" in - register env1 uu____897 c_pure in + let uu____897 = mk_lid "pure" in + register env1 uu____897 c_pure in let c_app = let t1 = FStar_Syntax_Syntax.gen_bv "t1" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let t2 = FStar_Syntax_Syntax.gen_bv "t2" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let l = let uu____907 = let uu____908 = @@ -230,105 +260,121 @@ let (gen_wps_for_free : let uu____918 = let uu____925 = let uu____926 = - FStar_Syntax_Syntax.bv_to_name t1 in + FStar_Syntax_Syntax.bv_to_name t1 in FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None uu____926 in - FStar_Syntax_Syntax.mk_binder uu____925 in - [uu____918] in + FStar_Pervasives_Native.None uu____926 + in + FStar_Syntax_Syntax.mk_binder uu____925 in + [uu____918] in let uu____939 = - let uu____942 = FStar_Syntax_Syntax.bv_to_name t2 in - FStar_Syntax_Syntax.mk_GTotal uu____942 in - FStar_Syntax_Util.arrow uu____909 uu____939 in - mk_gctx uu____908 in + let uu____942 = FStar_Syntax_Syntax.bv_to_name t2 + in + FStar_Syntax_Syntax.mk_GTotal uu____942 in + FStar_Syntax_Util.arrow uu____909 uu____939 in + mk_gctx uu____908 in FStar_Syntax_Syntax.gen_bv "l" - FStar_Pervasives_Native.None uu____907 in + FStar_Pervasives_Native.None uu____907 + in let r = let uu____945 = - let uu____946 = FStar_Syntax_Syntax.bv_to_name t1 in - mk_gctx uu____946 in + let uu____946 = FStar_Syntax_Syntax.bv_to_name t1 in + mk_gctx uu____946 in FStar_Syntax_Syntax.gen_bv "r" - FStar_Pervasives_Native.None uu____945 in + FStar_Pervasives_Native.None uu____945 + in let ret1 = let uu____951 = let uu____952 = - let uu____955 = FStar_Syntax_Syntax.bv_to_name t2 in - mk_gctx uu____955 in - FStar_Syntax_Util.residual_tot uu____952 in - FStar_Pervasives_Native.Some uu____951 in + let uu____955 = FStar_Syntax_Syntax.bv_to_name t2 + in + mk_gctx uu____955 in + FStar_Syntax_Util.residual_tot uu____952 in + FStar_Pervasives_Native.Some uu____951 in let outer_body = - let gamma_as_args = args_of_binders1 gamma in + let gamma_as_args = args_of_binders1 gamma in let inner_body = - let uu____965 = FStar_Syntax_Syntax.bv_to_name l in + let uu____965 = FStar_Syntax_Syntax.bv_to_name l in let uu____968 = let uu____979 = let uu____982 = let uu____983 = let uu____984 = - FStar_Syntax_Syntax.bv_to_name r in + FStar_Syntax_Syntax.bv_to_name r in FStar_Syntax_Util.mk_app uu____984 - gamma_as_args in - FStar_Syntax_Syntax.as_arg uu____983 in - [uu____982] in - FStar_List.append gamma_as_args uu____979 in - FStar_Syntax_Util.mk_app uu____965 uu____968 in - FStar_Syntax_Util.abs gamma inner_body ret1 in + gamma_as_args + in + FStar_Syntax_Syntax.as_arg uu____983 in + [uu____982] in + FStar_List.append gamma_as_args uu____979 in + FStar_Syntax_Util.mk_app uu____965 uu____968 in + FStar_Syntax_Util.abs gamma inner_body ret1 in let uu____987 = - let uu____988 = mk_all_implicit binders in + let uu____988 = mk_all_implicit binders in let uu____995 = binders_of_list1 [(a1, true); (t1, true); (t2, true); (l, false); - (r, false)] in - FStar_List.append uu____988 uu____995 in - FStar_Syntax_Util.abs uu____987 outer_body ret1 in + (r, false)] + in + FStar_List.append uu____988 uu____995 in + FStar_Syntax_Util.abs uu____987 outer_body ret1 in let c_app1 = - let uu____1047 = mk_lid "app" in - register env1 uu____1047 c_app in + let uu____1047 = mk_lid "app" in + register env1 uu____1047 c_app in let c_lift1 = let t1 = FStar_Syntax_Syntax.gen_bv "t1" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let t2 = FStar_Syntax_Syntax.gen_bv "t2" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let t_f = let uu____1059 = let uu____1068 = - let uu____1075 = FStar_Syntax_Syntax.bv_to_name t1 in - FStar_Syntax_Syntax.null_binder uu____1075 in - [uu____1068] in + let uu____1075 = FStar_Syntax_Syntax.bv_to_name t1 + in + FStar_Syntax_Syntax.null_binder uu____1075 in + [uu____1068] in let uu____1088 = - let uu____1091 = FStar_Syntax_Syntax.bv_to_name t2 in - FStar_Syntax_Syntax.mk_GTotal uu____1091 in - FStar_Syntax_Util.arrow uu____1059 uu____1088 in + let uu____1091 = FStar_Syntax_Syntax.bv_to_name t2 + in + FStar_Syntax_Syntax.mk_GTotal uu____1091 in + FStar_Syntax_Util.arrow uu____1059 uu____1088 in let f = FStar_Syntax_Syntax.gen_bv "f" - FStar_Pervasives_Native.None t_f in + FStar_Pervasives_Native.None t_f + in let a11 = let uu____1095 = - let uu____1096 = FStar_Syntax_Syntax.bv_to_name t1 in - mk_gctx uu____1096 in + let uu____1096 = FStar_Syntax_Syntax.bv_to_name t1 + in + mk_gctx uu____1096 in FStar_Syntax_Syntax.gen_bv "a1" - FStar_Pervasives_Native.None uu____1095 in + FStar_Pervasives_Native.None uu____1095 + in let ret1 = let uu____1101 = let uu____1102 = - let uu____1105 = FStar_Syntax_Syntax.bv_to_name t2 in - mk_gctx uu____1105 in - FStar_Syntax_Util.residual_tot uu____1102 in - FStar_Pervasives_Native.Some uu____1101 in + let uu____1105 = FStar_Syntax_Syntax.bv_to_name t2 + in + mk_gctx uu____1105 in + FStar_Syntax_Util.residual_tot uu____1102 in + FStar_Pervasives_Native.Some uu____1101 in let uu____1106 = - let uu____1107 = mk_all_implicit binders in + let uu____1107 = mk_all_implicit binders in let uu____1114 = binders_of_list1 [(a1, true); (t1, true); (t2, true); (f, false); - (a11, false)] in - FStar_List.append uu____1107 uu____1114 in + (a11, false)] + in + FStar_List.append uu____1107 uu____1114 in let uu____1165 = let uu____1168 = let uu____1179 = @@ -336,72 +382,85 @@ let (gen_wps_for_free : let uu____1183 = let uu____1194 = let uu____1197 = - FStar_Syntax_Syntax.bv_to_name f in - [uu____1197] in + FStar_Syntax_Syntax.bv_to_name f in + [uu____1197] in FStar_List.map FStar_Syntax_Syntax.as_arg - uu____1194 in - FStar_Syntax_Util.mk_app c_pure1 uu____1183 in + uu____1194 + in + FStar_Syntax_Util.mk_app c_pure1 uu____1183 in let uu____1206 = let uu____1209 = - FStar_Syntax_Syntax.bv_to_name a11 in - [uu____1209] in - uu____1182 :: uu____1206 in - FStar_List.map FStar_Syntax_Syntax.as_arg uu____1179 in - FStar_Syntax_Util.mk_app c_app1 uu____1168 in - FStar_Syntax_Util.abs uu____1106 uu____1165 ret1 in + FStar_Syntax_Syntax.bv_to_name a11 in + [uu____1209] in + uu____1182 :: uu____1206 in + FStar_List.map FStar_Syntax_Syntax.as_arg uu____1179 + in + FStar_Syntax_Util.mk_app c_app1 uu____1168 in + FStar_Syntax_Util.abs uu____1106 uu____1165 ret1 in let c_lift11 = - let uu____1219 = mk_lid "lift1" in - register env1 uu____1219 c_lift1 in + let uu____1219 = mk_lid "lift1" in + register env1 uu____1219 c_lift1 in let c_lift2 = let t1 = FStar_Syntax_Syntax.gen_bv "t1" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let t2 = FStar_Syntax_Syntax.gen_bv "t2" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let t3 = FStar_Syntax_Syntax.gen_bv "t3" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let t_f = let uu____1233 = let uu____1242 = - let uu____1249 = FStar_Syntax_Syntax.bv_to_name t1 in - FStar_Syntax_Syntax.null_binder uu____1249 in + let uu____1249 = FStar_Syntax_Syntax.bv_to_name t1 + in + FStar_Syntax_Syntax.null_binder uu____1249 in let uu____1250 = let uu____1259 = let uu____1266 = - FStar_Syntax_Syntax.bv_to_name t2 in - FStar_Syntax_Syntax.null_binder uu____1266 in - [uu____1259] in - uu____1242 :: uu____1250 in + FStar_Syntax_Syntax.bv_to_name t2 in + FStar_Syntax_Syntax.null_binder uu____1266 in + [uu____1259] in + uu____1242 :: uu____1250 in let uu____1285 = - let uu____1288 = FStar_Syntax_Syntax.bv_to_name t3 in - FStar_Syntax_Syntax.mk_GTotal uu____1288 in - FStar_Syntax_Util.arrow uu____1233 uu____1285 in + let uu____1288 = FStar_Syntax_Syntax.bv_to_name t3 + in + FStar_Syntax_Syntax.mk_GTotal uu____1288 in + FStar_Syntax_Util.arrow uu____1233 uu____1285 in let f = FStar_Syntax_Syntax.gen_bv "f" - FStar_Pervasives_Native.None t_f in + FStar_Pervasives_Native.None t_f + in let a11 = let uu____1292 = - let uu____1293 = FStar_Syntax_Syntax.bv_to_name t1 in - mk_gctx uu____1293 in + let uu____1293 = FStar_Syntax_Syntax.bv_to_name t1 + in + mk_gctx uu____1293 in FStar_Syntax_Syntax.gen_bv "a1" - FStar_Pervasives_Native.None uu____1292 in + FStar_Pervasives_Native.None uu____1292 + in let a2 = let uu____1296 = - let uu____1297 = FStar_Syntax_Syntax.bv_to_name t2 in - mk_gctx uu____1297 in + let uu____1297 = FStar_Syntax_Syntax.bv_to_name t2 + in + mk_gctx uu____1297 in FStar_Syntax_Syntax.gen_bv "a2" - FStar_Pervasives_Native.None uu____1296 in + FStar_Pervasives_Native.None uu____1296 + in let ret1 = let uu____1302 = let uu____1303 = - let uu____1306 = FStar_Syntax_Syntax.bv_to_name t3 in - mk_gctx uu____1306 in - FStar_Syntax_Util.residual_tot uu____1303 in - FStar_Pervasives_Native.Some uu____1302 in + let uu____1306 = FStar_Syntax_Syntax.bv_to_name t3 + in + mk_gctx uu____1306 in + FStar_Syntax_Util.residual_tot uu____1303 in + FStar_Pervasives_Native.Some uu____1302 in let uu____1307 = - let uu____1308 = mk_all_implicit binders in + let uu____1308 = mk_all_implicit binders in let uu____1315 = binders_of_list1 [(a1, true); @@ -410,8 +469,9 @@ let (gen_wps_for_free : (t3, true); (f, false); (a11, false); - (a2, false)] in - FStar_List.append uu____1308 uu____1315 in + (a2, false)] + in + FStar_List.append uu____1308 uu____1315 in let uu____1380 = let uu____1383 = let uu____1394 = @@ -422,52 +482,61 @@ let (gen_wps_for_free : let uu____1413 = let uu____1424 = let uu____1427 = - FStar_Syntax_Syntax.bv_to_name f in - [uu____1427] in + FStar_Syntax_Syntax.bv_to_name f in + [uu____1427] in FStar_List.map FStar_Syntax_Syntax.as_arg - uu____1424 in - FStar_Syntax_Util.mk_app c_pure1 uu____1413 in + uu____1424 + in + FStar_Syntax_Util.mk_app c_pure1 uu____1413 + in let uu____1436 = let uu____1439 = - FStar_Syntax_Syntax.bv_to_name a11 in - [uu____1439] in - uu____1412 :: uu____1436 in + FStar_Syntax_Syntax.bv_to_name a11 in + [uu____1439] in + uu____1412 :: uu____1436 in FStar_List.map FStar_Syntax_Syntax.as_arg - uu____1409 in - FStar_Syntax_Util.mk_app c_app1 uu____1398 in + uu____1409 + in + FStar_Syntax_Util.mk_app c_app1 uu____1398 in let uu____1448 = let uu____1451 = - FStar_Syntax_Syntax.bv_to_name a2 in - [uu____1451] in - uu____1397 :: uu____1448 in - FStar_List.map FStar_Syntax_Syntax.as_arg uu____1394 in - FStar_Syntax_Util.mk_app c_app1 uu____1383 in - FStar_Syntax_Util.abs uu____1307 uu____1380 ret1 in + FStar_Syntax_Syntax.bv_to_name a2 in + [uu____1451] in + uu____1397 :: uu____1448 in + FStar_List.map FStar_Syntax_Syntax.as_arg uu____1394 + in + FStar_Syntax_Util.mk_app c_app1 uu____1383 in + FStar_Syntax_Util.abs uu____1307 uu____1380 ret1 in let c_lift21 = - let uu____1461 = mk_lid "lift2" in - register env1 uu____1461 c_lift2 in + let uu____1461 = mk_lid "lift2" in + register env1 uu____1461 c_lift2 in let c_push = let t1 = FStar_Syntax_Syntax.gen_bv "t1" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let t2 = FStar_Syntax_Syntax.gen_bv "t2" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let t_f = let uu____1473 = let uu____1482 = - let uu____1489 = FStar_Syntax_Syntax.bv_to_name t1 in - FStar_Syntax_Syntax.null_binder uu____1489 in - [uu____1482] in + let uu____1489 = FStar_Syntax_Syntax.bv_to_name t1 + in + FStar_Syntax_Syntax.null_binder uu____1489 in + [uu____1482] in let uu____1502 = let uu____1505 = - let uu____1506 = FStar_Syntax_Syntax.bv_to_name t2 in - mk_gctx uu____1506 in - FStar_Syntax_Syntax.mk_Total uu____1505 in - FStar_Syntax_Util.arrow uu____1473 uu____1502 in + let uu____1506 = FStar_Syntax_Syntax.bv_to_name t2 + in + mk_gctx uu____1506 in + FStar_Syntax_Syntax.mk_Total uu____1505 in + FStar_Syntax_Util.arrow uu____1473 uu____1502 in let f = FStar_Syntax_Syntax.gen_bv "f" - FStar_Pervasives_Native.None t_f in + FStar_Pervasives_Native.None t_f + in let ret1 = let uu____1512 = let uu____1513 = @@ -475,88 +544,96 @@ let (gen_wps_for_free : let uu____1517 = let uu____1526 = let uu____1533 = - FStar_Syntax_Syntax.bv_to_name t1 in - FStar_Syntax_Syntax.null_binder uu____1533 in - [uu____1526] in + FStar_Syntax_Syntax.bv_to_name t1 in + FStar_Syntax_Syntax.null_binder uu____1533 + in + [uu____1526] in let uu____1546 = let uu____1549 = - FStar_Syntax_Syntax.bv_to_name t2 in - FStar_Syntax_Syntax.mk_GTotal uu____1549 in - FStar_Syntax_Util.arrow uu____1517 uu____1546 in - mk_ctx uu____1516 in - FStar_Syntax_Util.residual_tot uu____1513 in - FStar_Pervasives_Native.Some uu____1512 in + FStar_Syntax_Syntax.bv_to_name t2 in + FStar_Syntax_Syntax.mk_GTotal uu____1549 in + FStar_Syntax_Util.arrow uu____1517 uu____1546 in + mk_ctx uu____1516 in + FStar_Syntax_Util.residual_tot uu____1513 in + FStar_Pervasives_Native.Some uu____1512 in let e1 = - let uu____1551 = FStar_Syntax_Syntax.bv_to_name t1 in + let uu____1551 = FStar_Syntax_Syntax.bv_to_name t1 in FStar_Syntax_Syntax.gen_bv "e1" - FStar_Pervasives_Native.None uu____1551 in + FStar_Pervasives_Native.None uu____1551 + in let body = let uu____1556 = let uu____1557 = - let uu____1566 = FStar_Syntax_Syntax.mk_binder e1 in - [uu____1566] in - FStar_List.append gamma uu____1557 in + let uu____1566 = FStar_Syntax_Syntax.mk_binder e1 + in + [uu____1566] in + FStar_List.append gamma uu____1557 in let uu____1591 = - let uu____1594 = FStar_Syntax_Syntax.bv_to_name f in + let uu____1594 = FStar_Syntax_Syntax.bv_to_name f in let uu____1597 = let uu____1608 = let uu____1609 = - FStar_Syntax_Syntax.bv_to_name e1 in - FStar_Syntax_Syntax.as_arg uu____1609 in - let uu____1610 = args_of_binders1 gamma in - uu____1608 :: uu____1610 in - FStar_Syntax_Util.mk_app uu____1594 uu____1597 in - FStar_Syntax_Util.abs uu____1556 uu____1591 ret1 in + FStar_Syntax_Syntax.bv_to_name e1 in + FStar_Syntax_Syntax.as_arg uu____1609 in + let uu____1610 = args_of_binders1 gamma in + uu____1608 :: uu____1610 in + FStar_Syntax_Util.mk_app uu____1594 uu____1597 in + FStar_Syntax_Util.abs uu____1556 uu____1591 ret1 in let uu____1613 = - let uu____1614 = mk_all_implicit binders in + let uu____1614 = mk_all_implicit binders in let uu____1621 = binders_of_list1 - [(a1, true); (t1, true); (t2, true); (f, false)] in - FStar_List.append uu____1614 uu____1621 in - FStar_Syntax_Util.abs uu____1613 body ret1 in + [(a1, true); (t1, true); (t2, true); (f, false)] + in + FStar_List.append uu____1614 uu____1621 in + FStar_Syntax_Util.abs uu____1613 body ret1 in let c_push1 = - let uu____1666 = mk_lid "push" in - register env1 uu____1666 c_push in + let uu____1666 = mk_lid "push" in + register env1 uu____1666 c_push in let ret_tot_wp_a = FStar_Pervasives_Native.Some - (FStar_Syntax_Util.residual_tot wp_a1) in + (FStar_Syntax_Util.residual_tot wp_a1) + in let mk_generic_app c = if (FStar_List.length binders) > (Prims.parse_int "0") then let uu____1693 = let uu____1694 = - let uu____1711 = args_of_binders1 binders in - (c, uu____1711) in - FStar_Syntax_Syntax.Tm_app uu____1694 in + let uu____1711 = args_of_binders1 binders in + (c, uu____1711) in + FStar_Syntax_Syntax.Tm_app uu____1694 in mk1 uu____1693 - else c in + else c in let wp_if_then_else = let result_comp = let uu____1740 = let uu____1741 = let uu____1750 = - FStar_Syntax_Syntax.null_binder wp_a1 in + FStar_Syntax_Syntax.null_binder wp_a1 in let uu____1757 = let uu____1766 = - FStar_Syntax_Syntax.null_binder wp_a1 in - [uu____1766] in - uu____1750 :: uu____1757 in - let uu____1791 = FStar_Syntax_Syntax.mk_Total wp_a1 in - FStar_Syntax_Util.arrow uu____1741 uu____1791 in - FStar_Syntax_Syntax.mk_Total uu____1740 in + FStar_Syntax_Syntax.null_binder wp_a1 in + [uu____1766] in + uu____1750 :: uu____1757 in + let uu____1791 = FStar_Syntax_Syntax.mk_Total wp_a1 + in + FStar_Syntax_Util.arrow uu____1741 uu____1791 in + FStar_Syntax_Syntax.mk_Total uu____1740 in let c = FStar_Syntax_Syntax.gen_bv "c" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let uu____1796 = let uu____1797 = - FStar_Syntax_Syntax.binders_of_list [a1; c] in - FStar_List.append binders uu____1797 in + FStar_Syntax_Syntax.binders_of_list [a1; c] in + FStar_List.append binders uu____1797 in let uu____1812 = let l_ite = FStar_Syntax_Syntax.fvar FStar_Parser_Const.ite_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "2")) - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let uu____1817 = let uu____1820 = let uu____1831 = @@ -564,36 +641,42 @@ let (gen_wps_for_free : let uu____1835 = let uu____1846 = let uu____1855 = - FStar_Syntax_Syntax.bv_to_name c in - FStar_Syntax_Syntax.as_arg uu____1855 in - [uu____1846] in - FStar_Syntax_Util.mk_app l_ite uu____1835 in - [uu____1834] in + FStar_Syntax_Syntax.bv_to_name c in + FStar_Syntax_Syntax.as_arg uu____1855 in + [uu____1846] in + FStar_Syntax_Util.mk_app l_ite uu____1835 in + [uu____1834] in FStar_List.map FStar_Syntax_Syntax.as_arg - uu____1831 in - FStar_Syntax_Util.mk_app c_lift21 uu____1820 in + uu____1831 + in + FStar_Syntax_Util.mk_app c_lift21 uu____1820 in FStar_Syntax_Util.ascribe uu____1817 ((FStar_Util.Inr result_comp), - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in FStar_Syntax_Util.abs uu____1796 uu____1812 (FStar_Pervasives_Native.Some - (FStar_Syntax_Util.residual_comp_of_comp result_comp)) in + (FStar_Syntax_Util.residual_comp_of_comp result_comp)) + in let wp_if_then_else1 = - let uu____1899 = mk_lid "wp_if_then_else" in - register env1 uu____1899 wp_if_then_else in - let wp_if_then_else2 = mk_generic_app wp_if_then_else1 in + let uu____1899 = mk_lid "wp_if_then_else" in + register env1 uu____1899 wp_if_then_else in + let wp_if_then_else2 = mk_generic_app wp_if_then_else1 in let wp_assert = let q = FStar_Syntax_Syntax.gen_bv "q" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let wp = FStar_Syntax_Syntax.gen_bv "wp" - FStar_Pervasives_Native.None wp_a1 in + FStar_Pervasives_Native.None wp_a1 + in let l_and = FStar_Syntax_Syntax.fvar FStar_Parser_Const.and_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let body = let uu____1916 = let uu____1927 = @@ -604,42 +687,49 @@ let (gen_wps_for_free : let uu____1946 = let uu____1957 = let uu____1966 = - FStar_Syntax_Syntax.bv_to_name q in - FStar_Syntax_Syntax.as_arg uu____1966 in - [uu____1957] in - FStar_Syntax_Util.mk_app l_and uu____1946 in - [uu____1945] in + FStar_Syntax_Syntax.bv_to_name q in + FStar_Syntax_Syntax.as_arg uu____1966 + in + [uu____1957] in + FStar_Syntax_Util.mk_app l_and uu____1946 + in + [uu____1945] in FStar_List.map FStar_Syntax_Syntax.as_arg - uu____1942 in - FStar_Syntax_Util.mk_app c_pure1 uu____1931 in + uu____1942 + in + FStar_Syntax_Util.mk_app c_pure1 uu____1931 in let uu____1991 = let uu____1994 = - FStar_Syntax_Syntax.bv_to_name wp in - [uu____1994] in - uu____1930 :: uu____1991 in - FStar_List.map FStar_Syntax_Syntax.as_arg uu____1927 in - FStar_Syntax_Util.mk_app c_app1 uu____1916 in + FStar_Syntax_Syntax.bv_to_name wp in + [uu____1994] in + uu____1930 :: uu____1991 in + FStar_List.map FStar_Syntax_Syntax.as_arg uu____1927 + in + FStar_Syntax_Util.mk_app c_app1 uu____1916 in let uu____2003 = let uu____2004 = - FStar_Syntax_Syntax.binders_of_list [a1; q; wp] in - FStar_List.append binders uu____2004 in - FStar_Syntax_Util.abs uu____2003 body ret_tot_wp_a in + FStar_Syntax_Syntax.binders_of_list [a1; q; wp] in + FStar_List.append binders uu____2004 in + FStar_Syntax_Util.abs uu____2003 body ret_tot_wp_a in let wp_assert1 = - let uu____2020 = mk_lid "wp_assert" in - register env1 uu____2020 wp_assert in - let wp_assert2 = mk_generic_app wp_assert1 in + let uu____2020 = mk_lid "wp_assert" in + register env1 uu____2020 wp_assert in + let wp_assert2 = mk_generic_app wp_assert1 in let wp_assume = let q = FStar_Syntax_Syntax.gen_bv "q" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let wp = FStar_Syntax_Syntax.gen_bv "wp" - FStar_Pervasives_Native.None wp_a1 in + FStar_Pervasives_Native.None wp_a1 + in let l_imp = FStar_Syntax_Syntax.fvar FStar_Parser_Const.imp_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let body = let uu____2037 = let uu____2048 = @@ -650,89 +740,102 @@ let (gen_wps_for_free : let uu____2067 = let uu____2078 = let uu____2087 = - FStar_Syntax_Syntax.bv_to_name q in - FStar_Syntax_Syntax.as_arg uu____2087 in - [uu____2078] in - FStar_Syntax_Util.mk_app l_imp uu____2067 in - [uu____2066] in + FStar_Syntax_Syntax.bv_to_name q in + FStar_Syntax_Syntax.as_arg uu____2087 + in + [uu____2078] in + FStar_Syntax_Util.mk_app l_imp uu____2067 + in + [uu____2066] in FStar_List.map FStar_Syntax_Syntax.as_arg - uu____2063 in - FStar_Syntax_Util.mk_app c_pure1 uu____2052 in + uu____2063 + in + FStar_Syntax_Util.mk_app c_pure1 uu____2052 in let uu____2112 = let uu____2115 = - FStar_Syntax_Syntax.bv_to_name wp in - [uu____2115] in - uu____2051 :: uu____2112 in - FStar_List.map FStar_Syntax_Syntax.as_arg uu____2048 in - FStar_Syntax_Util.mk_app c_app1 uu____2037 in + FStar_Syntax_Syntax.bv_to_name wp in + [uu____2115] in + uu____2051 :: uu____2112 in + FStar_List.map FStar_Syntax_Syntax.as_arg uu____2048 + in + FStar_Syntax_Util.mk_app c_app1 uu____2037 in let uu____2124 = let uu____2125 = - FStar_Syntax_Syntax.binders_of_list [a1; q; wp] in - FStar_List.append binders uu____2125 in - FStar_Syntax_Util.abs uu____2124 body ret_tot_wp_a in + FStar_Syntax_Syntax.binders_of_list [a1; q; wp] in + FStar_List.append binders uu____2125 in + FStar_Syntax_Util.abs uu____2124 body ret_tot_wp_a in let wp_assume1 = - let uu____2141 = mk_lid "wp_assume" in - register env1 uu____2141 wp_assume in - let wp_assume2 = mk_generic_app wp_assume1 in + let uu____2141 = mk_lid "wp_assume" in + register env1 uu____2141 wp_assume in + let wp_assume2 = mk_generic_app wp_assume1 in let wp_close = let b = FStar_Syntax_Syntax.gen_bv "b" - FStar_Pervasives_Native.None FStar_Syntax_Util.ktype in + FStar_Pervasives_Native.None FStar_Syntax_Util.ktype + in let t_f = let uu____2154 = let uu____2163 = - let uu____2170 = FStar_Syntax_Syntax.bv_to_name b in - FStar_Syntax_Syntax.null_binder uu____2170 in - [uu____2163] in - let uu____2183 = FStar_Syntax_Syntax.mk_Total wp_a1 in - FStar_Syntax_Util.arrow uu____2154 uu____2183 in + let uu____2170 = FStar_Syntax_Syntax.bv_to_name b + in + FStar_Syntax_Syntax.null_binder uu____2170 in + [uu____2163] in + let uu____2183 = FStar_Syntax_Syntax.mk_Total wp_a1 in + FStar_Syntax_Util.arrow uu____2154 uu____2183 in let f = FStar_Syntax_Syntax.gen_bv "f" - FStar_Pervasives_Native.None t_f in + FStar_Pervasives_Native.None t_f + in let body = let uu____2191 = let uu____2202 = let uu____2205 = let uu____2206 = FStar_List.map FStar_Syntax_Syntax.as_arg - [FStar_Syntax_Util.tforall] in - FStar_Syntax_Util.mk_app c_pure1 uu____2206 in + [FStar_Syntax_Util.tforall] + in + FStar_Syntax_Util.mk_app c_pure1 uu____2206 in let uu____2225 = let uu____2228 = let uu____2229 = let uu____2240 = let uu____2243 = - FStar_Syntax_Syntax.bv_to_name f in - [uu____2243] in + FStar_Syntax_Syntax.bv_to_name f in + [uu____2243] in FStar_List.map FStar_Syntax_Syntax.as_arg - uu____2240 in - FStar_Syntax_Util.mk_app c_push1 uu____2229 in - [uu____2228] in - uu____2205 :: uu____2225 in - FStar_List.map FStar_Syntax_Syntax.as_arg uu____2202 in - FStar_Syntax_Util.mk_app c_app1 uu____2191 in + uu____2240 + in + FStar_Syntax_Util.mk_app c_push1 uu____2229 in + [uu____2228] in + uu____2205 :: uu____2225 in + FStar_List.map FStar_Syntax_Syntax.as_arg uu____2202 + in + FStar_Syntax_Util.mk_app c_app1 uu____2191 in let uu____2260 = let uu____2261 = - FStar_Syntax_Syntax.binders_of_list [a1; b; f] in - FStar_List.append binders uu____2261 in - FStar_Syntax_Util.abs uu____2260 body ret_tot_wp_a in + FStar_Syntax_Syntax.binders_of_list [a1; b; f] in + FStar_List.append binders uu____2261 in + FStar_Syntax_Util.abs uu____2260 body ret_tot_wp_a in let wp_close1 = - let uu____2277 = mk_lid "wp_close" in - register env1 uu____2277 wp_close in - let wp_close2 = mk_generic_app wp_close1 in + let uu____2277 = mk_lid "wp_close" in + register env1 uu____2277 wp_close in + let wp_close2 = mk_generic_app wp_close1 in let ret_tot_type = FStar_Pervasives_Native.Some - (FStar_Syntax_Util.residual_tot FStar_Syntax_Util.ktype) in + (FStar_Syntax_Util.residual_tot FStar_Syntax_Util.ktype) + in let ret_gtot_type = let uu____2288 = let uu____2289 = let uu____2290 = FStar_Syntax_Syntax.mk_GTotal - FStar_Syntax_Util.ktype in + FStar_Syntax_Util.ktype + in FStar_All.pipe_left FStar_Syntax_Util.lcomp_of_comp - uu____2290 in - FStar_Syntax_Util.residual_comp_of_lcomp uu____2289 in - FStar_Pervasives_Native.Some uu____2288 in + uu____2290 + in + FStar_Syntax_Util.residual_comp_of_lcomp uu____2289 in + FStar_Pervasives_Native.Some uu____2288 in let mk_forall1 x body = let uu____2302 = let uu____2309 = @@ -742,245 +845,265 @@ let (gen_wps_for_free : let uu____2347 = let uu____2348 = let uu____2349 = - FStar_Syntax_Syntax.mk_binder x in - [uu____2349] in + FStar_Syntax_Syntax.mk_binder x in + [uu____2349] in FStar_Syntax_Util.abs uu____2348 body - ret_tot_type in - FStar_Syntax_Syntax.as_arg uu____2347 in - [uu____2338] in - (FStar_Syntax_Util.tforall, uu____2327) in - FStar_Syntax_Syntax.Tm_app uu____2310 in - FStar_Syntax_Syntax.mk uu____2309 in + ret_tot_type + in + FStar_Syntax_Syntax.as_arg uu____2347 in + [uu____2338] in + (FStar_Syntax_Util.tforall, uu____2327) in + FStar_Syntax_Syntax.Tm_app uu____2310 in + FStar_Syntax_Syntax.mk uu____2309 in uu____2302 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Range.dummyRange + in let rec is_discrete t = let uu____2407 = - let uu____2408 = FStar_Syntax_Subst.compress t in - uu____2408.FStar_Syntax_Syntax.n in + let uu____2408 = FStar_Syntax_Subst.compress t in + uu____2408.FStar_Syntax_Syntax.n in match uu____2407 with | FStar_Syntax_Syntax.Tm_type uu____2412 -> false - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> (FStar_List.for_all - (fun uu____2445 -> + (fun uu____2445 -> match uu____2445 with - | (b, uu____2454) -> + | (b,uu____2454) -> is_discrete b.FStar_Syntax_Syntax.sort) bs) && (is_discrete (FStar_Syntax_Util.comp_result c)) - | uu____2459 -> true in + | uu____2459 -> true in let rec is_monotonic t = let uu____2472 = - let uu____2473 = FStar_Syntax_Subst.compress t in - uu____2473.FStar_Syntax_Syntax.n in + let uu____2473 = FStar_Syntax_Subst.compress t in + uu____2473.FStar_Syntax_Syntax.n in match uu____2472 with | FStar_Syntax_Syntax.Tm_type uu____2477 -> true - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> (FStar_List.for_all - (fun uu____2510 -> + (fun uu____2510 -> match uu____2510 with - | (b, uu____2519) -> + | (b,uu____2519) -> is_discrete b.FStar_Syntax_Syntax.sort) bs) && (is_monotonic (FStar_Syntax_Util.comp_result c)) - | uu____2524 -> is_discrete t in + | uu____2524 -> is_discrete t in let rec mk_rel rel t x y = - let mk_rel1 = mk_rel rel in + let mk_rel1 = mk_rel rel in let t1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant] env1 t in + FStar_Syntax_Syntax.delta_constant] env1 t + in let uu____2598 = - let uu____2599 = FStar_Syntax_Subst.compress t1 in - uu____2599.FStar_Syntax_Syntax.n in + let uu____2599 = FStar_Syntax_Subst.compress t1 in + uu____2599.FStar_Syntax_Syntax.n in match uu____2598 with | FStar_Syntax_Syntax.Tm_type uu____2604 -> rel x y | FStar_Syntax_Syntax.Tm_arrow - (binder::[], - { - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.GTotal - (b, uu____2607); - FStar_Syntax_Syntax.pos = uu____2608; - FStar_Syntax_Syntax.vars = uu____2609;_}) + (binder::[],{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.GTotal + (b,uu____2607); + FStar_Syntax_Syntax.pos = uu____2608; + FStar_Syntax_Syntax.vars = uu____2609;_}) -> let a2 = - (FStar_Pervasives_Native.fst binder).FStar_Syntax_Syntax.sort in + (FStar_Pervasives_Native.fst binder).FStar_Syntax_Syntax.sort + in let uu____2653 = - (is_monotonic a2) || (is_monotonic b) in + (is_monotonic a2) || (is_monotonic b) in if uu____2653 then let a11 = FStar_Syntax_Syntax.gen_bv "a1" - FStar_Pervasives_Native.None a2 in + FStar_Pervasives_Native.None a2 + in let body = let uu____2663 = let uu____2666 = let uu____2677 = let uu____2686 = - FStar_Syntax_Syntax.bv_to_name a11 in - FStar_Syntax_Syntax.as_arg uu____2686 in - [uu____2677] in - FStar_Syntax_Util.mk_app x uu____2666 in + FStar_Syntax_Syntax.bv_to_name a11 in + FStar_Syntax_Syntax.as_arg uu____2686 in + [uu____2677] in + FStar_Syntax_Util.mk_app x uu____2666 in let uu____2703 = let uu____2706 = let uu____2717 = let uu____2726 = - FStar_Syntax_Syntax.bv_to_name a11 in - FStar_Syntax_Syntax.as_arg uu____2726 in - [uu____2717] in - FStar_Syntax_Util.mk_app y uu____2706 in - mk_rel1 b uu____2663 uu____2703 in + FStar_Syntax_Syntax.bv_to_name a11 in + FStar_Syntax_Syntax.as_arg uu____2726 in + [uu____2717] in + FStar_Syntax_Util.mk_app y uu____2706 in + mk_rel1 b uu____2663 uu____2703 in mk_forall1 a11 body else (let a11 = FStar_Syntax_Syntax.gen_bv "a1" - FStar_Pervasives_Native.None a2 in + FStar_Pervasives_Native.None a2 + in let a21 = FStar_Syntax_Syntax.gen_bv "a2" - FStar_Pervasives_Native.None a2 in + FStar_Pervasives_Native.None a2 + in let body = let uu____2750 = let uu____2753 = - FStar_Syntax_Syntax.bv_to_name a11 in + FStar_Syntax_Syntax.bv_to_name a11 in let uu____2756 = - FStar_Syntax_Syntax.bv_to_name a21 in - mk_rel1 a2 uu____2753 uu____2756 in + FStar_Syntax_Syntax.bv_to_name a21 in + mk_rel1 a2 uu____2753 uu____2756 in let uu____2759 = let uu____2762 = let uu____2765 = let uu____2776 = let uu____2785 = - FStar_Syntax_Syntax.bv_to_name a11 in - FStar_Syntax_Syntax.as_arg uu____2785 in - [uu____2776] in - FStar_Syntax_Util.mk_app x uu____2765 in + FStar_Syntax_Syntax.bv_to_name a11 in + FStar_Syntax_Syntax.as_arg uu____2785 + in + [uu____2776] in + FStar_Syntax_Util.mk_app x uu____2765 in let uu____2802 = let uu____2805 = let uu____2816 = let uu____2825 = - FStar_Syntax_Syntax.bv_to_name a21 in - FStar_Syntax_Syntax.as_arg uu____2825 in - [uu____2816] in - FStar_Syntax_Util.mk_app y uu____2805 in - mk_rel1 b uu____2762 uu____2802 in - FStar_Syntax_Util.mk_imp uu____2750 uu____2759 in - let uu____2842 = mk_forall1 a21 body in + FStar_Syntax_Syntax.bv_to_name a21 in + FStar_Syntax_Syntax.as_arg uu____2825 + in + [uu____2816] in + FStar_Syntax_Util.mk_app y uu____2805 in + mk_rel1 b uu____2762 uu____2802 in + FStar_Syntax_Util.mk_imp uu____2750 uu____2759 + in + let uu____2842 = mk_forall1 a21 body in mk_forall1 a11 uu____2842) | FStar_Syntax_Syntax.Tm_arrow - (binder::[], - { - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Total - (b, uu____2845); - FStar_Syntax_Syntax.pos = uu____2846; - FStar_Syntax_Syntax.vars = uu____2847;_}) + (binder::[],{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.Total + (b,uu____2845); + FStar_Syntax_Syntax.pos = uu____2846; + FStar_Syntax_Syntax.vars = uu____2847;_}) -> let a2 = - (FStar_Pervasives_Native.fst binder).FStar_Syntax_Syntax.sort in + (FStar_Pervasives_Native.fst binder).FStar_Syntax_Syntax.sort + in let uu____2891 = - (is_monotonic a2) || (is_monotonic b) in + (is_monotonic a2) || (is_monotonic b) in if uu____2891 then let a11 = FStar_Syntax_Syntax.gen_bv "a1" - FStar_Pervasives_Native.None a2 in + FStar_Pervasives_Native.None a2 + in let body = let uu____2901 = let uu____2904 = let uu____2915 = let uu____2924 = - FStar_Syntax_Syntax.bv_to_name a11 in - FStar_Syntax_Syntax.as_arg uu____2924 in - [uu____2915] in - FStar_Syntax_Util.mk_app x uu____2904 in + FStar_Syntax_Syntax.bv_to_name a11 in + FStar_Syntax_Syntax.as_arg uu____2924 in + [uu____2915] in + FStar_Syntax_Util.mk_app x uu____2904 in let uu____2941 = let uu____2944 = let uu____2955 = let uu____2964 = - FStar_Syntax_Syntax.bv_to_name a11 in - FStar_Syntax_Syntax.as_arg uu____2964 in - [uu____2955] in - FStar_Syntax_Util.mk_app y uu____2944 in - mk_rel1 b uu____2901 uu____2941 in + FStar_Syntax_Syntax.bv_to_name a11 in + FStar_Syntax_Syntax.as_arg uu____2964 in + [uu____2955] in + FStar_Syntax_Util.mk_app y uu____2944 in + mk_rel1 b uu____2901 uu____2941 in mk_forall1 a11 body else (let a11 = FStar_Syntax_Syntax.gen_bv "a1" - FStar_Pervasives_Native.None a2 in + FStar_Pervasives_Native.None a2 + in let a21 = FStar_Syntax_Syntax.gen_bv "a2" - FStar_Pervasives_Native.None a2 in + FStar_Pervasives_Native.None a2 + in let body = let uu____2988 = let uu____2991 = - FStar_Syntax_Syntax.bv_to_name a11 in + FStar_Syntax_Syntax.bv_to_name a11 in let uu____2994 = - FStar_Syntax_Syntax.bv_to_name a21 in - mk_rel1 a2 uu____2991 uu____2994 in + FStar_Syntax_Syntax.bv_to_name a21 in + mk_rel1 a2 uu____2991 uu____2994 in let uu____2997 = let uu____3000 = let uu____3003 = let uu____3014 = let uu____3023 = - FStar_Syntax_Syntax.bv_to_name a11 in - FStar_Syntax_Syntax.as_arg uu____3023 in - [uu____3014] in - FStar_Syntax_Util.mk_app x uu____3003 in + FStar_Syntax_Syntax.bv_to_name a11 in + FStar_Syntax_Syntax.as_arg uu____3023 + in + [uu____3014] in + FStar_Syntax_Util.mk_app x uu____3003 in let uu____3040 = let uu____3043 = let uu____3054 = let uu____3063 = - FStar_Syntax_Syntax.bv_to_name a21 in - FStar_Syntax_Syntax.as_arg uu____3063 in - [uu____3054] in - FStar_Syntax_Util.mk_app y uu____3043 in - mk_rel1 b uu____3000 uu____3040 in - FStar_Syntax_Util.mk_imp uu____2988 uu____2997 in - let uu____3080 = mk_forall1 a21 body in + FStar_Syntax_Syntax.bv_to_name a21 in + FStar_Syntax_Syntax.as_arg uu____3063 + in + [uu____3054] in + FStar_Syntax_Util.mk_app y uu____3043 in + mk_rel1 b uu____3000 uu____3040 in + FStar_Syntax_Util.mk_imp uu____2988 uu____2997 + in + let uu____3080 = mk_forall1 a21 body in mk_forall1 a11 uu____3080) - | FStar_Syntax_Syntax.Tm_arrow (binder::binders1, comp) - -> + | FStar_Syntax_Syntax.Tm_arrow (binder::binders1,comp) -> let t2 = - let uu___242_3119 = t1 in + let uu___242_3119 = t1 in let uu____3120 = let uu____3121 = let uu____3136 = let uu____3139 = - FStar_Syntax_Util.arrow binders1 comp in - FStar_Syntax_Syntax.mk_Total uu____3139 in - ([binder], uu____3136) in - FStar_Syntax_Syntax.Tm_arrow uu____3121 in + FStar_Syntax_Util.arrow binders1 comp in + FStar_Syntax_Syntax.mk_Total uu____3139 in + ([binder], uu____3136) in + FStar_Syntax_Syntax.Tm_arrow uu____3121 in { FStar_Syntax_Syntax.n = uu____3120; FStar_Syntax_Syntax.pos = (uu___242_3119.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = (uu___242_3119.FStar_Syntax_Syntax.vars) - } in + } in mk_rel1 t2 x y | FStar_Syntax_Syntax.Tm_arrow uu____3162 -> failwith "unhandled arrow" - | uu____3180 -> FStar_Syntax_Util.mk_untyped_eq2 x y in + | uu____3180 -> FStar_Syntax_Util.mk_untyped_eq2 x y in let stronger = let wp1 = FStar_Syntax_Syntax.gen_bv "wp1" - FStar_Pervasives_Native.None wp_a1 in + FStar_Pervasives_Native.None wp_a1 + in let wp2 = FStar_Syntax_Syntax.gen_bv "wp2" - FStar_Pervasives_Native.None wp_a1 in + FStar_Pervasives_Native.None wp_a1 + in let rec mk_stronger t x y = let t1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant] env1 t in + FStar_Syntax_Syntax.delta_constant] env1 t + in let uu____3217 = - let uu____3218 = FStar_Syntax_Subst.compress t1 in - uu____3218.FStar_Syntax_Syntax.n in + let uu____3218 = FStar_Syntax_Subst.compress t1 in + uu____3218.FStar_Syntax_Syntax.n in match uu____3217 with | FStar_Syntax_Syntax.Tm_type uu____3221 -> FStar_Syntax_Util.mk_imp x y - | FStar_Syntax_Syntax.Tm_app (head1, args) when - let uu____3248 = FStar_Syntax_Subst.compress head1 in + | FStar_Syntax_Syntax.Tm_app (head1,args) when + let uu____3248 = FStar_Syntax_Subst.compress head1 + in FStar_Syntax_Util.is_tuple_constructor uu____3248 -> let project i tuple = @@ -989,163 +1112,183 @@ let (gen_wps_for_free : let uu____3270 = FStar_Parser_Const.mk_tuple_data_lid (FStar_List.length args) - FStar_Range.dummyRange in + FStar_Range.dummyRange + in FStar_TypeChecker_Env.lookup_projector env1 - uu____3270 i in + uu____3270 i + in FStar_Syntax_Syntax.fvar uu____3269 (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Syntax_Util.mk_app projector - [(tuple, FStar_Pervasives_Native.None)] in + [(tuple, FStar_Pervasives_Native.None)] + in let uu____3300 = let uu____3311 = FStar_List.mapi - (fun i -> - fun uu____3329 -> + (fun i -> + fun uu____3329 -> match uu____3329 with - | (t2, q) -> - let uu____3349 = project i x in - let uu____3352 = project i y in + | (t2,q) -> + let uu____3349 = project i x in + let uu____3352 = project i y in mk_stronger t2 uu____3349 uu____3352) - args in + args + in match uu____3311 with | [] -> failwith "Impossible : Empty application when creating stronger relation in DM4F" - | rel0::rels -> (rel0, rels) in + | rel0::rels -> (rel0, rels) in (match uu____3300 with - | (rel0, rels) -> + | (rel0,rels) -> FStar_List.fold_left FStar_Syntax_Util.mk_conj rel0 rels) | FStar_Syntax_Syntax.Tm_arrow - (binders1, - { - FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.GTotal (b, uu____3406); - FStar_Syntax_Syntax.pos = uu____3407; - FStar_Syntax_Syntax.vars = uu____3408;_}) + (binders1,{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.GTotal + (b,uu____3406); + FStar_Syntax_Syntax.pos = uu____3407; + FStar_Syntax_Syntax.vars = uu____3408;_}) -> let bvs = FStar_List.mapi - (fun i -> - fun uu____3452 -> + (fun i -> + fun uu____3452 -> match uu____3452 with - | (bv, q) -> + | (bv,q) -> let uu____3466 = let uu____3468 = - FStar_Util.string_of_int i in - Prims.op_Hat "a" uu____3468 in + FStar_Util.string_of_int i in + Prims.op_Hat "a" uu____3468 in FStar_Syntax_Syntax.gen_bv uu____3466 FStar_Pervasives_Native.None bv.FStar_Syntax_Syntax.sort) - binders1 in + binders1 + in let args = FStar_List.map - (fun ai -> + (fun ai -> let uu____3477 = - FStar_Syntax_Syntax.bv_to_name ai in - FStar_Syntax_Syntax.as_arg uu____3477) bvs in + FStar_Syntax_Syntax.bv_to_name ai in + FStar_Syntax_Syntax.as_arg uu____3477) bvs + in let body = - let uu____3479 = FStar_Syntax_Util.mk_app x args in - let uu____3482 = FStar_Syntax_Util.mk_app y args in - mk_stronger b uu____3479 uu____3482 in + let uu____3479 = FStar_Syntax_Util.mk_app x args + in + let uu____3482 = FStar_Syntax_Util.mk_app y args + in + mk_stronger b uu____3479 uu____3482 in FStar_List.fold_right - (fun bv -> fun body1 -> mk_forall1 bv body1) bvs - body + (fun bv -> fun body1 -> mk_forall1 bv body1) + bvs body | FStar_Syntax_Syntax.Tm_arrow - (binders1, - { - FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.Total (b, uu____3491); - FStar_Syntax_Syntax.pos = uu____3492; - FStar_Syntax_Syntax.vars = uu____3493;_}) + (binders1,{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.Total + (b,uu____3491); + FStar_Syntax_Syntax.pos = uu____3492; + FStar_Syntax_Syntax.vars = uu____3493;_}) -> let bvs = FStar_List.mapi - (fun i -> - fun uu____3537 -> + (fun i -> + fun uu____3537 -> match uu____3537 with - | (bv, q) -> + | (bv,q) -> let uu____3551 = let uu____3553 = - FStar_Util.string_of_int i in - Prims.op_Hat "a" uu____3553 in + FStar_Util.string_of_int i in + Prims.op_Hat "a" uu____3553 in FStar_Syntax_Syntax.gen_bv uu____3551 FStar_Pervasives_Native.None bv.FStar_Syntax_Syntax.sort) - binders1 in + binders1 + in let args = FStar_List.map - (fun ai -> + (fun ai -> let uu____3562 = - FStar_Syntax_Syntax.bv_to_name ai in - FStar_Syntax_Syntax.as_arg uu____3562) bvs in + FStar_Syntax_Syntax.bv_to_name ai in + FStar_Syntax_Syntax.as_arg uu____3562) bvs + in let body = - let uu____3564 = FStar_Syntax_Util.mk_app x args in - let uu____3567 = FStar_Syntax_Util.mk_app y args in - mk_stronger b uu____3564 uu____3567 in + let uu____3564 = FStar_Syntax_Util.mk_app x args + in + let uu____3567 = FStar_Syntax_Util.mk_app y args + in + mk_stronger b uu____3564 uu____3567 in FStar_List.fold_right - (fun bv -> fun body1 -> mk_forall1 bv body1) bvs - body - | uu____3574 -> failwith "Not a DM elaborated type" in + (fun bv -> fun body1 -> mk_forall1 bv body1) + bvs body + | uu____3574 -> failwith "Not a DM elaborated type" in let body = - let uu____3577 = FStar_Syntax_Util.unascribe wp_a1 in - let uu____3580 = FStar_Syntax_Syntax.bv_to_name wp1 in - let uu____3583 = FStar_Syntax_Syntax.bv_to_name wp2 in - mk_stronger uu____3577 uu____3580 uu____3583 in + let uu____3577 = FStar_Syntax_Util.unascribe wp_a1 in + let uu____3580 = FStar_Syntax_Syntax.bv_to_name wp1 in + let uu____3583 = FStar_Syntax_Syntax.bv_to_name wp2 in + mk_stronger uu____3577 uu____3580 uu____3583 in let uu____3586 = let uu____3587 = binders_of_list1 - [(a1, false); (wp1, false); (wp2, false)] in - FStar_List.append binders uu____3587 in - FStar_Syntax_Util.abs uu____3586 body ret_tot_type in + [(a1, false); (wp1, false); (wp2, false)] + in + FStar_List.append binders uu____3587 in + FStar_Syntax_Util.abs uu____3586 body ret_tot_type in let stronger1 = - let uu____3629 = mk_lid "stronger" in - register env1 uu____3629 stronger in - let stronger2 = mk_generic_app stronger1 in + let uu____3629 = mk_lid "stronger" in + register env1 uu____3629 stronger in + let stronger2 = mk_generic_app stronger1 in let ite_wp = let wp = FStar_Syntax_Syntax.gen_bv "wp" - FStar_Pervasives_Native.None wp_a1 in - let uu____3637 = FStar_Util.prefix gamma in + FStar_Pervasives_Native.None wp_a1 + in + let uu____3637 = FStar_Util.prefix gamma in match uu____3637 with - | (wp_args, post) -> + | (wp_args,post) -> let k = FStar_Syntax_Syntax.gen_bv "k" FStar_Pervasives_Native.None - (FStar_Pervasives_Native.fst post).FStar_Syntax_Syntax.sort in + (FStar_Pervasives_Native.fst post).FStar_Syntax_Syntax.sort + in let equiv1 = - let k_tm = FStar_Syntax_Syntax.bv_to_name k in + let k_tm = FStar_Syntax_Syntax.bv_to_name k in let eq1 = let uu____3703 = FStar_Syntax_Syntax.bv_to_name - (FStar_Pervasives_Native.fst post) in + (FStar_Pervasives_Native.fst post) + in mk_rel FStar_Syntax_Util.mk_iff - k.FStar_Syntax_Syntax.sort k_tm uu____3703 in + k.FStar_Syntax_Syntax.sort k_tm uu____3703 + in let uu____3708 = - FStar_Syntax_Util.destruct_typ_as_formula eq1 in + FStar_Syntax_Util.destruct_typ_as_formula eq1 in match uu____3708 with | FStar_Pervasives_Native.Some - (FStar_Syntax_Util.QAll (binders1, [], body)) - -> + (FStar_Syntax_Util.QAll (binders1,[],body)) -> let k_app = - let uu____3718 = args_of_binders1 binders1 in - FStar_Syntax_Util.mk_app k_tm uu____3718 in + let uu____3718 = args_of_binders1 binders1 + in + FStar_Syntax_Util.mk_app k_tm uu____3718 in let guard_free1 = let uu____3730 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.guard_free FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____3730 in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____3730 in let pat = let uu____3734 = let uu____3745 = - FStar_Syntax_Syntax.as_arg k_app in - [uu____3745] in + FStar_Syntax_Syntax.as_arg k_app in + [uu____3745] in FStar_Syntax_Util.mk_app guard_free1 - uu____3734 in + uu____3734 + in let pattern_guarded_body = let uu____3773 = let uu____3774 = @@ -1153,153 +1296,177 @@ let (gen_wps_for_free : let uu____3782 = let uu____3803 = FStar_Syntax_Syntax.binders_to_names - binders1 in + binders1 + in let uu____3808 = let uu____3821 = let uu____3832 = - FStar_Syntax_Syntax.as_arg pat in - [uu____3832] in - [uu____3821] in - (uu____3803, uu____3808) in + FStar_Syntax_Syntax.as_arg pat + in + [uu____3832] in + [uu____3821] in + (uu____3803, uu____3808) in FStar_Syntax_Syntax.Meta_pattern - uu____3782 in - (body, uu____3781) in - FStar_Syntax_Syntax.Tm_meta uu____3774 in - mk1 uu____3773 in + uu____3782 + in + (body, uu____3781) in + FStar_Syntax_Syntax.Tm_meta uu____3774 in + mk1 uu____3773 in FStar_Syntax_Util.close_forall_no_univs binders1 pattern_guarded_body | uu____3895 -> failwith - "Impossible: Expected the equivalence to be a quantified formula" in + "Impossible: Expected the equivalence to be a quantified formula" + in let body = let uu____3904 = let uu____3907 = let uu____3908 = let uu____3911 = - FStar_Syntax_Syntax.bv_to_name wp in + FStar_Syntax_Syntax.bv_to_name wp in let uu____3914 = - let uu____3925 = args_of_binders1 wp_args in + let uu____3925 = args_of_binders1 wp_args + in let uu____3928 = let uu____3931 = let uu____3932 = - FStar_Syntax_Syntax.bv_to_name k in - FStar_Syntax_Syntax.as_arg uu____3932 in - [uu____3931] in - FStar_List.append uu____3925 uu____3928 in + FStar_Syntax_Syntax.bv_to_name k in + FStar_Syntax_Syntax.as_arg uu____3932 + in + [uu____3931] in + FStar_List.append uu____3925 uu____3928 in FStar_Syntax_Util.mk_app uu____3911 - uu____3914 in - FStar_Syntax_Util.mk_imp equiv1 uu____3908 in - FStar_Syntax_Util.mk_forall_no_univ k uu____3907 in + uu____3914 + in + FStar_Syntax_Util.mk_imp equiv1 uu____3908 in + FStar_Syntax_Util.mk_forall_no_univ k uu____3907 + in FStar_Syntax_Util.abs gamma uu____3904 - ret_gtot_type in + ret_gtot_type + in let uu____3933 = let uu____3934 = - FStar_Syntax_Syntax.binders_of_list [a1; wp] in - FStar_List.append binders uu____3934 in - FStar_Syntax_Util.abs uu____3933 body ret_gtot_type in + FStar_Syntax_Syntax.binders_of_list [a1; wp] in + FStar_List.append binders uu____3934 in + FStar_Syntax_Util.abs uu____3933 body ret_gtot_type + in let ite_wp1 = - let uu____3950 = mk_lid "ite_wp" in - register env1 uu____3950 ite_wp in - let ite_wp2 = mk_generic_app ite_wp1 in + let uu____3950 = mk_lid "ite_wp" in + register env1 uu____3950 ite_wp in + let ite_wp2 = mk_generic_app ite_wp1 in let null_wp = let wp = FStar_Syntax_Syntax.gen_bv "wp" - FStar_Pervasives_Native.None wp_a1 in - let uu____3958 = FStar_Util.prefix gamma in + FStar_Pervasives_Native.None wp_a1 + in + let uu____3958 = FStar_Util.prefix gamma in match uu____3958 with - | (wp_args, post) -> + | (wp_args,post) -> let x = FStar_Syntax_Syntax.gen_bv "x" FStar_Pervasives_Native.None - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let body = let uu____4016 = let uu____4017 = FStar_All.pipe_left FStar_Syntax_Syntax.bv_to_name - (FStar_Pervasives_Native.fst post) in + (FStar_Pervasives_Native.fst post) + in let uu____4024 = let uu____4035 = let uu____4044 = - FStar_Syntax_Syntax.bv_to_name x in - FStar_Syntax_Syntax.as_arg uu____4044 in - [uu____4035] in - FStar_Syntax_Util.mk_app uu____4017 uu____4024 in - FStar_Syntax_Util.mk_forall_no_univ x uu____4016 in + FStar_Syntax_Syntax.bv_to_name x in + FStar_Syntax_Syntax.as_arg uu____4044 in + [uu____4035] in + FStar_Syntax_Util.mk_app uu____4017 uu____4024 + in + FStar_Syntax_Util.mk_forall_no_univ x uu____4016 + in let uu____4061 = let uu____4062 = let uu____4071 = - FStar_Syntax_Syntax.binders_of_list [a1] in - FStar_List.append uu____4071 gamma in - FStar_List.append binders uu____4062 in - FStar_Syntax_Util.abs uu____4061 body ret_gtot_type in + FStar_Syntax_Syntax.binders_of_list [a1] in + FStar_List.append uu____4071 gamma in + FStar_List.append binders uu____4062 in + FStar_Syntax_Util.abs uu____4061 body ret_gtot_type + in let null_wp1 = - let uu____4093 = mk_lid "null_wp" in - register env1 uu____4093 null_wp in - let null_wp2 = mk_generic_app null_wp1 in + let uu____4093 = mk_lid "null_wp" in + register env1 uu____4093 null_wp in + let null_wp2 = mk_generic_app null_wp1 in let wp_trivial = let wp = FStar_Syntax_Syntax.gen_bv "wp" - FStar_Pervasives_Native.None wp_a1 in + FStar_Pervasives_Native.None wp_a1 + in let body = let uu____4106 = let uu____4117 = - let uu____4120 = FStar_Syntax_Syntax.bv_to_name a1 in + let uu____4120 = FStar_Syntax_Syntax.bv_to_name a1 + in let uu____4121 = let uu____4124 = let uu____4125 = let uu____4136 = let uu____4145 = - FStar_Syntax_Syntax.bv_to_name a1 in - FStar_Syntax_Syntax.as_arg uu____4145 in - [uu____4136] in - FStar_Syntax_Util.mk_app null_wp2 uu____4125 in + FStar_Syntax_Syntax.bv_to_name a1 in + FStar_Syntax_Syntax.as_arg uu____4145 in + [uu____4136] in + FStar_Syntax_Util.mk_app null_wp2 uu____4125 + in let uu____4162 = let uu____4165 = - FStar_Syntax_Syntax.bv_to_name wp in - [uu____4165] in - uu____4124 :: uu____4162 in - uu____4120 :: uu____4121 in - FStar_List.map FStar_Syntax_Syntax.as_arg uu____4117 in - FStar_Syntax_Util.mk_app stronger2 uu____4106 in + FStar_Syntax_Syntax.bv_to_name wp in + [uu____4165] in + uu____4124 :: uu____4162 in + uu____4120 :: uu____4121 in + FStar_List.map FStar_Syntax_Syntax.as_arg uu____4117 + in + FStar_Syntax_Util.mk_app stronger2 uu____4106 in let uu____4174 = let uu____4175 = - FStar_Syntax_Syntax.binders_of_list [a1; wp] in - FStar_List.append binders uu____4175 in - FStar_Syntax_Util.abs uu____4174 body ret_tot_type in + FStar_Syntax_Syntax.binders_of_list [a1; wp] in + FStar_List.append binders uu____4175 in + FStar_Syntax_Util.abs uu____4174 body ret_tot_type in let wp_trivial1 = - let uu____4191 = mk_lid "wp_trivial" in - register env1 uu____4191 wp_trivial in - let wp_trivial2 = mk_generic_app wp_trivial1 in + let uu____4191 = mk_lid "wp_trivial" in + register env1 uu____4191 wp_trivial in + let wp_trivial2 = mk_generic_app wp_trivial1 in ((let uu____4197 = FStar_TypeChecker_Env.debug env1 - (FStar_Options.Other "ED") in + (FStar_Options.Other "ED") + in if uu____4197 then d "End Dijkstra monads for free" else ()); - (let c = FStar_Syntax_Subst.close binders in + (let c = FStar_Syntax_Subst.close binders in let uu____4209 = - let uu____4210 = FStar_ST.op_Bang sigelts in - FStar_List.rev uu____4210 in + let uu____4210 = FStar_ST.op_Bang sigelts in + FStar_List.rev uu____4210 in let uu____4236 = - let uu___349_4237 = ed in + let uu___349_4237 = ed in let uu____4238 = - let uu____4239 = c wp_if_then_else2 in - ([], uu____4239) in + let uu____4239 = c wp_if_then_else2 in + ([], uu____4239) in let uu____4246 = - let uu____4247 = c ite_wp2 in ([], uu____4247) in + let uu____4247 = c ite_wp2 in ([], uu____4247) in let uu____4254 = - let uu____4255 = c stronger2 in ([], uu____4255) in + let uu____4255 = c stronger2 in ([], uu____4255) in let uu____4262 = - let uu____4263 = c wp_close2 in ([], uu____4263) in + let uu____4263 = c wp_close2 in ([], uu____4263) in let uu____4270 = - let uu____4271 = c wp_assert2 in ([], uu____4271) in + let uu____4271 = c wp_assert2 in ([], uu____4271) + in let uu____4278 = - let uu____4279 = c wp_assume2 in ([], uu____4279) in + let uu____4279 = c wp_assume2 in ([], uu____4279) + in let uu____4286 = - let uu____4287 = c null_wp2 in ([], uu____4287) in + let uu____4287 = c null_wp2 in ([], uu____4287) in let uu____4294 = - let uu____4295 = c wp_trivial2 in ([], uu____4295) in + let uu____4295 = c wp_trivial2 in ([], uu____4295) + in { FStar_Syntax_Syntax.cattributes = (uu___349_4237.FStar_Syntax_Syntax.cattributes); @@ -1333,88 +1500,98 @@ let (gen_wps_for_free : (uu___349_4237.FStar_Syntax_Syntax.actions); FStar_Syntax_Syntax.eff_attrs = (uu___349_4237.FStar_Syntax_Syntax.eff_attrs) - } in + } in (uu____4209, uu____4236))))) + type env_ = env -let (get_env : env -> FStar_TypeChecker_Env.env) = fun env -> env.tcenv +let (get_env : env -> FStar_TypeChecker_Env.env) = fun env -> env.tcenv let (set_env : env -> FStar_TypeChecker_Env.env -> env) = - fun dmff_env -> - fun env' -> - let uu___354_4319 = dmff_env in + fun dmff_env -> + fun env' -> + let uu___354_4319 = dmff_env in { tcenv = env'; subst = (uu___354_4319.subst); tc_const = (uu___354_4319.tc_const) } + type nm = | N of FStar_Syntax_Syntax.typ | M of FStar_Syntax_Syntax.typ let (uu___is_N : nm -> Prims.bool) = - fun projectee -> match projectee with | N _0 -> true | uu____4340 -> false + fun projectee -> match projectee with | N _0 -> true | uu____4340 -> false let (__proj__N__item___0 : nm -> FStar_Syntax_Syntax.typ) = - fun projectee -> match projectee with | N _0 -> _0 + fun projectee -> match projectee with | N _0 -> _0 let (uu___is_M : nm -> Prims.bool) = - fun projectee -> match projectee with | M _0 -> true | uu____4359 -> false + fun projectee -> match projectee with | M _0 -> true | uu____4359 -> false let (__proj__M__item___0 : nm -> FStar_Syntax_Syntax.typ) = - fun projectee -> match projectee with | M _0 -> _0 + fun projectee -> match projectee with | M _0 -> _0 type nm_ = nm let (nm_of_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> nm) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, uu____4379) -> N t + | FStar_Syntax_Syntax.Total (t,uu____4379) -> N t | FStar_Syntax_Syntax.Comp c1 when FStar_All.pipe_right c1.FStar_Syntax_Syntax.flags (FStar_Util.for_some - (fun uu___0_4393 -> + (fun uu___0_4393 -> match uu___0_4393 with - | FStar_Syntax_Syntax.CPS -> true + | FStar_Syntax_Syntax.CPS -> true | uu____4396 -> false)) -> M (c1.FStar_Syntax_Syntax.result_typ) | uu____4398 -> let uu____4399 = let uu____4405 = - let uu____4407 = FStar_Syntax_Print.comp_to_string c in + let uu____4407 = FStar_Syntax_Print.comp_to_string c in FStar_Util.format1 "[nm_of_comp]: unexpected computation type %s" - uu____4407 in - (FStar_Errors.Error_UnexpectedDM4FType, uu____4405) in + uu____4407 + in + (FStar_Errors.Error_UnexpectedDM4FType, uu____4405) in FStar_Errors.raise_error uu____4399 c.FStar_Syntax_Syntax.pos + let (string_of_nm : nm -> Prims.string) = - fun uu___1_4417 -> + fun uu___1_4417 -> match uu___1_4417 with | N t -> - let uu____4420 = FStar_Syntax_Print.term_to_string t in + let uu____4420 = FStar_Syntax_Print.term_to_string t in FStar_Util.format1 "N[%s]" uu____4420 | M t -> - let uu____4424 = FStar_Syntax_Print.term_to_string t in + let uu____4424 = FStar_Syntax_Print.term_to_string t in FStar_Util.format1 "M[%s]" uu____4424 + let (is_monadic_arrow : FStar_Syntax_Syntax.term' -> nm) = - fun n1 -> + fun n1 -> match n1 with - | FStar_Syntax_Syntax.Tm_arrow (uu____4433, c) -> nm_of_comp c + | FStar_Syntax_Syntax.Tm_arrow (uu____4433,c) -> nm_of_comp c | uu____4455 -> failwith "unexpected_argument: [is_monadic_arrow]" + let (is_monadic_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun c -> - let uu____4468 = nm_of_comp c in + fun c -> + let uu____4468 = nm_of_comp c in match uu____4468 with | M uu____4470 -> true | N uu____4472 -> false + exception Not_found let (uu___is_Not_found : Prims.exn -> Prims.bool) = - fun projectee -> - match projectee with | Not_found -> true | uu____4483 -> false + fun projectee -> + match projectee with | Not_found -> true | uu____4483 -> false + let (double_star : FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) = - fun typ -> + fun typ -> let star_once typ1 = let uu____4499 = let uu____4508 = let uu____4515 = - FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None typ1 in - FStar_All.pipe_left FStar_Syntax_Syntax.mk_binder uu____4515 in - [uu____4508] in - let uu____4534 = FStar_Syntax_Syntax.mk_Total FStar_Syntax_Util.ktype0 in - FStar_Syntax_Util.arrow uu____4499 uu____4534 in - let uu____4537 = FStar_All.pipe_right typ star_once in + FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None typ1 in + FStar_All.pipe_left FStar_Syntax_Syntax.mk_binder uu____4515 in + [uu____4508] in + let uu____4534 = FStar_Syntax_Syntax.mk_Total FStar_Syntax_Util.ktype0 + in + FStar_Syntax_Util.arrow uu____4499 uu____4534 in + let uu____4537 = FStar_All.pipe_right typ star_once in FStar_All.pipe_left star_once uu____4537 + let rec (mk_star_to_type : (FStar_Syntax_Syntax.term' -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) @@ -1423,83 +1600,85 @@ let rec (mk_star_to_type : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun mk1 -> - fun env -> - fun a -> + fun mk1 -> + fun env -> + fun a -> let uu____4579 = let uu____4580 = let uu____4595 = let uu____4604 = let uu____4611 = - let uu____4612 = star_type' env a in - FStar_Syntax_Syntax.null_bv uu____4612 in - let uu____4613 = FStar_Syntax_Syntax.as_implicit false in - (uu____4611, uu____4613) in - [uu____4604] in + let uu____4612 = star_type' env a in + FStar_Syntax_Syntax.null_bv uu____4612 in + let uu____4613 = FStar_Syntax_Syntax.as_implicit false in + (uu____4611, uu____4613) in + [uu____4604] in let uu____4631 = - FStar_Syntax_Syntax.mk_Total FStar_Syntax_Util.ktype0 in - (uu____4595, uu____4631) in - FStar_Syntax_Syntax.Tm_arrow uu____4580 in + FStar_Syntax_Syntax.mk_Total FStar_Syntax_Util.ktype0 in + (uu____4595, uu____4631) in + FStar_Syntax_Syntax.Tm_arrow uu____4580 in mk1 uu____4579 + and (star_type' : env -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term) = - fun env -> - fun t -> + fun env -> + fun t -> let mk1 x = FStar_Syntax_Syntax.mk x FStar_Pervasives_Native.None - t.FStar_Syntax_Syntax.pos in - let mk_star_to_type1 = mk_star_to_type mk1 in - let t1 = FStar_Syntax_Subst.compress t in + t.FStar_Syntax_Syntax.pos + in + let mk_star_to_type1 = mk_star_to_type mk1 in + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (binders, uu____4671) -> + | FStar_Syntax_Syntax.Tm_arrow (binders,uu____4671) -> let binders1 = FStar_List.map - (fun uu____4717 -> + (fun uu____4717 -> match uu____4717 with - | (bv, aqual) -> + | (bv,aqual) -> let uu____4736 = - let uu___404_4737 = bv in + let uu___404_4737 = bv in let uu____4738 = - star_type' env bv.FStar_Syntax_Syntax.sort in + star_type' env bv.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___404_4737.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___404_4737.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____4738 - } in - (uu____4736, aqual)) binders in + } in + (uu____4736, aqual)) binders + in (match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_arrow - (uu____4743, - { - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.GTotal - (hn, uu____4745); - FStar_Syntax_Syntax.pos = uu____4746; - FStar_Syntax_Syntax.vars = uu____4747;_}) + (uu____4743,{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.GTotal (hn,uu____4745); + FStar_Syntax_Syntax.pos = uu____4746; + FStar_Syntax_Syntax.vars = uu____4747;_}) -> let uu____4776 = let uu____4777 = let uu____4792 = - let uu____4795 = star_type' env hn in - FStar_Syntax_Syntax.mk_GTotal uu____4795 in - (binders1, uu____4792) in - FStar_Syntax_Syntax.Tm_arrow uu____4777 in + let uu____4795 = star_type' env hn in + FStar_Syntax_Syntax.mk_GTotal uu____4795 in + (binders1, uu____4792) in + FStar_Syntax_Syntax.Tm_arrow uu____4777 in mk1 uu____4776 | uu____4806 -> - let uu____4807 = is_monadic_arrow t1.FStar_Syntax_Syntax.n in + let uu____4807 = is_monadic_arrow t1.FStar_Syntax_Syntax.n in (match uu____4807 with | N hn -> let uu____4809 = let uu____4810 = let uu____4825 = - let uu____4828 = star_type' env hn in - FStar_Syntax_Syntax.mk_Total uu____4828 in - (binders1, uu____4825) in - FStar_Syntax_Syntax.Tm_arrow uu____4810 in + let uu____4828 = star_type' env hn in + FStar_Syntax_Syntax.mk_Total uu____4828 in + (binders1, uu____4825) in + FStar_Syntax_Syntax.Tm_arrow uu____4810 in mk1 uu____4809 | M a -> let uu____4840 = @@ -1508,110 +1687,121 @@ and (star_type' : let uu____4865 = let uu____4874 = let uu____4881 = - let uu____4882 = mk_star_to_type1 env a in - FStar_Syntax_Syntax.null_bv uu____4882 in + let uu____4882 = mk_star_to_type1 env a in + FStar_Syntax_Syntax.null_bv uu____4882 in let uu____4883 = - FStar_Syntax_Syntax.as_implicit false in - (uu____4881, uu____4883) in - [uu____4874] in - FStar_List.append binders1 uu____4865 in + FStar_Syntax_Syntax.as_implicit false in + (uu____4881, uu____4883) in + [uu____4874] in + FStar_List.append binders1 uu____4865 in let uu____4907 = FStar_Syntax_Syntax.mk_Total - FStar_Syntax_Util.ktype0 in - (uu____4856, uu____4907) in - FStar_Syntax_Syntax.Tm_arrow uu____4841 in + FStar_Syntax_Util.ktype0 + in + (uu____4856, uu____4907) in + FStar_Syntax_Syntax.Tm_arrow uu____4841 in mk1 uu____4840)) - | FStar_Syntax_Syntax.Tm_app (head1, args) -> + | FStar_Syntax_Syntax.Tm_app (head1,args) -> let debug1 t2 s = let string_of_set f s1 = - let elts = FStar_Util.set_elements s1 in + let elts = FStar_Util.set_elements s1 in match elts with | [] -> "{}" | x::xs -> - let strb = FStar_Util.new_string_builder () in + let strb = FStar_Util.new_string_builder () in (FStar_Util.string_builder_append strb "{"; - (let uu____5001 = f x in + (let uu____5001 = f x in FStar_Util.string_builder_append strb uu____5001); FStar_List.iter - (fun x1 -> + (fun x1 -> FStar_Util.string_builder_append strb ", "; - (let uu____5010 = f x1 in + (let uu____5010 = f x1 in FStar_Util.string_builder_append strb uu____5010)) xs; FStar_Util.string_builder_append strb "}"; - FStar_Util.string_of_string_builder strb) in + FStar_Util.string_of_string_builder strb) + in let uu____5014 = let uu____5020 = - let uu____5022 = FStar_Syntax_Print.term_to_string t2 in + let uu____5022 = FStar_Syntax_Print.term_to_string t2 in let uu____5024 = - string_of_set FStar_Syntax_Print.bv_to_string s in + string_of_set FStar_Syntax_Print.bv_to_string s in FStar_Util.format2 "Dependency found in term %s : %s" - uu____5022 uu____5024 in - (FStar_Errors.Warning_DependencyFound, uu____5020) in - FStar_Errors.log_issue t2.FStar_Syntax_Syntax.pos uu____5014 in + uu____5022 uu____5024 + in + (FStar_Errors.Warning_DependencyFound, uu____5020) in + FStar_Errors.log_issue t2.FStar_Syntax_Syntax.pos uu____5014 in let rec is_non_dependent_arrow ty n1 = let uu____5046 = - let uu____5047 = FStar_Syntax_Subst.compress ty in - uu____5047.FStar_Syntax_Syntax.n in + let uu____5047 = FStar_Syntax_Subst.compress ty in + uu____5047.FStar_Syntax_Syntax.n in match uu____5046 with - | FStar_Syntax_Syntax.Tm_arrow (binders, c) -> + | FStar_Syntax_Syntax.Tm_arrow (binders,c) -> let uu____5073 = - let uu____5075 = FStar_Syntax_Util.is_tot_or_gtot_comp c in - Prims.op_Negation uu____5075 in + let uu____5075 = FStar_Syntax_Util.is_tot_or_gtot_comp c + in + Prims.op_Negation uu____5075 in if uu____5073 then false else (try - (fun uu___453_5092 -> + (fun uu___453_5092 -> match () with | () -> let non_dependent_or_raise s ty1 = let sinter = - let uu____5116 = FStar_Syntax_Free.names ty1 in - FStar_Util.set_intersect uu____5116 s in + let uu____5116 = FStar_Syntax_Free.names ty1 + in + FStar_Util.set_intersect uu____5116 s in let uu____5119 = let uu____5121 = - FStar_Util.set_is_empty sinter in - Prims.op_Negation uu____5121 in + FStar_Util.set_is_empty sinter in + Prims.op_Negation uu____5121 in if uu____5119 then (debug1 ty1 sinter; FStar_Exn.raise Not_found) - else () in + else () in let uu____5127 = - FStar_Syntax_Subst.open_comp binders c in + FStar_Syntax_Subst.open_comp binders c in (match uu____5127 with - | (binders1, c1) -> + | (binders1,c1) -> let s = FStar_List.fold_left - (fun s -> - fun uu____5152 -> + (fun s -> + fun uu____5152 -> match uu____5152 with - | (bv, uu____5164) -> + | (bv,uu____5164) -> (non_dependent_or_raise s bv.FStar_Syntax_Syntax.sort; FStar_Util.set_add bv s)) - FStar_Syntax_Syntax.no_names binders1 in - let ct = FStar_Syntax_Util.comp_result c1 in + FStar_Syntax_Syntax.no_names binders1 + in + let ct = FStar_Syntax_Util.comp_result c1 + in (non_dependent_or_raise s ct; - (let k = n1 - (FStar_List.length binders1) in + (let k = n1 - (FStar_List.length binders1) + in if k > (Prims.parse_int "0") then is_non_dependent_arrow ct k else true)))) () - with | Not_found -> false) + with | Not_found -> false) | uu____5192 -> ((let uu____5194 = let uu____5200 = - let uu____5202 = FStar_Syntax_Print.term_to_string ty in + let uu____5202 = FStar_Syntax_Print.term_to_string ty + in FStar_Util.format1 "Not a dependent arrow : %s" - uu____5202 in - (FStar_Errors.Warning_NotDependentArrow, uu____5200) in + uu____5202 + in + (FStar_Errors.Warning_NotDependentArrow, uu____5200) in FStar_Errors.log_issue ty.FStar_Syntax_Syntax.pos uu____5194); - false) in + false) + in let rec is_valid_application head2 = let uu____5218 = - let uu____5219 = FStar_Syntax_Subst.compress head2 in - uu____5219.FStar_Syntax_Syntax.n in + let uu____5219 = FStar_Syntax_Subst.compress head2 in + uu____5219.FStar_Syntax_Syntax.n in match uu____5218 with | FStar_Syntax_Syntax.Tm_fvar fv when (((FStar_Syntax_Syntax.fv_eq_lid fv @@ -1623,17 +1813,18 @@ and (star_type' : (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.eq2_lid)) || - (let uu____5225 = FStar_Syntax_Subst.compress head2 in + (let uu____5225 = FStar_Syntax_Subst.compress head2 in FStar_Syntax_Util.is_tuple_constructor uu____5225) -> true | FStar_Syntax_Syntax.Tm_fvar fv -> let uu____5228 = FStar_TypeChecker_Env.lookup_lid env.tcenv - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in (match uu____5228 with - | ((uu____5238, ty), uu____5240) -> + | ((uu____5238,ty),uu____5240) -> let uu____5245 = - is_non_dependent_arrow ty (FStar_List.length args) in + is_non_dependent_arrow ty (FStar_List.length args) in if uu____5245 then let res = @@ -1641,85 +1832,93 @@ and (star_type' : [FStar_TypeChecker_Env.EraseUniverses; FStar_TypeChecker_Env.Inlining; FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant] env.tcenv t1 in + FStar_Syntax_Syntax.delta_constant] env.tcenv t1 + in let uu____5258 = - let uu____5259 = FStar_Syntax_Subst.compress res in - uu____5259.FStar_Syntax_Syntax.n in + let uu____5259 = FStar_Syntax_Subst.compress res in + uu____5259.FStar_Syntax_Syntax.n in (match uu____5258 with | FStar_Syntax_Syntax.Tm_app uu____5263 -> true | uu____5281 -> ((let uu____5283 = let uu____5289 = let uu____5291 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 + in FStar_Util.format1 "Got a term which might be a non-dependent user-defined data-type %s\n" - uu____5291 in + uu____5291 + in (FStar_Errors.Warning_NondependentUserDefinedDataType, - uu____5289) in + uu____5289) + in FStar_Errors.log_issue head2.FStar_Syntax_Syntax.pos uu____5283); false)) else false) | FStar_Syntax_Syntax.Tm_bvar uu____5299 -> true | FStar_Syntax_Syntax.Tm_name uu____5301 -> true - | FStar_Syntax_Syntax.Tm_uinst (t2, uu____5304) -> + | FStar_Syntax_Syntax.Tm_uinst (t2,uu____5304) -> is_valid_application t2 - | uu____5309 -> false in - let uu____5311 = is_valid_application head1 in + | uu____5309 -> false in + let uu____5311 = is_valid_application head1 in if uu____5311 then let uu____5314 = let uu____5315 = let uu____5332 = FStar_List.map - (fun uu____5361 -> + (fun uu____5361 -> match uu____5361 with - | (t2, qual) -> - let uu____5386 = star_type' env t2 in - (uu____5386, qual)) args in - (head1, uu____5332) in - FStar_Syntax_Syntax.Tm_app uu____5315 in + | (t2,qual) -> + let uu____5386 = star_type' env t2 in + (uu____5386, qual)) args + in + (head1, uu____5332) in + FStar_Syntax_Syntax.Tm_app uu____5315 in mk1 uu____5314 else (let uu____5403 = let uu____5409 = - let uu____5411 = FStar_Syntax_Print.term_to_string t1 in + let uu____5411 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.format1 "For now, only [either], [option] and [eq2] are supported in the definition language (got: %s)" - uu____5411 in - (FStar_Errors.Fatal_WrongTerm, uu____5409) in + uu____5411 + in + (FStar_Errors.Fatal_WrongTerm, uu____5409) in FStar_Errors.raise_err uu____5403) | FStar_Syntax_Syntax.Tm_bvar uu____5415 -> t1 | FStar_Syntax_Syntax.Tm_name uu____5416 -> t1 | FStar_Syntax_Syntax.Tm_type uu____5417 -> t1 | FStar_Syntax_Syntax.Tm_fvar uu____5418 -> t1 - | FStar_Syntax_Syntax.Tm_abs (binders, repr, something) -> - let uu____5446 = FStar_Syntax_Subst.open_term binders repr in + | FStar_Syntax_Syntax.Tm_abs (binders,repr,something) -> + let uu____5446 = FStar_Syntax_Subst.open_term binders repr in (match uu____5446 with - | (binders1, repr1) -> + | (binders1,repr1) -> let env1 = - let uu___525_5454 = env in + let uu___525_5454 = env in let uu____5455 = - FStar_TypeChecker_Env.push_binders env.tcenv binders1 in + FStar_TypeChecker_Env.push_binders env.tcenv binders1 in { tcenv = uu____5455; subst = (uu___525_5454.subst); tc_const = (uu___525_5454.tc_const) - } in - let repr2 = star_type' env1 repr1 in + } in + let repr2 = star_type' env1 repr1 in FStar_Syntax_Util.abs binders1 repr2 something) - | FStar_Syntax_Syntax.Tm_refine (x, t2) when false -> - let x1 = FStar_Syntax_Syntax.freshen_bv x in - let sort = star_type' env x1.FStar_Syntax_Syntax.sort in - let subst1 = [FStar_Syntax_Syntax.DB ((Prims.parse_int "0"), x1)] in - let t3 = FStar_Syntax_Subst.subst subst1 t2 in - let t4 = star_type' env t3 in - let subst2 = [FStar_Syntax_Syntax.NM (x1, (Prims.parse_int "0"))] in - let t5 = FStar_Syntax_Subst.subst subst2 t4 in + | FStar_Syntax_Syntax.Tm_refine (x,t2) when false -> + let x1 = FStar_Syntax_Syntax.freshen_bv x in + let sort = star_type' env x1.FStar_Syntax_Syntax.sort in + let subst1 = [FStar_Syntax_Syntax.DB ((Prims.parse_int "0"), x1)] + in + let t3 = FStar_Syntax_Subst.subst subst1 t2 in + let t4 = star_type' env t3 in + let subst2 = [FStar_Syntax_Syntax.NM (x1, (Prims.parse_int "0"))] + in + let t5 = FStar_Syntax_Subst.subst subst2 t4 in mk1 (FStar_Syntax_Syntax.Tm_refine - ((let uu___540_5482 = x1 in + ((let uu___540_5482 = x1 in { FStar_Syntax_Syntax.ppname = (uu___540_5482.FStar_Syntax_Syntax.ppname); @@ -1727,331 +1926,362 @@ and (star_type' : (uu___540_5482.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = sort }), t5)) - | FStar_Syntax_Syntax.Tm_meta (t2, m) -> + | FStar_Syntax_Syntax.Tm_meta (t2,m) -> let uu____5489 = let uu____5490 = - let uu____5497 = star_type' env t2 in (uu____5497, m) in - FStar_Syntax_Syntax.Tm_meta uu____5490 in + let uu____5497 = star_type' env t2 in (uu____5497, m) in + FStar_Syntax_Syntax.Tm_meta uu____5490 in mk1 uu____5489 | FStar_Syntax_Syntax.Tm_ascribed - (e, (FStar_Util.Inl t2, FStar_Pervasives_Native.None), something) - -> + (e,(FStar_Util.Inl t2,FStar_Pervasives_Native.None ),something) -> let uu____5549 = let uu____5550 = - let uu____5577 = star_type' env e in + let uu____5577 = star_type' env e in let uu____5580 = let uu____5597 = - let uu____5606 = star_type' env t2 in - FStar_Util.Inl uu____5606 in - (uu____5597, FStar_Pervasives_Native.None) in - (uu____5577, uu____5580, something) in - FStar_Syntax_Syntax.Tm_ascribed uu____5550 in + let uu____5606 = star_type' env t2 in + FStar_Util.Inl uu____5606 in + (uu____5597, FStar_Pervasives_Native.None) in + (uu____5577, uu____5580, something) in + FStar_Syntax_Syntax.Tm_ascribed uu____5550 in mk1 uu____5549 | FStar_Syntax_Syntax.Tm_ascribed - (e, (FStar_Util.Inr c, FStar_Pervasives_Native.None), something) -> + (e,(FStar_Util.Inr c,FStar_Pervasives_Native.None ),something) -> let uu____5694 = let uu____5695 = - let uu____5722 = star_type' env e in + let uu____5722 = star_type' env e in let uu____5725 = let uu____5742 = let uu____5751 = - star_type' env (FStar_Syntax_Util.comp_result c) in - FStar_Util.Inl uu____5751 in - (uu____5742, FStar_Pervasives_Native.None) in - (uu____5722, uu____5725, something) in - FStar_Syntax_Syntax.Tm_ascribed uu____5695 in + star_type' env (FStar_Syntax_Util.comp_result c) in + FStar_Util.Inl uu____5751 in + (uu____5742, FStar_Pervasives_Native.None) in + (uu____5722, uu____5725, something) in + FStar_Syntax_Syntax.Tm_ascribed uu____5695 in mk1 uu____5694 | FStar_Syntax_Syntax.Tm_ascribed - (uu____5792, (uu____5793, FStar_Pervasives_Native.Some uu____5794), - uu____5795) + (uu____5792,(uu____5793,FStar_Pervasives_Native.Some uu____5794),uu____5795) -> let uu____5844 = let uu____5850 = - let uu____5852 = FStar_Syntax_Print.term_to_string t1 in + let uu____5852 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.format1 "Ascriptions with tactics are outside of the definition language: %s" - uu____5852 in - (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5850) in + uu____5852 + in + (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5850) in FStar_Errors.raise_err uu____5844 | FStar_Syntax_Syntax.Tm_refine uu____5856 -> let uu____5863 = let uu____5869 = - let uu____5871 = FStar_Syntax_Print.term_to_string t1 in + let uu____5871 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.format1 "Tm_refine is outside of the definition language: %s" - uu____5871 in - (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5869) in + uu____5871 + in + (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5869) in FStar_Errors.raise_err uu____5863 | FStar_Syntax_Syntax.Tm_uinst uu____5875 -> let uu____5882 = let uu____5888 = - let uu____5890 = FStar_Syntax_Print.term_to_string t1 in + let uu____5890 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.format1 "Tm_uinst is outside of the definition language: %s" - uu____5890 in - (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5888) in + uu____5890 + in + (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5888) in FStar_Errors.raise_err uu____5882 | FStar_Syntax_Syntax.Tm_quoted uu____5894 -> let uu____5901 = let uu____5907 = - let uu____5909 = FStar_Syntax_Print.term_to_string t1 in + let uu____5909 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.format1 "Tm_quoted is outside of the definition language: %s" - uu____5909 in - (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5907) in + uu____5909 + in + (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5907) in FStar_Errors.raise_err uu____5901 | FStar_Syntax_Syntax.Tm_constant uu____5913 -> let uu____5914 = let uu____5920 = - let uu____5922 = FStar_Syntax_Print.term_to_string t1 in + let uu____5922 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.format1 "Tm_constant is outside of the definition language: %s" - uu____5922 in - (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5920) in + uu____5922 + in + (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5920) in FStar_Errors.raise_err uu____5914 | FStar_Syntax_Syntax.Tm_match uu____5926 -> let uu____5949 = let uu____5955 = - let uu____5957 = FStar_Syntax_Print.term_to_string t1 in + let uu____5957 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.format1 "Tm_match is outside of the definition language: %s" - uu____5957 in - (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5955) in + uu____5957 + in + (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5955) in FStar_Errors.raise_err uu____5949 | FStar_Syntax_Syntax.Tm_let uu____5961 -> let uu____5975 = let uu____5981 = - let uu____5983 = FStar_Syntax_Print.term_to_string t1 in + let uu____5983 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.format1 - "Tm_let is outside of the definition language: %s" uu____5983 in - (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5981) in + "Tm_let is outside of the definition language: %s" uu____5983 + in + (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____5981) in FStar_Errors.raise_err uu____5975 | FStar_Syntax_Syntax.Tm_uvar uu____5987 -> let uu____6000 = let uu____6006 = - let uu____6008 = FStar_Syntax_Print.term_to_string t1 in + let uu____6008 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.format1 "Tm_uvar is outside of the definition language: %s" - uu____6008 in - (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____6006) in + uu____6008 + in + (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____6006) in FStar_Errors.raise_err uu____6000 - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> let uu____6012 = let uu____6018 = - let uu____6020 = FStar_Syntax_Print.term_to_string t1 in + let uu____6020 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.format1 "Tm_unknown is outside of the definition language: %s" - uu____6020 in - (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____6018) in + uu____6020 + in + (FStar_Errors.Fatal_TermOutsideOfDefLanguage, uu____6018) in FStar_Errors.raise_err uu____6012 | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____6025 = FStar_Syntax_Util.unfold_lazy i in + let uu____6025 = FStar_Syntax_Util.unfold_lazy i in star_type' env uu____6025 | FStar_Syntax_Syntax.Tm_delayed uu____6028 -> failwith "impossible" + let (is_monadic : FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option -> Prims.bool) = - fun uu___3_6060 -> + fun uu___3_6060 -> match uu___3_6060 with - | FStar_Pervasives_Native.None -> failwith "un-annotated lambda?!" + | FStar_Pervasives_Native.None -> failwith "un-annotated lambda?!" | FStar_Pervasives_Native.Some rc -> FStar_All.pipe_right rc.FStar_Syntax_Syntax.residual_flags (FStar_Util.for_some - (fun uu___2_6071 -> + (fun uu___2_6071 -> match uu___2_6071 with - | FStar_Syntax_Syntax.CPS -> true + | FStar_Syntax_Syntax.CPS -> true | uu____6074 -> false)) + let rec (is_C : FStar_Syntax_Syntax.typ -> Prims.bool) = - fun t -> + fun t -> let uu____6084 = - let uu____6085 = FStar_Syntax_Subst.compress t in - uu____6085.FStar_Syntax_Syntax.n in + let uu____6085 = FStar_Syntax_Subst.compress t in + uu____6085.FStar_Syntax_Syntax.n in match uu____6084 with - | FStar_Syntax_Syntax.Tm_app (head1, args) when + | FStar_Syntax_Syntax.Tm_app (head1,args) when FStar_Syntax_Util.is_tuple_constructor head1 -> let r = let uu____6117 = - let uu____6118 = FStar_List.hd args in - FStar_Pervasives_Native.fst uu____6118 in - is_C uu____6117 in + let uu____6118 = FStar_List.hd args in + FStar_Pervasives_Native.fst uu____6118 in + is_C uu____6117 in if r then ((let uu____6142 = let uu____6144 = FStar_List.for_all - (fun uu____6155 -> - match uu____6155 with | (h, uu____6164) -> is_C h) args in - Prims.op_Negation uu____6144 in + (fun uu____6155 -> + match uu____6155 with | (h,uu____6164) -> is_C h) args + in + Prims.op_Negation uu____6144 in if uu____6142 then failwith "not a C (A * C)" else ()); true) else ((let uu____6177 = let uu____6179 = FStar_List.for_all - (fun uu____6191 -> + (fun uu____6191 -> match uu____6191 with - | (h, uu____6200) -> - let uu____6205 = is_C h in - Prims.op_Negation uu____6205) args in - Prims.op_Negation uu____6179 in + | (h,uu____6200) -> + let uu____6205 = is_C h in + Prims.op_Negation uu____6205) args + in + Prims.op_Negation uu____6179 in if uu____6177 then failwith "not a C (C * A)" else ()); false) - | FStar_Syntax_Syntax.Tm_arrow (binders, comp) -> - let uu____6234 = nm_of_comp comp in + | FStar_Syntax_Syntax.Tm_arrow (binders,comp) -> + let uu____6234 = nm_of_comp comp in (match uu____6234 with | M t1 -> - ((let uu____6238 = is_C t1 in + ((let uu____6238 = is_C t1 in if uu____6238 then failwith "not a C (C -> C)" else ()); true) | N t1 -> is_C t1) - | FStar_Syntax_Syntax.Tm_meta (t1, uu____6247) -> is_C t1 - | FStar_Syntax_Syntax.Tm_uinst (t1, uu____6253) -> is_C t1 - | FStar_Syntax_Syntax.Tm_ascribed (t1, uu____6259, uu____6260) -> is_C t1 + | FStar_Syntax_Syntax.Tm_meta (t1,uu____6247) -> is_C t1 + | FStar_Syntax_Syntax.Tm_uinst (t1,uu____6253) -> is_C t1 + | FStar_Syntax_Syntax.Tm_ascribed (t1,uu____6259,uu____6260) -> is_C t1 | uu____6301 -> false + let (mk_return : env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun env -> - fun t -> - fun e -> + fun env -> + fun t -> + fun e -> let mk1 x = FStar_Syntax_Syntax.mk x FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in - let p_type = mk_star_to_type mk1 env t in + e.FStar_Syntax_Syntax.pos + in + let p_type = mk_star_to_type mk1 env t in let p = - FStar_Syntax_Syntax.gen_bv "p'" FStar_Pervasives_Native.None p_type in + FStar_Syntax_Syntax.gen_bv "p'" FStar_Pervasives_Native.None p_type + in let body = let uu____6337 = let uu____6338 = - let uu____6355 = FStar_Syntax_Syntax.bv_to_name p in + let uu____6355 = FStar_Syntax_Syntax.bv_to_name p in let uu____6358 = let uu____6369 = - let uu____6378 = FStar_Syntax_Syntax.as_implicit false in - (e, uu____6378) in - [uu____6369] in - (uu____6355, uu____6358) in - FStar_Syntax_Syntax.Tm_app uu____6338 in - mk1 uu____6337 in + let uu____6378 = FStar_Syntax_Syntax.as_implicit false in + (e, uu____6378) in + [uu____6369] in + (uu____6355, uu____6358) in + FStar_Syntax_Syntax.Tm_app uu____6338 in + mk1 uu____6337 in let uu____6414 = - let uu____6415 = FStar_Syntax_Syntax.mk_binder p in [uu____6415] in + let uu____6415 = FStar_Syntax_Syntax.mk_binder p in [uu____6415] + in FStar_Syntax_Util.abs uu____6414 body (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot FStar_Syntax_Util.ktype0)) + let (is_unknown : FStar_Syntax_Syntax.term' -> Prims.bool) = - fun uu___4_6440 -> + fun uu___4_6440 -> match uu___4_6440 with - | FStar_Syntax_Syntax.Tm_unknown -> true + | FStar_Syntax_Syntax.Tm_unknown -> true | uu____6443 -> false + let rec (check : env -> FStar_Syntax_Syntax.term -> nm -> (nm * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term)) = - fun env -> - fun e -> - fun context_nm -> + fun env -> + fun e -> + fun context_nm -> let return_if uu____6681 = match uu____6681 with - | (rec_nm, s_e, u_e) -> + | (rec_nm,s_e,u_e) -> let check1 t1 t2 = let uu____6718 = (Prims.op_Negation (is_unknown t2.FStar_Syntax_Syntax.n)) && (let uu____6721 = let uu____6723 = - FStar_TypeChecker_Rel.teq env.tcenv t1 t2 in - FStar_TypeChecker_Env.is_trivial uu____6723 in - Prims.op_Negation uu____6721) in + FStar_TypeChecker_Rel.teq env.tcenv t1 t2 in + FStar_TypeChecker_Env.is_trivial uu____6723 in + Prims.op_Negation uu____6721) + in if uu____6718 then let uu____6725 = let uu____6731 = - let uu____6733 = FStar_Syntax_Print.term_to_string e in - let uu____6735 = FStar_Syntax_Print.term_to_string t1 in - let uu____6737 = FStar_Syntax_Print.term_to_string t2 in + let uu____6733 = FStar_Syntax_Print.term_to_string e + in + let uu____6735 = FStar_Syntax_Print.term_to_string t1 + in + let uu____6737 = FStar_Syntax_Print.term_to_string t2 + in FStar_Util.format3 "[check]: the expression [%s] has type [%s] but should have type [%s]" - uu____6733 uu____6735 uu____6737 in - (FStar_Errors.Fatal_TypeMismatch, uu____6731) in + uu____6733 uu____6735 uu____6737 + in + (FStar_Errors.Fatal_TypeMismatch, uu____6731) in FStar_Errors.raise_err uu____6725 - else () in + else () in (match (rec_nm, context_nm) with - | (N t1, N t2) -> (check1 t1 t2; (rec_nm, s_e, u_e)) - | (M t1, M t2) -> (check1 t1 t2; (rec_nm, s_e, u_e)) - | (N t1, M t2) -> + | (N t1,N t2) -> (check1 t1 t2; (rec_nm, s_e, u_e)) + | (M t1,M t2) -> (check1 t1 t2; (rec_nm, s_e, u_e)) + | (N t1,M t2) -> (check1 t1 t2; - (let uu____6762 = mk_return env t1 s_e in + (let uu____6762 = mk_return env t1 s_e in ((M t1), uu____6762, u_e))) - | (M t1, N t2) -> + | (M t1,N t2) -> let uu____6769 = let uu____6775 = - let uu____6777 = FStar_Syntax_Print.term_to_string e in - let uu____6779 = FStar_Syntax_Print.term_to_string t1 in - let uu____6781 = FStar_Syntax_Print.term_to_string t2 in + let uu____6777 = FStar_Syntax_Print.term_to_string e + in + let uu____6779 = FStar_Syntax_Print.term_to_string t1 + in + let uu____6781 = FStar_Syntax_Print.term_to_string t2 + in FStar_Util.format3 "[check %s]: got an effectful computation [%s] in lieu of a pure computation [%s]" - uu____6777 uu____6779 uu____6781 in + uu____6777 uu____6779 uu____6781 + in (FStar_Errors.Fatal_EffectfulAndPureComputationMismatch, - uu____6775) in - FStar_Errors.raise_err uu____6769) in + uu____6775) + in + FStar_Errors.raise_err uu____6769) + in let ensure_m env1 e2 = let strip_m uu___5_6833 = match uu___5_6833 with - | (M t, s_e, u_e) -> (t, s_e, u_e) - | uu____6849 -> failwith "impossible" in + | (M t,s_e,u_e) -> (t, s_e, u_e) + | uu____6849 -> failwith "impossible" in match context_nm with | N t -> let uu____6870 = let uu____6876 = - let uu____6878 = FStar_Syntax_Print.term_to_string t in + let uu____6878 = FStar_Syntax_Print.term_to_string t in Prims.op_Hat "let-bound monadic body has a non-monadic continuation or a branch of a match is monadic and the others aren't : " - uu____6878 in - (FStar_Errors.Fatal_LetBoundMonadicMismatch, uu____6876) in + uu____6878 + in + (FStar_Errors.Fatal_LetBoundMonadicMismatch, uu____6876) in FStar_Errors.raise_error uu____6870 e2.FStar_Syntax_Syntax.pos | M uu____6888 -> - let uu____6889 = check env1 e2 context_nm in strip_m uu____6889 in + let uu____6889 = check env1 e2 context_nm in + strip_m uu____6889 + in let uu____6896 = - let uu____6897 = FStar_Syntax_Subst.compress e in - uu____6897.FStar_Syntax_Syntax.n in + let uu____6897 = FStar_Syntax_Subst.compress e in + uu____6897.FStar_Syntax_Syntax.n in match uu____6896 with | FStar_Syntax_Syntax.Tm_bvar uu____6906 -> - let uu____6907 = infer env e in return_if uu____6907 + let uu____6907 = infer env e in return_if uu____6907 | FStar_Syntax_Syntax.Tm_name uu____6914 -> - let uu____6915 = infer env e in return_if uu____6915 + let uu____6915 = infer env e in return_if uu____6915 | FStar_Syntax_Syntax.Tm_fvar uu____6922 -> - let uu____6923 = infer env e in return_if uu____6923 + let uu____6923 = infer env e in return_if uu____6923 | FStar_Syntax_Syntax.Tm_abs uu____6930 -> - let uu____6949 = infer env e in return_if uu____6949 + let uu____6949 = infer env e in return_if uu____6949 | FStar_Syntax_Syntax.Tm_constant uu____6956 -> - let uu____6957 = infer env e in return_if uu____6957 + let uu____6957 = infer env e in return_if uu____6957 | FStar_Syntax_Syntax.Tm_quoted uu____6964 -> - let uu____6971 = infer env e in return_if uu____6971 + let uu____6971 = infer env e in return_if uu____6971 | FStar_Syntax_Syntax.Tm_app uu____6978 -> - let uu____6995 = infer env e in return_if uu____6995 + let uu____6995 = infer env e in return_if uu____6995 | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____7003 = FStar_Syntax_Util.unfold_lazy i in + let uu____7003 = FStar_Syntax_Util.unfold_lazy i in check env uu____7003 context_nm - | FStar_Syntax_Syntax.Tm_let ((false, binding::[]), e2) -> + | FStar_Syntax_Syntax.Tm_let ((false ,binding::[]),e2) -> mk_let env binding e2 - (fun env1 -> fun e21 -> check env1 e21 context_nm) ensure_m - | FStar_Syntax_Syntax.Tm_match (e0, branches) -> + (fun env1 -> fun e21 -> check env1 e21 context_nm) ensure_m + | FStar_Syntax_Syntax.Tm_match (e0,branches) -> mk_match env e0 branches - (fun env1 -> fun body -> check env1 body context_nm) - | FStar_Syntax_Syntax.Tm_meta (e1, uu____7068) -> + (fun env1 -> fun body -> check env1 body context_nm) + | FStar_Syntax_Syntax.Tm_meta (e1,uu____7068) -> check env e1 context_nm - | FStar_Syntax_Syntax.Tm_uinst (e1, uu____7074) -> + | FStar_Syntax_Syntax.Tm_uinst (e1,uu____7074) -> check env e1 context_nm - | FStar_Syntax_Syntax.Tm_ascribed (e1, uu____7080, uu____7081) -> + | FStar_Syntax_Syntax.Tm_ascribed (e1,uu____7080,uu____7081) -> check env e1 context_nm | FStar_Syntax_Syntax.Tm_let uu____7122 -> let uu____7136 = - let uu____7138 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "[check]: Tm_let %s" uu____7138 in + let uu____7138 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "[check]: Tm_let %s" uu____7138 in failwith uu____7136 | FStar_Syntax_Syntax.Tm_type uu____7147 -> failwith "impossible (DM stratification)" @@ -2059,253 +2289,272 @@ let rec (check : failwith "impossible (DM stratification)" | FStar_Syntax_Syntax.Tm_refine uu____7177 -> let uu____7184 = - let uu____7186 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "[check]: Tm_refine %s" uu____7186 in + let uu____7186 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "[check]: Tm_refine %s" uu____7186 in failwith uu____7184 | FStar_Syntax_Syntax.Tm_uvar uu____7195 -> let uu____7208 = - let uu____7210 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "[check]: Tm_uvar %s" uu____7210 in + let uu____7210 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "[check]: Tm_uvar %s" uu____7210 in failwith uu____7208 | FStar_Syntax_Syntax.Tm_delayed uu____7219 -> failwith "impossible (compressed)" - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> let uu____7249 = - let uu____7251 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "[check]: Tm_unknown %s" uu____7251 in + let uu____7251 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "[check]: Tm_unknown %s" uu____7251 in failwith uu____7249 + and (infer : env -> FStar_Syntax_Syntax.term -> (nm * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term)) = - fun env -> - fun e -> + fun env -> + fun e -> let mk1 x = FStar_Syntax_Syntax.mk x FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in + e.FStar_Syntax_Syntax.pos + in let normalize1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.EraseUniverses] env.tcenv in + FStar_TypeChecker_Env.EraseUniverses] env.tcenv + in let uu____7281 = - let uu____7282 = FStar_Syntax_Subst.compress e in - uu____7282.FStar_Syntax_Syntax.n in + let uu____7282 = FStar_Syntax_Subst.compress e in + uu____7282.FStar_Syntax_Syntax.n in match uu____7281 with | FStar_Syntax_Syntax.Tm_bvar bv -> failwith "I failed to open a binder... boo" | FStar_Syntax_Syntax.Tm_name bv -> ((N (bv.FStar_Syntax_Syntax.sort)), e, e) | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____7301 = FStar_Syntax_Util.unfold_lazy i in + let uu____7301 = FStar_Syntax_Util.unfold_lazy i in infer env uu____7301 - | FStar_Syntax_Syntax.Tm_abs (binders, body, rc_opt) -> + | FStar_Syntax_Syntax.Tm_abs (binders,body,rc_opt) -> let subst_rc_opt subst1 rc_opt1 = match rc_opt1 with | FStar_Pervasives_Native.Some { FStar_Syntax_Syntax.residual_effect = uu____7352; FStar_Syntax_Syntax.residual_typ = - FStar_Pervasives_Native.None; + FStar_Pervasives_Native.None ; FStar_Syntax_Syntax.residual_flags = uu____7353;_} -> rc_opt1 - | FStar_Pervasives_Native.None -> rc_opt1 + | FStar_Pervasives_Native.None -> rc_opt1 | FStar_Pervasives_Native.Some rc -> let uu____7359 = - let uu___775_7360 = rc in + let uu___775_7360 = rc in let uu____7361 = let uu____7366 = let uu____7369 = - FStar_Util.must rc.FStar_Syntax_Syntax.residual_typ in - FStar_Syntax_Subst.subst subst1 uu____7369 in - FStar_Pervasives_Native.Some uu____7366 in + FStar_Util.must rc.FStar_Syntax_Syntax.residual_typ + in + FStar_Syntax_Subst.subst subst1 uu____7369 in + FStar_Pervasives_Native.Some uu____7366 in { FStar_Syntax_Syntax.residual_effect = (uu___775_7360.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = uu____7361; FStar_Syntax_Syntax.residual_flags = (uu___775_7360.FStar_Syntax_Syntax.residual_flags) - } in - FStar_Pervasives_Native.Some uu____7359 in - let binders1 = FStar_Syntax_Subst.open_binders binders in - let subst1 = FStar_Syntax_Subst.opening_of_binders binders1 in - let body1 = FStar_Syntax_Subst.subst subst1 body in - let rc_opt1 = subst_rc_opt subst1 rc_opt in + } in + FStar_Pervasives_Native.Some uu____7359 + in + let binders1 = FStar_Syntax_Subst.open_binders binders in + let subst1 = FStar_Syntax_Subst.opening_of_binders binders1 in + let body1 = FStar_Syntax_Subst.subst subst1 body in + let rc_opt1 = subst_rc_opt subst1 rc_opt in let env1 = - let uu___781_7381 = env in + let uu___781_7381 = env in let uu____7382 = - FStar_TypeChecker_Env.push_binders env.tcenv binders1 in + FStar_TypeChecker_Env.push_binders env.tcenv binders1 in { tcenv = uu____7382; subst = (uu___781_7381.subst); tc_const = (uu___781_7381.tc_const) - } in + } in let s_binders = FStar_List.map - (fun uu____7408 -> + (fun uu____7408 -> match uu____7408 with - | (bv, qual) -> - let sort = star_type' env1 bv.FStar_Syntax_Syntax.sort in - ((let uu___788_7431 = bv in + | (bv,qual) -> + let sort = star_type' env1 bv.FStar_Syntax_Syntax.sort + in + ((let uu___788_7431 = bv in { FStar_Syntax_Syntax.ppname = (uu___788_7431.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___788_7431.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = sort - }), qual)) binders1 in + }), qual)) binders1 + in let uu____7432 = FStar_List.fold_left - (fun uu____7463 -> - fun uu____7464 -> + (fun uu____7463 -> + fun uu____7464 -> match (uu____7463, uu____7464) with - | ((env2, acc), (bv, qual)) -> - let c = bv.FStar_Syntax_Syntax.sort in - let uu____7522 = is_C c in + | ((env2,acc),(bv,qual)) -> + let c = bv.FStar_Syntax_Syntax.sort in + let uu____7522 = is_C c in if uu____7522 then let xw = - let uu____7532 = star_type' env2 c in + let uu____7532 = star_type' env2 c in FStar_Syntax_Syntax.gen_bv (Prims.op_Hat (bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText "__w") FStar_Pervasives_Native.None - uu____7532 in + uu____7532 + in let x = - let uu___800_7535 = bv in + let uu___800_7535 = bv in let uu____7536 = let uu____7539 = - FStar_Syntax_Syntax.bv_to_name xw in - trans_F_ env2 c uu____7539 in + FStar_Syntax_Syntax.bv_to_name xw in + trans_F_ env2 c uu____7539 in { FStar_Syntax_Syntax.ppname = (uu___800_7535.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___800_7535.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____7536 - } in + } in let env3 = - let uu___803_7541 = env2 in + let uu___803_7541 = env2 in let uu____7542 = let uu____7545 = let uu____7546 = let uu____7553 = - FStar_Syntax_Syntax.bv_to_name xw in - (bv, uu____7553) in - FStar_Syntax_Syntax.NT uu____7546 in - uu____7545 :: (env2.subst) in + FStar_Syntax_Syntax.bv_to_name xw in + (bv, uu____7553) in + FStar_Syntax_Syntax.NT uu____7546 in + uu____7545 :: (env2.subst) in { tcenv = (uu___803_7541.tcenv); subst = uu____7542; tc_const = (uu___803_7541.tc_const) - } in + } in let uu____7558 = - let uu____7561 = FStar_Syntax_Syntax.mk_binder x in + let uu____7561 = FStar_Syntax_Syntax.mk_binder x + in let uu____7562 = let uu____7565 = - FStar_Syntax_Syntax.mk_binder xw in - uu____7565 :: acc in - uu____7561 :: uu____7562 in + FStar_Syntax_Syntax.mk_binder xw in + uu____7565 :: acc in + uu____7561 :: uu____7562 in (env3, uu____7558) else (let x = - let uu___806_7571 = bv in + let uu___806_7571 = bv in let uu____7572 = - star_type' env2 bv.FStar_Syntax_Syntax.sort in + star_type' env2 bv.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___806_7571.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___806_7571.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____7572 - } in + } in let uu____7575 = - let uu____7578 = FStar_Syntax_Syntax.mk_binder x in - uu____7578 :: acc in - (env2, uu____7575))) (env1, []) binders1 in + let uu____7578 = FStar_Syntax_Syntax.mk_binder x + in + uu____7578 :: acc in + (env2, uu____7575))) (env1, []) binders1 + in (match uu____7432 with - | (env2, u_binders) -> - let u_binders1 = FStar_List.rev u_binders in + | (env2,u_binders) -> + let u_binders1 = FStar_List.rev u_binders in let uu____7598 = let check_what = - let uu____7624 = is_monadic rc_opt1 in - if uu____7624 then check_m else check_n in - let uu____7641 = check_what env2 body1 in + let uu____7624 = is_monadic rc_opt1 in + if uu____7624 then check_m else check_n in + let uu____7641 = check_what env2 body1 in match uu____7641 with - | (t, s_body, u_body) -> + | (t,s_body,u_body) -> let uu____7661 = let uu____7664 = - let uu____7665 = is_monadic rc_opt1 in - if uu____7665 then M t else N t in - comp_of_nm uu____7664 in - (uu____7661, s_body, u_body) in + let uu____7665 = is_monadic rc_opt1 in + if uu____7665 then M t else N t in + comp_of_nm uu____7664 in + (uu____7661, s_body, u_body) + in (match uu____7598 with - | (comp, s_body, u_body) -> - let t = FStar_Syntax_Util.arrow binders1 comp in + | (comp,s_body,u_body) -> + let t = FStar_Syntax_Util.arrow binders1 comp in let s_rc_opt = match rc_opt1 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some rc -> (match rc.FStar_Syntax_Syntax.residual_typ with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let rc1 = let uu____7705 = FStar_All.pipe_right rc.FStar_Syntax_Syntax.residual_flags (FStar_Util.for_some - (fun uu___6_7711 -> + (fun uu___6_7711 -> match uu___6_7711 with - | FStar_Syntax_Syntax.CPS -> true - | uu____7714 -> false)) in + | FStar_Syntax_Syntax.CPS -> true + | uu____7714 -> false)) + in if uu____7705 then let uu____7717 = FStar_List.filter - (fun uu___7_7721 -> + (fun uu___7_7721 -> match uu___7_7721 with - | FStar_Syntax_Syntax.CPS -> false + | FStar_Syntax_Syntax.CPS -> false | uu____7724 -> true) - rc.FStar_Syntax_Syntax.residual_flags in + rc.FStar_Syntax_Syntax.residual_flags + in FStar_Syntax_Util.mk_residual_comp FStar_Parser_Const.effect_Tot_lid FStar_Pervasives_Native.None uu____7717 - else rc in + else rc in FStar_Pervasives_Native.Some rc1 | FStar_Pervasives_Native.Some rt -> let uu____7735 = FStar_All.pipe_right rc.FStar_Syntax_Syntax.residual_flags (FStar_Util.for_some - (fun uu___8_7741 -> + (fun uu___8_7741 -> match uu___8_7741 with - | FStar_Syntax_Syntax.CPS -> true - | uu____7744 -> false)) in + | FStar_Syntax_Syntax.CPS -> true + | uu____7744 -> false)) + in if uu____7735 then let flags = FStar_List.filter - (fun uu___9_7753 -> + (fun uu___9_7753 -> match uu___9_7753 with - | FStar_Syntax_Syntax.CPS -> false + | FStar_Syntax_Syntax.CPS -> false | uu____7756 -> true) - rc.FStar_Syntax_Syntax.residual_flags in + rc.FStar_Syntax_Syntax.residual_flags + in let uu____7758 = let uu____7759 = - let uu____7764 = double_star rt in - FStar_Pervasives_Native.Some uu____7764 in + let uu____7764 = double_star rt in + FStar_Pervasives_Native.Some uu____7764 + in FStar_Syntax_Util.mk_residual_comp FStar_Parser_Const.effect_Tot_lid - uu____7759 flags in + uu____7759 flags + in FStar_Pervasives_Native.Some uu____7758 else (let uu____7771 = - let uu___847_7772 = rc in + let uu___847_7772 = rc in let uu____7773 = - let uu____7778 = star_type' env2 rt in - FStar_Pervasives_Native.Some uu____7778 in + let uu____7778 = star_type' env2 rt in + FStar_Pervasives_Native.Some uu____7778 + in { FStar_Syntax_Syntax.residual_effect = (uu___847_7772.FStar_Syntax_Syntax.residual_effect); @@ -2313,54 +2562,60 @@ and (infer : uu____7773; FStar_Syntax_Syntax.residual_flags = (uu___847_7772.FStar_Syntax_Syntax.residual_flags) - } in - FStar_Pervasives_Native.Some uu____7771)) in + } in + FStar_Pervasives_Native.Some uu____7771)) + in let uu____7783 = let comp1 = - let uu____7791 = is_monadic rc_opt1 in + let uu____7791 = is_monadic rc_opt1 in let uu____7793 = - FStar_Syntax_Subst.subst env2.subst s_body in + FStar_Syntax_Subst.subst env2.subst s_body in trans_G env2 (FStar_Syntax_Util.comp_result comp) - uu____7791 uu____7793 in + uu____7791 uu____7793 + in let uu____7794 = FStar_Syntax_Util.ascribe u_body ((FStar_Util.Inr comp1), - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in (uu____7794, (FStar_Pervasives_Native.Some - (FStar_Syntax_Util.residual_comp_of_comp comp1))) in + (FStar_Syntax_Util.residual_comp_of_comp comp1))) + in (match uu____7783 with - | (u_body1, u_rc_opt) -> + | (u_body1,u_rc_opt) -> let s_body1 = - FStar_Syntax_Subst.close s_binders s_body in + FStar_Syntax_Subst.close s_binders s_body in let s_binders1 = - FStar_Syntax_Subst.close_binders s_binders in + FStar_Syntax_Subst.close_binders s_binders in let s_term = let uu____7832 = let uu____7833 = let uu____7852 = let uu____7855 = FStar_Syntax_Subst.closing_of_binders - s_binders1 in - subst_rc_opt uu____7855 s_rc_opt in - (s_binders1, s_body1, uu____7852) in - FStar_Syntax_Syntax.Tm_abs uu____7833 in - mk1 uu____7832 in + s_binders1 + in + subst_rc_opt uu____7855 s_rc_opt in + (s_binders1, s_body1, uu____7852) in + FStar_Syntax_Syntax.Tm_abs uu____7833 in + mk1 uu____7832 in let u_body2 = - FStar_Syntax_Subst.close u_binders1 u_body1 in + FStar_Syntax_Subst.close u_binders1 u_body1 in let u_binders2 = - FStar_Syntax_Subst.close_binders u_binders1 in + FStar_Syntax_Subst.close_binders u_binders1 in let u_term = let uu____7875 = let uu____7876 = let uu____7895 = let uu____7898 = FStar_Syntax_Subst.closing_of_binders - u_binders2 in - subst_rc_opt uu____7898 u_rc_opt in - (u_binders2, u_body2, uu____7895) in - FStar_Syntax_Syntax.Tm_abs uu____7876 in - mk1 uu____7875 in + u_binders2 + in + subst_rc_opt uu____7898 u_rc_opt in + (u_binders2, u_body2, uu____7895) in + FStar_Syntax_Syntax.Tm_abs uu____7876 in + mk1 uu____7875 in ((N t), s_term, u_term)))) | FStar_Syntax_Syntax.Tm_fvar { @@ -2371,287 +2626,301 @@ and (infer : FStar_Syntax_Syntax.fv_qual = uu____7916;_} -> let uu____7919 = - let uu____7924 = FStar_TypeChecker_Env.lookup_lid env.tcenv lid in - FStar_All.pipe_left FStar_Pervasives_Native.fst uu____7924 in + let uu____7924 = FStar_TypeChecker_Env.lookup_lid env.tcenv lid + in + FStar_All.pipe_left FStar_Pervasives_Native.fst uu____7924 in (match uu____7919 with - | (uu____7955, t) -> - let uu____7957 = let uu____7958 = normalize1 t in N uu____7958 in + | (uu____7955,t) -> + let uu____7957 = + let uu____7958 = normalize1 t in N uu____7958 in (uu____7957, e, e)) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_range_of); + (FStar_Const.Const_range_of ); FStar_Syntax_Syntax.pos = uu____7959; - FStar_Syntax_Syntax.vars = uu____7960;_}, - a::hd1::rest) + FStar_Syntax_Syntax.vars = uu____7960;_},a::hd1::rest) -> - let rest1 = hd1 :: rest in - let uu____8039 = FStar_Syntax_Util.head_and_args e in + let rest1 = hd1 :: rest in + let uu____8039 = FStar_Syntax_Util.head_and_args e in (match uu____8039 with - | (unary_op1, uu____8063) -> - let head1 = mk1 (FStar_Syntax_Syntax.Tm_app (unary_op1, [a])) in - let t = mk1 (FStar_Syntax_Syntax.Tm_app (head1, rest1)) in + | (unary_op1,uu____8063) -> + let head1 = mk1 (FStar_Syntax_Syntax.Tm_app (unary_op1, [a])) + in + let t = mk1 (FStar_Syntax_Syntax.Tm_app (head1, rest1)) in infer env t) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_set_range_of); + (FStar_Const.Const_set_range_of ); FStar_Syntax_Syntax.pos = uu____8134; - FStar_Syntax_Syntax.vars = uu____8135;_}, - a1::a2::hd1::rest) + FStar_Syntax_Syntax.vars = uu____8135;_},a1::a2::hd1::rest) -> - let rest1 = hd1 :: rest in - let uu____8231 = FStar_Syntax_Util.head_and_args e in + let rest1 = hd1 :: rest in + let uu____8231 = FStar_Syntax_Util.head_and_args e in (match uu____8231 with - | (unary_op1, uu____8255) -> + | (unary_op1,uu____8255) -> let head1 = - mk1 (FStar_Syntax_Syntax.Tm_app (unary_op1, [a1; a2])) in - let t = mk1 (FStar_Syntax_Syntax.Tm_app (head1, rest1)) in + mk1 (FStar_Syntax_Syntax.Tm_app (unary_op1, [a1; a2])) in + let t = mk1 (FStar_Syntax_Syntax.Tm_app (head1, rest1)) in infer env t) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_range_of); + (FStar_Const.Const_range_of ); FStar_Syntax_Syntax.pos = uu____8334; - FStar_Syntax_Syntax.vars = uu____8335;_}, - (a, FStar_Pervasives_Native.None)::[]) + FStar_Syntax_Syntax.vars = uu____8335;_},(a,FStar_Pervasives_Native.None + )::[]) -> - let uu____8373 = infer env a in + let uu____8373 = infer env a in (match uu____8373 with - | (t, s, u) -> - let uu____8389 = FStar_Syntax_Util.head_and_args e in + | (t,s,u) -> + let uu____8389 = FStar_Syntax_Util.head_and_args e in (match uu____8389 with - | (head1, uu____8413) -> + | (head1,uu____8413) -> let uu____8438 = let uu____8439 = FStar_Syntax_Syntax.tabbrev - FStar_Parser_Const.range_lid in - N uu____8439 in + FStar_Parser_Const.range_lid + in + N uu____8439 in let uu____8440 = let uu____8441 = let uu____8442 = let uu____8459 = - let uu____8470 = FStar_Syntax_Syntax.as_arg s in - [uu____8470] in - (head1, uu____8459) in - FStar_Syntax_Syntax.Tm_app uu____8442 in - mk1 uu____8441 in + let uu____8470 = FStar_Syntax_Syntax.as_arg s in + [uu____8470] in + (head1, uu____8459) in + FStar_Syntax_Syntax.Tm_app uu____8442 in + mk1 uu____8441 in let uu____8507 = let uu____8508 = let uu____8509 = let uu____8526 = - let uu____8537 = FStar_Syntax_Syntax.as_arg u in - [uu____8537] in - (head1, uu____8526) in - FStar_Syntax_Syntax.Tm_app uu____8509 in - mk1 uu____8508 in + let uu____8537 = FStar_Syntax_Syntax.as_arg u in + [uu____8537] in + (head1, uu____8526) in + FStar_Syntax_Syntax.Tm_app uu____8509 in + mk1 uu____8508 in (uu____8438, uu____8440, uu____8507))) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_set_range_of); + (FStar_Const.Const_set_range_of ); FStar_Syntax_Syntax.pos = uu____8574; - FStar_Syntax_Syntax.vars = uu____8575;_}, - (a1, uu____8577)::a2::[]) + FStar_Syntax_Syntax.vars = uu____8575;_},(a1,uu____8577)::a2::[]) -> - let uu____8633 = infer env a1 in + let uu____8633 = infer env a1 in (match uu____8633 with - | (t, s, u) -> - let uu____8649 = FStar_Syntax_Util.head_and_args e in + | (t,s,u) -> + let uu____8649 = FStar_Syntax_Util.head_and_args e in (match uu____8649 with - | (head1, uu____8673) -> + | (head1,uu____8673) -> let uu____8698 = let uu____8699 = let uu____8700 = let uu____8717 = - let uu____8728 = FStar_Syntax_Syntax.as_arg s in - [uu____8728; a2] in - (head1, uu____8717) in - FStar_Syntax_Syntax.Tm_app uu____8700 in - mk1 uu____8699 in + let uu____8728 = FStar_Syntax_Syntax.as_arg s in + [uu____8728; a2] in + (head1, uu____8717) in + FStar_Syntax_Syntax.Tm_app uu____8700 in + mk1 uu____8699 in let uu____8773 = let uu____8774 = let uu____8775 = let uu____8792 = - let uu____8803 = FStar_Syntax_Syntax.as_arg u in - [uu____8803; a2] in - (head1, uu____8792) in - FStar_Syntax_Syntax.Tm_app uu____8775 in - mk1 uu____8774 in + let uu____8803 = FStar_Syntax_Syntax.as_arg u in + [uu____8803; a2] in + (head1, uu____8792) in + FStar_Syntax_Syntax.Tm_app uu____8775 in + mk1 uu____8774 in (t, uu____8698, uu____8773))) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_range_of); + (FStar_Const.Const_range_of ); FStar_Syntax_Syntax.pos = uu____8848; - FStar_Syntax_Syntax.vars = uu____8849;_}, - uu____8850) + FStar_Syntax_Syntax.vars = uu____8849;_},uu____8850) -> let uu____8875 = let uu____8881 = - let uu____8883 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "DMFF: Ill-applied constant %s" uu____8883 in - (FStar_Errors.Fatal_IllAppliedConstant, uu____8881) in + let uu____8883 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "DMFF: Ill-applied constant %s" uu____8883 + in + (FStar_Errors.Fatal_IllAppliedConstant, uu____8881) in FStar_Errors.raise_error uu____8875 e.FStar_Syntax_Syntax.pos | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_set_range_of); + (FStar_Const.Const_set_range_of ); FStar_Syntax_Syntax.pos = uu____8893; - FStar_Syntax_Syntax.vars = uu____8894;_}, - uu____8895) + FStar_Syntax_Syntax.vars = uu____8894;_},uu____8895) -> let uu____8920 = let uu____8926 = - let uu____8928 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "DMFF: Ill-applied constant %s" uu____8928 in - (FStar_Errors.Fatal_IllAppliedConstant, uu____8926) in + let uu____8928 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "DMFF: Ill-applied constant %s" uu____8928 + in + (FStar_Errors.Fatal_IllAppliedConstant, uu____8926) in FStar_Errors.raise_error uu____8920 e.FStar_Syntax_Syntax.pos - | FStar_Syntax_Syntax.Tm_app (head1, args) -> - let uu____8964 = check_n env head1 in + | FStar_Syntax_Syntax.Tm_app (head1,args) -> + let uu____8964 = check_n env head1 in (match uu____8964 with - | (t_head, s_head, u_head) -> + | (t_head,s_head,u_head) -> let is_arrow t = let uu____8987 = - let uu____8988 = FStar_Syntax_Subst.compress t in - uu____8988.FStar_Syntax_Syntax.n in + let uu____8988 = FStar_Syntax_Subst.compress t in + uu____8988.FStar_Syntax_Syntax.n in match uu____8987 with | FStar_Syntax_Syntax.Tm_arrow uu____8992 -> true - | uu____9008 -> false in + | uu____9008 -> false in let rec flatten1 t = let uu____9030 = - let uu____9031 = FStar_Syntax_Subst.compress t in - uu____9031.FStar_Syntax_Syntax.n in + let uu____9031 = FStar_Syntax_Subst.compress t in + uu____9031.FStar_Syntax_Syntax.n in match uu____9030 with | FStar_Syntax_Syntax.Tm_arrow - (binders, - { - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Total - (t1, uu____9050); - FStar_Syntax_Syntax.pos = uu____9051; - FStar_Syntax_Syntax.vars = uu____9052;_}) + (binders,{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.Total (t1,uu____9050); + FStar_Syntax_Syntax.pos = uu____9051; + FStar_Syntax_Syntax.vars = uu____9052;_}) when is_arrow t1 -> - let uu____9081 = flatten1 t1 in + let uu____9081 = flatten1 t1 in (match uu____9081 with - | (binders', comp) -> + | (binders',comp) -> ((FStar_List.append binders binders'), comp)) - | FStar_Syntax_Syntax.Tm_arrow (binders, comp) -> + | FStar_Syntax_Syntax.Tm_arrow (binders,comp) -> (binders, comp) - | FStar_Syntax_Syntax.Tm_ascribed - (e1, uu____9181, uu____9182) -> flatten1 e1 + | FStar_Syntax_Syntax.Tm_ascribed (e1,uu____9181,uu____9182) + -> flatten1 e1 | uu____9223 -> let uu____9224 = let uu____9230 = let uu____9232 = - FStar_Syntax_Print.term_to_string t_head in + FStar_Syntax_Print.term_to_string t_head in FStar_Util.format1 "%s: not a function type" - uu____9232 in - (FStar_Errors.Fatal_NotFunctionType, uu____9230) in - FStar_Errors.raise_err uu____9224 in - let uu____9250 = flatten1 t_head in + uu____9232 + in + (FStar_Errors.Fatal_NotFunctionType, uu____9230) in + FStar_Errors.raise_err uu____9224 + in + let uu____9250 = flatten1 t_head in (match uu____9250 with - | (binders, comp) -> - let n1 = FStar_List.length binders in - let n' = FStar_List.length args in + | (binders,comp) -> + let n1 = FStar_List.length binders in + let n' = FStar_List.length args in (if (FStar_List.length binders) < (FStar_List.length args) then (let uu____9325 = let uu____9331 = - let uu____9333 = FStar_Util.string_of_int n1 in + let uu____9333 = FStar_Util.string_of_int n1 in let uu____9335 = - FStar_Util.string_of_int (n' - n1) in - let uu____9337 = FStar_Util.string_of_int n1 in + FStar_Util.string_of_int (n' - n1) in + let uu____9337 = FStar_Util.string_of_int n1 in FStar_Util.format3 "The head of this application, after being applied to %s arguments, is an effectful computation (leaving %s arguments to be applied). Please let-bind the head applied to the %s first arguments." - uu____9333 uu____9335 uu____9337 in + uu____9333 uu____9335 uu____9337 + in (FStar_Errors.Fatal_BinderAndArgsLengthMismatch, - uu____9331) in + uu____9331) + in FStar_Errors.raise_err uu____9325) else (); (let uu____9343 = - FStar_Syntax_Subst.open_comp binders comp in + FStar_Syntax_Subst.open_comp binders comp in match uu____9343 with - | (binders1, comp1) -> + | (binders1,comp1) -> let rec final_type subst1 uu____9396 args1 = match uu____9396 with - | (binders2, comp2) -> + | (binders2,comp2) -> (match (binders2, args1) with - | ([], []) -> + | ([],[]) -> let uu____9496 = FStar_Syntax_Subst.subst_comp subst1 - comp2 in + comp2 + in nm_of_comp uu____9496 - | (binders3, []) -> + | (binders3,[]) -> let uu____9534 = let uu____9535 = let uu____9538 = let uu____9539 = mk1 (FStar_Syntax_Syntax.Tm_arrow - (binders3, comp2)) in + (binders3, comp2)) + in FStar_Syntax_Subst.subst subst1 - uu____9539 in + uu____9539 + in FStar_Syntax_Subst.compress - uu____9538 in - uu____9535.FStar_Syntax_Syntax.n in + uu____9538 + in + uu____9535.FStar_Syntax_Syntax.n in (match uu____9534 with | FStar_Syntax_Syntax.Tm_arrow - (binders4, comp3) -> + (binders4,comp3) -> let uu____9572 = let uu____9573 = let uu____9574 = let uu____9589 = FStar_Syntax_Subst.close_comp - binders4 comp3 in - (binders4, uu____9589) in + binders4 comp3 + in + (binders4, uu____9589) in FStar_Syntax_Syntax.Tm_arrow - uu____9574 in - mk1 uu____9573 in + uu____9574 + in + mk1 uu____9573 in N uu____9572 | uu____9602 -> failwith "wat?") - | ([], uu____9604::uu____9605) -> + | ([],uu____9604::uu____9605) -> failwith "just checked that?!" - | ((bv, uu____9658)::binders3, - (arg, uu____9661)::args2) -> + | ((bv,uu____9658)::binders3,(arg,uu____9661)::args2) + -> final_type ((FStar_Syntax_Syntax.NT (bv, arg)) :: - subst1) (binders3, comp2) args2) in + subst1) (binders3, comp2) args2) + in let final_type1 = - final_type [] (binders1, comp1) args in - let uu____9748 = FStar_List.splitAt n' binders1 in + final_type [] (binders1, comp1) args in + let uu____9748 = FStar_List.splitAt n' binders1 in (match uu____9748 with - | (binders2, uu____9782) -> + | (binders2,uu____9782) -> let uu____9815 = let uu____9838 = FStar_List.map2 - (fun uu____9900 -> - fun uu____9901 -> + (fun uu____9900 -> + fun uu____9901 -> match (uu____9900, uu____9901) with - | ((bv, uu____9949), (arg, q)) -> + | ((bv,uu____9949),(arg,q)) -> let uu____9978 = let uu____9979 = FStar_Syntax_Subst.compress - bv.FStar_Syntax_Syntax.sort in - uu____9979.FStar_Syntax_Syntax.n in + bv.FStar_Syntax_Syntax.sort + in + uu____9979.FStar_Syntax_Syntax.n + in (match uu____9978 with | FStar_Syntax_Syntax.Tm_type uu____10000 -> let uu____10001 = let uu____10008 = - star_type' env arg in - (uu____10008, q) in + star_type' env arg in + (uu____10008, q) in (uu____10001, [(arg, q)]) | uu____10045 -> let uu____10046 = - check_n env arg in + check_n env arg in (match uu____10046 with - | (uu____10071, s_arg, - u_arg) -> + | (uu____10071,s_arg,u_arg) + -> let uu____10074 = let uu____10083 = is_C - bv.FStar_Syntax_Syntax.sort in + bv.FStar_Syntax_Syntax.sort + in if uu____10083 then let uu____10094 = @@ -2659,45 +2928,53 @@ and (infer : = FStar_Syntax_Subst.subst env.subst - s_arg in + s_arg + in (uu____10101, - q) in + q) + in [uu____10094; (u_arg, q)] - else [(u_arg, q)] in + else [(u_arg, q)] + in ((s_arg, q), uu____10074)))) - binders2 args in - FStar_List.split uu____9838 in + binders2 args + in + FStar_List.split uu____9838 in (match uu____9815 with - | (s_args, u_args) -> - let u_args1 = FStar_List.flatten u_args in + | (s_args,u_args) -> + let u_args1 = FStar_List.flatten u_args + in let uu____10229 = mk1 (FStar_Syntax_Syntax.Tm_app - (s_head, s_args)) in + (s_head, s_args)) + in let uu____10242 = mk1 (FStar_Syntax_Syntax.Tm_app - (u_head, u_args1)) in + (u_head, u_args1)) + in (final_type1, uu____10229, uu____10242))))))) - | FStar_Syntax_Syntax.Tm_let ((false, binding::[]), e2) -> + | FStar_Syntax_Syntax.Tm_let ((false ,binding::[]),e2) -> mk_let env binding e2 infer check_m - | FStar_Syntax_Syntax.Tm_match (e0, branches) -> + | FStar_Syntax_Syntax.Tm_match (e0,branches) -> mk_match env e0 branches infer - | FStar_Syntax_Syntax.Tm_uinst (e1, uu____10311) -> infer env e1 - | FStar_Syntax_Syntax.Tm_meta (e1, uu____10317) -> infer env e1 - | FStar_Syntax_Syntax.Tm_ascribed (e1, uu____10323, uu____10324) -> + | FStar_Syntax_Syntax.Tm_uinst (e1,uu____10311) -> infer env e1 + | FStar_Syntax_Syntax.Tm_meta (e1,uu____10317) -> infer env e1 + | FStar_Syntax_Syntax.Tm_ascribed (e1,uu____10323,uu____10324) -> infer env e1 | FStar_Syntax_Syntax.Tm_constant c -> - let uu____10366 = let uu____10367 = env.tc_const c in N uu____10367 in + let uu____10366 = + let uu____10367 = env.tc_const c in N uu____10367 in (uu____10366, e, e) - | FStar_Syntax_Syntax.Tm_quoted (tm, qt) -> + | FStar_Syntax_Syntax.Tm_quoted (tm,qt) -> ((N FStar_Syntax_Syntax.t_term), e, e) | FStar_Syntax_Syntax.Tm_let uu____10374 -> let uu____10388 = - let uu____10390 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "[infer]: Tm_let %s" uu____10390 in + let uu____10390 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "[infer]: Tm_let %s" uu____10390 in failwith uu____10388 | FStar_Syntax_Syntax.Tm_type uu____10399 -> failwith "impossible (DM stratification)" @@ -2705,21 +2982,22 @@ and (infer : failwith "impossible (DM stratification)" | FStar_Syntax_Syntax.Tm_refine uu____10429 -> let uu____10436 = - let uu____10438 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "[infer]: Tm_refine %s" uu____10438 in + let uu____10438 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "[infer]: Tm_refine %s" uu____10438 in failwith uu____10436 | FStar_Syntax_Syntax.Tm_uvar uu____10447 -> let uu____10460 = - let uu____10462 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "[infer]: Tm_uvar %s" uu____10462 in + let uu____10462 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "[infer]: Tm_uvar %s" uu____10462 in failwith uu____10460 | FStar_Syntax_Syntax.Tm_delayed uu____10471 -> failwith "impossible (compressed)" - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> let uu____10501 = - let uu____10503 = FStar_Syntax_Print.term_to_string e in - FStar_Util.format1 "[infer]: Tm_unknown %s" uu____10503 in + let uu____10503 = FStar_Syntax_Print.term_to_string e in + FStar_Util.format1 "[infer]: Tm_unknown %s" uu____10503 in failwith uu____10501 + and (mk_match : env -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> @@ -2732,39 +3010,41 @@ and (mk_match : (nm * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term)) -> (nm * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term)) = - fun env -> - fun e0 -> - fun branches -> - fun f -> + fun env -> + fun e0 -> + fun branches -> + fun f -> let mk1 x = FStar_Syntax_Syntax.mk x FStar_Pervasives_Native.None - e0.FStar_Syntax_Syntax.pos in - let uu____10552 = check_n env e0 in + e0.FStar_Syntax_Syntax.pos + in + let uu____10552 = check_n env e0 in match uu____10552 with - | (uu____10565, s_e0, u_e0) -> + | (uu____10565,s_e0,u_e0) -> let uu____10568 = let uu____10597 = FStar_List.map - (fun b -> - let uu____10658 = FStar_Syntax_Subst.open_branch b in + (fun b -> + let uu____10658 = FStar_Syntax_Subst.open_branch b in match uu____10658 with - | (pat, FStar_Pervasives_Native.None, body) -> + | (pat,FStar_Pervasives_Native.None ,body) -> let env1 = - let uu___1122_10700 = env in + let uu___1122_10700 = env in let uu____10701 = let uu____10702 = - FStar_Syntax_Syntax.pat_bvs pat in + FStar_Syntax_Syntax.pat_bvs pat in FStar_List.fold_left FStar_TypeChecker_Env.push_bv env.tcenv - uu____10702 in + uu____10702 + in { tcenv = uu____10701; subst = (uu___1122_10700.subst); tc_const = (uu___1122_10700.tc_const) - } in - let uu____10705 = f env1 body in + } in + let uu____10705 = f env1 body in (match uu____10705 with - | (nm, s_body, u_body) -> + | (nm,s_body,u_body) -> (nm, (pat, FStar_Pervasives_Native.None, (s_body, u_body, body)))) @@ -2772,57 +3052,60 @@ and (mk_match : FStar_Errors.raise_err (FStar_Errors.Fatal_WhenClauseNotSupported, "No when clauses in the definition language")) - branches in - FStar_List.split uu____10597 in + branches + in + FStar_List.split uu____10597 in (match uu____10568 with - | (nms, branches1) -> + | (nms,branches1) -> let t1 = - let uu____10883 = FStar_List.hd nms in - match uu____10883 with | M t1 -> t1 | N t1 -> t1 in + let uu____10883 = FStar_List.hd nms in + match uu____10883 with | M t1 -> t1 | N t1 -> t1 in let has_m = FStar_List.existsb - (fun uu___10_10892 -> + (fun uu___10_10892 -> match uu___10_10892 with | M uu____10894 -> true - | uu____10896 -> false) nms in + | uu____10896 -> false) nms + in let uu____10898 = let uu____10935 = FStar_List.map2 - (fun nm -> - fun uu____11025 -> + (fun nm -> + fun uu____11025 -> match uu____11025 with - | (pat, guard, (s_body, u_body, original_body)) - -> + | (pat,guard,(s_body,u_body,original_body)) -> (match (nm, has_m) with - | (N t2, false) -> + | (N t2,false ) -> (nm, (pat, guard, s_body), (pat, guard, u_body)) - | (M t2, true) -> + | (M t2,true ) -> (nm, (pat, guard, s_body), (pat, guard, u_body)) - | (N t2, true) -> + | (N t2,true ) -> let uu____11209 = - check env original_body (M t2) in + check env original_body (M t2) in (match uu____11209 with - | (uu____11246, s_body1, u_body1) -> + | (uu____11246,s_body1,u_body1) -> ((M t2), (pat, guard, s_body1), (pat, guard, u_body1))) - | (M uu____11285, false) -> - failwith "impossible")) nms branches1 in - FStar_List.unzip3 uu____10935 in + | (M uu____11285,false ) -> + failwith "impossible")) nms branches1 + in + FStar_List.unzip3 uu____10935 in (match uu____10898 with - | (nms1, s_branches, u_branches) -> + | (nms1,s_branches,u_branches) -> if has_m then - let p_type = mk_star_to_type mk1 env t1 in + let p_type = mk_star_to_type mk1 env t1 in let p = FStar_Syntax_Syntax.gen_bv "p''" - FStar_Pervasives_Native.None p_type in + FStar_Pervasives_Native.None p_type + in let s_branches1 = FStar_List.map - (fun uu____11474 -> + (fun uu____11474 -> match uu____11474 with - | (pat, guard, s_body) -> + | (pat,guard,s_body) -> let s_body1 = let uu____11525 = let uu____11526 = @@ -2830,87 +3113,108 @@ and (mk_match : let uu____11554 = let uu____11563 = FStar_Syntax_Syntax.bv_to_name - p in + p + in let uu____11566 = FStar_Syntax_Syntax.as_implicit - false in - (uu____11563, uu____11566) in - [uu____11554] in - (s_body, uu____11543) in + false + in + (uu____11563, uu____11566) in + [uu____11554] in + (s_body, uu____11543) in FStar_Syntax_Syntax.Tm_app - uu____11526 in - mk1 uu____11525 in - (pat, guard, s_body1)) s_branches in + uu____11526 + in + mk1 uu____11525 in + (pat, guard, s_body1)) s_branches + in let s_branches2 = FStar_List.map FStar_Syntax_Subst.close_branch - s_branches1 in + s_branches1 + in let u_branches1 = FStar_List.map FStar_Syntax_Subst.close_branch - u_branches in + u_branches + in let s_e = let uu____11701 = let uu____11702 = - FStar_Syntax_Syntax.mk_binder p in - [uu____11702] in + FStar_Syntax_Syntax.mk_binder p in + [uu____11702] in let uu____11721 = mk1 (FStar_Syntax_Syntax.Tm_match - (s_e0, s_branches2)) in + (s_e0, s_branches2)) + in FStar_Syntax_Util.abs uu____11701 uu____11721 (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot - FStar_Syntax_Util.ktype0)) in + FStar_Syntax_Util.ktype0)) + in let t1_star = let uu____11745 = let uu____11754 = let uu____11761 = FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None p_type in + FStar_Pervasives_Native.None p_type + in FStar_All.pipe_left - FStar_Syntax_Syntax.mk_binder uu____11761 in - [uu____11754] in + FStar_Syntax_Syntax.mk_binder uu____11761 + in + [uu____11754] in let uu____11780 = FStar_Syntax_Syntax.mk_Total - FStar_Syntax_Util.ktype0 in - FStar_Syntax_Util.arrow uu____11745 uu____11780 in + FStar_Syntax_Util.ktype0 + in + FStar_Syntax_Util.arrow uu____11745 uu____11780 + in let uu____11783 = mk1 (FStar_Syntax_Syntax.Tm_ascribed (s_e, ((FStar_Util.Inl t1_star), FStar_Pervasives_Native.None), - FStar_Pervasives_Native.None)) in + FStar_Pervasives_Native.None)) + in let uu____11822 = mk1 (FStar_Syntax_Syntax.Tm_match - (u_e0, u_branches1)) in + (u_e0, u_branches1)) + in ((M t1), uu____11783, uu____11822) else (let s_branches1 = FStar_List.map FStar_Syntax_Subst.close_branch - s_branches in + s_branches + in let u_branches1 = FStar_List.map FStar_Syntax_Subst.close_branch - u_branches in - let t1_star = t1 in + u_branches + in + let t1_star = t1 in let uu____11932 = let uu____11933 = let uu____11934 = let uu____11961 = mk1 (FStar_Syntax_Syntax.Tm_match - (s_e0, s_branches1)) in + (s_e0, s_branches1)) + in (uu____11961, ((FStar_Util.Inl t1_star), FStar_Pervasives_Native.None), - FStar_Pervasives_Native.None) in - FStar_Syntax_Syntax.Tm_ascribed uu____11934 in - mk1 uu____11933 in + FStar_Pervasives_Native.None) + in + FStar_Syntax_Syntax.Tm_ascribed uu____11934 + in + mk1 uu____11933 in let uu____12020 = mk1 (FStar_Syntax_Syntax.Tm_match - (u_e0, u_branches1)) in + (u_e0, u_branches1)) + in ((N t1), uu____11932, uu____12020)))) + and (mk_let : env_ -> FStar_Syntax_Syntax.letbinding -> @@ -2925,34 +3229,35 @@ and (mk_let : FStar_Syntax_Syntax.term)) -> (nm * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term)) = - fun env -> - fun binding -> - fun e2 -> - fun proceed -> - fun ensure_m -> + fun env -> + fun binding -> + fun e2 -> + fun proceed -> + fun ensure_m -> let mk1 x = FStar_Syntax_Syntax.mk x FStar_Pervasives_Native.None - e2.FStar_Syntax_Syntax.pos in - let e1 = binding.FStar_Syntax_Syntax.lbdef in - let x = FStar_Util.left binding.FStar_Syntax_Syntax.lbname in + e2.FStar_Syntax_Syntax.pos + in + let e1 = binding.FStar_Syntax_Syntax.lbdef in + let x = FStar_Util.left binding.FStar_Syntax_Syntax.lbname in let x_binders = - let uu____12085 = FStar_Syntax_Syntax.mk_binder x in - [uu____12085] in - let uu____12104 = FStar_Syntax_Subst.open_term x_binders e2 in + let uu____12085 = FStar_Syntax_Syntax.mk_binder x in + [uu____12085] in + let uu____12104 = FStar_Syntax_Subst.open_term x_binders e2 in match uu____12104 with - | (x_binders1, e21) -> - let uu____12117 = infer env e1 in + | (x_binders1,e21) -> + let uu____12117 = infer env e1 in (match uu____12117 with - | (N t1, s_e1, u_e1) -> + | (N t1,s_e1,u_e1) -> let u_binding = - let uu____12134 = is_C t1 in + let uu____12134 = is_C t1 in if uu____12134 then - let uu___1208_12137 = binding in + let uu___1208_12137 = binding in let uu____12138 = let uu____12141 = - FStar_Syntax_Subst.subst env.subst s_e1 in - trans_F_ env t1 uu____12141 in + FStar_Syntax_Subst.subst env.subst s_e1 in + trans_F_ env t1 uu____12141 in { FStar_Syntax_Syntax.lbname = (uu___1208_12137.FStar_Syntax_Syntax.lbname); @@ -2968,32 +3273,34 @@ and (mk_let : FStar_Syntax_Syntax.lbpos = (uu___1208_12137.FStar_Syntax_Syntax.lbpos) } - else binding in + else binding in let env1 = - let uu___1211_12145 = env in + let uu___1211_12145 = env in let uu____12146 = FStar_TypeChecker_Env.push_bv env.tcenv - (let uu___1213_12148 = x in + (let uu___1213_12148 = x in { FStar_Syntax_Syntax.ppname = (uu___1213_12148.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___1213_12148.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t1 - }) in + }) + in { tcenv = uu____12146; subst = (uu___1211_12145.subst); tc_const = (uu___1211_12145.tc_const) - } in - let uu____12149 = proceed env1 e21 in + } in + let uu____12149 = proceed env1 e21 in (match uu____12149 with - | (nm_rec, s_e2, u_e2) -> + | (nm_rec,s_e2,u_e2) -> let s_binding = - let uu___1220_12166 = binding in + let uu___1220_12166 = binding in let uu____12167 = star_type' env1 - binding.FStar_Syntax_Syntax.lbtyp in + binding.FStar_Syntax_Syntax.lbtyp + in { FStar_Syntax_Syntax.lbname = (uu___1220_12166.FStar_Syntax_Syntax.lbname); @@ -3008,14 +3315,15 @@ and (mk_let : (uu___1220_12166.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___1220_12166.FStar_Syntax_Syntax.lbpos) - } in + } in let uu____12170 = let uu____12171 = let uu____12172 = let uu____12186 = - FStar_Syntax_Subst.close x_binders1 s_e2 in + FStar_Syntax_Subst.close x_binders1 s_e2 + in ((false, - [(let uu___1223_12203 = s_binding in + [(let uu___1223_12203 = s_binding in { FStar_Syntax_Syntax.lbname = (uu___1223_12203.FStar_Syntax_Syntax.lbname); @@ -3030,16 +3338,18 @@ and (mk_let : (uu___1223_12203.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___1223_12203.FStar_Syntax_Syntax.lbpos) - })]), uu____12186) in - FStar_Syntax_Syntax.Tm_let uu____12172 in - mk1 uu____12171 in + })]), uu____12186) + in + FStar_Syntax_Syntax.Tm_let uu____12172 in + mk1 uu____12171 in let uu____12204 = let uu____12205 = let uu____12206 = let uu____12220 = - FStar_Syntax_Subst.close x_binders1 u_e2 in + FStar_Syntax_Subst.close x_binders1 u_e2 + in ((false, - [(let uu___1225_12237 = u_binding in + [(let uu___1225_12237 = u_binding in { FStar_Syntax_Syntax.lbname = (uu___1225_12237.FStar_Syntax_Syntax.lbname); @@ -3054,13 +3364,14 @@ and (mk_let : (uu___1225_12237.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___1225_12237.FStar_Syntax_Syntax.lbpos) - })]), uu____12220) in - FStar_Syntax_Syntax.Tm_let uu____12206 in - mk1 uu____12205 in + })]), uu____12220) + in + FStar_Syntax_Syntax.Tm_let uu____12206 in + mk1 uu____12205 in (nm_rec, uu____12170, uu____12204)) - | (M t1, s_e1, u_e1) -> + | (M t1,s_e1,u_e1) -> let u_binding = - let uu___1232_12242 = binding in + let uu___1232_12242 = binding in { FStar_Syntax_Syntax.lbname = (uu___1232_12242.FStar_Syntax_Syntax.lbname); @@ -3075,78 +3386,85 @@ and (mk_let : (uu___1232_12242.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___1232_12242.FStar_Syntax_Syntax.lbpos) - } in + } in let env1 = - let uu___1235_12244 = env in + let uu___1235_12244 = env in let uu____12245 = FStar_TypeChecker_Env.push_bv env.tcenv - (let uu___1237_12247 = x in + (let uu___1237_12247 = x in { FStar_Syntax_Syntax.ppname = (uu___1237_12247.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___1237_12247.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t1 - }) in + }) + in { tcenv = uu____12245; subst = (uu___1235_12244.subst); tc_const = (uu___1235_12244.tc_const) - } in - let uu____12248 = ensure_m env1 e21 in + } in + let uu____12248 = ensure_m env1 e21 in (match uu____12248 with - | (t2, s_e2, u_e2) -> - let p_type = mk_star_to_type mk1 env1 t2 in + | (t2,s_e2,u_e2) -> + let p_type = mk_star_to_type mk1 env1 t2 in let p = FStar_Syntax_Syntax.gen_bv "p''" - FStar_Pervasives_Native.None p_type in + FStar_Pervasives_Native.None p_type + in let s_e21 = let uu____12272 = let uu____12273 = let uu____12290 = let uu____12301 = let uu____12310 = - FStar_Syntax_Syntax.bv_to_name p in + FStar_Syntax_Syntax.bv_to_name p in let uu____12313 = - FStar_Syntax_Syntax.as_implicit false in - (uu____12310, uu____12313) in - [uu____12301] in - (s_e2, uu____12290) in - FStar_Syntax_Syntax.Tm_app uu____12273 in - mk1 uu____12272 in + FStar_Syntax_Syntax.as_implicit false + in + (uu____12310, uu____12313) in + [uu____12301] in + (s_e2, uu____12290) in + FStar_Syntax_Syntax.Tm_app uu____12273 in + mk1 uu____12272 in let s_e22 = FStar_Syntax_Util.abs x_binders1 s_e21 (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot - FStar_Syntax_Util.ktype0)) in + FStar_Syntax_Util.ktype0)) + in let body = let uu____12355 = let uu____12356 = let uu____12373 = let uu____12384 = let uu____12393 = - FStar_Syntax_Syntax.as_implicit false in - (s_e22, uu____12393) in - [uu____12384] in - (s_e1, uu____12373) in - FStar_Syntax_Syntax.Tm_app uu____12356 in - mk1 uu____12355 in + FStar_Syntax_Syntax.as_implicit false + in + (s_e22, uu____12393) in + [uu____12384] in + (s_e1, uu____12373) in + FStar_Syntax_Syntax.Tm_app uu____12356 in + mk1 uu____12355 in let uu____12429 = let uu____12430 = let uu____12431 = - FStar_Syntax_Syntax.mk_binder p in - [uu____12431] in + FStar_Syntax_Syntax.mk_binder p in + [uu____12431] in FStar_Syntax_Util.abs uu____12430 body (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot - FStar_Syntax_Util.ktype0)) in + FStar_Syntax_Util.ktype0)) + in let uu____12450 = let uu____12451 = let uu____12452 = let uu____12466 = - FStar_Syntax_Subst.close x_binders1 u_e2 in + FStar_Syntax_Subst.close x_binders1 u_e2 + in ((false, - [(let uu___1249_12483 = u_binding in + [(let uu___1249_12483 = u_binding in { FStar_Syntax_Syntax.lbname = (uu___1249_12483.FStar_Syntax_Syntax.lbname); @@ -3161,49 +3479,56 @@ and (mk_let : (uu___1249_12483.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___1249_12483.FStar_Syntax_Syntax.lbpos) - })]), uu____12466) in - FStar_Syntax_Syntax.Tm_let uu____12452 in - mk1 uu____12451 in + })]), uu____12466) + in + FStar_Syntax_Syntax.Tm_let uu____12452 in + mk1 uu____12451 in ((M t2), uu____12429, uu____12450))) + and (check_n : env_ -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term)) = - fun env -> - fun e -> + fun env -> + fun e -> let mn = let uu____12493 = FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown - FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos in - N uu____12493 in - let uu____12494 = check env e mn in + FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos + in + N uu____12493 in + let uu____12494 = check env e mn in match uu____12494 with - | (N t, s_e, u_e) -> (t, s_e, u_e) + | (N t,s_e,u_e) -> (t, s_e, u_e) | uu____12510 -> failwith "[check_n]: impossible" + and (check_m : env_ -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term)) = - fun env -> - fun e -> + fun env -> + fun e -> let mn = let uu____12533 = FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown - FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos in - M uu____12533 in - let uu____12534 = check env e mn in + FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos + in + M uu____12533 in + let uu____12534 = check env e mn in match uu____12534 with - | (M t, s_e, u_e) -> (t, s_e, u_e) + | (M t,s_e,u_e) -> (t, s_e, u_e) | uu____12550 -> failwith "[check_m]: impossible" + and (comp_of_nm : nm_ -> FStar_Syntax_Syntax.comp) = - fun nm -> + fun nm -> match nm with | N t -> FStar_Syntax_Syntax.mk_Total t | M t -> mk_M t + and (mk_M : FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.comp) = - fun t -> + fun t -> FStar_Syntax_Syntax.mk_Comp { FStar_Syntax_Syntax.comp_univs = [FStar_Syntax_Syntax.U_unknown]; @@ -3213,32 +3538,35 @@ and (mk_M : FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.comp) = FStar_Syntax_Syntax.flags = [FStar_Syntax_Syntax.CPS; FStar_Syntax_Syntax.TOTAL] } + and (type_of_comp : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) - = fun t -> FStar_Syntax_Util.comp_result t + = fun t -> FStar_Syntax_Util.comp_result t + and (trans_F_ : env_ -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun c -> - fun wp -> + fun env -> + fun c -> + fun wp -> (let uu____12583 = - let uu____12585 = is_C c in Prims.op_Negation uu____12585 in + let uu____12585 = is_C c in Prims.op_Negation uu____12585 in if uu____12583 then failwith "not a C" else ()); (let mk1 x = FStar_Syntax_Syntax.mk x FStar_Pervasives_Native.None - c.FStar_Syntax_Syntax.pos in + c.FStar_Syntax_Syntax.pos + in let uu____12599 = - let uu____12600 = FStar_Syntax_Subst.compress c in - uu____12600.FStar_Syntax_Syntax.n in + let uu____12600 = FStar_Syntax_Subst.compress c in + uu____12600.FStar_Syntax_Syntax.n in match uu____12599 with - | FStar_Syntax_Syntax.Tm_app (head1, args) -> - let uu____12629 = FStar_Syntax_Util.head_and_args wp in + | FStar_Syntax_Syntax.Tm_app (head1,args) -> + let uu____12629 = FStar_Syntax_Util.head_and_args wp in (match uu____12629 with - | (wp_head, wp_args) -> + | (wp_head,wp_args) -> ((let uu____12673 = (Prims.op_Negation ((FStar_List.length wp_args) = @@ -3248,75 +3576,85 @@ and (trans_F_ : let uu____12694 = FStar_Parser_Const.mk_tuple_data_lid (FStar_List.length wp_args) - FStar_Range.dummyRange in + FStar_Range.dummyRange + in FStar_Syntax_Util.is_constructor wp_head - uu____12694 in - Prims.op_Negation uu____12692) in + uu____12694 + in + Prims.op_Negation uu____12692) + in if uu____12673 then failwith "mismatch" else ()); (let uu____12707 = let uu____12708 = let uu____12725 = FStar_List.map2 - (fun uu____12763 -> - fun uu____12764 -> + (fun uu____12763 -> + fun uu____12764 -> match (uu____12763, uu____12764) with - | ((arg, q), (wp_arg, q')) -> + | ((arg,q),(wp_arg,q')) -> let print_implicit q1 = let uu____12826 = - FStar_Syntax_Syntax.is_implicit q1 in + FStar_Syntax_Syntax.is_implicit q1 + in if uu____12826 then "implicit" - else "explicit" in + else "explicit" in ((let uu____12835 = let uu____12837 = - FStar_Syntax_Util.eq_aqual q q' in + FStar_Syntax_Util.eq_aqual q q' + in uu____12837 <> - FStar_Syntax_Util.Equal in + FStar_Syntax_Util.Equal + in if uu____12835 then let uu____12839 = let uu____12845 = let uu____12847 = - print_implicit q in + print_implicit q in let uu____12849 = - print_implicit q' in + print_implicit q' in FStar_Util.format2 "Incoherent implicit qualifiers %s %s\n" - uu____12847 uu____12849 in + uu____12847 uu____12849 + in (FStar_Errors.Warning_IncoherentImplicitQualifier, - uu____12845) in + uu____12845) + in FStar_Errors.log_issue head1.FStar_Syntax_Syntax.pos uu____12839 else ()); (let uu____12855 = - trans_F_ env arg wp_arg in - (uu____12855, q)))) args wp_args in - (head1, uu____12725) in - FStar_Syntax_Syntax.Tm_app uu____12708 in + trans_F_ env arg wp_arg in + (uu____12855, q)))) args wp_args + in + (head1, uu____12725) in + FStar_Syntax_Syntax.Tm_app uu____12708 in mk1 uu____12707))) - | FStar_Syntax_Syntax.Tm_arrow (binders, comp) -> - let binders1 = FStar_Syntax_Util.name_binders binders in - let uu____12901 = FStar_Syntax_Subst.open_comp binders1 comp in + | FStar_Syntax_Syntax.Tm_arrow (binders,comp) -> + let binders1 = FStar_Syntax_Util.name_binders binders in + let uu____12901 = FStar_Syntax_Subst.open_comp binders1 comp in (match uu____12901 with - | (binders_orig, comp1) -> + | (binders_orig,comp1) -> let uu____12908 = let uu____12925 = FStar_List.map - (fun uu____12965 -> + (fun uu____12965 -> match uu____12965 with - | (bv, q) -> - let h = bv.FStar_Syntax_Syntax.sort in - let uu____12993 = is_C h in + | (bv,q) -> + let h = bv.FStar_Syntax_Syntax.sort in + let uu____12993 = is_C h in if uu____12993 then let w' = - let uu____13009 = star_type' env h in + let uu____13009 = star_type' env h in FStar_Syntax_Syntax.gen_bv (Prims.op_Hat (bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText "__w'") FStar_Pervasives_Native.None - uu____13009 in + uu____13009 + in let uu____13011 = let uu____13020 = let uu____13029 = @@ -3324,74 +3662,82 @@ and (trans_F_ : let uu____13037 = let uu____13038 = FStar_Syntax_Syntax.bv_to_name - w' in - trans_F_ env h uu____13038 in + w' + in + trans_F_ env h uu____13038 in FStar_Syntax_Syntax.null_bv - uu____13037 in - (uu____13036, q) in - [uu____13029] in - (w', q) :: uu____13020 in + uu____13037 + in + (uu____13036, q) in + [uu____13029] in + (w', q) :: uu____13020 in (w', uu____13011) else (let x = - let uu____13072 = star_type' env h in + let uu____13072 = star_type' env h in FStar_Syntax_Syntax.gen_bv (Prims.op_Hat (bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText "__x") FStar_Pervasives_Native.None - uu____13072 in - (x, [(x, q)]))) binders_orig in - FStar_List.split uu____12925 in + uu____13072 + in + (x, [(x, q)]))) binders_orig + in + FStar_List.split uu____12925 in (match uu____12908 with - | (bvs, binders2) -> - let binders3 = FStar_List.flatten binders2 in + | (bvs,binders2) -> + let binders3 = FStar_List.flatten binders2 in let comp2 = let uu____13146 = let uu____13149 = - FStar_Syntax_Syntax.binders_of_list bvs in + FStar_Syntax_Syntax.binders_of_list bvs in FStar_Syntax_Util.rename_binders binders_orig - uu____13149 in - FStar_Syntax_Subst.subst_comp uu____13146 comp1 in + uu____13149 + in + FStar_Syntax_Subst.subst_comp uu____13146 comp1 in let app = let uu____13153 = let uu____13154 = let uu____13171 = FStar_List.map - (fun bv -> + (fun bv -> let uu____13190 = - FStar_Syntax_Syntax.bv_to_name bv in + FStar_Syntax_Syntax.bv_to_name bv in let uu____13191 = - FStar_Syntax_Syntax.as_implicit false in - (uu____13190, uu____13191)) bvs in - (wp, uu____13171) in - FStar_Syntax_Syntax.Tm_app uu____13154 in - mk1 uu____13153 in + FStar_Syntax_Syntax.as_implicit false + in + (uu____13190, uu____13191)) bvs + in + (wp, uu____13171) in + FStar_Syntax_Syntax.Tm_app uu____13154 in + mk1 uu____13153 in let comp3 = - let uu____13206 = type_of_comp comp2 in - let uu____13207 = is_monadic_comp comp2 in - trans_G env uu____13206 uu____13207 app in + let uu____13206 = type_of_comp comp2 in + let uu____13207 = is_monadic_comp comp2 in + trans_G env uu____13206 uu____13207 app in FStar_Syntax_Util.arrow binders3 comp3)) - | FStar_Syntax_Syntax.Tm_ascribed (e, uu____13210, uu____13211) -> + | FStar_Syntax_Syntax.Tm_ascribed (e,uu____13210,uu____13211) -> trans_F_ env e wp | uu____13252 -> failwith "impossible trans_F_") + and (trans_G : env_ -> FStar_Syntax_Syntax.typ -> Prims.bool -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.comp) = - fun env -> - fun h -> - fun is_monadic1 -> - fun wp -> + fun env -> + fun h -> + fun is_monadic1 -> + fun wp -> if is_monadic1 then let uu____13260 = - let uu____13261 = star_type' env h in + let uu____13261 = star_type' env h in let uu____13264 = let uu____13275 = - let uu____13284 = FStar_Syntax_Syntax.as_implicit false in - (wp, uu____13284) in - [uu____13275] in + let uu____13284 = FStar_Syntax_Syntax.as_implicit false in + (wp, uu____13284) in + [uu____13275] in { FStar_Syntax_Syntax.comp_univs = [FStar_Syntax_Syntax.U_unknown]; @@ -3400,11 +3746,12 @@ and (trans_G : FStar_Syntax_Syntax.result_typ = uu____13261; FStar_Syntax_Syntax.effect_args = uu____13264; FStar_Syntax_Syntax.flags = [] - } in + } in FStar_Syntax_Syntax.mk_Comp uu____13260 else - (let uu____13310 = trans_F_ env h wp in + (let uu____13310 = trans_F_ env h wp in FStar_Syntax_Syntax.mk_Total uu____13310) + let (n : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) @@ -3415,25 +3762,29 @@ let (n : FStar_TypeChecker_Env.DoNotUnfoldPureLets; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.EraseUniverses] + let (star_type : env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) = - fun env -> - fun t -> let uu____13331 = n env.tcenv t in star_type' env uu____13331 + fun env -> + fun t -> let uu____13331 = n env.tcenv t in star_type' env uu____13331 + let (star_expr : env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term)) = - fun env -> - fun t -> let uu____13351 = n env.tcenv t in check_n env uu____13351 + fun env -> + fun t -> let uu____13351 = n env.tcenv t in check_n env uu____13351 + let (trans_F : env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun c -> - fun wp -> - let uu____13368 = n env.tcenv c in - let uu____13369 = n env.tcenv wp in - trans_F_ env uu____13368 uu____13369 \ No newline at end of file + fun env -> + fun c -> + fun wp -> + let uu____13368 = n env.tcenv c in + let uu____13369 = n env.tcenv wp in + trans_F_ env uu____13368 uu____13369 + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_Env.ml b/src/ocaml-output/FStar_TypeChecker_Env.ml index c6213e1e793..01f75eaeee7 100644 --- a/src/ocaml-output/FStar_TypeChecker_Env.ml +++ b/src/ocaml-output/FStar_TypeChecker_Env.ml @@ -28,129 +28,155 @@ type step = | NBE | ForExtraction let (uu___is_Beta : step -> Prims.bool) = - fun projectee -> match projectee with | Beta -> true | uu____109 -> false + fun projectee -> match projectee with | Beta -> true | uu____109 -> false let (uu___is_Iota : step -> Prims.bool) = - fun projectee -> match projectee with | Iota -> true | uu____120 -> false + fun projectee -> match projectee with | Iota -> true | uu____120 -> false let (uu___is_Zeta : step -> Prims.bool) = - fun projectee -> match projectee with | Zeta -> true | uu____131 -> false + fun projectee -> match projectee with | Zeta -> true | uu____131 -> false let (uu___is_Exclude : step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Exclude _0 -> true | uu____143 -> false + let (__proj__Exclude__item___0 : step -> step) = - fun projectee -> match projectee with | Exclude _0 -> _0 + fun projectee -> match projectee with | Exclude _0 -> _0 let (uu___is_Weak : step -> Prims.bool) = - fun projectee -> match projectee with | Weak -> true | uu____161 -> false + fun projectee -> match projectee with | Weak -> true | uu____161 -> false let (uu___is_HNF : step -> Prims.bool) = - fun projectee -> match projectee with | HNF -> true | uu____172 -> false + fun projectee -> match projectee with | HNF -> true | uu____172 -> false let (uu___is_Primops : step -> Prims.bool) = - fun projectee -> - match projectee with | Primops -> true | uu____183 -> false + fun projectee -> + match projectee with | Primops -> true | uu____183 -> false + let (uu___is_Eager_unfolding : step -> Prims.bool) = - fun projectee -> - match projectee with | Eager_unfolding -> true | uu____194 -> false + fun projectee -> + match projectee with | Eager_unfolding -> true | uu____194 -> false + let (uu___is_Inlining : step -> Prims.bool) = - fun projectee -> - match projectee with | Inlining -> true | uu____205 -> false + fun projectee -> + match projectee with | Inlining -> true | uu____205 -> false + let (uu___is_DoNotUnfoldPureLets : step -> Prims.bool) = - fun projectee -> - match projectee with | DoNotUnfoldPureLets -> true | uu____216 -> false + fun projectee -> + match projectee with | DoNotUnfoldPureLets -> true | uu____216 -> false + let (uu___is_UnfoldUntil : step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldUntil _0 -> true | uu____228 -> false + let (__proj__UnfoldUntil__item___0 : step -> FStar_Syntax_Syntax.delta_depth) - = fun projectee -> match projectee with | UnfoldUntil _0 -> _0 + = fun projectee -> match projectee with | UnfoldUntil _0 -> _0 let (uu___is_UnfoldOnly : step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldOnly _0 -> true | uu____249 -> false + let (__proj__UnfoldOnly__item___0 : step -> FStar_Ident.lid Prims.list) = - fun projectee -> match projectee with | UnfoldOnly _0 -> _0 + fun projectee -> match projectee with | UnfoldOnly _0 -> _0 let (uu___is_UnfoldFully : step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldFully _0 -> true | uu____276 -> false + let (__proj__UnfoldFully__item___0 : step -> FStar_Ident.lid Prims.list) = - fun projectee -> match projectee with | UnfoldFully _0 -> _0 + fun projectee -> match projectee with | UnfoldFully _0 -> _0 let (uu___is_UnfoldAttr : step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldAttr _0 -> true | uu____303 -> false + let (__proj__UnfoldAttr__item___0 : step -> FStar_Ident.lid Prims.list) = - fun projectee -> match projectee with | UnfoldAttr _0 -> _0 + fun projectee -> match projectee with | UnfoldAttr _0 -> _0 let (uu___is_UnfoldTac : step -> Prims.bool) = - fun projectee -> - match projectee with | UnfoldTac -> true | uu____327 -> false + fun projectee -> + match projectee with | UnfoldTac -> true | uu____327 -> false + let (uu___is_PureSubtermsWithinComputations : step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | PureSubtermsWithinComputations -> true + | PureSubtermsWithinComputations -> true | uu____338 -> false + let (uu___is_Simplify : step -> Prims.bool) = - fun projectee -> - match projectee with | Simplify -> true | uu____349 -> false + fun projectee -> + match projectee with | Simplify -> true | uu____349 -> false + let (uu___is_EraseUniverses : step -> Prims.bool) = - fun projectee -> - match projectee with | EraseUniverses -> true | uu____360 -> false + fun projectee -> + match projectee with | EraseUniverses -> true | uu____360 -> false + let (uu___is_AllowUnboundUniverses : step -> Prims.bool) = - fun projectee -> - match projectee with | AllowUnboundUniverses -> true | uu____371 -> false + fun projectee -> + match projectee with + | AllowUnboundUniverses -> true + | uu____371 -> false + let (uu___is_Reify : step -> Prims.bool) = - fun projectee -> match projectee with | Reify -> true | uu____382 -> false + fun projectee -> + match projectee with | Reify -> true | uu____382 -> false + let (uu___is_CompressUvars : step -> Prims.bool) = - fun projectee -> - match projectee with | CompressUvars -> true | uu____393 -> false + fun projectee -> + match projectee with | CompressUvars -> true | uu____393 -> false + let (uu___is_NoFullNorm : step -> Prims.bool) = - fun projectee -> - match projectee with | NoFullNorm -> true | uu____404 -> false + fun projectee -> + match projectee with | NoFullNorm -> true | uu____404 -> false + let (uu___is_CheckNoUvars : step -> Prims.bool) = - fun projectee -> - match projectee with | CheckNoUvars -> true | uu____415 -> false + fun projectee -> + match projectee with | CheckNoUvars -> true | uu____415 -> false + let (uu___is_Unmeta : step -> Prims.bool) = - fun projectee -> match projectee with | Unmeta -> true | uu____426 -> false + fun projectee -> + match projectee with | Unmeta -> true | uu____426 -> false + let (uu___is_Unascribe : step -> Prims.bool) = - fun projectee -> - match projectee with | Unascribe -> true | uu____437 -> false + fun projectee -> + match projectee with | Unascribe -> true | uu____437 -> false + let (uu___is_NBE : step -> Prims.bool) = - fun projectee -> match projectee with | NBE -> true | uu____448 -> false + fun projectee -> match projectee with | NBE -> true | uu____448 -> false let (uu___is_ForExtraction : step -> Prims.bool) = - fun projectee -> - match projectee with | ForExtraction -> true | uu____459 -> false + fun projectee -> + match projectee with | ForExtraction -> true | uu____459 -> false + type steps = step Prims.list let rec (eq_step : step -> step -> Prims.bool) = - fun s1 -> - fun s2 -> + fun s1 -> + fun s2 -> match (s1, s2) with - | (Beta, Beta) -> true - | (Iota, Iota) -> true - | (Zeta, Zeta) -> true - | (Weak, Weak) -> true - | (HNF, HNF) -> true - | (Primops, Primops) -> true - | (Eager_unfolding, Eager_unfolding) -> true - | (Inlining, Inlining) -> true - | (DoNotUnfoldPureLets, DoNotUnfoldPureLets) -> true - | (UnfoldTac, UnfoldTac) -> true - | (PureSubtermsWithinComputations, PureSubtermsWithinComputations) -> + | (Beta ,Beta ) -> true + | (Iota ,Iota ) -> true + | (Zeta ,Zeta ) -> true + | (Weak ,Weak ) -> true + | (HNF ,HNF ) -> true + | (Primops ,Primops ) -> true + | (Eager_unfolding ,Eager_unfolding ) -> true + | (Inlining ,Inlining ) -> true + | (DoNotUnfoldPureLets ,DoNotUnfoldPureLets ) -> true + | (UnfoldTac ,UnfoldTac ) -> true + | (PureSubtermsWithinComputations ,PureSubtermsWithinComputations ) -> true - | (Simplify, Simplify) -> true - | (EraseUniverses, EraseUniverses) -> true - | (AllowUnboundUniverses, AllowUnboundUniverses) -> true - | (Reify, Reify) -> true - | (CompressUvars, CompressUvars) -> true - | (NoFullNorm, NoFullNorm) -> true - | (CheckNoUvars, CheckNoUvars) -> true - | (Unmeta, Unmeta) -> true - | (Unascribe, Unascribe) -> true - | (NBE, NBE) -> true - | (Exclude s11, Exclude s21) -> eq_step s11 s21 - | (UnfoldUntil s11, UnfoldUntil s21) -> s11 = s21 - | (UnfoldOnly lids1, UnfoldOnly lids2) -> + | (Simplify ,Simplify ) -> true + | (EraseUniverses ,EraseUniverses ) -> true + | (AllowUnboundUniverses ,AllowUnboundUniverses ) -> true + | (Reify ,Reify ) -> true + | (CompressUvars ,CompressUvars ) -> true + | (NoFullNorm ,NoFullNorm ) -> true + | (CheckNoUvars ,CheckNoUvars ) -> true + | (Unmeta ,Unmeta ) -> true + | (Unascribe ,Unascribe ) -> true + | (NBE ,NBE ) -> true + | (Exclude s11,Exclude s21) -> eq_step s11 s21 + | (UnfoldUntil s11,UnfoldUntil s21) -> s11 = s21 + | (UnfoldOnly lids1,UnfoldOnly lids2) -> ((FStar_List.length lids1) = (FStar_List.length lids2)) && (FStar_List.forall2 FStar_Ident.lid_equals lids1 lids2) - | (UnfoldFully lids1, UnfoldFully lids2) -> + | (UnfoldFully lids1,UnfoldFully lids2) -> ((FStar_List.length lids1) = (FStar_List.length lids2)) && (FStar_List.forall2 FStar_Ident.lid_equals lids1 lids2) - | (UnfoldAttr lids1, UnfoldAttr lids2) -> + | (UnfoldAttr lids1,UnfoldAttr lids2) -> ((FStar_List.length lids1) = (FStar_List.length lids2)) && (FStar_List.forall2 FStar_Ident.lid_equals lids1 lids2) | uu____519 -> false + type sig_binding = (FStar_Ident.lident Prims.list * FStar_Syntax_Syntax.sigelt) type delta_level = @@ -159,20 +185,24 @@ type delta_level = | Eager_unfolding_only | Unfold of FStar_Syntax_Syntax.delta_depth let (uu___is_NoDelta : delta_level -> Prims.bool) = - fun projectee -> - match projectee with | NoDelta -> true | uu____545 -> false + fun projectee -> + match projectee with | NoDelta -> true | uu____545 -> false + let (uu___is_InliningDelta : delta_level -> Prims.bool) = - fun projectee -> - match projectee with | InliningDelta -> true | uu____556 -> false + fun projectee -> + match projectee with | InliningDelta -> true | uu____556 -> false + let (uu___is_Eager_unfolding_only : delta_level -> Prims.bool) = - fun projectee -> - match projectee with | Eager_unfolding_only -> true | uu____567 -> false + fun projectee -> + match projectee with | Eager_unfolding_only -> true | uu____567 -> false + let (uu___is_Unfold : delta_level -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Unfold _0 -> true | uu____579 -> false + let (__proj__Unfold__item___0 : delta_level -> FStar_Syntax_Syntax.delta_depth) = - fun projectee -> match projectee with | Unfold _0 -> _0 + fun projectee -> match projectee with | Unfold _0 -> _0 type mlift = { mlift_wp: @@ -193,8 +223,9 @@ let (__proj__Mkmlift__item__mlift_wp : FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) = - fun projectee -> + fun projectee -> match projectee with | { mlift_wp; mlift_term;_} -> mlift_wp + let (__proj__Mkmlift__item__mlift_term : mlift -> (FStar_Syntax_Syntax.universe -> @@ -203,22 +234,26 @@ let (__proj__Mkmlift__item__mlift_term : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { mlift_wp; mlift_term;_} -> mlift_term + type edge = { msource: FStar_Ident.lident ; mtarget: FStar_Ident.lident ; mlift: mlift } let (__proj__Mkedge__item__msource : edge -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { msource; mtarget; mlift;_} -> msource + let (__proj__Mkedge__item__mtarget : edge -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { msource; mtarget; mlift;_} -> mtarget + let (__proj__Mkedge__item__mlift : edge -> mlift) = - fun projectee -> + fun projectee -> match projectee with | { msource; mtarget; mlift;_} -> mlift + type effects = { decls: @@ -234,20 +269,23 @@ let (__proj__Mkeffects__item__decls : effects -> (FStar_Syntax_Syntax.eff_decl * FStar_Syntax_Syntax.qualifier Prims.list) Prims.list) - = fun projectee -> match projectee with | { decls; order; joins;_} -> decls + = + fun projectee -> match projectee with | { decls; order; joins;_} -> decls let (__proj__Mkeffects__item__order : effects -> edge Prims.list) = - fun projectee -> match projectee with | { decls; order; joins;_} -> order + fun projectee -> match projectee with | { decls; order; joins;_} -> order let (__proj__Mkeffects__item__joins : effects -> (FStar_Ident.lident * FStar_Ident.lident * FStar_Ident.lident * mlift * mlift) Prims.list) - = fun projectee -> match projectee with | { decls; order; joins;_} -> joins + = + fun projectee -> match projectee with | { decls; order; joins;_} -> joins type name_prefix = Prims.string Prims.list type proof_namespace = (name_prefix * Prims.bool) Prims.list type cached_elt = - (((FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.typ), - (FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.universes - FStar_Pervasives_Native.option)) + (((FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.typ),(FStar_Syntax_Syntax.sigelt + * + FStar_Syntax_Syntax.universes + FStar_Pervasives_Native.option)) FStar_Util.either * FStar_Range.range) type goal = FStar_Syntax_Syntax.term type env = @@ -365,10 +403,10 @@ and tcenv_hooks = { tc_push_in_gamma_hook: env -> - (FStar_Syntax_Syntax.binding, sig_binding) FStar_Util.either -> unit + (FStar_Syntax_Syntax.binding,sig_binding) FStar_Util.either -> unit } let (__proj__Mkenv__item__solver : env -> solver_t) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -379,8 +417,9 @@ let (__proj__Mkenv__item__solver : env -> solver_t) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> solver + let (__proj__Mkenv__item__range : env -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -391,8 +430,9 @@ let (__proj__Mkenv__item__range : env -> FStar_Range.range) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> range + let (__proj__Mkenv__item__curmodule : env -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -403,9 +443,10 @@ let (__proj__Mkenv__item__curmodule : env -> FStar_Ident.lident) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> curmodule + let (__proj__Mkenv__item__gamma : env -> FStar_Syntax_Syntax.binding Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -416,8 +457,9 @@ let (__proj__Mkenv__item__gamma : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> gamma + let (__proj__Mkenv__item__gamma_sig : env -> sig_binding Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -428,8 +470,9 @@ let (__proj__Mkenv__item__gamma_sig : env -> sig_binding Prims.list) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> gamma_sig + let (__proj__Mkenv__item__gamma_cache : env -> cached_elt FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -440,9 +483,10 @@ let (__proj__Mkenv__item__gamma_cache : env -> cached_elt FStar_Util.smap) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> gamma_cache + let (__proj__Mkenv__item__modules : env -> FStar_Syntax_Syntax.modul Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -453,9 +497,10 @@ let (__proj__Mkenv__item__modules : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> modules + let (__proj__Mkenv__item__expected_typ : env -> FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -466,9 +511,10 @@ let (__proj__Mkenv__item__expected_typ : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> expected_typ + let (__proj__Mkenv__item__sigtab : env -> FStar_Syntax_Syntax.sigelt FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -479,9 +525,10 @@ let (__proj__Mkenv__item__sigtab : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> sigtab + let (__proj__Mkenv__item__attrtab : env -> FStar_Syntax_Syntax.sigelt Prims.list FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -492,8 +539,9 @@ let (__proj__Mkenv__item__attrtab : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> attrtab + let (__proj__Mkenv__item__is_pattern : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -504,8 +552,9 @@ let (__proj__Mkenv__item__is_pattern : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> is_pattern + let (__proj__Mkenv__item__instantiate_imp : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -516,8 +565,9 @@ let (__proj__Mkenv__item__instantiate_imp : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> instantiate_imp + let (__proj__Mkenv__item__effects : env -> effects) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -528,8 +578,9 @@ let (__proj__Mkenv__item__effects : env -> effects) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> effects + let (__proj__Mkenv__item__generalize : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -540,12 +591,13 @@ let (__proj__Mkenv__item__generalize : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> generalize + let (__proj__Mkenv__item__letrecs : env -> (FStar_Syntax_Syntax.lbname * FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.univ_names) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -556,8 +608,9 @@ let (__proj__Mkenv__item__letrecs : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> letrecs + let (__proj__Mkenv__item__top_level : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -568,8 +621,9 @@ let (__proj__Mkenv__item__top_level : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> top_level + let (__proj__Mkenv__item__check_uvars : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -580,8 +634,9 @@ let (__proj__Mkenv__item__check_uvars : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> check_uvars + let (__proj__Mkenv__item__use_eq : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -592,8 +647,9 @@ let (__proj__Mkenv__item__use_eq : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> use_eq + let (__proj__Mkenv__item__is_iface : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -604,8 +660,9 @@ let (__proj__Mkenv__item__is_iface : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> is_iface + let (__proj__Mkenv__item__admit : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -616,8 +673,9 @@ let (__proj__Mkenv__item__admit : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> admit1 + let (__proj__Mkenv__item__lax : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -628,8 +686,9 @@ let (__proj__Mkenv__item__lax : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> lax1 + let (__proj__Mkenv__item__lax_universes : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -640,8 +699,9 @@ let (__proj__Mkenv__item__lax_universes : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> lax_universes + let (__proj__Mkenv__item__phase1 : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -652,8 +712,9 @@ let (__proj__Mkenv__item__phase1 : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> phase1 + let (__proj__Mkenv__item__failhard : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -664,8 +725,9 @@ let (__proj__Mkenv__item__failhard : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> failhard + let (__proj__Mkenv__item__nosynth : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -676,8 +738,9 @@ let (__proj__Mkenv__item__nosynth : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> nosynth + let (__proj__Mkenv__item__uvar_subtyping : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -688,13 +751,14 @@ let (__proj__Mkenv__item__uvar_subtyping : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> uvar_subtyping + let (__proj__Mkenv__item__tc_term : env -> env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * guard_t)) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -705,13 +769,14 @@ let (__proj__Mkenv__item__tc_term : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> tc_term + let (__proj__Mkenv__item__type_of : env -> env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.typ * guard_t)) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -722,9 +787,10 @@ let (__proj__Mkenv__item__type_of : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> type_of + let (__proj__Mkenv__item__universe_of : env -> env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.universe) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -735,12 +801,13 @@ let (__proj__Mkenv__item__universe_of : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> universe_of + let (__proj__Mkenv__item__check_type_of : env -> Prims.bool -> env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ -> guard_t) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -751,8 +818,9 @@ let (__proj__Mkenv__item__check_type_of : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> check_type_of + let (__proj__Mkenv__item__use_bv_sorts : env -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -763,12 +831,13 @@ let (__proj__Mkenv__item__use_bv_sorts : env -> Prims.bool) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> use_bv_sorts + let (__proj__Mkenv__item__qtbl_name_and_index : env -> (Prims.int FStar_Util.smap * (FStar_Ident.lident * Prims.int) FStar_Pervasives_Native.option)) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -779,9 +848,10 @@ let (__proj__Mkenv__item__qtbl_name_and_index : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> qtbl_name_and_index + let (__proj__Mkenv__item__normalized_eff_names : env -> FStar_Ident.lident FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -792,9 +862,10 @@ let (__proj__Mkenv__item__normalized_eff_names : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> normalized_eff_names + let (__proj__Mkenv__item__fv_delta_depths : env -> FStar_Syntax_Syntax.delta_depth FStar_Util.smap) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -805,8 +876,9 @@ let (__proj__Mkenv__item__fv_delta_depths : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> fv_delta_depths + let (__proj__Mkenv__item__proof_ns : env -> proof_namespace) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -817,13 +889,14 @@ let (__proj__Mkenv__item__proof_ns : env -> proof_namespace) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> proof_ns + let (__proj__Mkenv__item__synth_hook : env -> env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -834,11 +907,12 @@ let (__proj__Mkenv__item__synth_hook : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> synth_hook + let (__proj__Mkenv__item__splice : env -> env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.sigelt Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -849,6 +923,7 @@ let (__proj__Mkenv__item__splice : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> splice1 + let (__proj__Mkenv__item__postprocess : env -> env -> @@ -856,7 +931,7 @@ let (__proj__Mkenv__item__postprocess : FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -867,9 +942,10 @@ let (__proj__Mkenv__item__postprocess : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> postprocess + let (__proj__Mkenv__item__is_native_tactic : env -> FStar_Ident.lid -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -880,9 +956,10 @@ let (__proj__Mkenv__item__is_native_tactic : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> is_native_tactic + let (__proj__Mkenv__item__identifier_info : env -> FStar_TypeChecker_Common.id_info_table FStar_ST.ref) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -893,8 +970,9 @@ let (__proj__Mkenv__item__identifier_info : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> identifier_info + let (__proj__Mkenv__item__tc_hooks : env -> tcenv_hooks) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -905,8 +983,9 @@ let (__proj__Mkenv__item__tc_hooks : env -> tcenv_hooks) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> tc_hooks + let (__proj__Mkenv__item__dsenv : env -> FStar_Syntax_DsEnv.env) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -917,12 +996,13 @@ let (__proj__Mkenv__item__dsenv : env -> FStar_Syntax_DsEnv.env) = normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> dsenv + let (__proj__Mkenv__item__nbe : env -> step Prims.list -> env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun projectee -> + fun projectee -> match projectee with | { solver; range; curmodule; gamma; gamma_sig; gamma_cache; modules; expected_typ; sigtab; attrtab; is_pattern; instantiate_imp; effects; @@ -933,128 +1013,148 @@ let (__proj__Mkenv__item__nbe : normalized_eff_names; fv_delta_depths; proof_ns; synth_hook; splice = splice1; postprocess; is_native_tactic; identifier_info; tc_hooks; dsenv; nbe = nbe1;_} -> nbe1 + let (__proj__Mksolver_t__item__init : solver_t -> env -> unit) = - fun projectee -> + fun projectee -> match projectee with | { init = init1; push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; encode_sig; preprocess; solve; finish = finish1; refresh;_} -> init1 + let (__proj__Mksolver_t__item__push : solver_t -> Prims.string -> unit) = - fun projectee -> + fun projectee -> match projectee with | { init = init1; push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; encode_sig; preprocess; solve; finish = finish1; refresh;_} -> push1 + let (__proj__Mksolver_t__item__pop : solver_t -> Prims.string -> unit) = - fun projectee -> + fun projectee -> match projectee with | { init = init1; push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; encode_sig; preprocess; solve; finish = finish1; refresh;_} -> pop1 + let (__proj__Mksolver_t__item__snapshot : solver_t -> Prims.string -> ((Prims.int * Prims.int * Prims.int) * unit)) = - fun projectee -> + fun projectee -> match projectee with | { init = init1; push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; encode_sig; preprocess; solve; finish = finish1; refresh;_} -> snapshot1 + let (__proj__Mksolver_t__item__rollback : solver_t -> Prims.string -> (Prims.int * Prims.int * Prims.int) FStar_Pervasives_Native.option -> unit) = - fun projectee -> + fun projectee -> match projectee with | { init = init1; push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; encode_sig; preprocess; solve; finish = finish1; refresh;_} -> rollback1 + let (__proj__Mksolver_t__item__encode_sig : solver_t -> env -> FStar_Syntax_Syntax.sigelt -> unit) = - fun projectee -> + fun projectee -> match projectee with | { init = init1; push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; encode_sig; preprocess; solve; finish = finish1; refresh;_} -> encode_sig + let (__proj__Mksolver_t__item__preprocess : solver_t -> env -> goal -> (env * goal * FStar_Options.optionstate) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { init = init1; push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; encode_sig; preprocess; solve; finish = finish1; refresh;_} -> preprocess + let (__proj__Mksolver_t__item__solve : solver_t -> (unit -> Prims.string) FStar_Pervasives_Native.option -> env -> FStar_Syntax_Syntax.typ -> unit) = - fun projectee -> + fun projectee -> match projectee with | { init = init1; push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; encode_sig; preprocess; solve; finish = finish1; refresh;_} -> solve + let (__proj__Mksolver_t__item__finish : solver_t -> unit -> unit) = - fun projectee -> + fun projectee -> match projectee with | { init = init1; push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; encode_sig; preprocess; solve; finish = finish1; refresh;_} -> finish1 + let (__proj__Mksolver_t__item__refresh : solver_t -> unit -> unit) = - fun projectee -> + fun projectee -> match projectee with | { init = init1; push = push1; pop = pop1; snapshot = snapshot1; rollback = rollback1; encode_sig; preprocess; solve; finish = finish1; refresh;_} -> refresh + let (__proj__Mkguard_t__item__guard_f : guard_t -> FStar_TypeChecker_Common.guard_formula) = - fun projectee -> + fun projectee -> match projectee with | { guard_f; deferred; univ_ineqs; implicits;_} -> guard_f + let (__proj__Mkguard_t__item__deferred : guard_t -> FStar_TypeChecker_Common.deferred) = - fun projectee -> + fun projectee -> match projectee with | { guard_f; deferred; univ_ineqs; implicits;_} -> deferred + let (__proj__Mkguard_t__item__univ_ineqs : guard_t -> (FStar_Syntax_Syntax.universe Prims.list * FStar_TypeChecker_Common.univ_ineq Prims.list)) = - fun projectee -> + fun projectee -> match projectee with | { guard_f; deferred; univ_ineqs; implicits;_} -> univ_ineqs + let (__proj__Mkguard_t__item__implicits : guard_t -> implicit Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { guard_f; deferred; univ_ineqs; implicits;_} -> implicits + let (__proj__Mkimplicit__item__imp_reason : implicit -> Prims.string) = - fun projectee -> + fun projectee -> match projectee with | { imp_reason; imp_uvar; imp_tm; imp_range;_} -> imp_reason + let (__proj__Mkimplicit__item__imp_uvar : implicit -> FStar_Syntax_Syntax.ctx_uvar) = - fun projectee -> + fun projectee -> match projectee with | { imp_reason; imp_uvar; imp_tm; imp_range;_} -> imp_uvar + let (__proj__Mkimplicit__item__imp_tm : implicit -> FStar_Syntax_Syntax.term) = - fun projectee -> + fun projectee -> match projectee with | { imp_reason; imp_uvar; imp_tm; imp_range;_} -> imp_tm + let (__proj__Mkimplicit__item__imp_range : implicit -> FStar_Range.range) = - fun projectee -> + fun projectee -> match projectee with | { imp_reason; imp_uvar; imp_tm; imp_range;_} -> imp_range + let (__proj__Mktcenv_hooks__item__tc_push_in_gamma_hook : tcenv_hooks -> env -> - (FStar_Syntax_Syntax.binding, sig_binding) FStar_Util.either -> unit) + (FStar_Syntax_Syntax.binding,sig_binding) FStar_Util.either -> unit) = - fun projectee -> + fun projectee -> match projectee with | { tc_push_in_gamma_hook;_} -> tc_push_in_gamma_hook + type solver_depth_t = (Prims.int * Prims.int * Prims.int) type implicits = implicit Prims.list let (postprocess : @@ -1062,46 +1162,49 @@ let (postprocess : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) - = fun env -> fun tau -> fun ty -> fun tm -> env.postprocess env tau ty tm + = + fun env -> fun tau -> fun ty -> fun tm -> env.postprocess env tau ty tm let (rename_gamma : FStar_Syntax_Syntax.subst_t -> FStar_Syntax_Syntax.gamma -> FStar_Syntax_Syntax.gamma) = - fun subst1 -> - fun gamma -> + fun subst1 -> + fun gamma -> FStar_All.pipe_right gamma (FStar_List.map - (fun uu___0_11796 -> + (fun uu___0_11796 -> match uu___0_11796 with | FStar_Syntax_Syntax.Binding_var x -> let y = - let uu____11799 = FStar_Syntax_Syntax.bv_to_name x in - FStar_Syntax_Subst.subst subst1 uu____11799 in + let uu____11799 = FStar_Syntax_Syntax.bv_to_name x in + FStar_Syntax_Subst.subst subst1 uu____11799 in let uu____11800 = - let uu____11801 = FStar_Syntax_Subst.compress y in - uu____11801.FStar_Syntax_Syntax.n in + let uu____11801 = FStar_Syntax_Subst.compress y in + uu____11801.FStar_Syntax_Syntax.n in (match uu____11800 with | FStar_Syntax_Syntax.Tm_name y1 -> let uu____11805 = - let uu___329_11806 = y1 in + let uu___329_11806 = y1 in let uu____11807 = FStar_Syntax_Subst.subst subst1 - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = (uu___329_11806.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___329_11806.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____11807 - } in + } in FStar_Syntax_Syntax.Binding_var uu____11805 | uu____11810 -> failwith "Not a renaming") | b -> b)) + let (rename_env : FStar_Syntax_Syntax.subst_t -> env -> env) = - fun subst1 -> - fun env -> - let uu___335_11824 = env in - let uu____11825 = rename_gamma subst1 env.gamma in + fun subst1 -> + fun env -> + let uu___335_11824 = env in + let uu____11825 = rename_gamma subst1 env.gamma in { solver = (uu___335_11824.solver); range = (uu___335_11824.range); @@ -1147,13 +1250,14 @@ let (rename_env : FStar_Syntax_Syntax.subst_t -> env -> env) = dsenv = (uu___335_11824.dsenv); nbe = (uu___335_11824.nbe) } + let (default_tc_hooks : tcenv_hooks) = - { tc_push_in_gamma_hook = (fun uu____11833 -> fun uu____11834 -> ()) } -let (tc_hooks : env -> tcenv_hooks) = fun env -> env.tc_hooks + { tc_push_in_gamma_hook = (fun uu____11833 -> fun uu____11834 -> ()) } +let (tc_hooks : env -> tcenv_hooks) = fun env -> env.tc_hooks let (set_tc_hooks : env -> tcenv_hooks -> env) = - fun env -> - fun hooks -> - let uu___342_11856 = env in + fun env -> + fun hooks -> + let uu___342_11856 = env in { solver = (uu___342_11856.solver); range = (uu___342_11856.range); @@ -1199,11 +1303,12 @@ let (set_tc_hooks : env -> tcenv_hooks -> env) = dsenv = (uu___342_11856.dsenv); nbe = (uu___342_11856.nbe) } + let (set_dep_graph : env -> FStar_Parser_Dep.deps -> env) = - fun e -> - fun g -> - let uu___346_11868 = e in - let uu____11869 = FStar_Syntax_DsEnv.set_dep_graph e.dsenv g in + fun e -> + fun g -> + let uu___346_11868 = e in + let uu____11869 = FStar_Syntax_DsEnv.set_dep_graph e.dsenv g in { solver = (uu___346_11868.solver); range = (uu___346_11868.range); @@ -1249,32 +1354,36 @@ let (set_dep_graph : env -> FStar_Parser_Dep.deps -> env) = dsenv = uu____11869; nbe = (uu___346_11868.nbe) } + let (dep_graph : env -> FStar_Parser_Dep.deps) = - fun e -> FStar_Syntax_DsEnv.dep_graph e.dsenv + fun e -> FStar_Syntax_DsEnv.dep_graph e.dsenv type env_t = env type sigtable = FStar_Syntax_Syntax.sigelt FStar_Util.smap let (should_verify : env -> Prims.bool) = - fun env -> + fun env -> ((Prims.op_Negation env.lax) && (Prims.op_Negation env.admit)) && (FStar_Options.should_verify (env.curmodule).FStar_Ident.str) + let (visible_at : delta_level -> FStar_Syntax_Syntax.qualifier -> Prims.bool) = - fun d -> - fun q -> + fun d -> + fun q -> match (d, q) with - | (NoDelta, uu____11898) -> true - | (Eager_unfolding_only, - FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen) -> true - | (Unfold uu____11901, - FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen) -> true - | (Unfold uu____11903, FStar_Syntax_Syntax.Visible_default) -> true - | (InliningDelta, FStar_Syntax_Syntax.Inline_for_extraction) -> true + | (NoDelta ,uu____11898) -> true + | (Eager_unfolding_only + ,FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen ) -> true + | (Unfold + uu____11901,FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen ) + -> true + | (Unfold uu____11903,FStar_Syntax_Syntax.Visible_default ) -> true + | (InliningDelta ,FStar_Syntax_Syntax.Inline_for_extraction ) -> true | uu____11906 -> false -let (default_table_size : Prims.int) = (Prims.parse_int "200") + +let (default_table_size : Prims.int) = (Prims.parse_int "200") let new_sigtab : 'Auu____11920 . unit -> 'Auu____11920 FStar_Util.smap = - fun uu____11927 -> FStar_Util.smap_create default_table_size + fun uu____11927 -> FStar_Util.smap_create default_table_size let new_gamma_cache : 'Auu____11933 . unit -> 'Auu____11933 FStar_Util.smap = - fun uu____11940 -> FStar_Util.smap_create (Prims.parse_int "100") + fun uu____11940 -> FStar_Util.smap_create (Prims.parse_int "100") let (initial_env : FStar_Parser_Dep.deps -> (env -> @@ -1297,30 +1406,31 @@ let (initial_env : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) -> env) = - fun deps -> - fun tc_term -> - fun type_of -> - fun universe_of -> - fun check_type_of -> - fun solver -> - fun module_lid -> - fun nbe1 -> - let uu____12078 = new_gamma_cache () in - let uu____12081 = new_sigtab () in - let uu____12084 = new_sigtab () in + fun deps -> + fun tc_term -> + fun type_of -> + fun universe_of -> + fun check_type_of -> + fun solver -> + fun module_lid -> + fun nbe1 -> + let uu____12078 = new_gamma_cache () in + let uu____12081 = new_sigtab () in + let uu____12084 = new_sigtab () in let uu____12091 = let uu____12106 = - FStar_Util.smap_create (Prims.parse_int "10") in - (uu____12106, FStar_Pervasives_Native.None) in + FStar_Util.smap_create (Prims.parse_int "10") in + (uu____12106, FStar_Pervasives_Native.None) in let uu____12127 = - FStar_Util.smap_create (Prims.parse_int "20") in + FStar_Util.smap_create (Prims.parse_int "20") in let uu____12131 = - FStar_Util.smap_create (Prims.parse_int "50") in - let uu____12135 = FStar_Options.using_facts_from () in + FStar_Util.smap_create (Prims.parse_int "50") in + let uu____12135 = FStar_Options.using_facts_from () in let uu____12136 = FStar_Util.mk_ref - FStar_TypeChecker_Common.id_info_table_empty in - let uu____12139 = FStar_Syntax_DsEnv.empty_env deps in + FStar_TypeChecker_Common.id_info_table_empty + in + let uu____12139 = FStar_Syntax_DsEnv.empty_env deps in { solver; range = FStar_Range.dummyRange; @@ -1358,96 +1468,105 @@ let (initial_env : fv_delta_depths = uu____12131; proof_ns = uu____12135; synth_hook = - (fun e -> - fun g -> - fun tau -> failwith "no synthesizer available"); + (fun e -> + fun g -> + fun tau -> failwith "no synthesizer available"); splice = - (fun e -> fun tau -> failwith "no splicer available"); + (fun e -> fun tau -> failwith "no splicer available"); postprocess = - (fun e -> - fun tau -> - fun typ -> - fun tm -> failwith "no postprocessor available"); - is_native_tactic = (fun uu____12201 -> false); + (fun e -> + fun tau -> + fun typ -> + fun tm -> failwith "no postprocessor available"); + is_native_tactic = (fun uu____12201 -> false); identifier_info = uu____12136; tc_hooks = default_tc_hooks; dsenv = uu____12139; nbe = nbe1 } -let (dsenv : env -> FStar_Syntax_DsEnv.env) = fun env -> env.dsenv + +let (dsenv : env -> FStar_Syntax_DsEnv.env) = fun env -> env.dsenv let (sigtab : env -> FStar_Syntax_Syntax.sigelt FStar_Util.smap) = - fun env -> env.sigtab + fun env -> env.sigtab let (attrtab : env -> FStar_Syntax_Syntax.sigelt Prims.list FStar_Util.smap) - = fun env -> env.attrtab + = fun env -> env.attrtab let (gamma_cache : env -> cached_elt FStar_Util.smap) = - fun env -> env.gamma_cache + fun env -> env.gamma_cache let (query_indices : (FStar_Ident.lident * Prims.int) Prims.list Prims.list FStar_ST.ref) = - FStar_Util.mk_ref [[]] + FStar_Util.mk_ref [[]] let (push_query_indices : unit -> unit) = - fun uu____12280 -> - let uu____12281 = FStar_ST.op_Bang query_indices in + fun uu____12280 -> + let uu____12281 = FStar_ST.op_Bang query_indices in match uu____12281 with | [] -> failwith "Empty query indices!" | uu____12336 -> let uu____12346 = let uu____12356 = - let uu____12364 = FStar_ST.op_Bang query_indices in - FStar_List.hd uu____12364 in - let uu____12418 = FStar_ST.op_Bang query_indices in uu____12356 :: - uu____12418 in + let uu____12364 = FStar_ST.op_Bang query_indices in + FStar_List.hd uu____12364 in + let uu____12418 = FStar_ST.op_Bang query_indices in uu____12356 :: + uu____12418 + in FStar_ST.op_Colon_Equals query_indices uu____12346 + let (pop_query_indices : unit -> unit) = - fun uu____12514 -> - let uu____12515 = FStar_ST.op_Bang query_indices in + fun uu____12514 -> + let uu____12515 = FStar_ST.op_Bang query_indices in match uu____12515 with | [] -> failwith "Empty query indices!" | hd1::tl1 -> FStar_ST.op_Colon_Equals query_indices tl1 + let (snapshot_query_indices : unit -> (Prims.int * unit)) = - fun uu____12642 -> + fun uu____12642 -> FStar_Common.snapshot push_query_indices query_indices () + let (rollback_query_indices : Prims.int FStar_Pervasives_Native.option -> unit) = - fun depth -> FStar_Common.rollback pop_query_indices query_indices depth + fun depth -> FStar_Common.rollback pop_query_indices query_indices depth let (add_query_index : (FStar_Ident.lident * Prims.int) -> unit) = - fun uu____12679 -> + fun uu____12679 -> match uu____12679 with - | (l, n1) -> - let uu____12689 = FStar_ST.op_Bang query_indices in + | (l,n1) -> + let uu____12689 = FStar_ST.op_Bang query_indices in (match uu____12689 with | hd1::tl1 -> FStar_ST.op_Colon_Equals query_indices (((l, n1) :: hd1) :: tl1) | uu____12811 -> failwith "Empty query indices") + let (peek_query_indices : unit -> (FStar_Ident.lident * Prims.int) Prims.list) = - fun uu____12834 -> - let uu____12835 = FStar_ST.op_Bang query_indices in + fun uu____12834 -> + let uu____12835 = FStar_ST.op_Bang query_indices in FStar_List.hd uu____12835 -let (stack : env Prims.list FStar_ST.ref) = FStar_Util.mk_ref [] + +let (stack : env Prims.list FStar_ST.ref) = FStar_Util.mk_ref [] let (push_stack : env -> env) = - fun env -> + fun env -> (let uu____12903 = - let uu____12906 = FStar_ST.op_Bang stack in env :: uu____12906 in + let uu____12906 = FStar_ST.op_Bang stack in env :: uu____12906 in FStar_ST.op_Colon_Equals stack uu____12903); - (let uu___414_12955 = env in - let uu____12956 = FStar_Util.smap_copy (gamma_cache env) in - let uu____12959 = FStar_Util.smap_copy (sigtab env) in - let uu____12962 = FStar_Util.smap_copy (attrtab env) in + (let uu___414_12955 = env in + let uu____12956 = FStar_Util.smap_copy (gamma_cache env) in + let uu____12959 = FStar_Util.smap_copy (sigtab env) in + let uu____12962 = FStar_Util.smap_copy (attrtab env) in let uu____12969 = let uu____12984 = let uu____12988 = FStar_All.pipe_right env.qtbl_name_and_index - FStar_Pervasives_Native.fst in - FStar_Util.smap_copy uu____12988 in + FStar_Pervasives_Native.fst + in + FStar_Util.smap_copy uu____12988 in let uu____13020 = FStar_All.pipe_right env.qtbl_name_and_index - FStar_Pervasives_Native.snd in - (uu____12984, uu____13020) in - let uu____13069 = FStar_Util.smap_copy env.normalized_eff_names in - let uu____13072 = FStar_Util.smap_copy env.fv_delta_depths in + FStar_Pervasives_Native.snd + in + (uu____12984, uu____13020) in + let uu____13069 = FStar_Util.smap_copy env.normalized_eff_names in + let uu____13072 = FStar_Util.smap_copy env.fv_delta_depths in let uu____13075 = - let uu____13078 = FStar_ST.op_Bang env.identifier_info in - FStar_Util.mk_ref uu____13078 in + let uu____13078 = FStar_ST.op_Bang env.identifier_info in + FStar_Util.mk_ref uu____13078 in { solver = (uu___414_12955.solver); range = (uu___414_12955.range); @@ -1493,38 +1612,40 @@ let (push_stack : env -> env) = dsenv = (uu___414_12955.dsenv); nbe = (uu___414_12955.nbe) }) + let (pop_stack : unit -> env) = - fun uu____13103 -> - let uu____13104 = FStar_ST.op_Bang stack in + fun uu____13103 -> + let uu____13104 = FStar_ST.op_Bang stack in match uu____13104 with | env::tl1 -> (FStar_ST.op_Colon_Equals stack tl1; env) | uu____13158 -> failwith "Impossible: Too many pops" + let (snapshot_stack : env -> (Prims.int * env)) = - fun env -> FStar_Common.snapshot push_stack stack env + fun env -> FStar_Common.snapshot push_stack stack env let (rollback_stack : Prims.int FStar_Pervasives_Native.option -> env) = - fun depth -> FStar_Common.rollback pop_stack stack depth + fun depth -> FStar_Common.rollback pop_stack stack depth type tcenv_depth_t = (Prims.int * Prims.int * solver_depth_t * Prims.int) let (snapshot : env -> Prims.string -> (tcenv_depth_t * env)) = - fun env -> - fun msg -> + fun env -> + fun msg -> FStar_Util.atomically - (fun uu____13248 -> - let uu____13249 = snapshot_stack env in + (fun uu____13248 -> + let uu____13249 = snapshot_stack env in match uu____13249 with - | (stack_depth, env1) -> - let uu____13283 = snapshot_query_indices () in + | (stack_depth,env1) -> + let uu____13283 = snapshot_query_indices () in (match uu____13283 with - | (query_indices_depth, ()) -> - let uu____13316 = (env1.solver).snapshot msg in + | (query_indices_depth,()) -> + let uu____13316 = (env1.solver).snapshot msg in (match uu____13316 with - | (solver_depth, ()) -> + | (solver_depth,()) -> let uu____13373 = - FStar_Syntax_DsEnv.snapshot env1.dsenv in + FStar_Syntax_DsEnv.snapshot env1.dsenv in (match uu____13373 with - | (dsenv_depth, dsenv1) -> + | (dsenv_depth,dsenv1) -> ((stack_depth, query_indices_depth, solver_depth, dsenv_depth), - (let uu___439_13440 = env1 in + (let uu___439_13440 = env1 in { solver = (uu___439_13440.solver); range = (uu___439_13440.range); @@ -1581,70 +1702,77 @@ let (snapshot : env -> Prims.string -> (tcenv_depth_t * env)) = dsenv = dsenv1; nbe = (uu___439_13440.nbe) })))))) + let (rollback : solver_t -> Prims.string -> tcenv_depth_t FStar_Pervasives_Native.option -> env) = - fun solver -> - fun msg -> - fun depth -> + fun solver -> + fun msg -> + fun depth -> FStar_Util.atomically - (fun uu____13474 -> + (fun uu____13474 -> let uu____13475 = match depth with - | FStar_Pervasives_Native.Some (s1, s2, s3, s4) -> + | FStar_Pervasives_Native.Some (s1,s2,s3,s4) -> ((FStar_Pervasives_Native.Some s1), (FStar_Pervasives_Native.Some s2), (FStar_Pervasives_Native.Some s3), (FStar_Pervasives_Native.Some s4)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None, FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in match uu____13475 with - | (stack_depth, query_indices_depth, solver_depth, dsenv_depth) - -> + | (stack_depth,query_indices_depth,solver_depth,dsenv_depth) -> (solver.rollback msg solver_depth; (match () with | () -> (rollback_query_indices query_indices_depth; (match () with | () -> - let tcenv = rollback_stack stack_depth in + let tcenv = rollback_stack stack_depth in let dsenv1 = - FStar_Syntax_DsEnv.rollback dsenv_depth in + FStar_Syntax_DsEnv.rollback dsenv_depth in ((let uu____13655 = FStar_Util.physical_equality tcenv.dsenv - dsenv1 in + dsenv1 + in FStar_Common.runtime_assert uu____13655 "Inconsistent stack state"); tcenv)))))) + let (push : env -> Prims.string -> env) = - fun env -> - fun msg -> - let uu____13671 = snapshot env msg in + fun env -> + fun msg -> + let uu____13671 = snapshot env msg in FStar_Pervasives_Native.snd uu____13671 + let (pop : env -> Prims.string -> env) = - fun env -> fun msg -> rollback env.solver msg FStar_Pervasives_Native.None + fun env -> + fun msg -> rollback env.solver msg FStar_Pervasives_Native.None + let (incr_query_index : env -> env) = - fun env -> - let qix = peek_query_indices () in + fun env -> + let qix = peek_query_indices () in match env.qtbl_name_and_index with - | (uu____13703, FStar_Pervasives_Native.None) -> env - | (tbl, FStar_Pervasives_Native.Some (l, n1)) -> + | (uu____13703,FStar_Pervasives_Native.None ) -> env + | (tbl,FStar_Pervasives_Native.Some (l,n1)) -> let uu____13745 = FStar_All.pipe_right qix (FStar_List.tryFind - (fun uu____13775 -> + (fun uu____13775 -> match uu____13775 with - | (m, uu____13783) -> FStar_Ident.lid_equals l m)) in + | (m,uu____13783) -> FStar_Ident.lid_equals l m)) + in (match uu____13745 with - | FStar_Pervasives_Native.None -> - let next = n1 + (Prims.parse_int "1") in + | FStar_Pervasives_Native.None -> + let next = n1 + (Prims.parse_int "1") in (add_query_index (l, next); FStar_Util.smap_add tbl l.FStar_Ident.str next; - (let uu___484_13798 = env in + (let uu___484_13798 = env in { solver = (uu___484_13798.solver); range = (uu___484_13798.range); @@ -1691,11 +1819,11 @@ let (incr_query_index : env -> env) = dsenv = (uu___484_13798.dsenv); nbe = (uu___484_13798.nbe) })) - | FStar_Pervasives_Native.Some (uu____13815, m) -> - let next = m + (Prims.parse_int "1") in + | FStar_Pervasives_Native.Some (uu____13815,m) -> + let next = m + (Prims.parse_int "1") in (add_query_index (l, next); FStar_Util.smap_add tbl l.FStar_Ident.str next; - (let uu___493_13831 = env in + (let uu___493_13831 = env in { solver = (uu___493_13831.solver); range = (uu___493_13831.range); @@ -1742,16 +1870,18 @@ let (incr_query_index : env -> env) = dsenv = (uu___493_13831.dsenv); nbe = (uu___493_13831.nbe) }))) + let (debug : env -> FStar_Options.debug_level_t -> Prims.bool) = - fun env -> - fun l -> FStar_Options.debug_at_level (env.curmodule).FStar_Ident.str l + fun env -> + fun l -> FStar_Options.debug_at_level (env.curmodule).FStar_Ident.str l + let (set_range : env -> FStar_Range.range -> env) = - fun e -> - fun r -> + fun e -> + fun r -> if r = FStar_Range.dummyRange then e else - (let uu___500_13874 = e in + (let uu___500_13874 = e in { solver = (uu___500_13874.solver); range = r; @@ -1797,47 +1927,52 @@ let (set_range : env -> FStar_Range.range -> env) = dsenv = (uu___500_13874.dsenv); nbe = (uu___500_13874.nbe) }) -let (get_range : env -> FStar_Range.range) = fun e -> e.range + +let (get_range : env -> FStar_Range.range) = fun e -> e.range let (toggle_id_info : env -> Prims.bool -> unit) = - fun env -> - fun enabled -> + fun env -> + fun enabled -> let uu____13894 = - let uu____13895 = FStar_ST.op_Bang env.identifier_info in - FStar_TypeChecker_Common.id_info_toggle uu____13895 enabled in + let uu____13895 = FStar_ST.op_Bang env.identifier_info in + FStar_TypeChecker_Common.id_info_toggle uu____13895 enabled in FStar_ST.op_Colon_Equals env.identifier_info uu____13894 + let (insert_bv_info : env -> FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.typ -> unit) = - fun env -> - fun bv -> - fun ty -> + fun env -> + fun bv -> + fun ty -> let uu____13950 = - let uu____13951 = FStar_ST.op_Bang env.identifier_info in - FStar_TypeChecker_Common.id_info_insert_bv uu____13951 bv ty in + let uu____13951 = FStar_ST.op_Bang env.identifier_info in + FStar_TypeChecker_Common.id_info_insert_bv uu____13951 bv ty in FStar_ST.op_Colon_Equals env.identifier_info uu____13950 + let (insert_fv_info : env -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.typ -> unit) = - fun env -> - fun fv -> - fun ty -> + fun env -> + fun fv -> + fun ty -> let uu____14006 = - let uu____14007 = FStar_ST.op_Bang env.identifier_info in - FStar_TypeChecker_Common.id_info_insert_fv uu____14007 fv ty in + let uu____14007 = FStar_ST.op_Bang env.identifier_info in + FStar_TypeChecker_Common.id_info_insert_fv uu____14007 fv ty in FStar_ST.op_Colon_Equals env.identifier_info uu____14006 + let (promote_id_info : env -> (FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) -> unit) = - fun env -> - fun ty_map -> + fun env -> + fun ty_map -> let uu____14062 = - let uu____14063 = FStar_ST.op_Bang env.identifier_info in - FStar_TypeChecker_Common.id_info_promote uu____14063 ty_map in + let uu____14063 = FStar_ST.op_Bang env.identifier_info in + FStar_TypeChecker_Common.id_info_promote uu____14063 ty_map in FStar_ST.op_Colon_Equals env.identifier_info uu____14062 + let (modules : env -> FStar_Syntax_Syntax.modul Prims.list) = - fun env -> env.modules -let (current_module : env -> FStar_Ident.lident) = fun env -> env.curmodule + fun env -> env.modules +let (current_module : env -> FStar_Ident.lident) = fun env -> env.curmodule let (set_current_module : env -> FStar_Ident.lident -> env) = - fun env -> - fun lid -> - let uu___517_14127 = env in + fun env -> + fun lid -> + let uu___517_14127 = env in { solver = (uu___517_14127.solver); range = (uu___517_14127.range); @@ -1883,228 +2018,259 @@ let (set_current_module : env -> FStar_Ident.lident -> env) = dsenv = (uu___517_14127.dsenv); nbe = (uu___517_14127.nbe) } + let (has_interface : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun l -> + fun env -> + fun l -> FStar_All.pipe_right env.modules (FStar_Util.for_some - (fun m -> + (fun m -> m.FStar_Syntax_Syntax.is_interface && (FStar_Ident.lid_equals m.FStar_Syntax_Syntax.name l))) + let (find_in_sigtab : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.sigelt FStar_Pervasives_Native.option) = - fun env -> - fun lid -> - let uu____14158 = FStar_Ident.text_of_lid lid in + fun env -> + fun lid -> + let uu____14158 = FStar_Ident.text_of_lid lid in FStar_Util.smap_try_find (sigtab env) uu____14158 + let (name_not_found : FStar_Ident.lid -> (FStar_Errors.raw_error * Prims.string)) = - fun l -> + fun l -> let uu____14171 = - FStar_Util.format1 "Name \"%s\" not found" l.FStar_Ident.str in + FStar_Util.format1 "Name \"%s\" not found" l.FStar_Ident.str in (FStar_Errors.Fatal_NameNotFound, uu____14171) + let (variable_not_found : FStar_Syntax_Syntax.bv -> (FStar_Errors.raw_error * Prims.string)) = - fun v1 -> + fun v1 -> let uu____14186 = - let uu____14188 = FStar_Syntax_Print.bv_to_string v1 in - FStar_Util.format1 "Variable \"%s\" not found" uu____14188 in + let uu____14188 = FStar_Syntax_Print.bv_to_string v1 in + FStar_Util.format1 "Variable \"%s\" not found" uu____14188 in (FStar_Errors.Fatal_VariableNotFound, uu____14186) + let (new_u_univ : unit -> FStar_Syntax_Syntax.universe) = - fun uu____14197 -> - let uu____14198 = FStar_Syntax_Unionfind.univ_fresh () in + fun uu____14197 -> + let uu____14198 = FStar_Syntax_Unionfind.univ_fresh () in FStar_Syntax_Syntax.U_unif uu____14198 + let (mk_univ_subst : FStar_Syntax_Syntax.univ_name Prims.list -> FStar_Syntax_Syntax.universes -> FStar_Syntax_Syntax.subst_elt Prims.list) = - fun formals -> - fun us -> - let n1 = (FStar_List.length formals) - (Prims.parse_int "1") in + fun formals -> + fun us -> + let n1 = (FStar_List.length formals) - (Prims.parse_int "1") in FStar_All.pipe_right us (FStar_List.mapi - (fun i -> fun u -> FStar_Syntax_Syntax.UN ((n1 - i), u))) + (fun i -> fun u -> FStar_Syntax_Syntax.UN ((n1 - i), u))) + let (inst_tscheme_with : FStar_Syntax_Syntax.tscheme -> FStar_Syntax_Syntax.universes -> (FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.term)) = - fun ts -> - fun us -> + fun ts -> + fun us -> match (ts, us) with - | (([], t), []) -> ([], t) - | ((formals, t), uu____14298) -> - let vs = mk_univ_subst formals us in - let uu____14322 = FStar_Syntax_Subst.subst vs t in + | (([],t),[]) -> ([], t) + | ((formals,t),uu____14298) -> + let vs = mk_univ_subst formals us in + let uu____14322 = FStar_Syntax_Subst.subst vs t in (us, uu____14322) + let (inst_tscheme : FStar_Syntax_Syntax.tscheme -> (FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.term)) = - fun uu___1_14339 -> + fun uu___1_14339 -> match uu___1_14339 with - | ([], t) -> ([], t) - | (us, t) -> + | ([],t) -> ([], t) + | (us,t) -> let us' = FStar_All.pipe_right us - (FStar_List.map (fun uu____14365 -> new_u_univ ())) in + (FStar_List.map (fun uu____14365 -> new_u_univ ())) + in inst_tscheme_with (us, t) us' + let (inst_tscheme_with_range : FStar_Range.range -> FStar_Syntax_Syntax.tscheme -> (FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.term)) = - fun r -> - fun t -> - let uu____14385 = inst_tscheme t in + fun r -> + fun t -> + let uu____14385 = inst_tscheme t in match uu____14385 with - | (us, t1) -> - let uu____14396 = FStar_Syntax_Subst.set_use_range r t1 in + | (us,t1) -> + let uu____14396 = FStar_Syntax_Subst.set_use_range r t1 in (us, uu____14396) + let (inst_effect_fun_with : FStar_Syntax_Syntax.universes -> env -> FStar_Syntax_Syntax.eff_decl -> FStar_Syntax_Syntax.tscheme -> FStar_Syntax_Syntax.term) = - fun insts -> - fun env -> - fun ed -> - fun uu____14417 -> + fun insts -> + fun env -> + fun ed -> + fun uu____14417 -> match uu____14417 with - | (us, t) -> + | (us,t) -> (match ed.FStar_Syntax_Syntax.binders with | [] -> let univs1 = - FStar_List.append ed.FStar_Syntax_Syntax.univs us in + FStar_List.append ed.FStar_Syntax_Syntax.univs us in (if (FStar_List.length insts) <> (FStar_List.length univs1) then (let uu____14439 = let uu____14441 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length univs1) in + (FStar_List.length univs1) + in let uu____14445 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length insts) in + (FStar_List.length insts) + in let uu____14449 = FStar_Syntax_Print.lid_to_string - ed.FStar_Syntax_Syntax.mname in + ed.FStar_Syntax_Syntax.mname + in let uu____14451 = - FStar_Syntax_Print.term_to_string t in + FStar_Syntax_Print.term_to_string t in FStar_Util.format4 "Expected %s instantiations; got %s; failed universe instantiation in effect %s\n\t%s\n" - uu____14441 uu____14445 uu____14449 uu____14451 in + uu____14441 uu____14445 uu____14449 uu____14451 + in failwith uu____14439) else (); (let uu____14456 = inst_tscheme_with ((FStar_List.append ed.FStar_Syntax_Syntax.univs us), - t) insts in + t) insts + in FStar_Pervasives_Native.snd uu____14456)) | uu____14465 -> let uu____14466 = let uu____14468 = FStar_Syntax_Print.lid_to_string - ed.FStar_Syntax_Syntax.mname in + ed.FStar_Syntax_Syntax.mname + in FStar_Util.format1 "Unexpected use of an uninstantiated effect: %s\n" - uu____14468 in + uu____14468 + in failwith uu____14466) + type tri = | Yes | No | Maybe let (uu___is_Yes : tri -> Prims.bool) = - fun projectee -> match projectee with | Yes -> true | uu____14480 -> false + fun projectee -> + match projectee with | Yes -> true | uu____14480 -> false + let (uu___is_No : tri -> Prims.bool) = - fun projectee -> match projectee with | No -> true | uu____14491 -> false + fun projectee -> match projectee with | No -> true | uu____14491 -> false let (uu___is_Maybe : tri -> Prims.bool) = - fun projectee -> - match projectee with | Maybe -> true | uu____14502 -> false + fun projectee -> + match projectee with | Maybe -> true | uu____14502 -> false + let (in_cur_mod : env -> FStar_Ident.lident -> tri) = - fun env -> - fun l -> - let cur = current_module env in + fun env -> + fun l -> + let cur = current_module env in if l.FStar_Ident.nsstr = cur.FStar_Ident.str then Yes else if FStar_Util.starts_with l.FStar_Ident.nsstr cur.FStar_Ident.str then - (let lns = FStar_List.append l.FStar_Ident.ns [l.FStar_Ident.ident] in + (let lns = FStar_List.append l.FStar_Ident.ns [l.FStar_Ident.ident] + in let cur1 = - FStar_List.append cur.FStar_Ident.ns [cur.FStar_Ident.ident] in + FStar_List.append cur.FStar_Ident.ns [cur.FStar_Ident.ident] in let rec aux c l1 = match (c, l1) with - | ([], uu____14550) -> Maybe - | (uu____14557, []) -> No - | (hd1::tl1, hd'::tl') when + | ([],uu____14550) -> Maybe + | (uu____14557,[]) -> No + | (hd1::tl1,hd'::tl') when hd1.FStar_Ident.idText = hd'.FStar_Ident.idText -> aux tl1 tl' - | uu____14577 -> No in + | uu____14577 -> No in aux cur1 lns) else No + type qninfo = - (((FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.typ), - (FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.universes - FStar_Pervasives_Native.option)) + (((FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.typ),(FStar_Syntax_Syntax.sigelt + * + FStar_Syntax_Syntax.universes + FStar_Pervasives_Native.option)) FStar_Util.either * FStar_Range.range) FStar_Pervasives_Native.option let (lookup_qname : env -> FStar_Ident.lident -> qninfo) = - fun env -> - fun lid -> - let cur_mod = in_cur_mod env lid in + fun env -> + fun lid -> + let cur_mod = in_cur_mod env lid in let cache t = FStar_Util.smap_add (gamma_cache env) lid.FStar_Ident.str t; - FStar_Pervasives_Native.Some t in + FStar_Pervasives_Native.Some t in let found = if cur_mod <> No then let uu____14671 = - FStar_Util.smap_try_find (gamma_cache env) lid.FStar_Ident.str in + FStar_Util.smap_try_find (gamma_cache env) lid.FStar_Ident.str + in match uu____14671 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____14694 = FStar_Util.find_map env.gamma - (fun uu___2_14738 -> + (fun uu___2_14738 -> match uu___2_14738 with - | FStar_Syntax_Syntax.Binding_lid (l, t) -> - let uu____14777 = FStar_Ident.lid_equals lid l in + | FStar_Syntax_Syntax.Binding_lid (l,t) -> + let uu____14777 = FStar_Ident.lid_equals lid l in if uu____14777 then let uu____14800 = let uu____14819 = - let uu____14834 = inst_tscheme t in - FStar_Util.Inl uu____14834 in - let uu____14849 = FStar_Ident.range_of_lid l in - (uu____14819, uu____14849) in + let uu____14834 = inst_tscheme t in + FStar_Util.Inl uu____14834 in + let uu____14849 = FStar_Ident.range_of_lid l in + (uu____14819, uu____14849) in FStar_Pervasives_Native.Some uu____14800 else FStar_Pervasives_Native.None - | uu____14902 -> FStar_Pervasives_Native.None) in + | uu____14902 -> FStar_Pervasives_Native.None) + in FStar_Util.catch_opt uu____14694 - (fun uu____14940 -> + (fun uu____14940 -> FStar_Util.find_map env.gamma_sig - (fun uu___3_14949 -> + (fun uu___3_14949 -> match uu___3_14949 with - | (uu____14952, - { - FStar_Syntax_Syntax.sigel = - FStar_Syntax_Syntax.Sig_bundle - (ses, uu____14954); - FStar_Syntax_Syntax.sigrng = uu____14955; - FStar_Syntax_Syntax.sigquals = uu____14956; - FStar_Syntax_Syntax.sigmeta = uu____14957; - FStar_Syntax_Syntax.sigattrs = uu____14958;_}) + | (uu____14952,{ + FStar_Syntax_Syntax.sigel = + FStar_Syntax_Syntax.Sig_bundle + (ses,uu____14954); + FStar_Syntax_Syntax.sigrng = + uu____14955; + FStar_Syntax_Syntax.sigquals = + uu____14956; + FStar_Syntax_Syntax.sigmeta = + uu____14957; + FStar_Syntax_Syntax.sigattrs = + uu____14958;_}) -> FStar_Util.find_map ses - (fun se -> + (fun se -> let uu____14978 = FStar_All.pipe_right (FStar_Syntax_Util.lids_of_sigelt se) (FStar_Util.for_some - (FStar_Ident.lid_equals lid)) in + (FStar_Ident.lid_equals lid)) + in if uu____14978 then cache @@ -2112,118 +2278,127 @@ let (lookup_qname : env -> FStar_Ident.lident -> qninfo) = (se, FStar_Pervasives_Native.None)), (FStar_Syntax_Util.range_of_sigelt se)) else FStar_Pervasives_Native.None) - | (lids, s) -> + | (lids,s) -> let maybe_cache t = match s.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_declare_typ uu____15030 -> FStar_Pervasives_Native.Some t - | uu____15037 -> cache t in + | uu____15037 -> cache t in let uu____15038 = FStar_List.tryFind (FStar_Ident.lid_equals lid) - lids in + lids + in (match uu____15038 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some l -> let uu____15044 = let uu____15045 = - FStar_Ident.range_of_lid l in + FStar_Ident.range_of_lid l in ((FStar_Util.Inr (s, FStar_Pervasives_Native.None)), - uu____15045) in + uu____15045) + in maybe_cache uu____15044))) | se -> se - else FStar_Pervasives_Native.None in + else FStar_Pervasives_Native.None in if FStar_Util.is_some found then found else - (let uu____15116 = find_in_sigtab env lid in + (let uu____15116 = find_in_sigtab env lid in match uu____15116 with | FStar_Pervasives_Native.Some se -> FStar_Pervasives_Native.Some ((FStar_Util.Inr (se, FStar_Pervasives_Native.None)), (FStar_Syntax_Util.range_of_sigelt se)) - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) + let (lookup_sigelt : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.sigelt FStar_Pervasives_Native.option) = - fun env -> - fun lid -> - let uu____15197 = lookup_qname env lid in + fun env -> + fun lid -> + let uu____15197 = lookup_qname env lid in match uu____15197 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (FStar_Util.Inl uu____15218, rng) -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (FStar_Util.Inl uu____15218,rng) -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (FStar_Util.Inr (se, us), rng) -> + | FStar_Pervasives_Native.Some (FStar_Util.Inr (se,us),rng) -> FStar_Pervasives_Native.Some se + let (lookup_attr : env -> Prims.string -> FStar_Syntax_Syntax.sigelt Prims.list) = - fun env -> - fun attr -> - let uu____15332 = FStar_Util.smap_try_find (attrtab env) attr in + fun env -> + fun attr -> + let uu____15332 = FStar_Util.smap_try_find (attrtab env) attr in match uu____15332 with | FStar_Pervasives_Native.Some ses -> ses - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] + let (add_se_to_attrtab : env -> FStar_Syntax_Syntax.sigelt -> unit) = - fun env -> - fun se -> + fun env -> + fun se -> let add_one1 env1 se1 attr = let uu____15377 = - let uu____15380 = lookup_attr env1 attr in se1 :: uu____15380 in - FStar_Util.smap_add (attrtab env1) attr uu____15377 in + let uu____15380 = lookup_attr env1 attr in se1 :: uu____15380 in + FStar_Util.smap_add (attrtab env1) attr uu____15377 in FStar_List.iter - (fun attr -> + (fun attr -> let uu____15390 = - let uu____15391 = FStar_Syntax_Subst.compress attr in - uu____15391.FStar_Syntax_Syntax.n in + let uu____15391 = FStar_Syntax_Subst.compress attr in + uu____15391.FStar_Syntax_Syntax.n in match uu____15390 with | FStar_Syntax_Syntax.Tm_fvar fv -> let uu____15395 = - let uu____15397 = FStar_Syntax_Syntax.lid_of_fv fv in - uu____15397.FStar_Ident.str in + let uu____15397 = FStar_Syntax_Syntax.lid_of_fv fv in + uu____15397.FStar_Ident.str in add_one1 env se uu____15395 | uu____15398 -> ()) se.FStar_Syntax_Syntax.sigattrs + let rec (add_sigelt : env -> FStar_Syntax_Syntax.sigelt -> unit) = - fun env -> - fun se -> + fun env -> + fun se -> match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle (ses, uu____15421) -> + | FStar_Syntax_Syntax.Sig_bundle (ses,uu____15421) -> add_sigelts env ses | uu____15430 -> - let lids = FStar_Syntax_Util.lids_of_sigelt se in + let lids = FStar_Syntax_Util.lids_of_sigelt se in (FStar_List.iter - (fun l -> FStar_Util.smap_add (sigtab env) l.FStar_Ident.str se) + (fun l -> FStar_Util.smap_add (sigtab env) l.FStar_Ident.str se) lids; add_se_to_attrtab env se; (match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_new_effect ne -> FStar_All.pipe_right ne.FStar_Syntax_Syntax.actions (FStar_List.iter - (fun a -> + (fun a -> let se_let = FStar_Syntax_Util.action_as_lb ne.FStar_Syntax_Syntax.mname a - (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos in + (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos + in FStar_Util.smap_add (sigtab env) (a.FStar_Syntax_Syntax.action_name).FStar_Ident.str se_let)) | uu____15445 -> ())) + and (add_sigelts : env -> FStar_Syntax_Syntax.sigelt Prims.list -> unit) = - fun env -> - fun ses -> FStar_All.pipe_right ses (FStar_List.iter (add_sigelt env)) + fun env -> + fun ses -> FStar_All.pipe_right ses (FStar_List.iter (add_sigelt env)) + let (try_lookup_bv : env -> FStar_Syntax_Syntax.bv -> (FStar_Syntax_Syntax.typ * FStar_Range.range) FStar_Pervasives_Native.option) = - fun env -> - fun bv -> + fun env -> + fun bv -> FStar_Util.find_map env.gamma - (fun uu___4_15477 -> + (fun uu___4_15477 -> match uu___4_15477 with | FStar_Syntax_Syntax.Binding_var id1 when FStar_Syntax_Syntax.bv_eq id1 bv -> @@ -2231,6 +2406,7 @@ let (try_lookup_bv : ((id1.FStar_Syntax_Syntax.sort), ((id1.FStar_Syntax_Syntax.ppname).FStar_Ident.idRange)) | uu____15495 -> FStar_Pervasives_Native.None) + let (lookup_type_of_let : FStar_Syntax_Syntax.universes FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.sigelt -> @@ -2238,56 +2414,62 @@ let (lookup_type_of_let : ((FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.term) * FStar_Range.range) FStar_Pervasives_Native.option) = - fun us_opt -> - fun se -> - fun lid -> + fun us_opt -> + fun se -> + fun lid -> let inst_tscheme1 ts = match us_opt with - | FStar_Pervasives_Native.None -> inst_tscheme ts - | FStar_Pervasives_Native.Some us -> inst_tscheme_with ts us in + | FStar_Pervasives_Native.None -> inst_tscheme ts + | FStar_Pervasives_Native.Some us -> inst_tscheme_with ts us in match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_let ((uu____15557, lb::[]), uu____15559) -> + | FStar_Syntax_Syntax.Sig_let ((uu____15557,lb::[]),uu____15559) -> let uu____15568 = let uu____15577 = inst_tscheme1 ((lb.FStar_Syntax_Syntax.lbunivs), - (lb.FStar_Syntax_Syntax.lbtyp)) in + (lb.FStar_Syntax_Syntax.lbtyp)) + in let uu____15586 = FStar_Syntax_Syntax.range_of_lbname - lb.FStar_Syntax_Syntax.lbname in - (uu____15577, uu____15586) in + lb.FStar_Syntax_Syntax.lbname + in + (uu____15577, uu____15586) in FStar_Pervasives_Native.Some uu____15568 - | FStar_Syntax_Syntax.Sig_let ((uu____15599, lbs), uu____15601) -> + | FStar_Syntax_Syntax.Sig_let ((uu____15599,lbs),uu____15601) -> FStar_Util.find_map lbs - (fun lb -> + (fun lb -> match lb.FStar_Syntax_Syntax.lbname with | FStar_Util.Inl uu____15633 -> failwith "impossible" | FStar_Util.Inr fv -> - let uu____15646 = FStar_Syntax_Syntax.fv_eq_lid fv lid in + let uu____15646 = FStar_Syntax_Syntax.fv_eq_lid fv lid + in if uu____15646 then let uu____15659 = let uu____15668 = inst_tscheme1 ((lb.FStar_Syntax_Syntax.lbunivs), - (lb.FStar_Syntax_Syntax.lbtyp)) in - let uu____15677 = FStar_Syntax_Syntax.range_of_fv fv in - (uu____15668, uu____15677) in + (lb.FStar_Syntax_Syntax.lbtyp)) + in + let uu____15677 = FStar_Syntax_Syntax.range_of_fv fv + in + (uu____15668, uu____15677) in FStar_Pervasives_Native.Some uu____15659 else FStar_Pervasives_Native.None) | uu____15700 -> FStar_Pervasives_Native.None + let (effect_signature : FStar_Syntax_Syntax.universes FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.sigelt -> ((FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.term) * FStar_Range.range) FStar_Pervasives_Native.option) = - fun us_opt -> - fun se -> + fun us_opt -> + fun se -> let inst_tscheme1 ts = match us_opt with - | FStar_Pervasives_Native.None -> inst_tscheme ts - | FStar_Pervasives_Native.Some us -> inst_tscheme_with ts us in + | FStar_Pervasives_Native.None -> inst_tscheme ts + | FStar_Pervasives_Native.Some us -> inst_tscheme_with ts us in match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_new_effect ne -> let uu____15760 = @@ -2296,27 +2478,30 @@ let (effect_signature : let uu____15775 = let uu____15778 = FStar_Syntax_Syntax.mk_Total - ne.FStar_Syntax_Syntax.signature in + ne.FStar_Syntax_Syntax.signature + in FStar_Syntax_Util.arrow ne.FStar_Syntax_Syntax.binders - uu____15778 in - ((ne.FStar_Syntax_Syntax.univs), uu____15775) in - inst_tscheme1 uu____15774 in - (uu____15769, (se.FStar_Syntax_Syntax.sigrng)) in + uu____15778 + in + ((ne.FStar_Syntax_Syntax.univs), uu____15775) in + inst_tscheme1 uu____15774 in + (uu____15769, (se.FStar_Syntax_Syntax.sigrng)) in FStar_Pervasives_Native.Some uu____15760 | FStar_Syntax_Syntax.Sig_effect_abbrev - (lid, us, binders, uu____15800, uu____15801) -> + (lid,us,binders,uu____15800,uu____15801) -> let uu____15806 = let uu____15815 = let uu____15820 = let uu____15821 = let uu____15824 = - FStar_Syntax_Syntax.mk_Total FStar_Syntax_Syntax.teff in - FStar_Syntax_Util.arrow binders uu____15824 in - (us, uu____15821) in - inst_tscheme1 uu____15820 in - (uu____15815, (se.FStar_Syntax_Syntax.sigrng)) in + FStar_Syntax_Syntax.mk_Total FStar_Syntax_Syntax.teff in + FStar_Syntax_Util.arrow binders uu____15824 in + (us, uu____15821) in + inst_tscheme1 uu____15820 in + (uu____15815, (se.FStar_Syntax_Syntax.sigrng)) in FStar_Pervasives_Native.Some uu____15806 | uu____15843 -> FStar_Pervasives_Native.None + let (try_lookup_lid_aux : FStar_Syntax_Syntax.universes FStar_Pervasives_Native.option -> env -> @@ -2325,80 +2510,81 @@ let (try_lookup_lid_aux : FStar_Syntax_Syntax.syntax) * FStar_Range.range) FStar_Pervasives_Native.option) = - fun us_opt -> - fun env -> - fun lid -> + fun us_opt -> + fun env -> + fun lid -> let inst_tscheme1 ts = match us_opt with - | FStar_Pervasives_Native.None -> inst_tscheme ts - | FStar_Pervasives_Native.Some us -> inst_tscheme_with ts us in + | FStar_Pervasives_Native.None -> inst_tscheme ts + | FStar_Pervasives_Native.Some us -> inst_tscheme_with ts us in let mapper uu____15932 = match uu____15932 with - | (lr, rng) -> + | (lr,rng) -> (match lr with | FStar_Util.Inl t -> FStar_Pervasives_Native.Some (t, rng) | FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon - (uu____16028, uvs, t, uu____16031, uu____16032, - uu____16033); + (uu____16028,uvs,t,uu____16031,uu____16032,uu____16033); FStar_Syntax_Syntax.sigrng = uu____16034; FStar_Syntax_Syntax.sigquals = uu____16035; FStar_Syntax_Syntax.sigmeta = uu____16036; - FStar_Syntax_Syntax.sigattrs = uu____16037;_}, - FStar_Pervasives_Native.None) + FStar_Syntax_Syntax.sigattrs = uu____16037;_},FStar_Pervasives_Native.None + ) -> let uu____16060 = - let uu____16069 = inst_tscheme1 (uvs, t) in - (uu____16069, rng) in + let uu____16069 = inst_tscheme1 (uvs, t) in + (uu____16069, rng) in FStar_Pervasives_Native.Some uu____16060 | FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = - FStar_Syntax_Syntax.Sig_declare_typ (l, uvs, t); + FStar_Syntax_Syntax.Sig_declare_typ (l,uvs,t); FStar_Syntax_Syntax.sigrng = uu____16093; FStar_Syntax_Syntax.sigquals = qs; FStar_Syntax_Syntax.sigmeta = uu____16095; - FStar_Syntax_Syntax.sigattrs = uu____16096;_}, - FStar_Pervasives_Native.None) + FStar_Syntax_Syntax.sigattrs = uu____16096;_},FStar_Pervasives_Native.None + ) -> let uu____16113 = - let uu____16115 = in_cur_mod env l in uu____16115 = Yes in + let uu____16115 = in_cur_mod env l in uu____16115 = Yes + in if uu____16113 then let uu____16127 = (FStar_All.pipe_right qs (FStar_List.contains FStar_Syntax_Syntax.Assumption)) - || env.is_iface in + || env.is_iface + in (if uu____16127 then let uu____16143 = - let uu____16152 = inst_tscheme1 (uvs, t) in - (uu____16152, rng) in + let uu____16152 = inst_tscheme1 (uvs, t) in + (uu____16152, rng) in FStar_Pervasives_Native.Some uu____16143 else FStar_Pervasives_Native.None) else (let uu____16185 = - let uu____16194 = inst_tscheme1 (uvs, t) in - (uu____16194, rng) in + let uu____16194 = inst_tscheme1 (uvs, t) in + (uu____16194, rng) in FStar_Pervasives_Native.Some uu____16185) | FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_inductive_typ - (lid1, uvs, tps, k, uu____16219, uu____16220); + (lid1,uvs,tps,k,uu____16219,uu____16220); FStar_Syntax_Syntax.sigrng = uu____16221; FStar_Syntax_Syntax.sigquals = uu____16222; FStar_Syntax_Syntax.sigmeta = uu____16223; - FStar_Syntax_Syntax.sigattrs = uu____16224;_}, - FStar_Pervasives_Native.None) + FStar_Syntax_Syntax.sigattrs = uu____16224;_},FStar_Pervasives_Native.None + ) -> (match tps with | [] -> let uu____16265 = - let uu____16274 = inst_tscheme1 (uvs, k) in - (uu____16274, rng) in + let uu____16274 = inst_tscheme1 (uvs, k) in + (uu____16274, rng) in FStar_Pervasives_Native.Some uu____16265 | uu____16295 -> let uu____16296 = @@ -2406,28 +2592,29 @@ let (try_lookup_lid_aux : let uu____16310 = let uu____16311 = let uu____16314 = - FStar_Syntax_Syntax.mk_Total k in - FStar_Syntax_Util.flat_arrow tps uu____16314 in - (uvs, uu____16311) in - inst_tscheme1 uu____16310 in - (uu____16305, rng) in + FStar_Syntax_Syntax.mk_Total k in + FStar_Syntax_Util.flat_arrow tps uu____16314 + in + (uvs, uu____16311) in + inst_tscheme1 uu____16310 in + (uu____16305, rng) in FStar_Pervasives_Native.Some uu____16296) | FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_inductive_typ - (lid1, uvs, tps, k, uu____16337, uu____16338); + (lid1,uvs,tps,k,uu____16337,uu____16338); FStar_Syntax_Syntax.sigrng = uu____16339; FStar_Syntax_Syntax.sigquals = uu____16340; FStar_Syntax_Syntax.sigmeta = uu____16341; - FStar_Syntax_Syntax.sigattrs = uu____16342;_}, - FStar_Pervasives_Native.Some us) + FStar_Syntax_Syntax.sigattrs = uu____16342;_},FStar_Pervasives_Native.Some + us) -> (match tps with | [] -> let uu____16384 = - let uu____16393 = inst_tscheme_with (uvs, k) us in - (uu____16393, rng) in + let uu____16393 = inst_tscheme_with (uvs, k) us in + (uu____16393, rng) in FStar_Pervasives_Native.Some uu____16384 | uu____16414 -> let uu____16415 = @@ -2435,11 +2622,12 @@ let (try_lookup_lid_aux : let uu____16429 = let uu____16430 = let uu____16433 = - FStar_Syntax_Syntax.mk_Total k in - FStar_Syntax_Util.flat_arrow tps uu____16433 in - (uvs, uu____16430) in - inst_tscheme_with uu____16429 us in - (uu____16424, rng) in + FStar_Syntax_Syntax.mk_Total k in + FStar_Syntax_Util.flat_arrow tps uu____16433 + in + (uvs, uu____16430) in + inst_tscheme_with uu____16429 us in + (uu____16424, rng) in FStar_Pervasives_Native.Some uu____16415) | FStar_Util.Inr se -> let uu____16469 = @@ -2450,86 +2638,94 @@ let (try_lookup_lid_aux : FStar_Syntax_Syntax.sigrng = uu____16491; FStar_Syntax_Syntax.sigquals = uu____16492; FStar_Syntax_Syntax.sigmeta = uu____16493; - FStar_Syntax_Syntax.sigattrs = uu____16494;_}, - FStar_Pervasives_Native.None) -> + FStar_Syntax_Syntax.sigattrs = uu____16494;_},FStar_Pervasives_Native.None + ) -> lookup_type_of_let us_opt (FStar_Pervasives_Native.fst se) lid | uu____16509 -> effect_signature us_opt - (FStar_Pervasives_Native.fst se) in + (FStar_Pervasives_Native.fst se) + in FStar_All.pipe_right uu____16469 (FStar_Util.map_option - (fun uu____16557 -> + (fun uu____16557 -> match uu____16557 with - | (us_t, rng1) -> (us_t, rng1)))) in + | (us_t,rng1) -> (us_t, rng1)))) + in let uu____16588 = - let uu____16599 = lookup_qname env lid in - FStar_Util.bind_opt uu____16599 mapper in + let uu____16599 = lookup_qname env lid in + FStar_Util.bind_opt uu____16599 mapper in match uu____16588 with - | FStar_Pervasives_Native.Some ((us, t), r) -> + | FStar_Pervasives_Native.Some ((us,t),r) -> let uu____16673 = let uu____16684 = let uu____16691 = - let uu___844_16694 = t in - let uu____16695 = FStar_Ident.range_of_lid lid in + let uu___844_16694 = t in + let uu____16695 = FStar_Ident.range_of_lid lid in { FStar_Syntax_Syntax.n = (uu___844_16694.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = uu____16695; FStar_Syntax_Syntax.vars = (uu___844_16694.FStar_Syntax_Syntax.vars) - } in - (us, uu____16691) in - (uu____16684, r) in + } in + (us, uu____16691) in + (uu____16684, r) in FStar_Pervasives_Native.Some uu____16673 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + let (lid_exists : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun l -> - let uu____16744 = lookup_qname env l in + fun env -> + fun l -> + let uu____16744 = lookup_qname env l in match uu____16744 with - | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.None -> false | FStar_Pervasives_Native.Some uu____16765 -> true + let (lookup_bv : env -> FStar_Syntax_Syntax.bv -> (FStar_Syntax_Syntax.typ * FStar_Range.range)) = - fun env -> - fun bv -> - let bvr = FStar_Syntax_Syntax.range_of_bv bv in - let uu____16819 = try_lookup_bv env bv in + fun env -> + fun bv -> + let bvr = FStar_Syntax_Syntax.range_of_bv bv in + let uu____16819 = try_lookup_bv env bv in match uu____16819 with - | FStar_Pervasives_Native.None -> - let uu____16834 = variable_not_found bv in + | FStar_Pervasives_Native.None -> + let uu____16834 = variable_not_found bv in FStar_Errors.raise_error uu____16834 bvr - | FStar_Pervasives_Native.Some (t, r) -> - let uu____16850 = FStar_Syntax_Subst.set_use_range bvr t in + | FStar_Pervasives_Native.Some (t,r) -> + let uu____16850 = FStar_Syntax_Subst.set_use_range bvr t in let uu____16851 = - let uu____16852 = FStar_Range.use_range bvr in - FStar_Range.set_use_range r uu____16852 in + let uu____16852 = FStar_Range.use_range bvr in + FStar_Range.set_use_range r uu____16852 in (uu____16850, uu____16851) + let (try_lookup_lid : env -> FStar_Ident.lident -> ((FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.typ) * FStar_Range.range) FStar_Pervasives_Native.option) = - fun env -> - fun l -> - let uu____16874 = try_lookup_lid_aux FStar_Pervasives_Native.None env l in + fun env -> + fun l -> + let uu____16874 = try_lookup_lid_aux FStar_Pervasives_Native.None env l + in match uu____16874 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some ((us, t), r) -> - let use_range1 = FStar_Ident.range_of_lid l in + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some ((us,t),r) -> + let use_range1 = FStar_Ident.range_of_lid l in let r1 = - let uu____16940 = FStar_Range.use_range use_range1 in - FStar_Range.set_use_range r uu____16940 in + let uu____16940 = FStar_Range.use_range use_range1 in + FStar_Range.set_use_range r uu____16940 in let uu____16941 = let uu____16950 = - let uu____16955 = FStar_Syntax_Subst.set_use_range use_range1 t in - (us, uu____16955) in - (uu____16950, r1) in + let uu____16955 = FStar_Syntax_Subst.set_use_range use_range1 t + in + (us, uu____16955) in + (uu____16950, r1) in FStar_Pervasives_Native.Some uu____16941 + let (try_lookup_and_inst_lid : env -> FStar_Syntax_Syntax.universes -> @@ -2537,177 +2733,177 @@ let (try_lookup_and_inst_lid : (FStar_Syntax_Syntax.typ * FStar_Range.range) FStar_Pervasives_Native.option) = - fun env -> - fun us -> - fun l -> + fun env -> + fun us -> + fun l -> let uu____16990 = - try_lookup_lid_aux (FStar_Pervasives_Native.Some us) env l in + try_lookup_lid_aux (FStar_Pervasives_Native.Some us) env l in match uu____16990 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some ((uu____17023, t), r) -> - let use_range1 = FStar_Ident.range_of_lid l in + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some ((uu____17023,t),r) -> + let use_range1 = FStar_Ident.range_of_lid l in let r1 = - let uu____17048 = FStar_Range.use_range use_range1 in - FStar_Range.set_use_range r uu____17048 in + let uu____17048 = FStar_Range.use_range use_range1 in + FStar_Range.set_use_range r uu____17048 in let uu____17049 = - let uu____17054 = FStar_Syntax_Subst.set_use_range use_range1 t in - (uu____17054, r1) in + let uu____17054 = FStar_Syntax_Subst.set_use_range use_range1 t + in + (uu____17054, r1) in FStar_Pervasives_Native.Some uu____17049 + let (lookup_lid : env -> FStar_Ident.lident -> ((FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.typ) * FStar_Range.range)) = - fun env -> - fun l -> - let uu____17078 = try_lookup_lid env l in + fun env -> + fun l -> + let uu____17078 = try_lookup_lid env l in match uu____17078 with - | FStar_Pervasives_Native.None -> - let uu____17105 = name_not_found l in - let uu____17111 = FStar_Ident.range_of_lid l in + | FStar_Pervasives_Native.None -> + let uu____17105 = name_not_found l in + let uu____17111 = FStar_Ident.range_of_lid l in FStar_Errors.raise_error uu____17105 uu____17111 | FStar_Pervasives_Native.Some v1 -> v1 + let (lookup_univ : env -> FStar_Syntax_Syntax.univ_name -> Prims.bool) = - fun env -> - fun x -> + fun env -> + fun x -> FStar_All.pipe_right (FStar_List.find - (fun uu___5_17154 -> + (fun uu___5_17154 -> match uu___5_17154 with | FStar_Syntax_Syntax.Binding_univ y -> x.FStar_Ident.idText = y.FStar_Ident.idText | uu____17158 -> false) env.gamma) FStar_Option.isSome + let (try_lookup_val_decl : env -> FStar_Ident.lident -> (FStar_Syntax_Syntax.tscheme * FStar_Syntax_Syntax.qualifier Prims.list) FStar_Pervasives_Native.option) = - fun env -> - fun lid -> - let uu____17179 = lookup_qname env lid in + fun env -> + fun lid -> + let uu____17179 = lookup_qname env lid in match uu____17179 with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_declare_typ - (uu____17188, uvs, t); + (uu____17188,uvs,t); FStar_Syntax_Syntax.sigrng = uu____17191; FStar_Syntax_Syntax.sigquals = q; FStar_Syntax_Syntax.sigmeta = uu____17193; - FStar_Syntax_Syntax.sigattrs = uu____17194;_}, - FStar_Pervasives_Native.None), - uu____17195) + FStar_Syntax_Syntax.sigattrs = uu____17194;_},FStar_Pervasives_Native.None + ),uu____17195) -> let uu____17244 = let uu____17251 = let uu____17252 = - let uu____17255 = FStar_Ident.range_of_lid lid in - FStar_Syntax_Subst.set_use_range uu____17255 t in - (uvs, uu____17252) in - (uu____17251, q) in + let uu____17255 = FStar_Ident.range_of_lid lid in + FStar_Syntax_Subst.set_use_range uu____17255 t in + (uvs, uu____17252) in + (uu____17251, q) in FStar_Pervasives_Native.Some uu____17244 | uu____17268 -> FStar_Pervasives_Native.None + let (lookup_val_decl : env -> FStar_Ident.lident -> (FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.typ)) = - fun env -> - fun lid -> - let uu____17290 = lookup_qname env lid in + fun env -> + fun lid -> + let uu____17290 = lookup_qname env lid in match uu____17290 with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_declare_typ - (uu____17295, uvs, t); + (uu____17295,uvs,t); FStar_Syntax_Syntax.sigrng = uu____17298; FStar_Syntax_Syntax.sigquals = uu____17299; FStar_Syntax_Syntax.sigmeta = uu____17300; - FStar_Syntax_Syntax.sigattrs = uu____17301;_}, - FStar_Pervasives_Native.None), - uu____17302) + FStar_Syntax_Syntax.sigattrs = uu____17301;_},FStar_Pervasives_Native.None + ),uu____17302) -> - let uu____17351 = FStar_Ident.range_of_lid lid in + let uu____17351 = FStar_Ident.range_of_lid lid in inst_tscheme_with_range uu____17351 (uvs, t) | uu____17356 -> - let uu____17357 = name_not_found lid in - let uu____17363 = FStar_Ident.range_of_lid lid in + let uu____17357 = name_not_found lid in + let uu____17363 = FStar_Ident.range_of_lid lid in FStar_Errors.raise_error uu____17357 uu____17363 + let (lookup_datacon : env -> FStar_Ident.lident -> (FStar_Syntax_Syntax.universes * FStar_Syntax_Syntax.typ)) = - fun env -> - fun lid -> - let uu____17383 = lookup_qname env lid in + fun env -> + fun lid -> + let uu____17383 = lookup_qname env lid in match uu____17383 with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon - (uu____17388, uvs, t, uu____17391, uu____17392, uu____17393); + (uu____17388,uvs,t,uu____17391,uu____17392,uu____17393); FStar_Syntax_Syntax.sigrng = uu____17394; FStar_Syntax_Syntax.sigquals = uu____17395; FStar_Syntax_Syntax.sigmeta = uu____17396; - FStar_Syntax_Syntax.sigattrs = uu____17397;_}, - FStar_Pervasives_Native.None), - uu____17398) + FStar_Syntax_Syntax.sigattrs = uu____17397;_},FStar_Pervasives_Native.None + ),uu____17398) -> - let uu____17453 = FStar_Ident.range_of_lid lid in + let uu____17453 = FStar_Ident.range_of_lid lid in inst_tscheme_with_range uu____17453 (uvs, t) | uu____17458 -> - let uu____17459 = name_not_found lid in - let uu____17465 = FStar_Ident.range_of_lid lid in + let uu____17459 = name_not_found lid in + let uu____17465 = FStar_Ident.range_of_lid lid in FStar_Errors.raise_error uu____17459 uu____17465 + let (datacons_of_typ : env -> FStar_Ident.lident -> (Prims.bool * FStar_Ident.lident Prims.list)) = - fun env -> - fun lid -> - let uu____17488 = lookup_qname env lid in + fun env -> + fun lid -> + let uu____17488 = lookup_qname env lid in match uu____17488 with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_inductive_typ - (uu____17496, uu____17497, uu____17498, uu____17499, - uu____17500, dcs); + (uu____17496,uu____17497,uu____17498,uu____17499,uu____17500,dcs); FStar_Syntax_Syntax.sigrng = uu____17502; FStar_Syntax_Syntax.sigquals = uu____17503; FStar_Syntax_Syntax.sigmeta = uu____17504; - FStar_Syntax_Syntax.sigattrs = uu____17505;_}, - uu____17506), - uu____17507) + FStar_Syntax_Syntax.sigattrs = uu____17505;_},uu____17506),uu____17507) -> (true, dcs) | uu____17570 -> (false, []) + let (typ_of_datacon : env -> FStar_Ident.lident -> FStar_Ident.lident) = - fun env -> - fun lid -> - let uu____17586 = lookup_qname env lid in + fun env -> + fun lid -> + let uu____17586 = lookup_qname env lid in match uu____17586 with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon - (uu____17587, uu____17588, uu____17589, l, uu____17591, - uu____17592); + (uu____17587,uu____17588,uu____17589,l,uu____17591,uu____17592); FStar_Syntax_Syntax.sigrng = uu____17593; FStar_Syntax_Syntax.sigquals = uu____17594; FStar_Syntax_Syntax.sigmeta = uu____17595; - FStar_Syntax_Syntax.sigattrs = uu____17596;_}, - uu____17597), - uu____17598) + FStar_Syntax_Syntax.sigattrs = uu____17596;_},uu____17597),uu____17598) -> l | uu____17655 -> let uu____17656 = - let uu____17658 = FStar_Syntax_Print.lid_to_string lid in - FStar_Util.format1 "Not a datacon: %s" uu____17658 in + let uu____17658 = FStar_Syntax_Print.lid_to_string lid in + FStar_Util.format1 "Not a datacon: %s" uu____17658 in failwith uu____17656 + let (lookup_definition_qninfo_aux : Prims.bool -> delta_level Prims.list -> @@ -2717,33 +2913,32 @@ let (lookup_definition_qninfo_aux : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) FStar_Pervasives_Native.option) = - fun rec_ok -> - fun delta_levels -> - fun lid -> - fun qninfo -> + fun rec_ok -> + fun delta_levels -> + fun lid -> + fun qninfo -> let visible quals = FStar_All.pipe_right delta_levels (FStar_Util.for_some - (fun dl -> + (fun dl -> FStar_All.pipe_right quals - (FStar_Util.for_some (visible_at dl)))) in + (FStar_Util.for_some (visible_at dl)))) + in match qninfo with | FStar_Pervasives_Native.Some - (FStar_Util.Inr (se, FStar_Pervasives_Native.None), - uu____17728) + (FStar_Util.Inr (se,FStar_Pervasives_Native.None ),uu____17728) -> (match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_let ((is_rec, lbs), uu____17785) - when + | FStar_Syntax_Syntax.Sig_let ((is_rec,lbs),uu____17785) when (visible se.FStar_Syntax_Syntax.sigquals) && ((Prims.op_Negation is_rec) || rec_ok) -> FStar_Util.find_map lbs - (fun lb -> + (fun lb -> let fv = - FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + FStar_Util.right lb.FStar_Syntax_Syntax.lbname in let uu____17809 = - FStar_Syntax_Syntax.fv_eq_lid fv lid in + FStar_Syntax_Syntax.fv_eq_lid fv lid in if uu____17809 then FStar_Pervasives_Native.Some @@ -2752,6 +2947,7 @@ let (lookup_definition_qninfo_aux : else FStar_Pervasives_Native.None) | uu____17844 -> FStar_Pervasives_Native.None) | uu____17853 -> FStar_Pervasives_Native.None + let (lookup_definition_qninfo : delta_level Prims.list -> FStar_Ident.lident -> @@ -2759,9 +2955,11 @@ let (lookup_definition_qninfo : (FStar_Syntax_Syntax.univ_names * FStar_Syntax_Syntax.term) FStar_Pervasives_Native.option) = - fun delta_levels -> - fun lid -> - fun qninfo -> lookup_definition_qninfo_aux true delta_levels lid qninfo + fun delta_levels -> + fun lid -> + fun qninfo -> + lookup_definition_qninfo_aux true delta_levels lid qninfo + let (lookup_definition : delta_level Prims.list -> env -> @@ -2769,12 +2967,13 @@ let (lookup_definition : (FStar_Syntax_Syntax.univ_names * FStar_Syntax_Syntax.term) FStar_Pervasives_Native.option) = - fun delta_levels -> - fun env -> - fun lid -> - let uu____17915 = lookup_qname env lid in + fun delta_levels -> + fun env -> + fun lid -> + let uu____17915 = lookup_qname env lid in FStar_All.pipe_left (lookup_definition_qninfo delta_levels lid) uu____17915 + let (lookup_nonrec_definition : delta_level Prims.list -> env -> @@ -2782,34 +2981,35 @@ let (lookup_nonrec_definition : (FStar_Syntax_Syntax.univ_names * FStar_Syntax_Syntax.term) FStar_Pervasives_Native.option) = - fun delta_levels -> - fun env -> - fun lid -> - let uu____17948 = lookup_qname env lid in + fun delta_levels -> + fun env -> + fun lid -> + let uu____17948 = lookup_qname env lid in FStar_All.pipe_left (lookup_definition_qninfo_aux false delta_levels lid) uu____17948 + let (delta_depth_of_qninfo : FStar_Syntax_Syntax.fv -> qninfo -> FStar_Syntax_Syntax.delta_depth FStar_Pervasives_Native.option) = - fun fv -> - fun qn -> - let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + fun fv -> + fun qn -> + let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in if lid.FStar_Ident.nsstr = "Prims" then FStar_Pervasives_Native.Some (fv.FStar_Syntax_Syntax.fv_delta) else (match qn with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "0")) | FStar_Pervasives_Native.Some - (FStar_Util.Inl uu____18000, uu____18001) -> + (FStar_Util.Inl uu____18000,uu____18001) -> FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "0")) | FStar_Pervasives_Native.Some - (FStar_Util.Inr (se, uu____18050), uu____18051) -> + (FStar_Util.Inr (se,uu____18050),uu____18051) -> (match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ uu____18100 -> FStar_Pervasives_Native.Some @@ -2826,16 +3026,17 @@ let (delta_depth_of_qninfo : | FStar_Syntax_Syntax.Sig_declare_typ uu____18145 -> let uu____18152 = FStar_Syntax_DsEnv.delta_depth_of_declaration lid - se.FStar_Syntax_Syntax.sigquals in + se.FStar_Syntax_Syntax.sigquals + in FStar_Pervasives_Native.Some uu____18152 - | FStar_Syntax_Syntax.Sig_let ((uu____18153, lbs), uu____18155) + | FStar_Syntax_Syntax.Sig_let ((uu____18153,lbs),uu____18155) -> FStar_Util.find_map lbs - (fun lb -> + (fun lb -> let fv1 = - FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + FStar_Util.right lb.FStar_Syntax_Syntax.lbname in let uu____18171 = - FStar_Syntax_Syntax.fv_eq_lid fv1 lid in + FStar_Syntax_Syntax.fv_eq_lid fv1 lid in if uu____18171 then FStar_Pervasives_Native.Some @@ -2859,47 +3060,56 @@ let (delta_depth_of_qninfo : FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Sig_pragma uu____18210 -> FStar_Pervasives_Native.None)) + let (delta_depth_of_fv : env -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.delta_depth) = - fun env -> - fun fv -> - let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + fun env -> + fun fv -> + let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in if lid.FStar_Ident.nsstr = "Prims" then fv.FStar_Syntax_Syntax.fv_delta else (let uu____18228 = FStar_All.pipe_right lid.FStar_Ident.str - (FStar_Util.smap_try_find env.fv_delta_depths) in + (FStar_Util.smap_try_find env.fv_delta_depths) + in FStar_All.pipe_right uu____18228 - (fun d_opt -> - let uu____18241 = FStar_All.pipe_right d_opt FStar_Util.is_some in + (fun d_opt -> + let uu____18241 = FStar_All.pipe_right d_opt FStar_Util.is_some + in if uu____18241 then FStar_All.pipe_right d_opt FStar_Util.must else (let uu____18251 = let uu____18254 = lookup_qname env - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - delta_depth_of_qninfo fv uu____18254 in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + delta_depth_of_qninfo fv uu____18254 in match uu____18251 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____18255 = - let uu____18257 = FStar_Syntax_Print.fv_to_string fv in + let uu____18257 = FStar_Syntax_Print.fv_to_string fv + in FStar_Util.format1 "Delta depth not found for %s" - uu____18257 in + uu____18257 + in failwith uu____18255 | FStar_Pervasives_Native.Some d -> ((let uu____18262 = (d <> fv.FStar_Syntax_Syntax.fv_delta) && - (FStar_Options.debug_any ()) in + (FStar_Options.debug_any ()) + in if uu____18262 then - let uu____18265 = FStar_Syntax_Print.fv_to_string fv in + let uu____18265 = FStar_Syntax_Print.fv_to_string fv + in let uu____18267 = FStar_Syntax_Print.delta_depth_to_string - fv.FStar_Syntax_Syntax.fv_delta in + fv.FStar_Syntax_Syntax.fv_delta + in let uu____18269 = - FStar_Syntax_Print.delta_depth_to_string d in + FStar_Syntax_Print.delta_depth_to_string d in FStar_Util.print3 "WARNING WARNING WARNING fv=%s, delta_depth=%s, env.delta_depth=%s\n" uu____18265 uu____18267 uu____18269 @@ -2907,93 +3117,102 @@ let (delta_depth_of_fv : FStar_Util.smap_add env.fv_delta_depths lid.FStar_Ident.str d; d)))) + let (quals_of_qninfo : qninfo -> FStar_Syntax_Syntax.qualifier Prims.list FStar_Pervasives_Native.option) = - fun qninfo -> + fun qninfo -> match qninfo with | FStar_Pervasives_Native.Some - (FStar_Util.Inr (se, uu____18294), uu____18295) -> + (FStar_Util.Inr (se,uu____18294),uu____18295) -> FStar_Pervasives_Native.Some (se.FStar_Syntax_Syntax.sigquals) | uu____18344 -> FStar_Pervasives_Native.None + let (attrs_of_qninfo : qninfo -> FStar_Syntax_Syntax.attribute Prims.list FStar_Pervasives_Native.option) = - fun qninfo -> + fun qninfo -> match qninfo with | FStar_Pervasives_Native.Some - (FStar_Util.Inr (se, uu____18366), uu____18367) -> + (FStar_Util.Inr (se,uu____18366),uu____18367) -> FStar_Pervasives_Native.Some (se.FStar_Syntax_Syntax.sigattrs) | uu____18416 -> FStar_Pervasives_Native.None + let (lookup_attrs_of_lid : env -> FStar_Ident.lid -> FStar_Syntax_Syntax.attribute Prims.list FStar_Pervasives_Native.option) = - fun env -> - fun lid -> - let uu____18438 = lookup_qname env lid in + fun env -> + fun lid -> + let uu____18438 = lookup_qname env lid in FStar_All.pipe_left attrs_of_qninfo uu____18438 + let (fv_with_lid_has_attr : env -> FStar_Ident.lid -> FStar_Ident.lid -> Prims.bool) = - fun env -> - fun fv_lid1 -> - fun attr_lid -> - let uu____18461 = lookup_attrs_of_lid env fv_lid1 in + fun env -> + fun fv_lid1 -> + fun attr_lid -> + let uu____18461 = lookup_attrs_of_lid env fv_lid1 in match uu____18461 with - | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.None -> false | FStar_Pervasives_Native.Some [] -> false | FStar_Pervasives_Native.Some attrs -> FStar_All.pipe_right attrs (FStar_Util.for_some - (fun tm -> + (fun tm -> let uu____18485 = - let uu____18486 = FStar_Syntax_Util.un_uinst tm in - uu____18486.FStar_Syntax_Syntax.n in + let uu____18486 = FStar_Syntax_Util.un_uinst tm in + uu____18486.FStar_Syntax_Syntax.n in match uu____18485 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Syntax_Syntax.fv_eq_lid fv attr_lid | uu____18491 -> false)) + let (fv_has_attr : env -> FStar_Syntax_Syntax.fv -> FStar_Ident.lid -> Prims.bool) = - fun env -> - fun fv -> - fun attr_lid -> + fun env -> + fun fv -> + fun attr_lid -> fv_with_lid_has_attr env (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v attr_lid + let (try_lookup_effect_lid : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun env -> - fun ftv -> - let uu____18525 = lookup_qname env ftv in + fun env -> + fun ftv -> + let uu____18525 = lookup_qname env ftv in match uu____18525 with | FStar_Pervasives_Native.Some - (FStar_Util.Inr (se, FStar_Pervasives_Native.None), uu____18529) -> - let uu____18574 = effect_signature FStar_Pervasives_Native.None se in + (FStar_Util.Inr (se,FStar_Pervasives_Native.None ),uu____18529) -> + let uu____18574 = effect_signature FStar_Pervasives_Native.None se + in (match uu____18574 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some ((uu____18595, t), r) -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some ((uu____18595,t),r) -> let uu____18610 = - let uu____18611 = FStar_Ident.range_of_lid ftv in - FStar_Syntax_Subst.set_use_range uu____18611 t in + let uu____18611 = FStar_Ident.range_of_lid ftv in + FStar_Syntax_Subst.set_use_range uu____18611 t in FStar_Pervasives_Native.Some uu____18610) | uu____18612 -> FStar_Pervasives_Native.None + let (lookup_effect_lid : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.term) = - fun env -> - fun ftv -> - let uu____18624 = try_lookup_effect_lid env ftv in + fun env -> + fun ftv -> + let uu____18624 = try_lookup_effect_lid env ftv in match uu____18624 with - | FStar_Pervasives_Native.None -> - let uu____18627 = name_not_found ftv in - let uu____18633 = FStar_Ident.range_of_lid ftv in + | FStar_Pervasives_Native.None -> + let uu____18627 = name_not_found ftv in + let uu____18633 = FStar_Ident.range_of_lid ftv in FStar_Errors.raise_error uu____18627 uu____18633 | FStar_Pervasives_Native.Some k -> k + let (lookup_effect_abbrev : env -> FStar_Syntax_Syntax.universes -> @@ -3001,39 +3220,39 @@ let (lookup_effect_abbrev : (FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.comp) FStar_Pervasives_Native.option) = - fun env -> - fun univ_insts -> - fun lid0 -> - let uu____18657 = lookup_qname env lid0 in + fun env -> + fun univ_insts -> + fun lid0 -> + let uu____18657 = lookup_qname env lid0 in match uu____18657 with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_effect_abbrev - (lid, univs1, binders, c, uu____18668); + (lid,univs1,binders,c,uu____18668); FStar_Syntax_Syntax.sigrng = uu____18669; FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = uu____18671; - FStar_Syntax_Syntax.sigattrs = uu____18672;_}, - FStar_Pervasives_Native.None), - uu____18673) + FStar_Syntax_Syntax.sigattrs = uu____18672;_},FStar_Pervasives_Native.None + ),uu____18673) -> let lid1 = let uu____18727 = - let uu____18728 = FStar_Ident.range_of_lid lid in + let uu____18728 = FStar_Ident.range_of_lid lid in let uu____18729 = - let uu____18730 = FStar_Ident.range_of_lid lid0 in - FStar_Range.use_range uu____18730 in - FStar_Range.set_use_range uu____18728 uu____18729 in - FStar_Ident.set_lid_range lid uu____18727 in + let uu____18730 = FStar_Ident.range_of_lid lid0 in + FStar_Range.use_range uu____18730 in + FStar_Range.set_use_range uu____18728 uu____18729 in + FStar_Ident.set_lid_range lid uu____18727 in let uu____18731 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___6_18737 -> + (fun uu___6_18737 -> match uu___6_18737 with - | FStar_Syntax_Syntax.Irreducible -> true - | uu____18740 -> false)) in + | FStar_Syntax_Syntax.Irreducible -> true + | uu____18740 -> false)) + in if uu____18731 then FStar_Pervasives_Native.None else @@ -3045,86 +3264,100 @@ let (lookup_effect_abbrev : else (let uu____18759 = let uu____18761 = - let uu____18763 = get_range env in - FStar_Range.string_of_range uu____18763 in - let uu____18764 = FStar_Syntax_Print.lid_to_string lid1 in + let uu____18763 = get_range env in + FStar_Range.string_of_range uu____18763 in + let uu____18764 = FStar_Syntax_Print.lid_to_string lid1 + in let uu____18766 = FStar_All.pipe_right (FStar_List.length univ_insts) - FStar_Util.string_of_int in + FStar_Util.string_of_int + in FStar_Util.format3 "(%s) Unexpected instantiation of effect %s with %s universes" - uu____18761 uu____18764 uu____18766 in - failwith uu____18759) in + uu____18761 uu____18764 uu____18766 + in + failwith uu____18759) + in match (binders, univs1) with - | ([], uu____18787) -> + | ([],uu____18787) -> failwith "Unexpected effect abbreviation with no arguments" - | (uu____18813, uu____18814::uu____18815::uu____18816) -> + | (uu____18813,uu____18814::uu____18815::uu____18816) -> let uu____18837 = - let uu____18839 = FStar_Syntax_Print.lid_to_string lid1 in + let uu____18839 = FStar_Syntax_Print.lid_to_string lid1 + in let uu____18841 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length univs1) in + (FStar_List.length univs1) + in FStar_Util.format2 "Unexpected effect abbreviation %s; polymorphic in %s universes" - uu____18839 uu____18841 in + uu____18839 uu____18841 + in failwith uu____18837 | uu____18852 -> let uu____18867 = let uu____18872 = - let uu____18873 = FStar_Syntax_Util.arrow binders c in - (univs1, uu____18873) in - inst_tscheme_with uu____18872 insts in + let uu____18873 = FStar_Syntax_Util.arrow binders c + in + (univs1, uu____18873) in + inst_tscheme_with uu____18872 insts in (match uu____18867 with - | (uu____18886, t) -> + | (uu____18886,t) -> let t1 = - let uu____18889 = FStar_Ident.range_of_lid lid1 in - FStar_Syntax_Subst.set_use_range uu____18889 t in + let uu____18889 = FStar_Ident.range_of_lid lid1 in + FStar_Syntax_Subst.set_use_range uu____18889 t in let uu____18890 = - let uu____18891 = FStar_Syntax_Subst.compress t1 in - uu____18891.FStar_Syntax_Syntax.n in + let uu____18891 = FStar_Syntax_Subst.compress t1 + in + uu____18891.FStar_Syntax_Syntax.n in (match uu____18890 with - | FStar_Syntax_Syntax.Tm_arrow (binders1, c1) -> + | FStar_Syntax_Syntax.Tm_arrow (binders1,c1) -> FStar_Pervasives_Native.Some (binders1, c1) | uu____18926 -> failwith "Impossible"))) | uu____18934 -> FStar_Pervasives_Native.None + let (norm_eff_name : env -> FStar_Ident.lident -> FStar_Ident.lident) = - fun env -> - fun l -> + fun env -> + fun l -> let rec find1 l1 = let uu____18958 = - lookup_effect_abbrev env [FStar_Syntax_Syntax.U_unknown] l1 in + lookup_effect_abbrev env [FStar_Syntax_Syntax.U_unknown] l1 in match uu____18958 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (uu____18971, c) -> - let l2 = FStar_Syntax_Util.comp_effect_name c in - let uu____18978 = find1 l2 in + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (uu____18971,c) -> + let l2 = FStar_Syntax_Util.comp_effect_name c in + let uu____18978 = find1 l2 in (match uu____18978 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some l2 | FStar_Pervasives_Native.Some l' -> - FStar_Pervasives_Native.Some l') in + FStar_Pervasives_Native.Some l') + in let res = let uu____18985 = - FStar_Util.smap_try_find env.normalized_eff_names l.FStar_Ident.str in + FStar_Util.smap_try_find env.normalized_eff_names l.FStar_Ident.str + in match uu____18985 with | FStar_Pervasives_Native.Some l1 -> l1 - | FStar_Pervasives_Native.None -> - let uu____18989 = find1 l in + | FStar_Pervasives_Native.None -> + let uu____18989 = find1 l in (match uu____18989 with - | FStar_Pervasives_Native.None -> l + | FStar_Pervasives_Native.None -> l | FStar_Pervasives_Native.Some m -> (FStar_Util.smap_add env.normalized_eff_names l.FStar_Ident.str m; - m)) in - let uu____18994 = FStar_Ident.range_of_lid l in + m)) + in + let uu____18994 = FStar_Ident.range_of_lid l in FStar_Ident.set_lid_range res uu____18994 + let (lookup_effect_quals : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.qualifier Prims.list) = - fun env -> - fun l -> - let l1 = norm_eff_name env l in - let uu____19009 = lookup_qname env l1 in + fun env -> + fun l -> + let l1 = norm_eff_name env l in + let uu____19009 = lookup_qname env l1 in match uu____19009 with | FStar_Pervasives_Native.Some (FStar_Util.Inr @@ -3134,138 +3367,135 @@ let (lookup_effect_quals : FStar_Syntax_Syntax.sigrng = uu____19013; FStar_Syntax_Syntax.sigquals = q; FStar_Syntax_Syntax.sigmeta = uu____19015; - FStar_Syntax_Syntax.sigattrs = uu____19016;_}, - uu____19017), - uu____19018) + FStar_Syntax_Syntax.sigattrs = uu____19016;_},uu____19017),uu____19018) -> q | uu____19069 -> [] + let (lookup_projector : env -> FStar_Ident.lident -> Prims.int -> FStar_Ident.lident) = - fun env -> - fun lid -> - fun i -> + fun env -> + fun lid -> + fun i -> let fail1 uu____19093 = let uu____19094 = - let uu____19096 = FStar_Util.string_of_int i in - let uu____19098 = FStar_Syntax_Print.lid_to_string lid in + let uu____19096 = FStar_Util.string_of_int i in + let uu____19098 = FStar_Syntax_Print.lid_to_string lid in FStar_Util.format2 "Impossible: projecting field #%s from constructor %s is undefined" - uu____19096 uu____19098 in - failwith uu____19094 in - let uu____19101 = lookup_datacon env lid in + uu____19096 uu____19098 + in + failwith uu____19094 in + let uu____19101 = lookup_datacon env lid in match uu____19101 with - | (uu____19106, t) -> + | (uu____19106,t) -> let uu____19108 = - let uu____19109 = FStar_Syntax_Subst.compress t in - uu____19109.FStar_Syntax_Syntax.n in + let uu____19109 = FStar_Syntax_Subst.compress t in + uu____19109.FStar_Syntax_Syntax.n in (match uu____19108 with - | FStar_Syntax_Syntax.Tm_arrow (binders, uu____19113) -> + | FStar_Syntax_Syntax.Tm_arrow (binders,uu____19113) -> if (i < (Prims.parse_int "0")) || (i >= (FStar_List.length binders)) then fail1 () else - (let b = FStar_List.nth binders i in + (let b = FStar_List.nth binders i in let uu____19157 = FStar_Syntax_Util.mk_field_projector_name lid - (FStar_Pervasives_Native.fst b) i in + (FStar_Pervasives_Native.fst b) i + in FStar_All.pipe_right uu____19157 FStar_Pervasives_Native.fst) | uu____19168 -> fail1 ()) + let (is_projector : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun l -> - let uu____19182 = lookup_qname env l in + fun env -> + fun l -> + let uu____19182 = lookup_qname env l in match uu____19182 with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_declare_typ - (uu____19184, uu____19185, uu____19186); + (uu____19184,uu____19185,uu____19186); FStar_Syntax_Syntax.sigrng = uu____19187; FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = uu____19189; - FStar_Syntax_Syntax.sigattrs = uu____19190;_}, - uu____19191), - uu____19192) + FStar_Syntax_Syntax.sigattrs = uu____19190;_},uu____19191),uu____19192) -> FStar_Util.for_some - (fun uu___7_19245 -> + (fun uu___7_19245 -> match uu___7_19245 with | FStar_Syntax_Syntax.Projector uu____19247 -> true | uu____19253 -> false) quals | uu____19255 -> false + let (is_datacon : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun lid -> - let uu____19269 = lookup_qname env lid in + fun env -> + fun lid -> + let uu____19269 = lookup_qname env lid in match uu____19269 with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon - (uu____19271, uu____19272, uu____19273, uu____19274, - uu____19275, uu____19276); + (uu____19271,uu____19272,uu____19273,uu____19274,uu____19275,uu____19276); FStar_Syntax_Syntax.sigrng = uu____19277; FStar_Syntax_Syntax.sigquals = uu____19278; FStar_Syntax_Syntax.sigmeta = uu____19279; - FStar_Syntax_Syntax.sigattrs = uu____19280;_}, - uu____19281), - uu____19282) + FStar_Syntax_Syntax.sigattrs = uu____19280;_},uu____19281),uu____19282) -> true | uu____19340 -> false + let (is_record : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun lid -> - let uu____19354 = lookup_qname env lid in + fun env -> + fun lid -> + let uu____19354 = lookup_qname env lid in match uu____19354 with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_inductive_typ - (uu____19356, uu____19357, uu____19358, uu____19359, - uu____19360, uu____19361); + (uu____19356,uu____19357,uu____19358,uu____19359,uu____19360,uu____19361); FStar_Syntax_Syntax.sigrng = uu____19362; FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = uu____19364; - FStar_Syntax_Syntax.sigattrs = uu____19365;_}, - uu____19366), - uu____19367) + FStar_Syntax_Syntax.sigattrs = uu____19365;_},uu____19366),uu____19367) -> FStar_Util.for_some - (fun uu___8_19428 -> + (fun uu___8_19428 -> match uu___8_19428 with | FStar_Syntax_Syntax.RecordType uu____19430 -> true | FStar_Syntax_Syntax.RecordConstructor uu____19440 -> true | uu____19450 -> false) quals | uu____19452 -> false + let (qninfo_is_action : qninfo -> Prims.bool) = - fun qninfo -> + fun qninfo -> match qninfo with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_let - (uu____19462, uu____19463); + (uu____19462,uu____19463); FStar_Syntax_Syntax.sigrng = uu____19464; FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = uu____19466; - FStar_Syntax_Syntax.sigattrs = uu____19467;_}, - uu____19468), - uu____19469) + FStar_Syntax_Syntax.sigattrs = uu____19467;_},uu____19468),uu____19469) -> FStar_Util.for_some - (fun uu___9_19526 -> + (fun uu___9_19526 -> match uu___9_19526 with | FStar_Syntax_Syntax.Action uu____19528 -> true | uu____19530 -> false) quals | uu____19532 -> false + let (is_action : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun lid -> - let uu____19546 = lookup_qname env lid in + fun env -> + fun lid -> + let uu____19546 = lookup_qname env lid in FStar_All.pipe_left qninfo_is_action uu____19546 + let (is_interpreted : env -> FStar_Syntax_Syntax.term -> Prims.bool) = let interpreted_symbols = [FStar_Parser_Const.op_Eq; @@ -3282,12 +3512,12 @@ let (is_interpreted : env -> FStar_Syntax_Syntax.term -> Prims.bool) = FStar_Parser_Const.op_Modulus; FStar_Parser_Const.op_And; FStar_Parser_Const.op_Or; - FStar_Parser_Const.op_Negation] in - fun env -> - fun head1 -> + FStar_Parser_Const.op_Negation] in + fun env -> + fun head1 -> let uu____19563 = - let uu____19564 = FStar_Syntax_Util.un_uinst head1 in - uu____19564.FStar_Syntax_Syntax.n in + let uu____19564 = FStar_Syntax_Util.un_uinst head1 in + uu____19564.FStar_Syntax_Syntax.n in match uu____19563 with | FStar_Syntax_Syntax.Tm_fvar fv -> (match fv.FStar_Syntax_Syntax.fv_delta with @@ -3295,26 +3525,28 @@ let (is_interpreted : env -> FStar_Syntax_Syntax.term -> Prims.bool) = true | uu____19573 -> false) | uu____19575 -> false + let (is_irreducible : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun l -> - let uu____19589 = lookup_qname env l in + fun env -> + fun l -> + let uu____19589 = lookup_qname env l in match uu____19589 with | FStar_Pervasives_Native.Some - (FStar_Util.Inr (se, uu____19592), uu____19593) -> + (FStar_Util.Inr (se,uu____19592),uu____19593) -> FStar_Util.for_some - (fun uu___10_19641 -> + (fun uu___10_19641 -> match uu___10_19641 with - | FStar_Syntax_Syntax.Irreducible -> true + | FStar_Syntax_Syntax.Irreducible -> true | uu____19644 -> false) se.FStar_Syntax_Syntax.sigquals | uu____19646 -> false + let (is_type_constructor : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun lid -> + fun env -> + fun lid -> let mapper x = match FStar_Pervasives_Native.fst x with | FStar_Util.Inl uu____19722 -> FStar_Pervasives_Native.Some false - | FStar_Util.Inr (se, uu____19740) -> + | FStar_Util.Inr (se,uu____19740) -> (match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_declare_typ uu____19758 -> FStar_Pervasives_Native.Some @@ -3322,76 +3554,78 @@ let (is_type_constructor : env -> FStar_Ident.lident -> Prims.bool) = se.FStar_Syntax_Syntax.sigquals) | FStar_Syntax_Syntax.Sig_inductive_typ uu____19766 -> FStar_Pervasives_Native.Some true - | uu____19785 -> FStar_Pervasives_Native.Some false) in + | uu____19785 -> FStar_Pervasives_Native.Some false) + in let uu____19788 = - let uu____19792 = lookup_qname env lid in - FStar_Util.bind_opt uu____19792 mapper in + let uu____19792 = lookup_qname env lid in + FStar_Util.bind_opt uu____19792 mapper in match uu____19788 with | FStar_Pervasives_Native.Some b -> b - | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.None -> false + let (num_inductive_ty_params : env -> FStar_Ident.lident -> Prims.int FStar_Pervasives_Native.option) = - fun env -> - fun lid -> - let uu____19852 = lookup_qname env lid in + fun env -> + fun lid -> + let uu____19852 = lookup_qname env lid in match uu____19852 with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_inductive_typ - (uu____19856, uu____19857, tps, uu____19859, uu____19860, - uu____19861); + (uu____19856,uu____19857,tps,uu____19859,uu____19860,uu____19861); FStar_Syntax_Syntax.sigrng = uu____19862; FStar_Syntax_Syntax.sigquals = uu____19863; FStar_Syntax_Syntax.sigmeta = uu____19864; - FStar_Syntax_Syntax.sigattrs = uu____19865;_}, - uu____19866), - uu____19867) + FStar_Syntax_Syntax.sigattrs = uu____19865;_},uu____19866),uu____19867) -> FStar_Pervasives_Native.Some (FStar_List.length tps) | uu____19933 -> FStar_Pervasives_Native.None + let (effect_decl_opt : env -> FStar_Ident.lident -> (FStar_Syntax_Syntax.eff_decl * FStar_Syntax_Syntax.qualifier Prims.list) FStar_Pervasives_Native.option) = - fun env -> - fun l -> + fun env -> + fun l -> FStar_All.pipe_right (env.effects).decls (FStar_Util.find_opt - (fun uu____19979 -> + (fun uu____19979 -> match uu____19979 with - | (d, uu____19988) -> + | (d,uu____19988) -> FStar_Ident.lid_equals d.FStar_Syntax_Syntax.mname l)) + let (get_effect_decl : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.eff_decl) = - fun env -> - fun l -> - let uu____20004 = effect_decl_opt env l in + fun env -> + fun l -> + let uu____20004 = effect_decl_opt env l in match uu____20004 with - | FStar_Pervasives_Native.None -> - let uu____20019 = name_not_found l in - let uu____20025 = FStar_Ident.range_of_lid l in + | FStar_Pervasives_Native.None -> + let uu____20019 = name_not_found l in + let uu____20025 = FStar_Ident.range_of_lid l in FStar_Errors.raise_error uu____20019 uu____20025 | FStar_Pervasives_Native.Some md -> FStar_Pervasives_Native.fst md + let (identity_mlift : mlift) = { - mlift_wp = (fun uu____20048 -> fun t -> fun wp -> wp); + mlift_wp = (fun uu____20048 -> fun t -> fun wp -> wp); mlift_term = (FStar_Pervasives_Native.Some - (fun uu____20067 -> - fun t -> fun wp -> fun e -> FStar_Util.return_all e)) - } + (fun uu____20067 -> + fun t -> fun wp -> fun e -> FStar_Util.return_all e)) + } let (join : env -> FStar_Ident.lident -> FStar_Ident.lident -> (FStar_Ident.lident * mlift * mlift)) = - fun env -> - fun l1 -> - fun l2 -> - let uu____20099 = FStar_Ident.lid_equals l1 l2 in + fun env -> + fun l1 -> + fun l2 -> + let uu____20099 = FStar_Ident.lid_equals l1 l2 in if uu____20099 then (l1, identity_mlift, identity_mlift) else @@ -3403,7 +3637,8 @@ let (join : ((FStar_Ident.lid_equals l2 FStar_Parser_Const.effect_GTot_lid) && (FStar_Ident.lid_equals l1 - FStar_Parser_Const.effect_Tot_lid)) in + FStar_Parser_Const.effect_Tot_lid)) + in if uu____20110 then (FStar_Parser_Const.effect_GTot_lid, identity_mlift, @@ -3412,36 +3647,43 @@ let (join : (let uu____20121 = FStar_All.pipe_right (env.effects).joins (FStar_Util.find_opt - (fun uu____20174 -> + (fun uu____20174 -> match uu____20174 with - | (m1, m2, uu____20188, uu____20189, uu____20190) -> + | (m1,m2,uu____20188,uu____20189,uu____20190) -> (FStar_Ident.lid_equals l1 m1) && - (FStar_Ident.lid_equals l2 m2))) in + (FStar_Ident.lid_equals l2 m2))) + in match uu____20121 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____20207 = let uu____20213 = - let uu____20215 = FStar_Syntax_Print.lid_to_string l1 in - let uu____20217 = FStar_Syntax_Print.lid_to_string l2 in + let uu____20215 = FStar_Syntax_Print.lid_to_string l1 + in + let uu____20217 = FStar_Syntax_Print.lid_to_string l2 + in FStar_Util.format2 "Effects %s and %s cannot be composed" uu____20215 - uu____20217 in - (FStar_Errors.Fatal_EffectsCannotBeComposed, uu____20213) in + uu____20217 + in + (FStar_Errors.Fatal_EffectsCannotBeComposed, uu____20213) + in FStar_Errors.raise_error uu____20207 env.range | FStar_Pervasives_Native.Some - (uu____20227, uu____20228, m3, j1, j2) -> (m3, j1, j2))) + (uu____20227,uu____20228,m3,j1,j2) -> (m3, j1, j2))) + let (monad_leq : env -> FStar_Ident.lident -> FStar_Ident.lident -> edge FStar_Pervasives_Native.option) = - fun env -> - fun l1 -> - fun l2 -> + fun env -> + fun l1 -> + fun l2 -> let uu____20262 = (FStar_Ident.lid_equals l1 l2) || ((FStar_Ident.lid_equals l1 FStar_Parser_Const.effect_Tot_lid) && - (FStar_Ident.lid_equals l2 FStar_Parser_Const.effect_GTot_lid)) in + (FStar_Ident.lid_equals l2 FStar_Parser_Const.effect_GTot_lid)) + in if uu____20262 then FStar_Pervasives_Native.Some @@ -3449,9 +3691,10 @@ let (monad_leq : else FStar_All.pipe_right (env.effects).order (FStar_Util.find_opt - (fun e -> + (fun e -> (FStar_Ident.lid_equals l1 e.msource) && (FStar_Ident.lid_equals l2 e.mtarget))) + let wp_sig_aux : 'Auu____20282 . (FStar_Syntax_Syntax.eff_decl * 'Auu____20282) Prims.list -> @@ -3459,55 +3702,60 @@ let wp_sig_aux : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun decls -> - fun m -> + fun decls -> + fun m -> let uu____20311 = FStar_All.pipe_right decls (FStar_Util.find_opt - (fun uu____20337 -> + (fun uu____20337 -> match uu____20337 with - | (d, uu____20344) -> - FStar_Ident.lid_equals d.FStar_Syntax_Syntax.mname m)) in + | (d,uu____20344) -> + FStar_Ident.lid_equals d.FStar_Syntax_Syntax.mname m)) + in match uu____20311 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____20355 = FStar_Util.format1 "Impossible: declaration for monad %s not found" - m.FStar_Ident.str in + m.FStar_Ident.str + in failwith uu____20355 - | FStar_Pervasives_Native.Some (md, _q) -> + | FStar_Pervasives_Native.Some (md,_q) -> let uu____20370 = inst_tscheme ((md.FStar_Syntax_Syntax.univs), - (md.FStar_Syntax_Syntax.signature)) in + (md.FStar_Syntax_Syntax.signature)) + in (match uu____20370 with - | (uu____20385, s) -> - let s1 = FStar_Syntax_Subst.compress s in + | (uu____20385,s) -> + let s1 = FStar_Syntax_Subst.compress s in (match ((md.FStar_Syntax_Syntax.binders), (s1.FStar_Syntax_Syntax.n)) with - | ([], FStar_Syntax_Syntax.Tm_arrow - ((a, uu____20403)::(wp, uu____20405)::[], c)) when + | ([],FStar_Syntax_Syntax.Tm_arrow + ((a,uu____20403)::(wp,uu____20405)::[],c)) when FStar_Syntax_Syntax.is_teff (FStar_Syntax_Util.comp_result c) -> (a, (wp.FStar_Syntax_Syntax.sort)) | uu____20461 -> failwith "Impossible")) + let (wp_signature : env -> FStar_Ident.lident -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term)) - = fun env -> fun m -> wp_sig_aux (env.effects).decls m + = fun env -> fun m -> wp_sig_aux (env.effects).decls m let (null_wp_for_eff : env -> FStar_Ident.lident -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.comp) = - fun env -> - fun eff_name -> - fun res_u -> - fun res_t -> + fun env -> + fun eff_name -> + fun res_u -> + fun res_t -> let uu____20519 = - FStar_Ident.lid_equals eff_name FStar_Parser_Const.effect_Tot_lid in + FStar_Ident.lid_equals eff_name FStar_Parser_Const.effect_Tot_lid + in if uu____20519 then FStar_Syntax_Syntax.mk_Total' res_t @@ -3515,55 +3763,60 @@ let (null_wp_for_eff : else (let uu____20524 = FStar_Ident.lid_equals eff_name - FStar_Parser_Const.effect_GTot_lid in + FStar_Parser_Const.effect_GTot_lid + in if uu____20524 then FStar_Syntax_Syntax.mk_GTotal' res_t (FStar_Pervasives_Native.Some res_u) else - (let eff_name1 = norm_eff_name env eff_name in - let ed = get_effect_decl env eff_name1 in + (let eff_name1 = norm_eff_name env eff_name in + let ed = get_effect_decl env eff_name1 in let null_wp = inst_effect_fun_with [res_u] env ed - ed.FStar_Syntax_Syntax.null_wp in + ed.FStar_Syntax_Syntax.null_wp + in let null_wp_res = - let uu____20535 = get_range env in + let uu____20535 = get_range env in let uu____20536 = let uu____20543 = let uu____20544 = let uu____20561 = - let uu____20572 = FStar_Syntax_Syntax.as_arg res_t in - [uu____20572] in - (null_wp, uu____20561) in - FStar_Syntax_Syntax.Tm_app uu____20544 in - FStar_Syntax_Syntax.mk uu____20543 in - uu____20536 FStar_Pervasives_Native.None uu____20535 in + let uu____20572 = FStar_Syntax_Syntax.as_arg res_t + in + [uu____20572] in + (null_wp, uu____20561) in + FStar_Syntax_Syntax.Tm_app uu____20544 in + FStar_Syntax_Syntax.mk uu____20543 in + uu____20536 FStar_Pervasives_Native.None uu____20535 in let uu____20609 = let uu____20610 = - let uu____20621 = FStar_Syntax_Syntax.as_arg null_wp_res in - [uu____20621] in + let uu____20621 = FStar_Syntax_Syntax.as_arg null_wp_res + in + [uu____20621] in { FStar_Syntax_Syntax.comp_univs = [res_u]; FStar_Syntax_Syntax.effect_name = eff_name1; FStar_Syntax_Syntax.result_typ = res_t; FStar_Syntax_Syntax.effect_args = uu____20610; FStar_Syntax_Syntax.flags = [] - } in + } in FStar_Syntax_Syntax.mk_Comp uu____20609)) + let (build_lattice : env -> FStar_Syntax_Syntax.sigelt -> env) = - fun env -> - fun se -> + fun env -> + fun se -> match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_new_effect ne -> let effects = - let uu___1498_20659 = env.effects in + let uu___1498_20659 = env.effects in { decls = ((ne, (se.FStar_Syntax_Syntax.sigquals)) :: ((env.effects).decls)); order = (uu___1498_20659.order); joins = (uu___1498_20659.joins) - } in - let uu___1501_20668 = env in + } in + let uu___1501_20668 = env in { solver = (uu___1501_20668.solver); range = (uu___1501_20668.range); @@ -3613,204 +3866,226 @@ let (build_lattice : env -> FStar_Syntax_Syntax.sigelt -> env) = let compose_edges e1 e2 = let composed_lift = let mlift_wp u r wp1 = - let uu____20698 = (e1.mlift).mlift_wp u r wp1 in - (e2.mlift).mlift_wp u r uu____20698 in + let uu____20698 = (e1.mlift).mlift_wp u r wp1 in + (e2.mlift).mlift_wp u r uu____20698 in let mlift_term = match (((e1.mlift).mlift_term), ((e2.mlift).mlift_term)) with - | (FStar_Pervasives_Native.Some l1, - FStar_Pervasives_Native.Some l2) -> + | (FStar_Pervasives_Native.Some + l1,FStar_Pervasives_Native.Some l2) -> FStar_Pervasives_Native.Some - ((fun u -> - fun t -> - fun wp -> - fun e -> - let uu____20856 = (e1.mlift).mlift_wp u t wp in - let uu____20857 = l1 u t wp e in + ((fun u -> + fun t -> + fun wp -> + fun e -> + let uu____20856 = (e1.mlift).mlift_wp u t wp + in + let uu____20857 = l1 u t wp e in l2 u t uu____20856 uu____20857)) - | uu____20858 -> FStar_Pervasives_Native.None in - { mlift_wp; mlift_term } in + | uu____20858 -> FStar_Pervasives_Native.None in + { mlift_wp; mlift_term } in { msource = (e1.msource); mtarget = (e2.mtarget); mlift = composed_lift - } in + } in let mk_mlift_wp lift_t u r wp1 = - let uu____20930 = inst_tscheme_with lift_t [u] in + let uu____20930 = inst_tscheme_with lift_t [u] in match uu____20930 with - | (uu____20937, lift_t1) -> + | (uu____20937,lift_t1) -> let uu____20939 = let uu____20946 = let uu____20947 = let uu____20964 = - let uu____20975 = FStar_Syntax_Syntax.as_arg r in + let uu____20975 = FStar_Syntax_Syntax.as_arg r in let uu____20984 = - let uu____20995 = FStar_Syntax_Syntax.as_arg wp1 in - [uu____20995] in - uu____20975 :: uu____20984 in - (lift_t1, uu____20964) in - FStar_Syntax_Syntax.Tm_app uu____20947 in - FStar_Syntax_Syntax.mk uu____20946 in + let uu____20995 = FStar_Syntax_Syntax.as_arg wp1 + in + [uu____20995] in + uu____20975 :: uu____20984 in + (lift_t1, uu____20964) in + FStar_Syntax_Syntax.Tm_app uu____20947 in + FStar_Syntax_Syntax.mk uu____20946 in uu____20939 FStar_Pervasives_Native.None - wp1.FStar_Syntax_Syntax.pos in + wp1.FStar_Syntax_Syntax.pos + in let sub_mlift_wp = match sub1.FStar_Syntax_Syntax.lift_wp with | FStar_Pervasives_Native.Some sub_lift_wp -> mk_mlift_wp sub_lift_wp - | FStar_Pervasives_Native.None -> - failwith "sub effect should've been elaborated at this stage" in + | FStar_Pervasives_Native.None -> + failwith "sub effect should've been elaborated at this stage" + in let mk_mlift_term lift_t u r wp1 e = - let uu____21105 = inst_tscheme_with lift_t [u] in + let uu____21105 = inst_tscheme_with lift_t [u] in match uu____21105 with - | (uu____21112, lift_t1) -> + | (uu____21112,lift_t1) -> let uu____21114 = let uu____21121 = let uu____21122 = let uu____21139 = - let uu____21150 = FStar_Syntax_Syntax.as_arg r in + let uu____21150 = FStar_Syntax_Syntax.as_arg r in let uu____21159 = - let uu____21170 = FStar_Syntax_Syntax.as_arg wp1 in + let uu____21170 = FStar_Syntax_Syntax.as_arg wp1 + in let uu____21179 = - let uu____21190 = FStar_Syntax_Syntax.as_arg e in - [uu____21190] in - uu____21170 :: uu____21179 in - uu____21150 :: uu____21159 in - (lift_t1, uu____21139) in - FStar_Syntax_Syntax.Tm_app uu____21122 in - FStar_Syntax_Syntax.mk uu____21121 in + let uu____21190 = FStar_Syntax_Syntax.as_arg e + in + [uu____21190] in + uu____21170 :: uu____21179 in + uu____21150 :: uu____21159 in + (lift_t1, uu____21139) in + FStar_Syntax_Syntax.Tm_app uu____21122 in + FStar_Syntax_Syntax.mk uu____21121 in uu____21114 FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in + e.FStar_Syntax_Syntax.pos + in let sub_mlift_term = - FStar_Util.map_opt sub1.FStar_Syntax_Syntax.lift mk_mlift_term in + FStar_Util.map_opt sub1.FStar_Syntax_Syntax.lift mk_mlift_term + in let edge = { msource = (sub1.FStar_Syntax_Syntax.source); mtarget = (sub1.FStar_Syntax_Syntax.target); mlift = { mlift_wp = sub_mlift_wp; mlift_term = sub_mlift_term } - } in + } in let id_edge l = { msource = (sub1.FStar_Syntax_Syntax.source); mtarget = (sub1.FStar_Syntax_Syntax.target); mlift = identity_mlift - } in + } in let print_mlift l = let bogus_term s = let uu____21292 = let uu____21293 = - FStar_Ident.lid_of_path [s] FStar_Range.dummyRange in + FStar_Ident.lid_of_path [s] FStar_Range.dummyRange in FStar_Syntax_Syntax.lid_as_fv uu____21293 FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____21292 in - let arg = bogus_term "ARG" in - let wp = bogus_term "WP" in - let e = bogus_term "COMP" in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____21292 in + let arg = bogus_term "ARG" in + let wp = bogus_term "WP" in + let e = bogus_term "COMP" in let uu____21302 = - let uu____21304 = l.mlift_wp FStar_Syntax_Syntax.U_zero arg wp in - FStar_Syntax_Print.term_to_string uu____21304 in + let uu____21304 = l.mlift_wp FStar_Syntax_Syntax.U_zero arg wp + in + FStar_Syntax_Print.term_to_string uu____21304 in let uu____21305 = let uu____21307 = FStar_Util.map_opt l.mlift_term - (fun l1 -> - let uu____21335 = l1 FStar_Syntax_Syntax.U_zero arg wp e in - FStar_Syntax_Print.term_to_string uu____21335) in - FStar_Util.dflt "none" uu____21307 in + (fun l1 -> + let uu____21335 = l1 FStar_Syntax_Syntax.U_zero arg wp e + in + FStar_Syntax_Print.term_to_string uu____21335) + in + FStar_Util.dflt "none" uu____21307 in FStar_Util.format2 "{ wp : %s ; term : %s }" uu____21302 - uu____21305 in - let order = edge :: ((env.effects).order) in + uu____21305 + in + let order = edge :: ((env.effects).order) in let ms = FStar_All.pipe_right (env.effects).decls (FStar_List.map - (fun uu____21364 -> + (fun uu____21364 -> match uu____21364 with - | (e, uu____21372) -> e.FStar_Syntax_Syntax.mname)) in + | (e,uu____21372) -> e.FStar_Syntax_Syntax.mname)) + in let find_edge order1 uu____21395 = match uu____21395 with - | (i, j) -> - let uu____21406 = FStar_Ident.lid_equals i j in + | (i,j) -> + let uu____21406 = FStar_Ident.lid_equals i j in if uu____21406 then FStar_All.pipe_right (id_edge i) - (fun _21413 -> FStar_Pervasives_Native.Some _21413) + (fun _21413 -> FStar_Pervasives_Native.Some _21413) else FStar_All.pipe_right order1 (FStar_Util.find_opt - (fun e -> + (fun e -> (FStar_Ident.lid_equals e.msource i) && - (FStar_Ident.lid_equals e.mtarget j))) in + (FStar_Ident.lid_equals e.mtarget j))) + in let order1 = let fold_fun order1 k = let uu____21442 = FStar_All.pipe_right ms (FStar_List.collect - (fun i -> - let uu____21452 = FStar_Ident.lid_equals i k in + (fun i -> + let uu____21452 = FStar_Ident.lid_equals i k in if uu____21452 then [] else FStar_All.pipe_right ms (FStar_List.collect - (fun j -> + (fun j -> let uu____21466 = - FStar_Ident.lid_equals j k in + FStar_Ident.lid_equals j k in if uu____21466 then [] else (let uu____21473 = let uu____21482 = - find_edge order1 (i, k) in + find_edge order1 (i, k) in let uu____21485 = - find_edge order1 (k, j) in - (uu____21482, uu____21485) in + find_edge order1 (k, j) in + (uu____21482, uu____21485) in match uu____21473 with - | (FStar_Pervasives_Native.Some e1, - FStar_Pervasives_Native.Some e2) -> + | (FStar_Pervasives_Native.Some + e1,FStar_Pervasives_Native.Some e2) + -> let uu____21500 = - compose_edges e1 e2 in + compose_edges e1 e2 in [uu____21500] - | uu____21501 -> []))))) in - FStar_List.append order1 uu____21442 in - FStar_All.pipe_right ms (FStar_List.fold_left fold_fun order) in + | uu____21501 -> []))))) + in + FStar_List.append order1 uu____21442 in + FStar_All.pipe_right ms (FStar_List.fold_left fold_fun order) in let order2 = FStar_Util.remove_dups - (fun e1 -> - fun e2 -> + (fun e1 -> + fun e2 -> (FStar_Ident.lid_equals e1.msource e2.msource) && - (FStar_Ident.lid_equals e1.mtarget e2.mtarget)) order1 in + (FStar_Ident.lid_equals e1.mtarget e2.mtarget)) order1 + in (FStar_All.pipe_right order2 (FStar_List.iter - (fun edge1 -> + (fun edge1 -> let uu____21531 = (FStar_Ident.lid_equals edge1.msource FStar_Parser_Const.effect_DIV_lid) && (let uu____21534 = - lookup_effect_quals env edge1.mtarget in + lookup_effect_quals env edge1.mtarget in FStar_All.pipe_right uu____21534 (FStar_List.contains - FStar_Syntax_Syntax.TotalEffect)) in + FStar_Syntax_Syntax.TotalEffect)) + in if uu____21531 then let uu____21541 = let uu____21547 = FStar_Util.format1 "Divergent computations cannot be included in an effect %s marked 'total'" - (edge1.mtarget).FStar_Ident.str in + (edge1.mtarget).FStar_Ident.str + in (FStar_Errors.Fatal_DivergentComputationCannotBeIncludedInTotal, - uu____21547) in - let uu____21551 = get_range env in + uu____21547) + in + let uu____21551 = get_range env in FStar_Errors.raise_error uu____21541 uu____21551 else ())); (let joins = FStar_All.pipe_right ms (FStar_List.collect - (fun i -> + (fun i -> FStar_All.pipe_right ms (FStar_List.collect - (fun j -> + (fun j -> let join_opt = - let uu____21629 = FStar_Ident.lid_equals i j in + let uu____21629 = FStar_Ident.lid_equals i j + in if uu____21629 then FStar_Pervasives_Native.Some @@ -3818,48 +4093,52 @@ let (build_lattice : env -> FStar_Syntax_Syntax.sigelt -> env) = else FStar_All.pipe_right ms (FStar_List.fold_left - (fun bopt -> - fun k -> + (fun bopt -> + fun k -> let uu____21681 = let uu____21690 = - find_edge order2 (i, k) in + find_edge order2 (i, k) in let uu____21693 = - find_edge order2 (j, k) in - (uu____21690, uu____21693) in + find_edge order2 (j, k) in + (uu____21690, uu____21693) in match uu____21681 with | (FStar_Pervasives_Native.Some - ik, - FStar_Pervasives_Native.Some + ik,FStar_Pervasives_Native.Some jk) -> (match bopt with | FStar_Pervasives_Native.None - -> + -> FStar_Pervasives_Native.Some (k, ik, jk) | FStar_Pervasives_Native.Some - (ub, uu____21735, - uu____21736) + (ub,uu____21735,uu____21736) -> let uu____21743 = let uu____21750 = let uu____21752 = find_edge order2 - (k, ub) in + (k, ub) + in FStar_Util.is_some - uu____21752 in + uu____21752 + in let uu____21755 = let uu____21757 = find_edge order2 - (ub, k) in + (ub, k) + in FStar_Util.is_some - uu____21757 in + uu____21757 + in (uu____21750, - uu____21755) in + uu____21755) + in (match uu____21743 with - | (true, true) -> + | (true ,true ) -> let uu____21774 = FStar_Ident.lid_equals - k ub in + k ub + in if uu____21774 then (FStar_Errors.log_issue @@ -3870,22 +4149,25 @@ let (build_lattice : env -> FStar_Syntax_Syntax.sigelt -> env) = else failwith "Found a cycle in the lattice" - | (false, false) -> + | (false ,false ) -> bopt - | (true, false) -> + | (true ,false ) -> FStar_Pervasives_Native.Some (k, ik, jk) - | (false, true) -> bopt)) + | (false ,true ) -> + bopt)) | uu____21817 -> bopt) - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in match join_opt with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some (k, e1, e2) -> - [(i, j, k, (e1.mlift), (e2.mlift))])))) in + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some (k,e1,e2) -> + [(i, j, k, (e1.mlift), (e2.mlift))])))) + in let effects = - let uu___1628_21890 = env.effects in - { decls = (uu___1628_21890.decls); order = order2; joins } in - let uu___1631_21891 = env in + let uu___1628_21890 = env.effects in + { decls = (uu___1628_21890.decls); order = order2; joins } in + let uu___1631_21891 = env in { solver = (uu___1631_21891.solver); range = (uu___1631_21891.range); @@ -3932,34 +4214,37 @@ let (build_lattice : env -> FStar_Syntax_Syntax.sigelt -> env) = nbe = (uu___1631_21891.nbe) })) | uu____21892 -> env + let (comp_to_comp_typ : env -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp_typ) = - fun env -> - fun c -> + fun env -> + fun c -> let c1 = match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, FStar_Pervasives_Native.None) -> - let u = env.universe_of env t in + | FStar_Syntax_Syntax.Total (t,FStar_Pervasives_Native.None ) -> + let u = env.universe_of env t in FStar_Syntax_Syntax.mk_Total' t (FStar_Pervasives_Native.Some u) - | FStar_Syntax_Syntax.GTotal (t, FStar_Pervasives_Native.None) -> - let u = env.universe_of env t in + | FStar_Syntax_Syntax.GTotal (t,FStar_Pervasives_Native.None ) -> + let u = env.universe_of env t in FStar_Syntax_Syntax.mk_GTotal' t (FStar_Pervasives_Native.Some u) - | uu____21921 -> c in + | uu____21921 -> c in FStar_Syntax_Util.comp_to_comp_typ c1 + let rec (unfold_effect_abbrev : env -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp_typ) = - fun env -> - fun comp -> - let c = comp_to_comp_typ env comp in + fun env -> + fun comp -> + let c = comp_to_comp_typ env comp in let uu____21934 = lookup_effect_abbrev env c.FStar_Syntax_Syntax.comp_univs - c.FStar_Syntax_Syntax.effect_name in + c.FStar_Syntax_Syntax.effect_name + in match uu____21934 with - | FStar_Pervasives_Native.None -> c - | FStar_Pervasives_Native.Some (binders, cdef) -> - let uu____21951 = FStar_Syntax_Subst.open_comp binders cdef in + | FStar_Pervasives_Native.None -> c + | FStar_Pervasives_Native.Some (binders,cdef) -> + let uu____21951 = FStar_Syntax_Subst.open_comp binders cdef in (match uu____21951 with - | (binders1, cdef1) -> + | (binders1,cdef1) -> (if (FStar_List.length binders1) <> ((FStar_List.length c.FStar_Syntax_Syntax.effect_args) + @@ -3969,20 +4254,24 @@ let rec (unfold_effect_abbrev : let uu____21982 = let uu____21984 = FStar_Util.string_of_int - (FStar_List.length binders1) in + (FStar_List.length binders1) + in let uu____21992 = FStar_Util.string_of_int ((FStar_List.length c.FStar_Syntax_Syntax.effect_args) - + (Prims.parse_int "1")) in + + (Prims.parse_int "1")) + in let uu____22003 = - let uu____22005 = FStar_Syntax_Syntax.mk_Comp c in - FStar_Syntax_Print.comp_to_string uu____22005 in + let uu____22005 = FStar_Syntax_Syntax.mk_Comp c in + FStar_Syntax_Print.comp_to_string uu____22005 in FStar_Util.format3 "Effect constructor is not fully applied; expected %s args, got %s args, i.e., %s" - uu____21984 uu____21992 uu____22003 in + uu____21984 uu____21992 uu____22003 + in (FStar_Errors.Fatal_ConstructorArgLengthMismatch, - uu____21982) in + uu____21982) + in FStar_Errors.raise_error uu____21976 comp.FStar_Syntax_Syntax.pos) else (); @@ -3990,19 +4279,21 @@ let rec (unfold_effect_abbrev : let uu____22013 = let uu____22024 = FStar_Syntax_Syntax.as_arg - c.FStar_Syntax_Syntax.result_typ in - uu____22024 :: (c.FStar_Syntax_Syntax.effect_args) in + c.FStar_Syntax_Syntax.result_typ + in + uu____22024 :: (c.FStar_Syntax_Syntax.effect_args) in FStar_List.map2 - (fun uu____22061 -> - fun uu____22062 -> + (fun uu____22061 -> + fun uu____22062 -> match (uu____22061, uu____22062) with - | ((x, uu____22092), (t, uu____22094)) -> + | ((x,uu____22092),(t,uu____22094)) -> FStar_Syntax_Syntax.NT (x, t)) binders1 - uu____22013 in - let c1 = FStar_Syntax_Subst.subst_comp inst1 cdef1 in + uu____22013 + in + let c1 = FStar_Syntax_Subst.subst_comp inst1 cdef1 in let c2 = let uu____22125 = - let uu___1669_22126 = comp_to_comp_typ env c1 in + let uu___1669_22126 = comp_to_comp_typ env c1 in { FStar_Syntax_Syntax.comp_univs = (uu___1669_22126.FStar_Syntax_Syntax.comp_univs); @@ -4014,10 +4305,12 @@ let rec (unfold_effect_abbrev : (uu___1669_22126.FStar_Syntax_Syntax.effect_args); FStar_Syntax_Syntax.flags = (c.FStar_Syntax_Syntax.flags) - } in + } in FStar_All.pipe_right uu____22125 - FStar_Syntax_Syntax.mk_Comp in + FStar_Syntax_Syntax.mk_Comp + in unfold_effect_abbrev env c2))) + let effect_repr_aux : 'Auu____22138 . 'Auu____22138 -> @@ -4027,134 +4320,147 @@ let effect_repr_aux : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax FStar_Pervasives_Native.option = - fun only_reifiable -> - fun env -> - fun c -> - fun u_c -> + fun only_reifiable -> + fun env -> + fun c -> + fun u_c -> let effect_name = - norm_eff_name env (FStar_Syntax_Util.comp_effect_name c) in - let uu____22168 = effect_decl_opt env effect_name in + norm_eff_name env (FStar_Syntax_Util.comp_effect_name c) in + let uu____22168 = effect_decl_opt env effect_name in match uu____22168 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (ed, qualifiers) -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (ed,qualifiers) -> (match (ed.FStar_Syntax_Syntax.repr).FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> FStar_Pervasives_Native.None | uu____22207 -> - let c1 = unfold_effect_abbrev env c in - let res_typ = c1.FStar_Syntax_Syntax.result_typ in + let c1 = unfold_effect_abbrev env c in + let res_typ = c1.FStar_Syntax_Syntax.result_typ in let wp = match c1.FStar_Syntax_Syntax.effect_args with | hd1::uu____22230 -> hd1 | [] -> - let name = FStar_Ident.string_of_lid effect_name in + let name = FStar_Ident.string_of_lid effect_name in let message = let uu____22269 = FStar_Util.format1 - "Not enough arguments for effect %s. " name in + "Not enough arguments for effect %s. " name + in Prims.op_Hat uu____22269 (Prims.op_Hat "This usually happens when you use a partially applied DM4F effect, " - "like [TAC int] instead of [Tac int].") in - let uu____22274 = get_range env in + "like [TAC int] instead of [Tac int].") + in + let uu____22274 = get_range env in FStar_Errors.raise_error (FStar_Errors.Fatal_NotEnoughArgumentsForEffect, - message) uu____22274 in + message) uu____22274 + in let repr = inst_effect_fun_with [u_c] env ed - ([], (ed.FStar_Syntax_Syntax.repr)) in + ([], (ed.FStar_Syntax_Syntax.repr)) + in let uu____22289 = - let uu____22292 = get_range env in + let uu____22292 = get_range env in let uu____22293 = let uu____22300 = let uu____22301 = let uu____22318 = let uu____22329 = - FStar_Syntax_Syntax.as_arg res_typ in - [uu____22329; wp] in - (repr, uu____22318) in - FStar_Syntax_Syntax.Tm_app uu____22301 in - FStar_Syntax_Syntax.mk uu____22300 in - uu____22293 FStar_Pervasives_Native.None uu____22292 in + FStar_Syntax_Syntax.as_arg res_typ in + [uu____22329; wp] in + (repr, uu____22318) in + FStar_Syntax_Syntax.Tm_app uu____22301 in + FStar_Syntax_Syntax.mk uu____22300 in + uu____22293 FStar_Pervasives_Native.None uu____22292 in FStar_Pervasives_Native.Some uu____22289) + let (effect_repr : env -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) - = fun env -> fun c -> fun u_c -> effect_repr_aux false env c u_c + = fun env -> fun c -> fun u_c -> effect_repr_aux false env c u_c let (is_user_reifiable_effect : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun effect_lid -> - let effect_lid1 = norm_eff_name env effect_lid in - let quals = lookup_effect_quals env effect_lid1 in + fun env -> + fun effect_lid -> + let effect_lid1 = norm_eff_name env effect_lid in + let quals = lookup_effect_quals env effect_lid1 in FStar_List.contains FStar_Syntax_Syntax.Reifiable quals + let (is_total_effect : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun effect_lid -> - let effect_lid1 = norm_eff_name env effect_lid in - let quals = lookup_effect_quals env effect_lid1 in + fun env -> + fun effect_lid -> + let effect_lid1 = norm_eff_name env effect_lid in + let quals = lookup_effect_quals env effect_lid1 in FStar_List.contains FStar_Syntax_Syntax.TotalEffect quals + let (is_reifiable_effect : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun effect_lid -> - let effect_lid1 = norm_eff_name env effect_lid in + fun env -> + fun effect_lid -> + let effect_lid1 = norm_eff_name env effect_lid in (is_user_reifiable_effect env effect_lid1) || (FStar_Ident.lid_equals effect_lid1 FStar_Parser_Const.effect_TAC_lid) + let (is_reifiable_rc : env -> FStar_Syntax_Syntax.residual_comp -> Prims.bool) = - fun env -> - fun c -> is_reifiable_effect env c.FStar_Syntax_Syntax.residual_effect + fun env -> + fun c -> is_reifiable_effect env c.FStar_Syntax_Syntax.residual_effect + let (is_reifiable_comp : env -> FStar_Syntax_Syntax.comp -> Prims.bool) = - fun env -> - fun c -> + fun env -> + fun c -> match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Comp ct -> is_reifiable_effect env ct.FStar_Syntax_Syntax.effect_name | uu____22473 -> false + let (is_reifiable_function : env -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun env -> - fun t -> + fun env -> + fun t -> let uu____22488 = - let uu____22489 = FStar_Syntax_Subst.compress t in - uu____22489.FStar_Syntax_Syntax.n in + let uu____22489 = FStar_Syntax_Subst.compress t in + uu____22489.FStar_Syntax_Syntax.n in match uu____22488 with - | FStar_Syntax_Syntax.Tm_arrow (uu____22493, c) -> + | FStar_Syntax_Syntax.Tm_arrow (uu____22493,c) -> is_reifiable_comp env c | uu____22515 -> false + let (reify_comp : env -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.term) = - fun env -> - fun c -> - fun u_c -> - let l = FStar_Syntax_Util.comp_effect_name c in + fun env -> + fun c -> + fun u_c -> + let l = FStar_Syntax_Util.comp_effect_name c in (let uu____22535 = - let uu____22537 = is_reifiable_effect env l in - Prims.op_Negation uu____22537 in + let uu____22537 = is_reifiable_effect env l in + Prims.op_Negation uu____22537 in if uu____22535 then let uu____22540 = let uu____22546 = - let uu____22548 = FStar_Ident.string_of_lid l in - FStar_Util.format1 "Effect %s cannot be reified" uu____22548 in - (FStar_Errors.Fatal_EffectCannotBeReified, uu____22546) in - let uu____22552 = get_range env in + let uu____22548 = FStar_Ident.string_of_lid l in + FStar_Util.format1 "Effect %s cannot be reified" uu____22548 + in + (FStar_Errors.Fatal_EffectCannotBeReified, uu____22546) in + let uu____22552 = get_range env in FStar_Errors.raise_error uu____22540 uu____22552 else ()); - (let uu____22555 = effect_repr_aux true env c u_c in + (let uu____22555 = effect_repr_aux true env c u_c in match uu____22555 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> failwith "internal error: reifiable effect has no repr?" | FStar_Pervasives_Native.Some tm -> tm) + let (push_sigelt : env -> FStar_Syntax_Syntax.sigelt -> env) = - fun env -> - fun s -> - let sb = ((FStar_Syntax_Util.lids_of_sigelt s), s) in + fun env -> + fun s -> + let sb = ((FStar_Syntax_Util.lids_of_sigelt s), s) in let env1 = - let uu___1734_22591 = env in + let uu___1734_22591 = env in { solver = (uu___1734_22591.solver); range = (uu___1734_22591.range); @@ -4199,14 +4505,15 @@ let (push_sigelt : env -> FStar_Syntax_Syntax.sigelt -> env) = tc_hooks = (uu___1734_22591.tc_hooks); dsenv = (uu___1734_22591.dsenv); nbe = (uu___1734_22591.nbe) - } in + } in add_sigelt env1 s; (env1.tc_hooks).tc_push_in_gamma_hook env1 (FStar_Util.Inr sb); build_lattice env1 s + let (push_local_binding : env -> FStar_Syntax_Syntax.binding -> env) = - fun env -> - fun b -> - let uu___1741_22605 = env in + fun env -> + fun b -> + let uu___1741_22605 = env in { solver = (uu___1741_22605.solver); range = (uu___1741_22605.range); @@ -4252,21 +4559,24 @@ let (push_local_binding : env -> FStar_Syntax_Syntax.binding -> env) = dsenv = (uu___1741_22605.dsenv); nbe = (uu___1741_22605.nbe) } + let (push_bv : env -> FStar_Syntax_Syntax.bv -> env) = - fun env -> - fun x -> push_local_binding env (FStar_Syntax_Syntax.Binding_var x) + fun env -> + fun x -> push_local_binding env (FStar_Syntax_Syntax.Binding_var x) + let (push_bvs : env -> FStar_Syntax_Syntax.bv Prims.list -> env) = - fun env -> - fun bvs -> - FStar_List.fold_left (fun env1 -> fun bv -> push_bv env1 bv) env bvs + fun env -> + fun bvs -> + FStar_List.fold_left (fun env1 -> fun bv -> push_bv env1 bv) env bvs + let (pop_bv : env -> (FStar_Syntax_Syntax.bv * env) FStar_Pervasives_Native.option) = - fun env -> + fun env -> match env.gamma with | (FStar_Syntax_Syntax.Binding_var x)::rest -> FStar_Pervasives_Native.Some (x, - (let uu___1754_22663 = env in + (let uu___1754_22663 = env in { solver = (uu___1754_22663.solver); range = (uu___1754_22663.range); @@ -4313,44 +4623,49 @@ let (pop_bv : nbe = (uu___1754_22663.nbe) })) | uu____22664 -> FStar_Pervasives_Native.None + let (push_binders : env -> FStar_Syntax_Syntax.binders -> env) = - fun env -> - fun bs -> + fun env -> + fun bs -> FStar_List.fold_left - (fun env1 -> - fun uu____22693 -> - match uu____22693 with | (x, uu____22701) -> push_bv env1 x) env + (fun env1 -> + fun uu____22693 -> + match uu____22693 with | (x,uu____22701) -> push_bv env1 x) env bs + let (binding_of_lb : FStar_Syntax_Syntax.lbname -> (FStar_Syntax_Syntax.univ_name Prims.list * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) -> FStar_Syntax_Syntax.binding) = - fun x -> - fun t -> + fun x -> + fun t -> match x with | FStar_Util.Inl x1 -> let x2 = - let uu___1768_22736 = x1 in + let uu___1768_22736 = x1 in { FStar_Syntax_Syntax.ppname = (uu___1768_22736.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___1768_22736.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = (FStar_Pervasives_Native.snd t) - } in + } in FStar_Syntax_Syntax.Binding_var x2 | FStar_Util.Inr fv -> FStar_Syntax_Syntax.Binding_lid (((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v), t) + let (push_let_binding : env -> FStar_Syntax_Syntax.lbname -> FStar_Syntax_Syntax.tscheme -> env) = - fun env -> fun lb -> fun ts -> push_local_binding env (binding_of_lb lb ts) + fun env -> + fun lb -> fun ts -> push_local_binding env (binding_of_lb lb ts) + let (push_module : env -> FStar_Syntax_Syntax.modul -> env) = - fun env -> - fun m -> + fun env -> + fun m -> add_sigelts env m.FStar_Syntax_Syntax.exports; - (let uu___1779_22778 = env in + (let uu___1779_22778 = env in { solver = (uu___1779_22778.solver); range = (uu___1779_22778.range); @@ -4396,14 +4711,16 @@ let (push_module : env -> FStar_Syntax_Syntax.modul -> env) = dsenv = (uu___1779_22778.dsenv); nbe = (uu___1779_22778.nbe) }) + let (push_univ_vars : env -> FStar_Syntax_Syntax.univ_names -> env) = - fun env -> - fun xs -> + fun env -> + fun xs -> FStar_List.fold_left - (fun env1 -> - fun x -> + (fun env1 -> + fun x -> push_local_binding env1 (FStar_Syntax_Syntax.Binding_univ x)) env xs + let (open_universes_in : env -> FStar_Syntax_Syntax.univ_names -> @@ -4411,20 +4728,21 @@ let (open_universes_in : (env * FStar_Syntax_Syntax.univ_names * FStar_Syntax_Syntax.term Prims.list)) = - fun env -> - fun uvs -> - fun terms -> - let uu____22822 = FStar_Syntax_Subst.univ_var_opening uvs in + fun env -> + fun uvs -> + fun terms -> + let uu____22822 = FStar_Syntax_Subst.univ_var_opening uvs in match uu____22822 with - | (univ_subst, univ_vars) -> - let env' = push_univ_vars env univ_vars in + | (univ_subst,univ_vars) -> + let env' = push_univ_vars env univ_vars in let uu____22850 = - FStar_List.map (FStar_Syntax_Subst.subst univ_subst) terms in + FStar_List.map (FStar_Syntax_Subst.subst univ_subst) terms in (env', univ_vars, uu____22850) + let (set_expected_typ : env -> FStar_Syntax_Syntax.typ -> env) = - fun env -> - fun t -> - let uu___1794_22866 = env in + fun env -> + fun t -> + let uu___1794_22866 = env in { solver = (uu___1794_22866.solver); range = (uu___1794_22866.range); @@ -4470,17 +4788,19 @@ let (set_expected_typ : env -> FStar_Syntax_Syntax.typ -> env) = dsenv = (uu___1794_22866.dsenv); nbe = (uu___1794_22866.nbe) } + let (expected_typ : env -> FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option) = - fun env -> + fun env -> match env.expected_typ with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some t -> FStar_Pervasives_Native.Some t + let (clear_expected_typ : env -> (env * FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option)) = - fun env_ -> - let uu____22897 = expected_typ env_ in - ((let uu___1801_22903 = env_ in + fun env_ -> + let uu____22897 = expected_typ env_ in + ((let uu___1801_22903 = env_ in { solver = (uu___1801_22903.solver); range = (uu___1801_22903.range); @@ -4526,26 +4846,29 @@ let (clear_expected_typ : dsenv = (uu___1801_22903.dsenv); nbe = (uu___1801_22903.nbe) }), uu____22897) + let (finish_module : env -> FStar_Syntax_Syntax.modul -> env) = let empty_lid = let uu____22915 = - let uu____22918 = FStar_Ident.id_of_text "" in [uu____22918] in - FStar_Ident.lid_of_ids uu____22915 in - fun env -> - fun m -> + let uu____22918 = FStar_Ident.id_of_text "" in [uu____22918] in + FStar_Ident.lid_of_ids uu____22915 in + fun env -> + fun m -> let sigs = let uu____22925 = FStar_Ident.lid_equals m.FStar_Syntax_Syntax.name - FStar_Parser_Const.prims_lid in + FStar_Parser_Const.prims_lid + in if uu____22925 then let uu____22930 = FStar_All.pipe_right env.gamma_sig - (FStar_List.map FStar_Pervasives_Native.snd) in + (FStar_List.map FStar_Pervasives_Native.snd) + in FStar_All.pipe_right uu____22930 FStar_List.rev - else m.FStar_Syntax_Syntax.exports in + else m.FStar_Syntax_Syntax.exports in add_sigelts env sigs; - (let uu___1809_22958 = env in + (let uu___1809_22958 = env in { solver = (uu___1809_22958.solver); range = (uu___1809_22958.range); @@ -4591,19 +4914,20 @@ let (finish_module : env -> FStar_Syntax_Syntax.modul -> env) = dsenv = (uu___1809_22958.dsenv); nbe = (uu___1809_22958.nbe) }) + let (uvars_in_env : env -> FStar_Syntax_Syntax.uvars) = - fun env -> - let no_uvs = FStar_Syntax_Free.new_uv_set () in - let ext out uvs = FStar_Util.set_union out uvs in + fun env -> + let no_uvs = FStar_Syntax_Free.new_uv_set () in + let ext out uvs = FStar_Util.set_union out uvs in let rec aux out g = match g with | [] -> out | (FStar_Syntax_Syntax.Binding_univ uu____23010)::tl1 -> aux out tl1 - | (FStar_Syntax_Syntax.Binding_lid - (uu____23014, (uu____23015, t)))::tl1 -> + | (FStar_Syntax_Syntax.Binding_lid (uu____23014,(uu____23015,t)))::tl1 + -> let uu____23036 = - let uu____23039 = FStar_Syntax_Free.uvars t in - ext out uu____23039 in + let uu____23039 = FStar_Syntax_Free.uvars t in + ext out uu____23039 in aux uu____23036 tl1 | (FStar_Syntax_Syntax.Binding_var { FStar_Syntax_Syntax.ppname = uu____23042; @@ -4611,23 +4935,25 @@ let (uvars_in_env : env -> FStar_Syntax_Syntax.uvars) = FStar_Syntax_Syntax.sort = t;_})::tl1 -> let uu____23051 = - let uu____23054 = FStar_Syntax_Free.uvars t in - ext out uu____23054 in - aux uu____23051 tl1 in + let uu____23054 = FStar_Syntax_Free.uvars t in + ext out uu____23054 in + aux uu____23051 tl1 + in aux no_uvs env.gamma + let (univ_vars : env -> FStar_Syntax_Syntax.universe_uvar FStar_Util.set) = - fun env -> - let no_univs = FStar_Syntax_Free.new_universe_uvar_set () in - let ext out uvs = FStar_Util.set_union out uvs in + fun env -> + let no_univs = FStar_Syntax_Free.new_universe_uvar_set () in + let ext out uvs = FStar_Util.set_union out uvs in let rec aux out g = match g with | [] -> out | (FStar_Syntax_Syntax.Binding_univ uu____23112)::tl1 -> aux out tl1 - | (FStar_Syntax_Syntax.Binding_lid - (uu____23116, (uu____23117, t)))::tl1 -> + | (FStar_Syntax_Syntax.Binding_lid (uu____23116,(uu____23117,t)))::tl1 + -> let uu____23138 = - let uu____23141 = FStar_Syntax_Free.univs t in - ext out uu____23141 in + let uu____23141 = FStar_Syntax_Free.univs t in + ext out uu____23141 in aux uu____23138 tl1 | (FStar_Syntax_Syntax.Binding_var { FStar_Syntax_Syntax.ppname = uu____23144; @@ -4635,25 +4961,27 @@ let (univ_vars : env -> FStar_Syntax_Syntax.universe_uvar FStar_Util.set) = FStar_Syntax_Syntax.sort = t;_})::tl1 -> let uu____23153 = - let uu____23156 = FStar_Syntax_Free.univs t in - ext out uu____23156 in - aux uu____23153 tl1 in + let uu____23156 = FStar_Syntax_Free.univs t in + ext out uu____23156 in + aux uu____23153 tl1 + in aux no_univs env.gamma + let (univnames : env -> FStar_Syntax_Syntax.univ_name FStar_Util.set) = - fun env -> - let no_univ_names = FStar_Syntax_Syntax.no_universe_names in - let ext out uvs = FStar_Util.set_union out uvs in + fun env -> + let no_univ_names = FStar_Syntax_Syntax.no_universe_names in + let ext out uvs = FStar_Util.set_union out uvs in let rec aux out g = match g with | [] -> out | (FStar_Syntax_Syntax.Binding_univ uname)::tl1 -> - let uu____23218 = FStar_Util.set_add uname out in + let uu____23218 = FStar_Util.set_add uname out in aux uu____23218 tl1 - | (FStar_Syntax_Syntax.Binding_lid - (uu____23221, (uu____23222, t)))::tl1 -> + | (FStar_Syntax_Syntax.Binding_lid (uu____23221,(uu____23222,t)))::tl1 + -> let uu____23243 = - let uu____23246 = FStar_Syntax_Free.univnames t in - ext out uu____23246 in + let uu____23246 = FStar_Syntax_Free.univnames t in + ext out uu____23246 in aux uu____23243 tl1 | (FStar_Syntax_Syntax.Binding_var { FStar_Syntax_Syntax.ppname = uu____23249; @@ -4661,95 +4989,108 @@ let (univnames : env -> FStar_Syntax_Syntax.univ_name FStar_Util.set) = FStar_Syntax_Syntax.sort = t;_})::tl1 -> let uu____23258 = - let uu____23261 = FStar_Syntax_Free.univnames t in - ext out uu____23261 in - aux uu____23258 tl1 in + let uu____23261 = FStar_Syntax_Free.univnames t in + ext out uu____23261 in + aux uu____23258 tl1 + in aux no_univ_names env.gamma + let (bound_vars_of_bindings : FStar_Syntax_Syntax.binding Prims.list -> FStar_Syntax_Syntax.bv Prims.list) = - fun bs -> + fun bs -> FStar_All.pipe_right bs (FStar_List.collect - (fun uu___11_23282 -> + (fun uu___11_23282 -> match uu___11_23282 with | FStar_Syntax_Syntax.Binding_var x -> [x] | FStar_Syntax_Syntax.Binding_lid uu____23286 -> [] | FStar_Syntax_Syntax.Binding_univ uu____23299 -> [])) + let (binders_of_bindings : FStar_Syntax_Syntax.binding Prims.list -> FStar_Syntax_Syntax.binders) = - fun bs -> + fun bs -> let uu____23310 = - let uu____23319 = bound_vars_of_bindings bs in + let uu____23319 = bound_vars_of_bindings bs in FStar_All.pipe_right uu____23319 - (FStar_List.map FStar_Syntax_Syntax.mk_binder) in + (FStar_List.map FStar_Syntax_Syntax.mk_binder) + in FStar_All.pipe_right uu____23310 FStar_List.rev + let (bound_vars : env -> FStar_Syntax_Syntax.bv Prims.list) = - fun env -> bound_vars_of_bindings env.gamma + fun env -> bound_vars_of_bindings env.gamma let (all_binders : env -> FStar_Syntax_Syntax.binders) = - fun env -> binders_of_bindings env.gamma + fun env -> binders_of_bindings env.gamma let (print_gamma : FStar_Syntax_Syntax.gamma -> Prims.string) = - fun gamma -> + fun gamma -> let uu____23367 = FStar_All.pipe_right gamma (FStar_List.map - (fun uu___12_23380 -> + (fun uu___12_23380 -> match uu___12_23380 with | FStar_Syntax_Syntax.Binding_var x -> - let uu____23383 = FStar_Syntax_Print.bv_to_string x in + let uu____23383 = FStar_Syntax_Print.bv_to_string x in Prims.op_Hat "Binding_var " uu____23383 | FStar_Syntax_Syntax.Binding_univ u -> Prims.op_Hat "Binding_univ " u.FStar_Ident.idText - | FStar_Syntax_Syntax.Binding_lid (l, uu____23389) -> - let uu____23406 = FStar_Ident.string_of_lid l in - Prims.op_Hat "Binding_lid " uu____23406)) in + | FStar_Syntax_Syntax.Binding_lid (l,uu____23389) -> + let uu____23406 = FStar_Ident.string_of_lid l in + Prims.op_Hat "Binding_lid " uu____23406)) + in FStar_All.pipe_right uu____23367 (FStar_String.concat "::\n") + let (string_of_delta_level : delta_level -> Prims.string) = - fun uu___13_23420 -> + fun uu___13_23420 -> match uu___13_23420 with - | NoDelta -> "NoDelta" - | InliningDelta -> "Inlining" - | Eager_unfolding_only -> "Eager_unfolding_only" + | NoDelta -> "NoDelta" + | InliningDelta -> "Inlining" + | Eager_unfolding_only -> "Eager_unfolding_only" | Unfold d -> - let uu____23426 = FStar_Syntax_Print.delta_depth_to_string d in + let uu____23426 = FStar_Syntax_Print.delta_depth_to_string d in Prims.op_Hat "Unfold " uu____23426 + let (lidents : env -> FStar_Ident.lident Prims.list) = - fun env -> - let keys = FStar_List.collect FStar_Pervasives_Native.fst env.gamma_sig in + fun env -> + let keys = FStar_List.collect FStar_Pervasives_Native.fst env.gamma_sig + in FStar_Util.smap_fold (sigtab env) - (fun uu____23449 -> - fun v1 -> - fun keys1 -> + (fun uu____23449 -> + fun v1 -> + fun keys1 -> FStar_List.append (FStar_Syntax_Util.lids_of_sigelt v1) keys1) keys + let (should_enc_path : env -> Prims.string Prims.list -> Prims.bool) = - fun env -> - fun path -> + fun env -> + fun path -> let rec str_i_prefix xs ys = match (xs, ys) with - | ([], uu____23504) -> true - | (x::xs1, y::ys1) -> + | ([],uu____23504) -> true + | (x::xs1,y::ys1) -> ((FStar_String.lowercase x) = (FStar_String.lowercase y)) && (str_i_prefix xs1 ys1) - | (uu____23537, uu____23538) -> false in + | (uu____23537,uu____23538) -> false in let uu____23552 = FStar_List.tryFind - (fun uu____23574 -> - match uu____23574 with | (p, uu____23585) -> str_i_prefix p path) - env.proof_ns in + (fun uu____23574 -> + match uu____23574 with | (p,uu____23585) -> str_i_prefix p path) + env.proof_ns + in match uu____23552 with - | FStar_Pervasives_Native.None -> false - | FStar_Pervasives_Native.Some (uu____23604, b) -> b + | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.Some (uu____23604,b) -> b + let (should_enc_lid : env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun lid -> - let uu____23634 = FStar_Ident.path_of_lid lid in + fun env -> + fun lid -> + let uu____23634 = FStar_Ident.path_of_lid lid in should_enc_path env uu____23634 + let (cons_proof_ns : Prims.bool -> env -> name_prefix -> env) = - fun b -> - fun e -> - fun path -> - let uu___1952_23656 = e in + fun b -> + fun e -> + fun path -> + let uu___1952_23656 = e in { solver = (uu___1952_23656.solver); range = (uu___1952_23656.range); @@ -4795,15 +5136,16 @@ let (cons_proof_ns : Prims.bool -> env -> name_prefix -> env) = dsenv = (uu___1952_23656.dsenv); nbe = (uu___1952_23656.nbe) } + let (add_proof_ns : env -> name_prefix -> env) = - fun e -> fun path -> cons_proof_ns true e path + fun e -> fun path -> cons_proof_ns true e path let (rem_proof_ns : env -> name_prefix -> env) = - fun e -> fun path -> cons_proof_ns false e path -let (get_proof_ns : env -> proof_namespace) = fun e -> e.proof_ns + fun e -> fun path -> cons_proof_ns false e path +let (get_proof_ns : env -> proof_namespace) = fun e -> e.proof_ns let (set_proof_ns : proof_namespace -> env -> env) = - fun ns -> - fun e -> - let uu___1961_23704 = e in + fun ns -> + fun e -> + let uu___1961_23704 = e in { solver = (uu___1961_23704.solver); range = (uu___1961_23704.range); @@ -4849,233 +5191,255 @@ let (set_proof_ns : proof_namespace -> env -> env) = dsenv = (uu___1961_23704.dsenv); nbe = (uu___1961_23704.nbe) } + let (unbound_vars : env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.bv FStar_Util.set) = - fun e -> - fun t -> - let uu____23720 = FStar_Syntax_Free.names t in - let uu____23723 = bound_vars e in - FStar_List.fold_left (fun s -> fun bv -> FStar_Util.set_remove bv s) + fun e -> + fun t -> + let uu____23720 = FStar_Syntax_Free.names t in + let uu____23723 = bound_vars e in + FStar_List.fold_left (fun s -> fun bv -> FStar_Util.set_remove bv s) uu____23720 uu____23723 + let (closed : env -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun e -> - fun t -> - let uu____23746 = unbound_vars e t in + fun e -> + fun t -> + let uu____23746 = unbound_vars e t in FStar_Util.set_is_empty uu____23746 + let (closed' : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> - let uu____23756 = FStar_Syntax_Free.names t in + fun t -> + let uu____23756 = FStar_Syntax_Free.names t in FStar_Util.set_is_empty uu____23756 + let (string_of_proof_ns : env -> Prims.string) = - fun env -> + fun env -> let aux uu____23777 = match uu____23777 with - | (p, b) -> + | (p,b) -> if (p = []) && b then "*" else - (let uu____23797 = FStar_Ident.text_of_path p in - Prims.op_Hat (if b then "+" else "-") uu____23797) in + (let uu____23797 = FStar_Ident.text_of_path p in + Prims.op_Hat (if b then "+" else "-") uu____23797) + in let uu____23805 = - let uu____23809 = FStar_List.map aux env.proof_ns in - FStar_All.pipe_right uu____23809 FStar_List.rev in + let uu____23809 = FStar_List.map aux env.proof_ns in + FStar_All.pipe_right uu____23809 FStar_List.rev in FStar_All.pipe_right uu____23805 (FStar_String.concat " ") + let (guard_of_guard_formula : FStar_TypeChecker_Common.guard_formula -> guard_t) = - fun g -> + fun g -> { guard_f = g; deferred = []; univ_ineqs = ([], []); implicits = [] } + let (guard_form : guard_t -> FStar_TypeChecker_Common.guard_formula) = - fun g -> g.guard_f + fun g -> g.guard_f let (is_trivial : guard_t -> Prims.bool) = - fun g -> + fun g -> match g with - | { guard_f = FStar_TypeChecker_Common.Trivial; deferred = []; - univ_ineqs = ([], []); implicits = i;_} -> + | { guard_f = FStar_TypeChecker_Common.Trivial ; deferred = []; + univ_ineqs = ([],[]); implicits = i;_} -> FStar_All.pipe_right i (FStar_Util.for_all - (fun imp -> + (fun imp -> ((imp.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_should_check = FStar_Syntax_Syntax.Allow_unresolved) || (let uu____23879 = FStar_Syntax_Unionfind.find - (imp.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_head in + (imp.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_head + in match uu____23879 with | FStar_Pervasives_Native.Some uu____23883 -> true - | FStar_Pervasives_Native.None -> false))) + | FStar_Pervasives_Native.None -> false))) | uu____23886 -> false + let (is_trivial_guard_formula : guard_t -> Prims.bool) = - fun g -> + fun g -> match g with - | { guard_f = FStar_TypeChecker_Common.Trivial; deferred = uu____23896; + | { guard_f = FStar_TypeChecker_Common.Trivial ; deferred = uu____23896; univ_ineqs = uu____23897; implicits = uu____23898;_} -> true | uu____23910 -> false + let (trivial_guard : guard_t) = { guard_f = FStar_TypeChecker_Common.Trivial; deferred = []; univ_ineqs = ([], []); implicits = [] - } + } let (abstract_guard_n : FStar_Syntax_Syntax.binder Prims.list -> guard_t -> guard_t) = - fun bs -> - fun g -> + fun bs -> + fun g -> match g.guard_f with - | FStar_TypeChecker_Common.Trivial -> g + | FStar_TypeChecker_Common.Trivial -> g | FStar_TypeChecker_Common.NonTrivial f -> let f' = FStar_Syntax_Util.abs bs f (FStar_Pervasives_Native.Some - (FStar_Syntax_Util.residual_tot FStar_Syntax_Util.ktype0)) in - let uu___2005_23941 = g in + (FStar_Syntax_Util.residual_tot FStar_Syntax_Util.ktype0)) + in + let uu___2005_23941 = g in { guard_f = (FStar_TypeChecker_Common.NonTrivial f'); deferred = (uu___2005_23941.deferred); univ_ineqs = (uu___2005_23941.univ_ineqs); implicits = (uu___2005_23941.implicits) } + let (abstract_guard : FStar_Syntax_Syntax.binder -> guard_t -> guard_t) = - fun b -> fun g -> abstract_guard_n [b] g + fun b -> fun g -> abstract_guard_n [b] g let (def_check_vars_in_set : FStar_Range.range -> Prims.string -> FStar_Syntax_Syntax.bv FStar_Util.set -> FStar_Syntax_Syntax.term -> unit) = - fun rng -> - fun msg -> - fun vset -> - fun t -> - let uu____23980 = FStar_Options.defensive () in + fun rng -> + fun msg -> + fun vset -> + fun t -> + let uu____23980 = FStar_Options.defensive () in if uu____23980 then - let s = FStar_Syntax_Free.names t in + let s = FStar_Syntax_Free.names t in let uu____23986 = let uu____23988 = - let uu____23990 = FStar_Util.set_difference s vset in - FStar_All.pipe_left FStar_Util.set_is_empty uu____23990 in - Prims.op_Negation uu____23988 in + let uu____23990 = FStar_Util.set_difference s vset in + FStar_All.pipe_left FStar_Util.set_is_empty uu____23990 in + Prims.op_Negation uu____23988 in (if uu____23986 then let uu____23997 = let uu____24003 = - let uu____24005 = FStar_Syntax_Print.term_to_string t in + let uu____24005 = FStar_Syntax_Print.term_to_string t in let uu____24007 = - let uu____24009 = FStar_Util.set_elements s in + let uu____24009 = FStar_Util.set_elements s in FStar_All.pipe_right uu____24009 - (FStar_Syntax_Print.bvs_to_string ",\n\t") in + (FStar_Syntax_Print.bvs_to_string ",\n\t") + in FStar_Util.format3 "Internal: term is not closed (%s).\nt = (%s)\nFVs = (%s)\n" - msg uu____24005 uu____24007 in - (FStar_Errors.Warning_Defensive, uu____24003) in + msg uu____24005 uu____24007 + in + (FStar_Errors.Warning_Defensive, uu____24003) in FStar_Errors.log_issue rng uu____23997 else ()) else () + let (def_check_closed_in : FStar_Range.range -> Prims.string -> FStar_Syntax_Syntax.bv Prims.list -> FStar_Syntax_Syntax.term -> unit) = - fun rng -> - fun msg -> - fun l -> - fun t -> + fun rng -> + fun msg -> + fun l -> + fun t -> let uu____24049 = - let uu____24051 = FStar_Options.defensive () in - Prims.op_Negation uu____24051 in + let uu____24051 = FStar_Options.defensive () in + Prims.op_Negation uu____24051 in if uu____24049 then () else (let uu____24056 = - FStar_Util.as_set l FStar_Syntax_Syntax.order_bv in + FStar_Util.as_set l FStar_Syntax_Syntax.order_bv in def_check_vars_in_set rng msg uu____24056 t) + let (def_check_closed_in_env : FStar_Range.range -> Prims.string -> env -> FStar_Syntax_Syntax.term -> unit) = - fun rng -> - fun msg -> - fun e -> - fun t -> + fun rng -> + fun msg -> + fun e -> + fun t -> let uu____24082 = - let uu____24084 = FStar_Options.defensive () in - Prims.op_Negation uu____24084 in + let uu____24084 = FStar_Options.defensive () in + Prims.op_Negation uu____24084 in if uu____24082 then () else - (let uu____24089 = bound_vars e in + (let uu____24089 = bound_vars e in def_check_closed_in rng msg uu____24089 t) + let (def_check_guard_wf : FStar_Range.range -> Prims.string -> env -> guard_t -> unit) = - fun rng -> - fun msg -> - fun env -> - fun g -> + fun rng -> + fun msg -> + fun env -> + fun g -> match g.guard_f with - | FStar_TypeChecker_Common.Trivial -> () + | FStar_TypeChecker_Common.Trivial -> () | FStar_TypeChecker_Common.NonTrivial f -> def_check_closed_in_env rng msg env f + let (apply_guard : guard_t -> FStar_Syntax_Syntax.term -> guard_t) = - fun g -> - fun e -> + fun g -> + fun e -> match g.guard_f with - | FStar_TypeChecker_Common.Trivial -> g + | FStar_TypeChecker_Common.Trivial -> g | FStar_TypeChecker_Common.NonTrivial f -> - let uu___2042_24128 = g in + let uu___2042_24128 = g in let uu____24129 = let uu____24130 = let uu____24131 = let uu____24138 = let uu____24139 = let uu____24156 = - let uu____24167 = FStar_Syntax_Syntax.as_arg e in - [uu____24167] in - (f, uu____24156) in - FStar_Syntax_Syntax.Tm_app uu____24139 in - FStar_Syntax_Syntax.mk uu____24138 in + let uu____24167 = FStar_Syntax_Syntax.as_arg e in + [uu____24167] in + (f, uu____24156) in + FStar_Syntax_Syntax.Tm_app uu____24139 in + FStar_Syntax_Syntax.mk uu____24138 in uu____24131 FStar_Pervasives_Native.None - f.FStar_Syntax_Syntax.pos in + f.FStar_Syntax_Syntax.pos + in FStar_All.pipe_left - (fun _24204 -> FStar_TypeChecker_Common.NonTrivial _24204) - uu____24130 in + (fun _24204 -> FStar_TypeChecker_Common.NonTrivial _24204) + uu____24130 + in { guard_f = uu____24129; deferred = (uu___2042_24128.deferred); univ_ineqs = (uu___2042_24128.univ_ineqs); implicits = (uu___2042_24128.implicits) } + let (map_guard : guard_t -> (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) -> guard_t) = - fun g -> - fun map1 -> + fun g -> + fun map1 -> match g.guard_f with - | FStar_TypeChecker_Common.Trivial -> g + | FStar_TypeChecker_Common.Trivial -> g | FStar_TypeChecker_Common.NonTrivial f -> - let uu___2049_24222 = g in + let uu___2049_24222 = g in let uu____24223 = - let uu____24224 = map1 f in - FStar_TypeChecker_Common.NonTrivial uu____24224 in + let uu____24224 = map1 f in + FStar_TypeChecker_Common.NonTrivial uu____24224 in { guard_f = uu____24223; deferred = (uu___2049_24222.deferred); univ_ineqs = (uu___2049_24222.univ_ineqs); implicits = (uu___2049_24222.implicits) } + let (always_map_guard : guard_t -> (FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) -> guard_t) = - fun g -> - fun map1 -> + fun g -> + fun map1 -> match g.guard_f with - | FStar_TypeChecker_Common.Trivial -> - let uu___2054_24241 = g in + | FStar_TypeChecker_Common.Trivial -> + let uu___2054_24241 = g in let uu____24242 = - let uu____24243 = map1 FStar_Syntax_Util.t_true in - FStar_TypeChecker_Common.NonTrivial uu____24243 in + let uu____24243 = map1 FStar_Syntax_Util.t_true in + FStar_TypeChecker_Common.NonTrivial uu____24243 in { guard_f = uu____24242; deferred = (uu___2054_24241.deferred); @@ -5083,71 +5447,76 @@ let (always_map_guard : implicits = (uu___2054_24241.implicits) } | FStar_TypeChecker_Common.NonTrivial f -> - let uu___2058_24245 = g in + let uu___2058_24245 = g in let uu____24246 = - let uu____24247 = map1 f in - FStar_TypeChecker_Common.NonTrivial uu____24247 in + let uu____24247 = map1 f in + FStar_TypeChecker_Common.NonTrivial uu____24247 in { guard_f = uu____24246; deferred = (uu___2058_24245.deferred); univ_ineqs = (uu___2058_24245.univ_ineqs); implicits = (uu___2058_24245.implicits) } + let (trivial : FStar_TypeChecker_Common.guard_formula -> unit) = - fun t -> + fun t -> match t with - | FStar_TypeChecker_Common.Trivial -> () + | FStar_TypeChecker_Common.Trivial -> () | FStar_TypeChecker_Common.NonTrivial uu____24254 -> failwith "impossible" + let (conj_guard_f : FStar_TypeChecker_Common.guard_formula -> FStar_TypeChecker_Common.guard_formula -> FStar_TypeChecker_Common.guard_formula) = - fun g1 -> - fun g2 -> + fun g1 -> + fun g2 -> match (g1, g2) with - | (FStar_TypeChecker_Common.Trivial, g) -> g - | (g, FStar_TypeChecker_Common.Trivial) -> g - | (FStar_TypeChecker_Common.NonTrivial f1, - FStar_TypeChecker_Common.NonTrivial f2) -> - let uu____24271 = FStar_Syntax_Util.mk_conj f1 f2 in + | (FStar_TypeChecker_Common.Trivial ,g) -> g + | (g,FStar_TypeChecker_Common.Trivial ) -> g + | (FStar_TypeChecker_Common.NonTrivial + f1,FStar_TypeChecker_Common.NonTrivial f2) -> + let uu____24271 = FStar_Syntax_Util.mk_conj f1 f2 in FStar_TypeChecker_Common.NonTrivial uu____24271 + let (check_trivial : FStar_Syntax_Syntax.term -> FStar_TypeChecker_Common.guard_formula) = - fun t -> + fun t -> let uu____24278 = - let uu____24279 = FStar_Syntax_Util.unmeta t in - uu____24279.FStar_Syntax_Syntax.n in + let uu____24279 = FStar_Syntax_Util.unmeta t in + uu____24279.FStar_Syntax_Syntax.n in match uu____24278 with | FStar_Syntax_Syntax.Tm_fvar tc when FStar_Syntax_Syntax.fv_eq_lid tc FStar_Parser_Const.true_lid -> FStar_TypeChecker_Common.Trivial | uu____24283 -> FStar_TypeChecker_Common.NonTrivial t + let (imp_guard_f : FStar_TypeChecker_Common.guard_formula -> FStar_TypeChecker_Common.guard_formula -> FStar_TypeChecker_Common.guard_formula) = - fun g1 -> - fun g2 -> + fun g1 -> + fun g2 -> match (g1, g2) with - | (FStar_TypeChecker_Common.Trivial, g) -> g - | (g, FStar_TypeChecker_Common.Trivial) -> + | (FStar_TypeChecker_Common.Trivial ,g) -> g + | (g,FStar_TypeChecker_Common.Trivial ) -> FStar_TypeChecker_Common.Trivial - | (FStar_TypeChecker_Common.NonTrivial f1, - FStar_TypeChecker_Common.NonTrivial f2) -> - let imp = FStar_Syntax_Util.mk_imp f1 f2 in check_trivial imp + | (FStar_TypeChecker_Common.NonTrivial + f1,FStar_TypeChecker_Common.NonTrivial f2) -> + let imp = FStar_Syntax_Util.mk_imp f1 f2 in check_trivial imp + let (binop_guard : (FStar_TypeChecker_Common.guard_formula -> FStar_TypeChecker_Common.guard_formula -> FStar_TypeChecker_Common.guard_formula) -> guard_t -> guard_t -> guard_t) = - fun f -> - fun g1 -> - fun g2 -> - let uu____24326 = f g1.guard_f g2.guard_f in + fun f -> + fun g1 -> + fun g2 -> + let uu____24326 = f g1.guard_f g2.guard_f in { guard_f = uu____24326; deferred = (FStar_List.append g1.deferred g2.deferred); @@ -5158,78 +5527,85 @@ let (binop_guard : (FStar_Pervasives_Native.snd g2.univ_ineqs))); implicits = (FStar_List.append g1.implicits g2.implicits) } + let (conj_guard : guard_t -> guard_t -> guard_t) = - fun g1 -> fun g2 -> binop_guard conj_guard_f g1 g2 + fun g1 -> fun g2 -> binop_guard conj_guard_f g1 g2 let (imp_guard : guard_t -> guard_t -> guard_t) = - fun g1 -> fun g2 -> binop_guard imp_guard_f g1 g2 + fun g1 -> fun g2 -> binop_guard imp_guard_f g1 g2 let (conj_guards : guard_t Prims.list -> guard_t) = - fun gs -> FStar_List.fold_left conj_guard trivial_guard gs + fun gs -> FStar_List.fold_left conj_guard trivial_guard gs let (close_guard_univs : FStar_Syntax_Syntax.universes -> FStar_Syntax_Syntax.binders -> guard_t -> guard_t) = - fun us -> - fun bs -> - fun g -> + fun us -> + fun bs -> + fun g -> match g.guard_f with - | FStar_TypeChecker_Common.Trivial -> g + | FStar_TypeChecker_Common.Trivial -> g | FStar_TypeChecker_Common.NonTrivial f -> let f1 = FStar_List.fold_right2 - (fun u -> - fun b -> - fun f1 -> - let uu____24421 = FStar_Syntax_Syntax.is_null_binder b in + (fun u -> + fun b -> + fun f1 -> + let uu____24421 = FStar_Syntax_Syntax.is_null_binder b + in if uu____24421 then f1 else FStar_Syntax_Util.mk_forall u - (FStar_Pervasives_Native.fst b) f1) us bs f in - let uu___2113_24428 = g in + (FStar_Pervasives_Native.fst b) f1) us bs f + in + let uu___2113_24428 = g in { guard_f = (FStar_TypeChecker_Common.NonTrivial f1); deferred = (uu___2113_24428.deferred); univ_ineqs = (uu___2113_24428.univ_ineqs); implicits = (uu___2113_24428.implicits) } + let (close_forall : env -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun bs -> - fun f -> + fun env -> + fun bs -> + fun f -> FStar_List.fold_right - (fun b -> - fun f1 -> - let uu____24462 = FStar_Syntax_Syntax.is_null_binder b in + (fun b -> + fun f1 -> + let uu____24462 = FStar_Syntax_Syntax.is_null_binder b in if uu____24462 then f1 else (let u = env.universe_of env - (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort in + (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort + in FStar_Syntax_Util.mk_forall u (FStar_Pervasives_Native.fst b) f1)) bs f + let (close_guard : env -> FStar_Syntax_Syntax.binders -> guard_t -> guard_t) = - fun env -> - fun binders -> - fun g -> + fun env -> + fun binders -> + fun g -> match g.guard_f with - | FStar_TypeChecker_Common.Trivial -> g + | FStar_TypeChecker_Common.Trivial -> g | FStar_TypeChecker_Common.NonTrivial f -> - let uu___2128_24489 = g in + let uu___2128_24489 = g in let uu____24490 = - let uu____24491 = close_forall env binders f in - FStar_TypeChecker_Common.NonTrivial uu____24491 in + let uu____24491 = close_forall env binders f in + FStar_TypeChecker_Common.NonTrivial uu____24491 in { guard_f = uu____24490; deferred = (uu___2128_24489.deferred); univ_ineqs = (uu___2128_24489.univ_ineqs); implicits = (uu___2128_24489.implicits) } + let (new_implicit_var_aux : Prims.string -> FStar_Range.range -> @@ -5241,29 +5617,31 @@ let (new_implicit_var_aux : (FStar_Syntax_Syntax.term * (FStar_Syntax_Syntax.ctx_uvar * FStar_Range.range) Prims.list * guard_t)) = - fun reason -> - fun r -> - fun env -> - fun k -> - fun should_check -> - fun meta -> + fun reason -> + fun r -> + fun env -> + fun k -> + fun should_check -> + fun meta -> let uu____24549 = - FStar_Syntax_Util.destruct k FStar_Parser_Const.range_of_lid in + FStar_Syntax_Util.destruct k FStar_Parser_Const.range_of_lid + in match uu____24549 with | FStar_Pervasives_Native.Some - (uu____24574::(tm, uu____24576)::[]) -> + (uu____24574::(tm,uu____24576)::[]) -> let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range (tm.FStar_Syntax_Syntax.pos))) - FStar_Pervasives_Native.None tm.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None tm.FStar_Syntax_Syntax.pos + in (t, [], trivial_guard) | uu____24640 -> - let binders = all_binders env in - let gamma = env.gamma in + let binders = all_binders env in + let gamma = env.gamma in let ctx_uvar = - let uu____24658 = FStar_Syntax_Unionfind.fresh () in + let uu____24658 = FStar_Syntax_Unionfind.fresh () in { FStar_Syntax_Syntax.ctx_uvar_head = uu____24658; FStar_Syntax_Syntax.ctx_uvar_gamma = gamma; @@ -5274,48 +5652,51 @@ let (new_implicit_var_aux : should_check; FStar_Syntax_Syntax.ctx_uvar_range = r; FStar_Syntax_Syntax.ctx_uvar_meta = meta - } in + } in (FStar_TypeChecker_Common.check_uvar_ctx_invariant reason r true gamma binders; (let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uvar (ctx_uvar, ([], FStar_Syntax_Syntax.NoUseRange))) - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in let imp = { imp_reason = reason; imp_uvar = ctx_uvar; imp_tm = t; imp_range = r - } in + } in let g = - let uu___2150_24690 = trivial_guard in + let uu___2150_24690 = trivial_guard in { guard_f = (uu___2150_24690.guard_f); deferred = (uu___2150_24690.deferred); univ_ineqs = (uu___2150_24690.univ_ineqs); implicits = [imp] - } in + } in (t, [(ctx_uvar, r)], g))) + let (dummy_solver : solver_t) = { - init = (fun uu____24708 -> ()); - push = (fun uu____24710 -> ()); - pop = (fun uu____24713 -> ()); + init = (fun uu____24708 -> ()); + push = (fun uu____24710 -> ()); + pop = (fun uu____24713 -> ()); snapshot = - (fun uu____24716 -> + (fun uu____24716 -> (((Prims.parse_int "0"), (Prims.parse_int "0"), (Prims.parse_int "0")), ())); - rollback = (fun uu____24735 -> fun uu____24736 -> ()); - encode_sig = (fun uu____24751 -> fun uu____24752 -> ()); + rollback = (fun uu____24735 -> fun uu____24736 -> ()); + encode_sig = (fun uu____24751 -> fun uu____24752 -> ()); preprocess = - (fun e -> - fun g -> + (fun e -> + fun g -> let uu____24758 = - let uu____24765 = FStar_Options.peek () in (e, g, uu____24765) in + let uu____24765 = FStar_Options.peek () in (e, g, uu____24765) + in [uu____24758]); - solve = (fun uu____24781 -> fun uu____24782 -> fun uu____24783 -> ()); - finish = (fun uu____24790 -> ()); - refresh = (fun uu____24792 -> ()) - } \ No newline at end of file + solve = (fun uu____24781 -> fun uu____24782 -> fun uu____24783 -> ()); + finish = (fun uu____24790 -> ()); + refresh = (fun uu____24792 -> ()) + } \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_Err.ml b/src/ocaml-output/FStar_TypeChecker_Err.ml index f7a8222bccd..897d25b7c3f 100644 --- a/src/ocaml-output/FStar_TypeChecker_Err.ml +++ b/src/ocaml-output/FStar_TypeChecker_Err.ml @@ -4,484 +4,636 @@ let (info_at_pos : Prims.string -> Prims.int -> Prims.int -> - ((Prims.string, FStar_Ident.lid) FStar_Util.either * + ((Prims.string,FStar_Ident.lid) FStar_Util.either * FStar_Syntax_Syntax.typ * FStar_Range.range) FStar_Pervasives_Native.option) = - fun env -> - fun file -> - fun row -> - fun col -> + fun env -> + fun file -> + fun row -> + fun col -> let uu____39 = let uu____42 = - FStar_ST.op_Bang env.FStar_TypeChecker_Env.identifier_info in - FStar_TypeChecker_Common.id_info_at_pos uu____42 file row col in + FStar_ST.op_Bang env.FStar_TypeChecker_Env.identifier_info in + FStar_TypeChecker_Common.id_info_at_pos uu____42 file row col in match uu____39 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some info -> (match info.FStar_TypeChecker_Common.identifier with | FStar_Util.Inl bv -> let uu____101 = let uu____113 = - let uu____119 = FStar_Syntax_Print.nm_to_string bv in - FStar_Util.Inl uu____119 in - let uu____122 = FStar_Syntax_Syntax.range_of_bv bv in + let uu____119 = FStar_Syntax_Print.nm_to_string bv in + FStar_Util.Inl uu____119 in + let uu____122 = FStar_Syntax_Syntax.range_of_bv bv in (uu____113, (info.FStar_TypeChecker_Common.identifier_ty), - uu____122) in + uu____122) + in FStar_Pervasives_Native.Some uu____101 | FStar_Util.Inr fv -> let uu____140 = let uu____152 = - let uu____158 = FStar_Syntax_Syntax.lid_of_fv fv in - FStar_Util.Inr uu____158 in - let uu____160 = FStar_Syntax_Syntax.range_of_fv fv in + let uu____158 = FStar_Syntax_Syntax.lid_of_fv fv in + FStar_Util.Inr uu____158 in + let uu____160 = FStar_Syntax_Syntax.range_of_fv fv in (uu____152, (info.FStar_TypeChecker_Common.identifier_ty), - uu____160) in + uu____160) + in FStar_Pervasives_Native.Some uu____140) + +let (add_errors_smt_detail : + FStar_TypeChecker_Env.env -> + (FStar_Errors.raw_error * Prims.string * FStar_Range.range) Prims.list -> + (Prims.string,Prims.string) FStar_Util.either -> unit) + = + fun env -> + fun errs -> + fun smt_detail -> + let maybe_add_smt_detail msg = + match smt_detail with + | FStar_Util.Inr d -> Prims.op_Hat msg (Prims.op_Hat "\n\t" d) + | FStar_Util.Inl d when (FStar_Util.trim_string d) <> "" -> + Prims.op_Hat msg (Prims.op_Hat "; " d) + | uu____245 -> msg in + let errs1 = + FStar_All.pipe_right errs + (FStar_List.map + (fun uu____302 -> + match uu____302 with + | (e,msg,r) -> + let uu____322 = + if r = FStar_Range.dummyRange + then + let uu____338 = FStar_TypeChecker_Env.get_range env + in + (e, msg, uu____338) + else + (let r' = + let uu____343 = FStar_Range.use_range r in + FStar_Range.set_def_range r uu____343 in + let uu____344 = + let uu____346 = FStar_Range.file_of_range r' in + let uu____348 = + let uu____350 = + FStar_TypeChecker_Env.get_range env in + FStar_Range.file_of_range uu____350 in + uu____346 <> uu____348 in + if uu____344 + then + let uu____360 = + let uu____362 = + let uu____364 = + let uu____366 = + FStar_Range.string_of_use_range r in + let uu____368 = + let uu____370 = + let uu____372 = + let uu____374 = + FStar_Range.use_range r in + let uu____375 = + FStar_Range.def_range r in + uu____374 <> uu____375 in + if uu____372 + then + let uu____378 = + let uu____380 = + FStar_Range.string_of_def_range + r + in + Prims.op_Hat uu____380 ")" in + Prims.op_Hat + "(Other related locations: " + uu____378 + else "" in + Prims.op_Hat ")" uu____370 in + Prims.op_Hat uu____366 uu____368 in + Prims.op_Hat " (Also see: " uu____364 in + Prims.op_Hat msg uu____362 in + let uu____389 = + FStar_TypeChecker_Env.get_range env in + (e, uu____360, uu____389) + else (e, msg, r)) + in + (match uu____322 with + | (e1,msg1,r1) -> + (e1, (maybe_add_smt_detail msg1), r1)))) + in + FStar_Errors.add_errors errs1 + +let (add_errors : + FStar_TypeChecker_Env.env -> + (FStar_Errors.raw_error * Prims.string * FStar_Range.range) Prims.list -> + unit) + = + fun env -> fun errs -> add_errors_smt_detail env errs (FStar_Util.Inl "") let (err_msg_type_strings : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> (Prims.string * Prims.string)) = - fun env -> - fun t1 -> - fun t2 -> - let s1 = FStar_TypeChecker_Normalize.term_to_string env t1 in - let s2 = FStar_TypeChecker_Normalize.term_to_string env t2 in + fun env -> + fun t1 -> + fun t2 -> + let s1 = FStar_TypeChecker_Normalize.term_to_string env t1 in + let s2 = FStar_TypeChecker_Normalize.term_to_string env t2 in if s1 = s2 then FStar_Options.with_saved_options - (fun uu____227 -> - (let uu____229 = - FStar_Options.set_options FStar_Options.Set - "--print_full_names --print_universes" in + (fun uu____489 -> + (let uu____491 = + FStar_Options.set_options + "--print_full_names --print_universes" + in ()); - (let uu____231 = - FStar_TypeChecker_Normalize.term_to_string env t1 in - let uu____233 = - FStar_TypeChecker_Normalize.term_to_string env t2 in - (uu____231, uu____233))) + (let uu____493 = + FStar_TypeChecker_Normalize.term_to_string env t1 in + let uu____495 = + FStar_TypeChecker_Normalize.term_to_string env t2 in + (uu____493, uu____495))) else (s1, s2) + let (err_msg_comp_strings : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp -> (Prims.string * Prims.string)) = - fun env -> - fun c1 -> - fun c2 -> - let s1 = FStar_TypeChecker_Normalize.comp_to_string env c1 in - let s2 = FStar_TypeChecker_Normalize.comp_to_string env c2 in + fun env -> + fun c1 -> + fun c2 -> + let s1 = FStar_TypeChecker_Normalize.comp_to_string env c1 in + let s2 = FStar_TypeChecker_Normalize.comp_to_string env c2 in if s1 = s2 then FStar_Options.with_saved_options - (fun uu____291 -> - (let uu____293 = - FStar_Options.set_options FStar_Options.Set - "--print_full_names --print_universes --print_effect_args" in + (fun uu____553 -> + (let uu____555 = + FStar_Options.set_options + "--print_full_names --print_universes --print_effect_args" + in ()); - (let uu____295 = - FStar_TypeChecker_Normalize.comp_to_string env c1 in - let uu____297 = - FStar_TypeChecker_Normalize.comp_to_string env c2 in - (uu____295, uu____297))) + (let uu____557 = + FStar_TypeChecker_Normalize.comp_to_string env c1 in + let uu____559 = + FStar_TypeChecker_Normalize.comp_to_string env c2 in + (uu____557, uu____559))) else (s1, s2) -let (exhaustiveness_check : Prims.string) = "Patterns are incomplete" + +let (exhaustiveness_check : Prims.string) = "Patterns are incomplete" let (subtyping_failed : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ -> unit -> Prims.string) = - fun env -> - fun t1 -> - fun t2 -> - fun x -> - let uu____330 = err_msg_type_strings env t1 t2 in - match uu____330 with - | (s1, s2) -> + fun env -> + fun t1 -> + fun t2 -> + fun x -> + let uu____592 = err_msg_type_strings env t1 t2 in + match uu____592 with + | (s1,s2) -> FStar_Util.format2 "Subtyping check failed; expected type %s; got type %s" s2 s1 -let (ill_kinded_type : Prims.string) = "Ill-kinded type" -let (totality_check : Prims.string) = "This term may not terminate" + +let (ill_kinded_type : Prims.string) = "Ill-kinded type" +let (totality_check : Prims.string) = "This term may not terminate" let (unexpected_signature_for_monad : FStar_TypeChecker_Env.env -> FStar_Ident.lident -> FStar_Syntax_Syntax.term -> (FStar_Errors.raw_error * Prims.string)) = - fun env -> - fun m -> - fun k -> - let uu____372 = - let uu____374 = FStar_TypeChecker_Normalize.term_to_string env k in + fun env -> + fun m -> + fun k -> + let uu____634 = + let uu____636 = FStar_TypeChecker_Normalize.term_to_string env k + in FStar_Util.format2 "Unexpected signature for monad \"%s\". Expected a signature of the form (a:Type => WP a => Effect); got %s" - m.FStar_Ident.str uu____374 in - (FStar_Errors.Fatal_UnexpectedSignatureForMonad, uu____372) + m.FStar_Ident.str uu____636 + in + (FStar_Errors.Fatal_UnexpectedSignatureForMonad, uu____634) + let (expected_a_term_of_type_t_got_a_function : FStar_TypeChecker_Env.env -> Prims.string -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> (FStar_Errors.raw_error * Prims.string)) = - fun env -> - fun msg -> - fun t -> - fun e -> - let uu____406 = - let uu____408 = FStar_TypeChecker_Normalize.term_to_string env t in - let uu____410 = FStar_Syntax_Print.term_to_string e in + fun env -> + fun msg -> + fun t -> + fun e -> + let uu____668 = + let uu____670 = FStar_TypeChecker_Normalize.term_to_string env t + in + let uu____672 = FStar_Syntax_Print.term_to_string e in FStar_Util.format3 "Expected a term of type \"%s\"; got a function \"%s\" (%s)" - uu____408 uu____410 msg in - (FStar_Errors.Fatal_ExpectTermGotFunction, uu____406) + uu____670 uu____672 msg + in + (FStar_Errors.Fatal_ExpectTermGotFunction, uu____668) + let (unexpected_implicit_argument : (FStar_Errors.raw_error * Prims.string)) = (FStar_Errors.Fatal_UnexpectedImplicitArgument, "Unexpected instantiation of an implicit argument to a function that only expects explicit arguments") + let (expected_expression_of_type : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> (FStar_Errors.raw_error * Prims.string)) = - fun env -> - fun t1 -> - fun e -> - fun t2 -> - let uu____448 = err_msg_type_strings env t1 t2 in - match uu____448 with - | (s1, s2) -> - let uu____466 = - let uu____468 = FStar_Syntax_Print.term_to_string e in + fun env -> + fun t1 -> + fun e -> + fun t2 -> + let uu____710 = err_msg_type_strings env t1 t2 in + match uu____710 with + | (s1,s2) -> + let uu____728 = + let uu____730 = FStar_Syntax_Print.term_to_string e in FStar_Util.format3 "Expected expression of type \"%s\"; got expression \"%s\" of type \"%s\"" - s1 uu____468 s2 in - (FStar_Errors.Fatal_UnexpectedExpressionType, uu____466) + s1 uu____730 s2 + in + (FStar_Errors.Fatal_UnexpectedExpressionType, uu____728) + let (expected_pattern_of_type : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> (FStar_Errors.raw_error * Prims.string)) = - fun env -> - fun t1 -> - fun e -> - fun t2 -> - let uu____498 = err_msg_type_strings env t1 t2 in - match uu____498 with - | (s1, s2) -> - let uu____516 = - let uu____518 = FStar_Syntax_Print.term_to_string e in + fun env -> + fun t1 -> + fun e -> + fun t2 -> + let uu____760 = err_msg_type_strings env t1 t2 in + match uu____760 with + | (s1,s2) -> + let uu____778 = + let uu____780 = FStar_Syntax_Print.term_to_string e in FStar_Util.format3 "Expected pattern of type \"%s\"; got pattern \"%s\" of type \"%s\"" - s1 uu____518 s2 in - (FStar_Errors.Fatal_UnexpectedPattern, uu____516) + s1 uu____780 s2 + in + (FStar_Errors.Fatal_UnexpectedPattern, uu____778) + let (basic_type_error : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> (FStar_Errors.raw_error * Prims.string)) = - fun env -> - fun eopt -> - fun t1 -> - fun t2 -> - let uu____552 = err_msg_type_strings env t1 t2 in - match uu____552 with - | (s1, s2) -> + fun env -> + fun eopt -> + fun t1 -> + fun t2 -> + let uu____814 = err_msg_type_strings env t1 t2 in + match uu____814 with + | (s1,s2) -> let msg = match eopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Util.format2 "Expected type \"%s\"; got type \"%s\"" s1 s2 | FStar_Pervasives_Native.Some e -> - let uu____575 = - FStar_TypeChecker_Normalize.term_to_string env e in + let uu____837 = + FStar_TypeChecker_Normalize.term_to_string env e in FStar_Util.format3 "Expected type \"%s\"; but \"%s\" has type \"%s\"" s1 - uu____575 s2 in + uu____837 s2 + in (FStar_Errors.Error_TypeError, msg) + let (occurs_check : (FStar_Errors.raw_error * Prims.string)) = (FStar_Errors.Fatal_PossibleInfiniteTyp, "Possibly infinite typ (occurs check failed)") + let (incompatible_kinds : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> (FStar_Errors.raw_error * Prims.string)) = - fun env -> - fun k1 -> - fun k2 -> - let uu____608 = - let uu____610 = FStar_TypeChecker_Normalize.term_to_string env k1 in - let uu____612 = FStar_TypeChecker_Normalize.term_to_string env k2 in + fun env -> + fun k1 -> + fun k2 -> + let uu____870 = + let uu____872 = FStar_TypeChecker_Normalize.term_to_string env k1 + in + let uu____874 = FStar_TypeChecker_Normalize.term_to_string env k2 + in FStar_Util.format2 "Kinds \"%s\" and \"%s\" are incompatible" - uu____610 uu____612 in - (FStar_Errors.Fatal_IncompatibleKinds, uu____608) + uu____872 uu____874 + in + (FStar_Errors.Fatal_IncompatibleKinds, uu____870) + let (constructor_builds_the_wrong_type : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> (FStar_Errors.raw_error * Prims.string)) = - fun env -> - fun d -> - fun t -> - fun t' -> - let uu____642 = - let uu____644 = FStar_Syntax_Print.term_to_string d in - let uu____646 = FStar_TypeChecker_Normalize.term_to_string env t in - let uu____648 = FStar_TypeChecker_Normalize.term_to_string env t' in + fun env -> + fun d -> + fun t -> + fun t' -> + let uu____904 = + let uu____906 = FStar_Syntax_Print.term_to_string d in + let uu____908 = FStar_TypeChecker_Normalize.term_to_string env t + in + let uu____910 = FStar_TypeChecker_Normalize.term_to_string env t' + in FStar_Util.format3 "Constructor \"%s\" builds a value of type \"%s\"; expected \"%s\"" - uu____644 uu____646 uu____648 in - (FStar_Errors.Fatal_ConstsructorBuildWrongType, uu____642) + uu____906 uu____908 uu____910 + in + (FStar_Errors.Fatal_ConstsructorBuildWrongType, uu____904) + let constructor_fails_the_positivity_check : - 'Auu____661 . - 'Auu____661 -> + 'Auu____923 . + 'Auu____923 -> FStar_Syntax_Syntax.term -> FStar_Ident.lid -> (FStar_Errors.raw_error * Prims.string) = - fun env -> - fun d -> - fun l -> - let uu____682 = - let uu____684 = FStar_Syntax_Print.term_to_string d in - let uu____686 = FStar_Syntax_Print.lid_to_string l in + fun env -> + fun d -> + fun l -> + let uu____944 = + let uu____946 = FStar_Syntax_Print.term_to_string d in + let uu____948 = FStar_Syntax_Print.lid_to_string l in FStar_Util.format2 "Constructor \"%s\" fails the strict positivity check; the constructed type \"%s\" occurs to the left of a pure function type" - uu____684 uu____686 in - (FStar_Errors.Fatal_ConstructorFailedCheck, uu____682) + uu____946 uu____948 + in + (FStar_Errors.Fatal_ConstructorFailedCheck, uu____944) + let (inline_type_annotation_and_val_decl : FStar_Ident.lid -> (FStar_Errors.raw_error * Prims.string)) = - fun l -> - let uu____701 = - let uu____703 = FStar_Syntax_Print.lid_to_string l in + fun l -> + let uu____963 = + let uu____965 = FStar_Syntax_Print.lid_to_string l in FStar_Util.format1 "\"%s\" has a val declaration as well as an inlined type annotation; remove one" - uu____703 in - (FStar_Errors.Fatal_DuplicateTypeAnnotationAndValDecl, uu____701) + uu____965 + in + (FStar_Errors.Fatal_DuplicateTypeAnnotationAndValDecl, uu____963) + let (inferred_type_causes_variable_to_escape : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.bv -> (FStar_Errors.raw_error * Prims.string)) = - fun env -> - fun t -> - fun x -> - let uu____728 = - let uu____730 = FStar_TypeChecker_Normalize.term_to_string env t in - let uu____732 = FStar_Syntax_Print.bv_to_string x in + fun env -> + fun t -> + fun x -> + let uu____990 = + let uu____992 = FStar_TypeChecker_Normalize.term_to_string env t + in + let uu____994 = FStar_Syntax_Print.bv_to_string x in FStar_Util.format2 "Inferred type \"%s\" causes variable \"%s\" to escape its scope" - uu____730 uu____732 in - (FStar_Errors.Fatal_InferredTypeCauseVarEscape, uu____728) + uu____992 uu____994 + in + (FStar_Errors.Fatal_InferredTypeCauseVarEscape, uu____990) + let (expected_function_typ : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Errors.raw_error * Prims.string)) = - fun env -> - fun t -> - let uu____752 = - let uu____754 = FStar_TypeChecker_Normalize.term_to_string env t in + fun env -> + fun t -> + let uu____1014 = + let uu____1016 = FStar_TypeChecker_Normalize.term_to_string env t in FStar_Util.format1 - "Expected a function; got an expression of type \"%s\"" uu____754 in - (FStar_Errors.Fatal_FunctionTypeExpected, uu____752) + "Expected a function; got an expression of type \"%s\"" uu____1016 + in + (FStar_Errors.Fatal_FunctionTypeExpected, uu____1014) + let (expected_poly_typ : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> (FStar_Errors.raw_error * Prims.string)) = - fun env -> - fun f -> - fun t -> - fun targ -> - let uu____784 = - let uu____786 = FStar_Syntax_Print.term_to_string f in - let uu____788 = FStar_TypeChecker_Normalize.term_to_string env t in - let uu____790 = - FStar_TypeChecker_Normalize.term_to_string env targ in + fun env -> + fun f -> + fun t -> + fun targ -> + let uu____1046 = + let uu____1048 = FStar_Syntax_Print.term_to_string f in + let uu____1050 = FStar_TypeChecker_Normalize.term_to_string env t + in + let uu____1052 = + FStar_TypeChecker_Normalize.term_to_string env targ in FStar_Util.format3 "Expected a polymorphic function; got an expression \"%s\" of type \"%s\" applied to a type \"%s\"" - uu____786 uu____788 uu____790 in - (FStar_Errors.Fatal_PolyTypeExpected, uu____784) + uu____1048 uu____1050 uu____1052 + in + (FStar_Errors.Fatal_PolyTypeExpected, uu____1046) + let (disjunctive_pattern_vars : FStar_Syntax_Syntax.bv Prims.list -> FStar_Syntax_Syntax.bv Prims.list -> (FStar_Errors.raw_error * Prims.string)) = - fun v1 -> - fun v2 -> + fun v1 -> + fun v2 -> let vars v3 = - let uu____829 = + let uu____1091 = FStar_All.pipe_right v3 - (FStar_List.map FStar_Syntax_Print.bv_to_string) in - FStar_All.pipe_right uu____829 (FStar_String.concat ", ") in - let uu____844 = - let uu____846 = vars v1 in - let uu____848 = vars v2 in + (FStar_List.map FStar_Syntax_Print.bv_to_string) + in + FStar_All.pipe_right uu____1091 (FStar_String.concat ", ") in + let uu____1106 = + let uu____1108 = vars v1 in + let uu____1110 = vars v2 in FStar_Util.format2 "Every alternative of an 'or' pattern must bind the same variables; here one branch binds (\"%s\") and another (\"%s\")" - uu____846 uu____848 in - (FStar_Errors.Fatal_DisjuctivePatternVarsMismatch, uu____844) + uu____1108 uu____1110 + in + (FStar_Errors.Fatal_DisjuctivePatternVarsMismatch, uu____1106) + let (name_and_result : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> (Prims.string * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax)) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, uu____877) -> ("Tot", t) - | FStar_Syntax_Syntax.GTotal (t, uu____891) -> ("GTot", t) + | FStar_Syntax_Syntax.Total (t,uu____1139) -> ("Tot", t) + | FStar_Syntax_Syntax.GTotal (t,uu____1153) -> ("GTot", t) | FStar_Syntax_Syntax.Comp ct -> - let uu____905 = - FStar_Syntax_Print.lid_to_string ct.FStar_Syntax_Syntax.effect_name in - (uu____905, (ct.FStar_Syntax_Syntax.result_typ)) + let uu____1167 = + FStar_Syntax_Print.lid_to_string ct.FStar_Syntax_Syntax.effect_name + in + (uu____1167, (ct.FStar_Syntax_Syntax.result_typ)) + let computed_computation_type_does_not_match_annotation : - 'Auu____921 . + 'Auu____1183 . FStar_TypeChecker_Env.env -> - 'Auu____921 -> + 'Auu____1183 -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> (FStar_Errors.raw_error * Prims.string) = - fun env -> - fun e -> - fun c -> - fun c' -> - let uu____955 = name_and_result c in - match uu____955 with - | (f1, r1) -> - let uu____976 = name_and_result c' in - (match uu____976 with - | (f2, r2) -> - let uu____997 = err_msg_type_strings env r1 r2 in - (match uu____997 with - | (s1, s2) -> - let uu____1015 = + fun env -> + fun e -> + fun c -> + fun c' -> + let uu____1217 = name_and_result c in + match uu____1217 with + | (f1,r1) -> + let uu____1238 = name_and_result c' in + (match uu____1238 with + | (f2,r2) -> + let uu____1259 = err_msg_type_strings env r1 r2 in + (match uu____1259 with + | (s1,s2) -> + let uu____1277 = FStar_Util.format4 "Computed type \"%s\" and effect \"%s\" is not compatible with the annotated type \"%s\" effect \"%s\"" - s1 f1 s2 f2 in + s1 f1 s2 f2 + in (FStar_Errors.Fatal_ComputedTypeNotMatchAnnotation, - uu____1015))) + uu____1277))) + let computed_computation_type_does_not_match_annotation_eq : - 'Auu____1030 . + 'Auu____1292 . FStar_TypeChecker_Env.env -> - 'Auu____1030 -> + 'Auu____1292 -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp -> (FStar_Errors.raw_error * Prims.string) = - fun env -> - fun e -> - fun c -> - fun c' -> - let uu____1056 = err_msg_comp_strings env c c' in - match uu____1056 with - | (s1, s2) -> - let uu____1074 = + fun env -> + fun e -> + fun c -> + fun c' -> + let uu____1318 = err_msg_comp_strings env c c' in + match uu____1318 with + | (s1,s2) -> + let uu____1336 = FStar_Util.format2 "Computed type \"%s\" does not match annotated type \"%s\", and no subtyping was allowed" - s1 s2 in - (FStar_Errors.Fatal_ComputedTypeNotMatchAnnotation, uu____1074) + s1 s2 + in + (FStar_Errors.Fatal_ComputedTypeNotMatchAnnotation, uu____1336) + let (unexpected_non_trivial_precondition_on_term : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Errors.raw_error * Prims.string)) = - fun env -> - fun f -> - let uu____1094 = - let uu____1096 = FStar_TypeChecker_Normalize.term_to_string env f in + fun env -> + fun f -> + let uu____1356 = + let uu____1358 = FStar_TypeChecker_Normalize.term_to_string env f in FStar_Util.format1 - "Term has an unexpected non-trivial pre-condition: %s" uu____1096 in - (FStar_Errors.Fatal_UnExpectedPreCondition, uu____1094) + "Term has an unexpected non-trivial pre-condition: %s" uu____1358 + in + (FStar_Errors.Fatal_UnExpectedPreCondition, uu____1356) + let (expected_pure_expression : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> (FStar_Errors.raw_error * Prims.string)) = - fun e -> - fun c -> - let uu____1120 = - let uu____1122 = FStar_Syntax_Print.term_to_string e in - let uu____1124 = - let uu____1126 = name_and_result c in - FStar_All.pipe_left FStar_Pervasives_Native.fst uu____1126 in + fun e -> + fun c -> + let uu____1382 = + let uu____1384 = FStar_Syntax_Print.term_to_string e in + let uu____1386 = + let uu____1388 = name_and_result c in + FStar_All.pipe_left FStar_Pervasives_Native.fst uu____1388 in FStar_Util.format2 "Expected a pure expression; got an expression \"%s\" with effect \"%s\"" - uu____1122 uu____1124 in - (FStar_Errors.Fatal_ExpectedPureExpression, uu____1120) + uu____1384 uu____1386 + in + (FStar_Errors.Fatal_ExpectedPureExpression, uu____1382) + let (expected_ghost_expression : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> (FStar_Errors.raw_error * Prims.string)) = - fun e -> - fun c -> - let uu____1167 = - let uu____1169 = FStar_Syntax_Print.term_to_string e in - let uu____1171 = - let uu____1173 = name_and_result c in - FStar_All.pipe_left FStar_Pervasives_Native.fst uu____1173 in + fun e -> + fun c -> + let uu____1429 = + let uu____1431 = FStar_Syntax_Print.term_to_string e in + let uu____1433 = + let uu____1435 = name_and_result c in + FStar_All.pipe_left FStar_Pervasives_Native.fst uu____1435 in FStar_Util.format2 "Expected a ghost expression; got an expression \"%s\" with effect \"%s\"" - uu____1169 uu____1171 in - (FStar_Errors.Fatal_ExpectedGhostExpression, uu____1167) + uu____1431 uu____1433 + in + (FStar_Errors.Fatal_ExpectedGhostExpression, uu____1429) + let (expected_effect_1_got_effect_2 : FStar_Ident.lident -> FStar_Ident.lident -> (FStar_Errors.raw_error * Prims.string)) = - fun c1 -> - fun c2 -> - let uu____1210 = - let uu____1212 = FStar_Syntax_Print.lid_to_string c1 in - let uu____1214 = FStar_Syntax_Print.lid_to_string c2 in + fun c1 -> + fun c2 -> + let uu____1472 = + let uu____1474 = FStar_Syntax_Print.lid_to_string c1 in + let uu____1476 = FStar_Syntax_Print.lid_to_string c2 in FStar_Util.format2 "Expected a computation with effect %s; but it has effect %s" - uu____1212 uu____1214 in - (FStar_Errors.Fatal_UnexpectedEffect, uu____1210) + uu____1474 uu____1476 + in + (FStar_Errors.Fatal_UnexpectedEffect, uu____1472) + let (failed_to_prove_specification_of : FStar_Syntax_Syntax.lbname -> Prims.string Prims.list -> (FStar_Errors.raw_error * Prims.string)) = - fun l -> - fun lbls -> - let uu____1240 = - let uu____1242 = FStar_Syntax_Print.lbname_to_string l in - let uu____1244 = FStar_All.pipe_right lbls (FStar_String.concat ", ") in + fun l -> + fun lbls -> + let uu____1502 = + let uu____1504 = FStar_Syntax_Print.lbname_to_string l in + let uu____1506 = FStar_All.pipe_right lbls (FStar_String.concat ", ") + in FStar_Util.format2 "Failed to prove specification of %s; assertions at [%s] may fail" - uu____1242 uu____1244 in - (FStar_Errors.Error_TypeCheckerFailToProve, uu____1240) + uu____1504 uu____1506 + in + (FStar_Errors.Error_TypeCheckerFailToProve, uu____1502) + let (failed_to_prove_specification : Prims.string Prims.list -> (FStar_Errors.raw_error * Prims.string)) = - fun lbls -> + fun lbls -> let msg = match lbls with | [] -> "An unknown assertion in the term at this location was not provable" - | uu____1275 -> - let uu____1279 = - FStar_All.pipe_right lbls (FStar_String.concat "\n\t") in + | uu____1537 -> + let uu____1541 = + FStar_All.pipe_right lbls (FStar_String.concat "\n\t") in FStar_Util.format1 "The following problems were found:\n\t%s" - uu____1279 in + uu____1541 + in (FStar_Errors.Error_TypeCheckerFailToProve, msg) + let (top_level_effect : (FStar_Errors.raw_error * Prims.string)) = (FStar_Errors.Warning_TopLevelEffect, "Top-level let-bindings must be total; this term may have effects") + let (cardinality_constraint_violated : FStar_Ident.lid -> FStar_Syntax_Syntax.bv FStar_Syntax_Syntax.withinfo_t -> (FStar_Errors.raw_error * Prims.string)) = - fun l -> - fun a -> - let uu____1316 = - let uu____1318 = FStar_Syntax_Print.lid_to_string l in - let uu____1320 = - FStar_Syntax_Print.bv_to_string a.FStar_Syntax_Syntax.v in + fun l -> + fun a -> + let uu____1578 = + let uu____1580 = FStar_Syntax_Print.lid_to_string l in + let uu____1582 = + FStar_Syntax_Print.bv_to_string a.FStar_Syntax_Syntax.v in FStar_Util.format2 "Constructor %s violates the cardinality of Type at parameter '%s'; type arguments are not allowed" - uu____1318 uu____1320 in - (FStar_Errors.Fatal_CardinalityConstraintViolated, uu____1316) \ No newline at end of file + uu____1580 uu____1582 + in + (FStar_Errors.Fatal_CardinalityConstraintViolated, uu____1578) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_NBE.ml b/src/ocaml-output/FStar_TypeChecker_NBE.ml index 2019efa9a02..eb012f8813b 100644 --- a/src/ocaml-output/FStar_TypeChecker_NBE.ml +++ b/src/ocaml-output/FStar_TypeChecker_NBE.ml @@ -1,96 +1,111 @@ open Prims let (max : Prims.int -> Prims.int -> Prims.int) = - fun a -> fun b -> if a > b then a else b + fun a -> fun b -> if a > b then a else b let map_rev : 'a 'b . ('a -> 'b) -> 'a Prims.list -> 'b Prims.list = - fun f -> - fun l -> + fun f -> + fun l -> let rec aux l1 acc = match l1 with | [] -> acc | x::xs -> - let uu____78 = let uu____81 = f x in uu____81 :: acc in - aux xs uu____78 in + let uu____78 = let uu____81 = f x in uu____81 :: acc in + aux xs uu____78 + in aux l [] + let map_rev_append : 'a 'b . ('a -> 'b) -> 'a Prims.list -> 'b Prims.list -> 'b Prims.list = - fun f -> - fun l1 -> - fun l2 -> + fun f -> + fun l1 -> + fun l2 -> let rec aux l acc = match l with | [] -> l2 | x::xs -> - let uu____152 = let uu____155 = f x in uu____155 :: acc in - aux xs uu____152 in + let uu____152 = let uu____155 = f x in uu____155 :: acc in + aux xs uu____152 + in aux l1 l2 + let rec map_append : 'a 'b . ('a -> 'b) -> 'a Prims.list -> 'b Prims.list -> 'b Prims.list = - fun f -> - fun l1 -> - fun l2 -> + fun f -> + fun l1 -> + fun l2 -> match l1 with | [] -> l2 | x::xs -> - let uu____205 = f x in - let uu____206 = map_append f xs l2 in uu____205 :: uu____206 + let uu____205 = f x in + let uu____206 = map_append f xs l2 in uu____205 :: uu____206 + let rec drop : 'a . ('a -> Prims.bool) -> 'a Prims.list -> 'a Prims.list = - fun p -> - fun l -> + fun p -> + fun l -> match l with | [] -> [] | x::xs -> - let uu____245 = p x in if uu____245 then x :: xs else drop p xs + let uu____245 = p x in if uu____245 then x :: xs else drop p xs + let fmap_opt : 'a 'b . ('a -> 'b) -> 'a FStar_Pervasives_Native.option -> 'b FStar_Pervasives_Native.option = - fun f -> - fun x -> + fun f -> + fun x -> FStar_Util.bind_opt x - (fun x1 -> - let uu____287 = f x1 in FStar_Pervasives_Native.Some uu____287) + (fun x1 -> + let uu____287 = f x1 in FStar_Pervasives_Native.Some uu____287) + let drop_until : 'a . ('a -> Prims.bool) -> 'a Prims.list -> 'a Prims.list = - fun f -> - fun l -> + fun f -> + fun l -> let rec aux l1 = match l1 with | [] -> [] - | x::xs -> let uu____337 = f x in if uu____337 then l1 else aux xs in + | x::xs -> let uu____337 = f x in if uu____337 then l1 else aux xs + in aux l + let (trim : Prims.bool Prims.list -> Prims.bool Prims.list) = - fun l -> - let uu____362 = drop_until FStar_Pervasives.id (FStar_List.rev l) in + fun l -> + let uu____362 = drop_until FStar_Pervasives.id (FStar_List.rev l) in FStar_List.rev uu____362 + let (implies : Prims.bool -> Prims.bool -> Prims.bool) = - fun b1 -> - fun b2 -> - match (b1, b2) with | (false, uu____389) -> true | (true, b21) -> b21 + fun b1 -> + fun b2 -> + match (b1, b2) with | (false ,uu____389) -> true | (true ,b21) -> b21 + let (debug : FStar_TypeChecker_Cfg.cfg -> (unit -> unit) -> unit) = - fun cfg -> - fun f -> + fun cfg -> + fun f -> let uu____416 = - let uu____418 = FStar_TypeChecker_Cfg.cfg_env cfg in - FStar_TypeChecker_Env.debug uu____418 (FStar_Options.Other "NBE") in + let uu____418 = FStar_TypeChecker_Cfg.cfg_env cfg in + FStar_TypeChecker_Env.debug uu____418 (FStar_Options.Other "NBE") in if uu____416 then f () else () + let (debug_term : FStar_Syntax_Syntax.term -> unit) = - fun t -> - let uu____429 = FStar_Syntax_Print.term_to_string t in + fun t -> + let uu____429 = FStar_Syntax_Print.term_to_string t in FStar_Util.print1 "%s\n" uu____429 + let (debug_sigmap : FStar_Syntax_Syntax.sigelt FStar_Util.smap -> unit) = - fun m -> + fun m -> FStar_Util.smap_fold m - (fun k -> - fun v1 -> - fun u -> - let uu____450 = FStar_Syntax_Print.sigelt_to_string_short v1 in + (fun k -> + fun v1 -> + fun u -> + let uu____450 = FStar_Syntax_Print.sigelt_to_string_short v1 in FStar_Util.print2 "%s -> %%s\n" k uu____450) () + let (unlazy : FStar_TypeChecker_NBETerm.t -> FStar_TypeChecker_NBETerm.t) = - fun t -> + fun t -> match t with - | FStar_TypeChecker_NBETerm.Lazy (uu____459, t1) -> + | FStar_TypeChecker_NBETerm.Lazy (uu____459,t1) -> FStar_Common.force_thunk t1 | t1 -> t1 + let (pickBranch : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.t -> @@ -98,19 +113,19 @@ let (pickBranch : (FStar_Syntax_Syntax.term * FStar_TypeChecker_NBETerm.t Prims.list) FStar_Pervasives_Native.option) = - fun cfg -> - fun scrut -> - fun branches -> + fun cfg -> + fun scrut -> + fun branches -> let rec pickBranch_aux scrut1 branches1 branches0 = let rec matches_pat scrutinee0 p = debug cfg - (fun uu____587 -> + (fun uu____587 -> let uu____588 = - FStar_TypeChecker_NBETerm.t_to_string scrutinee0 in - let uu____590 = FStar_Syntax_Print.pat_to_string p in + FStar_TypeChecker_NBETerm.t_to_string scrutinee0 in + let uu____590 = FStar_Syntax_Print.pat_to_string p in FStar_Util.print2 "matches_pat (%s, %s)\n" uu____588 uu____590); - (let scrutinee = unlazy scrutinee0 in + (let scrutinee = unlazy scrutinee0 in let r = match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_var bv -> @@ -122,17 +137,17 @@ let (pickBranch : | FStar_Syntax_Syntax.Pat_constant s -> let matches_const c s1 = debug cfg - (fun uu____644 -> + (fun uu____644 -> let uu____645 = - FStar_TypeChecker_NBETerm.t_to_string c in + FStar_TypeChecker_NBETerm.t_to_string c in let uu____647 = - FStar_Syntax_Print.const_to_string s1 in + FStar_Syntax_Print.const_to_string s1 in FStar_Util.print2 "Testing term %s against pattern %s\n" uu____645 uu____647); (match c with | FStar_TypeChecker_NBETerm.Constant - (FStar_TypeChecker_NBETerm.Unit) -> + (FStar_TypeChecker_NBETerm.Unit ) -> s1 = FStar_Const.Const_unit | FStar_TypeChecker_NBETerm.Constant (FStar_TypeChecker_NBETerm.Bool b) -> @@ -143,16 +158,16 @@ let (pickBranch : (FStar_TypeChecker_NBETerm.Int i) -> (match s1 with | FStar_Const.Const_int - (p1, FStar_Pervasives_Native.None) -> + (p1,FStar_Pervasives_Native.None ) -> let uu____674 = - FStar_BigInt.big_int_of_string p1 in + FStar_BigInt.big_int_of_string p1 in i = uu____674 | uu____675 -> false) | FStar_TypeChecker_NBETerm.Constant - (FStar_TypeChecker_NBETerm.String (st, uu____678)) + (FStar_TypeChecker_NBETerm.String (st,uu____678)) -> (match s1 with - | FStar_Const.Const_string (p1, uu____683) -> + | FStar_Const.Const_string (p1,uu____683) -> st = p1 | uu____687 -> false) | FStar_TypeChecker_NBETerm.Constant @@ -160,260 +175,276 @@ let (pickBranch : (match s1 with | FStar_Const.Const_char p1 -> c1 = p1 | uu____695 -> false) - | uu____697 -> false) in - let uu____699 = matches_const scrutinee s in + | uu____697 -> false) + in + let uu____699 = matches_const scrutinee s in if uu____699 then FStar_Util.Inl [] else FStar_Util.Inr false - | FStar_Syntax_Syntax.Pat_cons (fv, arg_pats) -> + | FStar_Syntax_Syntax.Pat_cons (fv,arg_pats) -> let rec matches_args out a p1 = match (a, p1) with - | ([], []) -> FStar_Util.Inl out - | ((t, uu____837)::rest_a, (p2, uu____840)::rest_p) -> - let uu____879 = matches_pat t p2 in + | ([],[]) -> FStar_Util.Inl out + | ((t,uu____837)::rest_a,(p2,uu____840)::rest_p) -> + let uu____879 = matches_pat t p2 in (match uu____879 with | FStar_Util.Inl s -> matches_args (FStar_List.append out s) rest_a rest_p | m -> m) - | uu____908 -> FStar_Util.Inr false in + | uu____908 -> FStar_Util.Inr false in (match scrutinee with - | FStar_TypeChecker_NBETerm.Construct - (fv', _us, args_rev) -> - let uu____956 = FStar_Syntax_Syntax.fv_eq fv fv' in + | FStar_TypeChecker_NBETerm.Construct (fv',_us,args_rev) + -> + let uu____956 = FStar_Syntax_Syntax.fv_eq fv fv' in if uu____956 then matches_args [] (FStar_List.rev args_rev) arg_pats else FStar_Util.Inr false - | uu____976 -> FStar_Util.Inr true) in + | uu____976 -> FStar_Util.Inr true) + in let res_to_string uu___0_994 = match uu___0_994 with | FStar_Util.Inr b -> - let uu____1008 = FStar_Util.string_of_bool b in + let uu____1008 = FStar_Util.string_of_bool b in Prims.op_Hat "Inr " uu____1008 | FStar_Util.Inl bs -> let uu____1017 = - FStar_Util.string_of_int (FStar_List.length bs) in - Prims.op_Hat "Inl " uu____1017 in + FStar_Util.string_of_int (FStar_List.length bs) in + Prims.op_Hat "Inl " uu____1017 + in debug cfg - (fun uu____1025 -> + (fun uu____1025 -> let uu____1026 = - FStar_TypeChecker_NBETerm.t_to_string scrutinee in - let uu____1028 = FStar_Syntax_Print.pat_to_string p in - let uu____1030 = res_to_string r in + FStar_TypeChecker_NBETerm.t_to_string scrutinee in + let uu____1028 = FStar_Syntax_Print.pat_to_string p in + let uu____1030 = res_to_string r in FStar_Util.print3 "matches_pat (%s, %s) = %s\n" uu____1026 uu____1028 uu____1030); - r) in + r) + in match branches1 with | [] -> failwith "Branch not found" - | (p, _wopt, e)::branches2 -> - let uu____1072 = matches_pat scrut1 p in + | (p,_wopt,e)::branches2 -> + let uu____1072 = matches_pat scrut1 p in (match uu____1072 with | FStar_Util.Inl matches -> (debug cfg - (fun uu____1097 -> - let uu____1098 = FStar_Syntax_Print.pat_to_string p in + (fun uu____1097 -> + let uu____1098 = FStar_Syntax_Print.pat_to_string p + in FStar_Util.print1 "Pattern %s matches\n" uu____1098); FStar_Pervasives_Native.Some (e, matches)) - | FStar_Util.Inr (false) -> + | FStar_Util.Inr (false ) -> pickBranch_aux scrut1 branches2 branches0 - | FStar_Util.Inr (true) -> FStar_Pervasives_Native.None) in + | FStar_Util.Inr (true ) -> FStar_Pervasives_Native.None) + in pickBranch_aux scrut branches branches + let (test_args : (FStar_TypeChecker_NBETerm.t * FStar_Syntax_Syntax.aqual) Prims.list -> Prims.bool Prims.list -> (Prims.bool * FStar_TypeChecker_NBETerm.args * FStar_TypeChecker_NBETerm.args)) = - fun ts -> - fun ar_list -> + fun ts -> + fun ar_list -> let rec aux ts1 ar_list1 acc res = match (ts1, ar_list1) with - | (uu____1266, []) -> (true, (FStar_List.rev acc), ts1) - | ([], uu____1301::uu____1302) -> (false, (FStar_List.rev acc), []) - | (t::ts2, b::bs) -> + | (uu____1266,[]) -> (true, (FStar_List.rev acc), ts1) + | ([],uu____1301::uu____1302) -> (false, (FStar_List.rev acc), []) + | (t::ts2,b::bs) -> let uu____1375 = res && (let uu____1378 = let uu____1380 = FStar_TypeChecker_NBETerm.isAccu - (FStar_Pervasives_Native.fst t) in - Prims.op_Negation uu____1380 in - implies b uu____1378) in - aux ts2 bs (t :: acc) uu____1375 in + (FStar_Pervasives_Native.fst t) + in + Prims.op_Negation uu____1380 in + implies b uu____1378) + in + aux ts2 bs (t :: acc) uu____1375 + in aux ts ar_list [] true + let (find_sigelt_in_gamma : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_Env.env -> FStar_Ident.lident -> FStar_Syntax_Syntax.sigelt FStar_Pervasives_Native.option) = - fun cfg -> - fun env -> - fun lid -> + fun cfg -> + fun env -> + fun lid -> let mapper uu____1436 = match uu____1436 with - | (lr, rng) -> + | (lr,rng) -> (match lr with - | FStar_Util.Inr (elt, FStar_Pervasives_Native.None) -> + | FStar_Util.Inr (elt,FStar_Pervasives_Native.None ) -> FStar_Pervasives_Native.Some elt - | FStar_Util.Inr (elt, FStar_Pervasives_Native.Some us) -> + | FStar_Util.Inr (elt,FStar_Pervasives_Native.Some us) -> (debug cfg - (fun uu____1519 -> + (fun uu____1519 -> let uu____1520 = - FStar_Syntax_Print.univs_to_string us in + FStar_Syntax_Print.univs_to_string us in FStar_Util.print1 "Universes in local declaration: %s\n" uu____1520); FStar_Pervasives_Native.Some elt) - | uu____1523 -> FStar_Pervasives_Native.None) in - let uu____1538 = FStar_TypeChecker_Env.lookup_qname env lid in + | uu____1523 -> FStar_Pervasives_Native.None) + in + let uu____1538 = FStar_TypeChecker_Env.lookup_qname env lid in FStar_Util.bind_opt uu____1538 mapper + let (is_univ : FStar_TypeChecker_NBETerm.t -> Prims.bool) = - fun tm -> + fun tm -> match tm with | FStar_TypeChecker_NBETerm.Univ uu____1585 -> true | uu____1587 -> false + let (un_univ : FStar_TypeChecker_NBETerm.t -> FStar_Syntax_Syntax.universe) = - fun tm -> + fun tm -> match tm with | FStar_TypeChecker_NBETerm.Univ u -> u | t -> let uu____1597 = - let uu____1599 = FStar_TypeChecker_NBETerm.t_to_string t in - Prims.op_Hat "Not a universe: " uu____1599 in + let uu____1599 = FStar_TypeChecker_NBETerm.t_to_string t in + Prims.op_Hat "Not a universe: " uu____1599 in failwith uu____1597 + let (is_constr_fv : FStar_Syntax_Syntax.fv -> Prims.bool) = - fun fvar1 -> + fun fvar1 -> fvar1.FStar_Syntax_Syntax.fv_qual = (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + let (is_constr : FStar_TypeChecker_Env.qninfo -> Prims.bool) = - fun q -> + fun q -> match q with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon - (uu____1621, uu____1622, uu____1623, uu____1624, uu____1625, - uu____1626); + (uu____1621,uu____1622,uu____1623,uu____1624,uu____1625,uu____1626); FStar_Syntax_Syntax.sigrng = uu____1627; FStar_Syntax_Syntax.sigquals = uu____1628; FStar_Syntax_Syntax.sigmeta = uu____1629; - FStar_Syntax_Syntax.sigattrs = uu____1630;_}, - uu____1631), - uu____1632) + FStar_Syntax_Syntax.sigattrs = uu____1630;_},uu____1631),uu____1632) -> true | uu____1690 -> false + let (translate_univ : FStar_TypeChecker_NBETerm.t Prims.list -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe) = - fun bs -> - fun u -> + fun bs -> + fun u -> let rec aux u1 = - let u2 = FStar_Syntax_Subst.compress_univ u1 in + let u2 = FStar_Syntax_Subst.compress_univ u1 in match u2 with | FStar_Syntax_Syntax.U_bvar i -> if i < (FStar_List.length bs) - then let u' = FStar_List.nth bs i in un_univ u' + then let u' = FStar_List.nth bs i in un_univ u' else failwith "Universe index out of bounds" | FStar_Syntax_Syntax.U_succ u3 -> - let uu____1722 = aux u3 in FStar_Syntax_Syntax.U_succ uu____1722 + let uu____1722 = aux u3 in FStar_Syntax_Syntax.U_succ uu____1722 | FStar_Syntax_Syntax.U_max us -> - let uu____1726 = FStar_List.map aux us in + let uu____1726 = FStar_List.map aux us in FStar_Syntax_Syntax.U_max uu____1726 - | FStar_Syntax_Syntax.U_unknown -> u2 + | FStar_Syntax_Syntax.U_unknown -> u2 | FStar_Syntax_Syntax.U_name uu____1729 -> u2 | FStar_Syntax_Syntax.U_unif uu____1730 -> u2 - | FStar_Syntax_Syntax.U_zero -> u2 in + | FStar_Syntax_Syntax.U_zero -> u2 in aux u + let (find_let : FStar_Syntax_Syntax.letbinding Prims.list -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.letbinding FStar_Pervasives_Native.option) = - fun lbs -> - fun fvar1 -> + fun lbs -> + fun fvar1 -> FStar_Util.find_map lbs - (fun lb -> + (fun lb -> match lb.FStar_Syntax_Syntax.lbname with | FStar_Util.Inl uu____1761 -> failwith "find_let : impossible" | FStar_Util.Inr name -> - let uu____1766 = FStar_Syntax_Syntax.fv_eq name fvar1 in + let uu____1766 = FStar_Syntax_Syntax.fv_eq name fvar1 in if uu____1766 then FStar_Pervasives_Native.Some lb else FStar_Pervasives_Native.None) + let rec (iapp : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.t -> FStar_TypeChecker_NBETerm.args -> FStar_TypeChecker_NBETerm.t) = - fun cfg -> - fun f -> - fun args -> + fun cfg -> + fun f -> + fun args -> match f with - | FStar_TypeChecker_NBETerm.Lam (f1, targs, n1, res) -> - let m = FStar_List.length args in + | FStar_TypeChecker_NBETerm.Lam (f1,targs,n1,res) -> + let m = FStar_List.length args in if m < n1 then - let uu____2113 = FStar_List.splitAt m targs in + let uu____2113 = FStar_List.splitAt m targs in (match uu____2113 with - | (uu____2149, targs') -> + | (uu____2149,targs') -> let targs'1 = FStar_List.map - (fun targ -> - fun l -> + (fun targ -> + fun l -> let uu____2240 = let uu____2243 = - map_append FStar_Pervasives_Native.fst args l in - FStar_List.rev uu____2243 in - targ uu____2240) targs' in + map_append FStar_Pervasives_Native.fst args l + in + FStar_List.rev uu____2243 in + targ uu____2240) targs' + in FStar_TypeChecker_NBETerm.Lam - (((fun l -> + (((fun l -> let uu____2277 = - map_append FStar_Pervasives_Native.fst args l in + map_append FStar_Pervasives_Native.fst args l in f1 uu____2277)), targs'1, (n1 - m), res)) else if m = n1 then (let uu____2288 = - FStar_List.map FStar_Pervasives_Native.fst args in + FStar_List.map FStar_Pervasives_Native.fst args in f1 uu____2288) else - (let uu____2297 = FStar_List.splitAt n1 args in + (let uu____2297 = FStar_List.splitAt n1 args in match uu____2297 with - | (args1, args') -> + | (args1,args') -> let uu____2344 = let uu____2345 = - FStar_List.map FStar_Pervasives_Native.fst args1 in - f1 uu____2345 in + FStar_List.map FStar_Pervasives_Native.fst args1 in + f1 uu____2345 in iapp cfg uu____2344 args') - | FStar_TypeChecker_NBETerm.Accu (a, ts) -> + | FStar_TypeChecker_NBETerm.Accu (a,ts) -> FStar_TypeChecker_NBETerm.Accu (a, (FStar_List.rev_append args ts)) - | FStar_TypeChecker_NBETerm.Construct (i, us, ts) -> + | FStar_TypeChecker_NBETerm.Construct (i,us,ts) -> let rec aux args1 us1 ts1 = match args1 with - | (FStar_TypeChecker_NBETerm.Univ u, uu____2464)::args2 -> + | (FStar_TypeChecker_NBETerm.Univ u,uu____2464)::args2 -> aux args2 (u :: us1) ts1 | a::args2 -> aux args2 us1 (a :: ts1) - | [] -> (us1, ts1) in - let uu____2508 = aux args us ts in + | [] -> (us1, ts1) in + let uu____2508 = aux args us ts in (match uu____2508 with - | (us', ts') -> - FStar_TypeChecker_NBETerm.Construct (i, us', ts')) - | FStar_TypeChecker_NBETerm.FV (i, us, ts) -> + | (us',ts') -> FStar_TypeChecker_NBETerm.Construct (i, us', ts')) + | FStar_TypeChecker_NBETerm.FV (i,us,ts) -> let rec aux args1 us1 ts1 = match args1 with - | (FStar_TypeChecker_NBETerm.Univ u, uu____2635)::args2 -> + | (FStar_TypeChecker_NBETerm.Univ u,uu____2635)::args2 -> aux args2 (u :: us1) ts1 | a::args2 -> aux args2 us1 (a :: ts1) - | [] -> (us1, ts1) in - let uu____2679 = aux args us ts in + | [] -> (us1, ts1) in + let uu____2679 = aux args us ts in (match uu____2679 with - | (us', ts') -> FStar_TypeChecker_NBETerm.FV (i, us', ts')) - | FStar_TypeChecker_NBETerm.Rec (lb, lbs, bs, acc, ar, ar_lst, tr_lb) - -> - let no_args = FStar_List.length args in + | (us',ts') -> FStar_TypeChecker_NBETerm.FV (i, us', ts')) + | FStar_TypeChecker_NBETerm.Rec (lb,lbs,bs,acc,ar,ar_lst,tr_lb) -> + let no_args = FStar_List.length args in if ar > no_args then FStar_TypeChecker_NBETerm.Rec @@ -426,19 +457,20 @@ let rec (iapp : (lb, lbs, bs, (FStar_List.append acc args), ar, ar_lst, tr_lb) else - (let full_args = FStar_List.append acc args in - let uu____2845 = test_args full_args ar_lst in + (let full_args = FStar_List.append acc args in + let uu____2845 = test_args full_args ar_lst in match uu____2845 with - | (can_unfold, args1, res) -> + | (can_unfold,args1,res) -> if Prims.op_Negation (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.zeta then (debug cfg - (fun uu____2862 -> + (fun uu____2862 -> let uu____2863 = FStar_Syntax_Print.lbname_to_string - lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbname + in FStar_Util.print1 "Zeta is not set; will not unfold %s\n" uu____2863); @@ -449,25 +481,28 @@ let rec (iapp : if can_unfold then (debug cfg - (fun uu____2895 -> + (fun uu____2895 -> let uu____2896 = FStar_Syntax_Print.lbname_to_string - lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbname + in FStar_Util.print1 "Beta reducing recursive function %s\n" uu____2896); (match res with | [] -> let uu____2903 = - let uu____2904 = make_rec_env tr_lb lbs bs in - tr_lb uu____2904 lb in + let uu____2904 = make_rec_env tr_lb lbs bs + in + tr_lb uu____2904 lb in iapp cfg uu____2903 args1 | uu____2907::uu____2908 -> let t = let uu____2924 = - let uu____2925 = make_rec_env tr_lb lbs bs in - tr_lb uu____2925 lb in - iapp cfg uu____2924 args1 in + let uu____2925 = make_rec_env tr_lb lbs bs + in + tr_lb uu____2925 lb in + iapp cfg uu____2924 args1 in iapp cfg t res)) else FStar_TypeChecker_NBETerm.Rec @@ -475,301 +510,329 @@ let rec (iapp : ar_lst, tr_lb)) | FStar_TypeChecker_NBETerm.Quote uu____2953 -> let uu____2958 = - let uu____2960 = FStar_TypeChecker_NBETerm.t_to_string f in - Prims.op_Hat "NBE ill-typed application: " uu____2960 in + let uu____2960 = FStar_TypeChecker_NBETerm.t_to_string f in + Prims.op_Hat "NBE ill-typed application: " uu____2960 in failwith uu____2958 | FStar_TypeChecker_NBETerm.Reflect uu____2963 -> let uu____2964 = - let uu____2966 = FStar_TypeChecker_NBETerm.t_to_string f in - Prims.op_Hat "NBE ill-typed application: " uu____2966 in + let uu____2966 = FStar_TypeChecker_NBETerm.t_to_string f in + Prims.op_Hat "NBE ill-typed application: " uu____2966 in failwith uu____2964 | FStar_TypeChecker_NBETerm.Lazy uu____2969 -> let uu____2984 = - let uu____2986 = FStar_TypeChecker_NBETerm.t_to_string f in - Prims.op_Hat "NBE ill-typed application: " uu____2986 in + let uu____2986 = FStar_TypeChecker_NBETerm.t_to_string f in + Prims.op_Hat "NBE ill-typed application: " uu____2986 in failwith uu____2984 | FStar_TypeChecker_NBETerm.Constant uu____2989 -> let uu____2990 = - let uu____2992 = FStar_TypeChecker_NBETerm.t_to_string f in - Prims.op_Hat "NBE ill-typed application: " uu____2992 in + let uu____2992 = FStar_TypeChecker_NBETerm.t_to_string f in + Prims.op_Hat "NBE ill-typed application: " uu____2992 in failwith uu____2990 | FStar_TypeChecker_NBETerm.Univ uu____2995 -> let uu____2996 = - let uu____2998 = FStar_TypeChecker_NBETerm.t_to_string f in - Prims.op_Hat "NBE ill-typed application: " uu____2998 in + let uu____2998 = FStar_TypeChecker_NBETerm.t_to_string f in + Prims.op_Hat "NBE ill-typed application: " uu____2998 in failwith uu____2996 | FStar_TypeChecker_NBETerm.Type_t uu____3001 -> let uu____3002 = - let uu____3004 = FStar_TypeChecker_NBETerm.t_to_string f in - Prims.op_Hat "NBE ill-typed application: " uu____3004 in + let uu____3004 = FStar_TypeChecker_NBETerm.t_to_string f in + Prims.op_Hat "NBE ill-typed application: " uu____3004 in failwith uu____3002 - | FStar_TypeChecker_NBETerm.Unknown -> + | FStar_TypeChecker_NBETerm.Unknown -> let uu____3007 = - let uu____3009 = FStar_TypeChecker_NBETerm.t_to_string f in - Prims.op_Hat "NBE ill-typed application: " uu____3009 in + let uu____3009 = FStar_TypeChecker_NBETerm.t_to_string f in + Prims.op_Hat "NBE ill-typed application: " uu____3009 in failwith uu____3007 | FStar_TypeChecker_NBETerm.Refinement uu____3012 -> let uu____3027 = - let uu____3029 = FStar_TypeChecker_NBETerm.t_to_string f in - Prims.op_Hat "NBE ill-typed application: " uu____3029 in + let uu____3029 = FStar_TypeChecker_NBETerm.t_to_string f in + Prims.op_Hat "NBE ill-typed application: " uu____3029 in failwith uu____3027 | FStar_TypeChecker_NBETerm.Arrow uu____3032 -> let uu____3053 = - let uu____3055 = FStar_TypeChecker_NBETerm.t_to_string f in - Prims.op_Hat "NBE ill-typed application: " uu____3055 in + let uu____3055 = FStar_TypeChecker_NBETerm.t_to_string f in + Prims.op_Hat "NBE ill-typed application: " uu____3055 in failwith uu____3053 + and (translate_fv : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.t Prims.list -> FStar_Syntax_Syntax.fv -> FStar_TypeChecker_NBETerm.t) = - fun cfg -> - fun bs -> - fun fvar1 -> - let debug1 = debug cfg in + fun cfg -> + fun bs -> + fun fvar1 -> + let debug1 = debug cfg in let qninfo = - let uu____3072 = FStar_TypeChecker_Cfg.cfg_env cfg in - let uu____3073 = FStar_Syntax_Syntax.lid_of_fv fvar1 in - FStar_TypeChecker_Env.lookup_qname uu____3072 uu____3073 in - let uu____3074 = (is_constr qninfo) || (is_constr_fv fvar1) in + let uu____3072 = FStar_TypeChecker_Cfg.cfg_env cfg in + let uu____3073 = FStar_Syntax_Syntax.lid_of_fv fvar1 in + FStar_TypeChecker_Env.lookup_qname uu____3072 uu____3073 in + let uu____3074 = (is_constr qninfo) || (is_constr_fv fvar1) in if uu____3074 then FStar_TypeChecker_NBETerm.mkConstruct fvar1 [] [] else (let uu____3083 = FStar_TypeChecker_Normalize.should_unfold cfg - (fun uu____3085 -> cfg.FStar_TypeChecker_Cfg.reifying) fvar1 - qninfo in + (fun uu____3085 -> cfg.FStar_TypeChecker_Cfg.reifying) fvar1 + qninfo + in match uu____3083 with - | FStar_TypeChecker_Normalize.Should_unfold_fully -> + | FStar_TypeChecker_Normalize.Should_unfold_fully -> failwith "Not yet handled" - | FStar_TypeChecker_Normalize.Should_unfold_no -> + | FStar_TypeChecker_Normalize.Should_unfold_no -> (debug1 - (fun uu____3092 -> - let uu____3093 = FStar_Syntax_Print.fv_to_string fvar1 in + (fun uu____3092 -> + let uu____3093 = FStar_Syntax_Print.fv_to_string fvar1 + in FStar_Util.print1 "(1) Decided to not unfold %s\n" uu____3093); (let uu____3096 = - FStar_TypeChecker_Cfg.find_prim_step cfg fvar1 in + FStar_TypeChecker_Cfg.find_prim_step cfg fvar1 in match uu____3096 with | FStar_Pervasives_Native.Some prim_step when prim_step.FStar_TypeChecker_Cfg.strong_reduction_ok -> let arity = prim_step.FStar_TypeChecker_Cfg.arity + - prim_step.FStar_TypeChecker_Cfg.univ_arity in + prim_step.FStar_TypeChecker_Cfg.univ_arity + in (debug1 - (fun uu____3107 -> + (fun uu____3107 -> let uu____3108 = - FStar_Syntax_Print.fv_to_string fvar1 in + FStar_Syntax_Print.fv_to_string fvar1 in FStar_Util.print1 "Found a primop %s\n" uu____3108); (let uu____3111 = let uu____3142 = let f uu____3170 uu____3171 = ((FStar_TypeChecker_NBETerm.Constant FStar_TypeChecker_NBETerm.Unit), - FStar_Pervasives_Native.None) in - FStar_Common.tabulate arity f in - ((fun args -> + FStar_Pervasives_Native.None) + in + FStar_Common.tabulate arity f in + ((fun args -> let args' = FStar_List.map - FStar_TypeChecker_NBETerm.as_arg args in + FStar_TypeChecker_NBETerm.as_arg args + in let callbacks = { FStar_TypeChecker_NBETerm.iapp = (iapp cfg); FStar_TypeChecker_NBETerm.translate = (translate cfg bs) - } in + } in let uu____3231 = prim_step.FStar_TypeChecker_Cfg.interpretation_nbe - callbacks args' in + callbacks args' + in match uu____3231 with | FStar_Pervasives_Native.Some x -> (debug1 - (fun uu____3242 -> + (fun uu____3242 -> let uu____3243 = FStar_Syntax_Print.fv_to_string - fvar1 in + fvar1 + in let uu____3245 = FStar_TypeChecker_NBETerm.t_to_string - x in + x + in FStar_Util.print2 "Primitive operator %s returned %s\n" uu____3243 uu____3245); x) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (debug1 - (fun uu____3253 -> + (fun uu____3253 -> let uu____3254 = FStar_Syntax_Print.fv_to_string - fvar1 in + fvar1 + in FStar_Util.print1 "Primitive operator %s failed\n" uu____3254); (let uu____3257 = FStar_TypeChecker_NBETerm.mkFV fvar1 [] - [] in + [] + in iapp cfg uu____3257 args'))), uu____3142, - arity, FStar_Pervasives_Native.None) in + arity, FStar_Pervasives_Native.None) + in FStar_TypeChecker_NBETerm.Lam uu____3111)) | FStar_Pervasives_Native.Some uu____3265 -> (debug1 - (fun uu____3271 -> + (fun uu____3271 -> let uu____3272 = - FStar_Syntax_Print.fv_to_string fvar1 in + FStar_Syntax_Print.fv_to_string fvar1 in FStar_Util.print1 "(2) Decided to not unfold %s\n" uu____3272); FStar_TypeChecker_NBETerm.mkFV fvar1 [] []) | uu____3279 -> (debug1 - (fun uu____3287 -> + (fun uu____3287 -> let uu____3288 = - FStar_Syntax_Print.fv_to_string fvar1 in + FStar_Syntax_Print.fv_to_string fvar1 in FStar_Util.print1 "(3) Decided to not unfold %s\n" uu____3288); FStar_TypeChecker_NBETerm.mkFV fvar1 [] []))) - | FStar_TypeChecker_Normalize.Should_unfold_reify -> + | FStar_TypeChecker_Normalize.Should_unfold_reify -> (match qninfo with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = - FStar_Syntax_Syntax.Sig_let ((is_rec, lbs), names1); + FStar_Syntax_Syntax.Sig_let ((is_rec,lbs),names1); FStar_Syntax_Syntax.sigrng = uu____3298; FStar_Syntax_Syntax.sigquals = uu____3299; FStar_Syntax_Syntax.sigmeta = uu____3300; - FStar_Syntax_Syntax.sigattrs = uu____3301;_}, - _us_opt), - _rng) + FStar_Syntax_Syntax.sigattrs = uu____3301;_},_us_opt),_rng) -> - let lbm = find_let lbs fvar1 in + let lbm = find_let lbs fvar1 in (match lbm with | FStar_Pervasives_Native.Some lb -> if is_rec then mkRec cfg lb [] [] else (debug1 - (fun uu____3374 -> + (fun uu____3374 -> FStar_Util.print "Translate fv: it's a Sig_let\n" []); debug1 - (fun uu____3384 -> + (fun uu____3384 -> let uu____3385 = let uu____3387 = FStar_Syntax_Subst.compress - lb.FStar_Syntax_Syntax.lbtyp in - FStar_Syntax_Print.tag_of_term uu____3387 in + lb.FStar_Syntax_Syntax.lbtyp + in + FStar_Syntax_Print.tag_of_term uu____3387 + in let uu____3388 = let uu____3390 = FStar_Syntax_Subst.compress - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in FStar_Syntax_Print.term_to_string - uu____3390 in + uu____3390 + in FStar_Util.print2 "Type of lbdef: %s - %s\n" uu____3385 uu____3388); debug1 - (fun uu____3399 -> + (fun uu____3399 -> let uu____3400 = let uu____3402 = FStar_Syntax_Subst.compress - lb.FStar_Syntax_Syntax.lbdef in - FStar_Syntax_Print.tag_of_term uu____3402 in + lb.FStar_Syntax_Syntax.lbdef + in + FStar_Syntax_Print.tag_of_term uu____3402 + in let uu____3403 = let uu____3405 = FStar_Syntax_Subst.compress - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in FStar_Syntax_Print.term_to_string - uu____3405 in + uu____3405 + in FStar_Util.print2 "Body of lbdef: %s - %s\n" uu____3400 uu____3403); translate_letbinding cfg bs lb) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> failwith "Could not find let binding") | uu____3408 -> FStar_TypeChecker_NBETerm.mkFV fvar1 [] []) - | FStar_TypeChecker_Normalize.Should_unfold_yes -> + | FStar_TypeChecker_Normalize.Should_unfold_yes -> (match qninfo with | FStar_Pervasives_Native.Some (FStar_Util.Inr ({ FStar_Syntax_Syntax.sigel = - FStar_Syntax_Syntax.Sig_let ((is_rec, lbs), names1); + FStar_Syntax_Syntax.Sig_let ((is_rec,lbs),names1); FStar_Syntax_Syntax.sigrng = uu____3416; FStar_Syntax_Syntax.sigquals = uu____3417; FStar_Syntax_Syntax.sigmeta = uu____3418; - FStar_Syntax_Syntax.sigattrs = uu____3419;_}, - _us_opt), - _rng) + FStar_Syntax_Syntax.sigattrs = uu____3419;_},_us_opt),_rng) -> - let lbm = find_let lbs fvar1 in + let lbm = find_let lbs fvar1 in (match lbm with | FStar_Pervasives_Native.Some lb -> if is_rec then mkRec cfg lb [] [] else (debug1 - (fun uu____3492 -> + (fun uu____3492 -> FStar_Util.print "Translate fv: it's a Sig_let\n" []); debug1 - (fun uu____3502 -> + (fun uu____3502 -> let uu____3503 = let uu____3505 = FStar_Syntax_Subst.compress - lb.FStar_Syntax_Syntax.lbtyp in - FStar_Syntax_Print.tag_of_term uu____3505 in + lb.FStar_Syntax_Syntax.lbtyp + in + FStar_Syntax_Print.tag_of_term uu____3505 + in let uu____3506 = let uu____3508 = FStar_Syntax_Subst.compress - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in FStar_Syntax_Print.term_to_string - uu____3508 in + uu____3508 + in FStar_Util.print2 "Type of lbdef: %s - %s\n" uu____3503 uu____3506); debug1 - (fun uu____3517 -> + (fun uu____3517 -> let uu____3518 = let uu____3520 = FStar_Syntax_Subst.compress - lb.FStar_Syntax_Syntax.lbdef in - FStar_Syntax_Print.tag_of_term uu____3520 in + lb.FStar_Syntax_Syntax.lbdef + in + FStar_Syntax_Print.tag_of_term uu____3520 + in let uu____3521 = let uu____3523 = FStar_Syntax_Subst.compress - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in FStar_Syntax_Print.term_to_string - uu____3523 in + uu____3523 + in FStar_Util.print2 "Body of lbdef: %s - %s\n" uu____3518 uu____3521); translate_letbinding cfg bs lb) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> failwith "Could not find let binding") | uu____3526 -> FStar_TypeChecker_NBETerm.mkFV fvar1 [] [])) + and (translate_letbinding : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.t Prims.list -> FStar_Syntax_Syntax.letbinding -> FStar_TypeChecker_NBETerm.t) = - fun cfg -> - fun bs -> - fun lb -> - let debug1 = debug cfg in - let us = lb.FStar_Syntax_Syntax.lbunivs in - let id1 x = x in + fun cfg -> + fun bs -> + fun lb -> + let debug1 = debug cfg in + let us = lb.FStar_Syntax_Syntax.lbunivs in + let id1 x = x in match us with | [] -> translate cfg bs lb.FStar_Syntax_Syntax.lbdef | uu____3571 -> let uu____3574 = let uu____3605 = FStar_List.map - (fun uu____3630 -> - fun _ts -> + (fun uu____3630 -> + fun _ts -> FStar_All.pipe_left id1 ((FStar_TypeChecker_NBETerm.Constant FStar_TypeChecker_NBETerm.Unit), - FStar_Pervasives_Native.None)) us in - ((fun us1 -> + FStar_Pervasives_Native.None)) us + in + ((fun us1 -> translate cfg (FStar_List.rev_append us1 bs) lb.FStar_Syntax_Syntax.lbdef), uu____3605, - (FStar_List.length us), FStar_Pervasives_Native.None) in + (FStar_List.length us), FStar_Pervasives_Native.None) + in FStar_TypeChecker_NBETerm.Lam uu____3574 + and (mkRec' : (FStar_TypeChecker_NBETerm.t Prims.list -> FStar_Syntax_Syntax.letbinding -> FStar_TypeChecker_NBETerm.t) @@ -778,33 +841,37 @@ and (mkRec' : FStar_Syntax_Syntax.letbinding Prims.list -> FStar_TypeChecker_NBETerm.t Prims.list -> FStar_TypeChecker_NBETerm.t) = - fun callback -> - fun b -> - fun bs -> - fun env -> - let uu____3691 = FStar_Syntax_Util.let_rec_arity b in + fun callback -> + fun b -> + fun bs -> + fun env -> + let uu____3691 = FStar_Syntax_Util.let_rec_arity b in match uu____3691 with - | (ar, maybe_lst) -> + | (ar,maybe_lst) -> let uu____3716 = match maybe_lst with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____3736 = - FStar_Common.tabulate ar (fun uu____3742 -> true) in + FStar_Common.tabulate ar (fun uu____3742 -> true) in (ar, uu____3736) | FStar_Pervasives_Native.Some lst -> - let l = trim lst in ((FStar_List.length l), l) in + let l = trim lst in ((FStar_List.length l), l) + in (match uu____3716 with - | (ar1, ar_lst) -> + | (ar1,ar_lst) -> FStar_TypeChecker_NBETerm.Rec (b, bs, env, [], ar1, ar_lst, callback)) + and (mkRec : FStar_TypeChecker_Cfg.cfg -> FStar_Syntax_Syntax.letbinding -> FStar_Syntax_Syntax.letbinding Prims.list -> FStar_TypeChecker_NBETerm.t Prims.list -> FStar_TypeChecker_NBETerm.t) = - fun cfg -> - fun b -> fun bs -> fun env -> mkRec' (translate_letbinding cfg) b bs env + fun cfg -> + fun b -> + fun bs -> fun env -> mkRec' (translate_letbinding cfg) b bs env + and (make_rec_env : (FStar_TypeChecker_NBETerm.t Prims.list -> FStar_Syntax_Syntax.letbinding -> FStar_TypeChecker_NBETerm.t) @@ -813,200 +880,217 @@ and (make_rec_env : FStar_TypeChecker_NBETerm.t Prims.list -> FStar_TypeChecker_NBETerm.t Prims.list) = - fun callback -> - fun lbs -> - fun bs -> + fun callback -> + fun lbs -> + fun bs -> let rec aux lbs1 lbs0 bs1 bs0 = match lbs1 with | [] -> bs1 | lb::lbs' -> let uu____3869 = - let uu____3872 = mkRec' callback lb lbs0 bs0 in uu____3872 :: - bs1 in - aux lbs' lbs0 uu____3869 bs0 in + let uu____3872 = mkRec' callback lb lbs0 bs0 in uu____3872 + :: bs1 + in + aux lbs' lbs0 uu____3869 bs0 + in aux lbs lbs bs bs + and (translate_constant : FStar_Syntax_Syntax.sconst -> FStar_TypeChecker_NBETerm.constant) = - fun c -> + fun c -> match c with - | FStar_Const.Const_unit -> FStar_TypeChecker_NBETerm.Unit + | FStar_Const.Const_unit -> FStar_TypeChecker_NBETerm.Unit | FStar_Const.Const_bool b -> FStar_TypeChecker_NBETerm.Bool b - | FStar_Const.Const_int (s, FStar_Pervasives_Native.None) -> - let uu____3889 = FStar_BigInt.big_int_of_string s in + | FStar_Const.Const_int (s,FStar_Pervasives_Native.None ) -> + let uu____3889 = FStar_BigInt.big_int_of_string s in FStar_TypeChecker_NBETerm.Int uu____3889 - | FStar_Const.Const_string (s, r) -> + | FStar_Const.Const_string (s,r) -> FStar_TypeChecker_NBETerm.String (s, r) | FStar_Const.Const_char c1 -> FStar_TypeChecker_NBETerm.Char c1 | FStar_Const.Const_range r -> FStar_TypeChecker_NBETerm.Range r | uu____3898 -> let uu____3899 = let uu____3901 = - let uu____3903 = FStar_Syntax_Print.const_to_string c in - Prims.op_Hat uu____3903 ": Not yet implemented" in - Prims.op_Hat "Tm_constant " uu____3901 in + let uu____3903 = FStar_Syntax_Print.const_to_string c in + Prims.op_Hat uu____3903 ": Not yet implemented" in + Prims.op_Hat "Tm_constant " uu____3901 in failwith uu____3899 + and (translate : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.t Prims.list -> FStar_Syntax_Syntax.term -> FStar_TypeChecker_NBETerm.t) = - fun cfg -> - fun bs -> - fun e -> - let debug1 = debug cfg in + fun cfg -> + fun bs -> + fun e -> + let debug1 = debug cfg in debug1 - (fun uu____3927 -> + (fun uu____3927 -> let uu____3928 = - let uu____3930 = FStar_Syntax_Subst.compress e in - FStar_Syntax_Print.tag_of_term uu____3930 in + let uu____3930 = FStar_Syntax_Subst.compress e in + FStar_Syntax_Print.tag_of_term uu____3930 in let uu____3931 = - let uu____3933 = FStar_Syntax_Subst.compress e in - FStar_Syntax_Print.term_to_string uu____3933 in + let uu____3933 = FStar_Syntax_Subst.compress e in + FStar_Syntax_Print.term_to_string uu____3933 in FStar_Util.print2 "Term: %s - %s\n" uu____3928 uu____3931); debug1 - (fun uu____3940 -> + (fun uu____3940 -> let uu____3941 = let uu____3943 = FStar_List.map - (fun x -> FStar_TypeChecker_NBETerm.t_to_string x) bs in - FStar_String.concat ";; " uu____3943 in + (fun x -> FStar_TypeChecker_NBETerm.t_to_string x) bs + in + FStar_String.concat ";; " uu____3943 in FStar_Util.print1 "BS list: %s\n" uu____3941); (let uu____3952 = - let uu____3953 = FStar_Syntax_Subst.compress e in - uu____3953.FStar_Syntax_Syntax.n in + let uu____3953 = FStar_Syntax_Subst.compress e in + uu____3953.FStar_Syntax_Syntax.n in match uu____3952 with - | FStar_Syntax_Syntax.Tm_delayed (uu____3956, uu____3957) -> + | FStar_Syntax_Syntax.Tm_delayed (uu____3956,uu____3957) -> failwith "Tm_delayed: Impossible" - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> FStar_TypeChecker_NBETerm.Unknown | FStar_Syntax_Syntax.Tm_constant c -> - let uu____3996 = translate_constant c in + let uu____3996 = translate_constant c in FStar_TypeChecker_NBETerm.Constant uu____3996 | FStar_Syntax_Syntax.Tm_bvar db -> if db.FStar_Syntax_Syntax.index < (FStar_List.length bs) then FStar_List.nth bs db.FStar_Syntax_Syntax.index else failwith "de Bruijn index out of bounds" - | FStar_Syntax_Syntax.Tm_uinst (t, us) -> + | FStar_Syntax_Syntax.Tm_uinst (t,us) -> (debug1 - (fun uu____4015 -> - let uu____4016 = FStar_Syntax_Print.term_to_string t in + (fun uu____4015 -> + let uu____4016 = FStar_Syntax_Print.term_to_string t in let uu____4018 = let uu____4020 = - FStar_List.map FStar_Syntax_Print.univ_to_string us in + FStar_List.map FStar_Syntax_Print.univ_to_string us + in FStar_All.pipe_right uu____4020 - (FStar_String.concat ", ") in + (FStar_String.concat ", ") + in FStar_Util.print2 "Uinst term : %s\nUnivs : %s\n" uu____4016 uu____4018); - (let uu____4031 = translate cfg bs t in + (let uu____4031 = translate cfg bs t in let uu____4032 = FStar_List.map - (fun x -> + (fun x -> let uu____4036 = - let uu____4037 = translate_univ bs x in - FStar_TypeChecker_NBETerm.Univ uu____4037 in - FStar_TypeChecker_NBETerm.as_arg uu____4036) us in + let uu____4037 = translate_univ bs x in + FStar_TypeChecker_NBETerm.Univ uu____4037 in + FStar_TypeChecker_NBETerm.as_arg uu____4036) us + in iapp cfg uu____4031 uu____4032)) | FStar_Syntax_Syntax.Tm_type u -> - let uu____4039 = translate_univ bs u in + let uu____4039 = translate_univ bs u in FStar_TypeChecker_NBETerm.Type_t uu____4039 - | FStar_Syntax_Syntax.Tm_arrow (xs, c) -> + | FStar_Syntax_Syntax.Tm_arrow (xs,c) -> let uu____4062 = let uu____4083 = FStar_List.fold_right - (fun x -> - fun formals -> + (fun x -> + fun formals -> let next_formal prefix_of_xs_rev = let uu____4153 = translate cfg (FStar_List.append prefix_of_xs_rev bs) - (FStar_Pervasives_Native.fst x).FStar_Syntax_Syntax.sort in - (uu____4153, (FStar_Pervasives_Native.snd x)) in - next_formal :: formals) xs [] in - ((fun ys -> translate_comp cfg (FStar_List.rev_append ys bs) c), - uu____4083) in + (FStar_Pervasives_Native.fst x).FStar_Syntax_Syntax.sort + in + (uu____4153, (FStar_Pervasives_Native.snd x)) in + next_formal :: formals) xs [] + in + ((fun ys -> + translate_comp cfg (FStar_List.rev_append ys bs) c), + uu____4083) + in FStar_TypeChecker_NBETerm.Arrow uu____4062 - | FStar_Syntax_Syntax.Tm_refine (bv, tm) -> + | FStar_Syntax_Syntax.Tm_refine (bv,tm) -> FStar_TypeChecker_NBETerm.Refinement - (((fun y -> translate cfg (y :: bs) tm)), - ((fun uu____4222 -> + (((fun y -> translate cfg (y :: bs) tm)), + ((fun uu____4222 -> let uu____4223 = - translate cfg bs bv.FStar_Syntax_Syntax.sort in + translate cfg bs bv.FStar_Syntax_Syntax.sort in FStar_TypeChecker_NBETerm.as_arg uu____4223))) - | FStar_Syntax_Syntax.Tm_ascribed (t, uu____4225, uu____4226) -> + | FStar_Syntax_Syntax.Tm_ascribed (t,uu____4225,uu____4226) -> translate cfg bs t - | FStar_Syntax_Syntax.Tm_uvar (uvar, t) -> + | FStar_Syntax_Syntax.Tm_uvar (uvar,t) -> (debug_term e; failwith "Tm_uvar: Not yet implemented") | FStar_Syntax_Syntax.Tm_name x -> FStar_TypeChecker_NBETerm.mkAccuVar x - | FStar_Syntax_Syntax.Tm_abs ([], uu____4288, uu____4289) -> + | FStar_Syntax_Syntax.Tm_abs ([],uu____4288,uu____4289) -> failwith "Impossible: abstraction with no binders" - | FStar_Syntax_Syntax.Tm_abs (xs, body, resc) -> + | FStar_Syntax_Syntax.Tm_abs (xs,body,resc) -> let uu____4340 = let uu____4371 = FStar_List.fold_right - (fun x -> - fun formals -> + (fun x -> + fun formals -> let next_formal prefix_of_xs_rev = let uu____4441 = translate cfg (FStar_List.append prefix_of_xs_rev bs) - (FStar_Pervasives_Native.fst x).FStar_Syntax_Syntax.sort in - (uu____4441, (FStar_Pervasives_Native.snd x)) in - next_formal :: formals) xs [] in + (FStar_Pervasives_Native.fst x).FStar_Syntax_Syntax.sort + in + (uu____4441, (FStar_Pervasives_Native.snd x)) in + next_formal :: formals) xs [] + in let uu____4470 = FStar_Util.map_opt resc - (fun c -> - fun uu____4482 -> translate_residual_comp cfg bs c) in - ((fun ys -> translate cfg (FStar_List.rev_append ys bs) body), - uu____4371, (FStar_List.length xs), uu____4470) in + (fun c -> + fun uu____4482 -> translate_residual_comp cfg bs c) + in + ((fun ys -> translate cfg (FStar_List.rev_append ys bs) body), + uu____4371, (FStar_List.length xs), uu____4470) + in FStar_TypeChecker_NBETerm.Lam uu____4340 | FStar_Syntax_Syntax.Tm_fvar fvar1 -> translate_fv cfg bs fvar1 | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reify); + (FStar_Const.Const_reify ); FStar_Syntax_Syntax.pos = uu____4516; - FStar_Syntax_Syntax.vars = uu____4517;_}, - arg::more::args) + FStar_Syntax_Syntax.vars = uu____4517;_},arg::more::args) -> - let uu____4577 = FStar_Syntax_Util.head_and_args e in + let uu____4577 = FStar_Syntax_Util.head_and_args e in (match uu____4577 with - | (head1, uu____4595) -> + | (head1,uu____4595) -> let head2 = FStar_Syntax_Syntax.mk_Tm_app head1 [arg] - FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos + in let uu____4639 = FStar_Syntax_Syntax.mk_Tm_app head2 (more :: args) - FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos + in translate cfg bs uu____4639) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reflect uu____4648); FStar_Syntax_Syntax.pos = uu____4649; - FStar_Syntax_Syntax.vars = uu____4650;_}, - arg::more::args) + FStar_Syntax_Syntax.vars = uu____4650;_},arg::more::args) -> - let uu____4710 = FStar_Syntax_Util.head_and_args e in + let uu____4710 = FStar_Syntax_Util.head_and_args e in (match uu____4710 with - | (head1, uu____4728) -> + | (head1,uu____4728) -> let head2 = FStar_Syntax_Syntax.mk_Tm_app head1 [arg] - FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos + in let uu____4772 = FStar_Syntax_Syntax.mk_Tm_app head2 (more :: args) - FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos + in translate cfg bs uu____4772) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reflect uu____4781); FStar_Syntax_Syntax.pos = uu____4782; - FStar_Syntax_Syntax.vars = uu____4783;_}, - arg::[]) + FStar_Syntax_Syntax.vars = uu____4783;_},arg::[]) when cfg.FStar_TypeChecker_Cfg.reifying -> let cfg1 = - let uu___649_4824 = cfg in + let uu___649_4824 = cfg in { FStar_TypeChecker_Cfg.steps = (uu___649_4824.FStar_TypeChecker_Cfg.steps); @@ -1025,31 +1109,29 @@ and (translate : FStar_TypeChecker_Cfg.normalize_pure_lets = (uu___649_4824.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = false - } in + } in translate cfg1 bs (FStar_Pervasives_Native.fst arg) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reflect uu____4830); FStar_Syntax_Syntax.pos = uu____4831; - FStar_Syntax_Syntax.vars = uu____4832;_}, - arg::[]) + FStar_Syntax_Syntax.vars = uu____4832;_},arg::[]) -> let uu____4872 = - translate cfg bs (FStar_Pervasives_Native.fst arg) in + translate cfg bs (FStar_Pervasives_Native.fst arg) in FStar_TypeChecker_NBETerm.Reflect uu____4872 | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reify); + (FStar_Const.Const_reify ); FStar_Syntax_Syntax.pos = uu____4877; - FStar_Syntax_Syntax.vars = uu____4878;_}, - arg::[]) + FStar_Syntax_Syntax.vars = uu____4878;_},arg::[]) when (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.reify_ -> let cfg1 = - let uu___672_4920 = cfg in + let uu___672_4920 = cfg in { FStar_TypeChecker_Cfg.steps = (uu___672_4920.FStar_TypeChecker_Cfg.steps); @@ -1068,30 +1150,33 @@ and (translate : FStar_TypeChecker_Cfg.normalize_pure_lets = (uu___672_4920.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = true - } in + } in translate cfg1 bs (FStar_Pervasives_Native.fst arg) - | FStar_Syntax_Syntax.Tm_app (head1, args) -> + | FStar_Syntax_Syntax.Tm_app (head1,args) -> (debug1 - (fun uu____4959 -> - let uu____4960 = FStar_Syntax_Print.term_to_string head1 in - let uu____4962 = FStar_Syntax_Print.args_to_string args in + (fun uu____4959 -> + let uu____4960 = FStar_Syntax_Print.term_to_string head1 + in + let uu____4962 = FStar_Syntax_Print.args_to_string args + in FStar_Util.print2 "Application: %s @ %s\n" uu____4960 uu____4962); - (let uu____4965 = translate cfg bs head1 in + (let uu____4965 = translate cfg bs head1 in let uu____4966 = FStar_List.map - (fun x -> + (fun x -> let uu____4988 = - translate cfg bs (FStar_Pervasives_Native.fst x) in - (uu____4988, (FStar_Pervasives_Native.snd x))) args in + translate cfg bs (FStar_Pervasives_Native.fst x) in + (uu____4988, (FStar_Pervasives_Native.snd x))) args + in iapp cfg uu____4965 uu____4966)) - | FStar_Syntax_Syntax.Tm_match (scrut, branches) -> + | FStar_Syntax_Syntax.Tm_match (scrut,branches) -> let make_branches readback1 = let cfg1 = - let uu___688_5049 = cfg in + let uu___688_5049 = cfg in { FStar_TypeChecker_Cfg.steps = - (let uu___690_5052 = cfg.FStar_TypeChecker_Cfg.steps in + (let uu___690_5052 = cfg.FStar_TypeChecker_Cfg.steps in { FStar_TypeChecker_Cfg.beta = (uu___690_5052.FStar_TypeChecker_Cfg.beta); @@ -1162,26 +1247,28 @@ and (translate : (uu___688_5049.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = (uu___688_5049.FStar_TypeChecker_Cfg.reifying) - } in + } in let rec process_pattern bs1 p = let uu____5081 = match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant c -> (bs1, (FStar_Syntax_Syntax.Pat_constant c)) - | FStar_Syntax_Syntax.Pat_cons (fvar1, args) -> + | FStar_Syntax_Syntax.Pat_cons (fvar1,args) -> let uu____5117 = FStar_List.fold_left - (fun uu____5158 -> - fun uu____5159 -> + (fun uu____5158 -> + fun uu____5159 -> match (uu____5158, uu____5159) with - | ((bs2, args1), (arg, b)) -> - let uu____5251 = process_pattern bs2 arg in + | ((bs2,args1),(arg,b)) -> + let uu____5251 = process_pattern bs2 arg + in (match uu____5251 with - | (bs', arg') -> + | (bs',arg') -> (bs', ((arg', b) :: args1)))) - (bs1, []) args in + (bs1, []) args + in (match uu____5117 with - | (bs', args') -> + | (bs',args') -> (bs', (FStar_Syntax_Syntax.Pat_cons (fvar1, (FStar_List.rev args'))))) @@ -1189,264 +1276,287 @@ and (translate : let x = let uu____5350 = let uu____5351 = - translate cfg1 bs1 bvar.FStar_Syntax_Syntax.sort in - readback1 uu____5351 in + translate cfg1 bs1 bvar.FStar_Syntax_Syntax.sort + in + readback1 uu____5351 in FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None uu____5350 in + FStar_Pervasives_Native.None uu____5350 + in let uu____5352 = let uu____5355 = - FStar_TypeChecker_NBETerm.mkAccuVar x in - uu____5355 :: bs1 in + FStar_TypeChecker_NBETerm.mkAccuVar x in + uu____5355 :: bs1 in (uu____5352, (FStar_Syntax_Syntax.Pat_var x)) | FStar_Syntax_Syntax.Pat_wild bvar -> let x = let uu____5360 = let uu____5361 = - translate cfg1 bs1 bvar.FStar_Syntax_Syntax.sort in - readback1 uu____5361 in + translate cfg1 bs1 bvar.FStar_Syntax_Syntax.sort + in + readback1 uu____5361 in FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None uu____5360 in + FStar_Pervasives_Native.None uu____5360 + in let uu____5362 = let uu____5365 = - FStar_TypeChecker_NBETerm.mkAccuVar x in - uu____5365 :: bs1 in + FStar_TypeChecker_NBETerm.mkAccuVar x in + uu____5365 :: bs1 in (uu____5362, (FStar_Syntax_Syntax.Pat_wild x)) - | FStar_Syntax_Syntax.Pat_dot_term (bvar, tm) -> + | FStar_Syntax_Syntax.Pat_dot_term (bvar,tm) -> let x = let uu____5375 = let uu____5376 = - translate cfg1 bs1 bvar.FStar_Syntax_Syntax.sort in - readback1 uu____5376 in + translate cfg1 bs1 bvar.FStar_Syntax_Syntax.sort + in + readback1 uu____5376 in FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None uu____5375 in + FStar_Pervasives_Native.None uu____5375 + in let uu____5377 = let uu____5378 = let uu____5385 = - let uu____5388 = translate cfg1 bs1 tm in - readback1 uu____5388 in - (x, uu____5385) in - FStar_Syntax_Syntax.Pat_dot_term uu____5378 in - (bs1, uu____5377) in + let uu____5388 = translate cfg1 bs1 tm in + readback1 uu____5388 in + (x, uu____5385) in + FStar_Syntax_Syntax.Pat_dot_term uu____5378 in + (bs1, uu____5377) + in match uu____5081 with - | (bs2, p_new) -> + | (bs2,p_new) -> (bs2, - (let uu___728_5408 = p in + (let uu___728_5408 = p in { FStar_Syntax_Syntax.v = p_new; FStar_Syntax_Syntax.p = (uu___728_5408.FStar_Syntax_Syntax.p) - })) in + })) + in FStar_List.map - (fun uu____5427 -> + (fun uu____5427 -> match uu____5427 with - | (pat, when_clause, e1) -> - let uu____5449 = process_pattern bs pat in + | (pat,when_clause,e1) -> + let uu____5449 = process_pattern bs pat in (match uu____5449 with - | (bs', pat') -> + | (bs',pat') -> let uu____5462 = let uu____5463 = - let uu____5466 = translate cfg1 bs' e1 in - readback1 uu____5466 in - (pat', when_clause, uu____5463) in - FStar_Syntax_Util.branch uu____5462)) branches in + let uu____5466 = translate cfg1 bs' e1 in + readback1 uu____5466 in + (pat', when_clause, uu____5463) in + FStar_Syntax_Util.branch uu____5462)) branches + in let rec case scrut1 = debug1 - (fun uu____5488 -> + (fun uu____5488 -> let uu____5489 = - let uu____5491 = readback cfg scrut1 in - FStar_Syntax_Print.term_to_string uu____5491 in + let uu____5491 = readback cfg scrut1 in + FStar_Syntax_Print.term_to_string uu____5491 in let uu____5492 = - FStar_TypeChecker_NBETerm.t_to_string scrut1 in + FStar_TypeChecker_NBETerm.t_to_string scrut1 in FStar_Util.print2 "Match case: (%s) -- (%s)\n" uu____5489 uu____5492); - (let scrut2 = unlazy scrut1 in + (let scrut2 = unlazy scrut1 in match scrut2 with - | FStar_TypeChecker_NBETerm.Construct (c, us, args) -> + | FStar_TypeChecker_NBETerm.Construct (c,us,args) -> (debug1 - (fun uu____5520 -> + (fun uu____5520 -> let uu____5521 = let uu____5523 = FStar_All.pipe_right args (FStar_List.map - (fun uu____5549 -> + (fun uu____5549 -> match uu____5549 with - | (x, q) -> + | (x,q) -> let uu____5563 = FStar_TypeChecker_NBETerm.t_to_string - x in + x + in Prims.op_Hat (if FStar_Util.is_some q then "#" - else "") uu____5563)) in + else "") uu____5563)) + in FStar_All.pipe_right uu____5523 - (FStar_String.concat "; ") in + (FStar_String.concat "; ") + in FStar_Util.print1 "Match args: %s\n" uu____5521); - (let uu____5577 = pickBranch cfg scrut2 branches in + (let uu____5577 = pickBranch cfg scrut2 branches in match uu____5577 with - | FStar_Pervasives_Native.Some (branch1, args1) -> + | FStar_Pervasives_Native.Some (branch1,args1) -> let uu____5598 = FStar_List.fold_left - (fun bs1 -> fun x -> x :: bs1) bs args1 in + (fun bs1 -> fun x -> x :: bs1) bs args1 + in translate cfg uu____5598 branch1 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_TypeChecker_NBETerm.mkAccuMatch scrut2 case make_branches)) | FStar_TypeChecker_NBETerm.Constant c -> (debug1 - (fun uu____5621 -> + (fun uu____5621 -> let uu____5622 = - FStar_TypeChecker_NBETerm.t_to_string scrut2 in + FStar_TypeChecker_NBETerm.t_to_string scrut2 in FStar_Util.print1 "Match constant : %s\n" uu____5622); - (let uu____5625 = pickBranch cfg scrut2 branches in + (let uu____5625 = pickBranch cfg scrut2 branches in match uu____5625 with - | FStar_Pervasives_Native.Some (branch1, []) -> + | FStar_Pervasives_Native.Some (branch1,[]) -> translate cfg bs branch1 - | FStar_Pervasives_Native.Some (branch1, arg::[]) -> + | FStar_Pervasives_Native.Some (branch1,arg::[]) -> translate cfg (arg :: bs) branch1 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_TypeChecker_NBETerm.mkAccuMatch scrut2 case make_branches - | FStar_Pervasives_Native.Some (uu____5659, hd1::tl1) - -> + | FStar_Pervasives_Native.Some (uu____5659,hd1::tl1) -> failwith "Impossible: Matching on constants cannot bind more than one variable")) | uu____5673 -> FStar_TypeChecker_NBETerm.mkAccuMatch scrut2 case - make_branches) in - let uu____5674 = translate cfg bs scrut in case uu____5674 + make_branches) + in + let uu____5674 = translate cfg bs scrut in case uu____5674 | FStar_Syntax_Syntax.Tm_meta - (e1, FStar_Syntax_Syntax.Meta_monadic (m, t)) when + (e1,FStar_Syntax_Syntax.Meta_monadic (m,t)) when cfg.FStar_TypeChecker_Cfg.reifying -> translate_monadic (m, t) cfg bs e1 | FStar_Syntax_Syntax.Tm_meta - (e1, FStar_Syntax_Syntax.Meta_monadic_lift (m, m', t)) when + (e1,FStar_Syntax_Syntax.Meta_monadic_lift (m,m',t)) when cfg.FStar_TypeChecker_Cfg.reifying -> translate_monadic_lift (m, m', t) cfg bs e1 - | FStar_Syntax_Syntax.Tm_let ((false, lbs), body) -> + | FStar_Syntax_Syntax.Tm_let ((false ,lbs),body) -> let bs' = FStar_List.fold_left - (fun bs' -> - fun lb -> - let b = translate_letbinding cfg bs lb in b :: bs') bs - lbs in + (fun bs' -> + fun lb -> + let b = translate_letbinding cfg bs lb in b :: bs') bs + lbs + in translate cfg bs' body - | FStar_Syntax_Syntax.Tm_let ((true, lbs), body) -> - let uu____5753 = make_rec_env (translate_letbinding cfg) lbs bs in + | FStar_Syntax_Syntax.Tm_let ((true ,lbs),body) -> + let uu____5753 = make_rec_env (translate_letbinding cfg) lbs bs + in translate cfg uu____5753 body - | FStar_Syntax_Syntax.Tm_meta (e1, uu____5757) -> - translate cfg bs e1 - | FStar_Syntax_Syntax.Tm_quoted (qt, qi) -> + | FStar_Syntax_Syntax.Tm_meta (e1,uu____5757) -> translate cfg bs e1 + | FStar_Syntax_Syntax.Tm_quoted (qt,qi) -> let close1 t = let bvs = FStar_List.map - (fun uu____5778 -> + (fun uu____5778 -> FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - FStar_Syntax_Syntax.tun) bs in + FStar_Syntax_Syntax.tun) bs + in let s1 = FStar_List.mapi - (fun i -> fun bv -> FStar_Syntax_Syntax.DB (i, bv)) bvs in + (fun i -> fun bv -> FStar_Syntax_Syntax.DB (i, bv)) bvs + in let s2 = - let uu____5791 = FStar_List.zip bvs bs in + let uu____5791 = FStar_List.zip bvs bs in FStar_List.map - (fun uu____5806 -> + (fun uu____5806 -> match uu____5806 with - | (bv, t1) -> + | (bv,t1) -> let uu____5813 = - let uu____5820 = readback cfg t1 in - (bv, uu____5820) in - FStar_Syntax_Syntax.NT uu____5813) uu____5791 in - let uu____5825 = FStar_Syntax_Subst.subst s1 t in - FStar_Syntax_Subst.subst s2 uu____5825 in + let uu____5820 = readback cfg t1 in + (bv, uu____5820) in + FStar_Syntax_Syntax.NT uu____5813) uu____5791 + in + let uu____5825 = FStar_Syntax_Subst.subst s1 t in + FStar_Syntax_Subst.subst s2 uu____5825 in (match qi.FStar_Syntax_Syntax.qkind with - | FStar_Syntax_Syntax.Quote_dynamic -> - let qt1 = close1 qt in + | FStar_Syntax_Syntax.Quote_dynamic -> + let qt1 = close1 qt in FStar_TypeChecker_NBETerm.Quote (qt1, qi) - | FStar_Syntax_Syntax.Quote_static -> - let qi1 = FStar_Syntax_Syntax.on_antiquoted close1 qi in + | FStar_Syntax_Syntax.Quote_static -> + let qi1 = FStar_Syntax_Syntax.on_antiquoted close1 qi in FStar_TypeChecker_NBETerm.Quote (qt, qi1)) | FStar_Syntax_Syntax.Tm_lazy li -> let f uu____5834 = - let t = FStar_Syntax_Util.unfold_lazy li in + let t = FStar_Syntax_Util.unfold_lazy li in debug1 - (fun uu____5841 -> - let uu____5842 = FStar_Syntax_Print.term_to_string t in + (fun uu____5841 -> + let uu____5842 = FStar_Syntax_Print.term_to_string t in FStar_Util.print1 ">> Unfolding Tm_lazy to %s\n" uu____5842); - translate cfg bs t in + translate cfg bs t in let uu____5845 = - let uu____5860 = FStar_Common.mk_thunk f in - ((FStar_Util.Inl li), uu____5860) in + let uu____5860 = FStar_Common.mk_thunk f in + ((FStar_Util.Inl li), uu____5860) in FStar_TypeChecker_NBETerm.Lazy uu____5845) + and (translate_comp : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.t Prims.list -> FStar_Syntax_Syntax.comp -> FStar_TypeChecker_NBETerm.comp) = - fun cfg -> - fun bs -> - fun c -> + fun cfg -> + fun bs -> + fun c -> match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (typ, u) -> + | FStar_Syntax_Syntax.Total (typ,u) -> let uu____5892 = - let uu____5899 = translate cfg bs typ in - let uu____5900 = fmap_opt (translate_univ bs) u in - (uu____5899, uu____5900) in + let uu____5899 = translate cfg bs typ in + let uu____5900 = fmap_opt (translate_univ bs) u in + (uu____5899, uu____5900) in FStar_TypeChecker_NBETerm.Tot uu____5892 - | FStar_Syntax_Syntax.GTotal (typ, u) -> + | FStar_Syntax_Syntax.GTotal (typ,u) -> let uu____5915 = - let uu____5922 = translate cfg bs typ in - let uu____5923 = fmap_opt (translate_univ bs) u in - (uu____5922, uu____5923) in + let uu____5922 = translate cfg bs typ in + let uu____5923 = fmap_opt (translate_univ bs) u in + (uu____5922, uu____5923) in FStar_TypeChecker_NBETerm.GTot uu____5915 | FStar_Syntax_Syntax.Comp ctyp -> - let uu____5929 = translate_comp_typ cfg bs ctyp in + let uu____5929 = translate_comp_typ cfg bs ctyp in FStar_TypeChecker_NBETerm.Comp uu____5929 + and (readback_comp : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.comp -> FStar_Syntax_Syntax.comp) = - fun cfg -> - fun c -> + fun cfg -> + fun c -> let c' = match c with - | FStar_TypeChecker_NBETerm.Tot (typ, u) -> + | FStar_TypeChecker_NBETerm.Tot (typ,u) -> let uu____5939 = - let uu____5948 = readback cfg typ in (uu____5948, u) in + let uu____5948 = readback cfg typ in (uu____5948, u) in FStar_Syntax_Syntax.Total uu____5939 - | FStar_TypeChecker_NBETerm.GTot (typ, u) -> + | FStar_TypeChecker_NBETerm.GTot (typ,u) -> let uu____5961 = - let uu____5970 = readback cfg typ in (uu____5970, u) in + let uu____5970 = readback cfg typ in (uu____5970, u) in FStar_Syntax_Syntax.GTotal uu____5961 | FStar_TypeChecker_NBETerm.Comp ctyp -> - let uu____5978 = readback_comp_typ cfg ctyp in - FStar_Syntax_Syntax.Comp uu____5978 in + let uu____5978 = readback_comp_typ cfg ctyp in + FStar_Syntax_Syntax.Comp uu____5978 + in FStar_Syntax_Syntax.mk c' FStar_Pervasives_Native.None FStar_Range.dummyRange + and (translate_comp_typ : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.t Prims.list -> FStar_Syntax_Syntax.comp_typ -> FStar_TypeChecker_NBETerm.comp_typ) = - fun cfg -> - fun bs -> - fun c -> - let uu____5984 = c in + fun cfg -> + fun bs -> + fun c -> + let uu____5984 = c in match uu____5984 with | { FStar_Syntax_Syntax.comp_univs = comp_univs; FStar_Syntax_Syntax.effect_name = effect_name; FStar_Syntax_Syntax.result_typ = result_typ; FStar_Syntax_Syntax.effect_args = effect_args; FStar_Syntax_Syntax.flags = flags;_} -> - let uu____6004 = FStar_List.map (translate_univ bs) comp_univs in - let uu____6005 = translate cfg bs result_typ in + let uu____6004 = FStar_List.map (translate_univ bs) comp_univs + in + let uu____6005 = translate cfg bs result_typ in let uu____6006 = FStar_List.map - (fun x -> + (fun x -> let uu____6034 = - translate cfg bs (FStar_Pervasives_Native.fst x) in - (uu____6034, (FStar_Pervasives_Native.snd x))) effect_args in - let uu____6041 = FStar_List.map (translate_flag cfg bs) flags in + translate cfg bs (FStar_Pervasives_Native.fst x) in + (uu____6034, (FStar_Pervasives_Native.snd x))) effect_args + in + let uu____6041 = FStar_List.map (translate_flag cfg bs) flags in { FStar_TypeChecker_NBETerm.comp_univs = uu____6004; FStar_TypeChecker_NBETerm.effect_name = effect_name; @@ -1454,21 +1564,26 @@ and (translate_comp_typ : FStar_TypeChecker_NBETerm.effect_args = uu____6006; FStar_TypeChecker_NBETerm.flags = uu____6041 } + and (readback_comp_typ : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.comp_typ -> FStar_Syntax_Syntax.comp_typ) = - fun cfg -> - fun c -> - let uu____6046 = readback cfg c.FStar_TypeChecker_NBETerm.result_typ in + fun cfg -> + fun c -> + let uu____6046 = readback cfg c.FStar_TypeChecker_NBETerm.result_typ + in let uu____6049 = FStar_List.map - (fun x -> - let uu____6075 = readback cfg (FStar_Pervasives_Native.fst x) in + (fun x -> + let uu____6075 = readback cfg (FStar_Pervasives_Native.fst x) + in (uu____6075, (FStar_Pervasives_Native.snd x))) - c.FStar_TypeChecker_NBETerm.effect_args in + c.FStar_TypeChecker_NBETerm.effect_args + in let uu____6076 = - FStar_List.map (readback_flag cfg) c.FStar_TypeChecker_NBETerm.flags in + FStar_List.map (readback_flag cfg) c.FStar_TypeChecker_NBETerm.flags + in { FStar_Syntax_Syntax.comp_univs = (c.FStar_TypeChecker_NBETerm.comp_univs); @@ -1478,96 +1593,103 @@ and (readback_comp_typ : FStar_Syntax_Syntax.effect_args = uu____6049; FStar_Syntax_Syntax.flags = uu____6076 } + and (translate_residual_comp : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.t Prims.list -> FStar_Syntax_Syntax.residual_comp -> FStar_TypeChecker_NBETerm.residual_comp) = - fun cfg -> - fun bs -> - fun c -> - let uu____6084 = c in + fun cfg -> + fun bs -> + fun c -> + let uu____6084 = c in match uu____6084 with | { FStar_Syntax_Syntax.residual_effect = residual_effect; FStar_Syntax_Syntax.residual_typ = residual_typ; FStar_Syntax_Syntax.residual_flags = residual_flags;_} -> let uu____6094 = - FStar_Util.map_opt residual_typ (translate cfg bs) in + FStar_Util.map_opt residual_typ (translate cfg bs) in let uu____6099 = - FStar_List.map (translate_flag cfg bs) residual_flags in + FStar_List.map (translate_flag cfg bs) residual_flags in { FStar_TypeChecker_NBETerm.residual_effect = residual_effect; FStar_TypeChecker_NBETerm.residual_typ = uu____6094; FStar_TypeChecker_NBETerm.residual_flags = uu____6099 } + and (readback_residual_comp : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.residual_comp -> FStar_Syntax_Syntax.residual_comp) = - fun cfg -> - fun c -> + fun cfg -> + fun c -> let uu____6104 = FStar_Util.map_opt c.FStar_TypeChecker_NBETerm.residual_typ - (readback cfg) in + (readback cfg) + in let uu____6111 = FStar_List.map (readback_flag cfg) - c.FStar_TypeChecker_NBETerm.residual_flags in + c.FStar_TypeChecker_NBETerm.residual_flags + in { FStar_Syntax_Syntax.residual_effect = (c.FStar_TypeChecker_NBETerm.residual_effect); FStar_Syntax_Syntax.residual_typ = uu____6104; FStar_Syntax_Syntax.residual_flags = uu____6111 } + and (translate_flag : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.t Prims.list -> FStar_Syntax_Syntax.cflag -> FStar_TypeChecker_NBETerm.cflag) = - fun cfg -> - fun bs -> - fun f -> + fun cfg -> + fun bs -> + fun f -> match f with - | FStar_Syntax_Syntax.TOTAL -> FStar_TypeChecker_NBETerm.TOTAL - | FStar_Syntax_Syntax.MLEFFECT -> FStar_TypeChecker_NBETerm.MLEFFECT - | FStar_Syntax_Syntax.RETURN -> FStar_TypeChecker_NBETerm.RETURN - | FStar_Syntax_Syntax.PARTIAL_RETURN -> + | FStar_Syntax_Syntax.TOTAL -> FStar_TypeChecker_NBETerm.TOTAL + | FStar_Syntax_Syntax.MLEFFECT -> FStar_TypeChecker_NBETerm.MLEFFECT + | FStar_Syntax_Syntax.RETURN -> FStar_TypeChecker_NBETerm.RETURN + | FStar_Syntax_Syntax.PARTIAL_RETURN -> FStar_TypeChecker_NBETerm.PARTIAL_RETURN - | FStar_Syntax_Syntax.SOMETRIVIAL -> + | FStar_Syntax_Syntax.SOMETRIVIAL -> FStar_TypeChecker_NBETerm.SOMETRIVIAL - | FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION -> + | FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION -> FStar_TypeChecker_NBETerm.TRIVIAL_POSTCONDITION - | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> + | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> FStar_TypeChecker_NBETerm.SHOULD_NOT_INLINE - | FStar_Syntax_Syntax.LEMMA -> FStar_TypeChecker_NBETerm.LEMMA - | FStar_Syntax_Syntax.CPS -> FStar_TypeChecker_NBETerm.CPS + | FStar_Syntax_Syntax.LEMMA -> FStar_TypeChecker_NBETerm.LEMMA + | FStar_Syntax_Syntax.CPS -> FStar_TypeChecker_NBETerm.CPS | FStar_Syntax_Syntax.DECREASES tm -> - let uu____6122 = translate cfg bs tm in + let uu____6122 = translate cfg bs tm in FStar_TypeChecker_NBETerm.DECREASES uu____6122 + and (readback_flag : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.cflag -> FStar_Syntax_Syntax.cflag) = - fun cfg -> - fun f -> + fun cfg -> + fun f -> match f with - | FStar_TypeChecker_NBETerm.TOTAL -> FStar_Syntax_Syntax.TOTAL - | FStar_TypeChecker_NBETerm.MLEFFECT -> FStar_Syntax_Syntax.MLEFFECT - | FStar_TypeChecker_NBETerm.RETURN -> FStar_Syntax_Syntax.RETURN - | FStar_TypeChecker_NBETerm.PARTIAL_RETURN -> + | FStar_TypeChecker_NBETerm.TOTAL -> FStar_Syntax_Syntax.TOTAL + | FStar_TypeChecker_NBETerm.MLEFFECT -> FStar_Syntax_Syntax.MLEFFECT + | FStar_TypeChecker_NBETerm.RETURN -> FStar_Syntax_Syntax.RETURN + | FStar_TypeChecker_NBETerm.PARTIAL_RETURN -> FStar_Syntax_Syntax.PARTIAL_RETURN - | FStar_TypeChecker_NBETerm.SOMETRIVIAL -> + | FStar_TypeChecker_NBETerm.SOMETRIVIAL -> FStar_Syntax_Syntax.SOMETRIVIAL - | FStar_TypeChecker_NBETerm.TRIVIAL_POSTCONDITION -> + | FStar_TypeChecker_NBETerm.TRIVIAL_POSTCONDITION -> FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION - | FStar_TypeChecker_NBETerm.SHOULD_NOT_INLINE -> + | FStar_TypeChecker_NBETerm.SHOULD_NOT_INLINE -> FStar_Syntax_Syntax.SHOULD_NOT_INLINE - | FStar_TypeChecker_NBETerm.LEMMA -> FStar_Syntax_Syntax.LEMMA - | FStar_TypeChecker_NBETerm.CPS -> FStar_Syntax_Syntax.CPS + | FStar_TypeChecker_NBETerm.LEMMA -> FStar_Syntax_Syntax.LEMMA + | FStar_TypeChecker_NBETerm.CPS -> FStar_Syntax_Syntax.CPS | FStar_TypeChecker_NBETerm.DECREASES t -> - let uu____6126 = readback cfg t in + let uu____6126 = readback cfg t in FStar_Syntax_Syntax.DECREASES uu____6126 + and (translate_monadic : (FStar_Syntax_Syntax.monad_name * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) -> @@ -1576,31 +1698,34 @@ and (translate_monadic : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_TypeChecker_NBETerm.t) = - fun uu____6129 -> - fun cfg -> - fun bs -> - fun e -> + fun uu____6129 -> + fun cfg -> + fun bs -> + fun e -> match uu____6129 with - | (m, ty) -> - let e1 = FStar_Syntax_Util.unascribe e in + | (m,ty) -> + let e1 = FStar_Syntax_Util.unascribe e in (match e1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), body) -> + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),body) -> let uu____6167 = let uu____6176 = FStar_TypeChecker_Env.norm_eff_name - cfg.FStar_TypeChecker_Cfg.tcenv m in + cfg.FStar_TypeChecker_Cfg.tcenv m + in FStar_TypeChecker_Env.effect_decl_opt - cfg.FStar_TypeChecker_Cfg.tcenv uu____6176 in + cfg.FStar_TypeChecker_Cfg.tcenv uu____6176 + in (match uu____6167 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____6183 = - let uu____6185 = FStar_Ident.string_of_lid m in + let uu____6185 = FStar_Ident.string_of_lid m in FStar_Util.format1 - "Effect declaration not found: %s" uu____6185 in + "Effect declaration not found: %s" uu____6185 + in failwith uu____6183 - | FStar_Pervasives_Native.Some (ed, q) -> + | FStar_Pervasives_Native.Some (ed,q) -> let cfg' = - let uu___936_6201 = cfg in + let uu___936_6201 = cfg in { FStar_TypeChecker_Cfg.steps = (uu___936_6201.FStar_TypeChecker_Cfg.steps); @@ -1619,7 +1744,7 @@ and (translate_monadic : FStar_TypeChecker_Cfg.normalize_pure_lets = (uu___936_6201.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = false - } in + } in let body_lam = let body_rc = { @@ -1627,7 +1752,7 @@ and (translate_monadic : FStar_Syntax_Syntax.residual_typ = (FStar_Pervasives_Native.Some ty); FStar_Syntax_Syntax.residual_flags = [] - } in + } in let uu____6209 = let uu____6216 = let uu____6217 = @@ -1635,22 +1760,27 @@ and (translate_monadic : let uu____6245 = let uu____6252 = FStar_Util.left - lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbname + in (uu____6252, - FStar_Pervasives_Native.None) in - [uu____6245] in + FStar_Pervasives_Native.None) + in + [uu____6245] in (uu____6236, body, - (FStar_Pervasives_Native.Some body_rc)) in - FStar_Syntax_Syntax.Tm_abs uu____6217 in - FStar_Syntax_Syntax.mk uu____6216 in + (FStar_Pervasives_Native.Some body_rc)) + in + FStar_Syntax_Syntax.Tm_abs uu____6217 in + FStar_Syntax_Syntax.mk uu____6216 in uu____6209 FStar_Pervasives_Native.None - body.FStar_Syntax_Syntax.pos in + body.FStar_Syntax_Syntax.pos + in let maybe_range_arg = let uu____6286 = FStar_Util.for_some (FStar_Syntax_Util.attr_eq FStar_Syntax_Util.dm4f_bind_range_attr) - ed.FStar_Syntax_Syntax.eff_attrs in + ed.FStar_Syntax_Syntax.eff_attrs + in if uu____6286 then let uu____6295 = @@ -1659,9 +1789,10 @@ and (translate_monadic : FStar_TypeChecker_Cfg.embed_simple FStar_Syntax_Embeddings.e_range lb.FStar_Syntax_Syntax.lbpos - lb.FStar_Syntax_Syntax.lbpos in - translate cfg [] uu____6301 in - (uu____6300, FStar_Pervasives_Native.None) in + lb.FStar_Syntax_Syntax.lbpos + in + translate cfg [] uu____6301 in + (uu____6300, FStar_Pervasives_Native.None) in let uu____6302 = let uu____6309 = let uu____6314 = @@ -1669,70 +1800,83 @@ and (translate_monadic : FStar_TypeChecker_Cfg.embed_simple FStar_Syntax_Embeddings.e_range body.FStar_Syntax_Syntax.pos - body.FStar_Syntax_Syntax.pos in - translate cfg [] uu____6315 in - (uu____6314, FStar_Pervasives_Native.None) in - [uu____6309] in + body.FStar_Syntax_Syntax.pos + in + translate cfg [] uu____6315 in + (uu____6314, FStar_Pervasives_Native.None) + in + [uu____6309] in uu____6295 :: uu____6302 - else [] in + else [] in let t = let uu____6335 = let uu____6336 = let uu____6337 = FStar_Syntax_Util.un_uinst (FStar_Pervasives_Native.snd - ed.FStar_Syntax_Syntax.bind_repr) in - translate cfg' [] uu____6337 in + ed.FStar_Syntax_Syntax.bind_repr) + in + translate cfg' [] uu____6337 in iapp cfg uu____6336 [((FStar_TypeChecker_NBETerm.Univ FStar_Syntax_Syntax.U_unknown), FStar_Pervasives_Native.None); ((FStar_TypeChecker_NBETerm.Univ FStar_Syntax_Syntax.U_unknown), - FStar_Pervasives_Native.None)] in + FStar_Pervasives_Native.None)] + in let uu____6354 = let uu____6355 = let uu____6362 = let uu____6367 = translate cfg' bs - lb.FStar_Syntax_Syntax.lbtyp in - (uu____6367, FStar_Pervasives_Native.None) in + lb.FStar_Syntax_Syntax.lbtyp + in + (uu____6367, FStar_Pervasives_Native.None) + in let uu____6368 = let uu____6375 = - let uu____6380 = translate cfg' bs ty in - (uu____6380, FStar_Pervasives_Native.None) in - [uu____6375] in - uu____6362 :: uu____6368 in + let uu____6380 = translate cfg' bs ty in + (uu____6380, FStar_Pervasives_Native.None) + in + [uu____6375] in + uu____6362 :: uu____6368 in let uu____6393 = let uu____6400 = let uu____6407 = let uu____6414 = let uu____6419 = translate cfg bs - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in (uu____6419, - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in let uu____6420 = let uu____6427 = let uu____6434 = let uu____6439 = - translate cfg bs body_lam in + translate cfg bs body_lam in (uu____6439, - FStar_Pervasives_Native.None) in - [uu____6434] in + FStar_Pervasives_Native.None) + in + [uu____6434] in (FStar_TypeChecker_NBETerm.Unknown, FStar_Pervasives_Native.None) :: - uu____6427 in - uu____6414 :: uu____6420 in + uu____6427 + in + uu____6414 :: uu____6420 in (FStar_TypeChecker_NBETerm.Unknown, - FStar_Pervasives_Native.None) :: uu____6407 in - FStar_List.append maybe_range_arg uu____6400 in - FStar_List.append uu____6355 uu____6393 in - iapp cfg uu____6335 uu____6354 in + FStar_Pervasives_Native.None) :: uu____6407 + in + FStar_List.append maybe_range_arg uu____6400 + in + FStar_List.append uu____6355 uu____6393 in + iapp cfg uu____6335 uu____6354 in (debug cfg - (fun uu____6471 -> + (fun uu____6471 -> let uu____6472 = - FStar_TypeChecker_NBETerm.t_to_string t in + FStar_TypeChecker_NBETerm.t_to_string t in FStar_Util.print1 "translate_monadic: %s\n" uu____6472); t)) @@ -1741,11 +1885,10 @@ and (translate_monadic : FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reflect uu____6475); FStar_Syntax_Syntax.pos = uu____6476; - FStar_Syntax_Syntax.vars = uu____6477;_}, - (e2, uu____6479)::[]) + FStar_Syntax_Syntax.vars = uu____6477;_},(e2,uu____6479)::[]) -> translate - (let uu___958_6520 = cfg in + (let uu___958_6520 = cfg in { FStar_TypeChecker_Cfg.steps = (uu___958_6520.FStar_TypeChecker_Cfg.steps); @@ -1765,17 +1908,17 @@ and (translate_monadic : (uu___958_6520.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = false }) bs e2 - | FStar_Syntax_Syntax.Tm_app (head1, args) -> + | FStar_Syntax_Syntax.Tm_app (head1,args) -> (debug cfg - (fun uu____6552 -> + (fun uu____6552 -> let uu____6553 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____6555 = - FStar_Syntax_Print.args_to_string args in + FStar_Syntax_Print.args_to_string args in FStar_Util.print2 "translate_monadic app (%s) @ (%s)\n" uu____6553 uu____6555); - (let fallback1 uu____6563 = translate cfg bs e1 in + (let fallback1 uu____6563 = translate cfg bs e1 in let fallback2 uu____6569 = let uu____6570 = FStar_Syntax_Syntax.mk @@ -1783,9 +1926,10 @@ and (translate_monadic : (e1, (FStar_Syntax_Syntax.Meta_monadic (m, ty)))) FStar_Pervasives_Native.None - e1.FStar_Syntax_Syntax.pos in + e1.FStar_Syntax_Syntax.pos + in translate - (let uu___970_6577 = cfg in + (let uu___970_6577 = cfg in { FStar_TypeChecker_Cfg.steps = (uu___970_6577.FStar_TypeChecker_Cfg.steps); @@ -1804,21 +1948,24 @@ and (translate_monadic : FStar_TypeChecker_Cfg.normalize_pure_lets = (uu___970_6577.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = false - }) bs uu____6570 in + }) bs uu____6570 + in let uu____6579 = - let uu____6580 = FStar_Syntax_Util.un_uinst head1 in - uu____6580.FStar_Syntax_Syntax.n in + let uu____6580 = FStar_Syntax_Util.un_uinst head1 in + uu____6580.FStar_Syntax_Syntax.n in match uu____6579 with | FStar_Syntax_Syntax.Tm_fvar fv -> - let lid = FStar_Syntax_Syntax.lid_of_fv fv in + let lid = FStar_Syntax_Syntax.lid_of_fv fv in let qninfo = FStar_TypeChecker_Env.lookup_qname - cfg.FStar_TypeChecker_Cfg.tcenv lid in + cfg.FStar_TypeChecker_Cfg.tcenv lid + in let uu____6586 = let uu____6588 = FStar_TypeChecker_Env.is_action - cfg.FStar_TypeChecker_Cfg.tcenv lid in - Prims.op_Negation uu____6588 in + cfg.FStar_TypeChecker_Cfg.tcenv lid + in + Prims.op_Negation uu____6588 in if uu____6586 then fallback1 () else @@ -1827,21 +1974,24 @@ and (translate_monadic : FStar_TypeChecker_Env.lookup_definition_qninfo cfg.FStar_TypeChecker_Cfg.delta_level (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - qninfo in - FStar_Option.isNone uu____6595 in + qninfo + in + FStar_Option.isNone uu____6595 in if uu____6593 then fallback2 () else (let e2 = let uu____6612 = let uu____6617 = - FStar_Syntax_Util.mk_reify head1 in + FStar_Syntax_Util.mk_reify head1 in FStar_Syntax_Syntax.mk_Tm_app uu____6617 - args in + args + in uu____6612 FStar_Pervasives_Native.None - e1.FStar_Syntax_Syntax.pos in + e1.FStar_Syntax_Syntax.pos + in translate - (let uu___979_6620 = cfg in + (let uu___979_6620 = cfg in { FStar_TypeChecker_Cfg.steps = (uu___979_6620.FStar_TypeChecker_Cfg.steps); @@ -1863,23 +2013,25 @@ and (translate_monadic : FStar_TypeChecker_Cfg.reifying = false }) bs e2)) | uu____6622 -> fallback1 ())) - | FStar_Syntax_Syntax.Tm_match (sc, branches) -> + | FStar_Syntax_Syntax.Tm_match (sc,branches) -> let branches1 = FStar_All.pipe_right branches (FStar_List.map - (fun uu____6743 -> + (fun uu____6743 -> match uu____6743 with - | (pat, wopt, tm) -> + | (pat,wopt,tm) -> let uu____6791 = - FStar_Syntax_Util.mk_reify tm in - (pat, wopt, uu____6791))) in + FStar_Syntax_Util.mk_reify tm in + (pat, wopt, uu____6791))) + in let tm = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_match (sc, branches1)) FStar_Pervasives_Native.None - e1.FStar_Syntax_Syntax.pos in + e1.FStar_Syntax_Syntax.pos + in translate - (let uu___992_6825 = cfg in + (let uu___992_6825 = cfg in { FStar_TypeChecker_Cfg.steps = (uu___992_6825.FStar_TypeChecker_Cfg.steps); @@ -1900,18 +2052,19 @@ and (translate_monadic : FStar_TypeChecker_Cfg.reifying = false }) bs tm | FStar_Syntax_Syntax.Tm_meta - (t, FStar_Syntax_Syntax.Meta_monadic uu____6828) -> + (t,FStar_Syntax_Syntax.Meta_monadic uu____6828) -> translate_monadic (m, ty) cfg bs e1 | FStar_Syntax_Syntax.Tm_meta - (t, FStar_Syntax_Syntax.Meta_monadic_lift - (msrc, mtgt, ty')) + (t,FStar_Syntax_Syntax.Meta_monadic_lift (msrc,mtgt,ty')) -> translate_monadic_lift (msrc, mtgt, ty') cfg bs e1 | uu____6855 -> let uu____6856 = - let uu____6858 = FStar_Syntax_Print.tag_of_term e1 in + let uu____6858 = FStar_Syntax_Print.tag_of_term e1 in FStar_Util.format1 - "Unexpected case in translate_monadic: %s" uu____6858 in + "Unexpected case in translate_monadic: %s" uu____6858 + in failwith uu____6856) + and (translate_monadic_lift : (FStar_Syntax_Syntax.monad_name * FStar_Syntax_Syntax.monad_name * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) -> @@ -1920,42 +2073,47 @@ and (translate_monadic_lift : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_TypeChecker_NBETerm.t) = - fun uu____6861 -> - fun cfg -> - fun bs -> - fun e -> + fun uu____6861 -> + fun cfg -> + fun bs -> + fun e -> match uu____6861 with - | (msrc, mtgt, ty) -> - let e1 = FStar_Syntax_Util.unascribe e in + | (msrc,mtgt,ty) -> + let e1 = FStar_Syntax_Util.unascribe e in let uu____6885 = (FStar_Syntax_Util.is_pure_effect msrc) || - (FStar_Syntax_Util.is_div_effect msrc) in + (FStar_Syntax_Util.is_div_effect msrc) + in if uu____6885 then let ed = let uu____6889 = FStar_TypeChecker_Env.norm_eff_name - cfg.FStar_TypeChecker_Cfg.tcenv mtgt in + cfg.FStar_TypeChecker_Cfg.tcenv mtgt + in FStar_TypeChecker_Env.get_effect_decl - cfg.FStar_TypeChecker_Cfg.tcenv uu____6889 in + cfg.FStar_TypeChecker_Cfg.tcenv uu____6889 + in let ret1 = let uu____6891 = let uu____6892 = FStar_Syntax_Subst.compress (FStar_Pervasives_Native.snd - ed.FStar_Syntax_Syntax.return_repr) in - uu____6892.FStar_Syntax_Syntax.n in + ed.FStar_Syntax_Syntax.return_repr) + in + uu____6892.FStar_Syntax_Syntax.n in match uu____6891 with - | FStar_Syntax_Syntax.Tm_uinst (ret1, uu____6900::[]) -> + | FStar_Syntax_Syntax.Tm_uinst (ret1,uu____6900::[]) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uinst (ret1, [FStar_Syntax_Syntax.U_unknown])) FStar_Pervasives_Native.None e1.FStar_Syntax_Syntax.pos | uu____6907 -> - failwith "NYI: Reification of indexed effect (NBE)" in + failwith "NYI: Reification of indexed effect (NBE)" + in let cfg' = - let uu___1025_6910 = cfg in + let uu___1025_6910 = cfg in { FStar_TypeChecker_Cfg.steps = (uu___1025_6910.FStar_TypeChecker_Cfg.steps); @@ -1974,44 +2132,47 @@ and (translate_monadic_lift : FStar_TypeChecker_Cfg.normalize_pure_lets = (uu___1025_6910.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = false - } in + } in let t = let uu____6913 = - let uu____6914 = translate cfg' [] ret1 in + let uu____6914 = translate cfg' [] ret1 in iapp cfg' uu____6914 [((FStar_TypeChecker_NBETerm.Univ FStar_Syntax_Syntax.U_unknown), - FStar_Pervasives_Native.None)] in + FStar_Pervasives_Native.None)] + in let uu____6923 = let uu____6924 = - let uu____6929 = translate cfg' bs ty in - (uu____6929, FStar_Pervasives_Native.None) in + let uu____6929 = translate cfg' bs ty in + (uu____6929, FStar_Pervasives_Native.None) in let uu____6930 = let uu____6937 = - let uu____6942 = translate cfg' bs e1 in - (uu____6942, FStar_Pervasives_Native.None) in - [uu____6937] in - uu____6924 :: uu____6930 in - iapp cfg' uu____6913 uu____6923 in + let uu____6942 = translate cfg' bs e1 in + (uu____6942, FStar_Pervasives_Native.None) in + [uu____6937] in + uu____6924 :: uu____6930 in + iapp cfg' uu____6913 uu____6923 in (debug cfg - (fun uu____6958 -> + (fun uu____6958 -> let uu____6959 = - FStar_TypeChecker_NBETerm.t_to_string t in + FStar_TypeChecker_NBETerm.t_to_string t in FStar_Util.print1 "translate_monadic_lift(1): %s\n" uu____6959); t) else (let uu____6964 = FStar_TypeChecker_Env.monad_leq - cfg.FStar_TypeChecker_Cfg.tcenv msrc mtgt in + cfg.FStar_TypeChecker_Cfg.tcenv msrc mtgt + in match uu____6964 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____6967 = - let uu____6969 = FStar_Ident.text_of_lid msrc in - let uu____6971 = FStar_Ident.text_of_lid mtgt in + let uu____6969 = FStar_Ident.text_of_lid msrc in + let uu____6971 = FStar_Ident.text_of_lid mtgt in FStar_Util.format2 "Impossible : trying to reify a lift between unrelated effects (%s and %s)" - uu____6969 uu____6971 in + uu____6969 uu____6971 + in failwith uu____6967 | FStar_Pervasives_Native.Some { FStar_TypeChecker_Env.msource = uu____6974; @@ -2019,14 +2180,15 @@ and (translate_monadic_lift : FStar_TypeChecker_Env.mlift = { FStar_TypeChecker_Env.mlift_wp = uu____6976; FStar_TypeChecker_Env.mlift_term = - FStar_Pervasives_Native.None;_};_} + FStar_Pervasives_Native.None ;_};_} -> let uu____6998 = - let uu____7000 = FStar_Ident.text_of_lid msrc in - let uu____7002 = FStar_Ident.text_of_lid mtgt in + let uu____7000 = FStar_Ident.text_of_lid msrc in + let uu____7002 = FStar_Ident.text_of_lid mtgt in FStar_Util.format2 "Impossible : trying to reify a non-reifiable lift (from %s to %s)" - uu____7000 uu____7002 in + uu____7000 uu____7002 + in failwith uu____6998 | FStar_Pervasives_Native.Some { FStar_TypeChecker_Env.msource = uu____7005; @@ -2040,16 +2202,20 @@ and (translate_monadic_lift : let x = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let uu____7046 = - let uu____7049 = FStar_Syntax_Syntax.bv_to_name x in + let uu____7049 = FStar_Syntax_Syntax.bv_to_name x + in lift FStar_Syntax_Syntax.U_unknown ty - FStar_Syntax_Syntax.tun uu____7049 in + FStar_Syntax_Syntax.tun uu____7049 + in FStar_Syntax_Util.abs [(x, FStar_Pervasives_Native.None)] uu____7046 - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let cfg' = - let uu___1049_7065 = cfg in + let uu___1049_7065 = cfg in { FStar_TypeChecker_Cfg.steps = (uu___1049_7065.FStar_TypeChecker_Cfg.steps); @@ -2068,51 +2234,52 @@ and (translate_monadic_lift : FStar_TypeChecker_Cfg.normalize_pure_lets = (uu___1049_7065.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = false - } in + } in let t = - let uu____7068 = translate cfg' [] lift_lam in + let uu____7068 = translate cfg' [] lift_lam in let uu____7069 = let uu____7070 = - let uu____7075 = translate cfg bs e1 in - (uu____7075, FStar_Pervasives_Native.None) in - [uu____7070] in - iapp cfg uu____7068 uu____7069 in + let uu____7075 = translate cfg bs e1 in + (uu____7075, FStar_Pervasives_Native.None) in + [uu____7070] in + iapp cfg uu____7068 uu____7069 in (debug cfg - (fun uu____7087 -> + (fun uu____7087 -> let uu____7088 = - FStar_TypeChecker_NBETerm.t_to_string t in + FStar_TypeChecker_NBETerm.t_to_string t in FStar_Util.print1 "translate_monadic_lift(2): %s\n" uu____7088); t)) + and (readback : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_NBETerm.t -> FStar_Syntax_Syntax.term) = - fun cfg -> - fun x -> - let debug1 = debug cfg in + fun cfg -> + fun x -> + let debug1 = debug cfg in debug1 - (fun uu____7106 -> - let uu____7107 = FStar_TypeChecker_NBETerm.t_to_string x in + (fun uu____7106 -> + let uu____7107 = FStar_TypeChecker_NBETerm.t_to_string x in FStar_Util.print1 "Readback: %s\n" uu____7107); (match x with | FStar_TypeChecker_NBETerm.Univ u -> failwith "Readback of universes should not occur" - | FStar_TypeChecker_NBETerm.Unknown -> + | FStar_TypeChecker_NBETerm.Unknown -> FStar_Syntax_Syntax.mk FStar_Syntax_Syntax.Tm_unknown FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_TypeChecker_NBETerm.Constant (FStar_TypeChecker_NBETerm.Unit) + | FStar_TypeChecker_NBETerm.Constant (FStar_TypeChecker_NBETerm.Unit ) -> FStar_Syntax_Syntax.unit_const | FStar_TypeChecker_NBETerm.Constant (FStar_TypeChecker_NBETerm.Bool - (true)) -> FStar_Syntax_Util.exp_true_bool + (true )) -> FStar_Syntax_Util.exp_true_bool | FStar_TypeChecker_NBETerm.Constant (FStar_TypeChecker_NBETerm.Bool - (false)) -> FStar_Syntax_Util.exp_false_bool + (false )) -> FStar_Syntax_Util.exp_false_bool | FStar_TypeChecker_NBETerm.Constant (FStar_TypeChecker_NBETerm.Int i) -> - let uu____7115 = FStar_BigInt.string_of_big_int i in + let uu____7115 = FStar_BigInt.string_of_big_int i in FStar_All.pipe_right uu____7115 FStar_Syntax_Util.exp_int | FStar_TypeChecker_NBETerm.Constant (FStar_TypeChecker_NBETerm.String - (s, r)) -> + (s,r)) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_string (s, r))) @@ -2126,167 +2293,183 @@ and (readback : | FStar_TypeChecker_NBETerm.Type_t u -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type u) FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_TypeChecker_NBETerm.Lam (f, targs, arity, resc) -> + | FStar_TypeChecker_NBETerm.Lam (f,targs,arity,resc) -> let uu____7175 = FStar_List.fold_left - (fun uu____7218 -> - fun tf -> + (fun uu____7218 -> + fun tf -> match uu____7218 with - | (args_rev, accus_rev) -> - let uu____7270 = tf accus_rev in + | (args_rev,accus_rev) -> + let uu____7270 = tf accus_rev in (match uu____7270 with - | (xt, q) -> + | (xt,q) -> let x1 = - let uu____7290 = readback cfg xt in + let uu____7290 = readback cfg xt in FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None uu____7290 in + FStar_Pervasives_Native.None uu____7290 + in let uu____7291 = let uu____7294 = - FStar_TypeChecker_NBETerm.mkAccuVar x1 in - uu____7294 :: accus_rev in + FStar_TypeChecker_NBETerm.mkAccuVar x1 in + uu____7294 :: accus_rev in (((x1, q) :: args_rev), uu____7291))) ([], []) - targs in + targs + in (match uu____7175 with - | (args_rev, accus_rev) -> + | (args_rev,accus_rev) -> let body = - let uu____7338 = f (FStar_List.rev accus_rev) in - readback cfg uu____7338 in + let uu____7338 = f (FStar_List.rev accus_rev) in + readback cfg uu____7338 in let uu____7339 = FStar_Util.map_opt resc - (fun thunk1 -> - let uu____7350 = thunk1 () in - readback_residual_comp cfg uu____7350) in + (fun thunk1 -> + let uu____7350 = thunk1 () in + readback_residual_comp cfg uu____7350) + in FStar_Syntax_Util.abs (FStar_List.rev args_rev) body uu____7339) - | FStar_TypeChecker_NBETerm.Refinement (f, targ) -> + | FStar_TypeChecker_NBETerm.Refinement (f,targ) -> let x1 = let uu____7378 = let uu____7379 = - let uu____7380 = targ () in - FStar_Pervasives_Native.fst uu____7380 in - readback cfg uu____7379 in + let uu____7380 = targ () in + FStar_Pervasives_Native.fst uu____7380 in + readback cfg uu____7379 in FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - uu____7378 in + uu____7378 + in let body = let uu____7386 = - let uu____7387 = FStar_TypeChecker_NBETerm.mkAccuVar x1 in - f uu____7387 in - readback cfg uu____7386 in + let uu____7387 = FStar_TypeChecker_NBETerm.mkAccuVar x1 in + f uu____7387 in + readback cfg uu____7386 in FStar_Syntax_Util.refine x1 body | FStar_TypeChecker_NBETerm.Reflect t -> - let tm = readback cfg t in FStar_Syntax_Util.mk_reflect tm - | FStar_TypeChecker_NBETerm.Arrow (f, targs) -> + let tm = readback cfg t in FStar_Syntax_Util.mk_reflect tm + | FStar_TypeChecker_NBETerm.Arrow (f,targs) -> let uu____7424 = FStar_List.fold_left - (fun uu____7467 -> - fun tf -> + (fun uu____7467 -> + fun tf -> match uu____7467 with - | (args_rev, accus_rev) -> - let uu____7519 = tf accus_rev in + | (args_rev,accus_rev) -> + let uu____7519 = tf accus_rev in (match uu____7519 with - | (xt, q) -> + | (xt,q) -> let x1 = - let uu____7539 = readback cfg xt in + let uu____7539 = readback cfg xt in FStar_Syntax_Syntax.new_bv - FStar_Pervasives_Native.None uu____7539 in + FStar_Pervasives_Native.None uu____7539 + in let uu____7540 = let uu____7543 = - FStar_TypeChecker_NBETerm.mkAccuVar x1 in - uu____7543 :: accus_rev in + FStar_TypeChecker_NBETerm.mkAccuVar x1 in + uu____7543 :: accus_rev in (((x1, q) :: args_rev), uu____7540))) ([], []) - targs in + targs + in (match uu____7424 with - | (args_rev, accus_rev) -> + | (args_rev,accus_rev) -> let cmp = - let uu____7587 = f (FStar_List.rev accus_rev) in - readback_comp cfg uu____7587 in + let uu____7587 = f (FStar_List.rev accus_rev) in + readback_comp cfg uu____7587 in FStar_Syntax_Util.arrow (FStar_List.rev args_rev) cmp) - | FStar_TypeChecker_NBETerm.Construct (fv, us, args) -> + | FStar_TypeChecker_NBETerm.Construct (fv,us,args) -> let args1 = map_rev - (fun uu____7630 -> + (fun uu____7630 -> match uu____7630 with - | (x1, q) -> - let uu____7641 = readback cfg x1 in (uu____7641, q)) - args in + | (x1,q) -> + let uu____7641 = readback cfg x1 in (uu____7641, q)) + args + in let apply1 tm = match args1 with | [] -> tm - | uu____7660 -> FStar_Syntax_Util.mk_app tm args1 in + | uu____7660 -> FStar_Syntax_Util.mk_app tm args1 in (match us with | uu____7667::uu____7668 -> let uu____7671 = let uu____7674 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_fvar fv) - FStar_Pervasives_Native.None FStar_Range.dummyRange in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in FStar_Syntax_Syntax.mk_Tm_uinst uu____7674 - (FStar_List.rev us) in + (FStar_List.rev us) + in apply1 uu____7671 | [] -> let uu____7675 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_fvar fv) - FStar_Pervasives_Native.None FStar_Range.dummyRange in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in apply1 uu____7675) - | FStar_TypeChecker_NBETerm.FV (fv, us, args) -> + | FStar_TypeChecker_NBETerm.FV (fv,us,args) -> let args1 = map_rev - (fun uu____7716 -> + (fun uu____7716 -> match uu____7716 with - | (x1, q) -> - let uu____7727 = readback cfg x1 in (uu____7727, q)) - args in + | (x1,q) -> + let uu____7727 = readback cfg x1 in (uu____7727, q)) + args + in let apply1 tm = match args1 with | [] -> tm - | uu____7746 -> FStar_Syntax_Util.mk_app tm args1 in + | uu____7746 -> FStar_Syntax_Util.mk_app tm args1 in (match us with | uu____7753::uu____7754 -> let uu____7757 = let uu____7760 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_fvar fv) - FStar_Pervasives_Native.None FStar_Range.dummyRange in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in FStar_Syntax_Syntax.mk_Tm_uinst uu____7760 - (FStar_List.rev us) in + (FStar_List.rev us) + in apply1 uu____7757 | [] -> let uu____7761 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_fvar fv) - FStar_Pervasives_Native.None FStar_Range.dummyRange in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in apply1 uu____7761) - | FStar_TypeChecker_NBETerm.Accu - (FStar_TypeChecker_NBETerm.Var bv, []) -> - FStar_Syntax_Syntax.bv_to_name bv - | FStar_TypeChecker_NBETerm.Accu - (FStar_TypeChecker_NBETerm.Var bv, ts) -> + | FStar_TypeChecker_NBETerm.Accu (FStar_TypeChecker_NBETerm.Var bv,[]) + -> FStar_Syntax_Syntax.bv_to_name bv + | FStar_TypeChecker_NBETerm.Accu (FStar_TypeChecker_NBETerm.Var bv,ts) + -> let args = map_rev - (fun uu____7808 -> + (fun uu____7808 -> match uu____7808 with - | (x1, q) -> - let uu____7819 = readback cfg x1 in (uu____7819, q)) ts in - let uu____7820 = FStar_Syntax_Syntax.bv_to_name bv in + | (x1,q) -> + let uu____7819 = readback cfg x1 in (uu____7819, q)) + ts + in + let uu____7820 = FStar_Syntax_Syntax.bv_to_name bv in FStar_Syntax_Util.mk_app uu____7820 args | FStar_TypeChecker_NBETerm.Accu - (FStar_TypeChecker_NBETerm.Match (scrut, cases, make_branches), - ts) + (FStar_TypeChecker_NBETerm.Match (scrut,cases,make_branches),ts) -> let args = map_rev - (fun uu____7880 -> + (fun uu____7880 -> match uu____7880 with - | (x1, q) -> - let uu____7891 = readback cfg x1 in (uu____7891, q)) ts in + | (x1,q) -> + let uu____7891 = readback cfg x1 in (uu____7891, q)) + ts + in let head1 = - let scrut_new = readback cfg scrut in - let branches_new = make_branches (readback cfg) in + let scrut_new = readback cfg scrut in + let branches_new = make_branches (readback cfg) in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_match (scrut_new, branches_new)) - FStar_Pervasives_Native.None FStar_Range.dummyRange in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in (match ts with | [] -> head1 | uu____7921 -> FStar_Syntax_Util.mk_app head1 args) - | FStar_TypeChecker_NBETerm.Rec - (lb, lbs, bs, args, _ar, _ar_lst, _cfg) -> + | FStar_TypeChecker_NBETerm.Rec (lb,lbs,bs,args,_ar,_ar_lst,_cfg) -> let head1 = match lb.FStar_Syntax_Syntax.lbname with | FStar_Util.Inl bv -> @@ -2294,26 +2477,29 @@ and (readback : "Reading back of local recursive definitions is not supported yet." | FStar_Util.Inr fv -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_fvar fv) - FStar_Pervasives_Native.None FStar_Range.dummyRange in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in let args1 = map_rev - (fun uu____8008 -> + (fun uu____8008 -> match uu____8008 with - | (x1, q) -> - let uu____8019 = readback cfg x1 in (uu____8019, q)) - args in + | (x1,q) -> + let uu____8019 = readback cfg x1 in (uu____8019, q)) + args + in (match args1 with | [] -> head1 | uu____8024 -> FStar_Syntax_Util.mk_app head1 args1) - | FStar_TypeChecker_NBETerm.Quote (qt, qi) -> + | FStar_TypeChecker_NBETerm.Quote (qt,qi) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_quoted (qt, qi)) FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_TypeChecker_NBETerm.Lazy (FStar_Util.Inl li, uu____8036) -> + | FStar_TypeChecker_NBETerm.Lazy (FStar_Util.Inl li,uu____8036) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_lazy li) FStar_Pervasives_Native.None FStar_Range.dummyRange - | FStar_TypeChecker_NBETerm.Lazy (uu____8053, thunk1) -> - let uu____8075 = FStar_Common.force_thunk thunk1 in + | FStar_TypeChecker_NBETerm.Lazy (uu____8053,thunk1) -> + let uu____8075 = FStar_Common.force_thunk thunk1 in readback cfg uu____8075) + type step = | Primops | UnfoldUntil of FStar_Syntax_Syntax.delta_depth @@ -2322,53 +2508,61 @@ type step = | UnfoldTac | Reify let (uu___is_Primops : step -> Prims.bool) = - fun projectee -> - match projectee with | Primops -> true | uu____8104 -> false + fun projectee -> + match projectee with | Primops -> true | uu____8104 -> false + let (uu___is_UnfoldUntil : step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldUntil _0 -> true | uu____8116 -> false + let (__proj__UnfoldUntil__item___0 : step -> FStar_Syntax_Syntax.delta_depth) - = fun projectee -> match projectee with | UnfoldUntil _0 -> _0 + = fun projectee -> match projectee with | UnfoldUntil _0 -> _0 let (uu___is_UnfoldOnly : step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldOnly _0 -> true | uu____8137 -> false + let (__proj__UnfoldOnly__item___0 : step -> FStar_Ident.lid Prims.list) = - fun projectee -> match projectee with | UnfoldOnly _0 -> _0 + fun projectee -> match projectee with | UnfoldOnly _0 -> _0 let (uu___is_UnfoldAttr : step -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnfoldAttr _0 -> true | uu____8164 -> false + let (__proj__UnfoldAttr__item___0 : step -> FStar_Ident.lid Prims.list) = - fun projectee -> match projectee with | UnfoldAttr _0 -> _0 + fun projectee -> match projectee with | UnfoldAttr _0 -> _0 let (uu___is_UnfoldTac : step -> Prims.bool) = - fun projectee -> - match projectee with | UnfoldTac -> true | uu____8188 -> false + fun projectee -> + match projectee with | UnfoldTac -> true | uu____8188 -> false + let (uu___is_Reify : step -> Prims.bool) = - fun projectee -> match projectee with | Reify -> true | uu____8199 -> false + fun projectee -> + match projectee with | Reify -> true | uu____8199 -> false + let (step_as_normalizer_step : step -> FStar_TypeChecker_Env.step) = - fun uu___1_8206 -> + fun uu___1_8206 -> match uu___1_8206 with - | Primops -> FStar_TypeChecker_Env.Primops + | Primops -> FStar_TypeChecker_Env.Primops | UnfoldUntil d -> FStar_TypeChecker_Env.UnfoldUntil d | UnfoldOnly lids -> FStar_TypeChecker_Env.UnfoldOnly lids | UnfoldAttr lids -> FStar_TypeChecker_Env.UnfoldAttr lids - | UnfoldTac -> FStar_TypeChecker_Env.UnfoldTac - | Reify -> FStar_TypeChecker_Env.Reify + | UnfoldTac -> FStar_TypeChecker_Env.UnfoldTac + | Reify -> FStar_TypeChecker_Env.Reify + let (normalize : FStar_TypeChecker_Cfg.primitive_step Prims.list -> FStar_TypeChecker_Env.step Prims.list -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun psteps -> - fun steps -> - fun env -> - fun e -> - let cfg = FStar_TypeChecker_Cfg.config' psteps steps env in + fun psteps -> + fun steps -> + fun env -> + fun e -> + let cfg = FStar_TypeChecker_Cfg.config' psteps steps env in let cfg1 = - let uu___1247_8245 = cfg in + let uu___1247_8245 = cfg in { FStar_TypeChecker_Cfg.steps = - (let uu___1249_8248 = cfg.FStar_TypeChecker_Cfg.steps in + (let uu___1249_8248 = cfg.FStar_TypeChecker_Cfg.steps in { FStar_TypeChecker_Cfg.beta = (uu___1249_8248.FStar_TypeChecker_Cfg.beta); @@ -2438,32 +2632,34 @@ let (normalize : (uu___1247_8245.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = (uu___1247_8245.FStar_TypeChecker_Cfg.reifying) - } in + } in debug cfg1 - (fun uu____8253 -> - let uu____8254 = FStar_Syntax_Print.term_to_string e in + (fun uu____8253 -> + let uu____8254 = FStar_Syntax_Print.term_to_string e in FStar_Util.print1 "Calling NBE with (%s) {\n" uu____8254); (let r = - let uu____8258 = translate cfg1 [] e in readback cfg1 uu____8258 in + let uu____8258 = translate cfg1 [] e in + readback cfg1 uu____8258 in debug cfg1 - (fun uu____8262 -> - let uu____8263 = FStar_Syntax_Print.term_to_string r in + (fun uu____8262 -> + let uu____8263 = FStar_Syntax_Print.term_to_string r in FStar_Util.print1 "}\nNBE returned (%s)\n" uu____8263); r) + let (normalize_for_unit_test : FStar_TypeChecker_Env.step Prims.list -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun steps -> - fun env -> - fun e -> - let cfg = FStar_TypeChecker_Cfg.config steps env in + fun steps -> + fun env -> + fun e -> + let cfg = FStar_TypeChecker_Cfg.config steps env in let cfg1 = - let uu___1264_8288 = cfg in + let uu___1264_8288 = cfg in { FStar_TypeChecker_Cfg.steps = - (let uu___1266_8291 = cfg.FStar_TypeChecker_Cfg.steps in + (let uu___1266_8291 = cfg.FStar_TypeChecker_Cfg.steps in { FStar_TypeChecker_Cfg.beta = (uu___1266_8291.FStar_TypeChecker_Cfg.beta); @@ -2533,15 +2729,17 @@ let (normalize_for_unit_test : (uu___1264_8288.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = (uu___1264_8288.FStar_TypeChecker_Cfg.reifying) - } in + } in debug cfg1 - (fun uu____8296 -> - let uu____8297 = FStar_Syntax_Print.term_to_string e in + (fun uu____8296 -> + let uu____8297 = FStar_Syntax_Print.term_to_string e in FStar_Util.print1 "Calling NBE with (%s) {\n" uu____8297); (let r = - let uu____8301 = translate cfg1 [] e in readback cfg1 uu____8301 in + let uu____8301 = translate cfg1 [] e in readback cfg1 uu____8301 + in debug cfg1 - (fun uu____8305 -> - let uu____8306 = FStar_Syntax_Print.term_to_string r in + (fun uu____8305 -> + let uu____8306 = FStar_Syntax_Print.term_to_string r in FStar_Util.print1 "}\nNBE returned (%s)\n" uu____8306); - r) \ No newline at end of file + r) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_NBETerm.ml b/src/ocaml-output/FStar_TypeChecker_NBETerm.ml index d9a2a087001..abbf495f8a3 100644 --- a/src/ocaml-output/FStar_TypeChecker_NBETerm.ml +++ b/src/ocaml-output/FStar_TypeChecker_NBETerm.ml @@ -9,31 +9,36 @@ type constant = | Char of FStar_Char.char | Range of FStar_Range.range let (uu___is_Unit : constant -> Prims.bool) = - fun projectee -> match projectee with | Unit -> true | uu____57 -> false + fun projectee -> match projectee with | Unit -> true | uu____57 -> false let (uu___is_Bool : constant -> Prims.bool) = - fun projectee -> match projectee with | Bool _0 -> true | uu____70 -> false + fun projectee -> + match projectee with | Bool _0 -> true | uu____70 -> false + let (__proj__Bool__item___0 : constant -> Prims.bool) = - fun projectee -> match projectee with | Bool _0 -> _0 + fun projectee -> match projectee with | Bool _0 -> _0 let (uu___is_Int : constant -> Prims.bool) = - fun projectee -> match projectee with | Int _0 -> true | uu____92 -> false + fun projectee -> match projectee with | Int _0 -> true | uu____92 -> false let (__proj__Int__item___0 : constant -> FStar_BigInt.t) = - fun projectee -> match projectee with | Int _0 -> _0 + fun projectee -> match projectee with | Int _0 -> _0 let (uu___is_String : constant -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | String _0 -> true | uu____116 -> false + let (__proj__String__item___0 : constant -> (Prims.string * FStar_Range.range)) = - fun projectee -> match projectee with | String _0 -> _0 + fun projectee -> match projectee with | String _0 -> _0 let (uu___is_Char : constant -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Char _0 -> true | uu____151 -> false + let (__proj__Char__item___0 : constant -> FStar_Char.char) = - fun projectee -> match projectee with | Char _0 -> _0 + fun projectee -> match projectee with | Char _0 -> _0 let (uu___is_Range : constant -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Range _0 -> true | uu____173 -> false + let (__proj__Range__item___0 : constant -> FStar_Range.range) = - fun projectee -> match projectee with | Range _0 -> _0 + fun projectee -> match projectee with | Range _0 -> _0 type atom = | Var of var | Match of (t * (t -> t) * @@ -56,9 +61,10 @@ and t = | Refinement of ((t -> t) * (unit -> (t * FStar_Syntax_Syntax.aqual))) | Reflect of t | Quote of (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.quoteinfo) - | Lazy of ((FStar_Syntax_Syntax.lazyinfo, - (FStar_Dyn.dyn * FStar_Syntax_Syntax.emb_typ)) FStar_Util.either * t - FStar_Common.thunk) + | Lazy of + ((FStar_Syntax_Syntax.lazyinfo,(FStar_Dyn.dyn * + FStar_Syntax_Syntax.emb_typ)) + FStar_Util.either * t FStar_Common.thunk) | Rec of (FStar_Syntax_Syntax.letbinding * FStar_Syntax_Syntax.letbinding Prims.list * t Prims.list * (t * FStar_Syntax_Syntax.aqual) Prims.list * Prims.int * Prims.bool Prims.list * @@ -93,515 +99,576 @@ and residual_comp = residual_typ: t FStar_Pervasives_Native.option ; residual_flags: cflag Prims.list } let (uu___is_Var : atom -> Prims.bool) = - fun projectee -> match projectee with | Var _0 -> true | uu____555 -> false + fun projectee -> + match projectee with | Var _0 -> true | uu____555 -> false + let (__proj__Var__item___0 : atom -> var) = - fun projectee -> match projectee with | Var _0 -> _0 + fun projectee -> match projectee with | Var _0 -> _0 let (uu___is_Match : atom -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Match _0 -> true | uu____591 -> false + let (__proj__Match__item___0 : atom -> (t * (t -> t) * ((t -> FStar_Syntax_Syntax.term) -> FStar_Syntax_Syntax.branch Prims.list))) - = fun projectee -> match projectee with | Match _0 -> _0 + = fun projectee -> match projectee with | Match _0 -> _0 let (uu___is_Lam : t -> Prims.bool) = - fun projectee -> match projectee with | Lam _0 -> true | uu____691 -> false + fun projectee -> + match projectee with | Lam _0 -> true | uu____691 -> false + let (__proj__Lam__item___0 : t -> ((t Prims.list -> t) * (t Prims.list -> (t * FStar_Syntax_Syntax.aqual)) Prims.list * Prims.int * (unit -> residual_comp) FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | Lam _0 -> _0 + = fun projectee -> match projectee with | Lam _0 -> _0 let (uu___is_Accu : t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Accu _0 -> true | uu____810 -> false + let (__proj__Accu__item___0 : t -> (atom * (t * FStar_Syntax_Syntax.aqual) Prims.list)) = - fun projectee -> match projectee with | Accu _0 -> _0 + fun projectee -> match projectee with | Accu _0 -> _0 let (uu___is_Construct : t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Construct _0 -> true | uu____873 -> false + let (__proj__Construct__item___0 : t -> (FStar_Syntax_Syntax.fv * FStar_Syntax_Syntax.universe Prims.list * (t * FStar_Syntax_Syntax.aqual) Prims.list)) - = fun projectee -> match projectee with | Construct _0 -> _0 + = fun projectee -> match projectee with | Construct _0 -> _0 let (uu___is_FV : t -> Prims.bool) = - fun projectee -> match projectee with | FV _0 -> true | uu____948 -> false + fun projectee -> match projectee with | FV _0 -> true | uu____948 -> false let (__proj__FV__item___0 : t -> (FStar_Syntax_Syntax.fv * FStar_Syntax_Syntax.universe Prims.list * (t * FStar_Syntax_Syntax.aqual) Prims.list)) - = fun projectee -> match projectee with | FV _0 -> _0 + = fun projectee -> match projectee with | FV _0 -> _0 let (uu___is_Constant : t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Constant _0 -> true | uu____1009 -> false + let (__proj__Constant__item___0 : t -> constant) = - fun projectee -> match projectee with | Constant _0 -> _0 + fun projectee -> match projectee with | Constant _0 -> _0 let (uu___is_Type_t : t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Type_t _0 -> true | uu____1028 -> false + let (__proj__Type_t__item___0 : t -> FStar_Syntax_Syntax.universe) = - fun projectee -> match projectee with | Type_t _0 -> _0 + fun projectee -> match projectee with | Type_t _0 -> _0 let (uu___is_Univ : t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Univ _0 -> true | uu____1047 -> false + let (__proj__Univ__item___0 : t -> FStar_Syntax_Syntax.universe) = - fun projectee -> match projectee with | Univ _0 -> _0 + fun projectee -> match projectee with | Univ _0 -> _0 let (uu___is_Unknown : t -> Prims.bool) = - fun projectee -> - match projectee with | Unknown -> true | uu____1065 -> false + fun projectee -> + match projectee with | Unknown -> true | uu____1065 -> false + let (uu___is_Arrow : t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Arrow _0 -> true | uu____1097 -> false + let (__proj__Arrow__item___0 : t -> ((t Prims.list -> comp) * (t Prims.list -> (t * FStar_Syntax_Syntax.aqual)) Prims.list)) - = fun projectee -> match projectee with | Arrow _0 -> _0 + = fun projectee -> match projectee with | Arrow _0 -> _0 let (uu___is_Refinement : t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Refinement _0 -> true | uu____1190 -> false + let (__proj__Refinement__item___0 : t -> ((t -> t) * (unit -> (t * FStar_Syntax_Syntax.aqual)))) = - fun projectee -> match projectee with | Refinement _0 -> _0 + fun projectee -> match projectee with | Refinement _0 -> _0 let (uu___is_Reflect : t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Reflect _0 -> true | uu____1251 -> false + let (__proj__Reflect__item___0 : t -> t) = - fun projectee -> match projectee with | Reflect _0 -> _0 + fun projectee -> match projectee with | Reflect _0 -> _0 let (uu___is_Quote : t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Quote _0 -> true | uu____1274 -> false + let (__proj__Quote__item___0 : t -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.quoteinfo)) = - fun projectee -> match projectee with | Quote _0 -> _0 + fun projectee -> match projectee with | Quote _0 -> _0 let (uu___is_Lazy : t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Lazy _0 -> true | uu____1319 -> false + let (__proj__Lazy__item___0 : t -> - ((FStar_Syntax_Syntax.lazyinfo, - (FStar_Dyn.dyn * FStar_Syntax_Syntax.emb_typ)) FStar_Util.either * t - FStar_Common.thunk)) - = fun projectee -> match projectee with | Lazy _0 -> _0 + ((FStar_Syntax_Syntax.lazyinfo,(FStar_Dyn.dyn * + FStar_Syntax_Syntax.emb_typ)) + FStar_Util.either * t FStar_Common.thunk)) + = fun projectee -> match projectee with | Lazy _0 -> _0 let (uu___is_Rec : t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Rec _0 -> true | uu____1416 -> false + let (__proj__Rec__item___0 : t -> (FStar_Syntax_Syntax.letbinding * FStar_Syntax_Syntax.letbinding Prims.list * t Prims.list * (t * FStar_Syntax_Syntax.aqual) Prims.list * Prims.int * Prims.bool Prims.list * (t Prims.list -> FStar_Syntax_Syntax.letbinding -> t))) - = fun projectee -> match projectee with | Rec _0 -> _0 + = fun projectee -> match projectee with | Rec _0 -> _0 let (uu___is_Tot : comp -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Tot _0 -> true | uu____1549 -> false + let (__proj__Tot__item___0 : comp -> (t * FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | Tot _0 -> _0 + = fun projectee -> match projectee with | Tot _0 -> _0 let (uu___is_GTot : comp -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | GTot _0 -> true | uu____1592 -> false + let (__proj__GTot__item___0 : comp -> (t * FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | GTot _0 -> _0 + = fun projectee -> match projectee with | GTot _0 -> _0 let (uu___is_Comp : comp -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Comp _0 -> true | uu____1629 -> false + let (__proj__Comp__item___0 : comp -> comp_typ) = - fun projectee -> match projectee with | Comp _0 -> _0 + fun projectee -> match projectee with | Comp _0 -> _0 let (__proj__Mkcomp_typ__item__comp_univs : comp_typ -> FStar_Syntax_Syntax.universes) = - fun projectee -> + fun projectee -> match projectee with | { comp_univs; effect_name; result_typ; effect_args; flags;_} -> comp_univs + let (__proj__Mkcomp_typ__item__effect_name : comp_typ -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { comp_univs; effect_name; result_typ; effect_args; flags;_} -> effect_name + let (__proj__Mkcomp_typ__item__result_typ : comp_typ -> t) = - fun projectee -> + fun projectee -> match projectee with | { comp_univs; effect_name; result_typ; effect_args; flags;_} -> result_typ + let (__proj__Mkcomp_typ__item__effect_args : comp_typ -> (t * FStar_Syntax_Syntax.aqual) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { comp_univs; effect_name; result_typ; effect_args; flags;_} -> effect_args + let (__proj__Mkcomp_typ__item__flags : comp_typ -> cflag Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { comp_univs; effect_name; result_typ; effect_args; flags;_} -> flags + let (uu___is_TOTAL : cflag -> Prims.bool) = - fun projectee -> match projectee with | TOTAL -> true | uu____1758 -> false + fun projectee -> + match projectee with | TOTAL -> true | uu____1758 -> false + let (uu___is_MLEFFECT : cflag -> Prims.bool) = - fun projectee -> - match projectee with | MLEFFECT -> true | uu____1769 -> false + fun projectee -> + match projectee with | MLEFFECT -> true | uu____1769 -> false + let (uu___is_RETURN : cflag -> Prims.bool) = - fun projectee -> - match projectee with | RETURN -> true | uu____1780 -> false + fun projectee -> + match projectee with | RETURN -> true | uu____1780 -> false + let (uu___is_PARTIAL_RETURN : cflag -> Prims.bool) = - fun projectee -> - match projectee with | PARTIAL_RETURN -> true | uu____1791 -> false + fun projectee -> + match projectee with | PARTIAL_RETURN -> true | uu____1791 -> false + let (uu___is_SOMETRIVIAL : cflag -> Prims.bool) = - fun projectee -> - match projectee with | SOMETRIVIAL -> true | uu____1802 -> false + fun projectee -> + match projectee with | SOMETRIVIAL -> true | uu____1802 -> false + let (uu___is_TRIVIAL_POSTCONDITION : cflag -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | TRIVIAL_POSTCONDITION -> true + | TRIVIAL_POSTCONDITION -> true | uu____1813 -> false + let (uu___is_SHOULD_NOT_INLINE : cflag -> Prims.bool) = - fun projectee -> - match projectee with | SHOULD_NOT_INLINE -> true | uu____1824 -> false + fun projectee -> + match projectee with | SHOULD_NOT_INLINE -> true | uu____1824 -> false + let (uu___is_LEMMA : cflag -> Prims.bool) = - fun projectee -> match projectee with | LEMMA -> true | uu____1835 -> false + fun projectee -> + match projectee with | LEMMA -> true | uu____1835 -> false + let (uu___is_CPS : cflag -> Prims.bool) = - fun projectee -> match projectee with | CPS -> true | uu____1846 -> false + fun projectee -> match projectee with | CPS -> true | uu____1846 -> false let (uu___is_DECREASES : cflag -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | DECREASES _0 -> true | uu____1858 -> false + let (__proj__DECREASES__item___0 : cflag -> t) = - fun projectee -> match projectee with | DECREASES _0 -> _0 + fun projectee -> match projectee with | DECREASES _0 -> _0 let (__proj__Mkresidual_comp__item__residual_effect : residual_comp -> FStar_Ident.lident) = - fun projectee -> + fun projectee -> match projectee with | { residual_effect; residual_typ; residual_flags;_} -> residual_effect + let (__proj__Mkresidual_comp__item__residual_typ : residual_comp -> t FStar_Pervasives_Native.option) = - fun projectee -> + fun projectee -> match projectee with | { residual_effect; residual_typ; residual_flags;_} -> residual_typ + let (__proj__Mkresidual_comp__item__residual_flags : residual_comp -> cflag Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { residual_effect; residual_typ; residual_flags;_} -> residual_flags + type arg = (t * FStar_Syntax_Syntax.aqual) type args = (t * FStar_Syntax_Syntax.aqual) Prims.list type head = t type annot = t FStar_Pervasives_Native.option let (isAccu : t -> Prims.bool) = - fun trm -> match trm with | Accu uu____1934 -> true | uu____1946 -> false + fun trm -> match trm with | Accu uu____1934 -> true | uu____1946 -> false let (isNotAccu : t -> Prims.bool) = - fun x -> - match x with - | Accu (uu____1956, uu____1957) -> false - | uu____1971 -> true + fun x -> + match x with | Accu (uu____1956,uu____1957) -> false | uu____1971 -> true + let (mkConstruct : FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.universe Prims.list -> args -> t) - = fun i -> fun us -> fun ts -> Construct (i, us, ts) + = fun i -> fun us -> fun ts -> Construct (i, us, ts) let (mkFV : FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.universe Prims.list -> args -> t) - = fun i -> fun us -> fun ts -> FV (i, us, ts) -let (mkAccuVar : var -> t) = fun v1 -> Accu ((Var v1), []) + = fun i -> fun us -> fun ts -> FV (i, us, ts) +let (mkAccuVar : var -> t) = fun v1 -> Accu ((Var v1), []) let (mkAccuMatch : t -> (t -> t) -> ((t -> FStar_Syntax_Syntax.term) -> FStar_Syntax_Syntax.branch Prims.list) -> t) - = fun s -> fun cases -> fun bs -> Accu ((Match (s, cases, bs)), []) + = fun s -> fun cases -> fun bs -> Accu ((Match (s, cases, bs)), []) let (equal_if : Prims.bool -> FStar_Syntax_Util.eq_result) = - fun uu___0_2107 -> + fun uu___0_2107 -> if uu___0_2107 then FStar_Syntax_Util.Equal else FStar_Syntax_Util.Unknown + let (equal_iff : Prims.bool -> FStar_Syntax_Util.eq_result) = - fun uu___1_2118 -> + fun uu___1_2118 -> if uu___1_2118 then FStar_Syntax_Util.Equal else FStar_Syntax_Util.NotEqual + let (eq_inj : FStar_Syntax_Util.eq_result -> FStar_Syntax_Util.eq_result -> FStar_Syntax_Util.eq_result) = - fun r1 -> - fun r2 -> + fun r1 -> + fun r2 -> match (r1, r2) with - | (FStar_Syntax_Util.Equal, FStar_Syntax_Util.Equal) -> + | (FStar_Syntax_Util.Equal ,FStar_Syntax_Util.Equal ) -> FStar_Syntax_Util.Equal - | (FStar_Syntax_Util.NotEqual, uu____2134) -> + | (FStar_Syntax_Util.NotEqual ,uu____2134) -> FStar_Syntax_Util.NotEqual - | (uu____2135, FStar_Syntax_Util.NotEqual) -> + | (uu____2135,FStar_Syntax_Util.NotEqual ) -> FStar_Syntax_Util.NotEqual - | (FStar_Syntax_Util.Unknown, uu____2136) -> FStar_Syntax_Util.Unknown - | (uu____2137, FStar_Syntax_Util.Unknown) -> FStar_Syntax_Util.Unknown + | (FStar_Syntax_Util.Unknown ,uu____2136) -> FStar_Syntax_Util.Unknown + | (uu____2137,FStar_Syntax_Util.Unknown ) -> FStar_Syntax_Util.Unknown + let (eq_and : FStar_Syntax_Util.eq_result -> (unit -> FStar_Syntax_Util.eq_result) -> FStar_Syntax_Util.eq_result) = - fun f -> - fun g -> + fun f -> + fun g -> match f with - | FStar_Syntax_Util.Equal -> g () + | FStar_Syntax_Util.Equal -> g () | uu____2154 -> FStar_Syntax_Util.Unknown + let (eq_constant : constant -> constant -> FStar_Syntax_Util.eq_result) = - fun c1 -> - fun c2 -> + fun c1 -> + fun c2 -> match (c1, c2) with - | (Unit, Unit) -> FStar_Syntax_Util.Equal - | (Bool b1, Bool b2) -> equal_iff (b1 = b2) - | (Int i1, Int i2) -> equal_iff (i1 = i2) - | (String (s1, uu____2174), String (s2, uu____2176)) -> + | (Unit ,Unit ) -> FStar_Syntax_Util.Equal + | (Bool b1,Bool b2) -> equal_iff (b1 = b2) + | (Int i1,Int i2) -> equal_iff (i1 = i2) + | (String (s1,uu____2174),String (s2,uu____2176)) -> equal_iff (s1 = s2) - | (Char c11, Char c21) -> equal_iff (c11 = c21) - | (Range r1, Range r2) -> FStar_Syntax_Util.Unknown - | (uu____2189, uu____2190) -> FStar_Syntax_Util.NotEqual + | (Char c11,Char c21) -> equal_iff (c11 = c21) + | (Range r1,Range r2) -> FStar_Syntax_Util.Unknown + | (uu____2189,uu____2190) -> FStar_Syntax_Util.NotEqual + let rec (eq_t : t -> t -> FStar_Syntax_Util.eq_result) = - fun t1 -> - fun t2 -> + fun t1 -> + fun t2 -> match (t1, t2) with - | (Lam uu____2226, Lam uu____2227) -> FStar_Syntax_Util.Unknown - | (Accu (a1, as1), Accu (a2, as2)) -> - let uu____2316 = eq_atom a1 a2 in - eq_and uu____2316 (fun uu____2318 -> eq_args as1 as2) - | (Construct (v1, us1, args1), Construct (v2, us2, args2)) -> - let uu____2357 = FStar_Syntax_Syntax.fv_eq v1 v2 in + | (Lam uu____2226,Lam uu____2227) -> FStar_Syntax_Util.Unknown + | (Accu (a1,as1),Accu (a2,as2)) -> + let uu____2316 = eq_atom a1 a2 in + eq_and uu____2316 (fun uu____2318 -> eq_args as1 as2) + | (Construct (v1,us1,args1),Construct (v2,us2,args2)) -> + let uu____2357 = FStar_Syntax_Syntax.fv_eq v1 v2 in if uu____2357 then (if (FStar_List.length args1) <> (FStar_List.length args2) then failwith "eq_t, different number of args on Construct" else (); - (let uu____2373 = FStar_List.zip args1 args2 in + (let uu____2373 = FStar_List.zip args1 args2 in FStar_All.pipe_left (FStar_List.fold_left - (fun acc -> - fun uu____2430 -> + (fun acc -> + fun uu____2430 -> match uu____2430 with - | ((a1, uu____2444), (a2, uu____2446)) -> - let uu____2455 = eq_t a1 a2 in + | ((a1,uu____2444),(a2,uu____2446)) -> + let uu____2455 = eq_t a1 a2 in eq_inj acc uu____2455) FStar_Syntax_Util.Equal) uu____2373)) else FStar_Syntax_Util.NotEqual - | (FV (v1, us1, args1), FV (v2, us2, args2)) -> - let uu____2496 = FStar_Syntax_Syntax.fv_eq v1 v2 in + | (FV (v1,us1,args1),FV (v2,us2,args2)) -> + let uu____2496 = FStar_Syntax_Syntax.fv_eq v1 v2 in if uu____2496 then let uu____2499 = - let uu____2500 = FStar_Syntax_Util.eq_univs_list us1 us2 in - equal_iff uu____2500 in - eq_and uu____2499 (fun uu____2503 -> eq_args args1 args2) + let uu____2500 = FStar_Syntax_Util.eq_univs_list us1 us2 in + equal_iff uu____2500 in + eq_and uu____2499 (fun uu____2503 -> eq_args args1 args2) else FStar_Syntax_Util.Unknown - | (Constant c1, Constant c2) -> eq_constant c1 c2 - | (Type_t u1, Type_t u2) -> - let uu____2510 = FStar_Syntax_Util.eq_univs u1 u2 in + | (Constant c1,Constant c2) -> eq_constant c1 c2 + | (Type_t u1,Type_t u2) -> + let uu____2510 = FStar_Syntax_Util.eq_univs u1 u2 in equal_iff uu____2510 - | (Univ u1, Univ u2) -> - let uu____2514 = FStar_Syntax_Util.eq_univs u1 u2 in + | (Univ u1,Univ u2) -> + let uu____2514 = FStar_Syntax_Util.eq_univs u1 u2 in equal_iff uu____2514 - | (Refinement (r1, t11), Refinement (r2, t21)) -> + | (Refinement (r1,t11),Refinement (r2,t21)) -> let x = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Syntax.t_unit + in let uu____2561 = let uu____2562 = - let uu____2563 = t11 () in - FStar_Pervasives_Native.fst uu____2563 in + let uu____2563 = t11 () in + FStar_Pervasives_Native.fst uu____2563 in let uu____2568 = - let uu____2569 = t21 () in - FStar_Pervasives_Native.fst uu____2569 in - eq_t uu____2562 uu____2568 in + let uu____2569 = t21 () in + FStar_Pervasives_Native.fst uu____2569 in + eq_t uu____2562 uu____2568 in eq_and uu____2561 - (fun uu____2577 -> - let uu____2578 = let uu____2579 = mkAccuVar x in r1 uu____2579 in - let uu____2580 = let uu____2581 = mkAccuVar x in r2 uu____2581 in + (fun uu____2577 -> + let uu____2578 = + let uu____2579 = mkAccuVar x in r1 uu____2579 in + let uu____2580 = + let uu____2581 = mkAccuVar x in r2 uu____2581 in eq_t uu____2578 uu____2580) - | (Unknown, Unknown) -> FStar_Syntax_Util.Equal - | (uu____2582, uu____2583) -> FStar_Syntax_Util.Unknown + | (Unknown ,Unknown ) -> FStar_Syntax_Util.Equal + | (uu____2582,uu____2583) -> FStar_Syntax_Util.Unknown + and (eq_atom : atom -> atom -> FStar_Syntax_Util.eq_result) = - fun a1 -> - fun a2 -> + fun a1 -> + fun a2 -> match (a1, a2) with - | (Var bv1, Var bv2) -> equal_if (FStar_Syntax_Syntax.bv_eq bv1 bv2) - | (uu____2588, uu____2589) -> FStar_Syntax_Util.Unknown + | (Var bv1,Var bv2) -> equal_if (FStar_Syntax_Syntax.bv_eq bv1 bv2) + | (uu____2588,uu____2589) -> FStar_Syntax_Util.Unknown + and (eq_arg : arg -> arg -> FStar_Syntax_Util.eq_result) = - fun a1 -> - fun a2 -> + fun a1 -> + fun a2 -> eq_t (FStar_Pervasives_Native.fst a1) (FStar_Pervasives_Native.fst a2) + and (eq_args : args -> args -> FStar_Syntax_Util.eq_result) = - fun as1 -> - fun as2 -> + fun as1 -> + fun as2 -> match (as1, as2) with - | ([], []) -> FStar_Syntax_Util.Equal - | (x::xs, y::ys) -> - let uu____2670 = eq_arg x y in - eq_and uu____2670 (fun uu____2672 -> eq_args xs ys) - | (uu____2673, uu____2674) -> FStar_Syntax_Util.Unknown + | ([],[]) -> FStar_Syntax_Util.Equal + | (x::xs,y::ys) -> + let uu____2670 = eq_arg x y in + eq_and uu____2670 (fun uu____2672 -> eq_args xs ys) + | (uu____2673,uu____2674) -> FStar_Syntax_Util.Unknown + let (constant_to_string : constant -> Prims.string) = - fun c -> + fun c -> match c with - | Unit -> "Unit" + | Unit -> "Unit" | Bool b -> if b then "Bool true" else "Bool false" | Int i -> FStar_BigInt.string_of_big_int i | Char c1 -> FStar_Util.format1 "'%s'" (FStar_Util.string_of_char c1) - | String (s, uu____2721) -> FStar_Util.format1 "\"%s\"" s + | String (s,uu____2721) -> FStar_Util.format1 "\"%s\"" s | Range r -> - let uu____2726 = FStar_Range.string_of_range r in + let uu____2726 = FStar_Range.string_of_range r in FStar_Util.format1 "Range %s" uu____2726 + let rec (t_to_string : t -> Prims.string) = - fun x -> + fun x -> match x with - | Lam (b, args, arity, uu____2755) -> - let uu____2800 = FStar_Util.string_of_int (FStar_List.length args) in - let uu____2811 = FStar_Util.string_of_int arity in + | Lam (b,args,arity,uu____2755) -> + let uu____2800 = FStar_Util.string_of_int (FStar_List.length args) + in + let uu____2811 = FStar_Util.string_of_int arity in FStar_Util.format2 "Lam (_, %s args, %s)" uu____2800 uu____2811 - | Accu (a, l) -> + | Accu (a,l) -> let uu____2828 = - let uu____2830 = atom_to_string a in + let uu____2830 = atom_to_string a in let uu____2832 = let uu____2834 = let uu____2836 = let uu____2838 = FStar_List.map - (fun x1 -> t_to_string (FStar_Pervasives_Native.fst x1)) - l in - FStar_String.concat "; " uu____2838 in - FStar_String.op_Hat uu____2836 ")" in - FStar_String.op_Hat ") (" uu____2834 in - FStar_String.op_Hat uu____2830 uu____2832 in + (fun x1 -> t_to_string (FStar_Pervasives_Native.fst x1)) + l + in + FStar_String.concat "; " uu____2838 in + FStar_String.op_Hat uu____2836 ")" in + FStar_String.op_Hat ") (" uu____2834 in + FStar_String.op_Hat uu____2830 uu____2832 in FStar_String.op_Hat "Accu (" uu____2828 - | Construct (fv, us, l) -> + | Construct (fv,us,l) -> let uu____2876 = - let uu____2878 = FStar_Syntax_Print.fv_to_string fv in + let uu____2878 = FStar_Syntax_Print.fv_to_string fv in let uu____2880 = let uu____2882 = let uu____2884 = let uu____2886 = - FStar_List.map FStar_Syntax_Print.univ_to_string us in - FStar_String.concat "; " uu____2886 in + FStar_List.map FStar_Syntax_Print.univ_to_string us in + FStar_String.concat "; " uu____2886 in let uu____2892 = let uu____2894 = let uu____2896 = let uu____2898 = FStar_List.map - (fun x1 -> - t_to_string (FStar_Pervasives_Native.fst x1)) l in - FStar_String.concat "; " uu____2898 in - FStar_String.op_Hat uu____2896 "]" in - FStar_String.op_Hat "] [" uu____2894 in - FStar_String.op_Hat uu____2884 uu____2892 in - FStar_String.op_Hat ") [" uu____2882 in - FStar_String.op_Hat uu____2878 uu____2880 in + (fun x1 -> + t_to_string (FStar_Pervasives_Native.fst x1)) l + in + FStar_String.concat "; " uu____2898 in + FStar_String.op_Hat uu____2896 "]" in + FStar_String.op_Hat "] [" uu____2894 in + FStar_String.op_Hat uu____2884 uu____2892 in + FStar_String.op_Hat ") [" uu____2882 in + FStar_String.op_Hat uu____2878 uu____2880 in FStar_String.op_Hat "Construct (" uu____2876 - | FV (fv, us, l) -> + | FV (fv,us,l) -> let uu____2937 = - let uu____2939 = FStar_Syntax_Print.fv_to_string fv in + let uu____2939 = FStar_Syntax_Print.fv_to_string fv in let uu____2941 = let uu____2943 = let uu____2945 = let uu____2947 = - FStar_List.map FStar_Syntax_Print.univ_to_string us in - FStar_String.concat "; " uu____2947 in + FStar_List.map FStar_Syntax_Print.univ_to_string us in + FStar_String.concat "; " uu____2947 in let uu____2953 = let uu____2955 = let uu____2957 = let uu____2959 = FStar_List.map - (fun x1 -> - t_to_string (FStar_Pervasives_Native.fst x1)) l in - FStar_String.concat "; " uu____2959 in - FStar_String.op_Hat uu____2957 "]" in - FStar_String.op_Hat "] [" uu____2955 in - FStar_String.op_Hat uu____2945 uu____2953 in - FStar_String.op_Hat ") [" uu____2943 in - FStar_String.op_Hat uu____2939 uu____2941 in + (fun x1 -> + t_to_string (FStar_Pervasives_Native.fst x1)) l + in + FStar_String.concat "; " uu____2959 in + FStar_String.op_Hat uu____2957 "]" in + FStar_String.op_Hat "] [" uu____2955 in + FStar_String.op_Hat uu____2945 uu____2953 in + FStar_String.op_Hat ") [" uu____2943 in + FStar_String.op_Hat uu____2939 uu____2941 in FStar_String.op_Hat "FV (" uu____2937 | Constant c -> constant_to_string c | Univ u -> - let uu____2981 = FStar_Syntax_Print.univ_to_string u in + let uu____2981 = FStar_Syntax_Print.univ_to_string u in FStar_String.op_Hat "Universe " uu____2981 | Type_t u -> - let uu____2985 = FStar_Syntax_Print.univ_to_string u in + let uu____2985 = FStar_Syntax_Print.univ_to_string u in FStar_String.op_Hat "Type_t " uu____2985 | Arrow uu____2988 -> "Arrow" - | Refinement (f, t) -> + | Refinement (f,t) -> let x1 = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Syntax.t_unit + in let t1 = - let uu____3034 = t () in FStar_Pervasives_Native.fst uu____3034 in + let uu____3034 = t () in FStar_Pervasives_Native.fst uu____3034 + in let uu____3039 = - let uu____3041 = FStar_Syntax_Print.bv_to_string x1 in + let uu____3041 = FStar_Syntax_Print.bv_to_string x1 in let uu____3043 = let uu____3045 = - let uu____3047 = t_to_string t1 in + let uu____3047 = t_to_string t1 in let uu____3049 = let uu____3051 = let uu____3053 = let uu____3055 = - let uu____3056 = mkAccuVar x1 in f uu____3056 in - t_to_string uu____3055 in - FStar_String.op_Hat uu____3053 "}" in - FStar_String.op_Hat "{" uu____3051 in - FStar_String.op_Hat uu____3047 uu____3049 in - FStar_String.op_Hat ":" uu____3045 in - FStar_String.op_Hat uu____3041 uu____3043 in + let uu____3056 = mkAccuVar x1 in f uu____3056 in + t_to_string uu____3055 in + FStar_String.op_Hat uu____3053 "}" in + FStar_String.op_Hat "{" uu____3051 in + FStar_String.op_Hat uu____3047 uu____3049 in + FStar_String.op_Hat ":" uu____3045 in + FStar_String.op_Hat uu____3041 uu____3043 in FStar_String.op_Hat "Refinement " uu____3039 - | Unknown -> "Unknown" + | Unknown -> "Unknown" | Reflect t -> - let uu____3063 = t_to_string t in + let uu____3063 = t_to_string t in FStar_String.op_Hat "Reflect " uu____3063 | Quote uu____3066 -> "Quote _" - | Lazy (FStar_Util.Inl li, uu____3073) -> + | Lazy (FStar_Util.Inl li,uu____3073) -> let uu____3090 = - let uu____3092 = FStar_Syntax_Util.unfold_lazy li in - FStar_Syntax_Print.term_to_string uu____3092 in + let uu____3092 = FStar_Syntax_Util.unfold_lazy li in + FStar_Syntax_Print.term_to_string uu____3092 in FStar_Util.format1 "Lazy (Inl {%s})" uu____3090 - | Lazy (FStar_Util.Inr (uu____3094, et), uu____3096) -> - let uu____3113 = FStar_Syntax_Print.emb_typ_to_string et in + | Lazy (FStar_Util.Inr (uu____3094,et),uu____3096) -> + let uu____3113 = FStar_Syntax_Print.emb_typ_to_string et in FStar_Util.format1 "Lazy (Inr (?, %s))" uu____3113 | Rec - (uu____3116, uu____3117, l, uu____3119, uu____3120, uu____3121, - uu____3122) + (uu____3116,uu____3117,l,uu____3119,uu____3120,uu____3121,uu____3122) -> let uu____3167 = let uu____3169 = - let uu____3171 = FStar_List.map t_to_string l in - FStar_String.concat "; " uu____3171 in - FStar_String.op_Hat uu____3169 ")" in + let uu____3171 = FStar_List.map t_to_string l in + FStar_String.concat "; " uu____3171 in + FStar_String.op_Hat uu____3169 ")" in FStar_String.op_Hat "Rec (" uu____3167 + and (atom_to_string : atom -> Prims.string) = - fun a -> + fun a -> match a with | Var v1 -> - let uu____3182 = FStar_Syntax_Print.bv_to_string v1 in + let uu____3182 = FStar_Syntax_Print.bv_to_string v1 in FStar_String.op_Hat "Var " uu____3182 - | Match (t, uu____3186, uu____3187) -> - let uu____3210 = t_to_string t in + | Match (t,uu____3186,uu____3187) -> + let uu____3210 = t_to_string t in FStar_String.op_Hat "Match " uu____3210 + and (arg_to_string : arg -> Prims.string) = - fun a -> - let uu____3214 = FStar_All.pipe_right a FStar_Pervasives_Native.fst in + fun a -> + let uu____3214 = FStar_All.pipe_right a FStar_Pervasives_Native.fst in FStar_All.pipe_right uu____3214 t_to_string + and (args_to_string : args -> Prims.string) = - fun args -> - let uu____3221 = FStar_All.pipe_right args (FStar_List.map arg_to_string) in + fun args -> + let uu____3221 = FStar_All.pipe_right args (FStar_List.map arg_to_string) + in FStar_All.pipe_right uu____3221 (FStar_String.concat " ") + type nbe_cbs = { iapp: t -> args -> t ; translate: FStar_Syntax_Syntax.term -> t } let (__proj__Mknbe_cbs__item__iapp : nbe_cbs -> t -> args -> t) = - fun projectee -> match projectee with | { iapp; translate;_} -> iapp + fun projectee -> match projectee with | { iapp; translate;_} -> iapp let (__proj__Mknbe_cbs__item__translate : nbe_cbs -> FStar_Syntax_Syntax.term -> t) = - fun projectee -> match projectee with | { iapp; translate;_} -> translate + fun projectee -> match projectee with | { iapp; translate;_} -> translate let (iapp_cb : nbe_cbs -> t -> args -> t) = - fun cbs -> fun h -> fun a -> cbs.iapp h a + fun cbs -> fun h -> fun a -> cbs.iapp h a let (translate_cb : nbe_cbs -> FStar_Syntax_Syntax.term -> t) = - fun cbs -> fun t -> cbs.translate t + fun cbs -> fun t -> cbs.translate t type 'a embedding = { em: nbe_cbs -> 'a -> t ; @@ -609,74 +676,83 @@ type 'a embedding = typ: t ; emb_typ: FStar_Syntax_Syntax.emb_typ } let __proj__Mkembedding__item__em : 'a . 'a embedding -> nbe_cbs -> 'a -> t = - fun projectee -> match projectee with | { em; un; typ; emb_typ;_} -> em + fun projectee -> match projectee with | { em; un; typ; emb_typ;_} -> em let __proj__Mkembedding__item__un : 'a . 'a embedding -> nbe_cbs -> t -> 'a FStar_Pervasives_Native.option = - fun projectee -> match projectee with | { em; un; typ; emb_typ;_} -> un + fun projectee -> match projectee with | { em; un; typ; emb_typ;_} -> un let __proj__Mkembedding__item__typ : 'a . 'a embedding -> t = - fun projectee -> match projectee with | { em; un; typ; emb_typ;_} -> typ + fun projectee -> match projectee with | { em; un; typ; emb_typ;_} -> typ let __proj__Mkembedding__item__emb_typ : 'a . 'a embedding -> FStar_Syntax_Syntax.emb_typ = - fun projectee -> + fun projectee -> match projectee with | { em; un; typ; emb_typ;_} -> emb_typ + let embed : 'a . 'a embedding -> nbe_cbs -> 'a -> t = - fun e -> fun cb -> fun x -> e.em cb x + fun e -> fun cb -> fun x -> e.em cb x let unembed : 'a . 'a embedding -> nbe_cbs -> t -> 'a FStar_Pervasives_Native.option = - fun e -> fun cb -> fun trm -> e.un cb trm -let type_of : 'a . 'a embedding -> t = fun e -> e.typ + fun e -> fun cb -> fun trm -> e.un cb trm +let type_of : 'a . 'a embedding -> t = fun e -> e.typ let mk_emb : 'a . (nbe_cbs -> 'a -> t) -> (nbe_cbs -> t -> 'a FStar_Pervasives_Native.option) -> t -> FStar_Syntax_Syntax.emb_typ -> 'a embedding - = fun em -> fun un -> fun typ -> fun et -> { em; un; typ; emb_typ = et } + = + fun em -> fun un -> fun typ -> fun et -> { em; un; typ; emb_typ = et } let (lid_as_constr : FStar_Ident.lident -> FStar_Syntax_Syntax.universe Prims.list -> args -> t) = - fun l -> - fun us -> - fun args -> + fun l -> + fun us -> + fun args -> let uu____3692 = FStar_Syntax_Syntax.lid_as_fv l FStar_Syntax_Syntax.delta_constant - (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) in + (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.Data_ctor) + in mkConstruct uu____3692 us args + let (lid_as_typ : FStar_Ident.lident -> FStar_Syntax_Syntax.universe Prims.list -> args -> t) = - fun l -> - fun us -> - fun args -> + fun l -> + fun us -> + fun args -> let uu____3713 = FStar_Syntax_Syntax.lid_as_fv l FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in mkFV uu____3713 us args + let (as_iarg : t -> arg) = - fun a -> (a, (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.imp_tag)) -let (as_arg : t -> arg) = fun a -> (a, FStar_Pervasives_Native.None) + fun a -> (a, (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.imp_tag)) +let (as_arg : t -> arg) = fun a -> (a, FStar_Pervasives_Native.None) let (make_arrow1 : t -> arg -> t) = - fun t1 -> - fun a -> + fun t1 -> + fun a -> Arrow - ((fun uu____3754 -> Tot (t1, FStar_Pervasives_Native.None)), - [(fun uu____3769 -> a)]) + ((fun uu____3754 -> Tot (t1, FStar_Pervasives_Native.None)), + [(fun uu____3769 -> a)]) + let lazy_embed : 'a . FStar_Syntax_Syntax.emb_typ -> 'a -> (unit -> t) -> t = - fun et -> - fun x -> - fun f -> - (let uu____3812 = FStar_ST.op_Bang FStar_Options.debug_embedding in + fun et -> + fun x -> + fun f -> + (let uu____3812 = FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____3812 then - let uu____3836 = FStar_Syntax_Print.emb_typ_to_string et in + let uu____3836 = FStar_Syntax_Print.emb_typ_to_string et in FStar_Util.print1 "Embedding\n\temb_typ=%s\n" uu____3836 else ()); - (let uu____3841 = FStar_ST.op_Bang FStar_Options.eager_embedding in + (let uu____3841 = FStar_ST.op_Bang FStar_Options.eager_embedding in if uu____3841 then f () else - (let thunk1 = FStar_Common.mk_thunk f in - let li = let uu____3875 = FStar_Dyn.mkdyn x in (uu____3875, et) in + (let thunk1 = FStar_Common.mk_thunk f in + let li = let uu____3875 = FStar_Dyn.mkdyn x in (uu____3875, et) + in Lazy ((FStar_Util.Inr li), thunk1))) + let lazy_unembed : 'Auu____3903 'a . 'Auu____3903 -> @@ -685,724 +761,799 @@ let lazy_unembed : (t -> 'a FStar_Pervasives_Native.option) -> 'a FStar_Pervasives_Native.option = - fun cb -> - fun et -> - fun x -> - fun f -> + fun cb -> + fun et -> + fun x -> + fun f -> match x with - | Lazy (FStar_Util.Inl li, thunk1) -> - let uu____3954 = FStar_Common.force_thunk thunk1 in + | Lazy (FStar_Util.Inl li,thunk1) -> + let uu____3954 = FStar_Common.force_thunk thunk1 in f uu____3954 - | Lazy (FStar_Util.Inr (b, et'), thunk1) -> + | Lazy (FStar_Util.Inr (b,et'),thunk1) -> let uu____3974 = (et <> et') || - (FStar_ST.op_Bang FStar_Options.eager_embedding) in + (FStar_ST.op_Bang FStar_Options.eager_embedding) + in if uu____3974 then let res = - let uu____4003 = FStar_Common.force_thunk thunk1 in - f uu____4003 in + let uu____4003 = FStar_Common.force_thunk thunk1 in + f uu____4003 in ((let uu____4005 = - FStar_ST.op_Bang FStar_Options.debug_embedding in + FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____4005 then - let uu____4029 = FStar_Syntax_Print.emb_typ_to_string et in - let uu____4031 = FStar_Syntax_Print.emb_typ_to_string et' in + let uu____4029 = FStar_Syntax_Print.emb_typ_to_string et + in + let uu____4031 = FStar_Syntax_Print.emb_typ_to_string et' + in FStar_Util.print2 "Unembed cancellation failed\n\t%s <> %s\n" uu____4029 uu____4031 else ()); res) else - (let a = FStar_Dyn.undyn b in + (let a = FStar_Dyn.undyn b in (let uu____4040 = - FStar_ST.op_Bang FStar_Options.debug_embedding in + FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____4040 then - let uu____4064 = FStar_Syntax_Print.emb_typ_to_string et in + let uu____4064 = FStar_Syntax_Print.emb_typ_to_string et + in FStar_Util.print1 "Unembed cancelled for %s\n" uu____4064 else ()); FStar_Pervasives_Native.Some a) | uu____4069 -> - let aopt = f x in + let aopt = f x in ((let uu____4074 = - FStar_ST.op_Bang FStar_Options.debug_embedding in + FStar_ST.op_Bang FStar_Options.debug_embedding in if uu____4074 then - let uu____4098 = FStar_Syntax_Print.emb_typ_to_string et in + let uu____4098 = FStar_Syntax_Print.emb_typ_to_string et + in FStar_Util.print1 "Unembedding:\n\temb_typ=%s\n" uu____4098 else ()); aopt) + let (mk_any_emb : t -> t embedding) = - fun ty -> - let em _cb a = a in - let un _cb t = FStar_Pervasives_Native.Some t in + fun ty -> + let em _cb a = a in + let un _cb t = FStar_Pervasives_Native.Some t in mk_emb em un ty FStar_Syntax_Syntax.ET_abstract + let (e_any : t embedding) = - let em _cb a = a in - let un _cb t = FStar_Pervasives_Native.Some t in - let uu____4166 = lid_as_typ FStar_Parser_Const.term_lid [] [] in - mk_emb em un uu____4166 FStar_Syntax_Syntax.ET_abstract + let em _cb a = a in + let un _cb t = FStar_Pervasives_Native.Some t in + let uu____4166 = lid_as_typ FStar_Parser_Const.term_lid [] [] in + mk_emb em un uu____4166 FStar_Syntax_Syntax.ET_abstract let (e_unit : unit embedding) = - let em _cb a = Constant Unit in - let un _cb t = FStar_Pervasives_Native.Some () in - let uu____4200 = lid_as_typ FStar_Parser_Const.unit_lid [] [] in + let em _cb a = Constant Unit in + let un _cb t = FStar_Pervasives_Native.Some () in + let uu____4200 = lid_as_typ FStar_Parser_Const.unit_lid [] [] in let uu____4205 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in - mk_emb em un uu____4200 uu____4205 + FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in + mk_emb em un uu____4200 uu____4205 let (e_bool : Prims.bool embedding) = - let em _cb a = Constant (Bool a) in + let em _cb a = Constant (Bool a) in let un _cb t = match t with | Constant (Bool a) -> FStar_Pervasives_Native.Some a - | uu____4246 -> FStar_Pervasives_Native.None in - let uu____4248 = lid_as_typ FStar_Parser_Const.bool_lid [] [] in + | uu____4246 -> FStar_Pervasives_Native.None in + let uu____4248 = lid_as_typ FStar_Parser_Const.bool_lid [] [] in let uu____4253 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in - mk_emb em un uu____4248 uu____4253 + FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_unit in + mk_emb em un uu____4248 uu____4253 let (e_char : FStar_Char.char embedding) = - let em _cb c = Constant (Char c) in + let em _cb c = Constant (Char c) in let un _cb c = match c with | Constant (Char a) -> FStar_Pervasives_Native.Some a - | uu____4295 -> FStar_Pervasives_Native.None in - let uu____4297 = lid_as_typ FStar_Parser_Const.char_lid [] [] in + | uu____4295 -> FStar_Pervasives_Native.None in + let uu____4297 = lid_as_typ FStar_Parser_Const.char_lid [] [] in let uu____4302 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_char in - mk_emb em un uu____4297 uu____4302 + FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_char in + mk_emb em un uu____4297 uu____4302 let (e_string : Prims.string embedding) = - let em _cb s = Constant (String (s, FStar_Range.dummyRange)) in + let em _cb s = Constant (String (s, FStar_Range.dummyRange)) in let un _cb s = match s with - | Constant (String (s1, uu____4344)) -> FStar_Pervasives_Native.Some s1 - | uu____4348 -> FStar_Pervasives_Native.None in - let uu____4350 = lid_as_typ FStar_Parser_Const.string_lid [] [] in + | Constant (String (s1,uu____4344)) -> FStar_Pervasives_Native.Some s1 + | uu____4348 -> FStar_Pervasives_Native.None in + let uu____4350 = lid_as_typ FStar_Parser_Const.string_lid [] [] in let uu____4355 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_string in - mk_emb em un uu____4350 uu____4355 + FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_string in + mk_emb em un uu____4350 uu____4355 let (e_int : FStar_BigInt.t embedding) = - let em _cb c = Constant (Int c) in + let em _cb c = Constant (Int c) in let un _cb c = match c with | Constant (Int a) -> FStar_Pervasives_Native.Some a - | uu____4390 -> FStar_Pervasives_Native.None in - let uu____4391 = lid_as_typ FStar_Parser_Const.int_lid [] [] in + | uu____4390 -> FStar_Pervasives_Native.None in + let uu____4391 = lid_as_typ FStar_Parser_Const.int_lid [] [] in let uu____4396 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_int in - mk_emb em un uu____4391 uu____4396 + FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_int in + mk_emb em un uu____4391 uu____4396 let e_option : 'a . 'a embedding -> 'a FStar_Pervasives_Native.option embedding = - fun ea -> + fun ea -> let etyp = let uu____4417 = let uu____4425 = FStar_All.pipe_right FStar_Parser_Const.option_lid - FStar_Ident.string_of_lid in - (uu____4425, [ea.emb_typ]) in - FStar_Syntax_Syntax.ET_app uu____4417 in + FStar_Ident.string_of_lid + in + (uu____4425, [ea.emb_typ]) in + FStar_Syntax_Syntax.ET_app uu____4417 in let em cb o = lazy_embed etyp o - (fun uu____4450 -> + (fun uu____4450 -> match o with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____4451 = let uu____4452 = - let uu____4457 = type_of ea in as_iarg uu____4457 in - [uu____4452] in + let uu____4457 = type_of ea in as_iarg uu____4457 in + [uu____4452] in lid_as_constr FStar_Parser_Const.none_lid [FStar_Syntax_Syntax.U_zero] uu____4451 | FStar_Pervasives_Native.Some x -> let uu____4467 = let uu____4468 = - let uu____4473 = embed ea cb x in as_arg uu____4473 in + let uu____4473 = embed ea cb x in as_arg uu____4473 in let uu____4474 = let uu____4481 = - let uu____4486 = type_of ea in as_iarg uu____4486 in - [uu____4481] in - uu____4468 :: uu____4474 in + let uu____4486 = type_of ea in as_iarg uu____4486 in + [uu____4481] in + uu____4468 :: uu____4474 in lid_as_constr FStar_Parser_Const.some_lid - [FStar_Syntax_Syntax.U_zero] uu____4467) in + [FStar_Syntax_Syntax.U_zero] uu____4467) + in let un cb trm = lazy_unembed cb etyp trm - (fun trm1 -> + (fun trm1 -> match trm1 with - | Construct (fvar1, us, args) when + | Construct (fvar1,us,args) when FStar_Syntax_Syntax.fv_eq_lid fvar1 FStar_Parser_Const.none_lid -> FStar_Pervasives_Native.Some FStar_Pervasives_Native.None - | Construct (fvar1, us, (a, uu____4553)::uu____4554::[]) when + | Construct (fvar1,us,(a,uu____4553)::uu____4554::[]) when FStar_Syntax_Syntax.fv_eq_lid fvar1 FStar_Parser_Const.some_lid -> - let uu____4581 = unembed ea cb a in + let uu____4581 = unembed ea cb a in FStar_Util.bind_opt uu____4581 - (fun a1 -> + (fun a1 -> FStar_Pervasives_Native.Some (FStar_Pervasives_Native.Some a1)) - | uu____4590 -> FStar_Pervasives_Native.None) in + | uu____4590 -> FStar_Pervasives_Native.None) + in let uu____4593 = let uu____4594 = - let uu____4595 = let uu____4600 = type_of ea in as_arg uu____4600 in - [uu____4595] in + let uu____4595 = let uu____4600 = type_of ea in as_arg uu____4600 + in + [uu____4595] in lid_as_typ FStar_Parser_Const.option_lid [FStar_Syntax_Syntax.U_zero] - uu____4594 in + uu____4594 + in mk_emb em un uu____4593 etyp + let e_tuple2 : 'a 'b . 'a embedding -> 'b embedding -> ('a * 'b) embedding = - fun ea -> - fun eb -> + fun ea -> + fun eb -> let etyp = let uu____4647 = let uu____4655 = FStar_All.pipe_right FStar_Parser_Const.lid_tuple2 - FStar_Ident.string_of_lid in - (uu____4655, [ea.emb_typ; eb.emb_typ]) in - FStar_Syntax_Syntax.ET_app uu____4647 in + FStar_Ident.string_of_lid + in + (uu____4655, [ea.emb_typ; eb.emb_typ]) in + FStar_Syntax_Syntax.ET_app uu____4647 in let em cb x = lazy_embed etyp x - (fun uu____4686 -> + (fun uu____4686 -> let uu____4687 = let uu____4688 = - let uu____4693 = embed eb cb (FStar_Pervasives_Native.snd x) in - as_arg uu____4693 in + let uu____4693 = embed eb cb (FStar_Pervasives_Native.snd x) + in + as_arg uu____4693 in let uu____4694 = let uu____4701 = let uu____4706 = - embed ea cb (FStar_Pervasives_Native.fst x) in - as_arg uu____4706 in + embed ea cb (FStar_Pervasives_Native.fst x) in + as_arg uu____4706 in let uu____4707 = let uu____4714 = - let uu____4719 = type_of eb in as_iarg uu____4719 in + let uu____4719 = type_of eb in as_iarg uu____4719 in let uu____4720 = let uu____4727 = - let uu____4732 = type_of ea in as_iarg uu____4732 in - [uu____4727] in - uu____4714 :: uu____4720 in - uu____4701 :: uu____4707 in - uu____4688 :: uu____4694 in + let uu____4732 = type_of ea in as_iarg uu____4732 in + [uu____4727] in + uu____4714 :: uu____4720 in + uu____4701 :: uu____4707 in + uu____4688 :: uu____4694 in lid_as_constr FStar_Parser_Const.lid_Mktuple2 [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] - uu____4687) in + uu____4687) + in let un cb trm = lazy_unembed cb etyp trm - (fun trm1 -> + (fun trm1 -> match trm1 with | Construct - (fvar1, us, - (b, uu____4800)::(a, uu____4802)::uu____4803::uu____4804::[]) + (fvar1,us,(b,uu____4800)::(a,uu____4802)::uu____4803::uu____4804::[]) when FStar_Syntax_Syntax.fv_eq_lid fvar1 FStar_Parser_Const.lid_Mktuple2 -> - let uu____4843 = unembed ea cb a in + let uu____4843 = unembed ea cb a in FStar_Util.bind_opt uu____4843 - (fun a1 -> - let uu____4853 = unembed eb cb b in + (fun a1 -> + let uu____4853 = unembed eb cb b in FStar_Util.bind_opt uu____4853 - (fun b1 -> FStar_Pervasives_Native.Some (a1, b1))) - | uu____4866 -> FStar_Pervasives_Native.None) in + (fun b1 -> FStar_Pervasives_Native.Some (a1, b1))) + | uu____4866 -> FStar_Pervasives_Native.None) + in let uu____4871 = let uu____4872 = - let uu____4873 = let uu____4878 = type_of eb in as_arg uu____4878 in + let uu____4873 = let uu____4878 = type_of eb in as_arg uu____4878 + in let uu____4879 = - let uu____4886 = let uu____4891 = type_of ea in as_arg uu____4891 in - [uu____4886] in - uu____4873 :: uu____4879 in + let uu____4886 = + let uu____4891 = type_of ea in as_arg uu____4891 in + [uu____4886] in + uu____4873 :: uu____4879 in lid_as_typ FStar_Parser_Const.lid_tuple2 - [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] uu____4872 in + [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] uu____4872 + in mk_emb em un uu____4871 etyp + let e_either : - 'a 'b . - 'a embedding -> 'b embedding -> ('a, 'b) FStar_Util.either embedding + 'a 'b . 'a embedding -> 'b embedding -> ('a,'b) FStar_Util.either embedding = - fun ea -> - fun eb -> + fun ea -> + fun eb -> let etyp = let uu____4944 = let uu____4952 = FStar_All.pipe_right FStar_Parser_Const.either_lid - FStar_Ident.string_of_lid in - (uu____4952, [ea.emb_typ; eb.emb_typ]) in - FStar_Syntax_Syntax.ET_app uu____4944 in + FStar_Ident.string_of_lid + in + (uu____4952, [ea.emb_typ; eb.emb_typ]) in + FStar_Syntax_Syntax.ET_app uu____4944 in let em cb s = lazy_embed etyp s - (fun uu____4984 -> + (fun uu____4984 -> match s with | FStar_Util.Inl a -> let uu____4986 = let uu____4987 = - let uu____4992 = embed ea cb a in as_arg uu____4992 in + let uu____4992 = embed ea cb a in as_arg uu____4992 in let uu____4993 = let uu____5000 = - let uu____5005 = type_of eb in as_iarg uu____5005 in + let uu____5005 = type_of eb in as_iarg uu____5005 in let uu____5006 = let uu____5013 = - let uu____5018 = type_of ea in as_iarg uu____5018 in - [uu____5013] in - uu____5000 :: uu____5006 in - uu____4987 :: uu____4993 in + let uu____5018 = type_of ea in as_iarg uu____5018 + in + [uu____5013] in + uu____5000 :: uu____5006 in + uu____4987 :: uu____4993 in lid_as_constr FStar_Parser_Const.inl_lid [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] uu____4986 | FStar_Util.Inr b -> let uu____5036 = let uu____5037 = - let uu____5042 = embed eb cb b in as_arg uu____5042 in + let uu____5042 = embed eb cb b in as_arg uu____5042 in let uu____5043 = let uu____5050 = - let uu____5055 = type_of eb in as_iarg uu____5055 in + let uu____5055 = type_of eb in as_iarg uu____5055 in let uu____5056 = let uu____5063 = - let uu____5068 = type_of ea in as_iarg uu____5068 in - [uu____5063] in - uu____5050 :: uu____5056 in - uu____5037 :: uu____5043 in + let uu____5068 = type_of ea in as_iarg uu____5068 + in + [uu____5063] in + uu____5050 :: uu____5056 in + uu____5037 :: uu____5043 in lid_as_constr FStar_Parser_Const.inr_lid [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] - uu____5036) in + uu____5036) + in let un cb trm = lazy_unembed cb etyp trm - (fun trm1 -> + (fun trm1 -> match trm1 with | Construct - (fvar1, us, (a, uu____5130)::uu____5131::uu____5132::[]) - when + (fvar1,us,(a,uu____5130)::uu____5131::uu____5132::[]) when FStar_Syntax_Syntax.fv_eq_lid fvar1 FStar_Parser_Const.inl_lid -> - let uu____5167 = unembed ea cb a in + let uu____5167 = unembed ea cb a in FStar_Util.bind_opt uu____5167 - (fun a1 -> + (fun a1 -> FStar_Pervasives_Native.Some (FStar_Util.Inl a1)) | Construct - (fvar1, us, (b, uu____5183)::uu____5184::uu____5185::[]) - when + (fvar1,us,(b,uu____5183)::uu____5184::uu____5185::[]) when FStar_Syntax_Syntax.fv_eq_lid fvar1 FStar_Parser_Const.inr_lid -> - let uu____5220 = unembed eb cb b in + let uu____5220 = unembed eb cb b in FStar_Util.bind_opt uu____5220 - (fun b1 -> + (fun b1 -> FStar_Pervasives_Native.Some (FStar_Util.Inr b1)) - | uu____5233 -> FStar_Pervasives_Native.None) in + | uu____5233 -> FStar_Pervasives_Native.None) + in let uu____5238 = let uu____5239 = - let uu____5240 = let uu____5245 = type_of eb in as_arg uu____5245 in + let uu____5240 = let uu____5245 = type_of eb in as_arg uu____5245 + in let uu____5246 = - let uu____5253 = let uu____5258 = type_of ea in as_arg uu____5258 in - [uu____5253] in - uu____5240 :: uu____5246 in + let uu____5253 = + let uu____5258 = type_of ea in as_arg uu____5258 in + [uu____5253] in + uu____5240 :: uu____5246 in lid_as_typ FStar_Parser_Const.either_lid - [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] uu____5239 in + [FStar_Syntax_Syntax.U_zero; FStar_Syntax_Syntax.U_zero] uu____5239 + in mk_emb em un uu____5238 etyp + let (e_range : FStar_Range.range embedding) = - let em cb r = Constant (Range r) in + let em cb r = Constant (Range r) in let un cb t = match t with | Constant (Range r) -> FStar_Pervasives_Native.Some r - | uu____5307 -> FStar_Pervasives_Native.None in - let uu____5308 = lid_as_typ FStar_Parser_Const.range_lid [] [] in + | uu____5307 -> FStar_Pervasives_Native.None in + let uu____5308 = lid_as_typ FStar_Parser_Const.range_lid [] [] in let uu____5313 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_range in - mk_emb em un uu____5308 uu____5313 + FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_range in + mk_emb em un uu____5308 uu____5313 let e_list : 'a . 'a embedding -> 'a Prims.list embedding = - fun ea -> + fun ea -> let etyp = let uu____5334 = let uu____5342 = FStar_All.pipe_right FStar_Parser_Const.list_lid - FStar_Ident.string_of_lid in - (uu____5342, [ea.emb_typ]) in - FStar_Syntax_Syntax.ET_app uu____5334 in + FStar_Ident.string_of_lid + in + (uu____5342, [ea.emb_typ]) in + FStar_Syntax_Syntax.ET_app uu____5334 in let em cb l = lazy_embed etyp l - (fun uu____5369 -> - let typ = let uu____5371 = type_of ea in as_iarg uu____5371 in + (fun uu____5369 -> + let typ = let uu____5371 = type_of ea in as_iarg uu____5371 in let nil = lid_as_constr FStar_Parser_Const.nil_lid - [FStar_Syntax_Syntax.U_zero] [typ] in + [FStar_Syntax_Syntax.U_zero] [typ] + in let cons1 hd1 tl1 = let uu____5392 = - let uu____5393 = as_arg tl1 in + let uu____5393 = as_arg tl1 in let uu____5398 = let uu____5405 = - let uu____5410 = embed ea cb hd1 in as_arg uu____5410 in - [uu____5405; typ] in - uu____5393 :: uu____5398 in + let uu____5410 = embed ea cb hd1 in as_arg uu____5410 in + [uu____5405; typ] in + uu____5393 :: uu____5398 in lid_as_constr FStar_Parser_Const.cons_lid - [FStar_Syntax_Syntax.U_zero] uu____5392 in - FStar_List.fold_right cons1 l nil) in + [FStar_Syntax_Syntax.U_zero] uu____5392 + in + FStar_List.fold_right cons1 l nil) + in let rec un cb trm = lazy_unembed cb etyp trm - (fun trm1 -> + (fun trm1 -> match trm1 with - | Construct (fv, uu____5458, uu____5459) when + | Construct (fv,uu____5458,uu____5459) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.nil_lid -> FStar_Pervasives_Native.Some [] | Construct - (fv, uu____5479, - (tl1, FStar_Pervasives_Native.None)::(hd1, - FStar_Pervasives_Native.None):: - (uu____5482, FStar_Pervasives_Native.Some + (fv,uu____5479,(tl1,FStar_Pervasives_Native.None )::(hd1,FStar_Pervasives_Native.None + ):: + (uu____5482,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit uu____5483))::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.cons_lid -> - let uu____5511 = unembed ea cb hd1 in + let uu____5511 = unembed ea cb hd1 in FStar_Util.bind_opt uu____5511 - (fun hd2 -> - let uu____5519 = un cb tl1 in + (fun hd2 -> + let uu____5519 = un cb tl1 in FStar_Util.bind_opt uu____5519 - (fun tl2 -> FStar_Pervasives_Native.Some (hd2 :: tl2))) + (fun tl2 -> FStar_Pervasives_Native.Some (hd2 :: tl2))) | Construct - (fv, uu____5535, - (tl1, FStar_Pervasives_Native.None)::(hd1, - FStar_Pervasives_Native.None)::[]) + (fv,uu____5535,(tl1,FStar_Pervasives_Native.None )::(hd1,FStar_Pervasives_Native.None + )::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.cons_lid -> - let uu____5560 = unembed ea cb hd1 in + let uu____5560 = unembed ea cb hd1 in FStar_Util.bind_opt uu____5560 - (fun hd2 -> - let uu____5568 = un cb tl1 in + (fun hd2 -> + let uu____5568 = un cb tl1 in FStar_Util.bind_opt uu____5568 - (fun tl2 -> FStar_Pervasives_Native.Some (hd2 :: tl2))) - | uu____5583 -> FStar_Pervasives_Native.None) in + (fun tl2 -> FStar_Pervasives_Native.Some (hd2 :: tl2))) + | uu____5583 -> FStar_Pervasives_Native.None) + in let uu____5586 = let uu____5587 = - let uu____5588 = let uu____5593 = type_of ea in as_arg uu____5593 in - [uu____5588] in + let uu____5588 = let uu____5593 = type_of ea in as_arg uu____5593 + in + [uu____5588] in lid_as_typ FStar_Parser_Const.list_lid [FStar_Syntax_Syntax.U_zero] - uu____5587 in + uu____5587 + in mk_emb em un uu____5586 etyp -let (e_string_list : Prims.string Prims.list embedding) = e_list e_string + +let (e_string_list : Prims.string Prims.list embedding) = e_list e_string let e_arrow : 'a 'b . 'a embedding -> 'b embedding -> ('a -> 'b) embedding = - fun ea -> - fun eb -> - let etyp = FStar_Syntax_Syntax.ET_fun ((ea.emb_typ), (eb.emb_typ)) in + fun ea -> + fun eb -> + let etyp = FStar_Syntax_Syntax.ET_fun ((ea.emb_typ), (eb.emb_typ)) in let em cb f = lazy_embed etyp f - (fun uu____5666 -> + (fun uu____5666 -> Lam - ((fun tas -> + ((fun tas -> let uu____5696 = - let uu____5699 = FStar_List.hd tas in - unembed ea cb uu____5699 in + let uu____5699 = FStar_List.hd tas in + unembed ea cb uu____5699 in match uu____5696 with | FStar_Pervasives_Native.Some a -> - let uu____5701 = f a in embed eb cb uu____5701 - | FStar_Pervasives_Native.None -> + let uu____5701 = f a in embed eb cb uu____5701 + | FStar_Pervasives_Native.None -> failwith "cannot unembed function argument"), - [(fun uu____5714 -> - let uu____5717 = type_of eb in as_arg uu____5717)], - (Prims.parse_int "1"), FStar_Pervasives_Native.None)) in + [(fun uu____5714 -> + let uu____5717 = type_of eb in as_arg uu____5717)], + (Prims.parse_int "1"), FStar_Pervasives_Native.None)) + in let un cb lam = let k lam1 = FStar_Pervasives_Native.Some - (fun x -> + (fun x -> let uu____5775 = let uu____5778 = let uu____5779 = let uu____5780 = - let uu____5785 = embed ea cb x in as_arg uu____5785 in - [uu____5780] in - cb.iapp lam1 uu____5779 in - unembed eb cb uu____5778 in + let uu____5785 = embed ea cb x in as_arg uu____5785 + in + [uu____5780] in + cb.iapp lam1 uu____5779 in + unembed eb cb uu____5778 in match uu____5775 with | FStar_Pervasives_Native.Some y -> y - | FStar_Pervasives_Native.None -> - failwith "cannot unembed function result") in - lazy_unembed cb etyp lam k in + | FStar_Pervasives_Native.None -> + failwith "cannot unembed function result") + in + lazy_unembed cb etyp lam k in let uu____5799 = - let uu____5800 = type_of ea in - let uu____5801 = let uu____5802 = type_of eb in as_iarg uu____5802 in - make_arrow1 uu____5800 uu____5801 in + let uu____5800 = type_of ea in + let uu____5801 = let uu____5802 = type_of eb in as_iarg uu____5802 + in + make_arrow1 uu____5800 uu____5801 in mk_emb em un uu____5799 etyp + let (e_norm_step : FStar_Syntax_Embeddings.norm_step embedding) = let em cb n1 = match n1 with - | FStar_Syntax_Embeddings.Simpl -> + | FStar_Syntax_Embeddings.Simpl -> let uu____5820 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_simpl - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in mkFV uu____5820 [] [] - | FStar_Syntax_Embeddings.Weak -> + | FStar_Syntax_Embeddings.Weak -> let uu____5825 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_weak - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in mkFV uu____5825 [] [] - | FStar_Syntax_Embeddings.HNF -> + | FStar_Syntax_Embeddings.HNF -> let uu____5830 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_hnf - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in mkFV uu____5830 [] [] - | FStar_Syntax_Embeddings.Primops -> + | FStar_Syntax_Embeddings.Primops -> let uu____5835 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_primops - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in mkFV uu____5835 [] [] - | FStar_Syntax_Embeddings.Delta -> + | FStar_Syntax_Embeddings.Delta -> let uu____5840 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_delta - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in mkFV uu____5840 [] [] - | FStar_Syntax_Embeddings.Zeta -> + | FStar_Syntax_Embeddings.Zeta -> let uu____5845 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_zeta - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in mkFV uu____5845 [] [] - | FStar_Syntax_Embeddings.Iota -> + | FStar_Syntax_Embeddings.Iota -> let uu____5850 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_iota - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in mkFV uu____5850 [] [] - | FStar_Syntax_Embeddings.Reify -> + | FStar_Syntax_Embeddings.Reify -> let uu____5855 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_reify - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in mkFV uu____5855 [] [] - | FStar_Syntax_Embeddings.NBE -> + | FStar_Syntax_Embeddings.NBE -> let uu____5860 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_nbe - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in mkFV uu____5860 [] [] | FStar_Syntax_Embeddings.UnfoldOnly l -> let uu____5869 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_unfoldonly - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in let uu____5870 = let uu____5871 = let uu____5876 = - let uu____5877 = e_list e_string in embed uu____5877 cb l in - as_arg uu____5876 in - [uu____5871] in + let uu____5877 = e_list e_string in embed uu____5877 cb l in + as_arg uu____5876 in + [uu____5871] in mkFV uu____5869 [] uu____5870 | FStar_Syntax_Embeddings.UnfoldFully l -> let uu____5899 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_unfoldfully - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in let uu____5900 = let uu____5901 = let uu____5906 = - let uu____5907 = e_list e_string in embed uu____5907 cb l in - as_arg uu____5906 in - [uu____5901] in + let uu____5907 = e_list e_string in embed uu____5907 cb l in + as_arg uu____5906 in + [uu____5901] in mkFV uu____5899 [] uu____5900 | FStar_Syntax_Embeddings.UnfoldAttr l -> let uu____5929 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.steps_unfoldattr - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in let uu____5930 = let uu____5931 = let uu____5936 = - let uu____5937 = e_list e_string in embed uu____5937 cb l in - as_arg uu____5936 in - [uu____5931] in - mkFV uu____5929 [] uu____5930 in + let uu____5937 = e_list e_string in embed uu____5937 cb l in + as_arg uu____5936 in + [uu____5931] in + mkFV uu____5929 [] uu____5930 + in let un cb t0 = match t0 with - | FV (fv, uu____5971, []) when + | FV (fv,uu____5971,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_simpl -> FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Simpl - | FV (fv, uu____5987, []) when + | FV (fv,uu____5987,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_weak -> FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Weak - | FV (fv, uu____6003, []) when + | FV (fv,uu____6003,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_hnf -> FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.HNF - | FV (fv, uu____6019, []) when + | FV (fv,uu____6019,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_primops -> FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Primops - | FV (fv, uu____6035, []) when + | FV (fv,uu____6035,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_delta -> FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Delta - | FV (fv, uu____6051, []) when + | FV (fv,uu____6051,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_zeta -> FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Zeta - | FV (fv, uu____6067, []) when + | FV (fv,uu____6067,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_iota -> FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Iota - | FV (fv, uu____6083, []) when + | FV (fv,uu____6083,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_nbe -> FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.NBE - | FV (fv, uu____6099, []) when + | FV (fv,uu____6099,[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_reify -> FStar_Pervasives_Native.Some FStar_Syntax_Embeddings.Reify - | FV (fv, uu____6115, (l, uu____6117)::[]) when + | FV (fv,uu____6115,(l,uu____6117)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldonly -> let uu____6136 = - let uu____6142 = e_list e_string in unembed uu____6142 cb l in + let uu____6142 = e_list e_string in unembed uu____6142 cb l in FStar_Util.bind_opt uu____6136 - (fun ss -> + (fun ss -> FStar_All.pipe_left - (fun _6162 -> FStar_Pervasives_Native.Some _6162) + (fun _6162 -> FStar_Pervasives_Native.Some _6162) (FStar_Syntax_Embeddings.UnfoldOnly ss)) - | FV (fv, uu____6164, (l, uu____6166)::[]) when + | FV (fv,uu____6164,(l,uu____6166)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldfully -> let uu____6185 = - let uu____6191 = e_list e_string in unembed uu____6191 cb l in + let uu____6191 = e_list e_string in unembed uu____6191 cb l in FStar_Util.bind_opt uu____6185 - (fun ss -> + (fun ss -> FStar_All.pipe_left - (fun _6211 -> FStar_Pervasives_Native.Some _6211) + (fun _6211 -> FStar_Pervasives_Native.Some _6211) (FStar_Syntax_Embeddings.UnfoldFully ss)) - | FV (fv, uu____6213, (l, uu____6215)::[]) when + | FV (fv,uu____6213,(l,uu____6215)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.steps_unfoldattr -> let uu____6234 = - let uu____6240 = e_list e_string in unembed uu____6240 cb l in + let uu____6240 = e_list e_string in unembed uu____6240 cb l in FStar_Util.bind_opt uu____6234 - (fun ss -> + (fun ss -> FStar_All.pipe_left - (fun _6260 -> FStar_Pervasives_Native.Some _6260) + (fun _6260 -> FStar_Pervasives_Native.Some _6260) (FStar_Syntax_Embeddings.UnfoldAttr ss)) | uu____6261 -> ((let uu____6263 = let uu____6269 = - let uu____6271 = t_to_string t0 in - FStar_Util.format1 "Not an embedded norm_step: %s" uu____6271 in - (FStar_Errors.Warning_NotEmbedded, uu____6269) in + let uu____6271 = t_to_string t0 in + FStar_Util.format1 "Not an embedded norm_step: %s" uu____6271 + in + (FStar_Errors.Warning_NotEmbedded, uu____6269) in FStar_Errors.log_issue FStar_Range.dummyRange uu____6263); - FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.None) + in let uu____6275 = let uu____6276 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.norm_step_lid - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in - mkFV uu____6276 [] [] in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in + mkFV uu____6276 [] [] in let uu____6281 = - FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_norm_step in - mk_emb em un uu____6275 uu____6281 + FStar_Syntax_Embeddings.emb_typ_of FStar_Syntax_Embeddings.e_norm_step + in + mk_emb em un uu____6275 uu____6281 let (bogus_cbs : nbe_cbs) = { - iapp = (fun h -> fun _args -> h); - translate = (fun uu____6290 -> failwith "bogus_cbs translate") - } + iapp = (fun h -> fun _args -> h); + translate = (fun uu____6290 -> failwith "bogus_cbs translate") + } let (arg_as_int : arg -> FStar_BigInt.t FStar_Pervasives_Native.option) = - fun a -> + fun a -> FStar_All.pipe_right (FStar_Pervasives_Native.fst a) (unembed e_int bogus_cbs) + let (arg_as_bool : arg -> Prims.bool FStar_Pervasives_Native.option) = - fun a -> + fun a -> FStar_All.pipe_right (FStar_Pervasives_Native.fst a) (unembed e_bool bogus_cbs) + let (arg_as_char : arg -> FStar_Char.char FStar_Pervasives_Native.option) = - fun a -> + fun a -> FStar_All.pipe_right (FStar_Pervasives_Native.fst a) (unembed e_char bogus_cbs) + let (arg_as_string : arg -> Prims.string FStar_Pervasives_Native.option) = - fun a -> + fun a -> FStar_All.pipe_right (FStar_Pervasives_Native.fst a) (unembed e_string bogus_cbs) + let arg_as_list : 'a . 'a embedding -> arg -> 'a Prims.list FStar_Pervasives_Native.option = - fun e -> - fun a -> + fun e -> + fun a -> let uu____6367 = - let uu____6376 = e_list e in unembed uu____6376 bogus_cbs in + let uu____6376 = e_list e in unembed uu____6376 bogus_cbs in FStar_All.pipe_right (FStar_Pervasives_Native.fst a) uu____6367 + let (arg_as_bounded_int : arg -> (FStar_Syntax_Syntax.fv * FStar_BigInt.t) FStar_Pervasives_Native.option) = - fun uu____6398 -> + fun uu____6398 -> match uu____6398 with - | (a, uu____6406) -> + | (a,uu____6406) -> (match a with - | FV (fv1, [], (Constant (Int i), uu____6421)::[]) when + | FV (fv1,[],(Constant (Int i),uu____6421)::[]) when let uu____6438 = FStar_Ident.text_of_lid - (fv1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in FStar_Util.ends_with uu____6438 "int_to_t" -> FStar_Pervasives_Native.Some (fv1, i) | uu____6445 -> FStar_Pervasives_Native.None) + let (int_as_bounded : FStar_Syntax_Syntax.fv -> FStar_BigInt.t -> t) = - fun int_to_t1 -> - fun n1 -> - let c = embed e_int bogus_cbs n1 in - let int_to_t2 args = FV (int_to_t1, [], args) in - let uu____6488 = let uu____6495 = as_arg c in [uu____6495] in + fun int_to_t1 -> + fun n1 -> + let c = embed e_int bogus_cbs n1 in + let int_to_t2 args = FV (int_to_t1, [], args) in + let uu____6488 = let uu____6495 = as_arg c in [uu____6495] in int_to_t2 uu____6488 + let lift_unary : 'a 'b . ('a -> 'b) -> 'a FStar_Pervasives_Native.option Prims.list -> 'b FStar_Pervasives_Native.option = - fun f -> - fun aopts -> + fun f -> + fun aopts -> match aopts with | (FStar_Pervasives_Native.Some a)::[] -> - let uu____6549 = f a in FStar_Pervasives_Native.Some uu____6549 + let uu____6549 = f a in FStar_Pervasives_Native.Some uu____6549 | uu____6550 -> FStar_Pervasives_Native.None + let lift_binary : 'a 'b . ('a -> 'a -> 'b) -> 'a FStar_Pervasives_Native.option Prims.list -> 'b FStar_Pervasives_Native.option = - fun f -> - fun aopts -> + fun f -> + fun aopts -> match aopts with | (FStar_Pervasives_Native.Some a0)::(FStar_Pervasives_Native.Some a1)::[] -> - let uu____6604 = f a0 a1 in FStar_Pervasives_Native.Some uu____6604 + let uu____6604 = f a0 a1 in + FStar_Pervasives_Native.Some uu____6604 | uu____6605 -> FStar_Pervasives_Native.None + let unary_op : 'a . (arg -> 'a FStar_Pervasives_Native.option) -> ('a -> t) -> args -> t FStar_Pervasives_Native.option = - fun as_a -> - fun f -> - fun args -> - let uu____6649 = FStar_List.map as_a args in lift_unary f uu____6649 + fun as_a -> + fun f -> + fun args -> + let uu____6649 = FStar_List.map as_a args in lift_unary f uu____6649 + let binary_op : 'a . (arg -> 'a FStar_Pervasives_Native.option) -> ('a -> 'a -> t) -> args -> t FStar_Pervasives_Native.option = - fun as_a -> - fun f -> - fun args -> - let uu____6704 = FStar_List.map as_a args in lift_binary f uu____6704 + fun as_a -> + fun f -> + fun args -> + let uu____6704 = FStar_List.map as_a args in + lift_binary f uu____6704 + let (unary_int_op : (FStar_BigInt.t -> FStar_BigInt.t) -> args -> t FStar_Pervasives_Native.option) = - fun f -> + fun f -> unary_op arg_as_int - (fun x -> let uu____6734 = f x in embed e_int bogus_cbs uu____6734) + (fun x -> let uu____6734 = f x in embed e_int bogus_cbs uu____6734) + let (binary_int_op : (FStar_BigInt.t -> FStar_BigInt.t -> FStar_BigInt.t) -> args -> t FStar_Pervasives_Native.option) = - fun f -> + fun f -> binary_op arg_as_int - (fun x -> - fun y -> let uu____6761 = f x y in embed e_int bogus_cbs uu____6761) + (fun x -> + fun y -> + let uu____6761 = f x y in embed e_int bogus_cbs uu____6761) + let (unary_bool_op : (Prims.bool -> Prims.bool) -> args -> t FStar_Pervasives_Native.option) = - fun f -> + fun f -> unary_op arg_as_bool - (fun x -> let uu____6787 = f x in embed e_bool bogus_cbs uu____6787) + (fun x -> let uu____6787 = f x in embed e_bool bogus_cbs uu____6787) + let (binary_bool_op : (Prims.bool -> Prims.bool -> Prims.bool) -> args -> t FStar_Pervasives_Native.option) = - fun f -> + fun f -> binary_op arg_as_bool - (fun x -> - fun y -> let uu____6825 = f x y in embed e_bool bogus_cbs uu____6825) + (fun x -> + fun y -> + let uu____6825 = f x y in embed e_bool bogus_cbs uu____6825) + let (binary_string_op : (Prims.string -> Prims.string -> Prims.string) -> args -> t FStar_Pervasives_Native.option) = - fun f -> + fun f -> binary_op arg_as_string - (fun x -> - fun y -> - let uu____6863 = f x y in embed e_string bogus_cbs uu____6863) + (fun x -> + fun y -> + let uu____6863 = f x y in embed e_string bogus_cbs uu____6863) + let mixed_binary_op : 'a 'b 'c . (arg -> 'a FStar_Pervasives_Native.option) -> @@ -1410,247 +1561,260 @@ let mixed_binary_op : ('c -> t) -> ('a -> 'b -> 'c) -> args -> t FStar_Pervasives_Native.option = - fun as_a -> - fun as_b -> - fun embed_c -> - fun f -> - fun args -> + fun as_a -> + fun as_b -> + fun embed_c -> + fun f -> + fun args -> match args with | a::b::[] -> let uu____6968 = - let uu____6977 = as_a a in - let uu____6980 = as_b b in (uu____6977, uu____6980) in + let uu____6977 = as_a a in + let uu____6980 = as_b b in (uu____6977, uu____6980) in (match uu____6968 with - | (FStar_Pervasives_Native.Some a1, - FStar_Pervasives_Native.Some b1) -> + | (FStar_Pervasives_Native.Some + a1,FStar_Pervasives_Native.Some b1) -> let uu____6995 = - let uu____6996 = f a1 b1 in embed_c uu____6996 in + let uu____6996 = f a1 b1 in embed_c uu____6996 in FStar_Pervasives_Native.Some uu____6995 | uu____6997 -> FStar_Pervasives_Native.None) | uu____7006 -> FStar_Pervasives_Native.None + let (list_of_string' : Prims.string -> t) = - fun s -> - let uu____7015 = e_list e_char in - let uu____7022 = FStar_String.list_of_string s in + fun s -> + let uu____7015 = e_list e_char in + let uu____7022 = FStar_String.list_of_string s in embed uu____7015 bogus_cbs uu____7022 + let (string_of_list' : FStar_Char.char Prims.list -> t) = - fun l -> - let s = FStar_String.string_of_list l in + fun l -> + let s = FStar_String.string_of_list l in Constant (String (s, FStar_Range.dummyRange)) + let (string_compare' : Prims.string -> Prims.string -> t) = - fun s1 -> - fun s2 -> - let r = FStar_String.compare s1 s2 in + fun s1 -> + fun s2 -> + let r = FStar_String.compare s1 s2 in let uu____7061 = - let uu____7062 = FStar_Util.string_of_int r in - FStar_BigInt.big_int_of_string uu____7062 in + let uu____7062 = FStar_Util.string_of_int r in + FStar_BigInt.big_int_of_string uu____7062 in embed e_int bogus_cbs uu____7061 + let (string_concat' : args -> t FStar_Pervasives_Native.option) = - fun args -> + fun args -> match args with | a1::a2::[] -> - let uu____7096 = arg_as_string a1 in + let uu____7096 = arg_as_string a1 in (match uu____7096 with | FStar_Pervasives_Native.Some s1 -> - let uu____7105 = arg_as_list e_string a2 in + let uu____7105 = arg_as_list e_string a2 in (match uu____7105 with | FStar_Pervasives_Native.Some s2 -> - let r = FStar_String.concat s1 s2 in - let uu____7123 = embed e_string bogus_cbs r in + let r = FStar_String.concat s1 s2 in + let uu____7123 = embed e_string bogus_cbs r in FStar_Pervasives_Native.Some uu____7123 | uu____7125 -> FStar_Pervasives_Native.None) | uu____7131 -> FStar_Pervasives_Native.None) | uu____7135 -> FStar_Pervasives_Native.None + let (string_of_int : FStar_BigInt.t -> t) = - fun i -> - let uu____7142 = FStar_BigInt.string_of_big_int i in + fun i -> + let uu____7142 = FStar_BigInt.string_of_big_int i in embed e_string bogus_cbs uu____7142 + let (string_of_bool : Prims.bool -> t) = - fun b -> embed e_string bogus_cbs (if b then "true" else "false") + fun b -> embed e_string bogus_cbs (if b then "true" else "false") let (string_lowercase : Prims.string -> t) = - fun s -> embed e_string bogus_cbs (FStar_String.lowercase s) + fun s -> embed e_string bogus_cbs (FStar_String.lowercase s) let (string_uppercase : Prims.string -> t) = - fun s -> embed e_string bogus_cbs (FStar_String.lowercase s) + fun s -> embed e_string bogus_cbs (FStar_String.lowercase s) let (decidable_eq : Prims.bool -> args -> t FStar_Pervasives_Native.option) = - fun neg -> - fun args -> - let tru = embed e_bool bogus_cbs true in - let fal = embed e_bool bogus_cbs false in + fun neg -> + fun args -> + let tru = embed e_bool bogus_cbs true in + let fal = embed e_bool bogus_cbs false in match args with - | (_typ, uu____7204)::(a1, uu____7206)::(a2, uu____7208)::[] -> - let uu____7225 = eq_t a1 a2 in + | (_typ,uu____7204)::(a1,uu____7206)::(a2,uu____7208)::[] -> + let uu____7225 = eq_t a1 a2 in (match uu____7225 with - | FStar_Syntax_Util.Equal -> + | FStar_Syntax_Util.Equal -> FStar_Pervasives_Native.Some (if neg then fal else tru) - | FStar_Syntax_Util.NotEqual -> + | FStar_Syntax_Util.NotEqual -> FStar_Pervasives_Native.Some (if neg then tru else fal) | uu____7234 -> FStar_Pervasives_Native.None) | uu____7235 -> failwith "Unexpected number of arguments" + let (interp_prop_eq2 : args -> t FStar_Pervasives_Native.option) = - fun args -> + fun args -> match args with - | (_u, uu____7250)::(_typ, uu____7252)::(a1, uu____7254)::(a2, - uu____7256)::[] + | (_u,uu____7250)::(_typ,uu____7252)::(a1,uu____7254)::(a2,uu____7256)::[] -> - let uu____7277 = eq_t a1 a2 in + let uu____7277 = eq_t a1 a2 in (match uu____7277 with - | FStar_Syntax_Util.Equal -> - let uu____7280 = embed e_bool bogus_cbs true in + | FStar_Syntax_Util.Equal -> + let uu____7280 = embed e_bool bogus_cbs true in FStar_Pervasives_Native.Some uu____7280 - | FStar_Syntax_Util.NotEqual -> - let uu____7283 = embed e_bool bogus_cbs false in + | FStar_Syntax_Util.NotEqual -> + let uu____7283 = embed e_bool bogus_cbs false in FStar_Pervasives_Native.Some uu____7283 - | FStar_Syntax_Util.Unknown -> FStar_Pervasives_Native.None) + | FStar_Syntax_Util.Unknown -> FStar_Pervasives_Native.None) | uu____7286 -> failwith "Unexpected number of arguments" + let (interp_prop_eq3 : args -> t FStar_Pervasives_Native.option) = - fun args -> + fun args -> match args with - | (_u, uu____7301)::(_v, uu____7303)::(t1, uu____7305)::(t2, uu____7307):: - (a1, uu____7309)::(a2, uu____7311)::[] -> + | (_u,uu____7301)::(_v,uu____7303)::(t1,uu____7305)::(t2,uu____7307):: + (a1,uu____7309)::(a2,uu____7311)::[] -> let uu____7340 = - let uu____7341 = eq_t t1 t2 in - let uu____7342 = eq_t a1 a2 in - FStar_Syntax_Util.eq_inj uu____7341 uu____7342 in + let uu____7341 = eq_t t1 t2 in + let uu____7342 = eq_t a1 a2 in + FStar_Syntax_Util.eq_inj uu____7341 uu____7342 in (match uu____7340 with - | FStar_Syntax_Util.Equal -> - let uu____7345 = embed e_bool bogus_cbs true in + | FStar_Syntax_Util.Equal -> + let uu____7345 = embed e_bool bogus_cbs true in FStar_Pervasives_Native.Some uu____7345 - | FStar_Syntax_Util.NotEqual -> - let uu____7348 = embed e_bool bogus_cbs false in + | FStar_Syntax_Util.NotEqual -> + let uu____7348 = embed e_bool bogus_cbs false in FStar_Pervasives_Native.Some uu____7348 - | FStar_Syntax_Util.Unknown -> FStar_Pervasives_Native.None) + | FStar_Syntax_Util.Unknown -> FStar_Pervasives_Native.None) | uu____7351 -> failwith "Unexpected number of arguments" + let (dummy_interp : FStar_Ident.lid -> args -> t FStar_Pervasives_Native.option) = - fun lid -> - fun args -> + fun lid -> + fun args -> let uu____7370 = - let uu____7372 = FStar_Ident.string_of_lid lid in - FStar_String.op_Hat "No interpretation for " uu____7372 in + let uu____7372 = FStar_Ident.string_of_lid lid in + FStar_String.op_Hat "No interpretation for " uu____7372 in failwith uu____7370 + let (prims_to_fstar_range_step : args -> t FStar_Pervasives_Native.option) = - fun args -> + fun args -> match args with - | (a1, uu____7388)::[] -> - let uu____7397 = unembed e_range bogus_cbs a1 in + | (a1,uu____7388)::[] -> + let uu____7397 = unembed e_range bogus_cbs a1 in (match uu____7397 with | FStar_Pervasives_Native.Some r -> - let uu____7403 = embed e_range bogus_cbs r in + let uu____7403 = embed e_range bogus_cbs r in FStar_Pervasives_Native.Some uu____7403 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None) | uu____7404 -> failwith "Unexpected number of arguments" + let (string_split' : args -> t FStar_Pervasives_Native.option) = - fun args -> + fun args -> match args with | a1::a2::[] -> - let uu____7440 = arg_as_list e_char a1 in + let uu____7440 = arg_as_list e_char a1 in (match uu____7440 with | FStar_Pervasives_Native.Some s1 -> - let uu____7456 = arg_as_string a2 in + let uu____7456 = arg_as_string a2 in (match uu____7456 with | FStar_Pervasives_Native.Some s2 -> - let r = FStar_String.split s1 s2 in + let r = FStar_String.split s1 s2 in let uu____7469 = - let uu____7470 = e_list e_string in - embed uu____7470 bogus_cbs r in + let uu____7470 = e_list e_string in + embed uu____7470 bogus_cbs r in FStar_Pervasives_Native.Some uu____7469 | uu____7480 -> FStar_Pervasives_Native.None) | uu____7484 -> FStar_Pervasives_Native.None) | uu____7490 -> FStar_Pervasives_Native.None + let (string_index : args -> t FStar_Pervasives_Native.option) = - fun args -> + fun args -> match args with | a1::a2::[] -> let uu____7523 = - let uu____7533 = arg_as_string a1 in - let uu____7537 = arg_as_int a2 in (uu____7533, uu____7537) in + let uu____7533 = arg_as_string a1 in + let uu____7537 = arg_as_int a2 in (uu____7533, uu____7537) in (match uu____7523 with - | (FStar_Pervasives_Native.Some s, FStar_Pervasives_Native.Some i) - -> + | (FStar_Pervasives_Native.Some s,FStar_Pervasives_Native.Some i) -> (try - (fun uu___981_7561 -> + (fun uu___981_7561 -> match () with | () -> - let r = FStar_String.index s i in - let uu____7566 = embed e_char bogus_cbs r in + let r = FStar_String.index s i in + let uu____7566 = embed e_char bogus_cbs r in FStar_Pervasives_Native.Some uu____7566) () with | uu___980_7569 -> FStar_Pervasives_Native.None) | uu____7572 -> FStar_Pervasives_Native.None) | uu____7582 -> FStar_Pervasives_Native.None + let (string_index_of : args -> t FStar_Pervasives_Native.option) = - fun args -> + fun args -> match args with | a1::a2::[] -> let uu____7615 = - let uu____7626 = arg_as_string a1 in - let uu____7630 = arg_as_char a2 in (uu____7626, uu____7630) in + let uu____7626 = arg_as_string a1 in + let uu____7630 = arg_as_char a2 in (uu____7626, uu____7630) in (match uu____7615 with - | (FStar_Pervasives_Native.Some s, FStar_Pervasives_Native.Some c) - -> + | (FStar_Pervasives_Native.Some s,FStar_Pervasives_Native.Some c) -> (try - (fun uu___999_7659 -> + (fun uu___999_7659 -> match () with | () -> - let r = FStar_String.index_of s c in - let uu____7663 = embed e_int bogus_cbs r in + let r = FStar_String.index_of s c in + let uu____7663 = embed e_int bogus_cbs r in FStar_Pervasives_Native.Some uu____7663) () with | uu___998_7665 -> FStar_Pervasives_Native.None) | uu____7668 -> FStar_Pervasives_Native.None) | uu____7679 -> FStar_Pervasives_Native.None + let (string_substring' : args -> t FStar_Pervasives_Native.option) = - fun args -> + fun args -> match args with | a1::a2::a3::[] -> let uu____7721 = - let uu____7735 = arg_as_string a1 in - let uu____7739 = arg_as_int a2 in - let uu____7742 = arg_as_int a3 in - (uu____7735, uu____7739, uu____7742) in + let uu____7735 = arg_as_string a1 in + let uu____7739 = arg_as_int a2 in + let uu____7742 = arg_as_int a3 in + (uu____7735, uu____7739, uu____7742) in (match uu____7721 with - | (FStar_Pervasives_Native.Some s1, FStar_Pervasives_Native.Some n1, - FStar_Pervasives_Native.Some n2) -> - let n11 = FStar_BigInt.to_int_fs n1 in - let n21 = FStar_BigInt.to_int_fs n2 in + | (FStar_Pervasives_Native.Some s1,FStar_Pervasives_Native.Some + n1,FStar_Pervasives_Native.Some n2) -> + let n11 = FStar_BigInt.to_int_fs n1 in + let n21 = FStar_BigInt.to_int_fs n2 in (try - (fun uu___1022_7775 -> + (fun uu___1022_7775 -> match () with | () -> - let r = FStar_String.substring s1 n11 n21 in - let uu____7780 = embed e_string bogus_cbs r in + let r = FStar_String.substring s1 n11 n21 in + let uu____7780 = embed e_string bogus_cbs r in FStar_Pervasives_Native.Some uu____7780) () with | uu___1021_7783 -> FStar_Pervasives_Native.None) | uu____7786 -> FStar_Pervasives_Native.None) | uu____7800 -> FStar_Pervasives_Native.None + let (mk_range : args -> t FStar_Pervasives_Native.option) = - fun args -> + fun args -> match args with | fn::from_line::from_col::to_line::to_col::[] -> let uu____7860 = - let uu____7882 = arg_as_string fn in - let uu____7886 = arg_as_int from_line in - let uu____7889 = arg_as_int from_col in - let uu____7892 = arg_as_int to_line in - let uu____7895 = arg_as_int to_col in - (uu____7882, uu____7886, uu____7889, uu____7892, uu____7895) in + let uu____7882 = arg_as_string fn in + let uu____7886 = arg_as_int from_line in + let uu____7889 = arg_as_int from_col in + let uu____7892 = arg_as_int to_line in + let uu____7895 = arg_as_int to_col in + (uu____7882, uu____7886, uu____7889, uu____7892, uu____7895) in (match uu____7860 with - | (FStar_Pervasives_Native.Some fn1, FStar_Pervasives_Native.Some - from_l, FStar_Pervasives_Native.Some from_c, - FStar_Pervasives_Native.Some to_l, FStar_Pervasives_Native.Some - to_c) -> + | (FStar_Pervasives_Native.Some fn1,FStar_Pervasives_Native.Some + from_l,FStar_Pervasives_Native.Some + from_c,FStar_Pervasives_Native.Some + to_l,FStar_Pervasives_Native.Some to_c) -> let r = let uu____7930 = - let uu____7931 = FStar_BigInt.to_int_fs from_l in - let uu____7933 = FStar_BigInt.to_int_fs from_c in - FStar_Range.mk_pos uu____7931 uu____7933 in + let uu____7931 = FStar_BigInt.to_int_fs from_l in + let uu____7933 = FStar_BigInt.to_int_fs from_c in + FStar_Range.mk_pos uu____7931 uu____7933 in let uu____7935 = - let uu____7936 = FStar_BigInt.to_int_fs to_l in - let uu____7938 = FStar_BigInt.to_int_fs to_c in - FStar_Range.mk_pos uu____7936 uu____7938 in - FStar_Range.mk_range fn1 uu____7930 uu____7935 in - let uu____7940 = embed e_range bogus_cbs r in + let uu____7936 = FStar_BigInt.to_int_fs to_l in + let uu____7938 = FStar_BigInt.to_int_fs to_c in + FStar_Range.mk_pos uu____7936 uu____7938 in + FStar_Range.mk_range fn1 uu____7930 uu____7935 in + let uu____7940 = embed e_range bogus_cbs r in FStar_Pervasives_Native.Some uu____7940 | uu____7941 -> FStar_Pervasives_Native.None) | uu____7963 -> FStar_Pervasives_Native.None + let arrow_as_prim_step_1 : 'a 'b . 'a embedding -> @@ -1660,24 +1824,27 @@ let arrow_as_prim_step_1 : FStar_Ident.lid -> nbe_cbs -> args -> t FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun f -> - fun n_tvars -> - fun _fv_lid -> - fun cb -> + fun ea -> + fun eb -> + fun f -> + fun n_tvars -> + fun _fv_lid -> + fun cb -> let f_wrapped args = - let uu____8053 = FStar_List.splitAt n_tvars args in + let uu____8053 = FStar_List.splitAt n_tvars args in match uu____8053 with - | (_tvar_args, rest_args) -> - let uu____8102 = FStar_List.hd rest_args in + | (_tvar_args,rest_args) -> + let uu____8102 = FStar_List.hd rest_args in (match uu____8102 with - | (x, uu____8114) -> - let uu____8115 = unembed ea cb x in + | (x,uu____8114) -> + let uu____8115 = unembed ea cb x in FStar_Util.map_opt uu____8115 - (fun x1 -> - let uu____8121 = f x1 in embed eb cb uu____8121)) in + (fun x1 -> + let uu____8121 = f x1 in + embed eb cb uu____8121)) + in f_wrapped + let arrow_as_prim_step_2 : 'a 'b 'c . 'a embedding -> @@ -1688,37 +1855,39 @@ let arrow_as_prim_step_2 : FStar_Ident.lid -> nbe_cbs -> args -> t FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun ec -> - fun f -> - fun n_tvars -> - fun _fv_lid -> - fun cb -> + fun ea -> + fun eb -> + fun ec -> + fun f -> + fun n_tvars -> + fun _fv_lid -> + fun cb -> let f_wrapped args = - let uu____8230 = FStar_List.splitAt n_tvars args in + let uu____8230 = FStar_List.splitAt n_tvars args in match uu____8230 with - | (_tvar_args, rest_args) -> - let uu____8279 = FStar_List.hd rest_args in + | (_tvar_args,rest_args) -> + let uu____8279 = FStar_List.hd rest_args in (match uu____8279 with - | (x, uu____8291) -> + | (x,uu____8291) -> let uu____8292 = - let uu____8297 = FStar_List.tl rest_args in - FStar_List.hd uu____8297 in + let uu____8297 = FStar_List.tl rest_args in + FStar_List.hd uu____8297 in (match uu____8292 with - | (y, uu____8315) -> - let uu____8316 = unembed ea cb x in + | (y,uu____8315) -> + let uu____8316 = unembed ea cb x in FStar_Util.bind_opt uu____8316 - (fun x1 -> - let uu____8322 = unembed eb cb y in + (fun x1 -> + let uu____8322 = unembed eb cb y in FStar_Util.bind_opt uu____8322 - (fun y1 -> + (fun y1 -> let uu____8328 = - let uu____8329 = f x1 y1 in - embed ec cb uu____8329 in + let uu____8329 = f x1 y1 in + embed ec cb uu____8329 in FStar_Pervasives_Native.Some - uu____8328)))) in + uu____8328)))) + in f_wrapped + let arrow_as_prim_step_3 : 'a 'b 'c 'd . 'a embedding -> @@ -1730,50 +1899,54 @@ let arrow_as_prim_step_3 : FStar_Ident.lid -> nbe_cbs -> args -> t FStar_Pervasives_Native.option = - fun ea -> - fun eb -> - fun ec -> - fun ed -> - fun f -> - fun n_tvars -> - fun _fv_lid -> - fun cb -> + fun ea -> + fun eb -> + fun ec -> + fun ed -> + fun f -> + fun n_tvars -> + fun _fv_lid -> + fun cb -> let f_wrapped args = - let uu____8457 = FStar_List.splitAt n_tvars args in + let uu____8457 = FStar_List.splitAt n_tvars args in match uu____8457 with - | (_tvar_args, rest_args) -> - let uu____8506 = FStar_List.hd rest_args in + | (_tvar_args,rest_args) -> + let uu____8506 = FStar_List.hd rest_args in (match uu____8506 with - | (x, uu____8518) -> + | (x,uu____8518) -> let uu____8519 = - let uu____8524 = FStar_List.tl rest_args in - FStar_List.hd uu____8524 in + let uu____8524 = FStar_List.tl rest_args in + FStar_List.hd uu____8524 in (match uu____8519 with - | (y, uu____8542) -> + | (y,uu____8542) -> let uu____8543 = let uu____8548 = let uu____8555 = - FStar_List.tl rest_args in - FStar_List.tl uu____8555 in - FStar_List.hd uu____8548 in + FStar_List.tl rest_args in + FStar_List.tl uu____8555 in + FStar_List.hd uu____8548 in (match uu____8543 with - | (z, uu____8577) -> - let uu____8578 = unembed ea cb x in + | (z,uu____8577) -> + let uu____8578 = unembed ea cb x in FStar_Util.bind_opt uu____8578 - (fun x1 -> - let uu____8584 = unembed eb cb y in + (fun x1 -> + let uu____8584 = unembed eb cb y + in FStar_Util.bind_opt uu____8584 - (fun y1 -> + (fun y1 -> let uu____8590 = - unembed ec cb z in + unembed ec cb z in FStar_Util.bind_opt uu____8590 - (fun z1 -> + (fun z1 -> let uu____8596 = let uu____8597 = - f x1 y1 z1 in + f x1 y1 z1 in embed ed cb - uu____8597 in + uu____8597 + in FStar_Pervasives_Native.Some - uu____8596)))))) in - f_wrapped \ No newline at end of file + uu____8596)))))) + in + f_wrapped + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_Normalize.ml b/src/ocaml-output/FStar_TypeChecker_Normalize.ml index 47b16f04b11..c6f13121944 100644 --- a/src/ocaml-output/FStar_TypeChecker_Normalize.ml +++ b/src/ocaml-output/FStar_TypeChecker_Normalize.ml @@ -4,12 +4,13 @@ let cases : ('Auu____10 -> 'Auu____11) -> 'Auu____11 -> 'Auu____10 FStar_Pervasives_Native.option -> 'Auu____11 = - fun f -> - fun d -> - fun uu___0_31 -> + fun f -> + fun d -> + fun uu___0_31 -> match uu___0_31 with | FStar_Pervasives_Native.Some x -> f x - | FStar_Pervasives_Native.None -> d + | FStar_Pervasives_Native.None -> d + type closure = | Clos of ((FStar_Syntax_Syntax.binder FStar_Pervasives_Native.option * closure) Prims.list * FStar_Syntax_Syntax.term * @@ -19,28 +20,32 @@ type closure = | Univ of FStar_Syntax_Syntax.universe | Dummy let (uu___is_Clos : closure -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Clos _0 -> true | uu____129 -> false + let (__proj__Clos__item___0 : closure -> ((FStar_Syntax_Syntax.binder FStar_Pervasives_Native.option * closure) Prims.list * FStar_Syntax_Syntax.term * ((FStar_Syntax_Syntax.binder FStar_Pervasives_Native.option * closure) Prims.list * FStar_Syntax_Syntax.term) FStar_Syntax_Syntax.memo * Prims.bool)) - = fun projectee -> match projectee with | Clos _0 -> _0 + = fun projectee -> match projectee with | Clos _0 -> _0 let (uu___is_Univ : closure -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Univ _0 -> true | uu____241 -> false + let (__proj__Univ__item___0 : closure -> FStar_Syntax_Syntax.universe) = - fun projectee -> match projectee with | Univ _0 -> _0 + fun projectee -> match projectee with | Univ _0 -> _0 let (uu___is_Dummy : closure -> Prims.bool) = - fun projectee -> match projectee with | Dummy -> true | uu____259 -> false + fun projectee -> + match projectee with | Dummy -> true | uu____259 -> false + type env = (FStar_Syntax_Syntax.binder FStar_Pervasives_Native.option * closure) Prims.list let (dummy : (FStar_Syntax_Syntax.binder FStar_Pervasives_Native.option * closure)) = - (FStar_Pervasives_Native.None, Dummy) + (FStar_Pervasives_Native.None, Dummy) type branches = (FStar_Syntax_Syntax.pat * FStar_Syntax_Syntax.term FStar_Pervasives_Native.option * FStar_Syntax_Syntax.term) Prims.list @@ -62,250 +67,285 @@ type stack_elt = | Cfg of FStar_TypeChecker_Cfg.cfg | Debug of (FStar_Syntax_Syntax.term * FStar_Util.time) let (uu___is_Arg : stack_elt -> Prims.bool) = - fun projectee -> match projectee with | Arg _0 -> true | uu____428 -> false + fun projectee -> + match projectee with | Arg _0 -> true | uu____428 -> false + let (__proj__Arg__item___0 : stack_elt -> (closure * FStar_Syntax_Syntax.aqual * FStar_Range.range)) = - fun projectee -> match projectee with | Arg _0 -> _0 + fun projectee -> match projectee with | Arg _0 -> _0 let (uu___is_UnivArgs : stack_elt -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UnivArgs _0 -> true | uu____471 -> false + let (__proj__UnivArgs__item___0 : stack_elt -> (FStar_Syntax_Syntax.universe Prims.list * FStar_Range.range)) - = fun projectee -> match projectee with | UnivArgs _0 -> _0 + = fun projectee -> match projectee with | UnivArgs _0 -> _0 let (uu___is_MemoLazy : stack_elt -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MemoLazy _0 -> true | uu____514 -> false + let (__proj__MemoLazy__item___0 : stack_elt -> (env * FStar_Syntax_Syntax.term) FStar_Syntax_Syntax.memo) = - fun projectee -> match projectee with | MemoLazy _0 -> _0 + fun projectee -> match projectee with | MemoLazy _0 -> _0 let (uu___is_Match : stack_elt -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Match _0 -> true | uu____559 -> false + let (__proj__Match__item___0 : stack_elt -> (env * branches * FStar_TypeChecker_Cfg.cfg * FStar_Range.range)) - = fun projectee -> match projectee with | Match _0 -> _0 + = fun projectee -> match projectee with | Match _0 -> _0 let (uu___is_Abs : stack_elt -> Prims.bool) = - fun projectee -> match projectee with | Abs _0 -> true | uu____614 -> false + fun projectee -> + match projectee with | Abs _0 -> true | uu____614 -> false + let (__proj__Abs__item___0 : stack_elt -> (env * FStar_Syntax_Syntax.binders * env * FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option * FStar_Range.range)) - = fun projectee -> match projectee with | Abs _0 -> _0 + = fun projectee -> match projectee with | Abs _0 -> _0 let (uu___is_App : stack_elt -> Prims.bool) = - fun projectee -> match projectee with | App _0 -> true | uu____677 -> false + fun projectee -> + match projectee with | App _0 -> true | uu____677 -> false + let (__proj__App__item___0 : stack_elt -> (env * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.aqual * FStar_Range.range)) - = fun projectee -> match projectee with | App _0 -> _0 + = fun projectee -> match projectee with | App _0 -> _0 let (uu___is_Meta : stack_elt -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Meta _0 -> true | uu____726 -> false + let (__proj__Meta__item___0 : stack_elt -> (env * FStar_Syntax_Syntax.metadata * FStar_Range.range)) = - fun projectee -> match projectee with | Meta _0 -> _0 + fun projectee -> match projectee with | Meta _0 -> _0 let (uu___is_Let : stack_elt -> Prims.bool) = - fun projectee -> match projectee with | Let _0 -> true | uu____771 -> false + fun projectee -> + match projectee with | Let _0 -> true | uu____771 -> false + let (__proj__Let__item___0 : stack_elt -> (env * FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.letbinding * FStar_Range.range)) - = fun projectee -> match projectee with | Let _0 -> _0 + = fun projectee -> match projectee with | Let _0 -> _0 let (uu___is_Cfg : stack_elt -> Prims.bool) = - fun projectee -> match projectee with | Cfg _0 -> true | uu____814 -> false + fun projectee -> + match projectee with | Cfg _0 -> true | uu____814 -> false + let (__proj__Cfg__item___0 : stack_elt -> FStar_TypeChecker_Cfg.cfg) = - fun projectee -> match projectee with | Cfg _0 -> _0 + fun projectee -> match projectee with | Cfg _0 -> _0 let (uu___is_Debug : stack_elt -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Debug _0 -> true | uu____837 -> false + let (__proj__Debug__item___0 : stack_elt -> (FStar_Syntax_Syntax.term * FStar_Util.time)) = - fun projectee -> match projectee with | Debug _0 -> _0 + fun projectee -> match projectee with | Debug _0 -> _0 type stack = stack_elt Prims.list let (head_of : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> - let uu____866 = FStar_Syntax_Util.head_and_args' t in - match uu____866 with | (hd1, uu____882) -> hd1 + fun t -> + let uu____866 = FStar_Syntax_Util.head_and_args' t in + match uu____866 with | (hd1,uu____882) -> hd1 + let mk : 'Auu____910 . 'Auu____910 -> FStar_Range.range -> 'Auu____910 FStar_Syntax_Syntax.syntax - = fun t -> fun r -> FStar_Syntax_Syntax.mk t FStar_Pervasives_Native.None r + = + fun t -> fun r -> FStar_Syntax_Syntax.mk t FStar_Pervasives_Native.None r let set_memo : 'a . FStar_TypeChecker_Cfg.cfg -> 'a FStar_Syntax_Syntax.memo -> 'a -> unit = - fun cfg -> - fun r -> - fun t -> + fun cfg -> + fun r -> + fun t -> if cfg.FStar_TypeChecker_Cfg.memoize_lazy then - let uu____953 = FStar_ST.op_Bang r in + let uu____953 = FStar_ST.op_Bang r in match uu____953 with | FStar_Pervasives_Native.Some uu____979 -> failwith "Unexpected set_memo: thunk already evaluated" - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_ST.op_Colon_Equals r (FStar_Pervasives_Native.Some t) else () + let rec (env_to_string : (FStar_Syntax_Syntax.binder FStar_Pervasives_Native.option * closure) Prims.list -> Prims.string) = - fun env -> + fun env -> let uu____1034 = FStar_List.map - (fun uu____1050 -> + (fun uu____1050 -> match uu____1050 with - | (bopt, c) -> + | (bopt,c) -> let uu____1064 = match bopt with - | FStar_Pervasives_Native.None -> "." + | FStar_Pervasives_Native.None -> "." | FStar_Pervasives_Native.Some x -> - FStar_Syntax_Print.binder_to_string x in - let uu____1069 = closure_to_string c in - FStar_Util.format2 "(%s, %s)" uu____1064 uu____1069) env in + FStar_Syntax_Print.binder_to_string x + in + let uu____1069 = closure_to_string c in + FStar_Util.format2 "(%s, %s)" uu____1064 uu____1069) env + in FStar_All.pipe_right uu____1034 (FStar_String.concat "; ") + and (closure_to_string : closure -> Prims.string) = - fun uu___1_1077 -> + fun uu___1_1077 -> match uu___1_1077 with - | Clos (env, t, uu____1081, uu____1082) -> + | Clos (env,t,uu____1081,uu____1082) -> let uu____1129 = FStar_All.pipe_right (FStar_List.length env) - FStar_Util.string_of_int in - let uu____1139 = FStar_Syntax_Print.term_to_string t in + FStar_Util.string_of_int + in + let uu____1139 = FStar_Syntax_Print.term_to_string t in FStar_Util.format2 "(env=%s elts; %s)" uu____1129 uu____1139 | Univ uu____1142 -> "Univ" - | Dummy -> "dummy" + | Dummy -> "dummy" + let (stack_elt_to_string : stack_elt -> Prims.string) = - fun uu___2_1151 -> + fun uu___2_1151 -> match uu___2_1151 with - | Arg (c, uu____1154, uu____1155) -> - let uu____1156 = closure_to_string c in + | Arg (c,uu____1154,uu____1155) -> + let uu____1156 = closure_to_string c in FStar_Util.format1 "Closure %s" uu____1156 | MemoLazy uu____1159 -> "MemoLazy" - | Abs (uu____1167, bs, uu____1169, uu____1170, uu____1171) -> + | Abs (uu____1167,bs,uu____1169,uu____1170,uu____1171) -> let uu____1176 = - FStar_All.pipe_left FStar_Util.string_of_int (FStar_List.length bs) in + FStar_All.pipe_left FStar_Util.string_of_int (FStar_List.length bs) + in FStar_Util.format1 "Abs %s" uu____1176 | UnivArgs uu____1187 -> "UnivArgs" | Match uu____1195 -> "Match" - | App (uu____1205, t, uu____1207, uu____1208) -> - let uu____1209 = FStar_Syntax_Print.term_to_string t in + | App (uu____1205,t,uu____1207,uu____1208) -> + let uu____1209 = FStar_Syntax_Print.term_to_string t in FStar_Util.format1 "App %s" uu____1209 - | Meta (uu____1212, m, uu____1214) -> "Meta" + | Meta (uu____1212,m,uu____1214) -> "Meta" | Let uu____1216 -> "Let" | Cfg uu____1226 -> "Cfg" - | Debug (t, uu____1229) -> - let uu____1230 = FStar_Syntax_Print.term_to_string t in + | Debug (t,uu____1229) -> + let uu____1230 = FStar_Syntax_Print.term_to_string t in FStar_Util.format1 "Debug %s" uu____1230 + let (stack_to_string : stack_elt Prims.list -> Prims.string) = - fun s -> - let uu____1244 = FStar_List.map stack_elt_to_string s in + fun s -> + let uu____1244 = FStar_List.map stack_elt_to_string s in FStar_All.pipe_right uu____1244 (FStar_String.concat "; ") + let is_empty : 'Auu____1259 . 'Auu____1259 Prims.list -> Prims.bool = - fun uu___3_1267 -> + fun uu___3_1267 -> match uu___3_1267 with | [] -> true | uu____1271 -> false + let (lookup_bvar : (FStar_Syntax_Syntax.binder FStar_Pervasives_Native.option * closure) Prims.list -> FStar_Syntax_Syntax.bv -> closure) = - fun env -> - fun x -> + fun env -> + fun x -> try - (fun uu___115_1304 -> + (fun uu___115_1304 -> match () with | () -> let uu____1305 = - FStar_List.nth env x.FStar_Syntax_Syntax.index in + FStar_List.nth env x.FStar_Syntax_Syntax.index in FStar_Pervasives_Native.snd uu____1305) () with | uu___114_1322 -> let uu____1323 = - let uu____1325 = FStar_Syntax_Print.db_to_string x in - let uu____1327 = env_to_string env in + let uu____1325 = FStar_Syntax_Print.db_to_string x in + let uu____1327 = env_to_string env in FStar_Util.format2 "Failed to find %s\nEnv is %s\n" uu____1325 - uu____1327 in + uu____1327 + in failwith uu____1323 + let (downgrade_ghost_effect_name : FStar_Ident.lident -> FStar_Ident.lident FStar_Pervasives_Native.option) = - fun l -> + fun l -> let uu____1338 = - FStar_Ident.lid_equals l FStar_Parser_Const.effect_Ghost_lid in + FStar_Ident.lid_equals l FStar_Parser_Const.effect_Ghost_lid in if uu____1338 then FStar_Pervasives_Native.Some FStar_Parser_Const.effect_Pure_lid else (let uu____1345 = - FStar_Ident.lid_equals l FStar_Parser_Const.effect_GTot_lid in + FStar_Ident.lid_equals l FStar_Parser_Const.effect_GTot_lid in if uu____1345 then FStar_Pervasives_Native.Some FStar_Parser_Const.effect_Tot_lid else (let uu____1352 = - FStar_Ident.lid_equals l FStar_Parser_Const.effect_GHOST_lid in + FStar_Ident.lid_equals l FStar_Parser_Const.effect_GHOST_lid in if uu____1352 then FStar_Pervasives_Native.Some FStar_Parser_Const.effect_PURE_lid else FStar_Pervasives_Native.None)) + let (norm_universe : FStar_TypeChecker_Cfg.cfg -> env -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe) = - fun cfg -> - fun env -> - fun u -> + fun cfg -> + fun env -> + fun u -> let norm_univs us = - let us1 = FStar_Util.sort_with FStar_Syntax_Util.compare_univs us in + let us1 = FStar_Util.sort_with FStar_Syntax_Util.compare_univs us + in let uu____1390 = FStar_List.fold_left - (fun uu____1416 -> - fun u1 -> + (fun uu____1416 -> + fun u1 -> match uu____1416 with - | (cur_kernel, cur_max, out) -> - let uu____1441 = FStar_Syntax_Util.univ_kernel u1 in + | (cur_kernel,cur_max,out) -> + let uu____1441 = FStar_Syntax_Util.univ_kernel u1 in (match uu____1441 with - | (k_u, n1) -> + | (k_u,n1) -> let uu____1459 = - FStar_Syntax_Util.eq_univs cur_kernel k_u in + FStar_Syntax_Util.eq_univs cur_kernel k_u in if uu____1459 then (cur_kernel, u1, out) else (k_u, u1, (cur_max :: out)))) (FStar_Syntax_Syntax.U_zero, FStar_Syntax_Syntax.U_zero, []) - us1 in + us1 + in match uu____1390 with - | (uu____1480, u1, out) -> FStar_List.rev (u1 :: out) in + | (uu____1480,u1,out) -> FStar_List.rev (u1 :: out) in let rec aux u1 = - let u2 = FStar_Syntax_Subst.compress_univ u1 in + let u2 = FStar_Syntax_Subst.compress_univ u1 in match u2 with | FStar_Syntax_Syntax.U_bvar x -> (try - (fun uu___149_1506 -> + (fun uu___149_1506 -> match () with | () -> let uu____1509 = - let uu____1510 = FStar_List.nth env x in - FStar_Pervasives_Native.snd uu____1510 in + let uu____1510 = FStar_List.nth env x in + FStar_Pervasives_Native.snd uu____1510 in (match uu____1509 with | Univ u3 -> ((let uu____1529 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug cfg.FStar_TypeChecker_Cfg.tcenv) - (FStar_Options.Other "univ_norm") in + (FStar_Options.Other "univ_norm") + in if uu____1529 then let uu____1534 = - FStar_Syntax_Print.univ_to_string u3 in + FStar_Syntax_Print.univ_to_string u3 in FStar_Util.print1 "Univ (in norm_universe): %s\n" uu____1534 else ()); aux u3) - | Dummy -> [u2] + | Dummy -> [u2] | uu____1539 -> let uu____1540 = - let uu____1542 = FStar_Util.string_of_int x in + let uu____1542 = FStar_Util.string_of_int x + in FStar_Util.format1 "Impossible: universe variable u@%s bound to a term" - uu____1542 in + uu____1542 + in failwith uu____1540)) () with | uu____1552 -> @@ -314,55 +354,60 @@ let (norm_universe : then [FStar_Syntax_Syntax.U_unknown] else (let uu____1558 = - let uu____1560 = FStar_Util.string_of_int x in + let uu____1560 = FStar_Util.string_of_int x in FStar_String.op_Hat "Universe variable not found: u@" - uu____1560 in + uu____1560 + in failwith uu____1558)) | FStar_Syntax_Syntax.U_unif uu____1565 when (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.check_no_uvars -> [FStar_Syntax_Syntax.U_zero] - | FStar_Syntax_Syntax.U_zero -> [u2] + | FStar_Syntax_Syntax.U_zero -> [u2] | FStar_Syntax_Syntax.U_unif uu____1574 -> [u2] | FStar_Syntax_Syntax.U_name uu____1583 -> [u2] - | FStar_Syntax_Syntax.U_unknown -> [u2] + | FStar_Syntax_Syntax.U_unknown -> [u2] | FStar_Syntax_Syntax.U_max [] -> [FStar_Syntax_Syntax.U_zero] | FStar_Syntax_Syntax.U_max us -> let us1 = - let uu____1590 = FStar_List.collect aux us in - FStar_All.pipe_right uu____1590 norm_univs in + let uu____1590 = FStar_List.collect aux us in + FStar_All.pipe_right uu____1590 norm_univs in (match us1 with | u_k::hd1::rest -> - let rest1 = hd1 :: rest in - let uu____1607 = FStar_Syntax_Util.univ_kernel u_k in + let rest1 = hd1 :: rest in + let uu____1607 = FStar_Syntax_Util.univ_kernel u_k in (match uu____1607 with - | (FStar_Syntax_Syntax.U_zero, n1) -> + | (FStar_Syntax_Syntax.U_zero ,n1) -> let uu____1618 = FStar_All.pipe_right rest1 (FStar_List.for_all - (fun u3 -> + (fun u3 -> let uu____1628 = - FStar_Syntax_Util.univ_kernel u3 in + FStar_Syntax_Util.univ_kernel u3 in match uu____1628 with - | (uu____1635, m) -> n1 <= m)) in + | (uu____1635,m) -> n1 <= m)) + in if uu____1618 then rest1 else us1 | uu____1644 -> us1) | uu____1650 -> us1) | FStar_Syntax_Syntax.U_succ u3 -> - let uu____1654 = aux u3 in - FStar_List.map (fun _1657 -> FStar_Syntax_Syntax.U_succ _1657) - uu____1654 in + let uu____1654 = aux u3 in + FStar_List.map (fun _1657 -> FStar_Syntax_Syntax.U_succ _1657) + uu____1654 + in if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.erase_universes then FStar_Syntax_Syntax.U_unknown else - (let uu____1661 = aux u in + (let uu____1661 = aux u in match uu____1661 with | [] -> FStar_Syntax_Syntax.U_zero - | (FStar_Syntax_Syntax.U_zero)::[] -> FStar_Syntax_Syntax.U_zero - | (FStar_Syntax_Syntax.U_zero)::u1::[] -> u1 - | (FStar_Syntax_Syntax.U_zero)::us -> FStar_Syntax_Syntax.U_max us + | (FStar_Syntax_Syntax.U_zero )::[] -> FStar_Syntax_Syntax.U_zero + | (FStar_Syntax_Syntax.U_zero )::u1::[] -> u1 + | (FStar_Syntax_Syntax.U_zero )::us -> + FStar_Syntax_Syntax.U_max us | u1::[] -> u1 | us -> FStar_Syntax_Syntax.U_max us) + let rec (inline_closure_env : FStar_TypeChecker_Cfg.cfg -> env -> @@ -370,15 +415,15 @@ let rec (inline_closure_env : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun cfg -> - fun env -> - fun stack -> - fun t -> + fun cfg -> + fun env -> + fun stack -> + fun t -> FStar_TypeChecker_Cfg.log cfg - (fun uu____1830 -> - let uu____1831 = FStar_Syntax_Print.tag_of_term t in - let uu____1833 = env_to_string env in - let uu____1835 = FStar_Syntax_Print.term_to_string t in + (fun uu____1830 -> + let uu____1831 = FStar_Syntax_Print.tag_of_term t in + let uu____1833 = env_to_string env in + let uu____1835 = FStar_Syntax_Print.term_to_string t in FStar_Util.print3 "\n>>> %s (env=%s) Closure_as_term %s\n" uu____1831 uu____1833 uu____1835); (match env with @@ -389,9 +434,9 @@ let rec (inline_closure_env : | uu____1848 -> (match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_delayed uu____1851 -> - let uu____1874 = FStar_Syntax_Subst.compress t in + let uu____1874 = FStar_Syntax_Subst.compress t in inline_closure_env cfg env stack uu____1874 - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> rebuild_closure cfg env stack t | FStar_Syntax_Syntax.Tm_constant uu____1875 -> rebuild_closure cfg env stack t @@ -401,45 +446,48 @@ let rec (inline_closure_env : rebuild_closure cfg env stack t | FStar_Syntax_Syntax.Tm_fvar uu____1878 -> rebuild_closure cfg env stack t - | FStar_Syntax_Syntax.Tm_uvar (uv, s) -> + | FStar_Syntax_Syntax.Tm_uvar (uv,s) -> if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.check_no_uvars then - let t1 = FStar_Syntax_Subst.compress t in + let t1 = FStar_Syntax_Subst.compress t in (match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_uvar uu____1903 -> let uu____1916 = let uu____1918 = FStar_Range.string_of_range - t1.FStar_Syntax_Syntax.pos in + t1.FStar_Syntax_Syntax.pos + in let uu____1920 = - FStar_Syntax_Print.term_to_string t1 in + FStar_Syntax_Print.term_to_string t1 in FStar_Util.format2 "(%s): CheckNoUvars: Unexpected unification variable remains: %s" - uu____1918 uu____1920 in + uu____1918 uu____1920 + in failwith uu____1916 | uu____1925 -> inline_closure_env cfg env stack t1) else (let s' = FStar_All.pipe_right (FStar_Pervasives_Native.fst s) (FStar_List.map - (fun s1 -> + (fun s1 -> FStar_All.pipe_right s1 (FStar_List.map - (fun uu___4_1961 -> + (fun uu___4_1961 -> match uu___4_1961 with - | FStar_Syntax_Syntax.NT (x, t1) -> + | FStar_Syntax_Syntax.NT (x,t1) -> let uu____1968 = let uu____1975 = inline_closure_env cfg env - [] t1 in - (x, uu____1975) in + [] t1 + in + (x, uu____1975) in FStar_Syntax_Syntax.NT uu____1968 - | FStar_Syntax_Syntax.NM (x, i) -> + | FStar_Syntax_Syntax.NM (x,i) -> let x_i = FStar_Syntax_Syntax.bv_to_tm - (let uu___243_1987 = x in + (let uu___243_1987 = x in { FStar_Syntax_Syntax.ppname = @@ -449,10 +497,12 @@ let rec (inline_closure_env : FStar_Syntax_Syntax.sort = (uu___243_1987.FStar_Syntax_Syntax.sort) - }) in + }) + in let t1 = inline_closure_env cfg env [] - x_i in + x_i + in (match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_bvar @@ -465,9 +515,10 @@ let rec (inline_closure_env : (x, t1)) | uu____1996 -> failwith - "Impossible: subst invariant of uvar nodes")))) in + "Impossible: subst invariant of uvar nodes")))) + in let t1 = - let uu___252_2001 = t in + let uu___252_2001 = t in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Tm_uvar @@ -476,30 +527,30 @@ let rec (inline_closure_env : (uu___252_2001.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = (uu___252_2001.FStar_Syntax_Syntax.vars) - } in + } in rebuild_closure cfg env stack t1) | FStar_Syntax_Syntax.Tm_type u -> let t1 = let uu____2022 = - let uu____2023 = norm_universe cfg env u in - FStar_Syntax_Syntax.Tm_type uu____2023 in - mk uu____2022 t.FStar_Syntax_Syntax.pos in + let uu____2023 = norm_universe cfg env u in + FStar_Syntax_Syntax.Tm_type uu____2023 in + mk uu____2022 t.FStar_Syntax_Syntax.pos in rebuild_closure cfg env stack t1 - | FStar_Syntax_Syntax.Tm_uinst (t', us) -> + | FStar_Syntax_Syntax.Tm_uinst (t',us) -> let t1 = let uu____2031 = - FStar_List.map (norm_universe cfg env) us in - FStar_Syntax_Syntax.mk_Tm_uinst t' uu____2031 in + FStar_List.map (norm_universe cfg env) us in + FStar_Syntax_Syntax.mk_Tm_uinst t' uu____2031 in rebuild_closure cfg env stack t1 | FStar_Syntax_Syntax.Tm_bvar x -> - let uu____2033 = lookup_bvar env x in + let uu____2033 = lookup_bvar env x in (match uu____2033 with | Univ uu____2036 -> failwith "Impossible: term variable is bound to a universe" - | Dummy -> + | Dummy -> let x1 = - let uu___268_2041 = x in + let uu___268_2041 = x in { FStar_Syntax_Syntax.ppname = (uu___268_2041.FStar_Syntax_Syntax.ppname); @@ -507,161 +558,178 @@ let rec (inline_closure_env : (uu___268_2041.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = FStar_Syntax_Syntax.tun - } in + } in let t1 = mk (FStar_Syntax_Syntax.Tm_bvar x1) - t.FStar_Syntax_Syntax.pos in + t.FStar_Syntax_Syntax.pos + in rebuild_closure cfg env stack t1 - | Clos (env1, t0, uu____2047, uu____2048) -> + | Clos (env1,t0,uu____2047,uu____2048) -> inline_closure_env cfg env1 stack t0) - | FStar_Syntax_Syntax.Tm_app (head1, args) -> + | FStar_Syntax_Syntax.Tm_app (head1,args) -> let stack1 = FStar_All.pipe_right stack (FStar_List.fold_right - (fun uu____2139 -> - fun stack1 -> + (fun uu____2139 -> + fun stack1 -> match uu____2139 with - | (a, aq) -> + | (a,aq) -> let uu____2151 = let uu____2152 = let uu____2159 = let uu____2160 = let uu____2192 = FStar_Util.mk_ref - FStar_Pervasives_Native.None in - (env, a, uu____2192, false) in - Clos uu____2160 in + FStar_Pervasives_Native.None + in + (env, a, uu____2192, false) in + Clos uu____2160 in (uu____2159, aq, - (t.FStar_Syntax_Syntax.pos)) in - Arg uu____2152 in - uu____2151 :: stack1) args) in + (t.FStar_Syntax_Syntax.pos)) + in + Arg uu____2152 in + uu____2151 :: stack1) args) + in inline_closure_env cfg env stack1 head1 - | FStar_Syntax_Syntax.Tm_abs (bs, body, lopt) -> + | FStar_Syntax_Syntax.Tm_abs (bs,body,lopt) -> let env' = FStar_All.pipe_right env (FStar_List.fold_right - (fun _b -> - fun env1 -> + (fun _b -> + fun env1 -> (FStar_Pervasives_Native.None, Dummy) :: env1) - bs) in + bs) + in let stack1 = (Abs (env, bs, env', lopt, (t.FStar_Syntax_Syntax.pos))) - :: stack in + :: stack in inline_closure_env cfg env' stack1 body - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____2360 = close_binders cfg env bs in + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____2360 = close_binders cfg env bs in (match uu____2360 with - | (bs1, env') -> - let c1 = close_comp cfg env' c in + | (bs1,env') -> + let c1 = close_comp cfg env' c in let t1 = mk (FStar_Syntax_Syntax.Tm_arrow (bs1, c1)) - t.FStar_Syntax_Syntax.pos in + t.FStar_Syntax_Syntax.pos + in rebuild_closure cfg env stack t1) - | FStar_Syntax_Syntax.Tm_refine (x, uu____2410) when + | FStar_Syntax_Syntax.Tm_refine (x,uu____2410) when (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.for_extraction -> inline_closure_env cfg env stack x.FStar_Syntax_Syntax.sort - | FStar_Syntax_Syntax.Tm_refine (x, phi) -> + | FStar_Syntax_Syntax.Tm_refine (x,phi) -> let uu____2421 = let uu____2434 = - let uu____2443 = FStar_Syntax_Syntax.mk_binder x in - [uu____2443] in - close_binders cfg env uu____2434 in + let uu____2443 = FStar_Syntax_Syntax.mk_binder x in + [uu____2443] in + close_binders cfg env uu____2434 in (match uu____2421 with - | (x1, env1) -> - let phi1 = non_tail_inline_closure_env cfg env1 phi in + | (x1,env1) -> + let phi1 = non_tail_inline_closure_env cfg env1 phi + in let t1 = let uu____2488 = let uu____2489 = let uu____2496 = - let uu____2497 = FStar_List.hd x1 in + let uu____2497 = FStar_List.hd x1 in FStar_All.pipe_right uu____2497 - FStar_Pervasives_Native.fst in - (uu____2496, phi1) in - FStar_Syntax_Syntax.Tm_refine uu____2489 in - mk uu____2488 t.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.fst + in + (uu____2496, phi1) in + FStar_Syntax_Syntax.Tm_refine uu____2489 in + mk uu____2488 t.FStar_Syntax_Syntax.pos in rebuild_closure cfg env1 stack t1) - | FStar_Syntax_Syntax.Tm_ascribed (t1, (annot, tacopt), lopt) - -> + | FStar_Syntax_Syntax.Tm_ascribed (t1,(annot,tacopt),lopt) -> let annot1 = match annot with | FStar_Util.Inl t2 -> let uu____2596 = - non_tail_inline_closure_env cfg env t2 in + non_tail_inline_closure_env cfg env t2 in FStar_Util.Inl uu____2596 | FStar_Util.Inr c -> - let uu____2610 = close_comp cfg env c in - FStar_Util.Inr uu____2610 in + let uu____2610 = close_comp cfg env c in + FStar_Util.Inr uu____2610 + in let tacopt1 = FStar_Util.map_opt tacopt - (non_tail_inline_closure_env cfg env) in + (non_tail_inline_closure_env cfg env) + in let t2 = let uu____2629 = let uu____2630 = let uu____2657 = - non_tail_inline_closure_env cfg env t1 in - (uu____2657, (annot1, tacopt1), lopt) in - FStar_Syntax_Syntax.Tm_ascribed uu____2630 in - mk uu____2629 t.FStar_Syntax_Syntax.pos in + non_tail_inline_closure_env cfg env t1 in + (uu____2657, (annot1, tacopt1), lopt) in + FStar_Syntax_Syntax.Tm_ascribed uu____2630 in + mk uu____2629 t.FStar_Syntax_Syntax.pos in rebuild_closure cfg env stack t2 - | FStar_Syntax_Syntax.Tm_quoted (t', qi) -> + | FStar_Syntax_Syntax.Tm_quoted (t',qi) -> let t1 = match qi.FStar_Syntax_Syntax.qkind with - | FStar_Syntax_Syntax.Quote_dynamic -> + | FStar_Syntax_Syntax.Quote_dynamic -> let uu____2703 = let uu____2704 = let uu____2711 = - non_tail_inline_closure_env cfg env t' in - (uu____2711, qi) in - FStar_Syntax_Syntax.Tm_quoted uu____2704 in + non_tail_inline_closure_env cfg env t' in + (uu____2711, qi) in + FStar_Syntax_Syntax.Tm_quoted uu____2704 in mk uu____2703 t.FStar_Syntax_Syntax.pos - | FStar_Syntax_Syntax.Quote_static -> + | FStar_Syntax_Syntax.Quote_static -> let qi1 = FStar_Syntax_Syntax.on_antiquoted - (non_tail_inline_closure_env cfg env) qi in + (non_tail_inline_closure_env cfg env) qi + in mk (FStar_Syntax_Syntax.Tm_quoted (t', qi1)) - t.FStar_Syntax_Syntax.pos in + t.FStar_Syntax_Syntax.pos + in rebuild_closure cfg env stack t1 - | FStar_Syntax_Syntax.Tm_meta (t', m) -> + | FStar_Syntax_Syntax.Tm_meta (t',m) -> let stack1 = (Meta (env, m, (t.FStar_Syntax_Syntax.pos))) - :: stack in + :: stack in inline_closure_env cfg env stack1 t' - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), body) -> - let env0 = env in + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),body) -> + let env0 = env in let env1 = FStar_List.fold_left - (fun env1 -> fun uu____2766 -> dummy :: env1) env - lb.FStar_Syntax_Syntax.lbunivs in + (fun env1 -> fun uu____2766 -> dummy :: env1) env + lb.FStar_Syntax_Syntax.lbunivs + in let typ = non_tail_inline_closure_env cfg env1 - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in let def = non_tail_inline_closure_env cfg env1 - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in let uu____2787 = - let uu____2798 = FStar_Syntax_Syntax.is_top_level [lb] in + let uu____2798 = FStar_Syntax_Syntax.is_top_level [lb] + in if uu____2798 then ((lb.FStar_Syntax_Syntax.lbname), body) else (let x = - FStar_Util.left lb.FStar_Syntax_Syntax.lbname in + FStar_Util.left lb.FStar_Syntax_Syntax.lbname in let uu____2820 = non_tail_inline_closure_env cfg (dummy :: env0) - body in + body + in ((FStar_Util.Inl - (let uu___360_2836 = x in + (let uu___360_2836 = x in { FStar_Syntax_Syntax.ppname = (uu___360_2836.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___360_2836.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = typ - })), uu____2820)) in + })), uu____2820)) + in (match uu____2787 with - | (nm, body1) -> + | (nm,body1) -> let lb1 = - let uu___365_2854 = lb in + let uu___365_2854 = lb in { FStar_Syntax_Syntax.lbname = nm; FStar_Syntax_Syntax.lbunivs = @@ -674,50 +742,59 @@ let rec (inline_closure_env : (uu___365_2854.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___365_2854.FStar_Syntax_Syntax.lbpos) - } in + } in let t1 = mk (FStar_Syntax_Syntax.Tm_let ((false, [lb1]), body1)) - t.FStar_Syntax_Syntax.pos in + t.FStar_Syntax_Syntax.pos + in rebuild_closure cfg env0 stack t1) - | FStar_Syntax_Syntax.Tm_let ((uu____2871, lbs), body) -> + | FStar_Syntax_Syntax.Tm_let ((uu____2871,lbs),body) -> let norm_one_lb env1 lb = let env_univs = FStar_List.fold_right - (fun uu____2937 -> fun env2 -> dummy :: env2) - lb.FStar_Syntax_Syntax.lbunivs env1 in + (fun uu____2937 -> fun env2 -> dummy :: env2) + lb.FStar_Syntax_Syntax.lbunivs env1 + in let env2 = - let uu____2954 = FStar_Syntax_Syntax.is_top_level lbs in + let uu____2954 = FStar_Syntax_Syntax.is_top_level lbs + in if uu____2954 then env_univs else FStar_List.fold_right - (fun uu____2969 -> fun env2 -> dummy :: env2) lbs - env_univs in + (fun uu____2969 -> fun env2 -> dummy :: env2) + lbs env_univs + in let ty = non_tail_inline_closure_env cfg env_univs - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in let nm = - let uu____2993 = FStar_Syntax_Syntax.is_top_level lbs in + let uu____2993 = FStar_Syntax_Syntax.is_top_level lbs + in if uu____2993 then lb.FStar_Syntax_Syntax.lbname else (let x = - FStar_Util.left lb.FStar_Syntax_Syntax.lbname in + FStar_Util.left lb.FStar_Syntax_Syntax.lbname + in FStar_Util.Inl - (let uu___388_3004 = x in + (let uu___388_3004 = x in { FStar_Syntax_Syntax.ppname = (uu___388_3004.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___388_3004.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = ty - })) in - let uu___391_3005 = lb in + })) + in + let uu___391_3005 = lb in let uu____3006 = non_tail_inline_closure_env cfg env2 - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in { FStar_Syntax_Syntax.lbname = nm; FStar_Syntax_Syntax.lbunivs = @@ -730,32 +807,37 @@ let rec (inline_closure_env : (uu___391_3005.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = (uu___391_3005.FStar_Syntax_Syntax.lbpos) - } in + } in let lbs1 = FStar_All.pipe_right lbs - (FStar_List.map (norm_one_lb env)) in + (FStar_List.map (norm_one_lb env)) + in let body1 = let body_env = FStar_List.fold_right - (fun uu____3038 -> fun env1 -> dummy :: env1) lbs1 - env in - non_tail_inline_closure_env cfg body_env body in + (fun uu____3038 -> fun env1 -> dummy :: env1) + lbs1 env + in + non_tail_inline_closure_env cfg body_env body in let t1 = mk (FStar_Syntax_Syntax.Tm_let ((true, lbs1), body1)) - t.FStar_Syntax_Syntax.pos in + t.FStar_Syntax_Syntax.pos + in rebuild_closure cfg env stack t1 - | FStar_Syntax_Syntax.Tm_match (head1, branches) -> + | FStar_Syntax_Syntax.Tm_match (head1,branches) -> let stack1 = (Match (env, branches, cfg, (t.FStar_Syntax_Syntax.pos))) - :: stack in + :: stack in inline_closure_env cfg env stack1 head1)) + and (non_tail_inline_closure_env : FStar_TypeChecker_Cfg.cfg -> env -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) - = fun cfg -> fun env -> fun t -> inline_closure_env cfg env [] t + = fun cfg -> fun env -> fun t -> inline_closure_env cfg env [] t + and (rebuild_closure : FStar_TypeChecker_Cfg.cfg -> env -> @@ -763,70 +845,72 @@ and (rebuild_closure : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun cfg -> - fun env -> - fun stack -> - fun t -> + fun cfg -> + fun env -> + fun stack -> + fun t -> FStar_TypeChecker_Cfg.log cfg - (fun uu____3130 -> - let uu____3131 = FStar_Syntax_Print.tag_of_term t in - let uu____3133 = env_to_string env in - let uu____3135 = stack_to_string stack in - let uu____3137 = FStar_Syntax_Print.term_to_string t in + (fun uu____3130 -> + let uu____3131 = FStar_Syntax_Print.tag_of_term t in + let uu____3133 = env_to_string env in + let uu____3135 = stack_to_string stack in + let uu____3137 = FStar_Syntax_Print.term_to_string t in FStar_Util.print4 "\n>>> %s (env=%s, stack=%s) Rebuild closure_as_term %s\n" uu____3131 uu____3133 uu____3135 uu____3137); (match stack with | [] -> t - | (Arg - (Clos (env_arg, tm, uu____3144, uu____3145), aq, r))::stack1 - -> - let stack2 = (App (env, t, aq, r)) :: stack1 in + | (Arg (Clos (env_arg,tm,uu____3144,uu____3145),aq,r))::stack1 -> + let stack2 = (App (env, t, aq, r)) :: stack1 in inline_closure_env cfg env_arg stack2 tm - | (App (env1, head1, aq, r))::stack1 -> + | (App (env1,head1,aq,r))::stack1 -> let t1 = FStar_Syntax_Syntax.extend_app head1 (t, aq) - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in rebuild_closure cfg env1 stack1 t1 - | (Abs (env', bs, env'', lopt, r))::stack1 -> - let uu____3226 = close_binders cfg env' bs in + | (Abs (env',bs,env'',lopt,r))::stack1 -> + let uu____3226 = close_binders cfg env' bs in (match uu____3226 with - | (bs1, uu____3242) -> - let lopt1 = close_lcomp_opt cfg env'' lopt in + | (bs1,uu____3242) -> + let lopt1 = close_lcomp_opt cfg env'' lopt in let uu____3262 = - let uu___449_3265 = FStar_Syntax_Util.abs bs1 t lopt1 in + let uu___449_3265 = FStar_Syntax_Util.abs bs1 t lopt1 + in { FStar_Syntax_Syntax.n = (uu___449_3265.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = r; FStar_Syntax_Syntax.vars = (uu___449_3265.FStar_Syntax_Syntax.vars) - } in + } in rebuild_closure cfg env stack1 uu____3262) - | (Match (env1, branches, cfg1, r))::stack1 -> + | (Match (env1,branches,cfg1,r))::stack1 -> let close_one_branch env2 uu____3321 = match uu____3321 with - | (pat, w_opt, tm) -> + | (pat,w_opt,tm) -> let rec norm_pat env3 p = match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant uu____3436 -> (p, env3) - | FStar_Syntax_Syntax.Pat_cons (fv, pats) -> + | FStar_Syntax_Syntax.Pat_cons (fv,pats) -> let uu____3467 = FStar_All.pipe_right pats (FStar_List.fold_left - (fun uu____3556 -> - fun uu____3557 -> + (fun uu____3556 -> + fun uu____3557 -> match (uu____3556, uu____3557) with - | ((pats1, env4), (p1, b)) -> - let uu____3707 = norm_pat env4 p1 in + | ((pats1,env4),(p1,b)) -> + let uu____3707 = norm_pat env4 p1 + in (match uu____3707 with - | (p2, env5) -> + | (p2,env5) -> (((p2, b) :: pats1), env5))) - ([], env3)) in + ([], env3)) + in (match uu____3467 with - | (pats1, env4) -> - ((let uu___486_3877 = p in + | (pats1,env4) -> + ((let uu___486_3877 = p in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_cons @@ -836,18 +920,19 @@ and (rebuild_closure : }), env4)) | FStar_Syntax_Syntax.Pat_var x -> let x1 = - let uu___490_3898 = x in + let uu___490_3898 = x in let uu____3899 = non_tail_inline_closure_env cfg1 env3 - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = (uu___490_3898.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___490_3898.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____3899 - } in - ((let uu___493_3913 = p in + } in + ((let uu___493_3913 = p in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_var x1); @@ -856,124 +941,137 @@ and (rebuild_closure : }), (dummy :: env3)) | FStar_Syntax_Syntax.Pat_wild x -> let x1 = - let uu___497_3924 = x in + let uu___497_3924 = x in let uu____3925 = non_tail_inline_closure_env cfg1 env3 - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = (uu___497_3924.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___497_3924.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____3925 - } in - ((let uu___500_3939 = p in + } in + ((let uu___500_3939 = p in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_wild x1); FStar_Syntax_Syntax.p = (uu___500_3939.FStar_Syntax_Syntax.p) }), (dummy :: env3)) - | FStar_Syntax_Syntax.Pat_dot_term (x, t1) -> + | FStar_Syntax_Syntax.Pat_dot_term (x,t1) -> let x1 = - let uu___506_3955 = x in + let uu___506_3955 = x in let uu____3956 = non_tail_inline_closure_env cfg1 env3 - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = (uu___506_3955.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___506_3955.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____3956 - } in - let t2 = non_tail_inline_closure_env cfg1 env3 t1 in - ((let uu___510_3973 = p in + } in + let t2 = non_tail_inline_closure_env cfg1 env3 t1 + in + ((let uu___510_3973 = p in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_dot_term (x1, t2)); FStar_Syntax_Syntax.p = (uu___510_3973.FStar_Syntax_Syntax.p) - }), env3) in - let uu____3978 = norm_pat env2 pat in + }), env3) + in + let uu____3978 = norm_pat env2 pat in (match uu____3978 with - | (pat1, env3) -> + | (pat1,env3) -> let w_opt1 = match w_opt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some w -> let uu____4047 = - non_tail_inline_closure_env cfg1 env3 w in - FStar_Pervasives_Native.Some uu____4047 in - let tm1 = non_tail_inline_closure_env cfg1 env3 tm in - (pat1, w_opt1, tm1)) in + non_tail_inline_closure_env cfg1 env3 w in + FStar_Pervasives_Native.Some uu____4047 + in + let tm1 = non_tail_inline_closure_env cfg1 env3 tm + in + (pat1, w_opt1, tm1)) + in let t1 = let uu____4066 = let uu____4067 = let uu____4090 = FStar_All.pipe_right branches - (FStar_List.map (close_one_branch env1)) in - (t, uu____4090) in - FStar_Syntax_Syntax.Tm_match uu____4067 in - mk uu____4066 t.FStar_Syntax_Syntax.pos in + (FStar_List.map (close_one_branch env1)) + in + (t, uu____4090) in + FStar_Syntax_Syntax.Tm_match uu____4067 in + mk uu____4066 t.FStar_Syntax_Syntax.pos in rebuild_closure cfg1 env1 stack1 t1 - | (Meta (env_m, m, r))::stack1 -> + | (Meta (env_m,m,r))::stack1 -> let m1 = match m with - | FStar_Syntax_Syntax.Meta_pattern (names1, args) -> + | FStar_Syntax_Syntax.Meta_pattern (names1,args) -> let uu____4226 = let uu____4247 = FStar_All.pipe_right names1 (FStar_List.map - (non_tail_inline_closure_env cfg env_m)) in + (non_tail_inline_closure_env cfg env_m)) + in let uu____4264 = FStar_All.pipe_right args (FStar_List.map - (fun args1 -> + (fun args1 -> FStar_All.pipe_right args1 (FStar_List.map - (fun uu____4373 -> + (fun uu____4373 -> match uu____4373 with - | (a, q) -> + | (a,q) -> let uu____4400 = non_tail_inline_closure_env - cfg env_m a in - (uu____4400, q))))) in - (uu____4247, uu____4264) in + cfg env_m a + in + (uu____4400, q))))) + in + (uu____4247, uu____4264) in FStar_Syntax_Syntax.Meta_pattern uu____4226 - | FStar_Syntax_Syntax.Meta_monadic (m1, tbody) -> + | FStar_Syntax_Syntax.Meta_monadic (m1,tbody) -> let uu____4429 = let uu____4436 = - non_tail_inline_closure_env cfg env_m tbody in - (m1, uu____4436) in + non_tail_inline_closure_env cfg env_m tbody in + (m1, uu____4436) in FStar_Syntax_Syntax.Meta_monadic uu____4429 - | FStar_Syntax_Syntax.Meta_monadic_lift (m1, m2, tbody) -> + | FStar_Syntax_Syntax.Meta_monadic_lift (m1,m2,tbody) -> let uu____4448 = let uu____4457 = - non_tail_inline_closure_env cfg env_m tbody in - (m1, m2, uu____4457) in + non_tail_inline_closure_env cfg env_m tbody in + (m1, m2, uu____4457) in FStar_Syntax_Syntax.Meta_monadic_lift uu____4448 - | uu____4462 -> m in - let t1 = mk (FStar_Syntax_Syntax.Tm_meta (t, m1)) r in + | uu____4462 -> m in + let t1 = mk (FStar_Syntax_Syntax.Tm_meta (t, m1)) r in rebuild_closure cfg env stack1 t1 | uu____4468 -> failwith "Impossible: unexpected stack element") + and (close_imp : FStar_TypeChecker_Cfg.cfg -> env -> FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) = - fun cfg -> - fun env -> - fun imp -> + fun cfg -> + fun env -> + fun imp -> match imp with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) -> let uu____4484 = - let uu____4485 = inline_closure_env cfg env [] t in - FStar_Syntax_Syntax.Meta uu____4485 in + let uu____4485 = inline_closure_env cfg env [] t in + FStar_Syntax_Syntax.Meta uu____4485 in FStar_Pervasives_Native.Some uu____4484 | i -> i + and (close_binders : FStar_TypeChecker_Cfg.cfg -> env -> @@ -982,41 +1080,44 @@ and (close_binders : ((FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list * env)) = - fun cfg -> - fun env -> - fun bs -> + fun cfg -> + fun env -> + fun bs -> let uu____4502 = FStar_All.pipe_right bs (FStar_List.fold_left - (fun uu____4586 -> - fun uu____4587 -> + (fun uu____4586 -> + fun uu____4587 -> match (uu____4586, uu____4587) with - | ((env1, out), (b, imp)) -> + | ((env1,out),(b,imp)) -> let b1 = - let uu___565_4727 = b in + let uu___565_4727 = b in let uu____4728 = inline_closure_env cfg env1 [] - b.FStar_Syntax_Syntax.sort in + b.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = (uu___565_4727.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___565_4727.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____4728 - } in - let imp1 = close_imp cfg env1 imp in - let env2 = dummy :: env1 in - (env2, ((b1, imp1) :: out))) (env, [])) in - match uu____4502 with | (env1, bs1) -> ((FStar_List.rev bs1), env1) + } in + let imp1 = close_imp cfg env1 imp in + let env2 = dummy :: env1 in + (env2, ((b1, imp1) :: out))) (env, [])) + in + match uu____4502 with | (env1,bs1) -> ((FStar_List.rev bs1), env1) + and (close_comp : FStar_TypeChecker_Cfg.cfg -> env -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax) = - fun cfg -> - fun env -> - fun c -> + fun cfg -> + fun env -> + fun c -> match env with | [] when FStar_All.pipe_left Prims.op_Negation @@ -1024,44 +1125,48 @@ and (close_comp : -> c | uu____4870 -> (match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, uopt) -> - let uu____4883 = inline_closure_env cfg env [] t in + | FStar_Syntax_Syntax.Total (t,uopt) -> + let uu____4883 = inline_closure_env cfg env [] t in let uu____4884 = - FStar_Option.map (norm_universe cfg env) uopt in + FStar_Option.map (norm_universe cfg env) uopt in FStar_Syntax_Syntax.mk_Total' uu____4883 uu____4884 - | FStar_Syntax_Syntax.GTotal (t, uopt) -> - let uu____4897 = inline_closure_env cfg env [] t in + | FStar_Syntax_Syntax.GTotal (t,uopt) -> + let uu____4897 = inline_closure_env cfg env [] t in let uu____4898 = - FStar_Option.map (norm_universe cfg env) uopt in + FStar_Option.map (norm_universe cfg env) uopt in FStar_Syntax_Syntax.mk_GTotal' uu____4897 uu____4898 | FStar_Syntax_Syntax.Comp c1 -> let rt = inline_closure_env cfg env [] - c1.FStar_Syntax_Syntax.result_typ in + c1.FStar_Syntax_Syntax.result_typ + in let args = FStar_All.pipe_right c1.FStar_Syntax_Syntax.effect_args (FStar_List.map - (fun uu____4952 -> + (fun uu____4952 -> match uu____4952 with - | (a, q) -> + | (a,q) -> let uu____4973 = - inline_closure_env cfg env [] a in - (uu____4973, q))) in + inline_closure_env cfg env [] a in + (uu____4973, q))) + in let flags = FStar_All.pipe_right c1.FStar_Syntax_Syntax.flags (FStar_List.map - (fun uu___5_4990 -> + (fun uu___5_4990 -> match uu___5_4990 with | FStar_Syntax_Syntax.DECREASES t -> let uu____4994 = - inline_closure_env cfg env [] t in + inline_closure_env cfg env [] t in FStar_Syntax_Syntax.DECREASES uu____4994 - | f -> f)) in + | f -> f)) + in let uu____4998 = - let uu___598_4999 = c1 in + let uu___598_4999 = c1 in let uu____5000 = FStar_List.map (norm_universe cfg env) - c1.FStar_Syntax_Syntax.comp_univs in + c1.FStar_Syntax_Syntax.comp_univs + in { FStar_Syntax_Syntax.comp_univs = uu____5000; FStar_Syntax_Syntax.effect_name = @@ -1069,150 +1174,163 @@ and (close_comp : FStar_Syntax_Syntax.result_typ = rt; FStar_Syntax_Syntax.effect_args = args; FStar_Syntax_Syntax.flags = flags - } in + } in FStar_Syntax_Syntax.mk_Comp uu____4998) + and (filter_out_lcomp_cflags : FStar_Syntax_Syntax.cflag Prims.list -> FStar_Syntax_Syntax.cflag Prims.list) = - fun flags -> + fun flags -> FStar_All.pipe_right flags (FStar_List.filter - (fun uu___6_5010 -> + (fun uu___6_5010 -> match uu___6_5010 with | FStar_Syntax_Syntax.DECREASES uu____5012 -> false | uu____5016 -> true)) + and (close_lcomp_opt : FStar_TypeChecker_Cfg.cfg -> env -> FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option) = - fun cfg -> - fun env -> - fun lopt -> + fun cfg -> + fun env -> + fun lopt -> match lopt with | FStar_Pervasives_Native.Some rc -> let flags = FStar_All.pipe_right rc.FStar_Syntax_Syntax.residual_flags (FStar_List.filter - (fun uu___7_5035 -> + (fun uu___7_5035 -> match uu___7_5035 with | FStar_Syntax_Syntax.DECREASES uu____5037 -> false - | uu____5041 -> true)) in + | uu____5041 -> true)) + in let rc1 = - let uu___615_5044 = rc in + let uu___615_5044 = rc in let uu____5045 = FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (inline_closure_env cfg env []) in + (inline_closure_env cfg env []) + in { FStar_Syntax_Syntax.residual_effect = (uu___615_5044.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = uu____5045; FStar_Syntax_Syntax.residual_flags = flags - } in + } in FStar_Pervasives_Native.Some rc1 | uu____5054 -> lopt + let (closure_as_term : FStar_TypeChecker_Cfg.cfg -> env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) - = fun cfg -> fun env -> fun t -> non_tail_inline_closure_env cfg env t + = fun cfg -> fun env -> fun t -> non_tail_inline_closure_env cfg env t let (unembed_binder_knot : FStar_Syntax_Syntax.binder FStar_Syntax_Embeddings.embedding FStar_Pervasives_Native.option FStar_ST.ref) - = FStar_Util.mk_ref FStar_Pervasives_Native.None + = FStar_Util.mk_ref FStar_Pervasives_Native.None let (unembed_binder : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.binder FStar_Pervasives_Native.option) = - fun t -> - let uu____5102 = FStar_ST.op_Bang unembed_binder_knot in + fun t -> + let uu____5102 = FStar_ST.op_Bang unembed_binder_knot in match uu____5102 with | FStar_Pervasives_Native.Some e -> - let uu____5141 = FStar_Syntax_Embeddings.unembed e t in + let uu____5141 = FStar_Syntax_Embeddings.unembed e t in uu____5141 true FStar_Syntax_Embeddings.id_norm_cb - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos (FStar_Errors.Warning_UnembedBinderKnot, "unembed_binder_knot is unset!"); FStar_Pervasives_Native.None) + let mk_psc_subst : 'Auu____5161 . FStar_TypeChecker_Cfg.cfg -> ((FStar_Syntax_Syntax.bv * 'Auu____5161) FStar_Pervasives_Native.option * closure) Prims.list -> FStar_Syntax_Syntax.subst_elt Prims.list = - fun cfg -> - fun env -> + fun cfg -> + fun env -> FStar_List.fold_right - (fun uu____5223 -> - fun subst1 -> + (fun uu____5223 -> + fun subst1 -> match uu____5223 with - | (binder_opt, closure) -> + | (binder_opt,closure) -> (match (binder_opt, closure) with - | (FStar_Pervasives_Native.Some b, Clos - (env1, term, uu____5264, uu____5265)) -> - let uu____5326 = b in + | (FStar_Pervasives_Native.Some b,Clos + (env1,term,uu____5264,uu____5265)) -> + let uu____5326 = b in (match uu____5326 with - | (bv, uu____5334) -> + | (bv,uu____5334) -> let uu____5335 = let uu____5337 = FStar_Syntax_Util.is_constructed_typ bv.FStar_Syntax_Syntax.sort - FStar_Parser_Const.binder_lid in - Prims.op_Negation uu____5337 in + FStar_Parser_Const.binder_lid + in + Prims.op_Negation uu____5337 in if uu____5335 then subst1 else - (let term1 = closure_as_term cfg env1 term in - let uu____5345 = unembed_binder term1 in + (let term1 = closure_as_term cfg env1 term in + let uu____5345 = unembed_binder term1 in match uu____5345 with - | FStar_Pervasives_Native.None -> subst1 + | FStar_Pervasives_Native.None -> subst1 | FStar_Pervasives_Native.Some x -> let b1 = let uu____5352 = - let uu___650_5353 = bv in + let uu___650_5353 = bv in let uu____5354 = FStar_Syntax_Subst.subst subst1 - (FStar_Pervasives_Native.fst x).FStar_Syntax_Syntax.sort in + (FStar_Pervasives_Native.fst x).FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = (uu___650_5353.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___650_5353.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____5354 - } in - FStar_Syntax_Syntax.freshen_bv uu____5352 in + } in + FStar_Syntax_Syntax.freshen_bv uu____5352 + in let b_for_x = let uu____5360 = let uu____5367 = - FStar_Syntax_Syntax.bv_to_name b1 in + FStar_Syntax_Syntax.bv_to_name b1 in ((FStar_Pervasives_Native.fst x), - uu____5367) in - FStar_Syntax_Syntax.NT uu____5360 in + uu____5367) + in + FStar_Syntax_Syntax.NT uu____5360 in let subst2 = FStar_List.filter - (fun uu___8_5383 -> + (fun uu___8_5383 -> match uu___8_5383 with | FStar_Syntax_Syntax.NT - (uu____5385, - { - FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.Tm_name - b'; - FStar_Syntax_Syntax.pos = - uu____5387; - FStar_Syntax_Syntax.vars = - uu____5388;_}) + (uu____5385,{ + FStar_Syntax_Syntax.n + = + FStar_Syntax_Syntax.Tm_name + b'; + FStar_Syntax_Syntax.pos + = uu____5387; + FStar_Syntax_Syntax.vars + = uu____5388;_}) -> let uu____5393 = FStar_Ident.ident_equals b1.FStar_Syntax_Syntax.ppname - b'.FStar_Syntax_Syntax.ppname in + b'.FStar_Syntax_Syntax.ppname + in Prims.op_Negation uu____5393 - | uu____5395 -> true) subst1 in + | uu____5395 -> true) subst1 + in b_for_x :: subst2)) | uu____5397 -> subst1)) env [] + let reduce_primops : 'Auu____5419 . FStar_Syntax_Embeddings.norm_cb -> @@ -1222,25 +1340,25 @@ let reduce_primops : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax = - fun norm_cb -> - fun cfg -> - fun env -> - fun tm -> + fun norm_cb -> + fun cfg -> + fun env -> + fun tm -> if Prims.op_Negation (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.primops then tm else - (let uu____5471 = FStar_Syntax_Util.head_and_args tm in + (let uu____5471 = FStar_Syntax_Util.head_and_args tm in match uu____5471 with - | (head1, args) -> + | (head1,args) -> let uu____5516 = - let uu____5517 = FStar_Syntax_Util.un_uinst head1 in - uu____5517.FStar_Syntax_Syntax.n in + let uu____5517 = FStar_Syntax_Util.un_uinst head1 in + uu____5517.FStar_Syntax_Syntax.n in (match uu____5516 with | FStar_Syntax_Syntax.Tm_fvar fv -> let uu____5523 = - FStar_TypeChecker_Cfg.find_prim_step cfg fv in + FStar_TypeChecker_Cfg.find_prim_step cfg fv in (match uu____5523 with | FStar_Pervasives_Native.Some prim_step when prim_step.FStar_TypeChecker_Cfg.strong_reduction_ok @@ -1248,19 +1366,21 @@ let reduce_primops : (Prims.op_Negation cfg.FStar_TypeChecker_Cfg.strong) -> - let l = FStar_List.length args in + let l = FStar_List.length args in if l < prim_step.FStar_TypeChecker_Cfg.arity then (FStar_TypeChecker_Cfg.log_primops cfg - (fun uu____5546 -> + (fun uu____5546 -> let uu____5547 = FStar_Syntax_Print.lid_to_string - prim_step.FStar_TypeChecker_Cfg.name in + prim_step.FStar_TypeChecker_Cfg.name + in let uu____5549 = - FStar_Util.string_of_int l in + FStar_Util.string_of_int l in let uu____5551 = FStar_Util.string_of_int - prim_step.FStar_TypeChecker_Cfg.arity in + prim_step.FStar_TypeChecker_Cfg.arity + in FStar_Util.print3 "primop: found partially applied %s (%s/%s args)\n" uu____5547 uu____5549 uu____5551); @@ -1272,14 +1392,16 @@ let reduce_primops : else FStar_List.splitAt prim_step.FStar_TypeChecker_Cfg.arity - args in + args + in match uu____5556 with - | (args_1, args_2) -> + | (args_1,args_2) -> (FStar_TypeChecker_Cfg.log_primops cfg - (fun uu____5642 -> + (fun uu____5642 -> let uu____5643 = FStar_Syntax_Print.term_to_string - tm in + tm + in FStar_Util.print1 "primop: trying to reduce <%s>\n" uu____5643); @@ -1288,23 +1410,25 @@ let reduce_primops : FStar_TypeChecker_Cfg.psc_range = (head1.FStar_Syntax_Syntax.pos); FStar_TypeChecker_Cfg.psc_subst = - (fun uu____5648 -> + (fun uu____5648 -> if prim_step.FStar_TypeChecker_Cfg.requires_binder_substitution then mk_psc_subst cfg env else []) - } in + } in let r = prim_step.FStar_TypeChecker_Cfg.interpretation - psc norm_cb args_1 in + psc norm_cb args_1 + in match r with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_TypeChecker_Cfg.log_primops cfg - (fun uu____5662 -> + (fun uu____5662 -> let uu____5663 = FStar_Syntax_Print.term_to_string - tm in + tm + in FStar_Util.print1 "primop: <%s> did not reduce\n" uu____5663); @@ -1312,13 +1436,15 @@ let reduce_primops : | FStar_Pervasives_Native.Some reduced -> (FStar_TypeChecker_Cfg.log_primops cfg - (fun uu____5671 -> + (fun uu____5671 -> let uu____5672 = FStar_Syntax_Print.term_to_string - tm in + tm + in let uu____5674 = FStar_Syntax_Print.term_to_string - reduced in + reduced + in FStar_Util.print2 "primop: <%s> reduced to <%s>\n" uu____5672 uu____5674); @@ -1326,50 +1452,52 @@ let reduce_primops : args_2)))) | FStar_Pervasives_Native.Some uu____5677 -> (FStar_TypeChecker_Cfg.log_primops cfg - (fun uu____5681 -> + (fun uu____5681 -> let uu____5682 = - FStar_Syntax_Print.term_to_string tm in + FStar_Syntax_Print.term_to_string tm in FStar_Util.print1 "primop: not reducing <%s> since we're doing strong reduction\n" uu____5682); tm) - | FStar_Pervasives_Native.None -> tm) + | FStar_Pervasives_Native.None -> tm) | FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_range_of) when + (FStar_Const.Const_range_of ) when Prims.op_Negation cfg.FStar_TypeChecker_Cfg.strong -> (FStar_TypeChecker_Cfg.log_primops cfg - (fun uu____5688 -> + (fun uu____5688 -> let uu____5689 = - FStar_Syntax_Print.term_to_string tm in + FStar_Syntax_Print.term_to_string tm in FStar_Util.print1 "primop: reducing <%s>\n" uu____5689); (match args with - | (a1, uu____5695)::[] -> + | (a1,uu____5695)::[] -> FStar_TypeChecker_Cfg.embed_simple FStar_Syntax_Embeddings.e_range a1.FStar_Syntax_Syntax.pos tm.FStar_Syntax_Syntax.pos | uu____5720 -> tm)) | FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_set_range_of) when + (FStar_Const.Const_set_range_of ) when Prims.op_Negation cfg.FStar_TypeChecker_Cfg.strong -> (FStar_TypeChecker_Cfg.log_primops cfg - (fun uu____5734 -> + (fun uu____5734 -> let uu____5735 = - FStar_Syntax_Print.term_to_string tm in + FStar_Syntax_Print.term_to_string tm in FStar_Util.print1 "primop: reducing <%s>\n" uu____5735); (match args with - | (t, uu____5741)::(r, uu____5743)::[] -> + | (t,uu____5741)::(r,uu____5743)::[] -> let uu____5784 = FStar_TypeChecker_Cfg.try_unembed_simple - FStar_Syntax_Embeddings.e_range r in + FStar_Syntax_Embeddings.e_range r + in (match uu____5784 with | FStar_Pervasives_Native.Some rng -> FStar_Syntax_Subst.set_use_range rng t - | FStar_Pervasives_Native.None -> tm) + | FStar_Pervasives_Native.None -> tm) | uu____5790 -> tm)) | uu____5801 -> tm)) + let reduce_equality : 'Auu____5812 . FStar_Syntax_Embeddings.norm_cb -> @@ -1379,14 +1507,14 @@ let reduce_equality : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax = - fun norm_cb -> - fun cfg -> - fun tm -> + fun norm_cb -> + fun cfg -> + fun tm -> reduce_primops norm_cb - (let uu___738_5861 = cfg in + (let uu___738_5861 = cfg in { FStar_TypeChecker_Cfg.steps = - (let uu___740_5864 = FStar_TypeChecker_Cfg.default_steps in + (let uu___740_5864 = FStar_TypeChecker_Cfg.default_steps in { FStar_TypeChecker_Cfg.beta = (uu___740_5864.FStar_TypeChecker_Cfg.beta); @@ -1457,38 +1585,43 @@ let reduce_equality : FStar_TypeChecker_Cfg.reifying = (uu___738_5861.FStar_TypeChecker_Cfg.reifying) }) tm + type norm_request_t = | Norm_request_none | Norm_request_ready | Norm_request_requires_rejig let (uu___is_Norm_request_none : norm_request_t -> Prims.bool) = - fun projectee -> - match projectee with | Norm_request_none -> true | uu____5875 -> false + fun projectee -> + match projectee with | Norm_request_none -> true | uu____5875 -> false + let (uu___is_Norm_request_ready : norm_request_t -> Prims.bool) = - fun projectee -> - match projectee with | Norm_request_ready -> true | uu____5886 -> false + fun projectee -> + match projectee with | Norm_request_ready -> true | uu____5886 -> false + let (uu___is_Norm_request_requires_rejig : norm_request_t -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with - | Norm_request_requires_rejig -> true + | Norm_request_requires_rejig -> true | uu____5897 -> false + let (is_norm_request : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.args -> norm_request_t) = - fun hd1 -> - fun args -> + fun hd1 -> + fun args -> let aux min_args = - let uu____5918 = FStar_All.pipe_right args FStar_List.length in + let uu____5918 = FStar_All.pipe_right args FStar_List.length in FStar_All.pipe_right uu____5918 - (fun n1 -> + (fun n1 -> if n1 < min_args then Norm_request_none else if n1 = min_args then Norm_request_ready - else Norm_request_requires_rejig) in + else Norm_request_requires_rejig) + in let uu____5950 = - let uu____5951 = FStar_Syntax_Util.un_uinst hd1 in - uu____5951.FStar_Syntax_Syntax.n in + let uu____5951 = FStar_Syntax_Util.un_uinst hd1 in + uu____5951.FStar_Syntax_Syntax.n in match uu____5950 with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.normalize_term @@ -1500,26 +1633,29 @@ let (is_norm_request : FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.norm -> aux (Prims.parse_int "3") | uu____5960 -> Norm_request_none + let (should_consider_norm_requests : FStar_TypeChecker_Cfg.cfg -> Prims.bool) = - fun cfg -> + fun cfg -> (Prims.op_Negation (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.no_full_norm) && (let uu____5969 = FStar_Ident.lid_equals (cfg.FStar_TypeChecker_Cfg.tcenv).FStar_TypeChecker_Env.curmodule - FStar_Parser_Const.prims_lid in + FStar_Parser_Const.prims_lid + in Prims.op_Negation uu____5969) + let (rejig_norm_request : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.args -> FStar_Syntax_Syntax.term) = - fun hd1 -> - fun args -> + fun hd1 -> + fun args -> let uu____5982 = - let uu____5983 = FStar_Syntax_Util.un_uinst hd1 in - uu____5983.FStar_Syntax_Syntax.n in + let uu____5983 = FStar_Syntax_Util.un_uinst hd1 in + uu____5983.FStar_Syntax_Syntax.n in match uu____5982 with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.normalize_term @@ -1527,7 +1663,7 @@ let (rejig_norm_request : (match args with | t1::t2::rest when (FStar_List.length rest) > (Prims.parse_int "0") -> - let uu____6041 = FStar_Syntax_Util.mk_app hd1 [t1; t2] in + let uu____6041 = FStar_Syntax_Util.mk_app hd1 [t1; t2] in FStar_Syntax_Util.mk_app uu____6041 rest | uu____6068 -> failwith @@ -1536,7 +1672,7 @@ let (rejig_norm_request : FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.normalize -> (match args with | t::rest when (FStar_List.length rest) > (Prims.parse_int "0") -> - let uu____6108 = FStar_Syntax_Util.mk_app hd1 [t] in + let uu____6108 = FStar_Syntax_Util.mk_app hd1 [t] in FStar_Syntax_Util.mk_app uu____6108 rest | uu____6127 -> failwith @@ -1546,63 +1682,67 @@ let (rejig_norm_request : (match args with | t1::t2::t3::rest when (FStar_List.length rest) > (Prims.parse_int "0") -> - let uu____6201 = FStar_Syntax_Util.mk_app hd1 [t1; t2; t3] in + let uu____6201 = FStar_Syntax_Util.mk_app hd1 [t1; t2; t3] in FStar_Syntax_Util.mk_app uu____6201 rest | uu____6236 -> failwith "Impossible! invalid rejig_norm_request for norm") | uu____6238 -> let uu____6239 = - let uu____6241 = FStar_Syntax_Print.term_to_string hd1 in + let uu____6241 = FStar_Syntax_Print.term_to_string hd1 in FStar_String.op_Hat - "Impossible! invalid rejig_norm_request for: %s" uu____6241 in + "Impossible! invalid rejig_norm_request for: %s" uu____6241 + in failwith uu____6239 + let (is_nbe_request : FStar_TypeChecker_Env.step Prims.list -> Prims.bool) = - fun s -> + fun s -> FStar_Util.for_some (FStar_TypeChecker_Env.eq_step FStar_TypeChecker_Env.NBE) s + let (tr_norm_step : FStar_Syntax_Embeddings.norm_step -> FStar_TypeChecker_Env.step Prims.list) = - fun uu___9_6262 -> + fun uu___9_6262 -> match uu___9_6262 with - | FStar_Syntax_Embeddings.Zeta -> [FStar_TypeChecker_Env.Zeta] - | FStar_Syntax_Embeddings.Iota -> [FStar_TypeChecker_Env.Iota] - | FStar_Syntax_Embeddings.Delta -> + | FStar_Syntax_Embeddings.Zeta -> [FStar_TypeChecker_Env.Zeta] + | FStar_Syntax_Embeddings.Iota -> [FStar_TypeChecker_Env.Iota] + | FStar_Syntax_Embeddings.Delta -> [FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant] - | FStar_Syntax_Embeddings.Simpl -> [FStar_TypeChecker_Env.Simplify] - | FStar_Syntax_Embeddings.Weak -> [FStar_TypeChecker_Env.Weak] - | FStar_Syntax_Embeddings.HNF -> [FStar_TypeChecker_Env.HNF] - | FStar_Syntax_Embeddings.Primops -> [FStar_TypeChecker_Env.Primops] - | FStar_Syntax_Embeddings.Reify -> [FStar_TypeChecker_Env.Reify] + | FStar_Syntax_Embeddings.Simpl -> [FStar_TypeChecker_Env.Simplify] + | FStar_Syntax_Embeddings.Weak -> [FStar_TypeChecker_Env.Weak] + | FStar_Syntax_Embeddings.HNF -> [FStar_TypeChecker_Env.HNF] + | FStar_Syntax_Embeddings.Primops -> [FStar_TypeChecker_Env.Primops] + | FStar_Syntax_Embeddings.Reify -> [FStar_TypeChecker_Env.Reify] | FStar_Syntax_Embeddings.UnfoldOnly names1 -> let uu____6269 = let uu____6272 = - let uu____6273 = FStar_List.map FStar_Ident.lid_of_str names1 in - FStar_TypeChecker_Env.UnfoldOnly uu____6273 in - [uu____6272] in + let uu____6273 = FStar_List.map FStar_Ident.lid_of_str names1 in + FStar_TypeChecker_Env.UnfoldOnly uu____6273 in + [uu____6272] in (FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant) :: uu____6269 | FStar_Syntax_Embeddings.UnfoldFully names1 -> let uu____6281 = let uu____6284 = - let uu____6285 = FStar_List.map FStar_Ident.lid_of_str names1 in - FStar_TypeChecker_Env.UnfoldFully uu____6285 in - [uu____6284] in + let uu____6285 = FStar_List.map FStar_Ident.lid_of_str names1 in + FStar_TypeChecker_Env.UnfoldFully uu____6285 in + [uu____6284] in (FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant) :: uu____6281 | FStar_Syntax_Embeddings.UnfoldAttr names1 -> let uu____6293 = let uu____6296 = - let uu____6297 = FStar_List.map FStar_Ident.lid_of_str names1 in - FStar_TypeChecker_Env.UnfoldAttr uu____6297 in - [uu____6296] in + let uu____6297 = FStar_List.map FStar_Ident.lid_of_str names1 in + FStar_TypeChecker_Env.UnfoldAttr uu____6297 in + [uu____6296] in (FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant) :: uu____6293 - | FStar_Syntax_Embeddings.NBE -> [FStar_TypeChecker_Env.NBE] + | FStar_Syntax_Embeddings.NBE -> [FStar_TypeChecker_Env.NBE] + let (tr_norm_steps : FStar_Syntax_Embeddings.norm_step Prims.list -> FStar_TypeChecker_Env.step Prims.list) - = fun s -> FStar_List.concatMap tr_norm_step s + = fun s -> FStar_List.concatMap tr_norm_step s let get_norm_request : 'Auu____6322 . FStar_TypeChecker_Cfg.cfg -> @@ -1611,20 +1751,21 @@ let get_norm_request : (FStar_TypeChecker_Env.step Prims.list * FStar_Syntax_Syntax.term) FStar_Pervasives_Native.option = - fun cfg -> - fun full_norm -> - fun args -> + fun cfg -> + fun full_norm -> + fun args -> let parse_steps s = let uu____6373 = let uu____6378 = FStar_Syntax_Embeddings.e_list - FStar_Syntax_Embeddings.e_norm_step in - FStar_TypeChecker_Cfg.try_unembed_simple uu____6378 s in + FStar_Syntax_Embeddings.e_norm_step + in + FStar_TypeChecker_Cfg.try_unembed_simple uu____6378 s in match uu____6373 with | FStar_Pervasives_Native.Some steps -> - let uu____6394 = tr_norm_steps steps in + let uu____6394 = tr_norm_steps steps in FStar_Pervasives_Native.Some uu____6394 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in let inherited_steps = FStar_List.append (if @@ -1639,9 +1780,10 @@ let get_norm_request : (if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.nbe_step then [FStar_TypeChecker_Env.NBE] - else [])) in + else [])) + in match args with - | uu____6429::(tm, uu____6431)::[] -> + | uu____6429::(tm,uu____6431)::[] -> let s = [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Zeta; @@ -1649,10 +1791,10 @@ let get_norm_request : FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Reify] in + FStar_TypeChecker_Env.Reify] in FStar_Pervasives_Native.Some ((FStar_List.append inherited_steps s), tm) - | (tm, uu____6460)::[] -> + | (tm,uu____6460)::[] -> let s = [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Zeta; @@ -1660,121 +1802,125 @@ let get_norm_request : FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Reify] in + FStar_TypeChecker_Env.Reify] in FStar_Pervasives_Native.Some ((FStar_List.append inherited_steps s), tm) - | (steps, uu____6481)::uu____6482::(tm, uu____6484)::[] -> + | (steps,uu____6481)::uu____6482::(tm,uu____6484)::[] -> let add_exclude s z = let uu____6522 = - FStar_Util.for_some (FStar_TypeChecker_Env.eq_step z) s in + FStar_Util.for_some (FStar_TypeChecker_Env.eq_step z) s in if uu____6522 then s - else (FStar_TypeChecker_Env.Exclude z) :: s in + else (FStar_TypeChecker_Env.Exclude z) :: s in let uu____6529 = - let uu____6534 = full_norm steps in parse_steps uu____6534 in + let uu____6534 = full_norm steps in parse_steps uu____6534 in (match uu____6529 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some s -> - let s1 = FStar_TypeChecker_Env.Beta :: s in - let s2 = add_exclude s1 FStar_TypeChecker_Env.Zeta in - let s3 = add_exclude s2 FStar_TypeChecker_Env.Iota in + let s1 = FStar_TypeChecker_Env.Beta :: s in + let s2 = add_exclude s1 FStar_TypeChecker_Env.Zeta in + let s3 = add_exclude s2 FStar_TypeChecker_Env.Iota in FStar_Pervasives_Native.Some ((FStar_List.append inherited_steps s3), tm)) | uu____6573 -> FStar_Pervasives_Native.None + let (nbe_eval : FStar_TypeChecker_Cfg.cfg -> FStar_TypeChecker_Env.steps -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun cfg -> - fun s -> - fun tm -> + fun cfg -> + fun s -> + fun tm -> let delta_level = let uu____6605 = FStar_All.pipe_right s (FStar_Util.for_some - (fun uu___10_6612 -> + (fun uu___10_6612 -> match uu___10_6612 with | FStar_TypeChecker_Env.UnfoldUntil uu____6614 -> true | FStar_TypeChecker_Env.UnfoldOnly uu____6616 -> true | FStar_TypeChecker_Env.UnfoldFully uu____6620 -> true - | uu____6624 -> false)) in + | uu____6624 -> false)) + in if uu____6605 then [FStar_TypeChecker_Env.Unfold FStar_Syntax_Syntax.delta_constant] - else [FStar_TypeChecker_Env.NoDelta] in + else [FStar_TypeChecker_Env.NoDelta] in FStar_TypeChecker_Cfg.log_nbe cfg - (fun uu____6634 -> - let uu____6635 = FStar_Syntax_Print.term_to_string tm in + (fun uu____6634 -> + let uu____6635 = FStar_Syntax_Print.term_to_string tm in FStar_Util.print1 "Invoking NBE with %s\n" uu____6635); (let tm_norm = let uu____6639 = - let uu____6654 = FStar_TypeChecker_Cfg.cfg_env cfg in - uu____6654.FStar_TypeChecker_Env.nbe in - uu____6639 s cfg.FStar_TypeChecker_Cfg.tcenv tm in + let uu____6654 = FStar_TypeChecker_Cfg.cfg_env cfg in + uu____6654.FStar_TypeChecker_Env.nbe in + uu____6639 s cfg.FStar_TypeChecker_Cfg.tcenv tm in FStar_TypeChecker_Cfg.log_nbe cfg - (fun uu____6658 -> - let uu____6659 = FStar_Syntax_Print.term_to_string tm_norm in + (fun uu____6658 -> + let uu____6659 = FStar_Syntax_Print.term_to_string tm_norm in FStar_Util.print1 "Result of NBE is %s\n" uu____6659); tm_norm) + let (is_reify_head : stack_elt Prims.list -> Prims.bool) = - fun uu___11_6670 -> + fun uu___11_6670 -> match uu___11_6670 with | (App - (uu____6674, - { - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reify); - FStar_Syntax_Syntax.pos = uu____6675; - FStar_Syntax_Syntax.vars = uu____6676;_}, - uu____6677, uu____6678))::uu____6679 + (uu____6674,{ + FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant + (FStar_Const.Const_reify ); + FStar_Syntax_Syntax.pos = uu____6675; + FStar_Syntax_Syntax.vars = uu____6676;_},uu____6677,uu____6678))::uu____6679 -> true | uu____6685 -> false + let firstn : 'Auu____6696 . Prims.int -> 'Auu____6696 Prims.list -> ('Auu____6696 Prims.list * 'Auu____6696 Prims.list) = - fun k -> - fun l -> + fun k -> + fun l -> if (FStar_List.length l) < k then (l, []) else FStar_Util.first_N k l + let (should_reify : FStar_TypeChecker_Cfg.cfg -> stack_elt Prims.list -> Prims.bool) = - fun cfg -> - fun stack -> + fun cfg -> + fun stack -> let rec drop_irrel uu___12_6753 = match uu___12_6753 with | (MemoLazy uu____6758)::s -> drop_irrel s | (UnivArgs uu____6768)::s -> drop_irrel s - | s -> s in - let uu____6781 = drop_irrel stack in + | s -> s in + let uu____6781 = drop_irrel stack in match uu____6781 with | (App - (uu____6785, - { - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reify); - FStar_Syntax_Syntax.pos = uu____6786; - FStar_Syntax_Syntax.vars = uu____6787;_}, - uu____6788, uu____6789))::uu____6790 + (uu____6785,{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.Tm_constant + (FStar_Const.Const_reify ); + FStar_Syntax_Syntax.pos = uu____6786; + FStar_Syntax_Syntax.vars = uu____6787;_},uu____6788,uu____6789))::uu____6790 -> (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.reify_ | uu____6795 -> false + let rec (maybe_weakly_reduced : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> Prims.bool) = - fun tm -> + fun tm -> let aux_comp c = match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.GTotal (t, uu____6824) -> maybe_weakly_reduced t - | FStar_Syntax_Syntax.Total (t, uu____6834) -> maybe_weakly_reduced t + | FStar_Syntax_Syntax.GTotal (t,uu____6824) -> maybe_weakly_reduced t + | FStar_Syntax_Syntax.Total (t,uu____6834) -> maybe_weakly_reduced t | FStar_Syntax_Syntax.Comp ct -> (maybe_weakly_reduced ct.FStar_Syntax_Syntax.result_typ) || (FStar_Util.for_some - (fun uu____6855 -> + (fun uu____6855 -> match uu____6855 with - | (a, uu____6866) -> maybe_weakly_reduced a) - ct.FStar_Syntax_Syntax.effect_args) in - let t = FStar_Syntax_Subst.compress tm in + | (a,uu____6866) -> maybe_weakly_reduced a) + ct.FStar_Syntax_Syntax.effect_args) + in + let t = FStar_Syntax_Subst.compress tm in match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_delayed uu____6877 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_name uu____6902 -> false @@ -1784,7 +1930,7 @@ let rec (maybe_weakly_reduced : | FStar_Syntax_Syntax.Tm_fvar uu____6922 -> false | FStar_Syntax_Syntax.Tm_constant uu____6924 -> false | FStar_Syntax_Syntax.Tm_lazy uu____6926 -> false - | FStar_Syntax_Syntax.Tm_unknown -> false + | FStar_Syntax_Syntax.Tm_unknown -> false | FStar_Syntax_Syntax.Tm_uinst uu____6929 -> false | FStar_Syntax_Syntax.Tm_quoted uu____6937 -> false | FStar_Syntax_Syntax.Tm_let uu____6945 -> true @@ -1792,110 +1938,118 @@ let rec (maybe_weakly_reduced : | FStar_Syntax_Syntax.Tm_arrow uu____6980 -> true | FStar_Syntax_Syntax.Tm_refine uu____6996 -> true | FStar_Syntax_Syntax.Tm_match uu____7004 -> true - | FStar_Syntax_Syntax.Tm_app (t1, args) -> + | FStar_Syntax_Syntax.Tm_app (t1,args) -> (maybe_weakly_reduced t1) || (FStar_All.pipe_right args (FStar_Util.for_some - (fun uu____7076 -> + (fun uu____7076 -> match uu____7076 with - | (a, uu____7087) -> maybe_weakly_reduced a))) - | FStar_Syntax_Syntax.Tm_ascribed (t1, asc, uu____7098) -> + | (a,uu____7087) -> maybe_weakly_reduced a))) + | FStar_Syntax_Syntax.Tm_ascribed (t1,asc,uu____7098) -> ((maybe_weakly_reduced t1) || (match FStar_Pervasives_Native.fst asc with | FStar_Util.Inl t2 -> maybe_weakly_reduced t2 | FStar_Util.Inr c2 -> aux_comp c2)) || ((match FStar_Pervasives_Native.snd asc with - | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.None -> false | FStar_Pervasives_Native.Some tac -> maybe_weakly_reduced tac)) - | FStar_Syntax_Syntax.Tm_meta (t1, m) -> + | FStar_Syntax_Syntax.Tm_meta (t1,m) -> (maybe_weakly_reduced t1) || ((match m with - | FStar_Syntax_Syntax.Meta_pattern (uu____7197, args) -> + | FStar_Syntax_Syntax.Meta_pattern (uu____7197,args) -> FStar_Util.for_some (FStar_Util.for_some - (fun uu____7252 -> + (fun uu____7252 -> match uu____7252 with - | (a, uu____7263) -> maybe_weakly_reduced a)) args + | (a,uu____7263) -> maybe_weakly_reduced a)) args | FStar_Syntax_Syntax.Meta_monadic_lift - (uu____7272, uu____7273, t') -> maybe_weakly_reduced t' - | FStar_Syntax_Syntax.Meta_monadic (uu____7279, t') -> + (uu____7272,uu____7273,t') -> maybe_weakly_reduced t' + | FStar_Syntax_Syntax.Meta_monadic (uu____7279,t') -> maybe_weakly_reduced t' | FStar_Syntax_Syntax.Meta_labeled uu____7285 -> false | FStar_Syntax_Syntax.Meta_desugared uu____7295 -> false | FStar_Syntax_Syntax.Meta_named uu____7297 -> false)) + type should_unfold_res = | Should_unfold_no | Should_unfold_yes | Should_unfold_fully | Should_unfold_reify let (uu___is_Should_unfold_no : should_unfold_res -> Prims.bool) = - fun projectee -> - match projectee with | Should_unfold_no -> true | uu____7308 -> false + fun projectee -> + match projectee with | Should_unfold_no -> true | uu____7308 -> false + let (uu___is_Should_unfold_yes : should_unfold_res -> Prims.bool) = - fun projectee -> - match projectee with | Should_unfold_yes -> true | uu____7319 -> false + fun projectee -> + match projectee with | Should_unfold_yes -> true | uu____7319 -> false + let (uu___is_Should_unfold_fully : should_unfold_res -> Prims.bool) = - fun projectee -> - match projectee with | Should_unfold_fully -> true | uu____7330 -> false + fun projectee -> + match projectee with | Should_unfold_fully -> true | uu____7330 -> false + let (uu___is_Should_unfold_reify : should_unfold_res -> Prims.bool) = - fun projectee -> - match projectee with | Should_unfold_reify -> true | uu____7341 -> false + fun projectee -> + match projectee with | Should_unfold_reify -> true | uu____7341 -> false + let (should_unfold : FStar_TypeChecker_Cfg.cfg -> (FStar_TypeChecker_Cfg.cfg -> Prims.bool) -> FStar_Syntax_Syntax.fv -> FStar_TypeChecker_Env.qninfo -> should_unfold_res) = - fun cfg -> - fun should_reify1 -> - fun fv -> - fun qninfo -> + fun cfg -> + fun should_reify1 -> + fun fv -> + fun qninfo -> let attrs = - let uu____7374 = FStar_TypeChecker_Env.attrs_of_qninfo qninfo in + let uu____7374 = FStar_TypeChecker_Env.attrs_of_qninfo qninfo in match uu____7374 with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some ats -> ats in - let yes = (true, false, false) in - let no = (false, false, false) in - let fully = (true, true, false) in - let reif = (true, false, true) in - let yesno b = if b then yes else no in - let fullyno b = if b then fully else no in + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some ats -> ats in + let yes = (true, false, false) in + let no = (false, false, false) in + let fully = (true, true, false) in + let reif = (true, false, true) in + let yesno b = if b then yes else no in + let fullyno b = if b then fully else no in let comb_or l = FStar_List.fold_right - (fun uu____7573 -> - fun uu____7574 -> + (fun uu____7573 -> + fun uu____7574 -> match (uu____7573, uu____7574) with - | ((a, b, c), (x, y, z)) -> ((a || x), (b || y), (c || z))) - l (false, false, false) in + | ((a,b,c),(x,y,z)) -> ((a || x), (b || y), (c || z))) l + (false, false, false) + in let string_of_res uu____7680 = match uu____7680 with - | (x, y, z) -> - let uu____7700 = FStar_Util.string_of_bool x in - let uu____7702 = FStar_Util.string_of_bool y in - let uu____7704 = FStar_Util.string_of_bool z in + | (x,y,z) -> + let uu____7700 = FStar_Util.string_of_bool x in + let uu____7702 = FStar_Util.string_of_bool y in + let uu____7704 = FStar_Util.string_of_bool z in FStar_Util.format3 "(%s,%s,%s)" uu____7700 uu____7702 - uu____7704 in + uu____7704 + in let res = if FStar_TypeChecker_Env.qninfo_is_action qninfo then - let b = should_reify1 cfg in + let b = should_reify1 cfg in (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____7732 -> - let uu____7733 = FStar_Syntax_Print.fv_to_string fv in - let uu____7735 = FStar_Util.string_of_bool b in + (fun uu____7732 -> + let uu____7733 = FStar_Syntax_Print.fv_to_string fv in + let uu____7735 = FStar_Util.string_of_bool b in FStar_Util.print2 "should_unfold: For DM4F action %s, should_reify = %s\n" uu____7733 uu____7735); if b then reif else no) else if - (let uu____7750 = FStar_TypeChecker_Cfg.find_prim_step cfg fv in + (let uu____7750 = FStar_TypeChecker_Cfg.find_prim_step cfg fv + in FStar_Option.isSome uu____7750) then (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____7755 -> + (fun uu____7755 -> FStar_Util.print_string " >> It's a primop, not unfolding\n"); no) @@ -1910,23 +2064,21 @@ let (should_unfold : ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_let - ((is_rec, uu____7790), uu____7791); + ((is_rec,uu____7790),uu____7791); FStar_Syntax_Syntax.sigrng = uu____7792; FStar_Syntax_Syntax.sigquals = qs; FStar_Syntax_Syntax.sigmeta = uu____7794; - FStar_Syntax_Syntax.sigattrs = uu____7795;_}, - uu____7796), - uu____7797), - uu____7798, uu____7799, uu____7800) when + FStar_Syntax_Syntax.sigattrs = uu____7795;_},uu____7796),uu____7797),uu____7798,uu____7799,uu____7800) + when FStar_List.contains FStar_Syntax_Syntax.HasMaskedEffect qs -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____7907 -> + (fun uu____7907 -> FStar_Util.print_string " >> HasMaskedEffect, not unfolding\n"); no) - | (uu____7909, uu____7910, uu____7911, uu____7912) when + | (uu____7909,uu____7910,uu____7911,uu____7912) when (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_tac && (FStar_Util.for_some @@ -1934,7 +2086,7 @@ let (should_unfold : FStar_Syntax_Util.tac_opaque_attr) attrs) -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____7979 -> + (fun uu____7979 -> FStar_Util.print_string " >> tac_opaque, not unfolding\n"); no) @@ -1943,29 +2095,27 @@ let (should_unfold : ({ FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_let - ((is_rec, uu____7982), uu____7983); + ((is_rec,uu____7982),uu____7983); FStar_Syntax_Syntax.sigrng = uu____7984; FStar_Syntax_Syntax.sigquals = qs; FStar_Syntax_Syntax.sigmeta = uu____7986; - FStar_Syntax_Syntax.sigattrs = uu____7987;_}, - uu____7988), - uu____7989), - uu____7990, uu____7991, uu____7992) when + FStar_Syntax_Syntax.sigattrs = uu____7987;_},uu____7988),uu____7989),uu____7990,uu____7991,uu____7992) + when is_rec && (Prims.op_Negation (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.zeta) -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____8099 -> + (fun uu____8099 -> FStar_Util.print_string " >> It's a recursive definition but we're not doing Zeta, not unfolding\n"); no) - | (uu____8101, FStar_Pervasives_Native.Some uu____8102, - uu____8103, uu____8104) -> + | (uu____8101,FStar_Pervasives_Native.Some + uu____8102,uu____8103,uu____8104) -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____8172 -> + (fun uu____8172 -> let uu____8173 = - FStar_Syntax_Print.fv_to_string fv in + FStar_Syntax_Print.fv_to_string fv in FStar_Util.print1 "should_unfold: Reached a %s with selective unfolding\n" uu____8173); @@ -1973,47 +2123,53 @@ let (should_unfold : let uu____8188 = match (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_only with - | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.None -> no | FStar_Pervasives_Native.Some lids -> let uu____8214 = FStar_Util.for_some - (FStar_Syntax_Syntax.fv_eq_lid fv) lids in - FStar_All.pipe_left yesno uu____8214 in + (FStar_Syntax_Syntax.fv_eq_lid fv) lids + in + FStar_All.pipe_left yesno uu____8214 + in let uu____8226 = let uu____8238 = match (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_attr with - | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.None -> no | FStar_Pervasives_Native.Some lids -> let uu____8264 = FStar_Util.for_some - (fun at -> + (fun at -> FStar_Util.for_some - (fun lid -> + (fun lid -> FStar_Syntax_Util.is_fvar lid at) - lids) attrs in - FStar_All.pipe_left yesno uu____8264 in + lids) attrs + in + FStar_All.pipe_left yesno uu____8264 + in let uu____8280 = let uu____8292 = match (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_fully with - | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.None -> no | FStar_Pervasives_Native.Some lids -> let uu____8318 = FStar_Util.for_some (FStar_Syntax_Syntax.fv_eq_lid fv) - lids in - FStar_All.pipe_left fullyno uu____8318 in - [uu____8292] in - uu____8238 :: uu____8280 in - uu____8188 :: uu____8226 in + lids + in + FStar_All.pipe_left fullyno uu____8318 + in + [uu____8292] in + uu____8238 :: uu____8280 in + uu____8188 :: uu____8226 in comb_or uu____8176)) - | (uu____8366, uu____8367, FStar_Pervasives_Native.Some - uu____8368, uu____8369) -> + | (uu____8366,uu____8367,FStar_Pervasives_Native.Some + uu____8368,uu____8369) -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____8437 -> + (fun uu____8437 -> let uu____8438 = - FStar_Syntax_Print.fv_to_string fv in + FStar_Syntax_Print.fv_to_string fv in FStar_Util.print1 "should_unfold: Reached a %s with selective unfolding\n" uu____8438); @@ -2021,47 +2177,53 @@ let (should_unfold : let uu____8453 = match (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_only with - | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.None -> no | FStar_Pervasives_Native.Some lids -> let uu____8479 = FStar_Util.for_some - (FStar_Syntax_Syntax.fv_eq_lid fv) lids in - FStar_All.pipe_left yesno uu____8479 in + (FStar_Syntax_Syntax.fv_eq_lid fv) lids + in + FStar_All.pipe_left yesno uu____8479 + in let uu____8491 = let uu____8503 = match (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_attr with - | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.None -> no | FStar_Pervasives_Native.Some lids -> let uu____8529 = FStar_Util.for_some - (fun at -> + (fun at -> FStar_Util.for_some - (fun lid -> + (fun lid -> FStar_Syntax_Util.is_fvar lid at) - lids) attrs in - FStar_All.pipe_left yesno uu____8529 in + lids) attrs + in + FStar_All.pipe_left yesno uu____8529 + in let uu____8545 = let uu____8557 = match (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_fully with - | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.None -> no | FStar_Pervasives_Native.Some lids -> let uu____8583 = FStar_Util.for_some (FStar_Syntax_Syntax.fv_eq_lid fv) - lids in - FStar_All.pipe_left fullyno uu____8583 in - [uu____8557] in - uu____8503 :: uu____8545 in - uu____8453 :: uu____8491 in + lids + in + FStar_All.pipe_left fullyno uu____8583 + in + [uu____8557] in + uu____8503 :: uu____8545 in + uu____8453 :: uu____8491 in comb_or uu____8441)) - | (uu____8631, uu____8632, uu____8633, - FStar_Pervasives_Native.Some uu____8634) -> + | (uu____8631,uu____8632,uu____8633,FStar_Pervasives_Native.Some + uu____8634) -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____8702 -> + (fun uu____8702 -> let uu____8703 = - FStar_Syntax_Print.fv_to_string fv in + FStar_Syntax_Print.fv_to_string fv in FStar_Util.print1 "should_unfold: Reached a %s with selective unfolding\n" uu____8703); @@ -2069,53 +2231,61 @@ let (should_unfold : let uu____8718 = match (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_only with - | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.None -> no | FStar_Pervasives_Native.Some lids -> let uu____8744 = FStar_Util.for_some - (FStar_Syntax_Syntax.fv_eq_lid fv) lids in - FStar_All.pipe_left yesno uu____8744 in + (FStar_Syntax_Syntax.fv_eq_lid fv) lids + in + FStar_All.pipe_left yesno uu____8744 + in let uu____8756 = let uu____8768 = match (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_attr with - | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.None -> no | FStar_Pervasives_Native.Some lids -> let uu____8794 = FStar_Util.for_some - (fun at -> + (fun at -> FStar_Util.for_some - (fun lid -> + (fun lid -> FStar_Syntax_Util.is_fvar lid at) - lids) attrs in - FStar_All.pipe_left yesno uu____8794 in + lids) attrs + in + FStar_All.pipe_left yesno uu____8794 + in let uu____8810 = let uu____8822 = match (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unfold_fully with - | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.None -> no | FStar_Pervasives_Native.Some lids -> let uu____8848 = FStar_Util.for_some (FStar_Syntax_Syntax.fv_eq_lid fv) - lids in - FStar_All.pipe_left fullyno uu____8848 in - [uu____8822] in - uu____8768 :: uu____8810 in - uu____8718 :: uu____8756 in + lids + in + FStar_All.pipe_left fullyno uu____8848 + in + [uu____8822] in + uu____8768 :: uu____8810 in + uu____8718 :: uu____8756 in comb_or uu____8706)) | uu____8896 -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____8942 -> + (fun uu____8942 -> let uu____8943 = - FStar_Syntax_Print.fv_to_string fv in + FStar_Syntax_Print.fv_to_string fv in let uu____8945 = FStar_Syntax_Print.delta_depth_to_string - fv.FStar_Syntax_Syntax.fv_delta in + fv.FStar_Syntax_Syntax.fv_delta + in let uu____8947 = FStar_Common.string_of_list FStar_TypeChecker_Env.string_of_delta_level - cfg.FStar_TypeChecker_Cfg.delta_level in + cfg.FStar_TypeChecker_Cfg.delta_level + in FStar_Util.print3 "should_unfold: Reached a %s with delta_depth = %s\n >> Our delta_level is %s\n" uu____8943 uu____8945 uu____8947); @@ -2123,41 +2293,46 @@ let (should_unfold : FStar_All.pipe_right cfg.FStar_TypeChecker_Cfg.delta_level (FStar_Util.for_some - (fun uu___13_8956 -> + (fun uu___13_8956 -> match uu___13_8956 with - | FStar_TypeChecker_Env.NoDelta -> false - | FStar_TypeChecker_Env.InliningDelta -> + | FStar_TypeChecker_Env.NoDelta -> false + | FStar_TypeChecker_Env.InliningDelta -> true | FStar_TypeChecker_Env.Eager_unfolding_only - -> true + -> true | FStar_TypeChecker_Env.Unfold l -> let uu____8962 = FStar_TypeChecker_Env.delta_depth_of_fv - cfg.FStar_TypeChecker_Cfg.tcenv fv in + cfg.FStar_TypeChecker_Cfg.tcenv fv + in FStar_TypeChecker_Common.delta_depth_greater_than - uu____8962 l)) in - FStar_All.pipe_left yesno uu____8950))) in + uu____8962 l)) + in + FStar_All.pipe_left yesno uu____8950))) + in FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____8978 -> - let uu____8979 = FStar_Syntax_Print.fv_to_string fv in + (fun uu____8978 -> + let uu____8979 = FStar_Syntax_Print.fv_to_string fv in let uu____8981 = - let uu____8983 = FStar_Syntax_Syntax.range_of_fv fv in - FStar_Range.string_of_range uu____8983 in - let uu____8984 = string_of_res res in + let uu____8983 = FStar_Syntax_Syntax.range_of_fv fv in + FStar_Range.string_of_range uu____8983 in + let uu____8984 = string_of_res res in FStar_Util.print3 "should_unfold: For %s (%s), unfolding res = %s\n" uu____8979 uu____8981 uu____8984); (match res with - | (false, uu____8987, uu____8988) -> Should_unfold_no - | (true, false, false) -> Should_unfold_yes - | (true, true, false) -> Should_unfold_fully - | (true, false, true) -> Should_unfold_reify + | (false ,uu____8987,uu____8988) -> Should_unfold_no + | (true ,false ,false ) -> Should_unfold_yes + | (true ,true ,false ) -> Should_unfold_fully + | (true ,false ,true ) -> Should_unfold_reify | uu____9013 -> let uu____9023 = - let uu____9025 = string_of_res res in + let uu____9025 = string_of_res res in FStar_Util.format1 "Unexpected unfolding result: %s" - uu____9025 in + uu____9025 + in FStar_All.pipe_left failwith uu____9023) + let decide_unfolding : 'Auu____9044 . FStar_TypeChecker_Cfg.cfg -> @@ -2169,25 +2344,27 @@ let decide_unfolding : (FStar_TypeChecker_Cfg.cfg * stack_elt Prims.list) FStar_Pervasives_Native.option = - fun cfg -> - fun env -> - fun stack -> - fun rng -> - fun fv -> - fun qninfo -> + fun cfg -> + fun env -> + fun stack -> + fun rng -> + fun fv -> + fun qninfo -> let res = - should_unfold cfg (fun cfg1 -> should_reify cfg1 stack) fv - qninfo in + should_unfold cfg (fun cfg1 -> should_reify cfg1 stack) fv + qninfo + in match res with - | Should_unfold_no -> FStar_Pervasives_Native.None - | Should_unfold_yes -> + | Should_unfold_no -> FStar_Pervasives_Native.None + | Should_unfold_yes -> FStar_Pervasives_Native.Some (cfg, stack) - | Should_unfold_fully -> + | Should_unfold_fully -> let cfg' = - let uu___1159_9113 = cfg in + let uu___1159_9113 = cfg in { FStar_TypeChecker_Cfg.steps = - (let uu___1161_9116 = cfg.FStar_TypeChecker_Cfg.steps in + (let uu___1161_9116 = cfg.FStar_TypeChecker_Cfg.steps + in { FStar_TypeChecker_Cfg.beta = (uu___1161_9116.FStar_TypeChecker_Cfg.beta); @@ -2260,59 +2437,66 @@ let decide_unfolding : (uu___1159_9113.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = (uu___1159_9113.FStar_TypeChecker_Cfg.reifying) - } in + } in let stack' = match stack with - | (UnivArgs (us, r))::stack' -> (UnivArgs (us, r)) :: + | (UnivArgs (us,r))::stack' -> (UnivArgs (us, r)) :: (Cfg cfg) :: stack' - | stack' -> (Cfg cfg) :: stack' in + | stack' -> (Cfg cfg) :: stack' in FStar_Pervasives_Native.Some (cfg', stack') - | Should_unfold_reify -> + | Should_unfold_reify -> let rec push1 e s = match s with | [] -> [e] - | (UnivArgs (us, r))::t -> - let uu____9178 = push1 e t in (UnivArgs (us, r)) :: + | (UnivArgs (us,r))::t -> + let uu____9178 = push1 e t in (UnivArgs (us, r)) :: uu____9178 - | h::t -> e :: h :: t in + | h::t -> e :: h :: t in let ref = let uu____9190 = let uu____9197 = let uu____9198 = - let uu____9199 = FStar_Syntax_Syntax.lid_of_fv fv in - FStar_Const.Const_reflect uu____9199 in - FStar_Syntax_Syntax.Tm_constant uu____9198 in - FStar_Syntax_Syntax.mk uu____9197 in + let uu____9199 = FStar_Syntax_Syntax.lid_of_fv fv + in + FStar_Const.Const_reflect uu____9199 in + FStar_Syntax_Syntax.Tm_constant uu____9198 in + FStar_Syntax_Syntax.mk uu____9197 in uu____9190 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Range.dummyRange + in let stack1 = push1 (App (env, ref, FStar_Pervasives_Native.None, - FStar_Range.dummyRange)) stack in + FStar_Range.dummyRange)) stack + in FStar_Pervasives_Native.Some (cfg, stack1) + +let (on_domain_lids : FStar_Ident.lident Prims.list) = + let fext_lid s = + FStar_Ident.lid_of_path ["FStar"; "FunctionalExtensionality"; s] + FStar_Range.dummyRange + in + FStar_All.pipe_right ["on_domain"; "on_dom"; "on_domain_g"; "on_dom_g"] + (FStar_List.map fext_lid) + let (is_fext_on_domain : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun t -> - let fext_lid s = - FStar_Ident.lid_of_path ["FStar"; "FunctionalExtensionality"; s] - FStar_Range.dummyRange in - let on_domain_lids = - FStar_All.pipe_right ["on_domain"; "on_dom"; "on_domain_g"; "on_dom_g"] - (FStar_List.map fext_lid) in + fun t -> let is_on_dom fv = FStar_All.pipe_right on_domain_lids - (FStar_List.existsb (fun l -> FStar_Syntax_Syntax.fv_eq_lid fv l)) in + (FStar_List.existsb (fun l -> FStar_Syntax_Syntax.fv_eq_lid fv l)) + in let uu____9265 = - let uu____9266 = FStar_Syntax_Subst.compress t in - uu____9266.FStar_Syntax_Syntax.n in + let uu____9266 = FStar_Syntax_Subst.compress t in + uu____9266.FStar_Syntax_Syntax.n in match uu____9265 with - | FStar_Syntax_Syntax.Tm_app (hd1, args) -> + | FStar_Syntax_Syntax.Tm_app (hd1,args) -> let uu____9297 = - let uu____9298 = FStar_Syntax_Util.un_uinst hd1 in - uu____9298.FStar_Syntax_Syntax.n in + let uu____9298 = FStar_Syntax_Util.un_uinst hd1 in + uu____9298.FStar_Syntax_Syntax.n in (match uu____9297 with | FStar_Syntax_Syntax.Tm_fvar fv when (is_on_dom fv) && @@ -2321,79 +2505,88 @@ let (is_fext_on_domain : let f = let uu____9315 = let uu____9322 = - let uu____9333 = FStar_All.pipe_right args FStar_List.tl in - FStar_All.pipe_right uu____9333 FStar_List.tl in - FStar_All.pipe_right uu____9322 FStar_List.hd in - FStar_All.pipe_right uu____9315 FStar_Pervasives_Native.fst in + let uu____9333 = FStar_All.pipe_right args FStar_List.tl + in + FStar_All.pipe_right uu____9333 FStar_List.tl in + FStar_All.pipe_right uu____9322 FStar_List.hd in + FStar_All.pipe_right uu____9315 FStar_Pervasives_Native.fst + in FStar_Pervasives_Native.Some f | uu____9432 -> FStar_Pervasives_Native.None) | uu____9433 -> FStar_Pervasives_Native.None + let rec (norm : FStar_TypeChecker_Cfg.cfg -> env -> stack -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun cfg -> - fun env -> - fun stack -> - fun t -> + fun cfg -> + fun env -> + fun stack -> + fun t -> let t1 = if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.norm_delayed then (match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_delayed uu____9712 -> - let uu____9735 = FStar_Syntax_Print.term_to_string t in + let uu____9735 = FStar_Syntax_Print.term_to_string t in FStar_Util.print1 "NORM delayed: %s\n" uu____9735 | uu____9738 -> ()) else (); - FStar_Syntax_Subst.compress t in + FStar_Syntax_Subst.compress t in FStar_TypeChecker_Cfg.log cfg - (fun uu____9748 -> - let uu____9749 = FStar_Syntax_Print.tag_of_term t1 in + (fun uu____9748 -> + let uu____9749 = FStar_Syntax_Print.tag_of_term t1 in let uu____9751 = FStar_Util.string_of_bool - (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.no_full_norm in - let uu____9753 = FStar_Syntax_Print.term_to_string t1 in + (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.no_full_norm + in + let uu____9753 = FStar_Syntax_Print.term_to_string t1 in let uu____9755 = - FStar_Util.string_of_int (FStar_List.length env) in + FStar_Util.string_of_int (FStar_List.length env) in let uu____9763 = let uu____9765 = - let uu____9768 = firstn (Prims.parse_int "4") stack in - FStar_All.pipe_left FStar_Pervasives_Native.fst uu____9768 in - stack_to_string uu____9765 in + let uu____9768 = firstn (Prims.parse_int "4") stack in + FStar_All.pipe_left FStar_Pervasives_Native.fst uu____9768 + in + stack_to_string uu____9765 in FStar_Util.print5 ">>> %s (no_full_norm=%s)\nNorm %s with with %s env elements top of the stack %s \n" uu____9749 uu____9751 uu____9753 uu____9755 uu____9763); FStar_TypeChecker_Cfg.log_cfg cfg - (fun uu____9796 -> - let uu____9797 = FStar_TypeChecker_Cfg.cfg_to_string cfg in + (fun uu____9796 -> + let uu____9797 = FStar_TypeChecker_Cfg.cfg_to_string cfg in FStar_Util.print1 ">>> cfg = %s\n" uu____9797); (match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____9803 -> - let uu____9804 = FStar_Syntax_Print.term_to_string t1 in + (fun uu____9803 -> + let uu____9804 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.print1 ">>> Tm_fvar case 0 for %s\n" uu____9804); rebuild cfg env stack t1) | FStar_Syntax_Syntax.Tm_constant uu____9807 -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____9811 -> - let uu____9812 = FStar_Syntax_Print.term_to_string t1 in + (fun uu____9811 -> + let uu____9812 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.print1 ">>> Tm_fvar case 0 for %s\n" uu____9812); rebuild cfg env stack t1) | FStar_Syntax_Syntax.Tm_name uu____9815 -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____9819 -> - let uu____9820 = FStar_Syntax_Print.term_to_string t1 in + (fun uu____9819 -> + let uu____9820 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.print1 ">>> Tm_fvar case 0 for %s\n" uu____9820); rebuild cfg env stack t1) | FStar_Syntax_Syntax.Tm_lazy uu____9823 -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____9827 -> - let uu____9828 = FStar_Syntax_Print.term_to_string t1 in + (fun uu____9827 -> + let uu____9828 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.print1 ">>> Tm_fvar case 0 for %s\n" uu____9828); rebuild cfg env stack t1) @@ -2401,11 +2594,12 @@ let rec (norm : { FStar_Syntax_Syntax.fv_name = uu____9831; FStar_Syntax_Syntax.fv_delta = uu____9832; FStar_Syntax_Syntax.fv_qual = FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Data_ctor);_} + (FStar_Syntax_Syntax.Data_ctor );_} -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____9836 -> - let uu____9837 = FStar_Syntax_Print.term_to_string t1 in + (fun uu____9836 -> + let uu____9837 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.print1 ">>> Tm_fvar case 0 for %s\n" uu____9837); rebuild cfg env stack t1) @@ -2416,55 +2610,58 @@ let rec (norm : (FStar_Syntax_Syntax.Record_ctor uu____9842);_} -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____9852 -> - let uu____9853 = FStar_Syntax_Print.term_to_string t1 in + (fun uu____9852 -> + let uu____9853 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.print1 ">>> Tm_fvar case 0 for %s\n" uu____9853); rebuild cfg env stack t1) | FStar_Syntax_Syntax.Tm_fvar fv -> - let lid = FStar_Syntax_Syntax.lid_of_fv fv in + let lid = FStar_Syntax_Syntax.lid_of_fv fv in let qninfo = FStar_TypeChecker_Env.lookup_qname - cfg.FStar_TypeChecker_Cfg.tcenv lid in + cfg.FStar_TypeChecker_Cfg.tcenv lid + in let uu____9859 = - FStar_TypeChecker_Env.delta_depth_of_qninfo fv qninfo in + FStar_TypeChecker_Env.delta_depth_of_qninfo fv qninfo in (match uu____9859 with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Delta_constant_at_level _9862) when _9862 = (Prims.parse_int "0") -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____9866 -> + (fun uu____9866 -> let uu____9867 = - FStar_Syntax_Print.term_to_string t1 in + FStar_Syntax_Print.term_to_string t1 in FStar_Util.print1 ">>> Tm_fvar case 0 for %s\n" uu____9867); rebuild cfg env stack t1) | uu____9870 -> let uu____9873 = decide_unfolding cfg env stack - t1.FStar_Syntax_Syntax.pos fv qninfo in + t1.FStar_Syntax_Syntax.pos fv qninfo + in (match uu____9873 with - | FStar_Pervasives_Native.Some (cfg1, stack1) -> + | FStar_Pervasives_Native.Some (cfg1,stack1) -> do_unfold_fv cfg1 env stack1 t1 qninfo fv - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> rebuild cfg env stack t1)) | FStar_Syntax_Syntax.Tm_quoted uu____9900 -> - let uu____9907 = closure_as_term cfg env t1 in + let uu____9907 = closure_as_term cfg env t1 in rebuild cfg env stack uu____9907 - | FStar_Syntax_Syntax.Tm_app (hd1, args) when + | FStar_Syntax_Syntax.Tm_app (hd1,args) when (should_consider_norm_requests cfg) && - (let uu____9935 = is_norm_request hd1 args in + (let uu____9935 = is_norm_request hd1 args in uu____9935 = Norm_request_requires_rejig) -> (if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.print_normalized then FStar_Util.print_string "Rejigging norm request ... \n" else (); - (let uu____9941 = rejig_norm_request hd1 args in + (let uu____9941 = rejig_norm_request hd1 args in norm cfg env stack uu____9941)) - | FStar_Syntax_Syntax.Tm_app (hd1, args) when + | FStar_Syntax_Syntax.Tm_app (hd1,args) when (should_consider_norm_requests cfg) && - (let uu____9969 = is_norm_request hd1 args in + (let uu____9969 = is_norm_request hd1 args in uu____9969 = Norm_request_ready) -> (if @@ -2472,86 +2669,87 @@ let rec (norm : then FStar_Util.print_string "Potential norm request ... \n" else (); (let cfg' = - let uu___1269_9976 = cfg in + let uu___1268_9976 = cfg in { FStar_TypeChecker_Cfg.steps = - (let uu___1271_9979 = cfg.FStar_TypeChecker_Cfg.steps in + (let uu___1270_9979 = cfg.FStar_TypeChecker_Cfg.steps + in { FStar_TypeChecker_Cfg.beta = - (uu___1271_9979.FStar_TypeChecker_Cfg.beta); + (uu___1270_9979.FStar_TypeChecker_Cfg.beta); FStar_TypeChecker_Cfg.iota = - (uu___1271_9979.FStar_TypeChecker_Cfg.iota); + (uu___1270_9979.FStar_TypeChecker_Cfg.iota); FStar_TypeChecker_Cfg.zeta = - (uu___1271_9979.FStar_TypeChecker_Cfg.zeta); + (uu___1270_9979.FStar_TypeChecker_Cfg.zeta); FStar_TypeChecker_Cfg.weak = - (uu___1271_9979.FStar_TypeChecker_Cfg.weak); + (uu___1270_9979.FStar_TypeChecker_Cfg.weak); FStar_TypeChecker_Cfg.hnf = - (uu___1271_9979.FStar_TypeChecker_Cfg.hnf); + (uu___1270_9979.FStar_TypeChecker_Cfg.hnf); FStar_TypeChecker_Cfg.primops = - (uu___1271_9979.FStar_TypeChecker_Cfg.primops); + (uu___1270_9979.FStar_TypeChecker_Cfg.primops); FStar_TypeChecker_Cfg.do_not_unfold_pure_lets = false; FStar_TypeChecker_Cfg.unfold_until = - (uu___1271_9979.FStar_TypeChecker_Cfg.unfold_until); + (uu___1270_9979.FStar_TypeChecker_Cfg.unfold_until); FStar_TypeChecker_Cfg.unfold_only = FStar_Pervasives_Native.None; FStar_TypeChecker_Cfg.unfold_fully = FStar_Pervasives_Native.None; FStar_TypeChecker_Cfg.unfold_attr = - (uu___1271_9979.FStar_TypeChecker_Cfg.unfold_attr); + (uu___1270_9979.FStar_TypeChecker_Cfg.unfold_attr); FStar_TypeChecker_Cfg.unfold_tac = - (uu___1271_9979.FStar_TypeChecker_Cfg.unfold_tac); + (uu___1270_9979.FStar_TypeChecker_Cfg.unfold_tac); FStar_TypeChecker_Cfg.pure_subterms_within_computations = - (uu___1271_9979.FStar_TypeChecker_Cfg.pure_subterms_within_computations); + (uu___1270_9979.FStar_TypeChecker_Cfg.pure_subterms_within_computations); FStar_TypeChecker_Cfg.simplify = - (uu___1271_9979.FStar_TypeChecker_Cfg.simplify); + (uu___1270_9979.FStar_TypeChecker_Cfg.simplify); FStar_TypeChecker_Cfg.erase_universes = - (uu___1271_9979.FStar_TypeChecker_Cfg.erase_universes); + (uu___1270_9979.FStar_TypeChecker_Cfg.erase_universes); FStar_TypeChecker_Cfg.allow_unbound_universes = - (uu___1271_9979.FStar_TypeChecker_Cfg.allow_unbound_universes); + (uu___1270_9979.FStar_TypeChecker_Cfg.allow_unbound_universes); FStar_TypeChecker_Cfg.reify_ = - (uu___1271_9979.FStar_TypeChecker_Cfg.reify_); + (uu___1270_9979.FStar_TypeChecker_Cfg.reify_); FStar_TypeChecker_Cfg.compress_uvars = - (uu___1271_9979.FStar_TypeChecker_Cfg.compress_uvars); + (uu___1270_9979.FStar_TypeChecker_Cfg.compress_uvars); FStar_TypeChecker_Cfg.no_full_norm = - (uu___1271_9979.FStar_TypeChecker_Cfg.no_full_norm); + (uu___1270_9979.FStar_TypeChecker_Cfg.no_full_norm); FStar_TypeChecker_Cfg.check_no_uvars = - (uu___1271_9979.FStar_TypeChecker_Cfg.check_no_uvars); + (uu___1270_9979.FStar_TypeChecker_Cfg.check_no_uvars); FStar_TypeChecker_Cfg.unmeta = - (uu___1271_9979.FStar_TypeChecker_Cfg.unmeta); + (uu___1270_9979.FStar_TypeChecker_Cfg.unmeta); FStar_TypeChecker_Cfg.unascribe = - (uu___1271_9979.FStar_TypeChecker_Cfg.unascribe); + (uu___1270_9979.FStar_TypeChecker_Cfg.unascribe); FStar_TypeChecker_Cfg.in_full_norm_request = - (uu___1271_9979.FStar_TypeChecker_Cfg.in_full_norm_request); + (uu___1270_9979.FStar_TypeChecker_Cfg.in_full_norm_request); FStar_TypeChecker_Cfg.weakly_reduce_scrutinee = - (uu___1271_9979.FStar_TypeChecker_Cfg.weakly_reduce_scrutinee); + (uu___1270_9979.FStar_TypeChecker_Cfg.weakly_reduce_scrutinee); FStar_TypeChecker_Cfg.nbe_step = - (uu___1271_9979.FStar_TypeChecker_Cfg.nbe_step); + (uu___1270_9979.FStar_TypeChecker_Cfg.nbe_step); FStar_TypeChecker_Cfg.for_extraction = - (uu___1271_9979.FStar_TypeChecker_Cfg.for_extraction) + (uu___1270_9979.FStar_TypeChecker_Cfg.for_extraction) }); FStar_TypeChecker_Cfg.tcenv = - (uu___1269_9976.FStar_TypeChecker_Cfg.tcenv); + (uu___1268_9976.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1269_9976.FStar_TypeChecker_Cfg.debug); + (uu___1268_9976.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = [FStar_TypeChecker_Env.Unfold FStar_Syntax_Syntax.delta_constant]; FStar_TypeChecker_Cfg.primitive_steps = - (uu___1269_9976.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1268_9976.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = - (uu___1269_9976.FStar_TypeChecker_Cfg.strong); + (uu___1268_9976.FStar_TypeChecker_Cfg.strong); FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1269_9976.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1268_9976.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = true; FStar_TypeChecker_Cfg.reifying = - (uu___1269_9976.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1268_9976.FStar_TypeChecker_Cfg.reifying) + } in let uu____9986 = - get_norm_request cfg (norm cfg' env []) args in + get_norm_request cfg (norm cfg' env []) args in match uu____9986 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.print_normalized then FStar_Util.print_string "Norm request None ... \n" @@ -2559,68 +2757,73 @@ let rec (norm : (let stack1 = FStar_All.pipe_right stack (FStar_List.fold_right - (fun uu____10022 -> - fun stack1 -> + (fun uu____10022 -> + fun stack1 -> match uu____10022 with - | (a, aq) -> + | (a,aq) -> let uu____10034 = let uu____10035 = let uu____10042 = let uu____10043 = let uu____10075 = FStar_Util.mk_ref - FStar_Pervasives_Native.None in - (env, a, uu____10075, false) in - Clos uu____10043 in + FStar_Pervasives_Native.None + in + (env, a, uu____10075, false) + in + Clos uu____10043 in (uu____10042, aq, - (t1.FStar_Syntax_Syntax.pos)) in - Arg uu____10035 in - uu____10034 :: stack1) args) in + (t1.FStar_Syntax_Syntax.pos)) + in + Arg uu____10035 in + uu____10034 :: stack1) args) + in FStar_TypeChecker_Cfg.log cfg - (fun uu____10143 -> + (fun uu____10143 -> let uu____10144 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length args) in + (FStar_List.length args) + in FStar_Util.print1 "\tPushed %s arguments\n" uu____10144); norm cfg env stack1 hd1)) - | FStar_Pervasives_Native.Some (s, tm) when is_nbe_request s + | FStar_Pervasives_Native.Some (s,tm) when is_nbe_request s -> (if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.print_normalized then (let uu____10171 = - FStar_Syntax_Print.term_to_string tm in + FStar_Syntax_Print.term_to_string tm in FStar_Util.print1 "Starting NBE request on %s ... \n" uu____10171) else (); - (let tm' = closure_as_term cfg env tm in - let start = FStar_Util.now () in - let tm_norm = nbe_eval cfg s tm' in - let fin = FStar_Util.now () in + (let tm' = closure_as_term cfg env tm in + let start = FStar_Util.now () in + let tm_norm = nbe_eval cfg s tm' in + let fin = FStar_Util.now () in if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.print_normalized then (let uu____10182 = let uu____10184 = let uu____10186 = - FStar_Util.time_diff start fin in - FStar_Pervasives_Native.snd uu____10186 in - FStar_Util.string_of_int uu____10184 in + FStar_Util.time_diff start fin in + FStar_Pervasives_Native.snd uu____10186 in + FStar_Util.string_of_int uu____10184 in let uu____10193 = - FStar_Syntax_Print.term_to_string tm' in + FStar_Syntax_Print.term_to_string tm' in let uu____10195 = - FStar_Syntax_Print.term_to_string tm_norm in + FStar_Syntax_Print.term_to_string tm_norm in FStar_Util.print3 "NBE'd (%s ms) %s\n\tto %s\n" uu____10182 uu____10193 uu____10195) else (); norm cfg env stack tm_norm)) - | FStar_Pervasives_Native.Some (s, tm) -> + | FStar_Pervasives_Native.Some (s,tm) -> (if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.print_normalized then (let uu____10214 = - FStar_Syntax_Print.term_to_string tm in + FStar_Syntax_Print.term_to_string tm in FStar_Util.print1 "Starting norm request on %s ... \n" uu____10214) else (); @@ -2628,7 +2831,7 @@ let rec (norm : let uu____10222 = FStar_All.pipe_right s (FStar_Util.for_some - (fun uu___14_10229 -> + (fun uu___14_10229 -> match uu___14_10229 with | FStar_TypeChecker_Env.UnfoldUntil uu____10231 -> true @@ -2636,109 +2839,111 @@ let rec (norm : uu____10233 -> true | FStar_TypeChecker_Env.UnfoldFully uu____10237 -> true - | uu____10241 -> false)) in + | uu____10241 -> false)) + in if uu____10222 then [FStar_TypeChecker_Env.Unfold FStar_Syntax_Syntax.delta_constant] - else [FStar_TypeChecker_Env.NoDelta] in + else [FStar_TypeChecker_Env.NoDelta] in let cfg'1 = - let uu___1312_10249 = cfg in + let uu___1311_10249 = cfg in let uu____10250 = - let uu___1314_10251 = - FStar_TypeChecker_Cfg.to_fsteps s in + let uu___1313_10251 = + FStar_TypeChecker_Cfg.to_fsteps s in { FStar_TypeChecker_Cfg.beta = - (uu___1314_10251.FStar_TypeChecker_Cfg.beta); + (uu___1313_10251.FStar_TypeChecker_Cfg.beta); FStar_TypeChecker_Cfg.iota = - (uu___1314_10251.FStar_TypeChecker_Cfg.iota); + (uu___1313_10251.FStar_TypeChecker_Cfg.iota); FStar_TypeChecker_Cfg.zeta = - (uu___1314_10251.FStar_TypeChecker_Cfg.zeta); + (uu___1313_10251.FStar_TypeChecker_Cfg.zeta); FStar_TypeChecker_Cfg.weak = - (uu___1314_10251.FStar_TypeChecker_Cfg.weak); + (uu___1313_10251.FStar_TypeChecker_Cfg.weak); FStar_TypeChecker_Cfg.hnf = - (uu___1314_10251.FStar_TypeChecker_Cfg.hnf); + (uu___1313_10251.FStar_TypeChecker_Cfg.hnf); FStar_TypeChecker_Cfg.primops = - (uu___1314_10251.FStar_TypeChecker_Cfg.primops); + (uu___1313_10251.FStar_TypeChecker_Cfg.primops); FStar_TypeChecker_Cfg.do_not_unfold_pure_lets = - (uu___1314_10251.FStar_TypeChecker_Cfg.do_not_unfold_pure_lets); + (uu___1313_10251.FStar_TypeChecker_Cfg.do_not_unfold_pure_lets); FStar_TypeChecker_Cfg.unfold_until = - (uu___1314_10251.FStar_TypeChecker_Cfg.unfold_until); + (uu___1313_10251.FStar_TypeChecker_Cfg.unfold_until); FStar_TypeChecker_Cfg.unfold_only = - (uu___1314_10251.FStar_TypeChecker_Cfg.unfold_only); + (uu___1313_10251.FStar_TypeChecker_Cfg.unfold_only); FStar_TypeChecker_Cfg.unfold_fully = - (uu___1314_10251.FStar_TypeChecker_Cfg.unfold_fully); + (uu___1313_10251.FStar_TypeChecker_Cfg.unfold_fully); FStar_TypeChecker_Cfg.unfold_attr = - (uu___1314_10251.FStar_TypeChecker_Cfg.unfold_attr); + (uu___1313_10251.FStar_TypeChecker_Cfg.unfold_attr); FStar_TypeChecker_Cfg.unfold_tac = - (uu___1314_10251.FStar_TypeChecker_Cfg.unfold_tac); + (uu___1313_10251.FStar_TypeChecker_Cfg.unfold_tac); FStar_TypeChecker_Cfg.pure_subterms_within_computations = - (uu___1314_10251.FStar_TypeChecker_Cfg.pure_subterms_within_computations); + (uu___1313_10251.FStar_TypeChecker_Cfg.pure_subterms_within_computations); FStar_TypeChecker_Cfg.simplify = - (uu___1314_10251.FStar_TypeChecker_Cfg.simplify); + (uu___1313_10251.FStar_TypeChecker_Cfg.simplify); FStar_TypeChecker_Cfg.erase_universes = - (uu___1314_10251.FStar_TypeChecker_Cfg.erase_universes); + (uu___1313_10251.FStar_TypeChecker_Cfg.erase_universes); FStar_TypeChecker_Cfg.allow_unbound_universes = - (uu___1314_10251.FStar_TypeChecker_Cfg.allow_unbound_universes); + (uu___1313_10251.FStar_TypeChecker_Cfg.allow_unbound_universes); FStar_TypeChecker_Cfg.reify_ = - (uu___1314_10251.FStar_TypeChecker_Cfg.reify_); + (uu___1313_10251.FStar_TypeChecker_Cfg.reify_); FStar_TypeChecker_Cfg.compress_uvars = - (uu___1314_10251.FStar_TypeChecker_Cfg.compress_uvars); + (uu___1313_10251.FStar_TypeChecker_Cfg.compress_uvars); FStar_TypeChecker_Cfg.no_full_norm = - (uu___1314_10251.FStar_TypeChecker_Cfg.no_full_norm); + (uu___1313_10251.FStar_TypeChecker_Cfg.no_full_norm); FStar_TypeChecker_Cfg.check_no_uvars = - (uu___1314_10251.FStar_TypeChecker_Cfg.check_no_uvars); + (uu___1313_10251.FStar_TypeChecker_Cfg.check_no_uvars); FStar_TypeChecker_Cfg.unmeta = - (uu___1314_10251.FStar_TypeChecker_Cfg.unmeta); + (uu___1313_10251.FStar_TypeChecker_Cfg.unmeta); FStar_TypeChecker_Cfg.unascribe = - (uu___1314_10251.FStar_TypeChecker_Cfg.unascribe); + (uu___1313_10251.FStar_TypeChecker_Cfg.unascribe); FStar_TypeChecker_Cfg.in_full_norm_request = true; FStar_TypeChecker_Cfg.weakly_reduce_scrutinee = - (uu___1314_10251.FStar_TypeChecker_Cfg.weakly_reduce_scrutinee); + (uu___1313_10251.FStar_TypeChecker_Cfg.weakly_reduce_scrutinee); FStar_TypeChecker_Cfg.nbe_step = - (uu___1314_10251.FStar_TypeChecker_Cfg.nbe_step); + (uu___1313_10251.FStar_TypeChecker_Cfg.nbe_step); FStar_TypeChecker_Cfg.for_extraction = - (uu___1314_10251.FStar_TypeChecker_Cfg.for_extraction) - } in + (uu___1313_10251.FStar_TypeChecker_Cfg.for_extraction) + } in { FStar_TypeChecker_Cfg.steps = uu____10250; FStar_TypeChecker_Cfg.tcenv = - (uu___1312_10249.FStar_TypeChecker_Cfg.tcenv); + (uu___1311_10249.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1312_10249.FStar_TypeChecker_Cfg.debug); + (uu___1311_10249.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = delta_level; FStar_TypeChecker_Cfg.primitive_steps = - (uu___1312_10249.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1311_10249.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = - (uu___1312_10249.FStar_TypeChecker_Cfg.strong); + (uu___1311_10249.FStar_TypeChecker_Cfg.strong); FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1312_10249.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1311_10249.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = true; FStar_TypeChecker_Cfg.reifying = - (uu___1312_10249.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1311_10249.FStar_TypeChecker_Cfg.reifying) + } in let stack' = - let tail1 = (Cfg cfg) :: stack in + let tail1 = (Cfg cfg) :: stack in if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.print_normalized then let uu____10259 = let uu____10260 = - let uu____10265 = FStar_Util.now () in - (t1, uu____10265) in - Debug uu____10260 in + let uu____10265 = FStar_Util.now () in + (t1, uu____10265) in + Debug uu____10260 in uu____10259 :: tail1 - else tail1 in + else tail1 in norm cfg'1 env stack' tm)))) | FStar_Syntax_Syntax.Tm_type u -> - let u1 = norm_universe cfg env u in + let u1 = norm_universe cfg env u in let uu____10270 = mk (FStar_Syntax_Syntax.Tm_type u1) - t1.FStar_Syntax_Syntax.pos in + t1.FStar_Syntax_Syntax.pos + in rebuild cfg env stack uu____10270 - | FStar_Syntax_Syntax.Tm_uinst (t', us) -> + | FStar_Syntax_Syntax.Tm_uinst (t',us) -> if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.erase_universes then norm cfg env stack t' @@ -2746,35 +2951,35 @@ let rec (norm : (let us1 = let uu____10281 = let uu____10288 = - FStar_List.map (norm_universe cfg env) us in - (uu____10288, (t1.FStar_Syntax_Syntax.pos)) in - UnivArgs uu____10281 in - let stack1 = us1 :: stack in norm cfg env stack1 t') + FStar_List.map (norm_universe cfg env) us in + (uu____10288, (t1.FStar_Syntax_Syntax.pos)) in + UnivArgs uu____10281 in + let stack1 = us1 :: stack in norm cfg env stack1 t') | FStar_Syntax_Syntax.Tm_bvar x -> - let uu____10297 = lookup_bvar env x in + let uu____10297 = lookup_bvar env x in (match uu____10297 with | Univ uu____10298 -> failwith "Impossible: term variable is bound to a universe" - | Dummy -> failwith "Term variable not found" - | Clos (env1, t0, r, fix) -> + | Dummy -> failwith "Term variable not found" + | Clos (env1,t0,r,fix) -> if (Prims.op_Negation fix) || (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.zeta then - let uu____10352 = FStar_ST.op_Bang r in + let uu____10352 = FStar_ST.op_Bang r in (match uu____10352 with - | FStar_Pervasives_Native.Some (env2, t') -> + | FStar_Pervasives_Native.Some (env2,t') -> (FStar_TypeChecker_Cfg.log cfg - (fun uu____10448 -> + (fun uu____10448 -> let uu____10449 = - FStar_Syntax_Print.term_to_string t1 in + FStar_Syntax_Print.term_to_string t1 in let uu____10451 = - FStar_Syntax_Print.term_to_string t' in + FStar_Syntax_Print.term_to_string t' in FStar_Util.print2 "Lazy hit: %s cached to %s\n" uu____10449 uu____10451); - (let uu____10454 = maybe_weakly_reduced t' in + (let uu____10454 = maybe_weakly_reduced t' in if uu____10454 then match stack with @@ -2785,15 +2990,15 @@ let rec (norm : -> rebuild cfg env2 stack t' | uu____10457 -> norm cfg env2 stack t' else rebuild cfg env2 stack t')) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> norm cfg env1 ((MemoLazy r) :: stack) t0) else norm cfg env1 stack t0) - | FStar_Syntax_Syntax.Tm_abs (bs, body, lopt) -> + | FStar_Syntax_Syntax.Tm_abs (bs,body,lopt) -> (match stack with | (UnivArgs uu____10501)::uu____10502 -> failwith "Ill-typed term: universes cannot be applied to term abstraction" - | (Arg (c, uu____10513, uu____10514))::stack_rest -> + | (Arg (c,uu____10513,uu____10514))::stack_rest -> (match c with | Univ uu____10518 -> norm cfg ((FStar_Pervasives_Native.None, c) :: env) @@ -2803,8 +3008,8 @@ let rec (norm : | [] -> failwith "Impossible" | b::[] -> (FStar_TypeChecker_Cfg.log cfg - (fun uu____10557 -> - let uu____10558 = closure_to_string c in + (fun uu____10557 -> + let uu____10558 = closure_to_string c in FStar_Util.print1 "\tShifted %s\n" uu____10558); norm cfg @@ -2812,15 +3017,16 @@ let rec (norm : env) stack_rest body) | b::tl1 -> (FStar_TypeChecker_Cfg.log cfg - (fun uu____10594 -> - let uu____10595 = closure_to_string c in + (fun uu____10594 -> + let uu____10595 = closure_to_string c in FStar_Util.print1 "\tShifted %s\n" uu____10595); (let body1 = mk (FStar_Syntax_Syntax.Tm_abs (tl1, body, lopt)) - t1.FStar_Syntax_Syntax.pos in + t1.FStar_Syntax_Syntax.pos + in norm cfg (((FStar_Pervasives_Native.Some b), c) :: env) stack_rest body1)))) @@ -2828,27 +3034,28 @@ let rec (norm : | (MemoLazy r)::stack1 -> (set_memo cfg r (env, t1); FStar_TypeChecker_Cfg.log cfg - (fun uu____10643 -> + (fun uu____10643 -> let uu____10644 = - FStar_Syntax_Print.term_to_string t1 in + FStar_Syntax_Print.term_to_string t1 in FStar_Util.print1 "\tSet memo %s\n" uu____10644); norm cfg env stack1 t1) | (Match uu____10647)::uu____10648 -> if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak then - let t2 = closure_as_term cfg env t1 in + let t2 = closure_as_term cfg env t1 in rebuild cfg env stack t2 else (let uu____10663 = - FStar_Syntax_Subst.open_term' bs body in + FStar_Syntax_Subst.open_term' bs body in match uu____10663 with - | (bs1, body1, opening) -> + | (bs1,body1,opening) -> let env' = FStar_All.pipe_right bs1 (FStar_List.fold_left - (fun env1 -> - fun uu____10699 -> dummy :: env1) env) in + (fun env1 -> + fun uu____10699 -> dummy :: env1) env) + in let lopt1 = match lopt with | FStar_Pervasives_Native.Some rc -> @@ -2858,55 +3065,58 @@ let rec (norm : then FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (fun t2 -> + (fun t2 -> let uu____10743 = FStar_Syntax_Subst.subst opening - t2 in + t2 + in norm cfg env' [] uu____10743) else FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (FStar_Syntax_Subst.subst opening) in + (FStar_Syntax_Subst.subst opening) + in FStar_Pervasives_Native.Some - (let uu___1432_10751 = rc in + (let uu___1431_10751 = rc in { FStar_Syntax_Syntax.residual_effect = - (uu___1432_10751.FStar_Syntax_Syntax.residual_effect); + (uu___1431_10751.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = rct; FStar_Syntax_Syntax.residual_flags = - (uu___1432_10751.FStar_Syntax_Syntax.residual_flags) + (uu___1431_10751.FStar_Syntax_Syntax.residual_flags) }) - | uu____10752 -> lopt in + | uu____10752 -> lopt in (FStar_TypeChecker_Cfg.log cfg - (fun uu____10758 -> + (fun uu____10758 -> let uu____10759 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length bs1) in + (FStar_List.length bs1) + in FStar_Util.print1 "\tShifted %s dummies\n" uu____10759); - (let stack1 = (Cfg cfg) :: stack in + (let stack1 = (Cfg cfg) :: stack in let cfg1 = - let uu___1439_10774 = cfg in + let uu___1438_10774 = cfg in { FStar_TypeChecker_Cfg.steps = - (uu___1439_10774.FStar_TypeChecker_Cfg.steps); + (uu___1438_10774.FStar_TypeChecker_Cfg.steps); FStar_TypeChecker_Cfg.tcenv = - (uu___1439_10774.FStar_TypeChecker_Cfg.tcenv); + (uu___1438_10774.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1439_10774.FStar_TypeChecker_Cfg.debug); + (uu___1438_10774.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = - (uu___1439_10774.FStar_TypeChecker_Cfg.delta_level); + (uu___1438_10774.FStar_TypeChecker_Cfg.delta_level); FStar_TypeChecker_Cfg.primitive_steps = - (uu___1439_10774.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1438_10774.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = true; FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1439_10774.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1438_10774.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___1439_10774.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___1438_10774.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___1439_10774.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1438_10774.FStar_TypeChecker_Cfg.reifying) + } in norm cfg1 env' ((Abs (env, bs1, env', lopt1, @@ -2916,18 +3126,19 @@ let rec (norm : if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak then - let t2 = closure_as_term cfg env t1 in + let t2 = closure_as_term cfg env t1 in rebuild cfg env stack t2 else (let uu____10790 = - FStar_Syntax_Subst.open_term' bs body in + FStar_Syntax_Subst.open_term' bs body in match uu____10790 with - | (bs1, body1, opening) -> + | (bs1,body1,opening) -> let env' = FStar_All.pipe_right bs1 (FStar_List.fold_left - (fun env1 -> - fun uu____10826 -> dummy :: env1) env) in + (fun env1 -> + fun uu____10826 -> dummy :: env1) env) + in let lopt1 = match lopt with | FStar_Pervasives_Native.Some rc -> @@ -2937,55 +3148,58 @@ let rec (norm : then FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (fun t2 -> + (fun t2 -> let uu____10870 = FStar_Syntax_Subst.subst opening - t2 in + t2 + in norm cfg env' [] uu____10870) else FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (FStar_Syntax_Subst.subst opening) in + (FStar_Syntax_Subst.subst opening) + in FStar_Pervasives_Native.Some - (let uu___1432_10878 = rc in + (let uu___1431_10878 = rc in { FStar_Syntax_Syntax.residual_effect = - (uu___1432_10878.FStar_Syntax_Syntax.residual_effect); + (uu___1431_10878.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = rct; FStar_Syntax_Syntax.residual_flags = - (uu___1432_10878.FStar_Syntax_Syntax.residual_flags) + (uu___1431_10878.FStar_Syntax_Syntax.residual_flags) }) - | uu____10879 -> lopt in + | uu____10879 -> lopt in (FStar_TypeChecker_Cfg.log cfg - (fun uu____10885 -> + (fun uu____10885 -> let uu____10886 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length bs1) in + (FStar_List.length bs1) + in FStar_Util.print1 "\tShifted %s dummies\n" uu____10886); - (let stack1 = (Cfg cfg) :: stack in + (let stack1 = (Cfg cfg) :: stack in let cfg1 = - let uu___1439_10901 = cfg in + let uu___1438_10901 = cfg in { FStar_TypeChecker_Cfg.steps = - (uu___1439_10901.FStar_TypeChecker_Cfg.steps); + (uu___1438_10901.FStar_TypeChecker_Cfg.steps); FStar_TypeChecker_Cfg.tcenv = - (uu___1439_10901.FStar_TypeChecker_Cfg.tcenv); + (uu___1438_10901.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1439_10901.FStar_TypeChecker_Cfg.debug); + (uu___1438_10901.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = - (uu___1439_10901.FStar_TypeChecker_Cfg.delta_level); + (uu___1438_10901.FStar_TypeChecker_Cfg.delta_level); FStar_TypeChecker_Cfg.primitive_steps = - (uu___1439_10901.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1438_10901.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = true; FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1439_10901.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1438_10901.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___1439_10901.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___1438_10901.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___1439_10901.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1438_10901.FStar_TypeChecker_Cfg.reifying) + } in norm cfg1 env' ((Abs (env, bs1, env', lopt1, @@ -2995,18 +3209,19 @@ let rec (norm : if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak then - let t2 = closure_as_term cfg env t1 in + let t2 = closure_as_term cfg env t1 in rebuild cfg env stack t2 else (let uu____10919 = - FStar_Syntax_Subst.open_term' bs body in + FStar_Syntax_Subst.open_term' bs body in match uu____10919 with - | (bs1, body1, opening) -> + | (bs1,body1,opening) -> let env' = FStar_All.pipe_right bs1 (FStar_List.fold_left - (fun env1 -> - fun uu____10955 -> dummy :: env1) env) in + (fun env1 -> + fun uu____10955 -> dummy :: env1) env) + in let lopt1 = match lopt with | FStar_Pervasives_Native.Some rc -> @@ -3016,55 +3231,58 @@ let rec (norm : then FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (fun t2 -> + (fun t2 -> let uu____10999 = FStar_Syntax_Subst.subst opening - t2 in + t2 + in norm cfg env' [] uu____10999) else FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (FStar_Syntax_Subst.subst opening) in + (FStar_Syntax_Subst.subst opening) + in FStar_Pervasives_Native.Some - (let uu___1432_11007 = rc in + (let uu___1431_11007 = rc in { FStar_Syntax_Syntax.residual_effect = - (uu___1432_11007.FStar_Syntax_Syntax.residual_effect); + (uu___1431_11007.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = rct; FStar_Syntax_Syntax.residual_flags = - (uu___1432_11007.FStar_Syntax_Syntax.residual_flags) + (uu___1431_11007.FStar_Syntax_Syntax.residual_flags) }) - | uu____11008 -> lopt in + | uu____11008 -> lopt in (FStar_TypeChecker_Cfg.log cfg - (fun uu____11014 -> + (fun uu____11014 -> let uu____11015 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length bs1) in + (FStar_List.length bs1) + in FStar_Util.print1 "\tShifted %s dummies\n" uu____11015); - (let stack1 = (Cfg cfg) :: stack in + (let stack1 = (Cfg cfg) :: stack in let cfg1 = - let uu___1439_11030 = cfg in + let uu___1438_11030 = cfg in { FStar_TypeChecker_Cfg.steps = - (uu___1439_11030.FStar_TypeChecker_Cfg.steps); + (uu___1438_11030.FStar_TypeChecker_Cfg.steps); FStar_TypeChecker_Cfg.tcenv = - (uu___1439_11030.FStar_TypeChecker_Cfg.tcenv); + (uu___1438_11030.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1439_11030.FStar_TypeChecker_Cfg.debug); + (uu___1438_11030.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = - (uu___1439_11030.FStar_TypeChecker_Cfg.delta_level); + (uu___1438_11030.FStar_TypeChecker_Cfg.delta_level); FStar_TypeChecker_Cfg.primitive_steps = - (uu___1439_11030.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1438_11030.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = true; FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1439_11030.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1438_11030.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___1439_11030.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___1438_11030.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___1439_11030.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1438_11030.FStar_TypeChecker_Cfg.reifying) + } in norm cfg1 env' ((Abs (env, bs1, env', lopt1, @@ -3074,18 +3292,19 @@ let rec (norm : if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak then - let t2 = closure_as_term cfg env t1 in + let t2 = closure_as_term cfg env t1 in rebuild cfg env stack t2 else (let uu____11050 = - FStar_Syntax_Subst.open_term' bs body in + FStar_Syntax_Subst.open_term' bs body in match uu____11050 with - | (bs1, body1, opening) -> + | (bs1,body1,opening) -> let env' = FStar_All.pipe_right bs1 (FStar_List.fold_left - (fun env1 -> - fun uu____11086 -> dummy :: env1) env) in + (fun env1 -> + fun uu____11086 -> dummy :: env1) env) + in let lopt1 = match lopt with | FStar_Pervasives_Native.Some rc -> @@ -3095,55 +3314,58 @@ let rec (norm : then FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (fun t2 -> + (fun t2 -> let uu____11130 = FStar_Syntax_Subst.subst opening - t2 in + t2 + in norm cfg env' [] uu____11130) else FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (FStar_Syntax_Subst.subst opening) in + (FStar_Syntax_Subst.subst opening) + in FStar_Pervasives_Native.Some - (let uu___1432_11138 = rc in + (let uu___1431_11138 = rc in { FStar_Syntax_Syntax.residual_effect = - (uu___1432_11138.FStar_Syntax_Syntax.residual_effect); + (uu___1431_11138.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = rct; FStar_Syntax_Syntax.residual_flags = - (uu___1432_11138.FStar_Syntax_Syntax.residual_flags) + (uu___1431_11138.FStar_Syntax_Syntax.residual_flags) }) - | uu____11139 -> lopt in + | uu____11139 -> lopt in (FStar_TypeChecker_Cfg.log cfg - (fun uu____11145 -> + (fun uu____11145 -> let uu____11146 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length bs1) in + (FStar_List.length bs1) + in FStar_Util.print1 "\tShifted %s dummies\n" uu____11146); - (let stack1 = (Cfg cfg) :: stack in + (let stack1 = (Cfg cfg) :: stack in let cfg1 = - let uu___1439_11161 = cfg in + let uu___1438_11161 = cfg in { FStar_TypeChecker_Cfg.steps = - (uu___1439_11161.FStar_TypeChecker_Cfg.steps); + (uu___1438_11161.FStar_TypeChecker_Cfg.steps); FStar_TypeChecker_Cfg.tcenv = - (uu___1439_11161.FStar_TypeChecker_Cfg.tcenv); + (uu___1438_11161.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1439_11161.FStar_TypeChecker_Cfg.debug); + (uu___1438_11161.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = - (uu___1439_11161.FStar_TypeChecker_Cfg.delta_level); + (uu___1438_11161.FStar_TypeChecker_Cfg.delta_level); FStar_TypeChecker_Cfg.primitive_steps = - (uu___1439_11161.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1438_11161.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = true; FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1439_11161.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1438_11161.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___1439_11161.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___1438_11161.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___1439_11161.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1438_11161.FStar_TypeChecker_Cfg.reifying) + } in norm cfg1 env' ((Abs (env, bs1, env', lopt1, @@ -3153,18 +3375,19 @@ let rec (norm : if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak then - let t2 = closure_as_term cfg env t1 in + let t2 = closure_as_term cfg env t1 in rebuild cfg env stack t2 else (let uu____11181 = - FStar_Syntax_Subst.open_term' bs body in + FStar_Syntax_Subst.open_term' bs body in match uu____11181 with - | (bs1, body1, opening) -> + | (bs1,body1,opening) -> let env' = FStar_All.pipe_right bs1 (FStar_List.fold_left - (fun env1 -> - fun uu____11217 -> dummy :: env1) env) in + (fun env1 -> + fun uu____11217 -> dummy :: env1) env) + in let lopt1 = match lopt with | FStar_Pervasives_Native.Some rc -> @@ -3174,55 +3397,58 @@ let rec (norm : then FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (fun t2 -> + (fun t2 -> let uu____11261 = FStar_Syntax_Subst.subst opening - t2 in + t2 + in norm cfg env' [] uu____11261) else FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (FStar_Syntax_Subst.subst opening) in + (FStar_Syntax_Subst.subst opening) + in FStar_Pervasives_Native.Some - (let uu___1432_11269 = rc in + (let uu___1431_11269 = rc in { FStar_Syntax_Syntax.residual_effect = - (uu___1432_11269.FStar_Syntax_Syntax.residual_effect); + (uu___1431_11269.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = rct; FStar_Syntax_Syntax.residual_flags = - (uu___1432_11269.FStar_Syntax_Syntax.residual_flags) + (uu___1431_11269.FStar_Syntax_Syntax.residual_flags) }) - | uu____11270 -> lopt in + | uu____11270 -> lopt in (FStar_TypeChecker_Cfg.log cfg - (fun uu____11276 -> + (fun uu____11276 -> let uu____11277 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length bs1) in + (FStar_List.length bs1) + in FStar_Util.print1 "\tShifted %s dummies\n" uu____11277); - (let stack1 = (Cfg cfg) :: stack in + (let stack1 = (Cfg cfg) :: stack in let cfg1 = - let uu___1439_11292 = cfg in + let uu___1438_11292 = cfg in { FStar_TypeChecker_Cfg.steps = - (uu___1439_11292.FStar_TypeChecker_Cfg.steps); + (uu___1438_11292.FStar_TypeChecker_Cfg.steps); FStar_TypeChecker_Cfg.tcenv = - (uu___1439_11292.FStar_TypeChecker_Cfg.tcenv); + (uu___1438_11292.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1439_11292.FStar_TypeChecker_Cfg.debug); + (uu___1438_11292.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = - (uu___1439_11292.FStar_TypeChecker_Cfg.delta_level); + (uu___1438_11292.FStar_TypeChecker_Cfg.delta_level); FStar_TypeChecker_Cfg.primitive_steps = - (uu___1439_11292.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1438_11292.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = true; FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1439_11292.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1438_11292.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___1439_11292.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___1438_11292.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___1439_11292.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1438_11292.FStar_TypeChecker_Cfg.reifying) + } in norm cfg1 env' ((Abs (env, bs1, env', lopt1, @@ -3232,18 +3458,19 @@ let rec (norm : if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak then - let t2 = closure_as_term cfg env t1 in + let t2 = closure_as_term cfg env t1 in rebuild cfg env stack t2 else (let uu____11316 = - FStar_Syntax_Subst.open_term' bs body in + FStar_Syntax_Subst.open_term' bs body in match uu____11316 with - | (bs1, body1, opening) -> + | (bs1,body1,opening) -> let env' = FStar_All.pipe_right bs1 (FStar_List.fold_left - (fun env1 -> - fun uu____11352 -> dummy :: env1) env) in + (fun env1 -> + fun uu____11352 -> dummy :: env1) env) + in let lopt1 = match lopt with | FStar_Pervasives_Native.Some rc -> @@ -3253,55 +3480,58 @@ let rec (norm : then FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (fun t2 -> + (fun t2 -> let uu____11396 = FStar_Syntax_Subst.subst opening - t2 in + t2 + in norm cfg env' [] uu____11396) else FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (FStar_Syntax_Subst.subst opening) in + (FStar_Syntax_Subst.subst opening) + in FStar_Pervasives_Native.Some - (let uu___1432_11404 = rc in + (let uu___1431_11404 = rc in { FStar_Syntax_Syntax.residual_effect = - (uu___1432_11404.FStar_Syntax_Syntax.residual_effect); + (uu___1431_11404.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = rct; FStar_Syntax_Syntax.residual_flags = - (uu___1432_11404.FStar_Syntax_Syntax.residual_flags) + (uu___1431_11404.FStar_Syntax_Syntax.residual_flags) }) - | uu____11405 -> lopt in + | uu____11405 -> lopt in (FStar_TypeChecker_Cfg.log cfg - (fun uu____11411 -> + (fun uu____11411 -> let uu____11412 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length bs1) in + (FStar_List.length bs1) + in FStar_Util.print1 "\tShifted %s dummies\n" uu____11412); - (let stack1 = (Cfg cfg) :: stack in + (let stack1 = (Cfg cfg) :: stack in let cfg1 = - let uu___1439_11427 = cfg in + let uu___1438_11427 = cfg in { FStar_TypeChecker_Cfg.steps = - (uu___1439_11427.FStar_TypeChecker_Cfg.steps); + (uu___1438_11427.FStar_TypeChecker_Cfg.steps); FStar_TypeChecker_Cfg.tcenv = - (uu___1439_11427.FStar_TypeChecker_Cfg.tcenv); + (uu___1438_11427.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1439_11427.FStar_TypeChecker_Cfg.debug); + (uu___1438_11427.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = - (uu___1439_11427.FStar_TypeChecker_Cfg.delta_level); + (uu___1438_11427.FStar_TypeChecker_Cfg.delta_level); FStar_TypeChecker_Cfg.primitive_steps = - (uu___1439_11427.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1438_11427.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = true; FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1439_11427.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1438_11427.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___1439_11427.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___1438_11427.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___1439_11427.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1438_11427.FStar_TypeChecker_Cfg.reifying) + } in norm cfg1 env' ((Abs (env, bs1, env', lopt1, @@ -3311,18 +3541,19 @@ let rec (norm : if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak then - let t2 = closure_as_term cfg env t1 in + let t2 = closure_as_term cfg env t1 in rebuild cfg env stack t2 else (let uu____11435 = - FStar_Syntax_Subst.open_term' bs body in + FStar_Syntax_Subst.open_term' bs body in match uu____11435 with - | (bs1, body1, opening) -> + | (bs1,body1,opening) -> let env' = FStar_All.pipe_right bs1 (FStar_List.fold_left - (fun env1 -> - fun uu____11471 -> dummy :: env1) env) in + (fun env1 -> + fun uu____11471 -> dummy :: env1) env) + in let lopt1 = match lopt with | FStar_Pervasives_Native.Some rc -> @@ -3332,168 +3563,180 @@ let rec (norm : then FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (fun t2 -> + (fun t2 -> let uu____11515 = FStar_Syntax_Subst.subst opening - t2 in + t2 + in norm cfg env' [] uu____11515) else FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (FStar_Syntax_Subst.subst opening) in + (FStar_Syntax_Subst.subst opening) + in FStar_Pervasives_Native.Some - (let uu___1432_11523 = rc in + (let uu___1431_11523 = rc in { FStar_Syntax_Syntax.residual_effect = - (uu___1432_11523.FStar_Syntax_Syntax.residual_effect); + (uu___1431_11523.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = rct; FStar_Syntax_Syntax.residual_flags = - (uu___1432_11523.FStar_Syntax_Syntax.residual_flags) + (uu___1431_11523.FStar_Syntax_Syntax.residual_flags) }) - | uu____11524 -> lopt in + | uu____11524 -> lopt in (FStar_TypeChecker_Cfg.log cfg - (fun uu____11530 -> + (fun uu____11530 -> let uu____11531 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length bs1) in + (FStar_List.length bs1) + in FStar_Util.print1 "\tShifted %s dummies\n" uu____11531); - (let stack1 = (Cfg cfg) :: stack in + (let stack1 = (Cfg cfg) :: stack in let cfg1 = - let uu___1439_11546 = cfg in + let uu___1438_11546 = cfg in { FStar_TypeChecker_Cfg.steps = - (uu___1439_11546.FStar_TypeChecker_Cfg.steps); + (uu___1438_11546.FStar_TypeChecker_Cfg.steps); FStar_TypeChecker_Cfg.tcenv = - (uu___1439_11546.FStar_TypeChecker_Cfg.tcenv); + (uu___1438_11546.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1439_11546.FStar_TypeChecker_Cfg.debug); + (uu___1438_11546.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = - (uu___1439_11546.FStar_TypeChecker_Cfg.delta_level); + (uu___1438_11546.FStar_TypeChecker_Cfg.delta_level); FStar_TypeChecker_Cfg.primitive_steps = - (uu___1439_11546.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1438_11546.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = true; FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1439_11546.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1438_11546.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___1439_11546.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___1438_11546.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___1439_11546.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1438_11546.FStar_TypeChecker_Cfg.reifying) + } in norm cfg1 env' ((Abs (env, bs1, env', lopt1, (t1.FStar_Syntax_Syntax.pos))) :: stack1) body1)))) - | FStar_Syntax_Syntax.Tm_app (head1, args) -> + | FStar_Syntax_Syntax.Tm_app (head1,args) -> let stack1 = FStar_All.pipe_right stack (FStar_List.fold_right - (fun uu____11590 -> - fun stack1 -> + (fun uu____11590 -> + fun stack1 -> match uu____11590 with - | (a, aq) -> + | (a,aq) -> let uu____11602 = let uu____11603 = let uu____11610 = let uu____11611 = let uu____11643 = FStar_Util.mk_ref - FStar_Pervasives_Native.None in - (env, a, uu____11643, false) in - Clos uu____11611 in + FStar_Pervasives_Native.None + in + (env, a, uu____11643, false) in + Clos uu____11611 in (uu____11610, aq, - (t1.FStar_Syntax_Syntax.pos)) in - Arg uu____11603 in - uu____11602 :: stack1) args) in + (t1.FStar_Syntax_Syntax.pos)) + in + Arg uu____11603 in + uu____11602 :: stack1) args) + in (FStar_TypeChecker_Cfg.log cfg - (fun uu____11711 -> + (fun uu____11711 -> let uu____11712 = FStar_All.pipe_left FStar_Util.string_of_int - (FStar_List.length args) in + (FStar_List.length args) + in FStar_Util.print1 "\tPushed %s arguments\n" uu____11712); norm cfg env stack1 head1) - | FStar_Syntax_Syntax.Tm_refine (x, uu____11726) when + | FStar_Syntax_Syntax.Tm_refine (x,uu____11726) when (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.for_extraction -> norm cfg env stack x.FStar_Syntax_Syntax.sort - | FStar_Syntax_Syntax.Tm_refine (x, f) -> + | FStar_Syntax_Syntax.Tm_refine (x,f) -> if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak then (match (env, stack) with - | ([], []) -> - let t_x = norm cfg env [] x.FStar_Syntax_Syntax.sort in + | ([],[]) -> + let t_x = norm cfg env [] x.FStar_Syntax_Syntax.sort + in let t2 = mk (FStar_Syntax_Syntax.Tm_refine - ((let uu___1466_11771 = x in + ((let uu___1465_11771 = x in { FStar_Syntax_Syntax.ppname = - (uu___1466_11771.FStar_Syntax_Syntax.ppname); + (uu___1465_11771.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1466_11771.FStar_Syntax_Syntax.index); + (uu___1465_11771.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t_x - }), f)) t1.FStar_Syntax_Syntax.pos in + }), f)) t1.FStar_Syntax_Syntax.pos + in rebuild cfg env stack t2 | uu____11772 -> - let uu____11787 = closure_as_term cfg env t1 in + let uu____11787 = closure_as_term cfg env t1 in rebuild cfg env stack uu____11787) else - (let t_x = norm cfg env [] x.FStar_Syntax_Syntax.sort in + (let t_x = norm cfg env [] x.FStar_Syntax_Syntax.sort in let uu____11791 = FStar_Syntax_Subst.open_term - [(x, FStar_Pervasives_Native.None)] f in + [(x, FStar_Pervasives_Native.None)] f + in match uu____11791 with - | (closing, f1) -> - let f2 = norm cfg (dummy :: env) [] f1 in + | (closing,f1) -> + let f2 = norm cfg (dummy :: env) [] f1 in let t2 = let uu____11822 = let uu____11823 = let uu____11830 = - FStar_Syntax_Subst.close closing f2 in - ((let uu___1475_11836 = x in + FStar_Syntax_Subst.close closing f2 in + ((let uu___1474_11836 = x in { FStar_Syntax_Syntax.ppname = - (uu___1475_11836.FStar_Syntax_Syntax.ppname); + (uu___1474_11836.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1475_11836.FStar_Syntax_Syntax.index); + (uu___1474_11836.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t_x - }), uu____11830) in - FStar_Syntax_Syntax.Tm_refine uu____11823 in - mk uu____11822 t1.FStar_Syntax_Syntax.pos in + }), uu____11830) + in + FStar_Syntax_Syntax.Tm_refine uu____11823 in + mk uu____11822 t1.FStar_Syntax_Syntax.pos in rebuild cfg env stack t2) - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak then - let uu____11860 = closure_as_term cfg env t1 in + let uu____11860 = closure_as_term cfg env t1 in rebuild cfg env stack uu____11860 else - (let uu____11863 = FStar_Syntax_Subst.open_comp bs c in + (let uu____11863 = FStar_Syntax_Subst.open_comp bs c in match uu____11863 with - | (bs1, c1) -> + | (bs1,c1) -> let c2 = let uu____11871 = FStar_All.pipe_right bs1 (FStar_List.fold_left - (fun env1 -> fun uu____11897 -> dummy :: env1) - env) in - norm_comp cfg uu____11871 c1 in + (fun env1 -> + fun uu____11897 -> dummy :: env1) env) + in + norm_comp cfg uu____11871 c1 in let t2 = - let uu____11921 = norm_binders cfg env bs1 in - FStar_Syntax_Util.arrow uu____11921 c2 in + let uu____11921 = norm_binders cfg env bs1 in + FStar_Syntax_Util.arrow uu____11921 c2 in rebuild cfg env stack t2) - | FStar_Syntax_Syntax.Tm_ascribed (t11, (tc, tacopt), l) when + | FStar_Syntax_Syntax.Tm_ascribed (t11,(tc,tacopt),l) when (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.unascribe -> norm cfg env stack t11 - | FStar_Syntax_Syntax.Tm_ascribed (t11, (tc, tacopt), l) -> + | FStar_Syntax_Syntax.Tm_ascribed (t11,(tc,tacopt),l) -> (match stack with | (Match uu____12034)::uu____12035 when (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.beta -> (FStar_TypeChecker_Cfg.log cfg - (fun uu____12048 -> + (fun uu____12048 -> FStar_Util.print_string "+++ Dropping ascription \n"); norm cfg env stack t11) @@ -3501,24 +3744,22 @@ let rec (norm : (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.beta -> (FStar_TypeChecker_Cfg.log cfg - (fun uu____12062 -> + (fun uu____12062 -> FStar_Util.print_string "+++ Dropping ascription \n"); norm cfg env stack t11) | (App - (uu____12064, - { - FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reify); - FStar_Syntax_Syntax.pos = uu____12065; - FStar_Syntax_Syntax.vars = uu____12066;_}, - uu____12067, uu____12068))::uu____12069 + (uu____12064,{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.Tm_constant + (FStar_Const.Const_reify ); + FStar_Syntax_Syntax.pos = uu____12065; + FStar_Syntax_Syntax.vars = uu____12066;_},uu____12067,uu____12068))::uu____12069 when (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.beta -> (FStar_TypeChecker_Cfg.log cfg - (fun uu____12076 -> + (fun uu____12076 -> FStar_Util.print_string "+++ Dropping ascription \n"); norm cfg env stack t11) @@ -3526,54 +3767,57 @@ let rec (norm : (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.beta -> (FStar_TypeChecker_Cfg.log cfg - (fun uu____12090 -> + (fun uu____12090 -> FStar_Util.print_string "+++ Dropping ascription \n"); norm cfg env stack t11) | uu____12092 -> (FStar_TypeChecker_Cfg.log cfg - (fun uu____12095 -> + (fun uu____12095 -> FStar_Util.print_string "+++ Keeping ascription \n"); - (let t12 = norm cfg env [] t11 in + (let t12 = norm cfg env [] t11 in FStar_TypeChecker_Cfg.log cfg - (fun uu____12100 -> + (fun uu____12100 -> FStar_Util.print_string "+++ Normalizing ascription \n"); (let tc1 = match tc with | FStar_Util.Inl t2 -> - let uu____12126 = norm cfg env [] t2 in + let uu____12126 = norm cfg env [] t2 in FStar_Util.Inl uu____12126 | FStar_Util.Inr c -> - let uu____12140 = norm_comp cfg env c in - FStar_Util.Inr uu____12140 in + let uu____12140 = norm_comp cfg env c in + FStar_Util.Inr uu____12140 + in let tacopt1 = - FStar_Util.map_opt tacopt (norm cfg env []) in + FStar_Util.map_opt tacopt (norm cfg env []) in match stack with | (Cfg cfg1)::stack1 -> let t2 = let uu____12163 = let uu____12164 = let uu____12191 = - FStar_Syntax_Util.unascribe t12 in - (uu____12191, (tc1, tacopt1), l) in - FStar_Syntax_Syntax.Tm_ascribed uu____12164 in - mk uu____12163 t1.FStar_Syntax_Syntax.pos in + FStar_Syntax_Util.unascribe t12 in + (uu____12191, (tc1, tacopt1), l) in + FStar_Syntax_Syntax.Tm_ascribed uu____12164 + in + mk uu____12163 t1.FStar_Syntax_Syntax.pos in norm cfg1 env stack1 t2 | uu____12226 -> let uu____12227 = let uu____12228 = let uu____12229 = let uu____12256 = - FStar_Syntax_Util.unascribe t12 in - (uu____12256, (tc1, tacopt1), l) in - FStar_Syntax_Syntax.Tm_ascribed uu____12229 in - mk uu____12228 t1.FStar_Syntax_Syntax.pos in + FStar_Syntax_Util.unascribe t12 in + (uu____12256, (tc1, tacopt1), l) in + FStar_Syntax_Syntax.Tm_ascribed uu____12229 + in + mk uu____12228 t1.FStar_Syntax_Syntax.pos in rebuild cfg env stack uu____12227)))) - | FStar_Syntax_Syntax.Tm_match (head1, branches) -> + | FStar_Syntax_Syntax.Tm_match (head1,branches) -> let stack1 = (Match (env, branches, cfg, (t1.FStar_Syntax_Syntax.pos))) - :: stack in + :: stack in if ((cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.iota && @@ -3583,163 +3827,172 @@ let rec (norm : (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak) then let cfg' = - let uu___1554_12334 = cfg in + let uu___1553_12334 = cfg in { FStar_TypeChecker_Cfg.steps = - (let uu___1556_12337 = cfg.FStar_TypeChecker_Cfg.steps in + (let uu___1555_12337 = cfg.FStar_TypeChecker_Cfg.steps + in { FStar_TypeChecker_Cfg.beta = - (uu___1556_12337.FStar_TypeChecker_Cfg.beta); + (uu___1555_12337.FStar_TypeChecker_Cfg.beta); FStar_TypeChecker_Cfg.iota = - (uu___1556_12337.FStar_TypeChecker_Cfg.iota); + (uu___1555_12337.FStar_TypeChecker_Cfg.iota); FStar_TypeChecker_Cfg.zeta = - (uu___1556_12337.FStar_TypeChecker_Cfg.zeta); + (uu___1555_12337.FStar_TypeChecker_Cfg.zeta); FStar_TypeChecker_Cfg.weak = true; FStar_TypeChecker_Cfg.hnf = - (uu___1556_12337.FStar_TypeChecker_Cfg.hnf); + (uu___1555_12337.FStar_TypeChecker_Cfg.hnf); FStar_TypeChecker_Cfg.primops = - (uu___1556_12337.FStar_TypeChecker_Cfg.primops); + (uu___1555_12337.FStar_TypeChecker_Cfg.primops); FStar_TypeChecker_Cfg.do_not_unfold_pure_lets = - (uu___1556_12337.FStar_TypeChecker_Cfg.do_not_unfold_pure_lets); + (uu___1555_12337.FStar_TypeChecker_Cfg.do_not_unfold_pure_lets); FStar_TypeChecker_Cfg.unfold_until = - (uu___1556_12337.FStar_TypeChecker_Cfg.unfold_until); + (uu___1555_12337.FStar_TypeChecker_Cfg.unfold_until); FStar_TypeChecker_Cfg.unfold_only = - (uu___1556_12337.FStar_TypeChecker_Cfg.unfold_only); + (uu___1555_12337.FStar_TypeChecker_Cfg.unfold_only); FStar_TypeChecker_Cfg.unfold_fully = - (uu___1556_12337.FStar_TypeChecker_Cfg.unfold_fully); + (uu___1555_12337.FStar_TypeChecker_Cfg.unfold_fully); FStar_TypeChecker_Cfg.unfold_attr = - (uu___1556_12337.FStar_TypeChecker_Cfg.unfold_attr); + (uu___1555_12337.FStar_TypeChecker_Cfg.unfold_attr); FStar_TypeChecker_Cfg.unfold_tac = - (uu___1556_12337.FStar_TypeChecker_Cfg.unfold_tac); + (uu___1555_12337.FStar_TypeChecker_Cfg.unfold_tac); FStar_TypeChecker_Cfg.pure_subterms_within_computations = - (uu___1556_12337.FStar_TypeChecker_Cfg.pure_subterms_within_computations); + (uu___1555_12337.FStar_TypeChecker_Cfg.pure_subterms_within_computations); FStar_TypeChecker_Cfg.simplify = - (uu___1556_12337.FStar_TypeChecker_Cfg.simplify); + (uu___1555_12337.FStar_TypeChecker_Cfg.simplify); FStar_TypeChecker_Cfg.erase_universes = - (uu___1556_12337.FStar_TypeChecker_Cfg.erase_universes); + (uu___1555_12337.FStar_TypeChecker_Cfg.erase_universes); FStar_TypeChecker_Cfg.allow_unbound_universes = - (uu___1556_12337.FStar_TypeChecker_Cfg.allow_unbound_universes); + (uu___1555_12337.FStar_TypeChecker_Cfg.allow_unbound_universes); FStar_TypeChecker_Cfg.reify_ = - (uu___1556_12337.FStar_TypeChecker_Cfg.reify_); + (uu___1555_12337.FStar_TypeChecker_Cfg.reify_); FStar_TypeChecker_Cfg.compress_uvars = - (uu___1556_12337.FStar_TypeChecker_Cfg.compress_uvars); + (uu___1555_12337.FStar_TypeChecker_Cfg.compress_uvars); FStar_TypeChecker_Cfg.no_full_norm = - (uu___1556_12337.FStar_TypeChecker_Cfg.no_full_norm); + (uu___1555_12337.FStar_TypeChecker_Cfg.no_full_norm); FStar_TypeChecker_Cfg.check_no_uvars = - (uu___1556_12337.FStar_TypeChecker_Cfg.check_no_uvars); + (uu___1555_12337.FStar_TypeChecker_Cfg.check_no_uvars); FStar_TypeChecker_Cfg.unmeta = - (uu___1556_12337.FStar_TypeChecker_Cfg.unmeta); + (uu___1555_12337.FStar_TypeChecker_Cfg.unmeta); FStar_TypeChecker_Cfg.unascribe = - (uu___1556_12337.FStar_TypeChecker_Cfg.unascribe); + (uu___1555_12337.FStar_TypeChecker_Cfg.unascribe); FStar_TypeChecker_Cfg.in_full_norm_request = - (uu___1556_12337.FStar_TypeChecker_Cfg.in_full_norm_request); + (uu___1555_12337.FStar_TypeChecker_Cfg.in_full_norm_request); FStar_TypeChecker_Cfg.weakly_reduce_scrutinee = - (uu___1556_12337.FStar_TypeChecker_Cfg.weakly_reduce_scrutinee); + (uu___1555_12337.FStar_TypeChecker_Cfg.weakly_reduce_scrutinee); FStar_TypeChecker_Cfg.nbe_step = - (uu___1556_12337.FStar_TypeChecker_Cfg.nbe_step); + (uu___1555_12337.FStar_TypeChecker_Cfg.nbe_step); FStar_TypeChecker_Cfg.for_extraction = - (uu___1556_12337.FStar_TypeChecker_Cfg.for_extraction) + (uu___1555_12337.FStar_TypeChecker_Cfg.for_extraction) }); FStar_TypeChecker_Cfg.tcenv = - (uu___1554_12334.FStar_TypeChecker_Cfg.tcenv); + (uu___1553_12334.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1554_12334.FStar_TypeChecker_Cfg.debug); + (uu___1553_12334.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = - (uu___1554_12334.FStar_TypeChecker_Cfg.delta_level); + (uu___1553_12334.FStar_TypeChecker_Cfg.delta_level); FStar_TypeChecker_Cfg.primitive_steps = - (uu___1554_12334.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1553_12334.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = - (uu___1554_12334.FStar_TypeChecker_Cfg.strong); + (uu___1553_12334.FStar_TypeChecker_Cfg.strong); FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1554_12334.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1553_12334.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___1554_12334.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___1553_12334.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___1554_12334.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1553_12334.FStar_TypeChecker_Cfg.reifying) + } in norm cfg' env ((Cfg cfg) :: stack1) head1 else norm cfg env stack1 head1 - | FStar_Syntax_Syntax.Tm_let ((b, lbs), lbody) when + | FStar_Syntax_Syntax.Tm_let ((b,lbs),lbody) when (FStar_Syntax_Syntax.is_top_level lbs) && (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.compress_uvars -> let lbs1 = FStar_All.pipe_right lbs (FStar_List.map - (fun lb -> + (fun lb -> let uu____12378 = FStar_Syntax_Subst.univ_var_opening - lb.FStar_Syntax_Syntax.lbunivs in + lb.FStar_Syntax_Syntax.lbunivs + in match uu____12378 with - | (openings, lbunivs) -> + | (openings,lbunivs) -> let cfg1 = - let uu___1569_12398 = cfg in + let uu___1568_12398 = cfg in let uu____12399 = FStar_TypeChecker_Env.push_univ_vars - cfg.FStar_TypeChecker_Cfg.tcenv lbunivs in + cfg.FStar_TypeChecker_Cfg.tcenv lbunivs + in { FStar_TypeChecker_Cfg.steps = - (uu___1569_12398.FStar_TypeChecker_Cfg.steps); + (uu___1568_12398.FStar_TypeChecker_Cfg.steps); FStar_TypeChecker_Cfg.tcenv = uu____12399; FStar_TypeChecker_Cfg.debug = - (uu___1569_12398.FStar_TypeChecker_Cfg.debug); + (uu___1568_12398.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = - (uu___1569_12398.FStar_TypeChecker_Cfg.delta_level); + (uu___1568_12398.FStar_TypeChecker_Cfg.delta_level); FStar_TypeChecker_Cfg.primitive_steps = - (uu___1569_12398.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1568_12398.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = - (uu___1569_12398.FStar_TypeChecker_Cfg.strong); + (uu___1568_12398.FStar_TypeChecker_Cfg.strong); FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1569_12398.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1568_12398.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___1569_12398.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___1568_12398.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___1569_12398.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1568_12398.FStar_TypeChecker_Cfg.reifying) + } in let norm1 t2 = let uu____12406 = let uu____12407 = - FStar_Syntax_Subst.subst openings t2 in - norm cfg1 env [] uu____12407 in + FStar_Syntax_Subst.subst openings t2 in + norm cfg1 env [] uu____12407 in FStar_Syntax_Subst.close_univ_vars lbunivs - uu____12406 in - let lbtyp = norm1 lb.FStar_Syntax_Syntax.lbtyp in - let lbdef = norm1 lb.FStar_Syntax_Syntax.lbdef in - let uu___1576_12410 = lb in + uu____12406 + in + let lbtyp = norm1 lb.FStar_Syntax_Syntax.lbtyp + in + let lbdef = norm1 lb.FStar_Syntax_Syntax.lbdef + in + let uu___1575_12410 = lb in { FStar_Syntax_Syntax.lbname = - (uu___1576_12410.FStar_Syntax_Syntax.lbname); + (uu___1575_12410.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = lbunivs; FStar_Syntax_Syntax.lbtyp = lbtyp; FStar_Syntax_Syntax.lbeff = - (uu___1576_12410.FStar_Syntax_Syntax.lbeff); + (uu___1575_12410.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = lbdef; FStar_Syntax_Syntax.lbattrs = - (uu___1576_12410.FStar_Syntax_Syntax.lbattrs); + (uu___1575_12410.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___1576_12410.FStar_Syntax_Syntax.lbpos) - })) in + (uu___1575_12410.FStar_Syntax_Syntax.lbpos) + })) + in let uu____12411 = mk (FStar_Syntax_Syntax.Tm_let ((b, lbs1), lbody)) - t1.FStar_Syntax_Syntax.pos in + t1.FStar_Syntax_Syntax.pos + in rebuild cfg env stack uu____12411 | FStar_Syntax_Syntax.Tm_let - ((uu____12424, - { FStar_Syntax_Syntax.lbname = FStar_Util.Inr uu____12425; - FStar_Syntax_Syntax.lbunivs = uu____12426; - FStar_Syntax_Syntax.lbtyp = uu____12427; - FStar_Syntax_Syntax.lbeff = uu____12428; - FStar_Syntax_Syntax.lbdef = uu____12429; - FStar_Syntax_Syntax.lbattrs = uu____12430; - FStar_Syntax_Syntax.lbpos = uu____12431;_}::uu____12432), - uu____12433) + ((uu____12424,{ + FStar_Syntax_Syntax.lbname = FStar_Util.Inr + uu____12425; + FStar_Syntax_Syntax.lbunivs = uu____12426; + FStar_Syntax_Syntax.lbtyp = uu____12427; + FStar_Syntax_Syntax.lbeff = uu____12428; + FStar_Syntax_Syntax.lbdef = uu____12429; + FStar_Syntax_Syntax.lbattrs = uu____12430; + FStar_Syntax_Syntax.lbpos = uu____12431;_}::uu____12432),uu____12433) -> rebuild cfg env stack t1 - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), body) -> + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),body) -> let n1 = FStar_TypeChecker_Env.norm_eff_name cfg.FStar_TypeChecker_Cfg.tcenv - lb.FStar_Syntax_Syntax.lbeff in + lb.FStar_Syntax_Syntax.lbeff + in let uu____12479 = (Prims.op_Negation (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.do_not_unfold_pure_lets) @@ -3758,26 +4011,28 @@ let rec (norm : || ((FStar_Syntax_Util.is_ghost_effect n1) && (Prims.op_Negation - (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.pure_subterms_within_computations))) in + (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.pure_subterms_within_computations))) + in if uu____12479 then let binder = let uu____12483 = - FStar_Util.left lb.FStar_Syntax_Syntax.lbname in - FStar_Syntax_Syntax.mk_binder uu____12483 in + FStar_Util.left lb.FStar_Syntax_Syntax.lbname in + FStar_Syntax_Syntax.mk_binder uu____12483 in let env1 = let uu____12493 = let uu____12500 = let uu____12501 = let uu____12533 = - FStar_Util.mk_ref FStar_Pervasives_Native.None in + FStar_Util.mk_ref FStar_Pervasives_Native.None in (env, (lb.FStar_Syntax_Syntax.lbdef), uu____12533, - false) in - Clos uu____12501 in - ((FStar_Pervasives_Native.Some binder), uu____12500) in - uu____12493 :: env in + false) + in + Clos uu____12501 in + ((FStar_Pervasives_Native.Some binder), uu____12500) in + uu____12493 :: env in (FStar_TypeChecker_Cfg.log cfg - (fun uu____12608 -> + (fun uu____12608 -> FStar_Util.print_string "+++ Reducing Tm_let\n"); norm cfg env1 stack body) else @@ -3785,9 +4040,9 @@ let rec (norm : (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak then (FStar_TypeChecker_Cfg.log cfg - (fun uu____12615 -> + (fun uu____12615 -> FStar_Util.print_string "+++ Not touching Tm_let\n"); - (let uu____12617 = closure_as_term cfg env t1 in + (let uu____12617 = closure_as_term cfg env t1 in rebuild cfg env stack uu____12617)) else (let uu____12620 = @@ -3795,89 +4050,94 @@ let rec (norm : let uu____12626 = let uu____12633 = FStar_All.pipe_right - lb.FStar_Syntax_Syntax.lbname FStar_Util.left in + lb.FStar_Syntax_Syntax.lbname FStar_Util.left + in FStar_All.pipe_right uu____12633 - FStar_Syntax_Syntax.mk_binder in - [uu____12626] in - FStar_Syntax_Subst.open_term uu____12625 body in + FStar_Syntax_Syntax.mk_binder + in + [uu____12626] in + FStar_Syntax_Subst.open_term uu____12625 body in match uu____12620 with - | (bs, body1) -> + | (bs,body1) -> (FStar_TypeChecker_Cfg.log cfg - (fun uu____12660 -> + (fun uu____12660 -> FStar_Util.print_string "+++ Normalizing Tm_let -- type"); (let ty = - norm cfg env [] lb.FStar_Syntax_Syntax.lbtyp in + norm cfg env [] lb.FStar_Syntax_Syntax.lbtyp in let lbname = let x = - let uu____12669 = FStar_List.hd bs in - FStar_Pervasives_Native.fst uu____12669 in + let uu____12669 = FStar_List.hd bs in + FStar_Pervasives_Native.fst uu____12669 in FStar_Util.Inl - (let uu___1618_12685 = x in + (let uu___1617_12685 = x in { FStar_Syntax_Syntax.ppname = - (uu___1618_12685.FStar_Syntax_Syntax.ppname); + (uu___1617_12685.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1618_12685.FStar_Syntax_Syntax.index); + (uu___1617_12685.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = ty - }) in + }) + in FStar_TypeChecker_Cfg.log cfg - (fun uu____12688 -> + (fun uu____12688 -> FStar_Util.print_string "+++ Normalizing Tm_let -- definiens\n"); (let lb1 = - let uu___1623_12691 = lb in + let uu___1622_12691 = lb in let uu____12692 = - norm cfg env [] lb.FStar_Syntax_Syntax.lbdef in + norm cfg env [] lb.FStar_Syntax_Syntax.lbdef + in { FStar_Syntax_Syntax.lbname = lbname; FStar_Syntax_Syntax.lbunivs = - (uu___1623_12691.FStar_Syntax_Syntax.lbunivs); + (uu___1622_12691.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = ty; FStar_Syntax_Syntax.lbeff = - (uu___1623_12691.FStar_Syntax_Syntax.lbeff); + (uu___1622_12691.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = uu____12692; FStar_Syntax_Syntax.lbattrs = - (uu___1623_12691.FStar_Syntax_Syntax.lbattrs); + (uu___1622_12691.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___1623_12691.FStar_Syntax_Syntax.lbpos) - } in + (uu___1622_12691.FStar_Syntax_Syntax.lbpos) + } in let env' = FStar_All.pipe_right bs (FStar_List.fold_left - (fun env1 -> - fun uu____12721 -> dummy :: env1) env) in - let stack1 = (Cfg cfg) :: stack in + (fun env1 -> + fun uu____12721 -> dummy :: env1) env) + in + let stack1 = (Cfg cfg) :: stack in let cfg1 = - let uu___1630_12746 = cfg in + let uu___1629_12746 = cfg in { FStar_TypeChecker_Cfg.steps = - (uu___1630_12746.FStar_TypeChecker_Cfg.steps); + (uu___1629_12746.FStar_TypeChecker_Cfg.steps); FStar_TypeChecker_Cfg.tcenv = - (uu___1630_12746.FStar_TypeChecker_Cfg.tcenv); + (uu___1629_12746.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1630_12746.FStar_TypeChecker_Cfg.debug); + (uu___1629_12746.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = - (uu___1630_12746.FStar_TypeChecker_Cfg.delta_level); + (uu___1629_12746.FStar_TypeChecker_Cfg.delta_level); FStar_TypeChecker_Cfg.primitive_steps = - (uu___1630_12746.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1629_12746.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = true; FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1630_12746.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1629_12746.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___1630_12746.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___1629_12746.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___1630_12746.FStar_TypeChecker_Cfg.reifying) - } in + (uu___1629_12746.FStar_TypeChecker_Cfg.reifying) + } in FStar_TypeChecker_Cfg.log cfg1 - (fun uu____12750 -> + (fun uu____12750 -> FStar_Util.print_string "+++ Normalizing Tm_let -- body\n"); norm cfg1 env' ((Let (env, bs, lb1, (t1.FStar_Syntax_Syntax.pos))) :: stack1) body1)))) - | FStar_Syntax_Syntax.Tm_let ((true, lbs), body) when + | FStar_Syntax_Syntax.Tm_let ((true ,lbs),body) when (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.compress_uvars || ((Prims.op_Negation @@ -3885,176 +4145,193 @@ let rec (norm : && (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.pure_subterms_within_computations) -> - let uu____12771 = FStar_Syntax_Subst.open_let_rec lbs body in + let uu____12771 = FStar_Syntax_Subst.open_let_rec lbs body in (match uu____12771 with - | (lbs1, body1) -> + | (lbs1,body1) -> let lbs2 = FStar_List.map - (fun lb -> + (fun lb -> let ty = - norm cfg env [] lb.FStar_Syntax_Syntax.lbtyp in + norm cfg env [] lb.FStar_Syntax_Syntax.lbtyp in let lbname = let uu____12807 = - let uu___1646_12808 = + let uu___1645_12808 = FStar_Util.left - lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbname + in { FStar_Syntax_Syntax.ppname = - (uu___1646_12808.FStar_Syntax_Syntax.ppname); + (uu___1645_12808.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1646_12808.FStar_Syntax_Syntax.index); + (uu___1645_12808.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = ty - } in - FStar_Util.Inl uu____12807 in + } in + FStar_Util.Inl uu____12807 in let uu____12809 = FStar_Syntax_Util.abs_formals - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in match uu____12809 with - | (xs, def_body, lopt) -> - let xs1 = norm_binders cfg env xs in + | (xs,def_body,lopt) -> + let xs1 = norm_binders cfg env xs in let env1 = let uu____12835 = - FStar_List.map (fun uu____12851 -> dummy) - lbs1 in + FStar_List.map (fun uu____12851 -> dummy) + lbs1 + in let uu____12852 = let uu____12861 = FStar_List.map - (fun uu____12883 -> dummy) xs1 in - FStar_List.append uu____12861 env in - FStar_List.append uu____12835 uu____12852 in - let def_body1 = norm cfg env1 [] def_body in + (fun uu____12883 -> dummy) xs1 + in + FStar_List.append uu____12861 env in + FStar_List.append uu____12835 uu____12852 + in + let def_body1 = norm cfg env1 [] def_body in let lopt1 = match lopt with | FStar_Pervasives_Native.Some rc -> let uu____12909 = - let uu___1660_12910 = rc in + let uu___1659_12910 = rc in let uu____12911 = FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (norm cfg env1 []) in + (norm cfg env1 []) + in { FStar_Syntax_Syntax.residual_effect = - (uu___1660_12910.FStar_Syntax_Syntax.residual_effect); + (uu___1659_12910.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = uu____12911; FStar_Syntax_Syntax.residual_flags = - (uu___1660_12910.FStar_Syntax_Syntax.residual_flags) - } in + (uu___1659_12910.FStar_Syntax_Syntax.residual_flags) + } in FStar_Pervasives_Native.Some uu____12909 - | uu____12920 -> lopt in + | uu____12920 -> lopt in let def = - FStar_Syntax_Util.abs xs1 def_body1 lopt1 in - let uu___1665_12926 = lb in + FStar_Syntax_Util.abs xs1 def_body1 lopt1 + in + let uu___1664_12926 = lb in { FStar_Syntax_Syntax.lbname = lbname; FStar_Syntax_Syntax.lbunivs = - (uu___1665_12926.FStar_Syntax_Syntax.lbunivs); + (uu___1664_12926.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = ty; FStar_Syntax_Syntax.lbeff = - (uu___1665_12926.FStar_Syntax_Syntax.lbeff); + (uu___1664_12926.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = def; FStar_Syntax_Syntax.lbattrs = - (uu___1665_12926.FStar_Syntax_Syntax.lbattrs); + (uu___1664_12926.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___1665_12926.FStar_Syntax_Syntax.lbpos) - }) lbs1 in + (uu___1664_12926.FStar_Syntax_Syntax.lbpos) + }) lbs1 + in let env' = let uu____12936 = - FStar_List.map (fun uu____12952 -> dummy) lbs2 in - FStar_List.append uu____12936 env in - let body2 = norm cfg env' [] body1 in + FStar_List.map (fun uu____12952 -> dummy) lbs2 in + FStar_List.append uu____12936 env in + let body2 = norm cfg env' [] body1 in let uu____12960 = - FStar_Syntax_Subst.close_let_rec lbs2 body2 in + FStar_Syntax_Subst.close_let_rec lbs2 body2 in (match uu____12960 with - | (lbs3, body3) -> + | (lbs3,body3) -> let t2 = - let uu___1674_12976 = t1 in + let uu___1673_12976 = t1 in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Tm_let ((true, lbs3), body3)); FStar_Syntax_Syntax.pos = - (uu___1674_12976.FStar_Syntax_Syntax.pos); + (uu___1673_12976.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___1674_12976.FStar_Syntax_Syntax.vars) - } in + (uu___1673_12976.FStar_Syntax_Syntax.vars) + } in rebuild cfg env stack t2)) - | FStar_Syntax_Syntax.Tm_let (lbs, body) when + | FStar_Syntax_Syntax.Tm_let (lbs,body) when Prims.op_Negation (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.zeta -> - let uu____13010 = closure_as_term cfg env t1 in + let uu____13010 = closure_as_term cfg env t1 in rebuild cfg env stack uu____13010 - | FStar_Syntax_Syntax.Tm_let (lbs, body) -> + | FStar_Syntax_Syntax.Tm_let (lbs,body) -> let uu____13031 = FStar_List.fold_right - (fun lb -> - fun uu____13109 -> + (fun lb -> + fun uu____13109 -> match uu____13109 with - | (rec_env, memos, i) -> + | (rec_env,memos,i) -> let bv = - let uu___1690_13234 = - FStar_Util.left lb.FStar_Syntax_Syntax.lbname in + let uu___1689_13234 = + FStar_Util.left lb.FStar_Syntax_Syntax.lbname + in { FStar_Syntax_Syntax.ppname = - (uu___1690_13234.FStar_Syntax_Syntax.ppname); + (uu___1689_13234.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = i; FStar_Syntax_Syntax.sort = - (uu___1690_13234.FStar_Syntax_Syntax.sort) - } in - let f_i = FStar_Syntax_Syntax.bv_to_tm bv in + (uu___1689_13234.FStar_Syntax_Syntax.sort) + } in + let f_i = FStar_Syntax_Syntax.bv_to_tm bv in let fix_f_i = mk (FStar_Syntax_Syntax.Tm_let (lbs, f_i)) - t1.FStar_Syntax_Syntax.pos in + t1.FStar_Syntax_Syntax.pos + in let memo = - FStar_Util.mk_ref FStar_Pervasives_Native.None in + FStar_Util.mk_ref FStar_Pervasives_Native.None + in let rec_env1 = (FStar_Pervasives_Native.None, (Clos (env, fix_f_i, memo, true))) - :: rec_env in + :: rec_env in (rec_env1, (memo :: memos), (i + (Prims.parse_int "1")))) (FStar_Pervasives_Native.snd lbs) - (env, [], (Prims.parse_int "0")) in + (env, [], (Prims.parse_int "0")) + in (match uu____13031 with - | (rec_env, memos, uu____13425) -> + | (rec_env,memos,uu____13425) -> let uu____13480 = FStar_List.map2 - (fun lb -> - fun memo -> + (fun lb -> + fun memo -> FStar_ST.op_Colon_Equals memo (FStar_Pervasives_Native.Some (rec_env, (lb.FStar_Syntax_Syntax.lbdef)))) - (FStar_Pervasives_Native.snd lbs) memos in + (FStar_Pervasives_Native.snd lbs) memos + in let body_env = FStar_List.fold_right - (fun lb -> - fun env1 -> + (fun lb -> + fun env1 -> let uu____13729 = let uu____13736 = let uu____13737 = let uu____13769 = FStar_Util.mk_ref - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (rec_env, (lb.FStar_Syntax_Syntax.lbdef), - uu____13769, false) in - Clos uu____13737 in - (FStar_Pervasives_Native.None, uu____13736) in + uu____13769, false) + in + Clos uu____13737 in + (FStar_Pervasives_Native.None, uu____13736) + in uu____13729 :: env1) - (FStar_Pervasives_Native.snd lbs) env in + (FStar_Pervasives_Native.snd lbs) env + in norm cfg body_env stack body) - | FStar_Syntax_Syntax.Tm_meta (head1, m) -> + | FStar_Syntax_Syntax.Tm_meta (head1,m) -> (FStar_TypeChecker_Cfg.log cfg - (fun uu____13854 -> + (fun uu____13854 -> let uu____13855 = - FStar_Syntax_Print.metadata_to_string m in + FStar_Syntax_Print.metadata_to_string m in FStar_Util.print1 ">> metadata = %s\n" uu____13855); (match m with - | FStar_Syntax_Syntax.Meta_monadic (m1, t2) -> + | FStar_Syntax_Syntax.Meta_monadic (m1,t2) -> reduce_impure_comp cfg env stack head1 (FStar_Util.Inl m1) t2 - | FStar_Syntax_Syntax.Meta_monadic_lift (m1, m', t2) -> + | FStar_Syntax_Syntax.Meta_monadic_lift (m1,m',t2) -> reduce_impure_comp cfg env stack head1 (FStar_Util.Inr (m1, m')) t2 | uu____13879 -> @@ -4066,15 +4343,17 @@ let rec (norm : | uu____13883::uu____13884 -> (match m with | FStar_Syntax_Syntax.Meta_labeled - (l, r, uu____13889) -> + (l,r,uu____13889) -> norm cfg env ((Meta (env, m, r)) :: stack) head1 - | FStar_Syntax_Syntax.Meta_pattern - (names1, args) -> - let args1 = norm_pattern_args cfg env args in + | FStar_Syntax_Syntax.Meta_pattern (names1,args) + -> + let args1 = norm_pattern_args cfg env args + in let names2 = FStar_All.pipe_right names1 - (FStar_List.map (norm cfg env [])) in + (FStar_List.map (norm cfg env [])) + in norm cfg env ((Meta (env, @@ -4084,30 +4363,32 @@ let rec (norm : stack) head1 | uu____13968 -> norm cfg env stack head1) | [] -> - let head2 = norm cfg env [] head1 in + let head2 = norm cfg env [] head1 in let m1 = match m with | FStar_Syntax_Syntax.Meta_pattern - (names1, args) -> + (names1,args) -> let names2 = FStar_All.pipe_right names1 - (FStar_List.map (norm cfg env [])) in + (FStar_List.map (norm cfg env [])) + in let uu____14016 = let uu____14037 = - norm_pattern_args cfg env args in - (names2, uu____14037) in + norm_pattern_args cfg env args in + (names2, uu____14037) in FStar_Syntax_Syntax.Meta_pattern uu____14016 - | uu____14066 -> m in + | uu____14066 -> m in let t2 = mk (FStar_Syntax_Syntax.Tm_meta (head2, m1)) - t1.FStar_Syntax_Syntax.pos in + t1.FStar_Syntax_Syntax.pos + in rebuild cfg env stack t2))) | FStar_Syntax_Syntax.Tm_delayed uu____14072 -> - let t2 = FStar_Syntax_Subst.compress t1 in + let t2 = FStar_Syntax_Subst.compress t1 in norm cfg env stack t2 | FStar_Syntax_Syntax.Tm_uvar uu____14096 -> - let t2 = FStar_Syntax_Subst.compress t1 in + let t2 = FStar_Syntax_Subst.compress t1 in (match t2.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_uvar uu____14110 -> if @@ -4116,17 +4397,20 @@ let rec (norm : let uu____14124 = let uu____14126 = FStar_Range.string_of_range - t2.FStar_Syntax_Syntax.pos in + t2.FStar_Syntax_Syntax.pos + in let uu____14128 = - FStar_Syntax_Print.term_to_string t2 in + FStar_Syntax_Print.term_to_string t2 in FStar_Util.format2 "(%s) CheckNoUvars: Unexpected unification variable remains: %s" - uu____14126 uu____14128 in + uu____14126 uu____14128 + in failwith uu____14124 else - (let uu____14133 = inline_closure_env cfg env [] t2 in + (let uu____14133 = inline_closure_env cfg env [] t2 in rebuild cfg env stack uu____14133) | uu____14134 -> norm cfg env stack t2)) + and (do_unfold_fv : FStar_TypeChecker_Cfg.cfg -> env -> @@ -4135,31 +4419,34 @@ and (do_unfold_fv : FStar_TypeChecker_Env.qninfo -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.term) = - fun cfg -> - fun env -> - fun stack -> - fun t0 -> - fun qninfo -> - fun f -> + fun cfg -> + fun env -> + fun stack -> + fun t0 -> + fun qninfo -> + fun f -> let uu____14143 = FStar_TypeChecker_Env.lookup_definition_qninfo cfg.FStar_TypeChecker_Cfg.delta_level (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - qninfo in + qninfo + in match uu____14143 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____14157 -> - let uu____14158 = FStar_Syntax_Print.fv_to_string f in + (fun uu____14157 -> + let uu____14158 = FStar_Syntax_Print.fv_to_string f + in FStar_Util.print1 " >> Tm_fvar case 2 for %s\n" uu____14158); rebuild cfg env stack t0) - | FStar_Pervasives_Native.Some (us, t) -> + | FStar_Pervasives_Native.Some (us,t) -> (FStar_TypeChecker_Cfg.log_unfolding cfg - (fun uu____14171 -> + (fun uu____14171 -> let uu____14172 = - FStar_Syntax_Print.term_to_string t0 in - let uu____14174 = FStar_Syntax_Print.term_to_string t in + FStar_Syntax_Print.term_to_string t0 in + let uu____14174 = FStar_Syntax_Print.term_to_string t + in FStar_Util.print2 " >> Unfolded %s to %s\n" uu____14172 uu____14174); (let t1 = @@ -4171,34 +4458,37 @@ and (do_unfold_fv : then t else FStar_Syntax_Subst.set_use_range - t0.FStar_Syntax_Syntax.pos t in - let n1 = FStar_List.length us in + t0.FStar_Syntax_Syntax.pos t + in + let n1 = FStar_List.length us in if n1 > (Prims.parse_int "0") then match stack with - | (UnivArgs (us', uu____14187))::stack1 -> + | (UnivArgs (us',uu____14187))::stack1 -> ((let uu____14196 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug cfg.FStar_TypeChecker_Cfg.tcenv) - (FStar_Options.Other "univ_norm") in + (FStar_Options.Other "univ_norm") + in if uu____14196 then FStar_List.iter - (fun x -> + (fun x -> let uu____14204 = - FStar_Syntax_Print.univ_to_string x in + FStar_Syntax_Print.univ_to_string x in FStar_Util.print1 "Univ (normalizer) %s\n" uu____14204) us' else ()); (let env1 = FStar_All.pipe_right us' (FStar_List.fold_left - (fun env1 -> - fun u -> + (fun env1 -> + fun u -> (FStar_Pervasives_Native.None, (Univ u)) - :: env1) env) in + :: env1) env) + in norm cfg env1 stack1 t1)) | uu____14240 when (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.erase_universes @@ -4209,30 +4499,33 @@ and (do_unfold_fv : let uu____14246 = let uu____14248 = FStar_Syntax_Print.lid_to_string - (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in FStar_Util.format1 "Impossible: missing universe instantiation on %s" - uu____14248 in + uu____14248 + in failwith uu____14246 else norm cfg env stack t1)) + and (reduce_impure_comp : FStar_TypeChecker_Cfg.cfg -> env -> stack -> FStar_Syntax_Syntax.term -> - (FStar_Syntax_Syntax.monad_name, - (FStar_Syntax_Syntax.monad_name * FStar_Syntax_Syntax.monad_name)) + (FStar_Syntax_Syntax.monad_name,(FStar_Syntax_Syntax.monad_name * + FStar_Syntax_Syntax.monad_name)) FStar_Util.either -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term) = - fun cfg -> - fun env -> - fun stack -> - fun head1 -> - fun m -> - fun t -> - let t1 = norm cfg env [] t in - let stack1 = (Cfg cfg) :: stack in + fun cfg -> + fun env -> + fun stack -> + fun head1 -> + fun m -> + fun t -> + let t1 = norm cfg env [] t in + let stack1 = (Cfg cfg) :: stack in let cfg1 = if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.pure_subterms_within_computations @@ -4243,41 +4536,44 @@ and (reduce_impure_comp : FStar_TypeChecker_Env.AllowUnboundUniverses; FStar_TypeChecker_Env.EraseUniverses; FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta; - FStar_TypeChecker_Env.Inlining] in - let uu___1802_14276 = cfg in + FStar_TypeChecker_Env.Inlining] in + let uu___1801_14276 = cfg in let uu____14277 = FStar_List.fold_right FStar_TypeChecker_Cfg.fstep_add_one - new_steps cfg.FStar_TypeChecker_Cfg.steps in + new_steps cfg.FStar_TypeChecker_Cfg.steps + in { FStar_TypeChecker_Cfg.steps = uu____14277; FStar_TypeChecker_Cfg.tcenv = - (uu___1802_14276.FStar_TypeChecker_Cfg.tcenv); + (uu___1801_14276.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___1802_14276.FStar_TypeChecker_Cfg.debug); + (uu___1801_14276.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = [FStar_TypeChecker_Env.InliningDelta; FStar_TypeChecker_Env.Eager_unfolding_only]; FStar_TypeChecker_Cfg.primitive_steps = - (uu___1802_14276.FStar_TypeChecker_Cfg.primitive_steps); + (uu___1801_14276.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = - (uu___1802_14276.FStar_TypeChecker_Cfg.strong); + (uu___1801_14276.FStar_TypeChecker_Cfg.strong); FStar_TypeChecker_Cfg.memoize_lazy = - (uu___1802_14276.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___1801_14276.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___1802_14276.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___1801_14276.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___1802_14276.FStar_TypeChecker_Cfg.reifying) + (uu___1801_14276.FStar_TypeChecker_Cfg.reifying) } - else cfg in + else cfg in let metadata = match m with | FStar_Util.Inl m1 -> FStar_Syntax_Syntax.Meta_monadic (m1, t1) - | FStar_Util.Inr (m1, m') -> - FStar_Syntax_Syntax.Meta_monadic_lift (m1, m', t1) in + | FStar_Util.Inr (m1,m') -> + FStar_Syntax_Syntax.Meta_monadic_lift (m1, m', t1) + in norm cfg1 env ((Meta (env, metadata, (head1.FStar_Syntax_Syntax.pos))) :: stack1) head1 + and (do_reify_monadic : (unit -> FStar_Syntax_Syntax.term) -> FStar_TypeChecker_Cfg.cfg -> @@ -4287,55 +4583,57 @@ and (do_reify_monadic : FStar_Syntax_Syntax.monad_name -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term) = - fun fallback -> - fun cfg -> - fun env -> - fun stack -> - fun head1 -> - fun m -> - fun t -> + fun fallback -> + fun cfg -> + fun env -> + fun stack -> + fun head1 -> + fun m -> + fun t -> (match stack with | (App - (uu____14308, - { - FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reify); - FStar_Syntax_Syntax.pos = uu____14309; - FStar_Syntax_Syntax.vars = uu____14310;_}, - uu____14311, uu____14312))::uu____14313 + (uu____14308,{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.Tm_constant + (FStar_Const.Const_reify ); + FStar_Syntax_Syntax.pos = uu____14309; + FStar_Syntax_Syntax.vars = uu____14310;_},uu____14311,uu____14312))::uu____14313 -> () | uu____14318 -> let uu____14321 = - let uu____14323 = stack_to_string stack in + let uu____14323 = stack_to_string stack in FStar_Util.format1 "INTERNAL ERROR: do_reify_monadic: bad stack: %s" - uu____14323 in + uu____14323 + in failwith uu____14321); - (let head0 = head1 in - let head2 = FStar_Syntax_Util.unascribe head1 in + (let head0 = head1 in + let head2 = FStar_Syntax_Util.unascribe head1 in FStar_TypeChecker_Cfg.log cfg - (fun uu____14332 -> - let uu____14333 = FStar_Syntax_Print.tag_of_term head2 in + (fun uu____14332 -> + let uu____14333 = FStar_Syntax_Print.tag_of_term head2 + in let uu____14335 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print2 "Reifying: (%s) %s\n" uu____14333 uu____14335); - (let head3 = FStar_Syntax_Util.unmeta_safe head2 in + (let head3 = FStar_Syntax_Util.unmeta_safe head2 in let uu____14339 = - let uu____14340 = FStar_Syntax_Subst.compress head3 in - uu____14340.FStar_Syntax_Syntax.n in + let uu____14340 = FStar_Syntax_Subst.compress head3 in + uu____14340.FStar_Syntax_Syntax.n in match uu____14339 with - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), body) -> + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),body) -> let ed = let uu____14361 = FStar_TypeChecker_Env.norm_eff_name - cfg.FStar_TypeChecker_Cfg.tcenv m in + cfg.FStar_TypeChecker_Cfg.tcenv m + in FStar_TypeChecker_Env.get_effect_decl - cfg.FStar_TypeChecker_Cfg.tcenv uu____14361 in - let uu____14362 = ed.FStar_Syntax_Syntax.bind_repr in + cfg.FStar_TypeChecker_Cfg.tcenv uu____14361 + in + let uu____14362 = ed.FStar_Syntax_Syntax.bind_repr in (match uu____14362 with - | (uu____14363, bind_repr) -> + | (uu____14363,bind_repr) -> (match lb.FStar_Syntax_Syntax.lbname with | FStar_Util.Inr uu____14373 -> failwith @@ -4344,74 +4642,81 @@ and (do_reify_monadic : let is_return e = let uu____14384 = let uu____14385 = - FStar_Syntax_Subst.compress e in - uu____14385.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress e in + uu____14385.FStar_Syntax_Syntax.n in match uu____14384 with | FStar_Syntax_Syntax.Tm_meta - (e1, FStar_Syntax_Syntax.Meta_monadic - (uu____14391, uu____14392)) + (e1,FStar_Syntax_Syntax.Meta_monadic + (uu____14391,uu____14392)) -> let uu____14401 = let uu____14402 = - FStar_Syntax_Subst.compress e1 in - uu____14402.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress e1 in + uu____14402.FStar_Syntax_Syntax.n in (match uu____14401 with | FStar_Syntax_Syntax.Tm_meta - (e2, - FStar_Syntax_Syntax.Meta_monadic_lift - (uu____14408, msrc, uu____14410)) + (e2,FStar_Syntax_Syntax.Meta_monadic_lift + (uu____14408,msrc,uu____14410)) when FStar_Syntax_Util.is_pure_effect msrc -> let uu____14419 = - FStar_Syntax_Subst.compress e2 in + FStar_Syntax_Subst.compress e2 + in FStar_Pervasives_Native.Some uu____14419 | uu____14420 -> FStar_Pervasives_Native.None) | uu____14421 -> - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let uu____14422 = - is_return lb.FStar_Syntax_Syntax.lbdef in + is_return lb.FStar_Syntax_Syntax.lbdef in (match uu____14422 with | FStar_Pervasives_Native.Some e -> let lb1 = - let uu___1874_14427 = lb in + let uu___1873_14427 = lb in { FStar_Syntax_Syntax.lbname = - (uu___1874_14427.FStar_Syntax_Syntax.lbname); + (uu___1873_14427.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = - (uu___1874_14427.FStar_Syntax_Syntax.lbunivs); + (uu___1873_14427.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = - (uu___1874_14427.FStar_Syntax_Syntax.lbtyp); + (uu___1873_14427.FStar_Syntax_Syntax.lbtyp); FStar_Syntax_Syntax.lbeff = FStar_Parser_Const.effect_PURE_lid; FStar_Syntax_Syntax.lbdef = e; FStar_Syntax_Syntax.lbattrs = - (uu___1874_14427.FStar_Syntax_Syntax.lbattrs); + (uu___1873_14427.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___1874_14427.FStar_Syntax_Syntax.lbpos) - } in - let uu____14428 = FStar_List.tl stack in + (uu___1873_14427.FStar_Syntax_Syntax.lbpos) + } in + let uu____14428 = FStar_List.tl stack + in let uu____14429 = let uu____14430 = let uu____14437 = let uu____14438 = let uu____14452 = FStar_Syntax_Util.mk_reify - body in - ((false, [lb1]), uu____14452) in + body + in + ((false, [lb1]), uu____14452) + in FStar_Syntax_Syntax.Tm_let - uu____14438 in - FStar_Syntax_Syntax.mk uu____14437 in + uu____14438 + in + FStar_Syntax_Syntax.mk uu____14437 + in uu____14430 FStar_Pervasives_Native.None - head3.FStar_Syntax_Syntax.pos in + head3.FStar_Syntax_Syntax.pos + in norm cfg env uu____14428 uu____14429 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____14468 = - let uu____14470 = is_return body in + let uu____14470 = is_return body in match uu____14470 with | FStar_Pervasives_Native.Some { @@ -4422,21 +4727,23 @@ and (do_reify_monadic : FStar_Syntax_Syntax.vars = uu____14476;_} -> FStar_Syntax_Syntax.bv_eq x y - | uu____14479 -> false in + | uu____14479 -> false in if uu____14468 then norm cfg env stack lb.FStar_Syntax_Syntax.lbdef else (let rng = - head3.FStar_Syntax_Syntax.pos in + head3.FStar_Syntax_Syntax.pos in let head4 = FStar_All.pipe_left FStar_Syntax_Util.mk_reify - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in let body1 = FStar_All.pipe_left - FStar_Syntax_Util.mk_reify body in + FStar_Syntax_Util.mk_reify body + in let body_rc = { FStar_Syntax_Syntax.residual_effect @@ -4446,7 +4753,7 @@ and (do_reify_monadic : (FStar_Pervasives_Native.Some t); FStar_Syntax_Syntax.residual_flags = [] - } in + } in let body2 = let uu____14503 = let uu____14510 = @@ -4454,29 +4761,36 @@ and (do_reify_monadic : let uu____14530 = let uu____14539 = FStar_Syntax_Syntax.mk_binder - x in - [uu____14539] in + x + in + [uu____14539] in (uu____14530, body1, (FStar_Pervasives_Native.Some - body_rc)) in + body_rc)) + in FStar_Syntax_Syntax.Tm_abs - uu____14511 in + uu____14511 + in FStar_Syntax_Syntax.mk - uu____14510 in + uu____14510 + in uu____14503 FStar_Pervasives_Native.None - body1.FStar_Syntax_Syntax.pos in - let close1 = closure_as_term cfg env in + body1.FStar_Syntax_Syntax.pos + in + let close1 = closure_as_term cfg env + in let bind_inst = let uu____14578 = let uu____14579 = FStar_Syntax_Subst.compress - bind_repr in - uu____14579.FStar_Syntax_Syntax.n in + bind_repr + in + uu____14579.FStar_Syntax_Syntax.n + in match uu____14578 with | FStar_Syntax_Syntax.Tm_uinst - (bind1, - uu____14585::uu____14586::[]) + (bind1,uu____14585::uu____14586::[]) -> let uu____14591 = let uu____14598 = @@ -4485,37 +4799,45 @@ and (do_reify_monadic : let uu____14607 = let uu____14608 = close1 - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in (cfg.FStar_TypeChecker_Cfg.tcenv).FStar_TypeChecker_Env.universe_of cfg.FStar_TypeChecker_Cfg.tcenv - uu____14608 in + uu____14608 + in let uu____14609 = let uu____14612 = let uu____14613 = - close1 t in + close1 t in (cfg.FStar_TypeChecker_Cfg.tcenv).FStar_TypeChecker_Env.universe_of cfg.FStar_TypeChecker_Cfg.tcenv - uu____14613 in - [uu____14612] in + uu____14613 + in + [uu____14612] in uu____14607 :: - uu____14609 in - (bind1, uu____14606) in + uu____14609 + in + (bind1, uu____14606) in FStar_Syntax_Syntax.Tm_uinst - uu____14599 in + uu____14599 + in FStar_Syntax_Syntax.mk - uu____14598 in + uu____14598 + in uu____14591 FStar_Pervasives_Native.None rng | uu____14616 -> failwith - "NIY : Reification of indexed effects" in + "NIY : Reification of indexed effects" + in let maybe_range_arg = let uu____14631 = FStar_Util.for_some (FStar_Syntax_Util.attr_eq FStar_Syntax_Util.dm4f_bind_range_attr) - ed.FStar_Syntax_Syntax.eff_attrs in + ed.FStar_Syntax_Syntax.eff_attrs + in if uu____14631 then let uu____14644 = @@ -4523,21 +4845,25 @@ and (do_reify_monadic : FStar_TypeChecker_Cfg.embed_simple FStar_Syntax_Embeddings.e_range lb.FStar_Syntax_Syntax.lbpos - lb.FStar_Syntax_Syntax.lbpos in + lb.FStar_Syntax_Syntax.lbpos + in FStar_Syntax_Syntax.as_arg - uu____14653 in + uu____14653 + in let uu____14654 = let uu____14665 = let uu____14674 = FStar_TypeChecker_Cfg.embed_simple FStar_Syntax_Embeddings.e_range body2.FStar_Syntax_Syntax.pos - body2.FStar_Syntax_Syntax.pos in + body2.FStar_Syntax_Syntax.pos + in FStar_Syntax_Syntax.as_arg - uu____14674 in - [uu____14665] in + uu____14674 + in + [uu____14665] in uu____14644 :: uu____14654 - else [] in + else [] in let reified = let uu____14712 = let uu____14719 = @@ -4546,145 +4872,172 @@ and (do_reify_monadic : let uu____14748 = let uu____14759 = FStar_Syntax_Syntax.as_arg - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in let uu____14768 = let uu____14779 = FStar_Syntax_Syntax.as_arg - t in - [uu____14779] in + t + in + [uu____14779] in uu____14759 :: - uu____14768 in + uu____14768 + in let uu____14812 = let uu____14823 = let uu____14834 = FStar_Syntax_Syntax.as_arg - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let uu____14843 = let uu____14854 = FStar_Syntax_Syntax.as_arg - head4 in + head4 + in let uu____14863 = let uu____14874 = FStar_Syntax_Syntax.as_arg - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let uu____14883 = let uu____14894 = FStar_Syntax_Syntax.as_arg - body2 in - [uu____14894] in + body2 + in + [uu____14894] in uu____14874 :: - uu____14883 in + uu____14883 + in uu____14854 :: - uu____14863 in + uu____14863 + in uu____14834 :: - uu____14843 in + uu____14843 + in FStar_List.append maybe_range_arg - uu____14823 in + uu____14823 + in FStar_List.append - uu____14748 uu____14812 in - (bind_inst, uu____14737) in + uu____14748 uu____14812 + in + (bind_inst, uu____14737) in FStar_Syntax_Syntax.Tm_app - uu____14720 in + uu____14720 + in FStar_Syntax_Syntax.mk - uu____14719 in + uu____14719 + in uu____14712 - FStar_Pervasives_Native.None rng in + FStar_Pervasives_Native.None rng + in FStar_TypeChecker_Cfg.log cfg - (fun uu____14975 -> + (fun uu____14975 -> let uu____14976 = FStar_Syntax_Print.term_to_string - head0 in + head0 + in let uu____14978 = FStar_Syntax_Print.term_to_string - reified in + reified + in FStar_Util.print2 "Reified (1) <%s> to %s\n" uu____14976 uu____14978); (let uu____14981 = - FStar_List.tl stack in + FStar_List.tl stack in norm cfg env uu____14981 reified))))) - | FStar_Syntax_Syntax.Tm_app (head_app, args) -> - ((let uu____15009 = FStar_Options.defensive () in + | FStar_Syntax_Syntax.Tm_app (head_app,args) -> + ((let uu____15009 = FStar_Options.defensive () in if uu____15009 then let is_arg_impure uu____15024 = match uu____15024 with - | (e, q) -> + | (e,q) -> let uu____15038 = let uu____15039 = - FStar_Syntax_Subst.compress e in - uu____15039.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress e in + uu____15039.FStar_Syntax_Syntax.n in (match uu____15038 with | FStar_Syntax_Syntax.Tm_meta - (e0, - FStar_Syntax_Syntax.Meta_monadic_lift - (m1, m2, t')) + (e0,FStar_Syntax_Syntax.Meta_monadic_lift + (m1,m2,t')) -> let uu____15055 = - FStar_Syntax_Util.is_pure_effect m1 in + FStar_Syntax_Util.is_pure_effect m1 + in Prims.op_Negation uu____15055 - | uu____15057 -> false) in + | uu____15057 -> false) + in let uu____15059 = let uu____15061 = let uu____15072 = - FStar_Syntax_Syntax.as_arg head_app in - uu____15072 :: args in - FStar_Util.for_some is_arg_impure uu____15061 in + FStar_Syntax_Syntax.as_arg head_app in + uu____15072 :: args in + FStar_Util.for_some is_arg_impure uu____15061 in (if uu____15059 then let uu____15098 = let uu____15104 = let uu____15106 = - FStar_Syntax_Print.term_to_string head3 in + FStar_Syntax_Print.term_to_string head3 + in FStar_Util.format1 "Incompatibility between typechecker and normalizer; this monadic application contains impure terms %s\n" - uu____15106 in - (FStar_Errors.Warning_Defensive, uu____15104) in + uu____15106 + in + (FStar_Errors.Warning_Defensive, uu____15104) + in FStar_Errors.log_issue head3.FStar_Syntax_Syntax.pos uu____15098 else ()) else ()); (let fallback1 uu____15119 = FStar_TypeChecker_Cfg.log cfg - (fun uu____15123 -> + (fun uu____15123 -> let uu____15124 = - FStar_Syntax_Print.term_to_string head0 in + FStar_Syntax_Print.term_to_string head0 in FStar_Util.print2 "Reified (2) <%s> to %s\n" uu____15124 ""); - (let uu____15128 = FStar_List.tl stack in - let uu____15129 = FStar_Syntax_Util.mk_reify head3 in - norm cfg env uu____15128 uu____15129) in + (let uu____15128 = FStar_List.tl stack in + let uu____15129 = FStar_Syntax_Util.mk_reify head3 + in + norm cfg env uu____15128 uu____15129) + in let fallback2 uu____15135 = FStar_TypeChecker_Cfg.log cfg - (fun uu____15139 -> + (fun uu____15139 -> let uu____15140 = - FStar_Syntax_Print.term_to_string head0 in + FStar_Syntax_Print.term_to_string head0 in FStar_Util.print2 "Reified (3) <%s> to %s\n" uu____15140 ""); - (let uu____15144 = FStar_List.tl stack in + (let uu____15144 = FStar_List.tl stack in let uu____15145 = mk (FStar_Syntax_Syntax.Tm_meta (head3, (FStar_Syntax_Syntax.Meta_monadic (m, t)))) - head0.FStar_Syntax_Syntax.pos in - norm cfg env uu____15144 uu____15145) in + head0.FStar_Syntax_Syntax.pos + in + norm cfg env uu____15144 uu____15145) + in let uu____15150 = let uu____15151 = - FStar_Syntax_Util.un_uinst head_app in - uu____15151.FStar_Syntax_Syntax.n in + FStar_Syntax_Util.un_uinst head_app in + uu____15151.FStar_Syntax_Syntax.n in match uu____15150 with | FStar_Syntax_Syntax.Tm_fvar fv -> - let lid = FStar_Syntax_Syntax.lid_of_fv fv in + let lid = FStar_Syntax_Syntax.lid_of_fv fv in let qninfo = FStar_TypeChecker_Env.lookup_qname - cfg.FStar_TypeChecker_Cfg.tcenv lid in + cfg.FStar_TypeChecker_Cfg.tcenv lid + in let uu____15157 = let uu____15159 = FStar_TypeChecker_Env.is_action - cfg.FStar_TypeChecker_Cfg.tcenv lid in - Prims.op_Negation uu____15159 in + cfg.FStar_TypeChecker_Cfg.tcenv lid + in + Prims.op_Negation uu____15159 in if uu____15157 then fallback1 () else @@ -4693,56 +5046,63 @@ and (do_reify_monadic : FStar_TypeChecker_Env.lookup_definition_qninfo cfg.FStar_TypeChecker_Cfg.delta_level (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - qninfo in - FStar_Option.isNone uu____15166 in + qninfo + in + FStar_Option.isNone uu____15166 in if uu____15164 then fallback2 () else (let t1 = let uu____15183 = let uu____15188 = - FStar_Syntax_Util.mk_reify head_app in + FStar_Syntax_Util.mk_reify head_app + in FStar_Syntax_Syntax.mk_Tm_app - uu____15188 args in + uu____15188 args + in uu____15183 FStar_Pervasives_Native.None - t.FStar_Syntax_Syntax.pos in - let uu____15189 = FStar_List.tl stack in + t.FStar_Syntax_Syntax.pos + in + let uu____15189 = FStar_List.tl stack in norm cfg env uu____15189 t1)) | uu____15190 -> fallback1 ())) | FStar_Syntax_Syntax.Tm_meta - (e, FStar_Syntax_Syntax.Meta_monadic uu____15192) -> + (e,FStar_Syntax_Syntax.Meta_monadic uu____15192) -> do_reify_monadic fallback cfg env stack e m t | FStar_Syntax_Syntax.Tm_meta - (e, FStar_Syntax_Syntax.Meta_monadic_lift - (msrc, mtgt, t')) + (e,FStar_Syntax_Syntax.Meta_monadic_lift + (msrc,mtgt,t')) -> let lifted = - let uu____15216 = closure_as_term cfg env t' in - reify_lift cfg e msrc mtgt uu____15216 in + let uu____15216 = closure_as_term cfg env t' in + reify_lift cfg e msrc mtgt uu____15216 in (FStar_TypeChecker_Cfg.log cfg - (fun uu____15220 -> + (fun uu____15220 -> let uu____15221 = - FStar_Syntax_Print.term_to_string lifted in + FStar_Syntax_Print.term_to_string lifted in FStar_Util.print1 "Reified lift to (2): %s\n" uu____15221); - (let uu____15224 = FStar_List.tl stack in + (let uu____15224 = FStar_List.tl stack in norm cfg env uu____15224 lifted)) - | FStar_Syntax_Syntax.Tm_match (e, branches) -> + | FStar_Syntax_Syntax.Tm_match (e,branches) -> let branches1 = FStar_All.pipe_right branches (FStar_List.map - (fun uu____15345 -> + (fun uu____15345 -> match uu____15345 with - | (pat, wopt, tm) -> + | (pat,wopt,tm) -> let uu____15393 = - FStar_Syntax_Util.mk_reify tm in - (pat, wopt, uu____15393))) in + FStar_Syntax_Util.mk_reify tm in + (pat, wopt, uu____15393))) + in let tm = mk (FStar_Syntax_Syntax.Tm_match (e, branches1)) - head3.FStar_Syntax_Syntax.pos in - let uu____15425 = FStar_List.tl stack in + head3.FStar_Syntax_Syntax.pos + in + let uu____15425 = FStar_List.tl stack in norm cfg env uu____15425 tm | uu____15426 -> fallback ())) + and (reify_lift : FStar_TypeChecker_Cfg.cfg -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> @@ -4750,80 +5110,86 @@ and (reify_lift : FStar_Syntax_Syntax.monad_name -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun cfg -> - fun e -> - fun msrc -> - fun mtgt -> - fun t -> - let env = cfg.FStar_TypeChecker_Cfg.tcenv in + fun cfg -> + fun e -> + fun msrc -> + fun mtgt -> + fun t -> + let env = cfg.FStar_TypeChecker_Cfg.tcenv in FStar_TypeChecker_Cfg.log cfg - (fun uu____15440 -> - let uu____15441 = FStar_Ident.string_of_lid msrc in - let uu____15443 = FStar_Ident.string_of_lid mtgt in - let uu____15445 = FStar_Syntax_Print.term_to_string e in + (fun uu____15440 -> + let uu____15441 = FStar_Ident.string_of_lid msrc in + let uu____15443 = FStar_Ident.string_of_lid mtgt in + let uu____15445 = FStar_Syntax_Print.term_to_string e in FStar_Util.print3 "Reifying lift %s -> %s: %s\n" uu____15441 uu____15443 uu____15445); (let uu____15448 = (FStar_Syntax_Util.is_pure_effect msrc) || - (FStar_Syntax_Util.is_div_effect msrc) in + (FStar_Syntax_Util.is_div_effect msrc) + in if uu____15448 then let ed = let uu____15452 = FStar_TypeChecker_Env.norm_eff_name - cfg.FStar_TypeChecker_Cfg.tcenv mtgt in - FStar_TypeChecker_Env.get_effect_decl env uu____15452 in - let uu____15453 = ed.FStar_Syntax_Syntax.return_repr in + cfg.FStar_TypeChecker_Cfg.tcenv mtgt + in + FStar_TypeChecker_Env.get_effect_decl env uu____15452 in + let uu____15453 = ed.FStar_Syntax_Syntax.return_repr in match uu____15453 with - | (uu____15454, return_repr) -> + | (uu____15454,return_repr) -> let return_inst = let uu____15467 = let uu____15468 = - FStar_Syntax_Subst.compress return_repr in - uu____15468.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress return_repr in + uu____15468.FStar_Syntax_Syntax.n in match uu____15467 with | FStar_Syntax_Syntax.Tm_uinst - (return_tm, uu____15474::[]) -> + (return_tm,uu____15474::[]) -> let uu____15479 = let uu____15486 = let uu____15487 = let uu____15494 = let uu____15495 = env.FStar_TypeChecker_Env.universe_of env - t in - [uu____15495] in - (return_tm, uu____15494) in - FStar_Syntax_Syntax.Tm_uinst uu____15487 in - FStar_Syntax_Syntax.mk uu____15486 in + t + in + [uu____15495] in + (return_tm, uu____15494) in + FStar_Syntax_Syntax.Tm_uinst uu____15487 in + FStar_Syntax_Syntax.mk uu____15486 in uu____15479 FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos | uu____15498 -> - failwith "NIY : Reification of indexed effects" in + failwith "NIY : Reification of indexed effects" + in let uu____15502 = let uu____15509 = let uu____15510 = let uu____15527 = - let uu____15538 = FStar_Syntax_Syntax.as_arg t in + let uu____15538 = FStar_Syntax_Syntax.as_arg t in let uu____15547 = - let uu____15558 = FStar_Syntax_Syntax.as_arg e in - [uu____15558] in - uu____15538 :: uu____15547 in - (return_inst, uu____15527) in - FStar_Syntax_Syntax.Tm_app uu____15510 in - FStar_Syntax_Syntax.mk uu____15509 in + let uu____15558 = FStar_Syntax_Syntax.as_arg e + in + [uu____15558] in + uu____15538 :: uu____15547 in + (return_inst, uu____15527) in + FStar_Syntax_Syntax.Tm_app uu____15510 in + FStar_Syntax_Syntax.mk uu____15509 in uu____15502 FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos else (let uu____15605 = - FStar_TypeChecker_Env.monad_leq env msrc mtgt in + FStar_TypeChecker_Env.monad_leq env msrc mtgt in match uu____15605 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____15608 = - let uu____15610 = FStar_Ident.text_of_lid msrc in - let uu____15612 = FStar_Ident.text_of_lid mtgt in + let uu____15610 = FStar_Ident.text_of_lid msrc in + let uu____15612 = FStar_Ident.text_of_lid mtgt in FStar_Util.format2 "Impossible : trying to reify a lift between unrelated effects (%s and %s)" - uu____15610 uu____15612 in + uu____15610 uu____15612 + in failwith uu____15608 | FStar_Pervasives_Native.Some { FStar_TypeChecker_Env.msource = uu____15615; @@ -4831,14 +5197,15 @@ and (reify_lift : FStar_TypeChecker_Env.mlift = { FStar_TypeChecker_Env.mlift_wp = uu____15617; FStar_TypeChecker_Env.mlift_term = - FStar_Pervasives_Native.None;_};_} + FStar_Pervasives_Native.None ;_};_} -> let uu____15639 = - let uu____15641 = FStar_Ident.text_of_lid msrc in - let uu____15643 = FStar_Ident.text_of_lid mtgt in + let uu____15641 = FStar_Ident.text_of_lid msrc in + let uu____15643 = FStar_Ident.text_of_lid mtgt in FStar_Util.format2 "Impossible : trying to reify a non-reifiable lift (from %s to %s)" - uu____15641 uu____15643 in + uu____15641 uu____15643 + in failwith uu____15639 | FStar_Pervasives_Native.Some { FStar_TypeChecker_Env.msource = uu____15646; @@ -4849,9 +5216,10 @@ and (reify_lift : FStar_Pervasives_Native.Some lift;_};_} -> let uu____15683 = - env.FStar_TypeChecker_Env.universe_of env t in - let uu____15684 = FStar_Syntax_Util.mk_reify e in + env.FStar_TypeChecker_Env.universe_of env t in + let uu____15684 = FStar_Syntax_Util.mk_reify e in lift uu____15683 t FStar_Syntax_Syntax.tun uu____15684)) + and (norm_pattern_args : FStar_TypeChecker_Cfg.cfg -> env -> @@ -4862,197 +5230,214 @@ and (norm_pattern_args : FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list Prims.list) = - fun cfg -> - fun env -> - fun args -> + fun cfg -> + fun env -> + fun args -> FStar_All.pipe_right args (FStar_List.map (FStar_List.map - (fun uu____15754 -> + (fun uu____15754 -> match uu____15754 with - | (a, imp) -> - let uu____15773 = norm cfg env [] a in + | (a,imp) -> + let uu____15773 = norm cfg env [] a in (uu____15773, imp)))) + and (norm_comp : FStar_TypeChecker_Cfg.cfg -> env -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp) = - fun cfg -> - fun env -> - fun comp -> + fun cfg -> + fun env -> + fun comp -> FStar_TypeChecker_Cfg.log cfg - (fun uu____15783 -> - let uu____15784 = FStar_Syntax_Print.comp_to_string comp in + (fun uu____15783 -> + let uu____15784 = FStar_Syntax_Print.comp_to_string comp in let uu____15786 = - FStar_Util.string_of_int (FStar_List.length env) in + FStar_Util.string_of_int (FStar_List.length env) in FStar_Util.print2 ">>> %s\nNormComp with with %s env elements" uu____15784 uu____15786); (match comp.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, uopt) -> - let t1 = norm cfg env [] t in + | FStar_Syntax_Syntax.Total (t,uopt) -> + let t1 = norm cfg env [] t in let uopt1 = match uopt with | FStar_Pervasives_Native.Some u -> - let uu____15812 = norm_universe cfg env u in + let uu____15812 = norm_universe cfg env u in FStar_All.pipe_left - (fun _15815 -> FStar_Pervasives_Native.Some _15815) + (fun _15815 -> FStar_Pervasives_Native.Some _15815) uu____15812 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in - let uu___2024_15816 = comp in + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + in + let uu___2023_15816 = comp in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Total (t1, uopt1)); FStar_Syntax_Syntax.pos = - (uu___2024_15816.FStar_Syntax_Syntax.pos); + (uu___2023_15816.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___2024_15816.FStar_Syntax_Syntax.vars) + (uu___2023_15816.FStar_Syntax_Syntax.vars) } - | FStar_Syntax_Syntax.GTotal (t, uopt) -> - let t1 = norm cfg env [] t in + | FStar_Syntax_Syntax.GTotal (t,uopt) -> + let t1 = norm cfg env [] t in let uopt1 = match uopt with | FStar_Pervasives_Native.Some u -> - let uu____15838 = norm_universe cfg env u in + let uu____15838 = norm_universe cfg env u in FStar_All.pipe_left - (fun _15841 -> FStar_Pervasives_Native.Some _15841) + (fun _15841 -> FStar_Pervasives_Native.Some _15841) uu____15838 - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None in - let uu___2035_15842 = comp in + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None + in + let uu___2034_15842 = comp in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.GTotal (t1, uopt1)); FStar_Syntax_Syntax.pos = - (uu___2035_15842.FStar_Syntax_Syntax.pos); + (uu___2034_15842.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___2035_15842.FStar_Syntax_Syntax.vars) + (uu___2034_15842.FStar_Syntax_Syntax.vars) } | FStar_Syntax_Syntax.Comp ct -> let norm_args = FStar_List.mapi - (fun idx -> - fun uu____15887 -> + (fun idx -> + fun uu____15887 -> match uu____15887 with - | (a, i) -> - let uu____15907 = norm cfg env [] a in - (uu____15907, i)) in - let effect_args = norm_args ct.FStar_Syntax_Syntax.effect_args in + | (a,i) -> + let uu____15907 = norm cfg env [] a in + (uu____15907, i)) + in + let effect_args = norm_args ct.FStar_Syntax_Syntax.effect_args + in let flags = FStar_All.pipe_right ct.FStar_Syntax_Syntax.flags (FStar_List.map - (fun uu___15_15929 -> + (fun uu___15_15929 -> match uu___15_15929 with | FStar_Syntax_Syntax.DECREASES t -> - let uu____15933 = norm cfg env [] t in + let uu____15933 = norm cfg env [] t in FStar_Syntax_Syntax.DECREASES uu____15933 - | f -> f)) in + | f -> f)) + in let comp_univs = FStar_List.map (norm_universe cfg env) - ct.FStar_Syntax_Syntax.comp_univs in + ct.FStar_Syntax_Syntax.comp_univs + in let result_typ = - norm cfg env [] ct.FStar_Syntax_Syntax.result_typ in - let uu___2052_15941 = comp in + norm cfg env [] ct.FStar_Syntax_Syntax.result_typ in + let uu___2051_15941 = comp in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Comp - (let uu___2054_15944 = ct in + (let uu___2053_15944 = ct in { FStar_Syntax_Syntax.comp_univs = comp_univs; FStar_Syntax_Syntax.effect_name = - (uu___2054_15944.FStar_Syntax_Syntax.effect_name); + (uu___2053_15944.FStar_Syntax_Syntax.effect_name); FStar_Syntax_Syntax.result_typ = result_typ; FStar_Syntax_Syntax.effect_args = effect_args; FStar_Syntax_Syntax.flags = flags })); FStar_Syntax_Syntax.pos = - (uu___2052_15941.FStar_Syntax_Syntax.pos); + (uu___2051_15941.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___2052_15941.FStar_Syntax_Syntax.vars) + (uu___2051_15941.FStar_Syntax_Syntax.vars) }) + and (norm_binder : FStar_TypeChecker_Cfg.cfg -> env -> FStar_Syntax_Syntax.binder -> FStar_Syntax_Syntax.binder) = - fun cfg -> - fun env -> - fun b -> - let uu____15948 = b in + fun cfg -> + fun env -> + fun b -> + let uu____15948 = b in match uu____15948 with - | (x, imp) -> + | (x,imp) -> let x1 = - let uu___2062_15956 = x in - let uu____15957 = norm cfg env [] x.FStar_Syntax_Syntax.sort in + let uu___2061_15956 = x in + let uu____15957 = norm cfg env [] x.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = - (uu___2062_15956.FStar_Syntax_Syntax.ppname); + (uu___2061_15956.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2062_15956.FStar_Syntax_Syntax.index); + (uu___2061_15956.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____15957 - } in + } in let imp1 = match imp with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta t) -> let uu____15968 = - let uu____15969 = closure_as_term cfg env t in - FStar_Syntax_Syntax.Meta uu____15969 in + let uu____15969 = closure_as_term cfg env t in + FStar_Syntax_Syntax.Meta uu____15969 in FStar_Pervasives_Native.Some uu____15968 - | i -> i in + | i -> i in (x1, imp1) + and (norm_binders : FStar_TypeChecker_Cfg.cfg -> env -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binders) = - fun cfg -> - fun env -> - fun bs -> + fun cfg -> + fun env -> + fun bs -> let uu____15980 = FStar_List.fold_left - (fun uu____16014 -> - fun b -> + (fun uu____16014 -> + fun b -> match uu____16014 with - | (nbs', env1) -> - let b1 = norm_binder cfg env1 b in - ((b1 :: nbs'), (dummy :: env1))) ([], env) bs in - match uu____15980 with | (nbs, uu____16094) -> FStar_List.rev nbs + | (nbs',env1) -> + let b1 = norm_binder cfg env1 b in + ((b1 :: nbs'), (dummy :: env1))) ([], env) bs + in + match uu____15980 with | (nbs,uu____16094) -> FStar_List.rev nbs + and (norm_lcomp_opt : FStar_TypeChecker_Cfg.cfg -> env -> FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.residual_comp FStar_Pervasives_Native.option) = - fun cfg -> - fun env -> - fun lopt -> + fun cfg -> + fun env -> + fun lopt -> match lopt with | FStar_Pervasives_Native.Some rc -> let flags = - filter_out_lcomp_cflags rc.FStar_Syntax_Syntax.residual_flags in + filter_out_lcomp_cflags rc.FStar_Syntax_Syntax.residual_flags + in let uu____16126 = - let uu___2087_16127 = rc in + let uu___2086_16127 = rc in let uu____16128 = FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (norm cfg env []) in + (norm cfg env []) + in { FStar_Syntax_Syntax.residual_effect = - (uu___2087_16127.FStar_Syntax_Syntax.residual_effect); + (uu___2086_16127.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = uu____16128; FStar_Syntax_Syntax.residual_flags = - (uu___2087_16127.FStar_Syntax_Syntax.residual_flags) - } in + (uu___2086_16127.FStar_Syntax_Syntax.residual_flags) + } in FStar_Pervasives_Native.Some uu____16126 | uu____16137 -> lopt + and (maybe_simplify : FStar_TypeChecker_Cfg.cfg -> env -> stack -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun cfg -> - fun env -> - fun stack -> - fun tm -> - let tm' = maybe_simplify_aux cfg env stack tm in + fun cfg -> + fun env -> + fun stack -> + fun tm -> + let tm' = maybe_simplify_aux cfg env stack tm in if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.b380 then - (let uu____16147 = FStar_Syntax_Print.term_to_string tm in - let uu____16149 = FStar_Syntax_Print.term_to_string tm' in + (let uu____16147 = FStar_Syntax_Print.term_to_string tm in + let uu____16149 = FStar_Syntax_Print.term_to_string tm' in FStar_Util.print3 "%sSimplified\n\t%s to\n\t%s\n" (if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.simplify @@ -5060,54 +5445,59 @@ and (maybe_simplify : else "NOT ") uu____16147 uu____16149) else (); tm' + and (norm_cb : FStar_TypeChecker_Cfg.cfg -> FStar_Syntax_Embeddings.norm_cb) = - fun cfg -> - fun uu___16_16161 -> + fun cfg -> + fun uu___16_16161 -> match uu___16_16161 with | FStar_Util.Inr x -> norm cfg [] [] x | FStar_Util.Inl l -> let uu____16174 = FStar_Syntax_DsEnv.try_lookup_lid - (cfg.FStar_TypeChecker_Cfg.tcenv).FStar_TypeChecker_Env.dsenv l in + (cfg.FStar_TypeChecker_Cfg.tcenv).FStar_TypeChecker_Env.dsenv l + in (match uu____16174 with | FStar_Pervasives_Native.Some t -> t - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____16178 = FStar_Syntax_Syntax.lid_as_fv l FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Syntax_Syntax.fv_to_tm uu____16178) + and (maybe_simplify_aux : FStar_TypeChecker_Cfg.cfg -> env -> stack -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun cfg -> - fun env -> - fun stack -> - fun tm -> + fun cfg -> + fun env -> + fun stack -> + fun tm -> let tm1 = - let uu____16186 = norm_cb cfg in - reduce_primops uu____16186 cfg env tm in + let uu____16186 = norm_cb cfg in + reduce_primops uu____16186 cfg env tm in let uu____16191 = FStar_All.pipe_left Prims.op_Negation - (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.simplify in + (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.simplify + in if uu____16191 then tm1 else (let w t = - let uu___2115_16210 = t in + let uu___2114_16210 = t in { FStar_Syntax_Syntax.n = - (uu___2115_16210.FStar_Syntax_Syntax.n); + (uu___2114_16210.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = (tm1.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___2115_16210.FStar_Syntax_Syntax.vars) - } in + (uu___2114_16210.FStar_Syntax_Syntax.vars) + } in let simp_t t = let uu____16222 = - let uu____16223 = FStar_Syntax_Util.unmeta t in - uu____16223.FStar_Syntax_Syntax.n in + let uu____16223 = FStar_Syntax_Util.unmeta t in + uu____16223.FStar_Syntax_Syntax.n in match uu____16222 with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv @@ -5117,34 +5507,34 @@ and (maybe_simplify_aux : FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.false_lid -> FStar_Pervasives_Native.Some false - | uu____16235 -> FStar_Pervasives_Native.None in + | uu____16235 -> FStar_Pervasives_Native.None in let rec args_are_binders args bs = match (args, bs) with - | ((t, uu____16299)::args1, (bv, uu____16302)::bs1) -> + | ((t,uu____16299)::args1,(bv,uu____16302)::bs1) -> let uu____16356 = - let uu____16357 = FStar_Syntax_Subst.compress t in - uu____16357.FStar_Syntax_Syntax.n in + let uu____16357 = FStar_Syntax_Subst.compress t in + uu____16357.FStar_Syntax_Syntax.n in (match uu____16356 with | FStar_Syntax_Syntax.Tm_name bv' -> (FStar_Syntax_Syntax.bv_eq bv bv') && (args_are_binders args1 bs1) | uu____16362 -> false) - | ([], []) -> true - | (uu____16393, uu____16394) -> false in + | ([],[]) -> true + | (uu____16393,uu____16394) -> false in let is_applied bs t = if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.wpe then - (let uu____16445 = FStar_Syntax_Print.term_to_string t in - let uu____16447 = FStar_Syntax_Print.tag_of_term t in + (let uu____16445 = FStar_Syntax_Print.term_to_string t in + let uu____16447 = FStar_Syntax_Print.tag_of_term t in FStar_Util.print2 "WPE> is_applied %s -- %s\n" uu____16445 uu____16447) else (); - (let uu____16452 = FStar_Syntax_Util.head_and_args' t in + (let uu____16452 = FStar_Syntax_Util.head_and_args' t in match uu____16452 with - | (hd1, args) -> + | (hd1,args) -> let uu____16491 = - let uu____16492 = FStar_Syntax_Subst.compress hd1 in - uu____16492.FStar_Syntax_Syntax.n in + let uu____16492 = FStar_Syntax_Subst.compress hd1 in + uu____16492.FStar_Syntax_Syntax.n in (match uu____16491 with | FStar_Syntax_Syntax.Tm_name bv when args_are_binders args bs -> @@ -5152,58 +5542,63 @@ and (maybe_simplify_aux : (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.wpe then (let uu____16500 = - FStar_Syntax_Print.term_to_string t in + FStar_Syntax_Print.term_to_string t in let uu____16502 = - FStar_Syntax_Print.bv_to_string bv in + FStar_Syntax_Print.bv_to_string bv in let uu____16504 = - FStar_Syntax_Print.term_to_string hd1 in + FStar_Syntax_Print.term_to_string hd1 in FStar_Util.print3 "WPE> got it\n>>>>top = %s\n>>>>b = %s\n>>>>hd = %s\n" uu____16500 uu____16502 uu____16504) else (); FStar_Pervasives_Native.Some bv) - | uu____16509 -> FStar_Pervasives_Native.None)) in + | uu____16509 -> FStar_Pervasives_Native.None)) + in let is_applied_maybe_squashed bs t = if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.wpe then - (let uu____16527 = FStar_Syntax_Print.term_to_string t in - let uu____16529 = FStar_Syntax_Print.tag_of_term t in + (let uu____16527 = FStar_Syntax_Print.term_to_string t in + let uu____16529 = FStar_Syntax_Print.tag_of_term t in FStar_Util.print2 "WPE> is_applied_maybe_squashed %s -- %s\n" uu____16527 uu____16529) else (); - (let uu____16534 = FStar_Syntax_Util.is_squash t in + (let uu____16534 = FStar_Syntax_Util.is_squash t in match uu____16534 with - | FStar_Pervasives_Native.Some (uu____16545, t') -> + | FStar_Pervasives_Native.Some (uu____16545,t') -> is_applied bs t' | uu____16557 -> - let uu____16566 = FStar_Syntax_Util.is_auto_squash t in + let uu____16566 = FStar_Syntax_Util.is_auto_squash t in (match uu____16566 with - | FStar_Pervasives_Native.Some (uu____16577, t') -> + | FStar_Pervasives_Native.Some (uu____16577,t') -> is_applied bs t' - | uu____16589 -> is_applied bs t)) in + | uu____16589 -> is_applied bs t)) + in let is_quantified_const bv phi = let uu____16613 = - FStar_Syntax_Util.destruct_typ_as_formula phi in + FStar_Syntax_Util.destruct_typ_as_formula phi in match uu____16613 with | FStar_Pervasives_Native.Some (FStar_Syntax_Util.BaseConn - (lid, (p, uu____16620)::(q, uu____16622)::[])) when + (lid,(p,uu____16620)::(q,uu____16622)::[])) when FStar_Ident.lid_equals lid FStar_Parser_Const.imp_lid -> (if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.wpe then - (let uu____16665 = FStar_Syntax_Print.term_to_string p in - let uu____16667 = FStar_Syntax_Print.term_to_string q in + (let uu____16665 = FStar_Syntax_Print.term_to_string p + in + let uu____16667 = FStar_Syntax_Print.term_to_string q + in FStar_Util.print2 "WPE> p = (%s); q = (%s)\n" uu____16665 uu____16667) else (); (let uu____16672 = - FStar_Syntax_Util.destruct_typ_as_formula p in + FStar_Syntax_Util.destruct_typ_as_formula p in match uu____16672 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____16677 = - let uu____16678 = FStar_Syntax_Subst.compress p in - uu____16678.FStar_Syntax_Syntax.n in + let uu____16678 = FStar_Syntax_Subst.compress p + in + uu____16678.FStar_Syntax_Syntax.n in (match uu____16677 with | FStar_Syntax_Syntax.Tm_bvar bv' when FStar_Syntax_Syntax.bv_eq bv bv' -> @@ -5214,18 +5609,20 @@ and (maybe_simplify_aux : (let uu____16689 = FStar_Syntax_Subst.subst [FStar_Syntax_Syntax.NT - (bv, FStar_Syntax_Util.t_true)] q in + (bv, FStar_Syntax_Util.t_true)] q + in FStar_Pervasives_Native.Some uu____16689)) | uu____16692 -> FStar_Pervasives_Native.None) | FStar_Pervasives_Native.Some (FStar_Syntax_Util.BaseConn - (lid1, (p1, uu____16695)::[])) when + (lid1,(p1,uu____16695)::[])) when FStar_Ident.lid_equals lid1 FStar_Parser_Const.not_lid -> let uu____16720 = - let uu____16721 = FStar_Syntax_Subst.compress p1 in - uu____16721.FStar_Syntax_Syntax.n in + let uu____16721 = FStar_Syntax_Subst.compress p1 + in + uu____16721.FStar_Syntax_Syntax.n in (match uu____16720 with | FStar_Syntax_Syntax.Tm_bvar bv' when FStar_Syntax_Syntax.bv_eq bv bv' -> @@ -5236,17 +5633,18 @@ and (maybe_simplify_aux : (let uu____16732 = FStar_Syntax_Subst.subst [FStar_Syntax_Syntax.NT - (bv, FStar_Syntax_Util.t_false)] q in + (bv, FStar_Syntax_Util.t_false)] q + in FStar_Pervasives_Native.Some uu____16732)) | uu____16735 -> FStar_Pervasives_Native.None) | FStar_Pervasives_Native.Some (FStar_Syntax_Util.QAll - (bs, pats, phi1)) -> + (bs,pats,phi1)) -> let uu____16739 = - FStar_Syntax_Util.destruct_typ_as_formula phi1 in + FStar_Syntax_Util.destruct_typ_as_formula phi1 in (match uu____16739 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____16744 = - is_applied_maybe_squashed bs phi1 in + is_applied_maybe_squashed bs phi1 in (match uu____16744 with | FStar_Pervasives_Native.Some bv' when FStar_Syntax_Syntax.bv_eq bv bv' -> @@ -5260,21 +5658,23 @@ and (maybe_simplify_aux : FStar_Syntax_Util.t_true (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot - FStar_Syntax_Util.ktype0)) in + FStar_Syntax_Util.ktype0)) + in let uu____16758 = FStar_Syntax_Subst.subst [FStar_Syntax_Syntax.NT (bv, ftrue)] - q in + q + in FStar_Pervasives_Native.Some uu____16758)) | uu____16761 -> FStar_Pervasives_Native.None) | FStar_Pervasives_Native.Some (FStar_Syntax_Util.BaseConn - (lid1, (p1, uu____16766)::[])) when + (lid1,(p1,uu____16766)::[])) when FStar_Ident.lid_equals lid1 FStar_Parser_Const.not_lid -> let uu____16791 = - is_applied_maybe_squashed bs p1 in + is_applied_maybe_squashed bs p1 in (match uu____16791 with | FStar_Pervasives_Native.Some bv' when FStar_Syntax_Syntax.bv_eq bv bv' -> @@ -5288,121 +5688,133 @@ and (maybe_simplify_aux : FStar_Syntax_Util.t_false (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot - FStar_Syntax_Util.ktype0)) in + FStar_Syntax_Util.ktype0)) + in let uu____16805 = FStar_Syntax_Subst.subst [FStar_Syntax_Syntax.NT (bv, ffalse)] - q in + q + in FStar_Pervasives_Native.Some uu____16805)) | uu____16808 -> FStar_Pervasives_Native.None) | uu____16811 -> FStar_Pervasives_Native.None) | uu____16814 -> FStar_Pervasives_Native.None)) - | uu____16817 -> FStar_Pervasives_Native.None in + | uu____16817 -> FStar_Pervasives_Native.None in let is_forall_const phi = let uu____16830 = - FStar_Syntax_Util.destruct_typ_as_formula phi in + FStar_Syntax_Util.destruct_typ_as_formula phi in match uu____16830 with | FStar_Pervasives_Native.Some (FStar_Syntax_Util.QAll - ((bv, uu____16836)::[], uu____16837, phi')) -> + ((bv,uu____16836)::[],uu____16837,phi')) -> (if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.wpe then - (let uu____16857 = FStar_Syntax_Print.bv_to_string bv in + (let uu____16857 = FStar_Syntax_Print.bv_to_string bv + in let uu____16859 = - FStar_Syntax_Print.term_to_string phi' in + FStar_Syntax_Print.term_to_string phi' in FStar_Util.print2 "WPE> QAll [%s] %s\n" uu____16857 uu____16859) else (); is_quantified_const bv phi') - | uu____16864 -> FStar_Pervasives_Native.None in + | uu____16864 -> FStar_Pervasives_Native.None in let is_const_match phi = let uu____16879 = - let uu____16880 = FStar_Syntax_Subst.compress phi in - uu____16880.FStar_Syntax_Syntax.n in + let uu____16880 = FStar_Syntax_Subst.compress phi in + uu____16880.FStar_Syntax_Syntax.n in match uu____16879 with - | FStar_Syntax_Syntax.Tm_match (uu____16886, br::brs) -> - let uu____16953 = br in + | FStar_Syntax_Syntax.Tm_match (uu____16886,br::brs) -> + let uu____16953 = br in (match uu____16953 with - | (uu____16971, uu____16972, e) -> + | (uu____16971,uu____16972,e) -> let r = - let uu____16994 = simp_t e in + let uu____16994 = simp_t e in match uu____16994 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some b -> let uu____17006 = FStar_List.for_all - (fun uu____17025 -> + (fun uu____17025 -> match uu____17025 with - | (uu____17039, uu____17040, e') -> - let uu____17054 = simp_t e' in + | (uu____17039,uu____17040,e') -> + let uu____17054 = simp_t e' in uu____17054 = (FStar_Pervasives_Native.Some b)) - brs in + brs + in if uu____17006 then FStar_Pervasives_Native.Some b - else FStar_Pervasives_Native.None in + else FStar_Pervasives_Native.None + in r) - | uu____17070 -> FStar_Pervasives_Native.None in + | uu____17070 -> FStar_Pervasives_Native.None in let maybe_auto_squash t = - let uu____17080 = FStar_Syntax_Util.is_sub_singleton t in + let uu____17080 = FStar_Syntax_Util.is_sub_singleton t in if uu____17080 then t else FStar_Syntax_Util.mk_auto_squash FStar_Syntax_Syntax.U_zero - t in + t + in let squashed_head_un_auto_squash_args t = let maybe_un_auto_squash_arg uu____17118 = match uu____17118 with - | (t1, q) -> - let uu____17139 = FStar_Syntax_Util.is_auto_squash t1 in + | (t1,q) -> + let uu____17139 = FStar_Syntax_Util.is_auto_squash t1 + in (match uu____17139 with | FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.U_zero, t2) -> (t2, q) - | uu____17171 -> (t1, q)) in - let uu____17184 = FStar_Syntax_Util.head_and_args t in + (FStar_Syntax_Syntax.U_zero ,t2) -> (t2, q) + | uu____17171 -> (t1, q)) + in + let uu____17184 = FStar_Syntax_Util.head_and_args t in match uu____17184 with - | (head1, args) -> - let args1 = FStar_List.map maybe_un_auto_squash_arg args in + | (head1,args) -> + let args1 = FStar_List.map maybe_un_auto_squash_arg args + in FStar_Syntax_Syntax.mk_Tm_app head1 args1 - FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos + in let rec clearly_inhabited ty = let uu____17264 = - let uu____17265 = FStar_Syntax_Util.unmeta ty in - uu____17265.FStar_Syntax_Syntax.n in + let uu____17265 = FStar_Syntax_Util.unmeta ty in + uu____17265.FStar_Syntax_Syntax.n in match uu____17264 with - | FStar_Syntax_Syntax.Tm_uinst (t, uu____17270) -> + | FStar_Syntax_Syntax.Tm_uinst (t,uu____17270) -> clearly_inhabited t - | FStar_Syntax_Syntax.Tm_arrow (uu____17275, c) -> + | FStar_Syntax_Syntax.Tm_arrow (uu____17275,c) -> clearly_inhabited (FStar_Syntax_Util.comp_result c) | FStar_Syntax_Syntax.Tm_fvar fv -> - let l = FStar_Syntax_Syntax.lid_of_fv fv in + let l = FStar_Syntax_Syntax.lid_of_fv fv in (((FStar_Ident.lid_equals l FStar_Parser_Const.int_lid) || (FStar_Ident.lid_equals l FStar_Parser_Const.bool_lid)) || (FStar_Ident.lid_equals l FStar_Parser_Const.string_lid)) || (FStar_Ident.lid_equals l FStar_Parser_Const.exn_lid) - | uu____17299 -> false in + | uu____17299 -> false in let simplify1 arg = - let uu____17332 = simp_t (FStar_Pervasives_Native.fst arg) in - (uu____17332, arg) in - let uu____17347 = is_forall_const tm1 in + let uu____17332 = simp_t (FStar_Pervasives_Native.fst arg) in + (uu____17332, arg) in + let uu____17347 = is_forall_const tm1 in match uu____17347 with | FStar_Pervasives_Native.Some tm' -> (if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.wpe then - (let uu____17353 = FStar_Syntax_Print.term_to_string tm1 in - let uu____17355 = FStar_Syntax_Print.term_to_string tm' in + (let uu____17353 = FStar_Syntax_Print.term_to_string tm1 + in + let uu____17355 = FStar_Syntax_Print.term_to_string tm' + in FStar_Util.print2 "WPE> %s ~> %s\n" uu____17353 uu____17355) else (); - (let uu____17360 = norm cfg env [] tm' in + (let uu____17360 = norm cfg env [] tm' in maybe_simplify_aux cfg env stack uu____17360)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____17361 = - let uu____17362 = FStar_Syntax_Subst.compress tm1 in - uu____17362.FStar_Syntax_Syntax.n in + let uu____17362 = FStar_Syntax_Subst.compress tm1 in + uu____17362.FStar_Syntax_Syntax.n in (match uu____17361 with | FStar_Syntax_Syntax.Tm_app ({ @@ -5411,87 +5823,89 @@ and (maybe_simplify_aux : FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos = uu____17366; - FStar_Syntax_Syntax.vars = uu____17367;_}, - uu____17368); + FStar_Syntax_Syntax.vars = uu____17367;_},uu____17368); FStar_Syntax_Syntax.pos = uu____17369; - FStar_Syntax_Syntax.vars = uu____17370;_}, - args) + FStar_Syntax_Syntax.vars = uu____17370;_},args) -> let uu____17400 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.and_lid in + FStar_Parser_Const.and_lid + in if uu____17400 then let uu____17403 = FStar_All.pipe_right args - (FStar_List.map simplify1) in + (FStar_List.map simplify1) + in (match uu____17403 with - | (FStar_Pervasives_Native.Some (true), uu____17461):: - (uu____17462, (arg, uu____17464))::[] -> + | (FStar_Pervasives_Native.Some (true ),uu____17461):: + (uu____17462,(arg,uu____17464))::[] -> maybe_auto_squash arg - | (uu____17537, (arg, uu____17539))::(FStar_Pervasives_Native.Some - (true), - uu____17540)::[] + | (uu____17537,(arg,uu____17539))::(FStar_Pervasives_Native.Some + (true + ),uu____17540)::[] -> maybe_auto_squash arg - | (FStar_Pervasives_Native.Some (false), - uu____17613)::uu____17614::[] -> + | (FStar_Pervasives_Native.Some (false + ),uu____17613)::uu____17614::[] -> w FStar_Syntax_Util.t_false - | uu____17684::(FStar_Pervasives_Native.Some - (false), uu____17685)::[] + | uu____17684::(FStar_Pervasives_Native.Some (false + ),uu____17685)::[] -> w FStar_Syntax_Util.t_false | uu____17755 -> squashed_head_un_auto_squash_args tm1) else (let uu____17773 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.or_lid in + FStar_Parser_Const.or_lid + in if uu____17773 then let uu____17776 = FStar_All.pipe_right args - (FStar_List.map simplify1) in + (FStar_List.map simplify1) + in match uu____17776 with - | (FStar_Pervasives_Native.Some (true), - uu____17834)::uu____17835::[] -> + | (FStar_Pervasives_Native.Some (true + ),uu____17834)::uu____17835::[] -> w FStar_Syntax_Util.t_true - | uu____17905::(FStar_Pervasives_Native.Some - (true), uu____17906)::[] + | uu____17905::(FStar_Pervasives_Native.Some (true + ),uu____17906)::[] -> w FStar_Syntax_Util.t_true - | (FStar_Pervasives_Native.Some (false), - uu____17976)::(uu____17977, (arg, uu____17979))::[] + | (FStar_Pervasives_Native.Some (false + ),uu____17976)::(uu____17977,(arg,uu____17979))::[] -> maybe_auto_squash arg - | (uu____18052, (arg, uu____18054))::(FStar_Pervasives_Native.Some - (false), - uu____18055)::[] + | (uu____18052,(arg,uu____18054))::(FStar_Pervasives_Native.Some + (false + ),uu____18055)::[] -> maybe_auto_squash arg | uu____18128 -> squashed_head_un_auto_squash_args tm1 else (let uu____18146 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.imp_lid in + FStar_Parser_Const.imp_lid + in if uu____18146 then let uu____18149 = FStar_All.pipe_right args - (FStar_List.map simplify1) in + (FStar_List.map simplify1) + in match uu____18149 with | uu____18207::(FStar_Pervasives_Native.Some - (true), uu____18208)::[] + (true ),uu____18208)::[] -> w FStar_Syntax_Util.t_true - | (FStar_Pervasives_Native.Some (false), - uu____18278)::uu____18279::[] -> + | (FStar_Pervasives_Native.Some (false + ),uu____18278)::uu____18279::[] -> w FStar_Syntax_Util.t_true - | (FStar_Pervasives_Native.Some (true), - uu____18349)::(uu____18350, - (arg, uu____18352))::[] + | (FStar_Pervasives_Native.Some (true + ),uu____18349)::(uu____18350,(arg,uu____18352))::[] -> maybe_auto_squash arg - | (uu____18425, (p, uu____18427))::(uu____18428, - (q, - uu____18430))::[] + | (uu____18425,(p,uu____18427))::(uu____18428, + (q,uu____18430))::[] -> let uu____18502 = - FStar_Syntax_Util.term_eq p q in + FStar_Syntax_Util.term_eq p q in (if uu____18502 then w FStar_Syntax_Util.t_true else squashed_head_un_auto_squash_args tm1) @@ -5500,57 +5914,56 @@ and (maybe_simplify_aux : else (let uu____18525 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.iff_lid in + FStar_Parser_Const.iff_lid + in if uu____18525 then let uu____18528 = FStar_All.pipe_right args - (FStar_List.map simplify1) in + (FStar_List.map simplify1) + in match uu____18528 with - | (FStar_Pervasives_Native.Some (true), - uu____18586)::(FStar_Pervasives_Native.Some - (true), uu____18587)::[] + | (FStar_Pervasives_Native.Some (true + ),uu____18586)::(FStar_Pervasives_Native.Some + (true ),uu____18587)::[] -> w FStar_Syntax_Util.t_true - | (FStar_Pervasives_Native.Some (false), - uu____18661)::(FStar_Pervasives_Native.Some - (false), uu____18662)::[] + | (FStar_Pervasives_Native.Some (false + ),uu____18661)::(FStar_Pervasives_Native.Some + (false ),uu____18662)::[] -> w FStar_Syntax_Util.t_true - | (FStar_Pervasives_Native.Some (true), - uu____18736)::(FStar_Pervasives_Native.Some - (false), uu____18737)::[] + | (FStar_Pervasives_Native.Some (true + ),uu____18736)::(FStar_Pervasives_Native.Some + (false ),uu____18737)::[] -> w FStar_Syntax_Util.t_false - | (FStar_Pervasives_Native.Some (false), - uu____18811)::(FStar_Pervasives_Native.Some - (true), uu____18812)::[] + | (FStar_Pervasives_Native.Some (false + ),uu____18811)::(FStar_Pervasives_Native.Some + (true ),uu____18812)::[] -> w FStar_Syntax_Util.t_false - | (uu____18886, (arg, uu____18888)):: - (FStar_Pervasives_Native.Some (true), - uu____18889)::[] + | (uu____18886,(arg,uu____18888))::(FStar_Pervasives_Native.Some + (true + ),uu____18889)::[] -> maybe_auto_squash arg - | (FStar_Pervasives_Native.Some (true), - uu____18962)::(uu____18963, - (arg, uu____18965))::[] + | (FStar_Pervasives_Native.Some (true + ),uu____18962)::(uu____18963,(arg,uu____18965))::[] -> maybe_auto_squash arg - | (uu____19038, (arg, uu____19040)):: - (FStar_Pervasives_Native.Some (false), - uu____19041)::[] + | (uu____19038,(arg,uu____19040))::(FStar_Pervasives_Native.Some + (false + ),uu____19041)::[] -> let uu____19114 = - FStar_Syntax_Util.mk_neg arg in + FStar_Syntax_Util.mk_neg arg in maybe_auto_squash uu____19114 - | (FStar_Pervasives_Native.Some (false), - uu____19115)::(uu____19116, - (arg, uu____19118))::[] + | (FStar_Pervasives_Native.Some (false + ),uu____19115)::(uu____19116,(arg,uu____19118))::[] -> let uu____19191 = - FStar_Syntax_Util.mk_neg arg in + FStar_Syntax_Util.mk_neg arg in maybe_auto_squash uu____19191 - | (uu____19192, (p, uu____19194))::(uu____19195, - (q, - uu____19197))::[] + | (uu____19192,(p,uu____19194))::(uu____19195, + (q,uu____19197))::[] -> let uu____19269 = - FStar_Syntax_Util.term_eq p q in + FStar_Syntax_Util.term_eq p q in (if uu____19269 then w FStar_Syntax_Util.t_true else @@ -5560,67 +5973,74 @@ and (maybe_simplify_aux : else (let uu____19292 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.not_lid in + FStar_Parser_Const.not_lid + in if uu____19292 then let uu____19295 = FStar_All.pipe_right args - (FStar_List.map simplify1) in + (FStar_List.map simplify1) + in match uu____19295 with - | (FStar_Pervasives_Native.Some (true), - uu____19353)::[] -> + | (FStar_Pervasives_Native.Some (true + ),uu____19353)::[] -> w FStar_Syntax_Util.t_false - | (FStar_Pervasives_Native.Some (false), - uu____19397)::[] -> + | (FStar_Pervasives_Native.Some (false + ),uu____19397)::[] -> w FStar_Syntax_Util.t_true | uu____19441 -> squashed_head_un_auto_squash_args tm1 else (let uu____19459 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.forall_lid in + FStar_Parser_Const.forall_lid + in if uu____19459 then match args with - | (t, uu____19463)::[] -> + | (t,uu____19463)::[] -> let uu____19488 = let uu____19489 = - FStar_Syntax_Subst.compress t in - uu____19489.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress t + in + uu____19489.FStar_Syntax_Syntax.n + in (match uu____19488 with | FStar_Syntax_Syntax.Tm_abs - (uu____19492::[], body, - uu____19494) + (uu____19492::[],body,uu____19494) -> - let uu____19529 = simp_t body in + let uu____19529 = simp_t body + in (match uu____19529 with | FStar_Pervasives_Native.Some - (true) -> + (true ) -> w FStar_Syntax_Util.t_true | uu____19535 -> tm1) | uu____19539 -> tm1) - | (ty, FStar_Pervasives_Native.Some + | (ty,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit - uu____19541))::(t, uu____19543)::[] + uu____19541))::(t,uu____19543)::[] -> let uu____19583 = let uu____19584 = - FStar_Syntax_Subst.compress t in - uu____19584.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress t + in + uu____19584.FStar_Syntax_Syntax.n + in (match uu____19583 with | FStar_Syntax_Syntax.Tm_abs - (uu____19587::[], body, - uu____19589) + (uu____19587::[],body,uu____19589) -> - let uu____19624 = simp_t body in + let uu____19624 = simp_t body + in (match uu____19624 with | FStar_Pervasives_Native.Some - (true) -> + (true ) -> w FStar_Syntax_Util.t_true | FStar_Pervasives_Native.Some - (false) when + (false ) when clearly_inhabited ty -> w FStar_Syntax_Util.t_false @@ -5630,53 +6050,56 @@ and (maybe_simplify_aux : else (let uu____19650 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.exists_lid in + FStar_Parser_Const.exists_lid + in if uu____19650 then match args with - | (t, uu____19654)::[] -> + | (t,uu____19654)::[] -> let uu____19679 = let uu____19680 = FStar_Syntax_Subst.compress - t in - uu____19680.FStar_Syntax_Syntax.n in + t + in + uu____19680.FStar_Syntax_Syntax.n + in (match uu____19679 with | FStar_Syntax_Syntax.Tm_abs - (uu____19683::[], body, - uu____19685) + (uu____19683::[],body,uu____19685) -> let uu____19720 = - simp_t body in + simp_t body in (match uu____19720 with | FStar_Pervasives_Native.Some - (false) -> + (false ) -> w FStar_Syntax_Util.t_false | uu____19726 -> tm1) | uu____19730 -> tm1) - | (ty, FStar_Pervasives_Native.Some + | (ty,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit - uu____19732))::(t, uu____19734)::[] + uu____19732))::(t,uu____19734)::[] -> let uu____19774 = let uu____19775 = FStar_Syntax_Subst.compress - t in - uu____19775.FStar_Syntax_Syntax.n in + t + in + uu____19775.FStar_Syntax_Syntax.n + in (match uu____19774 with | FStar_Syntax_Syntax.Tm_abs - (uu____19778::[], body, - uu____19780) + (uu____19778::[],body,uu____19780) -> let uu____19815 = - simp_t body in + simp_t body in (match uu____19815 with | FStar_Pervasives_Native.Some - (false) -> + (false ) -> w FStar_Syntax_Util.t_false | FStar_Pervasives_Native.Some - (true) when + (true ) when clearly_inhabited ty -> w @@ -5687,7 +6110,8 @@ and (maybe_simplify_aux : else (let uu____19841 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.b2t_lid in + FStar_Parser_Const.b2t_lid + in if uu____19841 then match args with @@ -5695,30 +6119,31 @@ and (maybe_simplify_aux : FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool - (true)); + (true )); FStar_Syntax_Syntax.pos = uu____19844; FStar_Syntax_Syntax.vars = - uu____19845;_}, - uu____19846)::[] -> + uu____19845;_},uu____19846)::[] + -> w FStar_Syntax_Util.t_true | ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool - (false)); + (false )); FStar_Syntax_Syntax.pos = uu____19872; FStar_Syntax_Syntax.vars = - uu____19873;_}, - uu____19874)::[] -> + uu____19873;_},uu____19874)::[] + -> w FStar_Syntax_Util.t_false | uu____19900 -> tm1 else (let uu____19913 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.haseq_lid in + FStar_Parser_Const.haseq_lid + in if uu____19913 then let t_has_eq_for_sure t = @@ -5726,23 +6151,26 @@ and (maybe_simplify_aux : [FStar_Parser_Const.int_lid; FStar_Parser_Const.bool_lid; FStar_Parser_Const.unit_lid; - FStar_Parser_Const.string_lid] in + FStar_Parser_Const.string_lid] + in let uu____19927 = let uu____19928 = FStar_Syntax_Subst.compress - t in - uu____19928.FStar_Syntax_Syntax.n in + t + in + uu____19928.FStar_Syntax_Syntax.n + in match uu____19927 with | FStar_Syntax_Syntax.Tm_fvar fv1 when FStar_All.pipe_right haseq_lids (FStar_List.existsb - (fun l -> + (fun l -> FStar_Syntax_Syntax.fv_eq_lid fv1 l)) -> true - | uu____19939 -> false in + | uu____19939 -> false in (if (FStar_List.length args) = (Prims.parse_int "1") @@ -5750,13 +6178,16 @@ and (maybe_simplify_aux : let t = let uu____19953 = FStar_All.pipe_right - args FStar_List.hd in + args FStar_List.hd + in FStar_All.pipe_right uu____19953 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let uu____19992 = FStar_All.pipe_right t - t_has_eq_for_sure in + t_has_eq_for_sure + in (if uu____19992 then w @@ -5765,18 +6196,22 @@ and (maybe_simplify_aux : (let uu____19998 = let uu____19999 = FStar_Syntax_Subst.compress - t in - uu____19999.FStar_Syntax_Syntax.n in + t + in + uu____19999.FStar_Syntax_Syntax.n + in match uu____19998 with | FStar_Syntax_Syntax.Tm_refine uu____20002 -> let t1 = FStar_Syntax_Util.unrefine - t in + t + in let uu____20010 = FStar_All.pipe_right t1 - t_has_eq_for_sure in + t_has_eq_for_sure + in if uu____20010 then w @@ -5788,26 +6223,29 @@ and (maybe_simplify_aux : let uu____20020 = FStar_Syntax_Subst.compress - tm1 in - uu____20020.FStar_Syntax_Syntax.n in + tm1 in + uu____20020.FStar_Syntax_Syntax.n + in match uu____20019 with | FStar_Syntax_Syntax.Tm_app - (hd1, - uu____20026) + (hd1,uu____20026) -> hd1 | uu____20051 -> failwith - "Impossible! We have already checked that this is a Tm_app" in + "Impossible! We have already checked that this is a Tm_app" + in let uu____20055 = let uu____20066 = FStar_All.pipe_right t1 - FStar_Syntax_Syntax.as_arg in - [uu____20066] in + FStar_Syntax_Syntax.as_arg + in + [uu____20066] + in FStar_Syntax_Util.mk_app haseq_tm uu____20055) @@ -5816,11 +6254,12 @@ and (maybe_simplify_aux : else (let uu____20104 = FStar_Syntax_Util.is_auto_squash - tm1 in + tm1 + in match uu____20104 with | FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.U_zero, - t) + (FStar_Syntax_Syntax.U_zero + ,t) when FStar_Syntax_Util.is_sub_singleton t @@ -5828,93 +6267,97 @@ and (maybe_simplify_aux : | uu____20124 -> let uu____20133 = let uu____20140 = - norm_cb cfg in + norm_cb cfg in reduce_equality - uu____20140 cfg env in + uu____20140 cfg env + in uu____20133 tm1))))))))) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos = uu____20146; - FStar_Syntax_Syntax.vars = uu____20147;_}, - args) + FStar_Syntax_Syntax.vars = uu____20147;_},args) -> let uu____20173 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.and_lid in + FStar_Parser_Const.and_lid + in if uu____20173 then let uu____20176 = FStar_All.pipe_right args - (FStar_List.map simplify1) in + (FStar_List.map simplify1) + in (match uu____20176 with - | (FStar_Pervasives_Native.Some (true), uu____20234):: - (uu____20235, (arg, uu____20237))::[] -> + | (FStar_Pervasives_Native.Some (true ),uu____20234):: + (uu____20235,(arg,uu____20237))::[] -> maybe_auto_squash arg - | (uu____20310, (arg, uu____20312))::(FStar_Pervasives_Native.Some - (true), - uu____20313)::[] + | (uu____20310,(arg,uu____20312))::(FStar_Pervasives_Native.Some + (true + ),uu____20313)::[] -> maybe_auto_squash arg - | (FStar_Pervasives_Native.Some (false), - uu____20386)::uu____20387::[] -> + | (FStar_Pervasives_Native.Some (false + ),uu____20386)::uu____20387::[] -> w FStar_Syntax_Util.t_false - | uu____20457::(FStar_Pervasives_Native.Some - (false), uu____20458)::[] + | uu____20457::(FStar_Pervasives_Native.Some (false + ),uu____20458)::[] -> w FStar_Syntax_Util.t_false | uu____20528 -> squashed_head_un_auto_squash_args tm1) else (let uu____20546 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.or_lid in + FStar_Parser_Const.or_lid + in if uu____20546 then let uu____20549 = FStar_All.pipe_right args - (FStar_List.map simplify1) in + (FStar_List.map simplify1) + in match uu____20549 with - | (FStar_Pervasives_Native.Some (true), - uu____20607)::uu____20608::[] -> + | (FStar_Pervasives_Native.Some (true + ),uu____20607)::uu____20608::[] -> w FStar_Syntax_Util.t_true - | uu____20678::(FStar_Pervasives_Native.Some - (true), uu____20679)::[] + | uu____20678::(FStar_Pervasives_Native.Some (true + ),uu____20679)::[] -> w FStar_Syntax_Util.t_true - | (FStar_Pervasives_Native.Some (false), - uu____20749)::(uu____20750, (arg, uu____20752))::[] + | (FStar_Pervasives_Native.Some (false + ),uu____20749)::(uu____20750,(arg,uu____20752))::[] -> maybe_auto_squash arg - | (uu____20825, (arg, uu____20827))::(FStar_Pervasives_Native.Some - (false), - uu____20828)::[] + | (uu____20825,(arg,uu____20827))::(FStar_Pervasives_Native.Some + (false + ),uu____20828)::[] -> maybe_auto_squash arg | uu____20901 -> squashed_head_un_auto_squash_args tm1 else (let uu____20919 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.imp_lid in + FStar_Parser_Const.imp_lid + in if uu____20919 then let uu____20922 = FStar_All.pipe_right args - (FStar_List.map simplify1) in + (FStar_List.map simplify1) + in match uu____20922 with | uu____20980::(FStar_Pervasives_Native.Some - (true), uu____20981)::[] + (true ),uu____20981)::[] -> w FStar_Syntax_Util.t_true - | (FStar_Pervasives_Native.Some (false), - uu____21051)::uu____21052::[] -> + | (FStar_Pervasives_Native.Some (false + ),uu____21051)::uu____21052::[] -> w FStar_Syntax_Util.t_true - | (FStar_Pervasives_Native.Some (true), - uu____21122)::(uu____21123, - (arg, uu____21125))::[] + | (FStar_Pervasives_Native.Some (true + ),uu____21122)::(uu____21123,(arg,uu____21125))::[] -> maybe_auto_squash arg - | (uu____21198, (p, uu____21200))::(uu____21201, - (q, - uu____21203))::[] + | (uu____21198,(p,uu____21200))::(uu____21201, + (q,uu____21203))::[] -> let uu____21275 = - FStar_Syntax_Util.term_eq p q in + FStar_Syntax_Util.term_eq p q in (if uu____21275 then w FStar_Syntax_Util.t_true else squashed_head_un_auto_squash_args tm1) @@ -5923,57 +6366,56 @@ and (maybe_simplify_aux : else (let uu____21298 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.iff_lid in + FStar_Parser_Const.iff_lid + in if uu____21298 then let uu____21301 = FStar_All.pipe_right args - (FStar_List.map simplify1) in + (FStar_List.map simplify1) + in match uu____21301 with - | (FStar_Pervasives_Native.Some (true), - uu____21359)::(FStar_Pervasives_Native.Some - (true), uu____21360)::[] + | (FStar_Pervasives_Native.Some (true + ),uu____21359)::(FStar_Pervasives_Native.Some + (true ),uu____21360)::[] -> w FStar_Syntax_Util.t_true - | (FStar_Pervasives_Native.Some (false), - uu____21434)::(FStar_Pervasives_Native.Some - (false), uu____21435)::[] + | (FStar_Pervasives_Native.Some (false + ),uu____21434)::(FStar_Pervasives_Native.Some + (false ),uu____21435)::[] -> w FStar_Syntax_Util.t_true - | (FStar_Pervasives_Native.Some (true), - uu____21509)::(FStar_Pervasives_Native.Some - (false), uu____21510)::[] + | (FStar_Pervasives_Native.Some (true + ),uu____21509)::(FStar_Pervasives_Native.Some + (false ),uu____21510)::[] -> w FStar_Syntax_Util.t_false - | (FStar_Pervasives_Native.Some (false), - uu____21584)::(FStar_Pervasives_Native.Some - (true), uu____21585)::[] + | (FStar_Pervasives_Native.Some (false + ),uu____21584)::(FStar_Pervasives_Native.Some + (true ),uu____21585)::[] -> w FStar_Syntax_Util.t_false - | (uu____21659, (arg, uu____21661)):: - (FStar_Pervasives_Native.Some (true), - uu____21662)::[] + | (uu____21659,(arg,uu____21661))::(FStar_Pervasives_Native.Some + (true + ),uu____21662)::[] -> maybe_auto_squash arg - | (FStar_Pervasives_Native.Some (true), - uu____21735)::(uu____21736, - (arg, uu____21738))::[] + | (FStar_Pervasives_Native.Some (true + ),uu____21735)::(uu____21736,(arg,uu____21738))::[] -> maybe_auto_squash arg - | (uu____21811, (arg, uu____21813)):: - (FStar_Pervasives_Native.Some (false), - uu____21814)::[] + | (uu____21811,(arg,uu____21813))::(FStar_Pervasives_Native.Some + (false + ),uu____21814)::[] -> let uu____21887 = - FStar_Syntax_Util.mk_neg arg in + FStar_Syntax_Util.mk_neg arg in maybe_auto_squash uu____21887 - | (FStar_Pervasives_Native.Some (false), - uu____21888)::(uu____21889, - (arg, uu____21891))::[] + | (FStar_Pervasives_Native.Some (false + ),uu____21888)::(uu____21889,(arg,uu____21891))::[] -> let uu____21964 = - FStar_Syntax_Util.mk_neg arg in + FStar_Syntax_Util.mk_neg arg in maybe_auto_squash uu____21964 - | (uu____21965, (p, uu____21967))::(uu____21968, - (q, - uu____21970))::[] + | (uu____21965,(p,uu____21967))::(uu____21968, + (q,uu____21970))::[] -> let uu____22042 = - FStar_Syntax_Util.term_eq p q in + FStar_Syntax_Util.term_eq p q in (if uu____22042 then w FStar_Syntax_Util.t_true else @@ -5983,67 +6425,74 @@ and (maybe_simplify_aux : else (let uu____22065 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.not_lid in + FStar_Parser_Const.not_lid + in if uu____22065 then let uu____22068 = FStar_All.pipe_right args - (FStar_List.map simplify1) in + (FStar_List.map simplify1) + in match uu____22068 with - | (FStar_Pervasives_Native.Some (true), - uu____22126)::[] -> + | (FStar_Pervasives_Native.Some (true + ),uu____22126)::[] -> w FStar_Syntax_Util.t_false - | (FStar_Pervasives_Native.Some (false), - uu____22170)::[] -> + | (FStar_Pervasives_Native.Some (false + ),uu____22170)::[] -> w FStar_Syntax_Util.t_true | uu____22214 -> squashed_head_un_auto_squash_args tm1 else (let uu____22232 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.forall_lid in + FStar_Parser_Const.forall_lid + in if uu____22232 then match args with - | (t, uu____22236)::[] -> + | (t,uu____22236)::[] -> let uu____22261 = let uu____22262 = - FStar_Syntax_Subst.compress t in - uu____22262.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress t + in + uu____22262.FStar_Syntax_Syntax.n + in (match uu____22261 with | FStar_Syntax_Syntax.Tm_abs - (uu____22265::[], body, - uu____22267) + (uu____22265::[],body,uu____22267) -> - let uu____22302 = simp_t body in + let uu____22302 = simp_t body + in (match uu____22302 with | FStar_Pervasives_Native.Some - (true) -> + (true ) -> w FStar_Syntax_Util.t_true | uu____22308 -> tm1) | uu____22312 -> tm1) - | (ty, FStar_Pervasives_Native.Some + | (ty,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit - uu____22314))::(t, uu____22316)::[] + uu____22314))::(t,uu____22316)::[] -> let uu____22356 = let uu____22357 = - FStar_Syntax_Subst.compress t in - uu____22357.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress t + in + uu____22357.FStar_Syntax_Syntax.n + in (match uu____22356 with | FStar_Syntax_Syntax.Tm_abs - (uu____22360::[], body, - uu____22362) + (uu____22360::[],body,uu____22362) -> - let uu____22397 = simp_t body in + let uu____22397 = simp_t body + in (match uu____22397 with | FStar_Pervasives_Native.Some - (true) -> + (true ) -> w FStar_Syntax_Util.t_true | FStar_Pervasives_Native.Some - (false) when + (false ) when clearly_inhabited ty -> w FStar_Syntax_Util.t_false @@ -6053,53 +6502,56 @@ and (maybe_simplify_aux : else (let uu____22423 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.exists_lid in + FStar_Parser_Const.exists_lid + in if uu____22423 then match args with - | (t, uu____22427)::[] -> + | (t,uu____22427)::[] -> let uu____22452 = let uu____22453 = FStar_Syntax_Subst.compress - t in - uu____22453.FStar_Syntax_Syntax.n in + t + in + uu____22453.FStar_Syntax_Syntax.n + in (match uu____22452 with | FStar_Syntax_Syntax.Tm_abs - (uu____22456::[], body, - uu____22458) + (uu____22456::[],body,uu____22458) -> let uu____22493 = - simp_t body in + simp_t body in (match uu____22493 with | FStar_Pervasives_Native.Some - (false) -> + (false ) -> w FStar_Syntax_Util.t_false | uu____22499 -> tm1) | uu____22503 -> tm1) - | (ty, FStar_Pervasives_Native.Some + | (ty,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit - uu____22505))::(t, uu____22507)::[] + uu____22505))::(t,uu____22507)::[] -> let uu____22547 = let uu____22548 = FStar_Syntax_Subst.compress - t in - uu____22548.FStar_Syntax_Syntax.n in + t + in + uu____22548.FStar_Syntax_Syntax.n + in (match uu____22547 with | FStar_Syntax_Syntax.Tm_abs - (uu____22551::[], body, - uu____22553) + (uu____22551::[],body,uu____22553) -> let uu____22588 = - simp_t body in + simp_t body in (match uu____22588 with | FStar_Pervasives_Native.Some - (false) -> + (false ) -> w FStar_Syntax_Util.t_false | FStar_Pervasives_Native.Some - (true) when + (true ) when clearly_inhabited ty -> w @@ -6110,7 +6562,8 @@ and (maybe_simplify_aux : else (let uu____22614 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.b2t_lid in + FStar_Parser_Const.b2t_lid + in if uu____22614 then match args with @@ -6118,30 +6571,31 @@ and (maybe_simplify_aux : FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool - (true)); + (true )); FStar_Syntax_Syntax.pos = uu____22617; FStar_Syntax_Syntax.vars = - uu____22618;_}, - uu____22619)::[] -> + uu____22618;_},uu____22619)::[] + -> w FStar_Syntax_Util.t_true | ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_bool - (false)); + (false )); FStar_Syntax_Syntax.pos = uu____22645; FStar_Syntax_Syntax.vars = - uu____22646;_}, - uu____22647)::[] -> + uu____22646;_},uu____22647)::[] + -> w FStar_Syntax_Util.t_false | uu____22673 -> tm1 else (let uu____22686 = FStar_Syntax_Syntax.fv_eq_lid fv - FStar_Parser_Const.haseq_lid in + FStar_Parser_Const.haseq_lid + in if uu____22686 then let t_has_eq_for_sure t = @@ -6149,23 +6603,26 @@ and (maybe_simplify_aux : [FStar_Parser_Const.int_lid; FStar_Parser_Const.bool_lid; FStar_Parser_Const.unit_lid; - FStar_Parser_Const.string_lid] in + FStar_Parser_Const.string_lid] + in let uu____22700 = let uu____22701 = FStar_Syntax_Subst.compress - t in - uu____22701.FStar_Syntax_Syntax.n in + t + in + uu____22701.FStar_Syntax_Syntax.n + in match uu____22700 with | FStar_Syntax_Syntax.Tm_fvar fv1 when FStar_All.pipe_right haseq_lids (FStar_List.existsb - (fun l -> + (fun l -> FStar_Syntax_Syntax.fv_eq_lid fv1 l)) -> true - | uu____22712 -> false in + | uu____22712 -> false in (if (FStar_List.length args) = (Prims.parse_int "1") @@ -6173,13 +6630,16 @@ and (maybe_simplify_aux : let t = let uu____22726 = FStar_All.pipe_right - args FStar_List.hd in + args FStar_List.hd + in FStar_All.pipe_right uu____22726 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let uu____22761 = FStar_All.pipe_right t - t_has_eq_for_sure in + t_has_eq_for_sure + in (if uu____22761 then w @@ -6188,18 +6648,22 @@ and (maybe_simplify_aux : (let uu____22767 = let uu____22768 = FStar_Syntax_Subst.compress - t in - uu____22768.FStar_Syntax_Syntax.n in + t + in + uu____22768.FStar_Syntax_Syntax.n + in match uu____22767 with | FStar_Syntax_Syntax.Tm_refine uu____22771 -> let t1 = FStar_Syntax_Util.unrefine - t in + t + in let uu____22779 = FStar_All.pipe_right t1 - t_has_eq_for_sure in + t_has_eq_for_sure + in if uu____22779 then w @@ -6211,26 +6675,29 @@ and (maybe_simplify_aux : let uu____22789 = FStar_Syntax_Subst.compress - tm1 in - uu____22789.FStar_Syntax_Syntax.n in + tm1 in + uu____22789.FStar_Syntax_Syntax.n + in match uu____22788 with | FStar_Syntax_Syntax.Tm_app - (hd1, - uu____22795) + (hd1,uu____22795) -> hd1 | uu____22820 -> failwith - "Impossible! We have already checked that this is a Tm_app" in + "Impossible! We have already checked that this is a Tm_app" + in let uu____22824 = let uu____22835 = FStar_All.pipe_right t1 - FStar_Syntax_Syntax.as_arg in - [uu____22835] in + FStar_Syntax_Syntax.as_arg + in + [uu____22835] + in FStar_Syntax_Util.mk_app haseq_tm uu____22824) @@ -6239,11 +6706,12 @@ and (maybe_simplify_aux : else (let uu____22873 = FStar_Syntax_Util.is_auto_squash - tm1 in + tm1 + in match uu____22873 with | FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.U_zero, - t) + (FStar_Syntax_Syntax.U_zero + ,t) when FStar_Syntax_Util.is_sub_singleton t @@ -6251,161 +6719,173 @@ and (maybe_simplify_aux : | uu____22893 -> let uu____22902 = let uu____22909 = - norm_cb cfg in + norm_cb cfg in reduce_equality - uu____22909 cfg env in + uu____22909 cfg env + in uu____22902 tm1))))))))) - | FStar_Syntax_Syntax.Tm_refine (bv, t) -> - let uu____22920 = simp_t t in + | FStar_Syntax_Syntax.Tm_refine (bv,t) -> + let uu____22920 = simp_t t in (match uu____22920 with - | FStar_Pervasives_Native.Some (true) -> + | FStar_Pervasives_Native.Some (true ) -> bv.FStar_Syntax_Syntax.sort - | FStar_Pervasives_Native.Some (false) -> tm1 - | FStar_Pervasives_Native.None -> tm1) + | FStar_Pervasives_Native.Some (false ) -> tm1 + | FStar_Pervasives_Native.None -> tm1) | FStar_Syntax_Syntax.Tm_match uu____22929 -> - let uu____22952 = is_const_match tm1 in + let uu____22952 = is_const_match tm1 in (match uu____22952 with - | FStar_Pervasives_Native.Some (true) -> + | FStar_Pervasives_Native.Some (true ) -> w FStar_Syntax_Util.t_true - | FStar_Pervasives_Native.Some (false) -> + | FStar_Pervasives_Native.Some (false ) -> w FStar_Syntax_Util.t_false - | FStar_Pervasives_Native.None -> tm1) + | FStar_Pervasives_Native.None -> tm1) | uu____22961 -> tm1)) + and (rebuild : FStar_TypeChecker_Cfg.cfg -> env -> stack -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun cfg -> - fun env -> - fun stack -> - fun t -> + fun cfg -> + fun env -> + fun stack -> + fun t -> FStar_TypeChecker_Cfg.log cfg - (fun uu____22971 -> - (let uu____22973 = FStar_Syntax_Print.tag_of_term t in - let uu____22975 = FStar_Syntax_Print.term_to_string t in + (fun uu____22971 -> + (let uu____22973 = FStar_Syntax_Print.tag_of_term t in + let uu____22975 = FStar_Syntax_Print.term_to_string t in let uu____22977 = - FStar_Util.string_of_int (FStar_List.length env) in + FStar_Util.string_of_int (FStar_List.length env) in let uu____22985 = let uu____22987 = - let uu____22990 = firstn (Prims.parse_int "4") stack in + let uu____22990 = firstn (Prims.parse_int "4") stack in FStar_All.pipe_left FStar_Pervasives_Native.fst - uu____22990 in - stack_to_string uu____22987 in + uu____22990 + in + stack_to_string uu____22987 in FStar_Util.print4 ">>> %s\nRebuild %s with %s env elements and top of the stack %s \n" uu____22973 uu____22975 uu____22977 uu____22985); (let uu____23015 = FStar_TypeChecker_Env.debug cfg.FStar_TypeChecker_Cfg.tcenv - (FStar_Options.Other "NormRebuild") in + (FStar_Options.Other "NormRebuild") + in if uu____23015 then - let uu____23019 = FStar_Syntax_Util.unbound_variables t in + let uu____23019 = FStar_Syntax_Util.unbound_variables t in match uu____23019 with | [] -> () | bvs -> - ((let uu____23026 = FStar_Syntax_Print.tag_of_term t in - let uu____23028 = FStar_Syntax_Print.term_to_string t in + ((let uu____23026 = FStar_Syntax_Print.tag_of_term t + in + let uu____23028 = FStar_Syntax_Print.term_to_string t + in let uu____23030 = let uu____23032 = FStar_All.pipe_right bvs - (FStar_List.map FStar_Syntax_Print.bv_to_string) in + (FStar_List.map FStar_Syntax_Print.bv_to_string) + in FStar_All.pipe_right uu____23032 - (FStar_String.concat ", ") in + (FStar_String.concat ", ") + in FStar_Util.print3 "!!! Rebuild (%s) %s, free vars=%s\n" uu____23026 uu____23028 uu____23030); failwith "DIE!") else ())); - (let f_opt = is_fext_on_domain t in + (let f_opt = is_fext_on_domain t in let uu____23054 = (FStar_All.pipe_right f_opt FStar_Util.is_some) && (match stack with | (Arg uu____23062)::uu____23063 -> true - | uu____23073 -> false) in + | uu____23073 -> false) + in if uu____23054 then - let uu____23076 = FStar_All.pipe_right f_opt FStar_Util.must in + let uu____23076 = FStar_All.pipe_right f_opt FStar_Util.must in FStar_All.pipe_right uu____23076 (norm cfg env stack) else - (let t1 = maybe_simplify cfg env stack t in + (let t1 = maybe_simplify cfg env stack t in match stack with | [] -> t1 - | (Debug (tm, time_then))::stack1 -> + | (Debug (tm,time_then))::stack1 -> (if (cfg.FStar_TypeChecker_Cfg.debug).FStar_TypeChecker_Cfg.print_normalized then - (let time_now = FStar_Util.now () in + (let time_now = FStar_Util.now () in let uu____23090 = let uu____23092 = let uu____23094 = - FStar_Util.time_diff time_then time_now in - FStar_Pervasives_Native.snd uu____23094 in - FStar_Util.string_of_int uu____23092 in - let uu____23101 = FStar_Syntax_Print.term_to_string tm in - let uu____23103 = FStar_Syntax_Print.term_to_string t1 in + FStar_Util.time_diff time_then time_now in + FStar_Pervasives_Native.snd uu____23094 in + FStar_Util.string_of_int uu____23092 in + let uu____23101 = FStar_Syntax_Print.term_to_string tm + in + let uu____23103 = FStar_Syntax_Print.term_to_string t1 + in FStar_Util.print3 "Normalized term (%s ms) %s\n\tto term %s\n" uu____23090 uu____23101 uu____23103) else (); rebuild cfg env stack1 t1) | (Cfg cfg1)::stack1 -> rebuild cfg1 env stack1 t1 - | (Meta (uu____23112, m, r))::stack1 -> - let t2 = mk (FStar_Syntax_Syntax.Tm_meta (t1, m)) r in + | (Meta (uu____23112,m,r))::stack1 -> + let t2 = mk (FStar_Syntax_Syntax.Tm_meta (t1, m)) r in rebuild cfg env stack1 t2 | (MemoLazy r)::stack1 -> (set_memo cfg r (env, t1); FStar_TypeChecker_Cfg.log cfg - (fun uu____23141 -> + (fun uu____23141 -> let uu____23142 = - FStar_Syntax_Print.term_to_string t1 in + FStar_Syntax_Print.term_to_string t1 in FStar_Util.print1 "\tSet memo %s\n" uu____23142); rebuild cfg env stack1 t1) - | (Let (env', bs, lb, r))::stack1 -> - let body = FStar_Syntax_Subst.close bs t1 in + | (Let (env',bs,lb,r))::stack1 -> + let body = FStar_Syntax_Subst.close bs t1 in let t2 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let ((false, [lb]), body)) - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in rebuild cfg env' stack1 t2 - | (Abs (env', bs, env'', lopt, r))::stack1 -> - let bs1 = norm_binders cfg env' bs in - let lopt1 = norm_lcomp_opt cfg env'' lopt in + | (Abs (env',bs,env'',lopt,r))::stack1 -> + let bs1 = norm_binders cfg env' bs in + let lopt1 = norm_lcomp_opt cfg env'' lopt in let uu____23185 = - let uu___2744_23186 = FStar_Syntax_Util.abs bs1 t1 lopt1 in + let uu___2743_23186 = FStar_Syntax_Util.abs bs1 t1 lopt1 + in { FStar_Syntax_Syntax.n = - (uu___2744_23186.FStar_Syntax_Syntax.n); + (uu___2743_23186.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = r; FStar_Syntax_Syntax.vars = - (uu___2744_23186.FStar_Syntax_Syntax.vars) - } in + (uu___2743_23186.FStar_Syntax_Syntax.vars) + } in rebuild cfg env stack1 uu____23185 - | (Arg - (Univ uu____23189, uu____23190, uu____23191))::uu____23192 + | (Arg (Univ uu____23189,uu____23190,uu____23191))::uu____23192 -> failwith "Impossible" - | (Arg (Dummy, uu____23196, uu____23197))::uu____23198 -> + | (Arg (Dummy ,uu____23196,uu____23197))::uu____23198 -> failwith "Impossible" - | (UnivArgs (us, r))::stack1 -> - let t2 = FStar_Syntax_Syntax.mk_Tm_uinst t1 us in + | (UnivArgs (us,r))::stack1 -> + let t2 = FStar_Syntax_Syntax.mk_Tm_uinst t1 us in rebuild cfg env stack1 t2 | (Arg - (Clos (env_arg, tm, uu____23214, uu____23215), aq, r))::stack1 + (Clos (env_arg,tm,uu____23214,uu____23215),aq,r))::stack1 when - let uu____23267 = head_of t1 in + let uu____23267 = head_of t1 in FStar_Syntax_Util.is_fstar_tactics_by_tactic uu____23267 -> let t2 = let uu____23271 = let uu____23276 = - let uu____23277 = closure_as_term cfg env_arg tm in - (uu____23277, aq) in - FStar_Syntax_Syntax.extend_app t1 uu____23276 in - uu____23271 FStar_Pervasives_Native.None r in + let uu____23277 = closure_as_term cfg env_arg tm in + (uu____23277, aq) in + FStar_Syntax_Syntax.extend_app t1 uu____23276 in + uu____23271 FStar_Pervasives_Native.None r in rebuild cfg env stack1 t2 - | (Arg (Clos (env_arg, tm, m, uu____23287), aq, r))::stack1 -> + | (Arg (Clos (env_arg,tm,m,uu____23287),aq,r))::stack1 -> (FStar_TypeChecker_Cfg.log cfg - (fun uu____23342 -> + (fun uu____23342 -> let uu____23343 = - FStar_Syntax_Print.term_to_string tm in + FStar_Syntax_Print.term_to_string tm in FStar_Util.print1 "Rebuilding with arg %s\n" uu____23343); if @@ -6415,71 +6895,76 @@ and (rebuild : (if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.hnf then - let arg = closure_as_term cfg env_arg tm in + let arg = closure_as_term cfg env_arg tm in let t2 = FStar_Syntax_Syntax.extend_app t1 (arg, aq) - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in rebuild cfg env_arg stack1 t2 else - (let stack2 = (App (env, t1, aq, r)) :: stack1 in + (let stack2 = (App (env, t1, aq, r)) :: stack1 in norm cfg env_arg stack2 tm)) else - (let uu____23363 = FStar_ST.op_Bang m in + (let uu____23363 = FStar_ST.op_Bang m in match uu____23363 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> if (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.hnf then - let arg = closure_as_term cfg env_arg tm in + let arg = closure_as_term cfg env_arg tm in let t2 = FStar_Syntax_Syntax.extend_app t1 (arg, aq) - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in rebuild cfg env_arg stack1 t2 else (let stack2 = (MemoLazy m) :: - (App (env, t1, aq, r)) :: stack1 in + (App (env, t1, aq, r)) :: stack1 in norm cfg env_arg stack2 tm) - | FStar_Pervasives_Native.Some (uu____23451, a) -> + | FStar_Pervasives_Native.Some (uu____23451,a) -> let t2 = FStar_Syntax_Syntax.extend_app t1 (a, aq) - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in rebuild cfg env_arg stack1 t2)) - | (App (env1, head1, aq, r))::stack' when - should_reify cfg stack -> - let t0 = t1 in + | (App (env1,head1,aq,r))::stack' when should_reify cfg stack + -> + let t0 = t1 in let fallback msg uu____23507 = FStar_TypeChecker_Cfg.log cfg - (fun uu____23512 -> + (fun uu____23512 -> let uu____23513 = - FStar_Syntax_Print.term_to_string t1 in + FStar_Syntax_Print.term_to_string t1 in FStar_Util.print2 "Not reifying%s: %s\n" msg uu____23513); (let t2 = FStar_Syntax_Syntax.extend_app head1 (t1, aq) - FStar_Pervasives_Native.None r in - rebuild cfg env1 stack' t2) in + FStar_Pervasives_Native.None r + in + rebuild cfg env1 stack' t2) + in let uu____23523 = - let uu____23524 = FStar_Syntax_Subst.compress t1 in - uu____23524.FStar_Syntax_Syntax.n in + let uu____23524 = FStar_Syntax_Subst.compress t1 in + uu____23524.FStar_Syntax_Syntax.n in (match uu____23523 with | FStar_Syntax_Syntax.Tm_meta - (t2, FStar_Syntax_Syntax.Meta_monadic (m, ty)) -> + (t2,FStar_Syntax_Syntax.Meta_monadic (m,ty)) -> do_reify_monadic (fallback " (1)") cfg env1 stack t2 m ty | FStar_Syntax_Syntax.Tm_meta - (t2, FStar_Syntax_Syntax.Meta_monadic_lift - (msrc, mtgt, ty)) + (t2,FStar_Syntax_Syntax.Meta_monadic_lift + (msrc,mtgt,ty)) -> let lifted = - let uu____23552 = closure_as_term cfg env1 ty in - reify_lift cfg t2 msrc mtgt uu____23552 in + let uu____23552 = closure_as_term cfg env1 ty in + reify_lift cfg t2 msrc mtgt uu____23552 in (FStar_TypeChecker_Cfg.log cfg - (fun uu____23556 -> + (fun uu____23556 -> let uu____23557 = - FStar_Syntax_Print.term_to_string lifted in + FStar_Syntax_Print.term_to_string lifted in FStar_Util.print1 "Reified lift to (1): %s\n" uu____23557); - (let uu____23560 = FStar_List.tl stack in + (let uu____23560 = FStar_List.tl stack in norm cfg env1 uu____23560 lifted)) | FStar_Syntax_Syntax.Tm_app ({ @@ -6487,24 +6972,25 @@ and (rebuild : FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reflect uu____23561); FStar_Syntax_Syntax.pos = uu____23562; - FStar_Syntax_Syntax.vars = uu____23563;_}, - (e, uu____23565)::[]) + FStar_Syntax_Syntax.vars = uu____23563;_},(e,uu____23565)::[]) -> norm cfg env1 stack' e | FStar_Syntax_Syntax.Tm_app uu____23604 when (cfg.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.primops -> - let uu____23621 = FStar_Syntax_Util.head_and_args t1 in + let uu____23621 = FStar_Syntax_Util.head_and_args t1 + in (match uu____23621 with - | (hd1, args) -> + | (hd1,args) -> let uu____23664 = let uu____23665 = - FStar_Syntax_Util.un_uinst hd1 in - uu____23665.FStar_Syntax_Syntax.n in + FStar_Syntax_Util.un_uinst hd1 in + uu____23665.FStar_Syntax_Syntax.n in (match uu____23664 with | FStar_Syntax_Syntax.Tm_fvar fv -> let uu____23669 = FStar_TypeChecker_Cfg.find_prim_step cfg - fv in + fv + in (match uu____23669 with | FStar_Pervasives_Native.Some { @@ -6529,249 +7015,264 @@ and (rebuild : | uu____23715 -> fallback " (3)" ()) | uu____23719 -> fallback " (4)" ())) | uu____23721 -> fallback " (2)" ()) - | (App (env1, head1, aq, r))::stack1 -> + | (App (env1,head1,aq,r))::stack1 -> let t2 = FStar_Syntax_Syntax.extend_app head1 (t1, aq) - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in rebuild cfg env1 stack1 t2 - | (Match (env', branches, cfg1, r))::stack1 -> + | (Match (env',branches,cfg1,r))::stack1 -> (FStar_TypeChecker_Cfg.log cfg1 - (fun uu____23747 -> + (fun uu____23747 -> let uu____23748 = - FStar_Syntax_Print.term_to_string t1 in + FStar_Syntax_Print.term_to_string t1 in FStar_Util.print1 "Rebuilding with match, scrutinee is %s ...\n" uu____23748); - (let scrutinee_env = env in - let env1 = env' in - let scrutinee = t1 in + (let scrutinee_env = env in + let env1 = env' in + let scrutinee = t1 in let norm_and_rebuild_match uu____23759 = FStar_TypeChecker_Cfg.log cfg1 - (fun uu____23764 -> + (fun uu____23764 -> let uu____23765 = - FStar_Syntax_Print.term_to_string scrutinee in + FStar_Syntax_Print.term_to_string scrutinee in let uu____23767 = let uu____23769 = FStar_All.pipe_right branches (FStar_List.map - (fun uu____23799 -> + (fun uu____23799 -> match uu____23799 with - | (p, uu____23810, uu____23811) -> - FStar_Syntax_Print.pat_to_string p)) in + | (p,uu____23810,uu____23811) -> + FStar_Syntax_Print.pat_to_string p)) + in FStar_All.pipe_right uu____23769 - (FStar_String.concat "\n\t") in + (FStar_String.concat "\n\t") + in FStar_Util.print2 "match is irreducible: scrutinee=%s\nbranches=%s\n" uu____23765 uu____23767); (let whnf = (cfg1.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weak || - (cfg1.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.hnf in + (cfg1.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.hnf + in let cfg_exclude_zeta = let new_delta = FStar_All.pipe_right cfg1.FStar_TypeChecker_Cfg.delta_level (FStar_List.filter - (fun uu___17_23833 -> + (fun uu___17_23833 -> match uu___17_23833 with - | FStar_TypeChecker_Env.InliningDelta -> + | FStar_TypeChecker_Env.InliningDelta -> true | FStar_TypeChecker_Env.Eager_unfolding_only - -> true - | uu____23837 -> false)) in + -> true + | uu____23837 -> false)) + in let steps = - let uu___2912_23840 = - cfg1.FStar_TypeChecker_Cfg.steps in + let uu___2911_23840 = + cfg1.FStar_TypeChecker_Cfg.steps in { FStar_TypeChecker_Cfg.beta = - (uu___2912_23840.FStar_TypeChecker_Cfg.beta); + (uu___2911_23840.FStar_TypeChecker_Cfg.beta); FStar_TypeChecker_Cfg.iota = - (uu___2912_23840.FStar_TypeChecker_Cfg.iota); + (uu___2911_23840.FStar_TypeChecker_Cfg.iota); FStar_TypeChecker_Cfg.zeta = false; FStar_TypeChecker_Cfg.weak = - (uu___2912_23840.FStar_TypeChecker_Cfg.weak); + (uu___2911_23840.FStar_TypeChecker_Cfg.weak); FStar_TypeChecker_Cfg.hnf = - (uu___2912_23840.FStar_TypeChecker_Cfg.hnf); + (uu___2911_23840.FStar_TypeChecker_Cfg.hnf); FStar_TypeChecker_Cfg.primops = - (uu___2912_23840.FStar_TypeChecker_Cfg.primops); + (uu___2911_23840.FStar_TypeChecker_Cfg.primops); FStar_TypeChecker_Cfg.do_not_unfold_pure_lets = - (uu___2912_23840.FStar_TypeChecker_Cfg.do_not_unfold_pure_lets); + (uu___2911_23840.FStar_TypeChecker_Cfg.do_not_unfold_pure_lets); FStar_TypeChecker_Cfg.unfold_until = FStar_Pervasives_Native.None; FStar_TypeChecker_Cfg.unfold_only = FStar_Pervasives_Native.None; FStar_TypeChecker_Cfg.unfold_fully = - (uu___2912_23840.FStar_TypeChecker_Cfg.unfold_fully); + (uu___2911_23840.FStar_TypeChecker_Cfg.unfold_fully); FStar_TypeChecker_Cfg.unfold_attr = FStar_Pervasives_Native.None; FStar_TypeChecker_Cfg.unfold_tac = false; FStar_TypeChecker_Cfg.pure_subterms_within_computations = - (uu___2912_23840.FStar_TypeChecker_Cfg.pure_subterms_within_computations); + (uu___2911_23840.FStar_TypeChecker_Cfg.pure_subterms_within_computations); FStar_TypeChecker_Cfg.simplify = - (uu___2912_23840.FStar_TypeChecker_Cfg.simplify); + (uu___2911_23840.FStar_TypeChecker_Cfg.simplify); FStar_TypeChecker_Cfg.erase_universes = - (uu___2912_23840.FStar_TypeChecker_Cfg.erase_universes); + (uu___2911_23840.FStar_TypeChecker_Cfg.erase_universes); FStar_TypeChecker_Cfg.allow_unbound_universes = - (uu___2912_23840.FStar_TypeChecker_Cfg.allow_unbound_universes); + (uu___2911_23840.FStar_TypeChecker_Cfg.allow_unbound_universes); FStar_TypeChecker_Cfg.reify_ = - (uu___2912_23840.FStar_TypeChecker_Cfg.reify_); + (uu___2911_23840.FStar_TypeChecker_Cfg.reify_); FStar_TypeChecker_Cfg.compress_uvars = - (uu___2912_23840.FStar_TypeChecker_Cfg.compress_uvars); + (uu___2911_23840.FStar_TypeChecker_Cfg.compress_uvars); FStar_TypeChecker_Cfg.no_full_norm = - (uu___2912_23840.FStar_TypeChecker_Cfg.no_full_norm); + (uu___2911_23840.FStar_TypeChecker_Cfg.no_full_norm); FStar_TypeChecker_Cfg.check_no_uvars = - (uu___2912_23840.FStar_TypeChecker_Cfg.check_no_uvars); + (uu___2911_23840.FStar_TypeChecker_Cfg.check_no_uvars); FStar_TypeChecker_Cfg.unmeta = - (uu___2912_23840.FStar_TypeChecker_Cfg.unmeta); + (uu___2911_23840.FStar_TypeChecker_Cfg.unmeta); FStar_TypeChecker_Cfg.unascribe = - (uu___2912_23840.FStar_TypeChecker_Cfg.unascribe); + (uu___2911_23840.FStar_TypeChecker_Cfg.unascribe); FStar_TypeChecker_Cfg.in_full_norm_request = - (uu___2912_23840.FStar_TypeChecker_Cfg.in_full_norm_request); + (uu___2911_23840.FStar_TypeChecker_Cfg.in_full_norm_request); FStar_TypeChecker_Cfg.weakly_reduce_scrutinee = - (uu___2912_23840.FStar_TypeChecker_Cfg.weakly_reduce_scrutinee); + (uu___2911_23840.FStar_TypeChecker_Cfg.weakly_reduce_scrutinee); FStar_TypeChecker_Cfg.nbe_step = - (uu___2912_23840.FStar_TypeChecker_Cfg.nbe_step); + (uu___2911_23840.FStar_TypeChecker_Cfg.nbe_step); FStar_TypeChecker_Cfg.for_extraction = - (uu___2912_23840.FStar_TypeChecker_Cfg.for_extraction) - } in - let uu___2915_23847 = cfg1 in + (uu___2911_23840.FStar_TypeChecker_Cfg.for_extraction) + } in + let uu___2914_23847 = cfg1 in { FStar_TypeChecker_Cfg.steps = steps; FStar_TypeChecker_Cfg.tcenv = - (uu___2915_23847.FStar_TypeChecker_Cfg.tcenv); + (uu___2914_23847.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___2915_23847.FStar_TypeChecker_Cfg.debug); + (uu___2914_23847.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = new_delta; FStar_TypeChecker_Cfg.primitive_steps = - (uu___2915_23847.FStar_TypeChecker_Cfg.primitive_steps); + (uu___2914_23847.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = true; FStar_TypeChecker_Cfg.memoize_lazy = - (uu___2915_23847.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___2914_23847.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___2915_23847.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___2914_23847.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___2915_23847.FStar_TypeChecker_Cfg.reifying) - } in + (uu___2914_23847.FStar_TypeChecker_Cfg.reifying) + } in let norm_or_whnf env2 t2 = if whnf then closure_as_term cfg_exclude_zeta env2 t2 - else norm cfg_exclude_zeta env2 [] t2 in + else norm cfg_exclude_zeta env2 [] t2 in let rec norm_pat env2 p = match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant uu____23922 -> (p, env2) - | FStar_Syntax_Syntax.Pat_cons (fv, pats) -> + | FStar_Syntax_Syntax.Pat_cons (fv,pats) -> let uu____23953 = FStar_All.pipe_right pats (FStar_List.fold_left - (fun uu____24042 -> - fun uu____24043 -> + (fun uu____24042 -> + fun uu____24043 -> match (uu____24042, uu____24043) with - | ((pats1, env3), (p1, b)) -> + | ((pats1,env3),(p1,b)) -> let uu____24193 = - norm_pat env3 p1 in + norm_pat env3 p1 in (match uu____24193 with - | (p2, env4) -> + | (p2,env4) -> (((p2, b) :: pats1), env4))) - ([], env2)) in + ([], env2)) + in (match uu____23953 with - | (pats1, env3) -> - ((let uu___2943_24363 = p in + | (pats1,env3) -> + ((let uu___2942_24363 = p in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_cons (fv, (FStar_List.rev pats1))); FStar_Syntax_Syntax.p = - (uu___2943_24363.FStar_Syntax_Syntax.p) + (uu___2942_24363.FStar_Syntax_Syntax.p) }), env3)) | FStar_Syntax_Syntax.Pat_var x -> let x1 = - let uu___2947_24384 = x in + let uu___2946_24384 = x in let uu____24385 = - norm_or_whnf env2 x.FStar_Syntax_Syntax.sort in + norm_or_whnf env2 x.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = - (uu___2947_24384.FStar_Syntax_Syntax.ppname); + (uu___2946_24384.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2947_24384.FStar_Syntax_Syntax.index); + (uu___2946_24384.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____24385 - } in - ((let uu___2950_24399 = p in + } in + ((let uu___2949_24399 = p in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_var x1); FStar_Syntax_Syntax.p = - (uu___2950_24399.FStar_Syntax_Syntax.p) + (uu___2949_24399.FStar_Syntax_Syntax.p) }), (dummy :: env2)) | FStar_Syntax_Syntax.Pat_wild x -> let x1 = - let uu___2954_24410 = x in + let uu___2953_24410 = x in let uu____24411 = - norm_or_whnf env2 x.FStar_Syntax_Syntax.sort in + norm_or_whnf env2 x.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = - (uu___2954_24410.FStar_Syntax_Syntax.ppname); + (uu___2953_24410.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2954_24410.FStar_Syntax_Syntax.index); + (uu___2953_24410.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____24411 - } in - ((let uu___2957_24425 = p in + } in + ((let uu___2956_24425 = p in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_wild x1); FStar_Syntax_Syntax.p = - (uu___2957_24425.FStar_Syntax_Syntax.p) + (uu___2956_24425.FStar_Syntax_Syntax.p) }), (dummy :: env2)) - | FStar_Syntax_Syntax.Pat_dot_term (x, t2) -> + | FStar_Syntax_Syntax.Pat_dot_term (x,t2) -> let x1 = - let uu___2963_24441 = x in + let uu___2962_24441 = x in let uu____24442 = - norm_or_whnf env2 x.FStar_Syntax_Syntax.sort in + norm_or_whnf env2 x.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = - (uu___2963_24441.FStar_Syntax_Syntax.ppname); + (uu___2962_24441.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2963_24441.FStar_Syntax_Syntax.index); + (uu___2962_24441.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____24442 - } in - let t3 = norm_or_whnf env2 t2 in - ((let uu___2967_24457 = p in + } in + let t3 = norm_or_whnf env2 t2 in + ((let uu___2966_24457 = p in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_dot_term (x1, t3)); FStar_Syntax_Syntax.p = - (uu___2967_24457.FStar_Syntax_Syntax.p) - }), env2) in + (uu___2966_24457.FStar_Syntax_Syntax.p) + }), env2) + in let branches1 = match env1 with | [] when whnf -> branches | uu____24501 -> FStar_All.pipe_right branches (FStar_List.map - (fun branch1 -> + (fun branch1 -> let uu____24531 = - FStar_Syntax_Subst.open_branch branch1 in + FStar_Syntax_Subst.open_branch branch1 + in match uu____24531 with - | (p, wopt, e) -> - let uu____24551 = norm_pat env1 p in + | (p,wopt,e) -> + let uu____24551 = norm_pat env1 p + in (match uu____24551 with - | (p1, env2) -> + | (p1,env2) -> let wopt1 = match wopt with | FStar_Pervasives_Native.None - -> + -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some w -> let uu____24606 = - norm_or_whnf env2 w in + norm_or_whnf env2 w in FStar_Pervasives_Native.Some - uu____24606 in - let e1 = norm_or_whnf env2 e in + uu____24606 + in + let e1 = norm_or_whnf env2 e + in FStar_Syntax_Util.branch - (p1, wopt1, e1)))) in + (p1, wopt1, e1)))) + in let scrutinee1 = let uu____24623 = ((((cfg1.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.iota @@ -6783,102 +7284,106 @@ and (rebuild : (cfg1.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.compress_uvars)) && (cfg1.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.weakly_reduce_scrutinee) - && (maybe_weakly_reduced scrutinee) in + && (maybe_weakly_reduced scrutinee) + in if uu____24623 then norm - (let uu___2986_24630 = cfg1 in + (let uu___2985_24630 = cfg1 in { FStar_TypeChecker_Cfg.steps = - (let uu___2988_24633 = - cfg1.FStar_TypeChecker_Cfg.steps in + (let uu___2987_24633 = + cfg1.FStar_TypeChecker_Cfg.steps in { FStar_TypeChecker_Cfg.beta = - (uu___2988_24633.FStar_TypeChecker_Cfg.beta); + (uu___2987_24633.FStar_TypeChecker_Cfg.beta); FStar_TypeChecker_Cfg.iota = - (uu___2988_24633.FStar_TypeChecker_Cfg.iota); + (uu___2987_24633.FStar_TypeChecker_Cfg.iota); FStar_TypeChecker_Cfg.zeta = - (uu___2988_24633.FStar_TypeChecker_Cfg.zeta); + (uu___2987_24633.FStar_TypeChecker_Cfg.zeta); FStar_TypeChecker_Cfg.weak = - (uu___2988_24633.FStar_TypeChecker_Cfg.weak); + (uu___2987_24633.FStar_TypeChecker_Cfg.weak); FStar_TypeChecker_Cfg.hnf = - (uu___2988_24633.FStar_TypeChecker_Cfg.hnf); + (uu___2987_24633.FStar_TypeChecker_Cfg.hnf); FStar_TypeChecker_Cfg.primops = - (uu___2988_24633.FStar_TypeChecker_Cfg.primops); + (uu___2987_24633.FStar_TypeChecker_Cfg.primops); FStar_TypeChecker_Cfg.do_not_unfold_pure_lets = - (uu___2988_24633.FStar_TypeChecker_Cfg.do_not_unfold_pure_lets); + (uu___2987_24633.FStar_TypeChecker_Cfg.do_not_unfold_pure_lets); FStar_TypeChecker_Cfg.unfold_until = - (uu___2988_24633.FStar_TypeChecker_Cfg.unfold_until); + (uu___2987_24633.FStar_TypeChecker_Cfg.unfold_until); FStar_TypeChecker_Cfg.unfold_only = - (uu___2988_24633.FStar_TypeChecker_Cfg.unfold_only); + (uu___2987_24633.FStar_TypeChecker_Cfg.unfold_only); FStar_TypeChecker_Cfg.unfold_fully = - (uu___2988_24633.FStar_TypeChecker_Cfg.unfold_fully); + (uu___2987_24633.FStar_TypeChecker_Cfg.unfold_fully); FStar_TypeChecker_Cfg.unfold_attr = - (uu___2988_24633.FStar_TypeChecker_Cfg.unfold_attr); + (uu___2987_24633.FStar_TypeChecker_Cfg.unfold_attr); FStar_TypeChecker_Cfg.unfold_tac = - (uu___2988_24633.FStar_TypeChecker_Cfg.unfold_tac); + (uu___2987_24633.FStar_TypeChecker_Cfg.unfold_tac); FStar_TypeChecker_Cfg.pure_subterms_within_computations = - (uu___2988_24633.FStar_TypeChecker_Cfg.pure_subterms_within_computations); + (uu___2987_24633.FStar_TypeChecker_Cfg.pure_subterms_within_computations); FStar_TypeChecker_Cfg.simplify = - (uu___2988_24633.FStar_TypeChecker_Cfg.simplify); + (uu___2987_24633.FStar_TypeChecker_Cfg.simplify); FStar_TypeChecker_Cfg.erase_universes = - (uu___2988_24633.FStar_TypeChecker_Cfg.erase_universes); + (uu___2987_24633.FStar_TypeChecker_Cfg.erase_universes); FStar_TypeChecker_Cfg.allow_unbound_universes = - (uu___2988_24633.FStar_TypeChecker_Cfg.allow_unbound_universes); + (uu___2987_24633.FStar_TypeChecker_Cfg.allow_unbound_universes); FStar_TypeChecker_Cfg.reify_ = - (uu___2988_24633.FStar_TypeChecker_Cfg.reify_); + (uu___2987_24633.FStar_TypeChecker_Cfg.reify_); FStar_TypeChecker_Cfg.compress_uvars = - (uu___2988_24633.FStar_TypeChecker_Cfg.compress_uvars); + (uu___2987_24633.FStar_TypeChecker_Cfg.compress_uvars); FStar_TypeChecker_Cfg.no_full_norm = - (uu___2988_24633.FStar_TypeChecker_Cfg.no_full_norm); + (uu___2987_24633.FStar_TypeChecker_Cfg.no_full_norm); FStar_TypeChecker_Cfg.check_no_uvars = - (uu___2988_24633.FStar_TypeChecker_Cfg.check_no_uvars); + (uu___2987_24633.FStar_TypeChecker_Cfg.check_no_uvars); FStar_TypeChecker_Cfg.unmeta = - (uu___2988_24633.FStar_TypeChecker_Cfg.unmeta); + (uu___2987_24633.FStar_TypeChecker_Cfg.unmeta); FStar_TypeChecker_Cfg.unascribe = - (uu___2988_24633.FStar_TypeChecker_Cfg.unascribe); + (uu___2987_24633.FStar_TypeChecker_Cfg.unascribe); FStar_TypeChecker_Cfg.in_full_norm_request = - (uu___2988_24633.FStar_TypeChecker_Cfg.in_full_norm_request); + (uu___2987_24633.FStar_TypeChecker_Cfg.in_full_norm_request); FStar_TypeChecker_Cfg.weakly_reduce_scrutinee = false; FStar_TypeChecker_Cfg.nbe_step = - (uu___2988_24633.FStar_TypeChecker_Cfg.nbe_step); + (uu___2987_24633.FStar_TypeChecker_Cfg.nbe_step); FStar_TypeChecker_Cfg.for_extraction = - (uu___2988_24633.FStar_TypeChecker_Cfg.for_extraction) + (uu___2987_24633.FStar_TypeChecker_Cfg.for_extraction) }); FStar_TypeChecker_Cfg.tcenv = - (uu___2986_24630.FStar_TypeChecker_Cfg.tcenv); + (uu___2985_24630.FStar_TypeChecker_Cfg.tcenv); FStar_TypeChecker_Cfg.debug = - (uu___2986_24630.FStar_TypeChecker_Cfg.debug); + (uu___2985_24630.FStar_TypeChecker_Cfg.debug); FStar_TypeChecker_Cfg.delta_level = - (uu___2986_24630.FStar_TypeChecker_Cfg.delta_level); + (uu___2985_24630.FStar_TypeChecker_Cfg.delta_level); FStar_TypeChecker_Cfg.primitive_steps = - (uu___2986_24630.FStar_TypeChecker_Cfg.primitive_steps); + (uu___2985_24630.FStar_TypeChecker_Cfg.primitive_steps); FStar_TypeChecker_Cfg.strong = - (uu___2986_24630.FStar_TypeChecker_Cfg.strong); + (uu___2985_24630.FStar_TypeChecker_Cfg.strong); FStar_TypeChecker_Cfg.memoize_lazy = - (uu___2986_24630.FStar_TypeChecker_Cfg.memoize_lazy); + (uu___2985_24630.FStar_TypeChecker_Cfg.memoize_lazy); FStar_TypeChecker_Cfg.normalize_pure_lets = - (uu___2986_24630.FStar_TypeChecker_Cfg.normalize_pure_lets); + (uu___2985_24630.FStar_TypeChecker_Cfg.normalize_pure_lets); FStar_TypeChecker_Cfg.reifying = - (uu___2986_24630.FStar_TypeChecker_Cfg.reifying) + (uu___2985_24630.FStar_TypeChecker_Cfg.reifying) }) scrutinee_env [] scrutinee - else scrutinee in + else scrutinee in let uu____24637 = mk (FStar_Syntax_Syntax.Tm_match - (scrutinee1, branches1)) r in - rebuild cfg1 env1 stack1 uu____24637) in + (scrutinee1, branches1)) r + in + rebuild cfg1 env1 stack1 uu____24637) + in let rec is_cons head1 = let uu____24663 = - let uu____24664 = FStar_Syntax_Subst.compress head1 in - uu____24664.FStar_Syntax_Syntax.n in + let uu____24664 = FStar_Syntax_Subst.compress head1 + in + uu____24664.FStar_Syntax_Syntax.n in match uu____24663 with - | FStar_Syntax_Syntax.Tm_uinst (h, uu____24669) -> + | FStar_Syntax_Syntax.Tm_uinst (h,uu____24669) -> is_cons h | FStar_Syntax_Syntax.Tm_constant uu____24674 -> true | FStar_Syntax_Syntax.Tm_fvar @@ -6886,7 +7391,7 @@ and (rebuild : FStar_Syntax_Syntax.fv_delta = uu____24677; FStar_Syntax_Syntax.fv_qual = FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Data_ctor);_} + (FStar_Syntax_Syntax.Data_ctor );_} -> true | FStar_Syntax_Syntax.Tm_fvar { FStar_Syntax_Syntax.fv_name = uu____24679; @@ -6895,26 +7400,29 @@ and (rebuild : FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_ctor uu____24681);_} -> true - | uu____24689 -> false in + | uu____24689 -> false in let guard_when_clause wopt b rest = match wopt with - | FStar_Pervasives_Native.None -> b + | FStar_Pervasives_Native.None -> b | FStar_Pervasives_Native.Some w -> - let then_branch = b in + let then_branch = b in let else_branch = mk (FStar_Syntax_Syntax.Tm_match (scrutinee, rest)) - r in + r + in FStar_Syntax_Util.if_then_else w then_branch - else_branch in + else_branch + in let rec matches_pat scrutinee_orig p = let scrutinee1 = - FStar_Syntax_Util.unmeta scrutinee_orig in - let scrutinee2 = FStar_Syntax_Util.unlazy scrutinee1 in + FStar_Syntax_Util.unmeta scrutinee_orig in + let scrutinee2 = FStar_Syntax_Util.unlazy scrutinee1 + in let uu____24858 = - FStar_Syntax_Util.head_and_args scrutinee2 in + FStar_Syntax_Util.head_and_args scrutinee2 in match uu____24858 with - | (head1, args) -> + | (head1,args) -> (match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_var bv -> FStar_Util.Inl [(bv, scrutinee_orig)] @@ -6929,186 +7437,206 @@ and (rebuild : FStar_Util.Inl [] | uu____24997 -> let uu____24998 = - let uu____25000 = is_cons head1 in - Prims.op_Negation uu____25000 in + let uu____25000 = is_cons head1 in + Prims.op_Negation uu____25000 in FStar_Util.Inr uu____24998) - | FStar_Syntax_Syntax.Pat_cons (fv, arg_pats) -> + | FStar_Syntax_Syntax.Pat_cons (fv,arg_pats) -> let uu____25029 = let uu____25030 = - FStar_Syntax_Util.un_uinst head1 in - uu____25030.FStar_Syntax_Syntax.n in + FStar_Syntax_Util.un_uinst head1 in + uu____25030.FStar_Syntax_Syntax.n in (match uu____25029 with | FStar_Syntax_Syntax.Tm_fvar fv' when FStar_Syntax_Syntax.fv_eq fv fv' -> matches_args [] args arg_pats | uu____25049 -> let uu____25050 = - let uu____25052 = is_cons head1 in - Prims.op_Negation uu____25052 in + let uu____25052 = is_cons head1 in + Prims.op_Negation uu____25052 in FStar_Util.Inr uu____25050)) + and matches_args out a p = match (a, p) with - | ([], []) -> FStar_Util.Inl out - | ((t2, uu____25143)::rest_a, - (p1, uu____25146)::rest_p) -> - let uu____25205 = matches_pat t2 p1 in + | ([],[]) -> FStar_Util.Inl out + | ((t2,uu____25143)::rest_a,(p1,uu____25146)::rest_p) + -> + let uu____25205 = matches_pat t2 p1 in (match uu____25205 with | FStar_Util.Inl s -> matches_args (FStar_List.append out s) rest_a rest_p | m -> m) - | uu____25258 -> FStar_Util.Inr false in + | uu____25258 -> FStar_Util.Inr false + in let rec matches scrutinee1 p = match p with | [] -> norm_and_rebuild_match () - | (p1, wopt, b)::rest -> - let uu____25381 = matches_pat scrutinee1 p1 in + | (p1,wopt,b)::rest -> + let uu____25381 = matches_pat scrutinee1 p1 in (match uu____25381 with - | FStar_Util.Inr (false) -> + | FStar_Util.Inr (false ) -> matches scrutinee1 rest - | FStar_Util.Inr (true) -> + | FStar_Util.Inr (true ) -> norm_and_rebuild_match () | FStar_Util.Inl s -> (FStar_TypeChecker_Cfg.log cfg1 - (fun uu____25427 -> + (fun uu____25427 -> let uu____25428 = - FStar_Syntax_Print.pat_to_string p1 in + FStar_Syntax_Print.pat_to_string p1 + in let uu____25430 = let uu____25432 = FStar_List.map - (fun uu____25444 -> + (fun uu____25444 -> match uu____25444 with - | (uu____25450, t2) -> + | (uu____25450,t2) -> FStar_Syntax_Print.term_to_string - t2) s in + t2) s + in FStar_All.pipe_right uu____25432 - (FStar_String.concat "; ") in + (FStar_String.concat "; ") + in FStar_Util.print2 "Matches pattern %s with subst = %s\n" uu____25428 uu____25430); - (let env0 = env1 in + (let env0 = env1 in let env2 = FStar_List.fold_left - (fun env2 -> - fun uu____25486 -> + (fun env2 -> + fun uu____25486 -> match uu____25486 with - | (bv, t2) -> + | (bv,t2) -> let uu____25509 = let uu____25516 = let uu____25519 = FStar_Syntax_Syntax.mk_binder - bv in + bv + in FStar_Pervasives_Native.Some - uu____25519 in + uu____25519 + in let uu____25520 = let uu____25521 = let uu____25553 = FStar_Util.mk_ref (FStar_Pervasives_Native.Some - ([], t2)) in + ([], t2)) + in ([], t2, uu____25553, - false) in - Clos uu____25521 in - (uu____25516, uu____25520) in - uu____25509 :: env2) env1 s in + false) + in + Clos uu____25521 in + (uu____25516, uu____25520) + in + uu____25509 :: env2) env1 s + in let uu____25646 = - guard_when_clause wopt b rest in - norm cfg1 env2 stack1 uu____25646))) in + guard_when_clause wopt b rest in + norm cfg1 env2 stack1 uu____25646))) + in if (cfg1.FStar_TypeChecker_Cfg.steps).FStar_TypeChecker_Cfg.iota then matches scrutinee branches else norm_and_rebuild_match ())))) + let (normalize_with_primitive_steps : FStar_TypeChecker_Cfg.primitive_step Prims.list -> FStar_TypeChecker_Env.steps -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun ps -> - fun s -> - fun e -> - fun t -> - let c = FStar_TypeChecker_Cfg.config' ps s e in + fun ps -> + fun s -> + fun e -> + fun t -> + let c = FStar_TypeChecker_Cfg.config' ps s e in FStar_TypeChecker_Cfg.log_cfg c - (fun uu____25679 -> - let uu____25680 = FStar_TypeChecker_Cfg.cfg_to_string c in + (fun uu____25679 -> + let uu____25680 = FStar_TypeChecker_Cfg.cfg_to_string c in FStar_Util.print1 "Cfg = %s\n" uu____25680); - (let uu____25683 = is_nbe_request s in + (let uu____25683 = is_nbe_request s in if uu____25683 then (FStar_TypeChecker_Cfg.log_top c - (fun uu____25689 -> - let uu____25690 = FStar_Syntax_Print.term_to_string t in + (fun uu____25689 -> + let uu____25690 = FStar_Syntax_Print.term_to_string t in FStar_Util.print1 "Starting NBE for (%s) {\n" uu____25690); FStar_TypeChecker_Cfg.log_top c - (fun uu____25696 -> - let uu____25697 = FStar_TypeChecker_Cfg.cfg_to_string c in + (fun uu____25696 -> + let uu____25697 = FStar_TypeChecker_Cfg.cfg_to_string c + in FStar_Util.print1 ">>> cfg = %s\n" uu____25697); (let uu____25700 = - FStar_Util.record_time (fun uu____25707 -> nbe_eval c s t) in + FStar_Util.record_time (fun uu____25707 -> nbe_eval c s t) + in match uu____25700 with - | (r, ms) -> + | (r,ms) -> (FStar_TypeChecker_Cfg.log_top c - (fun uu____25716 -> + (fun uu____25716 -> let uu____25717 = - FStar_Syntax_Print.term_to_string r in - let uu____25719 = FStar_Util.string_of_int ms in + FStar_Syntax_Print.term_to_string r in + let uu____25719 = FStar_Util.string_of_int ms in FStar_Util.print2 "}\nNormalization result = (%s) in %s ms\n" uu____25717 uu____25719); r))) else (FStar_TypeChecker_Cfg.log_top c - (fun uu____25727 -> - let uu____25728 = FStar_Syntax_Print.term_to_string t in + (fun uu____25727 -> + let uu____25728 = FStar_Syntax_Print.term_to_string t in FStar_Util.print1 "Starting normalizer for (%s) {\n" uu____25728); FStar_TypeChecker_Cfg.log_top c - (fun uu____25734 -> - let uu____25735 = FStar_TypeChecker_Cfg.cfg_to_string c in + (fun uu____25734 -> + let uu____25735 = FStar_TypeChecker_Cfg.cfg_to_string c + in FStar_Util.print1 ">>> cfg = %s\n" uu____25735); (let uu____25738 = - FStar_Util.record_time (fun uu____25745 -> norm c [] [] t) in + FStar_Util.record_time (fun uu____25745 -> norm c [] [] t) + in match uu____25738 with - | (r, ms) -> + | (r,ms) -> (FStar_TypeChecker_Cfg.log_top c - (fun uu____25760 -> + (fun uu____25760 -> let uu____25761 = - FStar_Syntax_Print.term_to_string r in - let uu____25763 = FStar_Util.string_of_int ms in + FStar_Syntax_Print.term_to_string r in + let uu____25763 = FStar_Util.string_of_int ms in FStar_Util.print2 "}\nNormalization result = (%s) in %s ms\n" uu____25761 uu____25763); r)))) + let (normalize : FStar_TypeChecker_Env.steps -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) - = fun s -> fun e -> fun t -> normalize_with_primitive_steps [] s e t + = fun s -> fun e -> fun t -> normalize_with_primitive_steps [] s e t let (normalize_comp : FStar_TypeChecker_Env.steps -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp) = - fun s -> - fun e -> - fun t -> - let uu____25798 = FStar_TypeChecker_Cfg.config s e in + fun s -> + fun e -> + fun t -> + let uu____25798 = FStar_TypeChecker_Cfg.config s e in norm_comp uu____25798 [] t + let (normalize_universe : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe) = - fun env -> - fun u -> - let uu____25816 = FStar_TypeChecker_Cfg.config [] env in + fun env -> + fun u -> + let uu____25816 = FStar_TypeChecker_Cfg.config [] env in norm_universe uu____25816 [] u + let (ghost_to_pure : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp) = - fun env -> - fun c -> + fun env -> + fun c -> let cfg = FStar_TypeChecker_Cfg.config [FStar_TypeChecker_Env.UnfoldUntil @@ -7116,89 +7644,97 @@ let (ghost_to_pure : FStar_TypeChecker_Env.AllowUnboundUniverses; FStar_TypeChecker_Env.EraseUniverses; FStar_TypeChecker_Env.Unascribe; - FStar_TypeChecker_Env.ForExtraction] env in + FStar_TypeChecker_Env.ForExtraction] env + in let non_info t = - let uu____25842 = norm cfg [] [] t in - FStar_Syntax_Util.non_informative uu____25842 in + let uu____25842 = norm cfg [] [] t in + FStar_Syntax_Util.non_informative uu____25842 in match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Total uu____25849 -> c - | FStar_Syntax_Syntax.GTotal (t, uopt) when non_info t -> - let uu___3144_25868 = c in + | FStar_Syntax_Syntax.GTotal (t,uopt) when non_info t -> + let uu___3143_25868 = c in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Total (t, uopt)); FStar_Syntax_Syntax.pos = - (uu___3144_25868.FStar_Syntax_Syntax.pos); + (uu___3143_25868.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___3144_25868.FStar_Syntax_Syntax.vars) + (uu___3143_25868.FStar_Syntax_Syntax.vars) } | FStar_Syntax_Syntax.Comp ct -> let l = FStar_TypeChecker_Env.norm_eff_name cfg.FStar_TypeChecker_Cfg.tcenv - ct.FStar_Syntax_Syntax.effect_name in + ct.FStar_Syntax_Syntax.effect_name + in let uu____25875 = (FStar_Syntax_Util.is_ghost_effect l) && - (non_info ct.FStar_Syntax_Syntax.result_typ) in + (non_info ct.FStar_Syntax_Syntax.result_typ) + in if uu____25875 then let ct1 = let uu____25879 = downgrade_ghost_effect_name - ct.FStar_Syntax_Syntax.effect_name in + ct.FStar_Syntax_Syntax.effect_name + in match uu____25879 with | FStar_Pervasives_Native.Some pure_eff -> let flags = let uu____25886 = FStar_Ident.lid_equals pure_eff - FStar_Parser_Const.effect_Tot_lid in + FStar_Parser_Const.effect_Tot_lid + in if uu____25886 then FStar_Syntax_Syntax.TOTAL :: (ct.FStar_Syntax_Syntax.flags) - else ct.FStar_Syntax_Syntax.flags in - let uu___3154_25893 = ct in + else ct.FStar_Syntax_Syntax.flags in + let uu___3153_25893 = ct in { FStar_Syntax_Syntax.comp_univs = - (uu___3154_25893.FStar_Syntax_Syntax.comp_univs); + (uu___3153_25893.FStar_Syntax_Syntax.comp_univs); FStar_Syntax_Syntax.effect_name = pure_eff; FStar_Syntax_Syntax.result_typ = - (uu___3154_25893.FStar_Syntax_Syntax.result_typ); + (uu___3153_25893.FStar_Syntax_Syntax.result_typ); FStar_Syntax_Syntax.effect_args = - (uu___3154_25893.FStar_Syntax_Syntax.effect_args); + (uu___3153_25893.FStar_Syntax_Syntax.effect_args); FStar_Syntax_Syntax.flags = flags } - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let ct1 = FStar_TypeChecker_Env.unfold_effect_abbrev - cfg.FStar_TypeChecker_Cfg.tcenv c in - let uu___3158_25895 = ct1 in + cfg.FStar_TypeChecker_Cfg.tcenv c + in + let uu___3157_25895 = ct1 in { FStar_Syntax_Syntax.comp_univs = - (uu___3158_25895.FStar_Syntax_Syntax.comp_univs); + (uu___3157_25895.FStar_Syntax_Syntax.comp_univs); FStar_Syntax_Syntax.effect_name = FStar_Parser_Const.effect_PURE_lid; FStar_Syntax_Syntax.result_typ = - (uu___3158_25895.FStar_Syntax_Syntax.result_typ); + (uu___3157_25895.FStar_Syntax_Syntax.result_typ); FStar_Syntax_Syntax.effect_args = - (uu___3158_25895.FStar_Syntax_Syntax.effect_args); + (uu___3157_25895.FStar_Syntax_Syntax.effect_args); FStar_Syntax_Syntax.flags = - (uu___3158_25895.FStar_Syntax_Syntax.flags) - } in - let uu___3161_25896 = c in + (uu___3157_25895.FStar_Syntax_Syntax.flags) + } + in + let uu___3160_25896 = c in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Comp ct1); FStar_Syntax_Syntax.pos = - (uu___3161_25896.FStar_Syntax_Syntax.pos); + (uu___3160_25896.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___3161_25896.FStar_Syntax_Syntax.vars) + (uu___3160_25896.FStar_Syntax_Syntax.vars) } else c | uu____25899 -> c + let (ghost_to_pure_lcomp : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.lcomp) = - fun env -> - fun lc -> + fun env -> + fun lc -> let cfg = FStar_TypeChecker_Cfg.config [FStar_TypeChecker_Env.Eager_unfolding; @@ -7207,125 +7743,141 @@ let (ghost_to_pure_lcomp : FStar_TypeChecker_Env.EraseUniverses; FStar_TypeChecker_Env.AllowUnboundUniverses; FStar_TypeChecker_Env.Unascribe; - FStar_TypeChecker_Env.ForExtraction] env in + FStar_TypeChecker_Env.ForExtraction] env + in let non_info t = - let uu____25919 = norm cfg [] [] t in - FStar_Syntax_Util.non_informative uu____25919 in + let uu____25919 = norm cfg [] [] t in + FStar_Syntax_Util.non_informative uu____25919 in let uu____25926 = (FStar_Syntax_Util.is_ghost_effect lc.FStar_Syntax_Syntax.eff_name) - && (non_info lc.FStar_Syntax_Syntax.res_typ) in + && (non_info lc.FStar_Syntax_Syntax.res_typ) + in if uu____25926 then let uu____25929 = - downgrade_ghost_effect_name lc.FStar_Syntax_Syntax.eff_name in + downgrade_ghost_effect_name lc.FStar_Syntax_Syntax.eff_name in match uu____25929 with | FStar_Pervasives_Native.Some pure_eff -> FStar_Syntax_Syntax.mk_lcomp pure_eff lc.FStar_Syntax_Syntax.res_typ lc.FStar_Syntax_Syntax.cflags - (fun uu____25935 -> - let uu____25936 = FStar_Syntax_Syntax.lcomp_comp lc in + (fun uu____25935 -> + let uu____25936 = FStar_Syntax_Syntax.lcomp_comp lc in ghost_to_pure env uu____25936) - | FStar_Pervasives_Native.None -> lc + | FStar_Pervasives_Native.None -> lc else lc + let (term_to_string : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> Prims.string) = - fun env -> - fun t -> + fun env -> + fun t -> let t1 = try - (fun uu___3177_25953 -> + (fun uu___3176_25953 -> match () with | () -> normalize [FStar_TypeChecker_Env.AllowUnboundUniverses] env t) () with - | uu___3176_25956 -> + | uu___3175_25956 -> ((let uu____25958 = let uu____25964 = - let uu____25966 = FStar_Util.message_of_exn uu___3176_25956 in + let uu____25966 = FStar_Util.message_of_exn uu___3175_25956 + in FStar_Util.format1 "Normalization failed with error %s\n" - uu____25966 in - (FStar_Errors.Warning_NormalizationFailure, uu____25964) in + uu____25966 + in + (FStar_Errors.Warning_NormalizationFailure, uu____25964) in FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____25958); - t) in + t) + in FStar_Syntax_Print.term_to_string' env.FStar_TypeChecker_Env.dsenv t1 + let (comp_to_string : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp -> Prims.string) = - fun env -> - fun c -> + fun env -> + fun c -> let c1 = try - (fun uu___3187_25985 -> + (fun uu___3186_25985 -> match () with | () -> let uu____25986 = FStar_TypeChecker_Cfg.config - [FStar_TypeChecker_Env.AllowUnboundUniverses] env in + [FStar_TypeChecker_Env.AllowUnboundUniverses] env + in norm_comp uu____25986 [] c) () with - | uu___3186_25995 -> + | uu___3185_25995 -> ((let uu____25997 = let uu____26003 = - let uu____26005 = FStar_Util.message_of_exn uu___3186_25995 in + let uu____26005 = FStar_Util.message_of_exn uu___3185_25995 + in FStar_Util.format1 "Normalization failed with error %s\n" - uu____26005 in - (FStar_Errors.Warning_NormalizationFailure, uu____26003) in + uu____26005 + in + (FStar_Errors.Warning_NormalizationFailure, uu____26003) in FStar_Errors.log_issue c.FStar_Syntax_Syntax.pos uu____25997); - c) in + c) + in FStar_Syntax_Print.comp_to_string' env.FStar_TypeChecker_Env.dsenv c1 + let (normalize_refinement : FStar_TypeChecker_Env.steps -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) = - fun steps -> - fun env -> - fun t0 -> + fun steps -> + fun env -> + fun t0 -> let t = normalize (FStar_List.append steps [FStar_TypeChecker_Env.Beta]) - env t0 in + env t0 + in let rec aux t1 = - let t2 = FStar_Syntax_Subst.compress t1 in + let t2 = FStar_Syntax_Subst.compress t1 in match t2.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_refine (x, phi) -> - let t01 = aux x.FStar_Syntax_Syntax.sort in + | FStar_Syntax_Syntax.Tm_refine (x,phi) -> + let t01 = aux x.FStar_Syntax_Syntax.sort in (match t01.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_refine (y, phi1) -> + | FStar_Syntax_Syntax.Tm_refine (y,phi1) -> let uu____26054 = let uu____26055 = let uu____26062 = - FStar_Syntax_Util.mk_conj_simp phi1 phi in - (y, uu____26062) in - FStar_Syntax_Syntax.Tm_refine uu____26055 in + FStar_Syntax_Util.mk_conj_simp phi1 phi in + (y, uu____26062) in + FStar_Syntax_Syntax.Tm_refine uu____26055 in mk uu____26054 t01.FStar_Syntax_Syntax.pos | uu____26067 -> t2) - | uu____26068 -> t2 in + | uu____26068 -> t2 in aux t + let (whnf_steps : FStar_TypeChecker_Env.step Prims.list) = [FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Weak; FStar_TypeChecker_Env.HNF; FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.Beta] + FStar_TypeChecker_Env.Beta] let (unfold_whnf' : FStar_TypeChecker_Env.steps -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun steps -> - fun env -> fun t -> normalize (FStar_List.append steps whnf_steps) env t + fun steps -> + fun env -> + fun t -> normalize (FStar_List.append steps whnf_steps) env t + let (unfold_whnf : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) - = fun env -> fun t -> unfold_whnf' [] env t + = fun env -> fun t -> unfold_whnf' [] env t let (reduce_or_remove_uvar_solutions : Prims.bool -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun remove -> - fun env -> - fun t -> + fun remove -> + fun env -> + fun t -> normalize (FStar_List.append (if remove then [FStar_TypeChecker_Env.CheckNoUvars] else []) @@ -7335,31 +7887,32 @@ let (reduce_or_remove_uvar_solutions : FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta; FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Iota; FStar_TypeChecker_Env.NoFullNorm]) env t + let (reduce_uvar_solutions : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) - = fun env -> fun t -> reduce_or_remove_uvar_solutions false env t + = fun env -> fun t -> reduce_or_remove_uvar_solutions false env t let (remove_uvar_solutions : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) - = fun env -> fun t -> reduce_or_remove_uvar_solutions true env t + = fun env -> fun t -> reduce_or_remove_uvar_solutions true env t let (eta_expand_with_type : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term) = - fun env -> - fun e -> - fun t_e -> - let uu____26162 = FStar_Syntax_Util.arrow_formals_comp t_e in + fun env -> + fun e -> + fun t_e -> + let uu____26162 = FStar_Syntax_Util.arrow_formals_comp t_e in match uu____26162 with - | (formals, c) -> + | (formals,c) -> (match formals with | [] -> e | uu____26199 -> - let uu____26208 = FStar_Syntax_Util.abs_formals e in + let uu____26208 = FStar_Syntax_Util.abs_formals e in (match uu____26208 with - | (actuals, uu____26218, uu____26219) -> + | (actuals,uu____26218,uu____26219) -> if (FStar_List.length actuals) = (FStar_List.length formals) @@ -7367,41 +7920,45 @@ let (eta_expand_with_type : else (let uu____26239 = FStar_All.pipe_right formals - FStar_Syntax_Util.args_of_binders in + FStar_Syntax_Util.args_of_binders + in match uu____26239 with - | (binders, args) -> + | (binders,args) -> let uu____26250 = FStar_Syntax_Syntax.mk_Tm_app e args FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in + e.FStar_Syntax_Syntax.pos + in FStar_Syntax_Util.abs binders uu____26250 (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_comp_of_comp c))))) + let (eta_expand : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun t -> + fun env -> + fun t -> match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_name x -> eta_expand_with_type env t x.FStar_Syntax_Syntax.sort | uu____26265 -> - let uu____26266 = FStar_Syntax_Util.head_and_args t in + let uu____26266 = FStar_Syntax_Util.head_and_args t in (match uu____26266 with - | (head1, args) -> + | (head1,args) -> let uu____26309 = - let uu____26310 = FStar_Syntax_Subst.compress head1 in - uu____26310.FStar_Syntax_Syntax.n in + let uu____26310 = FStar_Syntax_Subst.compress head1 in + uu____26310.FStar_Syntax_Syntax.n in (match uu____26309 with - | FStar_Syntax_Syntax.Tm_uvar (u, s) -> + | FStar_Syntax_Syntax.Tm_uvar (u,s) -> let uu____26331 = let uu____26346 = FStar_Syntax_Subst.subst' s - u.FStar_Syntax_Syntax.ctx_uvar_typ in - FStar_Syntax_Util.arrow_formals uu____26346 in + u.FStar_Syntax_Syntax.ctx_uvar_typ + in + FStar_Syntax_Util.arrow_formals uu____26346 in (match uu____26331 with - | (formals, _tres) -> + | (formals,_tres) -> if (FStar_List.length formals) = (FStar_List.length args) @@ -7409,208 +7966,213 @@ let (eta_expand : else (let uu____26386 = env.FStar_TypeChecker_Env.type_of - (let uu___3257_26394 = env in + (let uu___3256_26394 = env in { FStar_TypeChecker_Env.solver = - (uu___3257_26394.FStar_TypeChecker_Env.solver); + (uu___3256_26394.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___3257_26394.FStar_TypeChecker_Env.range); + (uu___3256_26394.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___3257_26394.FStar_TypeChecker_Env.curmodule); + (uu___3256_26394.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___3257_26394.FStar_TypeChecker_Env.gamma); + (uu___3256_26394.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___3257_26394.FStar_TypeChecker_Env.gamma_sig); + (uu___3256_26394.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___3257_26394.FStar_TypeChecker_Env.gamma_cache); + (uu___3256_26394.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___3257_26394.FStar_TypeChecker_Env.modules); + (uu___3256_26394.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = FStar_Pervasives_Native.None; FStar_TypeChecker_Env.sigtab = - (uu___3257_26394.FStar_TypeChecker_Env.sigtab); + (uu___3256_26394.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___3257_26394.FStar_TypeChecker_Env.attrtab); + (uu___3256_26394.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___3257_26394.FStar_TypeChecker_Env.is_pattern); + (uu___3256_26394.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___3257_26394.FStar_TypeChecker_Env.instantiate_imp); + (uu___3256_26394.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___3257_26394.FStar_TypeChecker_Env.effects); + (uu___3256_26394.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___3257_26394.FStar_TypeChecker_Env.generalize); + (uu___3256_26394.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___3257_26394.FStar_TypeChecker_Env.letrecs); + (uu___3256_26394.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___3257_26394.FStar_TypeChecker_Env.top_level); + (uu___3256_26394.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___3257_26394.FStar_TypeChecker_Env.check_uvars); + (uu___3256_26394.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___3257_26394.FStar_TypeChecker_Env.use_eq); + (uu___3256_26394.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___3257_26394.FStar_TypeChecker_Env.is_iface); + (uu___3256_26394.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___3257_26394.FStar_TypeChecker_Env.admit); + (uu___3256_26394.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___3257_26394.FStar_TypeChecker_Env.lax_universes); + (uu___3256_26394.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___3257_26394.FStar_TypeChecker_Env.phase1); + (uu___3256_26394.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___3257_26394.FStar_TypeChecker_Env.failhard); + (uu___3256_26394.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___3257_26394.FStar_TypeChecker_Env.nosynth); + (uu___3256_26394.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___3257_26394.FStar_TypeChecker_Env.uvar_subtyping); + (uu___3256_26394.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___3257_26394.FStar_TypeChecker_Env.tc_term); + (uu___3256_26394.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___3257_26394.FStar_TypeChecker_Env.type_of); + (uu___3256_26394.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___3257_26394.FStar_TypeChecker_Env.universe_of); + (uu___3256_26394.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___3257_26394.FStar_TypeChecker_Env.check_type_of); + (uu___3256_26394.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = true; FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___3257_26394.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___3256_26394.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___3257_26394.FStar_TypeChecker_Env.normalized_eff_names); + (uu___3256_26394.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___3257_26394.FStar_TypeChecker_Env.fv_delta_depths); + (uu___3256_26394.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___3257_26394.FStar_TypeChecker_Env.proof_ns); + (uu___3256_26394.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___3257_26394.FStar_TypeChecker_Env.synth_hook); + (uu___3256_26394.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___3257_26394.FStar_TypeChecker_Env.splice); + (uu___3256_26394.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___3257_26394.FStar_TypeChecker_Env.postprocess); + (uu___3256_26394.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___3257_26394.FStar_TypeChecker_Env.is_native_tactic); + (uu___3256_26394.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___3257_26394.FStar_TypeChecker_Env.identifier_info); + (uu___3256_26394.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___3257_26394.FStar_TypeChecker_Env.tc_hooks); + (uu___3256_26394.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___3257_26394.FStar_TypeChecker_Env.dsenv); + (uu___3256_26394.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___3257_26394.FStar_TypeChecker_Env.nbe) - }) t in + (uu___3256_26394.FStar_TypeChecker_Env.nbe) + }) t + in match uu____26386 with - | (uu____26397, ty, uu____26399) -> + | (uu____26397,ty,uu____26399) -> eta_expand_with_type env t ty)) | uu____26400 -> let uu____26401 = env.FStar_TypeChecker_Env.type_of - (let uu___3264_26409 = env in + (let uu___3263_26409 = env in { FStar_TypeChecker_Env.solver = - (uu___3264_26409.FStar_TypeChecker_Env.solver); + (uu___3263_26409.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___3264_26409.FStar_TypeChecker_Env.range); + (uu___3263_26409.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___3264_26409.FStar_TypeChecker_Env.curmodule); + (uu___3263_26409.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___3264_26409.FStar_TypeChecker_Env.gamma); + (uu___3263_26409.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___3264_26409.FStar_TypeChecker_Env.gamma_sig); + (uu___3263_26409.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___3264_26409.FStar_TypeChecker_Env.gamma_cache); + (uu___3263_26409.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___3264_26409.FStar_TypeChecker_Env.modules); + (uu___3263_26409.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = FStar_Pervasives_Native.None; FStar_TypeChecker_Env.sigtab = - (uu___3264_26409.FStar_TypeChecker_Env.sigtab); + (uu___3263_26409.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___3264_26409.FStar_TypeChecker_Env.attrtab); + (uu___3263_26409.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___3264_26409.FStar_TypeChecker_Env.is_pattern); + (uu___3263_26409.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___3264_26409.FStar_TypeChecker_Env.instantiate_imp); + (uu___3263_26409.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___3264_26409.FStar_TypeChecker_Env.effects); + (uu___3263_26409.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___3264_26409.FStar_TypeChecker_Env.generalize); + (uu___3263_26409.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___3264_26409.FStar_TypeChecker_Env.letrecs); + (uu___3263_26409.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___3264_26409.FStar_TypeChecker_Env.top_level); + (uu___3263_26409.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___3264_26409.FStar_TypeChecker_Env.check_uvars); + (uu___3263_26409.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___3264_26409.FStar_TypeChecker_Env.use_eq); + (uu___3263_26409.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___3264_26409.FStar_TypeChecker_Env.is_iface); + (uu___3263_26409.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___3264_26409.FStar_TypeChecker_Env.admit); + (uu___3263_26409.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___3264_26409.FStar_TypeChecker_Env.lax_universes); + (uu___3263_26409.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___3264_26409.FStar_TypeChecker_Env.phase1); + (uu___3263_26409.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___3264_26409.FStar_TypeChecker_Env.failhard); + (uu___3263_26409.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___3264_26409.FStar_TypeChecker_Env.nosynth); + (uu___3263_26409.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___3264_26409.FStar_TypeChecker_Env.uvar_subtyping); + (uu___3263_26409.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___3264_26409.FStar_TypeChecker_Env.tc_term); + (uu___3263_26409.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___3264_26409.FStar_TypeChecker_Env.type_of); + (uu___3263_26409.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___3264_26409.FStar_TypeChecker_Env.universe_of); + (uu___3263_26409.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___3264_26409.FStar_TypeChecker_Env.check_type_of); + (uu___3263_26409.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = true; FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___3264_26409.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___3263_26409.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___3264_26409.FStar_TypeChecker_Env.normalized_eff_names); + (uu___3263_26409.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___3264_26409.FStar_TypeChecker_Env.fv_delta_depths); + (uu___3263_26409.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___3264_26409.FStar_TypeChecker_Env.proof_ns); + (uu___3263_26409.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___3264_26409.FStar_TypeChecker_Env.synth_hook); + (uu___3263_26409.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___3264_26409.FStar_TypeChecker_Env.splice); + (uu___3263_26409.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___3264_26409.FStar_TypeChecker_Env.postprocess); + (uu___3263_26409.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___3264_26409.FStar_TypeChecker_Env.is_native_tactic); + (uu___3263_26409.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___3264_26409.FStar_TypeChecker_Env.identifier_info); + (uu___3263_26409.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___3264_26409.FStar_TypeChecker_Env.tc_hooks); + (uu___3263_26409.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___3264_26409.FStar_TypeChecker_Env.dsenv); + (uu___3263_26409.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___3264_26409.FStar_TypeChecker_Env.nbe) - }) t in + (uu___3263_26409.FStar_TypeChecker_Env.nbe) + }) t + in (match uu____26401 with - | (uu____26412, ty, uu____26414) -> + | (uu____26412,ty,uu____26414) -> eta_expand_with_type env t ty))) + let rec (elim_delayed_subst_term : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> + fun t -> let mk1 x = FStar_Syntax_Syntax.mk x FStar_Pervasives_Native.None - t.FStar_Syntax_Syntax.pos in - let t1 = FStar_Syntax_Subst.compress t in + t.FStar_Syntax_Syntax.pos + in + let t1 = FStar_Syntax_Subst.compress t in let elim_bv x = - let uu___3276_26496 = x in - let uu____26497 = elim_delayed_subst_term x.FStar_Syntax_Syntax.sort in + let uu___3275_26496 = x in + let uu____26497 = elim_delayed_subst_term x.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = - (uu___3276_26496.FStar_Syntax_Syntax.ppname); + (uu___3275_26496.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___3276_26496.FStar_Syntax_Syntax.index); + (uu___3275_26496.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____26497 - } in + } in match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_delayed uu____26500 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_bvar uu____26524 -> t1 @@ -7620,267 +8182,279 @@ let rec (elim_delayed_subst_term : | FStar_Syntax_Syntax.Tm_constant uu____26534 -> t1 | FStar_Syntax_Syntax.Tm_type uu____26535 -> t1 | FStar_Syntax_Syntax.Tm_lazy uu____26536 -> t1 - | FStar_Syntax_Syntax.Tm_unknown -> t1 - | FStar_Syntax_Syntax.Tm_abs (bs, t2, rc_opt) -> + | FStar_Syntax_Syntax.Tm_unknown -> t1 + | FStar_Syntax_Syntax.Tm_abs (bs,t2,rc_opt) -> let elim_rc rc = - let uu___3302_26570 = rc in + let uu___3301_26570 = rc in let uu____26571 = FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - elim_delayed_subst_term in + elim_delayed_subst_term + in let uu____26580 = - elim_delayed_subst_cflags rc.FStar_Syntax_Syntax.residual_flags in + elim_delayed_subst_cflags rc.FStar_Syntax_Syntax.residual_flags + in { FStar_Syntax_Syntax.residual_effect = - (uu___3302_26570.FStar_Syntax_Syntax.residual_effect); + (uu___3301_26570.FStar_Syntax_Syntax.residual_effect); FStar_Syntax_Syntax.residual_typ = uu____26571; FStar_Syntax_Syntax.residual_flags = uu____26580 - } in + } in let uu____26583 = let uu____26584 = - let uu____26603 = elim_delayed_subst_binders bs in - let uu____26612 = elim_delayed_subst_term t2 in - let uu____26615 = FStar_Util.map_opt rc_opt elim_rc in - (uu____26603, uu____26612, uu____26615) in - FStar_Syntax_Syntax.Tm_abs uu____26584 in + let uu____26603 = elim_delayed_subst_binders bs in + let uu____26612 = elim_delayed_subst_term t2 in + let uu____26615 = FStar_Util.map_opt rc_opt elim_rc in + (uu____26603, uu____26612, uu____26615) in + FStar_Syntax_Syntax.Tm_abs uu____26584 in mk1 uu____26583 - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> let uu____26652 = let uu____26653 = - let uu____26668 = elim_delayed_subst_binders bs in - let uu____26677 = elim_delayed_subst_comp c in - (uu____26668, uu____26677) in - FStar_Syntax_Syntax.Tm_arrow uu____26653 in + let uu____26668 = elim_delayed_subst_binders bs in + let uu____26677 = elim_delayed_subst_comp c in + (uu____26668, uu____26677) in + FStar_Syntax_Syntax.Tm_arrow uu____26653 in mk1 uu____26652 - | FStar_Syntax_Syntax.Tm_refine (bv, phi) -> + | FStar_Syntax_Syntax.Tm_refine (bv,phi) -> let uu____26696 = let uu____26697 = - let uu____26704 = elim_bv bv in - let uu____26705 = elim_delayed_subst_term phi in - (uu____26704, uu____26705) in - FStar_Syntax_Syntax.Tm_refine uu____26697 in + let uu____26704 = elim_bv bv in + let uu____26705 = elim_delayed_subst_term phi in + (uu____26704, uu____26705) in + FStar_Syntax_Syntax.Tm_refine uu____26697 in mk1 uu____26696 - | FStar_Syntax_Syntax.Tm_app (t2, args) -> + | FStar_Syntax_Syntax.Tm_app (t2,args) -> let uu____26736 = let uu____26737 = - let uu____26754 = elim_delayed_subst_term t2 in - let uu____26757 = elim_delayed_subst_args args in - (uu____26754, uu____26757) in - FStar_Syntax_Syntax.Tm_app uu____26737 in + let uu____26754 = elim_delayed_subst_term t2 in + let uu____26757 = elim_delayed_subst_args args in + (uu____26754, uu____26757) in + FStar_Syntax_Syntax.Tm_app uu____26737 in mk1 uu____26736 - | FStar_Syntax_Syntax.Tm_match (t2, branches) -> + | FStar_Syntax_Syntax.Tm_match (t2,branches) -> let rec elim_pat p = match p.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_var x -> - let uu___3324_26829 = p in + let uu___3323_26829 = p in let uu____26830 = - let uu____26831 = elim_bv x in - FStar_Syntax_Syntax.Pat_var uu____26831 in + let uu____26831 = elim_bv x in + FStar_Syntax_Syntax.Pat_var uu____26831 in { FStar_Syntax_Syntax.v = uu____26830; FStar_Syntax_Syntax.p = - (uu___3324_26829.FStar_Syntax_Syntax.p) + (uu___3323_26829.FStar_Syntax_Syntax.p) } | FStar_Syntax_Syntax.Pat_wild x -> - let uu___3328_26833 = p in + let uu___3327_26833 = p in let uu____26834 = - let uu____26835 = elim_bv x in - FStar_Syntax_Syntax.Pat_wild uu____26835 in + let uu____26835 = elim_bv x in + FStar_Syntax_Syntax.Pat_wild uu____26835 in { FStar_Syntax_Syntax.v = uu____26834; FStar_Syntax_Syntax.p = - (uu___3328_26833.FStar_Syntax_Syntax.p) + (uu___3327_26833.FStar_Syntax_Syntax.p) } - | FStar_Syntax_Syntax.Pat_dot_term (x, t0) -> - let uu___3334_26842 = p in + | FStar_Syntax_Syntax.Pat_dot_term (x,t0) -> + let uu___3333_26842 = p in let uu____26843 = let uu____26844 = - let uu____26851 = elim_bv x in - let uu____26852 = elim_delayed_subst_term t0 in - (uu____26851, uu____26852) in - FStar_Syntax_Syntax.Pat_dot_term uu____26844 in + let uu____26851 = elim_bv x in + let uu____26852 = elim_delayed_subst_term t0 in + (uu____26851, uu____26852) in + FStar_Syntax_Syntax.Pat_dot_term uu____26844 in { FStar_Syntax_Syntax.v = uu____26843; FStar_Syntax_Syntax.p = - (uu___3334_26842.FStar_Syntax_Syntax.p) + (uu___3333_26842.FStar_Syntax_Syntax.p) } - | FStar_Syntax_Syntax.Pat_cons (fv, pats) -> - let uu___3340_26877 = p in + | FStar_Syntax_Syntax.Pat_cons (fv,pats) -> + let uu___3339_26877 = p in let uu____26878 = let uu____26879 = let uu____26893 = FStar_List.map - (fun uu____26919 -> + (fun uu____26919 -> match uu____26919 with - | (x, b) -> - let uu____26936 = elim_pat x in (uu____26936, b)) - pats in - (fv, uu____26893) in - FStar_Syntax_Syntax.Pat_cons uu____26879 in + | (x,b) -> + let uu____26936 = elim_pat x in + (uu____26936, b)) pats + in + (fv, uu____26893) in + FStar_Syntax_Syntax.Pat_cons uu____26879 in { FStar_Syntax_Syntax.v = uu____26878; FStar_Syntax_Syntax.p = - (uu___3340_26877.FStar_Syntax_Syntax.p) + (uu___3339_26877.FStar_Syntax_Syntax.p) } - | uu____26951 -> p in + | uu____26951 -> p in let elim_branch uu____26975 = match uu____26975 with - | (pat, wopt, t3) -> - let uu____27001 = elim_pat pat in + | (pat,wopt,t3) -> + let uu____27001 = elim_pat pat in let uu____27004 = - FStar_Util.map_opt wopt elim_delayed_subst_term in - let uu____27007 = elim_delayed_subst_term t3 in - (uu____27001, uu____27004, uu____27007) in + FStar_Util.map_opt wopt elim_delayed_subst_term in + let uu____27007 = elim_delayed_subst_term t3 in + (uu____27001, uu____27004, uu____27007) + in let uu____27012 = let uu____27013 = - let uu____27036 = elim_delayed_subst_term t2 in - let uu____27039 = FStar_List.map elim_branch branches in - (uu____27036, uu____27039) in - FStar_Syntax_Syntax.Tm_match uu____27013 in + let uu____27036 = elim_delayed_subst_term t2 in + let uu____27039 = FStar_List.map elim_branch branches in + (uu____27036, uu____27039) in + FStar_Syntax_Syntax.Tm_match uu____27013 in mk1 uu____27012 - | FStar_Syntax_Syntax.Tm_ascribed (t2, a, lopt) -> + | FStar_Syntax_Syntax.Tm_ascribed (t2,a,lopt) -> let elim_ascription uu____27170 = match uu____27170 with - | (tc, topt) -> + | (tc,topt) -> let uu____27205 = match tc with | FStar_Util.Inl t3 -> - let uu____27215 = elim_delayed_subst_term t3 in + let uu____27215 = elim_delayed_subst_term t3 in FStar_Util.Inl uu____27215 | FStar_Util.Inr c -> - let uu____27217 = elim_delayed_subst_comp c in - FStar_Util.Inr uu____27217 in + let uu____27217 = elim_delayed_subst_comp c in + FStar_Util.Inr uu____27217 + in let uu____27218 = - FStar_Util.map_opt topt elim_delayed_subst_term in - (uu____27205, uu____27218) in + FStar_Util.map_opt topt elim_delayed_subst_term in + (uu____27205, uu____27218) + in let uu____27227 = let uu____27228 = - let uu____27255 = elim_delayed_subst_term t2 in - let uu____27258 = elim_ascription a in - (uu____27255, uu____27258, lopt) in - FStar_Syntax_Syntax.Tm_ascribed uu____27228 in + let uu____27255 = elim_delayed_subst_term t2 in + let uu____27258 = elim_ascription a in + (uu____27255, uu____27258, lopt) in + FStar_Syntax_Syntax.Tm_ascribed uu____27228 in mk1 uu____27227 - | FStar_Syntax_Syntax.Tm_let (lbs, t2) -> + | FStar_Syntax_Syntax.Tm_let (lbs,t2) -> let elim_lb lb = - let uu___3370_27321 = lb in + let uu___3369_27321 = lb in let uu____27322 = - elim_delayed_subst_term lb.FStar_Syntax_Syntax.lbtyp in + elim_delayed_subst_term lb.FStar_Syntax_Syntax.lbtyp in let uu____27325 = - elim_delayed_subst_term lb.FStar_Syntax_Syntax.lbdef in + elim_delayed_subst_term lb.FStar_Syntax_Syntax.lbdef in { FStar_Syntax_Syntax.lbname = - (uu___3370_27321.FStar_Syntax_Syntax.lbname); + (uu___3369_27321.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = - (uu___3370_27321.FStar_Syntax_Syntax.lbunivs); + (uu___3369_27321.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = uu____27322; FStar_Syntax_Syntax.lbeff = - (uu___3370_27321.FStar_Syntax_Syntax.lbeff); + (uu___3369_27321.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = uu____27325; FStar_Syntax_Syntax.lbattrs = - (uu___3370_27321.FStar_Syntax_Syntax.lbattrs); + (uu___3369_27321.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___3370_27321.FStar_Syntax_Syntax.lbpos) - } in + (uu___3369_27321.FStar_Syntax_Syntax.lbpos) + } in let uu____27328 = let uu____27329 = let uu____27343 = let uu____27351 = - FStar_List.map elim_lb (FStar_Pervasives_Native.snd lbs) in - ((FStar_Pervasives_Native.fst lbs), uu____27351) in - let uu____27363 = elim_delayed_subst_term t2 in - (uu____27343, uu____27363) in - FStar_Syntax_Syntax.Tm_let uu____27329 in + FStar_List.map elim_lb (FStar_Pervasives_Native.snd lbs) in + ((FStar_Pervasives_Native.fst lbs), uu____27351) in + let uu____27363 = elim_delayed_subst_term t2 in + (uu____27343, uu____27363) in + FStar_Syntax_Syntax.Tm_let uu____27329 in mk1 uu____27328 - | FStar_Syntax_Syntax.Tm_uvar (u, s) -> + | FStar_Syntax_Syntax.Tm_uvar (u,s) -> mk1 (FStar_Syntax_Syntax.Tm_uvar (u, s)) - | FStar_Syntax_Syntax.Tm_quoted (tm, qi) -> + | FStar_Syntax_Syntax.Tm_quoted (tm,qi) -> let qi1 = - FStar_Syntax_Syntax.on_antiquoted elim_delayed_subst_term qi in + FStar_Syntax_Syntax.on_antiquoted elim_delayed_subst_term qi in let uu____27408 = let uu____27409 = - let uu____27416 = elim_delayed_subst_term tm in - (uu____27416, qi1) in - FStar_Syntax_Syntax.Tm_quoted uu____27409 in + let uu____27416 = elim_delayed_subst_term tm in + (uu____27416, qi1) in + FStar_Syntax_Syntax.Tm_quoted uu____27409 in mk1 uu____27408 - | FStar_Syntax_Syntax.Tm_meta (t2, md) -> + | FStar_Syntax_Syntax.Tm_meta (t2,md) -> let uu____27427 = let uu____27428 = - let uu____27435 = elim_delayed_subst_term t2 in - let uu____27438 = elim_delayed_subst_meta md in - (uu____27435, uu____27438) in - FStar_Syntax_Syntax.Tm_meta uu____27428 in + let uu____27435 = elim_delayed_subst_term t2 in + let uu____27438 = elim_delayed_subst_meta md in + (uu____27435, uu____27438) in + FStar_Syntax_Syntax.Tm_meta uu____27428 in mk1 uu____27427 + and (elim_delayed_subst_cflags : FStar_Syntax_Syntax.cflag Prims.list -> FStar_Syntax_Syntax.cflag Prims.list) = - fun flags -> + fun flags -> FStar_List.map - (fun uu___18_27447 -> + (fun uu___18_27447 -> match uu___18_27447 with | FStar_Syntax_Syntax.DECREASES t -> - let uu____27451 = elim_delayed_subst_term t in + let uu____27451 = elim_delayed_subst_term t in FStar_Syntax_Syntax.DECREASES uu____27451 | f -> f) flags + and (elim_delayed_subst_comp : FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp) = - fun c -> + fun c -> let mk1 x = FStar_Syntax_Syntax.mk x FStar_Pervasives_Native.None - c.FStar_Syntax_Syntax.pos in + c.FStar_Syntax_Syntax.pos + in match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, uopt) -> + | FStar_Syntax_Syntax.Total (t,uopt) -> let uu____27474 = let uu____27475 = - let uu____27484 = elim_delayed_subst_term t in - (uu____27484, uopt) in - FStar_Syntax_Syntax.Total uu____27475 in + let uu____27484 = elim_delayed_subst_term t in + (uu____27484, uopt) in + FStar_Syntax_Syntax.Total uu____27475 in mk1 uu____27474 - | FStar_Syntax_Syntax.GTotal (t, uopt) -> + | FStar_Syntax_Syntax.GTotal (t,uopt) -> let uu____27501 = let uu____27502 = - let uu____27511 = elim_delayed_subst_term t in - (uu____27511, uopt) in - FStar_Syntax_Syntax.GTotal uu____27502 in + let uu____27511 = elim_delayed_subst_term t in + (uu____27511, uopt) in + FStar_Syntax_Syntax.GTotal uu____27502 in mk1 uu____27501 | FStar_Syntax_Syntax.Comp ct -> let ct1 = - let uu___3403_27520 = ct in + let uu___3402_27520 = ct in let uu____27521 = - elim_delayed_subst_term ct.FStar_Syntax_Syntax.result_typ in + elim_delayed_subst_term ct.FStar_Syntax_Syntax.result_typ in let uu____27524 = - elim_delayed_subst_args ct.FStar_Syntax_Syntax.effect_args in + elim_delayed_subst_args ct.FStar_Syntax_Syntax.effect_args in let uu____27535 = - elim_delayed_subst_cflags ct.FStar_Syntax_Syntax.flags in + elim_delayed_subst_cflags ct.FStar_Syntax_Syntax.flags in { FStar_Syntax_Syntax.comp_univs = - (uu___3403_27520.FStar_Syntax_Syntax.comp_univs); + (uu___3402_27520.FStar_Syntax_Syntax.comp_univs); FStar_Syntax_Syntax.effect_name = - (uu___3403_27520.FStar_Syntax_Syntax.effect_name); + (uu___3402_27520.FStar_Syntax_Syntax.effect_name); FStar_Syntax_Syntax.result_typ = uu____27521; FStar_Syntax_Syntax.effect_args = uu____27524; FStar_Syntax_Syntax.flags = uu____27535 - } in + } in mk1 (FStar_Syntax_Syntax.Comp ct1) + and (elim_delayed_subst_meta : FStar_Syntax_Syntax.metadata -> FStar_Syntax_Syntax.metadata) = - fun uu___19_27538 -> + fun uu___19_27538 -> match uu___19_27538 with - | FStar_Syntax_Syntax.Meta_pattern (names1, args) -> + | FStar_Syntax_Syntax.Meta_pattern (names1,args) -> let uu____27573 = - let uu____27594 = FStar_List.map elim_delayed_subst_term names1 in - let uu____27603 = FStar_List.map elim_delayed_subst_args args in - (uu____27594, uu____27603) in + let uu____27594 = FStar_List.map elim_delayed_subst_term names1 in + let uu____27603 = FStar_List.map elim_delayed_subst_args args in + (uu____27594, uu____27603) in FStar_Syntax_Syntax.Meta_pattern uu____27573 - | FStar_Syntax_Syntax.Meta_monadic (m, t) -> + | FStar_Syntax_Syntax.Meta_monadic (m,t) -> let uu____27658 = - let uu____27665 = elim_delayed_subst_term t in (m, uu____27665) in + let uu____27665 = elim_delayed_subst_term t in (m, uu____27665) + in FStar_Syntax_Syntax.Meta_monadic uu____27658 - | FStar_Syntax_Syntax.Meta_monadic_lift (m1, m2, t) -> + | FStar_Syntax_Syntax.Meta_monadic_lift (m1,m2,t) -> let uu____27677 = - let uu____27686 = elim_delayed_subst_term t in - (m1, m2, uu____27686) in + let uu____27686 = elim_delayed_subst_term t in + (m1, m2, uu____27686) in FStar_Syntax_Syntax.Meta_monadic_lift uu____27677 | m -> m + and (elim_delayed_subst_args : (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) @@ -7889,100 +8463,106 @@ and (elim_delayed_subst_args : FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list) = - fun args -> + fun args -> FStar_List.map - (fun uu____27719 -> + (fun uu____27719 -> match uu____27719 with - | (t, q) -> - let uu____27738 = elim_delayed_subst_term t in (uu____27738, q)) + | (t,q) -> + let uu____27738 = elim_delayed_subst_term t in (uu____27738, q)) args + and (elim_delayed_subst_binders : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list) = - fun bs -> + fun bs -> FStar_List.map - (fun uu____27766 -> + (fun uu____27766 -> match uu____27766 with - | (x, q) -> + | (x,q) -> let uu____27785 = - let uu___3429_27786 = x in + let uu___3428_27786 = x in let uu____27787 = - elim_delayed_subst_term x.FStar_Syntax_Syntax.sort in + elim_delayed_subst_term x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = - (uu___3429_27786.FStar_Syntax_Syntax.ppname); + (uu___3428_27786.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___3429_27786.FStar_Syntax_Syntax.index); + (uu___3428_27786.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____27787 - } in + } in (uu____27785, q)) bs + let (elim_uvars_aux_tc : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.univ_names -> FStar_Syntax_Syntax.binders -> - (FStar_Syntax_Syntax.typ, FStar_Syntax_Syntax.comp) FStar_Util.either + (FStar_Syntax_Syntax.typ,FStar_Syntax_Syntax.comp) FStar_Util.either -> (FStar_Syntax_Syntax.univ_names * (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list * - (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax, - FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax) + (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax,FStar_Syntax_Syntax.comp' + FStar_Syntax_Syntax.syntax) FStar_Util.either)) = - fun env -> - fun univ_names -> - fun binders -> - fun tc -> + fun env -> + fun univ_names -> + fun binders -> + fun tc -> let t = match (binders, tc) with - | ([], FStar_Util.Inl t) -> t - | ([], FStar_Util.Inr c) -> + | ([],FStar_Util.Inl t) -> t + | ([],FStar_Util.Inr c) -> failwith "Impossible: empty bindes with a comp" - | (uu____27895, FStar_Util.Inr c) -> + | (uu____27895,FStar_Util.Inr c) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow (binders, c)) FStar_Pervasives_Native.None c.FStar_Syntax_Syntax.pos - | (uu____27927, FStar_Util.Inl t) -> + | (uu____27927,FStar_Util.Inl t) -> let uu____27949 = let uu____27956 = let uu____27957 = - let uu____27972 = FStar_Syntax_Syntax.mk_Total t in - (binders, uu____27972) in - FStar_Syntax_Syntax.Tm_arrow uu____27957 in - FStar_Syntax_Syntax.mk uu____27956 in + let uu____27972 = FStar_Syntax_Syntax.mk_Total t in + (binders, uu____27972) in + FStar_Syntax_Syntax.Tm_arrow uu____27957 in + FStar_Syntax_Syntax.mk uu____27956 in uu____27949 FStar_Pervasives_Native.None - t.FStar_Syntax_Syntax.pos in - let uu____27985 = FStar_Syntax_Subst.open_univ_vars univ_names t in + t.FStar_Syntax_Syntax.pos + in + let uu____27985 = FStar_Syntax_Subst.open_univ_vars univ_names t + in match uu____27985 with - | (univ_names1, t1) -> - let t2 = remove_uvar_solutions env t1 in - let t3 = FStar_Syntax_Subst.close_univ_vars univ_names1 t2 in - let t4 = elim_delayed_subst_term t3 in + | (univ_names1,t1) -> + let t2 = remove_uvar_solutions env t1 in + let t3 = FStar_Syntax_Subst.close_univ_vars univ_names1 t2 in + let t4 = elim_delayed_subst_term t3 in let uu____28017 = match binders with | [] -> ([], (FStar_Util.Inl t4)) | uu____28090 -> let uu____28091 = let uu____28100 = - let uu____28101 = FStar_Syntax_Subst.compress t4 in - uu____28101.FStar_Syntax_Syntax.n in - (uu____28100, tc) in + let uu____28101 = FStar_Syntax_Subst.compress t4 in + uu____28101.FStar_Syntax_Syntax.n in + (uu____28100, tc) in (match uu____28091 with - | (FStar_Syntax_Syntax.Tm_arrow (binders1, c), - FStar_Util.Inr uu____28130) -> + | (FStar_Syntax_Syntax.Tm_arrow + (binders1,c),FStar_Util.Inr uu____28130) -> (binders1, (FStar_Util.Inr c)) - | (FStar_Syntax_Syntax.Tm_arrow (binders1, c), - FStar_Util.Inl uu____28177) -> + | (FStar_Syntax_Syntax.Tm_arrow + (binders1,c),FStar_Util.Inl uu____28177) -> (binders1, (FStar_Util.Inl (FStar_Syntax_Util.comp_result c))) - | (uu____28222, FStar_Util.Inl uu____28223) -> + | (uu____28222,FStar_Util.Inl uu____28223) -> ([], (FStar_Util.Inl t4)) - | uu____28254 -> failwith "Impossible") in + | uu____28254 -> failwith "Impossible") + in (match uu____28017 with - | (binders1, tc1) -> (univ_names1, binders1, tc1)) + | (binders1,tc1) -> (univ_names1, binders1, tc1)) + let (elim_uvars_aux_t : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.univ_names -> @@ -7993,16 +8573,17 @@ let (elim_uvars_aux_t : Prims.list * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax)) = - fun env -> - fun univ_names -> - fun binders -> - fun t -> + fun env -> + fun univ_names -> + fun binders -> + fun t -> let uu____28393 = - elim_uvars_aux_tc env univ_names binders (FStar_Util.Inl t) in + elim_uvars_aux_tc env univ_names binders (FStar_Util.Inl t) in match uu____28393 with - | (univ_names1, binders1, tc) -> - let uu____28467 = FStar_Util.left tc in + | (univ_names1,binders1,tc) -> + let uu____28467 = FStar_Util.left tc in (univ_names1, binders1, uu____28467) + let (elim_uvars_aux_c : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.univ_names -> @@ -8013,269 +8594,287 @@ let (elim_uvars_aux_c : Prims.list * FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax)) = - fun env -> - fun univ_names -> - fun binders -> - fun c -> + fun env -> + fun univ_names -> + fun binders -> + fun c -> let uu____28521 = - elim_uvars_aux_tc env univ_names binders (FStar_Util.Inr c) in + elim_uvars_aux_tc env univ_names binders (FStar_Util.Inr c) in match uu____28521 with - | (univ_names1, binders1, tc) -> - let uu____28595 = FStar_Util.right tc in + | (univ_names1,binders1,tc) -> + let uu____28595 = FStar_Util.right tc in (univ_names1, binders1, uu____28595) + let rec (elim_uvars : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt) = - fun env -> - fun s -> + fun env -> + fun s -> match s.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, univ_names, binders, typ, lids, lids') -> - let uu____28637 = elim_uvars_aux_t env univ_names binders typ in + (lid,univ_names,binders,typ,lids,lids') -> + let uu____28637 = elim_uvars_aux_t env univ_names binders typ in (match uu____28637 with - | (univ_names1, binders1, typ1) -> - let uu___3512_28677 = s in + | (univ_names1,binders1,typ1) -> + let uu___3511_28677 = s in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_inductive_typ (lid, univ_names1, binders1, typ1, lids, lids')); FStar_Syntax_Syntax.sigrng = - (uu___3512_28677.FStar_Syntax_Syntax.sigrng); + (uu___3511_28677.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3512_28677.FStar_Syntax_Syntax.sigquals); + (uu___3511_28677.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3512_28677.FStar_Syntax_Syntax.sigmeta); + (uu___3511_28677.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3512_28677.FStar_Syntax_Syntax.sigattrs) + (uu___3511_28677.FStar_Syntax_Syntax.sigattrs) }) - | FStar_Syntax_Syntax.Sig_bundle (sigs, lids) -> - let uu___3518_28692 = s in + | FStar_Syntax_Syntax.Sig_bundle (sigs,lids) -> + let uu___3517_28692 = s in let uu____28693 = let uu____28694 = - let uu____28703 = FStar_List.map (elim_uvars env) sigs in - (uu____28703, lids) in - FStar_Syntax_Syntax.Sig_bundle uu____28694 in + let uu____28703 = FStar_List.map (elim_uvars env) sigs in + (uu____28703, lids) in + FStar_Syntax_Syntax.Sig_bundle uu____28694 in { FStar_Syntax_Syntax.sigel = uu____28693; FStar_Syntax_Syntax.sigrng = - (uu___3518_28692.FStar_Syntax_Syntax.sigrng); + (uu___3517_28692.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3518_28692.FStar_Syntax_Syntax.sigquals); + (uu___3517_28692.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3518_28692.FStar_Syntax_Syntax.sigmeta); + (uu___3517_28692.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3518_28692.FStar_Syntax_Syntax.sigattrs) + (uu___3517_28692.FStar_Syntax_Syntax.sigattrs) } - | FStar_Syntax_Syntax.Sig_datacon - (lid, univ_names, typ, lident, i, lids) -> - let uu____28722 = elim_uvars_aux_t env univ_names [] typ in + | FStar_Syntax_Syntax.Sig_datacon (lid,univ_names,typ,lident,i,lids) -> + let uu____28722 = elim_uvars_aux_t env univ_names [] typ in (match uu____28722 with - | (univ_names1, uu____28746, typ1) -> - let uu___3532_28768 = s in + | (univ_names1,uu____28746,typ1) -> + let uu___3531_28768 = s in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_datacon (lid, univ_names1, typ1, lident, i, lids)); FStar_Syntax_Syntax.sigrng = - (uu___3532_28768.FStar_Syntax_Syntax.sigrng); + (uu___3531_28768.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3532_28768.FStar_Syntax_Syntax.sigquals); + (uu___3531_28768.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3532_28768.FStar_Syntax_Syntax.sigmeta); + (uu___3531_28768.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3532_28768.FStar_Syntax_Syntax.sigattrs) + (uu___3531_28768.FStar_Syntax_Syntax.sigattrs) }) - | FStar_Syntax_Syntax.Sig_declare_typ (lid, univ_names, typ) -> - let uu____28775 = elim_uvars_aux_t env univ_names [] typ in + | FStar_Syntax_Syntax.Sig_declare_typ (lid,univ_names,typ) -> + let uu____28775 = elim_uvars_aux_t env univ_names [] typ in (match uu____28775 with - | (univ_names1, uu____28799, typ1) -> - let uu___3543_28821 = s in + | (univ_names1,uu____28799,typ1) -> + let uu___3542_28821 = s in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (lid, univ_names1, typ1)); FStar_Syntax_Syntax.sigrng = - (uu___3543_28821.FStar_Syntax_Syntax.sigrng); + (uu___3542_28821.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3543_28821.FStar_Syntax_Syntax.sigquals); + (uu___3542_28821.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3543_28821.FStar_Syntax_Syntax.sigmeta); + (uu___3542_28821.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3543_28821.FStar_Syntax_Syntax.sigattrs) + (uu___3542_28821.FStar_Syntax_Syntax.sigattrs) }) - | FStar_Syntax_Syntax.Sig_let ((b, lbs), lids) -> + | FStar_Syntax_Syntax.Sig_let ((b,lbs),lids) -> let lbs1 = FStar_All.pipe_right lbs (FStar_List.map - (fun lb -> + (fun lb -> let uu____28851 = FStar_Syntax_Subst.univ_var_opening - lb.FStar_Syntax_Syntax.lbunivs in + lb.FStar_Syntax_Syntax.lbunivs + in match uu____28851 with - | (opening, lbunivs) -> + | (opening,lbunivs) -> let elim t = let uu____28876 = let uu____28877 = let uu____28878 = - FStar_Syntax_Subst.subst opening t in - remove_uvar_solutions env uu____28878 in + FStar_Syntax_Subst.subst opening t in + remove_uvar_solutions env uu____28878 in FStar_Syntax_Subst.close_univ_vars lbunivs - uu____28877 in - elim_delayed_subst_term uu____28876 in - let lbtyp = elim lb.FStar_Syntax_Syntax.lbtyp in - let lbdef = elim lb.FStar_Syntax_Syntax.lbdef in - let uu___3559_28881 = lb in + uu____28877 + in + elim_delayed_subst_term uu____28876 in + let lbtyp = elim lb.FStar_Syntax_Syntax.lbtyp in + let lbdef = elim lb.FStar_Syntax_Syntax.lbdef in + let uu___3558_28881 = lb in { FStar_Syntax_Syntax.lbname = - (uu___3559_28881.FStar_Syntax_Syntax.lbname); + (uu___3558_28881.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = lbunivs; FStar_Syntax_Syntax.lbtyp = lbtyp; FStar_Syntax_Syntax.lbeff = - (uu___3559_28881.FStar_Syntax_Syntax.lbeff); + (uu___3558_28881.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = lbdef; FStar_Syntax_Syntax.lbattrs = - (uu___3559_28881.FStar_Syntax_Syntax.lbattrs); + (uu___3558_28881.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___3559_28881.FStar_Syntax_Syntax.lbpos) - })) in - let uu___3562_28882 = s in + (uu___3558_28881.FStar_Syntax_Syntax.lbpos) + })) + in + let uu___3561_28882 = s in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_let ((b, lbs1), lids)); FStar_Syntax_Syntax.sigrng = - (uu___3562_28882.FStar_Syntax_Syntax.sigrng); + (uu___3561_28882.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3562_28882.FStar_Syntax_Syntax.sigquals); + (uu___3561_28882.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3562_28882.FStar_Syntax_Syntax.sigmeta); + (uu___3561_28882.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3562_28882.FStar_Syntax_Syntax.sigattrs) + (uu___3561_28882.FStar_Syntax_Syntax.sigattrs) } | FStar_Syntax_Syntax.Sig_main t -> - let uu___3566_28889 = s in + let uu___3565_28889 = s in let uu____28890 = - let uu____28891 = remove_uvar_solutions env t in - FStar_Syntax_Syntax.Sig_main uu____28891 in + let uu____28891 = remove_uvar_solutions env t in + FStar_Syntax_Syntax.Sig_main uu____28891 in { FStar_Syntax_Syntax.sigel = uu____28890; FStar_Syntax_Syntax.sigrng = - (uu___3566_28889.FStar_Syntax_Syntax.sigrng); + (uu___3565_28889.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3566_28889.FStar_Syntax_Syntax.sigquals); + (uu___3565_28889.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3566_28889.FStar_Syntax_Syntax.sigmeta); + (uu___3565_28889.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3566_28889.FStar_Syntax_Syntax.sigattrs) + (uu___3565_28889.FStar_Syntax_Syntax.sigattrs) } - | FStar_Syntax_Syntax.Sig_assume (l, us, t) -> - let uu____28895 = elim_uvars_aux_t env us [] t in + | FStar_Syntax_Syntax.Sig_assume (l,us,t) -> + let uu____28895 = elim_uvars_aux_t env us [] t in (match uu____28895 with - | (us1, uu____28919, t1) -> - let uu___3577_28941 = s in + | (us1,uu____28919,t1) -> + let uu___3576_28941 = s in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_assume (l, us1, t1)); FStar_Syntax_Syntax.sigrng = - (uu___3577_28941.FStar_Syntax_Syntax.sigrng); + (uu___3576_28941.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3577_28941.FStar_Syntax_Syntax.sigquals); + (uu___3576_28941.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3577_28941.FStar_Syntax_Syntax.sigmeta); + (uu___3576_28941.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3577_28941.FStar_Syntax_Syntax.sigattrs) + (uu___3576_28941.FStar_Syntax_Syntax.sigattrs) }) | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____28942 -> failwith "Impossible: should have been desugared already" | FStar_Syntax_Syntax.Sig_new_effect ed -> let uu____28945 = elim_uvars_aux_t env ed.FStar_Syntax_Syntax.univs - ed.FStar_Syntax_Syntax.binders ed.FStar_Syntax_Syntax.signature in + ed.FStar_Syntax_Syntax.binders ed.FStar_Syntax_Syntax.signature + in (match uu____28945 with - | (univs1, binders, signature) -> + | (univs1,binders,signature) -> let uu____28985 = - let uu____28990 = FStar_Syntax_Subst.univ_var_opening univs1 in + let uu____28990 = FStar_Syntax_Subst.univ_var_opening univs1 + in match uu____28990 with - | (univs_opening, univs2) -> + | (univs_opening,univs2) -> let uu____29013 = - FStar_Syntax_Subst.univ_var_closing univs2 in - (univs_opening, uu____29013) in + FStar_Syntax_Subst.univ_var_closing univs2 in + (univs_opening, uu____29013) + in (match uu____28985 with - | (univs_opening, univs_closing) -> + | (univs_opening,univs_closing) -> let uu____29016 = - let binders1 = FStar_Syntax_Subst.open_binders binders in + let binders1 = FStar_Syntax_Subst.open_binders binders + in let uu____29022 = - FStar_Syntax_Subst.opening_of_binders binders1 in + FStar_Syntax_Subst.opening_of_binders binders1 in let uu____29023 = - FStar_Syntax_Subst.closing_of_binders binders1 in - (uu____29022, uu____29023) in + FStar_Syntax_Subst.closing_of_binders binders1 in + (uu____29022, uu____29023) in (match uu____29016 with - | (b_opening, b_closing) -> - let n1 = FStar_List.length univs1 in - let n_binders = FStar_List.length binders in + | (b_opening,b_closing) -> + let n1 = FStar_List.length univs1 in + let n_binders = FStar_List.length binders in let elim_tscheme uu____29049 = match uu____29049 with - | (us, t) -> - let n_us = FStar_List.length us in + | (us,t) -> + let n_us = FStar_List.length us in let uu____29067 = - FStar_Syntax_Subst.open_univ_vars us t in + FStar_Syntax_Subst.open_univ_vars us t in (match uu____29067 with - | (us1, t1) -> + | (us1,t1) -> let uu____29078 = let uu____29087 = FStar_All.pipe_right b_opening (FStar_Syntax_Subst.shift_subst - n_us) in + n_us) + in let uu____29092 = FStar_All.pipe_right b_closing (FStar_Syntax_Subst.shift_subst - n_us) in - (uu____29087, uu____29092) in + n_us) + in + (uu____29087, uu____29092) in (match uu____29078 with - | (b_opening1, b_closing1) -> + | (b_opening1,b_closing1) -> let uu____29115 = let uu____29124 = FStar_All.pipe_right univs_opening (FStar_Syntax_Subst.shift_subst - n_us) in + n_us) + in let uu____29129 = FStar_All.pipe_right univs_closing (FStar_Syntax_Subst.shift_subst - n_us) in - (uu____29124, uu____29129) in + n_us) + in + (uu____29124, uu____29129) in (match uu____29115 with - | (univs_opening1, univs_closing1) + | (univs_opening1,univs_closing1) -> let t2 = let uu____29153 = FStar_Syntax_Subst.subst - b_opening1 t1 in + b_opening1 t1 + in FStar_Syntax_Subst.subst - univs_opening1 uu____29153 in + univs_opening1 uu____29153 + in let uu____29154 = - elim_uvars_aux_t env [] [] t2 in + elim_uvars_aux_t env [] [] t2 + in (match uu____29154 with - | (uu____29181, uu____29182, - t3) -> + | (uu____29181,uu____29182,t3) + -> let t4 = let uu____29205 = let uu____29206 = FStar_Syntax_Subst.close_univ_vars - us1 t3 in + us1 t3 + in FStar_Syntax_Subst.subst b_closing1 - uu____29206 in + uu____29206 + in FStar_Syntax_Subst.subst univs_closing1 - uu____29205 in - (us1, t4))))) in + uu____29205 + in + (us1, t4))))) + in let elim_term t = let uu____29215 = - elim_uvars_aux_t env univs1 binders t in + elim_uvars_aux_t env univs1 binders t in match uu____29215 with - | (uu____29234, uu____29235, t1) -> t1 in + | (uu____29234,uu____29235,t1) -> t1 in let elim_action a = let action_typ_templ = let body = @@ -8287,7 +8886,8 @@ let rec (elim_uvars : FStar_Pervasives_Native.None), FStar_Pervasives_Native.None)) FStar_Pervasives_Native.None - (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos in + (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos + in match a.FStar_Syntax_Syntax.action_params with | [] -> body | uu____29311 -> @@ -8296,52 +8896,56 @@ let rec (elim_uvars : ((a.FStar_Syntax_Syntax.action_params), body, FStar_Pervasives_Native.None)) FStar_Pervasives_Native.None - (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos in + (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos + in let destruct_action_body body = let uu____29338 = let uu____29339 = - FStar_Syntax_Subst.compress body in - uu____29339.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress body in + uu____29339.FStar_Syntax_Syntax.n in match uu____29338 with | FStar_Syntax_Syntax.Tm_ascribed - (defn, - (FStar_Util.Inl typ, - FStar_Pervasives_Native.None), - FStar_Pervasives_Native.None) + (defn,(FStar_Util.Inl + typ,FStar_Pervasives_Native.None ),FStar_Pervasives_Native.None + ) -> (defn, typ) - | uu____29398 -> failwith "Impossible" in + | uu____29398 -> failwith "Impossible" in let destruct_action_typ_templ t = let uu____29432 = let uu____29433 = - FStar_Syntax_Subst.compress t in - uu____29433.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress t in + uu____29433.FStar_Syntax_Syntax.n in match uu____29432 with | FStar_Syntax_Syntax.Tm_abs - (pars, body, uu____29456) -> - let uu____29481 = destruct_action_body body in + (pars,body,uu____29456) -> + let uu____29481 = destruct_action_body body + in (match uu____29481 with - | (defn, typ) -> (pars, defn, typ)) + | (defn,typ) -> (pars, defn, typ)) | uu____29530 -> - let uu____29531 = destruct_action_body t in + let uu____29531 = destruct_action_body t in (match uu____29531 with - | (defn, typ) -> ([], defn, typ)) in + | (defn,typ) -> ([], defn, typ)) + in let uu____29586 = elim_tscheme ((a.FStar_Syntax_Syntax.action_univs), - action_typ_templ) in + action_typ_templ) + in match uu____29586 with - | (action_univs, t) -> - let uu____29595 = destruct_action_typ_templ t in + | (action_univs,t) -> + let uu____29595 = destruct_action_typ_templ t + in (match uu____29595 with - | (action_params, action_defn, action_typ) -> + | (action_params,action_defn,action_typ) -> let a' = - let uu___3663_29642 = a in + let uu___3662_29642 = a in { FStar_Syntax_Syntax.action_name = - (uu___3663_29642.FStar_Syntax_Syntax.action_name); + (uu___3662_29642.FStar_Syntax_Syntax.action_name); FStar_Syntax_Syntax.action_unqualified_name = - (uu___3663_29642.FStar_Syntax_Syntax.action_unqualified_name); + (uu___3662_29642.FStar_Syntax_Syntax.action_unqualified_name); FStar_Syntax_Syntax.action_univs = action_univs; FStar_Syntax_Syntax.action_params = @@ -8350,44 +8954,49 @@ let rec (elim_uvars : action_defn; FStar_Syntax_Syntax.action_typ = action_typ - } in - a') in + } in + a') + in let ed1 = - let uu___3666_29644 = ed in + let uu___3665_29644 = ed in let uu____29645 = - elim_tscheme ed.FStar_Syntax_Syntax.ret_wp in + elim_tscheme ed.FStar_Syntax_Syntax.ret_wp in let uu____29646 = - elim_tscheme ed.FStar_Syntax_Syntax.bind_wp in + elim_tscheme ed.FStar_Syntax_Syntax.bind_wp in let uu____29647 = - elim_tscheme ed.FStar_Syntax_Syntax.if_then_else in + elim_tscheme ed.FStar_Syntax_Syntax.if_then_else + in let uu____29648 = - elim_tscheme ed.FStar_Syntax_Syntax.ite_wp in + elim_tscheme ed.FStar_Syntax_Syntax.ite_wp in let uu____29649 = - elim_tscheme ed.FStar_Syntax_Syntax.stronger in + elim_tscheme ed.FStar_Syntax_Syntax.stronger in let uu____29650 = - elim_tscheme ed.FStar_Syntax_Syntax.close_wp in + elim_tscheme ed.FStar_Syntax_Syntax.close_wp in let uu____29651 = - elim_tscheme ed.FStar_Syntax_Syntax.assert_p in + elim_tscheme ed.FStar_Syntax_Syntax.assert_p in let uu____29652 = - elim_tscheme ed.FStar_Syntax_Syntax.assume_p in + elim_tscheme ed.FStar_Syntax_Syntax.assume_p in let uu____29653 = - elim_tscheme ed.FStar_Syntax_Syntax.null_wp in + elim_tscheme ed.FStar_Syntax_Syntax.null_wp in let uu____29654 = - elim_tscheme ed.FStar_Syntax_Syntax.trivial in + elim_tscheme ed.FStar_Syntax_Syntax.trivial in let uu____29655 = - elim_term ed.FStar_Syntax_Syntax.repr in + elim_term ed.FStar_Syntax_Syntax.repr in let uu____29656 = - elim_tscheme ed.FStar_Syntax_Syntax.return_repr in + elim_tscheme ed.FStar_Syntax_Syntax.return_repr + in let uu____29657 = - elim_tscheme ed.FStar_Syntax_Syntax.bind_repr in + elim_tscheme ed.FStar_Syntax_Syntax.bind_repr + in let uu____29658 = FStar_List.map elim_action - ed.FStar_Syntax_Syntax.actions in + ed.FStar_Syntax_Syntax.actions + in { FStar_Syntax_Syntax.cattributes = - (uu___3666_29644.FStar_Syntax_Syntax.cattributes); + (uu___3665_29644.FStar_Syntax_Syntax.cattributes); FStar_Syntax_Syntax.mname = - (uu___3666_29644.FStar_Syntax_Syntax.mname); + (uu___3665_29644.FStar_Syntax_Syntax.mname); FStar_Syntax_Syntax.univs = univs1; FStar_Syntax_Syntax.binders = binders; FStar_Syntax_Syntax.signature = signature; @@ -8406,126 +9015,133 @@ let rec (elim_uvars : FStar_Syntax_Syntax.bind_repr = uu____29657; FStar_Syntax_Syntax.actions = uu____29658; FStar_Syntax_Syntax.eff_attrs = - (uu___3666_29644.FStar_Syntax_Syntax.eff_attrs) - } in - let uu___3669_29661 = s in + (uu___3665_29644.FStar_Syntax_Syntax.eff_attrs) + } in + let uu___3668_29661 = s in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_new_effect ed1); FStar_Syntax_Syntax.sigrng = - (uu___3669_29661.FStar_Syntax_Syntax.sigrng); + (uu___3668_29661.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3669_29661.FStar_Syntax_Syntax.sigquals); + (uu___3668_29661.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3669_29661.FStar_Syntax_Syntax.sigmeta); + (uu___3668_29661.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3669_29661.FStar_Syntax_Syntax.sigattrs) + (uu___3668_29661.FStar_Syntax_Syntax.sigattrs) }))) | FStar_Syntax_Syntax.Sig_sub_effect sub_eff -> let elim_tscheme_opt uu___20_29682 = match uu___20_29682 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (us, t) -> - let uu____29713 = elim_uvars_aux_t env us [] t in + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (us,t) -> + let uu____29713 = elim_uvars_aux_t env us [] t in (match uu____29713 with - | (us1, uu____29745, t1) -> - FStar_Pervasives_Native.Some (us1, t1)) in + | (us1,uu____29745,t1) -> + FStar_Pervasives_Native.Some (us1, t1)) + in let sub_eff1 = - let uu___3684_29776 = sub_eff in + let uu___3683_29776 = sub_eff in let uu____29777 = - elim_tscheme_opt sub_eff.FStar_Syntax_Syntax.lift_wp in + elim_tscheme_opt sub_eff.FStar_Syntax_Syntax.lift_wp in let uu____29780 = - elim_tscheme_opt sub_eff.FStar_Syntax_Syntax.lift in + elim_tscheme_opt sub_eff.FStar_Syntax_Syntax.lift in { FStar_Syntax_Syntax.source = - (uu___3684_29776.FStar_Syntax_Syntax.source); + (uu___3683_29776.FStar_Syntax_Syntax.source); FStar_Syntax_Syntax.target = - (uu___3684_29776.FStar_Syntax_Syntax.target); + (uu___3683_29776.FStar_Syntax_Syntax.target); FStar_Syntax_Syntax.lift_wp = uu____29777; FStar_Syntax_Syntax.lift = uu____29780 - } in - let uu___3687_29783 = s in + } in + let uu___3686_29783 = s in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_sub_effect sub_eff1); FStar_Syntax_Syntax.sigrng = - (uu___3687_29783.FStar_Syntax_Syntax.sigrng); + (uu___3686_29783.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3687_29783.FStar_Syntax_Syntax.sigquals); + (uu___3686_29783.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3687_29783.FStar_Syntax_Syntax.sigmeta); + (uu___3686_29783.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3687_29783.FStar_Syntax_Syntax.sigattrs) + (uu___3686_29783.FStar_Syntax_Syntax.sigattrs) } | FStar_Syntax_Syntax.Sig_effect_abbrev - (lid, univ_names, binders, comp, flags) -> - let uu____29793 = elim_uvars_aux_c env univ_names binders comp in + (lid,univ_names,binders,comp,flags) -> + let uu____29793 = elim_uvars_aux_c env univ_names binders comp in (match uu____29793 with - | (univ_names1, binders1, comp1) -> - let uu___3700_29833 = s in + | (univ_names1,binders1,comp1) -> + let uu___3699_29833 = s in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_effect_abbrev (lid, univ_names1, binders1, comp1, flags)); FStar_Syntax_Syntax.sigrng = - (uu___3700_29833.FStar_Syntax_Syntax.sigrng); + (uu___3699_29833.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___3700_29833.FStar_Syntax_Syntax.sigquals); + (uu___3699_29833.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___3700_29833.FStar_Syntax_Syntax.sigmeta); + (uu___3699_29833.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___3700_29833.FStar_Syntax_Syntax.sigattrs) + (uu___3699_29833.FStar_Syntax_Syntax.sigattrs) }) | FStar_Syntax_Syntax.Sig_pragma uu____29836 -> s | FStar_Syntax_Syntax.Sig_splice uu____29837 -> s + let (erase_universes : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun t -> + fun env -> + fun t -> normalize [FStar_TypeChecker_Env.EraseUniverses; FStar_TypeChecker_Env.AllowUnboundUniverses] env t + let (unfold_head_once : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun env -> - fun t -> + fun env -> + fun t -> let aux f us args = let uu____29886 = FStar_TypeChecker_Env.lookup_nonrec_definition [FStar_TypeChecker_Env.Unfold FStar_Syntax_Syntax.delta_constant] - env (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + env (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in match uu____29886 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some head_def_ts -> let uu____29908 = - FStar_TypeChecker_Env.inst_tscheme_with head_def_ts us in + FStar_TypeChecker_Env.inst_tscheme_with head_def_ts us in (match uu____29908 with - | (uu____29915, head_def) -> + | (uu____29915,head_def) -> let t' = FStar_Syntax_Syntax.mk_Tm_app head_def args - FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos + in let t'1 = normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Iota] - env t' in - FStar_Pervasives_Native.Some t'1) in - let uu____29921 = FStar_Syntax_Util.head_and_args t in + env t' + in + FStar_Pervasives_Native.Some t'1) + in + let uu____29921 = FStar_Syntax_Util.head_and_args t in match uu____29921 with - | (head1, args) -> + | (head1,args) -> let uu____29966 = - let uu____29967 = FStar_Syntax_Subst.compress head1 in - uu____29967.FStar_Syntax_Syntax.n in + let uu____29967 = FStar_Syntax_Subst.compress head1 in + uu____29967.FStar_Syntax_Syntax.n in (match uu____29966 with | FStar_Syntax_Syntax.Tm_fvar fv -> aux fv [] args | FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos = uu____29974; - FStar_Syntax_Syntax.vars = uu____29975;_}, - us) + FStar_Syntax_Syntax.vars = uu____29975;_},us) -> aux fv us args - | uu____29981 -> FStar_Pervasives_Native.None) \ No newline at end of file + | uu____29981 -> FStar_Pervasives_Native.None) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_PatternUtils.ml b/src/ocaml-output/FStar_TypeChecker_PatternUtils.ml index 3f624ea76f9..91ef78f5281 100644 --- a/src/ocaml-output/FStar_TypeChecker_PatternUtils.ml +++ b/src/ocaml-output/FStar_TypeChecker_PatternUtils.ml @@ -6,47 +6,51 @@ let rec (elaborate_pat : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.pat -> FStar_Syntax_Syntax.pat) = - fun env -> - fun p -> + fun env -> + fun p -> let maybe_dot inaccessible a r = if inaccessible then FStar_Syntax_Syntax.withinfo (FStar_Syntax_Syntax.Pat_dot_term (a, FStar_Syntax_Syntax.tun)) r - else FStar_Syntax_Syntax.withinfo (FStar_Syntax_Syntax.Pat_var a) r in + else FStar_Syntax_Syntax.withinfo (FStar_Syntax_Syntax.Pat_var a) r + in match p.FStar_Syntax_Syntax.v with - | FStar_Syntax_Syntax.Pat_cons (fv, pats) -> + | FStar_Syntax_Syntax.Pat_cons (fv,pats) -> let pats1 = FStar_List.map - (fun uu____85 -> + (fun uu____85 -> match uu____85 with - | (p1, imp) -> - let uu____100 = elaborate_pat env p1 in (uu____100, imp)) - pats in + | (p1,imp) -> + let uu____100 = elaborate_pat env p1 in + (uu____100, imp)) pats + in let uu____102 = FStar_TypeChecker_Env.lookup_datacon env - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in (match uu____102 with - | (uu____107, t) -> - let uu____109 = FStar_Syntax_Util.arrow_formals t in + | (uu____107,t) -> + let uu____109 = FStar_Syntax_Util.arrow_formals t in (match uu____109 with - | (f, uu____125) -> + | (f,uu____125) -> let rec aux formals pats2 = match (formals, pats2) with - | ([], []) -> [] - | ([], uu____263::uu____264) -> + | ([],[]) -> [] + | ([],uu____263::uu____264) -> let uu____311 = FStar_Ident.range_of_lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in FStar_Errors.raise_error (FStar_Errors.Fatal_TooManyPatternArguments, "Too many pattern arguments") uu____311 - | (uu____323::uu____324, []) -> + | (uu____323::uu____324,[]) -> FStar_All.pipe_right formals (FStar_List.map - (fun uu____406 -> + (fun uu____406 -> match uu____406 with - | (t1, imp) -> + | (t1,imp) -> (match imp with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit @@ -55,106 +59,123 @@ let rec (elaborate_pat : let uu____436 = let uu____439 = FStar_Syntax_Syntax.range_of_bv - t1 in + t1 + in FStar_Pervasives_Native.Some - uu____439 in + uu____439 + in FStar_Syntax_Syntax.new_bv uu____436 - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let r = FStar_Ident.range_of_lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in let uu____441 = - maybe_dot inaccessible a r in + maybe_dot inaccessible a r in (uu____441, true) | uu____448 -> let uu____451 = let uu____457 = let uu____459 = FStar_Syntax_Print.pat_to_string - p in + p + in FStar_Util.format1 "Insufficient pattern arguments (%s)" - uu____459 in + uu____459 + in (FStar_Errors.Fatal_InsufficientPatternArguments, - uu____457) in + uu____457) + in let uu____463 = FStar_Ident.range_of_lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in FStar_Errors.raise_error uu____451 uu____463))) - | (f1::formals', (p1, p_imp)::pats') -> + | (f1::formals',(p1,p_imp)::pats') -> (match f1 with - | (uu____544, FStar_Pervasives_Native.Some + | (uu____544,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit inaccessible)) when inaccessible && p_imp -> (match p1.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_dot_term uu____558 -> - let uu____565 = aux formals' pats' in + let uu____565 = aux formals' pats' in (p1, true) :: uu____565 | FStar_Syntax_Syntax.Pat_wild uu____586 -> let a = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some (p1.FStar_Syntax_Syntax.p)) - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let p2 = let uu____591 = FStar_Ident.range_of_lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - maybe_dot inaccessible a uu____591 in - let uu____592 = aux formals' pats' in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + maybe_dot inaccessible a uu____591 in + let uu____592 = aux formals' pats' in (p2, true) :: uu____592 | uu____613 -> let uu____614 = let uu____620 = let uu____622 = - FStar_Syntax_Print.pat_to_string p1 in + FStar_Syntax_Print.pat_to_string p1 + in FStar_Util.format1 "This pattern (%s) binds an inaccesible argument; use a wildcard ('_') pattern" - uu____622 in + uu____622 + in (FStar_Errors.Fatal_InsufficientPatternArguments, - uu____620) in + uu____620) + in FStar_Errors.raise_error uu____614 p1.FStar_Syntax_Syntax.p) - | (uu____635, FStar_Pervasives_Native.Some + | (uu____635,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit uu____636)) when p_imp -> - let uu____640 = aux formals' pats' in + let uu____640 = aux formals' pats' in (p1, true) :: uu____640 - | (uu____661, FStar_Pervasives_Native.Some + | (uu____661,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit inaccessible)) -> let a = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some (p1.FStar_Syntax_Syntax.p)) - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let p2 = let uu____670 = FStar_Ident.range_of_lid - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - maybe_dot inaccessible a uu____670 in - let uu____671 = aux formals' pats2 in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + maybe_dot inaccessible a uu____670 in + let uu____671 = aux formals' pats2 in (p2, true) :: uu____671 - | (uu____692, imp) -> + | (uu____692,imp) -> let uu____698 = let uu____706 = - FStar_Syntax_Syntax.is_implicit imp in - (p1, uu____706) in - let uu____711 = aux formals' pats' in - uu____698 :: uu____711) in - let uu___82_728 = p in + FStar_Syntax_Syntax.is_implicit imp in + (p1, uu____706) in + let uu____711 = aux formals' pats' in + uu____698 :: uu____711) + in + let uu___82_728 = p in let uu____729 = let uu____730 = - let uu____744 = aux f pats1 in (fv, uu____744) in - FStar_Syntax_Syntax.Pat_cons uu____730 in + let uu____744 = aux f pats1 in (fv, uu____744) in + FStar_Syntax_Syntax.Pat_cons uu____730 in { FStar_Syntax_Syntax.v = uu____729; FStar_Syntax_Syntax.p = (uu___82_728.FStar_Syntax_Syntax.p) })) | uu____763 -> p + let (pat_as_exp : Prims.bool -> FStar_TypeChecker_Env.env -> @@ -162,13 +183,13 @@ let (pat_as_exp : (FStar_Syntax_Syntax.bv Prims.list * FStar_Syntax_Syntax.term * FStar_TypeChecker_Env.guard_t * FStar_Syntax_Syntax.pat)) = - fun introduce_bv_uvars -> - fun env -> - fun p -> + fun introduce_bv_uvars -> + fun env -> + fun p -> let intro_bv env1 x = if Prims.op_Negation introduce_bv_uvars then - ((let uu___95_827 = x in + ((let uu___95_827 = x in { FStar_Syntax_Syntax.ppname = (uu___95_827.FStar_Syntax_Syntax.ppname); @@ -177,170 +198,192 @@ let (pat_as_exp : FStar_Syntax_Syntax.sort = FStar_Syntax_Syntax.tun }), FStar_TypeChecker_Env.trivial_guard, env1) else - (let uu____830 = FStar_Syntax_Util.type_u () in + (let uu____830 = FStar_Syntax_Util.type_u () in match uu____830 with - | (t, uu____842) -> + | (t,uu____842) -> let uu____843 = - let uu____856 = FStar_Syntax_Syntax.range_of_bv x in + let uu____856 = FStar_Syntax_Syntax.range_of_bv x in FStar_TypeChecker_Env.new_implicit_var_aux "pattern bv type" uu____856 env1 t FStar_Syntax_Syntax.Allow_untyped - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (match uu____843 with - | (t_x, uu____869, guard) -> + | (t_x,uu____869,guard) -> let x1 = - let uu___104_884 = x in + let uu___104_884 = x in { FStar_Syntax_Syntax.ppname = (uu___104_884.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___104_884.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t_x - } in - let uu____885 = FStar_TypeChecker_Env.push_bv env1 x1 in - (x1, guard, uu____885))) in + } in + let uu____885 = FStar_TypeChecker_Env.push_bv env1 x1 + in + (x1, guard, uu____885))) + in let rec pat_as_arg_with_env env1 p1 = match p1.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant c -> let e = match c with | FStar_Const.Const_int - (repr, FStar_Pervasives_Native.Some sw) -> + (repr,FStar_Pervasives_Native.Some sw) -> FStar_ToSyntax_ToSyntax.desugar_machine_integer env1.FStar_TypeChecker_Env.dsenv repr sw p1.FStar_Syntax_Syntax.p | uu____957 -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant c) - FStar_Pervasives_Native.None p1.FStar_Syntax_Syntax.p in + FStar_Pervasives_Native.None p1.FStar_Syntax_Syntax.p + in ([], [], [], env1, e, FStar_TypeChecker_Env.trivial_guard, p1) - | FStar_Syntax_Syntax.Pat_dot_term (x, uu____965) -> - let uu____970 = FStar_Syntax_Util.type_u () in + | FStar_Syntax_Syntax.Pat_dot_term (x,uu____965) -> + let uu____970 = FStar_Syntax_Util.type_u () in (match uu____970 with - | (k, uu____996) -> + | (k,uu____996) -> let uu____997 = - let uu____1010 = FStar_Syntax_Syntax.range_of_bv x in + let uu____1010 = FStar_Syntax_Syntax.range_of_bv x in FStar_TypeChecker_Env.new_implicit_var_aux "pat_dot_term type" uu____1010 env1 k FStar_Syntax_Syntax.Allow_untyped - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (match uu____997 with - | (t, uu____1037, g) -> + | (t,uu____1037,g) -> let x1 = - let uu___130_1052 = x in + let uu___130_1052 = x in { FStar_Syntax_Syntax.ppname = (uu___130_1052.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___130_1052.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t - } in + } in let uu____1053 = - let uu____1066 = FStar_Syntax_Syntax.range_of_bv x1 in + let uu____1066 = FStar_Syntax_Syntax.range_of_bv x1 + in FStar_TypeChecker_Env.new_implicit_var_aux "pat_dot_term" uu____1066 env1 t FStar_Syntax_Syntax.Allow_untyped - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (match uu____1053 with - | (e, uu____1093, g') -> + | (e,uu____1093,g') -> let p2 = - let uu___137_1110 = p1 in + let uu___137_1110 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_dot_term (x1, e)); FStar_Syntax_Syntax.p = (uu___137_1110.FStar_Syntax_Syntax.p) - } in + } in let uu____1113 = - FStar_TypeChecker_Env.conj_guard g g' in + FStar_TypeChecker_Env.conj_guard g g' in ([], [], [], env1, e, uu____1113, p2)))) | FStar_Syntax_Syntax.Pat_wild x -> - let uu____1121 = intro_bv env1 x in + let uu____1121 = intro_bv env1 x in (match uu____1121 with - | (x1, g, env2) -> + | (x1,g,env2) -> let e = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_name x1) - FStar_Pervasives_Native.None p1.FStar_Syntax_Syntax.p in + FStar_Pervasives_Native.None p1.FStar_Syntax_Syntax.p + in ([x1], [], [x1], env2, e, g, p1)) | FStar_Syntax_Syntax.Pat_var x -> - let uu____1161 = intro_bv env1 x in + let uu____1161 = intro_bv env1 x in (match uu____1161 with - | (x1, g, env2) -> + | (x1,g,env2) -> let e = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_name x1) - FStar_Pervasives_Native.None p1.FStar_Syntax_Syntax.p in + FStar_Pervasives_Native.None p1.FStar_Syntax_Syntax.p + in ([x1], [x1], [], env2, e, g, p1)) - | FStar_Syntax_Syntax.Pat_cons (fv, pats) -> + | FStar_Syntax_Syntax.Pat_cons (fv,pats) -> let uu____1220 = FStar_All.pipe_right pats (FStar_List.fold_left - (fun uu____1359 -> - fun uu____1360 -> + (fun uu____1359 -> + fun uu____1360 -> match (uu____1359, uu____1360) with - | ((b, a, w, env2, args, guard, pats1), (p2, imp)) - -> - let uu____1569 = pat_as_arg_with_env env2 p2 in + | ((b,a,w,env2,args,guard,pats1),(p2,imp)) -> + let uu____1569 = pat_as_arg_with_env env2 p2 + in (match uu____1569 with - | (b', a', w', env3, te, guard', pat) -> + | (b',a',w',env3,te,guard',pat) -> let arg = if imp then FStar_Syntax_Syntax.iarg te - else FStar_Syntax_Syntax.as_arg te in + else FStar_Syntax_Syntax.as_arg te in let uu____1648 = FStar_TypeChecker_Env.conj_guard guard - guard' in + guard' + in ((b' :: b), (a' :: a), (w' :: w), env3, (arg :: args), uu____1648, ((pat, imp) :: pats1)))) ([], [], [], env1, [], - FStar_TypeChecker_Env.trivial_guard, [])) in + FStar_TypeChecker_Env.trivial_guard, [])) + in (match uu____1220 with - | (b, a, w, env2, args, guard, pats1) -> + | (b,a,w,env2,args,guard,pats1) -> let e = let uu____1786 = - let uu____1791 = FStar_Syntax_Syntax.fv_to_tm fv in + let uu____1791 = FStar_Syntax_Syntax.fv_to_tm fv in let uu____1792 = - FStar_All.pipe_right args FStar_List.rev in - FStar_Syntax_Syntax.mk_Tm_app uu____1791 uu____1792 in + FStar_All.pipe_right args FStar_List.rev in + FStar_Syntax_Syntax.mk_Tm_app uu____1791 uu____1792 + in uu____1786 FStar_Pervasives_Native.None - p1.FStar_Syntax_Syntax.p in + p1.FStar_Syntax_Syntax.p + in let uu____1795 = FStar_All.pipe_right (FStar_List.rev b) - FStar_List.flatten in + FStar_List.flatten + in let uu____1806 = FStar_All.pipe_right (FStar_List.rev a) - FStar_List.flatten in + FStar_List.flatten + in let uu____1817 = FStar_All.pipe_right (FStar_List.rev w) - FStar_List.flatten in + FStar_List.flatten + in (uu____1795, uu____1806, uu____1817, env2, e, guard, - (let uu___188_1835 = p1 in + (let uu___188_1835 = p1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_cons (fv, (FStar_List.rev pats1))); FStar_Syntax_Syntax.p = (uu___188_1835.FStar_Syntax_Syntax.p) - }))) in + }))) + in let one_pat env1 p1 = - let p2 = elaborate_pat env1 p1 in - let uu____1880 = pat_as_arg_with_env env1 p2 in + let p2 = elaborate_pat env1 p1 in + let uu____1880 = pat_as_arg_with_env env1 p2 in match uu____1880 with - | (b, a, w, env2, arg, guard, p3) -> + | (b,a,w,env2,arg,guard,p3) -> let uu____1938 = FStar_All.pipe_right b - (FStar_Util.find_dup FStar_Syntax_Syntax.bv_eq) in + (FStar_Util.find_dup FStar_Syntax_Syntax.bv_eq) + in (match uu____1938 with | FStar_Pervasives_Native.Some x -> - let m = FStar_Syntax_Print.bv_to_string x in + let m = FStar_Syntax_Print.bv_to_string x in let err = let uu____1972 = FStar_Util.format1 "The pattern variable \"%s\" was used more than once" - m in - (FStar_Errors.Fatal_NonLinearPatternVars, uu____1972) in + m + in + (FStar_Errors.Fatal_NonLinearPatternVars, uu____1972) + in FStar_Errors.raise_error err p3.FStar_Syntax_Syntax.p - | uu____1994 -> (b, a, w, arg, guard, p3)) in - let uu____2003 = one_pat env p in + | uu____1994 -> (b, a, w, arg, guard, p3)) + in + let uu____2003 = one_pat env p in match uu____2003 with - | (b, uu____2033, uu____2034, tm, guard, p1) -> (b, tm, guard, p1) \ No newline at end of file + | (b,uu____2033,uu____2034,tm,guard,p1) -> (b, tm, guard, p1) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_Rel.ml b/src/ocaml-output/FStar_TypeChecker_Rel.ml index 695c2ea62bb..b4a4c6f2af0 100644 --- a/src/ocaml-output/FStar_TypeChecker_Rel.ml +++ b/src/ocaml-output/FStar_TypeChecker_Rel.ml @@ -1,20 +1,24 @@ open Prims let (print_ctx_uvar : FStar_Syntax_Syntax.ctx_uvar -> Prims.string) = - fun ctx_uvar -> FStar_Syntax_Print.ctx_uvar_to_string ctx_uvar + fun ctx_uvar -> FStar_Syntax_Print.ctx_uvar_to_string ctx_uvar type uvi = | TERM of (FStar_Syntax_Syntax.ctx_uvar * FStar_Syntax_Syntax.term) | UNIV of (FStar_Syntax_Syntax.universe_uvar * FStar_Syntax_Syntax.universe) let (uu___is_TERM : uvi -> Prims.bool) = - fun projectee -> match projectee with | TERM _0 -> true | uu____46 -> false + fun projectee -> + match projectee with | TERM _0 -> true | uu____46 -> false + let (__proj__TERM__item___0 : uvi -> (FStar_Syntax_Syntax.ctx_uvar * FStar_Syntax_Syntax.term)) = - fun projectee -> match projectee with | TERM _0 -> _0 + fun projectee -> match projectee with | TERM _0 -> _0 let (uu___is_UNIV : uvi -> Prims.bool) = - fun projectee -> match projectee with | UNIV _0 -> true | uu____81 -> false + fun projectee -> + match projectee with | UNIV _0 -> true | uu____81 -> false + let (__proj__UNIV__item___0 : uvi -> (FStar_Syntax_Syntax.universe_uvar * FStar_Syntax_Syntax.universe)) - = fun projectee -> match projectee with | UNIV _0 -> _0 + = fun projectee -> match projectee with | UNIV _0 -> _0 type worklist = { attempting: FStar_TypeChecker_Common.probs ; @@ -28,50 +32,58 @@ type worklist = wl_implicits: FStar_TypeChecker_Env.implicits } let (__proj__Mkworklist__item__attempting : worklist -> FStar_TypeChecker_Common.probs) = - fun projectee -> + fun projectee -> match projectee with | { attempting; wl_deferred; ctr; defer_ok; smt_ok; umax_heuristic_ok; tcenv; wl_implicits;_} -> attempting + let (__proj__Mkworklist__item__wl_deferred : worklist -> (Prims.int * Prims.string * FStar_TypeChecker_Common.prob) Prims.list) = - fun projectee -> + fun projectee -> match projectee with | { attempting; wl_deferred; ctr; defer_ok; smt_ok; umax_heuristic_ok; tcenv; wl_implicits;_} -> wl_deferred + let (__proj__Mkworklist__item__ctr : worklist -> Prims.int) = - fun projectee -> + fun projectee -> match projectee with | { attempting; wl_deferred; ctr; defer_ok; smt_ok; umax_heuristic_ok; tcenv; wl_implicits;_} -> ctr + let (__proj__Mkworklist__item__defer_ok : worklist -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { attempting; wl_deferred; ctr; defer_ok; smt_ok; umax_heuristic_ok; tcenv; wl_implicits;_} -> defer_ok + let (__proj__Mkworklist__item__smt_ok : worklist -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { attempting; wl_deferred; ctr; defer_ok; smt_ok; umax_heuristic_ok; tcenv; wl_implicits;_} -> smt_ok + let (__proj__Mkworklist__item__umax_heuristic_ok : worklist -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | { attempting; wl_deferred; ctr; defer_ok; smt_ok; umax_heuristic_ok; tcenv; wl_implicits;_} -> umax_heuristic_ok + let (__proj__Mkworklist__item__tcenv : worklist -> FStar_TypeChecker_Env.env) = - fun projectee -> + fun projectee -> match projectee with | { attempting; wl_deferred; ctr; defer_ok; smt_ok; umax_heuristic_ok; tcenv; wl_implicits;_} -> tcenv + let (__proj__Mkworklist__item__wl_implicits : worklist -> FStar_TypeChecker_Env.implicits) = - fun projectee -> + fun projectee -> match projectee with | { attempting; wl_deferred; ctr; defer_ok; smt_ok; umax_heuristic_ok; tcenv; wl_implicits;_} -> wl_implicits + let (new_uvar : Prims.string -> worklist -> @@ -87,16 +99,16 @@ let (new_uvar : (FStar_Syntax_Syntax.ctx_uvar * FStar_Syntax_Syntax.term * worklist)) = - fun reason -> - fun wl -> - fun r -> - fun gamma -> - fun binders -> - fun k -> - fun should_check -> - fun meta -> + fun reason -> + fun wl -> + fun r -> + fun gamma -> + fun binders -> + fun k -> + fun should_check -> + fun meta -> let ctx_uvar = - let uu____504 = FStar_Syntax_Unionfind.fresh () in + let uu____504 = FStar_Syntax_Unionfind.fresh () in { FStar_Syntax_Syntax.ctx_uvar_head = uu____504; FStar_Syntax_Syntax.ctx_uvar_gamma = gamma; @@ -107,23 +119,24 @@ let (new_uvar : should_check; FStar_Syntax_Syntax.ctx_uvar_range = r; FStar_Syntax_Syntax.ctx_uvar_meta = meta - } in + } in FStar_TypeChecker_Common.check_uvar_ctx_invariant reason r true gamma binders; (let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uvar (ctx_uvar, ([], FStar_Syntax_Syntax.NoUseRange))) - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in let imp = { FStar_TypeChecker_Env.imp_reason = reason; FStar_TypeChecker_Env.imp_uvar = ctx_uvar; FStar_TypeChecker_Env.imp_tm = t; FStar_TypeChecker_Env.imp_range = r - } in + } in (ctx_uvar, t, - (let uu___71_536 = wl in + (let uu___71_536 = wl in { attempting = (uu___71_536.attempting); wl_deferred = (uu___71_536.wl_deferred); @@ -134,6 +147,7 @@ let (new_uvar : tcenv = (uu___71_536.tcenv); wl_implicits = (imp :: (wl.wl_implicits)) }))) + let (copy_uvar : FStar_Syntax_Syntax.ctx_uvar -> FStar_Syntax_Syntax.binders -> @@ -142,12 +156,12 @@ let (copy_uvar : (FStar_Syntax_Syntax.ctx_uvar * FStar_Syntax_Syntax.term * worklist)) = - fun u -> - fun bs -> - fun t -> - fun wl -> + fun u -> + fun bs -> + fun t -> + fun wl -> let env = - let uu___77_569 = wl.tcenv in + let uu___77_569 = wl.tcenv in { FStar_TypeChecker_Env.solver = (uu___77_569.FStar_TypeChecker_Env.solver); @@ -235,160 +249,184 @@ let (copy_uvar : (uu___77_569.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___77_569.FStar_TypeChecker_Env.nbe) - } in - let env1 = FStar_TypeChecker_Env.push_binders env bs in - let uu____571 = FStar_TypeChecker_Env.all_binders env1 in + } in + let env1 = FStar_TypeChecker_Env.push_binders env bs in + let uu____571 = FStar_TypeChecker_Env.all_binders env1 in new_uvar (Prims.op_Hat "copy:" u.FStar_Syntax_Syntax.ctx_uvar_reason) wl u.FStar_Syntax_Syntax.ctx_uvar_range env1.FStar_TypeChecker_Env.gamma uu____571 t u.FStar_Syntax_Syntax.ctx_uvar_should_check u.FStar_Syntax_Syntax.ctx_uvar_meta + type solution = | Success of (FStar_TypeChecker_Common.deferred * FStar_TypeChecker_Env.implicits) | Failed of (FStar_TypeChecker_Common.prob * Prims.string) let (uu___is_Success : solution -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Success _0 -> true | uu____614 -> false + let (__proj__Success__item___0 : solution -> (FStar_TypeChecker_Common.deferred * FStar_TypeChecker_Env.implicits)) - = fun projectee -> match projectee with | Success _0 -> _0 + = fun projectee -> match projectee with | Success _0 -> _0 let (uu___is_Failed : solution -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | Failed _0 -> true | uu____650 -> false + let (__proj__Failed__item___0 : solution -> (FStar_TypeChecker_Common.prob * Prims.string)) = - fun projectee -> match projectee with | Failed _0 -> _0 + fun projectee -> match projectee with | Failed _0 -> _0 type variance = | COVARIANT | CONTRAVARIANT | INVARIANT let (uu___is_COVARIANT : variance -> Prims.bool) = - fun projectee -> - match projectee with | COVARIANT -> true | uu____683 -> false + fun projectee -> + match projectee with | COVARIANT -> true | uu____683 -> false + let (uu___is_CONTRAVARIANT : variance -> Prims.bool) = - fun projectee -> - match projectee with | CONTRAVARIANT -> true | uu____694 -> false + fun projectee -> + match projectee with | CONTRAVARIANT -> true | uu____694 -> false + let (uu___is_INVARIANT : variance -> Prims.bool) = - fun projectee -> - match projectee with | INVARIANT -> true | uu____705 -> false + fun projectee -> + match projectee with | INVARIANT -> true | uu____705 -> false + type tprob = FStar_Syntax_Syntax.typ FStar_TypeChecker_Common.problem type cprob = FStar_Syntax_Syntax.comp FStar_TypeChecker_Common.problem type 'a problem_t = 'a FStar_TypeChecker_Common.problem let (rel_to_string : FStar_TypeChecker_Common.rel -> Prims.string) = - fun uu___0_723 -> + fun uu___0_723 -> match uu___0_723 with - | FStar_TypeChecker_Common.EQ -> "=" - | FStar_TypeChecker_Common.SUB -> "<:" - | FStar_TypeChecker_Common.SUBINV -> ":>" + | FStar_TypeChecker_Common.EQ -> "=" + | FStar_TypeChecker_Common.SUB -> "<:" + | FStar_TypeChecker_Common.SUBINV -> ":>" + let (term_to_string : FStar_Syntax_Syntax.term -> Prims.string) = - fun t -> - let uu____735 = FStar_Syntax_Util.head_and_args t in + fun t -> + let uu____735 = FStar_Syntax_Util.head_and_args t in match uu____735 with - | (head1, args) -> + | (head1,args) -> (match head1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_uvar (u, s) -> - let uu____798 = FStar_Syntax_Print.ctx_uvar_to_string u in + | FStar_Syntax_Syntax.Tm_uvar (u,s) -> + let uu____798 = FStar_Syntax_Print.ctx_uvar_to_string u in let uu____800 = match FStar_Pervasives_Native.fst s with | [] -> "" | s1 -> let uu____815 = - let uu____817 = FStar_List.hd s1 in - FStar_Syntax_Print.subst_to_string uu____817 in - FStar_Util.format1 "@<%s>" uu____815 in - let uu____821 = FStar_Syntax_Print.args_to_string args in + let uu____817 = FStar_List.hd s1 in + FStar_Syntax_Print.subst_to_string uu____817 in + FStar_Util.format1 "@<%s>" uu____815 + in + let uu____821 = FStar_Syntax_Print.args_to_string args in FStar_Util.format3 "%s%s %s" uu____798 uu____800 uu____821 | uu____824 -> FStar_Syntax_Print.term_to_string t) + let (prob_to_string : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Common.prob -> Prims.string) = - fun env -> - fun uu___1_836 -> + fun env -> + fun uu___1_836 -> match uu___1_836 with | FStar_TypeChecker_Common.TProb p -> let uu____841 = let uu____845 = - FStar_Util.string_of_int p.FStar_TypeChecker_Common.pid in + FStar_Util.string_of_int p.FStar_TypeChecker_Common.pid in let uu____847 = - let uu____851 = term_to_string p.FStar_TypeChecker_Common.lhs in + let uu____851 = term_to_string p.FStar_TypeChecker_Common.lhs + in let uu____853 = let uu____857 = let uu____861 = - term_to_string p.FStar_TypeChecker_Common.rhs in - [uu____861] in + term_to_string p.FStar_TypeChecker_Common.rhs in + [uu____861] in (rel_to_string p.FStar_TypeChecker_Common.relation) :: - uu____857 in - uu____851 :: uu____853 in - uu____845 :: uu____847 in + uu____857 + in + uu____851 :: uu____853 in + uu____845 :: uu____847 in FStar_Util.format "\n%s:\t%s \n\t\t%s\n\t%s\n" uu____841 | FStar_TypeChecker_Common.CProb p -> let uu____872 = - FStar_Util.string_of_int p.FStar_TypeChecker_Common.pid in + FStar_Util.string_of_int p.FStar_TypeChecker_Common.pid in let uu____874 = FStar_TypeChecker_Normalize.comp_to_string env - p.FStar_TypeChecker_Common.lhs in + p.FStar_TypeChecker_Common.lhs + in let uu____876 = FStar_TypeChecker_Normalize.comp_to_string env - p.FStar_TypeChecker_Common.rhs in + p.FStar_TypeChecker_Common.rhs + in FStar_Util.format4 "\n%s:\t%s \n\t\t%s\n\t%s" uu____872 uu____874 (rel_to_string p.FStar_TypeChecker_Common.relation) uu____876 + let (uvi_to_string : FStar_TypeChecker_Env.env -> uvi -> Prims.string) = - fun env -> - fun uu___2_890 -> + fun env -> + fun uu___2_890 -> match uu___2_890 with - | UNIV (u, t) -> + | UNIV (u,t) -> let x = - let uu____896 = FStar_Options.hide_uvar_nums () in + let uu____896 = FStar_Options.hide_uvar_nums () in if uu____896 then "?" else - (let uu____903 = FStar_Syntax_Unionfind.univ_uvar_id u in - FStar_All.pipe_right uu____903 FStar_Util.string_of_int) in - let uu____907 = FStar_Syntax_Print.univ_to_string t in + (let uu____903 = FStar_Syntax_Unionfind.univ_uvar_id u in + FStar_All.pipe_right uu____903 FStar_Util.string_of_int) + in + let uu____907 = FStar_Syntax_Print.univ_to_string t in FStar_Util.format2 "UNIV %s %s" x uu____907 - | TERM (u, t) -> + | TERM (u,t) -> let x = - let uu____914 = FStar_Options.hide_uvar_nums () in + let uu____914 = FStar_Options.hide_uvar_nums () in if uu____914 then "?" else (let uu____921 = FStar_Syntax_Unionfind.uvar_id - u.FStar_Syntax_Syntax.ctx_uvar_head in - FStar_All.pipe_right uu____921 FStar_Util.string_of_int) in - let uu____925 = FStar_TypeChecker_Normalize.term_to_string env t in + u.FStar_Syntax_Syntax.ctx_uvar_head + in + FStar_All.pipe_right uu____921 FStar_Util.string_of_int) + in + let uu____925 = FStar_TypeChecker_Normalize.term_to_string env t + in FStar_Util.format2 "TERM %s %s" x uu____925 + let (uvis_to_string : FStar_TypeChecker_Env.env -> uvi Prims.list -> Prims.string) = - fun env -> - fun uvis -> - let uu____944 = FStar_List.map (uvi_to_string env) uvis in + fun env -> + fun uvis -> + let uu____944 = FStar_List.map (uvi_to_string env) uvis in FStar_All.pipe_right uu____944 (FStar_String.concat ", ") + let (names_to_string : FStar_Syntax_Syntax.bv FStar_Util.set -> Prims.string) = - fun nms -> + fun nms -> let uu____965 = - let uu____969 = FStar_Util.set_elements nms in + let uu____969 = FStar_Util.set_elements nms in FStar_All.pipe_right uu____969 - (FStar_List.map FStar_Syntax_Print.bv_to_string) in + (FStar_List.map FStar_Syntax_Print.bv_to_string) + in FStar_All.pipe_right uu____965 (FStar_String.concat ", ") + let args_to_string : 'Auu____988 . (FStar_Syntax_Syntax.term * 'Auu____988) Prims.list -> Prims.string = - fun args -> + fun args -> let uu____1007 = FStar_All.pipe_right args (FStar_List.map - (fun uu____1028 -> + (fun uu____1028 -> match uu____1028 with - | (x, uu____1035) -> FStar_Syntax_Print.term_to_string x)) in + | (x,uu____1035) -> FStar_Syntax_Print.term_to_string x)) + in FStar_All.pipe_right uu____1007 (FStar_String.concat " ") + let (empty_worklist : FStar_TypeChecker_Env.env -> worklist) = - fun env -> + fun env -> { attempting = []; wl_deferred = []; @@ -399,36 +437,40 @@ let (empty_worklist : FStar_TypeChecker_Env.env -> worklist) = tcenv = env; wl_implicits = [] } + let (giveup : FStar_TypeChecker_Env.env -> Prims.string -> FStar_TypeChecker_Common.prob -> solution) = - fun env -> - fun reason -> - fun prob -> + fun env -> + fun reason -> + fun prob -> (let uu____1078 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____1078 then - let uu____1083 = prob_to_string env prob in + let uu____1083 = prob_to_string env prob in FStar_Util.print2 "Failed %s:\n%s\n" reason uu____1083 else ()); Failed (prob, reason) + let (invert_rel : FStar_TypeChecker_Common.rel -> FStar_TypeChecker_Common.rel) = - fun uu___3_1094 -> + fun uu___3_1094 -> match uu___3_1094 with - | FStar_TypeChecker_Common.EQ -> FStar_TypeChecker_Common.EQ - | FStar_TypeChecker_Common.SUB -> FStar_TypeChecker_Common.SUBINV - | FStar_TypeChecker_Common.SUBINV -> FStar_TypeChecker_Common.SUB + | FStar_TypeChecker_Common.EQ -> FStar_TypeChecker_Common.EQ + | FStar_TypeChecker_Common.SUB -> FStar_TypeChecker_Common.SUBINV + | FStar_TypeChecker_Common.SUBINV -> FStar_TypeChecker_Common.SUB + let invert : 'Auu____1100 . 'Auu____1100 FStar_TypeChecker_Common.problem -> 'Auu____1100 FStar_TypeChecker_Common.problem = - fun p -> - let uu___137_1112 = p in + fun p -> + let uu___137_1112 = p in { FStar_TypeChecker_Common.pid = (uu___137_1112.FStar_TypeChecker_Common.pid); @@ -449,32 +491,35 @@ let invert : FStar_TypeChecker_Common.rank = (uu___137_1112.FStar_TypeChecker_Common.rank) } + let maybe_invert : 'Auu____1120 . 'Auu____1120 FStar_TypeChecker_Common.problem -> 'Auu____1120 FStar_TypeChecker_Common.problem = - fun p -> + fun p -> if p.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.SUBINV then invert p else p + let (maybe_invert_p : FStar_TypeChecker_Common.prob -> FStar_TypeChecker_Common.prob) = - fun uu___4_1140 -> + fun uu___4_1140 -> match uu___4_1140 with | FStar_TypeChecker_Common.TProb p -> FStar_All.pipe_right (maybe_invert p) - (fun _1146 -> FStar_TypeChecker_Common.TProb _1146) + (fun _1146 -> FStar_TypeChecker_Common.TProb _1146) | FStar_TypeChecker_Common.CProb p -> FStar_All.pipe_right (maybe_invert p) - (fun _1152 -> FStar_TypeChecker_Common.CProb _1152) + (fun _1152 -> FStar_TypeChecker_Common.CProb _1152) + let (make_prob_eq : FStar_TypeChecker_Common.prob -> FStar_TypeChecker_Common.prob) = - fun uu___5_1158 -> + fun uu___5_1158 -> match uu___5_1158 with | FStar_TypeChecker_Common.TProb p -> FStar_TypeChecker_Common.TProb - (let uu___149_1164 = p in + (let uu___149_1164 = p in { FStar_TypeChecker_Common.pid = (uu___149_1164.FStar_TypeChecker_Common.pid); @@ -498,7 +543,7 @@ let (make_prob_eq : }) | FStar_TypeChecker_Common.CProb p -> FStar_TypeChecker_Common.CProb - (let uu___153_1172 = p in + (let uu___153_1172 = p in { FStar_TypeChecker_Common.pid = (uu___153_1172.FStar_TypeChecker_Common.pid); @@ -520,187 +565,206 @@ let (make_prob_eq : FStar_TypeChecker_Common.rank = (uu___153_1172.FStar_TypeChecker_Common.rank) }) + let (vary_rel : FStar_TypeChecker_Common.rel -> variance -> FStar_TypeChecker_Common.rel) = - fun rel -> - fun uu___6_1185 -> + fun rel -> + fun uu___6_1185 -> match uu___6_1185 with - | INVARIANT -> FStar_TypeChecker_Common.EQ - | CONTRAVARIANT -> invert_rel rel - | COVARIANT -> rel + | INVARIANT -> FStar_TypeChecker_Common.EQ + | CONTRAVARIANT -> invert_rel rel + | COVARIANT -> rel + let (p_pid : FStar_TypeChecker_Common.prob -> Prims.int) = - fun uu___7_1192 -> + fun uu___7_1192 -> match uu___7_1192 with | FStar_TypeChecker_Common.TProb p -> p.FStar_TypeChecker_Common.pid | FStar_TypeChecker_Common.CProb p -> p.FStar_TypeChecker_Common.pid + let (p_rel : FStar_TypeChecker_Common.prob -> FStar_TypeChecker_Common.rel) = - fun uu___8_1205 -> + fun uu___8_1205 -> match uu___8_1205 with | FStar_TypeChecker_Common.TProb p -> p.FStar_TypeChecker_Common.relation | FStar_TypeChecker_Common.CProb p -> p.FStar_TypeChecker_Common.relation + let (p_reason : FStar_TypeChecker_Common.prob -> Prims.string Prims.list) = - fun uu___9_1220 -> + fun uu___9_1220 -> match uu___9_1220 with | FStar_TypeChecker_Common.TProb p -> p.FStar_TypeChecker_Common.reason | FStar_TypeChecker_Common.CProb p -> p.FStar_TypeChecker_Common.reason + let (p_loc : FStar_TypeChecker_Common.prob -> FStar_Range.range) = - fun uu___10_1235 -> + fun uu___10_1235 -> match uu___10_1235 with | FStar_TypeChecker_Common.TProb p -> p.FStar_TypeChecker_Common.loc | FStar_TypeChecker_Common.CProb p -> p.FStar_TypeChecker_Common.loc + let (p_element : FStar_TypeChecker_Common.prob -> FStar_Syntax_Syntax.bv FStar_Pervasives_Native.option) = - fun uu___11_1249 -> + fun uu___11_1249 -> match uu___11_1249 with | FStar_TypeChecker_Common.TProb p -> p.FStar_TypeChecker_Common.element | FStar_TypeChecker_Common.CProb p -> p.FStar_TypeChecker_Common.element + let (p_guard : FStar_TypeChecker_Common.prob -> FStar_Syntax_Syntax.term) = - fun uu___12_1263 -> + fun uu___12_1263 -> match uu___12_1263 with | FStar_TypeChecker_Common.TProb p -> p.FStar_TypeChecker_Common.logical_guard | FStar_TypeChecker_Common.CProb p -> p.FStar_TypeChecker_Common.logical_guard + let (p_guard_uvar : FStar_TypeChecker_Common.prob -> FStar_Syntax_Syntax.ctx_uvar) = - fun uu___13_1275 -> + fun uu___13_1275 -> match uu___13_1275 with | FStar_TypeChecker_Common.TProb p -> p.FStar_TypeChecker_Common.logical_guard_uvar | FStar_TypeChecker_Common.CProb p -> p.FStar_TypeChecker_Common.logical_guard_uvar + let def_scope_wf : 'Auu____1291 . Prims.string -> FStar_Range.range -> (FStar_Syntax_Syntax.bv * 'Auu____1291) Prims.list -> unit = - fun msg -> - fun rng -> - fun r -> + fun msg -> + fun rng -> + fun r -> let uu____1321 = - let uu____1323 = FStar_Options.defensive () in - Prims.op_Negation uu____1323 in + let uu____1323 = FStar_Options.defensive () in + Prims.op_Negation uu____1323 in if uu____1321 then () else (let rec aux prev next = match next with | [] -> () - | (bv, uu____1360)::bs -> + | (bv,uu____1360)::bs -> (FStar_TypeChecker_Env.def_check_closed_in rng msg prev bv.FStar_Syntax_Syntax.sort; - aux (FStar_List.append prev [bv]) bs) in + aux (FStar_List.append prev [bv]) bs) + in aux [] r) + let (p_scope : FStar_TypeChecker_Common.prob -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list) = - fun prob -> + fun prob -> let r = match prob with | FStar_TypeChecker_Common.TProb p -> let uu____1407 = match p_element prob with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some x -> - let uu____1431 = FStar_Syntax_Syntax.mk_binder x in - [uu____1431] in + let uu____1431 = FStar_Syntax_Syntax.mk_binder x in + [uu____1431] + in FStar_List.append (p.FStar_TypeChecker_Common.logical_guard_uvar).FStar_Syntax_Syntax.ctx_uvar_binders uu____1407 | FStar_TypeChecker_Common.CProb p -> let uu____1459 = match p_element prob with - | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some x -> - let uu____1483 = FStar_Syntax_Syntax.mk_binder x in - [uu____1483] in + let uu____1483 = FStar_Syntax_Syntax.mk_binder x in + [uu____1483] + in FStar_List.append (p.FStar_TypeChecker_Common.logical_guard_uvar).FStar_Syntax_Syntax.ctx_uvar_binders - uu____1459 in + uu____1459 + in def_scope_wf "p_scope" (p_loc prob) r; r + let (def_check_scoped : Prims.string -> FStar_TypeChecker_Common.prob -> FStar_Syntax_Syntax.term -> unit) = - fun msg -> - fun prob -> - fun phi -> + fun msg -> + fun prob -> + fun phi -> let uu____1530 = - let uu____1532 = FStar_Options.defensive () in - Prims.op_Negation uu____1532 in + let uu____1532 = FStar_Options.defensive () in + Prims.op_Negation uu____1532 in if uu____1530 then () else (let uu____1537 = - let uu____1540 = p_scope prob in + let uu____1540 = p_scope prob in FStar_All.pipe_left (FStar_List.map FStar_Pervasives_Native.fst) - uu____1540 in + uu____1540 + in FStar_TypeChecker_Env.def_check_closed_in (p_loc prob) msg uu____1537 phi) + let (def_check_scoped_comp : Prims.string -> FStar_TypeChecker_Common.prob -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> unit) = - fun msg -> - fun prob -> - fun comp -> + fun msg -> + fun prob -> + fun comp -> let uu____1589 = - let uu____1591 = FStar_Options.defensive () in - Prims.op_Negation uu____1591 in + let uu____1591 = FStar_Options.defensive () in + Prims.op_Negation uu____1591 in if uu____1589 then () else - (let uu____1596 = FStar_Syntax_Util.arrow [] comp in + (let uu____1596 = FStar_Syntax_Util.arrow [] comp in def_check_scoped msg prob uu____1596) + let (def_check_prob : Prims.string -> FStar_TypeChecker_Common.prob -> unit) = - fun msg -> - fun prob -> + fun msg -> + fun prob -> let uu____1616 = - let uu____1618 = FStar_Options.defensive () in - Prims.op_Negation uu____1618 in + let uu____1618 = FStar_Options.defensive () in + Prims.op_Negation uu____1618 in if uu____1616 then () else (let msgf m = let uu____1632 = let uu____1634 = - let uu____1636 = FStar_Util.string_of_int (p_pid prob) in - Prims.op_Hat uu____1636 (Prims.op_Hat "." m) in - Prims.op_Hat "." uu____1634 in - Prims.op_Hat msg uu____1632 in - (let uu____1641 = msgf "scope" in - let uu____1644 = p_scope prob in + let uu____1636 = FStar_Util.string_of_int (p_pid prob) in + Prims.op_Hat uu____1636 (Prims.op_Hat "." m) in + Prims.op_Hat "." uu____1634 in + Prims.op_Hat msg uu____1632 in + (let uu____1641 = msgf "scope" in + let uu____1644 = p_scope prob in def_scope_wf uu____1641 (p_loc prob) uu____1644); - (let uu____1656 = msgf "guard" in + (let uu____1656 = msgf "guard" in def_check_scoped uu____1656 prob (p_guard prob)); (match prob with | FStar_TypeChecker_Common.TProb p -> - ((let uu____1663 = msgf "lhs" in + ((let uu____1663 = msgf "lhs" in def_check_scoped uu____1663 prob p.FStar_TypeChecker_Common.lhs); - (let uu____1666 = msgf "rhs" in + (let uu____1666 = msgf "rhs" in def_check_scoped uu____1666 prob p.FStar_TypeChecker_Common.rhs)) | FStar_TypeChecker_Common.CProb p -> - ((let uu____1673 = msgf "lhs" in + ((let uu____1673 = msgf "lhs" in def_check_scoped_comp uu____1673 prob p.FStar_TypeChecker_Common.lhs); - (let uu____1676 = msgf "rhs" in + (let uu____1676 = msgf "rhs" in def_check_scoped_comp uu____1676 prob p.FStar_TypeChecker_Common.rhs)))) + let (singleton : worklist -> FStar_TypeChecker_Common.prob -> Prims.bool -> worklist) = - fun wl -> - fun prob -> - fun smt_ok -> - let uu___246_1697 = wl in + fun wl -> + fun prob -> + fun smt_ok -> + let uu___246_1697 = wl in { attempting = [prob]; wl_deferred = (uu___246_1697.wl_deferred); @@ -711,15 +775,16 @@ let (singleton : tcenv = (uu___246_1697.tcenv); wl_implicits = (uu___246_1697.wl_implicits) } + let wl_of_guard : 'Auu____1705 . FStar_TypeChecker_Env.env -> ('Auu____1705 * FStar_TypeChecker_Common.prob) Prims.list -> worklist = - fun env -> - fun g -> - let uu___250_1728 = empty_worklist env in - let uu____1729 = FStar_List.map FStar_Pervasives_Native.snd g in + fun env -> + fun g -> + let uu___250_1728 = empty_worklist env in + let uu____1729 = FStar_List.map FStar_Pervasives_Native.snd g in { attempting = uu____1729; wl_deferred = (uu___250_1728.wl_deferred); @@ -730,12 +795,13 @@ let wl_of_guard : tcenv = (uu___250_1728.tcenv); wl_implicits = (uu___250_1728.wl_implicits) } + let (defer : Prims.string -> FStar_TypeChecker_Common.prob -> worklist -> worklist) = - fun reason -> - fun prob -> - fun wl -> - let uu___255_1752 = wl in + fun reason -> + fun prob -> + fun wl -> + let uu___255_1752 = wl in { attempting = (uu___255_1752.attempting); wl_deferred = (((wl.ctr), reason, prob) :: (wl.wl_deferred)); @@ -746,12 +812,13 @@ let (defer : tcenv = (uu___255_1752.tcenv); wl_implicits = (uu___255_1752.wl_implicits) } + let (attempt : FStar_TypeChecker_Common.prob Prims.list -> worklist -> worklist) = - fun probs -> - fun wl -> + fun probs -> + fun wl -> FStar_List.iter (def_check_prob "attempt") probs; - (let uu___260_1780 = wl in + (let uu___260_1780 = wl in { attempting = (FStar_List.append probs wl.attempting); wl_deferred = (uu___260_1780.wl_deferred); @@ -762,6 +829,7 @@ let (attempt : tcenv = (uu___260_1780.tcenv); wl_implicits = (uu___260_1780.wl_implicits) }) + let mk_eq2 : 'Auu____1794 . worklist -> @@ -770,41 +838,45 @@ let mk_eq2 : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * worklist) = - fun wl -> - fun env -> - fun prob -> - fun t1 -> - fun t2 -> - let uu____1828 = FStar_Syntax_Util.type_u () in + fun wl -> + fun env -> + fun prob -> + fun t1 -> + fun t2 -> + let uu____1828 = FStar_Syntax_Util.type_u () in match uu____1828 with - | (t_type, u) -> - let binders = FStar_TypeChecker_Env.all_binders env in + | (t_type,u) -> + let binders = FStar_TypeChecker_Env.all_binders env in let uu____1840 = new_uvar "eq2" wl t1.FStar_Syntax_Syntax.pos env.FStar_TypeChecker_Env.gamma binders t_type FStar_Syntax_Syntax.Allow_unresolved - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (match uu____1840 with - | (uu____1858, tt, wl1) -> - let uu____1861 = FStar_Syntax_Util.mk_eq2 u tt t1 t2 in + | (uu____1858,tt,wl1) -> + let uu____1861 = FStar_Syntax_Util.mk_eq2 u tt t1 t2 in (uu____1861, wl1)) + let (p_invert : FStar_TypeChecker_Common.prob -> FStar_TypeChecker_Common.prob) = - fun uu___14_1867 -> + fun uu___14_1867 -> match uu___14_1867 with | FStar_TypeChecker_Common.TProb p -> FStar_All.pipe_left - (fun _1873 -> FStar_TypeChecker_Common.TProb _1873) (invert p) + (fun _1873 -> FStar_TypeChecker_Common.TProb _1873) (invert p) | FStar_TypeChecker_Common.CProb p -> FStar_All.pipe_left - (fun _1879 -> FStar_TypeChecker_Common.CProb _1879) (invert p) + (fun _1879 -> FStar_TypeChecker_Common.CProb _1879) (invert p) + let (is_top_level_prob : FStar_TypeChecker_Common.prob -> Prims.bool) = - fun p -> - let uu____1887 = FStar_All.pipe_right (p_reason p) FStar_List.length in + fun p -> + let uu____1887 = FStar_All.pipe_right (p_reason p) FStar_List.length in uu____1887 = (Prims.parse_int "1") + let (next_pid : unit -> Prims.int) = - let ctr = FStar_Util.mk_ref (Prims.parse_int "0") in - fun uu____1907 -> FStar_Util.incr ctr; FStar_ST.op_Bang ctr + let ctr = FStar_Util.mk_ref (Prims.parse_int "0") in + fun uu____1907 -> FStar_Util.incr ctr; FStar_ST.op_Bang ctr let mk_problem : 'Auu____1949 . worklist -> @@ -819,47 +891,53 @@ let mk_problem : ('Auu____1949 FStar_TypeChecker_Common.problem * worklist) = - fun wl -> - fun scope -> - fun orig -> - fun lhs -> - fun rel -> - fun rhs -> - fun elt -> - fun reason -> + fun wl -> + fun scope -> + fun orig -> + fun lhs -> + fun rel -> + fun rhs -> + fun elt -> + fun reason -> let scope1 = match elt with - | FStar_Pervasives_Native.None -> scope + | FStar_Pervasives_Native.None -> scope | FStar_Pervasives_Native.Some x -> let uu____2036 = - let uu____2045 = FStar_Syntax_Syntax.mk_binder x in - [uu____2045] in - FStar_List.append scope uu____2036 in + let uu____2045 = FStar_Syntax_Syntax.mk_binder x + in + [uu____2045] in + FStar_List.append scope uu____2036 + in let bs = FStar_List.append (p_guard_uvar orig).FStar_Syntax_Syntax.ctx_uvar_binders - scope1 in + scope1 + in let gamma = let uu____2088 = let uu____2091 = FStar_List.map - (fun b -> + (fun b -> FStar_Syntax_Syntax.Binding_var - (FStar_Pervasives_Native.fst b)) scope1 in - FStar_List.rev uu____2091 in + (FStar_Pervasives_Native.fst b)) scope1 + in + FStar_List.rev uu____2091 in FStar_List.append uu____2088 - (p_guard_uvar orig).FStar_Syntax_Syntax.ctx_uvar_gamma in + (p_guard_uvar orig).FStar_Syntax_Syntax.ctx_uvar_gamma + in let uu____2110 = new_uvar (Prims.op_Hat "mk_problem: logical guard for " reason) wl FStar_Range.dummyRange gamma bs FStar_Syntax_Util.ktype0 FStar_Syntax_Syntax.Allow_untyped - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in match uu____2110 with - | (ctx_uvar, lg, wl1) -> + | (ctx_uvar,lg,wl1) -> let prob = - let uu____2136 = next_pid () in + let uu____2136 = next_pid () in { FStar_TypeChecker_Common.pid = uu____2136; FStar_TypeChecker_Common.lhs = lhs; @@ -874,8 +952,9 @@ let mk_problem : FStar_TypeChecker_Common.loc = (p_loc orig); FStar_TypeChecker_Common.rank = FStar_Pervasives_Native.None - } in + } in (prob, wl1) + let (mk_t_problem : worklist -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier @@ -887,22 +966,23 @@ let (mk_t_problem : FStar_Syntax_Syntax.bv FStar_Pervasives_Native.option -> Prims.string -> (FStar_TypeChecker_Common.prob * worklist)) = - fun wl -> - fun scope -> - fun orig -> - fun lhs -> - fun rel -> - fun rhs -> - fun elt -> - fun reason -> + fun wl -> + fun scope -> + fun orig -> + fun lhs -> + fun rel -> + fun rhs -> + fun elt -> + fun reason -> def_check_prob (Prims.op_Hat reason ".mk_t.arg") orig; (let uu____2210 = - mk_problem wl scope orig lhs rel rhs elt reason in + mk_problem wl scope orig lhs rel rhs elt reason in match uu____2210 with - | (p, wl1) -> + | (p,wl1) -> (def_check_prob (Prims.op_Hat reason ".mk_t") (FStar_TypeChecker_Common.TProb p); ((FStar_TypeChecker_Common.TProb p), wl1))) + let (mk_c_problem : worklist -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier @@ -914,22 +994,23 @@ let (mk_c_problem : FStar_Syntax_Syntax.bv FStar_Pervasives_Native.option -> Prims.string -> (FStar_TypeChecker_Common.prob * worklist)) = - fun wl -> - fun scope -> - fun orig -> - fun lhs -> - fun rel -> - fun rhs -> - fun elt -> - fun reason -> + fun wl -> + fun scope -> + fun orig -> + fun lhs -> + fun rel -> + fun rhs -> + fun elt -> + fun reason -> def_check_prob (Prims.op_Hat reason ".mk_c.arg") orig; (let uu____2298 = - mk_problem wl scope orig lhs rel rhs elt reason in + mk_problem wl scope orig lhs rel rhs elt reason in match uu____2298 with - | (p, wl1) -> + | (p,wl1) -> (def_check_prob (Prims.op_Hat reason ".mk_c") (FStar_TypeChecker_Common.CProb p); ((FStar_TypeChecker_Common.CProb p), wl1))) + let new_problem : 'Auu____2336 . worklist -> @@ -943,31 +1024,35 @@ let new_problem : ('Auu____2336 FStar_TypeChecker_Common.problem * worklist) = - fun wl -> - fun env -> - fun lhs -> - fun rel -> - fun rhs -> - fun subject -> - fun loc -> - fun reason -> + fun wl -> + fun env -> + fun lhs -> + fun rel -> + fun rhs -> + fun subject -> + fun loc -> + fun reason -> let lg_ty = match subject with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Syntax_Util.ktype0 | FStar_Pervasives_Native.Some x -> let bs = - let uu____2404 = FStar_Syntax_Syntax.mk_binder x in - [uu____2404] in + let uu____2404 = FStar_Syntax_Syntax.mk_binder x + in + [uu____2404] in let uu____2423 = FStar_Syntax_Syntax.mk_Total - FStar_Syntax_Util.ktype0 in - FStar_Syntax_Util.arrow bs uu____2423 in + FStar_Syntax_Util.ktype0 + in + FStar_Syntax_Util.arrow bs uu____2423 + in let uu____2426 = - let uu____2433 = FStar_TypeChecker_Env.all_binders env in + let uu____2433 = FStar_TypeChecker_Env.all_binders env + in new_uvar (Prims.op_Hat "new_problem: logical guard for " reason) - (let uu___343_2444 = wl in + (let uu___343_2444 = wl in { attempting = (uu___343_2444.attempting); wl_deferred = (uu___343_2444.wl_deferred); @@ -980,25 +1065,28 @@ let new_problem : wl_implicits = (uu___343_2444.wl_implicits) }) loc env.FStar_TypeChecker_Env.gamma uu____2433 lg_ty FStar_Syntax_Syntax.Allow_untyped - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in match uu____2426 with - | (ctx_uvar, lg, wl1) -> + | (ctx_uvar,lg,wl1) -> let lg1 = match subject with - | FStar_Pervasives_Native.None -> lg + | FStar_Pervasives_Native.None -> lg | FStar_Pervasives_Native.Some x -> let uu____2462 = let uu____2467 = let uu____2468 = let uu____2477 = - FStar_Syntax_Syntax.bv_to_name x in + FStar_Syntax_Syntax.bv_to_name x in FStar_All.pipe_left - FStar_Syntax_Syntax.as_arg uu____2477 in - [uu____2468] in - FStar_Syntax_Syntax.mk_Tm_app lg uu____2467 in - uu____2462 FStar_Pervasives_Native.None loc in + FStar_Syntax_Syntax.as_arg uu____2477 + in + [uu____2468] in + FStar_Syntax_Syntax.mk_Tm_app lg uu____2467 in + uu____2462 FStar_Pervasives_Native.None loc + in let prob = - let uu____2505 = next_pid () in + let uu____2505 = next_pid () in { FStar_TypeChecker_Common.pid = uu____2505; FStar_TypeChecker_Common.lhs = lhs; @@ -1012,8 +1100,9 @@ let new_problem : FStar_TypeChecker_Common.loc = loc; FStar_TypeChecker_Common.rank = FStar_Pervasives_Native.None - } in + } in (prob, wl1) + let (problem_using_guard : FStar_TypeChecker_Common.prob -> FStar_Syntax_Syntax.typ -> @@ -1023,14 +1112,14 @@ let (problem_using_guard : Prims.string -> FStar_Syntax_Syntax.typ FStar_TypeChecker_Common.problem) = - fun orig -> - fun lhs -> - fun rel -> - fun rhs -> - fun elt -> - fun reason -> + fun orig -> + fun lhs -> + fun rel -> + fun rhs -> + fun elt -> + fun reason -> let p = - let uu____2553 = next_pid () in + let uu____2553 = next_pid () in { FStar_TypeChecker_Common.pid = uu____2553; FStar_TypeChecker_Common.lhs = lhs; @@ -1045,8 +1134,9 @@ let (problem_using_guard : FStar_TypeChecker_Common.loc = (p_loc orig); FStar_TypeChecker_Common.rank = FStar_Pervasives_Native.None - } in + } in def_check_prob reason (FStar_TypeChecker_Common.TProb p); p + let guard_on_element : 'Auu____2568 . worklist -> @@ -1055,175 +1145,195 @@ let guard_on_element : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax = - fun wl -> - fun problem -> - fun x -> - fun phi -> + fun wl -> + fun problem -> + fun x -> + fun phi -> match problem.FStar_TypeChecker_Common.element with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let u = (wl.tcenv).FStar_TypeChecker_Env.universe_of wl.tcenv - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in FStar_Syntax_Util.mk_forall u x phi | FStar_Pervasives_Native.Some e -> let uu____2601 = let uu____2604 = let uu____2605 = - let uu____2612 = FStar_Syntax_Syntax.bv_to_name e in - (x, uu____2612) in - FStar_Syntax_Syntax.NT uu____2605 in - [uu____2604] in + let uu____2612 = FStar_Syntax_Syntax.bv_to_name e in + (x, uu____2612) in + FStar_Syntax_Syntax.NT uu____2605 in + [uu____2604] in FStar_Syntax_Subst.subst uu____2601 phi + let (explain : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Common.prob -> Prims.string -> Prims.string) = - fun env -> - fun d -> - fun s -> + fun env -> + fun d -> + fun s -> let uu____2636 = (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) (FStar_Options.Other "ExplainRel")) || (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel")) in + (FStar_Options.Other "Rel")) + in if uu____2636 then let uu____2644 = - FStar_All.pipe_left FStar_Range.string_of_range (p_loc d) in - let uu____2647 = prob_to_string env d in + FStar_All.pipe_left FStar_Range.string_of_range (p_loc d) in + let uu____2647 = prob_to_string env d in let uu____2649 = - FStar_All.pipe_right (p_reason d) (FStar_String.concat "\n\t>") in + FStar_All.pipe_right (p_reason d) (FStar_String.concat "\n\t>") + in FStar_Util.format4 "(%s) Failed to solve the sub-problem\n%s\nWhich arose because:\n\t%s\nFailed because:%s\n" uu____2644 uu____2647 uu____2649 s else - (let d1 = maybe_invert_p d in + (let d1 = maybe_invert_p d in let rel = match p_rel d1 with - | FStar_TypeChecker_Common.EQ -> "equal to" - | FStar_TypeChecker_Common.SUB -> "a subtype of" - | uu____2665 -> failwith "impossible" in + | FStar_TypeChecker_Common.EQ -> "equal to" + | FStar_TypeChecker_Common.SUB -> "a subtype of" + | uu____2665 -> failwith "impossible" in let uu____2668 = match d1 with | FStar_TypeChecker_Common.TProb tp -> let uu____2684 = FStar_TypeChecker_Normalize.term_to_string env - tp.FStar_TypeChecker_Common.lhs in + tp.FStar_TypeChecker_Common.lhs + in let uu____2686 = FStar_TypeChecker_Normalize.term_to_string env - tp.FStar_TypeChecker_Common.rhs in + tp.FStar_TypeChecker_Common.rhs + in (uu____2684, uu____2686) | FStar_TypeChecker_Common.CProb cp -> let uu____2693 = FStar_TypeChecker_Normalize.comp_to_string env - cp.FStar_TypeChecker_Common.lhs in + cp.FStar_TypeChecker_Common.lhs + in let uu____2695 = FStar_TypeChecker_Normalize.comp_to_string env - cp.FStar_TypeChecker_Common.rhs in - (uu____2693, uu____2695) in + cp.FStar_TypeChecker_Common.rhs + in + (uu____2693, uu____2695) + in match uu____2668 with - | (lhs, rhs) -> + | (lhs,rhs) -> FStar_Util.format3 "%s is not %s the expected type %s" lhs rel rhs) + let (commit : uvi Prims.list -> unit) = - fun uvis -> + fun uvis -> FStar_All.pipe_right uvis (FStar_List.iter - (fun uu___15_2723 -> + (fun uu___15_2723 -> match uu___15_2723 with - | UNIV (u, t) -> + | UNIV (u,t) -> (match t with | FStar_Syntax_Syntax.U_unif u' -> FStar_Syntax_Unionfind.univ_union u u' | uu____2735 -> FStar_Syntax_Unionfind.univ_change u t) - | TERM (u, t) -> + | TERM (u,t) -> ((let uu____2739 = FStar_List.map FStar_Pervasives_Native.fst - u.FStar_Syntax_Syntax.ctx_uvar_binders in + u.FStar_Syntax_Syntax.ctx_uvar_binders + in FStar_TypeChecker_Env.def_check_closed_in t.FStar_Syntax_Syntax.pos "commit" uu____2739 t); FStar_Syntax_Util.set_uvar u.FStar_Syntax_Syntax.ctx_uvar_head t))) + let (find_term_uvar : FStar_Syntax_Syntax.uvar -> uvi Prims.list -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option) = - fun uv -> - fun s -> + fun uv -> + fun s -> FStar_Util.find_map s - (fun uu___16_2770 -> + (fun uu___16_2770 -> match uu___16_2770 with | UNIV uu____2773 -> FStar_Pervasives_Native.None - | TERM (u, t) -> + | TERM (u,t) -> let uu____2780 = FStar_Syntax_Unionfind.equiv uv - u.FStar_Syntax_Syntax.ctx_uvar_head in + u.FStar_Syntax_Syntax.ctx_uvar_head + in if uu____2780 then FStar_Pervasives_Native.Some t else FStar_Pervasives_Native.None) + let (find_univ_uvar : FStar_Syntax_Syntax.universe_uvar -> uvi Prims.list -> FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option) = - fun u -> - fun s -> + fun u -> + fun s -> FStar_Util.find_map s - (fun uu___17_2808 -> + (fun uu___17_2808 -> match uu___17_2808 with - | UNIV (u', t) -> - let uu____2813 = FStar_Syntax_Unionfind.univ_equiv u u' in + | UNIV (u',t) -> + let uu____2813 = FStar_Syntax_Unionfind.univ_equiv u u' in if uu____2813 then FStar_Pervasives_Native.Some t else FStar_Pervasives_Native.None | uu____2820 -> FStar_Pervasives_Native.None) + let (whnf' : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun t -> + fun env -> + fun t -> let uu____2832 = let uu____2833 = - let uu____2834 = FStar_Syntax_Util.unmeta t in + let uu____2834 = FStar_Syntax_Util.unmeta t in FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Reify; FStar_TypeChecker_Env.Weak; - FStar_TypeChecker_Env.HNF] env uu____2834 in - FStar_Syntax_Subst.compress uu____2833 in + FStar_TypeChecker_Env.HNF] env uu____2834 + in + FStar_Syntax_Subst.compress uu____2833 in FStar_All.pipe_right uu____2832 FStar_Syntax_Util.unlazy_emb + let (sn : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun t -> + fun env -> + fun t -> let uu____2846 = let uu____2847 = FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Reify] env t in - FStar_Syntax_Subst.compress uu____2847 in + [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Reify] env t + in + FStar_Syntax_Subst.compress uu____2847 in FStar_All.pipe_right uu____2846 FStar_Syntax_Util.unlazy_emb + let (should_strongly_reduce : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> - let uu____2855 = FStar_Syntax_Util.head_and_args t in + fun t -> + let uu____2855 = FStar_Syntax_Util.head_and_args t in match uu____2855 with - | (h, uu____2874) -> + | (h,uu____2874) -> let uu____2899 = - let uu____2900 = FStar_Syntax_Subst.compress h in - uu____2900.FStar_Syntax_Syntax.n in + let uu____2900 = FStar_Syntax_Subst.compress h in + uu____2900.FStar_Syntax_Syntax.n in (match uu____2899 with - | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify) -> true + | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify ) -> true | uu____2905 -> false) + let (whnf : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun t -> - let uu____2918 = should_strongly_reduce t in + fun env -> + fun t -> + let uu____2918 = should_strongly_reduce t in if uu____2918 then let uu____2921 = @@ -1233,59 +1343,64 @@ let (whnf : FStar_TypeChecker_Env.Reify; FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta; FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant] env t in - FStar_Syntax_Subst.compress uu____2922 in + FStar_Syntax_Syntax.delta_constant] env t + in + FStar_Syntax_Subst.compress uu____2922 in FStar_All.pipe_right uu____2921 FStar_Syntax_Util.unlazy_emb else whnf' env t + let norm_arg : 'Auu____2932 . FStar_TypeChecker_Env.env -> (FStar_Syntax_Syntax.term * 'Auu____2932) -> (FStar_Syntax_Syntax.term * 'Auu____2932) = - fun env -> - fun t -> - let uu____2955 = sn env (FStar_Pervasives_Native.fst t) in + fun env -> + fun t -> + let uu____2955 = sn env (FStar_Pervasives_Native.fst t) in (uu____2955, (FStar_Pervasives_Native.snd t)) + let (sn_binders : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.binders -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list) = - fun env -> - fun binders -> + fun env -> + fun binders -> FStar_All.pipe_right binders (FStar_List.map - (fun uu____3007 -> + (fun uu____3007 -> match uu____3007 with - | (x, imp) -> + | (x,imp) -> let uu____3026 = - let uu___440_3027 = x in - let uu____3028 = sn env x.FStar_Syntax_Syntax.sort in + let uu___440_3027 = x in + let uu____3028 = sn env x.FStar_Syntax_Syntax.sort in { FStar_Syntax_Syntax.ppname = (uu___440_3027.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___440_3027.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____3028 - } in + } in (uu____3026, imp))) + let (norm_univ : worklist -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe) = - fun wl -> - fun u -> + fun wl -> + fun u -> let rec aux u1 = - let u2 = FStar_Syntax_Subst.compress_univ u1 in + let u2 = FStar_Syntax_Subst.compress_univ u1 in match u2 with | FStar_Syntax_Syntax.U_succ u3 -> - let uu____3052 = aux u3 in FStar_Syntax_Syntax.U_succ uu____3052 + let uu____3052 = aux u3 in FStar_Syntax_Syntax.U_succ uu____3052 | FStar_Syntax_Syntax.U_max us -> - let uu____3056 = FStar_List.map aux us in + let uu____3056 = FStar_List.map aux us in FStar_Syntax_Syntax.U_max uu____3056 - | uu____3059 -> u2 in - let uu____3060 = aux u in + | uu____3059 -> u2 in + let uu____3060 = aux u in FStar_TypeChecker_Normalize.normalize_universe wl.tcenv uu____3060 + let (base_and_refinement_maybe_delta : Prims.bool -> FStar_TypeChecker_Env.env -> @@ -1293,9 +1408,9 @@ let (base_and_refinement_maybe_delta : (FStar_Syntax_Syntax.term * (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term) FStar_Pervasives_Native.option)) = - fun should_delta -> - fun env -> - fun t1 -> + fun should_delta -> + fun env -> + fun t1 -> let norm_refinement env1 t = let steps = if should_delta @@ -1304,44 +1419,46 @@ let (base_and_refinement_maybe_delta : FStar_TypeChecker_Env.HNF; FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant] - else [FStar_TypeChecker_Env.Weak; FStar_TypeChecker_Env.HNF] in - FStar_TypeChecker_Normalize.normalize_refinement steps env1 t in + else [FStar_TypeChecker_Env.Weak; FStar_TypeChecker_Env.HNF] in + FStar_TypeChecker_Normalize.normalize_refinement steps env1 t in let rec aux norm1 t11 = - let t12 = FStar_Syntax_Util.unmeta t11 in + let t12 = FStar_Syntax_Util.unmeta t11 in match t12.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_refine (x, phi) -> + | FStar_Syntax_Syntax.Tm_refine (x,phi) -> if norm1 then ((x.FStar_Syntax_Syntax.sort), (FStar_Pervasives_Native.Some (x, phi))) else - (let uu____3181 = norm_refinement env t12 in + (let uu____3181 = norm_refinement env t12 in match uu____3181 with | { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_refine - (x1, phi1); + (x1,phi1); FStar_Syntax_Syntax.pos = uu____3196; FStar_Syntax_Syntax.vars = uu____3197;_} -> ((x1.FStar_Syntax_Syntax.sort), (FStar_Pervasives_Native.Some (x1, phi1))) | tt -> let uu____3221 = - let uu____3223 = FStar_Syntax_Print.term_to_string tt in - let uu____3225 = FStar_Syntax_Print.tag_of_term tt in + let uu____3223 = FStar_Syntax_Print.term_to_string tt + in + let uu____3225 = FStar_Syntax_Print.tag_of_term tt in FStar_Util.format2 "impossible: Got %s ... %s\n" - uu____3223 uu____3225 in + uu____3223 uu____3225 + in failwith uu____3221) | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____3241 = FStar_Syntax_Util.unfold_lazy i in + let uu____3241 = FStar_Syntax_Util.unfold_lazy i in aux norm1 uu____3241 | FStar_Syntax_Syntax.Tm_uinst uu____3242 -> if norm1 then (t12, FStar_Pervasives_Native.None) else - (let t1' = norm_refinement env t12 in + (let t1' = norm_refinement env t12 in let uu____3279 = - let uu____3280 = FStar_Syntax_Subst.compress t1' in - uu____3280.FStar_Syntax_Syntax.n in + let uu____3280 = FStar_Syntax_Subst.compress t1' in + uu____3280.FStar_Syntax_Syntax.n in match uu____3279 with | FStar_Syntax_Syntax.Tm_refine uu____3295 -> aux true t1' | uu____3303 -> (t12, FStar_Pervasives_Native.None)) @@ -1349,10 +1466,10 @@ let (base_and_refinement_maybe_delta : if norm1 then (t12, FStar_Pervasives_Native.None) else - (let t1' = norm_refinement env t12 in + (let t1' = norm_refinement env t12 in let uu____3349 = - let uu____3350 = FStar_Syntax_Subst.compress t1' in - uu____3350.FStar_Syntax_Syntax.n in + let uu____3350 = FStar_Syntax_Subst.compress t1' in + uu____3350.FStar_Syntax_Syntax.n in match uu____3349 with | FStar_Syntax_Syntax.Tm_refine uu____3365 -> aux true t1' | uu____3373 -> (t12, FStar_Pervasives_Native.None)) @@ -1360,10 +1477,10 @@ let (base_and_refinement_maybe_delta : if norm1 then (t12, FStar_Pervasives_Native.None) else - (let t1' = norm_refinement env t12 in + (let t1' = norm_refinement env t12 in let uu____3435 = - let uu____3436 = FStar_Syntax_Subst.compress t1' in - uu____3436.FStar_Syntax_Syntax.n in + let uu____3436 = FStar_Syntax_Subst.compress t1' in + uu____3436.FStar_Syntax_Syntax.n in match uu____3435 with | FStar_Syntax_Syntax.Tm_refine uu____3451 -> aux true t1' | uu____3459 -> (t12, FStar_Pervasives_Native.None)) @@ -1389,108 +1506,122 @@ let (base_and_refinement_maybe_delta : (t12, FStar_Pervasives_Native.None) | FStar_Syntax_Syntax.Tm_meta uu____3709 -> let uu____3716 = - let uu____3718 = FStar_Syntax_Print.term_to_string t12 in - let uu____3720 = FStar_Syntax_Print.tag_of_term t12 in + let uu____3718 = FStar_Syntax_Print.term_to_string t12 in + let uu____3720 = FStar_Syntax_Print.tag_of_term t12 in FStar_Util.format2 "impossible (outer): Got %s ... %s\n" - uu____3718 uu____3720 in + uu____3718 uu____3720 + in failwith uu____3716 | FStar_Syntax_Syntax.Tm_ascribed uu____3735 -> let uu____3762 = - let uu____3764 = FStar_Syntax_Print.term_to_string t12 in - let uu____3766 = FStar_Syntax_Print.tag_of_term t12 in + let uu____3764 = FStar_Syntax_Print.term_to_string t12 in + let uu____3766 = FStar_Syntax_Print.tag_of_term t12 in FStar_Util.format2 "impossible (outer): Got %s ... %s\n" - uu____3764 uu____3766 in + uu____3764 uu____3766 + in failwith uu____3762 | FStar_Syntax_Syntax.Tm_delayed uu____3781 -> let uu____3804 = - let uu____3806 = FStar_Syntax_Print.term_to_string t12 in - let uu____3808 = FStar_Syntax_Print.tag_of_term t12 in + let uu____3806 = FStar_Syntax_Print.term_to_string t12 in + let uu____3808 = FStar_Syntax_Print.tag_of_term t12 in FStar_Util.format2 "impossible (outer): Got %s ... %s\n" - uu____3806 uu____3808 in + uu____3806 uu____3808 + in failwith uu____3804 - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> let uu____3823 = - let uu____3825 = FStar_Syntax_Print.term_to_string t12 in - let uu____3827 = FStar_Syntax_Print.tag_of_term t12 in + let uu____3825 = FStar_Syntax_Print.term_to_string t12 in + let uu____3827 = FStar_Syntax_Print.tag_of_term t12 in FStar_Util.format2 "impossible (outer): Got %s ... %s\n" - uu____3825 uu____3827 in - failwith uu____3823 in - let uu____3842 = whnf env t1 in aux false uu____3842 + uu____3825 uu____3827 + in + failwith uu____3823 + in + let uu____3842 = whnf env t1 in aux false uu____3842 + let (base_and_refinement : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term) FStar_Pervasives_Native.option)) - = fun env -> fun t -> base_and_refinement_maybe_delta false env t + = fun env -> fun t -> base_and_refinement_maybe_delta false env t let (normalize_refinement : FStar_TypeChecker_Env.steps -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term) = - fun steps -> - fun env -> - fun t0 -> FStar_TypeChecker_Normalize.normalize_refinement steps env t0 + fun steps -> + fun env -> + fun t0 -> + FStar_TypeChecker_Normalize.normalize_refinement steps env t0 + let (unrefine : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) = - fun env -> - fun t -> - let uu____3903 = base_and_refinement env t in + fun env -> + fun t -> + let uu____3903 = base_and_refinement env t in FStar_All.pipe_right uu____3903 FStar_Pervasives_Native.fst + let (trivial_refinement : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term)) = - fun t -> - let uu____3944 = FStar_Syntax_Syntax.null_bv t in + fun t -> + let uu____3944 = FStar_Syntax_Syntax.null_bv t in (uu____3944, FStar_Syntax_Util.t_true) + let (as_refinement : Prims.bool -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term)) = - fun delta1 -> - fun env -> - fun t -> - let uu____3971 = base_and_refinement_maybe_delta delta1 env t in + fun delta1 -> + fun env -> + fun t -> + let uu____3971 = base_and_refinement_maybe_delta delta1 env t in match uu____3971 with - | (t_base, refinement) -> + | (t_base,refinement) -> (match refinement with - | FStar_Pervasives_Native.None -> trivial_refinement t_base - | FStar_Pervasives_Native.Some (x, phi) -> (x, phi)) + | FStar_Pervasives_Native.None -> trivial_refinement t_base + | FStar_Pervasives_Native.Some (x,phi) -> (x, phi)) + let (force_refinement : (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term) FStar_Pervasives_Native.option) -> FStar_Syntax_Syntax.term) = - fun uu____4031 -> + fun uu____4031 -> match uu____4031 with - | (t_base, refopt) -> + | (t_base,refopt) -> let uu____4062 = match refopt with - | FStar_Pervasives_Native.Some (y, phi) -> (y, phi) - | FStar_Pervasives_Native.None -> trivial_refinement t_base in + | FStar_Pervasives_Native.Some (y,phi) -> (y, phi) + | FStar_Pervasives_Native.None -> trivial_refinement t_base in (match uu____4062 with - | (y, phi) -> + | (y,phi) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_refine (y, phi)) FStar_Pervasives_Native.None t_base.FStar_Syntax_Syntax.pos) + let (wl_prob_to_string : worklist -> FStar_TypeChecker_Common.prob -> Prims.string) = - fun wl -> fun prob -> prob_to_string wl.tcenv prob + fun wl -> fun prob -> prob_to_string wl.tcenv prob let (wl_to_string : worklist -> Prims.string) = - fun wl -> + fun wl -> let uu____4104 = let uu____4108 = let uu____4111 = FStar_All.pipe_right wl.wl_deferred (FStar_List.map - (fun uu____4138 -> - match uu____4138 with | (uu____4147, uu____4148, x) -> x)) in - FStar_List.append wl.attempting uu____4111 in - FStar_List.map (wl_prob_to_string wl) uu____4108 in + (fun uu____4138 -> + match uu____4138 with | (uu____4147,uu____4148,x) -> x)) + in + FStar_List.append wl.attempting uu____4111 in + FStar_List.map (wl_prob_to_string wl) uu____4108 in FStar_All.pipe_right uu____4104 (FStar_String.concat "\n\t") + type flex_t = (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.ctx_uvar * FStar_Syntax_Syntax.args) @@ -1499,167 +1630,182 @@ let flex_t_to_string : ('Auu____4171 * FStar_Syntax_Syntax.ctx_uvar * FStar_Syntax_Syntax.args) -> Prims.string = - fun uu____4183 -> + fun uu____4183 -> match uu____4183 with - | (uu____4190, c, args) -> - let uu____4193 = print_ctx_uvar c in - let uu____4195 = FStar_Syntax_Print.args_to_string args in + | (uu____4190,c,args) -> + let uu____4193 = print_ctx_uvar c in + let uu____4195 = FStar_Syntax_Print.args_to_string args in FStar_Util.format2 "%s [%s]" uu____4193 uu____4195 + let (is_flex : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> - let uu____4205 = FStar_Syntax_Util.head_and_args t in + fun t -> + let uu____4205 = FStar_Syntax_Util.head_and_args t in match uu____4205 with - | (head1, _args) -> + | (head1,_args) -> let uu____4249 = - let uu____4250 = FStar_Syntax_Subst.compress head1 in - uu____4250.FStar_Syntax_Syntax.n in + let uu____4250 = FStar_Syntax_Subst.compress head1 in + uu____4250.FStar_Syntax_Syntax.n in (match uu____4249 with | FStar_Syntax_Syntax.Tm_uvar uu____4254 -> true | uu____4268 -> false) + let (flex_uvar_head : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.ctx_uvar) = - fun t -> - let uu____4276 = FStar_Syntax_Util.head_and_args t in + fun t -> + let uu____4276 = FStar_Syntax_Util.head_and_args t in match uu____4276 with - | (head1, _args) -> + | (head1,_args) -> let uu____4319 = - let uu____4320 = FStar_Syntax_Subst.compress head1 in - uu____4320.FStar_Syntax_Syntax.n in + let uu____4320 = FStar_Syntax_Subst.compress head1 in + uu____4320.FStar_Syntax_Syntax.n in (match uu____4319 with - | FStar_Syntax_Syntax.Tm_uvar (u, uu____4324) -> u + | FStar_Syntax_Syntax.Tm_uvar (u,uu____4324) -> u | uu____4341 -> failwith "Not a flex-uvar") + let (destruct_flex_t : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> worklist -> (flex_t * worklist)) = - fun t -> - fun wl -> - let uu____4366 = FStar_Syntax_Util.head_and_args t in + fun t -> + fun wl -> + let uu____4366 = FStar_Syntax_Util.head_and_args t in match uu____4366 with - | (head1, args) -> + | (head1,args) -> let uu____4413 = - let uu____4414 = FStar_Syntax_Subst.compress head1 in - uu____4414.FStar_Syntax_Syntax.n in + let uu____4414 = FStar_Syntax_Subst.compress head1 in + uu____4414.FStar_Syntax_Syntax.n in (match uu____4413 with - | FStar_Syntax_Syntax.Tm_uvar (uv, ([], uu____4422)) -> + | FStar_Syntax_Syntax.Tm_uvar (uv,([],uu____4422)) -> ((t, uv, args), wl) - | FStar_Syntax_Syntax.Tm_uvar (uv, s) -> + | FStar_Syntax_Syntax.Tm_uvar (uv,s) -> let uu____4455 = FStar_All.pipe_right uv.FStar_Syntax_Syntax.ctx_uvar_gamma (FStar_List.partition - (fun uu___18_4480 -> + (fun uu___18_4480 -> match uu___18_4480 with | FStar_Syntax_Syntax.Binding_var x -> - let t_x = FStar_Syntax_Syntax.bv_to_name x in - let t_x' = FStar_Syntax_Subst.subst' s t_x in + let t_x = FStar_Syntax_Syntax.bv_to_name x in + let t_x' = FStar_Syntax_Subst.subst' s t_x in let uu____4485 = let uu____4486 = - FStar_Syntax_Subst.compress t_x' in - uu____4486.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress t_x' in + uu____4486.FStar_Syntax_Syntax.n in (match uu____4485 with | FStar_Syntax_Syntax.Tm_name y -> FStar_Syntax_Syntax.bv_eq x y | uu____4491 -> false) - | uu____4493 -> true)) in + | uu____4493 -> true)) + in (match uu____4455 with - | (new_gamma, dom_binders_rev) -> + | (new_gamma,dom_binders_rev) -> let dom_binders = let uu____4518 = FStar_List.collect - (fun uu___19_4530 -> + (fun uu___19_4530 -> match uu___19_4530 with | FStar_Syntax_Syntax.Binding_var x -> let uu____4534 = - FStar_Syntax_Syntax.mk_binder x in + FStar_Syntax_Syntax.mk_binder x in [uu____4534] - | uu____4535 -> []) dom_binders_rev in - FStar_All.pipe_right uu____4518 FStar_List.rev in + | uu____4535 -> []) dom_binders_rev + in + FStar_All.pipe_right uu____4518 FStar_List.rev in let uu____4558 = let uu____4565 = let uu____4574 = FStar_All.pipe_right new_gamma (FStar_List.collect - (fun uu___20_4596 -> + (fun uu___20_4596 -> match uu___20_4596 with | FStar_Syntax_Syntax.Binding_var x -> let uu____4600 = - FStar_Syntax_Syntax.mk_binder x in + FStar_Syntax_Syntax.mk_binder x in [uu____4600] - | uu____4601 -> [])) in - FStar_All.pipe_right uu____4574 FStar_List.rev in + | uu____4601 -> [])) + in + FStar_All.pipe_right uu____4574 FStar_List.rev in let uu____4624 = let uu____4627 = FStar_Syntax_Syntax.mk_Total - uv.FStar_Syntax_Syntax.ctx_uvar_typ in - FStar_Syntax_Util.arrow dom_binders uu____4627 in + uv.FStar_Syntax_Syntax.ctx_uvar_typ + in + FStar_Syntax_Util.arrow dom_binders uu____4627 in new_uvar (Prims.op_Hat uv.FStar_Syntax_Syntax.ctx_uvar_reason "; force delayed") wl t.FStar_Syntax_Syntax.pos new_gamma uu____4565 uu____4624 uv.FStar_Syntax_Syntax.ctx_uvar_should_check - uv.FStar_Syntax_Syntax.ctx_uvar_meta in + uv.FStar_Syntax_Syntax.ctx_uvar_meta + in (match uu____4558 with - | (v1, t_v, wl1) -> + | (v1,t_v,wl1) -> let args_sol = FStar_List.map - (fun uu____4663 -> + (fun uu____4663 -> match uu____4663 with - | (x, i) -> + | (x,i) -> let uu____4682 = - FStar_Syntax_Syntax.bv_to_name x in - (uu____4682, i)) dom_binders in + FStar_Syntax_Syntax.bv_to_name x in + (uu____4682, i)) dom_binders + in let sol = FStar_Syntax_Syntax.mk_Tm_app t_v args_sol FStar_Pervasives_Native.None - t.FStar_Syntax_Syntax.pos in + t.FStar_Syntax_Syntax.pos + in let args_sol_s = FStar_List.map - (fun uu____4713 -> + (fun uu____4713 -> match uu____4713 with - | (a, i) -> + | (a,i) -> let uu____4732 = - FStar_Syntax_Subst.subst' s a in - (uu____4732, i)) args_sol in - let all_args = FStar_List.append args_sol_s args in + FStar_Syntax_Subst.subst' s a in + (uu____4732, i)) args_sol + in + let all_args = FStar_List.append args_sol_s args in let t1 = FStar_Syntax_Syntax.mk_Tm_app t_v all_args FStar_Pervasives_Native.None - t.FStar_Syntax_Syntax.pos in + t.FStar_Syntax_Syntax.pos + in (FStar_Syntax_Unionfind.change uv.FStar_Syntax_Syntax.ctx_uvar_head sol; ((t1, v1, all_args), wl1)))) | uu____4754 -> failwith "Not a flex-uvar") + let (u_abs : FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun k -> - fun ys -> - fun t -> + fun k -> + fun ys -> + fun t -> let uu____4776 = let uu____4799 = - let uu____4800 = FStar_Syntax_Subst.compress k in - uu____4800.FStar_Syntax_Syntax.n in + let uu____4800 = FStar_Syntax_Subst.compress k in + uu____4800.FStar_Syntax_Syntax.n in match uu____4799 with - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> if (FStar_List.length bs) = (FStar_List.length ys) then - let uu____4882 = FStar_Syntax_Subst.open_comp bs c in + let uu____4882 = FStar_Syntax_Subst.open_comp bs c in ((ys, t), uu____4882) else - (let uu____4917 = FStar_Syntax_Util.abs_formals t in + (let uu____4917 = FStar_Syntax_Util.abs_formals t in match uu____4917 with - | (ys', t1, uu____4950) -> - let uu____4955 = FStar_Syntax_Util.arrow_formals_comp k in + | (ys',t1,uu____4950) -> + let uu____4955 = FStar_Syntax_Util.arrow_formals_comp k + in (((FStar_List.append ys ys'), t1), uu____4955)) | uu____4994 -> let uu____4995 = - let uu____5000 = FStar_Syntax_Syntax.mk_Total k in - ([], uu____5000) in - ((ys, t), uu____4995) in + let uu____5000 = FStar_Syntax_Syntax.mk_Total k in + ([], uu____5000) in + ((ys, t), uu____4995) + in match uu____4776 with - | ((ys1, t1), (xs, c)) -> + | ((ys1,t1),(xs,c)) -> if (FStar_List.length xs) <> (FStar_List.length ys1) then FStar_Syntax_Util.abs ys1 t1 @@ -1669,11 +1815,12 @@ let (u_abs : FStar_Pervasives_Native.None [])) else (let c1 = - let uu____5095 = FStar_Syntax_Util.rename_binders xs ys1 in - FStar_Syntax_Subst.subst_comp uu____5095 c in + let uu____5095 = FStar_Syntax_Util.rename_binders xs ys1 in + FStar_Syntax_Subst.subst_comp uu____5095 c in FStar_Syntax_Util.abs ys1 t1 (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_comp_of_comp c1))) + let (solve_prob' : Prims.bool -> FStar_TypeChecker_Common.prob -> @@ -1681,25 +1828,26 @@ let (solve_prob' : FStar_Pervasives_Native.option -> uvi Prims.list -> worklist -> worklist) = - fun resolve_ok -> - fun prob -> - fun logical_guard -> - fun uvis -> - fun wl -> + fun resolve_ok -> + fun prob -> + fun logical_guard -> + fun uvis -> + fun wl -> def_check_prob "solve_prob'" prob; (let phi = match logical_guard with - | FStar_Pervasives_Native.None -> FStar_Syntax_Util.t_true - | FStar_Pervasives_Native.Some phi -> phi in + | FStar_Pervasives_Native.None -> FStar_Syntax_Util.t_true + | FStar_Pervasives_Native.Some phi -> phi in let assign_solution xs uv phi1 = (let uu____5173 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug wl.tcenv) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____5173 then - let uu____5178 = FStar_Util.string_of_int (p_pid prob) in - let uu____5180 = print_ctx_uvar uv in - let uu____5182 = FStar_Syntax_Print.term_to_string phi1 in + let uu____5178 = FStar_Util.string_of_int (p_pid prob) in + let uu____5180 = print_ctx_uvar uv in + let uu____5182 = FStar_Syntax_Print.term_to_string phi1 in FStar_Util.print3 "Solving %s (%s) with formula %s\n" uu____5178 uu____5180 uu____5182 else ()); @@ -1707,55 +1855,64 @@ let (solve_prob' : FStar_Syntax_Util.abs xs phi1 (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot - FStar_Syntax_Util.ktype0)) in + FStar_Syntax_Util.ktype0)) + in (let uu____5191 = - let uu____5193 = FStar_Util.string_of_int (p_pid prob) in - Prims.op_Hat "solve_prob'.sol." uu____5193 in + let uu____5193 = FStar_Util.string_of_int (p_pid prob) in + Prims.op_Hat "solve_prob'.sol." uu____5193 in let uu____5196 = - let uu____5199 = p_scope prob in + let uu____5199 = p_scope prob in FStar_All.pipe_left - (FStar_List.map FStar_Pervasives_Native.fst) uu____5199 in + (FStar_List.map FStar_Pervasives_Native.fst) uu____5199 + in FStar_TypeChecker_Env.def_check_closed_in (p_loc prob) uu____5191 uu____5196 phi2); FStar_Syntax_Util.set_uvar - uv.FStar_Syntax_Syntax.ctx_uvar_head phi2) in - let uv = p_guard_uvar prob in + uv.FStar_Syntax_Syntax.ctx_uvar_head phi2) + in + let uv = p_guard_uvar prob in let fail1 uu____5232 = let uu____5233 = - let uu____5235 = FStar_Syntax_Print.ctx_uvar_to_string uv in + let uu____5235 = FStar_Syntax_Print.ctx_uvar_to_string uv + in let uu____5237 = - FStar_Syntax_Print.term_to_string (p_guard prob) in + FStar_Syntax_Print.term_to_string (p_guard prob) in FStar_Util.format2 "Impossible: this instance %s has already been assigned a solution\n%s\n" - uu____5235 uu____5237 in - failwith uu____5233 in + uu____5235 uu____5237 + in + failwith uu____5233 in let args_as_binders args = FStar_All.pipe_right args (FStar_List.collect - (fun uu____5303 -> + (fun uu____5303 -> match uu____5303 with - | (a, i) -> + | (a,i) -> let uu____5324 = - let uu____5325 = FStar_Syntax_Subst.compress a in - uu____5325.FStar_Syntax_Syntax.n in + let uu____5325 = FStar_Syntax_Subst.compress a + in + uu____5325.FStar_Syntax_Syntax.n in (match uu____5324 with | FStar_Syntax_Syntax.Tm_name x -> [(x, i)] - | uu____5351 -> (fail1 (); [])))) in + | uu____5351 -> (fail1 (); [])))) + in let wl1 = - let g = whnf wl.tcenv (p_guard prob) in + let g = whnf wl.tcenv (p_guard prob) in let uu____5361 = - let uu____5363 = is_flex g in Prims.op_Negation uu____5363 in + let uu____5363 = is_flex g in Prims.op_Negation uu____5363 + in if uu____5361 then (if resolve_ok then wl else (fail1 (); wl)) else - (let uu____5372 = destruct_flex_t g wl in + (let uu____5372 = destruct_flex_t g wl in match uu____5372 with - | ((uu____5377, uv1, args), wl1) -> - ((let uu____5382 = args_as_binders args in + | ((uu____5377,uv1,args),wl1) -> + ((let uu____5382 = args_as_binders args in assign_solution uu____5382 uv1 phi); - wl1)) in + wl1)) + in commit uvis; - (let uu___692_5384 = wl1 in + (let uu___692_5384 = wl1 in { attempting = (uu___692_5384.attempting); wl_deferred = (uu___692_5384.wl_deferred); @@ -1766,23 +1923,25 @@ let (solve_prob' : tcenv = (uu___692_5384.tcenv); wl_implicits = (uu___692_5384.wl_implicits) })) + let (extend_solution : Prims.int -> uvi Prims.list -> worklist -> worklist) = - fun pid -> - fun sol -> - fun wl -> + fun pid -> + fun sol -> + fun wl -> (let uu____5409 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug wl.tcenv) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____5409 then - let uu____5414 = FStar_Util.string_of_int pid in + let uu____5414 = FStar_Util.string_of_int pid in let uu____5416 = - let uu____5418 = FStar_List.map (uvi_to_string wl.tcenv) sol in - FStar_All.pipe_right uu____5418 (FStar_String.concat ", ") in + let uu____5418 = FStar_List.map (uvi_to_string wl.tcenv) sol in + FStar_All.pipe_right uu____5418 (FStar_String.concat ", ") in FStar_Util.print2 "Solving %s: with [%s]\n" uu____5414 uu____5416 else ()); commit sol; - (let uu___700_5432 = wl in + (let uu___700_5432 = wl in { attempting = (uu___700_5432.attempting); wl_deferred = (uu___700_5432.wl_deferred); @@ -1793,70 +1952,78 @@ let (extend_solution : Prims.int -> uvi Prims.list -> worklist -> worklist) = tcenv = (uu___700_5432.tcenv); wl_implicits = (uu___700_5432.wl_implicits) }) + let (solve_prob : FStar_TypeChecker_Common.prob -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option -> uvi Prims.list -> worklist -> worklist) = - fun prob -> - fun logical_guard -> - fun uvis -> - fun wl -> + fun prob -> + fun logical_guard -> + fun uvis -> + fun wl -> def_check_prob "solve_prob.prob" prob; FStar_Util.iter_opt logical_guard (def_check_scoped "solve_prob.guard" prob); (let conj_guard1 t g = match (t, g) with - | (uu____5498, FStar_TypeChecker_Common.Trivial) -> t - | (FStar_Pervasives_Native.None, - FStar_TypeChecker_Common.NonTrivial f) -> + | (uu____5498,FStar_TypeChecker_Common.Trivial ) -> t + | (FStar_Pervasives_Native.None + ,FStar_TypeChecker_Common.NonTrivial f) -> FStar_Pervasives_Native.Some f - | (FStar_Pervasives_Native.Some t1, - FStar_TypeChecker_Common.NonTrivial f) -> - let uu____5526 = FStar_Syntax_Util.mk_conj t1 f in - FStar_Pervasives_Native.Some uu____5526 in + | (FStar_Pervasives_Native.Some + t1,FStar_TypeChecker_Common.NonTrivial f) -> + let uu____5526 = FStar_Syntax_Util.mk_conj t1 f in + FStar_Pervasives_Native.Some uu____5526 + in (let uu____5532 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug wl.tcenv) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____5532 then let uu____5537 = - FStar_All.pipe_left FStar_Util.string_of_int (p_pid prob) in + FStar_All.pipe_left FStar_Util.string_of_int (p_pid prob) in let uu____5541 = - let uu____5543 = FStar_List.map (uvi_to_string wl.tcenv) uvis in - FStar_All.pipe_right uu____5543 (FStar_String.concat ", ") in + let uu____5543 = FStar_List.map (uvi_to_string wl.tcenv) uvis + in + FStar_All.pipe_right uu____5543 (FStar_String.concat ", ") + in FStar_Util.print2 "Solving %s: with %s\n" uu____5537 uu____5541 else ()); solve_prob' false prob logical_guard uvis wl) + let (occurs : FStar_Syntax_Syntax.ctx_uvar -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.ctx_uvar Prims.list * Prims.bool)) = - fun uk -> - fun t -> + fun uk -> + fun t -> let uvars1 = - let uu____5578 = FStar_Syntax_Free.uvars t in - FStar_All.pipe_right uu____5578 FStar_Util.set_elements in + let uu____5578 = FStar_Syntax_Free.uvars t in + FStar_All.pipe_right uu____5578 FStar_Util.set_elements in let occurs = FStar_All.pipe_right uvars1 (FStar_Util.for_some - (fun uv -> + (fun uv -> FStar_Syntax_Unionfind.equiv uv.FStar_Syntax_Syntax.ctx_uvar_head - uk.FStar_Syntax_Syntax.ctx_uvar_head)) in + uk.FStar_Syntax_Syntax.ctx_uvar_head)) + in (uvars1, occurs) + let (occurs_check : FStar_Syntax_Syntax.ctx_uvar -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.ctx_uvar Prims.list * Prims.bool * Prims.string FStar_Pervasives_Native.option)) = - fun uk -> - fun t -> - let uu____5618 = occurs uk t in + fun uk -> + fun t -> + let uu____5618 = occurs uk t in match uu____5618 with - | (uvars1, occurs1) -> + | (uvars1,occurs1) -> let msg = if Prims.op_Negation occurs1 then FStar_Pervasives_Native.None @@ -1864,74 +2031,83 @@ let (occurs_check : (let uu____5657 = let uu____5659 = FStar_Syntax_Print.uvar_to_string - uk.FStar_Syntax_Syntax.ctx_uvar_head in - let uu____5661 = FStar_Syntax_Print.term_to_string t in + uk.FStar_Syntax_Syntax.ctx_uvar_head + in + let uu____5661 = FStar_Syntax_Print.term_to_string t in FStar_Util.format2 "occurs-check failed (%s occurs in %s)" - uu____5659 uu____5661 in - FStar_Pervasives_Native.Some uu____5657) in + uu____5659 uu____5661 + in + FStar_Pervasives_Native.Some uu____5657) + in (uvars1, (Prims.op_Negation occurs1), msg) + let rec (maximal_prefix : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binders -> (FStar_Syntax_Syntax.binders * (FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.binders))) = - fun bs -> - fun bs' -> + fun bs -> + fun bs' -> match (bs, bs') with - | ((b, i)::bs_tail, (b', i')::bs'_tail) -> + | ((b,i)::bs_tail,(b',i')::bs'_tail) -> if FStar_Syntax_Syntax.bv_eq b b' then - let uu____5781 = maximal_prefix bs_tail bs'_tail in - (match uu____5781 with | (pfx, rest) -> (((b, i) :: pfx), rest)) + let uu____5781 = maximal_prefix bs_tail bs'_tail in + (match uu____5781 with | (pfx,rest) -> (((b, i) :: pfx), rest)) else ([], (bs, bs')) | uu____5832 -> ([], (bs, bs')) + let (extend_gamma : FStar_Syntax_Syntax.gamma -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binding Prims.list) = - fun g -> - fun bs -> + fun g -> + fun bs -> FStar_List.fold_left - (fun g1 -> - fun uu____5889 -> + (fun g1 -> + fun uu____5889 -> match uu____5889 with - | (x, uu____5901) -> (FStar_Syntax_Syntax.Binding_var x) :: g1) - g bs + | (x,uu____5901) -> (FStar_Syntax_Syntax.Binding_var x) :: g1) g + bs + let (gamma_until : FStar_Syntax_Syntax.gamma -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binding Prims.list) = - fun g -> - fun bs -> - let uu____5919 = FStar_List.last bs in + fun g -> + fun bs -> + let uu____5919 = FStar_List.last bs in match uu____5919 with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some (x, uu____5943) -> + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some (x,uu____5943) -> let uu____5954 = FStar_Util.prefix_until - (fun uu___21_5969 -> + (fun uu___21_5969 -> match uu___21_5969 with | FStar_Syntax_Syntax.Binding_var x' -> FStar_Syntax_Syntax.bv_eq x x' - | uu____5972 -> false) g in + | uu____5972 -> false) g + in (match uu____5954 with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some (uu____5986, bx, rest) -> bx :: - rest) + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some (uu____5986,bx,rest) -> bx :: rest) + let (restrict_ctx : FStar_Syntax_Syntax.ctx_uvar -> FStar_Syntax_Syntax.ctx_uvar -> worklist -> worklist) = - fun tgt -> - fun src -> - fun wl -> + fun tgt -> + fun src -> + fun wl -> let uu____6023 = maximal_prefix tgt.FStar_Syntax_Syntax.ctx_uvar_binders - src.FStar_Syntax_Syntax.ctx_uvar_binders in + src.FStar_Syntax_Syntax.ctx_uvar_binders + in match uu____6023 with - | (pfx, uu____6033) -> - let g = gamma_until src.FStar_Syntax_Syntax.ctx_uvar_gamma pfx in + | (pfx,uu____6033) -> + let g = gamma_until src.FStar_Syntax_Syntax.ctx_uvar_gamma pfx + in let uu____6045 = new_uvar (Prims.op_Hat "restrict:" @@ -1939,92 +2115,104 @@ let (restrict_ctx : src.FStar_Syntax_Syntax.ctx_uvar_range g pfx src.FStar_Syntax_Syntax.ctx_uvar_typ src.FStar_Syntax_Syntax.ctx_uvar_should_check - src.FStar_Syntax_Syntax.ctx_uvar_meta in + src.FStar_Syntax_Syntax.ctx_uvar_meta + in (match uu____6045 with - | (uu____6053, src', wl1) -> + | (uu____6053,src',wl1) -> (FStar_Syntax_Unionfind.change src.FStar_Syntax_Syntax.ctx_uvar_head src'; wl1)) + let (restrict_all_uvars : FStar_Syntax_Syntax.ctx_uvar -> FStar_Syntax_Syntax.ctx_uvar Prims.list -> worklist -> worklist) = - fun tgt -> - fun sources -> - fun wl -> FStar_List.fold_right (restrict_ctx tgt) sources wl + fun tgt -> + fun sources -> + fun wl -> FStar_List.fold_right (restrict_ctx tgt) sources wl + let (intersect_binders : FStar_Syntax_Syntax.gamma -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binders) = - fun g -> - fun v1 -> - fun v2 -> + fun g -> + fun v1 -> + fun v2 -> let as_set1 v3 = FStar_All.pipe_right v3 (FStar_List.fold_left - (fun out -> - fun x -> + (fun out -> + fun x -> FStar_Util.set_add (FStar_Pervasives_Native.fst x) out) - FStar_Syntax_Syntax.no_names) in - let v1_set = as_set1 v1 in + FStar_Syntax_Syntax.no_names) + in + let v1_set = as_set1 v1 in let ctx_binders = FStar_List.fold_left - (fun out -> - fun b -> + (fun out -> + fun b -> match b with | FStar_Syntax_Syntax.Binding_var x -> FStar_Util.set_add x out - | uu____6167 -> out) FStar_Syntax_Syntax.no_names g in + | uu____6167 -> out) FStar_Syntax_Syntax.no_names g + in let uu____6168 = FStar_All.pipe_right v2 (FStar_List.fold_left - (fun uu____6232 -> - fun uu____6233 -> + (fun uu____6232 -> + fun uu____6233 -> match (uu____6232, uu____6233) with - | ((isect, isect_set), (x, imp)) -> + | ((isect,isect_set),(x,imp)) -> let uu____6336 = - let uu____6338 = FStar_Util.set_mem x v1_set in - FStar_All.pipe_left Prims.op_Negation uu____6338 in + let uu____6338 = FStar_Util.set_mem x v1_set in + FStar_All.pipe_left Prims.op_Negation uu____6338 + in if uu____6336 then (isect, isect_set) else (let fvs = FStar_Syntax_Free.names - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in let uu____6372 = - FStar_Util.set_is_subset_of fvs isect_set in + FStar_Util.set_is_subset_of fvs isect_set in if uu____6372 then - let uu____6389 = FStar_Util.set_add x isect_set in + let uu____6389 = FStar_Util.set_add x isect_set + in (((x, imp) :: isect), uu____6389) - else (isect, isect_set))) ([], ctx_binders)) in - match uu____6168 with | (isect, uu____6439) -> FStar_List.rev isect + else (isect, isect_set))) ([], ctx_binders)) + in + match uu____6168 with | (isect,uu____6439) -> FStar_List.rev isect + let binders_eq : 'Auu____6475 'Auu____6476 . (FStar_Syntax_Syntax.bv * 'Auu____6475) Prims.list -> (FStar_Syntax_Syntax.bv * 'Auu____6476) Prims.list -> Prims.bool = - fun v1 -> - fun v2 -> + fun v1 -> + fun v2 -> ((FStar_List.length v1) = (FStar_List.length v2)) && (FStar_List.forall2 - (fun uu____6534 -> - fun uu____6535 -> + (fun uu____6534 -> + fun uu____6535 -> match (uu____6534, uu____6535) with - | ((a, uu____6554), (b, uu____6556)) -> + | ((a,uu____6554),(b,uu____6556)) -> FStar_Syntax_Syntax.bv_eq a b) v1 v2) + let name_exists_in_binders : 'Auu____6572 . FStar_Syntax_Syntax.bv -> (FStar_Syntax_Syntax.bv * 'Auu____6572) Prims.list -> Prims.bool = - fun x -> - fun bs -> + fun x -> + fun bs -> FStar_Util.for_some - (fun uu____6603 -> + (fun uu____6603 -> match uu____6603 with - | (y, uu____6610) -> FStar_Syntax_Syntax.bv_eq x y) bs + | (y,uu____6610) -> FStar_Syntax_Syntax.bv_eq x y) bs + let pat_vars : 'Auu____6620 . FStar_TypeChecker_Env.env -> @@ -2033,24 +2221,27 @@ let pat_vars : FStar_Pervasives_Native.option) Prims.list -> FStar_Syntax_Syntax.binders FStar_Pervasives_Native.option = - fun env -> - fun ctx -> - fun args -> + fun env -> + fun ctx -> + fun args -> let rec aux seen args1 = match args1 with | [] -> FStar_Pervasives_Native.Some (FStar_List.rev seen) - | (arg, i)::args2 -> - let hd1 = sn env arg in + | (arg,i)::args2 -> + let hd1 = sn env arg in (match hd1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_name a -> let uu____6782 = (name_exists_in_binders a seen) || - (name_exists_in_binders a ctx) in + (name_exists_in_binders a ctx) + in if uu____6782 then FStar_Pervasives_Native.None else aux ((a, i) :: seen) args2 - | uu____6815 -> FStar_Pervasives_Native.None) in + | uu____6815 -> FStar_Pervasives_Native.None) + in aux [] args + type match_result = | MisMatch of (FStar_Syntax_Syntax.delta_depth FStar_Pervasives_Native.option * FStar_Syntax_Syntax.delta_depth @@ -2058,55 +2249,62 @@ type match_result = | HeadMatch of Prims.bool | FullMatch let (uu___is_MisMatch : match_result -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | MisMatch _0 -> true | uu____6867 -> false + let (__proj__MisMatch__item___0 : match_result -> (FStar_Syntax_Syntax.delta_depth FStar_Pervasives_Native.option * FStar_Syntax_Syntax.delta_depth FStar_Pervasives_Native.option)) - = fun projectee -> match projectee with | MisMatch _0 -> _0 + = fun projectee -> match projectee with | MisMatch _0 -> _0 let (uu___is_HeadMatch : match_result -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | HeadMatch _0 -> true | uu____6911 -> false + let (__proj__HeadMatch__item___0 : match_result -> Prims.bool) = - fun projectee -> match projectee with | HeadMatch _0 -> _0 + fun projectee -> match projectee with | HeadMatch _0 -> _0 let (uu___is_FullMatch : match_result -> Prims.bool) = - fun projectee -> - match projectee with | FullMatch -> true | uu____6932 -> false + fun projectee -> + match projectee with | FullMatch -> true | uu____6932 -> false + let (string_of_match_result : match_result -> Prims.string) = - fun uu___22_6940 -> + fun uu___22_6940 -> match uu___22_6940 with - | MisMatch (d1, d2) -> + | MisMatch (d1,d2) -> let uu____6952 = let uu____6954 = FStar_Common.string_of_option - FStar_Syntax_Print.delta_depth_to_string d1 in + FStar_Syntax_Print.delta_depth_to_string d1 + in let uu____6956 = let uu____6958 = let uu____6960 = FStar_Common.string_of_option - FStar_Syntax_Print.delta_depth_to_string d2 in - Prims.op_Hat uu____6960 ")" in - Prims.op_Hat ") (" uu____6958 in - Prims.op_Hat uu____6954 uu____6956 in + FStar_Syntax_Print.delta_depth_to_string d2 + in + Prims.op_Hat uu____6960 ")" in + Prims.op_Hat ") (" uu____6958 in + Prims.op_Hat uu____6954 uu____6956 in Prims.op_Hat "MisMatch (" uu____6952 | HeadMatch u -> - let uu____6967 = FStar_Util.string_of_bool u in + let uu____6967 = FStar_Util.string_of_bool u in Prims.op_Hat "HeadMatch " uu____6967 - | FullMatch -> "FullMatch" + | FullMatch -> "FullMatch" + let (head_match : match_result -> match_result) = - fun uu___23_6976 -> + fun uu___23_6976 -> match uu___23_6976 with - | MisMatch (i, j) -> MisMatch (i, j) - | HeadMatch (true) -> HeadMatch true + | MisMatch (i,j) -> MisMatch (i, j) + | HeadMatch (true ) -> HeadMatch true | uu____6993 -> HeadMatch false + let (fv_delta_depth : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.fv -> FStar_Syntax_Syntax.delta_depth) = - fun env -> - fun fv -> - let d = FStar_TypeChecker_Env.delta_depth_of_fv env fv in + fun env -> + fun fv -> + let d = FStar_TypeChecker_Env.delta_depth_of_fv env fv in match d with | FStar_Syntax_Syntax.Delta_abstract d1 -> if @@ -2121,27 +2319,29 @@ let (fv_delta_depth : FStar_TypeChecker_Env.lookup_definition [FStar_TypeChecker_Env.Unfold FStar_Syntax_Syntax.delta_constant] env - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in (match uu____7015 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Syntax_Syntax.delta_constant | uu____7026 -> d) | d1 -> d1 + let rec (delta_depth_of_term : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.delta_depth FStar_Pervasives_Native.option) = - fun env -> - fun t -> - let t1 = FStar_Syntax_Util.unmeta t in + fun env -> + fun t -> + let t1 = FStar_Syntax_Util.unmeta t in match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_meta uu____7050 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_delayed uu____7060 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____7087 = FStar_Syntax_Util.unfold_lazy i in + let uu____7087 = FStar_Syntax_Util.unfold_lazy i in delta_depth_of_term env uu____7087 - | FStar_Syntax_Syntax.Tm_unknown -> FStar_Pervasives_Native.None + | FStar_Syntax_Syntax.Tm_unknown -> FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Tm_bvar uu____7088 -> FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Tm_name uu____7089 -> @@ -2151,17 +2351,16 @@ let rec (delta_depth_of_term : | FStar_Syntax_Syntax.Tm_let uu____7103 -> FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Tm_match uu____7117 -> FStar_Pervasives_Native.None - | FStar_Syntax_Syntax.Tm_uinst (t2, uu____7141) -> + | FStar_Syntax_Syntax.Tm_uinst (t2,uu____7141) -> delta_depth_of_term env t2 - | FStar_Syntax_Syntax.Tm_ascribed (t2, uu____7147, uu____7148) -> + | FStar_Syntax_Syntax.Tm_ascribed (t2,uu____7147,uu____7148) -> delta_depth_of_term env t2 - | FStar_Syntax_Syntax.Tm_app (t2, uu____7190) -> + | FStar_Syntax_Syntax.Tm_app (t2,uu____7190) -> delta_depth_of_term env t2 | FStar_Syntax_Syntax.Tm_refine ({ FStar_Syntax_Syntax.ppname = uu____7215; FStar_Syntax_Syntax.index = uu____7216; - FStar_Syntax_Syntax.sort = t2;_}, - uu____7218) + FStar_Syntax_Syntax.sort = t2;_},uu____7218) -> delta_depth_of_term env t2 | FStar_Syntax_Syntax.Tm_constant uu____7226 -> FStar_Pervasives_Native.Some FStar_Syntax_Syntax.delta_constant @@ -2174,124 +2373,133 @@ let rec (delta_depth_of_term : | FStar_Syntax_Syntax.Tm_abs uu____7250 -> FStar_Pervasives_Native.Some FStar_Syntax_Syntax.delta_constant | FStar_Syntax_Syntax.Tm_fvar fv -> - let uu____7270 = fv_delta_depth env fv in + let uu____7270 = fv_delta_depth env fv in FStar_Pervasives_Native.Some uu____7270 + let rec (head_matches : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> match_result) = - fun env -> - fun t1 -> - fun t2 -> - let t11 = FStar_Syntax_Util.unmeta t1 in - let t21 = FStar_Syntax_Util.unmeta t2 in + fun env -> + fun t1 -> + fun t2 -> + let t11 = FStar_Syntax_Util.unmeta t1 in + let t21 = FStar_Syntax_Util.unmeta t2 in match ((t11.FStar_Syntax_Syntax.n), (t21.FStar_Syntax_Syntax.n)) with | (FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = uu____7289; FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_embedding uu____7290; FStar_Syntax_Syntax.ltyp = uu____7291; - FStar_Syntax_Syntax.rng = uu____7292;_}, - uu____7293) -> - let uu____7304 = FStar_Syntax_Util.unlazy t11 in + FStar_Syntax_Syntax.rng = uu____7292;_},uu____7293) + -> + let uu____7304 = FStar_Syntax_Util.unlazy t11 in head_matches env uu____7304 t21 - | (uu____7305, FStar_Syntax_Syntax.Tm_lazy + | (uu____7305,FStar_Syntax_Syntax.Tm_lazy { FStar_Syntax_Syntax.blob = uu____7306; FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_embedding uu____7307; FStar_Syntax_Syntax.ltyp = uu____7308; FStar_Syntax_Syntax.rng = uu____7309;_}) -> - let uu____7320 = FStar_Syntax_Util.unlazy t21 in + let uu____7320 = FStar_Syntax_Util.unlazy t21 in head_matches env t11 uu____7320 - | (FStar_Syntax_Syntax.Tm_name x, FStar_Syntax_Syntax.Tm_name y) -> + | (FStar_Syntax_Syntax.Tm_name x,FStar_Syntax_Syntax.Tm_name y) -> if FStar_Syntax_Syntax.bv_eq x y then FullMatch else MisMatch (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) - | (FStar_Syntax_Syntax.Tm_fvar f, FStar_Syntax_Syntax.Tm_fvar g) -> - let uu____7332 = FStar_Syntax_Syntax.fv_eq f g in + | (FStar_Syntax_Syntax.Tm_fvar f,FStar_Syntax_Syntax.Tm_fvar g) -> + let uu____7332 = FStar_Syntax_Syntax.fv_eq f g in if uu____7332 then FullMatch else (let uu____7337 = let uu____7346 = - let uu____7349 = fv_delta_depth env f in - FStar_Pervasives_Native.Some uu____7349 in + let uu____7349 = fv_delta_depth env f in + FStar_Pervasives_Native.Some uu____7349 in let uu____7350 = - let uu____7353 = fv_delta_depth env g in - FStar_Pervasives_Native.Some uu____7353 in - (uu____7346, uu____7350) in + let uu____7353 = fv_delta_depth env g in + FStar_Pervasives_Native.Some uu____7353 in + (uu____7346, uu____7350) in MisMatch uu____7337) - | (FStar_Syntax_Syntax.Tm_uinst (f, uu____7359), - FStar_Syntax_Syntax.Tm_uinst (g, uu____7361)) -> - let uu____7370 = head_matches env f g in + | (FStar_Syntax_Syntax.Tm_uinst + (f,uu____7359),FStar_Syntax_Syntax.Tm_uinst (g,uu____7361)) -> + let uu____7370 = head_matches env f g in FStar_All.pipe_right uu____7370 head_match - | (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify), - FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify)) -> + | (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify + ),FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify )) -> FullMatch - | (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify), - uu____7371) -> HeadMatch true - | (uu____7373, FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reify)) -> HeadMatch true - | (FStar_Syntax_Syntax.Tm_constant c, FStar_Syntax_Syntax.Tm_constant + | (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify + ),uu____7371) -> HeadMatch true + | (uu____7373,FStar_Syntax_Syntax.Tm_constant + (FStar_Const.Const_reify )) -> HeadMatch true + | (FStar_Syntax_Syntax.Tm_constant c,FStar_Syntax_Syntax.Tm_constant d) -> - let uu____7377 = FStar_Const.eq_const c d in + let uu____7377 = FStar_Const.eq_const c d in if uu____7377 then FullMatch else MisMatch (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) - | (FStar_Syntax_Syntax.Tm_uvar (uv, uu____7387), - FStar_Syntax_Syntax.Tm_uvar (uv', uu____7389)) -> + | (FStar_Syntax_Syntax.Tm_uvar + (uv,uu____7387),FStar_Syntax_Syntax.Tm_uvar (uv',uu____7389)) -> let uu____7422 = FStar_Syntax_Unionfind.equiv uv.FStar_Syntax_Syntax.ctx_uvar_head - uv'.FStar_Syntax_Syntax.ctx_uvar_head in + uv'.FStar_Syntax_Syntax.ctx_uvar_head + in if uu____7422 then FullMatch else MisMatch (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None) - | (FStar_Syntax_Syntax.Tm_refine (x, uu____7432), - FStar_Syntax_Syntax.Tm_refine (y, uu____7434)) -> + | (FStar_Syntax_Syntax.Tm_refine + (x,uu____7432),FStar_Syntax_Syntax.Tm_refine (y,uu____7434)) -> let uu____7443 = head_matches env x.FStar_Syntax_Syntax.sort - y.FStar_Syntax_Syntax.sort in + y.FStar_Syntax_Syntax.sort + in FStar_All.pipe_right uu____7443 head_match - | (FStar_Syntax_Syntax.Tm_refine (x, uu____7445), uu____7446) -> - let uu____7451 = head_matches env x.FStar_Syntax_Syntax.sort t21 in + | (FStar_Syntax_Syntax.Tm_refine (x,uu____7445),uu____7446) -> + let uu____7451 = head_matches env x.FStar_Syntax_Syntax.sort t21 + in FStar_All.pipe_right uu____7451 head_match - | (uu____7452, FStar_Syntax_Syntax.Tm_refine (x, uu____7454)) -> - let uu____7459 = head_matches env t11 x.FStar_Syntax_Syntax.sort in + | (uu____7452,FStar_Syntax_Syntax.Tm_refine (x,uu____7454)) -> + let uu____7459 = head_matches env t11 x.FStar_Syntax_Syntax.sort + in FStar_All.pipe_right uu____7459 head_match - | (FStar_Syntax_Syntax.Tm_type uu____7460, - FStar_Syntax_Syntax.Tm_type uu____7461) -> HeadMatch false - | (FStar_Syntax_Syntax.Tm_arrow uu____7463, - FStar_Syntax_Syntax.Tm_arrow uu____7464) -> HeadMatch false - | (FStar_Syntax_Syntax.Tm_app (head1, uu____7495), - FStar_Syntax_Syntax.Tm_app (head', uu____7497)) -> - let uu____7546 = head_matches env head1 head' in + | (FStar_Syntax_Syntax.Tm_type uu____7460,FStar_Syntax_Syntax.Tm_type + uu____7461) -> HeadMatch false + | (FStar_Syntax_Syntax.Tm_arrow + uu____7463,FStar_Syntax_Syntax.Tm_arrow uu____7464) -> + HeadMatch false + | (FStar_Syntax_Syntax.Tm_app + (head1,uu____7495),FStar_Syntax_Syntax.Tm_app (head',uu____7497)) + -> + let uu____7546 = head_matches env head1 head' in FStar_All.pipe_right uu____7546 head_match - | (FStar_Syntax_Syntax.Tm_app (head1, uu____7548), uu____7549) -> - let uu____7574 = head_matches env head1 t21 in + | (FStar_Syntax_Syntax.Tm_app (head1,uu____7548),uu____7549) -> + let uu____7574 = head_matches env head1 t21 in FStar_All.pipe_right uu____7574 head_match - | (uu____7575, FStar_Syntax_Syntax.Tm_app (head1, uu____7577)) -> - let uu____7602 = head_matches env t11 head1 in + | (uu____7575,FStar_Syntax_Syntax.Tm_app (head1,uu____7577)) -> + let uu____7602 = head_matches env t11 head1 in FStar_All.pipe_right uu____7602 head_match - | (FStar_Syntax_Syntax.Tm_let uu____7603, FStar_Syntax_Syntax.Tm_let + | (FStar_Syntax_Syntax.Tm_let uu____7603,FStar_Syntax_Syntax.Tm_let uu____7604) -> HeadMatch true - | (FStar_Syntax_Syntax.Tm_match uu____7632, - FStar_Syntax_Syntax.Tm_match uu____7633) -> HeadMatch true - | (FStar_Syntax_Syntax.Tm_abs uu____7679, FStar_Syntax_Syntax.Tm_abs + | (FStar_Syntax_Syntax.Tm_match + uu____7632,FStar_Syntax_Syntax.Tm_match uu____7633) -> + HeadMatch true + | (FStar_Syntax_Syntax.Tm_abs uu____7679,FStar_Syntax_Syntax.Tm_abs uu____7680) -> HeadMatch true | uu____7718 -> let uu____7723 = - let uu____7732 = delta_depth_of_term env t11 in - let uu____7735 = delta_depth_of_term env t21 in - (uu____7732, uu____7735) in + let uu____7732 = delta_depth_of_term env t11 in + let uu____7735 = delta_depth_of_term env t21 in + (uu____7732, uu____7735) in MisMatch uu____7723 + let (head_matches_delta : FStar_TypeChecker_Env.env -> worklist -> @@ -2300,26 +2508,27 @@ let (head_matches_delta : (match_result * (FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.typ) FStar_Pervasives_Native.option)) = - fun env -> - fun wl -> - fun t1 -> - fun t2 -> + fun env -> + fun wl -> + fun t1 -> + fun t2 -> let maybe_inline t = let head1 = - let uu____7804 = unrefine env t in - FStar_Syntax_Util.head_of uu____7804 in + let uu____7804 = unrefine env t in + FStar_Syntax_Util.head_of uu____7804 in (let uu____7806 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "RelDelta") in + (FStar_Options.Other "RelDelta") + in if uu____7806 then - let uu____7811 = FStar_Syntax_Print.term_to_string t in - let uu____7813 = FStar_Syntax_Print.term_to_string head1 in + let uu____7811 = FStar_Syntax_Print.term_to_string t in + let uu____7813 = FStar_Syntax_Print.term_to_string head1 in FStar_Util.print2 "Head of %s is %s\n" uu____7811 uu____7813 else ()); (let uu____7818 = - let uu____7819 = FStar_Syntax_Util.un_uinst head1 in - uu____7819.FStar_Syntax_Syntax.n in + let uu____7819 = FStar_Syntax_Util.un_uinst head1 in + uu____7819.FStar_Syntax_Syntax.n in match uu____7818 with | FStar_Syntax_Syntax.Tm_fvar fv -> let uu____7825 = @@ -2327,17 +2536,19 @@ let (head_matches_delta : [FStar_TypeChecker_Env.Unfold FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.Eager_unfolding_only] env - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in (match uu____7825 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> ((let uu____7839 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "RelDelta") in + (FStar_Options.Other "RelDelta") + in if uu____7839 then let uu____7844 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in FStar_Util.print1 "No definition found for %s\n" uu____7844 else ()); @@ -2351,63 +2562,69 @@ let (head_matches_delta : FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] in + FStar_TypeChecker_Env.Iota] in let steps = if wl.smt_ok then basic_steps else (FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta) - :: basic_steps in + :: basic_steps + in let t' = - FStar_TypeChecker_Normalize.normalize steps env t in + FStar_TypeChecker_Normalize.normalize steps env t in let uu____7866 = - let uu____7868 = FStar_Syntax_Util.eq_tm t t' in - uu____7868 = FStar_Syntax_Util.Equal in + let uu____7868 = FStar_Syntax_Util.eq_tm t t' in + uu____7868 = FStar_Syntax_Util.Equal in if uu____7866 then FStar_Pervasives_Native.None else ((let uu____7875 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "RelDelta") in + (FStar_Options.Other "RelDelta") + in if uu____7875 then let uu____7880 = - FStar_Syntax_Print.term_to_string t in + FStar_Syntax_Print.term_to_string t in let uu____7882 = - FStar_Syntax_Print.term_to_string t' in + FStar_Syntax_Print.term_to_string t' in FStar_Util.print2 "Inlined %s to %s\n" uu____7880 uu____7882 else ()); FStar_Pervasives_Native.Some t')) - | uu____7887 -> FStar_Pervasives_Native.None) in + | uu____7887 -> FStar_Pervasives_Native.None) + in let success d r t11 t21 = (r, (if d > (Prims.parse_int "0") then FStar_Pervasives_Native.Some (t11, t21) - else FStar_Pervasives_Native.None)) in + else FStar_Pervasives_Native.None)) + in let fail1 d r t11 t21 = (r, (if d > (Prims.parse_int "0") then FStar_Pervasives_Native.Some (t11, t21) - else FStar_Pervasives_Native.None)) in + else FStar_Pervasives_Native.None)) + in let rec aux retry n_delta t11 t21 = - let r = head_matches env t11 t21 in + let r = head_matches env t11 t21 in (let uu____8039 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "RelDelta") in + (FStar_Options.Other "RelDelta") + in if uu____8039 then - let uu____8044 = FStar_Syntax_Print.term_to_string t11 in - let uu____8046 = FStar_Syntax_Print.term_to_string t21 in - let uu____8048 = string_of_match_result r in + let uu____8044 = FStar_Syntax_Print.term_to_string t11 in + let uu____8046 = FStar_Syntax_Print.term_to_string t21 in + let uu____8048 = string_of_match_result r in FStar_Util.print3 "head_matches (%s, %s) = %s\n" uu____8044 uu____8046 uu____8048 else ()); (let reduce_one_and_try_again d1 d2 = let d1_greater_than_d2 = - FStar_TypeChecker_Common.delta_depth_greater_than d1 d2 in + FStar_TypeChecker_Common.delta_depth_greater_than d1 d2 in let uu____8076 = if d1_greater_than_d2 then @@ -2415,39 +2632,47 @@ let (head_matches_delta : normalize_refinement [FStar_TypeChecker_Env.UnfoldUntil d2; FStar_TypeChecker_Env.Weak; - FStar_TypeChecker_Env.HNF] env t11 in + FStar_TypeChecker_Env.HNF] env t11 + in (t1', t21) else (let t2' = normalize_refinement [FStar_TypeChecker_Env.UnfoldUntil d1; FStar_TypeChecker_Env.Weak; - FStar_TypeChecker_Env.HNF] env t21 in - (t11, t2')) in + FStar_TypeChecker_Env.HNF] env t21 + in + (t11, t2')) + in match uu____8076 with - | (t12, t22) -> - aux retry (n_delta + (Prims.parse_int "1")) t12 t22 in + | (t12,t22) -> + aux retry (n_delta + (Prims.parse_int "1")) t12 t22 + in let reduce_both_and_try_again d r1 = - let uu____8124 = FStar_TypeChecker_Common.decr_delta_depth d in + let uu____8124 = FStar_TypeChecker_Common.decr_delta_depth d + in match uu____8124 with - | FStar_Pervasives_Native.None -> fail1 n_delta r1 t11 t21 + | FStar_Pervasives_Native.None -> fail1 n_delta r1 t11 t21 | FStar_Pervasives_Native.Some d1 -> let t12 = normalize_refinement [FStar_TypeChecker_Env.UnfoldUntil d1; FStar_TypeChecker_Env.Weak; - FStar_TypeChecker_Env.HNF] env t11 in + FStar_TypeChecker_Env.HNF] env t11 + in let t22 = normalize_refinement [FStar_TypeChecker_Env.UnfoldUntil d1; FStar_TypeChecker_Env.Weak; - FStar_TypeChecker_Env.HNF] env t21 in - aux retry (n_delta + (Prims.parse_int "1")) t12 t22 in + FStar_TypeChecker_Env.HNF] env t21 + in + aux retry (n_delta + (Prims.parse_int "1")) t12 t22 + in match r with | MisMatch (FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Delta_equational_at_level i), - FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Delta_equational_at_level + i),FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Delta_equational_at_level j)) when ((i > (Prims.parse_int "0")) || (j > (Prims.parse_int "0"))) @@ -2458,129 +2683,136 @@ let (head_matches_delta : (FStar_Syntax_Syntax.Delta_equational_at_level j) | MisMatch (FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Delta_equational_at_level uu____8162), - uu____8163) + (FStar_Syntax_Syntax.Delta_equational_at_level + uu____8162),uu____8163) -> if Prims.op_Negation retry then fail1 n_delta r t11 t21 else (let uu____8184 = - let uu____8193 = maybe_inline t11 in - let uu____8196 = maybe_inline t21 in - (uu____8193, uu____8196) in + let uu____8193 = maybe_inline t11 in + let uu____8196 = maybe_inline t21 in + (uu____8193, uu____8196) in match uu____8184 with - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.None ) -> fail1 n_delta r t11 t21 - | (FStar_Pervasives_Native.Some t12, - FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.Some + t12,FStar_Pervasives_Native.None ) -> aux false (n_delta + (Prims.parse_int "1")) t12 t21 - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.Some t22) -> + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.Some t22) -> aux false (n_delta + (Prims.parse_int "1")) t11 t22 - | (FStar_Pervasives_Native.Some t12, - FStar_Pervasives_Native.Some t22) -> + | (FStar_Pervasives_Native.Some + t12,FStar_Pervasives_Native.Some t22) -> aux false (n_delta + (Prims.parse_int "1")) t12 t22) | MisMatch - (uu____8239, FStar_Pervasives_Native.Some + (uu____8239,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Delta_equational_at_level uu____8240)) -> if Prims.op_Negation retry then fail1 n_delta r t11 t21 else (let uu____8261 = - let uu____8270 = maybe_inline t11 in - let uu____8273 = maybe_inline t21 in - (uu____8270, uu____8273) in + let uu____8270 = maybe_inline t11 in + let uu____8273 = maybe_inline t21 in + (uu____8270, uu____8273) in match uu____8261 with - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.None ) -> fail1 n_delta r t11 t21 - | (FStar_Pervasives_Native.Some t12, - FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.Some + t12,FStar_Pervasives_Native.None ) -> aux false (n_delta + (Prims.parse_int "1")) t12 t21 - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.Some t22) -> + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.Some t22) -> aux false (n_delta + (Prims.parse_int "1")) t11 t22 - | (FStar_Pervasives_Native.Some t12, - FStar_Pervasives_Native.Some t22) -> + | (FStar_Pervasives_Native.Some + t12,FStar_Pervasives_Native.Some t22) -> aux false (n_delta + (Prims.parse_int "1")) t12 t22) | MisMatch - (FStar_Pervasives_Native.Some d1, - FStar_Pervasives_Native.Some d2) + (FStar_Pervasives_Native.Some + d1,FStar_Pervasives_Native.Some d2) when d1 = d2 -> reduce_both_and_try_again d1 r | MisMatch - (FStar_Pervasives_Native.Some d1, - FStar_Pervasives_Native.Some d2) + (FStar_Pervasives_Native.Some + d1,FStar_Pervasives_Native.Some d2) -> reduce_one_and_try_again d1 d2 | MisMatch uu____8328 -> fail1 n_delta r t11 t21 - | uu____8337 -> success n_delta r t11 t21) in - let r = aux true (Prims.parse_int "0") t1 t2 in + | uu____8337 -> success n_delta r t11 t21) + in + let r = aux true (Prims.parse_int "0") t1 t2 in (let uu____8352 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "RelDelta") in + (FStar_Options.Other "RelDelta") + in if uu____8352 then - let uu____8357 = FStar_Syntax_Print.term_to_string t1 in - let uu____8359 = FStar_Syntax_Print.term_to_string t2 in + let uu____8357 = FStar_Syntax_Print.term_to_string t1 in + let uu____8359 = FStar_Syntax_Print.term_to_string t2 in let uu____8361 = - string_of_match_result (FStar_Pervasives_Native.fst r) in + string_of_match_result (FStar_Pervasives_Native.fst r) in let uu____8369 = if FStar_Option.isNone (FStar_Pervasives_Native.snd r) then "None" else (let uu____8386 = FStar_All.pipe_right (FStar_Pervasives_Native.snd r) - FStar_Util.must in + FStar_Util.must + in FStar_All.pipe_right uu____8386 - (fun uu____8421 -> + (fun uu____8421 -> match uu____8421 with - | (t11, t21) -> + | (t11,t21) -> let uu____8429 = - FStar_Syntax_Print.term_to_string t11 in + FStar_Syntax_Print.term_to_string t11 in let uu____8431 = let uu____8433 = - FStar_Syntax_Print.term_to_string t21 in - Prims.op_Hat "; " uu____8433 in - Prims.op_Hat uu____8429 uu____8431)) in + FStar_Syntax_Print.term_to_string t21 in + Prims.op_Hat "; " uu____8433 in + Prims.op_Hat uu____8429 uu____8431)) + in FStar_Util.print4 "head_matches_delta (%s, %s) = %s (%s)\n" uu____8357 uu____8359 uu____8361 uu____8369 else ()); r + let (kind_type : FStar_Syntax_Syntax.binders -> FStar_Range.range -> FStar_Syntax_Syntax.typ) = - fun binders -> - fun r -> - let uu____8450 = FStar_Syntax_Util.type_u () in + fun binders -> + fun r -> + let uu____8450 = FStar_Syntax_Util.type_u () in FStar_All.pipe_right uu____8450 FStar_Pervasives_Native.fst + let (rank_t_num : FStar_TypeChecker_Common.rank_t -> Prims.int) = - fun uu___24_8465 -> + fun uu___24_8465 -> match uu___24_8465 with - | FStar_TypeChecker_Common.Rigid_rigid -> (Prims.parse_int "0") - | FStar_TypeChecker_Common.Flex_rigid_eq -> (Prims.parse_int "1") - | FStar_TypeChecker_Common.Flex_flex_pattern_eq -> (Prims.parse_int "2") - | FStar_TypeChecker_Common.Flex_rigid -> (Prims.parse_int "3") - | FStar_TypeChecker_Common.Rigid_flex -> (Prims.parse_int "4") - | FStar_TypeChecker_Common.Flex_flex -> (Prims.parse_int "5") + | FStar_TypeChecker_Common.Rigid_rigid -> (Prims.parse_int "0") + | FStar_TypeChecker_Common.Flex_rigid_eq -> (Prims.parse_int "1") + | FStar_TypeChecker_Common.Flex_flex_pattern_eq -> (Prims.parse_int "2") + | FStar_TypeChecker_Common.Flex_rigid -> (Prims.parse_int "3") + | FStar_TypeChecker_Common.Rigid_flex -> (Prims.parse_int "4") + | FStar_TypeChecker_Common.Flex_flex -> (Prims.parse_int "5") + let (rank_leq : FStar_TypeChecker_Common.rank_t -> FStar_TypeChecker_Common.rank_t -> Prims.bool) - = fun r1 -> fun r2 -> (rank_t_num r1) <= (rank_t_num r2) + = fun r1 -> fun r2 -> (rank_t_num r1) <= (rank_t_num r2) let (rank_less_than : FStar_TypeChecker_Common.rank_t -> FStar_TypeChecker_Common.rank_t -> Prims.bool) - = fun r1 -> fun r2 -> (r1 <> r2) && ((rank_t_num r1) <= (rank_t_num r2)) + = fun r1 -> fun r2 -> (r1 <> r2) && ((rank_t_num r1) <= (rank_t_num r2)) let (compress_tprob : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term FStar_TypeChecker_Common.problem -> FStar_Syntax_Syntax.term FStar_TypeChecker_Common.problem) = - fun tcenv -> - fun p -> - let uu___1204_8514 = p in - let uu____8517 = whnf tcenv p.FStar_TypeChecker_Common.lhs in - let uu____8518 = whnf tcenv p.FStar_TypeChecker_Common.rhs in + fun tcenv -> + fun p -> + let uu___1204_8514 = p in + let uu____8517 = whnf tcenv p.FStar_TypeChecker_Common.lhs in + let uu____8518 = whnf tcenv p.FStar_TypeChecker_Common.rhs in { FStar_TypeChecker_Common.pid = (uu___1204_8514.FStar_TypeChecker_Common.pid); @@ -2601,47 +2833,52 @@ let (compress_tprob : FStar_TypeChecker_Common.rank = (uu___1204_8514.FStar_TypeChecker_Common.rank) } + let (compress_prob : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Common.prob -> FStar_TypeChecker_Common.prob) = - fun tcenv -> - fun p -> + fun tcenv -> + fun p -> match p with | FStar_TypeChecker_Common.TProb p1 -> - let uu____8533 = compress_tprob tcenv p1 in + let uu____8533 = compress_tprob tcenv p1 in FStar_All.pipe_right uu____8533 - (fun _8538 -> FStar_TypeChecker_Common.TProb _8538) + (fun _8538 -> FStar_TypeChecker_Common.TProb _8538) | FStar_TypeChecker_Common.CProb uu____8539 -> p + let (rank : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Common.prob -> (FStar_TypeChecker_Common.rank_t * FStar_TypeChecker_Common.prob)) = - fun tcenv -> - fun pr -> + fun tcenv -> + fun pr -> let prob = - let uu____8562 = compress_prob tcenv pr in - FStar_All.pipe_right uu____8562 maybe_invert_p in + let uu____8562 = compress_prob tcenv pr in + FStar_All.pipe_right uu____8562 maybe_invert_p in match prob with | FStar_TypeChecker_Common.TProb tp -> let uu____8570 = - FStar_Syntax_Util.head_and_args tp.FStar_TypeChecker_Common.lhs in + FStar_Syntax_Util.head_and_args tp.FStar_TypeChecker_Common.lhs + in (match uu____8570 with - | (lh, lhs_args) -> + | (lh,lhs_args) -> let uu____8617 = FStar_Syntax_Util.head_and_args - tp.FStar_TypeChecker_Common.rhs in + tp.FStar_TypeChecker_Common.rhs + in (match uu____8617 with - | (rh, rhs_args) -> + | (rh,rhs_args) -> let uu____8664 = match ((lh.FStar_Syntax_Syntax.n), (rh.FStar_Syntax_Syntax.n)) with - | (FStar_Syntax_Syntax.Tm_uvar uu____8677, - FStar_Syntax_Syntax.Tm_uvar uu____8678) -> + | (FStar_Syntax_Syntax.Tm_uvar + uu____8677,FStar_Syntax_Syntax.Tm_uvar uu____8678) + -> (match (lhs_args, rhs_args) with - | ([], []) when + | ([],[]) when tp.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ -> @@ -2649,20 +2886,21 @@ let (rank : tp) | uu____8767 -> (FStar_TypeChecker_Common.Flex_flex, tp)) - | (FStar_Syntax_Syntax.Tm_uvar uu____8794, uu____8795) + | (FStar_Syntax_Syntax.Tm_uvar uu____8794,uu____8795) when tp.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ -> (FStar_TypeChecker_Common.Flex_rigid_eq, tp) - | (uu____8810, FStar_Syntax_Syntax.Tm_uvar uu____8811) + | (uu____8810,FStar_Syntax_Syntax.Tm_uvar uu____8811) when tp.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ -> (FStar_TypeChecker_Common.Flex_rigid_eq, tp) - | (FStar_Syntax_Syntax.Tm_uvar uu____8826, - FStar_Syntax_Syntax.Tm_arrow uu____8827) -> + | (FStar_Syntax_Syntax.Tm_uvar + uu____8826,FStar_Syntax_Syntax.Tm_arrow uu____8827) + -> (FStar_TypeChecker_Common.Flex_rigid_eq, - (let uu___1255_8857 = tp in + (let uu___1255_8857 = tp in { FStar_TypeChecker_Common.pid = (uu___1255_8857.FStar_TypeChecker_Common.pid); @@ -2685,10 +2923,11 @@ let (rank : FStar_TypeChecker_Common.rank = (uu___1255_8857.FStar_TypeChecker_Common.rank) })) - | (FStar_Syntax_Syntax.Tm_uvar uu____8860, - FStar_Syntax_Syntax.Tm_type uu____8861) -> + | (FStar_Syntax_Syntax.Tm_uvar + uu____8860,FStar_Syntax_Syntax.Tm_type uu____8861) + -> (FStar_TypeChecker_Common.Flex_rigid_eq, - (let uu___1255_8877 = tp in + (let uu___1255_8877 = tp in { FStar_TypeChecker_Common.pid = (uu___1255_8877.FStar_TypeChecker_Common.pid); @@ -2711,10 +2950,11 @@ let (rank : FStar_TypeChecker_Common.rank = (uu___1255_8877.FStar_TypeChecker_Common.rank) })) - | (FStar_Syntax_Syntax.Tm_type uu____8880, - FStar_Syntax_Syntax.Tm_uvar uu____8881) -> + | (FStar_Syntax_Syntax.Tm_type + uu____8880,FStar_Syntax_Syntax.Tm_uvar uu____8881) + -> (FStar_TypeChecker_Common.Flex_rigid_eq, - (let uu___1255_8897 = tp in + (let uu___1255_8897 = tp in { FStar_TypeChecker_Common.pid = (uu___1255_8897.FStar_TypeChecker_Common.pid); @@ -2737,19 +2977,20 @@ let (rank : FStar_TypeChecker_Common.rank = (uu___1255_8897.FStar_TypeChecker_Common.rank) })) - | (uu____8900, FStar_Syntax_Syntax.Tm_uvar uu____8901) + | (uu____8900,FStar_Syntax_Syntax.Tm_uvar uu____8901) -> (FStar_TypeChecker_Common.Rigid_flex, tp) - | (FStar_Syntax_Syntax.Tm_uvar uu____8916, uu____8917) + | (FStar_Syntax_Syntax.Tm_uvar uu____8916,uu____8917) -> (FStar_TypeChecker_Common.Flex_rigid, tp) - | (uu____8932, FStar_Syntax_Syntax.Tm_uvar uu____8933) + | (uu____8932,FStar_Syntax_Syntax.Tm_uvar uu____8933) -> (FStar_TypeChecker_Common.Rigid_flex, tp) - | (uu____8948, uu____8949) -> - (FStar_TypeChecker_Common.Rigid_rigid, tp) in + | (uu____8948,uu____8949) -> + (FStar_TypeChecker_Common.Rigid_rigid, tp) + in (match uu____8664 with - | (rank, tp1) -> + | (rank,tp1) -> let uu____8962 = FStar_All.pipe_right - (let uu___1275_8966 = tp1 in + (let uu___1275_8966 = tp1 in { FStar_TypeChecker_Common.pid = (uu___1275_8966.FStar_TypeChecker_Common.pid); @@ -2772,13 +3013,14 @@ let (rank : FStar_TypeChecker_Common.rank = (FStar_Pervasives_Native.Some rank) }) - (fun _8969 -> - FStar_TypeChecker_Common.TProb _8969) in + (fun _8969 -> + FStar_TypeChecker_Common.TProb _8969) + in (rank, uu____8962)))) | FStar_TypeChecker_Common.CProb cp -> let uu____8973 = FStar_All.pipe_right - (let uu___1279_8977 = cp in + (let uu___1279_8977 = cp in { FStar_TypeChecker_Common.pid = (uu___1279_8977.FStar_TypeChecker_Common.pid); @@ -2801,32 +3043,34 @@ let (rank : FStar_TypeChecker_Common.rank = (FStar_Pervasives_Native.Some FStar_TypeChecker_Common.Rigid_rigid) - }) (fun _8980 -> FStar_TypeChecker_Common.CProb _8980) in + }) (fun _8980 -> FStar_TypeChecker_Common.CProb _8980) + in (FStar_TypeChecker_Common.Rigid_rigid, uu____8973) + let (next_prob : worklist -> (FStar_TypeChecker_Common.prob * FStar_TypeChecker_Common.prob Prims.list * FStar_TypeChecker_Common.rank_t) FStar_Pervasives_Native.option) = - fun wl -> + fun wl -> let rec aux uu____9040 probs = match uu____9040 with - | (min_rank, min1, out) -> + | (min_rank,min1,out) -> (match probs with | [] -> (match (min1, min_rank) with - | (FStar_Pervasives_Native.Some p, - FStar_Pervasives_Native.Some r) -> + | (FStar_Pervasives_Native.Some + p,FStar_Pervasives_Native.Some r) -> FStar_Pervasives_Native.Some (p, out, r) | uu____9121 -> FStar_Pervasives_Native.None) | hd1::tl1 -> - let uu____9142 = rank wl.tcenv hd1 in + let uu____9142 = rank wl.tcenv hd1 in (match uu____9142 with - | (rank1, hd2) -> + | (rank1,hd2) -> if rank_leq rank1 FStar_TypeChecker_Common.Flex_rigid_eq then (match min1 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some (hd2, (FStar_List.append out tl1), rank1) | FStar_Pervasives_Native.Some m -> @@ -2835,12 +3079,13 @@ let (next_prob : else (let uu____9203 = (min_rank = FStar_Pervasives_Native.None) || - (let uu____9208 = FStar_Option.get min_rank in - rank_less_than rank1 uu____9208) in + (let uu____9208 = FStar_Option.get min_rank in + rank_less_than rank1 uu____9208) + in if uu____9203 then match min1 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> aux ((FStar_Pervasives_Native.Some rank1), (FStar_Pervasives_Native.Some hd2), out) tl1 @@ -2849,54 +3094,57 @@ let (next_prob : ((FStar_Pervasives_Native.Some rank1), (FStar_Pervasives_Native.Some hd2), (m :: out)) tl1 - else aux (min_rank, min1, (hd2 :: out)) tl1))) in + else aux (min_rank, min1, (hd2 :: out)) tl1))) + in aux (FStar_Pervasives_Native.None, FStar_Pervasives_Native.None, []) wl.attempting + let (flex_prob_closing : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.binders -> FStar_TypeChecker_Common.prob -> Prims.bool) = - fun tcenv -> - fun bs -> - fun p -> + fun tcenv -> + fun bs -> + fun p -> let flex_will_be_closed t = - let uu____9281 = FStar_Syntax_Util.head_and_args t in + let uu____9281 = FStar_Syntax_Util.head_and_args t in match uu____9281 with - | (hd1, uu____9300) -> + | (hd1,uu____9300) -> let uu____9325 = - let uu____9326 = FStar_Syntax_Subst.compress hd1 in - uu____9326.FStar_Syntax_Syntax.n in + let uu____9326 = FStar_Syntax_Subst.compress hd1 in + uu____9326.FStar_Syntax_Syntax.n in (match uu____9325 with - | FStar_Syntax_Syntax.Tm_uvar (u, uu____9331) -> + | FStar_Syntax_Syntax.Tm_uvar (u,uu____9331) -> FStar_All.pipe_right u.FStar_Syntax_Syntax.ctx_uvar_binders (FStar_Util.for_some - (fun uu____9366 -> + (fun uu____9366 -> match uu____9366 with - | (y, uu____9375) -> + | (y,uu____9375) -> FStar_All.pipe_right bs (FStar_Util.for_some - (fun uu____9398 -> + (fun uu____9398 -> match uu____9398 with - | (x, uu____9407) -> + | (x,uu____9407) -> FStar_Syntax_Syntax.bv_eq x y)))) - | uu____9412 -> false) in - let uu____9414 = rank tcenv p in + | uu____9412 -> false) + in + let uu____9414 = rank tcenv p in match uu____9414 with - | (r, p1) -> + | (r,p1) -> (match p1 with | FStar_TypeChecker_Common.CProb uu____9423 -> true | FStar_TypeChecker_Common.TProb p2 -> (match r with - | FStar_TypeChecker_Common.Rigid_rigid -> true - | FStar_TypeChecker_Common.Flex_rigid_eq -> true - | FStar_TypeChecker_Common.Flex_flex_pattern_eq -> true - | FStar_TypeChecker_Common.Flex_rigid -> + | FStar_TypeChecker_Common.Rigid_rigid -> true + | FStar_TypeChecker_Common.Flex_rigid_eq -> true + | FStar_TypeChecker_Common.Flex_flex_pattern_eq -> true + | FStar_TypeChecker_Common.Flex_rigid -> flex_will_be_closed p2.FStar_TypeChecker_Common.lhs - | FStar_TypeChecker_Common.Rigid_flex -> + | FStar_TypeChecker_Common.Rigid_flex -> flex_will_be_closed p2.FStar_TypeChecker_Common.rhs - | FStar_TypeChecker_Common.Flex_flex -> + | FStar_TypeChecker_Common.Flex_flex -> (p2.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ) && @@ -2904,299 +3152,333 @@ let (flex_prob_closing : || (flex_will_be_closed p2.FStar_TypeChecker_Common.rhs)))) + type univ_eq_sol = | UDeferred of worklist | USolved of worklist | UFailed of Prims.string let (uu___is_UDeferred : univ_eq_sol -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UDeferred _0 -> true | uu____9460 -> false + let (__proj__UDeferred__item___0 : univ_eq_sol -> worklist) = - fun projectee -> match projectee with | UDeferred _0 -> _0 + fun projectee -> match projectee with | UDeferred _0 -> _0 let (uu___is_USolved : univ_eq_sol -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | USolved _0 -> true | uu____9479 -> false + let (__proj__USolved__item___0 : univ_eq_sol -> worklist) = - fun projectee -> match projectee with | USolved _0 -> _0 + fun projectee -> match projectee with | USolved _0 -> _0 let (uu___is_UFailed : univ_eq_sol -> Prims.bool) = - fun projectee -> + fun projectee -> match projectee with | UFailed _0 -> true | uu____9499 -> false + let (__proj__UFailed__item___0 : univ_eq_sol -> Prims.string) = - fun projectee -> match projectee with | UFailed _0 -> _0 + fun projectee -> match projectee with | UFailed _0 -> _0 let rec (really_solve_universe_eq : Prims.int -> worklist -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe -> univ_eq_sol) = - fun pid_orig -> - fun wl -> - fun u1 -> - fun u2 -> + fun pid_orig -> + fun wl -> + fun u1 -> + fun u2 -> let u11 = - FStar_TypeChecker_Normalize.normalize_universe wl.tcenv u1 in + FStar_TypeChecker_Normalize.normalize_universe wl.tcenv u1 in let u21 = - FStar_TypeChecker_Normalize.normalize_universe wl.tcenv u2 in + FStar_TypeChecker_Normalize.normalize_universe wl.tcenv u2 in let rec occurs_univ v1 u = match u with | FStar_Syntax_Syntax.U_max us -> FStar_All.pipe_right us (FStar_Util.for_some - (fun u3 -> - let uu____9561 = FStar_Syntax_Util.univ_kernel u3 in + (fun u3 -> + let uu____9561 = FStar_Syntax_Util.univ_kernel u3 in match uu____9561 with - | (k, uu____9569) -> + | (k,uu____9569) -> (match k with | FStar_Syntax_Syntax.U_unif v2 -> FStar_Syntax_Unionfind.univ_equiv v1 v2 | uu____9582 -> false))) - | uu____9584 -> occurs_univ v1 (FStar_Syntax_Syntax.U_max [u]) in + | uu____9584 -> occurs_univ v1 (FStar_Syntax_Syntax.U_max [u]) + in let rec filter_out_common_univs u12 u22 = let common_elts = FStar_All.pipe_right u12 (FStar_List.fold_left - (fun uvs -> - fun uv1 -> + (fun uvs -> + fun uv1 -> let uu____9636 = FStar_All.pipe_right u22 (FStar_List.existsML - (fun uv2 -> + (fun uv2 -> let uu____9644 = - FStar_Syntax_Util.compare_univs uv1 uv2 in - uu____9644 = (Prims.parse_int "0"))) in - if uu____9636 then uv1 :: uvs else uvs) []) in + FStar_Syntax_Util.compare_univs uv1 uv2 + in + uu____9644 = (Prims.parse_int "0"))) + in + if uu____9636 then uv1 :: uvs else uvs) []) + in let filter1 = FStar_List.filter - (fun u -> + (fun u -> let uu____9665 = FStar_All.pipe_right common_elts (FStar_List.existsML - (fun u' -> + (fun u' -> let uu____9673 = - FStar_Syntax_Util.compare_univs u u' in - uu____9673 = (Prims.parse_int "0"))) in - Prims.op_Negation uu____9665) in - let uu____9677 = filter1 u12 in - let uu____9680 = filter1 u22 in (uu____9677, uu____9680) in + FStar_Syntax_Util.compare_univs u u' in + uu____9673 = (Prims.parse_int "0"))) + in + Prims.op_Negation uu____9665) + in + let uu____9677 = filter1 u12 in + let uu____9680 = filter1 u22 in (uu____9677, uu____9680) in let try_umax_components u12 u22 msg = if Prims.op_Negation wl.umax_heuristic_ok then UFailed "Unable to unify universe terms with umax" else (match (u12, u22) with - | (FStar_Syntax_Syntax.U_max us1, FStar_Syntax_Syntax.U_max + | (FStar_Syntax_Syntax.U_max us1,FStar_Syntax_Syntax.U_max us2) -> - let uu____9715 = filter_out_common_univs us1 us2 in + let uu____9715 = filter_out_common_univs us1 us2 in (match uu____9715 with - | (us11, us21) -> + | (us11,us21) -> if (FStar_List.length us11) = (FStar_List.length us21) then let rec aux wl1 us12 us22 = match (us12, us22) with - | (u13::us13, u23::us23) -> + | (u13::us13,u23::us23) -> let uu____9775 = really_solve_universe_eq pid_orig wl1 u13 - u23 in + u23 + in (match uu____9775 with | USolved wl2 -> aux wl2 us13 us23 | failed -> failed) - | uu____9778 -> USolved wl1 in + | uu____9778 -> USolved wl1 in aux wl us11 us21 else (let uu____9789 = let uu____9791 = - FStar_Syntax_Print.univ_to_string u12 in + FStar_Syntax_Print.univ_to_string u12 in let uu____9793 = - FStar_Syntax_Print.univ_to_string u22 in + FStar_Syntax_Print.univ_to_string u22 in FStar_Util.format2 "Unable to unify universes: %s and %s" - uu____9791 uu____9793 in + uu____9791 uu____9793 + in UFailed uu____9789)) - | (FStar_Syntax_Syntax.U_max us, u') -> + | (FStar_Syntax_Syntax.U_max us,u') -> let rec aux wl1 us1 = match us1 with | [] -> USolved wl1 | u::us2 -> let uu____9819 = - really_solve_universe_eq pid_orig wl1 u u' in + really_solve_universe_eq pid_orig wl1 u u' in (match uu____9819 with | USolved wl2 -> aux wl2 us2 - | failed -> failed) in + | failed -> failed) + in aux wl us - | (u', FStar_Syntax_Syntax.U_max us) -> + | (u',FStar_Syntax_Syntax.U_max us) -> let rec aux wl1 us1 = match us1 with | [] -> USolved wl1 | u::us2 -> let uu____9845 = - really_solve_universe_eq pid_orig wl1 u u' in + really_solve_universe_eq pid_orig wl1 u u' in (match uu____9845 with | USolved wl2 -> aux wl2 us2 - | failed -> failed) in + | failed -> failed) + in aux wl us | uu____9848 -> let uu____9853 = - let uu____9855 = FStar_Syntax_Print.univ_to_string u12 in - let uu____9857 = FStar_Syntax_Print.univ_to_string u22 in + let uu____9855 = FStar_Syntax_Print.univ_to_string u12 + in + let uu____9857 = FStar_Syntax_Print.univ_to_string u22 + in FStar_Util.format3 "Unable to unify universes: %s and %s (%s)" uu____9855 - uu____9857 msg in - UFailed uu____9853) in + uu____9857 msg + in + UFailed uu____9853) + in match (u11, u21) with - | (FStar_Syntax_Syntax.U_bvar uu____9860, uu____9861) -> + | (FStar_Syntax_Syntax.U_bvar uu____9860,uu____9861) -> let uu____9863 = - let uu____9865 = FStar_Syntax_Print.univ_to_string u11 in - let uu____9867 = FStar_Syntax_Print.univ_to_string u21 in + let uu____9865 = FStar_Syntax_Print.univ_to_string u11 in + let uu____9867 = FStar_Syntax_Print.univ_to_string u21 in FStar_Util.format2 "Impossible: found an de Bruijn universe variable or unknown universe: %s, %s" - uu____9865 uu____9867 in + uu____9865 uu____9867 + in failwith uu____9863 - | (FStar_Syntax_Syntax.U_unknown, uu____9870) -> + | (FStar_Syntax_Syntax.U_unknown ,uu____9870) -> let uu____9871 = - let uu____9873 = FStar_Syntax_Print.univ_to_string u11 in - let uu____9875 = FStar_Syntax_Print.univ_to_string u21 in + let uu____9873 = FStar_Syntax_Print.univ_to_string u11 in + let uu____9875 = FStar_Syntax_Print.univ_to_string u21 in FStar_Util.format2 "Impossible: found an de Bruijn universe variable or unknown universe: %s, %s" - uu____9873 uu____9875 in + uu____9873 uu____9875 + in failwith uu____9871 - | (uu____9878, FStar_Syntax_Syntax.U_bvar uu____9879) -> + | (uu____9878,FStar_Syntax_Syntax.U_bvar uu____9879) -> let uu____9881 = - let uu____9883 = FStar_Syntax_Print.univ_to_string u11 in - let uu____9885 = FStar_Syntax_Print.univ_to_string u21 in + let uu____9883 = FStar_Syntax_Print.univ_to_string u11 in + let uu____9885 = FStar_Syntax_Print.univ_to_string u21 in FStar_Util.format2 "Impossible: found an de Bruijn universe variable or unknown universe: %s, %s" - uu____9883 uu____9885 in + uu____9883 uu____9885 + in failwith uu____9881 - | (uu____9888, FStar_Syntax_Syntax.U_unknown) -> + | (uu____9888,FStar_Syntax_Syntax.U_unknown ) -> let uu____9889 = - let uu____9891 = FStar_Syntax_Print.univ_to_string u11 in - let uu____9893 = FStar_Syntax_Print.univ_to_string u21 in + let uu____9891 = FStar_Syntax_Print.univ_to_string u11 in + let uu____9893 = FStar_Syntax_Print.univ_to_string u21 in FStar_Util.format2 "Impossible: found an de Bruijn universe variable or unknown universe: %s, %s" - uu____9891 uu____9893 in + uu____9891 uu____9893 + in failwith uu____9889 - | (FStar_Syntax_Syntax.U_name x, FStar_Syntax_Syntax.U_name y) -> + | (FStar_Syntax_Syntax.U_name x,FStar_Syntax_Syntax.U_name y) -> if x.FStar_Ident.idText = y.FStar_Ident.idText then USolved wl else UFailed "Incompatible universes" - | (FStar_Syntax_Syntax.U_zero, FStar_Syntax_Syntax.U_zero) -> + | (FStar_Syntax_Syntax.U_zero ,FStar_Syntax_Syntax.U_zero ) -> USolved wl - | (FStar_Syntax_Syntax.U_succ u12, FStar_Syntax_Syntax.U_succ u22) + | (FStar_Syntax_Syntax.U_succ u12,FStar_Syntax_Syntax.U_succ u22) -> really_solve_universe_eq pid_orig wl u12 u22 - | (FStar_Syntax_Syntax.U_unif v1, FStar_Syntax_Syntax.U_unif v2) -> - let uu____9923 = FStar_Syntax_Unionfind.univ_equiv v1 v2 in + | (FStar_Syntax_Syntax.U_unif v1,FStar_Syntax_Syntax.U_unif v2) -> + let uu____9923 = FStar_Syntax_Unionfind.univ_equiv v1 v2 in if uu____9923 then USolved wl else - (let wl1 = extend_solution pid_orig [UNIV (v1, u21)] wl in + (let wl1 = extend_solution pid_orig [UNIV (v1, u21)] wl in USolved wl1) - | (FStar_Syntax_Syntax.U_unif v1, u) -> - let u3 = norm_univ wl u in - let uu____9940 = occurs_univ v1 u3 in + | (FStar_Syntax_Syntax.U_unif v1,u) -> + let u3 = norm_univ wl u in + let uu____9940 = occurs_univ v1 u3 in if uu____9940 then let uu____9943 = let uu____9945 = FStar_Syntax_Print.univ_to_string - (FStar_Syntax_Syntax.U_unif v1) in - let uu____9947 = FStar_Syntax_Print.univ_to_string u3 in + (FStar_Syntax_Syntax.U_unif v1) + in + let uu____9947 = FStar_Syntax_Print.univ_to_string u3 in FStar_Util.format2 "Failed occurs check: %s occurs in %s" - uu____9945 uu____9947 in + uu____9945 uu____9947 + in try_umax_components u11 u21 uu____9943 else - (let uu____9952 = extend_solution pid_orig [UNIV (v1, u3)] wl in + (let uu____9952 = extend_solution pid_orig [UNIV (v1, u3)] wl + in USolved uu____9952) - | (u, FStar_Syntax_Syntax.U_unif v1) -> - let u3 = norm_univ wl u in - let uu____9964 = occurs_univ v1 u3 in + | (u,FStar_Syntax_Syntax.U_unif v1) -> + let u3 = norm_univ wl u in + let uu____9964 = occurs_univ v1 u3 in if uu____9964 then let uu____9967 = let uu____9969 = FStar_Syntax_Print.univ_to_string - (FStar_Syntax_Syntax.U_unif v1) in - let uu____9971 = FStar_Syntax_Print.univ_to_string u3 in + (FStar_Syntax_Syntax.U_unif v1) + in + let uu____9971 = FStar_Syntax_Print.univ_to_string u3 in FStar_Util.format2 "Failed occurs check: %s occurs in %s" - uu____9969 uu____9971 in + uu____9969 uu____9971 + in try_umax_components u11 u21 uu____9967 else - (let uu____9976 = extend_solution pid_orig [UNIV (v1, u3)] wl in + (let uu____9976 = extend_solution pid_orig [UNIV (v1, u3)] wl + in USolved uu____9976) - | (FStar_Syntax_Syntax.U_max uu____9977, uu____9978) -> + | (FStar_Syntax_Syntax.U_max uu____9977,uu____9978) -> if wl.defer_ok then UDeferred wl else - (let u12 = norm_univ wl u11 in - let u22 = norm_univ wl u21 in - let uu____9986 = FStar_Syntax_Util.eq_univs u12 u22 in + (let u12 = norm_univ wl u11 in + let u22 = norm_univ wl u21 in + let uu____9986 = FStar_Syntax_Util.eq_univs u12 u22 in if uu____9986 then USolved wl else try_umax_components u12 u22 "") - | (uu____9992, FStar_Syntax_Syntax.U_max uu____9993) -> + | (uu____9992,FStar_Syntax_Syntax.U_max uu____9993) -> if wl.defer_ok then UDeferred wl else - (let u12 = norm_univ wl u11 in - let u22 = norm_univ wl u21 in - let uu____10001 = FStar_Syntax_Util.eq_univs u12 u22 in + (let u12 = norm_univ wl u11 in + let u22 = norm_univ wl u21 in + let uu____10001 = FStar_Syntax_Util.eq_univs u12 u22 in if uu____10001 then USolved wl else try_umax_components u12 u22 "") - | (FStar_Syntax_Syntax.U_succ uu____10007, - FStar_Syntax_Syntax.U_zero) -> UFailed "Incompatible universes" - | (FStar_Syntax_Syntax.U_succ uu____10009, - FStar_Syntax_Syntax.U_name uu____10010) -> + | (FStar_Syntax_Syntax.U_succ + uu____10007,FStar_Syntax_Syntax.U_zero ) -> UFailed "Incompatible universes" - | (FStar_Syntax_Syntax.U_zero, FStar_Syntax_Syntax.U_succ + | (FStar_Syntax_Syntax.U_succ + uu____10009,FStar_Syntax_Syntax.U_name uu____10010) -> + UFailed "Incompatible universes" + | (FStar_Syntax_Syntax.U_zero ,FStar_Syntax_Syntax.U_succ uu____10012) -> UFailed "Incompatible universes" - | (FStar_Syntax_Syntax.U_zero, FStar_Syntax_Syntax.U_name + | (FStar_Syntax_Syntax.U_zero ,FStar_Syntax_Syntax.U_name uu____10014) -> UFailed "Incompatible universes" - | (FStar_Syntax_Syntax.U_name uu____10016, - FStar_Syntax_Syntax.U_succ uu____10017) -> + | (FStar_Syntax_Syntax.U_name + uu____10016,FStar_Syntax_Syntax.U_succ uu____10017) -> + UFailed "Incompatible universes" + | (FStar_Syntax_Syntax.U_name + uu____10019,FStar_Syntax_Syntax.U_zero ) -> UFailed "Incompatible universes" - | (FStar_Syntax_Syntax.U_name uu____10019, - FStar_Syntax_Syntax.U_zero) -> UFailed "Incompatible universes" + let (solve_universe_eq : Prims.int -> worklist -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe -> univ_eq_sol) = - fun orig -> - fun wl -> - fun u1 -> - fun u2 -> + fun orig -> + fun wl -> + fun u1 -> + fun u2 -> if (wl.tcenv).FStar_TypeChecker_Env.lax_universes then USolved wl else really_solve_universe_eq orig wl u1 u2 + let match_num_binders : 'a 'b . ('a Prims.list * ('a Prims.list -> 'b)) -> ('a Prims.list * ('a Prims.list -> 'b)) -> (('a Prims.list * 'b) * ('a Prims.list * 'b)) = - fun bc1 -> - fun bc2 -> - let uu____10126 = bc1 in + fun bc1 -> + fun bc2 -> + let uu____10126 = bc1 in match uu____10126 with - | (bs1, mk_cod1) -> - let uu____10170 = bc2 in + | (bs1,mk_cod1) -> + let uu____10170 = bc2 in (match uu____10170 with - | (bs2, mk_cod2) -> + | (bs2,mk_cod2) -> let rec aux bs11 bs21 = match (bs11, bs21) with - | (x::xs, y::ys) -> - let uu____10281 = aux xs ys in + | (x::xs,y::ys) -> + let uu____10281 = aux xs ys in (match uu____10281 with - | ((xs1, xr), (ys1, yr)) -> + | ((xs1,xr),(ys1,yr)) -> (((x :: xs1), xr), ((y :: ys1), yr))) - | (xs, ys) -> + | (xs,ys) -> let uu____10364 = - let uu____10371 = mk_cod1 xs in ([], uu____10371) in + let uu____10371 = mk_cod1 xs in ([], uu____10371) in let uu____10374 = - let uu____10381 = mk_cod2 ys in ([], uu____10381) in - (uu____10364, uu____10374) in + let uu____10381 = mk_cod2 ys in ([], uu____10381) in + (uu____10364, uu____10374) + in aux bs1 bs2) + let (guard_of_prob : FStar_TypeChecker_Env.env -> worklist -> @@ -3204,97 +3486,103 @@ let (guard_of_prob : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * worklist)) = - fun env -> - fun wl -> - fun problem -> - fun t1 -> - fun t2 -> + fun env -> + fun wl -> + fun problem -> + fun t1 -> + fun t2 -> let has_type_guard t11 t21 = match problem.FStar_TypeChecker_Common.element with | FStar_Pervasives_Native.Some t -> - let uu____10450 = FStar_Syntax_Syntax.bv_to_name t in + let uu____10450 = FStar_Syntax_Syntax.bv_to_name t in FStar_Syntax_Util.mk_has_type t11 uu____10450 t21 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let x = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - t11 in - let u_x = env.FStar_TypeChecker_Env.universe_of env t11 in + t11 + in + let u_x = env.FStar_TypeChecker_Env.universe_of env t11 in let uu____10453 = - let uu____10454 = FStar_Syntax_Syntax.bv_to_name x in - FStar_Syntax_Util.mk_has_type t11 uu____10454 t21 in - FStar_Syntax_Util.mk_forall u_x x uu____10453 in + let uu____10454 = FStar_Syntax_Syntax.bv_to_name x in + FStar_Syntax_Util.mk_has_type t11 uu____10454 t21 in + FStar_Syntax_Util.mk_forall u_x x uu____10453 + in match problem.FStar_TypeChecker_Common.relation with - | FStar_TypeChecker_Common.EQ -> + | FStar_TypeChecker_Common.EQ -> mk_eq2 wl env (FStar_TypeChecker_Common.TProb problem) t1 t2 - | FStar_TypeChecker_Common.SUB -> - let uu____10459 = has_type_guard t1 t2 in (uu____10459, wl) - | FStar_TypeChecker_Common.SUBINV -> - let uu____10460 = has_type_guard t2 t1 in (uu____10460, wl) + | FStar_TypeChecker_Common.SUB -> + let uu____10459 = has_type_guard t1 t2 in (uu____10459, wl) + | FStar_TypeChecker_Common.SUBINV -> + let uu____10460 = has_type_guard t2 t1 in (uu____10460, wl) + let is_flex_pat : 'Auu____10470 'Auu____10471 'Auu____10472 . ('Auu____10470 * 'Auu____10471 * 'Auu____10472 Prims.list) -> Prims.bool = - fun uu___25_10486 -> + fun uu___25_10486 -> match uu___25_10486 with - | (uu____10495, uu____10496, []) -> true + | (uu____10495,uu____10496,[]) -> true | uu____10500 -> false + let (quasi_pattern : FStar_TypeChecker_Env.env -> flex_t -> (FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.typ) FStar_Pervasives_Native.option) = - fun env -> - fun f -> - let uu____10533 = f in + fun env -> + fun f -> + let uu____10533 = f in match uu____10533 with - | (uu____10540, - { FStar_Syntax_Syntax.ctx_uvar_head = uu____10541; - FStar_Syntax_Syntax.ctx_uvar_gamma = uu____10542; - FStar_Syntax_Syntax.ctx_uvar_binders = ctx; - FStar_Syntax_Syntax.ctx_uvar_typ = t_hd; - FStar_Syntax_Syntax.ctx_uvar_reason = uu____10545; - FStar_Syntax_Syntax.ctx_uvar_should_check = uu____10546; - FStar_Syntax_Syntax.ctx_uvar_range = uu____10547; - FStar_Syntax_Syntax.ctx_uvar_meta = uu____10548;_}, - args) -> + | (uu____10540,{ FStar_Syntax_Syntax.ctx_uvar_head = uu____10541; + FStar_Syntax_Syntax.ctx_uvar_gamma = uu____10542; + FStar_Syntax_Syntax.ctx_uvar_binders = ctx; + FStar_Syntax_Syntax.ctx_uvar_typ = t_hd; + FStar_Syntax_Syntax.ctx_uvar_reason = uu____10545; + FStar_Syntax_Syntax.ctx_uvar_should_check = + uu____10546; + FStar_Syntax_Syntax.ctx_uvar_range = uu____10547; + FStar_Syntax_Syntax.ctx_uvar_meta = uu____10548;_},args) + -> let name_exists_in x bs = FStar_Util.for_some - (fun uu____10618 -> + (fun uu____10618 -> match uu____10618 with - | (y, uu____10627) -> FStar_Syntax_Syntax.bv_eq x y) bs in + | (y,uu____10627) -> FStar_Syntax_Syntax.bv_eq x y) bs + in let rec aux pat_binders formals t_res args1 = match (formals, args1) with - | ([], []) -> + | ([],[]) -> let uu____10781 = let uu____10796 = - let uu____10799 = FStar_Syntax_Syntax.mk_Total t_res in - FStar_Syntax_Util.arrow formals uu____10799 in - ((FStar_List.rev pat_binders), uu____10796) in + let uu____10799 = FStar_Syntax_Syntax.mk_Total t_res in + FStar_Syntax_Util.arrow formals uu____10799 in + ((FStar_List.rev pat_binders), uu____10796) in FStar_Pervasives_Native.Some uu____10781 - | (uu____10832, []) -> + | (uu____10832,[]) -> let uu____10863 = let uu____10878 = - let uu____10881 = FStar_Syntax_Syntax.mk_Total t_res in - FStar_Syntax_Util.arrow formals uu____10881 in - ((FStar_List.rev pat_binders), uu____10878) in + let uu____10881 = FStar_Syntax_Syntax.mk_Total t_res in + FStar_Syntax_Util.arrow formals uu____10881 in + ((FStar_List.rev pat_binders), uu____10878) in FStar_Pervasives_Native.Some uu____10863 - | ((formal, formal_imp)::formals1, (a, a_imp)::args2) -> + | ((formal,formal_imp)::formals1,(a,a_imp)::args2) -> let uu____10972 = - let uu____10973 = FStar_Syntax_Subst.compress a in - uu____10973.FStar_Syntax_Syntax.n in + let uu____10973 = FStar_Syntax_Subst.compress a in + uu____10973.FStar_Syntax_Syntax.n in (match uu____10972 with | FStar_Syntax_Syntax.Tm_name x -> let uu____10993 = (name_exists_in x ctx) || - (name_exists_in x pat_binders) in + (name_exists_in x pat_binders) + in if uu____10993 then aux ((formal, formal_imp) :: pat_binders) formals1 t_res args2 else (let x1 = - let uu___1603_11023 = x in + let uu___1603_11023 = x in { FStar_Syntax_Syntax.ppname = (uu___1603_11023.FStar_Syntax_Syntax.ppname); @@ -3302,20 +3590,22 @@ let (quasi_pattern : (uu___1603_11023.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = (formal.FStar_Syntax_Syntax.sort) - } in + } in let subst1 = let uu____11027 = let uu____11028 = let uu____11035 = - FStar_Syntax_Syntax.bv_to_name x1 in - (formal, uu____11035) in - FStar_Syntax_Syntax.NT uu____11028 in - [uu____11027] in + FStar_Syntax_Syntax.bv_to_name x1 in + (formal, uu____11035) in + FStar_Syntax_Syntax.NT uu____11028 in + [uu____11027] in let formals2 = - FStar_Syntax_Subst.subst_binders subst1 formals1 in - let t_res1 = FStar_Syntax_Subst.subst subst1 t_res in + FStar_Syntax_Subst.subst_binders subst1 formals1 + in + let t_res1 = FStar_Syntax_Subst.subst subst1 t_res + in aux - (((let uu___1609_11051 = x1 in + (((let uu___1609_11051 = x1 in { FStar_Syntax_Syntax.ppname = (uu___1609_11051.FStar_Syntax_Syntax.ppname); @@ -3327,39 +3617,42 @@ let (quasi_pattern : | uu____11052 -> aux ((formal, formal_imp) :: pat_binders) formals1 t_res args2) - | ([], args2) -> + | ([],args2) -> let uu____11092 = let uu____11107 = - FStar_TypeChecker_Normalize.unfold_whnf env t_res in - FStar_Syntax_Util.arrow_formals uu____11107 in + FStar_TypeChecker_Normalize.unfold_whnf env t_res in + FStar_Syntax_Util.arrow_formals uu____11107 in (match uu____11092 with - | (more_formals, t_res1) -> + | (more_formals,t_res1) -> (match more_formals with | [] -> FStar_Pervasives_Native.None | uu____11182 -> - aux pat_binders more_formals t_res1 args2)) in + aux pat_binders more_formals t_res1 args2)) + in (match args with | [] -> FStar_Pervasives_Native.Some ([], t_hd) | uu____11215 -> - let uu____11216 = FStar_Syntax_Util.arrow_formals t_hd in + let uu____11216 = FStar_Syntax_Util.arrow_formals t_hd in (match uu____11216 with - | (formals, t_res) -> aux [] formals t_res args)) + | (formals,t_res) -> aux [] formals t_res args)) + let rec (solve : FStar_TypeChecker_Env.env -> worklist -> solution) = - fun env -> - fun probs -> + fun env -> + fun probs -> (let uu____11538 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____11538 then - let uu____11543 = wl_to_string probs in + let uu____11543 = wl_to_string probs in FStar_Util.print1 "solve:\n\t%s\n" uu____11543 else ()); - (let uu____11548 = next_prob probs in + (let uu____11548 = next_prob probs in match uu____11548 with - | FStar_Pervasives_Native.Some (hd1, tl1, rank1) -> + | FStar_Pervasives_Native.Some (hd1,tl1,rank1) -> let probs1 = - let uu___1634_11575 = probs in + let uu___1634_11575 = probs in { attempting = tl1; wl_deferred = (uu___1634_11575.wl_deferred); @@ -3369,7 +3662,7 @@ let rec (solve : FStar_TypeChecker_Env.env -> worklist -> solution) = umax_heuristic_ok = (uu___1634_11575.umax_heuristic_ok); tcenv = (uu___1634_11575.tcenv); wl_implicits = (uu___1634_11575.wl_implicits) - } in + } in (def_check_prob "solve,hd" hd1; (match hd1 with | FStar_TypeChecker_Common.CProb cp -> @@ -3378,11 +3671,13 @@ let rec (solve : FStar_TypeChecker_Env.env -> worklist -> solution) = let uu____11584 = FStar_Util.physical_equality tp.FStar_TypeChecker_Common.lhs - tp.FStar_TypeChecker_Common.rhs in + tp.FStar_TypeChecker_Common.rhs + in if uu____11584 then let uu____11587 = - solve_prob hd1 FStar_Pervasives_Native.None [] probs1 in + solve_prob hd1 FStar_Pervasives_Native.None [] probs1 + in solve env uu____11587 else if @@ -3401,7 +3696,7 @@ let rec (solve : FStar_TypeChecker_Env.env -> worklist -> solution) = if rank1 = FStar_TypeChecker_Common.Flex_flex then solve_t env - (let uu___1646_11599 = tp in + (let uu___1646_11599 = tp in { FStar_TypeChecker_Common.pid = (uu___1646_11599.FStar_TypeChecker_Common.pid); @@ -3427,38 +3722,41 @@ let rec (solve : FStar_TypeChecker_Env.env -> worklist -> solution) = else solve_rigid_flex_or_flex_rigid_subtyping rank1 env tp probs1)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (match probs.wl_deferred with | [] -> Success ([], (probs.wl_implicits)) | uu____11625 -> let uu____11636 = FStar_All.pipe_right probs.wl_deferred (FStar_List.partition - (fun uu____11707 -> + (fun uu____11707 -> match uu____11707 with - | (c, uu____11718, uu____11719) -> c < probs.ctr)) in + | (c,uu____11718,uu____11719) -> c < probs.ctr)) + in (match uu____11636 with - | (attempt1, rest) -> + | (attempt1,rest) -> (match attempt1 with | [] -> let uu____11774 = let uu____11779 = FStar_List.map - (fun uu____11797 -> + (fun uu____11797 -> match uu____11797 with - | (uu____11811, x, y) -> (x, y)) - probs.wl_deferred in - (uu____11779, (probs.wl_implicits)) in + | (uu____11811,x,y) -> (x, y)) + probs.wl_deferred + in + (uu____11779, (probs.wl_implicits)) in Success uu____11774 | uu____11819 -> let uu____11830 = - let uu___1664_11831 = probs in + let uu___1664_11831 = probs in let uu____11832 = FStar_All.pipe_right attempt1 (FStar_List.map - (fun uu____11855 -> + (fun uu____11855 -> match uu____11855 with - | (uu____11864, uu____11865, y) -> y)) in + | (uu____11864,uu____11865,y) -> y)) + in { attempting = uu____11832; wl_deferred = rest; @@ -3469,162 +3767,169 @@ let rec (solve : FStar_TypeChecker_Env.env -> worklist -> solution) = (uu___1664_11831.umax_heuristic_ok); tcenv = (uu___1664_11831.tcenv); wl_implicits = (uu___1664_11831.wl_implicits) - } in + } in solve env uu____11830)))) + and (solve_one_universe_eq : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Common.prob -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe -> worklist -> solution) = - fun env -> - fun orig -> - fun u1 -> - fun u2 -> - fun wl -> - let uu____11876 = solve_universe_eq (p_pid orig) wl u1 u2 in + fun env -> + fun orig -> + fun u1 -> + fun u2 -> + fun wl -> + let uu____11876 = solve_universe_eq (p_pid orig) wl u1 u2 in match uu____11876 with | USolved wl1 -> let uu____11878 = - solve_prob orig FStar_Pervasives_Native.None [] wl1 in + solve_prob orig FStar_Pervasives_Native.None [] wl1 in solve env uu____11878 | UFailed msg -> giveup env msg orig | UDeferred wl1 -> solve env (defer "" orig wl1) + and (solve_maybe_uinsts : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Common.prob -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term -> worklist -> univ_eq_sol) = - fun env -> - fun orig -> - fun t1 -> - fun t2 -> - fun wl -> + fun env -> + fun orig -> + fun t1 -> + fun t2 -> + fun wl -> let rec aux wl1 us1 us2 = match (us1, us2) with - | ([], []) -> USolved wl1 - | (u1::us11, u2::us21) -> - let uu____11932 = solve_universe_eq (p_pid orig) wl1 u1 u2 in + | ([],[]) -> USolved wl1 + | (u1::us11,u2::us21) -> + let uu____11932 = solve_universe_eq (p_pid orig) wl1 u1 u2 + in (match uu____11932 with | USolved wl2 -> aux wl2 us11 us21 | failed_or_deferred -> failed_or_deferred) - | uu____11935 -> UFailed "Unequal number of universes" in - let t11 = whnf env t1 in - let t21 = whnf env t2 in + | uu____11935 -> UFailed "Unequal number of universes" in + let t11 = whnf env t1 in + let t21 = whnf env t2 in match ((t11.FStar_Syntax_Syntax.n), (t21.FStar_Syntax_Syntax.n)) with | (FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar f; FStar_Syntax_Syntax.pos = uu____11948; - FStar_Syntax_Syntax.vars = uu____11949;_}, - us1), - FStar_Syntax_Syntax.Tm_uinst + FStar_Syntax_Syntax.vars = uu____11949;_},us1),FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar g; FStar_Syntax_Syntax.pos = uu____11952; - FStar_Syntax_Syntax.vars = uu____11953;_}, - us2)) -> - let b = FStar_Syntax_Syntax.fv_eq f g in aux wl us1 us2 - | (FStar_Syntax_Syntax.Tm_uinst uu____11966, uu____11967) -> + FStar_Syntax_Syntax.vars = uu____11953;_},us2)) + -> let b = FStar_Syntax_Syntax.fv_eq f g in aux wl us1 us2 + | (FStar_Syntax_Syntax.Tm_uinst uu____11966,uu____11967) -> failwith "Impossible: expect head symbols to match" - | (uu____11975, FStar_Syntax_Syntax.Tm_uinst uu____11976) -> + | (uu____11975,FStar_Syntax_Syntax.Tm_uinst uu____11976) -> failwith "Impossible: expect head symbols to match" | uu____11984 -> USolved wl + and (giveup_or_defer : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Common.prob -> worklist -> Prims.string -> solution) = - fun env -> - fun orig -> - fun wl -> - fun msg -> + fun env -> + fun orig -> + fun wl -> + fun msg -> if wl.defer_ok then ((let uu____11996 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____11996 then - let uu____12001 = prob_to_string env orig in + let uu____12001 = prob_to_string env orig in FStar_Util.print2 "\n\t\tDeferring %s\n\t\tBecause %s\n" uu____12001 msg else ()); solve env (defer msg orig wl)) else giveup env msg orig + and (solve_rigid_flex_or_flex_rigid_subtyping : FStar_TypeChecker_Common.rank_t -> FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = - fun rank1 -> - fun env -> - fun tp -> - fun wl -> + fun rank1 -> + fun env -> + fun tp -> + fun wl -> def_check_prob "solve_rigid_flex_or_flex_rigid_subtyping" (FStar_TypeChecker_Common.TProb tp); - (let flip = rank1 = FStar_TypeChecker_Common.Flex_rigid in + (let flip = rank1 = FStar_TypeChecker_Common.Flex_rigid in let meet_or_join op ts env1 wl1 = let eq_prob t1 t2 wl2 = let uu____12093 = new_problem wl2 env1 t1 FStar_TypeChecker_Common.EQ t2 FStar_Pervasives_Native.None t1.FStar_Syntax_Syntax.pos - "join/meet refinements" in + "join/meet refinements" + in match uu____12093 with - | (p, wl3) -> + | (p,wl3) -> (def_check_prob "meet_or_join" (FStar_TypeChecker_Common.TProb p); - ((FStar_TypeChecker_Common.TProb p), wl3)) in + ((FStar_TypeChecker_Common.TProb p), wl3)) + in let pairwise t1 t2 wl2 = (let uu____12148 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____12148 then - let uu____12153 = FStar_Syntax_Print.term_to_string t1 in - let uu____12155 = FStar_Syntax_Print.term_to_string t2 in + let uu____12153 = FStar_Syntax_Print.term_to_string t1 in + let uu____12155 = FStar_Syntax_Print.term_to_string t2 in FStar_Util.print2 "[meet/join]: pairwise: %s and %s\n" uu____12153 uu____12155 else ()); - (let uu____12160 = head_matches_delta env1 wl2 t1 t2 in + (let uu____12160 = head_matches_delta env1 wl2 t1 t2 in match uu____12160 with - | (mr, ts1) -> + | (mr,ts1) -> (match mr with - | HeadMatch (true) -> - let uu____12206 = eq_prob t1 t2 wl2 in - (match uu____12206 with | (p, wl3) -> (t1, [p], wl3)) + | HeadMatch (true ) -> + let uu____12206 = eq_prob t1 t2 wl2 in + (match uu____12206 with | (p,wl3) -> (t1, [p], wl3)) | MisMatch uu____12227 -> - let uu____12236 = eq_prob t1 t2 wl2 in - (match uu____12236 with | (p, wl3) -> (t1, [p], wl3)) - | FullMatch -> + let uu____12236 = eq_prob t1 t2 wl2 in + (match uu____12236 with | (p,wl3) -> (t1, [p], wl3)) + | FullMatch -> (match ts1 with - | FStar_Pervasives_Native.None -> (t1, [], wl2) - | FStar_Pervasives_Native.Some (t11, t21) -> + | FStar_Pervasives_Native.None -> (t1, [], wl2) + | FStar_Pervasives_Native.Some (t11,t21) -> (t11, [], wl2)) - | HeadMatch (false) -> + | HeadMatch (false ) -> let uu____12286 = match ts1 with - | FStar_Pervasives_Native.Some (t11, t21) -> + | FStar_Pervasives_Native.Some (t11,t21) -> let uu____12301 = - FStar_Syntax_Subst.compress t11 in + FStar_Syntax_Subst.compress t11 in let uu____12302 = - FStar_Syntax_Subst.compress t21 in + FStar_Syntax_Subst.compress t21 in (uu____12301, uu____12302) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____12307 = - FStar_Syntax_Subst.compress t1 in + FStar_Syntax_Subst.compress t1 in let uu____12308 = - FStar_Syntax_Subst.compress t2 in - (uu____12307, uu____12308) in + FStar_Syntax_Subst.compress t2 in + (uu____12307, uu____12308) + in (match uu____12286 with - | (t11, t21) -> + | (t11,t21) -> let try_eq t12 t22 wl3 = let uu____12339 = - FStar_Syntax_Util.head_and_args t12 in + FStar_Syntax_Util.head_and_args t12 in match uu____12339 with - | (t1_hd, t1_args) -> + | (t1_hd,t1_args) -> let uu____12384 = - FStar_Syntax_Util.head_and_args t22 in + FStar_Syntax_Util.head_and_args t22 in (match uu____12384 with - | (t2_hd, t2_args) -> + | (t2_hd,t2_args) -> if (FStar_List.length t1_args) <> (FStar_List.length t2_args) @@ -3634,40 +3939,45 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : let uu____12457 = let uu____12468 = FStar_Syntax_Syntax.as_arg - t1_hd in - uu____12468 :: t1_args in + t1_hd + in + uu____12468 :: t1_args in let uu____12485 = let uu____12494 = FStar_Syntax_Syntax.as_arg - t2_hd in - uu____12494 :: t2_args in + t2_hd + in + uu____12494 :: t2_args in FStar_List.fold_left2 - (fun uu____12543 -> - fun uu____12544 -> - fun uu____12545 -> + (fun uu____12543 -> + fun uu____12544 -> + fun uu____12545 -> match (uu____12543, uu____12544, uu____12545) with - | ((probs, wl4), - (a1, uu____12595), - (a2, uu____12597)) + | ((probs,wl4), + (a1,uu____12595), + (a2,uu____12597)) -> let uu____12634 = eq_prob a1 a2 - wl4 in + wl4 + in (match uu____12634 with - | (p, wl5) -> + | (p,wl5) -> ((p :: probs), wl5))) ([], wl3) uu____12457 - uu____12485 in + uu____12485 + in match uu____12450 with - | (probs, wl4) -> + | (probs,wl4) -> let wl' = - let uu___1818_12660 = wl4 in + let uu___1818_12660 = wl4 + in { attempting = probs; wl_deferred = []; @@ -3680,20 +3990,21 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : tcenv = (uu___1818_12660.tcenv); wl_implicits = [] - } in + } in let tx = FStar_Syntax_Unionfind.new_transaction - () in + () + in let uu____12672 = - solve env1 wl' in + solve env1 wl' in (match uu____12672 with - | Success - (uu____12675, imps) -> + | Success (uu____12675,imps) + -> (FStar_Syntax_Unionfind.commit tx; FStar_Pervasives_Native.Some ((let uu___1827_12679 - = wl4 in + = wl4 in { attempting = (uu___1827_12679.attempting); @@ -3718,149 +4029,175 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : | Failed uu____12680 -> (FStar_Syntax_Unionfind.rollback tx; - FStar_Pervasives_Native.None)))) in + FStar_Pervasives_Native.None)))) + in let combine t12 t22 wl3 = let uu____12713 = base_and_refinement_maybe_delta false env1 - t12 in + t12 + in match uu____12713 with - | (t1_base, p1_opt) -> + | (t1_base,p1_opt) -> let uu____12749 = base_and_refinement_maybe_delta false - env1 t22 in + env1 t22 + in (match uu____12749 with - | (t2_base, p2_opt) -> + | (t2_base,p2_opt) -> let combine_refinements t_base p1_opt1 p2_opt1 = let refine1 x t = let uu____12848 = - FStar_Syntax_Util.is_t_true t in + FStar_Syntax_Util.is_t_true t + in if uu____12848 then x.FStar_Syntax_Syntax.sort else - FStar_Syntax_Util.refine x t in + FStar_Syntax_Util.refine x t + in match (p1_opt1, p2_opt1) with | (FStar_Pervasives_Native.Some - (x, phi1), - FStar_Pervasives_Native.Some - (y, phi2)) -> + (x,phi1),FStar_Pervasives_Native.Some + (y,phi2)) -> let x1 = FStar_Syntax_Syntax.freshen_bv - x in + x + in let subst1 = [FStar_Syntax_Syntax.DB ((Prims.parse_int "0"), - x1)] in + x1)] + in let phi11 = FStar_Syntax_Subst.subst - subst1 phi1 in + subst1 phi1 + in let phi21 = FStar_Syntax_Subst.subst - subst1 phi2 in + subst1 phi2 + in let uu____12901 = - op phi11 phi21 in + op phi11 phi21 in refine1 x1 uu____12901 - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.Some - (x, phi)) -> + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.Some + (x,phi)) -> let x1 = FStar_Syntax_Syntax.freshen_bv - x in + x + in let subst1 = [FStar_Syntax_Syntax.DB ((Prims.parse_int "0"), - x1)] in + x1)] + in let phi1 = FStar_Syntax_Subst.subst - subst1 phi in + subst1 phi + in let uu____12933 = op FStar_Syntax_Util.t_true - phi1 in + phi1 + in refine1 x1 uu____12933 | (FStar_Pervasives_Native.Some - (x, phi), - FStar_Pervasives_Native.None) - -> + (x,phi),FStar_Pervasives_Native.None + ) -> let x1 = FStar_Syntax_Syntax.freshen_bv - x in + x + in let subst1 = [FStar_Syntax_Syntax.DB ((Prims.parse_int "0"), - x1)] in + x1)] + in let phi1 = FStar_Syntax_Subst.subst - subst1 phi in + subst1 phi + in let uu____12965 = op FStar_Syntax_Util.t_true - phi1 in + phi1 + in refine1 x1 uu____12965 - | uu____12968 -> t_base in + | uu____12968 -> t_base in let uu____12985 = - try_eq t1_base t2_base wl3 in + try_eq t1_base t2_base wl3 in (match uu____12985 with | FStar_Pervasives_Native.Some wl4 -> let uu____12999 = combine_refinements t1_base - p1_opt p2_opt in + p1_opt p2_opt + in (uu____12999, [], wl4) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____13006 = base_and_refinement_maybe_delta - true env1 t12 in + true env1 t12 + in (match uu____13006 with - | (t1_base1, p1_opt1) -> + | (t1_base1,p1_opt1) -> let uu____13042 = base_and_refinement_maybe_delta - true env1 t22 in + true env1 t22 + in (match uu____13042 with - | (t2_base1, p2_opt1) -> + | (t2_base1,p2_opt1) -> let uu____13078 = eq_prob t1_base1 - t2_base1 wl3 in + t2_base1 wl3 + in (match uu____13078 with - | (p, wl4) -> + | (p,wl4) -> let t = combine_refinements t1_base1 p1_opt1 - p2_opt1 in - (t, [p], wl4)))))) in - let uu____13102 = combine t11 t21 wl2 in + p2_opt1 + in + (t, [p], wl4)))))) + in + let uu____13102 = combine t11 t21 wl2 in (match uu____13102 with - | (t12, ps, wl3) -> + | (t12,ps,wl3) -> ((let uu____13135 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____13135 then let uu____13140 = FStar_Syntax_Print.term_to_string - t12 in + t12 + in FStar_Util.print1 "pairwise fallback2 succeeded: %s" uu____13140 else ()); - (t12, ps, wl3)))))) in + (t12, ps, wl3)))))) + in let rec aux uu____13182 ts1 = match uu____13182 with - | (out, probs, wl2) -> + | (out,probs,wl2) -> (match ts1 with | [] -> (out, probs, wl2) | t::ts2 -> - let uu____13245 = pairwise out t wl2 in + let uu____13245 = pairwise out t wl2 in (match uu____13245 with - | (out1, probs', wl3) -> + | (out1,probs',wl3) -> aux (out1, (FStar_List.append probs probs'), wl3) - ts2)) in + ts2)) + in let uu____13281 = - let uu____13292 = FStar_List.hd ts in (uu____13292, [], wl1) in - let uu____13301 = FStar_List.tl ts in - aux uu____13281 uu____13301 in + let uu____13292 = FStar_List.hd ts in (uu____13292, [], wl1) + in + let uu____13301 = FStar_List.tl ts in + aux uu____13281 uu____13301 in let uu____13308 = if flip then @@ -3868,38 +4205,41 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : (tp.FStar_TypeChecker_Common.rhs)) else ((tp.FStar_TypeChecker_Common.rhs), - (tp.FStar_TypeChecker_Common.lhs)) in + (tp.FStar_TypeChecker_Common.lhs)) + in match uu____13308 with - | (this_flex, this_rigid) -> + | (this_flex,this_rigid) -> let uu____13334 = - let uu____13335 = FStar_Syntax_Subst.compress this_rigid in - uu____13335.FStar_Syntax_Syntax.n in + let uu____13335 = FStar_Syntax_Subst.compress this_rigid in + uu____13335.FStar_Syntax_Syntax.n in (match uu____13334 with - | FStar_Syntax_Syntax.Tm_arrow (_bs, comp) -> + | FStar_Syntax_Syntax.Tm_arrow (_bs,comp) -> let uu____13360 = - FStar_Syntax_Util.is_tot_or_gtot_comp comp in + FStar_Syntax_Util.is_tot_or_gtot_comp comp in if uu____13360 then - let uu____13363 = destruct_flex_t this_flex wl in + let uu____13363 = destruct_flex_t this_flex wl in (match uu____13363 with - | (flex, wl1) -> - let uu____13370 = quasi_pattern env flex in + | (flex,wl1) -> + let uu____13370 = quasi_pattern env flex in (match uu____13370 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> giveup env "flex-arrow subtyping, not a quasi pattern" (FStar_TypeChecker_Common.TProb tp) - | FStar_Pervasives_Native.Some (flex_bs, flex_t) + | FStar_Pervasives_Native.Some (flex_bs,flex_t) -> ((let uu____13389 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____13389 then let uu____13394 = FStar_Util.string_of_int - tp.FStar_TypeChecker_Common.pid in + tp.FStar_TypeChecker_Common.pid + in FStar_Util.print1 "Trying to solve by imitating arrow:%s\n" uu____13394 @@ -3913,7 +4253,7 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : (let uu____13401 = attempt [FStar_TypeChecker_Common.TProb - ((let uu___1929_13404 = tp in + ((let uu___1929_13404 = tp in { FStar_TypeChecker_Common.pid = (uu___1929_13404.FStar_TypeChecker_Common.pid); @@ -3936,54 +4276,58 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : (uu___1929_13404.FStar_TypeChecker_Common.loc); FStar_TypeChecker_Common.rank = (uu___1929_13404.FStar_TypeChecker_Common.rank) - }))] wl in + }))] wl + in solve env uu____13401) | uu____13405 -> ((let uu____13407 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____13407 then let uu____13412 = FStar_Util.string_of_int - tp.FStar_TypeChecker_Common.pid in + tp.FStar_TypeChecker_Common.pid + in FStar_Util.print1 "Trying to solve by meeting refinements:%s\n" uu____13412 else ()); (let uu____13417 = - FStar_Syntax_Util.head_and_args this_flex in + FStar_Syntax_Util.head_and_args this_flex in match uu____13417 with - | (u, _args) -> + | (u,_args) -> let uu____13460 = - let uu____13461 = FStar_Syntax_Subst.compress u in - uu____13461.FStar_Syntax_Syntax.n in + let uu____13461 = FStar_Syntax_Subst.compress u + in + uu____13461.FStar_Syntax_Syntax.n in (match uu____13460 with - | FStar_Syntax_Syntax.Tm_uvar (ctx_uvar, _subst) - -> + | FStar_Syntax_Syntax.Tm_uvar (ctx_uvar,_subst) -> let equiv1 t = let uu____13489 = - FStar_Syntax_Util.head_and_args t in + FStar_Syntax_Util.head_and_args t in match uu____13489 with - | (u', uu____13508) -> + | (u',uu____13508) -> let uu____13533 = - let uu____13534 = whnf env u' in - uu____13534.FStar_Syntax_Syntax.n in + let uu____13534 = whnf env u' in + uu____13534.FStar_Syntax_Syntax.n in (match uu____13533 with | FStar_Syntax_Syntax.Tm_uvar - (ctx_uvar', _subst') -> + (ctx_uvar',_subst') -> FStar_Syntax_Unionfind.equiv ctx_uvar.FStar_Syntax_Syntax.ctx_uvar_head ctx_uvar'.FStar_Syntax_Syntax.ctx_uvar_head - | uu____13556 -> false) in + | uu____13556 -> false) + in let uu____13558 = FStar_All.pipe_right wl.attempting (FStar_List.partition - (fun uu___26_13581 -> + (fun uu___26_13581 -> match uu___26_13581 with | FStar_TypeChecker_Common.TProb tp1 -> - let tp2 = maybe_invert tp1 in + let tp2 = maybe_invert tp1 in (match tp2.FStar_TypeChecker_Common.rank with | FStar_Pervasives_Native.Some @@ -3996,14 +4340,16 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : equiv1 tp2.FStar_TypeChecker_Common.rhs | uu____13595 -> false) - | uu____13599 -> false)) in + | uu____13599 -> false)) + in (match uu____13558 with - | (bounds_probs, rest) -> + | (bounds_probs,rest) -> let bounds_typs = - let uu____13614 = whnf env this_rigid in + let uu____13614 = whnf env this_rigid + in let uu____13615 = FStar_List.collect - (fun uu___27_13621 -> + (fun uu___27_13621 -> match uu___27_13621 with | FStar_TypeChecker_Common.TProb p -> @@ -4014,43 +4360,49 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : (maybe_invert p).FStar_TypeChecker_Common.rhs else whnf env - (maybe_invert p).FStar_TypeChecker_Common.lhs in + (maybe_invert p).FStar_TypeChecker_Common.lhs + in [uu____13627] | uu____13631 -> []) - bounds_probs in - uu____13614 :: uu____13615 in + bounds_probs + in + uu____13614 :: uu____13615 in let uu____13632 = meet_or_join (if flip then FStar_Syntax_Util.mk_conj_simp else FStar_Syntax_Util.mk_disj_simp) - bounds_typs env wl in + bounds_typs env wl + in (match uu____13632 with - | (bound, sub_probs, wl1) -> + | (bound,sub_probs,wl1) -> let uu____13665 = let flex_u = - flex_uvar_head this_flex in + flex_uvar_head this_flex in let bound1 = let uu____13680 = let uu____13681 = FStar_Syntax_Subst.compress - bound in - uu____13681.FStar_Syntax_Syntax.n in + bound + in + uu____13681.FStar_Syntax_Syntax.n + in match uu____13680 with | FStar_Syntax_Syntax.Tm_refine - (x, phi) when + (x,phi) when (tp.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.SUB) && (let uu____13693 = occurs flex_u - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in FStar_Pervasives_Native.snd uu____13693) -> x.FStar_Syntax_Syntax.sort - | uu____13704 -> bound in + | uu____13704 -> bound in let uu____13705 = new_problem wl1 env bound1 FStar_TypeChecker_Common.EQ @@ -4059,10 +4411,11 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : tp.FStar_TypeChecker_Common.loc (if flip then "joining refinements" - else "meeting refinements") in - (bound1, uu____13705) in + else "meeting refinements") + in + (bound1, uu____13705) in (match uu____13665 with - | (bound_typ, (eq_prob, wl')) -> + | (bound_typ,(eq_prob,wl')) -> (def_check_prob "meet_or_join2" (FStar_TypeChecker_Common.TProb eq_prob); @@ -4071,11 +4424,13 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : (FStar_TypeChecker_Env.debug env) (FStar_Options.Other - "Rel") in + "Rel") + in if uu____13740 then let wl'1 = - let uu___1989_13746 = wl1 in + let uu___1989_13746 = wl1 + in { attempting = ((FStar_TypeChecker_Common.TProb @@ -4095,20 +4450,21 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : (uu___1989_13746.tcenv); wl_implicits = (uu___1989_13746.wl_implicits) - } in + } in let uu____13747 = - wl_to_string wl'1 in + wl_to_string wl'1 in FStar_Util.print1 "After meet/join refinements: %s\n" uu____13747 else ()); (let tx = FStar_Syntax_Unionfind.new_transaction - () in + () + in let uu____13753 = solve_t env eq_prob (let uu___1994_13755 = - wl' in + wl' in { attempting = sub_probs; wl_deferred = @@ -4123,13 +4479,14 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : tcenv = (uu___1994_13755.tcenv); wl_implicits = [] - }) in + }) + in match uu____13753 with - | Success (uu____13757, imps) + | Success (uu____13757,imps) -> let wl2 = let uu___2000_13760 = - wl' in + wl' in { attempting = rest; wl_deferred = @@ -4146,10 +4503,10 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : (uu___2000_13760.tcenv); wl_implicits = (uu___2000_13760.wl_implicits) - } in + } in let wl3 = let uu___2003_13762 = - wl2 in + wl2 in { attempting = (uu___2003_13762.attempting); @@ -4169,40 +4526,44 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : (FStar_List.append wl'.wl_implicits imps) - } in + } in let g = FStar_List.fold_left - (fun g -> - fun p -> + (fun g -> + fun p -> FStar_Syntax_Util.mk_conj g (p_guard p)) eq_prob.FStar_TypeChecker_Common.logical_guard - sub_probs in + sub_probs + in let wl4 = solve_prob' false (FStar_TypeChecker_Common.TProb tp) (FStar_Pervasives_Native.Some - g) [] wl3 in + g) [] wl3 + in let uu____13778 = FStar_List.fold_left - (fun wl5 -> - fun p -> + (fun wl5 -> + fun p -> solve_prob' true p FStar_Pervasives_Native.None [] wl5) wl4 - bounds_probs in + bounds_probs + in (FStar_Syntax_Unionfind.commit tx; solve env wl4) - | Failed (p, msg) -> + | Failed (p,msg) -> ((let uu____13792 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) (FStar_Options.Other - "Rel") in + "Rel") + in if uu____13792 then let uu____13797 = @@ -4212,11 +4573,13 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : env) ((FStar_TypeChecker_Common.TProb eq_prob) :: - sub_probs) in + sub_probs) + in FStar_All.pipe_right uu____13799 (FStar_String.concat - "\n") in + "\n") + in FStar_Util.print1 "meet/join attempted and failed to solve problems:\n%s\n" uu____13797 @@ -4224,13 +4587,15 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : (let uu____13812 = let uu____13827 = base_and_refinement - env bound_typ in - (rank1, uu____13827) in + env bound_typ + in + (rank1, uu____13827) + in match uu____13812 with - | (FStar_TypeChecker_Common.Rigid_flex, - (t_base, - FStar_Pervasives_Native.Some - uu____13849)) -> + | (FStar_TypeChecker_Common.Rigid_flex + ,(t_base,FStar_Pervasives_Native.Some + uu____13849)) + -> (FStar_Syntax_Unionfind.rollback tx; (let uu____13875 = @@ -4240,10 +4605,11 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : this_flex FStar_Pervasives_Native.None tp.FStar_TypeChecker_Common.loc - "widened subtyping" in + "widened subtyping" + in match uu____13875 with - | (eq_prob1, wl2) + | (eq_prob1,wl2) -> (def_check_prob "meet_or_join3" @@ -4258,20 +4624,21 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : (p_guard (FStar_TypeChecker_Common.TProb eq_prob1))) - [] wl2 in + [] wl2 + in let uu____13895 = attempt [ FStar_TypeChecker_Common.TProb eq_prob1] - wl3 in + wl3 in solve env uu____13895)))) - | (FStar_TypeChecker_Common.Flex_rigid, - (t_base, - FStar_Pervasives_Native.Some - (x, phi))) -> + | (FStar_TypeChecker_Common.Flex_rigid + ,(t_base,FStar_Pervasives_Native.Some + (x,phi))) + -> (FStar_Syntax_Unionfind.rollback tx; (let uu____13920 = @@ -4281,10 +4648,11 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : this_flex FStar_Pervasives_Native.None tp.FStar_TypeChecker_Common.loc - "widened subtyping" in + "widened subtyping" + in match uu____13920 with - | (eq_prob1, wl2) + | (eq_prob1,wl2) -> (def_check_prob "meet_or_join4" @@ -4293,7 +4661,7 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : (let phi1 = guard_on_element wl2 tp x - phi in + phi in let wl3 = let uu____13940 = @@ -4303,22 +4671,25 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : phi1 (p_guard (FStar_TypeChecker_Common.TProb - eq_prob1)) in + eq_prob1)) + in FStar_Pervasives_Native.Some - uu____13945 in + uu____13945 + in solve_prob' false (FStar_TypeChecker_Common.TProb tp) uu____13940 - [] wl2 in + [] wl2 + in let uu____13951 = attempt [ FStar_TypeChecker_Common.TProb eq_prob1] - wl3 in + wl3 in solve env uu____13951)))) | uu____13952 -> @@ -4330,26 +4701,33 @@ and (solve_rigid_flex_or_flex_rigid_subtyping : let uu____13969 = let uu____13971 = FStar_Util.string_of_int - (rank_t_num rank1) in + (rank_t_num rank1) + in let uu____13973 = prob_to_string env - (FStar_TypeChecker_Common.TProb tp) in + (FStar_TypeChecker_Common.TProb tp) + in FStar_Util.format2 "Impossible: (rank=%s) Not a flex-rigid: %s" - uu____13971 uu____13973 in + uu____13971 uu____13973 + in failwith uu____13969 | uu____13976 -> let uu____13977 = let uu____13979 = FStar_Util.string_of_int - (rank_t_num rank1) in + (rank_t_num rank1) + in let uu____13981 = prob_to_string env - (FStar_TypeChecker_Common.TProb tp) in + (FStar_TypeChecker_Common.TProb tp) + in FStar_Util.format2 "Impossible: (rank=%s) Not a rigid-flex: %s" - uu____13979 uu____13981 in + uu____13979 uu____13981 + in failwith uu____13977))))) + and (imitate_arrow : FStar_TypeChecker_Common.prob -> FStar_TypeChecker_Env.env -> @@ -4360,53 +4738,59 @@ and (imitate_arrow : FStar_TypeChecker_Common.rel -> FStar_Syntax_Syntax.term -> solution) = - fun orig -> - fun env -> - fun wl -> - fun lhs -> - fun bs_lhs -> - fun t_res_lhs -> - fun rel -> - fun arrow1 -> + fun orig -> + fun env -> + fun wl -> + fun lhs -> + fun bs_lhs -> + fun t_res_lhs -> + fun rel -> + fun arrow1 -> let bs_lhs_args = FStar_List.map - (fun uu____14017 -> + (fun uu____14017 -> match uu____14017 with - | (x, i) -> + | (x,i) -> let uu____14036 = - FStar_Syntax_Syntax.bv_to_name x in - (uu____14036, i)) bs_lhs in - let uu____14039 = lhs in + FStar_Syntax_Syntax.bv_to_name x in + (uu____14036, i)) bs_lhs + in + let uu____14039 = lhs in match uu____14039 with - | (uu____14040, u_lhs, uu____14042) -> + | (uu____14040,u_lhs,uu____14042) -> let imitate_comp bs bs_terms c wl1 = let imitate_tot_or_gtot t uopt f wl2 = let uu____14139 = match uopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Syntax_Util.type_u () | FStar_Pervasives_Native.Some univ -> let uu____14149 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type univ) FStar_Pervasives_Native.None - t.FStar_Syntax_Syntax.pos in - (uu____14149, univ) in + t.FStar_Syntax_Syntax.pos + in + (uu____14149, univ) + in match uu____14139 with - | (k, univ) -> + | (k,univ) -> let uu____14156 = copy_uvar u_lhs (FStar_List.append bs_lhs bs) - k wl2 in + k wl2 + in (match uu____14156 with - | (uu____14173, u, wl3) -> + | (uu____14173,u,wl3) -> let uu____14176 = - f u (FStar_Pervasives_Native.Some univ) in - (uu____14176, wl3)) in + f u (FStar_Pervasives_Native.Some univ) + in + (uu____14176, wl3)) + in match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, uopt) -> + | FStar_Syntax_Syntax.Total (t,uopt) -> imitate_tot_or_gtot t uopt FStar_Syntax_Syntax.mk_Total' wl1 - | FStar_Syntax_Syntax.GTotal (t, uopt) -> + | FStar_Syntax_Syntax.GTotal (t,uopt) -> imitate_tot_or_gtot t uopt FStar_Syntax_Syntax.mk_GTotal' wl1 | FStar_Syntax_Syntax.Comp ct -> @@ -4414,39 +4798,49 @@ and (imitate_arrow : let uu____14215 = let uu____14226 = FStar_Syntax_Syntax.as_arg - ct.FStar_Syntax_Syntax.result_typ in + ct.FStar_Syntax_Syntax.result_typ + in uu____14226 :: - (ct.FStar_Syntax_Syntax.effect_args) in + (ct.FStar_Syntax_Syntax.effect_args) + in FStar_List.fold_right - (fun uu____14277 -> - fun uu____14278 -> + (fun uu____14277 -> + fun uu____14278 -> match (uu____14277, uu____14278) with - | ((a, i), (out_args, wl2)) -> + | ((a,i),(out_args,wl2)) -> let uu____14379 = let uu____14386 = let uu____14389 = - FStar_Syntax_Util.type_u () in + FStar_Syntax_Util.type_u () + in FStar_All.pipe_left FStar_Pervasives_Native.fst - uu____14389 in - copy_uvar u_lhs [] uu____14386 wl2 in + uu____14389 + in + copy_uvar u_lhs [] uu____14386 wl2 + in (match uu____14379 with - | (uu____14418, t_a, wl3) -> + | (uu____14418,t_a,wl3) -> let uu____14421 = - copy_uvar u_lhs bs t_a wl3 in + copy_uvar u_lhs bs t_a wl3 + in (match uu____14421 with - | (uu____14440, a', wl4) -> + | (uu____14440,a',wl4) -> (((a', i) :: out_args), wl4)))) uu____14215 - ([], wl1) in + ([], wl1) + in (match uu____14202 with - | (out_args, wl2) -> + | (out_args,wl2) -> let ct' = - let uu___2113_14496 = ct in + let uu___2113_14496 = ct in let uu____14497 = - let uu____14500 = FStar_List.hd out_args in - FStar_Pervasives_Native.fst uu____14500 in - let uu____14515 = FStar_List.tl out_args in + let uu____14500 = FStar_List.hd out_args + in + FStar_Pervasives_Native.fst uu____14500 + in + let uu____14515 = FStar_List.tl out_args + in { FStar_Syntax_Syntax.comp_univs = (uu___2113_14496.FStar_Syntax_Syntax.comp_univs); @@ -4458,8 +4852,8 @@ and (imitate_arrow : uu____14515; FStar_Syntax_Syntax.flags = (uu___2113_14496.FStar_Syntax_Syntax.flags) - } in - ((let uu___2116_14533 = c in + } in + ((let uu___2116_14533 = c in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Comp ct'); @@ -4467,85 +4861,101 @@ and (imitate_arrow : (uu___2116_14533.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = (uu___2116_14533.FStar_Syntax_Syntax.vars) - }), wl2)) in + }), wl2)) + in let uu____14536 = - FStar_Syntax_Util.arrow_formals_comp arrow1 in + FStar_Syntax_Util.arrow_formals_comp arrow1 in (match uu____14536 with - | (formals, c) -> + | (formals,c) -> let rec aux bs bs_terms formals1 wl1 = match formals1 with | [] -> let uu____14598 = - imitate_comp bs bs_terms c wl1 in + imitate_comp bs bs_terms c wl1 in (match uu____14598 with - | (c', wl2) -> + | (c',wl2) -> let lhs' = - FStar_Syntax_Util.arrow bs c' in + FStar_Syntax_Util.arrow bs c' in let sol = let uu____14609 = let uu____14614 = FStar_Syntax_Util.abs bs_lhs lhs' (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot - t_res_lhs)) in - (u_lhs, uu____14614) in - TERM uu____14609 in + t_res_lhs)) + in + (u_lhs, uu____14614) in + TERM uu____14609 in let uu____14615 = mk_t_problem wl2 [] orig lhs' rel arrow1 FStar_Pervasives_Native.None - "arrow imitation" in + "arrow imitation" + in (match uu____14615 with - | (sub_prob, wl3) -> + | (sub_prob,wl3) -> let uu____14629 = let uu____14630 = solve_prob orig FStar_Pervasives_Native.None - [sol] wl3 in - attempt [sub_prob] uu____14630 in + [sol] wl3 + in + attempt [sub_prob] uu____14630 + in solve env uu____14629)) - | (x, imp)::formals2 -> + | (x,imp)::formals2 -> let uu____14652 = let uu____14659 = let uu____14662 = - FStar_Syntax_Util.type_u () in + FStar_Syntax_Util.type_u () in FStar_All.pipe_right uu____14662 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in copy_uvar u_lhs (FStar_List.append bs_lhs bs) - uu____14659 wl1 in + uu____14659 wl1 + in (match uu____14652 with - | (_ctx_u_x, u_x, wl2) -> + | (_ctx_u_x,u_x,wl2) -> let y = let uu____14683 = let uu____14686 = - FStar_Syntax_Syntax.range_of_bv x in + FStar_Syntax_Syntax.range_of_bv x + in FStar_Pervasives_Native.Some - uu____14686 in + uu____14686 + in FStar_Syntax_Syntax.new_bv - uu____14683 u_x in + uu____14683 u_x + in let uu____14687 = let uu____14690 = let uu____14693 = let uu____14694 = FStar_Syntax_Syntax.bv_to_name - y in - (uu____14694, imp) in - [uu____14693] in + y + in + (uu____14694, imp) in + [uu____14693] in FStar_List.append bs_terms - uu____14690 in + uu____14690 + in aux (FStar_List.append bs [(y, imp)]) - uu____14687 formals2 wl2) in - let uu____14721 = occurs_check u_lhs arrow1 in + uu____14687 formals2 wl2) + in + let uu____14721 = occurs_check u_lhs arrow1 in (match uu____14721 with - | (uu____14734, occurs_ok, msg) -> + | (uu____14734,occurs_ok,msg) -> if Prims.op_Negation occurs_ok then let uu____14750 = - let uu____14752 = FStar_Option.get msg in + let uu____14752 = FStar_Option.get msg + in Prims.op_Hat "occurs-check failed: " - uu____14752 in + uu____14752 + in giveup_or_defer env orig wl uu____14750 else aux [] [] formals wl)) + and (solve_binders : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.binders -> @@ -4559,107 +4969,122 @@ and (solve_binders : (FStar_TypeChecker_Common.prob * worklist)) -> solution) = - fun env -> - fun bs1 -> - fun bs2 -> - fun orig -> - fun wl -> - fun rhs -> + fun env -> + fun bs1 -> + fun bs2 -> + fun orig -> + fun wl -> + fun rhs -> (let uu____14785 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____14785 then let uu____14790 = - FStar_Syntax_Print.binders_to_string ", " bs1 in + FStar_Syntax_Print.binders_to_string ", " bs1 in let uu____14793 = - FStar_Syntax_Print.binders_to_string ", " bs2 in + FStar_Syntax_Print.binders_to_string ", " bs2 in FStar_Util.print3 "solve_binders\n\t%s\n%s\n\t%s\n" uu____14790 (rel_to_string (p_rel orig)) uu____14793 else ()); (let rec aux wl1 scope env1 subst1 xs ys = match (xs, ys) with - | ([], []) -> - let uu____14920 = rhs wl1 scope env1 subst1 in + | ([],[]) -> + let uu____14920 = rhs wl1 scope env1 subst1 in (match uu____14920 with - | (rhs_prob, wl2) -> + | (rhs_prob,wl2) -> ((let uu____14941 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____14941 then - let uu____14946 = prob_to_string env1 rhs_prob in + let uu____14946 = prob_to_string env1 rhs_prob + in FStar_Util.print1 "rhs_prob = %s\n" uu____14946 else ()); - (let formula = p_guard rhs_prob in + (let formula = p_guard rhs_prob in ((FStar_Util.Inl ([rhs_prob], formula)), wl2)))) - | ((hd1, imp)::xs1, (hd2, imp')::ys1) when - let uu____15024 = FStar_Syntax_Util.eq_aqual imp imp' in + | ((hd1,imp)::xs1,(hd2,imp')::ys1) when + let uu____15024 = FStar_Syntax_Util.eq_aqual imp imp' + in uu____15024 = FStar_Syntax_Util.Equal -> let hd11 = - let uu___2185_15026 = hd1 in + let uu___2185_15026 = hd1 in let uu____15027 = FStar_Syntax_Subst.subst subst1 - hd1.FStar_Syntax_Syntax.sort in + hd1.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = (uu___2185_15026.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___2185_15026.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____15027 - } in + } in let hd21 = - let uu___2188_15031 = hd2 in + let uu___2188_15031 = hd2 in let uu____15032 = FStar_Syntax_Subst.subst subst1 - hd2.FStar_Syntax_Syntax.sort in + hd2.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = (uu___2188_15031.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___2188_15031.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____15032 - } in + } in let uu____15035 = let uu____15040 = - FStar_All.pipe_left invert_rel (p_rel orig) in + FStar_All.pipe_left invert_rel (p_rel orig) in mk_t_problem wl1 scope orig hd11.FStar_Syntax_Syntax.sort uu____15040 hd21.FStar_Syntax_Syntax.sort - FStar_Pervasives_Native.None "Formal parameter" in + FStar_Pervasives_Native.None "Formal parameter" + in (match uu____15035 with - | (prob, wl2) -> - let hd12 = FStar_Syntax_Syntax.freshen_bv hd11 in + | (prob,wl2) -> + let hd12 = FStar_Syntax_Syntax.freshen_bv hd11 in let subst2 = let uu____15061 = FStar_Syntax_Subst.shift_subst - (Prims.parse_int "1") subst1 in + (Prims.parse_int "1") subst1 + in (FStar_Syntax_Syntax.DB ((Prims.parse_int "0"), hd12)) - :: uu____15061 in - let env2 = FStar_TypeChecker_Env.push_bv env1 hd12 in + :: uu____15061 + in + let env2 = FStar_TypeChecker_Env.push_bv env1 hd12 + in let uu____15068 = aux wl2 (FStar_List.append scope [(hd12, imp)]) - env2 subst2 xs1 ys1 in + env2 subst2 xs1 ys1 + in (match uu____15068 with - | (FStar_Util.Inl (sub_probs, phi), wl3) -> + | (FStar_Util.Inl (sub_probs,phi),wl3) -> let phi1 = let uu____15135 = FStar_TypeChecker_Env.close_forall env2 - [(hd12, imp)] phi in + [(hd12, imp)] phi + in FStar_Syntax_Util.mk_conj (p_guard prob) - uu____15135 in + uu____15135 + in ((let uu____15153 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env2) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____15153 then let uu____15158 = - FStar_Syntax_Print.term_to_string phi1 in + FStar_Syntax_Print.term_to_string phi1 + in let uu____15160 = - FStar_Syntax_Print.bv_to_string hd12 in + FStar_Syntax_Print.bv_to_string hd12 in FStar_Util.print2 "Formula is %s\n\thd1=%s\n" uu____15158 uu____15160 @@ -4669,16 +5094,19 @@ and (solve_binders : | fail1 -> fail1)) | uu____15193 -> ((FStar_Util.Inr "arity or argument-qualifier mismatch"), - wl1) in - let uu____15229 = aux wl [] env [] bs1 bs2 in + wl1) + in + let uu____15229 = aux wl [] env [] bs1 bs2 in match uu____15229 with - | (FStar_Util.Inr msg, wl1) -> giveup env msg orig - | (FStar_Util.Inl (sub_probs, phi), wl1) -> + | (FStar_Util.Inr msg,wl1) -> giveup env msg orig + | (FStar_Util.Inl (sub_probs,phi),wl1) -> let wl2 = solve_prob orig (FStar_Pervasives_Native.Some phi) [] - wl1 in - let uu____15284 = attempt sub_probs wl2 in + wl1 + in + let uu____15284 = attempt sub_probs wl2 in solve env uu____15284) + and (try_solve_without_smt_or_else : FStar_TypeChecker_Env.env -> worklist -> @@ -4688,12 +5116,12 @@ and (try_solve_without_smt_or_else : (FStar_TypeChecker_Common.prob * Prims.string) -> solution) -> solution) = - fun env -> - fun wl -> - fun try_solve -> - fun else_solve -> + fun env -> + fun wl -> + fun try_solve -> + fun else_solve -> let wl' = - let uu___2223_15305 = wl in + let uu___2223_15305 = wl in { attempting = []; wl_deferred = []; @@ -4703,14 +5131,14 @@ and (try_solve_without_smt_or_else : umax_heuristic_ok = false; tcenv = (uu___2223_15305.tcenv); wl_implicits = [] - } in - let tx = FStar_Syntax_Unionfind.new_transaction () in - let uu____15318 = try_solve env wl' in + } in + let tx = FStar_Syntax_Unionfind.new_transaction () in + let uu____15318 = try_solve env wl' in match uu____15318 with - | Success (uu____15319, imps) -> + | Success (uu____15319,imps) -> (FStar_Syntax_Unionfind.commit tx; (let wl1 = - let uu___2232_15323 = wl in + let uu___2232_15323 = wl in { attempting = (uu___2232_15323.attempting); wl_deferred = (uu___2232_15323.wl_deferred); @@ -4720,76 +5148,84 @@ and (try_solve_without_smt_or_else : umax_heuristic_ok = (uu___2232_15323.umax_heuristic_ok); tcenv = (uu___2232_15323.tcenv); wl_implicits = (FStar_List.append wl.wl_implicits imps) - } in + } in solve env wl1)) - | Failed (p, s) -> + | Failed (p,s) -> (FStar_Syntax_Unionfind.rollback tx; else_solve env wl (p, s)) + and (solve_t : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = - fun env -> - fun problem -> - fun wl -> + fun env -> + fun problem -> + fun wl -> def_check_prob "solve_t" (FStar_TypeChecker_Common.TProb problem); - (let uu____15335 = compress_tprob wl.tcenv problem in + (let uu____15335 = compress_tprob wl.tcenv problem in solve_t' env uu____15335 wl) + and (solve_t_flex_rigid_eq : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Common.prob -> worklist -> flex_t -> FStar_Syntax_Syntax.term -> solution) = - fun env -> - fun orig -> - fun wl -> - fun lhs -> - fun rhs -> + fun env -> + fun orig -> + fun wl -> + fun lhs -> + fun rhs -> let binders_as_bv_set bs = - let uu____15349 = FStar_List.map FStar_Pervasives_Native.fst bs in - FStar_Util.as_set uu____15349 FStar_Syntax_Syntax.order_bv in + let uu____15349 = FStar_List.map FStar_Pervasives_Native.fst bs + in + FStar_Util.as_set uu____15349 FStar_Syntax_Syntax.order_bv in let mk_solution env1 lhs1 bs rhs1 = - let uu____15383 = lhs1 in + let uu____15383 = lhs1 in match uu____15383 with - | (uu____15386, ctx_u, uu____15388) -> + | (uu____15386,ctx_u,uu____15388) -> let sol = match bs with | [] -> rhs1 | uu____15396 -> - let uu____15397 = sn_binders env1 bs in + let uu____15397 = sn_binders env1 bs in u_abs ctx_u.FStar_Syntax_Syntax.ctx_uvar_typ - uu____15397 rhs1 in - [TERM (ctx_u, sol)] in + uu____15397 rhs1 + in + [TERM (ctx_u, sol)] + in let try_quasi_pattern orig1 env1 wl1 lhs1 rhs1 = - let uu____15446 = quasi_pattern env1 lhs1 in + let uu____15446 = quasi_pattern env1 lhs1 in match uu____15446 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> ((FStar_Util.Inl "Not a quasi-pattern"), wl1) - | FStar_Pervasives_Native.Some (bs, uu____15480) -> - let uu____15485 = lhs1 in + | FStar_Pervasives_Native.Some (bs,uu____15480) -> + let uu____15485 = lhs1 in (match uu____15485 with - | (t_lhs, ctx_u, args) -> - let uu____15500 = occurs_check ctx_u rhs1 in + | (t_lhs,ctx_u,args) -> + let uu____15500 = occurs_check ctx_u rhs1 in (match uu____15500 with - | (uvars1, occurs_ok, msg) -> + | (uvars1,occurs_ok,msg) -> if Prims.op_Negation occurs_ok then let uu____15551 = let uu____15559 = - let uu____15561 = FStar_Option.get msg in + let uu____15561 = FStar_Option.get msg in Prims.op_Hat "quasi-pattern, occurs-check failed: " - uu____15561 in - FStar_Util.Inl uu____15559 in + uu____15561 + in + FStar_Util.Inl uu____15559 in (uu____15551, wl1) else (let fvs_lhs = binders_as_bv_set (FStar_List.append ctx_u.FStar_Syntax_Syntax.ctx_uvar_binders - bs) in - let fvs_rhs = FStar_Syntax_Free.names rhs1 in + bs) + in + let fvs_rhs = FStar_Syntax_Free.names rhs1 in let uu____15589 = let uu____15591 = FStar_Util.set_is_subset_of fvs_rhs - fvs_lhs in - Prims.op_Negation uu____15591 in + fvs_lhs + in + Prims.op_Negation uu____15591 in if uu____15589 then ((FStar_Util.Inl @@ -4798,54 +5234,62 @@ and (solve_t_flex_rigid_eq : else (let uu____15618 = let uu____15626 = - mk_solution env1 lhs1 bs rhs1 in - FStar_Util.Inr uu____15626 in + mk_solution env1 lhs1 bs rhs1 in + FStar_Util.Inr uu____15626 in let uu____15632 = - restrict_all_uvars ctx_u uvars1 wl1 in - (uu____15618, uu____15632))))) in + restrict_all_uvars ctx_u uvars1 wl1 in + (uu____15618, uu____15632))))) + in let imitate_app orig1 env1 wl1 lhs1 bs_lhs t_res_lhs rhs1 = - let uu____15676 = FStar_Syntax_Util.head_and_args rhs1 in + let uu____15676 = FStar_Syntax_Util.head_and_args rhs1 in match uu____15676 with - | (rhs_hd, args) -> - let uu____15719 = FStar_Util.prefix args in + | (rhs_hd,args) -> + let uu____15719 = FStar_Util.prefix args in (match uu____15719 with - | (args_rhs, last_arg_rhs) -> + | (args_rhs,last_arg_rhs) -> let rhs' = FStar_Syntax_Syntax.mk_Tm_app rhs_hd args_rhs FStar_Pervasives_Native.None - rhs1.FStar_Syntax_Syntax.pos in - let uu____15791 = lhs1 in + rhs1.FStar_Syntax_Syntax.pos + in + let uu____15791 = lhs1 in (match uu____15791 with - | (t_lhs, u_lhs, _lhs_args) -> + | (t_lhs,u_lhs,_lhs_args) -> let uu____15795 = let uu____15806 = let uu____15813 = let uu____15816 = - FStar_Syntax_Util.type_u () in + FStar_Syntax_Util.type_u () in FStar_All.pipe_left - FStar_Pervasives_Native.fst uu____15816 in - copy_uvar u_lhs [] uu____15813 wl1 in + FStar_Pervasives_Native.fst uu____15816 + in + copy_uvar u_lhs [] uu____15813 wl1 in match uu____15806 with - | (uu____15843, t_last_arg, wl2) -> + | (uu____15843,t_last_arg,wl2) -> let uu____15846 = let uu____15853 = let uu____15854 = let uu____15863 = FStar_Syntax_Syntax.null_binder - t_last_arg in - [uu____15863] in - FStar_List.append bs_lhs uu____15854 in - copy_uvar u_lhs uu____15853 t_res_lhs wl2 in + t_last_arg + in + [uu____15863] in + FStar_List.append bs_lhs uu____15854 + in + copy_uvar u_lhs uu____15853 t_res_lhs wl2 + in (match uu____15846 with - | (uu____15898, lhs', wl3) -> + | (uu____15898,lhs',wl3) -> let uu____15901 = copy_uvar u_lhs bs_lhs t_last_arg - wl3 in + wl3 + in (match uu____15901 with - | (uu____15918, lhs'_last_arg, wl4) - -> (lhs', lhs'_last_arg, wl4))) in + | (uu____15918,lhs'_last_arg,wl4) -> + (lhs', lhs'_last_arg, wl4))) + in (match uu____15795 with - | (lhs', lhs'_last_arg, wl2) -> + | (lhs',lhs'_last_arg,wl2) -> let sol = let uu____15939 = let uu____15940 = @@ -4855,29 +5299,34 @@ and (solve_t_flex_rigid_eq : let uu____15954 = let uu____15955 = FStar_Syntax_Syntax.as_arg - lhs'_last_arg in - [uu____15955] in + lhs'_last_arg + in + [uu____15955] in FStar_Syntax_Syntax.mk_Tm_app - lhs' uu____15954 in + lhs' uu____15954 + in uu____15949 FStar_Pervasives_Native.None - t_lhs.FStar_Syntax_Syntax.pos in + t_lhs.FStar_Syntax_Syntax.pos + in FStar_Syntax_Util.abs bs_lhs uu____15946 (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot - t_res_lhs)) in - (u_lhs, uu____15945) in - TERM uu____15940 in - [uu____15939] in + t_res_lhs)) + in + (u_lhs, uu____15945) in + TERM uu____15940 in + [uu____15939] in let uu____15980 = let uu____15987 = mk_t_problem wl2 [] orig1 lhs' FStar_TypeChecker_Common.EQ rhs' FStar_Pervasives_Native.None - "first-order lhs" in + "first-order lhs" + in match uu____15987 with - | (p1, wl3) -> + | (p1,wl3) -> let uu____16007 = mk_t_problem wl3 [] orig1 lhs'_last_arg @@ -4885,130 +5334,148 @@ and (solve_t_flex_rigid_eq : (FStar_Pervasives_Native.fst last_arg_rhs) FStar_Pervasives_Native.None - "first-order rhs" in + "first-order rhs" + in (match uu____16007 with - | (p2, wl4) -> ([p1; p2], wl4)) in + | (p2,wl4) -> ([p1; p2], wl4)) + in (match uu____15980 with - | (sub_probs, wl3) -> + | (sub_probs,wl3) -> let uu____16039 = let uu____16040 = solve_prob orig1 FStar_Pervasives_Native.None sol - wl3 in - attempt sub_probs uu____16040 in - solve env1 uu____16039)))) in + wl3 + in + attempt sub_probs uu____16040 in + solve env1 uu____16039)))) + in let first_order orig1 env1 wl1 lhs1 rhs1 = let is_app rhs2 = - let uu____16074 = FStar_Syntax_Util.head_and_args rhs2 in + let uu____16074 = FStar_Syntax_Util.head_and_args rhs2 in match uu____16074 with - | (uu____16092, args) -> - (match args with | [] -> false | uu____16128 -> true) in + | (uu____16092,args) -> + (match args with | [] -> false | uu____16128 -> true) + in let is_arrow rhs2 = let uu____16147 = - let uu____16148 = FStar_Syntax_Subst.compress rhs2 in - uu____16148.FStar_Syntax_Syntax.n in + let uu____16148 = FStar_Syntax_Subst.compress rhs2 in + uu____16148.FStar_Syntax_Syntax.n in match uu____16147 with | FStar_Syntax_Syntax.Tm_arrow uu____16152 -> true - | uu____16168 -> false in - let uu____16170 = quasi_pattern env1 lhs1 in + | uu____16168 -> false in + let uu____16170 = quasi_pattern env1 lhs1 in match uu____16170 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____16181 = - let uu____16183 = prob_to_string env1 orig1 in + let uu____16183 = prob_to_string env1 orig1 in FStar_Util.format1 "first_order heuristic cannot solve %s; lhs not a quasi-pattern" - uu____16183 in + uu____16183 + in giveup_or_defer env1 orig1 wl1 uu____16181 - | FStar_Pervasives_Native.Some (bs_lhs, t_res_lhs) -> - let uu____16192 = is_app rhs1 in + | FStar_Pervasives_Native.Some (bs_lhs,t_res_lhs) -> + let uu____16192 = is_app rhs1 in if uu____16192 then imitate_app orig1 env1 wl1 lhs1 bs_lhs t_res_lhs rhs1 else - (let uu____16197 = is_arrow rhs1 in + (let uu____16197 = is_arrow rhs1 in if uu____16197 then imitate_arrow orig1 env1 wl1 lhs1 bs_lhs t_res_lhs FStar_TypeChecker_Common.EQ rhs1 else (let uu____16202 = - let uu____16204 = prob_to_string env1 orig1 in + let uu____16204 = prob_to_string env1 orig1 in FStar_Util.format1 "first_order heuristic cannot solve %s; rhs not an app or arrow" - uu____16204 in - giveup_or_defer env1 orig1 wl1 uu____16202)) in + uu____16204 + in + giveup_or_defer env1 orig1 wl1 uu____16202)) + in match p_rel orig with - | FStar_TypeChecker_Common.SUB -> + | FStar_TypeChecker_Common.SUB -> if wl.defer_ok then giveup_or_defer env orig wl "flex-rigid subtyping" else solve_t_flex_rigid_eq env (make_prob_eq orig) wl lhs rhs - | FStar_TypeChecker_Common.SUBINV -> + | FStar_TypeChecker_Common.SUBINV -> if wl.defer_ok then giveup_or_defer env orig wl "flex-rigid subtyping" else solve_t_flex_rigid_eq env (make_prob_eq orig) wl lhs rhs - | FStar_TypeChecker_Common.EQ -> - let uu____16215 = lhs in + | FStar_TypeChecker_Common.EQ -> + let uu____16215 = lhs in (match uu____16215 with - | (_t1, ctx_uv, args_lhs) -> + | (_t1,ctx_uv,args_lhs) -> let uu____16219 = pat_vars env - ctx_uv.FStar_Syntax_Syntax.ctx_uvar_binders args_lhs in + ctx_uv.FStar_Syntax_Syntax.ctx_uvar_binders args_lhs + in (match uu____16219 with | FStar_Pervasives_Native.Some lhs_binders -> - let rhs1 = sn env rhs in + let rhs1 = sn env rhs in let names_to_string1 fvs = let uu____16237 = - let uu____16241 = FStar_Util.set_elements fvs in + let uu____16241 = FStar_Util.set_elements fvs + in FStar_List.map FStar_Syntax_Print.bv_to_string - uu____16241 in + uu____16241 + in FStar_All.pipe_right uu____16237 - (FStar_String.concat ", ") in + (FStar_String.concat ", ") + in let fvs1 = binders_as_bv_set (FStar_List.append ctx_uv.FStar_Syntax_Syntax.ctx_uvar_binders - lhs_binders) in - let fvs2 = FStar_Syntax_Free.names rhs1 in - let uu____16262 = occurs_check ctx_uv rhs1 in + lhs_binders) + in + let fvs2 = FStar_Syntax_Free.names rhs1 in + let uu____16262 = occurs_check ctx_uv rhs1 in (match uu____16262 with - | (uvars1, occurs_ok, msg) -> + | (uvars1,occurs_ok,msg) -> if Prims.op_Negation occurs_ok then let uu____16291 = - let uu____16293 = FStar_Option.get msg in + let uu____16293 = FStar_Option.get msg in Prims.op_Hat "occurs-check failed: " - uu____16293 in + uu____16293 + in giveup_or_defer env orig wl uu____16291 else (let uu____16299 = - FStar_Util.set_is_subset_of fvs2 fvs1 in + FStar_Util.set_is_subset_of fvs2 fvs1 in if uu____16299 then let sol = - mk_solution env lhs lhs_binders rhs1 in + mk_solution env lhs lhs_binders rhs1 + in let wl1 = - restrict_all_uvars ctx_uv uvars1 wl in + restrict_all_uvars ctx_uv uvars1 wl in let uu____16306 = solve_prob orig - FStar_Pervasives_Native.None sol wl1 in + FStar_Pervasives_Native.None sol wl1 + in solve env uu____16306 else if wl.defer_ok then (let uu____16310 = let uu____16312 = - names_to_string1 fvs2 in + names_to_string1 fvs2 in let uu____16314 = - names_to_string1 fvs1 in + names_to_string1 fvs1 in let uu____16316 = FStar_Syntax_Print.binders_to_string ", " (FStar_List.append ctx_uv.FStar_Syntax_Syntax.ctx_uvar_binders - lhs_binders) in + lhs_binders) + in FStar_Util.format3 "free names in the RHS {%s} are out of scope for the LHS: {%s}, {%s}" uu____16312 uu____16314 - uu____16316 in + uu____16316 + in giveup_or_defer env orig wl uu____16310) else first_order orig env wl lhs rhs1)) @@ -5017,34 +5484,36 @@ and (solve_t_flex_rigid_eq : then giveup_or_defer env orig wl "Not a pattern" else (let uu____16335 = - try_quasi_pattern orig env wl lhs rhs in + try_quasi_pattern orig env wl lhs rhs in match uu____16335 with - | (FStar_Util.Inr sol, wl1) -> + | (FStar_Util.Inr sol,wl1) -> let uu____16361 = solve_prob orig - FStar_Pervasives_Native.None sol wl1 in + FStar_Pervasives_Native.None sol wl1 + in solve env uu____16361 - | (FStar_Util.Inl msg, uu____16363) -> + | (FStar_Util.Inl msg,uu____16363) -> first_order orig env wl lhs rhs))) + and (solve_t_flex_flex : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Common.prob -> worklist -> flex_t -> flex_t -> solution) = - fun env -> - fun orig -> - fun wl -> - fun lhs -> - fun rhs -> + fun env -> + fun orig -> + fun wl -> + fun lhs -> + fun rhs -> match p_rel orig with - | FStar_TypeChecker_Common.SUB -> + | FStar_TypeChecker_Common.SUB -> if wl.defer_ok then giveup_or_defer env orig wl "flex-flex subtyping" else solve_t_flex_flex env (make_prob_eq orig) wl lhs rhs - | FStar_TypeChecker_Common.SUBINV -> + | FStar_TypeChecker_Common.SUBINV -> if wl.defer_ok then giveup_or_defer env orig wl "flex-flex subtyping" else solve_t_flex_flex env (make_prob_eq orig) wl lhs rhs - | FStar_TypeChecker_Common.EQ -> + | FStar_TypeChecker_Common.EQ -> if wl.defer_ok && ((Prims.op_Negation (is_flex_pat lhs)) || @@ -5052,57 +5521,64 @@ and (solve_t_flex_flex : then giveup_or_defer env orig wl "flex-flex non-pattern" else (let uu____16408 = - let uu____16425 = quasi_pattern env lhs in - let uu____16432 = quasi_pattern env rhs in - (uu____16425, uu____16432) in + let uu____16425 = quasi_pattern env lhs in + let uu____16432 = quasi_pattern env rhs in + (uu____16425, uu____16432) in match uu____16408 with - | (FStar_Pervasives_Native.Some (binders_lhs, t_res_lhs), - FStar_Pervasives_Native.Some (binders_rhs, t_res_rhs)) - -> - let uu____16475 = lhs in + | (FStar_Pervasives_Native.Some + (binders_lhs,t_res_lhs),FStar_Pervasives_Native.Some + (binders_rhs,t_res_rhs)) -> + let uu____16475 = lhs in (match uu____16475 with | ({ FStar_Syntax_Syntax.n = uu____16476; FStar_Syntax_Syntax.pos = range; - FStar_Syntax_Syntax.vars = uu____16478;_}, - u_lhs, uu____16480) -> - let uu____16483 = rhs in + FStar_Syntax_Syntax.vars = uu____16478;_},u_lhs,uu____16480) + -> + let uu____16483 = rhs in (match uu____16483 with - | (uu____16484, u_rhs, uu____16486) -> + | (uu____16484,u_rhs,uu____16486) -> let uu____16487 = (FStar_Syntax_Unionfind.equiv u_lhs.FStar_Syntax_Syntax.ctx_uvar_head u_rhs.FStar_Syntax_Syntax.ctx_uvar_head) - && (binders_eq binders_lhs binders_rhs) in + && (binders_eq binders_lhs binders_rhs) + in if uu____16487 then let uu____16494 = solve_prob orig - FStar_Pervasives_Native.None [] wl in + FStar_Pervasives_Native.None [] wl + in solve env uu____16494 else (let uu____16497 = maximal_prefix u_lhs.FStar_Syntax_Syntax.ctx_uvar_binders - u_rhs.FStar_Syntax_Syntax.ctx_uvar_binders in + u_rhs.FStar_Syntax_Syntax.ctx_uvar_binders + in match uu____16497 with - | (ctx_w, (ctx_l, ctx_r)) -> + | (ctx_w,(ctx_l,ctx_r)) -> let gamma_w = gamma_until u_lhs.FStar_Syntax_Syntax.ctx_uvar_gamma - ctx_w in + ctx_w + in let zs = intersect_binders gamma_w (FStar_List.append ctx_l binders_lhs) (FStar_List.append ctx_r - binders_rhs) in + binders_rhs) + in let uu____16529 = let uu____16536 = let uu____16539 = FStar_Syntax_Syntax.mk_Total - t_res_lhs in + t_res_lhs + in FStar_Syntax_Util.arrow zs - uu____16539 in + uu____16539 + in new_uvar (Prims.op_Hat "flex-flex quasi:" (Prims.op_Hat "\tlhs=" @@ -5113,72 +5589,88 @@ and (solve_t_flex_flex : wl range gamma_w ctx_w uu____16536 FStar_Syntax_Syntax.Strict - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (match uu____16529 with - | (uu____16551, w, wl1) -> + | (uu____16551,w,wl1) -> let w_app = let uu____16557 = let uu____16562 = FStar_List.map - (fun uu____16573 -> + (fun uu____16573 -> match uu____16573 with - | (z, uu____16581) -> + | (z,uu____16581) -> let uu____16586 = FStar_Syntax_Syntax.bv_to_name - z in + z + in FStar_Syntax_Syntax.as_arg - uu____16586) zs in + uu____16586) zs + in FStar_Syntax_Syntax.mk_Tm_app - w uu____16562 in + w uu____16562 + in uu____16557 FStar_Pervasives_Native.None - w.FStar_Syntax_Syntax.pos in + w.FStar_Syntax_Syntax.pos + in ((let uu____16588 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____16588 then let uu____16593 = let uu____16597 = - flex_t_to_string lhs in + flex_t_to_string lhs in let uu____16599 = let uu____16603 = - flex_t_to_string rhs in + flex_t_to_string rhs + in let uu____16605 = let uu____16609 = - term_to_string w in + term_to_string w in let uu____16611 = let uu____16615 = FStar_Syntax_Print.binders_to_string ", " (FStar_List.append ctx_l - binders_lhs) in + binders_lhs) + in let uu____16624 = let uu____16628 = FStar_Syntax_Print.binders_to_string ", " (FStar_List.append ctx_r - binders_rhs) in + binders_rhs) + in let uu____16637 = let uu____16641 = FStar_Syntax_Print.binders_to_string - ", " zs in - [uu____16641] in + ", " zs + in + [uu____16641] + in uu____16628 :: - uu____16637 in + uu____16637 + in uu____16615 :: - uu____16624 in + uu____16624 + in uu____16609 :: - uu____16611 in + uu____16611 + in uu____16603 :: - uu____16605 in - uu____16597 :: uu____16599 in + uu____16605 + in + uu____16597 :: uu____16599 + in FStar_Util.print "flex-flex quasi:\n\tlhs=%s\n\trhs=%s\n\tsol=%s\n\tctx_l@binders_lhs=%s\n\tctx_r@binders_rhs=%s\n\tzs=%s\n" uu____16593 @@ -5191,13 +5683,15 @@ and (solve_t_flex_flex : binders_lhs w_app (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot - t_res_lhs)) in - (u_lhs, uu____16663) in - TERM uu____16658 in + t_res_lhs)) + in + (u_lhs, uu____16663) in + TERM uu____16658 in let uu____16664 = FStar_Syntax_Unionfind.equiv u_lhs.FStar_Syntax_Syntax.ctx_uvar_head - u_rhs.FStar_Syntax_Syntax.ctx_uvar_head in + u_rhs.FStar_Syntax_Syntax.ctx_uvar_head + in if uu____16664 then [s1] else @@ -5208,81 +5702,90 @@ and (solve_t_flex_flex : binders_rhs w_app (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot - t_res_lhs)) in - (u_rhs, uu____16677) in - TERM uu____16672 in - [s1; s2]) in + t_res_lhs)) + in + (u_rhs, uu____16677) + in + TERM uu____16672 in + [s1; s2]) + in let uu____16678 = solve_prob orig FStar_Pervasives_Native.None - sol wl1 in + sol wl1 + in solve env uu____16678)))))) | uu____16679 -> giveup_or_defer env orig wl "flex-flex: non-patterns") + and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = - fun env -> - fun problem -> - fun wl -> + fun env -> + fun problem -> + fun wl -> def_check_prob "solve_t'.1" (FStar_TypeChecker_Common.TProb problem); - (let giveup_or_defer1 orig msg = giveup_or_defer env orig wl msg in + (let giveup_or_defer1 orig msg = giveup_or_defer env orig wl msg in let rigid_heads_match env1 need_unif torig wl1 t1 t2 = - let orig = FStar_TypeChecker_Common.TProb torig in + let orig = FStar_TypeChecker_Common.TProb torig in (let uu____16750 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____16750 then - let uu____16755 = FStar_Syntax_Print.term_to_string t1 in - let uu____16757 = FStar_Syntax_Print.tag_of_term t1 in - let uu____16759 = FStar_Syntax_Print.term_to_string t2 in - let uu____16761 = FStar_Syntax_Print.tag_of_term t2 in + let uu____16755 = FStar_Syntax_Print.term_to_string t1 in + let uu____16757 = FStar_Syntax_Print.tag_of_term t1 in + let uu____16759 = FStar_Syntax_Print.term_to_string t2 in + let uu____16761 = FStar_Syntax_Print.tag_of_term t2 in FStar_Util.print5 "Heads %s: %s (%s) and %s (%s)\n" (if need_unif then "need unification" else "match") uu____16755 uu____16757 uu____16759 uu____16761 else ()); - (let uu____16772 = FStar_Syntax_Util.head_and_args t1 in + (let uu____16772 = FStar_Syntax_Util.head_and_args t1 in match uu____16772 with - | (head1, args1) -> - let uu____16815 = FStar_Syntax_Util.head_and_args t2 in + | (head1,args1) -> + let uu____16815 = FStar_Syntax_Util.head_and_args t2 in (match uu____16815 with - | (head2, args2) -> + | (head2,args2) -> let solve_head_then wl2 k = if need_unif then k true wl2 else (let uu____16885 = - solve_maybe_uinsts env1 orig head1 head2 wl2 in + solve_maybe_uinsts env1 orig head1 head2 wl2 in match uu____16885 with | USolved wl3 -> k true wl3 | UFailed msg -> giveup env1 msg orig | UDeferred wl3 -> - k false (defer "universe constraints" orig wl3)) in - let nargs = FStar_List.length args1 in + k false (defer "universe constraints" orig wl3)) + in + let nargs = FStar_List.length args1 in if nargs <> (FStar_List.length args2) then let uu____16911 = let uu____16913 = - FStar_Syntax_Print.term_to_string head1 in - let uu____16915 = args_to_string args1 in + FStar_Syntax_Print.term_to_string head1 in + let uu____16915 = args_to_string args1 in let uu____16919 = - FStar_Syntax_Print.term_to_string head2 in - let uu____16921 = args_to_string args2 in + FStar_Syntax_Print.term_to_string head2 in + let uu____16921 = args_to_string args2 in FStar_Util.format4 "unequal number of arguments: %s[%s] and %s[%s]" - uu____16913 uu____16915 uu____16919 uu____16921 in + uu____16913 uu____16915 uu____16919 uu____16921 + in giveup env1 uu____16911 orig else (let uu____16928 = (nargs = (Prims.parse_int "0")) || (let uu____16933 = - FStar_Syntax_Util.eq_args args1 args2 in - uu____16933 = FStar_Syntax_Util.Equal) in + FStar_Syntax_Util.eq_args args1 args2 in + uu____16933 = FStar_Syntax_Util.Equal) + in if uu____16928 then (if need_unif then solve_t env1 - (let uu___2481_16937 = problem in + (let uu___2481_16937 = problem in { FStar_TypeChecker_Common.pid = (uu___2481_16937.FStar_TypeChecker_Common.pid); @@ -5306,25 +5809,27 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = }) wl1 else solve_head_then wl1 - (fun ok -> - fun wl2 -> + (fun ok -> + fun wl2 -> if ok then let uu____16947 = solve_prob orig - FStar_Pervasives_Native.None [] wl2 in + FStar_Pervasives_Native.None [] wl2 + in solve env1 uu____16947 else solve env1 wl2)) else - (let uu____16952 = base_and_refinement env1 t1 in + (let uu____16952 = base_and_refinement env1 t1 in match uu____16952 with - | (base1, refinement1) -> - let uu____16977 = base_and_refinement env1 t2 in + | (base1,refinement1) -> + let uu____16977 = base_and_refinement env1 t2 + in (match uu____16977 with - | (base2, refinement2) -> + | (base2,refinement2) -> (match (refinement1, refinement2) with - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.None ) -> let mk_sub_probs wl2 = let argp = if need_unif @@ -5336,51 +5841,57 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = ((head2, FStar_Pervasives_Native.None) :: args2) - else FStar_List.zip args1 args2 in + else FStar_List.zip args1 args2 + in let uu____17142 = FStar_List.fold_right - (fun uu____17182 -> - fun uu____17183 -> + (fun uu____17182 -> + fun uu____17183 -> match (uu____17182, uu____17183) with - | (((a1, uu____17235), - (a2, uu____17237)), - (probs, wl3)) -> + | (((a1,uu____17235), + (a2,uu____17237)), + (probs,wl3)) -> let uu____17286 = mk_problem wl3 [] orig a1 FStar_TypeChecker_Common.EQ a2 FStar_Pervasives_Native.None - "index" in + "index" + in (match uu____17286 with - | (prob', wl4) -> + | (prob',wl4) -> (((FStar_TypeChecker_Common.TProb prob') :: probs), wl4))) - argp ([], wl2) in + argp ([], wl2) + in match uu____17142 with - | (subprobs, wl3) -> + | (subprobs,wl3) -> ((let uu____17329 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) (FStar_Options.Other - "Rel") in + "Rel") + in if uu____17329 then let uu____17334 = FStar_Syntax_Print.list_to_string (prob_to_string env1) - subprobs in + subprobs + in FStar_Util.print1 "Adding subproblems for arguments: %s" uu____17334 else ()); (let uu____17340 = - FStar_Options.defensive () in + FStar_Options.defensive () + in if uu____17340 then FStar_List.iter @@ -5388,68 +5899,80 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = "solve_t' subprobs") subprobs else ()); - (subprobs, wl3)) in + (subprobs, wl3)) + in let solve_sub_probs env2 wl2 = solve_head_then wl2 - (fun ok -> - fun wl3 -> + (fun ok -> + fun wl3 -> if Prims.op_Negation ok then solve env2 wl3 else (let uu____17367 = - mk_sub_probs wl3 in + mk_sub_probs wl3 in match uu____17367 with - | (subprobs, wl4) -> + | (subprobs,wl4) -> let formula = let uu____17383 = FStar_List.map - (fun p -> + (fun p -> p_guard p) - subprobs in + subprobs + in FStar_Syntax_Util.mk_conj_l - uu____17383 in + uu____17383 + in let wl5 = solve_prob orig (FStar_Pervasives_Native.Some formula) [] - wl4 in + wl4 + in let uu____17391 = attempt subprobs - wl5 in + wl5 + in solve env2 - uu____17391)) in + uu____17391)) + in let solve_sub_probs_no_smt env2 wl2 = solve_head_then wl2 - (fun ok -> - fun wl3 -> + (fun ok -> + fun wl3 -> let uu____17415 = - mk_sub_probs wl3 in + mk_sub_probs wl3 in match uu____17415 with - | (subprobs, wl4) -> + | (subprobs,wl4) -> let wl5 = solve_prob orig FStar_Pervasives_Native.None - [] wl4 in + [] wl4 + in let uu____17429 = - attempt subprobs wl5 in - solve env2 uu____17429) in + attempt subprobs wl5 + in + solve env2 uu____17429) + in let unfold_and_retry d env2 wl2 uu____17455 = match uu____17455 with - | (prob, reason) -> + | (prob,reason) -> ((let uu____17466 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env2) (FStar_Options.Other - "Rel") in + "Rel") + in if uu____17466 then let uu____17471 = - prob_to_string env2 orig in + prob_to_string env2 orig + in let uu____17473 = - prob_to_string env2 prob in + prob_to_string env2 prob + in FStar_Util.print3 "Failed to solve %s because sub-problem %s is not solvable without SMT because %s" uu____17471 uu____17473 @@ -5458,48 +5981,55 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (let uu____17478 = let uu____17487 = FStar_TypeChecker_Normalize.unfold_head_once - env2 t1 in + env2 t1 + in let uu____17490 = FStar_TypeChecker_Normalize.unfold_head_once - env2 t2 in - (uu____17487, uu____17490) in + env2 t2 + in + (uu____17487, uu____17490) + in match uu____17478 with | (FStar_Pervasives_Native.Some - t1', - FStar_Pervasives_Native.Some + t1',FStar_Pervasives_Native.Some t2') -> let uu____17503 = FStar_Syntax_Util.head_and_args - t1' in + t1' + in (match uu____17503 with - | (head1', uu____17521) + | (head1',uu____17521) -> let uu____17546 = FStar_Syntax_Util.head_and_args - t2' in + t2' + in (match uu____17546 with - | (head2', - uu____17564) -> + | (head2',uu____17564) + -> let uu____17589 = let uu____17594 = FStar_Syntax_Util.eq_tm head1' - head1 in + head1 + in let uu____17595 = FStar_Syntax_Util.eq_tm head2' - head2 in + head2 + in (uu____17594, - uu____17595) in + uu____17595) + in (match uu____17589 with - | (FStar_Syntax_Util.Equal, - FStar_Syntax_Util.Equal) - -> + | (FStar_Syntax_Util.Equal + ,FStar_Syntax_Util.Equal + ) -> ( ( let uu____17597 @@ -5508,26 +6038,27 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (FStar_TypeChecker_Env.debug env2) (FStar_Options.Other - "Rel") in + "Rel") + in if uu____17597 then let uu____17602 = FStar_Syntax_Print.term_to_string - t1 in + t1 in let uu____17604 = FStar_Syntax_Print.term_to_string - t1' in + t1' in let uu____17606 = FStar_Syntax_Print.term_to_string - t2 in + t2 in let uu____17608 = FStar_Syntax_Print.term_to_string - t2' in + t2' in FStar_Util.print4 "Unfolding didn't make progress ... got %s ~> %s;\nand %s ~> %s\n" uu____17602 @@ -5542,7 +6073,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = let torig' = let uu___2567_17621 - = torig in + = torig + in { FStar_TypeChecker_Common.pid = @@ -5572,7 +6104,7 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Common.rank = (uu___2567_17621.FStar_TypeChecker_Common.rank) - } in + } in (( let uu____17623 = @@ -5580,7 +6112,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (FStar_TypeChecker_Env.debug env2) (FStar_Options.Other - "Rel") in + "Rel") + in if uu____17623 then @@ -5589,7 +6122,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = prob_to_string env2 (FStar_TypeChecker_Common.TProb - torig') in + torig') + in FStar_Util.print1 "Unfolded and now trying %s\n" uu____17628 @@ -5599,30 +6133,35 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = torig' wl2)))) | uu____17633 -> - solve_sub_probs env2 wl2)) in + solve_sub_probs env2 wl2)) + in let d = let uu____17645 = - delta_depth_of_term env1 head1 in + delta_depth_of_term env1 head1 + in match uu____17645 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some d -> FStar_TypeChecker_Common.decr_delta_depth - d in + d + in let treat_as_injective = let uu____17653 = let uu____17654 = FStar_Syntax_Util.un_uinst - head1 in - uu____17654.FStar_Syntax_Syntax.n in + head1 + in + uu____17654.FStar_Syntax_Syntax.n + in match uu____17653 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_TypeChecker_Env.fv_has_attr env1 fv FStar_Parser_Const.unifier_hint_injective_lid - | uu____17659 -> false in + | uu____17659 -> false in (match d with | FStar_Pervasives_Native.Some d1 when @@ -5639,12 +6178,14 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = | uu____17665 -> let lhs = force_refinement - (base1, refinement1) in + (base1, refinement1) + in let rhs = force_refinement - (base2, refinement2) in + (base2, refinement2) + in solve_t env1 - (let uu___2587_17701 = problem in + (let uu___2587_17701 = problem in { FStar_TypeChecker_Common.pid = (uu___2587_17701.FStar_TypeChecker_Common.pid); @@ -5671,46 +6212,51 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___2587_17701.FStar_TypeChecker_Common.loc); FStar_TypeChecker_Common.rank = (uu___2587_17701.FStar_TypeChecker_Common.rank) - }) wl1)))))) in + }) wl1)))))) + in let try_match_heuristic env1 orig wl1 s1 s2 t1t2_opt = let try_solve_branch scrutinee p = - let uu____17777 = destruct_flex_t scrutinee wl1 in + let uu____17777 = destruct_flex_t scrutinee wl1 in match uu____17777 with - | ((_t, uv, _args), wl2) -> + | ((_t,uv,_args),wl2) -> let uu____17788 = - FStar_TypeChecker_PatternUtils.pat_as_exp true env1 p in + FStar_TypeChecker_PatternUtils.pat_as_exp true env1 p in (match uu____17788 with - | (xs, pat_term, uu____17804, uu____17805) -> + | (xs,pat_term,uu____17804,uu____17805) -> let uu____17810 = FStar_List.fold_left - (fun uu____17833 -> - fun x -> + (fun uu____17833 -> + fun x -> match uu____17833 with - | (subst1, wl3) -> + | (subst1,wl3) -> let t_x = FStar_Syntax_Subst.subst subst1 - x.FStar_Syntax_Syntax.sort in - let uu____17854 = copy_uvar uv [] t_x wl3 in + x.FStar_Syntax_Syntax.sort + in + let uu____17854 = copy_uvar uv [] t_x wl3 + in (match uu____17854 with - | (uu____17873, u, wl4) -> + | (uu____17873,u,wl4) -> let subst2 = (FStar_Syntax_Syntax.NT (x, u)) :: - subst1 in - (subst2, wl4))) ([], wl2) xs in + subst1 in + (subst2, wl4))) ([], wl2) xs + in (match uu____17810 with - | (subst1, wl3) -> + | (subst1,wl3) -> let pat_term1 = - FStar_Syntax_Subst.subst subst1 pat_term in + FStar_Syntax_Subst.subst subst1 pat_term in let uu____17894 = new_problem wl3 env1 scrutinee FStar_TypeChecker_Common.EQ pat_term1 FStar_Pervasives_Native.None scrutinee.FStar_Syntax_Syntax.pos - "match heuristic" in + "match heuristic" + in (match uu____17894 with - | (prob, wl4) -> + | (prob,wl4) -> let wl' = - let uu___2627_17911 = wl4 in + let uu___2627_17911 = wl4 in { attempting = [FStar_TypeChecker_Common.TProb prob]; @@ -5722,14 +6268,15 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___2627_17911.umax_heuristic_ok); tcenv = (uu___2627_17911.tcenv); wl_implicits = [] - } in + } in let tx = - FStar_Syntax_Unionfind.new_transaction () in - let uu____17923 = solve env1 wl' in + FStar_Syntax_Unionfind.new_transaction () + in + let uu____17923 = solve env1 wl' in (match uu____17923 with - | Success (uu____17926, imps) -> + | Success (uu____17926,imps) -> let wl'1 = - let uu___2635_17929 = wl' in + let uu___2635_17929 = wl' in { attempting = [orig]; wl_deferred = @@ -5743,13 +6290,13 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = tcenv = (uu___2635_17929.tcenv); wl_implicits = (uu___2635_17929.wl_implicits) - } in - let uu____17930 = solve env1 wl'1 in + } in + let uu____17930 = solve env1 wl'1 in (match uu____17930 with - | Success (uu____17933, imps') -> + | Success (uu____17933,imps') -> (FStar_Syntax_Unionfind.commit tx; FStar_Pervasives_Native.Some - ((let uu___2643_17937 = wl4 in + ((let uu___2643_17937 = wl4 in { attempting = (uu___2643_17937.attempting); @@ -5775,50 +6322,53 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_Pervasives_Native.None)) | uu____17945 -> (FStar_Syntax_Unionfind.rollback tx; - FStar_Pervasives_Native.None))))) in + FStar_Pervasives_Native.None))))) + in match t1t2_opt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Util.Inr FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (t1, t2) -> + | FStar_Pervasives_Native.Some (t1,t2) -> ((let uu____17968 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____17968 then - let uu____17973 = FStar_Syntax_Print.term_to_string t1 in - let uu____17975 = FStar_Syntax_Print.term_to_string t2 in + let uu____17973 = FStar_Syntax_Print.term_to_string t1 in + let uu____17975 = FStar_Syntax_Print.term_to_string t2 in FStar_Util.print2 "Trying match heuristic for %s vs. %s\n" uu____17973 uu____17975 else ()); (let uu____17980 = let uu____18001 = - let uu____18010 = FStar_Syntax_Util.unmeta t1 in - (s1, uu____18010) in + let uu____18010 = FStar_Syntax_Util.unmeta t1 in + (s1, uu____18010) in let uu____18017 = - let uu____18026 = FStar_Syntax_Util.unmeta t2 in - (s2, uu____18026) in - (uu____18001, uu____18017) in + let uu____18026 = FStar_Syntax_Util.unmeta t2 in + (s2, uu____18026) in + (uu____18001, uu____18017) in match uu____17980 with - | ((uu____18056, - { - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_match - (scrutinee, branches); - FStar_Syntax_Syntax.pos = uu____18059; - FStar_Syntax_Syntax.vars = uu____18060;_}), - (s, t)) -> + | ((uu____18056,{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.Tm_match + (scrutinee,branches); + FStar_Syntax_Syntax.pos = uu____18059; + FStar_Syntax_Syntax.vars = uu____18060;_}), + (s,t)) -> let uu____18131 = - let uu____18133 = is_flex scrutinee in - Prims.op_Negation uu____18133 in + let uu____18133 = is_flex scrutinee in + Prims.op_Negation uu____18133 in if uu____18131 then ((let uu____18144 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____18144 then let uu____18149 = - FStar_Syntax_Print.term_to_string scrutinee in + FStar_Syntax_Print.term_to_string scrutinee in FStar_Util.print1 "match head %s is not a flex term\n" uu____18149 else ()); @@ -5829,7 +6379,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = ((let uu____18168 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____18168 then FStar_Util.print_string "Deferring ... \n" else ()); @@ -5838,13 +6389,15 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = ((let uu____18183 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____18183 then let uu____18188 = - FStar_Syntax_Print.term_to_string scrutinee in + FStar_Syntax_Print.term_to_string scrutinee + in let uu____18190 = - FStar_Syntax_Print.term_to_string t in + FStar_Syntax_Print.term_to_string t in FStar_Util.print2 "Heuristic applicable with scrutinee %s and other side = %s\n" uu____18188 uu____18190 @@ -5855,41 +6408,43 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_Syntax_Syntax.v = FStar_Syntax_Syntax.Pat_constant uu____18231; - FStar_Syntax_Syntax.p = uu____18232;_}, - FStar_Pervasives_Native.None, uu____18233) -> - true + FStar_Syntax_Syntax.p = uu____18232;_},FStar_Pervasives_Native.None + ,uu____18233) -> true | ({ FStar_Syntax_Syntax.v = FStar_Syntax_Syntax.Pat_cons uu____18247; - FStar_Syntax_Syntax.p = uu____18248;_}, - FStar_Pervasives_Native.None, uu____18249) -> - true - | uu____18276 -> false in + FStar_Syntax_Syntax.p = uu____18248;_},FStar_Pervasives_Native.None + ,uu____18249) -> true + | uu____18276 -> false in let head_matching_branch = FStar_All.pipe_right branches (FStar_Util.try_find - (fun b -> + (fun b -> if pat_discriminates b then let uu____18379 = - FStar_Syntax_Subst.open_branch b in + FStar_Syntax_Subst.open_branch b in match uu____18379 with - | (uu____18381, uu____18382, t') -> + | (uu____18381,uu____18382,t') -> let uu____18400 = - head_matches_delta env1 wl1 s t' in + head_matches_delta env1 wl1 s t' + in (match uu____18400 with - | (FullMatch, uu____18412) -> + | (FullMatch ,uu____18412) -> + true + | (HeadMatch + uu____18426,uu____18427) -> true - | (HeadMatch uu____18426, - uu____18427) -> true | uu____18442 -> false) - else false)) in + else false)) + in match head_matching_branch with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> ((let uu____18479 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____18479 then FStar_Util.print_string @@ -5898,70 +6453,78 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (let try_branches = let uu____18490 = FStar_Util.prefix_until - (fun b -> + (fun b -> Prims.op_Negation - (pat_discriminates b)) branches in + (pat_discriminates b)) branches + in match uu____18490 with | FStar_Pervasives_Native.Some - (branches1, uu____18578, uu____18579) - -> branches1 - | uu____18724 -> branches in + (branches1,uu____18578,uu____18579) -> + branches1 + | uu____18724 -> branches in let uu____18779 = FStar_Util.find_map try_branches - (fun b -> + (fun b -> let uu____18788 = - FStar_Syntax_Subst.open_branch b in + FStar_Syntax_Subst.open_branch b + in match uu____18788 with - | (p, uu____18792, uu____18793) -> - try_solve_branch scrutinee p) in + | (p,uu____18792,uu____18793) -> + try_solve_branch scrutinee p) + in FStar_All.pipe_left - (fun _18822 -> FStar_Util.Inr _18822) + (fun _18822 -> FStar_Util.Inr _18822) uu____18779)) | FStar_Pervasives_Native.Some b -> let uu____18852 = - FStar_Syntax_Subst.open_branch b in + FStar_Syntax_Subst.open_branch b in (match uu____18852 with - | (p, uu____18861, e) -> + | (p,uu____18861,e) -> ((let uu____18880 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____18880 then let uu____18885 = - FStar_Syntax_Print.pat_to_string p in + FStar_Syntax_Print.pat_to_string p + in let uu____18887 = - FStar_Syntax_Print.term_to_string e in + FStar_Syntax_Print.term_to_string e + in FStar_Util.print2 "Found head matching branch %s -> %s\n" uu____18885 uu____18887 else ()); (let uu____18892 = - try_solve_branch scrutinee p in + try_solve_branch scrutinee p in FStar_All.pipe_left - (fun _18907 -> FStar_Util.Inr _18907) + (fun _18907 -> FStar_Util.Inr _18907) uu____18892))))) - | ((s, t), - (uu____18910, - { - FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_match - (scrutinee, branches); - FStar_Syntax_Syntax.pos = uu____18913; - FStar_Syntax_Syntax.vars = uu____18914;_})) + | ((s,t),(uu____18910,{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.Tm_match + (scrutinee,branches); + FStar_Syntax_Syntax.pos = + uu____18913; + FStar_Syntax_Syntax.vars = + uu____18914;_})) -> let uu____18983 = - let uu____18985 = is_flex scrutinee in - Prims.op_Negation uu____18985 in + let uu____18985 = is_flex scrutinee in + Prims.op_Negation uu____18985 in if uu____18983 then ((let uu____18996 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____18996 then let uu____19001 = - FStar_Syntax_Print.term_to_string scrutinee in + FStar_Syntax_Print.term_to_string scrutinee in FStar_Util.print1 "match head %s is not a flex term\n" uu____19001 else ()); @@ -5972,7 +6535,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = ((let uu____19020 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____19020 then FStar_Util.print_string "Deferring ... \n" else ()); @@ -5981,13 +6545,15 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = ((let uu____19035 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____19035 then let uu____19040 = - FStar_Syntax_Print.term_to_string scrutinee in + FStar_Syntax_Print.term_to_string scrutinee + in let uu____19042 = - FStar_Syntax_Print.term_to_string t in + FStar_Syntax_Print.term_to_string t in FStar_Util.print2 "Heuristic applicable with scrutinee %s and other side = %s\n" uu____19040 uu____19042 @@ -5998,41 +6564,43 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_Syntax_Syntax.v = FStar_Syntax_Syntax.Pat_constant uu____19083; - FStar_Syntax_Syntax.p = uu____19084;_}, - FStar_Pervasives_Native.None, uu____19085) -> - true + FStar_Syntax_Syntax.p = uu____19084;_},FStar_Pervasives_Native.None + ,uu____19085) -> true | ({ FStar_Syntax_Syntax.v = FStar_Syntax_Syntax.Pat_cons uu____19099; - FStar_Syntax_Syntax.p = uu____19100;_}, - FStar_Pervasives_Native.None, uu____19101) -> - true - | uu____19128 -> false in + FStar_Syntax_Syntax.p = uu____19100;_},FStar_Pervasives_Native.None + ,uu____19101) -> true + | uu____19128 -> false in let head_matching_branch = FStar_All.pipe_right branches (FStar_Util.try_find - (fun b -> + (fun b -> if pat_discriminates b then let uu____19231 = - FStar_Syntax_Subst.open_branch b in + FStar_Syntax_Subst.open_branch b in match uu____19231 with - | (uu____19233, uu____19234, t') -> + | (uu____19233,uu____19234,t') -> let uu____19252 = - head_matches_delta env1 wl1 s t' in + head_matches_delta env1 wl1 s t' + in (match uu____19252 with - | (FullMatch, uu____19264) -> + | (FullMatch ,uu____19264) -> + true + | (HeadMatch + uu____19278,uu____19279) -> true - | (HeadMatch uu____19278, - uu____19279) -> true | uu____19294 -> false) - else false)) in + else false)) + in match head_matching_branch with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> ((let uu____19331 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____19331 then FStar_Util.print_string @@ -6041,92 +6609,105 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (let try_branches = let uu____19342 = FStar_Util.prefix_until - (fun b -> + (fun b -> Prims.op_Negation - (pat_discriminates b)) branches in + (pat_discriminates b)) branches + in match uu____19342 with | FStar_Pervasives_Native.Some - (branches1, uu____19430, uu____19431) - -> branches1 - | uu____19576 -> branches in + (branches1,uu____19430,uu____19431) -> + branches1 + | uu____19576 -> branches in let uu____19631 = FStar_Util.find_map try_branches - (fun b -> + (fun b -> let uu____19640 = - FStar_Syntax_Subst.open_branch b in + FStar_Syntax_Subst.open_branch b + in match uu____19640 with - | (p, uu____19644, uu____19645) -> - try_solve_branch scrutinee p) in + | (p,uu____19644,uu____19645) -> + try_solve_branch scrutinee p) + in FStar_All.pipe_left - (fun _19674 -> FStar_Util.Inr _19674) + (fun _19674 -> FStar_Util.Inr _19674) uu____19631)) | FStar_Pervasives_Native.Some b -> let uu____19704 = - FStar_Syntax_Subst.open_branch b in + FStar_Syntax_Subst.open_branch b in (match uu____19704 with - | (p, uu____19713, e) -> + | (p,uu____19713,e) -> ((let uu____19732 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____19732 then let uu____19737 = - FStar_Syntax_Print.pat_to_string p in + FStar_Syntax_Print.pat_to_string p + in let uu____19739 = - FStar_Syntax_Print.term_to_string e in + FStar_Syntax_Print.term_to_string e + in FStar_Util.print2 "Found head matching branch %s -> %s\n" uu____19737 uu____19739 else ()); (let uu____19744 = - try_solve_branch scrutinee p in + try_solve_branch scrutinee p in FStar_All.pipe_left - (fun _19759 -> FStar_Util.Inr _19759) + (fun _19759 -> FStar_Util.Inr _19759) uu____19744))))) | uu____19760 -> ((let uu____19782 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____19782 then - let uu____19787 = FStar_Syntax_Print.tag_of_term t1 in - let uu____19789 = FStar_Syntax_Print.tag_of_term t2 in + let uu____19787 = FStar_Syntax_Print.tag_of_term t1 + in + let uu____19789 = FStar_Syntax_Print.tag_of_term t2 + in FStar_Util.print2 "Heuristic not applicable: tag lhs=%s, rhs=%s\n" uu____19787 uu____19789 else ()); - FStar_Util.Inr FStar_Pervasives_Native.None))) in + FStar_Util.Inr FStar_Pervasives_Native.None))) + in let rigid_rigid_delta env1 torig wl1 head1 head2 t1 t2 = - let orig = FStar_TypeChecker_Common.TProb torig in + let orig = FStar_TypeChecker_Common.TProb torig in (let uu____19835 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "RelDelta") in + (FStar_Options.Other "RelDelta") + in if uu____19835 then - let uu____19840 = FStar_Syntax_Print.tag_of_term t1 in - let uu____19842 = FStar_Syntax_Print.tag_of_term t2 in - let uu____19844 = FStar_Syntax_Print.term_to_string t1 in - let uu____19846 = FStar_Syntax_Print.term_to_string t2 in + let uu____19840 = FStar_Syntax_Print.tag_of_term t1 in + let uu____19842 = FStar_Syntax_Print.tag_of_term t2 in + let uu____19844 = FStar_Syntax_Print.term_to_string t1 in + let uu____19846 = FStar_Syntax_Print.term_to_string t2 in FStar_Util.print4 "rigid_rigid_delta of %s-%s (%s, %s)\n" uu____19840 uu____19842 uu____19844 uu____19846 else ()); - (let uu____19851 = head_matches_delta env1 wl1 t1 t2 in + (let uu____19851 = head_matches_delta env1 wl1 t1 t2 in match uu____19851 with - | (m, o) -> + | (m,o) -> (match (m, o) with - | (MisMatch uu____19882, uu____19883) -> + | (MisMatch uu____19882,uu____19883) -> let rec may_relate head3 = let uu____19911 = - let uu____19912 = FStar_Syntax_Subst.compress head3 in - uu____19912.FStar_Syntax_Syntax.n in + let uu____19912 = FStar_Syntax_Subst.compress head3 + in + uu____19912.FStar_Syntax_Syntax.n in match uu____19911 with | FStar_Syntax_Syntax.Tm_name uu____19916 -> true | FStar_Syntax_Syntax.Tm_match uu____19918 -> true | FStar_Syntax_Syntax.Tm_fvar fv -> let uu____19943 = - FStar_TypeChecker_Env.delta_depth_of_fv env1 fv in + FStar_TypeChecker_Env.delta_depth_of_fv env1 fv + in (match uu____19943 with | FStar_Syntax_Syntax.Delta_equational_at_level uu____19945 -> true @@ -6136,95 +6717,105 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Common.EQ | uu____19949 -> false) | FStar_Syntax_Syntax.Tm_ascribed - (t, uu____19952, uu____19953) -> may_relate t - | FStar_Syntax_Syntax.Tm_uinst (t, uu____19995) -> + (t,uu____19952,uu____19953) -> may_relate t + | FStar_Syntax_Syntax.Tm_uinst (t,uu____19995) -> may_relate t - | FStar_Syntax_Syntax.Tm_meta (t, uu____20001) -> + | FStar_Syntax_Syntax.Tm_meta (t,uu____20001) -> may_relate t - | uu____20006 -> false in + | uu____20006 -> false in let uu____20008 = - try_match_heuristic env1 orig wl1 t1 t2 o in + try_match_heuristic env1 orig wl1 t1 t2 o in (match uu____20008 with | FStar_Util.Inl _defer_ok -> giveup_or_defer1 orig "delaying match heuristic" | FStar_Util.Inr (FStar_Pervasives_Native.Some wl2) -> solve env1 wl2 - | FStar_Util.Inr (FStar_Pervasives_Native.None) -> + | FStar_Util.Inr (FStar_Pervasives_Native.None ) -> let uu____20029 = ((may_relate head1) || (may_relate head2)) && - wl1.smt_ok in + wl1.smt_ok + in if uu____20029 then let uu____20032 = - guard_of_prob env1 wl1 problem t1 t2 in + guard_of_prob env1 wl1 problem t1 t2 in (match uu____20032 with - | (guard, wl2) -> + | (guard,wl2) -> let uu____20039 = solve_prob orig (FStar_Pervasives_Native.Some guard) [] - wl2 in + wl2 + in solve env1 uu____20039) else (let uu____20042 = let uu____20044 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____20046 = let uu____20048 = let uu____20052 = - delta_depth_of_term env1 head1 in + delta_depth_of_term env1 head1 in FStar_Util.bind_opt uu____20052 - (fun x -> + (fun x -> let uu____20059 = FStar_Syntax_Print.delta_depth_to_string - x in + x + in FStar_Pervasives_Native.Some - uu____20059) in - FStar_Util.dflt "" uu____20048 in + uu____20059) + in + FStar_Util.dflt "" uu____20048 in let uu____20064 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in let uu____20066 = let uu____20068 = let uu____20072 = - delta_depth_of_term env1 head2 in + delta_depth_of_term env1 head2 in FStar_Util.bind_opt uu____20072 - (fun x -> + (fun x -> let uu____20079 = FStar_Syntax_Print.delta_depth_to_string - x in + x + in FStar_Pervasives_Native.Some - uu____20079) in - FStar_Util.dflt "" uu____20068 in + uu____20079) + in + FStar_Util.dflt "" uu____20068 in FStar_Util.format4 "head mismatch (%s (%s) vs %s (%s))" uu____20044 uu____20046 uu____20064 - uu____20066 in + uu____20066 + in giveup env1 uu____20042 orig)) - | (HeadMatch (true), uu____20085) when + | (HeadMatch (true ),uu____20085) when problem.FStar_TypeChecker_Common.relation <> FStar_TypeChecker_Common.EQ -> if wl1.smt_ok then - let uu____20100 = guard_of_prob env1 wl1 problem t1 t2 in + let uu____20100 = guard_of_prob env1 wl1 problem t1 t2 + in (match uu____20100 with - | (guard, wl2) -> + | (guard,wl2) -> let uu____20107 = solve_prob orig - (FStar_Pervasives_Native.Some guard) [] wl2 in + (FStar_Pervasives_Native.Some guard) [] wl2 + in solve env1 uu____20107) else (let uu____20110 = let uu____20112 = - FStar_Syntax_Print.term_to_string t1 in + FStar_Syntax_Print.term_to_string t1 in let uu____20114 = - FStar_Syntax_Print.term_to_string t2 in + FStar_Syntax_Print.term_to_string t2 in FStar_Util.format2 "head mismatch for subtyping (%s vs %s)" - uu____20112 uu____20114 in + uu____20112 uu____20114 + in giveup env1 uu____20110 orig) - | (uu____20117, FStar_Pervasives_Native.Some (t11, t21)) -> + | (uu____20117,FStar_Pervasives_Native.Some (t11,t21)) -> solve_t env1 - (let uu___2816_20131 = problem in + (let uu___2816_20131 = problem in { FStar_TypeChecker_Common.pid = (uu___2816_20131.FStar_TypeChecker_Common.pid); @@ -6245,67 +6836,73 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Common.rank = (uu___2816_20131.FStar_TypeChecker_Common.rank) }) wl1 - | (HeadMatch unif, FStar_Pervasives_Native.None) -> - rigid_heads_match env1 unif torig wl1 t1 t2 - | (FullMatch, FStar_Pervasives_Native.None) -> - rigid_heads_match env1 false torig wl1 t1 t2)) in - let orig = FStar_TypeChecker_Common.TProb problem in + | (HeadMatch need_unif,FStar_Pervasives_Native.None ) -> + rigid_heads_match env1 need_unif torig wl1 t1 t2 + | (FullMatch ,FStar_Pervasives_Native.None ) -> + rigid_heads_match env1 false torig wl1 t1 t2)) + in + let orig = FStar_TypeChecker_Common.TProb problem in def_check_prob "solve_t'.2" orig; (let uu____20158 = FStar_Util.physical_equality problem.FStar_TypeChecker_Common.lhs - problem.FStar_TypeChecker_Common.rhs in + problem.FStar_TypeChecker_Common.rhs + in if uu____20158 then let uu____20161 = - solve_prob orig FStar_Pervasives_Native.None [] wl in + solve_prob orig FStar_Pervasives_Native.None [] wl in solve env uu____20161 else - (let t1 = problem.FStar_TypeChecker_Common.lhs in - let t2 = problem.FStar_TypeChecker_Common.rhs in + (let t1 = problem.FStar_TypeChecker_Common.lhs in + let t2 = problem.FStar_TypeChecker_Common.rhs in (let uu____20167 = - let uu____20170 = p_scope orig in - FStar_List.map FStar_Pervasives_Native.fst uu____20170 in + let uu____20170 = p_scope orig in + FStar_List.map FStar_Pervasives_Native.fst uu____20170 in FStar_TypeChecker_Env.def_check_closed_in (p_loc orig) "ref.t1" uu____20167 t1); (let uu____20189 = - let uu____20192 = p_scope orig in - FStar_List.map FStar_Pervasives_Native.fst uu____20192 in + let uu____20192 = p_scope orig in + FStar_List.map FStar_Pervasives_Native.fst uu____20192 in FStar_TypeChecker_Env.def_check_closed_in (p_loc orig) "ref.t2" uu____20189 t2); (let uu____20211 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "Rel") in + FStar_TypeChecker_Env.debug env (FStar_Options.Other "Rel") + in if uu____20211 then let uu____20215 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____20217 = - let uu____20219 = FStar_Syntax_Print.tag_of_term t1 in + let uu____20219 = FStar_Syntax_Print.tag_of_term t1 in let uu____20221 = - let uu____20223 = FStar_Syntax_Print.term_to_string t1 in - Prims.op_Hat "::" uu____20223 in - Prims.op_Hat uu____20219 uu____20221 in + let uu____20223 = FStar_Syntax_Print.term_to_string t1 + in + Prims.op_Hat "::" uu____20223 in + Prims.op_Hat uu____20219 uu____20221 in let uu____20226 = - let uu____20228 = FStar_Syntax_Print.tag_of_term t2 in + let uu____20228 = FStar_Syntax_Print.tag_of_term t2 in let uu____20230 = - let uu____20232 = FStar_Syntax_Print.term_to_string t2 in - Prims.op_Hat "::" uu____20232 in - Prims.op_Hat uu____20228 uu____20230 in + let uu____20232 = FStar_Syntax_Print.term_to_string t2 + in + Prims.op_Hat "::" uu____20232 in + Prims.op_Hat uu____20228 uu____20230 in FStar_Util.print4 "Attempting %s (%s vs %s); rel = (%s)\n" uu____20215 uu____20217 uu____20226 (rel_to_string problem.FStar_TypeChecker_Common.relation) else ()); - (let r = FStar_TypeChecker_Env.get_range env in + (let r = FStar_TypeChecker_Env.get_range env in match ((t1.FStar_Syntax_Syntax.n), (t2.FStar_Syntax_Syntax.n)) with - | (FStar_Syntax_Syntax.Tm_delayed uu____20239, uu____20240) -> + | (FStar_Syntax_Syntax.Tm_delayed uu____20239,uu____20240) -> failwith "Impossible: terms were not compressed" - | (uu____20264, FStar_Syntax_Syntax.Tm_delayed uu____20265) -> + | (uu____20264,FStar_Syntax_Syntax.Tm_delayed uu____20265) -> failwith "Impossible: terms were not compressed" - | (FStar_Syntax_Syntax.Tm_ascribed uu____20289, uu____20290) -> + | (FStar_Syntax_Syntax.Tm_ascribed uu____20289,uu____20290) -> let uu____20317 = - let uu___2847_20318 = problem in - let uu____20319 = FStar_Syntax_Util.unascribe t1 in + let uu___2847_20318 = problem in + let uu____20319 = FStar_Syntax_Util.unascribe t1 in { FStar_TypeChecker_Common.pid = (uu___2847_20318.FStar_TypeChecker_Common.pid); @@ -6326,12 +6923,12 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___2847_20318.FStar_TypeChecker_Common.loc); FStar_TypeChecker_Common.rank = (uu___2847_20318.FStar_TypeChecker_Common.rank) - } in + } in solve_t' env uu____20317 wl - | (FStar_Syntax_Syntax.Tm_meta uu____20320, uu____20321) -> + | (FStar_Syntax_Syntax.Tm_meta uu____20320,uu____20321) -> let uu____20328 = - let uu___2853_20329 = problem in - let uu____20330 = FStar_Syntax_Util.unmeta t1 in + let uu___2853_20329 = problem in + let uu____20330 = FStar_Syntax_Util.unmeta t1 in { FStar_TypeChecker_Common.pid = (uu___2853_20329.FStar_TypeChecker_Common.pid); @@ -6352,12 +6949,12 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___2853_20329.FStar_TypeChecker_Common.loc); FStar_TypeChecker_Common.rank = (uu___2853_20329.FStar_TypeChecker_Common.rank) - } in + } in solve_t' env uu____20328 wl - | (uu____20331, FStar_Syntax_Syntax.Tm_ascribed uu____20332) -> + | (uu____20331,FStar_Syntax_Syntax.Tm_ascribed uu____20332) -> let uu____20359 = - let uu___2859_20360 = problem in - let uu____20361 = FStar_Syntax_Util.unascribe t2 in + let uu___2859_20360 = problem in + let uu____20361 = FStar_Syntax_Util.unascribe t2 in { FStar_TypeChecker_Common.pid = (uu___2859_20360.FStar_TypeChecker_Common.pid); @@ -6378,12 +6975,12 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___2859_20360.FStar_TypeChecker_Common.loc); FStar_TypeChecker_Common.rank = (uu___2859_20360.FStar_TypeChecker_Common.rank) - } in + } in solve_t' env uu____20359 wl - | (uu____20362, FStar_Syntax_Syntax.Tm_meta uu____20363) -> + | (uu____20362,FStar_Syntax_Syntax.Tm_meta uu____20363) -> let uu____20370 = - let uu___2865_20371 = problem in - let uu____20372 = FStar_Syntax_Util.unmeta t2 in + let uu___2865_20371 = problem in + let uu____20372 = FStar_Syntax_Util.unmeta t2 in { FStar_TypeChecker_Common.pid = (uu___2865_20371.FStar_TypeChecker_Common.pid); @@ -6404,23 +7001,24 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___2865_20371.FStar_TypeChecker_Common.loc); FStar_TypeChecker_Common.rank = (uu___2865_20371.FStar_TypeChecker_Common.rank) - } in + } in solve_t' env uu____20370 wl - | (FStar_Syntax_Syntax.Tm_quoted (t11, uu____20374), - FStar_Syntax_Syntax.Tm_quoted (t21, uu____20376)) -> + | (FStar_Syntax_Syntax.Tm_quoted + (t11,uu____20374),FStar_Syntax_Syntax.Tm_quoted + (t21,uu____20376)) -> let uu____20385 = - solve_prob orig FStar_Pervasives_Native.None [] wl in + solve_prob orig FStar_Pervasives_Native.None [] wl in solve env uu____20385 - | (FStar_Syntax_Syntax.Tm_bvar uu____20386, uu____20387) -> + | (FStar_Syntax_Syntax.Tm_bvar uu____20386,uu____20387) -> failwith "Only locally nameless! We should never see a de Bruijn variable" - | (uu____20389, FStar_Syntax_Syntax.Tm_bvar uu____20390) -> + | (uu____20389,FStar_Syntax_Syntax.Tm_bvar uu____20390) -> failwith "Only locally nameless! We should never see a de Bruijn variable" - | (FStar_Syntax_Syntax.Tm_type u1, FStar_Syntax_Syntax.Tm_type + | (FStar_Syntax_Syntax.Tm_type u1,FStar_Syntax_Syntax.Tm_type u2) -> solve_one_universe_eq env orig u1 u2 wl - | (FStar_Syntax_Syntax.Tm_arrow (bs1, c1), - FStar_Syntax_Syntax.Tm_arrow (bs2, c2)) -> + | (FStar_Syntax_Syntax.Tm_arrow + (bs1,c1),FStar_Syntax_Syntax.Tm_arrow (bs2,c2)) -> let mk_c c uu___29_20460 = match uu___29_20460 with | [] -> c @@ -6429,33 +7027,40 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow (bs, c)) FStar_Pervasives_Native.None - c.FStar_Syntax_Syntax.pos in - FStar_Syntax_Syntax.mk_Total uu____20488 in + c.FStar_Syntax_Syntax.pos + in + FStar_Syntax_Syntax.mk_Total uu____20488 + in let uu____20499 = - match_num_binders (bs1, (mk_c c1)) (bs2, (mk_c c2)) in + match_num_binders (bs1, (mk_c c1)) (bs2, (mk_c c2)) in (match uu____20499 with - | ((bs11, c11), (bs21, c21)) -> + | ((bs11,c11),(bs21,c21)) -> solve_binders env bs11 bs21 orig wl - (fun wl1 -> - fun scope -> - fun env1 -> - fun subst1 -> + (fun wl1 -> + fun scope -> + fun env1 -> + fun subst1 -> let c12 = - FStar_Syntax_Subst.subst_comp subst1 c11 in + FStar_Syntax_Subst.subst_comp subst1 c11 + in let c22 = - FStar_Syntax_Subst.subst_comp subst1 c21 in + FStar_Syntax_Subst.subst_comp subst1 c21 + in let rel = let uu____20648 = - FStar_Options.use_eq_at_higher_order () in + FStar_Options.use_eq_at_higher_order () + in if uu____20648 then FStar_TypeChecker_Common.EQ else - problem.FStar_TypeChecker_Common.relation in + problem.FStar_TypeChecker_Common.relation + in mk_c_problem wl1 scope orig c12 rel c22 FStar_Pervasives_Native.None "function co-domain")) - | (FStar_Syntax_Syntax.Tm_abs (bs1, tbody1, lopt1), - FStar_Syntax_Syntax.Tm_abs (bs2, tbody2, lopt2)) -> + | (FStar_Syntax_Syntax.Tm_abs + (bs1,tbody1,lopt1),FStar_Syntax_Syntax.Tm_abs + (bs2,tbody2,lopt2)) -> let mk_t t l uu___30_20737 = match uu___30_20737 with | [] -> t @@ -6463,46 +7068,52 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_abs (bs, t, l)) FStar_Pervasives_Native.None - t.FStar_Syntax_Syntax.pos in + t.FStar_Syntax_Syntax.pos + in let uu____20779 = match_num_binders (bs1, (mk_t tbody1 lopt1)) - (bs2, (mk_t tbody2 lopt2)) in + (bs2, (mk_t tbody2 lopt2)) + in (match uu____20779 with - | ((bs11, tbody11), (bs21, tbody21)) -> + | ((bs11,tbody11),(bs21,tbody21)) -> solve_binders env bs11 bs21 orig wl - (fun wl1 -> - fun scope -> - fun env1 -> - fun subst1 -> + (fun wl1 -> + fun scope -> + fun env1 -> + fun subst1 -> let uu____20924 = - FStar_Syntax_Subst.subst subst1 tbody11 in + FStar_Syntax_Subst.subst subst1 tbody11 + in let uu____20925 = - FStar_Syntax_Subst.subst subst1 tbody21 in + FStar_Syntax_Subst.subst subst1 tbody21 + in mk_t_problem wl1 scope orig uu____20924 problem.FStar_TypeChecker_Common.relation uu____20925 FStar_Pervasives_Native.None "lambda co-domain")) - | (FStar_Syntax_Syntax.Tm_abs uu____20927, uu____20928) -> + | (FStar_Syntax_Syntax.Tm_abs uu____20927,uu____20928) -> let is_abs t = match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_abs uu____20959 -> true - | uu____20979 -> false in + | uu____20979 -> false in let maybe_eta t = if is_abs t then FStar_Util.Inl t else (let t3 = - FStar_TypeChecker_Normalize.eta_expand wl.tcenv t in + FStar_TypeChecker_Normalize.eta_expand wl.tcenv t + in if is_abs t3 then FStar_Util.Inl t3 - else FStar_Util.Inr t3) in + else FStar_Util.Inr t3) + in let force_eta t = if is_abs t then t else (let uu____21039 = env.FStar_TypeChecker_Env.type_of - (let uu___2967_21047 = env in + (let uu___2967_21047 = env in { FStar_TypeChecker_Env.solver = (uu___2967_21047.FStar_TypeChecker_Env.solver); @@ -6588,57 +7199,64 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___2967_21047.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___2967_21047.FStar_TypeChecker_Env.nbe) - }) t in + }) t + in match uu____21039 with - | (uu____21052, ty, uu____21054) -> + | (uu____21052,ty,uu____21054) -> let ty1 = let rec aux ty1 = let ty2 = FStar_TypeChecker_Normalize.unfold_whnf env - ty1 in + ty1 + in let uu____21063 = let uu____21064 = - FStar_Syntax_Subst.compress ty2 in - uu____21064.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress ty2 in + uu____21064.FStar_Syntax_Syntax.n in match uu____21063 with | FStar_Syntax_Syntax.Tm_refine uu____21067 -> let uu____21074 = - FStar_Syntax_Util.unrefine ty2 in + FStar_Syntax_Util.unrefine ty2 in aux uu____21074 - | uu____21075 -> ty2 in - aux ty in + | uu____21075 -> ty2 in + aux ty in let r1 = FStar_TypeChecker_Normalize.eta_expand_with_type - env t ty1 in + env t ty1 + in ((let uu____21078 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug wl.tcenv) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____21078 then let uu____21083 = - FStar_Syntax_Print.term_to_string t in + FStar_Syntax_Print.term_to_string t in let uu____21085 = let uu____21087 = FStar_TypeChecker_Normalize.unfold_whnf - env ty1 in + env ty1 + in FStar_Syntax_Print.term_to_string - uu____21087 in + uu____21087 + in let uu____21088 = - FStar_Syntax_Print.term_to_string r1 in + FStar_Syntax_Print.term_to_string r1 in FStar_Util.print3 "force_eta of (%s) at type (%s) = %s\n" uu____21083 uu____21085 uu____21088 else ()); - r1)) in + r1)) + in let uu____21093 = - let uu____21110 = maybe_eta t1 in - let uu____21117 = maybe_eta t2 in - (uu____21110, uu____21117) in + let uu____21110 = maybe_eta t1 in + let uu____21117 = maybe_eta t2 in + (uu____21110, uu____21117) in (match uu____21093 with - | (FStar_Util.Inl t11, FStar_Util.Inl t21) -> + | (FStar_Util.Inl t11,FStar_Util.Inl t21) -> solve_t env - (let uu___2988_21159 = problem in + (let uu___2988_21159 = problem in { FStar_TypeChecker_Common.pid = (uu___2988_21159.FStar_TypeChecker_Common.pid); @@ -6659,23 +7277,24 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Common.rank = (uu___2988_21159.FStar_TypeChecker_Common.rank) }) wl - | (FStar_Util.Inl t_abs, FStar_Util.Inr not_abs) -> + | (FStar_Util.Inl t_abs,FStar_Util.Inr not_abs) -> let uu____21180 = (is_flex not_abs) && - ((p_rel orig) = FStar_TypeChecker_Common.EQ) in + ((p_rel orig) = FStar_TypeChecker_Common.EQ) + in if uu____21180 then - let uu____21183 = destruct_flex_t not_abs wl in + let uu____21183 = destruct_flex_t not_abs wl in (match uu____21183 with - | (flex, wl1) -> + | (flex,wl1) -> solve_t_flex_rigid_eq env orig wl1 flex t_abs) else - (let t11 = force_eta t1 in - let t21 = force_eta t2 in + (let t11 = force_eta t1 in + let t21 = force_eta t2 in if (is_abs t11) && (is_abs t21) then solve_t env - (let uu___3005_21200 = problem in + (let uu___3005_21200 = problem in { FStar_TypeChecker_Common.pid = (uu___3005_21200.FStar_TypeChecker_Common.pid); @@ -6700,23 +7319,24 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = else giveup env "head tag mismatch: RHS is an abstraction" orig) - | (FStar_Util.Inr not_abs, FStar_Util.Inl t_abs) -> + | (FStar_Util.Inr not_abs,FStar_Util.Inl t_abs) -> let uu____21224 = (is_flex not_abs) && - ((p_rel orig) = FStar_TypeChecker_Common.EQ) in + ((p_rel orig) = FStar_TypeChecker_Common.EQ) + in if uu____21224 then - let uu____21227 = destruct_flex_t not_abs wl in + let uu____21227 = destruct_flex_t not_abs wl in (match uu____21227 with - | (flex, wl1) -> + | (flex,wl1) -> solve_t_flex_rigid_eq env orig wl1 flex t_abs) else - (let t11 = force_eta t1 in - let t21 = force_eta t2 in + (let t11 = force_eta t1 in + let t21 = force_eta t2 in if (is_abs t11) && (is_abs t21) then solve_t env - (let uu___3005_21244 = problem in + (let uu___3005_21244 = problem in { FStar_TypeChecker_Common.pid = (uu___3005_21244.FStar_TypeChecker_Common.pid); @@ -6744,27 +7364,29 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = | uu____21248 -> failwith "Impossible: at least one side is an abstraction") - | (uu____21266, FStar_Syntax_Syntax.Tm_abs uu____21267) -> + | (uu____21266,FStar_Syntax_Syntax.Tm_abs uu____21267) -> let is_abs t = match t.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_abs uu____21298 -> true - | uu____21318 -> false in + | uu____21318 -> false in let maybe_eta t = if is_abs t then FStar_Util.Inl t else (let t3 = - FStar_TypeChecker_Normalize.eta_expand wl.tcenv t in + FStar_TypeChecker_Normalize.eta_expand wl.tcenv t + in if is_abs t3 then FStar_Util.Inl t3 - else FStar_Util.Inr t3) in + else FStar_Util.Inr t3) + in let force_eta t = if is_abs t then t else (let uu____21378 = env.FStar_TypeChecker_Env.type_of - (let uu___2967_21386 = env in + (let uu___2967_21386 = env in { FStar_TypeChecker_Env.solver = (uu___2967_21386.FStar_TypeChecker_Env.solver); @@ -6850,57 +7472,64 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___2967_21386.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___2967_21386.FStar_TypeChecker_Env.nbe) - }) t in + }) t + in match uu____21378 with - | (uu____21391, ty, uu____21393) -> + | (uu____21391,ty,uu____21393) -> let ty1 = let rec aux ty1 = let ty2 = FStar_TypeChecker_Normalize.unfold_whnf env - ty1 in + ty1 + in let uu____21402 = let uu____21403 = - FStar_Syntax_Subst.compress ty2 in - uu____21403.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress ty2 in + uu____21403.FStar_Syntax_Syntax.n in match uu____21402 with | FStar_Syntax_Syntax.Tm_refine uu____21406 -> let uu____21413 = - FStar_Syntax_Util.unrefine ty2 in + FStar_Syntax_Util.unrefine ty2 in aux uu____21413 - | uu____21414 -> ty2 in - aux ty in + | uu____21414 -> ty2 in + aux ty in let r1 = FStar_TypeChecker_Normalize.eta_expand_with_type - env t ty1 in + env t ty1 + in ((let uu____21417 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug wl.tcenv) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____21417 then let uu____21422 = - FStar_Syntax_Print.term_to_string t in + FStar_Syntax_Print.term_to_string t in let uu____21424 = let uu____21426 = FStar_TypeChecker_Normalize.unfold_whnf - env ty1 in + env ty1 + in FStar_Syntax_Print.term_to_string - uu____21426 in + uu____21426 + in let uu____21427 = - FStar_Syntax_Print.term_to_string r1 in + FStar_Syntax_Print.term_to_string r1 in FStar_Util.print3 "force_eta of (%s) at type (%s) = %s\n" uu____21422 uu____21424 uu____21427 else ()); - r1)) in + r1)) + in let uu____21432 = - let uu____21449 = maybe_eta t1 in - let uu____21456 = maybe_eta t2 in - (uu____21449, uu____21456) in + let uu____21449 = maybe_eta t1 in + let uu____21456 = maybe_eta t2 in + (uu____21449, uu____21456) in (match uu____21432 with - | (FStar_Util.Inl t11, FStar_Util.Inl t21) -> + | (FStar_Util.Inl t11,FStar_Util.Inl t21) -> solve_t env - (let uu___2988_21498 = problem in + (let uu___2988_21498 = problem in { FStar_TypeChecker_Common.pid = (uu___2988_21498.FStar_TypeChecker_Common.pid); @@ -6921,23 +7550,24 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Common.rank = (uu___2988_21498.FStar_TypeChecker_Common.rank) }) wl - | (FStar_Util.Inl t_abs, FStar_Util.Inr not_abs) -> + | (FStar_Util.Inl t_abs,FStar_Util.Inr not_abs) -> let uu____21519 = (is_flex not_abs) && - ((p_rel orig) = FStar_TypeChecker_Common.EQ) in + ((p_rel orig) = FStar_TypeChecker_Common.EQ) + in if uu____21519 then - let uu____21522 = destruct_flex_t not_abs wl in + let uu____21522 = destruct_flex_t not_abs wl in (match uu____21522 with - | (flex, wl1) -> + | (flex,wl1) -> solve_t_flex_rigid_eq env orig wl1 flex t_abs) else - (let t11 = force_eta t1 in - let t21 = force_eta t2 in + (let t11 = force_eta t1 in + let t21 = force_eta t2 in if (is_abs t11) && (is_abs t21) then solve_t env - (let uu___3005_21539 = problem in + (let uu___3005_21539 = problem in { FStar_TypeChecker_Common.pid = (uu___3005_21539.FStar_TypeChecker_Common.pid); @@ -6962,23 +7592,24 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = else giveup env "head tag mismatch: RHS is an abstraction" orig) - | (FStar_Util.Inr not_abs, FStar_Util.Inl t_abs) -> + | (FStar_Util.Inr not_abs,FStar_Util.Inl t_abs) -> let uu____21563 = (is_flex not_abs) && - ((p_rel orig) = FStar_TypeChecker_Common.EQ) in + ((p_rel orig) = FStar_TypeChecker_Common.EQ) + in if uu____21563 then - let uu____21566 = destruct_flex_t not_abs wl in + let uu____21566 = destruct_flex_t not_abs wl in (match uu____21566 with - | (flex, wl1) -> + | (flex,wl1) -> solve_t_flex_rigid_eq env orig wl1 flex t_abs) else - (let t11 = force_eta t1 in - let t21 = force_eta t2 in + (let t11 = force_eta t1 in + let t21 = force_eta t2 in if (is_abs t11) && (is_abs t21) then solve_t env - (let uu___3005_21583 = problem in + (let uu___3005_21583 = problem in { FStar_TypeChecker_Common.pid = (uu___3005_21583.FStar_TypeChecker_Common.pid); @@ -7006,15 +7637,16 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = | uu____21587 -> failwith "Impossible: at least one side is an abstraction") - | (FStar_Syntax_Syntax.Tm_refine (x1, phi1), - FStar_Syntax_Syntax.Tm_refine (x2, phi2)) -> + | (FStar_Syntax_Syntax.Tm_refine + (x1,phi1),FStar_Syntax_Syntax.Tm_refine (x2,phi2)) -> let uu____21617 = let uu____21622 = head_matches_delta env wl x1.FStar_Syntax_Syntax.sort - x2.FStar_Syntax_Syntax.sort in + x2.FStar_Syntax_Syntax.sort + in match uu____21622 with - | (FullMatch, FStar_Pervasives_Native.Some (t11, t21)) -> - ((let uu___3028_21650 = x1 in + | (FullMatch ,FStar_Pervasives_Native.Some (t11,t21)) -> + ((let uu___3028_21650 = x1 in { FStar_Syntax_Syntax.ppname = (uu___3028_21650.FStar_Syntax_Syntax.ppname); @@ -7022,7 +7654,7 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___3028_21650.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t11 }), - (let uu___3030_21652 = x2 in + (let uu___3030_21652 = x2 in { FStar_Syntax_Syntax.ppname = (uu___3030_21652.FStar_Syntax_Syntax.ppname); @@ -7030,9 +7662,9 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___3030_21652.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t21 })) - | (HeadMatch uu____21653, FStar_Pervasives_Native.Some - (t11, t21)) -> - ((let uu___3028_21668 = x1 in + | (HeadMatch uu____21653,FStar_Pervasives_Native.Some + (t11,t21)) -> + ((let uu___3028_21668 = x1 in { FStar_Syntax_Syntax.ppname = (uu___3028_21668.FStar_Syntax_Syntax.ppname); @@ -7040,7 +7672,7 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___3028_21668.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t11 }), - (let uu___3030_21670 = x2 in + (let uu___3030_21670 = x2 in { FStar_Syntax_Syntax.ppname = (uu___3030_21670.FStar_Syntax_Syntax.ppname); @@ -7048,41 +7680,48 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___3030_21670.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t21 })) - | uu____21671 -> (x1, x2) in + | uu____21671 -> (x1, x2) in (match uu____21617 with - | (x11, x21) -> - let t11 = FStar_Syntax_Util.refine x11 phi1 in - let t21 = FStar_Syntax_Util.refine x21 phi2 in - let uu____21690 = as_refinement false env t11 in + | (x11,x21) -> + let t11 = FStar_Syntax_Util.refine x11 phi1 in + let t21 = FStar_Syntax_Util.refine x21 phi2 in + let uu____21690 = as_refinement false env t11 in (match uu____21690 with - | (x12, phi11) -> - let uu____21698 = as_refinement false env t21 in + | (x12,phi11) -> + let uu____21698 = as_refinement false env t21 in (match uu____21698 with - | (x22, phi21) -> + | (x22,phi21) -> ((let uu____21707 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____21707 then ((let uu____21712 = - FStar_Syntax_Print.bv_to_string x12 in + FStar_Syntax_Print.bv_to_string x12 + in let uu____21714 = FStar_Syntax_Print.term_to_string - x12.FStar_Syntax_Syntax.sort in + x12.FStar_Syntax_Syntax.sort + in let uu____21716 = FStar_Syntax_Print.term_to_string - phi11 in + phi11 + in FStar_Util.print3 "ref1 = (%s):(%s){%s}\n" uu____21712 uu____21714 uu____21716); (let uu____21719 = - FStar_Syntax_Print.bv_to_string x22 in + FStar_Syntax_Print.bv_to_string x22 + in let uu____21721 = FStar_Syntax_Print.term_to_string - x22.FStar_Syntax_Syntax.sort in + x22.FStar_Syntax_Syntax.sort + in let uu____21723 = FStar_Syntax_Print.term_to_string - phi21 in + phi21 + in FStar_Util.print3 "ref2 = (%s):(%s){%s}\n" uu____21719 uu____21721 uu____21723)) @@ -7093,27 +7732,35 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = problem.FStar_TypeChecker_Common.relation x22.FStar_Syntax_Syntax.sort problem.FStar_TypeChecker_Common.element - "refinement base type" in + "refinement base type" + in match uu____21728 with - | (base_prob, wl1) -> + | (base_prob,wl1) -> let x13 = - FStar_Syntax_Syntax.freshen_bv x12 in + FStar_Syntax_Syntax.freshen_bv x12 + in let subst1 = [FStar_Syntax_Syntax.DB - ((Prims.parse_int "0"), x13)] in + ((Prims.parse_int "0"), x13)] + in let phi12 = FStar_Syntax_Subst.subst subst1 - phi11 in + phi11 + in let phi22 = FStar_Syntax_Subst.subst subst1 - phi21 in + phi21 + in let env1 = FStar_TypeChecker_Env.push_bv env - x13 in + x13 + in let mk_imp1 imp phi13 phi23 = - let uu____21799 = imp phi13 phi23 in + let uu____21799 = imp phi13 phi23 + in FStar_All.pipe_right uu____21799 - (guard_on_element wl1 problem x13) in + (guard_on_element wl1 problem x13) + in let fallback uu____21811 = let impl = if @@ -7124,46 +7771,59 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = phi12 phi22 else mk_imp1 FStar_Syntax_Util.mk_imp - phi12 phi22 in + phi12 phi22 + in let guard = FStar_Syntax_Util.mk_conj - (p_guard base_prob) impl in + (p_guard base_prob) impl + in (let uu____21824 = - let uu____21827 = p_scope orig in + let uu____21827 = p_scope orig + in FStar_List.map FStar_Pervasives_Native.fst - uu____21827 in + uu____21827 + in FStar_TypeChecker_Env.def_check_closed_in (p_loc orig) "ref.1" uu____21824 (p_guard base_prob)); (let uu____21846 = - let uu____21849 = p_scope orig in + let uu____21849 = p_scope orig + in FStar_List.map FStar_Pervasives_Native.fst - uu____21849 in + uu____21849 + in FStar_TypeChecker_Env.def_check_closed_in (p_loc orig) "ref.2" uu____21846 impl); (let wl2 = solve_prob orig (FStar_Pervasives_Native.Some - guard) [] wl1 in + guard) [] wl1 + in let uu____21868 = - attempt [base_prob] wl2 in - solve env1 uu____21868) in + attempt [base_prob] wl2 in + solve env1 uu____21868) + in let has_uvars = (let uu____21873 = let uu____21875 = - FStar_Syntax_Free.uvars phi12 in + FStar_Syntax_Free.uvars phi12 + in FStar_Util.set_is_empty - uu____21875 in + uu____21875 + in Prims.op_Negation uu____21873) || (let uu____21879 = let uu____21881 = - FStar_Syntax_Free.uvars phi22 in + FStar_Syntax_Free.uvars phi22 + in FStar_Util.set_is_empty - uu____21881 in - Prims.op_Negation uu____21879) in + uu____21881 + in + Prims.op_Negation uu____21879) + in if (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ) @@ -7176,19 +7836,22 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = let uu____21890 = let uu____21899 = FStar_Syntax_Syntax.mk_binder - x13 in - [uu____21899] in + x13 + in + [uu____21899] in mk_t_problem wl1 uu____21890 orig phi12 FStar_TypeChecker_Common.EQ phi22 FStar_Pervasives_Native.None - "refinement formula" in + "refinement formula" + in (match uu____21885 with - | (ref_prob, wl2) -> + | (ref_prob,wl2) -> let uu____21921 = solve env1 - (let uu___3072_21923 = wl2 in + (let uu___3072_21923 = wl2 + in { attempting = [ref_prob]; wl_deferred = []; @@ -7203,9 +7866,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___3072_21923.tcenv); wl_implicits = (uu___3072_21923.wl_implicits) - }) in + }) + in (match uu____21921 with - | Failed (prob, msg) -> + | Failed (prob,msg) -> if ((Prims.op_Negation env1.FStar_TypeChecker_Env.uvar_subtyping) @@ -7221,17 +7885,20 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_All.pipe_right (p_guard ref_prob) (guard_on_element - wl2 problem x13) in + wl2 problem x13) + in FStar_Syntax_Util.mk_conj (p_guard base_prob) - uu____21948 in + uu____21948 + in let wl3 = solve_prob orig (FStar_Pervasives_Native.Some - guard) [] wl2 in + guard) [] wl2 + in let wl4 = let uu___3083_21957 = - wl3 in + wl3 in { attempting = (uu___3083_21957.attempting); @@ -7250,106 +7917,103 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (uu___3083_21957.tcenv); wl_implicits = (uu___3083_21957.wl_implicits) - } in + } in let uu____21959 = - attempt [base_prob] wl4 in + attempt [base_prob] wl4 + in solve env1 uu____21959)) else fallback ()))))) - | (FStar_Syntax_Syntax.Tm_uvar uu____21962, - FStar_Syntax_Syntax.Tm_uvar uu____21963) -> - let uu____21988 = destruct_flex_t t1 wl in + | (FStar_Syntax_Syntax.Tm_uvar + uu____21962,FStar_Syntax_Syntax.Tm_uvar uu____21963) -> + let uu____21988 = destruct_flex_t t1 wl in (match uu____21988 with - | (f1, wl1) -> - let uu____21995 = destruct_flex_t t2 wl1 in + | (f1,wl1) -> + let uu____21995 = destruct_flex_t t2 wl1 in (match uu____21995 with - | (f2, wl2) -> solve_t_flex_flex env orig wl2 f1 f2)) + | (f2,wl2) -> solve_t_flex_flex env orig wl2 f1 f2)) | (FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar uu____22002; FStar_Syntax_Syntax.pos = uu____22003; - FStar_Syntax_Syntax.vars = uu____22004;_}, - uu____22005), - FStar_Syntax_Syntax.Tm_uvar uu____22006) -> - let uu____22055 = destruct_flex_t t1 wl in + FStar_Syntax_Syntax.vars = uu____22004;_},uu____22005),FStar_Syntax_Syntax.Tm_uvar + uu____22006) -> + let uu____22055 = destruct_flex_t t1 wl in (match uu____22055 with - | (f1, wl1) -> - let uu____22062 = destruct_flex_t t2 wl1 in + | (f1,wl1) -> + let uu____22062 = destruct_flex_t t2 wl1 in (match uu____22062 with - | (f2, wl2) -> solve_t_flex_flex env orig wl2 f1 f2)) - | (FStar_Syntax_Syntax.Tm_uvar uu____22069, - FStar_Syntax_Syntax.Tm_app + | (f2,wl2) -> solve_t_flex_flex env orig wl2 f1 f2)) + | (FStar_Syntax_Syntax.Tm_uvar + uu____22069,FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar uu____22070; FStar_Syntax_Syntax.pos = uu____22071; - FStar_Syntax_Syntax.vars = uu____22072;_}, - uu____22073)) -> - let uu____22122 = destruct_flex_t t1 wl in + FStar_Syntax_Syntax.vars = uu____22072;_},uu____22073)) + -> + let uu____22122 = destruct_flex_t t1 wl in (match uu____22122 with - | (f1, wl1) -> - let uu____22129 = destruct_flex_t t2 wl1 in + | (f1,wl1) -> + let uu____22129 = destruct_flex_t t2 wl1 in (match uu____22129 with - | (f2, wl2) -> solve_t_flex_flex env orig wl2 f1 f2)) + | (f2,wl2) -> solve_t_flex_flex env orig wl2 f1 f2)) | (FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar uu____22136; FStar_Syntax_Syntax.pos = uu____22137; - FStar_Syntax_Syntax.vars = uu____22138;_}, - uu____22139), - FStar_Syntax_Syntax.Tm_app + FStar_Syntax_Syntax.vars = uu____22138;_},uu____22139),FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar uu____22140; FStar_Syntax_Syntax.pos = uu____22141; - FStar_Syntax_Syntax.vars = uu____22142;_}, - uu____22143)) -> - let uu____22216 = destruct_flex_t t1 wl in + FStar_Syntax_Syntax.vars = uu____22142;_},uu____22143)) + -> + let uu____22216 = destruct_flex_t t1 wl in (match uu____22216 with - | (f1, wl1) -> - let uu____22223 = destruct_flex_t t2 wl1 in + | (f1,wl1) -> + let uu____22223 = destruct_flex_t t2 wl1 in (match uu____22223 with - | (f2, wl2) -> solve_t_flex_flex env orig wl2 f1 f2)) - | (FStar_Syntax_Syntax.Tm_uvar uu____22230, uu____22231) when + | (f2,wl2) -> solve_t_flex_flex env orig wl2 f1 f2)) + | (FStar_Syntax_Syntax.Tm_uvar uu____22230,uu____22231) when problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ -> - let uu____22244 = destruct_flex_t t1 wl in + let uu____22244 = destruct_flex_t t1 wl in (match uu____22244 with - | (f1, wl1) -> solve_t_flex_rigid_eq env orig wl1 f1 t2) + | (f1,wl1) -> solve_t_flex_rigid_eq env orig wl1 f1 t2) | (FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar uu____22251; FStar_Syntax_Syntax.pos = uu____22252; - FStar_Syntax_Syntax.vars = uu____22253;_}, - uu____22254), - uu____22255) when + FStar_Syntax_Syntax.vars = uu____22253;_},uu____22254),uu____22255) + when problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ -> - let uu____22292 = destruct_flex_t t1 wl in + let uu____22292 = destruct_flex_t t1 wl in (match uu____22292 with - | (f1, wl1) -> solve_t_flex_rigid_eq env orig wl1 f1 t2) - | (uu____22299, FStar_Syntax_Syntax.Tm_uvar uu____22300) when + | (f1,wl1) -> solve_t_flex_rigid_eq env orig wl1 f1 t2) + | (uu____22299,FStar_Syntax_Syntax.Tm_uvar uu____22300) when problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ -> solve_t env (invert problem) wl - | (uu____22313, FStar_Syntax_Syntax.Tm_app + | (uu____22313,FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar uu____22314; FStar_Syntax_Syntax.pos = uu____22315; - FStar_Syntax_Syntax.vars = uu____22316;_}, - uu____22317)) when + FStar_Syntax_Syntax.vars = uu____22316;_},uu____22317)) + when problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ -> solve_t env (invert problem) wl - | (FStar_Syntax_Syntax.Tm_uvar uu____22354, - FStar_Syntax_Syntax.Tm_arrow uu____22355) -> + | (FStar_Syntax_Syntax.Tm_uvar + uu____22354,FStar_Syntax_Syntax.Tm_arrow uu____22355) -> solve_t' env - (let uu___3183_22383 = problem in + (let uu___3183_22383 = problem in { FStar_TypeChecker_Common.pid = (uu___3183_22383.FStar_TypeChecker_Common.pid); @@ -7377,11 +8041,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar uu____22384; FStar_Syntax_Syntax.pos = uu____22385; - FStar_Syntax_Syntax.vars = uu____22386;_}, - uu____22387), - FStar_Syntax_Syntax.Tm_arrow uu____22388) -> + FStar_Syntax_Syntax.vars = uu____22386;_},uu____22387),FStar_Syntax_Syntax.Tm_arrow + uu____22388) -> solve_t' env - (let uu___3183_22440 = problem in + (let uu___3183_22440 = problem in { FStar_TypeChecker_Common.pid = (uu___3183_22440.FStar_TypeChecker_Common.pid); @@ -7404,41 +8067,40 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Common.rank = (uu___3183_22440.FStar_TypeChecker_Common.rank) }) wl - | (uu____22441, FStar_Syntax_Syntax.Tm_uvar uu____22442) -> + | (uu____22441,FStar_Syntax_Syntax.Tm_uvar uu____22442) -> let uu____22455 = - attempt [FStar_TypeChecker_Common.TProb problem] wl in + attempt [FStar_TypeChecker_Common.TProb problem] wl in solve env uu____22455 - | (uu____22456, FStar_Syntax_Syntax.Tm_app + | (uu____22456,FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar uu____22457; FStar_Syntax_Syntax.pos = uu____22458; - FStar_Syntax_Syntax.vars = uu____22459;_}, - uu____22460)) -> + FStar_Syntax_Syntax.vars = uu____22459;_},uu____22460)) + -> let uu____22497 = - attempt [FStar_TypeChecker_Common.TProb problem] wl in + attempt [FStar_TypeChecker_Common.TProb problem] wl in solve env uu____22497 - | (FStar_Syntax_Syntax.Tm_uvar uu____22498, uu____22499) -> + | (FStar_Syntax_Syntax.Tm_uvar uu____22498,uu____22499) -> let uu____22512 = - attempt [FStar_TypeChecker_Common.TProb problem] wl in + attempt [FStar_TypeChecker_Common.TProb problem] wl in solve env uu____22512 | (FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar uu____22513; FStar_Syntax_Syntax.pos = uu____22514; - FStar_Syntax_Syntax.vars = uu____22515;_}, - uu____22516), - uu____22517) -> + FStar_Syntax_Syntax.vars = uu____22515;_},uu____22516),uu____22517) + -> let uu____22554 = - attempt [FStar_TypeChecker_Common.TProb problem] wl in + attempt [FStar_TypeChecker_Common.TProb problem] wl in solve env uu____22554 - | (FStar_Syntax_Syntax.Tm_refine uu____22555, uu____22556) -> + | (FStar_Syntax_Syntax.Tm_refine uu____22555,uu____22556) -> let t21 = - let uu____22564 = base_and_refinement env t2 in - FStar_All.pipe_left force_refinement uu____22564 in + let uu____22564 = base_and_refinement env t2 in + FStar_All.pipe_left force_refinement uu____22564 in solve_t env - (let uu___3218_22590 = problem in + (let uu___3218_22590 = problem in { FStar_TypeChecker_Common.pid = (uu___3218_22590.FStar_TypeChecker_Common.pid); @@ -7460,12 +8122,12 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Common.rank = (uu___3218_22590.FStar_TypeChecker_Common.rank) }) wl - | (uu____22591, FStar_Syntax_Syntax.Tm_refine uu____22592) -> + | (uu____22591,FStar_Syntax_Syntax.Tm_refine uu____22592) -> let t11 = - let uu____22600 = base_and_refinement env t1 in - FStar_All.pipe_left force_refinement uu____22600 in + let uu____22600 = base_and_refinement env t1 in + FStar_All.pipe_left force_refinement uu____22600 in solve_t env - (let uu___3225_22626 = problem in + (let uu___3225_22626 = problem in { FStar_TypeChecker_Common.pid = (uu___3225_22626.FStar_TypeChecker_Common.pid); @@ -7487,71 +8149,76 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Common.rank = (uu___3225_22626.FStar_TypeChecker_Common.rank) }) wl - | (FStar_Syntax_Syntax.Tm_match (s1, brs1), - FStar_Syntax_Syntax.Tm_match (s2, brs2)) -> + | (FStar_Syntax_Syntax.Tm_match + (s1,brs1),FStar_Syntax_Syntax.Tm_match (s2,brs2)) -> let by_smt uu____22708 = - let uu____22709 = guard_of_prob env wl problem t1 t2 in + let uu____22709 = guard_of_prob env wl problem t1 t2 in match uu____22709 with - | (guard, wl1) -> + | (guard,wl1) -> let uu____22716 = solve_prob orig - (FStar_Pervasives_Native.Some guard) [] wl1 in - solve env uu____22716 in + (FStar_Pervasives_Native.Some guard) [] wl1 + in + solve env uu____22716 + in let rec solve_branches wl1 brs11 brs21 = match (brs11, brs21) with - | (br1::rs1, br2::rs2) -> - let uu____22935 = br1 in + | (br1::rs1,br2::rs2) -> + let uu____22935 = br1 in (match uu____22935 with - | (p1, w1, uu____22964) -> - let uu____22981 = br2 in + | (p1,w1,uu____22964) -> + let uu____22981 = br2 in (match uu____22981 with - | (p2, w2, uu____23004) -> + | (p2,w2,uu____23004) -> let uu____23009 = let uu____23011 = - FStar_Syntax_Syntax.eq_pat p1 p2 in - Prims.op_Negation uu____23011 in + FStar_Syntax_Syntax.eq_pat p1 p2 in + Prims.op_Negation uu____23011 in if uu____23009 then FStar_Pervasives_Native.None else (let uu____23038 = - FStar_Syntax_Subst.open_branch' br1 in + FStar_Syntax_Subst.open_branch' br1 + in match uu____23038 with - | ((p11, w11, e1), s) -> - let uu____23075 = br2 in + | ((p11,w11,e1),s) -> + let uu____23075 = br2 in (match uu____23075 with - | (p21, w21, e2) -> + | (p21,w21,e2) -> let w22 = FStar_Util.map_opt w21 - (FStar_Syntax_Subst.subst s) in + (FStar_Syntax_Subst.subst s) + in let e21 = - FStar_Syntax_Subst.subst s e2 in + FStar_Syntax_Subst.subst s e2 + in let scope = let uu____23108 = FStar_Syntax_Syntax.pat_bvs - p11 in + p11 + in FStar_All.pipe_left (FStar_List.map FStar_Syntax_Syntax.mk_binder) - uu____23108 in + uu____23108 + in let uu____23113 = match (w11, w22) with | (FStar_Pervasives_Native.Some - uu____23144, - FStar_Pervasives_Native.None) - -> + uu____23144,FStar_Pervasives_Native.None + ) -> FStar_Pervasives_Native.None - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.Some + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.Some uu____23165) -> FStar_Pervasives_Native.None - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) - -> + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.None + ) -> FStar_Pervasives_Native.Some ([], wl1) | (FStar_Pervasives_Native.Some - w12, - FStar_Pervasives_Native.Some + w12,FStar_Pervasives_Native.Some w23) -> let uu____23224 = mk_t_problem wl1 scope @@ -7559,44 +8226,50 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Common.EQ w23 FStar_Pervasives_Native.None - "when clause" in + "when clause" + in (match uu____23224 with - | (p, wl2) -> + | (p,wl2) -> FStar_Pervasives_Native.Some ([(scope, p)], - wl2)) in + wl2)) + in FStar_Util.bind_opt uu____23113 - (fun uu____23296 -> + (fun uu____23296 -> match uu____23296 with - | (wprobs, wl2) -> + | (wprobs,wl2) -> let uu____23333 = mk_t_problem wl2 scope orig e1 FStar_TypeChecker_Common.EQ e21 FStar_Pervasives_Native.None - "branch body" in + "branch body" + in (match uu____23333 with - | (prob, wl3) -> + | (prob,wl3) -> ((let uu____23354 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug wl3.tcenv) (FStar_Options.Other - "Rel") in + "Rel") + in if uu____23354 then let uu____23359 = prob_to_string - env prob in + env prob + in let uu____23361 = FStar_Syntax_Print.binders_to_string ", " - scope in + scope + in FStar_Util.print2 "Created problem for branches %s with scope %s\n" uu____23359 @@ -7605,16 +8278,17 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (let uu____23367 = solve_branches - wl3 rs1 rs2 in + wl3 rs1 rs2 + in FStar_Util.bind_opt uu____23367 (fun uu____23403 - -> + -> match uu____23403 with | - (r1, wl4) + (r1,wl4) -> FStar_Pervasives_Native.Some (((scope, @@ -7622,44 +8296,48 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (FStar_List.append wprobs r1)), wl4)))))))))) - | ([], []) -> FStar_Pervasives_Native.Some ([], wl1) - | uu____23532 -> FStar_Pervasives_Native.None in - let uu____23573 = solve_branches wl brs1 brs2 in + | ([],[]) -> FStar_Pervasives_Native.Some ([], wl1) + | uu____23532 -> FStar_Pervasives_Native.None in + let uu____23573 = solve_branches wl brs1 brs2 in (match uu____23573 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> if wl.smt_ok then by_smt () else giveup env "Tm_match branches don't match" orig - | FStar_Pervasives_Native.Some (sub_probs, wl1) -> + | FStar_Pervasives_Native.Some (sub_probs,wl1) -> let uu____23624 = mk_t_problem wl1 [] orig s1 FStar_TypeChecker_Common.EQ s2 - FStar_Pervasives_Native.None "match scrutinee" in + FStar_Pervasives_Native.None "match scrutinee" + in (match uu____23624 with - | (sc_prob, wl2) -> - let sub_probs1 = ([], sc_prob) :: sub_probs in + | (sc_prob,wl2) -> + let sub_probs1 = ([], sc_prob) :: sub_probs in let formula = let uu____23658 = FStar_List.map - (fun uu____23670 -> + (fun uu____23670 -> match uu____23670 with - | (scope, p) -> + | (scope,p) -> FStar_TypeChecker_Env.close_forall wl2.tcenv scope (p_guard p)) - sub_probs1 in - FStar_Syntax_Util.mk_conj_l uu____23658 in + sub_probs1 + in + FStar_Syntax_Util.mk_conj_l uu____23658 in let tx = - FStar_Syntax_Unionfind.new_transaction () in + FStar_Syntax_Unionfind.new_transaction () in let wl3 = solve_prob orig - (FStar_Pervasives_Native.Some formula) [] wl2 in + (FStar_Pervasives_Native.Some formula) [] wl2 + in let uu____23679 = let uu____23680 = let uu____23681 = FStar_List.map FStar_Pervasives_Native.snd - sub_probs1 in + sub_probs1 + in attempt uu____23681 - (let uu___3324_23689 = wl3 in + (let uu___3324_23689 = wl3 in { attempting = (uu___3324_23689.attempting); @@ -7673,45 +8351,51 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = tcenv = (uu___3324_23689.tcenv); wl_implicits = (uu___3324_23689.wl_implicits) - }) in - solve env uu____23680 in + }) + in + solve env uu____23680 in (match uu____23679 with - | Success (ds, imp) -> + | Success (ds,imp) -> (FStar_Syntax_Unionfind.commit tx; Success (ds, imp)) | Failed uu____23694 -> (FStar_Syntax_Unionfind.rollback tx; by_smt ())))) - | (FStar_Syntax_Syntax.Tm_match uu____23701, uu____23702) -> + | (FStar_Syntax_Syntax.Tm_match uu____23701,uu____23702) -> let head1 = - let uu____23726 = FStar_Syntax_Util.head_and_args t1 in + let uu____23726 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____23726 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____23772 = FStar_Syntax_Util.head_and_args t2 in + let uu____23772 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____23772 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____23818 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____23818 then let uu____23822 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____23824 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____23826 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____23822 uu____23824 uu____23826 else ()); (let no_free_uvars t = - (let uu____23840 = FStar_Syntax_Free.uvars t in + (let uu____23840 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____23840) && - (let uu____23844 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____23844) in + (let uu____23844 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____23844) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -7720,7 +8404,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -7728,9 +8413,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____23861 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____23861 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____23861 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____23861 = FStar_Syntax_Util.Equal in let uu____23862 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -7738,66 +8424,75 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____23862 then (if Prims.op_Negation wl.smt_ok then - let uu____23866 = equal t1 t2 in + let uu____23866 = equal t1 t2 in (if uu____23866 then let uu____23869 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____23869 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____23874 = - let uu____23881 = equal t1 t2 in + let uu____23881 = equal t1 t2 in if uu____23881 then (FStar_Pervasives_Native.None, wl) else - (let uu____23894 = mk_eq2 wl env orig t1 t2 in + (let uu____23894 = mk_eq2 wl env orig t1 t2 in match uu____23894 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____23874 with - | (guard, wl1) -> - let uu____23915 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____23915 = solve_prob orig guard [] wl1 + in solve env uu____23915)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (FStar_Syntax_Syntax.Tm_uinst uu____23918, uu____23919) -> + | (FStar_Syntax_Syntax.Tm_uinst uu____23918,uu____23919) -> let head1 = - let uu____23927 = FStar_Syntax_Util.head_and_args t1 in + let uu____23927 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____23927 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____23973 = FStar_Syntax_Util.head_and_args t2 in + let uu____23973 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____23973 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____24019 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____24019 then let uu____24023 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____24025 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____24027 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____24023 uu____24025 uu____24027 else ()); (let no_free_uvars t = - (let uu____24041 = FStar_Syntax_Free.uvars t in + (let uu____24041 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____24041) && - (let uu____24045 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____24045) in + (let uu____24045 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____24045) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -7806,7 +8501,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -7814,9 +8510,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____24062 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____24062 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____24062 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____24062 = FStar_Syntax_Util.Equal in let uu____24063 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -7824,66 +8521,75 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____24063 then (if Prims.op_Negation wl.smt_ok then - let uu____24067 = equal t1 t2 in + let uu____24067 = equal t1 t2 in (if uu____24067 then let uu____24070 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____24070 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____24075 = - let uu____24082 = equal t1 t2 in + let uu____24082 = equal t1 t2 in if uu____24082 then (FStar_Pervasives_Native.None, wl) else - (let uu____24095 = mk_eq2 wl env orig t1 t2 in + (let uu____24095 = mk_eq2 wl env orig t1 t2 in match uu____24095 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____24075 with - | (guard, wl1) -> - let uu____24116 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____24116 = solve_prob orig guard [] wl1 + in solve env uu____24116)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (FStar_Syntax_Syntax.Tm_name uu____24119, uu____24120) -> + | (FStar_Syntax_Syntax.Tm_name uu____24119,uu____24120) -> let head1 = - let uu____24122 = FStar_Syntax_Util.head_and_args t1 in + let uu____24122 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____24122 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____24168 = FStar_Syntax_Util.head_and_args t2 in + let uu____24168 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____24168 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____24214 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____24214 then let uu____24218 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____24220 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____24222 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____24218 uu____24220 uu____24222 else ()); (let no_free_uvars t = - (let uu____24236 = FStar_Syntax_Free.uvars t in + (let uu____24236 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____24236) && - (let uu____24240 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____24240) in + (let uu____24240 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____24240) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -7892,7 +8598,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -7900,9 +8607,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____24257 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____24257 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____24257 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____24257 = FStar_Syntax_Util.Equal in let uu____24258 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -7910,66 +8618,75 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____24258 then (if Prims.op_Negation wl.smt_ok then - let uu____24262 = equal t1 t2 in + let uu____24262 = equal t1 t2 in (if uu____24262 then let uu____24265 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____24265 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____24270 = - let uu____24277 = equal t1 t2 in + let uu____24277 = equal t1 t2 in if uu____24277 then (FStar_Pervasives_Native.None, wl) else - (let uu____24290 = mk_eq2 wl env orig t1 t2 in + (let uu____24290 = mk_eq2 wl env orig t1 t2 in match uu____24290 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____24270 with - | (guard, wl1) -> - let uu____24311 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____24311 = solve_prob orig guard [] wl1 + in solve env uu____24311)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (FStar_Syntax_Syntax.Tm_constant uu____24314, uu____24315) -> + | (FStar_Syntax_Syntax.Tm_constant uu____24314,uu____24315) -> let head1 = - let uu____24317 = FStar_Syntax_Util.head_and_args t1 in + let uu____24317 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____24317 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____24363 = FStar_Syntax_Util.head_and_args t2 in + let uu____24363 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____24363 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____24409 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____24409 then let uu____24413 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____24415 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____24417 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____24413 uu____24415 uu____24417 else ()); (let no_free_uvars t = - (let uu____24431 = FStar_Syntax_Free.uvars t in + (let uu____24431 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____24431) && - (let uu____24435 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____24435) in + (let uu____24435 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____24435) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -7978,7 +8695,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -7986,9 +8704,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____24452 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____24452 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____24452 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____24452 = FStar_Syntax_Util.Equal in let uu____24453 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -7996,66 +8715,75 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____24453 then (if Prims.op_Negation wl.smt_ok then - let uu____24457 = equal t1 t2 in + let uu____24457 = equal t1 t2 in (if uu____24457 then let uu____24460 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____24460 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____24465 = - let uu____24472 = equal t1 t2 in + let uu____24472 = equal t1 t2 in if uu____24472 then (FStar_Pervasives_Native.None, wl) else - (let uu____24485 = mk_eq2 wl env orig t1 t2 in + (let uu____24485 = mk_eq2 wl env orig t1 t2 in match uu____24485 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____24465 with - | (guard, wl1) -> - let uu____24506 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____24506 = solve_prob orig guard [] wl1 + in solve env uu____24506)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (FStar_Syntax_Syntax.Tm_fvar uu____24509, uu____24510) -> + | (FStar_Syntax_Syntax.Tm_fvar uu____24509,uu____24510) -> let head1 = - let uu____24512 = FStar_Syntax_Util.head_and_args t1 in + let uu____24512 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____24512 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____24558 = FStar_Syntax_Util.head_and_args t2 in + let uu____24558 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____24558 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____24604 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____24604 then let uu____24608 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____24610 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____24612 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____24608 uu____24610 uu____24612 else ()); (let no_free_uvars t = - (let uu____24626 = FStar_Syntax_Free.uvars t in + (let uu____24626 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____24626) && - (let uu____24630 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____24630) in + (let uu____24630 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____24630) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -8064,7 +8792,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -8072,9 +8801,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____24647 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____24647 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____24647 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____24647 = FStar_Syntax_Util.Equal in let uu____24648 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -8082,66 +8812,75 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____24648 then (if Prims.op_Negation wl.smt_ok then - let uu____24652 = equal t1 t2 in + let uu____24652 = equal t1 t2 in (if uu____24652 then let uu____24655 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____24655 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____24660 = - let uu____24667 = equal t1 t2 in + let uu____24667 = equal t1 t2 in if uu____24667 then (FStar_Pervasives_Native.None, wl) else - (let uu____24680 = mk_eq2 wl env orig t1 t2 in + (let uu____24680 = mk_eq2 wl env orig t1 t2 in match uu____24680 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____24660 with - | (guard, wl1) -> - let uu____24701 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____24701 = solve_prob orig guard [] wl1 + in solve env uu____24701)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (FStar_Syntax_Syntax.Tm_app uu____24704, uu____24705) -> + | (FStar_Syntax_Syntax.Tm_app uu____24704,uu____24705) -> let head1 = - let uu____24723 = FStar_Syntax_Util.head_and_args t1 in + let uu____24723 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____24723 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____24769 = FStar_Syntax_Util.head_and_args t2 in + let uu____24769 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____24769 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____24815 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____24815 then let uu____24819 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____24821 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____24823 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____24819 uu____24821 uu____24823 else ()); (let no_free_uvars t = - (let uu____24837 = FStar_Syntax_Free.uvars t in + (let uu____24837 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____24837) && - (let uu____24841 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____24841) in + (let uu____24841 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____24841) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -8150,7 +8889,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -8158,9 +8898,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____24858 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____24858 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____24858 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____24858 = FStar_Syntax_Util.Equal in let uu____24859 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -8168,66 +8909,75 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____24859 then (if Prims.op_Negation wl.smt_ok then - let uu____24863 = equal t1 t2 in + let uu____24863 = equal t1 t2 in (if uu____24863 then let uu____24866 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____24866 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____24871 = - let uu____24878 = equal t1 t2 in + let uu____24878 = equal t1 t2 in if uu____24878 then (FStar_Pervasives_Native.None, wl) else - (let uu____24891 = mk_eq2 wl env orig t1 t2 in + (let uu____24891 = mk_eq2 wl env orig t1 t2 in match uu____24891 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____24871 with - | (guard, wl1) -> - let uu____24912 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____24912 = solve_prob orig guard [] wl1 + in solve env uu____24912)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (uu____24915, FStar_Syntax_Syntax.Tm_match uu____24916) -> + | (uu____24915,FStar_Syntax_Syntax.Tm_match uu____24916) -> let head1 = - let uu____24940 = FStar_Syntax_Util.head_and_args t1 in + let uu____24940 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____24940 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____24986 = FStar_Syntax_Util.head_and_args t2 in + let uu____24986 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____24986 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____25032 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____25032 then let uu____25036 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____25038 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____25040 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____25036 uu____25038 uu____25040 else ()); (let no_free_uvars t = - (let uu____25054 = FStar_Syntax_Free.uvars t in + (let uu____25054 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____25054) && - (let uu____25058 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____25058) in + (let uu____25058 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____25058) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -8236,7 +8986,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -8244,9 +8995,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____25075 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____25075 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____25075 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____25075 = FStar_Syntax_Util.Equal in let uu____25076 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -8254,66 +9006,75 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____25076 then (if Prims.op_Negation wl.smt_ok then - let uu____25080 = equal t1 t2 in + let uu____25080 = equal t1 t2 in (if uu____25080 then let uu____25083 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____25083 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____25088 = - let uu____25095 = equal t1 t2 in + let uu____25095 = equal t1 t2 in if uu____25095 then (FStar_Pervasives_Native.None, wl) else - (let uu____25108 = mk_eq2 wl env orig t1 t2 in + (let uu____25108 = mk_eq2 wl env orig t1 t2 in match uu____25108 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____25088 with - | (guard, wl1) -> - let uu____25129 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____25129 = solve_prob orig guard [] wl1 + in solve env uu____25129)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (uu____25132, FStar_Syntax_Syntax.Tm_uinst uu____25133) -> + | (uu____25132,FStar_Syntax_Syntax.Tm_uinst uu____25133) -> let head1 = - let uu____25141 = FStar_Syntax_Util.head_and_args t1 in + let uu____25141 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____25141 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____25181 = FStar_Syntax_Util.head_and_args t2 in + let uu____25181 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____25181 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____25221 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____25221 then let uu____25225 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____25227 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____25229 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____25225 uu____25227 uu____25229 else ()); (let no_free_uvars t = - (let uu____25243 = FStar_Syntax_Free.uvars t in + (let uu____25243 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____25243) && - (let uu____25247 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____25247) in + (let uu____25247 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____25247) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -8322,7 +9083,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -8330,9 +9092,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____25264 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____25264 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____25264 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____25264 = FStar_Syntax_Util.Equal in let uu____25265 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -8340,66 +9103,75 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____25265 then (if Prims.op_Negation wl.smt_ok then - let uu____25269 = equal t1 t2 in + let uu____25269 = equal t1 t2 in (if uu____25269 then let uu____25272 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____25272 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____25277 = - let uu____25284 = equal t1 t2 in + let uu____25284 = equal t1 t2 in if uu____25284 then (FStar_Pervasives_Native.None, wl) else - (let uu____25297 = mk_eq2 wl env orig t1 t2 in + (let uu____25297 = mk_eq2 wl env orig t1 t2 in match uu____25297 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____25277 with - | (guard, wl1) -> - let uu____25318 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____25318 = solve_prob orig guard [] wl1 + in solve env uu____25318)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (uu____25321, FStar_Syntax_Syntax.Tm_name uu____25322) -> + | (uu____25321,FStar_Syntax_Syntax.Tm_name uu____25322) -> let head1 = - let uu____25324 = FStar_Syntax_Util.head_and_args t1 in + let uu____25324 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____25324 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____25364 = FStar_Syntax_Util.head_and_args t2 in + let uu____25364 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____25364 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____25404 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____25404 then let uu____25408 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____25410 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____25412 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____25408 uu____25410 uu____25412 else ()); (let no_free_uvars t = - (let uu____25426 = FStar_Syntax_Free.uvars t in + (let uu____25426 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____25426) && - (let uu____25430 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____25430) in + (let uu____25430 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____25430) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -8408,7 +9180,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -8416,9 +9189,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____25447 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____25447 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____25447 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____25447 = FStar_Syntax_Util.Equal in let uu____25448 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -8426,66 +9200,75 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____25448 then (if Prims.op_Negation wl.smt_ok then - let uu____25452 = equal t1 t2 in + let uu____25452 = equal t1 t2 in (if uu____25452 then let uu____25455 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____25455 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____25460 = - let uu____25467 = equal t1 t2 in + let uu____25467 = equal t1 t2 in if uu____25467 then (FStar_Pervasives_Native.None, wl) else - (let uu____25480 = mk_eq2 wl env orig t1 t2 in + (let uu____25480 = mk_eq2 wl env orig t1 t2 in match uu____25480 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____25460 with - | (guard, wl1) -> - let uu____25501 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____25501 = solve_prob orig guard [] wl1 + in solve env uu____25501)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (uu____25504, FStar_Syntax_Syntax.Tm_constant uu____25505) -> + | (uu____25504,FStar_Syntax_Syntax.Tm_constant uu____25505) -> let head1 = - let uu____25507 = FStar_Syntax_Util.head_and_args t1 in + let uu____25507 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____25507 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____25547 = FStar_Syntax_Util.head_and_args t2 in + let uu____25547 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____25547 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____25587 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____25587 then let uu____25591 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____25593 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____25595 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____25591 uu____25593 uu____25595 else ()); (let no_free_uvars t = - (let uu____25609 = FStar_Syntax_Free.uvars t in + (let uu____25609 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____25609) && - (let uu____25613 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____25613) in + (let uu____25613 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____25613) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -8494,7 +9277,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -8502,9 +9286,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____25630 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____25630 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____25630 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____25630 = FStar_Syntax_Util.Equal in let uu____25631 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -8512,66 +9297,75 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____25631 then (if Prims.op_Negation wl.smt_ok then - let uu____25635 = equal t1 t2 in + let uu____25635 = equal t1 t2 in (if uu____25635 then let uu____25638 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____25638 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____25643 = - let uu____25650 = equal t1 t2 in + let uu____25650 = equal t1 t2 in if uu____25650 then (FStar_Pervasives_Native.None, wl) else - (let uu____25663 = mk_eq2 wl env orig t1 t2 in + (let uu____25663 = mk_eq2 wl env orig t1 t2 in match uu____25663 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____25643 with - | (guard, wl1) -> - let uu____25684 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____25684 = solve_prob orig guard [] wl1 + in solve env uu____25684)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (uu____25687, FStar_Syntax_Syntax.Tm_fvar uu____25688) -> + | (uu____25687,FStar_Syntax_Syntax.Tm_fvar uu____25688) -> let head1 = - let uu____25690 = FStar_Syntax_Util.head_and_args t1 in + let uu____25690 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____25690 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____25730 = FStar_Syntax_Util.head_and_args t2 in + let uu____25730 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____25730 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____25770 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____25770 then let uu____25774 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____25776 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____25778 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____25774 uu____25776 uu____25778 else ()); (let no_free_uvars t = - (let uu____25792 = FStar_Syntax_Free.uvars t in + (let uu____25792 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____25792) && - (let uu____25796 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____25796) in + (let uu____25796 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____25796) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -8580,7 +9374,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -8588,9 +9383,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____25813 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____25813 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____25813 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____25813 = FStar_Syntax_Util.Equal in let uu____25814 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -8598,66 +9394,75 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____25814 then (if Prims.op_Negation wl.smt_ok then - let uu____25818 = equal t1 t2 in + let uu____25818 = equal t1 t2 in (if uu____25818 then let uu____25821 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____25821 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____25826 = - let uu____25833 = equal t1 t2 in + let uu____25833 = equal t1 t2 in if uu____25833 then (FStar_Pervasives_Native.None, wl) else - (let uu____25846 = mk_eq2 wl env orig t1 t2 in + (let uu____25846 = mk_eq2 wl env orig t1 t2 in match uu____25846 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____25826 with - | (guard, wl1) -> - let uu____25867 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____25867 = solve_prob orig guard [] wl1 + in solve env uu____25867)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (uu____25870, FStar_Syntax_Syntax.Tm_app uu____25871) -> + | (uu____25870,FStar_Syntax_Syntax.Tm_app uu____25871) -> let head1 = - let uu____25889 = FStar_Syntax_Util.head_and_args t1 in + let uu____25889 = FStar_Syntax_Util.head_and_args t1 in FStar_All.pipe_right uu____25889 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let head2 = - let uu____25929 = FStar_Syntax_Util.head_and_args t2 in + let uu____25929 = FStar_Syntax_Util.head_and_args t2 in FStar_All.pipe_right uu____25929 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in ((let uu____25969 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____25969 then let uu____25973 = FStar_Util.string_of_int - problem.FStar_TypeChecker_Common.pid in + problem.FStar_TypeChecker_Common.pid + in let uu____25975 = - FStar_Syntax_Print.term_to_string head1 in + FStar_Syntax_Print.term_to_string head1 in let uu____25977 = - FStar_Syntax_Print.term_to_string head2 in + FStar_Syntax_Print.term_to_string head2 in FStar_Util.print3 ">> (%s)\n>>> head1 = %s\n>>> head2 = %s\n" uu____25973 uu____25975 uu____25977 else ()); (let no_free_uvars t = - (let uu____25991 = FStar_Syntax_Free.uvars t in + (let uu____25991 = FStar_Syntax_Free.uvars t in FStar_Util.set_is_empty uu____25991) && - (let uu____25995 = FStar_Syntax_Free.univs t in - FStar_Util.set_is_empty uu____25995) in + (let uu____25995 = FStar_Syntax_Free.univs t in + FStar_Util.set_is_empty uu____25995) + in let equal t11 t21 = let t12 = FStar_TypeChecker_Normalize.normalize @@ -8666,7 +9471,8 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t11 in + FStar_TypeChecker_Env.Iota] env t11 + in let t22 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil @@ -8674,9 +9480,10 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.Iota] env t21 in - let uu____26012 = FStar_Syntax_Util.eq_tm t12 t22 in - uu____26012 = FStar_Syntax_Util.Equal in + FStar_TypeChecker_Env.Iota] env t21 + in + let uu____26012 = FStar_Syntax_Util.eq_tm t12 t22 in + uu____26012 = FStar_Syntax_Util.Equal in let uu____26013 = ((((FStar_TypeChecker_Env.is_interpreted env head1) || (FStar_TypeChecker_Env.is_interpreted env head2)) @@ -8684,100 +9491,115 @@ and (solve_t' : FStar_TypeChecker_Env.env -> tprob -> worklist -> solution) = (problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ)) && (no_free_uvars t1)) - && (no_free_uvars t2) in + && (no_free_uvars t2) + in if uu____26013 then (if Prims.op_Negation wl.smt_ok then - let uu____26017 = equal t1 t2 in + let uu____26017 = equal t1 t2 in (if uu____26017 then let uu____26020 = solve_prob orig FStar_Pervasives_Native.None [] - wl in + wl + in solve env uu____26020 else rigid_rigid_delta env problem wl head1 head2 t1 t2) else (let uu____26025 = - let uu____26032 = equal t1 t2 in + let uu____26032 = equal t1 t2 in if uu____26032 then (FStar_Pervasives_Native.None, wl) else - (let uu____26045 = mk_eq2 wl env orig t1 t2 in + (let uu____26045 = mk_eq2 wl env orig t1 t2 in match uu____26045 with - | (g, wl1) -> - ((FStar_Pervasives_Native.Some g), wl1)) in + | (g,wl1) -> + ((FStar_Pervasives_Native.Some g), wl1)) + in match uu____26025 with - | (guard, wl1) -> - let uu____26066 = solve_prob orig guard [] wl1 in + | (guard,wl1) -> + let uu____26066 = solve_prob orig guard [] wl1 + in solve env uu____26066)) else rigid_rigid_delta env problem wl head1 head2 t1 t2)) - | (FStar_Syntax_Syntax.Tm_let uu____26069, - FStar_Syntax_Syntax.Tm_let uu____26070) -> - let uu____26097 = FStar_Syntax_Util.term_eq t1 t2 in + | (FStar_Syntax_Syntax.Tm_let + uu____26069,FStar_Syntax_Syntax.Tm_let uu____26070) -> + let uu____26097 = FStar_Syntax_Util.term_eq t1 t2 in if uu____26097 then let uu____26100 = - solve_prob orig FStar_Pervasives_Native.None [] wl in + solve_prob orig FStar_Pervasives_Native.None [] wl in solve env uu____26100 else giveup env "Tm_let mismatch (%s-%s vs %s-%s)" orig - | (FStar_Syntax_Syntax.Tm_let uu____26104, uu____26105) -> + | (FStar_Syntax_Syntax.Tm_let uu____26104,uu____26105) -> let uu____26119 = let uu____26125 = - let uu____26127 = FStar_Syntax_Print.tag_of_term t1 in - let uu____26129 = FStar_Syntax_Print.tag_of_term t2 in - let uu____26131 = FStar_Syntax_Print.term_to_string t1 in - let uu____26133 = FStar_Syntax_Print.term_to_string t2 in + let uu____26127 = FStar_Syntax_Print.tag_of_term t1 in + let uu____26129 = FStar_Syntax_Print.tag_of_term t2 in + let uu____26131 = FStar_Syntax_Print.term_to_string t1 + in + let uu____26133 = FStar_Syntax_Print.term_to_string t2 + in FStar_Util.format4 "Internal error: unexpected flex-flex of %s and %s\n>>> (%s) -- (%s)" - uu____26127 uu____26129 uu____26131 uu____26133 in + uu____26127 uu____26129 uu____26131 uu____26133 + in (FStar_Errors.Fatal_UnificationNotWellFormed, - uu____26125) in + uu____26125) + in FStar_Errors.raise_error uu____26119 t1.FStar_Syntax_Syntax.pos - | (uu____26137, FStar_Syntax_Syntax.Tm_let uu____26138) -> + | (uu____26137,FStar_Syntax_Syntax.Tm_let uu____26138) -> let uu____26152 = let uu____26158 = - let uu____26160 = FStar_Syntax_Print.tag_of_term t1 in - let uu____26162 = FStar_Syntax_Print.tag_of_term t2 in - let uu____26164 = FStar_Syntax_Print.term_to_string t1 in - let uu____26166 = FStar_Syntax_Print.term_to_string t2 in + let uu____26160 = FStar_Syntax_Print.tag_of_term t1 in + let uu____26162 = FStar_Syntax_Print.tag_of_term t2 in + let uu____26164 = FStar_Syntax_Print.term_to_string t1 + in + let uu____26166 = FStar_Syntax_Print.term_to_string t2 + in FStar_Util.format4 "Internal error: unexpected flex-flex of %s and %s\n>>> (%s) -- (%s)" - uu____26160 uu____26162 uu____26164 uu____26166 in + uu____26160 uu____26162 uu____26164 uu____26166 + in (FStar_Errors.Fatal_UnificationNotWellFormed, - uu____26158) in + uu____26158) + in FStar_Errors.raise_error uu____26152 t1.FStar_Syntax_Syntax.pos | uu____26170 -> giveup env "head tag mismatch" orig)))) + and (solve_c : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp FStar_TypeChecker_Common.problem -> worklist -> solution) = - fun env -> - fun problem -> - fun wl -> - let c1 = problem.FStar_TypeChecker_Common.lhs in - let c2 = problem.FStar_TypeChecker_Common.rhs in - let orig = FStar_TypeChecker_Common.CProb problem in + fun env -> + fun problem -> + fun wl -> + let c1 = problem.FStar_TypeChecker_Common.lhs in + let c2 = problem.FStar_TypeChecker_Common.rhs in + let orig = FStar_TypeChecker_Common.CProb problem in let sub_prob wl1 t1 rel t2 reason = mk_t_problem wl1 [] orig t1 rel t2 FStar_Pervasives_Native.None - reason in + reason + in let solve_eq c1_comp c2_comp = (let uu____26234 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "EQ") in + (FStar_Options.Other "EQ") + in if uu____26234 then let uu____26239 = - let uu____26241 = FStar_Syntax_Syntax.mk_Comp c1_comp in - FStar_Syntax_Print.comp_to_string uu____26241 in + let uu____26241 = FStar_Syntax_Syntax.mk_Comp c1_comp in + FStar_Syntax_Print.comp_to_string uu____26241 in let uu____26242 = - let uu____26244 = FStar_Syntax_Syntax.mk_Comp c2_comp in - FStar_Syntax_Print.comp_to_string uu____26244 in + let uu____26244 = FStar_Syntax_Syntax.mk_Comp c2_comp in + FStar_Syntax_Print.comp_to_string uu____26244 in FStar_Util.print2 "solve_c is using an equality constraint (%s vs %s)\n" uu____26239 uu____26242 @@ -8785,88 +9607,103 @@ and (solve_c : (let uu____26248 = let uu____26250 = FStar_Ident.lid_equals c1_comp.FStar_Syntax_Syntax.effect_name - c2_comp.FStar_Syntax_Syntax.effect_name in - Prims.op_Negation uu____26250 in + c2_comp.FStar_Syntax_Syntax.effect_name + in + Prims.op_Negation uu____26250 in if uu____26248 then let uu____26253 = let uu____26255 = FStar_Syntax_Print.lid_to_string - c1_comp.FStar_Syntax_Syntax.effect_name in + c1_comp.FStar_Syntax_Syntax.effect_name + in let uu____26257 = FStar_Syntax_Print.lid_to_string - c2_comp.FStar_Syntax_Syntax.effect_name in + c2_comp.FStar_Syntax_Syntax.effect_name + in FStar_Util.format2 "incompatible effects: %s <> %s" - uu____26255 uu____26257 in + uu____26255 uu____26257 + in giveup env uu____26253 orig else (let uu____26262 = sub_prob wl c1_comp.FStar_Syntax_Syntax.result_typ FStar_TypeChecker_Common.EQ - c2_comp.FStar_Syntax_Syntax.result_typ "effect ret type" in + c2_comp.FStar_Syntax_Syntax.result_typ "effect ret type" + in match uu____26262 with - | (ret_sub_prob, wl1) -> + | (ret_sub_prob,wl1) -> let uu____26270 = FStar_List.fold_right2 - (fun uu____26307 -> - fun uu____26308 -> - fun uu____26309 -> + (fun uu____26307 -> + fun uu____26308 -> + fun uu____26309 -> match (uu____26307, uu____26308, uu____26309) with - | ((a1, uu____26353), (a2, uu____26355), - (arg_sub_probs, wl2)) -> + | ((a1,uu____26353),(a2,uu____26355),(arg_sub_probs,wl2)) + -> let uu____26388 = sub_prob wl2 a1 FStar_TypeChecker_Common.EQ a2 - "effect arg" in + "effect arg" + in (match uu____26388 with - | (p, wl3) -> ((p :: arg_sub_probs), wl3))) + | (p,wl3) -> ((p :: arg_sub_probs), wl3))) c1_comp.FStar_Syntax_Syntax.effect_args - c2_comp.FStar_Syntax_Syntax.effect_args ([], wl1) in + c2_comp.FStar_Syntax_Syntax.effect_args ([], wl1) + in (match uu____26270 with - | (arg_sub_probs, wl2) -> - let sub_probs = ret_sub_prob :: arg_sub_probs in + | (arg_sub_probs,wl2) -> + let sub_probs = ret_sub_prob :: arg_sub_probs in let guard = - let uu____26418 = FStar_List.map p_guard sub_probs in - FStar_Syntax_Util.mk_conj_l uu____26418 in + let uu____26418 = FStar_List.map p_guard sub_probs + in + FStar_Syntax_Util.mk_conj_l uu____26418 in let wl3 = solve_prob orig (FStar_Pervasives_Native.Some guard) - [] wl2 in - let uu____26426 = attempt sub_probs wl3 in - solve env uu____26426))) in + [] wl2 + in + let uu____26426 = attempt sub_probs wl3 in + solve env uu____26426))) + in let solve_sub c11 edge c21 = - let r = FStar_TypeChecker_Env.get_range env in + let r = FStar_TypeChecker_Env.get_range env in let lift_c1 uu____26449 = let wp = match c11.FStar_Syntax_Syntax.effect_args with - | (wp1, uu____26452)::[] -> wp1 + | (wp1,uu____26452)::[] -> wp1 | uu____26477 -> let uu____26488 = let uu____26490 = let uu____26492 = FStar_Ident.range_of_lid - c11.FStar_Syntax_Syntax.effect_name in - FStar_Range.string_of_range uu____26492 in + c11.FStar_Syntax_Syntax.effect_name + in + FStar_Range.string_of_range uu____26492 in FStar_Util.format1 "Unexpected number of indices on a normalized effect (%s)" - uu____26490 in - failwith uu____26488 in + uu____26490 + in + failwith uu____26488 + in let univs1 = match c11.FStar_Syntax_Syntax.comp_univs with | [] -> let uu____26499 = env.FStar_TypeChecker_Env.universe_of env - c11.FStar_Syntax_Syntax.result_typ in + c11.FStar_Syntax_Syntax.result_typ + in [uu____26499] - | x -> x in + | x -> x in let uu____26501 = let uu____26512 = let uu____26521 = - let uu____26522 = FStar_List.hd univs1 in + let uu____26522 = FStar_List.hd univs1 in (edge.FStar_TypeChecker_Env.mlift).FStar_TypeChecker_Env.mlift_wp - uu____26522 c11.FStar_Syntax_Syntax.result_typ wp in - FStar_Syntax_Syntax.as_arg uu____26521 in - [uu____26512] in + uu____26522 c11.FStar_Syntax_Syntax.result_typ wp + in + FStar_Syntax_Syntax.as_arg uu____26521 in + [uu____26512] in { FStar_Syntax_Syntax.comp_univs = univs1; FStar_Syntax_Syntax.effect_name = @@ -8875,45 +9712,51 @@ and (solve_c : (c11.FStar_Syntax_Syntax.result_typ); FStar_Syntax_Syntax.effect_args = uu____26501; FStar_Syntax_Syntax.flags = (c11.FStar_Syntax_Syntax.flags) - } in + } in if problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ - then let uu____26540 = lift_c1 () in solve_eq uu____26540 c21 + then let uu____26540 = lift_c1 () in solve_eq uu____26540 c21 else (let is_null_wp_2 = FStar_All.pipe_right c21.FStar_Syntax_Syntax.flags (FStar_Util.for_some - (fun uu___31_26549 -> + (fun uu___31_26549 -> match uu___31_26549 with - | FStar_Syntax_Syntax.TOTAL -> true - | FStar_Syntax_Syntax.MLEFFECT -> true - | FStar_Syntax_Syntax.SOMETRIVIAL -> true - | uu____26554 -> false)) in + | FStar_Syntax_Syntax.TOTAL -> true + | FStar_Syntax_Syntax.MLEFFECT -> true + | FStar_Syntax_Syntax.SOMETRIVIAL -> true + | uu____26554 -> false)) + in let uu____26556 = match ((c11.FStar_Syntax_Syntax.effect_args), (c21.FStar_Syntax_Syntax.effect_args)) with - | ((wp1, uu____26586)::uu____26587, - (wp2, uu____26589)::uu____26590) -> (wp1, wp2) + | ((wp1,uu____26586)::uu____26587,(wp2,uu____26589)::uu____26590) + -> (wp1, wp2) | uu____26663 -> let uu____26688 = let uu____26694 = let uu____26696 = FStar_Syntax_Print.lid_to_string - c11.FStar_Syntax_Syntax.effect_name in + c11.FStar_Syntax_Syntax.effect_name + in let uu____26698 = FStar_Syntax_Print.lid_to_string - c21.FStar_Syntax_Syntax.effect_name in + c21.FStar_Syntax_Syntax.effect_name + in FStar_Util.format2 "Got effects %s and %s, expected normalized effects" - uu____26696 uu____26698 in - (FStar_Errors.Fatal_ExpectNormalizedEffect, uu____26694) in + uu____26696 uu____26698 + in + (FStar_Errors.Fatal_ExpectNormalizedEffect, uu____26694) + in FStar_Errors.raise_error uu____26688 - env.FStar_TypeChecker_Env.range in + env.FStar_TypeChecker_Env.range + in match uu____26556 with - | (wpc1, wpc2) -> - let uu____26708 = FStar_Util.physical_equality wpc1 wpc2 in + | (wpc1,wpc2) -> + let uu____26708 = FStar_Util.physical_equality wpc1 wpc2 in if uu____26708 then let uu____26713 = @@ -8921,69 +9764,81 @@ and (solve_c : c11.FStar_Syntax_Syntax.result_typ problem.FStar_TypeChecker_Common.relation c21.FStar_Syntax_Syntax.result_typ - FStar_Pervasives_Native.None "result type" in + FStar_Pervasives_Native.None "result type" + in solve_t env uu____26713 wl else (let uu____26717 = let uu____26724 = FStar_TypeChecker_Env.effect_decl_opt env - c21.FStar_Syntax_Syntax.effect_name in - FStar_Util.must uu____26724 in + c21.FStar_Syntax_Syntax.effect_name + in + FStar_Util.must uu____26724 in match uu____26717 with - | (c2_decl, qualifiers) -> + | (c2_decl,qualifiers) -> let uu____26745 = FStar_All.pipe_right qualifiers (FStar_List.contains - FStar_Syntax_Syntax.Reifiable) in + FStar_Syntax_Syntax.Reifiable) + in if uu____26745 then let c1_repr = let uu____26752 = let uu____26753 = - let uu____26754 = lift_c1 () in - FStar_Syntax_Syntax.mk_Comp uu____26754 in + let uu____26754 = lift_c1 () in + FStar_Syntax_Syntax.mk_Comp uu____26754 in let uu____26755 = env.FStar_TypeChecker_Env.universe_of env - c11.FStar_Syntax_Syntax.result_typ in + c11.FStar_Syntax_Syntax.result_typ + in FStar_TypeChecker_Env.reify_comp env - uu____26753 uu____26755 in + uu____26753 uu____26755 + in FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.Weak; - FStar_TypeChecker_Env.HNF] env uu____26752 in + FStar_TypeChecker_Env.HNF] env uu____26752 + in let c2_repr = let uu____26757 = let uu____26758 = - FStar_Syntax_Syntax.mk_Comp c21 in + FStar_Syntax_Syntax.mk_Comp c21 in let uu____26759 = env.FStar_TypeChecker_Env.universe_of env - c21.FStar_Syntax_Syntax.result_typ in + c21.FStar_Syntax_Syntax.result_typ + in FStar_TypeChecker_Env.reify_comp env - uu____26758 uu____26759 in + uu____26758 uu____26759 + in FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.Weak; - FStar_TypeChecker_Env.HNF] env uu____26757 in + FStar_TypeChecker_Env.HNF] env uu____26757 + in let uu____26760 = let uu____26765 = let uu____26767 = - FStar_Syntax_Print.term_to_string c1_repr in + FStar_Syntax_Print.term_to_string c1_repr in let uu____26769 = - FStar_Syntax_Print.term_to_string c2_repr in + FStar_Syntax_Print.term_to_string c2_repr in FStar_Util.format2 "sub effect repr: %s <: %s" - uu____26767 uu____26769 in + uu____26767 uu____26769 + in sub_prob wl c1_repr problem.FStar_TypeChecker_Common.relation - c2_repr uu____26765 in + c2_repr uu____26765 + in (match uu____26760 with - | (prob, wl1) -> + | (prob,wl1) -> let wl2 = solve_prob orig (FStar_Pervasives_Native.Some - (p_guard prob)) [] wl1 in - let uu____26775 = attempt [prob] wl2 in + (p_guard prob)) [] wl1 + in + let uu____26775 = attempt [prob] wl2 in solve env uu____26775) else (let g = @@ -8995,7 +9850,8 @@ and (solve_c : ((let uu____26790 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____26790 then FStar_Util.print_string @@ -9003,76 +9859,92 @@ and (solve_c : else ()); (let c1_univ = env.FStar_TypeChecker_Env.universe_of - env c11.FStar_Syntax_Syntax.result_typ in + env c11.FStar_Syntax_Syntax.result_typ + in let uu____26799 = let uu____26806 = let uu____26807 = let uu____26824 = FStar_TypeChecker_Env.inst_effect_fun_with [c1_univ] env c2_decl - c2_decl.FStar_Syntax_Syntax.trivial in + c2_decl.FStar_Syntax_Syntax.trivial + in let uu____26827 = let uu____26838 = FStar_Syntax_Syntax.as_arg - c11.FStar_Syntax_Syntax.result_typ in + c11.FStar_Syntax_Syntax.result_typ + in let uu____26847 = let uu____26858 = let uu____26867 = (edge.FStar_TypeChecker_Env.mlift).FStar_TypeChecker_Env.mlift_wp c1_univ c11.FStar_Syntax_Syntax.result_typ - wpc1 in + wpc1 + in FStar_All.pipe_left FStar_Syntax_Syntax.as_arg - uu____26867 in - [uu____26858] in - uu____26838 :: uu____26847 in - (uu____26824, uu____26827) in - FStar_Syntax_Syntax.Tm_app uu____26807 in - FStar_Syntax_Syntax.mk uu____26806 in + uu____26867 + in + [uu____26858] in + uu____26838 :: uu____26847 in + (uu____26824, uu____26827) in + FStar_Syntax_Syntax.Tm_app uu____26807 + in + FStar_Syntax_Syntax.mk uu____26806 in uu____26799 FStar_Pervasives_Native.None r)) else (let c1_univ = env.FStar_TypeChecker_Env.universe_of env - c11.FStar_Syntax_Syntax.result_typ in + c11.FStar_Syntax_Syntax.result_typ + in let c2_univ = env.FStar_TypeChecker_Env.universe_of env - c21.FStar_Syntax_Syntax.result_typ in + c21.FStar_Syntax_Syntax.result_typ + in let uu____26916 = let uu____26923 = let uu____26924 = let uu____26941 = FStar_TypeChecker_Env.inst_effect_fun_with [c2_univ] env c2_decl - c2_decl.FStar_Syntax_Syntax.stronger in + c2_decl.FStar_Syntax_Syntax.stronger + in let uu____26944 = let uu____26955 = FStar_Syntax_Syntax.as_arg - c21.FStar_Syntax_Syntax.result_typ in + c21.FStar_Syntax_Syntax.result_typ + in let uu____26964 = let uu____26975 = - FStar_Syntax_Syntax.as_arg wpc2 in + FStar_Syntax_Syntax.as_arg wpc2 + in let uu____26984 = let uu____26995 = let uu____27004 = (edge.FStar_TypeChecker_Env.mlift).FStar_TypeChecker_Env.mlift_wp c1_univ c11.FStar_Syntax_Syntax.result_typ - wpc1 in + wpc1 + in FStar_All.pipe_left FStar_Syntax_Syntax.as_arg - uu____27004 in - [uu____26995] in - uu____26975 :: uu____26984 in - uu____26955 :: uu____26964 in - (uu____26941, uu____26944) in - FStar_Syntax_Syntax.Tm_app uu____26924 in - FStar_Syntax_Syntax.mk uu____26923 in - uu____26916 FStar_Pervasives_Native.None r) in + uu____27004 + in + [uu____26995] in + uu____26975 :: uu____26984 in + uu____26955 :: uu____26964 in + (uu____26941, uu____26944) in + FStar_Syntax_Syntax.Tm_app uu____26924 + in + FStar_Syntax_Syntax.mk uu____26923 in + uu____26916 FStar_Pervasives_Native.None r) + in (let uu____27058 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____27058 then let uu____27063 = @@ -9081,8 +9953,10 @@ and (solve_c : [FStar_TypeChecker_Env.Iota; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.Simplify] env g in - FStar_Syntax_Print.term_to_string uu____27065 in + FStar_TypeChecker_Env.Simplify] env g + in + FStar_Syntax_Print.term_to_string uu____27065 + in FStar_Util.print1 "WP guard (simplifed) is (%s)\n" uu____27063 else ()); @@ -9090,210 +9964,232 @@ and (solve_c : sub_prob wl c11.FStar_Syntax_Syntax.result_typ problem.FStar_TypeChecker_Common.relation c21.FStar_Syntax_Syntax.result_typ - "result type" in + "result type" + in match uu____27069 with - | (base_prob, wl1) -> + | (base_prob,wl1) -> let wl2 = let uu____27078 = let uu____27081 = FStar_Syntax_Util.mk_conj - (p_guard base_prob) g in + (p_guard base_prob) g + in FStar_All.pipe_left - (fun _27084 -> + (fun _27084 -> FStar_Pervasives_Native.Some _27084) - uu____27081 in - solve_prob orig uu____27078 [] wl1 in - let uu____27085 = attempt [base_prob] wl2 in - solve env uu____27085)))) in - let uu____27086 = FStar_Util.physical_equality c1 c2 in + uu____27081 + in + solve_prob orig uu____27078 [] wl1 in + let uu____27085 = attempt [base_prob] wl2 in + solve env uu____27085)))) + in + let uu____27086 = FStar_Util.physical_equality c1 c2 in if uu____27086 then let uu____27089 = - solve_prob orig FStar_Pervasives_Native.None [] wl in + solve_prob orig FStar_Pervasives_Native.None [] wl in solve env uu____27089 else ((let uu____27093 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____27093 then - let uu____27098 = FStar_Syntax_Print.comp_to_string c1 in - let uu____27100 = FStar_Syntax_Print.comp_to_string c2 in + let uu____27098 = FStar_Syntax_Print.comp_to_string c1 in + let uu____27100 = FStar_Syntax_Print.comp_to_string c2 in FStar_Util.print3 "solve_c %s %s %s\n" uu____27098 (rel_to_string problem.FStar_TypeChecker_Common.relation) uu____27100 else ()); (let uu____27105 = let uu____27114 = - FStar_TypeChecker_Normalize.ghost_to_pure env c1 in + FStar_TypeChecker_Normalize.ghost_to_pure env c1 in let uu____27117 = - FStar_TypeChecker_Normalize.ghost_to_pure env c2 in - (uu____27114, uu____27117) in + FStar_TypeChecker_Normalize.ghost_to_pure env c2 in + (uu____27114, uu____27117) in match uu____27105 with - | (c11, c21) -> + | (c11,c21) -> (match ((c11.FStar_Syntax_Syntax.n), (c21.FStar_Syntax_Syntax.n)) with - | (FStar_Syntax_Syntax.GTotal (t1, uu____27135), - FStar_Syntax_Syntax.Total (t2, uu____27137)) when + | (FStar_Syntax_Syntax.GTotal + (t1,uu____27135),FStar_Syntax_Syntax.Total + (t2,uu____27137)) when FStar_Syntax_Util.non_informative t2 -> let uu____27154 = problem_using_guard orig t1 problem.FStar_TypeChecker_Common.relation t2 - FStar_Pervasives_Native.None "result type" in + FStar_Pervasives_Native.None "result type" + in solve_t env uu____27154 wl - | (FStar_Syntax_Syntax.GTotal uu____27156, - FStar_Syntax_Syntax.Total uu____27157) -> + | (FStar_Syntax_Syntax.GTotal + uu____27156,FStar_Syntax_Syntax.Total uu____27157) -> giveup env "incompatible monad ordering: GTot + | (FStar_Syntax_Syntax.Total + (t1,uu____27176),FStar_Syntax_Syntax.Total + (t2,uu____27178)) -> let uu____27195 = problem_using_guard orig t1 problem.FStar_TypeChecker_Common.relation t2 - FStar_Pervasives_Native.None "result type" in + FStar_Pervasives_Native.None "result type" + in solve_t env uu____27195 wl - | (FStar_Syntax_Syntax.GTotal (t1, uu____27198), - FStar_Syntax_Syntax.GTotal (t2, uu____27200)) -> + | (FStar_Syntax_Syntax.GTotal + (t1,uu____27198),FStar_Syntax_Syntax.GTotal + (t2,uu____27200)) -> let uu____27217 = problem_using_guard orig t1 problem.FStar_TypeChecker_Common.relation t2 - FStar_Pervasives_Native.None "result type" in + FStar_Pervasives_Native.None "result type" + in solve_t env uu____27217 wl - | (FStar_Syntax_Syntax.Total (t1, uu____27220), - FStar_Syntax_Syntax.GTotal (t2, uu____27222)) -> - let uu____27239 = - problem_using_guard orig t1 - problem.FStar_TypeChecker_Common.relation t2 - FStar_Pervasives_Native.None "result type" in - solve_t env uu____27239 wl - | (FStar_Syntax_Syntax.GTotal uu____27241, - FStar_Syntax_Syntax.Comp uu____27242) -> - let uu____27251 = - let uu___3573_27254 = problem in - let uu____27257 = - let uu____27258 = - FStar_TypeChecker_Env.comp_to_comp_typ env c11 in + | (FStar_Syntax_Syntax.Total + (t1,uu____27220),FStar_Syntax_Syntax.GTotal + (t2,uu____27222)) -> + if + problem.FStar_TypeChecker_Common.relation = + FStar_TypeChecker_Common.SUB + then + let uu____27240 = + problem_using_guard orig t1 + problem.FStar_TypeChecker_Common.relation t2 + FStar_Pervasives_Native.None "result type" + in + solve_t env uu____27240 wl + else giveup env "GTot =/= Tot" orig + | (FStar_Syntax_Syntax.GTotal + uu____27245,FStar_Syntax_Syntax.Comp uu____27246) -> + let uu____27255 = + let uu___3576_27258 = problem in + let uu____27261 = + let uu____27262 = + FStar_TypeChecker_Env.comp_to_comp_typ env c11 in FStar_All.pipe_left FStar_Syntax_Syntax.mk_Comp - uu____27258 in + uu____27262 + in { FStar_TypeChecker_Common.pid = - (uu___3573_27254.FStar_TypeChecker_Common.pid); - FStar_TypeChecker_Common.lhs = uu____27257; + (uu___3576_27258.FStar_TypeChecker_Common.pid); + FStar_TypeChecker_Common.lhs = uu____27261; FStar_TypeChecker_Common.relation = - (uu___3573_27254.FStar_TypeChecker_Common.relation); + (uu___3576_27258.FStar_TypeChecker_Common.relation); FStar_TypeChecker_Common.rhs = - (uu___3573_27254.FStar_TypeChecker_Common.rhs); + (uu___3576_27258.FStar_TypeChecker_Common.rhs); FStar_TypeChecker_Common.element = - (uu___3573_27254.FStar_TypeChecker_Common.element); + (uu___3576_27258.FStar_TypeChecker_Common.element); FStar_TypeChecker_Common.logical_guard = - (uu___3573_27254.FStar_TypeChecker_Common.logical_guard); + (uu___3576_27258.FStar_TypeChecker_Common.logical_guard); FStar_TypeChecker_Common.logical_guard_uvar = - (uu___3573_27254.FStar_TypeChecker_Common.logical_guard_uvar); + (uu___3576_27258.FStar_TypeChecker_Common.logical_guard_uvar); FStar_TypeChecker_Common.reason = - (uu___3573_27254.FStar_TypeChecker_Common.reason); + (uu___3576_27258.FStar_TypeChecker_Common.reason); FStar_TypeChecker_Common.loc = - (uu___3573_27254.FStar_TypeChecker_Common.loc); + (uu___3576_27258.FStar_TypeChecker_Common.loc); FStar_TypeChecker_Common.rank = - (uu___3573_27254.FStar_TypeChecker_Common.rank) - } in - solve_c env uu____27251 wl - | (FStar_Syntax_Syntax.Total uu____27259, - FStar_Syntax_Syntax.Comp uu____27260) -> - let uu____27269 = - let uu___3573_27272 = problem in - let uu____27275 = - let uu____27276 = - FStar_TypeChecker_Env.comp_to_comp_typ env c11 in + (uu___3576_27258.FStar_TypeChecker_Common.rank) + } in + solve_c env uu____27255 wl + | (FStar_Syntax_Syntax.Total + uu____27263,FStar_Syntax_Syntax.Comp uu____27264) -> + let uu____27273 = + let uu___3576_27276 = problem in + let uu____27279 = + let uu____27280 = + FStar_TypeChecker_Env.comp_to_comp_typ env c11 in FStar_All.pipe_left FStar_Syntax_Syntax.mk_Comp - uu____27276 in + uu____27280 + in { FStar_TypeChecker_Common.pid = - (uu___3573_27272.FStar_TypeChecker_Common.pid); - FStar_TypeChecker_Common.lhs = uu____27275; + (uu___3576_27276.FStar_TypeChecker_Common.pid); + FStar_TypeChecker_Common.lhs = uu____27279; FStar_TypeChecker_Common.relation = - (uu___3573_27272.FStar_TypeChecker_Common.relation); + (uu___3576_27276.FStar_TypeChecker_Common.relation); FStar_TypeChecker_Common.rhs = - (uu___3573_27272.FStar_TypeChecker_Common.rhs); + (uu___3576_27276.FStar_TypeChecker_Common.rhs); FStar_TypeChecker_Common.element = - (uu___3573_27272.FStar_TypeChecker_Common.element); + (uu___3576_27276.FStar_TypeChecker_Common.element); FStar_TypeChecker_Common.logical_guard = - (uu___3573_27272.FStar_TypeChecker_Common.logical_guard); + (uu___3576_27276.FStar_TypeChecker_Common.logical_guard); FStar_TypeChecker_Common.logical_guard_uvar = - (uu___3573_27272.FStar_TypeChecker_Common.logical_guard_uvar); + (uu___3576_27276.FStar_TypeChecker_Common.logical_guard_uvar); FStar_TypeChecker_Common.reason = - (uu___3573_27272.FStar_TypeChecker_Common.reason); + (uu___3576_27276.FStar_TypeChecker_Common.reason); FStar_TypeChecker_Common.loc = - (uu___3573_27272.FStar_TypeChecker_Common.loc); + (uu___3576_27276.FStar_TypeChecker_Common.loc); FStar_TypeChecker_Common.rank = - (uu___3573_27272.FStar_TypeChecker_Common.rank) - } in - solve_c env uu____27269 wl - | (FStar_Syntax_Syntax.Comp uu____27277, - FStar_Syntax_Syntax.GTotal uu____27278) -> - let uu____27287 = - let uu___3585_27290 = problem in - let uu____27293 = - let uu____27294 = - FStar_TypeChecker_Env.comp_to_comp_typ env c21 in + (uu___3576_27276.FStar_TypeChecker_Common.rank) + } in + solve_c env uu____27273 wl + | (FStar_Syntax_Syntax.Comp + uu____27281,FStar_Syntax_Syntax.GTotal uu____27282) -> + let uu____27291 = + let uu___3588_27294 = problem in + let uu____27297 = + let uu____27298 = + FStar_TypeChecker_Env.comp_to_comp_typ env c21 in FStar_All.pipe_left FStar_Syntax_Syntax.mk_Comp - uu____27294 in + uu____27298 + in { FStar_TypeChecker_Common.pid = - (uu___3585_27290.FStar_TypeChecker_Common.pid); + (uu___3588_27294.FStar_TypeChecker_Common.pid); FStar_TypeChecker_Common.lhs = - (uu___3585_27290.FStar_TypeChecker_Common.lhs); + (uu___3588_27294.FStar_TypeChecker_Common.lhs); FStar_TypeChecker_Common.relation = - (uu___3585_27290.FStar_TypeChecker_Common.relation); - FStar_TypeChecker_Common.rhs = uu____27293; + (uu___3588_27294.FStar_TypeChecker_Common.relation); + FStar_TypeChecker_Common.rhs = uu____27297; FStar_TypeChecker_Common.element = - (uu___3585_27290.FStar_TypeChecker_Common.element); + (uu___3588_27294.FStar_TypeChecker_Common.element); FStar_TypeChecker_Common.logical_guard = - (uu___3585_27290.FStar_TypeChecker_Common.logical_guard); + (uu___3588_27294.FStar_TypeChecker_Common.logical_guard); FStar_TypeChecker_Common.logical_guard_uvar = - (uu___3585_27290.FStar_TypeChecker_Common.logical_guard_uvar); + (uu___3588_27294.FStar_TypeChecker_Common.logical_guard_uvar); FStar_TypeChecker_Common.reason = - (uu___3585_27290.FStar_TypeChecker_Common.reason); + (uu___3588_27294.FStar_TypeChecker_Common.reason); FStar_TypeChecker_Common.loc = - (uu___3585_27290.FStar_TypeChecker_Common.loc); + (uu___3588_27294.FStar_TypeChecker_Common.loc); FStar_TypeChecker_Common.rank = - (uu___3585_27290.FStar_TypeChecker_Common.rank) - } in - solve_c env uu____27287 wl - | (FStar_Syntax_Syntax.Comp uu____27295, - FStar_Syntax_Syntax.Total uu____27296) -> - let uu____27305 = - let uu___3585_27308 = problem in - let uu____27311 = - let uu____27312 = - FStar_TypeChecker_Env.comp_to_comp_typ env c21 in + (uu___3588_27294.FStar_TypeChecker_Common.rank) + } in + solve_c env uu____27291 wl + | (FStar_Syntax_Syntax.Comp + uu____27299,FStar_Syntax_Syntax.Total uu____27300) -> + let uu____27309 = + let uu___3588_27312 = problem in + let uu____27315 = + let uu____27316 = + FStar_TypeChecker_Env.comp_to_comp_typ env c21 in FStar_All.pipe_left FStar_Syntax_Syntax.mk_Comp - uu____27312 in + uu____27316 + in { FStar_TypeChecker_Common.pid = - (uu___3585_27308.FStar_TypeChecker_Common.pid); + (uu___3588_27312.FStar_TypeChecker_Common.pid); FStar_TypeChecker_Common.lhs = - (uu___3585_27308.FStar_TypeChecker_Common.lhs); + (uu___3588_27312.FStar_TypeChecker_Common.lhs); FStar_TypeChecker_Common.relation = - (uu___3585_27308.FStar_TypeChecker_Common.relation); - FStar_TypeChecker_Common.rhs = uu____27311; + (uu___3588_27312.FStar_TypeChecker_Common.relation); + FStar_TypeChecker_Common.rhs = uu____27315; FStar_TypeChecker_Common.element = - (uu___3585_27308.FStar_TypeChecker_Common.element); + (uu___3588_27312.FStar_TypeChecker_Common.element); FStar_TypeChecker_Common.logical_guard = - (uu___3585_27308.FStar_TypeChecker_Common.logical_guard); + (uu___3588_27312.FStar_TypeChecker_Common.logical_guard); FStar_TypeChecker_Common.logical_guard_uvar = - (uu___3585_27308.FStar_TypeChecker_Common.logical_guard_uvar); + (uu___3588_27312.FStar_TypeChecker_Common.logical_guard_uvar); FStar_TypeChecker_Common.reason = - (uu___3585_27308.FStar_TypeChecker_Common.reason); + (uu___3588_27312.FStar_TypeChecker_Common.reason); FStar_TypeChecker_Common.loc = - (uu___3585_27308.FStar_TypeChecker_Common.loc); + (uu___3588_27312.FStar_TypeChecker_Common.loc); FStar_TypeChecker_Common.rank = - (uu___3585_27308.FStar_TypeChecker_Common.rank) - } in - solve_c env uu____27305 wl - | (FStar_Syntax_Syntax.Comp uu____27313, - FStar_Syntax_Syntax.Comp uu____27314) -> - let uu____27315 = + (uu___3588_27312.FStar_TypeChecker_Common.rank) + } in + solve_c env uu____27309 wl + | (FStar_Syntax_Syntax.Comp + uu____27317,FStar_Syntax_Syntax.Comp uu____27318) -> + let uu____27319 = (((FStar_Syntax_Util.is_ml_comp c11) && (FStar_Syntax_Util.is_ml_comp c21)) || @@ -9304,152 +10200,176 @@ and (solve_c : (FStar_Syntax_Util.is_ml_comp c21)) && (problem.FStar_TypeChecker_Common.relation = - FStar_TypeChecker_Common.SUB)) in - if uu____27315 + FStar_TypeChecker_Common.SUB)) + in + if uu____27319 then - let uu____27318 = + let uu____27322 = problem_using_guard orig (FStar_Syntax_Util.comp_result c11) problem.FStar_TypeChecker_Common.relation (FStar_Syntax_Util.comp_result c21) - FStar_Pervasives_Native.None "result type" in - solve_t env uu____27318 wl + FStar_Pervasives_Native.None "result type" + in + solve_t env uu____27322 wl else (let c1_comp = - FStar_TypeChecker_Env.comp_to_comp_typ env c11 in + FStar_TypeChecker_Env.comp_to_comp_typ env c11 in let c2_comp = - FStar_TypeChecker_Env.comp_to_comp_typ env c21 in + FStar_TypeChecker_Env.comp_to_comp_typ env c21 in if problem.FStar_TypeChecker_Common.relation = FStar_TypeChecker_Common.EQ then - let uu____27325 = - let uu____27330 = + let uu____27329 = + let uu____27334 = FStar_Ident.lid_equals c1_comp.FStar_Syntax_Syntax.effect_name - c2_comp.FStar_Syntax_Syntax.effect_name in - if uu____27330 + c2_comp.FStar_Syntax_Syntax.effect_name + in + if uu____27334 then (c1_comp, c2_comp) else - (let uu____27339 = + (let uu____27343 = FStar_TypeChecker_Env.unfold_effect_abbrev - env c11 in - let uu____27340 = + env c11 + in + let uu____27344 = FStar_TypeChecker_Env.unfold_effect_abbrev - env c21 in - (uu____27339, uu____27340)) in - match uu____27325 with - | (c1_comp1, c2_comp1) -> - solve_eq c1_comp1 c2_comp1 + env c21 + in + (uu____27343, uu____27344)) + in + match uu____27329 with + | (c1_comp1,c2_comp1) -> solve_eq c1_comp1 c2_comp1 else (let c12 = FStar_TypeChecker_Env.unfold_effect_abbrev env - c11 in + c11 + in let c22 = FStar_TypeChecker_Env.unfold_effect_abbrev env - c21 in - (let uu____27348 = + c21 + in + (let uu____27352 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in - if uu____27348 + (FStar_Options.Other "Rel") + in + if uu____27352 then FStar_Util.print2 "solve_c for %s and %s\n" (c12.FStar_Syntax_Syntax.effect_name).FStar_Ident.str (c22.FStar_Syntax_Syntax.effect_name).FStar_Ident.str else ()); - (let uu____27356 = + (let uu____27360 = FStar_TypeChecker_Env.monad_leq env c12.FStar_Syntax_Syntax.effect_name - c22.FStar_Syntax_Syntax.effect_name in - match uu____27356 with - | FStar_Pervasives_Native.None -> - let uu____27359 = - let uu____27361 = + c22.FStar_Syntax_Syntax.effect_name + in + match uu____27360 with + | FStar_Pervasives_Native.None -> + let uu____27363 = + let uu____27365 = FStar_Syntax_Print.lid_to_string - c12.FStar_Syntax_Syntax.effect_name in - let uu____27363 = + c12.FStar_Syntax_Syntax.effect_name + in + let uu____27367 = FStar_Syntax_Print.lid_to_string - c22.FStar_Syntax_Syntax.effect_name in + c22.FStar_Syntax_Syntax.effect_name + in FStar_Util.format2 "incompatible monad ordering: %s solve_sub c12 edge c22)))))) + let (print_pending_implicits : FStar_TypeChecker_Env.guard_t -> Prims.string) = - fun g -> - let uu____27374 = + fun g -> + let uu____27378 = FStar_All.pipe_right g.FStar_TypeChecker_Env.implicits (FStar_List.map - (fun i -> + (fun i -> FStar_Syntax_Print.term_to_string - i.FStar_TypeChecker_Env.imp_tm)) in - FStar_All.pipe_right uu____27374 (FStar_String.concat ", ") + i.FStar_TypeChecker_Env.imp_tm)) + in + FStar_All.pipe_right uu____27378 (FStar_String.concat ", ") + let (ineqs_to_string : (FStar_Syntax_Syntax.universe Prims.list * (FStar_Syntax_Syntax.universe * FStar_Syntax_Syntax.universe) Prims.list) -> Prims.string) = - fun ineqs -> + fun ineqs -> let vars = - let uu____27424 = + let uu____27428 = FStar_All.pipe_right (FStar_Pervasives_Native.fst ineqs) - (FStar_List.map FStar_Syntax_Print.univ_to_string) in - FStar_All.pipe_right uu____27424 (FStar_String.concat ", ") in + (FStar_List.map FStar_Syntax_Print.univ_to_string) + in + FStar_All.pipe_right uu____27428 (FStar_String.concat ", ") in let ineqs1 = - let uu____27449 = + let uu____27453 = FStar_All.pipe_right (FStar_Pervasives_Native.snd ineqs) (FStar_List.map - (fun uu____27480 -> - match uu____27480 with - | (u1, u2) -> - let uu____27488 = FStar_Syntax_Print.univ_to_string u1 in - let uu____27490 = FStar_Syntax_Print.univ_to_string u2 in - FStar_Util.format2 "%s < %s" uu____27488 uu____27490)) in - FStar_All.pipe_right uu____27449 (FStar_String.concat ", ") in + (fun uu____27484 -> + match uu____27484 with + | (u1,u2) -> + let uu____27492 = FStar_Syntax_Print.univ_to_string u1 + in + let uu____27494 = FStar_Syntax_Print.univ_to_string u2 + in + FStar_Util.format2 "%s < %s" uu____27492 uu____27494)) + in + FStar_All.pipe_right uu____27453 (FStar_String.concat ", ") in FStar_Util.format2 "Solving for {%s}; inequalities are {%s}" vars ineqs1 + let (guard_to_string : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.guard_t -> Prims.string) = - fun env -> - fun g -> + fun env -> + fun g -> match ((g.FStar_TypeChecker_Env.guard_f), (g.FStar_TypeChecker_Env.deferred), (g.FStar_TypeChecker_Env.univ_ineqs)) with - | (FStar_TypeChecker_Common.Trivial, [], (uu____27527, [])) when - let uu____27554 = FStar_Options.print_implicits () in - Prims.op_Negation uu____27554 -> "{}" - | uu____27557 -> + | (FStar_TypeChecker_Common.Trivial ,[],(uu____27531,[])) when + let uu____27558 = FStar_Options.print_implicits () in + Prims.op_Negation uu____27558 -> "{}" + | uu____27561 -> let form = match g.FStar_TypeChecker_Env.guard_f with - | FStar_TypeChecker_Common.Trivial -> "trivial" + | FStar_TypeChecker_Common.Trivial -> "trivial" | FStar_TypeChecker_Common.NonTrivial f -> - let uu____27584 = + let uu____27588 = ((FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) (FStar_Options.Other "Rel")) || (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) FStar_Options.Extreme)) - || (FStar_Options.print_implicits ()) in - if uu____27584 + || (FStar_Options.print_implicits ()) + in + if uu____27588 then FStar_TypeChecker_Normalize.term_to_string env f - else "non-trivial" in + else "non-trivial" + in let carry = - let uu____27596 = + let uu____27600 = FStar_List.map - (fun uu____27609 -> - match uu____27609 with - | (uu____27616, x) -> prob_to_string env x) - g.FStar_TypeChecker_Env.deferred in - FStar_All.pipe_right uu____27596 (FStar_String.concat ",\n") in - let imps = print_pending_implicits g in - let uu____27627 = - ineqs_to_string g.FStar_TypeChecker_Env.univ_ineqs in + (fun uu____27613 -> + match uu____27613 with + | (uu____27620,x) -> prob_to_string env x) + g.FStar_TypeChecker_Env.deferred + in + FStar_All.pipe_right uu____27600 (FStar_String.concat ",\n") in + let imps = print_pending_implicits g in + let uu____27631 = + ineqs_to_string g.FStar_TypeChecker_Env.univ_ineqs in FStar_Util.format4 "\n\t{guard_f=%s;\n\t deferred={\n%s};\n\t univ_ineqs={%s};\n\t implicits={%s}}\n" - form carry uu____27627 imps + form carry uu____27631 imps + let (new_t_problem : worklist -> FStar_TypeChecker_Env.env -> @@ -9459,36 +10379,38 @@ let (new_t_problem : FStar_Syntax_Syntax.bv FStar_Pervasives_Native.option -> FStar_Range.range -> (FStar_TypeChecker_Common.prob * worklist)) = - fun wl -> - fun env -> - fun lhs -> - fun rel -> - fun rhs -> - fun elt -> - fun loc -> + fun wl -> + fun env -> + fun lhs -> + fun rel -> + fun rhs -> + fun elt -> + fun loc -> let reason = - let uu____27684 = + let uu____27688 = (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) (FStar_Options.Other "ExplainRel")) || (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel")) in - if uu____27684 + (FStar_Options.Other "Rel")) + in + if uu____27688 then - let uu____27692 = - FStar_TypeChecker_Normalize.term_to_string env lhs in - let uu____27694 = - FStar_TypeChecker_Normalize.term_to_string env rhs in - FStar_Util.format3 "Top-level:\n%s\n\t%s\n%s" uu____27692 - (rel_to_string rel) uu____27694 - else "TOP" in - let uu____27700 = - new_problem wl env lhs rel rhs elt loc reason in - match uu____27700 with - | (p, wl1) -> + let uu____27696 = + FStar_TypeChecker_Normalize.term_to_string env lhs in + let uu____27698 = + FStar_TypeChecker_Normalize.term_to_string env rhs in + FStar_Util.format3 "Top-level:\n%s\n\t%s\n%s" uu____27696 + (rel_to_string rel) uu____27698 + else "TOP" in + let uu____27704 = + new_problem wl env lhs rel rhs elt loc reason in + match uu____27704 with + | (p,wl1) -> (def_check_prob (Prims.op_Hat "new_t_problem." reason) (FStar_TypeChecker_Common.TProb p); ((FStar_TypeChecker_Common.TProb p), wl1)) + let (new_t_prob : worklist -> FStar_TypeChecker_Env.env -> @@ -9498,23 +10420,26 @@ let (new_t_prob : (FStar_TypeChecker_Common.prob * FStar_Syntax_Syntax.bv * worklist)) = - fun wl -> - fun env -> - fun t1 -> - fun rel -> - fun t2 -> + fun wl -> + fun env -> + fun t1 -> + fun rel -> + fun t2 -> let x = - let uu____27760 = - let uu____27763 = FStar_TypeChecker_Env.get_range env in + let uu____27764 = + let uu____27767 = FStar_TypeChecker_Env.get_range env in FStar_All.pipe_left - (fun _27766 -> FStar_Pervasives_Native.Some _27766) - uu____27763 in - FStar_Syntax_Syntax.new_bv uu____27760 t1 in - let uu____27767 = - let uu____27772 = FStar_TypeChecker_Env.get_range env in + (fun _27770 -> FStar_Pervasives_Native.Some _27770) + uu____27767 + in + FStar_Syntax_Syntax.new_bv uu____27764 t1 in + let uu____27771 = + let uu____27776 = FStar_TypeChecker_Env.get_range env in new_t_problem wl env t1 rel t2 (FStar_Pervasives_Native.Some x) - uu____27772 in - match uu____27767 with | (p, wl1) -> (p, x, wl1) + uu____27776 + in + match uu____27771 with | (p,wl1) -> (p, x, wl1) + let (solve_and_commit : FStar_TypeChecker_Env.env -> worklist -> @@ -9525,82 +10450,92 @@ let (solve_and_commit : (FStar_TypeChecker_Common.deferred * FStar_TypeChecker_Env.implicits) FStar_Pervasives_Native.option) = - fun env -> - fun probs -> - fun err -> - let tx = FStar_Syntax_Unionfind.new_transaction () in - (let uu____27832 = + fun env -> + fun probs -> + fun err -> + let tx = FStar_Syntax_Unionfind.new_transaction () in + (let uu____27836 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "RelBench") in - if uu____27832 + (FStar_Options.Other "RelBench") + in + if uu____27836 then - let uu____27837 = + let uu____27841 = FStar_Common.string_of_list - (fun p -> FStar_Util.string_of_int (p_pid p)) probs.attempting in - FStar_Util.print1 "solving problems %s {\n" uu____27837 + (fun p -> FStar_Util.string_of_int (p_pid p)) + probs.attempting + in + FStar_Util.print1 "solving problems %s {\n" uu____27841 else ()); - (let uu____27844 = - FStar_Util.record_time (fun uu____27851 -> solve env probs) in - match uu____27844 with - | (sol, ms) -> - ((let uu____27863 = + (let uu____27848 = + FStar_Util.record_time (fun uu____27855 -> solve env probs) in + match uu____27848 with + | (sol,ms) -> + ((let uu____27867 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "RelBench") in - if uu____27863 + (FStar_Options.Other "RelBench") + in + if uu____27867 then - let uu____27868 = FStar_Util.string_of_int ms in - FStar_Util.print1 "} solved in %s ms\n" uu____27868 + let uu____27872 = FStar_Util.string_of_int ms in + FStar_Util.print1 "} solved in %s ms\n" uu____27872 else ()); (match sol with - | Success (deferred, implicits) -> - let uu____27881 = + | Success (deferred,implicits) -> + let uu____27885 = FStar_Util.record_time - (fun uu____27888 -> FStar_Syntax_Unionfind.commit tx) in - (match uu____27881 with - | ((), ms1) -> - ((let uu____27899 = + (fun uu____27892 -> FStar_Syntax_Unionfind.commit tx) + in + (match uu____27885 with + | ((),ms1) -> + ((let uu____27903 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "RelBench") in - if uu____27899 + (FStar_Options.Other "RelBench") + in + if uu____27903 then - let uu____27904 = FStar_Util.string_of_int ms1 in + let uu____27908 = FStar_Util.string_of_int ms1 + in FStar_Util.print1 "committed in %s ms\n" - uu____27904 + uu____27908 else ()); FStar_Pervasives_Native.Some (deferred, implicits))) - | Failed (d, s) -> - ((let uu____27918 = + | Failed (d,s) -> + ((let uu____27922 = (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) (FStar_Options.Other "ExplainRel")) || (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel")) in - if uu____27918 + (FStar_Options.Other "Rel")) + in + if uu____27922 then - let uu____27925 = explain env d s in + let uu____27929 = explain env d s in FStar_All.pipe_left FStar_Util.print_string - uu____27925 + uu____27929 else ()); - (let result = err (d, s) in + (let result = err (d, s) in FStar_Syntax_Unionfind.rollback tx; result))))) + let (simplify_guard : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) = - fun env -> - fun g -> + fun env -> + fun g -> match g.FStar_TypeChecker_Env.guard_f with - | FStar_TypeChecker_Common.Trivial -> g + | FStar_TypeChecker_Common.Trivial -> g | FStar_TypeChecker_Common.NonTrivial f -> - ((let uu____27952 = + ((let uu____27956 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Simplification") in - if uu____27952 + (FStar_Options.Other "Simplification") + in + if uu____27956 then - let uu____27957 = FStar_Syntax_Print.term_to_string f in - FStar_Util.print1 "Simplifying guard %s\n" uu____27957 + let uu____27961 = FStar_Syntax_Print.term_to_string f in + FStar_Util.print1 "Simplifying guard %s\n" uu____27961 else ()); (let f1 = FStar_TypeChecker_Normalize.normalize @@ -9608,35 +10543,38 @@ let (simplify_guard : FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.Simplify; FStar_TypeChecker_Env.Primops; - FStar_TypeChecker_Env.NoFullNorm] env f in - (let uu____27964 = + FStar_TypeChecker_Env.NoFullNorm] env f + in + (let uu____27968 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Simplification") in - if uu____27964 + (FStar_Options.Other "Simplification") + in + if uu____27968 then - let uu____27969 = FStar_Syntax_Print.term_to_string f1 in - FStar_Util.print1 "Simplified guard to %s\n" uu____27969 + let uu____27973 = FStar_Syntax_Print.term_to_string f1 in + FStar_Util.print1 "Simplified guard to %s\n" uu____27973 else ()); (let f2 = - let uu____27975 = - let uu____27976 = FStar_Syntax_Util.unmeta f1 in - uu____27976.FStar_Syntax_Syntax.n in - match uu____27975 with + let uu____27979 = + let uu____27980 = FStar_Syntax_Util.unmeta f1 in + uu____27980.FStar_Syntax_Syntax.n in + match uu____27979 with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.true_lid -> FStar_TypeChecker_Common.Trivial - | uu____27980 -> FStar_TypeChecker_Common.NonTrivial f1 in - let uu___3701_27981 = g in + | uu____27984 -> FStar_TypeChecker_Common.NonTrivial f1 in + let uu___3704_27985 = g in { FStar_TypeChecker_Env.guard_f = f2; FStar_TypeChecker_Env.deferred = - (uu___3701_27981.FStar_TypeChecker_Env.deferred); + (uu___3704_27985.FStar_TypeChecker_Env.deferred); FStar_TypeChecker_Env.univ_ineqs = - (uu___3701_27981.FStar_TypeChecker_Env.univ_ineqs); + (uu___3704_27985.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = - (uu___3701_27981.FStar_TypeChecker_Env.implicits) + (uu___3704_27985.FStar_TypeChecker_Env.implicits) }))) + let (with_guard : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Common.prob -> @@ -9644,50 +10582,56 @@ let (with_guard : Prims.list) FStar_Pervasives_Native.option -> FStar_TypeChecker_Env.guard_t FStar_Pervasives_Native.option) = - fun env -> - fun prob -> - fun dopt -> + fun env -> + fun prob -> + fun dopt -> match dopt with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (deferred, implicits) -> - let uu____28036 = - let uu____28037 = - let uu____28038 = + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (deferred,implicits) -> + let uu____28040 = + let uu____28041 = + let uu____28042 = FStar_All.pipe_right (p_guard prob) - (fun _28039 -> FStar_TypeChecker_Common.NonTrivial _28039) in + (fun _28043 -> + FStar_TypeChecker_Common.NonTrivial _28043) + in { - FStar_TypeChecker_Env.guard_f = uu____28038; + FStar_TypeChecker_Env.guard_f = uu____28042; FStar_TypeChecker_Env.deferred = deferred; FStar_TypeChecker_Env.univ_ineqs = ([], []); FStar_TypeChecker_Env.implicits = implicits - } in - simplify_guard env uu____28037 in + } in + simplify_guard env uu____28041 in FStar_All.pipe_left - (fun _28046 -> FStar_Pervasives_Native.Some _28046) uu____28036 + (fun _28050 -> FStar_Pervasives_Native.Some _28050) + uu____28040 + let with_guard_no_simp : - 'Auu____28056 . - 'Auu____28056 -> + 'Auu____28060 . + 'Auu____28060 -> FStar_TypeChecker_Common.prob -> FStar_TypeChecker_Common.deferred FStar_Pervasives_Native.option -> FStar_TypeChecker_Env.guard_t FStar_Pervasives_Native.option = - fun env -> - fun prob -> - fun dopt -> + fun env -> + fun prob -> + fun dopt -> match dopt with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some d -> - let uu____28079 = - let uu____28080 = + let uu____28083 = + let uu____28084 = FStar_All.pipe_right (p_guard prob) - (fun _28081 -> FStar_TypeChecker_Common.NonTrivial _28081) in + (fun _28085 -> FStar_TypeChecker_Common.NonTrivial _28085) + in { - FStar_TypeChecker_Env.guard_f = uu____28080; + FStar_TypeChecker_Env.guard_f = uu____28084; FStar_TypeChecker_Env.deferred = d; FStar_TypeChecker_Env.univ_ineqs = ([], []); FStar_TypeChecker_Env.implicits = [] - } in - FStar_Pervasives_Native.Some uu____28079 + } in + FStar_Pervasives_Native.Some uu____28083 + let (try_teq : Prims.bool -> FStar_TypeChecker_Env.env -> @@ -9695,135 +10639,152 @@ let (try_teq : FStar_Syntax_Syntax.typ -> FStar_TypeChecker_Env.guard_t FStar_Pervasives_Native.option) = - fun smt_ok -> - fun env -> - fun t1 -> - fun t2 -> - (let uu____28114 = + fun smt_ok -> + fun env -> + fun t1 -> + fun t2 -> + (let uu____28118 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in - if uu____28114 + (FStar_Options.Other "Rel") + in + if uu____28118 then - let uu____28119 = FStar_Syntax_Print.term_to_string t1 in - let uu____28121 = FStar_Syntax_Print.term_to_string t2 in - FStar_Util.print2 "try_teq of %s and %s\n" uu____28119 - uu____28121 + let uu____28123 = FStar_Syntax_Print.term_to_string t1 in + let uu____28125 = FStar_Syntax_Print.term_to_string t2 in + FStar_Util.print2 "try_teq of %s and %s\n" uu____28123 + uu____28125 else ()); - (let uu____28126 = - let uu____28131 = FStar_TypeChecker_Env.get_range env in + (let uu____28130 = + let uu____28135 = FStar_TypeChecker_Env.get_range env in new_t_problem (empty_worklist env) env t1 FStar_TypeChecker_Common.EQ t2 FStar_Pervasives_Native.None - uu____28131 in - match uu____28126 with - | (prob, wl) -> + uu____28135 + in + match uu____28130 with + | (prob,wl) -> let g = - let uu____28139 = + let uu____28143 = solve_and_commit env (singleton wl prob smt_ok) - (fun uu____28149 -> FStar_Pervasives_Native.None) in - FStar_All.pipe_left (with_guard env prob) uu____28139 in + (fun uu____28153 -> FStar_Pervasives_Native.None) + in + FStar_All.pipe_left (with_guard env prob) uu____28143 in g) + let (teq : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ -> FStar_TypeChecker_Env.guard_t) = - fun env -> - fun t1 -> - fun t2 -> - let uu____28185 = try_teq true env t1 t2 in - match uu____28185 with - | FStar_Pervasives_Native.None -> - ((let uu____28190 = FStar_TypeChecker_Env.get_range env in - let uu____28191 = + fun env -> + fun t1 -> + fun t2 -> + let uu____28189 = try_teq true env t1 t2 in + match uu____28189 with + | FStar_Pervasives_Native.None -> + ((let uu____28194 = FStar_TypeChecker_Env.get_range env in + let uu____28195 = FStar_TypeChecker_Err.basic_type_error env - FStar_Pervasives_Native.None t2 t1 in - FStar_Errors.log_issue uu____28190 uu____28191); + FStar_Pervasives_Native.None t2 t1 + in + FStar_Errors.log_issue uu____28194 uu____28195); FStar_TypeChecker_Env.trivial_guard) | FStar_Pervasives_Native.Some g -> - ((let uu____28199 = + ((let uu____28203 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in - if uu____28199 + (FStar_Options.Other "Rel") + in + if uu____28203 then - let uu____28204 = FStar_Syntax_Print.term_to_string t1 in - let uu____28206 = FStar_Syntax_Print.term_to_string t2 in - let uu____28208 = guard_to_string env g in + let uu____28208 = FStar_Syntax_Print.term_to_string t1 in + let uu____28210 = FStar_Syntax_Print.term_to_string t2 in + let uu____28212 = guard_to_string env g in FStar_Util.print3 - "teq of %s and %s succeeded with guard %s\n" uu____28204 - uu____28206 uu____28208 + "teq of %s and %s succeeded with guard %s\n" uu____28208 + uu____28210 uu____28212 else ()); g) + let (subtype_fail : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ -> unit) = - fun env -> - fun e -> - fun t1 -> - fun t2 -> - let uu____28234 = FStar_TypeChecker_Env.get_range env in - let uu____28235 = + fun env -> + fun e -> + fun t1 -> + fun t2 -> + let uu____28238 = FStar_TypeChecker_Env.get_range env in + let uu____28239 = FStar_TypeChecker_Err.basic_type_error env - (FStar_Pervasives_Native.Some e) t2 t1 in - FStar_Errors.log_issue uu____28234 uu____28235 + (FStar_Pervasives_Native.Some e) t2 t1 + in + FStar_Errors.log_issue uu____28238 uu____28239 + let (sub_comp : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp -> FStar_TypeChecker_Env.guard_t FStar_Pervasives_Native.option) = - fun env -> - fun c1 -> - fun c2 -> + fun env -> + fun c1 -> + fun c2 -> let rel = if env.FStar_TypeChecker_Env.use_eq then FStar_TypeChecker_Common.EQ - else FStar_TypeChecker_Common.SUB in - (let uu____28264 = + else FStar_TypeChecker_Common.SUB in + (let uu____28268 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in - if uu____28264 + (FStar_Options.Other "Rel") + in + if uu____28268 then - let uu____28269 = FStar_Syntax_Print.comp_to_string c1 in - let uu____28271 = FStar_Syntax_Print.comp_to_string c2 in + let uu____28273 = FStar_Syntax_Print.comp_to_string c1 in + let uu____28275 = FStar_Syntax_Print.comp_to_string c2 in FStar_Util.print3 "sub_comp of %s --and-- %s --with-- %s\n" - uu____28269 uu____28271 + uu____28273 uu____28275 (if rel = FStar_TypeChecker_Common.EQ then "EQ" else "SUB") else ()); - (let uu____28282 = - let uu____28289 = FStar_TypeChecker_Env.get_range env in + (let uu____28286 = + let uu____28293 = FStar_TypeChecker_Env.get_range env in new_problem (empty_worklist env) env c1 rel c2 - FStar_Pervasives_Native.None uu____28289 "sub_comp" in - match uu____28282 with - | (prob, wl) -> - let prob1 = FStar_TypeChecker_Common.CProb prob in + FStar_Pervasives_Native.None uu____28293 "sub_comp" + in + match uu____28286 with + | (prob,wl) -> + let prob1 = FStar_TypeChecker_Common.CProb prob in (def_check_prob "sub_comp" prob1; - (let uu____28302 = + (let uu____28306 = FStar_Util.record_time - (fun uu____28314 -> - let uu____28315 = + (fun uu____28318 -> + let uu____28319 = solve_and_commit env (singleton wl prob1 true) - (fun uu____28326 -> FStar_Pervasives_Native.None) in - FStar_All.pipe_left (with_guard env prob1) uu____28315) in - match uu____28302 with - | (r, ms) -> - ((let uu____28357 = + (fun uu____28330 -> FStar_Pervasives_Native.None) + in + FStar_All.pipe_left (with_guard env prob1) uu____28319) + in + match uu____28306 with + | (r,ms) -> + ((let uu____28361 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "RelBench") in - if uu____28357 + (FStar_Options.Other "RelBench") + in + if uu____28361 then - let uu____28362 = FStar_Syntax_Print.comp_to_string c1 in - let uu____28364 = FStar_Syntax_Print.comp_to_string c2 in - let uu____28366 = FStar_Util.string_of_int ms in + let uu____28366 = FStar_Syntax_Print.comp_to_string c1 + in + let uu____28368 = FStar_Syntax_Print.comp_to_string c2 + in + let uu____28370 = FStar_Util.string_of_int ms in FStar_Util.print4 "sub_comp of %s --and-- %s --with-- %s --- solved in %s ms\n" - uu____28362 uu____28364 + uu____28366 uu____28368 (if rel = FStar_TypeChecker_Common.EQ then "EQ" - else "SUB") uu____28366 + else "SUB") uu____28370 else ()); r)))) + let (solve_universe_inequalities' : FStar_Syntax_Unionfind.tx -> FStar_TypeChecker_Env.env -> @@ -9831,268 +10792,272 @@ let (solve_universe_inequalities' : (FStar_Syntax_Syntax.universe * FStar_Syntax_Syntax.universe) Prims.list) -> unit) = - fun tx -> - fun env -> - fun uu____28404 -> - match uu____28404 with - | (variables, ineqs) -> + fun tx -> + fun env -> + fun uu____28408 -> + match uu____28408 with + | (variables,ineqs) -> let fail1 u1 u2 = FStar_Syntax_Unionfind.rollback tx; - (let uu____28447 = - let uu____28453 = - let uu____28455 = FStar_Syntax_Print.univ_to_string u1 in - let uu____28457 = FStar_Syntax_Print.univ_to_string u2 in + (let uu____28451 = + let uu____28457 = + let uu____28459 = FStar_Syntax_Print.univ_to_string u1 in + let uu____28461 = FStar_Syntax_Print.univ_to_string u2 in FStar_Util.format2 "Universe %s and %s are incompatible" - uu____28455 uu____28457 in - (FStar_Errors.Fatal_IncompatibleUniverse, uu____28453) in - let uu____28461 = FStar_TypeChecker_Env.get_range env in - FStar_Errors.raise_error uu____28447 uu____28461) in + uu____28459 uu____28461 + in + (FStar_Errors.Fatal_IncompatibleUniverse, uu____28457) in + let uu____28465 = FStar_TypeChecker_Env.get_range env in + FStar_Errors.raise_error uu____28451 uu____28465) + in let equiv1 v1 v' = - let uu____28474 = - let uu____28479 = FStar_Syntax_Subst.compress_univ v1 in - let uu____28480 = FStar_Syntax_Subst.compress_univ v' in - (uu____28479, uu____28480) in - match uu____28474 with - | (FStar_Syntax_Syntax.U_unif v0, FStar_Syntax_Syntax.U_unif + let uu____28478 = + let uu____28483 = FStar_Syntax_Subst.compress_univ v1 in + let uu____28484 = FStar_Syntax_Subst.compress_univ v' in + (uu____28483, uu____28484) in + match uu____28478 with + | (FStar_Syntax_Syntax.U_unif v0,FStar_Syntax_Syntax.U_unif v0') -> FStar_Syntax_Unionfind.univ_equiv v0 v0' - | uu____28500 -> false in + | uu____28504 -> false in let sols = FStar_All.pipe_right variables (FStar_List.collect - (fun v1 -> - let uu____28531 = FStar_Syntax_Subst.compress_univ v1 in - match uu____28531 with - | FStar_Syntax_Syntax.U_unif uu____28538 -> + (fun v1 -> + let uu____28535 = FStar_Syntax_Subst.compress_univ v1 + in + match uu____28535 with + | FStar_Syntax_Syntax.U_unif uu____28542 -> let lower_bounds_of_v = FStar_All.pipe_right ineqs (FStar_List.collect - (fun uu____28567 -> - match uu____28567 with - | (u, v') -> - let uu____28576 = equiv1 v1 v' in - if uu____28576 + (fun uu____28571 -> + match uu____28571 with + | (u,v') -> + let uu____28580 = equiv1 v1 v' in + if uu____28580 then - let uu____28581 = + let uu____28585 = FStar_All.pipe_right variables - (FStar_Util.for_some (equiv1 u)) in - (if uu____28581 then [] else [u]) - else [])) in + (FStar_Util.for_some (equiv1 u)) + in + (if uu____28585 then [] else [u]) + else [])) + in let lb = FStar_TypeChecker_Normalize.normalize_universe env - (FStar_Syntax_Syntax.U_max lower_bounds_of_v) in + (FStar_Syntax_Syntax.U_max lower_bounds_of_v) + in [(lb, v1)] - | uu____28602 -> [])) in - let uu____28607 = + | uu____28606 -> [])) + in + let uu____28611 = let wl = - let uu___3792_28611 = empty_worklist env in + let uu___3795_28615 = empty_worklist env in { - attempting = (uu___3792_28611.attempting); - wl_deferred = (uu___3792_28611.wl_deferred); - ctr = (uu___3792_28611.ctr); + attempting = (uu___3795_28615.attempting); + wl_deferred = (uu___3795_28615.wl_deferred); + ctr = (uu___3795_28615.ctr); defer_ok = false; - smt_ok = (uu___3792_28611.smt_ok); - umax_heuristic_ok = (uu___3792_28611.umax_heuristic_ok); - tcenv = (uu___3792_28611.tcenv); - wl_implicits = (uu___3792_28611.wl_implicits) - } in + smt_ok = (uu___3795_28615.smt_ok); + umax_heuristic_ok = (uu___3795_28615.umax_heuristic_ok); + tcenv = (uu___3795_28615.tcenv); + wl_implicits = (uu___3795_28615.wl_implicits) + } in FStar_All.pipe_right sols (FStar_List.map - (fun uu____28630 -> - match uu____28630 with - | (lb, v1) -> - let uu____28637 = + (fun uu____28634 -> + match uu____28634 with + | (lb,v1) -> + let uu____28641 = solve_universe_eq (~- (Prims.parse_int "1")) wl - lb v1 in - (match uu____28637 with + lb v1 + in + (match uu____28641 with | USolved wl1 -> () - | uu____28640 -> fail1 lb v1))) in - let rec check_ineq uu____28651 = - match uu____28651 with - | (u, v1) -> + | uu____28644 -> fail1 lb v1))) + in + let rec check_ineq uu____28655 = + match uu____28655 with + | (u,v1) -> let u1 = - FStar_TypeChecker_Normalize.normalize_universe env u in + FStar_TypeChecker_Normalize.normalize_universe env u in let v2 = - FStar_TypeChecker_Normalize.normalize_universe env v1 in + FStar_TypeChecker_Normalize.normalize_universe env v1 in (match (u1, v2) with - | (FStar_Syntax_Syntax.U_zero, uu____28663) -> true - | (FStar_Syntax_Syntax.U_succ u0, - FStar_Syntax_Syntax.U_succ v0) -> check_ineq (u0, v0) - | (FStar_Syntax_Syntax.U_name u0, - FStar_Syntax_Syntax.U_name v0) -> + | (FStar_Syntax_Syntax.U_zero ,uu____28667) -> true + | (FStar_Syntax_Syntax.U_succ + u0,FStar_Syntax_Syntax.U_succ v0) -> + check_ineq (u0, v0) + | (FStar_Syntax_Syntax.U_name + u0,FStar_Syntax_Syntax.U_name v0) -> FStar_Ident.ident_equals u0 v0 - | (FStar_Syntax_Syntax.U_unif u0, - FStar_Syntax_Syntax.U_unif v0) -> + | (FStar_Syntax_Syntax.U_unif + u0,FStar_Syntax_Syntax.U_unif v0) -> FStar_Syntax_Unionfind.univ_equiv u0 v0 - | (FStar_Syntax_Syntax.U_name uu____28687, - FStar_Syntax_Syntax.U_succ v0) -> check_ineq (u1, v0) - | (FStar_Syntax_Syntax.U_unif uu____28689, - FStar_Syntax_Syntax.U_succ v0) -> check_ineq (u1, v0) - | (FStar_Syntax_Syntax.U_max us, uu____28700) -> + | (FStar_Syntax_Syntax.U_name + uu____28691,FStar_Syntax_Syntax.U_succ v0) -> + check_ineq (u1, v0) + | (FStar_Syntax_Syntax.U_unif + uu____28693,FStar_Syntax_Syntax.U_succ v0) -> + check_ineq (u1, v0) + | (FStar_Syntax_Syntax.U_max us,uu____28704) -> FStar_All.pipe_right us - (FStar_Util.for_all (fun u2 -> check_ineq (u2, v2))) - | (uu____28708, FStar_Syntax_Syntax.U_max vs) -> + (FStar_Util.for_all (fun u2 -> check_ineq (u2, v2))) + | (uu____28712,FStar_Syntax_Syntax.U_max vs) -> FStar_All.pipe_right vs - (FStar_Util.for_some (fun v3 -> check_ineq (u1, v3))) - | uu____28717 -> false) in - let uu____28723 = + (FStar_Util.for_some + (fun v3 -> check_ineq (u1, v3))) + | uu____28721 -> false) + in + let uu____28727 = FStar_All.pipe_right ineqs (FStar_Util.for_all - (fun uu____28740 -> - match uu____28740 with - | (u, v1) -> - let uu____28748 = check_ineq (u, v1) in - if uu____28748 + (fun uu____28744 -> + match uu____28744 with + | (u,v1) -> + let uu____28752 = check_ineq (u, v1) in + if uu____28752 then true else - ((let uu____28756 = + ((let uu____28760 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "GenUniverses") in - if uu____28756 + (FStar_Options.Other "GenUniverses") + in + if uu____28760 then - let uu____28761 = - FStar_Syntax_Print.univ_to_string u in - let uu____28763 = - FStar_Syntax_Print.univ_to_string v1 in - FStar_Util.print2 "%s (FStar_Syntax_Syntax.universe Prims.list * (FStar_Syntax_Syntax.universe * FStar_Syntax_Syntax.universe) Prims.list) -> unit) = - fun env -> - fun ineqs -> - let tx = FStar_Syntax_Unionfind.new_transaction () in + fun env -> + fun ineqs -> + let tx = FStar_Syntax_Unionfind.new_transaction () in solve_universe_inequalities' tx env ineqs; FStar_Syntax_Unionfind.commit tx + let (try_solve_deferred_constraints : Prims.bool -> FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) = - fun defer_ok -> - fun env -> - fun g -> - let fail1 uu____28878 = - match uu____28878 with - | (d, s) -> - let msg = explain env d s in + fun defer_ok -> + fun env -> + fun g -> + let fail1 uu____28882 = + match uu____28882 with + | (d,s) -> + let msg = explain env d s in FStar_Errors.raise_error (FStar_Errors.Fatal_ErrorInSolveDeferredConstraints, msg) - (p_loc d) in + (p_loc d) + in let wl = - let uu___3869_28904 = - wl_of_guard env g.FStar_TypeChecker_Env.deferred in + let uu___3872_28908 = + wl_of_guard env g.FStar_TypeChecker_Env.deferred in { - attempting = (uu___3869_28904.attempting); - wl_deferred = (uu___3869_28904.wl_deferred); - ctr = (uu___3869_28904.ctr); + attempting = (uu___3872_28908.attempting); + wl_deferred = (uu___3872_28908.wl_deferred); + ctr = (uu___3872_28908.ctr); defer_ok; - smt_ok = (uu___3869_28904.smt_ok); - umax_heuristic_ok = (uu___3869_28904.umax_heuristic_ok); - tcenv = (uu___3869_28904.tcenv); - wl_implicits = (uu___3869_28904.wl_implicits) - } in - (let uu____28907 = + smt_ok = (uu___3872_28908.smt_ok); + umax_heuristic_ok = (uu___3872_28908.umax_heuristic_ok); + tcenv = (uu___3872_28908.tcenv); + wl_implicits = (uu___3872_28908.wl_implicits) + } in + (let uu____28911 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in - if uu____28907 + (FStar_Options.Other "Rel") + in + if uu____28911 then - let uu____28912 = FStar_Util.string_of_bool defer_ok in - let uu____28914 = wl_to_string wl in - let uu____28916 = + let uu____28916 = FStar_Util.string_of_bool defer_ok in + let uu____28918 = wl_to_string wl in + let uu____28920 = FStar_Util.string_of_int - (FStar_List.length g.FStar_TypeChecker_Env.implicits) in + (FStar_List.length g.FStar_TypeChecker_Env.implicits) + in FStar_Util.print3 "Trying to solve carried problems (defer_ok=%s): begin\n\t%s\nend\n and %s implicits\n" - uu____28912 uu____28914 uu____28916 + uu____28916 uu____28918 uu____28920 else ()); (let g1 = - let uu____28922 = solve_and_commit env wl fail1 in - match uu____28922 with + let uu____28926 = solve_and_commit env wl fail1 in + match uu____28926 with | FStar_Pervasives_Native.Some - (uu____28929::uu____28930, uu____28931) when + (uu____28933::uu____28934,uu____28935) when Prims.op_Negation defer_ok -> failwith "Impossible: Unexpected deferred constraints remain" - | FStar_Pervasives_Native.Some (deferred, imps) -> - let uu___3884_28960 = g in + | FStar_Pervasives_Native.Some (deferred,imps) -> + let uu___3887_28964 = g in { FStar_TypeChecker_Env.guard_f = - (uu___3884_28960.FStar_TypeChecker_Env.guard_f); + (uu___3887_28964.FStar_TypeChecker_Env.guard_f); FStar_TypeChecker_Env.deferred = deferred; FStar_TypeChecker_Env.univ_ineqs = - (uu___3884_28960.FStar_TypeChecker_Env.univ_ineqs); + (uu___3887_28964.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = (FStar_List.append g.FStar_TypeChecker_Env.implicits imps) } - | uu____28961 -> - failwith "Impossible: should have raised a failure already" in + | uu____28965 -> + failwith "Impossible: should have raised a failure already" + in solve_universe_inequalities env g1.FStar_TypeChecker_Env.univ_ineqs; - (let uu___3889_28970 = g1 in + (let uu___3892_28974 = g1 in { FStar_TypeChecker_Env.guard_f = - (uu___3889_28970.FStar_TypeChecker_Env.guard_f); + (uu___3892_28974.FStar_TypeChecker_Env.guard_f); FStar_TypeChecker_Env.deferred = - (uu___3889_28970.FStar_TypeChecker_Env.deferred); + (uu___3892_28974.FStar_TypeChecker_Env.deferred); FStar_TypeChecker_Env.univ_ineqs = ([], []); FStar_TypeChecker_Env.implicits = - (uu___3889_28970.FStar_TypeChecker_Env.implicits) + (uu___3892_28974.FStar_TypeChecker_Env.implicits) })) + let (solve_deferred_constraints : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) - = fun env -> fun g -> try_solve_deferred_constraints false env g + = fun env -> fun g -> try_solve_deferred_constraints false env g let (solve_some_deferred_constraints : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) - = fun env -> fun g -> try_solve_deferred_constraints true env g -let (last_proof_ns : - FStar_TypeChecker_Env.proof_namespace FStar_Pervasives_Native.option - FStar_ST.ref) - = FStar_Util.mk_ref FStar_Pervasives_Native.None -let (maybe_update_proof_ns : FStar_TypeChecker_Env.env -> unit) = - fun env -> - let pns = env.FStar_TypeChecker_Env.proof_ns in - let uu____29013 = FStar_ST.op_Bang last_proof_ns in - match uu____29013 with - | FStar_Pervasives_Native.None -> - FStar_ST.op_Colon_Equals last_proof_ns - (FStar_Pervasives_Native.Some pns) - | FStar_Pervasives_Native.Some old -> - if old = pns - then () - else - ((env.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.refresh - (); - FStar_ST.op_Colon_Equals last_proof_ns - (FStar_Pervasives_Native.Some pns)) + = fun env -> fun g -> try_solve_deferred_constraints true env g let (discharge_guard' : (unit -> Prims.string) FStar_Pervasives_Native.option -> FStar_TypeChecker_Env.env -> @@ -10100,10 +11065,10 @@ let (discharge_guard' : Prims.bool -> FStar_TypeChecker_Env.guard_t FStar_Pervasives_Native.option) = - fun use_env_range_msg -> - fun env -> - fun g -> - fun use_smt -> + fun use_env_range_msg -> + fun env -> + fun g -> + fun use_smt -> let debug1 = ((FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) (FStar_Options.Other "Rel")) @@ -10112,129 +11077,146 @@ let (discharge_guard' : (FStar_Options.Other "SMTQuery"))) || (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Tac")) in - let g1 = solve_deferred_constraints env g in + (FStar_Options.Other "Tac")) + in + let g1 = solve_deferred_constraints env g in let ret_g = - let uu___3908_29138 = g1 in + let uu___3904_29051 = g1 in { FStar_TypeChecker_Env.guard_f = FStar_TypeChecker_Common.Trivial; FStar_TypeChecker_Env.deferred = - (uu___3908_29138.FStar_TypeChecker_Env.deferred); + (uu___3904_29051.FStar_TypeChecker_Env.deferred); FStar_TypeChecker_Env.univ_ineqs = - (uu___3908_29138.FStar_TypeChecker_Env.univ_ineqs); + (uu___3904_29051.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = - (uu___3908_29138.FStar_TypeChecker_Env.implicits) - } in - let uu____29139 = - let uu____29141 = FStar_TypeChecker_Env.should_verify env in - Prims.op_Negation uu____29141 in - if uu____29139 + (uu___3904_29051.FStar_TypeChecker_Env.implicits) + } in + let uu____29052 = + let uu____29054 = FStar_TypeChecker_Env.should_verify env in + Prims.op_Negation uu____29054 in + if uu____29052 then FStar_Pervasives_Native.Some ret_g else (match g1.FStar_TypeChecker_Env.guard_f with - | FStar_TypeChecker_Common.Trivial -> + | FStar_TypeChecker_Common.Trivial -> FStar_Pervasives_Native.Some ret_g | FStar_TypeChecker_Common.NonTrivial vc -> (if debug1 then - (let uu____29153 = FStar_TypeChecker_Env.get_range env in - let uu____29154 = - let uu____29156 = FStar_Syntax_Print.term_to_string vc in + (let uu____29066 = FStar_TypeChecker_Env.get_range env + in + let uu____29067 = + let uu____29069 = FStar_Syntax_Print.term_to_string vc + in FStar_Util.format1 "Before normalization VC=\n%s\n" - uu____29156 in - FStar_Errors.diag uu____29153 uu____29154) + uu____29069 + in + FStar_Errors.diag uu____29066 uu____29067) else (); (let vc1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.Simplify; - FStar_TypeChecker_Env.Primops] env vc in + FStar_TypeChecker_Env.Primops] env vc + in if debug1 then - (let uu____29164 = FStar_TypeChecker_Env.get_range env in - let uu____29165 = - let uu____29167 = - FStar_Syntax_Print.term_to_string vc1 in + (let uu____29077 = FStar_TypeChecker_Env.get_range env + in + let uu____29078 = + let uu____29080 = + FStar_Syntax_Print.term_to_string vc1 in FStar_Util.format1 "After normalization VC=\n%s\n" - uu____29167 in - FStar_Errors.diag uu____29164 uu____29165) + uu____29080 + in + FStar_Errors.diag uu____29077 uu____29078) else (); - (let uu____29173 = FStar_TypeChecker_Env.get_range env in - FStar_TypeChecker_Env.def_check_closed_in_env uu____29173 + (let uu____29086 = FStar_TypeChecker_Env.get_range env in + FStar_TypeChecker_Env.def_check_closed_in_env uu____29086 "discharge_guard'" env vc1); - (let uu____29175 = FStar_TypeChecker_Env.check_trivial vc1 in - match uu____29175 with - | FStar_TypeChecker_Common.Trivial -> + (let uu____29088 = FStar_TypeChecker_Env.check_trivial vc1 + in + match uu____29088 with + | FStar_TypeChecker_Common.Trivial -> FStar_Pervasives_Native.Some ret_g | FStar_TypeChecker_Common.NonTrivial vc2 -> if Prims.op_Negation use_smt then (if debug1 then - (let uu____29184 = - FStar_TypeChecker_Env.get_range env in - let uu____29185 = - let uu____29187 = - FStar_Syntax_Print.term_to_string vc2 in + (let uu____29097 = + FStar_TypeChecker_Env.get_range env in + let uu____29098 = + let uu____29100 = + FStar_Syntax_Print.term_to_string vc2 in FStar_Util.format1 "Cannot solve without SMT : %s\n" - uu____29187 in - FStar_Errors.diag uu____29184 uu____29185) + uu____29100 + in + FStar_Errors.diag uu____29097 uu____29098) else (); FStar_Pervasives_Native.None) else (if debug1 then - (let uu____29197 = - FStar_TypeChecker_Env.get_range env in - let uu____29198 = - let uu____29200 = - FStar_Syntax_Print.term_to_string vc2 in + (let uu____29110 = + FStar_TypeChecker_Env.get_range env in + let uu____29111 = + let uu____29113 = + FStar_Syntax_Print.term_to_string vc2 in FStar_Util.format1 "Checking VC=\n%s\n" - uu____29200 in - FStar_Errors.diag uu____29197 uu____29198) + uu____29113 + in + FStar_Errors.diag uu____29110 uu____29111) else (); (let vcs = - let uu____29214 = FStar_Options.use_tactics () in - if uu____29214 + let uu____29127 = FStar_Options.use_tactics () + in + if uu____29127 then FStar_Options.with_saved_options - (fun uu____29236 -> - (let uu____29238 = + (fun uu____29149 -> + (let uu____29151 = FStar_Options.set_options - FStar_Options.Set "--no_tactics" in - FStar_All.pipe_left (fun a1 -> ()) - uu____29238); + "--no_tactics" + in + FStar_All.pipe_left (fun a1 -> ()) + uu____29151); (let vcs = (env.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.preprocess - env vc2 in + env vc2 + in FStar_All.pipe_right vcs (FStar_List.map - (fun uu____29282 -> - match uu____29282 with - | (env1, goal, opts) -> - let uu____29298 = + (fun uu____29195 -> + match uu____29195 with + | (env1,goal,opts) -> + let uu____29211 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Simplify; FStar_TypeChecker_Env.Primops] - env1 goal in - (env1, uu____29298, opts))))) + env1 goal + in + (env1, uu____29211, opts))))) else - (let uu____29301 = - let uu____29308 = FStar_Options.peek () in - (env, vc2, uu____29308) in - [uu____29301]) in + (let uu____29214 = + let uu____29221 = FStar_Options.peek () + in + (env, vc2, uu____29221) in + [uu____29214]) + in FStar_All.pipe_right vcs (FStar_List.iter - (fun uu____29341 -> - match uu____29341 with - | (env1, goal, opts) -> - let uu____29351 = + (fun uu____29254 -> + match uu____29254 with + | (env1,goal,opts) -> + let uu____29264 = FStar_TypeChecker_Env.check_trivial - goal in - (match uu____29351 with - | FStar_TypeChecker_Common.Trivial + goal + in + (match uu____29264 with + | FStar_TypeChecker_Common.Trivial -> if debug1 then @@ -10245,125 +11227,136 @@ let (discharge_guard' : goal1 -> (FStar_Options.push (); FStar_Options.set opts; - maybe_update_proof_ns env1; if debug1 then - (let uu____29363 = + (let uu____29275 = FStar_TypeChecker_Env.get_range - env1 in - let uu____29364 = - let uu____29366 = + env1 + in + let uu____29276 = + let uu____29278 = FStar_Syntax_Print.term_to_string - goal1 in - let uu____29368 = + goal1 + in + let uu____29280 = FStar_TypeChecker_Env.string_of_proof_ns - env1 in + env1 + in FStar_Util.format2 "Trying to solve:\n> %s\nWith proof_ns:\n %s\n" - uu____29366 uu____29368 in + uu____29278 uu____29280 + in FStar_Errors.diag - uu____29363 uu____29364) + uu____29275 uu____29276) else (); if debug1 then - (let uu____29375 = + (let uu____29287 = FStar_TypeChecker_Env.get_range - env1 in - let uu____29376 = - let uu____29378 = + env1 + in + let uu____29288 = + let uu____29290 = FStar_Syntax_Print.term_to_string - goal1 in + goal1 + in FStar_Util.format1 "Before calling solver VC=\n%s\n" - uu____29378 in + uu____29290 + in FStar_Errors.diag - uu____29375 uu____29376) + uu____29287 uu____29288) else (); (env1.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.solve use_env_range_msg env1 goal1; FStar_Options.pop ()))))); FStar_Pervasives_Native.Some ret_g))))) + let (discharge_guard_no_smt : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) = - fun env -> - fun g -> - let uu____29396 = - discharge_guard' FStar_Pervasives_Native.None env g false in - match uu____29396 with + fun env -> + fun g -> + let uu____29308 = + discharge_guard' FStar_Pervasives_Native.None env g false in + match uu____29308 with | FStar_Pervasives_Native.Some g1 -> g1 - | FStar_Pervasives_Native.None -> - let uu____29405 = FStar_TypeChecker_Env.get_range env in + | FStar_Pervasives_Native.None -> + let uu____29317 = FStar_TypeChecker_Env.get_range env in FStar_Errors.raise_error (FStar_Errors.Fatal_ExpectTrivialPreCondition, - "Expected a trivial pre-condition") uu____29405 + "Expected a trivial pre-condition") uu____29317 + let (discharge_guard : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) = - fun env -> - fun g -> - let uu____29419 = - discharge_guard' FStar_Pervasives_Native.None env g true in - match uu____29419 with + fun env -> + fun g -> + let uu____29331 = + discharge_guard' FStar_Pervasives_Native.None env g true in + match uu____29331 with | FStar_Pervasives_Native.Some g1 -> g1 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> failwith "Impossible, with use_smt = true, discharge_guard' should never have returned None" + let (teq_nosmt : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ -> FStar_TypeChecker_Env.guard_t FStar_Pervasives_Native.option) = - fun env -> - fun t1 -> - fun t2 -> - let uu____29449 = try_teq false env t1 t2 in - match uu____29449 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + fun env -> + fun t1 -> + fun t2 -> + let uu____29361 = try_teq false env t1 t2 in + match uu____29361 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some g -> discharge_guard' FStar_Pervasives_Native.None env g false + let (resolve_implicits' : FStar_TypeChecker_Env.env -> Prims.bool -> Prims.bool -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) = - fun env -> - fun must_total -> - fun forcelax -> - fun g -> + fun env -> + fun must_total -> + fun forcelax -> + fun g -> let rec unresolved ctx_u = - let uu____29493 = + let uu____29405 = FStar_Syntax_Unionfind.find - ctx_u.FStar_Syntax_Syntax.ctx_uvar_head in - match uu____29493 with + ctx_u.FStar_Syntax_Syntax.ctx_uvar_head + in + match uu____29405 with | FStar_Pervasives_Native.Some r -> (match ctx_u.FStar_Syntax_Syntax.ctx_uvar_meta with - | FStar_Pervasives_Native.None -> false - | FStar_Pervasives_Native.Some uu____29506 -> - let uu____29519 = - let uu____29520 = FStar_Syntax_Subst.compress r in - uu____29520.FStar_Syntax_Syntax.n in - (match uu____29519 with - | FStar_Syntax_Syntax.Tm_uvar (ctx_u', uu____29525) -> + | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.Some uu____29418 -> + let uu____29431 = + let uu____29432 = FStar_Syntax_Subst.compress r in + uu____29432.FStar_Syntax_Syntax.n in + (match uu____29431 with + | FStar_Syntax_Syntax.Tm_uvar (ctx_u',uu____29437) -> unresolved ctx_u' - | uu____29542 -> false)) - | FStar_Pervasives_Native.None -> true in + | uu____29454 -> false)) + | FStar_Pervasives_Native.None -> true in let rec until_fixpoint acc implicits = - let uu____29566 = acc in - match uu____29566 with - | (out, changed) -> + let uu____29478 = acc in + match uu____29478 with + | (out,changed) -> (match implicits with | [] -> if Prims.op_Negation changed then out else until_fixpoint ([], false) out | hd1::tl1 -> - let uu____29585 = hd1 in - (match uu____29585 with + let uu____29497 = hd1 in + (match uu____29497 with | { FStar_TypeChecker_Env.imp_reason = reason; FStar_TypeChecker_Env.imp_uvar = ctx_u; FStar_TypeChecker_Env.imp_tm = tm; @@ -10373,76 +11366,81 @@ let (resolve_implicits' : FStar_Syntax_Syntax.Allow_unresolved then until_fixpoint (out, true) tl1 else - (let uu____29596 = unresolved ctx_u in - if uu____29596 + (let uu____29508 = unresolved ctx_u in + if uu____29508 then match ctx_u.FStar_Syntax_Syntax.ctx_uvar_meta with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> until_fixpoint ((hd1 :: out), changed) tl1 - | FStar_Pervasives_Native.Some (env_dyn, tau) + | FStar_Pervasives_Native.Some (env_dyn,tau) -> - let env1 = FStar_Dyn.undyn env_dyn in - ((let uu____29620 = + let env1 = FStar_Dyn.undyn env_dyn in + ((let uu____29532 = FStar_TypeChecker_Env.debug env1 - (FStar_Options.Other "Tac") in - if uu____29620 + (FStar_Options.Other "Tac") + in + if uu____29532 then - let uu____29624 = + let uu____29536 = FStar_Syntax_Print.ctx_uvar_to_string - ctx_u in + ctx_u + in FStar_Util.print1 "Running tactic for meta-arg %s\n" - uu____29624 + uu____29536 else ()); (let t = env1.FStar_TypeChecker_Env.synth_hook env1 (hd1.FStar_TypeChecker_Env.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_typ - tau in + tau + in let extra = - let uu____29633 = teq_nosmt env1 t tm in - match uu____29633 with - | FStar_Pervasives_Native.None -> + let uu____29545 = teq_nosmt env1 t tm + in + match uu____29545 with + | FStar_Pervasives_Native.None -> failwith "resolve_implicits: unifying with an unresolved uvar failed?" | FStar_Pervasives_Native.Some g1 -> - g1.FStar_TypeChecker_Env.implicits in + g1.FStar_TypeChecker_Env.implicits + in let ctx_u1 = - let uu___4021_29643 = ctx_u in + let uu___4016_29555 = ctx_u in { FStar_Syntax_Syntax.ctx_uvar_head = - (uu___4021_29643.FStar_Syntax_Syntax.ctx_uvar_head); + (uu___4016_29555.FStar_Syntax_Syntax.ctx_uvar_head); FStar_Syntax_Syntax.ctx_uvar_gamma = - (uu___4021_29643.FStar_Syntax_Syntax.ctx_uvar_gamma); + (uu___4016_29555.FStar_Syntax_Syntax.ctx_uvar_gamma); FStar_Syntax_Syntax.ctx_uvar_binders = - (uu___4021_29643.FStar_Syntax_Syntax.ctx_uvar_binders); + (uu___4016_29555.FStar_Syntax_Syntax.ctx_uvar_binders); FStar_Syntax_Syntax.ctx_uvar_typ = - (uu___4021_29643.FStar_Syntax_Syntax.ctx_uvar_typ); + (uu___4016_29555.FStar_Syntax_Syntax.ctx_uvar_typ); FStar_Syntax_Syntax.ctx_uvar_reason = - (uu___4021_29643.FStar_Syntax_Syntax.ctx_uvar_reason); + (uu___4016_29555.FStar_Syntax_Syntax.ctx_uvar_reason); FStar_Syntax_Syntax.ctx_uvar_should_check = - (uu___4021_29643.FStar_Syntax_Syntax.ctx_uvar_should_check); + (uu___4016_29555.FStar_Syntax_Syntax.ctx_uvar_should_check); FStar_Syntax_Syntax.ctx_uvar_range = - (uu___4021_29643.FStar_Syntax_Syntax.ctx_uvar_range); + (uu___4016_29555.FStar_Syntax_Syntax.ctx_uvar_range); FStar_Syntax_Syntax.ctx_uvar_meta = FStar_Pervasives_Native.None - } in + } in let hd2 = - let uu___4024_29651 = hd1 in + let uu___4019_29563 = hd1 in { FStar_TypeChecker_Env.imp_reason = - (uu___4024_29651.FStar_TypeChecker_Env.imp_reason); + (uu___4019_29563.FStar_TypeChecker_Env.imp_reason); FStar_TypeChecker_Env.imp_uvar = ctx_u1; FStar_TypeChecker_Env.imp_tm = - (uu___4024_29651.FStar_TypeChecker_Env.imp_tm); + (uu___4019_29563.FStar_TypeChecker_Env.imp_tm); FStar_TypeChecker_Env.imp_range = - (uu___4024_29651.FStar_TypeChecker_Env.imp_range) - } in + (uu___4019_29563.FStar_TypeChecker_Env.imp_range) + } in until_fixpoint (out, true) (hd2 :: (FStar_List.append extra tl1)))) else @@ -10452,224 +11450,229 @@ let (resolve_implicits' : then until_fixpoint (out, true) tl1 else (let env1 = - let uu___4028_29662 = env in + let uu___4023_29574 = env in { FStar_TypeChecker_Env.solver = - (uu___4028_29662.FStar_TypeChecker_Env.solver); + (uu___4023_29574.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___4028_29662.FStar_TypeChecker_Env.range); + (uu___4023_29574.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___4028_29662.FStar_TypeChecker_Env.curmodule); + (uu___4023_29574.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = (ctx_u.FStar_Syntax_Syntax.ctx_uvar_gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___4028_29662.FStar_TypeChecker_Env.gamma_sig); + (uu___4023_29574.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___4028_29662.FStar_TypeChecker_Env.gamma_cache); + (uu___4023_29574.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___4028_29662.FStar_TypeChecker_Env.modules); + (uu___4023_29574.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___4028_29662.FStar_TypeChecker_Env.expected_typ); + (uu___4023_29574.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___4028_29662.FStar_TypeChecker_Env.sigtab); + (uu___4023_29574.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___4028_29662.FStar_TypeChecker_Env.attrtab); + (uu___4023_29574.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___4028_29662.FStar_TypeChecker_Env.is_pattern); + (uu___4023_29574.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___4028_29662.FStar_TypeChecker_Env.instantiate_imp); + (uu___4023_29574.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___4028_29662.FStar_TypeChecker_Env.effects); + (uu___4023_29574.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___4028_29662.FStar_TypeChecker_Env.generalize); + (uu___4023_29574.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___4028_29662.FStar_TypeChecker_Env.letrecs); + (uu___4023_29574.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___4028_29662.FStar_TypeChecker_Env.top_level); + (uu___4023_29574.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___4028_29662.FStar_TypeChecker_Env.check_uvars); + (uu___4023_29574.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___4028_29662.FStar_TypeChecker_Env.use_eq); + (uu___4023_29574.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___4028_29662.FStar_TypeChecker_Env.is_iface); + (uu___4023_29574.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___4028_29662.FStar_TypeChecker_Env.admit); + (uu___4023_29574.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___4028_29662.FStar_TypeChecker_Env.lax); + (uu___4023_29574.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___4028_29662.FStar_TypeChecker_Env.lax_universes); + (uu___4023_29574.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___4028_29662.FStar_TypeChecker_Env.phase1); + (uu___4023_29574.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___4028_29662.FStar_TypeChecker_Env.failhard); + (uu___4023_29574.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___4028_29662.FStar_TypeChecker_Env.nosynth); + (uu___4023_29574.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___4028_29662.FStar_TypeChecker_Env.uvar_subtyping); + (uu___4023_29574.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___4028_29662.FStar_TypeChecker_Env.tc_term); + (uu___4023_29574.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___4028_29662.FStar_TypeChecker_Env.type_of); + (uu___4023_29574.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___4028_29662.FStar_TypeChecker_Env.universe_of); + (uu___4023_29574.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___4028_29662.FStar_TypeChecker_Env.check_type_of); + (uu___4023_29574.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___4028_29662.FStar_TypeChecker_Env.use_bv_sorts); + (uu___4023_29574.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___4028_29662.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___4023_29574.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___4028_29662.FStar_TypeChecker_Env.normalized_eff_names); + (uu___4023_29574.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___4028_29662.FStar_TypeChecker_Env.fv_delta_depths); + (uu___4023_29574.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___4028_29662.FStar_TypeChecker_Env.proof_ns); + (uu___4023_29574.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___4028_29662.FStar_TypeChecker_Env.synth_hook); + (uu___4023_29574.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___4028_29662.FStar_TypeChecker_Env.splice); + (uu___4023_29574.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___4028_29662.FStar_TypeChecker_Env.postprocess); + (uu___4023_29574.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___4028_29662.FStar_TypeChecker_Env.is_native_tactic); + (uu___4023_29574.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___4028_29662.FStar_TypeChecker_Env.identifier_info); + (uu___4023_29574.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___4028_29662.FStar_TypeChecker_Env.tc_hooks); + (uu___4023_29574.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___4028_29662.FStar_TypeChecker_Env.dsenv); + (uu___4023_29574.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___4028_29662.FStar_TypeChecker_Env.nbe) - } in + (uu___4023_29574.FStar_TypeChecker_Env.nbe) + } in let tm1 = FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.Beta] env1 tm in + [FStar_TypeChecker_Env.Beta] env1 tm + in let env2 = if forcelax then - let uu___4033_29666 = env1 in + let uu___4028_29578 = env1 in { FStar_TypeChecker_Env.solver = - (uu___4033_29666.FStar_TypeChecker_Env.solver); + (uu___4028_29578.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___4033_29666.FStar_TypeChecker_Env.range); + (uu___4028_29578.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___4033_29666.FStar_TypeChecker_Env.curmodule); + (uu___4028_29578.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___4033_29666.FStar_TypeChecker_Env.gamma); + (uu___4028_29578.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___4033_29666.FStar_TypeChecker_Env.gamma_sig); + (uu___4028_29578.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___4033_29666.FStar_TypeChecker_Env.gamma_cache); + (uu___4028_29578.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___4033_29666.FStar_TypeChecker_Env.modules); + (uu___4028_29578.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___4033_29666.FStar_TypeChecker_Env.expected_typ); + (uu___4028_29578.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___4033_29666.FStar_TypeChecker_Env.sigtab); + (uu___4028_29578.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___4033_29666.FStar_TypeChecker_Env.attrtab); + (uu___4028_29578.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___4033_29666.FStar_TypeChecker_Env.is_pattern); + (uu___4028_29578.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___4033_29666.FStar_TypeChecker_Env.instantiate_imp); + (uu___4028_29578.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___4033_29666.FStar_TypeChecker_Env.effects); + (uu___4028_29578.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___4033_29666.FStar_TypeChecker_Env.generalize); + (uu___4028_29578.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___4033_29666.FStar_TypeChecker_Env.letrecs); + (uu___4028_29578.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___4033_29666.FStar_TypeChecker_Env.top_level); + (uu___4028_29578.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___4033_29666.FStar_TypeChecker_Env.check_uvars); + (uu___4028_29578.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___4033_29666.FStar_TypeChecker_Env.use_eq); + (uu___4028_29578.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___4033_29666.FStar_TypeChecker_Env.is_iface); + (uu___4028_29578.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___4033_29666.FStar_TypeChecker_Env.admit); + (uu___4028_29578.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___4033_29666.FStar_TypeChecker_Env.lax_universes); + (uu___4028_29578.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___4033_29666.FStar_TypeChecker_Env.phase1); + (uu___4028_29578.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___4033_29666.FStar_TypeChecker_Env.failhard); + (uu___4028_29578.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___4033_29666.FStar_TypeChecker_Env.nosynth); + (uu___4028_29578.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___4033_29666.FStar_TypeChecker_Env.uvar_subtyping); + (uu___4028_29578.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___4033_29666.FStar_TypeChecker_Env.tc_term); + (uu___4028_29578.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___4033_29666.FStar_TypeChecker_Env.type_of); + (uu___4028_29578.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___4033_29666.FStar_TypeChecker_Env.universe_of); + (uu___4028_29578.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___4033_29666.FStar_TypeChecker_Env.check_type_of); + (uu___4028_29578.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___4033_29666.FStar_TypeChecker_Env.use_bv_sorts); + (uu___4028_29578.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___4033_29666.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___4028_29578.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___4033_29666.FStar_TypeChecker_Env.normalized_eff_names); + (uu___4028_29578.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___4033_29666.FStar_TypeChecker_Env.fv_delta_depths); + (uu___4028_29578.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___4033_29666.FStar_TypeChecker_Env.proof_ns); + (uu___4028_29578.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___4033_29666.FStar_TypeChecker_Env.synth_hook); + (uu___4028_29578.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___4033_29666.FStar_TypeChecker_Env.splice); + (uu___4028_29578.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___4033_29666.FStar_TypeChecker_Env.postprocess); + (uu___4028_29578.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___4033_29666.FStar_TypeChecker_Env.is_native_tactic); + (uu___4028_29578.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___4033_29666.FStar_TypeChecker_Env.identifier_info); + (uu___4028_29578.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___4033_29666.FStar_TypeChecker_Env.tc_hooks); + (uu___4028_29578.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___4033_29666.FStar_TypeChecker_Env.dsenv); + (uu___4028_29578.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___4033_29666.FStar_TypeChecker_Env.nbe) + (uu___4028_29578.FStar_TypeChecker_Env.nbe) } - else env1 in - (let uu____29671 = + else env1 in + (let uu____29583 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env2) - (FStar_Options.Other "Rel") in - if uu____29671 + (FStar_Options.Other "Rel") + in + if uu____29583 then - let uu____29676 = + let uu____29588 = FStar_Syntax_Print.uvar_to_string - ctx_u.FStar_Syntax_Syntax.ctx_uvar_head in - let uu____29678 = - FStar_Syntax_Print.term_to_string tm1 in - let uu____29680 = + ctx_u.FStar_Syntax_Syntax.ctx_uvar_head + in + let uu____29590 = + FStar_Syntax_Print.term_to_string tm1 + in + let uu____29592 = FStar_Syntax_Print.term_to_string - ctx_u.FStar_Syntax_Syntax.ctx_uvar_typ in - let uu____29682 = - FStar_Range.string_of_range r in + ctx_u.FStar_Syntax_Syntax.ctx_uvar_typ + in + let uu____29594 = + FStar_Range.string_of_range r in FStar_Util.print5 "Checking uvar %s resolved to %s at type %s, introduce for %s at %s\n" - uu____29676 uu____29678 uu____29680 - reason uu____29682 + uu____29588 uu____29590 uu____29592 + reason uu____29594 else ()); (let g1 = try - (fun uu___4039_29689 -> + (fun uu___4034_29601 -> match () with | () -> env2.FStar_TypeChecker_Env.check_type_of @@ -10678,145 +11681,165 @@ let (resolve_implicits' : () with | e when FStar_Errors.handleable e -> - ((let uu____29696 = - let uu____29706 = - let uu____29714 = - let uu____29716 = + ((let uu____29608 = + let uu____29618 = + let uu____29626 = + let uu____29628 = FStar_Syntax_Print.uvar_to_string - ctx_u.FStar_Syntax_Syntax.ctx_uvar_head in - let uu____29718 = + ctx_u.FStar_Syntax_Syntax.ctx_uvar_head + in + let uu____29630 = FStar_TypeChecker_Normalize.term_to_string - env2 tm1 in - let uu____29720 = + env2 tm1 + in + let uu____29632 = FStar_TypeChecker_Normalize.term_to_string env2 - ctx_u.FStar_Syntax_Syntax.ctx_uvar_typ in + ctx_u.FStar_Syntax_Syntax.ctx_uvar_typ + in FStar_Util.format3 "Failed while checking implicit %s set to %s of expected type %s" - uu____29716 uu____29718 - uu____29720 in + uu____29628 uu____29630 + uu____29632 + in (FStar_Errors.Error_BadImplicit, - uu____29714, r) in - [uu____29706] in + uu____29626, r) + in + [uu____29618] in FStar_Errors.add_errors - uu____29696); - FStar_Exn.raise e) in + uu____29608); + FStar_Exn.raise e) + in let g2 = if env2.FStar_TypeChecker_Env.is_pattern then - let uu___4047_29740 = g1 in + let uu___4042_29652 = g1 in { FStar_TypeChecker_Env.guard_f = FStar_TypeChecker_Common.Trivial; FStar_TypeChecker_Env.deferred = - (uu___4047_29740.FStar_TypeChecker_Env.deferred); + (uu___4042_29652.FStar_TypeChecker_Env.deferred); FStar_TypeChecker_Env.univ_ineqs = - (uu___4047_29740.FStar_TypeChecker_Env.univ_ineqs); + (uu___4042_29652.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = - (uu___4047_29740.FStar_TypeChecker_Env.implicits) + (uu___4042_29652.FStar_TypeChecker_Env.implicits) } - else g1 in + else g1 in let g' = - let uu____29744 = + let uu____29656 = discharge_guard' (FStar_Pervasives_Native.Some - (fun uu____29755 -> - let uu____29756 = + (fun uu____29667 -> + let uu____29668 = FStar_Syntax_Print.term_to_string - tm1 in - let uu____29758 = + tm1 + in + let uu____29670 = FStar_Range.string_of_range - r in - let uu____29760 = + r + in + let uu____29672 = FStar_Range.string_of_range - tm1.FStar_Syntax_Syntax.pos in + tm1.FStar_Syntax_Syntax.pos + in FStar_Util.format4 "%s (Introduced at %s for %s resolved at %s)" - uu____29756 uu____29758 - reason uu____29760)) env2 g2 - true in - match uu____29744 with + uu____29668 uu____29670 + reason uu____29672)) env2 g2 + true + in + match uu____29656 with | FStar_Pervasives_Native.Some g3 -> g3 - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> failwith - "Impossible, with use_smt = true, discharge_guard' should never have returned None" in + "Impossible, with use_smt = true, discharge_guard' should never have returned None" + in until_fixpoint ((FStar_List.append g'.FStar_TypeChecker_Env.implicits - out), true) tl1))))) in - let uu___4055_29768 = g in - let uu____29769 = - until_fixpoint ([], false) g.FStar_TypeChecker_Env.implicits in + out), true) tl1))))) + in + let uu___4050_29680 = g in + let uu____29681 = + until_fixpoint ([], false) g.FStar_TypeChecker_Env.implicits in { FStar_TypeChecker_Env.guard_f = - (uu___4055_29768.FStar_TypeChecker_Env.guard_f); + (uu___4050_29680.FStar_TypeChecker_Env.guard_f); FStar_TypeChecker_Env.deferred = - (uu___4055_29768.FStar_TypeChecker_Env.deferred); + (uu___4050_29680.FStar_TypeChecker_Env.deferred); FStar_TypeChecker_Env.univ_ineqs = - (uu___4055_29768.FStar_TypeChecker_Env.univ_ineqs); - FStar_TypeChecker_Env.implicits = uu____29769 + (uu___4050_29680.FStar_TypeChecker_Env.univ_ineqs); + FStar_TypeChecker_Env.implicits = uu____29681 } + let (resolve_implicits : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) - = fun env -> fun g -> resolve_implicits' env true false g + = fun env -> fun g -> resolve_implicits' env true false g let (resolve_implicits_tac : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) - = fun env -> fun g -> resolve_implicits' env false true g + = fun env -> fun g -> resolve_implicits' env false true g let (force_trivial_guard : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.guard_t -> unit) = - fun env -> - fun g -> + fun env -> + fun g -> let g1 = - let uu____29812 = solve_deferred_constraints env g in - FStar_All.pipe_right uu____29812 (resolve_implicits env) in + let uu____29724 = solve_deferred_constraints env g in + FStar_All.pipe_right uu____29724 (resolve_implicits env) in match g1.FStar_TypeChecker_Env.implicits with | [] -> - let uu____29813 = discharge_guard env g1 in - FStar_All.pipe_left (fun a2 -> ()) uu____29813 - | imp::uu____29815 -> - let uu____29818 = - let uu____29824 = - let uu____29826 = + let uu____29725 = discharge_guard env g1 in + FStar_All.pipe_left (fun a2 -> ()) uu____29725 + | imp::uu____29727 -> + let uu____29730 = + let uu____29736 = + let uu____29738 = FStar_Syntax_Print.uvar_to_string - (imp.FStar_TypeChecker_Env.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_head in - let uu____29828 = + (imp.FStar_TypeChecker_Env.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_head + in + let uu____29740 = FStar_TypeChecker_Normalize.term_to_string env - (imp.FStar_TypeChecker_Env.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_typ in + (imp.FStar_TypeChecker_Env.imp_uvar).FStar_Syntax_Syntax.ctx_uvar_typ + in FStar_Util.format3 "Failed to resolve implicit argument %s of type %s introduced for %s" - uu____29826 uu____29828 imp.FStar_TypeChecker_Env.imp_reason in - (FStar_Errors.Fatal_FailToResolveImplicitArgument, uu____29824) in - FStar_Errors.raise_error uu____29818 + uu____29738 uu____29740 imp.FStar_TypeChecker_Env.imp_reason + in + (FStar_Errors.Fatal_FailToResolveImplicitArgument, uu____29736) + in + FStar_Errors.raise_error uu____29730 imp.FStar_TypeChecker_Env.imp_range + let (teq_nosmt_force : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ -> Prims.bool) = - fun env -> - fun t1 -> - fun t2 -> - let uu____29850 = teq_nosmt env t1 t2 in - match uu____29850 with - | FStar_Pervasives_Native.None -> false + fun env -> + fun t1 -> + fun t2 -> + let uu____29762 = teq_nosmt env t1 t2 in + match uu____29762 with + | FStar_Pervasives_Native.None -> false | FStar_Pervasives_Native.Some g -> (force_trivial_guard env g; true) + let (universe_inequality : FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe -> FStar_TypeChecker_Env.guard_t) = - fun u1 -> - fun u2 -> - let uu___4077_29869 = FStar_TypeChecker_Env.trivial_guard in + fun u1 -> + fun u2 -> + let uu___4072_29781 = FStar_TypeChecker_Env.trivial_guard in { FStar_TypeChecker_Env.guard_f = - (uu___4077_29869.FStar_TypeChecker_Env.guard_f); + (uu___4072_29781.FStar_TypeChecker_Env.guard_f); FStar_TypeChecker_Env.deferred = - (uu___4077_29869.FStar_TypeChecker_Env.deferred); + (uu___4072_29781.FStar_TypeChecker_Env.deferred); FStar_TypeChecker_Env.univ_ineqs = ([], [(u1, u2)]); FStar_TypeChecker_Env.implicits = - (uu___4077_29869.FStar_TypeChecker_Env.implicits) + (uu___4072_29781.FStar_TypeChecker_Env.implicits) } + let (check_subtyping : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> @@ -10824,136 +11847,149 @@ let (check_subtyping : (FStar_Syntax_Syntax.bv * FStar_TypeChecker_Env.guard_t) FStar_Pervasives_Native.option) = - fun env -> - fun t1 -> - fun t2 -> - (let uu____29905 = + fun env -> + fun t1 -> + fun t2 -> + (let uu____29817 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in - if uu____29905 + (FStar_Options.Other "Rel") + in + if uu____29817 then - let uu____29910 = - FStar_TypeChecker_Normalize.term_to_string env t1 in - let uu____29912 = - FStar_TypeChecker_Normalize.term_to_string env t2 in - FStar_Util.print2 "check_subtyping of %s and %s\n" uu____29910 - uu____29912 + let uu____29822 = + FStar_TypeChecker_Normalize.term_to_string env t1 in + let uu____29824 = + FStar_TypeChecker_Normalize.term_to_string env t2 in + FStar_Util.print2 "check_subtyping of %s and %s\n" uu____29822 + uu____29824 else ()); - (let uu____29917 = + (let uu____29829 = new_t_prob (empty_worklist env) env t1 - FStar_TypeChecker_Common.SUB t2 in - match uu____29917 with - | (prob, x, wl) -> + FStar_TypeChecker_Common.SUB t2 + in + match uu____29829 with + | (prob,x,wl) -> let g = - let uu____29936 = + let uu____29848 = solve_and_commit env (singleton wl prob true) - (fun uu____29947 -> FStar_Pervasives_Native.None) in - FStar_All.pipe_left (with_guard env prob) uu____29936 in - ((let uu____29968 = + (fun uu____29859 -> FStar_Pervasives_Native.None) + in + FStar_All.pipe_left (with_guard env prob) uu____29848 in + ((let uu____29880 = (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) (FStar_Options.Other "Rel")) - && (FStar_Util.is_some g) in - if uu____29968 + && (FStar_Util.is_some g) + in + if uu____29880 then - let uu____29973 = - FStar_TypeChecker_Normalize.term_to_string env t1 in - let uu____29975 = - FStar_TypeChecker_Normalize.term_to_string env t2 in - let uu____29977 = - let uu____29979 = FStar_Util.must g in - guard_to_string env uu____29979 in + let uu____29885 = + FStar_TypeChecker_Normalize.term_to_string env t1 in + let uu____29887 = + FStar_TypeChecker_Normalize.term_to_string env t2 in + let uu____29889 = + let uu____29891 = FStar_Util.must g in + guard_to_string env uu____29891 in FStar_Util.print3 "check_subtyping succeeded: %s <: %s\n\tguard is %s\n" - uu____29973 uu____29975 uu____29977 + uu____29885 uu____29887 uu____29889 else ()); (match g with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some g1 -> FStar_Pervasives_Native.Some (x, g1)))) + let (get_subtyping_predicate : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ -> FStar_TypeChecker_Env.guard_t FStar_Pervasives_Native.option) = - fun env -> - fun t1 -> - fun t2 -> - let uu____30016 = check_subtyping env t1 t2 in - match uu____30016 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (x, g) -> - let uu____30035 = - let uu____30036 = FStar_Syntax_Syntax.mk_binder x in - FStar_TypeChecker_Env.abstract_guard uu____30036 g in - FStar_Pervasives_Native.Some uu____30035 + fun env -> + fun t1 -> + fun t2 -> + let uu____29928 = check_subtyping env t1 t2 in + match uu____29928 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (x,g) -> + let uu____29947 = + let uu____29948 = FStar_Syntax_Syntax.mk_binder x in + FStar_TypeChecker_Env.abstract_guard uu____29948 g in + FStar_Pervasives_Native.Some uu____29947 + let (get_subtyping_prop : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ -> FStar_TypeChecker_Env.guard_t FStar_Pervasives_Native.option) = - fun env -> - fun t1 -> - fun t2 -> - let uu____30055 = check_subtyping env t1 t2 in - match uu____30055 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (x, g) -> - let uu____30074 = - let uu____30075 = - let uu____30076 = FStar_Syntax_Syntax.mk_binder x in - [uu____30076] in - FStar_TypeChecker_Env.close_guard env uu____30075 g in - FStar_Pervasives_Native.Some uu____30074 + fun env -> + fun t1 -> + fun t2 -> + let uu____29967 = check_subtyping env t1 t2 in + match uu____29967 with + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.Some (x,g) -> + let uu____29986 = + let uu____29987 = + let uu____29988 = FStar_Syntax_Syntax.mk_binder x in + [uu____29988] in + FStar_TypeChecker_Env.close_guard env uu____29987 g in + FStar_Pervasives_Native.Some uu____29986 + let (subtype_nosmt : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ -> FStar_TypeChecker_Env.guard_t FStar_Pervasives_Native.option) = - fun env -> - fun t1 -> - fun t2 -> - (let uu____30114 = + fun env -> + fun t1 -> + fun t2 -> + (let uu____30026 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in - if uu____30114 + (FStar_Options.Other "Rel") + in + if uu____30026 then - let uu____30119 = - FStar_TypeChecker_Normalize.term_to_string env t1 in - let uu____30121 = - FStar_TypeChecker_Normalize.term_to_string env t2 in - FStar_Util.print2 "try_subtype_no_smt of %s and %s\n" uu____30119 - uu____30121 + let uu____30031 = + FStar_TypeChecker_Normalize.term_to_string env t1 in + let uu____30033 = + FStar_TypeChecker_Normalize.term_to_string env t2 in + FStar_Util.print2 "try_subtype_no_smt of %s and %s\n" uu____30031 + uu____30033 else ()); - (let uu____30126 = + (let uu____30038 = new_t_prob (empty_worklist env) env t1 - FStar_TypeChecker_Common.SUB t2 in - match uu____30126 with - | (prob, x, wl) -> + FStar_TypeChecker_Common.SUB t2 + in + match uu____30038 with + | (prob,x,wl) -> let g = - let uu____30141 = + let uu____30053 = solve_and_commit env (singleton wl prob false) - (fun uu____30152 -> FStar_Pervasives_Native.None) in - FStar_All.pipe_left (with_guard env prob) uu____30141 in + (fun uu____30064 -> FStar_Pervasives_Native.None) + in + FStar_All.pipe_left (with_guard env prob) uu____30053 in (match g with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some g1 -> let g2 = - let uu____30176 = - let uu____30177 = FStar_Syntax_Syntax.mk_binder x in - [uu____30177] in - FStar_TypeChecker_Env.close_guard env uu____30176 g1 in + let uu____30088 = + let uu____30089 = FStar_Syntax_Syntax.mk_binder x in + [uu____30089] in + FStar_TypeChecker_Env.close_guard env uu____30088 g1 in discharge_guard' FStar_Pervasives_Native.None env g2 false)) + let (subtype_nosmt_force : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ -> Prims.bool) = - fun env -> - fun t1 -> - fun t2 -> - let uu____30218 = subtype_nosmt env t1 t2 in - match uu____30218 with - | FStar_Pervasives_Native.None -> false - | FStar_Pervasives_Native.Some g -> (force_trivial_guard env g; true) \ No newline at end of file + fun env -> + fun t1 -> + fun t2 -> + let uu____30130 = subtype_nosmt env t1 t2 in + match uu____30130 with + | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.Some g -> (force_trivial_guard env g; true) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_Tc.ml b/src/ocaml-output/FStar_TypeChecker_Tc.ml index fbd00190bef..7088f3a4a06 100644 --- a/src/ocaml-output/FStar_TypeChecker_Tc.ml +++ b/src/ocaml-output/FStar_TypeChecker_Tc.ml @@ -3,28 +3,30 @@ let (set_hint_correlator : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt -> FStar_TypeChecker_Env.env) = - fun env -> - fun se -> + fun env -> + fun se -> let tbl = FStar_All.pipe_right env.FStar_TypeChecker_Env.qtbl_name_and_index - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in let get_n lid = - let n_opt = FStar_Util.smap_try_find tbl lid.FStar_Ident.str in + let n_opt = FStar_Util.smap_try_find tbl lid.FStar_Ident.str in if FStar_Util.is_some n_opt then FStar_All.pipe_right n_opt FStar_Util.must - else (Prims.parse_int "0") in - let uu____64 = FStar_Options.reuse_hint_for () in + else (Prims.parse_int "0") in + let uu____64 = FStar_Options.reuse_hint_for () in match uu____64 with | FStar_Pervasives_Native.Some l -> let lid = - let uu____72 = FStar_TypeChecker_Env.current_module env in - FStar_Ident.lid_add_suffix uu____72 l in - let uu___16_73 = env in + let uu____72 = FStar_TypeChecker_Env.current_module env in + FStar_Ident.lid_add_suffix uu____72 l in + let uu___16_73 = env in let uu____74 = let uu____89 = - let uu____97 = let uu____103 = get_n lid in (lid, uu____103) in - FStar_Pervasives_Native.Some uu____97 in - (tbl, uu____89) in + let uu____97 = let uu____103 = get_n lid in (lid, uu____103) + in + FStar_Pervasives_Native.Some uu____97 in + (tbl, uu____89) in { FStar_TypeChecker_Env.solver = (uu___16_73.FStar_TypeChecker_Env.solver); @@ -112,23 +114,24 @@ let (set_hint_correlator : FStar_TypeChecker_Env.nbe = (uu___16_73.FStar_TypeChecker_Env.nbe) } - | FStar_Pervasives_Native.None -> - let lids = FStar_Syntax_Util.lids_of_sigelt se in + | FStar_Pervasives_Native.None -> + let lids = FStar_Syntax_Util.lids_of_sigelt se in let lid = match lids with | [] -> - let uu____126 = FStar_TypeChecker_Env.current_module env in + let uu____126 = FStar_TypeChecker_Env.current_module env in let uu____127 = - let uu____129 = FStar_Ident.next_id () in - FStar_All.pipe_right uu____129 FStar_Util.string_of_int in + let uu____129 = FStar_Ident.next_id () in + FStar_All.pipe_right uu____129 FStar_Util.string_of_int in FStar_Ident.lid_add_suffix uu____126 uu____127 - | l::uu____134 -> l in - let uu___25_137 = env in + | l::uu____134 -> l in + let uu___25_137 = env in let uu____138 = let uu____153 = - let uu____161 = let uu____167 = get_n lid in (lid, uu____167) in - FStar_Pervasives_Native.Some uu____161 in - (tbl, uu____153) in + let uu____161 = let uu____167 = get_n lid in (lid, uu____167) + in + FStar_Pervasives_Native.Some uu____161 in + (tbl, uu____153) in { FStar_TypeChecker_Env.solver = (uu___25_137.FStar_TypeChecker_Env.solver); @@ -216,63 +219,69 @@ let (set_hint_correlator : FStar_TypeChecker_Env.nbe = (uu___25_137.FStar_TypeChecker_Env.nbe) } + let (log : FStar_TypeChecker_Env.env -> Prims.bool) = - fun env -> + fun env -> (FStar_Options.log_types ()) && (let uu____193 = - let uu____195 = FStar_TypeChecker_Env.current_module env in - FStar_Ident.lid_equals FStar_Parser_Const.prims_lid uu____195 in + let uu____195 = FStar_TypeChecker_Env.current_module env in + FStar_Ident.lid_equals FStar_Parser_Const.prims_lid uu____195 in Prims.op_Negation uu____193) + let (tc_check_trivial_guard : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term) = - fun env -> - fun t -> - fun k -> + fun env -> + fun t -> + fun k -> let uu____212 = - FStar_TypeChecker_TcTerm.tc_check_tot_or_gtot_term env t k in + FStar_TypeChecker_TcTerm.tc_check_tot_or_gtot_term env t k in match uu____212 with - | (t1, c, g) -> (FStar_TypeChecker_Rel.force_trivial_guard env g; t1) + | (t1,c,g) -> (FStar_TypeChecker_Rel.force_trivial_guard env g; t1) + let (recheck_debug : Prims.string -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun s -> - fun env -> - fun t -> + fun s -> + fun env -> + fun t -> (let uu____242 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "ED") in + FStar_TypeChecker_Env.debug env (FStar_Options.Other "ED") in if uu____242 then - let uu____246 = FStar_Syntax_Print.term_to_string t in + let uu____246 = FStar_Syntax_Print.term_to_string t in FStar_Util.print2 "Term has been %s-transformed to:\n%s\n----------\n" s uu____246 else ()); - (let uu____251 = FStar_TypeChecker_TcTerm.tc_term env t in + (let uu____251 = FStar_TypeChecker_TcTerm.tc_term env t in match uu____251 with - | (t', uu____259, uu____260) -> + | (t',uu____259,uu____260) -> ((let uu____262 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "ED") in + FStar_TypeChecker_Env.debug env (FStar_Options.Other "ED") + in if uu____262 then - let uu____266 = FStar_Syntax_Print.term_to_string t' in + let uu____266 = FStar_Syntax_Print.term_to_string t' in FStar_Util.print1 "Re-checked; got:\n%s\n----------\n" uu____266 else ()); t')) + let (check_and_gen : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.tscheme) = - fun env -> - fun t -> - fun k -> - let uu____287 = tc_check_trivial_guard env t k in + fun env -> + fun t -> + fun k -> + let uu____287 = tc_check_trivial_guard env t k in FStar_TypeChecker_Util.generalize_universes env uu____287 + let check_nogen : 'Auu____297 . FStar_TypeChecker_Env.env -> @@ -280,14 +289,16 @@ let check_nogen : FStar_Syntax_Syntax.typ -> ('Auu____297 Prims.list * FStar_Syntax_Syntax.term) = - fun env -> - fun t -> - fun k -> - let t1 = tc_check_trivial_guard env t k in + fun env -> + fun t -> + fun k -> + let t1 = tc_check_trivial_guard env t k in let uu____320 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta] - env t1 in + env t1 + in ([], uu____320) + let (monad_signature : FStar_TypeChecker_Env.env -> FStar_Ident.lident -> @@ -295,66 +306,72 @@ let (monad_signature : (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax)) = - fun env -> - fun m -> - fun s -> + fun env -> + fun m -> + fun s -> let fail1 uu____356 = let uu____357 = - FStar_TypeChecker_Err.unexpected_signature_for_monad env m s in - let uu____363 = FStar_Ident.range_of_lid m in - FStar_Errors.raise_error uu____357 uu____363 in - let s1 = FStar_Syntax_Subst.compress s in + FStar_TypeChecker_Err.unexpected_signature_for_monad env m s in + let uu____363 = FStar_Ident.range_of_lid m in + FStar_Errors.raise_error uu____357 uu____363 in + let s1 = FStar_Syntax_Subst.compress s in match s1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let bs1 = FStar_Syntax_Subst.open_binders bs in + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let bs1 = FStar_Syntax_Subst.open_binders bs in (match bs1 with - | (a, uu____407)::(wp, uu____409)::[] -> + | (a,uu____407)::(wp,uu____409)::[] -> (a, (wp.FStar_Syntax_Syntax.sort)) | uu____438 -> fail1 ()) | uu____439 -> fail1 () + let (tc_eff_decl : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.eff_decl -> FStar_Syntax_Syntax.eff_decl) = - fun env0 -> - fun ed -> + fun env0 -> + fun ed -> let uu____451 = - FStar_Syntax_Subst.univ_var_opening ed.FStar_Syntax_Syntax.univs in + FStar_Syntax_Subst.univ_var_opening ed.FStar_Syntax_Syntax.univs in match uu____451 with - | (open_annotated_univs, annotated_univ_names) -> + | (open_annotated_univs,annotated_univ_names) -> let open_univs n_binders t = let uu____483 = - FStar_Syntax_Subst.shift_subst n_binders open_annotated_univs in - FStar_Syntax_Subst.subst uu____483 t in + FStar_Syntax_Subst.shift_subst n_binders open_annotated_univs + in + FStar_Syntax_Subst.subst uu____483 t in let open_univs_binders n_binders bs = let uu____499 = - FStar_Syntax_Subst.shift_subst n_binders open_annotated_univs in - FStar_Syntax_Subst.subst_binders uu____499 bs in + FStar_Syntax_Subst.shift_subst n_binders open_annotated_univs + in + FStar_Syntax_Subst.subst_binders uu____499 bs in let n_effect_params = - FStar_List.length ed.FStar_Syntax_Syntax.binders in + FStar_List.length ed.FStar_Syntax_Syntax.binders in let uu____509 = let uu____516 = open_univs_binders (Prims.parse_int "0") - ed.FStar_Syntax_Syntax.binders in + ed.FStar_Syntax_Syntax.binders + in let uu____518 = - open_univs n_effect_params ed.FStar_Syntax_Syntax.signature in - FStar_Syntax_Subst.open_term' uu____516 uu____518 in + open_univs n_effect_params ed.FStar_Syntax_Syntax.signature in + FStar_Syntax_Subst.open_term' uu____516 uu____518 in (match uu____509 with - | (effect_params_un, signature_un, opening) -> + | (effect_params_un,signature_un,opening) -> let env = FStar_TypeChecker_Env.push_univ_vars env0 - annotated_univ_names in + annotated_univ_names + in let uu____523 = - FStar_TypeChecker_TcTerm.tc_tparams env effect_params_un in + FStar_TypeChecker_TcTerm.tc_tparams env effect_params_un in (match uu____523 with - | (effect_params, env1, uu____532) -> + | (effect_params,env1,uu____532) -> let uu____533 = FStar_TypeChecker_TcTerm.tc_trivial_guard env1 - signature_un in + signature_un + in (match uu____533 with - | (signature, uu____539) -> + | (signature,uu____539) -> let ed1 = - let uu___98_541 = ed in + let uu___98_541 = ed in { FStar_Syntax_Syntax.cattributes = (uu___98_541.FStar_Syntax_Syntax.cattributes); @@ -394,68 +411,76 @@ let (tc_eff_decl : (uu___98_541.FStar_Syntax_Syntax.actions); FStar_Syntax_Syntax.eff_attrs = (uu___98_541.FStar_Syntax_Syntax.eff_attrs) - } in + } in let ed2 = match (effect_params, annotated_univ_names) with - | ([], []) -> ed1 + | ([],[]) -> ed1 | uu____569 -> let op uu____601 = match uu____601 with - | (us, t) -> - let n_us = FStar_List.length us in + | (us,t) -> + let n_us = FStar_List.length us in let uu____621 = let uu____622 = FStar_Syntax_Subst.shift_subst n_us - opening in - let uu____625 = open_univs n_us t in + opening + in + let uu____625 = open_univs n_us t in FStar_Syntax_Subst.subst uu____622 - uu____625 in - (us, uu____621) in - let uu___110_628 = ed1 in + uu____625 + in + (us, uu____621) + in + let uu___110_628 = ed1 in let uu____629 = - op ed1.FStar_Syntax_Syntax.ret_wp in + op ed1.FStar_Syntax_Syntax.ret_wp in let uu____630 = - op ed1.FStar_Syntax_Syntax.bind_wp in + op ed1.FStar_Syntax_Syntax.bind_wp in let uu____631 = - op ed1.FStar_Syntax_Syntax.if_then_else in + op ed1.FStar_Syntax_Syntax.if_then_else in let uu____632 = - op ed1.FStar_Syntax_Syntax.ite_wp in + op ed1.FStar_Syntax_Syntax.ite_wp in let uu____633 = - op ed1.FStar_Syntax_Syntax.stronger in + op ed1.FStar_Syntax_Syntax.stronger in let uu____634 = - op ed1.FStar_Syntax_Syntax.close_wp in + op ed1.FStar_Syntax_Syntax.close_wp in let uu____635 = - op ed1.FStar_Syntax_Syntax.assert_p in + op ed1.FStar_Syntax_Syntax.assert_p in let uu____636 = - op ed1.FStar_Syntax_Syntax.assume_p in + op ed1.FStar_Syntax_Syntax.assume_p in let uu____637 = - op ed1.FStar_Syntax_Syntax.null_wp in + op ed1.FStar_Syntax_Syntax.null_wp in let uu____638 = - op ed1.FStar_Syntax_Syntax.trivial in + op ed1.FStar_Syntax_Syntax.trivial in let uu____639 = let uu____640 = - op ([], (ed1.FStar_Syntax_Syntax.repr)) in - FStar_Pervasives_Native.snd uu____640 in + op ([], (ed1.FStar_Syntax_Syntax.repr)) + in + FStar_Pervasives_Native.snd uu____640 in let uu____651 = - op ed1.FStar_Syntax_Syntax.return_repr in + op ed1.FStar_Syntax_Syntax.return_repr in let uu____652 = - op ed1.FStar_Syntax_Syntax.bind_repr in + op ed1.FStar_Syntax_Syntax.bind_repr in let uu____653 = FStar_List.map - (fun a -> - let uu___113_661 = a in + (fun a -> + let uu___113_661 = a in let uu____662 = let uu____663 = op ((a.FStar_Syntax_Syntax.action_univs), - (a.FStar_Syntax_Syntax.action_defn)) in - FStar_Pervasives_Native.snd uu____663 in + (a.FStar_Syntax_Syntax.action_defn)) + in + FStar_Pervasives_Native.snd uu____663 + in let uu____674 = let uu____675 = op ((a.FStar_Syntax_Syntax.action_univs), - (a.FStar_Syntax_Syntax.action_typ)) in - FStar_Pervasives_Native.snd uu____675 in + (a.FStar_Syntax_Syntax.action_typ)) + in + FStar_Pervasives_Native.snd uu____675 + in { FStar_Syntax_Syntax.action_name = (uu___113_661.FStar_Syntax_Syntax.action_name); @@ -470,7 +495,8 @@ let (tc_eff_decl : uu____662; FStar_Syntax_Syntax.action_typ = uu____674 - }) ed1.FStar_Syntax_Syntax.actions in + }) ed1.FStar_Syntax_Syntax.actions + in { FStar_Syntax_Syntax.cattributes = (uu___110_628.FStar_Syntax_Syntax.cattributes); @@ -498,41 +524,47 @@ let (tc_eff_decl : FStar_Syntax_Syntax.actions = uu____653; FStar_Syntax_Syntax.eff_attrs = (uu___110_628.FStar_Syntax_Syntax.eff_attrs) - } in + } + in let wp_with_fresh_result_type env2 mname signature1 = let fail1 t = let uu____720 = FStar_TypeChecker_Err.unexpected_signature_for_monad - env2 mname t in - let uu____726 = FStar_Ident.range_of_lid mname in - FStar_Errors.raise_error uu____720 uu____726 in + env2 mname t + in + let uu____726 = FStar_Ident.range_of_lid mname + in + FStar_Errors.raise_error uu____720 uu____726 in let uu____733 = let uu____734 = - FStar_Syntax_Subst.compress signature1 in - uu____734.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress signature1 in + uu____734.FStar_Syntax_Syntax.n in match uu____733 with - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let bs1 = FStar_Syntax_Subst.open_binders bs in + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let bs1 = FStar_Syntax_Subst.open_binders bs + in (match bs1 with - | (a, uu____773)::(wp, uu____775)::[] -> + | (a,uu____773)::(wp,uu____775)::[] -> (a, (wp.FStar_Syntax_Syntax.sort)) | uu____804 -> fail1 signature1) - | uu____805 -> fail1 signature1 in + | uu____805 -> fail1 signature1 in let uu____806 = wp_with_fresh_result_type env1 ed2.FStar_Syntax_Syntax.mname - ed2.FStar_Syntax_Syntax.signature in + ed2.FStar_Syntax_Syntax.signature + in (match uu____806 with - | (a, wp_a) -> + | (a,wp_a) -> let fresh_effect_signature uu____830 = match annotated_univ_names with | [] -> let uu____837 = FStar_TypeChecker_TcTerm.tc_trivial_guard - env1 signature_un in + env1 signature_un + in (match uu____837 with - | (signature1, uu____849) -> + | (signature1,uu____849) -> wp_with_fresh_result_type env1 ed2.FStar_Syntax_Syntax.mname signature1) @@ -541,44 +573,55 @@ let (tc_eff_decl : let uu____858 = let uu____859 = FStar_Syntax_Subst.close_univ_vars - annotated_univ_names signature in - (annotated_univ_names, uu____859) in + annotated_univ_names signature + in + (annotated_univ_names, uu____859) in FStar_TypeChecker_Env.inst_tscheme - uu____858 in + uu____858 + in (match uu____853 with - | (uu____872, signature1) -> + | (uu____872,signature1) -> wp_with_fresh_result_type env1 ed2.FStar_Syntax_Syntax.mname - signature1) in + signature1) + in let env2 = let uu____875 = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - ed2.FStar_Syntax_Syntax.signature in - FStar_TypeChecker_Env.push_bv env1 uu____875 in + ed2.FStar_Syntax_Syntax.signature + in + FStar_TypeChecker_Env.push_bv env1 uu____875 + in ((let uu____877 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env0) - (FStar_Options.Other "ED") in + (FStar_Options.Other "ED") + in if uu____877 then let uu____882 = FStar_Syntax_Print.lid_to_string - ed2.FStar_Syntax_Syntax.mname in + ed2.FStar_Syntax_Syntax.mname + in let uu____884 = FStar_Syntax_Print.binders_to_string " " - ed2.FStar_Syntax_Syntax.binders in + ed2.FStar_Syntax_Syntax.binders + in let uu____887 = FStar_Syntax_Print.term_to_string - ed2.FStar_Syntax_Syntax.signature in + ed2.FStar_Syntax_Syntax.signature + in let uu____889 = let uu____891 = - FStar_Syntax_Syntax.bv_to_name a in + FStar_Syntax_Syntax.bv_to_name a in FStar_Syntax_Print.term_to_string - uu____891 in + uu____891 + in let uu____892 = FStar_Syntax_Print.term_to_string - a.FStar_Syntax_Syntax.sort in + a.FStar_Syntax_Syntax.sort + in FStar_Util.print5 "Checking effect signature: %s %s : %s\n(a is %s:%s)\n" uu____882 uu____884 uu____887 uu____889 @@ -586,328 +629,394 @@ let (tc_eff_decl : else ()); (let check_and_gen' env3 uu____927 k = match uu____927 with - | (us, t) -> + | (us,t) -> (match annotated_univ_names with | [] -> check_and_gen env3 t k | uu____963::uu____964 -> let uu____967 = FStar_Syntax_Subst.subst_tscheme - open_annotated_univs (us, t) in + open_annotated_univs (us, t) + in (match uu____967 with - | (us1, t1) -> + | (us1,t1) -> let uu____990 = FStar_Syntax_Subst.open_univ_vars - us1 t1 in + us1 t1 + in (match uu____990 with - | (us2, t2) -> + | (us2,t2) -> let uu____1005 = let uu____1006 = FStar_TypeChecker_Env.push_univ_vars - env3 us2 in + env3 us2 + in tc_check_trivial_guard - uu____1006 t2 k in + uu____1006 t2 k + in let uu____1007 = FStar_Syntax_Subst.close_univ_vars - us2 t2 in - (us2, uu____1007)))) in + us2 t2 + in + (us2, uu____1007)))) + in let return_wp = let expected_k = let uu____1026 = let uu____1035 = - FStar_Syntax_Syntax.mk_binder a in + FStar_Syntax_Syntax.mk_binder a in let uu____1042 = let uu____1051 = let uu____1058 = - FStar_Syntax_Syntax.bv_to_name a in + FStar_Syntax_Syntax.bv_to_name a + in FStar_Syntax_Syntax.null_binder - uu____1058 in - [uu____1051] in - uu____1035 :: uu____1042 in + uu____1058 + in + [uu____1051] in + uu____1035 :: uu____1042 in let uu____1077 = - FStar_Syntax_Syntax.mk_GTotal wp_a in + FStar_Syntax_Syntax.mk_GTotal wp_a in FStar_Syntax_Util.arrow uu____1026 - uu____1077 in + uu____1077 + in check_and_gen' env2 - ed2.FStar_Syntax_Syntax.ret_wp expected_k in + ed2.FStar_Syntax_Syntax.ret_wp expected_k + in let bind_wp = - let uu____1081 = fresh_effect_signature () in + let uu____1081 = fresh_effect_signature () + in match uu____1081 with - | (b, wp_b) -> + | (b,wp_b) -> let a_wp_b = let uu____1097 = let uu____1106 = let uu____1113 = FStar_Syntax_Syntax.bv_to_name - a in + a + in FStar_Syntax_Syntax.null_binder - uu____1113 in - [uu____1106] in + uu____1113 + in + [uu____1106] in let uu____1126 = - FStar_Syntax_Syntax.mk_Total wp_b in + FStar_Syntax_Syntax.mk_Total wp_b + in FStar_Syntax_Util.arrow uu____1097 - uu____1126 in + uu____1126 + in let expected_k = let uu____1132 = let uu____1141 = FStar_Syntax_Syntax.null_binder - FStar_Syntax_Syntax.t_range in + FStar_Syntax_Syntax.t_range + in let uu____1148 = let uu____1157 = - FStar_Syntax_Syntax.mk_binder a in + FStar_Syntax_Syntax.mk_binder a + in let uu____1164 = let uu____1173 = FStar_Syntax_Syntax.mk_binder - b in + b + in let uu____1180 = let uu____1189 = FStar_Syntax_Syntax.null_binder - wp_a in + wp_a + in let uu____1196 = let uu____1205 = FStar_Syntax_Syntax.null_binder - a_wp_b in - [uu____1205] in - uu____1189 :: uu____1196 in - uu____1173 :: uu____1180 in - uu____1157 :: uu____1164 in - uu____1141 :: uu____1148 in + a_wp_b + in + [uu____1205] in + uu____1189 :: uu____1196 in + uu____1173 :: uu____1180 in + uu____1157 :: uu____1164 in + uu____1141 :: uu____1148 in let uu____1248 = - FStar_Syntax_Syntax.mk_Total wp_b in + FStar_Syntax_Syntax.mk_Total wp_b + in FStar_Syntax_Util.arrow uu____1132 - uu____1248 in + uu____1248 + in check_and_gen' env2 ed2.FStar_Syntax_Syntax.bind_wp - expected_k in + expected_k + in let if_then_else1 = let p = let uu____1261 = let uu____1264 = FStar_Ident.range_of_lid - ed2.FStar_Syntax_Syntax.mname in - FStar_Pervasives_Native.Some uu____1264 in + ed2.FStar_Syntax_Syntax.mname + in + FStar_Pervasives_Native.Some uu____1264 + in let uu____1265 = let uu____1266 = - FStar_Syntax_Util.type_u () in + FStar_Syntax_Util.type_u () in FStar_All.pipe_right uu____1266 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in FStar_Syntax_Syntax.new_bv uu____1261 - uu____1265 in + uu____1265 + in let expected_k = let uu____1278 = let uu____1287 = - FStar_Syntax_Syntax.mk_binder a in + FStar_Syntax_Syntax.mk_binder a in let uu____1294 = let uu____1303 = - FStar_Syntax_Syntax.mk_binder p in + FStar_Syntax_Syntax.mk_binder p in let uu____1310 = let uu____1319 = FStar_Syntax_Syntax.null_binder - wp_a in + wp_a + in let uu____1326 = let uu____1335 = FStar_Syntax_Syntax.null_binder - wp_a in - [uu____1335] in - uu____1319 :: uu____1326 in - uu____1303 :: uu____1310 in - uu____1287 :: uu____1294 in + wp_a + in + [uu____1335] in + uu____1319 :: uu____1326 in + uu____1303 :: uu____1310 in + uu____1287 :: uu____1294 in let uu____1372 = - FStar_Syntax_Syntax.mk_Total wp_a in + FStar_Syntax_Syntax.mk_Total wp_a in FStar_Syntax_Util.arrow uu____1278 - uu____1372 in + uu____1372 + in check_and_gen' env2 ed2.FStar_Syntax_Syntax.if_then_else - expected_k in + expected_k + in let ite_wp = let expected_k = let uu____1387 = let uu____1396 = - FStar_Syntax_Syntax.mk_binder a in + FStar_Syntax_Syntax.mk_binder a in let uu____1403 = let uu____1412 = FStar_Syntax_Syntax.null_binder - wp_a in - [uu____1412] in - uu____1396 :: uu____1403 in + wp_a + in + [uu____1412] in + uu____1396 :: uu____1403 in let uu____1437 = - FStar_Syntax_Syntax.mk_Total wp_a in + FStar_Syntax_Syntax.mk_Total wp_a in FStar_Syntax_Util.arrow uu____1387 - uu____1437 in + uu____1437 + in check_and_gen' env2 - ed2.FStar_Syntax_Syntax.ite_wp expected_k in + ed2.FStar_Syntax_Syntax.ite_wp expected_k + in let stronger = let uu____1441 = - FStar_Syntax_Util.type_u () in + FStar_Syntax_Util.type_u () in match uu____1441 with - | (t, uu____1447) -> + | (t,uu____1447) -> let expected_k = let uu____1451 = let uu____1460 = - FStar_Syntax_Syntax.mk_binder a in + FStar_Syntax_Syntax.mk_binder a + in let uu____1467 = let uu____1476 = FStar_Syntax_Syntax.null_binder - wp_a in + wp_a + in let uu____1483 = let uu____1492 = FStar_Syntax_Syntax.null_binder - wp_a in - [uu____1492] in - uu____1476 :: uu____1483 in - uu____1460 :: uu____1467 in + wp_a + in + [uu____1492] in + uu____1476 :: uu____1483 in + uu____1460 :: uu____1467 in let uu____1523 = - FStar_Syntax_Syntax.mk_Total t in + FStar_Syntax_Syntax.mk_Total t in FStar_Syntax_Util.arrow uu____1451 - uu____1523 in + uu____1523 + in check_and_gen' env2 ed2.FStar_Syntax_Syntax.stronger - expected_k in + expected_k + in let close_wp = let b = let uu____1536 = let uu____1539 = FStar_Ident.range_of_lid - ed2.FStar_Syntax_Syntax.mname in - FStar_Pervasives_Native.Some uu____1539 in + ed2.FStar_Syntax_Syntax.mname + in + FStar_Pervasives_Native.Some uu____1539 + in let uu____1540 = let uu____1541 = - FStar_Syntax_Util.type_u () in + FStar_Syntax_Util.type_u () in FStar_All.pipe_right uu____1541 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in FStar_Syntax_Syntax.new_bv uu____1536 - uu____1540 in + uu____1540 + in let b_wp_a = let uu____1553 = let uu____1562 = let uu____1569 = - FStar_Syntax_Syntax.bv_to_name b in + FStar_Syntax_Syntax.bv_to_name b + in FStar_Syntax_Syntax.null_binder - uu____1569 in - [uu____1562] in + uu____1569 + in + [uu____1562] in let uu____1582 = - FStar_Syntax_Syntax.mk_Total wp_a in + FStar_Syntax_Syntax.mk_Total wp_a in FStar_Syntax_Util.arrow uu____1553 - uu____1582 in + uu____1582 + in let expected_k = let uu____1588 = let uu____1597 = - FStar_Syntax_Syntax.mk_binder a in + FStar_Syntax_Syntax.mk_binder a in let uu____1604 = let uu____1613 = - FStar_Syntax_Syntax.mk_binder b in + FStar_Syntax_Syntax.mk_binder b in let uu____1620 = let uu____1629 = FStar_Syntax_Syntax.null_binder - b_wp_a in - [uu____1629] in - uu____1613 :: uu____1620 in - uu____1597 :: uu____1604 in + b_wp_a + in + [uu____1629] in + uu____1613 :: uu____1620 in + uu____1597 :: uu____1604 in let uu____1660 = - FStar_Syntax_Syntax.mk_Total wp_a in + FStar_Syntax_Syntax.mk_Total wp_a in FStar_Syntax_Util.arrow uu____1588 - uu____1660 in + uu____1660 + in check_and_gen' env2 ed2.FStar_Syntax_Syntax.close_wp - expected_k in + expected_k + in let assert_p = let expected_k = let uu____1675 = let uu____1684 = - FStar_Syntax_Syntax.mk_binder a in + FStar_Syntax_Syntax.mk_binder a in let uu____1691 = let uu____1700 = let uu____1707 = let uu____1708 = - FStar_Syntax_Util.type_u () in + FStar_Syntax_Util.type_u () in FStar_All.pipe_right uu____1708 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in FStar_Syntax_Syntax.null_binder - uu____1707 in + uu____1707 + in let uu____1717 = let uu____1726 = FStar_Syntax_Syntax.null_binder - wp_a in - [uu____1726] in - uu____1700 :: uu____1717 in - uu____1684 :: uu____1691 in + wp_a + in + [uu____1726] in + uu____1700 :: uu____1717 in + uu____1684 :: uu____1691 in let uu____1757 = - FStar_Syntax_Syntax.mk_Total wp_a in + FStar_Syntax_Syntax.mk_Total wp_a in FStar_Syntax_Util.arrow uu____1675 - uu____1757 in + uu____1757 + in check_and_gen' env2 ed2.FStar_Syntax_Syntax.assert_p - expected_k in + expected_k + in let assume_p = let expected_k = let uu____1772 = let uu____1781 = - FStar_Syntax_Syntax.mk_binder a in + FStar_Syntax_Syntax.mk_binder a in let uu____1788 = let uu____1797 = let uu____1804 = let uu____1805 = - FStar_Syntax_Util.type_u () in + FStar_Syntax_Util.type_u () in FStar_All.pipe_right uu____1805 - FStar_Pervasives_Native.fst in + FStar_Pervasives_Native.fst + in FStar_Syntax_Syntax.null_binder - uu____1804 in + uu____1804 + in let uu____1814 = let uu____1823 = FStar_Syntax_Syntax.null_binder - wp_a in - [uu____1823] in - uu____1797 :: uu____1814 in - uu____1781 :: uu____1788 in + wp_a + in + [uu____1823] in + uu____1797 :: uu____1814 in + uu____1781 :: uu____1788 in let uu____1854 = - FStar_Syntax_Syntax.mk_Total wp_a in + FStar_Syntax_Syntax.mk_Total wp_a in FStar_Syntax_Util.arrow uu____1772 - uu____1854 in + uu____1854 + in check_and_gen' env2 ed2.FStar_Syntax_Syntax.assume_p - expected_k in + expected_k + in let null_wp = let expected_k = let uu____1869 = let uu____1878 = - FStar_Syntax_Syntax.mk_binder a in - [uu____1878] in + FStar_Syntax_Syntax.mk_binder a in + [uu____1878] in let uu____1897 = - FStar_Syntax_Syntax.mk_Total wp_a in + FStar_Syntax_Syntax.mk_Total wp_a in FStar_Syntax_Util.arrow uu____1869 - uu____1897 in + uu____1897 + in check_and_gen' env2 ed2.FStar_Syntax_Syntax.null_wp - expected_k in + expected_k + in let trivial_wp = let uu____1901 = - FStar_Syntax_Util.type_u () in + FStar_Syntax_Util.type_u () in match uu____1901 with - | (t, uu____1907) -> + | (t,uu____1907) -> let expected_k = let uu____1911 = let uu____1920 = - FStar_Syntax_Syntax.mk_binder a in + FStar_Syntax_Syntax.mk_binder a + in let uu____1927 = let uu____1936 = FStar_Syntax_Syntax.null_binder - wp_a in - [uu____1936] in - uu____1920 :: uu____1927 in + wp_a + in + [uu____1936] in + uu____1920 :: uu____1927 in let uu____1961 = - FStar_Syntax_Syntax.mk_GTotal t in + FStar_Syntax_Syntax.mk_GTotal t in FStar_Syntax_Util.arrow uu____1911 - uu____1961 in + uu____1961 + in check_and_gen' env2 ed2.FStar_Syntax_Syntax.trivial - expected_k in + expected_k + in let uu____1964 = let uu____1977 = let uu____1978 = FStar_Syntax_Subst.compress - ed2.FStar_Syntax_Syntax.repr in - uu____1978.FStar_Syntax_Syntax.n in + ed2.FStar_Syntax_Syntax.repr + in + uu____1978.FStar_Syntax_Syntax.n in match uu____1977 with - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> ((ed2.FStar_Syntax_Syntax.repr), (ed2.FStar_Syntax_Syntax.bind_repr), (ed2.FStar_Syntax_Syntax.return_repr), @@ -915,230 +1024,282 @@ let (tc_eff_decl : | uu____1997 -> let repr = let uu____1999 = - FStar_Syntax_Util.type_u () in + FStar_Syntax_Util.type_u () in match uu____1999 with - | (t, uu____2005) -> + | (t,uu____2005) -> let expected_k = let uu____2009 = let uu____2018 = FStar_Syntax_Syntax.mk_binder - a in + a + in let uu____2025 = let uu____2034 = FStar_Syntax_Syntax.null_binder - wp_a in - [uu____2034] in - uu____2018 :: uu____2025 in + wp_a + in + [uu____2034] in + uu____2018 :: uu____2025 in let uu____2059 = FStar_Syntax_Syntax.mk_GTotal - t in + t + in FStar_Syntax_Util.arrow - uu____2009 uu____2059 in + uu____2009 uu____2059 + in tc_check_trivial_guard env2 ed2.FStar_Syntax_Syntax.repr - expected_k in + expected_k + in let mk_repr' t wp = let repr1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.EraseUniverses; FStar_TypeChecker_Env.AllowUnboundUniverses] - env2 repr in + env2 repr + in let uu____2076 = let uu____2083 = let uu____2084 = let uu____2101 = let uu____2112 = FStar_Syntax_Syntax.as_arg - t in + t + in let uu____2121 = let uu____2132 = FStar_Syntax_Syntax.as_arg - wp in - [uu____2132] in - uu____2112 :: uu____2121 in - (repr1, uu____2101) in + wp + in + [uu____2132] in + uu____2112 :: uu____2121 in + (repr1, uu____2101) in FStar_Syntax_Syntax.Tm_app - uu____2084 in - FStar_Syntax_Syntax.mk uu____2083 in + uu____2084 + in + FStar_Syntax_Syntax.mk uu____2083 + in uu____2076 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Range.dummyRange + in let mk_repr a1 wp = let uu____2190 = - FStar_Syntax_Syntax.bv_to_name a1 in - mk_repr' uu____2190 wp in + FStar_Syntax_Syntax.bv_to_name a1 + in + mk_repr' uu____2190 wp in let destruct_repr t = let uu____2205 = let uu____2206 = - FStar_Syntax_Subst.compress t in - uu____2206.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress t in + uu____2206.FStar_Syntax_Syntax.n + in match uu____2205 with | FStar_Syntax_Syntax.Tm_app - (uu____2217, - (t1, uu____2219)::(wp, - uu____2221)::[]) + (uu____2217,(t1,uu____2219):: + (wp,uu____2221)::[]) -> (t1, wp) | uu____2280 -> - failwith "Unexpected repr type" in + failwith "Unexpected repr type" + in let bind_repr = let r = let uu____2292 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.range_0 FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_All.pipe_right uu____2292 - FStar_Syntax_Syntax.fv_to_tm in + FStar_Syntax_Syntax.fv_to_tm + in let uu____2293 = - fresh_effect_signature () in + fresh_effect_signature () in match uu____2293 with - | (b, wp_b) -> + | (b,wp_b) -> let a_wp_b = let uu____2309 = let uu____2318 = let uu____2325 = FStar_Syntax_Syntax.bv_to_name - a in + a + in FStar_Syntax_Syntax.null_binder - uu____2325 in - [uu____2318] in + uu____2325 + in + [uu____2318] in let uu____2338 = FStar_Syntax_Syntax.mk_Total - wp_b in + wp_b + in FStar_Syntax_Util.arrow - uu____2309 uu____2338 in + uu____2309 uu____2338 + in let wp_f = FStar_Syntax_Syntax.gen_bv "wp_f" FStar_Pervasives_Native.None - wp_a in + wp_a + in let wp_g = FStar_Syntax_Syntax.gen_bv "wp_g" FStar_Pervasives_Native.None - a_wp_b in + a_wp_b + in let x_a = let uu____2346 = FStar_Syntax_Syntax.bv_to_name - a in + a + in FStar_Syntax_Syntax.gen_bv "x_a" FStar_Pervasives_Native.None - uu____2346 in + uu____2346 + in let wp_g_x = let uu____2351 = let uu____2356 = FStar_Syntax_Syntax.bv_to_name - wp_g in + wp_g + in let uu____2357 = let uu____2358 = let uu____2367 = FStar_Syntax_Syntax.bv_to_name - x_a in + x_a + in FStar_All.pipe_left FStar_Syntax_Syntax.as_arg - uu____2367 in - [uu____2358] in + uu____2367 + in + [uu____2358] in FStar_Syntax_Syntax.mk_Tm_app - uu____2356 uu____2357 in + uu____2356 uu____2357 + in uu____2351 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Range.dummyRange + in let res = let wp = let uu____2398 = let uu____2403 = let uu____2404 = FStar_TypeChecker_Env.inst_tscheme - bind_wp in + bind_wp + in FStar_All.pipe_right uu____2404 - FStar_Pervasives_Native.snd in + FStar_Pervasives_Native.snd + in let uu____2413 = let uu____2414 = let uu____2417 = let uu____2420 = FStar_Syntax_Syntax.bv_to_name - a in + a + in let uu____2421 = let uu____2424 = FStar_Syntax_Syntax.bv_to_name - b in + b + in let uu____2425 = let uu____2428 = FStar_Syntax_Syntax.bv_to_name - wp_f in + wp_f + in let uu____2429 = let uu____2432 = FStar_Syntax_Syntax.bv_to_name - wp_g in - [uu____2432] in + wp_g + in + [uu____2432] + in uu____2428 :: - uu____2429 in + uu____2429 + in uu____2424 :: - uu____2425 in + uu____2425 + in uu____2420 :: - uu____2421 in - r :: uu____2417 in + uu____2421 + in + r :: uu____2417 in FStar_List.map FStar_Syntax_Syntax.as_arg - uu____2414 in + uu____2414 + in FStar_Syntax_Syntax.mk_Tm_app - uu____2403 uu____2413 in + uu____2403 uu____2413 + in uu____2398 FStar_Pervasives_Native.None - FStar_Range.dummyRange in - mk_repr b wp in + FStar_Range.dummyRange + in + mk_repr b wp in let maybe_range_arg = let uu____2450 = FStar_Util.for_some (FStar_Syntax_Util.attr_eq FStar_Syntax_Util.dm4f_bind_range_attr) - ed2.FStar_Syntax_Syntax.eff_attrs in + ed2.FStar_Syntax_Syntax.eff_attrs + in if uu____2450 then let uu____2461 = FStar_Syntax_Syntax.null_binder - FStar_Syntax_Syntax.t_range in + FStar_Syntax_Syntax.t_range + in let uu____2468 = let uu____2477 = FStar_Syntax_Syntax.null_binder - FStar_Syntax_Syntax.t_range in - [uu____2477] in + FStar_Syntax_Syntax.t_range + in + [uu____2477] in uu____2461 :: uu____2468 - else [] in + else [] in let expected_k = let uu____2513 = let uu____2522 = let uu____2531 = FStar_Syntax_Syntax.mk_binder - a in + a + in let uu____2538 = let uu____2547 = FStar_Syntax_Syntax.mk_binder - b in - [uu____2547] in - uu____2531 :: uu____2538 in + b + in + [uu____2547] in + uu____2531 :: uu____2538 + in let uu____2572 = let uu____2581 = let uu____2590 = FStar_Syntax_Syntax.mk_binder - wp_f in + wp_f + in let uu____2597 = let uu____2606 = let uu____2613 = let uu____2614 = FStar_Syntax_Syntax.bv_to_name - wp_f in + wp_f + in mk_repr a - uu____2614 in + uu____2614 + in FStar_Syntax_Syntax.null_binder - uu____2613 in + uu____2613 + in let uu____2615 = let uu____2624 = FStar_Syntax_Syntax.mk_binder - wp_g in + wp_g + in let uu____2631 = let uu____2640 = let uu____2647 = @@ -1147,51 +1308,67 @@ let (tc_eff_decl : let uu____2657 = FStar_Syntax_Syntax.mk_binder - x_a in - [uu____2657] in + x_a + in + [uu____2657] + in let uu____2676 = let uu____2679 = mk_repr b - wp_g_x in + wp_g_x + in FStar_All.pipe_left FStar_Syntax_Syntax.mk_Total - uu____2679 in + uu____2679 + in FStar_Syntax_Util.arrow uu____2648 - uu____2676 in + uu____2676 + in FStar_Syntax_Syntax.null_binder - uu____2647 in - [uu____2640] in + uu____2647 + in + [uu____2640] in uu____2624 :: - uu____2631 in + uu____2631 + in uu____2606 :: - uu____2615 in - uu____2590 :: uu____2597 in + uu____2615 + in + uu____2590 :: uu____2597 + in FStar_List.append maybe_range_arg - uu____2581 in + uu____2581 + in FStar_List.append uu____2522 - uu____2572 in + uu____2572 + in let uu____2724 = FStar_Syntax_Syntax.mk_Total - res in + res + in FStar_Syntax_Util.arrow - uu____2513 uu____2724 in + uu____2513 uu____2724 + in let uu____2727 = FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term - env2 expected_k in + env2 expected_k + in (match uu____2727 with - | (expected_k1, uu____2735, - uu____2736) -> + | (expected_k1,uu____2735,uu____2736) + -> let env3 = FStar_TypeChecker_Env.set_range env2 (FStar_Pervasives_Native.snd - ed2.FStar_Syntax_Syntax.bind_repr).FStar_Syntax_Syntax.pos in + ed2.FStar_Syntax_Syntax.bind_repr).FStar_Syntax_Syntax.pos + in let env4 = - let uu___248_2743 = env3 in + let uu___248_2743 = env3 + in { FStar_TypeChecker_Env.solver = @@ -1321,87 +1498,107 @@ let (tc_eff_decl : FStar_TypeChecker_Env.nbe = (uu___248_2743.FStar_TypeChecker_Env.nbe) - } in + } in let br = check_and_gen' env4 ed2.FStar_Syntax_Syntax.bind_repr - expected_k1 in - br) in + expected_k1 + in + br) + in let return_repr = let x_a = let uu____2756 = - FStar_Syntax_Syntax.bv_to_name a in + FStar_Syntax_Syntax.bv_to_name a + in FStar_Syntax_Syntax.gen_bv "x_a" FStar_Pervasives_Native.None - uu____2756 in + uu____2756 + in let res = let wp = let uu____2764 = let uu____2769 = let uu____2770 = FStar_TypeChecker_Env.inst_tscheme - return_wp in + return_wp + in FStar_All.pipe_right uu____2770 - FStar_Pervasives_Native.snd in + FStar_Pervasives_Native.snd + in let uu____2779 = let uu____2780 = let uu____2783 = FStar_Syntax_Syntax.bv_to_name - a in + a + in let uu____2784 = let uu____2787 = FStar_Syntax_Syntax.bv_to_name - x_a in - [uu____2787] in - uu____2783 :: uu____2784 in + x_a + in + [uu____2787] in + uu____2783 :: uu____2784 + in FStar_List.map FStar_Syntax_Syntax.as_arg - uu____2780 in + uu____2780 + in FStar_Syntax_Syntax.mk_Tm_app - uu____2769 uu____2779 in + uu____2769 uu____2779 + in uu____2764 FStar_Pervasives_Native.None - FStar_Range.dummyRange in - mk_repr a wp in + FStar_Range.dummyRange + in + mk_repr a wp in let expected_k = let uu____2799 = let uu____2808 = - FStar_Syntax_Syntax.mk_binder a in + FStar_Syntax_Syntax.mk_binder a + in let uu____2815 = let uu____2824 = FStar_Syntax_Syntax.mk_binder - x_a in - [uu____2824] in - uu____2808 :: uu____2815 in + x_a + in + [uu____2824] in + uu____2808 :: uu____2815 in let uu____2849 = - FStar_Syntax_Syntax.mk_Total res in + FStar_Syntax_Syntax.mk_Total res + in FStar_Syntax_Util.arrow uu____2799 - uu____2849 in + uu____2849 + in let uu____2852 = FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term - env2 expected_k in + env2 expected_k + in match uu____2852 with - | (expected_k1, uu____2860, - uu____2861) -> + | (expected_k1,uu____2860,uu____2861) + -> let env3 = FStar_TypeChecker_Env.set_range env2 (FStar_Pervasives_Native.snd - ed2.FStar_Syntax_Syntax.return_repr).FStar_Syntax_Syntax.pos in + ed2.FStar_Syntax_Syntax.return_repr).FStar_Syntax_Syntax.pos + in let uu____2867 = check_and_gen' env3 ed2.FStar_Syntax_Syntax.return_repr - expected_k1 in + expected_k1 + in (match uu____2867 with - | (univs1, repr1) -> + | (univs1,repr1) -> (match univs1 with | [] -> ([], repr1) | uu____2890 -> FStar_Errors.raise_error (FStar_Errors.Fatal_UnexpectedUniversePolymorphicReturn, "Unexpected universe-polymorphic return for effect") - repr1.FStar_Syntax_Syntax.pos)) in + repr1.FStar_Syntax_Syntax.pos)) + in let actions = let check_action act = let uu____2905 = @@ -1412,26 +1609,32 @@ let (tc_eff_decl : else (let uu____2919 = FStar_Syntax_Subst.univ_var_opening - act.FStar_Syntax_Syntax.action_univs in + act.FStar_Syntax_Syntax.action_univs + in match uu____2919 with - | (usubst, uvs) -> + | (usubst,uvs) -> let uu____2942 = FStar_TypeChecker_Env.push_univ_vars - env2 uvs in + env2 uvs + in let uu____2943 = - let uu___277_2944 = act in + let uu___277_2944 = act + in let uu____2945 = FStar_Syntax_Subst.subst_binders usubst - act.FStar_Syntax_Syntax.action_params in + act.FStar_Syntax_Syntax.action_params + in let uu____2946 = FStar_Syntax_Subst.subst usubst - act.FStar_Syntax_Syntax.action_defn in + act.FStar_Syntax_Syntax.action_defn + in let uu____2947 = FStar_Syntax_Subst.subst usubst - act.FStar_Syntax_Syntax.action_typ in + act.FStar_Syntax_Syntax.action_typ + in { FStar_Syntax_Syntax.action_name = @@ -1447,26 +1650,31 @@ let (tc_eff_decl : = uu____2946; FStar_Syntax_Syntax.action_typ = uu____2947 - } in - (uu____2942, uu____2943)) in + } in + (uu____2942, uu____2943)) + in match uu____2905 with - | (env3, act1) -> + | (env3,act1) -> let act_typ = let uu____2951 = let uu____2952 = FStar_Syntax_Subst.compress - act1.FStar_Syntax_Syntax.action_typ in - uu____2952.FStar_Syntax_Syntax.n in + act1.FStar_Syntax_Syntax.action_typ + in + uu____2952.FStar_Syntax_Syntax.n + in match uu____2951 with | FStar_Syntax_Syntax.Tm_arrow - (bs, c) -> + (bs,c) -> let c1 = FStar_Syntax_Util.comp_to_comp_typ - c in + c + in let uu____2978 = FStar_Ident.lid_equals c1.FStar_Syntax_Syntax.effect_name - ed2.FStar_Syntax_Syntax.mname in + ed2.FStar_Syntax_Syntax.mname + in if uu____2978 then let uu____2981 = @@ -1474,30 +1682,36 @@ let (tc_eff_decl : let uu____2985 = let uu____2986 = FStar_List.hd - c1.FStar_Syntax_Syntax.effect_args in + c1.FStar_Syntax_Syntax.effect_args + in FStar_Pervasives_Native.fst - uu____2986 in + uu____2986 + in mk_repr' c1.FStar_Syntax_Syntax.result_typ - uu____2985 in + uu____2985 + in FStar_Syntax_Syntax.mk_Total - uu____2984 in + uu____2984 + in FStar_Syntax_Util.arrow bs uu____2981 else act1.FStar_Syntax_Syntax.action_typ | uu____3009 -> - act1.FStar_Syntax_Syntax.action_typ in + act1.FStar_Syntax_Syntax.action_typ + in let uu____3010 = FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term - env3 act_typ in + env3 act_typ + in (match uu____3010 with - | (act_typ1, uu____3018, g_t) - -> + | (act_typ1,uu____3018,g_t) -> let env' = let uu___294_3021 = FStar_TypeChecker_Env.set_expected_typ - env3 act_typ1 in + env3 act_typ1 + in { FStar_TypeChecker_Env.solver = @@ -1627,23 +1841,27 @@ let (tc_eff_decl : FStar_TypeChecker_Env.nbe = (uu___294_3021.FStar_TypeChecker_Env.nbe) - } in + } in ((let uu____3024 = FStar_TypeChecker_Env.debug env3 (FStar_Options.Other - "ED") in + "ED") + in if uu____3024 then let uu____3028 = FStar_Ident.text_of_lid - act1.FStar_Syntax_Syntax.action_name in + act1.FStar_Syntax_Syntax.action_name + in let uu____3030 = FStar_Syntax_Print.term_to_string - act1.FStar_Syntax_Syntax.action_defn in + act1.FStar_Syntax_Syntax.action_defn + in let uu____3032 = FStar_Syntax_Print.term_to_string - act_typ1 in + act_typ1 + in FStar_Util.print3 "Checking action %s:\n[definition]: %s\n[cps'd type]: %s\n" uu____3028 @@ -1653,61 +1871,67 @@ let (tc_eff_decl : (let uu____3037 = FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term env' - act1.FStar_Syntax_Syntax.action_defn in + act1.FStar_Syntax_Syntax.action_defn + in match uu____3037 with - | (act_defn, uu____3045, - g_a) -> + | (act_defn,uu____3045,g_a) + -> let act_defn1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant] - env3 act_defn in + env3 act_defn + in let act_typ2 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.Beta] - env3 act_typ1 in + env3 act_typ1 + in let uu____3049 = let act_typ3 = FStar_Syntax_Subst.compress - act_typ2 in + act_typ2 + in match act_typ3.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_arrow - (bs, c) -> + (bs,c) -> let uu____3085 = FStar_Syntax_Subst.open_comp - bs c in + bs c + in (match uu____3085 with - | (bs1, - uu____3097) + | (bs1,uu____3097) -> let res = mk_repr' FStar_Syntax_Syntax.tun - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let k = let uu____3104 = FStar_Syntax_Syntax.mk_Total - res in + res in FStar_Syntax_Util.arrow bs1 - uu____3104 in + uu____3104 + in let uu____3107 = FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term - env3 k in + env3 k + in (match uu____3107 with | - (k1, - uu____3121, - g) -> + (k1,uu____3121,g) + -> (k1, g))) | uu____3125 -> let uu____3126 @@ -1717,29 +1941,35 @@ let (tc_eff_decl : let uu____3134 = FStar_Syntax_Print.term_to_string - act_typ3 in + act_typ3 + in let uu____3136 = FStar_Syntax_Print.tag_of_term - act_typ3 in + act_typ3 + in FStar_Util.format2 "Actions must have function types (not: %s, a.k.a. %s)" uu____3134 - uu____3136 in + uu____3136 + in (FStar_Errors.Fatal_ActionMustHaveFunctionType, - uu____3132) in + uu____3132) + in FStar_Errors.raise_error uu____3126 - act_defn1.FStar_Syntax_Syntax.pos in + act_defn1.FStar_Syntax_Syntax.pos + in (match uu____3049 with - | (expected_k, g_k) + | (expected_k,g_k) -> let g = FStar_TypeChecker_Rel.teq env3 act_typ2 - expected_k in + expected_k + in ((let uu____3154 = let uu____3155 @@ -1747,13 +1977,15 @@ let (tc_eff_decl : let uu____3156 = FStar_TypeChecker_Env.conj_guard - g_t g in + g_t g in FStar_TypeChecker_Env.conj_guard g_k - uu____3156 in + uu____3156 + in FStar_TypeChecker_Env.conj_guard g_a - uu____3155 in + uu____3155 + in FStar_TypeChecker_Rel.force_trivial_guard env3 uu____3154); @@ -1764,31 +1996,32 @@ let (tc_eff_decl : let uu____3159 = FStar_Syntax_Subst.compress - expected_k in - uu____3159.FStar_Syntax_Syntax.n in + expected_k + in + uu____3159.FStar_Syntax_Syntax.n + in match uu____3158 with | FStar_Syntax_Syntax.Tm_arrow - (bs, c) - -> + (bs,c) -> let uu____3184 = FStar_Syntax_Subst.open_comp - bs c in + bs c in (match uu____3184 with | - (bs1, c1) + (bs1,c1) -> let uu____3191 = destruct_repr (FStar_Syntax_Util.comp_result - c1) in + c1) in (match uu____3191 with | - (a1, wp) + (a1,wp) -> let c2 = let uu____3211 @@ -1796,15 +2029,18 @@ let (tc_eff_decl : let uu____3212 = env3.FStar_TypeChecker_Env.universe_of - env3 a1 in - [uu____3212] in + env3 a1 + in + [uu____3212] + in let uu____3213 = let uu____3224 = FStar_Syntax_Syntax.as_arg - wp in - [uu____3224] in + wp in + [uu____3224] + in { FStar_Syntax_Syntax.comp_univs = @@ -1819,18 +2055,19 @@ let (tc_eff_decl : uu____3213; FStar_Syntax_Syntax.flags = [] - } in + } in let uu____3249 = FStar_Syntax_Syntax.mk_Comp - c2 in + c2 in FStar_Syntax_Util.arrow bs1 uu____3249)) | uu____3252 -> failwith - "Impossible (expected_k is an arrow)" in + "Impossible (expected_k is an arrow)" + in let uu____3254 = if @@ -1846,27 +2083,31 @@ let (tc_eff_decl : = FStar_Syntax_Subst.close_univ_vars act1.FStar_Syntax_Syntax.action_univs - act_defn1 in + act_defn1 + in ((act1.FStar_Syntax_Syntax.action_univs), - uu____3276)) in + uu____3276)) + in match uu____3254 with - | (univs1, - act_defn2) + | (univs1,act_defn2) -> let act_typ4 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta] env3 - act_typ3 in + act_typ3 + in let act_typ5 = FStar_Syntax_Subst.close_univ_vars univs1 - act_typ4 in + act_typ4 + in let uu___344_3295 - = act1 in + = act1 + in { FStar_Syntax_Syntax.action_name = @@ -1885,26 +2126,32 @@ let (tc_eff_decl : FStar_Syntax_Syntax.action_typ = act_typ5 - })))))) in + })))))) + in FStar_All.pipe_right ed2.FStar_Syntax_Syntax.actions - (FStar_List.map check_action) in - (repr, bind_repr, return_repr, actions) in + (FStar_List.map check_action) + in + (repr, bind_repr, return_repr, actions) + in match uu____1964 with - | (repr, bind_repr, return_repr, actions) -> + | (repr,bind_repr,return_repr,actions) -> let t0 = let uu____3319 = FStar_Syntax_Syntax.mk_Total - ed2.FStar_Syntax_Syntax.signature in + ed2.FStar_Syntax_Syntax.signature + in FStar_Syntax_Util.arrow ed2.FStar_Syntax_Syntax.binders - uu____3319 in + uu____3319 + in let uu____3322 = let uu____3327 = FStar_TypeChecker_Util.generalize_universes - env0 t0 in + env0 t0 + in match uu____3327 with - | (gen_univs, t) -> + | (gen_univs,t) -> (match annotated_univ_names with | [] -> (gen_univs, t) | uu____3346 -> @@ -1916,15 +2163,17 @@ let (tc_eff_decl : annotated_univ_names)) && (FStar_List.forall2 - (fun u1 -> - fun u2 -> + (fun u1 -> + fun u2 -> let uu____3356 = FStar_Syntax_Syntax.order_univ_name - u1 u2 in + u1 u2 + in uu____3356 = (Prims.parse_int "0")) gen_univs - annotated_univ_names) in + annotated_univ_names) + in if uu____3349 then (gen_univs, t) else @@ -1933,60 +2182,72 @@ let (tc_eff_decl : let uu____3375 = FStar_Util.string_of_int (FStar_List.length - annotated_univ_names) in + annotated_univ_names) + in let uu____3377 = FStar_Util.string_of_int (FStar_List.length - gen_univs) in + gen_univs) + in FStar_Util.format2 "Expected an effect definition with %s universes; but found %s" - uu____3375 uu____3377 in + uu____3375 uu____3377 + in (FStar_Errors.Fatal_UnexpectedNumberOfUniverse, - uu____3373) in + uu____3373) + in FStar_Errors.raise_error uu____3367 - (ed2.FStar_Syntax_Syntax.signature).FStar_Syntax_Syntax.pos)) in + (ed2.FStar_Syntax_Syntax.signature).FStar_Syntax_Syntax.pos)) + in (match uu____3322 with - | (univs1, t) -> + | (univs1,t) -> let signature1 = let uu____3388 = let uu____3401 = let uu____3402 = FStar_Syntax_Subst.compress - t in - uu____3402.FStar_Syntax_Syntax.n in - (effect_params, uu____3401) in + t + in + uu____3402.FStar_Syntax_Syntax.n + in + (effect_params, uu____3401) in match uu____3388 with - | ([], uu____3413) -> t - | (uu____3428, - FStar_Syntax_Syntax.Tm_arrow - (uu____3429, c)) -> + | ([],uu____3413) -> t + | (uu____3428,FStar_Syntax_Syntax.Tm_arrow + (uu____3429,c)) -> FStar_Syntax_Util.comp_result c | uu____3467 -> failwith - "Impossible : t is an arrow" in + "Impossible : t is an arrow" + in let close1 n1 ts = let ts1 = let uu____3495 = FStar_Syntax_Subst.close_tscheme - effect_params ts in + effect_params ts + in FStar_Syntax_Subst.close_univ_vars_tscheme - univs1 uu____3495 in + univs1 uu____3495 + in let m = FStar_List.length (FStar_Pervasives_Native.fst - ts1) in + ts1) + in (let uu____3502 = ((n1 >= (Prims.parse_int "0")) && (let uu____3506 = FStar_Syntax_Util.is_unknown (FStar_Pervasives_Native.snd - ts1) in + ts1) + in Prims.op_Negation uu____3506)) - && (m <> n1) in + && (m <> n1) + in if uu____3502 then let error = @@ -1994,42 +2255,50 @@ let (tc_eff_decl : then "not universe-polymorphic enough" else - "too universe-polymorphic" in + "too universe-polymorphic" + in let err_msg = let uu____3524 = - FStar_Util.string_of_int m in + FStar_Util.string_of_int m + in let uu____3526 = - FStar_Util.string_of_int n1 in + FStar_Util.string_of_int n1 + in let uu____3528 = FStar_Syntax_Print.tscheme_to_string - ts1 in + ts1 + in FStar_Util.format4 "The effect combinator is %s (m,n=%s,%s) (%s)" error uu____3524 uu____3526 - uu____3528 in + uu____3528 + in FStar_Errors.raise_error (FStar_Errors.Fatal_MismatchUniversePolymorphic, err_msg) (FStar_Pervasives_Native.snd ts1).FStar_Syntax_Syntax.pos else ()); - ts1 in + ts1 in let close_action act = let uu____3544 = close1 (~- (Prims.parse_int "1")) ((act.FStar_Syntax_Syntax.action_univs), - (act.FStar_Syntax_Syntax.action_defn)) in + (act.FStar_Syntax_Syntax.action_defn)) + in match uu____3544 with - | (univs2, defn) -> + | (univs2,defn) -> let uu____3560 = close1 (~- (Prims.parse_int "1")) ((act.FStar_Syntax_Syntax.action_univs), - (act.FStar_Syntax_Syntax.action_typ)) in + (act.FStar_Syntax_Syntax.action_typ)) + in (match uu____3560 with - | (univs', typ) -> - let uu___394_3577 = act in + | (univs',typ) -> + let uu___394_3577 = act + in { FStar_Syntax_Syntax.action_name = @@ -2046,54 +2315,70 @@ let (tc_eff_decl : = defn; FStar_Syntax_Syntax.action_typ = typ - }) in + }) + in let ed3 = - let uu___397_3580 = ed2 in + let uu___397_3580 = ed2 in let uu____3581 = close1 (Prims.parse_int "0") - return_wp in + return_wp + in let uu____3583 = close1 (Prims.parse_int "1") - bind_wp in + bind_wp + in let uu____3585 = close1 (Prims.parse_int "0") - if_then_else1 in + if_then_else1 + in let uu____3587 = close1 (Prims.parse_int "0") - ite_wp in + ite_wp + in let uu____3589 = close1 (Prims.parse_int "0") - stronger in + stronger + in let uu____3591 = close1 (Prims.parse_int "1") - close_wp in + close_wp + in let uu____3593 = close1 (Prims.parse_int "0") - assert_p in + assert_p + in let uu____3595 = close1 (Prims.parse_int "0") - assume_p in + assume_p + in let uu____3597 = close1 (Prims.parse_int "0") - null_wp in + null_wp + in let uu____3599 = close1 (Prims.parse_int "0") - trivial_wp in + trivial_wp + in let uu____3601 = let uu____3602 = close1 (Prims.parse_int "0") - ([], repr) in + ([], repr) + in FStar_Pervasives_Native.snd - uu____3602 in + uu____3602 + in let uu____3620 = close1 (Prims.parse_int "0") - return_repr in + return_repr + in let uu____3622 = close1 (Prims.parse_int "1") - bind_repr in + bind_repr + in let uu____3624 = FStar_List.map close_action - actions in + actions + in { FStar_Syntax_Syntax.cattributes = @@ -2136,7 +2421,7 @@ let (tc_eff_decl : uu____3624; FStar_Syntax_Syntax.eff_attrs = (uu___397_3580.FStar_Syntax_Syntax.eff_attrs) - } in + } in ((let uu____3628 = (FStar_TypeChecker_Env.debug env2 FStar_Options.Low) @@ -2144,124 +2429,141 @@ let (tc_eff_decl : (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env2) - (FStar_Options.Other "ED")) in + (FStar_Options.Other "ED")) + in if uu____3628 then let uu____3633 = FStar_Syntax_Print.eff_decl_to_string - false ed3 in + false ed3 + in FStar_Util.print_string uu____3633 else ()); ed3)))))))) + let (cps_and_elaborate : FStar_TypeChecker_Env.env_t -> FStar_Syntax_Syntax.eff_decl -> (FStar_Syntax_Syntax.sigelt Prims.list * FStar_Syntax_Syntax.eff_decl * FStar_Syntax_Syntax.sigelt FStar_Pervasives_Native.option)) = - fun env -> - fun ed -> + fun env -> + fun ed -> let uu____3659 = FStar_Syntax_Subst.open_term ed.FStar_Syntax_Syntax.binders - ed.FStar_Syntax_Syntax.signature in + ed.FStar_Syntax_Syntax.signature + in match uu____3659 with - | (effect_binders_un, signature_un) -> + | (effect_binders_un,signature_un) -> let uu____3676 = - FStar_TypeChecker_TcTerm.tc_tparams env effect_binders_un in + FStar_TypeChecker_TcTerm.tc_tparams env effect_binders_un in (match uu____3676 with - | (effect_binders, env1, uu____3695) -> + | (effect_binders,env1,uu____3695) -> let uu____3696 = - FStar_TypeChecker_TcTerm.tc_trivial_guard env1 signature_un in + FStar_TypeChecker_TcTerm.tc_trivial_guard env1 signature_un + in (match uu____3696 with - | (signature, uu____3712) -> + | (signature,uu____3712) -> let raise_error1 uu____3728 = match uu____3728 with - | (e, err_msg) -> + | (e,err_msg) -> FStar_Errors.raise_error (e, err_msg) - signature.FStar_Syntax_Syntax.pos in + signature.FStar_Syntax_Syntax.pos + in let effect_binders1 = FStar_List.map - (fun uu____3764 -> + (fun uu____3764 -> match uu____3764 with - | (bv, qual) -> + | (bv,qual) -> let uu____3783 = - let uu___422_3784 = bv in + let uu___422_3784 = bv in let uu____3785 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.EraseUniverses] - env1 bv.FStar_Syntax_Syntax.sort in + env1 bv.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = (uu___422_3784.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = (uu___422_3784.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = uu____3785 - } in - (uu____3783, qual)) effect_binders in + } in + (uu____3783, qual)) effect_binders + in let uu____3790 = let uu____3797 = let uu____3798 = - FStar_Syntax_Subst.compress signature_un in - uu____3798.FStar_Syntax_Syntax.n in + FStar_Syntax_Subst.compress signature_un in + uu____3798.FStar_Syntax_Syntax.n in match uu____3797 with | FStar_Syntax_Syntax.Tm_arrow - ((a, uu____3808)::[], effect_marker) -> + ((a,uu____3808)::[],effect_marker) -> (a, effect_marker) | uu____3840 -> raise_error1 (FStar_Errors.Fatal_BadSignatureShape, - "bad shape for effect-for-free signature") in + "bad shape for effect-for-free signature") + in (match uu____3790 with - | (a, effect_marker) -> + | (a,effect_marker) -> let a1 = - let uu____3866 = FStar_Syntax_Syntax.is_null_bv a in + let uu____3866 = FStar_Syntax_Syntax.is_null_bv a + in if uu____3866 then let uu____3869 = let uu____3872 = - FStar_Syntax_Syntax.range_of_bv a in - FStar_Pervasives_Native.Some uu____3872 in + FStar_Syntax_Syntax.range_of_bv a in + FStar_Pervasives_Native.Some uu____3872 in FStar_Syntax_Syntax.gen_bv "a" uu____3869 a.FStar_Syntax_Syntax.sort - else a in + else a in let open_and_check env2 other_binders t = let subst1 = FStar_Syntax_Subst.opening_of_binders (FStar_List.append effect_binders1 - other_binders) in - let t1 = FStar_Syntax_Subst.subst subst1 t in + other_binders) + in + let t1 = FStar_Syntax_Subst.subst subst1 t in let uu____3920 = - FStar_TypeChecker_TcTerm.tc_term env2 t1 in + FStar_TypeChecker_TcTerm.tc_term env2 t1 in match uu____3920 with - | (t2, comp, uu____3933) -> (t2, comp) in + | (t2,comp,uu____3933) -> (t2, comp) in let mk1 x = FStar_Syntax_Syntax.mk x FStar_Pervasives_Native.None - signature.FStar_Syntax_Syntax.pos in + signature.FStar_Syntax_Syntax.pos + in let uu____3942 = - open_and_check env1 [] ed.FStar_Syntax_Syntax.repr in + open_and_check env1 [] ed.FStar_Syntax_Syntax.repr + in (match uu____3942 with - | (repr, _comp) -> + | (repr,_comp) -> ((let uu____3966 = FStar_TypeChecker_Env.debug env1 - (FStar_Options.Other "ED") in + (FStar_Options.Other "ED") + in if uu____3966 then let uu____3970 = - FStar_Syntax_Print.term_to_string repr in + FStar_Syntax_Print.term_to_string repr + in FStar_Util.print1 "Representation is: %s\n" uu____3970 else ()); (let dmff_env = FStar_TypeChecker_DMFF.empty env1 (FStar_TypeChecker_TcTerm.tc_constant - env1 FStar_Range.dummyRange) in + env1 FStar_Range.dummyRange) + in let wp_type = FStar_TypeChecker_DMFF.star_type dmff_env - repr in + repr + in let uu____3977 = - recheck_debug "*" env1 wp_type in + recheck_debug "*" env1 wp_type in let wp_a = let uu____3980 = let uu____3981 = @@ -2270,107 +2572,129 @@ let (cps_and_elaborate : let uu____4010 = let uu____4019 = FStar_Syntax_Syntax.bv_to_name - a1 in + a1 + in let uu____4022 = FStar_Syntax_Syntax.as_implicit - false in - (uu____4019, uu____4022) in - [uu____4010] in - (wp_type, uu____3999) in - FStar_Syntax_Syntax.Tm_app uu____3982 in - mk1 uu____3981 in + false + in + (uu____4019, uu____4022) in + [uu____4010] in + (wp_type, uu____3999) in + FStar_Syntax_Syntax.Tm_app uu____3982 + in + mk1 uu____3981 in FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta] env1 - uu____3980 in + uu____3980 + in let effect_signature = let binders = let uu____4070 = let uu____4077 = - FStar_Syntax_Syntax.as_implicit false in - (a1, uu____4077) in + FStar_Syntax_Syntax.as_implicit false + in + (a1, uu____4077) in let uu____4083 = let uu____4092 = let uu____4099 = FStar_Syntax_Syntax.gen_bv "dijkstra_wp" - FStar_Pervasives_Native.None wp_a in + FStar_Pervasives_Native.None wp_a + in FStar_All.pipe_right uu____4099 - FStar_Syntax_Syntax.mk_binder in - [uu____4092] in - uu____4070 :: uu____4083 in + FStar_Syntax_Syntax.mk_binder + in + [uu____4092] in + uu____4070 :: uu____4083 in let binders1 = - FStar_Syntax_Subst.close_binders binders in + FStar_Syntax_Subst.close_binders binders + in mk1 (FStar_Syntax_Syntax.Tm_arrow - (binders1, effect_marker)) in + (binders1, effect_marker)) + in let uu____4136 = recheck_debug "turned into the effect signature" env1 - effect_signature in - let sigelts = FStar_Util.mk_ref [] in + effect_signature + in + let sigelts = FStar_Util.mk_ref [] in let mk_lid name = - FStar_Syntax_Util.dm4f_lid ed name in + FStar_Syntax_Util.dm4f_lid ed name in let elaborate_and_star dmff_env1 other_binders item = let env2 = - FStar_TypeChecker_DMFF.get_env dmff_env1 in - let uu____4202 = item in + FStar_TypeChecker_DMFF.get_env dmff_env1 + in + let uu____4202 = item in match uu____4202 with - | (u_item, item1) -> + | (u_item,item1) -> let uu____4217 = open_and_check env2 other_binders - item1 in + item1 + in (match uu____4217 with - | (item2, item_comp) -> + | (item2,item_comp) -> ((let uu____4233 = let uu____4235 = FStar_Syntax_Util.is_total_lcomp - item_comp in - Prims.op_Negation uu____4235 in + item_comp + in + Prims.op_Negation uu____4235 + in if uu____4233 then let uu____4238 = let uu____4244 = let uu____4246 = FStar_Syntax_Print.term_to_string - item2 in + item2 + in let uu____4248 = FStar_Syntax_Print.lcomp_to_string - item_comp in + item_comp + in FStar_Util.format2 "Computation for [%s] is not total : %s !" - uu____4246 uu____4248 in + uu____4246 uu____4248 + in (FStar_Errors.Fatal_ComputationNotTotal, - uu____4244) in + uu____4244) + in FStar_Errors.raise_err uu____4238 else ()); (let uu____4254 = FStar_TypeChecker_DMFF.star_expr - dmff_env1 item2 in + dmff_env1 item2 + in match uu____4254 with - | (item_t, item_wp, item_elab) - -> + | (item_t,item_wp,item_elab) -> let uu____4272 = recheck_debug "*" env2 - item_wp in + item_wp + in let uu____4274 = recheck_debug "_" env2 - item_elab in + item_elab + in (dmff_env1, item_t, item_wp, - item_elab)))) in + item_elab)))) + in let uu____4276 = elaborate_and_star dmff_env [] - ed.FStar_Syntax_Syntax.bind_repr in + ed.FStar_Syntax_Syntax.bind_repr + in match uu____4276 with - | (dmff_env1, uu____4302, bind_wp, bind_elab) - -> + | (dmff_env1,uu____4302,bind_wp,bind_elab) -> let uu____4305 = elaborate_and_star dmff_env1 [] - ed.FStar_Syntax_Syntax.return_repr in + ed.FStar_Syntax_Syntax.return_repr + in (match uu____4305 with - | (dmff_env2, uu____4331, return_wp, - return_elab) -> + | (dmff_env2,uu____4331,return_wp,return_elab) + -> let rc_gtot = { FStar_Syntax_Syntax.residual_effect @@ -2380,38 +2704,45 @@ let (cps_and_elaborate : = FStar_Pervasives_Native.None; FStar_Syntax_Syntax.residual_flags = [] - } in + } in let lift_from_pure_wp = let uu____4340 = let uu____4341 = FStar_Syntax_Subst.compress - return_wp in - uu____4341.FStar_Syntax_Syntax.n in + return_wp + in + uu____4341.FStar_Syntax_Syntax.n + in match uu____4340 with | FStar_Syntax_Syntax.Tm_abs - (b1::b2::bs, body, what) -> + (b1::b2::bs,body,what) -> let uu____4399 = let uu____4418 = let uu____4423 = FStar_Syntax_Util.abs bs body - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Syntax_Subst.open_term - [b1; b2] uu____4423 in + [b1; b2] uu____4423 + in match uu____4418 with - | (b11::b21::[], body1) -> + | (b11::b21::[],body1) -> (b11, b21, body1) | uu____4505 -> failwith - "Impossible : open_term not preserving binders arity" in + "Impossible : open_term not preserving binders arity" + in (match uu____4399 with - | (b11, b21, body1) -> + | (b11,b21,body1) -> let env0 = let uu____4559 = FStar_TypeChecker_DMFF.get_env - dmff_env2 in + dmff_env2 + in FStar_TypeChecker_Env.push_binders - uu____4559 [b11; b21] in + uu____4559 [b11; b21] + in let wp_b1 = let raw_wp_b1 = let uu____4582 = @@ -2424,60 +2755,74 @@ let (cps_and_elaborate : FStar_Syntax_Syntax.bv_to_name ( FStar_Pervasives_Native.fst - b11) in + b11) + in let uu____4625 = FStar_Syntax_Syntax.as_implicit - false in + false + in (uu____4620, - uu____4625) in - [uu____4611] in + uu____4625) + in + [uu____4611] + in (wp_type, - uu____4600) in + uu____4600) + in FStar_Syntax_Syntax.Tm_app - uu____4583 in - mk1 uu____4582 in + uu____4583 + in + mk1 uu____4582 in FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta] - env0 raw_wp_b1 in + env0 raw_wp_b1 + in let uu____4661 = let uu____4670 = let uu____4671 = FStar_Syntax_Util.unascribe - wp_b1 in + wp_b1 + in FStar_TypeChecker_Normalize.eta_expand_with_type env0 body1 - uu____4671 in + uu____4671 + in FStar_All.pipe_left FStar_Syntax_Util.abs_formals - uu____4670 in + uu____4670 + in (match uu____4661 with - | (bs1, body2, what') -> + | (bs1,body2,what') -> let fail1 uu____4694 = let error_msg = let uu____4697 = FStar_Syntax_Print.term_to_string - body2 in + body2 + in let uu____4699 = match what' with | FStar_Pervasives_Native.None - -> "None" + -> "None" | FStar_Pervasives_Native.Some rc -> FStar_Ident.text_of_lid - rc.FStar_Syntax_Syntax.residual_effect in + rc.FStar_Syntax_Syntax.residual_effect + in FStar_Util.format2 "The body of return_wp (%s) should be of type Type0 but is of type %s" uu____4697 - uu____4699 in + uu____4699 + in raise_error1 (FStar_Errors.Fatal_WrongBodyTypeForReturnWP, - error_msg) in + error_msg) + in ((match what' with | FStar_Pervasives_Native.None - -> fail1 () + -> fail1 () | FStar_Pervasives_Native.Some rc -> ((let uu____4709 @@ -2485,9 +2830,11 @@ let (cps_and_elaborate : let uu____4711 = FStar_Syntax_Util.is_pure_effect - rc.FStar_Syntax_Syntax.residual_effect in + rc.FStar_Syntax_Syntax.residual_effect + in Prims.op_Negation - uu____4711 in + uu____4711 + in if uu____4709 then @@ -2497,14 +2844,15 @@ let (cps_and_elaborate : = FStar_Util.map_opt rc.FStar_Syntax_Syntax.residual_typ - (fun rt + (fun rt -> let g_opt = FStar_TypeChecker_Rel.try_teq true env1 rt - FStar_Syntax_Util.ktype0 in + FStar_Syntax_Util.ktype0 + in match g_opt with | @@ -2514,30 +2862,35 @@ let (cps_and_elaborate : env1 g' | FStar_Pervasives_Native.None - -> - fail1 ()) in + -> + fail1 ()) + in FStar_All.pipe_right uu____4716 - (fun a1 -> - ())))); + (fun a1 + -> ())))); (let wp = let t2 = (FStar_Pervasives_Native.fst - b21).FStar_Syntax_Syntax.sort in + b21).FStar_Syntax_Syntax.sort + in let pure_wp_type = FStar_TypeChecker_DMFF.double_star - t2 in + t2 + in FStar_Syntax_Syntax.gen_bv "wp" FStar_Pervasives_Native.None - pure_wp_type in + pure_wp_type + in let body3 = let uu____4745 = let uu____4750 = FStar_Syntax_Syntax.bv_to_name - wp in + wp + in let uu____4751 = let uu____4752 @@ -2547,28 +2900,36 @@ let (cps_and_elaborate : FStar_Syntax_Util.abs [b21] body2 - what' in + what' in (uu____4761, - FStar_Pervasives_Native.None) in - [uu____4752] in + FStar_Pervasives_Native.None) + in + [uu____4752] + in FStar_Syntax_Syntax.mk_Tm_app uu____4750 - uu____4751 in + uu____4751 + in uu____4745 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Range.dummyRange + in let uu____4796 = let uu____4797 = let uu____4806 = FStar_Syntax_Syntax.mk_binder - wp in - [uu____4806] in + wp + in + [uu____4806] + in b11 :: - uu____4797 in + uu____4797 + in let uu____4831 = FStar_Syntax_Util.abs - bs1 body3 what in + bs1 body3 what + in FStar_Syntax_Util.abs uu____4796 uu____4831 @@ -2577,19 +2938,23 @@ let (cps_and_elaborate : | uu____4834 -> raise_error1 (FStar_Errors.Fatal_UnexpectedReturnShape, - "unexpected shape for return") in + "unexpected shape for return") + in let return_wp1 = let uu____4842 = let uu____4843 = FStar_Syntax_Subst.compress - return_wp in - uu____4843.FStar_Syntax_Syntax.n in + return_wp + in + uu____4843.FStar_Syntax_Syntax.n + in match uu____4842 with | FStar_Syntax_Syntax.Tm_abs - (b1::b2::bs, body, what) -> + (b1::b2::bs,body,what) -> let uu____4901 = FStar_Syntax_Util.abs bs - body what in + body what + in FStar_Syntax_Util.abs [b1; b2] uu____4901 (FStar_Pervasives_Native.Some @@ -2597,40 +2962,48 @@ let (cps_and_elaborate : | uu____4922 -> raise_error1 (FStar_Errors.Fatal_UnexpectedReturnShape, - "unexpected shape for return") in + "unexpected shape for return") + in let bind_wp1 = let uu____4930 = let uu____4931 = FStar_Syntax_Subst.compress - bind_wp in - uu____4931.FStar_Syntax_Syntax.n in + bind_wp + in + uu____4931.FStar_Syntax_Syntax.n + in match uu____4930 with | FStar_Syntax_Syntax.Tm_abs - (binders, body, what) -> + (binders,body,what) -> let r = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.range_lid (FStar_Syntax_Syntax.Delta_constant_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let uu____4965 = let uu____4966 = let uu____4975 = let uu____4982 = mk1 (FStar_Syntax_Syntax.Tm_fvar - r) in + r) + in FStar_Syntax_Syntax.null_binder - uu____4982 in - [uu____4975] in + uu____4982 + in + [uu____4975] in FStar_List.append uu____4966 - binders in + binders + in FStar_Syntax_Util.abs uu____4965 body what | uu____5001 -> raise_error1 (FStar_Errors.Fatal_UnexpectedBindShape, - "unexpected shape for bind") in + "unexpected shape for bind") + in let apply_close t = if (FStar_List.length @@ -2644,53 +3017,64 @@ let (cps_and_elaborate : let uu____5050 = let uu____5061 = FStar_Syntax_Util.args_of_binders - effect_binders1 in + effect_binders1 + in FStar_Pervasives_Native.snd - uu____5061 in - (t, uu____5050) in + uu____5061 + in + (t, uu____5050) in FStar_Syntax_Syntax.Tm_app - uu____5033 in - mk1 uu____5032 in + uu____5033 + in + mk1 uu____5032 in FStar_Syntax_Subst.close - effect_binders1 uu____5031) in + effect_binders1 uu____5031) + in let rec apply_last1 f l = match l with | [] -> failwith "empty path.." | a2::[] -> - let uu____5119 = f a2 in + let uu____5119 = f a2 in [uu____5119] | x::xs -> let uu____5130 = - apply_last1 f xs in - x :: uu____5130 in + apply_last1 f xs in + x :: uu____5130 + in let register name item = let p = FStar_Ident.path_of_lid - ed.FStar_Syntax_Syntax.mname in + ed.FStar_Syntax_Syntax.mname + in let p' = apply_last1 - (fun s -> + (fun s -> Prims.op_Hat "__" (Prims.op_Hat s (Prims.op_Hat "_eff_override_" - name))) p in + name))) p + in let l' = FStar_Ident.lid_of_path p' - FStar_Range.dummyRange in + FStar_Range.dummyRange + in let uu____5164 = FStar_TypeChecker_Env.try_lookup_lid - env1 l' in + env1 l' + in match uu____5164 with | FStar_Pervasives_Native.Some - (_us, _t) -> + (_us,_t) -> ((let uu____5194 = - FStar_Options.debug_any () in + FStar_Options.debug_any () + in if uu____5194 then let uu____5197 = FStar_Ident.string_of_lid - l' in + l' + in FStar_Util.print1 "DM4F: Applying override %s\n" uu____5197 @@ -2699,128 +3083,147 @@ let (cps_and_elaborate : FStar_Syntax_Syntax.lid_as_fv l' FStar_Syntax_Syntax.delta_equational - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Syntax_Syntax.fv_to_tm uu____5202)) - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____5211 = - let uu____5216 = mk_lid name in + let uu____5216 = mk_lid name + in let uu____5217 = FStar_Syntax_Util.abs effect_binders1 item - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_TypeChecker_Util.mk_toplevel_definition - env1 uu____5216 uu____5217 in + env1 uu____5216 uu____5217 + in (match uu____5211 with - | (sigelt, fv) -> + | (sigelt,fv) -> ((let uu____5221 = let uu____5224 = FStar_ST.op_Bang - sigelts in - sigelt :: uu____5224 in + sigelts + in + sigelt :: uu____5224 + in FStar_ST.op_Colon_Equals sigelts uu____5221); - fv)) in + fv)) + in let lift_from_pure_wp1 = register "lift_from_pure" - lift_from_pure_wp in + lift_from_pure_wp + in let return_wp2 = - register "return_wp" return_wp1 in + register "return_wp" return_wp1 + in ((let uu____5278 = let uu____5281 = FStar_Syntax_Syntax.mk_sigelt (FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.PushOptions (FStar_Pervasives_Native.Some - "--admit_smt_queries true"))) in + "--admit_smt_queries true"))) + in let uu____5284 = - FStar_ST.op_Bang sigelts in - uu____5281 :: uu____5284 in + FStar_ST.op_Bang sigelts in + uu____5281 :: uu____5284 in FStar_ST.op_Colon_Equals sigelts uu____5278); (let return_elab1 = register "return_elab" - return_elab in + return_elab + in (let uu____5336 = let uu____5339 = FStar_Syntax_Syntax.mk_sigelt (FStar_Syntax_Syntax.Sig_pragma - FStar_Syntax_Syntax.PopOptions) in + FStar_Syntax_Syntax.PopOptions) + in let uu____5340 = - FStar_ST.op_Bang sigelts in - uu____5339 :: uu____5340 in + FStar_ST.op_Bang sigelts in + uu____5339 :: uu____5340 in FStar_ST.op_Colon_Equals sigelts uu____5336); (let bind_wp2 = - register "bind_wp" bind_wp1 in + register "bind_wp" bind_wp1 in (let uu____5392 = let uu____5395 = FStar_Syntax_Syntax.mk_sigelt (FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.PushOptions (FStar_Pervasives_Native.Some - "--admit_smt_queries true"))) in + "--admit_smt_queries true"))) + in let uu____5398 = - FStar_ST.op_Bang sigelts in - uu____5395 :: uu____5398 in + FStar_ST.op_Bang sigelts in + uu____5395 :: uu____5398 in FStar_ST.op_Colon_Equals sigelts uu____5392); (let bind_elab1 = - register "bind_elab" bind_elab in + register "bind_elab" bind_elab + in (let uu____5450 = let uu____5453 = FStar_Syntax_Syntax.mk_sigelt (FStar_Syntax_Syntax.Sig_pragma - FStar_Syntax_Syntax.PopOptions) in + FStar_Syntax_Syntax.PopOptions) + in let uu____5454 = - FStar_ST.op_Bang sigelts in - uu____5453 :: uu____5454 in + FStar_ST.op_Bang sigelts + in + uu____5453 :: uu____5454 in FStar_ST.op_Colon_Equals sigelts uu____5450); (let uu____5503 = FStar_List.fold_left - (fun uu____5543 -> - fun action -> + (fun uu____5543 -> + fun action -> match uu____5543 with - | (dmff_env3, actions) + | (dmff_env3,actions) -> let params_un = FStar_Syntax_Subst.open_binders - action.FStar_Syntax_Syntax.action_params in + action.FStar_Syntax_Syntax.action_params + in let uu____5564 = let uu____5571 = FStar_TypeChecker_DMFF.get_env - dmff_env3 in + dmff_env3 + in FStar_TypeChecker_TcTerm.tc_tparams uu____5571 - params_un in + params_un + in (match uu____5564 with - | (action_params, - env', - uu____5580) -> + | (action_params,env',uu____5580) + -> let action_params1 = FStar_List.map ( fun uu____5606 - -> + -> match uu____5606 with | - (bv, - qual) -> + (bv,qual) + -> let uu____5625 = let uu___615_5626 - = bv in + = bv in let uu____5627 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.EraseUniverses] env' - bv.FStar_Syntax_Syntax.sort in + bv.FStar_Syntax_Syntax.sort + in { FStar_Syntax_Syntax.ppname = @@ -2831,58 +3234,64 @@ let (cps_and_elaborate : FStar_Syntax_Syntax.sort = uu____5627 - } in + } in (uu____5625, qual)) - action_params in + action_params + in let dmff_env' = FStar_TypeChecker_DMFF.set_env dmff_env3 - env' in + env' + in let uu____5633 = elaborate_and_star dmff_env' action_params1 ((action.FStar_Syntax_Syntax.action_univs), - (action.FStar_Syntax_Syntax.action_defn)) in + (action.FStar_Syntax_Syntax.action_defn)) + in (match uu____5633 with - | (dmff_env4, - action_t, - action_wp, - action_elab) + | (dmff_env4,action_t,action_wp,action_elab) -> let name = - ((action.FStar_Syntax_Syntax.action_name).FStar_Ident.ident).FStar_Ident.idText in + ((action.FStar_Syntax_Syntax.action_name).FStar_Ident.ident).FStar_Ident.idText + in let action_typ_with_wp = FStar_TypeChecker_DMFF.trans_F dmff_env' action_t - action_wp in + action_wp + in let action_params2 = FStar_Syntax_Subst.close_binders - action_params1 in + action_params1 + in let action_elab1 = FStar_Syntax_Subst.close action_params2 - action_elab in + action_elab + in let action_typ_with_wp1 = FStar_Syntax_Subst.close action_params2 - action_typ_with_wp in + action_typ_with_wp + in let action_elab2 = FStar_Syntax_Util.abs action_params2 action_elab1 - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let action_typ_with_wp2 = match action_params2 @@ -2896,10 +3305,12 @@ let (cps_and_elaborate : let uu____5673 = FStar_Syntax_Syntax.mk_Total - action_typ_with_wp1 in + action_typ_with_wp1 + in FStar_Syntax_Util.flat_arrow action_params2 - uu____5673 in + uu____5673 + in (( let uu____5677 = @@ -2907,7 +3318,7 @@ let (cps_and_elaborate : (FStar_TypeChecker_Env.debug env1) (FStar_Options.Other - "ED") in + "ED") in if uu____5677 then @@ -2915,20 +3326,24 @@ let (cps_and_elaborate : = FStar_Syntax_Print.binders_to_string "," - params_un in + params_un + in let uu____5685 = FStar_Syntax_Print.binders_to_string "," - action_params2 in + action_params2 + in let uu____5688 = FStar_Syntax_Print.term_to_string - action_typ_with_wp2 in + action_typ_with_wp2 + in let uu____5690 = FStar_Syntax_Print.term_to_string - action_elab2 in + action_elab2 + in FStar_Util.print4 "original action_params %s, end action_params %s, type %s, term %s\n" uu____5682 @@ -2942,28 +3357,33 @@ let (cps_and_elaborate : (Prims.op_Hat name "_elab") - action_elab2 in + action_elab2 + in let action_typ_with_wp3 = register (Prims.op_Hat name "_complete_type") - action_typ_with_wp2 in + action_typ_with_wp2 + in let uu____5699 = let uu____5702 = let uu___637_5703 - = action in + = action + in let uu____5704 = apply_close - action_elab3 in + action_elab3 + in let uu____5705 = apply_close - action_typ_with_wp3 in + action_typ_with_wp3 + in { FStar_Syntax_Syntax.action_name = @@ -2982,35 +3402,42 @@ let (cps_and_elaborate : FStar_Syntax_Syntax.action_typ = uu____5705 - } in + } in uu____5702 :: - actions in + actions + in (dmff_env4, uu____5699)))))) (dmff_env2, []) - ed.FStar_Syntax_Syntax.actions in + ed.FStar_Syntax_Syntax.actions + in match uu____5503 with - | (dmff_env3, actions) -> + | (dmff_env3,actions) -> let actions1 = - FStar_List.rev actions in + FStar_List.rev actions + in let repr1 = let wp = FStar_Syntax_Syntax.gen_bv "wp_a" FStar_Pervasives_Native.None - wp_a in + wp_a + in let binders = let uu____5749 = FStar_Syntax_Syntax.mk_binder - a1 in + a1 + in let uu____5756 = let uu____5765 = FStar_Syntax_Syntax.mk_binder - wp in - [uu____5765] in + wp + in + [uu____5765] in uu____5749 :: - uu____5756 in + uu____5756 + in let uu____5790 = let uu____5793 = let uu____5794 = @@ -3021,125 +3448,141 @@ let (cps_and_elaborate : let uu____5832 = FStar_Syntax_Syntax.bv_to_name - a1 in + a1 + in let uu____5835 = FStar_Syntax_Syntax.as_implicit - false in + false + in (uu____5832, - uu____5835) in - [uu____5823] in + uu____5835) + in + [uu____5823] + in (repr, - uu____5812) in + uu____5812) + in FStar_Syntax_Syntax.Tm_app - uu____5795 in - mk1 uu____5794 in + uu____5795 + in + mk1 uu____5794 in let uu____5871 = FStar_Syntax_Syntax.bv_to_name - wp in + wp + in FStar_TypeChecker_DMFF.trans_F dmff_env3 uu____5793 - uu____5871 in + uu____5871 + in FStar_Syntax_Util.abs binders uu____5790 - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let uu____5872 = recheck_debug "FC" env1 - repr1 in + repr1 + in let repr2 = - register "repr" repr1 in + register "repr" repr1 in let uu____5876 = let uu____5885 = let uu____5886 = let uu____5889 = FStar_Syntax_Subst.compress - wp_type in + wp_type + in FStar_All.pipe_left FStar_Syntax_Util.unascribe - uu____5889 in - uu____5886.FStar_Syntax_Syntax.n in + uu____5889 + in + uu____5886.FStar_Syntax_Syntax.n + in match uu____5885 with | FStar_Syntax_Syntax.Tm_abs - (type_param::effect_param, - arrow1, uu____5903) + (type_param::effect_param,arrow1,uu____5903) -> let uu____5940 = let uu____5961 = FStar_Syntax_Subst.open_term (type_param :: effect_param) - arrow1 in + arrow1 + in match uu____5961 with - | (b::bs, body) -> + | (b::bs,body) -> (b, bs, body) | uu____6029 -> failwith - "Impossible : open_term nt preserving binders arity" in + "Impossible : open_term nt preserving binders arity" + in (match uu____5940 with - | (type_param1, - effect_param1, - arrow2) -> + | (type_param1,effect_param1,arrow2) + -> let uu____6094 = let uu____6095 = let uu____6098 = FStar_Syntax_Subst.compress - arrow2 in + arrow2 + in FStar_All.pipe_left FStar_Syntax_Util.unascribe - uu____6098 in - uu____6095.FStar_Syntax_Syntax.n in + uu____6098 + in + uu____6095.FStar_Syntax_Syntax.n + in (match uu____6094 with | FStar_Syntax_Syntax.Tm_arrow - (wp_binders, - c) + (wp_binders,c) -> let uu____6131 = FStar_Syntax_Subst.open_comp wp_binders - c in + c in (match uu____6131 with | - (wp_binders1, - c1) -> + (wp_binders1,c1) + -> let uu____6146 = FStar_List.partition (fun uu____6177 - -> + -> match uu____6177 with | - (bv, - uu____6186) + (bv,uu____6186) -> let uu____6191 = let uu____6193 = FStar_Syntax_Free.names - bv.FStar_Syntax_Syntax.sort in + bv.FStar_Syntax_Syntax.sort + in FStar_All.pipe_right uu____6193 (FStar_Util.set_mem (FStar_Pervasives_Native.fst - type_param1)) in + type_param1)) + in FStar_All.pipe_right uu____6191 Prims.op_Negation) - wp_binders1 in + wp_binders1 + in (match uu____6146 with | - (pre_args, - post_args) + (pre_args,post_args) -> let post = @@ -3155,10 +3598,12 @@ let (cps_and_elaborate : let uu____6285 = FStar_Syntax_Print.term_to_string - arrow2 in + arrow2 + in FStar_Util.format1 "Impossible to generate DM effect: no post candidate %s (Type variable does not appear)" - uu____6285 in + uu____6285 + in FStar_Errors.raise_err (FStar_Errors.Fatal_ImpossibleToGenerateDMEffect, err_msg) @@ -3170,18 +3615,21 @@ let (cps_and_elaborate : let uu____6306 = FStar_Syntax_Print.term_to_string - arrow2 in + arrow2 + in FStar_Util.format1 "Impossible to generate DM effect: multiple post candidates %s" - uu____6306 in + uu____6306 + in FStar_Errors.raise_err (FStar_Errors.Fatal_ImpossibleToGenerateDMEffect, - err_msg) in + err_msg) + in let uu____6316 = FStar_Syntax_Util.arrow pre_args - c1 in + c1 in let uu____6319 = FStar_Syntax_Util.abs @@ -3190,7 +3638,8 @@ let (cps_and_elaborate : effect_param1) (FStar_Pervasives_Native.fst post).FStar_Syntax_Syntax.sort - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (uu____6316, uu____6319))) | uu____6334 -> @@ -3201,12 +3650,15 @@ let (cps_and_elaborate : let uu____6343 = FStar_Syntax_Print.term_to_string - arrow2 in + arrow2 + in FStar_Util.format1 "Impossible: pre/post arrow %s" - uu____6343 in + uu____6343 + in (FStar_Errors.Fatal_ImpossiblePrePostArrow, - uu____6341) in + uu____6341) + in raise_error1 uu____6335)) | uu____6355 -> @@ -3214,60 +3666,78 @@ let (cps_and_elaborate : let uu____6362 = let uu____6364 = FStar_Syntax_Print.term_to_string - wp_type in + wp_type + in FStar_Util.format1 "Impossible: pre/post abs %s" - uu____6364 in + uu____6364 + in (FStar_Errors.Fatal_ImpossiblePrePostAbs, - uu____6362) in + uu____6362) + in raise_error1 - uu____6356 in + uu____6356 + in (match uu____5876 with - | (pre, post) -> + | (pre,post) -> ((let uu____6397 = - register "pre" pre in + register "pre" pre + in ()); (let uu____6400 = register "post" - post in + post + in ()); (let uu____6403 = register "wp" - wp_type in + wp_type + in ()); (let ed1 = let uu___693_6406 - = ed in + = ed in let uu____6407 = FStar_Syntax_Subst.close_binders - effect_binders1 in + effect_binders1 + in let uu____6408 = FStar_Syntax_Subst.close effect_binders1 - effect_signature in + effect_signature + in let uu____6409 = let uu____6410 = apply_close - return_wp2 in - ([], uu____6410) in + return_wp2 + in + ([], uu____6410) + in let uu____6417 = let uu____6418 = apply_close - bind_wp2 in - ([], uu____6418) in + bind_wp2 + in + ([], uu____6418) + in let uu____6425 = apply_close - repr2 in + repr2 + in let uu____6426 = let uu____6427 = apply_close - return_elab1 in - ([], uu____6427) in + return_elab1 + in + ([], uu____6427) + in let uu____6434 = let uu____6435 = apply_close - bind_elab1 in - ([], uu____6435) in + bind_elab1 + in + ([], uu____6435) + in { FStar_Syntax_Syntax.cattributes = @@ -3321,27 +3791,30 @@ let (cps_and_elaborate : FStar_Syntax_Syntax.eff_attrs = (uu___693_6406.FStar_Syntax_Syntax.eff_attrs) - } in + } in let uu____6442 = FStar_TypeChecker_DMFF.gen_wps_for_free env1 effect_binders1 - a1 wp_a ed1 in + a1 wp_a ed1 + in match uu____6442 with - | (sigelts', ed2) -> + | (sigelts',ed2) -> ((let uu____6460 = FStar_TypeChecker_Env.debug env1 (FStar_Options.Other - "ED") in + "ED") + in if uu____6460 then let uu____6464 = FStar_Syntax_Print.eff_decl_to_string - true ed2 in + true ed2 + in FStar_Util.print_string uu____6464 else ()); @@ -3362,11 +3835,14 @@ let (cps_and_elaborate : let uu____6488 = apply_close - lift_from_pure_wp1 in + lift_from_pure_wp1 + in ([], - uu____6488) in + uu____6488) + in FStar_Pervasives_Native.Some - uu____6487 in + uu____6487 + in { FStar_Syntax_Syntax.source = @@ -3380,16 +3856,18 @@ let (cps_and_elaborate : FStar_Syntax_Syntax.lift = FStar_Pervasives_Native.None - } in + } in let uu____6495 = FStar_Syntax_Syntax.mk_sigelt (FStar_Syntax_Syntax.Sig_sub_effect - lift_from_pure) in + lift_from_pure) + in FStar_Pervasives_Native.Some uu____6495 else - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let uu____6498 = let uu____6501 @@ -3397,15 +3875,19 @@ let (cps_and_elaborate : let uu____6504 = FStar_ST.op_Bang - sigelts in + sigelts + in FStar_List.rev - uu____6504 in + uu____6504 + in FStar_List.append uu____6501 - sigelts' in + sigelts' + in (uu____6498, ed2, lift_from_pure_opt)))))))))))))))))) + let tc_lex_t : 'Auu____6545 . FStar_TypeChecker_Env.env -> @@ -3413,13 +3895,13 @@ let tc_lex_t : 'Auu____6545 Prims.list -> FStar_Ident.lident Prims.list -> FStar_Syntax_Syntax.sigelt = - fun env -> - fun ses -> - fun quals -> - fun lids -> + fun env -> + fun ses -> + fun quals -> + fun lids -> let err_range = - let uu____6580 = FStar_List.hd ses in - uu____6580.FStar_Syntax_Syntax.sigrng in + let uu____6580 = FStar_List.hd ses in + uu____6580.FStar_Syntax_Syntax.sigrng in (match lids with | lex_t1::lex_top1::lex_cons::[] when ((FStar_Ident.lid_equals lex_t1 FStar_Parser_Const.lex_t_lid) @@ -3438,7 +3920,7 @@ let tc_lex_t : | { FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_inductive_typ - (lex_t1, uu____6591, [], t, uu____6593, uu____6594); + (lex_t1,uu____6591,[],t,uu____6593,uu____6594); FStar_Syntax_Syntax.sigrng = r; FStar_Syntax_Syntax.sigquals = []; FStar_Syntax_Syntax.sigmeta = uu____6596; @@ -3446,12 +3928,7 @@ let tc_lex_t : FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon - (lex_top1, - uu____6599, - _t_top, - _lex_t_top, - _6633, - uu____6602); + (lex_top1,uu____6599,_t_top,_lex_t_top,_6633,uu____6602); FStar_Syntax_Syntax.sigrng = r1; FStar_Syntax_Syntax.sigquals @@ -3462,8 +3939,7 @@ let tc_lex_t : = uu____6605;_}:: { FStar_Syntax_Syntax.sigel = FStar_Syntax_Syntax.Sig_datacon - (lex_cons, uu____6607, _t_cons, _lex_t_cons, _6641, - uu____6610); + (lex_cons,uu____6607,_t_cons,_lex_t_cons,_6641,uu____6610); FStar_Syntax_Syntax.sigrng = r2; FStar_Syntax_Syntax.sigquals = []; FStar_Syntax_Syntax.sigmeta = uu____6612; @@ -3483,13 +3959,15 @@ let tc_lex_t : -> let u = FStar_Syntax_Syntax.new_univ_name - (FStar_Pervasives_Native.Some r) in + (FStar_Pervasives_Native.Some r) + in let t1 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type (FStar_Syntax_Syntax.U_name u)) - FStar_Pervasives_Native.None r in - let t2 = FStar_Syntax_Subst.close_univ_vars [u] t1 in + FStar_Pervasives_Native.None r + in + let t2 = FStar_Syntax_Subst.close_univ_vars [u] t1 in let tc = { FStar_Syntax_Syntax.sigel = @@ -3502,10 +3980,11 @@ let tc_lex_t : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in let utop = FStar_Syntax_Syntax.new_univ_name - (FStar_Pervasives_Native.Some r1) in + (FStar_Pervasives_Native.Some r1) + in let lex_top_t = let uu____6666 = let uu____6673 = @@ -3513,16 +3992,18 @@ let tc_lex_t : let uu____6681 = let uu____6684 = FStar_Ident.set_lid_range - FStar_Parser_Const.lex_t_lid r1 in + FStar_Parser_Const.lex_t_lid r1 + in FStar_Syntax_Syntax.fvar uu____6684 FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - (uu____6681, [FStar_Syntax_Syntax.U_name utop]) in - FStar_Syntax_Syntax.Tm_uinst uu____6674 in - FStar_Syntax_Syntax.mk uu____6673 in - uu____6666 FStar_Pervasives_Native.None r1 in + FStar_Pervasives_Native.None + in + (uu____6681, [FStar_Syntax_Syntax.U_name utop]) in + FStar_Syntax_Syntax.Tm_uinst uu____6674 in + FStar_Syntax_Syntax.mk uu____6673 in + uu____6666 FStar_Pervasives_Native.None r1 in let lex_top_t1 = - FStar_Syntax_Subst.close_univ_vars [utop] lex_top_t in + FStar_Syntax_Subst.close_univ_vars [utop] lex_top_t in let dc_lextop = { FStar_Syntax_Syntax.sigel = @@ -3535,26 +4016,31 @@ let tc_lex_t : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in let ucons1 = FStar_Syntax_Syntax.new_univ_name - (FStar_Pervasives_Native.Some r2) in + (FStar_Pervasives_Native.Some r2) + in let ucons2 = FStar_Syntax_Syntax.new_univ_name - (FStar_Pervasives_Native.Some r2) in + (FStar_Pervasives_Native.Some r2) + in let lex_cons_t = let a = let uu____6699 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type (FStar_Syntax_Syntax.U_name ucons1)) - FStar_Pervasives_Native.None r2 in + FStar_Pervasives_Native.None r2 + in FStar_Syntax_Syntax.new_bv - (FStar_Pervasives_Native.Some r2) uu____6699 in + (FStar_Pervasives_Native.Some r2) uu____6699 + in let hd1 = - let uu____6701 = FStar_Syntax_Syntax.bv_to_name a in + let uu____6701 = FStar_Syntax_Syntax.bv_to_name a in FStar_Syntax_Syntax.new_bv - (FStar_Pervasives_Native.Some r2) uu____6701 in + (FStar_Pervasives_Native.Some r2) uu____6701 + in let tl1 = let uu____6703 = let uu____6704 = @@ -3563,16 +4049,20 @@ let tc_lex_t : let uu____6719 = let uu____6722 = FStar_Ident.set_lid_range - FStar_Parser_Const.lex_t_lid r2 in + FStar_Parser_Const.lex_t_lid r2 + in FStar_Syntax_Syntax.fvar uu____6722 FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - (uu____6719, [FStar_Syntax_Syntax.U_name ucons2]) in - FStar_Syntax_Syntax.Tm_uinst uu____6712 in - FStar_Syntax_Syntax.mk uu____6711 in - uu____6704 FStar_Pervasives_Native.None r2 in + FStar_Pervasives_Native.None + in + (uu____6719, [FStar_Syntax_Syntax.U_name ucons2]) + in + FStar_Syntax_Syntax.Tm_uinst uu____6712 in + FStar_Syntax_Syntax.mk uu____6711 in + uu____6704 FStar_Pervasives_Native.None r2 in FStar_Syntax_Syntax.new_bv - (FStar_Pervasives_Native.Some r2) uu____6703 in + (FStar_Pervasives_Native.Some r2) uu____6703 + in let res = let uu____6728 = let uu____6735 = @@ -3580,27 +4070,32 @@ let tc_lex_t : let uu____6743 = let uu____6746 = FStar_Ident.set_lid_range - FStar_Parser_Const.lex_t_lid r2 in + FStar_Parser_Const.lex_t_lid r2 + in FStar_Syntax_Syntax.fvar uu____6746 FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (uu____6743, [FStar_Syntax_Syntax.U_max [FStar_Syntax_Syntax.U_name ucons1; - FStar_Syntax_Syntax.U_name ucons2]]) in - FStar_Syntax_Syntax.Tm_uinst uu____6736 in - FStar_Syntax_Syntax.mk uu____6735 in - uu____6728 FStar_Pervasives_Native.None r2 in - let uu____6749 = FStar_Syntax_Syntax.mk_Total res in + FStar_Syntax_Syntax.U_name ucons2]]) + in + FStar_Syntax_Syntax.Tm_uinst uu____6736 in + FStar_Syntax_Syntax.mk uu____6735 in + uu____6728 FStar_Pervasives_Native.None r2 in + let uu____6749 = FStar_Syntax_Syntax.mk_Total res in FStar_Syntax_Util.arrow [(a, (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.imp_tag)); (hd1, FStar_Pervasives_Native.None); - (tl1, FStar_Pervasives_Native.None)] uu____6749 in + (tl1, FStar_Pervasives_Native.None)] uu____6749 + in let lex_cons_t1 = FStar_Syntax_Subst.close_univ_vars [ucons1; ucons2] - lex_cons_t in + lex_cons_t + in let dc_lexcons = { FStar_Syntax_Syntax.sigel = @@ -3613,8 +4108,8 @@ let tc_lex_t : FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in - let uu____6788 = FStar_TypeChecker_Env.get_range env in + } in + let uu____6788 = FStar_TypeChecker_Env.get_range env in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_bundle @@ -3630,36 +4125,41 @@ let tc_lex_t : let uu____6798 = let uu____6800 = FStar_Syntax_Syntax.mk_sigelt - (FStar_Syntax_Syntax.Sig_bundle (ses, lids)) in - FStar_Syntax_Print.sigelt_to_string uu____6800 in + (FStar_Syntax_Syntax.Sig_bundle (ses, lids)) + in + FStar_Syntax_Print.sigelt_to_string uu____6800 in FStar_Util.format1 "Invalid (re)definition of lex_t: %s\n" - uu____6798 in + uu____6798 + in FStar_Errors.raise_error (FStar_Errors.Fatal_InvalidRedefinitionOfLexT, err_msg) err_range) + let (tc_type_common : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.tscheme -> FStar_Syntax_Syntax.typ -> FStar_Range.range -> FStar_Syntax_Syntax.tscheme) = - fun env -> - fun uu____6825 -> - fun expected_typ1 -> - fun r -> + fun env -> + fun uu____6825 -> + fun expected_typ1 -> + fun r -> match uu____6825 with - | (uvs, t) -> - let uu____6838 = FStar_Syntax_Subst.open_univ_vars uvs t in + | (uvs,t) -> + let uu____6838 = FStar_Syntax_Subst.open_univ_vars uvs t in (match uu____6838 with - | (uvs1, t1) -> - let env1 = FStar_TypeChecker_Env.push_univ_vars env uvs1 in - let t2 = tc_check_trivial_guard env1 t1 expected_typ1 in + | (uvs1,t1) -> + let env1 = FStar_TypeChecker_Env.push_univ_vars env uvs1 + in + let t2 = tc_check_trivial_guard env1 t1 expected_typ1 in if uvs1 = [] then let uu____6850 = - FStar_TypeChecker_Util.generalize_universes env1 t2 in + FStar_TypeChecker_Util.generalize_universes env1 t2 + in (match uu____6850 with - | (uvs2, t3) -> + | (uvs2,t3) -> (FStar_TypeChecker_Util.check_uvars r t3; (uvs2, t3))) else @@ -3667,34 +4167,39 @@ let (tc_type_common : let uu____6871 = FStar_All.pipe_right t2 (FStar_TypeChecker_Normalize.remove_uvar_solutions - env1) in + env1) + in FStar_All.pipe_right uu____6871 - (FStar_Syntax_Subst.close_univ_vars uvs1) in + (FStar_Syntax_Subst.close_univ_vars uvs1) + in (uvs1, uu____6868))) + let (tc_declare_typ : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.tscheme -> FStar_Range.range -> FStar_Syntax_Syntax.tscheme) = - fun env -> - fun ts -> - fun r -> + fun env -> + fun ts -> + fun r -> let uu____6894 = - let uu____6895 = FStar_Syntax_Util.type_u () in - FStar_All.pipe_right uu____6895 FStar_Pervasives_Native.fst in + let uu____6895 = FStar_Syntax_Util.type_u () in + FStar_All.pipe_right uu____6895 FStar_Pervasives_Native.fst in tc_type_common env ts uu____6894 r + let (tc_assume : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.tscheme -> FStar_Range.range -> FStar_Syntax_Syntax.tscheme) = - fun env -> - fun ts -> - fun r -> + fun env -> + fun ts -> + fun r -> let uu____6920 = - let uu____6921 = FStar_Syntax_Util.type_u () in - FStar_All.pipe_right uu____6921 FStar_Pervasives_Native.fst in + let uu____6921 = FStar_Syntax_Util.type_u () in + FStar_All.pipe_right uu____6921 FStar_Pervasives_Native.fst in tc_type_common env ts uu____6920 r + let (tc_inductive' : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt Prims.list -> @@ -3703,55 +4208,60 @@ let (tc_inductive' : (FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.sigelt Prims.list)) = - fun env -> - fun ses -> - fun quals -> - fun lids -> - (let uu____6970 = FStar_TypeChecker_Env.debug env FStar_Options.Low in + fun env -> + fun ses -> + fun quals -> + fun lids -> + (let uu____6970 = FStar_TypeChecker_Env.debug env FStar_Options.Low + in if uu____6970 then let uu____6973 = FStar_Common.string_of_list - FStar_Syntax_Print.sigelt_to_string ses in + FStar_Syntax_Print.sigelt_to_string ses + in FStar_Util.print1 ">>>>>>>>>>>>>>tc_inductive %s\n" uu____6973 else ()); (let uu____6978 = FStar_TypeChecker_TcInductive.check_inductive_well_typedness env - ses quals lids in + ses quals lids + in match uu____6978 with - | (sig_bndle, tcs, datas) -> + | (sig_bndle,tcs,datas) -> let data_ops_ses = let uu____7009 = FStar_List.map (FStar_TypeChecker_TcInductive.mk_data_operations quals - env tcs) datas in - FStar_All.pipe_right uu____7009 FStar_List.flatten in + env tcs) datas + in + FStar_All.pipe_right uu____7009 FStar_List.flatten in ((let uu____7023 = (FStar_Options.no_positivity ()) || (let uu____7026 = - FStar_TypeChecker_Env.should_verify env in - Prims.op_Negation uu____7026) in + FStar_TypeChecker_Env.should_verify env in + Prims.op_Negation uu____7026) + in if uu____7023 then () else (let env1 = - FStar_TypeChecker_Env.push_sigelt env sig_bndle in + FStar_TypeChecker_Env.push_sigelt env sig_bndle in FStar_List.iter - (fun ty -> + (fun ty -> let b = FStar_TypeChecker_TcInductive.check_positivity ty - env1 in + env1 + in if Prims.op_Negation b then let uu____7042 = match ty.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uu____7052, uu____7053, uu____7054, - uu____7055, uu____7056) + (lid,uu____7052,uu____7053,uu____7054,uu____7055,uu____7056) -> (lid, (ty.FStar_Syntax_Syntax.sigrng)) - | uu____7065 -> failwith "Impossible!" in + | uu____7065 -> failwith "Impossible!" in match uu____7042 with - | (lid, r) -> + | (lid,r) -> FStar_Errors.log_issue r (FStar_Errors.Error_InductiveTypeNotSatisfyPositivityCondition, (Prims.op_Hat "Inductive type " @@ -3759,24 +4269,25 @@ let (tc_inductive' : " does not satisfy the positivity condition"))) else ()) tcs; FStar_List.iter - (fun d -> + (fun d -> let uu____7084 = match d.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (data_lid, uu____7094, uu____7095, ty_lid, - uu____7097, uu____7098) + (data_lid,uu____7094,uu____7095,ty_lid,uu____7097,uu____7098) -> (data_lid, ty_lid) - | uu____7105 -> failwith "Impossible" in + | uu____7105 -> failwith "Impossible" in match uu____7084 with - | (data_lid, ty_lid) -> + | (data_lid,ty_lid) -> let uu____7113 = (FStar_Ident.lid_equals ty_lid FStar_Parser_Const.exn_lid) && (let uu____7116 = FStar_TypeChecker_TcInductive.check_exn_positivity - data_lid env1 in - Prims.op_Negation uu____7116) in + data_lid env1 + in + Prims.op_Negation uu____7116) + in if uu____7113 then FStar_Errors.log_issue @@ -3788,19 +4299,21 @@ let (tc_inductive' : else ()) datas)); (let skip_prims_type uu____7130 = let lid = - let ty = FStar_List.hd tcs in + let ty = FStar_List.hd tcs in match ty.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uu____7135, uu____7136, uu____7137, - uu____7138, uu____7139) + (lid,uu____7135,uu____7136,uu____7137,uu____7138,uu____7139) -> lid - | uu____7148 -> failwith "Impossible" in + | uu____7148 -> failwith "Impossible" in FStar_List.existsb - (fun s -> s = (lid.FStar_Ident.ident).FStar_Ident.idText) - FStar_TypeChecker_TcInductive.early_prims_inductives in + (fun s -> + s = (lid.FStar_Ident.ident).FStar_Ident.idText) + FStar_TypeChecker_TcInductive.early_prims_inductives + in let is_noeq = - FStar_List.existsb (fun q -> q = FStar_Syntax_Syntax.Noeq) - quals in + FStar_List.existsb + (fun q -> q = FStar_Syntax_Syntax.Noeq) quals + in let res = let uu____7166 = (((FStar_List.length tcs) = (Prims.parse_int "0")) || @@ -3808,13 +4321,15 @@ let (tc_inductive' : env.FStar_TypeChecker_Env.curmodule FStar_Parser_Const.prims_lid) && (skip_prims_type ()))) - || is_noeq in + || is_noeq + in if uu____7166 then (sig_bndle, data_ops_ses) else (let is_unopteq = FStar_List.existsb - (fun q -> q = FStar_Syntax_Syntax.Unopteq) quals in + (fun q -> q = FStar_Syntax_Syntax.Unopteq) quals + in let ses1 = if is_unopteq then @@ -3822,9 +4337,12 @@ let (tc_inductive' : sig_bndle tcs datas env else FStar_TypeChecker_TcInductive.optimized_haseq_scheme - sig_bndle tcs datas env in - (sig_bndle, (FStar_List.append ses1 data_ops_ses))) in + sig_bndle tcs datas env + in + (sig_bndle, (FStar_List.append ses1 data_ops_ses))) + in res))) + let (tc_inductive : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt Prims.list -> @@ -3833,87 +4351,85 @@ let (tc_inductive : (FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.sigelt Prims.list)) = - fun env -> - fun ses -> - fun quals -> - fun lids -> - let env1 = FStar_TypeChecker_Env.push env "tc_inductive" in + fun env -> + fun ses -> + fun quals -> + fun lids -> + let env1 = FStar_TypeChecker_Env.push env "tc_inductive" in let pop1 uu____7241 = - let uu____7242 = FStar_TypeChecker_Env.pop env1 "tc_inductive" in - () in + let uu____7242 = FStar_TypeChecker_Env.pop env1 "tc_inductive" + in + () in try - (fun uu___871_7252 -> + (fun uu___871_7252 -> match () with | () -> - let uu____7259 = tc_inductive' env1 ses quals lids in - FStar_All.pipe_right uu____7259 (fun r -> pop1 (); r)) () + let uu____7259 = tc_inductive' env1 ses quals lids in + FStar_All.pipe_right uu____7259 (fun r -> pop1 (); r)) () with | uu___870_7290 -> (pop1 (); FStar_Exn.raise uu___870_7290) -let (z3_reset_options : - FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.env) = - fun en -> - let env = - let uu____7311 = FStar_Options.using_facts_from () in - FStar_TypeChecker_Env.set_proof_ns uu____7311 en in - (env.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.refresh (); env + let (get_fail_se : FStar_Syntax_Syntax.sigelt -> (Prims.int Prims.list * Prims.bool) FStar_Pervasives_Native.option) = - fun se -> + fun se -> let comb f1 f2 = match (f1, f2) with - | (FStar_Pervasives_Native.Some (e1, l1), FStar_Pervasives_Native.Some - (e2, l2)) -> + | (FStar_Pervasives_Native.Some (e1,l1),FStar_Pervasives_Native.Some + (e2,l2)) -> FStar_Pervasives_Native.Some ((FStar_List.append e1 e2), (l1 || l2)) - | (FStar_Pervasives_Native.Some (e, l), FStar_Pervasives_Native.None) - -> FStar_Pervasives_Native.Some (e, l) - | (FStar_Pervasives_Native.None, FStar_Pervasives_Native.Some (e, l)) - -> FStar_Pervasives_Native.Some (e, l) - | uu____7615 -> FStar_Pervasives_Native.None in + | (FStar_Pervasives_Native.Some (e,l),FStar_Pervasives_Native.None ) -> + FStar_Pervasives_Native.Some (e, l) + | (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.Some (e,l)) -> + FStar_Pervasives_Native.Some (e, l) + | uu____7606 -> FStar_Pervasives_Native.None in FStar_List.fold_right - (fun at -> - fun acc -> - let uu____7673 = FStar_ToSyntax_ToSyntax.get_fail_attr true at in - comb uu____7673 acc) se.FStar_Syntax_Syntax.sigattrs + (fun at -> + fun acc -> + let uu____7664 = FStar_ToSyntax_ToSyntax.get_fail_attr true at in + comb uu____7664 acc) se.FStar_Syntax_Syntax.sigattrs FStar_Pervasives_Native.None + let list_of_option : - 'Auu____7698 . - 'Auu____7698 FStar_Pervasives_Native.option -> 'Auu____7698 Prims.list + 'Auu____7689 . + 'Auu____7689 FStar_Pervasives_Native.option -> 'Auu____7689 Prims.list = - fun uu___0_7707 -> - match uu___0_7707 with - | FStar_Pervasives_Native.None -> [] + fun uu___0_7698 -> + match uu___0_7698 with + | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some x -> [x] + let (check_multi_eq : Prims.int Prims.list -> Prims.int Prims.list -> (Prims.int * Prims.int * Prims.int) FStar_Pervasives_Native.option) = - fun l1 -> - fun l2 -> + fun l1 -> + fun l2 -> let rec collect1 l = match l with | [] -> [] | hd1::tl1 -> - let uu____7787 = collect1 tl1 in - (match uu____7787 with + let uu____7778 = collect1 tl1 in + (match uu____7778 with | [] -> [(hd1, (Prims.parse_int "1"))] - | (h, n1)::t -> + | (h,n1)::t -> if h = hd1 then (h, (n1 + (Prims.parse_int "1"))) :: t - else (hd1, (Prims.parse_int "1")) :: (h, n1) :: t) in - let summ l = collect1 l in - let l11 = summ l1 in - let l21 = summ l2 in + else (hd1, (Prims.parse_int "1")) :: (h, n1) :: t) + in + let summ l = collect1 l in + let l11 = summ l1 in + let l21 = summ l2 in let rec aux l12 l22 = match (l12, l22) with - | ([], []) -> FStar_Pervasives_Native.None - | ((e, n1)::uu____8025, []) -> + | ([],[]) -> FStar_Pervasives_Native.None + | ((e,n1)::uu____8016,[]) -> FStar_Pervasives_Native.Some (e, n1, (Prims.parse_int "0")) - | ([], (e, n1)::uu____8081) -> + | ([],(e,n1)::uu____8072) -> FStar_Pervasives_Native.Some (e, (Prims.parse_int "0"), n1) - | ((hd1, n1)::tl1, (hd2, n2)::tl2) when hd1 <> hd2 -> + | ((hd1,n1)::tl1,(hd2,n2)::tl2) -> if hd1 < hd2 then FStar_Pervasives_Native.Some (hd1, n1, (Prims.parse_int "0")) @@ -3924,567 +4440,610 @@ let (check_multi_eq : else if n1 <> n2 then FStar_Pervasives_Native.Some (hd1, n1, n2) - else aux tl1 tl2 in + else aux tl1 tl2 + in aux l11 l21 + let (check_must_erase_attribute : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt -> unit) = - fun env -> - fun se -> + fun env -> + fun se -> match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_let (lbs, l) -> - let uu____8292 = - let uu____8294 = FStar_Options.ide () in - Prims.op_Negation uu____8294 in - if uu____8292 + | FStar_Syntax_Syntax.Sig_let (lbs,l) -> + let uu____8282 = + let uu____8284 = FStar_Options.ide () in + Prims.op_Negation uu____8284 in + if uu____8282 then - let uu____8297 = - let uu____8302 = FStar_TypeChecker_Env.dsenv env in - let uu____8303 = FStar_TypeChecker_Env.current_module env in - FStar_Syntax_DsEnv.iface_decls uu____8302 uu____8303 in - (match uu____8297 with - | FStar_Pervasives_Native.None -> () + let uu____8287 = + let uu____8292 = FStar_TypeChecker_Env.dsenv env in + let uu____8293 = FStar_TypeChecker_Env.current_module env in + FStar_Syntax_DsEnv.iface_decls uu____8292 uu____8293 in + (match uu____8287 with + | FStar_Pervasives_Native.None -> () | FStar_Pervasives_Native.Some iface_decls1 -> FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs) (FStar_List.iter - (fun lb -> + (fun lb -> let lbname = - FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + FStar_Util.right lb.FStar_Syntax_Syntax.lbname in let has_iface_val = FStar_All.pipe_right iface_decls1 (FStar_Util.for_some (FStar_Parser_AST.decl_is_val - ((lbname.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.ident)) in + ((lbname.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v).FStar_Ident.ident)) + in if has_iface_val then let must_erase = FStar_TypeChecker_Util.must_erase_for_extraction - env lb.FStar_Syntax_Syntax.lbdef in + env lb.FStar_Syntax_Syntax.lbdef + in let has_attr = FStar_TypeChecker_Env.fv_has_attr env lbname - FStar_Parser_Const.must_erase_for_extraction_attr in + FStar_Parser_Const.must_erase_for_extraction_attr + in (if must_erase && (Prims.op_Negation has_attr) then - let uu____8336 = - FStar_Syntax_Syntax.range_of_fv lbname in - let uu____8337 = - let uu____8343 = - let uu____8345 = - FStar_Syntax_Print.fv_to_string lbname in - let uu____8347 = - FStar_Syntax_Print.fv_to_string lbname in + let uu____8326 = + FStar_Syntax_Syntax.range_of_fv lbname in + let uu____8327 = + let uu____8333 = + let uu____8335 = + FStar_Syntax_Print.fv_to_string lbname + in + let uu____8337 = + FStar_Syntax_Print.fv_to_string lbname + in FStar_Util.format2 "Values of type `%s` will be erased during extraction, but its interface hides this fact. Add the `must_erase_for_extraction` attribute to the `val %s` declaration for this symbol in the interface" - uu____8345 uu____8347 in + uu____8335 uu____8337 + in (FStar_Errors.Error_MustEraseMissing, - uu____8343) in - FStar_Errors.log_issue uu____8336 uu____8337 + uu____8333) + in + FStar_Errors.log_issue uu____8326 uu____8327 else if has_attr && (Prims.op_Negation must_erase) then - (let uu____8354 = - FStar_Syntax_Syntax.range_of_fv lbname in - let uu____8355 = - let uu____8361 = - let uu____8363 = - FStar_Syntax_Print.fv_to_string lbname in + (let uu____8344 = + FStar_Syntax_Syntax.range_of_fv lbname in + let uu____8345 = + let uu____8351 = + let uu____8353 = + FStar_Syntax_Print.fv_to_string lbname + in FStar_Util.format1 "Values of type `%s` cannot be erased during extraction, but the `must_erase_for_extraction` attribute claims that it can. Please remove the attribute." - uu____8363 in + uu____8353 + in (FStar_Errors.Error_MustEraseMissing, - uu____8361) in - FStar_Errors.log_issue uu____8354 uu____8355) + uu____8351) + in + FStar_Errors.log_issue uu____8344 uu____8345) else ()) else ()))) else () - | uu____8373 -> () + | uu____8363 -> () + let (tc_decl' : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt -> (FStar_Syntax_Syntax.sigelt Prims.list * FStar_Syntax_Syntax.sigelt Prims.list * FStar_TypeChecker_Env.env)) = - fun env0 -> - fun se -> - let env = env0 in + fun env0 -> + fun se -> + let env = env0 in FStar_TypeChecker_Util.check_sigelt_quals env se; - (let r = se.FStar_Syntax_Syntax.sigrng in + (let r = se.FStar_Syntax_Syntax.sigrng in match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_inductive_typ uu____8418 -> + | FStar_Syntax_Syntax.Sig_inductive_typ uu____8408 -> failwith "Impossible bare data-constructor" - | FStar_Syntax_Syntax.Sig_datacon uu____8446 -> + | FStar_Syntax_Syntax.Sig_datacon uu____8436 -> failwith "Impossible bare data-constructor" - | FStar_Syntax_Syntax.Sig_bundle (ses, lids) when + | FStar_Syntax_Syntax.Sig_bundle (ses,lids) when FStar_All.pipe_right lids (FStar_Util.for_some (FStar_Ident.lid_equals FStar_Parser_Const.lex_t_lid)) -> - let env1 = FStar_TypeChecker_Env.set_range env r in - let se1 = tc_lex_t env1 ses se.FStar_Syntax_Syntax.sigquals lids in + let env1 = FStar_TypeChecker_Env.set_range env r in + let se1 = tc_lex_t env1 ses se.FStar_Syntax_Syntax.sigquals lids + in ([se1], [], env0) - | FStar_Syntax_Syntax.Sig_bundle (ses, lids) -> - let env1 = FStar_TypeChecker_Env.set_range env r in + | FStar_Syntax_Syntax.Sig_bundle (ses,lids) -> + let env1 = FStar_TypeChecker_Env.set_range env r in let ses1 = - let uu____8506 = + let uu____8496 = (FStar_Options.use_two_phase_tc ()) && - (FStar_TypeChecker_Env.should_verify env1) in - if uu____8506 + (FStar_TypeChecker_Env.should_verify env1) + in + if uu____8496 then let ses1 = - let uu____8514 = - let uu____8515 = - let uu____8516 = + let uu____8504 = + let uu____8505 = + let uu____8506 = tc_inductive - (let uu___1006_8525 = env1 in + (let uu___1003_8515 = env1 in { FStar_TypeChecker_Env.solver = - (uu___1006_8525.FStar_TypeChecker_Env.solver); + (uu___1003_8515.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1006_8525.FStar_TypeChecker_Env.range); + (uu___1003_8515.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1006_8525.FStar_TypeChecker_Env.curmodule); + (uu___1003_8515.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1006_8525.FStar_TypeChecker_Env.gamma); + (uu___1003_8515.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1006_8525.FStar_TypeChecker_Env.gamma_sig); + (uu___1003_8515.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1006_8525.FStar_TypeChecker_Env.gamma_cache); + (uu___1003_8515.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1006_8525.FStar_TypeChecker_Env.modules); + (uu___1003_8515.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1006_8525.FStar_TypeChecker_Env.expected_typ); + (uu___1003_8515.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1006_8525.FStar_TypeChecker_Env.sigtab); + (uu___1003_8515.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1006_8525.FStar_TypeChecker_Env.attrtab); + (uu___1003_8515.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1006_8525.FStar_TypeChecker_Env.is_pattern); + (uu___1003_8515.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1006_8525.FStar_TypeChecker_Env.instantiate_imp); + (uu___1003_8515.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1006_8525.FStar_TypeChecker_Env.effects); + (uu___1003_8515.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1006_8525.FStar_TypeChecker_Env.generalize); + (uu___1003_8515.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1006_8525.FStar_TypeChecker_Env.letrecs); + (uu___1003_8515.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1006_8525.FStar_TypeChecker_Env.top_level); + (uu___1003_8515.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1006_8525.FStar_TypeChecker_Env.check_uvars); + (uu___1003_8515.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1006_8525.FStar_TypeChecker_Env.use_eq); + (uu___1003_8515.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1006_8525.FStar_TypeChecker_Env.is_iface); + (uu___1003_8515.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1006_8525.FStar_TypeChecker_Env.admit); + (uu___1003_8515.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___1006_8525.FStar_TypeChecker_Env.lax_universes); + (uu___1003_8515.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = true; FStar_TypeChecker_Env.failhard = - (uu___1006_8525.FStar_TypeChecker_Env.failhard); + (uu___1003_8515.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1006_8525.FStar_TypeChecker_Env.nosynth); + (uu___1003_8515.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1006_8525.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1003_8515.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1006_8525.FStar_TypeChecker_Env.tc_term); + (uu___1003_8515.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1006_8525.FStar_TypeChecker_Env.type_of); + (uu___1003_8515.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1006_8525.FStar_TypeChecker_Env.universe_of); + (uu___1003_8515.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1006_8525.FStar_TypeChecker_Env.check_type_of); + (uu___1003_8515.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1006_8525.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1003_8515.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1006_8525.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1003_8515.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1006_8525.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1003_8515.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1006_8525.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1003_8515.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1006_8525.FStar_TypeChecker_Env.proof_ns); + (uu___1003_8515.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1006_8525.FStar_TypeChecker_Env.synth_hook); + (uu___1003_8515.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1006_8525.FStar_TypeChecker_Env.splice); + (uu___1003_8515.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1006_8525.FStar_TypeChecker_Env.postprocess); + (uu___1003_8515.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1006_8525.FStar_TypeChecker_Env.is_native_tactic); + (uu___1003_8515.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1006_8525.FStar_TypeChecker_Env.identifier_info); + (uu___1003_8515.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1006_8525.FStar_TypeChecker_Env.tc_hooks); + (uu___1003_8515.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1006_8525.FStar_TypeChecker_Env.dsenv); + (uu___1003_8515.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1006_8525.FStar_TypeChecker_Env.nbe) - }) ses se.FStar_Syntax_Syntax.sigquals lids in - FStar_All.pipe_right uu____8516 - FStar_Pervasives_Native.fst in - FStar_All.pipe_right uu____8515 - (FStar_TypeChecker_Normalize.elim_uvars env1) in - FStar_All.pipe_right uu____8514 - FStar_Syntax_Util.ses_of_sigbundle in - ((let uu____8539 = + (uu___1003_8515.FStar_TypeChecker_Env.nbe) + }) ses se.FStar_Syntax_Syntax.sigquals lids + in + FStar_All.pipe_right uu____8506 + FStar_Pervasives_Native.fst + in + FStar_All.pipe_right uu____8505 + (FStar_TypeChecker_Normalize.elim_uvars env1) + in + FStar_All.pipe_right uu____8504 + FStar_Syntax_Util.ses_of_sigbundle + in + ((let uu____8529 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "TwoPhases") in - if uu____8539 + (FStar_Options.Other "TwoPhases") + in + if uu____8529 then - let uu____8544 = + let uu____8534 = FStar_Syntax_Print.sigelt_to_string - (let uu___1010_8548 = se in + (let uu___1007_8538 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_bundle (ses1, lids)); FStar_Syntax_Syntax.sigrng = - (uu___1010_8548.FStar_Syntax_Syntax.sigrng); + (uu___1007_8538.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1010_8548.FStar_Syntax_Syntax.sigquals); + (uu___1007_8538.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1010_8548.FStar_Syntax_Syntax.sigmeta); + (uu___1007_8538.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1010_8548.FStar_Syntax_Syntax.sigattrs) - }) in + (uu___1007_8538.FStar_Syntax_Syntax.sigattrs) + }) + in FStar_Util.print1 "Inductive after phase 1: %s\n" - uu____8544 + uu____8534 else ()); ses1) - else ses in - let uu____8558 = - tc_inductive env1 ses1 se.FStar_Syntax_Syntax.sigquals lids in - (match uu____8558 with - | (sigbndle, projectors_ses) -> + else ses in + let uu____8548 = + tc_inductive env1 ses1 se.FStar_Syntax_Syntax.sigquals lids in + (match uu____8548 with + | (sigbndle,projectors_ses) -> let sigbndle1 = - let uu___1017_8582 = sigbndle in + let uu___1014_8572 = sigbndle in { FStar_Syntax_Syntax.sigel = - (uu___1017_8582.FStar_Syntax_Syntax.sigel); + (uu___1014_8572.FStar_Syntax_Syntax.sigel); FStar_Syntax_Syntax.sigrng = - (uu___1017_8582.FStar_Syntax_Syntax.sigrng); + (uu___1014_8572.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1017_8582.FStar_Syntax_Syntax.sigquals); + (uu___1014_8572.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1017_8582.FStar_Syntax_Syntax.sigmeta); + (uu___1014_8572.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = (se.FStar_Syntax_Syntax.sigattrs) - } in + } in ([sigbndle1], projectors_ses, env0)) | FStar_Syntax_Syntax.Sig_pragma p -> (FStar_Syntax_Util.process_pragma p r; ([se], [], env0)) | FStar_Syntax_Syntax.Sig_new_effect_for_free ne -> - let uu____8594 = cps_and_elaborate env ne in - (match uu____8594 with - | (ses, ne1, lift_from_pure_opt) -> + let uu____8584 = cps_and_elaborate env ne in + (match uu____8584 with + | (ses,ne1,lift_from_pure_opt) -> let effect_and_lift_ses = match lift_from_pure_opt with | FStar_Pervasives_Native.Some lift -> - [(let uu___1031_8633 = se in + [(let uu___1028_8623 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_new_effect ne1); FStar_Syntax_Syntax.sigrng = - (uu___1031_8633.FStar_Syntax_Syntax.sigrng); + (uu___1028_8623.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1031_8633.FStar_Syntax_Syntax.sigquals); + (uu___1028_8623.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1031_8633.FStar_Syntax_Syntax.sigmeta); + (uu___1028_8623.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1031_8633.FStar_Syntax_Syntax.sigattrs) + (uu___1028_8623.FStar_Syntax_Syntax.sigattrs) }); lift] - | FStar_Pervasives_Native.None -> - [(let uu___1034_8635 = se in + | FStar_Pervasives_Native.None -> + [(let uu___1031_8625 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_new_effect ne1); FStar_Syntax_Syntax.sigrng = - (uu___1034_8635.FStar_Syntax_Syntax.sigrng); + (uu___1031_8625.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1034_8635.FStar_Syntax_Syntax.sigquals); + (uu___1031_8625.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1034_8635.FStar_Syntax_Syntax.sigmeta); + (uu___1031_8625.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1034_8635.FStar_Syntax_Syntax.sigattrs) - })] in + (uu___1031_8625.FStar_Syntax_Syntax.sigattrs) + })] + in ([], (FStar_List.append ses effect_and_lift_ses), env0)) | FStar_Syntax_Syntax.Sig_new_effect ne -> let ne1 = - let uu____8642 = + let uu____8632 = (FStar_Options.use_two_phase_tc ()) && - (FStar_TypeChecker_Env.should_verify env) in - if uu____8642 + (FStar_TypeChecker_Env.should_verify env) + in + if uu____8632 then let ne1 = - let uu____8646 = - let uu____8647 = - let uu____8648 = + let uu____8636 = + let uu____8637 = + let uu____8638 = tc_eff_decl - (let uu___1040_8651 = env in + (let uu___1037_8641 = env in { FStar_TypeChecker_Env.solver = - (uu___1040_8651.FStar_TypeChecker_Env.solver); + (uu___1037_8641.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1040_8651.FStar_TypeChecker_Env.range); + (uu___1037_8641.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1040_8651.FStar_TypeChecker_Env.curmodule); + (uu___1037_8641.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1040_8651.FStar_TypeChecker_Env.gamma); + (uu___1037_8641.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1040_8651.FStar_TypeChecker_Env.gamma_sig); + (uu___1037_8641.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1040_8651.FStar_TypeChecker_Env.gamma_cache); + (uu___1037_8641.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1040_8651.FStar_TypeChecker_Env.modules); + (uu___1037_8641.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1040_8651.FStar_TypeChecker_Env.expected_typ); + (uu___1037_8641.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1040_8651.FStar_TypeChecker_Env.sigtab); + (uu___1037_8641.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1040_8651.FStar_TypeChecker_Env.attrtab); + (uu___1037_8641.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1040_8651.FStar_TypeChecker_Env.is_pattern); + (uu___1037_8641.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1040_8651.FStar_TypeChecker_Env.instantiate_imp); + (uu___1037_8641.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1040_8651.FStar_TypeChecker_Env.effects); + (uu___1037_8641.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1040_8651.FStar_TypeChecker_Env.generalize); + (uu___1037_8641.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1040_8651.FStar_TypeChecker_Env.letrecs); + (uu___1037_8641.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1040_8651.FStar_TypeChecker_Env.top_level); + (uu___1037_8641.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1040_8651.FStar_TypeChecker_Env.check_uvars); + (uu___1037_8641.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1040_8651.FStar_TypeChecker_Env.use_eq); + (uu___1037_8641.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1040_8651.FStar_TypeChecker_Env.is_iface); + (uu___1037_8641.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1040_8651.FStar_TypeChecker_Env.admit); + (uu___1037_8641.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___1040_8651.FStar_TypeChecker_Env.lax_universes); + (uu___1037_8641.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = true; FStar_TypeChecker_Env.failhard = - (uu___1040_8651.FStar_TypeChecker_Env.failhard); + (uu___1037_8641.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1040_8651.FStar_TypeChecker_Env.nosynth); + (uu___1037_8641.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1040_8651.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1037_8641.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1040_8651.FStar_TypeChecker_Env.tc_term); + (uu___1037_8641.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1040_8651.FStar_TypeChecker_Env.type_of); + (uu___1037_8641.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1040_8651.FStar_TypeChecker_Env.universe_of); + (uu___1037_8641.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1040_8651.FStar_TypeChecker_Env.check_type_of); + (uu___1037_8641.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1040_8651.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1037_8641.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1040_8651.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1037_8641.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1040_8651.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1037_8641.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1040_8651.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1037_8641.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1040_8651.FStar_TypeChecker_Env.proof_ns); + (uu___1037_8641.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1040_8651.FStar_TypeChecker_Env.synth_hook); + (uu___1037_8641.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1040_8651.FStar_TypeChecker_Env.splice); + (uu___1037_8641.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1040_8651.FStar_TypeChecker_Env.postprocess); + (uu___1037_8641.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1040_8651.FStar_TypeChecker_Env.is_native_tactic); + (uu___1037_8641.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1040_8651.FStar_TypeChecker_Env.identifier_info); + (uu___1037_8641.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1040_8651.FStar_TypeChecker_Env.tc_hooks); + (uu___1037_8641.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1040_8651.FStar_TypeChecker_Env.dsenv); + (uu___1037_8641.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1040_8651.FStar_TypeChecker_Env.nbe) - }) ne in - FStar_All.pipe_right uu____8648 - (fun ne1 -> - let uu___1043_8657 = se in + (uu___1037_8641.FStar_TypeChecker_Env.nbe) + }) ne + in + FStar_All.pipe_right uu____8638 + (fun ne1 -> + let uu___1040_8647 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_new_effect ne1); FStar_Syntax_Syntax.sigrng = - (uu___1043_8657.FStar_Syntax_Syntax.sigrng); + (uu___1040_8647.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1043_8657.FStar_Syntax_Syntax.sigquals); + (uu___1040_8647.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1043_8657.FStar_Syntax_Syntax.sigmeta); + (uu___1040_8647.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1043_8657.FStar_Syntax_Syntax.sigattrs) - }) in - FStar_All.pipe_right uu____8647 - (FStar_TypeChecker_Normalize.elim_uvars env) in - FStar_All.pipe_right uu____8646 - FStar_Syntax_Util.eff_decl_of_new_effect in - ((let uu____8659 = + (uu___1040_8647.FStar_Syntax_Syntax.sigattrs) + }) + in + FStar_All.pipe_right uu____8637 + (FStar_TypeChecker_Normalize.elim_uvars env) + in + FStar_All.pipe_right uu____8636 + FStar_Syntax_Util.eff_decl_of_new_effect + in + ((let uu____8649 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "TwoPhases") in - if uu____8659 + (FStar_Options.Other "TwoPhases") + in + if uu____8649 then - let uu____8664 = + let uu____8654 = FStar_Syntax_Print.sigelt_to_string - (let uu___1047_8668 = se in + (let uu___1044_8658 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_new_effect ne1); FStar_Syntax_Syntax.sigrng = - (uu___1047_8668.FStar_Syntax_Syntax.sigrng); + (uu___1044_8658.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1047_8668.FStar_Syntax_Syntax.sigquals); + (uu___1044_8658.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1047_8668.FStar_Syntax_Syntax.sigmeta); + (uu___1044_8658.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1047_8668.FStar_Syntax_Syntax.sigattrs) - }) in + (uu___1044_8658.FStar_Syntax_Syntax.sigattrs) + }) + in FStar_Util.print1 "Effect decl after phase 1: %s\n" - uu____8664 + uu____8654 else ()); ne1) - else ne in - let ne2 = tc_eff_decl env ne1 in + else ne in + let ne2 = tc_eff_decl env ne1 in let se1 = - let uu___1052_8676 = se in + let uu___1049_8666 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_new_effect ne2); FStar_Syntax_Syntax.sigrng = - (uu___1052_8676.FStar_Syntax_Syntax.sigrng); + (uu___1049_8666.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1052_8676.FStar_Syntax_Syntax.sigquals); + (uu___1049_8666.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1052_8676.FStar_Syntax_Syntax.sigmeta); + (uu___1049_8666.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1052_8676.FStar_Syntax_Syntax.sigattrs) - } in + (uu___1049_8666.FStar_Syntax_Syntax.sigattrs) + } in ([se1], [], env0) | FStar_Syntax_Syntax.Sig_sub_effect sub1 -> let ed_src = FStar_TypeChecker_Env.get_effect_decl env - sub1.FStar_Syntax_Syntax.source in + sub1.FStar_Syntax_Syntax.source + in let ed_tgt = FStar_TypeChecker_Env.get_effect_decl env - sub1.FStar_Syntax_Syntax.target in - let uu____8684 = - let uu____8691 = + sub1.FStar_Syntax_Syntax.target + in + let uu____8674 = + let uu____8681 = FStar_TypeChecker_Env.lookup_effect_lid env - sub1.FStar_Syntax_Syntax.source in - monad_signature env sub1.FStar_Syntax_Syntax.source uu____8691 in - (match uu____8684 with - | (a, wp_a_src) -> - let uu____8708 = - let uu____8715 = + sub1.FStar_Syntax_Syntax.source + in + monad_signature env sub1.FStar_Syntax_Syntax.source uu____8681 + in + (match uu____8674 with + | (a,wp_a_src) -> + let uu____8698 = + let uu____8705 = FStar_TypeChecker_Env.lookup_effect_lid env - sub1.FStar_Syntax_Syntax.target in + sub1.FStar_Syntax_Syntax.target + in monad_signature env sub1.FStar_Syntax_Syntax.target - uu____8715 in - (match uu____8708 with - | (b, wp_b_tgt) -> + uu____8705 + in + (match uu____8698 with + | (b,wp_b_tgt) -> let wp_a_tgt = - let uu____8733 = - let uu____8736 = - let uu____8737 = - let uu____8744 = - FStar_Syntax_Syntax.bv_to_name a in - (b, uu____8744) in - FStar_Syntax_Syntax.NT uu____8737 in - [uu____8736] in - FStar_Syntax_Subst.subst uu____8733 wp_b_tgt in + let uu____8723 = + let uu____8726 = + let uu____8727 = + let uu____8734 = + FStar_Syntax_Syntax.bv_to_name a in + (b, uu____8734) in + FStar_Syntax_Syntax.NT uu____8727 in + [uu____8726] in + FStar_Syntax_Subst.subst uu____8723 wp_b_tgt in let expected_k = - let uu____8752 = - let uu____8761 = FStar_Syntax_Syntax.mk_binder a in - let uu____8768 = - let uu____8777 = - FStar_Syntax_Syntax.null_binder wp_a_src in - [uu____8777] in - uu____8761 :: uu____8768 in - let uu____8802 = FStar_Syntax_Syntax.mk_Total wp_a_tgt in - FStar_Syntax_Util.arrow uu____8752 uu____8802 in + let uu____8742 = + let uu____8751 = FStar_Syntax_Syntax.mk_binder a in + let uu____8758 = + let uu____8767 = + FStar_Syntax_Syntax.null_binder wp_a_src in + [uu____8767] in + uu____8751 :: uu____8758 in + let uu____8792 = FStar_Syntax_Syntax.mk_Total wp_a_tgt + in + FStar_Syntax_Util.arrow uu____8742 uu____8792 in let repr_type eff_name a1 wp = - (let uu____8824 = - let uu____8826 = + (let uu____8814 = + let uu____8816 = FStar_TypeChecker_Env.is_reifiable_effect env - eff_name in - Prims.op_Negation uu____8826 in - if uu____8824 + eff_name + in + Prims.op_Negation uu____8816 in + if uu____8814 then - let uu____8829 = - let uu____8835 = + let uu____8819 = + let uu____8825 = FStar_Util.format1 "Effect %s cannot be reified" - eff_name.FStar_Ident.str in + eff_name.FStar_Ident.str + in (FStar_Errors.Fatal_EffectCannotBeReified, - uu____8835) in - let uu____8839 = - FStar_TypeChecker_Env.get_range env in - FStar_Errors.raise_error uu____8829 uu____8839 + uu____8825) + in + let uu____8829 = + FStar_TypeChecker_Env.get_range env in + FStar_Errors.raise_error uu____8819 uu____8829 else ()); - (let uu____8842 = - FStar_TypeChecker_Env.effect_decl_opt env eff_name in - match uu____8842 with - | FStar_Pervasives_Native.None -> + (let uu____8832 = + FStar_TypeChecker_Env.effect_decl_opt env eff_name + in + match uu____8832 with + | FStar_Pervasives_Native.None -> failwith "internal error: reifiable effect has no decl?" - | FStar_Pervasives_Native.Some (ed, qualifiers) -> + | FStar_Pervasives_Native.Some (ed,qualifiers) -> let repr = FStar_TypeChecker_Env.inst_effect_fun_with [FStar_Syntax_Syntax.U_unknown] env ed - ([], (ed.FStar_Syntax_Syntax.repr)) in - let uu____8879 = - FStar_TypeChecker_Env.get_range env in - let uu____8880 = - let uu____8887 = - let uu____8888 = - let uu____8905 = - let uu____8916 = - FStar_Syntax_Syntax.as_arg a1 in - let uu____8925 = - let uu____8936 = - FStar_Syntax_Syntax.as_arg wp in - [uu____8936] in - uu____8916 :: uu____8925 in - (repr, uu____8905) in - FStar_Syntax_Syntax.Tm_app uu____8888 in - FStar_Syntax_Syntax.mk uu____8887 in - uu____8880 FStar_Pervasives_Native.None - uu____8879) in - let uu____8981 = + ([], (ed.FStar_Syntax_Syntax.repr)) + in + let uu____8869 = + FStar_TypeChecker_Env.get_range env in + let uu____8870 = + let uu____8877 = + let uu____8878 = + let uu____8895 = + let uu____8906 = + FStar_Syntax_Syntax.as_arg a1 in + let uu____8915 = + let uu____8926 = + FStar_Syntax_Syntax.as_arg wp in + [uu____8926] in + uu____8906 :: uu____8915 in + (repr, uu____8895) in + FStar_Syntax_Syntax.Tm_app uu____8878 in + FStar_Syntax_Syntax.mk uu____8877 in + uu____8870 FStar_Pervasives_Native.None + uu____8869) + in + let uu____8971 = match ((sub1.FStar_Syntax_Syntax.lift), (sub1.FStar_Syntax_Syntax.lift_wp)) with - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) -> + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.None ) -> failwith "Impossible (parser)" - | (lift, FStar_Pervasives_Native.Some (uvs, lift_wp)) - -> - let uu____9154 = + | (lift,FStar_Pervasives_Native.Some (uvs,lift_wp)) -> + let uu____9144 = if (FStar_List.length uvs) > (Prims.parse_int "0") then - let uu____9165 = - FStar_Syntax_Subst.univ_var_opening uvs in - match uu____9165 with - | (usubst, uvs1) -> - let uu____9188 = + let uu____9155 = + FStar_Syntax_Subst.univ_var_opening uvs in + match uu____9155 with + | (usubst,uvs1) -> + let uu____9178 = FStar_TypeChecker_Env.push_univ_vars env - uvs1 in - let uu____9189 = - FStar_Syntax_Subst.subst usubst lift_wp in - (uu____9188, uu____9189) - else (env, lift_wp) in - (match uu____9154 with - | (env1, lift_wp1) -> + uvs1 + in + let uu____9179 = + FStar_Syntax_Subst.subst usubst lift_wp + in + (uu____9178, uu____9179) + else (env, lift_wp) in + (match uu____9144 with + | (env1,lift_wp1) -> let lift_wp2 = if (FStar_List.length uvs) = @@ -4493,223 +5052,251 @@ let (tc_decl' : else (let lift_wp2 = tc_check_trivial_guard env1 lift_wp1 - expected_k in - let uu____9239 = + expected_k + in + let uu____9229 = FStar_Syntax_Subst.close_univ_vars uvs - lift_wp2 in - (uvs, uu____9239)) in + lift_wp2 + in + (uvs, uu____9229)) + in (lift, lift_wp2)) - | (FStar_Pervasives_Native.Some (what, lift), - FStar_Pervasives_Native.None) -> - let uu____9310 = + | (FStar_Pervasives_Native.Some + (what,lift),FStar_Pervasives_Native.None ) -> + let uu____9300 = if (FStar_List.length what) > (Prims.parse_int "0") then - let uu____9325 = - FStar_Syntax_Subst.univ_var_opening what in - match uu____9325 with - | (usubst, uvs) -> - let uu____9350 = - FStar_Syntax_Subst.subst usubst lift in - (uvs, uu____9350) - else ([], lift) in - (match uu____9310 with - | (uvs, lift1) -> - ((let uu____9386 = + let uu____9315 = + FStar_Syntax_Subst.univ_var_opening what in + match uu____9315 with + | (usubst,uvs) -> + let uu____9340 = + FStar_Syntax_Subst.subst usubst lift in + (uvs, uu____9340) + else ([], lift) in + (match uu____9300 with + | (uvs,lift1) -> + ((let uu____9376 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "ED") in - if uu____9386 + (FStar_Options.Other "ED") + in + if uu____9376 then - let uu____9390 = - FStar_Syntax_Print.term_to_string lift1 in + let uu____9380 = + FStar_Syntax_Print.term_to_string lift1 + in FStar_Util.print1 "Lift for free : %s\n" - uu____9390 + uu____9380 else ()); (let dmff_env = FStar_TypeChecker_DMFF.empty env (FStar_TypeChecker_TcTerm.tc_constant - env FStar_Range.dummyRange) in - let uu____9396 = - let uu____9403 = + env FStar_Range.dummyRange) + in + let uu____9386 = + let uu____9393 = FStar_TypeChecker_Env.push_univ_vars - env uvs in + env uvs + in FStar_TypeChecker_TcTerm.tc_term - uu____9403 lift1 in - match uu____9396 with - | (lift2, comp, uu____9428) -> - let uu____9429 = + uu____9393 lift1 + in + match uu____9386 with + | (lift2,comp,uu____9418) -> + let uu____9419 = FStar_TypeChecker_DMFF.star_expr - dmff_env lift2 in - (match uu____9429 with - | (uu____9458, lift_wp, lift_elab) -> + dmff_env lift2 + in + (match uu____9419 with + | (uu____9448,lift_wp,lift_elab) -> let lift_wp1 = recheck_debug "lift-wp" env - lift_wp in + lift_wp + in let lift_elab1 = recheck_debug "lift-elab" env - lift_elab in + lift_elab + in if (FStar_List.length uvs) = (Prims.parse_int "0") then - let uu____9490 = - let uu____9501 = + let uu____9480 = + let uu____9491 = FStar_TypeChecker_Util.generalize_universes - env lift_elab1 in + env lift_elab1 + in FStar_Pervasives_Native.Some - uu____9501 in - let uu____9518 = + uu____9491 + in + let uu____9508 = FStar_TypeChecker_Util.generalize_universes - env lift_wp1 in - (uu____9490, uu____9518) + env lift_wp1 + in + (uu____9480, uu____9508) else - (let uu____9547 = - let uu____9558 = - let uu____9567 = + (let uu____9537 = + let uu____9548 = + let uu____9557 = FStar_Syntax_Subst.close_univ_vars - uvs lift_elab1 in - (uvs, uu____9567) in + uvs lift_elab1 + in + (uvs, uu____9557) in FStar_Pervasives_Native.Some - uu____9558 in - let uu____9582 = - let uu____9591 = + uu____9548 + in + let uu____9572 = + let uu____9581 = FStar_Syntax_Subst.close_univ_vars - uvs lift_wp1 in - (uvs, uu____9591) in - (uu____9547, uu____9582)))))) in - (match uu____8981 with - | (lift, lift_wp) -> + uvs lift_wp1 + in + (uvs, uu____9581) in + (uu____9537, uu____9572)))))) + in + (match uu____8971 with + | (lift,lift_wp) -> let env1 = - let uu___1128_9665 = env in + let uu___1125_9655 = env in { FStar_TypeChecker_Env.solver = - (uu___1128_9665.FStar_TypeChecker_Env.solver); + (uu___1125_9655.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1128_9665.FStar_TypeChecker_Env.range); + (uu___1125_9655.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1128_9665.FStar_TypeChecker_Env.curmodule); + (uu___1125_9655.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1128_9665.FStar_TypeChecker_Env.gamma); + (uu___1125_9655.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1128_9665.FStar_TypeChecker_Env.gamma_sig); + (uu___1125_9655.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1128_9665.FStar_TypeChecker_Env.gamma_cache); + (uu___1125_9655.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1128_9665.FStar_TypeChecker_Env.modules); + (uu___1125_9655.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1128_9665.FStar_TypeChecker_Env.expected_typ); + (uu___1125_9655.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1128_9665.FStar_TypeChecker_Env.sigtab); + (uu___1125_9655.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1128_9665.FStar_TypeChecker_Env.attrtab); + (uu___1125_9655.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1128_9665.FStar_TypeChecker_Env.is_pattern); + (uu___1125_9655.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1128_9665.FStar_TypeChecker_Env.instantiate_imp); + (uu___1125_9655.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1128_9665.FStar_TypeChecker_Env.effects); + (uu___1125_9655.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1128_9665.FStar_TypeChecker_Env.generalize); + (uu___1125_9655.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1128_9665.FStar_TypeChecker_Env.letrecs); + (uu___1125_9655.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1128_9665.FStar_TypeChecker_Env.top_level); + (uu___1125_9655.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1128_9665.FStar_TypeChecker_Env.check_uvars); + (uu___1125_9655.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1128_9665.FStar_TypeChecker_Env.use_eq); + (uu___1125_9655.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1128_9665.FStar_TypeChecker_Env.is_iface); + (uu___1125_9655.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1128_9665.FStar_TypeChecker_Env.admit); + (uu___1125_9655.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___1128_9665.FStar_TypeChecker_Env.lax_universes); + (uu___1125_9655.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1128_9665.FStar_TypeChecker_Env.phase1); + (uu___1125_9655.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1128_9665.FStar_TypeChecker_Env.failhard); + (uu___1125_9655.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1128_9665.FStar_TypeChecker_Env.nosynth); + (uu___1125_9655.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1128_9665.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1125_9655.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1128_9665.FStar_TypeChecker_Env.tc_term); + (uu___1125_9655.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1128_9665.FStar_TypeChecker_Env.type_of); + (uu___1125_9655.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1128_9665.FStar_TypeChecker_Env.universe_of); + (uu___1125_9655.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1128_9665.FStar_TypeChecker_Env.check_type_of); + (uu___1125_9655.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1128_9665.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1125_9655.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1128_9665.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1125_9655.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1128_9665.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1125_9655.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1128_9665.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1125_9655.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1128_9665.FStar_TypeChecker_Env.proof_ns); + (uu___1125_9655.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1128_9665.FStar_TypeChecker_Env.synth_hook); + (uu___1125_9655.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1128_9665.FStar_TypeChecker_Env.splice); + (uu___1125_9655.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1128_9665.FStar_TypeChecker_Env.postprocess); + (uu___1125_9655.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1128_9665.FStar_TypeChecker_Env.is_native_tactic); + (uu___1125_9655.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1128_9665.FStar_TypeChecker_Env.identifier_info); + (uu___1125_9655.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1128_9665.FStar_TypeChecker_Env.tc_hooks); + (uu___1125_9655.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1128_9665.FStar_TypeChecker_Env.dsenv); + (uu___1125_9655.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1128_9665.FStar_TypeChecker_Env.nbe) - } in + (uu___1125_9655.FStar_TypeChecker_Env.nbe) + } in let lift1 = match lift with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None - | FStar_Pervasives_Native.Some (uvs, lift1) -> - let uu____9722 = - let uu____9727 = - FStar_Syntax_Subst.univ_var_opening uvs in - match uu____9727 with - | (usubst, uvs1) -> - let uu____9750 = + | FStar_Pervasives_Native.Some (uvs,lift1) -> + let uu____9712 = + let uu____9717 = + FStar_Syntax_Subst.univ_var_opening uvs + in + match uu____9717 with + | (usubst,uvs1) -> + let uu____9740 = FStar_TypeChecker_Env.push_univ_vars - env1 uvs1 in - let uu____9751 = - FStar_Syntax_Subst.subst usubst lift1 in - (uu____9750, uu____9751) in - (match uu____9722 with - | (env2, lift2) -> - let uu____9764 = - let uu____9771 = + env1 uvs1 + in + let uu____9741 = + FStar_Syntax_Subst.subst usubst lift1 + in + (uu____9740, uu____9741) + in + (match uu____9712 with + | (env2,lift2) -> + let uu____9754 = + let uu____9761 = FStar_TypeChecker_Env.lookup_effect_lid env2 - sub1.FStar_Syntax_Syntax.source in + sub1.FStar_Syntax_Syntax.source + in monad_signature env2 sub1.FStar_Syntax_Syntax.source - uu____9771 in - (match uu____9764 with - | (a1, wp_a_src1) -> + uu____9761 + in + (match uu____9754 with + | (a1,wp_a_src1) -> let wp_a = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - wp_a_src1 in + wp_a_src1 + in let a_typ = - FStar_Syntax_Syntax.bv_to_name a1 in + FStar_Syntax_Syntax.bv_to_name a1 + in let wp_a_typ = FStar_Syntax_Syntax.bv_to_name - wp_a in + wp_a + in let repr_f = repr_type sub1.FStar_Syntax_Syntax.source - a_typ wp_a_typ in + a_typ wp_a_typ + in let repr_result = let lift_wp1 = FStar_TypeChecker_Normalize.normalize @@ -4717,63 +5304,79 @@ let (tc_decl' : FStar_TypeChecker_Env.AllowUnboundUniverses] env2 (FStar_Pervasives_Native.snd - lift_wp) in + lift_wp) + in let lift_wp_a = - let uu____9805 = + let uu____9795 = FStar_TypeChecker_Env.get_range - env2 in - let uu____9806 = - let uu____9813 = - let uu____9814 = - let uu____9831 = - let uu____9842 = + env2 + in + let uu____9796 = + let uu____9803 = + let uu____9804 = + let uu____9821 = + let uu____9832 = FStar_Syntax_Syntax.as_arg - a_typ in - let uu____9851 = - let uu____9862 = + a_typ + in + let uu____9841 = + let uu____9852 = FStar_Syntax_Syntax.as_arg - wp_a_typ in - [uu____9862] in - uu____9842 :: - uu____9851 in - (lift_wp1, uu____9831) in + wp_a_typ + in + [uu____9852] in + uu____9832 :: + uu____9841 + in + (lift_wp1, uu____9821) + in FStar_Syntax_Syntax.Tm_app - uu____9814 in + uu____9804 + in FStar_Syntax_Syntax.mk - uu____9813 in - uu____9806 + uu____9803 + in + uu____9796 FStar_Pervasives_Native.None - uu____9805 in + uu____9795 + in repr_type sub1.FStar_Syntax_Syntax.target - a_typ lift_wp_a in + a_typ lift_wp_a + in let expected_k1 = - let uu____9910 = - let uu____9919 = + let uu____9900 = + let uu____9909 = FStar_Syntax_Syntax.mk_binder - a1 in - let uu____9926 = - let uu____9935 = + a1 + in + let uu____9916 = + let uu____9925 = FStar_Syntax_Syntax.mk_binder - wp_a in - let uu____9942 = - let uu____9951 = + wp_a + in + let uu____9932 = + let uu____9941 = FStar_Syntax_Syntax.null_binder - repr_f in - [uu____9951] in - uu____9935 :: uu____9942 in - uu____9919 :: uu____9926 in - let uu____9982 = + repr_f + in + [uu____9941] in + uu____9925 :: uu____9932 in + uu____9909 :: uu____9916 in + let uu____9972 = FStar_Syntax_Syntax.mk_Total - repr_result in + repr_result + in FStar_Syntax_Util.arrow - uu____9910 uu____9982 in - let uu____9985 = + uu____9900 uu____9972 + in + let uu____9975 = FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term - env2 expected_k1 in - (match uu____9985 with - | (expected_k2, uu____10003, - uu____10004) -> + env2 expected_k1 + in + (match uu____9975 with + | (expected_k2,uu____9993,uu____9994) + -> let lift3 = if (FStar_List.length uvs) = @@ -4785,886 +5388,963 @@ let (tc_decl' : (let lift3 = tc_check_trivial_guard env2 lift2 - expected_k2 in - let uu____10028 = + expected_k2 + in + let uu____10018 = FStar_Syntax_Subst.close_univ_vars - uvs lift3 in - (uvs, uu____10028)) in + uvs lift3 + in + (uvs, uu____10018)) + in FStar_Pervasives_Native.Some - lift3))) in - ((let uu____10044 = - let uu____10046 = - let uu____10048 = + lift3))) + in + ((let uu____10034 = + let uu____10036 = + let uu____10038 = FStar_All.pipe_right lift_wp - FStar_Pervasives_Native.fst in - FStar_All.pipe_right uu____10048 - FStar_List.length in - uu____10046 <> (Prims.parse_int "1") in - if uu____10044 + FStar_Pervasives_Native.fst + in + FStar_All.pipe_right uu____10038 + FStar_List.length + in + uu____10036 <> (Prims.parse_int "1") in + if uu____10034 then - let uu____10071 = - let uu____10077 = - let uu____10079 = + let uu____10061 = + let uu____10067 = + let uu____10069 = FStar_Syntax_Print.lid_to_string - sub1.FStar_Syntax_Syntax.source in - let uu____10081 = + sub1.FStar_Syntax_Syntax.source + in + let uu____10071 = FStar_Syntax_Print.lid_to_string - sub1.FStar_Syntax_Syntax.target in - let uu____10083 = - let uu____10085 = - let uu____10087 = + sub1.FStar_Syntax_Syntax.target + in + let uu____10073 = + let uu____10075 = + let uu____10077 = FStar_All.pipe_right lift_wp - FStar_Pervasives_Native.fst in - FStar_All.pipe_right uu____10087 - FStar_List.length in - FStar_All.pipe_right uu____10085 - FStar_Util.string_of_int in + FStar_Pervasives_Native.fst + in + FStar_All.pipe_right uu____10077 + FStar_List.length + in + FStar_All.pipe_right uu____10075 + FStar_Util.string_of_int + in FStar_Util.format3 "Sub effect wp must be polymorphic in exactly 1 universe; %s ~> %s has %s universes" - uu____10079 uu____10081 uu____10083 in + uu____10069 uu____10071 uu____10073 + in (FStar_Errors.Fatal_TooManyUniverse, - uu____10077) in - FStar_Errors.raise_error uu____10071 r + uu____10067) + in + FStar_Errors.raise_error uu____10061 r else ()); - (let uu____10114 = + (let uu____10104 = (FStar_Util.is_some lift1) && - (let uu____10125 = - let uu____10127 = - let uu____10130 = + (let uu____10115 = + let uu____10117 = + let uu____10120 = FStar_All.pipe_right lift1 - FStar_Util.must in - FStar_All.pipe_right uu____10130 - FStar_Pervasives_Native.fst in - FStar_All.pipe_right uu____10127 - FStar_List.length in - uu____10125 <> (Prims.parse_int "1")) in - if uu____10114 + FStar_Util.must + in + FStar_All.pipe_right uu____10120 + FStar_Pervasives_Native.fst + in + FStar_All.pipe_right uu____10117 + FStar_List.length + in + uu____10115 <> (Prims.parse_int "1")) + in + if uu____10104 then - let uu____10185 = - let uu____10191 = - let uu____10193 = + let uu____10175 = + let uu____10181 = + let uu____10183 = FStar_Syntax_Print.lid_to_string - sub1.FStar_Syntax_Syntax.source in - let uu____10195 = + sub1.FStar_Syntax_Syntax.source + in + let uu____10185 = FStar_Syntax_Print.lid_to_string - sub1.FStar_Syntax_Syntax.target in - let uu____10197 = - let uu____10199 = - let uu____10201 = - let uu____10204 = + sub1.FStar_Syntax_Syntax.target + in + let uu____10187 = + let uu____10189 = + let uu____10191 = + let uu____10194 = FStar_All.pipe_right lift1 - FStar_Util.must in - FStar_All.pipe_right uu____10204 - FStar_Pervasives_Native.fst in - FStar_All.pipe_right uu____10201 - FStar_List.length in - FStar_All.pipe_right uu____10199 - FStar_Util.string_of_int in + FStar_Util.must + in + FStar_All.pipe_right uu____10194 + FStar_Pervasives_Native.fst + in + FStar_All.pipe_right uu____10191 + FStar_List.length + in + FStar_All.pipe_right uu____10189 + FStar_Util.string_of_int + in FStar_Util.format3 "Sub effect lift must be polymorphic in exactly 1 universe; %s ~> %s has %s universes" - uu____10193 uu____10195 uu____10197 in + uu____10183 uu____10185 uu____10187 + in (FStar_Errors.Fatal_TooManyUniverse, - uu____10191) in - FStar_Errors.raise_error uu____10185 r + uu____10181) + in + FStar_Errors.raise_error uu____10175 r else ()); (let sub2 = - let uu___1165_10263 = sub1 in + let uu___1162_10253 = sub1 in { FStar_Syntax_Syntax.source = - (uu___1165_10263.FStar_Syntax_Syntax.source); + (uu___1162_10253.FStar_Syntax_Syntax.source); FStar_Syntax_Syntax.target = - (uu___1165_10263.FStar_Syntax_Syntax.target); + (uu___1162_10253.FStar_Syntax_Syntax.target); FStar_Syntax_Syntax.lift_wp = (FStar_Pervasives_Native.Some lift_wp); FStar_Syntax_Syntax.lift = lift1 - } in + } in let se1 = - let uu___1168_10265 = se in + let uu___1165_10255 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_sub_effect sub2); FStar_Syntax_Syntax.sigrng = - (uu___1168_10265.FStar_Syntax_Syntax.sigrng); + (uu___1165_10255.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1168_10265.FStar_Syntax_Syntax.sigquals); + (uu___1165_10255.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1168_10265.FStar_Syntax_Syntax.sigmeta); + (uu___1165_10255.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1168_10265.FStar_Syntax_Syntax.sigattrs) - } in + (uu___1165_10255.FStar_Syntax_Syntax.sigattrs) + } in ([se1], [], env0)))))) - | FStar_Syntax_Syntax.Sig_effect_abbrev (lid, uvs, tps, c, flags) -> - let uu____10279 = + | FStar_Syntax_Syntax.Sig_effect_abbrev (lid,uvs,tps,c,flags) -> + let uu____10269 = if (FStar_List.length uvs) = (Prims.parse_int "0") then (env, uvs, tps, c) else - (let uu____10307 = FStar_Syntax_Subst.univ_var_opening uvs in - match uu____10307 with - | (usubst, uvs1) -> - let tps1 = FStar_Syntax_Subst.subst_binders usubst tps in + (let uu____10297 = FStar_Syntax_Subst.univ_var_opening uvs in + match uu____10297 with + | (usubst,uvs1) -> + let tps1 = FStar_Syntax_Subst.subst_binders usubst tps + in let c1 = - let uu____10338 = + let uu____10328 = FStar_Syntax_Subst.shift_subst - (FStar_List.length tps1) usubst in - FStar_Syntax_Subst.subst_comp uu____10338 c in - let uu____10347 = - FStar_TypeChecker_Env.push_univ_vars env uvs1 in - (uu____10347, uvs1, tps1, c1)) in - (match uu____10279 with - | (env1, uvs1, tps1, c1) -> - let env2 = FStar_TypeChecker_Env.set_range env1 r in - let uu____10369 = FStar_Syntax_Subst.open_comp tps1 c1 in - (match uu____10369 with - | (tps2, c2) -> - let uu____10386 = - FStar_TypeChecker_TcTerm.tc_tparams env2 tps2 in - (match uu____10386 with - | (tps3, env3, us) -> - let uu____10406 = - FStar_TypeChecker_TcTerm.tc_comp env3 c2 in - (match uu____10406 with - | (c3, u, g) -> + (FStar_List.length tps1) usubst + in + FStar_Syntax_Subst.subst_comp uu____10328 c in + let uu____10337 = + FStar_TypeChecker_Env.push_univ_vars env uvs1 in + (uu____10337, uvs1, tps1, c1)) + in + (match uu____10269 with + | (env1,uvs1,tps1,c1) -> + let env2 = FStar_TypeChecker_Env.set_range env1 r in + let uu____10359 = FStar_Syntax_Subst.open_comp tps1 c1 in + (match uu____10359 with + | (tps2,c2) -> + let uu____10376 = + FStar_TypeChecker_TcTerm.tc_tparams env2 tps2 in + (match uu____10376 with + | (tps3,env3,us) -> + let uu____10396 = + FStar_TypeChecker_TcTerm.tc_comp env3 c2 in + (match uu____10396 with + | (c3,u,g) -> (FStar_TypeChecker_Rel.force_trivial_guard env3 g; (let expected_result_typ = match tps3 with - | (x, uu____10434)::uu____10435 -> + | (x,uu____10424)::uu____10425 -> FStar_Syntax_Syntax.bv_to_name x - | uu____10454 -> + | uu____10444 -> FStar_Errors.raise_error (FStar_Errors.Fatal_NotEnoughArgumentsForEffect, "Effect abbreviations must bind at least the result type") - r in + r + in let def_result_typ = - FStar_Syntax_Util.comp_result c3 in - let uu____10462 = - let uu____10464 = + FStar_Syntax_Util.comp_result c3 in + let uu____10452 = + let uu____10454 = FStar_TypeChecker_Rel.teq_nosmt_force env3 expected_result_typ - def_result_typ in - Prims.op_Negation uu____10464 in - if uu____10462 + def_result_typ + in + Prims.op_Negation uu____10454 in + if uu____10452 then - let uu____10467 = - let uu____10473 = - let uu____10475 = + let uu____10457 = + let uu____10463 = + let uu____10465 = FStar_Syntax_Print.term_to_string - expected_result_typ in - let uu____10477 = + expected_result_typ + in + let uu____10467 = FStar_Syntax_Print.term_to_string - def_result_typ in + def_result_typ + in FStar_Util.format2 "Result type of effect abbreviation `%s` does not match the result type of its definition `%s`" - uu____10475 uu____10477 in + uu____10465 uu____10467 + in (FStar_Errors.Fatal_EffectAbbreviationResultTypeMismatch, - uu____10473) in - FStar_Errors.raise_error uu____10467 r + uu____10463) + in + FStar_Errors.raise_error uu____10457 r else ()); (let tps4 = - FStar_Syntax_Subst.close_binders tps3 in + FStar_Syntax_Subst.close_binders tps3 in let c4 = - FStar_Syntax_Subst.close_comp tps4 c3 in - let uu____10485 = - let uu____10486 = + FStar_Syntax_Subst.close_comp tps4 c3 in + let uu____10475 = + let uu____10476 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow (tps4, c4)) - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in FStar_TypeChecker_Util.generalize_universes - env0 uu____10486 in - match uu____10485 with - | (uvs2, t) -> - let uu____10517 = - let uu____10522 = - let uu____10535 = - let uu____10536 = - FStar_Syntax_Subst.compress t in - uu____10536.FStar_Syntax_Syntax.n in - (tps4, uu____10535) in - match uu____10522 with - | ([], FStar_Syntax_Syntax.Tm_arrow - (uu____10551, c5)) -> ([], c5) - | (uu____10593, - FStar_Syntax_Syntax.Tm_arrow - (tps5, c5)) -> (tps5, c5) - | uu____10632 -> + env0 uu____10476 + in + match uu____10475 with + | (uvs2,t) -> + let uu____10507 = + let uu____10512 = + let uu____10525 = + let uu____10526 = + FStar_Syntax_Subst.compress t + in + uu____10526.FStar_Syntax_Syntax.n + in + (tps4, uu____10525) in + match uu____10512 with + | ([],FStar_Syntax_Syntax.Tm_arrow + (uu____10541,c5)) -> ([], c5) + | (uu____10583,FStar_Syntax_Syntax.Tm_arrow + (tps5,c5)) -> (tps5, c5) + | uu____10622 -> failwith - "Impossible (t is an arrow)" in - (match uu____10517 with - | (tps5, c5) -> + "Impossible (t is an arrow)" + in + (match uu____10507 with + | (tps5,c5) -> (if (FStar_List.length uvs2) <> (Prims.parse_int "1") then - (let uu____10666 = + (let uu____10656 = FStar_Syntax_Subst.open_univ_vars - uvs2 t in - match uu____10666 with - | (uu____10671, t1) -> - let uu____10673 = - let uu____10679 = - let uu____10681 = + uvs2 t + in + match uu____10656 with + | (uu____10661,t1) -> + let uu____10663 = + let uu____10669 = + let uu____10671 = FStar_Syntax_Print.lid_to_string - lid in - let uu____10683 = + lid + in + let uu____10673 = FStar_All.pipe_right (FStar_List.length uvs2) - FStar_Util.string_of_int in - let uu____10687 = + FStar_Util.string_of_int + in + let uu____10677 = FStar_Syntax_Print.term_to_string - t1 in + t1 + in FStar_Util.format3 "Effect abbreviations must be polymorphic in exactly 1 universe; %s has %s universes (%s)" - uu____10681 - uu____10683 - uu____10687 in + uu____10671 + uu____10673 + uu____10677 + in (FStar_Errors.Fatal_TooManyUniverse, - uu____10679) in + uu____10669) + in FStar_Errors.raise_error - uu____10673 r) + uu____10663 r) else (); (let se1 = - let uu___1238_10694 = se in + let uu___1235_10684 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_effect_abbrev (lid, uvs2, tps5, c5, flags)); FStar_Syntax_Syntax.sigrng = - (uu___1238_10694.FStar_Syntax_Syntax.sigrng); + (uu___1235_10684.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1238_10694.FStar_Syntax_Syntax.sigquals); + (uu___1235_10684.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1238_10694.FStar_Syntax_Syntax.sigmeta); + (uu___1235_10684.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1238_10694.FStar_Syntax_Syntax.sigattrs) - } in + (uu___1235_10684.FStar_Syntax_Syntax.sigattrs) + } in ([se1], [], env0)))))))))) | FStar_Syntax_Syntax.Sig_declare_typ - (uu____10701, uu____10702, uu____10703) when + (uu____10691,uu____10692,uu____10693) when FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___1_10708 -> - match uu___1_10708 with - | FStar_Syntax_Syntax.OnlyName -> true - | uu____10711 -> false)) + (fun uu___1_10698 -> + match uu___1_10698 with + | FStar_Syntax_Syntax.OnlyName -> true + | uu____10701 -> false)) -> ([], [], env0) - | FStar_Syntax_Syntax.Sig_let (uu____10717, uu____10718) when + | FStar_Syntax_Syntax.Sig_let (uu____10707,uu____10708) when FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___1_10727 -> - match uu___1_10727 with - | FStar_Syntax_Syntax.OnlyName -> true - | uu____10730 -> false)) + (fun uu___1_10717 -> + match uu___1_10717 with + | FStar_Syntax_Syntax.OnlyName -> true + | uu____10720 -> false)) -> ([], [], env0) - | FStar_Syntax_Syntax.Sig_declare_typ (lid, uvs, t) -> - let env1 = FStar_TypeChecker_Env.set_range env r in - ((let uu____10741 = FStar_TypeChecker_Env.lid_exists env1 lid in - if uu____10741 + | FStar_Syntax_Syntax.Sig_declare_typ (lid,uvs,t) -> + let env1 = FStar_TypeChecker_Env.set_range env r in + ((let uu____10731 = FStar_TypeChecker_Env.lid_exists env1 lid in + if uu____10731 then - let uu____10744 = - let uu____10750 = - let uu____10752 = FStar_Ident.text_of_lid lid in + let uu____10734 = + let uu____10740 = + let uu____10742 = FStar_Ident.text_of_lid lid in FStar_Util.format1 "Top-level declaration %s for a name that is already used in this module; top-level declarations must be unique in their module" - uu____10752 in + uu____10742 + in (FStar_Errors.Fatal_AlreadyDefinedTopLevelDeclaration, - uu____10750) in - FStar_Errors.raise_error uu____10744 r + uu____10740) + in + FStar_Errors.raise_error uu____10734 r else ()); - (let uu____10758 = - let uu____10767 = + (let uu____10748 = + let uu____10757 = (FStar_Options.use_two_phase_tc ()) && - (FStar_TypeChecker_Env.should_verify env1) in - if uu____10767 + (FStar_TypeChecker_Env.should_verify env1) + in + if uu____10757 then - let uu____10778 = + let uu____10768 = tc_declare_typ - (let uu___1262_10781 = env1 in + (let uu___1259_10771 = env1 in { FStar_TypeChecker_Env.solver = - (uu___1262_10781.FStar_TypeChecker_Env.solver); + (uu___1259_10771.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1262_10781.FStar_TypeChecker_Env.range); + (uu___1259_10771.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1262_10781.FStar_TypeChecker_Env.curmodule); + (uu___1259_10771.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1262_10781.FStar_TypeChecker_Env.gamma); + (uu___1259_10771.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1262_10781.FStar_TypeChecker_Env.gamma_sig); + (uu___1259_10771.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1262_10781.FStar_TypeChecker_Env.gamma_cache); + (uu___1259_10771.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1262_10781.FStar_TypeChecker_Env.modules); + (uu___1259_10771.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1262_10781.FStar_TypeChecker_Env.expected_typ); + (uu___1259_10771.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1262_10781.FStar_TypeChecker_Env.sigtab); + (uu___1259_10771.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1262_10781.FStar_TypeChecker_Env.attrtab); + (uu___1259_10771.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1262_10781.FStar_TypeChecker_Env.is_pattern); + (uu___1259_10771.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1262_10781.FStar_TypeChecker_Env.instantiate_imp); + (uu___1259_10771.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1262_10781.FStar_TypeChecker_Env.effects); + (uu___1259_10771.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1262_10781.FStar_TypeChecker_Env.generalize); + (uu___1259_10771.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1262_10781.FStar_TypeChecker_Env.letrecs); + (uu___1259_10771.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1262_10781.FStar_TypeChecker_Env.top_level); + (uu___1259_10771.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1262_10781.FStar_TypeChecker_Env.check_uvars); + (uu___1259_10771.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1262_10781.FStar_TypeChecker_Env.use_eq); + (uu___1259_10771.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1262_10781.FStar_TypeChecker_Env.is_iface); + (uu___1259_10771.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1262_10781.FStar_TypeChecker_Env.admit); + (uu___1259_10771.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___1262_10781.FStar_TypeChecker_Env.lax_universes); + (uu___1259_10771.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1262_10781.FStar_TypeChecker_Env.phase1); + (uu___1259_10771.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1262_10781.FStar_TypeChecker_Env.failhard); + (uu___1259_10771.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1262_10781.FStar_TypeChecker_Env.nosynth); + (uu___1259_10771.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1262_10781.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1259_10771.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1262_10781.FStar_TypeChecker_Env.tc_term); + (uu___1259_10771.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1262_10781.FStar_TypeChecker_Env.type_of); + (uu___1259_10771.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1262_10781.FStar_TypeChecker_Env.universe_of); + (uu___1259_10771.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1262_10781.FStar_TypeChecker_Env.check_type_of); + (uu___1259_10771.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1262_10781.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1259_10771.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1262_10781.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1259_10771.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1262_10781.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1259_10771.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1262_10781.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1259_10771.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1262_10781.FStar_TypeChecker_Env.proof_ns); + (uu___1259_10771.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1262_10781.FStar_TypeChecker_Env.synth_hook); + (uu___1259_10771.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1262_10781.FStar_TypeChecker_Env.splice); + (uu___1259_10771.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1262_10781.FStar_TypeChecker_Env.postprocess); + (uu___1259_10771.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1262_10781.FStar_TypeChecker_Env.is_native_tactic); + (uu___1259_10771.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1262_10781.FStar_TypeChecker_Env.identifier_info); + (uu___1259_10771.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1262_10781.FStar_TypeChecker_Env.tc_hooks); + (uu___1259_10771.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1262_10781.FStar_TypeChecker_Env.dsenv); + (uu___1259_10771.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1262_10781.FStar_TypeChecker_Env.nbe) - }) (uvs, t) se.FStar_Syntax_Syntax.sigrng in - match uu____10778 with - | (uvs1, t1) -> - ((let uu____10806 = + (uu___1259_10771.FStar_TypeChecker_Env.nbe) + }) (uvs, t) se.FStar_Syntax_Syntax.sigrng + in + match uu____10768 with + | (uvs1,t1) -> + ((let uu____10796 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "TwoPhases") in - if uu____10806 + (FStar_Options.Other "TwoPhases") + in + if uu____10796 then - let uu____10811 = - FStar_Syntax_Print.term_to_string t1 in - let uu____10813 = - FStar_Syntax_Print.univ_names_to_string uvs1 in + let uu____10801 = + FStar_Syntax_Print.term_to_string t1 in + let uu____10803 = + FStar_Syntax_Print.univ_names_to_string uvs1 in FStar_Util.print2 "Val declaration after phase 1: %s and uvs: %s\n" - uu____10811 uu____10813 + uu____10801 uu____10803 else ()); (uvs1, t1)) - else (uvs, t) in - match uu____10758 with - | (uvs1, t1) -> - let uu____10848 = + else (uvs, t) in + match uu____10748 with + | (uvs1,t1) -> + let uu____10838 = tc_declare_typ env1 (uvs1, t1) - se.FStar_Syntax_Syntax.sigrng in - (match uu____10848 with - | (uvs2, t2) -> - ([(let uu___1275_10878 = se in + se.FStar_Syntax_Syntax.sigrng + in + (match uu____10838 with + | (uvs2,t2) -> + ([(let uu___1272_10868 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (lid, uvs2, t2)); FStar_Syntax_Syntax.sigrng = - (uu___1275_10878.FStar_Syntax_Syntax.sigrng); + (uu___1272_10868.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1275_10878.FStar_Syntax_Syntax.sigquals); + (uu___1272_10868.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1275_10878.FStar_Syntax_Syntax.sigmeta); + (uu___1272_10868.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1275_10878.FStar_Syntax_Syntax.sigattrs) + (uu___1272_10868.FStar_Syntax_Syntax.sigattrs) })], [], env0)))) - | FStar_Syntax_Syntax.Sig_assume (lid, uvs, t) -> - let env1 = FStar_TypeChecker_Env.set_range env r in - let uu____10883 = - let uu____10892 = + | FStar_Syntax_Syntax.Sig_assume (lid,uvs,t) -> + let env1 = FStar_TypeChecker_Env.set_range env r in + let uu____10873 = + let uu____10882 = (FStar_Options.use_two_phase_tc ()) && - (FStar_TypeChecker_Env.should_verify env1) in - if uu____10892 + (FStar_TypeChecker_Env.should_verify env1) + in + if uu____10882 then - let uu____10903 = + let uu____10893 = tc_assume - (let uu___1284_10906 = env1 in + (let uu___1281_10896 = env1 in { FStar_TypeChecker_Env.solver = - (uu___1284_10906.FStar_TypeChecker_Env.solver); + (uu___1281_10896.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1284_10906.FStar_TypeChecker_Env.range); + (uu___1281_10896.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1284_10906.FStar_TypeChecker_Env.curmodule); + (uu___1281_10896.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1284_10906.FStar_TypeChecker_Env.gamma); + (uu___1281_10896.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1284_10906.FStar_TypeChecker_Env.gamma_sig); + (uu___1281_10896.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1284_10906.FStar_TypeChecker_Env.gamma_cache); + (uu___1281_10896.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1284_10906.FStar_TypeChecker_Env.modules); + (uu___1281_10896.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1284_10906.FStar_TypeChecker_Env.expected_typ); + (uu___1281_10896.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1284_10906.FStar_TypeChecker_Env.sigtab); + (uu___1281_10896.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1284_10906.FStar_TypeChecker_Env.attrtab); + (uu___1281_10896.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1284_10906.FStar_TypeChecker_Env.is_pattern); + (uu___1281_10896.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1284_10906.FStar_TypeChecker_Env.instantiate_imp); + (uu___1281_10896.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1284_10906.FStar_TypeChecker_Env.effects); + (uu___1281_10896.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1284_10906.FStar_TypeChecker_Env.generalize); + (uu___1281_10896.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1284_10906.FStar_TypeChecker_Env.letrecs); + (uu___1281_10896.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1284_10906.FStar_TypeChecker_Env.top_level); + (uu___1281_10896.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1284_10906.FStar_TypeChecker_Env.check_uvars); + (uu___1281_10896.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1284_10906.FStar_TypeChecker_Env.use_eq); + (uu___1281_10896.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1284_10906.FStar_TypeChecker_Env.is_iface); + (uu___1281_10896.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1284_10906.FStar_TypeChecker_Env.admit); + (uu___1281_10896.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___1284_10906.FStar_TypeChecker_Env.lax_universes); + (uu___1281_10896.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = true; FStar_TypeChecker_Env.failhard = - (uu___1284_10906.FStar_TypeChecker_Env.failhard); + (uu___1281_10896.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1284_10906.FStar_TypeChecker_Env.nosynth); + (uu___1281_10896.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1284_10906.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1281_10896.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1284_10906.FStar_TypeChecker_Env.tc_term); + (uu___1281_10896.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1284_10906.FStar_TypeChecker_Env.type_of); + (uu___1281_10896.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1284_10906.FStar_TypeChecker_Env.universe_of); + (uu___1281_10896.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1284_10906.FStar_TypeChecker_Env.check_type_of); + (uu___1281_10896.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1284_10906.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1281_10896.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1284_10906.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1281_10896.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1284_10906.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1281_10896.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1284_10906.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1281_10896.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1284_10906.FStar_TypeChecker_Env.proof_ns); + (uu___1281_10896.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1284_10906.FStar_TypeChecker_Env.synth_hook); + (uu___1281_10896.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1284_10906.FStar_TypeChecker_Env.splice); + (uu___1281_10896.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1284_10906.FStar_TypeChecker_Env.postprocess); + (uu___1281_10896.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1284_10906.FStar_TypeChecker_Env.is_native_tactic); + (uu___1281_10896.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1284_10906.FStar_TypeChecker_Env.identifier_info); + (uu___1281_10896.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1284_10906.FStar_TypeChecker_Env.tc_hooks); + (uu___1281_10896.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1284_10906.FStar_TypeChecker_Env.dsenv); + (uu___1281_10896.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1284_10906.FStar_TypeChecker_Env.nbe) - }) (uvs, t) se.FStar_Syntax_Syntax.sigrng in - match uu____10903 with - | (uvs1, t1) -> - ((let uu____10932 = + (uu___1281_10896.FStar_TypeChecker_Env.nbe) + }) (uvs, t) se.FStar_Syntax_Syntax.sigrng + in + match uu____10893 with + | (uvs1,t1) -> + ((let uu____10922 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "TwoPhases") in - if uu____10932 + (FStar_Options.Other "TwoPhases") + in + if uu____10922 then - let uu____10937 = FStar_Syntax_Print.term_to_string t1 in - let uu____10939 = - FStar_Syntax_Print.univ_names_to_string uvs1 in + let uu____10927 = FStar_Syntax_Print.term_to_string t1 + in + let uu____10929 = + FStar_Syntax_Print.univ_names_to_string uvs1 in FStar_Util.print2 - "Assume after phase 1: %s and uvs: %s\n" uu____10937 - uu____10939 + "Assume after phase 1: %s and uvs: %s\n" uu____10927 + uu____10929 else ()); (uvs1, t1)) - else (uvs, t) in - (match uu____10883 with - | (uvs1, t1) -> - let uu____10974 = - tc_assume env1 (uvs1, t1) se.FStar_Syntax_Syntax.sigrng in - (match uu____10974 with - | (uvs2, t2) -> - ([(let uu___1297_11004 = se in + else (uvs, t) in + (match uu____10873 with + | (uvs1,t1) -> + let uu____10964 = + tc_assume env1 (uvs1, t1) se.FStar_Syntax_Syntax.sigrng in + (match uu____10964 with + | (uvs2,t2) -> + ([(let uu___1294_10994 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_assume (lid, uvs2, t2)); FStar_Syntax_Syntax.sigrng = - (uu___1297_11004.FStar_Syntax_Syntax.sigrng); + (uu___1294_10994.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1297_11004.FStar_Syntax_Syntax.sigquals); + (uu___1294_10994.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1297_11004.FStar_Syntax_Syntax.sigmeta); + (uu___1294_10994.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1297_11004.FStar_Syntax_Syntax.sigattrs) + (uu___1294_10994.FStar_Syntax_Syntax.sigattrs) })], [], env0))) | FStar_Syntax_Syntax.Sig_main e -> - let env1 = FStar_TypeChecker_Env.set_range env r in + let env1 = FStar_TypeChecker_Env.set_range env r in let env2 = FStar_TypeChecker_Env.set_expected_typ env1 - FStar_Syntax_Syntax.t_unit in - let uu____11008 = FStar_TypeChecker_TcTerm.tc_term env2 e in - (match uu____11008 with - | (e1, c, g1) -> - let uu____11028 = - let uu____11035 = - let uu____11038 = - FStar_Syntax_Util.ml_comp FStar_Syntax_Syntax.t_unit r in - FStar_Pervasives_Native.Some uu____11038 in - let uu____11039 = - let uu____11044 = FStar_Syntax_Syntax.lcomp_comp c in - (e1, uu____11044) in + FStar_Syntax_Syntax.t_unit + in + let uu____10998 = FStar_TypeChecker_TcTerm.tc_term env2 e in + (match uu____10998 with + | (e1,c,g1) -> + let uu____11018 = + let uu____11025 = + let uu____11028 = + FStar_Syntax_Util.ml_comp FStar_Syntax_Syntax.t_unit r + in + FStar_Pervasives_Native.Some uu____11028 in + let uu____11029 = + let uu____11034 = FStar_Syntax_Syntax.lcomp_comp c in + (e1, uu____11034) in FStar_TypeChecker_TcTerm.check_expected_effect env2 - uu____11035 uu____11039 in - (match uu____11028 with - | (e2, uu____11056, g) -> - ((let uu____11059 = - FStar_TypeChecker_Env.conj_guard g1 g in + uu____11025 uu____11029 + in + (match uu____11018 with + | (e2,uu____11046,g) -> + ((let uu____11049 = + FStar_TypeChecker_Env.conj_guard g1 g in FStar_TypeChecker_Rel.force_trivial_guard env2 - uu____11059); + uu____11049); (let se1 = - let uu___1312_11061 = se in + let uu___1309_11051 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_main e2); FStar_Syntax_Syntax.sigrng = - (uu___1312_11061.FStar_Syntax_Syntax.sigrng); + (uu___1309_11051.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1312_11061.FStar_Syntax_Syntax.sigquals); + (uu___1309_11051.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1312_11061.FStar_Syntax_Syntax.sigmeta); + (uu___1309_11051.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1312_11061.FStar_Syntax_Syntax.sigattrs) - } in + (uu___1309_11051.FStar_Syntax_Syntax.sigattrs) + } in ([se1], [], env0))))) - | FStar_Syntax_Syntax.Sig_splice (lids, t) -> - ((let uu____11073 = FStar_Options.debug_any () in - if uu____11073 + | FStar_Syntax_Syntax.Sig_splice (lids,t) -> + ((let uu____11063 = FStar_Options.debug_any () in + if uu____11063 then - let uu____11076 = + let uu____11066 = FStar_Ident.string_of_lid - env.FStar_TypeChecker_Env.curmodule in - let uu____11078 = FStar_Syntax_Print.term_to_string t in - FStar_Util.print2 "%s: Found splice of (%s)\n" uu____11076 - uu____11078 + env.FStar_TypeChecker_Env.curmodule + in + let uu____11068 = FStar_Syntax_Print.term_to_string t in + FStar_Util.print2 "%s: Found splice of (%s)\n" uu____11066 + uu____11068 else ()); - (let uu____11083 = FStar_TypeChecker_TcTerm.tc_tactic env t in - match uu____11083 with - | (t1, uu____11101, g) -> + (let uu____11073 = FStar_TypeChecker_TcTerm.tc_tactic env t in + match uu____11073 with + | (t1,uu____11091,g) -> (FStar_TypeChecker_Rel.force_trivial_guard env g; - (let ses = env.FStar_TypeChecker_Env.splice env t1 in + (let ses = env.FStar_TypeChecker_Env.splice env t1 in let lids' = - FStar_List.collect FStar_Syntax_Util.lids_of_sigelt ses in + FStar_List.collect FStar_Syntax_Util.lids_of_sigelt ses + in FStar_List.iter - (fun lid -> - let uu____11115 = + (fun lid -> + let uu____11105 = FStar_List.tryFind (FStar_Ident.lid_equals lid) - lids' in - match uu____11115 with - | FStar_Pervasives_Native.None when + lids' + in + match uu____11105 with + | FStar_Pervasives_Native.None when Prims.op_Negation env.FStar_TypeChecker_Env.nosynth -> - let uu____11118 = - let uu____11124 = - let uu____11126 = - FStar_Ident.string_of_lid lid in - let uu____11128 = - let uu____11130 = + let uu____11108 = + let uu____11114 = + let uu____11116 = + FStar_Ident.string_of_lid lid in + let uu____11118 = + let uu____11120 = FStar_List.map FStar_Ident.string_of_lid - lids' in + lids' + in FStar_All.pipe_left - (FStar_String.concat ", ") uu____11130 in + (FStar_String.concat ", ") uu____11120 + in FStar_Util.format2 "Splice declared the name %s but it was not defined.\nThose defined were: %s" - uu____11126 uu____11128 in - (FStar_Errors.Fatal_SplicedUndef, uu____11124) in - FStar_Errors.raise_error uu____11118 r - | uu____11142 -> ()) lids; + uu____11116 uu____11118 + in + (FStar_Errors.Fatal_SplicedUndef, uu____11114) + in + FStar_Errors.raise_error uu____11108 r + | uu____11132 -> ()) lids; (let dsenv1 = FStar_List.fold_left FStar_Syntax_DsEnv.push_sigelt_force - env.FStar_TypeChecker_Env.dsenv ses in + env.FStar_TypeChecker_Env.dsenv ses + in let env1 = - let uu___1333_11147 = env in + let uu___1330_11137 = env in { FStar_TypeChecker_Env.solver = - (uu___1333_11147.FStar_TypeChecker_Env.solver); + (uu___1330_11137.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1333_11147.FStar_TypeChecker_Env.range); + (uu___1330_11137.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1333_11147.FStar_TypeChecker_Env.curmodule); + (uu___1330_11137.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1333_11147.FStar_TypeChecker_Env.gamma); + (uu___1330_11137.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1333_11147.FStar_TypeChecker_Env.gamma_sig); + (uu___1330_11137.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1333_11147.FStar_TypeChecker_Env.gamma_cache); + (uu___1330_11137.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1333_11147.FStar_TypeChecker_Env.modules); + (uu___1330_11137.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1333_11147.FStar_TypeChecker_Env.expected_typ); + (uu___1330_11137.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1333_11147.FStar_TypeChecker_Env.sigtab); + (uu___1330_11137.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1333_11147.FStar_TypeChecker_Env.attrtab); + (uu___1330_11137.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1333_11147.FStar_TypeChecker_Env.is_pattern); + (uu___1330_11137.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1333_11147.FStar_TypeChecker_Env.instantiate_imp); + (uu___1330_11137.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1333_11147.FStar_TypeChecker_Env.effects); + (uu___1330_11137.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1333_11147.FStar_TypeChecker_Env.generalize); + (uu___1330_11137.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1333_11147.FStar_TypeChecker_Env.letrecs); + (uu___1330_11137.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1333_11147.FStar_TypeChecker_Env.top_level); + (uu___1330_11137.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1333_11147.FStar_TypeChecker_Env.check_uvars); + (uu___1330_11137.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1333_11147.FStar_TypeChecker_Env.use_eq); + (uu___1330_11137.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1333_11147.FStar_TypeChecker_Env.is_iface); + (uu___1330_11137.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1333_11147.FStar_TypeChecker_Env.admit); + (uu___1330_11137.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___1333_11147.FStar_TypeChecker_Env.lax); + (uu___1330_11137.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___1333_11147.FStar_TypeChecker_Env.lax_universes); + (uu___1330_11137.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1333_11147.FStar_TypeChecker_Env.phase1); + (uu___1330_11137.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1333_11147.FStar_TypeChecker_Env.failhard); + (uu___1330_11137.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1333_11147.FStar_TypeChecker_Env.nosynth); + (uu___1330_11137.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1333_11147.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1330_11137.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1333_11147.FStar_TypeChecker_Env.tc_term); + (uu___1330_11137.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1333_11147.FStar_TypeChecker_Env.type_of); + (uu___1330_11137.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1333_11147.FStar_TypeChecker_Env.universe_of); + (uu___1330_11137.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1333_11147.FStar_TypeChecker_Env.check_type_of); + (uu___1330_11137.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1333_11147.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1330_11137.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1333_11147.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1330_11137.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1333_11147.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1330_11137.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1333_11147.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1330_11137.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1333_11147.FStar_TypeChecker_Env.proof_ns); + (uu___1330_11137.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1333_11147.FStar_TypeChecker_Env.synth_hook); + (uu___1330_11137.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1333_11147.FStar_TypeChecker_Env.splice); + (uu___1330_11137.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1333_11147.FStar_TypeChecker_Env.postprocess); + (uu___1330_11137.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1333_11147.FStar_TypeChecker_Env.is_native_tactic); + (uu___1330_11137.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1333_11147.FStar_TypeChecker_Env.identifier_info); + (uu___1330_11137.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1333_11147.FStar_TypeChecker_Env.tc_hooks); + (uu___1330_11137.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = dsenv1; FStar_TypeChecker_Env.nbe = - (uu___1333_11147.FStar_TypeChecker_Env.nbe) - } in + (uu___1330_11137.FStar_TypeChecker_Env.nbe) + } in ([], ses, env1)))))) - | FStar_Syntax_Syntax.Sig_let (lbs, lids) -> - let env1 = FStar_TypeChecker_Env.set_range env r in + | FStar_Syntax_Syntax.Sig_let (lbs,lids) -> + let env1 = FStar_TypeChecker_Env.set_range env r in let check_quals_eq l qopt val_q = match qopt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.Some val_q | FStar_Pervasives_Native.Some q' -> let drop_logic = FStar_List.filter - (fun x -> - Prims.op_Negation (x = FStar_Syntax_Syntax.Logic)) in - let uu____11215 = - let uu____11217 = - let uu____11226 = drop_logic val_q in - let uu____11229 = drop_logic q' in - (uu____11226, uu____11229) in - match uu____11217 with - | (val_q1, q'1) -> + (fun x -> + Prims.op_Negation (x = FStar_Syntax_Syntax.Logic)) + in + let uu____11205 = + let uu____11207 = + let uu____11216 = drop_logic val_q in + let uu____11219 = drop_logic q' in + (uu____11216, uu____11219) in + match uu____11207 with + | (val_q1,q'1) -> ((FStar_List.length val_q1) = (FStar_List.length q'1)) && (FStar_List.forall2 - FStar_Syntax_Util.qualifier_equal val_q1 q'1) in - if uu____11215 + FStar_Syntax_Util.qualifier_equal val_q1 q'1) + in + if uu____11205 then FStar_Pervasives_Native.Some q' else - (let uu____11256 = - let uu____11262 = - let uu____11264 = FStar_Syntax_Print.lid_to_string l in - let uu____11266 = - FStar_Syntax_Print.quals_to_string val_q in - let uu____11268 = - FStar_Syntax_Print.quals_to_string q' in + (let uu____11246 = + let uu____11252 = + let uu____11254 = FStar_Syntax_Print.lid_to_string l + in + let uu____11256 = + FStar_Syntax_Print.quals_to_string val_q in + let uu____11258 = + FStar_Syntax_Print.quals_to_string q' in FStar_Util.format3 "Inconsistent qualifier annotations on %s; Expected {%s}, got {%s}" - uu____11264 uu____11266 uu____11268 in + uu____11254 uu____11256 uu____11258 + in (FStar_Errors.Fatal_InconsistentQualifierAnnotation, - uu____11262) in - FStar_Errors.raise_error uu____11256 r) in + uu____11252) + in + FStar_Errors.raise_error uu____11246 r) + in let rename_parameters lb = let rename_in_typ def typ = - let typ1 = FStar_Syntax_Subst.compress typ in + let typ1 = FStar_Syntax_Subst.compress typ in let def_bs = - let uu____11305 = - let uu____11306 = FStar_Syntax_Subst.compress def in - uu____11306.FStar_Syntax_Syntax.n in - match uu____11305 with + let uu____11295 = + let uu____11296 = FStar_Syntax_Subst.compress def in + uu____11296.FStar_Syntax_Syntax.n in + match uu____11295 with | FStar_Syntax_Syntax.Tm_abs - (binders, uu____11318, uu____11319) -> binders - | uu____11344 -> [] in + (binders,uu____11308,uu____11309) -> binders + | uu____11334 -> [] in match typ1 with | { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_arrow - (val_bs, c); + (val_bs,c); FStar_Syntax_Syntax.pos = r1; - FStar_Syntax_Syntax.vars = uu____11356;_} -> + FStar_Syntax_Syntax.vars = uu____11346;_} -> let has_auto_name bv = FStar_Util.starts_with (bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText - FStar_Ident.reserved_prefix in + FStar_Ident.reserved_prefix + in let rec rename_binders1 def_bs1 val_bs1 = match (def_bs1, val_bs1) with - | ([], uu____11461) -> val_bs1 - | (uu____11492, []) -> val_bs1 - | ((body_bv, uu____11524)::bt, (val_bv, aqual)::vt) -> - let uu____11581 = rename_binders1 bt vt in + | ([],uu____11451) -> val_bs1 + | (uu____11482,[]) -> val_bs1 + | ((body_bv,uu____11514)::bt,(val_bv,aqual)::vt) -> + let uu____11571 = rename_binders1 bt vt in ((match ((has_auto_name body_bv), (has_auto_name val_bv)) with - | (true, uu____11605) -> (val_bv, aqual) - | (false, true) -> - ((let uu___1402_11619 = val_bv in + | (true ,uu____11595) -> (val_bv, aqual) + | (false ,true ) -> + ((let uu___1399_11609 = val_bv in { FStar_Syntax_Syntax.ppname = - (let uu___1404_11622 = - val_bv.FStar_Syntax_Syntax.ppname in + (let uu___1401_11612 = + val_bv.FStar_Syntax_Syntax.ppname in { FStar_Ident.idText = ((body_bv.FStar_Syntax_Syntax.ppname).FStar_Ident.idText); FStar_Ident.idRange = - (uu___1404_11622.FStar_Ident.idRange) + (uu___1401_11612.FStar_Ident.idRange) }); FStar_Syntax_Syntax.index = - (uu___1402_11619.FStar_Syntax_Syntax.index); + (uu___1399_11609.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = - (uu___1402_11619.FStar_Syntax_Syntax.sort) + (uu___1399_11609.FStar_Syntax_Syntax.sort) }), aqual) - | (false, false) -> (val_bv, aqual))) :: - uu____11581 in - let uu____11629 = - let uu____11636 = - let uu____11637 = - let uu____11652 = rename_binders1 def_bs val_bs in - (uu____11652, c) in - FStar_Syntax_Syntax.Tm_arrow uu____11637 in - FStar_Syntax_Syntax.mk uu____11636 in - uu____11629 FStar_Pervasives_Native.None r1 - | uu____11671 -> typ1 in - let uu___1410_11672 = lb in - let uu____11673 = + | (false ,false ) -> (val_bv, aqual))) :: + uu____11571 + in + let uu____11619 = + let uu____11626 = + let uu____11627 = + let uu____11642 = rename_binders1 def_bs val_bs in + (uu____11642, c) in + FStar_Syntax_Syntax.Tm_arrow uu____11627 in + FStar_Syntax_Syntax.mk uu____11626 in + uu____11619 FStar_Pervasives_Native.None r1 + | uu____11661 -> typ1 in + let uu___1407_11662 = lb in + let uu____11663 = rename_in_typ lb.FStar_Syntax_Syntax.lbdef - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in { FStar_Syntax_Syntax.lbname = - (uu___1410_11672.FStar_Syntax_Syntax.lbname); + (uu___1407_11662.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = - (uu___1410_11672.FStar_Syntax_Syntax.lbunivs); - FStar_Syntax_Syntax.lbtyp = uu____11673; + (uu___1407_11662.FStar_Syntax_Syntax.lbunivs); + FStar_Syntax_Syntax.lbtyp = uu____11663; FStar_Syntax_Syntax.lbeff = - (uu___1410_11672.FStar_Syntax_Syntax.lbeff); + (uu___1407_11662.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = - (uu___1410_11672.FStar_Syntax_Syntax.lbdef); + (uu___1407_11662.FStar_Syntax_Syntax.lbdef); FStar_Syntax_Syntax.lbattrs = - (uu___1410_11672.FStar_Syntax_Syntax.lbattrs); + (uu___1407_11662.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___1410_11672.FStar_Syntax_Syntax.lbpos) - } in - let uu____11676 = + (uu___1407_11662.FStar_Syntax_Syntax.lbpos) + } in + let uu____11666 = FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs) (FStar_List.fold_left - (fun uu____11731 -> - fun lb -> - match uu____11731 with - | (gen1, lbs1, quals_opt) -> + (fun uu____11721 -> + fun lb -> + match uu____11721 with + | (gen1,lbs1,quals_opt) -> let lbname = - FStar_Util.right lb.FStar_Syntax_Syntax.lbname in - let uu____11777 = - let uu____11789 = + FStar_Util.right lb.FStar_Syntax_Syntax.lbname + in + let uu____11767 = + let uu____11779 = FStar_TypeChecker_Env.try_lookup_val_decl env1 - (lbname.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - match uu____11789 with - | FStar_Pervasives_Native.None -> + (lbname.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + match uu____11779 with + | FStar_Pervasives_Native.None -> if lb.FStar_Syntax_Syntax.lbunivs <> [] then (false, lb, quals_opt) else (gen1, lb, quals_opt) | FStar_Pervasives_Native.Some - ((uvs, tval), quals) -> + ((uvs,tval),quals) -> let quals_opt1 = check_quals_eq (lbname.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - quals_opt quals in + quals_opt quals + in let def = match (lb.FStar_Syntax_Syntax.lbtyp).FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_unknown -> + | FStar_Syntax_Syntax.Tm_unknown -> lb.FStar_Syntax_Syntax.lbdef - | uu____11869 -> + | uu____11859 -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed ((lb.FStar_Syntax_Syntax.lbdef), @@ -5673,7 +6353,8 @@ let (tc_decl' : FStar_Pervasives_Native.None), FStar_Pervasives_Native.None)) FStar_Pervasives_Native.None - (lb.FStar_Syntax_Syntax.lbdef).FStar_Syntax_Syntax.pos in + (lb.FStar_Syntax_Syntax.lbdef).FStar_Syntax_Syntax.pos + in (if (lb.FStar_Syntax_Syntax.lbunivs <> []) && ((FStar_List.length @@ -5685,1007 +6366,1450 @@ let (tc_decl' : "Inline universes are incoherent with annotation from val declaration") r else (); - (let uu____11916 = + (let uu____11906 = FStar_Syntax_Syntax.mk_lb ((FStar_Util.Inr lbname), uvs, FStar_Parser_Const.effect_ALL_lid, tval, def, [], - (lb.FStar_Syntax_Syntax.lbpos)) in - (false, uu____11916, quals_opt1))) in - (match uu____11777 with - | (gen2, lb1, quals_opt1) -> + (lb.FStar_Syntax_Syntax.lbpos)) + in + (false, uu____11906, quals_opt1))) + in + (match uu____11767 with + | (gen2,lb1,quals_opt1) -> (gen2, (lb1 :: lbs1), quals_opt1))) (true, [], (if se.FStar_Syntax_Syntax.sigquals = [] then FStar_Pervasives_Native.None else FStar_Pervasives_Native.Some - (se.FStar_Syntax_Syntax.sigquals)))) in - (match uu____11676 with - | (should_generalize, lbs', quals_opt) -> + (se.FStar_Syntax_Syntax.sigquals)))) + in + (match uu____11666 with + | (should_generalize,lbs',quals_opt) -> let quals = match quals_opt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> [FStar_Syntax_Syntax.Visible_default] | FStar_Pervasives_Native.Some q -> - let uu____12020 = + let uu____12010 = FStar_All.pipe_right q (FStar_Util.for_some - (fun uu___2_12026 -> - match uu___2_12026 with - | FStar_Syntax_Syntax.Irreducible -> true - | FStar_Syntax_Syntax.Visible_default -> true + (fun uu___2_12016 -> + match uu___2_12016 with + | FStar_Syntax_Syntax.Irreducible -> true + | FStar_Syntax_Syntax.Visible_default -> + true | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen - -> true - | uu____12031 -> false)) in - if uu____12020 + -> true + | uu____12021 -> false)) + in + if uu____12010 then q - else FStar_Syntax_Syntax.Visible_default :: q in - let lbs'1 = FStar_List.rev lbs' in + else FStar_Syntax_Syntax.Visible_default :: q + in + let lbs'1 = FStar_List.rev lbs' in let e = - let uu____12044 = - let uu____12051 = - let uu____12052 = - let uu____12066 = + let uu____12034 = + let uu____12041 = + let uu____12042 = + let uu____12056 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant FStar_Const.Const_unit) - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in (((FStar_Pervasives_Native.fst lbs), lbs'1), - uu____12066) in - FStar_Syntax_Syntax.Tm_let uu____12052 in - FStar_Syntax_Syntax.mk uu____12051 in - uu____12044 FStar_Pervasives_Native.None r in + uu____12056) + in + FStar_Syntax_Syntax.Tm_let uu____12042 in + FStar_Syntax_Syntax.mk uu____12041 in + uu____12034 FStar_Pervasives_Native.None r in let env' = - let uu___1453_12085 = env1 in + let uu___1450_12075 = env1 in { FStar_TypeChecker_Env.solver = - (uu___1453_12085.FStar_TypeChecker_Env.solver); + (uu___1450_12075.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1453_12085.FStar_TypeChecker_Env.range); + (uu___1450_12075.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1453_12085.FStar_TypeChecker_Env.curmodule); + (uu___1450_12075.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1453_12085.FStar_TypeChecker_Env.gamma); + (uu___1450_12075.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1453_12085.FStar_TypeChecker_Env.gamma_sig); + (uu___1450_12075.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1453_12085.FStar_TypeChecker_Env.gamma_cache); + (uu___1450_12075.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1453_12085.FStar_TypeChecker_Env.modules); + (uu___1450_12075.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1453_12085.FStar_TypeChecker_Env.expected_typ); + (uu___1450_12075.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1453_12085.FStar_TypeChecker_Env.sigtab); + (uu___1450_12075.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1453_12085.FStar_TypeChecker_Env.attrtab); + (uu___1450_12075.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1453_12085.FStar_TypeChecker_Env.is_pattern); + (uu___1450_12075.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1453_12085.FStar_TypeChecker_Env.instantiate_imp); + (uu___1450_12075.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1453_12085.FStar_TypeChecker_Env.effects); + (uu___1450_12075.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = should_generalize; FStar_TypeChecker_Env.letrecs = - (uu___1453_12085.FStar_TypeChecker_Env.letrecs); + (uu___1450_12075.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = true; FStar_TypeChecker_Env.check_uvars = - (uu___1453_12085.FStar_TypeChecker_Env.check_uvars); + (uu___1450_12075.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1453_12085.FStar_TypeChecker_Env.use_eq); + (uu___1450_12075.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1453_12085.FStar_TypeChecker_Env.is_iface); + (uu___1450_12075.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1453_12085.FStar_TypeChecker_Env.admit); + (uu___1450_12075.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___1453_12085.FStar_TypeChecker_Env.lax); + (uu___1450_12075.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___1453_12085.FStar_TypeChecker_Env.lax_universes); + (uu___1450_12075.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1453_12085.FStar_TypeChecker_Env.phase1); + (uu___1450_12075.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1453_12085.FStar_TypeChecker_Env.failhard); + (uu___1450_12075.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1453_12085.FStar_TypeChecker_Env.nosynth); + (uu___1450_12075.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1453_12085.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1450_12075.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1453_12085.FStar_TypeChecker_Env.tc_term); + (uu___1450_12075.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1453_12085.FStar_TypeChecker_Env.type_of); + (uu___1450_12075.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1453_12085.FStar_TypeChecker_Env.universe_of); + (uu___1450_12075.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1453_12085.FStar_TypeChecker_Env.check_type_of); + (uu___1450_12075.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1453_12085.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1450_12075.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1453_12085.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1450_12075.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1453_12085.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1450_12075.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1453_12085.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1450_12075.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1453_12085.FStar_TypeChecker_Env.proof_ns); + (uu___1450_12075.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1453_12085.FStar_TypeChecker_Env.synth_hook); + (uu___1450_12075.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1453_12085.FStar_TypeChecker_Env.splice); + (uu___1450_12075.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1453_12085.FStar_TypeChecker_Env.postprocess); + (uu___1450_12075.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1453_12085.FStar_TypeChecker_Env.is_native_tactic); + (uu___1450_12075.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1453_12085.FStar_TypeChecker_Env.identifier_info); + (uu___1450_12075.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1453_12085.FStar_TypeChecker_Env.tc_hooks); + (uu___1450_12075.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1453_12085.FStar_TypeChecker_Env.dsenv); + (uu___1450_12075.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1453_12085.FStar_TypeChecker_Env.nbe) - } in + (uu___1450_12075.FStar_TypeChecker_Env.nbe) + } in let e1 = - let uu____12088 = + let uu____12078 = (FStar_Options.use_two_phase_tc ()) && - (FStar_TypeChecker_Env.should_verify env') in - if uu____12088 + (FStar_TypeChecker_Env.should_verify env') + in + if uu____12078 then let drop_lbtyp e_lax = - let uu____12097 = - let uu____12098 = FStar_Syntax_Subst.compress e_lax in - uu____12098.FStar_Syntax_Syntax.n in - match uu____12097 with - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), e2) -> + let uu____12087 = + let uu____12088 = FStar_Syntax_Subst.compress e_lax + in + uu____12088.FStar_Syntax_Syntax.n in + match uu____12087 with + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),e2) -> let lb_unannotated = - let uu____12120 = - let uu____12121 = FStar_Syntax_Subst.compress e in - uu____12121.FStar_Syntax_Syntax.n in - match uu____12120 with + let uu____12110 = + let uu____12111 = FStar_Syntax_Subst.compress e + in + uu____12111.FStar_Syntax_Syntax.n in + match uu____12110 with | FStar_Syntax_Syntax.Tm_let - ((uu____12125, lb1::[]), uu____12127) -> - let uu____12143 = - let uu____12144 = + ((uu____12115,lb1::[]),uu____12117) -> + let uu____12133 = + let uu____12134 = FStar_Syntax_Subst.compress - lb1.FStar_Syntax_Syntax.lbtyp in - uu____12144.FStar_Syntax_Syntax.n in - (match uu____12143 with - | FStar_Syntax_Syntax.Tm_unknown -> true - | uu____12149 -> false) - | uu____12151 -> + lb1.FStar_Syntax_Syntax.lbtyp + in + uu____12134.FStar_Syntax_Syntax.n in + (match uu____12133 with + | FStar_Syntax_Syntax.Tm_unknown -> true + | uu____12139 -> false) + | uu____12141 -> failwith - "Impossible: first phase lb and second phase lb differ in structure!" in + "Impossible: first phase lb and second phase lb differ in structure!" + in if lb_unannotated then - let uu___1478_12155 = e_lax in + let uu___1475_12145 = e_lax in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Tm_let ((false, - [(let uu___1480_12170 = lb in + [(let uu___1477_12160 = lb in { FStar_Syntax_Syntax.lbname = - (uu___1480_12170.FStar_Syntax_Syntax.lbname); + (uu___1477_12160.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = - (uu___1480_12170.FStar_Syntax_Syntax.lbunivs); + (uu___1477_12160.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = FStar_Syntax_Syntax.tun; FStar_Syntax_Syntax.lbeff = - (uu___1480_12170.FStar_Syntax_Syntax.lbeff); + (uu___1477_12160.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = - (uu___1480_12170.FStar_Syntax_Syntax.lbdef); + (uu___1477_12160.FStar_Syntax_Syntax.lbdef); FStar_Syntax_Syntax.lbattrs = - (uu___1480_12170.FStar_Syntax_Syntax.lbattrs); + (uu___1477_12160.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___1480_12170.FStar_Syntax_Syntax.lbpos) + (uu___1477_12160.FStar_Syntax_Syntax.lbpos) })]), e2)); FStar_Syntax_Syntax.pos = - (uu___1478_12155.FStar_Syntax_Syntax.pos); + (uu___1475_12145.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___1478_12155.FStar_Syntax_Syntax.vars) + (uu___1475_12145.FStar_Syntax_Syntax.vars) } else e_lax - | uu____12173 -> e_lax in - let uu____12174 = + | uu____12163 -> e_lax in + let uu____12164 = FStar_Util.record_time - (fun uu____12182 -> - let uu____12183 = - let uu____12184 = - let uu____12185 = + (fun uu____12172 -> + let uu____12173 = + let uu____12174 = + let uu____12175 = FStar_TypeChecker_TcTerm.tc_maybe_toplevel_term - (let uu___1484_12194 = env' in + (let uu___1481_12184 = env' in { FStar_TypeChecker_Env.solver = - (uu___1484_12194.FStar_TypeChecker_Env.solver); + (uu___1481_12184.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1484_12194.FStar_TypeChecker_Env.range); + (uu___1481_12184.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1484_12194.FStar_TypeChecker_Env.curmodule); + (uu___1481_12184.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1484_12194.FStar_TypeChecker_Env.gamma); + (uu___1481_12184.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1484_12194.FStar_TypeChecker_Env.gamma_sig); + (uu___1481_12184.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1484_12194.FStar_TypeChecker_Env.gamma_cache); + (uu___1481_12184.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1484_12194.FStar_TypeChecker_Env.modules); + (uu___1481_12184.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1484_12194.FStar_TypeChecker_Env.expected_typ); + (uu___1481_12184.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1484_12194.FStar_TypeChecker_Env.sigtab); + (uu___1481_12184.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1484_12194.FStar_TypeChecker_Env.attrtab); + (uu___1481_12184.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1484_12194.FStar_TypeChecker_Env.is_pattern); + (uu___1481_12184.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1484_12194.FStar_TypeChecker_Env.instantiate_imp); + (uu___1481_12184.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1484_12194.FStar_TypeChecker_Env.effects); + (uu___1481_12184.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1484_12194.FStar_TypeChecker_Env.generalize); + (uu___1481_12184.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1484_12194.FStar_TypeChecker_Env.letrecs); + (uu___1481_12184.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1484_12194.FStar_TypeChecker_Env.top_level); + (uu___1481_12184.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1484_12194.FStar_TypeChecker_Env.check_uvars); + (uu___1481_12184.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1484_12194.FStar_TypeChecker_Env.use_eq); + (uu___1481_12184.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1484_12194.FStar_TypeChecker_Env.is_iface); + (uu___1481_12184.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1484_12194.FStar_TypeChecker_Env.admit); + (uu___1481_12184.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___1484_12194.FStar_TypeChecker_Env.lax_universes); + (uu___1481_12184.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = true; FStar_TypeChecker_Env.failhard = - (uu___1484_12194.FStar_TypeChecker_Env.failhard); + (uu___1481_12184.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1484_12194.FStar_TypeChecker_Env.nosynth); + (uu___1481_12184.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1484_12194.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1481_12184.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1484_12194.FStar_TypeChecker_Env.tc_term); + (uu___1481_12184.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1484_12194.FStar_TypeChecker_Env.type_of); + (uu___1481_12184.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1484_12194.FStar_TypeChecker_Env.universe_of); + (uu___1481_12184.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1484_12194.FStar_TypeChecker_Env.check_type_of); + (uu___1481_12184.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1484_12194.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1481_12184.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1484_12194.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1481_12184.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1484_12194.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1481_12184.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1484_12194.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1481_12184.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1484_12194.FStar_TypeChecker_Env.proof_ns); + (uu___1481_12184.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1484_12194.FStar_TypeChecker_Env.synth_hook); + (uu___1481_12184.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1484_12194.FStar_TypeChecker_Env.splice); + (uu___1481_12184.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1484_12194.FStar_TypeChecker_Env.postprocess); + (uu___1481_12184.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1484_12194.FStar_TypeChecker_Env.is_native_tactic); + (uu___1481_12184.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1484_12194.FStar_TypeChecker_Env.identifier_info); + (uu___1481_12184.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1484_12194.FStar_TypeChecker_Env.tc_hooks); + (uu___1481_12184.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1484_12194.FStar_TypeChecker_Env.dsenv); + (uu___1481_12184.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1484_12194.FStar_TypeChecker_Env.nbe) - }) e in - FStar_All.pipe_right uu____12185 - (fun uu____12207 -> - match uu____12207 with - | (e1, uu____12215, uu____12216) -> e1) in - FStar_All.pipe_right uu____12184 + (uu___1481_12184.FStar_TypeChecker_Env.nbe) + }) e + in + FStar_All.pipe_right uu____12175 + (fun uu____12197 -> + match uu____12197 with + | (e1,uu____12205,uu____12206) -> e1) + in + FStar_All.pipe_right uu____12174 (FStar_TypeChecker_Normalize.remove_uvar_solutions - env') in - FStar_All.pipe_right uu____12183 drop_lbtyp) in - match uu____12174 with - | (e1, ms) -> - ((let uu____12222 = + env') + in + FStar_All.pipe_right uu____12173 drop_lbtyp) + in + match uu____12164 with + | (e1,ms) -> + ((let uu____12212 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "TwoPhases") in - if uu____12222 + (FStar_Options.Other "TwoPhases") + in + if uu____12212 then - let uu____12227 = - FStar_Syntax_Print.term_to_string e1 in + let uu____12217 = + FStar_Syntax_Print.term_to_string e1 in FStar_Util.print1 - "Let binding after phase 1: %s\n" uu____12227 + "Let binding after phase 1: %s\n" uu____12217 else ()); - (let uu____12233 = + (let uu____12223 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "TCDeclTime") in - if uu____12233 + (FStar_Options.Other "TCDeclTime") + in + if uu____12223 then - let uu____12238 = FStar_Util.string_of_int ms in + let uu____12228 = FStar_Util.string_of_int ms in FStar_Util.print1 "Let binding elaborated (phase 1) in %s milliseconds\n" - uu____12238 + uu____12228 else ()); e1) - else e in - let uu____12245 = - let uu____12254 = + else e in + let uu____12235 = + let uu____12244 = FStar_Syntax_Util.extract_attr' FStar_Parser_Const.postprocess_with - se.FStar_Syntax_Syntax.sigattrs in - match uu____12254 with - | FStar_Pervasives_Native.None -> + se.FStar_Syntax_Syntax.sigattrs + in + match uu____12244 with + | FStar_Pervasives_Native.None -> ((se.FStar_Syntax_Syntax.sigattrs), FStar_Pervasives_Native.None) | FStar_Pervasives_Native.Some - (ats, (tau, FStar_Pervasives_Native.None)::[]) -> + (ats,(tau,FStar_Pervasives_Native.None )::[]) -> (ats, (FStar_Pervasives_Native.Some tau)) - | FStar_Pervasives_Native.Some (ats, args) -> + | FStar_Pervasives_Native.Some (ats,args) -> (FStar_Errors.log_issue r (FStar_Errors.Warning_UnrecognizedAttribute, "Ill-formed application of `postprocess_with`"); ((se.FStar_Syntax_Syntax.sigattrs), - FStar_Pervasives_Native.None)) in - (match uu____12245 with - | (attrs, post_tau) -> + FStar_Pervasives_Native.None)) + in + (match uu____12235 with + | (attrs,post_tau) -> let se1 = - let uu___1514_12359 = se in + let uu___1511_12349 = se in { FStar_Syntax_Syntax.sigel = - (uu___1514_12359.FStar_Syntax_Syntax.sigel); + (uu___1511_12349.FStar_Syntax_Syntax.sigel); FStar_Syntax_Syntax.sigrng = - (uu___1514_12359.FStar_Syntax_Syntax.sigrng); + (uu___1511_12349.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___1514_12359.FStar_Syntax_Syntax.sigquals); + (uu___1511_12349.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___1514_12359.FStar_Syntax_Syntax.sigmeta); + (uu___1511_12349.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = attrs - } in + } in let postprocess_lb tau lb = let lbdef = env1.FStar_TypeChecker_Env.postprocess env1 tau lb.FStar_Syntax_Syntax.lbtyp - lb.FStar_Syntax_Syntax.lbdef in - let uu___1521_12372 = lb in + lb.FStar_Syntax_Syntax.lbdef + in + let uu___1518_12362 = lb in { FStar_Syntax_Syntax.lbname = - (uu___1521_12372.FStar_Syntax_Syntax.lbname); + (uu___1518_12362.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = - (uu___1521_12372.FStar_Syntax_Syntax.lbunivs); + (uu___1518_12362.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = - (uu___1521_12372.FStar_Syntax_Syntax.lbtyp); + (uu___1518_12362.FStar_Syntax_Syntax.lbtyp); FStar_Syntax_Syntax.lbeff = - (uu___1521_12372.FStar_Syntax_Syntax.lbeff); + (uu___1518_12362.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = lbdef; FStar_Syntax_Syntax.lbattrs = - (uu___1521_12372.FStar_Syntax_Syntax.lbattrs); + (uu___1518_12362.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___1521_12372.FStar_Syntax_Syntax.lbpos) - } in - let uu____12373 = + (uu___1518_12362.FStar_Syntax_Syntax.lbpos) + } in + let uu____12363 = FStar_Util.record_time - (fun uu____12392 -> + (fun uu____12382 -> FStar_TypeChecker_TcTerm.tc_maybe_toplevel_term - env' e1) in - (match uu____12373 with - | (r1, ms) -> - ((let uu____12420 = + env' e1) + in + (match uu____12363 with + | (r1,ms) -> + ((let uu____12410 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "TCDeclTime") in - if uu____12420 + (FStar_Options.Other "TCDeclTime") + in + if uu____12410 then - let uu____12425 = FStar_Util.string_of_int ms in + let uu____12415 = FStar_Util.string_of_int ms + in FStar_Util.print1 "Let binding typechecked in phase 2 in %s milliseconds\n" - uu____12425 + uu____12415 else ()); - (let uu____12430 = + (let uu____12420 = match r1 with | ({ FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.Tm_let (lbs1, e2); - FStar_Syntax_Syntax.pos = uu____12455; - FStar_Syntax_Syntax.vars = uu____12456;_}, - uu____12457, g) when - FStar_TypeChecker_Env.is_trivial g -> + FStar_Syntax_Syntax.Tm_let (lbs1,e2); + FStar_Syntax_Syntax.pos = uu____12445; + FStar_Syntax_Syntax.vars = uu____12446;_},uu____12447,g) + when FStar_TypeChecker_Env.is_trivial g -> let lbs2 = - let uu____12487 = + let uu____12477 = FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs1) - (FStar_List.map rename_parameters) in + (FStar_List.map rename_parameters) + in ((FStar_Pervasives_Native.fst lbs1), - uu____12487) in + uu____12477) + in let lbs3 = - let uu____12511 = + let uu____12501 = match post_tau with | FStar_Pervasives_Native.Some tau -> FStar_List.map (postprocess_lb tau) (FStar_Pervasives_Native.snd lbs2) - | FStar_Pervasives_Native.None -> - FStar_Pervasives_Native.snd lbs2 in + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.snd lbs2 + in ((FStar_Pervasives_Native.fst lbs2), - uu____12511) in + uu____12501) + in let quals1 = match e2.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_meta - (uu____12534, - FStar_Syntax_Syntax.Meta_desugared - (FStar_Syntax_Syntax.Masked_effect)) + (uu____12524,FStar_Syntax_Syntax.Meta_desugared + (FStar_Syntax_Syntax.Masked_effect + )) -> FStar_Syntax_Syntax.HasMaskedEffect :: quals - | uu____12539 -> quals in - ((let uu___1551_12548 = se1 in + | uu____12529 -> quals in + ((let uu___1548_12538 = se1 in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_let (lbs3, lids)); FStar_Syntax_Syntax.sigrng = - (uu___1551_12548.FStar_Syntax_Syntax.sigrng); + (uu___1548_12538.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = quals1; FStar_Syntax_Syntax.sigmeta = - (uu___1551_12548.FStar_Syntax_Syntax.sigmeta); + (uu___1548_12538.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1551_12548.FStar_Syntax_Syntax.sigattrs) + (uu___1548_12538.FStar_Syntax_Syntax.sigattrs) }), lbs3) - | uu____12551 -> + | uu____12541 -> failwith - "impossible (typechecking should preserve Tm_let)" in - match uu____12430 with - | (se2, lbs1) -> + "impossible (typechecking should preserve Tm_let)" + in + match uu____12420 with + | (se2,lbs1) -> (FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs1) (FStar_List.iter - (fun lb -> + (fun lb -> let fv = FStar_Util.right - lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbname + in FStar_TypeChecker_Env.insert_fv_info env1 fv lb.FStar_Syntax_Syntax.lbtyp)); - (let uu____12607 = log env1 in - if uu____12607 + (let uu____12597 = log env1 in + if uu____12597 then - let uu____12610 = - let uu____12612 = + let uu____12600 = + let uu____12602 = FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs1) (FStar_List.map - (fun lb -> + (fun lb -> let should_log = - let uu____12632 = - let uu____12641 = - let uu____12642 = - let uu____12645 = + let uu____12622 = + let uu____12631 = + let uu____12632 = + let uu____12635 = FStar_Util.right - lb.FStar_Syntax_Syntax.lbname in - uu____12645.FStar_Syntax_Syntax.fv_name in - uu____12642.FStar_Syntax_Syntax.v in + lb.FStar_Syntax_Syntax.lbname + in + uu____12635.FStar_Syntax_Syntax.fv_name + in + uu____12632.FStar_Syntax_Syntax.v + in FStar_TypeChecker_Env.try_lookup_val_decl - env1 uu____12641 in - match uu____12632 with + env1 uu____12631 + in + match uu____12622 with | FStar_Pervasives_Native.None - -> true - | uu____12654 -> false in + -> true + | uu____12644 -> false in if should_log then - let uu____12666 = + let uu____12656 = FStar_Syntax_Print.lbname_to_string - lb.FStar_Syntax_Syntax.lbname in - let uu____12668 = + lb.FStar_Syntax_Syntax.lbname + in + let uu____12658 = FStar_Syntax_Print.term_to_string - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in FStar_Util.format2 - "let %s : %s" uu____12666 - uu____12668 - else "")) in - FStar_All.pipe_right uu____12612 - (FStar_String.concat "\n") in - FStar_Util.print1 "%s\n" uu____12610 + "let %s : %s" uu____12656 + uu____12658 + else "")) + in + FStar_All.pipe_right uu____12602 + (FStar_String.concat "\n") + in + FStar_Util.print1 "%s\n" uu____12600 else ()); check_must_erase_attribute env0 se2; ([se2], [], env0)))))))) + let (tc_decl : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt -> (FStar_Syntax_Syntax.sigelt Prims.list * FStar_Syntax_Syntax.sigelt Prims.list * FStar_TypeChecker_Env.env)) = - fun env -> - fun se -> - let env1 = set_hint_correlator env se in - (let uu____12720 = FStar_TypeChecker_Env.debug env1 FStar_Options.Low in - if uu____12720 + fun env -> + fun se -> + let env1 = set_hint_correlator env se in + (let uu____12710 = FStar_TypeChecker_Env.debug env1 FStar_Options.Low + in + if uu____12710 then - let uu____12723 = FStar_Syntax_Print.sigelt_to_string se in - FStar_Util.print1 ">>>>>>>>>>>>>>tc_decl %s\n" uu____12723 + let uu____12713 = FStar_Syntax_Print.sigelt_to_string se in + FStar_Util.print1 ">>>>>>>>>>>>>>tc_decl %s\n" uu____12713 else ()); - (let uu____12728 = get_fail_se se in - match uu____12728 with - | FStar_Pervasives_Native.Some (uu____12749, false) when - let uu____12766 = FStar_TypeChecker_Env.should_verify env1 in - Prims.op_Negation uu____12766 -> ([], [], env1) - | FStar_Pervasives_Native.Some (errnos, lax1) -> + (let uu____12718 = get_fail_se se in + match uu____12718 with + | FStar_Pervasives_Native.Some (uu____12739,false ) when + let uu____12756 = FStar_TypeChecker_Env.should_verify env1 in + Prims.op_Negation uu____12756 -> ([], [], env1) + | FStar_Pervasives_Native.Some (errnos,lax1) -> let env' = if lax1 then - let uu___1582_12792 = env1 in + let uu___1579_12782 = env1 in { FStar_TypeChecker_Env.solver = - (uu___1582_12792.FStar_TypeChecker_Env.solver); + (uu___1579_12782.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1582_12792.FStar_TypeChecker_Env.range); + (uu___1579_12782.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1582_12792.FStar_TypeChecker_Env.curmodule); + (uu___1579_12782.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1582_12792.FStar_TypeChecker_Env.gamma); + (uu___1579_12782.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1582_12792.FStar_TypeChecker_Env.gamma_sig); + (uu___1579_12782.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1582_12792.FStar_TypeChecker_Env.gamma_cache); + (uu___1579_12782.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1582_12792.FStar_TypeChecker_Env.modules); + (uu___1579_12782.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1582_12792.FStar_TypeChecker_Env.expected_typ); + (uu___1579_12782.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1582_12792.FStar_TypeChecker_Env.sigtab); + (uu___1579_12782.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1582_12792.FStar_TypeChecker_Env.attrtab); + (uu___1579_12782.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1582_12792.FStar_TypeChecker_Env.is_pattern); + (uu___1579_12782.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1582_12792.FStar_TypeChecker_Env.instantiate_imp); + (uu___1579_12782.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1582_12792.FStar_TypeChecker_Env.effects); + (uu___1579_12782.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1582_12792.FStar_TypeChecker_Env.generalize); + (uu___1579_12782.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1582_12792.FStar_TypeChecker_Env.letrecs); + (uu___1579_12782.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1582_12792.FStar_TypeChecker_Env.top_level); + (uu___1579_12782.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1582_12792.FStar_TypeChecker_Env.check_uvars); + (uu___1579_12782.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1582_12792.FStar_TypeChecker_Env.use_eq); + (uu___1579_12782.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1582_12792.FStar_TypeChecker_Env.is_iface); + (uu___1579_12782.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1582_12792.FStar_TypeChecker_Env.admit); + (uu___1579_12782.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___1582_12792.FStar_TypeChecker_Env.lax_universes); + (uu___1579_12782.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1582_12792.FStar_TypeChecker_Env.phase1); + (uu___1579_12782.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1582_12792.FStar_TypeChecker_Env.failhard); + (uu___1579_12782.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1582_12792.FStar_TypeChecker_Env.nosynth); + (uu___1579_12782.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1582_12792.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1579_12782.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1582_12792.FStar_TypeChecker_Env.tc_term); + (uu___1579_12782.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1582_12792.FStar_TypeChecker_Env.type_of); + (uu___1579_12782.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1582_12792.FStar_TypeChecker_Env.universe_of); + (uu___1579_12782.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1582_12792.FStar_TypeChecker_Env.check_type_of); + (uu___1579_12782.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1582_12792.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1579_12782.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1582_12792.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1579_12782.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1582_12792.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1579_12782.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1582_12792.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1579_12782.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1582_12792.FStar_TypeChecker_Env.proof_ns); + (uu___1579_12782.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1582_12792.FStar_TypeChecker_Env.synth_hook); + (uu___1579_12782.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1582_12792.FStar_TypeChecker_Env.splice); + (uu___1579_12782.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1582_12792.FStar_TypeChecker_Env.postprocess); + (uu___1579_12782.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1582_12792.FStar_TypeChecker_Env.is_native_tactic); + (uu___1579_12782.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1582_12792.FStar_TypeChecker_Env.identifier_info); + (uu___1579_12782.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1582_12792.FStar_TypeChecker_Env.tc_hooks); + (uu___1579_12782.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1582_12792.FStar_TypeChecker_Env.dsenv); + (uu___1579_12782.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1582_12792.FStar_TypeChecker_Env.nbe) + (uu___1579_12782.FStar_TypeChecker_Env.nbe) } - else env1 in - ((let uu____12797 = - FStar_TypeChecker_Env.debug env1 FStar_Options.Low in - if uu____12797 + else env1 in + ((let uu____12787 = + FStar_TypeChecker_Env.debug env1 FStar_Options.Low in + if uu____12787 then - let uu____12800 = - let uu____12802 = - FStar_List.map FStar_Util.string_of_int errnos in - FStar_All.pipe_left (FStar_String.concat "; ") uu____12802 in - FStar_Util.print1 ">> Expecting errors: [%s]\n" uu____12800 + let uu____12790 = + let uu____12792 = + FStar_List.map FStar_Util.string_of_int errnos in + FStar_All.pipe_left (FStar_String.concat "; ") uu____12792 + in + FStar_Util.print1 ">> Expecting errors: [%s]\n" uu____12790 else ()); - (let uu____12816 = + (let uu____12806 = FStar_Errors.catch_errors - (fun uu____12846 -> + (fun uu____12836 -> FStar_Options.with_saved_options - (fun uu____12858 -> tc_decl' env' se)) in - match uu____12816 with - | (errs, uu____12870) -> - ((let uu____12900 = - FStar_TypeChecker_Env.debug env1 FStar_Options.Low in - if uu____12900 + (fun uu____12848 -> tc_decl' env' se)) + in + match uu____12806 with + | (errs,uu____12860) -> + ((let uu____12890 = + FStar_TypeChecker_Env.debug env1 FStar_Options.Low in + if uu____12890 then (FStar_Util.print_string ">> Got issues: [\n"; FStar_List.iter FStar_Errors.print_issue errs; FStar_Util.print_string ">>]\n") else ()); - (let sort = FStar_List.sortWith (fun x -> fun y -> x - y) in - let errnos1 = sort errnos in + (let sort = FStar_List.sortWith (fun x -> fun y -> x - y) + in + let errnos1 = sort errnos in let actual = - let uu____12935 = + let uu____12925 = FStar_List.concatMap - (fun i -> list_of_option i.FStar_Errors.issue_number) - errs in - sort uu____12935 in + (fun i -> + list_of_option i.FStar_Errors.issue_number) errs + in + sort uu____12925 in (match errs with | [] -> (FStar_List.iter FStar_Errors.print_issue errs; FStar_Errors.log_issue se.FStar_Syntax_Syntax.sigrng (FStar_Errors.Error_DidNotFail, "This top-level definition was expected to fail, but it succeeded")) - | uu____12947 -> + | uu____12937 -> if (errnos1 <> []) && (errnos1 <> actual) then - let uu____12958 = - let uu____12968 = check_multi_eq errnos1 actual in - match uu____12968 with + let uu____12948 = + let uu____12958 = check_multi_eq errnos1 actual + in + match uu____12958 with | FStar_Pervasives_Native.Some r -> r - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> ((~- (Prims.parse_int "1")), (~- (Prims.parse_int "1")), - (~- (Prims.parse_int "1"))) in - (match uu____12958 with - | (e, n1, n2) -> + (~- (Prims.parse_int "1"))) + in + (match uu____12948 with + | (e,n1,n2) -> (FStar_List.iter FStar_Errors.print_issue errs; - (let uu____13033 = - let uu____13039 = - let uu____13041 = + (let uu____13023 = + let uu____13029 = + let uu____13031 = FStar_Common.string_of_list - FStar_Util.string_of_int errnos1 in - let uu____13044 = + FStar_Util.string_of_int errnos1 + in + let uu____13034 = FStar_Common.string_of_list - FStar_Util.string_of_int actual in - let uu____13047 = - FStar_Util.string_of_int e in - let uu____13049 = - FStar_Util.string_of_int n2 in - let uu____13051 = - FStar_Util.string_of_int n1 in + FStar_Util.string_of_int actual + in + let uu____13037 = + FStar_Util.string_of_int e in + let uu____13039 = + FStar_Util.string_of_int n2 in + let uu____13041 = + FStar_Util.string_of_int n1 in FStar_Util.format5 "This top-level definition was expected to raise error codes %s, but it raised %s. Error #%s was raised %s times, instead of %s." - uu____13041 uu____13044 uu____13047 - uu____13049 uu____13051 in + uu____13031 uu____13034 uu____13037 + uu____13039 uu____13041 + in (FStar_Errors.Error_DidNotFail, - uu____13039) in + uu____13029) + in FStar_Errors.log_issue - se.FStar_Syntax_Syntax.sigrng uu____13033))) + se.FStar_Syntax_Syntax.sigrng uu____13023))) else ()); ([], [], env1))))) - | FStar_Pervasives_Native.None -> tc_decl' env1 se) + | FStar_Pervasives_Native.None -> tc_decl' env1 se) + let for_export : - 'Auu____13078 . - 'Auu____13078 -> + 'Auu____13068 . + 'Auu____13068 -> FStar_Ident.lident Prims.list -> FStar_Syntax_Syntax.sigelt -> (FStar_Syntax_Syntax.sigelt Prims.list * FStar_Ident.lident Prims.list) = - fun env -> - fun hidden -> - fun se -> + fun env -> + fun hidden -> + fun se -> let is_abstract quals = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___3_13121 -> - match uu___3_13121 with - | FStar_Syntax_Syntax.Abstract -> true - | uu____13124 -> false)) in + (fun uu___3_13111 -> + match uu___3_13111 with + | FStar_Syntax_Syntax.Abstract -> true + | uu____13114 -> false)) + in let is_hidden_proj_or_disc q = match q with - | FStar_Syntax_Syntax.Projector (l, uu____13135) -> + | FStar_Syntax_Syntax.Projector (l,uu____13125) -> FStar_All.pipe_right hidden (FStar_Util.for_some (FStar_Ident.lid_equals l)) | FStar_Syntax_Syntax.Discriminator l -> FStar_All.pipe_right hidden (FStar_Util.for_some (FStar_Ident.lid_equals l)) - | uu____13143 -> false in + | uu____13133 -> false in match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_pragma uu____13153 -> ([], hidden) - | FStar_Syntax_Syntax.Sig_splice uu____13158 -> + | FStar_Syntax_Syntax.Sig_pragma uu____13143 -> ([], hidden) + | FStar_Syntax_Syntax.Sig_splice uu____13148 -> failwith "Impossible (Already handled)" - | FStar_Syntax_Syntax.Sig_inductive_typ uu____13174 -> + | FStar_Syntax_Syntax.Sig_inductive_typ uu____13164 -> failwith "Impossible (Already handled)" - | FStar_Syntax_Syntax.Sig_datacon uu____13200 -> + | FStar_Syntax_Syntax.Sig_datacon uu____13190 -> failwith "Impossible (Already handled)" - | FStar_Syntax_Syntax.Sig_bundle (ses, uu____13226) -> - let uu____13235 = is_abstract se.FStar_Syntax_Syntax.sigquals in - if uu____13235 + | FStar_Syntax_Syntax.Sig_bundle (ses,uu____13216) -> + let uu____13225 = is_abstract se.FStar_Syntax_Syntax.sigquals in + if uu____13225 then - let for_export_bundle se1 uu____13272 = - match uu____13272 with - | (out, hidden1) -> + let for_export_bundle se1 uu____13262 = + match uu____13262 with + | (out,hidden1) -> (match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (l, us, bs, t, uu____13311, uu____13312) -> + (l,us,bs,t,uu____13301,uu____13302) -> let dec = - let uu___1658_13322 = se1 in - let uu____13323 = - let uu____13324 = - let uu____13331 = - let uu____13332 = - FStar_Syntax_Syntax.mk_Total t in - FStar_Syntax_Util.arrow bs uu____13332 in - (l, us, uu____13331) in - FStar_Syntax_Syntax.Sig_declare_typ uu____13324 in + let uu___1655_13312 = se1 in + let uu____13313 = + let uu____13314 = + let uu____13321 = + let uu____13322 = + FStar_Syntax_Syntax.mk_Total t in + FStar_Syntax_Util.arrow bs uu____13322 in + (l, us, uu____13321) in + FStar_Syntax_Syntax.Sig_declare_typ uu____13314 + in { - FStar_Syntax_Syntax.sigel = uu____13323; + FStar_Syntax_Syntax.sigel = uu____13313; FStar_Syntax_Syntax.sigrng = - (uu___1658_13322.FStar_Syntax_Syntax.sigrng); + (uu___1655_13312.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = (FStar_Syntax_Syntax.Assumption :: FStar_Syntax_Syntax.New :: (se1.FStar_Syntax_Syntax.sigquals)); FStar_Syntax_Syntax.sigmeta = - (uu___1658_13322.FStar_Syntax_Syntax.sigmeta); + (uu___1655_13312.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1658_13322.FStar_Syntax_Syntax.sigattrs) - } in + (uu___1655_13312.FStar_Syntax_Syntax.sigattrs) + } in ((dec :: out), hidden1) | FStar_Syntax_Syntax.Sig_datacon - (l, us, t, uu____13342, uu____13343, uu____13344) -> + (l,us,t,uu____13332,uu____13333,uu____13334) -> let dec = - let uu___1669_13352 = se1 in + let uu___1666_13342 = se1 in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (l, us, t)); FStar_Syntax_Syntax.sigrng = - (uu___1669_13352.FStar_Syntax_Syntax.sigrng); + (uu___1666_13342.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = [FStar_Syntax_Syntax.Assumption]; FStar_Syntax_Syntax.sigmeta = - (uu___1669_13352.FStar_Syntax_Syntax.sigmeta); + (uu___1666_13342.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1669_13352.FStar_Syntax_Syntax.sigattrs) - } in + (uu___1666_13342.FStar_Syntax_Syntax.sigattrs) + } in ((dec :: out), (l :: hidden1)) - | uu____13357 -> (out, hidden1)) in + | uu____13347 -> (out, hidden1)) + in FStar_List.fold_right for_export_bundle ses ([], hidden) else ([se], hidden) | FStar_Syntax_Syntax.Sig_assume - (uu____13380, uu____13381, uu____13382) -> - let uu____13383 = is_abstract se.FStar_Syntax_Syntax.sigquals in - if uu____13383 then ([], hidden) else ([se], hidden) - | FStar_Syntax_Syntax.Sig_declare_typ (l, us, t) -> - let uu____13407 = + (uu____13370,uu____13371,uu____13372) -> + let uu____13373 = is_abstract se.FStar_Syntax_Syntax.sigquals in + if uu____13373 then ([], hidden) else ([se], hidden) + | FStar_Syntax_Syntax.Sig_declare_typ (l,us,t) -> + let uu____13397 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals - (FStar_Util.for_some is_hidden_proj_or_disc) in - if uu____13407 + (FStar_Util.for_some is_hidden_proj_or_disc) + in + if uu____13397 then - ([(let uu___1685_13426 = se in + ([(let uu___1682_13416 = se in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (l, us, t)); FStar_Syntax_Syntax.sigrng = - (uu___1685_13426.FStar_Syntax_Syntax.sigrng); + (uu___1682_13416.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = [FStar_Syntax_Syntax.Assumption]; FStar_Syntax_Syntax.sigmeta = - (uu___1685_13426.FStar_Syntax_Syntax.sigmeta); + (uu___1682_13416.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1685_13426.FStar_Syntax_Syntax.sigattrs) + (uu___1682_13416.FStar_Syntax_Syntax.sigattrs) })], (l :: hidden)) else - (let uu____13429 = + (let uu____13419 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___4_13435 -> - match uu___4_13435 with - | FStar_Syntax_Syntax.Assumption -> true - | FStar_Syntax_Syntax.Projector uu____13438 -> true - | FStar_Syntax_Syntax.Discriminator uu____13444 -> + (fun uu___4_13425 -> + match uu___4_13425 with + | FStar_Syntax_Syntax.Assumption -> true + | FStar_Syntax_Syntax.Projector uu____13428 -> true + | FStar_Syntax_Syntax.Discriminator uu____13434 -> true - | uu____13446 -> false)) in - if uu____13429 then ([se], hidden) else ([], hidden)) - | FStar_Syntax_Syntax.Sig_main uu____13467 -> ([], hidden) - | FStar_Syntax_Syntax.Sig_new_effect uu____13472 -> ([se], hidden) - | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____13477 -> + | uu____13436 -> false)) + in + if uu____13419 then ([se], hidden) else ([], hidden)) + | FStar_Syntax_Syntax.Sig_main uu____13457 -> ([], hidden) + | FStar_Syntax_Syntax.Sig_new_effect uu____13462 -> ([se], hidden) + | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____13467 -> ([se], hidden) - | FStar_Syntax_Syntax.Sig_sub_effect uu____13482 -> ([se], hidden) - | FStar_Syntax_Syntax.Sig_effect_abbrev uu____13487 -> ([se], hidden) - | FStar_Syntax_Syntax.Sig_let ((false, lb::[]), uu____13505) when + | FStar_Syntax_Syntax.Sig_sub_effect uu____13472 -> ([se], hidden) + | FStar_Syntax_Syntax.Sig_effect_abbrev uu____13477 -> ([se], hidden) + | FStar_Syntax_Syntax.Sig_let ((false ,lb::[]),uu____13495) when FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some is_hidden_proj_or_disc) -> - let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname in - let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - let uu____13519 = + let fv = FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + let uu____13509 = FStar_All.pipe_right hidden - (FStar_Util.for_some (FStar_Syntax_Syntax.fv_eq_lid fv)) in - if uu____13519 + (FStar_Util.for_some (FStar_Syntax_Syntax.fv_eq_lid fv)) + in + if uu____13509 then ([], hidden) else (let dec = - let uu____13540 = FStar_Ident.range_of_lid lid in + let uu____13530 = FStar_Ident.range_of_lid lid in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (((fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v), (lb.FStar_Syntax_Syntax.lbunivs), (lb.FStar_Syntax_Syntax.lbtyp))); - FStar_Syntax_Syntax.sigrng = uu____13540; + FStar_Syntax_Syntax.sigrng = uu____13530; FStar_Syntax_Syntax.sigquals = [FStar_Syntax_Syntax.Assumption]; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in ([dec], (lid :: hidden))) - | FStar_Syntax_Syntax.Sig_let (lbs, l) -> - let uu____13551 = is_abstract se.FStar_Syntax_Syntax.sigquals in - if uu____13551 + | FStar_Syntax_Syntax.Sig_let (lbs,l) -> + let uu____13541 = is_abstract se.FStar_Syntax_Syntax.sigquals in + if uu____13541 then - let uu____13562 = + let uu____13552 = FStar_All.pipe_right (FStar_Pervasives_Native.snd lbs) (FStar_List.map - (fun lb -> - let uu___1722_13576 = se in - let uu____13577 = - let uu____13578 = - let uu____13585 = - let uu____13586 = - let uu____13589 = + (fun lb -> + let uu___1719_13566 = se in + let uu____13567 = + let uu____13568 = + let uu____13575 = + let uu____13576 = + let uu____13579 = FStar_Util.right - lb.FStar_Syntax_Syntax.lbname in - uu____13589.FStar_Syntax_Syntax.fv_name in - uu____13586.FStar_Syntax_Syntax.v in - (uu____13585, (lb.FStar_Syntax_Syntax.lbunivs), - (lb.FStar_Syntax_Syntax.lbtyp)) in - FStar_Syntax_Syntax.Sig_declare_typ uu____13578 in + lb.FStar_Syntax_Syntax.lbname + in + uu____13579.FStar_Syntax_Syntax.fv_name in + uu____13576.FStar_Syntax_Syntax.v in + (uu____13575, (lb.FStar_Syntax_Syntax.lbunivs), + (lb.FStar_Syntax_Syntax.lbtyp)) + in + FStar_Syntax_Syntax.Sig_declare_typ uu____13568 in { - FStar_Syntax_Syntax.sigel = uu____13577; + FStar_Syntax_Syntax.sigel = uu____13567; FStar_Syntax_Syntax.sigrng = - (uu___1722_13576.FStar_Syntax_Syntax.sigrng); + (uu___1719_13566.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = (FStar_Syntax_Syntax.Assumption :: (se.FStar_Syntax_Syntax.sigquals)); FStar_Syntax_Syntax.sigmeta = - (uu___1722_13576.FStar_Syntax_Syntax.sigmeta); + (uu___1719_13566.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1722_13576.FStar_Syntax_Syntax.sigattrs) - })) in - (uu____13562, hidden) + (uu___1719_13566.FStar_Syntax_Syntax.sigattrs) + })) + in + (uu____13552, hidden) else ([se], hidden) + let (add_sigelt_to_env : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt -> FStar_TypeChecker_Env.env) = - fun env -> - fun se -> - (let uu____13612 = FStar_TypeChecker_Env.debug env FStar_Options.Low in - if uu____13612 + fun env -> + fun se -> + (let uu____13602 = FStar_TypeChecker_Env.debug env FStar_Options.Low + in + if uu____13602 then - let uu____13615 = FStar_Syntax_Print.sigelt_to_string se in + let uu____13605 = FStar_Syntax_Print.sigelt_to_string se in FStar_Util.print1 ">>>>>>>>>>>>>>Adding top-level decl to environment: %s\n" - uu____13615 + uu____13605 else ()); (match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_inductive_typ uu____13620 -> + | FStar_Syntax_Syntax.Sig_inductive_typ uu____13610 -> failwith "add_sigelt_to_env: Impossible, bare data constructor" - | FStar_Syntax_Syntax.Sig_datacon uu____13638 -> + | FStar_Syntax_Syntax.Sig_datacon uu____13628 -> failwith "add_sigelt_to_env: Impossible, bare data constructor" + | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.PushOptions + uu____13645) -> + let env1 = + let uu___1740_13650 = env in + let uu____13651 = FStar_Options.using_facts_from () in + { + FStar_TypeChecker_Env.solver = + (uu___1740_13650.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (uu___1740_13650.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (uu___1740_13650.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (uu___1740_13650.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (uu___1740_13650.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (uu___1740_13650.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (uu___1740_13650.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (uu___1740_13650.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (uu___1740_13650.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (uu___1740_13650.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.is_pattern = + (uu___1740_13650.FStar_TypeChecker_Env.is_pattern); + FStar_TypeChecker_Env.instantiate_imp = + (uu___1740_13650.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (uu___1740_13650.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (uu___1740_13650.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (uu___1740_13650.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (uu___1740_13650.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (uu___1740_13650.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq = + (uu___1740_13650.FStar_TypeChecker_Env.use_eq); + FStar_TypeChecker_Env.is_iface = + (uu___1740_13650.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (uu___1740_13650.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = + (uu___1740_13650.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (uu___1740_13650.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (uu___1740_13650.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (uu___1740_13650.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (uu___1740_13650.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (uu___1740_13650.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.tc_term = + (uu___1740_13650.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.type_of = + (uu___1740_13650.FStar_TypeChecker_Env.type_of); + FStar_TypeChecker_Env.universe_of = + (uu___1740_13650.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.check_type_of = + (uu___1740_13650.FStar_TypeChecker_Env.check_type_of); + FStar_TypeChecker_Env.use_bv_sorts = + (uu___1740_13650.FStar_TypeChecker_Env.use_bv_sorts); + FStar_TypeChecker_Env.qtbl_name_and_index = + (uu___1740_13650.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (uu___1740_13650.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (uu___1740_13650.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = uu____13651; + FStar_TypeChecker_Env.synth_hook = + (uu___1740_13650.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.splice = + (uu___1740_13650.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.postprocess = + (uu___1740_13650.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.is_native_tactic = + (uu___1740_13650.FStar_TypeChecker_Env.is_native_tactic); + FStar_TypeChecker_Env.identifier_info = + (uu___1740_13650.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (uu___1740_13650.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (uu___1740_13650.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (uu___1740_13650.FStar_TypeChecker_Env.nbe) + } in + env1 + | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.PopOptions ) -> + let env1 = + let uu___1740_13653 = env in + let uu____13654 = FStar_Options.using_facts_from () in + { + FStar_TypeChecker_Env.solver = + (uu___1740_13653.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (uu___1740_13653.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (uu___1740_13653.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (uu___1740_13653.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (uu___1740_13653.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (uu___1740_13653.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (uu___1740_13653.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (uu___1740_13653.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (uu___1740_13653.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (uu___1740_13653.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.is_pattern = + (uu___1740_13653.FStar_TypeChecker_Env.is_pattern); + FStar_TypeChecker_Env.instantiate_imp = + (uu___1740_13653.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (uu___1740_13653.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (uu___1740_13653.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (uu___1740_13653.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (uu___1740_13653.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (uu___1740_13653.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq = + (uu___1740_13653.FStar_TypeChecker_Env.use_eq); + FStar_TypeChecker_Env.is_iface = + (uu___1740_13653.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (uu___1740_13653.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = + (uu___1740_13653.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (uu___1740_13653.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (uu___1740_13653.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (uu___1740_13653.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (uu___1740_13653.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (uu___1740_13653.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.tc_term = + (uu___1740_13653.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.type_of = + (uu___1740_13653.FStar_TypeChecker_Env.type_of); + FStar_TypeChecker_Env.universe_of = + (uu___1740_13653.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.check_type_of = + (uu___1740_13653.FStar_TypeChecker_Env.check_type_of); + FStar_TypeChecker_Env.use_bv_sorts = + (uu___1740_13653.FStar_TypeChecker_Env.use_bv_sorts); + FStar_TypeChecker_Env.qtbl_name_and_index = + (uu___1740_13653.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (uu___1740_13653.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (uu___1740_13653.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = uu____13654; + FStar_TypeChecker_Env.synth_hook = + (uu___1740_13653.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.splice = + (uu___1740_13653.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.postprocess = + (uu___1740_13653.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.is_native_tactic = + (uu___1740_13653.FStar_TypeChecker_Env.is_native_tactic); + FStar_TypeChecker_Env.identifier_info = + (uu___1740_13653.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (uu___1740_13653.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (uu___1740_13653.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (uu___1740_13653.FStar_TypeChecker_Env.nbe) + } in + env1 + | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.SetOptions + uu____13655) -> + let env1 = + let uu___1740_13658 = env in + let uu____13659 = FStar_Options.using_facts_from () in + { + FStar_TypeChecker_Env.solver = + (uu___1740_13658.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (uu___1740_13658.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (uu___1740_13658.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (uu___1740_13658.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (uu___1740_13658.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (uu___1740_13658.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (uu___1740_13658.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (uu___1740_13658.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (uu___1740_13658.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (uu___1740_13658.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.is_pattern = + (uu___1740_13658.FStar_TypeChecker_Env.is_pattern); + FStar_TypeChecker_Env.instantiate_imp = + (uu___1740_13658.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (uu___1740_13658.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (uu___1740_13658.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (uu___1740_13658.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (uu___1740_13658.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (uu___1740_13658.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq = + (uu___1740_13658.FStar_TypeChecker_Env.use_eq); + FStar_TypeChecker_Env.is_iface = + (uu___1740_13658.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (uu___1740_13658.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = + (uu___1740_13658.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (uu___1740_13658.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (uu___1740_13658.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (uu___1740_13658.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (uu___1740_13658.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (uu___1740_13658.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.tc_term = + (uu___1740_13658.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.type_of = + (uu___1740_13658.FStar_TypeChecker_Env.type_of); + FStar_TypeChecker_Env.universe_of = + (uu___1740_13658.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.check_type_of = + (uu___1740_13658.FStar_TypeChecker_Env.check_type_of); + FStar_TypeChecker_Env.use_bv_sorts = + (uu___1740_13658.FStar_TypeChecker_Env.use_bv_sorts); + FStar_TypeChecker_Env.qtbl_name_and_index = + (uu___1740_13658.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (uu___1740_13658.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (uu___1740_13658.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = uu____13659; + FStar_TypeChecker_Env.synth_hook = + (uu___1740_13658.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.splice = + (uu___1740_13658.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.postprocess = + (uu___1740_13658.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.is_native_tactic = + (uu___1740_13658.FStar_TypeChecker_Env.is_native_tactic); + FStar_TypeChecker_Env.identifier_info = + (uu___1740_13658.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (uu___1740_13658.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (uu___1740_13658.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (uu___1740_13658.FStar_TypeChecker_Env.nbe) + } in + env1 | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.ResetOptions - uu____13655) -> z3_reset_options env - | FStar_Syntax_Syntax.Sig_pragma uu____13659 -> env - | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____13660 -> env + uu____13660) -> + let env1 = + let uu___1740_13665 = env in + let uu____13666 = FStar_Options.using_facts_from () in + { + FStar_TypeChecker_Env.solver = + (uu___1740_13665.FStar_TypeChecker_Env.solver); + FStar_TypeChecker_Env.range = + (uu___1740_13665.FStar_TypeChecker_Env.range); + FStar_TypeChecker_Env.curmodule = + (uu___1740_13665.FStar_TypeChecker_Env.curmodule); + FStar_TypeChecker_Env.gamma = + (uu___1740_13665.FStar_TypeChecker_Env.gamma); + FStar_TypeChecker_Env.gamma_sig = + (uu___1740_13665.FStar_TypeChecker_Env.gamma_sig); + FStar_TypeChecker_Env.gamma_cache = + (uu___1740_13665.FStar_TypeChecker_Env.gamma_cache); + FStar_TypeChecker_Env.modules = + (uu___1740_13665.FStar_TypeChecker_Env.modules); + FStar_TypeChecker_Env.expected_typ = + (uu___1740_13665.FStar_TypeChecker_Env.expected_typ); + FStar_TypeChecker_Env.sigtab = + (uu___1740_13665.FStar_TypeChecker_Env.sigtab); + FStar_TypeChecker_Env.attrtab = + (uu___1740_13665.FStar_TypeChecker_Env.attrtab); + FStar_TypeChecker_Env.is_pattern = + (uu___1740_13665.FStar_TypeChecker_Env.is_pattern); + FStar_TypeChecker_Env.instantiate_imp = + (uu___1740_13665.FStar_TypeChecker_Env.instantiate_imp); + FStar_TypeChecker_Env.effects = + (uu___1740_13665.FStar_TypeChecker_Env.effects); + FStar_TypeChecker_Env.generalize = + (uu___1740_13665.FStar_TypeChecker_Env.generalize); + FStar_TypeChecker_Env.letrecs = + (uu___1740_13665.FStar_TypeChecker_Env.letrecs); + FStar_TypeChecker_Env.top_level = + (uu___1740_13665.FStar_TypeChecker_Env.top_level); + FStar_TypeChecker_Env.check_uvars = + (uu___1740_13665.FStar_TypeChecker_Env.check_uvars); + FStar_TypeChecker_Env.use_eq = + (uu___1740_13665.FStar_TypeChecker_Env.use_eq); + FStar_TypeChecker_Env.is_iface = + (uu___1740_13665.FStar_TypeChecker_Env.is_iface); + FStar_TypeChecker_Env.admit = + (uu___1740_13665.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = + (uu___1740_13665.FStar_TypeChecker_Env.lax); + FStar_TypeChecker_Env.lax_universes = + (uu___1740_13665.FStar_TypeChecker_Env.lax_universes); + FStar_TypeChecker_Env.phase1 = + (uu___1740_13665.FStar_TypeChecker_Env.phase1); + FStar_TypeChecker_Env.failhard = + (uu___1740_13665.FStar_TypeChecker_Env.failhard); + FStar_TypeChecker_Env.nosynth = + (uu___1740_13665.FStar_TypeChecker_Env.nosynth); + FStar_TypeChecker_Env.uvar_subtyping = + (uu___1740_13665.FStar_TypeChecker_Env.uvar_subtyping); + FStar_TypeChecker_Env.tc_term = + (uu___1740_13665.FStar_TypeChecker_Env.tc_term); + FStar_TypeChecker_Env.type_of = + (uu___1740_13665.FStar_TypeChecker_Env.type_of); + FStar_TypeChecker_Env.universe_of = + (uu___1740_13665.FStar_TypeChecker_Env.universe_of); + FStar_TypeChecker_Env.check_type_of = + (uu___1740_13665.FStar_TypeChecker_Env.check_type_of); + FStar_TypeChecker_Env.use_bv_sorts = + (uu___1740_13665.FStar_TypeChecker_Env.use_bv_sorts); + FStar_TypeChecker_Env.qtbl_name_and_index = + (uu___1740_13665.FStar_TypeChecker_Env.qtbl_name_and_index); + FStar_TypeChecker_Env.normalized_eff_names = + (uu___1740_13665.FStar_TypeChecker_Env.normalized_eff_names); + FStar_TypeChecker_Env.fv_delta_depths = + (uu___1740_13665.FStar_TypeChecker_Env.fv_delta_depths); + FStar_TypeChecker_Env.proof_ns = uu____13666; + FStar_TypeChecker_Env.synth_hook = + (uu___1740_13665.FStar_TypeChecker_Env.synth_hook); + FStar_TypeChecker_Env.splice = + (uu___1740_13665.FStar_TypeChecker_Env.splice); + FStar_TypeChecker_Env.postprocess = + (uu___1740_13665.FStar_TypeChecker_Env.postprocess); + FStar_TypeChecker_Env.is_native_tactic = + (uu___1740_13665.FStar_TypeChecker_Env.is_native_tactic); + FStar_TypeChecker_Env.identifier_info = + (uu___1740_13665.FStar_TypeChecker_Env.identifier_info); + FStar_TypeChecker_Env.tc_hooks = + (uu___1740_13665.FStar_TypeChecker_Env.tc_hooks); + FStar_TypeChecker_Env.dsenv = + (uu___1740_13665.FStar_TypeChecker_Env.dsenv); + FStar_TypeChecker_Env.nbe = + (uu___1740_13665.FStar_TypeChecker_Env.nbe) + } in + env1 + | FStar_Syntax_Syntax.Sig_pragma (FStar_Syntax_Syntax.RestartSolver ) + -> + ((env.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.refresh + (); + env) + | FStar_Syntax_Syntax.Sig_pragma uu____13668 -> env + | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____13669 -> env | FStar_Syntax_Syntax.Sig_new_effect ne -> - let env1 = FStar_TypeChecker_Env.push_sigelt env se in + let env1 = FStar_TypeChecker_Env.push_sigelt env se in FStar_All.pipe_right ne.FStar_Syntax_Syntax.actions (FStar_List.fold_left - (fun env2 -> - fun a -> - let uu____13670 = + (fun env2 -> + fun a -> + let uu____13679 = FStar_Syntax_Util.action_as_lb ne.FStar_Syntax_Syntax.mname a - (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos in - FStar_TypeChecker_Env.push_sigelt env2 uu____13670) env1) + (a.FStar_Syntax_Syntax.action_defn).FStar_Syntax_Syntax.pos + in + FStar_TypeChecker_Env.push_sigelt env2 uu____13679) env1) | FStar_Syntax_Syntax.Sig_declare_typ - (uu____13671, uu____13672, uu____13673) when + (uu____13680,uu____13681,uu____13682) when FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___5_13678 -> - match uu___5_13678 with - | FStar_Syntax_Syntax.OnlyName -> true - | uu____13681 -> false)) + (fun uu___5_13687 -> + match uu___5_13687 with + | FStar_Syntax_Syntax.OnlyName -> true + | uu____13690 -> false)) -> env - | FStar_Syntax_Syntax.Sig_let (uu____13683, uu____13684) when + | FStar_Syntax_Syntax.Sig_let (uu____13692,uu____13693) when FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___5_13693 -> - match uu___5_13693 with - | FStar_Syntax_Syntax.OnlyName -> true - | uu____13696 -> false)) + (fun uu___5_13702 -> + match uu___5_13702 with + | FStar_Syntax_Syntax.OnlyName -> true + | uu____13705 -> false)) -> env - | uu____13698 -> FStar_TypeChecker_Env.push_sigelt env se) + | uu____13707 -> FStar_TypeChecker_Env.push_sigelt env se) + let (tc_decls : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt Prims.list -> (FStar_Syntax_Syntax.sigelt Prims.list * FStar_Syntax_Syntax.sigelt Prims.list * FStar_TypeChecker_Env.env)) = - fun env -> - fun ses -> - let rec process_one_decl uu____13767 se = - match uu____13767 with - | (ses1, exports, env1, hidden) -> - ((let uu____13820 = - FStar_TypeChecker_Env.debug env1 FStar_Options.Low in - if uu____13820 + fun env -> + fun ses -> + let rec process_one_decl uu____13776 se = + match uu____13776 with + | (ses1,exports,env1,hidden) -> + ((let uu____13829 = + FStar_TypeChecker_Env.debug env1 FStar_Options.Low in + if uu____13829 then - let uu____13823 = FStar_Syntax_Print.sigelt_to_string se in + let uu____13832 = FStar_Syntax_Print.sigelt_to_string se in FStar_Util.print1 - ">>>>>>>>>>>>>>Checking top-level decl %s\n" uu____13823 + ">>>>>>>>>>>>>>Checking top-level decl %s\n" uu____13832 else ()); - (let uu____13828 = tc_decl env1 se in - match uu____13828 with - | (ses', ses_elaborated, env2) -> + (let uu____13837 = tc_decl env1 se in + match uu____13837 with + | (ses',ses_elaborated,env2) -> let ses'1 = FStar_All.pipe_right ses' (FStar_List.map - (fun se1 -> - (let uu____13881 = + (fun se1 -> + (let uu____13890 = FStar_TypeChecker_Env.debug env2 - (FStar_Options.Other "UF") in - if uu____13881 + (FStar_Options.Other "UF") + in + if uu____13890 then - let uu____13885 = - FStar_Syntax_Print.sigelt_to_string se1 in + let uu____13894 = + FStar_Syntax_Print.sigelt_to_string se1 in FStar_Util.print1 - "About to elim vars from %s\n" uu____13885 + "About to elim vars from %s\n" uu____13894 else ()); - FStar_TypeChecker_Normalize.elim_uvars env2 se1)) in + FStar_TypeChecker_Normalize.elim_uvars env2 se1)) + in let ses_elaborated1 = FStar_All.pipe_right ses_elaborated (FStar_List.map - (fun se1 -> - (let uu____13901 = + (fun se1 -> + (let uu____13910 = FStar_TypeChecker_Env.debug env2 - (FStar_Options.Other "UF") in - if uu____13901 + (FStar_Options.Other "UF") + in + if uu____13910 then - let uu____13905 = - FStar_Syntax_Print.sigelt_to_string se1 in + let uu____13914 = + FStar_Syntax_Print.sigelt_to_string se1 in FStar_Util.print1 "About to elim vars from (elaborated) %s\\m" - uu____13905 + uu____13914 else ()); - FStar_TypeChecker_Normalize.elim_uvars env2 se1)) in + FStar_TypeChecker_Normalize.elim_uvars env2 se1)) + in (FStar_TypeChecker_Env.promote_id_info env2 - (fun t -> + (fun t -> FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.AllowUnboundUniverses; FStar_TypeChecker_Env.CheckNoUvars; @@ -6700,61 +7824,70 @@ let (tc_decls : (let env3 = FStar_All.pipe_right ses'1 (FStar_List.fold_left - (fun env3 -> fun se1 -> add_sigelt_to_env env3 se1) - env2) in + (fun env3 -> + fun se1 -> add_sigelt_to_env env3 se1) env2) + in FStar_Syntax_Unionfind.reset (); - (let uu____13922 = + (let uu____13931 = (FStar_Options.log_types ()) || (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env3) - (FStar_Options.Other "LogTypes")) in - if uu____13922 + (FStar_Options.Other "LogTypes")) + in + if uu____13931 then - let uu____13927 = + let uu____13936 = FStar_List.fold_left - (fun s -> - fun se1 -> - let uu____13936 = - let uu____13938 = - FStar_Syntax_Print.sigelt_to_string se1 in - Prims.op_Hat uu____13938 "\n" in - Prims.op_Hat s uu____13936) "" ses'1 in - FStar_Util.print1 "Checked: %s\n" uu____13927 + (fun s -> + fun se1 -> + let uu____13945 = + let uu____13947 = + FStar_Syntax_Print.sigelt_to_string se1 + in + Prims.op_Hat uu____13947 "\n" in + Prims.op_Hat s uu____13945) "" ses'1 + in + FStar_Util.print1 "Checked: %s\n" uu____13936 else ()); FStar_List.iter - (fun se1 -> + (fun se1 -> (env3.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.encode_sig env3 se1) ses'1; - (let uu____13948 = - let uu____13957 = - FStar_Options.use_extracted_interfaces () in - if uu____13957 + (let uu____13957 = + let uu____13966 = + FStar_Options.use_extracted_interfaces () in + if uu____13966 then ((FStar_List.rev_append ses'1 exports), []) else - (let accum_exports_hidden uu____13999 se1 = - match uu____13999 with - | (exports1, hidden1) -> - let uu____14027 = for_export env3 hidden1 se1 in - (match uu____14027 with - | (se_exported, hidden2) -> + (let accum_exports_hidden uu____14008 se1 = + match uu____14008 with + | (exports1,hidden1) -> + let uu____14036 = for_export env3 hidden1 se1 + in + (match uu____14036 with + | (se_exported,hidden2) -> ((FStar_List.rev_append se_exported - exports1), hidden2)) in + exports1), hidden2)) + in FStar_List.fold_left accum_exports_hidden - (exports, hidden) ses'1) in - match uu____13948 with - | (exports1, hidden1) -> + (exports, hidden) ses'1) + in + match uu____13957 with + | (exports1,hidden1) -> (((FStar_List.rev_append ses'1 ses1), exports1, - env3, hidden1), ses_elaborated1)))))) in + env3, hidden1), ses_elaborated1)))))) + in let process_one_decl_timed acc se = - let uu____14181 = acc in - match uu____14181 with - | (uu____14216, uu____14217, env1, uu____14219) -> - let uu____14232 = + let uu____14190 = acc in + match uu____14190 with + | (uu____14225,uu____14226,env1,uu____14228) -> + let uu____14241 = FStar_Util.record_time - (fun uu____14279 -> process_one_decl acc se) in - (match uu____14232 with - | (r, ms_elapsed) -> - ((let uu____14345 = + (fun uu____14288 -> process_one_decl acc se) + in + (match uu____14241 with + | (r,ms_elapsed) -> + ((let uu____14354 = ((FStar_TypeChecker_Env.debug env1 (FStar_Options.Other "TCDeclTime")) || @@ -6762,512 +7895,552 @@ let (tc_decls : (FStar_Syntax_Util.attr_eq FStar_Syntax_Util.tcdecltime_attr) se.FStar_Syntax_Syntax.sigattrs)) - || (FStar_Options.timing ()) in - if uu____14345 + || (FStar_Options.timing ()) + in + if uu____14354 then - let uu____14349 = - FStar_Syntax_Print.sigelt_to_string_short se in - let uu____14351 = FStar_Util.string_of_int ms_elapsed in + let uu____14358 = + FStar_Syntax_Print.sigelt_to_string_short se in + let uu____14360 = FStar_Util.string_of_int ms_elapsed + in FStar_Util.print2 "Checked %s in %s milliseconds\n" - uu____14349 uu____14351 + uu____14358 uu____14360 else ()); - r)) in - let uu____14356 = - FStar_Util.fold_flatten process_one_decl_timed ([], [], env, []) ses in - match uu____14356 with - | (ses1, exports, env1, uu____14404) -> + r)) + in + let uu____14365 = + FStar_Util.fold_flatten process_one_decl_timed ([], [], env, []) ses + in + match uu____14365 with + | (ses1,exports,env1,uu____14413) -> ((FStar_List.rev_append ses1 []), (FStar_List.rev_append exports []), env1) + let (check_exports : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.modul -> FStar_Syntax_Syntax.sigelt Prims.list -> unit) = - fun env -> - fun modul -> - fun exports -> + fun env -> + fun modul -> + fun exports -> let env1 = - let uu___1826_14442 = env in + let uu___1837_14451 = env in { FStar_TypeChecker_Env.solver = - (uu___1826_14442.FStar_TypeChecker_Env.solver); + (uu___1837_14451.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1826_14442.FStar_TypeChecker_Env.range); + (uu___1837_14451.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1826_14442.FStar_TypeChecker_Env.curmodule); + (uu___1837_14451.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1826_14442.FStar_TypeChecker_Env.gamma); + (uu___1837_14451.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1826_14442.FStar_TypeChecker_Env.gamma_sig); + (uu___1837_14451.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1826_14442.FStar_TypeChecker_Env.gamma_cache); + (uu___1837_14451.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1826_14442.FStar_TypeChecker_Env.modules); + (uu___1837_14451.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1826_14442.FStar_TypeChecker_Env.expected_typ); + (uu___1837_14451.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1826_14442.FStar_TypeChecker_Env.sigtab); + (uu___1837_14451.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1826_14442.FStar_TypeChecker_Env.attrtab); + (uu___1837_14451.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1826_14442.FStar_TypeChecker_Env.is_pattern); + (uu___1837_14451.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1826_14442.FStar_TypeChecker_Env.instantiate_imp); + (uu___1837_14451.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1826_14442.FStar_TypeChecker_Env.effects); + (uu___1837_14451.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1826_14442.FStar_TypeChecker_Env.generalize); + (uu___1837_14451.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1826_14442.FStar_TypeChecker_Env.letrecs); + (uu___1837_14451.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = true; FStar_TypeChecker_Env.check_uvars = - (uu___1826_14442.FStar_TypeChecker_Env.check_uvars); + (uu___1837_14451.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1826_14442.FStar_TypeChecker_Env.use_eq); + (uu___1837_14451.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1826_14442.FStar_TypeChecker_Env.is_iface); + (uu___1837_14451.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1826_14442.FStar_TypeChecker_Env.admit); + (uu___1837_14451.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = true; FStar_TypeChecker_Env.phase1 = - (uu___1826_14442.FStar_TypeChecker_Env.phase1); + (uu___1837_14451.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1826_14442.FStar_TypeChecker_Env.failhard); + (uu___1837_14451.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1826_14442.FStar_TypeChecker_Env.nosynth); + (uu___1837_14451.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1826_14442.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1837_14451.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1826_14442.FStar_TypeChecker_Env.tc_term); + (uu___1837_14451.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1826_14442.FStar_TypeChecker_Env.type_of); + (uu___1837_14451.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1826_14442.FStar_TypeChecker_Env.universe_of); + (uu___1837_14451.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1826_14442.FStar_TypeChecker_Env.check_type_of); + (uu___1837_14451.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1826_14442.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1837_14451.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1826_14442.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1837_14451.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1826_14442.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1837_14451.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1826_14442.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1837_14451.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1826_14442.FStar_TypeChecker_Env.proof_ns); + (uu___1837_14451.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1826_14442.FStar_TypeChecker_Env.synth_hook); + (uu___1837_14451.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1826_14442.FStar_TypeChecker_Env.splice); + (uu___1837_14451.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1826_14442.FStar_TypeChecker_Env.postprocess); + (uu___1837_14451.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1826_14442.FStar_TypeChecker_Env.is_native_tactic); + (uu___1837_14451.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1826_14442.FStar_TypeChecker_Env.identifier_info); + (uu___1837_14451.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1826_14442.FStar_TypeChecker_Env.tc_hooks); + (uu___1837_14451.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1826_14442.FStar_TypeChecker_Env.dsenv); + (uu___1837_14451.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1826_14442.FStar_TypeChecker_Env.nbe) - } in + (uu___1837_14451.FStar_TypeChecker_Env.nbe) + } in let check_term lid univs1 t = - let uu____14462 = FStar_Syntax_Subst.open_univ_vars univs1 t in - match uu____14462 with - | (univs2, t1) -> - ((let uu____14470 = - let uu____14472 = - let uu____14478 = + let uu____14471 = FStar_Syntax_Subst.open_univ_vars univs1 t in + match uu____14471 with + | (univs2,t1) -> + ((let uu____14479 = + let uu____14481 = + let uu____14487 = FStar_TypeChecker_Env.set_current_module env1 - modul.FStar_Syntax_Syntax.name in - FStar_TypeChecker_Env.debug uu____14478 in - FStar_All.pipe_left uu____14472 - (FStar_Options.Other "Exports") in - if uu____14470 + modul.FStar_Syntax_Syntax.name + in + FStar_TypeChecker_Env.debug uu____14487 in + FStar_All.pipe_left uu____14481 + (FStar_Options.Other "Exports") + in + if uu____14479 then - let uu____14482 = FStar_Syntax_Print.lid_to_string lid in - let uu____14484 = - let uu____14486 = + let uu____14491 = FStar_Syntax_Print.lid_to_string lid in + let uu____14493 = + let uu____14495 = FStar_All.pipe_right univs2 (FStar_List.map - (fun x -> + (fun x -> FStar_Syntax_Print.univ_to_string - (FStar_Syntax_Syntax.U_name x))) in - FStar_All.pipe_right uu____14486 - (FStar_String.concat ", ") in - let uu____14503 = FStar_Syntax_Print.term_to_string t1 in + (FStar_Syntax_Syntax.U_name x))) + in + FStar_All.pipe_right uu____14495 + (FStar_String.concat ", ") + in + let uu____14512 = FStar_Syntax_Print.term_to_string t1 in FStar_Util.print3 "Checking for export %s <%s> : %s\n" - uu____14482 uu____14484 uu____14503 + uu____14491 uu____14493 uu____14512 else ()); - (let env2 = FStar_TypeChecker_Env.push_univ_vars env1 univs2 in - let uu____14509 = - FStar_TypeChecker_TcTerm.tc_trivial_guard env2 t1 in - FStar_All.pipe_right uu____14509 (fun a2 -> ()))) in + (let env2 = FStar_TypeChecker_Env.push_univ_vars env1 univs2 + in + let uu____14518 = + FStar_TypeChecker_TcTerm.tc_trivial_guard env2 t1 in + FStar_All.pipe_right uu____14518 (fun a2 -> ()))) + in let check_term1 lid univs1 t = - (let uu____14535 = - let uu____14537 = + (let uu____14544 = + let uu____14546 = FStar_Syntax_Print.lid_to_string - modul.FStar_Syntax_Syntax.name in - let uu____14539 = FStar_Syntax_Print.lid_to_string lid in + modul.FStar_Syntax_Syntax.name + in + let uu____14548 = FStar_Syntax_Print.lid_to_string lid in FStar_Util.format2 "Interface of %s violates its abstraction (add a 'private' qualifier to '%s'?)" - uu____14537 uu____14539 in - FStar_Errors.message_prefix.FStar_Errors.set_prefix uu____14535); + uu____14546 uu____14548 + in + FStar_Errors.message_prefix.FStar_Errors.set_prefix uu____14544); check_term lid univs1 t; - FStar_Errors.message_prefix.FStar_Errors.clear_prefix () in + FStar_Errors.message_prefix.FStar_Errors.clear_prefix () in let rec check_sigelt se = match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_bundle (ses, uu____14550) -> - let uu____14559 = - let uu____14561 = + | FStar_Syntax_Syntax.Sig_bundle (ses,uu____14559) -> + let uu____14568 = + let uu____14570 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals - (FStar_List.contains FStar_Syntax_Syntax.Private) in - Prims.op_Negation uu____14561 in - if uu____14559 + (FStar_List.contains FStar_Syntax_Syntax.Private) + in + Prims.op_Negation uu____14570 in + if uu____14568 then FStar_All.pipe_right ses (FStar_List.iter check_sigelt) else () | FStar_Syntax_Syntax.Sig_inductive_typ - (l, univs1, binders, typ, uu____14575, uu____14576) -> + (l,univs1,binders,typ,uu____14584,uu____14585) -> let t = - let uu____14588 = - let uu____14595 = - let uu____14596 = - let uu____14611 = FStar_Syntax_Syntax.mk_Total typ in - (binders, uu____14611) in - FStar_Syntax_Syntax.Tm_arrow uu____14596 in - FStar_Syntax_Syntax.mk uu____14595 in - uu____14588 FStar_Pervasives_Native.None - se.FStar_Syntax_Syntax.sigrng in + let uu____14597 = + let uu____14604 = + let uu____14605 = + let uu____14620 = FStar_Syntax_Syntax.mk_Total typ in + (binders, uu____14620) in + FStar_Syntax_Syntax.Tm_arrow uu____14605 in + FStar_Syntax_Syntax.mk uu____14604 in + uu____14597 FStar_Pervasives_Native.None + se.FStar_Syntax_Syntax.sigrng + in check_term1 l univs1 t | FStar_Syntax_Syntax.Sig_datacon - (l, univs1, t, uu____14627, uu____14628, uu____14629) -> + (l,univs1,t,uu____14636,uu____14637,uu____14638) -> check_term1 l univs1 t - | FStar_Syntax_Syntax.Sig_declare_typ (l, univs1, t) -> - let uu____14639 = - let uu____14641 = + | FStar_Syntax_Syntax.Sig_declare_typ (l,univs1,t) -> + let uu____14648 = + let uu____14650 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals - (FStar_List.contains FStar_Syntax_Syntax.Private) in - Prims.op_Negation uu____14641 in - if uu____14639 then check_term1 l univs1 t else () - | FStar_Syntax_Syntax.Sig_let ((uu____14649, lbs), uu____14651) -> - let uu____14662 = - let uu____14664 = + (FStar_List.contains FStar_Syntax_Syntax.Private) + in + Prims.op_Negation uu____14650 in + if uu____14648 then check_term1 l univs1 t else () + | FStar_Syntax_Syntax.Sig_let ((uu____14658,lbs),uu____14660) -> + let uu____14671 = + let uu____14673 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals - (FStar_List.contains FStar_Syntax_Syntax.Private) in - Prims.op_Negation uu____14664 in - if uu____14662 + (FStar_List.contains FStar_Syntax_Syntax.Private) + in + Prims.op_Negation uu____14673 in + if uu____14671 then FStar_All.pipe_right lbs (FStar_List.iter - (fun lb -> + (fun lb -> let fv = - FStar_Util.right lb.FStar_Syntax_Syntax.lbname in + FStar_Util.right lb.FStar_Syntax_Syntax.lbname in check_term1 (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v lb.FStar_Syntax_Syntax.lbunivs lb.FStar_Syntax_Syntax.lbtyp)) else () | FStar_Syntax_Syntax.Sig_effect_abbrev - (l, univs1, binders, comp, flags) -> - let uu____14687 = - let uu____14689 = + (l,univs1,binders,comp,flags) -> + let uu____14696 = + let uu____14698 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals - (FStar_List.contains FStar_Syntax_Syntax.Private) in - Prims.op_Negation uu____14689 in - if uu____14687 + (FStar_List.contains FStar_Syntax_Syntax.Private) + in + Prims.op_Negation uu____14698 in + if uu____14696 then let arrow1 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow (binders, comp)) FStar_Pervasives_Native.None - se.FStar_Syntax_Syntax.sigrng in + se.FStar_Syntax_Syntax.sigrng + in check_term1 l univs1 arrow1 else () - | FStar_Syntax_Syntax.Sig_main uu____14710 -> () - | FStar_Syntax_Syntax.Sig_assume uu____14711 -> () - | FStar_Syntax_Syntax.Sig_new_effect uu____14718 -> () - | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____14719 -> () - | FStar_Syntax_Syntax.Sig_sub_effect uu____14720 -> () - | FStar_Syntax_Syntax.Sig_splice uu____14721 -> () - | FStar_Syntax_Syntax.Sig_pragma uu____14728 -> () in - let uu____14729 = + | FStar_Syntax_Syntax.Sig_main uu____14719 -> () + | FStar_Syntax_Syntax.Sig_assume uu____14720 -> () + | FStar_Syntax_Syntax.Sig_new_effect uu____14727 -> () + | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____14728 -> () + | FStar_Syntax_Syntax.Sig_sub_effect uu____14729 -> () + | FStar_Syntax_Syntax.Sig_splice uu____14730 -> () + | FStar_Syntax_Syntax.Sig_pragma uu____14737 -> () in + let uu____14738 = FStar_Ident.lid_equals modul.FStar_Syntax_Syntax.name - FStar_Parser_Const.prims_lid in - if uu____14729 then () else FStar_List.iter check_sigelt exports + FStar_Parser_Const.prims_lid + in + if uu____14738 then () else FStar_List.iter check_sigelt exports + let (extract_interface : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.modul -> FStar_Syntax_Syntax.modul) = - fun en -> - fun m -> - let is_abstract = FStar_List.contains FStar_Syntax_Syntax.Abstract in + fun en -> + fun m -> + let is_abstract = FStar_List.contains FStar_Syntax_Syntax.Abstract in let is_irreducible1 = - FStar_List.contains FStar_Syntax_Syntax.Irreducible in - let is_assume = FStar_List.contains FStar_Syntax_Syntax.Assumption in + FStar_List.contains FStar_Syntax_Syntax.Irreducible in + let is_assume = FStar_List.contains FStar_Syntax_Syntax.Assumption in let filter_out_abstract = FStar_List.filter - (fun q -> + (fun q -> Prims.op_Negation (((q = FStar_Syntax_Syntax.Abstract) || (q = FStar_Syntax_Syntax.Irreducible)) - || (q = FStar_Syntax_Syntax.Visible_default))) in + || (q = FStar_Syntax_Syntax.Visible_default))) + in let filter_out_abstract_and_noeq = FStar_List.filter - (fun q -> + (fun q -> Prims.op_Negation (((((q = FStar_Syntax_Syntax.Abstract) || (q = FStar_Syntax_Syntax.Noeq)) || (q = FStar_Syntax_Syntax.Unopteq)) || (q = FStar_Syntax_Syntax.Irreducible)) - || (q = FStar_Syntax_Syntax.Visible_default))) in + || (q = FStar_Syntax_Syntax.Visible_default))) + in let filter_out_abstract_and_inline = FStar_List.filter - (fun q -> + (fun q -> Prims.op_Negation (((((q = FStar_Syntax_Syntax.Abstract) || (q = FStar_Syntax_Syntax.Irreducible)) || (q = FStar_Syntax_Syntax.Visible_default)) || (q = FStar_Syntax_Syntax.Inline_for_extraction)) || - (q = FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen))) in - let abstract_inductive_tycons = FStar_Util.mk_ref [] in - let abstract_inductive_datacons = FStar_Util.mk_ref [] in + (q = FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen))) + in + let abstract_inductive_tycons = FStar_Util.mk_ref [] in + let abstract_inductive_datacons = FStar_Util.mk_ref [] in let is_projector_or_discriminator_of_an_abstract_inductive quals = FStar_List.existsML - (fun q -> + (fun q -> match q with | FStar_Syntax_Syntax.Discriminator l -> true - | FStar_Syntax_Syntax.Projector (l, uu____14835) -> true - | uu____14837 -> false) quals in + | FStar_Syntax_Syntax.Projector (l,uu____14844) -> true + | uu____14846 -> false) quals + in let vals_of_abstract_inductive s = let mk_typ_for_abstract_inductive bs t r = match bs with | [] -> t - | uu____14867 -> + | uu____14876 -> (match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (bs', c) -> + | FStar_Syntax_Syntax.Tm_arrow (bs',c) -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow ((FStar_List.append bs bs'), c)) FStar_Pervasives_Native.None r - | uu____14906 -> - let uu____14907 = - let uu____14914 = - let uu____14915 = - let uu____14930 = FStar_Syntax_Syntax.mk_Total t in - (bs, uu____14930) in - FStar_Syntax_Syntax.Tm_arrow uu____14915 in - FStar_Syntax_Syntax.mk uu____14914 in - uu____14907 FStar_Pervasives_Native.None r) in + | uu____14915 -> + let uu____14916 = + let uu____14923 = + let uu____14924 = + let uu____14939 = FStar_Syntax_Syntax.mk_Total t in + (bs, uu____14939) in + FStar_Syntax_Syntax.Tm_arrow uu____14924 in + FStar_Syntax_Syntax.mk uu____14923 in + uu____14916 FStar_Pervasives_Native.None r) + in match s.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uvs, bs, t, uu____14947, uu____14948) -> + (lid,uvs,bs,t,uu____14956,uu____14957) -> let s1 = - let uu___1952_14958 = s in - let uu____14959 = - let uu____14960 = - let uu____14967 = - mk_typ_for_abstract_inductive bs t - s.FStar_Syntax_Syntax.sigrng in - (lid, uvs, uu____14967) in - FStar_Syntax_Syntax.Sig_declare_typ uu____14960 in + let uu___1963_14967 = s in let uu____14968 = - let uu____14971 = - let uu____14974 = + let uu____14969 = + let uu____14976 = + mk_typ_for_abstract_inductive bs t + s.FStar_Syntax_Syntax.sigrng + in + (lid, uvs, uu____14976) in + FStar_Syntax_Syntax.Sig_declare_typ uu____14969 in + let uu____14977 = + let uu____14980 = + let uu____14983 = filter_out_abstract_and_noeq - s.FStar_Syntax_Syntax.sigquals in - FStar_Syntax_Syntax.New :: uu____14974 in - FStar_Syntax_Syntax.Assumption :: uu____14971 in + s.FStar_Syntax_Syntax.sigquals + in + FStar_Syntax_Syntax.New :: uu____14983 in + FStar_Syntax_Syntax.Assumption :: uu____14980 in { - FStar_Syntax_Syntax.sigel = uu____14959; + FStar_Syntax_Syntax.sigel = uu____14968; FStar_Syntax_Syntax.sigrng = - (uu___1952_14958.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = uu____14968; + (uu___1963_14967.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = uu____14977; FStar_Syntax_Syntax.sigmeta = - (uu___1952_14958.FStar_Syntax_Syntax.sigmeta); + (uu___1963_14967.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___1952_14958.FStar_Syntax_Syntax.sigattrs) - } in + (uu___1963_14967.FStar_Syntax_Syntax.sigattrs) + } in [s1] - | uu____14977 -> failwith "Impossible!" in - let val_of_lb s lid uu____15002 lbdef = - match uu____15002 with - | (uvs, t) -> + | uu____14986 -> failwith "Impossible!" in + let val_of_lb s lid uu____15011 lbdef = + match uu____15011 with + | (uvs,t) -> let attrs = - let uu____15013 = - FStar_TypeChecker_Util.must_erase_for_extraction en lbdef in - if uu____15013 + let uu____15022 = + FStar_TypeChecker_Util.must_erase_for_extraction en lbdef in + if uu____15022 then - let uu____15018 = - let uu____15019 = + let uu____15027 = + let uu____15028 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.must_erase_for_extraction_attr FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - FStar_All.pipe_right uu____15019 - FStar_Syntax_Syntax.fv_to_tm in - uu____15018 :: (s.FStar_Syntax_Syntax.sigattrs) - else s.FStar_Syntax_Syntax.sigattrs in - let uu___1965_15022 = s in - let uu____15023 = - let uu____15026 = - filter_out_abstract_and_inline s.FStar_Syntax_Syntax.sigquals in - FStar_Syntax_Syntax.Assumption :: uu____15026 in + FStar_Pervasives_Native.None + in + FStar_All.pipe_right uu____15028 + FStar_Syntax_Syntax.fv_to_tm + in + uu____15027 :: (s.FStar_Syntax_Syntax.sigattrs) + else s.FStar_Syntax_Syntax.sigattrs in + let uu___1976_15031 = s in + let uu____15032 = + let uu____15035 = + filter_out_abstract_and_inline s.FStar_Syntax_Syntax.sigquals + in + FStar_Syntax_Syntax.Assumption :: uu____15035 in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (lid, uvs, t)); FStar_Syntax_Syntax.sigrng = - (uu___1965_15022.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = uu____15023; + (uu___1976_15031.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = uu____15032; FStar_Syntax_Syntax.sigmeta = - (uu___1965_15022.FStar_Syntax_Syntax.sigmeta); + (uu___1976_15031.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = attrs - } in + } + in let should_keep_lbdef t = let comp_effect_name1 c = match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Comp c1 -> c1.FStar_Syntax_Syntax.effect_name - | uu____15044 -> failwith "Impossible!" in + | uu____15053 -> failwith "Impossible!" in let c_opt = - let uu____15051 = FStar_Syntax_Util.is_unit t in - if uu____15051 + let uu____15060 = FStar_Syntax_Util.is_unit t in + if uu____15060 then - let uu____15058 = FStar_Syntax_Syntax.mk_Total t in - FStar_Pervasives_Native.Some uu____15058 + let uu____15067 = FStar_Syntax_Syntax.mk_Total t in + FStar_Pervasives_Native.Some uu____15067 else - (let uu____15065 = - let uu____15066 = FStar_Syntax_Subst.compress t in - uu____15066.FStar_Syntax_Syntax.n in - match uu____15065 with - | FStar_Syntax_Syntax.Tm_arrow (uu____15073, c) -> + (let uu____15074 = + let uu____15075 = FStar_Syntax_Subst.compress t in + uu____15075.FStar_Syntax_Syntax.n in + match uu____15074 with + | FStar_Syntax_Syntax.Tm_arrow (uu____15082,c) -> FStar_Pervasives_Native.Some c - | uu____15097 -> FStar_Pervasives_Native.None) in + | uu____15106 -> FStar_Pervasives_Native.None) + in match c_opt with - | FStar_Pervasives_Native.None -> true + | FStar_Pervasives_Native.None -> true | FStar_Pervasives_Native.Some c -> - let uu____15109 = FStar_Syntax_Util.is_lemma_comp c in - if uu____15109 + let uu____15118 = FStar_Syntax_Util.is_lemma_comp c in + if uu____15118 then false else - (let uu____15116 = FStar_Syntax_Util.is_pure_or_ghost_comp c in - if uu____15116 + (let uu____15125 = FStar_Syntax_Util.is_pure_or_ghost_comp c + in + if uu____15125 then true else - (let uu____15123 = comp_effect_name1 c in - FStar_TypeChecker_Env.is_reifiable_effect en uu____15123)) in + (let uu____15132 = comp_effect_name1 c in + FStar_TypeChecker_Env.is_reifiable_effect en uu____15132)) + in let extract_sigelt s = - (let uu____15135 = - FStar_TypeChecker_Env.debug en FStar_Options.Extreme in - if uu____15135 + (let uu____15144 = + FStar_TypeChecker_Env.debug en FStar_Options.Extreme in + if uu____15144 then - let uu____15138 = FStar_Syntax_Print.sigelt_to_string s in - FStar_Util.print1 "Extracting interface for %s\n" uu____15138 + let uu____15147 = FStar_Syntax_Print.sigelt_to_string s in + FStar_Util.print1 "Extracting interface for %s\n" uu____15147 else ()); (match s.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_inductive_typ uu____15145 -> + | FStar_Syntax_Syntax.Sig_inductive_typ uu____15154 -> failwith "Impossible! extract_interface: bare data constructor" - | FStar_Syntax_Syntax.Sig_datacon uu____15165 -> + | FStar_Syntax_Syntax.Sig_datacon uu____15174 -> failwith "Impossible! extract_interface: bare data constructor" - | FStar_Syntax_Syntax.Sig_splice uu____15184 -> + | FStar_Syntax_Syntax.Sig_splice uu____15193 -> failwith "Impossible! extract_interface: trying to extract splice" - | FStar_Syntax_Syntax.Sig_bundle (sigelts, lidents1) -> + | FStar_Syntax_Syntax.Sig_bundle (sigelts,lidents1) -> if is_abstract s.FStar_Syntax_Syntax.sigquals then FStar_All.pipe_right sigelts (FStar_List.fold_left - (fun sigelts1 -> - fun s1 -> + (fun sigelts1 -> + fun s1 -> match s1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uu____15230, uu____15231, uu____15232, - uu____15233, uu____15234) + (lid,uu____15239,uu____15240,uu____15241,uu____15242,uu____15243) -> - ((let uu____15244 = - let uu____15247 = - FStar_ST.op_Bang abstract_inductive_tycons in - lid :: uu____15247 in + ((let uu____15253 = + let uu____15256 = + FStar_ST.op_Bang abstract_inductive_tycons + in + lid :: uu____15256 in FStar_ST.op_Colon_Equals - abstract_inductive_tycons uu____15244); - (let uu____15296 = - vals_of_abstract_inductive s1 in - FStar_List.append uu____15296 sigelts1)) + abstract_inductive_tycons uu____15253); + (let uu____15305 = + vals_of_abstract_inductive s1 in + FStar_List.append uu____15305 sigelts1)) | FStar_Syntax_Syntax.Sig_datacon - (lid, uu____15300, uu____15301, uu____15302, - uu____15303, uu____15304) + (lid,uu____15309,uu____15310,uu____15311,uu____15312,uu____15313) -> - ((let uu____15312 = - let uu____15315 = + ((let uu____15321 = + let uu____15324 = FStar_ST.op_Bang - abstract_inductive_datacons in - lid :: uu____15315 in + abstract_inductive_datacons + in + lid :: uu____15324 in FStar_ST.op_Colon_Equals - abstract_inductive_datacons uu____15312); + abstract_inductive_datacons uu____15321); sigelts1) - | uu____15364 -> + | uu____15373 -> failwith "Impossible! extract_interface: Sig_bundle can't have anything other than Sig_inductive_typ and Sig_datacon") []) else [s] - | FStar_Syntax_Syntax.Sig_declare_typ (lid, uvs, t) -> - let uu____15373 = + | FStar_Syntax_Syntax.Sig_declare_typ (lid,uvs,t) -> + let uu____15382 = is_projector_or_discriminator_of_an_abstract_inductive - s.FStar_Syntax_Syntax.sigquals in - if uu____15373 + s.FStar_Syntax_Syntax.sigquals + in + if uu____15382 then [] else if is_assume s.FStar_Syntax_Syntax.sigquals then - (let uu____15383 = - let uu___2029_15384 = s in - let uu____15385 = - filter_out_abstract s.FStar_Syntax_Syntax.sigquals in + (let uu____15392 = + let uu___2040_15393 = s in + let uu____15394 = + filter_out_abstract s.FStar_Syntax_Syntax.sigquals in { FStar_Syntax_Syntax.sigel = - (uu___2029_15384.FStar_Syntax_Syntax.sigel); + (uu___2040_15393.FStar_Syntax_Syntax.sigel); FStar_Syntax_Syntax.sigrng = - (uu___2029_15384.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = uu____15385; + (uu___2040_15393.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = uu____15394; FStar_Syntax_Syntax.sigmeta = - (uu___2029_15384.FStar_Syntax_Syntax.sigmeta); + (uu___2040_15393.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___2029_15384.FStar_Syntax_Syntax.sigattrs) - } in - [uu____15383]) + (uu___2040_15393.FStar_Syntax_Syntax.sigattrs) + } in + [uu____15392]) else [] - | FStar_Syntax_Syntax.Sig_let (lbs, lids) -> - let uu____15396 = + | FStar_Syntax_Syntax.Sig_let (lbs,lids) -> + let uu____15405 = is_projector_or_discriminator_of_an_abstract_inductive - s.FStar_Syntax_Syntax.sigquals in - if uu____15396 + s.FStar_Syntax_Syntax.sigquals + in + if uu____15405 then [] else - (let uu____15403 = lbs in - match uu____15403 with - | (flbs, slbs) -> + (let uu____15412 = lbs in + match uu____15412 with + | (flbs,slbs) -> let typs_and_defs = FStar_All.pipe_right slbs (FStar_List.map - (fun lb -> + (fun lb -> ((lb.FStar_Syntax_Syntax.lbunivs), (lb.FStar_Syntax_Syntax.lbtyp), - (lb.FStar_Syntax_Syntax.lbdef)))) in + (lb.FStar_Syntax_Syntax.lbdef)))) + in let is_lemma1 = FStar_List.existsML - (fun uu____15465 -> - match uu____15465 with - | (uu____15473, t, uu____15475) -> + (fun uu____15474 -> + match uu____15474 with + | (uu____15482,t,uu____15484) -> FStar_All.pipe_right t - FStar_Syntax_Util.is_lemma) typs_and_defs in + FStar_Syntax_Util.is_lemma) typs_and_defs + in let vals = FStar_List.map2 - (fun lid -> - fun uu____15492 -> - match uu____15492 with - | (u, t, d) -> val_of_lb s lid (u, t) d) lids - typs_and_defs in + (fun lid -> + fun uu____15501 -> + match uu____15501 with + | (u,t,d) -> val_of_lb s lid (u, t) d) lids + typs_and_defs + in if ((is_abstract s.FStar_Syntax_Syntax.sigquals) || (is_irreducible1 s.FStar_Syntax_Syntax.sigquals)) @@ -7276,90 +8449,99 @@ let (extract_interface : else (let should_keep_defs = FStar_List.existsML - (fun uu____15519 -> - match uu____15519 with - | (uu____15527, t, uu____15529) -> + (fun uu____15528 -> + match uu____15528 with + | (uu____15536,t,uu____15538) -> FStar_All.pipe_right t should_keep_lbdef) - typs_and_defs in + typs_and_defs + in if should_keep_defs then [s] else vals)) | FStar_Syntax_Syntax.Sig_main t -> failwith "Did not anticipate main would arise when extracting interfaces!" - | FStar_Syntax_Syntax.Sig_assume (lid, uu____15541, uu____15542) -> - let is_haseq = FStar_TypeChecker_TcInductive.is_haseq_lid lid in + | FStar_Syntax_Syntax.Sig_assume (lid,uu____15550,uu____15551) -> + let is_haseq = FStar_TypeChecker_TcInductive.is_haseq_lid lid + in if is_haseq then let is_haseq_of_abstract_inductive = - let uu____15550 = FStar_ST.op_Bang abstract_inductive_tycons in + let uu____15559 = FStar_ST.op_Bang abstract_inductive_tycons + in FStar_List.existsML - (fun l -> - let uu____15579 = - FStar_TypeChecker_TcInductive.get_haseq_axiom_lid l in - FStar_Ident.lid_equals lid uu____15579) uu____15550 in + (fun l -> + let uu____15588 = + FStar_TypeChecker_TcInductive.get_haseq_axiom_lid l + in + FStar_Ident.lid_equals lid uu____15588) uu____15559 + in (if is_haseq_of_abstract_inductive then - let uu____15583 = - let uu___2071_15584 = s in - let uu____15585 = - filter_out_abstract s.FStar_Syntax_Syntax.sigquals in + let uu____15592 = + let uu___2082_15593 = s in + let uu____15594 = + filter_out_abstract s.FStar_Syntax_Syntax.sigquals in { FStar_Syntax_Syntax.sigel = - (uu___2071_15584.FStar_Syntax_Syntax.sigel); + (uu___2082_15593.FStar_Syntax_Syntax.sigel); FStar_Syntax_Syntax.sigrng = - (uu___2071_15584.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = uu____15585; + (uu___2082_15593.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = uu____15594; FStar_Syntax_Syntax.sigmeta = - (uu___2071_15584.FStar_Syntax_Syntax.sigmeta); + (uu___2082_15593.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___2071_15584.FStar_Syntax_Syntax.sigattrs) - } in - [uu____15583] + (uu___2082_15593.FStar_Syntax_Syntax.sigattrs) + } in + [uu____15592] else []) else - (let uu____15592 = - let uu___2073_15593 = s in - let uu____15594 = - filter_out_abstract s.FStar_Syntax_Syntax.sigquals in + (let uu____15601 = + let uu___2084_15602 = s in + let uu____15603 = + filter_out_abstract s.FStar_Syntax_Syntax.sigquals in { FStar_Syntax_Syntax.sigel = - (uu___2073_15593.FStar_Syntax_Syntax.sigel); + (uu___2084_15602.FStar_Syntax_Syntax.sigel); FStar_Syntax_Syntax.sigrng = - (uu___2073_15593.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = uu____15594; + (uu___2084_15602.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals = uu____15603; FStar_Syntax_Syntax.sigmeta = - (uu___2073_15593.FStar_Syntax_Syntax.sigmeta); + (uu___2084_15602.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___2073_15593.FStar_Syntax_Syntax.sigattrs) - } in - [uu____15592]) - | FStar_Syntax_Syntax.Sig_new_effect uu____15597 -> [s] - | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____15598 -> [s] - | FStar_Syntax_Syntax.Sig_sub_effect uu____15599 -> [s] - | FStar_Syntax_Syntax.Sig_effect_abbrev uu____15600 -> [s] - | FStar_Syntax_Syntax.Sig_pragma uu____15613 -> [s]) in - let uu___2085_15614 = m in - let uu____15615 = - let uu____15616 = + (uu___2084_15602.FStar_Syntax_Syntax.sigattrs) + } in + [uu____15601]) + | FStar_Syntax_Syntax.Sig_new_effect uu____15606 -> [s] + | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____15607 -> [s] + | FStar_Syntax_Syntax.Sig_sub_effect uu____15608 -> [s] + | FStar_Syntax_Syntax.Sig_effect_abbrev uu____15609 -> [s] + | FStar_Syntax_Syntax.Sig_pragma uu____15622 -> [s]) + in + let uu___2096_15623 = m in + let uu____15624 = + let uu____15625 = FStar_All.pipe_right m.FStar_Syntax_Syntax.declarations - (FStar_List.map extract_sigelt) in - FStar_All.pipe_right uu____15616 FStar_List.flatten in + (FStar_List.map extract_sigelt) + in + FStar_All.pipe_right uu____15625 FStar_List.flatten in { - FStar_Syntax_Syntax.name = (uu___2085_15614.FStar_Syntax_Syntax.name); - FStar_Syntax_Syntax.declarations = uu____15615; + FStar_Syntax_Syntax.name = (uu___2096_15623.FStar_Syntax_Syntax.name); + FStar_Syntax_Syntax.declarations = uu____15624; FStar_Syntax_Syntax.exports = - (uu___2085_15614.FStar_Syntax_Syntax.exports); + (uu___2096_15623.FStar_Syntax_Syntax.exports); FStar_Syntax_Syntax.is_interface = true } + let (snapshot_context : FStar_TypeChecker_Env.env -> Prims.string -> ((Prims.int * Prims.int * FStar_TypeChecker_Env.solver_depth_t * Prims.int) * FStar_TypeChecker_Env.env)) = - fun env -> - fun msg -> + fun env -> + fun msg -> FStar_Util.atomically - (fun uu____15667 -> FStar_TypeChecker_Env.snapshot env msg) + (fun uu____15676 -> FStar_TypeChecker_Env.snapshot env msg) + let (rollback_context : FStar_TypeChecker_Env.solver_t -> Prims.string -> @@ -7367,42 +8549,47 @@ let (rollback_context : Prims.int) FStar_Pervasives_Native.option -> FStar_TypeChecker_Env.env) = - fun solver -> - fun msg -> - fun depth -> + fun solver -> + fun msg -> + fun depth -> FStar_Util.atomically - (fun uu____15714 -> - let env = FStar_TypeChecker_Env.rollback solver msg depth in env) + (fun uu____15723 -> + let env = FStar_TypeChecker_Env.rollback solver msg depth in + env) + let (push_context : FStar_TypeChecker_Env.env -> Prims.string -> FStar_TypeChecker_Env.env) = - fun env -> - fun msg -> - let uu____15729 = snapshot_context env msg in - FStar_Pervasives_Native.snd uu____15729 + fun env -> + fun msg -> + let uu____15738 = snapshot_context env msg in + FStar_Pervasives_Native.snd uu____15738 + let (pop_context : FStar_TypeChecker_Env.env -> Prims.string -> FStar_TypeChecker_Env.env) = - fun env -> - fun msg -> + fun env -> + fun msg -> rollback_context env.FStar_TypeChecker_Env.solver msg FStar_Pervasives_Native.None + let (tc_partial_modul : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.modul -> (FStar_Syntax_Syntax.modul * FStar_Syntax_Syntax.sigelt Prims.list * FStar_TypeChecker_Env.env)) = - fun env -> - fun modul -> + fun env -> + fun modul -> let verify = FStar_Options.should_verify - (modul.FStar_Syntax_Syntax.name).FStar_Ident.str in - let action = if verify then "Verifying" else "Lax-checking" in + (modul.FStar_Syntax_Syntax.name).FStar_Ident.str + in + let action = if verify then "Verifying" else "Lax-checking" in let label1 = if modul.FStar_Syntax_Syntax.is_interface then "interface" - else "implementation" in - (let uu____15818 = FStar_Options.debug_any () in - if uu____15818 + else "implementation" in + (let uu____15827 = FStar_Options.debug_any () in + if uu____15827 then FStar_Util.print3 "%s %s of %s\n" action label1 (modul.FStar_Syntax_Syntax.name).FStar_Ident.str @@ -7411,112 +8598,116 @@ let (tc_partial_modul : FStar_Util.format2 "%s %s" (if modul.FStar_Syntax_Syntax.is_interface then "interface" - else "module") (modul.FStar_Syntax_Syntax.name).FStar_Ident.str in + else "module") (modul.FStar_Syntax_Syntax.name).FStar_Ident.str + in let env1 = - let uu___2110_15834 = env in + let uu___2121_15843 = env in { FStar_TypeChecker_Env.solver = - (uu___2110_15834.FStar_TypeChecker_Env.solver); + (uu___2121_15843.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___2110_15834.FStar_TypeChecker_Env.range); + (uu___2121_15843.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___2110_15834.FStar_TypeChecker_Env.curmodule); + (uu___2121_15843.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___2110_15834.FStar_TypeChecker_Env.gamma); + (uu___2121_15843.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___2110_15834.FStar_TypeChecker_Env.gamma_sig); + (uu___2121_15843.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___2110_15834.FStar_TypeChecker_Env.gamma_cache); + (uu___2121_15843.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___2110_15834.FStar_TypeChecker_Env.modules); + (uu___2121_15843.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___2110_15834.FStar_TypeChecker_Env.expected_typ); + (uu___2121_15843.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___2110_15834.FStar_TypeChecker_Env.sigtab); + (uu___2121_15843.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___2110_15834.FStar_TypeChecker_Env.attrtab); + (uu___2121_15843.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___2110_15834.FStar_TypeChecker_Env.is_pattern); + (uu___2121_15843.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___2110_15834.FStar_TypeChecker_Env.instantiate_imp); + (uu___2121_15843.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___2110_15834.FStar_TypeChecker_Env.effects); + (uu___2121_15843.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___2110_15834.FStar_TypeChecker_Env.generalize); + (uu___2121_15843.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___2110_15834.FStar_TypeChecker_Env.letrecs); + (uu___2121_15843.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___2110_15834.FStar_TypeChecker_Env.top_level); + (uu___2121_15843.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___2110_15834.FStar_TypeChecker_Env.check_uvars); + (uu___2121_15843.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___2110_15834.FStar_TypeChecker_Env.use_eq); + (uu___2121_15843.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = (modul.FStar_Syntax_Syntax.is_interface); FStar_TypeChecker_Env.admit = (Prims.op_Negation verify); FStar_TypeChecker_Env.lax = - (uu___2110_15834.FStar_TypeChecker_Env.lax); + (uu___2121_15843.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___2110_15834.FStar_TypeChecker_Env.lax_universes); + (uu___2121_15843.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___2110_15834.FStar_TypeChecker_Env.phase1); + (uu___2121_15843.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___2110_15834.FStar_TypeChecker_Env.failhard); + (uu___2121_15843.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___2110_15834.FStar_TypeChecker_Env.nosynth); + (uu___2121_15843.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___2110_15834.FStar_TypeChecker_Env.uvar_subtyping); + (uu___2121_15843.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___2110_15834.FStar_TypeChecker_Env.tc_term); + (uu___2121_15843.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___2110_15834.FStar_TypeChecker_Env.type_of); + (uu___2121_15843.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___2110_15834.FStar_TypeChecker_Env.universe_of); + (uu___2121_15843.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___2110_15834.FStar_TypeChecker_Env.check_type_of); + (uu___2121_15843.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___2110_15834.FStar_TypeChecker_Env.use_bv_sorts); + (uu___2121_15843.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___2110_15834.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___2121_15843.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___2110_15834.FStar_TypeChecker_Env.normalized_eff_names); + (uu___2121_15843.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___2110_15834.FStar_TypeChecker_Env.fv_delta_depths); + (uu___2121_15843.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___2110_15834.FStar_TypeChecker_Env.proof_ns); + (uu___2121_15843.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___2110_15834.FStar_TypeChecker_Env.synth_hook); + (uu___2121_15843.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___2110_15834.FStar_TypeChecker_Env.splice); + (uu___2121_15843.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___2110_15834.FStar_TypeChecker_Env.postprocess); + (uu___2121_15843.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___2110_15834.FStar_TypeChecker_Env.is_native_tactic); + (uu___2121_15843.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___2110_15834.FStar_TypeChecker_Env.identifier_info); + (uu___2121_15843.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___2110_15834.FStar_TypeChecker_Env.tc_hooks); + (uu___2121_15843.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___2110_15834.FStar_TypeChecker_Env.dsenv); + (uu___2121_15843.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___2110_15834.FStar_TypeChecker_Env.nbe) - } in + (uu___2121_15843.FStar_TypeChecker_Env.nbe) + } in let env2 = FStar_TypeChecker_Env.set_current_module env1 - modul.FStar_Syntax_Syntax.name in - let uu____15836 = tc_decls env2 modul.FStar_Syntax_Syntax.declarations in - match uu____15836 with - | (ses, exports, env3) -> - ((let uu___2118_15869 = modul in + modul.FStar_Syntax_Syntax.name + in + let uu____15845 = tc_decls env2 modul.FStar_Syntax_Syntax.declarations + in + match uu____15845 with + | (ses,exports,env3) -> + ((let uu___2129_15878 = modul in { FStar_Syntax_Syntax.name = - (uu___2118_15869.FStar_Syntax_Syntax.name); + (uu___2129_15878.FStar_Syntax_Syntax.name); FStar_Syntax_Syntax.declarations = ses; FStar_Syntax_Syntax.exports = - (uu___2118_15869.FStar_Syntax_Syntax.exports); + (uu___2129_15878.FStar_Syntax_Syntax.exports); FStar_Syntax_Syntax.is_interface = - (uu___2118_15869.FStar_Syntax_Syntax.is_interface) + (uu___2129_15878.FStar_Syntax_Syntax.is_interface) }), exports, env3)) + let (tc_more_partial_modul : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.modul -> @@ -7524,43 +8715,46 @@ let (tc_more_partial_modul : (FStar_Syntax_Syntax.modul * FStar_Syntax_Syntax.sigelt Prims.list * FStar_TypeChecker_Env.env)) = - fun env -> - fun modul -> - fun decls -> - let uu____15898 = tc_decls env decls in - match uu____15898 with - | (ses, exports, env1) -> + fun env -> + fun modul -> + fun decls -> + let uu____15907 = tc_decls env decls in + match uu____15907 with + | (ses,exports,env1) -> let modul1 = - let uu___2127_15929 = modul in + let uu___2138_15938 = modul in { FStar_Syntax_Syntax.name = - (uu___2127_15929.FStar_Syntax_Syntax.name); + (uu___2138_15938.FStar_Syntax_Syntax.name); FStar_Syntax_Syntax.declarations = (FStar_List.append modul.FStar_Syntax_Syntax.declarations ses); FStar_Syntax_Syntax.exports = - (uu___2127_15929.FStar_Syntax_Syntax.exports); + (uu___2138_15938.FStar_Syntax_Syntax.exports); FStar_Syntax_Syntax.is_interface = - (uu___2127_15929.FStar_Syntax_Syntax.is_interface) - } in + (uu___2138_15938.FStar_Syntax_Syntax.is_interface) + } in (modul1, exports, env1) + let rec (tc_modul : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.modul -> Prims.bool -> (FStar_Syntax_Syntax.modul * FStar_TypeChecker_Env.env)) = - fun env0 -> - fun m -> - fun iface_exists -> + fun env0 -> + fun m -> + fun iface_exists -> let msg = Prims.op_Hat "Internals for " - (m.FStar_Syntax_Syntax.name).FStar_Ident.str in - let env01 = push_context env0 msg in - let uu____15990 = tc_partial_modul env01 m in - match uu____15990 with - | (modul, non_private_decls, env) -> + (m.FStar_Syntax_Syntax.name).FStar_Ident.str + in + let env01 = push_context env0 msg in + let uu____15999 = tc_partial_modul env01 m in + match uu____15999 with + | (modul,non_private_decls,env) -> finish_partial_modul false iface_exists env modul non_private_decls + and (finish_partial_modul : Prims.bool -> Prims.bool -> @@ -7569,483 +8763,502 @@ and (finish_partial_modul : FStar_Syntax_Syntax.sigelt Prims.list -> (FStar_Syntax_Syntax.modul * FStar_TypeChecker_Env.env)) = - fun loading_from_cache -> - fun iface_exists -> - fun en -> - fun m -> - fun exports -> + fun loading_from_cache -> + fun iface_exists -> + fun en -> + fun m -> + fun exports -> let should_extract_interface = ((((Prims.op_Negation loading_from_cache) && (Prims.op_Negation iface_exists)) && (FStar_Options.use_extracted_interfaces ())) && (Prims.op_Negation m.FStar_Syntax_Syntax.is_interface)) && - (let uu____16027 = FStar_Errors.get_err_count () in - uu____16027 = (Prims.parse_int "0")) in + (let uu____16036 = FStar_Errors.get_err_count () in + uu____16036 = (Prims.parse_int "0")) + in if should_extract_interface then - let modul_iface = extract_interface en m in - ((let uu____16038 = + let modul_iface = extract_interface en m in + ((let uu____16047 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug en) - FStar_Options.Low in - if uu____16038 + FStar_Options.Low + in + if uu____16047 then - let uu____16042 = - let uu____16044 = + let uu____16051 = + let uu____16053 = FStar_Options.should_verify - (m.FStar_Syntax_Syntax.name).FStar_Ident.str in - if uu____16044 then "" else " (in lax mode) " in - let uu____16052 = - let uu____16054 = + (m.FStar_Syntax_Syntax.name).FStar_Ident.str + in + if uu____16053 then "" else " (in lax mode) " in + let uu____16061 = + let uu____16063 = FStar_Options.dump_module - (m.FStar_Syntax_Syntax.name).FStar_Ident.str in - if uu____16054 + (m.FStar_Syntax_Syntax.name).FStar_Ident.str + in + if uu____16063 then - let uu____16058 = - let uu____16060 = - FStar_Syntax_Print.modul_to_string m in - Prims.op_Hat uu____16060 "\n" in - Prims.op_Hat "\nfrom: " uu____16058 - else "" in - let uu____16067 = - let uu____16069 = + let uu____16067 = + let uu____16069 = + FStar_Syntax_Print.modul_to_string m in + Prims.op_Hat uu____16069 "\n" in + Prims.op_Hat "\nfrom: " uu____16067 + else "" in + let uu____16076 = + let uu____16078 = FStar_Options.dump_module - (m.FStar_Syntax_Syntax.name).FStar_Ident.str in - if uu____16069 + (m.FStar_Syntax_Syntax.name).FStar_Ident.str + in + if uu____16078 then - let uu____16073 = - let uu____16075 = - FStar_Syntax_Print.modul_to_string modul_iface in - Prims.op_Hat uu____16075 "\n" in - Prims.op_Hat "\nto: " uu____16073 - else "" in + let uu____16082 = + let uu____16084 = + FStar_Syntax_Print.modul_to_string modul_iface in + Prims.op_Hat uu____16084 "\n" in + Prims.op_Hat "\nto: " uu____16082 + else "" in FStar_Util.print4 "Extracting and type checking module %s interface%s%s%s\n" - (m.FStar_Syntax_Syntax.name).FStar_Ident.str uu____16042 - uu____16052 uu____16067 + (m.FStar_Syntax_Syntax.name).FStar_Ident.str uu____16051 + uu____16061 uu____16076 else ()); (let en0 = let en0 = pop_context en (Prims.op_Hat "Ending modul " - (m.FStar_Syntax_Syntax.name).FStar_Ident.str) in + (m.FStar_Syntax_Syntax.name).FStar_Ident.str) + in let en01 = - let uu___2153_16089 = en0 in + let uu___2164_16098 = en0 in { FStar_TypeChecker_Env.solver = - (uu___2153_16089.FStar_TypeChecker_Env.solver); + (uu___2164_16098.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___2153_16089.FStar_TypeChecker_Env.range); + (uu___2164_16098.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___2153_16089.FStar_TypeChecker_Env.curmodule); + (uu___2164_16098.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___2153_16089.FStar_TypeChecker_Env.gamma); + (uu___2164_16098.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___2153_16089.FStar_TypeChecker_Env.gamma_sig); + (uu___2164_16098.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___2153_16089.FStar_TypeChecker_Env.gamma_cache); + (uu___2164_16098.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___2153_16089.FStar_TypeChecker_Env.modules); + (uu___2164_16098.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___2153_16089.FStar_TypeChecker_Env.expected_typ); + (uu___2164_16098.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___2153_16089.FStar_TypeChecker_Env.sigtab); + (uu___2164_16098.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___2153_16089.FStar_TypeChecker_Env.attrtab); + (uu___2164_16098.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___2153_16089.FStar_TypeChecker_Env.is_pattern); + (uu___2164_16098.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___2153_16089.FStar_TypeChecker_Env.instantiate_imp); + (uu___2164_16098.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___2153_16089.FStar_TypeChecker_Env.effects); + (uu___2164_16098.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___2153_16089.FStar_TypeChecker_Env.generalize); + (uu___2164_16098.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___2153_16089.FStar_TypeChecker_Env.letrecs); + (uu___2164_16098.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___2153_16089.FStar_TypeChecker_Env.top_level); + (uu___2164_16098.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___2153_16089.FStar_TypeChecker_Env.check_uvars); + (uu___2164_16098.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___2153_16089.FStar_TypeChecker_Env.use_eq); + (uu___2164_16098.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___2153_16089.FStar_TypeChecker_Env.is_iface); + (uu___2164_16098.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___2153_16089.FStar_TypeChecker_Env.admit); + (uu___2164_16098.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___2153_16089.FStar_TypeChecker_Env.lax); + (uu___2164_16098.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___2153_16089.FStar_TypeChecker_Env.lax_universes); + (uu___2164_16098.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___2153_16089.FStar_TypeChecker_Env.phase1); + (uu___2164_16098.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___2153_16089.FStar_TypeChecker_Env.failhard); + (uu___2164_16098.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___2153_16089.FStar_TypeChecker_Env.nosynth); + (uu___2164_16098.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___2153_16089.FStar_TypeChecker_Env.uvar_subtyping); + (uu___2164_16098.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___2153_16089.FStar_TypeChecker_Env.tc_term); + (uu___2164_16098.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___2153_16089.FStar_TypeChecker_Env.type_of); + (uu___2164_16098.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___2153_16089.FStar_TypeChecker_Env.universe_of); + (uu___2164_16098.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___2153_16089.FStar_TypeChecker_Env.check_type_of); + (uu___2164_16098.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___2153_16089.FStar_TypeChecker_Env.use_bv_sorts); + (uu___2164_16098.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___2153_16089.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___2164_16098.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___2153_16089.FStar_TypeChecker_Env.normalized_eff_names); + (uu___2164_16098.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___2153_16089.FStar_TypeChecker_Env.fv_delta_depths); + (uu___2164_16098.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___2153_16089.FStar_TypeChecker_Env.proof_ns); + (uu___2164_16098.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___2153_16089.FStar_TypeChecker_Env.synth_hook); + (uu___2164_16098.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___2153_16089.FStar_TypeChecker_Env.splice); + (uu___2164_16098.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___2153_16089.FStar_TypeChecker_Env.postprocess); + (uu___2164_16098.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___2153_16089.FStar_TypeChecker_Env.is_native_tactic); + (uu___2164_16098.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___2153_16089.FStar_TypeChecker_Env.identifier_info); + (uu___2164_16098.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___2153_16089.FStar_TypeChecker_Env.tc_hooks); + (uu___2164_16098.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = (en.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___2153_16089.FStar_TypeChecker_Env.nbe) - } in + (uu___2164_16098.FStar_TypeChecker_Env.nbe) + } in let en02 = - let uu___2156_16091 = en01 in - let uu____16092 = - let uu____16107 = + let uu___2167_16100 = en01 in + let uu____16101 = + let uu____16116 = FStar_All.pipe_right en.FStar_TypeChecker_Env.qtbl_name_and_index - FStar_Pervasives_Native.fst in - (uu____16107, FStar_Pervasives_Native.None) in + FStar_Pervasives_Native.fst + in + (uu____16116, FStar_Pervasives_Native.None) in { FStar_TypeChecker_Env.solver = - (uu___2156_16091.FStar_TypeChecker_Env.solver); + (uu___2167_16100.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___2156_16091.FStar_TypeChecker_Env.range); + (uu___2167_16100.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___2156_16091.FStar_TypeChecker_Env.curmodule); + (uu___2167_16100.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___2156_16091.FStar_TypeChecker_Env.gamma); + (uu___2167_16100.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___2156_16091.FStar_TypeChecker_Env.gamma_sig); + (uu___2167_16100.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___2156_16091.FStar_TypeChecker_Env.gamma_cache); + (uu___2167_16100.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___2156_16091.FStar_TypeChecker_Env.modules); + (uu___2167_16100.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___2156_16091.FStar_TypeChecker_Env.expected_typ); + (uu___2167_16100.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___2156_16091.FStar_TypeChecker_Env.sigtab); + (uu___2167_16100.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___2156_16091.FStar_TypeChecker_Env.attrtab); + (uu___2167_16100.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___2156_16091.FStar_TypeChecker_Env.is_pattern); + (uu___2167_16100.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___2156_16091.FStar_TypeChecker_Env.instantiate_imp); + (uu___2167_16100.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___2156_16091.FStar_TypeChecker_Env.effects); + (uu___2167_16100.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___2156_16091.FStar_TypeChecker_Env.generalize); + (uu___2167_16100.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___2156_16091.FStar_TypeChecker_Env.letrecs); + (uu___2167_16100.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___2156_16091.FStar_TypeChecker_Env.top_level); + (uu___2167_16100.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___2156_16091.FStar_TypeChecker_Env.check_uvars); + (uu___2167_16100.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___2156_16091.FStar_TypeChecker_Env.use_eq); + (uu___2167_16100.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___2156_16091.FStar_TypeChecker_Env.is_iface); + (uu___2167_16100.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___2156_16091.FStar_TypeChecker_Env.admit); + (uu___2167_16100.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___2156_16091.FStar_TypeChecker_Env.lax); + (uu___2167_16100.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___2156_16091.FStar_TypeChecker_Env.lax_universes); + (uu___2167_16100.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___2156_16091.FStar_TypeChecker_Env.phase1); + (uu___2167_16100.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___2156_16091.FStar_TypeChecker_Env.failhard); + (uu___2167_16100.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___2156_16091.FStar_TypeChecker_Env.nosynth); + (uu___2167_16100.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___2156_16091.FStar_TypeChecker_Env.uvar_subtyping); + (uu___2167_16100.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___2156_16091.FStar_TypeChecker_Env.tc_term); + (uu___2167_16100.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___2156_16091.FStar_TypeChecker_Env.type_of); + (uu___2167_16100.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___2156_16091.FStar_TypeChecker_Env.universe_of); + (uu___2167_16100.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___2156_16091.FStar_TypeChecker_Env.check_type_of); + (uu___2167_16100.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___2156_16091.FStar_TypeChecker_Env.use_bv_sorts); - FStar_TypeChecker_Env.qtbl_name_and_index = uu____16092; + (uu___2167_16100.FStar_TypeChecker_Env.use_bv_sorts); + FStar_TypeChecker_Env.qtbl_name_and_index = uu____16101; FStar_TypeChecker_Env.normalized_eff_names = - (uu___2156_16091.FStar_TypeChecker_Env.normalized_eff_names); + (uu___2167_16100.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___2156_16091.FStar_TypeChecker_Env.fv_delta_depths); + (uu___2167_16100.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___2156_16091.FStar_TypeChecker_Env.proof_ns); + (uu___2167_16100.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___2156_16091.FStar_TypeChecker_Env.synth_hook); + (uu___2167_16100.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___2156_16091.FStar_TypeChecker_Env.splice); + (uu___2167_16100.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___2156_16091.FStar_TypeChecker_Env.postprocess); + (uu___2167_16100.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___2156_16091.FStar_TypeChecker_Env.is_native_tactic); + (uu___2167_16100.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___2156_16091.FStar_TypeChecker_Env.identifier_info); + (uu___2167_16100.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___2156_16091.FStar_TypeChecker_Env.tc_hooks); + (uu___2167_16100.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___2156_16091.FStar_TypeChecker_Env.dsenv); + (uu___2167_16100.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___2156_16091.FStar_TypeChecker_Env.nbe) - } in - let uu____16153 = - let uu____16155 = FStar_Options.interactive () in - Prims.op_Negation uu____16155 in - if uu____16153 + (uu___2167_16100.FStar_TypeChecker_Env.nbe) + } in + let uu____16162 = + let uu____16164 = FStar_Options.interactive () in + Prims.op_Negation uu____16164 in + if uu____16162 then - ((let uu____16159 = - FStar_Options.restore_cmd_line_options true in - FStar_All.pipe_right uu____16159 (fun a3 -> ())); - z3_reset_options en02) - else en02 in - let uu____16163 = tc_modul en0 modul_iface true in - match uu____16163 with - | (modul_iface1, env) -> - ((let uu___2165_16176 = m in + ((let uu____16168 = + FStar_Options.restore_cmd_line_options true in + FStar_All.pipe_right uu____16168 (fun a3 -> ())); + en02) + else en02 in + let uu____16172 = tc_modul en0 modul_iface true in + match uu____16172 with + | (modul_iface1,env) -> + ((let uu___2176_16185 = m in { FStar_Syntax_Syntax.name = - (uu___2165_16176.FStar_Syntax_Syntax.name); + (uu___2176_16185.FStar_Syntax_Syntax.name); FStar_Syntax_Syntax.declarations = - (uu___2165_16176.FStar_Syntax_Syntax.declarations); + (uu___2176_16185.FStar_Syntax_Syntax.declarations); FStar_Syntax_Syntax.exports = (modul_iface1.FStar_Syntax_Syntax.exports); FStar_Syntax_Syntax.is_interface = - (uu___2165_16176.FStar_Syntax_Syntax.is_interface) + (uu___2176_16185.FStar_Syntax_Syntax.is_interface) }), env))) else (let modul = - let uu___2167_16180 = m in + let uu___2178_16189 = m in { FStar_Syntax_Syntax.name = - (uu___2167_16180.FStar_Syntax_Syntax.name); + (uu___2178_16189.FStar_Syntax_Syntax.name); FStar_Syntax_Syntax.declarations = - (uu___2167_16180.FStar_Syntax_Syntax.declarations); + (uu___2178_16189.FStar_Syntax_Syntax.declarations); FStar_Syntax_Syntax.exports = exports; FStar_Syntax_Syntax.is_interface = - (uu___2167_16180.FStar_Syntax_Syntax.is_interface) - } in - let env = FStar_TypeChecker_Env.finish_module en modul in - (let uu____16183 = + (uu___2178_16189.FStar_Syntax_Syntax.is_interface) + } in + let env = FStar_TypeChecker_Env.finish_module en modul in + (let uu____16192 = FStar_All.pipe_right env.FStar_TypeChecker_Env.qtbl_name_and_index - FStar_Pervasives_Native.fst in - FStar_All.pipe_right uu____16183 FStar_Util.smap_clear); - (let uu____16219 = - ((let uu____16223 = FStar_Options.lax () in - Prims.op_Negation uu____16223) && + FStar_Pervasives_Native.fst + in + FStar_All.pipe_right uu____16192 FStar_Util.smap_clear); + (let uu____16228 = + ((let uu____16232 = FStar_Options.lax () in + Prims.op_Negation uu____16232) && (Prims.op_Negation loading_from_cache)) && - (let uu____16226 = - FStar_Options.use_extracted_interfaces () in - Prims.op_Negation uu____16226) in - if uu____16219 then check_exports env modul exports else ()); - (let uu____16232 = + (let uu____16235 = + FStar_Options.use_extracted_interfaces () in + Prims.op_Negation uu____16235) + in + if uu____16228 then check_exports env modul exports else ()); + (let uu____16241 = pop_context env (Prims.op_Hat "Ending modul " - (modul.FStar_Syntax_Syntax.name).FStar_Ident.str) in - FStar_All.pipe_right uu____16232 (fun a4 -> ())); + (modul.FStar_Syntax_Syntax.name).FStar_Ident.str) + in + FStar_All.pipe_right uu____16241 (fun a4 -> ())); (modul, env)) + let (load_checked_module : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.modul -> FStar_TypeChecker_Env.env) = - fun en -> - fun m -> + fun en -> + fun m -> let env = FStar_TypeChecker_Env.set_current_module en - m.FStar_Syntax_Syntax.name in + m.FStar_Syntax_Syntax.name + in let env1 = - let uu____16247 = - let uu____16249 = - FStar_Ident.string_of_lid m.FStar_Syntax_Syntax.name in - Prims.op_Hat "Internals for " uu____16249 in - push_context env uu____16247 in + let uu____16256 = + let uu____16258 = + FStar_Ident.string_of_lid m.FStar_Syntax_Syntax.name in + Prims.op_Hat "Internals for " uu____16258 in + push_context env uu____16256 in let env2 = FStar_List.fold_left - (fun env2 -> - fun se -> - let env3 = FStar_TypeChecker_Env.push_sigelt env2 se in - let lids = FStar_Syntax_Util.lids_of_sigelt se in + (fun env2 -> + fun se -> + let env3 = FStar_TypeChecker_Env.push_sigelt env2 se in + let lids = FStar_Syntax_Util.lids_of_sigelt se in FStar_All.pipe_right lids (FStar_List.iter - (fun lid -> - let uu____16270 = - FStar_TypeChecker_Env.try_lookup_lid env3 lid in + (fun lid -> + let uu____16279 = + FStar_TypeChecker_Env.try_lookup_lid env3 lid in ())); - env3) env1 m.FStar_Syntax_Syntax.declarations in - let uu____16281 = - finish_partial_modul true true env2 m m.FStar_Syntax_Syntax.exports in - match uu____16281 with | (uu____16288, env3) -> env3 + env3) env1 m.FStar_Syntax_Syntax.declarations + in + let uu____16290 = + finish_partial_modul true true env2 m m.FStar_Syntax_Syntax.exports + in + match uu____16290 with | (uu____16297,env3) -> env3 + let (check_module : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.modul -> Prims.bool -> (FStar_Syntax_Syntax.modul * FStar_TypeChecker_Env.env)) = - fun env -> - fun m -> - fun b -> - (let uu____16313 = FStar_Options.debug_any () in - if uu____16313 + fun env -> + fun m -> + fun b -> + (let uu____16322 = FStar_Options.debug_any () in + if uu____16322 then - let uu____16316 = - FStar_Syntax_Print.lid_to_string m.FStar_Syntax_Syntax.name in + let uu____16325 = + FStar_Syntax_Print.lid_to_string m.FStar_Syntax_Syntax.name in FStar_Util.print2 "Checking %s: %s\n" (if m.FStar_Syntax_Syntax.is_interface then "i'face" - else "module") uu____16316 + else "module") uu____16325 else ()); - (let uu____16328 = + (let uu____16337 = FStar_Options.dump_module - (m.FStar_Syntax_Syntax.name).FStar_Ident.str in - if uu____16328 + (m.FStar_Syntax_Syntax.name).FStar_Ident.str + in + if uu____16337 then - let uu____16331 = FStar_Syntax_Print.modul_to_string m in - FStar_Util.print1 "Module before type checking:\n%s\n" uu____16331 + let uu____16340 = FStar_Syntax_Print.modul_to_string m in + FStar_Util.print1 "Module before type checking:\n%s\n" uu____16340 else ()); (let env1 = - let uu___2197_16337 = env in - let uu____16338 = - let uu____16340 = + let uu___2208_16346 = env in + let uu____16347 = + let uu____16349 = FStar_Options.should_verify - (m.FStar_Syntax_Syntax.name).FStar_Ident.str in - Prims.op_Negation uu____16340 in + (m.FStar_Syntax_Syntax.name).FStar_Ident.str + in + Prims.op_Negation uu____16349 in { FStar_TypeChecker_Env.solver = - (uu___2197_16337.FStar_TypeChecker_Env.solver); + (uu___2208_16346.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___2197_16337.FStar_TypeChecker_Env.range); + (uu___2208_16346.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___2197_16337.FStar_TypeChecker_Env.curmodule); + (uu___2208_16346.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___2197_16337.FStar_TypeChecker_Env.gamma); + (uu___2208_16346.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___2197_16337.FStar_TypeChecker_Env.gamma_sig); + (uu___2208_16346.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___2197_16337.FStar_TypeChecker_Env.gamma_cache); + (uu___2208_16346.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___2197_16337.FStar_TypeChecker_Env.modules); + (uu___2208_16346.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___2197_16337.FStar_TypeChecker_Env.expected_typ); + (uu___2208_16346.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___2197_16337.FStar_TypeChecker_Env.sigtab); + (uu___2208_16346.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___2197_16337.FStar_TypeChecker_Env.attrtab); + (uu___2208_16346.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___2197_16337.FStar_TypeChecker_Env.is_pattern); + (uu___2208_16346.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___2197_16337.FStar_TypeChecker_Env.instantiate_imp); + (uu___2208_16346.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___2197_16337.FStar_TypeChecker_Env.effects); + (uu___2208_16346.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___2197_16337.FStar_TypeChecker_Env.generalize); + (uu___2208_16346.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___2197_16337.FStar_TypeChecker_Env.letrecs); + (uu___2208_16346.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___2197_16337.FStar_TypeChecker_Env.top_level); + (uu___2208_16346.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___2197_16337.FStar_TypeChecker_Env.check_uvars); + (uu___2208_16346.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___2197_16337.FStar_TypeChecker_Env.use_eq); + (uu___2208_16346.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___2197_16337.FStar_TypeChecker_Env.is_iface); + (uu___2208_16346.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___2197_16337.FStar_TypeChecker_Env.admit); - FStar_TypeChecker_Env.lax = uu____16338; + (uu___2208_16346.FStar_TypeChecker_Env.admit); + FStar_TypeChecker_Env.lax = uu____16347; FStar_TypeChecker_Env.lax_universes = - (uu___2197_16337.FStar_TypeChecker_Env.lax_universes); + (uu___2208_16346.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___2197_16337.FStar_TypeChecker_Env.phase1); + (uu___2208_16346.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___2197_16337.FStar_TypeChecker_Env.failhard); + (uu___2208_16346.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___2197_16337.FStar_TypeChecker_Env.nosynth); + (uu___2208_16346.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___2197_16337.FStar_TypeChecker_Env.uvar_subtyping); + (uu___2208_16346.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___2197_16337.FStar_TypeChecker_Env.tc_term); + (uu___2208_16346.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___2197_16337.FStar_TypeChecker_Env.type_of); + (uu___2208_16346.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___2197_16337.FStar_TypeChecker_Env.universe_of); + (uu___2208_16346.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___2197_16337.FStar_TypeChecker_Env.check_type_of); + (uu___2208_16346.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___2197_16337.FStar_TypeChecker_Env.use_bv_sorts); + (uu___2208_16346.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___2197_16337.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___2208_16346.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___2197_16337.FStar_TypeChecker_Env.normalized_eff_names); + (uu___2208_16346.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___2197_16337.FStar_TypeChecker_Env.fv_delta_depths); + (uu___2208_16346.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___2197_16337.FStar_TypeChecker_Env.proof_ns); + (uu___2208_16346.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___2197_16337.FStar_TypeChecker_Env.synth_hook); + (uu___2208_16346.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___2197_16337.FStar_TypeChecker_Env.splice); + (uu___2208_16346.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___2197_16337.FStar_TypeChecker_Env.postprocess); + (uu___2208_16346.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___2197_16337.FStar_TypeChecker_Env.is_native_tactic); + (uu___2208_16346.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___2197_16337.FStar_TypeChecker_Env.identifier_info); + (uu___2208_16346.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___2197_16337.FStar_TypeChecker_Env.tc_hooks); + (uu___2208_16346.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___2197_16337.FStar_TypeChecker_Env.dsenv); + (uu___2208_16346.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___2197_16337.FStar_TypeChecker_Env.nbe) - } in - let uu____16342 = tc_modul env1 m b in - match uu____16342 with - | (m1, env2) -> - ((let uu____16354 = + (uu___2208_16346.FStar_TypeChecker_Env.nbe) + } in + let uu____16351 = tc_modul env1 m b in + match uu____16351 with + | (m1,env2) -> + ((let uu____16363 = FStar_Options.dump_module - (m1.FStar_Syntax_Syntax.name).FStar_Ident.str in - if uu____16354 + (m1.FStar_Syntax_Syntax.name).FStar_Ident.str + in + if uu____16363 then - let uu____16357 = FStar_Syntax_Print.modul_to_string m1 in + let uu____16366 = FStar_Syntax_Print.modul_to_string m1 in FStar_Util.print1 "Module after type checking:\n%s\n" - uu____16357 + uu____16366 else ()); - (let uu____16363 = + (let uu____16372 = (FStar_Options.dump_module (m1.FStar_Syntax_Syntax.name).FStar_Ident.str) && (FStar_Options.debug_at_level (m1.FStar_Syntax_Syntax.name).FStar_Ident.str - (FStar_Options.Other "Normalize")) in - if uu____16363 + (FStar_Options.Other "Normalize")) + in + if uu____16372 then let normalize_toplevel_lets se = match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_let ((b1, lbs), ids) -> + | FStar_Syntax_Syntax.Sig_let ((b1,lbs),ids) -> let n1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; @@ -8055,71 +9268,77 @@ let (check_module : FStar_TypeChecker_Env.Primops; FStar_TypeChecker_Env.UnfoldUntil FStar_Syntax_Syntax.delta_constant; - FStar_TypeChecker_Env.AllowUnboundUniverses] in + FStar_TypeChecker_Env.AllowUnboundUniverses] + in let update lb = - let uu____16401 = + let uu____16410 = FStar_Syntax_Subst.open_univ_vars lb.FStar_Syntax_Syntax.lbunivs - lb.FStar_Syntax_Syntax.lbdef in - match uu____16401 with - | (univnames1, e) -> - let uu___2219_16408 = lb in - let uu____16409 = - let uu____16412 = + lb.FStar_Syntax_Syntax.lbdef + in + match uu____16410 with + | (univnames1,e) -> + let uu___2230_16417 = lb in + let uu____16418 = + let uu____16421 = FStar_TypeChecker_Env.push_univ_vars env2 - univnames1 in - n1 uu____16412 e in + univnames1 + in + n1 uu____16421 e in { FStar_Syntax_Syntax.lbname = - (uu___2219_16408.FStar_Syntax_Syntax.lbname); + (uu___2230_16417.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = - (uu___2219_16408.FStar_Syntax_Syntax.lbunivs); + (uu___2230_16417.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = - (uu___2219_16408.FStar_Syntax_Syntax.lbtyp); + (uu___2230_16417.FStar_Syntax_Syntax.lbtyp); FStar_Syntax_Syntax.lbeff = - (uu___2219_16408.FStar_Syntax_Syntax.lbeff); - FStar_Syntax_Syntax.lbdef = uu____16409; + (uu___2230_16417.FStar_Syntax_Syntax.lbeff); + FStar_Syntax_Syntax.lbdef = uu____16418; FStar_Syntax_Syntax.lbattrs = - (uu___2219_16408.FStar_Syntax_Syntax.lbattrs); + (uu___2230_16417.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___2219_16408.FStar_Syntax_Syntax.lbpos) - } in - let uu___2221_16413 = se in - let uu____16414 = - let uu____16415 = - let uu____16422 = - let uu____16423 = FStar_List.map update lbs in - (b1, uu____16423) in - (uu____16422, ids) in - FStar_Syntax_Syntax.Sig_let uu____16415 in + (uu___2230_16417.FStar_Syntax_Syntax.lbpos) + } + in + let uu___2232_16422 = se in + let uu____16423 = + let uu____16424 = + let uu____16431 = + let uu____16432 = FStar_List.map update lbs in + (b1, uu____16432) in + (uu____16431, ids) in + FStar_Syntax_Syntax.Sig_let uu____16424 in { - FStar_Syntax_Syntax.sigel = uu____16414; + FStar_Syntax_Syntax.sigel = uu____16423; FStar_Syntax_Syntax.sigrng = - (uu___2221_16413.FStar_Syntax_Syntax.sigrng); + (uu___2232_16422.FStar_Syntax_Syntax.sigrng); FStar_Syntax_Syntax.sigquals = - (uu___2221_16413.FStar_Syntax_Syntax.sigquals); + (uu___2232_16422.FStar_Syntax_Syntax.sigquals); FStar_Syntax_Syntax.sigmeta = - (uu___2221_16413.FStar_Syntax_Syntax.sigmeta); + (uu___2232_16422.FStar_Syntax_Syntax.sigmeta); FStar_Syntax_Syntax.sigattrs = - (uu___2221_16413.FStar_Syntax_Syntax.sigattrs) + (uu___2232_16422.FStar_Syntax_Syntax.sigattrs) } - | uu____16431 -> se in + | uu____16440 -> se in let normalized_module = - let uu___2225_16433 = m1 in - let uu____16434 = + let uu___2236_16442 = m1 in + let uu____16443 = FStar_List.map normalize_toplevel_lets - m1.FStar_Syntax_Syntax.declarations in + m1.FStar_Syntax_Syntax.declarations + in { FStar_Syntax_Syntax.name = - (uu___2225_16433.FStar_Syntax_Syntax.name); - FStar_Syntax_Syntax.declarations = uu____16434; + (uu___2236_16442.FStar_Syntax_Syntax.name); + FStar_Syntax_Syntax.declarations = uu____16443; FStar_Syntax_Syntax.exports = - (uu___2225_16433.FStar_Syntax_Syntax.exports); + (uu___2236_16442.FStar_Syntax_Syntax.exports); FStar_Syntax_Syntax.is_interface = - (uu___2225_16433.FStar_Syntax_Syntax.is_interface) - } in - let uu____16435 = - FStar_Syntax_Print.modul_to_string normalized_module in - FStar_Util.print1 "%s\n" uu____16435 + (uu___2236_16442.FStar_Syntax_Syntax.is_interface) + } in + let uu____16444 = + FStar_Syntax_Print.modul_to_string normalized_module in + FStar_Util.print1 "%s\n" uu____16444 else ()); - (m1, env2))) \ No newline at end of file + (m1, env2))) + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_TcInductive.ml b/src/ocaml-output/FStar_TypeChecker_TcInductive.ml index 639508f9ab1..df9d59df397 100644 --- a/src/ocaml-output/FStar_TypeChecker_TcInductive.ml +++ b/src/ocaml-output/FStar_TypeChecker_TcInductive.ml @@ -5,45 +5,49 @@ let (unfold_whnf : = FStar_TypeChecker_Normalize.unfold_whnf' [FStar_TypeChecker_Env.AllowUnboundUniverses] + let (tc_tycon : FStar_TypeChecker_Env.env_t -> FStar_Syntax_Syntax.sigelt -> (FStar_TypeChecker_Env.env_t * FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.universe * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun s -> + fun env -> + fun s -> match s.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_inductive_typ - (tc, uvs, tps, k, mutuals, data) -> - let env0 = env in - let uu____50 = FStar_Syntax_Subst.univ_var_opening uvs in + | FStar_Syntax_Syntax.Sig_inductive_typ (tc,uvs,tps,k,mutuals,data) -> + let env0 = env in + let uu____50 = FStar_Syntax_Subst.univ_var_opening uvs in (match uu____50 with - | (usubst, uvs1) -> + | (usubst,uvs1) -> let uu____77 = - let uu____84 = FStar_TypeChecker_Env.push_univ_vars env uvs1 in - let uu____85 = FStar_Syntax_Subst.subst_binders usubst tps in + let uu____84 = FStar_TypeChecker_Env.push_univ_vars env uvs1 + in + let uu____85 = FStar_Syntax_Subst.subst_binders usubst tps + in let uu____86 = let uu____87 = FStar_Syntax_Subst.shift_subst (FStar_List.length tps) - usubst in - FStar_Syntax_Subst.subst uu____87 k in - (uu____84, uu____85, uu____86) in + usubst + in + FStar_Syntax_Subst.subst uu____87 k in + (uu____84, uu____85, uu____86) in (match uu____77 with - | (env1, tps1, k1) -> - let uu____107 = FStar_Syntax_Subst.open_term tps1 k1 in + | (env1,tps1,k1) -> + let uu____107 = FStar_Syntax_Subst.open_term tps1 k1 in (match uu____107 with - | (tps2, k2) -> + | (tps2,k2) -> let uu____122 = - FStar_TypeChecker_TcTerm.tc_binders env1 tps2 in + FStar_TypeChecker_TcTerm.tc_binders env1 tps2 in (match uu____122 with - | (tps3, env_tps, guard_params, us) -> + | (tps3,env_tps,guard_params,us) -> let uu____143 = let uu____162 = FStar_TypeChecker_TcTerm.tc_tot_or_gtot_term - env_tps k2 in + env_tps k2 + in match uu____162 with - | (k3, uu____188, g) -> + | (k3,uu____188,g) -> let k4 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Exclude @@ -54,27 +58,32 @@ let (tc_tycon : FStar_TypeChecker_Env.NoFullNorm; FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Beta] env_tps - k3 in + k3 + in let uu____191 = - FStar_Syntax_Util.arrow_formals k4 in + FStar_Syntax_Util.arrow_formals k4 in let uu____206 = let uu____207 = FStar_TypeChecker_Env.conj_guard - guard_params g in + guard_params g + in FStar_TypeChecker_Rel.discharge_guard - env_tps uu____207 in - (uu____191, uu____206) in + env_tps uu____207 + in + (uu____191, uu____206) + in (match uu____143 with - | ((indices, t), guard) -> + | ((indices,t),guard) -> let k3 = let uu____270 = - FStar_Syntax_Syntax.mk_Total t in + FStar_Syntax_Syntax.mk_Total t in FStar_Syntax_Util.arrow indices - uu____270 in + uu____270 + in let uu____273 = - FStar_Syntax_Util.type_u () in + FStar_Syntax_Util.type_u () in (match uu____273 with - | (t_type, u) -> + | (t_type,u) -> let valid_type = ((FStar_Syntax_Util.is_eqtype_no_unrefine t) @@ -83,54 +92,67 @@ let (tc_tycon : FStar_All.pipe_right s.FStar_Syntax_Syntax.sigquals (FStar_List.contains - FStar_Syntax_Syntax.Unopteq) in + FStar_Syntax_Syntax.Unopteq) + in Prims.op_Negation uu____291)) || (FStar_TypeChecker_Rel.teq_nosmt_force - env1 t t_type) in + env1 t t_type) + in (if Prims.op_Negation valid_type then (let uu____298 = let uu____304 = let uu____306 = FStar_Syntax_Print.term_to_string - t in + t + in let uu____308 = FStar_Ident.string_of_lid - tc in + tc + in FStar_Util.format2 "Type annotation %s for inductive %s is not Type or eqtype, or it is eqtype but contains unopteq qualifier" - uu____306 uu____308 in + uu____306 uu____308 + in (FStar_Errors.Error_InductiveAnnotNotAType, - uu____304) in + uu____304) + in FStar_Errors.raise_error uu____298 s.FStar_Syntax_Syntax.sigrng) else (); (let usubst1 = FStar_Syntax_Subst.univ_var_closing - uvs1 in + uvs1 + in let guard1 = FStar_TypeChecker_Util.close_guard_implicits - env1 tps3 guard in + env1 tps3 guard + in let t_tc = let uu____321 = let uu____330 = FStar_All.pipe_right tps3 (FStar_Syntax_Subst.subst_binders - usubst1) in + usubst1) + in let uu____347 = let uu____356 = let uu____369 = FStar_Syntax_Subst.shift_subst (FStar_List.length tps3) - usubst1 in + usubst1 + in FStar_Syntax_Subst.subst_binders - uu____369 in + uu____369 + in FStar_All.pipe_right indices - uu____356 in + uu____356 + in FStar_List.append uu____330 - uu____347 in + uu____347 + in let uu____392 = let uu____395 = let uu____396 = @@ -140,45 +162,57 @@ let (tc_tycon : tps3) + (FStar_List.length - indices)) usubst1 in + indices)) usubst1 + in FStar_Syntax_Subst.subst - uu____401 in + uu____401 + in FStar_All.pipe_right t - uu____396 in + uu____396 + in FStar_Syntax_Syntax.mk_Total - uu____395 in + uu____395 + in FStar_Syntax_Util.arrow uu____321 - uu____392 in + uu____392 + in let tps4 = FStar_Syntax_Subst.close_binders - tps3 in + tps3 + in let k4 = - FStar_Syntax_Subst.close tps4 k3 in + FStar_Syntax_Subst.close tps4 k3 + in let uu____418 = let uu____423 = FStar_Syntax_Subst.subst_binders - usubst1 tps4 in + usubst1 tps4 + in let uu____424 = let uu____425 = FStar_Syntax_Subst.shift_subst (FStar_List.length tps4) - usubst1 in + usubst1 + in FStar_Syntax_Subst.subst - uu____425 k4 in - (uu____423, uu____424) in + uu____425 k4 + in + (uu____423, uu____424) in match uu____418 with - | (tps5, k5) -> + | (tps5,k5) -> let fv_tc = FStar_Syntax_Syntax.lid_as_fv tc FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let uu____445 = FStar_TypeChecker_Env.push_let_binding env0 (FStar_Util.Inr fv_tc) - (uvs1, t_tc) in + (uvs1, t_tc) + in (uu____445, - (let uu___61_451 = s in + (let uu___61_451 = s in { FStar_Syntax_Syntax.sigel = @@ -199,189 +233,216 @@ let (tc_tycon : (uu___61_451.FStar_Syntax_Syntax.sigattrs) }), u, guard1))))))))) | uu____456 -> failwith "impossible" + let (tc_data : FStar_TypeChecker_Env.env_t -> (FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.universe) Prims.list -> FStar_Syntax_Syntax.sigelt -> (FStar_Syntax_Syntax.sigelt * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun tcs -> - fun se -> + fun env -> + fun tcs -> + fun se -> match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_datacon - (c, _uvs, t, tc_lid, ntps, _mutual_tcs) -> - let uu____520 = FStar_Syntax_Subst.univ_var_opening _uvs in + | FStar_Syntax_Syntax.Sig_datacon (c,_uvs,t,tc_lid,ntps,_mutual_tcs) + -> + let uu____520 = FStar_Syntax_Subst.univ_var_opening _uvs in (match uu____520 with - | (usubst, _uvs1) -> + | (usubst,_uvs1) -> let uu____543 = let uu____548 = - FStar_TypeChecker_Env.push_univ_vars env _uvs1 in - let uu____549 = FStar_Syntax_Subst.subst usubst t in - (uu____548, uu____549) in + FStar_TypeChecker_Env.push_univ_vars env _uvs1 in + let uu____549 = FStar_Syntax_Subst.subst usubst t in + (uu____548, uu____549) in (match uu____543 with - | (env1, t1) -> + | (env1,t1) -> let uu____556 = let tps_u_opt = FStar_Util.find_map tcs - (fun uu____595 -> + (fun uu____595 -> match uu____595 with - | (se1, u_tc) -> + | (se1,u_tc) -> let uu____610 = let uu____612 = let uu____613 = - FStar_Syntax_Util.lid_of_sigelt se1 in - FStar_Util.must uu____613 in - FStar_Ident.lid_equals tc_lid uu____612 in + FStar_Syntax_Util.lid_of_sigelt se1 + in + FStar_Util.must uu____613 in + FStar_Ident.lid_equals tc_lid uu____612 + in if uu____610 then (match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (uu____633, uu____634, tps, - uu____636, uu____637, uu____638) + (uu____633,uu____634,tps,uu____636,uu____637,uu____638) -> let tps1 = let uu____648 = FStar_All.pipe_right tps (FStar_Syntax_Subst.subst_binders - usubst) in + usubst) + in FStar_All.pipe_right uu____648 (FStar_List.map - (fun uu____688 -> + (fun uu____688 -> match uu____688 with - | (x, uu____702) -> + | (x,uu____702) -> (x, (FStar_Pervasives_Native.Some - FStar_Syntax_Syntax.imp_tag)))) in + FStar_Syntax_Syntax.imp_tag)))) + in let tps2 = FStar_Syntax_Subst.open_binders - tps1 in + tps1 + in let uu____710 = let uu____717 = FStar_TypeChecker_Env.push_binders - env1 tps2 in - (uu____717, tps2, u_tc) in + env1 tps2 + in + (uu____717, tps2, u_tc) in FStar_Pervasives_Native.Some uu____710 | uu____724 -> failwith "Impossible") - else FStar_Pervasives_Native.None) in + else FStar_Pervasives_Native.None) + in match tps_u_opt with | FStar_Pervasives_Native.Some x -> x - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____767 = FStar_Ident.lid_equals tc_lid - FStar_Parser_Const.exn_lid in + FStar_Parser_Const.exn_lid + in if uu____767 then (env1, [], FStar_Syntax_Syntax.U_zero) else FStar_Errors.raise_error (FStar_Errors.Fatal_UnexpectedDataConstructor, "Unexpected data constructor") - se.FStar_Syntax_Syntax.sigrng in + se.FStar_Syntax_Syntax.sigrng + in (match uu____556 with - | (env2, tps, u_tc) -> + | (env2,tps,u_tc) -> let uu____799 = let t2 = FStar_TypeChecker_Normalize.normalize (FStar_List.append FStar_TypeChecker_Normalize.whnf_steps [FStar_TypeChecker_Env.AllowUnboundUniverses]) - env2 t1 in + env2 t1 + in let uu____815 = - let uu____816 = FStar_Syntax_Subst.compress t2 in - uu____816.FStar_Syntax_Syntax.n in + let uu____816 = FStar_Syntax_Subst.compress t2 + in + uu____816.FStar_Syntax_Syntax.n in match uu____815 with - | FStar_Syntax_Syntax.Tm_arrow (bs, res) -> - let uu____855 = FStar_Util.first_N ntps bs in + | FStar_Syntax_Syntax.Tm_arrow (bs,res) -> + let uu____855 = FStar_Util.first_N ntps bs + in (match uu____855 with - | (uu____896, bs') -> + | (uu____896,bs') -> let t3 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow (bs', res)) FStar_Pervasives_Native.None - t2.FStar_Syntax_Syntax.pos in + t2.FStar_Syntax_Syntax.pos + in let subst1 = FStar_All.pipe_right tps (FStar_List.mapi - (fun i -> - fun uu____967 -> + (fun i -> + fun uu____967 -> match uu____967 with - | (x, uu____976) -> + | (x,uu____976) -> FStar_Syntax_Syntax.DB ((ntps - ((Prims.parse_int "1") - + i)), x))) in + + i)), x))) + in let uu____983 = - FStar_Syntax_Subst.subst subst1 t3 in + FStar_Syntax_Subst.subst subst1 t3 + in FStar_Syntax_Util.arrow_formals uu____983) - | uu____984 -> ([], t2) in + | uu____984 -> ([], t2) in (match uu____799 with - | (arguments, result) -> + | (arguments,result) -> ((let uu____1028 = FStar_TypeChecker_Env.debug env2 - FStar_Options.Low in + FStar_Options.Low + in if uu____1028 then let uu____1031 = - FStar_Syntax_Print.lid_to_string c in + FStar_Syntax_Print.lid_to_string c in let uu____1033 = FStar_Syntax_Print.binders_to_string - "->" arguments in + "->" arguments + in let uu____1036 = FStar_Syntax_Print.term_to_string - result in + result + in FStar_Util.print3 "Checking datacon %s : %s -> %s \n" uu____1031 uu____1033 uu____1036 else ()); (let uu____1041 = FStar_TypeChecker_TcTerm.tc_tparams env2 - arguments in + arguments + in match uu____1041 with - | (arguments1, env', us) -> + | (arguments1,env',us) -> let type_u_tc = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type u_tc) FStar_Pervasives_Native.None - result.FStar_Syntax_Syntax.pos in + result.FStar_Syntax_Syntax.pos + in let env'1 = FStar_TypeChecker_Env.set_expected_typ - env' type_u_tc in + env' type_u_tc + in let uu____1059 = FStar_TypeChecker_TcTerm.tc_trivial_guard - env'1 result in + env'1 result + in (match uu____1059 with - | (result1, res_lcomp) -> + | (result1,res_lcomp) -> let uu____1070 = FStar_Syntax_Util.head_and_args - result1 in + result1 + in (match uu____1070 with - | (head1, args) -> + | (head1,args) -> let p_args = let uu____1128 = FStar_Util.first_N (FStar_List.length tps) - args in + args + in FStar_Pervasives_Native.fst - uu____1128 in + uu____1128 + in (FStar_List.iter2 - (fun uu____1210 -> - fun uu____1211 -> + (fun uu____1210 -> + fun uu____1211 -> match (uu____1210, uu____1211) with - | ((bv, uu____1241), - (t2, uu____1243)) + | ((bv,uu____1241), + (t2,uu____1243)) -> let uu____1270 = let uu____1271 = FStar_Syntax_Subst.compress - t2 in - uu____1271.FStar_Syntax_Syntax.n in + t2 + in + uu____1271.FStar_Syntax_Syntax.n + in (match uu____1270 with | FStar_Syntax_Syntax.Tm_name @@ -397,17 +458,19 @@ let (tc_data : let uu____1284 = FStar_Syntax_Print.bv_to_string - bv in + bv in let uu____1286 = FStar_Syntax_Print.term_to_string - t2 in + t2 in FStar_Util.format2 "This parameter is not constant: expected %s, got %s" uu____1284 - uu____1286 in + uu____1286 + in (FStar_Errors.Error_BadInductiveParam, - uu____1282) in + uu____1282) + in FStar_Errors.raise_error uu____1276 t2.FStar_Syntax_Syntax.pos)) @@ -415,15 +478,19 @@ let (tc_data : (let ty = let uu____1291 = unfold_whnf env2 - res_lcomp.FStar_Syntax_Syntax.res_typ in + res_lcomp.FStar_Syntax_Syntax.res_typ + in FStar_All.pipe_right uu____1291 - FStar_Syntax_Util.unrefine in + FStar_Syntax_Util.unrefine + in (let uu____1293 = let uu____1294 = FStar_Syntax_Subst.compress - ty in - uu____1294.FStar_Syntax_Syntax.n in + ty + in + uu____1294.FStar_Syntax_Syntax.n + in match uu____1293 with | FStar_Syntax_Syntax.Tm_type uu____1297 -> () @@ -432,16 +499,20 @@ let (tc_data : let uu____1305 = let uu____1307 = FStar_Syntax_Print.term_to_string - result1 in + result1 + in let uu____1309 = FStar_Syntax_Print.term_to_string - ty in + ty + in FStar_Util.format2 "The type of %s is %s, but since this is the result type of a constructor its type should be Type" uu____1307 - uu____1309 in + uu____1309 + in (FStar_Errors.Fatal_WrongResultTypeAfterConstrutor, - uu____1305) in + uu____1305) + in FStar_Errors.raise_error uu____1299 se.FStar_Syntax_Syntax.sigrng); @@ -449,8 +520,10 @@ let (tc_data : let uu____1314 = let uu____1315 = FStar_Syntax_Subst.compress - head1 in - uu____1315.FStar_Syntax_Syntax.n in + head1 + in + uu____1315.FStar_Syntax_Syntax.n + in match uu____1314 with | FStar_Syntax_Syntax.Tm_uinst ({ @@ -461,8 +534,7 @@ let (tc_data : FStar_Syntax_Syntax.pos = uu____1319; FStar_Syntax_Syntax.vars - = uu____1320;_}, - tuvs) + = uu____1320;_},tuvs) when FStar_Syntax_Syntax.fv_eq_lid fv tc_lid @@ -475,9 +547,9 @@ let (tc_data : tuvs) then FStar_List.fold_left2 - (fun g -> - fun u1 -> - fun u2 -> + (fun g -> + fun u1 -> + fun u2 -> let uu____1334 = let uu____1335 @@ -486,7 +558,8 @@ let (tc_data : (FStar_Syntax_Syntax.Tm_type u1) FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Range.dummyRange + in let uu____1336 = FStar_Syntax_Syntax.mk @@ -494,11 +567,13 @@ let (tc_data : (FStar_Syntax_Syntax.U_name u2)) FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Range.dummyRange + in FStar_TypeChecker_Rel.teq env'1 uu____1335 - uu____1336 in + uu____1336 + in FStar_TypeChecker_Env.conj_guard g uu____1334) @@ -520,37 +595,43 @@ let (tc_data : let uu____1349 = let uu____1351 = FStar_Syntax_Print.lid_to_string - tc_lid in + tc_lid + in let uu____1353 = FStar_Syntax_Print.term_to_string - head1 in + head1 + in FStar_Util.format2 "Expected a constructor of type %s; got %s" uu____1351 - uu____1353 in + uu____1353 + in (FStar_Errors.Fatal_UnexpectedConstructorType, - uu____1349) in + uu____1349) + in FStar_Errors.raise_error uu____1343 - se.FStar_Syntax_Syntax.sigrng in + se.FStar_Syntax_Syntax.sigrng + in let g = FStar_List.fold_left2 - (fun g -> - fun uu____1371 -> - fun u_x -> + (fun g -> + fun uu____1371 -> + fun u_x -> match uu____1371 with - | (x, - uu____1380) + | (x,uu____1380) -> let uu____1385 = FStar_TypeChecker_Rel.universe_inequality - u_x u_tc in + u_x u_tc + in FStar_TypeChecker_Env.conj_guard g uu____1385) - g_uvs arguments1 us in + g_uvs arguments1 us + in let t2 = let uu____1389 = let uu____1398 = @@ -558,28 +639,33 @@ let (tc_data : tps (FStar_List.map (fun uu____1438 - -> + -> match uu____1438 with - | (x, - uu____1452) + | (x,uu____1452) -> (x, (FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit - true))))) in + true))))) + in FStar_List.append uu____1398 - arguments1 in + arguments1 + in let uu____1466 = FStar_Syntax_Syntax.mk_Total - result1 in + result1 + in FStar_Syntax_Util.arrow - uu____1389 uu____1466 in + uu____1389 uu____1466 + in let t3 = FStar_Syntax_Subst.close_univ_vars - _uvs1 t2 in - ((let uu___183_1471 = se in + _uvs1 t2 + in + ((let uu___183_1471 = se + in { FStar_Syntax_Syntax.sigel = @@ -601,308 +687,286 @@ let (tc_data : (uu___183_1471.FStar_Syntax_Syntax.sigattrs) }), g)))))))))))) | uu____1475 -> failwith "impossible" + let (generalize_and_inst_within : FStar_TypeChecker_Env.env_t -> - FStar_TypeChecker_Env.guard_t -> - (FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.universe) Prims.list - -> - FStar_Syntax_Syntax.sigelt Prims.list -> - (FStar_Syntax_Syntax.sigelt Prims.list * FStar_Syntax_Syntax.sigelt - Prims.list)) + (FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.universe) Prims.list -> + FStar_Syntax_Syntax.sigelt Prims.list -> + (FStar_Syntax_Syntax.sigelt Prims.list * FStar_Syntax_Syntax.sigelt + Prims.list)) = - fun env -> - fun g -> - fun tcs -> - fun datas -> - let tc_universe_vars = - FStar_List.map FStar_Pervasives_Native.snd tcs in - let g1 = - let uu___191_1542 = g in - { - FStar_TypeChecker_Env.guard_f = - (uu___191_1542.FStar_TypeChecker_Env.guard_f); - FStar_TypeChecker_Env.deferred = - (uu___191_1542.FStar_TypeChecker_Env.deferred); - FStar_TypeChecker_Env.univ_ineqs = - (tc_universe_vars, - (FStar_Pervasives_Native.snd - g.FStar_TypeChecker_Env.univ_ineqs)); - FStar_TypeChecker_Env.implicits = - (uu___191_1542.FStar_TypeChecker_Env.implicits) - } in - (let uu____1552 = - FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "GenUniverses") in - if uu____1552 - then - let uu____1557 = FStar_TypeChecker_Rel.guard_to_string env g1 in - FStar_Util.print1 "@@@@@@Guard before generalization: %s\n" - uu____1557 - else ()); - FStar_TypeChecker_Rel.force_trivial_guard env g1; - (let binders = - FStar_All.pipe_right tcs - (FStar_List.map - (fun uu____1600 -> - match uu____1600 with - | (se, uu____1606) -> - (match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_inductive_typ - (uu____1607, uu____1608, tps, k, uu____1611, - uu____1612) - -> - let uu____1621 = - let uu____1622 = - FStar_Syntax_Syntax.mk_Total k in - FStar_All.pipe_left - (FStar_Syntax_Util.arrow tps) uu____1622 in - FStar_Syntax_Syntax.null_binder uu____1621 - | uu____1627 -> failwith "Impossible"))) in - let binders' = - FStar_All.pipe_right datas - (FStar_List.map - (fun se -> - match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_datacon - (uu____1656, uu____1657, t, uu____1659, uu____1660, - uu____1661) - -> FStar_Syntax_Syntax.null_binder t - | uu____1668 -> failwith "Impossible")) in - let t = - let uu____1673 = - FStar_Syntax_Syntax.mk_Total FStar_Syntax_Syntax.t_unit in - FStar_Syntax_Util.arrow (FStar_List.append binders binders') - uu____1673 in - (let uu____1683 = - FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "GenUniverses") in - if uu____1683 - then - let uu____1688 = - FStar_TypeChecker_Normalize.term_to_string env t in - FStar_Util.print1 - "@@@@@@Trying to generalize universes in %s\n" uu____1688 - else ()); - (let uu____1693 = - FStar_TypeChecker_Util.generalize_universes env t in - match uu____1693 with - | (uvs, t1) -> - ((let uu____1713 = - FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "GenUniverses") in - if uu____1713 - then - let uu____1718 = - let uu____1720 = - FStar_All.pipe_right uvs - (FStar_List.map (fun u -> u.FStar_Ident.idText)) in - FStar_All.pipe_right uu____1720 - (FStar_String.concat ", ") in - let uu____1737 = FStar_Syntax_Print.term_to_string t1 in - FStar_Util.print2 "@@@@@@Generalized to (%s, %s)\n" - uu____1718 uu____1737 - else ()); - (let uu____1742 = FStar_Syntax_Subst.open_univ_vars uvs t1 in - match uu____1742 with - | (uvs1, t2) -> - let uu____1757 = FStar_Syntax_Util.arrow_formals t2 in - (match uu____1757 with - | (args, uu____1781) -> - let uu____1802 = - FStar_Util.first_N (FStar_List.length binders) - args in - (match uu____1802 with - | (tc_types, data_types) -> - let tcs1 = - FStar_List.map2 - (fun uu____1907 -> - fun uu____1908 -> - match (uu____1907, uu____1908) with - | ((x, uu____1930), - (se, uu____1932)) -> - (match se.FStar_Syntax_Syntax.sigel - with - | FStar_Syntax_Syntax.Sig_inductive_typ - (tc, uu____1948, tps, - uu____1950, mutuals, - datas1) - -> - let ty = - FStar_Syntax_Subst.close_univ_vars - uvs1 - x.FStar_Syntax_Syntax.sort in - let uu____1962 = - let uu____1967 = - let uu____1968 = - FStar_Syntax_Subst.compress - ty in - uu____1968.FStar_Syntax_Syntax.n in - match uu____1967 with - | FStar_Syntax_Syntax.Tm_arrow - (binders1, c) -> - let uu____1997 = - FStar_Util.first_N - (FStar_List.length - tps) binders1 in - (match uu____1997 - with - | (tps1, rest) -> - let t3 = - match rest - with - | [] -> - FStar_Syntax_Util.comp_result - c - | uu____2075 - -> - FStar_Syntax_Syntax.mk - (FStar_Syntax_Syntax.Tm_arrow + fun env -> + fun tcs -> + fun datas -> + let binders = + FStar_All.pipe_right tcs + (FStar_List.map + (fun uu____1566 -> + match uu____1566 with + | (se,uu____1572) -> + (match se.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_inductive_typ + (uu____1573,uu____1574,tps,k,uu____1577,uu____1578) + -> + let uu____1587 = + let uu____1588 = FStar_Syntax_Syntax.mk_Total k + in + FStar_All.pipe_left + (FStar_Syntax_Util.arrow tps) uu____1588 + in + FStar_Syntax_Syntax.null_binder uu____1587 + | uu____1593 -> failwith "Impossible"))) + in + let binders' = + FStar_All.pipe_right datas + (FStar_List.map + (fun se -> + match se.FStar_Syntax_Syntax.sigel with + | FStar_Syntax_Syntax.Sig_datacon + (uu____1622,uu____1623,t,uu____1625,uu____1626,uu____1627) + -> FStar_Syntax_Syntax.null_binder t + | uu____1634 -> failwith "Impossible")) + in + let t = + let uu____1639 = + FStar_Syntax_Syntax.mk_Total FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Util.arrow (FStar_List.append binders binders') + uu____1639 + in + (let uu____1649 = + FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) + (FStar_Options.Other "GenUniverses") + in + if uu____1649 + then + let uu____1654 = FStar_TypeChecker_Normalize.term_to_string env t + in + FStar_Util.print1 "@@@@@@Trying to generalize universes in %s\n" + uu____1654 + else ()); + (let uu____1659 = FStar_TypeChecker_Util.generalize_universes env t + in + match uu____1659 with + | (uvs,t1) -> + ((let uu____1679 = + FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) + (FStar_Options.Other "GenUniverses") + in + if uu____1679 + then + let uu____1684 = + let uu____1686 = + FStar_All.pipe_right uvs + (FStar_List.map (fun u -> u.FStar_Ident.idText)) + in + FStar_All.pipe_right uu____1686 (FStar_String.concat ", ") + in + let uu____1703 = FStar_Syntax_Print.term_to_string t1 in + FStar_Util.print2 "@@@@@@Generalized to (%s, %s)\n" + uu____1684 uu____1703 + else ()); + (let uu____1708 = FStar_Syntax_Subst.open_univ_vars uvs t1 in + match uu____1708 with + | (uvs1,t2) -> + let uu____1723 = FStar_Syntax_Util.arrow_formals t2 in + (match uu____1723 with + | (args,uu____1747) -> + let uu____1768 = + FStar_Util.first_N (FStar_List.length binders) args + in + (match uu____1768 with + | (tc_types,data_types) -> + let tcs1 = + FStar_List.map2 + (fun uu____1873 -> + fun uu____1874 -> + match (uu____1873, uu____1874) with + | ((x,uu____1896),(se,uu____1898)) -> + (match se.FStar_Syntax_Syntax.sigel + with + | FStar_Syntax_Syntax.Sig_inductive_typ + (tc,uu____1914,tps,uu____1916,mutuals,datas1) + -> + let ty = + FStar_Syntax_Subst.close_univ_vars + uvs1 + x.FStar_Syntax_Syntax.sort + in + let uu____1928 = + let uu____1933 = + let uu____1934 = + FStar_Syntax_Subst.compress + ty + in + uu____1934.FStar_Syntax_Syntax.n + in + match uu____1933 with + | FStar_Syntax_Syntax.Tm_arrow + (binders1,c) -> + let uu____1963 = + FStar_Util.first_N + (FStar_List.length + tps) binders1 + in + (match uu____1963 with + | (tps1,rest) -> + let t3 = + match rest with + | [] -> + FStar_Syntax_Util.comp_result + c + | uu____2041 -> + FStar_Syntax_Syntax.mk + (FStar_Syntax_Syntax.Tm_arrow (rest, c)) - FStar_Pervasives_Native.None - (x.FStar_Syntax_Syntax.sort).FStar_Syntax_Syntax.pos in - (tps1, t3)) - | uu____2094 -> ([], ty) in - (match uu____1962 with - | (tps1, t3) -> - let uu___268_2103 = se in - { - FStar_Syntax_Syntax.sigel - = - (FStar_Syntax_Syntax.Sig_inductive_typ - (tc, uvs1, - tps1, t3, - mutuals, - datas1)); - FStar_Syntax_Syntax.sigrng - = - (uu___268_2103.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals - = - (uu___268_2103.FStar_Syntax_Syntax.sigquals); - FStar_Syntax_Syntax.sigmeta - = - (uu___268_2103.FStar_Syntax_Syntax.sigmeta); - FStar_Syntax_Syntax.sigattrs - = - (uu___268_2103.FStar_Syntax_Syntax.sigattrs) - }) - | uu____2108 -> - failwith "Impossible")) - tc_types tcs in - let datas1 = - match uvs1 with - | [] -> datas - | uu____2115 -> - let uvs_universes = - FStar_All.pipe_right uvs1 - (FStar_List.map - (fun _2119 -> - FStar_Syntax_Syntax.U_name - _2119)) in - let tc_insts = - FStar_All.pipe_right tcs1 - (FStar_List.map - (fun uu___0_2138 -> - match uu___0_2138 with - | { - FStar_Syntax_Syntax.sigel - = - FStar_Syntax_Syntax.Sig_inductive_typ - (tc, uu____2144, - uu____2145, - uu____2146, - uu____2147, - uu____2148); - FStar_Syntax_Syntax.sigrng - = uu____2149; - FStar_Syntax_Syntax.sigquals - = uu____2150; - FStar_Syntax_Syntax.sigmeta - = uu____2151; - FStar_Syntax_Syntax.sigattrs - = uu____2152;_} - -> (tc, uvs_universes) - | uu____2165 -> - failwith "Impossible")) in - FStar_List.map2 - (fun uu____2189 -> - fun d -> - match uu____2189 with - | (t3, uu____2198) -> - (match d.FStar_Syntax_Syntax.sigel - with - | FStar_Syntax_Syntax.Sig_datacon - (l, uu____2204, - uu____2205, tc, ntps, - mutuals) - -> - let ty = - let uu____2216 = - FStar_Syntax_InstFV.instantiate - tc_insts - t3.FStar_Syntax_Syntax.sort in - FStar_All.pipe_right - uu____2216 - (FStar_Syntax_Subst.close_univ_vars - uvs1) in - let uu___304_2217 = d in - { - FStar_Syntax_Syntax.sigel - = - (FStar_Syntax_Syntax.Sig_datacon - (l, uvs1, ty, - tc, ntps, - mutuals)); - FStar_Syntax_Syntax.sigrng - = - (uu___304_2217.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals - = - (uu___304_2217.FStar_Syntax_Syntax.sigquals); - FStar_Syntax_Syntax.sigmeta - = - (uu___304_2217.FStar_Syntax_Syntax.sigmeta); - FStar_Syntax_Syntax.sigattrs - = - (uu___304_2217.FStar_Syntax_Syntax.sigattrs) - } - | uu____2221 -> - failwith "Impossible")) - data_types datas in - (tcs1, datas1))))))) + FStar_Pervasives_Native.None + (x.FStar_Syntax_Syntax.sort).FStar_Syntax_Syntax.pos + in + (tps1, t3)) + | uu____2060 -> ([], ty) in + (match uu____1928 with + | (tps1,t3) -> + let uu___260_2069 = se + in + { + FStar_Syntax_Syntax.sigel + = + (FStar_Syntax_Syntax.Sig_inductive_typ + (tc, uvs1, tps1, + t3, mutuals, + datas1)); + FStar_Syntax_Syntax.sigrng + = + (uu___260_2069.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals + = + (uu___260_2069.FStar_Syntax_Syntax.sigquals); + FStar_Syntax_Syntax.sigmeta + = + (uu___260_2069.FStar_Syntax_Syntax.sigmeta); + FStar_Syntax_Syntax.sigattrs + = + (uu___260_2069.FStar_Syntax_Syntax.sigattrs) + }) + | uu____2074 -> + failwith "Impossible")) + tc_types tcs + in + let datas1 = + match uvs1 with + | [] -> datas + | uu____2081 -> + let uvs_universes = + FStar_All.pipe_right uvs1 + (FStar_List.map + (fun _2085 -> + FStar_Syntax_Syntax.U_name _2085)) + in + let tc_insts = + FStar_All.pipe_right tcs1 + (FStar_List.map + (fun uu___0_2104 -> + match uu___0_2104 with + | { + FStar_Syntax_Syntax.sigel = + FStar_Syntax_Syntax.Sig_inductive_typ + (tc,uu____2110,uu____2111,uu____2112,uu____2113,uu____2114); + FStar_Syntax_Syntax.sigrng = + uu____2115; + FStar_Syntax_Syntax.sigquals + = uu____2116; + FStar_Syntax_Syntax.sigmeta + = uu____2117; + FStar_Syntax_Syntax.sigattrs + = uu____2118;_} + -> (tc, uvs_universes) + | uu____2131 -> + failwith "Impossible")) + in + FStar_List.map2 + (fun uu____2155 -> + fun d -> + match uu____2155 with + | (t3,uu____2164) -> + (match d.FStar_Syntax_Syntax.sigel + with + | FStar_Syntax_Syntax.Sig_datacon + (l,uu____2170,uu____2171,tc,ntps,mutuals) + -> + let ty = + let uu____2182 = + FStar_Syntax_InstFV.instantiate + tc_insts + t3.FStar_Syntax_Syntax.sort + in + FStar_All.pipe_right + uu____2182 + (FStar_Syntax_Subst.close_univ_vars + uvs1) + in + let uu___296_2183 = d in + { + FStar_Syntax_Syntax.sigel + = + (FStar_Syntax_Syntax.Sig_datacon + (l, uvs1, ty, tc, + ntps, mutuals)); + FStar_Syntax_Syntax.sigrng + = + (uu___296_2183.FStar_Syntax_Syntax.sigrng); + FStar_Syntax_Syntax.sigquals + = + (uu___296_2183.FStar_Syntax_Syntax.sigquals); + FStar_Syntax_Syntax.sigmeta + = + (uu___296_2183.FStar_Syntax_Syntax.sigmeta); + FStar_Syntax_Syntax.sigattrs + = + (uu___296_2183.FStar_Syntax_Syntax.sigattrs) + } + | uu____2187 -> + failwith "Impossible")) + data_types datas + in + (tcs1, datas1)))))) + let (debug_log : FStar_TypeChecker_Env.env_t -> Prims.string -> unit) = - fun env -> - fun s -> - let uu____2240 = + fun env -> + fun s -> + let uu____2206 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Positivity") in - if uu____2240 + (FStar_Options.Other "Positivity") + in + if uu____2206 then FStar_Util.print_string (Prims.op_Hat "Positivity::" (Prims.op_Hat s "\n")) else () + let (ty_occurs_in : FStar_Ident.lident -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun ty_lid -> - fun t -> - let uu____2262 = FStar_Syntax_Free.fvars t in - FStar_Util.set_mem ty_lid uu____2262 + fun ty_lid -> + fun t -> + let uu____2228 = FStar_Syntax_Free.fvars t in + FStar_Util.set_mem ty_lid uu____2228 + let (try_get_fv : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.fv * FStar_Syntax_Syntax.universes)) = - fun t -> - let uu____2279 = - let uu____2280 = FStar_Syntax_Subst.compress t in - uu____2280.FStar_Syntax_Syntax.n in - match uu____2279 with + fun t -> + let uu____2245 = + let uu____2246 = FStar_Syntax_Subst.compress t in + uu____2246.FStar_Syntax_Syntax.n in + match uu____2245 with | FStar_Syntax_Syntax.Tm_fvar fv -> (fv, []) - | FStar_Syntax_Syntax.Tm_uinst (t1, us) -> + | FStar_Syntax_Syntax.Tm_uinst (t1,us) -> (match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> (fv, us) - | uu____2299 -> + | uu____2265 -> failwith "Node is a Tm_uinst, but Tm_uinst is not an fvar") - | uu____2305 -> failwith "Node is not an fvar or a Tm_uinst" + | uu____2271 -> failwith "Node is not an fvar or a Tm_uinst" + type unfolded_memo_elt = (FStar_Ident.lident * FStar_Syntax_Syntax.args) Prims.list type unfolded_memo_t = unfolded_memo_elt FStar_ST.ref @@ -911,42 +975,44 @@ let (already_unfolded : FStar_Syntax_Syntax.args -> unfolded_memo_t -> FStar_TypeChecker_Env.env_t -> Prims.bool) = - fun ilid -> - fun arrghs -> - fun unfolded -> - fun env -> - let uu____2342 = FStar_ST.op_Bang unfolded in + fun ilid -> + fun arrghs -> + fun unfolded -> + fun env -> + let uu____2308 = FStar_ST.op_Bang unfolded in FStar_List.existsML - (fun uu____2391 -> - match uu____2391 with - | (lid, l) -> + (fun uu____2357 -> + match uu____2357 with + | (lid,l) -> (FStar_Ident.lid_equals lid ilid) && (let args = - let uu____2435 = - FStar_List.splitAt (FStar_List.length l) arrghs in - FStar_Pervasives_Native.fst uu____2435 in + let uu____2401 = + FStar_List.splitAt (FStar_List.length l) arrghs in + FStar_Pervasives_Native.fst uu____2401 in FStar_List.fold_left2 - (fun b -> - fun a -> - fun a' -> + (fun b -> + fun a -> + fun a' -> b && (FStar_TypeChecker_Rel.teq_nosmt_force env (FStar_Pervasives_Native.fst a) (FStar_Pervasives_Native.fst a'))) true - args l)) uu____2342 + args l)) uu____2308 + let rec (ty_strictly_positive_in_type : FStar_Ident.lident -> FStar_Syntax_Syntax.term -> unfolded_memo_t -> FStar_TypeChecker_Env.env_t -> Prims.bool) = - fun ty_lid -> - fun btype -> - fun unfolded -> - fun env -> - (let uu____2640 = - let uu____2642 = FStar_Syntax_Print.term_to_string btype in - Prims.op_Hat "Checking strict positivity in type: " uu____2642 in - debug_log env uu____2640); + fun ty_lid -> + fun btype -> + fun unfolded -> + fun env -> + (let uu____2606 = + let uu____2608 = FStar_Syntax_Print.term_to_string btype in + Prims.op_Hat "Checking strict positivity in type: " uu____2608 + in + debug_log env uu____2606); (let btype1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; @@ -955,59 +1021,68 @@ let rec (ty_strictly_positive_in_type : FStar_Syntax_Syntax.delta_constant; FStar_TypeChecker_Env.Iota; FStar_TypeChecker_Env.Zeta; - FStar_TypeChecker_Env.AllowUnboundUniverses] env btype in - (let uu____2647 = - let uu____2649 = FStar_Syntax_Print.term_to_string btype1 in + FStar_TypeChecker_Env.AllowUnboundUniverses] env btype + in + (let uu____2613 = + let uu____2615 = FStar_Syntax_Print.term_to_string btype1 in Prims.op_Hat "Checking strict positivity in type, after normalization: " - uu____2649 in - debug_log env uu____2647); - (let uu____2654 = ty_occurs_in ty_lid btype1 in - Prims.op_Negation uu____2654) || + uu____2615 + in + debug_log env uu____2613); + (let uu____2620 = ty_occurs_in ty_lid btype1 in + Prims.op_Negation uu____2620) || ((debug_log env "ty does occur in this type, pressing ahead"; - (let uu____2667 = - let uu____2668 = FStar_Syntax_Subst.compress btype1 in - uu____2668.FStar_Syntax_Syntax.n in - match uu____2667 with - | FStar_Syntax_Syntax.Tm_app (t, args) -> - let uu____2698 = try_get_fv t in - (match uu____2698 with - | (fv, us) -> - let uu____2706 = + (let uu____2633 = + let uu____2634 = FStar_Syntax_Subst.compress btype1 in + uu____2634.FStar_Syntax_Syntax.n in + match uu____2633 with + | FStar_Syntax_Syntax.Tm_app (t,args) -> + let uu____2664 = try_get_fv t in + (match uu____2664 with + | (fv,us) -> + let uu____2672 = FStar_Ident.lid_equals (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - ty_lid in - if uu____2706 + ty_lid + in + if uu____2672 then (debug_log env "Checking strict positivity in the Tm_app node where head lid is ty itself, checking that ty does not occur in the arguments"; FStar_List.for_all - (fun uu____2722 -> - match uu____2722 with - | (t1, uu____2731) -> - let uu____2736 = ty_occurs_in ty_lid t1 in - Prims.op_Negation uu____2736) args) + (fun uu____2688 -> + match uu____2688 with + | (t1,uu____2697) -> + let uu____2702 = ty_occurs_in ty_lid t1 + in + Prims.op_Negation uu____2702) args) else (debug_log env "Checking strict positivity in the Tm_app node, head lid is not ty, so checking nested positivity"; ty_nested_positive_in_inductive ty_lid (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v us args unfolded env)) - | FStar_Syntax_Syntax.Tm_arrow (sbs, c) -> + | FStar_Syntax_Syntax.Tm_arrow (sbs,c) -> (debug_log env "Checking strict positivity in Tm_arrow"; (let check_comp1 = let c1 = - let uu____2771 = - FStar_TypeChecker_Env.unfold_effect_abbrev env c in - FStar_All.pipe_right uu____2771 - FStar_Syntax_Syntax.mk_Comp in + let uu____2737 = + FStar_TypeChecker_Env.unfold_effect_abbrev env c + in + FStar_All.pipe_right uu____2737 + FStar_Syntax_Syntax.mk_Comp + in (FStar_Syntax_Util.is_pure_or_ghost_comp c1) || - (let uu____2775 = + (let uu____2741 = FStar_TypeChecker_Env.lookup_effect_quals env - (FStar_Syntax_Util.comp_effect_name c1) in - FStar_All.pipe_right uu____2775 + (FStar_Syntax_Util.comp_effect_name c1) + in + FStar_All.pipe_right uu____2741 (FStar_List.existsb - (fun q -> q = FStar_Syntax_Syntax.TotalEffect))) in + (fun q -> + q = FStar_Syntax_Syntax.TotalEffect))) + in if Prims.op_Negation check_comp1 then (debug_log env @@ -1017,81 +1092,88 @@ let rec (ty_strictly_positive_in_type : (debug_log env "Checking struict positivity, Pure arrow, checking that ty does not occur in the binders, and that it is strictly positive in the return type"; (FStar_List.for_all - (fun uu____2802 -> - match uu____2802 with - | (b, uu____2811) -> - let uu____2816 = + (fun uu____2768 -> + match uu____2768 with + | (b,uu____2777) -> + let uu____2782 = ty_occurs_in ty_lid - b.FStar_Syntax_Syntax.sort in - Prims.op_Negation uu____2816) sbs) + b.FStar_Syntax_Syntax.sort + in + Prims.op_Negation uu____2782) sbs) && - ((let uu____2822 = + ((let uu____2788 = FStar_Syntax_Subst.open_term sbs - (FStar_Syntax_Util.comp_result c) in - match uu____2822 with - | (uu____2828, return_type) -> - let uu____2830 = - FStar_TypeChecker_Env.push_binders env sbs in + (FStar_Syntax_Util.comp_result c) + in + match uu____2788 with + | (uu____2794,return_type) -> + let uu____2796 = + FStar_TypeChecker_Env.push_binders env sbs + in ty_strictly_positive_in_type ty_lid - return_type unfolded uu____2830))))) - | FStar_Syntax_Syntax.Tm_fvar uu____2831 -> + return_type unfolded uu____2796))))) + | FStar_Syntax_Syntax.Tm_fvar uu____2797 -> (debug_log env "Checking strict positivity in an fvar, return true"; true) - | FStar_Syntax_Syntax.Tm_type uu____2835 -> + | FStar_Syntax_Syntax.Tm_type uu____2801 -> (debug_log env "Checking strict positivity in an Tm_type, return true"; true) - | FStar_Syntax_Syntax.Tm_uinst (t, uu____2840) -> + | FStar_Syntax_Syntax.Tm_uinst (t,uu____2806) -> (debug_log env "Checking strict positivity in an Tm_uinst, recur on the term inside (mostly it should be the same inductive)"; ty_strictly_positive_in_type ty_lid t unfolded env) - | FStar_Syntax_Syntax.Tm_refine (bv, uu____2848) -> + | FStar_Syntax_Syntax.Tm_refine (bv,uu____2814) -> (debug_log env "Checking strict positivity in an Tm_refine, recur in the bv sort)"; ty_strictly_positive_in_type ty_lid bv.FStar_Syntax_Syntax.sort unfolded env) - | FStar_Syntax_Syntax.Tm_match (uu____2855, branches) -> + | FStar_Syntax_Syntax.Tm_match (uu____2821,branches) -> (debug_log env "Checking strict positivity in an Tm_match, recur in the branches)"; FStar_List.for_all - (fun uu____2914 -> - match uu____2914 with - | (p, uu____2927, t) -> + (fun uu____2880 -> + match uu____2880 with + | (p,uu____2893,t) -> let bs = - let uu____2946 = - FStar_Syntax_Syntax.pat_bvs p in + let uu____2912 = + FStar_Syntax_Syntax.pat_bvs p in FStar_List.map FStar_Syntax_Syntax.mk_binder - uu____2946 in - let uu____2955 = - FStar_Syntax_Subst.open_term bs t in - (match uu____2955 with - | (bs1, t1) -> - let uu____2963 = + uu____2912 + in + let uu____2921 = + FStar_Syntax_Subst.open_term bs t in + (match uu____2921 with + | (bs1,t1) -> + let uu____2929 = FStar_TypeChecker_Env.push_binders env - bs1 in + bs1 + in ty_strictly_positive_in_type ty_lid t1 - unfolded uu____2963)) branches) - | FStar_Syntax_Syntax.Tm_ascribed (t, uu____2965, uu____2966) + unfolded uu____2929)) branches) + | FStar_Syntax_Syntax.Tm_ascribed (t,uu____2931,uu____2932) -> (debug_log env "Checking strict positivity in an Tm_ascribed, recur)"; ty_strictly_positive_in_type ty_lid t unfolded env) - | uu____3009 -> - ((let uu____3011 = - let uu____3013 = - let uu____3015 = - FStar_Syntax_Print.tag_of_term btype1 in - let uu____3017 = - let uu____3019 = - FStar_Syntax_Print.term_to_string btype1 in - Prims.op_Hat " and term: " uu____3019 in - Prims.op_Hat uu____3015 uu____3017 in + | uu____2975 -> + ((let uu____2977 = + let uu____2979 = + let uu____2981 = + FStar_Syntax_Print.tag_of_term btype1 in + let uu____2983 = + let uu____2985 = + FStar_Syntax_Print.term_to_string btype1 in + Prims.op_Hat " and term: " uu____2985 in + Prims.op_Hat uu____2981 uu____2983 in Prims.op_Hat "Checking strict positivity, unexpected tag: " - uu____3013 in - debug_log env uu____3011); + uu____2979 + in + debug_log env uu____2977); false))))) + and (ty_nested_positive_in_inductive : FStar_Ident.lident -> FStar_Ident.lident -> @@ -1099,87 +1181,97 @@ and (ty_nested_positive_in_inductive : FStar_Syntax_Syntax.args -> unfolded_memo_t -> FStar_TypeChecker_Env.env_t -> Prims.bool) = - fun ty_lid -> - fun ilid -> - fun us -> - fun args -> - fun unfolded -> - fun env -> - (let uu____3032 = - let uu____3034 = - let uu____3036 = - let uu____3038 = FStar_Syntax_Print.args_to_string args in - Prims.op_Hat " applied to arguments: " uu____3038 in - Prims.op_Hat ilid.FStar_Ident.str uu____3036 in + fun ty_lid -> + fun ilid -> + fun us -> + fun args -> + fun unfolded -> + fun env -> + (let uu____2998 = + let uu____3000 = + let uu____3002 = + let uu____3004 = FStar_Syntax_Print.args_to_string args + in + Prims.op_Hat " applied to arguments: " uu____3004 in + Prims.op_Hat ilid.FStar_Ident.str uu____3002 in Prims.op_Hat "Checking nested positivity in the inductive " - uu____3034 in - debug_log env uu____3032); - (let uu____3042 = - FStar_TypeChecker_Env.datacons_of_typ env ilid in - match uu____3042 with - | (b, idatas) -> + uu____3000 + in + debug_log env uu____2998); + (let uu____3008 = + FStar_TypeChecker_Env.datacons_of_typ env ilid in + match uu____3008 with + | (b,idatas) -> if Prims.op_Negation b then - let uu____3061 = - let uu____3063 = + let uu____3027 = + let uu____3029 = FStar_Syntax_Syntax.lid_as_fv ilid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - FStar_TypeChecker_Env.fv_has_attr env uu____3063 - FStar_Parser_Const.assume_strictly_positive_attr_lid in - (if uu____3061 + FStar_Pervasives_Native.None + in + FStar_TypeChecker_Env.fv_has_attr env uu____3029 + FStar_Parser_Const.assume_strictly_positive_attr_lid + in + (if uu____3027 then - ((let uu____3067 = - let uu____3069 = FStar_Ident.string_of_lid ilid in + ((let uu____3033 = + let uu____3035 = FStar_Ident.string_of_lid ilid + in FStar_Util.format1 "Checking nested positivity, special case decorated with `assume_strictly_positive` %s; return true" - uu____3069 in - debug_log env uu____3067); + uu____3035 + in + debug_log env uu____3033); true) else (debug_log env "Checking nested positivity, not an inductive, return false"; false)) else - (let uu____3080 = - already_unfolded ilid args unfolded env in - if uu____3080 + (let uu____3046 = + already_unfolded ilid args unfolded env in + if uu____3046 then (debug_log env "Checking nested positivity, we have already unfolded this inductive with these args"; true) else (let num_ibs = - let uu____3091 = + let uu____3057 = FStar_TypeChecker_Env.num_inductive_ty_params - env ilid in - FStar_Option.get uu____3091 in - (let uu____3097 = - let uu____3099 = - let uu____3101 = - FStar_Util.string_of_int num_ibs in - Prims.op_Hat uu____3101 - ", also adding to the memo table" in + env ilid + in + FStar_Option.get uu____3057 in + (let uu____3063 = + let uu____3065 = + let uu____3067 = + FStar_Util.string_of_int num_ibs in + Prims.op_Hat uu____3067 + ", also adding to the memo table" + in Prims.op_Hat "Checking nested positivity, number of type parameters is " - uu____3099 in - debug_log env uu____3097); - (let uu____3106 = - let uu____3107 = FStar_ST.op_Bang unfolded in - let uu____3133 = - let uu____3140 = - let uu____3145 = - let uu____3146 = - FStar_List.splitAt num_ibs args in - FStar_Pervasives_Native.fst uu____3146 in - (ilid, uu____3145) in - [uu____3140] in - FStar_List.append uu____3107 uu____3133 in - FStar_ST.op_Colon_Equals unfolded uu____3106); + uu____3065 + in + debug_log env uu____3063); + (let uu____3072 = + let uu____3073 = FStar_ST.op_Bang unfolded in + let uu____3099 = + let uu____3106 = + let uu____3111 = + let uu____3112 = + FStar_List.splitAt num_ibs args in + FStar_Pervasives_Native.fst uu____3112 in + (ilid, uu____3111) in + [uu____3106] in + FStar_List.append uu____3073 uu____3099 in + FStar_ST.op_Colon_Equals unfolded uu____3072); FStar_List.for_all - (fun d -> + (fun d -> ty_nested_positive_in_dlid ty_lid d ilid us args num_ibs unfolded env) idatas))) + and (ty_nested_positive_in_dlid : FStar_Ident.lident -> FStar_Ident.lident -> @@ -1189,31 +1281,31 @@ and (ty_nested_positive_in_dlid : Prims.int -> unfolded_memo_t -> FStar_TypeChecker_Env.env_t -> Prims.bool) = - fun ty_lid -> - fun dlid -> - fun ilid -> - fun us -> - fun args -> - fun num_ibs -> - fun unfolded -> - fun env -> + fun ty_lid -> + fun dlid -> + fun ilid -> + fun us -> + fun args -> + fun num_ibs -> + fun unfolded -> + fun env -> debug_log env (Prims.op_Hat "Checking nested positivity in data constructor " (Prims.op_Hat dlid.FStar_Ident.str (Prims.op_Hat " of the inductive " ilid.FStar_Ident.str))); - (let uu____3245 = - FStar_TypeChecker_Env.lookup_datacon env dlid in - match uu____3245 with - | (univ_unif_vars, dt) -> + (let uu____3211 = + FStar_TypeChecker_Env.lookup_datacon env dlid in + match uu____3211 with + | (univ_unif_vars,dt) -> (FStar_List.iter2 - (fun u' -> - fun u -> + (fun u' -> + fun u -> match u' with | FStar_Syntax_Syntax.U_unif u'' -> FStar_Syntax_Unionfind.univ_change u'' u - | uu____3268 -> + | uu____3234 -> failwith "Impossible! Expected universe unification variables") univ_unif_vars us; @@ -1226,95 +1318,112 @@ and (ty_nested_positive_in_dlid : FStar_TypeChecker_Env.Iota; FStar_TypeChecker_Env.Zeta; FStar_TypeChecker_Env.AllowUnboundUniverses] env - dt in - (let uu____3272 = - let uu____3274 = - FStar_Syntax_Print.term_to_string dt1 in + dt + in + (let uu____3238 = + let uu____3240 = + FStar_Syntax_Print.term_to_string dt1 in Prims.op_Hat "Checking nested positivity in the data constructor type: " - uu____3274 in - debug_log env uu____3272); - (let uu____3277 = - let uu____3278 = FStar_Syntax_Subst.compress dt1 in - uu____3278.FStar_Syntax_Syntax.n in - match uu____3277 with - | FStar_Syntax_Syntax.Tm_arrow (dbs, c) -> + uu____3240 + in + debug_log env uu____3238); + (let uu____3243 = + let uu____3244 = FStar_Syntax_Subst.compress dt1 + in + uu____3244.FStar_Syntax_Syntax.n in + match uu____3243 with + | FStar_Syntax_Syntax.Tm_arrow (dbs,c) -> (debug_log env "Checked nested positivity in Tm_arrow data constructor type"; - (let uu____3306 = - FStar_List.splitAt num_ibs dbs in - match uu____3306 with - | (ibs, dbs1) -> + (let uu____3272 = + FStar_List.splitAt num_ibs dbs in + match uu____3272 with + | (ibs,dbs1) -> let ibs1 = - FStar_Syntax_Subst.open_binders ibs in + FStar_Syntax_Subst.open_binders ibs in let dbs2 = - let uu____3370 = + let uu____3336 = FStar_Syntax_Subst.opening_of_binders - ibs1 in + ibs1 + in FStar_Syntax_Subst.subst_binders - uu____3370 dbs1 in + uu____3336 dbs1 + in let c1 = - let uu____3374 = + let uu____3340 = FStar_Syntax_Subst.opening_of_binders - ibs1 in + ibs1 + in FStar_Syntax_Subst.subst_comp - uu____3374 c in - let uu____3377 = - FStar_List.splitAt num_ibs args in - (match uu____3377 with - | (args1, uu____3412) -> + uu____3340 c + in + let uu____3343 = + FStar_List.splitAt num_ibs args in + (match uu____3343 with + | (args1,uu____3378) -> let subst1 = FStar_List.fold_left2 - (fun subst1 -> - fun ib -> - fun arg -> + (fun subst1 -> + fun ib -> + fun arg -> FStar_List.append subst1 [FStar_Syntax_Syntax.NT ((FStar_Pervasives_Native.fst ib), (FStar_Pervasives_Native.fst arg))]) [] ibs1 - args1 in + args1 + in let dbs3 = FStar_Syntax_Subst.subst_binders - subst1 dbs2 in + subst1 dbs2 + in let c2 = - let uu____3504 = + let uu____3470 = FStar_Syntax_Subst.shift_subst (FStar_List.length dbs3) - subst1 in + subst1 + in FStar_Syntax_Subst.subst_comp - uu____3504 c1 in - ((let uu____3514 = - let uu____3516 = - let uu____3518 = + uu____3470 c1 + in + ((let uu____3480 = + let uu____3482 = + let uu____3484 = FStar_Syntax_Print.binders_to_string - "; " dbs3 in - let uu____3521 = - let uu____3523 = + "; " dbs3 + in + let uu____3487 = + let uu____3489 = FStar_Syntax_Print.comp_to_string - c2 in + c2 + in Prims.op_Hat ", and c: " - uu____3523 in - Prims.op_Hat uu____3518 - uu____3521 in + uu____3489 + in + Prims.op_Hat uu____3484 + uu____3487 + in Prims.op_Hat "Checking nested positivity in the unfolded data constructor binders as: " - uu____3516 in - debug_log env uu____3514); + uu____3482 + in + debug_log env uu____3480); ty_nested_positive_in_type ty_lid (FStar_Syntax_Syntax.Tm_arrow (dbs3, c2)) ilid num_ibs unfolded env)))) - | uu____3537 -> + | uu____3503 -> (debug_log env "Checking nested positivity in the data constructor type that is not an arrow"; - (let uu____3540 = - let uu____3541 = - FStar_Syntax_Subst.compress dt1 in - uu____3541.FStar_Syntax_Syntax.n in - ty_nested_positive_in_type ty_lid uu____3540 + (let uu____3506 = + let uu____3507 = + FStar_Syntax_Subst.compress dt1 in + uu____3507.FStar_Syntax_Syntax.n in + ty_nested_positive_in_type ty_lid uu____3506 ilid num_ibs unfolded env)))))) + and (ty_nested_positive_in_type : FStar_Ident.lident -> FStar_Syntax_Syntax.term' -> @@ -1322,57 +1431,63 @@ and (ty_nested_positive_in_type : Prims.int -> unfolded_memo_t -> FStar_TypeChecker_Env.env_t -> Prims.bool) = - fun ty_lid -> - fun t -> - fun ilid -> - fun num_ibs -> - fun unfolded -> - fun env -> + fun ty_lid -> + fun t -> + fun ilid -> + fun num_ibs -> + fun unfolded -> + fun env -> match t with - | FStar_Syntax_Syntax.Tm_app (t1, args) -> + | FStar_Syntax_Syntax.Tm_app (t1,args) -> (debug_log env "Checking nested positivity in an Tm_app node, which is expected to be the ilid itself"; - (let uu____3580 = try_get_fv t1 in - match uu____3580 with - | (fv, uu____3587) -> - let uu____3588 = + (let uu____3546 = try_get_fv t1 in + match uu____3546 with + | (fv,uu____3553) -> + let uu____3554 = FStar_Ident.lid_equals (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v - ilid in - if uu____3588 + ilid + in + if uu____3554 then true else failwith "Impossible, expected the type to be ilid")) - | FStar_Syntax_Syntax.Tm_arrow (sbs, c) -> - ((let uu____3620 = - let uu____3622 = - FStar_Syntax_Print.binders_to_string "; " sbs in + | FStar_Syntax_Syntax.Tm_arrow (sbs,c) -> + ((let uu____3586 = + let uu____3588 = + FStar_Syntax_Print.binders_to_string "; " sbs in Prims.op_Hat "Checking nested positivity in an Tm_arrow node, with binders as: " - uu____3622 in - debug_log env uu____3620); - (let sbs1 = FStar_Syntax_Subst.open_binders sbs in - let uu____3627 = + uu____3588 + in + debug_log env uu____3586); + (let sbs1 = FStar_Syntax_Subst.open_binders sbs in + let uu____3593 = FStar_List.fold_left - (fun uu____3648 -> - fun b -> - match uu____3648 with - | (r, env1) -> + (fun uu____3614 -> + fun b -> + match uu____3614 with + | (r,env1) -> if Prims.op_Negation r then (r, env1) else - (let uu____3679 = + (let uu____3645 = ty_strictly_positive_in_type ty_lid (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort - unfolded env1 in - let uu____3683 = + unfolded env1 + in + let uu____3649 = FStar_TypeChecker_Env.push_binders env1 - [b] in - (uu____3679, uu____3683))) (true, env) - sbs1 in - match uu____3627 with | (b, uu____3701) -> b)) - | uu____3704 -> + [b] + in + (uu____3645, uu____3649))) (true, env) + sbs1 + in + match uu____3593 with | (b,uu____3667) -> b)) + | uu____3670 -> failwith "Nested positive check, unhandled case" + let (ty_positive_in_datacon : FStar_Ident.lident -> FStar_Ident.lident -> @@ -1380,157 +1495,176 @@ let (ty_positive_in_datacon : FStar_Syntax_Syntax.universes -> unfolded_memo_t -> FStar_TypeChecker_Env.env -> Prims.bool) = - fun ty_lid -> - fun dlid -> - fun ty_bs -> - fun us -> - fun unfolded -> - fun env -> - let uu____3740 = FStar_TypeChecker_Env.lookup_datacon env dlid in - match uu____3740 with - | (univ_unif_vars, dt) -> + fun ty_lid -> + fun dlid -> + fun ty_bs -> + fun us -> + fun unfolded -> + fun env -> + let uu____3706 = FStar_TypeChecker_Env.lookup_datacon env dlid + in + match uu____3706 with + | (univ_unif_vars,dt) -> (FStar_List.iter2 - (fun u' -> - fun u -> + (fun u' -> + fun u -> match u' with | FStar_Syntax_Syntax.U_unif u'' -> FStar_Syntax_Unionfind.univ_change u'' u - | uu____3763 -> + | uu____3729 -> failwith "Impossible! Expected universe unification variables") univ_unif_vars us; - (let uu____3766 = - let uu____3768 = FStar_Syntax_Print.term_to_string dt in + (let uu____3732 = + let uu____3734 = FStar_Syntax_Print.term_to_string dt + in Prims.op_Hat "Checking data constructor type: " - uu____3768 in - debug_log env uu____3766); - (let uu____3771 = - let uu____3772 = FStar_Syntax_Subst.compress dt in - uu____3772.FStar_Syntax_Syntax.n in - match uu____3771 with - | FStar_Syntax_Syntax.Tm_fvar uu____3776 -> + uu____3734 + in + debug_log env uu____3732); + (let uu____3737 = + let uu____3738 = FStar_Syntax_Subst.compress dt in + uu____3738.FStar_Syntax_Syntax.n in + match uu____3737 with + | FStar_Syntax_Syntax.Tm_fvar uu____3742 -> (debug_log env "Data constructor type is simply an fvar, returning true"; true) - | FStar_Syntax_Syntax.Tm_arrow (dbs, uu____3781) -> + | FStar_Syntax_Syntax.Tm_arrow (dbs,uu____3747) -> let dbs1 = - let uu____3811 = - FStar_List.splitAt (FStar_List.length ty_bs) dbs in - FStar_Pervasives_Native.snd uu____3811 in + let uu____3777 = + FStar_List.splitAt (FStar_List.length ty_bs) dbs + in + FStar_Pervasives_Native.snd uu____3777 in let dbs2 = - let uu____3861 = - FStar_Syntax_Subst.opening_of_binders ty_bs in - FStar_Syntax_Subst.subst_binders uu____3861 dbs1 in - let dbs3 = FStar_Syntax_Subst.open_binders dbs2 in - ((let uu____3866 = - let uu____3868 = - let uu____3870 = + let uu____3827 = + FStar_Syntax_Subst.opening_of_binders ty_bs in + FStar_Syntax_Subst.subst_binders uu____3827 dbs1 + in + let dbs3 = FStar_Syntax_Subst.open_binders dbs2 in + ((let uu____3832 = + let uu____3834 = + let uu____3836 = FStar_Util.string_of_int - (FStar_List.length dbs3) in - Prims.op_Hat uu____3870 " binders" in + (FStar_List.length dbs3) + in + Prims.op_Hat uu____3836 " binders" in Prims.op_Hat "Data constructor type is an arrow type, so checking strict positivity in " - uu____3868 in - debug_log env uu____3866); - (let uu____3880 = + uu____3834 + in + debug_log env uu____3832); + (let uu____3846 = FStar_List.fold_left - (fun uu____3901 -> - fun b -> - match uu____3901 with - | (r, env1) -> + (fun uu____3867 -> + fun b -> + match uu____3867 with + | (r,env1) -> if Prims.op_Negation r then (r, env1) else - (let uu____3932 = + (let uu____3898 = ty_strictly_positive_in_type ty_lid (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort - unfolded env1 in - let uu____3936 = + unfolded env1 + in + let uu____3902 = FStar_TypeChecker_Env.push_binders - env1 [b] in - (uu____3932, uu____3936))) - (true, env) dbs3 in - match uu____3880 with | (b, uu____3954) -> b)) - | FStar_Syntax_Syntax.Tm_app (uu____3957, uu____3958) -> + env1 [b] + in + (uu____3898, uu____3902))) + (true, env) dbs3 + in + match uu____3846 with | (b,uu____3920) -> b)) + | FStar_Syntax_Syntax.Tm_app (uu____3923,uu____3924) -> (debug_log env "Data constructor type is a Tm_app, so returning true"; true) - | FStar_Syntax_Syntax.Tm_uinst (t, univs1) -> + | FStar_Syntax_Syntax.Tm_uinst (t,univs1) -> (debug_log env "Data constructor type is a Tm_uinst, so recursing in the base type"; ty_strictly_positive_in_type ty_lid t unfolded env) - | uu____3994 -> + | uu____3960 -> failwith "Unexpected data constructor type when checking positivity")) + let (check_positivity : FStar_Syntax_Syntax.sigelt -> FStar_TypeChecker_Env.env -> Prims.bool) = - fun ty -> - fun env -> - let unfolded_inductives = FStar_Util.mk_ref [] in - let uu____4017 = + fun ty -> + fun env -> + let unfolded_inductives = FStar_Util.mk_ref [] in + let uu____3983 = match ty.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, us, bs, uu____4033, uu____4034, uu____4035) -> - (lid, us, bs) - | uu____4044 -> failwith "Impossible!" in - match uu____4017 with - | (ty_lid, ty_us, ty_bs) -> - let uu____4056 = FStar_Syntax_Subst.univ_var_opening ty_us in - (match uu____4056 with - | (ty_usubst, ty_us1) -> - let env1 = FStar_TypeChecker_Env.push_univ_vars env ty_us1 in - let env2 = FStar_TypeChecker_Env.push_binders env1 ty_bs in - let ty_bs1 = FStar_Syntax_Subst.subst_binders ty_usubst ty_bs in - let ty_bs2 = FStar_Syntax_Subst.open_binders ty_bs1 in - let uu____4080 = - let uu____4083 = - FStar_TypeChecker_Env.datacons_of_typ env2 ty_lid in - FStar_Pervasives_Native.snd uu____4083 in + (lid,us,bs,uu____3999,uu____4000,uu____4001) -> (lid, us, bs) + | uu____4010 -> failwith "Impossible!" in + match uu____3983 with + | (ty_lid,ty_us,ty_bs) -> + let uu____4022 = FStar_Syntax_Subst.univ_var_opening ty_us in + (match uu____4022 with + | (ty_usubst,ty_us1) -> + let env1 = FStar_TypeChecker_Env.push_univ_vars env ty_us1 in + let env2 = FStar_TypeChecker_Env.push_binders env1 ty_bs in + let ty_bs1 = FStar_Syntax_Subst.subst_binders ty_usubst ty_bs + in + let ty_bs2 = FStar_Syntax_Subst.open_binders ty_bs1 in + let uu____4046 = + let uu____4049 = + FStar_TypeChecker_Env.datacons_of_typ env2 ty_lid in + FStar_Pervasives_Native.snd uu____4049 in FStar_List.for_all - (fun d -> - let uu____4097 = - FStar_List.map (fun s -> FStar_Syntax_Syntax.U_name s) - ty_us1 in - ty_positive_in_datacon ty_lid d ty_bs2 uu____4097 - unfolded_inductives env2) uu____4080) + (fun d -> + let uu____4063 = + FStar_List.map (fun s -> FStar_Syntax_Syntax.U_name s) + ty_us1 + in + ty_positive_in_datacon ty_lid d ty_bs2 uu____4063 + unfolded_inductives env2) uu____4046) + let (check_exn_positivity : FStar_Ident.lid -> FStar_TypeChecker_Env.env -> Prims.bool) = - fun data_ctor_lid -> - fun env -> - let unfolded_inductives = FStar_Util.mk_ref [] in + fun data_ctor_lid -> + fun env -> + let unfolded_inductives = FStar_Util.mk_ref [] in ty_positive_in_datacon FStar_Parser_Const.exn_lid data_ctor_lid [] [] unfolded_inductives env + let (datacon_typ : FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.term) = - fun data -> + fun data -> match data.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (uu____4132, uu____4133, t, uu____4135, uu____4136, uu____4137) -> t - | uu____4144 -> failwith "Impossible!" -let (haseq_suffix : Prims.string) = "__uu___haseq" + (uu____4098,uu____4099,t,uu____4101,uu____4102,uu____4103) -> t + | uu____4110 -> failwith "Impossible!" + +let (haseq_suffix : Prims.string) = "__uu___haseq" let (is_haseq_lid : FStar_Ident.lid -> Prims.bool) = - fun lid -> - let str = lid.FStar_Ident.str in - let len = FStar_String.length str in - let haseq_suffix_len = FStar_String.length haseq_suffix in + fun lid -> + let str = lid.FStar_Ident.str in + let len = FStar_String.length str in + let haseq_suffix_len = FStar_String.length haseq_suffix in (len > haseq_suffix_len) && - (let uu____4161 = - let uu____4163 = + (let uu____4127 = + let uu____4129 = FStar_String.substring str (len - haseq_suffix_len) - haseq_suffix_len in - FStar_String.compare uu____4163 haseq_suffix in - uu____4161 = (Prims.parse_int "0")) + haseq_suffix_len + in + FStar_String.compare uu____4129 haseq_suffix in + uu____4127 = (Prims.parse_int "0")) + let (get_haseq_axiom_lid : FStar_Ident.lid -> FStar_Ident.lid) = - fun lid -> - let uu____4173 = - let uu____4176 = - let uu____4179 = + fun lid -> + let uu____4139 = + let uu____4142 = + let uu____4145 = FStar_Ident.id_of_text (Prims.op_Hat (lid.FStar_Ident.ident).FStar_Ident.idText - haseq_suffix) in - [uu____4179] in - FStar_List.append lid.FStar_Ident.ns uu____4176 in - FStar_Ident.lid_of_ids uu____4173 + haseq_suffix) + in + [uu____4145] in + FStar_List.append lid.FStar_Ident.ns uu____4142 in + FStar_Ident.lid_of_ids uu____4139 + let (get_optimized_haseq_axiom : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt -> @@ -1540,245 +1674,277 @@ let (get_optimized_haseq_axiom : FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.binders * FStar_Syntax_Syntax.term)) = - fun en -> - fun ty -> - fun usubst -> - fun us -> - let uu____4225 = + fun en -> + fun ty -> + fun usubst -> + fun us -> + let uu____4191 = match ty.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uu____4239, bs, t, uu____4242, uu____4243) -> - (lid, bs, t) - | uu____4252 -> failwith "Impossible!" in - match uu____4225 with - | (lid, bs, t) -> - let bs1 = FStar_Syntax_Subst.subst_binders usubst bs in + (lid,uu____4205,bs,t,uu____4208,uu____4209) -> (lid, bs, t) + | uu____4218 -> failwith "Impossible!" in + match uu____4191 with + | (lid,bs,t) -> + let bs1 = FStar_Syntax_Subst.subst_binders usubst bs in let t1 = - let uu____4275 = + let uu____4241 = FStar_Syntax_Subst.shift_subst (FStar_List.length bs1) - usubst in - FStar_Syntax_Subst.subst uu____4275 t in - let uu____4284 = FStar_Syntax_Subst.open_term bs1 t1 in - (match uu____4284 with - | (bs2, t2) -> + usubst + in + FStar_Syntax_Subst.subst uu____4241 t in + let uu____4250 = FStar_Syntax_Subst.open_term bs1 t1 in + (match uu____4250 with + | (bs2,t2) -> let ibs = - let uu____4302 = - let uu____4303 = FStar_Syntax_Subst.compress t2 in - uu____4303.FStar_Syntax_Syntax.n in - match uu____4302 with - | FStar_Syntax_Syntax.Tm_arrow (ibs, uu____4307) -> ibs - | uu____4328 -> [] in - let ibs1 = FStar_Syntax_Subst.open_binders ibs in + let uu____4268 = + let uu____4269 = FStar_Syntax_Subst.compress t2 in + uu____4269.FStar_Syntax_Syntax.n in + match uu____4268 with + | FStar_Syntax_Syntax.Tm_arrow (ibs,uu____4273) -> ibs + | uu____4294 -> [] in + let ibs1 = FStar_Syntax_Subst.open_binders ibs in let ind = - let uu____4337 = + let uu____4303 = FStar_Syntax_Syntax.fvar lid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - let uu____4338 = - FStar_List.map (fun u -> FStar_Syntax_Syntax.U_name u) - us in - FStar_Syntax_Syntax.mk_Tm_uinst uu____4337 uu____4338 in + FStar_Pervasives_Native.None + in + let uu____4304 = + FStar_List.map + (fun u -> FStar_Syntax_Syntax.U_name u) us + in + FStar_Syntax_Syntax.mk_Tm_uinst uu____4303 uu____4304 + in let ind1 = - let uu____4344 = - let uu____4349 = + let uu____4310 = + let uu____4315 = FStar_List.map - (fun uu____4366 -> - match uu____4366 with - | (bv, aq) -> - let uu____4385 = - FStar_Syntax_Syntax.bv_to_name bv in - (uu____4385, aq)) bs2 in - FStar_Syntax_Syntax.mk_Tm_app ind uu____4349 in - uu____4344 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + (fun uu____4332 -> + match uu____4332 with + | (bv,aq) -> + let uu____4351 = + FStar_Syntax_Syntax.bv_to_name bv in + (uu____4351, aq)) bs2 + in + FStar_Syntax_Syntax.mk_Tm_app ind uu____4315 in + uu____4310 FStar_Pervasives_Native.None + FStar_Range.dummyRange + in let ind2 = - let uu____4391 = - let uu____4396 = + let uu____4357 = + let uu____4362 = FStar_List.map - (fun uu____4413 -> - match uu____4413 with - | (bv, aq) -> - let uu____4432 = - FStar_Syntax_Syntax.bv_to_name bv in - (uu____4432, aq)) ibs1 in - FStar_Syntax_Syntax.mk_Tm_app ind1 uu____4396 in - uu____4391 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + (fun uu____4379 -> + match uu____4379 with + | (bv,aq) -> + let uu____4398 = + FStar_Syntax_Syntax.bv_to_name bv in + (uu____4398, aq)) ibs1 + in + FStar_Syntax_Syntax.mk_Tm_app ind1 uu____4362 in + uu____4357 FStar_Pervasives_Native.None + FStar_Range.dummyRange + in let haseq_ind = - let uu____4438 = - let uu____4443 = - let uu____4444 = FStar_Syntax_Syntax.as_arg ind2 in - [uu____4444] in + let uu____4404 = + let uu____4409 = + let uu____4410 = FStar_Syntax_Syntax.as_arg ind2 in + [uu____4410] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Syntax_Util.t_haseq uu____4443 in - uu____4438 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Syntax_Util.t_haseq uu____4409 + in + uu____4404 FStar_Pervasives_Native.None + FStar_Range.dummyRange + in let bs' = FStar_List.filter - (fun b -> - let uu____4493 = - let uu____4494 = FStar_Syntax_Util.type_u () in - FStar_Pervasives_Native.fst uu____4494 in + (fun b -> + let uu____4459 = + let uu____4460 = FStar_Syntax_Util.type_u () in + FStar_Pervasives_Native.fst uu____4460 in FStar_TypeChecker_Rel.subtype_nosmt_force en (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort - uu____4493) bs2 in + uu____4459) bs2 + in let haseq_bs = FStar_List.fold_left - (fun t3 -> - fun b -> - let uu____4507 = - let uu____4510 = - let uu____4515 = - let uu____4516 = - let uu____4525 = + (fun t3 -> + fun b -> + let uu____4473 = + let uu____4476 = + let uu____4481 = + let uu____4482 = + let uu____4491 = FStar_Syntax_Syntax.bv_to_name - (FStar_Pervasives_Native.fst b) in - FStar_Syntax_Syntax.as_arg uu____4525 in - [uu____4516] in + (FStar_Pervasives_Native.fst b) + in + FStar_Syntax_Syntax.as_arg uu____4491 in + [uu____4482] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Syntax_Util.t_haseq uu____4515 in - uu____4510 FStar_Pervasives_Native.None - FStar_Range.dummyRange in - FStar_Syntax_Util.mk_conj t3 uu____4507) - FStar_Syntax_Util.t_true bs' in - let fml = FStar_Syntax_Util.mk_imp haseq_bs haseq_ind in + FStar_Syntax_Util.t_haseq uu____4481 + in + uu____4476 FStar_Pervasives_Native.None + FStar_Range.dummyRange + in + FStar_Syntax_Util.mk_conj t3 uu____4473) + FStar_Syntax_Util.t_true bs' + in + let fml = FStar_Syntax_Util.mk_imp haseq_bs haseq_ind in let fml1 = - let uu___638_4548 = fml in - let uu____4549 = - let uu____4550 = - let uu____4557 = - let uu____4558 = - let uu____4579 = - FStar_Syntax_Syntax.binders_to_names ibs1 in - let uu____4584 = - let uu____4597 = - let uu____4608 = - FStar_Syntax_Syntax.as_arg haseq_ind in - [uu____4608] in - [uu____4597] in - (uu____4579, uu____4584) in - FStar_Syntax_Syntax.Meta_pattern uu____4558 in - (fml, uu____4557) in - FStar_Syntax_Syntax.Tm_meta uu____4550 in + let uu___630_4514 = fml in + let uu____4515 = + let uu____4516 = + let uu____4523 = + let uu____4524 = + let uu____4545 = + FStar_Syntax_Syntax.binders_to_names ibs1 in + let uu____4550 = + let uu____4563 = + let uu____4574 = + FStar_Syntax_Syntax.as_arg haseq_ind in + [uu____4574] in + [uu____4563] in + (uu____4545, uu____4550) in + FStar_Syntax_Syntax.Meta_pattern uu____4524 in + (fml, uu____4523) in + FStar_Syntax_Syntax.Tm_meta uu____4516 in { - FStar_Syntax_Syntax.n = uu____4549; + FStar_Syntax_Syntax.n = uu____4515; FStar_Syntax_Syntax.pos = - (uu___638_4548.FStar_Syntax_Syntax.pos); + (uu___630_4514.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___638_4548.FStar_Syntax_Syntax.vars) - } in + (uu___630_4514.FStar_Syntax_Syntax.vars) + } in let fml2 = FStar_List.fold_right - (fun b -> - fun t3 -> - let uu____4677 = - let uu____4682 = - let uu____4683 = - let uu____4692 = - let uu____4693 = - FStar_Syntax_Subst.close [b] t3 in + (fun b -> + fun t3 -> + let uu____4643 = + let uu____4648 = + let uu____4649 = + let uu____4658 = + let uu____4659 = + FStar_Syntax_Subst.close [b] t3 in FStar_Syntax_Util.abs [((FStar_Pervasives_Native.fst b), FStar_Pervasives_Native.None)] - uu____4693 FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.as_arg uu____4692 in - [uu____4683] in + uu____4659 FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.as_arg uu____4658 in + [uu____4649] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Syntax_Util.tforall uu____4682 in - uu____4677 FStar_Pervasives_Native.None - FStar_Range.dummyRange) ibs1 fml1 in + FStar_Syntax_Util.tforall uu____4648 + in + uu____4643 FStar_Pervasives_Native.None + FStar_Range.dummyRange) ibs1 fml1 + in let fml3 = FStar_List.fold_right - (fun b -> - fun t3 -> - let uu____4746 = - let uu____4751 = - let uu____4752 = - let uu____4761 = - let uu____4762 = - FStar_Syntax_Subst.close [b] t3 in + (fun b -> + fun t3 -> + let uu____4712 = + let uu____4717 = + let uu____4718 = + let uu____4727 = + let uu____4728 = + FStar_Syntax_Subst.close [b] t3 in FStar_Syntax_Util.abs [((FStar_Pervasives_Native.fst b), FStar_Pervasives_Native.None)] - uu____4762 FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.as_arg uu____4761 in - [uu____4752] in + uu____4728 FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.as_arg uu____4727 in + [uu____4718] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Syntax_Util.tforall uu____4751 in - uu____4746 FStar_Pervasives_Native.None - FStar_Range.dummyRange) bs2 fml2 in - let axiom_lid = get_haseq_axiom_lid lid in + FStar_Syntax_Util.tforall uu____4717 + in + uu____4712 FStar_Pervasives_Native.None + FStar_Range.dummyRange) bs2 fml2 + in + let axiom_lid = get_haseq_axiom_lid lid in (axiom_lid, fml3, bs2, ibs1, haseq_bs)) + let (optimized_haseq_soundness_for_data : FStar_Ident.lident -> FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.subst_elt Prims.list -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.term) = - fun ty_lid -> - fun data -> - fun usubst -> - fun bs -> - let dt = datacon_typ data in - let dt1 = FStar_Syntax_Subst.subst usubst dt in - let uu____4837 = - let uu____4838 = FStar_Syntax_Subst.compress dt1 in - uu____4838.FStar_Syntax_Syntax.n in - match uu____4837 with - | FStar_Syntax_Syntax.Tm_arrow (dbs, uu____4842) -> + fun ty_lid -> + fun data -> + fun usubst -> + fun bs -> + let dt = datacon_typ data in + let dt1 = FStar_Syntax_Subst.subst usubst dt in + let uu____4803 = + let uu____4804 = FStar_Syntax_Subst.compress dt1 in + uu____4804.FStar_Syntax_Syntax.n in + match uu____4803 with + | FStar_Syntax_Syntax.Tm_arrow (dbs,uu____4808) -> let dbs1 = - let uu____4872 = - FStar_List.splitAt (FStar_List.length bs) dbs in - FStar_Pervasives_Native.snd uu____4872 in + let uu____4838 = + FStar_List.splitAt (FStar_List.length bs) dbs in + FStar_Pervasives_Native.snd uu____4838 in let dbs2 = - let uu____4922 = FStar_Syntax_Subst.opening_of_binders bs in - FStar_Syntax_Subst.subst_binders uu____4922 dbs1 in - let dbs3 = FStar_Syntax_Subst.open_binders dbs2 in + let uu____4888 = FStar_Syntax_Subst.opening_of_binders bs in + FStar_Syntax_Subst.subst_binders uu____4888 dbs1 in + let dbs3 = FStar_Syntax_Subst.open_binders dbs2 in let cond = FStar_List.fold_left - (fun t -> - fun b -> + (fun t -> + fun b -> let haseq_b = - let uu____4937 = - let uu____4942 = - let uu____4943 = + let uu____4903 = + let uu____4908 = + let uu____4909 = FStar_Syntax_Syntax.as_arg - (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort in - [uu____4943] in + (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort + in + [uu____4909] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Syntax_Util.t_haseq uu____4942 in - uu____4937 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Syntax_Util.t_haseq uu____4908 + in + uu____4903 FStar_Pervasives_Native.None + FStar_Range.dummyRange + in let sort_range = - ((FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort).FStar_Syntax_Syntax.pos in + ((FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort).FStar_Syntax_Syntax.pos + in let haseq_b1 = - let uu____4974 = + let uu____4940 = FStar_Util.format1 "Failed to prove that the type '%s' supports decidable equality because of this argument; add either the 'noeq' or 'unopteq' qualifier" - ty_lid.FStar_Ident.str in - FStar_TypeChecker_Util.label uu____4974 sort_range - haseq_b in + ty_lid.FStar_Ident.str + in + FStar_TypeChecker_Util.label uu____4940 sort_range + haseq_b + in FStar_Syntax_Util.mk_conj t haseq_b1) - FStar_Syntax_Util.t_true dbs3 in + FStar_Syntax_Util.t_true dbs3 + in FStar_List.fold_right - (fun b -> - fun t -> - let uu____4982 = - let uu____4987 = - let uu____4988 = - let uu____4997 = - let uu____4998 = FStar_Syntax_Subst.close [b] t in + (fun b -> + fun t -> + let uu____4948 = + let uu____4953 = + let uu____4954 = + let uu____4963 = + let uu____4964 = FStar_Syntax_Subst.close [b] t + in FStar_Syntax_Util.abs [((FStar_Pervasives_Native.fst b), - FStar_Pervasives_Native.None)] uu____4998 - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.as_arg uu____4997 in - [uu____4988] in + FStar_Pervasives_Native.None)] uu____4964 + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.as_arg uu____4963 in + [uu____4954] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Syntax_Util.tforall uu____4987 in - uu____4982 FStar_Pervasives_Native.None + FStar_Syntax_Util.tforall uu____4953 + in + uu____4948 FStar_Pervasives_Native.None FStar_Range.dummyRange) dbs3 cond - | uu____5045 -> FStar_Syntax_Util.t_true + | uu____5011 -> FStar_Syntax_Util.t_true + let (optimized_haseq_ty : FStar_Syntax_Syntax.sigelts -> FStar_Syntax_Syntax.subst_elt Prims.list -> @@ -1793,125 +1959,138 @@ let (optimized_haseq_ty : FStar_Syntax_Syntax.syntax * FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax)) = - fun all_datas_in_the_bundle -> - fun usubst -> - fun us -> - fun acc -> - fun ty -> + fun all_datas_in_the_bundle -> + fun usubst -> + fun us -> + fun acc -> + fun ty -> let lid = match ty.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uu____5136, uu____5137, uu____5138, uu____5139, - uu____5140) + (lid,uu____5102,uu____5103,uu____5104,uu____5105,uu____5106) -> lid - | uu____5149 -> failwith "Impossible!" in - let uu____5151 = acc in - match uu____5151 with - | (uu____5188, en, uu____5190, uu____5191) -> - let uu____5212 = get_optimized_haseq_axiom en ty usubst us in - (match uu____5212 with - | (axiom_lid, fml, bs, ibs, haseq_bs) -> - let guard = FStar_Syntax_Util.mk_conj haseq_bs fml in - let uu____5249 = acc in - (match uu____5249 with - | (l_axioms, env, guard', cond') -> + | uu____5115 -> failwith "Impossible!" in + let uu____5117 = acc in + match uu____5117 with + | (uu____5154,en,uu____5156,uu____5157) -> + let uu____5178 = get_optimized_haseq_axiom en ty usubst us + in + (match uu____5178 with + | (axiom_lid,fml,bs,ibs,haseq_bs) -> + let guard = FStar_Syntax_Util.mk_conj haseq_bs fml in + let uu____5215 = acc in + (match uu____5215 with + | (l_axioms,env,guard',cond') -> let env1 = - FStar_TypeChecker_Env.push_binders env bs in + FStar_TypeChecker_Env.push_binders env bs in let env2 = - FStar_TypeChecker_Env.push_binders env1 ibs in + FStar_TypeChecker_Env.push_binders env1 ibs in let t_datas = FStar_List.filter - (fun s -> + (fun s -> match s.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (uu____5324, uu____5325, uu____5326, - t_lid, uu____5328, uu____5329) + (uu____5290,uu____5291,uu____5292,t_lid,uu____5294,uu____5295) -> t_lid = lid - | uu____5336 -> failwith "Impossible") - all_datas_in_the_bundle in + | uu____5302 -> failwith "Impossible") + all_datas_in_the_bundle + in let cond = FStar_List.fold_left - (fun acc1 -> - fun d -> - let uu____5351 = + (fun acc1 -> + fun d -> + let uu____5317 = optimized_haseq_soundness_for_data lid d - usubst bs in - FStar_Syntax_Util.mk_conj acc1 uu____5351) - FStar_Syntax_Util.t_true t_datas in - let uu____5354 = - FStar_Syntax_Util.mk_conj guard' guard in - let uu____5357 = - FStar_Syntax_Util.mk_conj cond' cond in + usubst bs + in + FStar_Syntax_Util.mk_conj acc1 uu____5317) + FStar_Syntax_Util.t_true t_datas + in + let uu____5320 = + FStar_Syntax_Util.mk_conj guard' guard in + let uu____5323 = + FStar_Syntax_Util.mk_conj cond' cond in ((FStar_List.append l_axioms [(axiom_lid, fml)]), - env2, uu____5354, uu____5357))) + env2, uu____5320, uu____5323))) + let (optimized_haseq_scheme : FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt Prims.list -> FStar_Syntax_Syntax.sigelt Prims.list -> FStar_TypeChecker_Env.env_t -> FStar_Syntax_Syntax.sigelt Prims.list) = - fun sig_bndle -> - fun tcs -> - fun datas -> - fun env0 -> - let uu____5415 = - let ty = FStar_List.hd tcs in + fun sig_bndle -> + fun tcs -> + fun datas -> + fun env0 -> + let uu____5381 = + let ty = FStar_List.hd tcs in match ty.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (uu____5425, us, uu____5427, t, uu____5429, uu____5430) -> + (uu____5391,us,uu____5393,t,uu____5395,uu____5396) -> (us, t) - | uu____5439 -> failwith "Impossible!" in - match uu____5415 with - | (us, t) -> - let uu____5449 = FStar_Syntax_Subst.univ_var_opening us in - (match uu____5449 with - | (usubst, us1) -> - let env = FStar_TypeChecker_Env.push_sigelt env0 sig_bndle in + | uu____5405 -> failwith "Impossible!" in + match uu____5381 with + | (us,t) -> + let uu____5415 = FStar_Syntax_Subst.univ_var_opening us in + (match uu____5415 with + | (usubst,us1) -> + let env = FStar_TypeChecker_Env.push_sigelt env0 sig_bndle + in ((env.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.push "haseq"; (env.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.encode_sig env sig_bndle; - (let env1 = FStar_TypeChecker_Env.push_univ_vars env us1 in - let uu____5475 = + (let env1 = FStar_TypeChecker_Env.push_univ_vars env us1 + in + let uu____5441 = FStar_List.fold_left (optimized_haseq_ty datas usubst us1) ([], env1, FStar_Syntax_Util.t_true, - FStar_Syntax_Util.t_true) tcs in - match uu____5475 with - | (axioms, env2, guard, cond) -> + FStar_Syntax_Util.t_true) tcs + in + match uu____5441 with + | (axioms,env2,guard,cond) -> let phi = - let uu____5553 = FStar_Syntax_Util.arrow_formals t in - match uu____5553 with - | (uu____5568, t1) -> - let uu____5590 = - FStar_Syntax_Util.is_eqtype_no_unrefine t1 in - if uu____5590 + let uu____5519 = FStar_Syntax_Util.arrow_formals t + in + match uu____5519 with + | (uu____5534,t1) -> + let uu____5556 = + FStar_Syntax_Util.is_eqtype_no_unrefine t1 + in + if uu____5556 then cond - else FStar_Syntax_Util.mk_imp guard cond in - let uu____5595 = - FStar_TypeChecker_TcTerm.tc_trivial_guard env2 phi in - (match uu____5595 with - | (phi1, uu____5603) -> - ((let uu____5605 = - FStar_TypeChecker_Env.should_verify env2 in - if uu____5605 + else FStar_Syntax_Util.mk_imp guard cond + in + let uu____5561 = + FStar_TypeChecker_TcTerm.tc_trivial_guard env2 phi + in + (match uu____5561 with + | (phi1,uu____5569) -> + ((let uu____5571 = + FStar_TypeChecker_Env.should_verify env2 + in + if uu____5571 then - let uu____5608 = + let uu____5574 = FStar_TypeChecker_Env.guard_of_guard_formula (FStar_TypeChecker_Common.NonTrivial - phi1) in + phi1) + in FStar_TypeChecker_Rel.force_trivial_guard - env2 uu____5608 + env2 uu____5574 else ()); (let ses = FStar_List.fold_left - (fun l -> - fun uu____5626 -> - match uu____5626 with - | (lid, fml) -> + (fun l -> + fun uu____5592 -> + match uu____5592 with + | (lid,fml) -> let fml1 = FStar_Syntax_Subst.close_univ_vars - us1 fml in + us1 fml + in FStar_List.append l [{ FStar_Syntax_Syntax.sigel = @@ -1926,10 +2105,12 @@ let (optimized_haseq_scheme : FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - }]) [] axioms in + }]) [] axioms + in (env2.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.pop "haseq"; ses)))))) + let (unoptimized_haseq_data : FStar_Syntax_Syntax.subst_elt Prims.list -> FStar_Syntax_Syntax.binders -> @@ -1939,104 +2120,115 @@ let (unoptimized_haseq_data : FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun usubst -> - fun bs -> - fun haseq_ind -> - fun mutuals -> - fun acc -> - fun data -> + fun usubst -> + fun bs -> + fun haseq_ind -> + fun mutuals -> + fun acc -> + fun data -> let rec is_mutual t = - let uu____5698 = - let uu____5699 = FStar_Syntax_Subst.compress t in - uu____5699.FStar_Syntax_Syntax.n in - match uu____5698 with + let uu____5664 = + let uu____5665 = FStar_Syntax_Subst.compress t in + uu____5665.FStar_Syntax_Syntax.n in + match uu____5664 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_List.existsb - (fun lid -> + (fun lid -> FStar_Ident.lid_equals lid (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) mutuals - | FStar_Syntax_Syntax.Tm_uinst (t', uu____5707) -> + | FStar_Syntax_Syntax.Tm_uinst (t',uu____5673) -> is_mutual t' - | FStar_Syntax_Syntax.Tm_refine (bv, t') -> + | FStar_Syntax_Syntax.Tm_refine (bv,t') -> is_mutual bv.FStar_Syntax_Syntax.sort - | FStar_Syntax_Syntax.Tm_app (t', args) -> - let uu____5744 = is_mutual t' in - if uu____5744 + | FStar_Syntax_Syntax.Tm_app (t',args) -> + let uu____5710 = is_mutual t' in + if uu____5710 then true else - (let uu____5751 = - FStar_List.map FStar_Pervasives_Native.fst args in - exists_mutual uu____5751) - | FStar_Syntax_Syntax.Tm_meta (t', uu____5771) -> - is_mutual t' - | uu____5776 -> false - and exists_mutual uu___1_5778 = - match uu___1_5778 with + (let uu____5717 = + FStar_List.map FStar_Pervasives_Native.fst args in + exists_mutual uu____5717) + | FStar_Syntax_Syntax.Tm_meta (t',uu____5737) -> is_mutual t' + | uu____5742 -> false + + and exists_mutual uu___1_5744 = + match uu___1_5744 with | [] -> false - | hd1::tl1 -> (is_mutual hd1) || (exists_mutual tl1) in - let dt = datacon_typ data in - let dt1 = FStar_Syntax_Subst.subst usubst dt in - let uu____5799 = - let uu____5800 = FStar_Syntax_Subst.compress dt1 in - uu____5800.FStar_Syntax_Syntax.n in - match uu____5799 with - | FStar_Syntax_Syntax.Tm_arrow (dbs, uu____5806) -> + | hd1::tl1 -> (is_mutual hd1) || (exists_mutual tl1) + in + let dt = datacon_typ data in + let dt1 = FStar_Syntax_Subst.subst usubst dt in + let uu____5765 = + let uu____5766 = FStar_Syntax_Subst.compress dt1 in + uu____5766.FStar_Syntax_Syntax.n in + match uu____5765 with + | FStar_Syntax_Syntax.Tm_arrow (dbs,uu____5772) -> let dbs1 = - let uu____5836 = - FStar_List.splitAt (FStar_List.length bs) dbs in - FStar_Pervasives_Native.snd uu____5836 in + let uu____5802 = + FStar_List.splitAt (FStar_List.length bs) dbs in + FStar_Pervasives_Native.snd uu____5802 in let dbs2 = - let uu____5886 = FStar_Syntax_Subst.opening_of_binders bs in - FStar_Syntax_Subst.subst_binders uu____5886 dbs1 in - let dbs3 = FStar_Syntax_Subst.open_binders dbs2 in + let uu____5852 = FStar_Syntax_Subst.opening_of_binders bs + in + FStar_Syntax_Subst.subst_binders uu____5852 dbs1 in + let dbs3 = FStar_Syntax_Subst.open_binders dbs2 in let cond = FStar_List.fold_left - (fun t -> - fun b -> + (fun t -> + fun b -> let sort = - (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort in + (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort + in let haseq_sort = - let uu____5906 = - let uu____5911 = - let uu____5912 = + let uu____5872 = + let uu____5877 = + let uu____5878 = FStar_Syntax_Syntax.as_arg - (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort in - [uu____5912] in + (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort + in + [uu____5878] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Syntax_Util.t_haseq uu____5911 in - uu____5906 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Syntax_Util.t_haseq uu____5877 + in + uu____5872 FStar_Pervasives_Native.None + FStar_Range.dummyRange + in let haseq_sort1 = - let uu____5942 = is_mutual sort in - if uu____5942 + let uu____5908 = is_mutual sort in + if uu____5908 then FStar_Syntax_Util.mk_imp haseq_ind haseq_sort - else haseq_sort in + else haseq_sort in FStar_Syntax_Util.mk_conj t haseq_sort1) - FStar_Syntax_Util.t_true dbs3 in + FStar_Syntax_Util.t_true dbs3 + in let cond1 = FStar_List.fold_right - (fun b -> - fun t -> - let uu____5955 = - let uu____5960 = - let uu____5961 = - let uu____5970 = - let uu____5971 = - FStar_Syntax_Subst.close [b] t in + (fun b -> + fun t -> + let uu____5921 = + let uu____5926 = + let uu____5927 = + let uu____5936 = + let uu____5937 = + FStar_Syntax_Subst.close [b] t in FStar_Syntax_Util.abs [((FStar_Pervasives_Native.fst b), FStar_Pervasives_Native.None)] - uu____5971 FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.as_arg uu____5970 in - [uu____5961] in + uu____5937 FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.as_arg uu____5936 in + [uu____5927] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Syntax_Util.tforall uu____5960 in - uu____5955 FStar_Pervasives_Native.None - FStar_Range.dummyRange) dbs3 cond in + FStar_Syntax_Util.tforall uu____5926 + in + uu____5921 FStar_Pervasives_Native.None + FStar_Range.dummyRange) dbs3 cond + in FStar_Syntax_Util.mk_conj acc cond1 - | uu____6018 -> acc + | uu____5984 -> acc + let (unoptimized_haseq_ty : FStar_Syntax_Syntax.sigelt Prims.list -> FStar_Ident.lident Prims.list -> @@ -2046,216 +2238,244 @@ let (unoptimized_haseq_ty : FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun all_datas_in_the_bundle -> - fun mutuals -> - fun usubst -> - fun us -> - fun acc -> - fun ty -> - let uu____6068 = + fun all_datas_in_the_bundle -> + fun mutuals -> + fun usubst -> + fun us -> + fun acc -> + fun ty -> + let uu____6034 = match ty.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uu____6090, bs, t, uu____6093, d_lids) -> + (lid,uu____6056,bs,t,uu____6059,d_lids) -> (lid, bs, t, d_lids) - | uu____6105 -> failwith "Impossible!" in - match uu____6068 with - | (lid, bs, t, d_lids) -> - let bs1 = FStar_Syntax_Subst.subst_binders usubst bs in + | uu____6071 -> failwith "Impossible!" in + match uu____6034 with + | (lid,bs,t,d_lids) -> + let bs1 = FStar_Syntax_Subst.subst_binders usubst bs in let t1 = - let uu____6129 = + let uu____6095 = FStar_Syntax_Subst.shift_subst (FStar_List.length bs1) - usubst in - FStar_Syntax_Subst.subst uu____6129 t in - let uu____6138 = FStar_Syntax_Subst.open_term bs1 t1 in - (match uu____6138 with - | (bs2, t2) -> + usubst + in + FStar_Syntax_Subst.subst uu____6095 t in + let uu____6104 = FStar_Syntax_Subst.open_term bs1 t1 in + (match uu____6104 with + | (bs2,t2) -> let ibs = - let uu____6148 = - let uu____6149 = FStar_Syntax_Subst.compress t2 in - uu____6149.FStar_Syntax_Syntax.n in - match uu____6148 with - | FStar_Syntax_Syntax.Tm_arrow (ibs, uu____6153) -> + let uu____6114 = + let uu____6115 = FStar_Syntax_Subst.compress t2 + in + uu____6115.FStar_Syntax_Syntax.n in + match uu____6114 with + | FStar_Syntax_Syntax.Tm_arrow (ibs,uu____6119) -> ibs - | uu____6174 -> [] in - let ibs1 = FStar_Syntax_Subst.open_binders ibs in + | uu____6140 -> [] in + let ibs1 = FStar_Syntax_Subst.open_binders ibs in let ind = - let uu____6183 = + let uu____6149 = FStar_Syntax_Syntax.fvar lid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - let uu____6184 = + FStar_Pervasives_Native.None + in + let uu____6150 = FStar_List.map - (fun u -> FStar_Syntax_Syntax.U_name u) us in - FStar_Syntax_Syntax.mk_Tm_uinst uu____6183 - uu____6184 in + (fun u -> FStar_Syntax_Syntax.U_name u) us + in + FStar_Syntax_Syntax.mk_Tm_uinst uu____6149 + uu____6150 + in let ind1 = - let uu____6190 = - let uu____6195 = + let uu____6156 = + let uu____6161 = FStar_List.map - (fun uu____6212 -> - match uu____6212 with - | (bv, aq) -> - let uu____6231 = - FStar_Syntax_Syntax.bv_to_name bv in - (uu____6231, aq)) bs2 in - FStar_Syntax_Syntax.mk_Tm_app ind uu____6195 in - uu____6190 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + (fun uu____6178 -> + match uu____6178 with + | (bv,aq) -> + let uu____6197 = + FStar_Syntax_Syntax.bv_to_name bv in + (uu____6197, aq)) bs2 + in + FStar_Syntax_Syntax.mk_Tm_app ind uu____6161 in + uu____6156 FStar_Pervasives_Native.None + FStar_Range.dummyRange + in let ind2 = - let uu____6237 = - let uu____6242 = + let uu____6203 = + let uu____6208 = FStar_List.map - (fun uu____6259 -> - match uu____6259 with - | (bv, aq) -> - let uu____6278 = - FStar_Syntax_Syntax.bv_to_name bv in - (uu____6278, aq)) ibs1 in - FStar_Syntax_Syntax.mk_Tm_app ind1 uu____6242 in - uu____6237 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + (fun uu____6225 -> + match uu____6225 with + | (bv,aq) -> + let uu____6244 = + FStar_Syntax_Syntax.bv_to_name bv in + (uu____6244, aq)) ibs1 + in + FStar_Syntax_Syntax.mk_Tm_app ind1 uu____6208 in + uu____6203 FStar_Pervasives_Native.None + FStar_Range.dummyRange + in let haseq_ind = - let uu____6284 = - let uu____6289 = - let uu____6290 = FStar_Syntax_Syntax.as_arg ind2 in - [uu____6290] in + let uu____6250 = + let uu____6255 = + let uu____6256 = FStar_Syntax_Syntax.as_arg ind2 + in + [uu____6256] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Syntax_Util.t_haseq uu____6289 in - uu____6284 FStar_Pervasives_Native.None - FStar_Range.dummyRange in + FStar_Syntax_Util.t_haseq uu____6255 + in + uu____6250 FStar_Pervasives_Native.None + FStar_Range.dummyRange + in let t_datas = FStar_List.filter - (fun s -> + (fun s -> match s.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (uu____6327, uu____6328, uu____6329, t_lid, - uu____6331, uu____6332) + (uu____6293,uu____6294,uu____6295,t_lid,uu____6297,uu____6298) -> t_lid = lid - | uu____6339 -> failwith "Impossible") - all_datas_in_the_bundle in + | uu____6305 -> failwith "Impossible") + all_datas_in_the_bundle + in let data_cond = FStar_List.fold_left (unoptimized_haseq_data usubst bs2 haseq_ind - mutuals) FStar_Syntax_Util.t_true t_datas in - let fml = FStar_Syntax_Util.mk_imp data_cond haseq_ind in + mutuals) FStar_Syntax_Util.t_true t_datas + in + let fml = FStar_Syntax_Util.mk_imp data_cond haseq_ind + in let fml1 = - let uu___875_6351 = fml in - let uu____6352 = - let uu____6353 = - let uu____6360 = - let uu____6361 = - let uu____6382 = - FStar_Syntax_Syntax.binders_to_names ibs1 in - let uu____6387 = - let uu____6400 = - let uu____6411 = - FStar_Syntax_Syntax.as_arg haseq_ind in - [uu____6411] in - [uu____6400] in - (uu____6382, uu____6387) in - FStar_Syntax_Syntax.Meta_pattern uu____6361 in - (fml, uu____6360) in - FStar_Syntax_Syntax.Tm_meta uu____6353 in + let uu___867_6317 = fml in + let uu____6318 = + let uu____6319 = + let uu____6326 = + let uu____6327 = + let uu____6348 = + FStar_Syntax_Syntax.binders_to_names ibs1 + in + let uu____6353 = + let uu____6366 = + let uu____6377 = + FStar_Syntax_Syntax.as_arg haseq_ind + in + [uu____6377] in + [uu____6366] in + (uu____6348, uu____6353) in + FStar_Syntax_Syntax.Meta_pattern uu____6327 + in + (fml, uu____6326) in + FStar_Syntax_Syntax.Tm_meta uu____6319 in { - FStar_Syntax_Syntax.n = uu____6352; + FStar_Syntax_Syntax.n = uu____6318; FStar_Syntax_Syntax.pos = - (uu___875_6351.FStar_Syntax_Syntax.pos); + (uu___867_6317.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___875_6351.FStar_Syntax_Syntax.vars) - } in + (uu___867_6317.FStar_Syntax_Syntax.vars) + } in let fml2 = FStar_List.fold_right - (fun b -> - fun t3 -> - let uu____6480 = - let uu____6485 = - let uu____6486 = - let uu____6495 = - let uu____6496 = - FStar_Syntax_Subst.close [b] t3 in + (fun b -> + fun t3 -> + let uu____6446 = + let uu____6451 = + let uu____6452 = + let uu____6461 = + let uu____6462 = + FStar_Syntax_Subst.close [b] t3 in FStar_Syntax_Util.abs [((FStar_Pervasives_Native.fst b), FStar_Pervasives_Native.None)] - uu____6496 - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.as_arg uu____6495 in - [uu____6486] in + uu____6462 + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.as_arg uu____6461 + in + [uu____6452] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Syntax_Util.tforall uu____6485 in - uu____6480 FStar_Pervasives_Native.None - FStar_Range.dummyRange) ibs1 fml1 in + FStar_Syntax_Util.tforall uu____6451 + in + uu____6446 FStar_Pervasives_Native.None + FStar_Range.dummyRange) ibs1 fml1 + in let fml3 = FStar_List.fold_right - (fun b -> - fun t3 -> - let uu____6549 = - let uu____6554 = - let uu____6555 = - let uu____6564 = - let uu____6565 = - FStar_Syntax_Subst.close [b] t3 in + (fun b -> + fun t3 -> + let uu____6515 = + let uu____6520 = + let uu____6521 = + let uu____6530 = + let uu____6531 = + FStar_Syntax_Subst.close [b] t3 in FStar_Syntax_Util.abs [((FStar_Pervasives_Native.fst b), FStar_Pervasives_Native.None)] - uu____6565 - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.as_arg uu____6564 in - [uu____6555] in + uu____6531 + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.as_arg uu____6530 + in + [uu____6521] in FStar_Syntax_Syntax.mk_Tm_app - FStar_Syntax_Util.tforall uu____6554 in - uu____6549 FStar_Pervasives_Native.None - FStar_Range.dummyRange) bs2 fml2 in + FStar_Syntax_Util.tforall uu____6520 + in + uu____6515 FStar_Pervasives_Native.None + FStar_Range.dummyRange) bs2 fml2 + in FStar_Syntax_Util.mk_conj acc fml3) + let (unoptimized_haseq_scheme : FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt Prims.list -> FStar_Syntax_Syntax.sigelt Prims.list -> FStar_TypeChecker_Env.env_t -> FStar_Syntax_Syntax.sigelt Prims.list) = - fun sig_bndle -> - fun tcs -> - fun datas -> - fun env0 -> + fun sig_bndle -> + fun tcs -> + fun datas -> + fun env0 -> let mutuals = FStar_List.map - (fun ty -> + (fun ty -> match ty.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uu____6657, uu____6658, uu____6659, uu____6660, - uu____6661) + (lid,uu____6623,uu____6624,uu____6625,uu____6626,uu____6627) -> lid - | uu____6670 -> failwith "Impossible!") tcs in - let uu____6672 = - let ty = FStar_List.hd tcs in + | uu____6636 -> failwith "Impossible!") tcs + in + let uu____6638 = + let ty = FStar_List.hd tcs in match ty.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, us, uu____6684, uu____6685, uu____6686, uu____6687) -> + (lid,us,uu____6650,uu____6651,uu____6652,uu____6653) -> (lid, us) - | uu____6696 -> failwith "Impossible!" in - match uu____6672 with - | (lid, us) -> - let uu____6706 = FStar_Syntax_Subst.univ_var_opening us in - (match uu____6706 with - | (usubst, us1) -> + | uu____6662 -> failwith "Impossible!" in + match uu____6638 with + | (lid,us) -> + let uu____6672 = FStar_Syntax_Subst.univ_var_opening us in + (match uu____6672 with + | (usubst,us1) -> let fml = FStar_List.fold_left (unoptimized_haseq_ty datas mutuals usubst us1) - FStar_Syntax_Util.t_true tcs in + FStar_Syntax_Util.t_true tcs + in let se = - let uu____6733 = - let uu____6734 = - let uu____6741 = get_haseq_axiom_lid lid in - (uu____6741, us1, fml) in - FStar_Syntax_Syntax.Sig_assume uu____6734 in + let uu____6699 = + let uu____6700 = + let uu____6707 = get_haseq_axiom_lid lid in + (uu____6707, us1, fml) in + FStar_Syntax_Syntax.Sig_assume uu____6700 in { - FStar_Syntax_Syntax.sigel = uu____6733; + FStar_Syntax_Syntax.sigel = uu____6699; FStar_Syntax_Syntax.sigrng = FStar_Range.dummyRange; FStar_Syntax_Syntax.sigquals = []; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in + } in [se]) + let (check_inductive_well_typedness : FStar_TypeChecker_Env.env_t -> FStar_Syntax_Syntax.sigelt Prims.list -> @@ -2264,326 +2484,293 @@ let (check_inductive_well_typedness : (FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.sigelt Prims.list * FStar_Syntax_Syntax.sigelt Prims.list)) = - fun env -> - fun ses -> - fun quals -> - fun lids -> - let uu____6795 = + fun env -> + fun ses -> + fun quals -> + fun lids -> + let uu____6761 = FStar_All.pipe_right ses (FStar_List.partition - (fun uu___2_6820 -> - match uu___2_6820 with + (fun uu___2_6786 -> + match uu___2_6786 with | { FStar_Syntax_Syntax.sigel = - FStar_Syntax_Syntax.Sig_inductive_typ uu____6822; - FStar_Syntax_Syntax.sigrng = uu____6823; - FStar_Syntax_Syntax.sigquals = uu____6824; - FStar_Syntax_Syntax.sigmeta = uu____6825; - FStar_Syntax_Syntax.sigattrs = uu____6826;_} -> true - | uu____6848 -> false)) in - match uu____6795 with - | (tys, datas) -> - ((let uu____6871 = + FStar_Syntax_Syntax.Sig_inductive_typ uu____6788; + FStar_Syntax_Syntax.sigrng = uu____6789; + FStar_Syntax_Syntax.sigquals = uu____6790; + FStar_Syntax_Syntax.sigmeta = uu____6791; + FStar_Syntax_Syntax.sigattrs = uu____6792;_} -> true + | uu____6814 -> false)) + in + match uu____6761 with + | (tys,datas) -> + ((let uu____6837 = FStar_All.pipe_right datas (FStar_Util.for_some - (fun uu___3_6882 -> - match uu___3_6882 with + (fun uu___3_6848 -> + match uu___3_6848 with | { FStar_Syntax_Syntax.sigel = - FStar_Syntax_Syntax.Sig_datacon uu____6884; - FStar_Syntax_Syntax.sigrng = uu____6885; - FStar_Syntax_Syntax.sigquals = uu____6886; - FStar_Syntax_Syntax.sigmeta = uu____6887; - FStar_Syntax_Syntax.sigattrs = uu____6888;_} -> + FStar_Syntax_Syntax.Sig_datacon uu____6850; + FStar_Syntax_Syntax.sigrng = uu____6851; + FStar_Syntax_Syntax.sigquals = uu____6852; + FStar_Syntax_Syntax.sigmeta = uu____6853; + FStar_Syntax_Syntax.sigattrs = uu____6854;_} -> false - | uu____6909 -> true)) in - if uu____6871 + | uu____6875 -> true)) + in + if uu____6837 then - let uu____6912 = FStar_TypeChecker_Env.get_range env in + let uu____6878 = FStar_TypeChecker_Env.get_range env in FStar_Errors.raise_error (FStar_Errors.Fatal_NonInductiveInMutuallyDefinedType, "Mutually defined type contains a non-inductive element") - uu____6912 + uu____6878 else ()); (let univs1 = if (FStar_List.length tys) = (Prims.parse_int "0") then [] else - (let uu____6927 = - let uu____6928 = FStar_List.hd tys in - uu____6928.FStar_Syntax_Syntax.sigel in - match uu____6927 with + (let uu____6893 = + let uu____6894 = FStar_List.hd tys in + uu____6894.FStar_Syntax_Syntax.sigel in + match uu____6893 with | FStar_Syntax_Syntax.Sig_inductive_typ - (uu____6931, uvs, uu____6933, uu____6934, - uu____6935, uu____6936) + (uu____6897,uvs,uu____6899,uu____6900,uu____6901,uu____6902) -> uvs - | uu____6945 -> failwith "Impossible, can't happen!") in - let env0 = env in - let uu____6950 = - if (FStar_List.length univs1) = (Prims.parse_int "0") - then (env, tys, datas) - else - (let uu____6980 = - FStar_Syntax_Subst.univ_var_opening univs1 in - match uu____6980 with - | (subst1, univs2) -> - let tys1 = - FStar_List.map - (fun se -> - let sigel = - match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_inductive_typ - (lid, uu____7018, bs, t, l1, l2) -> + | uu____6911 -> failwith "Impossible, can't happen!") + in + let env0 = env in + let uu____6916 = + FStar_List.fold_right + (fun tc -> + fun uu____6955 -> + match uu____6955 with + | (env1,all_tcs,g) -> + let uu____6995 = tc_tycon env1 tc in + (match uu____6995 with + | (env2,tc1,tc_u,guard) -> + let g' = + FStar_TypeChecker_Rel.universe_inequality + FStar_Syntax_Syntax.U_zero tc_u + in + ((let uu____7022 = + FStar_TypeChecker_Env.debug env2 + FStar_Options.Low + in + if uu____7022 + then + let uu____7025 = + FStar_Syntax_Print.sigelt_to_string + tc1 + in + FStar_Util.print1 + "Checked inductive: %s\n" uu____7025 + else ()); + (let uu____7030 = let uu____7031 = - let uu____7048 = - FStar_Syntax_Subst.subst_binders - subst1 bs in - let uu____7049 = - let uu____7050 = - FStar_Syntax_Subst.shift_subst - (FStar_List.length bs) subst1 in - FStar_Syntax_Subst.subst uu____7050 - t in - (lid, univs2, uu____7048, uu____7049, - l1, l2) in - FStar_Syntax_Syntax.Sig_inductive_typ + FStar_TypeChecker_Env.conj_guard + guard g' + in + FStar_TypeChecker_Env.conj_guard g uu____7031 - | uu____7063 -> - failwith "Impossible, can't happen" in - let uu___971_7065 = se in - { - FStar_Syntax_Syntax.sigel = sigel; - FStar_Syntax_Syntax.sigrng = - (uu___971_7065.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = - (uu___971_7065.FStar_Syntax_Syntax.sigquals); - FStar_Syntax_Syntax.sigmeta = - (uu___971_7065.FStar_Syntax_Syntax.sigmeta); - FStar_Syntax_Syntax.sigattrs = - (uu___971_7065.FStar_Syntax_Syntax.sigattrs) - }) tys in - let datas1 = - FStar_List.map - (fun se -> - let sigel = - match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_datacon - (lid, uu____7075, t, lid_t, x, l) -> - let uu____7086 = - let uu____7102 = - FStar_Syntax_Subst.subst subst1 t in - (lid, univs2, uu____7102, lid_t, x, - l) in - FStar_Syntax_Syntax.Sig_datacon - uu____7086 - | uu____7106 -> - failwith "Impossible, can't happen" in - let uu___985_7108 = se in + in + (env2, ((tc1, tc_u) :: all_tcs), + uu____7030))))) tys + (env, [], FStar_TypeChecker_Env.trivial_guard) + in + match uu____6916 with + | (env1,tcs,g) -> + let uu____7077 = + FStar_List.fold_right + (fun se -> + fun uu____7099 -> + match uu____7099 with + | (datas1,g1) -> + let uu____7118 = + let uu____7123 = tc_data env1 tcs in + uu____7123 se in + (match uu____7118 with + | (data,g') -> + let uu____7140 = + FStar_TypeChecker_Env.conj_guard g1 + g' + in + ((data :: datas1), uu____7140))) datas + ([], g) + in + (match uu____7077 with + | (datas1,g1) -> + let uu____7161 = + let tc_universe_vars = + FStar_List.map FStar_Pervasives_Native.snd tcs + in + let g2 = + let uu___976_7178 = g1 in + { + FStar_TypeChecker_Env.guard_f = + (uu___976_7178.FStar_TypeChecker_Env.guard_f); + FStar_TypeChecker_Env.deferred = + (uu___976_7178.FStar_TypeChecker_Env.deferred); + FStar_TypeChecker_Env.univ_ineqs = + (tc_universe_vars, + (FStar_Pervasives_Native.snd + g1.FStar_TypeChecker_Env.univ_ineqs)); + FStar_TypeChecker_Env.implicits = + (uu___976_7178.FStar_TypeChecker_Env.implicits) + } in + (let uu____7188 = + FStar_All.pipe_left + (FStar_TypeChecker_Env.debug env0) + (FStar_Options.Other "GenUniverses") + in + if uu____7188 + then + let uu____7193 = + FStar_TypeChecker_Rel.guard_to_string env1 g2 + in + FStar_Util.print1 + "@@@@@@Guard before (possible) generalization: %s\n" + uu____7193 + else ()); + FStar_TypeChecker_Rel.force_trivial_guard env0 g2; + if + (FStar_List.length univs1) = + (Prims.parse_int "0") + then generalize_and_inst_within env0 tcs datas1 + else + (let uu____7212 = + FStar_List.map FStar_Pervasives_Native.fst + tcs + in + (uu____7212, datas1)) + in + (match uu____7161 with + | (tcs1,datas2) -> + let sig_bndle = + let uu____7244 = + FStar_TypeChecker_Env.get_range env0 in + let uu____7245 = + FStar_List.collect + (fun s -> s.FStar_Syntax_Syntax.sigattrs) + ses + in { - FStar_Syntax_Syntax.sigel = sigel; - FStar_Syntax_Syntax.sigrng = - (uu___985_7108.FStar_Syntax_Syntax.sigrng); - FStar_Syntax_Syntax.sigquals = - (uu___985_7108.FStar_Syntax_Syntax.sigquals); + FStar_Syntax_Syntax.sigel = + (FStar_Syntax_Syntax.Sig_bundle + ((FStar_List.append tcs1 datas2), + lids)); + FStar_Syntax_Syntax.sigrng = uu____7244; + FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = - (uu___985_7108.FStar_Syntax_Syntax.sigmeta); - FStar_Syntax_Syntax.sigattrs = - (uu___985_7108.FStar_Syntax_Syntax.sigattrs) - }) datas in - let uu____7109 = - FStar_TypeChecker_Env.push_univ_vars env univs2 in - (uu____7109, tys1, datas1)) in - match uu____6950 with - | (env1, tys1, datas1) -> - let uu____7135 = - FStar_List.fold_right - (fun tc -> - fun uu____7174 -> - match uu____7174 with - | (env2, all_tcs, g) -> - let uu____7214 = tc_tycon env2 tc in - (match uu____7214 with - | (env3, tc1, tc_u, guard) -> - let g' = - FStar_TypeChecker_Rel.universe_inequality - FStar_Syntax_Syntax.U_zero tc_u in - ((let uu____7241 = - FStar_TypeChecker_Env.debug env3 - FStar_Options.Low in - if uu____7241 - then - let uu____7244 = - FStar_Syntax_Print.sigelt_to_string - tc1 in - FStar_Util.print1 - "Checked inductive: %s\n" - uu____7244 - else ()); - (let uu____7249 = - let uu____7250 = - FStar_TypeChecker_Env.conj_guard - guard g' in - FStar_TypeChecker_Env.conj_guard g - uu____7250 in - (env3, ((tc1, tc_u) :: all_tcs), - uu____7249))))) tys1 - (env1, [], FStar_TypeChecker_Env.trivial_guard) in - (match uu____7135 with - | (env2, tcs, g) -> - let uu____7296 = - FStar_List.fold_right - (fun se -> - fun uu____7318 -> - match uu____7318 with - | (datas2, g1) -> - let uu____7337 = - let uu____7342 = tc_data env2 tcs in - uu____7342 se in - (match uu____7337 with - | (data, g') -> - let uu____7359 = - FStar_TypeChecker_Env.conj_guard - g1 g' in - ((data :: datas2), uu____7359))) - datas1 ([], g) in - (match uu____7296 with - | (datas2, g1) -> - let uu____7380 = - if - (FStar_List.length univs1) = - (Prims.parse_int "0") - then - generalize_and_inst_within env1 g1 tcs - datas2 - else - (let uu____7402 = - FStar_List.map - FStar_Pervasives_Native.fst tcs in - (uu____7402, datas2)) in - (match uu____7380 with - | (tcs1, datas3) -> - let sig_bndle = - let uu____7434 = - FStar_TypeChecker_Env.get_range env0 in - let uu____7435 = - FStar_List.collect - (fun s -> - s.FStar_Syntax_Syntax.sigattrs) - ses in - { - FStar_Syntax_Syntax.sigel = - (FStar_Syntax_Syntax.Sig_bundle - ((FStar_List.append tcs1 datas3), - lids)); - FStar_Syntax_Syntax.sigrng = - uu____7434; - FStar_Syntax_Syntax.sigquals = quals; - FStar_Syntax_Syntax.sigmeta = - FStar_Syntax_Syntax.default_sigmeta; - FStar_Syntax_Syntax.sigattrs = - uu____7435 - } in - (FStar_All.pipe_right tcs1 - (FStar_List.iter - (fun se -> - match se.FStar_Syntax_Syntax.sigel - with - | FStar_Syntax_Syntax.Sig_inductive_typ - (l, univs2, binders, typ, - uu____7461, uu____7462) - -> - let fail1 expected inferred = - let uu____7482 = - let uu____7488 = - let uu____7490 = - FStar_Syntax_Print.tscheme_to_string - expected in - let uu____7492 = - FStar_Syntax_Print.tscheme_to_string - inferred in - FStar_Util.format2 - "Expected an inductive with type %s; got %s" - uu____7490 uu____7492 in - (FStar_Errors.Fatal_UnexpectedInductivetype, - uu____7488) in - FStar_Errors.raise_error - uu____7482 - se.FStar_Syntax_Syntax.sigrng in - let uu____7496 = - FStar_TypeChecker_Env.try_lookup_val_decl - env0 l in - (match uu____7496 with - | FStar_Pervasives_Native.None - -> () - | FStar_Pervasives_Native.Some - (expected_typ1, - uu____7512) - -> - let inferred_typ = - let body = - match binders with - | [] -> typ - | uu____7543 -> - let uu____7544 = - let uu____7551 - = - let uu____7552 - = - let uu____7567 - = - FStar_Syntax_Syntax.mk_Total - typ in - (binders, - uu____7567) in - FStar_Syntax_Syntax.Tm_arrow - uu____7552 in - FStar_Syntax_Syntax.mk - uu____7551 in - uu____7544 - FStar_Pervasives_Native.None - se.FStar_Syntax_Syntax.sigrng in - (univs2, body) in - if - (FStar_List.length - univs2) - = - (FStar_List.length - (FStar_Pervasives_Native.fst - expected_typ1)) - then - let uu____7589 = + FStar_Syntax_Syntax.default_sigmeta; + FStar_Syntax_Syntax.sigattrs = uu____7245 + } in + (FStar_All.pipe_right tcs1 + (FStar_List.iter + (fun se -> + match se.FStar_Syntax_Syntax.sigel + with + | FStar_Syntax_Syntax.Sig_inductive_typ + (l,univs2,binders,typ,uu____7271,uu____7272) + -> + let fail1 expected inferred = + let uu____7292 = + let uu____7298 = + let uu____7300 = + FStar_Syntax_Print.tscheme_to_string + expected + in + let uu____7302 = + FStar_Syntax_Print.tscheme_to_string + inferred + in + FStar_Util.format2 + "Expected an inductive with type %s; got %s" + uu____7300 uu____7302 + in + (FStar_Errors.Fatal_UnexpectedInductivetype, + uu____7298) + in + FStar_Errors.raise_error + uu____7292 + se.FStar_Syntax_Syntax.sigrng + in + let uu____7306 = + FStar_TypeChecker_Env.try_lookup_val_decl + env0 l + in + (match uu____7306 with + | FStar_Pervasives_Native.None + -> () + | FStar_Pervasives_Native.Some + (expected_typ1,uu____7322) -> + let inferred_typ = + let body = + match binders with + | [] -> typ + | uu____7353 -> + let uu____7354 = + let uu____7361 = + let uu____7362 = + let uu____7377 + = + FStar_Syntax_Syntax.mk_Total + typ + in + (binders, + uu____7377) + in + FStar_Syntax_Syntax.Tm_arrow + uu____7362 + in + FStar_Syntax_Syntax.mk + uu____7361 + in + uu____7354 + FStar_Pervasives_Native.None + se.FStar_Syntax_Syntax.sigrng + in + (univs2, body) in + if + (FStar_List.length univs2) + = + (FStar_List.length + (FStar_Pervasives_Native.fst + expected_typ1)) + then + let uu____7399 = + FStar_TypeChecker_Env.inst_tscheme + inferred_typ + in + (match uu____7399 with + | (uu____7404,inferred) -> + let uu____7406 = FStar_TypeChecker_Env.inst_tscheme - inferred_typ in - (match uu____7589 with - | (uu____7594, - inferred) -> - let uu____7596 = - FStar_TypeChecker_Env.inst_tscheme - expected_typ1 in - (match uu____7596 - with - | (uu____7601, - expected) -> - let uu____7603 - = - FStar_TypeChecker_Rel.teq_nosmt_force - env0 - inferred - expected in - if - uu____7603 - then () - else - fail1 - expected_typ1 - inferred_typ)) - else - fail1 expected_typ1 - inferred_typ) - | uu____7610 -> ())); - (sig_bndle, tcs1, datas3))))))) + expected_typ1 + in + (match uu____7406 with + | (uu____7411,expected) + -> + let uu____7413 = + FStar_TypeChecker_Rel.teq_nosmt_force + env0 inferred + expected + in + if uu____7413 + then () + else + fail1 + expected_typ1 + inferred_typ)) + else + fail1 expected_typ1 + inferred_typ) + | uu____7420 -> ())); + (sig_bndle, tcs1, datas2)))))) + let (early_prims_inductives : Prims.string Prims.list) = - ["c_False"; "c_True"; "equals"; "h_equals"; "c_and"; "c_or"] + ["c_False"; "c_True"; "equals"; "h_equals"; "c_and"; "c_or"] let (mk_discriminator_and_indexed_projectors : FStar_Syntax_Syntax.qualifier Prims.list -> FStar_Syntax_Syntax.fv_qual -> @@ -2597,205 +2784,229 @@ let (mk_discriminator_and_indexed_projectors : FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.sigelt Prims.list) = - fun iquals -> - fun fvq -> - fun refine_domain -> - fun env -> - fun tc -> - fun lid -> - fun uvs -> - fun inductive_tps -> - fun indices -> - fun fields -> - let p = FStar_Ident.range_of_lid lid in - let pos q = FStar_Syntax_Syntax.withinfo q p in + fun iquals -> + fun fvq -> + fun refine_domain -> + fun env -> + fun tc -> + fun lid -> + fun uvs -> + fun inductive_tps -> + fun indices -> + fun fields -> + let p = FStar_Ident.range_of_lid lid in + let pos q = FStar_Syntax_Syntax.withinfo q p in let projectee ptyp = FStar_Syntax_Syntax.gen_bv "projectee" - (FStar_Pervasives_Native.Some p) ptyp in + (FStar_Pervasives_Native.Some p) ptyp + in let inst_univs = FStar_List.map - (fun u -> FStar_Syntax_Syntax.U_name u) uvs in - let tps = inductive_tps in + (fun u -> FStar_Syntax_Syntax.U_name u) uvs + in + let tps = inductive_tps in let arg_typ = let inst_tc = - let uu____7721 = - let uu____7728 = - let uu____7729 = - let uu____7736 = - let uu____7739 = + let uu____7531 = + let uu____7538 = + let uu____7539 = + let uu____7546 = + let uu____7549 = FStar_Syntax_Syntax.lid_as_fv tc FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____7739 in - (uu____7736, inst_univs) in - FStar_Syntax_Syntax.Tm_uinst uu____7729 in - FStar_Syntax_Syntax.mk uu____7728 in - uu____7721 FStar_Pervasives_Native.None p in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____7549 in + (uu____7546, inst_univs) in + FStar_Syntax_Syntax.Tm_uinst uu____7539 in + FStar_Syntax_Syntax.mk uu____7538 in + uu____7531 FStar_Pervasives_Native.None p in let args = FStar_All.pipe_right (FStar_List.append tps indices) (FStar_List.map - (fun uu____7773 -> - match uu____7773 with - | (x, imp) -> - let uu____7792 = - FStar_Syntax_Syntax.bv_to_name x in - (uu____7792, imp))) in + (fun uu____7583 -> + match uu____7583 with + | (x,imp) -> + let uu____7602 = + FStar_Syntax_Syntax.bv_to_name x in + (uu____7602, imp))) + in FStar_Syntax_Syntax.mk_Tm_app inst_tc args - FStar_Pervasives_Native.None p in + FStar_Pervasives_Native.None p + in let unrefined_arg_binder = - let uu____7796 = projectee arg_typ in - FStar_Syntax_Syntax.mk_binder uu____7796 in + let uu____7606 = projectee arg_typ in + FStar_Syntax_Syntax.mk_binder uu____7606 in let arg_binder = if Prims.op_Negation refine_domain then unrefined_arg_binder else (let disc_name = - FStar_Syntax_Util.mk_discriminator lid in + FStar_Syntax_Util.mk_discriminator lid in let x = FStar_Syntax_Syntax.new_bv - (FStar_Pervasives_Native.Some p) arg_typ in + (FStar_Pervasives_Native.Some p) arg_typ + in let sort = let disc_fvar = - let uu____7819 = - FStar_Ident.set_lid_range disc_name p in - FStar_Syntax_Syntax.fvar uu____7819 + let uu____7629 = + FStar_Ident.set_lid_range disc_name p in + FStar_Syntax_Syntax.fvar uu____7629 (FStar_Syntax_Syntax.Delta_equational_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in - let uu____7821 = - let uu____7824 = - let uu____7827 = - let uu____7832 = + FStar_Pervasives_Native.None + in + let uu____7631 = + let uu____7634 = + let uu____7637 = + let uu____7642 = FStar_Syntax_Syntax.mk_Tm_uinst - disc_fvar inst_univs in - let uu____7833 = - let uu____7834 = - let uu____7843 = - FStar_Syntax_Syntax.bv_to_name x in + disc_fvar inst_univs + in + let uu____7643 = + let uu____7644 = + let uu____7653 = + FStar_Syntax_Syntax.bv_to_name x in FStar_All.pipe_left FStar_Syntax_Syntax.as_arg - uu____7843 in - [uu____7834] in - FStar_Syntax_Syntax.mk_Tm_app uu____7832 - uu____7833 in - uu____7827 FStar_Pervasives_Native.None p in - FStar_Syntax_Util.b2t uu____7824 in - FStar_Syntax_Util.refine x uu____7821 in - let uu____7868 = - let uu___1086_7869 = projectee arg_typ in + uu____7653 + in + [uu____7644] in + FStar_Syntax_Syntax.mk_Tm_app uu____7642 + uu____7643 + in + uu____7637 FStar_Pervasives_Native.None p + in + FStar_Syntax_Util.b2t uu____7634 in + FStar_Syntax_Util.refine x uu____7631 in + let uu____7678 = + let uu___1049_7679 = projectee arg_typ in { FStar_Syntax_Syntax.ppname = - (uu___1086_7869.FStar_Syntax_Syntax.ppname); + (uu___1049_7679.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1086_7869.FStar_Syntax_Syntax.index); + (uu___1049_7679.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = sort - } in - FStar_Syntax_Syntax.mk_binder uu____7868) in - let ntps = FStar_List.length tps in + } in + FStar_Syntax_Syntax.mk_binder uu____7678) + in + let ntps = FStar_List.length tps in let all_params = - let uu____7886 = + let uu____7696 = FStar_List.map - (fun uu____7910 -> - match uu____7910 with - | (x, uu____7924) -> + (fun uu____7720 -> + match uu____7720 with + | (x,uu____7734) -> (x, (FStar_Pervasives_Native.Some - FStar_Syntax_Syntax.imp_tag))) tps in - FStar_List.append uu____7886 fields in + FStar_Syntax_Syntax.imp_tag))) tps + in + FStar_List.append uu____7696 fields in let imp_binders = FStar_All.pipe_right (FStar_List.append tps indices) (FStar_List.map - (fun uu____7983 -> - match uu____7983 with - | (x, uu____7997) -> + (fun uu____7793 -> + match uu____7793 with + | (x,uu____7807) -> (x, (FStar_Pervasives_Native.Some - FStar_Syntax_Syntax.imp_tag)))) in + FStar_Syntax_Syntax.imp_tag)))) + in let early_prims_inductive = - (let uu____8008 = - FStar_TypeChecker_Env.current_module env in + (let uu____7818 = + FStar_TypeChecker_Env.current_module env in FStar_Ident.lid_equals FStar_Parser_Const.prims_lid - uu____8008) + uu____7818) && (FStar_List.existsb - (fun s -> + (fun s -> s = (tc.FStar_Ident.ident).FStar_Ident.idText) - early_prims_inductives) in + early_prims_inductives) + in let discriminator_ses = if fvq <> FStar_Syntax_Syntax.Data_ctor then [] else (let discriminator_name = - FStar_Syntax_Util.mk_discriminator lid in - let no_decl = false in + FStar_Syntax_Util.mk_discriminator lid in + let no_decl = false in let only_decl = early_prims_inductive || - (let uu____8029 = - let uu____8031 = - FStar_TypeChecker_Env.current_module env in - uu____8031.FStar_Ident.str in - FStar_Options.dont_gen_projectors uu____8029) in + (let uu____7839 = + let uu____7841 = + FStar_TypeChecker_Env.current_module env + in + uu____7841.FStar_Ident.str in + FStar_Options.dont_gen_projectors uu____7839) + in let quals = - let uu____8035 = + let uu____7845 = FStar_List.filter - (fun uu___4_8039 -> - match uu___4_8039 with - | FStar_Syntax_Syntax.Abstract -> + (fun uu___4_7849 -> + match uu___4_7849 with + | FStar_Syntax_Syntax.Abstract -> Prims.op_Negation only_decl | FStar_Syntax_Syntax.Inline_for_extraction - -> true - | FStar_Syntax_Syntax.NoExtract -> true - | FStar_Syntax_Syntax.Private -> true - | uu____8044 -> false) iquals in + -> true + | FStar_Syntax_Syntax.NoExtract -> true + | FStar_Syntax_Syntax.Private -> true + | uu____7854 -> false) iquals + in FStar_List.append ((FStar_Syntax_Syntax.Discriminator lid) :: (if only_decl then [FStar_Syntax_Syntax.Logic; FStar_Syntax_Syntax.Assumption] - else [])) uu____8035 in + else [])) uu____7845 + in let binders = FStar_List.append imp_binders - [unrefined_arg_binder] in + [unrefined_arg_binder] + in let t = let bool_typ = - let uu____8082 = - let uu____8083 = + let uu____7892 = + let uu____7893 = FStar_Syntax_Syntax.lid_as_fv FStar_Parser_Const.bool_lid FStar_Syntax_Syntax.delta_constant - FStar_Pervasives_Native.None in - FStar_Syntax_Syntax.fv_to_tm uu____8083 in - FStar_Syntax_Syntax.mk_Total uu____8082 in - let uu____8084 = - FStar_Syntax_Util.arrow binders bool_typ in + FStar_Pervasives_Native.None + in + FStar_Syntax_Syntax.fv_to_tm uu____7893 in + FStar_Syntax_Syntax.mk_Total uu____7892 in + let uu____7894 = + FStar_Syntax_Util.arrow binders bool_typ in FStar_All.pipe_left (FStar_Syntax_Subst.close_univ_vars uvs) - uu____8084 in + uu____7894 + in let decl = - let uu____8088 = - FStar_Ident.range_of_lid discriminator_name in + let uu____7898 = + FStar_Ident.range_of_lid discriminator_name + in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (discriminator_name, uvs, t)); - FStar_Syntax_Syntax.sigrng = uu____8088; + FStar_Syntax_Syntax.sigrng = uu____7898; FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in - (let uu____8090 = + } in + (let uu____7900 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "LogTypes") in - if uu____8090 + (FStar_Options.Other "LogTypes") + in + if uu____7900 then - let uu____8094 = - FStar_Syntax_Print.sigelt_to_string decl in + let uu____7904 = + FStar_Syntax_Print.sigelt_to_string decl in FStar_Util.print1 "Declaration of a discriminator %s\n" - uu____8094 + uu____7904 else ()); if only_decl then [decl] @@ -2807,287 +3018,338 @@ let (mk_discriminator_and_indexed_projectors : (let arg_pats = FStar_All.pipe_right all_params (FStar_List.mapi - (fun j -> - fun uu____8155 -> - match uu____8155 with - | (x, imp) -> + (fun j -> + fun uu____7965 -> + match uu____7965 with + | (x,imp) -> let b = FStar_Syntax_Syntax.is_implicit - imp in + imp + in if b && (j < ntps) then - let uu____8180 = - let uu____8183 = - let uu____8184 = - let uu____8191 = + let uu____7990 = + let uu____7993 = + let uu____7994 = + let uu____8001 = FStar_Syntax_Syntax.gen_bv (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText FStar_Pervasives_Native.None - FStar_Syntax_Syntax.tun in - (uu____8191, - FStar_Syntax_Syntax.tun) in + FStar_Syntax_Syntax.tun + in + (uu____8001, + FStar_Syntax_Syntax.tun) + in FStar_Syntax_Syntax.Pat_dot_term - uu____8184 in - pos uu____8183 in - (uu____8180, b) + uu____7994 + in + pos uu____7993 in + (uu____7990, b) else - (let uu____8199 = - let uu____8202 = - let uu____8203 = + (let uu____8009 = + let uu____8012 = + let uu____8013 = FStar_Syntax_Syntax.gen_bv (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText FStar_Pervasives_Native.None - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in FStar_Syntax_Syntax.Pat_wild - uu____8203 in - pos uu____8202 in - (uu____8199, b)))) in + uu____8013 + in + pos uu____8012 in + (uu____8009, b)))) + in let pat_true = - let uu____8222 = - let uu____8225 = - let uu____8226 = - let uu____8240 = + let uu____8032 = + let uu____8035 = + let uu____8036 = + let uu____8050 = FStar_Syntax_Syntax.lid_as_fv lid FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some - fvq) in - (uu____8240, arg_pats) in + fvq) + in + (uu____8050, arg_pats) in FStar_Syntax_Syntax.Pat_cons - uu____8226 in - pos uu____8225 in - (uu____8222, + uu____8036 + in + pos uu____8035 in + (uu____8032, FStar_Pervasives_Native.None, - FStar_Syntax_Util.exp_true_bool) in + FStar_Syntax_Util.exp_true_bool) + in let pat_false = - let uu____8275 = - let uu____8278 = - let uu____8279 = + let uu____8085 = + let uu____8088 = + let uu____8089 = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in FStar_Syntax_Syntax.Pat_wild - uu____8279 in - pos uu____8278 in - (uu____8275, + uu____8089 + in + pos uu____8088 in + (uu____8085, FStar_Pervasives_Native.None, - FStar_Syntax_Util.exp_false_bool) in + FStar_Syntax_Util.exp_false_bool) + in let arg_exp = FStar_Syntax_Syntax.bv_to_name (FStar_Pervasives_Native.fst - unrefined_arg_binder) in - let uu____8293 = - let uu____8300 = - let uu____8301 = - let uu____8324 = - let uu____8341 = + unrefined_arg_binder) + in + let uu____8103 = + let uu____8110 = + let uu____8111 = + let uu____8134 = + let uu____8151 = FStar_Syntax_Util.branch - pat_true in - let uu____8356 = - let uu____8373 = + pat_true + in + let uu____8166 = + let uu____8183 = FStar_Syntax_Util.branch - pat_false in - [uu____8373] in - uu____8341 :: uu____8356 in - (arg_exp, uu____8324) in + pat_false + in + [uu____8183] in + uu____8151 :: uu____8166 in + (arg_exp, uu____8134) in FStar_Syntax_Syntax.Tm_match - uu____8301 in - FStar_Syntax_Syntax.mk uu____8300 in - uu____8293 FStar_Pervasives_Native.None p) in + uu____8111 + in + FStar_Syntax_Syntax.mk uu____8110 in + uu____8103 FStar_Pervasives_Native.None p) + in let dd = - let uu____8449 = + let uu____8259 = FStar_All.pipe_right quals (FStar_List.contains - FStar_Syntax_Syntax.Abstract) in - if uu____8449 + FStar_Syntax_Syntax.Abstract) + in + if uu____8259 then FStar_Syntax_Syntax.Delta_abstract (FStar_Syntax_Syntax.Delta_equational_at_level (Prims.parse_int "1")) else FStar_Syntax_Syntax.Delta_equational_at_level - (Prims.parse_int "1") in + (Prims.parse_int "1") + in let imp = FStar_Syntax_Util.abs binders body - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let lbtyp = if no_decl then t - else FStar_Syntax_Syntax.tun in + else FStar_Syntax_Syntax.tun in let lb = - let uu____8471 = - let uu____8476 = + let uu____8281 = + let uu____8286 = FStar_Syntax_Syntax.lid_as_fv discriminator_name dd - FStar_Pervasives_Native.None in - FStar_Util.Inr uu____8476 in - let uu____8477 = - FStar_Syntax_Subst.close_univ_vars uvs imp in - FStar_Syntax_Util.mk_letbinding uu____8471 + FStar_Pervasives_Native.None + in + FStar_Util.Inr uu____8286 in + let uu____8287 = + FStar_Syntax_Subst.close_univ_vars uvs imp + in + FStar_Syntax_Util.mk_letbinding uu____8281 uvs lbtyp FStar_Parser_Const.effect_Tot_lid - uu____8477 [] FStar_Range.dummyRange in + uu____8287 [] FStar_Range.dummyRange + in let impl = - let uu____8483 = - let uu____8484 = - let uu____8491 = - let uu____8494 = - let uu____8495 = + let uu____8293 = + let uu____8294 = + let uu____8301 = + let uu____8304 = + let uu____8305 = FStar_All.pipe_right lb.FStar_Syntax_Syntax.lbname - FStar_Util.right in - FStar_All.pipe_right uu____8495 - (fun fv -> - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) in - [uu____8494] in - ((false, [lb]), uu____8491) in - FStar_Syntax_Syntax.Sig_let uu____8484 in + FStar_Util.right + in + FStar_All.pipe_right uu____8305 + (fun fv -> + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) + in + [uu____8304] in + ((false, [lb]), uu____8301) in + FStar_Syntax_Syntax.Sig_let uu____8294 in { - FStar_Syntax_Syntax.sigel = uu____8483; + FStar_Syntax_Syntax.sigel = uu____8293; FStar_Syntax_Syntax.sigrng = p; FStar_Syntax_Syntax.sigquals = quals; FStar_Syntax_Syntax.sigmeta = FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = [] - } in - (let uu____8509 = + } in + (let uu____8319 = FStar_TypeChecker_Env.debug env - (FStar_Options.Other "LogTypes") in - if uu____8509 + (FStar_Options.Other "LogTypes") + in + if uu____8319 then - let uu____8513 = - FStar_Syntax_Print.sigelt_to_string impl in + let uu____8323 = + FStar_Syntax_Print.sigelt_to_string impl + in FStar_Util.print1 "Implementation of a discriminator %s\n" - uu____8513 + uu____8323 else ()); - [decl; impl])) in + [decl; impl])) + in let arg_exp = FStar_Syntax_Syntax.bv_to_name - (FStar_Pervasives_Native.fst arg_binder) in + (FStar_Pervasives_Native.fst arg_binder) + in let binders = - FStar_List.append imp_binders [arg_binder] in + FStar_List.append imp_binders [arg_binder] in let arg = - FStar_Syntax_Util.arg_of_non_null_binder arg_binder in + FStar_Syntax_Util.arg_of_non_null_binder arg_binder + in let subst1 = FStar_All.pipe_right fields (FStar_List.mapi - (fun i -> - fun uu____8586 -> - match uu____8586 with - | (a, uu____8595) -> - let uu____8600 = + (fun i -> + fun uu____8396 -> + match uu____8396 with + | (a,uu____8405) -> + let uu____8410 = FStar_Syntax_Util.mk_field_projector_name - lid a i in - (match uu____8600 with - | (field_name, uu____8606) -> + lid a i + in + (match uu____8410 with + | (field_name,uu____8416) -> let field_proj_tm = - let uu____8608 = - let uu____8609 = + let uu____8418 = + let uu____8419 = FStar_Syntax_Syntax.lid_as_fv field_name (FStar_Syntax_Syntax.Delta_equational_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Syntax_Syntax.fv_to_tm - uu____8609 in + uu____8419 + in FStar_Syntax_Syntax.mk_Tm_uinst - uu____8608 inst_univs in + uu____8418 inst_univs + in let proj = FStar_Syntax_Syntax.mk_Tm_app field_proj_tm [arg] - FStar_Pervasives_Native.None p in - FStar_Syntax_Syntax.NT (a, proj)))) in + FStar_Pervasives_Native.None p + in + FStar_Syntax_Syntax.NT (a, proj)))) + in let projectors_ses = - let uu____8635 = + let uu____8445 = FStar_All.pipe_right fields (FStar_List.mapi - (fun i -> - fun uu____8677 -> - match uu____8677 with - | (x, uu____8688) -> + (fun i -> + fun uu____8487 -> + match uu____8487 with + | (x,uu____8498) -> let p1 = - FStar_Syntax_Syntax.range_of_bv x in - let uu____8694 = + FStar_Syntax_Syntax.range_of_bv x + in + let uu____8504 = FStar_Syntax_Util.mk_field_projector_name - lid x i in - (match uu____8694 with - | (field_name, uu____8702) -> + lid x i + in + (match uu____8504 with + | (field_name,uu____8512) -> let t = - let uu____8706 = - let uu____8707 = - let uu____8710 = + let uu____8516 = + let uu____8517 = + let uu____8520 = FStar_Syntax_Subst.subst subst1 - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in FStar_Syntax_Syntax.mk_Total - uu____8710 in + uu____8520 + in FStar_Syntax_Util.arrow - binders uu____8707 in + binders uu____8517 + in FStar_All.pipe_left (FStar_Syntax_Subst.close_univ_vars - uvs) uu____8706 in + uvs) uu____8516 + in let only_decl = early_prims_inductive || - (let uu____8716 = - let uu____8718 = + (let uu____8526 = + let uu____8528 = FStar_TypeChecker_Env.current_module - env in - uu____8718.FStar_Ident.str in + env + in + uu____8528.FStar_Ident.str + in FStar_Options.dont_gen_projectors - uu____8716) in - let no_decl = false in + uu____8526) + in + let no_decl = false in let quals q = if only_decl then - let uu____8737 = + let uu____8547 = FStar_List.filter - (fun uu___5_8741 -> - match uu___5_8741 + (fun uu___5_8551 -> + match uu___5_8551 with | FStar_Syntax_Syntax.Abstract - -> false - | uu____8744 -> true) - q in + -> false + | uu____8554 -> true) + q + in FStar_Syntax_Syntax.Assumption - :: uu____8737 - else q in + :: uu____8547 + else q in let quals1 = let iquals1 = FStar_All.pipe_right iquals (FStar_List.filter - (fun uu___6_8759 -> - match uu___6_8759 + (fun uu___6_8569 -> + match uu___6_8569 with | FStar_Syntax_Syntax.Inline_for_extraction - -> true + -> true | FStar_Syntax_Syntax.NoExtract - -> true + -> true | FStar_Syntax_Syntax.Abstract - -> true + -> true | FStar_Syntax_Syntax.Private - -> true - | uu____8765 -> - false)) in + -> true + | uu____8575 -> + false)) + in quals ((FStar_Syntax_Syntax.Projector (lid, (x.FStar_Syntax_Syntax.ppname))) - :: iquals1) in + :: iquals1) + in let attrs = if only_decl then [] else - [FStar_Syntax_Util.attr_substitute] in + [FStar_Syntax_Util.attr_substitute] + in let decl = - let uu____8776 = + let uu____8586 = FStar_Ident.range_of_lid - field_name in + field_name + in { FStar_Syntax_Syntax.sigel = (FStar_Syntax_Syntax.Sig_declare_typ (field_name, uvs, t)); FStar_Syntax_Syntax.sigrng = - uu____8776; + uu____8586; FStar_Syntax_Syntax.sigquals = quals1; FStar_Syntax_Syntax.sigmeta @@ -3095,20 +3357,22 @@ let (mk_discriminator_and_indexed_projectors : FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = attrs - } in - ((let uu____8778 = + } in + ((let uu____8588 = FStar_TypeChecker_Env.debug env (FStar_Options.Other - "LogTypes") in - if uu____8778 + "LogTypes") + in + if uu____8588 then - let uu____8782 = + let uu____8592 = FStar_Syntax_Print.sigelt_to_string - decl in + decl + in FStar_Util.print1 "Declaration of a projector %s\n" - uu____8782 + uu____8592 else ()); if only_decl then [decl] @@ -3117,148 +3381,176 @@ let (mk_discriminator_and_indexed_projectors : FStar_Syntax_Syntax.gen_bv (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText FStar_Pervasives_Native.None - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let arg_pats = FStar_All.pipe_right all_params (FStar_List.mapi - (fun j -> - fun uu____8836 -> - match uu____8836 + (fun j -> + fun uu____8646 -> + match uu____8646 with - | (x1, imp) -> + | (x1,imp) -> let b = FStar_Syntax_Syntax.is_implicit - imp in + imp + in if (i + ntps) = j then - let uu____8862 + let uu____8672 = pos (FStar_Syntax_Syntax.Pat_var - projection) in - (uu____8862, + projection) + in + (uu____8672, b) else if b && (j < ntps) then - (let uu____8878 + (let uu____8688 = - let uu____8881 + let uu____8691 = - let uu____8882 + let uu____8692 = - let uu____8889 + let uu____8699 = FStar_Syntax_Syntax.gen_bv (x1.FStar_Syntax_Syntax.ppname).FStar_Ident.idText FStar_Pervasives_Native.None - FStar_Syntax_Syntax.tun in - (uu____8889, - FStar_Syntax_Syntax.tun) in + FStar_Syntax_Syntax.tun + in + (uu____8699, + FStar_Syntax_Syntax.tun) + in FStar_Syntax_Syntax.Pat_dot_term - uu____8882 in + uu____8692 + in pos - uu____8881 in - (uu____8878, + uu____8691 + in + (uu____8688, b)) else - (let uu____8897 + (let uu____8707 = - let uu____8900 + let uu____8710 = - let uu____8901 + let uu____8711 = FStar_Syntax_Syntax.gen_bv (x1.FStar_Syntax_Syntax.ppname).FStar_Ident.idText FStar_Pervasives_Native.None - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in FStar_Syntax_Syntax.Pat_wild - uu____8901 in + uu____8711 + in pos - uu____8900 in - (uu____8897, - b)))) in + uu____8710 + in + (uu____8707, + b)))) + in let pat = - let uu____8920 = - let uu____8923 = - let uu____8924 = - let uu____8938 = + let uu____8730 = + let uu____8733 = + let uu____8734 = + let uu____8748 = FStar_Syntax_Syntax.lid_as_fv lid FStar_Syntax_Syntax.delta_constant (FStar_Pervasives_Native.Some - fvq) in - (uu____8938, - arg_pats) in + fvq) + in + (uu____8748, + arg_pats) + in FStar_Syntax_Syntax.Pat_cons - uu____8924 in - pos uu____8923 in - let uu____8948 = + uu____8734 + in + pos uu____8733 in + let uu____8758 = FStar_Syntax_Syntax.bv_to_name - projection in - (uu____8920, + projection + in + (uu____8730, FStar_Pervasives_Native.None, - uu____8948) in + uu____8758) + in let body = - let uu____8964 = - let uu____8971 = - let uu____8972 = - let uu____8995 = - let uu____9012 = + let uu____8774 = + let uu____8781 = + let uu____8782 = + let uu____8805 = + let uu____8822 = FStar_Syntax_Util.branch - pat in - [uu____9012] in + pat + in + [uu____8822] in (arg_exp, - uu____8995) in + uu____8805) + in FStar_Syntax_Syntax.Tm_match - uu____8972 in + uu____8782 + in FStar_Syntax_Syntax.mk - uu____8971 in - uu____8964 + uu____8781 + in + uu____8774 FStar_Pervasives_Native.None - p1 in + p1 + in let imp = FStar_Syntax_Util.abs binders body - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let dd = - let uu____9077 = + let uu____8887 = FStar_All.pipe_right quals1 (FStar_List.contains - FStar_Syntax_Syntax.Abstract) in - if uu____9077 + FStar_Syntax_Syntax.Abstract) + in + if uu____8887 then FStar_Syntax_Syntax.Delta_abstract (FStar_Syntax_Syntax.Delta_equational_at_level (Prims.parse_int "1")) else FStar_Syntax_Syntax.Delta_equational_at_level - (Prims.parse_int "1") in + (Prims.parse_int "1") + in let lbtyp = if no_decl then t else - FStar_Syntax_Syntax.tun in + FStar_Syntax_Syntax.tun + in let lb = - let uu____9096 = - let uu____9101 = + let uu____8906 = + let uu____8911 = FStar_Syntax_Syntax.lid_as_fv field_name dd - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Util.Inr - uu____9101 in - let uu____9102 = + uu____8911 + in + let uu____8912 = FStar_Syntax_Subst.close_univ_vars - uvs imp in + uvs imp + in { FStar_Syntax_Syntax.lbname - = uu____9096; + = uu____8906; FStar_Syntax_Syntax.lbunivs = uvs; FStar_Syntax_Syntax.lbtyp @@ -3267,34 +3559,38 @@ let (mk_discriminator_and_indexed_projectors : = FStar_Parser_Const.effect_Tot_lid; FStar_Syntax_Syntax.lbdef - = uu____9102; + = uu____8912; FStar_Syntax_Syntax.lbattrs = []; FStar_Syntax_Syntax.lbpos = FStar_Range.dummyRange - } in + } in let impl = - let uu____9108 = - let uu____9109 = - let uu____9116 = - let uu____9119 = - let uu____9120 = + let uu____8918 = + let uu____8919 = + let uu____8926 = + let uu____8929 = + let uu____8930 = FStar_All.pipe_right lb.FStar_Syntax_Syntax.lbname - FStar_Util.right in + FStar_Util.right + in FStar_All.pipe_right - uu____9120 - (fun fv -> - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) in - [uu____9119] in + uu____8930 + (fun fv -> + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v) + in + [uu____8929] in ((false, [lb]), - uu____9116) in + uu____8926) + in FStar_Syntax_Syntax.Sig_let - uu____9109 in + uu____8919 + in { FStar_Syntax_Syntax.sigel - = uu____9108; + = uu____8918; FStar_Syntax_Syntax.sigrng = p1; FStar_Syntax_Syntax.sigquals @@ -3304,128 +3600,142 @@ let (mk_discriminator_and_indexed_projectors : FStar_Syntax_Syntax.default_sigmeta; FStar_Syntax_Syntax.sigattrs = attrs - } in - (let uu____9134 = + } in + (let uu____8944 = FStar_TypeChecker_Env.debug env (FStar_Options.Other - "LogTypes") in - if uu____9134 + "LogTypes") + in + if uu____8944 then - let uu____9138 = + let uu____8948 = FStar_Syntax_Print.sigelt_to_string - impl in + impl + in FStar_Util.print1 "Implementation of a projector %s\n" - uu____9138 + uu____8948 else ()); if no_decl then [impl] - else [decl; impl]))))) in - FStar_All.pipe_right uu____8635 FStar_List.flatten in + else [decl; impl]))))) + in + FStar_All.pipe_right uu____8445 FStar_List.flatten + in FStar_List.append discriminator_ses projectors_ses + let (mk_data_operations : FStar_Syntax_Syntax.qualifier Prims.list -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt Prims.list -> FStar_Syntax_Syntax.sigelt -> FStar_Syntax_Syntax.sigelt Prims.list) = - fun iquals -> - fun env -> - fun tcs -> - fun se -> + fun iquals -> + fun env -> + fun tcs -> + fun se -> match se.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_datacon - (constr_lid, uvs, t, typ_lid, n_typars, uu____9192) when - let uu____9199 = + (constr_lid,uvs,t,typ_lid,n_typars,uu____9002) when + let uu____9009 = FStar_Ident.lid_equals constr_lid - FStar_Parser_Const.lexcons_lid in - Prims.op_Negation uu____9199 -> - let uu____9201 = FStar_Syntax_Subst.univ_var_opening uvs in - (match uu____9201 with - | (univ_opening, uvs1) -> - let t1 = FStar_Syntax_Subst.subst univ_opening t in - let uu____9223 = FStar_Syntax_Util.arrow_formals t1 in - (match uu____9223 with - | (formals, uu____9241) -> - let uu____9262 = + FStar_Parser_Const.lexcons_lid + in + Prims.op_Negation uu____9009 -> + let uu____9011 = FStar_Syntax_Subst.univ_var_opening uvs in + (match uu____9011 with + | (univ_opening,uvs1) -> + let t1 = FStar_Syntax_Subst.subst univ_opening t in + let uu____9033 = FStar_Syntax_Util.arrow_formals t1 in + (match uu____9033 with + | (formals,uu____9051) -> + let uu____9072 = let tps_opt = FStar_Util.find_map tcs - (fun se1 -> - let uu____9297 = - let uu____9299 = - let uu____9300 = - FStar_Syntax_Util.lid_of_sigelt se1 in - FStar_Util.must uu____9300 in - FStar_Ident.lid_equals typ_lid uu____9299 in - if uu____9297 + (fun se1 -> + let uu____9107 = + let uu____9109 = + let uu____9110 = + FStar_Syntax_Util.lid_of_sigelt se1 + in + FStar_Util.must uu____9110 in + FStar_Ident.lid_equals typ_lid uu____9109 + in + if uu____9107 then match se1.FStar_Syntax_Syntax.sigel with | FStar_Syntax_Syntax.Sig_inductive_typ - (uu____9322, uvs', tps, typ0, - uu____9326, constrs) + (uu____9132,uvs',tps,typ0,uu____9136,constrs) -> FStar_Pervasives_Native.Some (tps, typ0, ((FStar_List.length constrs) > (Prims.parse_int "1"))) - | uu____9346 -> failwith "Impossible" - else FStar_Pervasives_Native.None) in + | uu____9156 -> failwith "Impossible" + else FStar_Pervasives_Native.None) + in match tps_opt with | FStar_Pervasives_Native.Some x -> x - | FStar_Pervasives_Native.None -> - let uu____9395 = + | FStar_Pervasives_Native.None -> + let uu____9205 = FStar_Ident.lid_equals typ_lid - FStar_Parser_Const.exn_lid in - if uu____9395 + FStar_Parser_Const.exn_lid + in + if uu____9205 then ([], FStar_Syntax_Util.ktype0, true) else FStar_Errors.raise_error (FStar_Errors.Fatal_UnexpectedDataConstructor, "Unexpected data constructor") - se.FStar_Syntax_Syntax.sigrng in - (match uu____9262 with - | (inductive_tps, typ0, should_refine) -> + se.FStar_Syntax_Syntax.sigrng + in + (match uu____9072 with + | (inductive_tps,typ0,should_refine) -> let inductive_tps1 = FStar_Syntax_Subst.subst_binders univ_opening - inductive_tps in + inductive_tps + in let typ01 = - FStar_Syntax_Subst.subst univ_opening typ0 in - let uu____9433 = - FStar_Syntax_Util.arrow_formals typ01 in - (match uu____9433 with - | (indices, uu____9451) -> + FStar_Syntax_Subst.subst univ_opening typ0 in + let uu____9243 = + FStar_Syntax_Util.arrow_formals typ01 in + (match uu____9243 with + | (indices,uu____9261) -> let refine_domain = - let uu____9474 = + let uu____9284 = FStar_All.pipe_right se.FStar_Syntax_Syntax.sigquals (FStar_Util.for_some - (fun uu___7_9481 -> - match uu___7_9481 with + (fun uu___7_9291 -> + match uu___7_9291 with | FStar_Syntax_Syntax.RecordConstructor - uu____9483 -> true - | uu____9493 -> false)) in - if uu____9474 + uu____9293 -> true + | uu____9303 -> false)) + in + if uu____9284 then false - else should_refine in + else should_refine in let fv_qual = - let filter_records uu___8_9508 = - match uu___8_9508 with + let filter_records uu___8_9318 = + match uu___8_9318 with | FStar_Syntax_Syntax.RecordConstructor - (uu____9511, fns) -> + (uu____9321,fns) -> FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_ctor (constr_lid, fns)) - | uu____9523 -> - FStar_Pervasives_Native.None in - let uu____9524 = + | uu____9333 -> + FStar_Pervasives_Native.None + in + let uu____9334 = FStar_Util.find_map se.FStar_Syntax_Syntax.sigquals - filter_records in - match uu____9524 with - | FStar_Pervasives_Native.None -> + filter_records + in + match uu____9334 with + | FStar_Pervasives_Native.None -> FStar_Syntax_Syntax.Data_ctor - | FStar_Pervasives_Native.Some q -> q in + | FStar_Pervasives_Native.Some q -> q in let iquals1 = if (FStar_List.contains @@ -3437,33 +3747,37 @@ let (mk_data_operations : iquals)) then FStar_Syntax_Syntax.Private :: iquals - else iquals in + else iquals in let fields = - let uu____9537 = - FStar_Util.first_N n_typars formals in - match uu____9537 with - | (imp_tps, fields) -> + let uu____9347 = + FStar_Util.first_N n_typars formals in + match uu____9347 with + | (imp_tps,fields) -> let rename = FStar_List.map2 - (fun uu____9620 -> - fun uu____9621 -> - match (uu____9620, - uu____9621) + (fun uu____9430 -> + fun uu____9431 -> + match (uu____9430, + uu____9431) with - | ((x, uu____9647), - (x', uu____9649)) -> - let uu____9670 = - let uu____9677 = + | ((x,uu____9457),(x',uu____9459)) + -> + let uu____9480 = + let uu____9487 = FStar_Syntax_Syntax.bv_to_name - x' in - (x, uu____9677) in + x' + in + (x, uu____9487) in FStar_Syntax_Syntax.NT - uu____9670) imp_tps - inductive_tps1 in + uu____9480) imp_tps + inductive_tps1 + in FStar_Syntax_Subst.subst_binders - rename fields in + rename fields + in mk_discriminator_and_indexed_projectors iquals1 fv_qual refine_domain env typ_lid constr_lid uvs1 inductive_tps1 indices fields)))) - | uu____9682 -> [] \ No newline at end of file + | uu____9492 -> [] + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_TcTerm.ml b/src/ocaml-output/FStar_TypeChecker_TcTerm.ml index 4d329a54c61..8f0287bf466 100644 --- a/src/ocaml-output/FStar_TypeChecker_TcTerm.ml +++ b/src/ocaml-output/FStar_TypeChecker_TcTerm.ml @@ -1,8 +1,8 @@ open Prims let (instantiate_both : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.env) = - fun env -> - let uu___8_5 = env in + fun env -> + let uu___8_5 = env in { FStar_TypeChecker_Env.solver = (uu___8_5.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = (uu___8_5.FStar_TypeChecker_Env.range); @@ -79,9 +79,10 @@ let (instantiate_both : FStar_TypeChecker_Env.dsenv = (uu___8_5.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___8_5.FStar_TypeChecker_Env.nbe) } + let (no_inst : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.env) = - fun env -> - let uu___11_13 = env in + fun env -> + let uu___11_13 = env in { FStar_TypeChecker_Env.solver = (uu___11_13.FStar_TypeChecker_Env.solver); @@ -163,55 +164,65 @@ let (no_inst : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.dsenv = (uu___11_13.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___11_13.FStar_TypeChecker_Env.nbe) } + let (mk_lex_list : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax Prims.list -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun vs -> + fun vs -> FStar_List.fold_right - (fun v1 -> - fun tl1 -> + (fun v1 -> + fun tl1 -> let r = if tl1.FStar_Syntax_Syntax.pos = FStar_Range.dummyRange then v1.FStar_Syntax_Syntax.pos else FStar_Range.union_ranges v1.FStar_Syntax_Syntax.pos - tl1.FStar_Syntax_Syntax.pos in + tl1.FStar_Syntax_Syntax.pos + in let uu____49 = let uu____54 = - let uu____55 = FStar_Syntax_Syntax.as_arg v1 in + let uu____55 = FStar_Syntax_Syntax.as_arg v1 in let uu____64 = - let uu____75 = FStar_Syntax_Syntax.as_arg tl1 in [uu____75] in - uu____55 :: uu____64 in + let uu____75 = FStar_Syntax_Syntax.as_arg tl1 in [uu____75] + in + uu____55 :: uu____64 in FStar_Syntax_Syntax.mk_Tm_app FStar_Syntax_Util.lex_pair - uu____54 in + uu____54 + in uu____49 FStar_Pervasives_Native.None r) vs FStar_Syntax_Util.lex_top + let (is_eq : FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option -> Prims.bool) = - fun uu___0_116 -> + fun uu___0_116 -> match uu___0_116 with - | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality) -> true + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Equality ) -> true | uu____121 -> false + let steps : 'Auu____130 . 'Auu____130 -> FStar_TypeChecker_Env.step Prims.list = - fun env -> + fun env -> [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.NoFullNorm] + let (norm : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> fun t -> FStar_TypeChecker_Normalize.normalize (steps env) env t + fun env -> + fun t -> FStar_TypeChecker_Normalize.normalize (steps env) env t + let (norm_c : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp) = - fun env -> - fun c -> FStar_TypeChecker_Normalize.normalize_comp (steps env) env c + fun env -> + fun c -> FStar_TypeChecker_Normalize.normalize_comp (steps env) env c + let (check_no_escape : FStar_Syntax_Syntax.term FStar_Pervasives_Native.option -> FStar_TypeChecker_Env.env -> @@ -219,20 +230,22 @@ let (check_no_escape : FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_TypeChecker_Env.guard_t)) = - fun head_opt -> - fun env -> - fun fvs -> - fun kt -> + fun head_opt -> + fun env -> + fun fvs -> + fun kt -> let rec aux try_norm t = match fvs with | [] -> (t, FStar_TypeChecker_Env.trivial_guard) | uu____218 -> - let t1 = if try_norm then norm env t else t in - let fvs' = FStar_Syntax_Free.names t1 in + let t1 = if try_norm then norm env t else t in + let fvs' = FStar_Syntax_Free.names t1 in let uu____232 = - FStar_List.tryFind (fun x -> FStar_Util.set_mem x fvs') fvs in + FStar_List.tryFind (fun x -> FStar_Util.set_mem x fvs') + fvs + in (match uu____232 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (t1, FStar_TypeChecker_Env.trivial_guard) | FStar_Pervasives_Native.Some x -> if Prims.op_Negation try_norm @@ -241,55 +254,67 @@ let (check_no_escape : (let fail1 uu____259 = let msg = match head_opt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____263 = - FStar_Syntax_Print.bv_to_string x in + FStar_Syntax_Print.bv_to_string x in FStar_Util.format1 "Bound variables '%s' escapes; add a type annotation" uu____263 | FStar_Pervasives_Native.Some head1 -> let uu____267 = - FStar_Syntax_Print.bv_to_string x in + FStar_Syntax_Print.bv_to_string x in let uu____269 = FStar_TypeChecker_Normalize.term_to_string - env head1 in + env head1 + in FStar_Util.format2 "Bound variables '%s' in the type of '%s' escape because of impure applications; add explicit let-bindings" - uu____267 uu____269 in - let uu____272 = FStar_TypeChecker_Env.get_range env in + uu____267 uu____269 + in + let uu____272 = FStar_TypeChecker_Env.get_range env + in FStar_Errors.raise_error (FStar_Errors.Fatal_EscapedBoundVar, msg) - uu____272 in + uu____272 + in let uu____278 = - let uu____291 = FStar_TypeChecker_Env.get_range env in + let uu____291 = FStar_TypeChecker_Env.get_range env + in let uu____292 = - let uu____293 = FStar_Syntax_Util.type_u () in + let uu____293 = FStar_Syntax_Util.type_u () in FStar_All.pipe_left FStar_Pervasives_Native.fst - uu____293 in + uu____293 + in FStar_TypeChecker_Util.new_implicit_var "no escape" - uu____291 env uu____292 in + uu____291 env uu____292 + in match uu____278 with - | (s, uu____308, g0) -> + | (s,uu____308,g0) -> let uu____322 = - FStar_TypeChecker_Rel.try_teq true env t1 s in + FStar_TypeChecker_Rel.try_teq true env t1 s in (match uu____322 with | FStar_Pervasives_Native.Some g -> let g1 = let uu____332 = - FStar_TypeChecker_Env.conj_guard g g0 in + FStar_TypeChecker_Env.conj_guard g g0 + in FStar_TypeChecker_Rel.solve_deferred_constraints - env uu____332 in + env uu____332 + in (s, g1) - | uu____333 -> fail1 ()))) in + | uu____333 -> fail1 ()))) + in aux false kt + let push_binding : 'Auu____344 . FStar_TypeChecker_Env.env -> (FStar_Syntax_Syntax.bv * 'Auu____344) -> FStar_TypeChecker_Env.env = - fun env -> - fun b -> + fun env -> + fun b -> FStar_TypeChecker_Env.push_bv env (FStar_Pervasives_Native.fst b) + let (maybe_extend_subst : FStar_Syntax_Syntax.subst_elt Prims.list -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier @@ -297,82 +322,89 @@ let (maybe_extend_subst : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.subst_t) = - fun s -> - fun b -> - fun v1 -> - let uu____399 = FStar_Syntax_Syntax.is_null_binder b in + fun s -> + fun b -> + fun v1 -> + let uu____399 = FStar_Syntax_Syntax.is_null_binder b in if uu____399 then s else (FStar_Syntax_Syntax.NT ((FStar_Pervasives_Native.fst b), v1)) :: s + let (set_lcomp_result : FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.lcomp) = - fun lc -> - fun t -> + fun lc -> + fun t -> FStar_Syntax_Syntax.mk_lcomp lc.FStar_Syntax_Syntax.eff_name t lc.FStar_Syntax_Syntax.cflags - (fun uu____425 -> - let uu____426 = FStar_Syntax_Syntax.lcomp_comp lc in + (fun uu____425 -> + let uu____426 = FStar_Syntax_Syntax.lcomp_comp lc in FStar_Syntax_Util.set_result_typ uu____426 t) + let (memo_tk : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term) - = fun e -> fun t -> e + = fun e -> fun t -> e let (value_check_expected_typ : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> - (FStar_Syntax_Syntax.typ, FStar_Syntax_Syntax.lcomp) FStar_Util.either + (FStar_Syntax_Syntax.typ,FStar_Syntax_Syntax.lcomp) FStar_Util.either -> FStar_TypeChecker_Env.guard_t -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - fun tlc -> - fun guard -> + fun env -> + fun e -> + fun tlc -> + fun guard -> FStar_TypeChecker_Env.def_check_guard_wf e.FStar_Syntax_Syntax.pos "value_check_expected_typ" env guard; (let lc = match tlc with | FStar_Util.Inl t -> - let uu____485 = FStar_Syntax_Syntax.mk_Total t in + let uu____485 = FStar_Syntax_Syntax.mk_Total t in FStar_All.pipe_left FStar_Syntax_Util.lcomp_of_comp uu____485 - | FStar_Util.Inr lc -> lc in - let t = lc.FStar_Syntax_Syntax.res_typ in + | FStar_Util.Inr lc -> lc in + let t = lc.FStar_Syntax_Syntax.res_typ in let uu____488 = - let uu____495 = FStar_TypeChecker_Env.expected_typ env in + let uu____495 = FStar_TypeChecker_Env.expected_typ env in match uu____495 with - | FStar_Pervasives_Native.None -> ((memo_tk e t), lc, guard) + | FStar_Pervasives_Native.None -> ((memo_tk e t), lc, guard) | FStar_Pervasives_Native.Some t' -> let uu____505 = FStar_TypeChecker_Util.maybe_coerce_bool_to_type env e lc - t' in + t' + in (match uu____505 with - | (e1, lc1) -> - let t1 = lc1.FStar_Syntax_Syntax.res_typ in + | (e1,lc1) -> + let t1 = lc1.FStar_Syntax_Syntax.res_typ in let uu____519 = - FStar_TypeChecker_Util.check_and_ascribe env e1 t1 t' in + FStar_TypeChecker_Util.check_and_ascribe env e1 t1 t' + in (match uu____519 with - | (e2, g) -> + | (e2,g) -> ((let uu____533 = FStar_TypeChecker_Env.debug env - FStar_Options.High in + FStar_Options.High + in if uu____533 then let uu____536 = - FStar_Syntax_Print.term_to_string t1 in + FStar_Syntax_Print.term_to_string t1 in let uu____538 = - FStar_Syntax_Print.term_to_string t' in + FStar_Syntax_Print.term_to_string t' in let uu____540 = - FStar_TypeChecker_Rel.guard_to_string env g in + FStar_TypeChecker_Rel.guard_to_string env g + in let uu____542 = FStar_TypeChecker_Rel.guard_to_string env - guard in + guard + in FStar_Util.print4 "check_and_ascribe: type is %s<:%s \tguard is %s, %s\n" uu____536 uu____538 uu____540 uu____542 @@ -380,42 +412,50 @@ let (value_check_expected_typ : (let msg = let uu____554 = FStar_TypeChecker_Env.is_trivial_guard_formula - g in + g + in if uu____554 then FStar_Pervasives_Native.None else FStar_All.pipe_left - (fun _583 -> + (fun _583 -> FStar_Pervasives_Native.Some _583) (FStar_TypeChecker_Err.subtyping_failed - env t1 t') in + env t1 t') + in let g1 = - FStar_TypeChecker_Env.conj_guard g guard in + FStar_TypeChecker_Env.conj_guard g guard in let lc2 = let uu____586 = (FStar_All.pipe_right tlc FStar_Util.is_left) && (FStar_TypeChecker_Util.should_return env - (FStar_Pervasives_Native.Some e2) lc1) in + (FStar_Pervasives_Native.Some e2) lc1) + in if uu____586 then let uu____594 = let uu____595 = FStar_TypeChecker_Util.lcomp_univ_opt - lc1 in + lc1 + in FStar_TypeChecker_Util.return_value env - uu____595 t1 e2 in + uu____595 t1 e2 + in FStar_All.pipe_right uu____594 FStar_Syntax_Util.lcomp_of_comp - else lc1 in + else lc1 in let uu____600 = FStar_TypeChecker_Util.strengthen_precondition - msg env e2 lc2 g1 in + msg env e2 lc2 g1 + in match uu____600 with - | (lc3, g2) -> - let uu____613 = set_lcomp_result lc3 t' in - ((memo_tk e2 t'), uu____613, g2))))) in - match uu____488 with | (e1, lc1, g) -> (e1, lc1, g)) + | (lc3,g2) -> + let uu____613 = set_lcomp_result lc3 t' in + ((memo_tk e2 t'), uu____613, g2))))) + in + match uu____488 with | (e1,lc1,g) -> (e1, lc1, g)) + let (comp_check_expected_typ : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -423,19 +463,20 @@ let (comp_check_expected_typ : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - fun lc -> - let uu____651 = FStar_TypeChecker_Env.expected_typ env in + fun env -> + fun e -> + fun lc -> + let uu____651 = FStar_TypeChecker_Env.expected_typ env in match uu____651 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (e, lc, FStar_TypeChecker_Env.trivial_guard) | FStar_Pervasives_Native.Some t -> let uu____661 = - FStar_TypeChecker_Util.maybe_coerce_bool_to_type env e lc t in + FStar_TypeChecker_Util.maybe_coerce_bool_to_type env e lc t in (match uu____661 with - | (e1, lc1) -> + | (e1,lc1) -> FStar_TypeChecker_Util.weaken_result_typ env e1 lc1 t) + let (check_expected_effect : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp FStar_Pervasives_Native.option -> @@ -443,30 +484,33 @@ let (check_expected_effect : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.comp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun copt -> - fun ec -> - let uu____714 = ec in + fun env -> + fun copt -> + fun ec -> + let uu____714 = ec in match uu____714 with - | (e, c) -> + | (e,c) -> let tot_or_gtot c1 = - let uu____737 = FStar_Syntax_Util.is_pure_comp c1 in + let uu____737 = FStar_Syntax_Util.is_pure_comp c1 in if uu____737 then FStar_Syntax_Syntax.mk_Total (FStar_Syntax_Util.comp_result c1) else - (let uu____742 = FStar_Syntax_Util.is_pure_or_ghost_comp c1 in + (let uu____742 = FStar_Syntax_Util.is_pure_or_ghost_comp c1 + in if uu____742 then FStar_Syntax_Syntax.mk_GTotal (FStar_Syntax_Util.comp_result c1) - else failwith "Impossible: Expected pure_or_ghost comp") in + else failwith "Impossible: Expected pure_or_ghost comp") + in let uu____748 = + let ct = FStar_Syntax_Util.comp_result c in match copt with - | FStar_Pervasives_Native.Some uu____761 -> (copt, c) - | FStar_Pervasives_Native.None -> - let uu____764 = + | FStar_Pervasives_Native.Some uu____770 -> (copt, c, false) + | FStar_Pervasives_Native.None -> + let uu____775 = ((FStar_Options.ml_ish ()) && (FStar_Ident.lid_equals FStar_Parser_Const.effect_ALL_lid @@ -475,332 +519,386 @@ let (check_expected_effect : (((FStar_Options.ml_ish ()) && env.FStar_TypeChecker_Env.lax) && - (let uu____767 = - FStar_Syntax_Util.is_pure_or_ghost_comp c in - Prims.op_Negation uu____767)) in - if uu____764 + (let uu____778 = + FStar_Syntax_Util.is_pure_or_ghost_comp c in + Prims.op_Negation uu____778)) + in + if uu____775 then - let uu____776 = - let uu____779 = - FStar_Syntax_Util.ml_comp - (FStar_Syntax_Util.comp_result c) - e.FStar_Syntax_Syntax.pos in - FStar_Pervasives_Native.Some uu____779 in - (uu____776, c) + let uu____790 = + let uu____793 = + FStar_Syntax_Util.ml_comp ct + e.FStar_Syntax_Syntax.pos + in + FStar_Pervasives_Native.Some uu____793 in + (uu____790, c, false) else - (let uu____784 = FStar_Syntax_Util.is_tot_or_gtot_comp c in - if uu____784 + (let uu____800 = FStar_Syntax_Util.is_tot_or_gtot_comp c + in + if uu____800 then - let uu____793 = tot_or_gtot c in - (FStar_Pervasives_Native.None, uu____793) + let uu____812 = tot_or_gtot c in + (FStar_Pervasives_Native.None, uu____812, false) else - (let uu____798 = - FStar_Syntax_Util.is_pure_or_ghost_comp c in - if uu____798 + (let uu____819 = + FStar_Syntax_Util.is_pure_or_ghost_comp c in + if uu____819 then - let uu____807 = - let uu____810 = tot_or_gtot c in - FStar_Pervasives_Native.Some uu____810 in - (uu____807, c) - else (FStar_Pervasives_Native.None, c))) in + let uu____831 = + let uu____834 = tot_or_gtot c in + FStar_Pervasives_Native.Some uu____834 in + (uu____831, c, false) + else + (let uu____841 = + FStar_Options.trivial_pre_for_unannotated_effectful_fns + () + in + if uu____841 + then + let uu____853 = + let uu____856 = + let uu____857 = + FStar_All.pipe_right ct + (env.FStar_TypeChecker_Env.universe_of + env) + in + FStar_TypeChecker_Env.null_wp_for_eff env + (FStar_Syntax_Util.comp_effect_name c) + uu____857 ct + in + FStar_Pervasives_Native.Some uu____856 in + (uu____853, c, true) + else (FStar_Pervasives_Native.None, c, true)))) + in (match uu____748 with - | (expected_c_opt, c1) -> - let c2 = norm_c env c1 in + | (expected_c_opt,c1,should_return_c) -> + let c0 = c1 in + let c2 = norm_c env c1 in (match expected_c_opt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (e, c2, FStar_TypeChecker_Env.trivial_guard) | FStar_Pervasives_Native.Some expected_c -> let c3 = - let uu____838 = FStar_Syntax_Util.lcomp_of_comp c2 in + let uu____893 = FStar_Syntax_Util.lcomp_of_comp c2 + in FStar_TypeChecker_Util.maybe_assume_result_eq_pure_term - env e uu____838 in - let c4 = FStar_Syntax_Syntax.lcomp_comp c3 in - ((let uu____841 = + env e uu____893 + in + let c4 = FStar_Syntax_Syntax.lcomp_comp c3 in + ((let uu____896 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - FStar_Options.Low in - if uu____841 + FStar_Options.Low + in + if uu____896 then - let uu____845 = FStar_Syntax_Print.term_to_string e in - let uu____847 = - FStar_Syntax_Print.comp_to_string c4 in - let uu____849 = - FStar_Syntax_Print.comp_to_string expected_c in + let uu____900 = FStar_Syntax_Print.term_to_string e + in + let uu____902 = + FStar_Syntax_Print.comp_to_string c4 in + let uu____904 = + FStar_Syntax_Print.comp_to_string expected_c in FStar_Util.print3 "In check_expected_effect, asking rel to solve the problem on e=(%s) and c=(%s) and expected_c=(%s)\n" - uu____845 uu____847 uu____849 + uu____900 uu____902 uu____904 else ()); - (let uu____854 = + (let uu____909 = FStar_TypeChecker_Util.check_comp env e c4 - expected_c in - match uu____854 with - | (e1, uu____868, g) -> + expected_c + in + match uu____909 with + | (e1,uu____923,g) -> let g1 = - let uu____871 = - FStar_TypeChecker_Env.get_range env in - FStar_TypeChecker_Util.label_guard uu____871 - "could not prove post-condition" g in - ((let uu____874 = + let uu____926 = + FStar_TypeChecker_Env.get_range env in + FStar_TypeChecker_Util.label_guard uu____926 + "could not prove post-condition" g + in + ((let uu____929 = FStar_TypeChecker_Env.debug env - FStar_Options.Low in - if uu____874 + FStar_Options.Low + in + if uu____929 then - let uu____877 = + let uu____932 = FStar_Range.string_of_range - e1.FStar_Syntax_Syntax.pos in - let uu____879 = + e1.FStar_Syntax_Syntax.pos + in + let uu____934 = FStar_TypeChecker_Rel.guard_to_string env - g1 in + g1 + in FStar_Util.print2 "(%s) DONE check_expected_effect;\n\tguard is: %s\n" - uu____877 uu____879 + uu____932 uu____934 else ()); (let e2 = FStar_TypeChecker_Util.maybe_lift env e1 (FStar_Syntax_Util.comp_effect_name c4) (FStar_Syntax_Util.comp_effect_name expected_c) - (FStar_Syntax_Util.comp_result c4) in - (e2, expected_c, g1))))))) + (FStar_Syntax_Util.comp_result c4) + in + (e2, + (if should_return_c then c0 else expected_c), + g1))))))) + let no_logical_guard : - 'Auu____894 'Auu____895 . + 'Auu____952 'Auu____953 . FStar_TypeChecker_Env.env -> - ('Auu____894 * 'Auu____895 * FStar_TypeChecker_Env.guard_t) -> - ('Auu____894 * 'Auu____895 * FStar_TypeChecker_Env.guard_t) + ('Auu____952 * 'Auu____953 * FStar_TypeChecker_Env.guard_t) -> + ('Auu____952 * 'Auu____953 * FStar_TypeChecker_Env.guard_t) = - fun env -> - fun uu____917 -> - match uu____917 with - | (te, kt, f) -> - let uu____927 = FStar_TypeChecker_Env.guard_form f in - (match uu____927 with - | FStar_TypeChecker_Common.Trivial -> (te, kt, f) + fun env -> + fun uu____975 -> + match uu____975 with + | (te,kt,f) -> + let uu____985 = FStar_TypeChecker_Env.guard_form f in + (match uu____985 with + | FStar_TypeChecker_Common.Trivial -> (te, kt, f) | FStar_TypeChecker_Common.NonTrivial f1 -> - let uu____935 = + let uu____993 = FStar_TypeChecker_Err.unexpected_non_trivial_precondition_on_term - env f1 in - let uu____941 = FStar_TypeChecker_Env.get_range env in - FStar_Errors.raise_error uu____935 uu____941) + env f1 + in + let uu____999 = FStar_TypeChecker_Env.get_range env in + FStar_Errors.raise_error uu____993 uu____999) + let (print_expected_ty : FStar_TypeChecker_Env.env -> unit) = - fun env -> - let uu____954 = FStar_TypeChecker_Env.expected_typ env in - match uu____954 with - | FStar_Pervasives_Native.None -> + fun env -> + let uu____1012 = FStar_TypeChecker_Env.expected_typ env in + match uu____1012 with + | FStar_Pervasives_Native.None -> FStar_Util.print_string "Expected type is None\n" | FStar_Pervasives_Native.Some t -> - let uu____959 = FStar_Syntax_Print.term_to_string t in - FStar_Util.print1 "Expected type is %s" uu____959 + let uu____1017 = FStar_Syntax_Print.term_to_string t in + FStar_Util.print1 "Expected type is %s" uu____1017 + let rec (get_pat_vars' : FStar_Syntax_Syntax.bv Prims.list -> Prims.bool -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.bv FStar_Util.set) = - fun all -> - fun andlist -> - fun pats -> - let pats1 = FStar_Syntax_Util.unmeta pats in - let uu____1001 = FStar_Syntax_Util.head_and_args pats1 in - match uu____1001 with - | (head1, args) -> - let uu____1046 = - let uu____1061 = - let uu____1062 = FStar_Syntax_Util.un_uinst head1 in - uu____1062.FStar_Syntax_Syntax.n in - (uu____1061, args) in - (match uu____1046 with - | (FStar_Syntax_Syntax.Tm_fvar fv, uu____1078) when + fun all -> + fun andlist -> + fun pats -> + let pats1 = FStar_Syntax_Util.unmeta pats in + let uu____1059 = FStar_Syntax_Util.head_and_args pats1 in + match uu____1059 with + | (head1,args) -> + let uu____1104 = + let uu____1119 = + let uu____1120 = FStar_Syntax_Util.un_uinst head1 in + uu____1120.FStar_Syntax_Syntax.n in + (uu____1119, args) in + (match uu____1104 with + | (FStar_Syntax_Syntax.Tm_fvar fv,uu____1136) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.nil_lid -> if andlist then FStar_Util.as_set all FStar_Syntax_Syntax.order_bv else FStar_Util.new_set FStar_Syntax_Syntax.order_bv - | (FStar_Syntax_Syntax.Tm_fvar fv, - (uu____1105, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____1106))::(hd1, - FStar_Pervasives_Native.None):: - (tl1, FStar_Pervasives_Native.None)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(uu____1163,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit uu____1164))::(hd1,FStar_Pervasives_Native.None + )::(tl1,FStar_Pervasives_Native.None + )::[]) + when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.cons_lid -> - let hdvs = get_pat_vars' all false hd1 in - let tlvs = get_pat_vars' all andlist tl1 in + let hdvs = get_pat_vars' all false hd1 in + let tlvs = get_pat_vars' all andlist tl1 in if andlist then FStar_Util.set_intersect hdvs tlvs else FStar_Util.set_union hdvs tlvs - | (FStar_Syntax_Syntax.Tm_fvar fv, - (uu____1183, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____1184))::(pat, - FStar_Pervasives_Native.None)::[]) + | (FStar_Syntax_Syntax.Tm_fvar + fv,(uu____1241,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit uu____1242))::(pat,FStar_Pervasives_Native.None + )::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.smtpat_lid -> FStar_Syntax_Free.names pat - | (FStar_Syntax_Syntax.Tm_fvar fv, - (subpats, FStar_Pervasives_Native.None)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(subpats,FStar_Pervasives_Native.None )::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.smtpatOr_lid -> get_pat_vars' all true subpats - | uu____1268 -> FStar_Util.new_set FStar_Syntax_Syntax.order_bv) + | uu____1326 -> FStar_Util.new_set FStar_Syntax_Syntax.order_bv) + and (get_pat_vars : FStar_Syntax_Syntax.bv Prims.list -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.bv FStar_Util.set) - = fun all -> fun pats -> get_pat_vars' all false pats + = fun all -> fun pats -> get_pat_vars' all false pats + let check_pat_fvs : - 'Auu____1299 . + 'Auu____1357 . FStar_Range.range -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> - (FStar_Syntax_Syntax.bv * 'Auu____1299) Prims.list -> unit + (FStar_Syntax_Syntax.bv * 'Auu____1357) Prims.list -> unit = - fun rng -> - fun env -> - fun pats -> - fun bs -> + fun rng -> + fun env -> + fun pats -> + fun bs -> let pat_vars = - let uu____1335 = FStar_List.map FStar_Pervasives_Native.fst bs in - let uu____1342 = + let uu____1393 = FStar_List.map FStar_Pervasives_Native.fst bs + in + let uu____1400 = FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.Beta] env pats in - get_pat_vars uu____1335 uu____1342 in - let uu____1343 = + [FStar_TypeChecker_Env.Beta] env pats + in + get_pat_vars uu____1393 uu____1400 in + let uu____1401 = FStar_All.pipe_right bs (FStar_Util.find_opt - (fun uu____1370 -> - match uu____1370 with - | (b, uu____1377) -> - let uu____1378 = FStar_Util.set_mem b pat_vars in - Prims.op_Negation uu____1378)) in - match uu____1343 with - | FStar_Pervasives_Native.None -> () - | FStar_Pervasives_Native.Some (x, uu____1385) -> - let uu____1390 = - let uu____1396 = - let uu____1398 = FStar_Syntax_Print.bv_to_string x in + (fun uu____1428 -> + match uu____1428 with + | (b,uu____1435) -> + let uu____1436 = FStar_Util.set_mem b pat_vars in + Prims.op_Negation uu____1436)) + in + match uu____1401 with + | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.Some (x,uu____1443) -> + let uu____1448 = + let uu____1454 = + let uu____1456 = FStar_Syntax_Print.bv_to_string x in FStar_Util.format1 "Pattern misses at least one bound variable: %s" - uu____1398 in - (FStar_Errors.Warning_SMTPatternIllFormed, uu____1396) in - FStar_Errors.log_issue rng uu____1390 + uu____1456 + in + (FStar_Errors.Warning_SMTPatternIllFormed, uu____1454) in + FStar_Errors.log_issue rng uu____1448 + let (check_no_smt_theory_symbols : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> unit) = - fun en -> - fun t -> + fun en -> + fun t -> let rec pat_terms t1 = - let t2 = FStar_Syntax_Util.unmeta t1 in - let uu____1424 = FStar_Syntax_Util.head_and_args t2 in - match uu____1424 with - | (head1, args) -> - let uu____1469 = - let uu____1484 = - let uu____1485 = FStar_Syntax_Util.un_uinst head1 in - uu____1485.FStar_Syntax_Syntax.n in - (uu____1484, args) in - (match uu____1469 with - | (FStar_Syntax_Syntax.Tm_fvar fv, uu____1501) when + let t2 = FStar_Syntax_Util.unmeta t1 in + let uu____1482 = FStar_Syntax_Util.head_and_args t2 in + match uu____1482 with + | (head1,args) -> + let uu____1527 = + let uu____1542 = + let uu____1543 = FStar_Syntax_Util.un_uinst head1 in + uu____1543.FStar_Syntax_Syntax.n in + (uu____1542, args) in + (match uu____1527 with + | (FStar_Syntax_Syntax.Tm_fvar fv,uu____1559) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.nil_lid -> [] - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____1523::(hd1, uu____1525)::(tl1, uu____1527)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,uu____1581::(hd1,uu____1583)::(tl1,uu____1585)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.cons_lid -> - let uu____1594 = pat_terms hd1 in - let uu____1597 = pat_terms tl1 in - FStar_List.append uu____1594 uu____1597 - | (FStar_Syntax_Syntax.Tm_fvar fv, - uu____1601::(pat, uu____1603)::[]) when + let uu____1652 = pat_terms hd1 in + let uu____1655 = pat_terms tl1 in + FStar_List.append uu____1652 uu____1655 + | (FStar_Syntax_Syntax.Tm_fvar + fv,uu____1659::(pat,uu____1661)::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.smtpat_lid -> [pat] - | (FStar_Syntax_Syntax.Tm_fvar fv, - (subpats, FStar_Pervasives_Native.None)::[]) when + | (FStar_Syntax_Syntax.Tm_fvar + fv,(subpats,FStar_Pervasives_Native.None )::[]) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.smtpatOr_lid -> pat_terms subpats - | uu____1688 -> []) in + | uu____1746 -> []) + in let rec aux t1 = - let uu____1713 = - let uu____1714 = FStar_Syntax_Subst.compress t1 in - uu____1714.FStar_Syntax_Syntax.n in - match uu____1713 with - | FStar_Syntax_Syntax.Tm_bvar uu____1719 -> [] - | FStar_Syntax_Syntax.Tm_name uu____1720 -> [] - | FStar_Syntax_Syntax.Tm_type uu____1721 -> [] - | FStar_Syntax_Syntax.Tm_uvar uu____1722 -> [] - | FStar_Syntax_Syntax.Tm_lazy uu____1735 -> [] - | FStar_Syntax_Syntax.Tm_unknown -> [] - | FStar_Syntax_Syntax.Tm_constant uu____1736 -> [t1] - | FStar_Syntax_Syntax.Tm_abs uu____1737 -> [t1] - | FStar_Syntax_Syntax.Tm_arrow uu____1756 -> [t1] - | FStar_Syntax_Syntax.Tm_refine uu____1771 -> [t1] - | FStar_Syntax_Syntax.Tm_match uu____1778 -> [t1] - | FStar_Syntax_Syntax.Tm_let uu____1801 -> [t1] - | FStar_Syntax_Syntax.Tm_delayed uu____1815 -> [t1] - | FStar_Syntax_Syntax.Tm_quoted uu____1838 -> [t1] + let uu____1771 = + let uu____1772 = FStar_Syntax_Subst.compress t1 in + uu____1772.FStar_Syntax_Syntax.n in + match uu____1771 with + | FStar_Syntax_Syntax.Tm_bvar uu____1777 -> [] + | FStar_Syntax_Syntax.Tm_name uu____1778 -> [] + | FStar_Syntax_Syntax.Tm_type uu____1779 -> [] + | FStar_Syntax_Syntax.Tm_uvar uu____1780 -> [] + | FStar_Syntax_Syntax.Tm_lazy uu____1793 -> [] + | FStar_Syntax_Syntax.Tm_unknown -> [] + | FStar_Syntax_Syntax.Tm_constant uu____1794 -> [t1] + | FStar_Syntax_Syntax.Tm_abs uu____1795 -> [t1] + | FStar_Syntax_Syntax.Tm_arrow uu____1814 -> [t1] + | FStar_Syntax_Syntax.Tm_refine uu____1829 -> [t1] + | FStar_Syntax_Syntax.Tm_match uu____1836 -> [t1] + | FStar_Syntax_Syntax.Tm_let uu____1859 -> [t1] + | FStar_Syntax_Syntax.Tm_delayed uu____1873 -> [t1] + | FStar_Syntax_Syntax.Tm_quoted uu____1896 -> [t1] | FStar_Syntax_Syntax.Tm_fvar fv -> - let uu____1846 = + let uu____1904 = FStar_TypeChecker_Env.fv_has_attr en fv - FStar_Parser_Const.smt_theory_symbol_attr_lid in - if uu____1846 then [t1] else [] - | FStar_Syntax_Syntax.Tm_app (t2, args) -> - let uu____1879 = aux t2 in + FStar_Parser_Const.smt_theory_symbol_attr_lid + in + if uu____1904 then [t1] else [] + | FStar_Syntax_Syntax.Tm_app (t2,args) -> + let uu____1937 = aux t2 in FStar_List.fold_left - (fun acc -> - fun uu____1896 -> - match uu____1896 with - | (t3, uu____1908) -> - let uu____1913 = aux t3 in - FStar_List.append acc uu____1913) uu____1879 args - | FStar_Syntax_Syntax.Tm_ascribed (t2, uu____1917, uu____1918) -> + (fun acc -> + fun uu____1954 -> + match uu____1954 with + | (t3,uu____1966) -> + let uu____1971 = aux t3 in + FStar_List.append acc uu____1971) uu____1937 args + | FStar_Syntax_Syntax.Tm_ascribed (t2,uu____1975,uu____1976) -> aux t2 - | FStar_Syntax_Syntax.Tm_uinst (t2, uu____1960) -> aux t2 - | FStar_Syntax_Syntax.Tm_meta (t2, uu____1966) -> aux t2 in + | FStar_Syntax_Syntax.Tm_uinst (t2,uu____2018) -> aux t2 + | FStar_Syntax_Syntax.Tm_meta (t2,uu____2024) -> aux t2 in let tlist = - let uu____1974 = FStar_All.pipe_right t pat_terms in - FStar_All.pipe_right uu____1974 (FStar_List.collect aux) in + let uu____2032 = FStar_All.pipe_right t pat_terms in + FStar_All.pipe_right uu____2032 (FStar_List.collect aux) in if (FStar_List.length tlist) = (Prims.parse_int "0") then () else (let msg = FStar_List.fold_left - (fun s -> - fun t1 -> - let uu____1997 = - let uu____1999 = FStar_Syntax_Print.term_to_string t1 in - Prims.op_Hat " " uu____1999 in - Prims.op_Hat s uu____1997) "" tlist in - let uu____2003 = - let uu____2009 = + (fun s -> + fun t1 -> + let uu____2055 = + let uu____2057 = FStar_Syntax_Print.term_to_string t1 in + Prims.op_Hat " " uu____2057 in + Prims.op_Hat s uu____2055) "" tlist + in + let uu____2061 = + let uu____2067 = FStar_Util.format1 "Pattern uses these theory symbols or terms that should not be in an smt pattern: %s" - msg in - (FStar_Errors.Warning_SMTPatternIllFormed, uu____2009) in - FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____2003) + msg + in + (FStar_Errors.Warning_SMTPatternIllFormed, uu____2067) in + FStar_Errors.log_issue t.FStar_Syntax_Syntax.pos uu____2061) + let check_smt_pat : - 'Auu____2024 . + 'Auu____2082 . FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> - (FStar_Syntax_Syntax.bv * 'Auu____2024) Prims.list -> + (FStar_Syntax_Syntax.bv * 'Auu____2082) Prims.list -> FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> unit = - fun env -> - fun t -> - fun bs -> - fun c -> - let uu____2065 = FStar_Syntax_Util.is_smt_lemma t in - if uu____2065 + fun env -> + fun t -> + fun bs -> + fun c -> + let uu____2123 = FStar_Syntax_Util.is_smt_lemma t in + if uu____2123 then match c.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Comp - { FStar_Syntax_Syntax.comp_univs = uu____2068; - FStar_Syntax_Syntax.effect_name = uu____2069; - FStar_Syntax_Syntax.result_typ = uu____2070; + { FStar_Syntax_Syntax.comp_univs = uu____2126; + FStar_Syntax_Syntax.effect_name = uu____2127; + FStar_Syntax_Syntax.result_typ = uu____2128; FStar_Syntax_Syntax.effect_args = - _pre::_post::(pats, uu____2074)::[]; - FStar_Syntax_Syntax.flags = uu____2075;_} + _pre::_post::(pats,uu____2132)::[]; + FStar_Syntax_Syntax.flags = uu____2133;_} -> (check_pat_fvs t.FStar_Syntax_Syntax.pos env pats bs; check_no_smt_theory_symbols env pats) - | uu____2137 -> failwith "Impossible" + | uu____2195 -> failwith "Impossible" else () + let (guard_letrecs : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.binders -> @@ -808,569 +906,614 @@ let (guard_letrecs : (FStar_Syntax_Syntax.lbname * FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.univ_names) Prims.list) = - fun env -> - fun actuals -> - fun expected_c -> + fun env -> + fun actuals -> + fun expected_c -> match env.FStar_TypeChecker_Env.letrecs with | [] -> [] | letrecs -> - let r = FStar_TypeChecker_Env.get_range env in + let r = FStar_TypeChecker_Env.get_range env in let env1 = - let uu___345_2200 = env in + let uu___350_2258 = env in { FStar_TypeChecker_Env.solver = - (uu___345_2200.FStar_TypeChecker_Env.solver); + (uu___350_2258.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___345_2200.FStar_TypeChecker_Env.range); + (uu___350_2258.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___345_2200.FStar_TypeChecker_Env.curmodule); + (uu___350_2258.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___345_2200.FStar_TypeChecker_Env.gamma); + (uu___350_2258.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___345_2200.FStar_TypeChecker_Env.gamma_sig); + (uu___350_2258.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___345_2200.FStar_TypeChecker_Env.gamma_cache); + (uu___350_2258.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___345_2200.FStar_TypeChecker_Env.modules); + (uu___350_2258.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___345_2200.FStar_TypeChecker_Env.expected_typ); + (uu___350_2258.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___345_2200.FStar_TypeChecker_Env.sigtab); + (uu___350_2258.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___345_2200.FStar_TypeChecker_Env.attrtab); + (uu___350_2258.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___345_2200.FStar_TypeChecker_Env.is_pattern); + (uu___350_2258.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___345_2200.FStar_TypeChecker_Env.instantiate_imp); + (uu___350_2258.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___345_2200.FStar_TypeChecker_Env.effects); + (uu___350_2258.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___345_2200.FStar_TypeChecker_Env.generalize); + (uu___350_2258.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = []; FStar_TypeChecker_Env.top_level = - (uu___345_2200.FStar_TypeChecker_Env.top_level); + (uu___350_2258.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___345_2200.FStar_TypeChecker_Env.check_uvars); + (uu___350_2258.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___345_2200.FStar_TypeChecker_Env.use_eq); + (uu___350_2258.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___345_2200.FStar_TypeChecker_Env.is_iface); + (uu___350_2258.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___345_2200.FStar_TypeChecker_Env.admit); + (uu___350_2258.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___345_2200.FStar_TypeChecker_Env.lax); + (uu___350_2258.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___345_2200.FStar_TypeChecker_Env.lax_universes); + (uu___350_2258.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___345_2200.FStar_TypeChecker_Env.phase1); + (uu___350_2258.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___345_2200.FStar_TypeChecker_Env.failhard); + (uu___350_2258.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___345_2200.FStar_TypeChecker_Env.nosynth); + (uu___350_2258.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___345_2200.FStar_TypeChecker_Env.uvar_subtyping); + (uu___350_2258.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___345_2200.FStar_TypeChecker_Env.tc_term); + (uu___350_2258.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___345_2200.FStar_TypeChecker_Env.type_of); + (uu___350_2258.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___345_2200.FStar_TypeChecker_Env.universe_of); + (uu___350_2258.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___345_2200.FStar_TypeChecker_Env.check_type_of); + (uu___350_2258.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___345_2200.FStar_TypeChecker_Env.use_bv_sorts); + (uu___350_2258.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___345_2200.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___350_2258.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___345_2200.FStar_TypeChecker_Env.normalized_eff_names); + (uu___350_2258.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___345_2200.FStar_TypeChecker_Env.fv_delta_depths); + (uu___350_2258.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___345_2200.FStar_TypeChecker_Env.proof_ns); + (uu___350_2258.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___345_2200.FStar_TypeChecker_Env.synth_hook); + (uu___350_2258.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___345_2200.FStar_TypeChecker_Env.splice); + (uu___350_2258.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___345_2200.FStar_TypeChecker_Env.postprocess); + (uu___350_2258.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___345_2200.FStar_TypeChecker_Env.is_native_tactic); + (uu___350_2258.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___345_2200.FStar_TypeChecker_Env.identifier_info); + (uu___350_2258.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___345_2200.FStar_TypeChecker_Env.tc_hooks); + (uu___350_2258.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___345_2200.FStar_TypeChecker_Env.dsenv); + (uu___350_2258.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___345_2200.FStar_TypeChecker_Env.nbe) - } in + (uu___350_2258.FStar_TypeChecker_Env.nbe) + } in let precedes = FStar_TypeChecker_Util.fvar_const env1 - FStar_Parser_Const.precedes_lid in + FStar_Parser_Const.precedes_lid + in let decreases_clause bs c = - (let uu____2226 = - FStar_TypeChecker_Env.debug env1 FStar_Options.Low in - if uu____2226 + (let uu____2284 = + FStar_TypeChecker_Env.debug env1 FStar_Options.Low in + if uu____2284 then - let uu____2229 = - FStar_Syntax_Print.binders_to_string ", " bs in - let uu____2232 = FStar_Syntax_Print.comp_to_string c in + let uu____2287 = + FStar_Syntax_Print.binders_to_string ", " bs in + let uu____2290 = FStar_Syntax_Print.comp_to_string c in FStar_Util.print2 "Building a decreases clause over (%s) and %s\n" - uu____2229 uu____2232 + uu____2287 uu____2290 else ()); (let filter_types_and_functions bs1 = FStar_All.pipe_right bs1 (FStar_List.collect - (fun uu____2266 -> - match uu____2266 with - | (b, uu____2276) -> + (fun uu____2324 -> + match uu____2324 with + | (b,uu____2334) -> let t = - let uu____2282 = + let uu____2340 = FStar_Syntax_Util.unrefine - b.FStar_Syntax_Syntax.sort in + b.FStar_Syntax_Syntax.sort + in FStar_TypeChecker_Normalize.unfold_whnf env1 - uu____2282 in + uu____2340 + in (match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_type uu____2285 -> [] - | FStar_Syntax_Syntax.Tm_arrow uu____2286 -> [] - | uu____2301 -> - let uu____2302 = - FStar_Syntax_Syntax.bv_to_name b in - [uu____2302]))) in + | FStar_Syntax_Syntax.Tm_type uu____2343 -> [] + | FStar_Syntax_Syntax.Tm_arrow uu____2344 -> [] + | uu____2359 -> + let uu____2360 = + FStar_Syntax_Syntax.bv_to_name b in + [uu____2360]))) + in let as_lex_list dec = - let uu____2315 = FStar_Syntax_Util.head_and_args dec in - match uu____2315 with - | (head1, uu____2335) -> + let uu____2373 = FStar_Syntax_Util.head_and_args dec in + match uu____2373 with + | (head1,uu____2393) -> (match head1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.lexcons_lid -> dec - | uu____2363 -> mk_lex_list [dec]) in - let cflags = FStar_Syntax_Util.comp_flags c in - let uu____2371 = + | uu____2421 -> mk_lex_list [dec]) + in + let cflags = FStar_Syntax_Util.comp_flags c in + let uu____2429 = FStar_All.pipe_right cflags (FStar_List.tryFind - (fun uu___1_2380 -> - match uu___1_2380 with - | FStar_Syntax_Syntax.DECREASES uu____2382 -> true - | uu____2386 -> false)) in - match uu____2371 with + (fun uu___1_2438 -> + match uu___1_2438 with + | FStar_Syntax_Syntax.DECREASES uu____2440 -> true + | uu____2444 -> false)) + in + match uu____2429 with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.DECREASES dec) -> as_lex_list dec - | uu____2393 -> + | uu____2451 -> let xs = - FStar_All.pipe_right bs filter_types_and_functions in - (match xs with | x::[] -> x | uu____2414 -> mk_lex_list xs)) in - let previous_dec = decreases_clause actuals expected_c in - let guard_one_letrec uu____2443 = - match uu____2443 with - | (l, t, u_names) -> - let uu____2467 = - let uu____2468 = FStar_Syntax_Subst.compress t in - uu____2468.FStar_Syntax_Syntax.n in - (match uu____2467 with - | FStar_Syntax_Syntax.Tm_arrow (formals, c) -> + FStar_All.pipe_right bs filter_types_and_functions in + (match xs with | x::[] -> x | uu____2472 -> mk_lex_list xs)) + in + let previous_dec = decreases_clause actuals expected_c in + let guard_one_letrec uu____2501 = + match uu____2501 with + | (l,t,u_names) -> + let uu____2525 = + let uu____2526 = FStar_Syntax_Subst.compress t in + uu____2526.FStar_Syntax_Syntax.n in + (match uu____2525 with + | FStar_Syntax_Syntax.Tm_arrow (formals,c) -> let formals1 = FStar_All.pipe_right formals (FStar_List.map - (fun uu____2527 -> - match uu____2527 with - | (x, imp) -> - let uu____2546 = - FStar_Syntax_Syntax.is_null_bv x in - if uu____2546 + (fun uu____2585 -> + match uu____2585 with + | (x,imp) -> + let uu____2604 = + FStar_Syntax_Syntax.is_null_bv x in + if uu____2604 then - let uu____2555 = - let uu____2556 = - let uu____2559 = + let uu____2613 = + let uu____2614 = + let uu____2617 = FStar_Syntax_Syntax.range_of_bv - x in + x + in FStar_Pervasives_Native.Some - uu____2559 in + uu____2617 + in FStar_Syntax_Syntax.new_bv - uu____2556 - x.FStar_Syntax_Syntax.sort in - (uu____2555, imp) - else (x, imp))) in - let uu____2566 = - FStar_Syntax_Subst.open_comp formals1 c in - (match uu____2566 with - | (formals2, c1) -> - let dec = decreases_clause formals2 c1 in + uu____2614 + x.FStar_Syntax_Syntax.sort + in + (uu____2613, imp) + else (x, imp))) + in + let uu____2624 = + FStar_Syntax_Subst.open_comp formals1 c in + (match uu____2624 with + | (formals2,c1) -> + let dec = decreases_clause formals2 c1 in let precedes1 = - let uu____2587 = - let uu____2592 = - let uu____2593 = - FStar_Syntax_Syntax.as_arg dec in - let uu____2602 = - let uu____2613 = - FStar_Syntax_Syntax.as_arg previous_dec in - [uu____2613] in - uu____2593 :: uu____2602 in + let uu____2645 = + let uu____2650 = + let uu____2651 = + FStar_Syntax_Syntax.as_arg dec in + let uu____2660 = + let uu____2671 = + FStar_Syntax_Syntax.as_arg previous_dec + in + [uu____2671] in + uu____2651 :: uu____2660 in FStar_Syntax_Syntax.mk_Tm_app precedes - uu____2592 in - uu____2587 FStar_Pervasives_Native.None r in + uu____2650 + in + uu____2645 FStar_Pervasives_Native.None r in let precedes2 = FStar_TypeChecker_Util.label "Could not prove termination of this recursive call" - r precedes1 in - let uu____2648 = FStar_Util.prefix formals2 in - (match uu____2648 with - | (bs, (last1, imp)) -> + r precedes1 + in + let uu____2706 = FStar_Util.prefix formals2 in + (match uu____2706 with + | (bs,(last1,imp)) -> let last2 = - let uu___412_2711 = last1 in - let uu____2712 = - FStar_Syntax_Util.refine last1 precedes2 in + let uu___417_2769 = last1 in + let uu____2770 = + FStar_Syntax_Util.refine last1 precedes2 + in { FStar_Syntax_Syntax.ppname = - (uu___412_2711.FStar_Syntax_Syntax.ppname); + (uu___417_2769.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___412_2711.FStar_Syntax_Syntax.index); - FStar_Syntax_Syntax.sort = uu____2712 - } in + (uu___417_2769.FStar_Syntax_Syntax.index); + FStar_Syntax_Syntax.sort = uu____2770 + } in let refined_formals = - FStar_List.append bs [(last2, imp)] in + FStar_List.append bs [(last2, imp)] in let t' = - FStar_Syntax_Util.arrow refined_formals c1 in - ((let uu____2748 = + FStar_Syntax_Util.arrow refined_formals c1 + in + ((let uu____2806 = FStar_TypeChecker_Env.debug env1 - FStar_Options.Low in - if uu____2748 + FStar_Options.Low + in + if uu____2806 then - let uu____2751 = - FStar_Syntax_Print.lbname_to_string l in - let uu____2753 = - FStar_Syntax_Print.term_to_string t in - let uu____2755 = - FStar_Syntax_Print.term_to_string t' in + let uu____2809 = + FStar_Syntax_Print.lbname_to_string l + in + let uu____2811 = + FStar_Syntax_Print.term_to_string t + in + let uu____2813 = + FStar_Syntax_Print.term_to_string t' + in FStar_Util.print3 "Refined let rec %s\n\tfrom type %s\n\tto type %s\n" - uu____2751 uu____2753 uu____2755 + uu____2809 uu____2811 uu____2813 else ()); (l, t', u_names)))) - | uu____2762 -> + | uu____2820 -> FStar_Errors.raise_error (FStar_Errors.Fatal_ExpectedArrowAnnotatedType, "Annotated type of 'let rec' must be an arrow") - t.FStar_Syntax_Syntax.pos) in + t.FStar_Syntax_Syntax.pos) + in FStar_All.pipe_right letrecs (FStar_List.map guard_one_letrec) + let (wrap_guard_with_tactic_opt : FStar_Syntax_Syntax.term FStar_Pervasives_Native.option -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) = - fun topt -> - fun g -> + fun topt -> + fun g -> match topt with - | FStar_Pervasives_Native.None -> g + | FStar_Pervasives_Native.None -> g | FStar_Pervasives_Native.Some tactic -> FStar_TypeChecker_Env.always_map_guard g - (fun g1 -> - let uu____2826 = - FStar_Syntax_Util.mk_squash FStar_Syntax_Syntax.U_zero g1 in - FStar_TypeChecker_Common.mk_by_tactic tactic uu____2826) + (fun g1 -> + let uu____2884 = + FStar_Syntax_Util.mk_squash FStar_Syntax_Syntax.U_zero g1 + in + FStar_TypeChecker_Common.mk_by_tactic tactic uu____2884) + let rec (tc_term : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - (let uu____3439 = FStar_TypeChecker_Env.debug env FStar_Options.Medium in - if uu____3439 + fun env -> + fun e -> + (let uu____3497 = FStar_TypeChecker_Env.debug env FStar_Options.Medium + in + if uu____3497 then - let uu____3442 = - let uu____3444 = FStar_TypeChecker_Env.get_range env in - FStar_All.pipe_left FStar_Range.string_of_range uu____3444 in - let uu____3446 = FStar_Syntax_Print.term_to_string e in - let uu____3448 = - let uu____3450 = FStar_Syntax_Subst.compress e in - FStar_Syntax_Print.tag_of_term uu____3450 in - FStar_Util.print3 "(%s) Starting tc_term of %s (%s) {\n" uu____3442 - uu____3446 uu____3448 + let uu____3500 = + let uu____3502 = FStar_TypeChecker_Env.get_range env in + FStar_All.pipe_left FStar_Range.string_of_range uu____3502 in + let uu____3504 = FStar_Syntax_Print.term_to_string e in + let uu____3506 = + let uu____3508 = FStar_Syntax_Subst.compress e in + FStar_Syntax_Print.tag_of_term uu____3508 in + FStar_Util.print3 "(%s) Starting tc_term of %s (%s) {\n" uu____3500 + uu____3504 uu____3506 else ()); - (let uu____3454 = + (let uu____3512 = FStar_Util.record_time - (fun uu____3473 -> + (fun uu____3531 -> tc_maybe_toplevel_term - (let uu___431_3476 = env in + (let uu___436_3534 = env in { FStar_TypeChecker_Env.solver = - (uu___431_3476.FStar_TypeChecker_Env.solver); + (uu___436_3534.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___431_3476.FStar_TypeChecker_Env.range); + (uu___436_3534.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___431_3476.FStar_TypeChecker_Env.curmodule); + (uu___436_3534.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___431_3476.FStar_TypeChecker_Env.gamma); + (uu___436_3534.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___431_3476.FStar_TypeChecker_Env.gamma_sig); + (uu___436_3534.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___431_3476.FStar_TypeChecker_Env.gamma_cache); + (uu___436_3534.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___431_3476.FStar_TypeChecker_Env.modules); + (uu___436_3534.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___431_3476.FStar_TypeChecker_Env.expected_typ); + (uu___436_3534.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___431_3476.FStar_TypeChecker_Env.sigtab); + (uu___436_3534.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___431_3476.FStar_TypeChecker_Env.attrtab); + (uu___436_3534.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___431_3476.FStar_TypeChecker_Env.is_pattern); + (uu___436_3534.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___431_3476.FStar_TypeChecker_Env.instantiate_imp); + (uu___436_3534.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___431_3476.FStar_TypeChecker_Env.effects); + (uu___436_3534.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___431_3476.FStar_TypeChecker_Env.generalize); + (uu___436_3534.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___431_3476.FStar_TypeChecker_Env.letrecs); + (uu___436_3534.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = false; FStar_TypeChecker_Env.check_uvars = - (uu___431_3476.FStar_TypeChecker_Env.check_uvars); + (uu___436_3534.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___431_3476.FStar_TypeChecker_Env.use_eq); + (uu___436_3534.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___431_3476.FStar_TypeChecker_Env.is_iface); + (uu___436_3534.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___431_3476.FStar_TypeChecker_Env.admit); + (uu___436_3534.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___431_3476.FStar_TypeChecker_Env.lax); + (uu___436_3534.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___431_3476.FStar_TypeChecker_Env.lax_universes); + (uu___436_3534.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___431_3476.FStar_TypeChecker_Env.phase1); + (uu___436_3534.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___431_3476.FStar_TypeChecker_Env.failhard); + (uu___436_3534.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___431_3476.FStar_TypeChecker_Env.nosynth); + (uu___436_3534.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___431_3476.FStar_TypeChecker_Env.uvar_subtyping); + (uu___436_3534.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___431_3476.FStar_TypeChecker_Env.tc_term); + (uu___436_3534.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___431_3476.FStar_TypeChecker_Env.type_of); + (uu___436_3534.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___431_3476.FStar_TypeChecker_Env.universe_of); + (uu___436_3534.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___431_3476.FStar_TypeChecker_Env.check_type_of); + (uu___436_3534.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___431_3476.FStar_TypeChecker_Env.use_bv_sorts); + (uu___436_3534.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___431_3476.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___436_3534.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___431_3476.FStar_TypeChecker_Env.normalized_eff_names); + (uu___436_3534.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___431_3476.FStar_TypeChecker_Env.fv_delta_depths); + (uu___436_3534.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___431_3476.FStar_TypeChecker_Env.proof_ns); + (uu___436_3534.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___431_3476.FStar_TypeChecker_Env.synth_hook); + (uu___436_3534.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___431_3476.FStar_TypeChecker_Env.splice); + (uu___436_3534.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___431_3476.FStar_TypeChecker_Env.postprocess); + (uu___436_3534.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___431_3476.FStar_TypeChecker_Env.is_native_tactic); + (uu___436_3534.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___431_3476.FStar_TypeChecker_Env.identifier_info); + (uu___436_3534.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___431_3476.FStar_TypeChecker_Env.tc_hooks); + (uu___436_3534.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___431_3476.FStar_TypeChecker_Env.dsenv); + (uu___436_3534.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___431_3476.FStar_TypeChecker_Env.nbe) - }) e) in - match uu____3454 with - | (r, ms) -> - ((let uu____3501 = - FStar_TypeChecker_Env.debug env FStar_Options.Medium in - if uu____3501 + (uu___436_3534.FStar_TypeChecker_Env.nbe) + }) e) + in + match uu____3512 with + | (r,ms) -> + ((let uu____3559 = + FStar_TypeChecker_Env.debug env FStar_Options.Medium in + if uu____3559 then - ((let uu____3505 = - let uu____3507 = FStar_TypeChecker_Env.get_range env in - FStar_All.pipe_left FStar_Range.string_of_range uu____3507 in - let uu____3509 = FStar_Syntax_Print.term_to_string e in - let uu____3511 = - let uu____3513 = FStar_Syntax_Subst.compress e in - FStar_Syntax_Print.tag_of_term uu____3513 in - let uu____3514 = FStar_Util.string_of_int ms in + ((let uu____3563 = + let uu____3565 = FStar_TypeChecker_Env.get_range env in + FStar_All.pipe_left FStar_Range.string_of_range uu____3565 + in + let uu____3567 = FStar_Syntax_Print.term_to_string e in + let uu____3569 = + let uu____3571 = FStar_Syntax_Subst.compress e in + FStar_Syntax_Print.tag_of_term uu____3571 in + let uu____3572 = FStar_Util.string_of_int ms in FStar_Util.print4 "(%s) } tc_term of %s (%s) took %sms\n" - uu____3505 uu____3509 uu____3511 uu____3514); - (let uu____3517 = r in - match uu____3517 with - | (e1, uu____3525, uu____3526) -> - let uu____3527 = - let uu____3529 = FStar_TypeChecker_Env.get_range env in + uu____3563 uu____3567 uu____3569 uu____3572); + (let uu____3575 = r in + match uu____3575 with + | (e1,uu____3583,uu____3584) -> + let uu____3585 = + let uu____3587 = FStar_TypeChecker_Env.get_range env + in FStar_All.pipe_left FStar_Range.string_of_range - uu____3529 in - let uu____3531 = FStar_Syntax_Print.term_to_string e1 in - let uu____3533 = - let uu____3535 = FStar_Syntax_Subst.compress e1 in - FStar_Syntax_Print.tag_of_term uu____3535 in - FStar_Util.print3 "(%s) Result is: %s (%s)\n" uu____3527 - uu____3531 uu____3533)) + uu____3587 + in + let uu____3589 = FStar_Syntax_Print.term_to_string e1 + in + let uu____3591 = + let uu____3593 = FStar_Syntax_Subst.compress e1 in + FStar_Syntax_Print.tag_of_term uu____3593 in + FStar_Util.print3 "(%s) Result is: %s (%s)\n" uu____3585 + uu____3589 uu____3591)) else ()); r)) + and (tc_maybe_toplevel_term : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> + fun env -> + fun e -> let env1 = if e.FStar_Syntax_Syntax.pos = FStar_Range.dummyRange then env - else FStar_TypeChecker_Env.set_range env e.FStar_Syntax_Syntax.pos in - let top = FStar_Syntax_Subst.compress e in - (let uu____3553 = FStar_TypeChecker_Env.debug env1 FStar_Options.Medium in - if uu____3553 + else FStar_TypeChecker_Env.set_range env e.FStar_Syntax_Syntax.pos + in + let top = FStar_Syntax_Subst.compress e in + (let uu____3611 = FStar_TypeChecker_Env.debug env1 FStar_Options.Medium + in + if uu____3611 then - let uu____3556 = - let uu____3558 = FStar_TypeChecker_Env.get_range env1 in - FStar_All.pipe_left FStar_Range.string_of_range uu____3558 in - let uu____3560 = FStar_Syntax_Print.tag_of_term top in - let uu____3562 = FStar_Syntax_Print.term_to_string top in - FStar_Util.print3 "Typechecking %s (%s): %s\n" uu____3556 uu____3560 - uu____3562 + let uu____3614 = + let uu____3616 = FStar_TypeChecker_Env.get_range env1 in + FStar_All.pipe_left FStar_Range.string_of_range uu____3616 in + let uu____3618 = FStar_Syntax_Print.tag_of_term top in + let uu____3620 = FStar_Syntax_Print.term_to_string top in + FStar_Util.print3 "Typechecking %s (%s): %s\n" uu____3614 uu____3618 + uu____3620 else ()); (match top.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_delayed uu____3573 -> failwith "Impossible" - | FStar_Syntax_Syntax.Tm_uinst uu____3603 -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_uvar uu____3610 -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_bvar uu____3623 -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_name uu____3624 -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_fvar uu____3625 -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_constant uu____3626 -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_abs uu____3627 -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_arrow uu____3646 -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_refine uu____3661 -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_type uu____3668 -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_unknown -> tc_value env1 e - | FStar_Syntax_Syntax.Tm_quoted (qt, qi) -> - let projl uu___2_3684 = - match uu___2_3684 with + | FStar_Syntax_Syntax.Tm_delayed uu____3631 -> failwith "Impossible" + | FStar_Syntax_Syntax.Tm_uinst uu____3661 -> tc_value env1 e + | FStar_Syntax_Syntax.Tm_uvar uu____3668 -> tc_value env1 e + | FStar_Syntax_Syntax.Tm_bvar uu____3681 -> tc_value env1 e + | FStar_Syntax_Syntax.Tm_name uu____3682 -> tc_value env1 e + | FStar_Syntax_Syntax.Tm_fvar uu____3683 -> tc_value env1 e + | FStar_Syntax_Syntax.Tm_constant uu____3684 -> tc_value env1 e + | FStar_Syntax_Syntax.Tm_abs uu____3685 -> tc_value env1 e + | FStar_Syntax_Syntax.Tm_arrow uu____3704 -> tc_value env1 e + | FStar_Syntax_Syntax.Tm_refine uu____3719 -> tc_value env1 e + | FStar_Syntax_Syntax.Tm_type uu____3726 -> tc_value env1 e + | FStar_Syntax_Syntax.Tm_unknown -> tc_value env1 e + | FStar_Syntax_Syntax.Tm_quoted (qt,qi) -> + let projl uu___2_3742 = + match uu___2_3742 with | FStar_Util.Inl x -> x - | FStar_Util.Inr uu____3690 -> failwith "projl fail" in + | FStar_Util.Inr uu____3748 -> failwith "projl fail" in let non_trivial_antiquotes qi1 = let is_name1 t = - let uu____3706 = - let uu____3707 = FStar_Syntax_Subst.compress t in - uu____3707.FStar_Syntax_Syntax.n in - match uu____3706 with - | FStar_Syntax_Syntax.Tm_name uu____3711 -> true - | uu____3713 -> false in + let uu____3764 = + let uu____3765 = FStar_Syntax_Subst.compress t in + uu____3765.FStar_Syntax_Syntax.n in + match uu____3764 with + | FStar_Syntax_Syntax.Tm_name uu____3769 -> true + | uu____3771 -> false in FStar_Util.for_some - (fun uu____3723 -> - match uu____3723 with - | (uu____3729, t) -> - let uu____3731 = is_name1 t in - Prims.op_Negation uu____3731) - qi1.FStar_Syntax_Syntax.antiquotes in + (fun uu____3781 -> + match uu____3781 with + | (uu____3787,t) -> + let uu____3789 = is_name1 t in + Prims.op_Negation uu____3789) + qi1.FStar_Syntax_Syntax.antiquotes + in (match qi.FStar_Syntax_Syntax.qkind with - | FStar_Syntax_Syntax.Quote_static when non_trivial_antiquotes qi - -> - let e0 = e in + | FStar_Syntax_Syntax.Quote_static when + non_trivial_antiquotes qi -> + let e0 = e in let newbvs = FStar_List.map - (fun uu____3750 -> + (fun uu____3808 -> FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None FStar_Syntax_Syntax.t_term) - qi.FStar_Syntax_Syntax.antiquotes in + qi.FStar_Syntax_Syntax.antiquotes + in let z = - FStar_List.zip qi.FStar_Syntax_Syntax.antiquotes newbvs in + FStar_List.zip qi.FStar_Syntax_Syntax.antiquotes newbvs in let lbs = FStar_List.map - (fun uu____3793 -> - match uu____3793 with - | ((bv, t), bv') -> + (fun uu____3851 -> + match uu____3851 with + | ((bv,t),bv') -> FStar_Syntax_Util.close_univs_and_mk_letbinding FStar_Pervasives_Native.None (FStar_Util.Inl bv') [] FStar_Syntax_Syntax.t_term FStar_Parser_Const.effect_Tot_lid t [] - t.FStar_Syntax_Syntax.pos) z in + t.FStar_Syntax_Syntax.pos) z + in let qi1 = - let uu___504_3822 = qi in - let uu____3823 = + let uu___509_3880 = qi in + let uu____3881 = FStar_List.map - (fun uu____3851 -> - match uu____3851 with - | ((bv, uu____3867), bv') -> - let uu____3879 = - FStar_Syntax_Syntax.bv_to_name bv' in - (bv, uu____3879)) z in + (fun uu____3909 -> + match uu____3909 with + | ((bv,uu____3925),bv') -> + let uu____3937 = + FStar_Syntax_Syntax.bv_to_name bv' in + (bv, uu____3937)) z + in { FStar_Syntax_Syntax.qkind = - (uu___504_3822.FStar_Syntax_Syntax.qkind); - FStar_Syntax_Syntax.antiquotes = uu____3823 - } in + (uu___509_3880.FStar_Syntax_Syntax.qkind); + FStar_Syntax_Syntax.antiquotes = uu____3881 + } in let nq = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_quoted (qt, qi1)) - FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos + in let e1 = FStar_List.fold_left - (fun t -> - fun lb -> - let uu____3891 = - let uu____3898 = - let uu____3899 = - let uu____3913 = - let uu____3916 = - let uu____3917 = - let uu____3924 = - projl lb.FStar_Syntax_Syntax.lbname in - FStar_Syntax_Syntax.mk_binder uu____3924 in - [uu____3917] in - FStar_Syntax_Subst.close uu____3916 t in - ((false, [lb]), uu____3913) in - FStar_Syntax_Syntax.Tm_let uu____3899 in - FStar_Syntax_Syntax.mk uu____3898 in - uu____3891 FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos) nq lbs in + (fun t -> + fun lb -> + let uu____3949 = + let uu____3956 = + let uu____3957 = + let uu____3971 = + let uu____3974 = + let uu____3975 = + let uu____3982 = + projl lb.FStar_Syntax_Syntax.lbname + in + FStar_Syntax_Syntax.mk_binder uu____3982 + in + [uu____3975] in + FStar_Syntax_Subst.close uu____3974 t in + ((false, [lb]), uu____3971) in + FStar_Syntax_Syntax.Tm_let uu____3957 in + FStar_Syntax_Syntax.mk uu____3956 in + uu____3949 FStar_Pervasives_Native.None + top.FStar_Syntax_Syntax.pos) nq lbs + in tc_maybe_toplevel_term env1 e1 - | FStar_Syntax_Syntax.Quote_static -> - let aqs = qi.FStar_Syntax_Syntax.antiquotes in + | FStar_Syntax_Syntax.Quote_static -> + let aqs = qi.FStar_Syntax_Syntax.antiquotes in let env_tm = FStar_TypeChecker_Env.set_expected_typ env1 - FStar_Syntax_Syntax.t_term in - let uu____3960 = + FStar_Syntax_Syntax.t_term + in + let uu____4018 = FStar_List.fold_right - (fun uu____3996 -> - fun uu____3997 -> - match (uu____3996, uu____3997) with - | ((bv, tm), (aqs_rev, guard)) -> - let uu____4066 = tc_term env_tm tm in - (match uu____4066 with - | (tm1, uu____4084, g) -> - let uu____4086 = - FStar_TypeChecker_Env.conj_guard g guard in - (((bv, tm1) :: aqs_rev), uu____4086))) aqs - ([], FStar_TypeChecker_Env.trivial_guard) in - (match uu____3960 with - | (aqs_rev, guard) -> + (fun uu____4054 -> + fun uu____4055 -> + match (uu____4054, uu____4055) with + | ((bv,tm),(aqs_rev,guard)) -> + let uu____4124 = tc_term env_tm tm in + (match uu____4124 with + | (tm1,uu____4142,g) -> + let uu____4144 = + FStar_TypeChecker_Env.conj_guard g guard + in + (((bv, tm1) :: aqs_rev), uu____4144))) aqs + ([], FStar_TypeChecker_Env.trivial_guard) + in + (match uu____4018 with + | (aqs_rev,guard) -> let qi1 = - let uu___532_4128 = qi in + let uu___537_4186 = qi in { FStar_Syntax_Syntax.qkind = - (uu___532_4128.FStar_Syntax_Syntax.qkind); + (uu___537_4186.FStar_Syntax_Syntax.qkind); FStar_Syntax_Syntax.antiquotes = (FStar_List.rev aqs_rev) - } in + } in let tm = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_quoted (qt, qi1)) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in + top.FStar_Syntax_Syntax.pos + in value_check_expected_typ env1 tm (FStar_Util.Inl FStar_Syntax_Syntax.t_term) guard) - | FStar_Syntax_Syntax.Quote_dynamic -> + | FStar_Syntax_Syntax.Quote_dynamic -> let c = FStar_Syntax_Syntax.mk_Comp { @@ -1384,117 +1527,121 @@ and (tc_maybe_toplevel_term : FStar_Syntax_Syntax.flags = [FStar_Syntax_Syntax.SOMETRIVIAL; FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION] - } in - let uu____4147 = - FStar_TypeChecker_Env.clear_expected_typ env1 in - (match uu____4147 with - | (env', uu____4161) -> - let uu____4166 = + } + in + let uu____4205 = + FStar_TypeChecker_Env.clear_expected_typ env1 in + (match uu____4205 with + | (env',uu____4219) -> + let uu____4224 = tc_term - (let uu___541_4175 = env' in + (let uu___546_4233 = env' in { FStar_TypeChecker_Env.solver = - (uu___541_4175.FStar_TypeChecker_Env.solver); + (uu___546_4233.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___541_4175.FStar_TypeChecker_Env.range); + (uu___546_4233.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___541_4175.FStar_TypeChecker_Env.curmodule); + (uu___546_4233.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___541_4175.FStar_TypeChecker_Env.gamma); + (uu___546_4233.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___541_4175.FStar_TypeChecker_Env.gamma_sig); + (uu___546_4233.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___541_4175.FStar_TypeChecker_Env.gamma_cache); + (uu___546_4233.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___541_4175.FStar_TypeChecker_Env.modules); + (uu___546_4233.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___541_4175.FStar_TypeChecker_Env.expected_typ); + (uu___546_4233.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___541_4175.FStar_TypeChecker_Env.sigtab); + (uu___546_4233.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___541_4175.FStar_TypeChecker_Env.attrtab); + (uu___546_4233.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___541_4175.FStar_TypeChecker_Env.is_pattern); + (uu___546_4233.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___541_4175.FStar_TypeChecker_Env.instantiate_imp); + (uu___546_4233.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___541_4175.FStar_TypeChecker_Env.effects); + (uu___546_4233.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___541_4175.FStar_TypeChecker_Env.generalize); + (uu___546_4233.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___541_4175.FStar_TypeChecker_Env.letrecs); + (uu___546_4233.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___541_4175.FStar_TypeChecker_Env.top_level); + (uu___546_4233.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___541_4175.FStar_TypeChecker_Env.check_uvars); + (uu___546_4233.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___541_4175.FStar_TypeChecker_Env.use_eq); + (uu___546_4233.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___541_4175.FStar_TypeChecker_Env.is_iface); + (uu___546_4233.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___541_4175.FStar_TypeChecker_Env.admit); + (uu___546_4233.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___541_4175.FStar_TypeChecker_Env.lax_universes); + (uu___546_4233.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___541_4175.FStar_TypeChecker_Env.phase1); + (uu___546_4233.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___541_4175.FStar_TypeChecker_Env.failhard); + (uu___546_4233.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___541_4175.FStar_TypeChecker_Env.nosynth); + (uu___546_4233.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___541_4175.FStar_TypeChecker_Env.uvar_subtyping); + (uu___546_4233.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___541_4175.FStar_TypeChecker_Env.tc_term); + (uu___546_4233.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___541_4175.FStar_TypeChecker_Env.type_of); + (uu___546_4233.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___541_4175.FStar_TypeChecker_Env.universe_of); + (uu___546_4233.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___541_4175.FStar_TypeChecker_Env.check_type_of); + (uu___546_4233.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___541_4175.FStar_TypeChecker_Env.use_bv_sorts); + (uu___546_4233.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___541_4175.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___546_4233.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___541_4175.FStar_TypeChecker_Env.normalized_eff_names); + (uu___546_4233.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___541_4175.FStar_TypeChecker_Env.fv_delta_depths); + (uu___546_4233.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___541_4175.FStar_TypeChecker_Env.proof_ns); + (uu___546_4233.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___541_4175.FStar_TypeChecker_Env.synth_hook); + (uu___546_4233.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___541_4175.FStar_TypeChecker_Env.splice); + (uu___546_4233.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___541_4175.FStar_TypeChecker_Env.postprocess); + (uu___546_4233.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___541_4175.FStar_TypeChecker_Env.is_native_tactic); + (uu___546_4233.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___541_4175.FStar_TypeChecker_Env.identifier_info); + (uu___546_4233.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___541_4175.FStar_TypeChecker_Env.tc_hooks); + (uu___546_4233.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___541_4175.FStar_TypeChecker_Env.dsenv); + (uu___546_4233.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___541_4175.FStar_TypeChecker_Env.nbe) - }) qt in - (match uu____4166 with - | (qt1, uu____4184, uu____4185) -> + (uu___546_4233.FStar_TypeChecker_Env.nbe) + }) qt + in + (match uu____4224 with + | (qt1,uu____4242,uu____4243) -> let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_quoted (qt1, qi)) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in - let uu____4191 = - let uu____4198 = - let uu____4203 = - FStar_Syntax_Util.lcomp_of_comp c in - FStar_Util.Inr uu____4203 in - value_check_expected_typ env1 top uu____4198 - FStar_TypeChecker_Env.trivial_guard in - (match uu____4191 with - | (t1, lc, g) -> + top.FStar_Syntax_Syntax.pos + in + let uu____4249 = + let uu____4256 = + let uu____4261 = + FStar_Syntax_Util.lcomp_of_comp c in + FStar_Util.Inr uu____4261 in + value_check_expected_typ env1 top uu____4256 + FStar_TypeChecker_Env.trivial_guard + in + (match uu____4249 with + | (t1,lc,g) -> let t2 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta @@ -1504,161 +1651,170 @@ and (tc_maybe_toplevel_term : FStar_Parser_Const.effect_TAC_lid, FStar_Syntax_Syntax.t_term)))) FStar_Pervasives_Native.None - t1.FStar_Syntax_Syntax.pos in + t1.FStar_Syntax_Syntax.pos + in (t2, lc, g))))) | FStar_Syntax_Syntax.Tm_lazy - { FStar_Syntax_Syntax.blob = uu____4220; + { FStar_Syntax_Syntax.blob = uu____4278; FStar_Syntax_Syntax.lkind = FStar_Syntax_Syntax.Lazy_embedding - uu____4221; - FStar_Syntax_Syntax.ltyp = uu____4222; - FStar_Syntax_Syntax.rng = uu____4223;_} + uu____4279; + FStar_Syntax_Syntax.ltyp = uu____4280; + FStar_Syntax_Syntax.rng = uu____4281;_} -> - let uu____4234 = FStar_Syntax_Util.unlazy top in - tc_term env1 uu____4234 + let uu____4292 = FStar_Syntax_Util.unlazy top in + tc_term env1 uu____4292 | FStar_Syntax_Syntax.Tm_lazy i -> value_check_expected_typ env1 top (FStar_Util.Inl (i.FStar_Syntax_Syntax.ltyp)) FStar_TypeChecker_Env.trivial_guard | FStar_Syntax_Syntax.Tm_meta - (e1, FStar_Syntax_Syntax.Meta_desugared - (FStar_Syntax_Syntax.Meta_smt_pat)) + (e1,FStar_Syntax_Syntax.Meta_desugared + (FStar_Syntax_Syntax.Meta_smt_pat )) -> - let uu____4241 = tc_tot_or_gtot_term env1 e1 in - (match uu____4241 with - | (e2, c, g) -> + let uu____4299 = tc_tot_or_gtot_term env1 e1 in + (match uu____4299 with + | (e2,c,g) -> let g1 = - let uu___571_4258 = g in + let uu___576_4316 = g in { FStar_TypeChecker_Env.guard_f = FStar_TypeChecker_Common.Trivial; FStar_TypeChecker_Env.deferred = - (uu___571_4258.FStar_TypeChecker_Env.deferred); + (uu___576_4316.FStar_TypeChecker_Env.deferred); FStar_TypeChecker_Env.univ_ineqs = - (uu___571_4258.FStar_TypeChecker_Env.univ_ineqs); + (uu___576_4316.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = - (uu___571_4258.FStar_TypeChecker_Env.implicits) - } in - let uu____4259 = + (uu___576_4316.FStar_TypeChecker_Env.implicits) + } in + let uu____4317 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta (e2, (FStar_Syntax_Syntax.Meta_desugared FStar_Syntax_Syntax.Meta_smt_pat))) - FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos in - (uu____4259, c, g1)) + FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos + in + (uu____4317, c, g1)) | FStar_Syntax_Syntax.Tm_meta - (e1, FStar_Syntax_Syntax.Meta_pattern (names1, pats)) -> - let uu____4301 = FStar_Syntax_Util.type_u () in - (match uu____4301 with - | (t, u) -> - let uu____4314 = tc_check_tot_or_gtot_term env1 e1 t in - (match uu____4314 with - | (e2, c, g) -> - let uu____4330 = - let uu____4347 = - FStar_TypeChecker_Env.clear_expected_typ env1 in - match uu____4347 with - | (env2, uu____4371) -> tc_smt_pats env2 pats in - (match uu____4330 with - | (pats1, g') -> + (e1,FStar_Syntax_Syntax.Meta_pattern (names1,pats)) -> + let uu____4359 = FStar_Syntax_Util.type_u () in + (match uu____4359 with + | (t,u) -> + let uu____4372 = tc_check_tot_or_gtot_term env1 e1 t in + (match uu____4372 with + | (e2,c,g) -> + let uu____4388 = + let uu____4405 = + FStar_TypeChecker_Env.clear_expected_typ env1 in + match uu____4405 with + | (env2,uu____4429) -> tc_smt_pats env2 pats in + (match uu____4388 with + | (pats1,g') -> let g'1 = - let uu___594_4409 = g' in + let uu___599_4467 = g' in { FStar_TypeChecker_Env.guard_f = FStar_TypeChecker_Common.Trivial; FStar_TypeChecker_Env.deferred = - (uu___594_4409.FStar_TypeChecker_Env.deferred); + (uu___599_4467.FStar_TypeChecker_Env.deferred); FStar_TypeChecker_Env.univ_ineqs = - (uu___594_4409.FStar_TypeChecker_Env.univ_ineqs); + (uu___599_4467.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = - (uu___594_4409.FStar_TypeChecker_Env.implicits) - } in - let uu____4410 = + (uu___599_4467.FStar_TypeChecker_Env.implicits) + } in + let uu____4468 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta (e2, (FStar_Syntax_Syntax.Meta_pattern (names1, pats1)))) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in - let uu____4429 = - FStar_TypeChecker_Env.conj_guard g g'1 in - (uu____4410, c, uu____4429)))) + top.FStar_Syntax_Syntax.pos + in + let uu____4487 = + FStar_TypeChecker_Env.conj_guard g g'1 in + (uu____4468, c, uu____4487)))) | FStar_Syntax_Syntax.Tm_meta - (e1, FStar_Syntax_Syntax.Meta_desugared - (FStar_Syntax_Syntax.Sequence)) + (e1,FStar_Syntax_Syntax.Meta_desugared + (FStar_Syntax_Syntax.Sequence )) -> - let uu____4435 = - let uu____4436 = FStar_Syntax_Subst.compress e1 in - uu____4436.FStar_Syntax_Syntax.n in - (match uu____4435 with + let uu____4493 = + let uu____4494 = FStar_Syntax_Subst.compress e1 in + uu____4494.FStar_Syntax_Syntax.n in + (match uu____4493 with | FStar_Syntax_Syntax.Tm_let - ((uu____4445, - { FStar_Syntax_Syntax.lbname = x; - FStar_Syntax_Syntax.lbunivs = uu____4447; - FStar_Syntax_Syntax.lbtyp = uu____4448; - FStar_Syntax_Syntax.lbeff = uu____4449; - FStar_Syntax_Syntax.lbdef = e11; - FStar_Syntax_Syntax.lbattrs = uu____4451; - FStar_Syntax_Syntax.lbpos = uu____4452;_}::[]), - e2) + ((uu____4503,{ FStar_Syntax_Syntax.lbname = x; + FStar_Syntax_Syntax.lbunivs = uu____4505; + FStar_Syntax_Syntax.lbtyp = uu____4506; + FStar_Syntax_Syntax.lbeff = uu____4507; + FStar_Syntax_Syntax.lbdef = e11; + FStar_Syntax_Syntax.lbattrs = uu____4509; + FStar_Syntax_Syntax.lbpos = uu____4510;_}::[]),e2) -> - let uu____4483 = - let uu____4490 = + let uu____4541 = + let uu____4548 = FStar_TypeChecker_Env.set_expected_typ env1 - FStar_Syntax_Syntax.t_unit in - tc_term uu____4490 e11 in - (match uu____4483 with - | (e12, c1, g1) -> - let uu____4500 = tc_term env1 e2 in - (match uu____4500 with - | (e21, c2, g2) -> + FStar_Syntax_Syntax.t_unit + in + tc_term uu____4548 e11 in + (match uu____4541 with + | (e12,c1,g1) -> + let uu____4558 = tc_term env1 e2 in + (match uu____4558 with + | (e21,c2,g2) -> let c = FStar_TypeChecker_Util.maybe_return_e2_and_bind e12.FStar_Syntax_Syntax.pos env1 (FStar_Pervasives_Native.Some e12) c1 e21 - (FStar_Pervasives_Native.None, c2) in + (FStar_Pervasives_Native.None, c2) + in let e13 = FStar_TypeChecker_Util.maybe_lift env1 e12 c1.FStar_Syntax_Syntax.eff_name c.FStar_Syntax_Syntax.eff_name - c1.FStar_Syntax_Syntax.res_typ in + c1.FStar_Syntax_Syntax.res_typ + in let e22 = FStar_TypeChecker_Util.maybe_lift env1 e21 c2.FStar_Syntax_Syntax.eff_name c.FStar_Syntax_Syntax.eff_name - c2.FStar_Syntax_Syntax.res_typ in + c2.FStar_Syntax_Syntax.res_typ + in let attrs = - let uu____4524 = + let uu____4582 = FStar_TypeChecker_Util.is_pure_or_ghost_effect - env1 c1.FStar_Syntax_Syntax.eff_name in - if uu____4524 + env1 c1.FStar_Syntax_Syntax.eff_name + in + if uu____4582 then [FStar_Syntax_Util.inline_let_attr] - else [] in + else [] in let e3 = - let uu____4534 = - let uu____4541 = - let uu____4542 = - let uu____4556 = - let uu____4564 = - let uu____4567 = + let uu____4592 = + let uu____4599 = + let uu____4600 = + let uu____4614 = + let uu____4622 = + let uu____4625 = FStar_Syntax_Syntax.mk_lb (x, [], (c1.FStar_Syntax_Syntax.eff_name), FStar_Syntax_Syntax.t_unit, e13, attrs, - (e13.FStar_Syntax_Syntax.pos)) in - [uu____4567] in - (false, uu____4564) in - (uu____4556, e22) in - FStar_Syntax_Syntax.Tm_let uu____4542 in - FStar_Syntax_Syntax.mk uu____4541 in - uu____4534 FStar_Pervasives_Native.None - e1.FStar_Syntax_Syntax.pos in + (e13.FStar_Syntax_Syntax.pos)) + in + [uu____4625] in + (false, uu____4622) in + (uu____4614, e22) in + FStar_Syntax_Syntax.Tm_let uu____4600 in + FStar_Syntax_Syntax.mk uu____4599 in + uu____4592 FStar_Pervasives_Native.None + e1.FStar_Syntax_Syntax.pos + in let e4 = FStar_TypeChecker_Util.maybe_monadic env1 e3 c.FStar_Syntax_Syntax.eff_name - c.FStar_Syntax_Syntax.res_typ in + c.FStar_Syntax_Syntax.res_typ + in let e5 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta @@ -1666,14 +1822,15 @@ and (tc_maybe_toplevel_term : (FStar_Syntax_Syntax.Meta_desugared FStar_Syntax_Syntax.Sequence))) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in - let uu____4591 = - FStar_TypeChecker_Env.conj_guard g1 g2 in - (e5, c, uu____4591))) - | uu____4592 -> - let uu____4593 = tc_term env1 e1 in - (match uu____4593 with - | (e2, c, g) -> + top.FStar_Syntax_Syntax.pos + in + let uu____4649 = + FStar_TypeChecker_Env.conj_guard g1 g2 in + (e5, c, uu____4649))) + | uu____4650 -> + let uu____4651 = tc_term env1 e1 in + (match uu____4651 with + | (e2,c,g) -> let e3 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta @@ -1681,52 +1838,56 @@ and (tc_maybe_toplevel_term : (FStar_Syntax_Syntax.Meta_desugared FStar_Syntax_Syntax.Sequence))) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in + top.FStar_Syntax_Syntax.pos + in (e3, c, g))) | FStar_Syntax_Syntax.Tm_meta - (e1, FStar_Syntax_Syntax.Meta_monadic uu____4615) -> + (e1,FStar_Syntax_Syntax.Meta_monadic uu____4673) -> tc_term env1 e1 | FStar_Syntax_Syntax.Tm_meta - (e1, FStar_Syntax_Syntax.Meta_monadic_lift uu____4627) -> + (e1,FStar_Syntax_Syntax.Meta_monadic_lift uu____4685) -> tc_term env1 e1 - | FStar_Syntax_Syntax.Tm_meta (e1, m) -> - let uu____4646 = tc_term env1 e1 in - (match uu____4646 with - | (e2, c, g) -> + | FStar_Syntax_Syntax.Tm_meta (e1,m) -> + let uu____4704 = tc_term env1 e1 in + (match uu____4704 with + | (e2,c,g) -> let e3 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta (e2, m)) - FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos + in (e3, c, g)) | FStar_Syntax_Syntax.Tm_ascribed - (e1, (FStar_Util.Inr expected_c, topt), uu____4670) -> - let uu____4717 = FStar_TypeChecker_Env.clear_expected_typ env1 in - (match uu____4717 with - | (env0, uu____4731) -> - let uu____4736 = tc_comp env0 expected_c in - (match uu____4736 with - | (expected_c1, uu____4750, g) -> - let uu____4752 = - let uu____4759 = + (e1,(FStar_Util.Inr expected_c,topt),uu____4728) -> + let uu____4775 = FStar_TypeChecker_Env.clear_expected_typ env1 in + (match uu____4775 with + | (env0,uu____4789) -> + let uu____4794 = tc_comp env0 expected_c in + (match uu____4794 with + | (expected_c1,uu____4808,g) -> + let uu____4810 = + let uu____4817 = FStar_All.pipe_right (FStar_Syntax_Util.comp_result expected_c1) - (FStar_TypeChecker_Env.set_expected_typ env0) in - tc_term uu____4759 e1 in - (match uu____4752 with - | (e2, c', g') -> - let uu____4769 = - let uu____4776 = - let uu____4781 = - FStar_Syntax_Syntax.lcomp_comp c' in - (e2, uu____4781) in + (FStar_TypeChecker_Env.set_expected_typ env0) + in + tc_term uu____4817 e1 in + (match uu____4810 with + | (e2,c',g') -> + let uu____4827 = + let uu____4834 = + let uu____4839 = + FStar_Syntax_Syntax.lcomp_comp c' in + (e2, uu____4839) in check_expected_effect env0 (FStar_Pervasives_Native.Some expected_c1) - uu____4776 in - (match uu____4769 with - | (e3, expected_c2, g'') -> - let uu____4791 = tc_tactic_opt env0 topt in - (match uu____4791 with - | (topt1, gtac) -> + uu____4834 + in + (match uu____4827 with + | (e3,expected_c2,g'') -> + let uu____4849 = tc_tactic_opt env0 topt in + (match uu____4849 with + | (topt1,gtac) -> let e4 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed @@ -1737,61 +1898,71 @@ and (tc_maybe_toplevel_term : (FStar_Syntax_Util.comp_effect_name expected_c2)))) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in + top.FStar_Syntax_Syntax.pos + in let lc = FStar_Syntax_Util.lcomp_of_comp - expected_c2 in + expected_c2 + in let f = - let uu____4851 = + let uu____4909 = FStar_TypeChecker_Env.conj_guard g' - g'' in + g'' + in FStar_TypeChecker_Env.conj_guard g - uu____4851 in - let uu____4852 = - comp_check_expected_typ env1 e4 lc in - (match uu____4852 with - | (e5, c, f2) -> + uu____4909 + in + let uu____4910 = + comp_check_expected_typ env1 e4 lc in + (match uu____4910 with + | (e5,c,f2) -> let final_guard = - let uu____4869 = + let uu____4927 = FStar_TypeChecker_Env.conj_guard - f f2 in + f f2 + in wrap_guard_with_tactic_opt topt1 - uu____4869 in - let uu____4870 = + uu____4927 + in + let uu____4928 = FStar_TypeChecker_Env.conj_guard - final_guard gtac in - (e5, c, uu____4870))))))) + final_guard gtac + in + (e5, c, uu____4928))))))) | FStar_Syntax_Syntax.Tm_ascribed - (e1, (FStar_Util.Inl t, topt), uu____4874) -> - let uu____4921 = FStar_Syntax_Util.type_u () in - (match uu____4921 with - | (k, u) -> - let uu____4934 = tc_check_tot_or_gtot_term env1 t k in - (match uu____4934 with - | (t1, uu____4948, f) -> - let uu____4950 = tc_tactic_opt env1 topt in - (match uu____4950 with - | (topt1, gtac) -> - let uu____4969 = - let uu____4976 = - FStar_TypeChecker_Env.set_expected_typ env1 t1 in - tc_term uu____4976 e1 in - (match uu____4969 with - | (e2, c, g) -> - let uu____4986 = - let uu____4991 = + (e1,(FStar_Util.Inl t,topt),uu____4932) -> + let uu____4979 = FStar_Syntax_Util.type_u () in + (match uu____4979 with + | (k,u) -> + let uu____4992 = tc_check_tot_or_gtot_term env1 t k in + (match uu____4992 with + | (t1,uu____5006,f) -> + let uu____5008 = tc_tactic_opt env1 topt in + (match uu____5008 with + | (topt1,gtac) -> + let uu____5027 = + let uu____5034 = + FStar_TypeChecker_Env.set_expected_typ env1 t1 + in + tc_term uu____5034 e1 in + (match uu____5027 with + | (e2,c,g) -> + let uu____5044 = + let uu____5049 = FStar_TypeChecker_Env.set_range env1 - t1.FStar_Syntax_Syntax.pos in + t1.FStar_Syntax_Syntax.pos + in FStar_TypeChecker_Util.strengthen_precondition (FStar_Pervasives_Native.Some - (fun uu____4997 -> + (fun uu____5055 -> FStar_Util.return_all FStar_TypeChecker_Err.ill_kinded_type)) - uu____4991 e2 c f in - (match uu____4986 with - | (c1, f1) -> - let uu____5007 = - let uu____5014 = + uu____5049 e2 c f + in + (match uu____5044 with + | (c1,f1) -> + let uu____5065 = + let uu____5072 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed (e2, @@ -1799,229 +1970,247 @@ and (tc_maybe_toplevel_term : (FStar_Pervasives_Native.Some (c1.FStar_Syntax_Syntax.eff_name)))) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in - comp_check_expected_typ env1 uu____5014 - c1 in - (match uu____5007 with - | (e3, c2, f2) -> + top.FStar_Syntax_Syntax.pos + in + comp_check_expected_typ env1 uu____5072 + c1 + in + (match uu____5065 with + | (e3,c2,f2) -> let final_guard = - let uu____5061 = + let uu____5119 = FStar_TypeChecker_Env.conj_guard - g f2 in + g f2 + in FStar_TypeChecker_Env.conj_guard - f1 uu____5061 in + f1 uu____5119 + in let final_guard1 = wrap_guard_with_tactic_opt topt1 - final_guard in - let uu____5063 = + final_guard + in + let uu____5121 = FStar_TypeChecker_Env.conj_guard - final_guard1 gtac in - (e3, c2, uu____5063))))))) + final_guard1 gtac + in + (e3, c2, uu____5121))))))) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_range_of); - FStar_Syntax_Syntax.pos = uu____5064; - FStar_Syntax_Syntax.vars = uu____5065;_}, - a::hd1::rest) + (FStar_Const.Const_range_of ); + FStar_Syntax_Syntax.pos = uu____5122; + FStar_Syntax_Syntax.vars = uu____5123;_},a::hd1::rest) -> - let rest1 = hd1 :: rest in - let uu____5144 = FStar_Syntax_Util.head_and_args top in - (match uu____5144 with - | (unary_op1, uu____5168) -> + let rest1 = hd1 :: rest in + let uu____5202 = FStar_Syntax_Util.head_and_args top in + (match uu____5202 with + | (unary_op1,uu____5226) -> let head1 = - let uu____5196 = + let uu____5254 = FStar_Range.union_ranges unary_op1.FStar_Syntax_Syntax.pos - (FStar_Pervasives_Native.fst a).FStar_Syntax_Syntax.pos in + (FStar_Pervasives_Native.fst a).FStar_Syntax_Syntax.pos + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (unary_op1, [a])) - FStar_Pervasives_Native.None uu____5196 in + FStar_Pervasives_Native.None uu____5254 + in let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (head1, rest1)) - FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos + in tc_term env1 t) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reify); - FStar_Syntax_Syntax.pos = uu____5244; - FStar_Syntax_Syntax.vars = uu____5245;_}, - a::hd1::rest) + (FStar_Const.Const_reify ); + FStar_Syntax_Syntax.pos = uu____5302; + FStar_Syntax_Syntax.vars = uu____5303;_},a::hd1::rest) -> - let rest1 = hd1 :: rest in - let uu____5324 = FStar_Syntax_Util.head_and_args top in - (match uu____5324 with - | (unary_op1, uu____5348) -> + let rest1 = hd1 :: rest in + let uu____5382 = FStar_Syntax_Util.head_and_args top in + (match uu____5382 with + | (unary_op1,uu____5406) -> let head1 = - let uu____5376 = + let uu____5434 = FStar_Range.union_ranges unary_op1.FStar_Syntax_Syntax.pos - (FStar_Pervasives_Native.fst a).FStar_Syntax_Syntax.pos in + (FStar_Pervasives_Native.fst a).FStar_Syntax_Syntax.pos + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (unary_op1, [a])) - FStar_Pervasives_Native.None uu____5376 in + FStar_Pervasives_Native.None uu____5434 + in let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (head1, rest1)) - FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos + in tc_term env1 t) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reflect uu____5424); - FStar_Syntax_Syntax.pos = uu____5425; - FStar_Syntax_Syntax.vars = uu____5426;_}, - a::hd1::rest) + (FStar_Const.Const_reflect uu____5482); + FStar_Syntax_Syntax.pos = uu____5483; + FStar_Syntax_Syntax.vars = uu____5484;_},a::hd1::rest) -> - let rest1 = hd1 :: rest in - let uu____5505 = FStar_Syntax_Util.head_and_args top in - (match uu____5505 with - | (unary_op1, uu____5529) -> + let rest1 = hd1 :: rest in + let uu____5563 = FStar_Syntax_Util.head_and_args top in + (match uu____5563 with + | (unary_op1,uu____5587) -> let head1 = - let uu____5557 = + let uu____5615 = FStar_Range.union_ranges unary_op1.FStar_Syntax_Syntax.pos - (FStar_Pervasives_Native.fst a).FStar_Syntax_Syntax.pos in + (FStar_Pervasives_Native.fst a).FStar_Syntax_Syntax.pos + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (unary_op1, [a])) - FStar_Pervasives_Native.None uu____5557 in + FStar_Pervasives_Native.None uu____5615 + in let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (head1, rest1)) - FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos + in tc_term env1 t) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_set_range_of); - FStar_Syntax_Syntax.pos = uu____5605; - FStar_Syntax_Syntax.vars = uu____5606;_}, - a1::a2::hd1::rest) + (FStar_Const.Const_set_range_of ); + FStar_Syntax_Syntax.pos = uu____5663; + FStar_Syntax_Syntax.vars = uu____5664;_},a1::a2::hd1::rest) -> - let rest1 = hd1 :: rest in - let uu____5702 = FStar_Syntax_Util.head_and_args top in - (match uu____5702 with - | (unary_op1, uu____5726) -> + let rest1 = hd1 :: rest in + let uu____5760 = FStar_Syntax_Util.head_and_args top in + (match uu____5760 with + | (unary_op1,uu____5784) -> let head1 = - let uu____5754 = + let uu____5812 = FStar_Range.union_ranges unary_op1.FStar_Syntax_Syntax.pos - (FStar_Pervasives_Native.fst a1).FStar_Syntax_Syntax.pos in + (FStar_Pervasives_Native.fst a1).FStar_Syntax_Syntax.pos + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (unary_op1, [a1; a2])) - FStar_Pervasives_Native.None uu____5754 in + FStar_Pervasives_Native.None uu____5812 + in let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (head1, rest1)) - FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos + in tc_term env1 t) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_range_of); - FStar_Syntax_Syntax.pos = uu____5810; - FStar_Syntax_Syntax.vars = uu____5811;_}, - (e1, FStar_Pervasives_Native.None)::[]) + (FStar_Const.Const_range_of ); + FStar_Syntax_Syntax.pos = uu____5868; + FStar_Syntax_Syntax.vars = uu____5869;_},(e1,FStar_Pervasives_Native.None + )::[]) -> - let uu____5849 = - let uu____5856 = - let uu____5857 = FStar_TypeChecker_Env.clear_expected_typ env1 in - FStar_All.pipe_left FStar_Pervasives_Native.fst uu____5857 in - tc_term uu____5856 e1 in - (match uu____5849 with - | (e2, c, g) -> - let uu____5881 = FStar_Syntax_Util.head_and_args top in - (match uu____5881 with - | (head1, uu____5905) -> - let uu____5930 = + let uu____5907 = + let uu____5914 = + let uu____5915 = FStar_TypeChecker_Env.clear_expected_typ env1 + in + FStar_All.pipe_left FStar_Pervasives_Native.fst uu____5915 in + tc_term uu____5914 e1 in + (match uu____5907 with + | (e2,c,g) -> + let uu____5939 = FStar_Syntax_Util.head_and_args top in + (match uu____5939 with + | (head1,uu____5963) -> + let uu____5988 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (head1, [(e2, FStar_Pervasives_Native.None)])) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in - let uu____5963 = - let uu____5964 = - let uu____5965 = + top.FStar_Syntax_Syntax.pos + in + let uu____6021 = + let uu____6022 = + let uu____6023 = FStar_Syntax_Syntax.tabbrev - FStar_Parser_Const.range_lid in - FStar_Syntax_Syntax.mk_Total uu____5965 in + FStar_Parser_Const.range_lid + in + FStar_Syntax_Syntax.mk_Total uu____6023 in FStar_All.pipe_left FStar_Syntax_Util.lcomp_of_comp - uu____5964 in - (uu____5930, uu____5963, g))) + uu____6022 + in + (uu____5988, uu____6021, g))) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_set_range_of); - FStar_Syntax_Syntax.pos = uu____5966; - FStar_Syntax_Syntax.vars = uu____5967;_}, - (t, FStar_Pervasives_Native.None)::(r, - FStar_Pervasives_Native.None)::[]) + (FStar_Const.Const_set_range_of ); + FStar_Syntax_Syntax.pos = uu____6024; + FStar_Syntax_Syntax.vars = uu____6025;_},(t,FStar_Pervasives_Native.None + )::(r,FStar_Pervasives_Native.None + )::[]) -> - let uu____6020 = FStar_Syntax_Util.head_and_args top in - (match uu____6020 with - | (head1, uu____6044) -> + let uu____6078 = FStar_Syntax_Util.head_and_args top in + (match uu____6078 with + | (head1,uu____6102) -> let env' = - let uu____6070 = - FStar_Syntax_Syntax.tabbrev FStar_Parser_Const.range_lid in - FStar_TypeChecker_Env.set_expected_typ env1 uu____6070 in - let uu____6071 = tc_term env' r in - (match uu____6071 with - | (er, uu____6085, gr) -> - let uu____6087 = tc_term env1 t in - (match uu____6087 with - | (t1, tt, gt1) -> - let g = FStar_TypeChecker_Env.conj_guard gr gt1 in - let uu____6104 = - let uu____6105 = - let uu____6110 = - let uu____6111 = - FStar_Syntax_Syntax.as_arg t1 in - let uu____6120 = - let uu____6131 = - FStar_Syntax_Syntax.as_arg r in - [uu____6131] in - uu____6111 :: uu____6120 in - FStar_Syntax_Syntax.mk_Tm_app head1 uu____6110 in - uu____6105 FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in - (uu____6104, tt, g)))) + let uu____6128 = + FStar_Syntax_Syntax.tabbrev FStar_Parser_Const.range_lid + in + FStar_TypeChecker_Env.set_expected_typ env1 uu____6128 in + let uu____6129 = tc_term env' r in + (match uu____6129 with + | (er,uu____6143,gr) -> + let uu____6145 = tc_term env1 t in + (match uu____6145 with + | (t1,tt,gt1) -> + let g = FStar_TypeChecker_Env.conj_guard gr gt1 in + let uu____6162 = + let uu____6163 = + let uu____6168 = + let uu____6169 = + FStar_Syntax_Syntax.as_arg t1 in + let uu____6178 = + let uu____6189 = + FStar_Syntax_Syntax.as_arg r in + [uu____6189] in + uu____6169 :: uu____6178 in + FStar_Syntax_Syntax.mk_Tm_app head1 uu____6168 + in + uu____6163 FStar_Pervasives_Native.None + top.FStar_Syntax_Syntax.pos + in + (uu____6162, tt, g)))) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_range_of); - FStar_Syntax_Syntax.pos = uu____6164; - FStar_Syntax_Syntax.vars = uu____6165;_}, - uu____6166) + (FStar_Const.Const_range_of ); + FStar_Syntax_Syntax.pos = uu____6222; + FStar_Syntax_Syntax.vars = uu____6223;_},uu____6224) -> - let uu____6191 = - let uu____6197 = - let uu____6199 = FStar_Syntax_Print.term_to_string top in - FStar_Util.format1 "Ill-applied constant %s" uu____6199 in - (FStar_Errors.Fatal_IllAppliedConstant, uu____6197) in - FStar_Errors.raise_error uu____6191 e.FStar_Syntax_Syntax.pos + let uu____6249 = + let uu____6255 = + let uu____6257 = FStar_Syntax_Print.term_to_string top in + FStar_Util.format1 "Ill-applied constant %s" uu____6257 in + (FStar_Errors.Fatal_IllAppliedConstant, uu____6255) in + FStar_Errors.raise_error uu____6249 e.FStar_Syntax_Syntax.pos | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_set_range_of); - FStar_Syntax_Syntax.pos = uu____6209; - FStar_Syntax_Syntax.vars = uu____6210;_}, - uu____6211) + (FStar_Const.Const_set_range_of ); + FStar_Syntax_Syntax.pos = uu____6267; + FStar_Syntax_Syntax.vars = uu____6268;_},uu____6269) -> - let uu____6236 = - let uu____6242 = - let uu____6244 = FStar_Syntax_Print.term_to_string top in - FStar_Util.format1 "Ill-applied constant %s" uu____6244 in - (FStar_Errors.Fatal_IllAppliedConstant, uu____6242) in - FStar_Errors.raise_error uu____6236 e.FStar_Syntax_Syntax.pos + let uu____6294 = + let uu____6300 = + let uu____6302 = FStar_Syntax_Print.term_to_string top in + FStar_Util.format1 "Ill-applied constant %s" uu____6302 in + (FStar_Errors.Fatal_IllAppliedConstant, uu____6300) in + FStar_Errors.raise_error uu____6294 e.FStar_Syntax_Syntax.pos | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_reify); - FStar_Syntax_Syntax.pos = uu____6254; - FStar_Syntax_Syntax.vars = uu____6255;_}, - (e1, aqual)::[]) + (FStar_Const.Const_reify ); + FStar_Syntax_Syntax.pos = uu____6312; + FStar_Syntax_Syntax.vars = uu____6313;_},(e1,aqual)::[]) -> (if FStar_Option.isSome aqual then @@ -2029,59 +2218,69 @@ and (tc_maybe_toplevel_term : (FStar_Errors.Warning_IrrelevantQualifierOnArgumentToReify, "Qualifier on argument to reify is irrelevant and will be ignored") else (); - (let uu____6302 = FStar_TypeChecker_Env.clear_expected_typ env1 in - match uu____6302 with - | (env0, uu____6316) -> - let uu____6321 = tc_term env0 e1 in - (match uu____6321 with - | (e2, c, g) -> - let uu____6337 = FStar_Syntax_Util.head_and_args top in - (match uu____6337 with - | (reify_op, uu____6361) -> + (let uu____6360 = FStar_TypeChecker_Env.clear_expected_typ env1 + in + match uu____6360 with + | (env0,uu____6374) -> + let uu____6379 = tc_term env0 e1 in + (match uu____6379 with + | (e2,c,g) -> + let uu____6395 = FStar_Syntax_Util.head_and_args top + in + (match uu____6395 with + | (reify_op,uu____6419) -> let u_c = env1.FStar_TypeChecker_Env.universe_of env1 - c.FStar_Syntax_Syntax.res_typ in + c.FStar_Syntax_Syntax.res_typ + in let ef = - let uu____6388 = - FStar_Syntax_Syntax.lcomp_comp c in - FStar_Syntax_Util.comp_effect_name uu____6388 in - ((let uu____6392 = - let uu____6394 = + let uu____6446 = + FStar_Syntax_Syntax.lcomp_comp c in + FStar_Syntax_Util.comp_effect_name uu____6446 + in + ((let uu____6450 = + let uu____6452 = FStar_TypeChecker_Env.is_user_reifiable_effect - env1 ef in - Prims.op_Negation uu____6394 in - if uu____6392 + env1 ef + in + Prims.op_Negation uu____6452 in + if uu____6450 then - let uu____6397 = - let uu____6403 = + let uu____6455 = + let uu____6461 = FStar_Util.format1 "Effect %s cannot be reified" - ef.FStar_Ident.str in + ef.FStar_Ident.str + in (FStar_Errors.Fatal_EffectCannotBeReified, - uu____6403) in - FStar_Errors.raise_error uu____6397 + uu____6461) + in + FStar_Errors.raise_error uu____6455 e2.FStar_Syntax_Syntax.pos else ()); (let repr = - let uu____6410 = - FStar_Syntax_Syntax.lcomp_comp c in + let uu____6468 = + FStar_Syntax_Syntax.lcomp_comp c in FStar_TypeChecker_Env.reify_comp env1 - uu____6410 u_c in + uu____6468 u_c + in let e3 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (reify_op, [(e2, aqual)])) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in + top.FStar_Syntax_Syntax.pos + in let c1 = - let uu____6447 = + let uu____6505 = FStar_TypeChecker_Env.is_total_effect env1 - ef in - if uu____6447 + ef + in + if uu____6505 then - let uu____6450 = - FStar_Syntax_Syntax.mk_Total repr in - FStar_All.pipe_right uu____6450 + let uu____6508 = + FStar_Syntax_Syntax.mk_Total repr in + FStar_All.pipe_right uu____6508 FStar_Syntax_Util.lcomp_of_comp else (let ct = @@ -2092,25 +2291,25 @@ and (tc_maybe_toplevel_term : FStar_Syntax_Syntax.result_typ = repr; FStar_Syntax_Syntax.effect_args = []; FStar_Syntax_Syntax.flags = [] - } in - let uu____6462 = - FStar_Syntax_Syntax.mk_Comp ct in - FStar_All.pipe_right uu____6462 - FStar_Syntax_Util.lcomp_of_comp) in - let uu____6463 = - comp_check_expected_typ env1 e3 c1 in - match uu____6463 with - | (e4, c2, g') -> - let uu____6479 = - FStar_TypeChecker_Env.conj_guard g g' in - (e4, c2, uu____6479))))))) + } in + let uu____6520 = + FStar_Syntax_Syntax.mk_Comp ct in + FStar_All.pipe_right uu____6520 + FStar_Syntax_Util.lcomp_of_comp) + in + let uu____6521 = + comp_check_expected_typ env1 e3 c1 in + match uu____6521 with + | (e4,c2,g') -> + let uu____6537 = + FStar_TypeChecker_Env.conj_guard g g' in + (e4, c2, uu____6537))))))) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reflect l); - FStar_Syntax_Syntax.pos = uu____6481; - FStar_Syntax_Syntax.vars = uu____6482;_}, - (e1, aqual)::[]) + FStar_Syntax_Syntax.pos = uu____6539; + FStar_Syntax_Syntax.vars = uu____6540;_},(e1,aqual)::[]) -> (if FStar_Option.isSome aqual then @@ -2118,175 +2317,198 @@ and (tc_maybe_toplevel_term : (FStar_Errors.Warning_IrrelevantQualifierOnArgumentToReflect, "Qualifier on argument to reflect is irrelevant and will be ignored") else (); - (let uu____6530 = - let uu____6532 = - FStar_TypeChecker_Env.is_user_reifiable_effect env1 l in - Prims.op_Negation uu____6532 in - if uu____6530 + (let uu____6588 = + let uu____6590 = + FStar_TypeChecker_Env.is_user_reifiable_effect env1 l in + Prims.op_Negation uu____6590 in + if uu____6588 then - let uu____6535 = - let uu____6541 = + let uu____6593 = + let uu____6599 = FStar_Util.format1 "Effect %s cannot be reified" - l.FStar_Ident.str in - (FStar_Errors.Fatal_EffectCannotBeReified, uu____6541) in - FStar_Errors.raise_error uu____6535 e1.FStar_Syntax_Syntax.pos + l.FStar_Ident.str + in + (FStar_Errors.Fatal_EffectCannotBeReified, uu____6599) in + FStar_Errors.raise_error uu____6593 e1.FStar_Syntax_Syntax.pos else ()); - (let uu____6547 = FStar_Syntax_Util.head_and_args top in - match uu____6547 with - | (reflect_op, uu____6571) -> - let uu____6596 = - FStar_TypeChecker_Env.effect_decl_opt env1 l in - (match uu____6596 with - | FStar_Pervasives_Native.None -> + (let uu____6605 = FStar_Syntax_Util.head_and_args top in + match uu____6605 with + | (reflect_op,uu____6629) -> + let uu____6654 = + FStar_TypeChecker_Env.effect_decl_opt env1 l in + (match uu____6654 with + | FStar_Pervasives_Native.None -> failwith "internal error: user reifiable effect has no decl?" - | FStar_Pervasives_Native.Some (ed, qualifiers) -> - let uu____6636 = - FStar_TypeChecker_Env.clear_expected_typ env1 in - (match uu____6636 with - | (env_no_ex, topt) -> - let uu____6655 = - let u = FStar_TypeChecker_Env.new_u_univ () in + | FStar_Pervasives_Native.Some (ed,qualifiers) -> + let uu____6694 = + FStar_TypeChecker_Env.clear_expected_typ env1 in + (match uu____6694 with + | (env_no_ex,topt) -> + let uu____6713 = + let u = FStar_TypeChecker_Env.new_u_univ () in let repr = FStar_TypeChecker_Env.inst_effect_fun_with [u] env1 ed - ([], (ed.FStar_Syntax_Syntax.repr)) in + ([], (ed.FStar_Syntax_Syntax.repr)) + in let t = - let uu____6675 = - let uu____6682 = - let uu____6683 = - let uu____6700 = - let uu____6711 = + let uu____6733 = + let uu____6740 = + let uu____6741 = + let uu____6758 = + let uu____6769 = FStar_Syntax_Syntax.as_arg - FStar_Syntax_Syntax.tun in - let uu____6720 = - let uu____6731 = + FStar_Syntax_Syntax.tun + in + let uu____6778 = + let uu____6789 = FStar_Syntax_Syntax.as_arg - FStar_Syntax_Syntax.tun in - [uu____6731] in - uu____6711 :: uu____6720 in - (repr, uu____6700) in - FStar_Syntax_Syntax.Tm_app uu____6683 in - FStar_Syntax_Syntax.mk uu____6682 in - uu____6675 FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in - let uu____6776 = - let uu____6783 = - let uu____6784 = + FStar_Syntax_Syntax.tun + in + [uu____6789] in + uu____6769 :: uu____6778 in + (repr, uu____6758) in + FStar_Syntax_Syntax.Tm_app uu____6741 in + FStar_Syntax_Syntax.mk uu____6740 in + uu____6733 FStar_Pervasives_Native.None + top.FStar_Syntax_Syntax.pos + in + let uu____6834 = + let uu____6841 = + let uu____6842 = FStar_TypeChecker_Env.clear_expected_typ - env1 in - FStar_All.pipe_right uu____6784 - FStar_Pervasives_Native.fst in - tc_tot_or_gtot_term uu____6783 t in - match uu____6776 with - | (t1, uu____6810, g) -> - let uu____6812 = - let uu____6813 = - FStar_Syntax_Subst.compress t1 in - uu____6813.FStar_Syntax_Syntax.n in - (match uu____6812 with + env1 + in + FStar_All.pipe_right uu____6842 + FStar_Pervasives_Native.fst + in + tc_tot_or_gtot_term uu____6841 t in + match uu____6834 with + | (t1,uu____6868,g) -> + let uu____6870 = + let uu____6871 = + FStar_Syntax_Subst.compress t1 in + uu____6871.FStar_Syntax_Syntax.n in + (match uu____6870 with | FStar_Syntax_Syntax.Tm_app - (uu____6826, - (res, uu____6828)::(wp, uu____6830)::[]) + (uu____6884,(res,uu____6886)::(wp,uu____6888)::[]) -> (t1, res, wp, g) - | uu____6887 -> failwith "Impossible") in - (match uu____6655 with - | (expected_repr_typ, res_typ, wp, g0) -> - let uu____6913 = - let uu____6920 = - tc_tot_or_gtot_term env_no_ex e1 in - match uu____6920 with - | (e2, c, g) -> - ((let uu____6937 = - let uu____6939 = + | uu____6945 -> failwith "Impossible") + in + (match uu____6713 with + | (expected_repr_typ,res_typ,wp,g0) -> + let uu____6971 = + let uu____6978 = + tc_tot_or_gtot_term env_no_ex e1 in + match uu____6978 with + | (e2,c,g) -> + ((let uu____6995 = + let uu____6997 = FStar_Syntax_Util.is_total_lcomp - c in + c + in FStar_All.pipe_left - Prims.op_Negation uu____6939 in - if uu____6937 + Prims.op_Negation uu____6997 + in + if uu____6995 then FStar_Errors.add_errors [(FStar_Errors.Error_UnexpectedGTotComputation, "Expected Tot, got a GTot computation", (e2.FStar_Syntax_Syntax.pos))] else ()); - (let uu____6962 = + (let uu____7020 = FStar_TypeChecker_Rel.try_teq true env_no_ex c.FStar_Syntax_Syntax.res_typ - expected_repr_typ in - match uu____6962 with - | FStar_Pervasives_Native.None -> - ((let uu____6973 = - let uu____6983 = - let uu____6991 = - let uu____6993 = + expected_repr_typ + in + match uu____7020 with + | FStar_Pervasives_Native.None -> + ((let uu____7031 = + let uu____7041 = + let uu____7049 = + let uu____7051 = FStar_Syntax_Print.term_to_string - ed.FStar_Syntax_Syntax.repr in - let uu____6995 = + ed.FStar_Syntax_Syntax.repr + in + let uu____7053 = FStar_Syntax_Print.term_to_string - c.FStar_Syntax_Syntax.res_typ in + c.FStar_Syntax_Syntax.res_typ + in FStar_Util.format2 "Expected an instance of %s; got %s" - uu____6993 uu____6995 in + uu____7051 uu____7053 + in (FStar_Errors.Error_UnexpectedInstance, - uu____6991, - (e2.FStar_Syntax_Syntax.pos)) in - [uu____6983] in + uu____7049, + (e2.FStar_Syntax_Syntax.pos)) + in + [uu____7041] in FStar_Errors.add_errors - uu____6973); - (let uu____7013 = + uu____7031); + (let uu____7071 = FStar_TypeChecker_Env.conj_guard - g g0 in - (e2, uu____7013))) + g g0 + in + (e2, uu____7071))) | FStar_Pervasives_Native.Some g' -> - let uu____7017 = - let uu____7018 = + let uu____7075 = + let uu____7076 = FStar_TypeChecker_Env.conj_guard - g g0 in + g g0 + in FStar_TypeChecker_Env.conj_guard - g' uu____7018 in - (e2, uu____7017))) in - (match uu____6913 with - | (e2, g) -> + g' uu____7076 + in + (e2, uu____7075))) + in + (match uu____6971 with + | (e2,g) -> let c = - let uu____7034 = - let uu____7035 = - let uu____7036 = - let uu____7037 = + let uu____7092 = + let uu____7093 = + let uu____7094 = + let uu____7095 = env1.FStar_TypeChecker_Env.universe_of - env1 res_typ in - [uu____7037] in - let uu____7038 = - let uu____7049 = - FStar_Syntax_Syntax.as_arg wp in - [uu____7049] in + env1 res_typ + in + [uu____7095] in + let uu____7096 = + let uu____7107 = + FStar_Syntax_Syntax.as_arg wp + in + [uu____7107] in { FStar_Syntax_Syntax.comp_univs = - uu____7036; + uu____7094; FStar_Syntax_Syntax.effect_name = (ed.FStar_Syntax_Syntax.mname); FStar_Syntax_Syntax.result_typ = res_typ; FStar_Syntax_Syntax.effect_args - = uu____7038; + = uu____7096; FStar_Syntax_Syntax.flags = [] - } in + } in FStar_Syntax_Syntax.mk_Comp - uu____7035 in - FStar_All.pipe_right uu____7034 - FStar_Syntax_Util.lcomp_of_comp in + uu____7093 + in + FStar_All.pipe_right uu____7092 + FStar_Syntax_Util.lcomp_of_comp + in let e3 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (reflect_op, [(e2, aqual)])) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in - let uu____7109 = - comp_check_expected_typ env1 e3 c in - (match uu____7109 with - | (e4, c1, g') -> + top.FStar_Syntax_Syntax.pos + in + let uu____7167 = + comp_check_expected_typ env1 e3 c in + (match uu____7167 with + | (e4,c1,g') -> let e5 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta @@ -2295,262 +2517,293 @@ and (tc_maybe_toplevel_term : ((c1.FStar_Syntax_Syntax.eff_name), (c1.FStar_Syntax_Syntax.res_typ))))) FStar_Pervasives_Native.None - e4.FStar_Syntax_Syntax.pos in - let uu____7132 = + e4.FStar_Syntax_Syntax.pos + in + let uu____7190 = FStar_TypeChecker_Env.conj_guard - g' g in - (e5, c1, uu____7132)))))))) + g' g + in + (e5, c1, uu____7190)))))))) | FStar_Syntax_Syntax.Tm_app - (head1, (tau, FStar_Pervasives_Native.None)::[]) when + (head1,(tau,FStar_Pervasives_Native.None )::[]) when (FStar_Syntax_Util.is_synth_by_tactic head1) && (Prims.op_Negation env1.FStar_TypeChecker_Env.phase1) -> - let uu____7171 = FStar_Syntax_Util.head_and_args top in - (match uu____7171 with - | (head2, args) -> + let uu____7229 = FStar_Syntax_Util.head_and_args top in + (match uu____7229 with + | (head2,args) -> tc_synth head2 env1 args top.FStar_Syntax_Syntax.pos) | FStar_Syntax_Syntax.Tm_app - (head1, - (uu____7221, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____7222))::(tau, - FStar_Pervasives_Native.None)::[]) + (head1,(uu____7279,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit uu____7280))::(tau,FStar_Pervasives_Native.None + )::[]) when (FStar_Syntax_Util.is_synth_by_tactic head1) && (Prims.op_Negation env1.FStar_TypeChecker_Env.phase1) -> - let uu____7275 = FStar_Syntax_Util.head_and_args top in - (match uu____7275 with - | (head2, args) -> + let uu____7333 = FStar_Syntax_Util.head_and_args top in + (match uu____7333 with + | (head2,args) -> tc_synth head2 env1 args top.FStar_Syntax_Syntax.pos) - | FStar_Syntax_Syntax.Tm_app (head1, args) when + | FStar_Syntax_Syntax.Tm_app (head1,args) when (FStar_Syntax_Util.is_synth_by_tactic head1) && (Prims.op_Negation env1.FStar_TypeChecker_Env.phase1) -> - let uu____7350 = + let uu____7408 = match args with - | (tau, FStar_Pervasives_Native.None)::rest -> + | (tau,FStar_Pervasives_Native.None )::rest -> ([(tau, FStar_Pervasives_Native.None)], rest) - | (a, FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit - b))::(tau, FStar_Pervasives_Native.None)::rest -> + | (a,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit + b))::(tau,FStar_Pervasives_Native.None )::rest -> ([(a, (FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit b))); (tau, FStar_Pervasives_Native.None)], rest) - | uu____7560 -> + | uu____7618 -> FStar_Errors.raise_error (FStar_Errors.Fatal_SynthByTacticError, "synth_by_tactic: bad application") - top.FStar_Syntax_Syntax.pos in - (match uu____7350 with - | (args1, args2) -> - let t1 = FStar_Syntax_Util.mk_app head1 args1 in - let t2 = FStar_Syntax_Util.mk_app t1 args2 in tc_term env1 t2) - | FStar_Syntax_Syntax.Tm_app (head1, args) -> - let env0 = env1 in + top.FStar_Syntax_Syntax.pos + in + (match uu____7408 with + | (args1,args2) -> + let t1 = FStar_Syntax_Util.mk_app head1 args1 in + let t2 = FStar_Syntax_Util.mk_app t1 args2 in + tc_term env1 t2) + | FStar_Syntax_Syntax.Tm_app (head1,args) -> + let env0 = env1 in let env2 = - let uu____7679 = - let uu____7680 = FStar_TypeChecker_Env.clear_expected_typ env1 in - FStar_All.pipe_right uu____7680 FStar_Pervasives_Native.fst in - FStar_All.pipe_right uu____7679 instantiate_both in - ((let uu____7696 = - FStar_TypeChecker_Env.debug env2 FStar_Options.High in - if uu____7696 + let uu____7737 = + let uu____7738 = FStar_TypeChecker_Env.clear_expected_typ env1 + in + FStar_All.pipe_right uu____7738 FStar_Pervasives_Native.fst + in + FStar_All.pipe_right uu____7737 instantiate_both in + ((let uu____7754 = + FStar_TypeChecker_Env.debug env2 FStar_Options.High in + if uu____7754 then - let uu____7699 = - FStar_Range.string_of_range top.FStar_Syntax_Syntax.pos in - let uu____7701 = FStar_Syntax_Print.term_to_string top in - let uu____7703 = - let uu____7705 = FStar_TypeChecker_Env.expected_typ env0 in - FStar_All.pipe_right uu____7705 - (fun uu___3_7712 -> - match uu___3_7712 with - | FStar_Pervasives_Native.None -> "none" + let uu____7757 = + FStar_Range.string_of_range top.FStar_Syntax_Syntax.pos in + let uu____7759 = FStar_Syntax_Print.term_to_string top in + let uu____7761 = + let uu____7763 = FStar_TypeChecker_Env.expected_typ env0 in + FStar_All.pipe_right uu____7763 + (fun uu___3_7770 -> + match uu___3_7770 with + | FStar_Pervasives_Native.None -> "none" | FStar_Pervasives_Native.Some t -> - FStar_Syntax_Print.term_to_string t) in + FStar_Syntax_Print.term_to_string t) + in FStar_Util.print3 - "(%s) Checking app %s, expected type is %s\n" uu____7699 - uu____7701 uu____7703 + "(%s) Checking app %s, expected type is %s\n" uu____7757 + uu____7759 uu____7761 else ()); - (let uu____7721 = tc_term (no_inst env2) head1 in - match uu____7721 with - | (head2, chead, g_head) -> - let uu____7737 = - let uu____7744 = + (let uu____7779 = tc_term (no_inst env2) head1 in + match uu____7779 with + | (head2,chead,g_head) -> + let uu____7795 = + let uu____7802 = ((Prims.op_Negation env2.FStar_TypeChecker_Env.lax) && - (let uu____7747 = FStar_Options.lax () in - Prims.op_Negation uu____7747)) - && (FStar_TypeChecker_Util.short_circuit_head head2) in - if uu____7744 + (let uu____7805 = FStar_Options.lax () in + Prims.op_Negation uu____7805)) + && (FStar_TypeChecker_Util.short_circuit_head head2) + in + if uu____7802 then - let uu____7756 = - let uu____7763 = - FStar_TypeChecker_Env.expected_typ env0 in + let uu____7814 = + let uu____7821 = + FStar_TypeChecker_Env.expected_typ env0 in check_short_circuit_args env2 head2 chead g_head args - uu____7763 in - match uu____7756 with | (e1, c, g) -> (e1, c, g) + uu____7821 + in + match uu____7814 with | (e1,c,g) -> (e1, c, g) else - (let uu____7777 = - FStar_TypeChecker_Env.expected_typ env0 in + (let uu____7835 = + FStar_TypeChecker_Env.expected_typ env0 in check_application_args env2 head2 chead g_head args - uu____7777) in - (match uu____7737 with - | (e1, c, g) -> - let uu____7789 = - let uu____7796 = - FStar_Syntax_Util.is_tot_or_gtot_lcomp c in - if uu____7796 + uu____7835) + in + (match uu____7795 with + | (e1,c,g) -> + let uu____7847 = + let uu____7854 = + FStar_Syntax_Util.is_tot_or_gtot_lcomp c in + if uu____7854 then - let uu____7805 = + let uu____7863 = FStar_TypeChecker_Util.maybe_instantiate env0 e1 - c.FStar_Syntax_Syntax.res_typ in - match uu____7805 with - | (e2, res_typ, implicits) -> - let uu____7821 = - FStar_Syntax_Util.set_result_typ_lc c res_typ in - (e2, uu____7821, implicits) - else (e1, c, FStar_TypeChecker_Env.trivial_guard) in - (match uu____7789 with - | (e2, c1, implicits) -> - ((let uu____7834 = + c.FStar_Syntax_Syntax.res_typ + in + match uu____7863 with + | (e2,res_typ,implicits) -> + let uu____7879 = + FStar_Syntax_Util.set_result_typ_lc c res_typ + in + (e2, uu____7879, implicits) + else (e1, c, FStar_TypeChecker_Env.trivial_guard) in + (match uu____7847 with + | (e2,c1,implicits) -> + ((let uu____7892 = FStar_TypeChecker_Env.debug env2 - FStar_Options.Extreme in - if uu____7834 + FStar_Options.Extreme + in + if uu____7892 then - let uu____7837 = + let uu____7895 = FStar_TypeChecker_Rel.print_pending_implicits - g in + g + in FStar_Util.print1 "Introduced {%s} implicits in application\n" - uu____7837 + uu____7895 else ()); - (let uu____7842 = - comp_check_expected_typ env0 e2 c1 in - match uu____7842 with - | (e3, c2, g') -> + (let uu____7900 = + comp_check_expected_typ env0 e2 c1 in + match uu____7900 with + | (e3,c2,g') -> let gres = - FStar_TypeChecker_Env.conj_guard g g' in + FStar_TypeChecker_Env.conj_guard g g' in let gres1 = FStar_TypeChecker_Env.conj_guard gres - implicits in - ((let uu____7861 = + implicits + in + ((let uu____7919 = FStar_TypeChecker_Env.debug env2 - FStar_Options.Extreme in - if uu____7861 + FStar_Options.Extreme + in + if uu____7919 then - let uu____7864 = - FStar_Syntax_Print.term_to_string e3 in - let uu____7866 = + let uu____7922 = + FStar_Syntax_Print.term_to_string e3 + in + let uu____7924 = FStar_TypeChecker_Rel.guard_to_string - env2 gres1 in + env2 gres1 + in FStar_Util.print2 "Guard from application node %s is %s\n" - uu____7864 uu____7866 + uu____7922 uu____7924 else ()); (e3, c2, gres1)))))))) - | FStar_Syntax_Syntax.Tm_match (e1, eqns) -> - let uu____7909 = FStar_TypeChecker_Env.clear_expected_typ env1 in - (match uu____7909 with - | (env11, topt) -> - let env12 = instantiate_both env11 in - let uu____7929 = tc_term env12 e1 in - (match uu____7929 with - | (e11, c1, g1) -> - let uu____7945 = + | FStar_Syntax_Syntax.Tm_match (e1,eqns) -> + let uu____7967 = FStar_TypeChecker_Env.clear_expected_typ env1 in + (match uu____7967 with + | (env11,topt) -> + let env12 = instantiate_both env11 in + let uu____7987 = tc_term env12 e1 in + (match uu____7987 with + | (e11,c1,g1) -> + let uu____8003 = match topt with | FStar_Pervasives_Native.Some t -> (env1, t, g1) - | FStar_Pervasives_Native.None -> - let uu____7959 = FStar_Syntax_Util.type_u () in - (match uu____7959 with - | (k, uu____7971) -> - let uu____7972 = + | FStar_Pervasives_Native.None -> + let uu____8017 = FStar_Syntax_Util.type_u () in + (match uu____8017 with + | (k,uu____8029) -> + let uu____8030 = FStar_TypeChecker_Util.new_implicit_var "match result" e.FStar_Syntax_Syntax.pos - env1 k in - (match uu____7972 with - | (res_t, uu____7993, g) -> - let uu____8007 = + env1 k + in + (match uu____8030 with + | (res_t,uu____8051,g) -> + let uu____8065 = FStar_TypeChecker_Env.set_expected_typ - env1 res_t in - let uu____8008 = - FStar_TypeChecker_Env.conj_guard g1 g in - (uu____8007, res_t, uu____8008))) in - (match uu____7945 with - | (env_branches, res_t, g11) -> - ((let uu____8019 = + env1 res_t + in + let uu____8066 = + FStar_TypeChecker_Env.conj_guard g1 g + in + (uu____8065, res_t, uu____8066))) + in + (match uu____8003 with + | (env_branches,res_t,g11) -> + ((let uu____8077 = FStar_TypeChecker_Env.debug env1 - FStar_Options.Extreme in - if uu____8019 + FStar_Options.Extreme + in + if uu____8077 then - let uu____8022 = - FStar_Syntax_Print.term_to_string res_t in + let uu____8080 = + FStar_Syntax_Print.term_to_string res_t in FStar_Util.print1 "Tm_match: expected type of branches is %s\n" - uu____8022 + uu____8080 else ()); (let guard_x = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some (e11.FStar_Syntax_Syntax.pos)) - c1.FStar_Syntax_Syntax.res_typ in + c1.FStar_Syntax_Syntax.res_typ + in let t_eqns = FStar_All.pipe_right eqns - (FStar_List.map (tc_eqn guard_x env_branches)) in - let uu____8149 = - let uu____8154 = + (FStar_List.map (tc_eqn guard_x env_branches)) + in + let uu____8207 = + let uu____8212 = FStar_List.fold_right - (fun uu____8236 -> - fun uu____8237 -> - match (uu____8236, uu____8237) with - | ((branch1, f, eff_label, cflags, c, - g), - (caccum, gaccum)) -> - let uu____8482 = + (fun uu____8294 -> + fun uu____8295 -> + match (uu____8294, uu____8295) with + | ((branch1,f,eff_label,cflags,c,g), + (caccum,gaccum)) -> + let uu____8540 = FStar_TypeChecker_Env.conj_guard - g gaccum in + g gaccum + in (((f, eff_label, cflags, c) :: - caccum), uu____8482)) t_eqns - ([], FStar_TypeChecker_Env.trivial_guard) in - match uu____8154 with - | (cases, g) -> - let uu____8587 = + caccum), uu____8540)) t_eqns + ([], FStar_TypeChecker_Env.trivial_guard) + in + match uu____8212 with + | (cases,g) -> + let uu____8645 = FStar_TypeChecker_Util.bind_cases env1 - res_t cases in - (uu____8587, g) in - match uu____8149 with - | (c_branches, g_branches) -> + res_t cases + in + (uu____8645, g) + in + match uu____8207 with + | (c_branches,g_branches) -> let cres = FStar_TypeChecker_Util.bind e11.FStar_Syntax_Syntax.pos env1 (FStar_Pervasives_Native.Some e11) c1 ((FStar_Pervasives_Native.Some guard_x), - c_branches) in + c_branches) + in let e2 = let mk_match scrutinee = let branches = FStar_All.pipe_right t_eqns (FStar_List.map - (fun uu____8729 -> - match uu____8729 with - | ((pat, wopt, br), uu____8774, - eff_label, uu____8776, - uu____8777, uu____8778) -> - let uu____8815 = + (fun uu____8787 -> + match uu____8787 with + | ((pat,wopt,br),uu____8832,eff_label,uu____8834,uu____8835,uu____8836) + -> + let uu____8873 = FStar_TypeChecker_Util.maybe_lift env1 br eff_label cres.FStar_Syntax_Syntax.eff_name - res_t in - (pat, wopt, uu____8815))) in + res_t + in + (pat, wopt, uu____8873))) + in let e2 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_match (scrutinee, branches)) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in + top.FStar_Syntax_Syntax.pos + in let e3 = FStar_TypeChecker_Util.maybe_monadic env1 e2 cres.FStar_Syntax_Syntax.eff_name - cres.FStar_Syntax_Syntax.res_typ in + cres.FStar_Syntax_Syntax.res_typ + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_ascribed (e3, @@ -2560,94 +2813,108 @@ and (tc_maybe_toplevel_term : (FStar_Pervasives_Native.Some (cres.FStar_Syntax_Syntax.eff_name)))) FStar_Pervasives_Native.None - e3.FStar_Syntax_Syntax.pos in - let uu____8882 = + e3.FStar_Syntax_Syntax.pos + in + let uu____8940 = FStar_TypeChecker_Util.is_pure_or_ghost_effect - env1 c1.FStar_Syntax_Syntax.eff_name in - if uu____8882 + env1 c1.FStar_Syntax_Syntax.eff_name + in + if uu____8940 then mk_match e11 else (let e_match = - let uu____8890 = + let uu____8948 = FStar_Syntax_Syntax.bv_to_name - guard_x in - mk_match uu____8890 in + guard_x + in + mk_match uu____8948 in let lb = - let uu____8894 = + let uu____8952 = FStar_TypeChecker_Env.norm_eff_name env1 - c1.FStar_Syntax_Syntax.eff_name in + c1.FStar_Syntax_Syntax.eff_name + in FStar_Syntax_Util.mk_letbinding (FStar_Util.Inl guard_x) [] c1.FStar_Syntax_Syntax.res_typ - uu____8894 e11 [] - e11.FStar_Syntax_Syntax.pos in + uu____8952 e11 [] + e11.FStar_Syntax_Syntax.pos + in let e2 = - let uu____8900 = - let uu____8907 = - let uu____8908 = - let uu____8922 = - let uu____8925 = - let uu____8926 = + let uu____8958 = + let uu____8965 = + let uu____8966 = + let uu____8980 = + let uu____8983 = + let uu____8984 = FStar_Syntax_Syntax.mk_binder - guard_x in - [uu____8926] in + guard_x + in + [uu____8984] in FStar_Syntax_Subst.close - uu____8925 e_match in - ((false, [lb]), uu____8922) in + uu____8983 e_match + in + ((false, [lb]), uu____8980) in FStar_Syntax_Syntax.Tm_let - uu____8908 in - FStar_Syntax_Syntax.mk uu____8907 in - uu____8900 + uu____8966 + in + FStar_Syntax_Syntax.mk uu____8965 + in + uu____8958 FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in + top.FStar_Syntax_Syntax.pos + in FStar_TypeChecker_Util.maybe_monadic env1 e2 cres.FStar_Syntax_Syntax.eff_name - cres.FStar_Syntax_Syntax.res_typ) in - ((let uu____8959 = + cres.FStar_Syntax_Syntax.res_typ) + in + ((let uu____9017 = FStar_TypeChecker_Env.debug env1 - FStar_Options.Extreme in - if uu____8959 + FStar_Options.Extreme + in + if uu____9017 then - let uu____8962 = + let uu____9020 = FStar_Range.string_of_range - top.FStar_Syntax_Syntax.pos in - let uu____8964 = - FStar_Syntax_Print.lcomp_to_string cres in + top.FStar_Syntax_Syntax.pos + in + let uu____9022 = + FStar_Syntax_Print.lcomp_to_string cres + in FStar_Util.print2 "(%s) comp type = %s\n" - uu____8962 uu____8964 + uu____9020 uu____9022 else ()); - (let uu____8969 = + (let uu____9027 = FStar_TypeChecker_Env.conj_guard g11 - g_branches in - (e2, cres, uu____8969)))))))) + g_branches + in + (e2, cres, uu____9027)))))))) | FStar_Syntax_Syntax.Tm_let - ((false, - { FStar_Syntax_Syntax.lbname = FStar_Util.Inr uu____8970; - FStar_Syntax_Syntax.lbunivs = uu____8971; - FStar_Syntax_Syntax.lbtyp = uu____8972; - FStar_Syntax_Syntax.lbeff = uu____8973; - FStar_Syntax_Syntax.lbdef = uu____8974; - FStar_Syntax_Syntax.lbattrs = uu____8975; - FStar_Syntax_Syntax.lbpos = uu____8976;_}::[]), - uu____8977) + ((false + ,{ FStar_Syntax_Syntax.lbname = FStar_Util.Inr uu____9028; + FStar_Syntax_Syntax.lbunivs = uu____9029; + FStar_Syntax_Syntax.lbtyp = uu____9030; + FStar_Syntax_Syntax.lbeff = uu____9031; + FStar_Syntax_Syntax.lbdef = uu____9032; + FStar_Syntax_Syntax.lbattrs = uu____9033; + FStar_Syntax_Syntax.lbpos = uu____9034;_}::[]),uu____9035) -> check_top_level_let env1 top - | FStar_Syntax_Syntax.Tm_let ((false, uu____9003), uu____9004) -> + | FStar_Syntax_Syntax.Tm_let ((false ,uu____9061),uu____9062) -> check_inner_let env1 top | FStar_Syntax_Syntax.Tm_let - ((true, - { FStar_Syntax_Syntax.lbname = FStar_Util.Inr uu____9022; - FStar_Syntax_Syntax.lbunivs = uu____9023; - FStar_Syntax_Syntax.lbtyp = uu____9024; - FStar_Syntax_Syntax.lbeff = uu____9025; - FStar_Syntax_Syntax.lbdef = uu____9026; - FStar_Syntax_Syntax.lbattrs = uu____9027; - FStar_Syntax_Syntax.lbpos = uu____9028;_}::uu____9029), - uu____9030) + ((true + ,{ FStar_Syntax_Syntax.lbname = FStar_Util.Inr uu____9080; + FStar_Syntax_Syntax.lbunivs = uu____9081; + FStar_Syntax_Syntax.lbtyp = uu____9082; + FStar_Syntax_Syntax.lbeff = uu____9083; + FStar_Syntax_Syntax.lbdef = uu____9084; + FStar_Syntax_Syntax.lbattrs = uu____9085; + FStar_Syntax_Syntax.lbpos = uu____9086;_}::uu____9087),uu____9088) -> check_top_level_let_rec env1 top - | FStar_Syntax_Syntax.Tm_let ((true, uu____9058), uu____9059) -> + | FStar_Syntax_Syntax.Tm_let ((true ,uu____9116),uu____9117) -> check_inner_let_rec env1 top) + and (tc_synth : FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_TypeChecker_Env.env -> @@ -2658,178 +2925,188 @@ and (tc_synth : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun head1 -> - fun env -> - fun args -> - fun rng -> - let uu____9093 = + fun head1 -> + fun env -> + fun args -> + fun rng -> + let uu____9151 = match args with - | (tau, FStar_Pervasives_Native.None)::[] -> + | (tau,FStar_Pervasives_Native.None )::[] -> (tau, FStar_Pervasives_Native.None) - | (a, FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit - uu____9132))::(tau, FStar_Pervasives_Native.None)::[] -> + | (a,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit + uu____9190))::(tau,FStar_Pervasives_Native.None )::[] -> (tau, (FStar_Pervasives_Native.Some a)) - | uu____9173 -> + | uu____9231 -> FStar_Errors.raise_error (FStar_Errors.Fatal_SynthByTacticError, - "synth_by_tactic: bad application") rng in - match uu____9093 with - | (tau, atyp) -> + "synth_by_tactic: bad application") rng + in + match uu____9151 with + | (tau,atyp) -> let typ = match atyp with | FStar_Pervasives_Native.Some t -> t - | FStar_Pervasives_Native.None -> - let uu____9206 = FStar_TypeChecker_Env.expected_typ env in - (match uu____9206 with + | FStar_Pervasives_Native.None -> + let uu____9264 = FStar_TypeChecker_Env.expected_typ env + in + (match uu____9264 with | FStar_Pervasives_Native.Some t -> t - | FStar_Pervasives_Native.None -> - let uu____9210 = FStar_TypeChecker_Env.get_range env in + | FStar_Pervasives_Native.None -> + let uu____9268 = FStar_TypeChecker_Env.get_range env + in FStar_Errors.raise_error (FStar_Errors.Fatal_SynthByTacticError, "synth_by_tactic: need a type annotation when no expected type is present") - uu____9210) in - let uu____9213 = - let uu____9220 = - let uu____9221 = - let uu____9222 = FStar_Syntax_Util.type_u () in + uu____9268) + in + let uu____9271 = + let uu____9278 = + let uu____9279 = + let uu____9280 = FStar_Syntax_Util.type_u () in FStar_All.pipe_left FStar_Pervasives_Native.fst - uu____9222 in - FStar_TypeChecker_Env.set_expected_typ env uu____9221 in - tc_term uu____9220 typ in - (match uu____9213 with - | (typ1, uu____9238, g1) -> + uu____9280 + in + FStar_TypeChecker_Env.set_expected_typ env uu____9279 in + tc_term uu____9278 typ in + (match uu____9271 with + | (typ1,uu____9296,g1) -> (FStar_TypeChecker_Rel.force_trivial_guard env g1; - (let uu____9241 = tc_tactic env tau in - match uu____9241 with - | (tau1, uu____9255, g2) -> + (let uu____9299 = tc_tactic env tau in + match uu____9299 with + | (tau1,uu____9313,g2) -> (FStar_TypeChecker_Rel.force_trivial_guard env g2; (let t = env.FStar_TypeChecker_Env.synth_hook env typ1 - (let uu___1191_9260 = tau1 in + (let uu___1196_9318 = tau1 in { FStar_Syntax_Syntax.n = - (uu___1191_9260.FStar_Syntax_Syntax.n); + (uu___1196_9318.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = rng; FStar_Syntax_Syntax.vars = - (uu___1191_9260.FStar_Syntax_Syntax.vars) - }) in - (let uu____9262 = + (uu___1196_9318.FStar_Syntax_Syntax.vars) + }) + in + (let uu____9320 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Tac") in - if uu____9262 + (FStar_Options.Other "Tac") + in + if uu____9320 then - let uu____9267 = - FStar_Syntax_Print.term_to_string t in - FStar_Util.print1 "Got %s\n" uu____9267 + let uu____9325 = + FStar_Syntax_Print.term_to_string t in + FStar_Util.print1 "Got %s\n" uu____9325 else ()); FStar_TypeChecker_Util.check_uvars tau1.FStar_Syntax_Syntax.pos t; - (let uu____9273 = - let uu____9274 = - FStar_Syntax_Syntax.mk_Total typ1 in + (let uu____9331 = + let uu____9332 = + FStar_Syntax_Syntax.mk_Total typ1 in FStar_All.pipe_left - FStar_Syntax_Util.lcomp_of_comp uu____9274 in - (t, uu____9273, + FStar_Syntax_Util.lcomp_of_comp uu____9332 + in + (t, uu____9331, FStar_TypeChecker_Env.trivial_guard))))))) + and (tc_tactic : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun tau -> + fun env -> + fun tau -> let env1 = - let uu___1199_9278 = env in + let uu___1204_9336 = env in { FStar_TypeChecker_Env.solver = - (uu___1199_9278.FStar_TypeChecker_Env.solver); + (uu___1204_9336.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1199_9278.FStar_TypeChecker_Env.range); + (uu___1204_9336.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1199_9278.FStar_TypeChecker_Env.curmodule); + (uu___1204_9336.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1199_9278.FStar_TypeChecker_Env.gamma); + (uu___1204_9336.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1199_9278.FStar_TypeChecker_Env.gamma_sig); + (uu___1204_9336.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1199_9278.FStar_TypeChecker_Env.gamma_cache); + (uu___1204_9336.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1199_9278.FStar_TypeChecker_Env.modules); + (uu___1204_9336.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1199_9278.FStar_TypeChecker_Env.expected_typ); + (uu___1204_9336.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1199_9278.FStar_TypeChecker_Env.sigtab); + (uu___1204_9336.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1199_9278.FStar_TypeChecker_Env.attrtab); + (uu___1204_9336.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1199_9278.FStar_TypeChecker_Env.is_pattern); + (uu___1204_9336.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1199_9278.FStar_TypeChecker_Env.instantiate_imp); + (uu___1204_9336.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1199_9278.FStar_TypeChecker_Env.effects); + (uu___1204_9336.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1199_9278.FStar_TypeChecker_Env.generalize); + (uu___1204_9336.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1199_9278.FStar_TypeChecker_Env.letrecs); + (uu___1204_9336.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1199_9278.FStar_TypeChecker_Env.top_level); + (uu___1204_9336.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1199_9278.FStar_TypeChecker_Env.check_uvars); + (uu___1204_9336.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1199_9278.FStar_TypeChecker_Env.use_eq); + (uu___1204_9336.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1199_9278.FStar_TypeChecker_Env.is_iface); + (uu___1204_9336.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1199_9278.FStar_TypeChecker_Env.admit); + (uu___1204_9336.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___1199_9278.FStar_TypeChecker_Env.lax); + (uu___1204_9336.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___1199_9278.FStar_TypeChecker_Env.lax_universes); + (uu___1204_9336.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1199_9278.FStar_TypeChecker_Env.phase1); + (uu___1204_9336.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = true; FStar_TypeChecker_Env.nosynth = - (uu___1199_9278.FStar_TypeChecker_Env.nosynth); + (uu___1204_9336.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1199_9278.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1204_9336.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1199_9278.FStar_TypeChecker_Env.tc_term); + (uu___1204_9336.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1199_9278.FStar_TypeChecker_Env.type_of); + (uu___1204_9336.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1199_9278.FStar_TypeChecker_Env.universe_of); + (uu___1204_9336.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1199_9278.FStar_TypeChecker_Env.check_type_of); + (uu___1204_9336.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1199_9278.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1204_9336.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1199_9278.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1204_9336.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1199_9278.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1204_9336.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1199_9278.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1204_9336.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1199_9278.FStar_TypeChecker_Env.proof_ns); + (uu___1204_9336.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1199_9278.FStar_TypeChecker_Env.synth_hook); + (uu___1204_9336.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1199_9278.FStar_TypeChecker_Env.splice); + (uu___1204_9336.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1199_9278.FStar_TypeChecker_Env.postprocess); + (uu___1204_9336.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1199_9278.FStar_TypeChecker_Env.is_native_tactic); + (uu___1204_9336.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1199_9278.FStar_TypeChecker_Env.identifier_info); + (uu___1204_9336.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1199_9278.FStar_TypeChecker_Env.tc_hooks); + (uu___1204_9336.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1199_9278.FStar_TypeChecker_Env.dsenv); + (uu___1204_9336.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1199_9278.FStar_TypeChecker_Env.nbe) - } in + (uu___1204_9336.FStar_TypeChecker_Env.nbe) + } in tc_check_tot_or_gtot_term env1 tau FStar_Syntax_Syntax.t_tactic_unit + and (tc_tactic_opt : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax @@ -2837,662 +3114,734 @@ and (tc_tactic_opt : (FStar_Syntax_Syntax.term FStar_Pervasives_Native.option * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun topt -> + fun env -> + fun topt -> match topt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Pervasives_Native.None, FStar_TypeChecker_Env.trivial_guard) | FStar_Pervasives_Native.Some tactic -> - let uu____9301 = tc_tactic env tactic in - (match uu____9301 with - | (tactic1, uu____9315, g) -> + let uu____9359 = tc_tactic env tactic in + (match uu____9359 with + | (tactic1,uu____9373,g) -> ((FStar_Pervasives_Native.Some tactic1), g)) + and (tc_value : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> + fun env -> + fun e -> let check_instantiated_fvar env1 v1 dc e1 t0 = - let uu____9367 = FStar_TypeChecker_Util.maybe_instantiate env1 e1 t0 in - match uu____9367 with - | (e2, t, implicits) -> + let uu____9425 = FStar_TypeChecker_Util.maybe_instantiate env1 e1 t0 + in + match uu____9425 with + | (e2,t,implicits) -> let tc = - let uu____9388 = FStar_TypeChecker_Env.should_verify env1 in - if uu____9388 + let uu____9446 = FStar_TypeChecker_Env.should_verify env1 in + if uu____9446 then FStar_Util.Inl t else - (let uu____9397 = - let uu____9398 = FStar_Syntax_Syntax.mk_Total t in + (let uu____9455 = + let uu____9456 = FStar_Syntax_Syntax.mk_Total t in FStar_All.pipe_left FStar_Syntax_Util.lcomp_of_comp - uu____9398 in - FStar_Util.Inr uu____9397) in - let is_data_ctor uu___4_9407 = - match uu___4_9407 with - | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Data_ctor) + uu____9456 + in + FStar_Util.Inr uu____9455) + in + let is_data_ctor uu___4_9465 = + match uu___4_9465 with + | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Data_ctor ) -> true | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Record_ctor - uu____9412) -> true - | uu____9420 -> false in - let uu____9424 = + uu____9470) -> true + | uu____9478 -> false in + let uu____9482 = (is_data_ctor dc) && - (let uu____9427 = + (let uu____9485 = FStar_TypeChecker_Env.is_datacon env1 - v1.FStar_Syntax_Syntax.v in - Prims.op_Negation uu____9427) in - if uu____9424 + v1.FStar_Syntax_Syntax.v + in + Prims.op_Negation uu____9485) + in + if uu____9482 then - let uu____9436 = - let uu____9442 = + let uu____9494 = + let uu____9500 = FStar_Util.format1 "Expected a data constructor; got %s" - (v1.FStar_Syntax_Syntax.v).FStar_Ident.str in - (FStar_Errors.Fatal_MissingDataConstructor, uu____9442) in - let uu____9446 = FStar_TypeChecker_Env.get_range env1 in - FStar_Errors.raise_error uu____9436 uu____9446 - else value_check_expected_typ env1 e2 tc implicits in + (v1.FStar_Syntax_Syntax.v).FStar_Ident.str + in + (FStar_Errors.Fatal_MissingDataConstructor, uu____9500) in + let uu____9504 = FStar_TypeChecker_Env.get_range env1 in + FStar_Errors.raise_error uu____9494 uu____9504 + else value_check_expected_typ env1 e2 tc implicits + in let env1 = - FStar_TypeChecker_Env.set_range env e.FStar_Syntax_Syntax.pos in - let top = FStar_Syntax_Subst.compress e in + FStar_TypeChecker_Env.set_range env e.FStar_Syntax_Syntax.pos in + let top = FStar_Syntax_Subst.compress e in match top.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_bvar x -> - let uu____9464 = - let uu____9466 = FStar_Syntax_Print.term_to_string top in + let uu____9522 = + let uu____9524 = FStar_Syntax_Print.term_to_string top in FStar_Util.format1 "Impossible: Violation of locally nameless convention: %s" - uu____9466 in - failwith uu____9464 - | FStar_Syntax_Syntax.Tm_uvar (u, s) -> - let uu____9493 = - let uu____9498 = - FStar_Syntax_Subst.subst' s u.FStar_Syntax_Syntax.ctx_uvar_typ in - FStar_Util.Inl uu____9498 in - value_check_expected_typ env1 e uu____9493 + uu____9524 + in + failwith uu____9522 + | FStar_Syntax_Syntax.Tm_uvar (u,s) -> + let uu____9551 = + let uu____9556 = + FStar_Syntax_Subst.subst' s u.FStar_Syntax_Syntax.ctx_uvar_typ + in + FStar_Util.Inl uu____9556 in + value_check_expected_typ env1 e uu____9551 FStar_TypeChecker_Env.trivial_guard - | FStar_Syntax_Syntax.Tm_unknown -> - let r = FStar_TypeChecker_Env.get_range env1 in - let uu____9500 = - let uu____9513 = FStar_TypeChecker_Env.expected_typ env1 in - match uu____9513 with - | FStar_Pervasives_Native.None -> - let uu____9528 = FStar_Syntax_Util.type_u () in - (match uu____9528 with - | (k, u) -> + | FStar_Syntax_Syntax.Tm_unknown -> + let r = FStar_TypeChecker_Env.get_range env1 in + let uu____9558 = + let uu____9571 = FStar_TypeChecker_Env.expected_typ env1 in + match uu____9571 with + | FStar_Pervasives_Native.None -> + let uu____9586 = FStar_Syntax_Util.type_u () in + (match uu____9586 with + | (k,u) -> FStar_TypeChecker_Util.new_implicit_var "type of user-provided implicit term" r env1 k) | FStar_Pervasives_Native.Some t -> - (t, [], FStar_TypeChecker_Env.trivial_guard) in - (match uu____9500 with - | (t, uu____9566, g0) -> - let uu____9580 = + (t, [], FStar_TypeChecker_Env.trivial_guard) + in + (match uu____9558 with + | (t,uu____9624,g0) -> + let uu____9638 = FStar_TypeChecker_Util.new_implicit_var - "user-provided implicit term" r env1 t in - (match uu____9580 with - | (e1, uu____9601, g1) -> - let uu____9615 = - let uu____9616 = FStar_Syntax_Syntax.mk_Total t in - FStar_All.pipe_right uu____9616 - FStar_Syntax_Util.lcomp_of_comp in - let uu____9617 = FStar_TypeChecker_Env.conj_guard g0 g1 in - (e1, uu____9615, uu____9617))) + "user-provided implicit term" r env1 t + in + (match uu____9638 with + | (e1,uu____9659,g1) -> + let uu____9673 = + let uu____9674 = FStar_Syntax_Syntax.mk_Total t in + FStar_All.pipe_right uu____9674 + FStar_Syntax_Util.lcomp_of_comp + in + let uu____9675 = FStar_TypeChecker_Env.conj_guard g0 g1 + in + (e1, uu____9673, uu____9675))) | FStar_Syntax_Syntax.Tm_name x -> - let uu____9619 = + let uu____9677 = if env1.FStar_TypeChecker_Env.use_bv_sorts then - let uu____9629 = FStar_Syntax_Syntax.range_of_bv x in - ((x.FStar_Syntax_Syntax.sort), uu____9629) - else FStar_TypeChecker_Env.lookup_bv env1 x in - (match uu____9619 with - | (t, rng) -> + let uu____9687 = FStar_Syntax_Syntax.range_of_bv x in + ((x.FStar_Syntax_Syntax.sort), uu____9687) + else FStar_TypeChecker_Env.lookup_bv env1 x in + (match uu____9677 with + | (t,rng) -> let x1 = FStar_Syntax_Syntax.set_range_of_bv - (let uu___1264_9643 = x in + (let uu___1269_9701 = x in { FStar_Syntax_Syntax.ppname = - (uu___1264_9643.FStar_Syntax_Syntax.ppname); + (uu___1269_9701.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1264_9643.FStar_Syntax_Syntax.index); + (uu___1269_9701.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t - }) rng in + }) rng + in (FStar_TypeChecker_Env.insert_bv_info env1 x1 t; - (let e1 = FStar_Syntax_Syntax.bv_to_name x1 in - let uu____9646 = - FStar_TypeChecker_Util.maybe_instantiate env1 e1 t in - match uu____9646 with - | (e2, t1, implicits) -> + (let e1 = FStar_Syntax_Syntax.bv_to_name x1 in + let uu____9704 = + FStar_TypeChecker_Util.maybe_instantiate env1 e1 t in + match uu____9704 with + | (e2,t1,implicits) -> let tc = - let uu____9667 = - FStar_TypeChecker_Env.should_verify env1 in - if uu____9667 + let uu____9725 = + FStar_TypeChecker_Env.should_verify env1 in + if uu____9725 then FStar_Util.Inl t1 else - (let uu____9676 = - let uu____9677 = FStar_Syntax_Syntax.mk_Total t1 in + (let uu____9734 = + let uu____9735 = FStar_Syntax_Syntax.mk_Total t1 + in FStar_All.pipe_left - FStar_Syntax_Util.lcomp_of_comp uu____9677 in - FStar_Util.Inr uu____9676) in + FStar_Syntax_Util.lcomp_of_comp uu____9735 + in + FStar_Util.Inr uu____9734) + in value_check_expected_typ env1 e2 tc implicits))) | FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____9679; - FStar_Syntax_Syntax.vars = uu____9680;_}, - uu____9681) + FStar_Syntax_Syntax.pos = uu____9737; + FStar_Syntax_Syntax.vars = uu____9738;_},uu____9739) when (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.synth_lid) && (Prims.op_Negation env1.FStar_TypeChecker_Env.phase1) -> - let uu____9686 = FStar_TypeChecker_Env.get_range env1 in + let uu____9744 = FStar_TypeChecker_Env.get_range env1 in FStar_Errors.raise_error (FStar_Errors.Fatal_BadlyInstantiatedSynthByTactic, - "Badly instantiated synth_by_tactic") uu____9686 + "Badly instantiated synth_by_tactic") uu____9744 | FStar_Syntax_Syntax.Tm_fvar fv when (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.synth_lid) && (Prims.op_Negation env1.FStar_TypeChecker_Env.phase1) -> - let uu____9696 = FStar_TypeChecker_Env.get_range env1 in + let uu____9754 = FStar_TypeChecker_Env.get_range env1 in FStar_Errors.raise_error (FStar_Errors.Fatal_BadlyInstantiatedSynthByTactic, - "Badly instantiated synth_by_tactic") uu____9696 + "Badly instantiated synth_by_tactic") uu____9754 | FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____9706; - FStar_Syntax_Syntax.vars = uu____9707;_}, - us) + FStar_Syntax_Syntax.pos = uu____9764; + FStar_Syntax_Syntax.vars = uu____9765;_},us) -> - let us1 = FStar_List.map (tc_universe env1) us in - let uu____9716 = + let us1 = FStar_List.map (tc_universe env1) us in + let uu____9774 = FStar_TypeChecker_Env.lookup_lid env1 - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - (match uu____9716 with - | ((us', t), range) -> + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + (match uu____9774 with + | ((us',t),range) -> (if (FStar_List.length us1) <> (FStar_List.length us') then - (let uu____9740 = - let uu____9746 = - let uu____9748 = FStar_Syntax_Print.fv_to_string fv in - let uu____9750 = - FStar_Util.string_of_int (FStar_List.length us1) in - let uu____9752 = - FStar_Util.string_of_int (FStar_List.length us') in + (let uu____9798 = + let uu____9804 = + let uu____9806 = FStar_Syntax_Print.fv_to_string fv + in + let uu____9808 = + FStar_Util.string_of_int (FStar_List.length us1) in + let uu____9810 = + FStar_Util.string_of_int (FStar_List.length us') in FStar_Util.format3 "Unexpected number of universe instantiations for \"%s\" (%s vs %s)" - uu____9748 uu____9750 uu____9752 in + uu____9806 uu____9808 uu____9810 + in (FStar_Errors.Fatal_UnexpectedNumberOfUniverse, - uu____9746) in - let uu____9756 = FStar_TypeChecker_Env.get_range env1 in - FStar_Errors.raise_error uu____9740 uu____9756) + uu____9804) + in + let uu____9814 = FStar_TypeChecker_Env.get_range env1 in + FStar_Errors.raise_error uu____9798 uu____9814) else FStar_List.iter2 - (fun u' -> - fun u -> + (fun u' -> + fun u -> match u' with | FStar_Syntax_Syntax.U_unif u'' -> FStar_Syntax_Unionfind.univ_change u'' u - | uu____9773 -> failwith "Impossible") us' us1; - (let fv' = FStar_Syntax_Syntax.set_range_of_fv fv range in + | uu____9831 -> failwith "Impossible") us' us1; + (let fv' = FStar_Syntax_Syntax.set_range_of_fv fv range in FStar_TypeChecker_Env.insert_fv_info env1 fv' t; (let e1 = - let uu____9778 = + let uu____9836 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_fvar fv') FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in - FStar_Syntax_Syntax.mk_Tm_uinst uu____9778 us1 in + e.FStar_Syntax_Syntax.pos + in + FStar_Syntax_Syntax.mk_Tm_uinst uu____9836 us1 in check_instantiated_fvar env1 fv'.FStar_Syntax_Syntax.fv_name fv'.FStar_Syntax_Syntax.fv_qual e1 t)))) | FStar_Syntax_Syntax.Tm_fvar fv -> - let uu____9780 = + let uu____9838 = FStar_TypeChecker_Env.lookup_lid env1 - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - (match uu____9780 with - | ((us, t), range) -> - ((let uu____9803 = + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + (match uu____9838 with + | ((us,t),range) -> + ((let uu____9861 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Range") in - if uu____9803 + (FStar_Options.Other "Range") + in + if uu____9861 then - let uu____9808 = - let uu____9810 = FStar_Syntax_Syntax.lid_of_fv fv in - FStar_Syntax_Print.lid_to_string uu____9810 in - let uu____9811 = - FStar_Range.string_of_range e.FStar_Syntax_Syntax.pos in - let uu____9813 = FStar_Range.string_of_range range in - let uu____9815 = FStar_Range.string_of_use_range range in - let uu____9817 = FStar_Syntax_Print.term_to_string t in + let uu____9866 = + let uu____9868 = FStar_Syntax_Syntax.lid_of_fv fv in + FStar_Syntax_Print.lid_to_string uu____9868 in + let uu____9869 = + FStar_Range.string_of_range e.FStar_Syntax_Syntax.pos + in + let uu____9871 = FStar_Range.string_of_range range in + let uu____9873 = FStar_Range.string_of_use_range range in + let uu____9875 = FStar_Syntax_Print.term_to_string t in FStar_Util.print5 "Lookup up fvar %s at location %s (lid range = defined at %s, used at %s); got universes type %s" - uu____9808 uu____9811 uu____9813 uu____9815 uu____9817 + uu____9866 uu____9869 uu____9871 uu____9873 uu____9875 else ()); - (let fv' = FStar_Syntax_Syntax.set_range_of_fv fv range in + (let fv' = FStar_Syntax_Syntax.set_range_of_fv fv range in FStar_TypeChecker_Env.insert_fv_info env1 fv' t; (let e1 = - let uu____9825 = + let uu____9883 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_fvar fv') FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in - FStar_Syntax_Syntax.mk_Tm_uinst uu____9825 us in + e.FStar_Syntax_Syntax.pos + in + FStar_Syntax_Syntax.mk_Tm_uinst uu____9883 us in check_instantiated_fvar env1 fv'.FStar_Syntax_Syntax.fv_name fv'.FStar_Syntax_Syntax.fv_qual e1 t)))) | FStar_Syntax_Syntax.Tm_constant c -> - let t = tc_constant env1 top.FStar_Syntax_Syntax.pos c in + let t = tc_constant env1 top.FStar_Syntax_Syntax.pos c in let e1 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant c) - FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos + in value_check_expected_typ env1 e1 (FStar_Util.Inl t) FStar_TypeChecker_Env.trivial_guard - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____9853 = FStar_Syntax_Subst.open_comp bs c in - (match uu____9853 with - | (bs1, c1) -> - let env0 = env1 in - let uu____9867 = FStar_TypeChecker_Env.clear_expected_typ env1 in - (match uu____9867 with - | (env2, uu____9881) -> - let uu____9886 = tc_binders env2 bs1 in - (match uu____9886 with - | (bs2, env3, g, us) -> - let uu____9905 = tc_comp env3 c1 in - (match uu____9905 with - | (c2, uc, f) -> + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____9911 = FStar_Syntax_Subst.open_comp bs c in + (match uu____9911 with + | (bs1,c1) -> + let env0 = env1 in + let uu____9925 = FStar_TypeChecker_Env.clear_expected_typ env1 + in + (match uu____9925 with + | (env2,uu____9939) -> + let uu____9944 = tc_binders env2 bs1 in + (match uu____9944 with + | (bs2,env3,g,us) -> + let uu____9963 = tc_comp env3 c1 in + (match uu____9963 with + | (c2,uc,f) -> let e1 = - let uu___1344_9924 = - FStar_Syntax_Util.arrow bs2 c2 in + let uu___1349_9982 = + FStar_Syntax_Util.arrow bs2 c2 in { FStar_Syntax_Syntax.n = - (uu___1344_9924.FStar_Syntax_Syntax.n); + (uu___1349_9982.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = (top.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___1344_9924.FStar_Syntax_Syntax.vars) - } in + (uu___1349_9982.FStar_Syntax_Syntax.vars) + } in (check_smt_pat env3 e1 bs2 c2; - (let u = FStar_Syntax_Syntax.U_max (uc :: us) in + (let u = FStar_Syntax_Syntax.U_max (uc :: us) + in let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type u) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in + top.FStar_Syntax_Syntax.pos + in let g1 = - let uu____9935 = + let uu____9993 = FStar_TypeChecker_Env.close_guard_univs - us bs2 f in + us bs2 f + in FStar_TypeChecker_Env.conj_guard g - uu____9935 in + uu____9993 + in let g2 = FStar_TypeChecker_Util.close_guard_implicits - env3 bs2 g1 in + env3 bs2 g1 + in value_check_expected_typ env0 e1 (FStar_Util.Inl t) g2)))))) | FStar_Syntax_Syntax.Tm_type u -> - let u1 = tc_universe env1 u in + let u1 = tc_universe env1 u in let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type (FStar_Syntax_Syntax.U_succ u1)) - FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos + in let e1 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type u1) - FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None top.FStar_Syntax_Syntax.pos + in value_check_expected_typ env1 e1 (FStar_Util.Inl t) FStar_TypeChecker_Env.trivial_guard - | FStar_Syntax_Syntax.Tm_refine (x, phi) -> - let uu____9951 = - let uu____9956 = - let uu____9957 = FStar_Syntax_Syntax.mk_binder x in - [uu____9957] in - FStar_Syntax_Subst.open_term uu____9956 phi in - (match uu____9951 with - | (x1, phi1) -> - let env0 = env1 in - let uu____9985 = FStar_TypeChecker_Env.clear_expected_typ env1 in - (match uu____9985 with - | (env2, uu____9999) -> - let uu____10004 = - let uu____10019 = FStar_List.hd x1 in - tc_binder env2 uu____10019 in - (match uu____10004 with - | (x2, env3, f1, u) -> - ((let uu____10055 = + | FStar_Syntax_Syntax.Tm_refine (x,phi) -> + let uu____10009 = + let uu____10014 = + let uu____10015 = FStar_Syntax_Syntax.mk_binder x in + [uu____10015] in + FStar_Syntax_Subst.open_term uu____10014 phi in + (match uu____10009 with + | (x1,phi1) -> + let env0 = env1 in + let uu____10043 = + FStar_TypeChecker_Env.clear_expected_typ env1 in + (match uu____10043 with + | (env2,uu____10057) -> + let uu____10062 = + let uu____10077 = FStar_List.hd x1 in + tc_binder env2 uu____10077 in + (match uu____10062 with + | (x2,env3,f1,u) -> + ((let uu____10113 = FStar_TypeChecker_Env.debug env3 - FStar_Options.High in - if uu____10055 + FStar_Options.High + in + if uu____10113 then - let uu____10058 = + let uu____10116 = FStar_Range.string_of_range - top.FStar_Syntax_Syntax.pos in - let uu____10060 = - FStar_Syntax_Print.term_to_string phi1 in - let uu____10062 = + top.FStar_Syntax_Syntax.pos + in + let uu____10118 = + FStar_Syntax_Print.term_to_string phi1 in + let uu____10120 = FStar_Syntax_Print.bv_to_string - (FStar_Pervasives_Native.fst x2) in + (FStar_Pervasives_Native.fst x2) + in FStar_Util.print3 "(%s) Checking refinement formula %s; binder is %s\n" - uu____10058 uu____10060 uu____10062 + uu____10116 uu____10118 uu____10120 else ()); - (let uu____10069 = FStar_Syntax_Util.type_u () in - match uu____10069 with - | (t_phi, uu____10081) -> - let uu____10082 = - tc_check_tot_or_gtot_term env3 phi1 t_phi in - (match uu____10082 with - | (phi2, uu____10096, f2) -> + (let uu____10127 = FStar_Syntax_Util.type_u () in + match uu____10127 with + | (t_phi,uu____10139) -> + let uu____10140 = + tc_check_tot_or_gtot_term env3 phi1 t_phi + in + (match uu____10140 with + | (phi2,uu____10154,f2) -> let e1 = - let uu___1382_10101 = + let uu___1387_10159 = FStar_Syntax_Util.refine (FStar_Pervasives_Native.fst x2) - phi2 in + phi2 + in { FStar_Syntax_Syntax.n = - (uu___1382_10101.FStar_Syntax_Syntax.n); + (uu___1387_10159.FStar_Syntax_Syntax.n); FStar_Syntax_Syntax.pos = (top.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___1382_10101.FStar_Syntax_Syntax.vars) - } in + (uu___1387_10159.FStar_Syntax_Syntax.vars) + } in let t = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type u) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in + top.FStar_Syntax_Syntax.pos + in let g = - let uu____10110 = + let uu____10168 = FStar_TypeChecker_Env.close_guard_univs - [u] [x2] f2 in + [u] [x2] f2 + in FStar_TypeChecker_Env.conj_guard f1 - uu____10110 in + uu____10168 + in let g1 = FStar_TypeChecker_Util.close_guard_implicits - env3 [x2] g in + env3 [x2] g + in value_check_expected_typ env0 e1 (FStar_Util.Inl t) g1)))))) - | FStar_Syntax_Syntax.Tm_abs (bs, body, uu____10138) -> - let bs1 = FStar_TypeChecker_Util.maybe_add_implicit_binders env1 bs in - ((let uu____10165 = - FStar_TypeChecker_Env.debug env1 FStar_Options.Medium in - if uu____10165 + | FStar_Syntax_Syntax.Tm_abs (bs,body,uu____10196) -> + let bs1 = FStar_TypeChecker_Util.maybe_add_implicit_binders env1 bs + in + ((let uu____10223 = + FStar_TypeChecker_Env.debug env1 FStar_Options.Medium in + if uu____10223 then - let uu____10168 = + let uu____10226 = FStar_Syntax_Print.term_to_string - (let uu___1395_10172 = top in + (let uu___1400_10230 = top in { FStar_Syntax_Syntax.n = (FStar_Syntax_Syntax.Tm_abs (bs1, body, FStar_Pervasives_Native.None)); FStar_Syntax_Syntax.pos = - (uu___1395_10172.FStar_Syntax_Syntax.pos); + (uu___1400_10230.FStar_Syntax_Syntax.pos); FStar_Syntax_Syntax.vars = - (uu___1395_10172.FStar_Syntax_Syntax.vars) - }) in - FStar_Util.print1 "Abstraction is: %s\n" uu____10168 + (uu___1400_10230.FStar_Syntax_Syntax.vars) + }) + in + FStar_Util.print1 "Abstraction is: %s\n" uu____10226 else ()); - (let uu____10188 = FStar_Syntax_Subst.open_term bs1 body in - match uu____10188 with - | (bs2, body1) -> tc_abs env1 top bs2 body1)) - | uu____10201 -> - let uu____10202 = - let uu____10204 = FStar_Syntax_Print.term_to_string top in - let uu____10206 = FStar_Syntax_Print.tag_of_term top in - FStar_Util.format2 "Unexpected value: %s (%s)" uu____10204 - uu____10206 in - failwith uu____10202 + (let uu____10246 = FStar_Syntax_Subst.open_term bs1 body in + match uu____10246 with | (bs2,body1) -> tc_abs env1 top bs2 body1)) + | uu____10259 -> + let uu____10260 = + let uu____10262 = FStar_Syntax_Print.term_to_string top in + let uu____10264 = FStar_Syntax_Print.tag_of_term top in + FStar_Util.format2 "Unexpected value: %s (%s)" uu____10262 + uu____10264 + in + failwith uu____10260 + and (tc_constant : FStar_TypeChecker_Env.env -> FStar_Range.range -> FStar_Const.sconst -> FStar_Syntax_Syntax.typ) = - fun env -> - fun r -> - fun c -> + fun env -> + fun r -> + fun c -> match c with - | FStar_Const.Const_unit -> FStar_Syntax_Syntax.t_unit - | FStar_Const.Const_bool uu____10218 -> FStar_Syntax_Util.t_bool - | FStar_Const.Const_int (uu____10220, FStar_Pervasives_Native.None) + | FStar_Const.Const_unit -> FStar_Syntax_Syntax.t_unit + | FStar_Const.Const_bool uu____10276 -> FStar_Syntax_Util.t_bool + | FStar_Const.Const_int (uu____10278,FStar_Pervasives_Native.None ) -> FStar_Syntax_Syntax.t_int | FStar_Const.Const_int - (uu____10233, FStar_Pervasives_Native.Some msize) -> + (uu____10291,FStar_Pervasives_Native.Some msize) -> FStar_Syntax_Syntax.tconst (match msize with - | (FStar_Const.Signed, FStar_Const.Int8) -> + | (FStar_Const.Signed ,FStar_Const.Int8 ) -> FStar_Parser_Const.int8_lid - | (FStar_Const.Signed, FStar_Const.Int16) -> + | (FStar_Const.Signed ,FStar_Const.Int16 ) -> FStar_Parser_Const.int16_lid - | (FStar_Const.Signed, FStar_Const.Int32) -> + | (FStar_Const.Signed ,FStar_Const.Int32 ) -> FStar_Parser_Const.int32_lid - | (FStar_Const.Signed, FStar_Const.Int64) -> + | (FStar_Const.Signed ,FStar_Const.Int64 ) -> FStar_Parser_Const.int64_lid - | (FStar_Const.Unsigned, FStar_Const.Int8) -> + | (FStar_Const.Unsigned ,FStar_Const.Int8 ) -> FStar_Parser_Const.uint8_lid - | (FStar_Const.Unsigned, FStar_Const.Int16) -> + | (FStar_Const.Unsigned ,FStar_Const.Int16 ) -> FStar_Parser_Const.uint16_lid - | (FStar_Const.Unsigned, FStar_Const.Int32) -> + | (FStar_Const.Unsigned ,FStar_Const.Int32 ) -> FStar_Parser_Const.uint32_lid - | (FStar_Const.Unsigned, FStar_Const.Int64) -> + | (FStar_Const.Unsigned ,FStar_Const.Int64 ) -> FStar_Parser_Const.uint64_lid) - | FStar_Const.Const_string uu____10251 -> + | FStar_Const.Const_string uu____10309 -> FStar_Syntax_Syntax.t_string - | FStar_Const.Const_real uu____10257 -> FStar_Syntax_Syntax.t_real - | FStar_Const.Const_float uu____10259 -> FStar_Syntax_Syntax.t_float - | FStar_Const.Const_char uu____10260 -> - let uu____10262 = + | FStar_Const.Const_real uu____10315 -> FStar_Syntax_Syntax.t_real + | FStar_Const.Const_float uu____10317 -> FStar_Syntax_Syntax.t_float + | FStar_Const.Const_char uu____10318 -> + let uu____10320 = FStar_Syntax_DsEnv.try_lookup_lid - env.FStar_TypeChecker_Env.dsenv FStar_Parser_Const.char_lid in - FStar_All.pipe_right uu____10262 FStar_Util.must - | FStar_Const.Const_effect -> FStar_Syntax_Util.ktype0 - | FStar_Const.Const_range uu____10267 -> FStar_Syntax_Syntax.t_range - | FStar_Const.Const_range_of -> - let uu____10268 = - let uu____10274 = - let uu____10276 = FStar_Parser_Const.const_to_string c in + env.FStar_TypeChecker_Env.dsenv FStar_Parser_Const.char_lid + in + FStar_All.pipe_right uu____10320 FStar_Util.must + | FStar_Const.Const_effect -> FStar_Syntax_Util.ktype0 + | FStar_Const.Const_range uu____10325 -> FStar_Syntax_Syntax.t_range + | FStar_Const.Const_range_of -> + let uu____10326 = + let uu____10332 = + let uu____10334 = FStar_Parser_Const.const_to_string c in FStar_Util.format1 "Ill-typed %s: this constant must be fully applied" - uu____10276 in - (FStar_Errors.Fatal_IllTyped, uu____10274) in - FStar_Errors.raise_error uu____10268 r - | FStar_Const.Const_set_range_of -> - let uu____10280 = - let uu____10286 = - let uu____10288 = FStar_Parser_Const.const_to_string c in + uu____10334 + in + (FStar_Errors.Fatal_IllTyped, uu____10332) in + FStar_Errors.raise_error uu____10326 r + | FStar_Const.Const_set_range_of -> + let uu____10338 = + let uu____10344 = + let uu____10346 = FStar_Parser_Const.const_to_string c in FStar_Util.format1 "Ill-typed %s: this constant must be fully applied" - uu____10288 in - (FStar_Errors.Fatal_IllTyped, uu____10286) in - FStar_Errors.raise_error uu____10280 r - | FStar_Const.Const_reify -> - let uu____10292 = - let uu____10298 = - let uu____10300 = FStar_Parser_Const.const_to_string c in + uu____10346 + in + (FStar_Errors.Fatal_IllTyped, uu____10344) in + FStar_Errors.raise_error uu____10338 r + | FStar_Const.Const_reify -> + let uu____10350 = + let uu____10356 = + let uu____10358 = FStar_Parser_Const.const_to_string c in FStar_Util.format1 "Ill-typed %s: this constant must be fully applied" - uu____10300 in - (FStar_Errors.Fatal_IllTyped, uu____10298) in - FStar_Errors.raise_error uu____10292 r - | FStar_Const.Const_reflect uu____10304 -> - let uu____10305 = - let uu____10311 = - let uu____10313 = FStar_Parser_Const.const_to_string c in + uu____10358 + in + (FStar_Errors.Fatal_IllTyped, uu____10356) in + FStar_Errors.raise_error uu____10350 r + | FStar_Const.Const_reflect uu____10362 -> + let uu____10363 = + let uu____10369 = + let uu____10371 = FStar_Parser_Const.const_to_string c in FStar_Util.format1 "Ill-typed %s: this constant must be fully applied" - uu____10313 in - (FStar_Errors.Fatal_IllTyped, uu____10311) in - FStar_Errors.raise_error uu____10305 r - | uu____10317 -> + uu____10371 + in + (FStar_Errors.Fatal_IllTyped, uu____10369) in + FStar_Errors.raise_error uu____10363 r + | uu____10375 -> FStar_Errors.raise_error (FStar_Errors.Fatal_UnsupportedConstant, "Unsupported constant") r + and (tc_comp : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp -> (FStar_Syntax_Syntax.comp * FStar_Syntax_Syntax.universe * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun c -> - let c0 = c in + fun env -> + fun c -> + let c0 = c in match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (t, uu____10336) -> - let uu____10345 = FStar_Syntax_Util.type_u () in - (match uu____10345 with - | (k, u) -> - let uu____10358 = tc_check_tot_or_gtot_term env t k in - (match uu____10358 with - | (t1, uu____10372, g) -> - let uu____10374 = + | FStar_Syntax_Syntax.Total (t,uu____10394) -> + let uu____10403 = FStar_Syntax_Util.type_u () in + (match uu____10403 with + | (k,u) -> + let uu____10416 = tc_check_tot_or_gtot_term env t k in + (match uu____10416 with + | (t1,uu____10430,g) -> + let uu____10432 = FStar_Syntax_Syntax.mk_Total' t1 - (FStar_Pervasives_Native.Some u) in - (uu____10374, u, g))) - | FStar_Syntax_Syntax.GTotal (t, uu____10376) -> - let uu____10385 = FStar_Syntax_Util.type_u () in - (match uu____10385 with - | (k, u) -> - let uu____10398 = tc_check_tot_or_gtot_term env t k in - (match uu____10398 with - | (t1, uu____10412, g) -> - let uu____10414 = + (FStar_Pervasives_Native.Some u) + in + (uu____10432, u, g))) + | FStar_Syntax_Syntax.GTotal (t,uu____10434) -> + let uu____10443 = FStar_Syntax_Util.type_u () in + (match uu____10443 with + | (k,u) -> + let uu____10456 = tc_check_tot_or_gtot_term env t k in + (match uu____10456 with + | (t1,uu____10470,g) -> + let uu____10472 = FStar_Syntax_Syntax.mk_GTotal' t1 - (FStar_Pervasives_Native.Some u) in - (uu____10414, u, g))) + (FStar_Pervasives_Native.Some u) + in + (uu____10472, u, g))) | FStar_Syntax_Syntax.Comp c1 -> let head1 = FStar_Syntax_Syntax.fvar c1.FStar_Syntax_Syntax.effect_name - FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None in + FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + in let head2 = match c1.FStar_Syntax_Syntax.comp_univs with | [] -> head1 | us -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_uinst (head1, us)) - FStar_Pervasives_Native.None c0.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None c0.FStar_Syntax_Syntax.pos + in let tc = - let uu____10424 = - let uu____10429 = - let uu____10430 = + let uu____10482 = + let uu____10487 = + let uu____10488 = FStar_Syntax_Syntax.as_arg - c1.FStar_Syntax_Syntax.result_typ in - uu____10430 :: (c1.FStar_Syntax_Syntax.effect_args) in - FStar_Syntax_Syntax.mk_Tm_app head2 uu____10429 in - uu____10424 FStar_Pervasives_Native.None - (c1.FStar_Syntax_Syntax.result_typ).FStar_Syntax_Syntax.pos in - let uu____10447 = - tc_check_tot_or_gtot_term env tc FStar_Syntax_Syntax.teff in - (match uu____10447 with - | (tc1, uu____10461, f) -> - let uu____10463 = FStar_Syntax_Util.head_and_args tc1 in - (match uu____10463 with - | (head3, args) -> + c1.FStar_Syntax_Syntax.result_typ + in + uu____10488 :: (c1.FStar_Syntax_Syntax.effect_args) in + FStar_Syntax_Syntax.mk_Tm_app head2 uu____10487 in + uu____10482 FStar_Pervasives_Native.None + (c1.FStar_Syntax_Syntax.result_typ).FStar_Syntax_Syntax.pos + in + let uu____10505 = + tc_check_tot_or_gtot_term env tc FStar_Syntax_Syntax.teff in + (match uu____10505 with + | (tc1,uu____10519,f) -> + let uu____10521 = FStar_Syntax_Util.head_and_args tc1 in + (match uu____10521 with + | (head3,args) -> let comp_univs = - let uu____10513 = - let uu____10514 = FStar_Syntax_Subst.compress head3 in - uu____10514.FStar_Syntax_Syntax.n in - match uu____10513 with - | FStar_Syntax_Syntax.Tm_uinst (uu____10517, us) -> us - | uu____10523 -> [] in - let uu____10524 = FStar_Syntax_Util.head_and_args tc1 in - (match uu____10524 with - | (uu____10547, args1) -> - let uu____10573 = - let uu____10596 = FStar_List.hd args1 in - let uu____10613 = FStar_List.tl args1 in - (uu____10596, uu____10613) in - (match uu____10573 with - | (res, args2) -> - let uu____10694 = - let uu____10703 = + let uu____10571 = + let uu____10572 = FStar_Syntax_Subst.compress head3 + in + uu____10572.FStar_Syntax_Syntax.n in + match uu____10571 with + | FStar_Syntax_Syntax.Tm_uinst (uu____10575,us) -> us + | uu____10581 -> [] in + let uu____10582 = FStar_Syntax_Util.head_and_args tc1 in + (match uu____10582 with + | (uu____10605,args1) -> + let uu____10631 = + let uu____10654 = FStar_List.hd args1 in + let uu____10671 = FStar_List.tl args1 in + (uu____10654, uu____10671) in + (match uu____10631 with + | (res,args2) -> + let uu____10752 = + let uu____10761 = FStar_All.pipe_right c1.FStar_Syntax_Syntax.flags (FStar_List.map - (fun uu___5_10731 -> - match uu___5_10731 with + (fun uu___5_10789 -> + match uu___5_10789 with | FStar_Syntax_Syntax.DECREASES e -> - let uu____10739 = + let uu____10797 = FStar_TypeChecker_Env.clear_expected_typ - env in - (match uu____10739 with - | (env1, uu____10751) -> - let uu____10756 = + env + in + (match uu____10797 with + | (env1,uu____10809) -> + let uu____10814 = tc_tot_or_gtot_term env1 - e in - (match uu____10756 with - | (e1, uu____10768, g) -> + e + in + (match uu____10814 with + | (e1,uu____10826,g) -> ((FStar_Syntax_Syntax.DECREASES e1), g))) | f1 -> (f1, - FStar_TypeChecker_Env.trivial_guard))) in - FStar_All.pipe_right uu____10703 - FStar_List.unzip in - (match uu____10694 with - | (flags, guards) -> + FStar_TypeChecker_Env.trivial_guard))) + in + FStar_All.pipe_right uu____10761 + FStar_List.unzip + in + (match uu____10752 with + | (flags,guards) -> let u = env.FStar_TypeChecker_Env.universe_of - env (FStar_Pervasives_Native.fst res) in + env (FStar_Pervasives_Native.fst res) + in let c2 = FStar_Syntax_Syntax.mk_Comp - (let uu___1524_10809 = c1 in + (let uu___1529_10867 = c1 in { FStar_Syntax_Syntax.comp_univs = comp_univs; FStar_Syntax_Syntax.effect_name = - (uu___1524_10809.FStar_Syntax_Syntax.effect_name); + (uu___1529_10867.FStar_Syntax_Syntax.effect_name); FStar_Syntax_Syntax.result_typ = (FStar_Pervasives_Native.fst res); FStar_Syntax_Syntax.effect_args = args2; FStar_Syntax_Syntax.flags = - (uu___1524_10809.FStar_Syntax_Syntax.flags) - }) in + (uu___1529_10867.FStar_Syntax_Syntax.flags) + }) + in let u_c = FStar_All.pipe_right c2 (FStar_TypeChecker_Util.universe_of_comp - env u) in - let uu____10815 = + env u) + in + let uu____10873 = FStar_List.fold_left FStar_TypeChecker_Env.conj_guard f - guards in - (c2, u_c, uu____10815)))))) + guards + in + (c2, u_c, uu____10873)))))) + and (tc_universe : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.universe) = - fun env -> - fun u -> + fun env -> + fun u -> let rec aux u1 = - let u2 = FStar_Syntax_Subst.compress_univ u1 in + let u2 = FStar_Syntax_Subst.compress_univ u1 in match u2 with - | FStar_Syntax_Syntax.U_bvar uu____10825 -> + | FStar_Syntax_Syntax.U_bvar uu____10883 -> failwith "Impossible: locally nameless" - | FStar_Syntax_Syntax.U_unknown -> failwith "Unknown universe" - | FStar_Syntax_Syntax.U_unif uu____10829 -> u2 - | FStar_Syntax_Syntax.U_zero -> u2 + | FStar_Syntax_Syntax.U_unknown -> failwith "Unknown universe" + | FStar_Syntax_Syntax.U_unif uu____10887 -> u2 + | FStar_Syntax_Syntax.U_zero -> u2 | FStar_Syntax_Syntax.U_succ u3 -> - let uu____10839 = aux u3 in - FStar_Syntax_Syntax.U_succ uu____10839 + let uu____10897 = aux u3 in + FStar_Syntax_Syntax.U_succ uu____10897 | FStar_Syntax_Syntax.U_max us -> - let uu____10843 = FStar_List.map aux us in - FStar_Syntax_Syntax.U_max uu____10843 + let uu____10901 = FStar_List.map aux us in + FStar_Syntax_Syntax.U_max uu____10901 | FStar_Syntax_Syntax.U_name x -> - let uu____10847 = + let uu____10905 = env.FStar_TypeChecker_Env.use_bv_sorts || - (FStar_TypeChecker_Env.lookup_univ env x) in - if uu____10847 + (FStar_TypeChecker_Env.lookup_univ env x) + in + if uu____10905 then u2 else - (let uu____10852 = - let uu____10854 = - let uu____10856 = FStar_Syntax_Print.univ_to_string u2 in - Prims.op_Hat uu____10856 " not found" in - Prims.op_Hat "Universe variable " uu____10854 in - failwith uu____10852) in + (let uu____10910 = + let uu____10912 = + let uu____10914 = FStar_Syntax_Print.univ_to_string u2 in + Prims.op_Hat uu____10914 " not found" in + Prims.op_Hat "Universe variable " uu____10912 in + failwith uu____10910) + in if env.FStar_TypeChecker_Env.lax_universes then FStar_Syntax_Syntax.U_zero else (match u with - | FStar_Syntax_Syntax.U_unknown -> - let uu____10863 = FStar_Syntax_Util.type_u () in - FStar_All.pipe_right uu____10863 FStar_Pervasives_Native.snd - | uu____10872 -> aux u) + | FStar_Syntax_Syntax.U_unknown -> + let uu____10921 = FStar_Syntax_Util.type_u () in + FStar_All.pipe_right uu____10921 FStar_Pervasives_Native.snd + | uu____10930 -> aux u) + and (tc_abs : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -3501,832 +3850,949 @@ and (tc_abs : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun top -> - fun bs -> - fun body -> + fun env -> + fun top -> + fun bs -> + fun body -> let fail1 msg t = - let uu____10903 = + let uu____10961 = FStar_TypeChecker_Err.expected_a_term_of_type_t_got_a_function - env msg t top in - FStar_Errors.raise_error uu____10903 top.FStar_Syntax_Syntax.pos in + env msg t top + in + FStar_Errors.raise_error uu____10961 top.FStar_Syntax_Syntax.pos + in let check_binders env1 bs1 bs_expected = - let rec aux uu____10992 bs2 bs_expected1 = - match uu____10992 with - | (env2, subst1) -> + let rec aux uu____11050 bs2 bs_expected1 = + match uu____11050 with + | (env2,subst1) -> (match (bs2, bs_expected1) with - | ([], []) -> + | ([],[]) -> (env2, [], FStar_Pervasives_Native.None, FStar_TypeChecker_Env.trivial_guard, subst1) - | ((hd1, imp)::bs3, (hd_expected, imp')::bs_expected2) -> + | ((hd1,imp)::bs3,(hd_expected,imp')::bs_expected2) -> ((let special q1 q2 = match (q1, q2) with | (FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Meta uu____11183), - FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Meta uu____11184)) -> true - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Equality)) -> true + (FStar_Syntax_Syntax.Meta + uu____11241),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Meta uu____11242)) -> true + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Equality )) -> true | (FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____11199), - FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Meta uu____11200)) -> true - | uu____11209 -> false in - let uu____11219 = + (FStar_Syntax_Syntax.Implicit + uu____11257),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Meta uu____11258)) -> true + | uu____11267 -> false in + let uu____11277 = (Prims.op_Negation (special imp imp')) && - (let uu____11222 = - FStar_Syntax_Util.eq_aqual imp imp' in - uu____11222 <> FStar_Syntax_Util.Equal) in - if uu____11219 + (let uu____11280 = + FStar_Syntax_Util.eq_aqual imp imp' in + uu____11280 <> FStar_Syntax_Util.Equal) + in + if uu____11277 then - let uu____11224 = - let uu____11230 = - let uu____11232 = - FStar_Syntax_Print.bv_to_string hd1 in + let uu____11282 = + let uu____11288 = + let uu____11290 = + FStar_Syntax_Print.bv_to_string hd1 in FStar_Util.format1 "Inconsistent implicit argument annotation on argument %s" - uu____11232 in + uu____11290 + in (FStar_Errors.Fatal_InconsistentImplicitArgumentAnnotation, - uu____11230) in - let uu____11236 = - FStar_Syntax_Syntax.range_of_bv hd1 in - FStar_Errors.raise_error uu____11224 uu____11236 + uu____11288) + in + let uu____11294 = + FStar_Syntax_Syntax.range_of_bv hd1 in + FStar_Errors.raise_error uu____11282 uu____11294 else ()); (let expected_t = FStar_Syntax_Subst.subst subst1 - hd_expected.FStar_Syntax_Syntax.sort in - let uu____11240 = - let uu____11247 = - let uu____11248 = + hd_expected.FStar_Syntax_Syntax.sort + in + let uu____11298 = + let uu____11305 = + let uu____11306 = FStar_Syntax_Util.unmeta - hd1.FStar_Syntax_Syntax.sort in - uu____11248.FStar_Syntax_Syntax.n in - match uu____11247 with - | FStar_Syntax_Syntax.Tm_unknown -> + hd1.FStar_Syntax_Syntax.sort + in + uu____11306.FStar_Syntax_Syntax.n in + match uu____11305 with + | FStar_Syntax_Syntax.Tm_unknown -> (expected_t, FStar_TypeChecker_Env.trivial_guard) - | uu____11259 -> - ((let uu____11261 = + | uu____11317 -> + ((let uu____11319 = FStar_TypeChecker_Env.debug env2 - FStar_Options.High in - if uu____11261 + FStar_Options.High + in + if uu____11319 then - let uu____11264 = - FStar_Syntax_Print.bv_to_string hd1 in + let uu____11322 = + FStar_Syntax_Print.bv_to_string hd1 in FStar_Util.print1 "Checking binder %s\n" - uu____11264 + uu____11322 else ()); - (let uu____11269 = + (let uu____11327 = tc_tot_or_gtot_term env2 - hd1.FStar_Syntax_Syntax.sort in - match uu____11269 with - | (t, uu____11283, g1_env) -> + hd1.FStar_Syntax_Syntax.sort + in + match uu____11327 with + | (t,uu____11341,g1_env) -> let g2_env = - let uu____11286 = + let uu____11344 = FStar_TypeChecker_Rel.teq_nosmt_force - env2 t expected_t in - if uu____11286 + env2 t expected_t + in + if uu____11344 then FStar_TypeChecker_Env.trivial_guard else - (let uu____11291 = + (let uu____11349 = FStar_TypeChecker_Rel.get_subtyping_prop - env2 expected_t t in - match uu____11291 with - | FStar_Pervasives_Native.None -> - let uu____11294 = + env2 expected_t t + in + match uu____11349 with + | FStar_Pervasives_Native.None -> + let uu____11352 = FStar_TypeChecker_Err.basic_type_error env2 FStar_Pervasives_Native.None - expected_t t in - let uu____11300 = + expected_t t + in + let uu____11358 = FStar_TypeChecker_Env.get_range - env2 in + env2 + in FStar_Errors.raise_error - uu____11294 uu____11300 + uu____11352 uu____11358 | FStar_Pervasives_Native.Some g_env -> - let uu____11302 = + let uu____11360 = FStar_TypeChecker_Env.get_range - env2 in + env2 + in FStar_TypeChecker_Util.label_guard - uu____11302 + uu____11360 "Type annotation on parameter incompatible with the expected type" - g_env) in - let uu____11304 = + g_env) + in + let uu____11362 = FStar_TypeChecker_Env.conj_guard - g1_env g2_env in - (t, uu____11304))) in - match uu____11240 with - | (t, g_env) -> + g1_env g2_env + in + (t, uu____11362))) + in + match uu____11298 with + | (t,g_env) -> let hd2 = - let uu___1622_11330 = hd1 in + let uu___1627_11388 = hd1 in { FStar_Syntax_Syntax.ppname = - (uu___1622_11330.FStar_Syntax_Syntax.ppname); + (uu___1627_11388.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1622_11330.FStar_Syntax_Syntax.index); + (uu___1627_11388.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t - } in - let b = (hd2, imp) in - let b_expected = (hd_expected, imp') in - let env_b = push_binding env2 b in + } in + let b = (hd2, imp) in + let b_expected = (hd_expected, imp') in + let env_b = push_binding env2 b in let subst2 = - let uu____11353 = - FStar_Syntax_Syntax.bv_to_name hd2 in + let uu____11411 = + FStar_Syntax_Syntax.bv_to_name hd2 in maybe_extend_subst subst1 b_expected - uu____11353 in - let uu____11356 = - aux (env_b, subst2) bs3 bs_expected2 in - (match uu____11356 with - | (env_bs, bs4, rest, g'_env_b, subst3) -> + uu____11411 + in + let uu____11414 = + aux (env_b, subst2) bs3 bs_expected2 in + (match uu____11414 with + | (env_bs,bs4,rest,g'_env_b,subst3) -> let g'_env = FStar_TypeChecker_Env.close_guard env_bs - [b] g'_env_b in - let uu____11421 = + [b] g'_env_b + in + let uu____11479 = FStar_TypeChecker_Env.conj_guard g_env - g'_env in - (env_bs, (b :: bs4), rest, uu____11421, + g'_env + in + (env_bs, (b :: bs4), rest, uu____11479, subst3)))) - | (rest, []) -> + | (rest,[]) -> (env2, [], (FStar_Pervasives_Native.Some (FStar_Util.Inl rest)), FStar_TypeChecker_Env.trivial_guard, subst1) - | ([], rest) -> + | ([],rest) -> (env2, [], (FStar_Pervasives_Native.Some (FStar_Util.Inr rest)), - FStar_TypeChecker_Env.trivial_guard, subst1)) in - aux (env1, []) bs1 bs_expected in + FStar_TypeChecker_Env.trivial_guard, subst1)) + in + aux (env1, []) bs1 bs_expected in let rec expected_function_typ1 env1 t0 body1 = match t0 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> ((match env1.FStar_TypeChecker_Env.letrecs with | [] -> () - | uu____11593 -> + | uu____11651 -> failwith "Impossible: Can't have a let rec annotation but no expected type"); - (let uu____11603 = tc_binders env1 bs in - match uu____11603 with - | (bs1, envbody, g_env, uu____11633) -> + (let uu____11661 = tc_binders env1 bs in + match uu____11661 with + | (bs1,envbody,g_env,uu____11691) -> (FStar_Pervasives_Native.None, bs1, [], FStar_Pervasives_Native.None, envbody, body1, g_env))) | FStar_Pervasives_Native.Some t -> - let t1 = FStar_Syntax_Subst.compress t in + let t1 = FStar_Syntax_Subst.compress t in let rec as_function_typ norm1 t2 = - let uu____11689 = - let uu____11690 = FStar_Syntax_Subst.compress t2 in - uu____11690.FStar_Syntax_Syntax.n in - match uu____11689 with - | FStar_Syntax_Syntax.Tm_uvar uu____11723 -> + let uu____11747 = + let uu____11748 = FStar_Syntax_Subst.compress t2 in + uu____11748.FStar_Syntax_Syntax.n in + match uu____11747 with + | FStar_Syntax_Syntax.Tm_uvar uu____11781 -> ((match env1.FStar_TypeChecker_Env.letrecs with | [] -> () - | uu____11743 -> failwith "Impossible"); - (let uu____11753 = tc_binders env1 bs in - match uu____11753 with - | (bs1, envbody, g_env, uu____11795) -> - let uu____11796 = + | uu____11801 -> failwith "Impossible"); + (let uu____11811 = tc_binders env1 bs in + match uu____11811 with + | (bs1,envbody,g_env,uu____11853) -> + let uu____11854 = FStar_TypeChecker_Env.clear_expected_typ - envbody in - (match uu____11796 with - | (envbody1, uu____11834) -> + envbody + in + (match uu____11854 with + | (envbody1,uu____11892) -> ((FStar_Pervasives_Native.Some t2), bs1, [], FStar_Pervasives_Native.None, envbody1, body1, g_env)))) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar - uu____11855; - FStar_Syntax_Syntax.pos = uu____11856; - FStar_Syntax_Syntax.vars = uu____11857;_}, - uu____11858) + uu____11913; + FStar_Syntax_Syntax.pos = uu____11914; + FStar_Syntax_Syntax.vars = uu____11915;_},uu____11916) -> ((match env1.FStar_TypeChecker_Env.letrecs with | [] -> () - | uu____11902 -> failwith "Impossible"); - (let uu____11912 = tc_binders env1 bs in - match uu____11912 with - | (bs1, envbody, g_env, uu____11954) -> - let uu____11955 = + | uu____11960 -> failwith "Impossible"); + (let uu____11970 = tc_binders env1 bs in + match uu____11970 with + | (bs1,envbody,g_env,uu____12012) -> + let uu____12013 = FStar_TypeChecker_Env.clear_expected_typ - envbody in - (match uu____11955 with - | (envbody1, uu____11993) -> + envbody + in + (match uu____12013 with + | (envbody1,uu____12051) -> ((FStar_Pervasives_Native.Some t2), bs1, [], FStar_Pervasives_Native.None, envbody1, body1, g_env)))) - | FStar_Syntax_Syntax.Tm_refine (b, uu____12015) -> - let uu____12020 = - as_function_typ norm1 b.FStar_Syntax_Syntax.sort in - (match uu____12020 with - | (uu____12081, bs1, bs', copt, env_body, body2, - g_env) -> + | FStar_Syntax_Syntax.Tm_refine (b,uu____12073) -> + let uu____12078 = + as_function_typ norm1 b.FStar_Syntax_Syntax.sort in + (match uu____12078 with + | (uu____12139,bs1,bs',copt,env_body,body2,g_env) -> ((FStar_Pervasives_Native.Some t2), bs1, bs', copt, env_body, body2, g_env)) - | FStar_Syntax_Syntax.Tm_arrow (bs_expected, c_expected) -> - let uu____12158 = - FStar_Syntax_Subst.open_comp bs_expected c_expected in - (match uu____12158 with - | (bs_expected1, c_expected1) -> + | FStar_Syntax_Syntax.Tm_arrow (bs_expected,c_expected) -> + let uu____12216 = + FStar_Syntax_Subst.open_comp bs_expected c_expected + in + (match uu____12216 with + | (bs_expected1,c_expected1) -> let check_actuals_against_formals env2 bs1 bs_expected2 body2 = - let rec handle_more uu____12303 c_expected2 + let rec handle_more uu____12361 c_expected2 body3 = - match uu____12303 with - | (env_bs, bs2, more, guard_env, subst1) -> + match uu____12361 with + | (env_bs,bs2,more,guard_env,subst1) -> (match more with - | FStar_Pervasives_Native.None -> - let uu____12417 = + | FStar_Pervasives_Native.None -> + let uu____12475 = FStar_Syntax_Subst.subst_comp - subst1 c_expected2 in - (env_bs, bs2, guard_env, uu____12417, + subst1 c_expected2 + in + (env_bs, bs2, guard_env, uu____12475, body3) | FStar_Pervasives_Native.Some (FStar_Util.Inr more_bs_expected) -> let c = - let uu____12434 = + let uu____12492 = FStar_Syntax_Util.arrow - more_bs_expected c_expected2 in + more_bs_expected c_expected2 + in FStar_Syntax_Syntax.mk_Total - uu____12434 in - let uu____12435 = + uu____12492 + in + let uu____12493 = FStar_Syntax_Subst.subst_comp - subst1 c in - (env_bs, bs2, guard_env, uu____12435, + subst1 c + in + (env_bs, bs2, guard_env, uu____12493, body3) | FStar_Pervasives_Native.Some (FStar_Util.Inl more_bs) -> let c = FStar_Syntax_Subst.subst_comp - subst1 c_expected2 in - let uu____12452 = + subst1 c_expected2 + in + let uu____12510 = (FStar_Options.ml_ish ()) || - (FStar_Syntax_Util.is_named_tot c) in - if uu____12452 + (FStar_Syntax_Util.is_named_tot c) + in + if uu____12510 then let t3 = FStar_TypeChecker_Normalize.unfold_whnf env_bs (FStar_Syntax_Util.comp_result - c) in + c) + in (match t3.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_arrow - (bs_expected3, c_expected3) -> - let uu____12518 = + (bs_expected3,c_expected3) -> + let uu____12576 = FStar_Syntax_Subst.open_comp - bs_expected3 c_expected3 in - (match uu____12518 with - | (bs_expected4, c_expected4) + bs_expected3 c_expected3 + in + (match uu____12576 with + | (bs_expected4,c_expected4) -> - let uu____12545 = + let uu____12603 = check_binders env_bs - more_bs bs_expected4 in - (match uu____12545 with - | (env_bs_bs', bs', - more1, guard'_env_bs, - subst2) -> + more_bs bs_expected4 + in + (match uu____12603 with + | (env_bs_bs',bs',more1,guard'_env_bs,subst2) + -> let guard'_env = FStar_TypeChecker_Env.close_guard env_bs bs2 - guard'_env_bs in - let uu____12600 = - let uu____12627 = + guard'_env_bs + in + let uu____12658 = + let uu____12685 = FStar_TypeChecker_Env.conj_guard guard_env - guard'_env in + guard'_env + in (env_bs_bs', (FStar_List.append bs2 bs'), more1, - uu____12627, - subst2) in + uu____12685, + subst2) + in handle_more - uu____12600 + uu____12658 c_expected4 body3)) - | uu____12650 -> + | uu____12708 -> let body4 = FStar_Syntax_Util.abs more_bs body3 - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in (env_bs, bs2, guard_env, c, body4)) else (let body4 = FStar_Syntax_Util.abs more_bs body3 - FStar_Pervasives_Native.None in - (env_bs, bs2, guard_env, c, body4))) in - let uu____12679 = - check_binders env2 bs1 bs_expected2 in - handle_more uu____12679 c_expected1 body2 in + FStar_Pervasives_Native.None + in + (env_bs, bs2, guard_env, c, body4))) + in + let uu____12737 = + check_binders env2 bs1 bs_expected2 in + handle_more uu____12737 c_expected1 body2 in let mk_letrec_env envbody bs1 c = - let letrecs = guard_letrecs envbody bs1 c in + let letrecs = guard_letrecs envbody bs1 c in let envbody1 = - let uu___1748_12744 = envbody in + let uu___1753_12802 = envbody in { FStar_TypeChecker_Env.solver = - (uu___1748_12744.FStar_TypeChecker_Env.solver); + (uu___1753_12802.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1748_12744.FStar_TypeChecker_Env.range); + (uu___1753_12802.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1748_12744.FStar_TypeChecker_Env.curmodule); + (uu___1753_12802.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1748_12744.FStar_TypeChecker_Env.gamma); + (uu___1753_12802.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1748_12744.FStar_TypeChecker_Env.gamma_sig); + (uu___1753_12802.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1748_12744.FStar_TypeChecker_Env.gamma_cache); + (uu___1753_12802.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1748_12744.FStar_TypeChecker_Env.modules); + (uu___1753_12802.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1748_12744.FStar_TypeChecker_Env.expected_typ); + (uu___1753_12802.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1748_12744.FStar_TypeChecker_Env.sigtab); + (uu___1753_12802.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1748_12744.FStar_TypeChecker_Env.attrtab); + (uu___1753_12802.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1748_12744.FStar_TypeChecker_Env.is_pattern); + (uu___1753_12802.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1748_12744.FStar_TypeChecker_Env.instantiate_imp); + (uu___1753_12802.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1748_12744.FStar_TypeChecker_Env.effects); + (uu___1753_12802.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1748_12744.FStar_TypeChecker_Env.generalize); + (uu___1753_12802.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = []; FStar_TypeChecker_Env.top_level = - (uu___1748_12744.FStar_TypeChecker_Env.top_level); + (uu___1753_12802.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1748_12744.FStar_TypeChecker_Env.check_uvars); + (uu___1753_12802.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___1748_12744.FStar_TypeChecker_Env.use_eq); + (uu___1753_12802.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___1748_12744.FStar_TypeChecker_Env.is_iface); + (uu___1753_12802.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1748_12744.FStar_TypeChecker_Env.admit); + (uu___1753_12802.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___1748_12744.FStar_TypeChecker_Env.lax); + (uu___1753_12802.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___1748_12744.FStar_TypeChecker_Env.lax_universes); + (uu___1753_12802.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1748_12744.FStar_TypeChecker_Env.phase1); + (uu___1753_12802.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1748_12744.FStar_TypeChecker_Env.failhard); + (uu___1753_12802.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1748_12744.FStar_TypeChecker_Env.nosynth); + (uu___1753_12802.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1748_12744.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1753_12802.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1748_12744.FStar_TypeChecker_Env.tc_term); + (uu___1753_12802.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1748_12744.FStar_TypeChecker_Env.type_of); + (uu___1753_12802.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1748_12744.FStar_TypeChecker_Env.universe_of); + (uu___1753_12802.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1748_12744.FStar_TypeChecker_Env.check_type_of); + (uu___1753_12802.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1748_12744.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1753_12802.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1748_12744.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1753_12802.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1748_12744.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1753_12802.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1748_12744.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1753_12802.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1748_12744.FStar_TypeChecker_Env.proof_ns); + (uu___1753_12802.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1748_12744.FStar_TypeChecker_Env.synth_hook); + (uu___1753_12802.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1748_12744.FStar_TypeChecker_Env.splice); + (uu___1753_12802.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1748_12744.FStar_TypeChecker_Env.postprocess); + (uu___1753_12802.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1748_12744.FStar_TypeChecker_Env.is_native_tactic); + (uu___1753_12802.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1748_12744.FStar_TypeChecker_Env.identifier_info); + (uu___1753_12802.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1748_12744.FStar_TypeChecker_Env.tc_hooks); + (uu___1753_12802.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1748_12744.FStar_TypeChecker_Env.dsenv); + (uu___1753_12802.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1748_12744.FStar_TypeChecker_Env.nbe) - } in - let uu____12751 = + (uu___1753_12802.FStar_TypeChecker_Env.nbe) + } in + let uu____12809 = FStar_All.pipe_right letrecs (FStar_List.fold_left - (fun uu____12817 -> - fun uu____12818 -> - match (uu____12817, uu____12818) + (fun uu____12875 -> + fun uu____12876 -> + match (uu____12875, uu____12876) with - | ((env2, letrec_binders, g), - (l, t3, u_names)) -> - let uu____12909 = - let uu____12916 = - let uu____12917 = + | ((env2,letrec_binders,g),(l,t3,u_names)) + -> + let uu____12967 = + let uu____12974 = + let uu____12975 = FStar_TypeChecker_Env.clear_expected_typ - env2 in + env2 + in FStar_All.pipe_right - uu____12917 - FStar_Pervasives_Native.fst in - tc_term uu____12916 t3 in - (match uu____12909 with - | (t4, uu____12941, g') -> + uu____12975 + FStar_Pervasives_Native.fst + in + tc_term uu____12974 t3 in + (match uu____12967 with + | (t4,uu____12999,g') -> let env3 = FStar_TypeChecker_Env.push_let_binding - env2 l (u_names, t4) in + env2 l (u_names, t4) + in let lb = match l with | FStar_Util.Inl x -> - let uu____12954 = + let uu____13012 = FStar_Syntax_Syntax.mk_binder - (let uu___1766_12957 - = x in + (let uu___1771_13015 + = x in { FStar_Syntax_Syntax.ppname = - (uu___1766_12957.FStar_Syntax_Syntax.ppname); + (uu___1771_13015.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___1766_12957.FStar_Syntax_Syntax.index); + (uu___1771_13015.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t4 - }) in - uu____12954 :: + }) + in + uu____13012 :: letrec_binders - | uu____12958 -> - letrec_binders in - let uu____12963 = + | uu____13016 -> + letrec_binders + in + let uu____13021 = FStar_TypeChecker_Env.conj_guard - g g' in - (env3, lb, uu____12963))) + g g' + in + (env3, lb, uu____13021))) (envbody1, [], - FStar_TypeChecker_Env.trivial_guard)) in - match uu____12751 with - | (envbody2, letrec_binders, g) -> - let uu____12983 = + FStar_TypeChecker_Env.trivial_guard)) + in + match uu____12809 with + | (envbody2,letrec_binders,g) -> + let uu____13041 = FStar_TypeChecker_Env.close_guard envbody2 - bs1 g in - (envbody2, letrec_binders, uu____12983) in - let uu____12986 = + bs1 g + in + (envbody2, letrec_binders, uu____13041) + in + let uu____13044 = check_actuals_against_formals env1 bs - bs_expected1 body1 in - (match uu____12986 with - | (envbody, bs1, g_env, c, body2) -> - let uu____13062 = mk_letrec_env envbody bs1 c in - (match uu____13062 with - | (envbody1, letrecs, g_annots) -> + bs_expected1 body1 + in + (match uu____13044 with + | (envbody,bs1,g_env,c,body2) -> + let uu____13120 = mk_letrec_env envbody bs1 c + in + (match uu____13120 with + | (envbody1,letrecs,g_annots) -> let envbody2 = FStar_TypeChecker_Env.set_expected_typ envbody1 - (FStar_Syntax_Util.comp_result c) in - let uu____13109 = + (FStar_Syntax_Util.comp_result c) + in + let uu____13167 = FStar_TypeChecker_Env.conj_guard g_env - g_annots in + g_annots + in ((FStar_Pervasives_Native.Some t2), bs1, letrecs, (FStar_Pervasives_Native.Some c), - envbody2, body2, uu____13109)))) - | uu____13126 -> + envbody2, body2, uu____13167)))) + | uu____13184 -> if Prims.op_Negation norm1 then - let uu____13158 = - FStar_TypeChecker_Normalize.unfold_whnf env1 t2 in - as_function_typ true uu____13158 + let uu____13216 = + let uu____13217 = + FStar_All.pipe_right t2 + (FStar_TypeChecker_Normalize.unfold_whnf env1) + in + FStar_All.pipe_right uu____13217 + FStar_Syntax_Util.unascribe + in + as_function_typ true uu____13216 else - (let uu____13162 = + (let uu____13221 = expected_function_typ1 env1 - FStar_Pervasives_Native.None body1 in - match uu____13162 with - | (uu____13211, bs1, uu____13213, c_opt, envbody, - body2, g_env) -> + FStar_Pervasives_Native.None body1 + in + match uu____13221 with + | (uu____13270,bs1,uu____13272,c_opt,envbody,body2,g_env) + -> ((FStar_Pervasives_Native.Some t2), bs1, [], - c_opt, envbody, body2, g_env)) in - as_function_typ false t1 in - let use_eq = env.FStar_TypeChecker_Env.use_eq in - let uu____13245 = FStar_TypeChecker_Env.clear_expected_typ env in - match uu____13245 with - | (env1, topt) -> - ((let uu____13265 = - FStar_TypeChecker_Env.debug env1 FStar_Options.High in - if uu____13265 + c_opt, envbody, body2, g_env)) + in + as_function_typ false t1 + in + let use_eq = env.FStar_TypeChecker_Env.use_eq in + let uu____13304 = FStar_TypeChecker_Env.clear_expected_typ env in + match uu____13304 with + | (env1,topt) -> + ((let uu____13324 = + FStar_TypeChecker_Env.debug env1 FStar_Options.High in + if uu____13324 then - let uu____13268 = + let uu____13327 = match topt with - | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.None -> "None" | FStar_Pervasives_Native.Some t -> - FStar_Syntax_Print.term_to_string t in + FStar_Syntax_Print.term_to_string t + in FStar_Util.print2 "!!!!!!!!!!!!!!!Expected type is %s, top_level=%s\n" - uu____13268 + uu____13327 (if env1.FStar_TypeChecker_Env.top_level then "true" else "false") else ()); - (let uu____13282 = expected_function_typ1 env1 topt body in - match uu____13282 with - | (tfun_opt, bs1, letrec_binders, c_opt, envbody, body1, - g_env) -> - ((let uu____13323 = + (let uu____13341 = expected_function_typ1 env1 topt body in + match uu____13341 with + | (tfun_opt,bs1,letrec_binders,c_opt,envbody,body1,g_env) -> + ((let uu____13382 = + FStar_TypeChecker_Env.debug env1 + FStar_Options.Extreme + in + if uu____13382 + then + let uu____13385 = + match tfun_opt with + | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.Some t -> + FStar_Syntax_Print.term_to_string t + in + let uu____13390 = + match c_opt with + | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.Some t -> + FStar_Syntax_Print.comp_to_string t + in + let uu____13395 = + let uu____13397 = + FStar_TypeChecker_Env.expected_typ envbody in + match uu____13397 with + | FStar_Pervasives_Native.None -> "None" + | FStar_Pervasives_Native.Some t -> + FStar_Syntax_Print.term_to_string t + in + FStar_Util.print3 + "After expected_function_typ, tfun_opt: %s, c_opt: %s, and expected type in envbody: %s\n" + uu____13385 uu____13390 uu____13395 + else ()); + (let uu____13407 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "NYC") in - if uu____13323 + (FStar_Options.Other "NYC") + in + if uu____13407 then - let uu____13328 = - FStar_Syntax_Print.binders_to_string ", " bs1 in - let uu____13331 = - FStar_TypeChecker_Rel.guard_to_string env1 g_env in + let uu____13412 = + FStar_Syntax_Print.binders_to_string ", " bs1 in + let uu____13415 = + FStar_TypeChecker_Rel.guard_to_string env1 g_env + in FStar_Util.print2 "!!!!!!!!!!!!!!!Guard for function with binders %s is %s\n" - uu____13328 uu____13331 + uu____13412 uu____13415 else ()); (let envbody1 = FStar_TypeChecker_Env.set_range envbody - body1.FStar_Syntax_Syntax.pos in - let uu____13337 = + body1.FStar_Syntax_Syntax.pos + in + let uu____13421 = let should_check_expected_effect = - let uu____13350 = - let uu____13357 = - let uu____13358 = - FStar_Syntax_Subst.compress body1 in - uu____13358.FStar_Syntax_Syntax.n in - (c_opt, uu____13357) in - match uu____13350 with - | (FStar_Pervasives_Native.None, - FStar_Syntax_Syntax.Tm_ascribed - (uu____13364, - (FStar_Util.Inr expected_c, uu____13366), - uu____13367)) -> false - | uu____13417 -> true in - let uu____13425 = + let uu____13434 = + let uu____13441 = + let uu____13442 = + FStar_Syntax_Subst.compress body1 in + uu____13442.FStar_Syntax_Syntax.n in + (c_opt, uu____13441) in + match uu____13434 with + | (FStar_Pervasives_Native.None + ,FStar_Syntax_Syntax.Tm_ascribed + (uu____13448,(FStar_Util.Inr + expected_c,uu____13450),uu____13451)) + -> false + | uu____13501 -> true in + let uu____13509 = tc_term - (let uu___1828_13434 = envbody1 in + (let uu___1844_13518 = envbody1 in { FStar_TypeChecker_Env.solver = - (uu___1828_13434.FStar_TypeChecker_Env.solver); + (uu___1844_13518.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1828_13434.FStar_TypeChecker_Env.range); + (uu___1844_13518.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1828_13434.FStar_TypeChecker_Env.curmodule); + (uu___1844_13518.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1828_13434.FStar_TypeChecker_Env.gamma); + (uu___1844_13518.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1828_13434.FStar_TypeChecker_Env.gamma_sig); + (uu___1844_13518.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1828_13434.FStar_TypeChecker_Env.gamma_cache); + (uu___1844_13518.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1828_13434.FStar_TypeChecker_Env.modules); + (uu___1844_13518.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1828_13434.FStar_TypeChecker_Env.expected_typ); + (uu___1844_13518.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1828_13434.FStar_TypeChecker_Env.sigtab); + (uu___1844_13518.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1828_13434.FStar_TypeChecker_Env.attrtab); + (uu___1844_13518.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1828_13434.FStar_TypeChecker_Env.is_pattern); + (uu___1844_13518.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1828_13434.FStar_TypeChecker_Env.instantiate_imp); + (uu___1844_13518.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1828_13434.FStar_TypeChecker_Env.effects); + (uu___1844_13518.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1828_13434.FStar_TypeChecker_Env.generalize); + (uu___1844_13518.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1828_13434.FStar_TypeChecker_Env.letrecs); + (uu___1844_13518.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = false; FStar_TypeChecker_Env.check_uvars = - (uu___1828_13434.FStar_TypeChecker_Env.check_uvars); + (uu___1844_13518.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = use_eq; FStar_TypeChecker_Env.is_iface = - (uu___1828_13434.FStar_TypeChecker_Env.is_iface); + (uu___1844_13518.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1828_13434.FStar_TypeChecker_Env.admit); + (uu___1844_13518.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___1828_13434.FStar_TypeChecker_Env.lax); + (uu___1844_13518.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___1828_13434.FStar_TypeChecker_Env.lax_universes); + (uu___1844_13518.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1828_13434.FStar_TypeChecker_Env.phase1); + (uu___1844_13518.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1828_13434.FStar_TypeChecker_Env.failhard); + (uu___1844_13518.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1828_13434.FStar_TypeChecker_Env.nosynth); + (uu___1844_13518.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1828_13434.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1844_13518.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1828_13434.FStar_TypeChecker_Env.tc_term); + (uu___1844_13518.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1828_13434.FStar_TypeChecker_Env.type_of); + (uu___1844_13518.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1828_13434.FStar_TypeChecker_Env.universe_of); + (uu___1844_13518.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1828_13434.FStar_TypeChecker_Env.check_type_of); + (uu___1844_13518.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1828_13434.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1844_13518.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1828_13434.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1844_13518.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1828_13434.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1844_13518.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1828_13434.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1844_13518.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1828_13434.FStar_TypeChecker_Env.proof_ns); + (uu___1844_13518.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1828_13434.FStar_TypeChecker_Env.synth_hook); + (uu___1844_13518.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1828_13434.FStar_TypeChecker_Env.splice); + (uu___1844_13518.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1828_13434.FStar_TypeChecker_Env.postprocess); + (uu___1844_13518.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1828_13434.FStar_TypeChecker_Env.is_native_tactic); + (uu___1844_13518.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1828_13434.FStar_TypeChecker_Env.identifier_info); + (uu___1844_13518.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1828_13434.FStar_TypeChecker_Env.tc_hooks); + (uu___1844_13518.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1828_13434.FStar_TypeChecker_Env.dsenv); + (uu___1844_13518.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1828_13434.FStar_TypeChecker_Env.nbe) - }) body1 in - match uu____13425 with - | (body2, cbody, guard_body) -> + (uu___1844_13518.FStar_TypeChecker_Env.nbe) + }) body1 + in + match uu____13509 with + | (body2,cbody,guard_body) -> let guard_body1 = FStar_TypeChecker_Rel.solve_deferred_constraints - envbody1 guard_body in + envbody1 guard_body + in if should_check_expected_effect then - let uu____13461 = - let uu____13468 = - let uu____13473 = - FStar_Syntax_Syntax.lcomp_comp cbody in - (body2, uu____13473) in + let uu____13545 = + let uu____13552 = + let uu____13557 = + FStar_Syntax_Syntax.lcomp_comp cbody in + (body2, uu____13557) in check_expected_effect - (let uu___1836_13476 = envbody1 in + (let uu___1852_13560 = envbody1 in { FStar_TypeChecker_Env.solver = - (uu___1836_13476.FStar_TypeChecker_Env.solver); + (uu___1852_13560.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___1836_13476.FStar_TypeChecker_Env.range); + (uu___1852_13560.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___1836_13476.FStar_TypeChecker_Env.curmodule); + (uu___1852_13560.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___1836_13476.FStar_TypeChecker_Env.gamma); + (uu___1852_13560.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___1836_13476.FStar_TypeChecker_Env.gamma_sig); + (uu___1852_13560.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___1836_13476.FStar_TypeChecker_Env.gamma_cache); + (uu___1852_13560.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___1836_13476.FStar_TypeChecker_Env.modules); + (uu___1852_13560.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___1836_13476.FStar_TypeChecker_Env.expected_typ); + (uu___1852_13560.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___1836_13476.FStar_TypeChecker_Env.sigtab); + (uu___1852_13560.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___1836_13476.FStar_TypeChecker_Env.attrtab); + (uu___1852_13560.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___1836_13476.FStar_TypeChecker_Env.is_pattern); + (uu___1852_13560.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___1836_13476.FStar_TypeChecker_Env.instantiate_imp); + (uu___1852_13560.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___1836_13476.FStar_TypeChecker_Env.effects); + (uu___1852_13560.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___1836_13476.FStar_TypeChecker_Env.generalize); + (uu___1852_13560.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___1836_13476.FStar_TypeChecker_Env.letrecs); + (uu___1852_13560.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___1836_13476.FStar_TypeChecker_Env.top_level); + (uu___1852_13560.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___1836_13476.FStar_TypeChecker_Env.check_uvars); + (uu___1852_13560.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = use_eq; FStar_TypeChecker_Env.is_iface = - (uu___1836_13476.FStar_TypeChecker_Env.is_iface); + (uu___1852_13560.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___1836_13476.FStar_TypeChecker_Env.admit); + (uu___1852_13560.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___1836_13476.FStar_TypeChecker_Env.lax); + (uu___1852_13560.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___1836_13476.FStar_TypeChecker_Env.lax_universes); + (uu___1852_13560.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___1836_13476.FStar_TypeChecker_Env.phase1); + (uu___1852_13560.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___1836_13476.FStar_TypeChecker_Env.failhard); + (uu___1852_13560.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___1836_13476.FStar_TypeChecker_Env.nosynth); + (uu___1852_13560.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___1836_13476.FStar_TypeChecker_Env.uvar_subtyping); + (uu___1852_13560.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___1836_13476.FStar_TypeChecker_Env.tc_term); + (uu___1852_13560.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___1836_13476.FStar_TypeChecker_Env.type_of); + (uu___1852_13560.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___1836_13476.FStar_TypeChecker_Env.universe_of); + (uu___1852_13560.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___1836_13476.FStar_TypeChecker_Env.check_type_of); + (uu___1852_13560.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___1836_13476.FStar_TypeChecker_Env.use_bv_sorts); + (uu___1852_13560.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___1836_13476.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___1852_13560.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___1836_13476.FStar_TypeChecker_Env.normalized_eff_names); + (uu___1852_13560.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___1836_13476.FStar_TypeChecker_Env.fv_delta_depths); + (uu___1852_13560.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___1836_13476.FStar_TypeChecker_Env.proof_ns); + (uu___1852_13560.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___1836_13476.FStar_TypeChecker_Env.synth_hook); + (uu___1852_13560.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___1836_13476.FStar_TypeChecker_Env.splice); + (uu___1852_13560.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___1836_13476.FStar_TypeChecker_Env.postprocess); + (uu___1852_13560.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___1836_13476.FStar_TypeChecker_Env.is_native_tactic); + (uu___1852_13560.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___1836_13476.FStar_TypeChecker_Env.identifier_info); + (uu___1852_13560.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___1836_13476.FStar_TypeChecker_Env.tc_hooks); + (uu___1852_13560.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___1836_13476.FStar_TypeChecker_Env.dsenv); + (uu___1852_13560.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___1836_13476.FStar_TypeChecker_Env.nbe) - }) c_opt uu____13468 in - (match uu____13461 with - | (body3, cbody1, guard) -> - let uu____13490 = + (uu___1852_13560.FStar_TypeChecker_Env.nbe) + }) c_opt uu____13552 + in + (match uu____13545 with + | (body3,cbody1,guard) -> + let uu____13574 = FStar_TypeChecker_Env.conj_guard - guard_body1 guard in - (body3, cbody1, uu____13490)) + guard_body1 guard + in + (body3, cbody1, uu____13574)) else - (let uu____13497 = - FStar_Syntax_Syntax.lcomp_comp cbody in - (body2, uu____13497, guard_body1)) in - match uu____13337 with - | (body2, cbody, guard_body) -> + (let uu____13581 = + FStar_Syntax_Syntax.lcomp_comp cbody in + (body2, uu____13581, guard_body1)) + in + match uu____13421 with + | (body2,cbody,guard_body) -> let guard = - let uu____13522 = + let uu____13606 = env1.FStar_TypeChecker_Env.top_level || - (let uu____13525 = - FStar_TypeChecker_Env.should_verify env1 in - Prims.op_Negation uu____13525) in - if uu____13522 + (let uu____13609 = + FStar_TypeChecker_Env.should_verify env1 + in + Prims.op_Negation uu____13609) + in + if uu____13606 then - let uu____13528 = + let uu____13612 = FStar_TypeChecker_Rel.discharge_guard env1 - g_env in - let uu____13529 = + g_env + in + let uu____13613 = FStar_TypeChecker_Rel.discharge_guard - envbody1 guard_body in - FStar_TypeChecker_Env.conj_guard uu____13528 - uu____13529 + envbody1 guard_body + in + FStar_TypeChecker_Env.conj_guard uu____13612 + uu____13613 else (let guard = - let uu____13533 = + let uu____13617 = FStar_TypeChecker_Env.close_guard env1 (FStar_List.append bs1 letrec_binders) - guard_body in + guard_body + in FStar_TypeChecker_Env.conj_guard g_env - uu____13533 in - guard) in + uu____13617 + in + guard) + in let guard1 = FStar_TypeChecker_Util.close_guard_implicits env1 - bs1 guard in + bs1 guard + in let tfun_computed = - FStar_Syntax_Util.arrow bs1 cbody in + FStar_Syntax_Util.arrow bs1 cbody in let e = FStar_Syntax_Util.abs bs1 body2 (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_comp_of_comp - (FStar_Util.dflt cbody c_opt))) in - let uu____13547 = + (FStar_Util.dflt cbody c_opt))) + in + let uu____13631 = match tfun_opt with | FStar_Pervasives_Native.Some t -> - let t1 = FStar_Syntax_Subst.compress t in + let t1 = FStar_Syntax_Subst.compress t in + let t_annot = + match topt with + | FStar_Pervasives_Native.Some t2 -> t2 + | FStar_Pervasives_Native.None -> + failwith + "Impossible! tc_abs: if tfun_computed is Some, expected topt to also be Some" + in (match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow uu____13568 - -> (e, t1, guard1) - | uu____13583 -> - let uu____13584 = + | FStar_Syntax_Syntax.Tm_arrow uu____13655 + -> (e, t_annot, guard1) + | uu____13670 -> + let uu____13671 = FStar_TypeChecker_Util.check_and_ascribe - env1 e tfun_computed t1 in - (match uu____13584 with - | (e1, guard') -> - let uu____13597 = + env1 e tfun_computed t1 + in + (match uu____13671 with + | (e1,guard') -> + let uu____13684 = FStar_TypeChecker_Env.conj_guard - guard1 guard' in - (e1, t1, uu____13597))) - | FStar_Pervasives_Native.None -> - (e, tfun_computed, guard1) in - (match uu____13547 with - | (e1, tfun, guard2) -> - let c = FStar_Syntax_Syntax.mk_Total tfun in - let uu____13608 = - let uu____13613 = - FStar_Syntax_Util.lcomp_of_comp c in + guard1 guard' + in + (e1, t_annot, uu____13684))) + | FStar_Pervasives_Native.None -> + (e, tfun_computed, guard1) + in + (match uu____13631 with + | (e1,tfun,guard2) -> + let c = FStar_Syntax_Syntax.mk_Total tfun in + let uu____13695 = + let uu____13700 = + FStar_Syntax_Util.lcomp_of_comp c in FStar_TypeChecker_Util.strengthen_precondition FStar_Pervasives_Native.None env1 e1 - uu____13613 guard2 in - (match uu____13608 with - | (c1, g) -> (e1, c1, g))))))) + uu____13700 guard2 + in + (match uu____13695 with + | (c1,g) -> (e1, c1, g))))))) + and (check_application_args : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -4339,90 +4805,105 @@ and (check_application_args : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun head1 -> - fun chead -> - fun ghead -> - fun args -> - fun expected_topt -> - let n_args = FStar_List.length args in - let r = FStar_TypeChecker_Env.get_range env in - let thead = chead.FStar_Syntax_Syntax.res_typ in - (let uu____13662 = - FStar_TypeChecker_Env.debug env FStar_Options.High in - if uu____13662 + fun env -> + fun head1 -> + fun chead -> + fun ghead -> + fun args -> + fun expected_topt -> + let n_args = FStar_List.length args in + let r = FStar_TypeChecker_Env.get_range env in + let thead = chead.FStar_Syntax_Syntax.res_typ in + (let uu____13749 = + FStar_TypeChecker_Env.debug env FStar_Options.High in + if uu____13749 then - let uu____13665 = - FStar_Range.string_of_range head1.FStar_Syntax_Syntax.pos in - let uu____13667 = FStar_Syntax_Print.term_to_string thead in - FStar_Util.print2 "(%s) Type of head is %s\n" uu____13665 - uu____13667 + let uu____13752 = + FStar_Range.string_of_range head1.FStar_Syntax_Syntax.pos + in + let uu____13754 = FStar_Syntax_Print.term_to_string thead + in + FStar_Util.print2 "(%s) Type of head is %s\n" uu____13752 + uu____13754 else ()); - (let monadic_application uu____13745 subst1 arg_comps_rev + (let monadic_application uu____13832 subst1 arg_comps_rev arg_rets_rev guard fvs bs = - match uu____13745 with - | (head2, chead1, ghead1, cres) -> - let uu____13806 = + match uu____13832 with + | (head2,chead1,ghead1,cres) -> + let uu____13893 = check_no_escape (FStar_Pervasives_Native.Some head2) - env fvs cres.FStar_Syntax_Syntax.res_typ in - (match uu____13806 with - | (rt, g0) -> + env fvs cres.FStar_Syntax_Syntax.res_typ + in + (match uu____13893 with + | (rt,g0) -> let cres1 = - let uu___1896_13820 = cres in + let uu___1916_13907 = cres in { FStar_Syntax_Syntax.eff_name = - (uu___1896_13820.FStar_Syntax_Syntax.eff_name); + (uu___1916_13907.FStar_Syntax_Syntax.eff_name); FStar_Syntax_Syntax.res_typ = rt; FStar_Syntax_Syntax.cflags = - (uu___1896_13820.FStar_Syntax_Syntax.cflags); + (uu___1916_13907.FStar_Syntax_Syntax.cflags); FStar_Syntax_Syntax.comp_thunk = - (uu___1896_13820.FStar_Syntax_Syntax.comp_thunk) - } in - let uu____13821 = + (uu___1916_13907.FStar_Syntax_Syntax.comp_thunk) + } in + let uu____13908 = match bs with | [] -> let g = - let uu____13837 = + let uu____13924 = FStar_TypeChecker_Env.conj_guard ghead1 - guard in + guard + in FStar_All.pipe_left (FStar_TypeChecker_Env.conj_guard g0) - uu____13837 in + uu____13924 + in (cres1, g) - | uu____13838 -> + | uu____13925 -> let g = - let uu____13848 = - let uu____13849 = + let uu____13935 = + let uu____13936 = FStar_TypeChecker_Env.conj_guard ghead1 - guard in - FStar_All.pipe_right uu____13849 + guard + in + FStar_All.pipe_right uu____13936 (FStar_TypeChecker_Rel.solve_deferred_constraints - env) in + env) + in FStar_TypeChecker_Env.conj_guard g0 - uu____13848 in - let uu____13850 = - let uu____13851 = - let uu____13852 = - let uu____13853 = - FStar_Syntax_Syntax.lcomp_comp cres1 in - FStar_Syntax_Util.arrow bs uu____13853 in - FStar_Syntax_Syntax.mk_Total uu____13852 in + uu____13935 + in + let uu____13937 = + let uu____13938 = + let uu____13939 = + let uu____13940 = + FStar_Syntax_Syntax.lcomp_comp cres1 + in + FStar_Syntax_Util.arrow bs uu____13940 + in + FStar_Syntax_Syntax.mk_Total uu____13939 + in FStar_All.pipe_left FStar_Syntax_Util.lcomp_of_comp - uu____13851 in - (uu____13850, g) in - (match uu____13821 with - | (cres2, guard1) -> - ((let uu____13865 = + uu____13938 + in + (uu____13937, g) + in + (match uu____13908 with + | (cres2,guard1) -> + ((let uu____13952 = FStar_TypeChecker_Env.debug env - FStar_Options.Low in - if uu____13865 + FStar_Options.Low + in + if uu____13952 then - let uu____13868 = - FStar_Syntax_Print.lcomp_to_string cres2 in + let uu____13955 = + FStar_Syntax_Print.lcomp_to_string cres2 + in FStar_Util.print1 "\t Type of result cres is %s\n" - uu____13868 + uu____13955 else ()); (let cres3 = let head_is_pure_and_some_arg_is_effectful @@ -4431,92 +4912,106 @@ and (check_application_args : chead1) && (FStar_Util.for_some - (fun uu____13888 -> - match uu____13888 with - | (uu____13898, uu____13899, lc) + (fun uu____13975 -> + match uu____13975 with + | (uu____13985,uu____13986,lc) -> - (let uu____13907 = + (let uu____13994 = FStar_Syntax_Util.is_pure_or_ghost_lcomp - lc in + lc + in Prims.op_Negation - uu____13907) + uu____13994) || (FStar_TypeChecker_Util.should_not_inline_lc - lc)) arg_comps_rev) in + lc)) arg_comps_rev) + in let term = FStar_Syntax_Syntax.mk_Tm_app head2 (FStar_List.rev arg_rets_rev) FStar_Pervasives_Native.None - head2.FStar_Syntax_Syntax.pos in - let uu____13920 = + head2.FStar_Syntax_Syntax.pos + in + let uu____14007 = (FStar_Syntax_Util.is_pure_or_ghost_lcomp cres2) && - head_is_pure_and_some_arg_is_effectful in - if uu____13920 + head_is_pure_and_some_arg_is_effectful + in + if uu____14007 then - ((let uu____13924 = + ((let uu____14011 = FStar_TypeChecker_Env.debug env - FStar_Options.Extreme in - if uu____13924 + FStar_Options.Extreme + in + if uu____14011 then - let uu____13927 = + let uu____14014 = FStar_Syntax_Print.term_to_string - term in + term + in FStar_Util.print1 "(a) Monadic app: Return inserted in monadic application: %s\n" - uu____13927 + uu____14014 else ()); FStar_TypeChecker_Util.maybe_assume_result_eq_pure_term env term cres2) else - ((let uu____13935 = + ((let uu____14022 = FStar_TypeChecker_Env.debug env - FStar_Options.Extreme in - if uu____13935 + FStar_Options.Extreme + in + if uu____14022 then - let uu____13938 = + let uu____14025 = FStar_Syntax_Print.term_to_string - term in + term + in FStar_Util.print1 "(a) Monadic app: No return inserted in monadic application: %s\n" - uu____13938 + uu____14025 else ()); - cres2) in + cres2) + in let comp = FStar_List.fold_left - (fun out_c -> - fun uu____13969 -> - match uu____13969 with - | ((e, q), x, c) -> - ((let uu____14011 = + (fun out_c -> + fun uu____14056 -> + match uu____14056 with + | ((e,q),x,c) -> + ((let uu____14098 = FStar_TypeChecker_Env.debug - env FStar_Options.Extreme in - if uu____14011 + env FStar_Options.Extreme + in + if uu____14098 then - let uu____14014 = + let uu____14101 = match x with | FStar_Pervasives_Native.None - -> "_" + -> "_" | FStar_Pervasives_Native.Some x1 -> FStar_Syntax_Print.bv_to_string - x1 in - let uu____14019 = + x1 + in + let uu____14106 = FStar_Syntax_Print.term_to_string - e in - let uu____14021 = + e + in + let uu____14108 = FStar_Syntax_Print.lcomp_to_string - c in + c + in FStar_Util.print3 "(b) Monadic app: Binding argument %s : %s of type (%s)\n" - uu____14014 uu____14019 - uu____14021 + uu____14101 uu____14106 + uu____14108 else ()); - (let uu____14026 = + (let uu____14113 = FStar_Syntax_Util.is_pure_or_ghost_lcomp - c in - if uu____14026 + c + in + if uu____14113 then FStar_TypeChecker_Util.bind e.FStar_Syntax_Syntax.pos @@ -4529,24 +5024,28 @@ and (check_application_args : env FStar_Pervasives_Native.None c (x, out_c)))) cres3 - arg_comps_rev in + arg_comps_rev + in let comp1 = - (let uu____14037 = + (let uu____14124 = FStar_TypeChecker_Env.debug env - FStar_Options.Extreme in - if uu____14037 + FStar_Options.Extreme + in + if uu____14124 then - let uu____14040 = + let uu____14127 = FStar_Syntax_Print.term_to_string - head2 in + head2 + in FStar_Util.print1 "(c) Monadic app: Binding head %s\n" - uu____14040 + uu____14127 else ()); - (let uu____14045 = + (let uu____14132 = FStar_Syntax_Util.is_pure_or_ghost_lcomp - chead1 in - if uu____14045 + chead1 + in + if uu____14132 then FStar_TypeChecker_Util.bind head2.FStar_Syntax_Syntax.pos env @@ -4557,77 +5056,87 @@ and (check_application_args : FStar_TypeChecker_Util.bind head2.FStar_Syntax_Syntax.pos env FStar_Pervasives_Native.None chead1 - (FStar_Pervasives_Native.None, comp)) in + (FStar_Pervasives_Native.None, comp)) + in let comp2 = FStar_TypeChecker_Util.subst_lcomp subst1 - comp1 in + comp1 + in let shortcuts_evaluation_order = - let uu____14057 = - let uu____14058 = - FStar_Syntax_Subst.compress head2 in - uu____14058.FStar_Syntax_Syntax.n in - match uu____14057 with + let uu____14144 = + let uu____14145 = + FStar_Syntax_Subst.compress head2 in + uu____14145.FStar_Syntax_Syntax.n in + match uu____14144 with | FStar_Syntax_Syntax.Tm_fvar fv -> (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.op_And) || (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.op_Or) - | uu____14063 -> false in + | uu____14150 -> false in let app = if shortcuts_evaluation_order then let args1 = FStar_List.fold_left - (fun args1 -> - fun uu____14086 -> - match uu____14086 with - | (arg, uu____14100, - uu____14101) -> arg :: args1) - [] arg_comps_rev in + (fun args1 -> + fun uu____14173 -> + match uu____14173 with + | (arg,uu____14187,uu____14188) + -> arg :: args1) [] + arg_comps_rev + in let app = FStar_Syntax_Syntax.mk_Tm_app head2 - args1 FStar_Pervasives_Native.None r in + args1 FStar_Pervasives_Native.None r + in let app1 = FStar_TypeChecker_Util.maybe_lift env app cres3.FStar_Syntax_Syntax.eff_name comp2.FStar_Syntax_Syntax.eff_name - comp2.FStar_Syntax_Syntax.res_typ in + comp2.FStar_Syntax_Syntax.res_typ + in FStar_TypeChecker_Util.maybe_monadic env app1 comp2.FStar_Syntax_Syntax.eff_name comp2.FStar_Syntax_Syntax.res_typ else - (let uu____14112 = - let map_fun uu____14178 = - match uu____14178 with - | ((e, q), uu____14219, c) -> - ((let uu____14242 = + (let uu____14199 = + let map_fun uu____14265 = + match uu____14265 with + | ((e,q),uu____14306,c) -> + ((let uu____14329 = FStar_TypeChecker_Env.debug - env FStar_Options.Extreme in - if uu____14242 + env FStar_Options.Extreme + in + if uu____14329 then - let uu____14245 = + let uu____14332 = FStar_Syntax_Print.term_to_string - e in - let uu____14247 = + e + in + let uu____14334 = FStar_Syntax_Print.lcomp_to_string - c in + c + in FStar_Util.print2 "For arg e=(%s) c=(%s)... " - uu____14245 uu____14247 + uu____14332 uu____14334 else ()); - (let uu____14252 = + (let uu____14339 = FStar_Syntax_Util.is_pure_or_ghost_lcomp - c in - if uu____14252 + c + in + if uu____14339 then - ((let uu____14278 = + ((let uu____14365 = FStar_TypeChecker_Env.debug env - FStar_Options.Extreme in - if uu____14278 + FStar_Options.Extreme + in + if uu____14365 then FStar_Util.print_string "... not lifting\n" @@ -4640,53 +5149,63 @@ and (check_application_args : env chead1.FStar_Syntax_Syntax.res_typ) && - (let uu____14319 = - let uu____14321 = - let uu____14322 = + (let uu____14406 = + let uu____14408 = + let uu____14409 = FStar_Syntax_Util.un_uinst - head2 in - uu____14322.FStar_Syntax_Syntax.n in - match uu____14321 + head2 + in + uu____14409.FStar_Syntax_Syntax.n + in + match uu____14408 with | FStar_Syntax_Syntax.Tm_fvar fv -> - let uu____14327 + let uu____14414 = FStar_Parser_Const.psconst - "ignore" in + "ignore" + in FStar_Syntax_Syntax.fv_eq_lid fv - uu____14327 - | uu____14329 -> - true in + uu____14414 + | uu____14416 -> + true + in Prims.op_Negation - uu____14319) in + uu____14406) + in if warn_effectful_args then - (let uu____14333 = - let uu____14339 = - let uu____14341 = + (let uu____14420 = + let uu____14426 = + let uu____14428 = FStar_Syntax_Print.term_to_string - e in - let uu____14343 = + e + in + let uu____14430 = FStar_Syntax_Print.term_to_string - head2 in + head2 + in FStar_Util.format3 "Effectful argument %s (%s) to erased function %s, consider let binding it" - uu____14341 + uu____14428 (c.FStar_Syntax_Syntax.eff_name).FStar_Ident.str - uu____14343 in + uu____14430 + in (FStar_Errors.Warning_EffectfulArgumentToErasedFunction, - uu____14339) in + uu____14426) + in FStar_Errors.log_issue e.FStar_Syntax_Syntax.pos - uu____14333) + uu____14420) else (); - (let uu____14350 = + (let uu____14437 = FStar_TypeChecker_Env.debug env - FStar_Options.Extreme in - if uu____14350 + FStar_Options.Extreme + in + if uu____14437 then FStar_Util.print_string "... lifting!\n" @@ -4694,101 +5213,124 @@ and (check_application_args : (let x = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - c.FStar_Syntax_Syntax.res_typ in + c.FStar_Syntax_Syntax.res_typ + in let e1 = FStar_TypeChecker_Util.maybe_lift env e c.FStar_Syntax_Syntax.eff_name comp2.FStar_Syntax_Syntax.eff_name - c.FStar_Syntax_Syntax.res_typ in - let uu____14358 = - let uu____14367 = + c.FStar_Syntax_Syntax.res_typ + in + let uu____14445 = + let uu____14454 = FStar_Syntax_Syntax.bv_to_name - x in - (uu____14367, q) in + x + in + (uu____14454, q) in ((FStar_Pervasives_Native.Some (x, (c.FStar_Syntax_Syntax.eff_name), (c.FStar_Syntax_Syntax.res_typ), - e1)), uu____14358))))) in - let uu____14396 = - let uu____14427 = - let uu____14456 = - let uu____14467 = - let uu____14476 = + e1)), uu____14445))))) + in + let uu____14483 = + let uu____14514 = + let uu____14543 = + let uu____14554 = + let uu____14563 = FStar_Syntax_Syntax.as_arg - head2 in - (uu____14476, + head2 + in + (uu____14563, FStar_Pervasives_Native.None, - chead1) in - uu____14467 :: arg_comps_rev in + chead1) + in + uu____14554 :: arg_comps_rev + in FStar_List.map map_fun - uu____14456 in + uu____14543 + in FStar_All.pipe_left - FStar_List.split uu____14427 in - match uu____14396 with - | (lifted_args, reverse_args) -> - let uu____14677 = - let uu____14678 = - FStar_List.hd reverse_args in + FStar_List.split uu____14514 + in + match uu____14483 with + | (lifted_args,reverse_args) -> + let uu____14764 = + let uu____14765 = + FStar_List.hd reverse_args + in FStar_Pervasives_Native.fst - uu____14678 in - let uu____14699 = - let uu____14700 = - FStar_List.tl reverse_args in - FStar_List.rev uu____14700 in - (lifted_args, uu____14677, - uu____14699) in - match uu____14112 with - | (lifted_args, head3, args1) -> + uu____14765 + in + let uu____14786 = + let uu____14787 = + FStar_List.tl reverse_args + in + FStar_List.rev uu____14787 in + (lifted_args, uu____14764, + uu____14786) + in + match uu____14199 with + | (lifted_args,head3,args1) -> let app = FStar_Syntax_Syntax.mk_Tm_app head3 args1 - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in let app1 = FStar_TypeChecker_Util.maybe_lift env app cres3.FStar_Syntax_Syntax.eff_name comp2.FStar_Syntax_Syntax.eff_name - comp2.FStar_Syntax_Syntax.res_typ in + comp2.FStar_Syntax_Syntax.res_typ + in let app2 = FStar_TypeChecker_Util.maybe_monadic env app1 comp2.FStar_Syntax_Syntax.eff_name - comp2.FStar_Syntax_Syntax.res_typ in - let bind_lifted_args e uu___6_14811 + comp2.FStar_Syntax_Syntax.res_typ + in + let bind_lifted_args e uu___6_14898 = - match uu___6_14811 with - | FStar_Pervasives_Native.None -> - e + match uu___6_14898 with + | FStar_Pervasives_Native.None + -> e | FStar_Pervasives_Native.Some - (x, m, t, e1) -> + (x,m,t,e1) -> let lb = FStar_Syntax_Util.mk_letbinding (FStar_Util.Inl x) [] t m e1 [] - e1.FStar_Syntax_Syntax.pos in + e1.FStar_Syntax_Syntax.pos + in let letbinding = - let uu____14872 = - let uu____14879 = - let uu____14880 = - let uu____14894 = - let uu____14897 = - let uu____14898 = + let uu____14959 = + let uu____14966 = + let uu____14967 = + let uu____14981 = + let uu____14984 = + let uu____14985 = FStar_Syntax_Syntax.mk_binder - x in - [uu____14898] in + x + in + [uu____14985] in FStar_Syntax_Subst.close - uu____14897 e in + uu____14984 e + in ((false, [lb]), - uu____14894) in + uu____14981) + in FStar_Syntax_Syntax.Tm_let - uu____14880 in + uu____14967 + in FStar_Syntax_Syntax.mk - uu____14879 in - uu____14872 + uu____14966 + in + uu____14959 FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in + e.FStar_Syntax_Syntax.pos + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta (letbinding, @@ -4796,370 +5338,417 @@ and (check_application_args : (m, (comp2.FStar_Syntax_Syntax.res_typ))))) FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in + e.FStar_Syntax_Syntax.pos + in FStar_List.fold_left - bind_lifted_args app2 lifted_args) in - let uu____14950 = + bind_lifted_args app2 lifted_args) + in + let uu____15037 = FStar_TypeChecker_Util.strengthen_precondition FStar_Pervasives_Native.None env app - comp2 guard1 in - match uu____14950 with - | (comp3, g) -> - ((let uu____14968 = + comp2 guard1 + in + match uu____15037 with + | (comp3,g) -> + ((let uu____15055 = FStar_TypeChecker_Env.debug env - FStar_Options.Extreme in - if uu____14968 + FStar_Options.Extreme + in + if uu____15055 then - let uu____14971 = + let uu____15058 = FStar_Syntax_Print.term_to_string - app in - let uu____14973 = + app + in + let uu____15060 = FStar_Syntax_Print.lcomp_to_string - comp3 in + comp3 + in FStar_Util.print2 "(d) Monadic app: type of app\n\t(%s)\n\t: %s\n" - uu____14971 uu____14973 + uu____15058 uu____15060 else ()); - (app, comp3, g)))))) in - let rec tc_args head_info uu____15054 bs args1 = - match uu____15054 with - | (subst1, outargs, arg_rets, g, fvs) -> + (app, comp3, g)))))) + in + let rec tc_args head_info uu____15141 bs args1 = + match uu____15141 with + | (subst1,outargs,arg_rets,g,fvs) -> (match (bs, args1) with - | ((x, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____15193))::rest, - (uu____15195, FStar_Pervasives_Native.None)::uu____15196) + | ((x,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit uu____15280))::rest, + (uu____15282,FStar_Pervasives_Native.None )::uu____15283) -> let t = FStar_Syntax_Subst.subst subst1 - x.FStar_Syntax_Syntax.sort in - let uu____15257 = + x.FStar_Syntax_Syntax.sort + in + let uu____15344 = check_no_escape - (FStar_Pervasives_Native.Some head1) env fvs t in - (match uu____15257 with - | (t1, g_ex) -> - let uu____15270 = + (FStar_Pervasives_Native.Some head1) env fvs t + in + (match uu____15344 with + | (t1,g_ex) -> + let uu____15357 = FStar_TypeChecker_Util.new_implicit_var "Instantiating implicit argument in application" - head1.FStar_Syntax_Syntax.pos env t1 in - (match uu____15270 with - | (varg, uu____15291, implicits) -> + head1.FStar_Syntax_Syntax.pos env t1 + in + (match uu____15357 with + | (varg,uu____15378,implicits) -> let subst2 = (FStar_Syntax_Syntax.NT (x, varg)) :: - subst1 in + subst1 in let arg = - let uu____15319 = - FStar_Syntax_Syntax.as_implicit true in - (varg, uu____15319) in + let uu____15406 = + FStar_Syntax_Syntax.as_implicit true + in + (varg, uu____15406) in let guard = FStar_List.fold_right FStar_TypeChecker_Env.conj_guard - [g_ex; g] implicits in - let uu____15328 = - let uu____15363 = - let uu____15374 = - let uu____15383 = - let uu____15384 = - FStar_Syntax_Syntax.mk_Total t1 in - FStar_All.pipe_right uu____15384 - FStar_Syntax_Util.lcomp_of_comp in + [g_ex; g] implicits + in + let uu____15415 = + let uu____15450 = + let uu____15461 = + let uu____15470 = + let uu____15471 = + FStar_Syntax_Syntax.mk_Total t1 + in + FStar_All.pipe_right uu____15471 + FStar_Syntax_Util.lcomp_of_comp + in (arg, FStar_Pervasives_Native.None, - uu____15383) in - uu____15374 :: outargs in - (subst2, uu____15363, (arg :: - arg_rets), guard, fvs) in - tc_args head_info uu____15328 rest args1)) - | ((x, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Meta tau))::rest, - (uu____15430, FStar_Pervasives_Native.None)::uu____15431) + uu____15470) + in + uu____15461 :: outargs in + (subst2, uu____15450, (arg :: + arg_rets), guard, fvs) + in + tc_args head_info uu____15415 rest args1)) + | ((x,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Meta tau))::rest,(uu____15517,FStar_Pervasives_Native.None + )::uu____15518) -> - let tau1 = FStar_Syntax_Subst.subst subst1 tau in - let uu____15493 = tc_tactic env tau1 in - (match uu____15493 with - | (tau2, uu____15507, g_tau) -> + let tau1 = FStar_Syntax_Subst.subst subst1 tau in + let uu____15580 = tc_tactic env tau1 in + (match uu____15580 with + | (tau2,uu____15594,g_tau) -> let t = FStar_Syntax_Subst.subst subst1 - x.FStar_Syntax_Syntax.sort in - let uu____15510 = + x.FStar_Syntax_Syntax.sort + in + let uu____15597 = check_no_escape (FStar_Pervasives_Native.Some head1) env - fvs t in - (match uu____15510 with - | (t1, g_ex) -> - let uu____15523 = - let uu____15536 = - let uu____15543 = - let uu____15548 = - FStar_Dyn.mkdyn env in - (uu____15548, tau2) in + fvs t + in + (match uu____15597 with + | (t1,g_ex) -> + let uu____15610 = + let uu____15623 = + let uu____15630 = + let uu____15635 = + FStar_Dyn.mkdyn env in + (uu____15635, tau2) in FStar_Pervasives_Native.Some - uu____15543 in + uu____15630 + in FStar_TypeChecker_Env.new_implicit_var_aux "Instantiating meta argument in application" head1.FStar_Syntax_Syntax.pos env t1 FStar_Syntax_Syntax.Strict - uu____15536 in - (match uu____15523 with - | (varg, uu____15561, implicits) -> + uu____15623 + in + (match uu____15610 with + | (varg,uu____15648,implicits) -> let subst2 = (FStar_Syntax_Syntax.NT (x, varg)) - :: subst1 in + :: subst1 in let arg = - let uu____15589 = + let uu____15676 = FStar_Syntax_Syntax.as_implicit - true in - (varg, uu____15589) in + true + in + (varg, uu____15676) in let guard = FStar_List.fold_right FStar_TypeChecker_Env.conj_guard - [g_ex; g; g_tau] implicits in - let uu____15598 = - let uu____15633 = - let uu____15644 = - let uu____15653 = - let uu____15654 = + [g_ex; g; g_tau] implicits + in + let uu____15685 = + let uu____15720 = + let uu____15731 = + let uu____15740 = + let uu____15741 = FStar_Syntax_Syntax.mk_Total - t1 in + t1 + in FStar_All.pipe_right - uu____15654 - FStar_Syntax_Util.lcomp_of_comp in + uu____15741 + FStar_Syntax_Util.lcomp_of_comp + in (arg, FStar_Pervasives_Native.None, - uu____15653) in - uu____15644 :: outargs in - (subst2, uu____15633, (arg :: - arg_rets), guard, fvs) in - tc_args head_info uu____15598 rest + uu____15740) + in + uu____15731 :: outargs in + (subst2, uu____15720, (arg :: + arg_rets), guard, fvs) + in + tc_args head_info uu____15685 rest args1))) - | ((x, aqual)::rest, (e, aq)::rest') -> + | ((x,aqual)::rest,(e,aq)::rest') -> ((match (aqual, aq) with - | (uu____15770, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Meta uu____15771)) -> + | (uu____15857,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Meta uu____15858)) -> FStar_Errors.raise_error (FStar_Errors.Fatal_InconsistentImplicitQualifier, "Inconsistent implicit qualifier; cannot apply meta arguments, just use #") e.FStar_Syntax_Syntax.pos | (FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Meta uu____15782), - FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____15783)) -> + (FStar_Syntax_Syntax.Meta + uu____15869),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit uu____15870)) -> () | (FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____15791), - FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____15792)) -> + (FStar_Syntax_Syntax.Implicit + uu____15878),FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit uu____15879)) -> () - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) -> () + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.None ) -> () | (FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Equality), - FStar_Pervasives_Native.None) -> () - | uu____15807 -> - let uu____15816 = - let uu____15822 = - let uu____15824 = + (FStar_Syntax_Syntax.Equality + ),FStar_Pervasives_Native.None ) -> () + | uu____15894 -> + let uu____15903 = + let uu____15909 = + let uu____15911 = FStar_Syntax_Print.aqual_to_string - aqual in - let uu____15826 = - FStar_Syntax_Print.aqual_to_string aq in - let uu____15828 = - FStar_Syntax_Print.bv_to_string x in - let uu____15830 = - FStar_Syntax_Print.term_to_string e in + aqual + in + let uu____15913 = + FStar_Syntax_Print.aqual_to_string aq + in + let uu____15915 = + FStar_Syntax_Print.bv_to_string x in + let uu____15917 = + FStar_Syntax_Print.term_to_string e in FStar_Util.format4 "Inconsistent implicit qualifier; %s vs %s\nfor bvar %s and term %s" - uu____15824 uu____15826 uu____15828 - uu____15830 in + uu____15911 uu____15913 uu____15915 + uu____15917 + in (FStar_Errors.Fatal_InconsistentImplicitQualifier, - uu____15822) in - FStar_Errors.raise_error uu____15816 + uu____15909) + in + FStar_Errors.raise_error uu____15903 e.FStar_Syntax_Syntax.pos); (let targ = FStar_Syntax_Subst.subst subst1 - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in let aqual1 = - FStar_Syntax_Subst.subst_imp subst1 aqual in + FStar_Syntax_Subst.subst_imp subst1 aqual in let x1 = - let uu___2106_15837 = x in + let uu___2126_15924 = x in { FStar_Syntax_Syntax.ppname = - (uu___2106_15837.FStar_Syntax_Syntax.ppname); + (uu___2126_15924.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2106_15837.FStar_Syntax_Syntax.index); + (uu___2126_15924.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = targ - } in - (let uu____15839 = + } in + (let uu____15926 = FStar_TypeChecker_Env.debug env - FStar_Options.Extreme in - if uu____15839 + FStar_Options.Extreme + in + if uu____15926 then - let uu____15842 = - FStar_Syntax_Print.bv_to_string x1 in - let uu____15844 = + let uu____15929 = + FStar_Syntax_Print.bv_to_string x1 in + let uu____15931 = FStar_Syntax_Print.term_to_string - x1.FStar_Syntax_Syntax.sort in - let uu____15846 = - FStar_Syntax_Print.term_to_string e in - let uu____15848 = - FStar_Syntax_Print.subst_to_string subst1 in - let uu____15850 = - FStar_Syntax_Print.term_to_string targ in + x1.FStar_Syntax_Syntax.sort + in + let uu____15933 = + FStar_Syntax_Print.term_to_string e in + let uu____15935 = + FStar_Syntax_Print.subst_to_string subst1 + in + let uu____15937 = + FStar_Syntax_Print.term_to_string targ in FStar_Util.print5 "\tFormal is %s : %s\tType of arg %s (after subst %s) = %s\n" - uu____15842 uu____15844 uu____15846 - uu____15848 uu____15850 + uu____15929 uu____15931 uu____15933 + uu____15935 uu____15937 else ()); - (let uu____15855 = + (let uu____15942 = check_no_escape (FStar_Pervasives_Native.Some head1) env fvs - targ in - match uu____15855 with - | (targ1, g_ex) -> + targ + in + match uu____15942 with + | (targ1,g_ex) -> let env1 = FStar_TypeChecker_Env.set_expected_typ env - targ1 in + targ1 + in let env2 = - let uu___2115_15870 = env1 in + let uu___2135_15957 = env1 in { FStar_TypeChecker_Env.solver = - (uu___2115_15870.FStar_TypeChecker_Env.solver); + (uu___2135_15957.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___2115_15870.FStar_TypeChecker_Env.range); + (uu___2135_15957.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___2115_15870.FStar_TypeChecker_Env.curmodule); + (uu___2135_15957.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___2115_15870.FStar_TypeChecker_Env.gamma); + (uu___2135_15957.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___2115_15870.FStar_TypeChecker_Env.gamma_sig); + (uu___2135_15957.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___2115_15870.FStar_TypeChecker_Env.gamma_cache); + (uu___2135_15957.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___2115_15870.FStar_TypeChecker_Env.modules); + (uu___2135_15957.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___2115_15870.FStar_TypeChecker_Env.expected_typ); + (uu___2135_15957.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___2115_15870.FStar_TypeChecker_Env.sigtab); + (uu___2135_15957.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___2115_15870.FStar_TypeChecker_Env.attrtab); + (uu___2135_15957.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___2115_15870.FStar_TypeChecker_Env.is_pattern); + (uu___2135_15957.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___2115_15870.FStar_TypeChecker_Env.instantiate_imp); + (uu___2135_15957.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___2115_15870.FStar_TypeChecker_Env.effects); + (uu___2135_15957.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___2115_15870.FStar_TypeChecker_Env.generalize); + (uu___2135_15957.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___2115_15870.FStar_TypeChecker_Env.letrecs); + (uu___2135_15957.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___2115_15870.FStar_TypeChecker_Env.top_level); + (uu___2135_15957.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___2115_15870.FStar_TypeChecker_Env.check_uvars); + (uu___2135_15957.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = (is_eq aqual1); FStar_TypeChecker_Env.is_iface = - (uu___2115_15870.FStar_TypeChecker_Env.is_iface); + (uu___2135_15957.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___2115_15870.FStar_TypeChecker_Env.admit); + (uu___2135_15957.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___2115_15870.FStar_TypeChecker_Env.lax); + (uu___2135_15957.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___2115_15870.FStar_TypeChecker_Env.lax_universes); + (uu___2135_15957.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___2115_15870.FStar_TypeChecker_Env.phase1); + (uu___2135_15957.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___2115_15870.FStar_TypeChecker_Env.failhard); + (uu___2135_15957.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___2115_15870.FStar_TypeChecker_Env.nosynth); + (uu___2135_15957.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___2115_15870.FStar_TypeChecker_Env.uvar_subtyping); + (uu___2135_15957.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___2115_15870.FStar_TypeChecker_Env.tc_term); + (uu___2135_15957.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___2115_15870.FStar_TypeChecker_Env.type_of); + (uu___2135_15957.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___2115_15870.FStar_TypeChecker_Env.universe_of); + (uu___2135_15957.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___2115_15870.FStar_TypeChecker_Env.check_type_of); + (uu___2135_15957.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___2115_15870.FStar_TypeChecker_Env.use_bv_sorts); + (uu___2135_15957.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___2115_15870.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___2135_15957.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___2115_15870.FStar_TypeChecker_Env.normalized_eff_names); + (uu___2135_15957.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___2115_15870.FStar_TypeChecker_Env.fv_delta_depths); + (uu___2135_15957.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___2115_15870.FStar_TypeChecker_Env.proof_ns); + (uu___2135_15957.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___2115_15870.FStar_TypeChecker_Env.synth_hook); + (uu___2135_15957.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___2115_15870.FStar_TypeChecker_Env.splice); + (uu___2135_15957.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___2115_15870.FStar_TypeChecker_Env.postprocess); + (uu___2135_15957.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___2115_15870.FStar_TypeChecker_Env.is_native_tactic); + (uu___2135_15957.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___2115_15870.FStar_TypeChecker_Env.identifier_info); + (uu___2135_15957.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___2115_15870.FStar_TypeChecker_Env.tc_hooks); + (uu___2135_15957.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___2115_15870.FStar_TypeChecker_Env.dsenv); + (uu___2135_15957.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___2115_15870.FStar_TypeChecker_Env.nbe) - } in - ((let uu____15872 = + (uu___2135_15957.FStar_TypeChecker_Env.nbe) + } in + ((let uu____15959 = FStar_TypeChecker_Env.debug env2 - FStar_Options.High in - if uu____15872 + FStar_Options.High + in + if uu____15959 then - let uu____15875 = - FStar_Syntax_Print.tag_of_term e in - let uu____15877 = - FStar_Syntax_Print.term_to_string e in - let uu____15879 = + let uu____15962 = + FStar_Syntax_Print.tag_of_term e in + let uu____15964 = + FStar_Syntax_Print.term_to_string e + in + let uu____15966 = FStar_Syntax_Print.term_to_string - targ1 in + targ1 + in FStar_Util.print3 "Checking arg (%s) %s at type %s\n" - uu____15875 uu____15877 uu____15879 + uu____15962 uu____15964 uu____15966 else ()); - (let uu____15884 = tc_term env2 e in - match uu____15884 with - | (e1, c, g_e) -> + (let uu____15971 = tc_term env2 e in + match uu____15971 with + | (e1,c,g_e) -> let g1 = - let uu____15901 = + let uu____15988 = FStar_TypeChecker_Env.conj_guard g - g_e in + g_e + in FStar_All.pipe_left (FStar_TypeChecker_Env.conj_guard - g_ex) uu____15901 in - let arg = (e1, aq) in + g_ex) uu____15988 + in + let arg = (e1, aq) in let xterm = - let uu____15924 = - let uu____15927 = - let uu____15936 = + let uu____16011 = + let uu____16014 = + let uu____16023 = FStar_Syntax_Syntax.bv_to_name - x1 in + x1 + in FStar_Syntax_Syntax.as_arg - uu____15936 in + uu____16023 + in FStar_Pervasives_Native.fst - uu____15927 in - (uu____15924, aq) in - let uu____15945 = + uu____16014 + in + (uu____16011, aq) in + let uu____16032 = (FStar_Syntax_Util.is_tot_or_gtot_lcomp c) || (FStar_TypeChecker_Util.is_pure_or_ghost_effect env2 - c.FStar_Syntax_Syntax.eff_name) in - if uu____15945 + c.FStar_Syntax_Syntax.eff_name) + in + if uu____16032 then let subst2 = - let uu____15955 = FStar_List.hd bs in + let uu____16042 = FStar_List.hd bs + in maybe_extend_subst subst1 - uu____15955 e1 in + uu____16042 e1 + in tc_args head_info (subst2, ((arg, @@ -5175,38 +5764,44 @@ and (check_application_args : x1), c) :: outargs), (xterm :: arg_rets), g1, (x1 :: fvs)) rest rest'))))) - | (uu____16054, []) -> + | (uu____16141,[]) -> monadic_application head_info subst1 outargs arg_rets g fvs bs - | ([], arg::uu____16090) -> - let uu____16141 = + | ([],arg::uu____16177) -> + let uu____16228 = monadic_application head_info subst1 outargs - arg_rets g fvs [] in - (match uu____16141 with - | (head2, chead1, ghead1) -> + arg_rets g fvs [] + in + (match uu____16228 with + | (head2,chead1,ghead1) -> let rec aux norm1 solve ghead2 tres = let tres1 = - let uu____16197 = - FStar_Syntax_Subst.compress tres in - FStar_All.pipe_right uu____16197 - FStar_Syntax_Util.unrefine in + let uu____16284 = + FStar_Syntax_Subst.compress tres in + FStar_All.pipe_right uu____16284 + FStar_Syntax_Util.unrefine + in match tres1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (bs1, cres') + | FStar_Syntax_Syntax.Tm_arrow (bs1,cres') -> - let uu____16228 = - FStar_Syntax_Subst.open_comp bs1 cres' in - (match uu____16228 with - | (bs2, cres'1) -> + let uu____16315 = + FStar_Syntax_Subst.open_comp bs1 cres' + in + (match uu____16315 with + | (bs2,cres'1) -> let head_info1 = - let uu____16250 = + let uu____16337 = FStar_Syntax_Util.lcomp_of_comp - cres'1 in + cres'1 + in (head2, chead1, ghead2, - uu____16250) in - ((let uu____16252 = + uu____16337) + in + ((let uu____16339 = FStar_TypeChecker_Env.debug env - FStar_Options.Low in - if uu____16252 + FStar_Options.Low + in + if uu____16339 then FStar_Errors.log_issue tres1.FStar_Syntax_Syntax.pos @@ -5217,278 +5812,327 @@ and (check_application_args : ([], [], [], FStar_TypeChecker_Env.trivial_guard, []) bs2 args1)) - | uu____16299 when Prims.op_Negation norm1 + | uu____16386 when Prims.op_Negation norm1 -> let rec norm_tres tres2 = let tres3 = FStar_TypeChecker_Normalize.unfold_whnf - env tres2 in - let uu____16307 = - let uu____16308 = - FStar_Syntax_Subst.compress tres3 in - uu____16308.FStar_Syntax_Syntax.n in - match uu____16307 with + env tres2 + in + let uu____16394 = + let uu____16395 = + FStar_Syntax_Subst.compress tres3 + in + uu____16395.FStar_Syntax_Syntax.n + in + match uu____16394 with | FStar_Syntax_Syntax.Tm_refine ({ FStar_Syntax_Syntax.ppname = - uu____16311; + uu____16398; FStar_Syntax_Syntax.index = - uu____16312; + uu____16399; FStar_Syntax_Syntax.sort = - tres4;_}, - uu____16314) + tres4;_},uu____16401) -> norm_tres tres4 - | uu____16322 -> tres3 in - let uu____16323 = norm_tres tres1 in - aux true solve ghead2 uu____16323 - | uu____16325 when Prims.op_Negation solve + | uu____16409 -> tres3 in + let uu____16410 = norm_tres tres1 in + aux true solve ghead2 uu____16410 + | uu____16412 when Prims.op_Negation solve -> let ghead3 = FStar_TypeChecker_Rel.solve_deferred_constraints - env ghead2 in + env ghead2 + in aux norm1 true ghead3 tres1 - | uu____16328 -> - let uu____16329 = - let uu____16335 = - let uu____16337 = + | uu____16415 -> + let uu____16416 = + let uu____16422 = + let uu____16424 = FStar_TypeChecker_Normalize.term_to_string - env thead in - let uu____16339 = - FStar_Util.string_of_int n_args in - let uu____16341 = + env thead + in + let uu____16426 = + FStar_Util.string_of_int n_args + in + let uu____16428 = FStar_Syntax_Print.term_to_string - tres1 in + tres1 + in FStar_Util.format3 "Too many arguments to function of type %s; got %s arguments, remaining type is %s" - uu____16337 uu____16339 - uu____16341 in + uu____16424 uu____16426 + uu____16428 + in (FStar_Errors.Fatal_ToManyArgumentToFunction, - uu____16335) in - let uu____16345 = - FStar_Syntax_Syntax.argpos arg in - FStar_Errors.raise_error uu____16329 - uu____16345 in + uu____16422) + in + let uu____16432 = + FStar_Syntax_Syntax.argpos arg in + FStar_Errors.raise_error uu____16416 + uu____16432 + in aux false false ghead1 - chead1.FStar_Syntax_Syntax.res_typ)) in + chead1.FStar_Syntax_Syntax.res_typ)) + in let rec check_function_app tf guard = - let uu____16375 = - let uu____16376 = - FStar_TypeChecker_Normalize.unfold_whnf env tf in - uu____16376.FStar_Syntax_Syntax.n in - match uu____16375 with - | FStar_Syntax_Syntax.Tm_uvar uu____16385 -> - let uu____16398 = + let uu____16462 = + let uu____16463 = + FStar_TypeChecker_Normalize.unfold_whnf env tf in + uu____16463.FStar_Syntax_Syntax.n in + match uu____16462 with + | FStar_Syntax_Syntax.Tm_uvar uu____16472 -> + let uu____16485 = FStar_List.fold_right - (fun uu____16429 -> - fun uu____16430 -> - match uu____16430 with - | (bs, guard1) -> - let uu____16457 = - let uu____16470 = - let uu____16471 = - FStar_Syntax_Util.type_u () in - FStar_All.pipe_right uu____16471 - FStar_Pervasives_Native.fst in + (fun uu____16516 -> + fun uu____16517 -> + match uu____16517 with + | (bs,guard1) -> + let uu____16544 = + let uu____16557 = + let uu____16558 = + FStar_Syntax_Util.type_u () in + FStar_All.pipe_right uu____16558 + FStar_Pervasives_Native.fst + in FStar_TypeChecker_Util.new_implicit_var "formal parameter" tf.FStar_Syntax_Syntax.pos env - uu____16470 in - (match uu____16457 with - | (t, uu____16488, g) -> - let uu____16502 = - let uu____16505 = - FStar_Syntax_Syntax.null_binder t in - uu____16505 :: bs in - let uu____16506 = + uu____16557 + in + (match uu____16544 with + | (t,uu____16575,g) -> + let uu____16589 = + let uu____16592 = + FStar_Syntax_Syntax.null_binder t + in + uu____16592 :: bs in + let uu____16593 = FStar_TypeChecker_Env.conj_guard g - guard1 in - (uu____16502, uu____16506))) args - ([], guard) in - (match uu____16398 with - | (bs, guard1) -> - let uu____16523 = - let uu____16530 = - let uu____16543 = - let uu____16544 = FStar_Syntax_Util.type_u () in - FStar_All.pipe_right uu____16544 - FStar_Pervasives_Native.fst in + guard1 + in + (uu____16589, uu____16593))) args + ([], guard) + in + (match uu____16485 with + | (bs,guard1) -> + let uu____16610 = + let uu____16617 = + let uu____16630 = + let uu____16631 = FStar_Syntax_Util.type_u () + in + FStar_All.pipe_right uu____16631 + FStar_Pervasives_Native.fst + in FStar_TypeChecker_Util.new_implicit_var "result type" tf.FStar_Syntax_Syntax.pos env - uu____16543 in - match uu____16530 with - | (t, uu____16561, g) -> - let uu____16575 = FStar_Options.ml_ish () in - if uu____16575 + uu____16630 + in + match uu____16617 with + | (t,uu____16648,g) -> + let uu____16662 = FStar_Options.ml_ish () in + if uu____16662 then - let uu____16584 = - FStar_Syntax_Util.ml_comp t r in - let uu____16587 = - FStar_TypeChecker_Env.conj_guard guard1 g in - (uu____16584, uu____16587) + let uu____16671 = + FStar_Syntax_Util.ml_comp t r in + let uu____16674 = + FStar_TypeChecker_Env.conj_guard guard1 g + in + (uu____16671, uu____16674) else - (let uu____16592 = - FStar_Syntax_Syntax.mk_Total t in - let uu____16595 = + (let uu____16679 = + FStar_Syntax_Syntax.mk_Total t in + let uu____16682 = FStar_TypeChecker_Env.conj_guard guard1 - g in - (uu____16592, uu____16595)) in - (match uu____16523 with - | (cres, guard2) -> - let bs_cres = FStar_Syntax_Util.arrow bs cres in - ((let uu____16614 = + g + in + (uu____16679, uu____16682)) + in + (match uu____16610 with + | (cres,guard2) -> + let bs_cres = FStar_Syntax_Util.arrow bs cres + in + ((let uu____16701 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - FStar_Options.Extreme in - if uu____16614 + FStar_Options.Extreme + in + if uu____16701 then - let uu____16618 = - FStar_Syntax_Print.term_to_string head1 in - let uu____16620 = - FStar_Syntax_Print.term_to_string tf in - let uu____16622 = + let uu____16705 = + FStar_Syntax_Print.term_to_string head1 + in + let uu____16707 = + FStar_Syntax_Print.term_to_string tf in + let uu____16709 = FStar_Syntax_Print.term_to_string - bs_cres in + bs_cres + in FStar_Util.print3 "Forcing the type of %s from %s to %s\n" - uu____16618 uu____16620 uu____16622 + uu____16705 uu____16707 uu____16709 else ()); (let g = - let uu____16628 = - FStar_TypeChecker_Rel.teq env tf bs_cres in + let uu____16715 = + FStar_TypeChecker_Rel.teq env tf bs_cres + in FStar_TypeChecker_Rel.solve_deferred_constraints - env uu____16628 in - let uu____16629 = - FStar_TypeChecker_Env.conj_guard g guard2 in - check_function_app bs_cres uu____16629)))) + env uu____16715 + in + let uu____16716 = + FStar_TypeChecker_Env.conj_guard g guard2 + in + check_function_app bs_cres uu____16716)))) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_uvar - uu____16630; - FStar_Syntax_Syntax.pos = uu____16631; - FStar_Syntax_Syntax.vars = uu____16632;_}, - uu____16633) + uu____16717; + FStar_Syntax_Syntax.pos = uu____16718; + FStar_Syntax_Syntax.vars = uu____16719;_},uu____16720) -> - let uu____16670 = + let uu____16757 = FStar_List.fold_right - (fun uu____16701 -> - fun uu____16702 -> - match uu____16702 with - | (bs, guard1) -> - let uu____16729 = - let uu____16742 = - let uu____16743 = - FStar_Syntax_Util.type_u () in - FStar_All.pipe_right uu____16743 - FStar_Pervasives_Native.fst in + (fun uu____16788 -> + fun uu____16789 -> + match uu____16789 with + | (bs,guard1) -> + let uu____16816 = + let uu____16829 = + let uu____16830 = + FStar_Syntax_Util.type_u () in + FStar_All.pipe_right uu____16830 + FStar_Pervasives_Native.fst + in FStar_TypeChecker_Util.new_implicit_var "formal parameter" tf.FStar_Syntax_Syntax.pos env - uu____16742 in - (match uu____16729 with - | (t, uu____16760, g) -> - let uu____16774 = - let uu____16777 = - FStar_Syntax_Syntax.null_binder t in - uu____16777 :: bs in - let uu____16778 = + uu____16829 + in + (match uu____16816 with + | (t,uu____16847,g) -> + let uu____16861 = + let uu____16864 = + FStar_Syntax_Syntax.null_binder t + in + uu____16864 :: bs in + let uu____16865 = FStar_TypeChecker_Env.conj_guard g - guard1 in - (uu____16774, uu____16778))) args - ([], guard) in - (match uu____16670 with - | (bs, guard1) -> - let uu____16795 = - let uu____16802 = - let uu____16815 = - let uu____16816 = FStar_Syntax_Util.type_u () in - FStar_All.pipe_right uu____16816 - FStar_Pervasives_Native.fst in + guard1 + in + (uu____16861, uu____16865))) args + ([], guard) + in + (match uu____16757 with + | (bs,guard1) -> + let uu____16882 = + let uu____16889 = + let uu____16902 = + let uu____16903 = FStar_Syntax_Util.type_u () + in + FStar_All.pipe_right uu____16903 + FStar_Pervasives_Native.fst + in FStar_TypeChecker_Util.new_implicit_var "result type" tf.FStar_Syntax_Syntax.pos env - uu____16815 in - match uu____16802 with - | (t, uu____16833, g) -> - let uu____16847 = FStar_Options.ml_ish () in - if uu____16847 + uu____16902 + in + match uu____16889 with + | (t,uu____16920,g) -> + let uu____16934 = FStar_Options.ml_ish () in + if uu____16934 then - let uu____16856 = - FStar_Syntax_Util.ml_comp t r in - let uu____16859 = - FStar_TypeChecker_Env.conj_guard guard1 g in - (uu____16856, uu____16859) + let uu____16943 = + FStar_Syntax_Util.ml_comp t r in + let uu____16946 = + FStar_TypeChecker_Env.conj_guard guard1 g + in + (uu____16943, uu____16946) else - (let uu____16864 = - FStar_Syntax_Syntax.mk_Total t in - let uu____16867 = + (let uu____16951 = + FStar_Syntax_Syntax.mk_Total t in + let uu____16954 = FStar_TypeChecker_Env.conj_guard guard1 - g in - (uu____16864, uu____16867)) in - (match uu____16795 with - | (cres, guard2) -> - let bs_cres = FStar_Syntax_Util.arrow bs cres in - ((let uu____16886 = + g + in + (uu____16951, uu____16954)) + in + (match uu____16882 with + | (cres,guard2) -> + let bs_cres = FStar_Syntax_Util.arrow bs cres + in + ((let uu____16973 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - FStar_Options.Extreme in - if uu____16886 + FStar_Options.Extreme + in + if uu____16973 then - let uu____16890 = - FStar_Syntax_Print.term_to_string head1 in - let uu____16892 = - FStar_Syntax_Print.term_to_string tf in - let uu____16894 = + let uu____16977 = + FStar_Syntax_Print.term_to_string head1 + in + let uu____16979 = + FStar_Syntax_Print.term_to_string tf in + let uu____16981 = FStar_Syntax_Print.term_to_string - bs_cres in + bs_cres + in FStar_Util.print3 "Forcing the type of %s from %s to %s\n" - uu____16890 uu____16892 uu____16894 + uu____16977 uu____16979 uu____16981 else ()); (let g = - let uu____16900 = - FStar_TypeChecker_Rel.teq env tf bs_cres in + let uu____16987 = + FStar_TypeChecker_Rel.teq env tf bs_cres + in FStar_TypeChecker_Rel.solve_deferred_constraints - env uu____16900 in - let uu____16901 = - FStar_TypeChecker_Env.conj_guard g guard2 in - check_function_app bs_cres uu____16901)))) - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____16924 = FStar_Syntax_Subst.open_comp bs c in - (match uu____16924 with - | (bs1, c1) -> + env uu____16987 + in + let uu____16988 = + FStar_TypeChecker_Env.conj_guard g guard2 + in + check_function_app bs_cres uu____16988)))) + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____17011 = FStar_Syntax_Subst.open_comp bs c in + (match uu____17011 with + | (bs1,c1) -> let head_info = - let uu____16946 = - FStar_Syntax_Util.lcomp_of_comp c1 in - (head1, chead, ghead, uu____16946) in - ((let uu____16948 = + let uu____17033 = + FStar_Syntax_Util.lcomp_of_comp c1 in + (head1, chead, ghead, uu____17033) in + ((let uu____17035 = FStar_TypeChecker_Env.debug env - FStar_Options.Extreme in - if uu____16948 + FStar_Options.Extreme + in + if uu____17035 then - let uu____16951 = - FStar_Syntax_Print.term_to_string head1 in - let uu____16953 = - FStar_Syntax_Print.term_to_string tf in - let uu____16955 = - FStar_Syntax_Print.binders_to_string ", " bs1 in - let uu____16958 = - FStar_Syntax_Print.comp_to_string c1 in + let uu____17038 = + FStar_Syntax_Print.term_to_string head1 in + let uu____17040 = + FStar_Syntax_Print.term_to_string tf in + let uu____17042 = + FStar_Syntax_Print.binders_to_string ", " bs1 + in + let uu____17045 = + FStar_Syntax_Print.comp_to_string c1 in FStar_Util.print4 "######tc_args of head %s @ %s with formals=%s and result type=%s\n" - uu____16951 uu____16953 uu____16955 - uu____16958 + uu____17038 uu____17040 uu____17042 + uu____17045 else ()); tc_args head_info ([], [], [], guard, []) bs1 args)) - | FStar_Syntax_Syntax.Tm_refine (bv, uu____17004) -> + | FStar_Syntax_Syntax.Tm_refine (bv,uu____17091) -> check_function_app bv.FStar_Syntax_Syntax.sort guard | FStar_Syntax_Syntax.Tm_ascribed - (t, uu____17010, uu____17011) -> + (t,uu____17097,uu____17098) -> check_function_app t guard - | uu____17052 -> - let uu____17053 = - FStar_TypeChecker_Err.expected_function_typ env tf in - FStar_Errors.raise_error uu____17053 - head1.FStar_Syntax_Syntax.pos in + | uu____17139 -> + let uu____17140 = + FStar_TypeChecker_Err.expected_function_typ env tf in + FStar_Errors.raise_error uu____17140 + head1.FStar_Syntax_Syntax.pos + in check_function_app thead FStar_TypeChecker_Env.trivial_guard) + and (check_short_circuit_args : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -5501,97 +6145,113 @@ and (check_short_circuit_args : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun head1 -> - fun chead -> - fun g_head -> - fun args -> - fun expected_topt -> - let r = FStar_TypeChecker_Env.get_range env in + fun env -> + fun head1 -> + fun chead -> + fun g_head -> + fun args -> + fun expected_topt -> + let r = FStar_TypeChecker_Env.get_range env in let tf = - FStar_Syntax_Subst.compress chead.FStar_Syntax_Syntax.res_typ in + FStar_Syntax_Subst.compress chead.FStar_Syntax_Syntax.res_typ + in match tf.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (bs, c) when + | FStar_Syntax_Syntax.Tm_arrow (bs,c) when (FStar_Syntax_Util.is_total_comp c) && ((FStar_List.length bs) = (FStar_List.length args)) -> - let res_t = FStar_Syntax_Util.comp_result c in - let uu____17136 = + let res_t = FStar_Syntax_Util.comp_result c in + let uu____17223 = FStar_List.fold_left2 - (fun uu____17205 -> - fun uu____17206 -> - fun uu____17207 -> - match (uu____17205, uu____17206, uu____17207) + (fun uu____17292 -> + fun uu____17293 -> + fun uu____17294 -> + match (uu____17292, uu____17293, uu____17294) with - | ((seen, guard, ghost), (e, aq), (b, aq')) -> - ((let uu____17360 = - let uu____17362 = - FStar_Syntax_Util.eq_aqual aq aq' in - uu____17362 <> FStar_Syntax_Util.Equal in - if uu____17360 + | ((seen,guard,ghost),(e,aq),(b,aq')) -> + ((let uu____17447 = + let uu____17449 = + FStar_Syntax_Util.eq_aqual aq aq' in + uu____17449 <> FStar_Syntax_Util.Equal + in + if uu____17447 then FStar_Errors.raise_error (FStar_Errors.Fatal_InconsistentImplicitQualifier, "Inconsistent implicit qualifiers") e.FStar_Syntax_Syntax.pos else ()); - (let uu____17368 = + (let uu____17455 = tc_check_tot_or_gtot_term env e - b.FStar_Syntax_Syntax.sort in - match uu____17368 with - | (e1, c1, g) -> + b.FStar_Syntax_Syntax.sort + in + match uu____17455 with + | (e1,c1,g) -> let short = FStar_TypeChecker_Util.short_circuit - head1 seen in + head1 seen + in let g1 = - let uu____17397 = + let uu____17484 = FStar_TypeChecker_Env.guard_of_guard_formula - short in + short + in FStar_TypeChecker_Env.imp_guard - uu____17397 g in + uu____17484 g + in let ghost1 = ghost || - ((let uu____17402 = + ((let uu____17489 = FStar_Syntax_Util.is_total_lcomp - c1 in - Prims.op_Negation uu____17402) + c1 + in + Prims.op_Negation uu____17489) && - (let uu____17405 = + (let uu____17492 = FStar_TypeChecker_Util.is_pure_effect env - c1.FStar_Syntax_Syntax.eff_name in - Prims.op_Negation uu____17405)) in - let uu____17407 = - let uu____17418 = - let uu____17429 = - FStar_Syntax_Syntax.as_arg e1 in - [uu____17429] in - FStar_List.append seen uu____17418 in - let uu____17462 = + c1.FStar_Syntax_Syntax.eff_name + in + Prims.op_Negation uu____17492)) + in + let uu____17494 = + let uu____17505 = + let uu____17516 = + FStar_Syntax_Syntax.as_arg e1 + in + [uu____17516] in + FStar_List.append seen uu____17505 + in + let uu____17549 = FStar_TypeChecker_Env.conj_guard - guard g1 in - (uu____17407, uu____17462, ghost1)))) - ([], g_head, false) args bs in - (match uu____17136 with - | (args1, guard, ghost) -> + guard g1 + in + (uu____17494, uu____17549, ghost1)))) + ([], g_head, false) args bs + in + (match uu____17223 with + | (args1,guard,ghost) -> let e = FStar_Syntax_Syntax.mk_Tm_app head1 args1 - FStar_Pervasives_Native.None r in + FStar_Pervasives_Native.None r + in let c1 = if ghost then - let uu____17530 = - FStar_Syntax_Syntax.mk_GTotal res_t in - FStar_All.pipe_right uu____17530 + let uu____17617 = + FStar_Syntax_Syntax.mk_GTotal res_t in + FStar_All.pipe_right uu____17617 FStar_Syntax_Util.lcomp_of_comp - else FStar_Syntax_Util.lcomp_of_comp c in - let uu____17533 = + else FStar_Syntax_Util.lcomp_of_comp c in + let uu____17620 = FStar_TypeChecker_Util.strengthen_precondition - FStar_Pervasives_Native.None env e c1 guard in - (match uu____17533 with | (c2, g) -> (e, c2, g))) - | uu____17550 -> + FStar_Pervasives_Native.None env e c1 guard + in + (match uu____17620 with | (c2,g) -> (e, c2, g))) + | uu____17637 -> check_application_args env head1 chead g_head args expected_topt + and (tc_pat : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> @@ -5600,134 +6260,152 @@ and (tc_pat : FStar_TypeChecker_Env.env * FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.term * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun pat_t -> - fun p0 -> + fun env -> + fun pat_t -> + fun p0 -> let fail1 msg = FStar_Errors.raise_error (FStar_Errors.Fatal_MismatchedPatternType, msg) - p0.FStar_Syntax_Syntax.p in + p0.FStar_Syntax_Syntax.p + in let expected_pat_typ env1 pos scrutinee_t = let rec aux norm1 t = - let t1 = FStar_Syntax_Util.unrefine t in - let uu____17641 = FStar_Syntax_Util.head_and_args t1 in - match uu____17641 with - | (head1, args) -> - let uu____17684 = - let uu____17685 = FStar_Syntax_Subst.compress head1 in - uu____17685.FStar_Syntax_Syntax.n in - (match uu____17684 with + let t1 = FStar_Syntax_Util.unrefine t in + let uu____17728 = FStar_Syntax_Util.head_and_args t1 in + match uu____17728 with + | (head1,args) -> + let uu____17771 = + let uu____17772 = FStar_Syntax_Subst.compress head1 in + uu____17772.FStar_Syntax_Syntax.n in + (match uu____17771 with | FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar f; - FStar_Syntax_Syntax.pos = uu____17689; - FStar_Syntax_Syntax.vars = uu____17690;_}, - us) + FStar_Syntax_Syntax.pos = uu____17776; + FStar_Syntax_Syntax.vars = uu____17777;_},us) -> unfold_once t1 f us args | FStar_Syntax_Syntax.Tm_fvar f -> unfold_once t1 f [] args - | uu____17697 -> + | uu____17784 -> if norm1 then t1 else - (let uu____17701 = + (let uu____17788 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.HNF; FStar_TypeChecker_Env.Unmeta; FStar_TypeChecker_Env.Unascribe; FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant] env1 t1 in - aux true uu____17701)) + FStar_Syntax_Syntax.delta_constant] env1 t1 + in + aux true uu____17788)) + and unfold_once t f us args = - let uu____17719 = + let uu____17806 = FStar_TypeChecker_Env.is_type_constructor env1 - (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - if uu____17719 + (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + if uu____17806 then t else - (let uu____17724 = + (let uu____17811 = FStar_TypeChecker_Env.lookup_definition [FStar_TypeChecker_Env.Unfold FStar_Syntax_Syntax.delta_constant] env1 - (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - match uu____17724 with - | FStar_Pervasives_Native.None -> t + (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + match uu____17811 with + | FStar_Pervasives_Native.None -> t | FStar_Pervasives_Native.Some head_def_ts -> - let uu____17744 = - FStar_TypeChecker_Env.inst_tscheme_with head_def_ts us in - (match uu____17744 with - | (uu____17749, head_def) -> + let uu____17831 = + FStar_TypeChecker_Env.inst_tscheme_with head_def_ts us + in + (match uu____17831 with + | (uu____17836,head_def) -> let t' = FStar_Syntax_Syntax.mk_Tm_app head_def args FStar_Pervasives_Native.None - t.FStar_Syntax_Syntax.pos in + t.FStar_Syntax_Syntax.pos + in let t'1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.Iota] env1 t' in - aux false t'1)) in - let uu____17756 = + FStar_TypeChecker_Env.Iota] env1 t' + in + aux false t'1)) + in + let uu____17843 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Iota] env1 - scrutinee_t in - aux false uu____17756 in + scrutinee_t + in + aux false uu____17843 in let pat_typ_ok env1 pat_t1 scrutinee_t = - (let uu____17775 = + (let uu____17862 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Patterns") in - if uu____17775 + (FStar_Options.Other "Patterns") + in + if uu____17862 then - let uu____17780 = FStar_Syntax_Print.term_to_string pat_t1 in - let uu____17782 = FStar_Syntax_Print.term_to_string scrutinee_t in + let uu____17867 = FStar_Syntax_Print.term_to_string pat_t1 in + let uu____17869 = FStar_Syntax_Print.term_to_string scrutinee_t + in FStar_Util.print2 "$$$$$$$$$$$$pat_typ_ok? %s vs. %s\n" - uu____17780 uu____17782 + uu____17867 uu____17869 else ()); (let fail2 msg = let msg1 = - let uu____17802 = FStar_Syntax_Print.term_to_string pat_t1 in - let uu____17804 = - FStar_Syntax_Print.term_to_string scrutinee_t in + let uu____17889 = FStar_Syntax_Print.term_to_string pat_t1 in + let uu____17891 = + FStar_Syntax_Print.term_to_string scrutinee_t in FStar_Util.format3 "Type of pattern (%s) does not match type of scrutinee (%s)%s" - uu____17802 uu____17804 msg in + uu____17889 uu____17891 msg + in FStar_Errors.raise_error (FStar_Errors.Fatal_MismatchedPatternType, msg1) - p0.FStar_Syntax_Syntax.p in - let uu____17808 = FStar_Syntax_Util.head_and_args scrutinee_t in - match uu____17808 with - | (head_s, args_s) -> + p0.FStar_Syntax_Syntax.p + in + let uu____17895 = FStar_Syntax_Util.head_and_args scrutinee_t in + match uu____17895 with + | (head_s,args_s) -> let pat_t2 = FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.Beta] env1 pat_t1 in - let uu____17852 = FStar_Syntax_Util.un_uinst head_s in - (match uu____17852 with + [FStar_TypeChecker_Env.Beta] env1 pat_t1 + in + let uu____17939 = FStar_Syntax_Util.un_uinst head_s in + (match uu____17939 with | { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar - uu____17853; - FStar_Syntax_Syntax.pos = uu____17854; - FStar_Syntax_Syntax.vars = uu____17855;_} -> - let uu____17858 = FStar_Syntax_Util.head_and_args pat_t2 in - (match uu____17858 with - | (head_p, args_p) -> - let uu____17901 = + uu____17940; + FStar_Syntax_Syntax.pos = uu____17941; + FStar_Syntax_Syntax.vars = uu____17942;_} -> + let uu____17945 = FStar_Syntax_Util.head_and_args pat_t2 + in + (match uu____17945 with + | (head_p,args_p) -> + let uu____17988 = FStar_TypeChecker_Rel.teq_nosmt_force env1 head_p - head_s in - if uu____17901 + head_s + in + if uu____17988 then - let uu____17904 = - let uu____17905 = - FStar_Syntax_Util.un_uinst head_p in - uu____17905.FStar_Syntax_Syntax.n in - (match uu____17904 with + let uu____17991 = + let uu____17992 = + FStar_Syntax_Util.un_uinst head_p in + uu____17992.FStar_Syntax_Syntax.n in + (match uu____17991 with | FStar_Syntax_Syntax.Tm_fvar f -> - ((let uu____17910 = - let uu____17912 = - let uu____17914 = - FStar_Syntax_Syntax.lid_of_fv f in + ((let uu____17997 = + let uu____17999 = + let uu____18001 = + FStar_Syntax_Syntax.lid_of_fv f in FStar_TypeChecker_Env.is_type_constructor - env1 uu____17914 in + env1 uu____18001 + in FStar_All.pipe_left Prims.op_Negation - uu____17912 in - if uu____17910 + uu____17999 + in + if uu____17997 then fail2 "Pattern matching a non-inductive type" @@ -5737,98 +6415,112 @@ and (tc_pat : (FStar_List.length args_s) then fail2 "" else (); - (let uu____17942 = - let uu____17967 = - let uu____17971 = - FStar_Syntax_Syntax.lid_of_fv f in + (let uu____18029 = + let uu____18054 = + let uu____18058 = + FStar_Syntax_Syntax.lid_of_fv f in FStar_TypeChecker_Env.num_inductive_ty_params - env1 uu____17971 in - match uu____17967 with - | FStar_Pervasives_Native.None -> + env1 uu____18058 + in + match uu____18054 with + | FStar_Pervasives_Native.None -> (args_p, args_s) | FStar_Pervasives_Native.Some n1 -> - let uu____18020 = - FStar_Util.first_N n1 args_p in - (match uu____18020 with - | (params_p, uu____18078) -> - let uu____18119 = - FStar_Util.first_N n1 args_s in - (match uu____18119 with - | (params_s, uu____18177) -> - (params_p, params_s))) in - match uu____17942 with - | (params_p, params_s) -> + let uu____18107 = + FStar_Util.first_N n1 args_p in + (match uu____18107 with + | (params_p,uu____18165) -> + let uu____18206 = + FStar_Util.first_N n1 args_s + in + (match uu____18206 with + | (params_s,uu____18264) -> + (params_p, params_s))) + in + match uu____18029 with + | (params_p,params_s) -> FStar_List.fold_left2 - (fun out -> - fun uu____18306 -> - fun uu____18307 -> - match (uu____18306, - uu____18307) + (fun out -> + fun uu____18393 -> + fun uu____18394 -> + match (uu____18393, + uu____18394) with - | ((p, uu____18341), - (s, uu____18343)) -> - let uu____18376 = + | ((p,uu____18428),(s,uu____18430)) + -> + let uu____18463 = FStar_TypeChecker_Rel.teq_nosmt - env1 p s in - (match uu____18376 with + env1 p s + in + (match uu____18463 with | FStar_Pervasives_Native.None - -> - let uu____18379 = - let uu____18381 = + -> + let uu____18466 = + let uu____18468 = FStar_Syntax_Print.term_to_string - p in - let uu____18383 = + p + in + let uu____18470 = FStar_Syntax_Print.term_to_string - s in + s + in FStar_Util.format2 "; parameter %s <> parameter %s" - uu____18381 - uu____18383 in - fail2 uu____18379 + uu____18468 + uu____18470 + in + fail2 uu____18466 | FStar_Pervasives_Native.Some g -> let g1 = FStar_TypeChecker_Rel.discharge_guard_no_smt - env1 g in + env1 g + in FStar_TypeChecker_Env.conj_guard g1 out)) FStar_TypeChecker_Env.trivial_guard params_p params_s)) - | uu____18388 -> + | uu____18475 -> fail2 "Pattern matching a non-inductive type") else - (let uu____18392 = - let uu____18394 = - FStar_Syntax_Print.term_to_string head_p in - let uu____18396 = - FStar_Syntax_Print.term_to_string head_s in + (let uu____18479 = + let uu____18481 = + FStar_Syntax_Print.term_to_string head_p in + let uu____18483 = + FStar_Syntax_Print.term_to_string head_s in FStar_Util.format2 "; head mismatch %s vs %s" - uu____18394 uu____18396 in - fail2 uu____18392)) - | uu____18399 -> - let uu____18400 = - FStar_TypeChecker_Rel.teq_nosmt env1 pat_t2 scrutinee_t in - (match uu____18400 with - | FStar_Pervasives_Native.None -> fail2 "" + uu____18481 uu____18483 + in + fail2 uu____18479)) + | uu____18486 -> + let uu____18487 = + FStar_TypeChecker_Rel.teq_nosmt env1 pat_t2 scrutinee_t + in + (match uu____18487 with + | FStar_Pervasives_Native.None -> fail2 "" | FStar_Pervasives_Native.Some g -> let g1 = FStar_TypeChecker_Rel.discharge_guard_no_smt env1 - g in - g1))) in + g + in + g1))) + in let type_of_simple_pat env1 e = - let uu____18437 = FStar_Syntax_Util.head_and_args e in - match uu____18437 with - | (head1, args) -> + let uu____18524 = FStar_Syntax_Util.head_and_args e in + match uu____18524 with + | (head1,args) -> (match head1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar f -> - let uu____18501 = + let uu____18588 = FStar_TypeChecker_Env.lookup_datacon env1 - (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - (match uu____18501 with - | (us, t_f) -> - let uu____18518 = FStar_Syntax_Util.arrow_formals t_f in - (match uu____18518 with - | (formals, t) -> + (f.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + (match uu____18588 with + | (us,t_f) -> + let uu____18605 = FStar_Syntax_Util.arrow_formals t_f + in + (match uu____18605 with + | (formals,t) -> (if (FStar_List.length formals) <> (FStar_List.length args) @@ -5836,518 +6528,578 @@ and (tc_pat : fail1 "Pattern is not a fully-applied data constructor" else (); - (let rec aux uu____18647 formals1 args1 = - match uu____18647 with - | (subst1, args_out, bvs, guard) -> + (let rec aux uu____18734 formals1 args1 = + match uu____18734 with + | (subst1,args_out,bvs,guard) -> (match (formals1, args1) with - | ([], []) -> + | ([],[]) -> let head2 = FStar_Syntax_Syntax.mk_Tm_uinst - head1 us in + head1 us + in let pat_e = FStar_Syntax_Syntax.mk_Tm_app head2 args_out FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in - let uu____18792 = - FStar_Syntax_Subst.subst subst1 t in - (pat_e, uu____18792, bvs, guard) - | ((f1, uu____18798)::formals2, - (a, imp_a)::args2) -> + e.FStar_Syntax_Syntax.pos + in + let uu____18879 = + FStar_Syntax_Subst.subst subst1 t + in + (pat_e, uu____18879, bvs, guard) + | ((f1,uu____18885)::formals2,(a,imp_a)::args2) + -> let t_f1 = FStar_Syntax_Subst.subst subst1 - f1.FStar_Syntax_Syntax.sort in - let uu____18856 = - let uu____18877 = - let uu____18878 = - FStar_Syntax_Subst.compress a in - uu____18878.FStar_Syntax_Syntax.n in - match uu____18877 with + f1.FStar_Syntax_Syntax.sort + in + let uu____18943 = + let uu____18964 = + let uu____18965 = + FStar_Syntax_Subst.compress a + in + uu____18965.FStar_Syntax_Syntax.n + in + match uu____18964 with | FStar_Syntax_Syntax.Tm_name x -> let x1 = - let uu___2415_18903 = x in + let uu___2435_18990 = x in { FStar_Syntax_Syntax.ppname = - (uu___2415_18903.FStar_Syntax_Syntax.ppname); + (uu___2435_18990.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2415_18903.FStar_Syntax_Syntax.index); + (uu___2435_18990.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t_f1 - } in + } in let a1 = FStar_Syntax_Syntax.bv_to_name - x1 in + x1 + in let subst2 = (FStar_Syntax_Syntax.NT (f1, a1)) - :: subst1 in + :: subst1 in ((a1, imp_a), subst2, (FStar_List.append bvs [x1]), FStar_TypeChecker_Env.trivial_guard) | FStar_Syntax_Syntax.Tm_uvar - uu____18926 -> + uu____19013 -> let env2 = FStar_TypeChecker_Env.set_expected_typ - env1 t_f1 in - let uu____18940 = - tc_tot_or_gtot_term env2 a in - (match uu____18940 with - | (a1, uu____18968, g) -> + env1 t_f1 + in + let uu____19027 = + tc_tot_or_gtot_term env2 a + in + (match uu____19027 with + | (a1,uu____19055,g) -> let g1 = FStar_TypeChecker_Rel.discharge_guard_no_smt - env2 g in + env2 g + in let subst2 = (FStar_Syntax_Syntax.NT (f1, a1)) - :: subst1 in + :: subst1 in ((a1, imp_a), subst2, bvs, g1)) - | uu____18992 -> - fail1 "Not a simple pattern" in - (match uu____18856 with - | (a1, subst2, bvs1, g) -> - let uu____19054 = - let uu____19077 = + | uu____19079 -> + fail1 "Not a simple pattern" + in + (match uu____18943 with + | (a1,subst2,bvs1,g) -> + let uu____19141 = + let uu____19164 = FStar_TypeChecker_Env.conj_guard - g guard in + g guard + in (subst2, (FStar_List.append args_out [a1]), bvs1, - uu____19077) in - aux uu____19054 formals2 args2) - | uu____19116 -> - fail1 "Not a fully applued pattern") in + uu____19164) + in + aux uu____19141 formals2 args2) + | uu____19203 -> + fail1 "Not a fully applued pattern") + in aux ([], [], [], FStar_TypeChecker_Env.trivial_guard) formals args)))) - | uu____19172 -> fail1 "Not a simple pattern") in + | uu____19259 -> fail1 "Not a simple pattern") + in let rec check_nested_pattern env1 p t = - (let uu____19221 = + (let uu____19308 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Patterns") in - if uu____19221 + (FStar_Options.Other "Patterns") + in + if uu____19308 then - let uu____19226 = FStar_Syntax_Print.pat_to_string p in - let uu____19228 = FStar_Syntax_Print.term_to_string t in - FStar_Util.print2 "Checking pattern %s at type %s\n" uu____19226 - uu____19228 + let uu____19313 = FStar_Syntax_Print.pat_to_string p in + let uu____19315 = FStar_Syntax_Print.term_to_string t in + FStar_Util.print2 "Checking pattern %s at type %s\n" uu____19313 + uu____19315 else ()); (match p.FStar_Syntax_Syntax.v with - | FStar_Syntax_Syntax.Pat_dot_term uu____19243 -> - let uu____19250 = - let uu____19252 = FStar_Syntax_Print.pat_to_string p in + | FStar_Syntax_Syntax.Pat_dot_term uu____19330 -> + let uu____19337 = + let uu____19339 = FStar_Syntax_Print.pat_to_string p in FStar_Util.format1 "Impossible: Expected an undecorated pattern, got %s" - uu____19252 in - failwith uu____19250 + uu____19339 + in + failwith uu____19337 | FStar_Syntax_Syntax.Pat_wild x -> let x1 = - let uu___2447_19267 = x in + let uu___2467_19354 = x in { FStar_Syntax_Syntax.ppname = - (uu___2447_19267.FStar_Syntax_Syntax.ppname); + (uu___2467_19354.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2447_19267.FStar_Syntax_Syntax.index); + (uu___2467_19354.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t - } in - let uu____19268 = FStar_Syntax_Syntax.bv_to_name x1 in - ([x1], uu____19268, - (let uu___2450_19272 = p in + } in + let uu____19355 = FStar_Syntax_Syntax.bv_to_name x1 in + ([x1], uu____19355, + (let uu___2470_19359 = p in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_wild x1); FStar_Syntax_Syntax.p = - (uu___2450_19272.FStar_Syntax_Syntax.p) + (uu___2470_19359.FStar_Syntax_Syntax.p) }), FStar_TypeChecker_Env.trivial_guard) | FStar_Syntax_Syntax.Pat_var x -> let x1 = - let uu___2454_19275 = x in + let uu___2474_19362 = x in { FStar_Syntax_Syntax.ppname = - (uu___2454_19275.FStar_Syntax_Syntax.ppname); + (uu___2474_19362.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2454_19275.FStar_Syntax_Syntax.index); + (uu___2474_19362.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t - } in - let uu____19276 = FStar_Syntax_Syntax.bv_to_name x1 in - ([x1], uu____19276, - (let uu___2457_19280 = p in + } in + let uu____19363 = FStar_Syntax_Syntax.bv_to_name x1 in + ([x1], uu____19363, + (let uu___2477_19367 = p in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_var x1); FStar_Syntax_Syntax.p = - (uu___2457_19280.FStar_Syntax_Syntax.p) + (uu___2477_19367.FStar_Syntax_Syntax.p) }), FStar_TypeChecker_Env.trivial_guard) - | FStar_Syntax_Syntax.Pat_constant uu____19281 -> - let uu____19282 = - FStar_TypeChecker_PatternUtils.pat_as_exp false env1 p in - (match uu____19282 with - | (uu____19304, e_c, uu____19306, uu____19307) -> - let uu____19312 = tc_tot_or_gtot_term env1 e_c in - (match uu____19312 with - | (e_c1, lc, g) -> + | FStar_Syntax_Syntax.Pat_constant uu____19368 -> + let uu____19369 = + FStar_TypeChecker_PatternUtils.pat_as_exp false env1 p in + (match uu____19369 with + | (uu____19391,e_c,uu____19393,uu____19394) -> + let uu____19399 = tc_tot_or_gtot_term env1 e_c in + (match uu____19399 with + | (e_c1,lc,g) -> (FStar_TypeChecker_Rel.force_trivial_guard env1 g; (let expected_t = - expected_pat_typ env1 p0.FStar_Syntax_Syntax.p t in - (let uu____19335 = - let uu____19337 = + expected_pat_typ env1 p0.FStar_Syntax_Syntax.p t + in + (let uu____19422 = + let uu____19424 = FStar_TypeChecker_Rel.teq_nosmt_force env1 - lc.FStar_Syntax_Syntax.res_typ expected_t in - Prims.op_Negation uu____19337 in - if uu____19335 + lc.FStar_Syntax_Syntax.res_typ expected_t + in + Prims.op_Negation uu____19424 in + if uu____19422 then - let uu____19340 = - let uu____19342 = + let uu____19427 = + let uu____19429 = FStar_Syntax_Print.term_to_string - lc.FStar_Syntax_Syntax.res_typ in - let uu____19344 = + lc.FStar_Syntax_Syntax.res_typ + in + let uu____19431 = FStar_Syntax_Print.term_to_string - expected_t in + expected_t + in FStar_Util.format2 "Type of pattern (%s) does not match type of scrutinee (%s)" - uu____19342 uu____19344 in - fail1 uu____19340 + uu____19429 uu____19431 + in + fail1 uu____19427 else ()); ([], e_c1, p, FStar_TypeChecker_Env.trivial_guard))))) - | FStar_Syntax_Syntax.Pat_cons (fv, sub_pats) -> + | FStar_Syntax_Syntax.Pat_cons (fv,sub_pats) -> let simple_pat = let simple_sub_pats = FStar_List.map - (fun uu____19402 -> - match uu____19402 with - | (p1, b) -> + (fun uu____19489 -> + match uu____19489 with + | (p1,b) -> (match p1.FStar_Syntax_Syntax.v with - | FStar_Syntax_Syntax.Pat_dot_term uu____19432 + | FStar_Syntax_Syntax.Pat_dot_term uu____19519 -> (p1, b) - | uu____19442 -> - let uu____19443 = - let uu____19446 = - let uu____19447 = + | uu____19529 -> + let uu____19530 = + let uu____19533 = + let uu____19534 = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some (p1.FStar_Syntax_Syntax.p)) - FStar_Syntax_Syntax.tun in - FStar_Syntax_Syntax.Pat_var uu____19447 in - FStar_Syntax_Syntax.withinfo uu____19446 - p1.FStar_Syntax_Syntax.p in - (uu____19443, b))) sub_pats in - let uu___2485_19451 = p in + FStar_Syntax_Syntax.tun + in + FStar_Syntax_Syntax.Pat_var uu____19534 + in + FStar_Syntax_Syntax.withinfo uu____19533 + p1.FStar_Syntax_Syntax.p + in + (uu____19530, b))) sub_pats + in + let uu___2505_19538 = p in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_cons (fv, simple_sub_pats)); FStar_Syntax_Syntax.p = - (uu___2485_19451.FStar_Syntax_Syntax.p) - } in + (uu___2505_19538.FStar_Syntax_Syntax.p) + } in let sub_pats1 = FStar_All.pipe_right sub_pats (FStar_List.filter - (fun uu____19496 -> - match uu____19496 with - | (x, uu____19506) -> + (fun uu____19583 -> + match uu____19583 with + | (x,uu____19593) -> (match x.FStar_Syntax_Syntax.v with - | FStar_Syntax_Syntax.Pat_dot_term uu____19514 + | FStar_Syntax_Syntax.Pat_dot_term uu____19601 -> false - | uu____19522 -> true))) in - let uu____19524 = + | uu____19609 -> true))) + in + let uu____19611 = FStar_TypeChecker_PatternUtils.pat_as_exp false env1 - simple_pat in - (match uu____19524 with - | (simple_bvs, simple_pat_e, g0, simple_pat_elab) -> + simple_pat + in + (match uu____19611 with + | (simple_bvs,simple_pat_e,g0,simple_pat_elab) -> (if (FStar_List.length simple_bvs) <> (FStar_List.length sub_pats1) then - (let uu____19561 = - let uu____19563 = + (let uu____19648 = + let uu____19650 = FStar_Range.string_of_range - p.FStar_Syntax_Syntax.p in - let uu____19565 = - FStar_Syntax_Print.pat_to_string simple_pat in - let uu____19567 = + p.FStar_Syntax_Syntax.p + in + let uu____19652 = + FStar_Syntax_Print.pat_to_string simple_pat in + let uu____19654 = FStar_Util.string_of_int - (FStar_List.length sub_pats1) in - let uu____19574 = + (FStar_List.length sub_pats1) + in + let uu____19661 = FStar_Util.string_of_int - (FStar_List.length simple_bvs) in + (FStar_List.length simple_bvs) + in FStar_Util.format4 "(%s) Impossible: pattern bvar mismatch: %s; expected %s sub pats; got %s" - uu____19563 uu____19565 uu____19567 uu____19574 in - failwith uu____19561) + uu____19650 uu____19652 uu____19654 uu____19661 + in + failwith uu____19648) else (); - (let uu____19579 = - let uu____19588 = - type_of_simple_pat env1 simple_pat_e in - match uu____19588 with - | (simple_pat_e1, simple_pat_t, simple_bvs1, guard) - -> + (let uu____19666 = + let uu____19675 = + type_of_simple_pat env1 simple_pat_e in + match uu____19675 with + | (simple_pat_e1,simple_pat_t,simple_bvs1,guard) -> let g' = - let uu____19616 = + let uu____19703 = expected_pat_typ env1 - p0.FStar_Syntax_Syntax.p t in - pat_typ_ok env1 simple_pat_t uu____19616 in + p0.FStar_Syntax_Syntax.p t + in + pat_typ_ok env1 simple_pat_t uu____19703 in let guard1 = - FStar_TypeChecker_Env.conj_guard guard g' in - ((let uu____19619 = + FStar_TypeChecker_Env.conj_guard guard g' in + ((let uu____19706 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env1) - (FStar_Options.Other "Patterns") in - if uu____19619 + (FStar_Options.Other "Patterns") + in + if uu____19706 then - let uu____19624 = + let uu____19711 = FStar_Syntax_Print.term_to_string - simple_pat_e1 in - let uu____19626 = + simple_pat_e1 + in + let uu____19713 = FStar_Syntax_Print.term_to_string - simple_pat_t in - let uu____19628 = - let uu____19630 = + simple_pat_t + in + let uu____19715 = + let uu____19717 = FStar_List.map - (fun x -> - let uu____19638 = - let uu____19640 = + (fun x -> + let uu____19725 = + let uu____19727 = FStar_Syntax_Print.bv_to_string - x in - let uu____19642 = - let uu____19644 = - let uu____19646 = + x + in + let uu____19729 = + let uu____19731 = + let uu____19733 = FStar_Syntax_Print.term_to_string - x.FStar_Syntax_Syntax.sort in - Prims.op_Hat uu____19646 ")" in - Prims.op_Hat " : " uu____19644 in - Prims.op_Hat uu____19640 - uu____19642 in - Prims.op_Hat "(" uu____19638) - simple_bvs1 in - FStar_All.pipe_right uu____19630 - (FStar_String.concat " ") in + x.FStar_Syntax_Syntax.sort + in + Prims.op_Hat uu____19733 ")" + in + Prims.op_Hat " : " uu____19731 + in + Prims.op_Hat uu____19727 + uu____19729 + in + Prims.op_Hat "(" uu____19725) + simple_bvs1 + in + FStar_All.pipe_right uu____19717 + (FStar_String.concat " ") + in FStar_Util.print3 "$$$$$$$$$$$$Checked simple pattern %s at type %s with bvs=%s\n" - uu____19624 uu____19626 uu____19628 + uu____19711 uu____19713 uu____19715 else ()); - (simple_pat_e1, simple_bvs1, guard1)) in - match uu____19579 with - | (simple_pat_e1, simple_bvs1, g1) -> - let uu____19678 = - let uu____19700 = - let uu____19722 = - FStar_TypeChecker_Env.conj_guard g0 g1 in - (env1, [], [], [], uu____19722) in + (simple_pat_e1, simple_bvs1, guard1)) + in + match uu____19666 with + | (simple_pat_e1,simple_bvs1,g1) -> + let uu____19765 = + let uu____19787 = + let uu____19809 = + FStar_TypeChecker_Env.conj_guard g0 g1 in + (env1, [], [], [], uu____19809) in FStar_List.fold_left2 - (fun uu____19783 -> - fun uu____19784 -> - fun x -> - match (uu____19783, uu____19784) with - | ((env2, bvs, pats, subst1, g), - (p1, b)) -> + (fun uu____19870 -> + fun uu____19871 -> + fun x -> + match (uu____19870, uu____19871) with + | ((env2,bvs,pats,subst1,g),(p1,b)) -> let expected_t = FStar_Syntax_Subst.subst subst1 - x.FStar_Syntax_Syntax.sort in - let uu____19917 = + x.FStar_Syntax_Syntax.sort + in + let uu____20004 = check_nested_pattern env2 p1 - expected_t in - (match uu____19917 with - | (bvs_p, e_p, p2, g') -> + expected_t + in + (match uu____20004 with + | (bvs_p,e_p,p2,g') -> let env3 = FStar_TypeChecker_Env.push_bvs - env2 bvs_p in - let uu____19958 = + env2 bvs_p + in + let uu____20045 = FStar_TypeChecker_Env.conj_guard - g g' in + g g' + in (env3, (FStar_List.append bvs bvs_p), (FStar_List.append pats [(p2, b)]), ((FStar_Syntax_Syntax.NT (x, e_p)) :: subst1), - uu____19958))) uu____19700 - sub_pats1 simple_bvs1 in - (match uu____19678 with - | (_env, bvs, checked_sub_pats, subst1, g) -> + uu____20045))) uu____19787 + sub_pats1 simple_bvs1 + in + (match uu____19765 with + | (_env,bvs,checked_sub_pats,subst1,g) -> let pat_e = FStar_Syntax_Subst.subst subst1 - simple_pat_e1 in + simple_pat_e1 + in let reconstruct_nested_pat pat = let rec aux simple_pats bvs1 sub_pats2 = match simple_pats with | [] -> [] - | (hd1, b)::simple_pats1 -> + | (hd1,b)::simple_pats1 -> (match hd1.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_dot_term - (x, e) -> + (x,e) -> let e1 = FStar_Syntax_Subst.subst subst1 - e in + e + in let hd2 = - let uu___2557_20170 = hd1 in + let uu___2577_20257 = hd1 in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_dot_term (x, e1)); FStar_Syntax_Syntax.p = - (uu___2557_20170.FStar_Syntax_Syntax.p) - } in - let uu____20175 = - aux simple_pats1 bvs1 sub_pats2 in - (hd2, b) :: uu____20175 + (uu___2577_20257.FStar_Syntax_Syntax.p) + } in + let uu____20262 = + aux simple_pats1 bvs1 sub_pats2 + in + (hd2, b) :: uu____20262 | FStar_Syntax_Syntax.Pat_var x -> (match (bvs1, sub_pats2) with - | (x'::bvs2, - (hd2, uu____20219)::sub_pats3) + | (x'::bvs2,(hd2,uu____20306)::sub_pats3) when FStar_Syntax_Syntax.bv_eq x x' -> - let uu____20256 = + let uu____20343 = aux simple_pats1 bvs2 - sub_pats3 in - (hd2, b) :: uu____20256 - | uu____20276 -> + sub_pats3 + in + (hd2, b) :: uu____20343 + | uu____20363 -> failwith "Impossible: simple pat variable mismatch") - | uu____20302 -> + | uu____20389 -> failwith - "Impossible: expected a simple pattern") in + "Impossible: expected a simple pattern") + in match pat.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_cons - (fv1, simple_pats) -> + (fv1,simple_pats) -> let nested_pats = aux simple_pats simple_bvs1 - checked_sub_pats in - let uu___2578_20345 = pat in + checked_sub_pats + in + let uu___2598_20432 = pat in { FStar_Syntax_Syntax.v = (FStar_Syntax_Syntax.Pat_cons (fv1, nested_pats)); FStar_Syntax_Syntax.p = - (uu___2578_20345.FStar_Syntax_Syntax.p) + (uu___2598_20432.FStar_Syntax_Syntax.p) } - | uu____20357 -> failwith "Impossible" in - let uu____20361 = - reconstruct_nested_pat simple_pat_elab in - (bvs, pat_e, uu____20361, g)))))) in - (let uu____20365 = + | uu____20444 -> failwith "Impossible" in + let uu____20448 = + reconstruct_nested_pat simple_pat_elab in + (bvs, pat_e, uu____20448, g)))))) + in + (let uu____20452 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Patterns") in - if uu____20365 + (FStar_Options.Other "Patterns") + in + if uu____20452 then - let uu____20370 = FStar_Syntax_Print.pat_to_string p0 in - FStar_Util.print1 "Checking pattern: %s\n" uu____20370 + let uu____20457 = FStar_Syntax_Print.pat_to_string p0 in + FStar_Util.print1 "Checking pattern: %s\n" uu____20457 else ()); - (let uu____20375 = - let uu____20386 = - let uu___2583_20387 = - let uu____20388 = FStar_TypeChecker_Env.clear_expected_typ env in - FStar_All.pipe_right uu____20388 FStar_Pervasives_Native.fst in + (let uu____20462 = + let uu____20473 = + let uu___2603_20474 = + let uu____20475 = FStar_TypeChecker_Env.clear_expected_typ env + in + FStar_All.pipe_right uu____20475 FStar_Pervasives_Native.fst + in { FStar_TypeChecker_Env.solver = - (uu___2583_20387.FStar_TypeChecker_Env.solver); + (uu___2603_20474.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___2583_20387.FStar_TypeChecker_Env.range); + (uu___2603_20474.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___2583_20387.FStar_TypeChecker_Env.curmodule); + (uu___2603_20474.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___2583_20387.FStar_TypeChecker_Env.gamma); + (uu___2603_20474.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___2583_20387.FStar_TypeChecker_Env.gamma_sig); + (uu___2603_20474.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___2583_20387.FStar_TypeChecker_Env.gamma_cache); + (uu___2603_20474.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___2583_20387.FStar_TypeChecker_Env.modules); + (uu___2603_20474.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___2583_20387.FStar_TypeChecker_Env.expected_typ); + (uu___2603_20474.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___2583_20387.FStar_TypeChecker_Env.sigtab); + (uu___2603_20474.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___2583_20387.FStar_TypeChecker_Env.attrtab); + (uu___2603_20474.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___2583_20387.FStar_TypeChecker_Env.is_pattern); + (uu___2603_20474.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___2583_20387.FStar_TypeChecker_Env.instantiate_imp); + (uu___2603_20474.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___2583_20387.FStar_TypeChecker_Env.effects); + (uu___2603_20474.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___2583_20387.FStar_TypeChecker_Env.generalize); + (uu___2603_20474.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___2583_20387.FStar_TypeChecker_Env.letrecs); + (uu___2603_20474.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___2583_20387.FStar_TypeChecker_Env.top_level); + (uu___2603_20474.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___2583_20387.FStar_TypeChecker_Env.check_uvars); + (uu___2603_20474.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = true; FStar_TypeChecker_Env.is_iface = - (uu___2583_20387.FStar_TypeChecker_Env.is_iface); + (uu___2603_20474.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___2583_20387.FStar_TypeChecker_Env.admit); + (uu___2603_20474.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___2583_20387.FStar_TypeChecker_Env.lax); + (uu___2603_20474.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___2583_20387.FStar_TypeChecker_Env.lax_universes); + (uu___2603_20474.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___2583_20387.FStar_TypeChecker_Env.phase1); + (uu___2603_20474.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___2583_20387.FStar_TypeChecker_Env.failhard); + (uu___2603_20474.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___2583_20387.FStar_TypeChecker_Env.nosynth); + (uu___2603_20474.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___2583_20387.FStar_TypeChecker_Env.uvar_subtyping); + (uu___2603_20474.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___2583_20387.FStar_TypeChecker_Env.tc_term); + (uu___2603_20474.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___2583_20387.FStar_TypeChecker_Env.type_of); + (uu___2603_20474.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___2583_20387.FStar_TypeChecker_Env.universe_of); + (uu___2603_20474.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___2583_20387.FStar_TypeChecker_Env.check_type_of); + (uu___2603_20474.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___2583_20387.FStar_TypeChecker_Env.use_bv_sorts); + (uu___2603_20474.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___2583_20387.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___2603_20474.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___2583_20387.FStar_TypeChecker_Env.normalized_eff_names); + (uu___2603_20474.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___2583_20387.FStar_TypeChecker_Env.fv_delta_depths); + (uu___2603_20474.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___2583_20387.FStar_TypeChecker_Env.proof_ns); + (uu___2603_20474.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___2583_20387.FStar_TypeChecker_Env.synth_hook); + (uu___2603_20474.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___2583_20387.FStar_TypeChecker_Env.splice); + (uu___2603_20474.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___2583_20387.FStar_TypeChecker_Env.postprocess); + (uu___2603_20474.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___2583_20387.FStar_TypeChecker_Env.is_native_tactic); + (uu___2603_20474.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___2583_20387.FStar_TypeChecker_Env.identifier_info); + (uu___2603_20474.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___2583_20387.FStar_TypeChecker_Env.tc_hooks); + (uu___2603_20474.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___2583_20387.FStar_TypeChecker_Env.dsenv); + (uu___2603_20474.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___2583_20387.FStar_TypeChecker_Env.nbe) - } in - let uu____20404 = - FStar_TypeChecker_PatternUtils.elaborate_pat env p0 in - check_nested_pattern uu____20386 uu____20404 pat_t in - match uu____20375 with - | (bvs, pat_e, pat, g) -> - ((let uu____20428 = + (uu___2603_20474.FStar_TypeChecker_Env.nbe) + } in + let uu____20491 = + FStar_TypeChecker_PatternUtils.elaborate_pat env p0 in + check_nested_pattern uu____20473 uu____20491 pat_t in + match uu____20462 with + | (bvs,pat_e,pat,g) -> + ((let uu____20515 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Patterns") in - if uu____20428 + (FStar_Options.Other "Patterns") + in + if uu____20515 then - let uu____20433 = FStar_Syntax_Print.pat_to_string pat in - let uu____20435 = FStar_Syntax_Print.term_to_string pat_e in + let uu____20520 = FStar_Syntax_Print.pat_to_string pat in + let uu____20522 = FStar_Syntax_Print.term_to_string pat_e + in FStar_Util.print2 - "Done checking pattern %s as expression %s\n" uu____20433 - uu____20435 + "Done checking pattern %s as expression %s\n" uu____20520 + uu____20522 else ()); - (let uu____20440 = FStar_TypeChecker_Env.push_bvs env bvs in - let uu____20441 = + (let uu____20527 = FStar_TypeChecker_Env.push_bvs env bvs in + let uu____20528 = FStar_TypeChecker_Normalize.normalize - [FStar_TypeChecker_Env.Beta] env pat_e in - (pat, bvs, uu____20440, pat_e, uu____20441, g)))) + [FStar_TypeChecker_Env.Beta] env pat_e + in + (pat, bvs, uu____20527, pat_e, uu____20528, g)))) + and (tc_eqn : FStar_Syntax_Syntax.bv -> FStar_TypeChecker_Env.env -> @@ -6362,222 +7114,257 @@ and (tc_eqn : (Prims.bool -> FStar_Syntax_Syntax.lcomp) * FStar_TypeChecker_Env.guard_t)) = - fun scrutinee -> - fun env -> - fun branch1 -> - let uu____20487 = FStar_Syntax_Subst.open_branch branch1 in - match uu____20487 with - | (pattern, when_clause, branch_exp) -> - let uu____20533 = branch1 in - (match uu____20533 with - | (cpat, uu____20575, cbr) -> - let pat_t = scrutinee.FStar_Syntax_Syntax.sort in - let scrutinee_tm = FStar_Syntax_Syntax.bv_to_name scrutinee in - let uu____20597 = - let uu____20604 = - FStar_TypeChecker_Env.push_bv env scrutinee in - FStar_All.pipe_right uu____20604 - FStar_TypeChecker_Env.clear_expected_typ in - (match uu____20597 with - | (scrutinee_env, uu____20638) -> - let uu____20643 = tc_pat env pat_t pattern in - (match uu____20643 with - | (pattern1, pat_bvs1, pat_env, pat_exp, norm_pat_exp, - guard_pat) -> - let uu____20694 = + fun scrutinee -> + fun env -> + fun branch1 -> + let uu____20574 = FStar_Syntax_Subst.open_branch branch1 in + match uu____20574 with + | (pattern,when_clause,branch_exp) -> + let uu____20620 = branch1 in + (match uu____20620 with + | (cpat,uu____20662,cbr) -> + let pat_t = scrutinee.FStar_Syntax_Syntax.sort in + let scrutinee_tm = FStar_Syntax_Syntax.bv_to_name scrutinee + in + let uu____20684 = + let uu____20691 = + FStar_TypeChecker_Env.push_bv env scrutinee in + FStar_All.pipe_right uu____20691 + FStar_TypeChecker_Env.clear_expected_typ + in + (match uu____20684 with + | (scrutinee_env,uu____20725) -> + let uu____20730 = tc_pat env pat_t pattern in + (match uu____20730 with + | (pattern1,pat_bvs1,pat_env,pat_exp,norm_pat_exp,guard_pat) + -> + let uu____20781 = match when_clause with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> (FStar_Pervasives_Native.None, FStar_TypeChecker_Env.trivial_guard) | FStar_Pervasives_Native.Some e -> - let uu____20724 = - FStar_TypeChecker_Env.should_verify env in - if uu____20724 + let uu____20811 = + FStar_TypeChecker_Env.should_verify env + in + if uu____20811 then FStar_Errors.raise_error (FStar_Errors.Fatal_WhenClauseNotSupported, "When clauses are not yet supported in --verify mode; they will be some day") e.FStar_Syntax_Syntax.pos else - (let uu____20747 = - let uu____20754 = + (let uu____20834 = + let uu____20841 = FStar_TypeChecker_Env.set_expected_typ - pat_env FStar_Syntax_Util.t_bool in - tc_term uu____20754 e in - match uu____20747 with - | (e1, c, g) -> + pat_env FStar_Syntax_Util.t_bool + in + tc_term uu____20841 e in + match uu____20834 with + | (e1,c,g) -> ((FStar_Pervasives_Native.Some e1), - g)) in - (match uu____20694 with - | (when_clause1, g_when) -> - let uu____20808 = tc_term pat_env branch_exp in - (match uu____20808 with - | (branch_exp1, c, g_branch) -> + g)) + in + (match uu____20781 with + | (when_clause1,g_when) -> + let uu____20895 = tc_term pat_env branch_exp + in + (match uu____20895 with + | (branch_exp1,c,g_branch) -> (FStar_TypeChecker_Env.def_check_guard_wf cbr.FStar_Syntax_Syntax.pos "tc_eqn.1" pat_env g_branch; (let when_condition = match when_clause1 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some w -> - let uu____20864 = + let uu____20951 = FStar_Syntax_Util.mk_eq2 FStar_Syntax_Syntax.U_zero FStar_Syntax_Util.t_bool w - FStar_Syntax_Util.exp_true_bool in + FStar_Syntax_Util.exp_true_bool + in FStar_All.pipe_left - (fun _20875 -> + (fun _20962 -> FStar_Pervasives_Native.Some - _20875) uu____20864 in - let uu____20876 = + _20962) uu____20951 + in + let uu____20963 = let eqs = - let uu____20898 = - let uu____20900 = + let uu____20985 = + let uu____20987 = FStar_TypeChecker_Env.should_verify - env in - Prims.op_Negation uu____20900 in - if uu____20898 + env + in + Prims.op_Negation uu____20987 + in + if uu____20985 then FStar_Pervasives_Native.None else (let e = FStar_Syntax_Subst.compress - pat_exp in + pat_exp + in match e.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_uvar - uu____20916 -> + uu____21003 -> FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Tm_constant - uu____20931 -> + uu____21018 -> FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Tm_fvar - uu____20934 -> + uu____21021 -> FStar_Pervasives_Native.None - | uu____20937 -> - let uu____20938 = - let uu____20941 = + | uu____21024 -> + let uu____21025 = + let uu____21028 = env.FStar_TypeChecker_Env.universe_of - env pat_t in + env pat_t + in FStar_Syntax_Util.mk_eq2 - uu____20941 pat_t - scrutinee_tm e in + uu____21028 pat_t + scrutinee_tm e + in FStar_Pervasives_Native.Some - uu____20938) in - let uu____20944 = + uu____21025) + in + let uu____21031 = FStar_TypeChecker_Util.strengthen_precondition FStar_Pervasives_Native.None env - branch_exp1 c g_branch in - match uu____20944 with - | (c1, g_branch1) -> - let uu____20971 = + branch_exp1 c g_branch + in + match uu____21031 with + | (c1,g_branch1) -> + let uu____21058 = match (eqs, when_condition) with - | uu____20988 when - let uu____21001 = + | uu____21075 when + let uu____21088 = FStar_TypeChecker_Env.should_verify - env in + env + in Prims.op_Negation - uu____21001 - -> (c1, g_when) - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.None) + uu____21088 -> (c1, g_when) + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.None + ) -> (c1, g_when) | (FStar_Pervasives_Native.Some - f, - FStar_Pervasives_Native.None) - -> + f,FStar_Pervasives_Native.None + ) -> let gf = FStar_TypeChecker_Common.NonTrivial - f in + f + in let g = FStar_TypeChecker_Env.guard_of_guard_formula - gf in - let uu____21032 = + gf + in + let uu____21119 = FStar_TypeChecker_Util.weaken_precondition - env c1 gf in - let uu____21033 = + env c1 gf + in + let uu____21120 = FStar_TypeChecker_Env.imp_guard - g g_when in - (uu____21032, uu____21033) + g g_when + in + (uu____21119, uu____21120) | (FStar_Pervasives_Native.Some - f, - FStar_Pervasives_Native.Some + f,FStar_Pervasives_Native.Some w) -> let g_f = FStar_TypeChecker_Common.NonTrivial - f in + f + in let g_fw = - let uu____21054 = + let uu____21141 = FStar_Syntax_Util.mk_conj - f w in + f w + in FStar_TypeChecker_Common.NonTrivial - uu____21054 in - let uu____21055 = + uu____21141 + in + let uu____21142 = FStar_TypeChecker_Util.weaken_precondition - env c1 g_fw in - let uu____21056 = - let uu____21057 = + env c1 g_fw + in + let uu____21143 = + let uu____21144 = FStar_TypeChecker_Env.guard_of_guard_formula - g_f in + g_f + in FStar_TypeChecker_Env.imp_guard - uu____21057 g_when in - (uu____21055, uu____21056) - | (FStar_Pervasives_Native.None, - FStar_Pervasives_Native.Some + uu____21144 g_when + in + (uu____21142, uu____21143) + | (FStar_Pervasives_Native.None + ,FStar_Pervasives_Native.Some w) -> let g_w = FStar_TypeChecker_Common.NonTrivial - w in + w + in let g = FStar_TypeChecker_Env.guard_of_guard_formula - g_w in - let uu____21075 = + g_w + in + let uu____21162 = FStar_TypeChecker_Util.weaken_precondition - env c1 g_w in - (uu____21075, g_when) in - (match uu____20971 with - | (c_weak, g_when_weak) -> + env c1 g_w + in + (uu____21162, g_when) + in + (match uu____21058 with + | (c_weak,g_when_weak) -> let binders = FStar_List.map FStar_Syntax_Syntax.mk_binder - pat_bvs1 in + pat_bvs1 + in let maybe_return_c_weak should_return1 = let c_weak1 = - let uu____21118 = + let uu____21205 = should_return1 && (FStar_Syntax_Util.is_pure_or_ghost_lcomp - c_weak) in - if uu____21118 + c_weak) + in + if uu____21205 then FStar_TypeChecker_Util.maybe_assume_result_eq_pure_term env branch_exp1 c_weak - else c_weak in + else c_weak in FStar_TypeChecker_Util.close_lcomp - env pat_bvs1 c_weak1 in - let uu____21123 = + env pat_bvs1 c_weak1 + in + let uu____21210 = FStar_TypeChecker_Env.close_guard - env binders g_when_weak in - let uu____21124 = + env binders g_when_weak + in + let uu____21211 = FStar_TypeChecker_Env.conj_guard - guard_pat g_branch1 in + guard_pat g_branch1 + in ((c_weak.FStar_Syntax_Syntax.eff_name), (c_weak.FStar_Syntax_Syntax.cflags), maybe_return_c_weak, - uu____21123, uu____21124)) in - match uu____20876 with - | (effect_label, cflags, - maybe_return_c, g_when1, g_branch1) + uu____21210, uu____21211)) + in + match uu____20963 with + | (effect_label,cflags,maybe_return_c,g_when1,g_branch1) -> let branch_guard = - let uu____21175 = - let uu____21177 = + let uu____21262 = + let uu____21264 = FStar_TypeChecker_Env.should_verify - env in - Prims.op_Negation uu____21177 in - if uu____21175 + env + in + Prims.op_Negation uu____21264 + in + if uu____21262 then FStar_Syntax_Util.t_true else (let rec build_branch_guard @@ -6585,15 +7372,17 @@ and (tc_eqn : pat_exp1 = let discriminate scrutinee_tm2 f = - let uu____21231 = - let uu____21239 = + let uu____21318 = + let uu____21326 = FStar_TypeChecker_Env.typ_of_datacon env - f.FStar_Syntax_Syntax.v in + f.FStar_Syntax_Syntax.v + in FStar_TypeChecker_Env.datacons_of_typ - env uu____21239 in - match uu____21231 with - | (is_induc, datacons) -> + env uu____21326 + in + match uu____21318 with + | (is_induc,datacons) -> if (Prims.op_Negation is_induc) @@ -6605,64 +7394,77 @@ and (tc_eqn : then let discriminator = FStar_Syntax_Util.mk_discriminator - f.FStar_Syntax_Syntax.v in - let uu____21255 = + f.FStar_Syntax_Syntax.v + in + let uu____21342 = FStar_TypeChecker_Env.try_lookup_lid env - discriminator in - (match uu____21255 + discriminator + in + (match uu____21342 with | FStar_Pervasives_Native.None - -> [] - | uu____21276 -> + -> [] + | uu____21363 -> let disc = FStar_Syntax_Syntax.fvar discriminator (FStar_Syntax_Syntax.Delta_equational_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in let disc1 = - let uu____21292 + let uu____21379 = - let uu____21297 + let uu____21384 = - let uu____21298 + let uu____21385 = FStar_Syntax_Syntax.as_arg - scrutinee_tm2 in - [uu____21298] in + scrutinee_tm2 + in + [uu____21385] + in FStar_Syntax_Syntax.mk_Tm_app disc - uu____21297 in - uu____21292 + uu____21384 + in + uu____21379 FStar_Pervasives_Native.None - scrutinee_tm2.FStar_Syntax_Syntax.pos in - let uu____21323 + scrutinee_tm2.FStar_Syntax_Syntax.pos + in + let uu____21410 = FStar_Syntax_Util.mk_eq2 FStar_Syntax_Syntax.U_zero FStar_Syntax_Util.t_bool disc1 - FStar_Syntax_Util.exp_true_bool in - [uu____21323]) - else [] in - let fail1 uu____21331 = - let uu____21332 = - let uu____21334 = + FStar_Syntax_Util.exp_true_bool + in + [uu____21410]) + else [] + in + let fail1 uu____21418 = + let uu____21419 = + let uu____21421 = FStar_Range.string_of_range - pat_exp1.FStar_Syntax_Syntax.pos in - let uu____21336 = + pat_exp1.FStar_Syntax_Syntax.pos + in + let uu____21423 = FStar_Syntax_Print.term_to_string - pat_exp1 in - let uu____21338 = + pat_exp1 + in + let uu____21425 = FStar_Syntax_Print.tag_of_term - pat_exp1 in + pat_exp1 + in FStar_Util.format3 "tc_eqn: Impossible (%s) %s (%s)" - uu____21334 - uu____21336 - uu____21338 in - failwith uu____21332 in + uu____21421 + uu____21423 + uu____21425 + in + failwith uu____21419 in let rec head_constructor t = match t.FStar_Syntax_Syntax.n @@ -6671,406 +7473,462 @@ and (tc_eqn : fv -> fv.FStar_Syntax_Syntax.fv_name | FStar_Syntax_Syntax.Tm_uinst - (t1, uu____21353) -> + (t1,uu____21440) -> head_constructor t1 - | uu____21358 -> fail1 () in + | uu____21445 -> fail1 () + in let force_scrutinee - uu____21364 = + uu____21451 = match scrutinee_tm1 with | FStar_Pervasives_Native.None - -> - let uu____21365 = - let uu____21367 = + -> + let uu____21452 = + let uu____21454 = FStar_Range.string_of_range - pattern2.FStar_Syntax_Syntax.p in - let uu____21369 = + pattern2.FStar_Syntax_Syntax.p + in + let uu____21456 = FStar_Syntax_Print.pat_to_string - pattern2 in + pattern2 + in FStar_Util.format2 "Impossible (%s): scrutinee of match is not defined %s" - uu____21367 - uu____21369 in - failwith uu____21365 + uu____21454 + uu____21456 + in + failwith uu____21452 | FStar_Pervasives_Native.Some - t -> t in + t -> t + in let pat_exp2 = - let uu____21376 = + let uu____21463 = FStar_Syntax_Subst.compress - pat_exp1 in + pat_exp1 + in FStar_All.pipe_right - uu____21376 - FStar_Syntax_Util.unmeta in + uu____21463 + FStar_Syntax_Util.unmeta + in match ((pattern2.FStar_Syntax_Syntax.v), (pat_exp2.FStar_Syntax_Syntax.n)) with - | (uu____21381, - FStar_Syntax_Syntax.Tm_name - uu____21382) -> [] - | (uu____21383, - FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_unit)) - -> [] + | (uu____21468,FStar_Syntax_Syntax.Tm_name + uu____21469) -> [] + | (uu____21470,FStar_Syntax_Syntax.Tm_constant + (FStar_Const.Const_unit + )) -> [] | (FStar_Syntax_Syntax.Pat_constant - _c, - FStar_Syntax_Syntax.Tm_constant + _c,FStar_Syntax_Syntax.Tm_constant c1) -> - let uu____21386 = - let uu____21387 = + let uu____21473 = + let uu____21474 = tc_constant env pat_exp2.FStar_Syntax_Syntax.pos - c1 in - let uu____21388 = - force_scrutinee () in + c1 + in + let uu____21475 = + force_scrutinee () + in FStar_Syntax_Util.mk_eq2 FStar_Syntax_Syntax.U_zero - uu____21387 - uu____21388 - pat_exp2 in - [uu____21386] + uu____21474 + uu____21475 + pat_exp2 + in + [uu____21473] | (FStar_Syntax_Syntax.Pat_constant (FStar_Const.Const_int - (uu____21389, - FStar_Pervasives_Native.Some - uu____21390)), - uu____21391) -> - let uu____21408 = - let uu____21415 = + (uu____21476,FStar_Pervasives_Native.Some + uu____21477)),uu____21478) + -> + let uu____21495 = + let uu____21502 = FStar_TypeChecker_Env.clear_expected_typ - env in - match uu____21415 + env + in + match uu____21502 with - | (env1, uu____21429) + | (env1,uu____21516) -> env1.FStar_TypeChecker_Env.type_of - env1 pat_exp2 in - (match uu____21408 with - | (uu____21436, t, - uu____21438) -> - let uu____21439 = - let uu____21440 + env1 pat_exp2 + in + (match uu____21495 with + | (uu____21523,t,uu____21525) + -> + let uu____21526 = + let uu____21527 = force_scrutinee - () in + () + in FStar_Syntax_Util.mk_eq2 FStar_Syntax_Syntax.U_zero - t uu____21440 - pat_exp2 in - [uu____21439]) + t uu____21527 + pat_exp2 + in + [uu____21526]) | (FStar_Syntax_Syntax.Pat_cons - (uu____21441, []), - FStar_Syntax_Syntax.Tm_uinst - uu____21442) -> + (uu____21528,[]),FStar_Syntax_Syntax.Tm_uinst + uu____21529) -> let f = head_constructor - pat_exp2 in - let uu____21466 = - let uu____21468 = + pat_exp2 + in + let uu____21553 = + let uu____21555 = FStar_TypeChecker_Env.is_datacon env - f.FStar_Syntax_Syntax.v in + f.FStar_Syntax_Syntax.v + in Prims.op_Negation - uu____21468 in - if uu____21466 + uu____21555 + in + if uu____21553 then failwith "Impossible: nullary patterns must be data constructors" else - (let uu____21478 = - force_scrutinee () in - let uu____21481 = + (let uu____21565 = + force_scrutinee () + in + let uu____21568 = head_constructor - pat_exp2 in + pat_exp2 + in discriminate - uu____21478 - uu____21481) + uu____21565 + uu____21568) | (FStar_Syntax_Syntax.Pat_cons - (uu____21484, []), - FStar_Syntax_Syntax.Tm_fvar - uu____21485) -> + (uu____21571,[]),FStar_Syntax_Syntax.Tm_fvar + uu____21572) -> let f = head_constructor - pat_exp2 in - let uu____21503 = - let uu____21505 = + pat_exp2 + in + let uu____21590 = + let uu____21592 = FStar_TypeChecker_Env.is_datacon env - f.FStar_Syntax_Syntax.v in + f.FStar_Syntax_Syntax.v + in Prims.op_Negation - uu____21505 in - if uu____21503 + uu____21592 + in + if uu____21590 then failwith "Impossible: nullary patterns must be data constructors" else - (let uu____21515 = - force_scrutinee () in - let uu____21518 = + (let uu____21602 = + force_scrutinee () + in + let uu____21605 = head_constructor - pat_exp2 in + pat_exp2 + in discriminate - uu____21515 - uu____21518) + uu____21602 + uu____21605) | (FStar_Syntax_Syntax.Pat_cons - (uu____21521, pat_args), - FStar_Syntax_Syntax.Tm_app - (head1, args)) -> + (uu____21608,pat_args),FStar_Syntax_Syntax.Tm_app + (head1,args)) -> let f = head_constructor - head1 in - let uu____21568 = - (let uu____21572 = + head1 + in + let uu____21655 = + (let uu____21659 = FStar_TypeChecker_Env.is_datacon env - f.FStar_Syntax_Syntax.v in + f.FStar_Syntax_Syntax.v + in Prims.op_Negation - uu____21572) + uu____21659) || ((FStar_List.length pat_args) <> (FStar_List.length - args)) in - if uu____21568 + args)) + in + if uu____21655 then failwith "Impossible: application patterns must be fully-applied data constructors" else (let sub_term_guards = - let uu____21600 = - let uu____21605 + let uu____21687 = + let uu____21692 = FStar_List.zip pat_args - args in + args + in FStar_All.pipe_right - uu____21605 + uu____21692 (FStar_List.mapi - (fun i -> + (fun i -> fun - uu____21691 - -> - match uu____21691 + uu____21778 + -> + match uu____21778 with | - ((pi, - uu____21713), - (ei, - uu____21715)) + ((pi,uu____21800), + (ei,uu____21802)) -> let projector = FStar_TypeChecker_Env.lookup_projector env f.FStar_Syntax_Syntax.v - i in + i in let scrutinee_tm2 = - let uu____21743 + let uu____21830 = FStar_TypeChecker_Env.try_lookup_lid env - projector in - match uu____21743 + projector + in + match uu____21830 with | FStar_Pervasives_Native.None - -> + -> FStar_Pervasives_Native.None | - uu____21764 + uu____21851 -> let proj = - let uu____21776 + let uu____21863 = FStar_Ident.set_lid_range projector - f.FStar_Syntax_Syntax.p in + f.FStar_Syntax_Syntax.p + in FStar_Syntax_Syntax.fvar - uu____21776 + uu____21863 (FStar_Syntax_Syntax.Delta_equational_at_level (Prims.parse_int "1")) - FStar_Pervasives_Native.None in - let uu____21778 + FStar_Pervasives_Native.None + in + let uu____21865 = - let uu____21779 + let uu____21866 = - let uu____21784 + let uu____21871 = - let uu____21785 + let uu____21872 = - let uu____21794 + let uu____21881 = force_scrutinee - () in + () in FStar_Syntax_Syntax.as_arg - uu____21794 in - [uu____21785] in + uu____21881 + in + [uu____21872] + in FStar_Syntax_Syntax.mk_Tm_app proj - uu____21784 in - uu____21779 + uu____21871 + in + uu____21866 FStar_Pervasives_Native.None - f.FStar_Syntax_Syntax.p in + f.FStar_Syntax_Syntax.p + in FStar_Pervasives_Native.Some - uu____21778 in + uu____21865 + in build_branch_guard scrutinee_tm2 - pi ei)) in + pi ei)) + in FStar_All.pipe_right - uu____21600 - FStar_List.flatten in - let uu____21817 = - let uu____21820 = + uu____21687 + FStar_List.flatten + in + let uu____21904 = + let uu____21907 = force_scrutinee - () in + () + in discriminate - uu____21820 f in + uu____21907 f + in FStar_List.append - uu____21817 + uu____21904 sub_term_guards) | (FStar_Syntax_Syntax.Pat_dot_term - uu____21823, - uu____21824) -> [] - | uu____21831 -> - let uu____21836 = - let uu____21838 = + uu____21910,uu____21911) + -> [] + | uu____21918 -> + let uu____21923 = + let uu____21925 = FStar_Syntax_Print.pat_to_string - pattern2 in - let uu____21840 = + pattern2 + in + let uu____21927 = FStar_Syntax_Print.term_to_string - pat_exp2 in + pat_exp2 + in FStar_Util.format2 "Internal error: unexpected elaborated pattern: %s and pattern expression %s" - uu____21838 - uu____21840 in - failwith uu____21836 in + uu____21925 + uu____21927 + in + failwith uu____21923 + in let build_and_check_branch_guard scrutinee_tm1 pattern2 pat = - let uu____21869 = - let uu____21871 = + let uu____21956 = + let uu____21958 = FStar_TypeChecker_Env.should_verify - env in + env + in Prims.op_Negation - uu____21871 in - if uu____21869 + uu____21958 + in + if uu____21956 then FStar_TypeChecker_Util.fvar_const env FStar_Parser_Const.true_lid else (let t = - let uu____21877 = + let uu____21964 = build_branch_guard scrutinee_tm1 - pattern2 pat in + pattern2 pat + in FStar_All.pipe_left FStar_Syntax_Util.mk_conj_l - uu____21877 in - let uu____21886 = + uu____21964 + in + let uu____21973 = FStar_Syntax_Util.type_u - () in - match uu____21886 with - | (k, uu____21892) -> - let uu____21893 = + () + in + match uu____21973 with + | (k,uu____21979) -> + let uu____21980 = tc_check_tot_or_gtot_term scrutinee_env t - k in - (match uu____21893 + k + in + (match uu____21980 with - | (t1, uu____21901, - uu____21902) -> - t1)) in + | (t1,uu____21988,uu____21989) + -> t1)) + in let branch_guard = build_and_check_branch_guard (FStar_Pervasives_Native.Some scrutinee_tm) pattern1 - norm_pat_exp in + norm_pat_exp + in let branch_guard1 = match when_condition with | FStar_Pervasives_Native.None - -> branch_guard + -> branch_guard | FStar_Pervasives_Native.Some w -> FStar_Syntax_Util.mk_conj - branch_guard w in - branch_guard1) in + branch_guard w + in + branch_guard1) + in let guard = FStar_TypeChecker_Env.conj_guard - g_when1 g_branch1 in - ((let uu____21914 = + g_when1 g_branch1 + in + ((let uu____22001 = FStar_TypeChecker_Env.debug - env FStar_Options.High in - if uu____21914 + env FStar_Options.High + in + if uu____22001 then - let uu____21917 = + let uu____22004 = FStar_TypeChecker_Rel.guard_to_string - env guard in + env guard + in FStar_All.pipe_left (FStar_Util.print1 "Carrying guard from match: %s\n") - uu____21917 + uu____22004 else ()); - (let uu____21923 = + (let uu____22010 = FStar_Syntax_Subst.close_branch (pattern1, when_clause1, - branch_exp1) in - let uu____21940 = - let uu____21941 = + branch_exp1) + in + let uu____22027 = + let uu____22028 = FStar_List.map FStar_Syntax_Syntax.mk_binder - pat_bvs1 in + pat_bvs1 + in FStar_TypeChecker_Util.close_guard_implicits - env uu____21941 guard in - (uu____21923, branch_guard, + env uu____22028 guard + in + (uu____22010, branch_guard, effect_label, cflags, - maybe_return_c, uu____21940)))))))))) + maybe_return_c, uu____22027)))))))))) + and (check_top_level_let : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - let env1 = instantiate_both env in + fun env -> + fun e -> + let env1 = instantiate_both env in match e.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), e2) -> - let uu____21988 = check_let_bound_def true env1 lb in - (match uu____21988 with - | (e1, univ_vars1, c1, g1, annotated) -> - let uu____22014 = + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),e2) -> + let uu____22075 = check_let_bound_def true env1 lb in + (match uu____22075 with + | (e1,univ_vars1,c1,g1,annotated) -> + let uu____22101 = if annotated && (Prims.op_Negation env1.FStar_TypeChecker_Env.generalize) then - let uu____22036 = + let uu____22123 = FStar_TypeChecker_Normalize.reduce_uvar_solutions env1 - e1 in - (g1, uu____22036, univ_vars1, c1) + e1 + in + (g1, uu____22123, univ_vars1, c1) else (let g11 = - let uu____22042 = + let uu____22129 = FStar_TypeChecker_Rel.solve_deferred_constraints env1 - g1 in - FStar_All.pipe_right uu____22042 - (FStar_TypeChecker_Rel.resolve_implicits env1) in - let uu____22043 = - let uu____22056 = - let uu____22071 = - let uu____22080 = - let uu____22087 = - FStar_Syntax_Syntax.lcomp_comp c1 in + g1 + in + FStar_All.pipe_right uu____22129 + (FStar_TypeChecker_Rel.resolve_implicits env1) + in + let uu____22130 = + let uu____22143 = + let uu____22158 = + let uu____22167 = + let uu____22174 = + FStar_Syntax_Syntax.lcomp_comp c1 in ((lb.FStar_Syntax_Syntax.lbname), e1, - uu____22087) in - [uu____22080] in + uu____22174) + in + [uu____22167] in FStar_TypeChecker_Util.generalize env1 false - uu____22071 in - FStar_List.hd uu____22056 in - match uu____22043 with - | (uu____22123, univs1, e11, c11, gvs) -> + uu____22158 + in + FStar_List.hd uu____22143 in + match uu____22130 with + | (uu____22210,univs1,e11,c11,gvs) -> let g12 = FStar_All.pipe_left (FStar_TypeChecker_Env.map_guard g11) @@ -7080,58 +7938,64 @@ and (check_top_level_let : FStar_TypeChecker_Env.CompressUvars; FStar_TypeChecker_Env.NoFullNorm; FStar_TypeChecker_Env.Exclude - FStar_TypeChecker_Env.Zeta] env1) in + FStar_TypeChecker_Env.Zeta] env1) + in let g13 = - FStar_TypeChecker_Env.abstract_guard_n gvs g12 in - let uu____22137 = FStar_Syntax_Util.lcomp_of_comp c11 in - (g13, e11, univs1, uu____22137)) in - (match uu____22014 with - | (g11, e11, univ_vars2, c11) -> - let uu____22154 = - let uu____22163 = - FStar_TypeChecker_Env.should_verify env1 in - if uu____22163 + FStar_TypeChecker_Env.abstract_guard_n gvs g12 in + let uu____22224 = FStar_Syntax_Util.lcomp_of_comp c11 + in + (g13, e11, univs1, uu____22224)) + in + (match uu____22101 with + | (g11,e11,univ_vars2,c11) -> + let uu____22241 = + let uu____22250 = + FStar_TypeChecker_Env.should_verify env1 in + if uu____22250 then - let uu____22174 = - FStar_TypeChecker_Util.check_top_level env1 g11 c11 in - match uu____22174 with - | (ok, c12) -> + let uu____22261 = + FStar_TypeChecker_Util.check_top_level env1 g11 c11 + in + match uu____22261 with + | (ok,c12) -> (if ok then (e2, c12) else - ((let uu____22208 = - FStar_TypeChecker_Env.get_range env1 in - FStar_Errors.log_issue uu____22208 + ((let uu____22295 = + FStar_TypeChecker_Env.get_range env1 in + FStar_Errors.log_issue uu____22295 FStar_TypeChecker_Err.top_level_effect); - (let uu____22209 = + (let uu____22296 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta (e2, (FStar_Syntax_Syntax.Meta_desugared FStar_Syntax_Syntax.Masked_effect))) FStar_Pervasives_Native.None - e2.FStar_Syntax_Syntax.pos in - (uu____22209, c12)))) + e2.FStar_Syntax_Syntax.pos + in + (uu____22296, c12)))) else (FStar_TypeChecker_Rel.force_trivial_guard env1 g11; (let c = - let uu____22224 = - FStar_Syntax_Syntax.lcomp_comp c11 in - FStar_All.pipe_right uu____22224 + let uu____22311 = + FStar_Syntax_Syntax.lcomp_comp c11 in + FStar_All.pipe_right uu____22311 (FStar_TypeChecker_Normalize.normalize_comp [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.NoFullNorm; FStar_TypeChecker_Env.DoNotUnfoldPureLets] - env1) in + env1) + in let e21 = - let uu____22230 = - FStar_Syntax_Util.is_pure_comp c in - if uu____22230 + let uu____22317 = + FStar_Syntax_Util.is_pure_comp c in + if uu____22317 then e2 else - ((let uu____22238 = - FStar_TypeChecker_Env.get_range env1 in - FStar_Errors.log_issue uu____22238 + ((let uu____22325 = + FStar_TypeChecker_Env.get_range env1 in + FStar_Errors.log_issue uu____22325 FStar_TypeChecker_Err.top_level_effect); FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta @@ -7139,23 +8003,26 @@ and (check_top_level_let : (FStar_Syntax_Syntax.Meta_desugared FStar_Syntax_Syntax.Masked_effect))) FStar_Pervasives_Native.None - e2.FStar_Syntax_Syntax.pos) in - (e21, c))) in - (match uu____22154 with - | (e21, c12) -> - ((let uu____22262 = + e2.FStar_Syntax_Syntax.pos) + in + (e21, c))) + in + (match uu____22241 with + | (e21,c12) -> + ((let uu____22349 = FStar_TypeChecker_Env.debug env1 - FStar_Options.Medium in - if uu____22262 + FStar_Options.Medium + in + if uu____22349 then - let uu____22265 = - FStar_Syntax_Print.term_to_string e11 in + let uu____22352 = + FStar_Syntax_Print.term_to_string e11 in FStar_Util.print1 - "Let binding BEFORE tcnorm: %s\n" uu____22265 + "Let binding BEFORE tcnorm: %s\n" uu____22352 else ()); (let e12 = - let uu____22271 = FStar_Options.tcnorm () in - if uu____22271 + let uu____22358 = FStar_Options.tcnorm () in + if uu____22358 then FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldAttr @@ -7167,22 +8034,24 @@ and (check_top_level_let : FStar_TypeChecker_Env.NoFullNorm; FStar_TypeChecker_Env.DoNotUnfoldPureLets] env1 e11 - else e11 in - (let uu____22277 = + else e11 in + (let uu____22364 = FStar_TypeChecker_Env.debug env1 - FStar_Options.Medium in - if uu____22277 + FStar_Options.Medium + in + if uu____22364 then - let uu____22280 = - FStar_Syntax_Print.term_to_string e12 in + let uu____22367 = + FStar_Syntax_Print.term_to_string e12 in FStar_Util.print1 - "Let binding AFTER tcnorm: %s\n" uu____22280 + "Let binding AFTER tcnorm: %s\n" uu____22367 else ()); (let cres = FStar_TypeChecker_Env.null_wp_for_eff env1 (FStar_Syntax_Util.comp_effect_name c12) FStar_Syntax_Syntax.U_zero - FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Syntax.t_unit + in let lb1 = FStar_Syntax_Util.close_univs_and_mk_letbinding FStar_Pervasives_Native.None @@ -7190,384 +8059,429 @@ and (check_top_level_let : (FStar_Syntax_Util.comp_result c12) (FStar_Syntax_Util.comp_effect_name c12) e12 lb.FStar_Syntax_Syntax.lbattrs - lb.FStar_Syntax_Syntax.lbpos in - let uu____22289 = + lb.FStar_Syntax_Syntax.lbpos + in + let uu____22376 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let ((false, [lb1]), e21)) FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in - let uu____22303 = - FStar_Syntax_Util.lcomp_of_comp cres in - (uu____22289, uu____22303, + e.FStar_Syntax_Syntax.pos + in + let uu____22390 = + FStar_Syntax_Util.lcomp_of_comp cres in + (uu____22376, uu____22390, FStar_TypeChecker_Env.trivial_guard))))))) - | uu____22304 -> failwith "Impossible" + | uu____22391 -> failwith "Impossible" + and (maybe_intro_smt_lemma : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.lcomp) = - fun env -> - fun lem_typ -> - fun c2 -> - let uu____22315 = FStar_Syntax_Util.is_smt_lemma lem_typ in - if uu____22315 + fun env -> + fun lem_typ -> + fun c2 -> + let uu____22402 = FStar_Syntax_Util.is_smt_lemma lem_typ in + if uu____22402 then let universe_of_binders bs = - let uu____22342 = + let uu____22429 = FStar_List.fold_left - (fun uu____22367 -> - fun b -> - match uu____22367 with - | (env1, us) -> + (fun uu____22454 -> + fun b -> + match uu____22454 with + | (env1,us) -> let u = env1.FStar_TypeChecker_Env.universe_of env1 - (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort in + (FStar_Pervasives_Native.fst b).FStar_Syntax_Syntax.sort + in let env2 = - FStar_TypeChecker_Env.push_binders env1 [b] in - (env2, (u :: us))) (env, []) bs in - match uu____22342 with | (uu____22415, us) -> FStar_List.rev us in + FStar_TypeChecker_Env.push_binders env1 [b] in + (env2, (u :: us))) (env, []) bs + in + match uu____22429 with | (uu____22502,us) -> FStar_List.rev us + in let quant = - FStar_Syntax_Util.smt_lemma_as_forall lem_typ universe_of_binders in + FStar_Syntax_Util.smt_lemma_as_forall lem_typ universe_of_binders + in FStar_TypeChecker_Util.weaken_precondition env c2 (FStar_TypeChecker_Common.NonTrivial quant) else c2 + and (check_inner_let : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - let env1 = instantiate_both env in + fun env -> + fun e -> + let env1 = instantiate_both env in match e.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_let ((false, lb::[]), e2) -> + | FStar_Syntax_Syntax.Tm_let ((false ,lb::[]),e2) -> let env2 = - let uu___2895_22451 = env1 in + let uu___2915_22538 = env1 in { FStar_TypeChecker_Env.solver = - (uu___2895_22451.FStar_TypeChecker_Env.solver); + (uu___2915_22538.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___2895_22451.FStar_TypeChecker_Env.range); + (uu___2915_22538.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___2895_22451.FStar_TypeChecker_Env.curmodule); + (uu___2915_22538.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___2895_22451.FStar_TypeChecker_Env.gamma); + (uu___2915_22538.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___2895_22451.FStar_TypeChecker_Env.gamma_sig); + (uu___2915_22538.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___2895_22451.FStar_TypeChecker_Env.gamma_cache); + (uu___2915_22538.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___2895_22451.FStar_TypeChecker_Env.modules); + (uu___2915_22538.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___2895_22451.FStar_TypeChecker_Env.expected_typ); + (uu___2915_22538.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___2895_22451.FStar_TypeChecker_Env.sigtab); + (uu___2915_22538.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___2895_22451.FStar_TypeChecker_Env.attrtab); + (uu___2915_22538.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___2895_22451.FStar_TypeChecker_Env.is_pattern); + (uu___2915_22538.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___2895_22451.FStar_TypeChecker_Env.instantiate_imp); + (uu___2915_22538.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___2895_22451.FStar_TypeChecker_Env.effects); + (uu___2915_22538.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___2895_22451.FStar_TypeChecker_Env.generalize); + (uu___2915_22538.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___2895_22451.FStar_TypeChecker_Env.letrecs); + (uu___2915_22538.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = false; FStar_TypeChecker_Env.check_uvars = - (uu___2895_22451.FStar_TypeChecker_Env.check_uvars); + (uu___2915_22538.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___2895_22451.FStar_TypeChecker_Env.use_eq); + (uu___2915_22538.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___2895_22451.FStar_TypeChecker_Env.is_iface); + (uu___2915_22538.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___2895_22451.FStar_TypeChecker_Env.admit); + (uu___2915_22538.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___2895_22451.FStar_TypeChecker_Env.lax); + (uu___2915_22538.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___2895_22451.FStar_TypeChecker_Env.lax_universes); + (uu___2915_22538.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___2895_22451.FStar_TypeChecker_Env.phase1); + (uu___2915_22538.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___2895_22451.FStar_TypeChecker_Env.failhard); + (uu___2915_22538.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___2895_22451.FStar_TypeChecker_Env.nosynth); + (uu___2915_22538.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___2895_22451.FStar_TypeChecker_Env.uvar_subtyping); + (uu___2915_22538.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___2895_22451.FStar_TypeChecker_Env.tc_term); + (uu___2915_22538.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___2895_22451.FStar_TypeChecker_Env.type_of); + (uu___2915_22538.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___2895_22451.FStar_TypeChecker_Env.universe_of); + (uu___2915_22538.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___2895_22451.FStar_TypeChecker_Env.check_type_of); + (uu___2915_22538.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___2895_22451.FStar_TypeChecker_Env.use_bv_sorts); + (uu___2915_22538.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___2895_22451.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___2915_22538.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___2895_22451.FStar_TypeChecker_Env.normalized_eff_names); + (uu___2915_22538.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___2895_22451.FStar_TypeChecker_Env.fv_delta_depths); + (uu___2915_22538.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___2895_22451.FStar_TypeChecker_Env.proof_ns); + (uu___2915_22538.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___2895_22451.FStar_TypeChecker_Env.synth_hook); + (uu___2915_22538.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___2895_22451.FStar_TypeChecker_Env.splice); + (uu___2915_22538.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___2895_22451.FStar_TypeChecker_Env.postprocess); + (uu___2915_22538.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___2895_22451.FStar_TypeChecker_Env.is_native_tactic); + (uu___2915_22538.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___2895_22451.FStar_TypeChecker_Env.identifier_info); + (uu___2915_22538.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___2895_22451.FStar_TypeChecker_Env.tc_hooks); + (uu___2915_22538.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___2895_22451.FStar_TypeChecker_Env.dsenv); + (uu___2915_22538.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___2895_22451.FStar_TypeChecker_Env.nbe) - } in - let uu____22453 = - let uu____22465 = - let uu____22466 = FStar_TypeChecker_Env.clear_expected_typ env2 in - FStar_All.pipe_right uu____22466 FStar_Pervasives_Native.fst in - check_let_bound_def false uu____22465 lb in - (match uu____22453 with - | (e1, uu____22489, c1, g1, annotated) -> + (uu___2915_22538.FStar_TypeChecker_Env.nbe) + } in + let uu____22540 = + let uu____22552 = + let uu____22553 = FStar_TypeChecker_Env.clear_expected_typ env2 + in + FStar_All.pipe_right uu____22553 FStar_Pervasives_Native.fst + in + check_let_bound_def false uu____22552 lb in + (match uu____22540 with + | (e1,uu____22576,c1,g1,annotated) -> let pure_or_ghost = - FStar_Syntax_Util.is_pure_or_ghost_lcomp c1 in + FStar_Syntax_Util.is_pure_or_ghost_lcomp c1 in let is_inline_let = FStar_Util.for_some (FStar_Syntax_Util.is_fvar FStar_Parser_Const.inline_let_attr) - lb.FStar_Syntax_Syntax.lbattrs in + lb.FStar_Syntax_Syntax.lbattrs + in (if is_inline_let && (Prims.op_Negation pure_or_ghost) then - (let uu____22503 = - let uu____22509 = - let uu____22511 = FStar_Syntax_Print.term_to_string e1 in - let uu____22513 = + (let uu____22590 = + let uu____22596 = + let uu____22598 = FStar_Syntax_Print.term_to_string e1 + in + let uu____22600 = FStar_Syntax_Print.lid_to_string - c1.FStar_Syntax_Syntax.eff_name in + c1.FStar_Syntax_Syntax.eff_name + in FStar_Util.format2 "Definitions marked @inline_let are expected to be pure or ghost; got an expression \"%s\" with effect \"%s\"" - uu____22511 uu____22513 in - (FStar_Errors.Fatal_ExpectedPureExpression, uu____22509) in - FStar_Errors.raise_error uu____22503 + uu____22598 uu____22600 + in + (FStar_Errors.Fatal_ExpectedPureExpression, uu____22596) + in + FStar_Errors.raise_error uu____22590 e1.FStar_Syntax_Syntax.pos) else (); (let attrs = - let uu____22524 = + let uu____22611 = (pure_or_ghost && (Prims.op_Negation is_inline_let)) && (FStar_Syntax_Util.is_unit - c1.FStar_Syntax_Syntax.res_typ) in - if uu____22524 + c1.FStar_Syntax_Syntax.res_typ) + in + if uu____22611 then FStar_Syntax_Util.inline_let_attr :: (lb.FStar_Syntax_Syntax.lbattrs) - else lb.FStar_Syntax_Syntax.lbattrs in + else lb.FStar_Syntax_Syntax.lbattrs in let x = - let uu___2910_22536 = - FStar_Util.left lb.FStar_Syntax_Syntax.lbname in + let uu___2930_22623 = + FStar_Util.left lb.FStar_Syntax_Syntax.lbname in { FStar_Syntax_Syntax.ppname = - (uu___2910_22536.FStar_Syntax_Syntax.ppname); + (uu___2930_22623.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___2910_22536.FStar_Syntax_Syntax.index); + (uu___2930_22623.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = (c1.FStar_Syntax_Syntax.res_typ) - } in - let uu____22537 = - let uu____22542 = - let uu____22543 = FStar_Syntax_Syntax.mk_binder x in - [uu____22543] in - FStar_Syntax_Subst.open_term uu____22542 e2 in - match uu____22537 with - | (xb, e21) -> - let xbinder = FStar_List.hd xb in - let x1 = FStar_Pervasives_Native.fst xbinder in - let env_x = FStar_TypeChecker_Env.push_bv env2 x1 in - let uu____22587 = tc_term env_x e21 in - (match uu____22587 with - | (e22, c2, g2) -> + } in + let uu____22624 = + let uu____22629 = + let uu____22630 = FStar_Syntax_Syntax.mk_binder x in + [uu____22630] in + FStar_Syntax_Subst.open_term uu____22629 e2 in + match uu____22624 with + | (xb,e21) -> + let xbinder = FStar_List.hd xb in + let x1 = FStar_Pervasives_Native.fst xbinder in + let env_x = FStar_TypeChecker_Env.push_bv env2 x1 in + let uu____22674 = tc_term env_x e21 in + (match uu____22674 with + | (e22,c2,g2) -> let c21 = maybe_intro_smt_lemma env_x - c1.FStar_Syntax_Syntax.res_typ c2 in + c1.FStar_Syntax_Syntax.res_typ c2 + in let cres = FStar_TypeChecker_Util.maybe_return_e2_and_bind e1.FStar_Syntax_Syntax.pos env2 (FStar_Pervasives_Native.Some e1) c1 e22 - ((FStar_Pervasives_Native.Some x1), c21) in + ((FStar_Pervasives_Native.Some x1), c21) + in let e11 = FStar_TypeChecker_Util.maybe_lift env2 e1 c1.FStar_Syntax_Syntax.eff_name cres.FStar_Syntax_Syntax.eff_name - c1.FStar_Syntax_Syntax.res_typ in + c1.FStar_Syntax_Syntax.res_typ + in let e23 = FStar_TypeChecker_Util.maybe_lift env2 e22 c21.FStar_Syntax_Syntax.eff_name cres.FStar_Syntax_Syntax.eff_name - c21.FStar_Syntax_Syntax.res_typ in + c21.FStar_Syntax_Syntax.res_typ + in let lb1 = FStar_Syntax_Util.mk_letbinding (FStar_Util.Inl x1) [] c1.FStar_Syntax_Syntax.res_typ cres.FStar_Syntax_Syntax.eff_name e11 attrs - lb.FStar_Syntax_Syntax.lbpos in + lb.FStar_Syntax_Syntax.lbpos + in let e3 = - let uu____22613 = - let uu____22620 = - let uu____22621 = - let uu____22635 = - FStar_Syntax_Subst.close xb e23 in - ((false, [lb1]), uu____22635) in - FStar_Syntax_Syntax.Tm_let uu____22621 in - FStar_Syntax_Syntax.mk uu____22620 in - uu____22613 FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in + let uu____22700 = + let uu____22707 = + let uu____22708 = + let uu____22722 = + FStar_Syntax_Subst.close xb e23 in + ((false, [lb1]), uu____22722) in + FStar_Syntax_Syntax.Tm_let uu____22708 in + FStar_Syntax_Syntax.mk uu____22707 in + uu____22700 FStar_Pervasives_Native.None + e.FStar_Syntax_Syntax.pos + in let e4 = FStar_TypeChecker_Util.maybe_monadic env2 e3 cres.FStar_Syntax_Syntax.eff_name - cres.FStar_Syntax_Syntax.res_typ in + cres.FStar_Syntax_Syntax.res_typ + in let x_eq_e1 = - let uu____22653 = - let uu____22654 = + let uu____22740 = + let uu____22741 = env2.FStar_TypeChecker_Env.universe_of env2 - c1.FStar_Syntax_Syntax.res_typ in - let uu____22655 = - FStar_Syntax_Syntax.bv_to_name x1 in - FStar_Syntax_Util.mk_eq2 uu____22654 - c1.FStar_Syntax_Syntax.res_typ uu____22655 - e11 in + c1.FStar_Syntax_Syntax.res_typ + in + let uu____22742 = + FStar_Syntax_Syntax.bv_to_name x1 in + FStar_Syntax_Util.mk_eq2 uu____22741 + c1.FStar_Syntax_Syntax.res_typ uu____22742 + e11 + in FStar_All.pipe_left - (fun _22656 -> - FStar_TypeChecker_Common.NonTrivial _22656) - uu____22653 in + (fun _22743 -> + FStar_TypeChecker_Common.NonTrivial _22743) + uu____22740 + in let g21 = - let uu____22658 = - let uu____22659 = + let uu____22745 = + let uu____22746 = FStar_TypeChecker_Env.guard_of_guard_formula - x_eq_e1 in - FStar_TypeChecker_Env.imp_guard uu____22659 g2 in + x_eq_e1 + in + FStar_TypeChecker_Env.imp_guard uu____22746 g2 + in FStar_TypeChecker_Env.close_guard env2 xb - uu____22658 in + uu____22745 + in let g22 = FStar_TypeChecker_Util.close_guard_implicits env2 - xb g21 in - let guard = FStar_TypeChecker_Env.conj_guard g1 g22 in - let uu____22662 = - let uu____22664 = - FStar_TypeChecker_Env.expected_typ env2 in - FStar_Option.isSome uu____22664 in - if uu____22662 + xb g21 + in + let guard = FStar_TypeChecker_Env.conj_guard g1 g22 + in + let uu____22749 = + let uu____22751 = + FStar_TypeChecker_Env.expected_typ env2 in + FStar_Option.isSome uu____22751 in + if uu____22749 then let tt = - let uu____22675 = - FStar_TypeChecker_Env.expected_typ env2 in - FStar_All.pipe_right uu____22675 - FStar_Option.get in - ((let uu____22681 = + let uu____22762 = + FStar_TypeChecker_Env.expected_typ env2 in + FStar_All.pipe_right uu____22762 + FStar_Option.get + in + ((let uu____22768 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env2) - (FStar_Options.Other "Exports") in - if uu____22681 + (FStar_Options.Other "Exports") + in + if uu____22768 then - let uu____22686 = - FStar_Syntax_Print.term_to_string tt in - let uu____22688 = + let uu____22773 = + FStar_Syntax_Print.term_to_string tt in + let uu____22775 = FStar_Syntax_Print.term_to_string - cres.FStar_Syntax_Syntax.res_typ in + cres.FStar_Syntax_Syntax.res_typ + in FStar_Util.print2 "Got expected type from env %s\ncres.res_typ=%s\n" - uu____22686 uu____22688 + uu____22773 uu____22775 else ()); (e4, cres, guard)) else - (let uu____22695 = + (let uu____22782 = check_no_escape FStar_Pervasives_Native.None - env2 [x1] cres.FStar_Syntax_Syntax.res_typ in - match uu____22695 with - | (t, g_ex) -> - ((let uu____22709 = + env2 [x1] cres.FStar_Syntax_Syntax.res_typ + in + match uu____22782 with + | (t,g_ex) -> + ((let uu____22796 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env2) - (FStar_Options.Other "Exports") in - if uu____22709 + (FStar_Options.Other "Exports") + in + if uu____22796 then - let uu____22714 = + let uu____22801 = FStar_Syntax_Print.term_to_string - cres.FStar_Syntax_Syntax.res_typ in - let uu____22716 = - FStar_Syntax_Print.term_to_string t in + cres.FStar_Syntax_Syntax.res_typ + in + let uu____22803 = + FStar_Syntax_Print.term_to_string t + in FStar_Util.print2 "Checked %s has no escaping types; normalized to %s\n" - uu____22714 uu____22716 + uu____22801 uu____22803 else ()); - (let uu____22721 = + (let uu____22808 = FStar_TypeChecker_Env.conj_guard g_ex - guard in + guard + in (e4, - (let uu___2943_22723 = cres in + (let uu___2963_22810 = cres in { FStar_Syntax_Syntax.eff_name = - (uu___2943_22723.FStar_Syntax_Syntax.eff_name); + (uu___2963_22810.FStar_Syntax_Syntax.eff_name); FStar_Syntax_Syntax.res_typ = t; FStar_Syntax_Syntax.cflags = - (uu___2943_22723.FStar_Syntax_Syntax.cflags); + (uu___2963_22810.FStar_Syntax_Syntax.cflags); FStar_Syntax_Syntax.comp_thunk = - (uu___2943_22723.FStar_Syntax_Syntax.comp_thunk) - }), uu____22721)))))))) - | uu____22724 -> + (uu___2963_22810.FStar_Syntax_Syntax.comp_thunk) + }), uu____22808)))))))) + | uu____22811 -> failwith "Impossible (inner let with more than one lb)" + and (check_top_level_let_rec : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun top -> - let env1 = instantiate_both env in + fun env -> + fun top -> + let env1 = instantiate_both env in match top.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_let ((true, lbs), e2) -> - let uu____22760 = FStar_Syntax_Subst.open_let_rec lbs e2 in - (match uu____22760 with - | (lbs1, e21) -> - let uu____22779 = - FStar_TypeChecker_Env.clear_expected_typ env1 in - (match uu____22779 with - | (env0, topt) -> - let uu____22798 = build_let_rec_env true env0 lbs1 in - (match uu____22798 with - | (lbs2, rec_env, g_t) -> - let uu____22821 = check_let_recs rec_env lbs2 in - (match uu____22821 with - | (lbs3, g_lbs) -> + | FStar_Syntax_Syntax.Tm_let ((true ,lbs),e2) -> + let uu____22847 = FStar_Syntax_Subst.open_let_rec lbs e2 in + (match uu____22847 with + | (lbs1,e21) -> + let uu____22866 = + FStar_TypeChecker_Env.clear_expected_typ env1 in + (match uu____22866 with + | (env0,topt) -> + let uu____22885 = build_let_rec_env true env0 lbs1 in + (match uu____22885 with + | (lbs2,rec_env,g_t) -> + let uu____22908 = check_let_recs rec_env lbs2 in + (match uu____22908 with + | (lbs3,g_lbs) -> let g_lbs1 = - let uu____22841 = - let uu____22842 = + let uu____22928 = + let uu____22929 = FStar_TypeChecker_Env.conj_guard g_t - g_lbs in - FStar_All.pipe_right uu____22842 + g_lbs + in + FStar_All.pipe_right uu____22929 (FStar_TypeChecker_Rel.solve_deferred_constraints - env1) in - FStar_All.pipe_right uu____22841 + env1) + in + FStar_All.pipe_right uu____22928 (FStar_TypeChecker_Rel.resolve_implicits - env1) in + env1) + in let all_lb_names = - let uu____22848 = + let uu____22935 = FStar_All.pipe_right lbs3 (FStar_List.map - (fun lb -> + (fun lb -> FStar_Util.right - lb.FStar_Syntax_Syntax.lbname)) in - FStar_All.pipe_right uu____22848 - (fun _22865 -> - FStar_Pervasives_Native.Some _22865) in + lb.FStar_Syntax_Syntax.lbname)) + in + FStar_All.pipe_right uu____22935 + (fun _22952 -> + FStar_Pervasives_Native.Some _22952) + in let lbs4 = if Prims.op_Negation @@ -7575,11 +8489,12 @@ and (check_top_level_let_rec : then FStar_All.pipe_right lbs3 (FStar_List.map - (fun lb -> + (fun lb -> let lbdef = FStar_TypeChecker_Normalize.reduce_uvar_solutions env1 - lb.FStar_Syntax_Syntax.lbdef in + lb.FStar_Syntax_Syntax.lbdef + in if lb.FStar_Syntax_Syntax.lbunivs = [] @@ -7596,23 +8511,26 @@ and (check_top_level_let_rec : lb.FStar_Syntax_Syntax.lbpos)) else (let ecs = - let uu____22902 = + let uu____22989 = FStar_All.pipe_right lbs3 (FStar_List.map - (fun lb -> - let uu____22936 = + (fun lb -> + let uu____23023 = FStar_Syntax_Syntax.mk_Total - lb.FStar_Syntax_Syntax.lbtyp in + lb.FStar_Syntax_Syntax.lbtyp + in ((lb.FStar_Syntax_Syntax.lbname), (lb.FStar_Syntax_Syntax.lbdef), - uu____22936))) in + uu____23023))) + in FStar_TypeChecker_Util.generalize env1 - true uu____22902 in + true uu____22989 + in FStar_List.map2 - (fun uu____22971 -> - fun lb -> - match uu____22971 with - | (x, uvs, e, c, gvs) -> + (fun uu____23058 -> + fun lb -> + match uu____23058 with + | (x,uvs,e,c,gvs) -> FStar_Syntax_Util.close_univs_and_mk_letbinding all_lb_names x uvs (FStar_Syntax_Util.comp_result @@ -7621,216 +8539,244 @@ and (check_top_level_let_rec : c) e lb.FStar_Syntax_Syntax.lbattrs lb.FStar_Syntax_Syntax.lbpos) - ecs lbs3) in + ecs lbs3) + in let cres = - let uu____23019 = + let uu____23106 = FStar_Syntax_Syntax.mk_Total - FStar_Syntax_Syntax.t_unit in + FStar_Syntax_Syntax.t_unit + in FStar_All.pipe_left - FStar_Syntax_Util.lcomp_of_comp uu____23019 in - let uu____23020 = - FStar_Syntax_Subst.close_let_rec lbs4 e21 in - (match uu____23020 with - | (lbs5, e22) -> - ((let uu____23040 = + FStar_Syntax_Util.lcomp_of_comp uu____23106 + in + let uu____23107 = + FStar_Syntax_Subst.close_let_rec lbs4 e21 in + (match uu____23107 with + | (lbs5,e22) -> + ((let uu____23127 = FStar_TypeChecker_Rel.discharge_guard - env1 g_lbs1 in - FStar_All.pipe_right uu____23040 + env1 g_lbs1 + in + FStar_All.pipe_right uu____23127 (FStar_TypeChecker_Rel.force_trivial_guard env1)); - (let uu____23041 = + (let uu____23128 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let ((true, lbs5), e22)) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in - (uu____23041, cres, + top.FStar_Syntax_Syntax.pos + in + (uu____23128, cres, FStar_TypeChecker_Env.trivial_guard)))))))) - | uu____23055 -> failwith "Impossible" + | uu____23142 -> failwith "Impossible" + and (check_inner_let_rec : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun top -> - let env1 = instantiate_both env in + fun env -> + fun top -> + let env1 = instantiate_both env in match top.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_let ((true, lbs), e2) -> - let uu____23091 = FStar_Syntax_Subst.open_let_rec lbs e2 in - (match uu____23091 with - | (lbs1, e21) -> - let uu____23110 = - FStar_TypeChecker_Env.clear_expected_typ env1 in - (match uu____23110 with - | (env0, topt) -> - let uu____23129 = build_let_rec_env false env0 lbs1 in - (match uu____23129 with - | (lbs2, rec_env, g_t) -> - let uu____23152 = - let uu____23159 = check_let_recs rec_env lbs2 in - FStar_All.pipe_right uu____23159 - (fun uu____23182 -> - match uu____23182 with - | (lbs3, g) -> - let uu____23201 = - FStar_TypeChecker_Env.conj_guard g_t g in - (lbs3, uu____23201)) in - (match uu____23152 with - | (lbs3, g_lbs) -> - let uu____23216 = + | FStar_Syntax_Syntax.Tm_let ((true ,lbs),e2) -> + let uu____23178 = FStar_Syntax_Subst.open_let_rec lbs e2 in + (match uu____23178 with + | (lbs1,e21) -> + let uu____23197 = + FStar_TypeChecker_Env.clear_expected_typ env1 in + (match uu____23197 with + | (env0,topt) -> + let uu____23216 = build_let_rec_env false env0 lbs1 in + (match uu____23216 with + | (lbs2,rec_env,g_t) -> + let uu____23239 = + let uu____23246 = check_let_recs rec_env lbs2 in + FStar_All.pipe_right uu____23246 + (fun uu____23269 -> + match uu____23269 with + | (lbs3,g) -> + let uu____23288 = + FStar_TypeChecker_Env.conj_guard g_t g + in + (lbs3, uu____23288)) + in + (match uu____23239 with + | (lbs3,g_lbs) -> + let uu____23303 = FStar_All.pipe_right lbs3 (FStar_Util.fold_map - (fun env2 -> - fun lb -> + (fun env2 -> + fun lb -> let x = - let uu___3018_23239 = + let uu___3038_23326 = FStar_Util.left - lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbname + in { FStar_Syntax_Syntax.ppname = - (uu___3018_23239.FStar_Syntax_Syntax.ppname); + (uu___3038_23326.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___3018_23239.FStar_Syntax_Syntax.index); + (uu___3038_23326.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = (lb.FStar_Syntax_Syntax.lbtyp) - } in + } in let lb1 = - let uu___3021_23241 = lb in + let uu___3041_23328 = lb in { FStar_Syntax_Syntax.lbname = (FStar_Util.Inl x); FStar_Syntax_Syntax.lbunivs = - (uu___3021_23241.FStar_Syntax_Syntax.lbunivs); + (uu___3041_23328.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = - (uu___3021_23241.FStar_Syntax_Syntax.lbtyp); + (uu___3041_23328.FStar_Syntax_Syntax.lbtyp); FStar_Syntax_Syntax.lbeff = - (uu___3021_23241.FStar_Syntax_Syntax.lbeff); + (uu___3041_23328.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = - (uu___3021_23241.FStar_Syntax_Syntax.lbdef); + (uu___3041_23328.FStar_Syntax_Syntax.lbdef); FStar_Syntax_Syntax.lbattrs = - (uu___3021_23241.FStar_Syntax_Syntax.lbattrs); + (uu___3041_23328.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___3021_23241.FStar_Syntax_Syntax.lbpos) - } in + (uu___3041_23328.FStar_Syntax_Syntax.lbpos) + } in let env3 = FStar_TypeChecker_Env.push_let_binding env2 lb1.FStar_Syntax_Syntax.lbname ([], - (lb1.FStar_Syntax_Syntax.lbtyp)) in - (env3, lb1)) env1) in - (match uu____23216 with - | (env2, lbs4) -> + (lb1.FStar_Syntax_Syntax.lbtyp)) + in + (env3, lb1)) env1) + in + (match uu____23303 with + | (env2,lbs4) -> let bvs = FStar_All.pipe_right lbs4 (FStar_List.map - (fun lb -> + (fun lb -> FStar_Util.left - lb.FStar_Syntax_Syntax.lbname)) in - let uu____23268 = tc_term env2 e21 in - (match uu____23268 with - | (e22, cres, g2) -> + lb.FStar_Syntax_Syntax.lbname)) + in + let uu____23355 = tc_term env2 e21 in + (match uu____23355 with + | (e22,cres,g2) -> let cres1 = FStar_List.fold_right - (fun lb -> - fun cres1 -> + (fun lb -> + fun cres1 -> maybe_intro_smt_lemma env2 lb.FStar_Syntax_Syntax.lbtyp - cres1) lbs4 cres in + cres1) lbs4 cres + in let cres2 = FStar_TypeChecker_Util.maybe_assume_result_eq_pure_term - env2 e22 cres1 in + env2 e22 cres1 + in let cres3 = FStar_Syntax_Util.lcomp_set_flags cres2 - [FStar_Syntax_Syntax.SHOULD_NOT_INLINE] in + [FStar_Syntax_Syntax.SHOULD_NOT_INLINE] + in let guard = - let uu____23292 = - let uu____23293 = + let uu____23379 = + let uu____23380 = FStar_List.map FStar_Syntax_Syntax.mk_binder - bvs in + bvs + in FStar_TypeChecker_Env.close_guard - env2 uu____23293 g2 in + env2 uu____23380 g2 + in FStar_TypeChecker_Env.conj_guard - g_lbs uu____23292 in + g_lbs uu____23379 + in let cres4 = FStar_TypeChecker_Util.close_lcomp - env2 bvs cres3 in + env2 bvs cres3 + in let tres = norm env2 - cres4.FStar_Syntax_Syntax.res_typ in + cres4.FStar_Syntax_Syntax.res_typ + in let cres5 = - let uu___3042_23303 = cres4 in + let uu___3062_23390 = cres4 in { FStar_Syntax_Syntax.eff_name = - (uu___3042_23303.FStar_Syntax_Syntax.eff_name); + (uu___3062_23390.FStar_Syntax_Syntax.eff_name); FStar_Syntax_Syntax.res_typ = tres; FStar_Syntax_Syntax.cflags = - (uu___3042_23303.FStar_Syntax_Syntax.cflags); + (uu___3062_23390.FStar_Syntax_Syntax.cflags); FStar_Syntax_Syntax.comp_thunk = - (uu___3042_23303.FStar_Syntax_Syntax.comp_thunk) - } in + (uu___3062_23390.FStar_Syntax_Syntax.comp_thunk) + } in let guard1 = let bs = FStar_All.pipe_right lbs4 (FStar_List.map - (fun lb -> - let uu____23311 = + (fun lb -> + let uu____23398 = FStar_Util.left - lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbname + in FStar_Syntax_Syntax.mk_binder - uu____23311)) in + uu____23398)) + in FStar_TypeChecker_Util.close_guard_implicits - env2 bs guard in - let uu____23312 = + env2 bs guard + in + let uu____23399 = FStar_Syntax_Subst.close_let_rec - lbs4 e22 in - (match uu____23312 with - | (lbs5, e23) -> + lbs4 e22 + in + (match uu____23399 with + | (lbs5,e23) -> let e = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_let ((true, lbs5), e23)) FStar_Pervasives_Native.None - top.FStar_Syntax_Syntax.pos in + top.FStar_Syntax_Syntax.pos + in (match topt with | FStar_Pervasives_Native.Some - uu____23353 -> + uu____23440 -> (e, cres5, guard1) - | FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> - let uu____23354 = + let uu____23441 = check_no_escape FStar_Pervasives_Native.None - env2 bvs tres in - (match uu____23354 with - | (tres1, g_ex) -> + env2 bvs tres + in + (match uu____23441 with + | (tres1,g_ex) -> let cres6 = - let uu___3058_23368 - = cres5 in + let uu___3078_23455 + = cres5 in { FStar_Syntax_Syntax.eff_name = - (uu___3058_23368.FStar_Syntax_Syntax.eff_name); + (uu___3078_23455.FStar_Syntax_Syntax.eff_name); FStar_Syntax_Syntax.res_typ = tres1; FStar_Syntax_Syntax.cflags = - (uu___3058_23368.FStar_Syntax_Syntax.cflags); + (uu___3078_23455.FStar_Syntax_Syntax.cflags); FStar_Syntax_Syntax.comp_thunk = - (uu___3058_23368.FStar_Syntax_Syntax.comp_thunk) - } in - let uu____23369 = + (uu___3078_23455.FStar_Syntax_Syntax.comp_thunk) + } in + let uu____23456 = FStar_TypeChecker_Env.conj_guard - g_ex guard1 in + g_ex guard1 + in (e, cres6, - uu____23369)))))))))) - | uu____23370 -> failwith "Impossible" + uu____23456)))))))))) + | uu____23457 -> failwith "Impossible" + and (build_let_rec_env : Prims.bool -> FStar_TypeChecker_Env.env -> @@ -7838,410 +8784,438 @@ and (build_let_rec_env : (FStar_Syntax_Syntax.letbinding Prims.list * FStar_TypeChecker_Env.env_t * FStar_TypeChecker_Env.guard_t)) = - fun top_level -> - fun env -> - fun lbs -> - let env0 = env in + fun top_level -> + fun env -> + fun lbs -> + let env0 = env in let termination_check_enabled lbname lbdef lbtyp = - let uu____23418 = FStar_Options.ml_ish () in - if uu____23418 + let uu____23505 = FStar_Options.ml_ish () in + if uu____23505 then false else - (let t = FStar_TypeChecker_Normalize.unfold_whnf env lbtyp in - let uu____23426 = FStar_Syntax_Util.arrow_formals_comp t in - match uu____23426 with - | (formals, c) -> - let uu____23458 = FStar_Syntax_Util.abs_formals lbdef in - (match uu____23458 with - | (actuals, uu____23469, uu____23470) -> + (let t = FStar_TypeChecker_Normalize.unfold_whnf env lbtyp in + let uu____23513 = FStar_Syntax_Util.arrow_formals_comp t in + match uu____23513 with + | (formals,c) -> + let uu____23545 = FStar_Syntax_Util.abs_formals lbdef in + (match uu____23545 with + | (actuals,uu____23556,uu____23557) -> if ((FStar_List.length formals) < (Prims.parse_int "1")) || ((FStar_List.length actuals) < (Prims.parse_int "1")) then - let uu____23491 = - let uu____23497 = - let uu____23499 = - FStar_Syntax_Print.term_to_string lbdef in - let uu____23501 = - FStar_Syntax_Print.term_to_string lbtyp in + let uu____23578 = + let uu____23584 = + let uu____23586 = + FStar_Syntax_Print.term_to_string lbdef in + let uu____23588 = + FStar_Syntax_Print.term_to_string lbtyp in FStar_Util.format2 "Only function literals with arrow types can be defined recursively; got %s : %s" - uu____23499 uu____23501 in + uu____23586 uu____23588 + in (FStar_Errors.Fatal_RecursiveFunctionLiteral, - uu____23497) in - FStar_Errors.raise_error uu____23491 + uu____23584) + in + FStar_Errors.raise_error uu____23578 lbtyp.FStar_Syntax_Syntax.pos else (let actuals1 = - let uu____23509 = - FStar_TypeChecker_Env.set_expected_typ env lbtyp in + let uu____23596 = + FStar_TypeChecker_Env.set_expected_typ env lbtyp + in FStar_TypeChecker_Util.maybe_add_implicit_binders - uu____23509 actuals in + uu____23596 actuals + in if (FStar_List.length formals) <> (FStar_List.length actuals1) then (let actuals_msg = - let n1 = FStar_List.length actuals1 in + let n1 = FStar_List.length actuals1 in if n1 = (Prims.parse_int "1") then "1 argument was found" else - (let uu____23540 = - FStar_Util.string_of_int n1 in + (let uu____23627 = + FStar_Util.string_of_int n1 in FStar_Util.format1 "%s arguments were found" - uu____23540) in + uu____23627) + in let formals_msg = - let n1 = FStar_List.length formals in + let n1 = FStar_List.length formals in if n1 = (Prims.parse_int "1") then "1 argument" else - (let uu____23559 = - FStar_Util.string_of_int n1 in + (let uu____23646 = + FStar_Util.string_of_int n1 in FStar_Util.format1 "%s arguments" - uu____23559) in + uu____23646) + in let msg = - let uu____23564 = - FStar_Syntax_Print.term_to_string lbtyp in - let uu____23566 = - FStar_Syntax_Print.lbname_to_string lbname in + let uu____23651 = + FStar_Syntax_Print.term_to_string lbtyp in + let uu____23653 = + FStar_Syntax_Print.lbname_to_string lbname + in FStar_Util.format4 "From its type %s, the definition of `let rec %s` expects a function with %s, but %s" - uu____23564 uu____23566 formals_msg - actuals_msg in + uu____23651 uu____23653 formals_msg + actuals_msg + in FStar_Errors.raise_error (FStar_Errors.Fatal_LetRecArgumentMismatch, msg) lbdef.FStar_Syntax_Syntax.pos) else (); (let quals = FStar_TypeChecker_Env.lookup_effect_quals env - (FStar_Syntax_Util.comp_effect_name c) in + (FStar_Syntax_Util.comp_effect_name c) + in FStar_All.pipe_right quals (FStar_List.contains - FStar_Syntax_Syntax.TotalEffect))))) in - let uu____23578 = + FStar_Syntax_Syntax.TotalEffect))))) + in + let uu____23665 = FStar_List.fold_left - (fun uu____23611 -> - fun lb -> - match uu____23611 with - | (lbs1, env1, g_acc) -> - let uu____23636 = + (fun uu____23698 -> + fun lb -> + match uu____23698 with + | (lbs1,env1,g_acc) -> + let uu____23723 = FStar_TypeChecker_Util.extract_let_rec_annotation env1 - lb in - (match uu____23636 with - | (univ_vars1, t, check_t) -> + lb + in + (match uu____23723 with + | (univ_vars1,t,check_t) -> let env2 = FStar_TypeChecker_Env.push_univ_vars env1 - univ_vars1 in + univ_vars1 + in let e = FStar_Syntax_Util.unascribe - lb.FStar_Syntax_Syntax.lbdef in - let uu____23659 = + lb.FStar_Syntax_Syntax.lbdef + in + let uu____23746 = if Prims.op_Negation check_t then (g_acc, t) else (let env01 = FStar_TypeChecker_Env.push_univ_vars env0 - univ_vars1 in - let uu____23678 = - let uu____23685 = - let uu____23686 = - FStar_Syntax_Util.type_u () in + univ_vars1 + in + let uu____23765 = + let uu____23772 = + let uu____23773 = + FStar_Syntax_Util.type_u () in FStar_All.pipe_left - FStar_Pervasives_Native.fst uu____23686 in + FStar_Pervasives_Native.fst uu____23773 + in tc_check_tot_or_gtot_term - (let uu___3104_23697 = env01 in + (let uu___3124_23784 = env01 in { FStar_TypeChecker_Env.solver = - (uu___3104_23697.FStar_TypeChecker_Env.solver); + (uu___3124_23784.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___3104_23697.FStar_TypeChecker_Env.range); + (uu___3124_23784.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___3104_23697.FStar_TypeChecker_Env.curmodule); + (uu___3124_23784.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___3104_23697.FStar_TypeChecker_Env.gamma); + (uu___3124_23784.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___3104_23697.FStar_TypeChecker_Env.gamma_sig); + (uu___3124_23784.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___3104_23697.FStar_TypeChecker_Env.gamma_cache); + (uu___3124_23784.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___3104_23697.FStar_TypeChecker_Env.modules); + (uu___3124_23784.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___3104_23697.FStar_TypeChecker_Env.expected_typ); + (uu___3124_23784.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___3104_23697.FStar_TypeChecker_Env.sigtab); + (uu___3124_23784.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___3104_23697.FStar_TypeChecker_Env.attrtab); + (uu___3124_23784.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___3104_23697.FStar_TypeChecker_Env.is_pattern); + (uu___3124_23784.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___3104_23697.FStar_TypeChecker_Env.instantiate_imp); + (uu___3124_23784.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___3104_23697.FStar_TypeChecker_Env.effects); + (uu___3124_23784.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___3104_23697.FStar_TypeChecker_Env.generalize); + (uu___3124_23784.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___3104_23697.FStar_TypeChecker_Env.letrecs); + (uu___3124_23784.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___3104_23697.FStar_TypeChecker_Env.top_level); + (uu___3124_23784.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = true; FStar_TypeChecker_Env.use_eq = - (uu___3104_23697.FStar_TypeChecker_Env.use_eq); + (uu___3124_23784.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___3104_23697.FStar_TypeChecker_Env.is_iface); + (uu___3124_23784.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___3104_23697.FStar_TypeChecker_Env.admit); + (uu___3124_23784.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___3104_23697.FStar_TypeChecker_Env.lax); + (uu___3124_23784.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___3104_23697.FStar_TypeChecker_Env.lax_universes); + (uu___3124_23784.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___3104_23697.FStar_TypeChecker_Env.phase1); + (uu___3124_23784.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___3104_23697.FStar_TypeChecker_Env.failhard); + (uu___3124_23784.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___3104_23697.FStar_TypeChecker_Env.nosynth); + (uu___3124_23784.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___3104_23697.FStar_TypeChecker_Env.uvar_subtyping); + (uu___3124_23784.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___3104_23697.FStar_TypeChecker_Env.tc_term); + (uu___3124_23784.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___3104_23697.FStar_TypeChecker_Env.type_of); + (uu___3124_23784.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___3104_23697.FStar_TypeChecker_Env.universe_of); + (uu___3124_23784.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___3104_23697.FStar_TypeChecker_Env.check_type_of); + (uu___3124_23784.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___3104_23697.FStar_TypeChecker_Env.use_bv_sorts); + (uu___3124_23784.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___3104_23697.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___3124_23784.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___3104_23697.FStar_TypeChecker_Env.normalized_eff_names); + (uu___3124_23784.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___3104_23697.FStar_TypeChecker_Env.fv_delta_depths); + (uu___3124_23784.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___3104_23697.FStar_TypeChecker_Env.proof_ns); + (uu___3124_23784.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___3104_23697.FStar_TypeChecker_Env.synth_hook); + (uu___3124_23784.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___3104_23697.FStar_TypeChecker_Env.splice); + (uu___3124_23784.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___3104_23697.FStar_TypeChecker_Env.postprocess); + (uu___3124_23784.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___3104_23697.FStar_TypeChecker_Env.is_native_tactic); + (uu___3124_23784.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___3104_23697.FStar_TypeChecker_Env.identifier_info); + (uu___3124_23784.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___3104_23697.FStar_TypeChecker_Env.tc_hooks); + (uu___3124_23784.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___3104_23697.FStar_TypeChecker_Env.dsenv); + (uu___3124_23784.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___3104_23697.FStar_TypeChecker_Env.nbe) - }) t uu____23685 in - match uu____23678 with - | (t1, uu____23706, g) -> - let uu____23708 = - let uu____23709 = - let uu____23710 = + (uu___3124_23784.FStar_TypeChecker_Env.nbe) + }) t uu____23772 + in + match uu____23765 with + | (t1,uu____23793,g) -> + let uu____23795 = + let uu____23796 = + let uu____23797 = FStar_All.pipe_right g (FStar_TypeChecker_Rel.resolve_implicits - env2) in - FStar_All.pipe_right uu____23710 + env2) + in + FStar_All.pipe_right uu____23797 (FStar_TypeChecker_Rel.discharge_guard - env2) in + env2) + in FStar_TypeChecker_Env.conj_guard g_acc - uu____23709 in - let uu____23711 = norm env01 t1 in - (uu____23708, uu____23711)) in - (match uu____23659 with - | (g, t1) -> + uu____23796 + in + let uu____23798 = norm env01 t1 in + (uu____23795, uu____23798)) + in + (match uu____23746 with + | (g,t1) -> let env3 = - let uu____23731 = + let uu____23818 = termination_check_enabled - lb.FStar_Syntax_Syntax.lbname e t1 in - if uu____23731 + lb.FStar_Syntax_Syntax.lbname e t1 + in + if uu____23818 then - let uu___3114_23734 = env2 in + let uu___3134_23821 = env2 in { FStar_TypeChecker_Env.solver = - (uu___3114_23734.FStar_TypeChecker_Env.solver); + (uu___3134_23821.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___3114_23734.FStar_TypeChecker_Env.range); + (uu___3134_23821.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___3114_23734.FStar_TypeChecker_Env.curmodule); + (uu___3134_23821.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___3114_23734.FStar_TypeChecker_Env.gamma); + (uu___3134_23821.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___3114_23734.FStar_TypeChecker_Env.gamma_sig); + (uu___3134_23821.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___3114_23734.FStar_TypeChecker_Env.gamma_cache); + (uu___3134_23821.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___3114_23734.FStar_TypeChecker_Env.modules); + (uu___3134_23821.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___3114_23734.FStar_TypeChecker_Env.expected_typ); + (uu___3134_23821.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___3114_23734.FStar_TypeChecker_Env.sigtab); + (uu___3134_23821.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___3114_23734.FStar_TypeChecker_Env.attrtab); + (uu___3134_23821.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___3114_23734.FStar_TypeChecker_Env.is_pattern); + (uu___3134_23821.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___3114_23734.FStar_TypeChecker_Env.instantiate_imp); + (uu___3134_23821.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___3114_23734.FStar_TypeChecker_Env.effects); + (uu___3134_23821.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___3114_23734.FStar_TypeChecker_Env.generalize); + (uu___3134_23821.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = (((lb.FStar_Syntax_Syntax.lbname), t1, univ_vars1) :: (env2.FStar_TypeChecker_Env.letrecs)); FStar_TypeChecker_Env.top_level = - (uu___3114_23734.FStar_TypeChecker_Env.top_level); + (uu___3134_23821.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___3114_23734.FStar_TypeChecker_Env.check_uvars); + (uu___3134_23821.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___3114_23734.FStar_TypeChecker_Env.use_eq); + (uu___3134_23821.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___3114_23734.FStar_TypeChecker_Env.is_iface); + (uu___3134_23821.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___3114_23734.FStar_TypeChecker_Env.admit); + (uu___3134_23821.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___3114_23734.FStar_TypeChecker_Env.lax); + (uu___3134_23821.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___3114_23734.FStar_TypeChecker_Env.lax_universes); + (uu___3134_23821.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___3114_23734.FStar_TypeChecker_Env.phase1); + (uu___3134_23821.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___3114_23734.FStar_TypeChecker_Env.failhard); + (uu___3134_23821.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___3114_23734.FStar_TypeChecker_Env.nosynth); + (uu___3134_23821.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___3114_23734.FStar_TypeChecker_Env.uvar_subtyping); + (uu___3134_23821.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___3114_23734.FStar_TypeChecker_Env.tc_term); + (uu___3134_23821.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___3114_23734.FStar_TypeChecker_Env.type_of); + (uu___3134_23821.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___3114_23734.FStar_TypeChecker_Env.universe_of); + (uu___3134_23821.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___3114_23734.FStar_TypeChecker_Env.check_type_of); + (uu___3134_23821.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___3114_23734.FStar_TypeChecker_Env.use_bv_sorts); + (uu___3134_23821.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___3114_23734.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___3134_23821.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___3114_23734.FStar_TypeChecker_Env.normalized_eff_names); + (uu___3134_23821.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___3114_23734.FStar_TypeChecker_Env.fv_delta_depths); + (uu___3134_23821.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___3114_23734.FStar_TypeChecker_Env.proof_ns); + (uu___3134_23821.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___3114_23734.FStar_TypeChecker_Env.synth_hook); + (uu___3134_23821.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___3114_23734.FStar_TypeChecker_Env.splice); + (uu___3134_23821.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___3114_23734.FStar_TypeChecker_Env.postprocess); + (uu___3134_23821.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___3114_23734.FStar_TypeChecker_Env.is_native_tactic); + (uu___3134_23821.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___3114_23734.FStar_TypeChecker_Env.identifier_info); + (uu___3134_23821.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___3114_23734.FStar_TypeChecker_Env.tc_hooks); + (uu___3134_23821.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___3114_23734.FStar_TypeChecker_Env.dsenv); + (uu___3134_23821.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___3114_23734.FStar_TypeChecker_Env.nbe) + (uu___3134_23821.FStar_TypeChecker_Env.nbe) } else FStar_TypeChecker_Env.push_let_binding env2 lb.FStar_Syntax_Syntax.lbname - (univ_vars1, t1) in + (univ_vars1, t1) + in let lb1 = - let uu___3117_23748 = lb in + let uu___3137_23835 = lb in { FStar_Syntax_Syntax.lbname = - (uu___3117_23748.FStar_Syntax_Syntax.lbname); + (uu___3137_23835.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = univ_vars1; FStar_Syntax_Syntax.lbtyp = t1; FStar_Syntax_Syntax.lbeff = - (uu___3117_23748.FStar_Syntax_Syntax.lbeff); + (uu___3137_23835.FStar_Syntax_Syntax.lbeff); FStar_Syntax_Syntax.lbdef = e; FStar_Syntax_Syntax.lbattrs = - (uu___3117_23748.FStar_Syntax_Syntax.lbattrs); + (uu___3137_23835.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___3117_23748.FStar_Syntax_Syntax.lbpos) - } in + (uu___3137_23835.FStar_Syntax_Syntax.lbpos) + } in ((lb1 :: lbs1), env3, g)))) - ([], env, FStar_TypeChecker_Env.trivial_guard) lbs in - match uu____23578 with - | (lbs1, env1, g) -> ((FStar_List.rev lbs1), env1, g) + ([], env, FStar_TypeChecker_Env.trivial_guard) lbs + in + match uu____23665 with + | (lbs1,env1,g) -> ((FStar_List.rev lbs1), env1, g) + and (check_let_recs : FStar_TypeChecker_Env.env_t -> FStar_Syntax_Syntax.letbinding Prims.list -> (FStar_Syntax_Syntax.letbinding Prims.list * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun lbs -> - let uu____23774 = - let uu____23783 = + fun env -> + fun lbs -> + let uu____23861 = + let uu____23870 = FStar_All.pipe_right lbs (FStar_List.map - (fun lb -> - let uu____23809 = + (fun lb -> + let uu____23896 = FStar_Syntax_Util.abs_formals - lb.FStar_Syntax_Syntax.lbdef in - match uu____23809 with - | (bs, t, lcomp) -> + lb.FStar_Syntax_Syntax.lbdef + in + match uu____23896 with + | (bs,t,lcomp) -> (match bs with | [] -> - let uu____23839 = + let uu____23926 = FStar_Syntax_Syntax.range_of_lbname - lb.FStar_Syntax_Syntax.lbname in + lb.FStar_Syntax_Syntax.lbname + in FStar_Errors.raise_error (FStar_Errors.Fatal_RecursiveFunctionLiteral, "Only function literals may be defined recursively") - uu____23839 - | uu____23846 -> + uu____23926 + | uu____23933 -> let lb1 = - let uu___3134_23849 = lb in - let uu____23850 = - FStar_Syntax_Util.abs bs t lcomp in + let uu___3154_23936 = lb in + let uu____23937 = + FStar_Syntax_Util.abs bs t lcomp in { FStar_Syntax_Syntax.lbname = - (uu___3134_23849.FStar_Syntax_Syntax.lbname); + (uu___3154_23936.FStar_Syntax_Syntax.lbname); FStar_Syntax_Syntax.lbunivs = - (uu___3134_23849.FStar_Syntax_Syntax.lbunivs); + (uu___3154_23936.FStar_Syntax_Syntax.lbunivs); FStar_Syntax_Syntax.lbtyp = - (uu___3134_23849.FStar_Syntax_Syntax.lbtyp); + (uu___3154_23936.FStar_Syntax_Syntax.lbtyp); FStar_Syntax_Syntax.lbeff = - (uu___3134_23849.FStar_Syntax_Syntax.lbeff); - FStar_Syntax_Syntax.lbdef = uu____23850; + (uu___3154_23936.FStar_Syntax_Syntax.lbeff); + FStar_Syntax_Syntax.lbdef = uu____23937; FStar_Syntax_Syntax.lbattrs = - (uu___3134_23849.FStar_Syntax_Syntax.lbattrs); + (uu___3154_23936.FStar_Syntax_Syntax.lbattrs); FStar_Syntax_Syntax.lbpos = - (uu___3134_23849.FStar_Syntax_Syntax.lbpos) - } in - let uu____23853 = - let uu____23860 = + (uu___3154_23936.FStar_Syntax_Syntax.lbpos) + } in + let uu____23940 = + let uu____23947 = FStar_TypeChecker_Env.set_expected_typ env - lb1.FStar_Syntax_Syntax.lbtyp in - tc_tot_or_gtot_term uu____23860 - lb1.FStar_Syntax_Syntax.lbdef in - (match uu____23853 with - | (e, c, g) -> - ((let uu____23869 = - let uu____23871 = - FStar_Syntax_Util.is_total_lcomp c in - Prims.op_Negation uu____23871 in - if uu____23869 + lb1.FStar_Syntax_Syntax.lbtyp + in + tc_tot_or_gtot_term uu____23947 + lb1.FStar_Syntax_Syntax.lbdef + in + (match uu____23940 with + | (e,c,g) -> + ((let uu____23956 = + let uu____23958 = + FStar_Syntax_Util.is_total_lcomp c in + Prims.op_Negation uu____23958 in + if uu____23956 then FStar_Errors.raise_error (FStar_Errors.Fatal_UnexpectedGTotForLetRec, @@ -8255,15 +9229,19 @@ and (check_let_recs : lb1.FStar_Syntax_Syntax.lbtyp FStar_Parser_Const.effect_Tot_lid e lb1.FStar_Syntax_Syntax.lbattrs - lb1.FStar_Syntax_Syntax.lbpos in - (lb2, g))))))) in - FStar_All.pipe_right uu____23783 FStar_List.unzip in - match uu____23774 with - | (lbs1, gs) -> + lb1.FStar_Syntax_Syntax.lbpos + in + (lb2, g))))))) + in + FStar_All.pipe_right uu____23870 FStar_List.unzip in + match uu____23861 with + | (lbs1,gs) -> let g_lbs = FStar_List.fold_right FStar_TypeChecker_Env.conj_guard gs - FStar_TypeChecker_Env.trivial_guard in + FStar_TypeChecker_Env.trivial_guard + in (lbs1, g_lbs) + and (check_let_bound_def : Prims.bool -> FStar_TypeChecker_Env.env -> @@ -8272,16 +9250,16 @@ and (check_let_bound_def : FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t * Prims.bool)) = - fun top_level -> - fun env -> - fun lb -> - let uu____23927 = FStar_TypeChecker_Env.clear_expected_typ env in - match uu____23927 with - | (env1, uu____23946) -> - let e1 = lb.FStar_Syntax_Syntax.lbdef in - let uu____23954 = check_lbtyp top_level env lb in - (match uu____23954 with - | (topt, wf_annot, univ_vars1, univ_opening, env11) -> + fun top_level -> + fun env -> + fun lb -> + let uu____24014 = FStar_TypeChecker_Env.clear_expected_typ env in + match uu____24014 with + | (env1,uu____24033) -> + let e1 = lb.FStar_Syntax_Syntax.lbdef in + let uu____24041 = check_lbtyp top_level env lb in + (match uu____24041 with + | (topt,wf_annot,univ_vars1,univ_opening,env11) -> (if (Prims.op_Negation top_level) && (univ_vars1 <> []) then FStar_Errors.raise_error @@ -8289,132 +9267,139 @@ and (check_let_bound_def : "Inner let-bound definitions cannot be universe polymorphic") e1.FStar_Syntax_Syntax.pos else (); - (let e11 = FStar_Syntax_Subst.subst univ_opening e1 in - let uu____24003 = + (let e11 = FStar_Syntax_Subst.subst univ_opening e1 in + let uu____24090 = tc_maybe_toplevel_term - (let uu___3165_24012 = env11 in + (let uu___3185_24099 = env11 in { FStar_TypeChecker_Env.solver = - (uu___3165_24012.FStar_TypeChecker_Env.solver); + (uu___3185_24099.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___3165_24012.FStar_TypeChecker_Env.range); + (uu___3185_24099.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___3165_24012.FStar_TypeChecker_Env.curmodule); + (uu___3185_24099.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___3165_24012.FStar_TypeChecker_Env.gamma); + (uu___3185_24099.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___3165_24012.FStar_TypeChecker_Env.gamma_sig); + (uu___3185_24099.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___3165_24012.FStar_TypeChecker_Env.gamma_cache); + (uu___3185_24099.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___3165_24012.FStar_TypeChecker_Env.modules); + (uu___3185_24099.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___3165_24012.FStar_TypeChecker_Env.expected_typ); + (uu___3185_24099.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___3165_24012.FStar_TypeChecker_Env.sigtab); + (uu___3185_24099.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___3165_24012.FStar_TypeChecker_Env.attrtab); + (uu___3185_24099.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___3165_24012.FStar_TypeChecker_Env.is_pattern); + (uu___3185_24099.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___3165_24012.FStar_TypeChecker_Env.instantiate_imp); + (uu___3185_24099.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___3165_24012.FStar_TypeChecker_Env.effects); + (uu___3185_24099.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___3165_24012.FStar_TypeChecker_Env.generalize); + (uu___3185_24099.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___3165_24012.FStar_TypeChecker_Env.letrecs); + (uu___3185_24099.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = top_level; FStar_TypeChecker_Env.check_uvars = - (uu___3165_24012.FStar_TypeChecker_Env.check_uvars); + (uu___3185_24099.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___3165_24012.FStar_TypeChecker_Env.use_eq); + (uu___3185_24099.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___3165_24012.FStar_TypeChecker_Env.is_iface); + (uu___3185_24099.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___3165_24012.FStar_TypeChecker_Env.admit); + (uu___3185_24099.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___3165_24012.FStar_TypeChecker_Env.lax); + (uu___3185_24099.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___3165_24012.FStar_TypeChecker_Env.lax_universes); + (uu___3185_24099.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___3165_24012.FStar_TypeChecker_Env.phase1); + (uu___3185_24099.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___3165_24012.FStar_TypeChecker_Env.failhard); + (uu___3185_24099.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___3165_24012.FStar_TypeChecker_Env.nosynth); + (uu___3185_24099.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___3165_24012.FStar_TypeChecker_Env.uvar_subtyping); + (uu___3185_24099.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___3165_24012.FStar_TypeChecker_Env.tc_term); + (uu___3185_24099.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___3165_24012.FStar_TypeChecker_Env.type_of); + (uu___3185_24099.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___3165_24012.FStar_TypeChecker_Env.universe_of); + (uu___3185_24099.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___3165_24012.FStar_TypeChecker_Env.check_type_of); + (uu___3185_24099.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___3165_24012.FStar_TypeChecker_Env.use_bv_sorts); + (uu___3185_24099.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___3165_24012.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___3185_24099.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___3165_24012.FStar_TypeChecker_Env.normalized_eff_names); + (uu___3185_24099.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___3165_24012.FStar_TypeChecker_Env.fv_delta_depths); + (uu___3185_24099.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___3165_24012.FStar_TypeChecker_Env.proof_ns); + (uu___3185_24099.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___3165_24012.FStar_TypeChecker_Env.synth_hook); + (uu___3185_24099.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___3165_24012.FStar_TypeChecker_Env.splice); + (uu___3185_24099.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___3165_24012.FStar_TypeChecker_Env.postprocess); + (uu___3185_24099.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___3165_24012.FStar_TypeChecker_Env.is_native_tactic); + (uu___3185_24099.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___3165_24012.FStar_TypeChecker_Env.identifier_info); + (uu___3185_24099.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___3165_24012.FStar_TypeChecker_Env.tc_hooks); + (uu___3185_24099.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___3165_24012.FStar_TypeChecker_Env.dsenv); + (uu___3185_24099.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___3165_24012.FStar_TypeChecker_Env.nbe) - }) e11 in - match uu____24003 with - | (e12, c1, g1) -> - let uu____24027 = - let uu____24032 = + (uu___3185_24099.FStar_TypeChecker_Env.nbe) + }) e11 + in + match uu____24090 with + | (e12,c1,g1) -> + let uu____24114 = + let uu____24119 = FStar_TypeChecker_Env.set_range env11 - e12.FStar_Syntax_Syntax.pos in + e12.FStar_Syntax_Syntax.pos + in FStar_TypeChecker_Util.strengthen_precondition (FStar_Pervasives_Native.Some - (fun uu____24038 -> + (fun uu____24125 -> FStar_Util.return_all FStar_TypeChecker_Err.ill_kinded_type)) - uu____24032 e12 c1 wf_annot in - (match uu____24027 with - | (c11, guard_f) -> + uu____24119 e12 c1 wf_annot + in + (match uu____24114 with + | (c11,guard_f) -> let g11 = - FStar_TypeChecker_Env.conj_guard g1 guard_f in - ((let uu____24055 = + FStar_TypeChecker_Env.conj_guard g1 guard_f in + ((let uu____24142 = FStar_TypeChecker_Env.debug env - FStar_Options.Extreme in - if uu____24055 + FStar_Options.Extreme + in + if uu____24142 then - let uu____24058 = + let uu____24145 = FStar_Syntax_Print.lbname_to_string - lb.FStar_Syntax_Syntax.lbname in - let uu____24060 = - FStar_Syntax_Print.lcomp_to_string c11 in - let uu____24062 = + lb.FStar_Syntax_Syntax.lbname + in + let uu____24147 = + FStar_Syntax_Print.lcomp_to_string c11 in + let uu____24149 = FStar_TypeChecker_Rel.guard_to_string env - g11 in + g11 + in FStar_Util.print3 "checked let-bound def %s : %s guard is %s\n" - uu____24058 uu____24060 uu____24062 + uu____24145 uu____24147 uu____24149 else ()); (e12, univ_vars1, c11, g11, (FStar_Option.isSome topt))))))) + and (check_lbtyp : Prims.bool -> FStar_TypeChecker_Env.env -> @@ -8424,69 +9409,77 @@ and (check_lbtyp : FStar_Syntax_Syntax.subst_elt Prims.list * FStar_TypeChecker_Env.env)) = - fun top_level -> - fun env -> - fun lb -> - let t = FStar_Syntax_Subst.compress lb.FStar_Syntax_Syntax.lbtyp in + fun top_level -> + fun env -> + fun lb -> + let t = FStar_Syntax_Subst.compress lb.FStar_Syntax_Syntax.lbtyp in match t.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_unknown -> - let uu____24101 = + | FStar_Syntax_Syntax.Tm_unknown -> + let uu____24188 = FStar_Syntax_Subst.univ_var_opening - lb.FStar_Syntax_Syntax.lbunivs in - (match uu____24101 with - | (univ_opening, univ_vars1) -> - let uu____24134 = - FStar_TypeChecker_Env.push_univ_vars env univ_vars1 in + lb.FStar_Syntax_Syntax.lbunivs + in + (match uu____24188 with + | (univ_opening,univ_vars1) -> + let uu____24221 = + FStar_TypeChecker_Env.push_univ_vars env univ_vars1 in (FStar_Pervasives_Native.None, FStar_TypeChecker_Env.trivial_guard, univ_vars1, - univ_opening, uu____24134)) - | uu____24139 -> - let uu____24140 = + univ_opening, uu____24221)) + | uu____24226 -> + let uu____24227 = FStar_Syntax_Subst.univ_var_opening - lb.FStar_Syntax_Syntax.lbunivs in - (match uu____24140 with - | (univ_opening, univ_vars1) -> - let t1 = FStar_Syntax_Subst.subst univ_opening t in + lb.FStar_Syntax_Syntax.lbunivs + in + (match uu____24227 with + | (univ_opening,univ_vars1) -> + let t1 = FStar_Syntax_Subst.subst univ_opening t in let env1 = - FStar_TypeChecker_Env.push_univ_vars env univ_vars1 in + FStar_TypeChecker_Env.push_univ_vars env univ_vars1 in if top_level && (Prims.op_Negation env.FStar_TypeChecker_Env.generalize) then - let uu____24190 = - FStar_TypeChecker_Env.set_expected_typ env1 t1 in + let uu____24277 = + FStar_TypeChecker_Env.set_expected_typ env1 t1 in ((FStar_Pervasives_Native.Some t1), FStar_TypeChecker_Env.trivial_guard, univ_vars1, - univ_opening, uu____24190) + univ_opening, uu____24277) else - (let uu____24197 = FStar_Syntax_Util.type_u () in - match uu____24197 with - | (k, uu____24217) -> - let uu____24218 = tc_check_tot_or_gtot_term env1 t1 k in - (match uu____24218 with - | (t2, uu____24240, g) -> - ((let uu____24243 = + (let uu____24284 = FStar_Syntax_Util.type_u () in + match uu____24284 with + | (k,uu____24304) -> + let uu____24305 = tc_check_tot_or_gtot_term env1 t1 k + in + (match uu____24305 with + | (t2,uu____24327,g) -> + ((let uu____24330 = FStar_TypeChecker_Env.debug env - FStar_Options.Medium in - if uu____24243 + FStar_Options.Medium + in + if uu____24330 then - let uu____24246 = - let uu____24248 = + let uu____24333 = + let uu____24335 = FStar_Syntax_Util.range_of_lbname - lb.FStar_Syntax_Syntax.lbname in - FStar_Range.string_of_range uu____24248 in - let uu____24249 = - FStar_Syntax_Print.term_to_string t2 in + lb.FStar_Syntax_Syntax.lbname + in + FStar_Range.string_of_range uu____24335 + in + let uu____24336 = + FStar_Syntax_Print.term_to_string t2 in FStar_Util.print2 "(%s) Checked type annotation %s\n" - uu____24246 uu____24249 + uu____24333 uu____24336 else ()); - (let t3 = norm env1 t2 in - let uu____24255 = + (let t3 = norm env1 t2 in + let uu____24342 = FStar_TypeChecker_Env.set_expected_typ env1 - t3 in + t3 + in ((FStar_Pervasives_Native.Some t3), g, - univ_vars1, univ_opening, uu____24255)))))) + univ_vars1, univ_opening, uu____24342)))))) + and (tc_binder : FStar_TypeChecker_Env.env -> (FStar_Syntax_Syntax.bv * FStar_Syntax_Syntax.arg_qualifier @@ -8495,100 +9488,110 @@ and (tc_binder : FStar_Pervasives_Native.option) * FStar_TypeChecker_Env.env * FStar_TypeChecker_Env.guard_t * FStar_Syntax_Syntax.universe)) = - fun env -> - fun uu____24261 -> - match uu____24261 with - | (x, imp) -> - let uu____24288 = FStar_Syntax_Util.type_u () in - (match uu____24288 with - | (tu, u) -> - ((let uu____24310 = - FStar_TypeChecker_Env.debug env FStar_Options.Extreme in - if uu____24310 + fun env -> + fun uu____24348 -> + match uu____24348 with + | (x,imp) -> + let uu____24375 = FStar_Syntax_Util.type_u () in + (match uu____24375 with + | (tu,u) -> + ((let uu____24397 = + FStar_TypeChecker_Env.debug env FStar_Options.Extreme in + if uu____24397 then - let uu____24313 = FStar_Syntax_Print.bv_to_string x in - let uu____24315 = + let uu____24400 = FStar_Syntax_Print.bv_to_string x in + let uu____24402 = FStar_Syntax_Print.term_to_string - x.FStar_Syntax_Syntax.sort in - let uu____24317 = FStar_Syntax_Print.term_to_string tu in + x.FStar_Syntax_Syntax.sort + in + let uu____24404 = FStar_Syntax_Print.term_to_string tu in FStar_Util.print3 "Checking binder %s:%s at type %s\n" - uu____24313 uu____24315 uu____24317 + uu____24400 uu____24402 uu____24404 else ()); - (let uu____24322 = + (let uu____24409 = tc_check_tot_or_gtot_term env x.FStar_Syntax_Syntax.sort - tu in - match uu____24322 with - | (t, uu____24344, g) -> - let uu____24346 = + tu + in + match uu____24409 with + | (t,uu____24431,g) -> + let uu____24433 = match imp with | FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta tau) -> - let uu____24362 = tc_tactic env tau in - (match uu____24362 with - | (tau1, uu____24376, g1) -> + let uu____24449 = tc_tactic env tau in + (match uu____24449 with + | (tau1,uu____24463,g1) -> ((FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Meta tau1)), g1)) - | uu____24380 -> - (imp, FStar_TypeChecker_Env.trivial_guard) in - (match uu____24346 with - | (imp1, g') -> + | uu____24467 -> + (imp, FStar_TypeChecker_Env.trivial_guard) + in + (match uu____24433 with + | (imp1,g') -> let x1 = - ((let uu___3227_24415 = x in + ((let uu___3247_24502 = x in { FStar_Syntax_Syntax.ppname = - (uu___3227_24415.FStar_Syntax_Syntax.ppname); + (uu___3247_24502.FStar_Syntax_Syntax.ppname); FStar_Syntax_Syntax.index = - (uu___3227_24415.FStar_Syntax_Syntax.index); + (uu___3247_24502.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = t - }), imp1) in - ((let uu____24417 = + }), imp1) + in + ((let uu____24504 = FStar_TypeChecker_Env.debug env - FStar_Options.High in - if uu____24417 + FStar_Options.High + in + if uu____24504 then - let uu____24420 = + let uu____24507 = FStar_Syntax_Print.bv_to_string - (FStar_Pervasives_Native.fst x1) in - let uu____24424 = - FStar_Syntax_Print.term_to_string t in + (FStar_Pervasives_Native.fst x1) + in + let uu____24511 = + FStar_Syntax_Print.term_to_string t in FStar_Util.print2 - "Pushing binder %s at type %s\n" uu____24420 - uu____24424 + "Pushing binder %s at type %s\n" uu____24507 + uu____24511 else ()); - (let uu____24429 = push_binding env x1 in - (x1, uu____24429, g, u))))))) + (let uu____24516 = push_binding env x1 in + (x1, uu____24516, g, u))))))) + and (tc_binders : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.binders -> (FStar_Syntax_Syntax.binders * FStar_TypeChecker_Env.env * FStar_TypeChecker_Env.guard_t * FStar_Syntax_Syntax.universes)) = - fun env -> - fun bs -> - (let uu____24441 = - FStar_TypeChecker_Env.debug env FStar_Options.Extreme in - if uu____24441 + fun env -> + fun bs -> + (let uu____24528 = + FStar_TypeChecker_Env.debug env FStar_Options.Extreme in + if uu____24528 then - let uu____24444 = FStar_Syntax_Print.binders_to_string ", " bs in - FStar_Util.print1 "Checking binders %s\n" uu____24444 + let uu____24531 = FStar_Syntax_Print.binders_to_string ", " bs in + FStar_Util.print1 "Checking binders %s\n" uu____24531 else ()); (let rec aux env1 bs1 = match bs1 with | [] -> ([], env1, FStar_TypeChecker_Env.trivial_guard, []) | b::bs2 -> - let uu____24557 = tc_binder env1 b in - (match uu____24557 with - | (b1, env', g, u) -> - let uu____24606 = aux env' bs2 in - (match uu____24606 with - | (bs3, env'1, g', us) -> - let uu____24667 = - let uu____24668 = + let uu____24644 = tc_binder env1 b in + (match uu____24644 with + | (b1,env',g,u) -> + let uu____24693 = aux env' bs2 in + (match uu____24693 with + | (bs3,env'1,g',us) -> + let uu____24754 = + let uu____24755 = FStar_TypeChecker_Env.close_guard_univs [u] - [b1] g' in - FStar_TypeChecker_Env.conj_guard g uu____24668 in - ((b1 :: bs3), env'1, uu____24667, (u :: us)))) in + [b1] g' + in + FStar_TypeChecker_Env.conj_guard g uu____24755 in + ((b1 :: bs3), env'1, uu____24754, (u :: us)))) + in aux env bs) + and (tc_smt_pats : FStar_TypeChecker_Env.env -> (FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax * @@ -8598,91 +9601,102 @@ and (tc_smt_pats : FStar_Syntax_Syntax.arg_qualifier FStar_Pervasives_Native.option) Prims.list Prims.list * FStar_TypeChecker_Env.guard_t)) = - fun en -> - fun pats -> + fun en -> + fun pats -> let tc_args en1 args = FStar_List.fold_right - (fun uu____24776 -> - fun uu____24777 -> - match (uu____24776, uu____24777) with - | ((t, imp), (args1, g)) -> + (fun uu____24863 -> + fun uu____24864 -> + match (uu____24863, uu____24864) with + | ((t,imp),(args1,g)) -> (FStar_All.pipe_right t (check_no_smt_theory_symbols en1); - (let uu____24869 = tc_term en1 t in - match uu____24869 with - | (t1, uu____24889, g') -> - let uu____24891 = - FStar_TypeChecker_Env.conj_guard g g' in - (((t1, imp) :: args1), uu____24891)))) args - ([], FStar_TypeChecker_Env.trivial_guard) in + (let uu____24956 = tc_term en1 t in + match uu____24956 with + | (t1,uu____24976,g') -> + let uu____24978 = + FStar_TypeChecker_Env.conj_guard g g' in + (((t1, imp) :: args1), uu____24978)))) args + ([], FStar_TypeChecker_Env.trivial_guard) + in FStar_List.fold_right - (fun p -> - fun uu____24945 -> - match uu____24945 with - | (pats1, g) -> - let uu____24972 = tc_args en p in - (match uu____24972 with - | (args, g') -> - let uu____24985 = FStar_TypeChecker_Env.conj_guard g g' in - ((args :: pats1), uu____24985))) pats + (fun p -> + fun uu____25032 -> + match uu____25032 with + | (pats1,g) -> + let uu____25059 = tc_args en p in + (match uu____25059 with + | (args,g') -> + let uu____25072 = FStar_TypeChecker_Env.conj_guard g g' + in + ((args :: pats1), uu____25072))) pats ([], FStar_TypeChecker_Env.trivial_guard) + and (tc_tot_or_gtot_term : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - let uu____24998 = tc_maybe_toplevel_term env e in - match uu____24998 with - | (e1, c, g) -> - let uu____25014 = FStar_Syntax_Util.is_tot_or_gtot_lcomp c in - if uu____25014 + fun env -> + fun e -> + let uu____25085 = tc_maybe_toplevel_term env e in + match uu____25085 with + | (e1,c,g) -> + let uu____25101 = FStar_Syntax_Util.is_tot_or_gtot_lcomp c in + if uu____25101 then (e1, c, g) else - (let g1 = FStar_TypeChecker_Rel.solve_deferred_constraints env g in - let c1 = FStar_Syntax_Syntax.lcomp_comp c in - let c2 = norm_c env c1 in - let uu____25028 = - let uu____25034 = + (let g1 = FStar_TypeChecker_Rel.solve_deferred_constraints env g + in + let c1 = FStar_Syntax_Syntax.lcomp_comp c in + let c2 = norm_c env c1 in + let uu____25115 = + let uu____25121 = FStar_TypeChecker_Util.is_pure_effect env - (FStar_Syntax_Util.comp_effect_name c2) in - if uu____25034 + (FStar_Syntax_Util.comp_effect_name c2) + in + if uu____25121 then - let uu____25042 = + let uu____25129 = FStar_Syntax_Syntax.mk_Total - (FStar_Syntax_Util.comp_result c2) in - (uu____25042, false) + (FStar_Syntax_Util.comp_result c2) + in + (uu____25129, false) else - (let uu____25047 = + (let uu____25134 = FStar_Syntax_Syntax.mk_GTotal - (FStar_Syntax_Util.comp_result c2) in - (uu____25047, true)) in - match uu____25028 with - | (target_comp, allow_ghost) -> - let uu____25060 = - FStar_TypeChecker_Rel.sub_comp env c2 target_comp in - (match uu____25060 with + (FStar_Syntax_Util.comp_result c2) + in + (uu____25134, true)) + in + match uu____25115 with + | (target_comp,allow_ghost) -> + let uu____25147 = + FStar_TypeChecker_Rel.sub_comp env c2 target_comp in + (match uu____25147 with | FStar_Pervasives_Native.Some g' -> - let uu____25070 = - FStar_Syntax_Util.lcomp_of_comp target_comp in - let uu____25071 = - FStar_TypeChecker_Env.conj_guard g1 g' in - (e1, uu____25070, uu____25071) - | uu____25072 -> + let uu____25157 = + FStar_Syntax_Util.lcomp_of_comp target_comp in + let uu____25158 = + FStar_TypeChecker_Env.conj_guard g1 g' in + (e1, uu____25157, uu____25158) + | uu____25159 -> if allow_ghost then - let uu____25082 = + let uu____25169 = FStar_TypeChecker_Err.expected_ghost_expression e1 - c2 in - FStar_Errors.raise_error uu____25082 + c2 + in + FStar_Errors.raise_error uu____25169 e1.FStar_Syntax_Syntax.pos else - (let uu____25096 = + (let uu____25183 = FStar_TypeChecker_Err.expected_pure_expression e1 - c2 in - FStar_Errors.raise_error uu____25096 + c2 + in + FStar_Errors.raise_error uu____25183 e1.FStar_Syntax_Syntax.pos))) + and (tc_check_tot_or_gtot_term : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -8690,1147 +9704,1209 @@ and (tc_check_tot_or_gtot_term : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - fun t -> - let env1 = FStar_TypeChecker_Env.set_expected_typ env t in + fun env -> + fun e -> + fun t -> + let env1 = FStar_TypeChecker_Env.set_expected_typ env t in tc_tot_or_gtot_term env1 e + and (tc_trivial_guard : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp)) = - fun env -> - fun t -> - let uu____25120 = tc_tot_or_gtot_term env t in - match uu____25120 with - | (t1, c, g) -> + fun env -> + fun t -> + let uu____25207 = tc_tot_or_gtot_term env t in + match uu____25207 with + | (t1,c,g) -> (FStar_TypeChecker_Rel.force_trivial_guard env g; (t1, c)) + let (type_of_tot_term : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.typ * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - (let uu____25153 = + fun env -> + fun e -> + (let uu____25240 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "RelCheck") in - if uu____25153 + (FStar_Options.Other "RelCheck") + in + if uu____25240 then - let uu____25158 = FStar_Syntax_Print.term_to_string e in - FStar_Util.print1 "Checking term %s\n" uu____25158 + let uu____25245 = FStar_Syntax_Print.term_to_string e in + FStar_Util.print1 "Checking term %s\n" uu____25245 else ()); (let env1 = - let uu___3309_25164 = env in + let uu___3329_25251 = env in { FStar_TypeChecker_Env.solver = - (uu___3309_25164.FStar_TypeChecker_Env.solver); + (uu___3329_25251.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___3309_25164.FStar_TypeChecker_Env.range); + (uu___3329_25251.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___3309_25164.FStar_TypeChecker_Env.curmodule); + (uu___3329_25251.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___3309_25164.FStar_TypeChecker_Env.gamma); + (uu___3329_25251.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___3309_25164.FStar_TypeChecker_Env.gamma_sig); + (uu___3329_25251.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___3309_25164.FStar_TypeChecker_Env.gamma_cache); + (uu___3329_25251.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___3309_25164.FStar_TypeChecker_Env.modules); + (uu___3329_25251.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___3309_25164.FStar_TypeChecker_Env.expected_typ); + (uu___3329_25251.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___3309_25164.FStar_TypeChecker_Env.sigtab); + (uu___3329_25251.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___3309_25164.FStar_TypeChecker_Env.attrtab); + (uu___3329_25251.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___3309_25164.FStar_TypeChecker_Env.is_pattern); + (uu___3329_25251.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___3309_25164.FStar_TypeChecker_Env.instantiate_imp); + (uu___3329_25251.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___3309_25164.FStar_TypeChecker_Env.effects); + (uu___3329_25251.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___3309_25164.FStar_TypeChecker_Env.generalize); + (uu___3329_25251.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = []; FStar_TypeChecker_Env.top_level = false; FStar_TypeChecker_Env.check_uvars = - (uu___3309_25164.FStar_TypeChecker_Env.check_uvars); + (uu___3329_25251.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___3309_25164.FStar_TypeChecker_Env.use_eq); + (uu___3329_25251.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___3309_25164.FStar_TypeChecker_Env.is_iface); + (uu___3329_25251.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___3309_25164.FStar_TypeChecker_Env.admit); + (uu___3329_25251.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___3309_25164.FStar_TypeChecker_Env.lax); + (uu___3329_25251.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___3309_25164.FStar_TypeChecker_Env.lax_universes); + (uu___3329_25251.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___3309_25164.FStar_TypeChecker_Env.phase1); + (uu___3329_25251.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___3309_25164.FStar_TypeChecker_Env.failhard); + (uu___3329_25251.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___3309_25164.FStar_TypeChecker_Env.nosynth); + (uu___3329_25251.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___3309_25164.FStar_TypeChecker_Env.uvar_subtyping); + (uu___3329_25251.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___3309_25164.FStar_TypeChecker_Env.tc_term); + (uu___3329_25251.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___3309_25164.FStar_TypeChecker_Env.type_of); + (uu___3329_25251.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___3309_25164.FStar_TypeChecker_Env.universe_of); + (uu___3329_25251.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___3309_25164.FStar_TypeChecker_Env.check_type_of); + (uu___3329_25251.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___3309_25164.FStar_TypeChecker_Env.use_bv_sorts); + (uu___3329_25251.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___3309_25164.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___3329_25251.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___3309_25164.FStar_TypeChecker_Env.normalized_eff_names); + (uu___3329_25251.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___3309_25164.FStar_TypeChecker_Env.fv_delta_depths); + (uu___3329_25251.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___3309_25164.FStar_TypeChecker_Env.proof_ns); + (uu___3329_25251.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___3309_25164.FStar_TypeChecker_Env.synth_hook); + (uu___3329_25251.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___3309_25164.FStar_TypeChecker_Env.splice); + (uu___3329_25251.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___3309_25164.FStar_TypeChecker_Env.postprocess); + (uu___3329_25251.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___3309_25164.FStar_TypeChecker_Env.is_native_tactic); + (uu___3329_25251.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___3309_25164.FStar_TypeChecker_Env.identifier_info); + (uu___3329_25251.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___3309_25164.FStar_TypeChecker_Env.tc_hooks); + (uu___3329_25251.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___3309_25164.FStar_TypeChecker_Env.dsenv); + (uu___3329_25251.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___3309_25164.FStar_TypeChecker_Env.nbe) - } in - let uu____25172 = + (uu___3329_25251.FStar_TypeChecker_Env.nbe) + } in + let uu____25259 = try - (fun uu___3313_25186 -> + (fun uu___3333_25273 -> match () with | () -> tc_tot_or_gtot_term env1 e) () with - | FStar_Errors.Error (e1, msg, uu____25207) -> - let uu____25210 = FStar_TypeChecker_Env.get_range env1 in - FStar_Errors.raise_error (e1, msg) uu____25210 in - match uu____25172 with - | (t, c, g) -> - let uu____25227 = FStar_Syntax_Util.is_total_lcomp c in - if uu____25227 - then (t, (c.FStar_Syntax_Syntax.res_typ), g) + | FStar_Errors.Error (e1,msg,uu____25294) -> + let uu____25297 = FStar_TypeChecker_Env.get_range env1 in + FStar_Errors.raise_error (e1, msg) uu____25297 + in + match uu____25259 with + | (t,c,g) -> + let c1 = FStar_TypeChecker_Normalize.ghost_to_pure_lcomp env1 c + in + let uu____25315 = FStar_Syntax_Util.is_total_lcomp c1 in + if uu____25315 + then (t, (c1.FStar_Syntax_Syntax.res_typ), g) else - (let uu____25238 = - let uu____25244 = - let uu____25246 = FStar_Syntax_Print.term_to_string e in + (let uu____25326 = + let uu____25332 = + let uu____25334 = FStar_Syntax_Print.term_to_string e in FStar_Util.format1 "Implicit argument: Expected a total term; got a ghost term: %s" - uu____25246 in - (FStar_Errors.Fatal_UnexpectedImplictArgument, uu____25244) in - let uu____25250 = FStar_TypeChecker_Env.get_range env1 in - FStar_Errors.raise_error uu____25238 uu____25250)) + uu____25334 + in + (FStar_Errors.Fatal_UnexpectedImplictArgument, uu____25332) + in + let uu____25338 = FStar_TypeChecker_Env.get_range env1 in + FStar_Errors.raise_error uu____25326 uu____25338)) + let level_of_type_fail : - 'Auu____25266 . + 'Auu____25354 . FStar_TypeChecker_Env.env -> - FStar_Syntax_Syntax.term -> Prims.string -> 'Auu____25266 + FStar_Syntax_Syntax.term -> Prims.string -> 'Auu____25354 = - fun env -> - fun e -> - fun t -> - let uu____25284 = - let uu____25290 = - let uu____25292 = FStar_Syntax_Print.term_to_string e in + fun env -> + fun e -> + fun t -> + let uu____25372 = + let uu____25378 = + let uu____25380 = FStar_Syntax_Print.term_to_string e in FStar_Util.format2 "Expected a term of type 'Type'; got %s : %s" - uu____25292 t in - (FStar_Errors.Fatal_UnexpectedTermType, uu____25290) in - let uu____25296 = FStar_TypeChecker_Env.get_range env in - FStar_Errors.raise_error uu____25284 uu____25296 + uu____25380 t + in + (FStar_Errors.Fatal_UnexpectedTermType, uu____25378) in + let uu____25384 = FStar_TypeChecker_Env.get_range env in + FStar_Errors.raise_error uu____25372 uu____25384 + let (level_of_type : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.universe) = - fun env -> - fun e -> - fun t -> + fun env -> + fun e -> + fun t -> let rec aux retry t1 = - let uu____25330 = - let uu____25331 = FStar_Syntax_Util.unrefine t1 in - uu____25331.FStar_Syntax_Syntax.n in - match uu____25330 with + let uu____25418 = + let uu____25419 = FStar_Syntax_Util.unrefine t1 in + uu____25419.FStar_Syntax_Syntax.n in + match uu____25418 with | FStar_Syntax_Syntax.Tm_type u -> u - | uu____25335 -> + | uu____25423 -> if retry then let t2 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant] env t1 in + FStar_Syntax_Syntax.delta_constant] env t1 + in aux false t2 else - (let uu____25341 = FStar_Syntax_Util.type_u () in - match uu____25341 with - | (t_u, u) -> + (let uu____25429 = FStar_Syntax_Util.type_u () in + match uu____25429 with + | (t_u,u) -> let env1 = - let uu___3344_25349 = env in + let uu___3365_25437 = env in { FStar_TypeChecker_Env.solver = - (uu___3344_25349.FStar_TypeChecker_Env.solver); + (uu___3365_25437.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___3344_25349.FStar_TypeChecker_Env.range); + (uu___3365_25437.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___3344_25349.FStar_TypeChecker_Env.curmodule); + (uu___3365_25437.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___3344_25349.FStar_TypeChecker_Env.gamma); + (uu___3365_25437.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___3344_25349.FStar_TypeChecker_Env.gamma_sig); + (uu___3365_25437.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___3344_25349.FStar_TypeChecker_Env.gamma_cache); + (uu___3365_25437.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___3344_25349.FStar_TypeChecker_Env.modules); + (uu___3365_25437.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___3344_25349.FStar_TypeChecker_Env.expected_typ); + (uu___3365_25437.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___3344_25349.FStar_TypeChecker_Env.sigtab); + (uu___3365_25437.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___3344_25349.FStar_TypeChecker_Env.attrtab); + (uu___3365_25437.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___3344_25349.FStar_TypeChecker_Env.is_pattern); + (uu___3365_25437.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___3344_25349.FStar_TypeChecker_Env.instantiate_imp); + (uu___3365_25437.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___3344_25349.FStar_TypeChecker_Env.effects); + (uu___3365_25437.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___3344_25349.FStar_TypeChecker_Env.generalize); + (uu___3365_25437.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___3344_25349.FStar_TypeChecker_Env.letrecs); + (uu___3365_25437.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___3344_25349.FStar_TypeChecker_Env.top_level); + (uu___3365_25437.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___3344_25349.FStar_TypeChecker_Env.check_uvars); + (uu___3365_25437.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___3344_25349.FStar_TypeChecker_Env.use_eq); + (uu___3365_25437.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___3344_25349.FStar_TypeChecker_Env.is_iface); + (uu___3365_25437.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___3344_25349.FStar_TypeChecker_Env.admit); + (uu___3365_25437.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___3344_25349.FStar_TypeChecker_Env.lax_universes); + (uu___3365_25437.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___3344_25349.FStar_TypeChecker_Env.phase1); + (uu___3365_25437.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___3344_25349.FStar_TypeChecker_Env.failhard); + (uu___3365_25437.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___3344_25349.FStar_TypeChecker_Env.nosynth); + (uu___3365_25437.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___3344_25349.FStar_TypeChecker_Env.uvar_subtyping); + (uu___3365_25437.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___3344_25349.FStar_TypeChecker_Env.tc_term); + (uu___3365_25437.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___3344_25349.FStar_TypeChecker_Env.type_of); + (uu___3365_25437.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___3344_25349.FStar_TypeChecker_Env.universe_of); + (uu___3365_25437.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___3344_25349.FStar_TypeChecker_Env.check_type_of); + (uu___3365_25437.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = - (uu___3344_25349.FStar_TypeChecker_Env.use_bv_sorts); + (uu___3365_25437.FStar_TypeChecker_Env.use_bv_sorts); FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___3344_25349.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___3365_25437.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___3344_25349.FStar_TypeChecker_Env.normalized_eff_names); + (uu___3365_25437.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___3344_25349.FStar_TypeChecker_Env.fv_delta_depths); + (uu___3365_25437.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___3344_25349.FStar_TypeChecker_Env.proof_ns); + (uu___3365_25437.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___3344_25349.FStar_TypeChecker_Env.synth_hook); + (uu___3365_25437.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___3344_25349.FStar_TypeChecker_Env.splice); + (uu___3365_25437.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___3344_25349.FStar_TypeChecker_Env.postprocess); + (uu___3365_25437.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___3344_25349.FStar_TypeChecker_Env.is_native_tactic); + (uu___3365_25437.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___3344_25349.FStar_TypeChecker_Env.identifier_info); + (uu___3365_25437.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___3344_25349.FStar_TypeChecker_Env.tc_hooks); + (uu___3365_25437.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___3344_25349.FStar_TypeChecker_Env.dsenv); + (uu___3365_25437.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___3344_25349.FStar_TypeChecker_Env.nbe) - } in - let g = FStar_TypeChecker_Rel.teq env1 t1 t_u in + (uu___3365_25437.FStar_TypeChecker_Env.nbe) + } in + let g = FStar_TypeChecker_Rel.teq env1 t1 t_u in ((match g.FStar_TypeChecker_Env.guard_f with | FStar_TypeChecker_Common.NonTrivial f -> - let uu____25354 = - FStar_Syntax_Print.term_to_string t1 in - level_of_type_fail env1 e uu____25354 - | uu____25356 -> + let uu____25442 = + FStar_Syntax_Print.term_to_string t1 in + level_of_type_fail env1 e uu____25442 + | uu____25444 -> FStar_TypeChecker_Rel.force_trivial_guard env1 g); - u)) in + u)) + in aux true t + let rec (universe_of_aux : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.typ) = - fun env -> - fun e -> - let uu____25373 = - let uu____25374 = FStar_Syntax_Subst.compress e in - uu____25374.FStar_Syntax_Syntax.n in - match uu____25373 with - | FStar_Syntax_Syntax.Tm_bvar uu____25377 -> failwith "Impossible" - | FStar_Syntax_Syntax.Tm_unknown -> failwith "Impossible" - | FStar_Syntax_Syntax.Tm_delayed uu____25380 -> failwith "Impossible" - | FStar_Syntax_Syntax.Tm_let uu____25404 -> - let e1 = FStar_TypeChecker_Normalize.normalize [] env e in + fun env -> + fun e -> + let uu____25461 = + let uu____25462 = FStar_Syntax_Subst.compress e in + uu____25462.FStar_Syntax_Syntax.n in + match uu____25461 with + | FStar_Syntax_Syntax.Tm_bvar uu____25465 -> failwith "Impossible" + | FStar_Syntax_Syntax.Tm_unknown -> failwith "Impossible" + | FStar_Syntax_Syntax.Tm_delayed uu____25468 -> failwith "Impossible" + | FStar_Syntax_Syntax.Tm_let uu____25492 -> + let e1 = FStar_TypeChecker_Normalize.normalize [] env e in universe_of_aux env e1 - | FStar_Syntax_Syntax.Tm_abs (bs, t, uu____25421) -> + | FStar_Syntax_Syntax.Tm_abs (bs,t,uu____25509) -> level_of_type_fail env e "arrow type" - | FStar_Syntax_Syntax.Tm_uvar (u, s) -> + | FStar_Syntax_Syntax.Tm_uvar (u,s) -> FStar_Syntax_Subst.subst' s u.FStar_Syntax_Syntax.ctx_uvar_typ - | FStar_Syntax_Syntax.Tm_meta (t, uu____25466) -> universe_of_aux env t + | FStar_Syntax_Syntax.Tm_meta (t,uu____25554) -> universe_of_aux env t | FStar_Syntax_Syntax.Tm_name n1 -> n1.FStar_Syntax_Syntax.sort | FStar_Syntax_Syntax.Tm_fvar fv -> - let uu____25473 = + let uu____25561 = FStar_TypeChecker_Env.lookup_lid env - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - (match uu____25473 with | ((uu____25482, t), uu____25484) -> t) + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + (match uu____25561 with | ((uu____25570,t),uu____25572) -> t) | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____25490 = FStar_Syntax_Util.unfold_lazy i in - universe_of_aux env uu____25490 + let uu____25578 = FStar_Syntax_Util.unfold_lazy i in + universe_of_aux env uu____25578 | FStar_Syntax_Syntax.Tm_ascribed - (uu____25493, (FStar_Util.Inl t, uu____25495), uu____25496) -> t + (uu____25581,(FStar_Util.Inl t,uu____25583),uu____25584) -> t | FStar_Syntax_Syntax.Tm_ascribed - (uu____25543, (FStar_Util.Inr c, uu____25545), uu____25546) -> + (uu____25631,(FStar_Util.Inr c,uu____25633),uu____25634) -> FStar_Syntax_Util.comp_result c | FStar_Syntax_Syntax.Tm_type u -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type (FStar_Syntax_Syntax.U_succ u)) FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos - | FStar_Syntax_Syntax.Tm_quoted uu____25594 -> FStar_Syntax_Util.ktype0 + | FStar_Syntax_Syntax.Tm_quoted uu____25682 -> FStar_Syntax_Util.ktype0 | FStar_Syntax_Syntax.Tm_constant sc -> tc_constant env e.FStar_Syntax_Syntax.pos sc | FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____25603; - FStar_Syntax_Syntax.vars = uu____25604;_}, - us) + FStar_Syntax_Syntax.pos = uu____25691; + FStar_Syntax_Syntax.vars = uu____25692;_},us) -> - let uu____25610 = + let uu____25698 = FStar_TypeChecker_Env.lookup_lid env - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - (match uu____25610 with - | ((us', t), uu____25621) -> + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + (match uu____25698 with + | ((us',t),uu____25709) -> (if (FStar_List.length us) <> (FStar_List.length us') then - (let uu____25628 = FStar_TypeChecker_Env.get_range env in + (let uu____25716 = FStar_TypeChecker_Env.get_range env in FStar_Errors.raise_error (FStar_Errors.Fatal_UnexpectedNumberOfUniverse, "Unexpected number of universe instantiations") - uu____25628) + uu____25716) else FStar_List.iter2 - (fun u' -> - fun u -> + (fun u' -> + fun u -> match u' with | FStar_Syntax_Syntax.U_unif u'' -> FStar_Syntax_Unionfind.univ_change u'' u - | uu____25647 -> failwith "Impossible") us' us; + | uu____25735 -> failwith "Impossible") us' us; t)) - | FStar_Syntax_Syntax.Tm_uinst uu____25649 -> + | FStar_Syntax_Syntax.Tm_uinst uu____25737 -> failwith "Impossible: Tm_uinst's head must be an fvar" - | FStar_Syntax_Syntax.Tm_refine (x, uu____25658) -> + | FStar_Syntax_Syntax.Tm_refine (x,uu____25746) -> universe_of_aux env x.FStar_Syntax_Syntax.sort - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____25685 = FStar_Syntax_Subst.open_comp bs c in - (match uu____25685 with - | (bs1, c1) -> + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____25773 = FStar_Syntax_Subst.open_comp bs c in + (match uu____25773 with + | (bs1,c1) -> let us = FStar_List.map - (fun uu____25705 -> - match uu____25705 with - | (b, uu____25713) -> - let uu____25718 = - universe_of_aux env b.FStar_Syntax_Syntax.sort in + (fun uu____25793 -> + match uu____25793 with + | (b,uu____25801) -> + let uu____25806 = + universe_of_aux env b.FStar_Syntax_Syntax.sort + in level_of_type env b.FStar_Syntax_Syntax.sort - uu____25718) bs1 in + uu____25806) bs1 + in let u_res = - let res = FStar_Syntax_Util.comp_result c1 in - let uu____25723 = universe_of_aux env res in - level_of_type env res uu____25723 in + let res = FStar_Syntax_Util.comp_result c1 in + let uu____25811 = universe_of_aux env res in + level_of_type env res uu____25811 in let u_c = FStar_All.pipe_right c1 - (FStar_TypeChecker_Util.universe_of_comp env u_res) in + (FStar_TypeChecker_Util.universe_of_comp env u_res) + in let u = FStar_TypeChecker_Normalize.normalize_universe env - (FStar_Syntax_Syntax.U_max (u_c :: us)) in + (FStar_Syntax_Syntax.U_max (u_c :: us)) + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type u) FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos) - | FStar_Syntax_Syntax.Tm_app (hd1, args) -> + | FStar_Syntax_Syntax.Tm_app (hd1,args) -> let rec type_of_head retry hd2 args1 = - let hd3 = FStar_Syntax_Subst.compress hd2 in + let hd3 = FStar_Syntax_Subst.compress hd2 in match hd3.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_unknown -> failwith "Impossible" - | FStar_Syntax_Syntax.Tm_bvar uu____25834 -> + | FStar_Syntax_Syntax.Tm_unknown -> failwith "Impossible" + | FStar_Syntax_Syntax.Tm_bvar uu____25922 -> failwith "Impossible" - | FStar_Syntax_Syntax.Tm_delayed uu____25850 -> + | FStar_Syntax_Syntax.Tm_delayed uu____25938 -> failwith "Impossible" - | FStar_Syntax_Syntax.Tm_fvar uu____25888 -> - let uu____25889 = universe_of_aux env hd3 in - (uu____25889, args1) - | FStar_Syntax_Syntax.Tm_name uu____25900 -> - let uu____25901 = universe_of_aux env hd3 in - (uu____25901, args1) - | FStar_Syntax_Syntax.Tm_uvar uu____25912 -> - let uu____25925 = universe_of_aux env hd3 in - (uu____25925, args1) - | FStar_Syntax_Syntax.Tm_uinst uu____25936 -> - let uu____25943 = universe_of_aux env hd3 in - (uu____25943, args1) - | FStar_Syntax_Syntax.Tm_ascribed uu____25954 -> - let uu____25981 = universe_of_aux env hd3 in - (uu____25981, args1) - | FStar_Syntax_Syntax.Tm_refine uu____25992 -> - let uu____25999 = universe_of_aux env hd3 in - (uu____25999, args1) - | FStar_Syntax_Syntax.Tm_constant uu____26010 -> - let uu____26011 = universe_of_aux env hd3 in - (uu____26011, args1) - | FStar_Syntax_Syntax.Tm_arrow uu____26022 -> - let uu____26037 = universe_of_aux env hd3 in - (uu____26037, args1) - | FStar_Syntax_Syntax.Tm_meta uu____26048 -> - let uu____26055 = universe_of_aux env hd3 in - (uu____26055, args1) - | FStar_Syntax_Syntax.Tm_type uu____26066 -> - let uu____26067 = universe_of_aux env hd3 in - (uu____26067, args1) - | FStar_Syntax_Syntax.Tm_match (uu____26078, hd4::uu____26080) -> - let uu____26145 = FStar_Syntax_Subst.open_branch hd4 in - (match uu____26145 with - | (uu____26160, uu____26161, hd5) -> - let uu____26179 = FStar_Syntax_Util.head_and_args hd5 in - (match uu____26179 with - | (hd6, args2) -> type_of_head retry hd6 args2)) - | uu____26236 when retry -> + | FStar_Syntax_Syntax.Tm_fvar uu____25976 -> + let uu____25977 = universe_of_aux env hd3 in + (uu____25977, args1) + | FStar_Syntax_Syntax.Tm_name uu____25988 -> + let uu____25989 = universe_of_aux env hd3 in + (uu____25989, args1) + | FStar_Syntax_Syntax.Tm_uvar uu____26000 -> + let uu____26013 = universe_of_aux env hd3 in + (uu____26013, args1) + | FStar_Syntax_Syntax.Tm_uinst uu____26024 -> + let uu____26031 = universe_of_aux env hd3 in + (uu____26031, args1) + | FStar_Syntax_Syntax.Tm_ascribed uu____26042 -> + let uu____26069 = universe_of_aux env hd3 in + (uu____26069, args1) + | FStar_Syntax_Syntax.Tm_refine uu____26080 -> + let uu____26087 = universe_of_aux env hd3 in + (uu____26087, args1) + | FStar_Syntax_Syntax.Tm_constant uu____26098 -> + let uu____26099 = universe_of_aux env hd3 in + (uu____26099, args1) + | FStar_Syntax_Syntax.Tm_arrow uu____26110 -> + let uu____26125 = universe_of_aux env hd3 in + (uu____26125, args1) + | FStar_Syntax_Syntax.Tm_meta uu____26136 -> + let uu____26143 = universe_of_aux env hd3 in + (uu____26143, args1) + | FStar_Syntax_Syntax.Tm_type uu____26154 -> + let uu____26155 = universe_of_aux env hd3 in + (uu____26155, args1) + | FStar_Syntax_Syntax.Tm_match (uu____26166,hd4::uu____26168) -> + let uu____26233 = FStar_Syntax_Subst.open_branch hd4 in + (match uu____26233 with + | (uu____26248,uu____26249,hd5) -> + let uu____26267 = FStar_Syntax_Util.head_and_args hd5 + in + (match uu____26267 with + | (hd6,args2) -> type_of_head retry hd6 args2)) + | uu____26324 when retry -> let e1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.DoNotUnfoldPureLets] env e in - let uu____26238 = FStar_Syntax_Util.head_and_args e1 in - (match uu____26238 with - | (hd4, args2) -> type_of_head false hd4 args2) - | uu____26296 -> - let uu____26297 = - FStar_TypeChecker_Env.clear_expected_typ env in - (match uu____26297 with - | (env1, uu____26319) -> + FStar_TypeChecker_Env.DoNotUnfoldPureLets] env e + in + let uu____26326 = FStar_Syntax_Util.head_and_args e1 in + (match uu____26326 with + | (hd4,args2) -> type_of_head false hd4 args2) + | uu____26384 -> + let uu____26385 = + FStar_TypeChecker_Env.clear_expected_typ env in + (match uu____26385 with + | (env1,uu____26407) -> let env2 = - let uu___3505_26325 = env1 in + let uu___3526_26413 = env1 in { FStar_TypeChecker_Env.solver = - (uu___3505_26325.FStar_TypeChecker_Env.solver); + (uu___3526_26413.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___3505_26325.FStar_TypeChecker_Env.range); + (uu___3526_26413.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___3505_26325.FStar_TypeChecker_Env.curmodule); + (uu___3526_26413.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___3505_26325.FStar_TypeChecker_Env.gamma); + (uu___3526_26413.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___3505_26325.FStar_TypeChecker_Env.gamma_sig); + (uu___3526_26413.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___3505_26325.FStar_TypeChecker_Env.gamma_cache); + (uu___3526_26413.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___3505_26325.FStar_TypeChecker_Env.modules); + (uu___3526_26413.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___3505_26325.FStar_TypeChecker_Env.expected_typ); + (uu___3526_26413.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___3505_26325.FStar_TypeChecker_Env.sigtab); + (uu___3526_26413.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___3505_26325.FStar_TypeChecker_Env.attrtab); + (uu___3526_26413.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___3505_26325.FStar_TypeChecker_Env.is_pattern); + (uu___3526_26413.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___3505_26325.FStar_TypeChecker_Env.instantiate_imp); + (uu___3526_26413.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___3505_26325.FStar_TypeChecker_Env.effects); + (uu___3526_26413.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___3505_26325.FStar_TypeChecker_Env.generalize); + (uu___3526_26413.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___3505_26325.FStar_TypeChecker_Env.letrecs); + (uu___3526_26413.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = false; FStar_TypeChecker_Env.check_uvars = - (uu___3505_26325.FStar_TypeChecker_Env.check_uvars); + (uu___3526_26413.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___3505_26325.FStar_TypeChecker_Env.use_eq); + (uu___3526_26413.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___3505_26325.FStar_TypeChecker_Env.is_iface); + (uu___3526_26413.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___3505_26325.FStar_TypeChecker_Env.admit); + (uu___3526_26413.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = true; FStar_TypeChecker_Env.lax_universes = - (uu___3505_26325.FStar_TypeChecker_Env.lax_universes); + (uu___3526_26413.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___3505_26325.FStar_TypeChecker_Env.phase1); + (uu___3526_26413.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___3505_26325.FStar_TypeChecker_Env.failhard); + (uu___3526_26413.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___3505_26325.FStar_TypeChecker_Env.nosynth); + (uu___3526_26413.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___3505_26325.FStar_TypeChecker_Env.uvar_subtyping); + (uu___3526_26413.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___3505_26325.FStar_TypeChecker_Env.tc_term); + (uu___3526_26413.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___3505_26325.FStar_TypeChecker_Env.type_of); + (uu___3526_26413.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___3505_26325.FStar_TypeChecker_Env.universe_of); + (uu___3526_26413.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___3505_26325.FStar_TypeChecker_Env.check_type_of); + (uu___3526_26413.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = true; FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___3505_26325.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___3526_26413.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___3505_26325.FStar_TypeChecker_Env.normalized_eff_names); + (uu___3526_26413.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___3505_26325.FStar_TypeChecker_Env.fv_delta_depths); + (uu___3526_26413.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___3505_26325.FStar_TypeChecker_Env.proof_ns); + (uu___3526_26413.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___3505_26325.FStar_TypeChecker_Env.synth_hook); + (uu___3526_26413.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___3505_26325.FStar_TypeChecker_Env.splice); + (uu___3526_26413.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___3505_26325.FStar_TypeChecker_Env.postprocess); + (uu___3526_26413.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___3505_26325.FStar_TypeChecker_Env.is_native_tactic); + (uu___3526_26413.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___3505_26325.FStar_TypeChecker_Env.identifier_info); + (uu___3526_26413.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___3505_26325.FStar_TypeChecker_Env.tc_hooks); + (uu___3526_26413.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___3505_26325.FStar_TypeChecker_Env.dsenv); + (uu___3526_26413.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___3505_26325.FStar_TypeChecker_Env.nbe) - } in - ((let uu____26330 = + (uu___3526_26413.FStar_TypeChecker_Env.nbe) + } in + ((let uu____26418 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env2) - (FStar_Options.Other "UniverseOf") in - if uu____26330 + (FStar_Options.Other "UniverseOf") + in + if uu____26418 then - let uu____26335 = - let uu____26337 = - FStar_TypeChecker_Env.get_range env2 in - FStar_Range.string_of_range uu____26337 in - let uu____26338 = - FStar_Syntax_Print.term_to_string hd3 in + let uu____26423 = + let uu____26425 = + FStar_TypeChecker_Env.get_range env2 in + FStar_Range.string_of_range uu____26425 in + let uu____26426 = + FStar_Syntax_Print.term_to_string hd3 in FStar_Util.print2 "%s: About to type-check %s\n" - uu____26335 uu____26338 + uu____26423 uu____26426 else ()); - (let uu____26343 = tc_term env2 hd3 in - match uu____26343 with - | (uu____26364, - { FStar_Syntax_Syntax.eff_name = uu____26365; - FStar_Syntax_Syntax.res_typ = t; - FStar_Syntax_Syntax.cflags = uu____26367; - FStar_Syntax_Syntax.comp_thunk = uu____26368;_}, - g) -> - ((let uu____26382 = + (let uu____26431 = tc_term env2 hd3 in + match uu____26431 with + | (uu____26452,{ + FStar_Syntax_Syntax.eff_name = + uu____26453; + FStar_Syntax_Syntax.res_typ = t; + FStar_Syntax_Syntax.cflags = + uu____26455; + FStar_Syntax_Syntax.comp_thunk = + uu____26456;_},g) + -> + ((let uu____26470 = FStar_TypeChecker_Rel.solve_deferred_constraints - env2 g in - FStar_All.pipe_right uu____26382 (fun a1 -> ())); - (t, args1))))) in - let uu____26393 = type_of_head true hd1 args in - (match uu____26393 with - | (t, args1) -> + env2 g + in + FStar_All.pipe_right uu____26470 (fun a1 -> ())); + (t, args1))))) + in + let uu____26481 = type_of_head true hd1 args in + (match uu____26481 with + | (t,args1) -> let t1 = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.UnfoldUntil - FStar_Syntax_Syntax.delta_constant] env t in - let uu____26432 = FStar_Syntax_Util.arrow_formals_comp t1 in - (match uu____26432 with - | (bs, res) -> - let res1 = FStar_Syntax_Util.comp_result res in + FStar_Syntax_Syntax.delta_constant] env t + in + let uu____26520 = FStar_Syntax_Util.arrow_formals_comp t1 in + (match uu____26520 with + | (bs,res) -> + let res1 = FStar_Syntax_Util.comp_result res in if (FStar_List.length bs) = (FStar_List.length args1) then - let subst1 = FStar_Syntax_Util.subst_of_list bs args1 in + let subst1 = FStar_Syntax_Util.subst_of_list bs args1 + in FStar_Syntax_Subst.subst subst1 res1 else - (let uu____26484 = - FStar_Syntax_Print.term_to_string res1 in - level_of_type_fail env e uu____26484))) - | FStar_Syntax_Syntax.Tm_match (uu____26486, hd1::uu____26488) -> - let uu____26553 = FStar_Syntax_Subst.open_branch hd1 in - (match uu____26553 with - | (uu____26554, uu____26555, hd2) -> universe_of_aux env hd2) - | FStar_Syntax_Syntax.Tm_match (uu____26573, []) -> + (let uu____26572 = + FStar_Syntax_Print.term_to_string res1 in + level_of_type_fail env e uu____26572))) + | FStar_Syntax_Syntax.Tm_match (uu____26574,hd1::uu____26576) -> + let uu____26641 = FStar_Syntax_Subst.open_branch hd1 in + (match uu____26641 with + | (uu____26642,uu____26643,hd2) -> universe_of_aux env hd2) + | FStar_Syntax_Syntax.Tm_match (uu____26661,[]) -> level_of_type_fail env e "empty match cases" + let (universe_of : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.universe) = - fun env -> - fun e -> - let uu____26620 = universe_of_aux env e in - level_of_type env e uu____26620 + fun env -> + fun e -> + let uu____26708 = universe_of_aux env e in + level_of_type env e uu____26708 + let (tc_tparams : FStar_TypeChecker_Env.env_t -> FStar_Syntax_Syntax.binders -> (FStar_Syntax_Syntax.binders * FStar_TypeChecker_Env.env * FStar_Syntax_Syntax.universes)) = - fun env -> - fun tps -> - let uu____26644 = tc_binders env tps in - match uu____26644 with - | (tps1, env1, g, us) -> + fun env -> + fun tps -> + let uu____26732 = tc_binders env tps in + match uu____26732 with + | (tps1,env1,g,us) -> (FStar_TypeChecker_Rel.force_trivial_guard env1 g; (tps1, env1, us)) + let rec (type_of_well_typed_term : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option) = - fun env -> - fun t -> + fun env -> + fun t -> let mk_tm_type u = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_type u) - FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos in - let t1 = FStar_Syntax_Subst.compress t in + FStar_Pervasives_Native.None t.FStar_Syntax_Syntax.pos + in + let t1 = FStar_Syntax_Subst.compress t in match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_delayed uu____26702 -> failwith "Impossible" - | FStar_Syntax_Syntax.Tm_bvar uu____26728 -> failwith "Impossible" + | FStar_Syntax_Syntax.Tm_delayed uu____26790 -> failwith "Impossible" + | FStar_Syntax_Syntax.Tm_bvar uu____26816 -> failwith "Impossible" | FStar_Syntax_Syntax.Tm_name x -> FStar_Pervasives_Native.Some (x.FStar_Syntax_Syntax.sort) | FStar_Syntax_Syntax.Tm_lazy i -> - let uu____26734 = FStar_Syntax_Util.unfold_lazy i in - type_of_well_typed_term env uu____26734 + let uu____26822 = FStar_Syntax_Util.unfold_lazy i in + type_of_well_typed_term env uu____26822 | FStar_Syntax_Syntax.Tm_fvar fv -> - let uu____26736 = + let uu____26824 = FStar_TypeChecker_Env.try_lookup_and_inst_lid env [] - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - FStar_Util.bind_opt uu____26736 - (fun uu____26750 -> - match uu____26750 with - | (t2, uu____26758) -> FStar_Pervasives_Native.Some t2) + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + FStar_Util.bind_opt uu____26824 + (fun uu____26838 -> + match uu____26838 with + | (t2,uu____26846) -> FStar_Pervasives_Native.Some t2) | FStar_Syntax_Syntax.Tm_uinst ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____26760; - FStar_Syntax_Syntax.vars = uu____26761;_}, - us) + FStar_Syntax_Syntax.pos = uu____26848; + FStar_Syntax_Syntax.vars = uu____26849;_},us) -> - let uu____26767 = + let uu____26855 = FStar_TypeChecker_Env.try_lookup_and_inst_lid env us - (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in - FStar_Util.bind_opt uu____26767 - (fun uu____26781 -> - match uu____26781 with - | (t2, uu____26789) -> FStar_Pervasives_Native.Some t2) - | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify) -> + (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in + FStar_Util.bind_opt uu____26855 + (fun uu____26869 -> + match uu____26869 with + | (t2,uu____26877) -> FStar_Pervasives_Native.Some t2) + | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify ) -> FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reflect - uu____26790) -> FStar_Pervasives_Native.None + uu____26878) -> FStar_Pervasives_Native.None | FStar_Syntax_Syntax.Tm_constant sc -> - let uu____26792 = tc_constant env t1.FStar_Syntax_Syntax.pos sc in - FStar_Pervasives_Native.Some uu____26792 + let uu____26880 = tc_constant env t1.FStar_Syntax_Syntax.pos sc in + FStar_Pervasives_Native.Some uu____26880 | FStar_Syntax_Syntax.Tm_type u -> - let uu____26794 = mk_tm_type (FStar_Syntax_Syntax.U_succ u) in - FStar_Pervasives_Native.Some uu____26794 + let uu____26882 = mk_tm_type (FStar_Syntax_Syntax.U_succ u) in + FStar_Pervasives_Native.Some uu____26882 | FStar_Syntax_Syntax.Tm_abs - (bs, body, FStar_Pervasives_Native.Some + (bs,body,FStar_Pervasives_Native.Some { FStar_Syntax_Syntax.residual_effect = eff; FStar_Syntax_Syntax.residual_typ = FStar_Pervasives_Native.Some tbody; - FStar_Syntax_Syntax.residual_flags = uu____26799;_}) + FStar_Syntax_Syntax.residual_flags = uu____26887;_}) -> let mk_comp = - let uu____26843 = - FStar_Ident.lid_equals eff FStar_Parser_Const.effect_Tot_lid in - if uu____26843 + let uu____26931 = + FStar_Ident.lid_equals eff FStar_Parser_Const.effect_Tot_lid + in + if uu____26931 then FStar_Pervasives_Native.Some FStar_Syntax_Syntax.mk_Total' else - (let uu____26874 = + (let uu____26962 = FStar_Ident.lid_equals eff - FStar_Parser_Const.effect_GTot_lid in - if uu____26874 + FStar_Parser_Const.effect_GTot_lid + in + if uu____26962 then FStar_Pervasives_Native.Some FStar_Syntax_Syntax.mk_GTotal' - else FStar_Pervasives_Native.None) in + else FStar_Pervasives_Native.None) + in FStar_Util.bind_opt mk_comp - (fun f -> - let uu____26944 = universe_of_well_typed_term env tbody in - FStar_Util.bind_opt uu____26944 - (fun u -> - let uu____26952 = - let uu____26955 = - let uu____26962 = - let uu____26963 = - let uu____26978 = - f tbody (FStar_Pervasives_Native.Some u) in - (bs, uu____26978) in - FStar_Syntax_Syntax.Tm_arrow uu____26963 in - FStar_Syntax_Syntax.mk uu____26962 in - uu____26955 FStar_Pervasives_Native.None - t1.FStar_Syntax_Syntax.pos in - FStar_Pervasives_Native.Some uu____26952)) - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____27015 = FStar_Syntax_Subst.open_comp bs c in - (match uu____27015 with - | (bs1, c1) -> + (fun f -> + let uu____27032 = universe_of_well_typed_term env tbody in + FStar_Util.bind_opt uu____27032 + (fun u -> + let uu____27040 = + let uu____27043 = + let uu____27050 = + let uu____27051 = + let uu____27066 = + f tbody (FStar_Pervasives_Native.Some u) in + (bs, uu____27066) in + FStar_Syntax_Syntax.Tm_arrow uu____27051 in + FStar_Syntax_Syntax.mk uu____27050 in + uu____27043 FStar_Pervasives_Native.None + t1.FStar_Syntax_Syntax.pos + in + FStar_Pervasives_Native.Some uu____27040)) + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____27103 = FStar_Syntax_Subst.open_comp bs c in + (match uu____27103 with + | (bs1,c1) -> let rec aux env1 us bs2 = match bs2 with | [] -> - let uu____27074 = + let uu____27162 = universe_of_well_typed_term env1 - (FStar_Syntax_Util.comp_result c1) in - FStar_Util.bind_opt uu____27074 - (fun uc -> - let uu____27082 = - mk_tm_type (FStar_Syntax_Syntax.U_max (uc :: us)) in - FStar_Pervasives_Native.Some uu____27082) - | (x, imp)::bs3 -> - let uu____27108 = + (FStar_Syntax_Util.comp_result c1) + in + FStar_Util.bind_opt uu____27162 + (fun uc -> + let uu____27170 = + mk_tm_type (FStar_Syntax_Syntax.U_max (uc :: us)) + in + FStar_Pervasives_Native.Some uu____27170) + | (x,imp)::bs3 -> + let uu____27196 = universe_of_well_typed_term env1 - x.FStar_Syntax_Syntax.sort in - FStar_Util.bind_opt uu____27108 - (fun u_x -> - let env2 = FStar_TypeChecker_Env.push_bv env1 x in - aux env2 (u_x :: us) bs3) in + x.FStar_Syntax_Syntax.sort + in + FStar_Util.bind_opt uu____27196 + (fun u_x -> + let env2 = FStar_TypeChecker_Env.push_bv env1 x in + aux env2 (u_x :: us) bs3) + in aux env [] bs1) - | FStar_Syntax_Syntax.Tm_abs uu____27117 -> + | FStar_Syntax_Syntax.Tm_abs uu____27205 -> FStar_Pervasives_Native.None - | FStar_Syntax_Syntax.Tm_refine (x, uu____27137) -> - let uu____27142 = - universe_of_well_typed_term env x.FStar_Syntax_Syntax.sort in - FStar_Util.bind_opt uu____27142 - (fun u_x -> - let uu____27150 = mk_tm_type u_x in - FStar_Pervasives_Native.Some uu____27150) + | FStar_Syntax_Syntax.Tm_refine (x,uu____27225) -> + let uu____27230 = + universe_of_well_typed_term env x.FStar_Syntax_Syntax.sort in + FStar_Util.bind_opt uu____27230 + (fun u_x -> + let uu____27238 = mk_tm_type u_x in + FStar_Pervasives_Native.Some uu____27238) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_range_of); - FStar_Syntax_Syntax.pos = uu____27155; - FStar_Syntax_Syntax.vars = uu____27156;_}, - a::hd1::rest) + (FStar_Const.Const_range_of ); + FStar_Syntax_Syntax.pos = uu____27243; + FStar_Syntax_Syntax.vars = uu____27244;_},a::hd1::rest) -> - let rest1 = hd1 :: rest in - let uu____27235 = FStar_Syntax_Util.head_and_args t1 in - (match uu____27235 with - | (unary_op1, uu____27255) -> + let rest1 = hd1 :: rest in + let uu____27323 = FStar_Syntax_Util.head_and_args t1 in + (match uu____27323 with + | (unary_op1,uu____27343) -> let head1 = - let uu____27283 = + let uu____27371 = FStar_Range.union_ranges unary_op1.FStar_Syntax_Syntax.pos - (FStar_Pervasives_Native.fst a).FStar_Syntax_Syntax.pos in + (FStar_Pervasives_Native.fst a).FStar_Syntax_Syntax.pos + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (unary_op1, [a])) - FStar_Pervasives_Native.None uu____27283 in + FStar_Pervasives_Native.None uu____27371 + in let t2 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (head1, rest1)) - FStar_Pervasives_Native.None t1.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None t1.FStar_Syntax_Syntax.pos + in type_of_well_typed_term env t2) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_set_range_of); - FStar_Syntax_Syntax.pos = uu____27331; - FStar_Syntax_Syntax.vars = uu____27332;_}, - a1::a2::hd1::rest) + (FStar_Const.Const_set_range_of ); + FStar_Syntax_Syntax.pos = uu____27419; + FStar_Syntax_Syntax.vars = uu____27420;_},a1::a2::hd1::rest) -> - let rest1 = hd1 :: rest in - let uu____27428 = FStar_Syntax_Util.head_and_args t1 in - (match uu____27428 with - | (unary_op1, uu____27448) -> + let rest1 = hd1 :: rest in + let uu____27516 = FStar_Syntax_Util.head_and_args t1 in + (match uu____27516 with + | (unary_op1,uu____27536) -> let head1 = - let uu____27476 = + let uu____27564 = FStar_Range.union_ranges unary_op1.FStar_Syntax_Syntax.pos - (FStar_Pervasives_Native.fst a1).FStar_Syntax_Syntax.pos in + (FStar_Pervasives_Native.fst a1).FStar_Syntax_Syntax.pos + in FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (unary_op1, [a1; a2])) - FStar_Pervasives_Native.None uu____27476 in + FStar_Pervasives_Native.None uu____27564 + in let t2 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (head1, rest1)) - FStar_Pervasives_Native.None t1.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None t1.FStar_Syntax_Syntax.pos + in type_of_well_typed_term env t2) | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_range_of); - FStar_Syntax_Syntax.pos = uu____27532; - FStar_Syntax_Syntax.vars = uu____27533;_}, - uu____27534::[]) + (FStar_Const.Const_range_of ); + FStar_Syntax_Syntax.pos = uu____27620; + FStar_Syntax_Syntax.vars = uu____27621;_},uu____27622::[]) -> FStar_Pervasives_Native.Some FStar_Syntax_Syntax.t_range | FStar_Syntax_Syntax.Tm_app ({ FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_constant - (FStar_Const.Const_set_range_of); - FStar_Syntax_Syntax.pos = uu____27573; - FStar_Syntax_Syntax.vars = uu____27574;_}, - (t2, uu____27576)::uu____27577::[]) + (FStar_Const.Const_set_range_of ); + FStar_Syntax_Syntax.pos = uu____27661; + FStar_Syntax_Syntax.vars = uu____27662;_},(t2,uu____27664)::uu____27665::[]) -> type_of_well_typed_term env t2 - | FStar_Syntax_Syntax.Tm_app (hd1, args) -> - let t_hd = type_of_well_typed_term env hd1 in + | FStar_Syntax_Syntax.Tm_app (hd1,args) -> + let t_hd = type_of_well_typed_term env hd1 in let rec aux t_hd1 = - let uu____27673 = - let uu____27674 = - FStar_TypeChecker_Normalize.unfold_whnf env t_hd1 in - uu____27674.FStar_Syntax_Syntax.n in - match uu____27673 with - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let n_args = FStar_List.length args in - let n_bs = FStar_List.length bs in + let uu____27761 = + let uu____27762 = + FStar_TypeChecker_Normalize.unfold_whnf env t_hd1 in + uu____27762.FStar_Syntax_Syntax.n in + match uu____27761 with + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let n_args = FStar_List.length args in + let n_bs = FStar_List.length bs in let bs_t_opt = if n_args < n_bs then - let uu____27747 = FStar_Util.first_N n_args bs in - match uu____27747 with - | (bs1, rest) -> + let uu____27835 = FStar_Util.first_N n_args bs in + match uu____27835 with + | (bs1,rest) -> let t2 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow (rest, c)) FStar_Pervasives_Native.None - t_hd1.FStar_Syntax_Syntax.pos in - let uu____27835 = - let uu____27840 = FStar_Syntax_Syntax.mk_Total t2 in - FStar_Syntax_Subst.open_comp bs1 uu____27840 in - (match uu____27835 with - | (bs2, c1) -> + t_hd1.FStar_Syntax_Syntax.pos + in + let uu____27923 = + let uu____27928 = FStar_Syntax_Syntax.mk_Total t2 + in + FStar_Syntax_Subst.open_comp bs1 uu____27928 in + (match uu____27923 with + | (bs2,c1) -> FStar_Pervasives_Native.Some (bs2, (FStar_Syntax_Util.comp_result c1))) else if n_args = n_bs then - (let uu____27894 = FStar_Syntax_Subst.open_comp bs c in - match uu____27894 with - | (bs1, c1) -> - let uu____27915 = - FStar_Syntax_Util.is_tot_or_gtot_comp c1 in - if uu____27915 + (let uu____27982 = FStar_Syntax_Subst.open_comp bs c + in + match uu____27982 with + | (bs1,c1) -> + let uu____28003 = + FStar_Syntax_Util.is_tot_or_gtot_comp c1 in + if uu____28003 then FStar_Pervasives_Native.Some (bs1, (FStar_Syntax_Util.comp_result c1)) else FStar_Pervasives_Native.None) - else FStar_Pervasives_Native.None in + else FStar_Pervasives_Native.None + in FStar_Util.bind_opt bs_t_opt - (fun uu____27997 -> - match uu____27997 with - | (bs1, t2) -> + (fun uu____28085 -> + match uu____28085 with + | (bs1,t2) -> let subst1 = FStar_List.map2 - (fun b -> - fun a -> + (fun b -> + fun a -> FStar_Syntax_Syntax.NT ((FStar_Pervasives_Native.fst b), (FStar_Pervasives_Native.fst a))) bs1 - args in - let uu____28073 = FStar_Syntax_Subst.subst subst1 t2 in - FStar_Pervasives_Native.Some uu____28073) - | FStar_Syntax_Syntax.Tm_refine (x, uu____28075) -> + args + in + let uu____28161 = FStar_Syntax_Subst.subst subst1 t2 + in + FStar_Pervasives_Native.Some uu____28161) + | FStar_Syntax_Syntax.Tm_refine (x,uu____28163) -> aux x.FStar_Syntax_Syntax.sort - | FStar_Syntax_Syntax.Tm_ascribed (t2, uu____28081, uu____28082) - -> aux t2 - | uu____28123 -> FStar_Pervasives_Native.None in + | FStar_Syntax_Syntax.Tm_ascribed (t2,uu____28169,uu____28170) -> + aux t2 + | uu____28211 -> FStar_Pervasives_Native.None in FStar_Util.bind_opt t_hd aux | FStar_Syntax_Syntax.Tm_ascribed - (uu____28124, (FStar_Util.Inl t2, uu____28126), uu____28127) -> + (uu____28212,(FStar_Util.Inl t2,uu____28214),uu____28215) -> FStar_Pervasives_Native.Some t2 | FStar_Syntax_Syntax.Tm_ascribed - (uu____28174, (FStar_Util.Inr c, uu____28176), uu____28177) -> + (uu____28262,(FStar_Util.Inr c,uu____28264),uu____28265) -> FStar_Pervasives_Native.Some (FStar_Syntax_Util.comp_result c) - | FStar_Syntax_Syntax.Tm_uvar (u, s) -> - let uu____28242 = - FStar_Syntax_Subst.subst' s u.FStar_Syntax_Syntax.ctx_uvar_typ in - FStar_Pervasives_Native.Some uu____28242 - | FStar_Syntax_Syntax.Tm_quoted (tm, qi) -> + | FStar_Syntax_Syntax.Tm_uvar (u,s) -> + let uu____28330 = + FStar_Syntax_Subst.subst' s u.FStar_Syntax_Syntax.ctx_uvar_typ + in + FStar_Pervasives_Native.Some uu____28330 + | FStar_Syntax_Syntax.Tm_quoted (tm,qi) -> FStar_Pervasives_Native.Some FStar_Syntax_Syntax.t_term - | FStar_Syntax_Syntax.Tm_meta (t2, uu____28250) -> + | FStar_Syntax_Syntax.Tm_meta (t2,uu____28338) -> type_of_well_typed_term env t2 - | FStar_Syntax_Syntax.Tm_match uu____28255 -> + | FStar_Syntax_Syntax.Tm_match uu____28343 -> FStar_Pervasives_Native.None - | FStar_Syntax_Syntax.Tm_let uu____28278 -> + | FStar_Syntax_Syntax.Tm_let uu____28366 -> FStar_Pervasives_Native.None - | FStar_Syntax_Syntax.Tm_unknown -> FStar_Pervasives_Native.None - | FStar_Syntax_Syntax.Tm_uinst uu____28292 -> + | FStar_Syntax_Syntax.Tm_unknown -> FStar_Pervasives_Native.None + | FStar_Syntax_Syntax.Tm_uinst uu____28380 -> FStar_Pervasives_Native.None + and (universe_of_well_typed_term : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option) = - fun env -> - fun t -> - let uu____28303 = type_of_well_typed_term env t in - match uu____28303 with + fun env -> + fun t -> + let uu____28391 = type_of_well_typed_term env t in + match uu____28391 with | FStar_Pervasives_Native.Some { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_type u; - FStar_Syntax_Syntax.pos = uu____28309; - FStar_Syntax_Syntax.vars = uu____28310;_} + FStar_Syntax_Syntax.pos = uu____28397; + FStar_Syntax_Syntax.vars = uu____28398;_} -> FStar_Pervasives_Native.Some u - | uu____28313 -> FStar_Pervasives_Native.None + | uu____28401 -> FStar_Pervasives_Native.None + let (check_type_of_well_typed_term' : Prims.bool -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ -> FStar_TypeChecker_Env.guard_t) = - fun must_total -> - fun env -> - fun t -> - fun k -> - let env1 = FStar_TypeChecker_Env.set_expected_typ env k in + fun must_total -> + fun env -> + fun t -> + fun k -> + let env1 = FStar_TypeChecker_Env.set_expected_typ env k in let env2 = - let uu___3784_28341 = env1 in + let uu___3805_28429 = env1 in { FStar_TypeChecker_Env.solver = - (uu___3784_28341.FStar_TypeChecker_Env.solver); + (uu___3805_28429.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___3784_28341.FStar_TypeChecker_Env.range); + (uu___3805_28429.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___3784_28341.FStar_TypeChecker_Env.curmodule); + (uu___3805_28429.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___3784_28341.FStar_TypeChecker_Env.gamma); + (uu___3805_28429.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___3784_28341.FStar_TypeChecker_Env.gamma_sig); + (uu___3805_28429.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___3784_28341.FStar_TypeChecker_Env.gamma_cache); + (uu___3805_28429.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___3784_28341.FStar_TypeChecker_Env.modules); + (uu___3805_28429.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___3784_28341.FStar_TypeChecker_Env.expected_typ); + (uu___3805_28429.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___3784_28341.FStar_TypeChecker_Env.sigtab); + (uu___3805_28429.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___3784_28341.FStar_TypeChecker_Env.attrtab); + (uu___3805_28429.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___3784_28341.FStar_TypeChecker_Env.is_pattern); + (uu___3805_28429.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___3784_28341.FStar_TypeChecker_Env.instantiate_imp); + (uu___3805_28429.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___3784_28341.FStar_TypeChecker_Env.effects); + (uu___3805_28429.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___3784_28341.FStar_TypeChecker_Env.generalize); + (uu___3805_28429.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___3784_28341.FStar_TypeChecker_Env.letrecs); + (uu___3805_28429.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___3784_28341.FStar_TypeChecker_Env.top_level); + (uu___3805_28429.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___3784_28341.FStar_TypeChecker_Env.check_uvars); + (uu___3805_28429.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___3784_28341.FStar_TypeChecker_Env.use_eq); + (uu___3805_28429.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___3784_28341.FStar_TypeChecker_Env.is_iface); + (uu___3805_28429.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___3784_28341.FStar_TypeChecker_Env.admit); + (uu___3805_28429.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___3784_28341.FStar_TypeChecker_Env.lax); + (uu___3805_28429.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___3784_28341.FStar_TypeChecker_Env.lax_universes); + (uu___3805_28429.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___3784_28341.FStar_TypeChecker_Env.phase1); + (uu___3805_28429.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___3784_28341.FStar_TypeChecker_Env.failhard); + (uu___3805_28429.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___3784_28341.FStar_TypeChecker_Env.nosynth); + (uu___3805_28429.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___3784_28341.FStar_TypeChecker_Env.uvar_subtyping); + (uu___3805_28429.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___3784_28341.FStar_TypeChecker_Env.tc_term); + (uu___3805_28429.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___3784_28341.FStar_TypeChecker_Env.type_of); + (uu___3805_28429.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___3784_28341.FStar_TypeChecker_Env.universe_of); + (uu___3805_28429.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___3784_28341.FStar_TypeChecker_Env.check_type_of); + (uu___3805_28429.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = true; FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___3784_28341.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___3805_28429.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___3784_28341.FStar_TypeChecker_Env.normalized_eff_names); + (uu___3805_28429.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___3784_28341.FStar_TypeChecker_Env.fv_delta_depths); + (uu___3805_28429.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___3784_28341.FStar_TypeChecker_Env.proof_ns); + (uu___3805_28429.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___3784_28341.FStar_TypeChecker_Env.synth_hook); + (uu___3805_28429.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___3784_28341.FStar_TypeChecker_Env.splice); + (uu___3805_28429.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___3784_28341.FStar_TypeChecker_Env.postprocess); + (uu___3805_28429.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___3784_28341.FStar_TypeChecker_Env.is_native_tactic); + (uu___3805_28429.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___3784_28341.FStar_TypeChecker_Env.identifier_info); + (uu___3805_28429.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___3784_28341.FStar_TypeChecker_Env.tc_hooks); + (uu___3805_28429.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___3784_28341.FStar_TypeChecker_Env.dsenv); + (uu___3805_28429.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___3784_28341.FStar_TypeChecker_Env.nbe) - } in - let slow_check uu____28348 = + (uu___3805_28429.FStar_TypeChecker_Env.nbe) + } in + let slow_check uu____28436 = if must_total then - let uu____28350 = env2.FStar_TypeChecker_Env.type_of env2 t in - match uu____28350 with | (uu____28357, uu____28358, g) -> g + let uu____28438 = env2.FStar_TypeChecker_Env.type_of env2 t in + match uu____28438 with | (uu____28445,uu____28446,g) -> g else - (let uu____28362 = env2.FStar_TypeChecker_Env.tc_term env2 t in - match uu____28362 with | (uu____28369, uu____28370, g) -> g) in - let uu____28372 = type_of_well_typed_term env2 t in - match uu____28372 with - | FStar_Pervasives_Native.None -> slow_check () + (let uu____28450 = env2.FStar_TypeChecker_Env.tc_term env2 t + in + match uu____28450 with | (uu____28457,uu____28458,g) -> g) + in + let uu____28460 = type_of_well_typed_term env2 t in + match uu____28460 with + | FStar_Pervasives_Native.None -> slow_check () | FStar_Pervasives_Native.Some k' -> - ((let uu____28377 = + ((let uu____28465 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env2) - (FStar_Options.Other "FastImplicits") in - if uu____28377 + (FStar_Options.Other "FastImplicits") + in + if uu____28465 then - let uu____28382 = - FStar_Range.string_of_range t.FStar_Syntax_Syntax.pos in - let uu____28384 = FStar_Syntax_Print.term_to_string t in - let uu____28386 = FStar_Syntax_Print.term_to_string k' in - let uu____28388 = FStar_Syntax_Print.term_to_string k in + let uu____28470 = + FStar_Range.string_of_range t.FStar_Syntax_Syntax.pos in + let uu____28472 = FStar_Syntax_Print.term_to_string t in + let uu____28474 = FStar_Syntax_Print.term_to_string k' in + let uu____28476 = FStar_Syntax_Print.term_to_string k in FStar_Util.print4 "(%s) Fast check %s : %s <:? %s\n" - uu____28382 uu____28384 uu____28386 uu____28388 + uu____28470 uu____28472 uu____28474 uu____28476 else ()); - (let g = FStar_TypeChecker_Rel.subtype_nosmt env2 k' k in - (let uu____28397 = + (let g = FStar_TypeChecker_Rel.subtype_nosmt env2 k' k in + (let uu____28485 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env2) - (FStar_Options.Other "FastImplicits") in - if uu____28397 + (FStar_Options.Other "FastImplicits") + in + if uu____28485 then - let uu____28402 = - FStar_Range.string_of_range t.FStar_Syntax_Syntax.pos in - let uu____28404 = FStar_Syntax_Print.term_to_string t in - let uu____28406 = FStar_Syntax_Print.term_to_string k' in - let uu____28408 = FStar_Syntax_Print.term_to_string k in + let uu____28490 = + FStar_Range.string_of_range t.FStar_Syntax_Syntax.pos + in + let uu____28492 = FStar_Syntax_Print.term_to_string t in + let uu____28494 = FStar_Syntax_Print.term_to_string k' in + let uu____28496 = FStar_Syntax_Print.term_to_string k in FStar_Util.print5 "(%s) Fast check %s: %s : %s <: %s\n" - uu____28402 + uu____28490 (if FStar_Option.isSome g then "succeeded with guard" - else "failed") uu____28404 uu____28406 uu____28408 + else "failed") uu____28492 uu____28494 uu____28496 else ()); (match g with - | FStar_Pervasives_Native.None -> slow_check () + | FStar_Pervasives_Native.None -> slow_check () | FStar_Pervasives_Native.Some g1 -> g1))) + let (check_type_of_well_typed_term : Prims.bool -> FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.typ -> FStar_TypeChecker_Env.guard_t) = - fun must_total -> - fun env -> - fun t -> - fun k -> - let env1 = FStar_TypeChecker_Env.set_expected_typ env k in + fun must_total -> + fun env -> + fun t -> + fun k -> + let env1 = FStar_TypeChecker_Env.set_expected_typ env k in let env2 = - let uu___3815_28445 = env1 in + let uu___3836_28533 = env1 in { FStar_TypeChecker_Env.solver = - (uu___3815_28445.FStar_TypeChecker_Env.solver); + (uu___3836_28533.FStar_TypeChecker_Env.solver); FStar_TypeChecker_Env.range = - (uu___3815_28445.FStar_TypeChecker_Env.range); + (uu___3836_28533.FStar_TypeChecker_Env.range); FStar_TypeChecker_Env.curmodule = - (uu___3815_28445.FStar_TypeChecker_Env.curmodule); + (uu___3836_28533.FStar_TypeChecker_Env.curmodule); FStar_TypeChecker_Env.gamma = - (uu___3815_28445.FStar_TypeChecker_Env.gamma); + (uu___3836_28533.FStar_TypeChecker_Env.gamma); FStar_TypeChecker_Env.gamma_sig = - (uu___3815_28445.FStar_TypeChecker_Env.gamma_sig); + (uu___3836_28533.FStar_TypeChecker_Env.gamma_sig); FStar_TypeChecker_Env.gamma_cache = - (uu___3815_28445.FStar_TypeChecker_Env.gamma_cache); + (uu___3836_28533.FStar_TypeChecker_Env.gamma_cache); FStar_TypeChecker_Env.modules = - (uu___3815_28445.FStar_TypeChecker_Env.modules); + (uu___3836_28533.FStar_TypeChecker_Env.modules); FStar_TypeChecker_Env.expected_typ = - (uu___3815_28445.FStar_TypeChecker_Env.expected_typ); + (uu___3836_28533.FStar_TypeChecker_Env.expected_typ); FStar_TypeChecker_Env.sigtab = - (uu___3815_28445.FStar_TypeChecker_Env.sigtab); + (uu___3836_28533.FStar_TypeChecker_Env.sigtab); FStar_TypeChecker_Env.attrtab = - (uu___3815_28445.FStar_TypeChecker_Env.attrtab); + (uu___3836_28533.FStar_TypeChecker_Env.attrtab); FStar_TypeChecker_Env.is_pattern = - (uu___3815_28445.FStar_TypeChecker_Env.is_pattern); + (uu___3836_28533.FStar_TypeChecker_Env.is_pattern); FStar_TypeChecker_Env.instantiate_imp = - (uu___3815_28445.FStar_TypeChecker_Env.instantiate_imp); + (uu___3836_28533.FStar_TypeChecker_Env.instantiate_imp); FStar_TypeChecker_Env.effects = - (uu___3815_28445.FStar_TypeChecker_Env.effects); + (uu___3836_28533.FStar_TypeChecker_Env.effects); FStar_TypeChecker_Env.generalize = - (uu___3815_28445.FStar_TypeChecker_Env.generalize); + (uu___3836_28533.FStar_TypeChecker_Env.generalize); FStar_TypeChecker_Env.letrecs = - (uu___3815_28445.FStar_TypeChecker_Env.letrecs); + (uu___3836_28533.FStar_TypeChecker_Env.letrecs); FStar_TypeChecker_Env.top_level = - (uu___3815_28445.FStar_TypeChecker_Env.top_level); + (uu___3836_28533.FStar_TypeChecker_Env.top_level); FStar_TypeChecker_Env.check_uvars = - (uu___3815_28445.FStar_TypeChecker_Env.check_uvars); + (uu___3836_28533.FStar_TypeChecker_Env.check_uvars); FStar_TypeChecker_Env.use_eq = - (uu___3815_28445.FStar_TypeChecker_Env.use_eq); + (uu___3836_28533.FStar_TypeChecker_Env.use_eq); FStar_TypeChecker_Env.is_iface = - (uu___3815_28445.FStar_TypeChecker_Env.is_iface); + (uu___3836_28533.FStar_TypeChecker_Env.is_iface); FStar_TypeChecker_Env.admit = - (uu___3815_28445.FStar_TypeChecker_Env.admit); + (uu___3836_28533.FStar_TypeChecker_Env.admit); FStar_TypeChecker_Env.lax = - (uu___3815_28445.FStar_TypeChecker_Env.lax); + (uu___3836_28533.FStar_TypeChecker_Env.lax); FStar_TypeChecker_Env.lax_universes = - (uu___3815_28445.FStar_TypeChecker_Env.lax_universes); + (uu___3836_28533.FStar_TypeChecker_Env.lax_universes); FStar_TypeChecker_Env.phase1 = - (uu___3815_28445.FStar_TypeChecker_Env.phase1); + (uu___3836_28533.FStar_TypeChecker_Env.phase1); FStar_TypeChecker_Env.failhard = - (uu___3815_28445.FStar_TypeChecker_Env.failhard); + (uu___3836_28533.FStar_TypeChecker_Env.failhard); FStar_TypeChecker_Env.nosynth = - (uu___3815_28445.FStar_TypeChecker_Env.nosynth); + (uu___3836_28533.FStar_TypeChecker_Env.nosynth); FStar_TypeChecker_Env.uvar_subtyping = - (uu___3815_28445.FStar_TypeChecker_Env.uvar_subtyping); + (uu___3836_28533.FStar_TypeChecker_Env.uvar_subtyping); FStar_TypeChecker_Env.tc_term = - (uu___3815_28445.FStar_TypeChecker_Env.tc_term); + (uu___3836_28533.FStar_TypeChecker_Env.tc_term); FStar_TypeChecker_Env.type_of = - (uu___3815_28445.FStar_TypeChecker_Env.type_of); + (uu___3836_28533.FStar_TypeChecker_Env.type_of); FStar_TypeChecker_Env.universe_of = - (uu___3815_28445.FStar_TypeChecker_Env.universe_of); + (uu___3836_28533.FStar_TypeChecker_Env.universe_of); FStar_TypeChecker_Env.check_type_of = - (uu___3815_28445.FStar_TypeChecker_Env.check_type_of); + (uu___3836_28533.FStar_TypeChecker_Env.check_type_of); FStar_TypeChecker_Env.use_bv_sorts = true; FStar_TypeChecker_Env.qtbl_name_and_index = - (uu___3815_28445.FStar_TypeChecker_Env.qtbl_name_and_index); + (uu___3836_28533.FStar_TypeChecker_Env.qtbl_name_and_index); FStar_TypeChecker_Env.normalized_eff_names = - (uu___3815_28445.FStar_TypeChecker_Env.normalized_eff_names); + (uu___3836_28533.FStar_TypeChecker_Env.normalized_eff_names); FStar_TypeChecker_Env.fv_delta_depths = - (uu___3815_28445.FStar_TypeChecker_Env.fv_delta_depths); + (uu___3836_28533.FStar_TypeChecker_Env.fv_delta_depths); FStar_TypeChecker_Env.proof_ns = - (uu___3815_28445.FStar_TypeChecker_Env.proof_ns); + (uu___3836_28533.FStar_TypeChecker_Env.proof_ns); FStar_TypeChecker_Env.synth_hook = - (uu___3815_28445.FStar_TypeChecker_Env.synth_hook); + (uu___3836_28533.FStar_TypeChecker_Env.synth_hook); FStar_TypeChecker_Env.splice = - (uu___3815_28445.FStar_TypeChecker_Env.splice); + (uu___3836_28533.FStar_TypeChecker_Env.splice); FStar_TypeChecker_Env.postprocess = - (uu___3815_28445.FStar_TypeChecker_Env.postprocess); + (uu___3836_28533.FStar_TypeChecker_Env.postprocess); FStar_TypeChecker_Env.is_native_tactic = - (uu___3815_28445.FStar_TypeChecker_Env.is_native_tactic); + (uu___3836_28533.FStar_TypeChecker_Env.is_native_tactic); FStar_TypeChecker_Env.identifier_info = - (uu___3815_28445.FStar_TypeChecker_Env.identifier_info); + (uu___3836_28533.FStar_TypeChecker_Env.identifier_info); FStar_TypeChecker_Env.tc_hooks = - (uu___3815_28445.FStar_TypeChecker_Env.tc_hooks); + (uu___3836_28533.FStar_TypeChecker_Env.tc_hooks); FStar_TypeChecker_Env.dsenv = - (uu___3815_28445.FStar_TypeChecker_Env.dsenv); + (uu___3836_28533.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = - (uu___3815_28445.FStar_TypeChecker_Env.nbe) - } in - let slow_check uu____28452 = + (uu___3836_28533.FStar_TypeChecker_Env.nbe) + } in + let slow_check uu____28540 = if must_total then - let uu____28454 = env2.FStar_TypeChecker_Env.type_of env2 t in - match uu____28454 with | (uu____28461, uu____28462, g) -> g + let uu____28542 = env2.FStar_TypeChecker_Env.type_of env2 t in + match uu____28542 with | (uu____28549,uu____28550,g) -> g else - (let uu____28466 = env2.FStar_TypeChecker_Env.tc_term env2 t in - match uu____28466 with | (uu____28473, uu____28474, g) -> g) in - let uu____28476 = - let uu____28478 = FStar_Options.__temp_fast_implicits () in - FStar_All.pipe_left Prims.op_Negation uu____28478 in - if uu____28476 + (let uu____28554 = env2.FStar_TypeChecker_Env.tc_term env2 t + in + match uu____28554 with | (uu____28561,uu____28562,g) -> g) + in + let uu____28564 = + let uu____28566 = FStar_Options.__temp_fast_implicits () in + FStar_All.pipe_left Prims.op_Negation uu____28566 in + if uu____28564 then slow_check () - else check_type_of_well_typed_term' must_total env2 t k \ No newline at end of file + else check_type_of_well_typed_term' must_total env2 t k + \ No newline at end of file diff --git a/src/ocaml-output/FStar_TypeChecker_Util.ml b/src/ocaml-output/FStar_TypeChecker_Util.ml index b2d36bc3cc5..45f7852c263 100644 --- a/src/ocaml-output/FStar_TypeChecker_Util.ml +++ b/src/ocaml-output/FStar_TypeChecker_Util.ml @@ -3,11 +3,13 @@ type lcomp_with_binder = (FStar_Syntax_Syntax.bv FStar_Pervasives_Native.option * FStar_Syntax_Syntax.lcomp) let (report : FStar_TypeChecker_Env.env -> Prims.string Prims.list -> unit) = - fun env -> - fun errs -> - let uu____22 = FStar_TypeChecker_Env.get_range env in - let uu____23 = FStar_TypeChecker_Err.failed_to_prove_specification errs in + fun env -> + fun errs -> + let uu____22 = FStar_TypeChecker_Env.get_range env in + let uu____23 = FStar_TypeChecker_Err.failed_to_prove_specification errs + in FStar_Errors.log_issue uu____22 uu____23 + let (new_implicit_var : Prims.string -> FStar_Range.range -> @@ -16,62 +18,65 @@ let (new_implicit_var : (FStar_Syntax_Syntax.term * (FStar_Syntax_Syntax.ctx_uvar * FStar_Range.range) Prims.list * FStar_TypeChecker_Env.guard_t)) = - fun reason -> - fun r -> - fun env -> - fun k -> + fun reason -> + fun r -> + fun env -> + fun k -> FStar_TypeChecker_Env.new_implicit_var_aux reason r env k FStar_Syntax_Syntax.Strict FStar_Pervasives_Native.None + let (close_guard_implicits : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.binders -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) = - fun env -> - fun xs -> - fun g -> + fun env -> + fun xs -> + fun g -> let uu____84 = - let uu____86 = FStar_Options.eager_subtyping () in - FStar_All.pipe_left Prims.op_Negation uu____86 in + let uu____86 = FStar_Options.eager_subtyping () in + FStar_All.pipe_left Prims.op_Negation uu____86 in if uu____84 then g else (let uu____93 = FStar_All.pipe_right g.FStar_TypeChecker_Env.deferred (FStar_List.partition - (fun uu____145 -> + (fun uu____145 -> match uu____145 with - | (uu____152, p) -> - FStar_TypeChecker_Rel.flex_prob_closing env xs p)) in + | (uu____152,p) -> + FStar_TypeChecker_Rel.flex_prob_closing env xs p)) + in match uu____93 with - | (solve_now, defer) -> + | (solve_now,defer) -> ((let uu____187 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____187 then (FStar_Util.print_string "SOLVE BEFORE CLOSING:\n"; FStar_List.iter - (fun uu____204 -> + (fun uu____204 -> match uu____204 with - | (s, p) -> + | (s,p) -> let uu____214 = - FStar_TypeChecker_Rel.prob_to_string env p in + FStar_TypeChecker_Rel.prob_to_string env p in FStar_Util.print2 "%s: %s\n" s uu____214) solve_now; FStar_Util.print_string " ...DEFERRED THE REST:\n"; FStar_List.iter - (fun uu____229 -> + (fun uu____229 -> match uu____229 with - | (s, p) -> + | (s,p) -> let uu____239 = - FStar_TypeChecker_Rel.prob_to_string env p in + FStar_TypeChecker_Rel.prob_to_string env p in FStar_Util.print2 "%s: %s\n" s uu____239) defer; FStar_Util.print_string "END\n") else ()); (let g1 = FStar_TypeChecker_Rel.solve_deferred_constraints env - (let uu___46_247 = g in + (let uu___46_247 = g in { FStar_TypeChecker_Env.guard_f = (uu___46_247.FStar_TypeChecker_Env.guard_f); @@ -80,9 +85,10 @@ let (close_guard_implicits : (uu___46_247.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = (uu___46_247.FStar_TypeChecker_Env.implicits) - }) in + }) + in let g2 = - let uu___49_249 = g1 in + let uu___49_249 = g1 in { FStar_TypeChecker_Env.guard_f = (uu___49_249.FStar_TypeChecker_Env.guard_f); @@ -91,45 +97,49 @@ let (close_guard_implicits : (uu___49_249.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = (uu___49_249.FStar_TypeChecker_Env.implicits) - } in + } in g2))) + let (check_uvars : FStar_Range.range -> FStar_Syntax_Syntax.typ -> unit) = - fun r -> - fun t -> - let uvs = FStar_Syntax_Free.uvars t in + fun r -> + fun t -> + let uvs = FStar_Syntax_Free.uvars t in let uu____264 = - let uu____266 = FStar_Util.set_is_empty uvs in - Prims.op_Negation uu____266 in + let uu____266 = FStar_Util.set_is_empty uvs in + Prims.op_Negation uu____266 in if uu____264 then let us = let uu____271 = - let uu____275 = FStar_Util.set_elements uvs in + let uu____275 = FStar_Util.set_elements uvs in FStar_List.map - (fun u -> + (fun u -> FStar_Syntax_Print.uvar_to_string - u.FStar_Syntax_Syntax.ctx_uvar_head) uu____275 in - FStar_All.pipe_right uu____271 (FStar_String.concat ", ") in + u.FStar_Syntax_Syntax.ctx_uvar_head) uu____275 + in + FStar_All.pipe_right uu____271 (FStar_String.concat ", ") in (FStar_Options.push (); FStar_Options.set_option "hide_uvar_nums" (FStar_Options.Bool false); FStar_Options.set_option "print_implicits" (FStar_Options.Bool true); (let uu____294 = let uu____300 = - let uu____302 = FStar_Syntax_Print.term_to_string t in + let uu____302 = FStar_Syntax_Print.term_to_string t in FStar_Util.format2 "Unconstrained unification variables %s in type signature %s; please add an annotation" - us uu____302 in - (FStar_Errors.Error_UncontrainedUnificationVar, uu____300) in + us uu____302 + in + (FStar_Errors.Error_UncontrainedUnificationVar, uu____300) in FStar_Errors.log_issue r uu____294); FStar_Options.pop ()) else () + let (extract_let_rec_annotation : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.letbinding -> (FStar_Syntax_Syntax.univ_names * FStar_Syntax_Syntax.typ * Prims.bool)) = - fun env -> - fun uu____325 -> + fun env -> + fun uu____325 -> match uu____325 with | { FStar_Syntax_Syntax.lbname = lbname; FStar_Syntax_Syntax.lbunivs = univ_vars1; @@ -138,183 +148,202 @@ let (extract_let_rec_annotation : FStar_Syntax_Syntax.lbdef = e; FStar_Syntax_Syntax.lbattrs = uu____338; FStar_Syntax_Syntax.lbpos = uu____339;_} -> - let rng = FStar_Syntax_Syntax.range_of_lbname lbname in - let t1 = FStar_Syntax_Subst.compress t in + let rng = FStar_Syntax_Syntax.range_of_lbname lbname in + let t1 = FStar_Syntax_Subst.compress t in (match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_unknown -> - let uu____374 = FStar_Syntax_Subst.open_univ_vars univ_vars1 e in + | FStar_Syntax_Syntax.Tm_unknown -> + let uu____374 = FStar_Syntax_Subst.open_univ_vars univ_vars1 e + in (match uu____374 with - | (univ_vars2, e1) -> + | (univ_vars2,e1) -> let env1 = - FStar_TypeChecker_Env.push_univ_vars env univ_vars2 in - let r = FStar_TypeChecker_Env.get_range env1 in + FStar_TypeChecker_Env.push_univ_vars env univ_vars2 in + let r = FStar_TypeChecker_Env.get_range env1 in let rec aux e2 = - let e3 = FStar_Syntax_Subst.compress e2 in + let e3 = FStar_Syntax_Subst.compress e2 in match e3.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_meta (e4, uu____412) -> aux e4 - | FStar_Syntax_Syntax.Tm_ascribed (e4, t2, uu____419) - -> FStar_Pervasives_Native.fst t2 - | FStar_Syntax_Syntax.Tm_abs (bs, body, uu____474) -> - let res = aux body in + | FStar_Syntax_Syntax.Tm_meta (e4,uu____412) -> aux e4 + | FStar_Syntax_Syntax.Tm_ascribed (e4,t2,uu____419) -> + FStar_Pervasives_Native.fst t2 + | FStar_Syntax_Syntax.Tm_abs (bs,body,uu____474) -> + let res = aux body in let c = match res with | FStar_Util.Inl t2 -> - let uu____510 = FStar_Options.ml_ish () in + let uu____510 = FStar_Options.ml_ish () in if uu____510 then FStar_Syntax_Util.ml_comp t2 r else FStar_Syntax_Syntax.mk_Total t2 - | FStar_Util.Inr c -> c in + | FStar_Util.Inr c -> c in let t2 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_arrow (bs, c)) FStar_Pervasives_Native.None - c.FStar_Syntax_Syntax.pos in + c.FStar_Syntax_Syntax.pos + in ((let uu____532 = FStar_TypeChecker_Env.debug env1 - FStar_Options.High in + FStar_Options.High + in if uu____532 then - let uu____535 = FStar_Range.string_of_range r in + let uu____535 = FStar_Range.string_of_range r + in let uu____537 = - FStar_Syntax_Print.term_to_string t2 in + FStar_Syntax_Print.term_to_string t2 in FStar_Util.print2 "(%s) Using type %s\n" uu____535 uu____537 else ()); FStar_Util.Inl t2) - | uu____542 -> FStar_Util.Inl FStar_Syntax_Syntax.tun in + | uu____542 -> FStar_Util.Inl FStar_Syntax_Syntax.tun + in let t2 = - let uu____544 = aux e1 in + let uu____544 = aux e1 in match uu____544 with | FStar_Util.Inr c -> let uu____550 = - FStar_Syntax_Util.is_tot_or_gtot_comp c in + FStar_Syntax_Util.is_tot_or_gtot_comp c in if uu____550 then FStar_Syntax_Util.comp_result c else (let uu____555 = let uu____561 = let uu____563 = - FStar_Syntax_Print.comp_to_string c in + FStar_Syntax_Print.comp_to_string c in FStar_Util.format1 "Expected a 'let rec' to be annotated with a value type; got a computation type %s" - uu____563 in + uu____563 + in (FStar_Errors.Fatal_UnexpectedComputationTypeForLetRec, - uu____561) in + uu____561) + in FStar_Errors.raise_error uu____555 rng) - | FStar_Util.Inl t2 -> t2 in + | FStar_Util.Inl t2 -> t2 in (univ_vars2, t2, true)) | uu____572 -> let uu____573 = - FStar_Syntax_Subst.open_univ_vars univ_vars1 t1 in + FStar_Syntax_Subst.open_univ_vars univ_vars1 t1 in (match uu____573 with - | (univ_vars2, t2) -> (univ_vars2, t2, false))) + | (univ_vars2,t2) -> (univ_vars2, t2, false))) + let rec (decorated_pattern_as_term : FStar_Syntax_Syntax.pat -> (FStar_Syntax_Syntax.bv Prims.list * FStar_Syntax_Syntax.term)) = - fun pat -> + fun pat -> let mk1 f = FStar_Syntax_Syntax.mk f FStar_Pervasives_Native.None - pat.FStar_Syntax_Syntax.p in + pat.FStar_Syntax_Syntax.p + in let pat_as_arg uu____637 = match uu____637 with - | (p, i) -> - let uu____657 = decorated_pattern_as_term p in + | (p,i) -> + let uu____657 = decorated_pattern_as_term p in (match uu____657 with - | (vars, te) -> + | (vars,te) -> let uu____680 = - let uu____685 = FStar_Syntax_Syntax.as_implicit i in - (te, uu____685) in - (vars, uu____680)) in + let uu____685 = FStar_Syntax_Syntax.as_implicit i in + (te, uu____685) in + (vars, uu____680)) + in match pat.FStar_Syntax_Syntax.v with | FStar_Syntax_Syntax.Pat_constant c -> - let uu____699 = mk1 (FStar_Syntax_Syntax.Tm_constant c) in + let uu____699 = mk1 (FStar_Syntax_Syntax.Tm_constant c) in ([], uu____699) | FStar_Syntax_Syntax.Pat_wild x -> - let uu____703 = mk1 (FStar_Syntax_Syntax.Tm_name x) in + let uu____703 = mk1 (FStar_Syntax_Syntax.Tm_name x) in ([x], uu____703) | FStar_Syntax_Syntax.Pat_var x -> - let uu____707 = mk1 (FStar_Syntax_Syntax.Tm_name x) in + let uu____707 = mk1 (FStar_Syntax_Syntax.Tm_name x) in ([x], uu____707) - | FStar_Syntax_Syntax.Pat_cons (fv, pats) -> + | FStar_Syntax_Syntax.Pat_cons (fv,pats) -> let uu____730 = let uu____749 = - FStar_All.pipe_right pats (FStar_List.map pat_as_arg) in - FStar_All.pipe_right uu____749 FStar_List.unzip in + FStar_All.pipe_right pats (FStar_List.map pat_as_arg) in + FStar_All.pipe_right uu____749 FStar_List.unzip in (match uu____730 with - | (vars, args) -> - let vars1 = FStar_List.flatten vars in + | (vars,args) -> + let vars1 = FStar_List.flatten vars in let uu____887 = let uu____888 = let uu____889 = - let uu____906 = FStar_Syntax_Syntax.fv_to_tm fv in - (uu____906, args) in - FStar_Syntax_Syntax.Tm_app uu____889 in - mk1 uu____888 in + let uu____906 = FStar_Syntax_Syntax.fv_to_tm fv in + (uu____906, args) in + FStar_Syntax_Syntax.Tm_app uu____889 in + mk1 uu____888 in (vars1, uu____887)) - | FStar_Syntax_Syntax.Pat_dot_term (x, e) -> ([], e) + | FStar_Syntax_Syntax.Pat_dot_term (x,e) -> ([], e) + let (comp_univ_opt : FStar_Syntax_Syntax.comp' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option) = - fun c -> + fun c -> match c.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Total (uu____945, uopt) -> uopt - | FStar_Syntax_Syntax.GTotal (uu____955, uopt) -> uopt + | FStar_Syntax_Syntax.Total (uu____945,uopt) -> uopt + | FStar_Syntax_Syntax.GTotal (uu____955,uopt) -> uopt | FStar_Syntax_Syntax.Comp c1 -> (match c1.FStar_Syntax_Syntax.comp_univs with | [] -> FStar_Pervasives_Native.None | hd1::uu____969 -> FStar_Pervasives_Native.Some hd1) + let (lcomp_univ_opt : FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option) = - fun lc -> - let uu____980 = FStar_All.pipe_right lc FStar_Syntax_Syntax.lcomp_comp in + fun lc -> + let uu____980 = FStar_All.pipe_right lc FStar_Syntax_Syntax.lcomp_comp + in FStar_All.pipe_right uu____980 comp_univ_opt + let (destruct_comp : FStar_Syntax_Syntax.comp_typ -> (FStar_Syntax_Syntax.universe * FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.typ)) = - fun c -> + fun c -> let wp = match c.FStar_Syntax_Syntax.effect_args with - | (wp, uu____1009)::[] -> wp + | (wp,uu____1009)::[] -> wp | uu____1034 -> let uu____1045 = let uu____1047 = let uu____1049 = FStar_List.map - (fun uu____1063 -> + (fun uu____1063 -> match uu____1063 with - | (x, uu____1072) -> FStar_Syntax_Print.term_to_string x) - c.FStar_Syntax_Syntax.effect_args in - FStar_All.pipe_right uu____1049 (FStar_String.concat ", ") in + | (x,uu____1072) -> FStar_Syntax_Print.term_to_string x) + c.FStar_Syntax_Syntax.effect_args + in + FStar_All.pipe_right uu____1049 (FStar_String.concat ", ") in FStar_Util.format2 "Impossible: Got a computation %s with effect args [%s]" - (c.FStar_Syntax_Syntax.effect_name).FStar_Ident.str uu____1047 in - failwith uu____1045 in - let uu____1083 = FStar_List.hd c.FStar_Syntax_Syntax.comp_univs in + (c.FStar_Syntax_Syntax.effect_name).FStar_Ident.str uu____1047 + in + failwith uu____1045 + in + let uu____1083 = FStar_List.hd c.FStar_Syntax_Syntax.comp_univs in (uu____1083, (c.FStar_Syntax_Syntax.result_typ), wp) + let (lift_comp : FStar_Syntax_Syntax.comp_typ -> FStar_Ident.lident -> FStar_TypeChecker_Env.mlift -> FStar_Syntax_Syntax.comp_typ) = - fun c -> - fun m -> - fun lift -> - let uu____1100 = destruct_comp c in + fun c -> + fun m -> + fun lift -> + let uu____1100 = destruct_comp c in match uu____1100 with - | (u, uu____1108, wp) -> + | (u,uu____1108,wp) -> let uu____1110 = let uu____1121 = let uu____1130 = lift.FStar_TypeChecker_Env.mlift_wp u - c.FStar_Syntax_Syntax.result_typ wp in - FStar_Syntax_Syntax.as_arg uu____1130 in - [uu____1121] in + c.FStar_Syntax_Syntax.result_typ wp + in + FStar_Syntax_Syntax.as_arg uu____1130 in + [uu____1121] in { FStar_Syntax_Syntax.comp_univs = [u]; FStar_Syntax_Syntax.effect_name = m; @@ -323,34 +352,38 @@ let (lift_comp : FStar_Syntax_Syntax.effect_args = uu____1110; FStar_Syntax_Syntax.flags = [] } + let (join_effects : FStar_TypeChecker_Env.env -> FStar_Ident.lident -> FStar_Ident.lident -> FStar_Ident.lident) = - fun env -> - fun l1 -> - fun l2 -> + fun env -> + fun l1 -> + fun l2 -> let uu____1163 = - let uu____1170 = FStar_TypeChecker_Env.norm_eff_name env l1 in - let uu____1171 = FStar_TypeChecker_Env.norm_eff_name env l2 in - FStar_TypeChecker_Env.join env uu____1170 uu____1171 in - match uu____1163 with | (m, uu____1173, uu____1174) -> m + let uu____1170 = FStar_TypeChecker_Env.norm_eff_name env l1 in + let uu____1171 = FStar_TypeChecker_Env.norm_eff_name env l2 in + FStar_TypeChecker_Env.join env uu____1170 uu____1171 in + match uu____1163 with | (m,uu____1173,uu____1174) -> m + let (join_lcomp : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.lcomp -> FStar_Ident.lident) = - fun env -> - fun c1 -> - fun c2 -> + fun env -> + fun c1 -> + fun c2 -> let uu____1191 = (FStar_Syntax_Util.is_total_lcomp c1) && - (FStar_Syntax_Util.is_total_lcomp c2) in + (FStar_Syntax_Util.is_total_lcomp c2) + in if uu____1191 then FStar_Parser_Const.effect_Tot_lid else join_effects env c1.FStar_Syntax_Syntax.eff_name c2.FStar_Syntax_Syntax.eff_name + let (lift_and_destruct : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp -> @@ -361,40 +394,45 @@ let (lift_and_destruct : (FStar_Syntax_Syntax.universe * FStar_Syntax_Syntax.typ * FStar_Syntax_Syntax.typ))) = - fun env -> - fun c1 -> - fun c2 -> - let c11 = FStar_TypeChecker_Env.unfold_effect_abbrev env c1 in - let c21 = FStar_TypeChecker_Env.unfold_effect_abbrev env c2 in + fun env -> + fun c1 -> + fun c2 -> + let c11 = FStar_TypeChecker_Env.unfold_effect_abbrev env c1 in + let c21 = FStar_TypeChecker_Env.unfold_effect_abbrev env c2 in let uu____1238 = FStar_TypeChecker_Env.join env c11.FStar_Syntax_Syntax.effect_name - c21.FStar_Syntax_Syntax.effect_name in + c21.FStar_Syntax_Syntax.effect_name + in match uu____1238 with - | (m, lift1, lift2) -> - let m1 = lift_comp c11 m lift1 in - let m2 = lift_comp c21 m lift2 in - let md = FStar_TypeChecker_Env.get_effect_decl env m in + | (m,lift1,lift2) -> + let m1 = lift_comp c11 m lift1 in + let m2 = lift_comp c21 m lift2 in + let md = FStar_TypeChecker_Env.get_effect_decl env m in let uu____1275 = FStar_TypeChecker_Env.wp_signature env - md.FStar_Syntax_Syntax.mname in + md.FStar_Syntax_Syntax.mname + in (match uu____1275 with - | (a, kwp) -> - let uu____1306 = destruct_comp m1 in - let uu____1313 = destruct_comp m2 in + | (a,kwp) -> + let uu____1306 = destruct_comp m1 in + let uu____1313 = destruct_comp m2 in ((md, a, kwp), uu____1306, uu____1313)) + let (is_pure_effect : FStar_TypeChecker_Env.env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun l -> - let l1 = FStar_TypeChecker_Env.norm_eff_name env l in + fun env -> + fun l -> + let l1 = FStar_TypeChecker_Env.norm_eff_name env l in FStar_Ident.lid_equals l1 FStar_Parser_Const.effect_PURE_lid + let (is_pure_or_ghost_effect : FStar_TypeChecker_Env.env -> FStar_Ident.lident -> Prims.bool) = - fun env -> - fun l -> - let l1 = FStar_TypeChecker_Env.norm_eff_name env l in + fun env -> + fun l -> + let l1 = FStar_TypeChecker_Env.norm_eff_name env l in (FStar_Ident.lid_equals l1 FStar_Parser_Const.effect_PURE_lid) || (FStar_Ident.lid_equals l1 FStar_Parser_Const.effect_GHOST_lid) + let (mk_comp_l : FStar_Ident.lident -> FStar_Syntax_Syntax.universe -> @@ -402,112 +440,119 @@ let (mk_comp_l : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.cflag Prims.list -> FStar_Syntax_Syntax.comp) = - fun mname -> - fun u_result -> - fun result -> - fun wp -> - fun flags -> + fun mname -> + fun u_result -> + fun result -> + fun wp -> + fun flags -> let uu____1398 = let uu____1399 = - let uu____1410 = FStar_Syntax_Syntax.as_arg wp in - [uu____1410] in + let uu____1410 = FStar_Syntax_Syntax.as_arg wp in + [uu____1410] in { FStar_Syntax_Syntax.comp_univs = [u_result]; FStar_Syntax_Syntax.effect_name = mname; FStar_Syntax_Syntax.result_typ = result; FStar_Syntax_Syntax.effect_args = uu____1399; FStar_Syntax_Syntax.flags = flags - } in + } in FStar_Syntax_Syntax.mk_Comp uu____1398 + let (mk_comp : FStar_Syntax_Syntax.eff_decl -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.cflag Prims.list -> FStar_Syntax_Syntax.comp) - = fun md -> mk_comp_l md.FStar_Syntax_Syntax.mname + = fun md -> mk_comp_l md.FStar_Syntax_Syntax.mname let (lax_mk_tot_or_comp_l : FStar_Ident.lident -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax -> FStar_Syntax_Syntax.cflag Prims.list -> FStar_Syntax_Syntax.comp) = - fun mname -> - fun u_result -> - fun result -> - fun flags -> + fun mname -> + fun u_result -> + fun result -> + fun flags -> let uu____1494 = - FStar_Ident.lid_equals mname FStar_Parser_Const.effect_Tot_lid in + FStar_Ident.lid_equals mname FStar_Parser_Const.effect_Tot_lid + in if uu____1494 then FStar_Syntax_Syntax.mk_Total' result (FStar_Pervasives_Native.Some u_result) else mk_comp_l mname u_result result FStar_Syntax_Syntax.tun flags + let (subst_lcomp : FStar_Syntax_Syntax.subst_t -> FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.lcomp) = - fun subst1 -> - fun lc -> + fun subst1 -> + fun lc -> let uu____1510 = - FStar_Syntax_Subst.subst subst1 lc.FStar_Syntax_Syntax.res_typ in + FStar_Syntax_Subst.subst subst1 lc.FStar_Syntax_Syntax.res_typ in FStar_Syntax_Syntax.mk_lcomp lc.FStar_Syntax_Syntax.eff_name uu____1510 lc.FStar_Syntax_Syntax.cflags - (fun uu____1513 -> - let uu____1514 = FStar_Syntax_Syntax.lcomp_comp lc in + (fun uu____1513 -> + let uu____1514 = FStar_Syntax_Syntax.lcomp_comp lc in FStar_Syntax_Subst.subst_comp subst1 uu____1514) + let (is_function : FStar_Syntax_Syntax.term -> Prims.bool) = - fun t -> + fun t -> let uu____1522 = - let uu____1523 = FStar_Syntax_Subst.compress t in - uu____1523.FStar_Syntax_Syntax.n in + let uu____1523 = FStar_Syntax_Subst.compress t in + uu____1523.FStar_Syntax_Syntax.n in match uu____1522 with | FStar_Syntax_Syntax.Tm_arrow uu____1527 -> true | uu____1543 -> false + let (label : Prims.string -> FStar_Range.range -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) = - fun reason -> - fun r -> - fun f -> + fun reason -> + fun r -> + fun f -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_meta (f, (FStar_Syntax_Syntax.Meta_labeled (reason, r, false)))) FStar_Pervasives_Native.None f.FStar_Syntax_Syntax.pos + let (label_opt : FStar_TypeChecker_Env.env -> (unit -> Prims.string) FStar_Pervasives_Native.option -> FStar_Range.range -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.typ) = - fun env -> - fun reason -> - fun r -> - fun f -> + fun env -> + fun reason -> + fun r -> + fun f -> match reason with - | FStar_Pervasives_Native.None -> f + | FStar_Pervasives_Native.None -> f | FStar_Pervasives_Native.Some reason1 -> let uu____1613 = - let uu____1615 = FStar_TypeChecker_Env.should_verify env in - FStar_All.pipe_left Prims.op_Negation uu____1615 in + let uu____1615 = FStar_TypeChecker_Env.should_verify env in + FStar_All.pipe_left Prims.op_Negation uu____1615 in if uu____1613 then f - else (let uu____1622 = reason1 () in label uu____1622 r f) + else (let uu____1622 = reason1 () in label uu____1622 r f) + let (label_guard : FStar_Range.range -> Prims.string -> FStar_TypeChecker_Env.guard_t -> FStar_TypeChecker_Env.guard_t) = - fun r -> - fun reason -> - fun g -> + fun r -> + fun reason -> + fun g -> match g.FStar_TypeChecker_Env.guard_f with - | FStar_TypeChecker_Common.Trivial -> g + | FStar_TypeChecker_Common.Trivial -> g | FStar_TypeChecker_Common.NonTrivial f -> - let uu___243_1643 = g in + let uu___243_1643 = g in let uu____1644 = - let uu____1645 = label reason r f in - FStar_TypeChecker_Common.NonTrivial uu____1645 in + let uu____1645 = label reason r f in + FStar_TypeChecker_Common.NonTrivial uu____1645 in { FStar_TypeChecker_Env.guard_f = uu____1644; FStar_TypeChecker_Env.deferred = @@ -517,99 +562,111 @@ let (label_guard : FStar_TypeChecker_Env.implicits = (uu___243_1643.FStar_TypeChecker_Env.implicits) } + let (close_comp : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.bv Prims.list -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp) = - fun env -> - fun bvs -> - fun c -> - let uu____1666 = FStar_Syntax_Util.is_ml_comp c in + fun env -> + fun bvs -> + fun c -> + let uu____1666 = FStar_Syntax_Util.is_ml_comp c in if uu____1666 then c else (let uu____1671 = - env.FStar_TypeChecker_Env.lax && (FStar_Options.ml_ish ()) in + env.FStar_TypeChecker_Env.lax && (FStar_Options.ml_ish ()) in if uu____1671 then c else (let close_wp u_res md res_t bvs1 wp0 = FStar_List.fold_right - (fun x -> - fun wp -> + (fun x -> + fun wp -> let bs = - let uu____1733 = FStar_Syntax_Syntax.mk_binder x in - [uu____1733] in + let uu____1733 = FStar_Syntax_Syntax.mk_binder x in + [uu____1733] in let us = let uu____1755 = let uu____1758 = env.FStar_TypeChecker_Env.universe_of env - x.FStar_Syntax_Syntax.sort in - [uu____1758] in - u_res :: uu____1755 in + x.FStar_Syntax_Syntax.sort + in + [uu____1758] in + u_res :: uu____1755 in let wp1 = FStar_Syntax_Util.abs bs wp (FStar_Pervasives_Native.Some (FStar_Syntax_Util.mk_residual_comp FStar_Parser_Const.effect_Tot_lid FStar_Pervasives_Native.None - [FStar_Syntax_Syntax.TOTAL])) in + [FStar_Syntax_Syntax.TOTAL])) + in let uu____1764 = let uu____1769 = FStar_TypeChecker_Env.inst_effect_fun_with us env - md md.FStar_Syntax_Syntax.close_wp in + md md.FStar_Syntax_Syntax.close_wp + in let uu____1770 = - let uu____1771 = FStar_Syntax_Syntax.as_arg res_t in + let uu____1771 = FStar_Syntax_Syntax.as_arg res_t + in let uu____1780 = let uu____1791 = FStar_Syntax_Syntax.as_arg - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in let uu____1800 = let uu____1811 = - FStar_Syntax_Syntax.as_arg wp1 in - [uu____1811] in - uu____1791 :: uu____1800 in - uu____1771 :: uu____1780 in - FStar_Syntax_Syntax.mk_Tm_app uu____1769 uu____1770 in + FStar_Syntax_Syntax.as_arg wp1 in + [uu____1811] in + uu____1791 :: uu____1800 in + uu____1771 :: uu____1780 in + FStar_Syntax_Syntax.mk_Tm_app uu____1769 uu____1770 + in uu____1764 FStar_Pervasives_Native.None - wp0.FStar_Syntax_Syntax.pos) bvs1 wp0 in - let c1 = FStar_TypeChecker_Env.unfold_effect_abbrev env c in - let uu____1853 = destruct_comp c1 in + wp0.FStar_Syntax_Syntax.pos) bvs1 wp0 + in + let c1 = FStar_TypeChecker_Env.unfold_effect_abbrev env c in + let uu____1853 = destruct_comp c1 in match uu____1853 with - | (u_res_t, res_t, wp) -> + | (u_res_t,res_t,wp) -> let md = FStar_TypeChecker_Env.get_effect_decl env - c1.FStar_Syntax_Syntax.effect_name in - let wp1 = close_wp u_res_t md res_t bvs wp in + c1.FStar_Syntax_Syntax.effect_name + in + let wp1 = close_wp u_res_t md res_t bvs wp in mk_comp md u_res_t c1.FStar_Syntax_Syntax.result_typ wp1 c1.FStar_Syntax_Syntax.flags)) + let (close_lcomp : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.bv Prims.list -> FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.lcomp) = - fun env -> - fun bvs -> - fun lc -> + fun env -> + fun bvs -> + fun lc -> FStar_Syntax_Syntax.mk_lcomp lc.FStar_Syntax_Syntax.eff_name lc.FStar_Syntax_Syntax.res_typ lc.FStar_Syntax_Syntax.cflags - (fun uu____1889 -> - let uu____1890 = FStar_Syntax_Syntax.lcomp_comp lc in + (fun uu____1889 -> + let uu____1890 = FStar_Syntax_Syntax.lcomp_comp lc in close_comp env bvs uu____1890) + let (close_comp_if_refinement_t : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.bv -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.comp) = - fun env -> - fun t -> - fun x -> - fun c -> + fun env -> + fun t -> + fun x -> + fun c -> let t1 = FStar_TypeChecker_Normalize.normalize_refinement - FStar_TypeChecker_Normalize.whnf_steps env t in + FStar_TypeChecker_Normalize.whnf_steps env t + in match t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_refine ({ FStar_Syntax_Syntax.ppname = uu____1913; @@ -617,88 +674,95 @@ let (close_comp_if_refinement_t : FStar_Syntax_Syntax.sort = { FStar_Syntax_Syntax.n = FStar_Syntax_Syntax.Tm_fvar fv; FStar_Syntax_Syntax.pos = uu____1916; - FStar_Syntax_Syntax.vars = uu____1917;_};_}, - uu____1918) + FStar_Syntax_Syntax.vars = uu____1917;_};_},uu____1918) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.unit_lid -> close_comp env [x] c | uu____1926 -> c + let (should_not_inline_lc : FStar_Syntax_Syntax.lcomp -> Prims.bool) = - fun lc -> + fun lc -> FStar_All.pipe_right lc.FStar_Syntax_Syntax.cflags (FStar_Util.for_some - (fun uu___0_1938 -> + (fun uu___0_1938 -> match uu___0_1938 with - | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> true + | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> true | uu____1941 -> false)) + let (should_return : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.lcomp -> Prims.bool) = - fun env -> - fun eopt -> - fun lc -> + fun env -> + fun eopt -> + fun lc -> let lc_is_unit_or_effectful = let uu____1966 = let uu____1969 = FStar_All.pipe_right lc.FStar_Syntax_Syntax.res_typ - FStar_Syntax_Util.arrow_formals_comp in - FStar_All.pipe_right uu____1969 FStar_Pervasives_Native.snd in + FStar_Syntax_Util.arrow_formals_comp + in + FStar_All.pipe_right uu____1969 FStar_Pervasives_Native.snd in FStar_All.pipe_right uu____1966 - (fun c -> + (fun c -> (let uu____2025 = - FStar_TypeChecker_Env.is_reifiable_comp env c in + FStar_TypeChecker_Env.is_reifiable_comp env c in Prims.op_Negation uu____2025) && ((FStar_All.pipe_right (FStar_Syntax_Util.comp_result c) FStar_Syntax_Util.is_unit) || (let uu____2029 = - FStar_Syntax_Util.is_pure_or_ghost_comp c in - Prims.op_Negation uu____2029))) in + FStar_Syntax_Util.is_pure_or_ghost_comp c in + Prims.op_Negation uu____2029))) + in match eopt with - | FStar_Pervasives_Native.None -> false + | FStar_Pervasives_Native.None -> false | FStar_Pervasives_Native.Some e -> (((FStar_Syntax_Util.is_pure_or_ghost_lcomp lc) && (Prims.op_Negation lc_is_unit_or_effectful)) && - (let uu____2040 = FStar_Syntax_Util.head_and_args' e in + (let uu____2040 = FStar_Syntax_Util.head_and_args' e in match uu____2040 with - | (head1, uu____2057) -> + | (head1,uu____2057) -> let uu____2078 = - let uu____2079 = FStar_Syntax_Util.un_uinst head1 in - uu____2079.FStar_Syntax_Syntax.n in + let uu____2079 = FStar_Syntax_Util.un_uinst head1 in + uu____2079.FStar_Syntax_Syntax.n in (match uu____2078 with | FStar_Syntax_Syntax.Tm_fvar fv -> let uu____2084 = - let uu____2086 = FStar_Syntax_Syntax.lid_of_fv fv in + let uu____2086 = FStar_Syntax_Syntax.lid_of_fv fv + in FStar_TypeChecker_Env.is_irreducible env - uu____2086 in + uu____2086 + in Prims.op_Negation uu____2084 | uu____2087 -> true))) && - (let uu____2090 = should_not_inline_lc lc in + (let uu____2090 = should_not_inline_lc lc in Prims.op_Negation uu____2090) + let (return_value : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.comp) = - fun env -> - fun u_t_opt -> - fun t -> - fun v1 -> + fun env -> + fun u_t_opt -> + fun t -> + fun v1 -> let c = let uu____2118 = let uu____2120 = FStar_TypeChecker_Env.lid_exists env - FStar_Parser_Const.effect_GTot_lid in - FStar_All.pipe_left Prims.op_Negation uu____2120 in + FStar_Parser_Const.effect_GTot_lid + in + FStar_All.pipe_left Prims.op_Negation uu____2120 in if uu____2118 then FStar_Syntax_Syntax.mk_Total t else - (let uu____2127 = FStar_Syntax_Util.is_unit t in + (let uu____2127 = FStar_Syntax_Util.is_unit t in if uu____2127 then FStar_Syntax_Syntax.mk_Total' t @@ -706,146 +770,166 @@ let (return_value : else (let m = FStar_TypeChecker_Env.get_effect_decl env - FStar_Parser_Const.effect_PURE_lid in + FStar_Parser_Const.effect_PURE_lid + in let u_t = match u_t_opt with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> env.FStar_TypeChecker_Env.universe_of env t - | FStar_Pervasives_Native.Some u_t -> u_t in + | FStar_Pervasives_Native.Some u_t -> u_t in let wp = let uu____2136 = env.FStar_TypeChecker_Env.lax && - (FStar_Options.ml_ish ()) in + (FStar_Options.ml_ish ()) + in if uu____2136 then FStar_Syntax_Syntax.tun else (let uu____2141 = FStar_TypeChecker_Env.wp_signature env - FStar_Parser_Const.effect_PURE_lid in + FStar_Parser_Const.effect_PURE_lid + in match uu____2141 with - | (a, kwp) -> + | (a,kwp) -> let k = FStar_Syntax_Subst.subst - [FStar_Syntax_Syntax.NT (a, t)] kwp in + [FStar_Syntax_Syntax.NT (a, t)] kwp + in let uu____2151 = let uu____2152 = let uu____2157 = FStar_TypeChecker_Env.inst_effect_fun_with - [u_t] env m m.FStar_Syntax_Syntax.ret_wp in + [u_t] env m m.FStar_Syntax_Syntax.ret_wp + in let uu____2158 = let uu____2159 = - FStar_Syntax_Syntax.as_arg t in + FStar_Syntax_Syntax.as_arg t in let uu____2168 = let uu____2179 = - FStar_Syntax_Syntax.as_arg v1 in - [uu____2179] in - uu____2159 :: uu____2168 in + FStar_Syntax_Syntax.as_arg v1 in + [uu____2179] in + uu____2159 :: uu____2168 in FStar_Syntax_Syntax.mk_Tm_app uu____2157 - uu____2158 in + uu____2158 + in uu____2152 FStar_Pervasives_Native.None - v1.FStar_Syntax_Syntax.pos in + v1.FStar_Syntax_Syntax.pos + in FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.NoFullNorm] env uu____2151) in - mk_comp m u_t t wp [FStar_Syntax_Syntax.RETURN])) in + FStar_TypeChecker_Env.NoFullNorm] env uu____2151) + in + mk_comp m u_t t wp [FStar_Syntax_Syntax.RETURN])) + in (let uu____2213 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Return") in + (FStar_Options.Other "Return") + in if uu____2213 then let uu____2218 = - FStar_Range.string_of_range v1.FStar_Syntax_Syntax.pos in - let uu____2220 = FStar_Syntax_Print.term_to_string v1 in + FStar_Range.string_of_range v1.FStar_Syntax_Syntax.pos in + let uu____2220 = FStar_Syntax_Print.term_to_string v1 in let uu____2222 = - FStar_TypeChecker_Normalize.comp_to_string env c in + FStar_TypeChecker_Normalize.comp_to_string env c in FStar_Util.print3 "(%s) returning %s at comp type %s\n" uu____2218 uu____2220 uu____2222 else ()); c + let (weaken_flags : FStar_Syntax_Syntax.cflag Prims.list -> FStar_Syntax_Syntax.cflag Prims.list) = - fun flags -> + fun flags -> let uu____2239 = FStar_All.pipe_right flags (FStar_Util.for_some - (fun uu___1_2245 -> + (fun uu___1_2245 -> match uu___1_2245 with - | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> true - | uu____2248 -> false)) in + | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> true + | uu____2248 -> false)) + in if uu____2239 then [FStar_Syntax_Syntax.SHOULD_NOT_INLINE] else FStar_All.pipe_right flags (FStar_List.collect - (fun uu___2_2260 -> + (fun uu___2_2260 -> match uu___2_2260 with - | FStar_Syntax_Syntax.TOTAL -> + | FStar_Syntax_Syntax.TOTAL -> [FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION] - | FStar_Syntax_Syntax.RETURN -> + | FStar_Syntax_Syntax.RETURN -> [FStar_Syntax_Syntax.PARTIAL_RETURN; FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION] | f -> [f])) + let (weaken_comp : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.comp) = - fun env -> - fun c -> - fun formula -> - let uu____2280 = FStar_Syntax_Util.is_ml_comp c in + fun env -> + fun c -> + fun formula -> + let uu____2280 = FStar_Syntax_Util.is_ml_comp c in if uu____2280 then c else - (let c1 = FStar_TypeChecker_Env.unfold_effect_abbrev env c in - let uu____2286 = destruct_comp c1 in + (let c1 = FStar_TypeChecker_Env.unfold_effect_abbrev env c in + let uu____2286 = destruct_comp c1 in match uu____2286 with - | (u_res_t, res_t, wp) -> + | (u_res_t,res_t,wp) -> let md = FStar_TypeChecker_Env.get_effect_decl env - c1.FStar_Syntax_Syntax.effect_name in + c1.FStar_Syntax_Syntax.effect_name + in let wp1 = let uu____2300 = let uu____2305 = FStar_TypeChecker_Env.inst_effect_fun_with [u_res_t] env - md md.FStar_Syntax_Syntax.assume_p in + md md.FStar_Syntax_Syntax.assume_p + in let uu____2306 = - let uu____2307 = FStar_Syntax_Syntax.as_arg res_t in + let uu____2307 = FStar_Syntax_Syntax.as_arg res_t in let uu____2316 = - let uu____2327 = FStar_Syntax_Syntax.as_arg formula in + let uu____2327 = FStar_Syntax_Syntax.as_arg formula + in let uu____2336 = - let uu____2347 = FStar_Syntax_Syntax.as_arg wp in - [uu____2347] in - uu____2327 :: uu____2336 in - uu____2307 :: uu____2316 in - FStar_Syntax_Syntax.mk_Tm_app uu____2305 uu____2306 in + let uu____2347 = FStar_Syntax_Syntax.as_arg wp in + [uu____2347] in + uu____2327 :: uu____2336 in + uu____2307 :: uu____2316 in + FStar_Syntax_Syntax.mk_Tm_app uu____2305 uu____2306 in uu____2300 FStar_Pervasives_Native.None - wp.FStar_Syntax_Syntax.pos in - let uu____2388 = weaken_flags c1.FStar_Syntax_Syntax.flags in + wp.FStar_Syntax_Syntax.pos + in + let uu____2388 = weaken_flags c1.FStar_Syntax_Syntax.flags in mk_comp md u_res_t res_t wp1 uu____2388) + let (weaken_precondition : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.lcomp -> FStar_TypeChecker_Common.guard_formula -> FStar_Syntax_Syntax.lcomp) = - fun env -> - fun lc -> - fun f -> + fun env -> + fun lc -> + fun f -> let weaken uu____2412 = - let c = FStar_Syntax_Syntax.lcomp_comp lc in + let c = FStar_Syntax_Syntax.lcomp_comp lc in let uu____2414 = - env.FStar_TypeChecker_Env.lax && (FStar_Options.ml_ish ()) in + env.FStar_TypeChecker_Env.lax && (FStar_Options.ml_ish ()) in if uu____2414 then c else (match f with - | FStar_TypeChecker_Common.Trivial -> c - | FStar_TypeChecker_Common.NonTrivial f1 -> weaken_comp env c f1) in - let uu____2420 = weaken_flags lc.FStar_Syntax_Syntax.cflags in + | FStar_TypeChecker_Common.Trivial -> c + | FStar_TypeChecker_Common.NonTrivial f1 -> weaken_comp env c f1) + in + let uu____2420 = weaken_flags lc.FStar_Syntax_Syntax.cflags in FStar_Syntax_Syntax.mk_lcomp lc.FStar_Syntax_Syntax.eff_name lc.FStar_Syntax_Syntax.res_typ uu____2420 weaken + let (strengthen_comp : FStar_TypeChecker_Env.env -> (unit -> Prims.string) FStar_Pervasives_Native.option -> @@ -853,45 +937,53 @@ let (strengthen_comp : FStar_Syntax_Syntax.formula -> FStar_Syntax_Syntax.cflag Prims.list -> FStar_Syntax_Syntax.comp) = - fun env -> - fun reason -> - fun c -> - fun f -> - fun flags -> + fun env -> + fun reason -> + fun c -> + fun f -> + fun flags -> if env.FStar_TypeChecker_Env.lax then c else - (let c1 = FStar_TypeChecker_Env.unfold_effect_abbrev env c in - let uu____2468 = destruct_comp c1 in + (let c1 = FStar_TypeChecker_Env.unfold_effect_abbrev env c in + let uu____2468 = destruct_comp c1 in match uu____2468 with - | (u_res_t, res_t, wp) -> + | (u_res_t,res_t,wp) -> let md = FStar_TypeChecker_Env.get_effect_decl env - c1.FStar_Syntax_Syntax.effect_name in + c1.FStar_Syntax_Syntax.effect_name + in let wp1 = let uu____2482 = let uu____2487 = FStar_TypeChecker_Env.inst_effect_fun_with [u_res_t] - env md md.FStar_Syntax_Syntax.assert_p in + env md md.FStar_Syntax_Syntax.assert_p + in let uu____2488 = - let uu____2489 = FStar_Syntax_Syntax.as_arg res_t in + let uu____2489 = FStar_Syntax_Syntax.as_arg res_t + in let uu____2498 = let uu____2509 = let uu____2518 = let uu____2519 = - FStar_TypeChecker_Env.get_range env in - label_opt env reason uu____2519 f in + FStar_TypeChecker_Env.get_range env in + label_opt env reason uu____2519 f in FStar_All.pipe_left FStar_Syntax_Syntax.as_arg - uu____2518 in + uu____2518 + in let uu____2528 = - let uu____2539 = FStar_Syntax_Syntax.as_arg wp in - [uu____2539] in - uu____2509 :: uu____2528 in - uu____2489 :: uu____2498 in - FStar_Syntax_Syntax.mk_Tm_app uu____2487 uu____2488 in + let uu____2539 = FStar_Syntax_Syntax.as_arg wp + in + [uu____2539] in + uu____2509 :: uu____2528 in + uu____2489 :: uu____2498 in + FStar_Syntax_Syntax.mk_Tm_app uu____2487 uu____2488 + in uu____2482 FStar_Pervasives_Native.None - wp.FStar_Syntax_Syntax.pos in + wp.FStar_Syntax_Syntax.pos + in mk_comp md u_res_t res_t wp1 flags) + let (strengthen_precondition : (unit -> Prims.string) FStar_Pervasives_Native.option -> FStar_TypeChecker_Env.env -> @@ -900,79 +992,88 @@ let (strengthen_precondition : FStar_TypeChecker_Env.guard_t -> (FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun reason -> - fun env -> - fun e_for_debugging_only -> - fun lc -> - fun g0 -> + fun reason -> + fun env -> + fun e_for_debugging_only -> + fun lc -> + fun g0 -> let uu____2625 = - FStar_TypeChecker_Env.is_trivial_guard_formula g0 in + FStar_TypeChecker_Env.is_trivial_guard_formula g0 in if uu____2625 then (lc, g0) else (let flags = let uu____2637 = - let uu____2645 = FStar_Syntax_Util.is_tot_or_gtot_lcomp lc in + let uu____2645 = FStar_Syntax_Util.is_tot_or_gtot_lcomp lc + in if uu____2645 then (true, [FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION]) - else (false, []) in + else (false, []) in match uu____2637 with - | (maybe_trivial_post, flags) -> + | (maybe_trivial_post,flags) -> let uu____2675 = FStar_All.pipe_right lc.FStar_Syntax_Syntax.cflags (FStar_List.collect - (fun uu___3_2683 -> + (fun uu___3_2683 -> match uu___3_2683 with - | FStar_Syntax_Syntax.RETURN -> + | FStar_Syntax_Syntax.RETURN -> [FStar_Syntax_Syntax.PARTIAL_RETURN] - | FStar_Syntax_Syntax.PARTIAL_RETURN -> + | FStar_Syntax_Syntax.PARTIAL_RETURN -> [FStar_Syntax_Syntax.PARTIAL_RETURN] - | FStar_Syntax_Syntax.SOMETRIVIAL when + | FStar_Syntax_Syntax.SOMETRIVIAL when Prims.op_Negation maybe_trivial_post -> [FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION] - | FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION + | FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION when Prims.op_Negation maybe_trivial_post -> [FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION] - | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> + | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> [FStar_Syntax_Syntax.SHOULD_NOT_INLINE] - | uu____2686 -> [])) in - FStar_List.append flags uu____2675 in + | uu____2686 -> [])) + in + FStar_List.append flags uu____2675 + in let strengthen uu____2692 = - let c = FStar_Syntax_Syntax.lcomp_comp lc in + let c = FStar_Syntax_Syntax.lcomp_comp lc in if env.FStar_TypeChecker_Env.lax then c else - (let g01 = FStar_TypeChecker_Rel.simplify_guard env g0 in - let uu____2698 = FStar_TypeChecker_Env.guard_form g01 in + (let g01 = FStar_TypeChecker_Rel.simplify_guard env g0 in + let uu____2698 = FStar_TypeChecker_Env.guard_form g01 in match uu____2698 with - | FStar_TypeChecker_Common.Trivial -> c + | FStar_TypeChecker_Common.Trivial -> c | FStar_TypeChecker_Common.NonTrivial f -> ((let uu____2701 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - FStar_Options.Extreme in + FStar_Options.Extreme + in if uu____2701 then let uu____2705 = FStar_TypeChecker_Normalize.term_to_string env - e_for_debugging_only in + e_for_debugging_only + in let uu____2707 = FStar_TypeChecker_Normalize.term_to_string env - f in + f + in FStar_Util.print2 "-------------Strengthening pre-condition of term %s with guard %s\n" uu____2705 uu____2707 else ()); - strengthen_comp env reason c f flags)) in + strengthen_comp env reason c f flags)) + in let uu____2712 = let uu____2713 = FStar_TypeChecker_Env.norm_eff_name env - lc.FStar_Syntax_Syntax.eff_name in + lc.FStar_Syntax_Syntax.eff_name + in FStar_Syntax_Syntax.mk_lcomp uu____2713 - lc.FStar_Syntax_Syntax.res_typ flags strengthen in + lc.FStar_Syntax_Syntax.res_typ flags strengthen + in (uu____2712, - (let uu___398_2715 = g0 in + (let uu___398_2715 = g0 in { FStar_TypeChecker_Env.guard_f = FStar_TypeChecker_Common.Trivial; @@ -983,16 +1084,18 @@ let (strengthen_precondition : FStar_TypeChecker_Env.implicits = (uu___398_2715.FStar_TypeChecker_Env.implicits) }))) + let (lcomp_has_trivial_postcondition : FStar_Syntax_Syntax.lcomp -> Prims.bool) = - fun lc -> + fun lc -> (FStar_Syntax_Util.is_tot_or_gtot_lcomp lc) || (FStar_Util.for_some - (fun uu___4_2724 -> + (fun uu___4_2724 -> match uu___4_2724 with - | FStar_Syntax_Syntax.SOMETRIVIAL -> true - | FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION -> true + | FStar_Syntax_Syntax.SOMETRIVIAL -> true + | FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION -> true | uu____2728 -> false) lc.FStar_Syntax_Syntax.cflags) + let (maybe_add_with_type : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.universe FStar_Pervasives_Native.option -> @@ -1000,13 +1103,14 @@ let (maybe_add_with_type : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term' FStar_Syntax_Syntax.syntax) = - fun env -> - fun uopt -> - fun lc -> - fun e -> + fun env -> + fun uopt -> + fun lc -> + fun e -> let uu____2757 = (FStar_Syntax_Util.is_lcomp_partial_return lc) || - env.FStar_TypeChecker_Env.lax in + env.FStar_TypeChecker_Env.lax + in if uu____2757 then e else @@ -1014,19 +1118,23 @@ let (maybe_add_with_type : (lcomp_has_trivial_postcondition lc) && (let uu____2767 = FStar_TypeChecker_Env.try_lookup_lid env - FStar_Parser_Const.with_type_lid in - FStar_Option.isSome uu____2767) in + FStar_Parser_Const.with_type_lid + in + FStar_Option.isSome uu____2767) + in if uu____2764 then let u = match uopt with | FStar_Pervasives_Native.Some u -> u - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> env.FStar_TypeChecker_Env.universe_of env - lc.FStar_Syntax_Syntax.res_typ in + lc.FStar_Syntax_Syntax.res_typ + in FStar_Syntax_Util.mk_with_type u lc.FStar_Syntax_Syntax.res_typ e else e) + let (bind : FStar_Range.range -> FStar_TypeChecker_Env.env -> @@ -1034,95 +1142,107 @@ let (bind : FStar_Syntax_Syntax.lcomp -> lcomp_with_binder -> FStar_Syntax_Syntax.lcomp) = - fun r1 -> - fun env -> - fun e1opt -> - fun lc1 -> - fun uu____2820 -> + fun r1 -> + fun env -> + fun e1opt -> + fun lc1 -> + fun uu____2820 -> match uu____2820 with - | (b, lc2) -> + | (b,lc2) -> let debug1 f = let uu____2840 = (FStar_TypeChecker_Env.debug env FStar_Options.Extreme) || (FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "bind")) in - if uu____2840 then f () else () in + (FStar_Options.Other "bind")) + in + if uu____2840 then f () else () in let lc11 = - FStar_TypeChecker_Normalize.ghost_to_pure_lcomp env lc1 in + FStar_TypeChecker_Normalize.ghost_to_pure_lcomp env lc1 in let lc21 = - FStar_TypeChecker_Normalize.ghost_to_pure_lcomp env lc2 in - let joined_eff = join_lcomp env lc11 lc21 in + FStar_TypeChecker_Normalize.ghost_to_pure_lcomp env lc2 in + let joined_eff = join_lcomp env lc11 lc21 in let bind_flags = let uu____2853 = (should_not_inline_lc lc11) || - (should_not_inline_lc lc21) in + (should_not_inline_lc lc21) + in if uu____2853 then [FStar_Syntax_Syntax.SHOULD_NOT_INLINE] else (let flags = - let uu____2863 = FStar_Syntax_Util.is_total_lcomp lc11 in + let uu____2863 = FStar_Syntax_Util.is_total_lcomp lc11 + in if uu____2863 then let uu____2868 = - FStar_Syntax_Util.is_total_lcomp lc21 in + FStar_Syntax_Util.is_total_lcomp lc21 in (if uu____2868 then [FStar_Syntax_Syntax.TOTAL] else (let uu____2875 = - FStar_Syntax_Util.is_tot_or_gtot_lcomp lc21 in + FStar_Syntax_Util.is_tot_or_gtot_lcomp lc21 + in if uu____2875 then [FStar_Syntax_Syntax.SOMETRIVIAL] else [])) else (let uu____2884 = (FStar_Syntax_Util.is_tot_or_gtot_lcomp lc11) && - (FStar_Syntax_Util.is_tot_or_gtot_lcomp lc21) in + (FStar_Syntax_Util.is_tot_or_gtot_lcomp lc21) + in if uu____2884 then [FStar_Syntax_Syntax.SOMETRIVIAL] - else []) in - let uu____2891 = lcomp_has_trivial_postcondition lc21 in + else []) + in + let uu____2891 = lcomp_has_trivial_postcondition lc21 + in if uu____2891 then FStar_Syntax_Syntax.TRIVIAL_POSTCONDITION :: flags - else flags) in + else flags) + in let bind_it uu____2903 = let uu____2904 = env.FStar_TypeChecker_Env.lax && - (FStar_Options.ml_ish ()) in + (FStar_Options.ml_ish ()) + in if uu____2904 then let u_t = env.FStar_TypeChecker_Env.universe_of env - lc21.FStar_Syntax_Syntax.res_typ in + lc21.FStar_Syntax_Syntax.res_typ + in lax_mk_tot_or_comp_l joined_eff u_t lc21.FStar_Syntax_Syntax.res_typ [] else - (let c1 = FStar_Syntax_Syntax.lcomp_comp lc11 in - let c2 = FStar_Syntax_Syntax.lcomp_comp lc21 in + (let c1 = FStar_Syntax_Syntax.lcomp_comp lc11 in + let c2 = FStar_Syntax_Syntax.lcomp_comp lc21 in debug1 - (fun uu____2921 -> + (fun uu____2921 -> let uu____2922 = - FStar_Syntax_Print.comp_to_string c1 in + FStar_Syntax_Print.comp_to_string c1 in let uu____2924 = match b with - | FStar_Pervasives_Native.None -> "none" + | FStar_Pervasives_Native.None -> "none" | FStar_Pervasives_Native.Some x -> - FStar_Syntax_Print.bv_to_string x in + FStar_Syntax_Print.bv_to_string x + in let uu____2929 = - FStar_Syntax_Print.comp_to_string c2 in + FStar_Syntax_Print.comp_to_string c2 in FStar_Util.print3 "(1) bind: \n\tc1=%s\n\tx=%s\n\tc2=%s\n(1. end bind)\n" uu____2922 uu____2924 uu____2929); (let aux uu____2947 = - let uu____2948 = FStar_Syntax_Util.is_trivial_wp c1 in + let uu____2948 = FStar_Syntax_Util.is_trivial_wp c1 + in if uu____2948 then match b with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_Util.Inl (c2, "trivial no binder") | FStar_Pervasives_Native.Some uu____2979 -> let uu____2980 = - FStar_Syntax_Util.is_ml_comp c2 in + FStar_Syntax_Util.is_ml_comp c2 in (if uu____2980 then FStar_Util.Inl (c2, "trivial ml") else @@ -1131,42 +1251,46 @@ let (bind : else (let uu____3012 = (FStar_Syntax_Util.is_ml_comp c1) && - (FStar_Syntax_Util.is_ml_comp c2) in + (FStar_Syntax_Util.is_ml_comp c2) + in if uu____3012 then FStar_Util.Inl (c2, "both ml") else FStar_Util.Inr - "c1 not trivial, and both are not ML") in + "c1 not trivial, and both are not ML") + in let try_simplify uu____3057 = let uu____3058 = let uu____3060 = FStar_TypeChecker_Env.try_lookup_effect_lid env - FStar_Parser_Const.effect_GTot_lid in - FStar_Option.isNone uu____3060 in + FStar_Parser_Const.effect_GTot_lid + in + FStar_Option.isNone uu____3060 in if uu____3058 then let uu____3074 = (FStar_Syntax_Util.is_tot_or_gtot_comp c1) && - (FStar_Syntax_Util.is_tot_or_gtot_comp c2) in + (FStar_Syntax_Util.is_tot_or_gtot_comp c2) + in (if uu____3074 then FStar_Util.Inl (c2, "Early in prims; we don't have bind yet") else (let uu____3097 = - FStar_TypeChecker_Env.get_range env in + FStar_TypeChecker_Env.get_range env in FStar_Errors.raise_error (FStar_Errors.Fatal_NonTrivialPreConditionInPrims, "Non-trivial pre-conditions very early in prims, even before we have defined the PURE monad") uu____3097)) else (let uu____3112 = - FStar_Syntax_Util.is_total_comp c1 in + FStar_Syntax_Util.is_total_comp c1 in if uu____3112 then let close1 x reason c = let x1 = - let uu___464_3154 = x in + let uu___464_3154 = x in { FStar_Syntax_Syntax.ppname = (uu___464_3154.FStar_Syntax_Syntax.ppname); @@ -1174,194 +1298,226 @@ let (bind : (uu___464_3154.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = (FStar_Syntax_Util.comp_result c1) - } in + } in let uu____3155 = let uu____3161 = close_comp_if_refinement_t env - x1.FStar_Syntax_Syntax.sort x1 c in - (uu____3161, reason) in - FStar_Util.Inl uu____3155 in + x1.FStar_Syntax_Syntax.sort x1 c + in + (uu____3161, reason) in + FStar_Util.Inl uu____3155 in match (e1opt, b) with - | (FStar_Pervasives_Native.Some e, - FStar_Pervasives_Native.Some x) -> + | (FStar_Pervasives_Native.Some + e,FStar_Pervasives_Native.Some x) -> let uu____3197 = FStar_All.pipe_right c2 (FStar_Syntax_Subst.subst_comp - [FStar_Syntax_Syntax.NT (x, e)]) in + [FStar_Syntax_Syntax.NT (x, e)]) + in FStar_All.pipe_right uu____3197 (close1 x "c1 Tot") - | (uu____3211, FStar_Pervasives_Native.Some x) - -> + | (uu____3211,FStar_Pervasives_Native.Some x) -> FStar_All.pipe_right c2 (close1 x "c1 Tot only close") - | (uu____3234, uu____3235) -> aux () + | (uu____3234,uu____3235) -> aux () else (let uu____3250 = (FStar_Syntax_Util.is_tot_or_gtot_comp c1) && - (FStar_Syntax_Util.is_tot_or_gtot_comp c2) in + (FStar_Syntax_Util.is_tot_or_gtot_comp c2) + in if uu____3250 then let uu____3263 = let uu____3269 = FStar_Syntax_Syntax.mk_GTotal - (FStar_Syntax_Util.comp_result c2) in - (uu____3269, "both GTot") in + (FStar_Syntax_Util.comp_result c2) + in + (uu____3269, "both GTot") in FStar_Util.Inl uu____3263 - else aux ())) in - let uu____3280 = try_simplify () in + else aux ())) + in + let uu____3280 = try_simplify () in match uu____3280 with - | FStar_Util.Inl (c, reason) -> + | FStar_Util.Inl (c,reason) -> (debug1 - (fun uu____3306 -> + (fun uu____3306 -> let uu____3307 = - FStar_Syntax_Print.comp_to_string c in + FStar_Syntax_Print.comp_to_string c in FStar_Util.print2 "(2) bind: Simplified (because %s) to\n\t%s\n" reason uu____3307); c) | FStar_Util.Inr reason -> (debug1 - (fun uu____3321 -> + (fun uu____3321 -> FStar_Util.print1 "(2) bind: Not simplified because %s\n" reason); (let mk_bind c11 b1 c21 = - let uu____3343 = lift_and_destruct env c11 c21 in + let uu____3343 = lift_and_destruct env c11 c21 + in match uu____3343 with - | ((md, a, kwp), (u_t1, t1, wp1), - (u_t2, t2, wp2)) -> + | ((md,a,kwp),(u_t1,t1,wp1),(u_t2,t2,wp2)) -> let bs = match b1 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____3396 = - FStar_Syntax_Syntax.null_binder t1 in + FStar_Syntax_Syntax.null_binder t1 + in [uu____3396] | FStar_Pervasives_Native.Some x -> let uu____3416 = - FStar_Syntax_Syntax.mk_binder x in - [uu____3416] in + FStar_Syntax_Syntax.mk_binder x in + [uu____3416] + in let mk_lam wp = FStar_Syntax_Util.abs bs wp (FStar_Pervasives_Native.Some (FStar_Syntax_Util.mk_residual_comp FStar_Parser_Const.effect_Tot_lid FStar_Pervasives_Native.None - [FStar_Syntax_Syntax.TOTAL])) in + [FStar_Syntax_Syntax.TOTAL])) + in let r11 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_range r1)) - FStar_Pervasives_Native.None r1 in + FStar_Pervasives_Native.None r1 + in let wp_args = let uu____3463 = - FStar_Syntax_Syntax.as_arg r11 in + FStar_Syntax_Syntax.as_arg r11 in let uu____3472 = let uu____3483 = - FStar_Syntax_Syntax.as_arg t1 in + FStar_Syntax_Syntax.as_arg t1 in let uu____3492 = let uu____3503 = - FStar_Syntax_Syntax.as_arg t2 in + FStar_Syntax_Syntax.as_arg t2 in let uu____3512 = let uu____3523 = - FStar_Syntax_Syntax.as_arg wp1 in + FStar_Syntax_Syntax.as_arg wp1 + in let uu____3532 = let uu____3543 = - let uu____3552 = mk_lam wp2 in + let uu____3552 = mk_lam wp2 in FStar_Syntax_Syntax.as_arg - uu____3552 in - [uu____3543] in - uu____3523 :: uu____3532 in - uu____3503 :: uu____3512 in - uu____3483 :: uu____3492 in - uu____3463 :: uu____3472 in + uu____3552 + in + [uu____3543] in + uu____3523 :: uu____3532 in + uu____3503 :: uu____3512 in + uu____3483 :: uu____3492 in + uu____3463 :: uu____3472 in let wp = let uu____3604 = let uu____3609 = FStar_TypeChecker_Env.inst_effect_fun_with [u_t1; u_t2] env md - md.FStar_Syntax_Syntax.bind_wp in + md.FStar_Syntax_Syntax.bind_wp + in FStar_Syntax_Syntax.mk_Tm_app - uu____3609 wp_args in + uu____3609 wp_args + in uu____3604 FStar_Pervasives_Native.None - t2.FStar_Syntax_Syntax.pos in - mk_comp md u_t2 t2 wp bind_flags in + t2.FStar_Syntax_Syntax.pos + in + mk_comp md u_t2 t2 wp bind_flags + in let mk_seq c11 b1 c21 = let c12 = FStar_TypeChecker_Env.unfold_effect_abbrev - env c11 in + env c11 + in let c22 = FStar_TypeChecker_Env.unfold_effect_abbrev - env c21 in + env c21 + in let uu____3632 = FStar_TypeChecker_Env.join env c12.FStar_Syntax_Syntax.effect_name - c22.FStar_Syntax_Syntax.effect_name in + c22.FStar_Syntax_Syntax.effect_name + in match uu____3632 with - | (m, uu____3640, lift2) -> + | (m,uu____3640,lift2) -> let c23 = - let uu____3643 = lift_comp c22 m lift2 in - FStar_Syntax_Syntax.mk_Comp uu____3643 in - let uu____3644 = destruct_comp c12 in + let uu____3643 = lift_comp c22 m lift2 + in + FStar_Syntax_Syntax.mk_Comp uu____3643 + in + let uu____3644 = destruct_comp c12 in (match uu____3644 with - | (u1, t1, wp1) -> + | (u1,t1,wp1) -> let md_pure_or_ghost = FStar_TypeChecker_Env.get_effect_decl env - c12.FStar_Syntax_Syntax.effect_name in + c12.FStar_Syntax_Syntax.effect_name + in let vc1 = let uu____3658 = let uu____3663 = FStar_TypeChecker_Env.inst_effect_fun_with [u1] env md_pure_or_ghost - md_pure_or_ghost.FStar_Syntax_Syntax.trivial in + md_pure_or_ghost.FStar_Syntax_Syntax.trivial + in let uu____3664 = let uu____3665 = - FStar_Syntax_Syntax.as_arg t1 in + FStar_Syntax_Syntax.as_arg t1 + in let uu____3674 = let uu____3685 = FStar_Syntax_Syntax.as_arg - wp1 in - [uu____3685] in - uu____3665 :: uu____3674 in + wp1 + in + [uu____3685] in + uu____3665 :: uu____3674 in FStar_Syntax_Syntax.mk_Tm_app - uu____3663 uu____3664 in + uu____3663 uu____3664 + in uu____3658 - FStar_Pervasives_Native.None r1 in + FStar_Pervasives_Native.None r1 + in strengthen_comp env FStar_Pervasives_Native.None c23 vc1 - bind_flags) in + bind_flags) + in let c1_typ = FStar_TypeChecker_Env.unfold_effect_abbrev env - c1 in - let uu____3723 = destruct_comp c1_typ in + c1 + in + let uu____3723 = destruct_comp c1_typ in match uu____3723 with - | (u_res_t1, res_t1, uu____3732) -> + | (u_res_t1,res_t1,uu____3732) -> let uu____3733 = (FStar_Option.isSome b) && - (should_return env e1opt lc11) in + (should_return env e1opt lc11) + in if uu____3733 then - let e1 = FStar_Option.get e1opt in - let x = FStar_Option.get b in + let e1 = FStar_Option.get e1opt in + let x = FStar_Option.get b in let uu____3738 = - FStar_Syntax_Util.is_partial_return c1 in + FStar_Syntax_Util.is_partial_return c1 + in (if uu____3738 then (debug1 - (fun uu____3748 -> + (fun uu____3748 -> let uu____3749 = FStar_TypeChecker_Normalize.term_to_string - env e1 in + env e1 + in let uu____3751 = FStar_Syntax_Print.bv_to_string - x in + x + in FStar_Util.print2 "(3) bind (case a): Substituting %s for %s" uu____3749 uu____3751); (let c21 = FStar_Syntax_Subst.subst_comp [FStar_Syntax_Syntax.NT (x, e1)] - c2 in + c2 + in mk_bind c1 b c21)) else (let uu____3759 = @@ -1374,124 +1530,142 @@ let (bind : (let uu____3762 = FStar_TypeChecker_Env.try_lookup_lid env - FStar_Parser_Const.with_type_lid in - FStar_Option.isSome uu____3762) in + FStar_Parser_Const.with_type_lid + in + FStar_Option.isSome uu____3762) + in if uu____3759 then let e1' = let uu____3783 = FStar_Options.vcgen_decorate_with_type - () in + () + in if uu____3783 then FStar_Syntax_Util.mk_with_type u_res_t1 res_t1 e1 - else e1 in + else e1 in (debug1 - (fun uu____3795 -> + (fun uu____3795 -> let uu____3796 = FStar_TypeChecker_Normalize.term_to_string - env e1' in + env e1' + in let uu____3798 = FStar_Syntax_Print.bv_to_string - x in + x + in FStar_Util.print2 "(3) bind (case b): Substituting %s for %s" uu____3796 uu____3798); (let c21 = FStar_Syntax_Subst.subst_comp [FStar_Syntax_Syntax.NT - (x, e1')] c2 in + (x, e1')] c2 + in mk_seq c1 b c21)) else (debug1 - (fun uu____3813 -> + (fun uu____3813 -> let uu____3814 = FStar_TypeChecker_Normalize.term_to_string - env e1 in + env e1 + in let uu____3816 = FStar_Syntax_Print.bv_to_string - x in + x + in FStar_Util.print2 "(3) bind (case c): Adding equality %s = %s" uu____3814 uu____3816); (let c21 = FStar_Syntax_Subst.subst_comp [FStar_Syntax_Syntax.NT (x, e1)] - c2 in + c2 + in let x_eq_e = let uu____3823 = FStar_Syntax_Syntax.bv_to_name - x in + x + in FStar_Syntax_Util.mk_eq2 u_res_t1 - res_t1 e1 uu____3823 in + res_t1 e1 uu____3823 + in let c22 = - weaken_comp env c21 x_eq_e in + weaken_comp env c21 x_eq_e in mk_bind c1 b c22)))) - else mk_bind c1 b c2)))) in + else mk_bind c1 b c2)))) + in FStar_Syntax_Syntax.mk_lcomp joined_eff lc21.FStar_Syntax_Syntax.res_typ bind_flags bind_it + let (weaken_guard : FStar_TypeChecker_Common.guard_formula -> FStar_TypeChecker_Common.guard_formula -> FStar_TypeChecker_Common.guard_formula) = - fun g1 -> - fun g2 -> + fun g1 -> + fun g2 -> match (g1, g2) with - | (FStar_TypeChecker_Common.NonTrivial f1, - FStar_TypeChecker_Common.NonTrivial f2) -> - let g = FStar_Syntax_Util.mk_imp f1 f2 in + | (FStar_TypeChecker_Common.NonTrivial + f1,FStar_TypeChecker_Common.NonTrivial f2) -> + let g = FStar_Syntax_Util.mk_imp f1 f2 in FStar_TypeChecker_Common.NonTrivial g | uu____3841 -> g2 + let (maybe_assume_result_eq_pure_term : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.lcomp -> FStar_Syntax_Syntax.lcomp) = - fun env -> - fun e -> - fun lc -> + fun env -> + fun e -> + fun lc -> let should_return1 = (((Prims.op_Negation env.FStar_TypeChecker_Env.lax) && (FStar_TypeChecker_Env.lid_exists env FStar_Parser_Const.effect_GTot_lid)) && (should_return env (FStar_Pervasives_Native.Some e) lc)) && - (let uu____3865 = FStar_Syntax_Util.is_lcomp_partial_return lc in - Prims.op_Negation uu____3865) in + (let uu____3865 = FStar_Syntax_Util.is_lcomp_partial_return lc + in + Prims.op_Negation uu____3865) + in let flags = if should_return1 then - let uu____3873 = FStar_Syntax_Util.is_total_lcomp lc in + let uu____3873 = FStar_Syntax_Util.is_total_lcomp lc in (if uu____3873 then FStar_Syntax_Syntax.RETURN :: (lc.FStar_Syntax_Syntax.cflags) else FStar_Syntax_Syntax.PARTIAL_RETURN :: (lc.FStar_Syntax_Syntax.cflags)) - else lc.FStar_Syntax_Syntax.cflags in + else lc.FStar_Syntax_Syntax.cflags in let refine1 uu____3889 = - let c = FStar_Syntax_Syntax.lcomp_comp lc in + let c = FStar_Syntax_Syntax.lcomp_comp lc in let u_t = match comp_univ_opt c with | FStar_Pervasives_Native.Some u_t -> u_t - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> env.FStar_TypeChecker_Env.universe_of env - (FStar_Syntax_Util.comp_result c) in - let uu____3893 = FStar_Syntax_Util.is_tot_or_gtot_comp c in + (FStar_Syntax_Util.comp_result c) + in + let uu____3893 = FStar_Syntax_Util.is_tot_or_gtot_comp c in if uu____3893 then let retc = return_value env (FStar_Pervasives_Native.Some u_t) - (FStar_Syntax_Util.comp_result c) e in + (FStar_Syntax_Util.comp_result c) e + in let uu____3899 = - let uu____3901 = FStar_Syntax_Util.is_pure_comp c in - Prims.op_Negation uu____3901 in + let uu____3901 = FStar_Syntax_Util.is_pure_comp c in + Prims.op_Negation uu____3901 in (if uu____3899 then - let retc1 = FStar_Syntax_Util.comp_to_comp_typ retc in + let retc1 = FStar_Syntax_Util.comp_to_comp_typ retc in let retc2 = - let uu___583_3908 = retc1 in + let uu___583_3908 = retc1 in { FStar_Syntax_Syntax.comp_univs = (uu___583_3908.FStar_Syntax_Syntax.comp_univs); @@ -1502,41 +1676,49 @@ let (maybe_assume_result_eq_pure_term : FStar_Syntax_Syntax.effect_args = (uu___583_3908.FStar_Syntax_Syntax.effect_args); FStar_Syntax_Syntax.flags = flags - } in + } in FStar_Syntax_Syntax.mk_Comp retc2 else FStar_Syntax_Util.comp_set_flags retc flags) else - (let c1 = FStar_TypeChecker_Env.unfold_effect_abbrev env c in - let t = c1.FStar_Syntax_Syntax.result_typ in - let c2 = FStar_Syntax_Syntax.mk_Comp c1 in + (let c1 = FStar_TypeChecker_Env.unfold_effect_abbrev env c in + let t = c1.FStar_Syntax_Syntax.result_typ in + let c2 = FStar_Syntax_Syntax.mk_Comp c1 in let x = FStar_Syntax_Syntax.new_bv - (FStar_Pervasives_Native.Some (t.FStar_Syntax_Syntax.pos)) t in - let xexp = FStar_Syntax_Syntax.bv_to_name x in + (FStar_Pervasives_Native.Some (t.FStar_Syntax_Syntax.pos)) t + in + let xexp = FStar_Syntax_Syntax.bv_to_name x in let ret1 = let uu____3921 = let uu____3922 = - return_value env (FStar_Pervasives_Native.Some u_t) t xexp in + return_value env (FStar_Pervasives_Native.Some u_t) t xexp + in FStar_Syntax_Util.comp_set_flags uu____3922 - [FStar_Syntax_Syntax.PARTIAL_RETURN] in - FStar_All.pipe_left FStar_Syntax_Util.lcomp_of_comp uu____3921 in - let eq1 = FStar_Syntax_Util.mk_eq2 u_t t xexp e in + [FStar_Syntax_Syntax.PARTIAL_RETURN] + in + FStar_All.pipe_left FStar_Syntax_Util.lcomp_of_comp uu____3921 + in + let eq1 = FStar_Syntax_Util.mk_eq2 u_t t xexp e in let eq_ret = weaken_precondition env ret1 - (FStar_TypeChecker_Common.NonTrivial eq1) in + (FStar_TypeChecker_Common.NonTrivial eq1) + in let uu____3925 = let uu____3926 = - let uu____3927 = FStar_Syntax_Util.lcomp_of_comp c2 in + let uu____3927 = FStar_Syntax_Util.lcomp_of_comp c2 in bind e.FStar_Syntax_Syntax.pos env FStar_Pervasives_Native.None uu____3927 - ((FStar_Pervasives_Native.Some x), eq_ret) in - FStar_Syntax_Syntax.lcomp_comp uu____3926 in - FStar_Syntax_Util.comp_set_flags uu____3925 flags) in + ((FStar_Pervasives_Native.Some x), eq_ret) + in + FStar_Syntax_Syntax.lcomp_comp uu____3926 in + FStar_Syntax_Util.comp_set_flags uu____3925 flags) + in if Prims.op_Negation should_return1 then lc else FStar_Syntax_Syntax.mk_lcomp lc.FStar_Syntax_Syntax.eff_name lc.FStar_Syntax_Syntax.res_typ flags refine1 + let (maybe_return_e2_and_bind : FStar_Range.range -> FStar_TypeChecker_Env.env -> @@ -1545,40 +1727,45 @@ let (maybe_return_e2_and_bind : FStar_Syntax_Syntax.term -> lcomp_with_binder -> FStar_Syntax_Syntax.lcomp) = - fun r -> - fun env -> - fun e1opt -> - fun lc1 -> - fun e2 -> - fun uu____3965 -> + fun r -> + fun env -> + fun e1opt -> + fun lc1 -> + fun e2 -> + fun uu____3965 -> match uu____3965 with - | (x, lc2) -> + | (x,lc2) -> let lc21 = let eff1 = FStar_TypeChecker_Env.norm_eff_name env - lc1.FStar_Syntax_Syntax.eff_name in + lc1.FStar_Syntax_Syntax.eff_name + in let eff2 = FStar_TypeChecker_Env.norm_eff_name env - lc2.FStar_Syntax_Syntax.eff_name in + lc2.FStar_Syntax_Syntax.eff_name + in let uu____3977 = - ((let uu____3981 = is_pure_or_ghost_effect env eff1 in + ((let uu____3981 = is_pure_or_ghost_effect env eff1 in Prims.op_Negation uu____3981) || (should_not_inline_lc lc1)) - && (is_pure_or_ghost_effect env eff2) in + && (is_pure_or_ghost_effect env eff2) + in if uu____3977 then maybe_assume_result_eq_pure_term env e2 lc2 - else lc2 in + else lc2 in bind r env e1opt lc1 (x, lc21) + let (fvar_const : FStar_TypeChecker_Env.env -> FStar_Ident.lident -> FStar_Syntax_Syntax.term) = - fun env -> - fun lid -> + fun env -> + fun lid -> let uu____3999 = - let uu____4000 = FStar_TypeChecker_Env.get_range env in - FStar_Ident.set_lid_range lid uu____4000 in + let uu____4000 = FStar_TypeChecker_Env.get_range env in + FStar_Ident.set_lid_range lid uu____4000 in FStar_Syntax_Syntax.fvar uu____3999 FStar_Syntax_Syntax.delta_constant FStar_Pervasives_Native.None + let (bind_cases : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.typ -> @@ -1587,165 +1774,191 @@ let (bind_cases : (Prims.bool -> FStar_Syntax_Syntax.lcomp)) Prims.list -> FStar_Syntax_Syntax.lcomp) = - fun env -> - fun res_t -> - fun lcases -> + fun env -> + fun res_t -> + fun lcases -> let eff = FStar_List.fold_left - (fun eff -> - fun uu____4070 -> + (fun eff -> + fun uu____4070 -> match uu____4070 with - | (uu____4084, eff_label, uu____4086, uu____4087) -> + | (uu____4084,eff_label,uu____4086,uu____4087) -> join_effects env eff eff_label) - FStar_Parser_Const.effect_PURE_lid lcases in + FStar_Parser_Const.effect_PURE_lid lcases + in let uu____4100 = let uu____4108 = FStar_All.pipe_right lcases (FStar_Util.for_some - (fun uu____4146 -> + (fun uu____4146 -> match uu____4146 with - | (uu____4161, uu____4162, flags, uu____4164) -> + | (uu____4161,uu____4162,flags,uu____4164) -> FStar_All.pipe_right flags (FStar_Util.for_some - (fun uu___5_4181 -> + (fun uu___5_4181 -> match uu___5_4181 with - | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> + | FStar_Syntax_Syntax.SHOULD_NOT_INLINE -> true - | uu____4184 -> false)))) in + | uu____4184 -> false)))) + in if uu____4108 then (true, [FStar_Syntax_Syntax.SHOULD_NOT_INLINE]) - else (false, []) in + else (false, []) in match uu____4100 with - | (should_not_inline_whole_match, bind_cases_flags) -> + | (should_not_inline_whole_match,bind_cases_flags) -> let bind_cases uu____4217 = - let u_res_t = env.FStar_TypeChecker_Env.universe_of env res_t in + let u_res_t = env.FStar_TypeChecker_Env.universe_of env res_t + in let uu____4219 = - env.FStar_TypeChecker_Env.lax && (FStar_Options.ml_ish ()) in + env.FStar_TypeChecker_Env.lax && (FStar_Options.ml_ish ()) + in if uu____4219 then lax_mk_tot_or_comp_l eff u_res_t res_t [] else (let ifthenelse md res_t1 g wp_t wp_e = let uu____4260 = FStar_Range.union_ranges wp_t.FStar_Syntax_Syntax.pos - wp_e.FStar_Syntax_Syntax.pos in + wp_e.FStar_Syntax_Syntax.pos + in let uu____4261 = let uu____4266 = FStar_TypeChecker_Env.inst_effect_fun_with [u_res_t] - env md md.FStar_Syntax_Syntax.if_then_else in + env md md.FStar_Syntax_Syntax.if_then_else + in let uu____4267 = - let uu____4268 = FStar_Syntax_Syntax.as_arg res_t1 in + let uu____4268 = FStar_Syntax_Syntax.as_arg res_t1 in let uu____4277 = - let uu____4288 = FStar_Syntax_Syntax.as_arg g in + let uu____4288 = FStar_Syntax_Syntax.as_arg g in let uu____4297 = - let uu____4308 = FStar_Syntax_Syntax.as_arg wp_t in + let uu____4308 = FStar_Syntax_Syntax.as_arg wp_t + in let uu____4317 = - let uu____4328 = FStar_Syntax_Syntax.as_arg wp_e in - [uu____4328] in - uu____4308 :: uu____4317 in - uu____4288 :: uu____4297 in - uu____4268 :: uu____4277 in - FStar_Syntax_Syntax.mk_Tm_app uu____4266 uu____4267 in - uu____4261 FStar_Pervasives_Native.None uu____4260 in + let uu____4328 = FStar_Syntax_Syntax.as_arg wp_e + in + [uu____4328] in + uu____4308 :: uu____4317 in + uu____4288 :: uu____4297 in + uu____4268 :: uu____4277 in + FStar_Syntax_Syntax.mk_Tm_app uu____4266 uu____4267 in + uu____4261 FStar_Pervasives_Native.None uu____4260 in let default_case = let post_k = let uu____4381 = - let uu____4390 = FStar_Syntax_Syntax.null_binder res_t in - [uu____4390] in + let uu____4390 = FStar_Syntax_Syntax.null_binder res_t + in + [uu____4390] in let uu____4409 = - FStar_Syntax_Syntax.mk_Total FStar_Syntax_Util.ktype0 in - FStar_Syntax_Util.arrow uu____4381 uu____4409 in + FStar_Syntax_Syntax.mk_Total FStar_Syntax_Util.ktype0 + in + FStar_Syntax_Util.arrow uu____4381 uu____4409 in let kwp = let uu____4415 = let uu____4424 = - FStar_Syntax_Syntax.null_binder post_k in - [uu____4424] in + FStar_Syntax_Syntax.null_binder post_k in + [uu____4424] in let uu____4443 = - FStar_Syntax_Syntax.mk_Total FStar_Syntax_Util.ktype0 in - FStar_Syntax_Util.arrow uu____4415 uu____4443 in + FStar_Syntax_Syntax.mk_Total FStar_Syntax_Util.ktype0 + in + FStar_Syntax_Util.arrow uu____4415 uu____4443 in let post = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None - post_k in + post_k + in let wp = let uu____4450 = - let uu____4451 = FStar_Syntax_Syntax.mk_binder post in - [uu____4451] in + let uu____4451 = FStar_Syntax_Syntax.mk_binder post + in + [uu____4451] in let uu____4470 = let uu____4473 = - let uu____4480 = FStar_TypeChecker_Env.get_range env in + let uu____4480 = FStar_TypeChecker_Env.get_range env + in label FStar_TypeChecker_Err.exhaustiveness_check - uu____4480 in + uu____4480 + in let uu____4481 = - fvar_const env FStar_Parser_Const.false_lid in - FStar_All.pipe_left uu____4473 uu____4481 in + fvar_const env FStar_Parser_Const.false_lid in + FStar_All.pipe_left uu____4473 uu____4481 in FStar_Syntax_Util.abs uu____4450 uu____4470 (FStar_Pervasives_Native.Some (FStar_Syntax_Util.mk_residual_comp FStar_Parser_Const.effect_Tot_lid FStar_Pervasives_Native.None - [FStar_Syntax_Syntax.TOTAL])) in + [FStar_Syntax_Syntax.TOTAL])) + in let md = FStar_TypeChecker_Env.get_effect_decl env - FStar_Parser_Const.effect_PURE_lid in - mk_comp md u_res_t res_t wp [] in + FStar_Parser_Const.effect_PURE_lid + in + mk_comp md u_res_t res_t wp [] in let maybe_return eff_label_then cthen = let uu____4505 = should_not_inline_whole_match || - (let uu____4508 = is_pure_or_ghost_effect env eff in - Prims.op_Negation uu____4508) in - if uu____4505 then cthen true else cthen false in + (let uu____4508 = is_pure_or_ghost_effect env eff in + Prims.op_Negation uu____4508) + in + if uu____4505 then cthen true else cthen false in let comp = FStar_List.fold_right - (fun uu____4547 -> - fun celse -> + (fun uu____4547 -> + fun celse -> match uu____4547 with - | (g, eff_label, uu____4564, cthen) -> + | (g,eff_label,uu____4564,cthen) -> let uu____4578 = let uu____4603 = let uu____4604 = - maybe_return eff_label cthen in - FStar_Syntax_Syntax.lcomp_comp uu____4604 in - lift_and_destruct env uu____4603 celse in + maybe_return eff_label cthen in + FStar_Syntax_Syntax.lcomp_comp uu____4604 + in + lift_and_destruct env uu____4603 celse in (match uu____4578 with - | ((md, uu____4606, uu____4607), - (uu____4608, uu____4609, wp_then), - (uu____4611, uu____4612, wp_else)) -> + | ((md,uu____4606,uu____4607),(uu____4608,uu____4609,wp_then), + (uu____4611,uu____4612,wp_else)) -> let uu____4632 = - ifthenelse md res_t g wp_then wp_else in + ifthenelse md res_t g wp_then wp_else + in mk_comp md u_res_t res_t uu____4632 [])) - lcases default_case in + lcases default_case + in match lcases with | [] -> comp | uu____4647::[] -> comp | uu____4690 -> let comp1 = - FStar_TypeChecker_Env.comp_to_comp_typ env comp in + FStar_TypeChecker_Env.comp_to_comp_typ env comp in let md = FStar_TypeChecker_Env.get_effect_decl env - comp1.FStar_Syntax_Syntax.effect_name in - let uu____4709 = destruct_comp comp1 in + comp1.FStar_Syntax_Syntax.effect_name + in + let uu____4709 = destruct_comp comp1 in (match uu____4709 with - | (uu____4716, uu____4717, wp) -> + | (uu____4716,uu____4717,wp) -> let wp1 = let uu____4722 = let uu____4727 = FStar_TypeChecker_Env.inst_effect_fun_with [u_res_t] env md - md.FStar_Syntax_Syntax.ite_wp in + md.FStar_Syntax_Syntax.ite_wp + in let uu____4728 = let uu____4729 = - FStar_Syntax_Syntax.as_arg res_t in + FStar_Syntax_Syntax.as_arg res_t in let uu____4738 = let uu____4749 = - FStar_Syntax_Syntax.as_arg wp in - [uu____4749] in - uu____4729 :: uu____4738 in + FStar_Syntax_Syntax.as_arg wp in + [uu____4749] in + uu____4729 :: uu____4738 in FStar_Syntax_Syntax.mk_Tm_app uu____4727 - uu____4728 in + uu____4728 + in uu____4722 FStar_Pervasives_Native.None - wp.FStar_Syntax_Syntax.pos in - mk_comp md u_res_t res_t wp1 bind_cases_flags)) in + wp.FStar_Syntax_Syntax.pos + in + mk_comp md u_res_t res_t wp1 bind_cases_flags)) + in FStar_Syntax_Syntax.mk_lcomp eff res_t bind_cases_flags bind_cases + let (check_comp : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -1754,67 +1967,77 @@ let (check_comp : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.comp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - fun c -> - fun c' -> - let uu____4815 = FStar_TypeChecker_Rel.sub_comp env c c' in + fun env -> + fun e -> + fun c -> + fun c' -> + let uu____4815 = FStar_TypeChecker_Rel.sub_comp env c c' in match uu____4815 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> if env.FStar_TypeChecker_Env.use_eq then let uu____4831 = FStar_TypeChecker_Err.computed_computation_type_does_not_match_annotation_eq - env e c c' in - let uu____4837 = FStar_TypeChecker_Env.get_range env in + env e c c' + in + let uu____4837 = FStar_TypeChecker_Env.get_range env in FStar_Errors.raise_error uu____4831 uu____4837 else (let uu____4846 = FStar_TypeChecker_Err.computed_computation_type_does_not_match_annotation - env e c c' in - let uu____4852 = FStar_TypeChecker_Env.get_range env in + env e c c' + in + let uu____4852 = FStar_TypeChecker_Env.get_range env in FStar_Errors.raise_error uu____4846 uu____4852) | FStar_Pervasives_Native.Some g -> (e, c', g) + let (universe_of_comp : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.universe -> FStar_Syntax_Syntax.comp -> FStar_Syntax_Syntax.universe) = - fun env -> - fun u_res -> - fun c -> + fun env -> + fun u_res -> + fun c -> let c_lid = let uu____4877 = - FStar_All.pipe_right c FStar_Syntax_Util.comp_effect_name in + FStar_All.pipe_right c FStar_Syntax_Util.comp_effect_name in FStar_All.pipe_right uu____4877 - (FStar_TypeChecker_Env.norm_eff_name env) in - let uu____4880 = FStar_Syntax_Util.is_pure_or_ghost_effect c_lid in + (FStar_TypeChecker_Env.norm_eff_name env) + in + let uu____4880 = FStar_Syntax_Util.is_pure_or_ghost_effect c_lid in if uu____4880 then u_res else (let is_total = let uu____4887 = - FStar_TypeChecker_Env.lookup_effect_quals env c_lid in + FStar_TypeChecker_Env.lookup_effect_quals env c_lid in FStar_All.pipe_right uu____4887 (FStar_List.existsb - (fun q -> q = FStar_Syntax_Syntax.TotalEffect)) in + (fun q -> q = FStar_Syntax_Syntax.TotalEffect)) + in if Prims.op_Negation is_total then FStar_Syntax_Syntax.U_zero else - (let uu____4898 = FStar_TypeChecker_Env.effect_repr env c u_res in + (let uu____4898 = FStar_TypeChecker_Env.effect_repr env c u_res + in match uu____4898 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____4901 = let uu____4907 = - let uu____4909 = FStar_Syntax_Print.lid_to_string c_lid in + let uu____4909 = FStar_Syntax_Print.lid_to_string c_lid + in FStar_Util.format1 "Effect %s is marked total but does not have a repr" - uu____4909 in - (FStar_Errors.Fatal_EffectCannotBeReified, uu____4907) in + uu____4909 + in + (FStar_Errors.Fatal_EffectCannotBeReified, uu____4907) + in FStar_Errors.raise_error uu____4901 c.FStar_Syntax_Syntax.pos | FStar_Pervasives_Native.Some tm -> env.FStar_TypeChecker_Env.universe_of env tm)) + let (maybe_coerce_bool_to_type : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -1822,25 +2045,26 @@ let (maybe_coerce_bool_to_type : FStar_Syntax_Syntax.typ -> (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp)) = - fun env -> - fun e -> - fun lc -> - fun t -> + fun env -> + fun e -> + fun lc -> + fun t -> if env.FStar_TypeChecker_Env.is_pattern then (e, lc) else (let is_type1 t1 = - let t2 = FStar_TypeChecker_Normalize.unfold_whnf env t1 in + let t2 = FStar_TypeChecker_Normalize.unfold_whnf env t1 in let uu____4954 = - let uu____4955 = FStar_Syntax_Subst.compress t2 in - uu____4955.FStar_Syntax_Syntax.n in + let uu____4955 = FStar_Syntax_Subst.compress t2 in + uu____4955.FStar_Syntax_Syntax.n in match uu____4954 with | FStar_Syntax_Syntax.Tm_type uu____4959 -> true - | uu____4961 -> false in + | uu____4961 -> false in let uu____4963 = let uu____4964 = - FStar_Syntax_Util.unrefine lc.FStar_Syntax_Syntax.res_typ in - uu____4964.FStar_Syntax_Syntax.n in + FStar_Syntax_Util.unrefine lc.FStar_Syntax_Syntax.res_typ + in + uu____4964.FStar_Syntax_Syntax.n in match uu____4963 with | FStar_Syntax_Syntax.Tm_fvar fv when (FStar_Syntax_Syntax.fv_eq_lid fv @@ -1849,35 +2073,43 @@ let (maybe_coerce_bool_to_type : -> let uu____4972 = FStar_TypeChecker_Env.lookup_lid env - FStar_Parser_Const.b2t_lid in + FStar_Parser_Const.b2t_lid + in let b2t1 = let uu____4982 = FStar_Ident.set_lid_range FStar_Parser_Const.b2t_lid - e.FStar_Syntax_Syntax.pos in + e.FStar_Syntax_Syntax.pos + in FStar_Syntax_Syntax.fvar uu____4982 (FStar_Syntax_Syntax.Delta_constant_at_level - (Prims.parse_int "1")) FStar_Pervasives_Native.None in + (Prims.parse_int "1")) FStar_Pervasives_Native.None + in let lc1 = let uu____4985 = let uu____4986 = let uu____4987 = FStar_Syntax_Syntax.mk_Total - FStar_Syntax_Util.ktype0 in + FStar_Syntax_Util.ktype0 + in FStar_All.pipe_left FStar_Syntax_Util.lcomp_of_comp - uu____4987 in - (FStar_Pervasives_Native.None, uu____4986) in + uu____4987 + in + (FStar_Pervasives_Native.None, uu____4986) in bind e.FStar_Syntax_Syntax.pos env - (FStar_Pervasives_Native.Some e) lc uu____4985 in + (FStar_Pervasives_Native.Some e) lc uu____4985 + in let e1 = let uu____4993 = let uu____4998 = - let uu____4999 = FStar_Syntax_Syntax.as_arg e in - [uu____4999] in - FStar_Syntax_Syntax.mk_Tm_app b2t1 uu____4998 in + let uu____4999 = FStar_Syntax_Syntax.as_arg e in + [uu____4999] in + FStar_Syntax_Syntax.mk_Tm_app b2t1 uu____4998 in uu____4993 FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in + e.FStar_Syntax_Syntax.pos + in (e1, lc1) | uu____5024 -> (e, lc)) + let (weaken_result_typ : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -1886,17 +2118,17 @@ let (weaken_result_typ : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.lcomp * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - fun lc -> - fun t -> + fun env -> + fun e -> + fun lc -> + fun t -> (let uu____5059 = - FStar_TypeChecker_Env.debug env FStar_Options.High in + FStar_TypeChecker_Env.debug env FStar_Options.High in if uu____5059 then - let uu____5062 = FStar_Syntax_Print.term_to_string e in - let uu____5064 = FStar_Syntax_Print.lcomp_to_string lc in - let uu____5066 = FStar_Syntax_Print.term_to_string t in + let uu____5062 = FStar_Syntax_Print.term_to_string e in + let uu____5064 = FStar_Syntax_Print.lcomp_to_string lc in + let uu____5066 = FStar_Syntax_Print.term_to_string t in FStar_Util.print3 "weaken_result_typ e=(%s) lc=(%s) t=(%s)\n" uu____5062 uu____5064 uu____5066 else ()); @@ -1904,39 +2136,45 @@ let (weaken_result_typ : env.FStar_TypeChecker_Env.use_eq || (let uu____5076 = FStar_TypeChecker_Env.effect_decl_opt env - lc.FStar_Syntax_Syntax.eff_name in + lc.FStar_Syntax_Syntax.eff_name + in match uu____5076 with - | FStar_Pervasives_Native.Some (ed, qualifiers) -> + | FStar_Pervasives_Native.Some (ed,qualifiers) -> FStar_All.pipe_right qualifiers (FStar_List.contains FStar_Syntax_Syntax.Reifiable) - | uu____5101 -> false) in + | uu____5101 -> false) + in let gopt = if use_eq then let uu____5127 = FStar_TypeChecker_Rel.try_teq true env - lc.FStar_Syntax_Syntax.res_typ t in + lc.FStar_Syntax_Syntax.res_typ t + in (uu____5127, false) else (let uu____5137 = FStar_TypeChecker_Rel.get_subtyping_predicate env - lc.FStar_Syntax_Syntax.res_typ t in - (uu____5137, true)) in + lc.FStar_Syntax_Syntax.res_typ t + in + (uu____5137, true)) + in match gopt with - | (FStar_Pervasives_Native.None, uu____5150) -> + | (FStar_Pervasives_Native.None ,uu____5150) -> if env.FStar_TypeChecker_Env.failhard then let uu____5162 = FStar_TypeChecker_Err.basic_type_error env (FStar_Pervasives_Native.Some e) t - lc.FStar_Syntax_Syntax.res_typ in + lc.FStar_Syntax_Syntax.res_typ + in FStar_Errors.raise_error uu____5162 e.FStar_Syntax_Syntax.pos else (FStar_TypeChecker_Rel.subtype_fail env e lc.FStar_Syntax_Syntax.res_typ t; (e, - ((let uu___739_5178 = lc in + ((let uu___739_5178 = lc in { FStar_Syntax_Syntax.eff_name = (uu___739_5178.FStar_Syntax_Syntax.eff_name); @@ -1946,30 +2184,31 @@ let (weaken_result_typ : FStar_Syntax_Syntax.comp_thunk = (uu___739_5178.FStar_Syntax_Syntax.comp_thunk) })), FStar_TypeChecker_Env.trivial_guard)) - | (FStar_Pervasives_Native.Some g, apply_guard1) -> - let uu____5185 = FStar_TypeChecker_Env.guard_form g in + | (FStar_Pervasives_Native.Some g,apply_guard1) -> + let uu____5185 = FStar_TypeChecker_Env.guard_form g in (match uu____5185 with - | FStar_TypeChecker_Common.Trivial -> + | FStar_TypeChecker_Common.Trivial -> let strengthen_trivial uu____5197 = - let c = FStar_Syntax_Syntax.lcomp_comp lc in - let res_t = FStar_Syntax_Util.comp_result c in + let c = FStar_Syntax_Syntax.lcomp_comp lc in + let res_t = FStar_Syntax_Util.comp_result c in let set_result_typ1 c1 = - FStar_Syntax_Util.set_result_typ c1 t in + FStar_Syntax_Util.set_result_typ c1 t in let uu____5208 = - let uu____5210 = FStar_Syntax_Util.eq_tm t res_t in - uu____5210 = FStar_Syntax_Util.Equal in + let uu____5210 = FStar_Syntax_Util.eq_tm t res_t in + uu____5210 = FStar_Syntax_Util.Equal in if uu____5208 then ((let uu____5213 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - FStar_Options.Extreme in + FStar_Options.Extreme + in if uu____5213 then let uu____5217 = - FStar_Syntax_Print.term_to_string res_t in + FStar_Syntax_Print.term_to_string res_t in let uu____5219 = - FStar_Syntax_Print.term_to_string t in + FStar_Syntax_Print.term_to_string t in FStar_Util.print2 "weaken_result_type::strengthen_trivial: res_t:%s is same as t:%s\n" uu____5217 uu____5219 @@ -1980,76 +2219,85 @@ let (weaken_result_typ : let res_t1 = FStar_TypeChecker_Normalize.normalize_refinement FStar_TypeChecker_Normalize.whnf_steps env - res_t in + res_t + in match res_t1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_refine uu____5230 -> true - | uu____5238 -> false in + | uu____5238 -> false in if is_res_t_refinement then let x = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some - (res_t.FStar_Syntax_Syntax.pos)) res_t in + (res_t.FStar_Syntax_Syntax.pos)) res_t + in let cret = let uu____5243 = - FStar_Syntax_Syntax.bv_to_name x in + FStar_Syntax_Syntax.bv_to_name x in return_value env (comp_univ_opt c) res_t - uu____5243 in + uu____5243 + in let lc1 = let uu____5245 = - FStar_Syntax_Util.lcomp_of_comp c in + FStar_Syntax_Util.lcomp_of_comp c in let uu____5246 = let uu____5247 = - FStar_Syntax_Util.lcomp_of_comp cret in - ((FStar_Pervasives_Native.Some x), uu____5247) in + FStar_Syntax_Util.lcomp_of_comp cret in + ((FStar_Pervasives_Native.Some x), uu____5247) + in bind e.FStar_Syntax_Syntax.pos env (FStar_Pervasives_Native.Some e) uu____5245 - uu____5246 in + uu____5246 + in ((let uu____5251 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - FStar_Options.Extreme in + FStar_Options.Extreme + in if uu____5251 then let uu____5255 = - FStar_Syntax_Print.term_to_string e in + FStar_Syntax_Print.term_to_string e in let uu____5257 = - FStar_Syntax_Print.comp_to_string c in + FStar_Syntax_Print.comp_to_string c in let uu____5259 = - FStar_Syntax_Print.term_to_string t in + FStar_Syntax_Print.term_to_string t in let uu____5261 = - FStar_Syntax_Print.lcomp_to_string lc1 in + FStar_Syntax_Print.lcomp_to_string lc1 in FStar_Util.print4 "weaken_result_type::strengthen_trivial: inserting a return for e: %s, c: %s, t: %s, and then post return lc: %s\n" uu____5255 uu____5257 uu____5259 uu____5261 else ()); (let uu____5266 = - FStar_Syntax_Syntax.lcomp_comp lc1 in + FStar_Syntax_Syntax.lcomp_comp lc1 in set_result_typ1 uu____5266)) else ((let uu____5270 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - FStar_Options.Extreme in + FStar_Options.Extreme + in if uu____5270 then let uu____5274 = - FStar_Syntax_Print.term_to_string res_t in + FStar_Syntax_Print.term_to_string res_t in let uu____5276 = - FStar_Syntax_Print.comp_to_string c in + FStar_Syntax_Print.comp_to_string c in FStar_Util.print2 "weaken_result_type::strengthen_trivial: res_t:%s is not a refinement, leaving c:%s as is\n" uu____5274 uu____5276 else ()); - set_result_typ1 c)) in + set_result_typ1 c)) + in let lc1 = FStar_Syntax_Syntax.mk_lcomp lc.FStar_Syntax_Syntax.eff_name t - lc.FStar_Syntax_Syntax.cflags strengthen_trivial in + lc.FStar_Syntax_Syntax.cflags strengthen_trivial + in (e, lc1, g) | FStar_TypeChecker_Common.NonTrivial f -> let g1 = - let uu___771_5284 = g in + let uu___771_5284 = g in { FStar_TypeChecker_Env.guard_f = FStar_TypeChecker_Common.Trivial; @@ -2059,11 +2307,12 @@ let (weaken_result_typ : (uu___771_5284.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = (uu___771_5284.FStar_TypeChecker_Env.implicits) - } in + } in let strengthen uu____5290 = let uu____5291 = env.FStar_TypeChecker_Env.lax && - (FStar_Options.ml_ish ()) in + (FStar_Options.ml_ish ()) + in if uu____5291 then FStar_Syntax_Syntax.lcomp_comp lc else @@ -2072,25 +2321,27 @@ let (weaken_result_typ : [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.Simplify; - FStar_TypeChecker_Env.Primops] env f in + FStar_TypeChecker_Env.Primops] env f + in let uu____5297 = - let uu____5298 = FStar_Syntax_Subst.compress f1 in - uu____5298.FStar_Syntax_Syntax.n in + let uu____5298 = FStar_Syntax_Subst.compress f1 + in + uu____5298.FStar_Syntax_Syntax.n in match uu____5297 with | FStar_Syntax_Syntax.Tm_abs - (uu____5301, - { - FStar_Syntax_Syntax.n = - FStar_Syntax_Syntax.Tm_fvar fv; - FStar_Syntax_Syntax.pos = uu____5303; - FStar_Syntax_Syntax.vars = uu____5304;_}, - uu____5305) + (uu____5301,{ + FStar_Syntax_Syntax.n = + FStar_Syntax_Syntax.Tm_fvar fv; + FStar_Syntax_Syntax.pos = + uu____5303; + FStar_Syntax_Syntax.vars = + uu____5304;_},uu____5305) when FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.true_lid -> let lc1 = - let uu___787_5331 = lc in + let uu___787_5331 = lc in { FStar_Syntax_Syntax.eff_name = (uu___787_5331.FStar_Syntax_Syntax.eff_name); @@ -2099,76 +2350,88 @@ let (weaken_result_typ : (uu___787_5331.FStar_Syntax_Syntax.cflags); FStar_Syntax_Syntax.comp_thunk = (uu___787_5331.FStar_Syntax_Syntax.comp_thunk) - } in + } in FStar_Syntax_Syntax.lcomp_comp lc1 | uu____5332 -> - let c = FStar_Syntax_Syntax.lcomp_comp lc in + let c = FStar_Syntax_Syntax.lcomp_comp lc in ((let uu____5335 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - FStar_Options.Extreme in + FStar_Options.Extreme + in if uu____5335 then let uu____5339 = FStar_TypeChecker_Normalize.term_to_string - env lc.FStar_Syntax_Syntax.res_typ in + env lc.FStar_Syntax_Syntax.res_typ + in let uu____5341 = FStar_TypeChecker_Normalize.term_to_string - env t in + env t + in let uu____5343 = FStar_TypeChecker_Normalize.comp_to_string - env c in + env c + in let uu____5345 = FStar_TypeChecker_Normalize.term_to_string - env f1 in + env f1 + in FStar_Util.print4 "Weakened from %s to %s\nStrengthening %s with guard %s\n" uu____5339 uu____5341 uu____5343 uu____5345 else ()); - (let u_t_opt = comp_univ_opt c in + (let u_t_opt = comp_univ_opt c in let x = FStar_Syntax_Syntax.new_bv (FStar_Pervasives_Native.Some - (t.FStar_Syntax_Syntax.pos)) t in - let xexp = FStar_Syntax_Syntax.bv_to_name x in - let cret = return_value env u_t_opt t xexp in + (t.FStar_Syntax_Syntax.pos)) t + in + let xexp = FStar_Syntax_Syntax.bv_to_name x + in + let cret = return_value env u_t_opt t xexp in let guard = if apply_guard1 then let uu____5358 = let uu____5363 = let uu____5364 = - FStar_Syntax_Syntax.as_arg xexp in - [uu____5364] in + FStar_Syntax_Syntax.as_arg xexp in + [uu____5364] in FStar_Syntax_Syntax.mk_Tm_app f1 - uu____5363 in + uu____5363 + in uu____5358 FStar_Pervasives_Native.None f1.FStar_Syntax_Syntax.pos - else f1 in + else f1 in let uu____5391 = let uu____5396 = FStar_All.pipe_left - (fun _5417 -> + (fun _5417 -> FStar_Pervasives_Native.Some _5417) (FStar_TypeChecker_Err.subtyping_failed - env lc.FStar_Syntax_Syntax.res_typ t) in + env lc.FStar_Syntax_Syntax.res_typ t) + in let uu____5418 = FStar_TypeChecker_Env.set_range env - e.FStar_Syntax_Syntax.pos in + e.FStar_Syntax_Syntax.pos + in let uu____5419 = - FStar_Syntax_Util.lcomp_of_comp cret in + FStar_Syntax_Util.lcomp_of_comp cret in let uu____5420 = FStar_All.pipe_left FStar_TypeChecker_Env.guard_of_guard_formula (FStar_TypeChecker_Common.NonTrivial - guard) in + guard) + in strengthen_precondition uu____5396 - uu____5418 e uu____5419 uu____5420 in + uu____5418 e uu____5419 uu____5420 + in match uu____5391 with - | (eq_ret, _trivial_so_ok_to_discard) -> + | (eq_ret,_trivial_so_ok_to_discard) -> let x1 = - let uu___803_5424 = x in + let uu___803_5424 = x in { FStar_Syntax_Syntax.ppname = (uu___803_5424.FStar_Syntax_Syntax.ppname); @@ -2176,49 +2439,57 @@ let (weaken_result_typ : (uu___803_5424.FStar_Syntax_Syntax.index); FStar_Syntax_Syntax.sort = (lc.FStar_Syntax_Syntax.res_typ) - } in + } in let c1 = let uu____5426 = - FStar_Syntax_Util.lcomp_of_comp c in + FStar_Syntax_Util.lcomp_of_comp c in bind e.FStar_Syntax_Syntax.pos env (FStar_Pervasives_Native.Some e) uu____5426 ((FStar_Pervasives_Native.Some x1), - eq_ret) in - let c2 = FStar_Syntax_Syntax.lcomp_comp c1 in + eq_ret) + in + let c2 = FStar_Syntax_Syntax.lcomp_comp c1 + in ((let uu____5431 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - FStar_Options.Extreme in + FStar_Options.Extreme + in if uu____5431 then let uu____5435 = FStar_TypeChecker_Normalize.comp_to_string - env c2 in + env c2 + in FStar_Util.print1 "Strengthened to %s\n" uu____5435 else ()); - c2)))) in + c2)))) + in let flags = FStar_All.pipe_right lc.FStar_Syntax_Syntax.cflags (FStar_List.collect - (fun uu___6_5448 -> + (fun uu___6_5448 -> match uu___6_5448 with - | FStar_Syntax_Syntax.RETURN -> + | FStar_Syntax_Syntax.RETURN -> [FStar_Syntax_Syntax.PARTIAL_RETURN] - | FStar_Syntax_Syntax.PARTIAL_RETURN -> + | FStar_Syntax_Syntax.PARTIAL_RETURN -> [FStar_Syntax_Syntax.PARTIAL_RETURN] - | FStar_Syntax_Syntax.CPS -> + | FStar_Syntax_Syntax.CPS -> [FStar_Syntax_Syntax.CPS] - | uu____5451 -> [])) in + | uu____5451 -> [])) + in let lc1 = let uu____5453 = FStar_TypeChecker_Env.norm_eff_name env - lc.FStar_Syntax_Syntax.eff_name in + lc.FStar_Syntax_Syntax.eff_name + in FStar_Syntax_Syntax.mk_lcomp uu____5453 t flags - strengthen in + strengthen + in let g2 = - let uu___817_5455 = g1 in + let uu___817_5455 = g1 in { FStar_TypeChecker_Env.guard_f = FStar_TypeChecker_Common.Trivial; @@ -2228,35 +2499,39 @@ let (weaken_result_typ : (uu___817_5455.FStar_TypeChecker_Env.univ_ineqs); FStar_TypeChecker_Env.implicits = (uu___817_5455.FStar_TypeChecker_Env.implicits) - } in + } in (e, lc1, g2))) + let (pure_or_ghost_pre_and_post : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.comp -> (FStar_Syntax_Syntax.typ FStar_Pervasives_Native.option * FStar_Syntax_Syntax.typ)) = - fun env -> - fun comp -> + fun env -> + fun comp -> let mk_post_type res_t ens = - let x = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None res_t in + let x = FStar_Syntax_Syntax.new_bv FStar_Pervasives_Native.None res_t + in let uu____5491 = let uu____5494 = let uu____5499 = let uu____5500 = - let uu____5509 = FStar_Syntax_Syntax.bv_to_name x in - FStar_Syntax_Syntax.as_arg uu____5509 in - [uu____5500] in - FStar_Syntax_Syntax.mk_Tm_app ens uu____5499 in + let uu____5509 = FStar_Syntax_Syntax.bv_to_name x in + FStar_Syntax_Syntax.as_arg uu____5509 in + [uu____5500] in + FStar_Syntax_Syntax.mk_Tm_app ens uu____5499 in uu____5494 FStar_Pervasives_Native.None - res_t.FStar_Syntax_Syntax.pos in - FStar_Syntax_Util.refine x uu____5491 in + res_t.FStar_Syntax_Syntax.pos + in + FStar_Syntax_Util.refine x uu____5491 in let norm1 t = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Eager_unfolding; - FStar_TypeChecker_Env.EraseUniverses] env t in - let uu____5532 = FStar_Syntax_Util.is_tot_or_gtot_comp comp in + FStar_TypeChecker_Env.EraseUniverses] env t + in + let uu____5532 = FStar_Syntax_Util.is_tot_or_gtot_comp comp in if uu____5532 then (FStar_Pervasives_Native.None, (FStar_Syntax_Util.comp_result comp)) @@ -2270,189 +2545,220 @@ let (pure_or_ghost_pre_and_post : FStar_Parser_Const.effect_Pure_lid) || (FStar_Ident.lid_equals ct.FStar_Syntax_Syntax.effect_name - FStar_Parser_Const.effect_Ghost_lid) in + FStar_Parser_Const.effect_Ghost_lid) + in if uu____5584 then (match ct.FStar_Syntax_Syntax.effect_args with - | (req, uu____5600)::(ens, uu____5602)::uu____5603 -> + | (req,uu____5600)::(ens,uu____5602)::uu____5603 -> let uu____5646 = - let uu____5649 = norm1 req in - FStar_Pervasives_Native.Some uu____5649 in + let uu____5649 = norm1 req in + FStar_Pervasives_Native.Some uu____5649 in let uu____5650 = let uu____5651 = - mk_post_type ct.FStar_Syntax_Syntax.result_typ ens in - FStar_All.pipe_left norm1 uu____5651 in + mk_post_type ct.FStar_Syntax_Syntax.result_typ ens + in + FStar_All.pipe_left norm1 uu____5651 in (uu____5646, uu____5650) | uu____5654 -> let uu____5665 = let uu____5671 = let uu____5673 = - FStar_Syntax_Print.comp_to_string comp in + FStar_Syntax_Print.comp_to_string comp in FStar_Util.format1 "Effect constructor is not fully applied; got %s" - uu____5673 in + uu____5673 + in (FStar_Errors.Fatal_EffectConstructorNotFullyApplied, - uu____5671) in + uu____5671) + in FStar_Errors.raise_error uu____5665 comp.FStar_Syntax_Syntax.pos) else - (let ct1 = FStar_TypeChecker_Env.unfold_effect_abbrev env comp in + (let ct1 = FStar_TypeChecker_Env.unfold_effect_abbrev env comp + in match ct1.FStar_Syntax_Syntax.effect_args with - | (wp, uu____5693)::uu____5694 -> + | (wp,uu____5693)::uu____5694 -> let uu____5721 = let uu____5726 = FStar_TypeChecker_Env.lookup_lid env - FStar_Parser_Const.as_requires in + FStar_Parser_Const.as_requires + in FStar_All.pipe_left FStar_Pervasives_Native.fst - uu____5726 in + uu____5726 + in (match uu____5721 with - | (us_r, uu____5758) -> + | (us_r,uu____5758) -> let uu____5759 = let uu____5764 = FStar_TypeChecker_Env.lookup_lid env - FStar_Parser_Const.as_ensures in + FStar_Parser_Const.as_ensures + in FStar_All.pipe_left FStar_Pervasives_Native.fst - uu____5764 in + uu____5764 + in (match uu____5759 with - | (us_e, uu____5796) -> + | (us_e,uu____5796) -> let r = - (ct1.FStar_Syntax_Syntax.result_typ).FStar_Syntax_Syntax.pos in + (ct1.FStar_Syntax_Syntax.result_typ).FStar_Syntax_Syntax.pos + in let as_req = let uu____5799 = let uu____5800 = FStar_Ident.set_lid_range - FStar_Parser_Const.as_requires r in + FStar_Parser_Const.as_requires r + in FStar_Syntax_Syntax.fvar uu____5800 FStar_Syntax_Syntax.delta_equational - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Syntax_Syntax.mk_Tm_uinst uu____5799 - us_r in + us_r + in let as_ens = let uu____5802 = let uu____5803 = FStar_Ident.set_lid_range - FStar_Parser_Const.as_ensures r in + FStar_Parser_Const.as_ensures r + in FStar_Syntax_Syntax.fvar uu____5803 FStar_Syntax_Syntax.delta_equational - FStar_Pervasives_Native.None in + FStar_Pervasives_Native.None + in FStar_Syntax_Syntax.mk_Tm_uinst uu____5802 - us_e in + us_e + in let req = let uu____5807 = let uu____5812 = let uu____5813 = let uu____5824 = - FStar_Syntax_Syntax.as_arg wp in - [uu____5824] in + FStar_Syntax_Syntax.as_arg wp in + [uu____5824] in ((ct1.FStar_Syntax_Syntax.result_typ), (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.imp_tag)) - :: uu____5813 in + :: uu____5813 + in FStar_Syntax_Syntax.mk_Tm_app as_req - uu____5812 in + uu____5812 + in uu____5807 FStar_Pervasives_Native.None - (ct1.FStar_Syntax_Syntax.result_typ).FStar_Syntax_Syntax.pos in + (ct1.FStar_Syntax_Syntax.result_typ).FStar_Syntax_Syntax.pos + in let ens = let uu____5864 = let uu____5869 = let uu____5870 = let uu____5881 = - FStar_Syntax_Syntax.as_arg wp in - [uu____5881] in + FStar_Syntax_Syntax.as_arg wp in + [uu____5881] in ((ct1.FStar_Syntax_Syntax.result_typ), (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.imp_tag)) - :: uu____5870 in + :: uu____5870 + in FStar_Syntax_Syntax.mk_Tm_app as_ens - uu____5869 in + uu____5869 + in uu____5864 FStar_Pervasives_Native.None - (ct1.FStar_Syntax_Syntax.result_typ).FStar_Syntax_Syntax.pos in + (ct1.FStar_Syntax_Syntax.result_typ).FStar_Syntax_Syntax.pos + in let uu____5918 = - let uu____5921 = norm1 req in - FStar_Pervasives_Native.Some uu____5921 in + let uu____5921 = norm1 req in + FStar_Pervasives_Native.Some uu____5921 in let uu____5922 = let uu____5923 = mk_post_type - ct1.FStar_Syntax_Syntax.result_typ ens in - norm1 uu____5923 in + ct1.FStar_Syntax_Syntax.result_typ ens + in + norm1 uu____5923 in (uu____5918, uu____5922))) | uu____5926 -> failwith "Impossible")) + let (reify_body : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun env -> - fun t -> - let tm = FStar_Syntax_Util.mk_reify t in + fun env -> + fun t -> + let tm = FStar_Syntax_Util.mk_reify t in let tm' = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Reify; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.EraseUniverses; - FStar_TypeChecker_Env.AllowUnboundUniverses] env tm in + FStar_TypeChecker_Env.AllowUnboundUniverses] env tm + in (let uu____5960 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "SMTEncodingReify") in + (FStar_Options.Other "SMTEncodingReify") + in if uu____5960 then - let uu____5965 = FStar_Syntax_Print.term_to_string tm in - let uu____5967 = FStar_Syntax_Print.term_to_string tm' in + let uu____5965 = FStar_Syntax_Print.term_to_string tm in + let uu____5967 = FStar_Syntax_Print.term_to_string tm' in FStar_Util.print2 "Reified body %s \nto %s\n" uu____5965 uu____5967 else ()); tm' + let (reify_body_with_arg : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.arg -> FStar_Syntax_Syntax.term) = - fun env -> - fun head1 -> - fun arg -> + fun env -> + fun head1 -> + fun arg -> let tm = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_app (head1, [arg])) - FStar_Pervasives_Native.None head1.FStar_Syntax_Syntax.pos in + FStar_Pervasives_Native.None head1.FStar_Syntax_Syntax.pos + in let tm' = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Reify; FStar_TypeChecker_Env.Eager_unfolding; FStar_TypeChecker_Env.EraseUniverses; - FStar_TypeChecker_Env.AllowUnboundUniverses] env tm in + FStar_TypeChecker_Env.AllowUnboundUniverses] env tm + in (let uu____6021 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "SMTEncodingReify") in + (FStar_Options.Other "SMTEncodingReify") + in if uu____6021 then - let uu____6026 = FStar_Syntax_Print.term_to_string tm in - let uu____6028 = FStar_Syntax_Print.term_to_string tm' in + let uu____6026 = FStar_Syntax_Print.term_to_string tm in + let uu____6028 = FStar_Syntax_Print.term_to_string tm' in FStar_Util.print2 "Reified body %s \nto %s\n" uu____6026 uu____6028 else ()); tm' + let (remove_reify : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = - fun t -> + fun t -> let uu____6039 = let uu____6041 = - let uu____6042 = FStar_Syntax_Subst.compress t in - uu____6042.FStar_Syntax_Syntax.n in + let uu____6042 = FStar_Syntax_Subst.compress t in + uu____6042.FStar_Syntax_Syntax.n in match uu____6041 with | FStar_Syntax_Syntax.Tm_app uu____6046 -> false - | uu____6064 -> true in + | uu____6064 -> true in if uu____6039 then t else - (let uu____6069 = FStar_Syntax_Util.head_and_args t in + (let uu____6069 = FStar_Syntax_Util.head_and_args t in match uu____6069 with - | (head1, args) -> + | (head1,args) -> let uu____6112 = let uu____6114 = - let uu____6115 = FStar_Syntax_Subst.compress head1 in - uu____6115.FStar_Syntax_Syntax.n in + let uu____6115 = FStar_Syntax_Subst.compress head1 in + uu____6115.FStar_Syntax_Syntax.n in match uu____6114 with - | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify) -> + | FStar_Syntax_Syntax.Tm_constant (FStar_Const.Const_reify ) -> true - | uu____6120 -> false in + | uu____6120 -> false in if uu____6112 then (match args with @@ -2461,6 +2767,7 @@ let (remove_reify : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.term) = failwith "Impossible : Reify applied to multiple arguments after normalization.") else t) + let (maybe_instantiate : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -2468,184 +2775,207 @@ let (maybe_instantiate : (FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.typ * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - fun t -> - let torig = FStar_Syntax_Subst.compress t in + fun env -> + fun e -> + fun t -> + let torig = FStar_Syntax_Subst.compress t in if Prims.op_Negation env.FStar_TypeChecker_Env.instantiate_imp then (e, torig, FStar_TypeChecker_Env.trivial_guard) else ((let uu____6199 = - FStar_TypeChecker_Env.debug env FStar_Options.High in + FStar_TypeChecker_Env.debug env FStar_Options.High in if uu____6199 then - let uu____6202 = FStar_Syntax_Print.term_to_string e in - let uu____6204 = FStar_Syntax_Print.term_to_string t in + let uu____6202 = FStar_Syntax_Print.term_to_string e in + let uu____6204 = FStar_Syntax_Print.term_to_string t in let uu____6206 = - let uu____6208 = FStar_TypeChecker_Env.expected_typ env in + let uu____6208 = FStar_TypeChecker_Env.expected_typ env in FStar_Common.string_of_option - FStar_Syntax_Print.term_to_string uu____6208 in + FStar_Syntax_Print.term_to_string uu____6208 + in FStar_Util.print3 "maybe_instantiate: starting check for (%s) of type (%s), expected type is %s\n" uu____6202 uu____6204 uu____6206 else ()); (let number_of_implicits t1 = - let t2 = FStar_TypeChecker_Normalize.unfold_whnf env t1 in - let uu____6221 = FStar_Syntax_Util.arrow_formals t2 in + let t2 = FStar_TypeChecker_Normalize.unfold_whnf env t1 in + let uu____6221 = FStar_Syntax_Util.arrow_formals t2 in match uu____6221 with - | (formals, uu____6237) -> + | (formals,uu____6237) -> let n_implicits = let uu____6259 = FStar_All.pipe_right formals (FStar_Util.prefix_until - (fun uu____6337 -> + (fun uu____6337 -> match uu____6337 with - | (uu____6345, imp) -> + | (uu____6345,imp) -> (FStar_Option.isNone imp) || (let uu____6352 = FStar_Syntax_Util.eq_aqual imp (FStar_Pervasives_Native.Some - FStar_Syntax_Syntax.Equality) in - uu____6352 = FStar_Syntax_Util.Equal))) in + FStar_Syntax_Syntax.Equality) + in + uu____6352 = FStar_Syntax_Util.Equal))) + in match uu____6259 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_List.length formals | FStar_Pervasives_Native.Some - (implicits, _first_explicit, _rest) -> - FStar_List.length implicits in - n_implicits in + (implicits,_first_explicit,_rest) -> + FStar_List.length implicits + in + n_implicits + in let inst_n_binders t1 = - let uu____6477 = FStar_TypeChecker_Env.expected_typ env in + let uu____6477 = FStar_TypeChecker_Env.expected_typ env in match uu____6477 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some expected_t -> - let n_expected = number_of_implicits expected_t in - let n_available = number_of_implicits t1 in + let n_expected = number_of_implicits expected_t in + let n_available = number_of_implicits t1 in if n_available < n_expected then let uu____6491 = let uu____6497 = - let uu____6499 = FStar_Util.string_of_int n_expected in - let uu____6501 = FStar_Syntax_Print.term_to_string e in - let uu____6503 = FStar_Util.string_of_int n_available in + let uu____6499 = FStar_Util.string_of_int n_expected + in + let uu____6501 = FStar_Syntax_Print.term_to_string e + in + let uu____6503 = FStar_Util.string_of_int n_available + in FStar_Util.format3 "Expected a term with %s implicit arguments, but %s has only %s" - uu____6499 uu____6501 uu____6503 in + uu____6499 uu____6501 uu____6503 + in (FStar_Errors.Fatal_MissingImplicitArguments, - uu____6497) in - let uu____6507 = FStar_TypeChecker_Env.get_range env in + uu____6497) + in + let uu____6507 = FStar_TypeChecker_Env.get_range env in FStar_Errors.raise_error uu____6491 uu____6507 else - FStar_Pervasives_Native.Some (n_available - n_expected) in + FStar_Pervasives_Native.Some (n_available - n_expected) + in let decr_inst uu___7_6525 = match uu___7_6525 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some i -> - FStar_Pervasives_Native.Some (i - (Prims.parse_int "1")) in - let t1 = FStar_TypeChecker_Normalize.unfold_whnf env t in + FStar_Pervasives_Native.Some (i - (Prims.parse_int "1")) + in + let t1 = FStar_TypeChecker_Normalize.unfold_whnf env t in match t1.FStar_Syntax_Syntax.n with - | FStar_Syntax_Syntax.Tm_arrow (bs, c) -> - let uu____6568 = FStar_Syntax_Subst.open_comp bs c in + | FStar_Syntax_Syntax.Tm_arrow (bs,c) -> + let uu____6568 = FStar_Syntax_Subst.open_comp bs c in (match uu____6568 with - | (bs1, c1) -> + | (bs1,c1) -> let rec aux subst1 inst_n bs2 = match (inst_n, bs2) with - | (FStar_Pervasives_Native.Some _6699, uu____6686) - when _6699 = (Prims.parse_int "0") -> + | (FStar_Pervasives_Native.Some _6699,uu____6686) when + _6699 = (Prims.parse_int "0") -> ([], bs2, subst1, FStar_TypeChecker_Env.trivial_guard) - | (uu____6732, - (x, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Implicit uu____6734))::rest) + | (uu____6732,(x,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Implicit + uu____6734))::rest) -> let t2 = FStar_Syntax_Subst.subst subst1 - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in let uu____6768 = new_implicit_var "Instantiation of implicit argument" - e.FStar_Syntax_Syntax.pos env t2 in + e.FStar_Syntax_Syntax.pos env t2 + in (match uu____6768 with - | (v1, uu____6809, g) -> + | (v1,uu____6809,g) -> ((let uu____6824 = FStar_TypeChecker_Env.debug env - FStar_Options.High in + FStar_Options.High + in if uu____6824 then let uu____6827 = - FStar_Syntax_Print.term_to_string v1 in + FStar_Syntax_Print.term_to_string v1 + in FStar_Util.print1 "maybe_instantiate: Instantiating implicit with %s\n" uu____6827 else ()); (let subst2 = (FStar_Syntax_Syntax.NT (x, v1)) :: - subst1 in + subst1 in let uu____6837 = - aux subst2 (decr_inst inst_n) rest in + aux subst2 (decr_inst inst_n) rest in match uu____6837 with - | (args, bs3, subst3, g') -> + | (args,bs3,subst3,g') -> let uu____6930 = - FStar_TypeChecker_Env.conj_guard g g' in + FStar_TypeChecker_Env.conj_guard g g' + in (((v1, (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.imp_tag)) :: args), bs3, subst3, uu____6930)))) - | (uu____6957, - (x, FStar_Pervasives_Native.Some - (FStar_Syntax_Syntax.Meta tau))::rest) -> + | (uu____6957,(x,FStar_Pervasives_Native.Some + (FStar_Syntax_Syntax.Meta tau))::rest) + -> let t2 = FStar_Syntax_Subst.subst subst1 - x.FStar_Syntax_Syntax.sort in + x.FStar_Syntax_Syntax.sort + in let uu____6994 = let uu____7007 = let uu____7014 = - let uu____7019 = FStar_Dyn.mkdyn env in - (uu____7019, tau) in - FStar_Pervasives_Native.Some uu____7014 in + let uu____7019 = FStar_Dyn.mkdyn env in + (uu____7019, tau) in + FStar_Pervasives_Native.Some uu____7014 in FStar_TypeChecker_Env.new_implicit_var_aux "Instantiation of meta argument" e.FStar_Syntax_Syntax.pos env t2 - FStar_Syntax_Syntax.Strict uu____7007 in + FStar_Syntax_Syntax.Strict uu____7007 + in (match uu____6994 with - | (v1, uu____7052, g) -> + | (v1,uu____7052,g) -> ((let uu____7067 = FStar_TypeChecker_Env.debug env - FStar_Options.High in + FStar_Options.High + in if uu____7067 then let uu____7070 = - FStar_Syntax_Print.term_to_string v1 in + FStar_Syntax_Print.term_to_string v1 + in FStar_Util.print1 "maybe_instantiate: Instantiating meta argument with %s\n" uu____7070 else ()); (let subst2 = (FStar_Syntax_Syntax.NT (x, v1)) :: - subst1 in + subst1 in let uu____7080 = - aux subst2 (decr_inst inst_n) rest in + aux subst2 (decr_inst inst_n) rest in match uu____7080 with - | (args, bs3, subst3, g') -> + | (args,bs3,subst3,g') -> let uu____7173 = - FStar_TypeChecker_Env.conj_guard g g' in + FStar_TypeChecker_Env.conj_guard g g' + in (((v1, (FStar_Pervasives_Native.Some FStar_Syntax_Syntax.imp_tag)) :: args), bs3, subst3, uu____7173)))) - | (uu____7200, bs3) -> + | (uu____7200,bs3) -> ([], bs3, subst1, - FStar_TypeChecker_Env.trivial_guard) in + FStar_TypeChecker_Env.trivial_guard) + in let uu____7248 = - let uu____7275 = inst_n_binders t1 in - aux [] uu____7275 bs1 in + let uu____7275 = inst_n_binders t1 in + aux [] uu____7275 bs1 in (match uu____7248 with - | (args, bs2, subst1, guard) -> + | (args,bs2,subst1,guard) -> (match (args, bs2) with - | ([], uu____7347) -> (e, torig, guard) - | (uu____7378, []) when + | ([],uu____7347) -> (e, torig, guard) + | (uu____7378,[]) when let uu____7409 = - FStar_Syntax_Util.is_total_comp c1 in + FStar_Syntax_Util.is_total_comp c1 in Prims.op_Negation uu____7409 -> (e, torig, FStar_TypeChecker_Env.trivial_guard) @@ -2654,161 +2984,185 @@ let (maybe_instantiate : match bs2 with | [] -> FStar_Syntax_Util.comp_result c1 | uu____7439 -> - FStar_Syntax_Util.arrow bs2 c1 in - let t3 = FStar_Syntax_Subst.subst subst1 t2 in + FStar_Syntax_Util.arrow bs2 c1 + in + let t3 = FStar_Syntax_Subst.subst subst1 t2 + in let e1 = FStar_Syntax_Syntax.mk_Tm_app e args FStar_Pervasives_Native.None - e.FStar_Syntax_Syntax.pos in + e.FStar_Syntax_Syntax.pos + in (e1, t3, guard)))) | uu____7452 -> (e, torig, FStar_TypeChecker_Env.trivial_guard))) + let (string_of_univs : FStar_Syntax_Syntax.universe_uvar FStar_Util.set -> Prims.string) = - fun univs1 -> + fun univs1 -> let uu____7464 = - let uu____7468 = FStar_Util.set_elements univs1 in + let uu____7468 = FStar_Util.set_elements univs1 in FStar_All.pipe_right uu____7468 (FStar_List.map - (fun u -> - let uu____7480 = FStar_Syntax_Unionfind.univ_uvar_id u in - FStar_All.pipe_right uu____7480 FStar_Util.string_of_int)) in + (fun u -> + let uu____7480 = FStar_Syntax_Unionfind.univ_uvar_id u in + FStar_All.pipe_right uu____7480 FStar_Util.string_of_int)) + in FStar_All.pipe_right uu____7464 (FStar_String.concat ", ") + let (gen_univs : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.universe_uvar FStar_Util.set -> FStar_Syntax_Syntax.univ_name Prims.list) = - fun env -> - fun x -> - let uu____7508 = FStar_Util.set_is_empty x in + fun env -> + fun x -> + let uu____7508 = FStar_Util.set_is_empty x in if uu____7508 then [] else (let s = let uu____7526 = - let uu____7529 = FStar_TypeChecker_Env.univ_vars env in - FStar_Util.set_difference x uu____7529 in - FStar_All.pipe_right uu____7526 FStar_Util.set_elements in + let uu____7529 = FStar_TypeChecker_Env.univ_vars env in + FStar_Util.set_difference x uu____7529 in + FStar_All.pipe_right uu____7526 FStar_Util.set_elements in (let uu____7545 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Gen") in + (FStar_Options.Other "Gen") + in if uu____7545 then let uu____7550 = - let uu____7552 = FStar_TypeChecker_Env.univ_vars env in - string_of_univs uu____7552 in + let uu____7552 = FStar_TypeChecker_Env.univ_vars env in + string_of_univs uu____7552 in FStar_Util.print1 "univ_vars in env: %s\n" uu____7550 else ()); (let r = - let uu____7561 = FStar_TypeChecker_Env.get_range env in - FStar_Pervasives_Native.Some uu____7561 in + let uu____7561 = FStar_TypeChecker_Env.get_range env in + FStar_Pervasives_Native.Some uu____7561 in let u_names = FStar_All.pipe_right s (FStar_List.map - (fun u -> - let u_name = FStar_Syntax_Syntax.new_univ_name r in + (fun u -> + let u_name = FStar_Syntax_Syntax.new_univ_name r in (let uu____7600 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Gen") in + (FStar_Options.Other "Gen") + in if uu____7600 then let uu____7605 = let uu____7607 = - FStar_Syntax_Unionfind.univ_uvar_id u in + FStar_Syntax_Unionfind.univ_uvar_id u in FStar_All.pipe_left FStar_Util.string_of_int - uu____7607 in + uu____7607 + in let uu____7611 = FStar_Syntax_Print.univ_to_string - (FStar_Syntax_Syntax.U_unif u) in + (FStar_Syntax_Syntax.U_unif u) + in let uu____7613 = FStar_Syntax_Print.univ_to_string - (FStar_Syntax_Syntax.U_name u_name) in + (FStar_Syntax_Syntax.U_name u_name) + in FStar_Util.print3 "Setting ?%s (%s) to %s\n" uu____7605 uu____7611 uu____7613 else ()); FStar_Syntax_Unionfind.univ_change u (FStar_Syntax_Syntax.U_name u_name); - u_name)) in + u_name)) + in u_names)) + let (gather_free_univnames : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.univ_name Prims.list) = - fun env -> - fun t -> - let ctx_univnames = FStar_TypeChecker_Env.univnames env in - let tm_univnames = FStar_Syntax_Free.univnames t in + fun env -> + fun t -> + let ctx_univnames = FStar_TypeChecker_Env.univnames env in + let tm_univnames = FStar_Syntax_Free.univnames t in let univnames1 = - let uu____7643 = FStar_Util.set_difference tm_univnames ctx_univnames in - FStar_All.pipe_right uu____7643 FStar_Util.set_elements in + let uu____7643 = FStar_Util.set_difference tm_univnames ctx_univnames + in + FStar_All.pipe_right uu____7643 FStar_Util.set_elements in univnames1 + let (check_universe_generalization : FStar_Syntax_Syntax.univ_name Prims.list -> FStar_Syntax_Syntax.univ_name Prims.list -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.univ_name Prims.list) = - fun explicit_univ_names -> - fun generalized_univ_names -> - fun t -> + fun explicit_univ_names -> + fun generalized_univ_names -> + fun t -> match (explicit_univ_names, generalized_univ_names) with - | ([], uu____7682) -> generalized_univ_names - | (uu____7689, []) -> explicit_univ_names + | ([],uu____7682) -> generalized_univ_names + | (uu____7689,[]) -> explicit_univ_names | uu____7696 -> let uu____7705 = let uu____7711 = - let uu____7713 = FStar_Syntax_Print.term_to_string t in + let uu____7713 = FStar_Syntax_Print.term_to_string t in Prims.op_Hat "Generalized universe in a term containing explicit universe annotation : " - uu____7713 in - (FStar_Errors.Fatal_UnexpectedGeneralizedUniverse, uu____7711) in + uu____7713 + in + (FStar_Errors.Fatal_UnexpectedGeneralizedUniverse, uu____7711) + in FStar_Errors.raise_error uu____7705 t.FStar_Syntax_Syntax.pos + let (generalize_universes : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.tscheme) = - fun env -> - fun t0 -> + fun env -> + fun t0 -> let t = FStar_TypeChecker_Normalize.normalize [FStar_TypeChecker_Env.NoFullNorm; FStar_TypeChecker_Env.Beta; - FStar_TypeChecker_Env.DoNotUnfoldPureLets] env t0 in - let univnames1 = gather_free_univnames env t in + FStar_TypeChecker_Env.DoNotUnfoldPureLets] env t0 + in + let univnames1 = gather_free_univnames env t in (let uu____7735 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Gen") in + (FStar_Options.Other "Gen") + in if uu____7735 then - let uu____7740 = FStar_Syntax_Print.term_to_string t in - let uu____7742 = FStar_Syntax_Print.univ_names_to_string univnames1 in + let uu____7740 = FStar_Syntax_Print.term_to_string t in + let uu____7742 = FStar_Syntax_Print.univ_names_to_string univnames1 + in FStar_Util.print2 "generalizing universes in the term (post norm): %s with univnames: %s\n" uu____7740 uu____7742 else ()); - (let univs1 = FStar_Syntax_Free.univs t in + (let univs1 = FStar_Syntax_Free.univs t in (let uu____7751 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Gen") in + (FStar_Options.Other "Gen") + in if uu____7751 then - let uu____7756 = string_of_univs univs1 in + let uu____7756 = string_of_univs univs1 in FStar_Util.print1 "univs to gen : %s\n" uu____7756 else ()); - (let gen1 = gen_univs env univs1 in + (let gen1 = gen_univs env univs1 in (let uu____7765 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Gen") in + (FStar_Options.Other "Gen") + in if uu____7765 then - let uu____7770 = FStar_Syntax_Print.term_to_string t in - let uu____7772 = FStar_Syntax_Print.univ_names_to_string gen1 in + let uu____7770 = FStar_Syntax_Print.term_to_string t in + let uu____7772 = FStar_Syntax_Print.univ_names_to_string gen1 in FStar_Util.print2 "After generalization, t: %s and univs: %s\n" uu____7770 uu____7772 else ()); - (let univs2 = check_universe_generalization univnames1 gen1 t0 in - let t1 = FStar_TypeChecker_Normalize.reduce_uvar_solutions env t in - let ts = FStar_Syntax_Subst.close_univ_vars univs2 t1 in + (let univs2 = check_universe_generalization univnames1 gen1 t0 in + let t1 = FStar_TypeChecker_Normalize.reduce_uvar_solutions env t in + let ts = FStar_Syntax_Subst.close_univ_vars univs2 t1 in (univs2, ts)))) + let (gen : FStar_TypeChecker_Env.env -> Prims.bool -> @@ -2819,26 +3173,27 @@ let (gen : FStar_Syntax_Syntax.binder Prims.list) Prims.list FStar_Pervasives_Native.option) = - fun env -> - fun is_rec -> - fun lecs -> + fun env -> + fun is_rec -> + fun lecs -> let uu____7856 = let uu____7858 = FStar_Util.for_all - (fun uu____7872 -> + (fun uu____7872 -> match uu____7872 with - | (uu____7882, uu____7883, c) -> - FStar_Syntax_Util.is_pure_or_ghost_comp c) lecs in - FStar_All.pipe_left Prims.op_Negation uu____7858 in + | (uu____7882,uu____7883,c) -> + FStar_Syntax_Util.is_pure_or_ghost_comp c) lecs + in + FStar_All.pipe_left Prims.op_Negation uu____7858 in if uu____7856 then FStar_Pervasives_Native.None else (let norm1 c = (let uu____7935 = - FStar_TypeChecker_Env.debug env FStar_Options.Medium in + FStar_TypeChecker_Env.debug env FStar_Options.Medium in if uu____7935 then - let uu____7938 = FStar_Syntax_Print.comp_to_string c in + let uu____7938 = FStar_Syntax_Print.comp_to_string c in FStar_Util.print1 "Normalizing before generalizing:\n\t %s\n" uu____7938 else ()); @@ -2847,214 +3202,246 @@ let (gen : [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta; FStar_TypeChecker_Env.NoFullNorm; - FStar_TypeChecker_Env.DoNotUnfoldPureLets] env c in + FStar_TypeChecker_Env.DoNotUnfoldPureLets] env c + in (let uu____7945 = - FStar_TypeChecker_Env.debug env FStar_Options.Medium in + FStar_TypeChecker_Env.debug env FStar_Options.Medium in if uu____7945 then - let uu____7948 = FStar_Syntax_Print.comp_to_string c1 in + let uu____7948 = FStar_Syntax_Print.comp_to_string c1 in FStar_Util.print1 "Normalized to:\n\t %s\n" uu____7948 else ()); - c1) in - let env_uvars = FStar_TypeChecker_Env.uvars_in_env env in + c1) + in + let env_uvars = FStar_TypeChecker_Env.uvars_in_env env in let gen_uvars uvs = - let uu____7966 = FStar_Util.set_difference uvs env_uvars in - FStar_All.pipe_right uu____7966 FStar_Util.set_elements in + let uu____7966 = FStar_Util.set_difference uvs env_uvars in + FStar_All.pipe_right uu____7966 FStar_Util.set_elements in let univs_and_uvars_of_lec uu____8000 = match uu____8000 with - | (lbname, e, c) -> - let c1 = norm1 c in - let t = FStar_Syntax_Util.comp_result c1 in - let univs1 = FStar_Syntax_Free.univs t in - let uvt = FStar_Syntax_Free.uvars t in + | (lbname,e,c) -> + let c1 = norm1 c in + let t = FStar_Syntax_Util.comp_result c1 in + let univs1 = FStar_Syntax_Free.univs t in + let uvt = FStar_Syntax_Free.uvars t in ((let uu____8037 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Gen") in + (FStar_Options.Other "Gen") + in if uu____8037 then let uu____8042 = let uu____8044 = - let uu____8048 = FStar_Util.set_elements univs1 in + let uu____8048 = FStar_Util.set_elements univs1 in FStar_All.pipe_right uu____8048 (FStar_List.map - (fun u -> + (fun u -> FStar_Syntax_Print.univ_to_string - (FStar_Syntax_Syntax.U_unif u))) in + (FStar_Syntax_Syntax.U_unif u))) + in FStar_All.pipe_right uu____8044 - (FStar_String.concat ", ") in + (FStar_String.concat ", ") + in let uu____8096 = let uu____8098 = - let uu____8102 = FStar_Util.set_elements uvt in + let uu____8102 = FStar_Util.set_elements uvt in FStar_All.pipe_right uu____8102 (FStar_List.map - (fun u -> + (fun u -> let uu____8115 = FStar_Syntax_Print.uvar_to_string - u.FStar_Syntax_Syntax.ctx_uvar_head in + u.FStar_Syntax_Syntax.ctx_uvar_head + in let uu____8117 = FStar_Syntax_Print.term_to_string - u.FStar_Syntax_Syntax.ctx_uvar_typ in + u.FStar_Syntax_Syntax.ctx_uvar_typ + in FStar_Util.format2 "(%s : %s)" uu____8115 - uu____8117)) in + uu____8117)) + in FStar_All.pipe_right uu____8098 - (FStar_String.concat ", ") in + (FStar_String.concat ", ") + in FStar_Util.print2 "^^^^\n\tFree univs = %s\n\tFree uvt=%s\n" uu____8042 uu____8096 else ()); (let univs2 = - let uu____8131 = FStar_Util.set_elements uvt in + let uu____8131 = FStar_Util.set_elements uvt in FStar_List.fold_left - (fun univs2 -> - fun uv -> + (fun univs2 -> + fun uv -> let uu____8143 = FStar_Syntax_Free.univs - uv.FStar_Syntax_Syntax.ctx_uvar_typ in + uv.FStar_Syntax_Syntax.ctx_uvar_typ + in FStar_Util.set_union univs2 uu____8143) univs1 - uu____8131 in - let uvs = gen_uvars uvt in + uu____8131 + in + let uvs = gen_uvars uvt in (let uu____8150 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Gen") in + (FStar_Options.Other "Gen") + in if uu____8150 then let uu____8155 = let uu____8157 = - let uu____8161 = FStar_Util.set_elements univs2 in + let uu____8161 = FStar_Util.set_elements univs2 in FStar_All.pipe_right uu____8161 (FStar_List.map - (fun u -> + (fun u -> FStar_Syntax_Print.univ_to_string - (FStar_Syntax_Syntax.U_unif u))) in + (FStar_Syntax_Syntax.U_unif u))) + in FStar_All.pipe_right uu____8157 - (FStar_String.concat ", ") in + (FStar_String.concat ", ") + in let uu____8209 = let uu____8211 = FStar_All.pipe_right uvs (FStar_List.map - (fun u -> + (fun u -> let uu____8225 = FStar_Syntax_Print.uvar_to_string - u.FStar_Syntax_Syntax.ctx_uvar_head in + u.FStar_Syntax_Syntax.ctx_uvar_head + in let uu____8227 = FStar_TypeChecker_Normalize.term_to_string - env u.FStar_Syntax_Syntax.ctx_uvar_typ in + env u.FStar_Syntax_Syntax.ctx_uvar_typ + in FStar_Util.format2 "(%s : %s)" uu____8225 - uu____8227)) in + uu____8227)) + in FStar_All.pipe_right uu____8211 - (FStar_String.concat ", ") in + (FStar_String.concat ", ") + in FStar_Util.print2 "^^^^\n\tFree univs = %s\n\tgen_uvars =%s" uu____8155 uu____8209 else ()); - (univs2, uvs, (lbname, e, c1)))) in + (univs2, uvs, (lbname, e, c1)))) + in let uu____8248 = - let uu____8265 = FStar_List.hd lecs in - univs_and_uvars_of_lec uu____8265 in + let uu____8265 = FStar_List.hd lecs in + univs_and_uvars_of_lec uu____8265 in match uu____8248 with - | (univs1, uvs, lec_hd) -> + | (univs1,uvs,lec_hd) -> let force_univs_eq lec2 u1 u2 = let uu____8355 = (FStar_Util.set_is_subset_of u1 u2) && - (FStar_Util.set_is_subset_of u2 u1) in + (FStar_Util.set_is_subset_of u2 u1) + in if uu____8355 then () else - (let uu____8360 = lec_hd in + (let uu____8360 = lec_hd in match uu____8360 with - | (lb1, uu____8368, uu____8369) -> - let uu____8370 = lec2 in + | (lb1,uu____8368,uu____8369) -> + let uu____8370 = lec2 in (match uu____8370 with - | (lb2, uu____8378, uu____8379) -> + | (lb2,uu____8378,uu____8379) -> let msg = let uu____8382 = - FStar_Syntax_Print.lbname_to_string lb1 in + FStar_Syntax_Print.lbname_to_string lb1 in let uu____8384 = - FStar_Syntax_Print.lbname_to_string lb2 in + FStar_Syntax_Print.lbname_to_string lb2 in FStar_Util.format2 "Generalizing the types of these mutually recursive definitions requires an incompatible set of universes for %s and %s" - uu____8382 uu____8384 in + uu____8382 uu____8384 + in let uu____8387 = - FStar_TypeChecker_Env.get_range env in + FStar_TypeChecker_Env.get_range env in FStar_Errors.raise_error (FStar_Errors.Fatal_IncompatibleSetOfUniverse, - msg) uu____8387)) in + msg) uu____8387)) + in let force_uvars_eq lec2 u1 u2 = let uvars_subseteq u11 u21 = FStar_All.pipe_right u11 (FStar_Util.for_all - (fun u -> + (fun u -> FStar_All.pipe_right u21 (FStar_Util.for_some - (fun u' -> + (fun u' -> FStar_Syntax_Unionfind.equiv u.FStar_Syntax_Syntax.ctx_uvar_head - u'.FStar_Syntax_Syntax.ctx_uvar_head)))) in + u'.FStar_Syntax_Syntax.ctx_uvar_head)))) + in let uu____8455 = - (uvars_subseteq u1 u2) && (uvars_subseteq u2 u1) in + (uvars_subseteq u1 u2) && (uvars_subseteq u2 u1) in if uu____8455 then () else - (let uu____8460 = lec_hd in + (let uu____8460 = lec_hd in match uu____8460 with - | (lb1, uu____8468, uu____8469) -> - let uu____8470 = lec2 in + | (lb1,uu____8468,uu____8469) -> + let uu____8470 = lec2 in (match uu____8470 with - | (lb2, uu____8478, uu____8479) -> + | (lb2,uu____8478,uu____8479) -> let msg = let uu____8482 = - FStar_Syntax_Print.lbname_to_string lb1 in + FStar_Syntax_Print.lbname_to_string lb1 in let uu____8484 = - FStar_Syntax_Print.lbname_to_string lb2 in + FStar_Syntax_Print.lbname_to_string lb2 in FStar_Util.format2 "Generalizing the types of these mutually recursive definitions requires an incompatible number of types for %s and %s" - uu____8482 uu____8484 in + uu____8482 uu____8484 + in let uu____8487 = - FStar_TypeChecker_Env.get_range env in + FStar_TypeChecker_Env.get_range env in FStar_Errors.raise_error (FStar_Errors.Fatal_IncompatibleNumberOfTypes, - msg) uu____8487)) in + msg) uu____8487)) + in let lecs1 = - let uu____8498 = FStar_List.tl lecs in + let uu____8498 = FStar_List.tl lecs in FStar_List.fold_right - (fun this_lec -> - fun lecs1 -> - let uu____8551 = univs_and_uvars_of_lec this_lec in + (fun this_lec -> + fun lecs1 -> + let uu____8551 = univs_and_uvars_of_lec this_lec in match uu____8551 with - | (this_univs, this_uvs, this_lec1) -> + | (this_univs,this_uvs,this_lec1) -> (force_univs_eq this_lec1 univs1 this_univs; force_uvars_eq this_lec1 uvs this_uvs; this_lec1 :: - lecs1)) uu____8498 [] in - let lecs2 = lec_hd :: lecs1 in + lecs1)) uu____8498 [] + in + let lecs2 = lec_hd :: lecs1 in let gen_types uvs1 = let fail1 k = - let uu____8656 = lec_hd in + let uu____8656 = lec_hd in match uu____8656 with - | (lbname, e, c) -> + | (lbname,e,c) -> let uu____8666 = let uu____8672 = let uu____8674 = - FStar_Syntax_Print.term_to_string k in + FStar_Syntax_Print.term_to_string k in let uu____8676 = - FStar_Syntax_Print.lbname_to_string lbname in + FStar_Syntax_Print.lbname_to_string lbname in let uu____8678 = FStar_Syntax_Print.term_to_string - (FStar_Syntax_Util.comp_result c) in + (FStar_Syntax_Util.comp_result c) + in FStar_Util.format3 "Failed to resolve implicit argument of type '%s' in the type of %s (%s)" - uu____8674 uu____8676 uu____8678 in + uu____8674 uu____8676 uu____8678 + in (FStar_Errors.Fatal_FailToResolveImplicitArgument, - uu____8672) in - let uu____8682 = FStar_TypeChecker_Env.get_range env in - FStar_Errors.raise_error uu____8666 uu____8682 in + uu____8672) + in + let uu____8682 = FStar_TypeChecker_Env.get_range env + in + FStar_Errors.raise_error uu____8666 uu____8682 + in FStar_All.pipe_right uvs1 (FStar_List.map - (fun u -> + (fun u -> let uu____8701 = FStar_Syntax_Unionfind.find - u.FStar_Syntax_Syntax.ctx_uvar_head in + u.FStar_Syntax_Syntax.ctx_uvar_head + in match uu____8701 with | FStar_Pervasives_Native.Some uu____8710 -> failwith @@ -3065,70 +3452,79 @@ let (gen : [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta] env - u.FStar_Syntax_Syntax.ctx_uvar_typ in + u.FStar_Syntax_Syntax.ctx_uvar_typ + in let uu____8722 = - FStar_Syntax_Util.arrow_formals k in + FStar_Syntax_Util.arrow_formals k in (match uu____8722 with - | (bs, kres) -> + | (bs,kres) -> ((let uu____8766 = let uu____8767 = let uu____8770 = FStar_TypeChecker_Normalize.unfold_whnf - env kres in - FStar_Syntax_Util.unrefine uu____8770 in - uu____8767.FStar_Syntax_Syntax.n in + env kres + in + FStar_Syntax_Util.unrefine uu____8770 + in + uu____8767.FStar_Syntax_Syntax.n in match uu____8766 with | FStar_Syntax_Syntax.Tm_type uu____8771 -> let free = - FStar_Syntax_Free.names kres in + FStar_Syntax_Free.names kres in let uu____8775 = let uu____8777 = - FStar_Util.set_is_empty free in - Prims.op_Negation uu____8777 in + FStar_Util.set_is_empty free in + Prims.op_Negation uu____8777 in if uu____8775 then fail1 kres else () | uu____8782 -> fail1 kres); (let a = let uu____8784 = let uu____8787 = - FStar_TypeChecker_Env.get_range env in + FStar_TypeChecker_Env.get_range env + in FStar_All.pipe_left - (fun _8790 -> + (fun _8790 -> FStar_Pervasives_Native.Some - _8790) uu____8787 in + _8790) uu____8787 + in FStar_Syntax_Syntax.new_bv uu____8784 - kres in + kres + in let t = match bs with | [] -> FStar_Syntax_Syntax.bv_to_name a | uu____8798 -> let uu____8807 = - FStar_Syntax_Syntax.bv_to_name a in + FStar_Syntax_Syntax.bv_to_name a + in FStar_Syntax_Util.abs bs uu____8807 (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_tot - kres)) in + kres)) + in FStar_Syntax_Util.set_uvar u.FStar_Syntax_Syntax.ctx_uvar_head t; (a, (FStar_Pervasives_Native.Some - FStar_Syntax_Syntax.imp_tag))))))) in - let gen_univs1 = gen_univs env univs1 in - let gen_tvars = gen_types uvs in + FStar_Syntax_Syntax.imp_tag))))))) + in + let gen_univs1 = gen_univs env univs1 in + let gen_tvars = gen_types uvs in let ecs = FStar_All.pipe_right lecs2 (FStar_List.map - (fun uu____8910 -> + (fun uu____8910 -> match uu____8910 with - | (lbname, e, c) -> + | (lbname,e,c) -> let uu____8956 = match (gen_tvars, gen_univs1) with - | ([], []) -> (e, c, []) + | ([],[]) -> (e, c, []) | uu____9017 -> - let uu____9030 = (e, c) in + let uu____9030 = (e, c) in (match uu____9030 with - | (e0, c0) -> + | (e0,c0) -> let c1 = FStar_TypeChecker_Normalize.normalize_comp [FStar_TypeChecker_Env.Beta; @@ -3137,74 +3533,87 @@ let (gen : FStar_TypeChecker_Env.NoFullNorm; FStar_TypeChecker_Env.Exclude FStar_TypeChecker_Env.Zeta] env - c in + c + in let e1 = FStar_TypeChecker_Normalize.reduce_uvar_solutions - env e in + env e + in let e2 = if is_rec then let tvar_args = FStar_List.map - (fun uu____9070 -> + (fun uu____9070 -> match uu____9070 with - | (x, uu____9076) -> + | (x,uu____9076) -> let uu____9077 = FStar_Syntax_Syntax.bv_to_name - x in + x + in FStar_Syntax_Syntax.iarg uu____9077) - gen_tvars in + gen_tvars + in let instantiate_lbname_with_app tm fv = let uu____9095 = let uu____9097 = - FStar_Util.right lbname in + FStar_Util.right lbname in FStar_Syntax_Syntax.fv_eq fv - uu____9097 in + uu____9097 + in if uu____9095 then FStar_Syntax_Syntax.mk_Tm_app tm tvar_args FStar_Pervasives_Native.None tm.FStar_Syntax_Syntax.pos - else tm in + else tm in FStar_Syntax_InstFV.inst instantiate_lbname_with_app e1 - else e1 in + else e1 in let t = let uu____9106 = let uu____9107 = FStar_Syntax_Subst.compress (FStar_Syntax_Util.comp_result - c1) in - uu____9107.FStar_Syntax_Syntax.n in + c1) + in + uu____9107.FStar_Syntax_Syntax.n + in match uu____9106 with | FStar_Syntax_Syntax.Tm_arrow - (bs, cod) -> + (bs,cod) -> let uu____9132 = FStar_Syntax_Subst.open_comp - bs cod in + bs cod + in (match uu____9132 with - | (bs1, cod1) -> + | (bs1,cod1) -> FStar_Syntax_Util.arrow (FStar_List.append gen_tvars bs1) cod1) | uu____9143 -> FStar_Syntax_Util.arrow - gen_tvars c1 in + gen_tvars c1 + in let e' = FStar_Syntax_Util.abs gen_tvars e2 (FStar_Pervasives_Native.Some (FStar_Syntax_Util.residual_comp_of_comp - c1)) in + c1)) + in let uu____9147 = - FStar_Syntax_Syntax.mk_Total t in - (e', uu____9147, gen_tvars)) in + FStar_Syntax_Syntax.mk_Total t in + (e', uu____9147, gen_tvars)) + in (match uu____8956 with - | (e1, c1, gvs) -> - (lbname, gen_univs1, e1, c1, gvs)))) in + | (e1,c1,gvs) -> + (lbname, gen_univs1, e1, c1, gvs)))) + in FStar_Pervasives_Native.Some ecs) + let (generalize : FStar_TypeChecker_Env.env -> Prims.bool -> @@ -3214,74 +3623,83 @@ let (generalize : FStar_Syntax_Syntax.term * FStar_Syntax_Syntax.comp * FStar_Syntax_Syntax.binder Prims.list) Prims.list) = - fun env -> - fun is_rec -> - fun lecs -> - (let uu____9294 = FStar_TypeChecker_Env.debug env FStar_Options.Low in + fun env -> + fun is_rec -> + fun lecs -> + (let uu____9294 = FStar_TypeChecker_Env.debug env FStar_Options.Low + in if uu____9294 then let uu____9297 = let uu____9299 = FStar_List.map - (fun uu____9314 -> + (fun uu____9314 -> match uu____9314 with - | (lb, uu____9323, uu____9324) -> - FStar_Syntax_Print.lbname_to_string lb) lecs in - FStar_All.pipe_right uu____9299 (FStar_String.concat ", ") in + | (lb,uu____9323,uu____9324) -> + FStar_Syntax_Print.lbname_to_string lb) lecs + in + FStar_All.pipe_right uu____9299 (FStar_String.concat ", ") in FStar_Util.print1 "Generalizing: %s\n" uu____9297 else ()); (let univnames_lecs = FStar_List.map - (fun uu____9350 -> + (fun uu____9350 -> match uu____9350 with - | (l, t, c) -> gather_free_univnames env t) lecs in + | (l,t,c) -> gather_free_univnames env t) lecs + in let generalized_lecs = - let uu____9379 = gen env is_rec lecs in + let uu____9379 = gen env is_rec lecs in match uu____9379 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> FStar_All.pipe_right lecs (FStar_List.map - (fun uu____9478 -> - match uu____9478 with | (l, t, c) -> (l, [], t, c, []))) + (fun uu____9478 -> + match uu____9478 with | (l,t,c) -> (l, [], t, c, []))) | FStar_Pervasives_Native.Some luecs -> ((let uu____9540 = - FStar_TypeChecker_Env.debug env FStar_Options.Medium in + FStar_TypeChecker_Env.debug env FStar_Options.Medium in if uu____9540 then FStar_All.pipe_right luecs (FStar_List.iter - (fun uu____9588 -> + (fun uu____9588 -> match uu____9588 with - | (l, us, e, c, gvs) -> + | (l,us,e,c,gvs) -> let uu____9622 = FStar_Range.string_of_range - e.FStar_Syntax_Syntax.pos in + e.FStar_Syntax_Syntax.pos + in let uu____9624 = - FStar_Syntax_Print.lbname_to_string l in + FStar_Syntax_Print.lbname_to_string l in let uu____9626 = FStar_Syntax_Print.term_to_string - (FStar_Syntax_Util.comp_result c) in + (FStar_Syntax_Util.comp_result c) + in let uu____9628 = - FStar_Syntax_Print.term_to_string e in + FStar_Syntax_Print.term_to_string e in let uu____9630 = FStar_Syntax_Print.binders_to_string ", " - gvs in + gvs + in FStar_Util.print5 "(%s) Generalized %s at type %s\n%s\nVars = (%s)\n" uu____9622 uu____9624 uu____9626 uu____9628 uu____9630)) else ()); - luecs) in + luecs) + in FStar_List.map2 - (fun univnames1 -> - fun uu____9675 -> + (fun univnames1 -> + fun uu____9675 -> match uu____9675 with - | (l, generalized_univs, t, c, gvs) -> + | (l,generalized_univs,t,c,gvs) -> let uu____9719 = check_universe_generalization univnames1 - generalized_univs t in + generalized_univs t + in (l, uu____9719, t, c, gvs)) univnames_lecs generalized_lecs) + let (check_and_ascribe : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -3289,39 +3707,42 @@ let (check_and_ascribe : FStar_Syntax_Syntax.typ -> (FStar_Syntax_Syntax.term * FStar_TypeChecker_Env.guard_t)) = - fun env -> - fun e -> - fun t1 -> - fun t2 -> + fun env -> + fun e -> + fun t1 -> + fun t2 -> let env1 = - FStar_TypeChecker_Env.set_range env e.FStar_Syntax_Syntax.pos in + FStar_TypeChecker_Env.set_range env e.FStar_Syntax_Syntax.pos in let check1 env2 t11 t21 = if env2.FStar_TypeChecker_Env.use_eq then FStar_TypeChecker_Rel.try_teq true env2 t11 t21 else (let uu____9780 = - FStar_TypeChecker_Rel.get_subtyping_predicate env2 t11 t21 in + FStar_TypeChecker_Rel.get_subtyping_predicate env2 t11 t21 + in match uu____9780 with - | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None + | FStar_Pervasives_Native.None -> + FStar_Pervasives_Native.None | FStar_Pervasives_Native.Some f -> - let uu____9786 = FStar_TypeChecker_Env.apply_guard f e in + let uu____9786 = FStar_TypeChecker_Env.apply_guard f e in FStar_All.pipe_left - (fun _9789 -> FStar_Pervasives_Native.Some _9789) - uu____9786) in + (fun _9789 -> FStar_Pervasives_Native.Some _9789) + uu____9786) + in let is_var e1 = let uu____9797 = - let uu____9798 = FStar_Syntax_Subst.compress e1 in - uu____9798.FStar_Syntax_Syntax.n in + let uu____9798 = FStar_Syntax_Subst.compress e1 in + uu____9798.FStar_Syntax_Syntax.n in match uu____9797 with | FStar_Syntax_Syntax.Tm_name uu____9802 -> true - | uu____9804 -> false in + | uu____9804 -> false in let decorate e1 t = - let e2 = FStar_Syntax_Subst.compress e1 in + let e2 = FStar_Syntax_Subst.compress e1 in match e2.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_name x -> FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_name - (let uu___1273_9825 = x in + (let uu___1273_9825 = x in { FStar_Syntax_Syntax.ppname = (uu___1273_9825.FStar_Syntax_Syntax.ppname); @@ -3330,12 +3751,13 @@ let (check_and_ascribe : FStar_Syntax_Syntax.sort = t2 })) FStar_Pervasives_Native.None e2.FStar_Syntax_Syntax.pos - | uu____9826 -> e2 in + | uu____9826 -> e2 in let env2 = - let uu___1276_9828 = env1 in + let uu___1276_9828 = env1 in let uu____9829 = env1.FStar_TypeChecker_Env.use_eq || - (env1.FStar_TypeChecker_Env.is_pattern && (is_var e)) in + (env1.FStar_TypeChecker_Env.is_pattern && (is_var e)) + in { FStar_TypeChecker_Env.solver = (uu___1276_9828.FStar_TypeChecker_Env.solver); @@ -3422,193 +3844,215 @@ let (check_and_ascribe : (uu___1276_9828.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___1276_9828.FStar_TypeChecker_Env.nbe) - } in - let uu____9831 = check1 env2 t1 t2 in + } in + let uu____9831 = check1 env2 t1 t2 in match uu____9831 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> let uu____9838 = FStar_TypeChecker_Err.expected_expression_of_type env2 t2 e - t1 in - let uu____9844 = FStar_TypeChecker_Env.get_range env2 in + t1 + in + let uu____9844 = FStar_TypeChecker_Env.get_range env2 in FStar_Errors.raise_error uu____9838 uu____9844 | FStar_Pervasives_Native.Some g -> ((let uu____9851 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env2) - (FStar_Options.Other "Rel") in + (FStar_Options.Other "Rel") + in if uu____9851 then let uu____9856 = - FStar_TypeChecker_Rel.guard_to_string env2 g in + FStar_TypeChecker_Rel.guard_to_string env2 g in FStar_All.pipe_left (FStar_Util.print1 "Applied guard is %s\n") uu____9856 else ()); - (let uu____9862 = decorate e t2 in (uu____9862, g))) + (let uu____9862 = decorate e t2 in (uu____9862, g))) + let (check_top_level : FStar_TypeChecker_Env.env -> FStar_TypeChecker_Env.guard_t -> FStar_Syntax_Syntax.lcomp -> (Prims.bool * FStar_Syntax_Syntax.comp)) = - fun env -> - fun g -> - fun lc -> - (let uu____9890 = FStar_TypeChecker_Env.debug env FStar_Options.Low in + fun env -> + fun g -> + fun lc -> + (let uu____9890 = FStar_TypeChecker_Env.debug env FStar_Options.Low + in if uu____9890 then - let uu____9893 = FStar_Syntax_Print.lcomp_to_string lc in + let uu____9893 = FStar_Syntax_Print.lcomp_to_string lc in FStar_Util.print1 "check_top_level, lc = %s\n" uu____9893 else ()); (let discharge g1 = FStar_TypeChecker_Rel.force_trivial_guard env g1; - FStar_Syntax_Util.is_pure_lcomp lc in - let g1 = FStar_TypeChecker_Rel.solve_deferred_constraints env g in - let uu____9907 = FStar_Syntax_Util.is_total_lcomp lc in + FStar_Syntax_Util.is_pure_lcomp lc in + let g1 = FStar_TypeChecker_Rel.solve_deferred_constraints env g in + let uu____9907 = FStar_Syntax_Util.is_total_lcomp lc in if uu____9907 then - let uu____9915 = discharge g1 in - let uu____9917 = FStar_Syntax_Syntax.lcomp_comp lc in + let uu____9915 = discharge g1 in + let uu____9917 = FStar_Syntax_Syntax.lcomp_comp lc in (uu____9915, uu____9917) else - (let c = FStar_Syntax_Syntax.lcomp_comp lc in + (let c = FStar_Syntax_Syntax.lcomp_comp lc in let steps = [FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.NoFullNorm; - FStar_TypeChecker_Env.DoNotUnfoldPureLets] in + FStar_TypeChecker_Env.DoNotUnfoldPureLets] in let c1 = let uu____9926 = let uu____9927 = let uu____9928 = - FStar_TypeChecker_Env.unfold_effect_abbrev env c in - FStar_All.pipe_right uu____9928 FStar_Syntax_Syntax.mk_Comp in + FStar_TypeChecker_Env.unfold_effect_abbrev env c in + FStar_All.pipe_right uu____9928 FStar_Syntax_Syntax.mk_Comp + in FStar_All.pipe_right uu____9927 - (FStar_TypeChecker_Normalize.normalize_comp steps env) in + (FStar_TypeChecker_Normalize.normalize_comp steps env) + in FStar_All.pipe_right uu____9926 - (FStar_TypeChecker_Env.comp_to_comp_typ env) in + (FStar_TypeChecker_Env.comp_to_comp_typ env) + in let md = FStar_TypeChecker_Env.get_effect_decl env - c1.FStar_Syntax_Syntax.effect_name in - let uu____9930 = destruct_comp c1 in + c1.FStar_Syntax_Syntax.effect_name + in + let uu____9930 = destruct_comp c1 in match uu____9930 with - | (u_t, t, wp) -> + | (u_t,t,wp) -> let vc = - let uu____9948 = FStar_TypeChecker_Env.get_range env in + let uu____9948 = FStar_TypeChecker_Env.get_range env in let uu____9949 = let uu____9954 = FStar_TypeChecker_Env.inst_effect_fun_with [u_t] env md - md.FStar_Syntax_Syntax.trivial in + md.FStar_Syntax_Syntax.trivial + in let uu____9955 = - let uu____9956 = FStar_Syntax_Syntax.as_arg t in + let uu____9956 = FStar_Syntax_Syntax.as_arg t in let uu____9965 = - let uu____9976 = FStar_Syntax_Syntax.as_arg wp in - [uu____9976] in - uu____9956 :: uu____9965 in - FStar_Syntax_Syntax.mk_Tm_app uu____9954 uu____9955 in - uu____9949 FStar_Pervasives_Native.None uu____9948 in + let uu____9976 = FStar_Syntax_Syntax.as_arg wp in + [uu____9976] in + uu____9956 :: uu____9965 in + FStar_Syntax_Syntax.mk_Tm_app uu____9954 uu____9955 in + uu____9949 FStar_Pervasives_Native.None uu____9948 in ((let uu____10010 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Simplification") in + (FStar_Options.Other "Simplification") + in if uu____10010 then - let uu____10015 = FStar_Syntax_Print.term_to_string vc in + let uu____10015 = FStar_Syntax_Print.term_to_string vc + in FStar_Util.print1 "top-level VC: %s\n" uu____10015 else ()); (let g2 = let uu____10021 = FStar_All.pipe_left FStar_TypeChecker_Env.guard_of_guard_formula - (FStar_TypeChecker_Common.NonTrivial vc) in - FStar_TypeChecker_Env.conj_guard g1 uu____10021 in - let uu____10022 = discharge g2 in - let uu____10024 = FStar_Syntax_Syntax.mk_Comp c1 in + (FStar_TypeChecker_Common.NonTrivial vc) + in + FStar_TypeChecker_Env.conj_guard g1 uu____10021 in + let uu____10022 = discharge g2 in + let uu____10024 = FStar_Syntax_Syntax.mk_Comp c1 in (uu____10022, uu____10024))))) + let (short_circuit : FStar_Syntax_Syntax.term -> FStar_Syntax_Syntax.args -> FStar_TypeChecker_Common.guard_formula) = - fun head1 -> - fun seen_args -> + fun head1 -> + fun seen_args -> let short_bin_op f uu___8_10058 = match uu___8_10058 with | [] -> FStar_TypeChecker_Common.Trivial - | (fst1, uu____10068)::[] -> f fst1 - | uu____10093 -> failwith "Unexpexted args to binary operator" in + | (fst1,uu____10068)::[] -> f fst1 + | uu____10093 -> failwith "Unexpexted args to binary operator" in let op_and_e e = - let uu____10105 = FStar_Syntax_Util.b2t e in + let uu____10105 = FStar_Syntax_Util.b2t e in FStar_All.pipe_right uu____10105 - (fun _10106 -> FStar_TypeChecker_Common.NonTrivial _10106) in + (fun _10106 -> FStar_TypeChecker_Common.NonTrivial _10106) + in let op_or_e e = let uu____10117 = - let uu____10118 = FStar_Syntax_Util.b2t e in - FStar_Syntax_Util.mk_neg uu____10118 in + let uu____10118 = FStar_Syntax_Util.b2t e in + FStar_Syntax_Util.mk_neg uu____10118 in FStar_All.pipe_right uu____10117 - (fun _10121 -> FStar_TypeChecker_Common.NonTrivial _10121) in + (fun _10121 -> FStar_TypeChecker_Common.NonTrivial _10121) + in let op_and_t t = FStar_All.pipe_right t - (fun _10128 -> FStar_TypeChecker_Common.NonTrivial _10128) in + (fun _10128 -> FStar_TypeChecker_Common.NonTrivial _10128) + in let op_or_t t = - let uu____10139 = FStar_All.pipe_right t FStar_Syntax_Util.mk_neg in + let uu____10139 = FStar_All.pipe_right t FStar_Syntax_Util.mk_neg in FStar_All.pipe_right uu____10139 - (fun _10142 -> FStar_TypeChecker_Common.NonTrivial _10142) in + (fun _10142 -> FStar_TypeChecker_Common.NonTrivial _10142) + in let op_imp_t t = FStar_All.pipe_right t - (fun _10149 -> FStar_TypeChecker_Common.NonTrivial _10149) in + (fun _10149 -> FStar_TypeChecker_Common.NonTrivial _10149) + in let short_op_ite uu___9_10155 = match uu___9_10155 with | [] -> FStar_TypeChecker_Common.Trivial - | (guard, uu____10165)::[] -> + | (guard,uu____10165)::[] -> FStar_TypeChecker_Common.NonTrivial guard - | _then::(guard, uu____10192)::[] -> - let uu____10233 = FStar_Syntax_Util.mk_neg guard in + | _then::(guard,uu____10192)::[] -> + let uu____10233 = FStar_Syntax_Util.mk_neg guard in FStar_All.pipe_right uu____10233 - (fun _10234 -> FStar_TypeChecker_Common.NonTrivial _10234) - | uu____10235 -> failwith "Unexpected args to ITE" in + (fun _10234 -> FStar_TypeChecker_Common.NonTrivial _10234) + | uu____10235 -> failwith "Unexpected args to ITE" in let table = let uu____10247 = - let uu____10255 = short_bin_op op_and_e in - (FStar_Parser_Const.op_And, uu____10255) in + let uu____10255 = short_bin_op op_and_e in + (FStar_Parser_Const.op_And, uu____10255) in let uu____10263 = let uu____10273 = - let uu____10281 = short_bin_op op_or_e in - (FStar_Parser_Const.op_Or, uu____10281) in + let uu____10281 = short_bin_op op_or_e in + (FStar_Parser_Const.op_Or, uu____10281) in let uu____10289 = let uu____10299 = - let uu____10307 = short_bin_op op_and_t in - (FStar_Parser_Const.and_lid, uu____10307) in + let uu____10307 = short_bin_op op_and_t in + (FStar_Parser_Const.and_lid, uu____10307) in let uu____10315 = let uu____10325 = - let uu____10333 = short_bin_op op_or_t in - (FStar_Parser_Const.or_lid, uu____10333) in + let uu____10333 = short_bin_op op_or_t in + (FStar_Parser_Const.or_lid, uu____10333) in let uu____10341 = let uu____10351 = - let uu____10359 = short_bin_op op_imp_t in - (FStar_Parser_Const.imp_lid, uu____10359) in - [uu____10351; (FStar_Parser_Const.ite_lid, short_op_ite)] in - uu____10325 :: uu____10341 in - uu____10299 :: uu____10315 in - uu____10273 :: uu____10289 in - uu____10247 :: uu____10263 in + let uu____10359 = short_bin_op op_imp_t in + (FStar_Parser_Const.imp_lid, uu____10359) in + [uu____10351; (FStar_Parser_Const.ite_lid, short_op_ite)] in + uu____10325 :: uu____10341 in + uu____10299 :: uu____10315 in + uu____10273 :: uu____10289 in + uu____10247 :: uu____10263 in match head1.FStar_Syntax_Syntax.n with | FStar_Syntax_Syntax.Tm_fvar fv -> - let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v in + let lid = (fv.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v + in let uu____10421 = FStar_Util.find_map table - (fun uu____10436 -> + (fun uu____10436 -> match uu____10436 with - | (x, mk1) -> - let uu____10453 = FStar_Ident.lid_equals x lid in + | (x,mk1) -> + let uu____10453 = FStar_Ident.lid_equals x lid in if uu____10453 then - let uu____10458 = mk1 seen_args in + let uu____10458 = mk1 seen_args in FStar_Pervasives_Native.Some uu____10458 - else FStar_Pervasives_Native.None) in + else FStar_Pervasives_Native.None) + in (match uu____10421 with - | FStar_Pervasives_Native.None -> FStar_TypeChecker_Common.Trivial + | FStar_Pervasives_Native.None -> + FStar_TypeChecker_Common.Trivial | FStar_Pervasives_Native.Some g -> g) | uu____10462 -> FStar_TypeChecker_Common.Trivial + let (short_circuit_head : FStar_Syntax_Syntax.term -> Prims.bool) = - fun l -> + fun l -> let uu____10470 = - let uu____10471 = FStar_Syntax_Util.un_uinst l in - uu____10471.FStar_Syntax_Syntax.n in + let uu____10471 = FStar_Syntax_Util.un_uinst l in + uu____10471.FStar_Syntax_Syntax.n in match uu____10470 with | FStar_Syntax_Syntax.Tm_fvar fv -> FStar_Util.for_some (FStar_Syntax_Syntax.fv_eq_lid fv) @@ -3619,69 +4063,75 @@ let (short_circuit_head : FStar_Syntax_Syntax.term -> Prims.bool) = FStar_Parser_Const.imp_lid; FStar_Parser_Const.ite_lid] | uu____10476 -> false + let (maybe_add_implicit_binders : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.binders -> FStar_Syntax_Syntax.binders) = - fun env -> - fun bs -> + fun env -> + fun bs -> let pos bs1 = match bs1 with - | (hd1, uu____10512)::uu____10513 -> + | (hd1,uu____10512)::uu____10513 -> FStar_Syntax_Syntax.range_of_bv hd1 - | uu____10532 -> FStar_TypeChecker_Env.get_range env in + | uu____10532 -> FStar_TypeChecker_Env.get_range env in match bs with - | (uu____10541, FStar_Pervasives_Native.Some + | (uu____10541,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit uu____10542))::uu____10543 -> bs | uu____10561 -> - let uu____10562 = FStar_TypeChecker_Env.expected_typ env in + let uu____10562 = FStar_TypeChecker_Env.expected_typ env in (match uu____10562 with - | FStar_Pervasives_Native.None -> bs + | FStar_Pervasives_Native.None -> bs | FStar_Pervasives_Native.Some t -> let uu____10566 = - let uu____10567 = FStar_Syntax_Subst.compress t in - uu____10567.FStar_Syntax_Syntax.n in + let uu____10567 = FStar_Syntax_Subst.compress t in + uu____10567.FStar_Syntax_Syntax.n in (match uu____10566 with - | FStar_Syntax_Syntax.Tm_arrow (bs', uu____10571) -> + | FStar_Syntax_Syntax.Tm_arrow (bs',uu____10571) -> let uu____10592 = FStar_Util.prefix_until - (fun uu___10_10632 -> + (fun uu___10_10632 -> match uu___10_10632 with - | (uu____10640, FStar_Pervasives_Native.Some + | (uu____10640,FStar_Pervasives_Native.Some (FStar_Syntax_Syntax.Implicit uu____10641)) -> false - | uu____10646 -> true) bs' in + | uu____10646 -> true) bs' + in (match uu____10592 with - | FStar_Pervasives_Native.None -> bs + | FStar_Pervasives_Native.None -> bs | FStar_Pervasives_Native.Some - ([], uu____10682, uu____10683) -> bs + ([],uu____10682,uu____10683) -> bs | FStar_Pervasives_Native.Some - (imps, uu____10755, uu____10756) -> + (imps,uu____10755,uu____10756) -> let uu____10829 = FStar_All.pipe_right imps (FStar_Util.for_all - (fun uu____10849 -> + (fun uu____10849 -> match uu____10849 with - | (x, uu____10858) -> + | (x,uu____10858) -> FStar_Util.starts_with (x.FStar_Syntax_Syntax.ppname).FStar_Ident.idText - "'")) in + "'")) + in if uu____10829 then - let r = pos bs in + let r = pos bs in let imps1 = FStar_All.pipe_right imps (FStar_List.map - (fun uu____10907 -> + (fun uu____10907 -> match uu____10907 with - | (x, i) -> + | (x,i) -> let uu____10926 = FStar_Syntax_Syntax.set_range_of_bv - x r in - (uu____10926, i))) in + x r + in + (uu____10926, i))) + in FStar_List.append imps1 bs else bs) | uu____10937 -> bs)) + let (maybe_lift : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> @@ -3689,20 +4139,21 @@ let (maybe_lift : FStar_Ident.lident -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term) = - fun env -> - fun e -> - fun c1 -> - fun c2 -> - fun t -> - let m1 = FStar_TypeChecker_Env.norm_eff_name env c1 in - let m2 = FStar_TypeChecker_Env.norm_eff_name env c2 in + fun env -> + fun e -> + fun c1 -> + fun c2 -> + fun t -> + let m1 = FStar_TypeChecker_Env.norm_eff_name env c1 in + let m2 = FStar_TypeChecker_Env.norm_eff_name env c2 in let uu____10966 = ((FStar_Ident.lid_equals m1 m2) || ((FStar_Syntax_Util.is_pure_effect c1) && (FStar_Syntax_Util.is_ghost_effect c2))) || ((FStar_Syntax_Util.is_pure_effect c2) && - (FStar_Syntax_Util.is_ghost_effect c1)) in + (FStar_Syntax_Util.is_ghost_effect c1)) + in if uu____10966 then e else @@ -3710,22 +4161,24 @@ let (maybe_lift : (FStar_Syntax_Syntax.Tm_meta (e, (FStar_Syntax_Syntax.Meta_monadic_lift (m1, m2, t)))) FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos + let (maybe_monadic : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> FStar_Ident.lident -> FStar_Syntax_Syntax.typ -> FStar_Syntax_Syntax.term) = - fun env -> - fun e -> - fun c -> - fun t -> - let m = FStar_TypeChecker_Env.norm_eff_name env c in + fun env -> + fun e -> + fun c -> + fun t -> + let m = FStar_TypeChecker_Env.norm_eff_name env c in let uu____10997 = ((is_pure_or_ghost_effect env m) || (FStar_Ident.lid_equals m FStar_Parser_Const.effect_Tot_lid)) || - (FStar_Ident.lid_equals m FStar_Parser_Const.effect_GTot_lid) in + (FStar_Ident.lid_equals m FStar_Parser_Const.effect_GTot_lid) + in if uu____10997 then e else @@ -3733,45 +4186,50 @@ let (maybe_monadic : (FStar_Syntax_Syntax.Tm_meta (e, (FStar_Syntax_Syntax.Meta_monadic (m, t)))) FStar_Pervasives_Native.None e.FStar_Syntax_Syntax.pos + let (d : Prims.string -> unit) = - fun s -> FStar_Util.print1 "\027[01;36m%s\027[00m\n" s + fun s -> FStar_Util.print1 "\027[01;36m%s\027[00m\n" s let (mk_toplevel_definition : FStar_TypeChecker_Env.env -> FStar_Ident.lident -> FStar_Syntax_Syntax.term -> (FStar_Syntax_Syntax.sigelt * FStar_Syntax_Syntax.term)) = - fun env -> - fun lident -> - fun def -> + fun env -> + fun lident -> + fun def -> (let uu____11040 = - FStar_TypeChecker_Env.debug env (FStar_Options.Other "ED") in + FStar_TypeChecker_Env.debug env (FStar_Options.Other "ED") in if uu____11040 then - ((let uu____11045 = FStar_Ident.text_of_lid lident in + ((let uu____11045 = FStar_Ident.text_of_lid lident in d uu____11045); - (let uu____11047 = FStar_Ident.text_of_lid lident in - let uu____11049 = FStar_Syntax_Print.term_to_string def in + (let uu____11047 = FStar_Ident.text_of_lid lident in + let uu____11049 = FStar_Syntax_Print.term_to_string def in FStar_Util.print2 "Registering top-level definition: %s\n%s\n" uu____11047 uu____11049)) else ()); (let fv = - let uu____11055 = FStar_Syntax_Util.incr_delta_qualifier def in + let uu____11055 = FStar_Syntax_Util.incr_delta_qualifier def in FStar_Syntax_Syntax.lid_as_fv lident uu____11055 - FStar_Pervasives_Native.None in - let lbname = FStar_Util.Inr fv in + FStar_Pervasives_Native.None + in + let lbname = FStar_Util.Inr fv in let lb = (false, [FStar_Syntax_Util.mk_letbinding lbname [] FStar_Syntax_Syntax.tun FStar_Parser_Const.effect_Tot_lid def - [] FStar_Range.dummyRange]) in + [] FStar_Range.dummyRange]) + in let sig_ctx = FStar_Syntax_Syntax.mk_sigelt - (FStar_Syntax_Syntax.Sig_let (lb, [lident])) in + (FStar_Syntax_Syntax.Sig_let (lb, [lident])) + in let uu____11067 = FStar_Syntax_Syntax.mk (FStar_Syntax_Syntax.Tm_fvar fv) - FStar_Pervasives_Native.None FStar_Range.dummyRange in - ((let uu___1434_11069 = sig_ctx in + FStar_Pervasives_Native.None FStar_Range.dummyRange + in + ((let uu___1434_11069 = sig_ctx in { FStar_Syntax_Syntax.sigel = (uu___1434_11069.FStar_Syntax_Syntax.sigel); @@ -3784,53 +4242,54 @@ let (mk_toplevel_definition : FStar_Syntax_Syntax.sigattrs = (uu___1434_11069.FStar_Syntax_Syntax.sigattrs) }), uu____11067)) + let (check_sigelt_quals : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.sigelt -> unit) = - fun env -> - fun se -> + fun env -> + fun se -> let visibility uu___11_11087 = match uu___11_11087 with - | FStar_Syntax_Syntax.Private -> true - | uu____11090 -> false in + | FStar_Syntax_Syntax.Private -> true + | uu____11090 -> false in let reducibility uu___12_11098 = match uu___12_11098 with - | FStar_Syntax_Syntax.Abstract -> true - | FStar_Syntax_Syntax.Irreducible -> true - | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen -> true - | FStar_Syntax_Syntax.Visible_default -> true - | FStar_Syntax_Syntax.Inline_for_extraction -> true - | uu____11105 -> false in + | FStar_Syntax_Syntax.Abstract -> true + | FStar_Syntax_Syntax.Irreducible -> true + | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen -> true + | FStar_Syntax_Syntax.Visible_default -> true + | FStar_Syntax_Syntax.Inline_for_extraction -> true + | uu____11105 -> false in let assumption uu___13_11113 = match uu___13_11113 with - | FStar_Syntax_Syntax.Assumption -> true - | FStar_Syntax_Syntax.New -> true - | uu____11117 -> false in + | FStar_Syntax_Syntax.Assumption -> true + | FStar_Syntax_Syntax.New -> true + | uu____11117 -> false in let reification uu___14_11125 = match uu___14_11125 with - | FStar_Syntax_Syntax.Reifiable -> true + | FStar_Syntax_Syntax.Reifiable -> true | FStar_Syntax_Syntax.Reflectable uu____11128 -> true - | uu____11130 -> false in + | uu____11130 -> false in let inferred uu___15_11138 = match uu___15_11138 with | FStar_Syntax_Syntax.Discriminator uu____11140 -> true | FStar_Syntax_Syntax.Projector uu____11142 -> true | FStar_Syntax_Syntax.RecordType uu____11148 -> true | FStar_Syntax_Syntax.RecordConstructor uu____11158 -> true - | FStar_Syntax_Syntax.ExceptionConstructor -> true - | FStar_Syntax_Syntax.HasMaskedEffect -> true - | FStar_Syntax_Syntax.Effect -> true - | uu____11171 -> false in + | FStar_Syntax_Syntax.ExceptionConstructor -> true + | FStar_Syntax_Syntax.HasMaskedEffect -> true + | FStar_Syntax_Syntax.Effect -> true + | uu____11171 -> false in let has_eq uu___16_11179 = match uu___16_11179 with - | FStar_Syntax_Syntax.Noeq -> true - | FStar_Syntax_Syntax.Unopteq -> true - | uu____11183 -> false in + | FStar_Syntax_Syntax.Noeq -> true + | FStar_Syntax_Syntax.Unopteq -> true + | uu____11183 -> false in let quals_combo_ok quals q = match q with - | FStar_Syntax_Syntax.Assumption -> + | FStar_Syntax_Syntax.Assumption -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> ((((((x = q) || (x = FStar_Syntax_Syntax.Logic)) || (inferred x)) || (visibility x)) @@ -3839,16 +4298,16 @@ let (check_sigelt_quals : (env.FStar_TypeChecker_Env.is_iface && (x = FStar_Syntax_Syntax.Inline_for_extraction))) || (x = FStar_Syntax_Syntax.NoExtract))) - | FStar_Syntax_Syntax.New -> + | FStar_Syntax_Syntax.New -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> (((x = q) || (inferred x)) || (visibility x)) || (assumption x))) - | FStar_Syntax_Syntax.Inline_for_extraction -> + | FStar_Syntax_Syntax.Inline_for_extraction -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> ((((((((x = q) || (x = FStar_Syntax_Syntax.Logic)) || (visibility x)) || (reducibility x)) @@ -3859,10 +4318,10 @@ let (check_sigelt_quals : (env.FStar_TypeChecker_Env.is_iface && (x = FStar_Syntax_Syntax.Assumption))) || (x = FStar_Syntax_Syntax.NoExtract))) - | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen -> + | FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> ((((((((x = q) || (x = FStar_Syntax_Syntax.Logic)) || (x = FStar_Syntax_Syntax.Abstract)) || (x = FStar_Syntax_Syntax.Inline_for_extraction)) @@ -3871,10 +4330,10 @@ let (check_sigelt_quals : || (inferred x)) || (visibility x)) || (reification x))) - | FStar_Syntax_Syntax.Visible_default -> + | FStar_Syntax_Syntax.Visible_default -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> ((((((((x = q) || (x = FStar_Syntax_Syntax.Logic)) || (x = FStar_Syntax_Syntax.Abstract)) || (x = FStar_Syntax_Syntax.Inline_for_extraction)) @@ -3883,10 +4342,10 @@ let (check_sigelt_quals : || (inferred x)) || (visibility x)) || (reification x))) - | FStar_Syntax_Syntax.Irreducible -> + | FStar_Syntax_Syntax.Irreducible -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> ((((((((x = q) || (x = FStar_Syntax_Syntax.Logic)) || (x = FStar_Syntax_Syntax.Abstract)) || (x = FStar_Syntax_Syntax.Inline_for_extraction)) @@ -3895,10 +4354,10 @@ let (check_sigelt_quals : || (inferred x)) || (visibility x)) || (reification x))) - | FStar_Syntax_Syntax.Abstract -> + | FStar_Syntax_Syntax.Abstract -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> ((((((((x = q) || (x = FStar_Syntax_Syntax.Logic)) || (x = FStar_Syntax_Syntax.Abstract)) || (x = FStar_Syntax_Syntax.Inline_for_extraction)) @@ -3907,10 +4366,10 @@ let (check_sigelt_quals : || (inferred x)) || (visibility x)) || (reification x))) - | FStar_Syntax_Syntax.Noeq -> + | FStar_Syntax_Syntax.Noeq -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> ((((((((x = q) || (x = FStar_Syntax_Syntax.Logic)) || (x = FStar_Syntax_Syntax.Abstract)) || (x = FStar_Syntax_Syntax.Inline_for_extraction)) @@ -3919,10 +4378,10 @@ let (check_sigelt_quals : || (inferred x)) || (visibility x)) || (reification x))) - | FStar_Syntax_Syntax.Unopteq -> + | FStar_Syntax_Syntax.Unopteq -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> ((((((((x = q) || (x = FStar_Syntax_Syntax.Logic)) || (x = FStar_Syntax_Syntax.Abstract)) || (x = FStar_Syntax_Syntax.Inline_for_extraction)) @@ -3931,89 +4390,94 @@ let (check_sigelt_quals : || (inferred x)) || (visibility x)) || (reification x))) - | FStar_Syntax_Syntax.TotalEffect -> + | FStar_Syntax_Syntax.TotalEffect -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> (((x = q) || (inferred x)) || (visibility x)) || (reification x))) - | FStar_Syntax_Syntax.Logic -> + | FStar_Syntax_Syntax.Logic -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> ((((x = q) || (x = FStar_Syntax_Syntax.Assumption)) || (inferred x)) || (visibility x)) || (reducibility x))) - | FStar_Syntax_Syntax.Reifiable -> + | FStar_Syntax_Syntax.Reifiable -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> ((((reification x) || (inferred x)) || (visibility x)) || (x = FStar_Syntax_Syntax.TotalEffect)) || (x = FStar_Syntax_Syntax.Visible_default))) | FStar_Syntax_Syntax.Reflectable uu____11262 -> FStar_All.pipe_right quals (FStar_List.for_all - (fun x -> + (fun x -> ((((reification x) || (inferred x)) || (visibility x)) || (x = FStar_Syntax_Syntax.TotalEffect)) || (x = FStar_Syntax_Syntax.Visible_default))) - | FStar_Syntax_Syntax.Private -> true - | uu____11269 -> true in + | FStar_Syntax_Syntax.Private -> true + | uu____11269 -> true in let quals = FStar_All.pipe_right (FStar_Syntax_Util.quals_of_sigelt se) (FStar_List.filter - (fun x -> Prims.op_Negation (x = FStar_Syntax_Syntax.Logic))) in + (fun x -> Prims.op_Negation (x = FStar_Syntax_Syntax.Logic))) + in let uu____11280 = let uu____11282 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun uu___17_11288 -> + (fun uu___17_11288 -> match uu___17_11288 with - | FStar_Syntax_Syntax.OnlyName -> true - | uu____11291 -> false)) in - FStar_All.pipe_right uu____11282 Prims.op_Negation in + | FStar_Syntax_Syntax.OnlyName -> true + | uu____11291 -> false)) + in + FStar_All.pipe_right uu____11282 Prims.op_Negation in if uu____11280 then - let r = FStar_Syntax_Util.range_of_sigelt se in + let r = FStar_Syntax_Util.range_of_sigelt se in let no_dup_quals = - FStar_Util.remove_dups (fun x -> fun y -> x = y) quals in + FStar_Util.remove_dups (fun x -> fun y -> x = y) quals in let err' msg = let uu____11312 = let uu____11318 = - let uu____11320 = FStar_Syntax_Print.quals_to_string quals in + let uu____11320 = FStar_Syntax_Print.quals_to_string quals in FStar_Util.format2 "The qualifier list \"[%s]\" is not permissible for this element%s" - uu____11320 msg in - (FStar_Errors.Fatal_QulifierListNotPermitted, uu____11318) in - FStar_Errors.raise_error uu____11312 r in - let err msg = err' (Prims.op_Hat ": " msg) in - let err'1 uu____11338 = err' "" in + uu____11320 msg + in + (FStar_Errors.Fatal_QulifierListNotPermitted, uu____11318) in + FStar_Errors.raise_error uu____11312 r in + let err msg = err' (Prims.op_Hat ": " msg) in + let err'1 uu____11338 = err' "" in (if (FStar_List.length quals) <> (FStar_List.length no_dup_quals) then err "duplicate qualifiers" else (); (let uu____11346 = let uu____11348 = FStar_All.pipe_right quals - (FStar_List.for_all (quals_combo_ok quals)) in - Prims.op_Negation uu____11348 in + (FStar_List.for_all (quals_combo_ok quals)) + in + Prims.op_Negation uu____11348 in if uu____11346 then err "ill-formed combination" else ()); (match se.FStar_Syntax_Syntax.sigel with - | FStar_Syntax_Syntax.Sig_let ((is_rec, uu____11358), uu____11359) - -> + | FStar_Syntax_Syntax.Sig_let ((is_rec,uu____11358),uu____11359) -> ((let uu____11371 = is_rec && (FStar_All.pipe_right quals (FStar_List.contains - FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen)) in + FStar_Syntax_Syntax.Unfold_for_unification_and_vcgen)) + in if uu____11371 then err "recursive definitions cannot be marked inline" else ()); (let uu____11380 = FStar_All.pipe_right quals (FStar_Util.for_some - (fun x -> (assumption x) || (has_eq x))) in + (fun x -> (assumption x) || (has_eq x))) + in if uu____11380 then err @@ -4024,121 +4488,130 @@ let (check_sigelt_quals : let uu____11402 = FStar_All.pipe_right quals (FStar_Util.for_all - (fun x -> + (fun x -> (((((x = FStar_Syntax_Syntax.Abstract) || (x = FStar_Syntax_Syntax.Inline_for_extraction)) || (x = FStar_Syntax_Syntax.NoExtract)) || (inferred x)) || (visibility x)) - || (has_eq x))) in - Prims.op_Negation uu____11402 in + || (has_eq x))) + in + Prims.op_Negation uu____11402 in if uu____11400 then err'1 () else () | FStar_Syntax_Syntax.Sig_declare_typ uu____11412 -> let uu____11419 = - FStar_All.pipe_right quals (FStar_Util.for_some has_eq) in + FStar_All.pipe_right quals (FStar_Util.for_some has_eq) in if uu____11419 then err'1 () else () | FStar_Syntax_Syntax.Sig_assume uu____11427 -> let uu____11434 = let uu____11436 = FStar_All.pipe_right quals (FStar_Util.for_all - (fun x -> + (fun x -> (visibility x) || - (x = FStar_Syntax_Syntax.Assumption))) in - Prims.op_Negation uu____11436 in + (x = FStar_Syntax_Syntax.Assumption))) + in + Prims.op_Negation uu____11436 in if uu____11434 then err'1 () else () | FStar_Syntax_Syntax.Sig_new_effect uu____11446 -> let uu____11447 = let uu____11449 = FStar_All.pipe_right quals (FStar_Util.for_all - (fun x -> + (fun x -> (((x = FStar_Syntax_Syntax.TotalEffect) || (inferred x)) || (visibility x)) - || (reification x))) in - Prims.op_Negation uu____11449 in + || (reification x))) + in + Prims.op_Negation uu____11449 in if uu____11447 then err'1 () else () | FStar_Syntax_Syntax.Sig_new_effect_for_free uu____11459 -> let uu____11460 = let uu____11462 = FStar_All.pipe_right quals (FStar_Util.for_all - (fun x -> + (fun x -> (((x = FStar_Syntax_Syntax.TotalEffect) || (inferred x)) || (visibility x)) - || (reification x))) in - Prims.op_Negation uu____11462 in + || (reification x))) + in + Prims.op_Negation uu____11462 in if uu____11460 then err'1 () else () | FStar_Syntax_Syntax.Sig_effect_abbrev uu____11472 -> let uu____11485 = let uu____11487 = FStar_All.pipe_right quals (FStar_Util.for_all - (fun x -> (inferred x) || (visibility x))) in - Prims.op_Negation uu____11487 in + (fun x -> (inferred x) || (visibility x))) + in + Prims.op_Negation uu____11487 in if uu____11485 then err'1 () else () | uu____11497 -> ())) else () + let (must_erase_for_extraction : FStar_TypeChecker_Env.env -> FStar_Syntax_Syntax.term -> Prims.bool) = - fun g -> - fun t -> + fun g -> + fun t -> let has_erased_for_extraction_attr fv = let uu____11520 = let uu____11525 = - FStar_All.pipe_right fv FStar_Syntax_Syntax.lid_of_fv in + FStar_All.pipe_right fv FStar_Syntax_Syntax.lid_of_fv in FStar_All.pipe_right uu____11525 - (FStar_TypeChecker_Env.lookup_attrs_of_lid g) in + (FStar_TypeChecker_Env.lookup_attrs_of_lid g) + in FStar_All.pipe_right uu____11520 - (fun l_opt -> + (fun l_opt -> (FStar_Util.is_some l_opt) && - (let uu____11544 = FStar_All.pipe_right l_opt FStar_Util.must in + (let uu____11544 = FStar_All.pipe_right l_opt FStar_Util.must + in FStar_All.pipe_right uu____11544 (FStar_List.existsb - (fun t1 -> + (fun t1 -> let uu____11562 = - let uu____11563 = FStar_Syntax_Subst.compress t1 in - uu____11563.FStar_Syntax_Syntax.n in + let uu____11563 = FStar_Syntax_Subst.compress t1 + in + uu____11563.FStar_Syntax_Syntax.n in match uu____11562 with | FStar_Syntax_Syntax.Tm_fvar fv1 when FStar_Ident.lid_equals (fv1.FStar_Syntax_Syntax.fv_name).FStar_Syntax_Syntax.v FStar_Parser_Const.must_erase_for_extraction_attr -> true - | uu____11569 -> false)))) in + | uu____11569 -> false)))) + in let rec aux_whnf env t1 = let uu____11595 = - let uu____11596 = FStar_Syntax_Subst.compress t1 in - uu____11596.FStar_Syntax_Syntax.n in + let uu____11596 = FStar_Syntax_Subst.compress t1 in + uu____11596.FStar_Syntax_Syntax.n in match uu____11595 with | FStar_Syntax_Syntax.Tm_type uu____11600 -> true | FStar_Syntax_Syntax.Tm_fvar fv -> (FStar_Syntax_Syntax.fv_eq_lid fv FStar_Parser_Const.unit_lid) || (has_erased_for_extraction_attr fv) | FStar_Syntax_Syntax.Tm_arrow uu____11603 -> - let uu____11618 = FStar_Syntax_Util.arrow_formals_comp t1 in + let uu____11618 = FStar_Syntax_Util.arrow_formals_comp t1 in (match uu____11618 with - | (bs, c) -> - let env1 = FStar_TypeChecker_Env.push_binders env bs in - let uu____11651 = FStar_Syntax_Util.is_pure_comp c in + | (bs,c) -> + let env1 = FStar_TypeChecker_Env.push_binders env bs in + let uu____11651 = FStar_Syntax_Util.is_pure_comp c in if uu____11651 then aux env1 (FStar_Syntax_Util.comp_result c) else FStar_Syntax_Util.is_pure_or_ghost_comp c) | FStar_Syntax_Syntax.Tm_refine ({ FStar_Syntax_Syntax.ppname = uu____11657; FStar_Syntax_Syntax.index = uu____11658; - FStar_Syntax_Syntax.sort = t2;_}, - uu____11660) + FStar_Syntax_Syntax.sort = t2;_},uu____11660) -> aux env t2 - | FStar_Syntax_Syntax.Tm_ascribed (t2, uu____11669, uu____11670) -> + | FStar_Syntax_Syntax.Tm_ascribed (t2,uu____11669,uu____11670) -> aux env t2 - | FStar_Syntax_Syntax.Tm_app (head1, uu____11712::[]) -> + | FStar_Syntax_Syntax.Tm_app (head1,uu____11712::[]) -> let uu____11751 = - let uu____11752 = FStar_Syntax_Util.un_uinst head1 in - uu____11752.FStar_Syntax_Syntax.n in + let uu____11752 = FStar_Syntax_Util.un_uinst head1 in + uu____11752.FStar_Syntax_Syntax.n in (match uu____11751 with | FStar_Syntax_Syntax.Tm_fvar fv -> (FStar_Syntax_Syntax.fv_eq_lid fv @@ -4146,6 +4619,7 @@ let (must_erase_for_extraction : || (has_erased_for_extraction_attr fv) | uu____11757 -> false) | uu____11759 -> false + and aux env t1 = let t2 = FStar_TypeChecker_Normalize.normalize @@ -4157,16 +4631,19 @@ let (must_erase_for_extraction : FStar_TypeChecker_Env.Beta; FStar_TypeChecker_Env.AllowUnboundUniverses; FStar_TypeChecker_Env.Zeta; - FStar_TypeChecker_Env.Iota] env t1 in - let res = aux_whnf env t2 in + FStar_TypeChecker_Env.Iota] env t1 + in + let res = aux_whnf env t2 in (let uu____11769 = FStar_All.pipe_left (FStar_TypeChecker_Env.debug env) - (FStar_Options.Other "Extraction") in + (FStar_Options.Other "Extraction") + in if uu____11769 then - let uu____11774 = FStar_Syntax_Print.term_to_string t2 in + let uu____11774 = FStar_Syntax_Print.term_to_string t2 in FStar_Util.print2 "must_erase=%s: %s\n" (if res then "true" else "false") uu____11774 else ()); - res in - aux g t \ No newline at end of file + res + in aux g t + \ No newline at end of file diff --git a/src/ocaml-output/FStar_Universal.ml b/src/ocaml-output/FStar_Universal.ml index 7bb9f09ff1c..045e59283fa 100644 --- a/src/ocaml-output/FStar_Universal.ml +++ b/src/ocaml-output/FStar_Universal.ml @@ -1,21 +1,22 @@ open Prims let (module_or_interface_name : FStar_Syntax_Syntax.modul -> (Prims.bool * FStar_Ident.lident)) = - fun m -> + fun m -> ((m.FStar_Syntax_Syntax.is_interface), (m.FStar_Syntax_Syntax.name)) + type uenv = FStar_Extraction_ML_UEnv.uenv let with_dsenv_of_tcenv : 'a . FStar_TypeChecker_Env.env -> 'a FStar_Syntax_DsEnv.withenv -> ('a * FStar_TypeChecker_Env.env) = - fun tcenv -> - fun f -> - let uu____39 = f tcenv.FStar_TypeChecker_Env.dsenv in + fun tcenv -> + fun f -> + let uu____39 = f tcenv.FStar_TypeChecker_Env.dsenv in match uu____39 with - | (a, dsenv1) -> + | (a,dsenv1) -> (a, - (let uu___8_51 = tcenv in + (let uu___8_51 = tcenv in { FStar_TypeChecker_Env.solver = (uu___8_51.FStar_TypeChecker_Env.solver); @@ -103,19 +104,20 @@ let with_dsenv_of_tcenv : FStar_TypeChecker_Env.nbe = (uu___8_51.FStar_TypeChecker_Env.nbe) })) + let with_tcenv_of_env : 'a . uenv -> (FStar_TypeChecker_Env.env -> ('a * FStar_TypeChecker_Env.env)) -> ('a * uenv) = - fun e -> - fun f -> - let uu____87 = f e.FStar_Extraction_ML_UEnv.env_tcenv in + fun e -> + fun f -> + let uu____87 = f e.FStar_Extraction_ML_UEnv.env_tcenv in match uu____87 with - | (a, t') -> + | (a,t') -> (a, - (let uu___16_99 = e in + (let uu___16_99 = e in { FStar_Extraction_ML_UEnv.env_tcenv = t'; FStar_Extraction_ML_UEnv.env_bindings = @@ -127,16 +129,17 @@ let with_tcenv_of_env : FStar_Extraction_ML_UEnv.currentModule = (uu___16_99.FStar_Extraction_ML_UEnv.currentModule) })) + let with_dsenv_of_env : 'a . uenv -> 'a FStar_Syntax_DsEnv.withenv -> ('a * uenv) = - fun e -> - fun f -> + fun e -> + fun f -> let uu____128 = - with_dsenv_of_tcenv e.FStar_Extraction_ML_UEnv.env_tcenv f in + with_dsenv_of_tcenv e.FStar_Extraction_ML_UEnv.env_tcenv f in match uu____128 with - | (a, tcenv) -> + | (a,tcenv) -> (a, - (let uu___24_140 = e in + (let uu___24_140 = e in { FStar_Extraction_ML_UEnv.env_tcenv = tcenv; FStar_Extraction_ML_UEnv.env_bindings = @@ -148,84 +151,95 @@ let with_dsenv_of_env : FStar_Extraction_ML_UEnv.currentModule = (uu___24_140.FStar_Extraction_ML_UEnv.currentModule) })) + let (push_env : uenv -> uenv) = - fun env -> + fun env -> let uu____147 = with_tcenv_of_env env - (fun tcenv -> + (fun tcenv -> let uu____155 = FStar_TypeChecker_Env.push - env.FStar_Extraction_ML_UEnv.env_tcenv "top-level: push_env" in - ((), uu____155)) in + env.FStar_Extraction_ML_UEnv.env_tcenv "top-level: push_env" + in + ((), uu____155)) + in FStar_Pervasives_Native.snd uu____147 + let (pop_env : uenv -> uenv) = - fun env -> + fun env -> let uu____163 = with_tcenv_of_env env - (fun tcenv -> + (fun tcenv -> let uu____171 = - FStar_TypeChecker_Env.pop tcenv "top-level: pop_env" in - ((), uu____171)) in + FStar_TypeChecker_Env.pop tcenv "top-level: pop_env" in + ((), uu____171)) + in FStar_Pervasives_Native.snd uu____163 + let with_env : 'a . uenv -> (uenv -> 'a) -> 'a = - fun env -> - fun f -> - let env1 = push_env env in - let res = f env1 in let uu____198 = pop_env env1 in res + fun env -> + fun f -> + let env1 = push_env env in + let res = f env1 in let uu____198 = pop_env env1 in res + let (env_of_tcenv : FStar_TypeChecker_Env.env -> FStar_Extraction_ML_UEnv.uenv) = - fun env -> FStar_Extraction_ML_UEnv.mkContext env + fun env -> FStar_Extraction_ML_UEnv.mkContext env let (parse : uenv -> Prims.string FStar_Pervasives_Native.option -> Prims.string -> (FStar_Syntax_Syntax.modul * uenv)) = - fun env -> - fun pre_fn -> - fun fn -> - let uu____237 = FStar_Parser_Driver.parse_file fn in + fun env -> + fun pre_fn -> + fun fn -> + let uu____237 = FStar_Parser_Driver.parse_file fn in match uu____237 with - | (ast, uu____254) -> + | (ast,uu____254) -> let uu____269 = match pre_fn with - | FStar_Pervasives_Native.None -> (ast, env) + | FStar_Pervasives_Native.None -> (ast, env) | FStar_Pervasives_Native.Some pre_fn1 -> - let uu____282 = FStar_Parser_Driver.parse_file pre_fn1 in + let uu____282 = FStar_Parser_Driver.parse_file pre_fn1 in (match uu____282 with - | (pre_ast, uu____299) -> + | (pre_ast,uu____299) -> (match (pre_ast, ast) with | (FStar_Parser_AST.Interface - (lid1, decls1, uu____320), FStar_Parser_AST.Module - (lid2, decls2)) when + (lid1,decls1,uu____320),FStar_Parser_AST.Module + (lid2,decls2)) when FStar_Ident.lid_equals lid1 lid2 -> let uu____333 = let uu____338 = FStar_ToSyntax_Interleave.initialize_interface - lid1 decls1 in - with_dsenv_of_env env uu____338 in + lid1 decls1 + in + with_dsenv_of_env env uu____338 in (match uu____333 with - | (uu____347, env1) -> + | (uu____347,env1) -> let uu____349 = FStar_ToSyntax_Interleave.interleave_module - ast true in + ast true + in with_dsenv_of_env env1 uu____349) | uu____355 -> FStar_Errors.raise_err (FStar_Errors.Fatal_PreModuleMismatch, - "mismatch between pre-module and module\n"))) in + "mismatch between pre-module and module\n"))) + in (match uu____269 with - | (ast1, env1) -> + | (ast1,env1) -> let uu____372 = - FStar_ToSyntax_ToSyntax.ast_modul_to_modul ast1 in + FStar_ToSyntax_ToSyntax.ast_modul_to_modul ast1 in with_dsenv_of_env env1 uu____372) + let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = - fun deps -> + fun deps -> let solver1 = - let uu____384 = FStar_Options.lax () in + let uu____384 = FStar_Options.lax () in if uu____384 then FStar_SMTEncoding_Solver.dummy else - (let uu___68_389 = FStar_SMTEncoding_Solver.solver in + (let uu___68_389 = FStar_SMTEncoding_Solver.solver in { FStar_TypeChecker_Env.init = (uu___68_389.FStar_TypeChecker_Env.init); @@ -247,18 +261,20 @@ let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = (uu___68_389.FStar_TypeChecker_Env.finish); FStar_TypeChecker_Env.refresh = (uu___68_389.FStar_TypeChecker_Env.refresh) - }) in + }) + in let env = let uu____391 = - let uu____406 = FStar_Tactics_Interpreter.primitive_steps () in - FStar_TypeChecker_NBE.normalize uu____406 in + let uu____406 = FStar_Tactics_Interpreter.primitive_steps () in + FStar_TypeChecker_NBE.normalize uu____406 in FStar_TypeChecker_Env.initial_env deps FStar_TypeChecker_TcTerm.tc_term FStar_TypeChecker_TcTerm.type_of_tot_term FStar_TypeChecker_TcTerm.universe_of FStar_TypeChecker_TcTerm.check_type_of_well_typed_term solver1 - FStar_Parser_Const.prims_lid uu____391 in + FStar_Parser_Const.prims_lid uu____391 + in let env1 = - let uu___72_410 = env in + let uu___72_410 = env in { FStar_TypeChecker_Env.solver = (uu___72_410.FStar_TypeChecker_Env.solver); @@ -344,9 +360,9 @@ let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.dsenv = (uu___72_410.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___72_410.FStar_TypeChecker_Env.nbe) - } in + } in let env2 = - let uu___75_412 = env1 in + let uu___75_412 = env1 in { FStar_TypeChecker_Env.solver = (uu___75_412.FStar_TypeChecker_Env.solver); @@ -431,9 +447,9 @@ let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.dsenv = (uu___75_412.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___75_412.FStar_TypeChecker_Env.nbe) - } in + } in let env3 = - let uu___78_414 = env2 in + let uu___78_414 = env2 in { FStar_TypeChecker_Env.solver = (uu___78_414.FStar_TypeChecker_Env.solver); @@ -519,9 +535,9 @@ let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.dsenv = (uu___78_414.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___78_414.FStar_TypeChecker_Env.nbe) - } in + } in let env4 = - let uu___81_416 = env3 in + let uu___81_416 = env3 in { FStar_TypeChecker_Env.solver = (uu___81_416.FStar_TypeChecker_Env.solver); @@ -607,8 +623,9 @@ let (init_env : FStar_Parser_Dep.deps -> FStar_TypeChecker_Env.env) = FStar_TypeChecker_Env.dsenv = (uu___81_416.FStar_TypeChecker_Env.dsenv); FStar_TypeChecker_Env.nbe = (uu___81_416.FStar_TypeChecker_Env.nbe) - } in + } in (env4.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.init env4; env4 + let (tc_one_fragment : FStar_Syntax_Syntax.modul FStar_Pervasives_Native.option -> FStar_TypeChecker_Env.env_t -> @@ -616,69 +633,73 @@ let (tc_one_fragment : (FStar_Syntax_Syntax.modul FStar_Pervasives_Native.option * FStar_TypeChecker_Env.env)) = - fun curmod -> - fun env -> - fun frag -> + fun curmod -> + fun env -> + fun frag -> let file_from_env env1 = - let uu____451 = FStar_TypeChecker_Env.get_range env1 in - FStar_Range.file_of_range uu____451 in + let uu____451 = FStar_TypeChecker_Env.get_range env1 in + FStar_Range.file_of_range uu____451 in let acceptable_mod_name modul = let uu____459 = - let uu____461 = file_from_env env in - FStar_Parser_Dep.lowercase_module_name uu____461 in + let uu____461 = file_from_env env in + FStar_Parser_Dep.lowercase_module_name uu____461 in let uu____463 = let uu____465 = - FStar_Ident.string_of_lid modul.FStar_Syntax_Syntax.name in - FStar_String.lowercase uu____465 in - uu____459 = uu____463 in + FStar_Ident.string_of_lid modul.FStar_Syntax_Syntax.name in + FStar_String.lowercase uu____465 in + uu____459 = uu____463 in let range_of_first_mod_decl modul = match modul with | FStar_Parser_AST.Module - (uu____474, - { FStar_Parser_AST.d = uu____475; FStar_Parser_AST.drange = d; - FStar_Parser_AST.doc = uu____477; - FStar_Parser_AST.quals = uu____478; - FStar_Parser_AST.attrs = uu____479;_}::uu____480) + (uu____474,{ FStar_Parser_AST.d = uu____475; + FStar_Parser_AST.drange = d; + FStar_Parser_AST.doc = uu____477; + FStar_Parser_AST.quals = uu____478; + FStar_Parser_AST.attrs = uu____479;_}::uu____480) -> d | FStar_Parser_AST.Interface - (uu____487, - { FStar_Parser_AST.d = uu____488; FStar_Parser_AST.drange = d; - FStar_Parser_AST.doc = uu____490; - FStar_Parser_AST.quals = uu____491; - FStar_Parser_AST.attrs = uu____492;_}::uu____493, - uu____494) + (uu____487,{ FStar_Parser_AST.d = uu____488; + FStar_Parser_AST.drange = d; + FStar_Parser_AST.doc = uu____490; + FStar_Parser_AST.quals = uu____491; + FStar_Parser_AST.attrs = uu____492;_}::uu____493,uu____494) -> d - | uu____503 -> FStar_Range.dummyRange in - let uu____504 = FStar_Parser_Driver.parse_fragment frag in + | uu____503 -> FStar_Range.dummyRange in + let uu____504 = FStar_Parser_Driver.parse_fragment frag in match uu____504 with - | FStar_Parser_Driver.Empty -> (curmod, env) + | FStar_Parser_Driver.Empty -> (curmod, env) | FStar_Parser_Driver.Decls [] -> (curmod, env) | FStar_Parser_Driver.Modul ast_modul -> let uu____516 = let uu____521 = - FStar_ToSyntax_Interleave.interleave_module ast_modul false in - FStar_All.pipe_left (with_dsenv_of_tcenv env) uu____521 in + FStar_ToSyntax_Interleave.interleave_module ast_modul false + in + FStar_All.pipe_left (with_dsenv_of_tcenv env) uu____521 in (match uu____516 with - | (ast_modul1, env1) -> + | (ast_modul1,env1) -> let uu____542 = let uu____547 = FStar_ToSyntax_ToSyntax.partial_ast_modul_to_modul - curmod ast_modul1 in - FStar_All.pipe_left (with_dsenv_of_tcenv env1) uu____547 in + curmod ast_modul1 + in + FStar_All.pipe_left (with_dsenv_of_tcenv env1) uu____547 + in (match uu____542 with - | (modul, env2) -> + | (modul,env2) -> ((let uu____568 = - let uu____570 = acceptable_mod_name modul in - Prims.op_Negation uu____570 in + let uu____570 = acceptable_mod_name modul in + Prims.op_Negation uu____570 in if uu____568 then let msg = let uu____575 = - let uu____577 = file_from_env env2 in - FStar_Parser_Dep.module_name_of_file uu____577 in + let uu____577 = file_from_env env2 in + FStar_Parser_Dep.module_name_of_file uu____577 + in FStar_Util.format1 "Interactive mode only supports a single module at the top-level. Expected module %s" - uu____575 in + uu____575 + in FStar_Errors.raise_error (FStar_Errors.Fatal_NonSingletonTopLevelModule, msg) (range_of_first_mod_decl ast_modul1) @@ -686,21 +707,24 @@ let (tc_one_fragment : (let uu____583 = let uu____594 = FStar_Syntax_DsEnv.syntax_only - env2.FStar_TypeChecker_Env.dsenv in + env2.FStar_TypeChecker_Env.dsenv + in if uu____594 then ((modul, []), env2) else (let uu____617 = FStar_TypeChecker_Tc.tc_partial_modul env2 - modul in - match uu____617 with | (m, i, e) -> ((m, i), e)) in + modul + in + match uu____617 with | (m,i,e) -> ((m, i), e)) + in match uu____583 with - | ((modul1, uu____658), env3) -> + | ((modul1,uu____658),env3) -> ((FStar_Pervasives_Native.Some modul1), env3))))) | FStar_Parser_Driver.Decls ast_decls -> (match curmod with - | FStar_Pervasives_Native.None -> - let uu____681 = FStar_List.hd ast_decls in + | FStar_Pervasives_Native.None -> + let uu____681 = FStar_List.hd ast_decls in (match uu____681 with | { FStar_Parser_AST.d = uu____688; FStar_Parser_AST.drange = rng; @@ -713,107 +737,120 @@ let (tc_one_fragment : | FStar_Pervasives_Native.Some modul -> let uu____704 = FStar_Util.fold_map - (fun env1 -> - fun a_decl -> + (fun env1 -> + fun a_decl -> let uu____722 = let uu____729 = FStar_ToSyntax_Interleave.prefix_with_interface_decls - a_decl in + a_decl + in FStar_All.pipe_left (with_dsenv_of_tcenv env1) - uu____729 in + uu____729 + in match uu____722 with - | (decls, env2) -> (env2, decls)) env ast_decls in + | (decls,env2) -> (env2, decls)) env ast_decls + in (match uu____704 with - | (env1, ast_decls_l) -> + | (env1,ast_decls_l) -> let uu____779 = let uu____784 = FStar_ToSyntax_ToSyntax.decls_to_sigelts - (FStar_List.flatten ast_decls_l) in + (FStar_List.flatten ast_decls_l) + in FStar_All.pipe_left (with_dsenv_of_tcenv env1) - uu____784 in + uu____784 + in (match uu____779 with - | (sigelts, env2) -> + | (sigelts,env2) -> let uu____804 = let uu____813 = FStar_Syntax_DsEnv.syntax_only - env2.FStar_TypeChecker_Env.dsenv in + env2.FStar_TypeChecker_Env.dsenv + in if uu____813 then (modul, [], env2) else FStar_TypeChecker_Tc.tc_more_partial_modul - env2 modul sigelts in + env2 modul sigelts + in (match uu____804 with - | (modul1, uu____835, env3) -> + | (modul1,uu____835,env3) -> ((FStar_Pervasives_Native.Some modul1), env3))))) + let (load_interface_decls : FStar_TypeChecker_Env.env -> Prims.string -> FStar_TypeChecker_Env.env_t) = - fun env -> - fun interface_file_name -> + fun env -> + fun interface_file_name -> let r = FStar_Parser_ParseIt.parse - (FStar_Parser_ParseIt.Filename interface_file_name) in + (FStar_Parser_ParseIt.Filename interface_file_name) + in match r with | FStar_Parser_ParseIt.ASTFragment - (FStar_Util.Inl (FStar_Parser_AST.Interface (l, decls, uu____859)), - uu____860) + (FStar_Util.Inl (FStar_Parser_AST.Interface + (l,decls,uu____859)),uu____860) -> let uu____883 = let uu____888 = - FStar_ToSyntax_Interleave.initialize_interface l decls in - FStar_All.pipe_left (with_dsenv_of_tcenv env) uu____888 in + FStar_ToSyntax_Interleave.initialize_interface l decls in + FStar_All.pipe_left (with_dsenv_of_tcenv env) uu____888 in FStar_Pervasives_Native.snd uu____883 | FStar_Parser_ParseIt.ASTFragment uu____900 -> let uu____912 = let uu____918 = FStar_Util.format1 "Unexpected result from parsing %s; expected a single interface" - interface_file_name in - (FStar_Errors.Fatal_ParseErrors, uu____918) in + interface_file_name + in + (FStar_Errors.Fatal_ParseErrors, uu____918) in FStar_Errors.raise_err uu____912 - | FStar_Parser_ParseIt.ParseError (err, msg, rng) -> + | FStar_Parser_ParseIt.ParseError (err,msg,rng) -> FStar_Exn.raise (FStar_Errors.Error (err, msg, rng)) | FStar_Parser_ParseIt.Term uu____928 -> failwith "Impossible: parsing a Toplevel always results in an ASTFragment" + let (emit : FStar_Extraction_ML_Syntax.mllib Prims.list -> unit) = - fun mllibs -> - let opt = FStar_Options.codegen () in + fun mllibs -> + let opt = FStar_Options.codegen () in if opt <> FStar_Pervasives_Native.None then let ext = match opt with - | FStar_Pervasives_Native.Some (FStar_Options.FSharp) -> ".fs" - | FStar_Pervasives_Native.Some (FStar_Options.OCaml) -> ".ml" - | FStar_Pervasives_Native.Some (FStar_Options.Plugin) -> ".ml" - | FStar_Pervasives_Native.Some (FStar_Options.Kremlin) -> ".krml" - | uu____953 -> failwith "Unrecognized option" in + | FStar_Pervasives_Native.Some (FStar_Options.FSharp ) -> ".fs" + | FStar_Pervasives_Native.Some (FStar_Options.OCaml ) -> ".ml" + | FStar_Pervasives_Native.Some (FStar_Options.Plugin ) -> ".ml" + | FStar_Pervasives_Native.Some (FStar_Options.Kremlin ) -> ".krml" + | uu____953 -> failwith "Unrecognized option" in match opt with - | FStar_Pervasives_Native.Some (FStar_Options.FSharp) -> - let outdir = FStar_Options.output_dir () in + | FStar_Pervasives_Native.Some (FStar_Options.FSharp ) -> + let outdir = FStar_Options.output_dir () in FStar_List.iter (FStar_Extraction_ML_PrintML.print outdir ext) mllibs - | FStar_Pervasives_Native.Some (FStar_Options.OCaml) -> - let outdir = FStar_Options.output_dir () in + | FStar_Pervasives_Native.Some (FStar_Options.OCaml ) -> + let outdir = FStar_Options.output_dir () in FStar_List.iter (FStar_Extraction_ML_PrintML.print outdir ext) mllibs - | FStar_Pervasives_Native.Some (FStar_Options.Plugin) -> - let outdir = FStar_Options.output_dir () in + | FStar_Pervasives_Native.Some (FStar_Options.Plugin ) -> + let outdir = FStar_Options.output_dir () in FStar_List.iter (FStar_Extraction_ML_PrintML.print outdir ext) mllibs - | FStar_Pervasives_Native.Some (FStar_Options.Kremlin) -> + | FStar_Pervasives_Native.Some (FStar_Options.Kremlin ) -> let programs = - FStar_List.collect FStar_Extraction_Kremlin.translate mllibs in - let bin = (FStar_Extraction_Kremlin.current_version, programs) in + FStar_List.collect FStar_Extraction_Kremlin.translate mllibs in + let bin = (FStar_Extraction_Kremlin.current_version, programs) in (match programs with - | (name, uu____978)::[] -> + | (name,uu____978)::[] -> let uu____981 = - FStar_Options.prepend_output_dir (Prims.op_Hat name ext) in + FStar_Options.prepend_output_dir (Prims.op_Hat name ext) in FStar_Util.save_value_to_file uu____981 bin | uu____983 -> - let uu____986 = FStar_Options.prepend_output_dir "out.krml" in + let uu____986 = FStar_Options.prepend_output_dir "out.krml" + in FStar_Util.save_value_to_file uu____986 bin) | uu____989 -> failwith "Unrecognized option" else () + let (tc_one_file : uenv -> Prims.string FStar_Pervasives_Native.option -> @@ -822,65 +859,73 @@ let (tc_one_file : (FStar_CheckedFiles.tc_result * FStar_Extraction_ML_Syntax.mllib FStar_Pervasives_Native.option * uenv)) = - fun env -> - fun pre_fn -> - fun fn -> - fun parsing_data -> + fun env -> + fun pre_fn -> + fun fn -> + fun parsing_data -> FStar_Ident.reset_gensym (); (let maybe_restore_opts uu____1046 = let uu____1047 = - let uu____1049 = FStar_Options.interactive () in - Prims.op_Negation uu____1049 in + let uu____1049 = FStar_Options.interactive () in + Prims.op_Negation uu____1049 in if uu____1047 then - let uu____1052 = FStar_Options.restore_cmd_line_options true in - FStar_All.pipe_right uu____1052 (fun a1 -> ()) - else () in - let post_smt_encoding uu____1061 = FStar_SMTEncoding_Z3.refresh () in + let uu____1052 = FStar_Options.restore_cmd_line_options true + in + FStar_All.pipe_right uu____1052 (fun a1 -> ()) + else () in + let post_smt_encoding uu____1061 = FStar_SMTEncoding_Z3.refresh () + in let maybe_extract_mldefs tcmod env1 = let uu____1080 = - (let uu____1084 = FStar_Options.codegen () in + (let uu____1084 = FStar_Options.codegen () in uu____1084 = FStar_Pervasives_Native.None) || (let uu____1090 = FStar_Options.should_extract - (tcmod.FStar_Syntax_Syntax.name).FStar_Ident.str in - Prims.op_Negation uu____1090) in + (tcmod.FStar_Syntax_Syntax.name).FStar_Ident.str + in + Prims.op_Negation uu____1090) + in if uu____1080 then (FStar_Pervasives_Native.None, (Prims.parse_int "0")) else FStar_Util.record_time - (fun uu____1112 -> + (fun uu____1112 -> let uu____1113 = - FStar_Extraction_ML_Modul.extract env1 tcmod in - match uu____1113 with | (uu____1122, defs) -> defs) in + FStar_Extraction_ML_Modul.extract env1 tcmod in + match uu____1113 with | (uu____1122,defs) -> defs) + in let maybe_extract_ml_iface tcmod env1 = let uu____1144 = - let uu____1146 = FStar_Options.codegen () in - uu____1146 = FStar_Pervasives_Native.None in + let uu____1146 = FStar_Options.codegen () in + uu____1146 = FStar_Pervasives_Native.None in if uu____1144 then (env1, (Prims.parse_int "0")) else (let uu____1161 = FStar_Util.record_time - (fun uu____1176 -> - FStar_Extraction_ML_Modul.extract_iface env1 tcmod) in + (fun uu____1176 -> + FStar_Extraction_ML_Modul.extract_iface env1 tcmod) + in match uu____1161 with - | ((env2, _extracted_iface), iface_extract_time) -> - (env2, iface_extract_time)) in + | ((env2,_extracted_iface),iface_extract_time) -> + (env2, iface_extract_time)) + in let tc_source_file uu____1205 = - let uu____1206 = parse env pre_fn fn in + let uu____1206 = parse env pre_fn fn in match uu____1206 with - | (fmod, env1) -> + | (fmod,env1) -> let mii = FStar_Syntax_DsEnv.inclusion_info (env1.FStar_Extraction_ML_UEnv.env_tcenv).FStar_TypeChecker_Env.dsenv - fmod.FStar_Syntax_Syntax.name in + fmod.FStar_Syntax_Syntax.name + in let check_mod uu____1235 = let uu____1236 = FStar_Util.record_time - (fun uu____1271 -> + (fun uu____1271 -> with_tcenv_of_env env1 - (fun tcenv -> + (fun tcenv -> (match tcenv.FStar_TypeChecker_Env.gamma with | [] -> () | uu____1291 -> @@ -888,33 +933,37 @@ let (tc_one_file : "Impossible: gamma contains leaked names"); (let uu____1295 = FStar_TypeChecker_Tc.check_module tcenv - fmod (FStar_Util.is_some pre_fn) in + fmod (FStar_Util.is_some pre_fn) + in match uu____1295 with - | (modul, env2) -> + | (modul,env2) -> (maybe_restore_opts (); (let smt_decls = let uu____1325 = let uu____1327 = - FStar_Options.lax () in - Prims.op_Negation uu____1327 in + FStar_Options.lax () in + Prims.op_Negation uu____1327 in if uu____1325 then let smt_decls = FStar_SMTEncoding_Encode.encode_modul - env2 modul in + env2 modul + in (post_smt_encoding (); smt_decls) - else ([], []) in - ((modul, smt_decls), env2)))))) in + else ([], []) in + ((modul, smt_decls), env2)))))) + in match uu____1236 with - | (((tcmod, smt_decls), env2), tc_time) -> + | (((tcmod,smt_decls),env2),tc_time) -> let uu____1414 = - with_env env2 (maybe_extract_mldefs tcmod) in + with_env env2 (maybe_extract_mldefs tcmod) in (match uu____1414 with - | (extracted_defs, extract_time) -> + | (extracted_defs,extract_time) -> let uu____1445 = - with_env env2 (maybe_extract_ml_iface tcmod) in + with_env env2 (maybe_extract_ml_iface tcmod) + in (match uu____1445 with - | (env3, iface_extraction_time) -> + | (env3,iface_extraction_time) -> ({ FStar_CheckedFiles.checked_module = tcmod; FStar_CheckedFiles.mii = mii; @@ -922,65 +971,76 @@ let (tc_one_file : FStar_CheckedFiles.tc_time = tc_time; FStar_CheckedFiles.extraction_time = (extract_time + iface_extraction_time) - }, extracted_defs, env3))) in + }, extracted_defs, env3))) + in let uu____1470 = (FStar_Options.should_verify (fmod.FStar_Syntax_Syntax.name).FStar_Ident.str) && ((FStar_Options.record_hints ()) || - (FStar_Options.use_hints ())) in + (FStar_Options.use_hints ())) + in if uu____1470 then - let uu____1481 = FStar_Parser_ParseIt.find_file fn in + let uu____1481 = FStar_Parser_ParseIt.find_file fn in FStar_SMTEncoding_Solver.with_hints_db uu____1481 check_mod - else check_mod () in + else check_mod () + in let uu____1493 = - let uu____1495 = FStar_Options.cache_off () in - Prims.op_Negation uu____1495 in + let uu____1495 = FStar_Options.cache_off () in + Prims.op_Negation uu____1495 in if uu____1493 then let uu____1506 = - FStar_CheckedFiles.load_module_from_cache env fn in + FStar_CheckedFiles.load_module_from_cache env fn in match uu____1506 with - | FStar_Pervasives_Native.None -> + | FStar_Pervasives_Native.None -> ((let uu____1518 = - let uu____1520 = FStar_Parser_Dep.module_name_of_file fn in - FStar_Options.should_be_already_cached uu____1520 in + let uu____1520 = FStar_Parser_Dep.module_name_of_file fn + in + FStar_Options.should_be_already_cached uu____1520 in if uu____1518 then let uu____1523 = let uu____1529 = FStar_Util.format1 - "Expected %s to already be checked" fn in + "Expected %s to already be checked" fn + in (FStar_Errors.Error_AlreadyCachedAssertionFailure, - uu____1529) in + uu____1529) + in FStar_Errors.raise_err uu____1523 else ()); (let uu____1536 = - (let uu____1540 = FStar_Options.codegen () in + (let uu____1540 = FStar_Options.codegen () in FStar_Option.isSome uu____1540) && - (FStar_Options.cmi ()) in + (FStar_Options.cmi ()) + in if uu____1536 then let uu____1544 = let uu____1550 = FStar_Util.format1 "Cross-module inlining expects all modules to be checked first; %s was not checked" - fn in + fn + in (FStar_Errors.Error_AlreadyCachedAssertionFailure, - uu____1550) in + uu____1550) + in FStar_Errors.raise_err uu____1544 else ()); - (let uu____1556 = tc_source_file () in + (let uu____1556 = tc_source_file () in match uu____1556 with - | (tc_result, mllib, env1) -> + | (tc_result,mllib,env1) -> ((let uu____1581 = - (let uu____1585 = FStar_Errors.get_err_count () in + (let uu____1585 = FStar_Errors.get_err_count () + in uu____1585 = (Prims.parse_int "0")) && ((FStar_Options.lax ()) || (FStar_Options.should_verify - ((tc_result.FStar_CheckedFiles.checked_module).FStar_Syntax_Syntax.name).FStar_Ident.str)) in + ((tc_result.FStar_CheckedFiles.checked_module).FStar_Syntax_Syntax.name).FStar_Ident.str)) + in if uu____1581 then FStar_CheckedFiles.store_module_to_cache env1 fn @@ -988,15 +1048,16 @@ let (tc_one_file : else ()); (tc_result, mllib, env1)))) | FStar_Pervasives_Native.Some tc_result -> - let tcmod = tc_result.FStar_CheckedFiles.checked_module in - let smt_decls = tc_result.FStar_CheckedFiles.smt_decls in + let tcmod = tc_result.FStar_CheckedFiles.checked_module in + let smt_decls = tc_result.FStar_CheckedFiles.smt_decls in ((let uu____1604 = FStar_Options.dump_module - (tcmod.FStar_Syntax_Syntax.name).FStar_Ident.str in + (tcmod.FStar_Syntax_Syntax.name).FStar_Ident.str + in if uu____1604 then let uu____1607 = - FStar_Syntax_Print.modul_to_string tcmod in + FStar_Syntax_Print.modul_to_string tcmod in FStar_Util.print1 "Module after type checking:\n%s\n" uu____1607 else ()); @@ -1005,18 +1066,21 @@ let (tc_one_file : let uu____1632 = FStar_ToSyntax_ToSyntax.add_modul_to_env tcmod1 tc_result.FStar_CheckedFiles.mii - (FStar_TypeChecker_Normalize.erase_universes tcenv) in + (FStar_TypeChecker_Normalize.erase_universes tcenv) + in FStar_All.pipe_left (with_dsenv_of_tcenv tcenv) - uu____1632 in + uu____1632 + in match uu____1627 with - | (uu____1648, tcenv1) -> + | (uu____1648,tcenv1) -> let env1 = FStar_TypeChecker_Tc.load_checked_module tcenv1 - tcmod1 in + tcmod1 + in (maybe_restore_opts (); (let uu____1653 = - let uu____1655 = FStar_Options.lax () in - Prims.op_Negation uu____1655 in + let uu____1655 = FStar_Options.lax () in + Prims.op_Negation uu____1655 in if uu____1653 then (FStar_SMTEncoding_Encode.encode_modul_from_cache @@ -1024,21 +1088,23 @@ let (tc_one_file : smt_decls; post_smt_encoding ()) else ()); - ((), env1)) in + ((), env1)) + in let env1 = FStar_Options.profile - (fun uu____1664 -> + (fun uu____1664 -> let uu____1665 = - with_tcenv_of_env env (extend_tcenv tcmod) in + with_tcenv_of_env env (extend_tcenv tcmod) in FStar_All.pipe_right uu____1665 FStar_Pervasives_Native.snd) - (fun uu____1675 -> + (fun uu____1675 -> FStar_Util.format1 "Extending environment with module %s" - (tcmod.FStar_Syntax_Syntax.name).FStar_Ident.str) in + (tcmod.FStar_Syntax_Syntax.name).FStar_Ident.str) + in let mllib = let uu____1680 = - ((let uu____1684 = FStar_Options.codegen () in + ((let uu____1684 = FStar_Options.codegen () in uu____1684 <> FStar_Pervasives_Native.None) && (FStar_Options.should_extract (tcmod.FStar_Syntax_Syntax.name).FStar_Ident.str)) @@ -1046,27 +1112,30 @@ let (tc_one_file : ((Prims.op_Negation tcmod.FStar_Syntax_Syntax.is_interface) || - (let uu____1690 = FStar_Options.codegen () in + (let uu____1690 = FStar_Options.codegen () in uu____1690 = (FStar_Pervasives_Native.Some - FStar_Options.Kremlin))) in + FStar_Options.Kremlin))) + in if uu____1680 then with_env env1 - (fun env2 -> - let uu____1705 = maybe_extract_mldefs tcmod env2 in + (fun env2 -> + let uu____1705 = maybe_extract_mldefs tcmod env2 + in match uu____1705 with - | (extracted_defs, _extraction_time) -> + | (extracted_defs,_extraction_time) -> extracted_defs) - else FStar_Pervasives_Native.None in + else FStar_Pervasives_Native.None in let uu____1725 = - with_env env1 (maybe_extract_ml_iface tcmod) in + with_env env1 (maybe_extract_ml_iface tcmod) in match uu____1725 with - | (env2, _time) -> (tc_result, mllib, env2))) + | (env2,_time) -> (tc_result, mllib, env2))) else - (let uu____1752 = tc_source_file () in + (let uu____1752 = tc_source_file () in match uu____1752 with - | (tc_result, mllib, env1) -> (tc_result, mllib, env1))) + | (tc_result,mllib,env1) -> (tc_result, mllib, env1))) + let (tc_one_file_for_ide : FStar_TypeChecker_Env.env_t -> Prims.string FStar_Pervasives_Native.option -> @@ -1074,26 +1143,28 @@ let (tc_one_file_for_ide : FStar_Parser_Dep.parsing_data -> (FStar_CheckedFiles.tc_result * FStar_TypeChecker_Env.env_t)) = - fun env -> - fun pre_fn -> - fun fn -> - fun parsing_data -> - let env1 = env_of_tcenv env in - let uu____1816 = tc_one_file env1 pre_fn fn parsing_data in + fun env -> + fun pre_fn -> + fun fn -> + fun parsing_data -> + let env1 = env_of_tcenv env in + let uu____1816 = tc_one_file env1 pre_fn fn parsing_data in match uu____1816 with - | (tc_result, uu____1830, env2) -> + | (tc_result,uu____1830,env2) -> (tc_result, (env2.FStar_Extraction_ML_UEnv.env_tcenv)) + let (needs_interleaving : Prims.string -> Prims.string -> Prims.bool) = - fun intf -> - fun impl -> - let m1 = FStar_Parser_Dep.lowercase_module_name intf in - let m2 = FStar_Parser_Dep.lowercase_module_name impl in + fun intf -> + fun impl -> + let m1 = FStar_Parser_Dep.lowercase_module_name intf in + let m2 = FStar_Parser_Dep.lowercase_module_name impl in ((m1 = m2) && - (let uu____1858 = FStar_Util.get_file_extension intf in + (let uu____1858 = FStar_Util.get_file_extension intf in FStar_List.mem uu____1858 ["fsti"; "fsi"])) && - (let uu____1867 = FStar_Util.get_file_extension impl in + (let uu____1867 = FStar_Util.get_file_extension impl in FStar_List.mem uu____1867 ["fst"; "fs"]) + let (tc_one_file_from_remaining : Prims.string Prims.list -> uenv -> @@ -1102,33 +1173,37 @@ let (tc_one_file_from_remaining : FStar_Extraction_ML_Syntax.mllib FStar_Pervasives_Native.option * uenv)) = - fun remaining -> - fun env -> - fun deps -> + fun remaining -> + fun env -> + fun deps -> let uu____1912 = match remaining with | intf::impl::remaining1 when needs_interleaving intf impl -> let uu____1957 = let uu____1966 = FStar_All.pipe_right impl - (FStar_Parser_Dep.parsing_data_of deps) in + (FStar_Parser_Dep.parsing_data_of deps) + in tc_one_file env (FStar_Pervasives_Native.Some intf) impl - uu____1966 in + uu____1966 + in (match uu____1957 with - | (m, mllib, env1) -> (remaining1, ([m], mllib, env1))) + | (m,mllib,env1) -> (remaining1, ([m], mllib, env1))) | intf_or_impl::remaining1 -> let uu____2017 = let uu____2026 = FStar_All.pipe_right intf_or_impl - (FStar_Parser_Dep.parsing_data_of deps) in + (FStar_Parser_Dep.parsing_data_of deps) + in tc_one_file env FStar_Pervasives_Native.None intf_or_impl - uu____2026 in + uu____2026 + in (match uu____2017 with - | (m, mllib, env1) -> (remaining1, ([m], mllib, env1))) - | [] -> ([], ([], FStar_Pervasives_Native.None, env)) in + | (m,mllib,env1) -> (remaining1, ([m], mllib, env1))) + | [] -> ([], ([], FStar_Pervasives_Native.None, env)) in match uu____1912 with - | (remaining1, (nmods, mllib, env1)) -> - (remaining1, nmods, mllib, env1) + | (remaining1,(nmods,mllib,env1)) -> (remaining1, nmods, mllib, env1) + let rec (tc_fold_interleave : FStar_Parser_Dep.deps -> (FStar_CheckedFiles.tc_result Prims.list * @@ -1137,35 +1212,36 @@ let rec (tc_fold_interleave : (FStar_CheckedFiles.tc_result Prims.list * FStar_Extraction_ML_Syntax.mllib Prims.list * uenv)) = - fun deps -> - fun acc -> - fun remaining -> + fun deps -> + fun acc -> + fun remaining -> let as_list uu___0_2200 = match uu___0_2200 with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some l -> [l] in + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some l -> [l] in match remaining with | [] -> acc | uu____2217 -> - let uu____2221 = acc in + let uu____2221 = acc in (match uu____2221 with - | (mods, mllibs, env) -> + | (mods,mllibs,env) -> let uu____2253 = - tc_one_file_from_remaining remaining env deps in + tc_one_file_from_remaining remaining env deps in (match uu____2253 with - | (remaining1, nmods, mllib, env1) -> + | (remaining1,nmods,mllib,env1) -> tc_fold_interleave deps ((FStar_List.append mods nmods), (FStar_List.append mllibs (as_list mllib)), env1) remaining1)) + let (batch_mode_tc : Prims.string Prims.list -> FStar_Parser_Dep.deps -> (FStar_CheckedFiles.tc_result Prims.list * uenv * (uenv -> uenv))) = - fun filenames -> - fun dep_graph1 -> - (let uu____2330 = FStar_Options.debug_any () in + fun filenames -> + fun dep_graph1 -> + (let uu____2330 = FStar_Options.debug_any () in if uu____2330 then (FStar_Util.print_endline "Auto-deps kicked in; here's some info."; @@ -1175,26 +1251,30 @@ let (batch_mode_tc : (let uu____2338 = let uu____2340 = FStar_All.pipe_right filenames - (FStar_List.filter FStar_Options.should_verify_file) in - FStar_String.concat " " uu____2340 in + (FStar_List.filter FStar_Options.should_verify_file) + in + FStar_String.concat " " uu____2340 in FStar_Util.print1 "Here's the list of modules we will verify: %s\n" uu____2338)) else ()); (let env = - let uu____2356 = init_env dep_graph1 in - FStar_Extraction_ML_UEnv.mkContext uu____2356 in - let uu____2357 = tc_fold_interleave dep_graph1 ([], [], env) filenames in + let uu____2356 = init_env dep_graph1 in + FStar_Extraction_ML_UEnv.mkContext uu____2356 in + let uu____2357 = tc_fold_interleave dep_graph1 ([], [], env) filenames + in match uu____2357 with - | (all_mods, mllibs, env1) -> + | (all_mods,mllibs,env1) -> (emit mllibs; (let solver_refresh env2 = let uu____2401 = with_tcenv_of_env env2 - (fun tcenv -> + (fun tcenv -> (let uu____2410 = (FStar_Options.interactive ()) && - (let uu____2413 = FStar_Errors.get_err_count () in - uu____2413 = (Prims.parse_int "0")) in + (let uu____2413 = FStar_Errors.get_err_count () + in + uu____2413 = (Prims.parse_int "0")) + in if uu____2410 then (tcenv.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.refresh @@ -1202,6 +1282,8 @@ let (batch_mode_tc : else (tcenv.FStar_TypeChecker_Env.solver).FStar_TypeChecker_Env.finish ()); - ((), tcenv)) in - FStar_All.pipe_left FStar_Pervasives_Native.snd uu____2401 in - (all_mods, env1, solver_refresh)))) \ No newline at end of file + ((), tcenv)) + in + FStar_All.pipe_left FStar_Pervasives_Native.snd uu____2401 in + (all_mods, env1, solver_refresh)))) + \ No newline at end of file diff --git a/src/ocaml-output/Makefile b/src/ocaml-output/Makefile index 18c32973009..1c9697fa0f8 100644 --- a/src/ocaml-output/Makefile +++ b/src/ocaml-output/Makefile @@ -105,6 +105,7 @@ install-compiler-lib: $(FSTAR_MAIN_NATIVE) @# in order to avoid inconsistent assumption errors between fstartaclib and compiler-lib $(FIND) ../../ulib/tactics_ml \( -name '*.cmi' -or -name '*.cmx' \) -exec rm {} \; $(FIND) . \( -name '*.cmi' -or -name '*.cmx' \) -exec cp {} ../../bin/fstar-compiler-lib/ \; + sed "s/__FSTAR_VERSION__/$$(cat ../../version.txt)/" <../../ulib/ml/fstar-compiler-lib-META >../../bin/fstar-compiler-lib/META touch $@ FStar_Parser_Parse.ml: parse.mly @@ -226,15 +227,9 @@ endif Z3_DIR=$(shell dirname $$(which $(Z3_NAME))) Z3_LICENSE=$(shell dirname $(Z3_DIR))/LICENSE.txt -.PHONY: ulib -ulib: - make -C ../../ulib install-fstarlib - make -C ../../ulib install-fstar-tactics - # Create a zip / tar.gz package of FStar that contains a Z3 binary and # proper license files. package: all - $(MAKE) ulib @# Clean previous packages. rm -f $(NAME).zip $(NAME).tar.gz if [ -d "$(PREFIX)" ]; then rm -dfr fstar; fi @@ -243,13 +238,14 @@ package: all $(INSTALL_EXEC) -m 755 $(FSTAR_MAIN_NATIVE) $(PREFIX)/bin/fstar.exe @# Then the standard library. $(call fexport,ulib) + mkdir -p $(PREFIX)/src/ocaml-output/ + cp ../../src/ocaml-output/FStar_Pervasives.ml $(PREFIX)/src/ocaml-output/ + cp ../../version.txt $(PREFIX)/ + cp ../../_tags $(PREFIX)/ @# Then the rest of the static files. $(call fexport,examples) $(call fexport,ucontrib) $(call fexport,doc/tutorial) - $(call fexport-all,bin/fstarlib) - $(call fexport-all,bin/fstar-compiler-lib) - $(call fexport-all,bin/fstar-tactics-lib) ifeq ($(MADOKO),Madoko) @# Build the tutorial diff --git a/src/parser/FStar.Parser.AST.fs b/src/parser/FStar.Parser.AST.fs index 58c17340ada..29712f03a5b 100644 --- a/src/parser/FStar.Parser.AST.fs +++ b/src/parser/FStar.Parser.AST.fs @@ -192,6 +192,7 @@ type pragma = | ResetOptions of option | PushOptions of option | PopOptions + | RestartSolver | LightOff type decl' = diff --git a/src/parser/FStar.Parser.Dep.fs b/src/parser/FStar.Parser.Dep.fs index 8aa392a6f25..e44a678520e 100644 --- a/src/parser/FStar.Parser.Dep.fs +++ b/src/parser/FStar.Parser.Dep.fs @@ -22,20 +22,18 @@ (not module names). *) module FStar.Parser.Dep -open FStar.ST -open FStar.Exn -open FStar.All + +open FStar.ST //for ref +open FStar.All //for failwith open FStar open FStar.Parser open FStar.Parser.AST -open FStar.Parser.Parse open FStar.Util open FStar.Const open FStar.String open FStar.Ident open FStar.Errors -open FStar.Parser module Const = FStar.Parser.Const module BU = FStar.Util @@ -129,19 +127,56 @@ type dependence_graph = //maps file names to the modules it depends on (* * AR: Parsing data for a file (also cached in the checked files) - * It is exactly same as what collect_one function below returns + * It is a summary of opens, includes, A., etc. in a module + * Earlier we used to store the dependences in the checked file, + * however that is an image of the file system, and so, when the checked + * files were used in a slightly different file system, there were strange errors + * see e.g. #1657 for a couple of cases + * Now we store the following summary and construct the dependences from the current + * file system *) -type parsing_data = { - direct_deps : list; //direct dependences of the file - additional_roots : list; //additional "roots" that should be scanned - //i.e. implementations of interfaces in the first list - has_inline_for_extraction: bool; //if it is an interface that contains an `inline_for_extraction` -} -let empty_parsing_data = { - direct_deps = []; - additional_roots = []; - has_inline_for_extraction = false -} +type parsing_data_elt = + | P_begin_module of lident //begin_module + | P_open of bool * lident //record_open + | P_open_module_or_namespace of (open_kind * lid) //record_open_module_or_namespace + | P_dep of bool * lident //add_dep_on_module + | P_alias of ident * lident //record_module_alias + | P_lid of lident //record_lid + | P_inline_for_extraction + +type parsing_data = + | Mk_pd of list + +let str_of_parsing_data_elt elt = + let str_of_open_kind = function + | Open_module -> "P_open_module" + | Open_namespace -> "P_open_namespace" + in + match elt with + | P_begin_module lid -> "P_begin_module (" ^ (text_of_lid lid) ^ ")" + | P_open (b, lid) -> "P_open (" ^ (string_of_bool b) ^ ", " ^ (text_of_lid lid) ^ ")" + | P_open_module_or_namespace (k, lid) -> "P_open_module_or_namespace (" ^ (str_of_open_kind k) ^ ", " ^ (text_of_lid lid) ^ ")" + | P_dep (b, lid) -> "P_dep (" ^ (text_of_lid lid) ^ ", " ^ (string_of_bool b) ^ ")" + | P_alias (id, lid) -> "P_alias (" ^ (text_of_id id) ^ ", " ^ (text_of_lid lid) ^ ")" + | P_lid lid -> "P_lid (" ^ (text_of_lid lid) ^ ")" + | P_inline_for_extraction -> "P_inline_for_extraction" + +let str_of_parsing_data = function + | Mk_pd l -> + l |> List.fold_left (fun s elt -> s ^ "; " ^ (elt |> str_of_parsing_data_elt)) "" + +let parsing_data_elt_eq (e1:parsing_data_elt) (e2:parsing_data_elt) = + match e1, e2 with + | P_begin_module l1, P_begin_module l2 -> lid_equals l1 l2 + | P_open (b1, l1), P_open (b2, l2) -> b1 = b2 && lid_equals l1 l2 + | P_open_module_or_namespace (k1, l1), P_open_module_or_namespace (k2, l2) -> k1 = k2 && lid_equals l1 l2 + | P_dep (b1, l1), P_dep (b2, l2) -> b1 = b2 && lid_equals l1 l2 + | P_alias (i1, l1), P_alias (i2, l2) -> text_of_id i1 = text_of_id i2 && lid_equals l1 l2 + | P_lid l1, P_lid l2 -> lid_equals l1 l2 + | P_inline_for_extraction, P_inline_for_extraction -> true + | _, _ -> false + +let empty_parsing_data = Mk_pd [] type deps = { dep_graph:dependence_graph; //dependences of the entire project, not just those reachable from the command line @@ -401,7 +436,7 @@ let build_map (filenames: list): files_for_module_name = let enter_namespace (original_map: files_for_module_name) (working_map: files_for_module_name) (prefix: string): bool = let found = BU.mk_ref false in let prefix = prefix ^ "." in - List.iter (fun k -> + smap_iter original_map (fun k _ -> if Util.starts_with k prefix then let suffix = String.substring k (String.length prefix) (String.length k - String.length prefix) @@ -409,7 +444,7 @@ let enter_namespace (original_map: files_for_module_name) (working_map: files_fo let filename = must (smap_try_find original_map k) in smap_add working_map suffix filename; found := true - ) (List.unique (smap_keys original_map)); + ); !found @@ -467,156 +502,222 @@ let dep_subsumed_by d d' = * Else parse the file, walk its AST, return a list of FStar lowercased module names it depends on *) + let collect_one (original_map: files_for_module_name) (filename: string) (get_parsing_data_from_cache:string -> option) - : parsing_data + : parsing_data * + list * //direct dependence + bool * //has_inline_for_extraction + list //additional roots + //that used to be part of parsing_data earlier + //removing it from the cache (#1657) + //this always returns a single element, remove the list? = + (* + * Construct dependences from the parsing data + * This is common function for when the parsing data is read from the checked files + * or constructed after AST traversal of the module + *) + let from_parsing_data (pd:parsing_data) (original_map:files_for_module_name) (filename:string) + : list * + bool * + list + = let deps : ref<(list)> = BU.mk_ref [] in + let has_inline_for_extraction = BU.mk_ref false in + + let mo_roots = + let mname = lowercase_module_name filename in + if is_interface filename + && has_implementation original_map mname + then [ UseImplementation mname ] + else [] + in + + let auto_open = hard_coded_dependencies filename |> List.map (fun (lid, k) -> + P_open_module_or_namespace (k, lid)) + in + + let working_map = smap_copy original_map in + + let set_interface_inlining () = + if is_interface filename + then has_inline_for_extraction := true + in + + let add_dep deps d = + if not (List.existsML (dep_subsumed_by d) !deps) then + deps := d :: !deps + in + + let dep_edge module_name is_friend = + if is_friend then FriendImplementation module_name + else PreferInterface module_name + in + + let add_dependence_edge original_or_working_map lid is_friend = + let key = lowercase_join_longident lid true in + match resolve_module_name original_or_working_map key with + | Some module_name -> + add_dep deps (dep_edge module_name is_friend); + true + | _ -> + false + in + + let record_open_module let_open lid = + //use the original_map here + //since the working_map will resolve lid while accounting + //for already opened namespaces + //if let_open, then this is the form `UInt64.( ... )` + // where UInt64 can resolve to FStar.UInt64 + // So, use the working map, accounting for opened namespaces + //Otherwise, this is the form `open UInt64`, + // where UInt64 must resolve to either + // a module or a namespace for F# compatibility + // So, use the original map, disregarding opened namespaces + if (let_open && add_dependence_edge working_map lid false) + || (not let_open && add_dependence_edge original_map lid false) + then true + else begin + if let_open then + FStar.Errors.log_issue (range_of_lid lid) + (Errors.Warning_ModuleOrFileNotFoundWarning, (Util.format1 "Module not found: %s" (string_of_lid lid true))); + false + end + in + + let record_open_namespace lid = + let key = lowercase_join_longident lid true in + let r = enter_namespace original_map working_map key in + if not r then + FStar.Errors.log_issue (range_of_lid lid) + (Errors.Warning_ModuleOrFileNotFoundWarning, (Util.format1 "No modules in namespace %s and no file with \ + that name either" (string_of_lid lid true))) + in + + let record_open let_open lid = + if record_open_module let_open lid + then () + else if not let_open //syntactically, this cannot be a namespace if let_open is true; so don't retry + then record_open_namespace lid + in + + let record_open_module_or_namespace (lid, kind) = + match kind with + | Open_namespace -> record_open_namespace lid + | Open_module -> let _ = record_open_module false lid in () + in + + let record_module_alias ident lid = + let key = String.lowercase (text_of_id ident) in + let alias = lowercase_join_longident lid true in + // Only fully qualified module aliases are allowed. + match smap_try_find original_map alias with + | Some deps_of_aliased_module -> + smap_add working_map key deps_of_aliased_module; + add_dep deps (dep_edge (lowercase_join_longident lid true) false); + true + | None -> + FStar.Errors.log_issue (range_of_lid lid) + (Errors.Warning_ModuleOrFileNotFoundWarning, (Util.format1 "module not found in search path: %s\n" alias)); + false + in + + let add_dep_on_module (module_name : lid) (is_friend : bool) = + if add_dependence_edge working_map module_name is_friend + then () + else if Options.debug_any () then + FStar.Errors.log_issue (range_of_lid module_name) + (Errors.Warning_UnboundModuleReference, (BU.format1 "Unbound module reference %s" + (Ident.string_of_lid module_name))) + in + + let record_lid lid = + (* Thanks to the new `?.` and `.(` syntaxes, `lid` is no longer a + module name itself, so only its namespace part is to be + recorded as a module dependency. *) + match lid.ns with + | [] -> () + | _ -> + let module_name = Ident.lid_of_ids lid.ns in + add_dep_on_module module_name false + in + + let begin_module lid = + if List.length lid.ns > 0 then + ignore (enter_namespace original_map working_map (namespace_of_lid lid)) + in + + (* + * Iterate over the parsing data elements + *) + begin + match pd with + | Mk_pd l -> + (auto_open @ l) |> List.iter (fun elt -> + match elt with + | P_begin_module lid -> begin_module lid + | P_open (b, lid) -> record_open b lid + | P_open_module_or_namespace (k, lid) -> record_open_module_or_namespace (lid, k) + | P_dep (b, lid) -> add_dep_on_module lid b + | P_alias (id, lid) -> ignore (record_module_alias id lid) + | P_lid lid -> record_lid lid + | P_inline_for_extraction -> set_interface_inlining ()) + end; + (* + * And then return the dependences + *) + !deps, + !has_inline_for_extraction, + mo_roots + in + let data_from_cache = filename |> get_parsing_data_from_cache in - if data_from_cache |> is_some then begin - if Options.debug_any () - then BU.print1 "Reading parsing data for %s from its checked file\n" filename; - data_from_cache |> must + + if data_from_cache |> is_some then begin //we found the parsing data in the checked file + if Options.debug_any () then + BU.print1 "Reading the parsing data for %s from its checked file\n" filename; + let deps, has_inline_for_extraction, mo_roots = from_parsing_data (data_from_cache |> must) original_map filename in + data_from_cache |> must, + deps, has_inline_for_extraction, mo_roots end else - let deps : ref<(list)> = BU.mk_ref [] in - let mo_roots : ref<(list)> = BU.mk_ref [] in - let has_inline_for_extraction = BU.mk_ref false in - let set_interface_inlining () = - if is_interface filename - then has_inline_for_extraction := true - in - let add_dep deps d = - if not (List.existsML (dep_subsumed_by d) !deps) then - deps := d :: !deps - in - let working_map = smap_copy original_map in - - let dep_edge module_name = - PreferInterface module_name - in - - let add_dependence_edge original_or_working_map lid = - let key = lowercase_join_longident lid true in - match resolve_module_name original_or_working_map key with - | Some module_name -> - add_dep deps (dep_edge module_name); - if has_interface original_or_working_map module_name - && has_implementation original_or_working_map module_name - then add_dep mo_roots (UseImplementation module_name); - true - | _ -> - false - in - - let record_open_module let_open lid = - //use the original_map here - //since the working_map will resolve lid while accounting - //for already opened namespaces - //if let_open, then this is the form `UInt64.( ... )` - // where UInt64 can resolve to FStar.UInt64 - // So, use the working map, accounting for opened namespaces - //Otherwise, this is the form `open UInt64`, - // where UInt64 must resolve to either - // a module or a namespace for F# compatibility - // So, use the original map, disregarding opened namespaces - if (let_open && add_dependence_edge working_map lid) - || (not let_open && add_dependence_edge original_map lid) - then true - else begin - if let_open then - FStar.Errors.log_issue (range_of_lid lid) - (Errors.Warning_ModuleOrFileNotFoundWarning, (Util.format1 "Module not found: %s" (string_of_lid lid true))); - false - end - in - - let record_open_namespace lid = - let key = lowercase_join_longident lid true in - let r = enter_namespace original_map working_map key in - if not r then - FStar.Errors.log_issue (range_of_lid lid) - (Errors.Warning_ModuleOrFileNotFoundWarning, (Util.format1 "No modules in namespace %s and no file with \ - that name either" (string_of_lid lid true))) - in - - let record_open let_open lid = - if record_open_module let_open lid - then () - else if not let_open //syntactically, this cannot be a namespace if let_open is true; so don't retry - then record_open_namespace lid - in - - let record_open_module_or_namespace (lid, kind) = - match kind with - | Open_namespace -> record_open_namespace lid - | Open_module -> let _ = record_open_module false lid in () - in - - let record_module_alias ident lid = - let key = String.lowercase (text_of_id ident) in - let alias = lowercase_join_longident lid true in - // Only fully qualified module aliases are allowed. - match smap_try_find original_map alias with - | Some deps_of_aliased_module -> - smap_add working_map key deps_of_aliased_module; - true - | None -> - FStar.Errors.log_issue (range_of_lid lid) - (Errors.Warning_ModuleOrFileNotFoundWarning, (Util.format1 "module not found in search path: %s\n" alias)); - false - in + //parse the file and traverse the AST to collect parsing data + let num_of_toplevelmods = BU.mk_ref 0 in + let pd : ref<(list)> = BU.mk_ref [] in - let add_dep_on_module (module_name : lid) = - if add_dependence_edge working_map module_name - then () - else if Options.debug_any () then - FStar.Errors.log_issue (range_of_lid module_name) - (Errors.Warning_UnboundModuleReference, (BU.format1 "Unbound module reference %s" - (Ident.string_of_lid module_name))) - in - let record_lid lid = - (* Thanks to the new `?.` and `.(` syntaxes, `lid` is no longer a - module name itself, so only its namespace part is to be - recorded as a module dependency. *) - match lid.ns with - | [] -> () - | _ -> - let module_name = Ident.lid_of_ids lid.ns in - add_dep_on_module module_name + let add_to_parsing_data elt = + if not (List.existsML (fun e -> parsing_data_elt_eq e elt) !pd) + then pd := elt::!pd in - let auto_open = hard_coded_dependencies filename in - List.iter record_open_module_or_namespace auto_open; - - let num_of_toplevelmods = BU.mk_ref 0 in - let rec collect_module = function | Module (lid, decls) | Interface (lid, decls, _) -> check_module_declaration_against_filename lid filename; - if List.length lid.ns > 0 then - ignore (enter_namespace original_map working_map (namespace_of_lid lid)); + add_to_parsing_data (P_begin_module lid); collect_decls decls and collect_decls decls = List.iter (fun x -> collect_decl x.d; List.iter collect_term x.attrs; - if List.contains Inline_for_extraction x.quals - then set_interface_inlining() + match x.d with + | Val _ when List.contains Inline_for_extraction x.quals -> + add_to_parsing_data P_inline_for_extraction + | _ -> () ) decls and collect_decl d = match d with | Include lid | Open lid -> - record_open false lid + add_to_parsing_data (P_open (false, lid)) | Friend lid -> - add_dep deps (FriendImplementation (lowercase_join_longident lid true)) + add_to_parsing_data (P_dep (true, (lowercase_join_longident lid true |> Ident.lid_of_str))) | ModuleAbbrev (ident, lid) -> - if record_module_alias ident lid - then add_dep deps (dep_edge (lowercase_join_longident lid true)) + add_to_parsing_data (P_alias (ident, lid)) | TopLevelLet (_, patterms) -> List.iter (fun (pat, t) -> collect_pattern pat; collect_term t) patterms | Main t @@ -632,7 +733,7 @@ let collect_one | Tycon (_, tc, ts) -> begin if tc then - record_lid Const.mk_class_lid; + add_to_parsing_data (P_lid Const.mk_class_lid); let ts = List.map (fun (x,docnik) -> x) ts in List.iter collect_tycon ts end @@ -696,11 +797,11 @@ let collect_one | Const_int (_, Some (signedness, width)) -> let u = match signedness with | Unsigned -> "u" | Signed -> "" in let w = match width with | Int8 -> "8" | Int16 -> "16" | Int32 -> "32" | Int64 -> "64" in - add_dep deps (dep_edge (Util.format2 "fstar.%sint%s" u w)) + add_to_parsing_data (P_dep (false, (Util.format2 "fstar.%sint%s" u w |> Ident.lid_of_str))) | Const_char _ -> - add_dep deps (dep_edge "fstar.char") + add_to_parsing_data (P_dep (false, ("fstar.char" |> Ident.lid_of_str))) | Const_float _ -> - add_dep deps (dep_edge "fstar.float") + add_to_parsing_data (P_dep (false, ("fstar.float" |> Ident.lid_of_str))) | _ -> () @@ -721,9 +822,9 @@ let collect_one | AST.Projector (lid, _) | AST.Discrim lid | Name lid -> - record_lid lid + add_to_parsing_data (P_lid lid) | Construct (lid, termimps) -> - record_lid lid; + add_to_parsing_data (P_lid lid); List.iter (fun (t, _) -> collect_term t) termimps | Abs (pats, t) -> collect_patterns pats; @@ -739,7 +840,7 @@ let collect_one patterms; collect_term t | LetOpen (lid, t) -> - record_open true lid; + add_to_parsing_data (P_open (true, lid)); collect_term t | Bind(_, t1, t2) | Seq (t1, t2) -> @@ -797,7 +898,7 @@ let collect_one | Attributes cattributes -> List.iter collect_term cattributes | CalcProof (rel, init, steps) -> - add_dep_on_module (Ident.lid_of_str "FStar.Calc"); + add_to_parsing_data (P_dep (false, (Ident.lid_of_str "FStar.Calc"))); begin collect_term rel; collect_term init; @@ -852,15 +953,11 @@ let collect_one in let ast, _ = Driver.parse_file filename in - let mname = lowercase_module_name filename in - if is_interface filename - && has_implementation original_map mname - then add_dep mo_roots (UseImplementation mname); collect_module ast; + let pd = Mk_pd (List.rev !pd) in + let deps, has_inline_for_extraction, mo_roots = from_parsing_data pd original_map filename in (* Util.print2 "Deps for %s: %s\n" filename (String.concat " " (!deps)); *) - { direct_deps = !deps; - additional_roots = !mo_roots; - has_inline_for_extraction = !has_inline_for_extraction } + pd, deps, has_inline_for_extraction, mo_roots (* JP: it looks like the code was changed but the comments were never updated. @@ -878,12 +975,36 @@ let dep_graph_copy dep_graph = let (Deps g) = dep_graph in Deps (BU.smap_copy g) -let topological_dependences_of +let widen_deps friends dep_graph file_system_map widened = + let widened = BU.mk_ref widened in + let (Deps dg) = dep_graph in + let (Deps dg') = deps_empty() in + let widen_one deps = + deps |> List.map (fun d -> + match d with + | PreferInterface m + when (List.contains m friends && + has_implementation file_system_map m) -> + widened := true; + FriendImplementation m + | _ -> d) + in + BU.smap_fold + dg + (fun filename dep_node () -> + BU.smap_add + dg' + filename + ({dep_node with edges=widen_one dep_node.edges; color=White})) + (); + !widened, Deps dg' + +let topological_dependences_of' file_system_map dep_graph interfaces_needing_inlining root_files - for_extraction + widened : list * bool = let rec all_friend_deps_1 @@ -995,38 +1116,6 @@ let topological_dependences_of them adjacent to the each other in the final order. *) - if Options.debug_any() - then BU.print_string "==============Phase1==================\n"; - let widened = BU.mk_ref false in - let widen_deps friends deps = - let (Deps dg) = deps in - let (Deps dg') = deps_empty() in - let widen_one deps = - deps |> List.map (fun d -> - match d with - | PreferInterface m - when (List.contains m friends && - has_implementation file_system_map m) -> - widened := true; - FriendImplementation m - | _ -> d) - in - BU.smap_fold - dg - (fun filename dep_node () -> - BU.smap_add - dg' - filename - ({dep_node with edges=widen_one dep_node.edges; color=White})) - (); - Deps dg' - in - let dep_graph = - if Options.cmi() - && for_extraction - then widen_deps interfaces_needing_inlining dep_graph - else dep_graph - in let friends, all_files_0 = all_friend_deps dep_graph [] ([], []) root_files in @@ -1038,8 +1127,8 @@ let topological_dependences_of (String.concat ", " all_files_0) (String.concat ", " (remove_dups (fun x y -> x=y) friends)) (String.concat ", " (interfaces_needing_inlining)); - let dep_graph = - widen_deps friends dep_graph + let widened, dep_graph = + widen_deps friends dep_graph file_system_map widened in let _, all_files = if Options.debug_any() @@ -1049,7 +1138,33 @@ let topological_dependences_of if Options.debug_any() then BU.print1 "Phase2 complete: all_files = %s\n" (String.concat ", " all_files); all_files, - !widened + widened + +let phase1 + file_system_map + dep_graph + interfaces_needing_inlining + for_extraction += + if Options.debug_any() + then BU.print_string "==============Phase1==================\n"; + let widened = false in + if Options.cmi() + && for_extraction + then widen_deps interfaces_needing_inlining dep_graph file_system_map widened + else widened, dep_graph + +let topological_dependences_of + file_system_map + dep_graph + interfaces_needing_inlining + root_files + for_extraction + : list + * bool = + + let widened, dep_graph = phase1 file_system_map dep_graph interfaces_needing_inlining for_extraction in + topological_dependences_of' file_system_map dep_graph interfaces_needing_inlining root_files widened (** Collect the dependencies for a list of given files. And record the entire dependence graph in the memoized state above **) @@ -1093,18 +1208,15 @@ let collect (all_cmd_line_files: list) let rec discover_one (file_name:file_name) = if deps_try_find dep_graph file_name = None then begin - let deps, mo_roots, needs_interface_inlining = + let parsing_data, (deps, mo_roots, needs_interface_inlining) = match BU.smap_try_find !collect_one_cache file_name with - | Some cached -> cached + | Some cached -> Mk_pd [], cached | None -> - let r = collect_one file_system_map file_name get_parsing_data_from_cache in - r.direct_deps, r.additional_roots, r.has_inline_for_extraction in + let parsing_data, deps, needs_interface_inlining, additional_roots = collect_one file_system_map file_name get_parsing_data_from_cache in + parsing_data, (deps, additional_roots, needs_interface_inlining) in if needs_interface_inlining then add_interface_for_inlining file_name; - BU.smap_add parse_results file_name ({ - direct_deps = deps; - additional_roots = mo_roots; - has_inline_for_extraction = needs_interface_inlining }); + BU.smap_add parse_results file_name parsing_data; let deps = let module_name = lowercase_module_name file_name in if is_implementation file_name @@ -1139,8 +1251,30 @@ let collect (all_cmd_line_files: list) boundaries that can otherwise be exploited to build cross-module recursive loops, as in issue #1391 *) - let full_cycle_detection all_command_line_files = + let full_cycle_detection all_command_line_files file_system_map = let dep_graph = dep_graph_copy dep_graph in + + (* + * The cycle detection code considers all_command_line_files + * as roots to perform full cycle detection. As a result, + * all command line files, and their transitive dependences + * are considered. However, this misses the cycles through .fst + * as in the issue #1391, IF only .fsti is given on the command + * line. This is even more a problem in invocations like: + * fstar A.fsti --dep full, which dumps the .depend, while not + * noticing the cycle. + * + * A fix for this issue is to record in mo_files the implementations + * of command line interfaces whose implementations are not on the + * command line, and consider them also for cycle detection. + * + * Right now this is done even in the case of fstar A.fsti + * we can consider using mo_files only in the case of + * --dep invocations. + *) + let mo_files : ref > = BU.mk_ref [] in + + let rec aux (cycle:list) filename = let node = match deps_try_find dep_graph filename with @@ -1181,11 +1315,25 @@ let collect (all_cmd_line_files: list) all_command_line_files filename); (* Mutate the graph (to mark the node as visited) *) - deps_add_dep dep_graph filename ({node with edges=direct_deps; color=Black}) + deps_add_dep dep_graph filename ({node with edges=direct_deps; color=Black}); + + (* + * If the file is an interface, and its implementation exists, and the implementation + * is not on the command line, add it to mo_files + *) + if is_interface filename + then iter_opt + (implementation_of_internal file_system_map (lowercase_module_name filename)) + (fun impl -> if not (List.contains impl all_command_line_files) + then mo_files := impl::!mo_files + else ()) + else () in - List.iter (aux []) all_command_line_files + List.iter (aux []) all_command_line_files; + (* Detect cycles via mo_files *) + List.iter (aux []) !mo_files in - full_cycle_detection all_cmd_line_files; + full_cycle_detection all_cmd_line_files file_system_map; //only verify those files on the command line all_cmd_line_files |> @@ -1327,6 +1475,7 @@ let print_full (deps:deps) : unit = let output_krml_file f = norm_path (output_file ".krml" f) in let output_cmx_file f = norm_path (output_file ".cmx" f) in let cache_file f = norm_path (cache_file_name f) in + let widened, dep_graph = phase1 deps.file_system_map deps.dep_graph deps.interfaces_with_inlining true in let all_checked_files = keys |> List.fold_left @@ -1387,12 +1536,12 @@ let print_full (deps:deps) : unit = if Options.cmi() then Options.profile (fun () -> - topological_dependences_of + topological_dependences_of' deps.file_system_map - deps.dep_graph + (dep_graph_copy dep_graph) deps.interfaces_with_inlining [file_name] - true) + widened) (fun _ -> //would be nice to eliminate this; it adds up to about //6 seconds in the miTLS dependence analysis @@ -1492,6 +1641,10 @@ let print_full (deps:deps) : unit = keys |> List.filter is_implementation |> Util.sort_with String.compare in + let all_fsti_files = + keys |> List.filter is_interface + |> Util.sort_with String.compare + in let all_ml_files = let ml_file_map = BU.smap_create 41 in all_fst_files @@ -1516,6 +1669,7 @@ let print_full (deps:deps) : unit = pr "\n" in print_all "ALL_FST_FILES" all_fst_files; + print_all "ALL_FSTI_FILES" all_fsti_files; print_all "ALL_CHECKED_FILES" all_checked_files; print_all "ALL_ML_FILES" all_ml_files; print_all "ALL_KRML_FILES" all_krml_files; diff --git a/src/parser/FStar.Parser.ToDocument.fs b/src/parser/FStar.Parser.ToDocument.fs index 00c952266f0..2f7b09c1696 100755 --- a/src/parser/FStar.Parser.ToDocument.fs +++ b/src/parser/FStar.Parser.ToDocument.fs @@ -785,6 +785,7 @@ and p_pragma = function | ResetOptions s_opt -> str "#reset-options" ^^ optional (fun s -> space ^^ dquotes (str s)) s_opt | PushOptions s_opt -> str "#push-options" ^^ optional (fun s -> space ^^ dquotes (str s)) s_opt | PopOptions -> str "#pop-options" + | RestartSolver -> str "#restart-solver" | LightOff -> should_print_fs_typ_app := true ; str "#light \"off\"" diff --git a/src/parser/lex.fsl b/src/parser/lex.fsl index c3844e249ef..3901ee0cb2b 100644 --- a/src/parser/lex.fsl +++ b/src/parser/lex.fsl @@ -255,6 +255,8 @@ rule token args = parse { PRAGMA_SET_OPTIONS } | "#reset-options" { PRAGMA_RESET_OPTIONS } + | "#restart-solver" + { PRAGMA_RESTART_SOLVER } | "#push-options" { PRAGMA_PUSH_OPTIONS } | "#pop-options" diff --git a/src/parser/ml/FStar_Parser_LexFStar.ml b/src/parser/ml/FStar_Parser_LexFStar.ml index 2cb67b23c68..4851d01af85 100644 --- a/src/parser/ml/FStar_Parser_LexFStar.ml +++ b/src/parser/ml/FStar_Parser_LexFStar.ml @@ -447,6 +447,7 @@ let rec token = lexer | "#reset-options" -> PRAGMA_RESET_OPTIONS | "#push-options" -> PRAGMA_PUSH_OPTIONS | "#pop-options" -> PRAGMA_POP_OPTIONS + | "#restart-solver" -> PRAGMA_RESTART_SOLVER | "__SOURCE_FILE__" -> STRING (L.source_file lexbuf) | "__LINE__" -> INT (string_of_int (L.current_line lexbuf), false) diff --git a/src/parser/parse.fsi b/src/parser/parse.fsi index 8e0e35cd0ec..6f42f12c98a 100644 --- a/src/parser/parse.fsi +++ b/src/parser/parse.fsi @@ -50,6 +50,7 @@ type token = | QMARK | PRIVATE | PRAGMA_SET_OPTIONS + | PRAGMA_RESTART_SOLVER | PRAGMA_RESET_OPTIONS | PRAGMA_PUSH_OPTIONS | PRAGMA_POP_OPTIONS @@ -204,6 +205,7 @@ type tokenId = | TOKEN_QMARK | TOKEN_PRIVATE | TOKEN_PRAGMA_SET_OPTIONS + | TOKEN_PRAGMA_RESTART_SOLVER | TOKEN_PRAGMA_RESET_OPTIONS | TOKEN_PRAGMA_PUSH_OPTIONS | TOKEN_PRAGMA_POP_OPTIONS diff --git a/src/parser/parse.fsy b/src/parser/parse.fsy index 1f5a4b41e9f..ae6f1306432 100644 --- a/src/parser/parse.fsy +++ b/src/parser/parse.fsy @@ -134,6 +134,7 @@ let logic_qualifier_deprecation_warning = %token PRAGMA_POP_OPTIONS %token PRAGMA_PUSH_OPTIONS %token PRAGMA_RESET_OPTIONS +%token PRAGMA_RESTART_SOLVER %token PRAGMA_SET_OPTIONS %token PRIVATE %token QMARK @@ -591,14 +592,6 @@ separated_nonempty_list_SEMICOLON_effectDecl_: {let (x, _2, xs) = ($1, (), $3) in ( x :: xs )} -separated_nonempty_list_SEMICOLON_fieldPattern_: - fieldPattern - {let x = $1 in - ( [ x ] )} -| fieldPattern SEMICOLON separated_nonempty_list_SEMICOLON_fieldPattern_ - {let (x, _2, xs) = ($1, (), $3) in - ( x :: xs )} - separated_nonempty_list_SEMICOLON_lidentOrOperator_: lidentOrOperator {let x = $1 in @@ -636,6 +629,9 @@ let s = ( s ) in | PRAGMA_POP_OPTIONS {let _1 = () in ( PopOptions )} +| PRAGMA_RESTART_SOLVER + {let _1 = () in + ( RestartSolver )} attribute: LBRACK_AT list_atomicTerm_ RBRACK @@ -1056,7 +1052,7 @@ atomicPattern: {let (_1, xs, _3) = ((), $2, ()) in let pats = ( xs ) in ( mk_pattern (PatList pats) (rhs2 parseState 1 3) )} -| LBRACE separated_nonempty_list_SEMICOLON_fieldPattern_ RBRACE +| LBRACE right_flexible_nonempty_list_SEMICOLON_fieldPattern_ RBRACE {let (_1, record_pat, _3) = ((), $2, ()) in ( mk_pattern (PatRecord record_pat) (rhs2 parseState 1 3) )} | LENS_PAREN_LEFT constructorPattern COMMA separated_nonempty_list_COMMA_constructorPattern_ LENS_PAREN_RIGHT @@ -2540,6 +2536,16 @@ some_fsTypeArgs_: {let x = $1 in ( Some x )} +right_flexible_list_SEMICOLON_fieldPattern_: + + { ( [] )} +| fieldPattern + {let x = $1 in + ( [x] )} +| fieldPattern SEMICOLON right_flexible_list_SEMICOLON_fieldPattern_ + {let (x, _2, xs) = ($1, (), $3) in + ( x :: xs )} + right_flexible_list_SEMICOLON_noSeqTerm_: { ( [] )} @@ -2570,6 +2576,14 @@ right_flexible_list_SEMICOLON_simpleDef_: {let (x, _2, xs) = ($1, (), $3) in ( x :: xs )} +right_flexible_nonempty_list_SEMICOLON_fieldPattern_: + fieldPattern + {let x = $1 in + ( [x] )} +| fieldPattern SEMICOLON right_flexible_list_SEMICOLON_fieldPattern_ + {let (x, _2, xs) = ($1, (), $3) in + ( x :: xs )} + right_flexible_nonempty_list_SEMICOLON_recordFieldDecl_: recordFieldDecl {let x = $1 in diff --git a/src/parser/parse.mly b/src/parser/parse.mly index 028ce92878d..a3fd64ee100 100644 --- a/src/parser/parse.mly +++ b/src/parser/parse.mly @@ -55,7 +55,7 @@ let logic_qualifier_deprecation_warning = %token FORALL EXISTS ASSUME NEW LOGIC ATTRIBUTES %token IRREDUCIBLE UNFOLDABLE INLINE OPAQUE ABSTRACT UNFOLD INLINE_FOR_EXTRACTION %token NOEXTRACT -%token NOEQUALITY UNOPTEQUALITY PRAGMALIGHT PRAGMA_SET_OPTIONS PRAGMA_RESET_OPTIONS PRAGMA_PUSH_OPTIONS PRAGMA_POP_OPTIONS +%token NOEQUALITY UNOPTEQUALITY PRAGMALIGHT PRAGMA_SET_OPTIONS PRAGMA_RESET_OPTIONS PRAGMA_PUSH_OPTIONS PRAGMA_POP_OPTIONS PRAGMA_RESTART_SOLVER %token TYP_APP_LESS TYP_APP_GREATER SUBTYPE SUBKIND BY %token AND ASSERT SYNTH BEGIN ELSE END %token EXCEPTION FALSE FUN FUNCTION IF IN MODULE DEFAULT @@ -133,6 +133,8 @@ pragma: { PushOptions s_opt } | PRAGMA_POP_OPTIONS { PopOptions } + | PRAGMA_RESTART_SOLVER + { RestartSolver } attribute: | LBRACK_AT x = list(atomicTerm) RBRACK @@ -420,7 +422,7 @@ atomicPattern: } | LBRACK pats=separated_list(SEMICOLON, tuplePattern) RBRACK { mk_pattern (PatList pats) (rhs2 parseState 1 3) } - | LBRACE record_pat=separated_nonempty_list(SEMICOLON, fieldPattern) RBRACE + | LBRACE record_pat=right_flexible_nonempty_list(SEMICOLON, fieldPattern) RBRACE { mk_pattern (PatRecord record_pat) (rhs2 parseState 1 3) } | LENS_PAREN_LEFT pat0=constructorPattern COMMA pats=separated_nonempty_list(COMMA, constructorPattern) LENS_PAREN_RIGHT { mk_pattern (PatTuple(pat0::pats, true)) (rhs2 parseState 1 5) } diff --git a/src/reflection/FStar.Reflection.Basic.fs b/src/reflection/FStar.Reflection.Basic.fs index 1bc42c32505..291b79700ee 100644 --- a/src/reflection/FStar.Reflection.Basic.fs +++ b/src/reflection/FStar.Reflection.Basic.fs @@ -334,6 +334,19 @@ let lookup_attr (attr:term) (env:Env.env) : list = | Some l -> [S.lid_as_fv l (S.Delta_constant_at_level 999) None]) ses | _ -> [] +let all_defs_in_env (env:Env.env) : list = + List.map (fun l -> S.lid_as_fv l (S.Delta_constant_at_level 999) None) (Env.lidents env) // |> take 10 + +let defs_in_module (env:Env.env) (modul:name) : list = + List.concatMap + (fun l -> + (* must succeed, ids_of_lid always returns a non-empty list *) + let ns = Ident.ids_of_lid l |> init |> List.map Ident.string_of_ident in + if ns = modul + then [S.lid_as_fv l (S.Delta_constant_at_level 999) None] + else []) + (Env.lidents env) + let lookup_typ (env:Env.env) (ns:list) : option = let lid = PC.p2l ns in Env.lookup_sigelt env lid diff --git a/src/reflection/FStar.Reflection.Basic.fsi b/src/reflection/FStar.Reflection.Basic.fsi index 8e917a848a9..1fd1ed3a0a9 100644 --- a/src/reflection/FStar.Reflection.Basic.fsi +++ b/src/reflection/FStar.Reflection.Basic.fsi @@ -20,6 +20,8 @@ val compare_bv : bv -> bv -> order val lookup_typ : Env.env -> list -> option val is_free : bv -> term -> bool val lookup_attr : term -> Env.env -> list +val all_defs_in_env : Env.env -> list +val defs_in_module : Env.env -> name -> list val binders_of_env : Env.env -> binders val moduleof : Env.env -> list val term_eq : term -> term -> bool diff --git a/src/reflection/FStar.Reflection.Interpreter.fs b/src/reflection/FStar.Reflection.Interpreter.fs index 9c6f895d4d3..0a19978f443 100644 --- a/src/reflection/FStar.Reflection.Interpreter.fs +++ b/src/reflection/FStar.Reflection.Interpreter.fs @@ -144,6 +144,12 @@ let reflection_primops : list = [ mk2 "lookup_attr" RB.lookup_attr E.e_term E.e_env (e_list E.e_fv) RB.lookup_attr NRE.e_term NRE.e_env (NBET.e_list NRE.e_fv); + mk1 "all_defs_in_env" RB.all_defs_in_env E.e_env (e_list E.e_fv) + RB.all_defs_in_env NRE.e_env (NBET.e_list NRE.e_fv); + + mk2 "defs_in_module" RB.defs_in_module E.e_env e_string_list (e_list E.e_fv) + RB.defs_in_module NRE.e_env NBET.e_string_list (NBET.e_list NRE.e_fv); + mk2 "term_eq" term_eq E.e_term E.e_term e_bool term_eq NRE.e_term NRE.e_term NBET.e_bool; diff --git a/src/smtencoding/FStar.SMTEncoding.Encode.fs b/src/smtencoding/FStar.SMTEncoding.Encode.fs index d99b9c695b0..dae89058677 100644 --- a/src/smtencoding/FStar.SMTEncoding.Encode.fs +++ b/src/smtencoding/FStar.SMTEncoding.Encode.fs @@ -74,16 +74,41 @@ let prims = let xapp = mkApp(x, List.map mkFreeV vars) in //arity ok, see decl (#1383) let xtok = mkApp(xtok, []) in //arity ok, see decl (#1383) let xtok_app = mk_Apply xtok vars in + + (* + * AR: adding IsTotFun axioms for the symbol itself, and its partial applications + * NOTE: there are no typing guards here, but then there are no typing guards in + * any of the other axioms too + *) + let tot_fun_axioms = + let all_vars_but_one = BU.prefix vars |> fst in + let axiom_name = "primitive_tot_fun_" ^ x in + //IsTotFun axiom for the symbol itself + let tot_fun_axiom_for_x = Util.mkAssume (mk_IsTotFun xtok, None, axiom_name) in + let axioms, _, _ = //collect other axioms for partial applications + List.fold_left (fun (axioms, app, vars) var -> + let app = mk_Apply app [var] in + let vars = vars @ [var] in + let axiom_name = axiom_name ^ "." ^ (string_of_int (vars |> List.length)) in + axioms @ [Util.mkAssume (mkForall rng ([[app]], vars, mk_IsTotFun app), None, axiom_name)], + app, + vars + ) ([tot_fun_axiom_for_x], xtok, []) all_vars_but_one + in + axioms + in + xtok, List.length vars, - [xname_decl; - xtok_decl; - Util.mkAssume(mkForall rng ([[xapp]], vars, mkEq(xapp, body)), None, "primitive_" ^x); - Util.mkAssume(mkForall rng ([[xtok_app]], - vars, - mkEq(xtok_app, xapp)), - Some "Name-token correspondence", - "token_correspondence_"^x)] + ([xname_decl; + xtok_decl; + Util.mkAssume(mkForall rng ([[xapp]], vars, mkEq(xapp, body)), None, "primitive_" ^x)] @ + tot_fun_axioms @ + [Util.mkAssume(mkForall rng ([[xtok_app]], + vars, + mkEq(xtok_app, xapp)), + Some "Name-token correspondence", + "token_correspondence_"^x)]) in let axy = List.map mk_fv [(asym, Term_sort); (xsym, Term_sort); (ysym, Term_sort)] in let xy = List.map mk_fv [(xsym, Term_sort); (ysym, Term_sort)] in @@ -467,7 +492,7 @@ let encode_free_var uninterpreted env fv tt t_norm quals :decls_t * env_t = let get_vtok () = Option.get vtok_opt in let vtok_tm = match formals with - | [] when not thunked -> mkFreeV <| mk_fv (vname, Term_sort) + | [] when not thunked -> mkApp(vname, []) //mkFreeV <| mk_fv (vname, Term_sort) | [] when thunked -> mkApp(vname, [dummy_tm]) | _ -> mkApp(get_vtok(), []) //not thunked in @@ -487,7 +512,8 @@ let encode_free_var uninterpreted env fv tt t_norm quals :decls_t * env_t = let tok_typing = Util.mkAssume(tok_typing, Some "function token typing", ("function_token_typing_"^vname)) in - decls2@([tok_typing] |> mk_decls_trivial), push_free_var env lid arity vname (Some <| mkFreeV (mk_fv (vname, Term_sort))) + decls2@([tok_typing] |> mk_decls_trivial), + push_free_var env lid arity vname (Some <| mkApp(vname, [])) //mkFreeV (mk_fv (vname, Term_sort))) | _ when thunked -> decls2, env @@ -873,7 +899,16 @@ let encode_top_level_let : let gapp = mk_g_app (fuel_tm::vars_tm) in let tok_corr = let tok_app = mk_Apply (mkFreeV <| mk_fv (gtok, Term_sort)) (fuel::vars) in - Util.mkAssume(mkForall (U.range_of_lbname lbn) ([[tok_app]], fuel::vars, mkEq(tok_app, gapp)), + let tot_fun_axioms = + let head = mkFreeV <| mk_fv (gtok, Term_sort) in + let vars = fuel :: vars in + //the guards are trivial here since this tot_fun_axioms + //should never appear in a goal (see Bug1750.fst, test_currying) + let guards = List.map (fun _ -> mkTrue) vars in + EncodeTerm.isTotFun_axioms rng head vars guards (U.is_pure_comp tres_comp) + in + Util.mkAssume(mkAnd(mkForall (U.range_of_lbname lbn) ([[tok_app]], fuel::vars, mkEq(tok_app, gapp)), + tot_fun_axioms), Some "Fuel token correspondence", ("fuel_token_correspondence_"^gtok)) in @@ -927,7 +962,20 @@ let encode_top_level_let : encode_non_rec_lbdef bindings typs toks_fvbs env else encode_rec_lbdefs bindings typs toks_fvbs env - with Inner_let_rec -> decls, env_decls //decls are type declarations for the lets, if there is an inner let rec, only those are encoded to the solver + with + | Inner_let_rec names -> + let plural = List.length names > 1 in + let r = List.hd names |> snd in + FStar.TypeChecker.Err.add_errors + env.tcenv + [(Errors.Warning_DefinitionNotTranslated, + BU.format3 + "Definitions of inner let-rec%s %s and %s enclosing top-level letbinding are not encoded to the solver, you will only be able to reason with their types" + (if plural then "s" else "") + (List.map fst names |> String.concat ",") + (if plural then "their" else "its"), + r)]; + decls, env_decls //decls are type declarations for the lets, if there is an inner let rec, only those are encoded to the solver with Let_rec_unencodeable -> let msg = bindings |> List.map (fun lb -> Print.lbname_to_string lb.lbname) |> String.concat " and " in @@ -1286,8 +1334,14 @@ and encode_sigelt' (env:env_t) (se:sigelt) : (decls_t * env_t) = let karr = if List.length formals > 0 then [Util.mkAssume(mk_tester "Tm_arrow" (mk_PreType ttok_tm), Some "kinding", ("pre_kinding_"^ttok))] - else [] in - decls@(karr@[Util.mkAssume(mkForall (Ident.range_of_lid t) ([[tapp]], vars, mkImp(guard, k)), None, ("kinding_"^ttok))] + else [] + in + let rng = Ident.range_of_lid t in + let tot_fun_axioms = + EncodeTerm.isTotFun_axioms rng ttok_tm vars (List.map (fun _ -> mkTrue) vars) true + in + + decls@(karr@[Util.mkAssume(mkAnd(tot_fun_axioms, mkForall rng ([[tapp]], vars, mkImp(guard, k))), None, ("kinding_"^ttok))] |> mk_decls_trivial) in let aux = kindingAx @@ -1675,7 +1729,7 @@ let encode_modul_from_cache tcenv name (decls, fvbs) = open FStar.SMTEncoding.Z3 let encode_query use_env_msg tcenv q - : list //prelude, translation of tcenv + : list //prelude, translation of tcenv * list //labels in the query * decl //the query itself * list //suffix, evaluating labels in the model, etc. diff --git a/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fs b/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fs index d83b679f9e9..636da2c0656 100644 --- a/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fs +++ b/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fs @@ -119,7 +119,43 @@ let raise_arity_mismatch head arity n_args rng = (BU.string_of_int arity) (BU.string_of_int n_args)) rng - let maybe_curry_app rng (head:BU.either) (arity:int) (args:list) : term = + +//See issue #1750 and examples/bug-reports/Bug1750.fst +let isTotFun_axioms pos head vars guards is_pure = + let maybe_mkForall pat vars body = + match vars with + | [] -> body + | _ -> mkForall pos (pat, vars, body) + in + let rec is_tot_fun_axioms ctx ctx_guard head vars guards = + match vars, guards with + | [], [] -> + mkTrue + + | [_], _ -> + //last arrow, the effect label tells us if its pure or not + if is_pure + then maybe_mkForall [[head]] ctx (mkImp (ctx_guard, mk_IsTotFun head)) + else mkTrue + + | x::vars, g_x::guards -> + //curried arrow with more than 1 argument + //head is definitely Tot + let is_tot_fun_head = + maybe_mkForall [[head]] ctx (mkImp (ctx_guard, mk_IsTotFun head)) + in + let app = mk_Apply head [x] in + let ctx = ctx @ [x] in + let ctx_guard = mkAnd (ctx_guard, g_x) in + let rest = is_tot_fun_axioms ctx ctx_guard app vars guards in + mkAnd (is_tot_fun_head, rest) + + | _ -> + failwith "impossible: isTotFun_axioms" + in + is_tot_fun_axioms [] mkTrue head vars guards + +let maybe_curry_app rng (head:BU.either) (arity:int) (args:list) : term = let n_args = List.length args in match head with | BU.Inr head -> //must curry @@ -169,7 +205,15 @@ let is_an_eta_expansion env vars body = args (List.rev xs) then //t is of the form (f vars) for all the lambda bound variables vars //In this case, the term is an eta-expansion of f; so we just return f@tok, if there is one - tok_of_name env f + let n = tok_of_name env f in + let _ = + if Env.debug env.tcenv <| Options.Other "PartialApp" + then BU.print2 "is_eta_expansion %s ... tok_of_name = %s\n" + (print_smt_term t) + (match n with | None -> "None" | Some x -> print_smt_term x) + in + n + else None | _, [] -> @@ -343,18 +387,24 @@ and encode_binders (fuel_opt:option) (bs:Syntax.binders) (env:env_t) : if Env.debug env.tcenv Options.Medium then BU.print1 "Encoding binders %s\n" (Print.binders_to_string ", " bs); - let vars, guards, env, decls, names = bs |> List.fold_left (fun (vars, guards, env, decls, names) b -> + let vars, guards, env, decls, names = + bs |> List.fold_left + (fun (vars, guards, env, decls, names) b -> let v, g, env, decls', n = let x = fst b in let xxsym, xx, env' = gen_term_var env x in - let guard_x_t, decls' = encode_term_pred fuel_opt (norm env x.sort) env xx in //if we had polarities, we could generate a mkHasTypeZ here in the negative case + let guard_x_t, decls' = + encode_term_pred fuel_opt (norm env x.sort) env xx + in //if we had polarities, we could generate a mkHasTypeZ here in the negative case mk_fv (xxsym, Term_sort), guard_x_t, env', decls', - x in - v::vars, g::guards, env, decls@decls', n::names) ([], [], env, [], []) in - + x + in + v::vars, g::guards, env, decls@decls', n::names) + ([], [], env, [], []) + in List.rev vars, List.rev guards, env, @@ -645,27 +695,68 @@ and encode_term (t:typ) (env:env_t) : (term (* encoding of t, expects t if (env.encode_non_total_function_typ && U.is_pure_or_ghost_comp res) || U.is_tot_or_gtot_comp res - then let vars, guards, env', decls, _ = encode_binders None binders env in + then let vars, guards_l, env', decls, _ = encode_binders None binders env in let fsym = mk_fv (varops.fresh module_name "f", Term_sort) in let f = mkFreeV fsym in let app = mk_Apply f vars in let pre_opt, res_t = TcUtil.pure_or_ghost_pre_and_post ({env.tcenv with lax=true}) res in let res_pred, decls' = encode_term_pred None res_t env' app in let guards, guard_decls = match pre_opt with - | None -> mk_and_l guards, [] + | None -> mk_and_l guards_l, [] | Some pre -> let guard, decls0 = encode_formula pre env' in - mk_and_l (guard::guards), decls0 in + mk_and_l (guard::guards_l), decls0 in + //AR: promote ghost to pure for non-informative types + let is_pure = res |> N.ghost_to_pure env.tcenv |> U.is_pure_comp in + //cf. Bug #1750 + //We need to distinguish pure and ghost functions in the encoding + //both in hash consing, producing different type constructors for them. + //Tot functions get an additional predicate IsTotFun in their intepretation let t_interp = - mkForall t.pos - ([[app]], - vars, - mkImp(guards, res_pred)) in - - let cvars = Term.free_variables t_interp |> List.filter (fun x -> fv_name x <> fv_name fsym) in - let tkey = mkForall t.pos ([], fsym::cvars, t_interp) in - let tkey_hash = hash_of_term tkey in - let tsym = "Tm_arrow_" ^ (BU.digest_of_string tkey_hash) in + mkForall t.pos + ([[app]], + vars, + mkImp(guards, res_pred)) + in + + (* + * AR/NS: For an arrow like int -> int -> int -> GTot int, t_interp is of the form: + * forall x0. + * HasType x0 (int -> int -> int -> GTot int) + * <==> + * (forall (x1:int) (x2:int) (x3:int). + * HasType (ApplyTT (ApplyTT (ApplyTT (x0 x1)) x2) x3) int) + * /\ IsTotFun x0 + * /\ (forall x1. IsTotFun (ApplyTT x0 x1) + * + * I.e, we add IsTotFun axioms for every total partial application. + * Importantly, in the example above, the axiom is omitted for + * (x0 x1 x2 : int -> GTot int), since this function is not total + *) + + + //finally add the IsTotFun for the function term itself + let t_interp = + let tot_fun_axioms = isTotFun_axioms t.pos f vars guards_l is_pure in + mkAnd (t_interp, tot_fun_axioms) + in + let cvars = + Term.free_variables t_interp + |> List.filter (fun x -> fv_name x <> fv_name fsym) + in + let tkey = + mkForall t.pos ([], fsym::cvars, t_interp) + in + let prefix = + if is_pure + then "Tm_arrow_" + else "Tm_ghost_arrow_" + in + let tkey_hash = + prefix ^ hash_of_term tkey in + let tsym = + prefix ^ BU.digest_of_string tkey_hash + in let cvar_sorts = List.map fv_sort cvars in let caption = if Options.log_queries() @@ -693,10 +784,10 @@ and encode_term (t:typ) (env:env_t) : (term (* encoding of t, expects t let a_name = "interpretation_"^tsym in Util.mkAssume(mkForall t0.pos ([[f_has_t_z]], fsym::cvars, - mkIff(f_has_t_z, t_interp)), + mkIff (f_has_t_z, t_interp)), Some a_name, - module_name ^ "_" ^ a_name) in - + module_name ^ "_" ^ a_name) + in let t_decls = [tdecl; k_assumption; pre_typing; t_interp] in t, decls@decls'@guard_decls@(mk_decls tsym tkey_hash t_decls (decls@decls'@guard_decls)) @@ -723,11 +814,18 @@ and encode_term (t:typ) (env:env_t) : (term (* encoding of t, expects t t, [tdecl; t_kinding; t_interp] |> mk_decls_trivial (* TODO: At least preserve alpha-equivalence of non-pure function types *) | Tm_refine _ -> - let x, f = match N.normalize_refinement [Env.Weak; Env.HNF; Env.EraseUniverses] env.tcenv t0 with - | {n=Tm_refine(x, f)} -> - let b, f = SS.open_term [x, None] f in - fst (List.hd b), f - | _ -> failwith "impossible" in + let x, f = + let steps = [ + Env.Weak; + Env.HNF; + Env.EraseUniverses + ] in + match N.normalize_refinement steps env.tcenv t0 with + | {n=Tm_refine(x, f)} -> + let b, f = SS.open_term [x, None] f in + fst (List.hd b), f + | _ -> failwith "impossible" + in let base_t, decls = encode_term x.sort env in let x, xtm, env' = gen_term_var env x in @@ -751,7 +849,12 @@ and encode_term (t:typ) (env:env_t) : (term (* encoding of t, expects t let ffv = mk_fv (fsym, Fuel_sort) in let tkey = mkForall t0.pos ([], ffv::xfv::cvars, encoding) in let tkey_hash = Term.hash_of_term tkey in - let module_name = env.current_module_name in + + if Env.debug env.tcenv (Options.Other "SMTEncoding") + then BU.print3 "Encoding Tm_refine %s with tkey_hash %s and digest %s\n" + (Syntax.Print.term_to_string f) tkey_hash (BU.digest_of_string tkey_hash) + else (); + let tsym = "Tm_refine_" ^ (BU.digest_of_string tkey_hash) in let cvar_sorts = List.map fv_sort cvars in let tdecl = Term.DeclFun(tsym, cvar_sorts, Term_sort, None) in @@ -859,18 +962,76 @@ and encode_term (t:typ) (env:env_t) : (term (* encoding of t, expects t let args, decls = encode_args args_e env in let encode_partial_app ht_opt = - let head, decls' = encode_term head env in - let app_tm = mk_Apply_args head args in + let smt_head, decls' = encode_term head env in + let app_tm = mk_Apply_args smt_head args in match ht_opt with - | None -> app_tm, decls@decls' - | Some (formals, c) -> + | _ -> app_tm, decls@decls' //NS: Intentionally using a default case here to disable the axiom below + | Some (head_type, formals, c) -> + if Env.debug env.tcenv (Options.Other "PartialApp") + then BU.print5 "Encoding partial application:\n\thead=%s\n\thead_type=%s\n\tformals=%s\n\tcomp=%s\n\tactual args=%s\n" + (Print.term_to_string head) + (Print.term_to_string head_type) + (Print.binders_to_string ", " formals) + (Print.comp_to_string c) + (Print.args_to_string args_e); let formals, rest = BU.first_N (List.length args_e) formals in let subst = List.map2 (fun (bv, _) (a, _) -> Syntax.NT(bv, a)) formals args_e in let ty = U.arrow rest c |> SS.subst subst in - let has_type, decls'' = encode_term_pred None ty env app_tm in - let cvars = Term.free_variables has_type in + if Env.debug env.tcenv (Options.Other "PartialApp") + then BU.print1 "Encoding partial application, after subst:\n\tty=%s\n" + (Print.term_to_string ty); + let vars, pattern, has_type, decls'' = + let t_hyps, decls = + List.fold_left2 (fun (t_hyps, decls) (bv, _) e -> + let t = SS.subst subst bv.sort in + let t_hyp, decls' = encode_term_pred None t env e in + if Env.debug env.tcenv (Options.Other "PartialApp") + then BU.print2 "Encoded typing hypothesis for %s ... got %s\n" + (Print.term_to_string t) + (Term.print_smt_term t_hyp); + t_hyp::t_hyps, decls@decls') + ([], []) + formals + args + in + let t_head_hyp, decls' = + match smt_head.tm with + | FreeV _ -> + encode_term_pred None head_type env smt_head + | _ -> + mkTrue, [] + in + let hyp = Term.mk_and_l (t_head_hyp::t_hyps) Range.dummyRange in + let has_type_conclusion, decls'' = + encode_term_pred None ty env app_tm + in + let has_type = mkImp (hyp, has_type_conclusion) in + let cvars = Term.free_variables has_type in + let app_tm_vars = Term.free_variables app_tm in + let pattern, vars = + if Term.fvs_subset_of cvars app_tm_vars + then [app_tm], app_tm_vars + else if Term.fvs_subset_of cvars (Term.free_variables has_type_conclusion) + then [has_type_conclusion], cvars + else begin + Errors.log_issue + t0.pos + (Errors.Warning_SMTPatternIllFormed, + BU.format1 "No SMT pattern for partial application %s" + (Print.term_to_string t0)); + [], cvars //no pattern! + end + in + vars, + pattern, + has_type, + decls@decls'@decls'' + in + if Env.debug env.tcenv (Options.Other "PartialApp") + then BU.print1 "Encoding partial application, after SMT encoded predicate:\n\t=%s\n" + (Term.print_smt_term has_type); let tkey_hash = Term.hash_of_term app_tm in - let e_typing = Util.mkAssume(mkForall t0.pos ([[has_type]], cvars, has_type), + let e_typing = Util.mkAssume(mkForall t0.pos ([pattern], vars, has_type), Some "Partial app typing", ("partial_app_typing_" ^ (BU.digest_of_string (Term.hash_of_term app_tm)))) in @@ -899,15 +1060,34 @@ and encode_term (t:typ) (env:env_t) : (term (* encoding of t, expects t match head_type with | None -> encode_partial_app None | Some head_type -> - let head_type = U.unrefine <| N.normalize_refinement [Env.Weak; Env.HNF; Env.EraseUniverses] env.tcenv head_type in - let formals, c = curried_arrow_formals_comp head_type in + let head_type, formals, c = + let head_type = U.unrefine <| N.normalize_refinement [Env.Weak; Env.HNF; Env.EraseUniverses] env.tcenv head_type in + let formals, c = curried_arrow_formals_comp head_type in + if List.length formals < List.length args + then let head_type = + U.unrefine + <| N.normalize_refinement + [Env.Weak; Env.HNF; Env.EraseUniverses; Env.UnfoldUntil delta_constant] + env.tcenv + head_type + in + let formals, c = curried_arrow_formals_comp head_type in + head_type, formals, c + else head_type, formals, c + in + if Env.debug env.tcenv (Options.Other "PartialApp") + then BU.print3 "Encoding partial application, head_type = %s, formals = %s, args = %s\n" + (Print.term_to_string head_type) + (Print.binders_to_string ", " formals) + (Print.args_to_string args_e); + begin match head.n with | Tm_uinst({n=Tm_fvar fv}, _) | Tm_fvar fv when (List.length formals = List.length args) -> encode_full_app fv.fv_name | _ -> if List.length formals > List.length args - then encode_partial_app (Some (formals, c)) + then encode_partial_app (Some (head_type, formals, c)) else encode_partial_app None end @@ -978,6 +1158,7 @@ and encode_term (t:typ) (env:env_t) : (term (* encoding of t, expects t else body in let body, decls' = encode_term body envbody in + let is_pure = U.is_pure_effect rc.residual_effect in let arrow_t_opt, decls'' = match codomain_eff rc with | None -> None, [] @@ -998,8 +1179,15 @@ and encode_term (t:typ) (env:env_t) : (term (* encoding of t, expects t in let tkey = mkForall t0.pos ([], cvars, key_body) in let tkey_hash = Term.hash_of_term tkey in + if Env.debug env.tcenv <| Options.Other "PartialApp" + then BU.print2 "Checking eta expansion of\n\tvars={%s}\n\tbody=%s\n" + (List.map fv_name vars |> String.concat ", ") + (print_smt_term body); match is_an_eta_expansion env vars body with | Some t -> + if Env.debug env.tcenv <| Options.Other "PartialApp" + then BU.print1 "Yes, is an eta expansion of\n\tcore=%s\n" + (print_smt_term t); let decls = decls@decls'@decls'' in t, decls | None -> @@ -1010,7 +1198,17 @@ and encode_term (t:typ) (env:env_t) : (term (* encoding of t, expects t let app = mk_Apply f vars in let typing_f = match arrow_t_opt with - | None -> [] //no typing axiom for this lambda, because we don't have enough info + | None -> + let tot_fun_ax = + let ax = (isTotFun_axioms t0.pos f vars (vars |> List.map (fun _ -> mkTrue)) is_pure) in + match cvars with + | [] -> ax + | _ -> mkForall t0.pos ([[f]], cvars, ax) + in + let a_name = "tot_fun_"^fsym in + [Util.mkAssume(tot_fun_ax, Some a_name, a_name)] + //no typing axiom for this lambda, because we don't have enough info + //but we at least mark its partial applications as total (cf. #1750) | Some t -> let f_has_t = mk_HasTypeWithFuel None f t in let a_name = "typing_"^fsym in @@ -1030,9 +1228,15 @@ and encode_term (t:typ) (env:env_t) : (term (* encoding of t, expects t | Tm_let((false, [{lbname=BU.Inl x; lbtyp=t1; lbdef=e1}]), e2) -> encode_let x t1 e1 e2 env encode_term - | Tm_let _ -> - Errors.diag t0.pos "Non-top-level recursive functions, and their enclosings let bindings (including the top-level let) are not yet fully encoded to the SMT solver; you may not be able to prove some facts"; - raise Inner_let_rec + | Tm_let((false, _::_), _) -> + failwith "Impossible: non-recursive let with multiple bindings" + + | Tm_let ((_, lbs), _) -> + let names = lbs |> List.map (fun lb -> + let {lbname = lbname} = lb in + let x = BU.left lbname in (* has to be Inl *) + (Ident.text_of_id x.ppname, S.range_of_bv x)) in + raise (Inner_let_rec names) | Tm_match(e, pats) -> encode_match e pats mk_Term_unit env encode_term diff --git a/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fsi b/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fsi index 3d82d067b94..9eeb4616a80 100644 --- a/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fsi +++ b/src/smtencoding/FStar.SMTEncoding.EncodeTerm.fsi @@ -32,6 +32,7 @@ open FStar.SMTEncoding open FStar.SMTEncoding.Util open FStar.SMTEncoding.Env module BU = FStar.Util +val isTotFun_axioms: Range.range -> head:term -> vars:fvs -> guards:list -> bool -> term val mk_Apply : e:term -> vars:fvs -> term val maybe_curry_app : rng:Range.range -> head:BU.either -> arity:int -> args:list -> term val maybe_curry_fvb : rng:Range.range -> head:fvar_binding -> args:list -> term diff --git a/src/smtencoding/FStar.SMTEncoding.Env.fs b/src/smtencoding/FStar.SMTEncoding.Env.fs index 64e6b1675ea..dcfd3adba98 100644 --- a/src/smtencoding/FStar.SMTEncoding.Env.fs +++ b/src/smtencoding/FStar.SMTEncoding.Env.fs @@ -33,7 +33,7 @@ module SS = FStar.Syntax.Subst module BU = FStar.Util module U = FStar.Syntax.Util -exception Inner_let_rec +exception Inner_let_rec of list<(string * Range.range)> //name of the inner let-rec(s) and their locations let add_fuel x tl = if (Options.unthrottle_inductives()) then tl else x::tl let withenv c (a, b) = (a,b,c) @@ -132,13 +132,29 @@ type fvar_binding = { smt_fuel_partial_app:option; fvb_thunked: bool } +let fvb_to_string fvb = + let term_opt_to_string = function + | None -> "None" + | Some s -> Term.print_smt_term s + in + BU.format5 "{ lid = %s;\n smt_id = %s;\n smt_token = %s;\n smt_fuel_partial_app = %s;\n fvb_thunked = %s }" + (Ident.string_of_lid fvb.fvar_lid) + fvb.smt_id + (term_opt_to_string fvb.smt_token) + (term_opt_to_string fvb.smt_fuel_partial_app) + (BU.string_of_bool fvb.fvb_thunked) + let check_valid_fvb fvb = if (Option.isSome fvb.smt_token || Option.isSome fvb.smt_fuel_partial_app) && fvb.fvb_thunked then failwith (BU.format1 "Unexpected thunked SMT symbol: %s" (Ident.string_of_lid fvb.fvar_lid)) else if fvb.fvb_thunked && fvb.smt_arity <> 0 - then failwith (BU.format1 "Unexpected arity of thunked SMT symbol: %s" (Ident.string_of_lid fvb.fvar_lid)) + then failwith (BU.format1 "Unexpected arity of thunked SMT symbol: %s" (Ident.string_of_lid fvb.fvar_lid)); + match fvb.smt_token with + | Some ({tm=FreeV _}) -> + failwith (BU.format1 "bad fvb\n%s" (fvb_to_string fvb)) + | _ -> () let binder_of_eithervar v = (v, None) @@ -264,10 +280,15 @@ let force_thunk fvb = if not (fvb.fvb_thunked) || fvb.smt_arity <> 0 then failwith "Forcing a non-thunk in the SMT encoding"; mkFreeV <| (fvb.smt_id, Term_sort, true) +module TcEnv = FStar.TypeChecker.Env let try_lookup_free_var env l = match lookup_fvar_binding env l with | None -> None | Some fvb -> + if TcEnv.debug env.tcenv <| Options.Other "PartialApp" + then BU.print2 "Looked up %s found\n%s\n" + (Ident.string_of_lid l) + (fvb_to_string fvb); if fvb.fvb_thunked then Some (force_thunk fvb) else @@ -318,9 +339,20 @@ let lookup_free_var_sym env a = end let tok_of_name env nm = - BU.psmap_find_map (env.fvar_bindings |> fst) (fun _ fvb -> + match + BU.psmap_find_map (env.fvar_bindings |> fst) (fun _ fvb -> check_valid_fvb fvb; if fvb.smt_id = nm then fvb.smt_token else None) + with + | Some b -> Some b + | None -> //this must be a bvar + BU.psmap_find_map env.bvar_bindings (fun _ pi -> + BU.pimap_fold pi (fun _ y res -> + match res, y with + | Some _, _ -> res + | None, (_, {tm=App(Var sym, [])}) when sym=nm -> + Some (snd y) + | _ -> None) None) let reset_current_module_fvbs env = { env with fvar_bindings = (env.fvar_bindings |> fst, []) } let get_current_module_fvbs env = env.fvar_bindings |> snd diff --git a/src/smtencoding/FStar.SMTEncoding.Solver.fs b/src/smtencoding/FStar.SMTEncoding.Solver.fs index d6115b48333..bcdc65f5f02 100644 --- a/src/smtencoding/FStar.SMTEncoding.Solver.fs +++ b/src/smtencoding/FStar.SMTEncoding.Solver.fs @@ -21,13 +21,11 @@ open FStar.All open FStar open FStar.SMTEncoding.Z3 open FStar.SMTEncoding.Term -open FStar.BaseTypes open FStar.Util open FStar.TypeChecker open FStar.TypeChecker.Env open FStar.SMTEncoding open FStar.SMTEncoding.ErrorReporting -open FStar.SMTEncoding.Encode open FStar.SMTEncoding.Util module BU = FStar.Util @@ -179,11 +177,20 @@ type errors = { } let error_to_short_string err = - BU.format4 "%s (fuel=%s; ifuel=%s; %s)" + BU.format4 "%s (fuel=%s; ifuel=%s%s)" err.error_reason (string_of_int err.error_fuel) (string_of_int err.error_ifuel) - (if Option.isSome err.error_hint then "with hint" else "") + (if Option.isSome err.error_hint then "; with hint" else "") + +let error_to_is_timeout err = + if BU.ends_with err.error_reason "canceled" + then [BU.format4 "timeout (fuel=%s; ifuel=%s; %s)" + err.error_reason + (string_of_int err.error_fuel) + (string_of_int err.error_ifuel) + (if Option.isSome err.error_hint then "with hint" else "")] + else [] type query_settings = { query_env:env; @@ -216,8 +223,9 @@ let with_fuel_and_diagnostics settings label_assumptions = settings.query_decl //the query itself ] @label_assumptions //the sub-goals that are currently disabled - @[ Term.SetOption ("rlimit", string_of_int rlimit); //the rlimit setting + @[ Term.SetOption ("rlimit", string_of_int rlimit); //the rlimit setting for the check-sat Term.CheckSat; //go Z3! + Term.SetOption ("rlimit", "0"); //back to using infinite rlimit Term.GetReasonUnknown; //explain why it failed Term.GetUnsatCore; //for proof profiling, recording hints etc ] @@ -277,23 +285,72 @@ let find_localized_errors errs = let has_localized_errors errs = Option.isSome (find_localized_errors errs) let report_errors settings : unit = + let format_smt_error msg = + BU.format1 "SMT solver says:\n\t%s;\n\t\ + Note: 'canceled' or 'resource limits reached' means the SMT query timed out, so you might want to increase the rlimit;\n\t\ + 'incomplete quantifiers' means a (partial) counterexample was found, so try to spell your proof out in greater detail, increase fuel or ifuel\n\t\ + 'unknown' means Z3 provided no further reason for the proof failing" + msg + in let _basic_error_report = + (* + * AR: smt_error is either an Inr of a multi-line detailed message OR an Inl of a single line short message + * depending on whether Options.query_stats is on or off + *) + let smt_error = + if Options.query_stats () then + settings.query_errors + |> List.map error_to_short_string + |> String.concat ";\n\t" + |> format_smt_error |> Inr + else + (* + * AR: --query_stats is not set, we want to give a succint but helpful diagnosis + * + * settings.query_errors is a list of errors, whose field error_reason contains the strings: + * unknown because (incomplete ...) or unknown because (resource ...) or unknown because canceled etc. + * it's a list as it contains one element per config (e.g. fuel options) + * + * in the following code we go through the error reasons in all the configs, + * and if all the error reasons are the same, we provide a hint for that reason + * otherwise we just ask the user to run with --query_stats + * + * as per the smt-lib standard, the possible values of reason-unknown are s-expressions, + * that are either non-space strings, or strings with spaces enclosed in parenthesis + * (I think), so incomplete or resource messages are in parenthesis, whereas + * canceled, timeout, etc. are without + *) + let incomplete_count, canceled_count, unknown_count = + List.fold_left (fun (ic, cc, uc) err -> + let err = BU.substring_from err.error_reason (String.length "unknown because ") in + //err is (incomplete quantifiers), (resource ...), canceled, or unknown etc. + if BU.starts_with err "canceled" || + BU.starts_with err "(resource" || + BU.starts_with err "timeout" + then (ic, cc + 1, uc) + else if BU.starts_with err "(incomplete" then (ic + 1, cc, uc) + else (ic, cc, uc + 1) //note this covers unknowns, overflows, etc. + ) (0, 0, 0) settings.query_errors + in + (match incomplete_count, canceled_count, unknown_count with + | _, 0, 0 when incomplete_count > 0 -> "The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel" + | 0, _, 0 when canceled_count > 0 -> "The SMT query timed out, you might want to increase the rlimit" + | _, _, _ -> "Try with --query_stats to get more details") |> Inl + in + match find_localized_errors settings.query_errors with | Some err -> - settings.query_errors |> List.iter (fun e -> - FStar.Errors.diag settings.query_range ("SMT solver says: " ^ error_to_short_string e)); - FStar.Errors.add_errors err.error_messages + // FStar.Errors.log_issue settings.query_range (FStar.Errors.Warning_SMTErrorReason, smt_error); + FStar.TypeChecker.Err.add_errors_smt_detail settings.query_env err.error_messages smt_error | None -> - let err_detail = - settings.query_errors |> - List.map (fun e -> "SMT solver says: " ^ error_to_short_string e) |> - String.concat "; " in - FStar.Errors.add_errors - [(Errors.Error_UnknownFatal_AssertionFailure, BU.format1 "Unknown assertion failed (%s)" err_detail, + FStar.TypeChecker.Err.add_errors_smt_detail + settings.query_env + [(Errors.Error_UnknownFatal_AssertionFailure, + "Unknown assertion failed", settings.query_range)] + smt_error in if Options.detail_errors() - && Options.n_cores() = 1 then let initial_fuel = { settings with query_fuel=Options.initial_fuel(); query_ifuel=Options.initial_ifuel(); @@ -630,33 +687,76 @@ let ask_and_report_errors env all_labels prefix query suffix = in if not skip then check_all_configs all_configs +type solver_cfg = { + seed : int; + cliopt : list; + facts : list<(list * bool)>; + valid_intro : bool; + valid_elim : bool; +} + +let _last_cfg : ref> = BU.mk_ref None + +let get_cfg env : solver_cfg = + { seed = Options.z3_seed () + ; cliopt = Options.z3_cliopt () + ; facts = env.proof_ns + ; valid_intro = Options.smtencoding_valid_intro () + ; valid_elim = Options.smtencoding_valid_elim () + } + +let save_cfg env = + _last_cfg := Some (get_cfg env) + +let should_refresh env = + match !_last_cfg with + | None -> (save_cfg env; false) + | Some cfg -> + not (cfg = get_cfg env) + let solve use_env_msg tcenv q : unit = - Encode.push (BU.format1 "Starting query at %s" (Range.string_of_range <| Env.get_range tcenv)); - if Options.no_smt () - then - FStar.Errors.add_errors + if Options.no_smt () then + FStar.TypeChecker.Err.add_errors + tcenv [(Errors.Error_NoSMTButNeeded, BU.format1 "Q = %s\nA query could not be solved internally, and --no_smt was given" (Print.term_to_string q), tcenv.range)] - else - let tcenv = incr_query_index tcenv in - let prefix, labels, qry, suffix = Encode.encode_query use_env_msg tcenv q in - let pop () = Encode.pop (BU.format1 "Ending query at %s" (Range.string_of_range <| Env.get_range tcenv)) in - match qry with - | Assume({assumption_term={tm=App(FalseOp, _)}}) -> pop() - | _ when tcenv.admit -> pop() - | Assume _ -> - ask_and_report_errors tcenv labels prefix qry suffix; - pop () - - | _ -> failwith "Impossible" + else begin + if should_refresh tcenv then begin + save_cfg tcenv; + Z3.refresh () + end; + Encode.push (BU.format1 "Starting query at %s" (Range.string_of_range <| Env.get_range tcenv)); + let pop () = Encode.pop (BU.format1 "Ending query at %s" (Range.string_of_range <| Env.get_range tcenv)) in + try + let prefix, labels, qry, suffix = Encode.encode_query use_env_msg tcenv q in + let tcenv = incr_query_index tcenv in + match qry with + | Assume({assumption_term={tm=App(FalseOp, _)}}) -> pop() + | _ when tcenv.admit -> pop() + | Assume _ -> + ask_and_report_errors tcenv labels prefix qry suffix; + pop () + + | _ -> failwith "Impossible" + with + | FStar.SMTEncoding.Env.Inner_let_rec names -> //can be raised by encode_query + pop (); //AR: Important, we push-ed before encode_query was called + FStar.TypeChecker.Err.add_errors + tcenv + [(Errors.Error_NonTopRecFunctionNotFullyEncoded, + BU.format1 + "Could not encode the query since F* does not support precise smtencoding of inner let-recs yet (in this case %s)" + (String.concat "," (List.map fst names)), + tcenv.range)] + end (**********************************************************************************************) (* Top-level interface *) (**********************************************************************************************) open FStar.TypeChecker.Env let solver = { - init=Encode.init; + init=(fun e -> save_cfg e; Encode.init e); push=Encode.push; pop=Encode.pop; snapshot=Encode.snapshot; diff --git a/src/smtencoding/FStar.SMTEncoding.Term.fs b/src/smtencoding/FStar.SMTEncoding.Term.fs index 00909640759..720122c33af 100644 --- a/src/smtencoding/FStar.SMTEncoding.Term.fs +++ b/src/smtencoding/FStar.SMTEncoding.Term.fs @@ -269,6 +269,12 @@ let fv_name (x:fv) = let nm, _, _ = x in nm let fv_sort (x:fv) = let _, sort, _ = x in sort let fv_force (x:fv) = let _, _, force = x in force let fv_eq (x:fv) (y:fv) = fv_name x = fv_name y +let fvs_subset_of (x:fvs) (y:fvs) = + let cmp_fv x y = + BU.compare (fv_name x) (fv_name y) + in + BU.set_is_subset_of (BU.as_set x cmp_fv) + (BU.as_set y cmp_fv) let freevar_eq x y = match x.tm, y.tm with | FreeV x, FreeV y -> fv_eq x y | _ -> false @@ -282,6 +288,7 @@ let rec freevars t = match t.tm with | Integer _ | Real _ | BoundV _ -> [] + | FreeV fv when fv_force fv -> [] //this is actually a top-level constant | FreeV fv -> [fv] | App(_, tms) -> List.collect freevars tms | Quant(_, _, _, _, t) @@ -942,6 +949,7 @@ and mkPrelude z3options = (HasTypeFuel ZFuel x t))\n\ (define-fun HasType ((x Term) (t Term)) Bool\n\ (HasTypeFuel MaxIFuel x t))\n\ + (declare-fun IsTotFun (Term) Bool)\n ;;fuel irrelevance\n\ (assert (forall ((f Fuel) (x Term) (t Term))\n\ (! (= (HasTypeFuel (SFuel f) x t)\n\ @@ -1114,6 +1122,7 @@ let mk_Valid t = match t.tm with mkApp("Valid", [t]) t.rng let mk_HasType v t = mkApp("HasType", [v;t]) t.rng let mk_HasTypeZ v t = mkApp("HasTypeZ", [v;t]) t.rng +let mk_IsTotFun t = mkApp("IsTotFun", [t]) t.rng let mk_IsTyped v = mkApp("IsTyped", [v]) norng let mk_HasTypeFuel f v t = if Options.unthrottle_inductives() diff --git a/src/smtencoding/FStar.SMTEncoding.Term.fsi b/src/smtencoding/FStar.SMTEncoding.Term.fsi index b8361fe7cd1..c93fcc2d630 100755 --- a/src/smtencoding/FStar.SMTEncoding.Term.fsi +++ b/src/smtencoding/FStar.SMTEncoding.Term.fsi @@ -195,6 +195,7 @@ val boxStringFun : string * string val boxRealFun: string * string val fv_eq : fv -> fv -> bool val fv_of_term : term -> fv +val fvs_subset_of: fvs -> fvs -> bool val free_variables: term -> fvs val mkTrue : (Range.range -> term) val mkFalse : (Range.range -> term) @@ -280,6 +281,7 @@ val mk_PreType: term -> term val mk_Valid: term -> term val mk_HasType: term -> term -> term val mk_HasTypeZ: term -> term -> term +val mk_IsTotFun: term -> term val mk_IsTyped: term -> term val mk_HasTypeFuel: term -> term -> term -> term val mk_HasTypeWithFuel: option -> term -> term -> term diff --git a/src/smtencoding/FStar.SMTEncoding.Z3.fs b/src/smtencoding/FStar.SMTEncoding.Z3.fs index e27b41254f3..3222769b30d 100644 --- a/src/smtencoding/FStar.SMTEncoding.Z3.fs +++ b/src/smtencoding/FStar.SMTEncoding.Z3.fs @@ -32,50 +32,36 @@ module BU = FStar.Util (* Check the Z3 commit hash once, and issue a warning if it is not equal to the one that we are expecting from the Z3 url below *) -let _z3hash_checked : ref = BU.mk_ref false +let _z3version_checked : ref = BU.mk_ref false -let _z3hash_expected = "1f29cebd4df6" +let _z3version_expected = "Z3 version 4.8.5" let _z3url = "https://github.com/FStarLang/binaries/tree/master/z3-tested" let parse_z3_version_lines out = match splitlines out with - | x :: _ -> - begin - let trimmed = trim_string x in - let parts = split trimmed " " in - let rec aux = function - | [hash] -> - let n = min (String.strlen _z3hash_expected) (String.strlen hash) in - let hash_prefix = String.substring hash 0 n in - if hash_prefix = _z3hash_expected - then begin - if Options.debug_any () - then - let msg = - BU.format1 - "Successfully found expected Z3 commit hash %s\n" - hash - in - print_string msg - else (); - None - end else - let msg = - BU.format2 - "Expected Z3 commit hash \"%s\", got \"%s\"" - _z3hash_expected - trimmed - in - Some msg - | _ :: q -> aux q - | _ -> Some "No Z3 commit hash found" - in - aux parts + | version :: _ -> + if BU.starts_with version _z3version_expected + then begin + if Options.debug_any () + then + print_string + (BU.format1 + "Successfully found expected Z3 version %s\n" + version); + None end + else + let msg = + BU.format2 + "Expected Z3 version \"%s\", got \"%s\"" + _z3version_expected + out + in + Some msg | _ -> Some "No Z3 version string found" -let z3hash_warning_message () = +let z3version_warning_message () = let run_proc_result = try Some (BU.run_process "z3_version" (Options.z3_exe()) ["-version"] None) @@ -89,11 +75,11 @@ let z3hash_warning_message () = | Some msg -> Some (FStar.Errors.Warning_Z3InvocationWarning, msg) end -let check_z3hash () = - if not !_z3hash_checked +let check_z3version () = + if not !_z3version_checked then begin - _z3hash_checked := true; - match z3hash_warning_message () with + _z3version_checked := true; + match z3version_warning_message () with | None -> () | Some (e, msg) -> let msg = @@ -107,13 +93,6 @@ let check_z3hash () = FStar.Errors.log_issue Range.dummyRange (e, msg) end -let ini_params () = - check_z3hash (); - List.append ["-smt2"; - "-in"; - Util.format1 "smt.random_seed=%s" (string_of_int (Options.z3_seed ()))] - (Options.z3_cliopt ()) - type label = string type unsat_core = option> type z3status = @@ -138,19 +117,8 @@ let status_string_and_errors s = | SAT (errs, msg) | UNKNOWN (errs, msg) | TIMEOUT (errs, msg) -> BU.format2 "%s%s" (status_tag s) (match msg with None -> "" | Some msg -> " because " ^ msg), errs + //(match msg with None -> "unknown" | Some msg -> msg), errs -let tid () = BU.current_tid() |> BU.string_of_int -let new_z3proc id = - BU.start_process id (Options.z3_exe ()) (ini_params ()) (fun s -> s = "Done!") -let new_z3proc_with_id = - let ctr = BU.mk_ref (-1) in - fun () -> new_z3proc (BU.format1 "bg-%s" (incr ctr; !ctr |> string_of_int)) - -type bgproc = { - ask: string -> string; - refresh:unit -> unit; - restart:unit -> unit -} type query_log = { get_module_name: unit -> string; @@ -208,7 +176,7 @@ let query_logging = file_name in let write_to_log fresh str = - if fresh || (Options.n_cores() > 1) + if fresh then write_to_new_log str else append_to_log str in @@ -228,30 +196,76 @@ let query_logging = write_to_log=write_to_log; close_log=close_log} +(* Z3 background process handling *) +let z3_cmd_and_args () = + let cmd = Options.z3_exe () in + let cmd_args = + List.append ["-smt2"; + "-in"; + Util.format1 "smt.random_seed=%s" (string_of_int (Options.z3_seed ()))] + (Options.z3_cliopt ()) in + (cmd, cmd_args) + +let new_z3proc id cmd_and_args = + check_z3version(); + BU.start_process id (fst cmd_and_args) (snd cmd_and_args) (fun s -> s = "Done!") + +let new_z3proc_with_id = + let ctr = BU.mk_ref (-1) in + (fun cmd_and_args -> new_z3proc (BU.format1 "bg-%s" (incr ctr; !ctr |> string_of_int)) cmd_and_args) + +type bgproc = { + ask: string -> string; + refresh: unit -> unit; + restart: unit -> unit +} + +let cmd_and_args_to_string cmd_and_args = + String.concat "" [ + "cmd="; (fst cmd_and_args); + " args=["; (String.concat ", " (snd cmd_and_args)); + "]" + ] + +(* the current background process is stored in the_z3proc + the params with which it was started are stored in the_z3proc_params + refresh will kill and restart the process if the params changed or + we have asked the z3 process something + *) let bg_z3_proc = let the_z3proc = BU.mk_ref None in + let the_z3proc_params = BU.mk_ref (Some ("", [""])) in + let the_z3proc_ask_count = BU.mk_ref 0 in + let make_new_z3_proc cmd_and_args = + the_z3proc := Some (new_z3proc_with_id cmd_and_args); + the_z3proc_params := Some cmd_and_args; + the_z3proc_ask_count := 0 in let z3proc () = - if !the_z3proc = None then - the_z3proc := Some (new_z3proc_with_id ()); + if !the_z3proc = None then make_new_z3_proc (z3_cmd_and_args ()); must (!the_z3proc) in - let x : list = [] in let ask input = + incr the_z3proc_ask_count; let kill_handler () = "\nkilled\n" in BU.ask_process (z3proc ()) input kill_handler in let refresh () = - BU.kill_process (z3proc ()); - the_z3proc := Some (new_z3proc_with_id ()); + let next_params = z3_cmd_and_args () in + let old_params = must (!the_z3proc_params) in + if (Options.log_queries()) || (!the_z3proc_ask_count > 0) || (not (old_params = next_params)) then begin + if (Options.query_stats()) && (not (!the_z3proc = None)) then + BU.print3 "Refreshing the z3proc (ask_count=%s old=[%s] new=[%s]) \n" (BU.string_of_int !the_z3proc_ask_count) (cmd_and_args_to_string old_params) (cmd_and_args_to_string next_params); + BU.kill_process (z3proc ()); + make_new_z3_proc next_params + end ; query_logging.close_log() in let restart () = query_logging.close_log(); - the_z3proc := None; - the_z3proc := Some (new_z3proc_with_id ()) in + let next_params = z3_cmd_and_args () in + make_new_z3_proc next_params in + let x : list = [] in BU.mk_ref ({ask = BU.with_monitor x ask; refresh = BU.with_monitor x refresh; restart = BU.with_monitor x restart}) -let set_bg_z3_proc bgp = - bg_z3_proc := bgp type smt_output_section = list type smt_output = { @@ -385,7 +399,7 @@ let doZ3Exe (log_file:_) (r:Range.range) (fresh:bool) (input:string) (label_mess in let stdout = if fresh then - let proc = new_z3proc_with_id () in + let proc = new_z3proc_with_id (z3_cmd_and_args ()) in let kill_handler () = "\nkilled\n" in let out = BU.ask_process proc input kill_handler in BU.kill_process proc; @@ -423,80 +437,15 @@ type z3result = { type z3job = job_t -let job_queue : ref> = BU.mk_ref [] - -let pending_jobs = BU.mk_ref 0 - -let z3_job (log_file:_) (r:Range.range) fresh (label_messages:error_labels) input qhash () : z3result = - let start = BU.now() in - let status, statistics = - try doZ3Exe log_file r fresh input label_messages - with e when not (Options.trace_error()) -> - (!bg_z3_proc).refresh(); - raise e - in - let _, elapsed_time = BU.time_diff start (BU.now()) in - { z3result_status = status; - z3result_time = elapsed_time; - z3result_statistics = statistics; - z3result_query_hash = qhash; - z3result_log_file = log_file } +let run_job j = j.callback <| j.job () -let running = BU.mk_ref false - -let rec dequeue' () = - (*print_string (BU.string_of_int (List.length !job_queue));*) - let j = match !job_queue with - | [] -> failwith "Impossible" - | hd::tl -> - job_queue := tl; - hd in - incr pending_jobs; - BU.monitor_exit job_queue; - run_job j; - BU.with_monitor job_queue (fun () -> decr pending_jobs) (); dequeue (); () - -and dequeue () = match !running with - | true -> - let rec aux () = - BU.monitor_enter (job_queue); - match !job_queue with - | [] -> - BU.monitor_exit job_queue; - BU.sleep(50); - aux () - | _ -> dequeue'() in - aux() - | false -> () - -and run_job j = j.callback <| j.job () - -(* threads are spawned only if fresh, I.e. we check here and in ask the mode of execution, - should be improved by using another option, see ask *) let init () = - running := true; - let n_cores = (Options.n_cores()) in - if (n_cores > 1) then - let rec aux n = - if n = 0 then () - else (spawn dequeue; aux (n - 1)) in - aux n_cores - else () - -let enqueue j = - BU.with_monitor job_queue (fun () -> - job_queue := !job_queue@[j]; - BU.monitor_pulse job_queue) () + (* A no-op now that there's no concurrency *) + () let finish () = - let rec aux () = - let n, m = BU.with_monitor job_queue (fun () -> !pending_jobs, List.length !job_queue) () in - //Printf.printf "In finish: pending jobs = %d, job queue len = %d\n" n m; - if n+m=0 - then running := false - else let _ = BU.sleep(500) in - aux() in - aux() + (* A no-op now that there's no concurrency *) + () type scope_t = list> @@ -544,8 +493,7 @@ let giveZ3 decls = //refresh: create a new z3 process, and reset the bg_scope let refresh () = - if (Options.n_cores() < 2) then - (!bg_z3_proc).refresh(); + (!bg_z3_proc).refresh(); bg_scope := flatten_fresh_scope () let context_profile (theory:list) = @@ -645,12 +593,28 @@ let cache_hit else false -let ask_1_core +let z3_job (log_file:_) (r:Range.range) fresh (label_messages:error_labels) input qhash () : z3result = + let start = BU.now() in + let status, statistics = + try doZ3Exe log_file r fresh input label_messages + with e -> + refresh(); //refresh the solver but don't handle the exception; it'll be caught upstream + raise e + in + let _, elapsed_time = BU.time_diff start (BU.now()) in + { z3result_status = status; + z3result_time = elapsed_time; + z3result_statistics = statistics; + z3result_query_hash = qhash; + z3result_log_file = log_file } + +let ask (r:Range.range) (filter_theory:list -> list * bool) (cache:option) (label_messages:error_labels) (qry:list) + (_scope : option) // GM: This was only used in ask_n_cores (cb:cb) (fresh:bool) = let theory = @@ -665,35 +629,3 @@ let ask_1_core let input, qhash, log_file_name = mk_input fresh theory in if not (fresh && cache_hit log_file_name cache qhash cb) then run_job ({job=z3_job log_file_name r fresh label_messages input qhash; callback=cb}) - -let ask_n_cores - (r:Range.range) - (filter_theory:list -> list * bool) - (cache:option) - (label_messages:error_labels) - (qry:list) - (scope:option) - (cb:cb) - = let theory = List.flatten (match scope with - | Some s -> (List.rev s) - | None -> bg_scope := [] ; // Not needed; discard. - (List.rev !fresh_scope)) in - let theory = theory@[Push]@qry@[Pop] in - let theory, used_unsat_core = filter_theory theory in - let input, qhash, log_file_name = mk_input true theory in - if not (cache_hit log_file_name cache qhash cb) then - enqueue ({job=z3_job log_file_name r true label_messages input qhash; callback=cb}) - -let ask - (r:Range.range) - (filter:list -> list * bool) - (cache:option) - (label_messages:error_labels) - (qry:list) - (scope:option) - (cb:cb) - (fresh:bool) - = if Options.n_cores() = 1 then - ask_1_core r filter cache label_messages qry cb fresh - else - ask_n_cores r filter cache label_messages qry scope cb diff --git a/src/syntax/FStar.Syntax.Free.fs b/src/syntax/FStar.Syntax.Free.fs index 08c32a284da..66064ad4431 100644 --- a/src/syntax/FStar.Syntax.Free.fs +++ b/src/syntax/FStar.Syntax.Free.fs @@ -235,3 +235,5 @@ let univnames t = FStar.Util.as_set (fst (free_names_and_uvars t true)).free_uni let univnames_comp c = FStar.Util.as_set (fst (free_names_and_uvars_comp c true)).free_univ_names Syntax.order_univ_name let fvars t = snd (free_names_and_uvars t false) let names_of_binders (bs:binders) = FStar.Util.as_set ((fst (free_names_and_uvars_binders bs no_free_vars true)).free_names) Syntax.order_bv + +let uvars_uncached t = FStar.Util.as_set (fst (free_names_and_uvars t false)).free_uvars compare_uv diff --git a/src/syntax/FStar.Syntax.Free.fsi b/src/syntax/FStar.Syntax.Free.fsi index dba6f78b57f..cc1090dc585 100644 --- a/src/syntax/FStar.Syntax.Free.fsi +++ b/src/syntax/FStar.Syntax.Free.fsi @@ -35,3 +35,5 @@ val univnames: term -> set val univnames_comp: comp -> set val fvars: term -> set val names_of_binders: binders -> set + +val uvars_uncached: term -> set diff --git a/src/syntax/FStar.Syntax.Print.fs b/src/syntax/FStar.Syntax.Print.fs index d5f33ebf28f..92c1fa5f50c 100644 --- a/src/syntax/FStar.Syntax.Print.fs +++ b/src/syntax/FStar.Syntax.Print.fs @@ -693,6 +693,7 @@ let rec sigelt_to_string (x: sigelt) = | Sig_pragma(SetOptions s) -> U.format1 "#set-options \"%s\"" s | Sig_pragma(PushOptions None) -> "#push-options" | Sig_pragma(PushOptions (Some s)) -> U.format1 "#push-options \"%s\"" s + | Sig_pragma(RestartSolver) -> "#restart-solver" | Sig_pragma(PopOptions) -> "#pop-options" | Sig_inductive_typ(lid, univs, tps, k, _, _) -> let quals_str = quals_to_string' x.sigquals in diff --git a/src/syntax/FStar.Syntax.Resugar.fs b/src/syntax/FStar.Syntax.Resugar.fs index febbbb88207..789d485a7e4 100644 --- a/src/syntax/FStar.Syntax.Resugar.fs +++ b/src/syntax/FStar.Syntax.Resugar.fs @@ -968,6 +968,7 @@ let resugar_pragma = function | S.ResetOptions s -> A.ResetOptions s | S.PushOptions s -> A.PushOptions s | S.PopOptions -> A.PopOptions + | S.RestartSolver -> A.RestartSolver | S.LightOff -> A.LightOff let resugar_typ env datacon_ses se : sigelts * A.tycon = diff --git a/src/syntax/FStar.Syntax.Syntax.fs b/src/syntax/FStar.Syntax.Syntax.fs index 283011ba62d..d4e96e65bbb 100644 --- a/src/syntax/FStar.Syntax.Syntax.fs +++ b/src/syntax/FStar.Syntax.Syntax.fs @@ -50,6 +50,7 @@ type pragma = | ResetOptions of option | PushOptions of option | PopOptions + | RestartSolver | LightOff // IN F*: [@ PpxDerivingYoJson (PpxDerivingShowConstant "None") ] diff --git a/src/syntax/FStar.Syntax.Syntax.fsi b/src/syntax/FStar.Syntax.Syntax.fsi index 7c8ec5e8408..e1249c80755 100644 --- a/src/syntax/FStar.Syntax.Syntax.fsi +++ b/src/syntax/FStar.Syntax.Syntax.fsi @@ -47,6 +47,7 @@ type pragma = | ResetOptions of option | PushOptions of option | PopOptions + | RestartSolver | LightOff type memo<'a> = ref> diff --git a/src/syntax/FStar.Syntax.Util.fs b/src/syntax/FStar.Syntax.Util.fs index 705de42931f..cca5747d7a7 100644 --- a/src/syntax/FStar.Syntax.Util.fs +++ b/src/syntax/FStar.Syntax.Util.fs @@ -1689,7 +1689,7 @@ let rec term_eq_dbg (dbg : bool) t1 t2 = (check "arrow comp" (comp_eq_dbg dbg c1 c2)) | Tm_refine (b1,t1), Tm_refine (b2,t2) -> - (check "refine bv" (b1.index = b2.index)) && + (check "refine bv sort" (term_eq_dbg dbg b1.sort b2.sort)) && (check "refine formula" (term_eq_dbg dbg t1 t2)) | Tm_app (f1, a1), Tm_app (f2, a2) -> @@ -1830,8 +1830,8 @@ let has_attribute (attrs:list) (attr:lident) = // Setting pragmas /////////////////////////////////////////// let process_pragma p r = - let set_options t s = - match Options.set_options t s with + let set_options s = + match Options.set_options s with | Getopt.Success -> () | Getopt.Help -> Errors.raise_error @@ -1840,28 +1840,32 @@ let process_pragma p r = r | Getopt.Error s -> Errors.raise_error - (Errors.Fatal_FailToProcessPragma, - "Failed to process pragma: " ^s) - r + (Errors.Fatal_FailToProcessPragma, "Failed to process pragma: " ^ s) r in match p with | LightOff -> - if p = LightOff - then Options.set_ml_ish() + Options.set_ml_ish() + | SetOptions o -> - set_options Options.Set o + set_options o + | ResetOptions sopt -> Options.restore_cmd_line_options false |> ignore; begin match sopt with | None -> () - | Some s -> set_options Options.Reset s + | Some s -> set_options s end + | PushOptions sopt -> Options.internal_push (); begin match sopt with | None -> () - | Some s -> set_options Options.Reset s + | Some s -> set_options s end + + | RestartSolver -> + () + | PopOptions -> if Options.internal_pop () then () diff --git a/src/tactics/FStar.Tactics.Basic.fs b/src/tactics/FStar.Tactics.Basic.fs index 1fd65a1c911..2fdd268ae32 100644 --- a/src/tactics/FStar.Tactics.Basic.fs +++ b/src/tactics/FStar.Tactics.Basic.fs @@ -121,7 +121,10 @@ let unshadow (bs : binders) (t : term) : binders * term = match bs with | [] -> List.rev bs', SS.subst subst t | b::bs -> begin - let [b] = SS.subst_binders subst [b] in + let b = match SS.subst_binders subst [b] with + | [b] -> b + | _ -> failwith "impossible: unshadow subst_binders" + in let (bv0, q) = b in let nbs = fresh_until (s bv0) (fun s -> not (List.mem s seen)) in let bv = sset bv0 nbs in @@ -346,7 +349,7 @@ let do_unify env t1 t2 : tac = bind idtac (fun () -> if Env.debug env (Options.Other "1346") then ( Options.push (); - let _ = Options.set_options Options.Set "--debug_level Rel --debug_level RelCheck" in + let _ = Options.set_options "--debug_level Rel --debug_level RelCheck" in () ); bind (__do_unify env t1 t2) (fun r -> @@ -355,6 +358,19 @@ let do_unify env t1 t2 : tac = (* bind compress_implicits (fun _ -> *) ret r)) +(* Does t1 match t2? That is, do they unify without instantiating/changing t1? *) +let do_match env t1 t2 : tac = + let uvs1 = SF.uvars_uncached t1 in + bind (do_unify env t1 t2) (fun r -> + if r then begin + let uvs2 = SF.uvars_uncached t1 in + if not (set_eq uvs1 uvs2) + then ret false + else ret true + end + else ret false + ) + let remove_solved_goals : tac = bind get (fun ps -> let ps' = { ps with goals = List.filter (fun g -> Option.isNone (check_goal_solved g)) ps.goals } in @@ -741,7 +757,7 @@ let intro () : tac = wrap_err "intro" <| //BU.print1 "[intro]: old goal is %s" (goal_to_string goal); //BU.print1 "[intro]: new goal is %s" // (Print.ctx_uvar_to_string ctx_uvar); - //ignore (FStar.Options.set_options Options.Set "--debug_level Rel"); + //ignore (FStar.Options.set_options "--debug_level Rel"); (* Suppose if instead of simply assigning `?u` to the lambda term on the RHS, we tried to unify `?u` with the `(fun (x:t) -> ?v @ [NM(x, 0)])`. @@ -877,10 +893,16 @@ let rec mapM (f : 'a -> tac<'b>) (l : list<'a>) : tac> = bind (mapM f xs) (fun ys -> ret (y::ys))) -let rec __try_match_by_application (acc : list<(term * aqual * ctx_uvar)>) - (e : env) (ty1 : term) (ty2 : term) - : tac> = - bind (do_unify e ty1 ty2) (function +let rec __try_unify_by_application + (only_match : bool) + (acc : list<(term * aqual * ctx_uvar)>) + (e : env) (ty1 : term) (ty2 : term) + : tac> = + let f = if only_match + then do_match + else do_unify + in + bind (f e ty2 ty1) (function | true -> (* Done! *) ret acc @@ -894,13 +916,13 @@ let rec __try_match_by_application (acc : list<(term * aqual * ctx_uvar)>) bind (new_uvar "apply arg" e (fst b).sort) (fun (uvt, uv) -> let typ = U.comp_result c in let typ' = SS.subst [S.NT (fst b, uvt)] typ in - __try_match_by_application ((uvt, snd b, uv)::acc) e typ' ty2) + __try_unify_by_application only_match ((uvt, snd b, uv)::acc) e typ' ty2) end) -(* Can t1 match t2 if it's applied to arguments? If so return uvars for them *) +(* Can t1 unify t2 if it's applied to arguments? If so return uvars for them *) (* NB: Result is reversed, which helps so we use fold_right instead of fold_left *) -let try_match_by_application (e : env) (ty1 : term) (ty2 : term) : tac> = - __try_match_by_application [] e ty1 ty2 +let try_unify_by_application (only_match:bool) (e : env) (ty1 : term) (ty2 : term) : tac> = + __try_unify_by_application only_match [] e ty1 ty2 // uopt: Don't add goals for implicits that appear free in posterior goals. // This is very handy for users, allowing to turn @@ -915,15 +937,17 @@ let try_match_by_application (e : env) (ty1 : term) (ty2 : term) : tac = wrap_err "apply" <| +let t_apply (uopt:bool) (only_match:bool) (tm:term) : tac = wrap_err "apply" <| mlog (fun () -> BU.print1 "t_apply: tm = %s\n" (Print.term_to_string tm)) (fun _ -> bind (cur_goal ()) (fun goal -> let e = goal_env goal in bind (__tc e tm) (fun (tm, typ, guard) -> // Focus helps keep the goal order let typ = bnorm e typ in - bind (try_match_by_application e typ (goal_type goal)) (fun uvs -> - (* use normal implicit application for meta-args: meta application does + bind (try_unify_by_application only_match e typ (goal_type goal)) (fun uvs -> + mlog (fun () -> BU.print1 "t_apply: found args = %s\n" + (FStar.Common.string_of_list (fun (t, _, _) -> Print.term_to_string t) uvs)) (fun () -> + (* use normal implicit application for meta-args: meta application does not * make sense and the typechecker complains. *) let fix_qual q = match q with @@ -952,7 +976,7 @@ let t_apply (uopt:bool) (tm:term) : tac = wrap_err "apply" <| is_guard = false; })] ) uvs) (fun _ -> proc_guard "apply guard" e guard - )))))) + ))))))) // returns pre and post let lemma_or_sq (c : comp) : option<(term * term)> = @@ -1073,22 +1097,24 @@ let apply_lemma (tm:term) : tac = wrap_err "apply_lemma" <| focus ( let destruct_eq' (typ : typ) : option<(term * term)> = match U.destruct_typ_as_formula typ with - | Some (U.BaseConn(l, [_; (e1, _); (e2, _)])) + | Some (U.BaseConn(l, [_; (e1, None); (e2, None)])) when Ident.lid_equals l PC.eq2_lid || Ident.lid_equals l PC.c_eq2_lid -> Some (e1, e2) + | Some (U.BaseConn(l, [_; _; (e1, _); (e2, _)])) + when Ident.lid_equals l PC.eq3_lid + -> + Some (e1, e2) | _ -> match U.unb2t typ with | None -> None | Some t -> begin - BU.print1 "GG t = %s\n" (Print.term_to_string t); let hd, args = U.head_and_args t in match (SS.compress hd).n, args with | Tm_fvar fv, [(_, Some (Implicit _)); (e1, None); (e2, None)] when S.fv_eq_lid fv PC.op_Eq -> - (BU.print2 "wat %s -- %s\n" (Print.term_to_string e1) (Print.term_to_string e2); - Some (e1, e2)) + Some (e1, e2) | _ -> None end @@ -1524,30 +1550,24 @@ let pointwise (d : direction) (tau:tac) : tac = wrap_err "pointwise" bind (push_goals gs) (fun _ -> add_goals [goal_with_type g gt'])))) +let _trefl (l : term) (r : term) : tac = + bind (cur_goal ()) (fun g -> + bind (do_unify (goal_env g) l r) (fun b -> + if b then solve' g U.exp_unit else + (* if that didn't work, normalize and retry *) + let l = N.normalize [Env.UnfoldUntil delta_constant; Env.Primops; Env.UnfoldTac] (goal_env g) l in + let r = N.normalize [Env.UnfoldUntil delta_constant; Env.Primops; Env.UnfoldTac] (goal_env g) r in + bind (do_unify (goal_env g) l r) (fun b -> + if b then solve' g U.exp_unit else + fail2 "not a trivial equality ((%s) vs (%s))" (tts (goal_env g) l) (tts (goal_env g) r)))) + let trefl () : tac = wrap_err "trefl" <| bind (cur_goal ()) (fun g -> - match U.un_squash (goal_type g) with - | Some t -> - begin - let hd, args = U.head_and_args' t in - match (U.un_uinst hd).n, args with - | Tm_fvar fv, [_; (l, _); (r, _)] when S.fv_eq_lid fv PC.eq2_lid -> - bind (do_unify (goal_env g) l r) (fun b -> - if b - then solve' g U.exp_unit - else - let l = N.normalize [Env.UnfoldUntil delta_constant; Env.Primops; Env.UnfoldTac] (goal_env g) l in - let r = N.normalize [Env.UnfoldUntil delta_constant; Env.Primops; Env.UnfoldTac] (goal_env g) r in - bind (do_unify (goal_env g) l r) (fun b -> - if b - then solve' g U.exp_unit - else - fail2 "not a trivial equality ((%s) vs (%s))" (tts (goal_env g) l) (tts (goal_env g) r))) - | hd, _ -> - fail1 "trefl: not an equality (%s)" (tts (goal_env g) t) - end - | None -> - fail "not an irrelevant goal") + match destruct_eq (goal_type g) with + | Some (l, r) -> + _trefl l r + | None -> + fail1 "not an equality (%s)" (tts (goal_env g) (goal_type g))) let dup () : tac = bind (cur_goal ()) (fun g -> @@ -1623,7 +1643,7 @@ let set_options (s : string) : tac = wrap_err "set_options" <| bind (cur_goal ()) (fun g -> FStar.Options.push (); FStar.Options.set (Util.smap_copy g.opts); // copy the map, they are not purely functional - let res = FStar.Options.set_options FStar.Options.Set s in + let res = FStar.Options.set_options s in let opts' = FStar.Options.peek () in FStar.Options.pop (); match res with diff --git a/src/tactics/FStar.Tactics.Basic.fsi b/src/tactics/FStar.Tactics.Basic.fsi index 2fa2905e8a8..06160c2f492 100644 --- a/src/tactics/FStar.Tactics.Basic.fsi +++ b/src/tactics/FStar.Tactics.Basic.fsi @@ -60,7 +60,7 @@ val norm : list -> tac val norm_term_env : env -> list -> term -> tac val refine_intro : unit -> tac val t_exact : bool -> bool -> term -> tac -val t_apply : bool -> term -> tac +val t_apply : bool -> bool -> term -> tac val apply_lemma : term -> tac val rewrite : binder -> tac val rename_to : binder -> string -> tac diff --git a/src/tactics/boot/FStar.Tactics.Interpreter.fs b/src/tactics/boot/FStar.Tactics.Interpreter.fs index 7ae4e1a1672..e2e21e10849 100644 --- a/src/tactics/boot/FStar.Tactics.Interpreter.fs +++ b/src/tactics/boot/FStar.Tactics.Interpreter.fs @@ -186,8 +186,8 @@ and primitive_steps () : list = mktac3 0 "t_exact" t_exact e_bool e_bool RE.e_term e_unit t_exact NBET.e_bool NBET.e_bool NRE.e_term NBET.e_unit; - mktac2 1 "t_apply" t_apply e_bool RE.e_term e_unit - t_apply NBET.e_bool NRE.e_term NBET.e_unit; + mktac3 1 "t_apply" t_apply e_bool e_bool RE.e_term e_unit + t_apply NBET.e_bool NBET.e_bool NRE.e_term NBET.e_unit; mktac1 0 "apply_lemma" apply_lemma RE.e_term e_unit apply_lemma NRE.e_term NBET.e_unit; @@ -324,11 +324,11 @@ and unembed_tactic_0<'b> (eb:embedding<'b>) (embedded_tac_b:term) (ncb:norm_cb) then NBE.normalize else N.normalize_with_primitive_steps in - if proof_state.tac_verb_dbg then - BU.print1 "Starting normalizer with %s\n" (Print.term_to_string tm); + (* if proof_state.tac_verb_dbg then *) + (* BU.print1 "Starting normalizer with %s\n" (Print.term_to_string tm); *) let result = norm_f (primitive_steps ()) steps proof_state.main_context tm in - if proof_state.tac_verb_dbg then - BU.print1 "Reduced tactic: got %s\n" (Print.term_to_string result); + (* if proof_state.tac_verb_dbg then *) + (* BU.print1 "Reduced tactic: got %s\n" (Print.term_to_string result); *) // F* requires more annotations. // IN F*: let res : option<__result> = unembed (E.e_result eb) result ncb in @@ -520,7 +520,7 @@ let by_tactic_interp (pol:pol) (e:Env.env) (t:term) : tres = match (U.un_uinst hd).n, args with // with_tactic marker - | Tm_fvar fv, [(rett, Some (Implicit _)); (tactic, None); (assertion, None)] + | Tm_fvar fv, [(tactic, None); (assertion, None)] when S.fv_eq_lid fv PC.by_tactic_lid -> begin match pol with | Pos -> diff --git a/src/tests/FStar.Tests.Norm.fs b/src/tests/FStar.Tests.Norm.fs index 844c10db0c5..2e451facfd1 100644 --- a/src/tests/FStar.Tests.Norm.fs +++ b/src/tests/FStar.Tests.Norm.fs @@ -241,7 +241,7 @@ let run_either i r expected normalizer = Options.init(); //reset them Options.set_option "print_universes" (Options.Bool true); Options.set_option "print_implicits" (Options.Bool true); - // ignore (Options.set_options Options.Set "--debug Test --debug_level univ_norm --debug_level NBE"); + // ignore (Options.set_options "--debug Test --debug_level univ_norm --debug_level NBE"); always i (term_eq (U.unascribe x) expected) let run_interpreter i r expected = run_either i r expected (N.normalize [Env.Beta; Env.UnfoldUntil delta_constant; Env.Primops]) diff --git a/src/tests/interactive/Makefile b/src/tests/interactive/Makefile index 7ea66c2a441..9e8b9a37d5a 100644 --- a/src/tests/interactive/Makefile +++ b/src/tests/interactive/Makefile @@ -43,7 +43,7 @@ ifdef Z3 SMT=--smt $(Z3) endif -FSTAR:=${FSTAR_HOME}/bin/fstar.exe $(SMT) --ide +FSTAR:=${FSTAR_HOME}/bin/fstar.exe $(SMT) --ide --warn_error -282 # Feed .in to F* and record output as .out. Output is passed through cleanup.py diff --git a/src/tests/interactive/backtracking.refinements.out.expected b/src/tests/interactive/backtracking.refinements.out.expected index 532b1181f82..7b78dfb5135 100644 --- a/src/tests/interactive/backtracking.refinements.out.expected +++ b/src/tests/interactive/backtracking.refinements.out.expected @@ -16,15 +16,15 @@ {"kind": "response", "query-id": "15", "response": [{"level": "error", "message": "Syntax error: Parsing.Parse_error", "ranges": [{"beg": [3, 12], "end": [3, 12], "fname": ""}]}], "status": "success"} {"kind": "response", "query-id": "16", "response": [{"level": "error", "message": "Syntax error: Parsing.Parse_error", "ranges": [{"beg": [3, 12], "end": [3, 12], "fname": ""}]}], "status": "success"} {"kind": "response", "query-id": "17", "response": [], "status": "success"} -{"kind": "response", "query-id": "18", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: nat{a > 2}; got type int", "ranges": [{"beg": [3, 23], "end": [3, 24], "fname": ""}, {"beg": [3, 14], "end": [3, 19], "fname": ""}]}], "status": "failure"} +{"kind": "response", "query-id": "18", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: nat{a > 2}; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [3, 23], "end": [3, 24], "fname": ""}, {"beg": [3, 14], "end": [3, 19], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "19", "response": [], "status": "success"} {"kind": "response", "query-id": "20", "response": [], "status": "success"} -{"kind": "response", "query-id": "21", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: nat{a > 1}; got type int", "ranges": [{"beg": [3, 23], "end": [3, 24], "fname": ""}, {"beg": [3, 14], "end": [3, 19], "fname": ""}]}], "status": "failure"} +{"kind": "response", "query-id": "21", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: nat{a > 1}; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [3, 23], "end": [3, 24], "fname": ""}, {"beg": [3, 14], "end": [3, 19], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "22", "response": [], "status": "success"} {"kind": "response", "query-id": "23", "response": [], "status": "success"} {"kind": "response", "query-id": "24", "response": null, "status": "success"} {"kind": "response", "query-id": "25", "response": [], "status": "success"} -{"kind": "response", "query-id": "26", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: nat{a > 0}; got type int", "ranges": [{"beg": [3, 23], "end": [3, 25], "fname": ""}, {"beg": [3, 14], "end": [3, 19], "fname": ""}]}], "status": "failure"} +{"kind": "response", "query-id": "26", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: nat{a > 0}; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [3, 23], "end": [3, 25], "fname": ""}, {"beg": [3, 14], "end": [3, 19], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "27", "response": [], "status": "success"} {"kind": "response", "query-id": "28", "response": [], "status": "success"} {"kind": "response", "query-id": "29", "response": [], "status": "success"} @@ -43,7 +43,7 @@ {"kind": "response", "query-id": "42", "response": [], "status": "success"} {"kind": "response", "query-id": "43", "response": [], "status": "success"} {"kind": "response", "query-id": "44", "response": [], "status": "success"} -{"kind": "response", "query-id": "45", "response": [{"level": "error", "message": "Subtyping check failed; expected type b: nat{b > 1}; got type int", "ranges": [{"beg": [5, 22], "end": [5, 31], "fname": ""}, {"beg": [5, 13], "end": [5, 18], "fname": ""}]}], "status": "failure"} +{"kind": "response", "query-id": "45", "response": [{"level": "error", "message": "Subtyping check failed; expected type b: nat{b > 1}; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [5, 22], "end": [5, 31], "fname": ""}, {"beg": [5, 13], "end": [5, 18], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "46", "response": [], "status": "success"} {"kind": "response", "query-id": "47", "response": [], "status": "success"} {"kind": "response", "query-id": "48", "response": [], "status": "success"} @@ -53,7 +53,7 @@ {"kind": "response", "query-id": "52", "response": [], "status": "success"} {"kind": "response", "query-id": "53", "response": null, "status": "success"} {"kind": "response", "query-id": "54", "response": [], "status": "success"} -{"kind": "response", "query-id": "55", "response": [{"level": "error", "message": "Subtyping check failed; expected type b: nat{b > 1}; got type int", "ranges": [{"beg": [5, 22], "end": [5, 31], "fname": ""}, {"beg": [5, 13], "end": [5, 18], "fname": ""}]}], "status": "failure"} +{"kind": "response", "query-id": "55", "response": [{"level": "error", "message": "Subtyping check failed; expected type b: nat{b > 1}; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [5, 22], "end": [5, 31], "fname": ""}, {"beg": [5, 13], "end": [5, 18], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "56", "response": null, "status": "success"} {"kind": "response", "query-id": "57", "response": [], "status": "success"} {"kind": "response", "query-id": "58", "response": [], "status": "success"} @@ -61,12 +61,12 @@ {"kind": "response", "query-id": "60", "response": null, "status": "success"} {"kind": "response", "query-id": "61", "response": null, "status": "success"} {"kind": "response", "query-id": "62", "response": [], "status": "success"} -{"kind": "response", "query-id": "63", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: nat{a > 0}; got type int", "ranges": [{"beg": [3, 23], "end": [3, 25], "fname": ""}, {"beg": [3, 14], "end": [3, 19], "fname": ""}]}], "status": "failure"} +{"kind": "response", "query-id": "63", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: nat{a > 0}; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [3, 23], "end": [3, 25], "fname": ""}, {"beg": [3, 14], "end": [3, 19], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "64", "response": [], "status": "success"} -{"kind": "response", "query-id": "65", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: nat{a > 0}; got type int", "ranges": [{"beg": [3, 23], "end": [3, 24], "fname": ""}, {"beg": [3, 14], "end": [3, 19], "fname": ""}]}], "status": "failure"} +{"kind": "response", "query-id": "65", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: nat{a > 0}; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [3, 23], "end": [3, 24], "fname": ""}, {"beg": [3, 14], "end": [3, 19], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "66", "response": [], "status": "success"} {"kind": "response", "query-id": "67", "response": [], "status": "success"} -{"kind": "response", "query-id": "68", "response": [{"level": "error", "message": "Subtyping check failed; expected type b: nat{b > 1}; got type int", "ranges": [{"beg": [5, 22], "end": [5, 31], "fname": ""}, {"beg": [5, 13], "end": [5, 18], "fname": ""}]}], "status": "failure"} +{"kind": "response", "query-id": "68", "response": [{"level": "error", "message": "Subtyping check failed; expected type b: nat{b > 1}; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [5, 22], "end": [5, 31], "fname": ""}, {"beg": [5, 13], "end": [5, 18], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "69", "response": null, "status": "success"} {"kind": "response", "query-id": "70", "response": [], "status": "success"} {"kind": "response", "query-id": "71", "response": [], "status": "success"} diff --git a/src/tests/interactive/fstarmode_gh73.out.expected b/src/tests/interactive/fstarmode_gh73.out.expected index 07b705fb6c8..ac3a7d22775 100644 --- a/src/tests/interactive/fstarmode_gh73.out.expected +++ b/src/tests/interactive/fstarmode_gh73.out.expected @@ -4,4 +4,4 @@ {"kind": "response", "query-id": "3", "response": [{"level": "error", "message": "Expected expression of type \"int\"; got expression \"\"A\"\" of type \"string\"", "ranges": [{"beg": [4, 50], "end": [4, 51], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "4", "response": [], "status": "success"} {"contents": {"depth": 1, "goals": [{"goal": {"label": "", "type": "bool", "witness": "(*?u[...]*) _"}, "hyps": []}], "label": "at the time of failure", "location": "", "smt-goals": []}, "kind": "message", "level": "proof-state", "query-id": "5"} -{"kind": "response", "query-id": "5", "response": [{"level": "error", "message": "user tactic failed: exact: 1 : int does not exactly solve the goal bool (witness = (*?u[...]*) _)", "ranges": [{"beg": [4, 14], "end": [4, 57], "fname": ""}, {"beg": [59, 12], "end": [59, 16], "fname": "FStar.Tactics.Derived.fst"}]}], "status": "failure"} +{"kind": "response", "query-id": "5", "response": [{"level": "error", "message": "user tactic failed: exact: 1 : int does not exactly solve the goal bool (witness = (*?u[...]*) _)", "ranges": [{"beg": [4, 14], "end": [4, 57], "fname": ""}, {"beg": [63, 12], "end": [63, 16], "fname": "FStar.Tactics.Derived.fst"}]}], "status": "failure"} diff --git a/src/tests/interactive/integration.push-pop.out.expected b/src/tests/interactive/integration.push-pop.out.expected index a0a07033349..3017e3531f8 100644 --- a/src/tests/interactive/integration.push-pop.out.expected +++ b/src/tests/interactive/integration.push-pop.out.expected @@ -78,17 +78,17 @@ {"kind": "response", "query-id": "80", "response": [], "status": "success"} {"kind": "response", "query-id": "91", "response": [{"level": "error", "message": "Syntax error: Parsing.Parse_error", "ranges": [{"beg": [12, 0], "end": [12, 0], "fname": ""}]}], "status": "success"} {"kind": "response", "query-id": "98", "response": [], "status": "success"} -{"kind": "response", "query-id": "101", "response": [{"level": "error", "message": "Subtyping check failed; expected type nat; got type int", "ranges": [{"beg": [11, 15], "end": [11, 17], "fname": ""}, {"beg": [441, 17], "end": [441, 23], "fname": "prims.fst"}]}], "status": "failure"} +{"kind": "response", "query-id": "101", "response": [{"level": "error", "message": "Subtyping check failed; expected type nat; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [11, 15], "end": [11, 17], "fname": ""}, {"beg": [441, 17], "end": [441, 23], "fname": "prims.fst"}]}], "status": "failure"} {"kind": "response", "query-id": "107", "response": [], "status": "success"} {"kind": "response", "query-id": "108", "response": [], "status": "success"} {"kind": "response", "query-id": "112", "response": null, "status": "success"} {"kind": "response", "query-id": "114", "response": [], "status": "success"} -{"kind": "response", "query-id": "116", "response": [{"level": "error", "message": "Subtyping check failed; expected type nat; got type int", "ranges": [{"beg": [11, 15], "end": [11, 17], "fname": ""}, {"beg": [441, 17], "end": [441, 23], "fname": "prims.fst"}]}], "status": "failure"} +{"kind": "response", "query-id": "116", "response": [{"level": "error", "message": "Subtyping check failed; expected type nat; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [11, 15], "end": [11, 17], "fname": ""}, {"beg": [441, 17], "end": [441, 23], "fname": "prims.fst"}]}], "status": "failure"} {"kind": "response", "query-id": "118", "response": [], "status": "success"} {"kind": "response", "query-id": "119", "response": [], "status": "success"} {"kind": "response", "query-id": "122", "response": null, "status": "success"} {"kind": "response", "query-id": "124", "response": [], "status": "success"} -{"kind": "response", "query-id": "126", "response": [{"level": "error", "message": "Subtyping check failed; expected type nat; got type int", "ranges": [{"beg": [11, 15], "end": [11, 17], "fname": ""}, {"beg": [441, 17], "end": [441, 23], "fname": "prims.fst"}]}], "status": "failure"} +{"kind": "response", "query-id": "126", "response": [{"level": "error", "message": "Subtyping check failed; expected type nat; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [11, 15], "end": [11, 17], "fname": ""}, {"beg": [441, 17], "end": [441, 23], "fname": "prims.fst"}]}], "status": "failure"} {"kind": "response", "query-id": "128", "response": [], "status": "success"} {"kind": "response", "query-id": "130", "response": [], "status": "success"} {"kind": "response", "query-id": "133", "response": [], "status": "success"} @@ -96,20 +96,20 @@ {"kind": "response", "query-id": "159", "response": [{"level": "error", "message": "Expected expression of type \"Type0\"; got expression \"Integration.xx\" of type \"nat\"", "ranges": [{"beg": [13, 15], "end": [13, 20], "fname": ""}]}], "status": "success"} {"kind": "response", "query-id": "163", "response": [], "status": "success"} {"kind": "response", "query-id": "164", "response": [], "status": "success"} -{"kind": "response", "query-id": "165", "response": [{"level": "error", "message": "assertion failed", "ranges": [{"beg": [13, 8], "end": [13, 14], "fname": ""}, {"beg": [13, 15], "end": [13, 23], "fname": ""}]}], "status": "failure"} +{"kind": "response", "query-id": "165", "response": [{"level": "error", "message": "assertion failed; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [13, 8], "end": [13, 14], "fname": ""}, {"beg": [13, 15], "end": [13, 23], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "170", "response": [], "status": "success"} {"kind": "response", "query-id": "175", "response": [{"level": "error", "message": "Unexpected numeric literal. Restart F* to load FStar.UInt8.", "ranges": [{"beg": [13, 22], "end": [13, 24], "fname": ""}]}], "status": "success"} {"kind": "response", "query-id": "179", "response": [], "status": "success"} -{"kind": "response", "query-id": "180", "response": [{"level": "error", "message": "assertion failed", "ranges": [{"beg": [13, 8], "end": [13, 14], "fname": ""}, {"beg": [13, 15], "end": [13, 24], "fname": ""}]}], "status": "failure"} +{"kind": "response", "query-id": "180", "response": [{"level": "error", "message": "assertion failed; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [13, 8], "end": [13, 14], "fname": ""}, {"beg": [13, 15], "end": [13, 24], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "185", "response": [], "status": "success"} {"kind": "response", "query-id": "186", "response": [], "status": "success"} {"kind": "response", "query-id": "191", "response": null, "status": "success"} {"kind": "response", "query-id": "192", "response": null, "status": "success"} {"kind": "response", "query-id": "194", "response": [], "status": "success"} -{"kind": "response", "query-id": "198", "response": [{"level": "error", "message": "Subtyping check failed; expected type nat; got type int", "ranges": [{"beg": [11, 15], "end": [11, 17], "fname": ""}, {"beg": [441, 17], "end": [441, 23], "fname": "prims.fst"}]}], "status": "failure"} +{"kind": "response", "query-id": "198", "response": [{"level": "error", "message": "Subtyping check failed; expected type nat; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [11, 15], "end": [11, 17], "fname": ""}, {"beg": [441, 17], "end": [441, 23], "fname": "prims.fst"}]}], "status": "failure"} {"kind": "response", "query-id": "200", "response": [], "status": "success"} {"kind": "response", "query-id": "204", "response": [], "status": "success"} -{"kind": "response", "query-id": "205", "response": [{"level": "error", "message": "assertion failed", "ranges": [{"beg": [13, 8], "end": [13, 14], "fname": ""}, {"beg": [13, 15], "end": [13, 23], "fname": ""}]}], "status": "failure"} +{"kind": "response", "query-id": "205", "response": [{"level": "error", "message": "assertion failed; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [13, 8], "end": [13, 14], "fname": ""}, {"beg": [13, 15], "end": [13, 23], "fname": ""}]}], "status": "failure"} {"kind": "response", "query-id": "211", "response": [], "status": "success"} {"kind": "response", "query-id": "213", "response": [], "status": "success"} {"kind": "response", "query-id": "214", "response": [], "status": "success"} diff --git a/src/tests/interactive/number.interface-violation-and-fix.out.expected b/src/tests/interactive/number.interface-violation-and-fix.out.expected index 91600068fc3..f93cc399bbb 100644 --- a/src/tests/interactive/number.interface-violation-and-fix.out.expected +++ b/src/tests/interactive/number.interface-violation-and-fix.out.expected @@ -1,7 +1,7 @@ {"kind": "protocol-info", "rest": "[...]"} {"kind": "response", "query-id": "1", "response": null, "status": "success"} {"kind": "response", "query-id": "2", "response": [], "status": "success"} -{"kind": "response", "query-id": "3", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: int{a > 0}; got type int", "ranges": [{"beg": [3, 8], "end": [3, 10], "fname": ""}, {"beg": [18, 14], "end": [18, 19], "fname": "number.fsti"}]}], "status": "failure"} +{"kind": "response", "query-id": "3", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: int{a > 0}; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [3, 8], "end": [3, 10], "fname": ""}, {"beg": [18, 14], "end": [18, 19], "fname": "number.fsti"}]}], "status": "failure"} {"kind": "response", "query-id": "4", "response": null, "status": "success"} {"kind": "response", "query-id": "5", "response": null, "status": "success"} {"kind": "response", "query-id": "6", "response": [], "status": "success"} diff --git a/src/tests/interactive/number.interface-violation.out.expected b/src/tests/interactive/number.interface-violation.out.expected index e9ab41ba27d..c7b7f2cae7c 100644 --- a/src/tests/interactive/number.interface-violation.out.expected +++ b/src/tests/interactive/number.interface-violation.out.expected @@ -1,4 +1,4 @@ {"kind": "protocol-info", "rest": "[...]"} {"kind": "response", "query-id": "1", "response": null, "status": "success"} {"kind": "response", "query-id": "2", "response": [], "status": "success"} -{"kind": "response", "query-id": "3", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: int{a > 0}; got type int", "ranges": [{"beg": [3, 8], "end": [3, 10], "fname": ""}, {"beg": [18, 14], "end": [18, 19], "fname": "number.fsti"}]}], "status": "failure"} +{"kind": "response", "query-id": "3", "response": [{"level": "error", "message": "Subtyping check failed; expected type a: int{a > 0}; got type int; The solver found a (partial) counterexample, try to spell your proof in more detail or increase fuel/ifuel", "ranges": [{"beg": [3, 8], "end": [3, 10], "fname": ""}, {"beg": [18, 14], "end": [18, 19], "fname": "number.fsti"}]}], "status": "failure"} diff --git a/src/tosyntax/FStar.ToSyntax.ToSyntax.fs b/src/tosyntax/FStar.ToSyntax.ToSyntax.fs index 125359b8209..3c6bfdba43f 100644 --- a/src/tosyntax/FStar.ToSyntax.ToSyntax.fs +++ b/src/tosyntax/FStar.ToSyntax.ToSyntax.fs @@ -82,6 +82,7 @@ let trans_pragma = function | AST.ResetOptions sopt -> S.ResetOptions sopt | AST.PushOptions sopt -> S.PushOptions sopt | AST.PopOptions -> S.PopOptions + | AST.RestartSolver -> S.RestartSolver | AST.LightOff -> S.LightOff let as_imp = function @@ -1385,8 +1386,8 @@ and desugar_term_maybe_top (top_level:bool) (env:env_t) (top:term) : S.term * an let t2', aq2 = desugar_term_aq env t2 in let t3', aq3 = desugar_term_aq env t3 in mk (Tm_match(t1', - [(withinfo (Pat_constant (Const_bool true)) t2.range, None, t2'); - (withinfo (Pat_wild x) t3.range, None, t3')])), join_aqs [aq1;aq2;aq3] + [(withinfo (Pat_constant (Const_bool true)) t1.range, None, t2'); + (withinfo (Pat_wild x) t1.range, None, t3')])), join_aqs [aq1;aq2;aq3] | TryWith(e, branches) -> let r = top.range in @@ -1528,7 +1529,7 @@ and desugar_term_maybe_top (top_level:bool) (env:env_t) (top:term) : S.term * an let rel = eta_and_annot rel in let wild r = mk_term Wild r Expr in - let init = mk_term (Var C.calc_init_lid) init_expr.range Expr in + let init = mk_term (Var C.calc_init_lid) Range.dummyRange Expr in let last_expr = match List.last steps with | Some (CalcStep (_, _, last_expr)) -> last_expr | _ -> failwith "impossible: no last_expr on calc" @@ -1536,17 +1537,17 @@ and desugar_term_maybe_top (top_level:bool) (env:env_t) (top:term) : S.term * an let step r = mk_term (Var C.calc_step_lid) r Expr in let finish = mkApp (mk_term (Var C.calc_finish_lid) top.range Expr) [(rel, Nothing)] top.range in - let e = mkApp init [(init_expr, Nothing)] init_expr.range in + let e = mkApp init [(init_expr, Nothing)] Range.dummyRange in let (e, _) = List.fold_left (fun (e, prev) (CalcStep (rel, just, next_expr)) -> let pf = mkApp (step rel.range) [(wild rel.range, Hash); (init_expr, Hash); (prev, Hash); (eta_and_annot rel, Nothing); (next_expr, Nothing); - (thunk e, Nothing); (thunk just, Nothing)] just.range in + (thunk e, Nothing); (thunk just, Nothing)] Range.dummyRange in (pf, next_expr)) (e, init_expr) steps in - let e = mkApp finish [(init_expr, Hash); (last_expr, Hash); (thunk e, Nothing)] init_expr.range in + let e = mkApp finish [(init_expr, Hash); (last_expr, Hash); (thunk e, Nothing)] Range.dummyRange in desugar_term_maybe_top top_level env e | _ when (top.level=Formula) -> desugar_formula env top, noaqs diff --git a/src/typechecker/FStar.TypeChecker.Cfg.fs b/src/typechecker/FStar.TypeChecker.Cfg.fs index 2f7ab10882e..ce0332ed653 100644 --- a/src/typechecker/FStar.TypeChecker.Cfg.fs +++ b/src/typechecker/FStar.TypeChecker.Cfg.fs @@ -196,6 +196,18 @@ type debug_switches = { print_normalized : bool; } +let no_debug_switches = { + gen = false; + top = false; + cfg = false; + primop = false; + unfolding = false; + b380 = false; + wpe = false; + norm_delayed = false; + print_normalized = false; +} + type primitive_step = { name:Ident.lid; arity:int; @@ -949,24 +961,26 @@ let config' psteps s e = let d = match d with | [] -> [Env.NoDelta] | _ -> d in + let steps = to_fsteps s |> add_nbe in {tcenv = e; - debug = { gen = Env.debug e (Options.Other "Norm") + debug = if Options.debug_any () then + { gen = Env.debug e (Options.Other "Norm") ; top = Env.debug e (Options.Other "NormTop") ; cfg = Env.debug e (Options.Other "NormCfg") ; primop = Env.debug e (Options.Other "Primops") ; unfolding = Env.debug e (Options.Other "Unfolding") ; b380 = Env.debug e (Options.Other "380") - ; wpe = Env.debug e (Options.Other "WPE") + ; wpe = Env.debug e (Options.Other "WPE") ; norm_delayed = Env.debug e (Options.Other "NormDelayed") - ; print_normalized = Env.debug e (Options.Other "print_normalized_terms") }; - steps = to_fsteps s |> add_nbe ; + ; print_normalized = Env.debug e (Options.Other "print_normalized_terms")} + else no_debug_switches + ; + steps = steps; delta_level = d; primitive_steps = add_steps built_in_primitive_steps (retrieve_plugins () @ psteps); strong = false; memoize_lazy = true; - normalize_pure_lets = - (Options.normalize_pure_terms_for_extraction() - || not (s |> BU.for_some (eq_step PureSubtermsWithinComputations))); + normalize_pure_lets = (not steps.pure_subterms_within_computations) || Options.normalize_pure_terms_for_extraction(); reifying = false} let config s e = config' [] s e diff --git a/src/typechecker/FStar.TypeChecker.Common.fs b/src/typechecker/FStar.TypeChecker.Common.fs index feede1e4c09..b58a54e4a8b 100644 --- a/src/typechecker/FStar.TypeChecker.Common.fs +++ b/src/typechecker/FStar.TypeChecker.Common.fs @@ -77,7 +77,7 @@ module C = FStar.Parser.Const let mk_by_tactic tac f = let t_by_tactic = S.mk_Tm_uinst (tabbrev C.by_tactic_lid) [U_zero] in - S.mk_Tm_app t_by_tactic [S.iarg t_unit; S.as_arg tac; S.as_arg f] None Range.dummyRange + S.mk_Tm_app t_by_tactic [S.as_arg tac; S.as_arg f] None Range.dummyRange let rec delta_depth_greater_than l m = match l, m with | Delta_equational_at_level i, Delta_equational_at_level j -> i > j diff --git a/src/typechecker/FStar.TypeChecker.Err.fs b/src/typechecker/FStar.TypeChecker.Err.fs index fbfe50576b1..925f0b6c7e0 100644 --- a/src/typechecker/FStar.TypeChecker.Err.fs +++ b/src/typechecker/FStar.TypeChecker.Err.fs @@ -43,12 +43,48 @@ let info_at_pos env file row col = | Inr fv -> Some (Inr (FStar.Syntax.Syntax.lid_of_fv fv), info.identifier_ty, FStar.Syntax.Syntax.range_of_fv fv) +(* + * AR: smt_detail is either an Inr of a long multi-line message or Inr of a short one + * in the first case, we print it starting from a newline, + * while in the latter, it is printed on the same line + *) +let add_errors_smt_detail env errs smt_detail = + let maybe_add_smt_detail msg = + match smt_detail with + | Inr d -> msg ^ "\n\t" ^ d + | Inl d when BU.trim_string d <> "" -> msg ^ "; " ^ d + | _ -> msg + in + let errs = + errs + |> List.map + (fun (e, msg, r) -> + let e, msg, r = + if r = dummyRange + then e, msg, Env.get_range env + else let r' = Range.set_def_range r (Range.use_range r) in + if Range.file_of_range r' <> Range.file_of_range (Env.get_range env) //r points to another file + then e, + (msg ^ + " (Also see: " ^ Range.string_of_use_range r ^")" + ^ (if Range.use_range r <> Range.def_range r + then "(Other related locations: " ^ Range.string_of_def_range r ^")" + else "")), + Env.get_range env + else e, msg, r + in + e, maybe_add_smt_detail msg, r) + in + FStar.Errors.add_errors errs + +let add_errors env errs = add_errors_smt_detail env errs (Inl "") + let err_msg_type_strings env t1 t2 :(string * string) = let s1 = N.term_to_string env t1 in let s2 = N.term_to_string env t2 in if s1 = s2 then Options.with_saved_options (fun _ -> - ignore (Options.set_options Options.Set "--print_full_names --print_universes"); + ignore (Options.set_options "--print_full_names --print_universes"); N.term_to_string env t1, N.term_to_string env t2 ) else s1, s2 @@ -58,7 +94,7 @@ let err_msg_comp_strings env c1 c2 :(string * string) = let s2 = N.comp_to_string env c2 in if s1 = s2 then Options.with_saved_options (fun _ -> - ignore (Options.set_options Options.Set "--print_full_names --print_universes --print_effect_args"); + ignore (Options.set_options "--print_full_names --print_universes --print_effect_args"); N.comp_to_string env c1, N.comp_to_string env c2 ) else s1, s2 diff --git a/src/typechecker/FStar.TypeChecker.Normalize.fs b/src/typechecker/FStar.TypeChecker.Normalize.fs index 2b5e6f8d1f6..3fcf84ad17f 100644 --- a/src/typechecker/FStar.TypeChecker.Normalize.fs +++ b/src/typechecker/FStar.TypeChecker.Normalize.fs @@ -987,9 +987,12 @@ let decide_unfolding cfg env stack rng fv qninfo (* : option<(cfg * stack)> *) = let stack = push (App (env, ref, None, Range.dummyRange)) stack in Some (cfg, stack) -let is_fext_on_domain (t:term) :option = +(* on_domain_lids are constant, so compute them once *) +let on_domain_lids = let fext_lid (s:string) = Ident.lid_of_path ["FStar"; "FunctionalExtensionality"; s] Range.dummyRange in - let on_domain_lids = ["on_domain"; "on_dom"; "on_domain_g"; "on_dom_g"] |> List.map fext_lid in + ["on_domain"; "on_dom"; "on_domain_g"; "on_dom_g"] |> List.map fext_lid + +let is_fext_on_domain (t:term) :option = let is_on_dom fv = on_domain_lids |> List.existsb (fun l -> S.fv_eq_lid fv l) in match (SS.compress t).n with diff --git a/src/typechecker/FStar.TypeChecker.Rel.fs b/src/typechecker/FStar.TypeChecker.Rel.fs index 8916a7a4a02..b318d9d2828 100644 --- a/src/typechecker/FStar.TypeChecker.Rel.fs +++ b/src/typechecker/FStar.TypeChecker.Rel.fs @@ -2483,8 +2483,8 @@ and solve_t' (env:Env.env) (problem:tprob) (wl:worklist) : solution = solve_t env ({problem with lhs=t1; rhs=t2}) wl (* Need to maybe reunify the heads *) - | (HeadMatch unif, None) -> - rigid_heads_match env unif torig wl t1 t2 + | (HeadMatch need_unif, None) -> + rigid_heads_match env need_unif torig wl t1 t2 | (FullMatch, None) -> rigid_heads_match env false torig wl t1 t2 @@ -2990,10 +2990,14 @@ and solve_c (env:Env.env) (problem:problem) (wl:worklist) : solution = giveup env "incompatible monad ordering: GTot //rigid-rigid 1 + | GTotal (t1, _), GTotal (t2, _) -> //rigid-rigid 1 solve_t env (problem_using_guard orig t1 problem.relation t2 None "result type") wl + | Total (t1, _), GTotal (t2, _) -> + if problem.relation = SUB + then solve_t env (problem_using_guard orig t1 problem.relation t2 None "result type") wl + else giveup env "GTot =/= Tot" orig + | GTotal _, Comp _ | Total _, Comp _ -> solve_c env ({problem with lhs=mk_Comp <| Env.comp_to_comp_typ env c1}) wl @@ -3283,17 +3287,6 @@ let solve_deferred_constraints env (g:guard_t) = let solve_some_deferred_constraints env (g:guard_t) = try_solve_deferred_constraints true env g -let last_proof_ns : ref> = BU.mk_ref None - -let maybe_update_proof_ns env : unit = - let pns = env.proof_ns in - match !last_proof_ns with - | None -> last_proof_ns := Some pns - | Some old -> - if old = pns - then () - else (env.solver.refresh (); last_proof_ns := Some pns) - //use_smt flag says whether to use the smt solver to discharge this guard //if use_smt = true, this function NEVER returns None, the error might come from the smt solver though //if use_smt = false, then None means could not discharge the guard without using smt @@ -3335,7 +3328,7 @@ let discharge_guard' use_env_range_msg env (g:guard_t) (use_smt:bool) : option - ignore <| Options.set_options Options.Set "--no_tactics"; + ignore <| Options.set_options "--no_tactics"; let vcs = env.solver.preprocess env vc in vcs |> List.map (fun (env, goal, opts) -> env, N.normalize [Env.Simplify; Env.Primops] env goal, opts) @@ -3353,7 +3346,6 @@ let discharge_guard' use_env_range_msg env (g:guard_t) (use_smt:bool) : option FStar.Options.push (); FStar.Options.set opts; - maybe_update_proof_ns env; if debug then Errors.diag (Env.get_range env) (BU.format2 "Trying to solve:\n> %s\nWith proof_ns:\n %s\n" diff --git a/src/typechecker/FStar.TypeChecker.Tc.fs b/src/typechecker/FStar.TypeChecker.Tc.fs index 3828b548918..69f25827d0c 100644 --- a/src/typechecker/FStar.TypeChecker.Tc.fs +++ b/src/typechecker/FStar.TypeChecker.Tc.fs @@ -1043,12 +1043,6 @@ let tc_inductive env ses quals lids = try tc_inductive' env ses quals lids |> (fun r -> pop (); r) with e -> pop (); raise e -//when we process a reset-options pragma, we need to restart z3 etc. -let z3_reset_options (en:env) :env = - let env = Env.set_proof_ns (Options.using_facts_from ()) en in - env.solver.refresh (); - env - let get_fail_se (se:sigelt) : option<(list * bool)> = let comb f1 f2 = match f1, f2 with @@ -1095,7 +1089,7 @@ let check_multi_eq (l1 : list) (l2 : list) : option<(int * int * int)> | [], (e, n) :: _ -> Some (e, 0, n) - | (hd1, n1) :: tl1, (hd2, n2) :: tl2 when hd1 <> hd2 -> + | (hd1, n1) :: tl1, (hd2, n2) :: tl2 -> if hd1 < hd2 then Some (hd1, n1, 0) else if hd1 > hd2 then @@ -1801,7 +1795,19 @@ let add_sigelt_to_env (env:Env.env) (se:sigelt) :Env.env = match se.sigel with | Sig_inductive_typ _ -> failwith "add_sigelt_to_env: Impossible, bare data constructor" | Sig_datacon _ -> failwith "add_sigelt_to_env: Impossible, bare data constructor" - | Sig_pragma (ResetOptions _) -> z3_reset_options env + + | Sig_pragma (PushOptions _) + | Sig_pragma PopOptions + | Sig_pragma (SetOptions _) + | Sig_pragma (ResetOptions _) -> + (* we keep --using_facts_from reflected in the environment, so update it here *) + let env = { env with proof_ns = Options.using_facts_from () } in + env + + | Sig_pragma RestartSolver -> + env.solver.refresh (); + env + | Sig_pragma _ | Sig_new_effect_for_free _ -> env | Sig_new_effect ne -> @@ -2146,7 +2152,7 @@ and finish_partial_modul (loading_from_cache:bool) (iface_exists:bool) (en:env) //restore command line options ad restart z3 (to reset things like nl.arith options) if not (Options.interactive ()) then begin //we should not have this case actually since extracted interfaces are not supported in ide yet Options.restore_cmd_line_options true |> ignore; - z3_reset_options en0 + en0 end else en0 in diff --git a/src/typechecker/FStar.TypeChecker.TcInductive.fs b/src/typechecker/FStar.TypeChecker.TcInductive.fs index eabb0cc926e..b762ee1b1ca 100644 --- a/src/typechecker/FStar.TypeChecker.TcInductive.fs +++ b/src/typechecker/FStar.TypeChecker.TcInductive.fs @@ -206,16 +206,9 @@ let tc_data (env:env_t) (tcs : list<(sigelt * universe)>) (* 3. Generalizing universes and 4. instantiate inductives within the datacons *) -let generalize_and_inst_within (env:env_t) (g:guard_t) (tcs:list<(sigelt * universe)>) (datas:list) +let generalize_and_inst_within (env:env_t) (tcs:list<(sigelt * universe)>) (datas:list) : list * list - = let tc_universe_vars = List.map snd tcs in - let g = {g with univ_ineqs=tc_universe_vars, snd (g.univ_ineqs)} in - - if Env.debug env <| Options.Other "GenUniverses" - then BU.print1 "@@@@@@Guard before generalization: %s\n" (Rel.guard_to_string env g); - - Rel.force_trivial_guard env g; - //We build a single arrow term of the form + = //We build a single arrow term of the form // tc_1 -> .. -> tc_n -> dt_1 -> .. dt_n -> Tot unit //for each type constructor tc_i //and each data constructor type dt_i @@ -936,7 +929,9 @@ let check_inductive_well_typedness (env:env_t) (ses:list) (quals:list) (quals:list - let sigel = match se.sigel with - | Sig_inductive_typ (lid, _, bs, t, l1, l2) -> - Sig_inductive_typ (lid, univs, SS.subst_binders subst bs, SS.subst (SS.shift_subst (List.length bs) subst) t, l1, l2) - | _ -> failwith "Impossible, can't happen" - in - { se with sigel = sigel }) tys - in - let datas = List.map (fun se -> - let sigel = match se.sigel with - | Sig_datacon (lid, _, t, lid_t, x, l) -> - Sig_datacon (lid, univs, SS.subst subst t, lid_t, x, l) - | _ -> failwith "Impossible, can't happen" - in - { se with sigel = sigel }) datas - in - Env.push_univ_vars env univs, tys, datas - in - (* Check each tycon *) let env, tcs, g = List.fold_right (fun tc (env, all_tcs, g) -> let env, tc, tc_u, guard = tc_tycon env tc in let g' = Rel.universe_inequality S.U_zero tc_u in if Env.debug env Options.Low then BU.print1 "Checked inductive: %s\n" (Print.sigelt_to_string tc); env, (tc, tc_u)::all_tcs, Env.conj_guard g (Env.conj_guard guard g') - ) tys (env1, [], Env.trivial_guard) + ) tys (env, [], Env.trivial_guard) in (* Check each datacon *) @@ -987,7 +959,17 @@ let check_inductive_well_typedness (env:env_t) (ses:list) (quals:list) (ec : term * comp) : term * co then mk_GTotal (U.comp_result c) else failwith "Impossible: Expected pure_or_ghost comp" in - let expected_c_opt, c = + (* + * AR: Following code has the logic for determining expected comp, comp, + * and after checking sub-comp whether we should return comp, rather than the expected comp + * If the input expected comp, copt, is Some, then that becomes the + * expected comp and that's what we return + * If the input expected comp is not set, and we are in Tot/Pure, GTot, ML case + * then expected comp is Tot/GTot/ML, and we return the expected comp + * When we are in an effectful case, and expected comp is not set, we check that + * c <: M.null_wp to make sure that c has a trivial precondition, cf. #1055 + * But in this case, we still return c so that callers can use the postconditions + *) + let expected_c_opt, c, should_return_c = + let ct = U.comp_result c in match copt with - | Some _ -> copt, c + | Some _ -> copt, c, false | None -> if (Options.ml_ish() && Ident.lid_equals Const.effect_ALL_lid (U.comp_effect_name c)) || (Options.ml_ish () && env.lax && not (U.is_pure_or_ghost_comp c)) - then Some (U.ml_comp (U.comp_result c) e.pos), c + then Some (U.ml_comp ct e.pos), c, false else if U.is_tot_or_gtot_comp c //these are already the defaults for their particular effects - then None, tot_or_gtot c //but, force c to be exactly ((G)Tot t), since otherwise it may actually contain a return + then None, tot_or_gtot c, false //but, force c to be exactly ((G)Tot t), since otherwise it may actually contain a return else if U.is_pure_or_ghost_comp c - then Some (tot_or_gtot c), c - else None, c + then Some (tot_or_gtot c), c, false + else if Options.trivial_pre_for_unannotated_effectful_fns () + then (* + * AR: note that Env.null_wp_for_eff does the normalization of effects + * the true flag indicates that check sub-comp but return c + *) + Some (Env.null_wp_for_eff env (U.comp_effect_name c) (ct |> env.universe_of env) ct), c, true + else None, c, true in + let c0 = c in let c = norm_c env c in match expected_c_opt with | None -> @@ -191,7 +210,7 @@ let check_expected_effect env (copt:option) (ec : term * comp) : term * co (Range.string_of_range e.pos) (guard_to_string env g); let e = TcUtil.maybe_lift env e (U.comp_effect_name c) (U.comp_effect_name expected_c) (U.comp_result c) in - e, expected_c, g + e, (if should_return_c then c0 else expected_c), g let no_logical_guard env (te, kt, f) = match guard_form f with @@ -1309,9 +1328,9 @@ and tc_abs env (top:term) (bs:binders) (body:term) : term * lcomp * guard_t = try normalizing it first; otherwise synthesize a type and check it against the given type *) if not norm - then as_function_typ true (N.unfold_whnf env t) + then as_function_typ true (t |> N.unfold_whnf env |> U.unascribe) //AR: without the unascribe we lose out on some arrows else let _, bs, _, c_opt, envbody, body, g_env = expected_function_typ env None body in - Some t, bs, [], c_opt, envbody, body, g_env + Some t, bs, [], c_opt, envbody, body, g_env in as_function_typ false t in @@ -1328,6 +1347,18 @@ and tc_abs env (top:term) (bs:binders) (body:term) : term * lcomp * guard_t = let tfun_opt, bs, letrec_binders, c_opt, envbody, body, g_env = expected_function_typ env topt body in + if Env.debug env Options.Extreme + then BU.print3 "After expected_function_typ, tfun_opt: %s, c_opt: %s, and expected type in envbody: %s\n" + (match tfun_opt with + | None -> "None" + | Some t -> Print.term_to_string t) + (match c_opt with + | None -> "None" + | Some t -> Print.comp_to_string t) + (match Env.expected_typ envbody with + | None -> "None" + | Some t -> Print.term_to_string t); + if Env.debug env <| Options.Other "NYC" then BU.print2 "!!!!!!!!!!!!!!!Guard for function with binders %s is %s\n" (Print.binders_to_string ", " bs) @@ -1365,17 +1396,32 @@ and tc_abs env (top:term) (bs:binders) (body:term) : term * lcomp * guard_t = let guard = TcUtil.close_guard_implicits env bs guard in //TODO: this is a noop w.r.t scoping; remove it and the eager_subtyping flag let tfun_computed = U.arrow bs cbody in let e = U.abs bs body (Some (U.residual_comp_of_comp (dflt cbody c_opt))) in + (* + * AR: there are three types in the code above now: + * topt : option -- the original annotation + * tfun_opt : option -- a definitionally equal type to topt (e.g. when topt is not an arrow but can be reduced to one) + * tfun_computed : term -- computed type of the abstraction + * + * the following code has the logic for which type to package the input expression with + * if tfun_opt is Some we are guaranteed that topt is also Some, and in that case, we use Some?.v topt + * in this case earlier we were returning Some?.v tfun_opt but that means we lost out on the user annotation + * if tfun_opt is None, then so is topt and we just return tfun_computed + *) let e, tfun, guard = match tfun_opt with | Some t -> let t = SS.compress t in + let t_annot = + match topt with + | Some t -> t + | None -> failwith "Impossible! tc_abs: if tfun_computed is Some, expected topt to also be Some" in begin match t.n with | Tm_arrow _ -> //we already checked the body to have the expected type; so, no need to check again //just repackage the expression with this type; t is guaranteed to be alpha equivalent to tfun_computed - e, t, guard + e, t_annot, guard | _ -> - let e, guard' = TcUtil.check_and_ascribe env e tfun_computed t in - e, t, Env.conj_guard guard guard' + let e, guard' = TcUtil.check_and_ascribe env e tfun_computed t in //QUESTION: t should also probably be t_annot here + e, t_annot, Env.conj_guard guard guard' end | None -> e, tfun_computed, guard in @@ -2864,6 +2910,7 @@ let type_of_tot_term env e = let t, c, g = try tc_tot_or_gtot_term env e with Error(e, msg, _) -> raise_error (e, msg) (Env.get_range env) in + let c = N.ghost_to_pure_lcomp env c in if U.is_total_lcomp c then t, c.res_typ, g else raise_error (Errors.Fatal_UnexpectedImplictArgument, (BU.format1 "Implicit argument: Expected a total term; got a ghost term: %s" (Print.term_to_string e))) (Env.get_range env) diff --git a/ulib/FStar.Algebra.CommMonoid.fst.hints b/ulib/FStar.Algebra.CommMonoid.fst.hints index 8b0f6183204..ab5c5589302 100644 --- a/ulib/FStar.Algebra.CommMonoid.fst.hints +++ b/ulib/FStar.Algebra.CommMonoid.fst.hints @@ -14,7 +14,7 @@ "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" ], 0, - "e74f1f9fac56e3fa22b74d5b153cd0f9" + "6126b7fc6fc84a8df1d4e25a09c55cbb" ], [ "FStar.Algebra.CommMonoid.__proj__CM__item__associativity", @@ -27,7 +27,7 @@ "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" ], 0, - "57b7ce495f2b8ddde9a66380c542f768" + "8548fec6bcb1a51822dea500a56b4571" ], [ "FStar.Algebra.CommMonoid.__proj__CM__item__commutativity", @@ -40,7 +40,7 @@ "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" ], 0, - "f34896ba07d28c2b4ec496cd4aa7ec9e" + "c7f481d454e4aa644fe0334939e72d70" ], [ "FStar.Algebra.CommMonoid.right_identity", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "e7a563365a8023c31627363473cf4ce2" + "2348184c73d0510595c842e7ce7cd9e9" ], [ "FStar.Algebra.CommMonoid.int_plus_cm", @@ -61,7 +61,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "e11be10695f50607a6ec8afdbfea6775" + "95ba0734342ad650dd927d3823df3e68" ], [ "FStar.Algebra.CommMonoid.int_multiply_cm", @@ -73,7 +73,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "b8a14524e0fe67c43bc15cb38f52d14a" + "316dc232ea012f07841c2269023babed" ], [ "FStar.Algebra.CommMonoid.__proj__CM__item__identity", @@ -88,7 +88,7 @@ "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" ], 0, - "8b5482a170c7eb1f47364d1c50d5743e" + "7253a15ea19d3c6cf5b336fcf644f6f6" ], [ "FStar.Algebra.CommMonoid.__proj__CM__item__associativity", @@ -101,7 +101,7 @@ "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" ], 0, - "8960f9a543d167669a402f5288177b18" + "88562895ae72da2553b855aedbc7fb26" ], [ "FStar.Algebra.CommMonoid.__proj__CM__item__commutativity", @@ -114,7 +114,7 @@ "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" ], 0, - "e1d0c730e377b3c7d3d1ae527008a15d" + "25efea441601777a95d99d40852a1c6f" ], [ "FStar.Algebra.CommMonoid.int_plus_cm", @@ -126,7 +126,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "7c4b3dd074ed8292033c0c677e7d9255" + "de1b97bdeb4683e899d2d9f9bfe0c565" ], [ "FStar.Algebra.CommMonoid.int_multiply_cm", @@ -138,7 +138,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "b0743067ebd0b8776c36c3aa8a77bcc3" + "99341780432dbbb4c311d84ee8c77215" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Algebra.Monoid.fst.hints b/ulib/FStar.Algebra.Monoid.fst.hints index 27d07d21ac6..4931aaf2918 100644 --- a/ulib/FStar.Algebra.Monoid.fst.hints +++ b/ulib/FStar.Algebra.Monoid.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_FStar.Algebra.Monoid.Monoid_unit" ], 0, - "68cb78edcf0f598f2d2f6420fb0f957f" + "b46e15435f24968a69c436011be27809" ], [ "FStar.Algebra.Monoid.__proj__Monoid__item__left_unitality", @@ -27,7 +27,7 @@ "projection_inverse_FStar.Algebra.Monoid.Monoid_unit" ], 0, - "60b787ba4dfd5e32c3e5d487c1862df4" + "e196e2d0b990e4a68e2b04048e036032" ], [ "FStar.Algebra.Monoid.__proj__Monoid__item__associativity", @@ -39,7 +39,7 @@ "projection_inverse_FStar.Algebra.Monoid.Monoid_mult" ], 0, - "4434219be0097bf62fb69789b3484ba9" + "c9d227d212709d787659dbf0d22291b7" ], [ "FStar.Algebra.Monoid.intro_monoid", @@ -53,7 +53,7 @@ "projection_inverse_FStar.Algebra.Monoid.Monoid_unit" ], 0, - "0ef25cc892e1a27b0da00e2f69001ef2" + "1a3bc29ccb811f8820a9606acfed313a" ], [ "FStar.Algebra.Monoid.nat_plus_monoid", @@ -62,20 +62,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Algebra.Monoid.associativity_lemma", "equation_FStar.Algebra.Monoid.left_unitality_lemma", "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_Addition" ], 0, - "0f848bd4a6bf17858faf241b90de9f8c" + "bdf1beadb0ee10066eb14821c8e60e63" ], [ "FStar.Algebra.Monoid.int_plus_monoid", @@ -94,7 +90,7 @@ "token_correspondence_Prims.op_Addition" ], 0, - "f7bc1971e8506861a867e315459743df" + "ed059674741787626a405b10c355d00a" ], [ "FStar.Algebra.Monoid.conjunction_monoid", @@ -112,14 +108,14 @@ "equation_Prims.l_True", "equation_Prims.l_and", "equation_Prims.prop", "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_c5b6d273684b2a65b0f6b44a93b5720a", "token_correspondence_Prims.l_and", "true_interp", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "8b3766f4719a31e1c4d9b3e06e581811" + "e0db4f3fb2a8793e4d95b076c4161d44" ], [ "FStar.Algebra.Monoid.disjunction_monoid", @@ -135,13 +131,13 @@ "equation_Prims.l_False", "equation_Prims.l_or", "equation_Prims.prop", "equation_Prims.squash", "equation_Prims.subtype_of", "false_interp", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_b96a1b8a03edb9e5df0043cc71b592c1", "token_correspondence_Prims.l_or", "unit_typing" ], 0, - "d470aeeff0fed178ef82936d78124acd" + "14ecda64e7400d33a1da69a540a7d216" ], [ "FStar.Algebra.Monoid.bool_and_monoid", @@ -158,7 +154,7 @@ "token_correspondence_Prims.op_AmpAmp" ], 0, - "bfaa9a6b293619c11b77a1cccfa52104" + "8473adbbfc1ff94031bcde9be04e36da" ], [ "FStar.Algebra.Monoid.bool_or_monoid", @@ -176,7 +172,7 @@ "token_correspondence_Prims.op_BarBar" ], 0, - "7dfa967acba104d940562ef06e7505fa" + "c40790e75639e44347851368e42de496" ], [ "FStar.Algebra.Monoid.bool_xor_monoid", @@ -185,26 +181,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.Algebra.Monoid.Monoid", - "equation_FStar.Algebra.Monoid.associativity_lemma", - "equation_FStar.Algebra.Monoid.bool_and_monoid", - "equation_FStar.Algebra.Monoid.bool_or_monoid", - "equation_FStar.Algebra.Monoid.intro_monoid", + "FStar.Algebra.Monoid_interpretation_Tm_arrow_a41b9b98d4288401e09e5c3b51ccc4f5", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "bool_typing", "equation_FStar.Algebra.Monoid.associativity_lemma", "equation_FStar.Algebra.Monoid.left_unitality_lemma", "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "equation_Prims.squash", - "function_token_typing_FStar.Algebra.Monoid.bool_and_monoid", - "function_token_typing_FStar.Algebra.Monoid.bool_or_monoid", - "interpretation_Tm_abs_4a331c73914bbda47617fac25c96e16b", + "interpretation_Tm_abs_5043f38a94b5783f1a2853ffc23a082c", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "token_correspondence_Prims.op_AmpAmp", - "token_correspondence_Prims.op_BarBar", "unit_typing" + "typing_Tm_abs_5043f38a94b5783f1a2853ffc23a082c" ], 0, - "557726fe2145fb88eeb8f0910aca6290" + "41cd9302f3722734f47b404c3c5da95d" ], [ "FStar.Algebra.Monoid.lift_monoid_option", @@ -213,8 +201,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Algebra.Monoid_interpretation_Tm_arrow_8642820de7ef3207e60792b8b0567d97", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "FStar.Algebra.Monoid_interpretation_Tm_arrow_626a65ce1123f7be4323f3d34a63d3b5", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Algebra.Monoid.Monoid", @@ -227,7 +214,7 @@ "equation_Prims.squash", "fuel_guarded_inversion_FStar.Algebra.Monoid.monoid", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_de7dd33ce0428a061b61a05a015e06cf", + "interpretation_Tm_abs_9bee8d4e0220718dda8a4314b261cdec", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Algebra.Monoid.Monoid_mult", "proj_equation_FStar.Algebra.Monoid.Monoid_unit", @@ -236,12 +223,12 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", - "typing_Tm_abs_de7dd33ce0428a061b61a05a015e06cf", "unit_typing" + "typing_Tm_abs_9bee8d4e0220718dda8a4314b261cdec" ], 0, - "54b4c8750fe8a85d733cdc58790f3b1e" + "5782a216f2718fa0896901f71701c233" ], [ "FStar.Algebra.Monoid.monoid_morphism", @@ -249,16 +236,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.squash", - "function_token_typing_Prims.unit", - "haseqTm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.squash", "function_token_typing_Prims.unit", + "haseqTm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "abc7cd63fec145f6ef1e3b3f5866eaa1" + "232b377a9fa1165d4adc67824f397f73" ], [ "FStar.Algebra.Monoid.intro_monoid_morphism", @@ -267,7 +251,7 @@ 1, [ "@query" ], 0, - "e345fbef1ffbfbd34f434524a8f5e770" + "b80de786fb46615830c9c81760d4203c" ], [ "FStar.Algebra.Monoid.uu___154", @@ -293,7 +277,7 @@ "token_correspondence_FStar.Algebra.Monoid.embed_nat_int" ], 0, - "c33a8a633afc60145eed2cc83027e346" + "efed6bd4ffcab651a7ede64790898c58" ], [ "FStar.Algebra.Monoid.neg", @@ -301,17 +285,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_False", "equation_Prims.l_imp", - "equation_Prims.l_not", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_False", + "equation_Prims.l_imp", "equation_Prims.l_not", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0216a3ef2d62edc25c0160aa8e7eafb5" + "585b0a15e90b48718a3ff654bd518d4b" ], [ "FStar.Algebra.Monoid.uu___156", @@ -334,16 +315,16 @@ "equation_Prims.prop", "equation_Prims.squash", "equation_Prims.subtype_of", "false_interp", "function_token_typing_FStar.Algebra.Monoid.neg", - "function_token_typing_Prims.l_True", - "function_token_typing_Prims.prop", "l_and-interp", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", + "function_token_typing_Prims.l_True", "l_and-interp", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", "proj_equation_FStar.Algebra.Monoid.Monoid_mult", "proj_equation_FStar.Algebra.Monoid.Monoid_unit", "projection_inverse_FStar.Algebra.Monoid.Monoid_mult", "projection_inverse_FStar.Algebra.Monoid.Monoid_unit", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_817387a4c2331f5e0875a6eb15d7c6dd", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", + "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", "token_correspondence_FStar.Algebra.Monoid.neg", "token_correspondence_Prims.l_and", @@ -352,7 +333,7 @@ "unit_typing" ], 0, - "91da219f99cb38cdb5a2a035b2ce8569" + "b7deed405554fdc2c32ecbbcc45ef1fd" ], [ "FStar.Algebra.Monoid.uu___165", @@ -374,17 +355,16 @@ "equation_Prims.l_or", "equation_Prims.logical", "equation_Prims.prop", "equation_Prims.squash", "equation_Prims.subtype_of", "false_interp", - "function_token_typing_FStar.Algebra.Monoid.neg", - "function_token_typing_Prims.l_False", - "function_token_typing_Prims.prop", "l_or-interp", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", + "function_token_typing_Prims.l_False", "l_or-interp", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", "proj_equation_FStar.Algebra.Monoid.Monoid_mult", "proj_equation_FStar.Algebra.Monoid.Monoid_unit", "projection_inverse_FStar.Algebra.Monoid.Monoid_mult", "projection_inverse_FStar.Algebra.Monoid.Monoid_unit", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_817387a4c2331f5e0875a6eb15d7c6dd", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", + "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", "token_correspondence_FStar.Algebra.Monoid.neg", "token_correspondence_Prims.l_and", @@ -393,7 +373,7 @@ "unit_typing" ], 0, - "020383dc28a384fb77393c7605cd5b95" + "ff2e2877262b4f417c411926d76c1e8f" ], [ "FStar.Algebra.Monoid.__proj__LAct__item__mult_lemma", @@ -405,7 +385,7 @@ "projection_inverse_FStar.Algebra.Monoid.LAct_act" ], 0, - "120c5a15fa66d9330600a5d7eeafdf83" + "611e08b52e78c9047815a8b1c7aee095" ], [ "FStar.Algebra.Monoid.__proj__LAct__item__unit_lemma", @@ -417,7 +397,7 @@ "projection_inverse_FStar.Algebra.Monoid.LAct_act" ], 0, - "9d4ef1d055d3716e45be63c4040777de" + "620cba8e8bbbc407112b53fb95daf68d" ], [ "FStar.Algebra.Monoid.__proj__Monoid__item__right_unitality", @@ -431,7 +411,7 @@ "projection_inverse_FStar.Algebra.Monoid.Monoid_unit" ], 0, - "9dfb0a5126ca862c7539dd87285604ee" + "00e263328af24a91264f978e9b244940" ], [ "FStar.Algebra.Monoid.__proj__Monoid__item__left_unitality", @@ -445,7 +425,7 @@ "projection_inverse_FStar.Algebra.Monoid.Monoid_unit" ], 0, - "64c18798bde7564015f28656c901200b" + "b4105e840f9f585f98798bb5c23d1b3d" ], [ "FStar.Algebra.Monoid.__proj__Monoid__item__associativity", @@ -457,7 +437,7 @@ "projection_inverse_FStar.Algebra.Monoid.Monoid_mult" ], 0, - "0468cec5aac81714d04e6568ea9ea601" + "b642ef5f34a2e80d0d92909b56782df4" ], [ "FStar.Algebra.Monoid.intro_monoid", @@ -471,7 +451,7 @@ "projection_inverse_FStar.Algebra.Monoid.Monoid_unit" ], 0, - "d4e032f553babfee4c18b3723e9490ab" + "d3a18c4dc68bef17578999c833a0654b" ], [ "FStar.Algebra.Monoid.nat_plus_monoid", @@ -480,20 +460,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Algebra.Monoid.associativity_lemma", "equation_FStar.Algebra.Monoid.left_unitality_lemma", "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_Prims.op_Addition" ], 0, - "ded087d9c8770d370fbf0fed6966402d" + "5459f50684093d1586c64f1831c4ff73" ], [ "FStar.Algebra.Monoid.int_plus_monoid", @@ -512,7 +488,7 @@ "token_correspondence_Prims.op_Addition" ], 0, - "9012c20d2ea426c38f02ea8cb3eadea0" + "5c792eca37eeed696ba80c641452a09f" ], [ "FStar.Algebra.Monoid.conjunction_monoid", @@ -530,14 +506,14 @@ "equation_Prims.l_True", "equation_Prims.l_and", "equation_Prims.prop", "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_c5b6d273684b2a65b0f6b44a93b5720a", "token_correspondence_Prims.l_and", "true_interp", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "a45a94391562fa25b0aa8d314ad5d01e" + "b58ea3983b62c79e479b7c08d3639a7b" ], [ "FStar.Algebra.Monoid.disjunction_monoid", @@ -553,13 +529,13 @@ "equation_Prims.l_False", "equation_Prims.l_or", "equation_Prims.prop", "equation_Prims.squash", "equation_Prims.subtype_of", "false_interp", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_b96a1b8a03edb9e5df0043cc71b592c1", "token_correspondence_Prims.l_or", "unit_typing" ], 0, - "5fa7f6c9fe4c4f91e561654f3b158486" + "0813d5ad4859ccbe410c80c418ce9ab8" ], [ "FStar.Algebra.Monoid.bool_and_monoid", @@ -576,7 +552,7 @@ "token_correspondence_Prims.op_AmpAmp" ], 0, - "757ed322e55338971b5c83a054248fb3" + "201b4895c7a99226eb92c1af0a8d44e4" ], [ "FStar.Algebra.Monoid.bool_or_monoid", @@ -594,7 +570,7 @@ "token_correspondence_Prims.op_BarBar" ], 0, - "dbe2071d9c9ad9d91e9039529768ab4c" + "efaf74d55047b32aa8c64c5533edf7d7" ], [ "FStar.Algebra.Monoid.bool_xor_monoid", @@ -603,26 +579,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.Algebra.Monoid.Monoid", - "equation_FStar.Algebra.Monoid.associativity_lemma", - "equation_FStar.Algebra.Monoid.bool_and_monoid", - "equation_FStar.Algebra.Monoid.bool_or_monoid", - "equation_FStar.Algebra.Monoid.intro_monoid", + "FStar.Algebra.Monoid_interpretation_Tm_arrow_a41b9b98d4288401e09e5c3b51ccc4f5", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "bool_typing", "equation_FStar.Algebra.Monoid.associativity_lemma", "equation_FStar.Algebra.Monoid.left_unitality_lemma", "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "equation_Prims.squash", - "function_token_typing_FStar.Algebra.Monoid.bool_and_monoid", - "function_token_typing_FStar.Algebra.Monoid.bool_or_monoid", - "interpretation_Tm_abs_4a331c73914bbda47617fac25c96e16b", + "interpretation_Tm_abs_5043f38a94b5783f1a2853ffc23a082c", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "token_correspondence_Prims.op_AmpAmp", - "token_correspondence_Prims.op_BarBar", "unit_typing" + "typing_Tm_abs_5043f38a94b5783f1a2853ffc23a082c" ], 0, - "44bf173299f81e18c76aa214a61de8e9" + "a8c81617ae690c7bf74ccc30888a0f8d" ], [ "FStar.Algebra.Monoid.lift_monoid_option", @@ -631,8 +599,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Algebra.Monoid_interpretation_Tm_arrow_8642820de7ef3207e60792b8b0567d97", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "FStar.Algebra.Monoid_interpretation_Tm_arrow_626a65ce1123f7be4323f3d34a63d3b5", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Algebra.Monoid.Monoid", @@ -645,7 +612,7 @@ "equation_Prims.squash", "fuel_guarded_inversion_FStar.Algebra.Monoid.monoid", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_de7dd33ce0428a061b61a05a015e06cf", + "interpretation_Tm_abs_9bee8d4e0220718dda8a4314b261cdec", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Algebra.Monoid.Monoid_mult", "proj_equation_FStar.Algebra.Monoid.Monoid_unit", @@ -654,12 +621,12 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", - "typing_Tm_abs_de7dd33ce0428a061b61a05a015e06cf", "unit_typing" + "typing_Tm_abs_9bee8d4e0220718dda8a4314b261cdec" ], 0, - "75c2ff75b39ba894042a11acf4d59922" + "301cbf7d42c81249aeaa88ff801112a6" ], [ "FStar.Algebra.Monoid.monoid_morphism", @@ -667,16 +634,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eqtype", "equation_Prims.squash", - "function_token_typing_Prims.unit", - "haseqTm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.squash", "function_token_typing_Prims.unit", + "haseqTm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b00fbe320581a0c2431dfa8320f77a50" + "fa1c9d5ab4a443777aebae273b0c2125" ], [ "FStar.Algebra.Monoid.intro_monoid_morphism", @@ -685,7 +649,7 @@ 1, [ "@query" ], 0, - "cd4da857aa7479c49d45c7a91df6027a" + "7448cd2aed9544bda431bdffb0f39ba4" ], [ "FStar.Algebra.Monoid.uu___154", @@ -711,7 +675,7 @@ "token_correspondence_FStar.Algebra.Monoid.embed_nat_int" ], 0, - "8b44f746784975f73d91bbeb60fc0901" + "f1c65d9deb94cbb0134f36a7d50066a0" ], [ "FStar.Algebra.Monoid.neg", @@ -719,17 +683,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_False", "equation_Prims.l_imp", - "equation_Prims.l_not", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_False", + "equation_Prims.l_imp", "equation_Prims.l_not", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "614e20304eac0ac06cfdb3734665fac9" + "254868a777b1df6795938a849e6a3944" ], [ "FStar.Algebra.Monoid.uu___156", @@ -752,16 +713,16 @@ "equation_Prims.prop", "equation_Prims.squash", "equation_Prims.subtype_of", "false_interp", "function_token_typing_FStar.Algebra.Monoid.neg", - "function_token_typing_Prims.l_True", - "function_token_typing_Prims.prop", "l_and-interp", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", + "function_token_typing_Prims.l_True", "l_and-interp", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", "proj_equation_FStar.Algebra.Monoid.Monoid_mult", "proj_equation_FStar.Algebra.Monoid.Monoid_unit", "projection_inverse_FStar.Algebra.Monoid.Monoid_mult", "projection_inverse_FStar.Algebra.Monoid.Monoid_unit", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_817387a4c2331f5e0875a6eb15d7c6dd", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", + "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", "token_correspondence_FStar.Algebra.Monoid.neg", "token_correspondence_Prims.l_and", @@ -770,7 +731,7 @@ "unit_typing" ], 0, - "36bc7c7bb9bc227cfc7b61d53f7d5f55" + "10da3b8c27935902f97c27f0c7cefb8b" ], [ "FStar.Algebra.Monoid.uu___165", @@ -792,17 +753,16 @@ "equation_Prims.l_or", "equation_Prims.logical", "equation_Prims.prop", "equation_Prims.squash", "equation_Prims.subtype_of", "false_interp", - "function_token_typing_FStar.Algebra.Monoid.neg", - "function_token_typing_Prims.l_False", - "function_token_typing_Prims.prop", "l_or-interp", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", + "function_token_typing_Prims.l_False", "l_or-interp", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", "proj_equation_FStar.Algebra.Monoid.Monoid_mult", "proj_equation_FStar.Algebra.Monoid.Monoid_unit", "projection_inverse_FStar.Algebra.Monoid.Monoid_mult", "projection_inverse_FStar.Algebra.Monoid.Monoid_unit", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_817387a4c2331f5e0875a6eb15d7c6dd", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", + "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", "token_correspondence_FStar.Algebra.Monoid.neg", "token_correspondence_Prims.l_and", @@ -811,7 +771,7 @@ "unit_typing" ], 0, - "4e40605d762b14c5661f97807232e60f" + "669f7cd932c2c2bb36f9c845fb81f90a" ], [ "FStar.Algebra.Monoid.__proj__LAct__item__mult_lemma", @@ -823,7 +783,7 @@ "projection_inverse_FStar.Algebra.Monoid.LAct_act" ], 0, - "c532a0b11e8c003b0b8b2c75c7edbd3d" + "4d00e3edd55a580a5a8e0a1dc8c21809" ], [ "FStar.Algebra.Monoid.__proj__LAct__item__unit_lemma", @@ -835,7 +795,7 @@ "projection_inverse_FStar.Algebra.Monoid.LAct_act" ], 0, - "48fd369263f1357c6f2d48653c335362" + "d08899e5cfcd94851dde61dc9fce4b9f" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.All.fst.hints b/ulib/FStar.All.fst.hints index c130f448c09..1b0e94ae3ef 100644 --- a/ulib/FStar.All.fst.hints +++ b/ulib/FStar.All.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_FStar.All.Failure", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_940bc9679c05df1008a4833b9817f1c1" + "refinement_interpretation_Tm_refine_149c6719f34c408becdf9120a4ae2d59" ], 0, - "7a878a34e87656e6e49bc60c28d9596e" + "c64e3a387eb816e334a3a83b9630f53e" ], [ "FStar.All.__proj__Failure__item__uu___", @@ -22,10 +22,10 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_FStar.All.Failure", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_940bc9679c05df1008a4833b9817f1c1" + "refinement_interpretation_Tm_refine_149c6719f34c408becdf9120a4ae2d59" ], 0, - "9996568ca16ae2b127543baca6ee92ab" + "9abb2f618c154370a5372f7c517d543b" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Array.fst.hints b/ulib/FStar.Array.fst.hints index e9045fa3b55..abbcf889972 100644 --- a/ulib/FStar.Array.fst.hints +++ b/ulib/FStar.Array.fst.hints @@ -7,16 +7,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "93b32a85c372916a1a3a04226f64e8dd" + "9ed58365cb86d879a8fb220e63d94a3e" ], [ "FStar.Array.op_At_Bar", @@ -26,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "59d2f91b36cc97b463edcb6a44b8d9ae" + "2d7088dc1fba6a30ff30731e5835d280" ], [ "FStar.Array.op_At_Bar", @@ -42,10 +39,10 @@ "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", "equation_FStar.Array.sel", "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.ST.ref", - "refinement_interpretation_Tm_refine_0677705a744a4f870466db9953881c37" + "refinement_interpretation_Tm_refine_1c18b271f24b11c611b39485cacb006e" ], 0, - "a155f4dfb85d1bfc0bfe55d0df9ad647" + "e1c5ccd58f94df09e4287dd0fdeec951" ], [ "FStar.Array.of_seq", @@ -55,11 +52,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0c6a42417c294535af3f7fc532f234b3" + "9e358922292dfffed45f5f86e94d1942" ], [ "FStar.Array.of_seq", @@ -73,7 +70,7 @@ "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.ST.ref" ], 0, - "7f615797f252463dfd57a3a6f59c0d8e" + "851895891d7148e59f70896844be5e1f" ], [ "FStar.Array.to_seq", @@ -85,13 +82,13 @@ "equation_FStar.Array.as_ref", "equation_FStar.Array.sel", "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", "equation_FStar.ST.ref", - "refinement_interpretation_Tm_refine_a9783fc2df9d090b03a93a48ae7738d5", + "refinement_interpretation_Tm_refine_1b82e8578e73652fe96932e0df869e54", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.seq" ], 0, - "a9c23d8e69a6b3f4e8cb993afeb7416d" + "650cfaafa401ef38de6116c7785f15c6" ], [ "FStar.Array.create", @@ -101,11 +98,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "96bdee6ef543a6c42320afe400435271" + "547cfd3dd4b4ccf473ef51fc0fa83bfe" ], [ "FStar.Array.create", @@ -119,7 +116,7 @@ "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.ST.ref" ], 0, - "d5f980d5f1f7a075a98b52d753f66611" + "82d2bb34af2bc189bdad6ce12f58348b" ], [ "FStar.Array.index", @@ -128,7 +125,7 @@ 0, [ "@query" ], 0, - "14a5163e5aeab9b4fb00beeebe5345ad" + "5d5b53ac21c9656e337e763f73d058af" ], [ "FStar.Array.index", @@ -136,11 +133,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_96b5890756b612fc959f9b49ead36e06" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "int_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee" ], 0, - "d073442e00c590eabebaad7ce1bececa" + "cc9a28d09ae85e748142c57d9a6c6e1d" ], [ "FStar.Array.upd", @@ -150,11 +149,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2d9bd6fcc64b061273c95e74c5a9b2a5" + "029e7d16130f9672bebe976c21ed7c1a" ], [ "FStar.Array.upd", @@ -171,14 +170,14 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.Heap.only", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_96b5890756b612fc959f9b49ead36e06", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "typing_FStar.Array.sel", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Seq.Base.seq" ], 0, - "53921a4a4a95a67bf455cbfb3d949f87" + "d511a3c07eb8559ee8e87210d92e03c0" ], [ "FStar.Array.length", @@ -188,11 +187,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "15c142157aa45aa7a8349f7766c520dd" + "57c35151827210854858170a77e45746" ], [ "FStar.Array.length", @@ -202,10 +201,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Array.as_ref", "equation_FStar.Array.sel", - "refinement_interpretation_Tm_refine_a9783fc2df9d090b03a93a48ae7738d5" + "refinement_interpretation_Tm_refine_1b82e8578e73652fe96932e0df869e54" ], 0, - "73a7dfbad9ecf8a6b3287ae06427a6ea" + "2a0c896b5c0b8f9bd4f2e5970a5ced5f" ], [ "FStar.Array.op", @@ -215,11 +214,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2e6080b60f48e635f370ee84e8b4dbc0" + "3a94c23b27dab6f2baa785d066b45e5d" ], [ "FStar.Array.op", @@ -230,10 +229,10 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Array.addr_of", "equation_FStar.Array.as_ref", "equation_FStar.Array.sel", "equation_FStar.Monotonic.Heap.only", - "refinement_interpretation_Tm_refine_a9783fc2df9d090b03a93a48ae7738d5" + "refinement_interpretation_Tm_refine_1b82e8578e73652fe96932e0df869e54" ], 0, - "3339b45db6dec27125e0a0a99eeddbea" + "6c7e42c8b225b56272c9fde1565330cd" ], [ "FStar.Array.swap", @@ -241,18 +240,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_96b5890756b612fc959f9b49ead36e06" + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee" ], 0, - "7056518663b026f20c6a637ae186f1e1" + "7a1da9a7fccf9027a46fd75a3751885c" ], [ "FStar.Array.swap", @@ -260,21 +256,19 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Array.sel", "equation_FStar.Monotonic.Heap.modifies", + "@MaxIFuel_assumption", "@query", "equation_FStar.Array.sel", + "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_96b5890756b612fc959f9b49ead36e06", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee", "typing_FStar.Array.sel" ], 0, - "e3c359541efc2d98adc9087699dbbf3e" + "fb35868306b3241b8ad5d1cdc896eac3" ], [ "FStar.Array.copy_aux", @@ -282,16 +276,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d787f693b24d06204e84472c26f9d1be" + "a3581c9f1b29618ce89984e0c2e58955" ], [ "FStar.Array.copy_aux", @@ -301,7 +292,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Array.addr_of", "equation_FStar.Array.array", "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", "equation_FStar.Array.only", "equation_FStar.Array.sel", @@ -309,10 +299,8 @@ "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_upd1", @@ -325,19 +313,21 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d85a14b682dea2baf4a0f810bd69a3f", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_44cec961b62656ed06a40aad5e133cef", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee", + "refinement_interpretation_Tm_refine_5b3045d527aa2f926ff2df40bb6ce6ba", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_e525ae8a5c7ff1e57299b8ad520c18d4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Array.addr_of", "typing_FStar.Array.only", "typing_FStar.Array.sel", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Seq.Base.seq" ], 0, - "616d0b4ecf3e0474087e74edc3a7b9d4" + "531ee8413e3c57d347a3a97e0a86c8b6" ], [ "FStar.Array.copy", @@ -347,11 +337,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dbbc944ccc91817e8ce3adecf83c7413" + "5a8d3fbce3b5abc86cc711c6dd9cd31d" ], [ "FStar.Array.copy", @@ -361,7 +351,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Array.addr_of", "equation_FStar.Array.array", "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", "equation_FStar.Array.only", "equation_FStar.Array.sel", @@ -372,9 +361,8 @@ "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Seq.Base.lemma_create_len", @@ -382,19 +370,20 @@ "lemma_FStar.Set.mem_singleton", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_1b688db9fb7bf47448ade255708249e1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_68c45120fd0467c2fa6ddc38c5c6abde", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7d228ae9165d75e27c5ec6d1d83a6b7b", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_ff039c0e8ab9e8389850aa44ef593611", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Array.addr_of", "typing_FStar.Array.only", "typing_FStar.Array.sel", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Seq.Base.seq", "typing_FStar.Set.empty" ], 0, - "c79471ab91d4df63c90d5c2d716862b8" + "944de4d7bd4f3cb4d1362c0c25c9cb22" ], [ "FStar.Array.blit_aux", @@ -402,18 +391,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d9f82f75b1ef53135bff697567474c8b" + "dc90784e2ed730ba30caebea528a17fb" ], [ "FStar.Array.blit_aux", @@ -423,7 +409,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Array.addr_of", "equation_FStar.Array.array", "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", "equation_FStar.Array.only", "equation_FStar.Array.sel", @@ -431,10 +416,8 @@ "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.Seq.Base.lemma_len_upd", @@ -444,20 +427,21 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_02c436638751f3c1b306fd5916992c22", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_61cee5d8c9d75e2d9da61c37facefd1b", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_abd3409e7d8503e899fdb00814ebcb58", + "refinement_interpretation_Tm_refine_d0e5572dd10ec0832bb5c26babc7dc4c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Array.addr_of", "typing_FStar.Array.only", "typing_FStar.Array.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Seq.Base.seq" + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.seq" ], 0, - "248d2d8a12c7e547b4dbd55a22983c72" + "7ca603dd22859c8eb6d2d76317aba448" ], [ "FStar.Array.blit", @@ -465,18 +449,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0ba590500f5985d4de4f684130bb0edc" + "2027e23d3356c7ea6454feb61004f0dd" ], [ "FStar.Array.blit", @@ -484,17 +465,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_3c67021c37b6d7208e1869ce7065a62a", - "refinement_interpretation_Tm_refine_b25f58a6c2a490fe522a66a80285b414", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_0199b907970c5d6f650262d2927180bb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e96bd1aaa721851aa475eb7d2b304e24" ], 0, - "4e9d269d2dd0d2b458cccadacb191a8e" + "877e565f823920747d288a19fe7adb70" ], [ "FStar.Array.sub", @@ -502,22 +480,19 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7423ad9441675c71cff904553087b698", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_976c012f988816b98be7f79f8f39daee", "typing_FStar.Array.sel", "typing_FStar.Seq.Base.length" ], 0, - "64b2fdadcd33e6affb18499018ff8fc6" + "f3da52b7575cce29a0356758e429c2c5" ], [ "FStar.Array.sub", @@ -527,20 +502,18 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Array.addr_of", "equation_FStar.Array.array", - "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", - "equation_FStar.Array.only", "equation_FStar.Array.sel", - "equation_FStar.Array.unused_in", + "bool_inversion", "equation_FStar.Array.addr_of", + "equation_FStar.Array.array", "equation_FStar.Array.as_ref", + "equation_FStar.Array.contains", "equation_FStar.Array.only", + "equation_FStar.Array.sel", "equation_FStar.Array.unused_in", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Seq.Base.lemma_create_len", @@ -555,16 +528,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5ad5c5a0acc5e6abae31bf8af13a4fdc", - "refinement_interpretation_Tm_refine_7423ad9441675c71cff904553087b698", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_795601e3612a872c461a8875f2d5108e", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_976c012f988816b98be7f79f8f39daee", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Array.addr_of", "typing_FStar.Array.only", "typing_FStar.Array.sel", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", @@ -572,7 +546,7 @@ "typing_FStar.Set.empty", "typing_FStar.Set.mem" ], 0, - "8889f9be5fb89e60533ed6c37f251198" + "6d8d0562df446c50343fbb76e781cc6f" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Array.fsti.hints b/ulib/FStar.Array.fsti.hints index ea91764efd0..096f8d8696c 100644 --- a/ulib/FStar.Array.fsti.hints +++ b/ulib/FStar.Array.fsti.hints @@ -7,16 +7,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "697e48ee5f330473337a6d945905a009" + "c19d80f88ee146a97bd49d6982220aa3" ], [ "FStar.Array.op_At_Bar", @@ -26,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d51a99333f751ea99bd49673b995a30f" + "ae3b0ad5e6f17667fdd31dd3ce8684bb" ], [ "FStar.Array.of_seq", @@ -40,11 +37,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1c5ca338ea5585dd1e1841e022efbaff" + "4d953de927f0585ee88b7723a4718c2e" ], [ "FStar.Array.create", @@ -54,11 +51,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "326119fba10fe192e70537a1e6e13faa" + "7c82b8b21c39dd84f13c4d383853ddc5" ], [ "FStar.Array.index", @@ -67,7 +64,7 @@ 0, [ "@query" ], 0, - "a990d66b71d535de972051a010a9a89d" + "6afde94bddd74e9ed846b3a5b3d40fa2" ], [ "FStar.Array.upd", @@ -77,11 +74,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0bec3de72073f4212d48d9ac03a3bb1a" + "e2f6789e024064a1be602b7f667d8169" ], [ "FStar.Array.length", @@ -91,11 +88,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9603b8e091b69dd39ea9565bca309ac1" + "c3b1231e27d14f448a7600fab8e939d1" ], [ "FStar.Array.op", @@ -105,11 +102,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0deeb45891a761f02383b0b46cc4beb3" + "573a7b668c50ad213f4f20f1a4d5f843" ], [ "FStar.Array.swap", @@ -117,18 +114,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_96b5890756b612fc959f9b49ead36e06" + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee" ], 0, - "cd1f86e2aa9f78e82caf2edfe3ad6334" + "6311cdc467fe0ec1d7bbe350d32e8384" ], [ "FStar.Array.copy", @@ -138,11 +132,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7b0ae68ba413ba67551669851855bef5" + "55661a27d9b55f9b5616a6d38da68e68" ], [ "FStar.Array.sub", @@ -150,22 +144,19 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7423ad9441675c71cff904553087b698", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_976c012f988816b98be7f79f8f39daee", "typing_FStar.Array.sel", "typing_FStar.Seq.Base.length" ], 0, - "0179a3117a0d6630d7552c91801c2987" + "68990ba4bcd431f9cfbc2f89c5e45cf5" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.BV.fst.hints b/ulib/FStar.BV.fst.hints index 05878f9bf7f..eabbcc745a7 100644 --- a/ulib/FStar.BV.fst.hints +++ b/ulib/FStar.BV.fst.hints @@ -11,11 +11,11 @@ "assumption_FStar.Seq.Base.seq__uu___haseq", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "function_token_typing_Prims.bool", - "haseqTm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "haseqTm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "10945bf5e7807a0f015d4b5b16e0ed72" + "eed00f6ff7b3d4be0e8ad5518442d9e4" ], [ "FStar.BV.bv_uext", @@ -23,15 +23,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "83ad87308f2541006ab1aecd2aeba76c" + "be48d8a30e21824de5210dc27dca543c" ], [ "FStar.BV.bv_uext", @@ -40,7 +37,7 @@ 1, [ "@query" ], 0, - "28deec9c3aad4c0140d7b79db8cf05b0" + "4b7ae6390924751917ec0b6f4391b79a" ], [ "FStar.BV.bv_uext", @@ -49,22 +46,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BV.bv_t", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Equality", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "b0a01f4798be77ee5d8e95e2193f2310" + "2b23b0db4e90839b8a0b7ee9bacb9dd5" ], [ "FStar.BV.bvand", @@ -79,7 +74,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c0276a8f7baee91ae8897061b848d82f" + "264964c7a44753593d3af466748e7fa6" ], [ "FStar.BV.bvxor", @@ -94,7 +89,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d7941d4029dbb101a8d9cd13430e6c6a" + "b2ec2df4780ba43bae3943f2ea859e0c" ], [ "FStar.BV.bvor", @@ -109,7 +104,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3b059bc677d9071f931bf104294cc57b" + "b5822615e92dc982c7ae4415b0a0df13" ], [ "FStar.BV.bvnot", @@ -118,7 +113,7 @@ 1, [ "@query" ], 0, - "dfaa818de2d25ccc7a46029ab61e2820" + "14c3a9648a89ed04198909d943c8ccf6" ], [ "FStar.BV.bvshl", @@ -127,7 +122,7 @@ 1, [ "@query" ], 0, - "f2c73ac2c43a8e818f1174b4a88ef652" + "665fa96efe464e6a8a41aded1699294c" ], [ "FStar.BV.bvshr", @@ -136,7 +131,7 @@ 1, [ "@query" ], 0, - "5c8042568ad1a4d735e0a39ecb727ef6" + "b2ff7fb51e5904ced75616e8bb203ce1" ], [ "FStar.BV.int2bv", @@ -145,7 +140,7 @@ 1, [ "@query" ], 0, - "2f881e07afe8b7e721e7dad2c0e486fa" + "604e39785d04f403442168c20c344b5a" ], [ "FStar.BV.int2bv", @@ -154,7 +149,7 @@ 1, [ "@query" ], 0, - "a9441973eebdb55d3b1f913f0f0b8609" + "6537ecdd294001cca2b8fc79ca1db844" ], [ "FStar.BV.bv2int", @@ -163,7 +158,7 @@ 1, [ "@query" ], 0, - "8994319159f419bc31b80ad8c113e6d5" + "474bdd4c62f2c77d6868db8a9ba10772" ], [ "FStar.BV.bv2int", @@ -172,7 +167,7 @@ 1, [ "@query" ], 0, - "801b630a4f21a8a52d9df17abc3cdfde" + "7f8f3d0b0e4b2e6cf4d3b08c607ab35a" ], [ "FStar.BV.list2bv", @@ -181,7 +176,7 @@ 1, [ "@query" ], 0, - "8fc6d3c0b6efa428139894b68bcb602d" + "fe0caba03ccdd706261c4626e55cd8e4" ], [ "FStar.BV.list2bv", @@ -190,7 +185,7 @@ 1, [ "@query" ], 0, - "8072a35048e0a8b1e5b77ce5f0db3f27" + "f64a07d316fdb84a62c8770260aaf8f8" ], [ "FStar.BV.list2bv", @@ -199,10 +194,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d" + "refinement_interpretation_Tm_refine_95256b532c59ed5361cc8e821a95025b" ], 0, - "3b19bacb2e1390ebe620e9b96c77969e" + "335fa7f064a1d1498bc4214b1151266d" ], [ "FStar.BV.bv2list", @@ -211,7 +206,7 @@ 1, [ "@query" ], 0, - "953748ac312d702bb308c1355f183cf0" + "03d2925b0aeac9ac848364fed986248f" ], [ "FStar.BV.bv2list", @@ -220,7 +215,7 @@ 1, [ "@query" ], 0, - "b55587b6492ecd5c0e65a793d55bcef0" + "0847c1e7be92cb74d617065f4369036a" ], [ "FStar.BV.bv2list", @@ -230,10 +225,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bv_t", "equation_FStar.BitVector.bv_t", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "ca9acb1b122de2513192af7dcb40b94c" + "f7cdb7763da5061aa608c2937d1f581b" ], [ "FStar.BV.bv_zero", @@ -243,22 +238,19 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "3f1940dee5d03b010b5237f124072d66" + "9f1b52afa44655e573ed42e0b92d0a83" ], [ "FStar.BV.bvult", @@ -270,7 +262,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e62ebe999d167a5d63b316b71b042313" + "3e61727cb4f68be48f7b45f3959648eb" ], [ "FStar.BV.bvult", @@ -282,7 +274,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "94029b7e8dba97a359f198b864ea44b4" + "ff4aaee4de756bdd235dbe3024c6573f" ], [ "FStar.BV.int2bv_lemma_1", @@ -290,18 +282,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "df0c74f5e3a92e23e94df998a787b434" + "ce18bc48e60b0372be10c544129ecd43" ], [ "FStar.BV.int2bv_lemma_1", @@ -310,7 +299,7 @@ 1, [ "@query" ], 0, - "fb9cea8246182f4c3b16101ac302e226" + "3c3b310e939c203c7def0ecbad5bd45b" ], [ "FStar.BV.int2bv_lemma_2", @@ -318,18 +307,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6e09904e97dbe277c17a1c49332a635f" + "9103f860af0dd65caaf70ecb62e990cc" ], [ "FStar.BV.int2bv_lemma_2", @@ -340,14 +326,16 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BV.int2bv", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "function_token_typing_Prims.bool", + "equation_Prims.eqtype", "equation_Prims.nat", + "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.UInt.to_vec" ], 0, - "3ae9a0832734e27318a2e2eb318d4675" + "c36bfc4ce07005dfebaec168c7ac5898" ], [ "FStar.BV.list2bv_bij", @@ -361,7 +349,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "640d4a7c19afe4fb3656855ffae8f136" + "deb6e9d7063fc81a4166497b0400583a" ], [ "FStar.BV.list2bv_bij", @@ -370,7 +358,7 @@ 1, [ "@query" ], 0, - "bf465d628b1d2309f4a8d25c3c588797" + "99b9c76169311e0c54f5f0f9af9be1ed" ], [ "FStar.BV.list2bv_bij", @@ -379,7 +367,7 @@ 1, [ "@query", "equation_FStar.BV.bv2list", "equation_FStar.BV.list2bv" ], 0, - "0fdd6be5217f7e66249bcc2c9a829b0f" + "83716eea9ab803771b2e026a083fa8f5" ], [ "FStar.BV.bv2list_bij", @@ -388,7 +376,7 @@ 1, [ "@query" ], 0, - "ffba7b05560e3938fdc9578de02194b8" + "575d795490d4cfbcb841a3cbc22ce625" ], [ "FStar.BV.bv2list_bij", @@ -397,7 +385,7 @@ 1, [ "@query" ], 0, - "c7c60b1883b84fea9779f4caf4b9c90e" + "217473d4cc312bf76d2bf3f667defa42" ], [ "FStar.BV.bv2list_bij", @@ -406,7 +394,7 @@ 1, [ "@query", "equation_FStar.BV.bv2list", "equation_FStar.BV.list2bv" ], 0, - "ac86b9750c0964bdd058f19d1dc4310d" + "c000dda07ad21ff9f5f022854fdf295f" ], [ "FStar.BV.bvadd", @@ -421,7 +409,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "62996aa07916f494be5c3fee8a73757c" + "9592bcafce5fbd7e7ca80cc9afa7a1db" ], [ "FStar.BV.bvadd", @@ -433,7 +421,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3fc725edda5d6ea0ad4c95face6727f7" + "65b1fa86b98e07a89ae6e3317c00189a" ], [ "FStar.BV.bvadd", @@ -442,7 +430,7 @@ 1, [ "@query" ], 0, - "59cb846d008967db31f0f6aac899fad2" + "380cf063b7ffda2d2b2aa38232bbc2f0" ], [ "FStar.BV.bvsub", @@ -457,7 +445,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3e76482837865df2f1591597beaba244" + "d2cc07b7cd3c3f721462f6e873c9d2dc" ], [ "FStar.BV.bvsub", @@ -469,7 +457,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d83659f2387b666777818d7799c9fcd6" + "059949b8214b3f1c056245d7e487eb64" ], [ "FStar.BV.bvsub", @@ -478,7 +466,7 @@ 1, [ "@query" ], 0, - "72d6b239e5170a5ff05aca7e0b5934fa" + "3f23d3d42526327d1b4e671481c822d6" ], [ "FStar.BV.bvdiv", @@ -493,7 +481,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "24973da71a202776a55b778b5c3395fe" + "b565f171a8b91d25993970933280982b" ], [ "FStar.BV.bvdiv", @@ -505,7 +493,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "fafbf9dc41a67efb0b379c8d0ffcb22c" + "6c8c0f5507fd9ec317899a9819214d3d" ], [ "FStar.BV.bvmod", @@ -520,7 +508,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e018d54c981e6909dfbc5ab36d9781da" + "23c5769c43fa95706ba3acfd84f824f9" ], [ "FStar.BV.bvmod", @@ -532,7 +520,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6dabadc798622f07893b0cd6e3ecf71b" + "331aa474167f5b862d534d6a2169438a" ], [ "FStar.BV.bvmod", @@ -541,7 +529,7 @@ 1, [ "@query" ], 0, - "985bc63e54f7fa6165c54040b0960fe1" + "f7545891bb2fa7b0b5d63d461a819810" ], [ "FStar.BV.bvmul", @@ -556,7 +544,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "32ddb56333a1cc53e20cdbd8a2206cdd" + "afed263e7cbe01165cbc38aeb9b97cde" ], [ "FStar.BV.bvmul", @@ -568,7 +556,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "491454a6d37807db21bf9c3166738d03" + "7264e0ca5e78587f74c59f9396a5f445" ], [ "FStar.BV.bvmul", @@ -577,7 +565,7 @@ 1, [ "@query" ], 0, - "547b68797b9dde491ac9f04d630b65b0" + "32b8242b3f47b3f4ef38c329e767b11e" ], [ "FStar.BV.inverse_vec_lemma", @@ -586,7 +574,7 @@ 1, [ "@query" ], 0, - "3ba2fe0684153df4c8e6214c01ee6985" + "49fa30b26ccd5ad5d840c71e0e67a81c" ], [ "FStar.BV.inverse_vec_lemma", @@ -601,11 +589,11 @@ "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_eq_elim", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "c857e2d418eb3f09c05009d16a19efd1" + "e398277ee50ec1dbd55b9c17e89cd4c2" ], [ "FStar.BV.inverse_num_lemma", @@ -613,18 +601,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f496a3709c0e76883caf319cb0cb74cb" + "386decfb09c3844168baf6b22b0cdd8d" ], [ "FStar.BV.inverse_num_lemma", @@ -633,7 +618,7 @@ 1, [ "@query", "equation_FStar.BV.bv2int", "equation_FStar.BV.int2bv" ], 0, - "90e94386e37c778c2b41b21f6b3d4fc7" + "5367e7586e51f332fb81c08f96ae20e0" ], [ "FStar.BV.int2bv_lemma_ult_1", @@ -645,7 +630,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ca865c532b850fa22b3b4d5611275058" + "59af0931494eac3133f771d532318eb1" ], [ "FStar.BV.int2bv_lemma_ult_1", @@ -657,7 +642,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "90a819385e723e96d09649665126437e" + "cf5bd26f7d4f35aa45e154ee30ee6cf1" ], [ "FStar.BV.int2bv_lemma_ult_1", @@ -669,7 +654,7 @@ "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" ], 0, - "7eaeabf804d86f024720ced93f749801" + "2bee262c5f6bc22afa49a9d5bf3f954d" ], [ "FStar.BV.int2bv_lemma_ult_2", @@ -681,7 +666,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "640baf5e9b4ab15b049ceec0e120be4a" + "3c966d7cd743a01ebed1a42383fdef06" ], [ "FStar.BV.int2bv_lemma_ult_2", @@ -693,7 +678,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8e80da1340b950ac2281d5e0fc0397b2" + "3ea844bcd82ba8eacea01eb41677d6ca" ], [ "FStar.BV.int2bv_lemma_ult_2", @@ -705,7 +690,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "7c7603a7d9965d4b9ffb2365ae72a53a" + "9bfb0358972e83cff0063dd5e5dc13f0" ], [ "FStar.BV.int2bv_logand", @@ -720,7 +705,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "665509a9d0ab0c233a7bea603b2d17e7" + "f3ee58cf4b4943170237e11d820ff543" ], [ "FStar.BV.int2bv_logand", @@ -732,7 +717,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ba8e00e4e1ca1e43b8b9b9be257746ac" + "286236a2288e62d1f860ab4422031417" ], [ "FStar.BV.int2bv_logand", @@ -744,10 +729,10 @@ "equation_FStar.BV.bv2int", "equation_FStar.BV.bvand", "equation_FStar.BV.int2bv", "equation_FStar.UInt.logand", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bd3612b7a3f3797d928aefe131a3bf12" + "a7c54eae28442a120d5343a2a2262978" ], [ "FStar.BV.int2bv_logxor", @@ -762,7 +747,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b3880c51e39afd0ff2ee3951e34c1530" + "2f8da398c722918602109f8bd388d8b5" ], [ "FStar.BV.int2bv_logxor", @@ -774,7 +759,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cc5e7190d28f0293dad0fcc76e6db23b" + "ca3b498acddd89bb8d2d3dcabec9359c" ], [ "FStar.BV.int2bv_logxor", @@ -786,10 +771,10 @@ "equation_FStar.BV.bv2int", "equation_FStar.BV.bvxor", "equation_FStar.BV.int2bv", "equation_FStar.UInt.logxor", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "28fb08703598f37cafeb94b4ca9d6070" + "5e0d9f09f32b3b6f0241667c92126dcc" ], [ "FStar.BV.int2bv_logor", @@ -804,7 +789,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "17bc48bd95102bacf6d0c04432ba05c6" + "f8ae851ee1b2e95b1997f9b00bed1d0d" ], [ "FStar.BV.int2bv_logor", @@ -816,7 +801,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "30247510c126e7330e809a0828c0d538" + "b5ca5c2a3287e002c85e2b2a8c631cf9" ], [ "FStar.BV.int2bv_logor", @@ -828,10 +813,10 @@ "equation_FStar.BV.bv2int", "equation_FStar.BV.bvor", "equation_FStar.BV.int2bv", "equation_FStar.UInt.logor", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4a7738e488e0acc1ce43c2d02394e393" + "c88acbcb1d11a8978a7a8624451811a9" ], [ "FStar.BV.int2bv_shl", @@ -849,7 +834,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f101067efc6dc349bea65dfc33c65a86" + "5fea9701345fcf64208a83b80db82852" ], [ "FStar.BV.int2bv_shl", @@ -865,7 +850,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c54d932eb225c47b3b99927360d079e8" + "d4a7784c32f4a5275f69376d59118b84" ], [ "FStar.BV.int2bv_shl", @@ -882,12 +867,12 @@ "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "b99282a95dd9a9d05f2bd793165a16e0" + "15b2f374ea81b80ce311be6a91f15179" ], [ "FStar.BV.int2bv_shr", @@ -905,7 +890,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ed95344f6a52446447f6cb82a24b233e" + "ad1a717539f21ff9578eec4ce8f8d8bb" ], [ "FStar.BV.int2bv_shr", @@ -921,7 +906,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0650185cac416fc8fb0bb80955b5849c" + "84b509710f6d843aa527b68020a39eb7" ], [ "FStar.BV.int2bv_shr", @@ -938,12 +923,12 @@ "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "29d6ea5589e6b5940dff796a059e9fd3" + "2ac73cdcf50298d52cc1ad43c8fe9b92" ], [ "FStar.BV.int2bv_add", @@ -958,7 +943,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3729555f6810c40cba6cfc6ef805b285" + "e99d3adba4678df7fb67e9e47aded68b" ], [ "FStar.BV.int2bv_add", @@ -970,7 +955,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5d6e794984eaa1bbf8f484dfcdec11e1" + "dd8961fd259b085cf83ef478e312b90f" ], [ "FStar.BV.int2bv_add", @@ -981,10 +966,10 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.BV.bvadd", "equation_Prims.eq2", "equation_Prims.squash", "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6cd2b0d66f5cd24c31115978469c9337" + "9692c5cf46e56590a70ea4daa0804569" ], [ "FStar.BV.int2bv_sub", @@ -999,7 +984,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "41d1ee2b3c198443c44b6909a2d2166b" + "8733841bf0c482b615b694ddb0e08f64" ], [ "FStar.BV.int2bv_sub", @@ -1011,7 +996,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "32da8c59c91d15390c2589110155079c" + "fb4498e276314938f4e61b397830151f" ], [ "FStar.BV.int2bv_sub", @@ -1022,10 +1007,10 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.BV.bvsub", "equation_Prims.eq2", "equation_Prims.squash", "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6e3967fc4f02830e386ffec8fd87a959" + "2148d94f81af00bf610afe1d49eedf36" ], [ "FStar.BV.int2bv_div", @@ -1040,7 +1025,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "74199ddf3082adbc8ef6f8e6dad2a95e" + "1f95a058badfa20262caf110dd26a5a9" ], [ "FStar.BV.int2bv_div", @@ -1052,7 +1037,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e3d59547b5878dca0e3beda269c2d320" + "2b5435c5ee508d36ade606ee3cc30484" ], [ "FStar.BV.int2bv_div", @@ -1063,10 +1048,10 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.BV.bvdiv", "equation_Prims.eq2", "equation_Prims.squash", "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "feebbf226acaeb625bdf001044eb04be" + "28cec5f762464344e398070ad9aca0b9" ], [ "FStar.BV.int2bv_mod", @@ -1081,7 +1066,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9c3d5d9013aaea2f559de15f3dbaebcf" + "077b99bfd39eb5f8ad9240e038ae22ec" ], [ "FStar.BV.int2bv_mod", @@ -1093,7 +1078,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3227983477200adbaf9d89476fc218e8" + "ea0a0cae66d51c8f227219c348efc7b6" ], [ "FStar.BV.int2bv_mod", @@ -1104,10 +1089,10 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.BV.bvmod", "equation_Prims.eq2", "equation_Prims.squash", "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f5e316baa5aedd0307cf7b6be25c29bf" + "cb719c918070d78504069dad71e4444f" ], [ "FStar.BV.int2bv_mul", @@ -1122,7 +1107,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "47747d27a34a51c75288f8de03979faf" + "b30be4ffc1fce72104e40b2f827bbfa3" ], [ "FStar.BV.int2bv_mul", @@ -1134,7 +1119,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e1471d4fb2318438989d58356d7ba665" + "49e0be4c42fa94382166d825f149f5a4" ], [ "FStar.BV.int2bv_mul", @@ -1145,10 +1130,10 @@ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.BV.bvmul", "equation_Prims.eq2", "equation_Prims.squash", "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fb6db4f7a15ead41cb0cbe7050ddad12" + "93f1d8e8d356f7d48abda0114539af4a" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.BV.fsti.hints b/ulib/FStar.BV.fsti.hints index 1ea76c66caa..623223873fa 100644 --- a/ulib/FStar.BV.fsti.hints +++ b/ulib/FStar.BV.fsti.hints @@ -7,15 +7,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "382d7ea9a1bf6b21ad3d2d3aacc916e8" + "d3d05d0a3bc2d5a576ece072ab249154" ], [ "FStar.BV.bvand", @@ -30,7 +27,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5570ad73aac0fe324049f6be1fa37cf5" + "c0a9ea6cb08d5bf851b687ac7b4f659e" ], [ "FStar.BV.bvxor", @@ -45,7 +42,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a6174b571ca5e20be707ed240801ac03" + "45b19f8f887a2aa7b8e1d8db8331060a" ], [ "FStar.BV.bvor", @@ -60,7 +57,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "72a61ca6b6efb052a99fc77c3cfaf743" + "1a00dffe3abdaa149f4dd7c816cd451c" ], [ "FStar.BV.bvnot", @@ -69,7 +66,7 @@ 1, [ "@query" ], 0, - "c8592bfe44285c21d48fe480f0085446" + "6c6b0df2ce836072457eb7df01b05eef" ], [ "FStar.BV.bvshl", @@ -78,7 +75,7 @@ 1, [ "@query" ], 0, - "322c1d083b9f4c8fa99e45cda2e00439" + "028953791a77c1793979f607cd8ed2fd" ], [ "FStar.BV.bvshr", @@ -87,7 +84,7 @@ 1, [ "@query" ], 0, - "e074cfb7b6690ee285811f2813bc8786" + "951b94019f2e7e1fb3b0bec7e4d12ae9" ], [ "FStar.BV.int2bv", @@ -96,7 +93,7 @@ 1, [ "@query" ], 0, - "5718de8e63fd9c1ee59f3838e6febe43" + "565c38b12e1340ff2271adcb1c581e49" ], [ "FStar.BV.bv2int", @@ -105,7 +102,7 @@ 1, [ "@query" ], 0, - "5e845ba12c2cf85016416d89f7c8f18e" + "1083f52cb6e155526989e84d61d000a7" ], [ "FStar.BV.list2bv", @@ -114,7 +111,7 @@ 1, [ "@query" ], 0, - "7db6e431a3607dcc8b9f56f48a55d1a4" + "29f9af352e479d25641ec6502884e43b" ], [ "FStar.BV.bv2list", @@ -123,7 +120,7 @@ 1, [ "@query" ], 0, - "54c945aae77f12031ea0c228c56de85e" + "c8df093fa20120a0acd857dee765d34d" ], [ "FStar.BV.bv_zero", @@ -133,22 +130,19 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "a8d94c81923d2160ba77c2b1a8b31838" + "4eab03be95d1fe23f9ed0d66f3947b72" ], [ "FStar.BV.bvult", @@ -160,7 +154,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0cbd397a5cc5e89dcc6eb1ef3e1a7096" + "a643d933f90e374cdee6a9638aa0f2d5" ], [ "FStar.BV.int2bv_lemma_1", @@ -168,18 +162,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b0b447662b7bdde5eac043d353469010" + "8de3e79ba788e7f36099f124faf9c155" ], [ "FStar.BV.int2bv_lemma_2", @@ -187,18 +178,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fa901c2eb1e653c4cceac88d7ff6c3ec" + "9302cd84b125378681852c69d5221e03" ], [ "FStar.BV.list2bv_bij", @@ -212,7 +200,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c5e4dfd2b72e39b05bb73f858d0293fe" + "db6cdaf97af0a8887f3ca8ffe8ae4c44" ], [ "FStar.BV.bv2list_bij", @@ -221,7 +209,7 @@ 1, [ "@query" ], 0, - "0c30a45ca5e5bf12ac4044b3b93ddc83" + "3390547d5e070d75df3c4d9daea9bde1" ], [ "FStar.BV.bvadd", @@ -236,7 +224,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ade91f8abbecb87e3eac318929a322af" + "1d3292c06fcfa02efe63f42435cf7685" ], [ "FStar.BV.bvsub", @@ -251,7 +239,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "de37000e8a3f348c15f13f975ef13830" + "f9bf02bdfa047f145c6eb8537af74dad" ], [ "FStar.BV.bvdiv", @@ -266,7 +254,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "47635826ff94e4f06ce11e2ca8f40648" + "f410e1d65b3f938594ae443d7e732265" ], [ "FStar.BV.bvmod", @@ -281,7 +269,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4ac6af88bd9be9d8c34b6ab5d41865d6" + "bc543e4733babb256596f352b91df5f3" ], [ "FStar.BV.bvmul", @@ -296,7 +284,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7033e40d82a213d92206613987c2df16" + "8c7e66556e016475ef8f91d2ccb07391" ], [ "FStar.BV.inverse_vec_lemma", @@ -305,7 +293,7 @@ 1, [ "@query" ], 0, - "97a1c4cfeb059ef38b8cddfce3ad4bb2" + "81e9341981d6aabd18f7c3f6e552b1cb" ], [ "FStar.BV.inverse_num_lemma", @@ -313,18 +301,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "05eb65cd150668c786041ff7dc0f9335" + "b0918400590a39dcf2f49599df33d7ee" ], [ "FStar.BV.int2bv_lemma_ult_1", @@ -336,7 +321,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "852e8f9ec97bce208b56d83fa9a9a2e3" + "d206e553789fd053d1821fa1a42d2187" ], [ "FStar.BV.int2bv_lemma_ult_2", @@ -348,7 +333,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ec52e83e960b73643d0aa203fd71379f" + "22ad0cd7c08703b38a2ad20d898d5e75" ], [ "FStar.BV.int2bv_logand", @@ -363,7 +348,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0f617c0f38f85f0aa9515fcf1d1af381" + "c7ddbb4b4691d7911c7061aa5a897cbf" ], [ "FStar.BV.int2bv_logxor", @@ -378,7 +363,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "371e26bfccd7f5bf41bb19830167a846" + "e8df6dce2724f1e60f9f3bd14571f2be" ], [ "FStar.BV.int2bv_logor", @@ -393,7 +378,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e16528dc260b5a6be7d73694a672475f" + "626856d9e7463ae35233db0cba86476a" ], [ "FStar.BV.int2bv_shl", @@ -411,7 +396,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b7e1cf142a10fdf0654c82d7976d7479" + "9d14543550326662ae30c9f9cc804163" ], [ "FStar.BV.int2bv_shr", @@ -429,7 +414,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a20f6ae531d4dbed93da30109e213b38" + "37ed3dc25f0ddc2c8ae3da1ab673c27c" ], [ "FStar.BV.int2bv_add", @@ -444,7 +429,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cd1c78ba16d5c88be941d20965328bc7" + "e1201a401d734c9f1161bdc75afb55d0" ], [ "FStar.BV.int2bv_sub", @@ -459,7 +444,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "99f79ddf457e7fbc1dfdd945e0ff5e7b" + "d4d20cecdc24484808d78961826930b2" ], [ "FStar.BV.int2bv_div", @@ -474,7 +459,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9c86f5ae745cd121888ee9e941616ed4" + "3c1f83376f885bf0ecd50fbef0c2f82d" ], [ "FStar.BV.int2bv_mod", @@ -489,7 +474,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "403ed39931057b6372e48c54857d91c7" + "345b9c1b2d2d237128fccc8f66d2a2b0" ], [ "FStar.BV.int2bv_mul", @@ -504,7 +489,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "84a478e2e33ff8863065667011d4a8a9" + "0c70d2850e79f12c0c8e3aaff1dbee7a" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.BigOps.fst.hints b/ulib/FStar.BigOps.fst.hints index a7a5ac62a86..887ff90f46e 100644 --- a/ulib/FStar.BigOps.fst.hints +++ b/ulib/FStar.BigOps.fst.hints @@ -13,10 +13,10 @@ "data_typing_intro_Prims.Nil@tok", "equation_FStar.BigOps.map_op_", "equation_with_fuel_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", "projection_inverse_Prims.Nil_a", - "typing_Tm_abs_18f611049baa5958dd71971dc9839fee" + "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f" ], 0, - "c701a26fa7affa188ac1f2769f852550" + "74ce51d2220993bfae9ded13d44eae4f" ], [ "FStar.BigOps.map_op'_cons", @@ -30,14 +30,14 @@ "@query", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "equation_FStar.BigOps.map_op_", "equation_with_fuel_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "interpretation_Tm_abs_18f611049baa5958dd71971dc9839fee", + "interpretation_Tm_abs_84d777d109851c58da209e2a4a34fb6f", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "typing_Tm_abs_18f611049baa5958dd71971dc9839fee" + "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f" ], 0, - "1598a5de5608ef8d24ee27791103f915" + "9ac9b4be7e2c65719132e79566a30edf" ], [ "FStar.BigOps.big_and'_nil", @@ -46,7 +46,7 @@ 1, [ "@query", "true_interp" ], 0, - "c820694c66eeaabd278231e896695d51" + "c54f76a0e3ba2e81755d457499e02df7" ], [ "FStar.BigOps.big_and'_cons", @@ -55,7 +55,7 @@ 1, [ "@query", "true_interp" ], 0, - "1d9fa1d8c21a1039f27c28a96b70ad9c" + "945974358984e2935e1c5ba1a103dc0b" ], [ "FStar.BigOps.big_and'_cons", @@ -64,7 +64,7 @@ 1, [ "@query" ], 0, - "50d12bffd9161849967305ba28b06ecd" + "96062b6dbb363f4fcd21973a9cfd10d3" ], [ "FStar.BigOps.big_and'_prop", @@ -80,12 +80,12 @@ "equation_Prims.l_True", "equation_Prims.l_and", "equation_Prims.squash", "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "fd81e04b2e0ae82fbbf8614fea0a7ede" + "cb736e3cb7c77e4c10a13e513a8e9405" ], [ "FStar.BigOps.big_and'_forall", @@ -108,7 +108,7 @@ "subterm_ordering_Prims.Cons", "true_interp" ], 0, - "0fd11fc3e032a1d33da8a57a25ed685d" + "f3a88a2c47209e85338fd4d291c47f91" ], [ "FStar.BigOps.big_and", @@ -127,12 +127,12 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.l_True", "function_token_typing_Prims.logical", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_18f611049baa5958dd71971dc9839fee", "unit_typing" + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f", "unit_typing" ], 0, - "aa0aaf99e55fa5a7f123c6f5a42d0f16" + "91cc7ef0306bdfb1cf34e2cc24ce9bd2" ], [ "FStar.BigOps.big_or'_nil", @@ -141,7 +141,7 @@ 1, [ "@query", "true_interp" ], 0, - "3095f5dc4f6ed21e2d94c937b84ef527" + "79b444ad9b062d0fd4fc52a7852a48f3" ], [ "FStar.BigOps.big_or'_cons", @@ -150,7 +150,7 @@ 1, [ "@query", "true_interp" ], 0, - "ae0341051583104c56f5e34ca3636191" + "4dee0d1d914efc7b2d63709f6a8ae1a9" ], [ "FStar.BigOps.big_or'_cons", @@ -159,7 +159,7 @@ 1, [ "@query" ], 0, - "f349a66179087efe64d6837a156c8f91" + "80afcfba35b2d9f7bbdcca923e6cfb1d" ], [ "FStar.BigOps.big_or'_prop", @@ -174,12 +174,12 @@ "equation_Prims.l_or", "equation_Prims.squash", "equation_Prims.subtype_of", "false_interp", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "unit_typing" ], 0, - "3f415e8978649f43b7fd1248e65e9cd1" + "37d51b496999243655a9ba4c4223fd2d" ], [ "FStar.BigOps.big_or'_exists", @@ -202,7 +202,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "ac86fcb568ed9b42abb26c40d7e306b4" + "393a52a487dc46cb26465e0a49088037" ], [ "FStar.BigOps.big_or", @@ -221,12 +221,12 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.l_False", "function_token_typing_Prims.logical", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_18f611049baa5958dd71971dc9839fee", "unit_typing" + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f", "unit_typing" ], 0, - "7af581256eb5dc3e71d23cd12f2f5df4" + "0872097fcae6c3892624ffc73dbcad24" ], [ "FStar.BigOps.pairwise_op'", @@ -240,7 +240,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "6e51ef619458cb1c47066e95d2d207a9" + "f6e3fa5b75d145ba4779bcb16fc0e442" ], [ "FStar.BigOps.pairwise_and'_nil", @@ -249,7 +249,7 @@ 1, [ "@query", "true_interp" ], 0, - "335a023fa6f7c65e9bc1f1306d38397d" + "b9fb9ee9bcabc9171dbb4ad729ecbd76" ], [ "FStar.BigOps.pairwise_and'_cons", @@ -258,7 +258,7 @@ 1, [ "@query", "true_interp" ], 0, - "e0312e3d69a9ac28c746ebcdad01a62b" + "adcaaffcd6fda115b04df9efae41dc91" ], [ "FStar.BigOps.pairwise_and'_prop", @@ -274,12 +274,12 @@ "equation_FStar.BigOps.pairwise_and_", "equation_Prims.l_True", "equation_Prims.l_and", "equation_Prims.squash", "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "5fa31002128df66b7dba390164f64d96" + "090c764b042c53f94c8c976d477ac37b" ], [ "FStar.BigOps.pairwise_and'_forall", @@ -303,7 +303,7 @@ "subterm_ordering_Prims.Cons", "true_interp" ], 0, - "f12eff535b82fb928cda4fb9bb82bf96" + "a3a63423fcb268f956744859896f1e1b" ], [ "FStar.BigOps.pairwise_and'_forall_no_repeats", @@ -330,7 +330,7 @@ "subterm_ordering_Prims.Cons", "true_interp" ], 0, - "17ac890d03dda459d09637d71543e415" + "374704fe8b9c1d630eb292b0f695e5e9" ], [ "FStar.BigOps.pairwise_and", @@ -345,12 +345,12 @@ "equality_tok_Prims.T@tok", "equation_Prims.l_True", "equation_Prims.l_and", "equation_Prims.squash", "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "0662ecf9dee5e798a943ae60b27637a7" + "b88d209998baeff551cf9a3498e16df7" ], [ "FStar.BigOps.pairwise_or'_nil", @@ -359,7 +359,7 @@ 1, [ "@query", "true_interp" ], 0, - "363dc2727344dc89fe146d1291084be5" + "cdda5f250683b902a19e8e99efb81c1a" ], [ "FStar.BigOps.pairwise_or'_cons", @@ -371,8 +371,10 @@ "@fuel_correspondence_FStar.BigOps.pairwise_op_.fuel_instrumented", "@fuel_irrelevance_FStar.BigOps.pairwise_op_.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Preorder_interpretation_Tm_arrow_76a60dab4e3b3182a3b4dae5a57cfb2d", + "FStar.BigOps_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", + "FStar.BigOps_interpretation_Tm_ghost_arrow_4893cf450fdcb12f9a707dc878f6dac3", + "FStar.Preorder_interpretation_Tm_arrow_a19f9d49348d4e0038f0ded87d87802f", + "Prims_interpretation_Tm_arrow_289ee2cc5874944bf725b9e3db8c0fd6", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "equation_FStar.BigOps.big_or_", "equation_FStar.BigOps.pairwise_or_", "equation_Prims.l_False", @@ -386,7 +388,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "65f5abaf20239db35a050f57b4e0fd92" + "df7a2274a2b7a8c87e54c0b0872df8f3" ], [ "FStar.BigOps.pairwise_or'_prop", @@ -402,12 +404,12 @@ "equation_Prims.l_or", "equation_Prims.squash", "equation_Prims.subtype_of", "false_interp", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "unit_typing" ], 0, - "b22287b182b5b6a3a4f2e5ffb2785c65" + "7e4b1a3dc9f5f71f13134b041ea77951" ], [ "FStar.BigOps.pairwise_or'_exists", @@ -432,7 +434,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "5fcb6360e09b92ea24f56b0c14d8f990" + "58f6fa4d865d5c1e6be2b242fb254b44" ], [ "FStar.BigOps.pairwise_or'_exists_no_repeats", @@ -459,7 +461,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "cff404014c9570511c9c1cf3afbbbfb8" + "9b13043ae13f695225e26bbdf4aa6aef" ], [ "FStar.BigOps.pairwise_or", @@ -471,14 +473,14 @@ "@fuel_correspondence_FStar.BigOps.pairwise_op_.fuel_instrumented", "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Prims.l_False", "equation_Prims.l_or", - "equation_Prims.squash", "equation_Prims.subtype_of", "false_interp", + "equation_Prims.squash", "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "unit_typing" ], 0, - "d667db910cdf48fa4094fc55869d1b59" + "c81f66b2a9da92364b50d5335930f305" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.BigOps.fsti.hints b/ulib/FStar.BigOps.fsti.hints index 0a456ab849a..0a0f788bbc4 100644 --- a/ulib/FStar.BigOps.fsti.hints +++ b/ulib/FStar.BigOps.fsti.hints @@ -18,12 +18,12 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.l_True", "function_token_typing_Prims.logical", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_18f611049baa5958dd71971dc9839fee", "unit_typing" + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f", "unit_typing" ], 0, - "103f21d8058f7c95f56e055e33954688" + "3943803066f23e84f09a59de67c77bba" ], [ "FStar.BigOps.big_or", @@ -42,12 +42,12 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.l_False", "function_token_typing_Prims.logical", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_18f611049baa5958dd71971dc9839fee", "unit_typing" + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f", "unit_typing" ], 0, - "331c68ada4c5f5484efe9abdf984227d" + "e0b151e0297b371d0da0fb8e7b58cb60" ], [ "FStar.BigOps.pairwise_op'", @@ -61,7 +61,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "6f946a7f51c497510b46b1e795face11" + "a01e0b82569e3b2e5d6d0733d516b37f" ], [ "FStar.BigOps.pairwise_and", @@ -76,12 +76,12 @@ "equality_tok_Prims.T@tok", "equation_Prims.l_True", "equation_Prims.l_and", "equation_Prims.squash", "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "3563749b89ac89734e14040d051757a8" + "48caa87e8279b554c514f8cadf878dfd" ], [ "FStar.BigOps.pairwise_or", @@ -93,14 +93,14 @@ "@fuel_correspondence_FStar.BigOps.pairwise_op_.fuel_instrumented", "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Prims.l_False", "equation_Prims.l_or", - "equation_Prims.squash", "equation_Prims.subtype_of", "false_interp", + "equation_Prims.squash", "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "unit_typing" ], 0, - "e12aa5db6a3af1df45e8b3059e593ea2" + "712990ff0867cff4d4b6e1187fe53011" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.BitVector.fst b/ulib/FStar.BitVector.fst index 8fcf4ee6c44..007e0f24bfe 100644 --- a/ulib/FStar.BitVector.fst +++ b/ulib/FStar.BitVector.fst @@ -126,6 +126,14 @@ let shift_right_vec #n a s = else if s = 0 then a else append (zero_vec #s) (slice a 0 (n - s)) +val shift_arithmetic_right_vec: #n:pos -> a:bv_t n -> s:nat -> Tot (bv_t n) +let shift_arithmetic_right_vec #n a s = + if index a 0 then + if s >= n then ones_vec #n + else if s = 0 then a + else append (ones_vec #s) (slice a 0 (n - s)) + else shift_right_vec a s + (* Shift operators lemmas *) val shift_left_vec_lemma_1: #n:pos -> a:bv_t n -> s:nat -> i:nat{i < n && i >= n - s} -> Lemma (requires True) @@ -150,3 +158,15 @@ val shift_right_vec_lemma_2: #n:pos -> a:bv_t n -> s:nat -> i:nat{i < n && i >= (ensures index (shift_right_vec #n a s) i = index a (i - s)) [SMTPat (index (shift_right_vec #n a s) i)] let shift_right_vec_lemma_2 #n a s i = () + +val shift_arithmetic_right_vec_lemma_1: #n:pos -> a:bv_t n -> s:nat -> i:nat{i < n && i < s} -> + Lemma (requires True) + (ensures index (shift_arithmetic_right_vec #n a s) i = index a 0) + [SMTPat (index (shift_arithmetic_right_vec #n a s) i)] +let shift_arithmetic_right_vec_lemma_1 #n a s i = () + +val shift_arithmetic_right_vec_lemma_2: #n:pos -> a:bv_t n -> s:nat -> i:nat{i < n && i >= s} -> + Lemma (requires True) + (ensures index (shift_arithmetic_right_vec #n a s) i = index a (i - s)) + [SMTPat (index (shift_arithmetic_right_vec #n a s) i)] +let shift_arithmetic_right_vec_lemma_2 #n a s i = () diff --git a/ulib/FStar.BitVector.fst.hints b/ulib/FStar.BitVector.fst.hints index c5c9780fcbd..284c9d9422e 100644 --- a/ulib/FStar.BitVector.fst.hints +++ b/ulib/FStar.BitVector.fst.hints @@ -1,5 +1,5 @@ [ - "¡¸\u0006ÙÄùêš¾¢U«\u0016¢c­", + "2Z\u001e1úV!\u0003”ãè,ö\\2s", [ [ "FStar.BitVector.bv_t", @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "43f9c175cd29d5f50365a275ba1ee7eb" + "baf638b0fcdf08fe886559bbda16fd73" ], [ "FStar.BitVector.zero_vec", @@ -22,7 +22,7 @@ 1, [ "@query" ], 0, - "ef0381d71594bb7e9fd0044452f2c2d9" + "f6d17142191fb886fe8a4a9e6f8e749c" ], [ "FStar.BitVector.zero_vec", @@ -30,18 +30,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_typing", + "@MaxIFuel_assumption", "@query", "bool_typing", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_create_len", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "55eba1706b5ad5299083c20887c8e75a" + "b5f22e1f119e46f37527390ee0a83c84" ], [ "FStar.BitVector.elem_vec", @@ -50,7 +48,7 @@ 1, [ "@query" ], 0, - "8032552e52bb14607bc8650b1cce68fb" + "e49e89e18628e5d450dfc7db7a64e84d" ], [ "FStar.BitVector.elem_vec", @@ -59,21 +57,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "70b68a0fc64fbf0983ceb948f27828d8" + "dfa81c4e4f5c961e16665dd4661e839b" ], [ "FStar.BitVector.ones_vec", @@ -82,7 +78,7 @@ 1, [ "@query" ], 0, - "64fd91f8f39e105b58ec3b402cb56efd" + "2d85ef8193212960c49c6b449d751a35" ], [ "FStar.BitVector.ones_vec", @@ -90,18 +86,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_typing", + "@MaxIFuel_assumption", "@query", "bool_typing", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_create_len", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "af90aca6080187caa56e9fe8ccc4653a" + "4d825412b91544eca4d4c07d86eee94a" ], [ "FStar.BitVector.logand_vec", @@ -116,7 +110,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e0f40acdcd825dc8b3585077db744a49" + "5a8a0aef52cc87e50a423a5dd830550b" ], [ "FStar.BitVector.logand_vec", @@ -131,7 +125,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b144d04736a3b6ed8a45e8f558a8c298" + "63c446e547b55fa72f1d44b120d40033" ], [ "FStar.BitVector.logand_vec", @@ -142,9 +136,9 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", @@ -157,16 +151,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "c3747411b7133e42b17278d1ec5e7362" + "9d2f449012dd7c6d089040ac4b097c7f" ], [ "FStar.BitVector.logxor_vec", @@ -181,7 +175,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "09c879755d273836264dbd62082b44c0" + "c6b3a34a95504a98dc93ba44df0138d2" ], [ "FStar.BitVector.logxor_vec", @@ -196,7 +190,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cf3dce1fd2aa6deb311fa09ef8e2bb91" + "6371227311acfd29c54a7e6ba9929a2b" ], [ "FStar.BitVector.logxor_vec", @@ -207,9 +201,9 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", @@ -223,14 +217,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "74d2114f57e2895f3ee8c3b66a20d061" + "63658cd03dbf350dfb94996a169da146" ], [ "FStar.BitVector.logor_vec", @@ -245,7 +239,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7846c69616c17bd7171092ab0362b499" + "bc7a280974c3c6c3f5e571b4874cceb5" ], [ "FStar.BitVector.logor_vec", @@ -260,7 +254,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "13a98de2b5cef2ad7d927bad22b8cd91" + "a0bf1f89a32a4332f0bf65db8df0941c" ], [ "FStar.BitVector.logor_vec", @@ -271,9 +265,9 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", @@ -286,16 +280,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "ef614172f7ad0ca628fbbfe30f58452a" + "40f4b7aa957584a17b16c92a0c5d6b49" ], [ "FStar.BitVector.lognot_vec", @@ -304,7 +298,7 @@ 1, [ "@query" ], 0, - "ec8ddbc21ae8f59ccf4b49e072ac1e74" + "868d96bbad76ad54e0c2f82ed6d032ca" ], [ "FStar.BitVector.lognot_vec", @@ -313,7 +307,7 @@ 1, [ "@query" ], 0, - "75a88109167f4206a266672e3a6c96fd" + "54e27062a33e59a0e4f1de51722da41d" ], [ "FStar.BitVector.lognot_vec", @@ -324,8 +318,8 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", @@ -339,14 +333,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "af8077f32d28ea4a9518c02225d28564" + "26a66264ad44733e9360b49645e0160e" ], [ "FStar.BitVector.logand_vec_definition", @@ -356,17 +350,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", + "int_inversion", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logand_vec" ], 0, - "c20313e0c0bbd16ca653cad38ea4f18e" + "31d843f63cc7915dded245339a42871d" ], [ "FStar.BitVector.logand_vec_definition", @@ -376,20 +368,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b8a15f338d9d28be6006cdc32a6ceb8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_def86b620e68df25a44a8bb32fc8de11", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logand_vec" ], 0, - "93d7507795bc4ba0f886da3da5810c4d" + "695dd9e8739ac61788d8e3394cf802ea" ], [ "FStar.BitVector.logand_vec_definition", @@ -404,10 +393,10 @@ "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_2", - "binder_x_912429cbb077cd3924590ff2197beecf_3", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_typing", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_3", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.BitVector.logand_vec.fuel_instrumented", @@ -425,25 +414,25 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b260d74dafc807b267246bafa6bdd363", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_adc7b38664191f1b2b2a7bc75a9bbb75", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "token_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", "typing_FStar.BitVector.logand_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "well-founded-ordering-on-nat" ], 0, - "b15598055d495b5b1223477fa3561cbb" + "7650680747210c020f13021b5dc80a87" ], [ "FStar.BitVector.logxor_vec_definition", @@ -453,17 +442,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", + "int_inversion", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logxor_vec" ], 0, - "8f406529363835415c3ed848f1bf00c9" + "01359da1414828762f1093d6ee164f51" ], [ "FStar.BitVector.logxor_vec_definition", @@ -473,20 +460,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7dda68b1a176e3bb97d82cddc8a18566", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b756239b6bd3fcbffb90ad5822434045", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logxor_vec" ], 0, - "cb781189d0939f34f523c7d0788ed17f" + "e4347b6e2e2db88876c8cab7ca83f8a2" ], [ "FStar.BitVector.logxor_vec_definition", @@ -501,10 +485,10 @@ "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_2", - "binder_x_912429cbb077cd3924590ff2197beecf_3", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_typing", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_3", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.BitVector.logxor_vec.fuel_instrumented", @@ -522,25 +506,25 @@ "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_eb1dd73d9dfae478b62a3c6c06938e93", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_41d0f059df9f8d6c0d09b104fa498336", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "typing_FStar.BitVector.logxor_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "well-founded-ordering-on-nat" ], 0, - "a271ca5f7767228221acc0cd486d6906" + "c6092c9f598a94631d157489d2c4b47a" ], [ "FStar.BitVector.logor_vec_definition", @@ -550,17 +534,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", + "int_inversion", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logor_vec" ], 0, - "20861810a9c482501421cdade36c7964" + "cae376633a586820e7903f97af871409" ], [ "FStar.BitVector.logor_vec_definition", @@ -570,20 +552,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d7f01147f291e1f05dd2ff5a317675b5", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", + "refinement_interpretation_Tm_refine_0eabd19ef1950e50f1e67980cd17ff16", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logor_vec" ], 0, - "646be26f2b4b5fa91c14412b661e2ee3" + "e845df5aca28b89ebaea89734f138570" ], [ "FStar.BitVector.logor_vec_definition", @@ -598,10 +577,10 @@ "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_2", - "binder_x_912429cbb077cd3924590ff2197beecf_3", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_typing", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_3", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.BitVector.logor_vec.fuel_instrumented", @@ -619,25 +598,25 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_7dd605b37b34dbcc4c6591ccf1f563ab", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8355789a5b90ae03b1c8eabd101a477a", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "typing_FStar.BitVector.logor_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "well-founded-ordering-on-nat" ], 0, - "5f73dcd1a76f3a43c67f09e7bad34553" + "74ca998a8c645cdc24d77ed1285cff28" ], [ "FStar.BitVector.lognot_vec_definition", @@ -647,13 +626,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", + "int_inversion", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.lognot_vec" ], 0, - "b560388f25e331714c259c50c9b05dcb" + "5c8a78ee8881adc6935a5c69d698bebd" ], [ "FStar.BitVector.lognot_vec_definition", @@ -663,19 +644,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a43fa9b923f7207fd708bdbe2b592df8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f33e9bc55fb6d2a2ccb3258dd5165cf1", "typing_FStar.BitVector.lognot_vec" ], 0, - "699b8d8110aee09bb4d0a99d6fd09f6c" + "53c3cc896c1115da9dc4d86109b27b3f" ], [ "FStar.BitVector.lognot_vec_definition", @@ -690,9 +669,9 @@ "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_912429cbb077cd3924590ff2197beecf_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_typing", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.BitVector.lognot_vec.fuel_instrumented", @@ -710,25 +689,25 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_031c0a707794c9e97d58e291127061fc", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6d825281469d73369fce5bdf30a98c53", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "token_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "well-founded-ordering-on-nat" ], 0, - "167f05646153b3f8519493c73a4def1e" + "87fd112ceb6ada15ba8044815fdc70e4" ], [ "FStar.BitVector.lemma_xor_bounded", @@ -738,19 +717,16 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logxor_vec" ], 0, - "0dada5b6fc982a90d7dfcc7f067eaa87" + "c92910009d417a623071e168ac0f1d59" ], [ "FStar.BitVector.lemma_xor_bounded", @@ -762,7 +738,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "58bafd6eadc103faa375c18ecff8e872" + "bc6a6d1c01ae5c47c43c17d83a56e626" ], [ "FStar.BitVector.lemma_xor_bounded", @@ -773,20 +749,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "bool_typing", "equation_Prims.nat", "equation_Prims.pos", "int_inversion", "int_typing", "lemma_FStar.BitVector.logxor_vec_definition", "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "f013db31e97d53e3bced0a3ec1c0e9eb" + "f20f868b63775552dd393004be794919" ], [ "FStar.BitVector.is_subset_vec", @@ -798,7 +772,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8b609a489bcb529e3a239b1208a8a95f" + "13dcc00c5c1764239e30fcdf434b7885" ], [ "FStar.BitVector.is_subset_vec", @@ -807,10 +781,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "88f545f4c2ba2cfced07ed0010f62015" + "c2c49fa16fde9a52a2be651f6018384a" ], [ "FStar.BitVector.is_superset_vec", @@ -822,7 +796,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "da7e62a3d87ffa0f6fb57d0c5b8e6b1b" + "e999a63dd3f253ec06b4e14b4a26334e" ], [ "FStar.BitVector.is_superset_vec", @@ -831,10 +805,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "860f214bc9c921ff8063187ddf4bb5d7" + "f14db3b74c6e425975e3e6ca44f23301" ], [ "FStar.BitVector.lemma_slice_subset_vec", @@ -843,26 +817,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a5d7fef1bbc5e910bceea3393147889", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "1b148e8c1f2807b618c48db74d98b36f" + "f2c784fb4bbf0c54fae7dce3d2f6a5d5" ], [ "FStar.BitVector.lemma_slice_subset_vec", @@ -874,7 +846,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4305a0da62f90d046b422dcd8434fdf5" + "1a5cedfdac890e232b8121d7d6aca674" ], [ "FStar.BitVector.lemma_slice_subset_vec", @@ -883,27 +855,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.is_subset_vec", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "equation_Prims.nat", "function_token_typing_Prims.bool", + "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_9a5d7fef1bbc5e910bceea3393147889", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "ae283321e09393a70d290abb5853079d" + "fd64a0653578d187e59f50ba74a740d9" ], [ "FStar.BitVector.lemma_slice_superset_vec", @@ -912,26 +883,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a5d7fef1bbc5e910bceea3393147889", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "2931766fb0c484a98fde55d12a7d84c0" + "0cb1ed1265c5e21d96ed069a25760b72" ], [ "FStar.BitVector.lemma_slice_superset_vec", @@ -943,7 +912,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "614623ebdce09ec7586f62a29d4daf25" + "3da80e4b9532cb7ddf1d400de49703db" ], [ "FStar.BitVector.lemma_slice_superset_vec", @@ -952,30 +921,29 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.is_superset_vec", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "equation_Prims.nat", "function_token_typing_Prims.bool", + "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_9a5d7fef1bbc5e910bceea3393147889", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "737bb10cf450acf59c67d6d77e357c40" + "765c1a4a03567389c46dc7cd525cc930" ], [ "FStar.BitVector.shift_left_vec", @@ -984,7 +952,7 @@ 1, [ "@query" ], 0, - "ea8400e03455c8c10833f0a5350bf151" + "95828edf6496141e81e06f6287093361" ], [ "FStar.BitVector.shift_left_vec", @@ -993,7 +961,7 @@ 1, [ "@query" ], 0, - "318affd0ea422b72f755e654e0af42d2" + "e35152e8dd41ff163a795b2c13a58caa" ], [ "FStar.BitVector.shift_left_vec", @@ -1017,14 +985,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "a5dc9d7dacf5472a6407313bf99e365c" + "835f9936ce4b77d0906e56476f986f8d" ], [ "FStar.BitVector.shift_right_vec", @@ -1033,7 +1001,7 @@ 1, [ "@query" ], 0, - "428a00ef9955ffd44aa8838522ea20cd" + "ad0aa272831d02212f1929f518ce4cfd" ], [ "FStar.BitVector.shift_right_vec", @@ -1042,7 +1010,7 @@ 1, [ "@query" ], 0, - "b8d5d6a2ed5b45743d455ca8f3f07369" + "05bea60e19735a3b6632050dc7ec6c9c" ], [ "FStar.BitVector.shift_right_vec", @@ -1066,15 +1034,65 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cdd15a61a8a8f4424284702869adc760", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_ea65417fa3624e7c2b2172bb9f7a454f", "typing_FStar.Seq.Base.length" ], 0, - "21b8653899ad20ee5320eac2fa8d6895" + "b99c1ee807995cf537a74995fc3db13b" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec", + 1, + 2, + 1, + [ "@query" ], + 0, + "b69ea940923d4ce46337601adf220679" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec", + 2, + 2, + 1, + [ "@query" ], + 0, + "af16374dfc2300e75ce5f4ef7af7590d" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Base.lemma_len_slice", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_ea65417fa3624e7c2b2172bb9f7a454f", + "typing_FStar.Seq.Base.length" + ], + 0, + "6450efc408b5c3af344b78cbc543b927" ], [ "FStar.BitVector.shift_left_vec_lemma_1", @@ -1085,11 +1103,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_left_vec", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_left_vec" ], 0, - "77be21ffb94fb07bc8d5e0a95206015a" + "5b74a2be5b84c637bc991b4ce170688b" ], [ "FStar.BitVector.shift_left_vec_lemma_1", @@ -1098,7 +1116,7 @@ 1, [ "@query" ], 0, - "2fbabecdc8924c43466b771eae719f18" + "3fb7500796966a2dc56076dad2069bbf" ], [ "FStar.BitVector.shift_left_vec_lemma_1", @@ -1119,27 +1137,28 @@ "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ed60d76e610b29c3cb7504374a7ed907", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" + "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.slice" ], 0, - "3f65cef2aaa7c30a7cfee3e4da6c45bc" + "50081b56d12d33408131eea25d410eb5" ], [ "FStar.BitVector.shift_left_vec_lemma_2", @@ -1147,23 +1166,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_left_vec", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", "typing_FStar.BitVector.shift_left_vec" ], 0, - "7fa109f2d0538afc3c1c49641e8a5ea3" + "e8aeba88b4537817b3cb0355a9fbed75" ], [ "FStar.BitVector.shift_left_vec_lemma_2", @@ -1172,7 +1188,7 @@ 1, [ "@query" ], 0, - "e335cd2ab0d01a4baa3fc14a461b345a" + "7bef50a84a078be121f1bb5ae2502fcb" ], [ "FStar.BitVector.shift_left_vec_lemma_2", @@ -1199,21 +1215,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" + "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.slice" ], 0, - "9b46e73714803b8d36567b33248645f8" + "a0468f00c8d5a5c01e0c3cfef3a3cb24" ], [ "FStar.BitVector.shift_right_vec_lemma_1", @@ -1224,11 +1241,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_right_vec" ], 0, - "5386abac4a84559f6f420686bf917e68" + "84099d76c278afbf4a8147943cd77f4d" ], [ "FStar.BitVector.shift_right_vec_lemma_1", @@ -1237,7 +1254,7 @@ 1, [ "@query" ], 0, - "4ca134bf3f31c933dba7ea43950514c0" + "af06f2803b2fe043b5c6143aea8aea31" ], [ "FStar.BitVector.shift_right_vec_lemma_1", @@ -1262,21 +1279,21 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4254cf7570d054e7d0238ca18aa9b56c", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "dd837e01872803b229ad2c94d7ab6aef" + "020711403f701dc2b6a758fb6f2a0c91" ], [ "FStar.BitVector.shift_right_vec_lemma_2", @@ -1284,23 +1301,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", + "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_right_vec" ], 0, - "c6423fed1e66a119f6ab6cb62eea1a76" + "4568acb9363ec8c43e24b64d69a84656" ], [ "FStar.BitVector.shift_right_vec_lemma_2", @@ -1309,7 +1324,7 @@ 1, [ "@query" ], 0, - "450d4fe83de9b58cdfd1a901e77039aa" + "025dfc5ac195c088dfe2634e7584a578" ], [ "FStar.BitVector.shift_right_vec_lemma_2", @@ -1337,22 +1352,163 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice" ], 0, - "b58fed14430b8cb75f7c5923c774eb96" + "a3479f0f8c60abd115b127938d2ab0f5" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec_lemma_1", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.BitVector.shift_arithmetic_right_vec" + ], + 0, + "7decb9b6beaef84516a8b6b01813b13e" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec_lemma_1", + 2, + 2, + 1, + [ "@query" ], + 0, + "6136a8016add46be57bc4e8d8ecd8524" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec_lemma_1", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.ones_vec", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.BitVector.shift_right_vec_lemma_1", + "lemma_FStar.Seq.Base.lemma_index_app1", + "lemma_FStar.Seq.Base.lemma_index_create", + "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.BitVector.ones_vec", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" + ], + 0, + "a2c2dd4e94530fdae18e3c2dbd126665" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec_lemma_2", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.BitVector.shift_arithmetic_right_vec" + ], + 0, + "aeb76824fd66dee70ad8d05b777ef5f8" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec_lemma_2", + 2, + 2, + 1, + [ "@query" ], + 0, + "19a17d18275d3286870225f9af3d98e0" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec_lemma_2", + 3, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.BitVector.shift_right_vec", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.BitVector.shift_right_vec_lemma_2", + "lemma_FStar.Seq.Base.lemma_index_app2", + "lemma_FStar.Seq.Base.lemma_index_slice", + "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Base.lemma_len_slice", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.BitVector.ones_vec", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.slice" + ], + 0, + "66b8fa77745db5f7538eb27c16436c0f" ], [ "FStar.BitVector.bv_t", @@ -1362,11 +1518,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7dea5e23a1067aa214ce15c82ad943c1" + "e48bd35988a4e52dc791ef33a979464d" ], [ "FStar.BitVector.zero_vec", @@ -1374,18 +1530,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_typing", + "@MaxIFuel_assumption", "@query", "bool_typing", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_create_len", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "91688818b51c10152916ff7ec7fb6a8d" + "4d00e4d89321dad4fe7745a23eb7470f" ], [ "FStar.BitVector.zero_vec", @@ -1394,7 +1548,7 @@ 1, [ "@query" ], 0, - "70c57ca193439061bdbe0f2cf61de28d" + "6d5180c14bd368320429c26c53517061" ], [ "FStar.BitVector.elem_vec", @@ -1403,21 +1557,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "f7302e0940328853340ba41d8f399382" + "183eeea7aeeaa88c7317cbccc9861b06" ], [ "FStar.BitVector.elem_vec", @@ -1426,7 +1578,7 @@ 1, [ "@query" ], 0, - "4cd6cc025321a6a5166d2e2fffb65931" + "9e2e35408cdfc1e62883dd95a51270e9" ], [ "FStar.BitVector.ones_vec", @@ -1434,18 +1586,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_typing", + "@MaxIFuel_assumption", "@query", "bool_typing", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_create_len", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3d86d68b7d60f380762e4b019ef2395d" + "071ecf6a14e2e48f5c630ef90e34e711" ], [ "FStar.BitVector.ones_vec", @@ -1454,7 +1604,7 @@ 1, [ "@query" ], 0, - "c98ab9b05ecfac3706702021067fc4ca" + "7b26c447a1720a257fc9889a674a1cb4" ], [ "FStar.BitVector.logand_vec", @@ -1469,7 +1619,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0395977116e8ffd7304dc13fa420e537" + "3437bacdd963ec43781d2558882f2719" ], [ "FStar.BitVector.logand_vec", @@ -1480,9 +1630,9 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", @@ -1495,16 +1645,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "44971955b6dd4852703a35c82d00e168" + "134bcf8bbe9506ea97ef526163655a55" ], [ "FStar.BitVector.logxor_vec", @@ -1519,7 +1669,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d11809530ff204d0fa91db39c9f13146" + "c473b0e1a5d8b30fc836c128f68ae049" ], [ "FStar.BitVector.logxor_vec", @@ -1530,9 +1680,9 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", @@ -1546,14 +1696,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "2e9fac8b6defdcaad9b4e8cb17829651" + "f60936429c1b88876268631605c88a5c" ], [ "FStar.BitVector.logor_vec", @@ -1568,7 +1718,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "203c1ea1a9a8747d97676d27493c4d73" + "1d65eeee544a1939bce879fc19a61fc1" ], [ "FStar.BitVector.logor_vec", @@ -1579,9 +1729,9 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", @@ -1594,16 +1744,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "87272852dbd641be8a7765f88088ab20" + "7b6bd610d6531a4f6a06682aff79443d" ], [ "FStar.BitVector.lognot_vec", @@ -1612,7 +1762,7 @@ 1, [ "@query" ], 0, - "832754c4f592e323c03178485c0c4707" + "e96d5ac122d2c05d16151df4fc327342" ], [ "FStar.BitVector.lognot_vec", @@ -1623,8 +1773,8 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", @@ -1638,14 +1788,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "d45824471df49a9bd012b08afa5ed0ca" + "05b15b58431b33636c8932b973745298" ], [ "FStar.BitVector.logand_vec_definition", @@ -1655,17 +1805,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", + "int_inversion", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logand_vec" ], 0, - "da9d6b3e172571679c05f5d272e854b3" + "4e71e78feec26ec2171c77feba4a0813" ], [ "FStar.BitVector.logxor_vec_definition", @@ -1675,17 +1823,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", + "int_inversion", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logxor_vec" ], 0, - "ddef92fc2e8b452b05ab285c58e048c4" + "d1f1880778e8df238f3a813ee245dbc2" ], [ "FStar.BitVector.logor_vec_definition", @@ -1695,17 +1841,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", + "int_inversion", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logor_vec" ], 0, - "ddf90762771be8344b8c64da3aff6eea" + "c552c019d7a5198c424b963c3472b1f5" ], [ "FStar.BitVector.lognot_vec_definition", @@ -1715,13 +1859,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", + "int_inversion", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.lognot_vec" ], 0, - "d54afd92f1429db3e041025272904ab0" + "3a905e293f5366d0af1c0adb8621853d" ], [ "FStar.BitVector.lemma_xor_bounded", @@ -1731,19 +1877,16 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logxor_vec" ], 0, - "5ba8f21e5f9b719935b6c70ec5abf069" + "4fc8c98347780060524887ed2711d745" ], [ "FStar.BitVector.is_subset_vec", @@ -1755,7 +1898,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3cf6e5d15779a29cc602d050e308f479" + "65f6398e4679677208455ed74f426c81" ], [ "FStar.BitVector.is_subset_vec", @@ -1764,10 +1907,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "d4e5be0fb60f66237908f26940e8f405" + "e89716b4f36c87e69c4b863d1cb35be6" ], [ "FStar.BitVector.is_subset_vec", @@ -1779,7 +1922,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "03b08d54a0c6df4f0d2e2cd2f5208a20" + "9d4013b2484595ca63c3726050aa52b2" ], [ "FStar.BitVector.is_superset_vec", @@ -1791,7 +1934,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6a01efda250cc2a3e5f24c0147abb7f2" + "6658cbe5891ae31de054ce27de0803b0" ], [ "FStar.BitVector.is_superset_vec", @@ -1800,10 +1943,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "3b775975bc20427b8dbcf29fe2726af1" + "e44f6298b0939607b2a47bf7027efcc8" ], [ "FStar.BitVector.is_superset_vec", @@ -1815,7 +1958,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "af4ba2998f1c26abd88e362eb3e53da9" + "0e346ac70b2bdc9687a3465362b7bbe1" ], [ "FStar.BitVector.lemma_slice_subset_vec", @@ -1824,26 +1967,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a5d7fef1bbc5e910bceea3393147889", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "df0a96e941d5de640d253f74c2a57a5c" + "4d2b3c03a7c19b962f01ffafdfbf44ea" ], [ "FStar.BitVector.lemma_slice_superset_vec", @@ -1852,26 +1993,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a5d7fef1bbc5e910bceea3393147889", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "110d8755872afe514c3b43234bf8a76b" + "d006bd11df99a887028a0dd275f17299" ], [ "FStar.BitVector.shift_left_vec", @@ -1880,7 +2019,7 @@ 1, [ "@query" ], 0, - "299ee9521ef40396431aa8c858886894" + "87f75947499d4dd8127a0514c090b5ad" ], [ "FStar.BitVector.shift_left_vec", @@ -1904,14 +2043,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "be1dd59b0daf9ca80d21588a6e48d841" + "c9bc92b1e0bd5bc37f3dfa84c154b827" ], [ "FStar.BitVector.shift_left_vec", @@ -1920,7 +2059,7 @@ 1, [ "@query" ], 0, - "1218f458c1e728956fcc33baa81a6f23" + "ce48495a80186bc5c719af39e106beae" ], [ "FStar.BitVector.shift_right_vec", @@ -1929,7 +2068,7 @@ 1, [ "@query" ], 0, - "6b0f2e2d081cc77f33290a06aadadb2e" + "65b68e8a937e6839ebab683570c9fb0c" ], [ "FStar.BitVector.shift_right_vec", @@ -1953,15 +2092,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cdd15a61a8a8f4424284702869adc760", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_ea65417fa3624e7c2b2172bb9f7a454f", "typing_FStar.Seq.Base.length" ], 0, - "2de609efc7afe78aa53b052ba7d5882e" + "47b9567617df6a446569adcdf337b227" ], [ "FStar.BitVector.shift_right_vec", @@ -1970,7 +2109,57 @@ 1, [ "@query" ], 0, - "9782cbf4544ea4f375cb7eedbb5358d1" + "873f486ee826ee4240192742c6a3179a" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec", + 4, + 2, + 1, + [ "@query" ], + 0, + "8682d5a3aafb94c6f0a0692817e965a1" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec", + 5, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Base.lemma_len_slice", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_ea65417fa3624e7c2b2172bb9f7a454f", + "typing_FStar.Seq.Base.length" + ], + 0, + "ec0f99197d4109a48ca0955e36bc3369" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec", + 6, + 2, + 1, + [ "@query" ], + 0, + "e5a27bc735495177ef29e4ca47b4df6f" ], [ "FStar.BitVector.shift_left_vec_lemma_1", @@ -1981,11 +2170,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_left_vec", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_left_vec" ], 0, - "8260e4dfa35f413fa8f87d963fae1365" + "333295e466d1fd1431cdda3fb937d1b2" ], [ "FStar.BitVector.shift_left_vec_lemma_2", @@ -1993,23 +2182,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_left_vec", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", "typing_FStar.BitVector.shift_left_vec" ], 0, - "c393a2a07bd50fd26a7f7285e010243f" + "2060846dc19b6198da1378ff31ccd888" ], [ "FStar.BitVector.shift_right_vec_lemma_1", @@ -2020,11 +2206,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_right_vec" ], 0, - "e863603d62b0f5d306b0eee5753d31e4" + "65f4c0c8c32e260c1fb93d4ab07adf69" ], [ "FStar.BitVector.shift_right_vec_lemma_2", @@ -2032,23 +2218,62 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", + "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_right_vec" ], 0, - "56894cb3a396fb58c73cf6487ac25172" + "8d535dc314272907c3b62f2b97bd00e9" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec_lemma_1", + 4, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.BitVector.shift_arithmetic_right_vec" + ], + 0, + "ada51c7329b157bed6f52f474de49dde" + ], + [ + "FStar.BitVector.shift_arithmetic_right_vec_lemma_2", + 4, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.BitVector.shift_arithmetic_right_vec" + ], + 0, + "e3e95ca108e96942a9d137ef146f1fca" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Buffer.Quantifiers.fst.hints b/ulib/FStar.Buffer.Quantifiers.fst.hints index 575c69d7cb1..104ceeb2ff8 100644 --- a/ulib/FStar.Buffer.Quantifiers.fst.hints +++ b/ulib/FStar.Buffer.Quantifiers.fst.hints @@ -7,8 +7,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -17,25 +16,23 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "fc7b8272257fc482fa50655e3fed1641" + "40272e3277f44c4a9fbc8828976991c3" ], [ "FStar.Buffer.Quantifiers.lemma_sub_quantifiers", @@ -43,15 +40,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.get", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -59,19 +54,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_3182ed61a6c0f53ab673702144c198e7", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba389e93f50bd706943173977680ab70", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", "typing_FStar.UInt32.v" ], 0, - "5e44f9b93c924c3666a0c5002f616838" + "d7c508e144f864e4ec21f4b6a42dc032" ], [ "FStar.Buffer.Quantifiers.lemma_offset_quantifiers", @@ -79,8 +74,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -89,26 +83,24 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "60dcc02feed7558d19224849ecaf7ebf" + "f68b3a5675a7053cb67e662da3bc7108" ], [ "FStar.Buffer.Quantifiers.lemma_offset_quantifiers", @@ -118,22 +110,15 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.buffer", + "b2t_def", "bool_inversion", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.offset", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Buffer.lemma_offset_spec", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -144,14 +129,14 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_length", "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_824d2ceea0878576f4fa9b454895d083", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ead60fa393de493a6960365861c87f8e", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", @@ -159,7 +144,7 @@ "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "3a1af828f31134db40631af8fcdbbc23" + "526016514a8e38c42ce346a5a034addd" ], [ "FStar.Buffer.Quantifiers.lemma_create_quantifiers", @@ -172,11 +157,11 @@ "equation_FStar.UInt.uint_t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "757478d08a17bbde4ec2d3d132b19ee5" + "75ea9f35e186e4bfef1416588e91d783" ], [ "FStar.Buffer.Quantifiers.lemma_create_quantifiers", @@ -184,24 +169,21 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.get", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.get", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_create", - "refinement_interpretation_Tm_refine_1ec852aff28ab568526a8c54c3e853ec", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_924bb3e83dc57a3f506ccaedb3e29376", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "467d9185e6fe3a82bd5c49aadfa91ca2" + "915bd5a5b96135aae043199654d4dede" ], [ "FStar.Buffer.Quantifiers.lemma_index_quantifiers", @@ -209,18 +191,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "f16e52ff2bf1eb81682d06766d0569e6" + "468cb51971a4601a724a16c4e31d48d4" ], [ "FStar.Buffer.Quantifiers.lemma_index_quantifiers", @@ -229,7 +209,7 @@ 1, [ "@query", "equation_FStar.Buffer.get" ], 0, - "264638593a6ed32dc70d82dd1e639db2" + "c1821638de4c164867bba372196f3a7f" ], [ "FStar.Buffer.Quantifiers.lemma_upd_quantifiers", @@ -237,19 +217,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.UInt.uint_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "4525a23b7e58cb512a1be84a2c201c06" + "a806bd89132f2fcf86f4fc15d839df4b" ], [ "FStar.Buffer.Quantifiers.lemma_upd_quantifiers", @@ -257,24 +234,22 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.get", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.get", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "1800244d5934d41b8db1ac2a016498e7" + "53f57880b8b60729e47b0acb15c9c87a" ], [ "FStar.Buffer.Quantifiers.lemma_blit_quantifiers", @@ -282,10 +257,9 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.length", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -293,27 +267,26 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_72739da3cedb4f7a2dcd852cd27c18ad", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_60d805e2385b03fac40e7fee8602e405", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "4292f20bdfe87986380555048a5551ed" + "2d644fc3edd14e47831a39474e871376" ], [ "FStar.Buffer.Quantifiers.lemma_blit_quantifiers", @@ -322,7 +295,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.Monotonic.HyperStack.MkRef", @@ -337,10 +309,8 @@ "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -356,18 +326,18 @@ "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_72739da3cedb4f7a2dcd852cd27c18ad", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_3182ed61a6c0f53ab673702144c198e7", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_60d805e2385b03fac40e7fee8602e405", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba389e93f50bd706943173977680ab70", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", @@ -376,7 +346,7 @@ "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "7aeb6f1c7fe9f2138255e51525aa327f" + "d1844dd905810fac465e19cae7fc8d4f" ], [ "FStar.Buffer.Quantifiers.eq_lemma", @@ -384,22 +354,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.equal", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_347cdcabc7e8becd6dd649804986fa75", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "typing_FStar.Buffer.as_seq" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "636ef0a4cbd2efcb033d0c48e3406b57" + "e2117c463a5eb4279f1915115d98ee79" ], [ "FStar.Buffer.Quantifiers.eq_lemma", @@ -407,22 +368,20 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.get", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_347cdcabc7e8becd6dd649804986fa75", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", "typing_FStar.Buffer.as_seq" ], 0, - "db41828b609463a408b1bc4417fee120" + "f56665a443b5102107ee7a167d25efba" ], [ "FStar.Buffer.Quantifiers.lemma_sub_quantifiers", @@ -430,8 +389,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -440,25 +398,23 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "42406cdc80ab5136707850ee869e7a6e" + "7ee0e0cb2a6fb8f90e53da5c56502232" ], [ "FStar.Buffer.Quantifiers.lemma_offset_quantifiers", @@ -466,8 +422,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -476,26 +431,24 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "01682f25b4f4e57d64294cec877296c3" + "708026a80342a70505484a210ce89630" ], [ "FStar.Buffer.Quantifiers.lemma_create_quantifiers", @@ -508,11 +461,11 @@ "equation_FStar.UInt.uint_t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "4a3fc731d35994b1f12f06911a650a08" + "1219dc932a77da578d2478659992005f" ], [ "FStar.Buffer.Quantifiers.lemma_index_quantifiers", @@ -520,18 +473,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "dd87a8b4a4e605c16153c7aba1d369a7" + "97410fc4e6707e2ff0d30b5dd4d3fef9" ], [ "FStar.Buffer.Quantifiers.lemma_upd_quantifiers", @@ -539,19 +490,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.UInt.uint_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "6b88505ae0685aa6da8d92cf40af1f52" + "1a2f906b55677d53ca156f2621daf5cc" ], [ "FStar.Buffer.Quantifiers.lemma_blit_quantifiers", @@ -559,10 +507,9 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.length", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -570,27 +517,26 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_72739da3cedb4f7a2dcd852cd27c18ad", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_60d805e2385b03fac40e7fee8602e405", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "bac48673748700c779314bc25beb0aa0" + "fdc51e8f591dd3212d9e7c34b68745c9" ], [ "FStar.Buffer.Quantifiers.eq_lemma", @@ -598,22 +544,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.equal", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_347cdcabc7e8becd6dd649804986fa75", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "typing_FStar.Buffer.as_seq" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "47ea720e1e1bbd425813da289752afae" + "dc9a7107f10ca98578698e4e1a583313" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Buffer.fst.hints b/ulib/FStar.Buffer.fst.hints index 3e3e28654ed..b9bdb5e6e75 100644 --- a/ulib/FStar.Buffer.fst.hints +++ b/ulib/FStar.Buffer.fst.hints @@ -14,7 +14,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "abc2f3c6813f19fcd43efb1c5ee930be" + "ab48d65c35973d235f42d24a8f194b0e" ], [ "FStar.Buffer._buffer", @@ -22,16 +22,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "64548febf985598cb13c7697471d5aee" + "0ce22e55f40a5e630702cea48b8a72e0" ], [ "FStar.Buffer.__proj__MkBuffer__item__content", @@ -39,17 +36,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "12ec1b12dd1d04eedc3bcff5cb3a7f31" + "beabab29a5ea154020643192911af3c8" ], [ "FStar.Buffer.__proj__MkBuffer__item__content", @@ -71,12 +65,12 @@ "projection_inverse_FStar.Buffer.MkBuffer_content", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "7218464060b27711e1942e3f0120333c" + "04b651ee163bb332fe059d7ea3602ede" ], [ "FStar.Buffer.__proj__MkBuffer__item__length", @@ -90,7 +84,7 @@ "projection_inverse_FStar.Buffer.MkBuffer_max_length" ], 0, - "a6d3f15b7606873e00c3820e4ca3b46c" + "6c71c78e97b62d755fbfdc95a20944f1" ], [ "FStar.Buffer.contains", @@ -104,12 +98,12 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "890d8a9117f2bf248d24133941ea563d" + "46e66f963a03ed65cac5f44f4e760890" ], [ "FStar.Buffer.unused_in", @@ -123,12 +117,12 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "49788f115a3d1b754f763fe589414a82" + "c390b7ed7024d23bbd26c076701a396a" ], [ "FStar.Buffer.sel", @@ -142,12 +136,12 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "f30116c1fb130fa1abe8714cbe87aaf2" + "5fb2984e8b9a8bd5b09cce9f945e8cb1" ], [ "FStar.Buffer.max_length", @@ -155,17 +149,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "2d1dc5a65f56329752a1ed187e3f0a07" + "33719fa3cd3c7c1234ec3f21220fc295" ], [ "FStar.Buffer.length", @@ -179,7 +170,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "19d63f6f70d49c91e0346be98815c9bc" + "4e26acc973188853392a0acd973bfc0e" ], [ "FStar.Buffer.idx", @@ -187,17 +178,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.UInt32.v" ], 0, - "e38ad3827cc06d0b51bd682e808089d4" + "d074aea19bf76a217f1629888300e92e" ], [ "FStar.Buffer.live", @@ -211,12 +199,12 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "984da733f95c9ba00f27256c1682cc64" + "e29795ecde2126e05227929bc0c84286" ], [ "FStar.Buffer.recall", @@ -224,15 +212,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.max_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.max_length", + "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.max_length" ], 0, - "002743037c99c94a047656e73bc5cbe7" + "3fd6a008a6325a4c0d599b5cb7ed2364" ], [ "FStar.Buffer.recall", @@ -240,11 +226,9 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.max_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.max_length", + "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.max_length" ], 0, @@ -256,12 +240,10 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.HyperStack.ST.mreference", @@ -274,21 +256,20 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_58813dd89c8f7ed74f2c5a6834ba5abc", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.max_length", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "335ad3501e53a374fd25db592f59e76e" + "072fe91ecf20114eea92aed0e678a6cd" ], [ "FStar.Buffer.as_seq", @@ -296,9 +277,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", @@ -309,12 +289,9 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", @@ -325,22 +302,23 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_30bc3c7534178953413ea0746006201e", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_20ab1f36346ea1e7eb3700c2e9ccc8a8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.length", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel" + "typing_FStar.Monotonic.HyperStack.sel", + "typing_FStar.Seq.Base.length" ], 0, - "183b91072439135f786b63d13428fa9b" + "882169729b789a3bba57b2b050f63fe5" ], [ "FStar.Buffer.get", @@ -353,7 +331,7 @@ "typing_FStar.Buffer.as_seq" ], 0, - "4e01b236e0f9f44589316aa36589cdc2" + "499ed234e35e7a622bc23d6b42b562d5" ], [ "FStar.Buffer.equal", @@ -362,7 +340,7 @@ 1, [ "@query" ], 0, - "4f4377bf02204bf5ec606fc5f4502803" + "256f2fc5d6f62e19a30329e19fa4105f" ], [ "FStar.Buffer.includes", @@ -370,17 +348,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "79db2c275a0dfd9d32f1fbcdf6c3a13d" + "78e62a18d5a717b0286d90bdb92cb9ea" ], [ "FStar.Buffer.includes_live", @@ -392,7 +367,7 @@ "equation_FStar.Buffer.live" ], 0, - "7f8ddc0c4724be7720019c5219d63455" + "232c7c7a21bad9da458d723a95cb5503" ], [ "FStar.Buffer.includes_as_seq", @@ -401,8 +376,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", @@ -411,20 +384,17 @@ "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", @@ -432,7 +402,7 @@ "typing_FStar.Monotonic.HyperStack.sel" ], 0, - "2eec8297d8b34ff6b2f3dc4a469e42e8" + "f9d6e95d1e4ee56c9f767d7e1f06985f" ], [ "FStar.Buffer.includes_trans", @@ -441,7 +411,7 @@ 1, [ "@query", "equation_FStar.Buffer.includes" ], 0, - "a5b5064a47089bc93adc3f4c815cf949" + "f534e27a1c3fb01f56f0e7ef34c298fc" ], [ "FStar.Buffer.lemma_disjoint_symm", @@ -450,7 +420,7 @@ 1, [ "@query", "equation_FStar.Buffer.disjoint" ], 0, - "8b0ec1c1bfe8d15db7fff37d4ae5847c" + "03574ee333ffb7c5a2415996e9e9b2b4" ], [ "FStar.Buffer.lemma_disjoint_sub", @@ -466,7 +436,7 @@ "fuel_guarded_inversion_FStar.Buffer._buffer" ], 0, - "536b2e274dd9b957cd57ee733480a4b0" + "56b6b6949513df7bb6b228e49ff5bc1d" ], [ "FStar.Buffer.lemma_disjoint_sub'", @@ -475,7 +445,7 @@ 1, [ "@query", "lemma_FStar.Buffer.lemma_disjoint_sub" ], 0, - "d5a1d329328ffed9086f8eb0cf0ac77b" + "5f8b77d9d67411fb7b3061dbb5ae1a38" ], [ "FStar.Buffer.lemma_live_disjoint", @@ -483,13 +453,11 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.as_addr", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.unused_in", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", @@ -509,8 +477,8 @@ "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -523,7 +491,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "1c53960ed5497cb79a1e4b8f99fb04ad" + "bfbdeaa48ce413fcaae5e7d2d420b5cd" ], [ "FStar.Buffer.__proj__Buff__item__b", @@ -535,7 +503,7 @@ "projection_inverse_FStar.Buffer.Buff_t" ], 0, - "e664bb1cf25d8753496e74907323eec5" + "b5ee1541270f253755e71eeafb06a608" ], [ "FStar.Buffer.arefs", @@ -545,11 +513,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "aa060da5418e59428e74ab107256ca2a" + "12881dde6f86bbcd1ebd11169869ea13" ], [ "FStar.Buffer.Arefs_def", @@ -559,11 +527,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e91b3f11dd9acb94ffb4132a7d7a697a" + "fe8ec9fe6dc9132692825f7bd288c7e0" ], [ "FStar.Buffer.lemma_arefs_1", @@ -571,16 +539,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ce00f302a5d125a10855e38b144f3dcd" + "0e839208c1c81c4fe2ae33b11d62ee6c" ], [ "FStar.Buffer.lemma_arefs_1", @@ -589,20 +554,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Buffer.Arefs_def", "bool_inversion", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_FStar.Buffer.abuffer@tok", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", "lemma_FStar.TSet.mem_empty", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.arefs", "typing_FStar.Set.mem" ], 0, - "d4a57b658f26d5070b2cd1fbc15f31da" + "3231b9556980c15120e2e59cd38c2695" ], [ "FStar.Buffer.lemma_arefs_2", @@ -610,16 +574,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0f7c683b2ef3fc42b0876cbc514faa9e" + "5a4d0b46c7ffab59156a9a67d7f19ee2" ], [ "FStar.Buffer.lemma_arefs_2", @@ -628,24 +589,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.TSet_interpretation_Tm_arrow_6975ab0167487694ec7603d702797b1b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", "assumption_FStar.Buffer.Arefs_def", "bool_inversion", "equation_FStar.Buffer.op_Plus_Plus", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.TSet.union", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "kinding_FStar.Buffer.abuffer@tok", "l_or-interp", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", "lemma_FStar.TSet.mem_union", "primitive_Prims.op_BarBar", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Buffer.op_Plus_Plus", "token_correspondence_FStar.TSet.union", "typing_FStar.Buffer.arefs", "typing_FStar.Set.mem" ], 0, - "beb48219bd241b34d2b6a0f40743bc4f" + "0d814976927c40e02c61f5785ed6baed" ], [ "FStar.Buffer.lemma_arefs_3", @@ -655,11 +615,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2750c691846699d00995c83c80019972" + "2cc77f1a857a81c5649a03fb3b162fb5" ], [ "FStar.Buffer.lemma_arefs_3", @@ -672,7 +632,7 @@ "kinding_FStar.Buffer.abuffer@tok", "lemma_FStar.TSet.subset_mem" ], 0, - "70aeddc2eb5f0c770fcc055f265d7f0a" + "4cf8d67e76533b8e5d5778558d02411c" ], [ "FStar.Buffer.disjoint_from_refs", @@ -682,11 +642,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e2fde734a9a4ce6f5ab455338f57cdbd" + "c5ce3a2375d20343bb652ed473e0f884" ], [ "FStar.Buffer.disjoint_from_refs", @@ -694,16 +654,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c60d3b4048a779b2649263ae858c12b7" + "b8b04504cdca294c80559d4cf5aaeb34" ], [ "FStar.Buffer.disjoint_only_lemma", @@ -722,7 +679,7 @@ "projection_inverse_FStar.Buffer.Buff_t" ], 0, - "2f340ecdfa2e33644f3273420271780f" + "951c6d4129b340e316943994bd968e00" ], [ "FStar.Buffer.modifies_bufs_and_refs", @@ -732,11 +689,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c2364f47694afaa365521d2c412aa6a5" + "9876adb258444a7a2d4d4074db70b491" ], [ "FStar.Buffer.modifies_bufs_and_refs", @@ -746,11 +703,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "19227a1c317d012c60dd689b1d2c78f9" + "91a3a855267e96d82b81285f3651bc0e" ], [ "FStar.Buffer.modifies_buf_0", @@ -760,11 +717,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fb008cf79100d32193e21b8e4275f703" + "cc90edfe7b70fa32cbf4cb925b544f1c" ], [ "FStar.Buffer.modifies_buf_1", @@ -772,16 +729,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "612a4a723f2f7b764e4d0ab9489a2fa7" + "38d18aefca3fc05c44904b5da33dbe3a" ], [ "FStar.Buffer.to_set_2", @@ -789,16 +743,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "957e630fd104ecf5fc817957f33b37ee" + "b2594a18e0c579b286ff0fe5f77f841f" ], [ "FStar.Buffer.modifies_buf_2", @@ -810,7 +761,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "05bbf60e074e36591351afbf3a0e5831" + "85624435c65b7c54dea7c5ff0a075f7a" ], [ "FStar.Buffer.to_set_3", @@ -818,16 +769,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b27c1d8acb9e360faecc71eb88f18e7e" + "1c5349ec691a0fe743b5cf463b535a4a" ], [ "FStar.Buffer.modifies_buf_3", @@ -842,7 +790,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "546959595cee183931bba8a734066710" + "7a668deab6323f327adfd3bcff04da7a" ], [ "FStar.Buffer.to_set_4", @@ -850,16 +798,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dae63243a3b299552c8af8be83af0ed2" + "a29dc9f6f9999b88d2cea2daa5793e62" ], [ "FStar.Buffer.modifies_buf_4", @@ -874,7 +819,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a5e03eb8d1bfd6e95558f3bea9720754" + "048c5cfe873867cdb32bda2722b8ae4d" ], [ "FStar.Buffer.lemma_modifies_bufs_trans", @@ -889,7 +834,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "f6b3a6ecd8977f542a9e934c10b6854f" + "2c078bad085b85f11fc25c05d689f79b" ], [ "FStar.Buffer.lemma_modifies_bufs_sub", @@ -898,7 +843,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Buffer.Arefs_def", "equation_FStar.Buffer.disjoint_from_bufs", "equation_FStar.Buffer.modifies_bufs", @@ -906,19 +850,19 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "kinding_FStar.Buffer.abuffer@tok", "lemma_FStar.TSet.lemma_mem_tset_of_set", "lemma_FStar.TSet.subset_mem", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.arefs", "typing_FStar.Monotonic.Heap.addr_of" ], 0, - "d07f912ebb3d28b90f40df0095d34a35" + "235dd2e70da6897e9d1b38c0e5a2d050" ], [ "FStar.Buffer.lemma_modifies_bufs_subset", @@ -934,7 +878,7 @@ "token_correspondence_FStar.TSet.union", "typing_FStar.Buffer.only" ], 0, - "894c8b44af9c43c6da86f60137c0da28" + "f0d46562163a4abc316ab9f10dae95c5" ], [ "FStar.Buffer.lemma_modifies_bufs_superset", @@ -962,7 +906,7 @@ "typing_FStar.Buffer.only" ], 0, - "4e930530dbe74aef7caaf489e9eee869" + "49cab58f680e04330dd8d7c9aa861530" ], [ "FStar.Buffer.modifies_trans_0_0", @@ -977,7 +921,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "dabec15b57c318ba65534c12aedf3598" + "b658f933e22e54a9f20a2789c16f0689" ], [ "FStar.Buffer.modifies_trans_1_0", @@ -985,8 +929,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.modifies_buf_1", @@ -994,18 +937,18 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.mem_empty", "lemma_FStar.TSet.lemma_mem_tset_of_set", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "86a4183c168f0c2c74d8388a4c422fa3" + "48e4edb92d397dc546da0d6c67ed3517" ], [ "FStar.Buffer.modifies_trans_0_1", @@ -1013,8 +956,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.modifies_buf_1", @@ -1022,18 +964,18 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.mem_empty", "lemma_FStar.TSet.lemma_mem_tset_of_set", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "f8fe78421ddb76a76b9220261fd692da" + "ba6f577ab83c724ddb299bebd866dd39" ], [ "FStar.Buffer.modifies_trans_1_1", @@ -1048,7 +990,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "ea1152547d5d39f0a2401876e0438903" + "9bb57d519d9ab3dd6783a3db3ace7cb9" ], [ "FStar.Buffer.modifies_trans_1_1'", @@ -1056,8 +998,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.lseq", @@ -1071,22 +1012,22 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.mem_union", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.to_set_2", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.singleton" ], 0, - "9d8238264824c51557d40842fd4d204e" + "e90837a8b7d255ed32e37cdc33188407" ], [ "FStar.Buffer.modifies_trans_2_0", @@ -1094,8 +1035,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.modifies_buf_2", @@ -1104,18 +1044,18 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.mem_empty", "lemma_FStar.TSet.lemma_mem_tset_of_set", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "b6bb965d47aa706043c6512e09303af7" + "f5fe99a2205c0acdee27c3b191aef18f" ], [ "FStar.Buffer.modifies_trans_2_1", @@ -1123,8 +1063,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.modifies_buf_1", @@ -1136,20 +1075,20 @@ "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.mem_union", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.to_set_2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.singleton" ], 0, - "f8b7f1aa5679b96b47608a51c13bb737" + "b55822137661b1af5adf300491dd8c72" ], [ "FStar.Buffer.modifies_trans_2_1'", @@ -1157,11 +1096,10 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "eq2-interp", "equation_FStar.Buffer.as_addr", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.modifies_buf_1", + "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", + "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.to_set_2", "equation_FStar.Heap.trivial_preorder", @@ -1170,21 +1108,21 @@ "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.to_set_2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.mem", "typing_FStar.Set.singleton" ], 0, - "4709ccb49196056a626011806f730f08" + "c87c43de344b33eaf1b0c98aec9a07f9" ], [ "FStar.Buffer.modifies_trans_0_2", @@ -1192,8 +1130,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.modifies_buf_2", @@ -1202,18 +1139,18 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.mem_empty", "lemma_FStar.TSet.lemma_mem_tset_of_set", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" ], 0, - "4ca4550da375bcfed5a577fec6b3a99f" + "750e155112cb62a1171203cb8223520e" ], [ "FStar.Buffer.modifies_trans_1_2", @@ -1221,11 +1158,10 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "eq2-interp", "equation_FStar.Buffer.as_addr", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.modifies_buf_1", + "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", + "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.to_set_2", "equation_FStar.Heap.trivial_preorder", @@ -1239,25 +1175,25 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.mem_union", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_BarBar", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.to_set_2", "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.addr_of", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.singleton" ], 0, - "3e5ff399a24710f0297acc93a9dccfb8" + "af880763f787daf4239f8646ab0a0a02" ], [ "FStar.Buffer.modifies_trans_2_2", @@ -1273,7 +1209,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "9d8a9cac3332268c6adcbcebb5a1ae87" + "114a0c6345b4345bc1a8bd6a086534f0" ], [ "FStar.Buffer.modifies_trans_3_3", @@ -1289,7 +1225,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "585f8867ab8184c00ef34204ec78316b" + "dd8b4f05b4d42c26ad5fcec99350e798" ], [ "FStar.Buffer.modifies_trans_4_4", @@ -1305,7 +1241,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref" ], 0, - "e4c6ca73aa65180d02192d581196584d" + "f37bdb0882ae1bcb319ae46acc43d9da" ], [ "FStar.Buffer.lemma_intro_modifies_0", @@ -1314,7 +1250,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_0" ], 0, - "16f8ca156960629ecc81c24e2345592f" + "7b0b650da029bae81e9b321da6a4ac1f" ], [ "FStar.Buffer.lemma_intro_modifies_1", @@ -1326,7 +1262,7 @@ "l_and-interp" ], 0, - "ffc0c593faf4c59ad027951a56f34e07" + "767c792fd715667eb820d2b708364fd2" ], [ "FStar.Buffer.lemma_intro_modifies_2_1", @@ -1335,7 +1271,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_2_1" ], 0, - "5bc92a2892102916597cbc2d29127503" + "835125ab75aa6e337f2372a0fd57f289" ], [ "FStar.Buffer.lemma_intro_modifies_2", @@ -1344,7 +1280,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_2" ], 0, - "e1c6f9950a247c864f448064252f742d" + "376d0f1f3165c449761e30b5bea003ff" ], [ "FStar.Buffer.lemma_intro_modifies_3", @@ -1353,7 +1289,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_3" ], 0, - "c321ffcec765b3bf240281fa79c45705" + "2c5b420022141895f279b5d1410b2fbf" ], [ "FStar.Buffer.lemma_intro_modifies_3_2", @@ -1362,7 +1298,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_3_2" ], 0, - "2ce021345a31933b6555537c3fd3604d" + "49a181a8cc8b9e9fcb55a806d9fc58ae" ], [ "FStar.Buffer.lemma_intro_modifies_region", @@ -1371,7 +1307,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_region" ], 0, - "d4b045915cf4dcde4d2f313cbcbd9f9c" + "ce5455959a6e26d9099d0be464c8d771" ], [ "FStar.Buffer.lemma_reveal_modifies_0", @@ -1380,7 +1316,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_0" ], 0, - "7523f08af026df119b47e8ea069d78aa" + "29336b5f6ce7233a6c973ed2ea2b7d79" ], [ "FStar.Buffer.lemma_reveal_modifies_1", @@ -1392,7 +1328,7 @@ "l_and-interp" ], 0, - "76e2dc40e696792024a635bcc47c5854" + "997d1db0cf61d8a814822cd5bbd2c5e0" ], [ "FStar.Buffer.lemma_reveal_modifies_2_1", @@ -1401,7 +1337,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_2_1" ], 0, - "ee19f2e49a7f7adce3c76c2526424a58" + "7c90c2394d2eb12d23c44287f6e9639d" ], [ "FStar.Buffer.lemma_reveal_modifies_2", @@ -1410,7 +1346,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_2" ], 0, - "4c387d2426b0aedf8ffdf8016cd380d1" + "8ccd92070520b23b60e47065f39a48cf" ], [ "FStar.Buffer.lemma_reveal_modifies_3", @@ -1419,7 +1355,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_3" ], 0, - "6000514a5eb42fe69cf91b1c975f9e1d" + "c74d85f2a965705acc22250ce2776ce5" ], [ "FStar.Buffer.lemma_reveal_modifies_3_2", @@ -1428,7 +1364,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_3_2" ], 0, - "bf91e978d2f843f95502bd956ef03236" + "96f72bbadcfc38866c77616e405c8f2d" ], [ "FStar.Buffer.lemma_reveal_modifies_region", @@ -1437,7 +1373,7 @@ 1, [ "@query", "equation_FStar.Buffer.modifies_region" ], 0, - "403e930afedeacc87f31010e0396aca4" + "c9afaf49dd68ede6989f3a6a7378e17a" ], [ "FStar.Buffer.lemma_stack_1", @@ -1445,10 +1381,8 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_seq", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", @@ -1474,10 +1408,8 @@ "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_FStar.Monotonic.HyperStack.sel", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1490,19 +1422,15 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Map.sel", + "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", @@ -1513,11 +1441,10 @@ "typing_FStar.Monotonic.HyperStack.remove_elt", "typing_FStar.Set.complement", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "ceaade4a3c4a8a83ef79d542e55c6680" + "3e2cf16938311f055232b8874f285d8a" ], [ "FStar.Buffer.lemma_stack_2", @@ -1525,10 +1452,8 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_seq", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", @@ -1536,7 +1461,7 @@ "equation_FStar.Buffer.modifies_2", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.to_set_2", "equation_FStar.Buffer.unused_in", + "equation_FStar.Buffer.to_set_2", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", @@ -1548,6 +1473,7 @@ "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.fresh_frame", + "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", @@ -1558,10 +1484,8 @@ "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_Prims.eq2", "equation_Prims.squash", + "equation_FStar.Set.subset", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -1573,7 +1497,9 @@ "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", + "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", + "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", + "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", @@ -1582,15 +1508,10 @@ "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", @@ -1598,7 +1519,6 @@ "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.as_ref", @@ -1610,11 +1530,10 @@ "typing_FStar.Set.complement", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "cf52a58db6462ad56e931e9e9d5198d6" + "c3cd1e2cc262e83d26c0d009a5f262e5" ], [ "FStar.Buffer.lemma_modifies_2_comm", @@ -1622,41 +1541,26 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.as_addr", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_2", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.modifies_2", "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", + "equation_FStar.Buffer.to_set_2", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", @@ -1664,43 +1568,28 @@ "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_union", + "lemma_FStar.Set.subset_mem", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.as_ref", - "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Buffer.to_set_2", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.unused_in", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.frameOf", + "typing_FStar.Buffer.to_set_2", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" + "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "7bb78b022f5bc34a38f606897f85df85" + "07d68d83468ed7dc6f7ba9bae5b6d5ee" ], [ "FStar.Buffer.lemma_modifies_3_2_comm", @@ -1708,9 +1597,8 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.as_addr", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", @@ -1718,6 +1606,8 @@ "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.to_set_2", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1733,9 +1623,8 @@ "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1751,18 +1640,22 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.frameOf", + "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.content", + "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.to_set_2", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.addr_of", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.complement", "typing_FStar.Set.mem", @@ -1770,7 +1663,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "e4fc9d69ad3c1970ad49654dbfd64906" + "600e973b78022046e2ec3ca4b7d76525" ], [ "FStar.Buffer.lemma_modifies_0_trans", @@ -1803,7 +1696,7 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", @@ -1813,7 +1706,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "08d9802d040bb5069916e0ef1387a2d6" + "f34e5b3e8b46b8d2799720315ae96e43" ], [ "FStar.Buffer.lemma_modifies_1_trans", @@ -1821,10 +1714,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.modifies_1", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", @@ -1833,14 +1724,11 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eq2", "equation_Prims.squash", + "equation_FStar.UInt.fits", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "lemma_FStar.Buffer.modifies_trans_1_1", + "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", + "lemma_FStar.Buffer.modifies_trans_1_1", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1849,13 +1737,12 @@ "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_subset", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", @@ -1863,10 +1750,10 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.Set.singleton", "typing_FStar.UInt32.v" ], 0, - "ab25ed4442a83e54eb03a8bafa7779db" + "ea8ebac7e17377c1bf244fe3c7f05169" ], [ "FStar.Buffer.lemma_modifies_2_1_trans", @@ -1875,8 +1762,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.modifies_2_1", @@ -1892,10 +1778,8 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Buffer.modifies_trans_0_0", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Buffer.modifies_trans_0_0", "lemma_FStar.Buffer.modifies_trans_1_1", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -1912,10 +1796,10 @@ "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", @@ -1926,7 +1810,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "63d3a5c35e20e52dd2154f17c3b6fc87" + "a80f3689d48c55531638fd74330b940d" ], [ "FStar.Buffer.lemma_modifies_2_trans", @@ -1935,15 +1819,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.unused_in", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", @@ -1958,14 +1839,11 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.unused_in", "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.Buffer.lemma_modifies_2_comm", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.modifies_trans_1_1", @@ -1978,7 +1856,6 @@ "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", @@ -1988,33 +1865,24 @@ "proj_equation_FStar.Buffer.MkBuffer_max_length", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.unused_in", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" + "typing_FStar.UInt32.v" ], 0, - "be04ddb7c295c13ff43bebe771d86362" + "6398f843176b6f84c81634cbd5ecc2ef" ], [ "FStar.Buffer.lemma_modifies_2_trans'", @@ -2023,7 +1891,7 @@ 1, [ "@query", "lemma_FStar.Buffer.lemma_modifies_2_trans" ], 0, - "1c6bfc4d0d160725447d0a3a1f1a1d28" + "849d92aeddf71b819173f3066961690f" ], [ "FStar.Buffer.lemma_modifies_3_trans", @@ -2032,8 +1900,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.modifies_3", @@ -2046,12 +1913,11 @@ "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.modifies_trans_1_1", "lemma_FStar.Buffer.modifies_trans_2_2", "lemma_FStar.Buffer.modifies_trans_3_3", @@ -2068,11 +1934,8 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", @@ -2080,10 +1943,10 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" + "typing_FStar.UInt32.v" ], 0, - "3eda1eacea5bd348e4a54aaa8f180871" + "6f05f04ef5e7c575bb4370b5e046a2e2" ], [ "FStar.Buffer.lemma_modifies_3_2_trans", @@ -2092,8 +1955,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.modifies_3_2", @@ -2109,10 +1971,8 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Buffer.lemma_modifies_3_2_comm", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_modifies_3_2_comm", "lemma_FStar.Buffer.modifies_trans_0_0", "lemma_FStar.Buffer.modifies_trans_1_1", "lemma_FStar.Buffer.modifies_trans_2_2", @@ -2131,10 +1991,10 @@ "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", @@ -2145,7 +2005,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "a7225ef747666784b97f0f2abc1b0869" + "d0f01958dd6d4a4dd41342c070c4b90b" ], [ "FStar.Buffer.lemma_modifies_3_2_trans'", @@ -2157,7 +2017,7 @@ "lemma_FStar.Buffer.lemma_modifies_3_2_trans" ], 0, - "16895acb8d9632833e9ede50a19f501a" + "ca94e03775a115f665d4aa453a4e297f" ], [ "FStar.Buffer.lemma_modifies_0_0", @@ -2166,7 +2026,7 @@ 1, [ "@query", "lemma_FStar.Buffer.lemma_modifies_0_trans" ], 0, - "10f8017c95c8e51e0e38fb36c8e73181" + "c78b33b85d49e2907d20ee5132691c39" ], [ "FStar.Buffer.lemma_modifies_1_0", @@ -2174,10 +2034,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_ref", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", @@ -2187,7 +2045,6 @@ "equation_FStar.Buffer.modifies_2_1", "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.unused_in", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", @@ -2206,11 +2063,8 @@ "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_FStar.Set.subset", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", "lemma_FStar.Buffer.modifies_trans_1_0", "lemma_FStar.Map.lemma_ContainsDom", @@ -2221,17 +2075,16 @@ "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", + "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -2239,7 +2092,6 @@ "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -2247,11 +2099,10 @@ "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "7973cb0e7b53b308d4972eb0cf4368b3" + "c2f10376d80dafc1206b454e7e69a382" ], [ "FStar.Buffer.lemma_modifies_0_1", @@ -2259,10 +2110,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_ref", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", @@ -2272,7 +2121,6 @@ "equation_FStar.Buffer.modifies_2_1", "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.unused_in", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", @@ -2289,11 +2137,8 @@ "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_FStar.Set.subset", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", "lemma_FStar.Buffer.modifies_trans_0_1", "lemma_FStar.Map.lemma_ContainsDom", @@ -2304,17 +2149,16 @@ "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -2322,7 +2166,6 @@ "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", @@ -2331,11 +2174,10 @@ "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "ed1db205e550e6520accc3fcd7771617" + "ce854859209c4eb44bb801f256d73f36" ], [ "FStar.Buffer.lemma_modifies_0_1'", @@ -2343,16 +2185,12 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_ref", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_0", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_buf_0", @@ -2376,15 +2214,12 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_Prims.squash", + "equation_FStar.Set.subset", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_live_disjoint", "lemma_FStar.Buffer.modifies_trans_0_1", @@ -2399,19 +2234,19 @@ "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.subset_mem", + "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -2429,11 +2264,10 @@ "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "4088d6fa44ca806a82df446ac0001d0b" + "fff8866f70ff18daa3c254dec03e0a22" ], [ "FStar.Buffer.lemma_modifies_1_1", @@ -2441,10 +2275,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_ref", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", @@ -2465,10 +2297,8 @@ "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_FStar.Set.subset", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", "lemma_FStar.Buffer.lemma_modifies_2_comm", "lemma_FStar.Map.lemma_ContainsDom", @@ -2480,15 +2310,15 @@ "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -2502,11 +2332,10 @@ "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "6b355dd64b6068e0b3a808549a318c42" + "9d123de9e2932a3396f97bab5a6bd6bb" ], [ "FStar.Buffer.lemma_modifies_0_2", @@ -2514,16 +2343,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_addr", + "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_0", "equation_FStar.Buffer.modifies_2", "equation_FStar.Buffer.modifies_2_1", @@ -2552,16 +2378,15 @@ "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_Prims.squash", + "equation_FStar.Set.subset", "equation_FStar.UInt.fits", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eq2", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.pos", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_live_disjoint", "lemma_FStar.Buffer.lemma_modifies_2_comm", @@ -2577,9 +2402,9 @@ "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", + "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", + "lemma_FStar.Set.subset_mem", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", @@ -2587,22 +2412,22 @@ "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.content", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.to_set_2", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.addr_of", + "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", + "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", + "typing_FStar.Buffer.to_set_2", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Map.concat", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.restrict", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", @@ -2613,15 +2438,14 @@ "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.unused_in", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Set.complement", "typing_FStar.Set.mem", + "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt32.v" ], 0, - "6342e522ebae8f07b76f6329e3c8f616" + "3d399834b893c5d74ede237ebe5af126" ], [ "FStar.Buffer.lemma_modifies_0_2'", @@ -2633,7 +2457,7 @@ "lemma_FStar.Buffer.lemma_modifies_2_comm" ], 0, - "fa03f2dfa0b7dfcb34c8089056af87a8" + "682716d88e7042e73fa826a3d0b47c6a" ], [ "FStar.Buffer.lemma_modifies_1_2", @@ -2641,16 +2465,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_addr", + "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_2", "equation_FStar.Buffer.modifies_2_1", @@ -2685,12 +2506,10 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_live_disjoint", - "lemma_FStar.Buffer.lemma_modifies_2_comm", "lemma_FStar.Buffer.modifies_trans_1_1", "lemma_FStar.Buffer.modifies_trans_1_2", "lemma_FStar.Map.lemma_ContainsDom", @@ -2712,38 +2531,38 @@ "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.as_ref", - "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Buffer.to_set_2", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", + "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.content", + "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", + "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.to_set_2", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Map.sel", + "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", + "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.unused_in", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "05e29db5142b5677aa2c319a605dcf70" + "11ede3c20d6a846fcc729f30f7857bb1" ], [ "FStar.Buffer.lemma_modifies_1_2'", @@ -2755,7 +2574,7 @@ "lemma_FStar.Buffer.lemma_modifies_2_comm" ], 0, - "10a033e336b1afa312621c8afbef69d2" + "afc731dccbbb1bc513a2ea4c2cd8f208" ], [ "FStar.Buffer.lemma_modifies_1_2''", @@ -2763,10 +2582,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_ref", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", @@ -2790,12 +2607,8 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_Prims.eq2", - "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", - "lemma_FStar.Buffer.lemma_modifies_2_comm", "lemma_FStar.Buffer.modifies_trans_1_1", "lemma_FStar.Buffer.modifies_trans_1_2", "lemma_FStar.Map.lemma_ContainsDom", @@ -2815,9 +2628,8 @@ "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", @@ -2833,11 +2645,10 @@ "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "10e2d4c797d2781149d7ee66d60ac790" + "4a8b17df9e2e027c1ced1395743e5399" ], [ "FStar.Buffer.lemma_modifies_1_2'''", @@ -2849,7 +2660,7 @@ "lemma_FStar.Buffer.lemma_modifies_2_comm" ], 0, - "8aab3e1fa9bda69213a5870b865f4586" + "011f29adf58f3b122b9cf417f39a694b" ], [ "FStar.Buffer.lemma_modifies_1_1_prime", @@ -2857,16 +2668,12 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_ref", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_2_1", "equation_FStar.Buffer.modifies_buf_0", @@ -2892,15 +2699,12 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_Prims.squash", + "equation_FStar.Set.subset", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_live_disjoint", "lemma_FStar.Buffer.modifies_trans_1_1_", @@ -2915,20 +2719,20 @@ "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", + "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", + "lemma_FStar.Set.subset_mem", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -2939,7 +2743,6 @@ "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -2947,11 +2750,10 @@ "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "97edb62de05e83a0cdcdb6ee5d637240" + "6539e9e99971f76ed44ceb116fbdcbe5" ], [ "FStar.Buffer.lemma_modifies_2_1", @@ -2959,22 +2761,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_ref", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_2", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.unused_in", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", "equation_FStar.Monotonic.HyperHeap.modifies_one", @@ -2986,10 +2782,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_Prims.eq2", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", "lemma_FStar.Buffer.modifies_trans_1_1", "lemma_FStar.Buffer.modifies_trans_2_1", @@ -3001,7 +2794,6 @@ "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", @@ -3009,30 +2801,23 @@ "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.content", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.frameOf", + "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "85d7b8eedf6dcdf55396eefe70a4d121" + "7ffd2c520567105c9acd18a0075bd553" ], [ "FStar.Buffer.lemma_modifies_2_1'", @@ -3044,7 +2829,7 @@ "lemma_FStar.Buffer.lemma_modifies_2_comm" ], 0, - "734059afbd2d085c7a0b1e0c96183baf" + "3bbe2a021c749e560e1742dd8b00948a" ], [ "FStar.Buffer.lemma_modifies_2_1''", @@ -3052,26 +2837,20 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_ref", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_2_1", "equation_FStar.Buffer.modifies_3_2", "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.unused_in", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", "equation_FStar.Monotonic.HyperHeap.modifies_one", @@ -3085,11 +2864,8 @@ "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_FStar.Set.subset", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", "lemma_FStar.Buffer.lemma_modifies_3_2_comm", "lemma_FStar.Buffer.modifies_trans_0_1", @@ -3102,7 +2878,6 @@ "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", @@ -3111,10 +2886,8 @@ "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -3122,21 +2895,18 @@ "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.unused_in", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "b462daba0917f4d2a261c28579342899" + "0f27265e298b9166a0cda0e9627f36bf" ], [ "FStar.Buffer.lemma_modifies_0_unalloc", @@ -3144,15 +2914,11 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_ref", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_0", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_buf_0", @@ -3172,15 +2938,13 @@ "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_Prims.squash", + "equation_FStar.UInt.fits", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_live_disjoint", "lemma_FStar.Buffer.lemma_modifies_0_1_", @@ -3196,18 +2960,21 @@ "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.subset_mem", + "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", @@ -3222,10 +2989,10 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.UInt32.v" ], 0, - "3aced46060294003adf5904f792c6b7e" + "b19b2406720994dae593214049e7756a" ], [ "FStar.Buffer.lemma_modifies_none_1_trans", @@ -3234,8 +3001,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", @@ -3245,7 +3010,6 @@ "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.modifies_none", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.unused_in", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", @@ -3261,11 +3025,8 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.modifies_transitively", "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", "equation_FStar.Set.subset", "equation_Prims.eq2", - "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -3275,18 +3036,17 @@ "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ec52bb925f79fa604568081cd5cf4c54", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -3294,7 +3054,6 @@ "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", @@ -3302,11 +3061,10 @@ "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "e7e7313475a3bb25c28336332b877431" + "59cd8ad7ade53f5181f55ffa65a07a7d" ], [ "FStar.Buffer.lemma_modifies_0_none_trans", @@ -3315,8 +3073,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", @@ -3342,10 +3098,8 @@ "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.modifies_transitively", "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_FStar.Set.subset", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -3362,10 +3116,9 @@ "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ec52bb925f79fa604568081cd5cf4c54", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", "typing_FStar.Buffer.content", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", @@ -3380,11 +3133,10 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "6772fc2fcaabffbb93f7e84c54ec1343" + "e28f926e9914066768eead5873ba0ecb" ], [ "FStar.Buffer.create", @@ -3393,22 +3145,20 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.length" ], 0, - "c0ac9d8135c8d26460cd458c107a14b8" + "979f547bc2a1be9955908e9dff0d5ba7" ], [ "FStar.Buffer.create", 2, 0, - 2, + 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.Buffer.MkBuffer", "eq2-interp", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", @@ -3489,24 +3239,21 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.content", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.sel", @@ -3523,7 +3270,6 @@ "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.is_stack_region", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Seq.Base.index", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", @@ -3532,7 +3278,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "df6980c0d2feb8450728b4d687b5e979" + "043df3accb0ddd732f004766d84ffb98" ], [ "FStar.Buffer.createL", @@ -3542,11 +3288,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "26d3216ce96e1742bba131fce1947761" + "daa948901f55ba0c11cd3c51e66ab2da" ], [ "FStar.Buffer.createL", @@ -3559,9 +3305,7 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", + "b2t_def", "bool_inversion", "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", @@ -3603,9 +3347,8 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -3641,22 +3384,19 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", + "refinement_interpretation_Tm_refine_9807da2af966dc3ead6e40917ab2d265", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bae49c28c457d8a041a1d2652d66bb1c", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.content", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", @@ -3680,7 +3420,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int" ], 0, - "35b4303be1485fdacbe1b8cd1f0b9c56" + "cbdf613e9e7e18126eb46c14a8422ac5" ], [ "FStar.Buffer.lemma_upd", @@ -3688,8 +3428,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", @@ -3699,18 +3438,14 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.upd", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_d3823f3ffb7d6f0f3f244bcf3486653f", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", @@ -3725,7 +3460,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "191c4ecefcbb821611ce8029e281cd9e" + "0ae7732fc8af316f4fcbfd32d0eecae7" ], [ "FStar.Buffer.rcreate_post_common", @@ -3733,20 +3468,17 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_Prims.eqtype", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "lemma_FStar.Buffer.lemma_size", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Buffer.length" ], 0, - "4e0b718633953c7c809f07179e672934" + "7a02ce3c9f40956aae99e60a2ff826d7" ], [ "FStar.Buffer.rcreate_common", @@ -3755,8 +3487,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", @@ -3774,14 +3505,13 @@ "equation_FStar.Monotonic.HyperHeap.modifies_just", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.is_eternal_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mmmref", "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.mref", + "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.unused_in", "equation_FStar.Monotonic.HyperStack.upd", @@ -3794,12 +3524,11 @@ "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelConcat1", "lemma_FStar.Map.lemma_SelConcat2", "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", @@ -3814,9 +3543,8 @@ "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.vu_inv", + "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", + "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", @@ -3831,24 +3559,21 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_81f342659eefffbc67c5aa64093ad0b3", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.sel", @@ -3870,12 +3595,11 @@ "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Seq.Base.index", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_FStar.UInt32.v" ], 0, - "d137de25ff3b38278d1461e43fb195f1" + "a6b87f9fdc1d7e30424b52b06d1fd665" ], [ "FStar.Buffer.rcreate", @@ -3883,17 +3607,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "9d1f999c3a1606b52d0acd1ca8f6064c" + "d6858400bad0938874a924931ea3fe3c" ], [ "FStar.Buffer.rcreate", @@ -3902,7 +3623,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "67e68906ffa6ce685ea89c9186640f37" + "2824a9f0335002ff14f720e7e0c55b44" ], [ "FStar.Buffer.freeable", @@ -3916,12 +3637,12 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "df88d25e0c2999ae0a0bbf9e5bed390b" + "5ee72d50412f7a9ac171f438a870e11f" ], [ "FStar.Buffer.rcreate_mm", @@ -3929,10 +3650,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.freeable", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", @@ -3952,7 +3671,6 @@ "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", @@ -3966,10 +3684,10 @@ "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -3986,7 +3704,7 @@ "typing_FStar.UInt32.v" ], 0, - "e850b6981179326107b1a5339990b995" + "bc2b3a9f87e24b04759918e735efcc22" ], [ "FStar.Buffer.rfree", @@ -3994,13 +3712,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.freeable", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.freeable", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.HyperStack.ST.is_live_for_rw_in", @@ -4008,23 +3724,21 @@ "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.is_eternal_color", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_32f429d27faeb70d3d489e6d2b636f75", - "refinement_interpretation_Tm_refine_9d6bac4eae704a6525a6b49fe5039bde", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9678504c51c86ec83112fd10f7c6b5aa", + "refinement_interpretation_Tm_refine_a4eac6347c7d645715f84860aebfd69e", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.max_length", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperStack.is_eternal_color" ], 0, - "a95010158bf6159933206db9fddeff6d" + "04dc0a3bd6ce2cb792645462d7e0392b" ], [ "FStar.Buffer.to_seq", @@ -4033,7 +3747,7 @@ 1, [ "@query" ], 0, - "8147688e7e509ba3c9495a2203859ae0" + "abc23f88810d95c9817589a69ccf08e4" ], [ "FStar.Buffer.to_seq", @@ -4041,43 +3755,39 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", + "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.is_live_for_rw_in", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_065a4aa72f25333839d85047a8af8781", + "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e0f4be5bd72b4187a1ad66a3d3f712e3", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", - "refinement_interpretation_Tm_refine_ffbbe6bdc011d64016f70fb288932a4a", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "426e111dd1722a31a58566ea870650e8" + "f2842d7acb55f76bcf6badadd312d45c" ], [ "FStar.Buffer.to_seq_full", @@ -4085,9 +3795,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", @@ -4097,11 +3805,8 @@ "equation_FStar.HyperStack.ST.is_live_for_rw_in", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", + "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -4112,18 +3817,18 @@ "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", - "refinement_interpretation_Tm_refine_e0f4be5bd72b4187a1ad66a3d3f712e3", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "0d051a58683543cbbe74a3bb8a5c4ef0" + "3086ea73068a739cee49a69c15f63aaf" ], [ "FStar.Buffer.index", @@ -4131,18 +3836,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "40628d7b384f7996eefa1102ae65f295" + "b817c076baa2469de419cf76244106af" ], [ "FStar.Buffer.index", @@ -4150,43 +3852,39 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", + "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.is_live_for_rw_in", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_index_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e0f4be5bd72b4187a1ad66a3d3f712e3", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.sel", "typing_FStar.UInt32.v" ], 0, - "bf1e5480fedfe3e6655e04ac8945de25" + "3d24158dd063587ca345dccb8a06e3fc" ], [ "FStar.Buffer.lemma_aux_0", @@ -4194,11 +3892,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_FStar.Buffer.MkBuffer", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", @@ -4222,9 +3917,8 @@ "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -4242,30 +3936,25 @@ "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_930736f0ed9721bbdcd686f151789baf", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Map.sel", "typing_FStar.Map.upd", + "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", @@ -4278,7 +3967,7 @@ "typing_FStar.UInt32.v" ], 0, - "138da81f776a570bb6ab65011ad0a246" + "d6125d8cfd7a72ac14fac66ccd5d5c03" ], [ "FStar.Buffer.lemma_aux_1", @@ -4286,41 +3975,37 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", + "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_930736f0ed9721bbdcd686f151789baf", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "2ef2a564e37bad9eed2b44a509f264d6" + "63232782c426f674cd53975c15cb0ed0" ], [ "FStar.Buffer.lemma_aux_2", @@ -4328,41 +4013,37 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", + "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_930736f0ed9721bbdcd686f151789baf", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "846b70b509d20e24583e0553939ee9f0" + "67c1cb66b5ad626cdbcc6f238f145ec3" ], [ "FStar.Buffer.lemma_aux", @@ -4370,43 +4051,39 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", + "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_930736f0ed9721bbdcd686f151789baf", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "1dca6ae606c33158883824056da673b3" + "746f62da50a6e40d4c606fd67e1a7682" ], [ "FStar.Buffer.lemma_aux", @@ -4415,9 +4092,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.Buffer.MkBuffer", "eq2-interp", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", @@ -4445,15 +4120,17 @@ "equation_FStar.Monotonic.HyperStack.unused_in", "equation_FStar.Monotonic.HyperStack.upd", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_FStar.UInt.uint_t", "equation_Prims.eq2", + "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", + "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "l_and-interp", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelConcat1", "lemma_FStar.Map.lemma_SelConcat2", "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", @@ -4465,31 +4142,31 @@ "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", + "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_d58d7e3b4b6ce757231e9089061120a0", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", + "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.sel", @@ -4509,13 +4186,13 @@ "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Monotonic.HyperStack.unused_in", "typing_FStar.Monotonic.HyperStack.upd", "typing_FStar.Seq.Base.upd", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", + "typing_FStar.Set.complement", "typing_FStar.Set.mem", + "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "cf19cecf52a9ad5bb06351eace15ab1a" + "5e93835855fbcfc2ebddc9768bc8d297" ], [ "FStar.Buffer.upd", @@ -4523,17 +4200,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "ab048151768c901ce702a5f717d56e90" + "9c2ac8a4762c0eb072301fa9652e0022" ], [ "FStar.Buffer.upd", @@ -4541,11 +4215,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.as_seq", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", @@ -4563,13 +4234,13 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.UInt.uint_t", "equation_Prims.l_True", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", + "equation_FStar.UInt.uint_t", "equation_Prims.eq2", + "equation_Prims.squash", + "fuel_guarded_inversion_FStar.Buffer._buffer", + "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", @@ -4583,18 +4254,16 @@ "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_196084bc1ad335a40df7013012fef5be", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_94bdcb2ec729e4ce028af4aa3ba8439b", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", @@ -4613,7 +4282,7 @@ "typing_FStar.UInt32.v" ], 0, - "991a96b4720c35bafb8bb294d745ed75" + "98ac28462d07a11dfc01c651ea41e968" ], [ "FStar.Buffer.sub", @@ -4622,7 +4291,7 @@ 1, [ "@query" ], 0, - "86708306c7504b89eef8d170fcbf2f68" + "cbc13a3816ed4c9359a1a137479cb44e" ], [ "FStar.Buffer.sub", @@ -4630,21 +4299,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Buffer.MkBuffer", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", @@ -4656,16 +4320,15 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "bf23912b6e4f7552c96186b269f7473a" + "3f27cfda7a54526497c57e6231ef4425" ], [ "FStar.Buffer.sub_sub", @@ -4673,25 +4336,16 @@ 0, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", "equation_FStar.Buffer.sub", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", @@ -4699,21 +4353,23 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.sub", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v" ], 0, - "e0a204c86cdc8b1ffcce476bf8459d6d" + "d4cedb84b113ee3a657f30215d249d53" ], [ "FStar.Buffer.sub_zero_length", @@ -4722,17 +4378,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.Buffer.sub", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -4743,13 +4396,13 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_idx", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.length", "typing_FStar.Buffer.sub", @@ -4757,7 +4410,7 @@ "typing_FStar.UInt32.v" ], 0, - "43d57b15c2827df1bba9753691db93ab" + "6ac0db7072206d1776ba553b6e5b6d73" ], [ "FStar.Buffer.lemma_sub_spec", @@ -4765,10 +4418,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.Buffer.MkBuffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Buffer.MkBuffer", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", @@ -4785,21 +4436,18 @@ "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", @@ -4810,36 +4458,38 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_idx", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_2232b91224142b56c18e0ee422ea9da9", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_3182ed61a6c0f53ab673702144c198e7", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_94d7e20a012dbe25deed430415b46122", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba389e93f50bd706943173977680ab70", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bb175624675e8de3607b9825bbb34a2b", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "8fa66b477357e727ae15fdaccc9b724b" + "8aa7c1cf16de53900da81da732b4403d" ], [ "FStar.Buffer.lemma_sub_spec'", @@ -4847,32 +4497,29 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.sub", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_content", "projection_inverse_FStar.Buffer.MkBuffer_max_length", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", "typing_FStar.UInt32.v" ], 0, - "02cb330cd6c25c4543eb80a97673a34b" + "1941418f35de2b3d87e4199b85c71a72" ], [ "FStar.Buffer.offset", @@ -4882,20 +4529,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", @@ -4907,15 +4549,15 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ead60fa393de493a6960365861c87f8e", + "refinement_interpretation_Tm_refine_824d2ceea0878576f4fa9b454895d083", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.UInt32.v" ], 0, - "cae19179c6c6d8f2a5c411ec3f3bd893" + "ad03a4743924c98299c37b055e353cd9" ], [ "FStar.Buffer.lemma_offset_spec", @@ -4925,9 +4567,8 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.Buffer.MkBuffer", + "b2t_def", "bool_inversion", "bool_typing", + "data_elim_FStar.Buffer.MkBuffer", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", @@ -4943,14 +4584,11 @@ "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -4970,26 +4608,27 @@ "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_164367523f88ba27c46874b1175e02fc", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_824d2ceea0878576f4fa9b454895d083", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ead60fa393de493a6960365861c87f8e", + "refinement_interpretation_Tm_refine_d3060c465339ecda0be41d56c70d2939", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.offset", "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", @@ -4997,7 +4636,7 @@ "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "62b05d2c606ea6cbb71ad21eb6049220" + "4856b4b5e4005bf4abd885e27296c3cc" ], [ "FStar.Buffer.eq_lemma1", @@ -5005,18 +4644,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_44c076191d6ac7e3d8fea18042da715f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_a27aeb8b15667b06253441ae2fbcf4bf", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "4f8294f2ff66ac42316fd6b4c45cc3b0" + "5986cf3826bbc489e537459075ae6798" ], [ "FStar.Buffer.eq_lemma1", @@ -5024,11 +4660,8 @@ 0, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.Buffer.MkBuffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Buffer.MkBuffer", "data_elim_FStar.Monotonic.HyperStack.MkRef", "eq2-interp", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.get", @@ -5045,20 +4678,15 @@ "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -5071,34 +4699,34 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_idx", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_44c076191d6ac7e3d8fea18042da715f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", "refinement_interpretation_Tm_refine_88f363c12958402184da0289a08e44ec", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aaba29aafe86be6dd47c8b840a5fea76", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_a27aeb8b15667b06253441ae2fbcf4bf", + "refinement_interpretation_Tm_refine_c34eeed50e3291404394eda2d6afaa60", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "38bdb1b21524d3d62619c9f4825f8e22" + "e04d98bad1d10f7738e1c047689f0892" ], [ "FStar.Buffer.eq_lemma2", @@ -5106,18 +4734,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_44c076191d6ac7e3d8fea18042da715f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_a27aeb8b15667b06253441ae2fbcf4bf", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "b9f85b037aa621306feedee8239c888f" + "5bbb7d641bcf61737fa6eb62f1c998a4" ], [ "FStar.Buffer.eq_lemma2", @@ -5125,16 +4750,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.Buffer.MkBuffer", - "eq2-interp", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.get", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Buffer.MkBuffer", "eq2-interp", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.get", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.sel", "equation_FStar.Buffer.sub", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -5143,14 +4766,10 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.vu_inv", @@ -5168,22 +4787,21 @@ "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_44c076191d6ac7e3d8fea18042da715f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", "refinement_interpretation_Tm_refine_88f363c12958402184da0289a08e44ec", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_a27aeb8b15667b06253441ae2fbcf4bf", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", @@ -5191,14 +4809,14 @@ "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "b222ee889e0762109efb81b9c60bf48e" + "2cbfb81c258df5c3585ecd47a90bbda8" ], [ "FStar.Buffer.eqb", @@ -5217,7 +4835,7 @@ "typing_FStar.UInt32.v" ], 0, - "9d6f91cb6cd5adec5617a215a920ffed" + "8f7ca708faa3fa16a2d33a18cbe36862" ], [ "FStar.Buffer.eqb", @@ -5225,44 +4843,41 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.get", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.get", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.eq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.eq", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.eq", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Buffer.eq_lemma1", "lemma_FStar.Buffer.eq_lemma2", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_44c076191d6ac7e3d8fea18042da715f", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_84236c489173a447473e4b8d0799c2df", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_72d3c6e71283179f002e1558013c4184", + "refinement_interpretation_Tm_refine_a27aeb8b15667b06253441ae2fbcf4bf", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.length", "typing_FStar.UInt32.v" ], 0, - "c2b1c55a41a1b1b0eafdcfb3da75e23f" + "7f328f0826eea1ea7c207b2725297055" ], [ "FStar.Buffer.op_Array_Access", @@ -5270,18 +4885,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "d9c8a40d40accd76ca9db132f0b96ce9" + "ac3949939a685069d781dcac65cb14a3" ], [ "FStar.Buffer.op_Array_Access", @@ -5290,7 +4902,7 @@ 1, [ "@query" ], 0, - "43e5fc684a679a3e122aa639f11da1a5" + "c0569c60cfffb780c53ce7058bfbcec1" ], [ "FStar.Buffer.op_Array_Assignment", @@ -5298,17 +4910,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "f85276b400cf2cec68822eec60a22e71" + "8a1559e3e7dd375c174af7f0995b9535" ], [ "FStar.Buffer.lemma_modifies_one_trans_1", @@ -5316,9 +4925,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.frameOf", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", @@ -5330,7 +4938,6 @@ "equation_FStar.Set.subset", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -5342,8 +4949,8 @@ "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", @@ -5354,7 +4961,7 @@ "typing_FStar.Set.singleton", "typing_FStar.UInt32.v" ], 0, - "81e0e60e289d4a1f09efd0d62b1bc75b" + "8941fdc711caa51f7dea2412e023d9e3" ], [ "FStar.Buffer.blit", @@ -5362,10 +4969,9 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.length", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -5373,27 +4979,26 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_72739da3cedb4f7a2dcd852cd27c18ad", - "refinement_interpretation_Tm_refine_84236c489173a447473e4b8d0799c2df", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_60d805e2385b03fac40e7fee8602e405", + "refinement_interpretation_Tm_refine_72d3c6e71283179f002e1558013c4184", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "da3eeabf592431a1125ded9ef2e4d63f" + "1db0c348c7bf31845f1c41f0782a7d38" ], [ "FStar.Buffer.blit", @@ -5401,22 +5006,16 @@ 0, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_2", "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sel", + "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.mreference", @@ -5441,14 +5040,12 @@ "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.lemma_modifies_1_1", "lemma_FStar.Buffer.lemma_modifies_1_trans", "lemma_FStar.Buffer.lemma_modifies_2_1_", - "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Map.lemma_ContainsDom", @@ -5460,6 +5057,7 @@ "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Seq.Base.lemma_index_upd1", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.lemma_tail_slice", "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Seq.Properties.slice_upd", @@ -5471,59 +5069,49 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_72739da3cedb4f7a2dcd852cd27c18ad", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_84236c489173a447473e4b8d0799c2df", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_60d805e2385b03fac40e7fee8602e405", + "refinement_interpretation_Tm_refine_72d3c6e71283179f002e1558013c4184", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_ead60fa393de493a6960365861c87f8e", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.length", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.offset", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Map.sel", + "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", + "typing_FStar.Set.complement", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "unit_inversion", "unit_typing" ], 0, - "39790e32713feac1d66528e472e96968" + "0fb7c20a2ce106a18fb00c846dcc1255" ], [ "FStar.Buffer.fill", @@ -5531,10 +5119,8 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", @@ -5552,10 +5138,8 @@ "equation_Prims.eq2", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", "lemma_FStar.Buffer.lemma_size", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "l_and-interp", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", @@ -5563,22 +5147,23 @@ "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_e0f4be5bd72b4187a1ad66a3d3f712e3", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.frameOf", "typing_FStar.Map.contains", "typing_FStar.Map.restrict", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt32.v" ], 0, - "2f6331b4f761258d1f3a8adcf906dd7e" + "516a2ef7a1e758e530ba23ead9028f2a" ], [ "FStar.Buffer.fill", @@ -5588,11 +5173,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", + "b2t_def", "bool_inversion", "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", @@ -5601,7 +5182,7 @@ "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.offset", "equation_FStar.Buffer.unused_in", + "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", @@ -5612,12 +5193,10 @@ "equation_FStar.Monotonic.HyperHeap.modifies_one", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.unused_in", "equation_FStar.Seq.Properties.snoc", "equation_FStar.Seq.Properties.tail", "equation_FStar.Set.subset", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", @@ -5627,9 +5206,8 @@ "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "l_and-interp", "lemma_FStar.Buffer.lemma_modifies_1_trans", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", @@ -5641,21 +5219,24 @@ "lemma_FStar.Map.lemma_SelConcat2", "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_create", + "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_upd", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.Seq.Properties.slice_upd", + "lemma_FStar.Seq.Properties.upd_slice", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", @@ -5668,57 +5249,53 @@ "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8acd8cf2e68b262032ab9423b280219d", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_824d2ceea0878576f4fa9b454895d083", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_e0f4be5bd72b4187a1ad66a3d3f712e3", - "refinement_interpretation_Tm_refine_ead60fa393de493a6960365861c87f8e", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_eaf5a5a20b44a7570443845ef02d6dca", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.offset", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.unused_in", + "typing_FStar.Buffer.offset", "typing_FStar.Buffer.sel", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.unused_in", + "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.snoc", "typing_FStar.Set.complement", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "unit_typing" + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", + "typing_FStar.Seq.Base.upd", "typing_FStar.Set.complement", + "typing_FStar.Set.singleton", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v" ], 0, - "67c15bfc5eb4d5c8d7ba0481043d4132" + "13a3390f2f7226fe086ed37c08b0742e" ], [ "FStar.Buffer.split", @@ -5726,31 +5303,26 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "0fe4868b3f965b41b54f43a384d5d156" + "89171f097addaff61153cc8c0206d7d9" ], [ "FStar.Buffer.join", @@ -5758,19 +5330,16 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "165dbb79c26cea1178f302c3acf73145" + "5f78098f2aed2c4dc0d3675a1d60a4dc" ], [ "FStar.Buffer.join", @@ -5778,33 +5347,28 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d21c7990b027aaf3280ec9f5b196d52a", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", "typing_FStar.UInt32.v" ], 0, - "0611bcc2e235150f16bd6812d6fb229a" + "3521bbb15010b3639a1ef523a3f93d6a" ], [ "FStar.Buffer.no_upd_lemma_0", @@ -5812,14 +5376,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_0", "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", @@ -5839,9 +5401,8 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", "lemma_FStar.Map.lemma_SelRestrict", @@ -5852,9 +5413,9 @@ "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", @@ -5873,7 +5434,7 @@ "typing_FStar.UInt32.v" ], 0, - "53e1a90b22f3891ba751e893916c0095" + "20ed04ce4adbebf08f02ae1e6ad07ffe" ], [ "FStar.Buffer.no_upd_lemma_1", @@ -5881,15 +5442,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", @@ -5907,13 +5465,10 @@ "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eq2", - "equation_Prims.squash", + "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", "lemma_FStar.Map.lemma_SelRestrict", @@ -5924,10 +5479,9 @@ "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", @@ -5937,17 +5491,16 @@ "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt32.v" ], 0, - "44fa655b7d419994abb09ff1881cc81b" + "e2a7b047f97d8216896a9a2952af03e5" ], [ "FStar.Buffer.no_upd_lemma_2", @@ -5955,14 +5508,12 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_2", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.sel", @@ -5983,7 +5534,6 @@ "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_modifies_2_comm", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", @@ -5997,9 +5547,9 @@ "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", @@ -6017,7 +5567,7 @@ "typing_FStar.UInt32.v" ], 0, - "1cc64eb644947b0d986f9f4509337926" + "e2cb1e9a5ae92e5facc36bc3bb16c427" ], [ "FStar.Buffer.no_upd_lemma_2_1", @@ -6025,14 +5575,12 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_2_1", "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", @@ -6053,7 +5601,6 @@ "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", @@ -6066,9 +5613,9 @@ "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", @@ -6087,7 +5634,7 @@ "typing_FStar.UInt32.v" ], 0, - "80a846acad387944af53637ac6c463a1" + "55c1ed005beaf1668c354e1f5ccf3592" ], [ "FStar.Buffer.no_upd_fresh", @@ -6095,13 +5642,12 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", - "eq2-interp", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_FStar.Monotonic.HyperStack.MkRef", "eq2-interp", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -6124,8 +5670,8 @@ "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", @@ -6140,7 +5686,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "48c0cf805c1e542ce169ac3d6a6f6187" + "e1fe01f158f97c7f83f8b73039bd9fce" ], [ "FStar.Buffer.no_upd_popped", @@ -6148,9 +5694,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_seq", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", @@ -6177,13 +5722,9 @@ "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", @@ -6201,7 +5742,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "0dcae89c8e7c738c8de0fee8b4954c56" + "daf783fe5609f56a3f5f12018785fe9e" ], [ "FStar.Buffer.lemma_modifies_sub_0", @@ -6233,7 +5774,7 @@ "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", @@ -6242,7 +5783,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "51d1717121563a51b73b54f61a9da33b" + "686a4a6470608a02a185d0c865112631" ], [ "FStar.Buffer.lemma_modifies_sub_1", @@ -6250,37 +5791,20 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_Prims.eq2", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -6288,33 +5812,19 @@ "lemma_FStar.Map.lemma_SelConcat1", "lemma_FStar.Map.lemma_SelConcat2", "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", + "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.content", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.unused_in", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.contains", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.unused_in", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "ab452c8b38153aeccb70f15838c22838" + "3ac78b8f07c2eb37ab6ae242721e3bb6" ], [ "FStar.Buffer.lemma_modifies_sub_2", @@ -6363,7 +5873,7 @@ "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", @@ -6376,7 +5886,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "3dc3b1ad7dc6a46423c00d5244b9883d" + "b124b0dbadc0a3181c5c510bc54e79aa" ], [ "FStar.Buffer.lemma_modifies_sub_2_1", @@ -6384,10 +5894,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.HyperStack.MkRef", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", @@ -6419,9 +5927,8 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Buffer.no_upd_lemma_0", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", @@ -6442,11 +5949,12 @@ "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", @@ -6461,7 +5969,7 @@ "typing_FStar.Set.union", "typing_FStar.UInt32.v" ], 0, - "e3e51b9d618cd9f98726b54216ec8b80" + "79d2f7ae01072795a79573c578c175d1" ], [ "FStar.Buffer.modifies_subbuffer_1", @@ -6469,12 +5977,11 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Heap.trivial_preorder", @@ -6495,8 +6002,8 @@ "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", @@ -6504,13 +6011,12 @@ "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "0ff1f6871388d8270c4e0edef48d7e0b" + "74c45771137f05949111b912b58b0441" ], [ "FStar.Buffer.modifies_subbuffer_2", @@ -6518,10 +6024,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.as_addr", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.includes", @@ -6551,7 +6055,6 @@ "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_disjoint_sub", "lemma_FStar.Buffer.lemma_live_disjoint", "lemma_FStar.Buffer.lemma_modifies_2_comm", @@ -6562,9 +6065,9 @@ "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", @@ -6584,7 +6087,7 @@ "typing_FStar.UInt32.v" ], 0, - "59d45d1f7a6ea0b5d59b2d556dc4575f" + "b013c332b83678193eb709590e42a6d9" ], [ "FStar.Buffer.modifies_subbuffer_2'", @@ -6596,7 +6099,7 @@ "lemma_FStar.Buffer.modifies_subbuffer_2" ], 0, - "e891ac8c9384f145243a687299d4c28b" + "e6f90c8d0887631e905d1b2b379ebf16" ], [ "FStar.Buffer.modifies_subbuffer_2_1", @@ -6604,13 +6107,11 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.includes", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", + "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.includes", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_2_1", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.unused_in", @@ -6641,8 +6142,8 @@ "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -6658,7 +6159,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "ad965f47f6301be7d799f72b5f823419" + "a792d9277e05290f30afa7e91ef06fff" ], [ "FStar.Buffer.modifies_subbuffer_2_prime", @@ -6666,15 +6167,12 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_addr", + "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.live", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.modifies_1", "equation_FStar.Buffer.modifies_2", "equation_FStar.Buffer.modifies_buf_1", @@ -6692,15 +6190,11 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_Prims.eq2", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.pos", "equation_Prims.squash", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_and-interp", "lemma_FStar.Buffer.modifies_subbuffer_2_", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", @@ -6712,12 +6206,12 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -6726,17 +6220,17 @@ "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.unused_in", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "84551852380383a623687babe6b9fc29" + "acda66a6e82129d9f47800f43290f1ef" ], [ "FStar.Buffer.modifies_popped_3_2", @@ -6744,24 +6238,24 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_2", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_ref", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.max_length", + "equation_FStar.Buffer.modifies_2", "equation_FStar.Buffer.modifies_3_2", "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", "equation_FStar.Buffer.unused_in", + "equation_FStar.Buffer.to_set_2", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", "equation_FStar.Monotonic.HyperHeap.modifies_one", + "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.fresh_frame", @@ -6772,10 +6266,11 @@ "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.modifies_ref", + "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.unused_in", + "equation_FStar.Set.subset", "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.Buffer.lemma_modifies_2_comm", @@ -6792,7 +6287,6 @@ "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", @@ -6804,36 +6298,27 @@ "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.unused_in", + "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.as_ref", + "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.remove_elt", "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "6f7d1dc3e8e8ea76af3b544b534b82a4" + "d7fabb4219db8d47b0f3f633dcf7ff34" ], [ "FStar.Buffer.modifies_popped_2", @@ -6842,7 +6327,7 @@ 1, [ "@query", "lemma_FStar.Buffer.lemma_stack_2" ], 0, - "2a3b05df79050e581807dfdd43f0b620" + "fd6d5af3fb14bac65a173d3065638f44" ], [ "FStar.Buffer.modifies_popped_1", @@ -6850,9 +6335,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_seq", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", @@ -6905,13 +6389,9 @@ "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -6934,7 +6414,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "fb3e474993fc4d9c0f30a0a186b33e61" + "0573ff2f5b075e14983889115e728b4b" ], [ "FStar.Buffer.modifies_popped_1'", @@ -6942,9 +6422,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_ref", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", @@ -6989,13 +6468,9 @@ "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -7018,7 +6493,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "47019c0a6d06558e2a149ce8653db87a" + "ed7ad5b656773d1b04a1c180f4119b87" ], [ "FStar.Buffer.modifies_popped_0", @@ -7044,6 +6519,7 @@ "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", + "equation_FStar.Set.subset", "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.Buffer.no_upd_fresh", @@ -7052,7 +6528,7 @@ "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelConcat1", "lemma_FStar.Map.lemma_SelConcat2", "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", @@ -7062,14 +6538,10 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", @@ -7083,7 +6555,7 @@ "typing_FStar.Set.union" ], 0, - "2c639d6be4487020b4179e86df0c32ff" + "e9b933ce05c79d841875dd27986ca9a4" ], [ "FStar.Buffer.live_popped", @@ -7092,7 +6564,7 @@ 1, [ "@query", "lemma_FStar.Buffer.no_upd_popped" ], 0, - "3a90b228d2932895aefe01f8d416628a" + "69d580436b9c91611467d025ff6ca79c" ], [ "FStar.Buffer.live_fresh", @@ -7101,7 +6573,7 @@ 1, [ "@query", "lemma_FStar.Buffer.no_upd_fresh" ], 0, - "bf0d22120e1627d10bc6538401fef78e" + "73f9fce22d3f4c857b9961b5ea1c31ff" ], [ "FStar.Buffer.modifies_0_to_2_1_lemma", @@ -7110,7 +6582,7 @@ 1, [ "@query", "lemma_FStar.Buffer.lemma_modifies_sub_2_1" ], 0, - "6048a122a44c95d5ee84d7dd0e0f5414" + "9d37f6c22c15e34af17895d39b692499" ], [ "FStar.Buffer.lemma_modifies_none_push_pop", @@ -7147,11 +6619,7 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", @@ -7166,7 +6634,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "536f27e503cfb6d493f9faa8f53f6f12" + "e96460d65f866e2ba99807da9e7cd6bb" ], [ "FStar.Buffer.lemma_modifies_0_push_pop", @@ -7205,11 +6673,7 @@ "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", @@ -7224,7 +6688,7 @@ "typing_FStar.Set.singleton" ], 0, - "c78310c2d88ebe223f59f29c8faa05c1" + "2be268a63fc9083b3061fb558b771329" ], [ "FStar.Buffer.modifies_1_to_2_1_lemma", @@ -7232,10 +6696,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "eq2-interp", "equation_FStar.Buffer.as_ref", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", @@ -7260,9 +6722,7 @@ "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.modifies_ref", "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_Prims.eq2", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", "lemma_FStar.Buffer.no_upd_lemma_1", "lemma_FStar.Map.lemma_ContainsDom", @@ -7280,9 +6740,8 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Buffer.MkBuffer_content", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", @@ -7296,11 +6755,10 @@ "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "e4543ba6b0f9f97efb04d786346b349c" + "5a377d5e775cfc6fc2584a31de549e1b" ], [ "FStar.Buffer.modifies_poppable_0", @@ -7312,7 +6770,7 @@ "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "50cc9fe922e0ef61af2bfddee84ae3cb" + "f60f6df8c84b0324a4cd8cf51c93863a" ], [ "FStar.Buffer.modifies_poppable_1", @@ -7324,7 +6782,7 @@ "equation_FStar.Monotonic.HyperStack.poppable", "l_and-interp" ], 0, - "8d1361b509755b1a4a96ed1522dcfa9f" + "211a6143227337e55c955974d2f2463c" ], [ "FStar.Buffer.modifies_poppable_2_1", @@ -7336,7 +6794,7 @@ "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "059fbaa3e3bfcfefe89ed1e703348708" + "1deb6875c5430fa2fc92102f64336982" ], [ "FStar.Buffer.modifies_poppable_2", @@ -7348,7 +6806,7 @@ "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "b278425578d657a6bfbefa02f59ae6d6" + "7056ae6e98d953ccfe4e69e1d1eb6580" ], [ "FStar.Buffer.modifies_poppable_3_2", @@ -7360,7 +6818,7 @@ "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "241579c849be57404969722f4128b213" + "c256309cbd907217f15717d79a51e484" ], [ "FStar.Buffer.lemma_fresh_poppable", @@ -7373,10 +6831,10 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.poppable", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144" + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "2554d5aad4c04f225b411e3643164c1a" + "01b14985e1c4aca3a13be6541c967b21" ], [ "FStar.Buffer.lemma_equal_domains_popped", @@ -7399,19 +6857,17 @@ "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt" + "typing_FStar.Monotonic.HyperStack.remove_elt", + "typing_FStar.Set.complement", "typing_FStar.Set.intersect", + "typing_FStar.Set.singleton" ], 0, - "680fa5ee609fa11cf55b01d2650f8735" + "8542ae481dc8ba42274f3607c53aa8b8" ], [ "FStar.Buffer.lemma_equal_domains", @@ -7442,11 +6898,7 @@ "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.emp", @@ -7455,11 +6907,11 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton" + "typing_FStar.Set.complement", "typing_FStar.Set.intersect", + "typing_FStar.Set.mem", "typing_FStar.Set.singleton" ], 0, - "3d1163f5193ed3f048d69dfa128c9e21" + "f74ec600452679243aff40067513b4d8" ], [ "FStar.Buffer.lemma_equal_domains_2", @@ -7496,11 +6948,7 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", @@ -7509,11 +6957,12 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" + "typing_FStar.Set.complement", "typing_FStar.Set.intersect", + "typing_FStar.Set.mem", "typing_FStar.Set.singleton", + "typing_FStar.Set.union" ], 0, - "bfc5e4e582631851fe3e1feb2ff156fe" + "0d5e59bbf44d65b631e74f33b02b2324" ], [ "FStar.Buffer.assignL", @@ -7526,44 +6975,39 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Buffer.MkBuffer", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.get", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Nil", "data_elim_FStar.Buffer.MkBuffer", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", + "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", + "equation_FStar.Buffer.get", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.offset", + "equation_FStar.Buffer.sel", "equation_FStar.Buffer.sub", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.eq2", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.Buffer.lemma_modifies_1_trans", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", "lemma_FStar.Buffer.lemma_modifies_1_trans", "lemma_FStar.Buffer.lemma_modifies_sub_1", "lemma_FStar.Buffer.lemma_offset_spec", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", @@ -7571,7 +7015,6 @@ "lemma_FStar.Buffer.no_upd_lemma_1", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -7584,6 +7027,7 @@ "lemma_FStar.Seq.Properties.cons_index_slice", "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Seq.Properties.slice_length", + "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -7599,33 +7043,36 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_13c95205dce0d0a9a437db693ef6db2a", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", - "refinement_interpretation_Tm_refine_28b53e61dd896660d4082adde3769f43", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_51384ab2b5143a8ee23971f44fa434aa", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55d93815a48f5c15cb3c1ee8569c6b13", "refinement_interpretation_Tm_refine_6160ddad6b8a74948ba29c6f06362117", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_791b884a5d3a77c4bdaa82496ca94b68", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_794ef516c95d46fb28cf783bab321269", + "refinement_interpretation_Tm_refine_7fcd9f9963b1bace84e3aea08e5f1004", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_824d2ceea0878576f4fa9b454895d083", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", - "refinement_interpretation_Tm_refine_c0cfbe9eeebfb6939e2f5016a358bdf1", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_e441f768f3ae3ad6bdefb5ef4839b3d4", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Buffer.__proj__MkBuffer__item__content", @@ -7634,21 +7081,19 @@ "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.domain", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.upd", - "typing_FStar.Seq.Properties.seq_of_list", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "unit_inversion", "unit_typing" + "typing_FStar.Seq.Properties.seq_of_list", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "unit_inversion", "unit_typing" ], 0, - "f43fe8eff168ac48ea33d6d9eaf912e0" + "f2bdb29a230f9f827df79e655e7bc1ec" ], [ "FStar.Buffer._buffer", @@ -7656,16 +7101,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "1e83d364d535a269fc317c7a8fc77039" + "164154eab14e97dab435ca9bb0bc6341" ], [ "FStar.Buffer.__proj__MkBuffer__item__content", @@ -7673,17 +7115,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "b1d6791d696e59fff2e88f474ad378f7" + "96466c2b1bbdaa23fa0762e1e58466a4" ], [ "FStar.Buffer.__proj__MkBuffer__item__content", @@ -7705,12 +7144,12 @@ "projection_inverse_FStar.Buffer.MkBuffer_content", "projection_inverse_FStar.Buffer.MkBuffer_max_length", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "f21e35bcad0cedfe67067fc276c5f2ed" + "91f6cbfc842663446e57e76c3d5a2ecc" ], [ "FStar.Buffer.__proj__MkBuffer__item__length", @@ -7724,7 +7163,7 @@ "projection_inverse_FStar.Buffer.MkBuffer_max_length" ], 0, - "bce9e69b0eb2435e1628695a14b22a68" + "7c1a8e4190953ffe3dcb81accb42ebfe" ], [ "FStar.Buffer.contains", @@ -7738,12 +7177,12 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "d761c7ff6b490d3a341dfc3b32a2eb8c" + "3eb1bc5004570781d2d72a2ba09770cc" ], [ "FStar.Buffer.unused_in", @@ -7757,12 +7196,12 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "54d4fd1a10876a93db3f6613d147cbc5" + "6e581d0d4f7857f5f001ed82ed4ae36f" ], [ "FStar.Buffer.sel", @@ -7776,12 +7215,12 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "2cac62a0745c4562cd6f670129cfd18e" + "47524746603a695451d733071dbe6434" ], [ "FStar.Buffer.max_length", @@ -7789,17 +7228,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "1cb8786891c73a8904b433c2b2eea380" + "3f7a423b82da9c3921e579f8686941b2" ], [ "FStar.Buffer.length", @@ -7813,7 +7249,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9992f1245fea4df37d071b7d8bd72117" + "dc8183fd1aedbe4e57091017d82e313f" ], [ "FStar.Buffer.idx", @@ -7821,17 +7257,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.UInt32.v" ], 0, - "3f3990d518db0cd04a114d446a975368" + "f323b6ad2c63424c499fd0a370e2584d" ], [ "FStar.Buffer.live", @@ -7845,12 +7278,12 @@ "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "8f21608d43e3ade4140b82c457b7ef02" + "f0c5132bb108f9d8cf05c8058f55e25c" ], [ "FStar.Buffer.recall", @@ -7858,15 +7291,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.max_length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.max_length", + "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.max_length" ], 0, - "3a5c6c1db971ffedf86e73c39f7349b6" + "df5a03ff4e62796051a80209a78bf04e" ], [ "FStar.Buffer.as_seq", @@ -7874,9 +7305,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", @@ -7888,14 +7317,10 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -7905,23 +7330,23 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_30bc3c7534178953413ea0746006201e", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_20ab1f36346ea1e7eb3700c2e9ccc8a8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.length", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Seq.Base.length" ], 0, - "41e1b166b46b32aacb69d9b247c9f2dc" + "db6f1bd08649332b882f3446a19eeaa7" ], [ "FStar.Buffer.get", @@ -7934,7 +7359,7 @@ "typing_FStar.Buffer.as_seq" ], 0, - "ce83277d9be68ba75e886bcc882c1ab5" + "ecdd08cfd187344413bd80588e888567" ], [ "FStar.Buffer.equal", @@ -7943,7 +7368,7 @@ 1, [ "@query" ], 0, - "4bdfdd43e2eb04a01cacaa8b3b470cdb" + "4997b7ab8173bed37f4a7a7702e4f4ce" ], [ "FStar.Buffer.includes", @@ -7951,17 +7376,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "9b10a44e0b88d21e5859d0b836691e67" + "06e9698ecf94d1dee8ac4b712d18a6a0" ], [ "FStar.Buffer.includes_as_seq", @@ -7970,7 +7392,7 @@ 1, [ "@query" ], 0, - "7555c0e9f8b8c3ff13ddb38bc80e2daf" + "7d4855b4bf4769b1ceb5042fde658939" ], [ "FStar.Buffer.__proj__Buff__item__b", @@ -7982,7 +7404,7 @@ "projection_inverse_FStar.Buffer.Buff_t" ], 0, - "6bda77c96b14174c9c77becdb7fd653e" + "d26c87965129d4011132e1791505faff" ], [ "FStar.Buffer.arefs", @@ -7992,11 +7414,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c654e0e36d058af3b367838e9c2a21fe" + "29a751b867c467c2881c257eb2a27aa6" ], [ "FStar.Buffer.Arefs_def", @@ -8006,11 +7428,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "241f33df8bf6ab9ff6c05ad86318df2b" + "0ce1096488f836394760d5d4d9254826" ], [ "FStar.Buffer.lemma_arefs_1", @@ -8018,16 +7440,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "373d3688ae2a13a7d7a782a7688299ee" + "67ee0205495534476bc67fb37f2b1f39" ], [ "FStar.Buffer.lemma_arefs_2", @@ -8035,16 +7454,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d3e5c759ae1f9ed2ed846d35c4c1d404" + "9d286079a695e24c1aeb3afaab396f88" ], [ "FStar.Buffer.lemma_arefs_3", @@ -8054,11 +7470,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "698e09d203d498721575bb42224180ea" + "1dd41625ce6e8679b78dff9aad81aec5" ], [ "FStar.Buffer.disjoint_from_refs", @@ -8068,11 +7484,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "975e661ad464957e36f79e5ff3c65104" + "4700170062af87f02b09bdf845380242" ], [ "FStar.Buffer.disjoint_from_refs", @@ -8080,16 +7496,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bda47018d5c2b99117380757b785477a" + "37bdd292584dac941aa62063582e4705" ], [ "FStar.Buffer.disjoint_from_refs", @@ -8099,11 +7512,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cca84bbd5ee98f26dfa92dcc6a32f686" + "2a7d9536d2f36ca8abc701c1d5a2ef2d" ], [ "FStar.Buffer.modifies_bufs_and_refs", @@ -8113,11 +7526,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c1aa68651b84803129ff01d5ae6165f7" + "485a0212e06f0127b794a1c4d4e8634e" ], [ "FStar.Buffer.modifies_bufs_and_refs", @@ -8127,11 +7540,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "aecf1aa91aecb440aafc63cc6d7acd83" + "2640a29b75403c475b6f4ce4682e8065" ], [ "FStar.Buffer.modifies_bufs_and_refs", @@ -8141,11 +7554,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e83cd0187b484ae262fbd736b01c9ff1" + "a7dc59bfdaf6b3cf5ae3f7e09c1c14ef" ], [ "FStar.Buffer.modifies_buf_0", @@ -8155,11 +7568,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e48bcddf1fef1655c6e4e60f8e5d8fe8" + "681af22c617359128b36bd01262a08b6" ], [ "FStar.Buffer.modifies_buf_1", @@ -8167,16 +7580,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "02283de16a70e4e2c6d5889456bc90ec" + "cec7efaecd23efd20cd1a4548f2fe16c" ], [ "FStar.Buffer.to_set_2", @@ -8184,16 +7594,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "20d64c904ffcb7500a0ec5503ce0b929" + "63883ac9fa0cf54e1b090fc5497f4373" ], [ "FStar.Buffer.to_set_2", @@ -8203,11 +7610,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3577b610ba5bb41a46812c6f60e7f6b9" + "9a7f088997c5cb0fd3ae6eb5ac16a861" ], [ "FStar.Buffer.modifies_buf_2", @@ -8216,10 +7623,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a1cbe5d499287fafd94f25e1d5633fd5" + "c4d63bd469c79bfa03bd730cdaec0f8e" ], [ "FStar.Buffer.to_set_3", @@ -8227,16 +7634,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "feebe3b6ded485f41b7c35708d18ac50" + "9dcece9ed55b6348836f53f39d5c73a0" ], [ "FStar.Buffer.to_set_3", @@ -8246,11 +7650,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7e422dce0735ebda0080e9c44cee7e26" + "291f655a0b01e0881c924e4179acebe5" ], [ "FStar.Buffer.modifies_buf_3", @@ -8258,14 +7662,11 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9710e0986a0677acccc772bef1cb96a8" + "531f31d8cee39241a271138bec032fe6" ], [ "FStar.Buffer.to_set_4", @@ -8273,16 +7674,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b0e3cc8fc2be56fa525facc4a65c6064" + "2c2e095bc681ea9274009f6778022581" ], [ "FStar.Buffer.to_set_4", @@ -8292,11 +7690,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d6d68bbcb4fff813e235742593df0dd5" + "c95fd7ac03b50c8add59ace2aa000994" ], [ "FStar.Buffer.modifies_buf_4", @@ -8304,14 +7702,11 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5844592026b2b1c28bca253116c71b18" + "58444c08b7d11378e18e8871bbb7f1cc" ], [ "FStar.Buffer.lemma_reveal_modifies_2_1", @@ -8320,7 +7715,7 @@ 1, [ "@query" ], 0, - "4b276de2ba87e4f6640592cbc3b2f044" + "35023b78357b574b5abde5fd761aaa02" ], [ "FStar.Buffer.lemma_reveal_modifies_2", @@ -8329,7 +7724,7 @@ 1, [ "@query" ], 0, - "ac50e8b46720b1efced8d4f7d16ebb49" + "94f5911874e8102250eb9e2011996c0e" ], [ "FStar.Buffer.lemma_reveal_modifies_3", @@ -8338,7 +7733,7 @@ 1, [ "@query" ], 0, - "674b0cb35161c88dd6966dd59aca8116" + "0ddd26cde18b37bd1a6a2bc372ce5055" ], [ "FStar.Buffer.lemma_reveal_modifies_3_2", @@ -8347,7 +7742,7 @@ 1, [ "@query" ], 0, - "6c0252476a010c30ef50a95792c2cff1" + "48f1d42b171ed9bc953488ecf195c2ce" ], [ "FStar.Buffer.lemma_modifies_none_1_trans", @@ -8356,7 +7751,7 @@ 1, [ "@query" ], 0, - "ee2ddff2aa042ebe1fb4b17bc2a5c185" + "1bd493dd238149a4238c231e3fe8723d" ], [ "FStar.Buffer.lemma_modifies_0_none_trans", @@ -8365,7 +7760,7 @@ 1, [ "@query" ], 0, - "2d5c991eeb2e2ee29ac76bf24789383a" + "2cee32c0121f008d8fff9a0b618e75b1" ], [ "FStar.Buffer.create", @@ -8374,11 +7769,11 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.length" ], 0, - "10ddba6858adfcc1e3f70ac36a93cb94" + "696de047681445dae87c4326440ea2db" ], [ "FStar.Buffer.createL", @@ -8388,11 +7783,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "edef5bbaa09d74257510806c94bcf990" + "226376c5d4f98608e8dbc7b6d393c703" ], [ "FStar.Buffer.lemma_upd", @@ -8401,7 +7796,7 @@ 1, [ "@query" ], 0, - "8e958c5865f5054ef37dedff57603e69" + "b7d30a697413432098ef52d758ee7f74" ], [ "FStar.Buffer.rcreate_post_common", @@ -8409,20 +7804,17 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_Prims.eqtype", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Buffer._buffer", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "lemma_FStar.Buffer.lemma_size", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Buffer.length" ], 0, - "afb449a75dfce0400d6ba224c08d3834" + "5b7ad0ca5b5a5a7a84718f09f7c331d6" ], [ "FStar.Buffer.rcreate_common", @@ -8430,17 +7822,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "a5e830318e961677abc378110fa0f28d" + "bff2b4dffe1a9cc2d67d82a44e14096e" ], [ "FStar.Buffer.rcreate", @@ -8448,17 +7837,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "15e54ecb5b9fb7f744ccaa281bb7a491" + "c705433aee5b6035f03421c1a52ef682" ], [ "FStar.Buffer.rfree", @@ -8470,11 +7856,10 @@ "equation_FStar.Buffer.content", "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_9d6bac4eae704a6525a6b49fe5039bde" + "refinement_interpretation_Tm_refine_a4eac6347c7d645715f84860aebfd69e" ], 0, - "8c9e36c3461985bcf70d46b973f57a55" + "7581405de901b7eeb841815ac0a6c7e2" ], [ "FStar.Buffer.to_seq", @@ -8483,7 +7868,7 @@ 1, [ "@query" ], 0, - "ddf7a1f2984c5e2d4eef7e6c52cf76e4" + "425b458862c72b8a0243fa7edb0bae43" ], [ "FStar.Buffer.index", @@ -8491,18 +7876,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "96173836eaafe1540a4433a7b59f423e" + "5ae36c8ff580e5f750a67c2c845227ab" ], [ "FStar.Buffer.lemma_aux_0", @@ -8510,42 +7892,39 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", + "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_930736f0ed9721bbdcd686f151789baf", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "620aec8a469ab5fcf0286cc195b9741f" + "0b8988a459f1479a21179ae00271722a" ], [ "FStar.Buffer.lemma_aux_1", @@ -8553,42 +7932,39 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", + "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_930736f0ed9721bbdcd686f151789baf", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "b0a2c1daa015942f0fe6efd5704f31e3" + "c3d21555ec03a682c8ff5ab2eddd45b2" ], [ "FStar.Buffer.lemma_aux_2", @@ -8596,43 +7972,39 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", + "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_930736f0ed9721bbdcd686f151789baf", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "1210ed863614ac32eaa12e987719b281" + "d06b0dd24062e1bd6f547c94af8505da" ], [ "FStar.Buffer.lemma_aux", @@ -8640,42 +8012,39 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", + "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.reference", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Buffer.MkBuffer_content", + "proj_equation_FStar.Buffer.MkBuffer_idx", "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_930736f0ed9721bbdcd686f151789baf", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" ], 0, - "4ed21343defed3eb57c48db70970bd3f" + "5371af367aca23f8483f645c8b2693d2" ], [ "FStar.Buffer.upd", @@ -8683,17 +8052,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "62fc9a7a2e8b59ec749c4653af0e0a2d" + "0bfa459588fd107569871ab73fafc50c" ], [ "FStar.Buffer.sub", @@ -8701,21 +8067,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Buffer.MkBuffer", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", @@ -8727,16 +8088,15 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "d017744a17699949c8b36ab7e80d8ce4" + "4805628c53d1a319792878f896ecbef2" ], [ "FStar.Buffer.sub", @@ -8745,7 +8105,7 @@ 1, [ "@query" ], 0, - "a017d8f10a9fec8e7efd428e3f714f7e" + "931e0d346dcfa1ad8006a76fa71d5d35" ], [ "FStar.Buffer.sub_sub", @@ -8753,34 +8113,28 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.Buffer.sub", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_length", "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_length", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.UInt32.v" ], 0, - "335b3b0188d3fc6d873a7fc835ffda94" + "6427fb362f1a3244f750711f163d82dc" ], [ "FStar.Buffer.sub_zero_length", @@ -8789,30 +8143,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", "lemma_FStar.Buffer.lemma_size", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.UInt32.v" ], 0, - "7d9a23399a939c54dd09d90d0f8eea61" + "ed6d0bee36acfb88f049af9edc4ccd37" ], [ "FStar.Buffer.lemma_sub_spec", @@ -8820,32 +8170,29 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.sub", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_content", "projection_inverse_FStar.Buffer.MkBuffer_max_length", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", "typing_FStar.UInt32.v" ], 0, - "9913cda61faeb77f9b0d310466185335" + "98c8065a7624fb0d9a7b8db1e6e23a13" ], [ "FStar.Buffer.lemma_sub_spec'", @@ -8853,32 +8200,29 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", "equation_FStar.Buffer.sub", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Buffer.MkBuffer_content", "projection_inverse_FStar.Buffer.MkBuffer_max_length", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", "typing_FStar.UInt32.v" ], 0, - "05bc1c22dc1ba684af1ac9d76f3f404e" + "bc990b999b4ff75d32727e2c0667d617" ], [ "FStar.Buffer.offset", @@ -8888,20 +8232,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_content", "proj_equation_FStar.Buffer.MkBuffer_idx", @@ -8913,15 +8252,15 @@ "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_length", "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ead60fa393de493a6960365861c87f8e", + "refinement_interpretation_Tm_refine_824d2ceea0878576f4fa9b454895d083", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.UInt32.v" ], 0, - "ed0e5db3fd15fcd5b764989256e02170" + "7d5e4849c50aaf6068884edeec5c44e9" ], [ "FStar.Buffer.lemma_offset_spec", @@ -8929,30 +8268,27 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Buffer.length", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_824d2ceea0878576f4fa9b454895d083", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ead60fa393de493a6960365861c87f8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "55fdc6e13adaa61d5cd36d9841354fe7" + "1f85312fffb7c1896294a8c1dfc2d3f8" ], [ "FStar.Buffer.eq_lemma1", @@ -8960,18 +8296,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_44c076191d6ac7e3d8fea18042da715f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_a27aeb8b15667b06253441ae2fbcf4bf", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "6213dada9d092bd4fd480df887c10cce" + "e4698284c9ee5a2649abc6544ce8ffd5" ], [ "FStar.Buffer.eq_lemma2", @@ -8979,18 +8312,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_44c076191d6ac7e3d8fea18042da715f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_a27aeb8b15667b06253441ae2fbcf4bf", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "d3e877eccb8daa074d086747d007fb8a" + "1ca3670fce4ea34eb493b85b61d02e07" ], [ "FStar.Buffer.eqb", @@ -8998,18 +8328,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_44c076191d6ac7e3d8fea18042da715f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_a27aeb8b15667b06253441ae2fbcf4bf", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "34dfe958ecfc601d2cfd9c32ccf23842" + "8a155b1e02a81e909e2e0e373d721913" ], [ "FStar.Buffer.op_Array_Access", @@ -9017,18 +8344,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_8ab66c47188d2a87b81fb68765cd74c0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_653f9c44cdbe39c0f9b91359f9d0e296", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "c45ae2a7ce5d62e74f51040b662295c2" + "cac0cf5bb45d2dbcfc56bcf6a8604f2f" ], [ "FStar.Buffer.op_Array_Assignment", @@ -9036,17 +8360,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" ], 0, - "dfd6705b1d0bf563d9e6af543c235f8a" + "5ff0a5cf0a58707e602d3b4e3718df6a" ], [ "FStar.Buffer.blit", @@ -9054,10 +8375,9 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.length", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -9065,27 +8385,26 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_72739da3cedb4f7a2dcd852cd27c18ad", - "refinement_interpretation_Tm_refine_84236c489173a447473e4b8d0799c2df", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_60d805e2385b03fac40e7fee8602e405", + "refinement_interpretation_Tm_refine_72d3c6e71283179f002e1558013c4184", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "c79cf3ae5672df6882e6641e93f3805b" + "0273ef04e247c4cc7e4ed46e215b5690" ], [ "FStar.Buffer.fill", @@ -9093,10 +8412,8 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -9104,24 +8421,22 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_e0f4be5bd72b4187a1ad66a3d3f712e3", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "0296dc303c37c4942410ab57b839040e" + "82d834ed076b2f14af8f84745af586f8" ], [ "FStar.Buffer.split", @@ -9129,31 +8444,26 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f9aa6ef37604d5d974d2a349d4f300e4", + "refinement_interpretation_Tm_refine_cb628ebc37f7d2b85d02db0e0d22f3dc", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "0a7eb2ced84f1c227145bd73bf3af6c8" + "ecb1104194fe2d6d72e3ffae2ac4cec9" ], [ "FStar.Buffer.join", @@ -9161,19 +8471,16 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "394884904f5306944000420894c350d6" + "e09f5dea97c3ea425e896fdf682bfaae" ], [ "FStar.Buffer.join", @@ -9181,33 +8488,28 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Buffer.MkBuffer_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d21c7990b027aaf3280ec9f5b196d52a", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", "typing_FStar.UInt32.v" ], 0, - "f8bbbcf0a7657f4ae41a67c6131e3295" + "766b52a6ba5787b56b6160d507216a19" ], [ "FStar.Buffer.join", @@ -9215,19 +8517,16 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", "typing_FStar.UInt32.v" ], 0, - "10a71ebd4bd49e9dddc966fb4dc40a31" + "ca8fdcc26491c1a148e4aa53f844b479" ], [ "FStar.Buffer.assignL", @@ -9235,16 +8534,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ad272bea56e12244d3720a44150c236e" + "24a3478e8611d32d15b0c00f3d7d5b31" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.BufferNG.fst.hints b/ulib/FStar.BufferNG.fst.hints index afdef393d4b..7e1e514cd8f 100644 --- a/ulib/FStar.BufferNG.fst.hints +++ b/ulib/FStar.BufferNG.fst.hints @@ -17,7 +17,7 @@ "subterm_ordering_FStar.Pointer.Base.TStruct" ], 0, - "7aa1eca9f7fc6e6c62b23b3494c93766" + "36df45d4484893836ae040442d022660" ], [ "FStar.BufferNG.supported", @@ -26,14 +26,14 @@ 2, [ "@MaxIFuel_assumption", "@query", - "binder_x_dbfc35e3d4cc015569bedffe7a420b00_0", + "binder_x_9faba42ab88b43fa963967c6d9fe0a56_0", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons" ], 0, - "49913cddc1584a2f257e06f39fb71d31" + "65b24889573363810bff5aca38d36f47" ], [ "FStar.BufferNG.length", @@ -47,7 +47,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c5945b35684c6885f0b56e35c80c63c5" + "89e679f627a9e09bcda5a8cebada4e10" ], [ "FStar.BufferNG.as_seq", @@ -63,7 +63,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "421a48e87276f8c795509c67d621d118" + "5ed3547ea8d7be34488bf9abf5cf8ed7" ], [ "FStar.BufferNG.equal", @@ -72,7 +72,7 @@ 1, [ "@query" ], 0, - "22435b5d26e7e0dae33dbddd91a98273" + "dd30e3e77300efc98d12891cfa631e67" ], [ "FStar.BufferNG.includes_live", @@ -80,15 +80,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pointer.Base.buffer_readable_gsub_buffer", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -96,16 +91,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba574dd335029e9a2d0f7ce1498f4c17", + "refinement_interpretation_Tm_refine_72a8877532c7ba8925f83cc15567f96e", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Pointer.Base.buffer_idx", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "7ae064546a72f2bcb6da1b232b6b9383" + "3972e6e30c226bf8a49f500234aa035c" ], [ "FStar.BufferNG.includes_as_seq", @@ -113,15 +108,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -129,16 +119,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba574dd335029e9a2d0f7ce1498f4c17", + "refinement_interpretation_Tm_refine_72a8877532c7ba8925f83cc15567f96e", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Pointer.Base.buffer_idx", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "d606ef2b2b64c458f1024ecfedf14152" + "f2d8d8c2fc10bd052d700c8bfe0968dc" ], [ "FStar.BufferNG.lemma_disjoint_symm", @@ -152,7 +142,7 @@ "typing_FStar.Pointer.Base.loc_buffer" ], 0, - "95f4ebe0a5f84d9b255c164498d195ad" + "1c7e8982ee965d611bb1f0c8f1fd7dfd" ], [ "FStar.BufferNG.lemma_disjoint_sub", @@ -161,7 +151,7 @@ 1, [ "@query", "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "ea539886ceb1c23a31c7474ed3481dcc" + "9e8ce503b5cc4893ffc123f6a594cc5b" ], [ "FStar.BufferNG.lemma_disjoint_sub'", @@ -170,7 +160,7 @@ 1, [ "@query", "lemma_FStar.BufferNG.lemma_disjoint_sub" ], 0, - "141ee2ebb49236bfae93c3844a53ac46" + "a5b0bb54684cf6087813735c9dabb7d7" ], [ "FStar.BufferNG.lemma_live_disjoint", @@ -184,7 +174,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "648bf8308a88d7ff029f7468daab3347" + "4cdc584550fc15182ffcbc7a0bc8efeb" ], [ "FStar.BufferNG.create", @@ -193,7 +183,7 @@ 1, [ "@query" ], 0, - "ef5dfe905130a9a81d5b8379eb5b15b3" + "d1ccbe3d10020fbb67f3905514ec63ff" ], [ "FStar.BufferNG.create", @@ -203,25 +193,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", + "@query", "equation_FStar.BufferNG.typ", "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", "lemma_FStar.Pointer.Base.buffer_as_seq_gbuffer_of_array_pointer", "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", "lemma_FStar.Pointer.Base.buffer_readable_gbuffer_of_array_pointer", "lemma_FStar.Pointer.Base.buffer_unused_in_gbuffer_of_array_pointer", "lemma_FStar.Pointer.Base.frameOf_buffer_gbuffer_of_array_pointer", "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_9b063033f9f8b075fbdcde91a96a63d9", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f91c442f4e872efb5dc260d2bd566195", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "typing_FStar.Pointer.Base.type_of_typ" ], 0, - "183f3ba3fba0638fe85a67c870f82667" + "166931aaf16c577ce5d2d6645e65596f" ], [ "FStar.BufferNG.createL", @@ -231,11 +217,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fd35ed2529be90c6534d2d9860847a03" + "1c80bf934fe8c2347276c2aa85f9cd42" ], [ "FStar.BufferNG.createL", @@ -249,17 +235,15 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_Tm_unit", "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "equation_Prims.nat", + "b2t_def", "constructor_distinct_Tm_unit", + "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Pointer.Base.buffer_as_seq_gbuffer_of_array_pointer", "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", @@ -272,16 +256,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0763a9c235bea99d54ff3b32ace0ee30", + "refinement_interpretation_Tm_refine_1ac0cbd65aef9a1bf1fbfbe90c91a194", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", "refinement_interpretation_Tm_refine_f5f1692392a8bc0a2342c5df8e24765b", "typing_FStar.List.Tot.Base.length", "typing_FStar.Pointer.Base.type_of_typ" ], 0, - "d1337f6ab31aae0b5a5856b29976970f" + "5797e67dd74cca426a473538c1d428bb" ], [ "FStar.BufferNG.rcreate", @@ -289,18 +273,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b18bb0ff1fb8ef1720266499f89ec21" + "refinement_interpretation_Tm_refine_84983f7c0806bb5412215ca218d31904" ], 0, - "ab2289121518da3532386c06d1d73e9a" + "3a97ccc6e131d50ef8dda13b8f2f1d31" ], [ "FStar.BufferNG.rcreate", @@ -310,17 +290,12 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BufferNG.typ", + "@query", "equation_FStar.BufferNG.typ", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pointer.Base.array_length_t", "equation_FStar.Pointer.Base.modifies_0", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Pointer.Base.buffer_as_seq_gbuffer_of_array_pointer", "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", "lemma_FStar.Pointer.Base.buffer_readable_gbuffer_of_array_pointer", @@ -328,17 +303,18 @@ "lemma_FStar.Pointer.Base.loc_includes_none", "lemma_FStar.Pointer.Base.modifies_loc_includes", "lemma_FStar.Seq.Base.lemma_create_len", + "refinement_interpretation_Tm_refine_11909c5fb1b8562f96ab0360020d5e9a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_6b18bb0ff1fb8ef1720266499f89ec21", - "refinement_interpretation_Tm_refine_8707d8ae538e447380448dbacbffa1b6", + "refinement_interpretation_Tm_refine_84983f7c0806bb5412215ca218d31904", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pointer.Base.loc_addresses", "typing_FStar.Pointer.Base.loc_none", "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.Set.empty" ], 0, - "4a718141bf8084b3b687f492d0603c3f" + "9a1d595be93466f7402ed555b415733b" ], [ "FStar.BufferNG.index", @@ -357,7 +333,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "efc8107f28114b7908d0cd0d5a21f6bc" + "5e161724480cd4b8c3fd67577c9643f6" ], [ "FStar.BufferNG.index", @@ -366,13 +342,12 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell", - "refinement_interpretation_Tm_refine_78251bb6f02c39dad691fa35c2113c7b", + "refinement_interpretation_Tm_refine_6dcf40a9f3e46c6ee241f21155b50a17", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "cded49b4cd2a6341d4a82a28bb38c84d" + "b2768631787e6729cdaf33279d00ae0f" ], [ "FStar.BufferNG.upd", @@ -391,7 +366,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "979731b4acda15b9b8d88bf997f22fc7" + "deb4b333db299484365653af7b9ed55f" ], [ "FStar.BufferNG.upd", @@ -402,19 +377,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", + "@query", "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.BufferNG.typ", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.modifies_1", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", "lemma_FStar.Pointer.Base.index_buffer_as_seq", @@ -429,16 +399,16 @@ "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_0a147678bf56b26eeadd0abbd6faaa27", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_97c89afabadb2958a88e0a583356416c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d1e76d56e2ec7389d639ef3df0bd6a06", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_e238b3b3cd918f1e4055a8daaf38a8f0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BufferNG.supported", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", @@ -447,7 +417,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "fad4e1a34da997b2acca123222740ea7" + "1bce8ba59cc528f869e54d0729c7e0d2" ], [ "FStar.BufferNG.gsub", @@ -456,7 +426,7 @@ 1, [ "@query" ], 0, - "bc6927abf277acbbc655eb83f647aeb5" + "838a3d414b9158f141b74dd0e059175b" ], [ "FStar.BufferNG.sub", @@ -465,16 +435,15 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", "fuel_guarded_inversion_FStar.Pointer.Base.typ", "lemma_FStar.Pointer.Base.buffer_includes_refl", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", "lemma_FStar.Pointer.Derived1.buffer_includes_gsub_r_gen", - "refinement_interpretation_Tm_refine_9e5b2f69377312787c72e695d6dc426c", + "refinement_interpretation_Tm_refine_9677d43c8c2e9af09c372809386d1d2c", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "239da7ec309099df26df4109a073258f" + "5feac2c8beed5d2bab7c140e67ada252" ], [ "FStar.BufferNG.sub_sub", @@ -482,12 +451,10 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.gsub_buffer_gsub_buffer", @@ -495,12 +462,12 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "99fdb7f996d2698ec725603992e1e2b5" + "15276f6e079a1bf4f9f48c22736ea834" ], [ "FStar.BufferNG.sub_zero_length", @@ -510,28 +477,26 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", + "b2t_def", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.Pointer.Base.gsub_buffer_zero_buffer_length", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v", "typing_Prims.pow2" ], 0, - "963a61756c908f2465a3be8b8fe22217" + "23c6d14785cf3a08a6bef94602644025" ], [ "FStar.BufferNG.lemma_sub_spec", @@ -542,13 +507,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", + "@query", "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "equation_Prims.nat", "int_inversion", "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", @@ -557,10 +519,10 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a4ca283f07c4aec1a58634b29fcdf2e9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BufferNG.supported", "typing_FStar.Pointer.Base.buffer_as_seq", "typing_FStar.Pointer.Base.buffer_length", @@ -568,7 +530,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "4b69ec43f4473ad31b84638ef10bcab1" + "23023c75cb6e06d74d6e88062370333c" ], [ "FStar.BufferNG.goffset", @@ -576,22 +538,20 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "5bfa16da4dcaed733a1e331225164f25" + "9c2d9b9d47632fd885d842e6ba36af0f" ], [ "FStar.BufferNG.offset", @@ -601,14 +561,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.BufferNG.goffset", "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", "fuel_guarded_inversion_FStar.Pointer.Base.typ", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "refinement_interpretation_Tm_refine_3c21c609161384965d5c07fbd8f8e9f2", + "refinement_interpretation_Tm_refine_641fce6bc942be5fca09aa01892948d3", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "f9b4a5053d7bf2922d8cdb058b9dc660" + "fa519732d087e1575d27e7c3e744523e" ], [ "FStar.BufferNG.lemma_offset_spec", @@ -619,16 +578,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.BufferNG.goffset", - "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "@query", "b2t_def", "bool_inversion", + "equation_FStar.BufferNG.goffset", "equation_FStar.BufferNG.typ", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -636,15 +590,15 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.BufferNG.supported", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "ab609a65ef08d904cabca5d873165e30" + "1d9b440477c01449eb9bc4ee0a6d67b3" ], [ "FStar.BufferNG.eqb", @@ -662,7 +616,7 @@ "typing_FStar.UInt32.v" ], 0, - "ae2f0efc1ab831c384b6fc4f31314d3a" + "ba3498318090a6806208752a673a5c6b" ], [ "FStar.BufferNG.eqb", @@ -673,18 +627,14 @@ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BufferNG.typ", + "@query", "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.BufferNG.typ", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.BufferNG.lemma_sub_spec", + "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", + "lemma_FStar.BufferNG.lemma_sub_spec", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.UInt32.vu_inv", @@ -692,11 +642,11 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b4c732f8f9a151521c051ec51d56fe21", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_de82fdca8af22a979da8df8eb1e9d50a", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BufferNG.supported", "typing_FStar.Pointer.Base.buffer_as_seq", "typing_FStar.Pointer.Base.buffer_length", @@ -705,7 +655,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "654afacadedf749c70cf2f1c2b573fe7" + "1042dbbf3a4408c40851050f41b8c0f0" ], [ "FStar.BufferNG.op_Array_Access", @@ -724,7 +674,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "40ddf7534cb46f263e710bb51405cca5" + "120b40461937fa0b56f1ba7075978f33" ], [ "FStar.BufferNG.op_Array_Access", @@ -733,7 +683,7 @@ 1, [ "@query" ], 0, - "9fe695c8ae6459d835bc531ca7d044e5" + "9bf36b4511154def41837f015b8cf131" ], [ "FStar.BufferNG.op_Array_Assignment", @@ -752,7 +702,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "da9d4eab492a111f662d6a6a183d8476" + "3eb5889f1a6c8c77fe37a2445ea288bc" ], [ "FStar.BufferNG.op_Array_Assignment", @@ -761,7 +711,7 @@ 1, [ "@query" ], 0, - "0d35fb0fa54ede97d78ebe75646fae6e" + "818e9c7329bb0862f96e7d1b01f7bf60" ], [ "FStar.BufferNG.live_slice_middle", @@ -771,25 +721,23 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BufferNG.supported", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "ff5b2fc8e35109c4bd32ffa20851d72e" + "8041293e0d8d93fb7e97ecd38f62846f" ], [ "FStar.BufferNG.blit", @@ -800,12 +748,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", + "@query", "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -813,15 +758,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_0e22b0f182e7d387712321d7e3565ef7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_57521f026deacbb895951eebf24294ee", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_e1879d5c2738b72ef0db904ed0d4417f", - "refinement_interpretation_Tm_refine_fcef61bc40951b1a2c1ce1515fed14c2", + "refinement_interpretation_Tm_refine_e0c024fcb05ee3de4f9331c4f24981b8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BufferNG.supported", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "2897ca178f5c5f01072a351b7e51b6b5" + "ee353a6cfc8a4e36ce364b4a0dd4d4d5" ], [ "FStar.BufferNG.blit", @@ -833,7 +778,6 @@ "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BufferNG.typ", "equation_FStar.HyperStack.ST.equal_domains", @@ -846,10 +790,8 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.BufferNG.lemma_disjoint_symm", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.BufferNG.lemma_disjoint_symm", "lemma_FStar.BufferNG.lemma_sub_spec", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", @@ -873,20 +815,20 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_0e22b0f182e7d387712321d7e3565ef7", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_57521f026deacbb895951eebf24294ee", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a4ca283f07c4aec1a58634b29fcdf2e9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_e1879d5c2738b72ef0db904ed0d4417f", - "refinement_interpretation_Tm_refine_fcef61bc40951b1a2c1ce1515fed14c2", + "refinement_interpretation_Tm_refine_e0c024fcb05ee3de4f9331c4f24981b8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.BufferNG.supported", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -899,7 +841,7 @@ "typing_FStar.UInt32.v", "unit_inversion", "unit_typing" ], 0, - "d30dcd2372131b2e3cddc5efb22c68d8" + "fa944a31c4e78ebc5d8e0c2a762f1ce9" ], [ "FStar.BufferNG.fill", @@ -910,27 +852,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", + "@query", "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_362383bf14ab0a21a2a8877214522a28", - "refinement_interpretation_Tm_refine_6463df4d155d088f9574d64761565893", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_528ed54123556b4f4e69f222e6c61002", + "refinement_interpretation_Tm_refine_d3762981794e6db5798a2aa450af8e18", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BufferNG.supported", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "56231f330b79c34b905660371e52c5a0" + "55632698beff9a0472cec2be001ad33b" ], [ "FStar.BufferNG.fill", @@ -941,20 +880,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", + "@query", "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.BufferNG.typ", "equation_FStar.Pointer.Derived3.fill_buffer_postcond", "equation_FStar.Pointer.Derived3.fill_buffer_precond", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.BufferNG.lemma_sub_spec", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", + "int_typing", "lemma_FStar.BufferNG.lemma_sub_spec", "lemma_FStar.BufferNG.live_slice_middle", "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", @@ -971,16 +905,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_362383bf14ab0a21a2a8877214522a28", - "refinement_interpretation_Tm_refine_6463df4d155d088f9574d64761565893", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_528ed54123556b4f4e69f222e6c61002", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", "refinement_interpretation_Tm_refine_bea39cac067e0c9a643c20fc30e3ff59", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3762981794e6db5798a2aa450af8e18", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BufferNG.supported", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.gsub_buffer", @@ -989,7 +923,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "b92f21266c453865ba5061848036c4fd" + "737058dbe0275ce2266367fb14873c21" ], [ "FStar.BufferNG.supported", @@ -1007,7 +941,7 @@ "subterm_ordering_FStar.Pointer.Base.TStruct" ], 0, - "33236560b4f67280a6781d8e54bc1fb4" + "5f4b4c3457cb5c9c0371d8b4e5f474d5" ], [ "FStar.BufferNG.supported", @@ -1016,14 +950,14 @@ 2, [ "@MaxIFuel_assumption", "@query", - "binder_x_dbfc35e3d4cc015569bedffe7a420b00_0", + "binder_x_9faba42ab88b43fa963967c6d9fe0a56_0", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons" ], 0, - "6c138eb61fa24a7fb43b7ead148792ca" + "90900cddce396bf45c2cbde6fbef97a8" ], [ "FStar.BufferNG.length", @@ -1037,7 +971,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e2860b2e5cea520c5247631a0c791b8b" + "1533627e94cb25a213d81bb49023c7ea" ], [ "FStar.BufferNG.as_seq", @@ -1053,7 +987,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "7cb735577fbfad844db396ef19aa6265" + "7ad16820e78b0656a401e6c7e09dea7f" ], [ "FStar.BufferNG.as_seq", @@ -1067,7 +1001,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "2946db07e1a64d3b1810e313505198a7" + "3cfb2964ad977a80551052f044b6bc27" ], [ "FStar.BufferNG.equal", @@ -1076,7 +1010,7 @@ 1, [ "@query" ], 0, - "dc9a63b624590637faf06ca575d2857b" + "418d939475cf46a59820c08c7f19c090" ], [ "FStar.BufferNG.includes_as_seq", @@ -1085,7 +1019,7 @@ 1, [ "@query" ], 0, - "2b40a2644d681c555b67057cf63dc75e" + "d6ed5b04c45c35cd1c8b9f01ae4ec28a" ], [ "FStar.BufferNG.create", @@ -1094,7 +1028,7 @@ 1, [ "@query" ], 0, - "ebbb659d1326df115a5c9f68c0334e18" + "a21336081380d2a677fec2cde81dee4a" ], [ "FStar.BufferNG.createL", @@ -1104,11 +1038,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e82104ab254c9846857c822bcb2bd989" + "a42fce64cb907676976f7ebd2722ede6" ], [ "FStar.BufferNG.rcreate", @@ -1116,18 +1050,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b18bb0ff1fb8ef1720266499f89ec21" + "refinement_interpretation_Tm_refine_84983f7c0806bb5412215ca218d31904" ], 0, - "a7c8771d68efc69e2f3b6133d4884003" + "0456cffdaf1250711fb6acb0cb44ca8b" ], [ "FStar.BufferNG.index", @@ -1146,7 +1076,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "e7f734590edd3dfdaece4f6e1f4c9bea" + "ce55513ef1221954bc39caafa35de070" ], [ "FStar.BufferNG.upd", @@ -1165,7 +1095,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "b21c408d7d2351d7e826a02d9d4bc85a" + "a22807bf2a2d886577be0b4dc6ad6115" ], [ "FStar.BufferNG.gsub", @@ -1174,7 +1104,7 @@ 1, [ "@query" ], 0, - "2b751ed3f437f28b87713506641e7693" + "9a14b54a99f88393085f453f1919bbd6" ], [ "FStar.BufferNG.sub", @@ -1183,7 +1113,7 @@ 1, [ "@query" ], 0, - "ad1adeff5cbdf96b169b00ae4171d2ac" + "818213b46e736b3ab817dbf049bcf5fe" ], [ "FStar.BufferNG.sub_sub", @@ -1191,24 +1121,22 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "cd2806331b6c092ada10c3c1ef98207d" + "afdc05aea7376103fd3220ca4bcec14a" ], [ "FStar.BufferNG.sub_zero_length", @@ -1218,27 +1146,25 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", + "b2t_def", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v", "typing_Prims.pow2" ], 0, - "48e945bfde82211edee567462c9e9979" + "ef6330c4da3da31780002b49954d875d" ], [ "FStar.BufferNG.lemma_sub_spec", @@ -1248,27 +1174,25 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "@query", "b2t_def", "equation_FStar.BufferNG.typ", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a4ca283f07c4aec1a58634b29fcdf2e9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "b0e552c8830c85c2c7830ebea8b53b06" + "bbe5d206b036932c5a0528eb50d2454a" ], [ "FStar.BufferNG.goffset", @@ -1276,22 +1200,20 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "ba28b5527baa0342e106a073fa84231d" + "4dd39ea5fec08b39d8bac40a1063b20e" ], [ "FStar.BufferNG.goffset", @@ -1299,22 +1221,20 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "5905dba379660c29350800e4c2aac6c9" + "173b1336474c737706541487139922e4" ], [ "FStar.BufferNG.offset", @@ -1323,7 +1243,7 @@ 1, [ "@query" ], 0, - "5f62c98e31fa69a24477dbb3129eb6e5" + "87e2351aaf67e21078dc7ab0e1fb6fbd" ], [ "FStar.BufferNG.lemma_offset_spec", @@ -1333,21 +1253,19 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@query", "b2t_def", "equation_FStar.BufferNG.typ", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "c13ae0e59f9fc8d04407f615a6d7465e" + "07f11b2005162380ac09b581b449a375" ], [ "FStar.BufferNG.eqb", @@ -1355,17 +1273,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "7a26704d0d4bff70cf9d88c39ae76b6d" + "7cc98a1c4753f574f3ac49e162b91ada" ], [ "FStar.BufferNG.op_Array_Access", @@ -1384,7 +1299,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "3776237f18c2518b02ca7c91bcc21530" + "f4ed33df90abe20afd96d21628477df3" ], [ "FStar.BufferNG.op_Array_Assignment", @@ -1403,7 +1318,7 @@ "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" ], 0, - "24d861b3070b93c6bfc46e3502c0788b" + "32da030ddb92bd994ab07ec83bdd2d0b" ], [ "FStar.BufferNG.live_slice_middle", @@ -1413,25 +1328,23 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BufferNG.supported", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "6c94520d6dbe7f01e4ff5eda74580058" + "3d2b07145cdb11fd984c18d6a552030f" ], [ "FStar.BufferNG.blit", @@ -1442,12 +1355,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", + "@query", "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -1455,15 +1365,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_0e22b0f182e7d387712321d7e3565ef7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_57521f026deacbb895951eebf24294ee", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_e1879d5c2738b72ef0db904ed0d4417f", - "refinement_interpretation_Tm_refine_fcef61bc40951b1a2c1ce1515fed14c2", + "refinement_interpretation_Tm_refine_e0c024fcb05ee3de4f9331c4f24981b8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BufferNG.supported", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "e8e11933564449c7066b3ce0a3676ba4" + "90bc62a9bcb4a3f45a6c31906e07e6d5" ], [ "FStar.BufferNG.fill", @@ -1474,27 +1384,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", + "@query", "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_362383bf14ab0a21a2a8877214522a28", - "refinement_interpretation_Tm_refine_6463df4d155d088f9574d64761565893", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_528ed54123556b4f4e69f222e6c61002", + "refinement_interpretation_Tm_refine_d3762981794e6db5798a2aa450af8e18", "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BufferNG.supported", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "23331c24c110fe2928482506206f214a" + "e2c5eb61c8ae94d393a61402595b1cb1" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Bytes.fsti.hints b/ulib/FStar.Bytes.fsti.hints index 4d7d47c7ecf..266f396bce8 100644 --- a/ulib/FStar.Bytes.fsti.hints +++ b/ulib/FStar.Bytes.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "f0b10981c5cc99655f71fc399f1f5835" + "71f2131214872a2a5066328e7a0cd0ca" ], [ "FStar.Bytes.hide_reveal", @@ -18,20 +18,18 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Bytes.length_reveal", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" ], 0, - "2bf116aa1d3df698f584576c351278fc" + "30c9cd49f8ee89713e2272ebcdbbb368" ], [ "FStar.Bytes.lbytes", @@ -40,7 +38,7 @@ 1, [ "@query" ], 0, - "8b7293c03607bd5af68996451baf680a" + "157826048e4508164d702cf0e18127fe" ], [ "FStar.Bytes.lbytes32", @@ -49,7 +47,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "83cdec8f8c21bcdbb63fddd80ac2dd36" + "ed2986eeffe8cb916b72156fdf9a9f11" ], [ "FStar.Bytes.get", @@ -62,10 +60,10 @@ "equation_FStar.UInt.size", "lemma_FStar.Bytes.length_reveal", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c8aca8c964b2b49cd8fed22770bc4b4" + "refinement_interpretation_Tm_refine_ee5fc79ed48136c2a7de78774da8d689" ], 0, - "a799a1d3a93850f391ded4a467157368" + "73e630127c3f5d56ff981a56b6af7922" ], [ "FStar.Bytes.index", @@ -73,22 +71,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4b0b905d2f18d64a93f40ee69adcc50e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a26289dd1ed96c11636852c43782f4cd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" ], 0, - "0810266efc5dcac4e4a6caa26d339060" + "fc990f90353a7f739ffe932613a1d4e7" ], [ "FStar.Bytes.equal", @@ -96,16 +91,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2559379586b3d49e49e0d7bc6413a720" + "79c655302d4eb55dfb1e96dee10154e0" ], [ "FStar.Bytes.create", @@ -120,10 +112,10 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4" + "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc" ], 0, - "bd1070fab502d4d96000115935d34712" + "ee9d42775e56f430674865a6d2b218f8" ], [ "FStar.Bytes.create_", @@ -132,7 +124,7 @@ 1, [ "@query" ], 0, - "ed43738e8c5e8c6aca92737394a7c4d2" + "a9b368788ab07da7ba83e9a723f2f62e" ], [ "FStar.Bytes.init", @@ -147,10 +139,10 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4" + "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc" ], 0, - "f29d9e555e791fe2a919bedcf115da72" + "b420d069cf80bdbb5d80775b940bdeed" ], [ "FStar.Bytes.slice", @@ -158,21 +150,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Bytes.length_reveal", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_dd8dfdc487e2ff7300662218560d7e5f", + "refinement_interpretation_Tm_refine_22f045d4a6dfeb53d32dcc3c403d606c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "f571d3b9743683f28cc9c64b251ba2cb" + "83db25536c7637a9a54694de0dea9b7a" ], [ "FStar.Bytes.slice_", @@ -180,23 +170,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt32.lte", "equation_Prims.nat", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_44eca1f3cb8516a5dd33e7be921e38fa", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_1c8d4b8e7c04d9fb230960845a3629f4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" ], 0, - "f1dae59782c8c56cbae17bdd4b6753e5" + "2eb9ccf4aa0e14083f251ce4efda102b" ], [ "FStar.Bytes.sub", @@ -204,22 +191,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Bytes.length_reveal", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_df099c669b161e9d9060c600570a07fc", + "refinement_interpretation_Tm_refine_519f8fc90210bb699ff571779e1ece7a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "d39666b0aaccb9f73d211c4134ba33cb" + "5a7ce2c6a9bbf39675f56dc59490b0a3" ], [ "FStar.Bytes.split", @@ -232,10 +217,10 @@ "equation_FStar.UInt.size", "lemma_FStar.Bytes.length_reveal", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_354f545ee65a1c9e171be4483c883249" + "refinement_interpretation_Tm_refine_14919aca4934f9a7b556bb7098a80718" ], 0, - "394f125bf6f276923c93940561149fc0" + "f7d4192703ce201d8c75c7e9b957f7d3" ], [ "FStar.Bytes.split_", @@ -243,11 +228,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_bb25a33253f87bed837b0ab9ad57192f" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_fe06514f0dc5952abb788caab3603518" ], 0, - "801ba9f1d55d1da0a16f581e887a7f1a" + "916e8c6bd2a15656c5cab08efd291a4a" ], [ "FStar.Bytes.fits_in_k_bytes", @@ -257,10 +242,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "580f3ac57c48de6a19882efe9c3eb185" + "61c56cbb3084012d1b5b0d84309f462c" ], [ "FStar.Bytes.repr_bytes", @@ -269,7 +254,7 @@ 1, [ "@query" ], 0, - "627176599e41920b5db189b38881aeaf" + "76c203b1db82b35279144f9ef17d9a59" ], [ "FStar.Bytes.lemma_repr_bytes_values", @@ -278,7 +263,7 @@ 1, [ "@query" ], 0, - "6f19f80c32a2d0112de54a0854aa8b73" + "208ed23db2950e9190459530514e6f02" ], [ "FStar.Bytes.int_of_bytes", @@ -286,16 +271,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Bytes.reveal", "typing_FStar.Seq.Base.length" ], 0, - "2777f29f7fab6a59d86d2b89f64a006b" + "a47362816ae9a02909273bd618048fae" ], [ "FStar.Bytes.int_of_bytes_of_int", @@ -306,22 +289,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Bytes.lbytes", "equation_FStar.Bytes.uint_k", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Bytes.repr_bytes_size", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.Bytes.repr_bytes_size", "lemma_FStar.UInt.pow2_values", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_91facfe6bfa3796b6b54f0355cc4d73e", - "refinement_interpretation_Tm_refine_97c865315bbdaac460967bed8db95c09", - "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", - "refinement_interpretation_Tm_refine_b93721cf09417fced4c7248c31f5aefc", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_16113b670c3948241b38ee17f4d8fb91", + "refinement_interpretation_Tm_refine_4abe363fbd476f177e4aeda14fca5100", + "refinement_interpretation_Tm_refine_4ed9331e58a64785d1e7c44d04bfc8ac", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Bytes.repr_bytes" ], 0, - "5bc07d81431bc97087a1ae6fa0620951" + "a52d423754f2c542f13c2510a93367f1" ], [ "FStar.Bytes.bytes_of_int_of_bytes", @@ -331,26 +312,24 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Bytes.length_reveal", "lemma_FStar.Bytes.repr_bytes_size", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_52a9caf224ab604bf7278394dbe1c2fe", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f1a10f77b983c08957e6e3d67f89d5b6", "typing_FStar.Bytes.int_of_bytes", "typing_FStar.Bytes.len", "typing_FStar.Bytes.reveal", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "b523ef5e51b597fb592a7627b5e436ea" + "bbfc9587945ee23657e28083e2af32cc" ], [ "FStar.Bytes.int32_of_bytes", @@ -358,17 +337,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_327a7999bb6d74d03cd1dbf2a3e2afe4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e105a4dc5034f86e85960084c0ef4e99", "typing_FStar.Bytes.reveal", "typing_FStar.Seq.Base.length" ], 0, - "721b5421e1946cf060f020fb2be159f9" + "6f8375520eb59b316079e3aa16fc426a" ], [ "FStar.Bytes.int16_of_bytes", @@ -376,17 +353,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_46ae2594db07051d81c6b9944332a374", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_adf158a3b09982f079824e86665bd1e6", "typing_FStar.Bytes.reveal", "typing_FStar.Seq.Base.length" ], 0, - "db3e7ae20576d2ec829b1167a663f013" + "b01cc186a7c1721bca81f60f1c6157e0" ], [ "FStar.Bytes.int8_of_bytes", @@ -395,10 +370,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3adf65a27aba908507859e3516d95f99" + "refinement_interpretation_Tm_refine_c973f16ff13b3cfd3c24ce17b21aa2ea" ], 0, - "66d1b2a08970e4eb73470a48607f3fc3" + "e8d1fda934acb53dc10934306e3193f3" ], [ "FStar.Bytes.bytes_of_int32", @@ -409,26 +384,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", + "b2t_def", "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Bytes.lemma_repr_bytes_values", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" ], 0, - "e67cd8bc501d1239bf2bde5e9681e983" + "4a59402eed00fdfae4a9213d1647cddd" ], [ "FStar.Bytes.bytes_of_int16", @@ -439,27 +411,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", + "b2t_def", "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Bytes.lemma_repr_bytes_values", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Bytes.len", "typing_FStar.UInt16.v", "typing_FStar.UInt32.v" ], 0, - "524bdf5837da0e6439448a419b72701b" + "2efab889861aa98fb621d901014e5e47" ], [ "FStar.Bytes.bytes_of_int8", @@ -470,27 +439,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", + "b2t_def", "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Bytes.lemma_repr_bytes_values", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Bytes.len", "typing_FStar.UInt32.v", "typing_FStar.UInt8.v" ], 0, - "ad12d9fb83b794040d51e0cc6b35af35" + "104022238a423456ad50fb89b734492d" ], [ "FStar.Bytes.xor", @@ -505,7 +471,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "598c9ce264222e8d55f511c19e128ac0" + "f996c97f022f23a6b9eb2fd2301248d9" ], [ "FStar.Bytes.xor_", @@ -517,7 +483,7 @@ "refinement_interpretation_Tm_refine_0e2880dbb668680aa96c901813fc55bb" ], 0, - "a0fe6946ea61c3ddfe562c60b05c2f2d" + "9a3e72d65ef4914e01802f26e74131c9" ], [ "FStar.Bytes.xor_commutative", @@ -532,7 +498,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "55754654af9e9a815fb805c1044b9a7c" + "657ff35e18a798b59a21b66c5d2244e6" ], [ "FStar.Bytes.xor_append", @@ -545,12 +511,12 @@ "function_token_typing_FStar.UInt8.t", "lemma_FStar.Bytes.length_reveal", "lemma_FStar.Seq.Base.lemma_len_append", - "refinement_interpretation_Tm_refine_7d52547fe89cd9e55f0ecf43f8e5064c", - "refinement_interpretation_Tm_refine_d80374480993ba2e471a9bef45c8799a", + "refinement_interpretation_Tm_refine_741024ad9087c14aafcb026a356cec38", + "refinement_interpretation_Tm_refine_a6aa63004515174b4832b3b7fcfafff1", "typing_FStar.Bytes.reveal" ], 0, - "b839ebffa3b587bd51298d28205acfd2" + "e197e8d909854f37baf3788519670111" ], [ "FStar.Bytes.xor_idempotent", @@ -567,7 +533,7 @@ "refinement_interpretation_Tm_refine_b0383769854f2b8d05d9f8fb03a8cbd4" ], 0, - "6b6252a397ffe0311af618d082316e5b" + "ea0730b39cc74e0f943e42b387b541f4" ], [ "FStar.Bytes.lbuffer", @@ -576,7 +542,7 @@ 1, [ "@query" ], 0, - "823334a5372646daf035ef16817ce641" + "947147f09087d3ead61de9f1d9f28a74" ], [ "FStar.Bytes.of_buffer", @@ -584,27 +550,26 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Bytes.lbuffer", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_Prims.eqtype", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eqtype", + "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1145899b864f091251496d63bfd26db5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_d942c1100d32f92c5db02884c17b9f54", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "1c3e53e2d78e025aee8d080aad788720" + "505f28ee510f50d4c12d94a307592e12" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Calc.fst.hints b/ulib/FStar.Calc.fst.hints index b7bcffc0cc3..f306786c5c7 100644 --- a/ulib/FStar.Calc.fst.hints +++ b/ulib/FStar.Calc.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_3b368c069648e8b27d83e18e9c122613" ], 0, - "68904fe0e565cddbe1517dcad37030e9" + "09afe02edb66ec5fd7a0579207c4cf47" ], [ "FStar.Calc.__proj__CalcStep__item__rs", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "f53a99fae02f03a526ff499725068d65" + "f7542fbab48e70ee4fe73842bb1054bf" ], [ "FStar.Calc.__proj__CalcStep__item__p", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "58f3824af2fd83cdd85d5fcdedfa2ac8" + "d7827814f163eade8963847cdfd69110" ], [ "FStar.Calc.__proj__CalcStep__item__x", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "1d7efe8b02b12354b8d4f29447300d1b" + "5742b4d2347d48c212372de0fd8c74c1" ], [ "FStar.Calc.__proj__CalcStep__item__y", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "8dd23928eefee4d1de48564d5be646b7" + "faa631c0020a016fe132366844225f3a" ], [ "FStar.Calc.__proj__CalcStep__item__z", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "24ef15f9a64e355523ab1063a70e8b1e" + "d3379401732009ca6c0c7896108d45e6" ], [ "FStar.Calc.__proj__CalcStep__item___5", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "980a36b26f446e44b494f3a7ae83f58e" + "768f39e1ef64e4bfed07d88fc1413b61" ], [ "FStar.Calc.__proj__CalcStep__item___6", @@ -124,7 +124,7 @@ "token_correspondence_FStar.Calc.__proj__CalcStep__item__p" ], 0, - "d5126f248e63064ffa3268a33cb490b1" + "76719a4787338909e7ee7767e437afa7" ], [ "FStar.Calc.__proj__Mkcalc_pack__item__proof", @@ -136,7 +136,7 @@ "projection_inverse_FStar.Calc.Mkcalc_pack_rels" ], 0, - "d1e47ed88369d49a7c8f729fc9f13976" + "f7ba3ad0809a68ddfe4c6157da586d26" ], [ "FStar.Calc.calc_chain_related", @@ -151,7 +151,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "d48636d357eb3cd12c5049b45be4cc76" + "01f34c00680638d816ea45eb49a41383" ], [ "FStar.Calc.elim_calc_proof", @@ -162,8 +162,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Calc.calc_chain_related.fuel_instrumented", "@fuel_irrelevance_FStar.Calc.calc_chain_related.fuel_instrumented", - "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_d2a2fdb657df4372f2036e2fd4d9d623_5", + "@query", "binder_x_d2a2fdb657df4372f2036e2fd4d9d623_5", "binder_x_df47a5e1036c31f5a72fe09ed5f79d16_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -174,15 +173,15 @@ "equation_Prims.squash", "equation_with_fuel_FStar.Calc.calc_chain_related.fuel_instrumented", "fuel_guarded_inversion_FStar.Calc.calc_proof", - "l_quant_interp_8614dac8eb1dbc0af9bf475d5f23710a", + "l_quant_interp_6ab1683ff5b749baf55ca57b2afe2264", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "subterm_ordering_FStar.Calc.CalcStep", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "subterm_ordering_FStar.Calc.CalcStep" ], 0, - "e680402d8607d288c2c06045eac09e1a" + "9fb9c5955f3f328cf3d679fcc026437b" ], [ "FStar.Calc.calc_finish", @@ -197,11 +196,11 @@ "equation_with_fuel_FStar.Calc.calc_chain_related.fuel_instrumented", "fuel_guarded_inversion_FStar.Calc.calc_pack", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_8614dac8eb1dbc0af9bf475d5f23710a", + "l_quant_interp_6ab1683ff5b749baf55ca57b2afe2264", "proj_equation_FStar.Calc.Mkcalc_pack_rels" ], 0, - "257f8dd1f04971597fe7f506973b4608" + "0620c5489585824ab55ca1e65363e5c6" ], [ "FStar.Calc.__proj__CalcRefl__item__x", @@ -215,7 +214,7 @@ "refinement_interpretation_Tm_refine_3b368c069648e8b27d83e18e9c122613" ], 0, - "e87e16fd2ec571bf229f40db9ac05652" + "453ab098b0c0151044bc22f98d591c7d" ], [ "FStar.Calc.__proj__CalcStep__item__rs", @@ -229,7 +228,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "ec6f72a05ebdc6cc94b7845aa6fe9936" + "073436144bfe9c8d22c30eb49ebef24f" ], [ "FStar.Calc.__proj__CalcStep__item__p", @@ -243,7 +242,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "e36e90dc88313360c20c82712498bbfb" + "cf85c1cd6469944a7945444544e31da5" ], [ "FStar.Calc.__proj__CalcStep__item__x", @@ -257,7 +256,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "ce1bdc4bd68319f8f16a5d26904b9949" + "570cced95f12272a03396d8aa8a2f14f" ], [ "FStar.Calc.__proj__CalcStep__item__y", @@ -271,7 +270,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "f48395787b1601eeda728c983d677193" + "5f380635990fdd770e5d651aee2a97f9" ], [ "FStar.Calc.__proj__CalcStep__item__z", @@ -285,7 +284,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "ff8274a5a0bbd2b080e686d967874362" + "2d3354c3cd4feb332de2e67d106a6535" ], [ "FStar.Calc.__proj__CalcStep__item___5", @@ -305,7 +304,7 @@ "refinement_interpretation_Tm_refine_4d2c352ec2a69453fd30fa2907779c8a" ], 0, - "a8420bd5d51399f5d999789a578f582f" + "c217efe5b75883bd49863157ef3bdf6d" ], [ "FStar.Calc.__proj__CalcStep__item___6", @@ -326,7 +325,7 @@ "token_correspondence_FStar.Calc.__proj__CalcStep__item__p" ], 0, - "e37bbbabd2ca6ca50a478f1a3885125b" + "834ee53d30b056f92b1d3d1b6b30fc6c" ], [ "FStar.Calc.__proj__Mkcalc_pack__item__proof", @@ -338,7 +337,7 @@ "projection_inverse_FStar.Calc.Mkcalc_pack_rels" ], 0, - "e1fc2214b5846cfa4d81663c50d7b0d2" + "aed4b509f256b2c5ba2a47ca5338dc48" ], [ "FStar.Calc.calc_chain_related", @@ -353,7 +352,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "7d7a835c114c2261c54708a842e632bc" + "9d0973add81fbfb46ae267ab68598316" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Char.fsti.hints b/ulib/FStar.Char.fsti.hints index 4d55b3c2d9a..cbf416bd2cf 100644 --- a/ulib/FStar.Char.fsti.hints +++ b/ulib/FStar.Char.fsti.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e78a1783903767229fe1b93bebcd38b3" + "1f523f0232c4574c4f51ddc1cd68eb19" ], [ "FStar.Char.char_of_int", @@ -24,23 +24,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "equation_Prims.nat", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_014c8248a37d9825bcde7184e94e89db", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cbae9286a4cd5dcd61e6ddad2b643794" ], 0, - "18de3212bd4539bc431f38dd70e3cf3b" + "941ec6dddf78a48b60d22c51141b4b4d" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Classical.fst b/ulib/FStar.Classical.fst index 2efa0a387e6..75dce042c37 100644 --- a/ulib/FStar.Classical.fst +++ b/ulib/FStar.Classical.fst @@ -22,9 +22,12 @@ let give_witness #a x = return_squash x let give_witness_from_squash #a x = x val get_squashed (#b a:Type) : Pure a (requires (a /\ a == squash b)) (ensures (fun _ -> True)) + +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" let get_squashed #b a = let p = get_proof a in join_squash #b p +#pop-options let get_equality #t a b = get_squashed #(equals a b) (a == b) diff --git a/ulib/FStar.Classical.fst.hints b/ulib/FStar.Classical.fst.hints index ccb7c51faec..fad4177a71f 100644 --- a/ulib/FStar.Classical.fst.hints +++ b/ulib/FStar.Classical.fst.hints @@ -1,5 +1,5 @@ [ - "SÄ0†0ðPrk_\u001fSBá\u0001ì", + "\tÏïQ©;\u001bC¨²Žu)¹#D", [ [ "FStar.Classical.give_witness", @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d63e83dc825a548361190fb5f651053a" + "08f4802ff32dd076d97a864dbd1cb53a" ], [ "FStar.Classical.give_witness_from_squash", @@ -20,10 +20,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0e5eb49fc1f2eb45d0bbe72421232b9d" + "4aa94b2c0eac69c1565997032f2b85fa" ], [ "FStar.Classical.get_squashed", @@ -31,14 +31,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "77a5ced6c5f9c842f4003eaa9e1b4592" + "93d6914a942d96bc9f92e487d61f1976" ], [ "FStar.Classical.get_equality", @@ -47,7 +44,7 @@ 1, [ "@query", "equation_Prims.eq2" ], 0, - "bcfae6caec7c419650f7f1044a9b4922" + "0af6d3bb3d6d02da8e667fc9321eb66c" ], [ "FStar.Classical.get_forall", @@ -56,7 +53,7 @@ 1, [ "@query", "equation_Prims.l_Forall" ], 0, - "4603af1571b0ffec625b5feb691f6dc8" + "c056ff46606d380d4ec1420d3725773d" ], [ "FStar.Classical.forall_intro_gtot", @@ -65,7 +62,7 @@ 1, [ "@query" ], 0, - "04bedfc926e19999854c9106b7ea1edb" + "d3df21e4148beadf6957d95766a9ce92" ], [ "FStar.Classical.lemma_forall_intro_gtot", @@ -74,7 +71,7 @@ 1, [ "@query" ], 0, - "88d0bde468abc60460af881f6c94e746" + "04fe376696742b33d56d28bcca96604d" ], [ "FStar.Classical.gtot_to_lemma", @@ -83,7 +80,7 @@ 1, [ "@query" ], 0, - "479f3e4f755aa43f1bcf858052dd7167" + "5b50ff027bf9cf891abb018ba452ebab" ], [ "FStar.Classical.forall_intro", @@ -92,7 +89,7 @@ 1, [ "@query" ], 0, - "6ab7e8dccc028b169150d36af0091164" + "624e46556f793af112ef4b515e23d73a" ], [ "FStar.Classical.exists_intro", @@ -101,7 +98,7 @@ 1, [ "@query" ], 0, - "d99ebcc0626d586384905015422f0f58" + "63208961af06caf5388ed1af83e20c77" ], [ "FStar.Classical.forall_to_exists", @@ -110,7 +107,7 @@ 1, [ "@query" ], 0, - "2426d4f1a561d3d3947a0a7029e38bde" + "ce6b1a0cb762850a7d5b76b65a3c2c60" ], [ "FStar.Classical.forall_to_exists_2", @@ -119,7 +116,7 @@ 1, [ "@query" ], 0, - "b0e33b43be6a8a0740dc4e15cff49476" + "1bdbbfcd67998f5e9e2387fcec2c4eeb" ], [ "FStar.Classical.impl_intro", @@ -128,7 +125,7 @@ 1, [ "@query" ], 0, - "87bbe5f91e802b40d11ad3466f761537" + "ad254b8623bb564ca9040ef92c4bbe1f" ], [ "FStar.Classical.exists_elim", @@ -136,14 +133,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "64abe13211383a40b9c74ab595c3ccc8" + "0959aa41ed94cde4a44b7a14118d48a0" ], [ "FStar.Classical.move_requires", @@ -156,7 +150,7 @@ "fuel_guarded_inversion_Prims.c_or" ], 0, - "35c064ac005d7ff0e54c010dd289702e" + "05c007d60d3dcc72b384d1dc26633ee2" ], [ "FStar.Classical.forall_impl_intro", @@ -165,7 +159,7 @@ 1, [ "@query" ], 0, - "a352abb34b8ced0bcfef4a5d5ee355ae" + "c4b040698361838d7cedb6c387141ac5" ], [ "FStar.Classical.impl_intro_gen", @@ -174,10 +168,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "42c353c2adddb89740221251fa25e8c4" + "12c9574b12eee7ffcf5c41cad49f54e2" ], [ "FStar.Classical.impl_intro_gen", @@ -186,10 +180,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e163719f22b9f77589fdd26e92ff2c1e" + "6352c5d9de8da719adb5eb08b0333904" ], [ "FStar.Classical.impl_intro_gen", @@ -198,7 +192,7 @@ 1, [ "@query" ], 0, - "c463c55d06743ee34780ceaf7b631275" + "de36ec19ed36e54dcb2e649da2115b13" ], [ "FStar.Classical.ghost_lemma", @@ -211,7 +205,7 @@ "fuel_guarded_inversion_Prims.c_or", "unit_inversion" ], 0, - "abba46f328cad1b69ff464dd137f7e4f" + "3fde627b6a7dffc6a1930f1df2722408" ], [ "FStar.Classical.or_elim", @@ -219,14 +213,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "cbc783b93692f48fc07639e4fa30c59e" + "63a8a719b876947ac771c592dbec053a" ], [ "FStar.Classical.or_elim", @@ -234,14 +225,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0e48e61afa4ac3684b2477b365f0ecea" + "ec91a1532636c37911c9dc0fc9554f00" ], [ "FStar.Classical.or_elim", @@ -249,14 +237,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5fb60cb0074028af6764c2bab6dee3b0" + "97bf4838fb060a59f81604160787f9d2" ], [ "FStar.Classical.excluded_middle", @@ -265,7 +250,7 @@ 1, [ "@query" ], 0, - "8fefa9166faa7892e91c430b6f8d2ab9" + "029886fa4e93e7f3442d7585bcbea9ec" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Classical.fsti.hints b/ulib/FStar.Classical.fsti.hints index 65ffc8b6d0e..fa4cd1c92e6 100644 --- a/ulib/FStar.Classical.fsti.hints +++ b/ulib/FStar.Classical.fsti.hints @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "76bd8cf49a5283618071cb6eecd56ae9" + "94ab1bcc8094c29bb4380689adb738f7" ], [ "FStar.Classical.or_elim", @@ -19,14 +19,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "218921b1d00b3f54949a1679f9263133" + "737736273bbdee299ba542b0ffdc9883" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.ConstantTime.Integers.fst.hints b/ulib/FStar.ConstantTime.Integers.fst.hints index cee67ff60b6..c367ae027fc 100644 --- a/ulib/FStar.ConstantTime.Integers.fst.hints +++ b/ulib/FStar.ConstantTime.Integers.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "b42d821a69d2bf6217dc22e97c206d1e" + "e4109ee8ef208da4741f546281e234f0" ], [ "FStar.ConstantTime.Integers.reveal_hide", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_fab25bb72cbea52abfa7c0988894a099" ], 0, - "37dd1a86734b937887c3cbb36ed6165c" + "c20fae62826e611cd6116ef1f280ecf4" ], [ "FStar.ConstantTime.Integers.reveal_hide", @@ -30,73 +30,32 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W31", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W63", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", "constructor_distinct_FStar.Integers.Winfinite", "constructor_distinct_FStar.Pervasives.Native.Some", "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W31@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W63@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.ConstantTime.Integers.hide", "equation_FStar.ConstantTime.Integers.reveal", - "equation_FStar.ConstantTime.Integers.secret_int", "equation_FStar.ConstantTime.Integers.sw", - "equation_FStar.Int.int_t", "equation_FStar.Integers.int", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.u", - "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", + "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", + "equation_FStar.Integers.u", "equation_FStar.Integers.v", + "equation_FStar.Integers.width_of_sw", "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.IFC.reveal_hide", - "lemma_FStar.Int16.vu_inv", "lemma_FStar.Int31.vu_inv", - "lemma_FStar.Int32.vu_inv", "lemma_FStar.Int63.vu_inv", - "lemma_FStar.Int64.vu_inv", "lemma_FStar.Int8.vu_inv", - "lemma_FStar.UInt8.vu_inv", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", + "fuel_guarded_inversion_FStar.Integers.width", "int_inversion", + "lemma_FStar.IFC.reveal_hide", "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_044beed7c4e882285765d0f59a64c413", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", - "refinement_interpretation_Tm_refine_30b9044bb5db0e2788ef0eb5fa15d7f8", - "refinement_interpretation_Tm_refine_41ae00a3e556b48ef5ab6c6b5dd15278", - "refinement_interpretation_Tm_refine_7b6e503ae3ffaf0969f4d6559950b01c", - "refinement_interpretation_Tm_refine_7eff746d16cd362b34b9e62f66037a78", "refinement_interpretation_Tm_refine_82e112f0300e692a0388dce736dd41ab", - "refinement_interpretation_Tm_refine_94dde03436ffa4514c69f227d679f576", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b0a3cf2c1c438ddd0b94020466ace599", + "refinement_interpretation_Tm_refine_ba3e6d9345565c0c78f1af7f916d6c04", "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_fab25bb72cbea52abfa7c0988894a099", - "typing_FStar.ConstantTime.Integers.hide", - "typing_FStar.ConstantTime.Integers.reveal", - "typing_FStar.IFC.reveal", "typing_FStar.Int16.int_to_t", - "typing_FStar.Int31.int_to_t", "typing_FStar.Int32.int_to_t", - "typing_FStar.Int63.int_to_t", "typing_FStar.Int64.int_to_t", - "typing_FStar.Int8.int_to_t", "typing_FStar.Integers.int_t", - "typing_FStar.Integers.u", "typing_FStar.Integers.v", - "typing_FStar.Integers.width_of_sw", "typing_FStar.UInt8.uint_to_t", - "typing_FStar.UInt8.v" + "refinement_interpretation_Tm_refine_ce499993d17a3183cda9ded58abb5280", + "typing_FStar.Integers.int_t", "typing_FStar.Integers.u", + "typing_FStar.Integers.width_of_sw" ], 0, - "9ee6513a4db3c6fc4160cc1696f72e01" + "d2e28e55f94ad35875caea45238346af" ], [ "FStar.ConstantTime.Integers.hide_reveal", @@ -143,7 +102,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "d9ac4b1437c26651cbc2c1a0ebaf475f" + "120441793e4300acc5d07fa0da2f1715" ], [ "FStar.ConstantTime.Integers.promote", @@ -152,7 +111,7 @@ 1, [ "@query" ], 0, - "94f7c62fc45a00aed789fcc426cc30c7" + "06fde1ddf8c938d551b1a1d838ebd272" ], [ "FStar.ConstantTime.Integers.promote", @@ -166,7 +125,7 @@ "typing_FStar.ConstantTime.Integers.secret_int" ], 0, - "9909a092c0f0937dd64b2ab90aeaa294" + "3d56ab64b7102f4746b5a04b08330c8c" ], [ "FStar.ConstantTime.Integers.addition", @@ -175,10 +134,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d781399b04e62f447028172de698533d" + "refinement_interpretation_Tm_refine_8df45a8507026f589637bf6eb4536985" ], 0, - "ef11f80752a281f6cf3939ec3cbac580" + "480656c00392acc516e6cfe9131ec428" ], [ "FStar.ConstantTime.Integers.addition", @@ -187,11 +146,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ConstantTime.Integers_interpretation_Tm_arrow_fa29b639863190581a544ac2ba9b2203", - "FStar.IFC_interpretation_Tm_arrow_4c721fd743d70b33f1f424740f25c185", + "FStar.ConstantTime.Integers_interpretation_Tm_arrow_a918d49b151d4e6cdb5d322b4f13fa3e", + "FStar.ConstantTime.Integers_interpretation_Tm_arrow_db54c74a0bd07e150cdf16c360993198", + "FStar.IFC_interpretation_Tm_arrow_6b8eb905f19a76be47e4334417bcf2eb", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W16", @@ -218,16 +176,13 @@ "equation_FStar.ConstantTime.Integers.sw", "equation_FStar.IFC.idempotent", "equation_FStar.IFC.lattice_element", "equation_FStar.IFC.sl", - "equation_FStar.Integers.int", "equation_FStar.Integers.int_16", - "equation_FStar.Integers.int_31", "equation_FStar.Integers.int_32", - "equation_FStar.Integers.int_63", "equation_FStar.Integers.int_64", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.u", + "equation_FStar.Integers.int_16", "equation_FStar.Integers.int_31", + "equation_FStar.Integers.int_32", "equation_FStar.Integers.int_63", + "equation_FStar.Integers.int_64", "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_16", "equation_FStar.Integers.uint_31", - "equation_FStar.Integers.uint_63", "equation_FStar.Integers.uint_64", - "equation_FStar.Integers.uint_8", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n_minus_one", + "equation_FStar.Integers.uint_32", "equation_FStar.Integers.uint_63", + "equation_FStar.Integers.uint_64", "equation_FStar.Integers.uint_8", + "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", "fuel_guarded_inversion_FStar.IFC.semi_lattice", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", @@ -238,51 +193,46 @@ "function_token_typing_FStar.Integers.int_64", "function_token_typing_FStar.Integers.uint_16", "function_token_typing_FStar.Integers.uint_31", + "function_token_typing_FStar.Integers.uint_32", "function_token_typing_FStar.Integers.uint_63", "function_token_typing_FStar.Integers.uint_64", "function_token_typing_FStar.Integers.uint_8", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_294c897e69b7257923ed188c3683bcef", - "interpretation_Tm_abs_aed2fa39acf0f9d0a5fc3dc821caed7c", + "interpretation_Tm_abs_15fae3b0d300cc39245e57876be14dbf", + "interpretation_Tm_abs_2d823ba43755b1c1d713129594605c3a", "kinding_FStar.IFC.semi_lattice@tok", "lemma_FStar.ConstantTime.Integers.hide_reveal", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.IFC.hide_reveal", - "lemma_FStar.IFC.reveal_hide", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", + "lemma_FStar.IFC.reveal_hide", "proj_equation_FStar.IFC.SemiLattice_carrier", "proj_equation_FStar.IFC.SemiLattice_lub", - "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_084c55549f2d9b2ed414f7f40ff5cdf3", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_0dbf0dcfc6abf79123024a3682b5ac9e", - "refinement_interpretation_Tm_refine_1151916bdb1a2d24840f58aa53ce61ac", - "refinement_interpretation_Tm_refine_1bed5449abeb05cc5679ea22f18f3d6f", - "refinement_interpretation_Tm_refine_2096b6c0c8402d3f4b499aa82fe966ff", - "refinement_interpretation_Tm_refine_647bc1e50085d38dd97fae2d2349134f", + "refinement_interpretation_Tm_refine_14ad3c506eec743fd9df82958be4a121", + "refinement_interpretation_Tm_refine_1a59fc9612c859a6093eecd3ed5a0de6", + "refinement_interpretation_Tm_refine_2e33cd83d3c91966aa0ce7a0a5c2d3a2", + "refinement_interpretation_Tm_refine_32be0a4e387e9d6dc98e495b3090b513", + "refinement_interpretation_Tm_refine_46b30c7a8181fe3397f500ed7b503334", + "refinement_interpretation_Tm_refine_6fc6a31ab47b4bdbaebd6950053e5613", + "refinement_interpretation_Tm_refine_82e112f0300e692a0388dce736dd41ab", "refinement_interpretation_Tm_refine_87434b6e1f6d4bdb55d4cb9ad4de38a3", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a0a5fb4177dec80ae6c3ff9707b1eaea", - "refinement_interpretation_Tm_refine_b634e11cc221d7e0794d1ed6134515b7", - "refinement_interpretation_Tm_refine_be0eb8aa7649733300bb1da296cdc916", + "refinement_interpretation_Tm_refine_8db5bc3e058ba8660f1d29f550410f79", + "refinement_interpretation_Tm_refine_8df45a8507026f589637bf6eb4536985", "refinement_interpretation_Tm_refine_c07d70517abe0be7a6d52f00dfd26134", "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", - "refinement_interpretation_Tm_refine_d46f91fd0f27c56601ba5bfefca7ad23", - "refinement_interpretation_Tm_refine_d781399b04e62f447028172de698533d", - "refinement_interpretation_Tm_refine_dcf8c1ab775f7781e21dc127b32a244b", + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", "refinement_interpretation_Tm_refine_e389e398efdc5373bfab2a70191901cf", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", - "refinement_interpretation_Tm_refine_f476d2b34614a70ed478b4cc915e3adc", - "refinement_interpretation_Tm_refine_fab25bb72cbea52abfa7c0988894a099", - "refinement_interpretation_Tm_refine_fb8235d2fa0163b76ff53ff2e7aea00d", + "refinement_interpretation_Tm_refine_e6ba2da043d52abc615fe6d241102d18", + "refinement_interpretation_Tm_refine_fb9510157cb6b62d131c55bba7a4d70b", + "refinement_interpretation_Tm_refine_fe879916637a9365394f804132c6e7c5", "token_correspondence_FStar.IFC.__proj__SemiLattice__item__lub", "typing_FStar.ConstantTime.Integers.m", - "typing_FStar.ConstantTime.Integers.reveal", "typing_FStar.ConstantTime.Integers.secret_int", "typing_FStar.Ghost.reveal", "typing_FStar.IFC.__proj__SemiLattice__item__carrier", @@ -291,13 +241,15 @@ "typing_FStar.Int16.add", "typing_FStar.Int31.add", "typing_FStar.Int32.add", "typing_FStar.Int63.add", "typing_FStar.Int64.add", "typing_FStar.Int8.add", - "typing_FStar.Integers.int_t", "typing_FStar.Integers.width_of_sw", + "typing_FStar.Integers.int_t", "typing_FStar.Integers.u", + "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw", "typing_FStar.UInt16.add", "typing_FStar.UInt31.add", "typing_FStar.UInt32.add", "typing_FStar.UInt63.add", - "typing_FStar.UInt64.add", "typing_FStar.UInt8.add" + "typing_FStar.UInt64.add", "typing_FStar.UInt8.add", + "typing_Tm_abs_2d823ba43755b1c1d713129594605c3a" ], 0, - "c7755ca7a299a8cc436a35ea88736bdc" + "44b0174ea15787ce57ce18d053d0a722" ], [ "FStar.ConstantTime.Integers.addition_mod", @@ -318,7 +270,7 @@ "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "573c4a48fd998bcfb425f9bdb9107b3a" + "cf4407aee945eca33ea3ee88eae5be9f" ], [ "FStar.ConstantTime.Integers.addition_mod", @@ -339,7 +291,7 @@ "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "8fd086f5e4a0c03aa788a91909da573d" + "54ee2a40c01f56d79a75eaa5c2b3a0eb" ], [ "FStar.ConstantTime.Integers.addition_mod", @@ -348,9 +300,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ConstantTime.Integers_interpretation_Tm_arrow_fa29b639863190581a544ac2ba9b2203", - "FStar.IFC_interpretation_Tm_arrow_4c721fd743d70b33f1f424740f25c185", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "FStar.ConstantTime.Integers_interpretation_Tm_arrow_a918d49b151d4e6cdb5d322b4f13fa3e", + "FStar.ConstantTime.Integers_interpretation_Tm_arrow_db54c74a0bd07e150cdf16c360993198", + "FStar.IFC_interpretation_Tm_arrow_6b8eb905f19a76be47e4334417bcf2eb", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W16", @@ -380,21 +332,19 @@ "equation_FStar.Integers.fixed_width", "equation_FStar.Integers.int_t", "equation_FStar.Integers.u", "equation_FStar.Integers.uint_16", "equation_FStar.Integers.uint_31", - "equation_FStar.Integers.uint_63", "equation_FStar.Integers.uint_64", - "equation_FStar.Integers.uint_8", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.UInt32.n_minus_one", + "equation_FStar.Integers.uint_32", "equation_FStar.Integers.uint_63", + "equation_FStar.Integers.uint_64", "equation_FStar.Integers.uint_8", + "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", "fuel_guarded_inversion_FStar.IFC.semi_lattice", "fuel_guarded_inversion_FStar.Integers.width", "function_token_typing_FStar.Integers.uint_16", "function_token_typing_FStar.Integers.uint_31", + "function_token_typing_FStar.Integers.uint_32", "function_token_typing_FStar.Integers.uint_63", "function_token_typing_FStar.Integers.uint_64", "function_token_typing_FStar.Integers.uint_8", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.t", - "interpretation_Tm_abs_d63d2bf4f0b70c3518fccfad0ab914b5", - "interpretation_Tm_abs_e7fb58e5eec7317c8c0de29404361502", + "interpretation_Tm_abs_5371af4b9b8f8689c6b43db910a6351a", + "interpretation_Tm_abs_5f5db321598e159f6e38f531a3f049e2", "kinding_FStar.IFC.semi_lattice@tok", "lemma_FStar.ConstantTime.Integers.hide_reveal", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.IFC.hide_reveal", @@ -408,19 +358,19 @@ "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "refinement_interpretation_Tm_refine_0dbf0dcfc6abf79123024a3682b5ac9e", + "refinement_interpretation_Tm_refine_132057e8bc3b988f2cff8de57616d2ed", "refinement_interpretation_Tm_refine_2f33eaeacd7f7afb3221609236dd744b", - "refinement_interpretation_Tm_refine_3f4d3d422404aa5b11e9c73c122f82d1", + "refinement_interpretation_Tm_refine_6f711a8125ef1fb553efffd1586844b8", + "refinement_interpretation_Tm_refine_7610c5ce8fb469460644ed831e7a7d13", "refinement_interpretation_Tm_refine_87434b6e1f6d4bdb55d4cb9ad4de38a3", - "refinement_interpretation_Tm_refine_9d5323334ab7bbf0058d32c6a1a58b64", - "refinement_interpretation_Tm_refine_a5beb11a63dcb42e8701ed4a6d3a38f5", + "refinement_interpretation_Tm_refine_89db1ed82b9e858c7009b223abadce75", + "refinement_interpretation_Tm_refine_aac89d186eb67617493682246aa5fb12", "refinement_interpretation_Tm_refine_c07d70517abe0be7a6d52f00dfd26134", "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", - "refinement_interpretation_Tm_refine_ceeff75960d2e814a1218aea57188138", + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", + "refinement_interpretation_Tm_refine_d60a0e9fdf52cedb444de54cc40036f8", "refinement_interpretation_Tm_refine_e389e398efdc5373bfab2a70191901cf", - "refinement_interpretation_Tm_refine_e701037165072db89762a542287238d7", - "refinement_interpretation_Tm_refine_ed23e451c21b534c0db7d2d2cb964a13", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", "token_correspondence_FStar.IFC.__proj__SemiLattice__item__lub", "typing_FStar.ConstantTime.Integers.m", "typing_FStar.Ghost.reveal", "typing_FStar.IFC.__proj__SemiLattice__item__carrier", @@ -430,10 +380,11 @@ "typing_FStar.Integers.width_of_sw", "typing_FStar.UInt16.add_mod", "typing_FStar.UInt31.add_mod", "typing_FStar.UInt32.add_mod", "typing_FStar.UInt63.add_mod", "typing_FStar.UInt64.add_mod", - "typing_FStar.UInt8.add_mod" + "typing_FStar.UInt8.add_mod", + "typing_Tm_abs_5371af4b9b8f8689c6b43db910a6351a" ], 0, - "f26b9030364651830d6d3af6009eb444" + "2dbc9ea9ac2f7bb403698376c4496ad6" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__sl", @@ -447,7 +398,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "ccca5630ea81b4fab5a04afc2d659a5a" + "b30862791d60f17a4cf548237a071c52" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__l", @@ -463,7 +414,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "c1592400af9219781f35849f175550ab" + "572deee90f30ab52dbf6abdfa280edd0" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__sw", @@ -477,7 +428,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "af9952bc29a253adb34f2647909e2741" + "751296908a8a9cb60c82335d4c3b3034" ], [ "FStar.ConstantTime.Integers.__proj__Public__item__sw", @@ -491,7 +442,7 @@ "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" ], 0, - "5c7c8d6d52ae40ec1ca17b090470ce4c" + "ce36904c914af23fa897c9594a386787" ], [ "FStar.ConstantTime.Integers.sw_qual", @@ -505,7 +456,7 @@ "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual" ], 0, - "01e6f793f6830e76cf44b99a83e88384" + "04020025f92da20abeff245bb043a33b" ], [ "FStar.ConstantTime.Integers.label_qual", @@ -521,7 +472,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "41c27aef6bbbd1d75f32bc4ad06ad8aa" + "d76203803fe49352513640cea68de3d8" ], [ "FStar.ConstantTime.Integers.t", @@ -535,7 +486,7 @@ "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual" ], 0, - "8502edcdf6e08f6810a35d0043fe4a90" + "172d1d9b61d2cdbb3fd0273b3cf3269a" ], [ "FStar.ConstantTime.Integers.q2s", @@ -549,7 +500,7 @@ "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual" ], 0, - "6b579467312a2378834e72ea320b8d89" + "86d7f8d3e8448638566a5d6d4776aabb" ], [ "FStar.ConstantTime.Integers.i", @@ -582,7 +533,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "3ba32dcc2aa9cef32086cdbd8823e484" + "5748547e3c5614248c6b51c0ac466840" ], [ "FStar.ConstantTime.Integers.as_secret", @@ -600,7 +551,7 @@ "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" ], 0, - "f11e080b28c7e2d98915e435fb0e37ba" + "84acb344da6040a893becaf2e36b6461" ], [ "FStar.ConstantTime.Integers.as_public", @@ -614,7 +565,7 @@ "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" ], 0, - "9939553f78490e3ce6827240ba286f10" + "e326cef61d69dca0ecf4bce693fe8e22" ], [ "FStar.ConstantTime.Integers.op_Plus", @@ -635,12 +586,12 @@ "projection_inverse_FStar.ConstantTime.Integers.Secret_l", "projection_inverse_FStar.ConstantTime.Integers.Secret_sl", "projection_inverse_FStar.ConstantTime.Integers.Secret_sw", - "refinement_interpretation_Tm_refine_6822da4ae8e882c61f7780dfe19d8ae7", + "refinement_interpretation_Tm_refine_8b582cb6e449afb51372190cbc4c3ebc", "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", "refinement_interpretation_Tm_refine_cd2592ec940f2fd0d396db6a705be2eb" ], 0, - "a76b6b1bac900196087909f20b486347" + "241eef243a974d1be108907bc0e68bdc" ], [ "FStar.ConstantTime.Integers.op_Plus_Percent", @@ -649,7 +600,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "9a5411636caa6347a98d95f93986712a" + "0ffa4b1079a610b5c67c7f12fc300d70" ], [ "FStar.ConstantTime.Integers.op_Plus_Percent", @@ -676,7 +627,7 @@ "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" ], 0, - "d1c62bfb99a25385cce382ada4ce5653" + "eec8aade40fae6aafa7ba16be2077166" ], [ "FStar.ConstantTime.Integers.two_point_lattice", @@ -694,7 +645,7 @@ "token_correspondence_Prims.op_BarBar" ], 0, - "fb0baa3491a2419e942fceb46f0f2c08" + "1d740b7c29544a086a7f5ee18d096f02" ], [ "FStar.ConstantTime.Integers.lo", @@ -703,7 +654,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", + "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", "bool_inversion", "bool_typing", "data_typing_intro_FStar.IFC.SemiLattice@tok", "equation_FStar.ConstantTime.Integers.two_point_lattice", @@ -712,15 +663,17 @@ "function_token_typing_Prims.bool", "kinding_FStar.IFC.semi_lattice@tok", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar.1", "proj_equation_FStar.IFC.SemiLattice_carrier", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.IFC.SemiLattice_carrier", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", "token_correspondence_Prims.op_BarBar" ], 0, - "65cdd04424cbed5c6dc60d437779b787" + "253dd36ef3f97ebc09f19c9ce6f4811b" ], [ "FStar.ConstantTime.Integers.hi", @@ -729,26 +682,29 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", + "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", "bool_inversion", "bool_typing", "data_elim_FStar.IFC.SemiLattice", "data_typing_intro_FStar.IFC.SemiLattice@tok", "equation_FStar.ConstantTime.Integers.two_point_lattice", "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", "equation_FStar.IFC.idempotent", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.IFC.semi_lattice", - "function_token_typing_FStar.ConstantTime.Integers.two_point_lattice", "function_token_typing_Prims.bool", "kinding_FStar.IFC.semi_lattice@tok", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar.1", "proj_equation_FStar.IFC.SemiLattice_carrier", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.IFC.SemiLattice_top", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", - "token_correspondence_Prims.op_BarBar", "typing_FStar.Ghost.reveal" + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", + "token_correspondence_Prims.op_BarBar", + "typing_FStar.ConstantTime.Integers.two_point_lattice", + "typing_FStar.Ghost.reveal" ], 0, - "9fa887eff4782156d43ee91ae6f18e09" + "62289ce1b9396705d61bf7d0aa07871d" ], [ "FStar.ConstantTime.Integers.test2", @@ -768,7 +724,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "1a4123dc2f0e37cd67f38ac6e1374240" + "709ecbcaeff98380f2bd61a5fefe31f6" ], [ "FStar.ConstantTime.Integers.test2", @@ -790,7 +746,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "44eb93b1617546d0df56b86f06b74bfe" + "1ec085a725d3ecb6bf5df5bef49892e2" ], [ "FStar.ConstantTime.Integers.test3", @@ -810,7 +766,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "37e46dbc8d75aa2c6babb27e4ea8af09" + "893ff6d39cbd06093740e36b37deec49" ], [ "FStar.ConstantTime.Integers.test3", @@ -819,7 +775,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", + "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", @@ -834,12 +790,13 @@ "equation_FStar.ConstantTime.Integers.hi", "equation_FStar.ConstantTime.Integers.two_point_lattice", "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", - "equation_FStar.IFC.idempotent", + "equation_FStar.IFC.idempotent", "equation_FStar.IFC.sl", "equation_FStar.Integers.width_of_sw", "equation_Prims.eqtype", - "function_token_typing_FStar.ConstantTime.Integers.two_point_lattice", "function_token_typing_Prims.bool", "kinding_FStar.IFC.semi_lattice@tok", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar.1", "proj_equation_FStar.IFC.SemiLattice_carrier", "proj_equation_FStar.IFC.SemiLattice_lub", "projection_inverse_BoxBool_proj_0", @@ -847,13 +804,15 @@ "projection_inverse_FStar.IFC.SemiLattice_lub", "projection_inverse_FStar.Integers.Unsigned__0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", "token_correspondence_FStar.IFC.__proj__SemiLattice__item__lub", - "token_correspondence_Prims.op_BarBar", "typing_FStar.Ghost.reveal", + "token_correspondence_Prims.op_BarBar", + "typing_FStar.ConstantTime.Integers.two_point_lattice", + "typing_FStar.Ghost.reveal", "typing_FStar.IFC.__proj__SemiLattice__item__carrier" ], 0, - "9353b7fd235cdffc8a16e0ca1dabda14" + "4ac1f303c02bf51c14a8f0dcd18ff2a9" ], [ "FStar.ConstantTime.Integers.test4", @@ -873,7 +832,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "76db88c36c094c999bd499a1d7885fd1" + "4fed32c656515a04ac2f19d7833bcc7f" ], [ "FStar.ConstantTime.Integers.test4", @@ -882,8 +841,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", - "bool_inversion", "bool_typing", + "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W128", @@ -898,28 +857,33 @@ "equation_FStar.ConstantTime.Integers.m", "equation_FStar.ConstantTime.Integers.two_point_lattice", "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", - "equation_FStar.IFC.idempotent", - "equation_FStar.Integers.width_of_sw", "equation_Prims.eqtype", - "function_token_typing_FStar.ConstantTime.Integers.two_point_lattice", + "equation_FStar.IFC.idempotent", "equation_FStar.IFC.sl", + "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", + "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.bool", "kinding_FStar.IFC.semi_lattice@tok", - "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_BarBar", + "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar.1", "proj_equation_FStar.IFC.SemiLattice_carrier", "proj_equation_FStar.IFC.SemiLattice_lub", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.IFC.SemiLattice_carrier", "projection_inverse_FStar.IFC.SemiLattice_lub", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_3d56ffe65f3457aaf6f53eb2845c954f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8f5d7703f8bc8b933666c66c16cb2a8c", - "refinement_interpretation_Tm_refine_a88b3e92ab3177b6093126cb07928231", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", + "refinement_interpretation_Tm_refine_7c3bf4df97537fd015be9bf0d763d850", + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", "token_correspondence_FStar.IFC.__proj__SemiLattice__item__lub", - "token_correspondence_Prims.op_BarBar", "typing_FStar.Ghost.reveal", + "token_correspondence_Prims.op_BarBar", + "typing_FStar.ConstantTime.Integers.two_point_lattice", + "typing_FStar.Ghost.reveal", "typing_FStar.IFC.__proj__SemiLattice__item__carrier" ], 0, - "47b44f6cb942d6e67c91a89c288a465a" + "9d86948101c96e77a6d14635a0a9fef2" ], [ "FStar.ConstantTime.Integers.hacl_lattice", @@ -931,11 +895,11 @@ "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", "equation_FStar.IFC.idempotent", - "interpretation_Tm_abs_f21695f226a844b797259945e0d435fc", + "interpretation_Tm_abs_7914e8ab332b69ee3bc4641e99a8399b", "unit_inversion", "unit_typing" ], 0, - "c58393977e3c517efd3435520f044dc2" + "9bfead87c38d548afe1faba608dc72fd" ], [ "FStar.ConstantTime.Integers.hacl_label", @@ -943,27 +907,30 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.IFC.SemiLattice", + "@MaxIFuel_assumption", "@query", + "FStar.ConstantTime.Integers_interpretation_Tm_arrow_ba0a6b265abf66ac17f011a3838d0a11", + "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", + "data_elim_FStar.IFC.SemiLattice", "data_typing_intro_FStar.IFC.SemiLattice@tok", "equation_FStar.ConstantTime.Integers.hacl_lattice", "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", "equation_FStar.IFC.idempotent", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.IFC.semi_lattice", - "function_token_typing_FStar.ConstantTime.Integers.hacl_lattice", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_f21695f226a844b797259945e0d435fc", + "interpretation_Tm_abs_7914e8ab332b69ee3bc4641e99a8399b", "kinding_FStar.IFC.semi_lattice@tok", "lemma_FStar.Ghost.reveal_hide", "proj_equation_FStar.IFC.SemiLattice_carrier", "projection_inverse_FStar.IFC.SemiLattice_top", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", + "typing_FStar.ConstantTime.Integers.hacl_lattice", "typing_FStar.Ghost.reveal", - "typing_Tm_abs_f21695f226a844b797259945e0d435fc", "unit_inversion", + "typing_Tm_abs_7914e8ab332b69ee3bc4641e99a8399b", "unit_inversion", "unit_typing" ], 0, - "77cfa181540b7c7bba436164f52b2dea" + "c37d08a23d579f3c6e7610f14e664e2a" ], [ "FStar.ConstantTime.Integers.s_uint32", @@ -983,7 +950,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "50e5c351d5e81c9b4098fe5a5d4dfc4c" + "ec67bac4e933d1dd3c7c1abbfbe9f488" ], [ "FStar.ConstantTime.Integers.test5", @@ -1005,7 +972,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "739f291b3cdd0d27d6507135b9c8c120" + "841d24bbd74ccb31151b9820183ed034" ], [ "FStar.ConstantTime.Integers.test6", @@ -1025,7 +992,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "665903b37291dc50572c4e5dd55e81e5" + "65d303b195cd3eca9cd5ab76d129faff" ], [ "FStar.ConstantTime.Integers.test6", @@ -1045,7 +1012,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "f2c6c3fc6271feede7dcaeaaa87660e5" + "541c6f8172461d65dc4d05f9d3b18859" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.ConstantTime.Integers.fsti.hints b/ulib/FStar.ConstantTime.Integers.fsti.hints index 1a27d11c5d1..9b9ce8ae789 100644 --- a/ulib/FStar.ConstantTime.Integers.fsti.hints +++ b/ulib/FStar.ConstantTime.Integers.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "d201b960fb6999900acabbb8fab777f2" + "5b305752eec22e3c1c0d8007b2800e56" ], [ "FStar.ConstantTime.Integers.reveal_hide", @@ -20,7 +20,7 @@ "refinement_interpretation_Tm_refine_fab25bb72cbea52abfa7c0988894a099" ], 0, - "9fd6353047fde0936215a174c62bddc9" + "a691efdeac007e1dce6cd8eaeddd8173" ], [ "FStar.ConstantTime.Integers.promote", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "1059e73e79a9cf9576896794d11a5300" + "6d59c41054e03af5d4241d905352921c" ], [ "FStar.ConstantTime.Integers.addition", @@ -38,10 +38,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d781399b04e62f447028172de698533d" + "refinement_interpretation_Tm_refine_8df45a8507026f589637bf6eb4536985" ], 0, - "2019789a70e6b9ab71d4bce7400f0a36" + "c01c26eb9f5b10ccc3ff6e206e4444db" ], [ "FStar.ConstantTime.Integers.addition_mod", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "639461dd533e56b8db79ed77b70f696d" + "aae135b5ecf4105ca9928480cd5fea59" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__sl", @@ -76,7 +76,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "566929eb7ea86930dbaffa2a402962d4" + "018e0fec17cc161827f6b601e7c74c26" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__l", @@ -92,7 +92,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "8690cc59dcf8a1e594a1d432b8847865" + "a0df62867981957408582f0295fce6f7" ], [ "FStar.ConstantTime.Integers.__proj__Secret__item__sw", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "10656b279b4da43f57fda0b198a8f8b9" + "65e6a1194812d36f848f39aae27970f9" ], [ "FStar.ConstantTime.Integers.__proj__Public__item__sw", @@ -120,7 +120,7 @@ "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" ], 0, - "4e85af3183850cbeabab2bee478402dc" + "0f76d8d5242959c7922a208e0d7e9ac6" ], [ "FStar.ConstantTime.Integers.sw_qual", @@ -134,7 +134,7 @@ "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual" ], 0, - "d8c34abd331c4f4d22b587f070d1f29d" + "83ce480ff522b64700955daac30508ef" ], [ "FStar.ConstantTime.Integers.label_qual", @@ -150,7 +150,7 @@ "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" ], 0, - "85c4b347101d6be9bcb2c805a809f3de" + "601db1b745d6d60b3dc419490fc01ff5" ], [ "FStar.ConstantTime.Integers.t", @@ -164,7 +164,7 @@ "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual" ], 0, - "9891507139568fa072d43167939d8ce0" + "7ba56aadaf4ff9158081e9f7ace64cad" ], [ "FStar.ConstantTime.Integers.q2s", @@ -178,7 +178,7 @@ "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual" ], 0, - "2f84a8992df3e94ccec2a0292442a8a7" + "8418f3c3a795319cbb2232b82aef62ef" ], [ "FStar.ConstantTime.Integers.i", @@ -211,7 +211,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "9546eb2d5dbfc47d751ad9cd5f0cc47f" + "99f6086e9b710ff5a55054aad9038b68" ], [ "FStar.ConstantTime.Integers.as_secret", @@ -229,7 +229,7 @@ "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" ], 0, - "6dce927e2ccd1eade2d1fed229f7d828" + "02b39b3734dae8ddc1211b1b2020845f" ], [ "FStar.ConstantTime.Integers.as_public", @@ -243,7 +243,7 @@ "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" ], 0, - "ac2da5bc9350241efa36cb7dcbdbce3a" + "364a5108198529474779fbecb4689774" ], [ "FStar.ConstantTime.Integers.op_Plus", @@ -253,23 +253,24 @@ [ "@MaxIFuel_assumption", "@query", "constructor_distinct_FStar.ConstantTime.Integers.Public", + "constructor_distinct_FStar.Integers.Signed", "data_elim_FStar.ConstantTime.Integers.Secret", "disc_equation_FStar.ConstantTime.Integers.Public", "disc_equation_FStar.ConstantTime.Integers.Secret", + "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.ConstantTime.Integers.sw", "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual", "proj_equation_FStar.ConstantTime.Integers.Secret_sl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ConstantTime.Integers.Public_sw", "projection_inverse_FStar.ConstantTime.Integers.Secret_l", "projection_inverse_FStar.ConstantTime.Integers.Secret_sl", "projection_inverse_FStar.ConstantTime.Integers.Secret_sw", - "refinement_interpretation_Tm_refine_6822da4ae8e882c61f7780dfe19d8ae7", + "refinement_interpretation_Tm_refine_8b582cb6e449afb51372190cbc4c3ebc", "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", "refinement_interpretation_Tm_refine_cd2592ec940f2fd0d396db6a705be2eb" ], 0, - "31085a96be35eabb9d5757d2cab56bf9" + "bade06d2ac0fd27a8cea2aa11114399a" ], [ "FStar.ConstantTime.Integers.op_Plus_Percent", @@ -278,7 +279,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "704869db561bbcc8b325aeebc3bf4dca" + "f8b8098f670ee13b00234e4309f3c6fb" ], [ "FStar.ConstantTime.Integers.op_Plus_Percent", @@ -305,7 +306,7 @@ "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" ], 0, - "6c10015c0568fe64a26f8039b81e8ecb" + "052d9a8f35ec4eb67c8403fc030d47f1" ], [ "FStar.ConstantTime.Integers.two_point_lattice", @@ -323,7 +324,7 @@ "token_correspondence_Prims.op_BarBar" ], 0, - "0f301111ff69943e40b26a7b1d8182d9" + "152f2a8e5777b8d7884c326c42448edc" ], [ "FStar.ConstantTime.Integers.lo", @@ -332,7 +333,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", + "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", "bool_inversion", "bool_typing", "data_typing_intro_FStar.IFC.SemiLattice@tok", "equation_FStar.ConstantTime.Integers.two_point_lattice", @@ -341,15 +342,17 @@ "function_token_typing_Prims.bool", "kinding_FStar.IFC.semi_lattice@tok", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar.1", "proj_equation_FStar.IFC.SemiLattice_carrier", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.IFC.SemiLattice_carrier", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", "token_correspondence_Prims.op_BarBar" ], 0, - "90342a637d607399588bf2e82a22e659" + "0e09530436515919a28838d4628ee637" ], [ "FStar.ConstantTime.Integers.hi", @@ -358,26 +361,29 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", + "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", "bool_inversion", "bool_typing", "data_elim_FStar.IFC.SemiLattice", "data_typing_intro_FStar.IFC.SemiLattice@tok", "equation_FStar.ConstantTime.Integers.two_point_lattice", "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", "equation_FStar.IFC.idempotent", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.IFC.semi_lattice", - "function_token_typing_FStar.ConstantTime.Integers.two_point_lattice", "function_token_typing_Prims.bool", "kinding_FStar.IFC.semi_lattice@tok", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar.1", "proj_equation_FStar.IFC.SemiLattice_carrier", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.IFC.SemiLattice_top", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", - "token_correspondence_Prims.op_BarBar", "typing_FStar.Ghost.reveal" + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", + "token_correspondence_Prims.op_BarBar", + "typing_FStar.ConstantTime.Integers.two_point_lattice", + "typing_FStar.Ghost.reveal" ], 0, - "a3c96c98e5c1c20b88bd9084280e82b5" + "c5d98b8bbab140e5269b6c23cd9b5529" ], [ "FStar.ConstantTime.Integers.test2", @@ -397,7 +403,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "56a23c2ce4e89466f87227ab1e519fcb" + "26dc71eab405a3b6858c2f94268def62" ], [ "FStar.ConstantTime.Integers.test2", @@ -419,7 +425,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "071df6b1f38d77065de2d7de46777ec9" + "50cfb38c317a1827f2668996d832544b" ], [ "FStar.ConstantTime.Integers.test3", @@ -439,7 +445,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "bb087176e98999a69cd4e3dcd20de1ba" + "c1b3237db9e46fa6cca51256f53e9c59" ], [ "FStar.ConstantTime.Integers.test3", @@ -448,7 +454,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", + "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", @@ -463,12 +469,13 @@ "equation_FStar.ConstantTime.Integers.hi", "equation_FStar.ConstantTime.Integers.two_point_lattice", "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", - "equation_FStar.IFC.idempotent", + "equation_FStar.IFC.idempotent", "equation_FStar.IFC.sl", "equation_FStar.Integers.width_of_sw", "equation_Prims.eqtype", - "function_token_typing_FStar.ConstantTime.Integers.two_point_lattice", "function_token_typing_Prims.bool", "kinding_FStar.IFC.semi_lattice@tok", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar.1", "proj_equation_FStar.IFC.SemiLattice_carrier", "proj_equation_FStar.IFC.SemiLattice_lub", "projection_inverse_BoxBool_proj_0", @@ -476,13 +483,15 @@ "projection_inverse_FStar.IFC.SemiLattice_lub", "projection_inverse_FStar.Integers.Unsigned__0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", "token_correspondence_FStar.IFC.__proj__SemiLattice__item__lub", - "token_correspondence_Prims.op_BarBar", "typing_FStar.Ghost.reveal", + "token_correspondence_Prims.op_BarBar", + "typing_FStar.ConstantTime.Integers.two_point_lattice", + "typing_FStar.Ghost.reveal", "typing_FStar.IFC.__proj__SemiLattice__item__carrier" ], 0, - "62464ea57f30c78f1c6d2c72d108beb7" + "1de6de31840b695cbfde295dddb2cf50" ], [ "FStar.ConstantTime.Integers.test4", @@ -502,7 +511,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "7c83d7fd14cf34c05f783c187af5278b" + "b827ecaaa1e0d65d03a74f606c6630af" ], [ "FStar.ConstantTime.Integers.test4", @@ -511,10 +520,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_pretyping_5fc4df0ff1d263535b76c4f1ab202ae9", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W128", @@ -527,49 +534,35 @@ "equation_FStar.ConstantTime.Integers.hi", "equation_FStar.ConstantTime.Integers.lo", "equation_FStar.ConstantTime.Integers.m", - "equation_FStar.ConstantTime.Integers.sw", "equation_FStar.ConstantTime.Integers.two_point_lattice", "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", "equation_FStar.IFC.idempotent", "equation_FStar.IFC.sl", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.ConstantTime.Integers.lo", - "function_token_typing_FStar.ConstantTime.Integers.two_point_lattice", - "function_token_typing_FStar.Pervasives.simplify", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", + "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.bool", "kinding_FStar.IFC.semi_lattice@tok", - "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", + "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar", + "primitive_tot_fun_Prims.op_BarBar.1", "proj_equation_FStar.IFC.SemiLattice_carrier", "proj_equation_FStar.IFC.SemiLattice_lub", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.IFC.SemiLattice_carrier", "projection_inverse_FStar.IFC.SemiLattice_lub", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_3d56ffe65f3457aaf6f53eb2845c954f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8f5d7703f8bc8b933666c66c16cb2a8c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a88b3e92ab3177b6093126cb07928231", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c1c97f229533c56d1413092570a08d75", - "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", + "refinement_interpretation_Tm_refine_7c3bf4df97537fd015be9bf0d763d850", + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", "token_correspondence_FStar.IFC.__proj__SemiLattice__item__lub", "token_correspondence_Prims.op_BarBar", - "typing_FStar.ConstantTime.Integers.m", "typing_FStar.Ghost.reveal", - "typing_FStar.IFC.__proj__SemiLattice__item__carrier", - "typing_FStar.Integers.v", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v" + "typing_FStar.ConstantTime.Integers.two_point_lattice", + "typing_FStar.Ghost.reveal", + "typing_FStar.IFC.__proj__SemiLattice__item__carrier" ], 0, - "846e891738dc0d4a1b68047d84777c00" + "ba1b698d1a51b9f7c127d6b4cb2b901d" ], [ "FStar.ConstantTime.Integers.hacl_lattice", @@ -581,11 +574,11 @@ "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", "equation_FStar.IFC.idempotent", - "interpretation_Tm_abs_f21695f226a844b797259945e0d435fc", + "interpretation_Tm_abs_7914e8ab332b69ee3bc4641e99a8399b", "unit_inversion", "unit_typing" ], 0, - "80f217d8e4437c7261c1e4fdb20793bb" + "7d678a823e8598cc8645e5679a5d08ad" ], [ "FStar.ConstantTime.Integers.hacl_label", @@ -593,27 +586,30 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.IFC.SemiLattice", + "@MaxIFuel_assumption", "@query", + "FStar.ConstantTime.Integers_interpretation_Tm_arrow_ba0a6b265abf66ac17f011a3838d0a11", + "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", + "data_elim_FStar.IFC.SemiLattice", "data_typing_intro_FStar.IFC.SemiLattice@tok", "equation_FStar.ConstantTime.Integers.hacl_lattice", "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", "equation_FStar.IFC.idempotent", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.IFC.semi_lattice", - "function_token_typing_FStar.ConstantTime.Integers.hacl_lattice", "function_token_typing_Prims.unit", - "interpretation_Tm_abs_f21695f226a844b797259945e0d435fc", + "interpretation_Tm_abs_7914e8ab332b69ee3bc4641e99a8399b", "kinding_FStar.IFC.semi_lattice@tok", "lemma_FStar.Ghost.reveal_hide", "proj_equation_FStar.IFC.SemiLattice_carrier", "projection_inverse_FStar.IFC.SemiLattice_top", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede", + "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", + "typing_FStar.ConstantTime.Integers.hacl_lattice", "typing_FStar.Ghost.reveal", - "typing_Tm_abs_f21695f226a844b797259945e0d435fc", "unit_inversion", + "typing_Tm_abs_7914e8ab332b69ee3bc4641e99a8399b", "unit_inversion", "unit_typing" ], 0, - "2f1728225e8592208053faeaf1b42d25" + "5ccf1cf2c027de823d610f2496297a00" ], [ "FStar.ConstantTime.Integers.s_uint32", @@ -633,7 +629,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "e49bec5a3587a4e428cd1b846bf6b1bd" + "e4945a72cd98f8ae21ba94c1a6d79ad2" ], [ "FStar.ConstantTime.Integers.test5", @@ -655,7 +651,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "cdef8fc7a5e63c1b5ab7de09157fa958" + "72ac81b813595668a6a7e5ab7d88489d" ], [ "FStar.ConstantTime.Integers.test6", @@ -675,7 +671,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "e0d396f5d970a5f3497e2a2015c4526b" + "c09d1f7c703c5c67c47d3a667de2479f" ], [ "FStar.ConstantTime.Integers.test6", @@ -695,7 +691,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "ebd50a87fa960782a7594a5f93240994" + "0db4f02ecfd911b0664be3676dc8840b" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Constructive.fst.hints b/ulib/FStar.Constructive.fst.hints index 7e0761cbe5e..53a6b22d668 100644 --- a/ulib/FStar.Constructive.fst.hints +++ b/ulib/FStar.Constructive.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "4a1ca561ba01bfa0cf563aca595821fb" + "941f4e6f87ad7b2f8b41684f9d4c0f0d" ], [ "FStar.Constructive.cor", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "7d4d3fa4bfe0dc0ad627763d0fd56dbd" + "0e06d175e3ab7cbdc2c006b06d703a84" ], [ "FStar.Constructive.__proj__IntroL__item__h", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_5f96298b0b74547bf135efed6725faec" ], 0, - "2757fbd080a3bd9e283be2e073d99d91" + "2bec1a309c4e67e30de8ab906e130cdc" ], [ "FStar.Constructive.__proj__IntroR__item__h", @@ -45,7 +45,7 @@ "refinement_interpretation_Tm_refine_7fbfb42f7ce95e0df3d91787685cfbfc" ], 0, - "26059047a752788c95967baa9ea130de" + "06d8af48c7be34e3d228570ebad89aae" ], [ "FStar.Constructive.__proj__ExIntro__item__h", @@ -57,7 +57,7 @@ "projection_inverse_FStar.Constructive.ExIntro_x" ], 0, - "d910548638c04321d75f57fb87938c24" + "4e77506a61fea41b28ed461a4e4e309d" ], [ "FStar.Constructive.eq_ind", @@ -69,7 +69,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "ead7472eb1a9c8d89106afa6cedb7953" + "f181d3bf4d971c612b3a248c51aa2993" ], [ "FStar.Constructive.ceq_eq", @@ -81,7 +81,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "60d82eadccc09a3558aa6ac243f974d8" + "4dfd57a1996f4c08159b760ae67196d7" ], [ "FStar.Constructive.ceq_congruence", @@ -93,7 +93,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "72b609daa5c98e96f6a50ad57c9e6823" + "7da66a041823423100fed59a82a894ea" ], [ "FStar.Constructive.ceq_symm", @@ -105,7 +105,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "495d054cb56bb52d0244f4b0c80e81b9" + "7dc508fbe9f62e1101bdab0164a8b393" ], [ "FStar.Constructive.ceq_trans", @@ -117,7 +117,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "07cb13b4b9951f18a68ed61dbe3cd552" + "84f55885e5a6f16638e06b5014ab98bc" ], [ "FStar.Constructive.cfalse_elim", @@ -129,7 +129,7 @@ "fuel_guarded_inversion_FStar.Constructive.cfalse" ], 0, - "390068ebb06ff2a6e29f53bce13e514d" + "24824a4d1a7e700eedee32691b70adeb" ], [ "FStar.Constructive.false_elim2", @@ -141,7 +141,7 @@ "fuel_guarded_inversion_FStar.Constructive.cfalse" ], 0, - "d5b971a8a25928da6a3fc2454410249b" + "a0d183058f671bd59a4e234112aa076a" ], [ "FStar.Constructive.false_elim", @@ -150,10 +150,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "5e1b95eb7a548a45676329313384b985" + "45f80e9d183c0043fa94784f8241f80e" ], [ "FStar.Constructive.cand", @@ -162,7 +162,7 @@ 1, [ "@query" ], 0, - "2491c9df989196430b6741066ede7a1b" + "f704e9b89a841007c5c380675e398078" ], [ "FStar.Constructive.cor", @@ -171,7 +171,7 @@ 1, [ "@query" ], 0, - "2f8b79a175ccf85af23592ece70a089e" + "fb98c5bad1f4e50ae1ea1411a3381d79" ], [ "FStar.Constructive.__proj__IntroL__item__h", @@ -185,7 +185,7 @@ "refinement_interpretation_Tm_refine_5f96298b0b74547bf135efed6725faec" ], 0, - "5625e401bc1f3eeeb9fc22fdb2b75a24" + "8563990ee5ef371736e9cc58dd380325" ], [ "FStar.Constructive.__proj__IntroR__item__h", @@ -199,7 +199,7 @@ "refinement_interpretation_Tm_refine_7fbfb42f7ce95e0df3d91787685cfbfc" ], 0, - "3404852349b116f7b85722d40a82340c" + "e9aff4b0e79507aef4a16c994b038e1f" ], [ "FStar.Constructive.__proj__ExIntro__item__h", @@ -211,7 +211,7 @@ "projection_inverse_FStar.Constructive.ExIntro_x" ], 0, - "d4bf546e569285c3b7d5de072daea34c" + "0a933e856dd12422a251d3843da72742" ], [ "FStar.Constructive.eq_ind", @@ -223,7 +223,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "0fb1fb5e2d2528e4d3f0688bbdb8435f" + "aa3fd1dfc2a4175caa02dd2b8f1582b4" ], [ "FStar.Constructive.ceq_congruence", @@ -235,7 +235,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "24c53d5aadc97c501b44ced7a19d37ed" + "28151f7142398672e08c450b39290d26" ], [ "FStar.Constructive.ceq_symm", @@ -247,7 +247,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "3c08152825a6a1012bbb5d57a0e25bfd" + "7e2189b81c4f35535da8009391ce6284" ], [ "FStar.Constructive.ceq_trans", @@ -259,7 +259,7 @@ "fuel_guarded_inversion_FStar.Constructive.ceq" ], 0, - "c81b339f0315e00340049140b133f953" + "bf102120f7b17a4688f4700e3af0fa04" ], [ "FStar.Constructive.cfalse_elim", @@ -271,7 +271,7 @@ "fuel_guarded_inversion_FStar.Constructive.cfalse" ], 0, - "a134f280eb14098724f7a5659e272055" + "64cfbbd3b668f8741a1dea4cd3122c6c" ], [ "FStar.Constructive.false_elim2", @@ -283,7 +283,7 @@ "fuel_guarded_inversion_FStar.Constructive.cfalse" ], 0, - "2dad8b11f6d3927b628e2555946c33ad" + "6b2e84c2973f0f56df09fbc2ab380032" ], [ "FStar.Constructive.false_elim", @@ -292,10 +292,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "a5ce3b842d8b83ff3d0053d65895c0bf" + "bc3a3b0f274f5a33b8d4c44df3c7aafe" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Crypto.fst.hints b/ulib/FStar.Crypto.fst.hints index 1cb72ab4017..e2900b5131e 100644 --- a/ulib/FStar.Crypto.fst.hints +++ b/ulib/FStar.Crypto.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "a880ee8e46815d8dca6add8b5619fdf7" + "d9880550e62301e4d97634e1bb70ff05" ], [ "FStar.Crypto.aes_128_encrypt", @@ -18,12 +18,12 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Crypto.block", "equation_FStar.Crypto.nbytes", - "haseqTm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", + "haseqTm_refine_71ea40360194fe02ee1272538c9cacbc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_FStar.Bytes.bytes" ], 0, - "3802c370ab2c9ac6e19c3419b0de1738" + "70abc9ca27c3dc572d31f2721a73fb8f" ], [ "FStar.Crypto.rsa_pkey", @@ -36,7 +36,7 @@ "typing_FStar.Bytes.bytes" ], 0, - "5cd50c7516799aaf4fc1937091144e43" + "be20bfb05c1ee5a9ef48b03dd294e4e7" ], [ "FStar.Crypto.nbytes", @@ -45,7 +45,7 @@ 1, [ "@query" ], 0, - "11475a730eefacb3507a3cdd1c0893d8" + "fc532cdcf5a3561bc62e8cba45bff4ea" ], [ "FStar.Crypto.aes_128_encrypt", @@ -55,12 +55,12 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Crypto.block", "equation_FStar.Crypto.nbytes", - "haseqTm_refine_b0383769854f2b8d05d9f8fb03a8cbd4", + "haseqTm_refine_71ea40360194fe02ee1272538c9cacbc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "typing_FStar.Bytes.bytes" ], 0, - "bfb3664dc9c505ab0f1446bf1f4da8d3" + "7f6fd45c6f35ae687b1659bf4073b8bc" ], [ "FStar.Crypto.rsa_pkey", @@ -73,7 +73,7 @@ "typing_FStar.Bytes.bytes" ], 0, - "0d4527488d4f6c9fc1409716f9b2deb5" + "06d7b524bd141df221b6144fd363ce22" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.DependentMap.fst b/ulib/FStar.DependentMap.fst index 80e0f2a298a..4ab45e2e02d 100644 --- a/ulib/FStar.DependentMap.fst +++ b/ulib/FStar.DependentMap.fst @@ -47,7 +47,7 @@ abstract let sel_create : Lemma (requires True) (ensures (sel #key #value (create f) k == f k)) - [SMTPat (sel (create f) k)] + [SMTPat (sel #key #value (create f) k)] = () abstract let upd @@ -249,7 +249,7 @@ abstract let sel_map : Lemma (requires True) (ensures (sel (map f m) k == f k (sel m k))) - [SMTPat (sel (map f m) k)] + [SMTPat (sel #key #value2 (map #key #value1 #value2 f m) k)] = () abstract let map_upd @@ -262,5 +262,5 @@ abstract let map_upd : Lemma (requires True) (ensures (map f (upd m k v) == upd (map f m) k (f k v))) - [SMTPat (map f (upd m k v))] //AR: wanted to write an SMTPatOr, but gives some error + [SMTPat (map #key #value1 #value2 f (upd #key #value1 m k v))] //AR: wanted to write an SMTPatOr, but gives some error = equal_elim #key #value2 (map f (upd m k v)) (upd (map f m) k (f k v)) diff --git a/ulib/FStar.DependentMap.fst.hints b/ulib/FStar.DependentMap.fst.hints index f7bf00fbfeb..7991d40dd4e 100644 --- a/ulib/FStar.DependentMap.fst.hints +++ b/ulib/FStar.DependentMap.fst.hints @@ -1,5 +1,5 @@ [ - "¡Ušï~UÏößÇ”Ìk\u0013n›", + "\u0003KV\u0015Ž|\u000fk\u0016ò4D|gš²", [ [ "FStar.DependentMap.create", @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d0a6395a0aea9df5cd8a75749474e716" + "19c6c8275e2a06156d981419982dd766" ], [ "FStar.DependentMap.sel_create", @@ -34,7 +34,7 @@ "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings" ], 0, - "5618a1ab70e2daecee85d2fd20eaee68" + "5db6083162a940f4f8dca0601a348830" ], [ "FStar.DependentMap.upd", @@ -51,7 +51,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4bfa738cc2d32838060983bbf77defbb" + "2767d2049634cf8335d3ac3f038658d9" ], [ "FStar.DependentMap.sel_upd_same", @@ -64,17 +64,17 @@ "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_44386888ed6d3845a43412dbf2df4f16", + "interpretation_Tm_abs_72c7c67b249b548b5a04fe79308afd73", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.DependentMap.Mkt_mappings", "projection_inverse_FStar.DependentMap.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_Tm_abs_44386888ed6d3845a43412dbf2df4f16" + "typing_Tm_abs_72c7c67b249b548b5a04fe79308afd73" ], 0, - "fbd0089d0ed2302ce20e10e6d4c3f64e" + "594bd253d920ea93539243d58e468511" ], [ "FStar.DependentMap.sel_upd_other", @@ -87,7 +87,7 @@ "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_44386888ed6d3845a43412dbf2df4f16", + "interpretation_Tm_abs_72c7c67b249b548b5a04fe79308afd73", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.DependentMap.Mkt_mappings", @@ -95,10 +95,10 @@ "projection_inverse_FStar.DependentMap.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_Tm_abs_44386888ed6d3845a43412dbf2df4f16" + "typing_Tm_abs_72c7c67b249b548b5a04fe79308afd73" ], 0, - "ab3674e966ead285bce80ea98dd12fb4" + "08fc367d205f7b94c26b6cde6e717dca" ], [ "FStar.DependentMap.equal_intro", @@ -107,7 +107,7 @@ 1, [ "@query", "equation_FStar.DependentMap.equal" ], 0, - "2ce2c54a97bca1f40b62d59c47ed8425" + "999f3efa344898bdc9721246e757e952" ], [ "FStar.DependentMap.equal_refl", @@ -116,7 +116,7 @@ 1, [ "@query", "lemma_FStar.DependentMap.equal_intro" ], 0, - "b527e2b5af67563fe98ef0bce81de3f6" + "85042f0e2a29594fc33519d326b29eb7" ], [ "FStar.DependentMap.equal_elim", @@ -133,11 +133,11 @@ "fuel_guarded_inversion_FStar.DependentMap.t", "function_token_typing_FStar.DependentMap.__proj__Mkt__item__mappings", "proj_equation_FStar.DependentMap.Mkt_mappings", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_FStar.DependentMap.__proj__Mkt__item__mappings" ], 0, - "042d1cd596759299c80d4a86e136ba95" + "0e40860ec905d98eefe17c06d76a01ea" ], [ "FStar.DependentMap.restrict", @@ -146,8 +146,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "data_elim_FStar.DependentMap.Mkt", "equation_FStar.FunctionalExtensionality.is_restricted", "equation_FStar.FunctionalExtensionality.restricted_t", @@ -156,11 +156,11 @@ "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", "proj_equation_FStar.DependentMap.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4" + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" ], 0, - "5546bf95c239822081a3a8673d8a2e5d" + "1786562e51344e209ee48a00f3a6d02d" ], [ "FStar.DependentMap.sel_restrict", @@ -169,7 +169,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "data_elim_FStar.DependentMap.Mkt", "equation_FStar.DependentMap.restrict", "equation_FStar.DependentMap.sel", @@ -181,13 +181,13 @@ "proj_equation_FStar.DependentMap.Mkt_mappings", "projection_inverse_FStar.DependentMap.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", "typing_FStar.DependentMap.restrict" ], 0, - "805829df4adfb3d800b7fbb62f8f5c1d" + "5c4f350af06907fcc544d237184c0cee" ], [ "FStar.DependentMap.concat_value", @@ -201,7 +201,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either" ], 0, - "88c57b46a0c9dcc6eb3f796b675c926d" + "38cedb7cfb5d94db1fe6650f174f4dba" ], [ "FStar.DependentMap.concat_mappings", @@ -210,7 +210,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "constructor_distinct_FStar.Pervasives.Inl", "constructor_distinct_FStar.Pervasives.Inr", "disc_equation_FStar.Pervasives.Inl", @@ -225,7 +225,7 @@ "projection_inverse_FStar.Pervasives.Inr_v" ], 0, - "d1e01401d815b11a68be63af9da3175c" + "95c2bccf83caed6828507dc9679d2303" ], [ "FStar.DependentMap.concat", @@ -234,10 +234,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_c35ea188d4524711dd467cde4b9bd5b1", - "FStar.DependentMap_interpretation_Tm_arrow_e67bb589fbe4befcd913cc522c2626dc", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.DependentMap_interpretation_Tm_arrow_9070d883dcc4314302de4210ad7d1421", + "FStar.DependentMap_interpretation_Tm_arrow_c2ce507eae403d4c85c7894db13014f2", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "assumption_FStar.Pervasives.either__uu___haseq", "equation_FStar.FunctionalExtensionality.is_restricted", "equation_FStar.FunctionalExtensionality.restricted_t", @@ -247,14 +247,13 @@ "function_token_typing_FStar.DependentMap.concat_value", "kinding_FStar.Pervasives.either@tok", "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "proj_equation_FStar.DependentMap.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_FStar.DependentMap.concat_value", "typing_FStar.DependentMap.__proj__Mkt__item__mappings" ], 0, - "0987455477320fc51b79fb8e28b1e647" + "63aadd80c031e377bf698c0f2bb17de9" ], [ "FStar.DependentMap.sel_concat_l", @@ -263,8 +262,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_e67bb589fbe4befcd913cc522c2626dc", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.DependentMap_interpretation_Tm_arrow_c2ce507eae403d4c85c7894db13014f2", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "assumption_FStar.Pervasives.either__uu___haseq", "constructor_distinct_FStar.Pervasives.Inl", "data_elim_FStar.DependentMap.Mkt", @@ -285,7 +284,7 @@ "projection_inverse_FStar.Pervasives.Inl__b", "projection_inverse_FStar.Pervasives.Inl_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", "token_correspondence_FStar.DependentMap.concat_mappings", "token_correspondence_FStar.DependentMap.concat_value", @@ -293,7 +292,7 @@ "typing_FStar.DependentMap.concat" ], 0, - "2d4fb26c4425b91bd8607f7c14c815d4" + "a7d16a3a92bc76bfda326dfdff8c36a3" ], [ "FStar.DependentMap.sel_concat_r", @@ -302,8 +301,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_e67bb589fbe4befcd913cc522c2626dc", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.DependentMap_interpretation_Tm_arrow_c2ce507eae403d4c85c7894db13014f2", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "assumption_FStar.Pervasives.either__uu___haseq", "constructor_distinct_FStar.Pervasives.Inr", "data_elim_FStar.DependentMap.Mkt", @@ -324,7 +323,7 @@ "projection_inverse_FStar.Pervasives.Inr__b", "projection_inverse_FStar.Pervasives.Inr_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", "token_correspondence_FStar.DependentMap.concat_mappings", "token_correspondence_FStar.DependentMap.concat_value", @@ -332,7 +331,7 @@ "typing_FStar.DependentMap.concat" ], 0, - "0f8add24551ae54b907dc53be8db74a5" + "111f232f3fb3fb9fa2342d0521ed3045" ], [ "FStar.DependentMap.rename", @@ -341,19 +340,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_fbd583e3e0e445ec87724153859c63ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.DependentMap_interpretation_Tm_arrow_ea7c28e12dadc3ca9fbd86b62bbe91a0", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "equation_FStar.FunctionalExtensionality.is_restricted", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_fa2886dd12ae332adae746af60cd97d6", + "interpretation_Tm_abs_1e59e103e4a1ae7902b80b4e9f14b6d5", "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_7795ca68072d11ff84e598898007869c", - "typing_Tm_abs_fa2886dd12ae332adae746af60cd97d6" + "typing_Tm_abs_1e59e103e4a1ae7902b80b4e9f14b6d5", + "typing_Tm_abs_e4aab2d79d245f9b260455081b9018a1" ], 0, - "ab76602abbe62ce0463bed8dba71f914" + "10520d219dbc256409cd5586ba0ad087" ], [ "FStar.DependentMap.sel_rename", @@ -362,25 +361,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_fbd583e3e0e445ec87724153859c63ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.DependentMap_interpretation_Tm_arrow_ea7c28e12dadc3ca9fbd86b62bbe91a0", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "equation_FStar.DependentMap.rename", "equation_FStar.DependentMap.sel", "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_7795ca68072d11ff84e598898007869c", - "interpretation_Tm_abs_fa2886dd12ae332adae746af60cd97d6", + "interpretation_Tm_abs_1e59e103e4a1ae7902b80b4e9f14b6d5", + "interpretation_Tm_abs_e4aab2d79d245f9b260455081b9018a1", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.DependentMap.Mkt_mappings", "projection_inverse_FStar.DependentMap.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_Tm_abs_7795ca68072d11ff84e598898007869c", - "typing_Tm_abs_fa2886dd12ae332adae746af60cd97d6" + "typing_Tm_abs_1e59e103e4a1ae7902b80b4e9f14b6d5", + "typing_Tm_abs_e4aab2d79d245f9b260455081b9018a1" ], 0, - "22893b90a44a973032b8784f375bcbfa" + "f208a8e2919a4b1a0e933274bed895f9" ], [ "FStar.DependentMap.map", @@ -393,10 +392,10 @@ "equation_Prims.eqtype", "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_47a85c1c595d39fc4626e71490d12541" + "typing_Tm_abs_642b723ac228638bf08f443cbc97b23a" ], 0, - "4fe98347639765cea5e04c9817429be3" + "c396c0b1288c6ad2386143c682ff318c" ], [ "FStar.DependentMap.sel_map", @@ -409,16 +408,16 @@ "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_47a85c1c595d39fc4626e71490d12541", + "interpretation_Tm_abs_642b723ac228638bf08f443cbc97b23a", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.DependentMap.Mkt_mappings", "projection_inverse_FStar.DependentMap.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_Tm_abs_47a85c1c595d39fc4626e71490d12541" + "typing_Tm_abs_642b723ac228638bf08f443cbc97b23a" ], 0, - "edd30e2c3f8646369a3f805c06dfffc1" + "e40cc839cc773740426ad20fa3aaf45d" ], [ "FStar.DependentMap.map_upd", @@ -427,14 +426,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_5310ae30a9699ed0102e0882d3779d44", + "FStar.DependentMap_interpretation_Tm_arrow_8999bb275b004ca2d9297a7090495363", "equation_FStar.DependentMap.equal", "equation_FStar.DependentMap.map", "equation_FStar.DependentMap.sel", "equation_FStar.DependentMap.upd", "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_44386888ed6d3845a43412dbf2df4f16", + "interpretation_Tm_abs_72c7c67b249b548b5a04fe79308afd73", "lemma_FStar.DependentMap.sel_map", "lemma_FStar.DependentMap.sel_upd_other", "lemma_FStar.FunctionalExtensionality.feq_on_domain", @@ -444,10 +443,10 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", "typing_FStar.DependentMap.map", "typing_FStar.DependentMap.upd", - "typing_Tm_abs_44386888ed6d3845a43412dbf2df4f16" + "typing_Tm_abs_72c7c67b249b548b5a04fe79308afd73" ], 0, - "dbc8cb41a05822ff8f79c12e9326479d" + "d7c1e8f4392385cf639e6d047fb07386" ], [ "FStar.DependentMap.restrict", @@ -459,7 +458,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b0914a74f69f27a138b9b55dfde8cd2e" + "71cc9e8ea165f66fedc7c9731697a1d6" ], [ "FStar.DependentMap.sel_restrict", @@ -471,7 +470,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "480bf09d67cd3982eaeb645326ed9f5e" + "e6862afd58c50460a20d268936d78055" ], [ "FStar.DependentMap.concat_value", @@ -485,7 +484,7 @@ "fuel_guarded_inversion_FStar.Pervasives.either" ], 0, - "dcee43bf5d51522caf253b7fd6c2288a" + "eabb99b65e28173f390933636da65b93" ], [ "FStar.DependentMap.concat_mappings", @@ -494,7 +493,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "constructor_distinct_FStar.Pervasives.Inl", "constructor_distinct_FStar.Pervasives.Inr", "disc_equation_FStar.Pervasives.Inl", @@ -509,7 +508,7 @@ "projection_inverse_FStar.Pervasives.Inr_v" ], 0, - "6d8f0138fd54ac0c3918f8658480a32a" + "170615990d5296322a1b8dc258cef03c" ], [ "FStar.DependentMap.concat", @@ -523,7 +522,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ff1d3c220312458110c9c65d859a3e5e" + "ed89fdeb3259b29ac66079b731238d0d" ], [ "FStar.DependentMap.sel_concat_l", @@ -537,7 +536,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b611555a58133a79d73f4586771c69f8" + "b87f686c01ec5fa19810c8b38f995790" ], [ "FStar.DependentMap.sel_concat_r", @@ -551,7 +550,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8ceea76cd23368d347f27906fd6eb32a" + "fbf011b22841a9231a29fa4841f5e743" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Endianness.fst.hints b/ulib/FStar.Endianness.fst.hints index 05e926daecc..8bcd8487788 100644 --- a/ulib/FStar.Endianness.fst.hints +++ b/ulib/FStar.Endianness.fst.hints @@ -10,15 +10,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", + "b2t_def", "binder_x_5bb990f25a586dce553b13acdc494041_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -26,13 +23,13 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "ba00540c674dd16ca4fbe3a2261ef4de" + "5a0d4c3dde2d82c38c57ea0297e8b77b" ], [ "FStar.Endianness.be_to_n", @@ -43,14 +40,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", + "b2t_def", "binder_x_5bb990f25a586dce553b13acdc494041_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -58,14 +53,14 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_76822ae357269826955cbe40314424f1", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d4f2d705559f3c5480d7fdc9acd9698b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "5bc81a2f31e97a40abef5e4b3e004771" + "00a766a1ec662ca408f61e5c6f7e7397" ], [ "FStar.Endianness.reveal_le_to_n", @@ -75,10 +70,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1b60fc7b9be3d474907706066ba8a023" + "f7f905ea1d7742f1fd1ba11f4581000c" ], [ "FStar.Endianness.reveal_le_to_n", @@ -96,7 +91,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "9b64ad2212dc4c270ce5aff26165f759" + "e1e10cdd9149bacbbe1cf5148f9d7fad" ], [ "FStar.Endianness.reveal_be_to_n", @@ -109,10 +104,10 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "07c85eb325cf2c3121bbf29c5e699efe" + "02d02a215db8c727542d9abe6f99436c" ], [ "FStar.Endianness.reveal_be_to_n", @@ -129,7 +124,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "3f7acc331b79485d9893d3d10a16ff10" + "5f6d8f9a7baaa1e2eb716ef4dc0c6d90" ], [ "FStar.Endianness.lemma_euclidean_division", @@ -141,7 +136,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "3213cd2a9e2e242c351c13299fb33a3d" + "5fb9013857ed1604cff118f6a0d8bbd2" ], [ "FStar.Endianness.lemma_factorise", @@ -154,7 +149,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "74eb53f6f8d2d5671966ea7cb03d7053" + "5f3847f6f0be36d408822bd07ec555be" ], [ "FStar.Endianness.lemma_le_to_n_is_bounded", @@ -162,17 +157,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "2d95e20aad525e93db40ad9ccfb09fc2" + "1b07ed93df137af9e2f8a427005c83c0" ], [ "FStar.Endianness.lemma_le_to_n_is_bounded", @@ -180,18 +172,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_16a4ad8630008bc6f12578c5c1806394", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d04230933ed6ed249f265f6834618a6e", "typing_FStar.Seq.Base.length" ], 0, - "0d05913965fb75d64a16dff791333836" + "7eefa71b6f8b0e6fced2afe1292a4f6c" ], [ "FStar.Endianness.lemma_le_to_n_is_bounded", @@ -205,7 +194,7 @@ "@fuel_irrelevance_FStar.Endianness.le_to_n.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", + "binder_x_5bb990f25a586dce553b13acdc494041_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", @@ -223,15 +212,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_1058b74cd024333b0b97a6dcb8a4e31f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "b0f0955cc9282eb8d8fb7d108cbda985" + "82f40cb3df4e1b9036e2b902cd7475fa" ], [ "FStar.Endianness.lemma_be_to_n_is_bounded", @@ -239,17 +229,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "075942e62ae61bd80df6f9a106831eab" + "653b428c676387f26cded1d29e906a4c" ], [ "FStar.Endianness.lemma_be_to_n_is_bounded", @@ -257,18 +244,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9753ac14a06ee02c6d2df870c4fe20b6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f760ab331cacd44f4f7a5e3405d418f5", "typing_FStar.Seq.Base.length" ], 0, - "fefe38dbc89b26deacc058894f59c9a8" + "c7982ede01acbe9c741ac7c5f97dcddd" ], [ "FStar.Endianness.lemma_be_to_n_is_bounded", @@ -282,7 +266,7 @@ "@fuel_irrelevance_FStar.Endianness.be_to_n.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", + "binder_x_5bb990f25a586dce553b13acdc494041_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -299,16 +283,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_76822ae357269826955cbe40314424f1", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d4f2d705559f3c5480d7fdc9acd9698b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "24feccb9da4b0cf3a8f0eef82220b4f0" + "eea35f15d547931b520404fa921f7bf8" ], [ "FStar.Endianness.n_to_le", @@ -318,10 +302,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1ab78facd23fe12ffc17ae5f23a42c1d" + "3c90ae4ad7864207816dd5085077639b" ], [ "FStar.Endianness.n_to_le", @@ -329,15 +313,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2be79f6ede35907b9e75216d742e315e" + "2e743e374fc064520bd18b94f6b70e28" ], [ "FStar.Endianness.n_to_le", @@ -351,8 +332,8 @@ "@fuel_irrelevance_FStar.Endianness.le_to_n.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_34f07ae8dd57a3ede5da89182e263a38_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "binder_x_964602178c8a747a35cff8ca8be5c808_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", @@ -378,24 +359,24 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_10bbc855cf8171dde3c510816cb43f86", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_417a07a7d92fc2136966223c0165f10c", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_0fc7d839716e78e493fe9e89fd92d18f", + "refinement_interpretation_Tm_refine_352f0a417ce9454330bba27ecdb0c02d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8c86f4c338c36d9da076b262886f00d7", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d1c2ad02b0abcba94fda527d99487ecc", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "well-founded-ordering-on-nat" ], 0, - "b1cb059965413d12dbf02ef6e275bea8" + "14df114bd9ee89fd1a9f50c6270cdc72" ], [ "FStar.Endianness.n_to_be", @@ -405,10 +386,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "458e0eeddfb63c27169f99850ff5277a" + "a77e518de8bfd06f561d9b01f616b67e" ], [ "FStar.Endianness.n_to_be", @@ -416,15 +397,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "edcb81d384dd9c88530f81437a92c06f" + "8b66ccc8d839f4f6c527735b4375a5c5" ], [ "FStar.Endianness.n_to_be", @@ -438,8 +416,8 @@ "@fuel_irrelevance_FStar.Endianness.be_to_n.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_34f07ae8dd57a3ede5da89182e263a38_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "binder_x_964602178c8a747a35cff8ca8be5c808_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.last", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", @@ -463,24 +441,24 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_10bbc855cf8171dde3c510816cb43f86", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3ea54bd4baf747aa519b7390ad203414", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6589d67661ad9d79866d222bfc44730d", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8c86f4c338c36d9da076b262886f00d7", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_cc074c7668a9224eaa264c81dcf23c2b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_eae57aeda3d5dfa91bc136581ed3b84b", "token_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "well-founded-ordering-on-nat" ], 0, - "1cfe3cc283f6f557c72fffc424fd82ed" + "f1b46f0cdf9867d76bacc7932a0fd4f2" ], [ "FStar.Endianness.n_to_le_inj", @@ -491,10 +469,12 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_50098dee4e3b216c7d05434b08e60485", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Endianness.n_to_le" ], 0, - "386844f3026995d72a26a0647a4a5a0e" + "95ce93b074ed1cb4db45b02d78cacb38" ], [ "FStar.Endianness.n_to_le_inj", @@ -502,19 +482,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5a9b07a98aac9ef86cf806048f3fefbd", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ca492d007d65ae541a4b3a1c6eb986de", - "typing_FStar.Endianness.n_to_le" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9dea4d2b27e5574b41aa0a95f3b07d4e" + "976483bd2d83f04ce7e03543dbae8428" ], [ "FStar.Endianness.n_to_le_inj", @@ -523,17 +497,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ca492d007d65ae541a4b3a1c6eb986de", + "refinement_interpretation_Tm_refine_50098dee4e3b216c7d05434b08e60485", "typing_FStar.Endianness.n_to_le" ], 0, - "c79c88870c197d63ecc70c75e0c9ca2d" + "0e586913809d9bc3cd7e93fbd1e4542e" ], [ "FStar.Endianness.n_to_be_inj", @@ -544,10 +512,12 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_22e78b94ee8412749fb826b48deecd52", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Endianness.n_to_be" ], 0, - "3eb852070335fee5a2606cbd3f17d60c" + "29d6303ab1885a6f46aad69bf5fbf342" ], [ "FStar.Endianness.n_to_be_inj", @@ -555,19 +525,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5a9b07a98aac9ef86cf806048f3fefbd", - "refinement_interpretation_Tm_refine_69210e8fa995d4cf498438a6fb045c23", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Endianness.n_to_be" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "26d9fec9759a07faf413444da83a808e" + "e6bbdd26654f8df98f9df5213c94b54d" ], [ "FStar.Endianness.n_to_be_inj", @@ -576,17 +540,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_69210e8fa995d4cf498438a6fb045c23", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_22e78b94ee8412749fb826b48deecd52", "typing_FStar.Endianness.n_to_be" ], 0, - "0fe9552eb558f1c8dc9505d804389556" + "370347f50031fa1739ebf2a9355f952a" ], [ "FStar.Endianness.be_to_n_inj", @@ -600,8 +558,8 @@ "@fuel_irrelevance_FStar.Endianness.be_to_n.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b5ecdf6b68431b1ae5a51ce9723a824d_0", - "binder_x_b5ecdf6b68431b1ae5a51ce9723a824d_1", "bool_inversion", + "binder_x_1fc216e94d386fef093b3463724fa369_0", + "binder_x_1fc216e94d386fef093b3463724fa369_1", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", @@ -626,15 +584,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_08e658e5d71395010943ec89dbafb243", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_2ec13633c16b5da9060fdee0daff37a4", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_a208ac5f5c61a63ca8dd07f4b710b6de", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f82e850bdf0d556582f01aceb35d4f7", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_938ccbace5d82295b7e5232654da3de7", + "refinement_interpretation_Tm_refine_bb68556d2b8fec7442c12a6f93eb205a", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.last", @@ -642,7 +601,7 @@ "typing_FStar.UInt8.v", "well-founded-ordering-on-nat" ], 0, - "66e1b81efbbd8b4c8e4a8bc4875bf785" + "f52d2f8079b444cbe19332cc02c14360" ], [ "FStar.Endianness.le_to_n_inj", @@ -656,8 +615,8 @@ "@fuel_irrelevance_FStar.Endianness.le_to_n.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b5ecdf6b68431b1ae5a51ce9723a824d_0", - "binder_x_b5ecdf6b68431b1ae5a51ce9723a824d_1", + "binder_x_1fc216e94d386fef093b3463724fa369_0", + "binder_x_1fc216e94d386fef093b3463724fa369_1", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", @@ -685,13 +644,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", + "refinement_interpretation_Tm_refine_2b2dc800c6b54dc009da411b57fa420e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", @@ -699,7 +659,7 @@ "well-founded-ordering-on-nat" ], 0, - "b361b37ecd67ab26c97fe57727079a77" + "afab737c6cb03cddda54d3515e562f58" ], [ "FStar.Endianness.n_to_be_be_to_n", @@ -707,15 +667,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fe5ef197777096ae9d647ff4424865b2" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bb29105b02100c33ab8b0f61ddc1a1fb" + "d0213b96335d5bb6b7b95b8ad2e78092" ], [ "FStar.Endianness.n_to_be_be_to_n", @@ -726,10 +683,10 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_fe5ef197777096ae9d647ff4424865b2" + "refinement_interpretation_Tm_refine_73d975b58eb30d3d7ee8f111d344b268" ], 0, - "147c51c35721379000ed5a06aedbaac2" + "8c8562d2aba2a0ea3efb5aee8ef386f4" ], [ "FStar.Endianness.n_to_le_le_to_n", @@ -737,15 +694,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1728bd06515e27fc86f6d14612f94617", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "189df07dbf3348b8bb9f09aa1aa34d80" + "1a371b2edfe844c17828edb18417f45e" ], [ "FStar.Endianness.n_to_le_le_to_n", @@ -756,10 +710,10 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_1728bd06515e27fc86f6d14612f94617" + "refinement_interpretation_Tm_refine_2440b3fe8145dde12bf731e381b7a206" ], 0, - "3af76c05ce939d08ee4353a9bfc21b0b" + "660920cc86aa2308f5b8504986ced555" ], [ "FStar.Endianness.uint32_of_le", @@ -769,17 +723,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Endianness.bytes", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea" + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621" ], 0, - "e37365b02eb16b92bfb72067cbb8c826" + "4523ff5ccb4216caa15cc63f7fa104de" ], [ "FStar.Endianness.le_of_uint32", @@ -796,7 +750,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "38e1e38d81ea750b9ed120a56b393e20" + "358578cadb2ae7f904335bc20bef2af0" ], [ "FStar.Endianness.uint32_of_be", @@ -806,17 +760,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Endianness.bytes", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea" + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621" ], 0, - "78f36c34383212a51e9f833d62ffc848" + "035b76717a0bf156fc6255a6e72c73f8" ], [ "FStar.Endianness.be_of_uint32", @@ -833,7 +787,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "af6d838b0e51dc804d8b5faf7bef4783" + "6117da5438bbdf17069dae157023f42e" ], [ "FStar.Endianness.uint64_of_le", @@ -843,17 +797,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Endianness.bytes", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e39ae6a1ee4b5850e80667b5a19685" + "refinement_interpretation_Tm_refine_18c5062bcaa8b90d3133214f5d54640b" ], 0, - "4cbf704d3377098ff425839534cf4fd9" + "c5d38843d0c0d5600c8f1415f141d034" ], [ "FStar.Endianness.le_of_uint64", @@ -870,7 +824,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "346586ef5bb9cda4e6940f533d933b7e" + "e06bdee948aa7da77a289c466750141f" ], [ "FStar.Endianness.uint64_of_be", @@ -880,17 +834,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Endianness.bytes", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e39ae6a1ee4b5850e80667b5a19685" + "refinement_interpretation_Tm_refine_18c5062bcaa8b90d3133214f5d54640b" ], 0, - "de088e71f0b201ad4097c686c950a42c" + "cd56821b14c2da3554d3deaa78257021" ], [ "FStar.Endianness.be_of_uint64", @@ -907,7 +861,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3ed3c7b80c96b0d0c4b92ec3a8fa76ca" + "79686b2e0faa00a979ea2d72cf449144" ], [ "FStar.Endianness.seq_uint32_of_le", @@ -917,11 +871,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "421c2d560b300c64abeaf8f34d9b6082" + "f70f749a0bf2730b77e1f4e0336035f5" ], [ "FStar.Endianness.seq_uint32_of_le", @@ -929,39 +883,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0bfa0a37c3e33c245b906d80af429bce_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.cons", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_28408a759249939a94e90053d946fde0", - "refinement_interpretation_Tm_refine_391f093340e144730ea27df8d83ec0ba", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "well-founded-ordering-on-nat" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "939316bf5adce3b1892faa33f53247e0" + "30cac9a9f507215da3ae2fa51cdf0d35" ], [ "FStar.Endianness.seq_uint32_of_le", @@ -972,8 +900,8 @@ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0bfa0a37c3e33c245b906d80af429bce_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_181013bc3567d486fc50105983528401_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", @@ -981,7 +909,7 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -992,16 +920,16 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_28408a759249939a94e90053d946fde0", - "refinement_interpretation_Tm_refine_391f093340e144730ea27df8d83ec0ba", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6bdffc8cf5d45f3306f9ac37abe25c4a", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b10ecede43720e600779275f529dc253", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "f4f39ce445c895c7392d45b041830321" + "950d74a1c25ce6f70025cc0efaa8d44a" ], [ "FStar.Endianness.le_of_seq_uint32", @@ -1012,7 +940,7 @@ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_0", + "binder_x_415df4549ecd45a2facb583dec9205aa_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -1027,16 +955,16 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_89762393265e3a8b122ef97d2c45d6f4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8660d898056b18dee8cdc27a678d8f41", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "well-founded-ordering-on-nat" ], 0, - "601c4602f4bae21d0278035a032a6185" + "d586e606e9808926d54a6e886b835e82" ], [ "FStar.Endianness.seq_uint32_of_be", @@ -1046,11 +974,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5f76975151f4b9232e754e98891a9b14" + "9a27263ba74083c55d1cffdf6b0dc769" ], [ "FStar.Endianness.seq_uint32_of_be", @@ -1058,39 +986,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0bfa0a37c3e33c245b906d80af429bce_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.cons", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_28408a759249939a94e90053d946fde0", - "refinement_interpretation_Tm_refine_391f093340e144730ea27df8d83ec0ba", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "well-founded-ordering-on-nat" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4acc754e5dca0c76d403e0f09d9937dc" + "74cc7226c24d1b223fc1f67f90dd55bd" ], [ "FStar.Endianness.seq_uint32_of_be", @@ -1101,8 +1003,8 @@ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0bfa0a37c3e33c245b906d80af429bce_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_181013bc3567d486fc50105983528401_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", @@ -1110,7 +1012,7 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -1121,16 +1023,16 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_28408a759249939a94e90053d946fde0", - "refinement_interpretation_Tm_refine_391f093340e144730ea27df8d83ec0ba", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6bdffc8cf5d45f3306f9ac37abe25c4a", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b10ecede43720e600779275f529dc253", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "d5c4af3b5e0f9955691212469cbd1ad0" + "41198046a7904e1db29574ad6e8eaf0d" ], [ "FStar.Endianness.be_of_seq_uint32", @@ -1141,7 +1043,7 @@ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_0", + "binder_x_415df4549ecd45a2facb583dec9205aa_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -1156,16 +1058,16 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_89762393265e3a8b122ef97d2c45d6f4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8660d898056b18dee8cdc27a678d8f41", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "well-founded-ordering-on-nat" ], 0, - "5b4e69a7f96ac499eea80baa5baee7b1" + "632a5388da83266a22a15fcaccac9ddc" ], [ "FStar.Endianness.seq_uint64_of_le", @@ -1175,11 +1077,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2a518f10a9ecf2bc66d84c57c84ee44e" + "f2aae91c699785ea8fcf0c3e9141411b" ], [ "FStar.Endianness.seq_uint64_of_le", @@ -1187,39 +1089,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_7561e432bf641a23861953b835b677ea_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.cons", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_FStar.UInt64.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_391f093340e144730ea27df8d83ec0ba", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e8b0cf6eb160b4976f49acea521f56e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "well-founded-ordering-on-nat" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "241fa41a19f9628050a55722d5cc9329" + "5f722062eb5a636925d9aaa0fedca481" ], [ "FStar.Endianness.seq_uint64_of_le", @@ -1230,8 +1106,8 @@ "@MaxIFuel_assumption", "@query", "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_7561e432bf641a23861953b835b677ea_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_c9e2c4b3628b6a32d2e9a3bc2b533b37_1", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", @@ -1239,7 +1115,7 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -1250,16 +1126,16 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_391f093340e144730ea27df8d83ec0ba", + "refinement_interpretation_Tm_refine_082bb0270ec1cbb1e4c321571872a3bf", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e8b0cf6eb160b4976f49acea521f56e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c396eedf05fe62de393b3a2e5b922b01", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "c4bf595ff5fdc33cd317160a3e401786" + "dad433ca26e7a5eb69d307308c1e0a38" ], [ "FStar.Endianness.le_of_seq_uint64", @@ -1270,7 +1146,7 @@ "@MaxIFuel_assumption", "@query", "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_9338733c1f4ffc3f42b2e0a7da9d3aa1_0", + "binder_x_d71818631cff2e64140a0e8bb3826e70_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -1285,16 +1161,16 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_46c2e33dd022276afd1ba57cc7164039", - "refinement_interpretation_Tm_refine_85e39ae6a1ee4b5850e80667b5a19685", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_18c5062bcaa8b90d3133214f5d54640b", + "refinement_interpretation_Tm_refine_296acc259583302975fdfce0ddc83dbd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt64.v", "well-founded-ordering-on-nat" ], 0, - "2b0bd1433d6d5167d51ba2c6cad4e3a5" + "64951197462fd137db753610c4996894" ], [ "FStar.Endianness.seq_uint64_of_be", @@ -1304,11 +1180,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5c9f21035fee44e755aea0f8239865bd" + "e12394492cb89ed1fc196ccc7cabbfba" ], [ "FStar.Endianness.seq_uint64_of_be", @@ -1316,39 +1192,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_7561e432bf641a23861953b835b677ea_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.cons", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_FStar.UInt64.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_391f093340e144730ea27df8d83ec0ba", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e8b0cf6eb160b4976f49acea521f56e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "well-founded-ordering-on-nat" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b0626aa7bc5f59e2af747d5f5bd24564" + "235d84b2addf2117b41adb3cb16b965f" ], [ "FStar.Endianness.seq_uint64_of_be", @@ -1359,8 +1209,8 @@ "@MaxIFuel_assumption", "@query", "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_7561e432bf641a23861953b835b677ea_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_c9e2c4b3628b6a32d2e9a3bc2b533b37_1", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", @@ -1368,7 +1218,7 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -1379,16 +1229,16 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_391f093340e144730ea27df8d83ec0ba", + "refinement_interpretation_Tm_refine_082bb0270ec1cbb1e4c321571872a3bf", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e8b0cf6eb160b4976f49acea521f56e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c396eedf05fe62de393b3a2e5b922b01", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "f7fcd8533657619f09f95537e6cb4bb7" + "066c772cf5fa05d838f3490d51f7cf24" ], [ "FStar.Endianness.be_of_seq_uint64", @@ -1399,7 +1249,7 @@ "@MaxIFuel_assumption", "@query", "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_9338733c1f4ffc3f42b2e0a7da9d3aa1_0", + "binder_x_d71818631cff2e64140a0e8bb3826e70_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -1414,16 +1264,16 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_46c2e33dd022276afd1ba57cc7164039", - "refinement_interpretation_Tm_refine_85e39ae6a1ee4b5850e80667b5a19685", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_18c5062bcaa8b90d3133214f5d54640b", + "refinement_interpretation_Tm_refine_296acc259583302975fdfce0ddc83dbd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt64.v", "well-founded-ordering-on-nat" ], 0, - "78fb85abe934b3a058e67b400a924933" + "18863190e9b805be7f0117a82490fb0a" ], [ "FStar.Endianness.offset_uint32_be", @@ -1431,12 +1281,10 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -1444,15 +1292,14 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5243df95c4f2c99243cc389fb4faf147", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a3461d04e06e50135e3376810294bcf8", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_26a8bae49f132fec29cf28ef12f990a5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689" ], 0, - "e9e636792685600560437b7e067c05e0" + "ab212c827d00c86277d1e2d4afcfcb10" ], [ "FStar.Endianness.offset_uint32_be", @@ -1460,12 +1307,10 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -1473,15 +1318,15 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_191b836595fc8786e613e5421abee9de", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a3461d04e06e50135e3376810294bcf8", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_26a8bae49f132fec29cf28ef12f990a5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689", + "refinement_interpretation_Tm_refine_ec706312eb0fa9bafc6a01423adf6a11" ], 0, - "d3facb8bfb7ee68d5d2e920551110ac6" + "a33b2ab8113347bdc1692d5f5a48959b" ], [ "FStar.Endianness.offset_uint32_be", @@ -1490,20 +1335,17 @@ 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_5bb990f25a586dce553b13acdc494041_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Endianness.uint32_of_be", "equation_FStar.Seq.Properties.cons", - "equation_FStar.Seq.Properties.last", "equation_FStar.Seq.Properties.split", "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_to_n.fuel_instrumented", "equation_with_fuel_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", "function_token_typing_FStar.UInt32.t", "function_token_typing_FStar.UInt8.t", @@ -1513,7 +1355,6 @@ "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", @@ -1524,26 +1365,25 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_257f7d3c5a22c2a18bbcedaab72302a7", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689", + "refinement_interpretation_Tm_refine_f2229cbff68fd2a6cf644ff9f66d6f88", "token_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", "typing_FStar.Endianness.seq_uint32_of_be", "typing_FStar.Endianness.uint32_of_be", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" + "typing_FStar.Seq.Base.length", "unit_inversion", "unit_typing", + "well-founded-ordering-on-nat" ], 0, - "f48934ca35a96a526b92ca3ee62bb7e8" + "3d60398cc566ec360929bfd5421dc7ac" ], [ "FStar.Endianness.offset_uint32_le", @@ -1551,12 +1391,10 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -1564,15 +1402,14 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a3461d04e06e50135e3376810294bcf8", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f75d987ae266e637cfa2b72a4a16e933" + "refinement_interpretation_Tm_refine_26a8bae49f132fec29cf28ef12f990a5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689" ], 0, - "9a8710781dab2f6b11dca8e8f97ef5a2" + "fb7039b88efe7fa0f09c955a38ea4a08" ], [ "FStar.Endianness.offset_uint32_le", @@ -1580,12 +1417,10 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -1593,15 +1428,15 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_001893309ef9b7337ec526e7aa7ef968", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a3461d04e06e50135e3376810294bcf8", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_181aeebee75e7fd77f921b112c53c2b8", + "refinement_interpretation_Tm_refine_26a8bae49f132fec29cf28ef12f990a5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689" ], 0, - "e8fd5504cc318f5f5b5453c297090c16" + "559dcf8c1fead957fb31a13625a29b67" ], [ "FStar.Endianness.offset_uint32_le", @@ -1614,9 +1449,9 @@ "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_le.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_5bb990f25a586dce553b13acdc494041_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Endianness.uint32_of_le", "equation_FStar.Seq.Properties.cons", @@ -1640,25 +1475,25 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_257f7d3c5a22c2a18bbcedaab72302a7", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689", + "refinement_interpretation_Tm_refine_f2229cbff68fd2a6cf644ff9f66d6f88", "token_correspondence_FStar.Endianness.seq_uint32_of_le.fuel_instrumented", "typing_FStar.Endianness.seq_uint32_of_le", "typing_FStar.Endianness.uint32_of_le", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" + "typing_FStar.Seq.Base.length", "unit_inversion", "unit_typing", + "well-founded-ordering-on-nat" ], 0, - "2f7fe9f8dae2ee56f66065530cec4aa6" + "dc10926e6825fcb853d7779546ec7e3d" ], [ "FStar.Endianness.offset_uint64_be", @@ -1666,12 +1501,10 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -1679,15 +1512,14 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5a0779f0fc566fc53401989ceb67dc9a", - "refinement_interpretation_Tm_refine_850de9d89e16133737f378dae7bd2b93", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_1a9f5c261e29d0edfa3247eaa972ceea", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_887ab96a497d3d0ffe87f515fb3ff603" ], 0, - "b6ea016a758e1a4010fc0dd3982f0850" + "44e048cd56c2c8386e18a1807ba9f439" ], [ "FStar.Endianness.offset_uint64_be", @@ -1695,12 +1527,10 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -1708,15 +1538,15 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2a4d4650d360f4f5e28c7560bee61e8f", - "refinement_interpretation_Tm_refine_850de9d89e16133737f378dae7bd2b93", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_1a9f5c261e29d0edfa3247eaa972ceea", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_741f5ea01a7da03d348e29a7de4a347b", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_887ab96a497d3d0ffe87f515fb3ff603" ], 0, - "2103d09efcc469081daf3bb2aa46cd9c" + "6e2d436ca267806d634ee079add40fda" ], [ "FStar.Endianness.offset_uint64_be", @@ -1730,14 +1560,15 @@ "@fuel_irrelevance_FStar.Endianness.seq_uint64_of_be.fuel_instrumented", "@query", "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_5bb990f25a586dce553b13acdc494041_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Endianness.uint64_of_be", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.last", - "equation_FStar.Seq.Properties.split", "equation_Prims.nat", + "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.min_int", + "equation_Prims.nat", "equation_with_fuel_FStar.Endianness.be_to_n.fuel_instrumented", "equation_with_fuel_FStar.Endianness.seq_uint64_of_be.fuel_instrumented", "function_token_typing_FStar.UInt64.t", @@ -1759,26 +1590,27 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_85e39ae6a1ee4b5850e80667b5a19685", - "refinement_interpretation_Tm_refine_99f3d174179c75ffc5f36c66675b536c", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_18c5062bcaa8b90d3133214f5d54640b", + "refinement_interpretation_Tm_refine_1a9f5c261e29d0edfa3247eaa972ceea", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_ba2d49384abdadabb95ae3b6ffbb11e1", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Endianness.seq_uint64_of_be.fuel_instrumented", "typing_FStar.Endianness.seq_uint64_of_be", "typing_FStar.Endianness.uint64_of_be", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" + "typing_FStar.UInt.min_int", "unit_inversion", "unit_typing", + "well-founded-ordering-on-nat" ], 0, - "2fbf1426b7d43a10efc2b5f9fa18adc7" + "d5b452554b4f32d94859dfd39a4b0c9c" ], [ "FStar.Endianness.offset_uint64_le", @@ -1786,12 +1618,10 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -1799,15 +1629,14 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_850de9d89e16133737f378dae7bd2b93", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a321dda06de5e1e42517eff24b1e984e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_1a9f5c261e29d0edfa3247eaa972ceea", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_887ab96a497d3d0ffe87f515fb3ff603" ], 0, - "26617afe5157ef37d6a14753195d20a9" + "5e5a1624a99f1cd7930db47cdcae3d17" ], [ "FStar.Endianness.offset_uint64_le", @@ -1815,12 +1644,10 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -1828,15 +1655,15 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2512351c85a8c0bed8163821c4808b9a", - "refinement_interpretation_Tm_refine_850de9d89e16133737f378dae7bd2b93", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_1351a2587c58276b86ce90c5c31cd3bc", + "refinement_interpretation_Tm_refine_1a9f5c261e29d0edfa3247eaa972ceea", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_887ab96a497d3d0ffe87f515fb3ff603" ], 0, - "a894a2f80790bc733f38d7dc72416b4b" + "6b5be1498f1d6c680c18882cff992184" ], [ "FStar.Endianness.offset_uint64_le", @@ -1849,13 +1676,14 @@ "@fuel_irrelevance_FStar.Endianness.seq_uint64_of_le.fuel_instrumented", "@query", "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_5bb990f25a586dce553b13acdc494041_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Endianness.uint64_of_le", "equation_FStar.Seq.Properties.cons", - "equation_FStar.Seq.Properties.split", "equation_Prims.nat", + "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.min_int", + "equation_Prims.nat", "equation_with_fuel_FStar.Endianness.seq_uint64_of_le.fuel_instrumented", "function_token_typing_FStar.UInt64.t", "function_token_typing_FStar.UInt8.t", @@ -1875,25 +1703,25 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_85e39ae6a1ee4b5850e80667b5a19685", - "refinement_interpretation_Tm_refine_99f3d174179c75ffc5f36c66675b536c", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_18c5062bcaa8b90d3133214f5d54640b", + "refinement_interpretation_Tm_refine_1a9f5c261e29d0edfa3247eaa972ceea", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_ba2d49384abdadabb95ae3b6ffbb11e1", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Endianness.seq_uint64_of_le.fuel_instrumented", "typing_FStar.Endianness.seq_uint64_of_le", "typing_FStar.Endianness.uint64_of_le", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.min_int", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "3ef5bdf76d75fc1ab9356d8e736a223c" + "84b088e3913d5c6086860d826ce35a90" ], [ "FStar.Endianness.tail_cons", @@ -1902,10 +1730,8 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -1917,19 +1743,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", "typing_FStar.Seq.Properties.tail" ], 0, - "f7a7502322c2ce402a27f2d4fc91ce8d" + "9801f1aee8582f77bada654b5aa3638e" ], [ "FStar.Endianness.be_of_seq_uint32_base", @@ -1975,7 +1801,7 @@ "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt32.v" ], 0, - "26aeb92e6cfa62dbe2d3d33cb692c228" + "8e6ade26cdf675aa8cce6467f0300ff5" ], [ "FStar.Endianness.be_of_seq_uint32_base", @@ -2008,12 +1834,12 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c92239b565c50bc9eb07b560fd815e42", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e42511136994f0af5e432a35e226fc72", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", "typing_FStar.Endianness.be_of_seq_uint32", "typing_FStar.Endianness.be_of_uint32", @@ -2021,7 +1847,7 @@ "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt32.v" ], 0, - "956cc3b638f6f3e5b32a0ac03969749b" + "f0525e3e848eec5ca9cdb6d206e18748" ], [ "FStar.Endianness.le_of_seq_uint32_base", @@ -2067,7 +1893,7 @@ "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt32.v" ], 0, - "16ec5f4f6421a4b3a27b6719c2887caf" + "b6fc79aceee38c21474b65857daa5619" ], [ "FStar.Endianness.le_of_seq_uint32_base", @@ -2100,12 +1926,12 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c92239b565c50bc9eb07b560fd815e42", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e42511136994f0af5e432a35e226fc72", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Endianness.le_of_seq_uint32.fuel_instrumented", "typing_FStar.Endianness.le_of_seq_uint32", "typing_FStar.Endianness.le_of_uint32", @@ -2113,7 +1939,7 @@ "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt32.v" ], 0, - "0c3f166b4795d3bbcf9b185909fa0284" + "7d91f8ce44de05acd6af25af2999d083" ], [ "FStar.Endianness.be_of_seq_uint64_base", @@ -2159,7 +1985,7 @@ "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt64.v" ], 0, - "8cf1ddd17e500bd9889a585047a6a163" + "e9aac1fa1935bc6a46603720b1b89ea8" ], [ "FStar.Endianness.be_of_seq_uint64_base", @@ -2193,11 +2019,11 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_85e39ae6a1ee4b5850e80667b5a19685", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e1ef919b7ab89ac4bd9d5da1e707c85c", + "refinement_interpretation_Tm_refine_18c5062bcaa8b90d3133214f5d54640b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b4a593a565d12e76c92f4f55a078ed84", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Endianness.be_of_seq_uint64.fuel_instrumented", "typing_FStar.Endianness.be_of_seq_uint64", "typing_FStar.Endianness.be_of_uint64", @@ -2205,7 +2031,7 @@ "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt64.v" ], 0, - "1cb77161c1bbac353e2da8a6699d8dbd" + "b95a6f4b63117a027354acf01c289ae6" ], [ "FStar.Endianness.be_of_seq_uint32_append", @@ -2215,18 +2041,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", + "@fuel_correspondence_FStar.Endianness.n_to_be.fuel_instrumented", "@fuel_irrelevance_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_0", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_1", + "binder_x_415df4549ecd45a2facb583dec9205aa_0", + "binder_x_415df4549ecd45a2facb583dec9205aa_1", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.be_of_uint32", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.min_int", - "equation_Prims.nat", + "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", "equation_with_fuel_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", "function_token_typing_FStar.UInt32.t", "function_token_typing_FStar.UInt8.t", @@ -2247,30 +2073,28 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_ae13a2bc682aac10598391b1d8a81804", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c92239b565c50bc9eb07b560fd815e42", - "refinement_interpretation_Tm_refine_d06b1da4ec9e9701d60f567a73763f29", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e42511136994f0af5e432a35e226fc72", "token_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", "typing_FStar.Endianness.be_of_seq_uint32", "typing_FStar.Endianness.be_of_uint32", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", - "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt.min_int", - "well-founded-ordering-on-nat" + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", + "typing_FStar.Seq.Properties.tail", "well-founded-ordering-on-nat" ], 0, - "8c8da3fc17a2f8fe9c2795ce4763a97f" + "1480ef3e1b9ef908af32e2e8d02de9a1" ], [ "FStar.Endianness.le_of_seq_uint32_append", @@ -2283,8 +2107,8 @@ "@fuel_irrelevance_FStar.Endianness.le_of_seq_uint32.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_0", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_1", + "binder_x_415df4549ecd45a2facb583dec9205aa_0", + "binder_x_415df4549ecd45a2facb583dec9205aa_1", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Endianness.le_of_uint32", "equation_FStar.Seq.Properties.cons", @@ -2311,29 +2135,28 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_ae13a2bc682aac10598391b1d8a81804", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c92239b565c50bc9eb07b560fd815e42", - "refinement_interpretation_Tm_refine_d06b1da4ec9e9701d60f567a73763f29", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e42511136994f0af5e432a35e226fc72", "token_correspondence_FStar.Endianness.le_of_seq_uint32.fuel_instrumented", "typing_FStar.Endianness.le_of_seq_uint32", "typing_FStar.Endianness.le_of_uint32", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", - "typing_FStar.Seq.Properties.head", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", "typing_FStar.Seq.Properties.tail", "well-founded-ordering-on-nat" ], 0, - "b4cce8cceeaf1a9eb75f4c540f367d51" + "bcc16a2e543a1d1a26525cf1c62d5464" ], [ "FStar.Endianness.be_of_seq_uint64_append", @@ -2346,8 +2169,8 @@ "@fuel_irrelevance_FStar.Endianness.be_of_seq_uint64.fuel_instrumented", "@query", "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9338733c1f4ffc3f42b2e0a7da9d3aa1_0", - "binder_x_9338733c1f4ffc3f42b2e0a7da9d3aa1_1", + "binder_x_d71818631cff2e64140a0e8bb3826e70_0", + "binder_x_d71818631cff2e64140a0e8bb3826e70_1", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.be_of_uint64", "equation_FStar.Endianness.bytes", @@ -2374,29 +2197,28 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_85e39ae6a1ee4b5850e80667b5a19685", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_18c5062bcaa8b90d3133214f5d54640b", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_60b1b14a07f7b515707a0f6fed528a7d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b4a593a565d12e76c92f4f55a078ed84", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c949b34df5f07983600bbe9648ac0f42", - "refinement_interpretation_Tm_refine_e1ef919b7ab89ac4bd9d5da1e707c85c", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Endianness.be_of_seq_uint64.fuel_instrumented", "typing_FStar.Endianness.be_of_seq_uint64", "typing_FStar.Endianness.be_of_uint64", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", - "typing_FStar.Seq.Properties.head", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", "typing_FStar.Seq.Properties.tail", "well-founded-ordering-on-nat" ], 0, - "99c0553e4d12b8dd66c479a7401bc6fa" + "1e081c1176b9ad04d0da36b10f24203a" ], [ "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", @@ -2406,10 +2228,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "862559780593249028be125545730f84" + "783295244fbfe294e3bde80ed9dc69b0" ], [ "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", @@ -2417,73 +2239,12 @@ 1, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "eq2-interp", - "equality_tok_Prims.LexTop@tok", - "equation_FStar.Endianness.be_of_uint32", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint32_of_be", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.cons", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "equation_with_fuel_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.cons_head_tail", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_257f7d3c5a22c2a18bbcedaab72302a7", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5a9b07a98aac9ef86cf806048f3fefbd", - "refinement_interpretation_Tm_refine_69210e8fa995d4cf498438a6fb045c23", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c92239b565c50bc9eb07b560fd815e42", - "typing_FStar.Endianness.be_of_seq_uint32", - "typing_FStar.Endianness.be_of_uint32", - "typing_FStar.Endianness.n_to_be", - "typing_FStar.Endianness.seq_uint32_of_be", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", - "unit_typing", "well-founded-ordering-on-nat" + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", + "equation_Prims.nat", "equation_Prims.squash", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9062e89710795e84487e4e8ff3dbaf9c" + "b32fbe9d26a22019f00b116c8147a933" ], [ "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", @@ -2498,8 +2259,8 @@ "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_415df4549ecd45a2facb583dec9205aa_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.be_of_uint32", "equation_FStar.Endianness.bytes", @@ -2534,18 +2295,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_257f7d3c5a22c2a18bbcedaab72302a7", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5a9b07a98aac9ef86cf806048f3fefbd", - "refinement_interpretation_Tm_refine_69210e8fa995d4cf498438a6fb045c23", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_22e78b94ee8412749fb826b48deecd52", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c92239b565c50bc9eb07b560fd815e42", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689", + "refinement_interpretation_Tm_refine_e42511136994f0af5e432a35e226fc72", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f1f3a6a6d3da045b35e7ba130c8b362a", + "refinement_interpretation_Tm_refine_f2229cbff68fd2a6cf644ff9f66d6f88", "typing_FStar.Endianness.be_of_seq_uint32", "typing_FStar.Endianness.be_of_uint32", "typing_FStar.Endianness.n_to_be", @@ -2554,7 +2315,7 @@ "typing_FStar.UInt32.v", "well-founded-ordering-on-nat" ], 0, - "23db1244086c15117847c6ff11b01042" + "a72589f50279fcd3212a842fc1417dfb" ], [ "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", @@ -2564,10 +2325,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0f2267b6ac88ed84adc50349da99636b" + "64b7f658d923ed215e23b7acbbe3e6d8" ], [ "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", @@ -2575,77 +2336,12 @@ 1, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_b5ecdf6b68431b1ae5a51ce9723a824d_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "eq2-interp", - "equality_tok_Prims.LexTop@tok", - "equation_FStar.Endianness.be_of_uint32", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint32_of_be", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.cons", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eq2", "equation_Prims.eqtype", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "equation_with_fuel_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "equation_with_fuel_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "function_token_typing_FStar.Endianness.bytes", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "lemma_FStar.Endianness.offset_uint32_be", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_257f7d3c5a22c2a18bbcedaab72302a7", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bf9770829d124722aecd483aaf0037f2", - "refinement_interpretation_Tm_refine_c92239b565c50bc9eb07b560fd815e42", - "typing_FStar.Endianness.be_of_seq_uint32", - "typing_FStar.Endianness.be_to_n", - "typing_FStar.Endianness.seq_uint32_of_be", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.split", - "unit_typing", "well-founded-ordering-on-nat" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a5f75c094084c4367a3f107de2174c46" + "183e0e33a0d3fd925f15f6687670c0e1" ], [ "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", @@ -2661,8 +2357,8 @@ "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b5ecdf6b68431b1ae5a51ce9723a824d_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_1fc216e94d386fef093b3463724fa369_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.be_of_uint32", "equation_FStar.Endianness.bytes", @@ -2682,7 +2378,7 @@ "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Endianness.offset_uint32_be", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -2701,17 +2397,17 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_257f7d3c5a22c2a18bbcedaab72302a7", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bf9770829d124722aecd483aaf0037f2", - "refinement_interpretation_Tm_refine_c92239b565c50bc9eb07b560fd815e42", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8bd31cf8f897e554afb3a9f07f075ee8", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689", + "refinement_interpretation_Tm_refine_e42511136994f0af5e432a35e226fc72", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f2229cbff68fd2a6cf644ff9f66d6f88", "typing_FStar.Endianness.be_of_seq_uint32", "typing_FStar.Endianness.be_to_n", "typing_FStar.Endianness.seq_uint32_of_be", @@ -2720,7 +2416,7 @@ "well-founded-ordering-on-nat" ], 0, - "877a736c4eb07be0baaf7c2ff3804723" + "030d1b85113dfb3dbd1ae52cfcd0dfae" ], [ "FStar.Endianness.slice_seq_uint32_of_be", @@ -2728,44 +2424,23 @@ 1, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Endianness.bytes", "equation_Prims.l_and", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Endianness.offset_uint32_be", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_257f7d3c5a22c2a18bbcedaab72302a7", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a3461d04e06e50135e3376810294bcf8", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Endianness.seq_uint32_of_be", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", - "unit_typing" + "refinement_interpretation_Tm_refine_26a8bae49f132fec29cf28ef12f990a5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689" ], 0, - "3790f3bda8a3b865e9c34aa3085653b1" + "667cddc235e26f9072f721b7c70bc481" ], [ "FStar.Endianness.slice_seq_uint32_of_be", @@ -2797,19 +2472,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_257f7d3c5a22c2a18bbcedaab72302a7", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689", + "refinement_interpretation_Tm_refine_f2229cbff68fd2a6cf644ff9f66d6f88", "typing_FStar.Endianness.seq_uint32_of_be", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice" ], 0, - "4eb35f8774d6f64bc154d06e3a8b5f62" + "c5364c3c2e1be6bc7c9d732eaa6275d0" ], [ "FStar.Endianness.be_of_seq_uint32_slice", @@ -2817,42 +2492,23 @@ 1, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", - "lemma_FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", + "equation_Prims.squash", "function_token_typing_FStar.UInt32.t", + "int_inversion", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_257f7d3c5a22c2a18bbcedaab72302a7", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c92239b565c50bc9eb07b560fd815e42", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e42511136994f0af5e432a35e226fc72", "typing_FStar.Endianness.be_of_seq_uint32", - "typing_FStar.Endianness.seq_uint32_of_be", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "unit_typing" + "typing_FStar.Seq.Base.length" ], 0, - "30a9328dc3e66f296ab06d7ee1f4b367" + "8004d3cc879543e13ae5011f70ff2ef4" ], [ "FStar.Endianness.be_of_seq_uint32_slice", @@ -2865,43 +2521,29 @@ "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", "@fuel_irrelevance_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.be_of_uint32", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.head", "equation_Prims.nat", + "@query", "equation_FStar.Endianness.bytes", "equation_Prims.nat", "equation_with_fuel_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", "function_token_typing_FStar.UInt32.t", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", "lemma_FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_257f7d3c5a22c2a18bbcedaab72302a7", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c92239b565c50bc9eb07b560fd815e42", - "token_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689", + "refinement_interpretation_Tm_refine_e42511136994f0af5e432a35e226fc72", + "refinement_interpretation_Tm_refine_f2229cbff68fd2a6cf644ff9f66d6f88", "typing_FStar.Endianness.be_of_seq_uint32", - "typing_FStar.Endianness.be_of_uint32", "typing_FStar.Endianness.seq_uint32_of_be", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail" + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "caee4e4fdb45ab205a5fb8e190f4fd07" + "d24b78ed264438246bcacceb72203b7d" ], [ "FStar.Endianness.le_to_n_zeros", @@ -2911,21 +2553,19 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "d8dd6e2fc4f9b99632f1ddbbd9d97978" + "97194dfbdc58670ea85038f5ba3159bc" ], [ "FStar.Endianness.le_to_n_zeros", @@ -2939,7 +2579,7 @@ "@fuel_irrelevance_FStar.Endianness.le_to_n.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", "bool_inversion", + "binder_x_5bb990f25a586dce553b13acdc494041_0", "bool_inversion", "bool_typing", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.head", @@ -2960,20 +2600,20 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Endianness.le_to_n", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt8.v", "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "7e3f44052eae4f69eef240df53495003" + "7002a651b1ec06b924d142e4b7e96c3e" ], [ "FStar.Endianness.be_to_n_zeros", @@ -2983,21 +2623,19 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "211b0689d0558acf8ea430004552cefc" + "6375bba0245f738245aa9327b1a4fd54" ], [ "FStar.Endianness.be_to_n_zeros", @@ -3011,7 +2649,7 @@ "@fuel_irrelevance_FStar.Endianness.be_to_n.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", "bool_inversion", + "binder_x_5bb990f25a586dce553b13acdc494041_0", "bool_inversion", "bool_typing", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.last", "equation_FStar.UInt.fits", @@ -3031,20 +2669,20 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_76822ae357269826955cbe40314424f1", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d4f2d705559f3c5480d7fdc9acd9698b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Endianness.be_to_n", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.last", "typing_FStar.UInt.fits", "typing_FStar.UInt8.v", "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "612c0add2eb78b4fec76a0dc0fedaac8" + "2521f77a200721ce678d3a56dcd875cf" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Endianness.fsti.hints b/ulib/FStar.Endianness.fsti.hints index e3c21a8a6a5..4d0ec650637 100644 --- a/ulib/FStar.Endianness.fsti.hints +++ b/ulib/FStar.Endianness.fsti.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9be4541619073e90eda112e00bf2060d" + "f8e93d4d46cfd0d140471409a9d9c53b" ], [ "FStar.Endianness.reveal_be_to_n", @@ -25,10 +25,10 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a63095c3b64dce4821a03b46003ff338" + "8afc427eefc1d9e346a3992665002047" ], [ "FStar.Endianness.lemma_le_to_n_is_bounded", @@ -36,17 +36,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "192ba250e9283d4015a33c5e5f9c6fb2" + "8afa80140d3ef33e55a5a1cd9067af8f" ], [ "FStar.Endianness.lemma_be_to_n_is_bounded", @@ -54,17 +51,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "06d4e316bef2a92d04efa4307f2fb2a7" + "d142130ed989c68ba978cd07e880774d" ], [ "FStar.Endianness.n_to_le", @@ -74,10 +68,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "92b572a65f9e51128e20a8da8d1b6886" + "a8b1f2bdfa9476147edb34195e47fdcc" ], [ "FStar.Endianness.n_to_be", @@ -87,10 +81,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "20d9cb7be5f0710d3143ad94239ceabc" + "97a52c8b4ec403f87435d4d80e1bf867" ], [ "FStar.Endianness.n_to_le_inj", @@ -98,18 +92,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ca492d007d65ae541a4b3a1c6eb986de", + "refinement_interpretation_Tm_refine_50098dee4e3b216c7d05434b08e60485", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Endianness.n_to_le" ], 0, - "e5edfe5d5f52879677037d727defd823" + "df5030743e7929db3a31297bda2f172d" ], [ "FStar.Endianness.n_to_be_inj", @@ -117,18 +108,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_69210e8fa995d4cf498438a6fb045c23", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_22e78b94ee8412749fb826b48deecd52", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Endianness.n_to_be" ], 0, - "f7f9148658f8bce20402cbd7a2559321" + "d09856fb2b4002200d4c0e24c2fdadce" ], [ "FStar.Endianness.n_to_be_be_to_n", @@ -138,10 +126,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b2bb39b1d342251d3cef682f808082f2" + "9cfe71b8a3737fbd56d0fd3ba8b0c32c" ], [ "FStar.Endianness.n_to_le_le_to_n", @@ -151,10 +139,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f60ee91d3a7e490f969f867b310f685f" + "3c84cfe14c7acd30aaee5ed067793ca2" ], [ "FStar.Endianness.uint32_of_le", @@ -163,17 +151,16 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Endianness.bytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea" + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621" ], 0, - "641d05be57a01c65660c0b4e0daf36a5" + "b48f3ff130caae3cb2994780250b9f16" ], [ "FStar.Endianness.le_of_uint32", @@ -190,7 +177,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "09ab6acc73e79d9f562ce2e683bf3574" + "aa79ddea887455931779989bdb391eb8" ], [ "FStar.Endianness.uint32_of_be", @@ -199,17 +186,16 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Endianness.bytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35748923fe3fdc58b29eade706e1b8ea" + "refinement_interpretation_Tm_refine_0678127e73cdc2ac55aca42234253621" ], 0, - "1814b33f3f97938f11e522b9c88f5af8" + "6041e4a7a3d8b399e867c92dfe1601e1" ], [ "FStar.Endianness.be_of_uint32", @@ -226,7 +212,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9b45fd59264c6d1931ed4415a9f5f379" + "6274a1a3afa2b61d7c6b4b15dfa3f6da" ], [ "FStar.Endianness.uint64_of_le", @@ -235,17 +221,16 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Endianness.bytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e39ae6a1ee4b5850e80667b5a19685" + "refinement_interpretation_Tm_refine_18c5062bcaa8b90d3133214f5d54640b" ], 0, - "86407e219144de2fe91cfe9647c4a4ec" + "2331b149b55b40d71241aff543c44fc5" ], [ "FStar.Endianness.le_of_uint64", @@ -262,7 +247,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "cad9e149b2dd1c90d451659d832a4150" + "80399ffc8d7e404b0375407c9d17d430" ], [ "FStar.Endianness.uint64_of_be", @@ -271,17 +256,16 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Endianness.bytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e39ae6a1ee4b5850e80667b5a19685" + "refinement_interpretation_Tm_refine_18c5062bcaa8b90d3133214f5d54640b" ], 0, - "f3568036b48bd32e07c8f3f06915dc83" + "3f734d0f549c85706749db9e9adb587b" ], [ "FStar.Endianness.be_of_uint64", @@ -298,7 +282,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "000d0bd262c7149f74898403994941cc" + "0a951336b47cabd48228d63480ce5e68" ], [ "FStar.Endianness.seq_uint32_of_le", @@ -308,11 +292,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "22d464b80009ab8cbd52a43d17b0e992" + "3bc20727473d8ea1d8d571050847c57c" ], [ "FStar.Endianness.seq_uint32_of_be", @@ -322,11 +306,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eec7a16b31be68a4a79023964630d207" + "ac8aaba846227aff41f875a6b6e2f089" ], [ "FStar.Endianness.seq_uint64_of_le", @@ -336,11 +320,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a5120f2d06c35696cd790973e8fe88ee" + "4d1af2c69a5dd24dea537218b811b5a6" ], [ "FStar.Endianness.seq_uint64_of_be", @@ -350,11 +334,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b704a05745eba654d93f6f2d828934ff" + "84d75d28a3002196cb5b620b4a7c52a2" ], [ "FStar.Endianness.offset_uint32_be", @@ -362,12 +346,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -375,14 +357,14 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a3461d04e06e50135e3376810294bcf8", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_26a8bae49f132fec29cf28ef12f990a5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689" ], 0, - "613abf717426011ae189383c089562b0" + "bd0ef60c5c173aa6c631ed5322ed5f2c" ], [ "FStar.Endianness.offset_uint32_le", @@ -390,12 +372,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -403,14 +383,14 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a3461d04e06e50135e3376810294bcf8", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_26a8bae49f132fec29cf28ef12f990a5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689" ], 0, - "1244cf6c5807edf0a1a82192690020f4" + "2940ee71fc93fcf09244dbae1e48df91" ], [ "FStar.Endianness.offset_uint64_be", @@ -418,12 +398,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -431,14 +409,14 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_850de9d89e16133737f378dae7bd2b93", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_1a9f5c261e29d0edfa3247eaa972ceea", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_887ab96a497d3d0ffe87f515fb3ff603" ], 0, - "ee41e2089b348122a02bfeddf87bc89e" + "db5d0c34dd48dfe73551bf2789cf3276" ], [ "FStar.Endianness.offset_uint64_le", @@ -446,12 +424,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Endianness.bytes", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -459,14 +435,14 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_850de9d89e16133737f378dae7bd2b93", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_1a9f5c261e29d0edfa3247eaa972ceea", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_887ab96a497d3d0ffe87f515fb3ff603" ], 0, - "e8f0a7a1de821c4886ad8b7e58980f7e" + "ba18a8ce963771bd8989f14bc549500b" ], [ "FStar.Endianness.be_of_seq_uint32_base", @@ -475,7 +451,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "aa80c79a54a8528ba7db403748f3de7f" + "ee4bbdaeccb26c0f7ec122e29c7ea903" ], [ "FStar.Endianness.le_of_seq_uint32_base", @@ -484,7 +460,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "9d3fa5ad4a8a57c63d52a5307fbd195e" + "683f686241572f7f5b05065ebb6c958d" ], [ "FStar.Endianness.be_of_seq_uint64_base", @@ -493,7 +469,7 @@ 1, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "f5945dbf4c9ec7948df2ca8c282779d0" + "232b900369aed9c89e7f49eb19e19906" ], [ "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", @@ -503,10 +479,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "cb03997b485187a4a565cf68b8ece066" + "0853656e1b28f66b28fad05044ef4fdc" ], [ "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", @@ -516,10 +492,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fe40b5405c88b380d15f54b01406dfaf" + "f8c68f1c3ab07252ba97b9f94c0f952d" ], [ "FStar.Endianness.slice_seq_uint32_of_be", @@ -527,27 +503,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_len_slice", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_Prims.l_and", + "equation_Prims.nat", "equation_Prims.squash", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a3461d04e06e50135e3376810294bcf8", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length" + "refinement_interpretation_Tm_refine_26a8bae49f132fec29cf28ef12f990a5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e1a91833c29abc82732f4b0150c10689" ], 0, - "be251c9df9d8a57bf45343ac7eb01388" + "91e8dae0cdc0f8808df2fa17652f6f5a" ], [ "FStar.Endianness.be_of_seq_uint32_slice", @@ -555,24 +527,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Endianness.bytes", - "equation_Prims.l_and", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_Prims.l_and", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c92239b565c50bc9eb07b560fd815e42", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e42511136994f0af5e432a35e226fc72", "typing_FStar.Endianness.be_of_seq_uint32", "typing_FStar.Seq.Base.length" ], 0, - "40d8cc0de3f804e5b0bf0bb14b767f85" + "f24531c5e1ccdfe785e0cc930096989b" ], [ "FStar.Endianness.le_to_n_zeros", @@ -582,21 +551,19 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "3034d95b2ac43df78d36bb0cf37f8e6a" + "71b651cb48792486c1fb7f6ab635795a" ], [ "FStar.Endianness.le_to_n_zeros", @@ -608,7 +575,7 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", "bool_inversion", + "binder_x_5bb990f25a586dce553b13acdc494041_0", "bool_inversion", "bool_typing", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.head", @@ -626,18 +593,18 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Endianness.le_to_n", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.v", "well-founded-ordering-on-nat" ], 0, - "ba51cae77b63e6ca46d87dca0721944e" + "b3b9403d296568b7fff2876a4a6b0968" ], [ "FStar.Endianness.be_to_n_zeros", @@ -647,21 +614,19 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "bf1aa20e77d75df59b21ae3d00cbf1fd" + "99a79c98b7266a8a7aa01c3e3f184d88" ], [ "FStar.Endianness.be_to_n_zeros", @@ -673,7 +638,7 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b0ca3c3dfe09148d103c78ffc286415c_0", "bool_inversion", + "binder_x_5bb990f25a586dce553b13acdc494041_0", "bool_inversion", "bool_typing", "equality_tok_Prims.LexTop@tok", "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Properties.last", "equation_FStar.UInt.fits", @@ -691,19 +656,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_76822ae357269826955cbe40314424f1", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d4f2d705559f3c5480d7fdc9acd9698b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Endianness.be_to_n", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.last", "typing_FStar.UInt8.v", "well-founded-ordering-on-nat" ], 0, - "20f1b4b5e69c954cf4ce232517c4ea3f" + "8981fadf38c647c8418396784b5ba3e1" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Error.fst.hints b/ulib/FStar.Error.fst.hints index 5d6eb5384be..213a318a505 100644 --- a/ulib/FStar.Error.fst.hints +++ b/ulib/FStar.Error.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c832b59ce18e7269ee860a8d4bf6779b" + "2c11ac367b49f3d4a1de10d25f29bb17" ], [ "FStar.Error.__proj__Error__item___0", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_813a5bb4d39ab83f71d70e865ca6a2c8" ], 0, - "0a967904d878db7d6f0997e3e81cef20" + "657515d355511ed602d714aef74abc4c" ], [ "FStar.Error.__proj__Correct__item___0", @@ -35,7 +35,7 @@ "refinement_interpretation_Tm_refine_9570651724fccc40ed9243df14ac4feb" ], 0, - "45f0921f0e7ca010f002295cf686e1ac" + "d36605acaeaa69c0d59d8095448ac747" ], [ "FStar.Error.invertOptResult", @@ -50,7 +50,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "b44a92c700479521681045df94d626b7" + "4d1bc07f070fdbc7c9c2246f8455087c" ], [ "FStar.Error.optResult", @@ -59,7 +59,7 @@ 1, [ "@query" ], 0, - "6c0f9ccfa01d6a771d16e357fbb8ce20" + "7fc8d7516f9fe1c1a7c2357c810ff87f" ], [ "FStar.Error.__proj__Error__item___0", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_813a5bb4d39ab83f71d70e865ca6a2c8" ], 0, - "ceee65a4bffa886fd831e924dab00b3b" + "df7eeb5461a27a7a4a59c872a5eacb0a" ], [ "FStar.Error.__proj__Correct__item___0", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_9570651724fccc40ed9243df14ac4feb" ], 0, - "5ede9c2308fd80ab1c6ee279b8678cb5" + "804946e1b0b07b1a5347dc210634e886" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Fin.fst.hints b/ulib/FStar.Fin.fst.hints index 67eac99b0f1..2c318aacbe5 100644 --- a/ulib/FStar.Fin.fst.hints +++ b/ulib/FStar.Fin.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "898d235697d1286493890c84ff480d2d" + "fe44cfadc43f6ceda4ac3f64a256635d" ], [ "FStar.Fin.seqn", @@ -23,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fe080aa9ca0e391a836a9da830dfddbd" + "cdbf931ca951fd19ac8fb16f83458e93" ], [ "FStar.Fin.find", @@ -41,7 +41,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "82b21f16054db8362a78f544eb1c5bfa" + "f6da054a0f31912eb903ff55051c8139" ], [ "FStar.Fin.find", @@ -50,40 +50,35 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Fin_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_aefba8487e0f5c5174b6fd11114b85f2_4", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_3", + "binder_x_9c2db2f328d356a0f28090c15651908a_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", + "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_233de4119283230ef05c5eeb756da502", - "refinement_interpretation_Tm_refine_2944d45f3763f55a9e53995942fb15cd", - "refinement_interpretation_Tm_refine_3825be33df852df796f92240cf3e31f4", - "refinement_interpretation_Tm_refine_436be70bfa7d12df18ce91b984647360", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d70e5269c41560c606c7ca089a445850", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", - "typing_FStar.Fin.find", "typing_FStar.Seq.Base.length", - "well-founded-ordering-on-nat" + "refinement_interpretation_Tm_refine_1bd4f563dc7a7627a1146ae65907c724", + "refinement_interpretation_Tm_refine_351568ff31259b7525e11fd093b30b8f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", + "refinement_kinding_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "bbd868362e8e2b472a4c7cccd4969d38" + "36ed7df0d1f3924821e6c1668e0fc756" ], [ "FStar.Fin.pigeonhole", @@ -93,11 +88,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Fin.fin", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_38875d319fffb1adc095084210de20ff", + "haseqTm_refine_a828023d3a7e4668dd6296b4c3d57fed", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "aea246f117a6f962ef3f4a251c843e03" + "9c93f95faccc9d291924429e8744a104" ], [ "FStar.Fin.pigeonhole", @@ -107,14 +102,13 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Fin.find.fuel_instrumented", "@query", - "FStar.Fin_interpretation_Tm_arrow_c51372d174616c728ae4ad077e794442", - "FStar.Fin_interpretation_Tm_arrow_d7f99247b0ae2d6b050418177010af96", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.Fin_interpretation_Tm_arrow_4f3b1fd87158e6f4143208d3a44c8f9f", + "FStar.Fin_interpretation_Tm_arrow_a6d05a97ccbeb2d82ed7f9ce7085ac3e", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_8f7114194c5d6abeb66956762904efa1_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_2c2d00b8c365597ed7e1aef47c3e6919_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -126,10 +120,10 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_38875d319fffb1adc095084210de20ff", "int_inversion", + "haseqTm_refine_a828023d3a7e4668dd6296b4c3d57fed", "int_inversion", "int_typing", - "interpretation_Tm_abs_5962b12340c96d087f4efbf48d42870e", - "interpretation_Tm_abs_ab615cad12a88b0f73a0e341ed6f9f2b", + "interpretation_Tm_abs_87f8ebe8af1a5226a058046b5d5fe9a5", + "interpretation_Tm_abs_a30a573adbb943956b0d8a59324bcbfa", "lemma_FStar.Seq.Base.init_index_", "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", @@ -141,20 +135,21 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3825be33df852df796f92240cf3e31f4", - "refinement_interpretation_Tm_refine_38875d319fffb1adc095084210de20ff", + "refinement_interpretation_Tm_refine_0644a9ce919065404eb520e5de30d4c9", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f64b15013ba8d3a0dda29cfc7bb279a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_9a6a0cf5332fa04383e96b468302f957", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ef7c629a7325306015a154cb69476ec1", - "typing_FStar.Fin.fin", "typing_FStar.Fin.find", - "typing_FStar.Seq.Base.index", "well-founded-ordering-on-nat" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a828023d3a7e4668dd6296b4c3d57fed", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_dbafcf6ee852392ba6d4465af96e1a6f", + "refinement_interpretation_Tm_refine_e3ce982643eaeaae23d49c918d876163", + "typing_FStar.Fin.fin", "typing_FStar.Seq.Base.index", + "typing_Tm_abs_87f8ebe8af1a5226a058046b5d5fe9a5", + "typing_Tm_abs_a30a573adbb943956b0d8a59324bcbfa", + "well-founded-ordering-on-nat" ], 0, - "2782c6b7a5f8b67c68b422e4f5e4aca3" + "53ad633a08f946a204ff3a66413e6bd3" ], [ "FStar.Fin.vect", @@ -164,11 +159,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b134858e7dab14215db6c4b81cb79171" + "d5ad3438fed522372864fb12b7cc412d" ], [ "FStar.Fin.seqn", @@ -178,11 +173,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "33383bbfea674f321de84889e560ba2d" + "617b98356c64abaa471164f708d0d9a1" ], [ "FStar.Fin.find", @@ -196,7 +191,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option" ], 0, - "fd843b9ce7d447982e7b1af0b27704b5" + "f635f6d06c4cd37dc683b9e53d38bab5" ], [ "FStar.Fin.find", @@ -205,40 +200,35 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Fin_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_aefba8487e0f5c5174b6fd11114b85f2_4", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_3", + "binder_x_9c2db2f328d356a0f28090c15651908a_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", + "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_233de4119283230ef05c5eeb756da502", - "refinement_interpretation_Tm_refine_2944d45f3763f55a9e53995942fb15cd", - "refinement_interpretation_Tm_refine_3825be33df852df796f92240cf3e31f4", - "refinement_interpretation_Tm_refine_436be70bfa7d12df18ce91b984647360", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d70e5269c41560c606c7ca089a445850", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", - "typing_FStar.Fin.find", "typing_FStar.Seq.Base.length", - "well-founded-ordering-on-nat" + "refinement_interpretation_Tm_refine_1bd4f563dc7a7627a1146ae65907c724", + "refinement_interpretation_Tm_refine_351568ff31259b7525e11fd093b30b8f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", + "refinement_kinding_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "56d263e3177d21b34de89e9e48a460ad" + "b7219faae725e7c8326d016fac799a26" ], [ "FStar.Fin.pigeonhole", @@ -248,11 +238,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Fin.fin", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_38875d319fffb1adc095084210de20ff", + "haseqTm_refine_a828023d3a7e4668dd6296b4c3d57fed", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f9a1bcb3715deaa8907254259a90eac1" + "1d33fa7522d8eb42b6c0d8a85ee4eab6" ], [ "FStar.Fin.pigeonhole", @@ -262,14 +252,13 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Fin.find.fuel_instrumented", "@query", - "FStar.Fin_interpretation_Tm_arrow_c51372d174616c728ae4ad077e794442", - "FStar.Fin_interpretation_Tm_arrow_d7f99247b0ae2d6b050418177010af96", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.Fin_interpretation_Tm_arrow_4f3b1fd87158e6f4143208d3a44c8f9f", + "FStar.Fin_interpretation_Tm_arrow_a6d05a97ccbeb2d82ed7f9ce7085ac3e", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_8f7114194c5d6abeb66956762904efa1_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_2c2d00b8c365597ed7e1aef47c3e6919_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -281,10 +270,10 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_38875d319fffb1adc095084210de20ff", "int_inversion", + "haseqTm_refine_a828023d3a7e4668dd6296b4c3d57fed", "int_inversion", "int_typing", - "interpretation_Tm_abs_5962b12340c96d087f4efbf48d42870e", - "interpretation_Tm_abs_ab615cad12a88b0f73a0e341ed6f9f2b", + "interpretation_Tm_abs_87f8ebe8af1a5226a058046b5d5fe9a5", + "interpretation_Tm_abs_a30a573adbb943956b0d8a59324bcbfa", "lemma_FStar.Seq.Base.init_index_", "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", @@ -296,20 +285,24 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3825be33df852df796f92240cf3e31f4", - "refinement_interpretation_Tm_refine_38875d319fffb1adc095084210de20ff", + "refinement_interpretation_Tm_refine_0644a9ce919065404eb520e5de30d4c9", + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f64b15013ba8d3a0dda29cfc7bb279a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_9a6a0cf5332fa04383e96b468302f957", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ef7c629a7325306015a154cb69476ec1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a828023d3a7e4668dd6296b4c3d57fed", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_cc34d502b1927759abde9b59d173d406", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_dbafcf6ee852392ba6d4465af96e1a6f", + "refinement_interpretation_Tm_refine_e3ce982643eaeaae23d49c918d876163", "typing_FStar.Fin.fin", "typing_FStar.Fin.find", - "typing_FStar.Seq.Base.index", "well-founded-ordering-on-nat" + "typing_FStar.Seq.Base.index", + "typing_Tm_abs_87f8ebe8af1a5226a058046b5d5fe9a5", + "typing_Tm_abs_a30a573adbb943956b0d8a59324bcbfa", + "well-founded-ordering-on-nat" ], 0, - "ba7412c3da4d18a2b74f8f663880b9c2" + "79f59139a26510bea25e128d68c62ac1" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.FunctionalExtensionality.fst b/ulib/FStar.FunctionalExtensionality.fst index 78cc33f8d7d..2965a661183 100644 --- a/ulib/FStar.FunctionalExtensionality.fst +++ b/ulib/FStar.FunctionalExtensionality.fst @@ -36,7 +36,7 @@ let extensionality a b f g let on_domain_g (a:Type) (#b:a -> Type) (f:arrow_g a b) = f -let feq_on_domain_g (#a:Type) (#b:a -> Type) (f:arrow a b) +let feq_on_domain_g (#a:Type) (#b:a -> Type) (f:arrow_g a b) = () let idempotence_on_domain_g #a #b f diff --git a/ulib/FStar.FunctionalExtensionality.fst.hints b/ulib/FStar.FunctionalExtensionality.fst.hints index d0564ae86da..f9046d4e9fa 100644 --- a/ulib/FStar.FunctionalExtensionality.fst.hints +++ b/ulib/FStar.FunctionalExtensionality.fst.hints @@ -1,5 +1,5 @@ [ - "ï™\f®\u000b>Qç˜Kϧ»µx\u000b", + "q[å%^4$Œk³ôŒ<~Ûø", [ [ "FStar.FunctionalExtensionality.feq_on_domain", @@ -11,7 +11,7 @@ "equation_FStar.FunctionalExtensionality.on_domain" ], 0, - "4245c123d2809c0e7130ac40ebabdf53" + "1eddb99df3177326021ae3ba93d3149d" ], [ "FStar.FunctionalExtensionality.idempotence_on_domain", @@ -20,7 +20,7 @@ 0, [ "@query", "equation_FStar.FunctionalExtensionality.on_domain" ], 0, - "1d96cf75a94b7f41bcf6088f0d4cb3a1" + "424bc32a2e066bfbf34870152df4952d" ], [ "FStar.FunctionalExtensionality.on_dom", @@ -32,7 +32,7 @@ "equation_FStar.FunctionalExtensionality.on_domain" ], 0, - "01e57703a497ebba23ece7b941dc7b5b" + "865940ae8c191c1483816fdb2b0d1152" ], [ "FStar.FunctionalExtensionality.feq_on_domain_g", @@ -44,7 +44,7 @@ "equation_FStar.FunctionalExtensionality.on_domain_g" ], 0, - "a0c39cda64a87b1d205ef547b5ffa81f" + "3b2ec42ccfb6a82044617934a336c39d" ], [ "FStar.FunctionalExtensionality.idempotence_on_domain_g", @@ -53,7 +53,7 @@ 0, [ "@query", "equation_FStar.FunctionalExtensionality.on_domain_g" ], 0, - "dfce355e48eca08f1a63569db3154aec" + "2850b3deb7c8122c0ccaff282bba4f46" ], [ "FStar.FunctionalExtensionality.on_dom_g", @@ -65,7 +65,7 @@ "equation_FStar.FunctionalExtensionality.on_domain_g" ], 0, - "c4280227b04c2608ee263688a75f29c5" + "62dd86341c38d5525a3876f08cdca464" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.FunctionalExtensionality.fsti.hints b/ulib/FStar.FunctionalExtensionality.fsti.hints index 1509d7c5ab3..280dff9918e 100644 --- a/ulib/FStar.FunctionalExtensionality.fsti.hints +++ b/ulib/FStar.FunctionalExtensionality.fsti.hints @@ -11,7 +11,7 @@ "lemma_FStar.FunctionalExtensionality.idempotence_on_domain" ], 0, - "c667444fadeeb461fed6a583c822533f" + "7e7de4b33a5cb3b2effaff177318dac7" ], [ "FStar.FunctionalExtensionality.on_dom_g", @@ -23,7 +23,7 @@ "lemma_FStar.FunctionalExtensionality.idempotence_on_domain_g" ], 0, - "328dc7e0d0d90cb2d6675663d569ba0b" + "6023599af14c89aed4178e9fb78803cc" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.GSet.fst.hints b/ulib/FStar.GSet.fst.hints index 54ac8a8d084..e65f695b4fc 100644 --- a/ulib/FStar.GSet.fst.hints +++ b/ulib/FStar.GSet.fst.hints @@ -8,21 +8,19 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.empty", "equation_FStar.GSet.mem", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_e79b4f1d7b56f21bc091671cfbafcf01", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "interpretation_Tm_abs_d4109bf5324e94564a0b1d0e0eeb2b4a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "projection_inverse_BoxBool_proj_0", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_e79b4f1d7b56f21bc091671cfbafcf01" + "projection_inverse_BoxBool_proj_0", + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "typing_Tm_abs_d4109bf5324e94564a0b1d0e0eeb2b4a" ], 0, - "a0e3471190383f3efc8aaa69b64403fa" + "3b42f8a2a4c4983292a16a7f8ab92cd8" ], [ "FStar.GSet.mem_singleton", @@ -31,24 +29,24 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "eq2-interp", "equation_FStar.FunctionalExtensionality.feq_g", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "eq2-interp", + "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.mem", "equation_FStar.GSet.singleton", "equation_Prims.eq2", "equation_Prims.logical", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_b96afc80d7e2f5519b5c0dd92f699e5d", + "interpretation_Tm_abs_1d1ba99289e52b622a08a12e8c5789e4", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.GSet.mem", "typing_FStar.GSet.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2", "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_b96afc80d7e2f5519b5c0dd92f699e5d" + "typing_Prims.eq2", "typing_Tm_abs_1d1ba99289e52b622a08a12e8c5789e4", + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "61653186e554525ee1cd288e0dec8122" + "b6a96a5c33bfb47874a4c67d55e75c3f" ], [ "FStar.GSet.mem_union", @@ -57,20 +55,18 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.mem", "equation_FStar.GSet.union", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_c579f11d61da8cc77574fc4da9ed02e3", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "interpretation_Tm_abs_c2b249e2108dd4cc01a3f8407baa6ee6", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_FStar.GSet.mem", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_c579f11d61da8cc77574fc4da9ed02e3" + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "typing_Tm_abs_c2b249e2108dd4cc01a3f8407baa6ee6" ], 0, - "d64cecf1350a043c6d1e4e627adf39c8" + "f70cbfd518b357e9b2c5173b3585d68a" ], [ "FStar.GSet.mem_intersect", @@ -79,20 +75,18 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.intersect", "equation_FStar.GSet.mem", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_989443518ed1e90f0c02f8135ad11dc4", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "interpretation_Tm_abs_a975c34356970f08473def30a6b8cce8", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_FStar.GSet.mem", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_989443518ed1e90f0c02f8135ad11dc4" + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "typing_Tm_abs_a975c34356970f08473def30a6b8cce8" ], 0, - "99c2852996b29260c9abf982103fdb01" + "001f812c62818757ab3136e9523dda1d" ], [ "FStar.GSet.mem_complement", @@ -101,20 +95,18 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.complement", "equation_FStar.GSet.mem", - "interpretation_Tm_abs_3b0ecac819a88dcb80dcfc62fa21bb3d", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "interpretation_Tm_abs_dfb97e171517b82591b663e846196b33", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_FStar.GSet.mem", - "typing_Tm_abs_3b0ecac819a88dcb80dcfc62fa21bb3d", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "typing_Tm_abs_dfb97e171517b82591b663e846196b33" ], 0, - "6898abe26b4e0c4e5129881560824c51" + "1afdfdc0a71a5f28c464619413da5197" ], [ "FStar.GSet.mem_subset", @@ -123,7 +115,7 @@ 0, [ "@query", "equation_FStar.GSet.subset" ], 0, - "0f15c711307a024a6eadc877e2d0c50a" + "4bd67fab8b3ac763e68ec2f72f4e352a" ], [ "FStar.GSet.subset_mem", @@ -132,7 +124,7 @@ 0, [ "@query", "equation_FStar.GSet.subset" ], 0, - "ac1514a6357291b0c65265b4b31e6bac" + "86bcd8b02a8a2524ae1b3c5d0ca94653" ], [ "FStar.GSet.comprehend_mem", @@ -141,18 +133,16 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.comprehend", "equation_FStar.GSet.mem", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "cc8be0f32cb15fcb1068db2511739f5b" + "5cd444f467e50f7040292203457a0a2f" ], [ "FStar.GSet.mem_of_set", @@ -161,22 +151,20 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.mem", "equation_FStar.GSet.of_set", "equation_Prims.eqtype", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_f0b948f763ec7b1ef794d3970b8aea30", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "interpretation_Tm_abs_7dd743b2279e91beed307d46578bdb4b", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Set.mem", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_f0b948f763ec7b1ef794d3970b8aea30" + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "typing_Tm_abs_7dd743b2279e91beed307d46578bdb4b" ], 0, - "900b1f1ca7568dd49cafa1f4658d6d67" + "e9790f3375e5a9c1a57185792de5fddd" ], [ "FStar.GSet.lemma_equal_intro", @@ -188,7 +176,7 @@ "equation_FStar.GSet.equal", "equation_FStar.GSet.mem" ], 0, - "a6edcea82ffd7681057e256041485307" + "d3fa325a8a63436a654d9da16d945a69" ], [ "FStar.GSet.lemma_equal_elim", @@ -201,11 +189,11 @@ "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.equal", "equation_FStar.GSet.set", "lemma_FStar.FunctionalExtensionality.extensionality_g", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "892af18532afbaeff093348f376c858f" + "2409da7345353ad1276c7b433ace39a1" ], [ "FStar.GSet.lemma_equal_refl", @@ -214,7 +202,7 @@ 0, [ "@query", "lemma_FStar.GSet.lemma_equal_intro" ], 0, - "584675c658d9603053ab217a23e7d3d1" + "c57614effdf0abbc0684e4743267f8e5" ], [ "FStar.GSet.disjoint_not_in_both", @@ -230,7 +218,7 @@ "typing_FStar.GSet.mem" ], 0, - "8b6984f96597eccf8bcbdc9c08f0e950" + "8e33a37bf391fbbc90a27446a4a0daaa" ], [ "FStar.GSet.as_set'", @@ -244,7 +232,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "b3d1972d6b96d8024e6e2d28c04d1040" + "77744b8183b14bc921c7682586f65e4d" ], [ "FStar.GSet.lemma_disjoint_subset", @@ -262,7 +250,7 @@ "typing_FStar.GSet.mem" ], 0, - "ff3585d949f6cc90dcfb3a8ae1de15bb" + "c035c6841a4c02b1c6487efc57c451e0" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.GSet.fsti.hints b/ulib/FStar.GSet.fsti.hints index 6faba53397f..675099414c8 100644 --- a/ulib/FStar.GSet.fsti.hints +++ b/ulib/FStar.GSet.fsti.hints @@ -14,7 +14,7 @@ "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem" ], 0, - "d9e76332dfdee777543b3f65bed01f08" + "4aa1f14545f6140674a81451ae721134" ], [ "FStar.GSet.as_set'", @@ -28,7 +28,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "60935fad34f0b1b8480056f0e22ee1d6" + "80dcb7d8af2acab12e09f35cbfa40850" ], [ "FStar.GSet.lemma_disjoint_subset", @@ -45,7 +45,7 @@ "typing_FStar.GSet.mem" ], 0, - "46081e707cc2586e4a25a2b09954bd2f" + "687d181c853debaf91be7cd31d8feef0" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Ghost.fsti b/ulib/FStar.Ghost.fsti index c1ad751a9e6..b284638fff3 100644 --- a/ulib/FStar.Ghost.fsti +++ b/ulib/FStar.Ghost.fsti @@ -53,6 +53,8 @@ val reveal_hide : #a:Type -> Lemma (ensures (reveal (hide x) == x)) [SMTPat (hide x)] +let tot_to_gtot (f : 'a -> Tot 'b) (x : 'a) : GTot 'b = f x + //////////////////////////////////////////////////////////////////////////////// // The following are all defined notions and need not be trusted //////////////////////////////////////////////////////////////////////////////// diff --git a/ulib/FStar.Ghost.fsti.hints b/ulib/FStar.Ghost.fsti.hints index 871bf4042ea..58203801217 100644 --- a/ulib/FStar.Ghost.fsti.hints +++ b/ulib/FStar.Ghost.fsti.hints @@ -1,5 +1,5 @@ [ - "ŸûÚîX{èÌï¹úgç¯Ü", + "q\u001f·lo¼øäS㘣˵A", [ [ "FStar.Ghost.elift1", @@ -8,13 +8,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "equation_FStar.Ghost.bind", "equation_FStar.Ghost.return", - "interpretation_Tm_abs_e5e4a6f2c59b85c27502739313f665ce", + "interpretation_Tm_abs_2803a9c1af1d9dc145d83da24dc06dff", "lemma_FStar.Ghost.reveal_hide", "typing_FStar.Ghost.reveal" ], 0, - "82bd13fc6ecf012c94601916f7220bb4" + "4d458c953834d2e2354dc14706989cfc" ], [ "FStar.Ghost.elift2", @@ -23,14 +23,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_9105589d4b48c1456d0057b53f4c3752", + "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", "equation_FStar.Ghost.bind", "equation_FStar.Ghost.return", - "interpretation_Tm_abs_9cf0c2ca74b874d79625e42d30520330", - "interpretation_Tm_abs_a8bd64ce32fe22357b6254a5a0f4ea84", + "interpretation_Tm_abs_1ff49a62e4ae845aa978cdcf16058b23", + "interpretation_Tm_abs_643b500d9ac7fa57b10f357e1de909c5", "lemma_FStar.Ghost.reveal_hide", "typing_FStar.Ghost.reveal" ], 0, - "c57cd4a2bb5e2306334c102dd240a0d3" + "09a3f8369fa0843c56089713ba343c09" ], [ "FStar.Ghost.elift3", @@ -39,15 +39,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_f529f4c9cbc78ef050cefd8cf570168e", + "FStar.Ghost_interpretation_Tm_ghost_arrow_c3cf725ad58bf27e304b88d311d2ef4d", "equation_FStar.Ghost.bind", "equation_FStar.Ghost.return", - "interpretation_Tm_abs_5054697d02d6683a334ee46a95c8938c", - "interpretation_Tm_abs_57176446746eb454f9b9fd9e59fd3058", - "interpretation_Tm_abs_96db066c3cba0288c6e8024f1b5dda56", + "interpretation_Tm_abs_2874654179ed0421cb9fea732ed8a98d", + "interpretation_Tm_abs_34d5bc670140e73226e463ea38520b5d", + "interpretation_Tm_abs_a603c06988898ace82f560734e827be9", "lemma_FStar.Ghost.reveal_hide", "typing_FStar.Ghost.reveal" ], 0, - "cedc5b652503df02aff2dcc3e673528d" + "fa244c16310591747c207b05ddddbf47" ], [ "FStar.Ghost.elift1_p", @@ -56,12 +56,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", "equation_FStar.Ghost.return", "lemma_FStar.Ghost.reveal_hide", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" ], 0, - "5b9aac4643c6e73721cd33320c12ba7b" + "c3c38bc545ab1f4e7554e2880c67da66" ], [ "FStar.Ghost.elift2_p", @@ -70,13 +70,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_e364de514b8cfa10a64218d0f843f2bd", + "FStar.Ghost_interpretation_Tm_ghost_arrow_4f9eac2d0622ae1c34d05baa5f6854c6", "equation_FStar.Ghost.return", "lemma_FStar.Ghost.reveal_hide", "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667" ], 0, - "122e8a24e5aec87778940fde101c9e3a" + "8b29a0c0b7d5a6f362349bea2d96ad49" ], [ "FStar.Ghost.elift1_pq", @@ -85,13 +85,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_b784194fd9a899df2ddc9d162ae9b1ec", + "FStar.Ghost_interpretation_Tm_ghost_arrow_3f0c334c27896d01c2e72f45e6fcb67c", "equation_FStar.Ghost.return", "lemma_FStar.Ghost.reveal_hide", "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" ], 0, - "8c27265d1063af75d83935b4201eebfe" + "c0898cbea45f48b66540babf7c2e2c5a" ], [ "FStar.Ghost.elift2_pq", @@ -100,14 +100,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_03bf7b2f89e26447db710f609f458546", + "FStar.Ghost_interpretation_Tm_ghost_arrow_00838c3d276d7476d6679b97a2aa247c", "equation_FStar.Ghost.return", "lemma_FStar.Ghost.reveal_hide", "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667", "refinement_interpretation_Tm_refine_f9e3dab5c1ea39d2741639e0fe40e216" ], 0, - "92ed828e2b5cbfb63afabc12a9fe5766" + "bd8572ed2a1e3a37ed46f3b8e353171e" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Heap.fst.hints b/ulib/FStar.Heap.fst.hints index 6102cafa4f2..4890bc9ed35 100644 --- a/ulib/FStar.Heap.fst.hints +++ b/ulib/FStar.Heap.fst.hints @@ -10,12 +10,12 @@ "@query", "equation_FStar.Heap.trivial_rel", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "equation_FStar.Preorder.transitive", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "true_interp" ], 0, - "d599b9d18a22855db35534f7f1e89a2a" + "56b422c336704cdc3c5c6e6fc44539f0" ], [ "FStar.Heap.trivial_preorder", @@ -26,12 +26,12 @@ "@query", "equation_FStar.Heap.trivial_rel", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.l_True", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "equation_FStar.Preorder.transitive", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "true_interp" ], 0, - "de27f7afd53ed9680e0bc4133c7ef9b1" + "332aa4bb1c9d697e53c2b5138a783be4" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.HyperStack.ST.fst b/ulib/FStar.HyperStack.ST.fst index 0422933f71b..0e5adb96b05 100644 --- a/ulib/FStar.HyperStack.ST.fst +++ b/ulib/FStar.HyperStack.ST.fst @@ -298,6 +298,9 @@ let recall_p #_ #_ r p = gst_recall (region_contains_pred (HS.frameOf r)); gst_recall (mem_rel_predicate r p) +let token_functoriality #_ #_ r p q = + lemma_functoriality (mem_rel_predicate r p) (mem_rel_predicate r q) + let lemma_witnessed_constant p = W.lemma_witnessed_constant mem_rel p let lemma_witnessed_nested p = diff --git a/ulib/FStar.HyperStack.ST.fst.hints b/ulib/FStar.HyperStack.ST.fst.hints index ab87243bb7e..254e368c68a 100644 --- a/ulib/FStar.HyperStack.ST.fst.hints +++ b/ulib/FStar.HyperStack.ST.fst.hints @@ -1,5 +1,5 @@ [ - "“w&¨Z7¾¾\u001dFçÙ™ï", + "!·6‚R.Êȇo?¼ãŽ", [ [ "FStar.HyperStack.ST.mem_rel", @@ -26,15 +26,15 @@ "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", + "equation_FStar.Preorder.transitive", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains", @@ -44,7 +44,7 @@ "typing_FStar.Monotonic.HyperStack.unused_in" ], 0, - "3145e282a29f63a019644d34c958fe58" + "047fe79a21237cf9baf7cd876ed9e14b" ], [ "FStar.HyperStack.ST.lemma_functoriality", @@ -53,14 +53,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.mem_predicate", "equation_FStar.HyperStack.ST.witnessed", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_706f182472649d6aabba97dedb2d2427", - "refinement_interpretation_Tm_refine_e0fa4a0e4f0d1410deabf748aa041b27" + "refinement_interpretation_Tm_refine_0e0518fbef3d625d213dde29a68bbbd6", + "refinement_interpretation_Tm_refine_157eeaa79e39f3ffc687c62c153a0947" ], 0, - "03e57c73f951f2501986a8a9137236f3" + "db29b17ea2496175d0310480af7f0cc0" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", @@ -69,10 +67,10 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.same_refs_in_all_regions", - "l_quant_interp_946e2915abcf7417c45c5ae3f1e76a94" + "l_quant_interp_d738d53f0ee3ce044af0d1ff3a8d05d7" ], 0, - "35c36209207ac7e05c0053f78e1a57ee" + "d08104130d01c8b6d4eeeacbc1baaeb0" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", @@ -81,10 +79,10 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.same_refs_in_all_regions", - "l_quant_interp_946e2915abcf7417c45c5ae3f1e76a94" + "l_quant_interp_d738d53f0ee3ce044af0d1ff3a8d05d7" ], 0, - "36b0307621e76ba7fa569f4f764ebb79" + "59a95ef68b23c8ad63e02ffbfd872c90" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -93,10 +91,10 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.same_refs_in_stack_regions", - "l_quant_interp_bce3aa904e844d0c70395dc2cbed7167" + "l_quant_interp_48474cb32486236119eb4f5f2101719c" ], 0, - "18a0379d0989fe5f4682f45b59668cf1" + "b3be733e6e1f9ca29c227065c7147088" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", @@ -105,10 +103,10 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.same_refs_in_stack_regions", - "l_quant_interp_bce3aa904e844d0c70395dc2cbed7167" + "l_quant_interp_48474cb32486236119eb4f5f2101719c" ], 0, - "2121933a0c305b62c8c2351012fa47a7" + "47afeefadc67d42211f2c75e715d8feb" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", @@ -118,10 +116,10 @@ [ "@query", "equation_FStar.HyperStack.ST.same_refs_in_non_tip_regions", - "l_quant_interp_77535bf6296dbaeba9cea9fdd4bdd7ae" + "l_quant_interp_40236013a1921afd0f0262483a24002a" ], 0, - "d1bc2e5f73d1fe7d77c09de9151d3dcc" + "a475f4bdcae9b597000b5564abef12d1" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", @@ -131,10 +129,10 @@ [ "@query", "equation_FStar.HyperStack.ST.same_refs_in_non_tip_regions", - "l_quant_interp_77535bf6296dbaeba9cea9fdd4bdd7ae" + "l_quant_interp_40236013a1921afd0f0262483a24002a" ], 0, - "01c50c1e0e30ba1a8c0f89f38ce8c66a" + "98b78a747fbb0d36b96dfeab88b51ed9" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_stack_regions_intro", @@ -144,10 +142,10 @@ [ "@query", "equation_FStar.HyperStack.ST.same_refs_in_non_tip_stack_regions", - "l_quant_interp_13f041dae0f7600029be0e048a5dcf0b" + "l_quant_interp_2ccb5fee7533057d1caf2499ef940aae" ], 0, - "008c0b44750dfd568bf9bd1c66b6c526" + "2bf4a4ba9d17971cf27570c89377052a" ], [ "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_stack_regions_elim", @@ -157,10 +155,10 @@ [ "@query", "equation_FStar.HyperStack.ST.same_refs_in_non_tip_stack_regions", - "l_quant_interp_13f041dae0f7600029be0e048a5dcf0b" + "l_quant_interp_2ccb5fee7533057d1caf2499ef940aae" ], 0, - "f99e825307fc8a809d1d225308b2fae3" + "4a0b145023d864ade667e0d519bb9436" ], [ "FStar.HyperStack.ST.lemma_equal_domains_trans", @@ -175,17 +173,17 @@ "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.mem", "function_token_typing_FStar.Monotonic.Heap.heap", - "l_quant_interp_946e2915abcf7417c45c5ae3f1e76a94", + "l_quant_interp_1bf0161402eda338e70cdd09bcb96b55", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.lemma_equal_elim", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "589238c06565796831ef303066e92449" + "a6938267a469f7d0d0b0d1513406a5e6" ], [ "FStar.HyperStack.ST.StackInline", @@ -194,7 +192,7 @@ 1, [ "@query" ], 0, - "9beac815f29d68efc4720a062c716913" + "d3c36faf2a0710544685a390f98cdeb2" ], [ "FStar.HyperStack.ST.Inline", @@ -203,7 +201,7 @@ 1, [ "@query" ], 0, - "c21b95e9eaa0a89529ed5c6fa3bb8e07" + "e98029cc534bef09afb4e2cab69852af" ], [ "FStar.HyperStack.ST.push_frame", @@ -214,8 +212,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "b2t_def", "bool_inversion", "data_elim_Prims.Cons", + "disc_equation_Prims.Cons", "equation_FStar.HyperStack.ST.eternal_refs_pred", "equation_FStar.HyperStack.ST.eternal_region_pred", "equation_FStar.HyperStack.ST.mem_rel", @@ -242,14 +240,13 @@ "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", @@ -262,16 +259,13 @@ "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_1c3e8376ad4584f4cacbe87dde891c39", - "refinement_interpretation_Tm_refine_218aa0760d724755bcb5a3338f0a2257", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b7d1addc48193ac698e1fc2904742dbd", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_c43700d79905e4bcab3e4d7b854c69e3", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Map.upd", @@ -294,7 +288,7 @@ "unit_typing" ], 0, - "6398d4d00dc55c965d8474faec60d4db" + "ba8bdd8c9f90247e01f1b6799bd0d004" ], [ "FStar.HyperStack.ST.pop_frame", @@ -303,7 +297,7 @@ 1, [ "@query" ], 0, - "ef14ba5d006f9321bf3d33ba24be5af1" + "7c8f915710eaec7308593bed0fa6063d" ], [ "FStar.HyperStack.ST.pop_frame", @@ -311,9 +305,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.eternal_refs_pred", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.HyperStack.ST.eternal_refs_pred", "equation_FStar.HyperStack.ST.eternal_region_pred", "equation_FStar.HyperStack.ST.mem_rel", "equation_FStar.HyperStack.ST.mm_refs_pred", @@ -339,10 +332,10 @@ "equation_FStar.Monotonic.HyperStack.unused_in", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.logical", + "equation_FStar.Preorder.reflexive", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelRestrict", @@ -359,21 +352,15 @@ "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_2011e81e05d092e08833cbfdaea77df9", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.parent", "typing_FStar.Monotonic.HyperHeap.rid", @@ -394,7 +381,7 @@ "unit_typing" ], 0, - "505f266dcb91174db3b36d0cbe8bc14a" + "58b83b99c6bcb81d59d6771d6e8045e4" ], [ "FStar.HyperStack.ST.salloc_post", @@ -407,10 +394,10 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144" + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "a58ab3fa7e4e650efad9077f3b0182ac" + "a34eda64eabb60ba98dab8449d0bf2c1" ], [ "FStar.HyperStack.ST.salloc_common", @@ -418,10 +405,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.eternal_refs_pred", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.HyperStack.ST.eternal_refs_pred", "equation_FStar.HyperStack.ST.eternal_region_pred", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.HyperStack.ST.mem_rel", @@ -462,17 +447,13 @@ "equation_FStar.Pervasives.Native.snd", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.logical", - "equation_Prims.pos", + "equation_FStar.Preorder.reflexive", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperStack.mem", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", - "interpretation_Tm_abs_aa3c80091dfc91ed36808c6f8e61e323", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", + "interpretation_Tm_abs_a2e5bbd831d03bb5188ef665f6b561bb", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "l_and-interp", "l_imp-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -501,17 +482,15 @@ "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_57c9713c167a16868a32c3d8a212997d", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", + "refinement_interpretation_Tm_refine_9bf73b2cb1c2a0c422ac48d16444b11a", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", "token_correspondence_FStar.HyperStack.ST.ref_contains_pred", "token_correspondence_FStar.HyperStack.ST.region_contains_pred", "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", @@ -538,7 +517,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "cb5e0de4261ca1f7a43a014251b804f8" + "f5bf2631b669ad60388239f863930035" ], [ "FStar.HyperStack.ST.salloc", @@ -547,7 +526,7 @@ 1, [ "@query" ], 0, - "bb52cdcf15c6b3c641170ba6949e4805" + "11812bda6b6117409b104021db2e078d" ], [ "FStar.HyperStack.ST.salloc", @@ -564,7 +543,7 @@ "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4" ], 0, - "1302ca17ecd110af2483436b63584eeb" + "f85839f85c9960d5b5ec5bbf1fc58817" ], [ "FStar.HyperStack.ST.salloc_mm", @@ -573,7 +552,7 @@ 1, [ "@query" ], 0, - "1e0391effa3a78fe7908ca005054d0ca" + "8f779f85027ce5140baeb97d3dd69bb0" ], [ "FStar.HyperStack.ST.salloc_mm", @@ -588,7 +567,7 @@ "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4" ], 0, - "d71cbf266d157b76ae53c997cf578f45" + "05d07caffff970983ce3136585d67047" ], [ "FStar.HyperStack.ST.sfree", @@ -597,7 +576,7 @@ 1, [ "@query" ], 0, - "1c41f3b5c267652af7c9c9add0db0f10" + "1a1e0bce203b822bf9c7f2a9d177df9a" ], [ "FStar.HyperStack.ST.sfree", @@ -605,10 +584,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.HyperStack.ST.eternal_refs_pred", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.HyperStack.ST.eternal_refs_pred", "equation_FStar.HyperStack.ST.eternal_region_pred", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.HyperStack.ST.mem_rel", @@ -636,10 +613,10 @@ "equation_FStar.Monotonic.HyperStack.unused_in", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.logical", + "equation_FStar.Preorder.reflexive", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", "l_and-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -656,17 +633,14 @@ "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_077942947f03017592acbd4457f123a1", "refinement_interpretation_Tm_refine_1fe4ea9449b44f071a0ba69c564508a4", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_59306028f716375d40a02533f3dcfca9", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_c2007606207dc6fcf8600f1291a3a729", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", @@ -680,14 +654,13 @@ "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.is_stack_region", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "unit_typing" ], 0, - "060ee6f48e5d3301284492053fe0bf8d" + "b43e3acb20d501f26eda89dfcd7513ad" ], [ "FStar.HyperStack.ST.new_region", @@ -706,7 +679,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "1cfc308d19abacf6ccf6eb6dce8069e1" + "c1864bbd63a165393b8b9b21ce8d6941" ], [ "FStar.HyperStack.ST.new_region", @@ -717,8 +690,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_Prims.Cons", @@ -741,7 +713,6 @@ "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.fresh_region", "equation_FStar.Monotonic.HyperStack.is_eternal_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", @@ -755,7 +726,7 @@ "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_Prims.list", @@ -763,8 +734,8 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -773,12 +744,9 @@ "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", - "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -787,31 +755,24 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_08006308b485bd6d7e4fc27ed1127732", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a232f791004ee53ecf71f9358d5f9b0f", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7c31bfb41e04c45e683d222a2dad529f", + "refinement_interpretation_Tm_refine_a88d6b2bc46617f49b283f0ff73bd7cf", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "token_correspondence_FStar.HyperStack.ST.region_contains_pred", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperHeap.extend_monochrome", - "typing_FStar.Monotonic.HyperHeap.extends", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.reveal", "typing_FStar.Monotonic.HyperHeap.rid", @@ -823,12 +784,13 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.rid_last_component", + "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Monotonic.HyperStack.unused_in", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "unit_inversion" ], 0, - "ed2126cfa0f40c36f1accae1fe652425" + "e5ce6763e2952761aebe44946e0c2636" ], [ "FStar.HyperStack.ST.new_colored_region", @@ -840,16 +802,15 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "function_token_typing_Prims.__cache_version_number__", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_f4cb3d1cc1433b8bf207ba346823f41b", + "refinement_interpretation_Tm_refine_8660037e044a1cc8353f30696432616f", "typing_FStar.Monotonic.HyperHeap.extends", "typing_FStar.Monotonic.HyperStack.is_eternal_color" ], 0, - "6d9d80712a1fa9f9d3915175438f7576" + "102d2563067acaf396841b24ec0ef8db" ], [ "FStar.HyperStack.ST.new_colored_region", @@ -860,8 +821,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_Prims.Cons", @@ -898,7 +858,7 @@ "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_Prims.list", @@ -906,22 +866,20 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -929,23 +887,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_08006308b485bd6d7e4fc27ed1127732", - "refinement_interpretation_Tm_refine_218aa0760d724755bcb5a3338f0a2257", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8660037e044a1cc8353f30696432616f", + "refinement_interpretation_Tm_refine_a88d6b2bc46617f49b283f0ff73bd7cf", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f4cb3d1cc1433b8bf207ba346823f41b", + "refinement_interpretation_Tm_refine_c43700d79905e4bcab3e4d7b854c69e3", "token_correspondence_FStar.HyperStack.ST.region_contains_pred", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.color", @@ -953,7 +907,6 @@ "typing_FStar.Monotonic.HyperHeap.reveal", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", @@ -965,12 +918,11 @@ "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.rid_last_component", "typing_FStar.Monotonic.HyperStack.unused_in", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "unit_inversion" ], 0, - "b2ee1369c1b77ce07b5e21d02b91b1d2" + "ae0b7062a9e345f283cd281a609d830f" ], [ "FStar.HyperStack.ST.ralloc_post", @@ -979,7 +931,7 @@ 1, [ "@query", "equation_FStar.Monotonic.HyperStack.live_region" ], 0, - "2d0b11210fbf5e2ea99ab3697816795e" + "73ada1536ee7ead9d95481297d651841" ], [ "FStar.HyperStack.ST.ralloc_common", @@ -987,11 +939,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.eternal_refs_pred", "equation_FStar.HyperStack.ST.eternal_region_pred", "equation_FStar.HyperStack.ST.is_eternal_region", @@ -1032,18 +981,15 @@ "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_Prims.l_or", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", - "equation_Prims.squash", + "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.c_or", "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", - "interpretation_Tm_abs_aa3c80091dfc91ed36808c6f8e61e323", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", + "interpretation_Tm_abs_a2e5bbd831d03bb5188ef665f6b561bb", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "l_and-interp", "l_imp-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -1052,12 +998,13 @@ "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Monotonic.Heap.lemma_alloc", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_unused_upd_contains", "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", + "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", "lemma_FStar.Monotonic.Heap.lemma_upd_unused", + "lemma_FStar.Monotonic.HyperStack.lemma_as_ref_inj", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_singleton", @@ -1071,25 +1018,24 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", + "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_6d70f3cfce1bc3bbf4818c3b445e0424", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f566994a9f414cba68352716a74f7d2b", "token_correspondence_FStar.HyperStack.ST.ref_contains_pred", "token_correspondence_FStar.HyperStack.ST.region_contains_pred", "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.alloc", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Monotonic.Heap.is_mm", "typing_FStar.Monotonic.Heap.next_addr", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.Heap.upd", @@ -1106,13 +1052,11 @@ "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Monotonic.HyperStack.unused_in", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "19b6224146a0f53353a954727ecb4326" + "c54ca831096f011c8285c6adaed55260" ], [ "FStar.HyperStack.ST.ralloc", @@ -1121,7 +1065,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.is_eternal_region" ], 0, - "e383eb8e3946a0e65753c68e6afd2e4c" + "30ae00672e5a0249ce797c71b8b80c9e" ], [ "FStar.HyperStack.ST.ralloc", @@ -1139,7 +1083,7 @@ "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4" ], 0, - "8162a9bf500c3e29a186a669612d1de3" + "9a99409fbe7fdd2f6b764edb4b54cc4a" ], [ "FStar.HyperStack.ST.ralloc_mm", @@ -1148,7 +1092,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.is_eternal_region" ], 0, - "6972b316ec8e292ac84174b800450edc" + "a9929c8cc7856111b1ca9315ca929bca" ], [ "FStar.HyperStack.ST.ralloc_mm", @@ -1164,7 +1108,7 @@ "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4" ], 0, - "1aed82c94ee3b6bc929bf14dc734b051" + "5aa7e8585336a9d31628de2931b39953" ], [ "FStar.HyperStack.ST.rfree", @@ -1177,7 +1121,7 @@ "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2" ], 0, - "a4fc4dc9478b30e3cc7a068d11badadd" + "2c3536e76b6d88a7170e9519e6b0bf3a" ], [ "FStar.HyperStack.ST.rfree", @@ -1185,10 +1129,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.eternal_refs_pred", "equation_FStar.HyperStack.ST.eternal_region_pred", "equation_FStar.HyperStack.ST.is_live_for_rw_in", @@ -1220,16 +1162,14 @@ "equation_FStar.Monotonic.HyperStack.unused_in", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.logical", + "equation_FStar.Preorder.reflexive", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.HyperStack.ST.ref_contains_pred", "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", - "interpretation_Tm_abs_aa3c80091dfc91ed36808c6f8e61e323", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", + "interpretation_Tm_abs_a2e5bbd831d03bb5188ef665f6b561bb", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "l_and-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -1247,15 +1187,12 @@ "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0eae37d660f5c3463f6bbb3102fb1551", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", "refinement_interpretation_Tm_refine_81f342659eefffbc67c5aa64093ad0b3", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_880cc420fab5fe6ebb8732d1c722708f", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", @@ -1270,13 +1207,14 @@ "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.unused_in", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "unit_typing" ], 0, - "2ccc8d7b5eff5a1cd4981211008dabb7" + "3db137380da0a788d5b88f0328c60895" ], [ "FStar.HyperStack.ST.assign_post", @@ -1289,7 +1227,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "e10fe910387b7c5b057986155521ab17" + "ea1a83c0215b1278d76e10617ccaa74d" ], [ "FStar.HyperStack.ST.op_Colon_Equals", @@ -1297,10 +1235,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.eternal_refs_pred", "equation_FStar.HyperStack.ST.eternal_region_pred", @@ -1335,21 +1270,20 @@ "equation_FStar.Monotonic.HyperStack.upd_tot", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.logical", + "equation_FStar.Preorder.reflexive", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.HyperStack.ST.ref_contains_pred", "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", - "interpretation_Tm_abs_aa3c80091dfc91ed36808c6f8e61e323", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", + "interpretation_Tm_abs_a2e5bbd831d03bb5188ef665f6b561bb", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "l_and-interp", "l_imp-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -1362,23 +1296,22 @@ "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_singleton", + "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Negation", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_11815357fd56c921bd36dd9004d3ac62", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_11314150f30137916a69834b62ecf4e8", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Monotonic.HyperHeap.color", @@ -1393,13 +1326,13 @@ "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Monotonic.HyperStack.unused_in", + "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Set.mem", + "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "unit_typing" ], 0, - "c7aa22387081cc9524f23c836b324b6e" + "289c7f4452e526f08e123da5d5e8b768" ], [ "FStar.HyperStack.ST.op_Bang", @@ -1407,9 +1340,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_domains", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.HyperStack.ST.is_live_for_rw_in", "equation_FStar.HyperStack.ST.mreference", @@ -1431,19 +1363,18 @@ "function_token_typing_FStar.HyperStack.ST.ref_contains_pred", "function_token_typing_FStar.HyperStack.ST.region_contains_pred", "function_token_typing_FStar.Monotonic.Heap.heap", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", - "interpretation_Tm_abs_aa3c80091dfc91ed36808c6f8e61e323", + "interpretation_Tm_abs_a2e5bbd831d03bb5188ef665f6b561bb", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "l_and-interp", "l_imp-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_0eae37d660f5c3463f6bbb3102fb1551", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_880cc420fab5fe6ebb8732d1c722708f", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", @@ -1455,7 +1386,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "d5a0dd45adba3d8f6f75838bd4ee003f" + "9a68dbe8ebeba9b750a9f1d9bd910bdc" ], [ "FStar.HyperStack.ST.get", @@ -1471,12 +1402,12 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "96386a543d82cc3deab0918cdd7da164" + "8405a77cddb22d2d65788de2732664dd" ], [ "FStar.HyperStack.ST.recall", @@ -1497,20 +1428,20 @@ "function_token_typing_FStar.HyperStack.ST.ref_contains_pred", "function_token_typing_FStar.HyperStack.ST.region_contains_pred", "function_token_typing_FStar.Monotonic.Heap.heap", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", - "interpretation_Tm_abs_aa3c80091dfc91ed36808c6f8e61e323", + "interpretation_Tm_abs_a2e5bbd831d03bb5188ef665f6b561bb", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "l_and-interp", "l_imp-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "unit_typing" ], 0, - "eea6580f7b0c433435a10bbc575c14f8" + "11cbf1badd7c2dc4323b5257967ca7d4" ], [ "FStar.HyperStack.ST.recall_region", @@ -1529,15 +1460,15 @@ "equation_FStar.Monotonic.HyperStack.mem", "function_token_typing_FStar.HyperStack.ST.region_contains_pred", "function_token_typing_FStar.Monotonic.Heap.heap", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperHeap.rid", @@ -1546,7 +1477,7 @@ "typing_FStar.Monotonic.HyperStack.is_eternal_color", "unit_typing" ], 0, - "41e8388097d46b9d986b2f37a1ffa67a" + "755b653f01734178fa9f16f8c1b46226" ], [ "FStar.HyperStack.ST.witness_region", @@ -1562,22 +1493,22 @@ "equation_FStar.HyperStack.ST.stable", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.logical", + "equation_FStar.Monotonic.HyperStack.mem", "function_token_typing_FStar.Monotonic.Heap.heap", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "l_and-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0b031798b483d694e1fba45e4cedb8c3", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_7d319efefda225ef00306eb750a906f3", "token_correspondence_FStar.HyperStack.ST.region_contains_pred", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "unit_typing" ], 0, - "12b6989db323e447b36cf13229628e62" + "5e45273be844757ccbc941ad223e72e2" ], [ "FStar.HyperStack.ST.witness_hsref", @@ -1585,9 +1516,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.eternal_refs_pred", "equation_FStar.HyperStack.ST.mem_rel", "equation_FStar.HyperStack.ST.mm_refs_pred", @@ -1607,29 +1537,22 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Monotonic.HyperStack.rid_last_component", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.logical", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.HyperStack.ST.mem_rel", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", - "interpretation_Tm_abs_aa3c80091dfc91ed36808c6f8e61e323", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", + "interpretation_Tm_abs_a2e5bbd831d03bb5188ef665f6b561bb", "l_and-interp", "l_imp-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7c7e316625bf5749e33b6cfc4aee180d", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_cdeb191a724ec6e0084626848082a35f", "token_correspondence_FStar.HyperStack.ST.ref_contains_pred", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.next_addr", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -1638,7 +1561,7 @@ "typing_FStar.Monotonic.HyperStack.live_region", "unit_typing" ], 0, - "b6565ec69b0b767a8826214923335400" + "41b0c299b8eb4bba7698aa153b774a82" ], [ "FStar.HyperStack.ST.stable_on_t", @@ -1647,7 +1570,7 @@ 1, [ "@query" ], 0, - "a4967c11e339a9805925d7b03a5aac15" + "fff03c7521a504d7bf36edbcb49fece7" ], [ "FStar.HyperStack.ST.mr_witness", @@ -1670,25 +1593,26 @@ "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.is_eternal_color", "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", "equation_Prims.logical", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", - "interpretation_Tm_abs_538c368a92465f2a52e92152fef267b2", - "l_and-interp", "l_quant_interp_946e2915abcf7417c45c5ae3f1e76a94", + "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.mref", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", + "interpretation_Tm_abs_f4389965b0fc290a0bff7be4e1558e46", + "l_and-interp", "l_quant_interp_d738d53f0ee3ce044af0d1ff3a8d05d7", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_ecaad33cbec6645f832b61922c3a5d96", + "refinement_interpretation_Tm_refine_48c224df2e327b18cb0c1d7effdcd204", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperStack.contains", - "typing_FStar.Monotonic.HyperStack.is_eternal_color" + "typing_FStar.Monotonic.HyperStack.is_eternal_color", + "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "7f51f1a02e5ab2196f2c71e876ef9c1e" + "525f6573a365f99d7366419a7b7bc2e6" ], [ "FStar.HyperStack.ST.weaken_witness", @@ -1697,7 +1621,7 @@ 1, [ "@query" ], 0, - "2df2b3b762ace862aff3b322617f245d" + "fa9471b2a0af84e695a0104242fd4d76" ], [ "FStar.HyperStack.ST.testify", @@ -1708,13 +1632,12 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "refinement_interpretation_Tm_refine_3952dbf7965756a62321b4da4887c6d5", + "refinement_interpretation_Tm_refine_e7a7d842627e5ea5b361e78f8606378f", "unit_typing" ], 0, - "1b4a0a5d93491935b63a7562c595863b" + "11072020beb2c5fd8da7820d1088db17" ], [ "FStar.HyperStack.ST.testify_forall", @@ -1727,13 +1650,13 @@ "equation_FStar.HyperStack.ST.witnessed", "equation_FStar.Monotonic.Heap.equal_dom", "equation_Prims.l_Forall", "equation_Prims.squash", - "l_quant_interp_269c4f5f62b5acbd3a7d0d5431b87b38", + "l_quant_interp_3e1648c3515837bceb7a7e970c3e0916", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "unit_typing" ], 0, - "555dad8f65a5626fd7ebf8f72155d16d" + "b4ddf248486ab1699285c2b2dba66b6e" ], [ "FStar.HyperStack.ST.testify_forall_region_contains_pred", @@ -1742,7 +1665,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.HyperStack.ST_interpretation_Tm_arrow_00b2d0c4303101089da33df0401ba94e", "b2t_def", "bool_inversion", "equation_FStar.HyperStack.ST.region_contains_pred", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1753,20 +1676,20 @@ "equation_Prims.squash", "function_token_typing_FStar.HyperStack.ST.region_contains_pred", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", - "l_or-interp", "l_quant_interp_fae6c4dc13ddfb140fe63328782688bf", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", + "l_or-interp", "l_quant_interp_06ba9e468bf64e3c6f57fc458bfd910a", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Negation", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.color", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_eternal_color" ], 0, - "ea38f736e661749f402b295147ec5bfa" + "7163fc6f59c27cf29c7f3f0e57cf0f56" ], [ "FStar.HyperStack.ST.witness_p", @@ -1774,11 +1697,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.HyperStack.ST.equal_stack_domains", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.eternal_refs_pred", "equation_FStar.HyperStack.ST.mem_rel", "equation_FStar.HyperStack.ST.mem_rel_predicate", @@ -1808,16 +1728,16 @@ "equation_FStar.Monotonic.HyperStack.rid_last_component", "equation_FStar.Monotonic.HyperStack.unused_in", "equation_Prims.l_and", "equation_Prims.l_imp", - "equation_Prims.logical", "equation_Prims.squash", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_Prims.c_and", "function_token_typing_FStar.HyperStack.ST.ref_contains_pred", "function_token_typing_FStar.HyperStack.ST.region_contains_pred", "function_token_typing_FStar.Monotonic.Heap.heap", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", - "interpretation_Tm_abs_aa3c80091dfc91ed36808c6f8e61e323", - "interpretation_Tm_abs_b9a920429d40578b1cdbdc6505db779f", + "interpretation_Tm_abs_21649a3aea614c42314c99bf1da9a7ae", + "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", + "interpretation_Tm_abs_a2e5bbd831d03bb5188ef665f6b561bb", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "l_and-interp", "l_imp-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -1826,10 +1746,10 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ecaad33cbec6645f832b61922c3a5d96", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_48c224df2e327b18cb0c1d7effdcd204", "token_correspondence_FStar.HyperStack.ST.mem_rel_predicate", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", @@ -1849,7 +1769,7 @@ "unit_typing" ], 0, - "391cdc903b6642c3090774a49bfa07df" + "d440517a03cdc7b9242ac9442df36761" ], [ "FStar.HyperStack.ST.recall_p", @@ -1860,12 +1780,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mem_rel", "equation_FStar.HyperStack.ST.mem_rel_predicate", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.ref_contains_pred", "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", "equation_FStar.HyperStack.ST.token_p", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1879,42 +1797,58 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.logical", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.HyperStack.ST.mem_rel", "function_token_typing_FStar.HyperStack.ST.mem_rel_predicate", "function_token_typing_FStar.HyperStack.ST.ref_contains_pred", "function_token_typing_FStar.HyperStack.ST.region_contains_pred", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "int_inversion", - "interpretation_Tm_abs_29890b86fcca9d8276a94733104e653d", - "interpretation_Tm_abs_a690f270624c6de77942bff0d4a8ac81", - "interpretation_Tm_abs_aa3c80091dfc91ed36808c6f8e61e323", - "interpretation_Tm_abs_b9a920429d40578b1cdbdc6505db779f", + "interpretation_Tm_abs_21649a3aea614c42314c99bf1da9a7ae", + "interpretation_Tm_abs_a2e5bbd831d03bb5188ef665f6b561bb", + "interpretation_Tm_abs_f81f176c0ff52a250b0e771801ed92ef", "l_and-interp", "l_imp-interp", "l_or-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Negation", + "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_897ad9b28a912b37a5978b46fc05583e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_c18e4bafb054692b4b3dc72aa9447a9c", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.color", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains_ref_in_its_region", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.is_mm", "unit_typing" ], 0, - "71f76e15093f9bbaa95652c6a0d01db6" + "1fc342619b05ed31036dd5b0b081b4fd" + ], + [ + "FStar.HyperStack.ST.token_functoriality", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_FStar.HyperStack.ST.mem_rel_predicate", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.token_p", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_Prims.l_and", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "function_token_typing_FStar.HyperStack.ST.mem_rel_predicate", + "interpretation_Tm_abs_21649a3aea614c42314c99bf1da9a7ae", + "l_and-interp", "l_or-interp", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_157eeaa79e39f3ffc687c62c153a0947", + "refinement_interpretation_Tm_refine_d01ffd21f1610d2332cb1270a83d4142", + "token_correspondence_FStar.HyperStack.ST.mem_rel_predicate" + ], + 0, + "4c86f0de11bbffae9c2b5ad29f1e3b96" ], [ "FStar.HyperStack.ST.lemma_witnessed_constant", @@ -1923,7 +1857,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "a5f25d1ca0f3c14c4dd0cbeb3062f46f" + "b8a33fba21456a66c5d2ab3c4facb30d" ], [ "FStar.HyperStack.ST.lemma_witnessed_nested", @@ -1932,7 +1866,7 @@ 1, [ "@query" ], 0, - "c81bfd5f6a344479890be8a5b95627a6" + "fd9d6a5f8d3dbad81516081b3263514c" ], [ "FStar.HyperStack.ST.lemma_witnessed_and", @@ -1941,7 +1875,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "28eba5a445353c1fd22f18eadc50663a" + "be848dbb037e19b3cf4ff9fe37954e60" ], [ "FStar.HyperStack.ST.lemma_witnessed_or", @@ -1950,7 +1884,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "e45cfbddc3252ac18cefcd354ff777fc" + "366ad3cb4d0797e6955f5bef729a7418" ], [ "FStar.HyperStack.ST.lemma_witnessed_impl", @@ -1959,7 +1893,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "e548adffc5608b9e8742011a0e4e16f7" + "e72ee60e87c966f21a163fb2c9e06293" ], [ "FStar.HyperStack.ST.lemma_witnessed_forall", @@ -1968,7 +1902,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "d67f0e28c437e10cbb6228f9a02277d1" + "93a99979795e605b2d15b3f4f047ef20" ], [ "FStar.HyperStack.ST.lemma_witnessed_exists", @@ -1977,7 +1911,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], 0, - "a75cef190a577f3cc817860a234ee220" + "da82478087b0be43738c7a548dfc99b3" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.HyperStack.ST.fsti b/ulib/FStar.HyperStack.ST.fsti index 798e7f00208..466a6141ec1 100644 --- a/ulib/FStar.HyperStack.ST.fsti +++ b/ulib/FStar.HyperStack.ST.fsti @@ -75,7 +75,7 @@ private val gst_witness: p:mem_predicate -> GST unit (fun post h0 -> p h0 /\ sta private val gst_recall: p:mem_predicate -> GST unit (fun post h0 -> witnessed p /\ (p h0 ==> post () h0)) val lemma_functoriality (p:mem_predicate{witnessed p}) (q:mem_predicate{(forall (h:mem). p h ==> q h)}) - : Lemma (ensures (witnessed q)) + : Lemma (witnessed q) let st_pre = gst_pre let st_post' = gst_post' @@ -507,6 +507,7 @@ val testify_forall_region_contains_pred (#c:Type) (#p:(c -> rid)) (****** Begin: preferred API for witnessing and recalling predicates ******) + val token_p (#a:Type0) (#rel:preorder a) (r:mreference a rel) (p:mem_predicate) :Type0 val witness_p (#a:Type0) (#rel:preorder a) (r:mreference a rel) (p:mem_predicate) @@ -517,6 +518,12 @@ val recall_p (#a:Type0) (#rel:preorder a) (r:mreference a rel) (p:mem_predicate) :ST unit (fun h0 -> ((is_eternal_region (HS.frameOf r) /\ not (HS.is_mm r)) \/ h0 `HS.contains` r) /\ token_p r p) (fun h0 _ h1 -> h0 == h1 /\ h0 `HS.contains` r /\ p h0) +val token_functoriality + (#a:Type0) (#rel:preorder a) (r:mreference a rel) + (p:mem_predicate{token_p r p}) (q:mem_predicate{forall (h:mem). p h ==> q h}) + : Lemma (token_p r q) + + (****** End: preferred API for witnessing and recalling predicates ******) diff --git a/ulib/FStar.HyperStack.ST.fsti.hints b/ulib/FStar.HyperStack.ST.fsti.hints index 7a7459598df..3e91cd2b7b4 100644 --- a/ulib/FStar.HyperStack.ST.fsti.hints +++ b/ulib/FStar.HyperStack.ST.fsti.hints @@ -1,5 +1,5 @@ [ - "5ï\u0011ƒ[?×\u0005Î~ì\u0012½\u0014—g", + "{\fƒˆ\u001crR\u0007Ö^ê^}\u0003Â", [ [ "FStar.HyperStack.ST.StackInline", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "751de9e13d9c7be0b6610953b060b918" + "e08e162cf2d1ace4faad37e4c4e306cb" ], [ "FStar.HyperStack.ST.Inline", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "035e9596f875caa7f5fe1fff6bf99e74" + "75fb53a81872065c15c179bfa1158be9" ], [ "FStar.HyperStack.ST.pop_frame", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "71fe2d34f828491ef4619f2c67917ab8" + "93d8695905be23dc5aba72b720cfb72c" ], [ "FStar.HyperStack.ST.salloc_post", @@ -39,10 +39,10 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144" + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "a1012ed648478c2de43a955ba5b14264" + "5e00bef40e71cbda987af452cd340b6b" ], [ "FStar.HyperStack.ST.salloc", @@ -51,7 +51,7 @@ 1, [ "@query" ], 0, - "c8c7224d017fcc438d131a7ec081c299" + "d310cae6bc380688a3049af4f2d6722f" ], [ "FStar.HyperStack.ST.salloc_mm", @@ -60,7 +60,7 @@ 1, [ "@query" ], 0, - "a7040288d9d9146abd2a9615d3f991f1" + "9a7eceaea2fd9311aac5e6341e834ad3" ], [ "FStar.HyperStack.ST.sfree", @@ -69,7 +69,7 @@ 1, [ "@query" ], 0, - "bb040bc891a70b43862beb2bbca93339" + "34f3ffe24771b073d12f076b397b692b" ], [ "FStar.HyperStack.ST.new_region", @@ -88,7 +88,7 @@ "projection_inverse_FStar.Pervasives.Native.None_a" ], 0, - "bcf8c2eae91a014b2e4545cf41739dee" + "162ccd439221e4a8990a51369c50df33" ], [ "FStar.HyperStack.ST.new_colored_region", @@ -100,16 +100,15 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "function_token_typing_Prims.__cache_version_number__", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_f4cb3d1cc1433b8bf207ba346823f41b", + "refinement_interpretation_Tm_refine_8660037e044a1cc8353f30696432616f", "typing_FStar.Monotonic.HyperHeap.extends", "typing_FStar.Monotonic.HyperStack.is_eternal_color" ], 0, - "a2d135bd12952dd9a407cfbed51f6647" + "6a89704bf63339c3ec4fcc1ba4f7b817" ], [ "FStar.HyperStack.ST.ralloc_post", @@ -118,7 +117,7 @@ 1, [ "@query", "equation_FStar.Monotonic.HyperStack.live_region" ], 0, - "b39600707cbc84396e9083eac285b0d7" + "4b224a93247f19270c3d81d7dcfbefdb" ], [ "FStar.HyperStack.ST.ralloc", @@ -127,7 +126,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.is_eternal_region" ], 0, - "da25bb4d488843f3e2aa7b45e371d379" + "b313d555e8f9de3cf23e5f29d79ed50d" ], [ "FStar.HyperStack.ST.ralloc_mm", @@ -136,7 +135,7 @@ 1, [ "@query", "equation_FStar.HyperStack.ST.is_eternal_region" ], 0, - "017685acd5a96e54ab73af0eb3f79435" + "05fc36ad927ba9bf8c1f8b2697a3b249" ], [ "FStar.HyperStack.ST.rfree", @@ -149,7 +148,7 @@ "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2" ], 0, - "0c6fbbbd40eee192db18ac9510cf36a7" + "afcc69a4629d0acb034764cc8264d59e" ], [ "FStar.HyperStack.ST.assign_post", @@ -162,7 +161,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "a0d5347ce27bb7af63fea769bd3ef43c" + "6b700dd0a19ec538c1879e048a490b23" ], [ "FStar.HyperStack.ST.stable_on_t", @@ -171,7 +170,7 @@ 1, [ "@query" ], 0, - "78aae663259fcd22b6de9e6db25d9374" + "8eae77573fbd9f02c21f89bd4184ac04" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.IFC.fst.hints b/ulib/FStar.IFC.fst.hints index fcd53614368..edca96c5b18 100644 --- a/ulib/FStar.IFC.fst.hints +++ b/ulib/FStar.IFC.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_FStar.IFC.SemiLattice_carrier" ], 0, - "7e655a76ca275ac42f0a060ccb803c78" + "a87417f09665b4cd27dd117b41858191" ], [ "FStar.IFC.__proj__SemiLattice__item__lub", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede" ], 0, - "49ef9610785455b051a7e013c735ccd1" + "dfebcbbb79b33cd31dccbf58d6a4663f" ], [ "FStar.IFC.reveal_hide", @@ -34,7 +34,7 @@ 1, [ "@query", "equation_FStar.IFC.hide", "equation_FStar.IFC.reveal" ], 0, - "7b0c8f257be6eca85c8fa5289d524b14" + "6059382f5cbf5d6cbeff7ac746da9ac3" ], [ "FStar.IFC.hide_reveal", @@ -43,7 +43,7 @@ 1, [ "@query", "equation_FStar.IFC.hide", "equation_FStar.IFC.reveal" ], 0, - "c9e38a13827528b728aadb9868bf839f" + "ac5b68d9ab9ce54eeb51ac596787606a" ], [ "FStar.IFC.map", @@ -52,7 +52,7 @@ 1, [ "@query", "equation_FStar.IFC.reveal" ], 0, - "a2a799308d85a19d5921db3301ee94fc" + "7c34cb3e54ee11292e5d80cbd78164c2" ], [ "FStar.IFC.join", @@ -61,7 +61,7 @@ 1, [ "@query", "equation_FStar.IFC.reveal" ], 0, - "ffb223c06659f8f882570879993328d7" + "ca70b4cff81ac995890043f4d61532fa" ], [ "FStar.IFC.__proj__SemiLattice__item__top", @@ -73,7 +73,7 @@ "projection_inverse_FStar.IFC.SemiLattice_carrier" ], 0, - "3e8c29744ddfab43e297adc03730ee1e" + "02cb02efdec1eb57ca570e2034d6b7c0" ], [ "FStar.IFC.__proj__SemiLattice__item__lub", @@ -87,7 +87,7 @@ "refinement_interpretation_Tm_refine_edb2c6521da1348bce354e228735aede" ], 0, - "5a76883b07d8c9f311cbe3753503989f" + "d54899939f87feecdbe8120233633fd9" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.IndefiniteDescription.fst.hints b/ulib/FStar.IndefiniteDescription.fst.hints index 3c63f30769f..dda562729a1 100644 --- a/ulib/FStar.IndefiniteDescription.fst.hints +++ b/ulib/FStar.IndefiniteDescription.fst.hints @@ -12,7 +12,7 @@ "fuel_guarded_inversion_Prims.c_or" ], 0, - "21319975b8db74df9cfee87eddd8d463" + "89f8ebf3761018eb874fc28ade7d7733" ], [ "FStar.IndefiniteDescription.stronger_markovs_principle", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "f92006b3addec38f3219be69aebb1f2e" + "8e401b438a728b4e3cf659dec705e71b" ], [ "FStar.IndefiniteDescription.stronger_markovs_principle", @@ -38,7 +38,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "0d9f42a2283af918b25ed3577c97c543" + "925b12be6fc9681cbde895e1ad5dde03" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Int.Cast.Full.fst.hints b/ulib/FStar.Int.Cast.Full.fst.hints index d1a9681af48..1de60a9e168 100644 --- a/ulib/FStar.Int.Cast.Full.fst.hints +++ b/ulib/FStar.Int.Cast.Full.fst.hints @@ -11,16 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f5958112d0487294569103545d60d682" - ], - [ - "FStar.Int.Cast.Full.uint64_to_uint128", - 2, - 2, - 1, - [ "@query" ], - 0, - "6499d6faa7f5e756003aa1dc0acdfd90" + "97e06e174e555da0d9b2bb19ba97148e" ], [ "FStar.Int.Cast.Full.uint128_to_uint64", @@ -29,20 +20,11 @@ 1, [ "@query" ], 0, - "e98c3493b1648e13e1520e90aaa8fe4c" + "a3e0071e3c6a79276e34a81cfd6db526" ], [ "FStar.Int.Cast.Full.uint64_to_uint128", - 3, 2, - 1, - [ "@query" ], - 0, - "f36a0c82feac8d43a610a8a1abee0f05" - ], - [ - "FStar.Int.Cast.Full.uint64_to_uint128", - 4, 2, 1, [ @@ -50,7 +32,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3bfbe1e16f9a929744204387fbf610eb" + "305c3bcd2b95fb874ba7ad1eee99eeb7" ], [ "FStar.Int.Cast.Full.uint128_to_uint64", @@ -59,7 +41,7 @@ 1, [ "@query" ], 0, - "8d71d08dee15245c628690e095d3b7f0" + "5e62ebbf2b73d08ddb5aa901b0c9761a" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Int.Cast.fst.hints b/ulib/FStar.Int.Cast.fst.hints index 62c3954d71a..c09469e8913 100644 --- a/ulib/FStar.Int.Cast.fst.hints +++ b/ulib/FStar.Int.Cast.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "4e3a7a2351d06a4ae87572b489ec21bb" + "f660adf6e22d02f8363571f5bc040af0" ], [ "FStar.Int.Cast.uint8_to_uint63", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "bdb988cc5a4123c81c935aab9e45d841" + "202ada10b26336002e9dcfb004f6abae" ], [ "FStar.Int.Cast.uint8_to_uint32", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "4181e59fd11abf5f1acf617e133b69e2" + "e805d49794ea2b2063163840e993a0fa" ], [ "FStar.Int.Cast.uint8_to_uint16", @@ -35,7 +35,7 @@ 1, [ "@query" ], 0, - "50644e5104b89549baed6786ea452efe" + "f9c21bb464001bcadeeb2952cb32d754" ], [ "FStar.Int.Cast.uint16_to_uint64", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "02ceb99f227cc3d59241171a998c7dc8" + "a967b0f2d1fba7568a949094a7045d8f" ], [ "FStar.Int.Cast.uint16_to_uint63", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "075b2ed77e2e707553d4d0437a6e45d0" + "036da59b694d16b103d7aca2aae659af" ], [ "FStar.Int.Cast.uint16_to_uint32", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "89a427cdd5c132886c2cbdc8b39d077f" + "fe50f347ca3385d93b1a1974affeec25" ], [ "FStar.Int.Cast.uint16_to_uint8", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "f10beddaacb55f1fc5412d12144f797c" + "e81b0f23a88aa7c0d01c3633b0beea4f" ], [ "FStar.Int.Cast.uint32_to_uint64", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "e4323188250360de82fdc6614b49d1b8" + "c73d3b7e7b3c8f06c04fd1810d5ebddb" ], [ "FStar.Int.Cast.uint32_to_uint63", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "a03da09222b37c493abd55df6bda8e62" + "69d0e3e2a77edb2e4d02a20548e96fc9" ], [ "FStar.Int.Cast.uint32_to_uint16", @@ -98,7 +98,7 @@ 1, [ "@query" ], 0, - "619a7d0404b443de3cb385e9098664a5" + "0839e4f64e3aa16a458701e769d346a3" ], [ "FStar.Int.Cast.uint32_to_uint8", @@ -107,7 +107,7 @@ 1, [ "@query" ], 0, - "30de1529102978c468562d4a7763f68e" + "543652c5e16b604847200f5b0be5d0ea" ], [ "FStar.Int.Cast.uint63_to_uint64", @@ -116,7 +116,7 @@ 1, [ "@query" ], 0, - "ed150a3564465790cd6507dcaa2598b1" + "c86b0157275a89721b04d98c7115ad4d" ], [ "FStar.Int.Cast.uint63_to_uint32", @@ -125,7 +125,7 @@ 1, [ "@query" ], 0, - "095af33e04a051bf966dc47d40261f79" + "cd17ac8ebe2ff1503ad1f48d73840140" ], [ "FStar.Int.Cast.uint63_to_uint16", @@ -134,7 +134,7 @@ 1, [ "@query" ], 0, - "ff4adf27fda8fbb5eeec6e8120ccf5a8" + "3cc3e129799a84c0d1d721d45d1cf4d1" ], [ "FStar.Int.Cast.uint63_to_uint8", @@ -143,7 +143,7 @@ 1, [ "@query" ], 0, - "23b2f1098085fa5f9d2e6d509437d1e3" + "e3f3ca43a6aec4a73b31cafbc54ff2f4" ], [ "FStar.Int.Cast.uint64_to_uint63", @@ -152,7 +152,7 @@ 1, [ "@query" ], 0, - "b213c785ef8177cf5a85d6fa38c61103" + "63ae50d9d3e517a2671debc8a68e3337" ], [ "FStar.Int.Cast.uint64_to_uint32", @@ -161,7 +161,7 @@ 1, [ "@query" ], 0, - "e2e195bd2611f2dfcc67bd4b1db2ce5a" + "2347d0d0a7ce4f1563921eda0a2cd98a" ], [ "FStar.Int.Cast.uint64_to_uint16", @@ -170,7 +170,7 @@ 1, [ "@query" ], 0, - "df46d099d3e9c64dd3cb7c6c85baf9d4" + "ec8910a9f82d6c33593a3451f76f02cd" ], [ "FStar.Int.Cast.uint64_to_uint8", @@ -179,7 +179,7 @@ 1, [ "@query" ], 0, - "741cbdb6ee4ef7762c3b65317f1971ea" + "d67a4da20aeed0c5bee17cf08612aa60" ], [ "FStar.Int.Cast.int8_to_int64", @@ -188,7 +188,7 @@ 1, [ "@query" ], 0, - "b2bd9a55cadb6481597bbdf3133005a3" + "56eaf33189075a68937d0d28db3d4ae6" ], [ "FStar.Int.Cast.int8_to_int63", @@ -197,7 +197,7 @@ 1, [ "@query" ], 0, - "b659999977971f92038e395430385bd0" + "ea4ec97e1b3233b606724b545d71460e" ], [ "FStar.Int.Cast.int8_to_int32", @@ -206,7 +206,7 @@ 1, [ "@query" ], 0, - "4b095a6075dcbc52c83e9f7c6a248213" + "77dd963365631e91fdfd55ba3dfc491d" ], [ "FStar.Int.Cast.int8_to_int16", @@ -215,7 +215,7 @@ 1, [ "@query" ], 0, - "fc34e269b458dab368c6b45667bdce5d" + "921b75eacbf385f873c397c94764b89d" ], [ "FStar.Int.Cast.int16_to_int64", @@ -224,7 +224,7 @@ 1, [ "@query" ], 0, - "c8ca01d82cfd2d5c94d7531de6660103" + "0074fb0b534f72bdb620c684cb2612d6" ], [ "FStar.Int.Cast.int16_to_int63", @@ -233,7 +233,7 @@ 1, [ "@query" ], 0, - "88c89eb5ada5d8f1b0f2ceb367bd1e27" + "7f466afb06f575c773fc2766ded37675" ], [ "FStar.Int.Cast.int16_to_int32", @@ -242,7 +242,7 @@ 1, [ "@query" ], 0, - "fc1da47a11d0544537c1a54b06522fb3" + "dd16fb13d0a0695fbc4a975b75a4adee" ], [ "FStar.Int.Cast.int16_to_int8", @@ -253,15 +253,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5094ffeebf47b705cfb554bc37bb1ec5" + "c3d3b68d13fb3fba3d974f87a1819388" ], [ "FStar.Int.Cast.int32_to_int64", @@ -270,7 +267,7 @@ 1, [ "@query" ], 0, - "361f5b8acda0e8aa3cc83d3fbf050265" + "6d7aae1adae8998e9f7437acf3714b0e" ], [ "FStar.Int.Cast.int32_to_int63", @@ -279,7 +276,7 @@ 1, [ "@query" ], 0, - "89bd3935e1645b859d4e7afc1b75ce59" + "59f80b5d024b5345003153b0a11f2403" ], [ "FStar.Int.Cast.int32_to_int16", @@ -290,15 +287,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2611c9ba58347d1371c6218c1dc4f872" + "db7ea1c9336bf647e1157a18aff64a78" ], [ "FStar.Int.Cast.int32_to_int8", @@ -309,15 +303,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "6218748ed14979af5dea095a2ae8c559" + "7fda26bcda4327c44000a2777c8bbbe1" ], [ "FStar.Int.Cast.int63_to_int64", @@ -326,7 +317,7 @@ 1, [ "@query" ], 0, - "5082b3c6ff32e1cef1fe7b52005708f4" + "be63efc9ab596f1653f15d23ff1dfbd9" ], [ "FStar.Int.Cast.int63_to_int32", @@ -337,15 +328,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7d2ce5ae083bf9fd4da8b74f6ee08498" + "4b24f6affbbb2bfa9e73cd75ec987855" ], [ "FStar.Int.Cast.int63_to_int16", @@ -356,15 +344,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "82a23a45de5d90905e39530896583b7b" + "86d5dcf67ae99acd446d3e03e65fdc5d" ], [ "FStar.Int.Cast.int63_to_int8", @@ -375,15 +360,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ee7e82cd3f0118a5921949ba08ac9061" + "02a37050d683297df48e2f21929896cd" ], [ "FStar.Int.Cast.int64_to_int63", @@ -394,15 +376,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "debd6c59987cc915c1bde542ef33efc0" + "40f6b98c6fb6e9f7138a3664bb8d53ff" ], [ "FStar.Int.Cast.int64_to_int32", @@ -413,15 +392,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "57f3ef745261a225e0c4c821bfea8f0c" + "b4bd601ae5b19cf56db6c9fdb20fe16c" ], [ "FStar.Int.Cast.int64_to_int16", @@ -432,15 +408,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "131e81d1aa0b4af3e686fe23a0eeb5a9" + "2b1824d66372671fca9b0edc83f98d7c" ], [ "FStar.Int.Cast.int64_to_int8", @@ -451,15 +424,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fb482730fc53ab5fbf0395725e08214d" + "e354fe748b61c9b1c0a8b02c46c9e59f" ], [ "FStar.Int.Cast.uint8_to_int64", @@ -468,7 +438,7 @@ 1, [ "@query" ], 0, - "dea6ef4cce184b2158b2332928171b41" + "b015eb409196d4fd62965c5fbb9a24e0" ], [ "FStar.Int.Cast.uint8_to_int63", @@ -477,7 +447,7 @@ 1, [ "@query" ], 0, - "97c9ddc91b15b3d2ea62ca4ac36ba17d" + "343a927defdb444eab90c6f584980409" ], [ "FStar.Int.Cast.uint8_to_int32", @@ -486,7 +456,7 @@ 1, [ "@query" ], 0, - "db9d37d4b725f55de8237e3d9f8f08f2" + "7703652ba0b6c6dd00cc2b5073bd6dcb" ], [ "FStar.Int.Cast.uint8_to_int16", @@ -495,7 +465,7 @@ 1, [ "@query" ], 0, - "5bcfa929d266d88067798be08d442ca9" + "f23f300f5caa5c38762acf39dfd97a36" ], [ "FStar.Int.Cast.uint8_to_int8", @@ -506,15 +476,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ae8abe1d6e99a881eb604f442acfe2bd" + "5c6b5189fb26040890b124f7c48c947e" ], [ "FStar.Int.Cast.uint16_to_int64", @@ -523,7 +490,7 @@ 1, [ "@query" ], 0, - "9723df0a13ab82d812308cab49916636" + "5975af758f36096fb891a0b7d430eb05" ], [ "FStar.Int.Cast.uint16_to_int63", @@ -532,7 +499,7 @@ 1, [ "@query" ], 0, - "fa860976ba1ddb0fcf492322c0bd31e8" + "cb284f27447bd82aef197597f4515521" ], [ "FStar.Int.Cast.uint16_to_int32", @@ -541,7 +508,7 @@ 1, [ "@query" ], 0, - "7a3d91066d5a5b077c6c2b5892a90cea" + "8106d9fea5e07f9e6bf6be8881a6c036" ], [ "FStar.Int.Cast.uint16_to_int16", @@ -552,15 +519,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3ca38e6886b7adac9d55cdd1aaad7828" + "8da1c61b171a65aadeaf32186c89e0fc" ], [ "FStar.Int.Cast.uint16_to_int8", @@ -571,15 +535,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f0846f24e3a25ebf61823d6e471e1399" + "9fe7d897df433f21fbc8c0a3c103a75e" ], [ "FStar.Int.Cast.uint32_to_int64", @@ -588,7 +549,7 @@ 1, [ "@query" ], 0, - "ddd478085fa89fb646952c2a408927a9" + "06d103d590364b5f2ea0c2f9c6acaa62" ], [ "FStar.Int.Cast.uint32_to_int63", @@ -597,7 +558,7 @@ 1, [ "@query" ], 0, - "9b76fd8c89851ee8ef0c6e17b3cffb2a" + "de3ef979d06db356246815263691f111" ], [ "FStar.Int.Cast.uint32_to_int32", @@ -608,15 +569,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0c3b6c14f2e348abc836c58a8c6a9443" + "d3e6bdf3547d40a6c9b5c4c4069b6e45" ], [ "FStar.Int.Cast.uint32_to_int16", @@ -627,15 +585,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a20b2fc9f7f21bbd323d983d322566d3" + "d2685543a58065ad9706ea04d05a033b" ], [ "FStar.Int.Cast.uint32_to_int8", @@ -646,15 +601,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "59f3242fe003a6d8aa73a5c33da910ff" + "9006a80cc4f82fef4170413ec7c0fd40" ], [ "FStar.Int.Cast.uint63_to_int64", @@ -663,7 +615,7 @@ 1, [ "@query" ], 0, - "c2ad33f29840f10d758d1b36bac9a2cb" + "8697ea9ccd26e2fec8c10d973926cd96" ], [ "FStar.Int.Cast.uint63_to_int63", @@ -674,15 +626,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "412d74833b9acd8c5002b350b1702297" + "116976d1d1f36c30434bb430f89af362" ], [ "FStar.Int.Cast.uint63_to_int32", @@ -693,15 +642,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5822cf7704bc983204ab383a9a5822dd" + "35794264a0ce0e3c5d67fb07ecf89882" ], [ "FStar.Int.Cast.uint63_to_int16", @@ -712,15 +658,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3c63d1e788767b6ac2bad23754f2a75e" + "57bf2f1d2da5fa5a04d2cde721b9c823" ], [ "FStar.Int.Cast.uint63_to_int8", @@ -731,15 +674,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3828f9b82d0fa4654a9200ecea61442d" + "acb29c855d8b1f20cfe231de1f10ea08" ], [ "FStar.Int.Cast.uint64_to_int64", @@ -750,15 +690,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "036af1426ab5077ad7b5918f1494d668" + "68bdd17d3cba4cd15e2dd6eda8afe445" ], [ "FStar.Int.Cast.uint64_to_int63", @@ -769,15 +706,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ceb501bfed24db09212dee53c2688c34" + "59cc7ee34ef680360ab0ceb55da368a8" ], [ "FStar.Int.Cast.uint64_to_int32", @@ -788,15 +722,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d854e8acc8db066957cf61ea23e0b85c" + "5e8d06d064b868558f6c4c6edd27df1c" ], [ "FStar.Int.Cast.uint64_to_int16", @@ -807,15 +738,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8a202b6b474e5a55b4ff8383657a7666" + "bd681282a3ee22bcb3395bb2654718f6" ], [ "FStar.Int.Cast.uint64_to_int8", @@ -826,15 +754,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2714b774feeee3fdbd24c52ee45179d5" + "6ec0c31ec3916979ad89a493018cc07f" ], [ "FStar.Int.Cast.int8_to_uint64", @@ -843,7 +768,7 @@ 1, [ "@query" ], 0, - "6080469868012546765ecdd940ccbbbd" + "caadfb2b603df6a1a2a08ff69f0f81b8" ], [ "FStar.Int.Cast.int8_to_uint63", @@ -852,7 +777,7 @@ 1, [ "@query" ], 0, - "be082b52de1b238ff5295d4244f2d156" + "9c0c924bca2a7b926cfaf082745b526e" ], [ "FStar.Int.Cast.int8_to_uint32", @@ -861,7 +786,7 @@ 1, [ "@query" ], 0, - "a018e5af9b6b036b3f599f9d1ee82dc2" + "33f4a01606f7bbd7e0c33f299acce83e" ], [ "FStar.Int.Cast.int8_to_uint16", @@ -870,7 +795,7 @@ 1, [ "@query" ], 0, - "1dafac09ab275da79923f817b95a458e" + "340ef3a14ddbeac4f37599945f43330e" ], [ "FStar.Int.Cast.int8_to_uint8", @@ -879,7 +804,7 @@ 1, [ "@query" ], 0, - "b55cdf00824e417b83e9f93167c28bd0" + "390fcbf7828d66b18704b7cdfc7fa9db" ], [ "FStar.Int.Cast.int16_to_uint64", @@ -888,7 +813,7 @@ 1, [ "@query" ], 0, - "b25a5ba6fe4d84c3d40ed5f7fc99734a" + "594549c90fa5b56d579400efab004cc8" ], [ "FStar.Int.Cast.int16_to_uint63", @@ -897,7 +822,7 @@ 1, [ "@query" ], 0, - "49a5c1fdb8da48c3f6cc79373ed2edb5" + "d9e80bdf076fa0702d31d50c327023e1" ], [ "FStar.Int.Cast.int16_to_uint32", @@ -906,7 +831,7 @@ 1, [ "@query" ], 0, - "ef6c5a8e286e408d67901c158773f13e" + "e1f59c32d5ff9f33e71bf1057a5595b4" ], [ "FStar.Int.Cast.int16_to_uint16", @@ -915,7 +840,7 @@ 1, [ "@query" ], 0, - "7d224c6f23519cf8d2eb5f7dd8ef8b76" + "59856be0a4c73698f49fef804765f824" ], [ "FStar.Int.Cast.int16_to_uint8", @@ -924,7 +849,7 @@ 1, [ "@query" ], 0, - "941a59b7c63a22763af092736b71a19e" + "95c1f96d6f26776e5d285ed158ca894c" ], [ "FStar.Int.Cast.int32_to_uint64", @@ -933,7 +858,7 @@ 1, [ "@query" ], 0, - "4ed7ba7ae32dc855d8cddaead4f2842b" + "011e8694591b560e7256801f627ecc0b" ], [ "FStar.Int.Cast.int32_to_uint63", @@ -942,7 +867,7 @@ 1, [ "@query" ], 0, - "39cca2165bd2a3df9b31e5c93b78f4ce" + "e1834dcbd9b4d8817d54b1278917a5bd" ], [ "FStar.Int.Cast.int32_to_uint32", @@ -951,7 +876,7 @@ 1, [ "@query" ], 0, - "67f7c1d49389bdd23834c1c51bbcda9f" + "644b065beb540d077bd431b88a093f02" ], [ "FStar.Int.Cast.int32_to_uint16", @@ -960,7 +885,7 @@ 1, [ "@query" ], 0, - "15c3fa47cc8ba3cc467d9149f5e5be51" + "550c007e75f5c6fa5473b783fcfa1313" ], [ "FStar.Int.Cast.int32_to_uint8", @@ -969,7 +894,7 @@ 1, [ "@query" ], 0, - "fa1c4f780bcf72d272ccf5466150f0e4" + "76f871ad5070e69fd696e1779afb813f" ], [ "FStar.Int.Cast.int63_to_uint64", @@ -978,7 +903,7 @@ 1, [ "@query" ], 0, - "7c45198555c3ed820d0e0c1faf782694" + "d6861fe5c72a1a59e87bb6a75605166e" ], [ "FStar.Int.Cast.int63_to_uint63", @@ -987,7 +912,7 @@ 1, [ "@query" ], 0, - "3b87702258185d873e983c0b7f834fed" + "ddd1b4ce69b5b923a8ccab82edc58fec" ], [ "FStar.Int.Cast.int63_to_uint32", @@ -996,7 +921,7 @@ 1, [ "@query" ], 0, - "5c7828528f84ea9cf1710e47ff11c02d" + "28195e343f386b46a288f11b86a94835" ], [ "FStar.Int.Cast.int63_to_uint16", @@ -1005,7 +930,7 @@ 1, [ "@query" ], 0, - "27cb2cd814497b1e27a14487fb2bad32" + "523e3b3824ebb0e338200488a2b1a743" ], [ "FStar.Int.Cast.int63_to_uint8", @@ -1014,7 +939,7 @@ 1, [ "@query" ], 0, - "7c87d06f2a7c5462f073a0e499614399" + "65ed992be4417101c551424d2b7d1202" ], [ "FStar.Int.Cast.int64_to_uint64", @@ -1023,7 +948,7 @@ 1, [ "@query" ], 0, - "5cc23b323d11df7a5655d38a7ac4e0a6" + "0d140e4280a697f47819fdb410278aca" ], [ "FStar.Int.Cast.int64_to_uint63", @@ -1032,7 +957,7 @@ 1, [ "@query" ], 0, - "3df68f24cc59c6539ac5a13db75a2f1e" + "40048c11be291f2cb008630377fbdc84" ], [ "FStar.Int.Cast.int64_to_uint32", @@ -1041,7 +966,7 @@ 1, [ "@query" ], 0, - "08f5c4ab8b62ff767d0dac655a8268e2" + "e3e32d3d99a0fcba9032953165aea0d0" ], [ "FStar.Int.Cast.int64_to_uint16", @@ -1050,7 +975,7 @@ 1, [ "@query" ], 0, - "488ff171f3b476355d87a758c9bce519" + "8b0cb6feeda4c97940944e49042f3dde" ], [ "FStar.Int.Cast.int64_to_uint8", @@ -1059,7 +984,7 @@ 1, [ "@query" ], 0, - "602fd1c9dc7f3a0e39aba45225712995" + "1bca88cd5c01aee90b98849d8d66d679" ], [ "FStar.Int.Cast.uint8_to_uint64", @@ -1068,7 +993,7 @@ 1, [ "@query" ], 0, - "452afc67f0f9a0a0a1993bc6f24b8ee7" + "d1eb045be87ea86b60250a6914393b7a" ], [ "FStar.Int.Cast.uint8_to_uint63", @@ -1077,7 +1002,7 @@ 1, [ "@query" ], 0, - "9004f4bd5bdf56dea8ad9a660524adf9" + "e8c6b5476befeb72a7b678063fb74b48" ], [ "FStar.Int.Cast.uint8_to_uint32", @@ -1086,7 +1011,7 @@ 1, [ "@query" ], 0, - "39d59961382306baf4e0a65aa1dc3715" + "426f4333f726f44564d11c79cf9b82c4" ], [ "FStar.Int.Cast.uint8_to_uint16", @@ -1095,7 +1020,7 @@ 1, [ "@query" ], 0, - "518075eb5e6b10c46086edb965112cc2" + "3a91c8682a0c4e0c60c98470981a17c5" ], [ "FStar.Int.Cast.uint16_to_uint64", @@ -1104,7 +1029,7 @@ 1, [ "@query" ], 0, - "94a405bdac110ce87ea2e8197f215d05" + "67a5e0e7f929135ad6a45eacb2795e2b" ], [ "FStar.Int.Cast.uint16_to_uint63", @@ -1113,7 +1038,7 @@ 1, [ "@query" ], 0, - "6d8f7e73af11ebea0367061695f3ccc6" + "e1b1dea3cf313ddca7dca905110e5859" ], [ "FStar.Int.Cast.uint16_to_uint32", @@ -1122,7 +1047,7 @@ 1, [ "@query" ], 0, - "0a9ee12edf7b90f4bd26fed6507db75b" + "a82bd6858cbda7ced209a2e9b30431af" ], [ "FStar.Int.Cast.uint16_to_uint8", @@ -1131,7 +1056,7 @@ 1, [ "@query" ], 0, - "40aa56ce9915b6835c08152427d20852" + "19c6f68e29052e43ea4a9bbb76841bcf" ], [ "FStar.Int.Cast.uint32_to_uint64", @@ -1140,7 +1065,7 @@ 1, [ "@query" ], 0, - "373ae5c531b00099b373c3a7204a4397" + "0a778b10d7b69ba017c9f998a4e508a4" ], [ "FStar.Int.Cast.uint32_to_uint63", @@ -1149,7 +1074,7 @@ 1, [ "@query" ], 0, - "c6956a674ef86f34a0b87f804262ec42" + "f7b421ee3ffc5aa69215e92fabbdd69a" ], [ "FStar.Int.Cast.uint32_to_uint16", @@ -1158,7 +1083,7 @@ 1, [ "@query" ], 0, - "765fdce69bc727740c555abad903b34c" + "dddf78327e9b07867b5459d5e688c158" ], [ "FStar.Int.Cast.uint32_to_uint8", @@ -1167,7 +1092,7 @@ 1, [ "@query" ], 0, - "da7a2b8397c1ff9ff6ca6dc664a2a62b" + "3be21919f581a9ec368d92ca67d75f3f" ], [ "FStar.Int.Cast.uint63_to_uint64", @@ -1176,7 +1101,7 @@ 1, [ "@query" ], 0, - "33e1b2dc4c0108b6373c25ab81b7bc0a" + "b30e73efb1a491083f682b5bb2c6a255" ], [ "FStar.Int.Cast.uint63_to_uint32", @@ -1185,7 +1110,7 @@ 1, [ "@query" ], 0, - "a5490aba24ecbb05f1e9900ddf62a4eb" + "278aa0a44323ed0c3a98382933e4d3a6" ], [ "FStar.Int.Cast.uint63_to_uint16", @@ -1194,7 +1119,7 @@ 1, [ "@query" ], 0, - "c102d939c71fa33925aa5d4463b25e8a" + "ac9d31050114c010b6f18f7921f53f5a" ], [ "FStar.Int.Cast.uint63_to_uint8", @@ -1203,7 +1128,7 @@ 1, [ "@query" ], 0, - "b144e387aa4572e44020075b9637d8fd" + "aff8e3a9f2458e14e373ac749effdbf2" ], [ "FStar.Int.Cast.uint64_to_uint63", @@ -1212,7 +1137,7 @@ 1, [ "@query" ], 0, - "20467c8a5e4e53da407b850e625add85" + "2e1fd6d5dcd316910c2d4961ace8fa16" ], [ "FStar.Int.Cast.uint64_to_uint32", @@ -1221,7 +1146,7 @@ 1, [ "@query" ], 0, - "dd9f1c7368eb0e8a3b4a9bec1974bf66" + "53865c9f7d138412cafd9e29509e64e3" ], [ "FStar.Int.Cast.uint64_to_uint16", @@ -1230,7 +1155,7 @@ 1, [ "@query" ], 0, - "a5c4aec410b2221a5070616b9616ad70" + "1f630be2968e927a00d90e27a76e895a" ], [ "FStar.Int.Cast.uint64_to_uint8", @@ -1239,7 +1164,7 @@ 1, [ "@query" ], 0, - "e2eacaaf8446063ad122d68b737c0a2c" + "8bb74a2091181d28f59c0e29381b1b99" ], [ "FStar.Int.Cast.int8_to_int64", @@ -1248,7 +1173,7 @@ 1, [ "@query" ], 0, - "dddbddcdf2712c22d90334f2bf18b32d" + "8a3b6cf382fd23ef644edf66db0de275" ], [ "FStar.Int.Cast.int8_to_int63", @@ -1257,7 +1182,7 @@ 1, [ "@query" ], 0, - "d79a871ead4bd9721aecc8fa351e0c8a" + "023b42ab7197331e28524ed59ce6e5a3" ], [ "FStar.Int.Cast.int8_to_int32", @@ -1266,7 +1191,7 @@ 1, [ "@query" ], 0, - "ac2d6a0aea415f23d32061ae98b628df" + "2b9b51d67fd25f11506f0e898cd91260" ], [ "FStar.Int.Cast.int8_to_int16", @@ -1275,7 +1200,7 @@ 1, [ "@query" ], 0, - "9ece13a2c44a93c0718bcaa8d86176be" + "9e26c4b936eda8aeefc185c3f2976120" ], [ "FStar.Int.Cast.int16_to_int64", @@ -1284,7 +1209,7 @@ 1, [ "@query" ], 0, - "b3bfe6a522d7ca944eed1daad1b2595b" + "be6b7389e78733144c20e948d0e56bcc" ], [ "FStar.Int.Cast.int16_to_int63", @@ -1293,7 +1218,7 @@ 1, [ "@query" ], 0, - "c2ddb4c184f7d245101c34b0deeb4346" + "7a6ff7230ab3af945e8d4d0feecddd99" ], [ "FStar.Int.Cast.int16_to_int32", @@ -1302,7 +1227,7 @@ 1, [ "@query" ], 0, - "49c84d905c73511431dd76279aab579c" + "eb6c358ba0af5a714f341815fa09ca04" ], [ "FStar.Int.Cast.int16_to_int8", @@ -1313,15 +1238,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f0b465bfadbc8b39723aaacfd482febc" + "38805ebcb0c0dcc9b4c02153ac7012dd" ], [ "FStar.Int.Cast.int32_to_int64", @@ -1330,7 +1252,7 @@ 1, [ "@query" ], 0, - "397e8fb81f2be8828a9b2bc79ac39553" + "6b9049ce9014ada112f8a0a2284fa8bd" ], [ "FStar.Int.Cast.int32_to_int63", @@ -1339,7 +1261,7 @@ 1, [ "@query" ], 0, - "db9510d47a12e4a39df4e84b02934c9b" + "a5b5d891bde04033838c3b09487e8bc8" ], [ "FStar.Int.Cast.int32_to_int16", @@ -1350,15 +1272,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c55da54459ef39162b1eea68f3b5dad2" + "b1a6870e3358bd5433e1835ec4738c63" ], [ "FStar.Int.Cast.int32_to_int8", @@ -1369,15 +1288,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "69ad631e6002375c69b59ec69b336e43" + "6ba4cc4846c5e3aabf2346149a63e3da" ], [ "FStar.Int.Cast.int63_to_int64", @@ -1386,7 +1302,7 @@ 1, [ "@query" ], 0, - "1259bf7d0e45422ba0c9b972273f0c14" + "1cf953400c5649ce8e66249357629243" ], [ "FStar.Int.Cast.int63_to_int32", @@ -1397,15 +1313,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5e759c1007eb28999d3218acbb7cff41" + "4deb5a3bc721061b47c0f483628525b9" ], [ "FStar.Int.Cast.int63_to_int16", @@ -1416,15 +1329,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b574361f634db9097d29ccfdd6072e9a" + "7d62b8d37a2096ee257bfba1309fc6b5" ], [ "FStar.Int.Cast.int63_to_int8", @@ -1435,15 +1345,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8e8660374c0a95a0737b40bdb7b04218" + "43dc59c3041cb6e4a484051f9f5d4c26" ], [ "FStar.Int.Cast.int64_to_int63", @@ -1454,15 +1361,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "aebb21a784c46ed74a69dbab01f86779" + "465cce35d11ccf31f96e434f2e094792" ], [ "FStar.Int.Cast.int64_to_int32", @@ -1473,15 +1377,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "443a763a7ff00b8578bd3c4c8a460bba" + "ee1fd6c99051dd6ca3c233703269fcdd" ], [ "FStar.Int.Cast.int64_to_int16", @@ -1492,15 +1393,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "30507342f0ab3906c51274fba57b4412" + "ca7c56268ae6d4784dd37532638a8c47" ], [ "FStar.Int.Cast.int64_to_int8", @@ -1511,15 +1409,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "63b4dab20789aaedcc527c7d7d345547" + "3bc24d420dd0a3de034f11a2e5ef6839" ], [ "FStar.Int.Cast.uint8_to_int64", @@ -1528,7 +1423,7 @@ 1, [ "@query" ], 0, - "9e8a0124bc3223d296b02cca541ba172" + "7d13b8e2ff45ac88c33ca712aa213746" ], [ "FStar.Int.Cast.uint8_to_int63", @@ -1537,7 +1432,7 @@ 1, [ "@query" ], 0, - "2f7ff23781a644a2655e13cacb5d81da" + "d96f5a75888dd3b972a5d4a98a437618" ], [ "FStar.Int.Cast.uint8_to_int32", @@ -1546,7 +1441,7 @@ 1, [ "@query" ], 0, - "0d3d0d2c1fdc8f3d132e14e5726519c1" + "9aa26924fcf4575f32f9996985686ea1" ], [ "FStar.Int.Cast.uint8_to_int16", @@ -1555,7 +1450,7 @@ 1, [ "@query" ], 0, - "679a635ba68e04e73845eba919e07184" + "6571e86e054f1583967361a5a3355233" ], [ "FStar.Int.Cast.uint8_to_int8", @@ -1566,15 +1461,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "44e0171a02cc6e577b7e488f7bf6a81c" + "56bdcbd13039655adf4dbb54339214fc" ], [ "FStar.Int.Cast.uint16_to_int64", @@ -1583,7 +1475,7 @@ 1, [ "@query" ], 0, - "17bc412ca1ea680a9dc8e0977a5aadb5" + "284c822abe06fea9df29b72ed4e5925d" ], [ "FStar.Int.Cast.uint16_to_int63", @@ -1592,7 +1484,7 @@ 1, [ "@query" ], 0, - "dbe2698de5cc05d2f8c662d2549cea57" + "6e4e4f1bbdbc655529009641a7f6cb24" ], [ "FStar.Int.Cast.uint16_to_int32", @@ -1601,7 +1493,7 @@ 1, [ "@query" ], 0, - "d84b993d4be80b5ea0dcfa8e4e9b2f5b" + "5beed843023ef998bc55e915ffa6fb3d" ], [ "FStar.Int.Cast.uint16_to_int16", @@ -1612,15 +1504,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "940009acd5f340fcc6656f7aaaedcc96" + "732ee7f66abc75ea9ee00b175e82b414" ], [ "FStar.Int.Cast.uint16_to_int8", @@ -1631,15 +1520,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7f6655443d6823187d2c102570eebe63" + "b13a45aa48eb944ad3c02141e18c4166" ], [ "FStar.Int.Cast.uint32_to_int64", @@ -1648,7 +1534,7 @@ 1, [ "@query" ], 0, - "50b1e9d588f16a73fa5f7cf80bb0e581" + "9ad98dd0fa01d19be69ff34c420ea2de" ], [ "FStar.Int.Cast.uint32_to_int63", @@ -1657,7 +1543,7 @@ 1, [ "@query" ], 0, - "4e6b1851aaf6884e728bb05d20898a8b" + "8e2e71ef206f28aeeca0b5fa6c343a66" ], [ "FStar.Int.Cast.uint32_to_int32", @@ -1668,15 +1554,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ac13633d9a1a89420d1ba14aeb4f6e1c" + "9341bd0b92b16456da153a3ddea67f12" ], [ "FStar.Int.Cast.uint32_to_int16", @@ -1687,15 +1570,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e347b86e5fa4d7b64f401f047539fc95" + "592c5a22ea5c57a52afcf08dc8f38f29" ], [ "FStar.Int.Cast.uint32_to_int8", @@ -1706,15 +1586,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a6967537b4679aa503d4024ac21fcae8" + "e1f7f42fd810558605fb392a40f59516" ], [ "FStar.Int.Cast.uint63_to_int64", @@ -1723,7 +1600,7 @@ 1, [ "@query" ], 0, - "5b0f3e039eef8887b868c9f0354654bb" + "fedd96a91ee9a1f0b7d4dfdd511f5cf4" ], [ "FStar.Int.Cast.uint63_to_int63", @@ -1734,15 +1611,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "17486ee706b87543cf983749ab56c027" + "d0d2b7aa830f30dd7e1d926f358bd39f" ], [ "FStar.Int.Cast.uint63_to_int32", @@ -1753,15 +1627,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b955c700188ffc059c6916d61e7f04cf" + "808fabb97cfe78f461e6bcd9ce774c17" ], [ "FStar.Int.Cast.uint63_to_int16", @@ -1772,15 +1643,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e879be01d869b651510e353dc06d359e" + "2faef12799998f2efeec2e870606fb32" ], [ "FStar.Int.Cast.uint63_to_int8", @@ -1791,15 +1659,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "93817edbd288787b66a907d7f2d5effe" + "09746e25b08ad58f14c15c24b03367e3" ], [ "FStar.Int.Cast.uint64_to_int64", @@ -1810,15 +1675,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "daecb9eb4449e26bc342b91dd0f17dc2" + "fbec34254f60ff390784d82f3267b116" ], [ "FStar.Int.Cast.uint64_to_int63", @@ -1829,15 +1691,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b6895d934f6a540aa95ec299f432d38c" + "fccc01ea76880310d9b74a14b0fc146d" ], [ "FStar.Int.Cast.uint64_to_int32", @@ -1848,15 +1707,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9c2203eb4897392fcbc5740ccf570444" + "1ae9ad3e69528d00cf41822a3842b7de" ], [ "FStar.Int.Cast.uint64_to_int16", @@ -1867,15 +1723,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "70a37b46ad06f97d020d0f6f431ac678" + "45fb8e0930df8dabf6d4c2eeb89d1682" ], [ "FStar.Int.Cast.uint64_to_int8", @@ -1886,15 +1739,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8758bd269b6b60e29df424d29361068d" + "6949284409f6e10a144423e687ac2021" ], [ "FStar.Int.Cast.int8_to_uint64", @@ -1903,7 +1753,7 @@ 1, [ "@query" ], 0, - "c27410538d99f34b2dfc2952689e7b00" + "3b7c78199927ee2a3b5ba63def2faaa8" ], [ "FStar.Int.Cast.int8_to_uint63", @@ -1912,7 +1762,7 @@ 1, [ "@query" ], 0, - "8a8673e7e1809823daee8b39aa6c0599" + "85c0725026d58b477db6c186d58b8dcc" ], [ "FStar.Int.Cast.int8_to_uint32", @@ -1921,7 +1771,7 @@ 1, [ "@query" ], 0, - "9b65c64eb70ead15e58dc0ab4e088cd7" + "319b545a023ae6bc7a3fe7478f9bd05d" ], [ "FStar.Int.Cast.int8_to_uint16", @@ -1930,7 +1780,7 @@ 1, [ "@query" ], 0, - "52b36f5bc707a4f3559d51dc577ad584" + "1d4dc887321f1eb24d5949e82cbbca95" ], [ "FStar.Int.Cast.int8_to_uint8", @@ -1939,7 +1789,7 @@ 1, [ "@query" ], 0, - "9b19af5199265947eb3a1da445818a7f" + "5261772222c265d4c6aca666e6275439" ], [ "FStar.Int.Cast.int16_to_uint64", @@ -1948,7 +1798,7 @@ 1, [ "@query" ], 0, - "e8603e44acb5e9d800e96c3c74228109" + "74fdf6c583cfba7e1fd4d39ddd4daba4" ], [ "FStar.Int.Cast.int16_to_uint63", @@ -1957,7 +1807,7 @@ 1, [ "@query" ], 0, - "f46d77af53a809f642e9924af9bfaf11" + "44d9d9cb2605e8150b99d5537d3b76b6" ], [ "FStar.Int.Cast.int16_to_uint32", @@ -1966,7 +1816,7 @@ 1, [ "@query" ], 0, - "9cc96be8a85d5b90cab9c67867b6aefe" + "47833f198e4b5bd3f6de8de2a64e2c50" ], [ "FStar.Int.Cast.int16_to_uint16", @@ -1975,7 +1825,7 @@ 1, [ "@query" ], 0, - "da6d111c98bca2cb0c19f203629173ef" + "1716636ba454f13950cebabe2891ef00" ], [ "FStar.Int.Cast.int16_to_uint8", @@ -1984,7 +1834,7 @@ 1, [ "@query" ], 0, - "c51b2550c4ff3381d483e77598743507" + "fcaa28d87dffb14695deffe0fa5338cb" ], [ "FStar.Int.Cast.int32_to_uint64", @@ -1993,7 +1843,7 @@ 1, [ "@query" ], 0, - "0a7888acec6e24fabc50744728928946" + "09328e745a01f6be95808adb82547491" ], [ "FStar.Int.Cast.int32_to_uint63", @@ -2002,7 +1852,7 @@ 1, [ "@query" ], 0, - "f3506108667679b6c5401cfb4bd07c1a" + "b379ed2ff19bf9884a8db5792409ad46" ], [ "FStar.Int.Cast.int32_to_uint32", @@ -2011,7 +1861,7 @@ 1, [ "@query" ], 0, - "e8ad1f9612c6c0a5267f8918b4ad00a5" + "d53b501c1b116cb4ba97961a1e60d163" ], [ "FStar.Int.Cast.int32_to_uint16", @@ -2020,7 +1870,7 @@ 1, [ "@query" ], 0, - "75b19981659217bcf55a791b84350b78" + "ac63a19046294a553eee75c945e7f212" ], [ "FStar.Int.Cast.int32_to_uint8", @@ -2029,7 +1879,7 @@ 1, [ "@query" ], 0, - "cb750df0bb3088d4edc7bd712c1c7282" + "ca46ec0bce5ed365f241f7ebb5ca4246" ], [ "FStar.Int.Cast.int63_to_uint64", @@ -2038,7 +1888,7 @@ 1, [ "@query" ], 0, - "8fa3156a4be287f99d41b98aeb114943" + "6cfeb8800c8e8d2c74db757f231d5561" ], [ "FStar.Int.Cast.int63_to_uint63", @@ -2047,7 +1897,7 @@ 1, [ "@query" ], 0, - "55a97df087b28a35b395796f0b392927" + "ffac7c874c9a025494eebe942150c8a6" ], [ "FStar.Int.Cast.int63_to_uint32", @@ -2056,7 +1906,7 @@ 1, [ "@query" ], 0, - "cbce094d04f69ddb8ffebe3737f4cba9" + "7f509d30f97cf772ebf94a9fc072542d" ], [ "FStar.Int.Cast.int63_to_uint16", @@ -2065,7 +1915,7 @@ 1, [ "@query" ], 0, - "0a2fdf0aee7c1b802a3d6a91d70227ad" + "216c9f7c260bda4e0f696415c13807c8" ], [ "FStar.Int.Cast.int63_to_uint8", @@ -2074,7 +1924,7 @@ 1, [ "@query" ], 0, - "68d37e833b329c2203f99c20e8f60142" + "f34742f34c3cda850d9c12048ce568ea" ], [ "FStar.Int.Cast.int64_to_uint64", @@ -2083,7 +1933,7 @@ 1, [ "@query" ], 0, - "63e4b594c9151443f2869af4f7a0833c" + "16419185c78c9eaff1593d714684c99f" ], [ "FStar.Int.Cast.int64_to_uint63", @@ -2092,7 +1942,7 @@ 1, [ "@query" ], 0, - "892cdd376bebf2c64a8c2af12e23f5b6" + "95d4da19770f8701caa1957f27cbabdd" ], [ "FStar.Int.Cast.int64_to_uint32", @@ -2101,7 +1951,7 @@ 1, [ "@query" ], 0, - "c5a1224bae645a00939133e90e8d1cec" + "f10c080990f0e932333fc5ad3c32e4b3" ], [ "FStar.Int.Cast.int64_to_uint16", @@ -2110,7 +1960,7 @@ 1, [ "@query" ], 0, - "daa53c0019d4ad83fb3478fdbfa74bfe" + "24214eeb8e58b36a1a2c6b3f771ae27f" ], [ "FStar.Int.Cast.int64_to_uint8", @@ -2119,7 +1969,7 @@ 1, [ "@query" ], 0, - "d3b63e733308f8be441240cf8dcca161" + "61a1e9911a1ff9acc123da9c7335bd7b" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Int.fst b/ulib/FStar.Int.fst index f6524f7ef35..a3ad13a9082 100644 --- a/ulib/FStar.Int.fst +++ b/ulib/FStar.Int.fst @@ -301,6 +301,7 @@ val one_to_vec_lemma: #n:pos{1 < n} -> i:nat{i < n} -> let one_to_vec_lemma #n i = if i = n - 1 then () else zero_to_vec_lemma #n i +#reset-options "--smtencoding.elim_box true --smtencoding.l_arith_repr native" val pow2_to_vec_lemma: #n:pos -> p:nat{p < n-1} -> i:nat{i < n} -> Lemma (requires True) (ensures index (to_vec (pow2_n #n p)) i = index (elem_vec #n (n - p - 1)) i) @@ -309,6 +310,7 @@ let rec pow2_to_vec_lemma #n p i = if i = n - 1 then () else if p = 0 then one_to_vec_lemma #n i else pow2_to_vec_lemma #(n - 1) (p - 1) i +#reset-options val pow2_from_vec_lemma: #n:pos -> p:pos{p < n-1} -> Lemma (requires True) (ensures from_vec (elem_vec #n p) = pow2_n #n (n - p - 1)) @@ -448,12 +450,15 @@ val logand_pow2_minus_one: #n:pos{1 < n} -> a:int_t n -> m:pos{m < n} -> let logand_pow2_minus_one #n a m = UInt.logand_le (to_uint a) (to_uint (pow2_minus_one #n m)) +#push-options "--z3rlimit 25" val logand_max: #n:pos{1 < n} -> a:int_t n{0 <= a} -> Lemma (0 <= logand a (max_int n) /\ a = logand a (max_int n)) +#push-options "--z3rlimit_factor 2" let logand_max #n a = sign_bit_positive a; sign_bit_positive #n (max_int n); nth_lemma a (logand a (max_int n)) +#pop-options (* Bitwise XOR operator *) val logxor_commutative: #n:pos -> a:int_t n -> b:int_t n -> @@ -486,6 +491,12 @@ val logxor_neq_nonzero: #n:pos -> a:int_t n -> b:int_t n -> Lemma let logxor_neq_nonzero #n a b = UInt.logxor_neq_nonzero (to_uint a) (to_uint b) +val lognot_negative: #n:pos -> a:int_t n -> Lemma + (requires a < 0) + (ensures lognot a == UInt.lognot #n (a + pow2 n)) +let lognot_negative #n a = + assert_norm (pow2 n = 2 * pow2 (n - 1)); + UInt.lemma_lognot_value_mod #n (a + pow2 n) (* Shift operators *) @@ -497,6 +508,10 @@ let shift_left #n a s = from_vec (shift_left_vec #n (to_vec #n a) s) val shift_right: #n:pos -> a:int_t n{0 <= a} -> s:nat -> Tot (int_t n) let shift_right #n a s = from_vec (shift_right_vec #n (to_vec #n a) s) +val shift_arithmetic_right: #n:pos -> a:int_t n -> s:nat -> Tot (int_t n) +let shift_arithmetic_right #n a s = + from_vec (shift_arithmetic_right_vec #n (to_vec #n a) s) + (* Shift operators lemmas *) val shift_left_lemma_1: #n:pos -> a:int_t n{0 <= a} -> s:nat -> i:nat{i < n && i >= n - s} -> Lemma (requires True) @@ -510,6 +525,13 @@ val shift_left_lemma_2: #n:pos -> a:int_t n{0 <= a} -> s:nat -> i:nat{i < n && i [SMTPat (nth (shift_left #n a s) i)] let shift_left_lemma_2 #n a s i = () +val shift_left_value_lemma: #n:pos -> a:int_t n{0 <= a} -> s:nat -> + Lemma (requires True) + (ensures shift_left #n a s = (a * pow2 s) @% pow2 n) + [SMTPat (shift_left #n a s)] +let shift_left_value_lemma #n a s = + UInt.shift_left_value_lemma #n a s + val shift_right_lemma_1: #n:pos -> a:int_t n{0 <= a} -> s:nat -> i:nat{i < n && i < s} -> Lemma (requires True) (ensures (nth (shift_right #n a s) i = false)) @@ -522,9 +544,14 @@ val shift_right_lemma_2: #n:pos -> a:int_t n{0 <= a} -> s:nat -> i:nat{i < n && [SMTPat (nth (shift_right #n a s) i)] let shift_right_lemma_2 #n a s i = () -val shift_left_value_lemma: #n:pos -> a:int_t n{0 <= a} -> s:nat -> +val shift_arithmetic_right_lemma_1: #n:pos -> a:int_t n -> s:nat -> i:nat{i < n && i < s} -> Lemma (requires True) - (ensures shift_left #n a s = (a * pow2 s) @% pow2 n) - [SMTPat (shift_left #n a s)] -let shift_left_value_lemma #n a s = - UInt.shift_left_value_lemma #n a s + (ensures (nth (shift_arithmetic_right #n a s) i = nth a 0)) + [SMTPat (nth (shift_arithmetic_right #n a s) i)] +let shift_arithmetic_right_lemma_1 #n a s i = () + +val shift_arithmetic_right_lemma_2: #n:pos -> a:int_t n -> s:nat -> i:nat{i < n && i >= s} -> + Lemma (requires True) + (ensures (nth (shift_arithmetic_right #n a s) i = nth #n a (i - s))) + [SMTPat (nth (shift_arithmetic_right #n a s) i)] +let shift_arithmetic_right_lemma_2 #n a s i = () diff --git a/ulib/FStar.Int.fst.hints b/ulib/FStar.Int.fst.hints index 4c1e7e6925d..626f19500c3 100644 --- a/ulib/FStar.Int.fst.hints +++ b/ulib/FStar.Int.fst.hints @@ -1,63 +1,63 @@ [ - "ú\u0003C•Á€,Å…¼òá§Ùl¨", + "y°4¾|tŒ«.¼\rÚ¸Ÿ—\u007f", [ [ "FStar.Int.pow2_values", 1, - 2, - 1, + 0, + 0, [ "@query" ], 0, - "f43532fb30c013f7c0ec9617b95949b1" + "9110ddf943f647a72238ca692eec720b" ], [ "FStar.Int.max_int", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "aca3004b9a5a201ef195ae64d6fae88b" + "6ec8390f347e39e58277bfe4c9b54ae7" ], [ "FStar.Int.min_int", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0935118b5b17e86d1b73896d7c3869b9" + "c5933ed26318c8c032e507a044d16b28" ], [ "FStar.Int.op_Slash", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.abs", "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" ], 0, - "71ad434cc38f5dcb644c41e2c89212a8" + "d347070d47c35571fa470b991b8fd182" ], [ "FStar.Int.op_At_Percent", 1, - 2, - 1, + 0, + 0, [ "@query" ], 0, - "92328e2b4f6eb9fd4e296c9010ee00ec" + "3c6e39c9404e1f65beb2eb9d58fda1da" ], [ "FStar.Int.zero", @@ -67,22 +67,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "cafe955da2b2678516085450f48879d8" + "95a6a32b70e8dcb6139eace8989e8bf8" ], [ "FStar.Int.pow2_n", @@ -93,24 +91,22 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", "typing_Prims.pow2" ], 0, - "129e587373340b3295a89b180732a29d" + "b39d46b525236edda959e0b9629700f3" ], [ "FStar.Int.pow2_minus_one", @@ -120,26 +116,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_Prims.pow2" ], 0, - "aaf75526dae791a6edf4c9dea3b7f9ed" + "15bc7273b945d3cb3d4d813f3aeeb670" ], [ "FStar.Int.one", @@ -149,25 +142,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_Prims.pow2" ], 0, - "ebb250cf4571216b339df6ec1229d8e4" + "af0e6a12e2e3df7f14157d94ac9fb3b8" ], [ "FStar.Int.ones", @@ -177,22 +168,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "346ca3abbf252a0cecceb17c166bb3e3" + "8531ded9b645efefe576ed2fbfa08862" ], [ "FStar.Int.incr", @@ -208,11 +197,11 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "966c058e72ed2b9e484e911fac6a2b55" + "ad539809a253c7398665a64ce1acdc04" ], [ "FStar.Int.decr", @@ -228,11 +217,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "55fe9794660a22604ac2f8c32825eda8" + "641c0c74b94bf8a59cce91f56ef5c434" ], [ "FStar.Int.incr_underspec", @@ -248,11 +237,11 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "c3cec143b5d1b44e07a5cfb32f50bef1" + "c0a2441fa95a4ac36eda33c074da2836" ], [ "FStar.Int.decr_underspec", @@ -269,11 +258,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "0edc6d86def0838e66845f6705e9583b" + "d81a28221e99e5685c5de00a71068714" ], [ "FStar.Int.incr_mod", @@ -281,21 +270,18 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "98ea22bafd6168d54d751a1179e59b41" + "9c5dcb1f5cf69347883b63821aadd2fd" ], [ "FStar.Int.decr_mod", @@ -303,30 +289,27 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "20b79b4d38ff84ff2752f567c6a6c058" + "ce10db9670f916d190dd14b0e1c5ad02" ], [ "FStar.Int.add", 1, - 2, - 1, + 0, + 0, [ "@query" ], 0, - "3049e518784d5b9536d504ba3d55be10" + "229df3a87491a3d7c8baeb7e71ef0dc7" ], [ "FStar.Int.add_underspec", @@ -343,55 +326,55 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits" ], 0, - "5a5b9ec0ce5e68bf2677f3f0f78b1361" + "6e6d312c7a581ef0c24e315b427d76ee" ], [ "FStar.Int.add_mod", 1, - 2, 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", + "equation_FStar.Int.size", "equation_Prims.abs", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Int.fits" ], 0, - "cd749496d8abac2e5d15f07e68614de8" + "6d472e774176cc7116abb1fa6a91f3d5" ], [ "FStar.Int.sub", 1, - 2, 1, + 0, [ "@query" ], 0, - "9ee41ffe7b33d9a7da3f8be62728e28f" + "817e75002ad823d02831f685d2bc7f48" ], [ "FStar.Int.sub_underspec", @@ -408,54 +391,52 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits" ], 0, - "da554af5e3bc3122e7631f650fcc76a7" + "1218055f39f9e5fca07f704f2b13541f" ], [ "FStar.Int.sub_mod", 1, - 2, 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int.fits", + "b2t_def", "bool_inversion", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits" ], 0, - "87c873892a6ccdcce263477d3f87378a" + "df6581a116fcd7e6f0ba5682fc063d49" ], [ "FStar.Int.mul", 1, - 2, 1, + 0, [ "@query" ], 0, - "a2112b0ed1fbd4ed43e7a6f92c469fe5" + "7de7683cccd69ba14c0295df01124bd4" ], [ "FStar.Int.mul_underspec", @@ -472,63 +453,61 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits" ], 0, - "ebcc9da8a759ab7787eaa9ffc8d636a6" + "feab2a453153c1ff21ba0283d6502867" ], [ "FStar.Int.mul_mod", 1, - 2, 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int.fits", + "b2t_def", "bool_inversion", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits" ], 0, - "742f5583fd1fae632ef64b2b0a2cb278" + "331e24b37ed745b1015f1cb96ee71047" ], [ "FStar.Int.div", 1, - 2, - 1, + 0, + 0, [ "@query" ], 0, - "1ba107db274331eeec6f3a3f6924b068" + "af1905b76ab52cea29367413eeffa954" ], [ "FStar.Int.div", 2, - 2, - 1, + 0, + 0, [ "@query" ], 0, - "ffc9d83fab2175d5d30e1751198bf7b2" + "31d449e9348accb46f26b116b994fcbc" ], [ "FStar.Int.div_underspec", @@ -537,7 +516,7 @@ 0, [ "@query" ], 0, - "96dda0ea2a2e7b187b05f0c4c199e962" + "df0787c89b6772047da1226832bb3920" ], [ "FStar.Int.div_underspec", @@ -545,25 +524,21 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_83ac8ca0eae25a164d9f9c0d728fbff9", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits" ], 0, - "63c967ec0b0fab6df388e0d399caad35" + "9286ffd697a9440d260632e559b98a9f" ], [ "FStar.Int.div_size", @@ -572,7 +547,7 @@ 0, [ "@query" ], 0, - "27038385051f400da9d946c06c98c45d" + "60b3ffa20be7b73b297af8b8e07a5ec6" ], [ "FStar.Int.div_size", @@ -580,30 +555,26 @@ 0, 0, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_Slash", - "equation_FStar.Int.size", "equation_Prims.abs", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", + "equation_Prims.abs", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_83ac8ca0eae25a164d9f9c0d728fbff9", "refinement_interpretation_Tm_refine_8506aeb4dd19f2072121aa1df21f1bb2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_Prims.abs" ], 0, - "d6df632ec51f4a4b2a74470cdd99e1a2" + "9249e82e24ffa2eb644e951ca15fc9f7" ], [ "FStar.Int.udiv", @@ -612,7 +583,7 @@ 0, [ "@query" ], 0, - "d269d5af8546e55d455e55cec7d3747a" + "e663b6684810527569d3f7f3b16bcd00" ], [ "FStar.Int.udiv", @@ -620,36 +591,28 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.pos", "int_inversion", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_8506aeb4dd19f2072121aa1df21f1bb2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d" + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "bc9fbd3cd00f689e51cf55928e58a5aa" + "af28757f3b6a4e3a2dd28de65e2e6d8a" ], [ "FStar.Int.mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_Slash", - "equation_FStar.Int.size", "equation_Prims.abs", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", + "equation_Prims.abs", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", @@ -658,29 +621,27 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_83ac8ca0eae25a164d9f9c0d728fbff9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", - "token_correspondence_Prims.pow2.fuel_instrumented", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits", "typing_Prims.abs" ], 0, - "6c0656904e17144bbe72b84ffff8db89" + "485e03dbf8ed184665a58db89d8ebaff" ], [ "FStar.Int.eq", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "53b35ad7818c02c9434773f1cbcee5da" + "815ab0fa2ed09dfdd6e59526babfd489" ], [ "FStar.Int.to_uint", @@ -689,7 +650,7 @@ 0, [ "@query" ], 0, - "50814b302cd7de36eb008f217dfbc362" + "4de7737e5684e91bcd840caa793c294b" ], [ "FStar.Int.to_uint", @@ -700,28 +661,26 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", + "b2t_def", "bool_inversion", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits", "typing_Prims.pow2" ], 0, - "09cb3ff4d31680d60099e52b8ec513e6" + "ee78924e25f3d5b31c6d448fd72b3bc5" ], [ "FStar.Int.from_uint", @@ -730,7 +689,7 @@ 0, [ "@query" ], 0, - "e915287455c66a83b14fa77d0ea35e8b" + "fd413d414f1b70009c599ac3ea23f9b0" ], [ "FStar.Int.from_uint", @@ -739,7 +698,7 @@ 0, [ "@query" ], 0, - "426a440674079cf39c4d1a2ce86e1ca2" + "091e0982cc674793c7d5946ae248db7a" ], [ "FStar.Int.from_uint", @@ -750,27 +709,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_Prims.pow2" ], 0, - "2f64fb7d9eff248d7659c931980e30b7" + "50792e0497ba95ce5a4f492a3f90278a" ], [ "FStar.Int.to_uint_injective", @@ -781,48 +738,43 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int.fits", - "equation_FStar.Int.from_uint", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.UInt.max_int", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", + "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", + "equation_FStar.Int.min_int", "equation_FStar.Int.size", + "equation_FStar.Int.to_uint", "equation_FStar.UInt.max_int", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits", "typing_FStar.Int.from_uint", "typing_FStar.Int.to_uint" ], 0, - "2e7cfffa258f277ad958d14a1f5598e6" + "933bbd233201aa60796329325ae1e65d" ], [ "FStar.Int.to_int_t", 1, - 2, 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", + "b2t_def", "bool_inversion", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -830,13 +782,13 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Int.fits" ], 0, - "a2514b8e0a7abab5643a1e23d5a801ee" + "b764d41281b032aab92bc0f8d1807ab4" ], [ "FStar.Int.to_vec", @@ -845,7 +797,7 @@ 0, [ "@query" ], 0, - "749516c94f756bf43d8e4aa074b65c01" + "68b83a8751f5371935721d751ff75cb8" ], [ "FStar.Int.to_vec", @@ -854,7 +806,7 @@ 0, [ "@query" ], 0, - "7dc325e277bafb82afcc372be8e1195a" + "08450fddfe2c76f54cc53e5818cbcd26" ], [ "FStar.Int.from_vec", @@ -863,7 +815,7 @@ 0, [ "@query" ], 0, - "6e3559ca887759c234baabc17b716c30" + "5b8fc5e56cc20a35298ebd33bfc87f33" ], [ "FStar.Int.from_vec", @@ -872,7 +824,7 @@ 0, [ "@query" ], 0, - "d71d1bbbe756ae6ebf5385a6c07df222" + "61924d49a51fd54f07424e03c5997d0b" ], [ "FStar.Int.from_vec", @@ -902,14 +854,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Int.fits", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "134a26848aa68249faec491fb4cab1da" + "4f09b01ee5021d55af8c3246f04808ac" ], [ "FStar.Int.to_vec_lemma_1", @@ -917,18 +869,15 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f2f6de8c9af11f81a4c7808dc1c11867" + "6e5964d4722b4f743c9d8f6ff9c4fba9" ], [ "FStar.Int.to_vec_lemma_1", @@ -941,12 +890,12 @@ "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Int.to_vec" ], 0, - "19dac7cd61b98dc54aaf9c992a806992" + "84aa74707df0e73c3eba6b62315a7e5e" ], [ "FStar.Int.to_vec_lemma_2", @@ -956,11 +905,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8ff27580e9f2b207ef7e19aeef8233c9" + "fd8e7ccb838d386ba0743d75bb7e6ef5" ], [ "FStar.Int.to_vec_lemma_2", @@ -973,7 +922,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "caf95ff908ccc9ab56d2c1ef1a4913c0" + "0511aef1012ff99135043efe406e2cdf" ], [ "FStar.Int.inverse_aux", @@ -981,17 +930,14 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.nat", "int_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "815b487017621655ad7adce5e8030388" + "d529321769dd7301acd3a9c28b5029b4" ], [ "FStar.Int.inverse_aux", @@ -999,16 +945,14 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_1423b6ba410c125c9cafc9d4c42c05b0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f6cfad1923f63d2170969ddc8a87074d" ], 0, - "c90564352ac28f5f3b2fa2f90a738876" + "cfabf72e1fb73479acdbed2fce68dae0" ], [ "FStar.Int.inverse_aux", @@ -1025,55 +969,48 @@ "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_6d2be21617ffbb9628823d796608ebe1_1", - "binder_x_b74d2b1b8a28f3921308ab1d07c1b40f_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "binder_x_29dc57e10d1244ea9dcc6bf0b19a81b2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_e1beddd2e70f1dfd04dde9bc6d0479db_2", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.Int.fits", "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.Int.min_int", "equation_FStar.Int.size", + "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f64b15013ba8d3a0dda29cfc7bb279a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f3f401d8ce8c7a7fb372a77df1ff16d0", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_dbafcf6ee852392ba6d4465af96e1a6f", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.Int.from_vec", "typing_FStar.Int.to_uint", - "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.create", + "typing_FStar.Int.from_vec", "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.from_vec", "well-founded-ordering-on-nat" + "typing_FStar.UInt.from_vec", "typing_Prims.pow2", + "well-founded-ordering-on-nat" ], 0, - "92bd1947e56a4f2262fd6190c296e87a" + "592e6a9ced130c474fcf4bdbbe24b52f" ], [ "FStar.Int.inverse_vec_lemma", @@ -1082,7 +1019,7 @@ 0, [ "@query" ], 0, - "82a8382d1507b0be7e6341648528f20e" + "6675172887e2d132d91f4e11125ab7a2" ], [ "FStar.Int.inverse_vec_lemma", @@ -1091,7 +1028,7 @@ 0, [ "@query" ], 0, - "015c1847a564eb6b251e7e4e8857a018" + "b7b987aa1be4c06c895bc57b7f41e220" ], [ "FStar.Int.inverse_vec_lemma", @@ -1102,19 +1039,19 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Int.inverse_aux", "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Int.from_vec", "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length" ], 0, - "811043388ed0e5a37c673ac4addab7b9" + "8c4f056c55d5c68cb350e64aa08be415" ], [ "FStar.Int.inverse_num_lemma", @@ -1124,11 +1061,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f5d9524ab215008e45e68ae92bd40669" + "6e79b621dbe07309a459453455624ccd" ], [ "FStar.Int.inverse_num_lemma", @@ -1141,7 +1078,6 @@ "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", @@ -1149,22 +1085,21 @@ "equation_FStar.Int.max_int", "equation_FStar.Int.size", "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Int.to_uint_injective", "lemma_FStar.UInt.inverse_num_lemma", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Int.fits", "typing_FStar.Int.from_vec", "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length" ], 0, - "207bc27b59009fa48f058a9b5d1d814a" + "c4676c120ab2e500ce9bda4bb6be07c2" ], [ "FStar.Int.from_vec_lemma_1", @@ -1172,18 +1107,15 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d7fce4e63bd3fa416a9dc29f3e9b6530" + "f15167b39c2ba4e62c52d1830e5ab5e1" ], [ "FStar.Int.from_vec_lemma_1", @@ -1195,7 +1127,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "490b413f313559df986022d29fdb2df8" + "9a72d9a15aab8beb0aa4d1b9d29ebfe8" ], [ "FStar.Int.from_vec_lemma_1", @@ -1207,10 +1139,10 @@ "equation_Prims.eqtype", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_eq_elim", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "4eba94ce0abfa56a79988a0e44352d7b" + "356550ad81e75aaa5eef404c6db70c32" ], [ "FStar.Int.from_vec_lemma_2", @@ -1218,18 +1150,15 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f4bee3b76912016a1c418f99afd9dd28" + "8e90b0297b59ba168565bf4b9f5c5762" ], [ "FStar.Int.from_vec_lemma_2", @@ -1241,7 +1170,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8e18b052ab6949cc9a7ad1974d9153bc" + "123fa3c2a1bca2093081e6df7b8264dd" ], [ "FStar.Int.from_vec_lemma_2", @@ -1254,11 +1183,11 @@ "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Int.from_vec", "typing_FStar.Int.to_vec" ], 0, - "cbd9e86bbd9baec52ae033f731c7b052" + "cea56b679fdabcb98ccc4e384b45e30e" ], [ "FStar.Int.zero_to_vec_lemma", @@ -1266,19 +1195,17 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_FStar.Int.to_vec", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.zero_vec", "equation_FStar.Int.to_vec", "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.zero_vec", "typing_FStar.Int.to_vec", "typing_FStar.Int.zero" ], 0, - "f75168f40cb004bd1ec817e013f1c473" + "d6c323f99d69a5fc8222a4070b858c5b" ], [ "FStar.Int.zero_to_vec_lemma", @@ -1286,18 +1213,15 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_FStar.Int.to_vec", "equation_Prims.nat", - "equation_Prims.pos", - "refinement_interpretation_Tm_refine_46d350b57c68fd4d6aafa9ebda9f2e6f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.zero_vec", "equation_FStar.Int.to_vec", + "refinement_interpretation_Tm_refine_202b337cf1b9d723060649f6432f2551", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.zero_vec", "typing_FStar.Int.to_vec", "typing_FStar.Int.zero" ], 0, - "e857ce570d8d29abdfd74b728684c1d8" + "beea99f4f5111d415919ac87c6f5da97" ], [ "FStar.Int.zero_to_vec_lemma", @@ -1311,8 +1235,8 @@ "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_912429cbb077cd3924590ff2197beecf_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_inversion", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", "equation_FStar.Int.max_int", "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", @@ -1327,22 +1251,21 @@ "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "typing_FStar.BitVector.zero_vec", "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", "typing_FStar.Int.zero", @@ -1351,7 +1274,7 @@ "well-founded-ordering-on-nat" ], 0, - "e8c965c672c1fcf713543e294b4eff53" + "3d541af10d711be045997fbf6b255fa1" ], [ "FStar.Int.zero_from_vec_lemma", @@ -1361,11 +1284,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b14a8998192e02fa61ffa1e4a332fde1" + "c00027aa83451a6980ddea4b5330c70a" ], [ "FStar.Int.zero_from_vec_lemma", @@ -1388,14 +1311,14 @@ "lemma_FStar.UInt.zero_from_vec_lemma", "primitive_Prims.op_LessThanOrEqual", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.zero_vec", "typing_FStar.Int.from_vec", "typing_FStar.Int.to_vec", "typing_FStar.Int.zero", "typing_FStar.Seq.Base.length" ], 0, - "3cd520ee43845f93456f49f9a8027797" + "5807fc4dc6ff276ce5ab3ff1a43174b3" ], [ "FStar.Int.one_to_vec_lemma", @@ -1403,22 +1326,17 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.to_vec", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.to_vec", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Int.one", "typing_FStar.Int.to_vec" ], 0, - "886fece4ab603a5ee5b6b5e2c0053ce7" + "48509bc436b680ed38bb01ddb0a73d05" ], [ "FStar.Int.one_to_vec_lemma", @@ -1455,17 +1373,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "typing_FStar.BitVector.zero_vec", "typing_FStar.Int.fits", "typing_FStar.Int.one", "typing_FStar.Int.to_uint", @@ -1474,59 +1392,53 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "55e589eda88c25a1d3b523d5fd2f137b" + "ea4cb9ac0956b1ae43182fd68124f255" ], [ "FStar.Int.pow2_to_vec_lemma", 1, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.to_vec", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.to_vec", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_fae52e146c90244d6a2517e3274edeb3", "typing_FStar.Int.pow2_n", "typing_FStar.Int.to_vec" ], 0, - "5cd3ba30810d7a4428d3a3372b442988" + "1a5e50dec8fbc6746b4e0237e2411428" ], [ "FStar.Int.pow2_to_vec_lemma", 2, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.to_vec", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.to_vec", "equation_Prims.nat", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", - "refinement_interpretation_Tm_refine_54f001ee55ceaec04ffae0644caf59cf", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8150a31311f448438b70cf0cc004331f", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_fae52e146c90244d6a2517e3274edeb3", "typing_FStar.Int.pow2_n", "typing_FStar.Int.to_vec" ], 0, - "c9c7fed74ef63764821efb31d9c5214b" + "415ea9e3f104848fb945281448e02bfb" ], [ "FStar.Int.pow2_to_vec_lemma", 3, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", @@ -1535,9 +1447,9 @@ "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_1d84d7f035cbb48e083f6422c95c04ab_1", - "binder_x_912429cbb077cd3924590ff2197beecf_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_inversion", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_2", + "binder_x_afc09461858c30ac5d755a25fcc944b2_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.elem_vec", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", @@ -1558,72 +1470,69 @@ "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ab797d92a1a5277ab0dfdd43b20744ab", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_4c6622d20f912a60d11603c718f5193c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f42042035fa9145c3fcdd0f8e31c49bd", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.elem_vec", "typing_FStar.Int.fits", - "typing_FStar.Int.pow2_n", "typing_FStar.Int.to_uint", - "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd", "typing_FStar.UInt.fits", + "typing_FStar.BitVector.elem_vec", "typing_FStar.Int.pow2_n", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd", "typing_Prims.pow2", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "3effe95afb3fa0a72c4dee4932f65926" + "0eb8b04f56a7750c8b0e71a684fedef0" ], [ "FStar.Int.pow2_from_vec_lemma", 1, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b555e04c50662c1d4e406318a3bd8d8d" ], 0, - "b278624e5dc809124a2405ef75006840" + "81eb10b3fb05a91cc6b914f494bd2caa" ], [ "FStar.Int.pow2_from_vec_lemma", 2, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.elem_vec", "equation_FStar.Int.pow2_n", @@ -1632,7 +1541,6 @@ "equation_FStar.UInt.pow2_n", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Int.inverse_vec_lemma", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -1642,44 +1550,42 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b555e04c50662c1d4e406318a3bd8d8d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.from_vec" ], 0, - "02b95cbdafb7646bb8147d206e2a8870" + "61193e041dab61f0d8d33325f5e71717" ], [ "FStar.Int.ones_to_vec_lemma", 1, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_FStar.Int.to_vec", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.ones_vec", "equation_FStar.Int.to_vec", "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.ones_vec", "typing_FStar.Int.ones", "typing_FStar.Int.to_vec" ], 0, - "b6a3a502002d3a7d7ac61f4e143149dc" + "763eb9224ef87d5afb6a1994ba762950" ], [ "FStar.Int.ones_to_vec_lemma", 2, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", @@ -1702,6 +1608,7 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Int.to_uint_injective", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_create", @@ -1713,118 +1620,118 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.BitVector.ones_vec", "typing_FStar.Int.max_int", + "token_correspondence_Prims.pow2.fuel_instrumented", + "typing_FStar.BitVector.ones_vec", "typing_FStar.Int.fits", "typing_FStar.Int.ones", "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length" + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.fits" ], 0, - "6981ca469fa8da35a974f3f93a7ffc8c" + "c58586b0a1ea28b4f981f47ec5682a96" ], [ "FStar.Int.ones_from_vec_lemma", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6d06b22978ac7d8fa8a03655bb74a145" + "bef92e9ad5346eaf749de714659661e3" ], [ "FStar.Int.ones_from_vec_lemma", 2, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.bool", "int_inversion", - "lemma_FStar.Int.inverse_vec_lemma", + "equation_Prims.pos", "function_token_typing_Prims.bool", + "int_inversion", "lemma_FStar.Int.inverse_vec_lemma", "lemma_FStar.Int.ones_to_vec_lemma", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.ones_vec", "typing_FStar.Int.from_vec", "typing_FStar.Int.ones", "typing_FStar.Int.to_vec" ], 0, - "65a0b133c460db60bd960ed3b888a99b" + "0b22b900c28e4a4f6dc4302338d42323" ], [ "FStar.Int.nth", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.Int.to_vec", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Int.to_vec" ], 0, - "8a4f21ee06ae6e71c7e26538f7a52480" + "b98f86a78f047d6a2c76640933e65f75" ], [ "FStar.Int.nth_lemma", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "76f18485f31d1625c23c2bedd2bd434e" + "7020d9edc2677ddd84fb5f5617d644f6" ], [ "FStar.Int.nth_lemma", 2, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "equation_FStar.BitVector.bv_t", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.nth", "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.bool", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "equation_Prims.pos", "function_token_typing_Prims.bool", + "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_intro", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Int.fits", "typing_FStar.Int.to_vec" ], 0, - "e622e082cb67d87aed418f28ae29ff93" + "318163b71d19072b196e519d02a9816a" ], [ "FStar.Int.zero_nth_lemma", @@ -1833,44 +1740,42 @@ 0, [ "@query" ], 0, - "0ba9baae7deda1b4b7b675479f8ed9fb" + "81ae89a01b0a64be6251ee4a7e2ec3d9" ], [ "FStar.Int.zero_nth_lemma", 2, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_912429cbb077cd3924590ff2197beecf_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_typing", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", "equation_FStar.Int.nth", "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Int.zero_to_vec_lemma", "lemma_FStar.Seq.Base.lemma_index_create", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "typing_FStar.Int.to_vec", "typing_FStar.Int.zero", "typing_FStar.Seq.Base.length" ], 0, - "ddf8b8aa7ee81a5c243c175ef0561304" + "8c9b57b41fbc157be499f54d24f70570" ], [ "FStar.Int.one_nth_lemma", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", @@ -1886,19 +1791,20 @@ "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Int.one", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.BitVector.elem_vec", "typing_FStar.Int.one", + "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.create", + "typing_FStar.Seq.Base.length" ], 0, - "c65fd3f07a5457b1770ada80b89396e1" + "dbd1fc7cc35112306bd331a5a8d8778e" ], [ "FStar.Int.ones_nth_lemma", @@ -1907,204 +1813,193 @@ 0, [ "@query" ], 0, - "5cfe2ef5b727dcbeee7ce8246efc1aed" + "641904b80cb29260977a8ced95fcd7e9" ], [ "FStar.Int.ones_nth_lemma", 2, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_912429cbb077cd3924590ff2197beecf_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_inversion", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.nth", "equation_FStar.Int.ones", "equation_FStar.Int.size", "equation_FStar.Int.to_vec", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Int.ones_to_vec_lemma", "lemma_FStar.Seq.Base.lemma_index_create", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "typing_FStar.Int.fits", "typing_FStar.Int.ones", "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length" ], 0, - "656a76976c7b651d1f18e743eceadce7" + "e8fc0bce6641ac2d0f12221197d7eaed" ], [ "FStar.Int.logand_definition", 1, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logand_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.logand", - "equation_FStar.Int.nth", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.logand", "equation_FStar.Int.nth", + "equation_FStar.Int.to_vec", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.logand_vec_definition", "lemma_FStar.Int.inverse_vec_lemma", "lemma_FStar.Seq.Base.lemma_eq_elim", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logand_vec", "typing_FStar.Int.logand", - "typing_FStar.Int.nth", "typing_FStar.Int.to_vec" + "typing_FStar.Int.to_vec" ], 0, - "c4b9f862101e80290e11f98c4898ec78" + "4c14d17e3323cfda6c63064e50ee19a2" ], [ "FStar.Int.logxor_definition", 1, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.logxor", - "equation_FStar.Int.nth", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.logxor", "equation_FStar.Int.nth", + "equation_FStar.Int.to_vec", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.Int.inverse_vec_lemma", "lemma_FStar.Seq.Base.lemma_eq_elim", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logxor_vec", "typing_FStar.Int.logxor", - "typing_FStar.Int.nth", "typing_FStar.Int.to_vec" + "typing_FStar.Int.to_vec" ], 0, - "3d2a3bb574b99009e58065188752de74" + "145c769f3ad9b982c5eb47e2f0952f30" ], [ "FStar.Int.logor_definition", 1, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.logor", - "equation_FStar.Int.nth", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.logor", "equation_FStar.Int.nth", + "equation_FStar.Int.to_vec", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.Int.inverse_vec_lemma", "lemma_FStar.Seq.Base.lemma_eq_elim", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logor_vec", "typing_FStar.Int.logor", - "typing_FStar.Int.nth", "typing_FStar.Int.to_vec" + "typing_FStar.Int.to_vec" ], 0, - "0395ea0bb375d433e476864f9c3b72a0" + "6cd6c69648a6e4da690383659cf61913" ], [ "FStar.Int.lognot_definition", 1, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.lognot", - "equation_FStar.Int.nth", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.lognot", "equation_FStar.Int.nth", + "equation_FStar.Int.to_vec", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.lognot_vec_definition", "lemma_FStar.Int.inverse_vec_lemma", "lemma_FStar.Seq.Base.lemma_eq_elim", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.lognot_vec", "typing_FStar.Int.lognot", - "typing_FStar.Int.nth", "typing_FStar.Int.to_vec" + "typing_FStar.Int.to_vec" ], 0, - "b4840874a3a375d2daa5dd203df18308" + "e9c3a9c973d9ea8b038dcb242d75cd03" ], [ "FStar.Int.minus", 1, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "2346429c87a22f214df89eac7f36030a" + "ae428c8d31910eca3963676231a4cbb1" ], [ "FStar.Int.logand_commutative", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4f61eeb404436f0c3c7e4bdccac9bbc3" + "0dab28fa8646fe095b2614a0445ee7dc" ], [ "FStar.Int.logand_commutative", @@ -2120,21 +2015,21 @@ "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d" ], 0, - "4b6262e643aed8a3d095ea377582fdcf" + "eb6e2eb9db77cdaffa295142103453b2" ], [ "FStar.Int.logand_associative", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "963ba2f8c323fb6d91e35ec2d5a575ba" + "6210837e9bdc6db80879a65a8d8fd714" ], [ "FStar.Int.logand_associative", @@ -2176,21 +2071,21 @@ "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length" ], 0, - "2d975184bab41ed5efd171aec8169689" + "69161bd8ba41c6c37d628421751c9c9d" ], [ "FStar.Int.logand_self", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8e318026dc5bc739b6b8bbf71cd153a3" + "c1a8c306acef73d5b18d22788bf5d1b7" ], [ "FStar.Int.logand_self", @@ -2207,21 +2102,21 @@ "typing_FStar.Int.nth" ], 0, - "da15eb02bb61b9bc8656742d3879f034" + "574ca2d6e39a925858b0adac5695cb9d" ], [ "FStar.Int.logand_lemma_1", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "57bf485ed81fcc1c5d116f3d8e4cab9b" + "5a27a6f82b6f5e455924de50f97c132e" ], [ "FStar.Int.logand_lemma_1", @@ -2239,21 +2134,21 @@ "typing_FStar.Int.zero" ], 0, - "bbdc89fa2d8247dff980bd47d1ae0e93" + "c61f2fc369204bcea909ef82d0adea51" ], [ "FStar.Int.logand_lemma_2", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "75631490e4cacbcf65c7f6acf19d3f1b" + "7156d9b277d3a2db0f5a9c334d0a9be0" ], [ "FStar.Int.logand_lemma_2", @@ -2274,37 +2169,33 @@ "typing_FStar.Int.ones" ], 0, - "24ea3383f73aecae8f86b67b66859135" + "374fe40d04f523a141e0bc50d02a6253" ], [ "FStar.Int.sign_bit_negative", 1, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fe0237c3fcc7a0cd8c0c486b6493c861" + "233a6fdbb6be0be9f52dc11c996003be" ], [ "FStar.Int.sign_bit_negative", 2, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", @@ -2317,65 +2208,62 @@ "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Int.to_uint_injective", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.inverse_num_lemma", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Int.fits", "typing_FStar.Int.to_uint", - "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.from_vec" + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Int.fits", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt.from_vec" ], 0, - "08a783572688c6f40c08f2180879a888" + "d268a076d7bb04d0bfeeba284dccf219" ], [ "FStar.Int.sign_bit_positive", 1, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "baa8b7270250f45a7d849809e35fb328" + "d6780d1803c5cec23e022ba8cac7de63" ], [ "FStar.Int.sign_bit_positive", 2, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", @@ -2388,67 +2276,63 @@ "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Int.to_uint_injective", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.inverse_num_lemma", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Int.fits", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Int.fits", "typing_FStar.Int.to_uint", + "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.from_vec" ], 0, - "be376ddf7946600a72741fd9f2d5c8a1" + "ec417760d5eb4e87a39f1b70c9fae0b6" ], [ "FStar.Int.logand_pos_le", 1, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", "equation_FStar.Int.logand", "equation_FStar.Int.max_int", "equation_FStar.Int.size", "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.logand", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", "typing_FStar.Int.logand", "typing_FStar.Int.to_uint", "typing_FStar.UInt.logand" ], 0, - "e2be704d08a227e82fa92e57faef5b80" + "fba163e600af6a408f2ad09018c8883c" ], [ "FStar.Int.logand_pow2_minus_one", @@ -2464,130 +2348,118 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "029d09c0f56ba7a07a052ec94d247025" + "48c02a4bbe3cbbb98d92a6e932f34ab6" ], [ "FStar.Int.logand_pow2_minus_one", 2, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int.fits", - "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", - "equation_FStar.Int.logand", "equation_FStar.Int.max_int", - "equation_FStar.Int.pow2_minus_one", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logand", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.Int.fits", "equation_FStar.Int.from_vec", + "equation_FStar.Int.int_t", "equation_FStar.Int.logand", + "equation_FStar.Int.max_int", "equation_FStar.Int.pow2_minus_one", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.logand", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Int.fits", "typing_FStar.Int.to_uint", "typing_FStar.UInt.logand", "typing_Prims.pow2" ], 0, - "de3d9f8cb680ceb4af2872659921b129" + "2f790ba954f4ec311e9f00f34ef8047a" ], [ "FStar.Int.logand_max", 1, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.min_int", "equation_FStar.Int.size", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", "typing_FStar.Int.fits" ], 0, - "f9f0939531aaa919b27ff674a7cefe15" + "e9c16d62855789e23bfde671fd23a0b4" ], [ "FStar.Int.logand_max", 2, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.nth", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "b2t_def", "bool_inversion", "equation_FStar.Int.fits", + "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", + "equation_FStar.Int.min_int", "equation_FStar.Int.nth", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", "int_typing", "lemma_FStar.Int.logand_definition", "lemma_FStar.UInt.index_to_vec_ones", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", "typing_FStar.Int.fits", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.length" + "typing_FStar.Int.to_uint" ], 0, - "12698d04ce7ddf1b404f2453e8add14f" + "dba0217776ea9b4c988aed87df32cde0" ], [ "FStar.Int.logxor_commutative", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "225348b77957843b8824cc12315d264d" + "da131274fe715692e48e15e5105baf74" ], [ "FStar.Int.logxor_commutative", @@ -2606,21 +2478,21 @@ "typing_FStar.Int.fits" ], 0, - "a7aaeff63a5feb2db05c4535da7b7384" + "23bb769e75c117edcd1df3673d2b3b22" ], [ "FStar.Int.logxor_associative", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d1a43c367076a66f87eaa1f253c230e0" + "16e1e2de1055138107727b340802e050" ], [ "FStar.Int.logxor_associative", @@ -2657,21 +2529,21 @@ "typing_FStar.Seq.Base.length" ], 0, - "ec9ce89ab2c95ecbc5b1e932268be382" + "f74a55c2659028d0e3f1834750e4477e" ], [ "FStar.Int.logxor_self", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fd56974b8f99ca986912aa522eb302f4" + "3fea92c071ea1231a79630c765d07c43" ], [ "FStar.Int.logxor_self", @@ -2690,21 +2562,21 @@ "typing_FStar.Int.fits" ], 0, - "1f5afc282f07e3a6b7ff626322dbce69" + "ed46ef564679e831d336c949f8d7a344" ], [ "FStar.Int.logxor_lemma_1", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3241cf0aff71bfcb76b1b1df11b871e3" + "e56be57bbef8840108626263af7f0458" ], [ "FStar.Int.logxor_lemma_1", @@ -2725,21 +2597,21 @@ "typing_FStar.Int.zero" ], 0, - "f72d652b36d620f68a4df6130d726cb8" + "d3c21fef271704ca20ca86ab4e844ed0" ], [ "FStar.Int.logxor_lemma_2", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c8132a3c2a42a99a097cbeb20d5e6260" + "a02483e8c6e20797190fd7c0b4c13204" ], [ "FStar.Int.logxor_lemma_2", @@ -2762,27 +2634,27 @@ "typing_FStar.Int.ones" ], 0, - "0cb8c598db51f4616f54e088576db124" + "cf4c9e973af4b22a9dffb98cb63e945d" ], [ "FStar.Int.logxor_inv", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1e5f882dbecf615849ecb64fd7e49fec" + "bbe383a692cb3b298624486407ff0a08" ], [ "FStar.Int.logxor_inv", 2, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", @@ -2801,168 +2673,295 @@ "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.inverse_vec_lemma", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logxor_vec", "typing_FStar.Int.logxor", "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length" ], 0, - "04d47f52948289330c3ea76157ef347a" + "84720796ef1e943bb9e44c6ad5aaa431" ], [ "FStar.Int.logxor_neq_nonzero", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6cb21f076d9c7a0615b3a5b03163e172" + "2eef26596a45fbd785dab706c2d8ca3a" ], [ "FStar.Int.logxor_neq_nonzero", 2, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.Int.fits", "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", "equation_FStar.Int.logxor", - "equation_FStar.Int.max_int", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logxor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", + "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Int.to_uint_injective", + "lemma_FStar.Seq.Base.lemma_create_len", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Division", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "typing_FStar.BitVector.logxor_vec", "typing_FStar.Int.fits", - "typing_FStar.Int.logxor", "typing_FStar.Int.to_vec", + "typing_FStar.Int.logxor", "typing_FStar.Int.to_uint", + "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits" + "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", + "typing_Prims.pow2" ], 0, - "1283fac3a16f870a8556f41cdf232b06" + "464930798ad9f6c49750e335424cc5a4" ], [ - "FStar.Int.shift_left_lemma_1", + "FStar.Int.lognot_negative", 1, + 2, 1, - 0, [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", + "equation_Prims.squash", "function_token_typing_Prims.bool", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Int.fits", "typing_FStar.Int.to_uint", + "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.fits" ], 0, - "602d00e10997b432b354a8e56f6285dc" + "4d5e580b7e29c6219f95cb9271f8c0cb" ], [ - "FStar.Int.shift_left_lemma_1", + "FStar.Int.lognot_negative", + 2, 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", "equation_FStar.Int.nth", - "equation_FStar.Int.shift_left", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "bool_inversion", "equation_FStar.Int.fits", + "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", + "equation_FStar.Int.lognot", "equation_FStar.Int.max_int", + "equation_FStar.Int.min_int", "equation_FStar.Int.size", + "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", - "lemma_FStar.BitVector.shift_left_vec_lemma_1", - "lemma_FStar.Int.inverse_vec_lemma", + "int_inversion", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "typing_FStar.Int.fits" + ], + 0, + "dba3f5fd22278c61076db3927ce0d7e9" + ], + [ + "FStar.Int.shift_left_lemma_1", + 1, + 1, + 0, + [ + "@query", "primitive_Prims.op_LessThan", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "9c187b3001ee5508aed8d7febbb4d1b0" + ], + [ + "FStar.Int.shift_left_lemma_1", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_left_vec", "equation_FStar.Int.nth", + "equation_FStar.Int.shift_left", "equation_FStar.Int.to_vec", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", + "lemma_FStar.BitVector.shift_left_vec_lemma_1", + "lemma_FStar.Int.inverse_vec_lemma", "lemma_FStar.Seq.Base.lemma_eq_elim", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ed60d76e610b29c3cb7504374a7ed907", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", "typing_FStar.BitVector.shift_left_vec", "typing_FStar.Int.shift_left", "typing_FStar.Int.to_vec" ], 0, - "dace1314924cebb128c2f21947a03b4b" + "b204dd3805d83c97f9149857df8f4f6a" ], [ "FStar.Int.shift_left_lemma_2", 1, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" ], 0, - "5e3b82bd2c2bb18c48ffdcf2eb8120ca" + "a69a3a1b104fd2ec49f9c382b3074985" ], [ "FStar.Int.shift_left_lemma_2", 2, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_left_vec", "equation_FStar.Int.nth", "equation_FStar.Int.shift_left", "equation_FStar.Int.to_vec", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.shift_left_vec_lemma_2", "lemma_FStar.Int.inverse_vec_lemma", "lemma_FStar.Seq.Base.lemma_eq_elim", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", "typing_FStar.BitVector.shift_left_vec", "typing_FStar.Int.shift_left", "typing_FStar.Int.to_vec" ], 0, - "48e978fba1caba990775794026795e9d" + "8e711ecf2192d8df12d3e42519e78608" + ], + [ + "FStar.Int.shift_left_value_lemma", + 1, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" + ], + 0, + "1965ff176ce9497839e505adca9d25d0" + ], + [ + "FStar.Int.shift_left_value_lemma", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "bool_inversion", "equation_FStar.Int.fits", + "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.op_At_Percent", + "equation_FStar.Int.op_Slash", "equation_FStar.Int.shift_left", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.shift_left", "equation_FStar.UInt.size", + "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", + "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", + "typing_FStar.Int.fits", "typing_FStar.Int.shift_left", + "typing_Prims.pow2" + ], + 0, + "a32c96ed83973701e4064c6fb773d660" ], [ "FStar.Int.shift_right_lemma_1", @@ -2974,192 +2973,212 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1c197714c41a088c9c03a6fa91bc8ec5" + "b069211a6d58798096c539e55b582c5c" ], [ "FStar.Int.shift_right_lemma_1", 2, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_FStar.Int.nth", "equation_FStar.Int.shift_right", "equation_FStar.Int.to_vec", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.shift_right_vec_lemma_1", "lemma_FStar.Int.inverse_vec_lemma", "lemma_FStar.Seq.Base.lemma_eq_elim", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4254cf7570d054e7d0238ca18aa9b56c", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.Int.shift_right", "typing_FStar.Int.to_vec" ], 0, - "079e85f5158a3c97f347786b743adb0c" + "a29ad7b05a64551d4c56424c8c4dc097" ], [ "FStar.Int.shift_right_lemma_2", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "8702207d53a1287cfa568b35ecc2cfb4" + "f675bc0f0a1ecf7be462aa608d705e6d" ], [ "FStar.Int.shift_right_lemma_2", 2, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_FStar.Int.nth", "equation_FStar.Int.shift_right", "equation_FStar.Int.to_vec", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Int.inverse_vec_lemma", "lemma_FStar.Seq.Base.lemma_eq_elim", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.Int.shift_right", "typing_FStar.Int.to_vec" ], 0, - "32913463ea21ad2fa3b5df8029ad15e5" + "6a1b5a5bcf3664518c4ed536081fd47b" ], [ - "FStar.Int.shift_left_value_lemma", + "FStar.Int.shift_arithmetic_right_lemma_1", 1, + 2, 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" + ], 0, + "dc26367a817e627f7abf0e947d4b7443" + ], + [ + "FStar.Int.shift_arithmetic_right_lemma_1", + 2, + 2, + 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.nth", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.to_vec", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "function_token_typing_Prims.bool", "int_inversion", + "lemma_FStar.BitVector.shift_arithmetic_right_vec_lemma_1", + "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.shift_arithmetic_right", "typing_FStar.Int.to_vec" ], 0, - "2229a8dda927a2707c84d99414d78643" + "b928b9f3c98f6737710780bc59176b85" ], [ - "FStar.Int.shift_left_value_lemma", + "FStar.Int.shift_arithmetic_right_lemma_2", + 1, 2, 1, - 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.shift_left", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.shift_left", "equation_FStar.UInt.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", - "typing_FStar.Int.fits", "typing_FStar.Int.shift_left" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "84429d85784e64c37c5ce8418c376a2b" + "2d0b5fbf74e288ddb3ed5c07762a53b2" ], [ - "FStar.Int.max_int", + "FStar.Int.shift_arithmetic_right_lemma_2", 2, 2, 1, + [ + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.nth", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.to_vec", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", + "lemma_FStar.BitVector.shift_arithmetic_right_vec_lemma_2", + "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.shift_arithmetic_right", "typing_FStar.Int.to_vec" + ], + 0, + "5b2f5b2ca70408294eed5867ca4012b5" + ], + [ + "FStar.Int.max_int", + 2, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "dd0699f3643983a9e2c3d330dbaf0dbd" + "284db8a90618ec1a22a05b5adab45f40" ], [ "FStar.Int.min_int", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8c0cc18eb1d69ae5cbaef9bc7ea823ec" + "67182d2b56cd4c4824b1be26623fd9d7" ], [ "FStar.Int.op_Slash", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.abs", "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" ], 0, - "fd6f4530d1fbd5d27a89290e28207355" + "082cf7d90a78ee840249380744a781b7" ], [ "FStar.Int.op_At_Percent", 2, - 2, - 1, + 0, + 0, [ "@query" ], 0, - "65e1f01f3dc23cf3d406b551cfdbb025" + "d75b844261837fa8885974db7f7074dc" ], [ "FStar.Int.zero", @@ -3169,22 +3188,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "28dae1abee3db5b9048dc039398bd5f1" + "1ed401f5eac2ee49d1281ffff9f4dfc5" ], [ "FStar.Int.pow2_n", @@ -3195,24 +3212,22 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", "typing_Prims.pow2" ], 0, - "c5f096f8108f1db9d079fed06ea0366f" + "eca75e4bda7faacab82124a6ed80ac69" ], [ "FStar.Int.pow2_minus_one", @@ -3222,26 +3237,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_Prims.pow2" ], 0, - "11e227acd0957d88f27ae27614662f6e" + "962f793d7b01456d86c2f5484f3fe7b9" ], [ "FStar.Int.one", @@ -3251,25 +3263,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_Prims.pow2" ], 0, - "e2603ddcfe22b7d5c3ad06347074578d" + "d8f225c369f6780580ad2eda86db34a4" ], [ "FStar.Int.ones", @@ -3279,22 +3289,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "c32df1982ca289cc6065019925f4df7c" + "ad3d2bfdc6021cfc452668a07f3c31e6" ], [ "FStar.Int.incr", @@ -3310,11 +3318,11 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "139c06da3be1ddc1d60469c2085bf793" + "492d627c795669a6848eb60c8ba5dd9f" ], [ "FStar.Int.decr", @@ -3330,11 +3338,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "1f6fcfe0a5465832ce539b61de8f19c7" + "fd1265fead97f233c4dca3777530c035" ], [ "FStar.Int.incr_mod", @@ -3342,21 +3350,18 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9dd2b44569993cdffe54d52703590d66" + "67307e380c3bafaf5c676936e43a084c" ], [ "FStar.Int.decr_mod", @@ -3364,166 +3369,156 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8ac0fe0a9f7c72926fcfe575958d97fc" + "d9882bc31e932753854a473a17fe67c0" ], [ "FStar.Int.add", 2, - 2, - 1, + 0, + 0, [ "@query" ], 0, - "f22bfcb0a958be4510da307d67d6715e" + "d233a8eb7317d0f5ee2d7de8db5466f6" ], [ "FStar.Int.add_mod", 2, - 2, 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", + "b2t_def", "bool_inversion", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", - "typing_FStar.Int.fits", "typing_Prims.pow2" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "typing_FStar.Int.fits" ], 0, - "4a1985b432cd20f59fe305c3e3d71e41" + "058115083ee00a30de3913ccf8ba0013" ], [ "FStar.Int.sub", 2, - 2, 1, + 0, [ "@query" ], 0, - "c2116e91af54ebd254fbdcc797897519" + "e94b96f9ada3d593f338739d3e0cdf27" ], [ "FStar.Int.sub_mod", 2, - 2, 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", + "b2t_def", "bool_inversion", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits" ], 0, - "734cfa8a00fde683a61f6830845be2d4" + "26d8e2ec054f04d0ba7768ab4e7f350e" ], [ "FStar.Int.mul", 2, - 2, 1, + 0, [ "@query" ], 0, - "4288590bf7ba0660283fc648c17f163f" + "81eae74691fd86a8588bb89330e2481c" ], [ "FStar.Int.mul_mod", 2, - 2, 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", + "b2t_def", "bool_inversion", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits" ], 0, - "27e46667afdab47fba550312a29d8802" + "9f76710c5dbdecf4b90cf51279dc37fe" ], [ "FStar.Int.div", 3, - 2, - 1, + 0, + 0, [ "@query" ], 0, - "7163b3b0223be2a5f8d009221b7b47f0" + "d55ae7de860d21bc8e04aea4b1895337" ], [ "FStar.Int.div", 4, - 2, - 1, + 0, + 0, [ "@query" ], 0, - "465e1bccdc7a61f6b9670ddb2267241c" + "55454019c0aeb57ebef8f0437f018f7e" ], [ "FStar.Int.div_underspec", @@ -3532,7 +3527,7 @@ 0, [ "@query" ], 0, - "ca252713bb4c165b585e38388a114ab7" + "24ed6d4af6bb99a5318cd9e34013f173" ], [ "FStar.Int.div_size", @@ -3541,7 +3536,7 @@ 0, [ "@query" ], 0, - "ca189a92592404080f197a244c3c823c" + "d368333cf93d417a4a8aab0b7df69a4a" ], [ "FStar.Int.udiv", @@ -3549,17 +3544,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.pos", "int_inversion", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_8506aeb4dd19f2072121aa1df21f1bb2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d" + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" ], 0, - "ce393e5f97f15f016415d10d26c0c045" + "54efc6e1b63e9cd4f551b460470a7900" ], [ "FStar.Int.udiv", @@ -3568,26 +3560,21 @@ 0, [ "@query" ], 0, - "69bc70506746d87afe79f939b3782720" + "b0c45b62971d292ccd35b23b9c6d7d45" ], [ "FStar.Int.mod", 2, - 2, - 1, + 0, + 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_Slash", - "equation_FStar.Int.size", "equation_Prims.abs", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", + "equation_Prims.abs", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", @@ -3596,29 +3583,27 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_83ac8ca0eae25a164d9f9c0d728fbff9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", - "token_correspondence_Prims.pow2.fuel_instrumented", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits", "typing_Prims.abs" ], 0, - "c01c8fbc3caaae34a98beabf234dfdf5" + "2c845d6968221ca5cae392acfa4187a2" ], [ "FStar.Int.eq", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b085f2bfcb06c31ee0254b62caac711d" + "b71f2e3dbbb03092ced5f6a8ca387659" ], [ "FStar.Int.to_uint", @@ -3629,28 +3614,26 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", + "b2t_def", "bool_inversion", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "typing_FStar.Int.fits", "typing_Prims.pow2" ], 0, - "e42178601ce4d4b40ee58fba87fc943a" + "1b3b51c744d678a8a23a2c1897aea002" ], [ "FStar.Int.to_uint", @@ -3659,7 +3642,7 @@ 0, [ "@query" ], 0, - "1f3f1f9e93bed23a5e967f794ce649db" + "5f7b389cca71830b2e06228c825db311" ], [ "FStar.Int.from_uint", @@ -3668,7 +3651,7 @@ 0, [ "@query" ], 0, - "1fdfde5e641ad3e7ce2da305fd10938b" + "97dbef0cee583f349f82f7a2ae55b56d" ], [ "FStar.Int.from_uint", @@ -3679,27 +3662,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_Prims.pow2" ], 0, - "0a124a51b6e575fca2b3c1ee631ecf33" + "f4ad7bb45d7cd642162d577238ac098e" ], [ "FStar.Int.from_uint", @@ -3708,26 +3689,24 @@ 0, [ "@query" ], 0, - "b5c7d1e7839758408100ce7d6d4a97cd" + "908e5de021caf2bee4230a5e8147ca33" ], [ "FStar.Int.to_int_t", 2, - 2, 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", + "b2t_def", "bool_inversion", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -3735,13 +3714,13 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Int.fits" ], 0, - "56cf00e78fbe15d1a86559a5b7d520f5" + "013947f9d4579329c2c93952da2c3c54" ], [ "FStar.Int.to_vec", @@ -3750,7 +3729,7 @@ 0, [ "@query" ], 0, - "6170df3146e72f4e802d1a2954d87042" + "c30c9a09b145410ea445128670ae57d1" ], [ "FStar.Int.to_vec", @@ -3759,7 +3738,7 @@ 0, [ "@query" ], 0, - "4e70cb9fedae3c9d0ab4560d5a5aafd3" + "b26c88e4ac06b1f045c01f284d8b416c" ], [ "FStar.Int.from_vec", @@ -3768,7 +3747,7 @@ 0, [ "@query" ], 0, - "5afc028f70e5083d7b91d29b98ac2410" + "aaf603f5406b107222f908012f4b40ea" ], [ "FStar.Int.from_vec", @@ -3798,14 +3777,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Int.fits", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "3c73dd6e902c704597b1e27de086e01d" + "ddd17504524e580053ca88464a9de058" ], [ "FStar.Int.from_vec", @@ -3814,7 +3793,7 @@ 0, [ "@query" ], 0, - "c4a317598921a0bb119819ecba82b3b7" + "bc878f5027ea87d9f96709eb31467414" ], [ "FStar.Int.to_vec_lemma_1", @@ -3822,18 +3801,15 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cd236ec002c320e7d025899d9e2d77b8" + "909cf3b768321851460e01ff1868810f" ], [ "FStar.Int.to_vec_lemma_2", @@ -3843,11 +3819,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "80ce87426bb9ff09bebadc6dbdfa46dc" + "b4f68da06af532a8a5121de082fe5bd9" ], [ "FStar.Int.inverse_aux", @@ -3855,17 +3831,14 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.nat", "int_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "cea2caaff84bda18c2792ebfbaf859f0" + "a281814b2726a533a0bd82b686ed6482" ], [ "FStar.Int.inverse_vec_lemma", @@ -3874,7 +3847,7 @@ 0, [ "@query" ], 0, - "5b3e90b5e4096aaf14f9aa2512c64980" + "b90304234ce89696239c972c3a10b59c" ], [ "FStar.Int.inverse_num_lemma", @@ -3884,11 +3857,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6164f2be11efe05c8bd70af5dc365c73" + "123eb44247995472aa9f34f43461b1d5" ], [ "FStar.Int.from_vec_lemma_1", @@ -3896,18 +3869,15 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "04fa606154a076eca537fba28a02602e" + "19b7e828a93c9a3869ef4d9abd320da4" ], [ "FStar.Int.from_vec_lemma_2", @@ -3915,18 +3885,15 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f0e6ea02d6203e80129f37ba70e7f2dc" + "76d0537d9cb1b69f64373813d306c5bc" ], [ "FStar.Int.zero_to_vec_lemma", @@ -3934,19 +3901,17 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_FStar.Int.to_vec", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.zero_vec", "equation_FStar.Int.to_vec", "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.zero_vec", "typing_FStar.Int.to_vec", "typing_FStar.Int.zero" ], 0, - "d028616771820db5f482ea43a2531846" + "f0aff8ecb1f14227d051eca2bbd9b2cd" ], [ "FStar.Int.zero_from_vec_lemma", @@ -3956,11 +3921,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "de33888f5f78bc02b21d49d31853d3d2" + "5dfe4bb578e2bf3a716f6d4e0deaaebc" ], [ "FStar.Int.one_to_vec_lemma", @@ -3968,483 +3933,514 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.to_vec", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.to_vec", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Int.one", "typing_FStar.Int.to_vec" ], 0, - "b7c14c97f83505522fb5141d7f74fe5a" + "8a37dc7a46e96d3bc3fabb8635e8e5f6" ], [ "FStar.Int.pow2_to_vec_lemma", 4, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.to_vec", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.to_vec", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_fae52e146c90244d6a2517e3274edeb3", "typing_FStar.Int.pow2_n", "typing_FStar.Int.to_vec" ], 0, - "2c9e56a5dbfc4e7b2c3fd92a7191150e" + "47024c5e568bd0c822e042f12b8ffaed" ], [ "FStar.Int.pow2_from_vec_lemma", 3, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b555e04c50662c1d4e406318a3bd8d8d" ], 0, - "e1035638d49804c51874e684f6c27378" + "462fc9c94c6f9ac0aa606bec54dce27c" ], [ "FStar.Int.ones_to_vec_lemma", 3, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_FStar.Int.to_vec", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.ones_vec", "equation_FStar.Int.to_vec", "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.ones_vec", "typing_FStar.Int.ones", "typing_FStar.Int.to_vec" ], 0, - "c1d5ba9ed612d39d4f01bb7344dc61d7" + "2da6c2785791b5b61c3109980b833adc" ], [ "FStar.Int.ones_from_vec_lemma", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8e4583a1f9f96be24d7a02517419b51e" + "e0370bec039b463aabab09f90509daf0" ], [ "FStar.Int.nth", 2, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_FStar.Int.to_vec", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Int.to_vec" ], 0, - "d56d2080830588c4645958035da6d2ac" + "30c5d58f878c8c9bfad243a504a7cf6b" ], [ "FStar.Int.nth_lemma", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9a87f2e0650fc1b1d8925fe35503358c" + "e70bbac2b17d392a88b6ec1a2cec38ff" ], [ "FStar.Int.minus", 2, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "74176d000d645151ff70512c7629c92b" + "7b09155bd7725fb52e90a5289b5be227" ], [ "FStar.Int.logand_commutative", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5d1c6ee34fda9cd2b6d1d81a9eacd2e8" + "af2f26b0615ed6509b0630284c1ae87e" ], [ "FStar.Int.logand_associative", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "14565f8a1ab2ea656a25f25597937983" + "fb2e8271803ac81a3955072ce42bc6f8" ], [ "FStar.Int.logand_self", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "54c855f187fd79850bb2e070c6e163ea" + "458f8a77db16a6afd19b56fd7d2ec2c3" ], [ "FStar.Int.logand_lemma_1", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "23c2ee4c13c114a918e7708cdec2462e" + "dbacd5670972f0f7f094bb5c5e578613" ], [ "FStar.Int.logand_lemma_2", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1940b6b88e89a7fa3d9b906c13b4674f" + "b674d2b8f44f613b94f7439260aff988" ], [ "FStar.Int.sign_bit_negative", 3, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a531de2783a5f428440af86243ab59e8" + "92c1b323f4b4dd416b4213d4cb96779f" ], [ "FStar.Int.sign_bit_positive", 3, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "303795fe7543297c7ad3b529e7d8c4c2" + "fd3cecf79efa5ddb15f75b92e76f6e54" ], [ "FStar.Int.logand_pow2_minus_one", 3, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "8b1e16f1327117674701f42bd59299fa" + "f52a7214988565374f4040523fd4d4b1" ], [ "FStar.Int.logand_max", 3, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.min_int", "equation_FStar.Int.size", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e8b94a54709dc7fe72e29f4620c20c73", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", "typing_FStar.Int.fits" ], 0, - "9e2214e5e39faa06a8b59c8b0d6a3687" + "def22e2262a3a2c7c12918d09d386b72" ], [ "FStar.Int.logxor_commutative", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cd7d8b40bf03ffc0645ec38aba81145d" + "2aa22c5a9ae8f2e2e9e2350ed36d0502" ], [ "FStar.Int.logxor_associative", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "13ef9f1d07820a61ae025286e0425f6f" + "eff882d721a06668ce0e5ab63cccd452" ], [ "FStar.Int.logxor_self", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0cb21cae2db0747ec01faaa9ef8a447f" + "450858ae2c774cd319642ba069eb2ffb" ], [ "FStar.Int.logxor_lemma_1", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "372b04c324d1a37363e10ecffaf13f97" + "57301b8a4b30face615d667a1bbde80a" ], [ "FStar.Int.logxor_lemma_2", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1b333d2e891d4501aba0d4d6fa5a9207" + "babe577fc183274be3cef11e3034c111" ], [ "FStar.Int.logxor_inv", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c7459b7597982f1c29fc7daff8e59a4b" + "bbae55161b0352dc0a8456cec6b30497" ], [ "FStar.Int.logxor_neq_nonzero", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d55fc13736771b8920d4d97a13e6c539" + "6fa201ff2d7bfffa2dd471315cfd46d0" ], [ - "FStar.Int.shift_left_lemma_1", + "FStar.Int.lognot_negative", 3, + 2, 1, + [ + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", + "equation_Prims.squash", "function_token_typing_Prims.bool", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Int.fits", "typing_FStar.Int.to_uint", + "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.fits" + ], 0, + "6649a6b21da76860f8ff17325cc50e0d" + ], + [ + "FStar.Int.shift_left_lemma_1", + 3, + 2, + 1, [ "@query", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" ], 0, - "6514c934d8f1ef909f1b8c1291544e4d" + "b2b8101d1859e026008603cc0ee7f342" ], [ "FStar.Int.shift_left_lemma_2", 3, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" ], 0, - "abb7de8fbe85ea7ec15eb743c78d1924" + "6ccbec163e6a3ed2cbc2b3b958fb9a30" ], [ - "FStar.Int.shift_right_lemma_1", + "FStar.Int.shift_left_value_lemma", 3, + 2, 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" + ], 0, + "13776ade2712eb279e387bf5d6423056" + ], + [ + "FStar.Int.shift_right_lemma_1", + 3, + 2, + 1, [ "@query", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" ], 0, - "302bf4d4925c0889af6777d24dd89dea" + "46d5906e3636023dc1bf41e404edf480" ], [ "FStar.Int.shift_right_lemma_2", 3, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "c5debf129bb027cb3450bd4146e0153d" + "fbe30f494e8a75ff0d054264aa3d4bb6" ], [ - "FStar.Int.shift_left_value_lemma", + "FStar.Int.shift_arithmetic_right_lemma_1", 3, + 2, 1, + [ + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" + ], 0, + "0cf7daa2c224e8f867b8eafb3e6b737c" + ], + [ + "FStar.Int.shift_arithmetic_right_lemma_2", + 3, + 2, + 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "add874985002a918000da073ddac243a" + "4d61e6ca37bffc06fcb72dbd534573ca" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Int128.fst b/ulib/FStar.Int128.fst index 359b6ba383e..ec23bdebdb1 100644 --- a/ulib/FStar.Int128.fst +++ b/ulib/FStar.Int128.fst @@ -21,6 +21,8 @@ unfold let n = 128 open FStar.Int open FStar.Mul +#set-options "--max_fuel 0 --max_ifuel 0" + (* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) @@ -112,20 +114,26 @@ let lognot (x:t) : Pure t (* Shift operators *) -(** If a is negative the result is implementation defined *) +(** If a is negative the result is implementation-defined *) abstract let shift_right (a:t) (s:UInt32.t) : Pure t (requires (0 <= v a /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) = Mk (shift_right (v a) (UInt32.v s)) -(** If a is negative the result is undefined behaviour *) +(** If a is negative or a * pow2 s is not representable the result is undefined *) abstract let shift_left (a:t) (s:UInt32.t) : Pure t - (requires (0 <= v a /\ UInt32.v s < n)) + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) = Mk (shift_left (v a) (UInt32.v s)) +abstract +let shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + (* Comparison operators *) let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) @@ -144,12 +152,32 @@ unfold let op_Amp_Hat = logand unfold let op_Bar_Hat = logor unfold let op_Less_Less_Hat = shift_left unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right unfold let op_Equals_Hat = eq unfold let op_Greater_Hat = gt unfold let op_Greater_Equals_Hat = gte unfold let op_Less_Hat = lt unfold let op_Less_Equals_Hat = lte +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + (* To input / output constants *) assume val to_string: t -> Tot string assume val of_string: string -> Tot t diff --git a/ulib/FStar.Int128.fst.hints b/ulib/FStar.Int128.fst.hints old mode 100644 new mode 100755 index 03ed0d68e52..593eab3fefe --- a/ulib/FStar.Int128.fst.hints +++ b/ulib/FStar.Int128.fst.hints @@ -1,126 +1,126 @@ [ - "ë{Zåì+©È:΂\t$\u0018Lƒ", + "zrPèEg훘\u0004ûS\f7µ\u001d", [ [ "FStar.Int128.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1ed1494e4d428b45ded1b7d38322308b" + "2f9d5013326fdef85aa6c71fd8c34293" ], [ "FStar.Int128.int_to_t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d716b6d694b1f38267f4fcbe9002be97" + "336bc8e2161b3ce3ac9c196e59f4e528" ], [ "FStar.Int128.int_to_t", 2, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int128.v", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_FStar.Int128.Mk_v" ], 0, - "550804dad9ca968647fbd52739707c9c" + "46e095998ec8d7032eaa10ac6a74a023" ], [ "FStar.Int128.uv_inv", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int128.int_to_t", "equation_FStar.Int128.v", "fuel_guarded_inversion_FStar.Int128.t", "proj_equation_FStar.Int128.Mk_v" ], 0, - "22670f5a29d2438b6ffd328d53bbb743" + "e7eaf900bbb5d9a47860ac8d1b187355" ], [ "FStar.Int128.vu_inv", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int128.int_to_t", "equation_FStar.Int128.v", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_FStar.Int128.Mk_v" ], 0, - "0324696d7c8dbc3d0cc1f3c7ff6a9d2e" + "d7b4db02834eb5cbed8dc047dc6d476e" ], [ "FStar.Int128.v_inj", 1, - 2, - 1, + 0, + 0, [ "@query", "lemma_FStar.Int128.uv_inv" ], 0, - "843c0c8a679b9ccb24a2231415bd3bdf" + "620cbe571f402b7f4cfd365009472892" ], [ "FStar.Int128.add", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.add", "equation_FStar.Int128.v", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_FStar.Int128.Mk_v" ], 0, - "4161856d80bb39d06b3a3f056f064dca" + "e219aadc0907633a5aa46a6fdc6345ad" ], [ "FStar.Int128.sub", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.sub", "equation_FStar.Int128.v", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_FStar.Int128.Mk_v" ], 0, - "cd04fda3719912c26bfa2036dce9793c" + "b7413f6666765efe1bdc1d2b087522fb" ], [ "FStar.Int128.mul", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.mul", "equation_FStar.Int128.v", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_FStar.Int128.Mk_v" ], 0, - "0e5c684c1f516d6de59cdb4be7dad4cf" + "c1e98eeedd04d0dfa5b3a40792981b79" ], [ "FStar.Int128.div", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int128.v", "proj_equation_FStar.Int128.Mk_v", @@ -128,138 +128,216 @@ "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" ], 0, - "972ccce081b79f9e03cdeab362f61e50" + "6927b73809702fc9af6fda290db0a2c3" ], [ "FStar.Int128.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_FStar.Int128.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_FStar.Int128.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" ], 0, - "44112372ee6901097095e2b7e256e816" + "ad7a8efd0ec032108cad53e4e6c394fc" ], [ "FStar.Int128.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_FStar.Int128.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_FStar.Int128.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_FStar.Int128.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cc81c26b1abe215b68606b7ddf10e836" + "e3e91cccd2c3c77e7145f272b26a0efd" ], [ "FStar.Int128.logxor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int128.v", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_FStar.Int128.Mk_v" ], 0, - "48275970de9f300b5f616fac98ef5238" + "a0acfdf5b9082d9eec7ba3b92b18ae61" ], [ "FStar.Int128.logor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int128.v", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_FStar.Int128.Mk_v" ], 0, - "608a5ee28d533d17863fc4ca19e62f9e" + "04e35cda639921a5e7e807a2c454aff7" ], [ "FStar.Int128.lognot", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int128.v", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_FStar.Int128.Mk_v" ], 0, - "e1079c7c3fe8eced2031622e9519a7c1" + "685051dc830fdbe10acfc1137319b46d" ], [ "FStar.Int128.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int128.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int128.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int128.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_8151b9d7d6bb39b457a52a876c55c990", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "30adf5ec8fd65a4358584ceb6b4e454b" + "df1802d46b65c0f0d32d388c9b88ef76" ], [ "FStar.Int128.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int128.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int128.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int128.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int128.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8151b9d7d6bb39b457a52a876c55c990", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_8eb9f2ef1a887f1bad3e85ff1c37c8c6", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "94ed29318e282a52a786608511d869de" + ], + [ + "FStar.Int128.shift_arithmetic_right", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.Int128.v", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "proj_equation_FStar.Int128.Mk_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Int128.Mk_v", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "9ac93cc0e1f4198a3d47037b730ae4a8" + "7c846a4b6524c4cb2b6f21c157126e63" + ], + [ + "FStar.Int128.ct_abs", + 1, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", + "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.nth", "equation_FStar.Int.ones", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.Int128.v", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_Prims.abs", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.to_uint_injective", + "lemma_FStar.Int.zero_nth_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_33c4f2300f1544e298b388900358a643", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_ca85c36eb10e9a2f43f93fc90550499d", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int128.v", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.from_vec", "typing_FStar.UInt.max_int", + "typing_FStar.UInt.sub_mod" + ], + 0, + "589e58f9b77ec17095dcd937b5753ec8" ], [ "FStar.Int128.mul_wide", @@ -272,185 +350,287 @@ "projection_inverse_FStar.Int128.Mk_v" ], 0, - "dd6c18bc0c151e3675b3c19bd1cbc05e" + "f856de26b76bee529827ea7c8070c7b3" ], [ "FStar.Int128.int_to_t", 3, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fe1952ff56e0606b6b0605fb410ce512" + "11fb3334ec87283d10fbe95187696d57" ], [ "FStar.Int128.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bd83e6ca287e2d2b3d8e081f2290c0b7" + "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" ], 0, - "a0bd5aa2880950e9c1801497afdf5786" + "e172c7dcdbaf2110c257fd833e089fec" ], [ "FStar.Int128.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_bd83e6ca287e2d2b3d8e081f2290c0b7" + "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" ], 0, - "ced2c9ac95188f4f49f4e509c07f8e0c" + "2de48314339ed093ae919a1dc0d6424a" ], [ "FStar.Int128.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cf4a45b095c99fdc274f9c661a2ff7ed" + "9c62c3b6a73e15ea25d37b3de49e06c5" ], [ "FStar.Int128.shift_right", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0c66615671c6c442d618521dd55568e2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_8151b9d7d6bb39b457a52a876c55c990" ], 0, - "03f30aa123daa84d13af568e86546fb9" + "e7b285adde114b3eca6b5771cd5f2369" ], [ "FStar.Int128.shift_left", 2, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_8eb9f2ef1a887f1bad3e85ff1c37c8c6", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "3309341803d6d0c66a1a6d7c8890dfab" + ], + [ + "FStar.Int128.shift_arithmetic_right", 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0c66615671c6c442d618521dd55568e2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "40f97497c889cfff429943b38420e818" + "ef1ce2cf556b81e69862b60cb592d8ad" ], [ "FStar.Int128.op_Slash_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bd83e6ca287e2d2b3d8e081f2290c0b7" + "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" ], 0, - "d76c7249cb4a6e022157626a915217bb" + "613fd6ba66fd11a37a4a1f0303b76f16" ], [ "FStar.Int128.op_Percent_Hat", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_bd83e6ca287e2d2b3d8e081f2290c0b7" + "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" ], 0, - "52a6c8c833f8744602f78743c8a185d1" + "939dfb7e777962067036722378314673" ], [ "FStar.Int128.op_Amp_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a97613ea03958b51dc61583b1b96f380" + "2cd427c0e9b8244b35ef806f684be6d6" ], [ "FStar.Int128.op_Less_Less_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0c66615671c6c442d618521dd55568e2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_8eb9f2ef1a887f1bad3e85ff1c37c8c6", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "d93490f4d5bce9c324c494ffb3782a7c" + "55158eaabd201201a3c8dd2fa34895b3" ], [ "FStar.Int128.op_Greater_Greater_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0c66615671c6c442d618521dd55568e2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_8151b9d7d6bb39b457a52a876c55c990" + ], + 0, + "79649002b8944f82a147f2c2a35a214a" + ], + [ + "FStar.Int128.op_Greater_Greater_Greater_Hat", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "a60daf7d93c840d98837dd2a92fb0405" + ], + [ + "FStar.Int128.ct_abs", + 2, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", + "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.nth", "equation_FStar.Int.ones", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.pos", "function_token_typing_Prims.bool", + "int_inversion", "int_typing", "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.to_uint_injective", + "lemma_FStar.Int.zero_nth_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_33c4f2300f1544e298b388900358a643", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_ca85c36eb10e9a2f43f93fc90550499d", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int128.v", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec" ], 0, - "01cb7ee3356e832787c0c4c4d4909b9d" + "c02b357310874890a79ec43d4d5a6622" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Int16.fst b/ulib/FStar.Int16.fst index c64b44904c0..0d467cb470f 100644 --- a/ulib/FStar.Int16.fst +++ b/ulib/FStar.Int16.fst @@ -21,6 +21,8 @@ unfold let n = 16 open FStar.Int open FStar.Mul +#set-options "--max_fuel 0 --max_ifuel 0" + (* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) @@ -112,20 +114,26 @@ let lognot (x:t) : Pure t (* Shift operators *) -(** If a is negative the result is implementation defined *) +(** If a is negative the result is implementation-defined *) abstract let shift_right (a:t) (s:UInt32.t) : Pure t (requires (0 <= v a /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) = Mk (shift_right (v a) (UInt32.v s)) -(** If a is negative the result is undefined behaviour *) +(** If a is negative or a * pow2 s is not representable the result is undefined *) abstract let shift_left (a:t) (s:UInt32.t) : Pure t - (requires (0 <= v a /\ UInt32.v s < n)) + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) = Mk (shift_left (v a) (UInt32.v s)) +abstract +let shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + (* Comparison operators *) let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) @@ -144,12 +152,32 @@ unfold let op_Amp_Hat = logand unfold let op_Bar_Hat = logor unfold let op_Less_Less_Hat = shift_left unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right unfold let op_Equals_Hat = eq unfold let op_Greater_Hat = gt unfold let op_Greater_Equals_Hat = gte unfold let op_Less_Hat = lt unfold let op_Less_Equals_Hat = lte +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + (* To input / output constants *) assume val to_string: t -> Tot string assume val of_string: string -> Tot t diff --git a/ulib/FStar.Int16.fst.hints b/ulib/FStar.Int16.fst.hints index 17352f1f000..a5661f2b80b 100644 --- a/ulib/FStar.Int16.fst.hints +++ b/ulib/FStar.Int16.fst.hints @@ -1,125 +1,125 @@ [ - "%Ž5ï\u0016ƒ™S5O2ГąÖ", + "ù@×±¨2X\u0018\u001a–O\u0000lV¨‚", [ [ "FStar.Int16.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9fd0770f55d5ed90c94dba3e1ab51df8" + "24a713f28b15c6294492244d16ebbda1" ], [ "FStar.Int16.int_to_t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1ff5f7c58f4015a6469e25e157896445" + "3befbc6717cd2ddad5506c3c3984026b" ], [ "FStar.Int16.int_to_t", 2, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_FStar.Int16.Mk_v" ], 0, - "619915ab39293ad4d0a2718d3df69bd3" + "bd0c707d9a105f9a3c6f36c49e265dc5" ], [ "FStar.Int16.uv_inv", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int16.int_to_t", "equation_FStar.Int16.v", "fuel_guarded_inversion_FStar.Int16.t", "proj_equation_FStar.Int16.Mk_v" ], 0, - "414f15f257e02fe40a781c1c4305e024" + "1f871f1581cb6791d9717cf5b7433060" ], [ "FStar.Int16.vu_inv", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int16.int_to_t", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_FStar.Int16.Mk_v" ], 0, - "3297b0420ef187498827b992358c5966" + "014fa9b9a1c8b24bbb418d5b7493670f" ], [ "FStar.Int16.v_inj", 1, - 2, - 1, + 0, + 0, [ "@query", "lemma_FStar.Int16.uv_inv" ], 0, - "c597c12d4a366cb40c8f5e524d520fbd" + "33f193cf8310de9f6e27991fe2498564" ], [ "FStar.Int16.add", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.add", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_FStar.Int16.Mk_v" ], 0, - "b303311ac5527b2915c884b9d190b0f7" + "a565830fb6b353db34037984293525b8" ], [ "FStar.Int16.sub", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.sub", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_FStar.Int16.Mk_v" ], 0, - "3c9edfd57d3f6dae547dc09de4efc21a" + "ffc0c40978ac206a03876ec3066ec6c0" ], [ "FStar.Int16.mul", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.mul", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_FStar.Int16.Mk_v" ], 0, - "8df6c53a0a3de2e7fafe79929fa92455" + "6514c5c86bc03cff10a6d5e436bcc36c" ], [ "FStar.Int16.div", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", @@ -127,313 +127,492 @@ "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" ], 0, - "af3ab63321c3813c8b8449d6e007b54c" + "96dd91a50fa604fd548b9d51bc4d4982" ], [ "FStar.Int16.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_FStar.Int16.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_FStar.Int16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" ], 0, - "36488ca8775aaa787814016be5d3c3a5" + "459e4c5bf75d65656c32da6253d042a3" ], [ "FStar.Int16.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_FStar.Int16.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_FStar.Int16.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_FStar.Int16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7a92cf1a004e7c73d3f113cadac47c8c" + "ad7afba9d219708429b4d55cb2144fbd" ], [ "FStar.Int16.logxor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_FStar.Int16.Mk_v" ], 0, - "250cbee9018c63b31cd2e24b8d203c30" + "46e77a6cc7e52a3b378eea798036935c" ], [ "FStar.Int16.logor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_FStar.Int16.Mk_v" ], 0, - "c543142b1e9496dbe4bd1be4916ebcc2" + "4dbe0e1da483e17de2c45769dea687f0" ], [ "FStar.Int16.lognot", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_FStar.Int16.Mk_v" ], 0, - "a4c3150e2731ba13a6a522d4a1a2648a" + "b3ebab31e457c56d25bfcdd02ebe567d" ], [ "FStar.Int16.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int16.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int16.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_a2e6dcd48b2e3fc4fd137ba9c2d85b4a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "92e27a6334f9ebab310e25e268aeead5" + "f1e0624f2750f50898d8b9d1ccc3549e" ], [ "FStar.Int16.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int16.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int16.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int16.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int16.Mk_v", + "refinement_interpretation_Tm_refine_2d59b199806b13f43e1799949ea7f848", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a2e6dcd48b2e3fc4fd137ba9c2d85b4a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "401ff79e5c791c5ed67aa37eed0fc77e" + ], + [ + "FStar.Int16.shift_arithmetic_right", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.Int16.v", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "proj_equation_FStar.Int16.Mk_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Int16.Mk_v", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "df357efa7b3c485141ad94d9f18480f3" + "48b0b65b061d388788b09af1f47698b7" + ], + [ + "FStar.Int16.ct_abs", + 1, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", + "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", + "equation_FStar.Int.min_int", "equation_FStar.Int.nth", + "equation_FStar.Int.ones", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.Int16.v", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_Prims.abs", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.to_uint_injective", + "lemma_FStar.Int.zero_nth_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bf5555126581fbecb556df8ab0a05eef", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f4ec0a04344e7130939ebe4f31f6bd8f", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int16.v", "typing_FStar.Seq.Base.length", + "typing_Prims.abs" + ], + 0, + "35ab97a708138c642aa7cae822be2930" ], [ "FStar.Int16.int_to_t", 3, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cbca2abd7a2a17f6687e6c00b49bc18a" + "d89b43bb3521ae62141d7eefb097b444" ], [ "FStar.Int16.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fef5ff503b6cdcd8cb23172cefa154b7" + "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" ], 0, - "1ed4b2e69d28325c5cbdc8052b115b1d" + "db2a8cf8bddbe19580f8beae2e58c583" ], [ "FStar.Int16.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fef5ff503b6cdcd8cb23172cefa154b7" + "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" ], 0, - "825783d08d3f846f1130a7aeffca42fc" + "8f0829d6dbc80975477356f0c91bde35" ], [ "FStar.Int16.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "79b63b139fdc0ea751be936155d90e82" + "b3cb6df02a0870a8fb41b244ff652483" ], [ "FStar.Int16.shift_right", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_dea62f64ffb27de71f976c6518a88e7e" + "refinement_interpretation_Tm_refine_a2e6dcd48b2e3fc4fd137ba9c2d85b4a" ], 0, - "8162c7386714edfdff6a834c4570f7a0" + "8a72d6615858697653ce2331a6177978" ], [ "FStar.Int16.shift_left", 2, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2d59b199806b13f43e1799949ea7f848", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "4aaa0e2293366b7eab78e76b7cf2ca54" + ], + [ + "FStar.Int16.shift_arithmetic_right", 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_dea62f64ffb27de71f976c6518a88e7e" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "d59079033958ab265fb43119a0468719" + "794377214454156d3e9a5d0ab4fa7ef9" ], [ "FStar.Int16.op_Slash_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fef5ff503b6cdcd8cb23172cefa154b7" + "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" ], 0, - "3bfd8e6a2f5d509cfef40da9eec76410" + "0212660b91de13a6c9dcd3bb4303fcdd" ], [ "FStar.Int16.op_Percent_Hat", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fef5ff503b6cdcd8cb23172cefa154b7" + "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" ], 0, - "79d2be8f6dde8d6775e4176860167386" + "54ff683615b6c60704b69ee7c5963121" ], [ "FStar.Int16.op_Amp_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "63018034029dbabb5742ca8b7c19e80b" + "3d7d91d9a96769859b82cca78f8fd0ed" ], [ "FStar.Int16.op_Less_Less_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2d59b199806b13f43e1799949ea7f848", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_dea62f64ffb27de71f976c6518a88e7e" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "0fadcfef440a86dec4dd5c08044ca7ef" + "963f5c1aef53e751038e35fa3847df85" ], [ "FStar.Int16.op_Greater_Greater_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_a2e6dcd48b2e3fc4fd137ba9c2d85b4a" + ], + 0, + "ea983480ce6fb7d8a0578f334b14c11c" + ], + [ + "FStar.Int16.op_Greater_Greater_Greater_Hat", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_dea62f64ffb27de71f976c6518a88e7e" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "3b307a9cf037a8f8a6870660bfde93fc" + ], + [ + "FStar.Int16.ct_abs", + 2, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", + "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.nth", "equation_FStar.Int.ones", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.pos", "function_token_typing_Prims.bool", + "int_inversion", "int_typing", "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.to_uint_injective", + "lemma_FStar.Int.zero_nth_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bf5555126581fbecb556df8ab0a05eef", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f4ec0a04344e7130939ebe4f31f6bd8f", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int16.v", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec" ], 0, - "3501d2592c504149062fe136e78d67a4" + "4d9c00d3de24acd3838180776dfed2a6" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Int31.fst b/ulib/FStar.Int31.fst index 92a11ae8be8..25fa7c0dfe3 100644 --- a/ulib/FStar.Int31.fst +++ b/ulib/FStar.Int31.fst @@ -21,6 +21,8 @@ unfold let n = 31 open FStar.Int open FStar.Mul +#set-options "--max_fuel 0 --max_ifuel 0" + (* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) @@ -112,20 +114,26 @@ let lognot (x:t) : Pure t (* Shift operators *) -(** If a is negative the result is implementation defined *) +(** If a is negative the result is implementation-defined *) abstract let shift_right (a:t) (s:UInt32.t) : Pure t (requires (0 <= v a /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) = Mk (shift_right (v a) (UInt32.v s)) -(** If a is negative the result is undefined behaviour *) +(** If a is negative or a * pow2 s is not representable the result is undefined *) abstract let shift_left (a:t) (s:UInt32.t) : Pure t - (requires (0 <= v a /\ UInt32.v s < n)) + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) = Mk (shift_left (v a) (UInt32.v s)) +abstract +let shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + (* Comparison operators *) let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) @@ -144,12 +152,32 @@ unfold let op_Amp_Hat = logand unfold let op_Bar_Hat = logor unfold let op_Less_Less_Hat = shift_left unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right unfold let op_Equals_Hat = eq unfold let op_Greater_Hat = gt unfold let op_Greater_Equals_Hat = gte unfold let op_Less_Hat = lt unfold let op_Less_Equals_Hat = lte +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + (* To input / output constants *) assume val to_string: t -> Tot string assume val of_string: string -> Tot t diff --git a/ulib/FStar.Int31.fst.hints b/ulib/FStar.Int31.fst.hints index 191e6484813..1373b714d78 100644 --- a/ulib/FStar.Int31.fst.hints +++ b/ulib/FStar.Int31.fst.hints @@ -1,125 +1,125 @@ [ - "lë‘ÈF¾ëù3Y©9¯óé½", + "Ñ,ú\u001bmyéF_µ-\u000e„\u0002©û", [ [ "FStar.Int31.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d2d5618ab2160e7a3284984d97ed0cdd" + "6a11234061627cdda871637df92e1908" ], [ "FStar.Int31.int_to_t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "422ee78baded7df0d47fd2b8d56636b8" + "adbe3dbbc838293b86bd3af9d86b9766" ], [ "FStar.Int31.int_to_t", 2, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int31.v", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_FStar.Int31.Mk_v" ], 0, - "e49c45ef693ad223a6d4926ca99246b3" + "b1114d16777d1e98e665df633e5d168e" ], [ "FStar.Int31.uv_inv", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int31.int_to_t", "equation_FStar.Int31.v", "fuel_guarded_inversion_FStar.Int31.t", "proj_equation_FStar.Int31.Mk_v" ], 0, - "e571f0d5fed7acceccee22910736a744" + "a6fde0bf549c866090c971fba1e9726b" ], [ "FStar.Int31.vu_inv", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int31.int_to_t", "equation_FStar.Int31.v", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_FStar.Int31.Mk_v" ], 0, - "df5596dad0ef8fa2f70d69b014d5de19" + "c5806c77cc9bec49cfe56d6b61090760" ], [ "FStar.Int31.v_inj", 1, - 2, - 1, + 0, + 0, [ "@query", "lemma_FStar.Int31.uv_inv" ], 0, - "2d584ebd70445d10066062681b075a49" + "f1a3936cf702145265c3b8c3caaa3fe7" ], [ "FStar.Int31.add", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.add", "equation_FStar.Int31.v", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_FStar.Int31.Mk_v" ], 0, - "8c79c6af3f99a2609f1d58b112169a59" + "9bc1ce9823217cb7cda14c296fc8c2d4" ], [ "FStar.Int31.sub", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.sub", "equation_FStar.Int31.v", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_FStar.Int31.Mk_v" ], 0, - "6ae00489964d8705398ba679a02fad7d" + "792ee20473066aa47ffe0c96dd5a146f" ], [ "FStar.Int31.mul", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.mul", "equation_FStar.Int31.v", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_FStar.Int31.Mk_v" ], 0, - "ccbb6c3832a10bd9be79e1efa72c226d" + "cfe8d54e145bccb42854c0caf470ef0b" ], [ "FStar.Int31.div", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int31.v", "proj_equation_FStar.Int31.Mk_v", @@ -127,313 +127,493 @@ "refinement_interpretation_Tm_refine_49d1bb3514b4a0a253df8e76a20d698a" ], 0, - "f6dff3e2a24a28fc566d917303f2924b" + "6a263dde6de5b99c23b7416b62640d4f" ], [ "FStar.Int31.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_FStar.Int31.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_FStar.Int31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_49d1bb3514b4a0a253df8e76a20d698a" ], 0, - "fc3310b47e5958b7ff8a219c9adb9ceb" + "6a11a3230772da9da5013a52423e05ff" ], [ "FStar.Int31.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_FStar.Int31.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_FStar.Int31.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_FStar.Int31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "defdb166f544ab6d7ecfaeabaa9ba71d" + "e2e21d0584a20880d485da1814eaa9b5" ], [ "FStar.Int31.logxor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int31.v", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_FStar.Int31.Mk_v" ], 0, - "c0477eb598c526977fb617196a3ed0be" + "37cd7ee157b40f80585f75e58ae40f51" ], [ "FStar.Int31.logor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int31.v", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_FStar.Int31.Mk_v" ], 0, - "2752eb827d29cde791cff4e1e1cf2456" + "110228679724c068d535ffe3eb87728b" ], [ "FStar.Int31.lognot", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int31.v", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_FStar.Int31.Mk_v" ], 0, - "9c7efea44be8285147cf2da1cfde984d" + "e2ae3d371b639a990c5bc9a62291976e" ], [ "FStar.Int31.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int31.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int31.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_8926f02131bd40ae5f2f952c6841c4e1", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "16ea4f70786b5f317abddfde8c051247" + "06450abae5a104acfc87773dbc46aca4" ], [ "FStar.Int31.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int31.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int31.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int31.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8926f02131bd40ae5f2f952c6841c4e1", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_d4403b7d2717b5abb4406687da89a212", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "84af9a71f59717d390708d0c894c75b1" + "d5450943cc9225ba9460791a39a28b4d" + ], + [ + "FStar.Int31.shift_arithmetic_right", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.Int31.v", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "proj_equation_FStar.Int31.Mk_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Int31.Mk_v", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "32ba9d0051fa90ad620b3d4f07e701b9" + ], + [ + "FStar.Int31.ct_abs", + 1, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", + "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.nth", "equation_FStar.Int.ones", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.Int31.v", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_Prims.abs", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.to_uint_injective", + "lemma_FStar.Int.zero_nth_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_71c3c2656ff212e1662a117af04fba60", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_d9a5fed24352fb2153eb8e9d934029ed", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int31.v", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.from_vec", "typing_FStar.UInt.max_int", + "typing_FStar.UInt.sub_mod" + ], + 0, + "d64fd549e84bbce660ca94a300bc5eec" ], [ "FStar.Int31.int_to_t", 3, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8b7af99c9fa0b802873312cffbb2eecb" + "399c7a635cf34403c1dac92baadbd01f" ], [ "FStar.Int31.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_37b72b35c4028dab08378f7480a20af8" + "refinement_interpretation_Tm_refine_49d1bb3514b4a0a253df8e76a20d698a" ], 0, - "9201d0d5c26356e1de7ca312fbe8a853" + "512df03ec5798595b381188f7353627f" ], [ "FStar.Int31.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_37b72b35c4028dab08378f7480a20af8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_49d1bb3514b4a0a253df8e76a20d698a" ], 0, - "e237befec6be08b839a4c4cbb3c12bdc" + "18847505d712c690ed84180c20b81b94" ], [ "FStar.Int31.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d1ace7d530a24735481110adb3ef1ed6" + "88c3bfa08b62d9ac67c8902f80e7de25" ], [ "FStar.Int31.shift_right", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fa7b9f997f0227479c267c10c93887a5" + "refinement_interpretation_Tm_refine_8926f02131bd40ae5f2f952c6841c4e1" ], 0, - "c069f2333c0e2b17a50814e45751fc89" + "2a3b33ec0c80218158c8f424caef892c" ], [ "FStar.Int31.shift_left", 2, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_d4403b7d2717b5abb4406687da89a212", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "c7c94b07824049314bf5c0ae1d640a2a" + ], + [ + "FStar.Int31.shift_arithmetic_right", 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fa7b9f997f0227479c267c10c93887a5" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "d49fa435d1f17478e4f37a691dd39e40" + "2d0a863922bd54396c540221ba292d17" ], [ "FStar.Int31.op_Slash_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_37b72b35c4028dab08378f7480a20af8" + "refinement_interpretation_Tm_refine_49d1bb3514b4a0a253df8e76a20d698a" ], 0, - "9d195ad61e9858060d8e0c69b6d34c3b" + "e28019a6a953694825030533375a1aef" ], [ "FStar.Int31.op_Percent_Hat", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_37b72b35c4028dab08378f7480a20af8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_49d1bb3514b4a0a253df8e76a20d698a" ], 0, - "4c4772f0d757328f0bc254d059d31abb" + "c8fb8816cc104b8f9ed8a55cd625a515" ], [ "FStar.Int31.op_Amp_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dc6c2abc7edadc082fe45dd4465d7064" + "421b82f036082a45f9ebd2e1a2add8ff" ], [ "FStar.Int31.op_Less_Less_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fa7b9f997f0227479c267c10c93887a5" + "refinement_interpretation_Tm_refine_d4403b7d2717b5abb4406687da89a212", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "307970489d9cff47dcf7f39649b24785" + "017fb656b19ea31d600560c5f4631af8" ], [ "FStar.Int31.op_Greater_Greater_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fa7b9f997f0227479c267c10c93887a5" + "refinement_interpretation_Tm_refine_8926f02131bd40ae5f2f952c6841c4e1" + ], + 0, + "e81ef455b43beb89316667c6a212e4d1" + ], + [ + "FStar.Int31.op_Greater_Greater_Greater_Hat", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "3008e1339ee51b91bdc92f1058677d28" + ], + [ + "FStar.Int31.ct_abs", + 2, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", + "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.nth", "equation_FStar.Int.ones", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.pos", "function_token_typing_Prims.bool", + "int_inversion", "int_typing", "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.to_uint_injective", + "lemma_FStar.Int.zero_nth_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_71c3c2656ff212e1662a117af04fba60", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_d9a5fed24352fb2153eb8e9d934029ed", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int31.v", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec" ], 0, - "d89ca4a0c391a42afe33106071e54722" + "4bf51d8639e54d285e16835feb310827" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Int32.fst b/ulib/FStar.Int32.fst index 713033c1074..c7d89ed3935 100644 --- a/ulib/FStar.Int32.fst +++ b/ulib/FStar.Int32.fst @@ -21,6 +21,8 @@ unfold let n = 32 open FStar.Int open FStar.Mul +#set-options "--max_fuel 0 --max_ifuel 0" + (* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) @@ -112,20 +114,26 @@ let lognot (x:t) : Pure t (* Shift operators *) -(** If a is negative the result is implementation defined *) +(** If a is negative the result is implementation-defined *) abstract let shift_right (a:t) (s:UInt32.t) : Pure t (requires (0 <= v a /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) = Mk (shift_right (v a) (UInt32.v s)) -(** If a is negative the result is undefined behaviour *) +(** If a is negative or a * pow2 s is not representable the result is undefined *) abstract let shift_left (a:t) (s:UInt32.t) : Pure t - (requires (0 <= v a /\ UInt32.v s < n)) + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) = Mk (shift_left (v a) (UInt32.v s)) +abstract +let shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + (* Comparison operators *) let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) @@ -144,12 +152,32 @@ unfold let op_Amp_Hat = logand unfold let op_Bar_Hat = logor unfold let op_Less_Less_Hat = shift_left unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right unfold let op_Equals_Hat = eq unfold let op_Greater_Hat = gt unfold let op_Greater_Equals_Hat = gte unfold let op_Less_Hat = lt unfold let op_Less_Equals_Hat = lte +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + (* To input / output constants *) assume val to_string: t -> Tot string assume val of_string: string -> Tot t diff --git a/ulib/FStar.Int32.fst.hints b/ulib/FStar.Int32.fst.hints index 8cbc322ffa5..d339751b73e 100644 --- a/ulib/FStar.Int32.fst.hints +++ b/ulib/FStar.Int32.fst.hints @@ -1,125 +1,125 @@ [ - "\u0010N\u0012+\u001f¹(ƒ¯AV\u0005”®ˆS", + "\u0007\n\u00140³\"b\u000e\u0011§œj¹Ùd°", [ [ "FStar.Int32.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4b1c23e5168f7773baf8581f284e70cc" + "054fffb5a39ffde9bca85a5e6b6ce1d5" ], [ "FStar.Int32.int_to_t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9ffbc213e1444b11ab24604913db98bd" + "ad125bedc29661dcfda1acc1df05b2c1" ], [ "FStar.Int32.int_to_t", 2, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_FStar.Int32.Mk_v" ], 0, - "e4d57cfa5d569c33872284c5b409c533" + "63294e2bb9dea63f259364c63c277c76" ], [ "FStar.Int32.uv_inv", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int32.int_to_t", "equation_FStar.Int32.v", "fuel_guarded_inversion_FStar.Int32.t", "proj_equation_FStar.Int32.Mk_v" ], 0, - "f302f7f0b5ea8bc400dc42bea1c26b3d" + "881136b170d252495ec0c3e8510b6320" ], [ "FStar.Int32.vu_inv", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int32.int_to_t", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_FStar.Int32.Mk_v" ], 0, - "28ed2ae6a62bac15accd3ead224c2d4f" + "041543b3fce5912b514f07f0ea12702c" ], [ "FStar.Int32.v_inj", 1, - 2, - 1, + 0, + 0, [ "@query", "lemma_FStar.Int32.uv_inv" ], 0, - "80aa434337c562950fee2159232347d8" + "bb1bed388b7e32e42db6199457bc6ff7" ], [ "FStar.Int32.add", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.add", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_FStar.Int32.Mk_v" ], 0, - "20ce9620668c89b64e624e2186f7aa60" + "48007916532060ba687eed4849e9feaa" ], [ "FStar.Int32.sub", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.sub", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_FStar.Int32.Mk_v" ], 0, - "aecc27e7315a1a074ac1c945c9e8c3b1" + "41aac0c0e8c868cbaca9b23a8cd374a1" ], [ "FStar.Int32.mul", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.mul", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_FStar.Int32.Mk_v" ], 0, - "8d2370267603c77eb922c30bbd33fdf7" + "38c28c3d5fc0f56527a327ed2ab1621c" ], [ "FStar.Int32.div", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", @@ -127,313 +127,473 @@ "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" ], 0, - "4fc7f59f046b5008b02324c9207c3f26" + "97e3837b4b1c98c644e84ee4ada6d7e9" ], [ "FStar.Int32.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_FStar.Int32.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_FStar.Int32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" ], 0, - "74c6bf508a7796117ff4b9fe020e5a7f" + "677a0beed8ffe8fd57e48c071d74579f" ], [ "FStar.Int32.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_FStar.Int32.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_FStar.Int32.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_FStar.Int32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b291a7c4b481eb79081172b8f55ae6ee" + "666fdf215656dfe94476100dfc24ba09" ], [ "FStar.Int32.logxor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_FStar.Int32.Mk_v" ], 0, - "dc06a40f012a608cea235bb70b459005" + "d73ee937eeb08b7aaef82a8e5b965bc9" ], [ "FStar.Int32.logor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_FStar.Int32.Mk_v" ], 0, - "60e8eb2d22b4357670f27902309c3d51" + "f84f464b0295b71ec47d825954b6b336" ], [ "FStar.Int32.lognot", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_FStar.Int32.Mk_v" ], 0, - "444d822908cbd1e0dbc2c709d04acba5" + "5c3d91153ebb4fde169bd29e196d4128" ], [ "FStar.Int32.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int32.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int32.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int32.Mk_v", "refinement_interpretation_Tm_refine_2c194b0439f83c4d481fa5410f8dccf7", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "73aeb12ab3e7513af33bc1e7cd8e6240" + "e7aac97c5d9b79fcbae2057e54b24270" ], [ "FStar.Int32.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int32.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int32.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "proj_equation_FStar.Int32.Mk_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Int32.Mk_v", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_ab41a69e3536034a5327a84f079a4ca9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "9777894eaae3bf21aee4dec011bae807" + ], + [ + "FStar.Int32.shift_arithmetic_right", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.Int32.v", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int32.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int32.Mk_v", - "refinement_interpretation_Tm_refine_2c194b0439f83c4d481fa5410f8dccf7", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "f5dd3ac48ada332fffdf58477629706b" + "d443b777be1a7b77197a1527c1dd24fb" + ], + [ + "FStar.Int32.ct_abs", + 1, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.nth", "equation_FStar.Int.ones", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.Int32.v", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_Prims.abs", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.zero_nth_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7ebbe64b62d60feef45ced5325adbe87", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_da1b0dfb8283502ec162998a8bbb6431", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int32.v", "typing_FStar.UInt.from_vec", + "typing_FStar.UInt.max_int", "typing_FStar.UInt.sub_mod", + "typing_Prims.abs" + ], + 0, + "b85eb42cc320bdc620efdd676d9058da" ], [ "FStar.Int32.int_to_t", 3, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5e8136e5d61269b5ce185440615dcc04" + "dfbe2ec657994a5c42da1a5f594fff4a" ], [ "FStar.Int32.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1e6e240df26b899e674c8c91c70fb9fd" + "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" ], 0, - "1e8838b609900eb75db58fc3f10f3d2c" + "94788e01ba6898c9735c0930a0294487" ], [ "FStar.Int32.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_1e6e240df26b899e674c8c91c70fb9fd", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" ], 0, - "15be9b78bcaae98eea87c4162bd7c4c7" + "dff9ceafc57cdfc09e43512c5885977e" ], [ "FStar.Int32.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e1d2c212b878640ceed553d5ae2cb827" + "959d91a7abc2041150da63163bd4568e" ], [ "FStar.Int32.shift_right", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b387afa5458171595734fb7195c17ef4" + "refinement_interpretation_Tm_refine_2c194b0439f83c4d481fa5410f8dccf7", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d2ff4ef09fe25fb3d3f4609073c2bf7f" + "b647f133b5138587f6c3556c25fc1f9a" ], [ "FStar.Int32.shift_left", 2, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_ab41a69e3536034a5327a84f079a4ca9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "37c766581b45ddaa4e648d482991f0f6" + ], + [ + "FStar.Int32.shift_arithmetic_right", 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b387afa5458171595734fb7195c17ef4" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "1f16661969ca854629485219a93f8943" + "fefe3759d9e51780c79f2e5d966c2843" ], [ "FStar.Int32.op_Slash_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1e6e240df26b899e674c8c91c70fb9fd" + "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" ], 0, - "47e8505fb67fdaa3991d52b698b45a9a" + "a632d3967486a66cc7441e2937c7f178" ], [ "FStar.Int32.op_Percent_Hat", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_1e6e240df26b899e674c8c91c70fb9fd", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" ], 0, - "c3bf4176ea30e3c1bf7b72aa127d21d1" + "48ea49f249322c0844bf1c17704058eb" ], [ "FStar.Int32.op_Amp_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e68efddf0acef437ca3d4d92c7ba2039" + "8321293ea66ed623108d75b071caf50d" ], [ "FStar.Int32.op_Less_Less_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b387afa5458171595734fb7195c17ef4" + "refinement_interpretation_Tm_refine_ab41a69e3536034a5327a84f079a4ca9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "e631196ef6d9ca81bb219e8ede24a4b8" + "f3fb4000cbf1e694851ef7c317352d19" ], [ "FStar.Int32.op_Greater_Greater_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2c194b0439f83c4d481fa5410f8dccf7", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "35c4122c696f23b03d5ae6d15012e8cd" + ], + [ + "FStar.Int32.op_Greater_Greater_Greater_Hat", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b387afa5458171595734fb7195c17ef4" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "fffedd39dfcd6faa33b767548a379355" + ], + [ + "FStar.Int32.ct_abs", + 2, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.nth", "equation_FStar.Int.ones", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.zero", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", + "int_inversion", "int_typing", "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.zero_nth_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7ebbe64b62d60feef45ced5325adbe87", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_da1b0dfb8283502ec162998a8bbb6431", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int32.v", "typing_Prims.abs" ], 0, - "55458dcbe19e2f6c6abbbd316362ccf4" + "9a972a5b2603d35787fb9c00eccf8d8a" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Int63.fst b/ulib/FStar.Int63.fst index 1458870cd7c..5b2eaec1ce6 100644 --- a/ulib/FStar.Int63.fst +++ b/ulib/FStar.Int63.fst @@ -21,6 +21,8 @@ unfold let n = 63 open FStar.Int open FStar.Mul +#set-options "--max_fuel 0 --max_ifuel 0" + (* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) @@ -112,20 +114,26 @@ let lognot (x:t) : Pure t (* Shift operators *) -(** If a is negative the result is implementation defined *) +(** If a is negative the result is implementation-defined *) abstract let shift_right (a:t) (s:UInt32.t) : Pure t (requires (0 <= v a /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) = Mk (shift_right (v a) (UInt32.v s)) -(** If a is negative the result is undefined behaviour *) +(** If a is negative or a * pow2 s is not representable the result is undefined *) abstract let shift_left (a:t) (s:UInt32.t) : Pure t - (requires (0 <= v a /\ UInt32.v s < n)) + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) = Mk (shift_left (v a) (UInt32.v s)) +abstract +let shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + (* Comparison operators *) let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) @@ -144,12 +152,32 @@ unfold let op_Amp_Hat = logand unfold let op_Bar_Hat = logor unfold let op_Less_Less_Hat = shift_left unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right unfold let op_Equals_Hat = eq unfold let op_Greater_Hat = gt unfold let op_Greater_Equals_Hat = gte unfold let op_Less_Hat = lt unfold let op_Less_Equals_Hat = lte +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + (* To input / output constants *) assume val to_string: t -> Tot string assume val of_string: string -> Tot t diff --git a/ulib/FStar.Int63.fst.hints b/ulib/FStar.Int63.fst.hints index 5eeb4f1aab5..ba726f15a46 100644 --- a/ulib/FStar.Int63.fst.hints +++ b/ulib/FStar.Int63.fst.hints @@ -1,125 +1,125 @@ [ - "uïDüÚ!®Èx\u001c\u0015ø?y\\L", + "¥_®ôxxµ°Ó·€gó–_", [ [ "FStar.Int63.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "954046a2a179c60abb3ddfc73bfd3ab7" + "4dfbb356ead145f8fd3722bb645e62d9" ], [ "FStar.Int63.int_to_t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d6264fcafc705c124109c6a6b1d08bde" + "7db26acd57617e6e1661fd475cca29a4" ], [ "FStar.Int63.int_to_t", 2, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int63.v", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_FStar.Int63.Mk_v" ], 0, - "4cd2f80cc76410476617ee63dd6deb3f" + "a57355de9bb1fe5ca7b059ef13e23bf2" ], [ "FStar.Int63.uv_inv", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int63.int_to_t", "equation_FStar.Int63.v", "fuel_guarded_inversion_FStar.Int63.t", "proj_equation_FStar.Int63.Mk_v" ], 0, - "c903965461a9e8cb48fde7d4aeede8d6" + "0c24680eef82ee5195397c7b39baff00" ], [ "FStar.Int63.vu_inv", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int63.int_to_t", "equation_FStar.Int63.v", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_FStar.Int63.Mk_v" ], 0, - "1704bc598aef7a6f20ed52338530062a" + "dcd8479d8f10165d4c438df66b35aa07" ], [ "FStar.Int63.v_inj", 1, - 2, - 1, + 0, + 0, [ "@query", "lemma_FStar.Int63.uv_inv" ], 0, - "759961b5b0c68e244b51ef51772246ea" + "d32912a33152ab662d1bd64cb076827f" ], [ "FStar.Int63.add", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.add", "equation_FStar.Int63.v", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_FStar.Int63.Mk_v" ], 0, - "d017942c06cde87f8d7d6df13238d03c" + "3fcffc278b721aa58900ab28b3e17a23" ], [ "FStar.Int63.sub", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.sub", "equation_FStar.Int63.v", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_FStar.Int63.Mk_v" ], 0, - "e502773785bf71d7e1a7f267a810bda6" + "9abddd947d8f1d19cb53aa9b5cdfc7f7" ], [ "FStar.Int63.mul", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.mul", "equation_FStar.Int63.v", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_FStar.Int63.Mk_v" ], 0, - "ef9772878941dad4fcd61f6581ba6557" + "bacb6403bdb58a1295f33ca0a43156c7" ], [ "FStar.Int63.div", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int63.v", "proj_equation_FStar.Int63.Mk_v", @@ -127,313 +127,492 @@ "refinement_interpretation_Tm_refine_238886f2e89835148c24bba431927e86" ], 0, - "2eafbf30825922547a3a2eea02e0fb98" + "bf1a5ddd2b59c9c3539d80f0fd7b83ee" ], [ "FStar.Int63.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_FStar.Int63.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_FStar.Int63.Mk_v", "refinement_interpretation_Tm_refine_238886f2e89835148c24bba431927e86", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7af01cde1b33b12ab6b15242944c1dd4" + "07ff597d8c27f243a8c9d1466acd83c6" ], [ "FStar.Int63.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_FStar.Int63.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_FStar.Int63.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_FStar.Int63.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "661eec108a5aa5b364dd499e95e78257" + "725e00e312253c4c658c1921fec7a623" ], [ "FStar.Int63.logxor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int63.v", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_FStar.Int63.Mk_v" ], 0, - "43df5df18567019c1095dacb84e7e3ce" + "affa5b40f00bdc92a5cb47d48b73db68" ], [ "FStar.Int63.logor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int63.v", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_FStar.Int63.Mk_v" ], 0, - "700e0e95b5e2a4752912652adff048a5" + "5b92017ab2a265c08389d83498d103dc" ], [ "FStar.Int63.lognot", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int63.v", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_FStar.Int63.Mk_v" ], 0, - "bfc1fbccf2febbb6f18f1ed0694b9631" + "1a06e6439a5fca04d6187ff3588e8a44" ], [ "FStar.Int63.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int63.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int63.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int63.Mk_v", "refinement_interpretation_Tm_refine_34c1f4c43c4348910d54e5d9e9bfeb72", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "7e70464df6ca3974a2d83ede4d9cc0d9" + "23221a225f56fdc48033aeaa3e46469f" ], [ "FStar.Int63.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int63.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int63.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "proj_equation_FStar.Int63.Mk_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Int63.Mk_v", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_dd828e72af2137028539ee8275ba78c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "bd81456856a67d6ce0f72546e0263f12" + ], + [ + "FStar.Int63.shift_arithmetic_right", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.Int63.v", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int63.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int63.Mk_v", - "refinement_interpretation_Tm_refine_34c1f4c43c4348910d54e5d9e9bfeb72", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "3b80f8db34d36ef659aa3fb744ac5479" + "e1e693e5ab792a3c4fd473af6c691d22" + ], + [ + "FStar.Int63.ct_abs", + 1, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", + "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.nth", "equation_FStar.Int.ones", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.Int63.v", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_Prims.abs", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.to_uint_injective", + "lemma_FStar.Int.zero_nth_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0480f64b6d8ab9f852b966369e7fa314", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f715c68eb64733a2342088f2e8861a15", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int63.v", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.from_vec", "typing_FStar.UInt.max_int", + "typing_FStar.UInt.sub_mod" + ], + 0, + "36446c6188478c1ae26c319e4c9bcf1f" ], [ "FStar.Int63.int_to_t", 3, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "615dea1edeeeaa6d5b26e9268e9aa5f5" + "51bcdf2637f69e9c21d7f230b16f495d" ], [ "FStar.Int63.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6b96000311b2ce935144d56db728d95f" + "refinement_interpretation_Tm_refine_238886f2e89835148c24bba431927e86" ], 0, - "bba613f5cc23cf4ca3edad276bd0e3f8" + "4e4746681db9a485398e958681453470" ], [ "FStar.Int63.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b96000311b2ce935144d56db728d95f" + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_238886f2e89835148c24bba431927e86", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3de78395cf9c47597e2ad1d92301bb00" + "96aa2e979f2886e7bb893f5588fefb2b" ], [ "FStar.Int63.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ba8bfd6e927d13ccea4a00a8a6cc3265" + "d75c19b38a227a5271a78bbdfa2baf0d" ], [ "FStar.Int63.shift_right", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_581e90f3d043cfb2fe71b3cb7b56c1fe" + "refinement_interpretation_Tm_refine_34c1f4c43c4348910d54e5d9e9bfeb72", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4f822cb7031647edde13eb79718af79d" + "986c38169c784777fff78267ac2e1c3e" ], [ "FStar.Int63.shift_left", 2, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_dd828e72af2137028539ee8275ba78c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "9593dc33eec4dd5548d8c23d59764dc6" + ], + [ + "FStar.Int63.shift_arithmetic_right", 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_581e90f3d043cfb2fe71b3cb7b56c1fe" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "12da8e2223bc6f092d961545e2f603ef" + "34f953f0f9a07b13032db882e7034785" ], [ "FStar.Int63.op_Slash_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6b96000311b2ce935144d56db728d95f" + "refinement_interpretation_Tm_refine_238886f2e89835148c24bba431927e86" ], 0, - "8be08ae50c208b96fe24bc6f796ae8f7" + "dba0619045373f866c6e60934eece33d" ], [ "FStar.Int63.op_Percent_Hat", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b96000311b2ce935144d56db728d95f" + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_238886f2e89835148c24bba431927e86", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4ad60aca7fe207313dadd8ba1b5795c6" + "5866aa952dbb6686f015b93d71a6c31e" ], [ "FStar.Int63.op_Amp_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9d004f7a4c53e4b49a83a2088b46e6ca" + "7b2122f45363f225eb6621029716b8b9" ], [ "FStar.Int63.op_Less_Less_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_581e90f3d043cfb2fe71b3cb7b56c1fe" + "refinement_interpretation_Tm_refine_dd828e72af2137028539ee8275ba78c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "3e470165d438b00b902b12307e9372c7" + "a9ecd0038554f050fd995bd8d80a5f27" ], [ "FStar.Int63.op_Greater_Greater_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_34c1f4c43c4348910d54e5d9e9bfeb72", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "39ec0da2975552009ae329b23a0ceee0" + ], + [ + "FStar.Int63.op_Greater_Greater_Greater_Hat", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_581e90f3d043cfb2fe71b3cb7b56c1fe" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "e14cdf15ffe87bdefd0b1dd1eefe6c31" + ], + [ + "FStar.Int63.ct_abs", + 2, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.fits", "equation_FStar.Int.from_vec", + "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", + "equation_FStar.Int.min_int", "equation_FStar.Int.nth", + "equation_FStar.Int.ones", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.pos", "function_token_typing_Prims.bool", + "int_inversion", "int_typing", "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.zero_nth_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0480f64b6d8ab9f852b966369e7fa314", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f715c68eb64733a2342088f2e8861a15", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int63.v", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.from_vec" ], 0, - "235cac029a4bf4e928e5d3a6181b992c" + "f7b8b5160c665bd192fa108ed9f899cf" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Int64.fst b/ulib/FStar.Int64.fst index 3888f47c572..0f21a32cf3e 100644 --- a/ulib/FStar.Int64.fst +++ b/ulib/FStar.Int64.fst @@ -21,6 +21,8 @@ unfold let n = 64 open FStar.Int open FStar.Mul +#set-options "--max_fuel 0 --max_ifuel 0" + (* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) @@ -112,20 +114,26 @@ let lognot (x:t) : Pure t (* Shift operators *) -(** If a is negative the result is implementation defined *) +(** If a is negative the result is implementation-defined *) abstract let shift_right (a:t) (s:UInt32.t) : Pure t (requires (0 <= v a /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) = Mk (shift_right (v a) (UInt32.v s)) -(** If a is negative the result is undefined behaviour *) +(** If a is negative or a * pow2 s is not representable the result is undefined *) abstract let shift_left (a:t) (s:UInt32.t) : Pure t - (requires (0 <= v a /\ UInt32.v s < n)) + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) = Mk (shift_left (v a) (UInt32.v s)) +abstract +let shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + (* Comparison operators *) let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) @@ -144,12 +152,32 @@ unfold let op_Amp_Hat = logand unfold let op_Bar_Hat = logor unfold let op_Less_Less_Hat = shift_left unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right unfold let op_Equals_Hat = eq unfold let op_Greater_Hat = gt unfold let op_Greater_Equals_Hat = gte unfold let op_Less_Hat = lt unfold let op_Less_Equals_Hat = lte +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + (* To input / output constants *) assume val to_string: t -> Tot string assume val of_string: string -> Tot t diff --git a/ulib/FStar.Int64.fst.hints b/ulib/FStar.Int64.fst.hints index b75c0b3c00d..b7f29ce9f87 100644 --- a/ulib/FStar.Int64.fst.hints +++ b/ulib/FStar.Int64.fst.hints @@ -1,125 +1,125 @@ [ - "¾1˜2½´\u0017¨>ùXd9¤y4", + "­®¡4bU5Þ\u0001a¦\u000eOK\u0007\"", [ [ "FStar.Int64.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "21d60efe0889755a05c8250eb7baefb3" + "e96caf722fffd62e8c96658a19275280" ], [ "FStar.Int64.int_to_t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b3c1e07a7088bf5c8fe52916acc0b8fc" + "617d6af1b9627d83bc78dec2364a306c" ], [ "FStar.Int64.int_to_t", 2, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_FStar.Int64.Mk_v" ], 0, - "75d3ae387b660d2aea6e35f0ef47b230" + "79b80165e868a612f6d062cfe5e6a443" ], [ "FStar.Int64.uv_inv", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int64.int_to_t", "equation_FStar.Int64.v", "fuel_guarded_inversion_FStar.Int64.t", "proj_equation_FStar.Int64.Mk_v" ], 0, - "98912bdc062e36563ed46e894764834b" + "66a750ccb418e1f8ce7384b51fcad53e" ], [ "FStar.Int64.vu_inv", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int64.int_to_t", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_FStar.Int64.Mk_v" ], 0, - "2777e879172a94a19cd2284dbf176aa5" + "465b9e87cc46e75cfe30bade20083fcc" ], [ "FStar.Int64.v_inj", 1, - 2, - 1, + 0, + 0, [ "@query", "lemma_FStar.Int64.uv_inv" ], 0, - "19c0fb4c47f0659543254bba7e091b8a" + "ff4afad9e9d8d541124f788b023016f3" ], [ "FStar.Int64.add", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.add", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_FStar.Int64.Mk_v" ], 0, - "1a0c36501e343c1958943f484ebef376" + "21bcfc915f85286ed70d111ea5771950" ], [ "FStar.Int64.sub", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.sub", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_FStar.Int64.Mk_v" ], 0, - "e45c1afa38647d3999f5c50d97b2d1fe" + "89575bbf114f866aa43010e5be2e614b" ], [ "FStar.Int64.mul", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.mul", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_FStar.Int64.Mk_v" ], 0, - "09ca9ed8ff01a332027e85f2c314b52c" + "3adf4b6a1ca0424f4f5637b298fedac6" ], [ "FStar.Int64.div", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", @@ -127,313 +127,469 @@ "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" ], 0, - "56886d047db32775ebc4a46927d5b14f" + "dc4a6ae5ba83612e7e17cf69ebaf440b" ], [ "FStar.Int64.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_FStar.Int64.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_FStar.Int64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" ], 0, - "0a13110a13e17d27c16416a86c8b9774" + "d45bff245a1ec23a4dba762fabb465c4" ], [ "FStar.Int64.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_FStar.Int64.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_FStar.Int64.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_FStar.Int64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "45e4ba80b709c7172a088198d941baf2" + "ab2854f9888f98917c12633b90e84b48" ], [ "FStar.Int64.logxor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_FStar.Int64.Mk_v" ], 0, - "68a6849bcb047f062e4b62e75d403f30" + "933f92c5fffbb226b13a1f29ca3bd232" ], [ "FStar.Int64.logor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_FStar.Int64.Mk_v" ], 0, - "4da358fd451e9897ab028413e1cc7d18" + "996a8e8509a29720ed6cce87aca65853" ], [ "FStar.Int64.lognot", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_FStar.Int64.Mk_v" ], 0, - "ca426b54614c60806d2f26e2599b986f" + "61b99dc29a3e716d237c5ddcb73f5e80" ], [ "FStar.Int64.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int64.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int64.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_d8a341e2bde0f984814d3d57cbdc184e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "79c625c9e6242b7042c35c66f3252176" + "34c780ba93262e5744667f64a105b4ce" ], [ "FStar.Int64.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int64.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int64.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int64.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_d8a341e2bde0f984814d3d57cbdc184e", + "refinement_interpretation_Tm_refine_5bc6e51b5085750fcf6703994dc9ee4f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "729f2fe9f2659ee74e3632883daa42a3" + "8f5c9955e7b76aafcf429523e17eb300" + ], + [ + "FStar.Int64.shift_arithmetic_right", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.Int64.v", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "proj_equation_FStar.Int64.Mk_v", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Int64.Mk_v", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "2c672fa1c8b735dd8fd3163a7fa1771a" + ], + [ + "FStar.Int64.ct_abs", + 1, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.nth", "equation_FStar.Int.ones", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.Int64.v", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_Prims.abs", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.zero_nth_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5678793836319ee26b16152f1eac0ca7", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int64.v", "typing_FStar.Seq.Base.length" + ], + 0, + "c57225a2c2fe3a48e9efe3350412fe16" ], [ "FStar.Int64.int_to_t", 3, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c155e70f3fd06832561fd2e316c1a2f1" + "2ad89fe5072cf0fd9413775916a3fbaa" ], [ "FStar.Int64.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2628deffe5675499a646a3dd9ca29ca9" + "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" ], 0, - "f9a025baa52fdf96e48c6ab2f1b206ef" + "6c0c85adb7e3a5e82a7102be0c730059" ], [ "FStar.Int64.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_2628deffe5675499a646a3dd9ca29ca9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" ], 0, - "a2d1830a8e46aca498f165039dea5ce4" + "79cee710b397f5a2ab488ea331029651" ], [ "FStar.Int64.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8e92f97651f8dff8a7aed97e68b4b40c" + "c36e07c66304be8df69fe841a9ab063a" ], [ "FStar.Int64.shift_right", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b8236df2479b0e2845bcb43c3cee5b91" + "refinement_interpretation_Tm_refine_d8a341e2bde0f984814d3d57cbdc184e" ], 0, - "6534ee13184db21e5e5e79d6317fcd0c" + "21addb59910f5e5dc8a7f171e54d6cb6" ], [ "FStar.Int64.shift_left", 2, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_5bc6e51b5085750fcf6703994dc9ee4f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "677ce5c1bfb1b5c3269de24863121d9f" + ], + [ + "FStar.Int64.shift_arithmetic_right", 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b8236df2479b0e2845bcb43c3cee5b91" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "1ccfee341ea9fe145136739224df1022" + "28fe7763ef51316341e6a2ce9e58f397" ], [ "FStar.Int64.op_Slash_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2628deffe5675499a646a3dd9ca29ca9" + "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" ], 0, - "875b30749a4c3ee5d308e993e27a118c" + "b2330436ed8211174d11660b6a9dd13c" ], [ "FStar.Int64.op_Percent_Hat", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_2628deffe5675499a646a3dd9ca29ca9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" ], 0, - "14fbe03eff2f161206e6e4e342cf312c" + "834cd406d585837eb243a9654fcd916b" ], [ "FStar.Int64.op_Amp_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d02b7978a883f041de15ec5a0eabd85a" + "d391a61ebcc1a2aca2f6168fc0d39218" ], [ "FStar.Int64.op_Less_Less_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b8236df2479b0e2845bcb43c3cee5b91" + "refinement_interpretation_Tm_refine_5bc6e51b5085750fcf6703994dc9ee4f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "fa58c9f312bd8b1be2ce1b0585f3dc01" + "1dc5fe959191358002202816b69fe809" ], [ "FStar.Int64.op_Greater_Greater_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b8236df2479b0e2845bcb43c3cee5b91" + "refinement_interpretation_Tm_refine_d8a341e2bde0f984814d3d57cbdc184e" + ], + 0, + "c662ade03b784313e22e673a87c74622" + ], + [ + "FStar.Int64.op_Greater_Greater_Greater_Hat", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "901195b21a835cb2434bcdb4833ac311" + ], + [ + "FStar.Int64.ct_abs", + 2, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.nth", "equation_FStar.Int.ones", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_Prims.abs", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.zero_nth_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5678793836319ee26b16152f1eac0ca7", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_vec", "typing_FStar.Int64.v", + "typing_FStar.Seq.Base.length" ], 0, - "8b1814259d7ee3ef461eb5a76d5c2c11" + "f07087568b212fa7735cba6e26b70991" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Int8.fst b/ulib/FStar.Int8.fst index fea1a6ba271..0da3c0521f6 100644 --- a/ulib/FStar.Int8.fst +++ b/ulib/FStar.Int8.fst @@ -21,6 +21,8 @@ unfold let n = 8 open FStar.Int open FStar.Mul +#set-options "--max_fuel 0 --max_ifuel 0" + (* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) @@ -112,20 +114,26 @@ let lognot (x:t) : Pure t (* Shift operators *) -(** If a is negative the result is implementation defined *) +(** If a is negative the result is implementation-defined *) abstract let shift_right (a:t) (s:UInt32.t) : Pure t (requires (0 <= v a /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) = Mk (shift_right (v a) (UInt32.v s)) -(** If a is negative the result is undefined behaviour *) +(** If a is negative or a * pow2 s is not representable the result is undefined *) abstract let shift_left (a:t) (s:UInt32.t) : Pure t - (requires (0 <= v a /\ UInt32.v s < n)) + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) = Mk (shift_left (v a) (UInt32.v s)) +abstract +let shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + (* Comparison operators *) let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) @@ -144,12 +152,32 @@ unfold let op_Amp_Hat = logand unfold let op_Bar_Hat = logor unfold let op_Less_Less_Hat = shift_left unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right unfold let op_Equals_Hat = eq unfold let op_Greater_Hat = gt unfold let op_Greater_Equals_Hat = gte unfold let op_Less_Hat = lt unfold let op_Less_Equals_Hat = lte +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + (* To input / output constants *) assume val to_string: t -> Tot string assume val of_string: string -> Tot t diff --git a/ulib/FStar.Int8.fst.hints b/ulib/FStar.Int8.fst.hints index f7d30c87f32..69855cbd2cc 100644 --- a/ulib/FStar.Int8.fst.hints +++ b/ulib/FStar.Int8.fst.hints @@ -1,121 +1,121 @@ [ - "Ãøœ¶˜~r±=\u0005­W\u0017ƒ=–", + "× \u0011\u001e/TøӜР­Áßà«", [ [ "FStar.Int8.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4da5a80d26a31d440d2cf9c09e5c6263" + "69c2f57b041f6cb097a414d81101604d" ], [ "FStar.Int8.int_to_t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b13480b0239d2946f1cf5a2a25fa9c97" + "10c1a9a64c8cbbe3b2809f92cd8b6c18" ], [ "FStar.Int8.int_to_t", 2, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "18d3a7cb9594ec1ebb0a21041b369d86" + "512df1448344938f809d1d3326c06fed" ], [ "FStar.Int8.uv_inv", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int8.int_to_t", "equation_FStar.Int8.v", "fuel_guarded_inversion_FStar.Int8.t", "proj_equation_FStar.Int8.Mk_v" ], 0, - "4c10c46886d02d6bd95f66c965a401f0" + "03fac7d7fc98e8f76f3494d0bb36c234" ], [ "FStar.Int8.vu_inv", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int8.int_to_t", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "9cf74f1e2295bbcc67f1273032f6144c" + "f814b412331a974504ef96a86a122e89" ], [ "FStar.Int8.v_inj", 1, - 2, - 1, + 0, + 0, [ "@query", "lemma_FStar.Int8.uv_inv" ], 0, - "295d514fa084528d6ff80459e360ce4a" + "c5e76321e9d50735fe8b313a54695d1b" ], [ "FStar.Int8.add", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.add", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "bc0b18c5482f76c5e159e3e8e5d9f263" + "bf60748468d808626fd197535a8cbd65" ], [ "FStar.Int8.sub", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.sub", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "bc3f53e3425a7da54c4b94e4e297f196" + "0bc5ca796408a1f596a088fb24347355" ], [ "FStar.Int8.mul", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int.mul", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "fa711ea92e02579c85f6e3a873432527" + "62cb1f8c7b70fa4a811d12055d784a38" ], [ "FStar.Int8.div", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", @@ -123,311 +123,480 @@ "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" ], 0, - "d65917ba7741522a84b40aea12775536" + "c2a53117c2897b7ffde5781f89c09c70" ], [ "FStar.Int8.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_FStar.Int8.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" ], 0, - "f60d52a1be8ae7ef9560ce23b9cbeaf0" + "ff785a598e1f190ddadf5df931a308c2" ], [ "FStar.Int8.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_FStar.Int8.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_FStar.Int8.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5f436838995ecd8e04a343f23cdaa2e4" + "148516c958147fdbb9cca3c6010ebaf3" ], [ "FStar.Int8.logxor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "1fcdcbf5e6852c9ce094430a268bf3b7" + "0877d3b76c5867d6a2b79c56db8b7f3f" ], [ "FStar.Int8.logor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "4d7b6fd84560701ab784211d7e80129b" + "18cef2d8b1bbbe346d309abf55563bd9" ], [ "FStar.Int8.lognot", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" ], 0, - "d562c70e0a5005f7519f4ea3f86519c3" + "cac762c8762f924035f908a047029d61" ], [ "FStar.Int8.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int8.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int8.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int8.Mk_v", "refinement_interpretation_Tm_refine_2a2579a9298484fcab419ede5288ddf7", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "fba3a9bd5536fb6c8d0f2a6a69189f74" + "0cee1661c384ab3df400a1566caa6002" ], [ "FStar.Int8.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.Int8.v", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Int8.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", "int_inversion", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "proj_equation_FStar.Int8.Mk_v", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Int8.Mk_v", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4cf657497b00e2f2a0270d30bd31030a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "be067b4047f2150c5ab917e9aa8e750c" + ], + [ + "FStar.Int8.shift_arithmetic_right", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.Int8.v", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Int8.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Int8.Mk_v", - "refinement_interpretation_Tm_refine_2a2579a9298484fcab419ede5288ddf7", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "fb0acc183e58d3d64ca6f404d74ce8e7" + "3a17fad19e987b178c8048c7799c7f45" + ], + [ + "FStar.Int8.ct_abs", + 1, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", + "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", + "equation_FStar.Int.min_int", "equation_FStar.Int.nth", + "equation_FStar.Int.ones", "equation_FStar.Int.size", + "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", + "equation_FStar.Int.zero", "equation_FStar.Int8.v", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.pos", "function_token_typing_Prims.bool", + "int_inversion", "int_typing", "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.to_uint_injective", + "lemma_FStar.Int.zero_nth_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_26d768cc241c6628db9e0d45d45d9136", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_3c6fe23ae90da367aa6a92961d06aaec", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int8.v", "typing_FStar.Seq.Base.length", + "typing_Prims.abs" + ], + 0, + "5984c2f1cb4d926e4dae8c50f8bc96ef" ], [ "FStar.Int8.int_to_t", 3, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3b307c0640b10e114abd985923e34ea5" + "20d944ce931e206c26471ed03f9416ae" ], [ "FStar.Int8.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_12251fbc953e74d53f3976a3f2840567" + "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" ], 0, - "4398bde76af8c99f9d192b5f1db0f483" + "c0d7804a3595d710ee4c3580e92c56e7" ], [ "FStar.Int8.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_12251fbc953e74d53f3976a3f2840567", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" ], 0, - "98230a53e4ee9f04c6f632c0d35b51b3" + "1ca44bd949157e36ddbee34ef70e779b" ], [ "FStar.Int8.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "953453e20f07a41a0129861dffafb52a" + "31eea67262baa8b8e6084b1697596b3c" ], [ "FStar.Int8.shift_right", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b07947616d53a4c08453e6893344120" + "refinement_interpretation_Tm_refine_2a2579a9298484fcab419ede5288ddf7", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "afe392c3215e14721bee3aef40221083" + "1674be462f4a51e4273c3e4098916713" ], [ "FStar.Int8.shift_left", 2, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4cf657497b00e2f2a0270d30bd31030a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "3c81ae5a1ec5ed4f2b8d578eb286f45c" + ], + [ + "FStar.Int8.shift_arithmetic_right", 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b07947616d53a4c08453e6893344120" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "696a9cada9473eb88cdb1d313382463e" + "8c8475b9209ea64f8514f18d7601f46a" ], [ "FStar.Int8.op_Slash_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_12251fbc953e74d53f3976a3f2840567" + "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" ], 0, - "d14f2b6992cecd7a605a673cb7f61169" + "6f4f05740e15533a7ffdf38d1af43ea0" ], [ "FStar.Int8.op_Percent_Hat", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", - "refinement_interpretation_Tm_refine_12251fbc953e74d53f3976a3f2840567", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" ], 0, - "f46607da71021bb3355a5669d463431c" + "b405c799dabb82dd49598bed218931bd" ], [ "FStar.Int8.op_Amp_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2c35d0709f791e8c131eca126688c92b" + "10aff7da69a7a54ea8220f2d981b6961" ], [ "FStar.Int8.op_Less_Less_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b07947616d53a4c08453e6893344120" + "refinement_interpretation_Tm_refine_4cf657497b00e2f2a0270d30bd31030a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "92c0cb8cbbb0d9096269a33f3df8044d" + "afbb0beecb81b12282b64665baf5741a" ], [ "FStar.Int8.op_Greater_Greater_Hat", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f5da0921f0dd8806caefeddce48fd98d", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2a2579a9298484fcab419ede5288ddf7", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + ], + 0, + "58f080f96f336f4d2a72e9601a001744" + ], + [ + "FStar.Int8.op_Greater_Greater_Greater_Hat", + 1, + 0, + 0, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "function_token_typing_Prims.int", + "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b07947616d53a4c08453e6893344120" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "1ed0582b001f3740d3ff9a959edf35de" + ], + [ + "FStar.Int8.ct_abs", + 2, + 0, + 0, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", + "equation_FStar.BitVector.shift_arithmetic_right_vec", + "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", + "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", + "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", + "equation_FStar.Int.nth", "equation_FStar.Int.ones", + "equation_FStar.Int.shift_arithmetic_right", + "equation_FStar.Int.size", "equation_FStar.Int.to_uint", + "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.pos", "function_token_typing_Prims.bool", + "int_inversion", "int_typing", "lemma_FStar.Int.inverse_vec_lemma", + "lemma_FStar.Int.ones_nth_lemma", + "lemma_FStar.Int.shift_arithmetic_right_lemma_1", + "lemma_FStar.Int.shift_arithmetic_right_lemma_2", + "lemma_FStar.Int.to_uint_injective", + "lemma_FStar.Int.zero_nth_lemma", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_26d768cc241c6628db9e0d45d45d9136", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_3c6fe23ae90da367aa6a92961d06aaec", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.BitVector.shift_arithmetic_right_vec", + "typing_FStar.Int.lognot", "typing_FStar.Int.nth", + "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", + "typing_FStar.Int8.v", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec" ], 0, - "d3adadb410d9bfb9d2375f1d5de8907d" + "dde6e2b72069a5bb94d36e5f71ea3079" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.IntN.fstp b/ulib/FStar.IntN.fstp index 9a7e58e6eac..9dafb93b373 100644 --- a/ulib/FStar.IntN.fstp +++ b/ulib/FStar.IntN.fstp @@ -1,6 +1,8 @@ open FStar.Int open FStar.Mul +#set-options "--max_fuel 0 --max_ifuel 0" + (* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) @@ -92,20 +94,26 @@ let lognot (x:t) : Pure t (* Shift operators *) -(** If a is negative the result is implementation defined *) +(** If a is negative the result is implementation-defined *) abstract let shift_right (a:t) (s:UInt32.t) : Pure t (requires (0 <= v a /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) = Mk (shift_right (v a) (UInt32.v s)) -(** If a is negative the result is undefined behaviour *) +(** If a is negative or a * pow2 s is not representable the result is undefined *) abstract let shift_left (a:t) (s:UInt32.t) : Pure t - (requires (0 <= v a /\ UInt32.v s < n)) + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) = Mk (shift_left (v a) (UInt32.v s)) +abstract +let shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + (* Comparison operators *) let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) @@ -124,12 +132,32 @@ unfold let op_Amp_Hat = logand unfold let op_Bar_Hat = logor unfold let op_Less_Less_Hat = shift_left unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right unfold let op_Equals_Hat = eq unfold let op_Greater_Hat = gt unfold let op_Greater_Equals_Hat = gte unfold let op_Less_Hat = lt unfold let op_Less_Equals_Hat = lte +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + (* To input / output constants *) assume val to_string: t -> Tot string assume val of_string: string -> Tot t diff --git a/ulib/FStar.Integers.fst b/ulib/FStar.Integers.fst index 8985fcc4d8c..3350e2dde18 100644 --- a/ulib/FStar.Integers.fst +++ b/ulib/FStar.Integers.fst @@ -532,7 +532,7 @@ let ( |^ ) #sw (x:int_t sw) (y:int_t sw{width_of_sw sw <> Winfinite}) [@mark_for_norm] unfold let ( <<^ ) #sw (x:int_t sw{0 <= (v x <: Prims.int)}) - (y:int_t (Unsigned W32){width_of_sw sw <> Winfinite /\ v y < nat_of_fixed_width (width_of_sw sw)}) + (y:int_t (Unsigned W32){width_of_sw sw <> Winfinite /\ v y < nat_of_fixed_width (width_of_sw sw) /\ (Signed? sw ==> within_bounds sw (v x * pow2 (v y)))}) : Tot (int_t sw) = match sw with | Unsigned W8 -> FStar.UInt8.(x <<^ y) diff --git a/ulib/FStar.Integers.fst.hints b/ulib/FStar.Integers.fst.hints index e4c2f4671f7..06731ed61c8 100644 --- a/ulib/FStar.Integers.fst.hints +++ b/ulib/FStar.Integers.fst.hints @@ -1,5 +1,5 @@ [ - "\u00181!P1«äðŽ¿\u00125±\u001eà÷", + "ézõ–?YH4ÛœI¥‹Qn", [ [ "FStar.Integers.nat_of_width", @@ -19,7 +19,7 @@ "fuel_guarded_inversion_FStar.Integers.width" ], 0, - "53ac77c53db959c67d052206b57639a4" + "557d3ab6e3bb595544f049ec74a9bfef" ], [ "FStar.Integers.fixed_width", @@ -28,7 +28,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "e15fb2b097a36e8f322161df18a548ca" + "cbfac2420df9529d9da7471a54165cec" ], [ "FStar.Integers.nat_of_fixed_width", @@ -50,7 +50,7 @@ "typing_FStar.Integers.nat_of_width" ], 0, - "566e39049a29e3bdb31985f0eb9ba386" + "dbc1170cc970868d8a24267f27995f84" ], [ "FStar.Integers.signed_width", @@ -63,7 +63,7 @@ "haseqTm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "a4a815754b2f87a9a10698538fdaef95" + "bf35856b1241cecf74aa3b55e9a17055" ], [ "FStar.Integers.__proj__Signed__item___0", @@ -77,7 +77,7 @@ "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c" ], 0, - "fc9319e12eaceeef9ff5070a477f6cf3" + "08b552194b822e5d45b11ea16bc53594" ], [ "FStar.Integers.__proj__Unsigned__item___0", @@ -91,7 +91,7 @@ "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9" ], 0, - "3820c56abbca2daf80bcac96be31c563" + "5324726345ed46b18d19e387e15001db" ], [ "FStar.Integers.width_of_sw", @@ -105,7 +105,7 @@ "fuel_guarded_inversion_FStar.Integers.signed_width" ], 0, - "5a696cfcf258a96de5bbdbb9b272d676" + "3ba5d213815d49e886607922745ee356" ], [ "FStar.Integers.int_t", @@ -139,7 +139,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "b2fb1b5286be5eb1b8b901fbd1eb0eae" + "209e7bd2c920a8d3a0d877403a2a2384" ], [ "FStar.Integers.within_bounds'", @@ -185,7 +185,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "f1503d492855b8cd6d2e3416497d9036" + "f6e43bf4a0bdb87a90810d5e39a88c93" ], [ "FStar.Integers.v", @@ -228,7 +228,7 @@ "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "fd7d306a9f98568fb34c8846bf9946c3" + "a51f52cf942201a89a857f0651a88445" ], [ "FStar.Integers.u", @@ -238,7 +238,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W8", @@ -259,18 +258,17 @@ "equation_FStar.Integers.int_t", "equation_FStar.UInt128.n", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_Prims.__cache_version_number__", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_41ae00a3e556b48ef5ab6c6b5dd15278", + "refinement_interpretation_Tm_refine_ba3e6d9345565c0c78f1af7f916d6c04", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "ae8df7bddf6c7649ca7f687dfbeadf41" + "bc1aa530135c063b3737f011e50b4f9c" ], [ "FStar.Integers.cast", @@ -279,10 +277,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_19cba2b4b3046dd43eab5ca15231c076" + "refinement_interpretation_Tm_refine_702dc439ce60259b08215dec8840d39f" ], 0, - "39a49f4a513849772a018edea051dab3" + "5ddbab638151338ec48a1ef83b81699d" ], [ "FStar.Integers.op_Plus", @@ -341,14 +339,14 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9", - "refinement_interpretation_Tm_refine_951f02abc6c17b02b9d37914f8d634a3", + "refinement_interpretation_Tm_refine_82a56345ecfacee738c97de409ae1ad7", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c", "typing_FStar.Integers.__proj__Signed__item___0", "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "c8105c5e69a640ba48862bc3b54008a2" + "8323c116364b8a33144378ae3d477221" ], [ "FStar.Integers.op_Plus_Question", @@ -374,7 +372,7 @@ "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "ba9a59eb23f529660e260e1942793460" + "7b68fefcac7ffd14a6bd4353a36b1fe1" ], [ "FStar.Integers.modulo", @@ -393,7 +391,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8ad0f56ca5792fcfc4b577cabc3385df" + "bf3a605def1ff56e35c05f8f036cf41f" ], [ "FStar.Integers.op_Plus_Percent", @@ -421,7 +419,7 @@ "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "f5c2363b3cc946066459b6ea3e823042" + "e6bf7ae8a48de231f08881fd304b2bbb" ], [ "FStar.Integers.op_Subtraction", @@ -483,11 +481,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1a30d47526b0bcad55b18a9a96681d6d", "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_500c102516aa25298467835c7ae4bdad", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Integers.__proj__Signed__item___0", "typing_FStar.Integers.__proj__Unsigned__item___0", "typing_FStar.UInt128.v", "typing_FStar.UInt16.v", @@ -496,7 +494,7 @@ "typing_FStar.UInt8.v" ], 0, - "cbfb8c351e1879053e8bc76a1bdfafc1" + "765414b23a7300867f4a11e827f1a520" ], [ "FStar.Integers.op_Subtraction_Question", @@ -524,7 +522,7 @@ "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "7eb12619f7f89e38471089ed5daa44eb" + "3d8d6306827593255b340577725e7c67" ], [ "FStar.Integers.op_Subtraction_Percent", @@ -552,7 +550,7 @@ "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "dc259fcc73cb74b7c7422d77539496a8" + "9acac5adbdb625867989b29c7af80a08" ], [ "FStar.Integers.op_Minus", @@ -564,8 +562,9 @@ "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Integers.Winfinite", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Integers.Signed", "disc_equation_FStar.Integers.W128", @@ -575,8 +574,9 @@ "disc_equation_FStar.Integers.W63", "disc_equation_FStar.Integers.W64", "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", + "disc_equation_FStar.Integers.Winfinite", + "equality_tok_FStar.Integers.Winfinite@tok", + "equation_FStar.Int.fits", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", "equation_FStar.Int.size", "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", "fuel_guarded_inversion_FStar.Integers.width", @@ -589,13 +589,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_405c0387f999360b6b979d22fbff595d", - "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", - "typing_FStar.Int31.v" + "refinement_interpretation_Tm_refine_4d3c1ff53fea0cda8aa2c8ed77928451", + "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c" ], 0, - "493f64e35c47960d0ddd951a31940269" + "8a1b747f0e137e8f7afbb1a3fcaa90fc" ], [ "FStar.Integers.op_Star", @@ -604,7 +602,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "c298936be3a7b263b65f3cdaf3a9e17f" + "7ca6f2f27aa97f3331ab5eb2b6308766" ], [ "FStar.Integers.op_Star", @@ -658,12 +656,12 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_14065bd21de5da62e067667122806c60", - "refinement_interpretation_Tm_refine_3cd1ae4bd0e4adab9996510d26aa7c0d", + "refinement_interpretation_Tm_refine_916ebd16b8cabbb8c4bea72dcddb1d0e", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", "typing_FStar.Integers.width_of_sw" ], 0, - "daa71764aefcd5dda508174583b07c46" + "611e8489843755db2296502a05ae34fa" ], [ "FStar.Integers.op_Star_Question", @@ -672,7 +670,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "ea46420d4fcb8602b66911ea6e7061ac" + "b73a775edce32cf1c8231d1eee3204dd" ], [ "FStar.Integers.op_Star_Question", @@ -702,7 +700,7 @@ "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "bfcfa6949f7ea82a0423f87fa08a2d84" + "899af39cec762fddbc4cd049c2626dae" ], [ "FStar.Integers.op_Star_Percent", @@ -711,7 +709,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "ccfdd23a1d3fcbb27cfc233a6fb9f10a" + "33b2b1d8fad2af8cb77c42f68731bcfc" ], [ "FStar.Integers.op_Star_Percent", @@ -742,7 +740,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "2721e3392d7f25bf73f25250806ef815" + "6f80bb8dffdd043ddf1ca40176e8d5bc" ], [ "FStar.Integers.op_Greater", @@ -796,7 +794,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "d407c83db02f205d7e2d5fa0d3399786" + "ac3a71c59450a550433aada6e7e6446d" ], [ "FStar.Integers.op_Greater_Equals", @@ -850,7 +848,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "db5529b9933280ea65965c7e92cb99d9" + "3e552666fb743eefac2f860e34b3806c" ], [ "FStar.Integers.op_Less", @@ -904,7 +902,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "e4d6c578390f4bac1bd4ab6001d20ae3" + "5978d2fa1b1a24fe80dbfc6ecde92d59" ], [ "FStar.Integers.op_Less_Equals", @@ -958,7 +956,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "7c566697ac6758850336cbb8290c0e51" + "98caa71b5303634eaf6a74aab5b5ac5d" ], [ "FStar.Integers.op_Slash", @@ -974,7 +972,7 @@ "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789" ], 0, - "d8245daaceae2f86e5790ec33ebdb804" + "7c43ef9f9ccfa28edabe58d63f96add7" ], [ "FStar.Integers.op_Slash", @@ -984,8 +982,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Integers.Signed", + "b2t_def", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W128", "constructor_distinct_FStar.Integers.W16", @@ -1015,25 +1012,27 @@ "equality_tok_FStar.Integers.W64@tok", "equality_tok_FStar.Integers.W8@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", - "equation_Prims.nonzero", + "equation_FStar.Int.fits", "equation_FStar.Int.op_Slash", + "equation_FStar.Int.size", "equation_FStar.Integers.int_t", + "equation_FStar.Integers.v", "equation_Prims.nonzero", "fuel_guarded_inversion_FStar.Integers.signed_width", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "proj_equation_FStar.Integers.Signed__0", + "int_inversion", "primitive_Prims.op_AmpAmp", + "proj_equation_FStar.Integers.Signed__0", "proj_equation_FStar.Integers.Unsigned__0", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_41ae00a3e556b48ef5ab6c6b5dd15278", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", - "refinement_interpretation_Tm_refine_d9e1eb94f378940449ee81561646c992", + "refinement_interpretation_Tm_refine_6f37b1f59f5aa70bdd53b8925034b53b", + "refinement_interpretation_Tm_refine_ba3e6d9345565c0c78f1af7f916d6c04", "typing_FStar.Integers.v" ], 0, - "91793da77cdedd469c83b509a071eed3" + "26ffc5af50da95b26073d2b45770d80d" ], [ "FStar.Integers.op_Percent", @@ -1056,8 +1055,8 @@ "disc_equation_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.W128@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.size", - "equation_FStar.Integers.fixed_width", + "equation_FStar.Int.fits", "equation_FStar.Int.int_t", + "equation_FStar.Int.size", "equation_FStar.Integers.fixed_width", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat_of_fixed_width", "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", @@ -1065,6 +1064,7 @@ "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Integers.Signed__0", @@ -1079,11 +1079,14 @@ "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789", "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "typing_FStar.Int.fits", "typing_FStar.Integers.v", - "typing_FStar.UInt16.v", "typing_FStar.UInt8.v" + "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", + "typing_FStar.Int.fits", "typing_FStar.Int16.v", + "typing_FStar.Int8.v", "typing_FStar.Integers.nat_of_width", + "typing_FStar.Integers.v", "typing_FStar.UInt16.v", + "typing_FStar.UInt8.v" ], 0, - "59ba60d7248a1ee91a0bde8a72644ae0" + "d54d1cb2c5915a096c71f41e2b73ed65" ], [ "FStar.Integers.op_Percent", @@ -1093,8 +1096,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Integers.Signed", + "b2t_def", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W16", "constructor_distinct_FStar.Integers.W31", @@ -1123,28 +1125,30 @@ "equality_tok_FStar.Integers.W64@tok", "equality_tok_FStar.Integers.W8@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", + "equation_FStar.Int.fits", "equation_FStar.Int.op_Slash", + "equation_FStar.Int.size", "equation_FStar.Integers.fixed_width", "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", "equation_Prims.nonzero", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_Prims.__cache_version_number__", + "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Integers.Signed__0", "proj_equation_FStar.Integers.Unsigned__0", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_41ae00a3e556b48ef5ab6c6b5dd15278", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_2bf0354a54486e0f0cebaa0f54a81e80", "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", + "refinement_interpretation_Tm_refine_ba3e6d9345565c0c78f1af7f916d6c04", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_f592775e27c10d1657f70ba8b4f6e1c2", "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw" ], 0, - "10f55232c8a59d35041675ae7587ec3b" + "4f6a66408c6aa772bb105d46eecfe3e1" ], [ "FStar.Integers.op_Hat_Hat", @@ -1153,7 +1157,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "5b8d976f878935c4e0535fa14ed75231" + "1cfb71a4097eaf8182259766f5e84d7c" ], [ "FStar.Integers.op_Hat_Hat", @@ -1200,7 +1204,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "abd079c7bbfcaa3164dcf77338802329" + "d447f45cd65bad5fb76c8b193058610f" ], [ "FStar.Integers.op_Amp_Hat", @@ -1209,7 +1213,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "0988312efe253c67122d75be38151277" + "1d770a10edbadd678cffffbed1dd81cc" ], [ "FStar.Integers.op_Amp_Hat", @@ -1256,7 +1260,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "9cf7c5409c3b0a5f52eb3691bd2aeabe" + "c1d2200764b3547eae3bc1abed157fb3" ], [ "FStar.Integers.op_Bar_Hat", @@ -1265,7 +1269,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "fa3f4c19b79fc4bf1d9bbdccd77591f5" + "04e9f5f1c6f9b7e280a60051881cde46" ], [ "FStar.Integers.op_Bar_Hat", @@ -1312,16 +1316,29 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "4c339564e13f2d7c6dea1a25be4224d6" + "ebb884daaa75f5bca7fbd520df3a3f96" ], [ "FStar.Integers.op_Less_Less_Hat", 1, 0, 1, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], + [ + "@query", "assumption_FStar.Integers.width__uu___haseq", "b2t_def", + "constructor_distinct_FStar.Integers.Signed", + "constructor_distinct_FStar.Integers.W128", + "constructor_distinct_FStar.Integers.Winfinite", + "equality_tok_FStar.Integers.W128@tok", + "equality_tok_FStar.Integers.Winfinite@tok", + "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Integers.Signed__0" + ], 0, - "fc8478141da23a8ca9ad09b04ca1174c" + "d2c02d29704339fffbf5e7882ee6eb73" ], [ "FStar.Integers.op_Less_Less_Hat", @@ -1331,7 +1348,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W128", @@ -1342,8 +1359,8 @@ "constructor_distinct_FStar.Integers.W64", "constructor_distinct_FStar.Integers.W8", "constructor_distinct_FStar.Integers.Winfinite", + "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Integers.Unsigned", - "data_typing_intro_FStar.Integers.Unsigned@tok", "disc_equation_FStar.Integers.Signed", "disc_equation_FStar.Integers.Unsigned", "disc_equation_FStar.Integers.W128", @@ -1361,27 +1378,34 @@ "equality_tok_FStar.Integers.W64@tok", "equality_tok_FStar.Integers.W8@tok", "equality_tok_FStar.Integers.Winfinite@tok", + "equation_FStar.Int.fits", "equation_FStar.Int.size", "equation_FStar.Integers.fixed_width", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat_of_fixed_width", "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt128.n", + "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "proj_equation_FStar.Integers.Signed__0", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "proj_equation_FStar.Integers.Signed__0", "proj_equation_FStar.Integers.Unsigned__0", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_41ae00a3e556b48ef5ab6c6b5dd15278", - "refinement_interpretation_Tm_refine_4cf0c8cd1dec3c9ff0e50de99b4987d8", "refinement_interpretation_Tm_refine_551dcdc332552a67f89abc17ed6d6028", + "refinement_interpretation_Tm_refine_78469ec128e81c392721e2f3f884157a", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Integers.nat_of_fixed_width", - "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw", + "typing_FStar.Integers.width_of_sw", "typing_FStar.UInt32.v", "typing_tok_FStar.Integers.W128@tok", "typing_tok_FStar.Integers.W16@tok", "typing_tok_FStar.Integers.W31@tok", @@ -1391,7 +1415,7 @@ "typing_tok_FStar.Integers.W8@tok" ], 0, - "3c0f407fe92b30f3002e82af56e2289a" + "34d06e23e406d4d6fca9b3dfee2eea6c" ], [ "FStar.Integers.op_Greater_Greater_Hat", @@ -1400,7 +1424,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "ec79c8e52c4e543ea5068abd3577842d" + "b696baa9a328a092a1f5d29839e584cc" ], [ "FStar.Integers.op_Greater_Greater_Hat", @@ -1409,7 +1433,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", @@ -1422,7 +1445,6 @@ "constructor_distinct_FStar.Integers.W8", "constructor_distinct_FStar.Integers.Winfinite", "constructor_distinct_Tm_unit", "data_elim_FStar.Integers.Unsigned", - "data_typing_intro_FStar.Integers.Unsigned@tok", "disc_equation_FStar.Integers.Signed", "disc_equation_FStar.Integers.Unsigned", "disc_equation_FStar.Integers.W128", @@ -1452,15 +1474,12 @@ "proj_equation_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_41ae00a3e556b48ef5ab6c6b5dd15278", "refinement_interpretation_Tm_refine_4cf0c8cd1dec3c9ff0e50de99b4987d8", "refinement_interpretation_Tm_refine_551dcdc332552a67f89abc17ed6d6028", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", "typing_FStar.Integers.nat_of_fixed_width", - "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw", + "typing_FStar.Integers.width_of_sw", "typing_tok_FStar.Integers.W128@tok", "typing_tok_FStar.Integers.W16@tok", "typing_tok_FStar.Integers.W31@tok", @@ -1470,7 +1489,7 @@ "typing_tok_FStar.Integers.W8@tok" ], 0, - "78dc995d01357f194684ac3b9e5275f9" + "a4df8bcf71f037f204bf1fe3fe64e91f" ], [ "FStar.Integers.g", @@ -1491,7 +1510,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "74fba79b5e6fa999325b91986ae6d6ea" + "c8b984190d4eb78a1ef44eee0da26f14" ], [ "FStar.Integers.g", @@ -1507,13 +1526,12 @@ "equality_tok_FStar.Integers.W128@tok", "equality_tok_FStar.Integers.W32@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.uint_32", "equation_FStar.Integers.width_of_sw", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_91f2e7d181d0f784b9bfbe2d7f48ce5d" + "refinement_interpretation_Tm_refine_5de72983cc1b1e1eeb38d35a903b751b" ], 0, - "56bf916cb75f346ca1e92a3849cae82c" + "eb669b789101306136efc3cb1f9b9797" ], [ "FStar.Integers.h", @@ -1524,10 +1542,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_0541507841987416d19b288516622f45", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f9b3455a5c26caeae4fc426b4f77d9ea" + "e78556ddc06b7c5c234e387fbe258a8e" ], [ "FStar.Integers.nat_of_width", @@ -1547,7 +1565,7 @@ "fuel_guarded_inversion_FStar.Integers.width" ], 0, - "8955d943e1504b1053c61a710ef3e1ad" + "6f38cf7508a85a5c6465b6b8029d3d08" ], [ "FStar.Integers.fixed_width", @@ -1556,7 +1574,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "c973f412eaacb8126bdeb5894ffda063" + "4b61d0d5c496132ce1aca76b0ea1d8e3" ], [ "FStar.Integers.nat_of_fixed_width", @@ -1578,7 +1596,7 @@ "typing_FStar.Integers.nat_of_width" ], 0, - "8eb34537cedf397f57a9a02a76c4c827" + "d193f12f3fc5accee58cb71da1628f5b" ], [ "FStar.Integers.signed_width", @@ -1591,7 +1609,7 @@ "haseqTm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "6b0e31aa96abb23430c2669344bf8b8d" + "fc584a6326a5d8e0af15c8fe391a5f00" ], [ "FStar.Integers.__proj__Signed__item___0", @@ -1605,7 +1623,7 @@ "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c" ], 0, - "4624bb0f7e3caeeb99e12238146d18d0" + "9e523380f0ab55b6da7bc3d437d51a3d" ], [ "FStar.Integers.__proj__Unsigned__item___0", @@ -1619,7 +1637,7 @@ "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9" ], 0, - "776751deb3f3a0b26f3b75d0e3879919" + "5c600bd9ee2a794263168913bec717bd" ], [ "FStar.Integers.width_of_sw", @@ -1633,7 +1651,7 @@ "fuel_guarded_inversion_FStar.Integers.signed_width" ], 0, - "7e6ef32c0b2481c53c359f2482296b13" + "db20c341cdb616636935c0100c9d8d20" ], [ "FStar.Integers.int_t", @@ -1667,7 +1685,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "4b6ab50a27057de53472e4d238a91561" + "7e875af6c5ec37a805c5d899a453db9e" ], [ "FStar.Integers.within_bounds'", @@ -1713,7 +1731,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e4024e7186ca3e4abada25ca7009ef6a" + "16f5ce552eef7a6a84e6570742cfffbc" ], [ "FStar.Integers.v", @@ -1756,7 +1774,7 @@ "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "685c7842706386b6fdda40487df26368" + "adc6e8a1f7a9b0eb6c6473851ff77259" ], [ "FStar.Integers.u", @@ -1766,7 +1784,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W8", @@ -1787,18 +1804,17 @@ "equation_FStar.Integers.int_t", "equation_FStar.UInt128.n", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_Prims.__cache_version_number__", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_41ae00a3e556b48ef5ab6c6b5dd15278", + "refinement_interpretation_Tm_refine_ba3e6d9345565c0c78f1af7f916d6c04", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "d6b059046185d054a48230e387c244df" + "090a8b6347724771a6ff0d132c9e7c2b" ], [ "FStar.Integers.cast", @@ -1807,10 +1823,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_19cba2b4b3046dd43eab5ca15231c076" + "refinement_interpretation_Tm_refine_702dc439ce60259b08215dec8840d39f" ], 0, - "7a5dae71dd96072c7351c4e74e0146d1" + "e447b49503cfb7e3c6d243b4a38e228d" ], [ "FStar.Integers.op_Plus", @@ -1820,8 +1836,8 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Integers.Signed", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W128", "constructor_distinct_FStar.Integers.W16", @@ -1853,10 +1869,12 @@ "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.fixed_width", "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt128.n", + "equation_FStar.UInt.fits", "equation_FStar.UInt.size", + "equation_FStar.UInt128.n", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", "function_token_typing_Prims.__cache_version_number__", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Integers.Signed__0", "proj_equation_FStar.Integers.Unsigned__0", "projection_inverse_BoxBool_proj_0", @@ -1866,14 +1884,16 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_951f02abc6c17b02b9d37914f8d634a3", + "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9", + "refinement_interpretation_Tm_refine_82a56345ecfacee738c97de409ae1ad7", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c", "typing_FStar.Integers.__proj__Signed__item___0", - "typing_FStar.Integers.width_of_sw" + "typing_FStar.Integers.__proj__Unsigned__item___0", + "typing_FStar.Integers.uu___is_Signed" ], 0, - "c854031e18b5652bab5f9c58dec48d08" + "7224aca94c564dc335d29bfd973c7ab3" ], [ "FStar.Integers.op_Plus_Question", @@ -1899,7 +1919,7 @@ "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" ], 0, - "7f33c42a5adb4b8e16d5863e068816b1" + "d5873b7c1c5c8e80f13c5c4ebf988566" ], [ "FStar.Integers.modulo", @@ -1908,17 +1928,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "disc_equation_FStar.Integers.Signed", "disc_equation_FStar.Integers.Unsigned", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Integers.signed_width", - "function_token_typing_Prims.__cache_version_number__", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_713acef7b62d391be99e8ef06731920f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_d62cc7f93063e0d07a076d3113d69d40" ], 0, - "559977b25f5cdb85858dd6ec211c8690" + "3fd66c8912b95078e6c1c95203923eb4" ], [ "FStar.Integers.op_Plus_Percent", @@ -1946,7 +1964,7 @@ "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "bc77346dd6bc616240a5c22b3c1074aa" + "87ef49e65ccf923401cd2fc46eb5344b" ], [ "FStar.Integers.op_Subtraction", @@ -1990,10 +2008,9 @@ "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.fixed_width", "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", "function_token_typing_Prims.__cache_version_number__", @@ -2009,18 +2026,20 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1a30d47526b0bcad55b18a9a96681d6d", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9", + "refinement_interpretation_Tm_refine_500c102516aa25298467835c7ae4bdad", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Integers.__proj__Signed__item___0", - "typing_FStar.Integers.width_of_sw", "typing_FStar.UInt128.v", - "typing_FStar.UInt16.v", "typing_FStar.UInt31.v", - "typing_FStar.UInt32.v", "typing_FStar.UInt63.v", - "typing_FStar.UInt64.v", "typing_FStar.UInt8.v" + "typing_FStar.Integers.__proj__Unsigned__item___0", + "typing_FStar.UInt128.v", "typing_FStar.UInt16.v", + "typing_FStar.UInt31.v", "typing_FStar.UInt32.v", + "typing_FStar.UInt63.v", "typing_FStar.UInt64.v", + "typing_FStar.UInt8.v" ], 0, - "17fd86b496d31320c6f7f1f986f17836" + "0536710dc1ef9d3cb8958ca773c5511e" ], [ "FStar.Integers.op_Subtraction_Question", @@ -2048,7 +2067,7 @@ "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "d86f47bb2b21cff8908498505854441d" + "8996b85929445b26f92e3af881f42bbf" ], [ "FStar.Integers.op_Subtraction_Percent", @@ -2076,7 +2095,7 @@ "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "e951891fd483b7ea071cd1b24c2824ee" + "d0e3c736498b7a5c7b17f8a03d64c8ba" ], [ "FStar.Integers.op_Minus", @@ -2086,7 +2105,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "FStar.Pervasives_pretyping_5fc4df0ff1d263535b76c4f1ab202ae9", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", @@ -2106,11 +2124,9 @@ "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.Int31.n", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", - "equation_Prims.pos", "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_FStar.Int31.n", - "function_token_typing_FStar.Pervasives.simplify", + "equation_FStar.Int.size", "equation_FStar.Integers.int_t", + "equation_FStar.Integers.v", + "fuel_guarded_inversion_FStar.Integers.width", "function_token_typing_Prims.__cache_version_number__", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", @@ -2120,16 +2136,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1b44f2ad6215aba4ae374c2fa8bf1ead", - "refinement_interpretation_Tm_refine_405c0387f999360b6b979d22fbff595d", + "refinement_interpretation_Tm_refine_4d3c1ff53fea0cda8aa2c8ed77928451", + "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f5da0921f0dd8806caefeddce48fd98d", - "typing_FStar.Int.fits", "typing_FStar.Int31.v", - "typing_FStar.Integers.v" + "typing_FStar.Int128.v", "typing_FStar.Int31.v", + "typing_FStar.Int63.v" ], 0, - "aa3d47f6c0aa1e1ba6f3ef2aa4057c39" + "94f0ca54ab1e1373dae09683f68a0b95" ], [ "FStar.Integers.op_Star", @@ -2138,7 +2152,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "8cb3ce518d7f82f3bf1474b82a9b0aa3" + "62c35f76dc1f8a6314da219e973c66b1" ], [ "FStar.Integers.op_Star", @@ -2192,12 +2206,12 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_14065bd21de5da62e067667122806c60", - "refinement_interpretation_Tm_refine_3cd1ae4bd0e4adab9996510d26aa7c0d", + "refinement_interpretation_Tm_refine_916ebd16b8cabbb8c4bea72dcddb1d0e", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", "typing_FStar.Integers.width_of_sw" ], 0, - "a6bc31213c2e60244113c4a5e7be44e8" + "3d8d99a69435b570068161cffc8e7b89" ], [ "FStar.Integers.op_Star", @@ -2206,7 +2220,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "646dae3c407b7d1667df70f22502d73d" + "18d3d6cfb9a7f2d17456f2025d8def20" ], [ "FStar.Integers.op_Star_Question", @@ -2215,7 +2229,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "f19a35e39fc95ecc35fc36804fbe71e0" + "d0375fa332933de5d5eee724de7c298d" ], [ "FStar.Integers.op_Star_Question", @@ -2246,7 +2260,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "f91fe5cb7ac214cda1a7961e9a123713" + "0f705f11c02083333b1b4c2aad18d2a9" ], [ "FStar.Integers.op_Star_Question", @@ -2255,7 +2269,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "1bc03c4575c47b3d518a56cca6ea32b1" + "93bbaae6dcf9de77ff8fb055c572ae82" ], [ "FStar.Integers.op_Star_Percent", @@ -2264,7 +2278,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "31e1e840a0093b80fd2b8bc3129e74ef" + "47153faab1a614c2fa75776ed486ea01" ], [ "FStar.Integers.op_Star_Percent", @@ -2291,11 +2305,10 @@ "projection_inverse_FStar.Integers.Unsigned__0", "refinement_interpretation_Tm_refine_2f33eaeacd7f7afb3221609236dd744b", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "typing_FStar.Integers.uu___is_Unsigned", - "typing_FStar.Integers.width_of_sw" + "typing_FStar.Integers.uu___is_Unsigned" ], 0, - "16089b1aa436ae1a7353b33da09c1b1a" + "46f616274aba0bea931609e8a4db0a8a" ], [ "FStar.Integers.op_Star_Percent", @@ -2304,7 +2317,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "865ec78dadf12264ed0d0f6cb5c0968b" + "e6757e5d19932841616306e201711650" ], [ "FStar.Integers.op_Greater", @@ -2358,7 +2371,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "19e39970912011a27cc084569907deac" + "d651d1352fbadb50ea381765e494fa4f" ], [ "FStar.Integers.op_Greater_Equals", @@ -2412,7 +2425,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "0cd1f9c36b12acd6ca6e6c01ebd7c79b" + "eb762b279395bc73ec44e7c2ec78c7ab" ], [ "FStar.Integers.op_Less", @@ -2466,7 +2479,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "8a4341562022927e3b887f2dc125d71e" + "3a4a50b72c408c41500c495661d4561e" ], [ "FStar.Integers.op_Less_Equals", @@ -2520,7 +2533,7 @@ "typing_FStar.Integers.__proj__Unsigned__item___0" ], 0, - "1c70ed21edfdcec787c3c6f98d5cace8" + "e32951612c6619ffe0fba06033503fa6" ], [ "FStar.Integers.op_Slash", @@ -2536,7 +2549,7 @@ "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789" ], 0, - "09ec14562ed8b4d0b7998e9094dcade9" + "35e5647c23c4b14b81cbbc0260fb1a51" ], [ "FStar.Integers.op_Slash", @@ -2546,8 +2559,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Integers.Signed", + "b2t_def", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W128", "constructor_distinct_FStar.Integers.W16", @@ -2577,25 +2589,27 @@ "equality_tok_FStar.Integers.W64@tok", "equality_tok_FStar.Integers.W8@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", - "equation_Prims.nonzero", + "equation_FStar.Int.fits", "equation_FStar.Int.op_Slash", + "equation_FStar.Int.size", "equation_FStar.Integers.int_t", + "equation_FStar.Integers.v", "equation_Prims.nonzero", "fuel_guarded_inversion_FStar.Integers.signed_width", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "proj_equation_FStar.Integers.Signed__0", + "int_inversion", "primitive_Prims.op_AmpAmp", + "proj_equation_FStar.Integers.Signed__0", "proj_equation_FStar.Integers.Unsigned__0", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_41ae00a3e556b48ef5ab6c6b5dd15278", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", - "refinement_interpretation_Tm_refine_d9e1eb94f378940449ee81561646c992", + "refinement_interpretation_Tm_refine_6f37b1f59f5aa70bdd53b8925034b53b", + "refinement_interpretation_Tm_refine_ba3e6d9345565c0c78f1af7f916d6c04", "typing_FStar.Integers.v" ], 0, - "ce4608104462ede374b1f1b0e9043738" + "430adbe1c9387b10f6da7ccf11132dfb" ], [ "FStar.Integers.op_Slash", @@ -2611,7 +2625,7 @@ "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789" ], 0, - "8648f9585e94b95a62491008573b7d90" + "f1690f525e280abd6232931881ceb0da" ], [ "FStar.Integers.op_Percent", @@ -2621,11 +2635,8 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "FStar.Pervasives_pretyping_5fc4df0ff1d263535b76c4f1ab202ae9", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Integers.signed_width__uu___haseq", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", + "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W8", "constructor_distinct_FStar.Integers.Winfinite", @@ -2642,11 +2653,10 @@ "equation_FStar.Integers.nat_of_fixed_width", "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt.size", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_FStar.Pervasives.simplify", - "function_token_typing_Prims.__cache_version_number__", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "int_inversion", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Integers.Signed__0", "projection_inverse_BoxBool_proj_0", @@ -2655,17 +2665,15 @@ "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1b44f2ad6215aba4ae374c2fa8bf1ead", "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_ba3e6d9345565c0c78f1af7f916d6c04", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "typing_FStar.Int.fits", "typing_FStar.Integers.v", - "typing_FStar.Integers.width_of_sw", "typing_FStar.UInt.fits" + "typing_FStar.Int.fits", "typing_FStar.Integers.nat_of_width", + "typing_FStar.Integers.v" ], 0, - "6e508152ca7bc600689d5f3f99438606" + "7c489b8af2a66ae2a7c707641f96b0e9" ], [ "FStar.Integers.op_Percent", @@ -2675,8 +2683,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Integers.Signed", + "b2t_def", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W16", "constructor_distinct_FStar.Integers.W31", @@ -2705,28 +2712,30 @@ "equality_tok_FStar.Integers.W64@tok", "equality_tok_FStar.Integers.W8@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", + "equation_FStar.Int.fits", "equation_FStar.Int.op_Slash", + "equation_FStar.Int.size", "equation_FStar.Integers.fixed_width", "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", "equation_Prims.nonzero", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_Prims.__cache_version_number__", + "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Integers.Signed__0", "proj_equation_FStar.Integers.Unsigned__0", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_41ae00a3e556b48ef5ab6c6b5dd15278", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_2bf0354a54486e0f0cebaa0f54a81e80", "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", + "refinement_interpretation_Tm_refine_ba3e6d9345565c0c78f1af7f916d6c04", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_f592775e27c10d1657f70ba8b4f6e1c2", "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw" ], 0, - "039f137e07f088cab4e76faf8d880300" + "ed13e8f56860236ebb424ad0ba21a0a7" ], [ "FStar.Integers.op_Percent", @@ -2736,11 +2745,8 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "FStar.Pervasives_pretyping_5fc4df0ff1d263535b76c4f1ab202ae9", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Integers.signed_width__uu___haseq", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", + "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W8", "constructor_distinct_FStar.Integers.Winfinite", @@ -2757,11 +2763,10 @@ "equation_FStar.Integers.nat_of_fixed_width", "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt.size", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_FStar.Pervasives.simplify", - "function_token_typing_Prims.__cache_version_number__", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "int_inversion", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Integers.Signed__0", "projection_inverse_BoxBool_proj_0", @@ -2770,17 +2775,15 @@ "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1b44f2ad6215aba4ae374c2fa8bf1ead", "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_ba3e6d9345565c0c78f1af7f916d6c04", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "typing_FStar.Int.fits", "typing_FStar.Integers.v", - "typing_FStar.Integers.width_of_sw", "typing_FStar.UInt.fits" + "typing_FStar.Int.fits", "typing_FStar.Integers.nat_of_width", + "typing_FStar.Integers.v" ], 0, - "663cb9f55cef19a8426a6a3b6ac78d03" + "d0e297ef72380bf7285368c14b846236" ], [ "FStar.Integers.op_Hat_Hat", @@ -2789,7 +2792,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "437cf0476d147f26e2b62782a8c001bf" + "5f98270a4e0e09aed3a1cbace1f2e607" ], [ "FStar.Integers.op_Hat_Hat", @@ -2836,7 +2839,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "5d21f54f97df77ca07497a9b2ce10edd" + "5771195038ab8a0b143c599a19f5b333" ], [ "FStar.Integers.op_Hat_Hat", @@ -2845,7 +2848,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "2c44f36e402e5dbe6c1c48da7e83407e" + "508bb3e16b87941656d921054c53c2f4" ], [ "FStar.Integers.op_Amp_Hat", @@ -2854,7 +2857,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "d616fc7abf43a7b2469c9f1aa3c5a037" + "0028e04403c19debd6ef99299bd2da61" ], [ "FStar.Integers.op_Amp_Hat", @@ -2901,7 +2904,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "fe2e511ec54d29a1b864f1607efe943e" + "081ce74bbe9603b0c433c60d622e1123" ], [ "FStar.Integers.op_Amp_Hat", @@ -2910,7 +2913,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "b0d775141eb9fca0bae4e8b477bbaf70" + "b8ff0fac576cb75989be37cc2386fc1e" ], [ "FStar.Integers.op_Bar_Hat", @@ -2919,7 +2922,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "14dbe024670cbc8fc01e61bce30b6684" + "7ebc8740edd7b59e845d1b100b189f7f" ], [ "FStar.Integers.op_Bar_Hat", @@ -2966,7 +2969,7 @@ "typing_FStar.Integers.width_of_sw" ], 0, - "721040d6a459acc178bd69198745b5ab" + "297aea977b7cf3c01d89ee5594e18be4" ], [ "FStar.Integers.op_Bar_Hat", @@ -2975,16 +2978,29 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "4b90bf8baf1ecd676a92d5df79417722" + "37770e7431b4667527ce7abed8344b95" ], [ "FStar.Integers.op_Less_Less_Hat", 3, 0, 1, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], + [ + "@query", "assumption_FStar.Integers.width__uu___haseq", "b2t_def", + "constructor_distinct_FStar.Integers.Signed", + "constructor_distinct_FStar.Integers.W128", + "constructor_distinct_FStar.Integers.Winfinite", + "equality_tok_FStar.Integers.W128@tok", + "equality_tok_FStar.Integers.Winfinite@tok", + "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Integers.Signed__0" + ], 0, - "c52595ac4e923462ef0802ecefa2ec26" + "68c98a4d637b2e48462407a05458923c" ], [ "FStar.Integers.op_Less_Less_Hat", @@ -2994,7 +3010,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W128", @@ -3005,8 +3021,8 @@ "constructor_distinct_FStar.Integers.W64", "constructor_distinct_FStar.Integers.W8", "constructor_distinct_FStar.Integers.Winfinite", + "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.Integers.Unsigned", - "data_typing_intro_FStar.Integers.Unsigned@tok", "disc_equation_FStar.Integers.Signed", "disc_equation_FStar.Integers.Unsigned", "disc_equation_FStar.Integers.W128", @@ -3024,27 +3040,34 @@ "equality_tok_FStar.Integers.W64@tok", "equality_tok_FStar.Integers.W8@tok", "equality_tok_FStar.Integers.Winfinite@tok", + "equation_FStar.Int.fits", "equation_FStar.Int.size", "equation_FStar.Integers.fixed_width", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat_of_fixed_width", "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt128.n", + "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "fuel_guarded_inversion_FStar.Integers.signed_width", "fuel_guarded_inversion_FStar.Integers.width", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "proj_equation_FStar.Integers.Signed__0", + "int_inversion", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "proj_equation_FStar.Integers.Signed__0", "proj_equation_FStar.Integers.Unsigned__0", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_41ae00a3e556b48ef5ab6c6b5dd15278", - "refinement_interpretation_Tm_refine_4cf0c8cd1dec3c9ff0e50de99b4987d8", "refinement_interpretation_Tm_refine_551dcdc332552a67f89abc17ed6d6028", + "refinement_interpretation_Tm_refine_78469ec128e81c392721e2f3f884157a", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Integers.nat_of_fixed_width", - "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw", + "typing_FStar.Integers.width_of_sw", "typing_FStar.UInt32.v", "typing_tok_FStar.Integers.W128@tok", "typing_tok_FStar.Integers.W16@tok", "typing_tok_FStar.Integers.W31@tok", @@ -3054,16 +3077,22 @@ "typing_tok_FStar.Integers.W8@tok" ], 0, - "b79db215eb10e81e31e623c9b003064a" + "9c48b686470357fbf75cc60d12f829ae" ], [ "FStar.Integers.op_Less_Less_Hat", 5, 0, 1, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], + [ + "@query", "assumption_FStar.Integers.width__uu___haseq", "b2t_def", + "equation_FStar.Integers.v", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0" + ], 0, - "c1530e1a65be3f1210c10505263ec3a5" + "00597db2b7fe10231ef950fc9b3f075a" ], [ "FStar.Integers.op_Greater_Greater_Hat", @@ -3072,7 +3101,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "2530a7f2957ed0fd323e47e5bec7c7be" + "064da9c5287e340286e5a385e36c656a" ], [ "FStar.Integers.op_Greater_Greater_Hat", @@ -3081,7 +3110,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", @@ -3094,7 +3122,6 @@ "constructor_distinct_FStar.Integers.W8", "constructor_distinct_FStar.Integers.Winfinite", "constructor_distinct_Tm_unit", "data_elim_FStar.Integers.Unsigned", - "data_typing_intro_FStar.Integers.Unsigned@tok", "disc_equation_FStar.Integers.Signed", "disc_equation_FStar.Integers.Unsigned", "disc_equation_FStar.Integers.W128", @@ -3124,15 +3151,12 @@ "proj_equation_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_41ae00a3e556b48ef5ab6c6b5dd15278", "refinement_interpretation_Tm_refine_4cf0c8cd1dec3c9ff0e50de99b4987d8", "refinement_interpretation_Tm_refine_551dcdc332552a67f89abc17ed6d6028", "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", "typing_FStar.Integers.nat_of_fixed_width", - "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw", + "typing_FStar.Integers.width_of_sw", "typing_tok_FStar.Integers.W128@tok", "typing_tok_FStar.Integers.W16@tok", "typing_tok_FStar.Integers.W31@tok", @@ -3142,7 +3166,7 @@ "typing_tok_FStar.Integers.W8@tok" ], 0, - "0d8eeb28e61de6acb22003a7a0afad08" + "7cacebbe2e769b3e5d09308cab86f8b0" ], [ "FStar.Integers.op_Greater_Greater_Hat", @@ -3151,7 +3175,7 @@ 1, [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], 0, - "c33f11f0a613f63c604858bb96eba728" + "0b139ac037b756580ce83495b8d4be22" ], [ "FStar.Integers.g", @@ -3172,7 +3196,7 @@ "projection_inverse_FStar.Integers.Unsigned__0" ], 0, - "6652960a72e336af9ac2bd30d9d603cf" + "330d2770f14d1473f70d245058cf5683" ], [ "FStar.Integers.g", @@ -3188,13 +3212,12 @@ "equality_tok_FStar.Integers.W128@tok", "equality_tok_FStar.Integers.W32@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.uint_32", "equation_FStar.Integers.width_of_sw", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_91f2e7d181d0f784b9bfbe2d7f48ce5d" + "refinement_interpretation_Tm_refine_5de72983cc1b1e1eeb38d35a903b751b" ], 0, - "c2c1e81ef71ace14cf4065ae8c36f7c4" + "d6bb299ab279685d3b0978bf86d1129c" ], [ "FStar.Integers.h", @@ -3205,10 +3228,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_0541507841987416d19b288516622f45", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "57ceb157d53c0c01fcbe7a472db13683" + "4e73cb91dd549e260b2530ea7e50e615" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.List.Pure.Base.fst.hints b/ulib/FStar.List.Pure.Base.fst.hints index 2eea72e71a5..d371d97fe5b 100644 --- a/ulib/FStar.List.Pure.Base.fst.hints +++ b/ulib/FStar.List.Pure.Base.fst.hints @@ -10,8 +10,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_7", + "@query", "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_7", "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_8", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "binder_x_fe28d8bcde588226b4e538b35321de05_4", @@ -19,9 +18,8 @@ "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -31,12 +29,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "04a4ac6316c9772fe27abc90feecb6cc" + "2b0b3c0b3e9f43e29f07bc70b21dc4ce" ], [ "FStar.List.Pure.Base.map3", @@ -47,8 +45,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3677c645fc64e957deeeddfee5e227a7_10", + "@query", "binder_x_3677c645fc64e957deeeddfee5e227a7_10", "binder_x_b2489209a73863f6f5441e14b2eb69ae_11", "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_9", "binder_x_fe28d8bcde588226b4e538b35321de05_4", @@ -58,9 +55,8 @@ "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__2", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", @@ -72,12 +68,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "19e499988a5803338dca6c9ee7d5a257" + "30b8da4714547c2d73780534f7aa24ed" ], [ "FStar.List.Pure.Base.zip", @@ -86,7 +82,7 @@ 1, [ "@query" ], 0, - "5fce8e36cf54592107ef255643bd3b7b" + "1fbd74b09b32c37e2fd3dacf1c6c8b56" ], [ "FStar.List.Pure.Base.zip3", @@ -95,7 +91,7 @@ 1, [ "@query" ], 0, - "5ac53e05669a550c0d3cf3371c841807" + "d51d7cfe15d1c4cf4094bdcf6111c5db" ], [ "FStar.List.Pure.Base.map2", @@ -106,8 +102,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_7", + "@query", "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_7", "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_8", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "binder_x_fe28d8bcde588226b4e538b35321de05_4", @@ -115,9 +110,8 @@ "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -127,12 +121,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "ad0bae961e082053f90e773cdd1e2d76" + "3069a3aaf004b3c8bcdbbb735263cb77" ], [ "FStar.List.Pure.Base.map3", @@ -143,8 +137,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3677c645fc64e957deeeddfee5e227a7_10", + "@query", "binder_x_3677c645fc64e957deeeddfee5e227a7_10", "binder_x_b2489209a73863f6f5441e14b2eb69ae_11", "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_9", "binder_x_fe28d8bcde588226b4e538b35321de05_4", @@ -154,9 +147,8 @@ "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple3__1", "proj_equation_FStar.Pervasives.Native.Mktuple3__2", "proj_equation_FStar.Pervasives.Native.Mktuple3__3", @@ -168,12 +160,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "cd88b9eb9b0b816ad2800e093434c81c" + "78c02fe5310daa9b0f4a91601412515a" ], [ "FStar.List.Pure.Base.zip", @@ -182,7 +174,7 @@ 1, [ "@query" ], 0, - "478095e27bac61d506c74c2d9cb68eef" + "111b9cdf3363a2f4edc3e4cdeaa91aeb" ], [ "FStar.List.Pure.Base.zip3", @@ -191,7 +183,7 @@ 1, [ "@query" ], 0, - "d78e602e8ffa4c8b7c737408b5507451" + "6f639ec4c42ff15036fab01f69b12f55" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.List.Pure.Properties.fst.hints b/ulib/FStar.List.Pure.Properties.fst.hints index a1efc44baa6..edff4293f86 100644 --- a/ulib/FStar.List.Pure.Properties.fst.hints +++ b/ulib/FStar.List.Pure.Properties.fst.hints @@ -14,7 +14,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -34,13 +34,13 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.splitAt", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "268a85c876618126f2cb96b9ca2cd8bc" + "911f8997f7409028660613c16491c284" ], [ "FStar.List.Pure.Properties.splitAt_assoc", @@ -50,10 +50,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2f2ff290cc713ff4b6628795c78ed8ba" + "42d1b7544880f43b05134870c88a5fba" ], [ "FStar.List.Pure.Properties.splitAt_assoc", @@ -68,8 +68,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -90,13 +90,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.splitAt", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "564eeb8cc4a201a7388ac02f7b5a775d" + "3a9720a9457c063324f7e1eb1402eee9" ], [ "FStar.List.Pure.Properties.splitAt_length_total", @@ -128,11 +127,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "9f4b1ffc71a9beb0ba4c5423b471d1a7" + "665b926f3ed10a78f9690c57b5cca69a" ], [ "FStar.List.Pure.Properties.lemma_splitAt_append", @@ -142,11 +141,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "28b14e04e0c728509ad4a9ca2a65ea17" + "9ccd9132c6816b9793d532e8ee9b3655" ], [ "FStar.List.Pure.Properties.lemma_splitAt_append", @@ -163,7 +162,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", @@ -176,7 +175,7 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", @@ -187,13 +186,13 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.splitAt", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "7aad5745e01121f667f5a1e73efaa1d9" + "5943eb6619846df80a520dae9144a8a6" ], [ "FStar.List.Pure.Properties.lemma_append_splitAt", @@ -230,12 +229,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.length" ], 0, - "448f7fa7b18d8cc4a653be4624b9e6bc" + "f2091af29a4f0a90e7ab47ec069428ac" ], [ "FStar.List.Pure.Properties.lemma_splitAt", @@ -245,11 +244,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6ac103228902e2cdef4ef4173bda21e8" + "d8dbd12f18566d040586416289784af5" ], [ "FStar.List.Pure.Properties.lemma_splitAt", @@ -258,21 +257,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_5c404dd4c2f15e806311cb2d79dbe33e_5", + "binder_x_769247b647442674ea205aeaf8dfecd5_5", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_bbe273dd12ec67709a094532c038c5b9" + "refinement_interpretation_Tm_refine_03932e6b561134cc896690160dd23beb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f65853c3b37d8909a82d35fda9351526" + "0ff9b2d6e2f009adc62551ebec6d2162" ], [ "FStar.List.Pure.Properties.lemma_splitAt_index_hd", @@ -288,12 +285,12 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "int_inversion", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "f6f2a2699c6b59547c8b95471e56ca61" + "d94219b2c6414a827088b868e5d93915" ], [ "FStar.List.Pure.Properties.lemma_splitAt_index_hd", @@ -309,9 +306,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", @@ -331,14 +327,13 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.List.Tot.Base.length", "unit_typing", - "well-founded-ordering-on-nat" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "dfc84644fb0c3139e4b630419e2fd83c" + "bc48852f5d07624dd61618c7048039e0" ], [ "FStar.List.Pure.Properties.lemma_splitAt_shorten_left", @@ -355,9 +350,9 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_33b90d7755ba55b5e2708cc527264342_5", - "binder_x_6222758438ae36e6f223f9178c49cc49_4", + "binder_x_81e0d6c546b2b887606811d2f2e9675b_5", "binder_x_fe28d8bcde588226b4e538b35321de05_1", + "binder_x_ffcedb84154254bdd8b8b5f3aeed42b3_4", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", @@ -374,13 +369,13 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddea1f0ffe3681cbba4f0f946b74b636", - "refinement_interpretation_Tm_refine_f0abb0e4a65a3f20211cba2c575196ca", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_885b38daa7e584428a3a012bfaafbdfc", + "refinement_interpretation_Tm_refine_ccca1d55d553c3d3c7d8edc97ae52fa8", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "37a84fd2c376c4033d8ead57efc7d29a" + "643a2fac31f576510d7e95d8cd76142d" ], [ "FStar.List.Pure.Properties.lemma_splitAt_reindex_left", @@ -392,10 +387,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5872603190557c6a29a8e0d70e40c67b" + "fce00a81a49383d6dc9a6b4766e266c0" ], [ "FStar.List.Pure.Properties.lemma_splitAt_reindex_left", @@ -411,10 +406,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_4", + "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", @@ -441,16 +435,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "typing_FStar.List.Tot.Base.splitAt", "unit_typing", - "well-founded-ordering-on-nat" + "typing_FStar.List.Tot.Base.splitAt", "well-founded-ordering-on-nat" ], 0, - "7041b097b67d9b8a7c99301fabf4cdaa" + "5f633621c5710ae4b143f8a54700758c" ], [ "FStar.List.Pure.Properties.lemma_splitAt_reindex_right", @@ -458,20 +451,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.l_and", + "equation_Prims.nat", "equation_Prims.squash", "l_and-interp", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03068b06cb3ed7a3e4773ee0cecb5dd7", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c3adf600b95a05f6f0b8d668592e9c23" ], 0, - "2617de36f992a9a39ade6b786210c9f1" + "747bf3a233b19c0675d1d8a20c611c3b" ], [ "FStar.List.Pure.Properties.lemma_splitAt_reindex_right", @@ -487,10 +477,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_4", + "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", @@ -503,18 +492,17 @@ "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "l_and-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "unit_typing", "well-founded-ordering-on-nat" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "well-founded-ordering-on-nat" ], 0, - "05a6caae30abbf6a687b83d8a389286e" + "4451a77706975c621aae68b0f662560b" ], [ "FStar.List.Pure.Properties.lemma_split3_append", @@ -523,7 +511,7 @@ 1, [ "@query" ], 0, - "567a455376073af2b52835e1dc674cd7" + "548d051314fadfc15c9651a7686f6711" ], [ "FStar.List.Pure.Properties.lemma_split3_append", @@ -535,9 +523,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -548,18 +535,17 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", "typing_FStar.List.Tot.Base.split3" ], 0, - "6633f15a54afac1198337ac220008045" + "1dcb1f0725e21ba2cf5bd618c6491a98" ], [ "FStar.List.Pure.Properties.lemma_split3_index", @@ -568,7 +554,7 @@ 1, [ "@query" ], 0, - "cb34f2aeba3893e84a531e9ed64a53a5" + "50e8afd2f05b862b003128d33546f68a" ], [ "FStar.List.Pure.Properties.lemma_split3_index", @@ -578,25 +564,22 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Tm_unit", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.split3", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "fuel_guarded_inversion_Prims.list", "int_inversion", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "typing_FStar.List.Tot.Base.split3" ], 0, - "c4e8cc20b9965ddd10639fcd76b5b555" + "60f98cd5f29668d50248076b7843bcb8" ], [ "FStar.List.Pure.Properties.lemma_split3_length", @@ -606,11 +589,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e392c60caed6e955a1cb17a0f23bcecf" + "8d3dd4e8b2bf802655d679edb43d95bb" ], [ "FStar.List.Pure.Properties.lemma_split3_length", @@ -621,9 +604,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", @@ -633,25 +615,24 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.split3", "typing_FStar.List.Tot.Base.splitAt" ], 0, - "5e3c15c6e5ec63bfd1fac86879720bd0" + "5b0ac73bd8fcebdb9b8c71af1b89237a" ], [ "FStar.List.Pure.Properties.lemma_split3_on_same_leftprefix", @@ -662,13 +643,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", + "@query", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.List.Tot.Properties.append_length", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -679,14 +658,13 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_Prims.Cons_hd", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c291654715d88485b2c9b96ab1661258", + "refinement_interpretation_Tm_refine_505bbedfab1dbb355259e3beb29ae8de", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length" + "typing_FStar.List.Tot.Base.append" ], 0, - "7013c18706b840fe8a002c2b2578e1c5" + "44c50574cf92d89c6eea0cd257f433c8" ], [ "FStar.List.Pure.Properties.lemma_split3_unsnoc", @@ -694,15 +672,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_a1ffb02f142c35c7eccf2d5e5b055c03", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ad2aa6c3540408b6e419c4dc4778083a" ], 0, - "bc28a56fde0e1d441cee7cc1bfbb2a65" + "bafc0b1135b0a6e8c122eeb7a631ba1d" ], [ "FStar.List.Pure.Properties.lemma_split3_unsnoc", @@ -718,8 +693,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", @@ -748,11 +723,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c7bd86f9a01ca670de39ed51f815c7dd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_eb6d81ad7832457d660d916d573d942e", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", @@ -760,7 +735,7 @@ "typing_FStar.List.Tot.Base.unsnoc" ], 0, - "8665a8af98ba03b329ed5daef0df9467" + "24815eb7cc73a201503741c08201375d" ], [ "FStar.List.Pure.Properties.lemma_unsnoc_split3", @@ -768,15 +743,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c9f6fd630c3728d94b6366801f5f4820" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c84e4ad8d72d1970ee316748ecbd772e" ], 0, - "7ec152375953467b80bdebe85c58882b" + "88398793050f1c1cd624d7aebb5292b1" ], [ "FStar.List.Pure.Properties.lemma_unsnoc_split3", @@ -787,24 +759,22 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66" ], 0, - "833cf063c7d94aaadd12d7fabf1b109b" + "3848ba314c502e0b69dadd6dd86fba9e" ], [ "FStar.List.Pure.Properties.lemma_split3_r_hd", @@ -814,20 +784,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d5d6fd30f04475401756b43251d4abe4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c705a4c26db3f15ca738e48084892c3b", "typing_FStar.List.Tot.Base.length" ], 0, - "7b27957c931ace577bbdcc1613648f96" + "d22fa616a91462ed56200791cc7429a2" ], [ "FStar.List.Pure.Properties.lemma_split3_r_hd", @@ -843,8 +811,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple3", @@ -863,14 +831,14 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f3a1f791426cb42b100468e9479bc28a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_e5e0a546f65b3d4ee2a7601c99b32ed4", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.split3" ], 0, - "33d594909bddfa0264814a0c5aa1d2f9" + "7e0d22fe8e3f08e754212abc8e9f046c" ], [ "FStar.List.Pure.Properties.splitAt_assoc", @@ -880,10 +848,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "186df84b58e0c4b80deb97b3f3e6b545" + "223cb66765939bdb6ca10e7bcbdcb92f" ], [ "FStar.List.Pure.Properties.lemma_splitAt_append", @@ -893,11 +861,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fcfdb281483e80da6f758351a65ecb8d" + "dd46fd6a38a447105566f5480a0c531a" ], [ "FStar.List.Pure.Properties.lemma_splitAt", @@ -907,11 +875,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0de66707636e3e257d80c41cff536d54" + "974b9558c462c7852f917261d0045c46" ], [ "FStar.List.Pure.Properties.lemma_splitAt_index_hd", @@ -927,12 +895,12 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "int_inversion", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "a1a2c1be0dfed980a940729fa1eff971" + "55d516b019afb3dbce5b2aa554f18ae9" ], [ "FStar.List.Pure.Properties.lemma_splitAt_reindex_left", @@ -944,10 +912,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "964926ad5449f9d300c9b49c375a0562" + "40c4b0a974edc1fde48145404236c764" ], [ "FStar.List.Pure.Properties.lemma_splitAt_reindex_right", @@ -960,11 +928,11 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "57511fac83dd4d3cca97f9c81d6330c1" + "2d8b29cbb7231923332d73d458b47a61" ], [ "FStar.List.Pure.Properties.lemma_split3_length", @@ -974,11 +942,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ac685c251897f62cee6851fe31aaf98c" + "e9fd7687ca5b81cc7e70626342ffb3cd" ], [ "FStar.List.Pure.Properties.lemma_split3_on_same_leftprefix", @@ -986,17 +954,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c291654715d88485b2c9b96ab1661258" + "refinement_interpretation_Tm_refine_505bbedfab1dbb355259e3beb29ae8de", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b2d89c5cc33775b0c1f8e757ac48c253" + "2525a0b2d5372c6200c9d01fd37ec43b" ], [ "FStar.List.Pure.Properties.lemma_split3_unsnoc", @@ -1004,15 +969,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0" ], 0, - "b63d39a2d4436f2eb2c4788dbdf64e4f" + "31c09eaa9888d7c99d36328649435932" ], [ "FStar.List.Pure.Properties.lemma_unsnoc_split3", @@ -1020,15 +982,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0" ], 0, - "76effcd34a81cc541f58a660149e6ef3" + "429502fec592b52b6ee4456f2e234f20" ], [ "FStar.List.Pure.Properties.lemma_split3_r_hd", @@ -1038,20 +997,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "typing_FStar.List.Tot.Base.length" ], 0, - "3d4df2232cdd9eacf0b7f508768a1ac6" + "813cf5a296e8dea8098ae4fab22432a6" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.List.Tot.Base.fst.hints b/ulib/FStar.List.Tot.Base.fst.hints index 3927b5fc54e..cdae563b18b 100644 --- a/ulib/FStar.List.Tot.Base.fst.hints +++ b/ulib/FStar.List.Tot.Base.fst.hints @@ -12,7 +12,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "9a19a0f1cb611c48570a3fe71bc71b17" + "af7277aff3fa59babeb6fdc8f4ac30c8" ], [ "FStar.List.Tot.Base.tail", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "87200520ee9f8477411f9c2ce2ff5763" + "60e46d5db4d75eb7a7a951e37f8df81b" ], [ "FStar.List.Tot.Base.last", @@ -43,7 +43,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "4398a3e74c7b1e8ca1547a4ecbf88aa7" + "f1f30746dde91eed67f96d2022df091c" ], [ "FStar.List.Tot.Base.init", @@ -61,7 +61,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "14a264f64a8ea3fde1390af24b5c84b1" + "3b24d1dad7cd0f826bc1b75492357f94" ], [ "FStar.List.Tot.Base.length", @@ -70,17 +70,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "436ca33fbe3fd8ef6aefc073a170f68b" + "2994b87b9c0b60ac1a6cc2420cb455ba" ], [ "FStar.List.Tot.Base.nth", @@ -91,17 +89,17 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "9d586b6701b9d2111318b8d04ffe7717" + "4a6b5e17b954fdcd7095d58bfbbf7652" ], [ "FStar.List.Tot.Base.index", @@ -113,8 +111,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", @@ -126,12 +124,12 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "a91330dcb1291b9c2c7347dcbd0f9566" + "9652e013cddaf3f27a76b7db7865ea46" ], [ "FStar.List.Tot.Base.count", @@ -140,20 +138,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "b54e3cf1a3f0b661f7600702da6f4192" + "e7ce98d75e648a05c7fadf3a04824874" ], [ "FStar.List.Tot.Base.rev_acc", @@ -167,7 +163,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2c5697861dcdc1c23cbd7a7af971e154" + "ec1aae5912551051476cc326f3a02cd5" ], [ "FStar.List.Tot.Base.append", @@ -181,7 +177,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e32cbbf85c1cfb44bd41450e1a5e8d9d" + "45db1ffe3844885fafaa8c4ecda5a12f" ], [ "FStar.List.Tot.Base.flatten", @@ -195,7 +191,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "4ad8ecbe9af1f30f53c8b23ad3b09768" + "2cec881009f7235822b567e5f307961d" ], [ "FStar.List.Tot.Base.map", @@ -209,7 +205,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "7970a2400585d9eb5d5225b57f1e486d" + "a958b3db94b7a97e261403f0f8981b96" ], [ "FStar.List.Tot.Base.mapi_init", @@ -223,7 +219,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "47b7d10c9509da548facedf8422c0ae5" + "e70a3cb9ac1cdf4d6a1bfc367ab4e27c" ], [ "FStar.List.Tot.Base.concatMap", @@ -237,7 +233,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "8510bc817633aaaffe22e026598a1897" + "6aaceb4ae36eab5e3373fe4f869e1326" ], [ "FStar.List.Tot.Base.fold_left", @@ -252,7 +248,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "9871521e68473aa23a62507c840e5fe7" + "10cbca35f56db2f3c02293237082493e" ], [ "FStar.List.Tot.Base.fold_right", @@ -266,7 +262,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f680575dab7137d0368fceed449e50b4" + "52875390bb21795e01e96c17d9f809c4" ], [ "FStar.List.Tot.Base.fold_right_gtot", @@ -280,7 +276,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "eabdfb64285c922819f524fa3e7a041e" + "49ca6f6c77d0c1080ad972445d362e52" ], [ "FStar.List.Tot.Base.fold_left2", @@ -291,8 +287,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_23111b199e312dabc7d863b983ebf5c5_7", + "@query", "binder_x_23111b199e312dabc7d863b983ebf5c5_7", "binder_x_3677c645fc64e957deeeddfee5e227a7_9", "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_8", "binder_x_fe28d8bcde588226b4e538b35321de05_4", @@ -301,9 +296,8 @@ "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -313,12 +307,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "91c01486b9b9de0749aac2db3b2aae90" + "22c6d7b9062f0274a169eab5149d24e9" ], [ "FStar.List.Tot.Base.mem", @@ -327,13 +321,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "dc4680d2b39e859fbe99304f4a80951e" + "514b10620c3cba1a7af454fc1cbf470d" ], [ "FStar.List.Tot.Base.memP", @@ -348,7 +342,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "695dccac2a6fd15fb81c635e60ea87a8" + "ee6c74a4c251268dda2a9b1fac937d9a" ], [ "FStar.List.Tot.Base.existsb", @@ -362,7 +356,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "ba91113ad76498e71f956e3e501d4695" + "7280a61a881930315a3582311e86e6bb" ], [ "FStar.List.Tot.Base.find", @@ -377,7 +371,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "df6150e5126093e03f0fc92eed34a917" + "487e6e9f1bf59f50e7f3ac7888317325" ], [ "FStar.List.Tot.Base.mem_filter_spec", @@ -386,15 +380,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "refinement_interpretation_Tm_refine_2af6b12551310535283758991ae0dbcf", - "unit_typing" + "refinement_interpretation_Tm_refine_38ce848b2acb13502b58e6aafdc25aa7" ], 0, - "829cb15d336a9e274a9a9aeac012d258" + "826f96ada407a93f5cb19b2bfd897cb4" ], [ "FStar.List.Tot.Base.filter", @@ -406,9 +398,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_5115115d7dad72e276d493a849fccaec", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_325d8b0a5c5c70d67ac70db625a7bd7a_1", + "FStar.List.Tot.Base_interpretation_Tm_arrow_d8a4ecd62b7613b22faa9f543be3661f", + "binder_x_15bd7882d3edc33c884601101aa10915_1", "binder_x_64bbe2e649c5e2dff004f077d943400a_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -419,19 +410,19 @@ "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_c92867616d66672cf4232f1fd6ec59d9", + "l_quant_interp_e8d380d88ae7ad520ccfe2a19ad1cea0", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_62df887a83d5f65c9d7a017b0301ca83", - "refinement_interpretation_Tm_refine_a623a276c1904e5aaf9cb7db1bf5c41f", + "refinement_interpretation_Tm_refine_4bfd67cc76eb191a3fcf5be95be37b7b", + "refinement_interpretation_Tm_refine_b83e98a900770a190983e604d9f26445", "subterm_ordering_Prims.Cons", "true_interp", - "typing_FStar.List.Tot.Base.mem", "unit_typing" + "typing_FStar.List.Tot.Base.mem" ], 0, - "a93512f136d750adec207b9ab62cd220" + "b1f7961918fab4d40b28a13157d2d9fb" ], [ "FStar.List.Tot.Base.mem_filter", @@ -443,23 +434,23 @@ "@fuel_correspondence_FStar.List.Tot.Base.filter.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "equation_FStar.List.Tot.Base.mem_filter_spec", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.filter.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_c92867616d66672cf4232f1fd6ec59d9", + "l_quant_interp_e8d380d88ae7ad520ccfe2a19ad1cea0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b69a3afaeb0dfeddb29efcbe7e92b488", - "typing_FStar.List.Tot.Base.filter", "unit_typing" + "refinement_interpretation_Tm_refine_5583eb859eb089e77523c1e843326d1a", + "typing_FStar.List.Tot.Base.filter" ], 0, - "82848fd296e045b1989debc5240c20ed" + "490b974db90ce3d396ed8a7117bd14d2" ], [ "FStar.List.Tot.Base.for_all", @@ -473,7 +464,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2b36839ee24807f9a4c32010fe8ee75b" + "b9c2088175163aaa8788d1807e22dbdb" ], [ "FStar.List.Tot.Base.for_all_mem", @@ -487,16 +478,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_Prims.eqtype", + "FStar.List.Tot.Base_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", @@ -509,7 +498,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "55e634848a6558209c4f9f6b5d9c6f9d" + "7ccdacc690cdf6ad67cf1510d6e88722" ], [ "FStar.List.Tot.Base.collect", @@ -523,7 +512,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "8faa9dcbc88fe81939773fd185729733" + "63b88661d57e653526f13929dbe45bbd" ], [ "FStar.List.Tot.Base.tryFind", @@ -537,7 +526,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "b971037eb06151c3575efd48c6f513ae" + "5eafa9c3ed092cc7764e588004b048c4" ], [ "FStar.List.Tot.Base.tryPick", @@ -546,9 +535,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_dacc795e89d4627e5b69ae2c450dc316", + "FStar.List.Tot.Base_interpretation_Tm_arrow_41cb7ff98ddc4d65ea507c5289ae6dc0", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_49903ee1f6efa663d1b94b12c45eb851_4", + "binder_x_f41edc86ba19975386547506e21fe08c_4", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -559,7 +548,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "da81f77f4b3aaa3611900bfe45ce9301" + "993719a52617cf4b8ccf86fd355d6933" ], [ "FStar.List.Tot.Base.choose", @@ -568,9 +557,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_dacc795e89d4627e5b69ae2c450dc316", + "FStar.List.Tot.Base_interpretation_Tm_arrow_41cb7ff98ddc4d65ea507c5289ae6dc0", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_49903ee1f6efa663d1b94b12c45eb851_4", + "binder_x_f41edc86ba19975386547506e21fe08c_4", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -581,7 +570,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "40e5ac8f1674c7db71488167b0fc53d4" + "2c6838f65b665ce818d1a47d045a19be" ], [ "FStar.List.Tot.Base.partition", @@ -595,7 +584,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "73bbee2f3b02452c16e37f43134907a2" + "4303fba0713a6de5c1b3c08a2ca794d7" ], [ "FStar.List.Tot.Base.subset", @@ -604,13 +593,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "cc5b42c5d5b8091624b0aad294c16f75" + "bfeea1ddc164af83f48f61111fe72b53" ], [ "FStar.List.Tot.Base.noRepeats", @@ -619,13 +608,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "dd85b72474faffc8348766180a3a62e6" + "116492e8521e8ef3c13c77f22165ae99" ], [ "FStar.List.Tot.Base.no_repeats_p", @@ -642,13 +631,13 @@ "equation_Prims.l_and", "equation_Prims.l_not", "equation_Prims.squash", "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "subterm_ordering_Prims.Cons", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "8d14ce12de3b6088ed3cce5bc2d668c0" + "a3b21ccc7c3270a4f3f96a21814cb07a" ], [ "FStar.List.Tot.Base.assoc", @@ -657,13 +646,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_07c04e67c7cab1ba5acd0cd207adcc61_4", + "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "959e5add9b0baf7f526fa0c837d61835" + "21f3cbf0b343977f5f67d969d3c29145" ], [ "FStar.List.Tot.Base.split", @@ -677,7 +666,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "9dee007d904666e52d4a0c006bc08d9e" + "89ea76af4abb402b93649cc2cd1a814a" ], [ "FStar.List.Tot.Base.unzip3", @@ -691,7 +680,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "4514ea1558c35ba40c15cff6fecfe177" + "13edfb8e7ef6d03bd4f37ead92e358ed" ], [ "FStar.List.Tot.Base.splitAt", @@ -701,16 +690,16 @@ [ "@MaxIFuel_assumption", "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "48587206ce4eac50a22bd548eb37dfd9" + "135b1ae18e19753c9f036c7f610c726e" ], [ "FStar.List.Tot.Base.lemma_splitAt_snd_length", @@ -725,7 +714,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -744,11 +733,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "f963b827f00b3a6739f79bd8f427951b" + "890afe6f3571d211efc34ec0a53bc2c3" ], [ "FStar.List.Tot.Base.unsnoc", @@ -771,7 +760,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "fdd5bd546662394af7d558c82b50bc33" + "c8b306955f007761e99321f7cd597764" ], [ "FStar.List.Tot.Base.split3", @@ -782,19 +771,19 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", + "equation_FStar.Pervasives.Native.snd", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "typing_FStar.List.Tot.Base.splitAt", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "96b4b590026026894cebf7136a12aef7" + "c828902723daa4139bd5f34f60b1ce9f" ], [ "FStar.List.Tot.Base.partition_length", @@ -808,23 +797,19 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Base_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_typing", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.partition.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_Prims.list@tok", - "primitive_Prims.op_Addition", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "kinding_Prims.list@tok", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxInt_proj_0", @@ -833,14 +818,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.partition", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd" ], 0, - "39a77aa9a1c0aae5b1e584d67d94d3b4" + "d245e78399b93ea7496cd3fed8911b0c" ], [ "FStar.List.Tot.Base.compare_of_bool_of_compare", @@ -849,15 +834,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "bool_inversion", "equation_FStar.List.Tot.Base.bool_of_compare", "equation_FStar.List.Tot.Base.compare_of_bool", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", + "primitive_Prims.op_GreaterThan", "projection_inverse_BoxInt_proj_0", "token_correspondence_FStar.List.Tot.Base.compare_of_bool" ], 0, - "b9873ba503cf74a32b69e940f4018e8f" + "df44ee17c8107c308002963fef86ebfd" ], [ "FStar.List.Tot.Base.sortWith", @@ -868,16 +852,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_typing", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -887,11 +869,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "722d8edc30cb1cbff243cf5d1bcdf2d2" + "38f02b47d5594d82ad1f7487a4562ca3" ], [ "FStar.List.Tot.Base.strict_prefix_of", @@ -906,7 +888,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "08766a904f7f70170b6cc7183f3b781c" + "ebba0e4ca1a51c4c2e2930dafaddbf0e" ], [ "FStar.List.Tot.Base.list_unref", @@ -915,12 +897,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_39e87ca6b35b00eb84042f05108ac820_3", + "binder_x_7b8482093bae0a4b384c29b50fcca165_3", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "ca299520c73e79005e6bf8d0b739eca9" + "c0dd0831aa825dabe550266eb9781ebf" ], [ "FStar.List.Tot.Base.list_refb", @@ -930,11 +912,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d6841f230dec5e7f90b5cb01b634450e" + "97b338988066e01d7ad598b96aec6b6e" ], [ "FStar.List.Tot.Base.list_refb", @@ -944,11 +926,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7077566bdf0d73bfc2f67f2ae1a31ec8" + "2b71cf3581af5ade9d7e2f73bd6adc27" ], [ "FStar.List.Tot.Base.list_refb", @@ -964,17 +946,16 @@ "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_f4aee3095571365729d7dc5c466a51f2_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.hd", + "binder_x_0a84a0311ef615651d057a3d23cf0b2f_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", "equation_Prims.nat", @@ -984,26 +965,26 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2b1fb2180ff2c907eda9646e555efdd2", + "refinement_interpretation_Tm_refine_12e8a539a4129b19af91c208e9cbe3f9", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_764a230cc81f873849cdacdaaf7498ea", - "refinement_interpretation_Tm_refine_8320cdcddb113bceb02ad5ea38baa085", - "refinement_interpretation_Tm_refine_a72a7fdfb51b412a582fc23751aeb8f3", - "refinement_interpretation_Tm_refine_b2459ecf0b76117060216ca7fbf6599d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_kinding_Tm_refine_928d5e2c8ee492fddeea9361f8cec823", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6710d66206608a7feb599e6974696392", + "refinement_interpretation_Tm_refine_8e7b348d382d9f86d9b3466667285bb5", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_d21e865e5e40a28cfd96dd802d0a0f0c", + "refinement_interpretation_Tm_refine_d3b740fc18c893c8f4b3264307c50168", + "refinement_kinding_Tm_refine_b8b77a8e463f18ad4c5793b3d9ec961f", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.for_all" ], 0, - "dabb15400508ea3f6c38ebbc3dcfb5b9" + "bc996845b583a402b417b5ac7b049738" ], [ "FStar.List.Tot.Base.list_ref", @@ -1013,11 +994,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1350021fc932b96f71e491a2303ae1d6" + "6098de6aa98aebdbfe1b5f44858752cd" ], [ "FStar.List.Tot.Base.list_ref", @@ -1025,16 +1006,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "058db8bdc56b759030e513aab1e52b89" + "6be1eed10c34a59e13027b874aeadaa2" ], [ "FStar.List.Tot.Base.list_ref", @@ -1050,8 +1028,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_85f4aba13b55e40e8a529c192e872cc0_2", "bool_inversion", + "binder_x_2bbfce795ca23f6a33c3d6a1ba08de1d_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -1065,7 +1043,7 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", @@ -1073,19 +1051,19 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_14d796a902287226ebb7a03401ad0237", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_7044708bc11506167c0529c444a95922", - "refinement_interpretation_Tm_refine_8f853145f98da0bce3b16b60d7a09ce2", - "refinement_interpretation_Tm_refine_af4c45f652e6306583e8c1b827bf1ae4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_da72f69064ba0f70e9cf365124144446", - "refinement_interpretation_Tm_refine_e6b1fa2cf310bbc323e5aa4b692bac43", - "refinement_kinding_Tm_refine_8db1d924915f6038284af85f26b553b7", + "refinement_interpretation_Tm_refine_43ef6ef0c1fec5b6d21c10914896dd34", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_69489de87c73e7e2306509402ca623b5", + "refinement_interpretation_Tm_refine_6d7bc0e1e7a2c2fd8c5c651f0d0875b0", + "refinement_interpretation_Tm_refine_912f5b98b9fb38178c530e0b287047bf", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_kinding_Tm_refine_db47dcf87a2f9d7abbf9d4a2b35b3811", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "e9c35ec8abb9ac70c4f59d6bbf7e3c02" + "55ba74cd19006c930f0cc4ffaa08f81e" ], [ "FStar.List.Tot.Base.hd", @@ -1098,7 +1076,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "91dc8586f876e9bcee682ce8e5aaed9b" + "ccce62c04079a9aae26b74b639e8aa27" ], [ "FStar.List.Tot.Base.tail", @@ -1111,7 +1089,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "65234bfd5d0464bfcc92741d85b1c892" + "1bc90119e38222671d9c8ee4acf877b0" ], [ "FStar.List.Tot.Base.last", @@ -1129,7 +1107,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "e8707d0026069ffea2e77bfa80cfe040" + "be08518bbe3ceea3b52ad0e80feed6b9" ], [ "FStar.List.Tot.Base.init", @@ -1147,7 +1125,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "a47fe4dacf122a7adaf915c21a96fb2a" + "f91f5300db140198afc9a55e4dc1d96f" ], [ "FStar.List.Tot.Base.length", @@ -1156,17 +1134,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "f6cd33ab877a2e5636af2fa446a10d4e" + "c887047cde8109076023f6408b4bf88b" ], [ "FStar.List.Tot.Base.nth", @@ -1177,17 +1153,17 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "20002983d4eeefb828f48fe5cd00db64" + "0b3fc65da3e1773f4afab3b2b34d68ff" ], [ "FStar.List.Tot.Base.index", @@ -1199,8 +1175,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", @@ -1212,12 +1188,12 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "751102e2968fd8697172099b4697c2ba" + "80c6fd21a0cfc6c46474c364d1358e10" ], [ "FStar.List.Tot.Base.count", @@ -1226,20 +1202,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "08f07acd1045964de39a3cb7be03778f" + "ed41efa027790240c57b5bb2535f648a" ], [ "FStar.List.Tot.Base.rev_acc", @@ -1253,7 +1227,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f460afde6eb95e0193d5b02d98189d18" + "edf9665f17f9e6fb87255b344dc16828" ], [ "FStar.List.Tot.Base.append", @@ -1267,7 +1241,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "5bc4f1183527eef7f3bda8d0bab8bf4f" + "29580d46281d69d41184cbdf53c2e5e0" ], [ "FStar.List.Tot.Base.flatten", @@ -1281,7 +1255,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "54f08fa2b11721b74a9eacb9774cba0d" + "ec15289bea617c6f80b5945dcc1ca5ce" ], [ "FStar.List.Tot.Base.map", @@ -1295,7 +1269,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "fc512a0f8e4fce27e4c9762766cfdb42" + "be8702486b469b5fd7b6b292b306c7c3" ], [ "FStar.List.Tot.Base.mapi_init", @@ -1309,7 +1283,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "153397a894ce05bd6378405effb9730b" + "3c0b8bc499af32232c0ee094f74e480e" ], [ "FStar.List.Tot.Base.concatMap", @@ -1323,7 +1297,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "46e814d810276ebec9f8af0c63a0bf51" + "87d6826df5911aca355cd2b5371db7f6" ], [ "FStar.List.Tot.Base.fold_left", @@ -1338,7 +1312,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "cf917baa8f12d4b7ca5baed42a092781" + "4ab612222e04cfe6ea8fdb279ae2e171" ], [ "FStar.List.Tot.Base.fold_right", @@ -1352,7 +1326,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "dd1369148d541d5452b560a73d4171e1" + "3a8e1bddf2b343d8565c4504967890df" ], [ "FStar.List.Tot.Base.fold_right_gtot", @@ -1366,7 +1340,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "84123bdbf376c7babcac9cc5752c29dc" + "05c2aa41152338a8543d15bf02188105" ], [ "FStar.List.Tot.Base.fold_left2", @@ -1377,8 +1351,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_23111b199e312dabc7d863b983ebf5c5_7", + "@query", "binder_x_23111b199e312dabc7d863b983ebf5c5_7", "binder_x_3677c645fc64e957deeeddfee5e227a7_9", "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_8", "binder_x_fe28d8bcde588226b4e538b35321de05_4", @@ -1387,9 +1360,8 @@ "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -1399,12 +1371,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "e39d3001b6cfcaab86614153f5ce2bc2" + "5615d542d8f69880f0ed68b6e6eb5797" ], [ "FStar.List.Tot.Base.mem", @@ -1413,13 +1385,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "14ff794bb1dea8a7a46b6975ace5ce10" + "80236a53df74e6e29d40d35075c17a7e" ], [ "FStar.List.Tot.Base.memP", @@ -1434,7 +1406,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "4d44367ca349c5aebd58d5d86f565ef7" + "665521a9a00a1af9cac2661e34018f5a" ], [ "FStar.List.Tot.Base.existsb", @@ -1448,7 +1420,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "56363a396a60476a176c7739cdba284a" + "45229c8ba88a49a7b99eb28b6a06df3f" ], [ "FStar.List.Tot.Base.find", @@ -1463,7 +1435,7 @@ "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" ], 0, - "a89105e95b0fd3fa1375e20dff7dc6bd" + "c65629e1816a2bce11aa6d5ba5e4035b" ], [ "FStar.List.Tot.Base.mem_filter_spec", @@ -1472,15 +1444,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "refinement_interpretation_Tm_refine_2af6b12551310535283758991ae0dbcf", - "unit_typing" + "refinement_interpretation_Tm_refine_38ce848b2acb13502b58e6aafdc25aa7" ], 0, - "d029d4bc92f6e6d691967ecd383758d3" + "697144599b93c0368aeb9713e5091787" ], [ "FStar.List.Tot.Base.filter", @@ -1492,9 +1462,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_5115115d7dad72e276d493a849fccaec", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_325d8b0a5c5c70d67ac70db625a7bd7a_1", + "FStar.List.Tot.Base_interpretation_Tm_arrow_d8a4ecd62b7613b22faa9f543be3661f", + "binder_x_15bd7882d3edc33c884601101aa10915_1", "binder_x_64bbe2e649c5e2dff004f077d943400a_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -1505,19 +1474,19 @@ "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_c92867616d66672cf4232f1fd6ec59d9", + "l_quant_interp_e8d380d88ae7ad520ccfe2a19ad1cea0", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_62df887a83d5f65c9d7a017b0301ca83", - "refinement_interpretation_Tm_refine_a623a276c1904e5aaf9cb7db1bf5c41f", + "refinement_interpretation_Tm_refine_4bfd67cc76eb191a3fcf5be95be37b7b", + "refinement_interpretation_Tm_refine_b83e98a900770a190983e604d9f26445", "subterm_ordering_Prims.Cons", "true_interp", - "typing_FStar.List.Tot.Base.mem", "unit_typing" + "typing_FStar.List.Tot.Base.mem" ], 0, - "66568de53bb2df91b09c052f64ccb02e" + "37762cf8e0e5046d4829a1536a0bc321" ], [ "FStar.List.Tot.Base.for_all", @@ -1531,7 +1500,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2dae452d53c065067b05ee868533813c" + "4bd435379bbd2bc435eabe0ccb309706" ], [ "FStar.List.Tot.Base.collect", @@ -1545,7 +1514,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "594576f0a568ed7b87cf78192b06833a" + "736611dc6b90dfde9d3f3b59e3bb9363" ], [ "FStar.List.Tot.Base.tryFind", @@ -1559,7 +1528,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "7e099d9aed81edb3e38159e009b52d2d" + "41155f9569f28ae3351f4c3ed2e0a6eb" ], [ "FStar.List.Tot.Base.tryPick", @@ -1568,9 +1537,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_dacc795e89d4627e5b69ae2c450dc316", + "FStar.List.Tot.Base_interpretation_Tm_arrow_41cb7ff98ddc4d65ea507c5289ae6dc0", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_49903ee1f6efa663d1b94b12c45eb851_4", + "binder_x_f41edc86ba19975386547506e21fe08c_4", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -1581,7 +1550,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "c99d28cbdfb18b8cd5f12ddaf55e2cac" + "4b1f3efafe5642911fbb6569b1418297" ], [ "FStar.List.Tot.Base.choose", @@ -1590,9 +1559,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_dacc795e89d4627e5b69ae2c450dc316", + "FStar.List.Tot.Base_interpretation_Tm_arrow_41cb7ff98ddc4d65ea507c5289ae6dc0", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_49903ee1f6efa663d1b94b12c45eb851_4", + "binder_x_f41edc86ba19975386547506e21fe08c_4", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -1603,7 +1572,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "29c6506bf75ba9adbc0fa29660ead696" + "a76b3f12398c0314bb14904eddb2802a" ], [ "FStar.List.Tot.Base.partition", @@ -1617,7 +1586,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "464cf15d19152c8d15108ac07a58eee8" + "aa404410c407c49af3dafd81901d2193" ], [ "FStar.List.Tot.Base.subset", @@ -1626,13 +1595,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "89b3a7d246d86203358d29ee9b609213" + "8688944a1946871476e485a025975b4e" ], [ "FStar.List.Tot.Base.noRepeats", @@ -1641,13 +1610,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "ac337d74b1eb9aea94536ea780cffe6f" + "da892964210179a209c453de71e664f3" ], [ "FStar.List.Tot.Base.no_repeats_p", @@ -1664,13 +1633,13 @@ "equation_Prims.l_and", "equation_Prims.l_not", "equation_Prims.squash", "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "subterm_ordering_Prims.Cons", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "8efee07c9892f8c16d8d0c610c68d5c4" + "0e9617f22361d22b0f85a36d3ca626c1" ], [ "FStar.List.Tot.Base.assoc", @@ -1679,13 +1648,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_07c04e67c7cab1ba5acd0cd207adcc61_4", + "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e11c80cee8fe354af84b8d42d17e98c7" + "7bd970701ad778f20a0653bc58e93213" ], [ "FStar.List.Tot.Base.split", @@ -1699,7 +1668,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "767ee3b7bb310faeed55100d8afb9d8e" + "ae1394e292909904ca043087be7793ab" ], [ "FStar.List.Tot.Base.unzip3", @@ -1713,7 +1682,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "5ba98cf411c99c28e96bb943a9cb15a8" + "e47105cc58c6eec0d64f8e6008a3933a" ], [ "FStar.List.Tot.Base.splitAt", @@ -1723,16 +1692,16 @@ [ "@MaxIFuel_assumption", "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "7b12090098769dbfbd71febe72b3c9c2" + "2b97919db66b34b60aab21b8c8129d87" ], [ "FStar.List.Tot.Base.unsnoc", @@ -1755,7 +1724,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "71b6c779f8d91362f5b36194fc07f38c" + "1840336caac6e57a016efe2d7f5b7f45" ], [ "FStar.List.Tot.Base.split3", @@ -1766,19 +1735,19 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", + "equation_FStar.Pervasives.Native.snd", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "typing_FStar.List.Tot.Base.splitAt", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" ], 0, - "2605cc25f48939dff1baf0dfa434de5b" + "367a85ec41c3772bafe81dc7c3068c59" ], [ "FStar.List.Tot.Base.sortWith", @@ -1789,16 +1758,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_typing", "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -1808,11 +1775,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "ec4e88f1f22016b0c1821138f58eb350" + "01136ffc401cb4490ca82b852dee3fa4" ], [ "FStar.List.Tot.Base.strict_prefix_of", @@ -1827,7 +1794,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "df56e2e51431941b5184b8a007921ec8" + "528b090721e802e3f3689fd4fa5bd981" ], [ "FStar.List.Tot.Base.list_unref", @@ -1836,12 +1803,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_39e87ca6b35b00eb84042f05108ac820_3", + "binder_x_7b8482093bae0a4b384c29b50fcca165_3", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "fcaeeafe982bac41a91672a885e88a9e" + "163e5f08a28eec0f8e585920ec1443db" ], [ "FStar.List.Tot.Base.list_refb", @@ -1851,11 +1818,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cda112688196efc29e738e79ff489339" + "f8bd360a64937b9bc1218e85eae38611" ], [ "FStar.List.Tot.Base.list_refb", @@ -1871,17 +1838,16 @@ "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_f4aee3095571365729d7dc5c466a51f2_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.hd", + "binder_x_0a84a0311ef615651d057a3d23cf0b2f_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", "equation_Prims.nat", @@ -1891,26 +1857,26 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2b1fb2180ff2c907eda9646e555efdd2", + "refinement_interpretation_Tm_refine_12e8a539a4129b19af91c208e9cbe3f9", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_764a230cc81f873849cdacdaaf7498ea", - "refinement_interpretation_Tm_refine_8320cdcddb113bceb02ad5ea38baa085", - "refinement_interpretation_Tm_refine_a72a7fdfb51b412a582fc23751aeb8f3", - "refinement_interpretation_Tm_refine_b2459ecf0b76117060216ca7fbf6599d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_kinding_Tm_refine_928d5e2c8ee492fddeea9361f8cec823", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6710d66206608a7feb599e6974696392", + "refinement_interpretation_Tm_refine_8e7b348d382d9f86d9b3466667285bb5", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_d21e865e5e40a28cfd96dd802d0a0f0c", + "refinement_interpretation_Tm_refine_d3b740fc18c893c8f4b3264307c50168", + "refinement_kinding_Tm_refine_b8b77a8e463f18ad4c5793b3d9ec961f", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.for_all" ], 0, - "12463f4913c588e2e0d0fda6276fe962" + "ae5a12143e6e11d3d7cdde897c102c1e" ], [ "FStar.List.Tot.Base.list_ref", @@ -1918,16 +1884,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "72e35fa2ec8adbcbf6c4b9af9b10fa45" + "6e2bedc9a524072421b7cefa753bd6fc" ], [ "FStar.List.Tot.Base.list_ref", @@ -1943,8 +1906,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_85f4aba13b55e40e8a529c192e872cc0_2", "bool_inversion", + "binder_x_2bbfce795ca23f6a33c3d6a1ba08de1d_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -1958,7 +1921,7 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", @@ -1966,19 +1929,19 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_14d796a902287226ebb7a03401ad0237", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_7044708bc11506167c0529c444a95922", - "refinement_interpretation_Tm_refine_8f853145f98da0bce3b16b60d7a09ce2", - "refinement_interpretation_Tm_refine_af4c45f652e6306583e8c1b827bf1ae4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_da72f69064ba0f70e9cf365124144446", - "refinement_interpretation_Tm_refine_e6b1fa2cf310bbc323e5aa4b692bac43", - "refinement_kinding_Tm_refine_8db1d924915f6038284af85f26b553b7", + "refinement_interpretation_Tm_refine_43ef6ef0c1fec5b6d21c10914896dd34", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_69489de87c73e7e2306509402ca623b5", + "refinement_interpretation_Tm_refine_6d7bc0e1e7a2c2fd8c5c651f0d0875b0", + "refinement_interpretation_Tm_refine_912f5b98b9fb38178c530e0b287047bf", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_kinding_Tm_refine_db47dcf87a2f9d7abbf9d4a2b35b3811", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "cd1d37dc648894cd801207e5f9a3dfc2" + "ace27ffa4be39324e65438bafe2afba8" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.List.Tot.Properties.fst.hints b/ulib/FStar.List.Tot.Properties.fst.hints index 59c3cfe0697..b09239901a4 100644 --- a/ulib/FStar.List.Tot.Properties.fst.hints +++ b/ulib/FStar.List.Tot.Properties.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "108591123b18b99ee165f8e353db1148" + "83a8971d23021219c8a876ea07a5db99" ], [ "FStar.List.Tot.Properties.mem_empty", @@ -31,7 +31,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "54508d03936e95636743184f9af072d8" + "fb57ab0d77aba5666bb7ec1a06f6a8a9" ], [ "FStar.List.Tot.Properties.mem_existsb", @@ -45,16 +45,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.existsb.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_Prims.eqtype", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.existsb.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", @@ -70,7 +68,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "1da9f77291b07a283a7d47bc78bbf7fa" + "faf0236598b86d3d2853039030a98559" ], [ "FStar.List.Tot.Properties.mem_count", @@ -83,29 +81,27 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", "bool_inversion", + "@query", "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.count", "typing_FStar.List.Tot.Base.mem" ], 0, - "480f94aa3370e408c29bb95ac48464d8" + "81cb481297ae9945458d739201c5fce7" ], [ "FStar.List.Tot.Properties.rev_acc_length", @@ -143,7 +139,7 @@ "typing_FStar.List.Tot.Base.rev_acc" ], 0, - "b9763b688cf82f1b03a725dd6cca1ed4" + "f7b89138568d9ac95196e39fae1614b2" ], [ "FStar.List.Tot.Properties.rev_length", @@ -153,11 +149,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "845963d129f7fb08ee2c8d6c201bd868" + "3f326907d9e91255f9a6097131a3e48e" ], [ "FStar.List.Tot.Properties.rev_length", @@ -173,11 +169,11 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "4cef45dbb85b6196a6658c05e6a60a2d" + "a6c6cb1cd43ed5ca6005f9cc6502edd2" ], [ "FStar.List.Tot.Properties.rev_acc_mem", @@ -190,10 +186,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_3", "bool_inversion", + "@query", "binder_x_157b99e815dc43d99415725267e9c452_3", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", @@ -209,7 +205,7 @@ "typing_FStar.List.Tot.Base.rev_acc" ], 0, - "dcfd6461acaa81588ed7922a7f8fbb8c" + "75a197c777f3cf8f4f3c7a5c95fc1ff3" ], [ "FStar.List.Tot.Properties.rev_mem", @@ -228,7 +224,7 @@ "typing_FStar.List.Tot.Base.mem" ], 0, - "bcb30c0df02e23dff47ce9403c15a03a" + "1d5387410ba3bb2d7ac2c05ebaf2e778" ], [ "FStar.List.Tot.Properties.append_nil_l", @@ -245,7 +241,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "a00043d0afbfb40e0699a8220a8210d5" + "c6a7128d398ac07262b5bc006121e133" ], [ "FStar.List.Tot.Properties.append_l_nil", @@ -269,7 +265,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "7e4b4040d634f08e57f951ba8a9655fb" + "4696b7213b231101fc418b3c888e95d3" ], [ "FStar.List.Tot.Properties.append_cons_l", @@ -292,7 +288,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "abbc0994ca85d99a33f99d1f2d7fad95" + "085a449e2df2a486f0893db26bf2a918" ], [ "FStar.List.Tot.Properties.append_l_cons", @@ -320,7 +316,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "08c13309d1ef52906deb3a0a930fcbe6" + "a6c584b949af775584c7f45ad341cfe5" ], [ "FStar.List.Tot.Properties.append_assoc", @@ -347,7 +343,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "5054ec66093062d686382e1926d646bb" + "19c89fbcd4827d7b41eab8dc6ba5667a" ], [ "FStar.List.Tot.Properties.append_length", @@ -383,7 +379,7 @@ "typing_FStar.List.Tot.Base.length" ], 0, - "a146d0e1ad86147631294272be5f601c" + "a73bfbe989c265ede76db87bccbbcbe0" ], [ "FStar.List.Tot.Properties.append_mem", @@ -396,10 +392,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_3", "bool_inversion", + "@query", "binder_x_157b99e815dc43d99415725267e9c452_3", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", @@ -416,7 +412,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At" ], 0, - "ada0be12f497bbe128e81c2937f6e352" + "deab7e8ceb43e7f63b6ba2a60dec2dab" ], [ "FStar.List.Tot.Properties.append_mem_forall", @@ -429,9 +425,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", + "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", @@ -448,7 +444,7 @@ "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At" ], 0, - "15fb6b5c3578b8c22e2cad462770787b" + "6b8a28757d74d229bf53b9b17d0aa1e3" ], [ "FStar.List.Tot.Properties.append_count", @@ -461,32 +457,32 @@ "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_3", + "@query", "binder_x_157b99e815dc43d99415725267e9c452_3", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.count", - "typing_FStar.List.Tot.Base.op_At" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", + "typing_FStar.List.Tot.Base.append", + "typing_FStar.List.Tot.Base.count" ], 0, - "7520a70fd2dbe1c0bb8d915a4a80018b" + "a36af6b33be88568f22f1072debbd479" ], [ "FStar.List.Tot.Properties.append_count_forall", @@ -499,33 +495,31 @@ "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.count" ], 0, - "3ca95f5e3e2fc31f88528154c37b4948" + "5185c3dd931a154ffbe9b2e7d432052f" ], [ "FStar.List.Tot.Properties.append_eq_nil", @@ -543,7 +537,7 @@ "lemma_FStar.List.Tot.Properties.append_l_nil" ], 0, - "65392a2f07fdacf8eb467bd1284555ad" + "3ddbfdfd831c79337a4357a06385dc58" ], [ "FStar.List.Tot.Properties.append_eq_singl", @@ -562,7 +556,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "ca83fd4f5b9c32e17757c3dfba10e0e8" + "dca1a6f27e01fcf6f9de908adfa280ad" ], [ "FStar.List.Tot.Properties.append_inv_head", @@ -587,7 +581,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "45bee2596150c6cd81aab43e5cccb374" + "79000ab0918d207f28fc28075a6951d6" ], [ "FStar.List.Tot.Properties.append_inv_tail", @@ -619,7 +613,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" ], 0, - "d26f1c2964e552d00e2bc2e1b3ea3744" + "341433b3b0487c53f6c5918f43a9511d" ], [ "FStar.List.Tot.Properties.append_length_inv_head", @@ -632,8 +626,7 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_5", @@ -645,20 +638,18 @@ "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "aa9d971bb98bd7861254cf9373b04789" + "3f6cd921c275366973b97648e3403af6" ], [ "FStar.List.Tot.Properties.append_length_inv_tail", @@ -672,11 +663,11 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "c1e749c3138b2ebe5d7d76e5b9bfaa57" + "91cbd3dff0550fcf3ad62f94d30ffcd7" ], [ "FStar.List.Tot.Properties.lemma_append_last", @@ -687,22 +678,29 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.squash", + "equation_FStar.List.Tot.Base.op_At", "equation_Prims.nat", + "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_GreaterThan", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "lemma_FStar.List.Tot.Properties.append_length", + "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_56eae27dfec48fe18e6884bc91dfd9af", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.op_At" ], 0, - "84102e05d5d3cd23b4a394ac77f97b9c" + "822dbc43b05c31a92f9ea4315c232cbc" ], [ "FStar.List.Tot.Properties.lemma_append_last", @@ -716,29 +714,34 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", + "@query", "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.squash", + "equation_FStar.List.Tot.Base.op_At", "equation_Prims.nat", + "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_GreaterThan", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "lemma_FStar.List.Tot.Properties.append_length", + "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At", - "unit_typing" + "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.op_At" ], 0, - "2413512e6b49e28042ed8f8471a01c5a" + "4f110d4807247588538b1c0a16136362" ], [ "FStar.List.Tot.Properties.rev'", @@ -752,7 +755,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e6b8bae80bb28207f346dfb1bf3ecfe4" + "4a00dfe3f3b6b2376bdb30f7b9724990" ], [ "FStar.List.Tot.Properties.rev_acc_rev'", @@ -783,7 +786,7 @@ "token_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented" ], 0, - "6d0b7db4f2c0ed2a4605817aeb93aff3" + "d6c9b62dc911b8ebbdcc607c91c38d6f" ], [ "FStar.List.Tot.Properties.rev_rev'", @@ -792,7 +795,7 @@ 1, [ "@query", "equation_FStar.List.Tot.Base.rev" ], 0, - "fd7fca90d6bb58168527217ae8932c7d" + "da6b6678a8675adb5b5c41d7b5c539c0" ], [ "FStar.List.Tot.Properties.rev'_append", @@ -820,7 +823,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" ], 0, - "a38e1dd3d0faba4b9b764be86488d109" + "d3392ee26fb603fb49cc301a5096a693" ], [ "FStar.List.Tot.Properties.rev_append", @@ -829,7 +832,7 @@ 1, [ "@query" ], 0, - "d2b9f61c4e95d2b1958a6fe8e18e4971" + "1f79ddf97d48881f271abcc3cefcd78d" ], [ "FStar.List.Tot.Properties.rev'_involutive", @@ -857,7 +860,7 @@ "typing_FStar.List.Tot.Properties.rev_" ], 0, - "1448406e273d03d64dd1f1567ae4809a" + "123b93c331d85c7ce91e952708b6358f" ], [ "FStar.List.Tot.Properties.rev_involutive", @@ -866,7 +869,7 @@ 1, [ "@query" ], 0, - "9256abf3532f2669f3027bec2f4d447d" + "9475f1065cfb868ff2a3f59f3ae99bd8" ], [ "FStar.List.Tot.Properties.lemma_snoc_length", @@ -904,7 +907,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "4dcdc5d13dac4169284607fc0b017499" + "659812e1ecef7b2b7facd6a6b64a6606" ], [ "FStar.List.Tot.Properties.rev'_list_ind", @@ -927,7 +930,7 @@ "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons" ], 0, - "474cce030ecc54ff64a39c1852edfefc" + "558089ba9aff879a082ed586bce2f946" ], [ "FStar.List.Tot.Properties.rev_ind", @@ -947,7 +950,7 @@ "typing_FStar.List.Tot.Properties.rev_" ], 0, - "b806a905565c63a4764b62a07eb804dd" + "ae4f01d639a2394c1c7bd46dae664375" ], [ "FStar.List.Tot.Properties.map_lemma", @@ -957,11 +960,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "42eb39217a2a80e262dc2f8bbb55468f" + "d2a25c0ea2e42cc13f86c4b93867776f" ], [ "FStar.List.Tot.Properties.map_lemma", @@ -971,11 +974,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a6e0d670d835be84324d1d29e69d25a4" + "e84768f53317b3e355a60b9ef8e00687" ], [ "FStar.List.Tot.Properties.map_lemma", @@ -989,10 +992,10 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_029b6cf8f9f8b0206538c448f94db434", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_158ccd3239cde10d7dceed65fcdf976a_4", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", + "binder_x_57af2c0907f883669f14a9b761d251ac_4", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -1006,7 +1009,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "e52a896914920c8c533d22b97fe4d69d" + "31c869866f66368f4ddc071145822aa4" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_snoc", @@ -1048,16 +1051,17 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_fa02503191a98cfbb57e7996fe0d4028", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.splitAt", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.snd" ], 0, - "df3374378c2a56ae80feab56b0558679" + "83a32baa159334faaa1e969479d3504f" ], [ "FStar.List.Tot.Properties.lemma_snoc_unsnoc", @@ -1069,8 +1073,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", @@ -1078,16 +1082,15 @@ "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.snoc" ], 0, - "13421b94b5fb3b499186d18a85989201" + "7546afd6619bb2b5a69d035e1d53c16e" ], [ "FStar.List.Tot.Properties.lemma_snoc_unsnoc", @@ -1099,8 +1102,7 @@ "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", + "@query", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", @@ -1109,16 +1111,15 @@ "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", + "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", + "primitive_Prims.op_Addition", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_8587b9daf7d1c5d0a7b2f3ba6e566084", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_fb50b8162bec3f587b13e7b9df4b515f", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", @@ -1126,7 +1127,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "d63003181f9727eb09004138904acda0" + "4a7e1c22bcc392648243e085f16036d5" ], [ "FStar.List.Tot.Properties.lemma_snoc_unsnoc", @@ -1170,7 +1171,7 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", @@ -1179,7 +1180,7 @@ "typing_FStar.Pervasives.Native.fst", "well-founded-ordering-on-nat" ], 0, - "997bafa91413886216003d9cf5b99a02" + "547da9d62eddba4c4d397cbca8d21244" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_length", @@ -1196,14 +1197,14 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_e88aba6d4c79a5625ab4330932edf7ed", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.Pervasives.Native.fst" ], 0, - "2f8c94c6700a4cf1ea646b6193c22200" + "d3bbfbaf85309d3156f3a2527b55e9ff" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_append", @@ -1214,21 +1215,19 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.List.Tot.Base.op_At", + "@query", "b2t_def", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.List.Tot.Properties.append_length", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a3263df450649064914f293ebd69eeba", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "c1b130a25e5bd7b95222857e246702fb" + "46bbe023cd833044166a9c82c2d5aa1e" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_append", @@ -1244,12 +1243,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", "equation_FStar.List.Tot.Base.unsnoc", "equation_Prims.nat", @@ -1260,6 +1258,7 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", + "lemma_FStar.List.Tot.Properties.append_l_nil", "lemma_FStar.List.Tot.Properties.append_length", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", @@ -1270,17 +1269,18 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.List.Tot.Base.unsnoc", "unit_typing" + "typing_FStar.List.Tot.Base.unsnoc" ], 0, - "cf580dabd1a251896549c5dc277cfe2b" + "ca0326983fc2af9004cbb2aab57f7d13" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_is_last", @@ -1290,23 +1290,21 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "constructor_distinct_Tm_unit", + "@query", "b2t_def", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5e3b6e8ca02d2764dc2ebccd14596cc0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.List.Tot.Base.length" ], 0, - "febb3866ce0c186976e175569b40193f" + "37fa6818a2403a062e01bf36f5f931eb" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_is_last", @@ -1324,8 +1322,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", @@ -1353,17 +1350,16 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.tl", - "unit_typing" + "typing_FStar.List.Tot.Base.length" ], 0, - "78b9113cf97a7027ced889e6574296b9" + "4d8bdd942f2a9cd917ac41b6015aa66c" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_index", @@ -1377,10 +1373,10 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "a11ef12a275058fd3db548c9d12f178e" + "1a1039886bd9df3b86c8a9e0ccab5da7" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_index", @@ -1396,9 +1392,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", @@ -1423,18 +1418,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_301a4a77d72f09a18e5c66e3c8aba8f1", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6053686d07d3ee68e2dc39f293ab7455", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.Pervasives.Native.fst", "unit_typing" + "typing_FStar.Pervasives.Native.fst" ], 0, - "13ece93f34e7f75821ab4794d2a0cb94" + "6c00785294126d3012e083c70b74109f" ], [ "FStar.List.Tot.Properties.split_using", @@ -1454,12 +1449,12 @@ "false_interp", "fuel_guarded_inversion_Prims.list", "l_or-interp", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_045dd91118d5fc24fa50a6bb08566bce", "refinement_interpretation_Tm_refine_57e38f067bd84fa5ec35560b4612c50c", + "refinement_interpretation_Tm_refine_a5213da79b3d9a8df6b57fc3b99f831c", "subterm_ordering_Prims.Cons" ], 0, - "1f85d4975c38d10fa2bfeed556c1613b" + "a5e9c9eaf14394484ade436295ea46b1" ], [ "FStar.List.Tot.Properties.lemma_split_using", @@ -1473,11 +1468,11 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "int_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "79ebd9b9fa2110a8c03a22d15f573eaf" + "655732300c0317d0d6c29a2deb156795" ], [ "FStar.List.Tot.Properties.lemma_split_using", @@ -1493,12 +1488,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_00ef1e2db90d63324103d5fc8b6fe893_3", + "@query", "binder_x_00ef1e2db90d63324103d5fc8b6fe893_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_typing", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", @@ -1509,9 +1501,8 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", + "false_interp", "fuel_guarded_inversion_Prims.list", "int_inversion", + "l_or-interp", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", @@ -1519,19 +1510,19 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_57e38f067bd84fa5ec35560b4612c50c", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2", "unit_typing" + "typing_Prims.eq2" ], 0, - "33bae02d61fecb5c9d1a2afa6ff17be2" + "3b973e7308e34f518ffe81b2794292cd" ], [ "FStar.List.Tot.Properties.index_of", @@ -1547,10 +1538,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_00ef1e2db90d63324103d5fc8b6fe893_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_typing", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "eq2-interp", "equation_FStar.List.Tot.Base.hd", @@ -1569,18 +1559,18 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_045dd91118d5fc24fa50a6bb08566bce", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_57e38f067bd84fa5ec35560b4612c50c", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bace12f95c296e7666f76d391119f146", + "refinement_interpretation_Tm_refine_a5213da79b3d9a8df6b57fc3b99f831c", + "refinement_interpretation_Tm_refine_bf1803228cdb6523a3669501325e4a79", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_Prims.__proj__Cons__item__tl" ], 0, - "784431a1c8ecd76fe11ef0d8d1336419" + "74ea8eb71ba20c4d1d42e4f335d09465" ], [ "FStar.List.Tot.Properties.partition_mem", @@ -1594,15 +1584,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_3", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "binder_x_157b99e815dc43d99415725267e9c452_3", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.eqtype", @@ -1610,7 +1599,7 @@ "equation_with_fuel_FStar.List.Tot.Base.partition.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_Prims.Cons_a", @@ -1621,7 +1610,7 @@ "typing_FStar.List.Tot.Base.partition" ], 0, - "6431c28f61490d87123e697856aba1f6" + "fb3bd9b7c8d904d0f05cabc3dbcca6f3" ], [ "FStar.List.Tot.Properties.partition_mem_forall", @@ -1635,14 +1624,12 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", @@ -1661,7 +1648,7 @@ "typing_FStar.List.Tot.Base.partition" ], 0, - "463f456c5ec2e6441530a824052975c1" + "a04076fc412437cd374186d631836e17" ], [ "FStar.List.Tot.Properties.partition_mem_p_forall", @@ -1675,14 +1662,12 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", @@ -1703,7 +1688,7 @@ "typing_FStar.List.Tot.Base.partition" ], 0, - "1949800d3b22a3ce43fc36da4480460e" + "b83b8875ef96e29cc4120223f0ac3aaf" ], [ "FStar.List.Tot.Properties.partition_count", @@ -1717,14 +1702,12 @@ "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_3", "bool_typing", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "binder_x_157b99e815dc43d99415725267e9c452_3", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", @@ -1732,10 +1715,9 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.partition.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Prims.list@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_Prims.list@tok", "primitive_Prims.op_Addition", + "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -1746,7 +1728,7 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "typing_FStar.List.Tot.Base.count", @@ -1755,7 +1737,7 @@ "typing_FStar.Pervasives.Native.snd" ], 0, - "38ca107a54b16ddb307101334680335e" + "17c996d4728f170a3de4866d54571765" ], [ "FStar.List.Tot.Properties.partition_count_forall", @@ -1769,13 +1751,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_typing", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -1784,10 +1764,9 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.partition.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Prims.list@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "kinding_Prims.list@tok", "primitive_Prims.op_Addition", + "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -1798,14 +1777,14 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.count", "typing_FStar.List.Tot.Base.partition", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd" ], 0, - "3305833d11bdc60e52f203a9536e82b0" + "d108ea552f8d5d80731ff1ba02381d72" ], [ "FStar.List.Tot.Properties.sortWith_permutation", @@ -1815,11 +1794,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "693d5e08bd876db41388d7cc75d000b8" + "fd27dfb9f609a246c1f44538c0032de2" ], [ "FStar.List.Tot.Properties.sortWith_permutation", @@ -1829,11 +1808,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "157725b2e0190489fcdb13792e71e777" + "8021b40bcf01bf6e9a59662c277a1413" ], [ "FStar.List.Tot.Properties.sortWith_permutation", @@ -1844,19 +1823,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.partition.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.sortWith.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.sortWith.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_9dcb1f47482282f0940d07661f5cfbc6_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_typing", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", + "FStar.List.Tot.Base_interpretation_Tm_arrow_a2f219461d35e20b7bc771538ca96429", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_1ecf444031bbe3efb7a4717c2faa5684", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_aa4a9e8b2e6334fe3ccba7a09fe0021f_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -1868,9 +1846,8 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.sortWith.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_FStar.List.Tot.Base.bool_of_compare", "int_inversion", "int_typing", "kinding_Prims.list@tok", - "partial_app_typing_75aac94bd8c9fd26413b0c709ee69622", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -1882,7 +1859,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.count", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.partition", "typing_FStar.List.Tot.Base.sortWith", @@ -1890,7 +1868,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "bf8076d21a8bcad71747d2eac9f7b853" + "822d773467efe7f40e401239726e2386" ], [ "FStar.List.Tot.Properties.sorted", @@ -1908,7 +1886,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "03989d1ae1d8b68cee247f97d30edb3e" + "b63d4d037d1f434e55ca85fd6a092e66" ], [ "FStar.List.Tot.Properties.append_sorted", @@ -1924,14 +1902,13 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Properties.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_57d79a6e56aebd3125cba575f6bb7128_2", - "binder_x_57d79a6e56aebd3125cba575f6bb7128_3", - "binder_x_785ee929d522a5a2423b86a1c1e8cbcf_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_4", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "binder_x_157b99e815dc43d99415725267e9c452_4", + "binder_x_72fa7a72e93cc9b5cf075aa2ca3f080a_2", + "binder_x_72fa7a72e93cc9b5cf075aa2ca3f080a_3", + "binder_x_98df27d05a962e7ef32cba6da37f0aeb_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -1946,8 +1923,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_4123a1606d55ce82f9f1339b489f0c98", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_794393806fdbe0c903543ab99c31b5fb", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Properties.sorted.fuel_instrumented", "typing_FStar.List.Tot.Base.append", @@ -1955,7 +1932,7 @@ "typing_FStar.List.Tot.Properties.sorted" ], 0, - "dc73d462cd7c6167d63b88c7bf169a08" + "f4e21f0357d7040809c324fe813aa5c1" ], [ "FStar.List.Tot.Properties.sortWith_sorted", @@ -1972,13 +1949,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.sortWith.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_9dcb1f47482282f0940d07661f5cfbc6_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", + "FStar.List.Tot.Base_interpretation_Tm_arrow_a2f219461d35e20b7bc771538ca96429", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_1ecf444031bbe3efb7a4717c2faa5684", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_aa4a9e8b2e6334fe3ccba7a09fe0021f_1", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -1993,11 +1971,9 @@ "equation_with_fuel_FStar.List.Tot.Base.sortWith.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Properties.sorted.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Prims.list@tok", - "partial_app_typing_75aac94bd8c9fd26413b0c709ee69622", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThan", + "function_token_typing_FStar.List.Tot.Base.bool_of_compare", + "kinding_Prims.list@tok", "primitive_Prims.op_Addition", + "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -2008,7 +1984,7 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.bool_of_compare", "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "typing_FStar.List.Tot.Base.length", @@ -2019,7 +1995,7 @@ "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" ], 0, - "9825363dcbd1f7bf0d8bb9c1e95c23fa" + "0e624fdf3f007cb1f14185a3daa41525" ], [ "FStar.List.Tot.Properties.mem_memP", @@ -2032,9 +2008,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_1", "bool_inversion", + "@query", "binder_x_157b99e815dc43d99415725267e9c452_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", @@ -2049,7 +2025,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "fe1638a110dcdb70bc773f8f56a8568e" + "cae7c6a38990af9e94cf5c85168ae89d" ], [ "FStar.List.Tot.Properties.lemma_index_memP", @@ -2058,7 +2034,7 @@ 1, [ "@query" ], 0, - "c0537bdba81f574cfc7e4b371abf4a71" + "f9229f7db3ec1c5c0ef07204556d9d5e" ], [ "FStar.List.Tot.Properties.lemma_index_memP", @@ -2074,8 +2050,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "disc_equation_Prims.Cons", "eq2-interp", "equation_FStar.List.Tot.Base.hd", @@ -2090,13 +2066,13 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.index" ], 0, - "1c4cb8a2876c386b9b93b4c33155f205" + "89765ecb484171754e4437e788d060e2" ], [ "FStar.List.Tot.Properties.memP_empty", @@ -2112,7 +2088,7 @@ "false_interp", "projection_inverse_Prims.Nil_a" ], 0, - "7fa319b029ee1fabb6f3a5e11395db99" + "b87513fdf4c4fa503e76c694c7113b4c" ], [ "FStar.List.Tot.Properties.memP_existsb", @@ -2126,15 +2102,13 @@ "@fuel_irrelevance_FStar.List.Tot.Base.existsb.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_2", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", + "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", "equation_with_fuel_FStar.List.Tot.Base.existsb.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "false_interp", "fuel_guarded_inversion_Prims.list", "l_or-interp", @@ -2147,7 +2121,7 @@ "typing_FStar.List.Tot.Base.existsb" ], 0, - "66e2e8477d42c9e39155b40a967bb1cf" + "6de71cc7051ebd07781e21d3da6ccbb6" ], [ "FStar.List.Tot.Properties.memP_map_intro", @@ -2161,10 +2135,10 @@ "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_029b6cf8f9f8b0206538c448f94db434", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_158ccd3239cde10d7dceed65fcdf976a_4", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", + "binder_x_57af2c0907f883669f14a9b761d251ac_4", "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_5", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", @@ -2180,7 +2154,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "f85d7d598a12c9e9024e7f3321bb2102" + "65d3fb509be659632cdaf013f8e8e6c1" ], [ "FStar.List.Tot.Properties.memP_map_elim", @@ -2194,11 +2168,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_029b6cf8f9f8b0206538c448f94db434", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_158ccd3239cde10d7dceed65fcdf976a_4", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", "binder_x_23111b199e312dabc7d863b983ebf5c5_5", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", + "binder_x_57af2c0907f883669f14a9b761d251ac_4", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -2213,7 +2187,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "ea7ec8988ca509e289a07ed4de1ed589" + "e5ede0b871fecf1966fd6af0632cfb9d" ], [ "FStar.List.Tot.Properties.noRepeats_nil", @@ -2231,7 +2205,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cbe834263646d30fcd2c7e093cb52053" + "f6ce605c5c8a5c02bd44d21c937de2b5" ], [ "FStar.List.Tot.Properties.noRepeats_cons", @@ -2256,7 +2230,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "d4e2a2756bd3e61c95a93eddec10d511" + "5f5bf445a9a7200740e577d331ec34e5" ], [ "FStar.List.Tot.Properties.noRepeats_append_elim", @@ -2271,9 +2245,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", + "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -2296,7 +2270,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "8732d8c422b21ecdf6dd2b8a28797821" + "3002bf9a747908e66012f34149210954" ], [ "FStar.List.Tot.Properties.noRepeats_append_intro", @@ -2311,9 +2285,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", "bool_inversion", + "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -2336,7 +2310,7 @@ "typing_FStar.List.Tot.Base.op_At" ], 0, - "91b7f1ae5c0d2bdc9386bf92710b60a1" + "658b91fa1249a0d08f29ba7c5d42c95b" ], [ "FStar.List.Tot.Properties.assoc_nil", @@ -2354,7 +2328,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b26af5cbccf15b86e0aeb7d0f7c9ffd5" + "443526c501de2a3a8e009b069767fac5" ], [ "FStar.List.Tot.Properties.assoc_cons_eq", @@ -2378,7 +2352,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ffe1adcf267e10308dcb7f8db2f81bed" + "108cb5fc896389c1da85da5c91e6c26e" ], [ "FStar.List.Tot.Properties.assoc_cons_not_eq", @@ -2402,7 +2376,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c7f59ab26c0e9278b71d7883c5d5c586" + "449a168ceb2ae6b12d7a6eb1472a0cee" ], [ "FStar.List.Tot.Properties.assoc_append_elim_r", @@ -2415,10 +2389,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "binder_x_07c04e67c7cab1ba5acd0cd207adcc61_4", - "binder_x_07c04e67c7cab1ba5acd0cd207adcc61_5", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_a81196f4caaaa4b43052179035836caa_3", + "@query", "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", + "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_5", + "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", @@ -2440,7 +2414,7 @@ "typing_FStar.List.Tot.Base.op_At", "unit_inversion", "unit_typing" ], 0, - "afccbdd283c36ff957ea55658636f468" + "f45a9fc482d33356415524aa10b6969f" ], [ "FStar.List.Tot.Properties.assoc_append_elim_l", @@ -2453,10 +2427,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "binder_x_07c04e67c7cab1ba5acd0cd207adcc61_4", - "binder_x_07c04e67c7cab1ba5acd0cd207adcc61_5", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_a81196f4caaaa4b43052179035836caa_3", + "@query", "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", + "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_5", + "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -2478,7 +2452,7 @@ "unit_inversion", "unit_typing" ], 0, - "cf5e219298cb840a889d5526a72bcd32" + "a673e7b5c8b89e83cae495175b0d2659" ], [ "FStar.List.Tot.Properties.assoc_memP_some", @@ -2491,10 +2465,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_07c04e67c7cab1ba5acd0cd207adcc61_5", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_4", - "binder_x_a81196f4caaaa4b43052179035836caa_3", + "@query", "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_4", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_5", + "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -2517,7 +2491,7 @@ "subterm_ordering_Prims.Cons", "unit_inversion", "unit_typing" ], 0, - "979789e150ae48781accab5ddc93f4f3" + "53a9c266cf9481dae8ffd3c6e23c454d" ], [ "FStar.List.Tot.Properties.assoc_memP_none", @@ -2530,9 +2504,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_07c04e67c7cab1ba5acd0cd207adcc61_4", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_a81196f4caaaa4b43052179035836caa_3", + "@query", "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", + "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -2554,7 +2528,7 @@ "subterm_ordering_Prims.Cons", "unit_inversion", "unit_typing" ], 0, - "205884f5378e321313cb911e446ef18f" + "607f340b9531f545e20ff9fb51ce1c26" ], [ "FStar.List.Tot.Properties.assoc_mem", @@ -2580,7 +2554,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "cce4de54403e23c224cfe1cb17d2f714" + "ba38995ee2d6915d4f40413b4133adcd" ], [ "FStar.List.Tot.Properties.fold_left_invar", @@ -2594,9 +2568,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.fold_left.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3bc48e9e0ae71786e958e3e19e27d674", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_ba580f7c865631eaa1be54fb076106ce", - "binder_x_28ca3c84b9bb09c9555517352602fe7b_4", + "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_c5b5bef37265cbbc69929745655ae84f", + "binder_x_826520cae9e0ae3eb514d24fcb1e4a87_4", "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", @@ -2611,7 +2585,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2505aa4d87c9dbf689dc51256f1d2ec6" + "1e051bd1e79f3b3637d779dfddb15cf1" ], [ "FStar.List.Tot.Properties.fold_left_map", @@ -2625,14 +2599,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.fold_left.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3bc48e9e0ae71786e958e3e19e27d674", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_417673fc80acbcf875282345c5f3f2d2", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_cb92e98d379ee57424fc2eaf82d3a99e", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_fbefc9dc6641c1c3ce50f20b94e3eaf1", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_426d7d327d92b182341bea2c5fef8675_8", - "binder_x_458589aececc140a2418c15da73cd3cf_6", - "binder_x_d3cf9b4c5ef07b7c17e70d5c1d0919af_7", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_131723c2ca1c17e17eaef84ca16dbe7f", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_71a1b2429b076fb6a9bacc2501257cdd", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_e2f8b0d3590a261b2d8ea1ea4daaf7f2", + "binder_x_0080b8faaf93b864b9fcbf0fdc06e48a_7", + "binder_x_7bb6342d335725b7763e6d771a672fac_8", + "binder_x_e32eda6d49e8598af696ff27640e279d_6", "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_9", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "binder_x_fe28d8bcde588226b4e538b35321de05_4", @@ -2648,7 +2622,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "475b4b404800ae2788431364c7c68002" + "bd21f84e6f1a7c60de0ca162037a323f" ], [ "FStar.List.Tot.Properties.map_append", @@ -2662,11 +2636,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_029b6cf8f9f8b0206538c448f94db434", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_158ccd3239cde10d7dceed65fcdf976a_4", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", + "binder_x_57af2c0907f883669f14a9b761d251ac_4", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -2683,7 +2657,7 @@ "typing_FStar.List.Tot.Base.append", "typing_FStar.List.Tot.Base.map" ], 0, - "0c8e1e4b7c4e1d134165b8161e7e4716" + "53c1f1f75ce541a6b34a3adda5f756d1" ], [ "FStar.List.Tot.Properties.fold_left_append", @@ -2697,9 +2671,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_left.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3bc48e9e0ae71786e958e3e19e27d674", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_ba580f7c865631eaa1be54fb076106ce", - "binder_x_28ca3c84b9bb09c9555517352602fe7b_4", + "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_c5b5bef37265cbbc69929745655ae84f", + "binder_x_826520cae9e0ae3eb514d24fcb1e4a87_4", "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_6", "binder_x_fe28d8bcde588226b4e538b35321de05_2", @@ -2716,7 +2690,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" ], 0, - "2a2f24bf3181cb97c63a58eb0345d7b7" + "d3854474d20f0fe2cf1f0f70ac5cb35a" ], [ "FStar.List.Tot.Properties.fold_left_monoid", @@ -2728,10 +2702,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.fold_left.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.fold_left.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3bc48e9e0ae71786e958e3e19e27d674", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_d554251ca0770241607685aff7c250ab", + "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_15bd9d51b72e7e261567731af013ae50", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_324ad395168b8c5d3c3e5e020e4fd5d6_2", + "binder_x_684da0610ad7770b232efe4229d31e3f_2", "binder_x_e09860b75d8922ab497a3e5bc9347578_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -2745,7 +2719,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.fold_left" ], 0, - "72e1f2d064317f241a66a905ff954762" + "2c04e65a6fbc7a3904b779b61f963243" ], [ "FStar.List.Tot.Properties.fold_left_append_monoid", @@ -2756,12 +2730,12 @@ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.fold_left.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3bc48e9e0ae71786e958e3e19e27d674", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", + "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", "typing_FStar.List.Tot.Base.fold_left" ], 0, - "3c47e5ddc0aeb8070ad21a1b95f7139e" + "f868c266f9a2cbf0f4ddec20431c78bd" ], [ "FStar.List.Tot.Properties.index_extensionality_aux", @@ -2770,12 +2744,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "refinement_interpretation_Tm_refine_e70d8689a3c220acb5776c2c28f84984", - "unit_typing" + "refinement_interpretation_Tm_refine_3cf3f37474ba26d6b1bb1b3a555a65bd" ], 0, - "abfe2692c15254365e4f1c3751a41b44" + "ce15a86160020b092fba6555f8e4c316" ], [ "FStar.List.Tot.Properties.index_extensionality_aux", @@ -2789,10 +2761,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_d57994126edea690e37b5490391a7f25_4", + "binder_x_e1ccda5c4406e3fc5ce7710060d67482_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", @@ -2813,18 +2784,17 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_18739ff97d374fc41d9141d9112a979e", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_b0dec681e90f3e7877c26fb291758fc9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cfb30e0d2b3c4523f7fbdf22a0ecb9e2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5d37cf097513b91237ad10cb9a2c01f8", + "refinement_interpretation_Tm_refine_8c7243ad5844cc4eeb543fcfb628eec4", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", + "refinement_interpretation_Tm_refine_c538c923cf680c1084f5c36709fac742", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "unit_typing" + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "0ad06be6413e6b0d693ebb439390f1df" + "1e7fa47e8df8976c34c1f1024b00e362" ], [ "FStar.List.Tot.Properties.index_extensionality", @@ -2832,11 +2802,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0" ], 0, - "cc30e6045286c7e9d8c1cf1324187d07" + "6f05802d3806099c6c8cdf692564e83d" ], [ "FStar.List.Tot.Properties.strict_prefix_of_nil", @@ -2862,7 +2832,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "bddecd10e7a924c18ebb88c37b33cb04" + "493f6025746dd101e42b039ff6c40474" ], [ "FStar.List.Tot.Properties.strict_prefix_of_or_eq_nil", @@ -2874,7 +2844,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "83ab37da09badaffc34c5b18b01b9947" + "a57eb4aefbfd268c62c2d7387cca9acf" ], [ "FStar.List.Tot.Properties.strict_prefix_of_cons", @@ -2892,7 +2862,7 @@ "projection_inverse_Prims.Cons_tl" ], 0, - "426d8c622ea2d9e4cc6c826c6e58fbcf" + "71a08a5564fbe1a556234e70edc1c2be" ], [ "FStar.List.Tot.Properties.strict_prefix_of_trans", @@ -2918,7 +2888,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "9c807922ed0217403427f483e3241fca" + "e285b8712935e4e56ff0e07199322464" ], [ "FStar.List.Tot.Properties.strict_prefix_of_correct", @@ -2943,7 +2913,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "5cd776b1956ac451cbeeb212af5253ba" + "f50750e3fb94931be6b24f2c1285fa80" ], [ "FStar.List.Tot.Properties.map_strict_prefix_of", @@ -2957,11 +2927,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.strict_prefix_of.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_029b6cf8f9f8b0206538c448f94db434", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_158ccd3239cde10d7dceed65fcdf976a_4", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", + "binder_x_57af2c0907f883669f14a9b761d251ac_4", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -2976,7 +2946,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" ], 0, - "2362d7a9951d40e7ea8d95308a89aa14" + "83b13fde88b99a0f2aa7ee264e8a665f" ], [ "FStar.List.Tot.Properties.mem_strict_prefix_of", @@ -2989,10 +2959,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.strict_prefix_of.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.strict_prefix_of.fuel_instrumented", - "@query", "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_3", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", "bool_inversion", + "@query", "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_3", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", @@ -3006,7 +2976,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" ], 0, - "50b2f42c86fcdda05341f0e2aa9a7eba" + "5e645d28d82a9f3862a062515f58b27e" ], [ "FStar.List.Tot.Properties.strict_prefix_of_exists_append", @@ -3019,8 +2989,7 @@ "@fuel_correspondence_FStar.List.Tot.Base.strict_prefix_of.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.strict_prefix_of.fuel_instrumented", - "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -3032,16 +3001,16 @@ "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.strict_prefix_of.fuel_instrumented", "false_interp", "fuel_guarded_inversion_Prims.list", "l_or-interp", - "l_quant_interp_bb5de5b9664fd7afb4e8bc3b7e17991e", + "l_quant_interp_87ad90b7762891dc21fafef3d89b3327", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_2c5a239b01ac0e0771181f77b5bb46d5", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "subterm_ordering_Prims.Cons", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "subterm_ordering_Prims.Cons" ], 0, - "bcfcb17f76efea18f6ba77b4ffefc8de" + "80bc1fe4641d6a7684049438b7307fd6" ], [ "FStar.List.Tot.Properties.strict_prefix_of_or_eq_exists_append", @@ -3051,16 +3020,15 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", + "@query", "constructor_distinct_Prims.Nil", + "data_typing_intro_Prims.Nil@tok", "eq2-interp", + "equation_Prims.eq2", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "10b0de85fe3853267ff97db60562aab0" + "2ab89ce44a20bb8f806d29f62dc8c282" ], [ "FStar.List.Tot.Properties.precedes_tl", @@ -3076,7 +3044,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "61cea99cb89560e14bfaea72fe10c2c7" + "6d7b6eed75b32811682fbac4f2ed4fa9" ], [ "FStar.List.Tot.Properties.precedes_append_cons_r", @@ -3102,7 +3070,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" ], 0, - "22ab9ac3dc5685a304fb60961a43363f" + "1d2a0a80f560e02d71549002211b8892" ], [ "FStar.List.Tot.Properties.precedes_append_cons_prod_r", @@ -3115,7 +3083,7 @@ "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "cdceb871d1567e83fd50bbab3a57dc28" + "1909fa877a38edb49bae8241df6cb578" ], [ "FStar.List.Tot.Properties.memP_precedes", @@ -3126,8 +3094,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_e09860b75d8922ab497a3e5bc9347578_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -3139,11 +3106,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "subterm_ordering_Prims.Cons", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "subterm_ordering_Prims.Cons" ], 0, - "53678b15fd087ee06f4a3d1632365944" + "caf57a52227147270fd4b3c3a56da0ab" ], [ "FStar.List.Tot.Properties.assoc_precedes", @@ -3163,7 +3130,7 @@ "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "3f5ce81c7ef6ff4434aa2e66ac816bbb" + "f86723aaa1205838d798fa8fbbb20043" ], [ "FStar.List.Tot.Properties.find_none", @@ -3177,15 +3144,13 @@ "@fuel_irrelevance_FStar.List.Tot.Base.find.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.List.Tot.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", "equation_Prims.l_not", "equation_Prims.squash", @@ -3194,11 +3159,11 @@ "false_interp", "fuel_guarded_inversion_Prims.list", "l_not-interp", "l_or-interp", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "subterm_ordering_Prims.Cons", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "subterm_ordering_Prims.Cons" ], 0, - "bf52e6924093a2d18a9b6ce1b0b57d46" + "17e5edb1f8e7a7d8bdd89715644f8400" ], [ "FStar.List.Tot.Properties.append_init_last", @@ -3207,7 +3172,7 @@ 1, [ "@query" ], 0, - "3103d8f66a491d5eee9651ecf189cb0f" + "8f6b01a211f5d16ae7893efd01fe02c9" ], [ "FStar.List.Tot.Properties.append_init_last", @@ -3241,7 +3206,7 @@ "typing_FStar.List.Tot.Base.last" ], 0, - "9661b7b0832897db8bc45aa25e9f8ccc" + "0f88f8be9ac5bbefecd74086ac9e1fd8" ], [ "FStar.List.Tot.Properties.init_last_def", @@ -3264,7 +3229,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "e70613a6cf3c39421c6f4f3bbbd6b4d5" + "c2117549eb3b77c3844a3dfa6c25bc83" ], [ "FStar.List.Tot.Properties.init_last_def", @@ -3298,7 +3263,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" ], 0, - "57401a226ae1713d6280d63a17282e09" + "de65a7d858af6a5e0b3a820a14bc2194" ], [ "FStar.List.Tot.Properties.init_last_inj", @@ -3307,7 +3272,7 @@ 1, [ "@query" ], 0, - "eb09c8a6535424a16eac0567903093da" + "c6c1f6b0ae5d151e71777d602628af25" ], [ "FStar.List.Tot.Properties.llist", @@ -3317,11 +3282,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f89b03c7375b130cd0ab51088e8497a1" + "ec90970b6697ede2b2b47cb7951d8a26" ], [ "FStar.List.Tot.Properties.rev_length", @@ -3331,11 +3296,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5e1aab81d2158fd2dfa68730440028c1" + "f1ae2eb5eef3081a202cba066986ee18" ], [ "FStar.List.Tot.Properties.lemma_append_last", @@ -3357,10 +3322,10 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8aa303b3841a2ed92a88ce1693da8114" + "11b671cdb53ddb422df379935e879bbd" ], [ "FStar.List.Tot.Properties.rev'", @@ -3374,7 +3339,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "be5222c06d2a493917d0ab8ccbfc3fda" + "cf6fb839713d2347b9c2702d903f3548" ], [ "FStar.List.Tot.Properties.map_lemma", @@ -3384,11 +3349,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "76db54957c7492914726d800fb5cf951" + "a7b040f326a9ae187f21f0489ea9c82d" ], [ "FStar.List.Tot.Properties.lemma_snoc_unsnoc", @@ -3400,8 +3365,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", @@ -3409,16 +3374,15 @@ "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.snoc" ], 0, - "ef6c9aec928c0e02c1514db098f7c3ba" + "3ae4df66c227007ac9006e8af484d7b1" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_append", @@ -3429,21 +3393,19 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.List.Tot.Base.op_At", + "@query", "b2t_def", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.List.Tot.Properties.append_length", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "50c4de22038cb652f06e71b0c9e5390e" + "a285acf29577fd58645d601a95bf4b0a" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_is_last", @@ -3461,12 +3423,12 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "8ae5d01fc9a17e232e493bec0d1af15f" + "37c7c099593e923b3b2bbef21b91a717" ], [ "FStar.List.Tot.Properties.lemma_unsnoc_index", @@ -3480,10 +3442,10 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e13e1e7bb638415e4a75476b1bf76713" + "66e3cc39b2a5e2627def9c104658e757" ], [ "FStar.List.Tot.Properties.split_using", @@ -3503,12 +3465,12 @@ "false_interp", "fuel_guarded_inversion_Prims.list", "l_or-interp", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_045dd91118d5fc24fa50a6bb08566bce", "refinement_interpretation_Tm_refine_57e38f067bd84fa5ec35560b4612c50c", + "refinement_interpretation_Tm_refine_a5213da79b3d9a8df6b57fc3b99f831c", "subterm_ordering_Prims.Cons" ], 0, - "8b2ca7ba994174550a647016d7901d70" + "57d63b995a778abb25fab47a1d8a02b7" ], [ "FStar.List.Tot.Properties.lemma_split_using", @@ -3522,11 +3484,11 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "int_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "9f14ca43ff47e79f90943181f38da826" + "efed2de9f18875cc23309a55b07481ec" ], [ "FStar.List.Tot.Properties.index_of", @@ -3542,10 +3504,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_00ef1e2db90d63324103d5fc8b6fe893_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_typing", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "eq2-interp", "equation_FStar.List.Tot.Base.hd", @@ -3564,18 +3525,18 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_045dd91118d5fc24fa50a6bb08566bce", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_57e38f067bd84fa5ec35560b4612c50c", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bace12f95c296e7666f76d391119f146", + "refinement_interpretation_Tm_refine_a5213da79b3d9a8df6b57fc3b99f831c", + "refinement_interpretation_Tm_refine_bf1803228cdb6523a3669501325e4a79", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_Prims.__proj__Cons__item__tl" ], 0, - "5edbd01aa08e7433057087d4f481ffd6" + "6c0d0f78325ee58284d890259f182d72" ], [ "FStar.List.Tot.Properties.sortWith_permutation", @@ -3585,11 +3546,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f0fa5adcc768e63ef47116b56d0a63e3" + "f2eb91b109e9b41fa2792e5254040e1d" ], [ "FStar.List.Tot.Properties.sorted", @@ -3607,7 +3568,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "f5010099e5e2fbddf3e5b2309066ac9d" + "0baffe158c55dedffde02069eeb973d7" ], [ "FStar.List.Tot.Properties.index_extensionality_aux", @@ -3616,10 +3577,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e70d8689a3c220acb5776c2c28f84984" + "refinement_interpretation_Tm_refine_3cf3f37474ba26d6b1bb1b3a555a65bd" ], 0, - "016ea58ba33042a5c7448c0b93f68388" + "0d977cee6c3529d92104cfd5ac592f56" ], [ "FStar.List.Tot.Properties.index_extensionality", @@ -3628,7 +3589,7 @@ 1, [ "@query" ], 0, - "797bb885506c65a7f657b1191b23f0d3" + "b6fc9eff2c2cc1edad5b1d7703ff82d9" ], [ "FStar.List.Tot.Properties.init_last_def", @@ -3650,7 +3611,7 @@ "typing_FStar.List.Tot.Base.append" ], 0, - "7e179a03c8166e23f951fe92d71afaa3" + "ad29f2f413d2363bbe4b44c0a5fe5b64" ], [ "FStar.List.Tot.Properties.init_last_inj", @@ -3659,7 +3620,7 @@ 1, [ "@query" ], 0, - "16bd6e3d7925e4f1ed0d1700a59f4c96" + "cef15948280ea11d18e046aba02821d2" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.List.fst.hints b/ulib/FStar.List.fst.hints index cd67d88e62d..c8c46e67ab8 100644 --- a/ulib/FStar.List.fst.hints +++ b/ulib/FStar.List.fst.hints @@ -11,7 +11,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "3dfe0a5914e71d214eca3ab7b69e58bc" + "28016f55bc92034a677e5822e2e314df" ], [ "FStar.List.iter", @@ -23,7 +23,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "4da58cdecf83beebe12f3c13776efa1f" + "8b5dbd7ca1deb50904ddae2fb0a398ef" ], [ "FStar.List.iteri_aux", @@ -35,7 +35,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "743925d2dae3a1a96f698a4b101b11bd" + "bd0556e0fd24cee71e0a6988b5ef1c3c" ], [ "FStar.List.map", @@ -47,7 +47,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "5e0a6d1ae00db6980c96f0100ebf253b" + "0afb4562c40b45de15b6eee9e1a4eefe" ], [ "FStar.List.mapi_init", @@ -59,7 +59,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "344d124d76658a59125020b07dc5c353" + "b78942b790e3d47ddb51d7c753163447" ], [ "FStar.List.concatMap", @@ -71,7 +71,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "1d34539dfd7448875f3f51036a2ce489" + "7edc46057de17829b9da690510de228c" ], [ "FStar.List.fold_left", @@ -83,7 +83,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "c62643eabb50abee8c160c4a60dd0679" + "2882754d13fb2c61787c09ced68a9771" ], [ "FStar.List.fold_right", @@ -95,7 +95,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "2822afa4014f5f30d934f86255d62064" + "17794c1808e6989d6c3251ac2193566c" ], [ "FStar.List.filter", @@ -107,7 +107,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "86a9d129cc7a04b02e5c1e3c477cccca" + "9015ca414d3724596f67d82d1bb2b419" ], [ "FStar.List.for_all", @@ -119,7 +119,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "9213327db6beb3449c2b40fa3283fb3e" + "7550f3879599399959ec4046bcc6eb24" ], [ "FStar.List.collect", @@ -131,7 +131,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "91de104ca02c2cf2f85fbf852bee0be4" + "19fdf1a1b705e72ce86a68c3d3d8d003" ], [ "FStar.List.tryFind", @@ -143,7 +143,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "a7a145f85dae076d474ba122b235a3b3" + "a696f3f216657ace920550dc2cbb47d5" ], [ "FStar.List.tryPick", @@ -161,7 +161,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "7452b04d52afd66ec1ae172b69248ae3" + "dd6f91eb9dbc595b0e001184e6aed0e2" ], [ "FStar.List.choose", @@ -179,7 +179,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "b596d40408e02262e1ba14b5f48f07f9" + "d5927e8e8e9a305a54af0524f1aeab9f" ], [ "FStar.List.partition", @@ -191,7 +191,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "bf58053a6f0e89e456de26c581ae8a5f" + "9ba0dca6a3188caebf5f459ad3207411" ], [ "FStar.List.sortWith", @@ -203,7 +203,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "9860c7a87bed30f6c211468ad47a9261" + "6425cae53e82db76edf7ce7a4dcc0a4f" ], [ "FStar.List.splitAt", @@ -216,10 +216,10 @@ "fuel_guarded_inversion_Prims.list", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1baa0698726fa000420be39898593ea6" + "4deb8331759d4bdd74ba96fecd03290b" ], [ "FStar.List.filter_map", @@ -237,7 +237,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "2612cbe7734fa0210338ab4f6a43b7fa" + "0e2a6b508062ef2e2a5e4d1dfee233b6" ], [ "FStar.List.index", @@ -249,7 +249,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "b5e944f2241e5c5f74e43ea231ce5bee" + "e378d7cd31da191a61530c0c964568b6" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.MRef.fst.hints b/ulib/FStar.MRef.fst.hints index 386857c0a70..d4ace877b51 100644 --- a/ulib/FStar.MRef.fst.hints +++ b/ulib/FStar.MRef.fst.hints @@ -11,7 +11,7 @@ "equation_FStar.MRef.stable", "equation_FStar.Preorder.stable", "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", "equation_FStar.ST.stable", - "refinement_interpretation_Tm_refine_2682723111b4ff705043edcc8a268ced", + "refinement_interpretation_Tm_refine_44fe27499427c72cb2cce88758638c55", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_FStar.MRef.p_pred", "token_correspondence_FStar.MRef.stable", @@ -19,7 +19,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "3c5f4584d2b1a18d5bbeafcf9a83a852" + "f52228f164a10508d86badcc7e8c40ba" ], [ "FStar.MRef.witness_token", @@ -32,9 +32,9 @@ "equation_FStar.Preorder.stable", "equation_FStar.ST.contains_pred", "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", "equation_FStar.ST.stable", - "refinement_interpretation_Tm_refine_2682723111b4ff705043edcc8a268ced", + "refinement_interpretation_Tm_refine_44fe27499427c72cb2cce88758638c55", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_eec85113147ac69743351537161554f2", + "refinement_interpretation_Tm_refine_f8fe0499ac41c0c1d752c3b8f1d0dbbd", "token_correspondence_FStar.MRef.p_pred", "token_correspondence_FStar.MRef.stable", "token_correspondence_FStar.Preorder.stable", @@ -42,7 +42,7 @@ "typing_FStar.Monotonic.Heap.sel", "unit_typing" ], 0, - "958077b6074def3f48e51c0dd1506abc" + "2affb66f656b3d3de6bd4b44fa26f291" ], [ "FStar.MRef.recall_token", @@ -54,8 +54,8 @@ "equation_FStar.MRef.stable", "equation_FStar.MRef.token", "equation_FStar.Preorder.stable", "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", "equation_FStar.ST.stable", - "refinement_interpretation_Tm_refine_2682723111b4ff705043edcc8a268ced", - "refinement_interpretation_Tm_refine_29896cf9c1a3c45a370038b2a8c508b8", + "refinement_interpretation_Tm_refine_44fe27499427c72cb2cce88758638c55", + "refinement_interpretation_Tm_refine_5f2f773a4d299619974b5bc724f28260", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_FStar.MRef.p_pred", "token_correspondence_FStar.MRef.stable", @@ -63,7 +63,7 @@ "typing_FStar.Monotonic.Heap.sel", "unit_typing" ], 0, - "bb4ad05d9fde7c64e6b2e321b37191c7" + "355f2dbe3824fcda8e33f01b303e768b" ], [ "FStar.MRef.lemma_functoriality", @@ -77,14 +77,14 @@ "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", "equation_FStar.ST.stable", "function_token_typing_FStar.Preorder.stable", - "refinement_interpretation_Tm_refine_622e5d71d43c090771b195939447feeb", + "refinement_interpretation_Tm_refine_db2289e2f27e1e1fb8c92bdbb90863d4", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_FStar.MRef.p_pred", "token_correspondence_FStar.MRef.stable", "typing_FStar.Monotonic.Heap.sel" ], 0, - "ca913cbfe92fa2dc5f8f89bf6093aefa" + "cf01c716a931f88ad6827d8fcdbfe39c" ], [ "FStar.MRef.recall", @@ -93,12 +93,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0840f4886e91ea925aa2b7c190b8b6c1", - "refinement_interpretation_Tm_refine_3d89cb02b68811757ba0c09d6e6b5974", + "refinement_interpretation_Tm_refine_1c1b91cd01863431a596495620f49918", + "refinement_interpretation_Tm_refine_c2f42e9a3f2bec3324f8f24cd373d5e0", "unit_typing" ], 0, - "7e1299c137546d6defd1ccc291cd9c3a" + "9f98d0f31d240b308476ec3e565d2de6" ], [ "FStar.MRef.witness", @@ -107,12 +107,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0840f4886e91ea925aa2b7c190b8b6c1", - "refinement_interpretation_Tm_refine_557d46919d3626ac17d05f14a46b11ea", + "refinement_interpretation_Tm_refine_bdbb66237acf10f9d702cf5833c518a6", + "refinement_interpretation_Tm_refine_c2f42e9a3f2bec3324f8f24cd373d5e0", "unit_typing" ], 0, - "17f5d18ac1a83bc8f616e2f513401400" + "895fff9a22e7dac11d5eaa3aebed4be5" ], [ "FStar.MRef.lemma_functoriality", @@ -127,7 +127,7 @@ "token_correspondence_FStar.MRef.stable" ], 0, - "a6cbe1892c4a0fad2f8b9ef6c7d418b0" + "7fe3051c8da4bcb04c3d140e92bd5a03" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Map.fst.hints b/ulib/FStar.Map.fst.hints index 031d705a5c2..c77c2b532d4 100644 --- a/ulib/FStar.Map.fst.hints +++ b/ulib/FStar.Map.fst.hints @@ -8,25 +8,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Map.sel", "equation_FStar.Map.upd", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Map.t", - "interpretation_Tm_abs_3d345009cfc639e263482d2a4e50352f", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", + "interpretation_Tm_abs_f204de043dfa9a2864fb0954c8f99fa1", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.Map.Mkt_mappings", "projection_inverse_FStar.Map.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_3d345009cfc639e263482d2a4e50352f", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_134069e179ddf4705519081c391c4e10", + "typing_Tm_abs_f204de043dfa9a2864fb0954c8f99fa1" ], 0, - "0917cb5a774f6b7db3157c6b29fc00ef" + "f82813b2efa44c259b6c480a7d5257db" ], [ "FStar.Map.lemma_SelUpd2", @@ -35,14 +34,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Map.sel", "equation_FStar.Map.upd", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Map.t", - "interpretation_Tm_abs_3d345009cfc639e263482d2a4e50352f", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", + "interpretation_Tm_abs_f204de043dfa9a2864fb0954c8f99fa1", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.Map.Mkt_mappings", @@ -50,11 +48,11 @@ "projection_inverse_FStar.Map.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_3d345009cfc639e263482d2a4e50352f", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_134069e179ddf4705519081c391c4e10", + "typing_Tm_abs_f204de043dfa9a2864fb0954c8f99fa1" ], 0, - "95f125b2f2bdb312e532f7337823eb80" + "cce95ee76255659dcc4c371693fc8753" ], [ "FStar.Map.lemma_SelConst", @@ -63,24 +61,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Map.const", "equation_FStar.Map.sel", "equation_Prims.eqtype", - "interpretation_Tm_abs_065a0b6ca0215aa34971e45fd5239f9e", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", + "interpretation_Tm_abs_2bbbf501a8d3e7a47b3c23d5dc392001", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.Map.Mkt_mappings", "projection_inverse_FStar.Map.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_065a0b6ca0215aa34971e45fd5239f9e", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_134069e179ddf4705519081c391c4e10", + "typing_Tm_abs_2bbbf501a8d3e7a47b3c23d5dc392001" ], 0, - "1b672176912b24081829ce17fb87de3e" + "636c3478a1e7381452f22d5039d06c37" ], [ "FStar.Map.lemma_SelRestrict", @@ -95,7 +92,7 @@ "token_correspondence_FStar.Map.__proj__Mkt__item__mappings" ], 0, - "d3f71dc199f3f25bbab7b1dbefa4fb3d" + "017155f25ed1958c303d252bfeff3630" ], [ "FStar.Map.lemma_SelConcat1", @@ -104,26 +101,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "bool_inversion", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Map.concat", "equation_FStar.Map.contains", "equation_FStar.Map.sel", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Map.t", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_b8fa634fd6a24a459958101b17e743be", + "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", + "interpretation_Tm_abs_45d9dc5131c7f8a8469040793ab2c98c", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.Map.Mkt_mappings", "projection_inverse_FStar.Map.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", "typing_FStar.Map.contains", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_b8fa634fd6a24a459958101b17e743be" + "typing_Tm_abs_134069e179ddf4705519081c391c4e10", + "typing_Tm_abs_45d9dc5131c7f8a8469040793ab2c98c" ], 0, - "91dd0745a66b906ac61ba7c7f03e5764" + "1d61b6e52be026e60acf5be62279e4e6" ], [ "FStar.Map.lemma_SelConcat2", @@ -132,26 +128,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Map.concat", "equation_FStar.Map.contains", "equation_FStar.Map.sel", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Map.t", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_b8fa634fd6a24a459958101b17e743be", + "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", + "interpretation_Tm_abs_45d9dc5131c7f8a8469040793ab2c98c", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.Map.Mkt_mappings", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Map.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_b8fa634fd6a24a459958101b17e743be" + "typing_Tm_abs_134069e179ddf4705519081c391c4e10", + "typing_Tm_abs_45d9dc5131c7f8a8469040793ab2c98c" ], 0, - "63cf1289efc66216775aebb15c469082" + "59c19c332a2a4d5ef09c7933b552a8e0" ], [ "FStar.Map.lemma_SelMapVal", @@ -160,23 +155,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.Map.map_val", "equation_FStar.Map.sel", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Map.t", - "interpretation_Tm_abs_1a7cc0fa967caf6e9a835ee34ba3829f", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", + "interpretation_Tm_abs_4eb3b570a1f2a7490cd12772f646a71b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.Map.Mkt_mappings", "projection_inverse_FStar.Map.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_1a7cc0fa967caf6e9a835ee34ba3829f", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_134069e179ddf4705519081c391c4e10", + "typing_Tm_abs_4eb3b570a1f2a7490cd12772f646a71b" ], 0, - "01e471a62433635ed123104ebac82d5f" + "ba06cf0092fe06067084a2c5bc7fe085" ], [ "FStar.Map.lemma_InDomUpd1", @@ -195,7 +190,7 @@ "typing_FStar.Map.contains", "typing_FStar.Set.singleton" ], 0, - "219ec5bd6bce24b0b3d77d1dbd59995f" + "871c9372b7eb2a0784d7cf7745d31d00" ], [ "FStar.Map.lemma_InDomUpd2", @@ -210,7 +205,7 @@ "typing_FStar.Map.contains" ], 0, - "e74df329da56d409c3e20a68b8ebc6fb" + "2e5d833b05b764f96674326783530528" ], [ "FStar.Map.lemma_InDomConstMap", @@ -225,7 +220,7 @@ "projection_inverse_FStar.Map.Mkt_domain", "typing_FStar.Set.empty" ], 0, - "2726ba6855434317d61a243bf9b9edf4" + "be0fa8c757e17c7a385b9cc67c461a66" ], [ "FStar.Map.lemma_InDomConcat", @@ -240,7 +235,7 @@ "typing_FStar.Map.__proj__Mkt__item__domain" ], 0, - "d092c4e869043c8c126ddaa72181433e" + "e3815f7af10f0030e9c13051427a86a2" ], [ "FStar.Map.lemma_InMapVal", @@ -254,7 +249,7 @@ "projection_inverse_FStar.Map.Mkt_domain" ], 0, - "ca3386eb51370e056a68d7849f326103" + "a049772c60d9d80666d79c8e596dbe75" ], [ "FStar.Map.lemma_InDomRestrict", @@ -270,7 +265,7 @@ "typing_FStar.Map.__proj__Mkt__item__domain" ], 0, - "73223b54a90e48abc32339ad3fc81b25" + "f523236489981e83900093f7543826d1" ], [ "FStar.Map.lemma_ContainsDom", @@ -281,7 +276,7 @@ "@query", "equation_FStar.Map.contains", "equation_FStar.Map.domain" ], 0, - "ef5b4be15171a0d1ef29ea3b40832605" + "7843cb90b14ffaf936972bcd5409a36b" ], [ "FStar.Map.lemma_UpdDomain", @@ -298,7 +293,7 @@ "typing_FStar.Set.union" ], 0, - "c0c76a1a1d6a7bbd4ed21371ede92944" + "0a695ca30ea9ace1bd7923b2e10c95b9" ], [ "FStar.Map.equal", @@ -306,16 +301,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_and", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "baae979c7ac13f06939b613f70636695" + "951107932d4678b83d2a486cd28cd2f5" ], [ "FStar.Map.lemma_equal_intro", @@ -332,7 +324,7 @@ "typing_FStar.Map.__proj__Mkt__item__domain" ], 0, - "31f9f83c1177177ee33dc5af17e21ba0" + "d84d9e367794011cedf8ac64cede551b" ], [ "FStar.Map.lemma_equal_elim", @@ -351,13 +343,13 @@ "proj_equation_FStar.Map.Mkt_domain", "proj_equation_FStar.Map.Mkt_mappings", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "typing_FStar.Map.__proj__Mkt__item__domain", "typing_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_134069e179ddf4705519081c391c4e10" ], 0, - "d432e86cc62aca0fb0058e0ecb2482ac" + "81434eb68aefde1816943b8955e2153b" ], [ "FStar.Map.lemma_equal_refl", @@ -366,7 +358,7 @@ 1, [ "@query", "lemma_FStar.Map.lemma_equal_elim" ], 0, - "61159d575a2b6b2bdc976c56cf1ea9f5" + "fb15cd0ee9af8e8bb277a113460416dd" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Math.Lemmas.fst b/ulib/FStar.Math.Lemmas.fst index ace98dff3ea..764ad20901c 100644 --- a/ulib/FStar.Math.Lemmas.fst +++ b/ulib/FStar.Math.Lemmas.fst @@ -30,7 +30,7 @@ val lemma_eucl_div_bound: a:nat -> b:nat -> q:pos -> Lemma (ensures (a + q * b < q * (b+1))) let lemma_eucl_div_bound a b q = () -val lemma_mult_le_left: a:pos -> b:pos -> c:pos -> Lemma +val lemma_mult_le_left: a:nat -> b:int -> c:int -> Lemma (requires (b <= c)) (ensures (a * b <= a * c)) let lemma_mult_le_left a b c = () @@ -302,7 +302,7 @@ let add_div_mod_1 (a:int) (n:pos) : Lemma ((a + n) % n == a % n /\ (a + n) / n = lt_multiple_is_equal ((a + n) % n) (a % n) (a / n + 1 - (a + n) / n) n; () - +#push-options "--z3rlimit 20" let sub_div_mod_1 (a:int) (n:pos) : Lemma ((a - n) % n == a % n /\ (a - n) / n == a / n - 1) = lemma_div_mod a n; lemma_div_mod (a - n) n; @@ -312,6 +312,7 @@ let sub_div_mod_1 (a:int) (n:pos) : Lemma ((a - n) % n == a % n /\ (a - n) / n = // ((a - n) % n) == a % n + (a / n - 1 - (a - n) / n) * n lt_multiple_is_equal ((a - n) % n) (a % n) (a / n - 1 - (a - n) / n) n; () +#pop-options #reset-options "--initial_fuel 0 --max_fuel 0 --z3cliopt smt.arith.nl=true --smtencoding.elim_box true --smtencoding.l_arith_repr native --smtencoding.nl_arith_repr native --z3rlimit 30" @@ -352,11 +353,12 @@ let cancel_mul_mod (a:int) (n:pos) = small_mod 0 n; lemma_mod_plus 0 a n - +#push-options "--z3rlimit 20" val mod_add_both (a:int) (b:int) (x:int) (n:pos) : Lemma (requires a % n == b % n) (ensures (a + x) % n == (b + x) % n) let mod_add_both (a:int) (b:int) (x:int) (n:pos) = + assert (a % n == b % n); lemma_div_mod a n; lemma_div_mod b n; lemma_div_mod (a + x) n; @@ -372,7 +374,7 @@ let mod_add_both (a:int) (b:int) (x:int) (n:pos) = distributivity_sub_right n (b/n) (a/n); assert ((a + x) % n - (b + x) % n == 0); () - +#pop-options val lemma_mod_add_distr (a:int) (b:int) (n:pos) : Lemma ((a + b % n) % n = (a + b) % n) let lemma_mod_add_distr (a:int) (b:int) (n:pos) = @@ -391,7 +393,12 @@ let lemma_mod_sub_distr (a:int) (b:int) (n:pos) = val lemma_mod_sub_0: a:pos -> Lemma ((-1) % a = a - 1) let lemma_mod_sub_0 a = () val lemma_mod_sub_1: a:pos -> b:pos{a < b} -> Lemma ((-a) % b = b - (a%b)) -let lemma_mod_sub_1 a b = () +#push-options "--z3rlimit 500 --max_fuel 0 --max_ifuel 0" +let lemma_mod_sub_1 a b = + small_mod a b; + assert ((a%b) == a); + assert ((-a)%b == b - a) +#pop-options //NS: not sure why this requires 4 unfoldings // it fails initially, and then succeeds on a retry with less fuel; strange @@ -432,8 +439,14 @@ let rec lemma_mod_mul_distr_l (a:int) (b:int) (n:pos) = mod_add_both (a * b + a) ((a % n) * b + a) (-a) n ) +#push-options "--z3rlimit 10" + val lemma_mod_mul_distr_r (a:int) (b:int) (n:pos) : Lemma ((a * b) % n = (a * (b % n)) % n) -let lemma_mod_mul_distr_r (a:int) (b:int) (n:pos) = lemma_mod_mul_distr_l b a n +let lemma_mod_mul_distr_r (a:int) (b:int) (n:pos) = + assert (a * (b % n) == (b % n) * a); + lemma_mod_mul_distr_l b a n + +#pop-options val lemma_mod_injective: p:pos -> a:nat -> b:nat -> Lemma (requires (a < p /\ b < p /\ a % p = b % p)) @@ -695,14 +708,14 @@ let division_multiplication_lemma (a:int) (b:pos) (c:pos) = let lemma_mul_pos_pos_is_pos (x:pos) (y:pos) : Lemma (x*y > 0) = () let lemma_mul_nat_pos_is_nat (x:nat) (y:pos) : Lemma (x*y >= 0) = () -#set-options "--z3rlimit 50" - +#push-options "--z3rlimit 400" let modulo_division_lemma_0 (a:nat) (b:pos) (c:pos) : Lemma (a / (b*c) <= a /\ (a - (a / (b * c)) * (b * c)) / b = a / b - ((a / (b * c)) * c)) = slash_decr_axiom a (b*c); cut ( (a / (b*c)) * (b * c) = ((a / (b * c)) * c) * b); lemma_div_mod a (b*c); division_sub_lemma a b ((a / (b*c)) * c) +#pop-options val modulo_division_lemma: a:nat -> b:pos -> c:pos -> Lemma ( (a % (b * c)) / b = (a / b) % c ) @@ -758,9 +771,13 @@ let pow2_multiplication_modulo_lemma_1 a b c = paren_mul_left a (pow2 (c - b)) (pow2 b); multiple_modulo_lemma (a * pow2 (c - b)) (pow2 b) -#set-options "--z3rlimit 350" val pow2_multiplication_modulo_lemma_2: a:nat -> b:nat -> c:nat{c <= b} -> Lemma ( (a * pow2 c) % pow2 b = (a % pow2 (b - c)) * pow2 c ) + +// GM, 2019-06-25: Not sure why validity makes a difference here, it's probably +// just noise. +#push-options "--z3rlimit 500 --smtencoding.valid_intro true --smtencoding.valid_elim true" + let pow2_multiplication_modulo_lemma_2 a b c = euclidean_division_definition a (pow2 (b - c)); let q = pow2 (b - c) in @@ -774,7 +791,7 @@ let pow2_multiplication_modulo_lemma_2 a b c = multiplication_order_lemma (pow2 (b - c)) (a % pow2 (b - c)) (pow2 c); small_modulo_lemma_1 ((a % pow2 (b - c)) * pow2 c) (pow2 b) -#set-options "--z3rlimit 5" +#pop-options val pow2_modulo_division_lemma_1: a:nat -> b:nat -> c:nat{c >= b} -> Lemma ( (a % pow2 c) / pow2 b = (a / pow2 b) % (pow2 (c - b)) ) @@ -815,35 +832,7 @@ val modulo_sub : p:pos -> a:int -> b:int -> c:int -> Lemma (ensures (b % p = c % p)) let modulo_sub p a b c = - modulo_distributivity a b p; - modulo_distributivity a c p; - // have : (a % p + b % p) % p = (a % p + c % p) % p - assert ((a % p + b % p) % p = (a % p + c % p) % p); - euclidean_division_definition a p; - let q = a / p in - let r = a % p in - assert ((r + b % p) % p = (r + c % p) % p); - if r = 0 then ( - lemma_mod_twice b p; - lemma_mod_twice c p - ) else ( - assert (r > 0); - lemma_mod_twice a p; - - lemma_mod_sub_1 r p; // gives ((-r) % p) = p - (r % p) - // ; and so r = r % p = p - ((-r) % p) = p - h - - let h = (-r) % p in - - // add h to both sides, that is (p-r) - modulo_add p h (r + b % p) (r + c % p); - - // cancel the extra p - lemma_mod_plus (b % p) 1 p; - lemma_mod_plus (c % p) 1 p; - lemma_mod_twice b p; - lemma_mod_twice c p - ) + modulo_add p (-a) (a + b) (a + c) val lemma_mod_plus_injective (n:pos) (a:int) (b:nat) (c:nat) : Lemma (requires b < n /\ c < n /\ (a + b) % n = (a + c) % n) diff --git a/ulib/FStar.Math.Lemmas.fst.hints b/ulib/FStar.Math.Lemmas.fst.hints index 9a93d49b14d..4904718eeca 100644 --- a/ulib/FStar.Math.Lemmas.fst.hints +++ b/ulib/FStar.Math.Lemmas.fst.hints @@ -1,5 +1,5 @@ [ - "\u0019·\u0011ƒ{Ç©\u001dÿ(\u001fÐ\u0007¤", + "Îz\u001el0…!­\u007f)„âñz!Ù", [ [ "FStar.Math.Lemmas.euclidean_div_axiom", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7a437e06c8fd9f2bdaad517f31f7e163" + "632a6da27061d18c29c549dd470c2de8" ], [ "FStar.Math.Lemmas.euclidean_div_axiom", @@ -23,11 +23,11 @@ "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e2af4b70c039aedec73b30b9b7737a02" + "5a474ca464d8aa313ac679642e8aea31" ], [ "FStar.Math.Lemmas.lemma_eucl_div_bound", @@ -39,7 +39,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "8fc7c5c5fd933806e14b306d279d2317" + "35270fce3e813d45247c5d3e75914e02" ], [ "FStar.Math.Lemmas.lemma_mult_le_left", @@ -47,13 +47,12 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d016a50547ee916d246f36887bf2def0" + "96fce5cfcbfebd5e75ad05a9020582e6" ], [ "FStar.Math.Lemmas.lemma_mult_le_right", @@ -63,10 +62,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b5e549b0ad1d94096d0823900e40f504" + "b4d4644c05c7f62716959cded6eecda2" ], [ "FStar.Math.Lemmas.lemma_mult_lt_left", @@ -76,10 +75,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9c7472f13d6652cd3d818528190c2cd0" + "797cdcf53e430819b7f714f750651bcc" ], [ "FStar.Math.Lemmas.lemma_mult_lt_right", @@ -89,10 +88,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "24453fe1c4e38e952859fbd1ccc8e333" + "b5c6d6b33174af9be309a116f17c4d3e" ], [ "FStar.Math.Lemmas.lemma_mult_lt_sqr", @@ -100,18 +99,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Multiply", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_b6ce26f6c5b82d29c9fed5a1690907d6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7a4c9c81abfe8561837c8de08a5d08be" ], 0, - "4d59264d5f2b8b29e76552efa1fb6240" + "54eeb10c0ee6f263979b3ffad8934fb2" ], [ "FStar.Math.Lemmas.distributivity_add_left", @@ -124,7 +120,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "5b8e0c731850a839d516d70a7f096b89" + "719c3a25464109debdd60e16bcb295eb" ], [ "FStar.Math.Lemmas.distributivity_add_right", @@ -136,7 +132,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "5a7e21ed747a81df493273b6551a13e0" + "9f46cca6eba75d630ee066ed0066efe1" ], [ "FStar.Math.Lemmas.distributivity_sub_left", @@ -148,7 +144,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "4b79e27618a65879e198586098045064" + "021846a8606d3efec2741cb2506796a1" ], [ "FStar.Math.Lemmas.distributivity_sub_right", @@ -160,7 +156,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "f960b1c5c250bf5f900cb6c6e1b447d9" + "c2a0b5691cdc12cd16047d0923f0d279" ], [ "FStar.Math.Lemmas.paren_mul_right", @@ -172,7 +168,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "ea0fb658269f6cd254f7739a184d732b" + "598cb6c00a6a6ef9ece9946bccdd4c49" ], [ "FStar.Math.Lemmas.paren_add_right", @@ -184,7 +180,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "44f4e8f677d0eec4e3936c5b45b19a0b" + "83fad09514befe0aa30d3acf37747a11" ], [ "FStar.Math.Lemmas.addition_is_associative", @@ -196,7 +192,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "35cedaa0ba27ca934f5320a2454114b2" + "88ee19f3dde419ef421c0c1da53cbb87" ], [ "FStar.Math.Lemmas.subtraction_is_distributive", @@ -209,7 +205,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "98d3cb0e0c5b1e8f11e9926109c6c1b8" + "ff6336ac0c236848cedb968e5978e75f" ], [ "FStar.Math.Lemmas.swap_add_plus_minus", @@ -222,7 +218,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "886f22fbae5a883171273addbeaea572" + "ee6c6adab760b47445d7d234a8db4adf" ], [ "FStar.Math.Lemmas.swap_mul", @@ -231,7 +227,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "e4a9848ad80de237c68f9434cfbc65cd" + "44bf821bc18a778d70e29fb37b56d6b6" ], [ "FStar.Math.Lemmas.neg_mul_left", @@ -243,7 +239,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e7d875f457acc0c20bdf2ca2481f546f" + "32c1026f1cec950ffa12225b6114ae3d" ], [ "FStar.Math.Lemmas.neg_mul_right", @@ -256,7 +252,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "93080699b4f2e240ae55ea69bd93c18e" + "3c0922e03744a94d26cf614bd9f59588" ], [ "FStar.Math.Lemmas.swap_neg_mul", @@ -265,7 +261,7 @@ 1, [ "@query" ], 0, - "cfb07872d377c351c091cde33d330017" + "8b0af3f8a8dcb7eac65741cf469875a0" ], [ "FStar.Math.Lemmas.mul_ineq1", @@ -279,7 +275,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "67890cc7bf916a43fbaa6ae5795e96a8" + "55ed9f6b3a198e4e47005d850aefa4e3" ], [ "FStar.Math.Lemmas.nat_times_nat_is_nat", @@ -289,10 +285,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9696ab8f9d49143d43907e6a335c6724" + "eaff46f4d56110db2b16370346f2d822" ], [ "FStar.Math.Lemmas.pos_times_pos_is_pos", @@ -302,10 +298,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3b72894fd1c2cf9f1a82ef3dd74ebea7" + "c560a1ac85c2f4b88ebed1e8ff19d15a" ], [ "FStar.Math.Lemmas.nat_over_pos_is_nat", @@ -314,7 +310,7 @@ 1, [ "@query" ], 0, - "0acae03f27e18d0134f95174d7bc001a" + "8e6533ffcdc0e80ccad5384f9622abfc" ], [ "FStar.Math.Lemmas.nat_over_pos_is_nat", @@ -325,11 +321,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "primitive_Prims.op_Division", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "88871bdb1b41026c467aa1ac939659fc" + "923e35993b9acd7bbed6e2a22c6751ca" ], [ "FStar.Math.Lemmas.pow2_double_sum", @@ -339,10 +335,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ea2b1cac3a17fe772612b47dc2e6730f" + "5fffe63cee0b46e622453be4136e5990" ], [ "FStar.Math.Lemmas.pow2_double_sum", @@ -353,19 +349,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "e2bfa11c06c30d2b0ae45ff9f7cf1653" + "8f25a375b098b7f434c7291070a21b64" ], [ "FStar.Math.Lemmas.pow2_double_mult", @@ -375,10 +369,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f4b76579f65055695866379f97e25994" + "28f27ccd4a4c1c3e8bad85dcead834e1" ], [ "FStar.Math.Lemmas.pow2_double_mult", @@ -389,16 +383,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2a5c308fe60dfe78fc6c9eb284cfddbf" + "3a727617f078abf7af17d8fded51ad09" ], [ "FStar.Math.Lemmas.pow2_lt_compat", @@ -410,20 +402,20 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "9f9cc14e11fb0a4a79cb75d290e796e9" + "29baaea8cea184da89d8c97f9c717dd3" ], [ "FStar.Math.Lemmas.pow2_le_compat", @@ -433,18 +425,15 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "00286ce5ef3506244726204a2f335b18" + "fe2ba1595dc21a8d5798f9b49606fa00" ], [ "FStar.Math.Lemmas.pow2_plus", @@ -454,10 +443,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ea86966156677640c29e9c3804550a9e" + "37f818ceb391831b315bab853830f8ff" ], [ "FStar.Math.Lemmas.pow2_plus", @@ -465,16 +454,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4314080951e7125fe45434dcca86c9a1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_0e17795e3ae847de7eb1d5dc8562c6d5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "cff27ded89ee0d31b9981a8ed7bb6c75" + "ac532a04d65fdb610f6ed98c348b50fb" ], [ "FStar.Math.Lemmas.pow2_plus", @@ -485,23 +471,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "9da724998dc336ce407a7cc70c7ec31e" + "864c4be8267efdac3e4925003693d026" ], [ "FStar.Math.Lemmas.pow2_minus", @@ -509,17 +493,14 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a57f612ec3fc73d4d26a02bff2b55e7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_48ee302bf1eb4121a480c48fccc99a62", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9b193b975abab28b03e4dee2a8765bde" + "adedb22576490df1520a7d1009609fbb" ], [ "FStar.Math.Lemmas.pow2_minus", @@ -529,26 +510,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a57f612ec3fc73d4d26a02bff2b55e7", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented", + "refinement_interpretation_Tm_refine_48ee302bf1eb4121a480c48fccc99a62", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "f436d2b62e42b58b70b5fb5b374d82e7" + "e9fcbcef12e46836107fd69c076ddef0" ], [ "FStar.Math.Lemmas.multiply_fractions", @@ -557,7 +535,7 @@ 1, [ "@query" ], 0, - "bd90bb1c904f73bc8b840247ba6ec7d3" + "7fbfe529c912aecd51417fcd6fc5dc9b" ], [ "FStar.Math.Lemmas.multiply_fractions", @@ -568,10 +546,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1c43492fdc37b8375da9375fead90f20" + "7231667dfadc0abdca37f252e7443a55" ], [ "FStar.Math.Lemmas.modulo_lemma", @@ -580,7 +558,7 @@ 1, [ "@query" ], 0, - "549c51864f5887473be0a0e96b8138c9" + "5ea1d2621ae920bdcba9d0907dc175b5" ], [ "FStar.Math.Lemmas.modulo_lemma", @@ -591,11 +569,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "abcaf1aa6a82073317e3c34ec13c9c81" + "0f0a14a4d24b8376adc5a9690c189fb0" ], [ "FStar.Math.Lemmas.lemma_div_mod", @@ -607,7 +585,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b4d0a69e24526899c8476628869f9198" + "a5ea54508cd4066564a1e21d1ba1b303" ], [ "FStar.Math.Lemmas.lemma_div_mod", @@ -619,10 +597,10 @@ "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "994db339b4a940e5bc8541d082b01fff" + "9cd5cdf776753a5d02ee78eda20d97e6" ], [ "FStar.Math.Lemmas.lemma_mod_lt", @@ -634,7 +612,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "48f9960119a23c6bef562a8eec28d00f" + "48b7faeda21647e2b3db71fd07b75454" ], [ "FStar.Math.Lemmas.lemma_mod_lt", @@ -645,10 +623,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "db9bf55872d428b65d27ccc967c928d3" + "e27564a5da3b8d35e93e249e419971cd" ], [ "FStar.Math.Lemmas.lemma_div_lt_nat", @@ -656,17 +634,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "092e8ccf0a4036fe920f0f46d4078648" + "63e11d48237019640117bd964f3c6d04" ], [ "FStar.Math.Lemmas.lemma_div_lt_nat", @@ -676,19 +651,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "typing_Prims.pow2" ], 0, - "b562096d735457657f8d98e3bf4538a6" + "d2056c71230c7f50448fc37f4507fe82" ], [ "FStar.Math.Lemmas.lemma_div_lt", @@ -702,11 +675,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "02520386ebbdee39ec950fa6fa211038" + "8a5e5f2d5f5397e0576e2ad157d2ed5f" ], [ "FStar.Math.Lemmas.lemma_div_lt", @@ -716,20 +689,18 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Division", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "3455cb0b85aa9ef8373ec9a3214f9dae" + "c0b65f26325e142e69fcf214510ed215" ], [ "FStar.Math.Lemmas.bounded_multiple_is_zero", @@ -743,7 +714,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "28bc7edbca015dcb1a469335250d1e4c" + "008b9d6e040e62121324027873cc49d3" ], [ "FStar.Math.Lemmas.small_div", @@ -752,7 +723,7 @@ 1, [ "@query" ], 0, - "a4e219fbe6257467fa0fcd3f8dcc2a5b" + "796b12e8352d92e89b9363cfa63a9dd7" ], [ "FStar.Math.Lemmas.small_div", @@ -763,11 +734,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3cfa092546b703bd59a99efc0a426dc4" + "d000f25a447dcba8bab20a3cdfcce909" ], [ "FStar.Math.Lemmas.small_mod", @@ -776,7 +747,7 @@ 1, [ "@query" ], 0, - "2c2131aaa80d69f7877a243c725603c5" + "9bdafc929d5b26b8aed6d9c10cdf4a93" ], [ "FStar.Math.Lemmas.small_mod", @@ -787,11 +758,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "07119304e828b7f35363b3bcc959703a" + "de353f2f907b9a4bed78a4c6e66f096e" ], [ "FStar.Math.Lemmas.lt_multiple_is_equal", @@ -803,11 +774,11 @@ "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d72bf9926a46a74c5ae410f3b8931a6b" + "101976f2dc711efa7b7894a3e71d2bca" ], [ "FStar.Math.Lemmas.lemma_mod_plus_0", @@ -820,10 +791,10 @@ "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5b3d246fc3a23cb915c71c6445495a45" + "1243c68aab87bd8cbafbb3046f6bbf0c" ], [ "FStar.Math.Lemmas.lemma_mod_plus_1", @@ -838,7 +809,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b517e35e10782f82e6adbaa611f39b3e" + "bcb1df9c9a17705021b09b81e125c46c" ], [ "FStar.Math.Lemmas.lemma_eq_trans_2", @@ -847,7 +818,7 @@ 1, [ "@query" ], 0, - "9a18359650888f18203645084cdbc36d" + "72a795f42fcd5a23b2c9268c2f2d3cbb" ], [ "FStar.Math.Lemmas.lemma_mod_plus", @@ -859,7 +830,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "72950eaeed9080e2c644135e89c89d37" + "2f4a8b4e255b4690f7363d0f8802e5a9" ], [ "FStar.Math.Lemmas.lemma_mod_plus", @@ -872,7 +843,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "d525a82ae36c779b52ec64ab20df78c0" + "4e86cb8dd6ce88d849310c1a9851a6ca" ], [ "FStar.Math.Lemmas.add_div_mod_1", @@ -885,10 +856,10 @@ "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c495eec85f3d5b6826d9ab9863df023f" + "870930e12959f19a553b7b41dfa2bbee" ], [ "FStar.Math.Lemmas.sub_div_mod_1", @@ -897,14 +868,14 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", + "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9b6bcb4e4337329e2ed2a31dd6698ced" + "d21e0cbda254a3cc790eae0f9437c839" ], [ "FStar.Math.Lemmas.lemma_div_mod_plus", @@ -920,7 +891,7 @@ "refinement_interpretation_Tm_refine_fb5606ca0f2108b5822be3b8d7fc1913" ], 0, - "cc4dc76a3708977ba2b8f4b329aae3b1" + "e2833d76c165ff8d49318ca5e54af075" ], [ "FStar.Math.Lemmas.lemma_div_mod_plus", @@ -930,19 +901,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_2", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_2", "equality_tok_Prims.LexTop@tok", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "6db5bfb9bb4e4842657aab7fd1cb2a42" + "3cb1d5294f0216920a13ad951663a5c3" ], [ "FStar.Math.Lemmas.lemma_div_plus", @@ -954,7 +925,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "21d8a6f3ddb20d3f38a3565275497bf6" + "56319af0041bbf079ce00238461d37ca" ], [ "FStar.Math.Lemmas.lemma_div_plus", @@ -963,7 +934,7 @@ 1, [ "@query" ], 0, - "98ccb4b76da08f38870e39a05bd6dc88" + "85e0042cc250cf096740379972d03ea0" ], [ "FStar.Math.Lemmas.cancel_mul_div", @@ -972,7 +943,7 @@ 1, [ "@query" ], 0, - "7e95f0faa0f92a147443cf107d0a376d" + "554fe1df651aac3d1c2b2ed19fdeb8a6" ], [ "FStar.Math.Lemmas.cancel_mul_div", @@ -984,10 +955,10 @@ "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "af924bf43eda545011b2e5c5819ba53c" + "fb2d3b4345ad8b0592d8506aa6ed9078" ], [ "FStar.Math.Lemmas.cancel_mul_mod", @@ -996,7 +967,7 @@ 1, [ "@query" ], 0, - "e0b2ef07b17d0a7ae45f11683845d778" + "4a72bd06accf68b68e7cbffc0dbebad2" ], [ "FStar.Math.Lemmas.cancel_mul_mod", @@ -1008,10 +979,10 @@ "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2739de09aa1be10dfcc9002f6c7a522f" + "17873931986c605e4a2c1902097e33b9" ], [ "FStar.Math.Lemmas.mod_add_both", @@ -1023,7 +994,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a455d6124e967870eaf3a09de3b4e36b" + "647986303f94012083972dde03d64ee6" ], [ "FStar.Math.Lemmas.mod_add_both", @@ -1039,7 +1010,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e2bfc19036bf8f2d50a42b9ba9a70bc0" + "1ab6656044bd19c75d7ab04f75b7420e" ], [ "FStar.Math.Lemmas.lemma_mod_add_distr", @@ -1051,7 +1022,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e3080bb2a8b7e3c6847042c63eb20a87" + "a5c7ba19491858a24dc274f288a5e051" ], [ "FStar.Math.Lemmas.lemma_mod_add_distr", @@ -1066,7 +1037,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4dcdd86263eaf1cb37698058441c7697" + "9a185d9463aa9095d0a895c97581dcec" ], [ "FStar.Math.Lemmas.lemma_mod_sub_distr", @@ -1078,7 +1049,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e79ad41af7a99de4eb56ab55f76b1519" + "41461f62c0e4191880c3555fa51639c9" ], [ "FStar.Math.Lemmas.lemma_mod_sub_distr", @@ -1091,10 +1062,10 @@ "primitive_Prims.op_Division", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6561254723766b657240aa99c6537976" + "e2bfe7f1f0215376b14a51782f55a2da" ], [ "FStar.Math.Lemmas.lemma_mod_sub_0", @@ -1103,7 +1074,7 @@ 1, [ "@query" ], 0, - "e5aabbfeecceb4ed670617e732969ea3" + "a4a97f14758a07d1c8a539bbf3c3c4d2" ], [ "FStar.Math.Lemmas.lemma_mod_sub_0", @@ -1112,12 +1083,12 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "int_inversion", "int_typing", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b50ed3253c945baf7a865635fb4a3e71" + "de690435b4a00887f4e99b375ee17f4f" ], [ "FStar.Math.Lemmas.lemma_mod_sub_1", @@ -1130,26 +1101,23 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "22b5bd7f1f45149092f59655e6cb73ea" + "3f36227dddee4bfa60f85eb81d99f0c5" ], [ "FStar.Math.Lemmas.lemma_mod_sub_1", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_39df8d29380e6969edd244cad5059985", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c17481ece7585f2060180579bd930bd9" + "8e176ee41297bd47c8cc0730771b4e90" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_l_0", @@ -1161,11 +1129,11 @@ "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3c08576c7aff2ecce2bc832ab87e42a5" + "2904323be9f21b5e9ce4ff714ca5bbe4" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_l", @@ -1177,7 +1145,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e1b9a35b612da2344d04b68ca2263554" + "3ba921492a578c1eea3d5e17c70eae0e" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_l", @@ -1193,7 +1161,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b6fc04d31e994a99cf0e0807f60a2832" + "096fe058d614e2a9fb7fb2c18773ff5b" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_l", @@ -1203,9 +1171,9 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_2", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_ae567c2fb75be05905677af440075565_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_2", "equality_tok_Prims.LexTop@tok", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", @@ -1215,11 +1183,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "89bbd12c97dcdd1e8c610a270a99c364" + "cf27646cdd9e2a72d24cb9c062396c69" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_r", @@ -1231,7 +1199,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ac5df4529dade3481703e33190e23ded" + "88d9beab463f8be41a8e97202fb73fc8" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_r", @@ -1242,10 +1210,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "36281da093fef39f7ad850113c4aafe9" + "593ca4c49705a916f07c71e50eb5b938" ], [ "FStar.Math.Lemmas.lemma_mod_injective", @@ -1253,17 +1221,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "449b3ee3e9cd67e2c8adca97ba6ebbb1" + "a12cf8901316d3f52e77d57c36cd3d23" ], [ "FStar.Math.Lemmas.lemma_mod_injective", @@ -1274,10 +1240,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9fdca5bb330fe2f99512afcacd6f6abf" + "f2f1902e4d3c90189aedbbfeef10d158" ], [ "FStar.Math.Lemmas.lemma_mul_sub_distr", @@ -1289,7 +1255,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "48c53033868a19d061f8b4f741ff2583" + "b46cae066244eb816e2e4eea7001799d" ], [ "FStar.Math.Lemmas.lemma_div_exact", @@ -1301,7 +1267,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "76286974c1776e07809b3d106006cca0" + "2b0580dedd224f295953cb1ee9b08850" ], [ "FStar.Math.Lemmas.lemma_div_exact", @@ -1313,10 +1279,10 @@ "int_inversion", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e536c63e15f5e5d8e05429bdc2538ebc" + "cf901837b48fa136e6694724ab4239f1" ], [ "FStar.Math.Lemmas.div_exact_r", @@ -1328,7 +1294,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a5d431a7c522b1f02751b3c3a40595a6" + "1927024175133b4f99aefa631c4b89ac" ], [ "FStar.Math.Lemmas.div_exact_r", @@ -1343,7 +1309,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b5b5f9794793865efcc40e861342362c" + "b75d575bd1a2c45f8969474265f1ab24" ], [ "FStar.Math.Lemmas.lemma_mod_spec", @@ -1355,23 +1321,23 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f85b3ec43a49a3a8d836e098ffd0c5b4" + "7a8e704f399a425f8ba1a783598231d5" ], [ "FStar.Math.Lemmas.lemma_mod_spec", 2, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5b2d0be7bba76e9509b29d2b60f7d38e" + "c858e1c58d01ff300d713a70751262f6" ], [ "FStar.Math.Lemmas.lemma_mod_spec2", @@ -1383,7 +1349,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "dc7fbb28352bc4d668485e6e93bbda24" + "5a88b85934fa444fdeba9fa2b8fae4fe" ], [ "FStar.Math.Lemmas.lemma_mod_spec2", @@ -1392,13 +1358,14 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", + "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7084c94f90e8377a5d43f28d99dc2eb9" + "863f445ba82cf29cf12644aa4645d17e" ], [ "FStar.Math.Lemmas.lemma_mod_plus_distr_l", @@ -1410,7 +1377,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f58c892dbff09d0289d8a1c9a302fbc7" + "2df9eb2cb443a7cfe7422058362244c7" ], [ "FStar.Math.Lemmas.lemma_mod_plus_distr_l", @@ -1424,7 +1391,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "645619b3dcc40a3845a5cfa8bdbbc278" + "fd6716df2860e8e200161e807831aa47" ], [ "FStar.Math.Lemmas.lemma_mod_plus_distr_r", @@ -1436,7 +1403,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8ed25c94a04b3f23dc0e4fc2689c01ec" + "f9c00d465c5250d241929b517278ac88" ], [ "FStar.Math.Lemmas.lemma_mod_plus_distr_r", @@ -1448,7 +1415,7 @@ "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0" ], 0, - "21f162f1d6b56f474181fef7aae1bfb7" + "9d34630b0a2874de94b28234bd61a5ef" ], [ "FStar.Math.Lemmas.lemma_mod_plus_mul_distr", @@ -1460,23 +1427,23 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ac736d36f9158cb9298b7d495161f7cc" + "6e6b4c8983055418f762615804ba0e51" ], [ "FStar.Math.Lemmas.lemma_mod_plus_mul_distr", 2, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e75ab5785758f0f50e80c8612db61c8c" + "79616e5da025861fbb118dddb9e96113" ], [ "FStar.Math.Lemmas.lemma_mod_mod", @@ -1488,7 +1455,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c44dd205f079d33b6d11fb6eed9034b8" + "dacbd5ba8fa8417184c07c949559750d" ], [ "FStar.Math.Lemmas.lemma_mod_mod", @@ -1501,7 +1468,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8b60b499a70b28283dcca0f2d772c219" + "460b802b3844c22f00ebab0357d6e715" ], [ "FStar.Math.Lemmas.euclidean_division_definition", @@ -1513,7 +1480,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a3631ff4979c51a1a30059d8f6ce9b96" + "6042f5b08335adf0faffa88ec3b770dc" ], [ "FStar.Math.Lemmas.euclidean_division_definition", @@ -1522,13 +1489,13 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", + "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3d91ddf61c2ef0350d1e3c9f133088b5" + "7fa314b87018ee113949908ff4f663d4" ], [ "FStar.Math.Lemmas.modulo_range_lemma", @@ -1540,7 +1507,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "68c0619d75a1387abcdcdb409cacc9cb" + "4f1d76624c813ac91d70115dabdfaeb1" ], [ "FStar.Math.Lemmas.modulo_range_lemma", @@ -1553,10 +1520,10 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_Modulus", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "eede57d6ff76b25531335259269b49b0" + "814dc1617c23595f5f4fa44686b9e9fd" ], [ "FStar.Math.Lemmas.small_modulo_lemma_1", @@ -1565,7 +1532,7 @@ 0, [ "@query" ], 0, - "34d6c597720788b0d032062a1143e09d" + "bddae690624eded1fab761d30382de77" ], [ "FStar.Math.Lemmas.small_modulo_lemma_1", @@ -1574,13 +1541,12 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", + "int_inversion", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ba4849403982126ceeada3e8d69a5086" + "d7d322ddd3aa7f20fe84ff765e1b0367" ], [ "FStar.Math.Lemmas.small_modulo_lemma_2", @@ -1592,7 +1558,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a3af2f68934869eb769d8fce51566fa3" + "b62d857fcbcb26aa2feaf53ea145863b" ], [ "FStar.Math.Lemmas.small_modulo_lemma_2", @@ -1602,10 +1568,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "77c89b70e7c99e338e7d4ebed21f7579" + "f7b9db3b34d5b0fc427e0b55c2247a11" ], [ "FStar.Math.Lemmas.small_division_lemma_1", @@ -1614,7 +1580,7 @@ 0, [ "@query" ], 0, - "563351eb92ce5606bf82b2af345e2577" + "62df2b01e9e12a48f55c4e38f8a08dd5" ], [ "FStar.Math.Lemmas.small_division_lemma_1", @@ -1623,13 +1589,11 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "primitive_Prims.op_Division", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "031451aabc56e78cdbd482ec353d6b5b" + "6ded172822a7dc44566318571192967b" ], [ "FStar.Math.Lemmas.small_division_lemma_2", @@ -1641,7 +1605,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "df74d94b158a5fbc942ce4688ee104bf" + "d86d85bb1d24fb32e296e62446ee3d1e" ], [ "FStar.Math.Lemmas.small_division_lemma_2", @@ -1652,10 +1616,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ff429fed567d22746d627a05f237b233" + "f8ffb3fd42882772884aabd9108eecbb" ], [ "FStar.Math.Lemmas.multiplication_order_lemma", @@ -1665,10 +1629,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b94edfcaa639e456ee08005252698045" + "8867075117249d2ee5d7c11a2483cc1f" ], [ "FStar.Math.Lemmas.division_propriety", @@ -1680,7 +1644,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a9c2325b3cf5f266b0e2a4c8448ff1c5" + "0004a918f8e065812d49759c14724ccf" ], [ "FStar.Math.Lemmas.division_propriety", @@ -1694,10 +1658,10 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "bc8647e5d2af7b4123e297bba1da47af" + "a7b02cf5bc657b157f76a2a63e4ac79c" ], [ "FStar.Math.Lemmas.division_definition_lemma_1", @@ -1706,7 +1670,7 @@ 0, [ "@query" ], 0, - "6018c81367bfc90cd7ec72de90b4980a" + "e9b279ac21ae4c386851651f66906c47" ], [ "FStar.Math.Lemmas.division_definition_lemma_1", @@ -1718,11 +1682,11 @@ "int_inversion", "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_564e38544ac9716e7f174c0d6ec1602e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_712c7f9c29b7e3f53f599415e7224453", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2b77934b03c08939fa37dd9cfcd20ab4" + "3b60f4dc951cfbbf7cec0194c2fe656c" ], [ "FStar.Math.Lemmas.division_definition_lemma_2", @@ -1731,7 +1695,7 @@ 0, [ "@query" ], 0, - "66c52296c209c8b3c38a4b9c3c2aa81d" + "37520b0550517ee4409438fa5233e434" ], [ "FStar.Math.Lemmas.division_definition_lemma_2", @@ -1741,15 +1705,13 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_14f0d378014be9b466a9c5c73aa2d0b2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_d7e97d01980c483711555228730a8e9b" ], 0, - "07b0397fe661d85c7cf7722a34379b44" + "522520b4d12efa5ab02935514df6174c" ], [ "FStar.Math.Lemmas.division_definition", @@ -1758,7 +1720,7 @@ 0, [ "@query" ], 0, - "58743558ef7d2cbc93043e4211d3af5f" + "900eb5862bcde76c765452d9b6dcf12b" ], [ "FStar.Math.Lemmas.division_definition", @@ -1773,11 +1735,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_933b7aba01a48a4d41fa991681da42d4", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_21b1c95c1044fe679060fb42d4cc0d95", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f319589f8397027c2bcef55182848aed" + "5c01f4971fc462ba78e0b93cede4f332" ], [ "FStar.Math.Lemmas.multiple_division_lemma", @@ -1786,7 +1748,7 @@ 0, [ "@query" ], 0, - "ec7d8c0ac6967aedac465ae2e5825254" + "c785b3b2012ebb0c4f12a3c5e9970e7c" ], [ "FStar.Math.Lemmas.multiple_division_lemma", @@ -1795,7 +1757,7 @@ 0, [ "@query" ], 0, - "18fe9448bafd8299b0f051765bff4519" + "f9a198e435ba9f62f909b12fb6ccaf3f" ], [ "FStar.Math.Lemmas.multiple_modulo_lemma", @@ -1804,7 +1766,7 @@ 0, [ "@query" ], 0, - "222cab9698dde213a17ddf0e3615908b" + "19b09e232b319d349dff2dd4b150bbdc" ], [ "FStar.Math.Lemmas.multiple_modulo_lemma", @@ -1813,7 +1775,7 @@ 0, [ "@query" ], 0, - "d0f9f414a0c48ddf8a07a9e1f545ad28" + "23f7571b174f7741a51fd43dcbc64137" ], [ "FStar.Math.Lemmas.division_addition_lemma", @@ -1825,7 +1787,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d5bea81cffce6dd482fb66c3ecfe652d" + "a086fab78e34b584547cb3e6a2309caa" ], [ "FStar.Math.Lemmas.division_addition_lemma", @@ -1840,10 +1802,10 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a41bc98fbe1149ee11f264971987b253" + "2025e98787427ba371d752ad4ec0d23e" ], [ "FStar.Math.Lemmas.lemma_div_le_", @@ -1855,11 +1817,11 @@ "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b3bd9f4def944a3c1b717a1630f3c0bc" + "9cd8f30b2ad0bbdae286b7351b48111d" ], [ "FStar.Math.Lemmas.lemma_div_le", @@ -1871,7 +1833,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b7620c20d8722b97e90a3d896902a9a8" + "7e24f5e909c29897d1f73e85cdaf1779" ], [ "FStar.Math.Lemmas.lemma_div_le", @@ -1885,7 +1847,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cc095cf46bbcfc78c13c9e22f3e8f021" + "54080ac8aec5fb126d8358bfb00e3a39" ], [ "FStar.Math.Lemmas.division_sub_lemma", @@ -1897,7 +1859,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4fe9b7aa745a0a4c9934c487e7ceabe3" + "fc8fc954c72d253761525fb0ad99c934" ], [ "FStar.Math.Lemmas.division_sub_lemma", @@ -1906,7 +1868,7 @@ 1, [ "@query" ], 0, - "78b18b84e5dfdd553ad42236d2cc3531" + "764a04389b9ed70954ccb4a20f75fe54" ], [ "FStar.Math.Lemmas.modulo_distributivity", @@ -1918,7 +1880,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "36549ba2a97ead1de6bef2a18074f01e" + "2783ee44587c32c9acf831fe1c1a6110" ], [ "FStar.Math.Lemmas.modulo_distributivity", @@ -1931,7 +1893,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "fc46ef1bb9e333d43bb300e1e45b1983" + "2f2fd52333098cd66064e90505173042" ], [ "FStar.Math.Lemmas.modulo_addition_lemma", @@ -1943,7 +1905,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9b88eff958388101f1185c6f00a06e36" + "6df3a78ed13c42e43f96cf75aea9764d" ], [ "FStar.Math.Lemmas.lemma_mod_sub", @@ -1955,7 +1917,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "549ac5c7c3c2fba4234a5813f43d9024" + "ec2580d135975925e4889e227ec292e6" ], [ "FStar.Math.Lemmas.lemma_mod_sub", @@ -1964,7 +1926,7 @@ 0, [ "@query" ], 0, - "5c1e17a08c8f35293a5eb7c394b4b21a" + "b7e6cebba8565e34d44a4ed913ccc9d7" ], [ "FStar.Math.Lemmas.mod_mult_exact", @@ -1976,7 +1938,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6fae3635e493adee3a330a6fa093c27b" + "54e6eb17a933cdcab27b07ab8b2c57dc" ], [ "FStar.Math.Lemmas.mod_mult_exact", @@ -1989,7 +1951,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "85a6b84d1301486e976bce1a067d35f4" + "ccca38b33ca00b2c04f79c05e9719960" ], [ "FStar.Math.Lemmas.mod_mul_div_exact", @@ -2003,7 +1965,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ddc8065a0bfd4c970aa5b9c4afac359f" + "5d11e81de80def5fcd0dad77d65885cb" ], [ "FStar.Math.Lemmas.mod_mul_div_exact", @@ -2012,7 +1974,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "6117e5dc5d3c1f5baea3f2bcaaab099d" + "d841568dacb5651061fde5c232b30e76" ], [ "FStar.Math.Lemmas.mod_pow2_div2", @@ -2021,18 +1983,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", "equation_Prims.pos", "equation_Prims.squash", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "72af4b33c3ce7efcd262bfb186a00b84" + "15acedaa826efc3d7a109cd898a30579" ], [ "FStar.Math.Lemmas.mod_pow2_div2", @@ -2043,20 +2003,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Modulus", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "unit_typing" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "bd3b922918c656c1f0631c15edd0e2c1" + "7585e700d4ea06049b4a36c774109ed8" ], [ "FStar.Math.Lemmas.division_multiplication_lemma", @@ -2069,7 +2023,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2c6ef6a8c282dc53a1e62a0c151ccc43" + "5328f4d10cae7ce647601a694477fcf3" ], [ "FStar.Math.Lemmas.division_multiplication_lemma", @@ -2081,10 +2035,10 @@ "int_inversion", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "81a36d33c3980b240d55617cd7b9eda2" + "5c759dc6079af2ba4dcb83c9f4de5ae3" ], [ "FStar.Math.Lemmas.lemma_mul_pos_pos_is_pos", @@ -2094,10 +2048,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5fb0a3be779d1fe7459ce1e84cb5cea7" + "c058e0f49f72ed1b209e2f60e35e995f" ], [ "FStar.Math.Lemmas.lemma_mul_nat_pos_is_nat", @@ -2108,11 +2062,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "acc02f86fadc2b90cf9d932f1975bac9" + "925cdec5bdd26c170081ff7348c4a7e1" ], [ "FStar.Math.Lemmas.modulo_division_lemma_0", @@ -2124,11 +2078,11 @@ "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "08cacba299ff92a1b89f9233ac77560d" + "b276bbe9580ed17c14277c42da0dfd18" ], [ "FStar.Math.Lemmas.modulo_division_lemma", @@ -2139,10 +2093,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d5f603df3ba09a44f3ea966541e34b92" + "2368e43602062e014478c4e3506286d8" ], [ "FStar.Math.Lemmas.modulo_division_lemma", @@ -2151,14 +2105,14 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "dca982f1bd265767073192f855e6d9fc" + "f5aa918c133f9d69f8712e90e675adfc" ], [ "FStar.Math.Lemmas.modulo_modulo_lemma", @@ -2171,7 +2125,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "671754ef0003b6adab9bde7359913cfb" + "31735ffccf484267ef831b40edb3ab83" ], [ "FStar.Math.Lemmas.modulo_modulo_lemma", @@ -2186,7 +2140,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4c1b6a3dbf85f37be10c5676f0d9a4ac" + "72d7ec5968d1e86e2fd826ae0d577118" ], [ "FStar.Math.Lemmas.pow2_multiplication_division_lemma_1", @@ -2194,12 +2148,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899" + "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "7f4a10dccb447c0a77f730ce28978d0a" + "9173a6e16dec1c3a5507ddb81a8d3397" ], [ "FStar.Math.Lemmas.pow2_multiplication_division_lemma_1", @@ -2207,16 +2160,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "8ee04a842d8fe59b83401a5e35cd3d16" + "ba0b422a58e969b8ffd621a32b4a2649" ], [ "FStar.Math.Lemmas.pow2_multiplication_division_lemma_2", @@ -2224,16 +2174,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "fc4a1d767c6a909c753e51188f88fb66" + "38a3d76db30fed803929d7ba6bd9ea60" ], [ "FStar.Math.Lemmas.pow2_multiplication_division_lemma_2", @@ -2243,11 +2190,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "080f5b7323f1de27f70a592423b4c3e6" + "542b0532f8491e0227c5c2a55e46bde0" ], [ "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_1", @@ -2260,7 +2207,7 @@ "typing_Prims.pow2" ], 0, - "ae1d99fbf48440b9489f649353ea574a" + "24e97bd82bdc3d8f7a35d987d79bbb11" ], [ "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_1", @@ -2268,16 +2215,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "f657d7074941c5ffd6da4c016826c936" + "7ae67758a27bdc5b2e58d7da1891049f" ], [ "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_2", @@ -2285,16 +2229,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "87ea7fd4494bdc5ab3d7f3d317743722" + "0a8eea7100e79a2bb09960c617251ed4" ], [ "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_2", @@ -2304,19 +2245,16 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "typing_Prims.pow2" ], 0, - "ab777704ec6a1674faa943ca81e4e6d6" + "893c2956db6ea81695b5bafcce0e6c01" ], [ "FStar.Math.Lemmas.pow2_modulo_division_lemma_1", @@ -2324,17 +2262,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", + "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "158e8395c2fcf58753eadd0a9566a6b5" + "cde222dfa76f8b333c1b2df970bcf699" ], [ "FStar.Math.Lemmas.pow2_modulo_division_lemma_1", @@ -2342,16 +2277,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Multiply", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "ab4f9e3c63dc4d39cdcde5ed8d20ff13" + "cad533fc78692a90e00c6d6fe7dcc630" ], [ "FStar.Math.Lemmas.pow2_modulo_division_lemma_2", @@ -2360,7 +2292,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "d4d7d26d523e9ace5b1f3260cd95a087" + "4ea5411bc77675c4063e16b65f7c078a" ], [ "FStar.Math.Lemmas.pow2_modulo_division_lemma_2", @@ -2370,18 +2302,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "typing_Prims.pow2" ], 0, - "2873ffc5165ed0dff0920737d0e29c76" + "39ddd4359672ab6e398019cda4e0a1fb" ], [ "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_1", @@ -2397,7 +2326,7 @@ "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" ], 0, - "03f9ee0101b2a123991fb0f2b0d4e8cc" + "5b759a6e17ce8ca86e3d8fcdf974b8c6" ], [ "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_1", @@ -2405,16 +2334,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Multiply", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "4b3aeef1e09a122dd934e96192e06f16" + "4db2104e6fb8cf7ef35edbcedb1a9e9f" ], [ "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_2", @@ -2430,7 +2356,7 @@ "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" ], 0, - "f835b5585379c8af60536ecedb73091b" + "627ad93f739c2a440037a74fe6259253" ], [ "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_2", @@ -2440,18 +2366,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "typing_Prims.pow2" ], 0, - "93d6454f813f5c9035f0bf2b397221e3" + "697acd451697edcff0c7b806df327e56" ], [ "FStar.Math.Lemmas.modulo_add", @@ -2463,7 +2386,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "84bd55f57f217f7ff0d1e5da6436f573" + "b312f3efcb2eea35bc69b5f80a04c172" ], [ "FStar.Math.Lemmas.modulo_add", @@ -2472,7 +2395,7 @@ 0, [ "@query" ], 0, - "ec56b131aca4f01214397b25ffb6e9e6" + "169f522d7bc0fe667bb18a2d0e9e01f7" ], [ "FStar.Math.Lemmas.lemma_mod_twice", @@ -2484,7 +2407,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8bfb983042d4c4f28ffe50912fc9cc9f" + "72d91317d8401f3c93f61402b0841eec" ], [ "FStar.Math.Lemmas.lemma_mod_twice", @@ -2496,7 +2419,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8389177a65691c9ce2f626493b2dc2c1" + "f2cc9f95190d3ed5a81e7b2aa1b73115" ], [ "FStar.Math.Lemmas.modulo_sub", @@ -2508,7 +2431,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ee8ac106a15524eeb9c4a7e509df2a3f" + "44ce0946c3c82f6e942cbb4876993e77" ], [ "FStar.Math.Lemmas.modulo_sub", @@ -2524,10 +2447,10 @@ "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "55985e0f8291cc92255295bf337e8b00" + "0843dda59039ea58e51e994ed5fc25bf" ], [ "FStar.Math.Lemmas.lemma_mod_plus_injective", @@ -2535,17 +2458,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9b0ab29a95508f4e3967a72824581196" + "f9e41390de7560f5863b0b60299bbbe4" ], [ "FStar.Math.Lemmas.lemma_mod_plus_injective", @@ -2557,7 +2478,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8a8bd63b5609eb80212552479dc8e48e" + "1df3b73baf5cfbe7975f1c29fa8c93af" ], [ "FStar.Math.Lemmas.euclidean_div_axiom", @@ -2566,10 +2487,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fc8ce1d094db7cdc03a0b08f3a6078be" + "fca3c746399721420dbbf7b68b0f7295" ], [ "FStar.Math.Lemmas.nat_over_pos_is_nat", @@ -2578,7 +2499,7 @@ 1, [ "@query" ], 0, - "3cfd8714b30acdd68afb62868d366f61" + "50e00605cb0c4da4ca83e4108013ba59" ], [ "FStar.Math.Lemmas.pow2_double_sum", @@ -2588,10 +2509,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "31b051377690d7ab319bec5d9c75ec17" + "4f6364b6f3fa324d63015bb8e8ba7378" ], [ "FStar.Math.Lemmas.pow2_double_mult", @@ -2601,10 +2522,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3eaa5427643632b8d9188299b59fa1e3" + "3056a1a4321da3cdda6b946595c89ed0" ], [ "FStar.Math.Lemmas.pow2_plus", @@ -2614,10 +2535,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ceb557eaf6fe6c9c1f37ef7f1ab1374c" + "6102ac2e44daeaa58080dae5d6b52a11" ], [ "FStar.Math.Lemmas.pow2_minus", @@ -2625,17 +2546,14 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a57f612ec3fc73d4d26a02bff2b55e7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_48ee302bf1eb4121a480c48fccc99a62", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f661ffc3c44eb791c94327b19a84c7fb" + "26be204daec194af6f20e3ffccc21148" ], [ "FStar.Math.Lemmas.multiply_fractions", @@ -2644,7 +2562,7 @@ 1, [ "@query" ], 0, - "bbe6835917a25368c3583a86af9e438d" + "fa913d89a29abd8b2d625a920140a034" ], [ "FStar.Math.Lemmas.modulo_lemma", @@ -2653,7 +2571,7 @@ 1, [ "@query" ], 0, - "b595932302d606f17f8fc9192493d222" + "e967d4714e61628aff0f2a7483a2eac3" ], [ "FStar.Math.Lemmas.lemma_div_mod", @@ -2662,10 +2580,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1109299eab562406688771eab1f068dc" + "7926b1d1799e6b5fec66865412b88119" ], [ "FStar.Math.Lemmas.lemma_mod_lt", @@ -2674,10 +2592,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7c8627ae39c6ed45c6ae3ad4ca8dacd3" + "5504ac4540fc60ca3795571523f2ac47" ], [ "FStar.Math.Lemmas.lemma_div_lt_nat", @@ -2685,17 +2603,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "ad94204190d33567fd7757a8c212c672" + "daff887fb879c86560da431a3d5c50b7" ], [ "FStar.Math.Lemmas.lemma_div_lt", @@ -2709,11 +2624,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2c50cb0748ef2c829fa1d858ebb8b70e" + "2531c25d591b66b1ac78af581a16b498" ], [ "FStar.Math.Lemmas.small_div", @@ -2722,7 +2637,7 @@ 1, [ "@query" ], 0, - "d40a2e5633b987d10a8a6940f50994d0" + "c99a027ccff7185482b7dc03a600a875" ], [ "FStar.Math.Lemmas.small_mod", @@ -2731,7 +2646,7 @@ 1, [ "@query" ], 0, - "e444efcb0a141b6d81632b110cc12893" + "ba89acb9fc7fe7f281bf5103a94651bb" ], [ "FStar.Math.Lemmas.lemma_mod_plus_0", @@ -2740,10 +2655,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b11eee4879a4b5b633eda2dbc4f596be" + "202c03d1b9b50fdef100e4f8bcd2d059" ], [ "FStar.Math.Lemmas.lemma_mod_plus_1", @@ -2752,10 +2667,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ffba562dd1d0106bdeb03f4bae0c71af" + "e1f20f65638ee26a5049330cc3bfb05f" ], [ "FStar.Math.Lemmas.lemma_mod_plus", @@ -2764,10 +2679,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5c3f28f16f76880ffa3c8b527fb39d56" + "187c0b5cb6114714384a89e9a32c8fe6" ], [ "FStar.Math.Lemmas.add_div_mod_1", @@ -2776,10 +2691,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b02a4f7dbee98025f18ea935d51075e5" + "932395f20f40197485cd4c870b01b132" ], [ "FStar.Math.Lemmas.sub_div_mod_1", @@ -2788,10 +2703,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d8c745b10ec1f584c1ebf59fe8f55c7a" + "f4da42bffe4fc0aa50281abe672e6d47" ], [ "FStar.Math.Lemmas.lemma_div_mod_plus", @@ -2800,10 +2715,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0090c1de22c9961636cab0e427a100d5" + "14c63530402e671441dfcb75e401f650" ], [ "FStar.Math.Lemmas.lemma_div_plus", @@ -2812,10 +2727,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "db8c5e0e6fda38eb5cca116f75f60b7f" + "7cac7eb468ce0016a6f9c813959d1ee0" ], [ "FStar.Math.Lemmas.cancel_mul_div", @@ -2824,7 +2739,7 @@ 1, [ "@query" ], 0, - "8eab79523d613e3c81368fd926c885ff" + "949e181204ff69ad65cb25d02e642e9b" ], [ "FStar.Math.Lemmas.cancel_mul_mod", @@ -2833,7 +2748,7 @@ 1, [ "@query" ], 0, - "bac1527080cb3e6d6ff2ccdd698a6ac1" + "8be2edbec44720bee926fafe0e366a87" ], [ "FStar.Math.Lemmas.mod_add_both", @@ -2842,10 +2757,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6884b5e492ca626e3bc211c29715e8ab" + "fa8d2f2223527cf48d4fb6e124f74593" ], [ "FStar.Math.Lemmas.lemma_mod_add_distr", @@ -2854,10 +2769,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cafcd1e137d53286ec2177f2a3532651" + "c94378625b8567cf88a36abf920e1dbc" ], [ "FStar.Math.Lemmas.lemma_mod_sub_distr", @@ -2866,10 +2781,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "96c2a5e22b943b6144821ec8a89e4515" + "e9f76f86311da7d5240352f5e1d09604" ], [ "FStar.Math.Lemmas.lemma_mod_sub_0", @@ -2878,20 +2793,20 @@ 1, [ "@query" ], 0, - "ea36f75ed6a4dfb82cf42df5cbc55ea3" + "034db430e2f09065e4dd34c2fbb20e1f" ], [ "FStar.Math.Lemmas.lemma_mod_sub_1", 3, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_39df8d29380e6969edd244cad5059985", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b9a1f65d5efdfc3d5d2f351c54aed116" + "f618497295bb22cfcbcecf8eaaca2aaa" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_l_0", @@ -2900,10 +2815,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "79c383353b0b3603ea64fd5dcd70d8ef" + "52aeb93db98c81f41517b2292cfb90ee" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_l", @@ -2912,10 +2827,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c117b893a1b1eddeff329f6450bd0179" + "52f6bdbb3b2010986e30440b870ed6a6" ], [ "FStar.Math.Lemmas.lemma_mod_mul_distr_r", @@ -2924,10 +2839,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4abe9eeb4f2c127f19e3707ca86b6e56" + "e8cc7a91669d55720e5289d250479371" ], [ "FStar.Math.Lemmas.lemma_mod_injective", @@ -2935,17 +2850,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "517002ac36c67628eb5b20d695fa3270" + "2bbfed11c5d0e1345d5132d8f528b20f" ], [ "FStar.Math.Lemmas.lemma_div_exact", @@ -2954,10 +2867,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fba1b659e9ae2baa4aaf92e822081a9d" + "243fd041924788ca7b4862f1d7bbda57" ], [ "FStar.Math.Lemmas.div_exact_r", @@ -2966,10 +2879,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "79d5ea043f9225c9f9bdb28a30a99a30" + "af4cf6269e453be72db19644ba13480a" ], [ "FStar.Math.Lemmas.lemma_mod_spec", @@ -2978,10 +2891,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "53ae00e0b2689b8f1db59c4594e8d9a0" + "794e1f57e0c85ff46b1e9f6182af0f12" ], [ "FStar.Math.Lemmas.lemma_mod_spec2", @@ -2990,10 +2903,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cc20a2e0701d5db0a39e213f1134b29a" + "bad0a239dc5e7c2fb322b0072856cbc6" ], [ "FStar.Math.Lemmas.lemma_mod_plus_distr_l", @@ -3002,10 +2915,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4e003df07c3ce51807315a6da2811c9f" + "fe608855c0f23a605baa7aab41e457ac" ], [ "FStar.Math.Lemmas.lemma_mod_plus_distr_r", @@ -3014,10 +2927,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d477b50d8f7e70e7929197ef09eb192e" + "0cc397ba1ed234e5a92ac064da5df933" ], [ "FStar.Math.Lemmas.lemma_mod_plus_mul_distr", @@ -3026,10 +2939,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "56c29971a76e780b739348be8336ef44" + "ebe2b837f1b487dde52f9d8433ea6c59" ], [ "FStar.Math.Lemmas.lemma_mod_mod", @@ -3038,10 +2951,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "14cd98c0db1881e0fc95b2d00e7a8e70" + "adf4848ae9e1fbeb94b4ede8f02548d7" ], [ "FStar.Math.Lemmas.euclidean_division_definition", @@ -3050,10 +2963,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7e516b4096143c02c9ec8ca8951fb4d5" + "250b945e7556b3eaeb197652eb4a6732" ], [ "FStar.Math.Lemmas.modulo_range_lemma", @@ -3062,10 +2975,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "392f2ecea82722028af28442dccb2c27" + "cdb088aac119e7598f56122fd0d2ece5" ], [ "FStar.Math.Lemmas.small_modulo_lemma_1", @@ -3074,7 +2987,7 @@ 0, [ "@query" ], 0, - "077227290b40f2d390e62780d2d6d06b" + "4738414232348367a3e3fd5730c1de0e" ], [ "FStar.Math.Lemmas.small_modulo_lemma_2", @@ -3083,10 +2996,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "13af536d3c0918f871046ff97397acec" + "3e58e5ed6664cb610b77a82c76aea374" ], [ "FStar.Math.Lemmas.small_division_lemma_1", @@ -3095,7 +3008,7 @@ 0, [ "@query" ], 0, - "91e6de9aa4222c0052d2a98bedebfdd6" + "f5c7217f85bed045ad3f8bec0ffea3bc" ], [ "FStar.Math.Lemmas.small_division_lemma_2", @@ -3104,10 +3017,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2254a692ed29e6e25bd46737ce06d7d4" + "81349e7995596fe20e501be6ffc0760a" ], [ "FStar.Math.Lemmas.division_propriety", @@ -3116,10 +3029,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d38367d8db4e60e0e60e9e41e2b11f0e" + "0a5a282f806254896580724db9d0aca8" ], [ "FStar.Math.Lemmas.division_definition_lemma_1", @@ -3128,7 +3041,7 @@ 0, [ "@query" ], 0, - "6fd0755b8f17e28c4b720cab510c7bfd" + "4017b1619d995b79c825f5d00120ee9a" ], [ "FStar.Math.Lemmas.division_definition_lemma_2", @@ -3137,7 +3050,7 @@ 0, [ "@query" ], 0, - "e5ec2adb57005d5002086181c47c9ac8" + "c90190c2568ab5b9a09ac673e2d4b6e5" ], [ "FStar.Math.Lemmas.division_definition", @@ -3146,7 +3059,7 @@ 0, [ "@query" ], 0, - "2d28efc7199823655f8a8b41ad1d170c" + "f2914e1aa638321d06929a21681d5ad0" ], [ "FStar.Math.Lemmas.multiple_division_lemma", @@ -3155,7 +3068,7 @@ 0, [ "@query" ], 0, - "a4ad4aad51bf7b5b6a14b0a1a65fd0c8" + "b82e282af9d24ecc4c899aebde933624" ], [ "FStar.Math.Lemmas.multiple_modulo_lemma", @@ -3164,7 +3077,7 @@ 0, [ "@query" ], 0, - "872a288e06d0525d9cf88a7e76efbb99" + "4d9e7469c1a9d0b3e8a8c0924603383e" ], [ "FStar.Math.Lemmas.division_addition_lemma", @@ -3173,10 +3086,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0aac83ab9947edc1ac841f3b641ee9f7" + "2324315a05bc333d67f41b649ddfbfa3" ], [ "FStar.Math.Lemmas.lemma_div_le_", @@ -3185,10 +3098,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "396be26d1e30e397910f8bd375a151e2" + "485fa63df9272a1c4e499de54772837c" ], [ "FStar.Math.Lemmas.lemma_div_le", @@ -3197,10 +3110,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e5e3740267aa6a5266ef30068b11f298" + "4ddcb71978353d04429ff6a46e43e368" ], [ "FStar.Math.Lemmas.division_sub_lemma", @@ -3209,10 +3122,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "93125a19201c0fae23f3a10db450ad29" + "bec4384ecd63a37f528791d008520240" ], [ "FStar.Math.Lemmas.modulo_distributivity", @@ -3221,10 +3134,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "89f30244a419e2a2021bde0fd0746973" + "b6c091cf44c5ec77c0a651540b5a24aa" ], [ "FStar.Math.Lemmas.modulo_addition_lemma", @@ -3233,10 +3146,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "27260b92efd92eaf820980b26cdc6042" + "d3ad3db1a039af981d063711042cf7a5" ], [ "FStar.Math.Lemmas.lemma_mod_sub", @@ -3245,10 +3158,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9f492c25a2e72c36d94bb2a64531d6cd" + "2cf14e90ecc3640b6162cf0dabe9bfdc" ], [ "FStar.Math.Lemmas.mod_mult_exact", @@ -3257,10 +3170,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3eeba2fc46312dd040de4662087b6ddf" + "03b242bcf277bfd22e1aff9ce64b3947" ], [ "FStar.Math.Lemmas.mod_mul_div_exact", @@ -3270,11 +3183,11 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.pos", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "90765a7a196a63470262477b4294ae9d" + "8d240012342d7364d11989319e82caac" ], [ "FStar.Math.Lemmas.mod_pow2_div2", @@ -3283,18 +3196,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", "equation_Prims.pos", "equation_Prims.squash", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "faef55b7037d1629a775f7b74c53e51e" + "87a040950924b9b101cd5b237101d8eb" ], [ "FStar.Math.Lemmas.division_multiplication_lemma", @@ -3304,10 +3215,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8dfe794dcdb7941ddd38ba2dc24ea8ec" + "122537b24a7d01e0671d7ed871001859" ], [ "FStar.Math.Lemmas.modulo_division_lemma_0", @@ -3318,10 +3229,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e33c0090fdac4a7d8db9ad46abdb383b" + "d10543443ffa4755c18e57b1e52255cd" ], [ "FStar.Math.Lemmas.modulo_division_lemma", @@ -3332,10 +3243,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fcc55f9fd6a572c2379ae0f5635d85f7" + "9ed90534026389ac61cc87187848288d" ], [ "FStar.Math.Lemmas.modulo_modulo_lemma", @@ -3345,10 +3256,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "babf3b67288816ff1d7c5d8600bf9786" + "bea506d293dd49e2f48be7af78740f31" ], [ "FStar.Math.Lemmas.pow2_multiplication_division_lemma_1", @@ -3356,12 +3267,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899" + "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "3baa508580ff2398e9b5bc67c30ea7bf" + "5490fde088387049ca71f71fb5d977f9" ], [ "FStar.Math.Lemmas.pow2_multiplication_division_lemma_2", @@ -3369,16 +3279,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "c06b2095c9bcc91234ecdd67da8f9063" + "cf4db190ff9d11a36a9122991adb8656" ], [ "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_1", @@ -3387,11 +3294,11 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "c32acaab1d4e7396f76d7a5bebe4b7ed" + "3dda722b1eb456beb4305b4d94182a8d" ], [ "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_2", @@ -3399,16 +3306,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "d37149d4fad0d92b1fcc1e9a84519382" + "d8c3d45b5be7780a24d31b5d473b52df" ], [ "FStar.Math.Lemmas.pow2_modulo_division_lemma_1", @@ -3416,17 +3320,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", + "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" ], 0, - "3696442a326d9ae47b8d8c668b18462c" + "9235f0833b7f866ce093b74698f7396a" ], [ "FStar.Math.Lemmas.pow2_modulo_division_lemma_2", @@ -3435,7 +3336,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "a0c31f335da3017236cfced14a46d75d" + "80ac5c4caed76f388a91a4bf1ef30379" ], [ "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_1", @@ -3443,15 +3344,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nonzero", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" ], 0, - "a0f8d6ad845cbd148d5b78015830404e" + "fbf399111eaa23c9dafee275b00a9e34" ], [ "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_2", @@ -3459,15 +3357,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nonzero", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" ], 0, - "78cfd84de4ee8bea525d8916546b1803" + "05f3fd1c53b00a9e9376554eb7c8ab45" ], [ "FStar.Math.Lemmas.modulo_add", @@ -3476,10 +3371,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d9a9e2ac96a04e382c681346394f556a" + "67e6eba25c8c09647f3d452a004ab98a" ], [ "FStar.Math.Lemmas.lemma_mod_twice", @@ -3488,10 +3383,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6c14b967c62751c25588cdaf317ba08e" + "c0be83c70db6f80d83393de2117156d6" ], [ "FStar.Math.Lemmas.modulo_sub", @@ -3500,10 +3395,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8b452cb415e84ec96cb8208c28226a5e" + "10bd897a69e4f1aa34a06840794de41b" ], [ "FStar.Math.Lemmas.lemma_mod_plus_injective", @@ -3511,17 +3406,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2ea4f7bd56984fad0ba5cc043203aa3b" + "8e8085bcf5a795c1003eddc4e7d184dc" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Math.Lib.fst.hints b/ulib/FStar.Math.Lib.fst.hints index 301cc2ec7ef..d875fedc6cb 100644 --- a/ulib/FStar.Math.Lib.fst.hints +++ b/ulib/FStar.Math.Lib.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d54f88c3031785bcbf8385eded4b8480" + "e1c2cf57f52cdc5c4a21cbdf7b10b8c6" ], [ "FStar.Math.Lib.lemma_div_def", @@ -23,11 +23,11 @@ "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "24aa83b42712790d41422fb046a85f8f" + "3407ea3477f75d1363d3c3ece770d47a" ], [ "FStar.Math.Lib.mul_lemma", @@ -36,11 +36,12 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "int_inversion", "primitive_Prims.op_Multiply", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "de8021950feb1531fc89d2a505fb3ab7" + "21b86edbea283bcfd5036ade2d6ab2db" ], [ "FStar.Math.Lib.mul_lemma'", @@ -50,10 +51,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a0e45f04560ae4d087e806b2f11fc623" + "e62756023d524833cbfbe371e9132570" ], [ "FStar.Math.Lib.mul_div_lemma", @@ -64,11 +65,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c5286e4eaec4406c0e6a0ecc29e5782c" + "5968fe67ca85fb508f644c1ad2fbae86" ], [ "FStar.Math.Lib.slash_decr_axiom", @@ -77,7 +78,7 @@ 1, [ "@query" ], 0, - "7435af3f46871c4dcf25ae5f3b87d522" + "03b08a680de31521d570f7224861d475" ], [ "FStar.Math.Lib.slash_decr_axiom", @@ -88,11 +89,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "38576fae264fb0b729b89c30cc0f1c31" + "4957778bb42de8d869435fe5c15f0b70" ], [ "FStar.Math.Lib.lemma_mul_minus_distr_l", @@ -104,7 +105,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "559811e031d4bf65d250aa463c2435cb" + "a0cfd3a22d1c4844e30df8ee1b7c525b" ], [ "FStar.Math.Lib.slash_star_axiom", @@ -113,7 +114,7 @@ 1, [ "@query" ], 0, - "578a3778d20ebacb5dce221ef22eb14c" + "a1e4a1e5429422b7d730e363137f8c0f" ], [ "FStar.Math.Lib.slash_star_axiom", @@ -126,11 +127,11 @@ "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cbc08a1a47af60d12d322a0db2fd0c1d" + "0f8d1555d0128ee843ca6d76475dafd3" ], [ "FStar.Math.Lib.log_2", @@ -139,21 +140,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", "int_typing", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "well-founded-ordering-on-nat" ], 0, - "5b5d08f5b8ba7d2a9beb161b230b8f2c" + "17ee966c59337388c9d24677abfc88bb" ], [ "FStar.Math.Lib.powx", @@ -163,16 +161,16 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "e5755f2d001d4cca1ba0ec6fcea91fee" + "d2abc6e3368b74c400ba2012daa30156" ], [ "FStar.Math.Lib.abs", @@ -185,7 +183,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "db11225e47e9626f2c8af6ea138bcf2c" + "1c43de0639c00f5d13fcf9104bd08875" ], [ "FStar.Math.Lib.max", @@ -198,7 +196,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "67fc1bbbfcac40133dc44d56642bbee6" + "935c8ed4936fd2e7fc90e4891526ef81" ], [ "FStar.Math.Lib.min", @@ -211,7 +209,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "20fbfd91edc6194d6521b437d6e104f9" + "5addf418226ef0e5b5a68a07d0979507" ], [ "FStar.Math.Lib.div", @@ -219,20 +217,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ff9466bb31127f8d7f2c05150c0d41c1" + "90ba4a396ab4228f0b51176b6c815998" ], [ "FStar.Math.Lib.div_non_eucl", @@ -244,7 +238,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2b0228076706e31c98872229d9bf277e" + "3fb46a4eb3d586557f2ac54b44345487" ], [ "FStar.Math.Lib.div_non_eucl", @@ -260,7 +254,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ba23e699ce4916055cfdf80c440d8e26" + "bfedb71a762ae6e9a94502a150942a4a" ], [ "FStar.Math.Lib.signed_modulo", @@ -269,21 +263,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Math.Lib.div_non_eucl", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4bc1d61fc92fbec2a01c43f0bdffef55", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_0ffeb4b35eb66c9dc7f43d49d6f24837", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Math.Lib.div_non_eucl" ], 0, - "2a64bfce15f7dd7f1c46c105a5751b55" + "918be7657256478d7e306ad14f4347d5" ], [ "FStar.Math.Lib.op_Plus_Percent", @@ -295,7 +287,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "577fec634b0f3271c6b00af5781f328a" + "e41ed1c965d2ff7c77e8a33283a07966" ], [ "FStar.Math.Lib.op_Plus_Percent", @@ -313,7 +305,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "66d758373ca66c1941603f6391a5e9b2" + "8d48f242d8a78fb36ffa5055d53a7cd9" ], [ "FStar.Math.Lib.powx_lemma1", @@ -323,17 +315,15 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Math.Lib.powx.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", + "@query", "equation_Prims.nat", "equation_with_fuel_FStar.Math.Lib.powx.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Math.Lib.powx" ], 0, - "9140084595ca81dd610333d72467d8b3" + "e28e2a3a533d13425f1caff8e006ed9b" ], [ "FStar.Math.Lib.powx_lemma2", @@ -343,10 +333,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2489c294f4580aeaa298a2167fa2738d" + "00071cbfcff47181a0977791842fc446" ], [ "FStar.Math.Lib.powx_lemma2", @@ -354,16 +344,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e622ab00a3614272e9e47dcff5df758d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7cca429d966f72af88211ec2f5a25925" ], 0, - "c759ac375a8cb01b2affc548bbb09ae0" + "ba6cf460796f89859617803124ca9772" ], [ "FStar.Math.Lib.powx_lemma2", @@ -375,19 +362,19 @@ "@fuel_correspondence_FStar.Math.Lib.powx.fuel_instrumented", "@fuel_irrelevance_FStar.Math.Lib.powx.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", "equation_Prims.nat", + "binder_x_ae567c2fb75be05905677af440075565_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", "equation_with_fuel_FStar.Math.Lib.powx.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Math.Lib.powx", "well-founded-ordering-on-nat" ], 0, - "cb464de81a5ae4f834eec1490309a9e9" + "0abf3dc2ba27d86067aa5d9fd23ae3a4" ], [ "FStar.Math.Lib.abs_mul_lemma", @@ -407,7 +394,7 @@ "typing_FStar.Math.Lib.abs" ], 0, - "0b522181dfc3c28afd97db051c418761" + "0565ae5fa1219442e4785b845aae6e2b" ], [ "FStar.Math.Lib.signed_modulo_property", @@ -420,10 +407,10 @@ "int_inversion", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "12c28baabd0012aef5da777dca0b7adc" + "7e728ecf7f7e461a8928cba004b4ca00" ], [ "FStar.Math.Lib.div_non_eucl_decr_lemma", @@ -431,21 +418,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Math.Lib.abs", - "equation_FStar.Math.Lib.div_non_eucl", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Division", + "@MaxIFuel_assumption", "@query", "equation_FStar.Math.Lib.abs", + "equation_FStar.Math.Lib.div_non_eucl", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4bc1d61fc92fbec2a01c43f0bdffef55", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_0ffeb4b35eb66c9dc7f43d49d6f24837", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Math.Lib.div_non_eucl" ], 0, - "efb8a59e00686dcc262f9df1a24a17bc" + "c75b1612ecbea9b16a933d51a34560b1" ], [ "FStar.Math.Lib.div_non_eucl_bigger_denom_lemma", @@ -453,22 +438,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Math.Lib.abs", + "@MaxIFuel_assumption", "@query", "equation_FStar.Math.Lib.abs", "equation_FStar.Math.Lib.div_non_eucl", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4bc1d61fc92fbec2a01c43f0bdffef55", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_0ffeb4b35eb66c9dc7f43d49d6f24837", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Math.Lib.div_non_eucl" ], 0, - "e30c3c702a81637c125c9444ffa3b277" + "e94b385d889d936a3d497f343406b24a" ], [ "FStar.Math.Lib.lemma_div_def", @@ -480,7 +463,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "31ed15e25d5308f4b57ac07f6d0a6f3a" + "7599ba209ea0de90e07067993ca9362e" ], [ "FStar.Math.Lib.mul_div_lemma", @@ -489,7 +472,7 @@ 1, [ "@query" ], 0, - "a91a7d7ee6cf94357a24838e40322ce5" + "c0f102ea9f5575e487dfd581a5ccccb8" ], [ "FStar.Math.Lib.slash_decr_axiom", @@ -498,7 +481,7 @@ 1, [ "@query" ], 0, - "b6dd176bda35476eebf07fe92138b522" + "c3eb936ba5fbdb1d47e8119fb29b3594" ], [ "FStar.Math.Lib.slash_star_axiom", @@ -507,7 +490,7 @@ 1, [ "@query" ], 0, - "d0c17bb93a40df4a43528dabaa19b487" + "3e70293ea85ae263c04554ea7888f810" ], [ "FStar.Math.Lib.log_2", @@ -516,21 +499,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", "int_typing", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "well-founded-ordering-on-nat" ], 0, - "ee07e289037a7a4faf4778493d2bf0b4" + "0cc040983c76a77ff284f3c0ba8c312a" ], [ "FStar.Math.Lib.powx", @@ -540,16 +520,16 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d0180d4fcd10237cf0d87dd345d77cc_0", + "binder_x_ae567c2fb75be05905677af440075565_0", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "2d34847ef80af019af5829940eff48a3" + "100d81a6f6bb23c21624bda99d36fd63" ], [ "FStar.Math.Lib.abs", @@ -562,7 +542,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ebe155576a1d139d326feff5e86b3c06" + "930fde0df31b626481464a32defae944" ], [ "FStar.Math.Lib.max", @@ -575,7 +555,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "107c9eb1935f1e3afb8087174da2e69d" + "09d84cd4b1f025b20001746669c40fe4" ], [ "FStar.Math.Lib.min", @@ -588,7 +568,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a1b957ea60a7a1f93b630383b814789a" + "c756e57b60905fc63891d96c0f4eb099" ], [ "FStar.Math.Lib.div", @@ -596,20 +576,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", + "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a66c78fb67555679b8a50686788c8b22" + "82dc93cca5ef14d5e1996c67b7c9e02d" ], [ "FStar.Math.Lib.div_non_eucl", @@ -625,7 +601,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2d498f4c7859d4e66adcbbb055dc8371" + "d510e37ecb1082d6cefad0469890b430" ], [ "FStar.Math.Lib.div_non_eucl", @@ -637,7 +613,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e18e59d658d3998fc1ad955eedbfddb8" + "1c9f423fe960b685c91e8048a577e097" ], [ "FStar.Math.Lib.signed_modulo", @@ -646,22 +622,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Math.Lib.div_non_eucl", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", + "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4bc1d61fc92fbec2a01c43f0bdffef55", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_0ffeb4b35eb66c9dc7f43d49d6f24837", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Math.Lib.div_non_eucl" ], 0, - "0c8778d0035936f4d479b5134ceec41e" + "533d7e709f073768639a68196d7d66e4" ], [ "FStar.Math.Lib.op_Plus_Percent", @@ -679,7 +652,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f277542c151ac83fbe9ee60f5abf6ce0" + "405830a66e102e4943b4ca60aded6366" ], [ "FStar.Math.Lib.op_Plus_Percent", @@ -691,7 +664,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "dfef574ec3dd07392f258652a96595ea" + "fa466fbd8d5862d482913700738697b3" ], [ "FStar.Math.Lib.powx_lemma2", @@ -701,10 +674,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2b04082fbef9d4d2bbddda10157d68e4" + "e2f0b2ff8e39ca59094f03cb7b5bddb0" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Matrix2.fsti.hints b/ulib/FStar.Matrix2.fsti.hints index 084553912ab..6816fe48bd9 100644 --- a/ulib/FStar.Matrix2.fsti.hints +++ b/ulib/FStar.Matrix2.fsti.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9991864fc740984fb5c219ffedbbe595" + "45360b47146f57c2947b36ec7a67480f" ], [ "FStar.Matrix2.upd_col", @@ -23,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e2812b6963a786b30f49b7f491aeb3df" + "3cdfefa5fe46a01f42404e1bb8a250a7" ], [ "FStar.Matrix2.lemma_row_len", @@ -37,11 +37,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8aacbc483b482a3b5d78429bf685fec7" + "776e2824f72f23e28d4225f213e3c7e0" ], [ "FStar.Matrix2.lemma_col_len", @@ -51,11 +51,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e8bd7f67856c54131b7aad03c7e3e153" + "84e1d6a39517485543dca89c117909c6" ], [ "FStar.Matrix2.lemma_index_upd2", @@ -63,16 +63,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "db4f492c95aa6decea2487d269478305" + "dedc8a687932f785e9f2f3c61007ab81" ], [ "FStar.Matrix2.lemma_index_row", @@ -81,7 +78,7 @@ 0, [ "@query", "lemma_FStar.Matrix2.lemma_row_len" ], 0, - "c856691de136f4fa93b79ce1bde2dc21" + "d310d465b1e4b8196643a9dae25cc8ac" ], [ "FStar.Matrix2.lemma_index_col", @@ -90,7 +87,7 @@ 0, [ "@query", "lemma_FStar.Matrix2.lemma_col_len" ], 0, - "1df3cbfdd9d95820219438deaf778e31" + "6870e35f5fef92e81441b263d003fcce" ], [ "FStar.Matrix2.lemma_index_upd_row1", @@ -98,17 +95,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" ], 0, - "90cf8aa551d81d4ea467a6f822089bf0" + "e4276d3817c38bd384daaf8dc7da8995" ], [ "FStar.Matrix2.lemma_index_upd_row2", @@ -116,16 +110,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "29b7389920648be75158a318d42b5d12" + "9be0f01216ffd159d25216891965fb62" ], [ "FStar.Matrix2.lemma_index_upd_col1", @@ -133,17 +124,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" ], 0, - "1a30319fda7edc352e4db8804403e92e" + "d35b4eead8a53b219f8bc95cfeb8af69" ], [ "FStar.Matrix2.lemma_index_upd_col2", @@ -151,16 +139,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "24c14b849a651cc1fe5dd0cc7fc229a8" + "d99e227c75634b4c1181fbf4d06592d3" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Modifies.fst.hints b/ulib/FStar.Modifies.fst.hints index ee43ba58cc9..bdf59064f3a 100644 --- a/ulib/FStar.Modifies.fst.hints +++ b/ulib/FStar.Modifies.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_FStar.Modifies.LocBuffer_t" ], 0, - "a783c740b6ed11897a9296393d70ed07" + "f6cba0ff72d3ebca519015929acc03b8" ], [ "FStar.Modifies.loc_aux_in_addr", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "ee56ae7df4e8fbfdbf86edd0912315f1" + "e1e720da31a4a8a9d6b1a09c3500cbba" ], [ "FStar.Modifies.loc_aux_includes_buffer", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "eeea7396cb658204b27956e462cdea47" + "7bb013ab22a3bcb66c26b1b560b037b6" ], [ "FStar.Modifies.loc_aux_includes_refl", @@ -44,7 +44,7 @@ "fuel_guarded_inversion_FStar.Modifies.loc_aux", "l_and-interp" ], 0, - "dc7fc984a0c58212aa4bd78f25800cc5" + "e9e8f411813e796ce6ae51523d31c605" ], [ "FStar.Modifies.loc_aux_includes_buffer_includes", @@ -57,7 +57,7 @@ "equation_Prims.eq2", "l_and-interp" ], 0, - "c0e4c84ae8bdeef0d1720265848a5d53" + "c935b5813c94f288179f0ac5a30cbfc3" ], [ "FStar.Modifies.loc_aux_includes_loc_aux_includes_buffer", @@ -71,7 +71,7 @@ "projection_inverse_FStar.Modifies.LocBuffer_t" ], 0, - "0ff9f4d629bef7ecdef3a4df7f41b6fa" + "bc9263c1896a97f44c86ec0f20234352" ], [ "FStar.Modifies.loc_aux_includes_trans", @@ -86,7 +86,7 @@ "projection_inverse_FStar.Modifies.LocBuffer_t" ], 0, - "a03b053619d91331043ce19a54e23417" + "d7a750f537e1ca20c5ac80e92cd7aa39" ], [ "FStar.Modifies.loc_aux_disjoint_sym", @@ -100,7 +100,7 @@ "fuel_guarded_inversion_FStar.Modifies.loc_aux" ], 0, - "4e3253d5946f663abf7496e5908b804a" + "c5085fe43e02712f0a7f20e8a3a62606" ], [ "FStar.Modifies.loc_aux_disjoint_buffer_includes", @@ -117,7 +117,7 @@ "lemma_FStar.Buffer.lemma_disjoint_symm" ], 0, - "b2c1404db2f5a19f3a94c512c66bd381" + "83dfdc762a9109ade547e9d78c6fa39c" ], [ "FStar.Modifies.loc_aux_disjoint_loc_aux_includes_buffer", @@ -131,7 +131,7 @@ "projection_inverse_FStar.Modifies.LocBuffer_t" ], 0, - "21b9f1a1be3b8948a84fe8a210c718c7" + "364a9110c4e7d8227b08440850552a43" ], [ "FStar.Modifies.loc_aux_disjoint_loc_aux_includes", @@ -147,7 +147,7 @@ "projection_inverse_FStar.Modifies.LocBuffer_t" ], 0, - "aa334e8a85076151ca4f48c782584d50" + "00e89d93d340cbb29c6a1a16069e5535" ], [ "FStar.Modifies.loc_aux_preserved", @@ -156,7 +156,7 @@ 1, [ "@query" ], 0, - "613e979cbb5139f270823613b8f51bc5" + "c129261dee38b55f8f2cc5a4d306907d" ], [ "FStar.Modifies.cls", @@ -212,7 +212,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "50c4649387937d12e234d86e3bcff46f" + "3715f5e10ba09ad88c72b3efe00bdbb8" ], [ "FStar.Modifies.loc_union_idem", @@ -221,7 +221,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_union" ], 0, - "ef6bcf4829fd615021e83285f02c2363" + "776afd816fdc058146f15425192e17e8" ], [ "FStar.Modifies.loc_union_comm", @@ -230,7 +230,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_union" ], 0, - "10efe3829606df84218bb99c8d2a0a58" + "7e7bc649c0ad6e8975f409b611164863" ], [ "FStar.Modifies.loc_union_assoc", @@ -239,7 +239,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_union" ], 0, - "e6a44ab1a97aa31ee0a24a1c2168b919" + "3017660c0b2c0907c961f2420f813a2c" ], [ "FStar.Modifies.loc_union_loc_none_l", @@ -251,7 +251,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "ba938c1f0f36d99b9123bcdadf1f89f3" + "005e677a7db960b4fea0cd89ed4e8c73" ], [ "FStar.Modifies.loc_union_loc_none_r", @@ -263,7 +263,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "8621339148a2cfb05b50812515d2c2ef" + "47ec839f0fdbef26479b4f4743be13e2" ], [ "FStar.Modifies.loc_buffer", @@ -280,7 +280,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4b25887add4f11bd179ea8a0ca7b6c3a" + "a1292e1d346681d988ac8031c2255307" ], [ "FStar.Modifies.loc_addresses", @@ -290,11 +290,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a025c87d4556403da8b7f13bfa44ddcf" + "b0a53058965daacff31d50dfbb634f02" ], [ "FStar.Modifies.loc_mreference", @@ -302,16 +302,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "020c7c5b62f7476eba7a2db4a0d91779" + "013e0e8d6a0dce4c9d8c6ca08487129a" ], [ "FStar.Modifies.loc_freed_mreference", @@ -319,16 +316,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d8ae13ea70ace798419ea3aee73bd81d" + "e6c6b63d902cff251d21bd400790d677" ], [ "FStar.Modifies.loc_includes_refl", @@ -337,7 +331,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_includes" ], 0, - "81115d5261cbb123e3e8b234271941c0" + "4672e427e1b2ea32f283329010c31bb5" ], [ "FStar.Modifies.loc_includes_trans", @@ -346,7 +340,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_includes" ], 0, - "fae709458d3ccae111b24cb5c6f05f1e" + "e0dc989a00288f4c417fdb8a60ae7168" ], [ "FStar.Modifies.loc_includes_union_r", @@ -358,7 +352,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "635fecb36c868e21363705a052501224" + "68eac0a0f848e02fa3d5280eb450f1bb" ], [ "FStar.Modifies.loc_includes_union_l", @@ -370,7 +364,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "937d6c4b479ffc7df9277e494ad8c7af" + "863466856cbabc18bda5f76b4baca9af" ], [ "FStar.Modifies.loc_includes_none", @@ -382,7 +376,7 @@ "equation_FStar.Modifies.loc_none" ], 0, - "b8d3dbc6e904bc038c262371273789e6" + "2d15540dbad9f39a97bf814aac1db07e" ], [ "FStar.Modifies.loc_includes_buffer", @@ -390,8 +384,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.includes", "equation_FStar.Buffer.max_length", @@ -400,23 +393,19 @@ "equation_FStar.Modifies.loc_aux_includes", "equation_FStar.Modifies.loc_aux_includes_buffer", "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_includes", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", + "equation_FStar.Modifies.loc_includes", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.equals", - "interpretation_Tm_abs_4b0c7374e6ca79779c15580ee3994dcc", + "interpretation_Tm_abs_34fb0ead83416abf3beedd0da9136d1a", "l_and-interp", "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", "projection_inverse_FStar.Modifies.LocBuffer_b", "projection_inverse_FStar.Modifies.LocBuffer_t", "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Modifies.loc_aux_includes", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "unit_typing" + "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes" ], 0, - "04fcb0ab27d4eb391a48a4b81aaec57f" + "01afdad4fd0edbbd7557bfdada29b655" ], [ "FStar.Modifies.loc_includes_gsub_buffer_r", @@ -429,7 +418,7 @@ "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb" ], 0, - "187bf9526b72883390aecc8c83579e67" + "25ca39fe28c752ea803b8246a8a1c0eb" ], [ "FStar.Modifies.loc_includes_gsub_buffer_l", @@ -438,7 +427,7 @@ 1, [ "@query" ], 0, - "dcf541a5154faa08fc8fff34436ed362" + "a5e301386617e00a946ff78dab8cc59d" ], [ "FStar.Modifies.loc_includes_gsub_buffer_l", @@ -446,19 +435,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Modifies.loc_includes_buffer", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -471,11 +456,11 @@ "projection_inverse_FStar.Buffer.MkBuffer_content", "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", @@ -483,7 +468,7 @@ "typing_FStar.UInt32.v" ], 0, - "f99847f03995987c744d5b39a0de3d8e" + "7335ec39f36aef55d7c205172ec0bd5f" ], [ "FStar.Modifies.loc_includes_addresses_buffer", @@ -491,16 +476,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7e3ea6eedd83f62beae53dd0b9947101" + "c047fdbc07e7bc7e52a530ccba3ca958" ], [ "FStar.Modifies.loc_includes_addresses_buffer", @@ -510,11 +492,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "504927f1eaca8666d67f8c8f5057ce07" + "bef1d2922204d1ed59171c6ee2a87d8b" ], [ "FStar.Modifies.loc_includes_addresses_buffer", @@ -534,7 +516,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a6403d8516f3fb619d08845392d75662" + "5c051cb6e4b52089b0cf4347c02b0560" ], [ "FStar.Modifies.loc_includes_region_buffer", @@ -554,7 +536,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "197928235489371bc708696abd826243" + "8e911c613a2951cbcb5cbb8f96e5affd" ], [ "FStar.Modifies.loc_includes_region_addresses", @@ -564,11 +546,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "49d0a9e690c3c7c5df1db7f5013c7b65" + "0b1ec3f2fa676bb4f6480edea9004f14" ], [ "FStar.Modifies.loc_includes_region_addresses", @@ -581,7 +563,7 @@ "equation_FStar.Modifies.loc_regions" ], 0, - "ddb4350daa9cdce6ac1f232d469fcc22" + "65f2616c5a7488944da66eb142055282" ], [ "FStar.Modifies.loc_includes_region_region", @@ -594,7 +576,7 @@ "equation_FStar.Modifies.loc_regions" ], 0, - "d364568d507cac5c16d648440df1a345" + "eb849c18710272ef083cd0bb7f15a7d9" ], [ "FStar.Modifies.loc_includes_region_union_l", @@ -608,7 +590,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "f288e0ce8a61e4777ab304541c9ca978" + "fc73ee88fae4cc68657dacf0bfd0f7f5" ], [ "FStar.Modifies.loc_includes_addresses_addresses", @@ -616,16 +598,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "62240c22087b96adad5ca5dba5464258" + "74b3788fddafcbbb25bee2e47ca8bf94" ], [ "FStar.Modifies.loc_includes_addresses_addresses", @@ -638,7 +617,7 @@ "equation_FStar.Modifies.loc_includes" ], 0, - "a17130686378577eb38cc2fa88e573f5" + "dc6cf3201365d434dac253855169cfab" ], [ "FStar.Modifies.loc_disjoint_sym", @@ -647,7 +626,7 @@ 1, [ "@query", "equation_FStar.Modifies.loc_disjoint" ], 0, - "52598856a9d2275312374eba051ac867" + "f0dca6c07ee03a8224ec65d34ce172c1" ], [ "FStar.Modifies.loc_disjoint_sym'", @@ -656,7 +635,7 @@ 1, [ "@query" ], 0, - "55b0705e85aaddaf2836885d199d9872" + "e51226895f02af240d1b17c6edec1c0e" ], [ "FStar.Modifies.loc_disjoint_none_r", @@ -668,7 +647,7 @@ "equation_FStar.Modifies.loc_none" ], 0, - "8efcfc012950d520cf656f54f3c38524" + "7f1e41ef8469b37a8557d7a9b5122a66" ], [ "FStar.Modifies.loc_disjoint_union_r", @@ -680,7 +659,7 @@ "equation_FStar.Modifies.loc_union" ], 0, - "2d4af60fcf2ee39cb4f54cba1e8675a7" + "8febac2a146f538f9a91814d443bb1e4" ], [ "FStar.Modifies.loc_disjoint_includes", @@ -692,7 +671,7 @@ "equation_FStar.Modifies.loc_includes" ], 0, - "dd5328b7d32700232255a1ab55a280e8" + "f7750290f58198d8b62e17416c364b29" ], [ "FStar.Modifies.loc_disjoint_buffer", @@ -700,32 +679,28 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_FStar.Buffer.buffer", "equation_FStar.Modifies.cls", "equation_FStar.Modifies.loc_aux_disjoint", "equation_FStar.Modifies.loc_aux_disjoint_buffer", "equation_FStar.Modifies.loc_aux_in_addr", "equation_FStar.Modifies.loc_buffer", "equation_FStar.Modifies.loc_disjoint", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", + "equation_Prims.pos", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_d9ffb4f5fdab6ba88d4221fe523c7b27", + "interpretation_Tm_abs_b1cbb30c12be5ca2ef54155b39efd135", "l_and-interp", "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", "projection_inverse_FStar.Modifies.LocBuffer_b", "projection_inverse_FStar.Modifies.LocBuffer_t", "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Modifies.loc_aux_disjoint", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "unit_typing" + "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint" ], 0, - "54acade18af8d318727bf50445f24bba" + "c521b7411fc77b2e456db8f3970d3954" ], [ "FStar.Modifies.loc_disjoint_gsub_buffer", @@ -734,7 +709,7 @@ 1, [ "@query" ], 0, - "d5e7be24b30fed18aa08a51a9d29a67d" + "6e2fd6a5951924d6faef8171e98c9647" ], [ "FStar.Modifies.loc_disjoint_gsub_buffer", @@ -742,23 +717,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", - "equation_FStar.Heap.trivial_preorder", + "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", + "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", + "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_FStar.UInt.uint_t", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Modifies.loc_disjoint_buffer", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -772,11 +743,11 @@ "projection_inverse_FStar.Buffer.MkBuffer_content", "projection_inverse_FStar.Buffer.MkBuffer_idx", "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9265fdd54bb9f10215c6f0e077ff98bb", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Buffer.__proj__MkBuffer__item__idx", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", @@ -784,7 +755,7 @@ "typing_FStar.UInt32.v" ], 0, - "b2889cb201c8fc8758b8611574b58536" + "ee1e6d85721c4edc12ccebf5834e9d00" ], [ "FStar.Modifies.loc_disjoint_addresses", @@ -792,16 +763,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a3a9f7215db73027943d9d609be7c48d" + "3b9e02c47c3b8d268804edaafa5f64ed" ], [ "FStar.Modifies.loc_disjoint_addresses", @@ -814,7 +782,7 @@ "equation_FStar.Modifies.loc_disjoint" ], 0, - "b0760cf9ea50b89c9b0ee0004e684c6c" + "2711d3d25ce58e0cf4a805141ea0b24b" ], [ "FStar.Modifies.loc_disjoint_buffer_addresses", @@ -822,16 +790,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "de66350af2d7cfe68d2a709284d70b73" + "97da50b3a274edfa6fce5f3cd72c4640" ], [ "FStar.Modifies.loc_disjoint_buffer_addresses", @@ -841,11 +806,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1f2758790f6b70324a68e30537ddc403" + "6a238c1a5d81c830554aba38dedcb8cb" ], [ "FStar.Modifies.loc_disjoint_buffer_addresses", @@ -865,7 +830,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f25e4648cb860f027df95788f8400b13" + "ebd937cedea914def39e250282ea7ce9" ], [ "FStar.Modifies.loc_disjoint_regions", @@ -877,7 +842,7 @@ "equation_FStar.Modifies.loc_regions" ], 0, - "4731141ae5d1c14d03d63d69c27496d6" + "4244d61e801caedf5436f3c1df0d9b14" ], [ "FStar.Modifies.modifies_mreference_elim", @@ -895,7 +860,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "8689378d00cc38bb75b2a3ff7ecb2f59" + "16623060bd887d3c282287d4288114e6" ], [ "FStar.Modifies.modifies_buffer_elim", @@ -904,7 +869,7 @@ 1, [ "@query" ], 0, - "702184e30ef099b8a640fbb78a263cd9" + "b443a1df8e44a4b2cf71605260dc27da" ], [ "FStar.Modifies.modifies_buffer_elim", @@ -918,21 +883,19 @@ "equation_FStar.Modifies.loc_aux_preserved", "equation_FStar.Modifies.loc_buffer", "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.modifies", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", - "equation_Prims.pos", - "interpretation_Tm_abs_764a10a931707c7bf48468c79b5b9a09", + "equation_FStar.Modifies.modifies", "equation_Prims.pos", + "interpretation_Tm_abs_088844dd1632fd4fe70caf9cf4a3f46c", "l_and-interp", "l_imp-interp", "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", "projection_inverse_FStar.Modifies.LocBuffer_b", "projection_inverse_FStar.Modifies.LocBuffer_t", "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Modifies.loc_aux_preserved", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved" ], 0, - "6525d6529384a53e3fb47459c601f369" + "4ccd3adcd84b4ecfb98ddb7975ed4926" ], [ "FStar.Modifies.modifies_refl", @@ -941,7 +904,7 @@ 1, [ "@query", "equation_FStar.Modifies.modifies" ], 0, - "24435572e9f7f144c276919affb2d031" + "b5c8917b02181ee412c94bff02a2b4e5" ], [ "FStar.Modifies.modifies_loc_includes", @@ -953,7 +916,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "ada45f00c2cc4b28f0aed9e5e7bd8c2c" + "12396590aa7a6119e6bd8fda1e29b968" ], [ "FStar.Modifies.address_liveness_insensitive_buffer", @@ -973,7 +936,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8e4b092c6242ba0582e9386371b32dec" + "77e9c71374f8b0f5a9ad0cb5c259364f" ], [ "FStar.Modifies.address_liveness_insensitive_addresses", @@ -983,11 +946,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "875118a538222bc2aab3fd72252672cb" + "dce929a3de0189d74b240afd9ef5b029" ], [ "FStar.Modifies.address_liveness_insensitive_addresses", @@ -1001,7 +964,7 @@ "equation_FStar.Modifies.loc_includes" ], 0, - "b39f56ea32197c4c4dc10a113c842856" + "1d732e2a22f752af5cfd30fc3fc956e3" ], [ "FStar.Modifies.region_liveness_insensitive_buffer", @@ -1021,7 +984,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "74b5b48cc736ef27162e1b9b86dc0748" + "fb38db905544606e776d3077a7216c19" ], [ "FStar.Modifies.region_liveness_insensitive_addresses", @@ -1031,11 +994,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d76fbd0885aeeb2c541d9ace061bc57a" + "7d877eb265b0ecdd0118fc1f42195b06" ], [ "FStar.Modifies.region_liveness_insensitive_addresses", @@ -1048,7 +1011,7 @@ "equation_FStar.Modifies.region_liveness_insensitive_locs" ], 0, - "d9cbdeadaa08548384b89be807eb3245" + "65e71eeb77f8f14ed7834a05474ce198" ], [ "FStar.Modifies.region_liveness_insensitive_regions", @@ -1061,7 +1024,7 @@ "equation_FStar.Modifies.region_liveness_insensitive_locs" ], 0, - "377e35b597f8bdd6660f119e5b60f7df" + "f8b1e53703f25852ff9f424f58d71893" ], [ "FStar.Modifies.region_liveness_insensitive_address_liveness_insensitive", @@ -1075,7 +1038,7 @@ "equation_FStar.Modifies.region_liveness_insensitive_locs" ], 0, - "d038205344197e046528a8c7aee50808" + "e3186531c25a5f4b440018106d2e05db" ], [ "FStar.Modifies.modifies_liveness_insensitive_mreference", @@ -1097,7 +1060,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "e6f812fca6a0b1f20a21be7d373d7b9f" + "6a7ce85aa8fdf184feb8857f9e2d1d96" ], [ "FStar.Modifies.modifies_liveness_insensitive_buffer", @@ -1122,7 +1085,7 @@ "projection_inverse_FStar.Modifies.LocBuffer_t" ], 0, - "a7de7ce4a10da3c0bb067d367c2e6a8f" + "1834c6ead109b74461b14d36e5cca8eb" ], [ "FStar.Modifies.modifies_liveness_insensitive_mreference_weak", @@ -1142,7 +1105,7 @@ "typing_FStar.Modifies.loc_none" ], 0, - "9ed8f7be389cee3374cd37f4c328f497" + "b8cdb904ddfde798b92251be76a4f6f1" ], [ "FStar.Modifies.modifies_liveness_insensitive_buffer_weak", @@ -1160,7 +1123,7 @@ "typing_FStar.Modifies.loc_buffer", "typing_FStar.Modifies.loc_none" ], 0, - "1e0681dc6664048a1a7697e211274647" + "b2854dfa40c1296e078572f21f71d8ce" ], [ "FStar.Modifies.modifies_liveness_insensitive_region", @@ -1182,7 +1145,7 @@ "typing_FStar.Modifies.loc_region_only" ], 0, - "14e602d4d98d34aeca1e614a50a06864" + "7ed614b3175482773b655cb8fec68b7d" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_mreference", @@ -1207,7 +1170,7 @@ "typing_FStar.Modifies.loc_mreference" ], 0, - "11758cae583c4264a30da4183b3c7d9c" + "12fbc74a4cb2d9b3769e63c2a8912e6d" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_buffer", @@ -1231,7 +1194,7 @@ "typing_FStar.Modifies.loc_buffer" ], 0, - "d9a7b5a81d7403c040133ba310e66b03" + "d351e403345355f44eebd13db0b177fd" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_weak", @@ -1248,7 +1211,7 @@ "typing_FStar.Modifies.loc_region_only" ], 0, - "df3dfb9d3eb6fbfa1956eddce14047d9" + "cf99c3175ec092987741245041d71f0c" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_mreference_weak", @@ -1270,7 +1233,7 @@ "typing_FStar.Monotonic.HyperStack.frameOf" ], 0, - "c0bf7db27fa40772e7584e80a34758c5" + "e8ca0f804702359e219b7000365247de" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_buffer_weak", @@ -1290,7 +1253,7 @@ "typing_FStar.Modifies.loc_none" ], 0, - "3d8ab488ec5aa103427bbe58dd86192f" + "ea088ceae0b58f99f76c14731dcb02df" ], [ "FStar.Modifies.modifies_trans", @@ -1302,7 +1265,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "69a093b2bfce3ea87a6286f9c7a9a8ed" + "b25a4a75250a5dc251be7d9693979609" ], [ "FStar.Modifies.modifies_only_live_regions", @@ -1315,7 +1278,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "a1f519dba84f95614834c89ac3c37c9c" + "8a4e5c1f56c1f36dc43e44e2573e04c4" ], [ "FStar.Modifies.no_upd_fresh_region", @@ -1341,7 +1304,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "c61acd8edf76e9f7d67db0f931992d39" + "d7899242362d555e1675699b0992c8c6" ], [ "FStar.Modifies.modifies_fresh_frame_popped", @@ -1371,7 +1334,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "7cfe28c04b22aa0fc7738cc916d093f9" + "0413ffc27cc8688eddbed419c2947282" ], [ "FStar.Modifies.modifies_loc_regions_intro", @@ -1383,7 +1346,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "2284f3f17f91271b53fd3501a34b21f8" + "7574700960b43b563df82996d62df5ac" ], [ "FStar.Modifies.modifies_loc_addresses_intro", @@ -1393,11 +1356,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1b9c189de7d1dfedffa7268a8239f79c" + "e7ead2012b2843b2d267dbd9b28399e0" ], [ "FStar.Modifies.modifies_loc_addresses_intro", @@ -1417,7 +1380,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "c1a66fd123ddfccff840b1629a470253" + "1d5f99d2d1819561a4d002479e53c5cf" ], [ "FStar.Modifies.modifies_ralloc_post", @@ -1430,7 +1393,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "b43fdef535aeaee6c5ee9eadf8dfefe0" + "915c23c2f134f8343c3156a6b41f5958" ], [ "FStar.Modifies.modifies_salloc_post", @@ -1443,7 +1406,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "c4b2ff7f035da9442bed1e9eeb661baa" + "fda7f714eaab63202b6167b8413083d1" ], [ "FStar.Modifies.modifies_free", @@ -1460,7 +1423,7 @@ "equation_FStar.Monotonic.HyperStack.free" ], 0, - "4282cbc22b3910608b0d106e891494eb" + "c5a60e01e5b9a40823dc53c6651f14d0" ], [ "FStar.Modifies.modifies_none_modifies", @@ -1472,7 +1435,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "caa41dcd37bce6cf13d5ee90aa2f2dd9" + "d8c3b46c279f075c1f1543b1e9669945" ], [ "FStar.Modifies.modifies_buffer_none_modifies", @@ -1481,7 +1444,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", "equation_FStar.Buffer.modifies_none", "equation_FStar.Modifies.loc_none", @@ -1507,8 +1469,8 @@ "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", @@ -1525,7 +1487,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "5c570c83976c5f0192c5f4df44e70658" + "d3a39a0ec6e97ca51ead1da6ebc38368" ], [ "FStar.Modifies.modifies_0_modifies", @@ -1533,9 +1495,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Modifies.loc_none", "equation_FStar.Modifies.modifies", @@ -1557,9 +1517,8 @@ "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", @@ -1569,11 +1528,12 @@ "lemma_FStar.TSet.lemma_mem_tset_of_set", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", @@ -1591,7 +1551,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "218359abe43a20feb77456f9f08c24d4" + "d6a6f2581220cdfc0a5a78fcdcd1f75c" ], [ "FStar.Modifies.modifies_1_modifies", @@ -1599,12 +1559,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Modifies.LocBuffer", "eq2-interp", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Modifies.LocBuffer", "eq2-interp", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", @@ -1644,11 +1600,10 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_764a10a931707c7bf48468c79b5b9a09", - "interpretation_Tm_abs_d9ffb4f5fdab6ba88d4221fe523c7b27", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_088844dd1632fd4fe70caf9cf4a3f46c", + "interpretation_Tm_abs_b1cbb30c12be5ca2ef54155b39efd135", "l_and-interp", "l_imp-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.no_upd_lemma_1", @@ -1669,14 +1624,15 @@ "projection_inverse_FStar.Modifies.LocBuffer_t", "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4191e5465c0e5d96f8f3bbf97a9d083c", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Modifies.loc_aux_disjoint", "token_correspondence_FStar.Modifies.loc_aux_preserved", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", @@ -1698,10 +1654,10 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt32.v" ], 0, - "d84e0e6025a52203c866af93fc3dffbb" + "48624ae582f550905b8469635a2228c9" ], [ "FStar.Modifies.modifies_2_modifies", @@ -1709,11 +1665,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "data_elim_FStar.Modifies.LocBuffer", "eq2-interp", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_FStar.Modifies.LocBuffer", "eq2-interp", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.equal", @@ -1759,15 +1712,15 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_764a10a931707c7bf48468c79b5b9a09", - "interpretation_Tm_abs_d9ffb4f5fdab6ba88d4221fe523c7b27", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_088844dd1632fd4fe70caf9cf4a3f46c", + "interpretation_Tm_abs_b1cbb30c12be5ca2ef54155b39efd135", "l_and-interp", "l_imp-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Buffer.no_upd_lemma_2", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", "lemma_FStar.Map.lemma_SelRestrict", @@ -1788,14 +1741,15 @@ "projection_inverse_FStar.Modifies.LocBuffer_t", "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4191e5465c0e5d96f8f3bbf97a9d083c", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Modifies.loc_aux_disjoint", "token_correspondence_FStar.Modifies.loc_aux_preserved", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", @@ -1819,10 +1773,10 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt32.v" ], 0, - "85dc49ffdfbea37acf0cf507ca9ae673" + "a5463f0f689f25765f151666b4d83a7a" ], [ "FStar.Modifies.modifies_3_modifies", @@ -1830,11 +1784,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "data_elim_FStar.Modifies.LocBuffer", "eq2-interp", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", @@ -1874,6 +1824,7 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.mk_mreference", "equation_FStar.Monotonic.HyperStack.modifies", "equation_FStar.Monotonic.HyperStack.modifies_one", "equation_FStar.Monotonic.HyperStack.modifies_ref", @@ -1889,25 +1840,23 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_764a10a931707c7bf48468c79b5b9a09", - "interpretation_Tm_abs_d9ffb4f5fdab6ba88d4221fe523c7b27", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_088844dd1632fd4fe70caf9cf4a3f46c", + "interpretation_Tm_abs_b1cbb30c12be5ca2ef54155b39efd135", "l_and-interp", "l_imp-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Modifies.loc_includes_refl", "lemma_FStar.Modifies.loc_includes_union_l", "lemma_FStar.Modifies.loc_union_comm", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", + "lemma_FStar.Monotonic.HyperStack.lemma_as_ref_inj", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", "lemma_FStar.TSet.lemma_mem_tset_of_set", @@ -1923,15 +1872,18 @@ "projection_inverse_FStar.Modifies.LocBuffer_t", "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", + "projection_inverse_FStar.Monotonic.HyperStack.MkRef_a", + "projection_inverse_FStar.Monotonic.HyperStack.MkRef_rel", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4191e5465c0e5d96f8f3bbf97a9d083c", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "token_correspondence_FStar.Modifies.loc_aux_disjoint", "token_correspondence_FStar.Modifies.loc_aux_preserved", @@ -1946,10 +1898,10 @@ "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.Modifies.loc_buffer", "typing_FStar.Modifies.loc_union", + "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.as_ref", @@ -1961,10 +1913,10 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt32.v" ], 0, - "bd039afdee4565e3468bdc44064cae80" + "a6395116301a299046a44334d5f845cd" ], [ "FStar.Modifies.modifies_buffer_rcreate_post_common", @@ -1972,11 +1924,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.HyperStack.MkRef", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.unused_in", "equation_FStar.Heap.trivial_preorder", @@ -2003,9 +1952,8 @@ "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelConcat1", @@ -2022,12 +1970,13 @@ "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.__proj__MkBuffer__item__content", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.restrict", @@ -2047,7 +1996,7 @@ "typing_FStar.UInt32.v" ], 0, - "b958b045b89abeefa6f9e6bad1211b18" + "f750abc64ff10ffebf2d9a5f770b643e" ], [ "FStar.Modifies.mreference_live_buffer_unused_in_disjoint", @@ -2055,10 +2004,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.as_addr", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.unused_in", @@ -2078,9 +2025,8 @@ "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Modifies.loc_disjoint_addresses", "lemma_FStar.Modifies.loc_includes_addresses_buffer", "lemma_FStar.Modifies.loc_includes_refl", @@ -2091,11 +2037,12 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -2113,7 +2060,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "4c3a8c8c1e8a8beb6622e2d50790fe36" + "43ab45c8a25e38e54659ff7248abd1c7" ], [ "FStar.Modifies.buffer_live_mreference_unused_in_disjoint", @@ -2121,10 +2068,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.as_addr", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", @@ -2144,9 +2089,8 @@ "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Modifies.loc_disjoint_addresses", "lemma_FStar.Modifies.loc_includes_addresses_buffer", "lemma_FStar.Modifies.loc_includes_refl", @@ -2157,11 +2101,12 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", @@ -2179,7 +2124,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "e5d5f7c1cae7f1bcd4ed915b63b9113c" + "90ddb81722b9248d8330ec052a52d640" ], [ "FStar.Modifies.not_live_region_does_not_contain_addr", @@ -2188,7 +2133,7 @@ 1, [ "@query", "equation_FStar.Modifies.does_not_contain_addr" ], 0, - "16c3d6bac3cb7e23c6a4b2d7129c8386" + "e93cae891a261baab46050b3d675efcb" ], [ "FStar.Modifies.unused_in_does_not_contain_addr", @@ -2197,7 +2142,7 @@ 1, [ "@query" ], 0, - "853ab484918993afb3f0f25a7e5be397" + "7a76203c86d8c8935a162413a9206f64" ], [ "FStar.Modifies.unused_in_does_not_contain_addr", @@ -2206,7 +2151,7 @@ 1, [ "@query", "equation_FStar.Modifies.does_not_contain_addr" ], 0, - "23b321661437afe57f34a45d51c5105a" + "cf56a61be624555d1a3c282ab94328e3" ], [ "FStar.Modifies.addr_unused_in_does_not_contain_addr", @@ -2220,7 +2165,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" ], 0, - "f29ed9f2bd37a662cfb28d1d1560a864" + "b9e8940138edc938eb67bfd00402176e" ], [ "FStar.Modifies.free_does_not_contain_addr", @@ -2230,10 +2175,10 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "33c54bd7c1e9124e2b2b76b5a9b0cc97" + "8c57b3e99a6b43fda16c3073a5d8a2a8" ], [ "FStar.Modifies.free_does_not_contain_addr", @@ -2245,7 +2190,7 @@ "equation_FStar.Monotonic.HyperStack.free" ], 0, - "200f7379d5c0089773cc991bf5cde410" + "29b3c0e2987775740f6adeeb31d46133" ], [ "FStar.Modifies.does_not_contain_addr_elim", @@ -2254,7 +2199,7 @@ 1, [ "@query" ], 0, - "1ac096c174e333463f163d6ee1cf2862" + "1944b8d1aea0484c628f4cf06e299e82" ], [ "FStar.Modifies.does_not_contain_addr_elim", @@ -2263,7 +2208,7 @@ 1, [ "@query", "equation_FStar.Modifies.does_not_contain_addr" ], 0, - "eecaa4926d8ee23b28db363e7a6dd7b3" + "250b81a2645e057d08296583a29b6a88" ], [ "FStar.Modifies.modifies_only_live_addresses", @@ -2271,16 +2216,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2b325375c4b44f42972bd84e2cc2d759" + "3fd7170597b06cd4a886b239e9d35150" ], [ "FStar.Modifies.modifies_only_live_addresses", @@ -2294,7 +2236,7 @@ "equation_FStar.Modifies.modifies" ], 0, - "afc7fef01a8990ef11a46ec320aad8be" + "6998204e8d3b42faf8996236fd875ba9" ], [ "FStar.Modifies.loc_of_cloc_of_loc", @@ -2306,7 +2248,7 @@ "equation_FStar.Modifies.loc_of_cloc" ], 0, - "42a84f39514b084bf23198994c249ed7" + "7b6755b94df4f3e74bf11b489961bd3a" ], [ "FStar.Modifies.cloc_of_loc_of_cloc", @@ -2318,7 +2260,7 @@ "equation_FStar.Modifies.loc_of_cloc" ], 0, - "09a80ee3f64f487453c2bf1e78535928" + "0380826c4f60b8af3a4139b5f93130bf" ], [ "FStar.Modifies.cloc_of_loc_none", @@ -2334,7 +2276,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "5e2d83b250f37d7ec90735c4a190feab" + "2288aa020e68dcbb35ad96c180710012" ], [ "FStar.Modifies.cloc_of_loc_union", @@ -2350,7 +2292,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "92baea9c997c17a38df59f6dba7b48a0" + "078cb3e69f24a28e59a236fd45dbd6e0" ], [ "FStar.Modifies.cloc_of_loc_addresses", @@ -2360,11 +2302,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bd20e63029efa53933832aa80fbf5a60" + "712d31adf1af96395d108825d35495d3" ], [ "FStar.Modifies.cloc_of_loc_addresses", @@ -2374,11 +2316,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f243a1f0528fc667be4406a706b09989" + "dd5aa6d89c52f65b69e98b68de9a1fd7" ], [ "FStar.Modifies.cloc_of_loc_addresses", @@ -2394,7 +2336,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "e2616eddace36a15a85753d36d31bd2e" + "86ab48d16d6deb8211df4e97b661ad57" ], [ "FStar.Modifies.cloc_of_loc_regions", @@ -2410,7 +2352,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "6576cc01619da3ac58421ce389539817" + "569045ef83a7d3c0da451fa8c9e2d9d3" ], [ "FStar.Modifies.loc_includes_to_cloc", @@ -2426,7 +2368,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "6f0814b6a13e24fb20e67643c9294fa0" + "275a2cf7a00a05441c2a764df26bf5c1" ], [ "FStar.Modifies.loc_disjoint_to_cloc", @@ -2442,7 +2384,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "6a1f5ea35f425618d979c4b0b8e23adf" + "36c8f8added3326227a858d8d035d800" ], [ "FStar.Modifies.modifies_to_cloc", @@ -2458,7 +2400,7 @@ "typing_FStar.Modifies.cloc_cls" ], 0, - "06788d73d6c2695f4dd6a9f72df785ac" + "715f4052bb832aa8261a772a25a4c865" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Modifies.fsti.hints b/ulib/FStar.Modifies.fsti.hints index 16e94e5afbc..9bf84f3463a 100644 --- a/ulib/FStar.Modifies.fsti.hints +++ b/ulib/FStar.Modifies.fsti.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b2944d3dd564739372385a1ca10414fe" + "e17b946af0fdddbd3a38e22041c7a758" ], [ "FStar.Modifies.loc_mreference", @@ -21,16 +21,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "63a2402298726f0631031cb5469572cd" + "2a95dc39970263b4073d7cb69082cf99" ], [ "FStar.Modifies.loc_freed_mreference", @@ -38,16 +35,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "efdd330d362e41b5a85ab05cbf4c4c89" + "64a7f09d903db12eb44f85b0fcc6cec8" ], [ "FStar.Modifies.loc_includes_gsub_buffer_l", @@ -56,7 +50,7 @@ 1, [ "@query" ], 0, - "e6d4ec6703cb505f1be3006ad94e55d0" + "101b365a20a4ecc5c209d823e1a82c8d" ], [ "FStar.Modifies.loc_includes_addresses_buffer", @@ -64,16 +58,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "66d7e90548191fad66d0b99f3a473cdf" + "18e673862af122588c8ccb9ff44d0193" ], [ "FStar.Modifies.loc_includes_region_addresses", @@ -83,11 +74,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "edbb7d70471e838f4a2810c4278c3256" + "59fa9de3be359e0f826faa85232a1e48" ], [ "FStar.Modifies.loc_includes_addresses_addresses", @@ -95,16 +86,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7430e6b4259dbff502e543f88e1e03b8" + "be2dc7be619118f722b2e92ffbbadf84" ], [ "FStar.Modifies.loc_disjoint_sym'", @@ -113,7 +101,7 @@ 1, [ "@query" ], 0, - "c90bc233d74654cd1fdd182fc005783c" + "aa1d0b0121721ded5cb0acded0150079" ], [ "FStar.Modifies.loc_disjoint_gsub_buffer", @@ -122,7 +110,7 @@ 1, [ "@query" ], 0, - "60713cc623b5ce6c0b4bb30ffa9c0b39" + "decfeb45af2cf5f80381ccc046d2cd85" ], [ "FStar.Modifies.loc_disjoint_addresses", @@ -130,16 +118,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "40583e3b1ce1b147e888bd9cceee8f9a" + "6cb4b366d07acb08789a76fdb7fd5275" ], [ "FStar.Modifies.loc_disjoint_buffer_addresses", @@ -147,16 +132,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dc721514240aead341f469c50800b0b0" + "212792c40551bc7403be47ec2abb2f18" ], [ "FStar.Modifies.modifies_buffer_elim", @@ -165,7 +147,7 @@ 1, [ "@query" ], 0, - "9361f570d5505f6a225c24b586dd5552" + "6e2bdd371763f672a0151803fab41c96" ], [ "FStar.Modifies.address_liveness_insensitive_addresses", @@ -175,11 +157,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "86a182c260b4b11eeef910be5bddfb23" + "7588319b3af5fc22fd48ebcdff9b7a40" ], [ "FStar.Modifies.region_liveness_insensitive_addresses", @@ -189,11 +171,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d6cf47da3665fb92156ab10567d9a43d" + "62f03e2b0b496f8d1601e596027aeb75" ], [ "FStar.Modifies.modifies_liveness_insensitive_mreference_weak", @@ -212,7 +194,7 @@ "typing_FStar.Modifies.loc_none" ], 0, - "a098689a7a54543b0499d336e5630361" + "ef672cc6ae2c4a63005895584c00ee0d" ], [ "FStar.Modifies.modifies_liveness_insensitive_buffer_weak", @@ -228,7 +210,7 @@ "typing_FStar.Modifies.loc_buffer", "typing_FStar.Modifies.loc_none" ], 0, - "3bab4087d9d7e6852378343662901366" + "78342b531ad79e716bede2ca604db1cc" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_weak", @@ -244,7 +226,7 @@ "typing_FStar.Modifies.loc_region_only" ], 0, - "4a91d10d987b88f9bedda6da9e991f93" + "c9e0f1fd6ac29109830b5a7d39cb2074" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_mreference_weak", @@ -265,7 +247,7 @@ "typing_FStar.Monotonic.HyperStack.frameOf" ], 0, - "69da850f87e82fb6b1cdbbb1c93c4263" + "b9276f0abd460fa0c5bde40aa2d35889" ], [ "FStar.Modifies.modifies_liveness_insensitive_region_buffer_weak", @@ -283,7 +265,7 @@ "typing_FStar.Modifies.loc_none" ], 0, - "72ce1d6e28b4d8c1a78914ec5f75bd0b" + "3fde24b735d3a9c7bc8782aecd19f498" ], [ "FStar.Modifies.modifies_loc_addresses_intro", @@ -293,11 +275,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "21caa733156401764934e019cecf9f5b" + "ae50524a3f41d655b2fe3da8db7ca7a1" ], [ "FStar.Modifies.unused_in_does_not_contain_addr", @@ -306,7 +288,7 @@ 1, [ "@query" ], 0, - "350a60fa4b93b1ef65d12575283c24f0" + "1fb73b3e3c655088ce4af4eb9abe6be4" ], [ "FStar.Modifies.free_does_not_contain_addr", @@ -316,10 +298,10 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c6e70ae11aa70863184ee18c22ba08fb" + "326d2f0316dc03626f2a7b641811fcdd" ], [ "FStar.Modifies.does_not_contain_addr_elim", @@ -328,7 +310,7 @@ 1, [ "@query" ], 0, - "4dc8bdf6bb7e14b55c993910c8f5f8f4" + "561b0ba60478d81fdfd13eadfcb6750b" ], [ "FStar.Modifies.modifies_only_live_addresses", @@ -336,16 +318,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6ca2c9ebd8a0dc6343e354d7bf790631" + "c80f3fa44d265405664ee7ae590c9173" ], [ "FStar.Modifies.cloc_of_loc_addresses", @@ -355,11 +334,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2b0bd30cbbf49e00547a676d42c717a8" + "63bc155bb15f861a86fb557c0ec079db" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.ModifiesGen.fst b/ulib/FStar.ModifiesGen.fst index 8feb2ef2ff4..a4a38cc4e28 100644 --- a/ulib/FStar.ModifiesGen.fst +++ b/ulib/FStar.ModifiesGen.fst @@ -43,6 +43,7 @@ let non_live_addrs_codom (r:addrs_dom regions) = (y: GSet.set nat { r `Set.mem` (Ghost.reveal region_liveness_tags) ==> GSet.subset (GSet.complement GSet.empty) y }) +#reset-options //"--log_queries --query_stats" let live_addrs_codom (regions: Ghost.erased (Set.set HS.rid)) (region_liveness_tags: Ghost.erased (Set.set HS.rid) { Ghost.reveal region_liveness_tags `Set.subset` Ghost.reveal regions } ) @@ -605,9 +606,11 @@ let loc_disjoint_aloc_elim #al #c #r1 #a1 #r2 #a2 b1 b2 = // FIXME: WHY WHY WHY this assert? assert (aloc_disjoint (ALoc #_ #c r1 a1 (Some b1)) (ALoc #_ #c r2 a2 (Some b2))) +#push-options "--z3rlimit 20" let loc_disjoint_addresses_intro #al #c preserve_liveness1 preserve_liveness2 r1 r2 n1 n2 = // FIXME: WHY WHY WHY this assert? assert (loc_aux_disjoint (Ghost.reveal (Loc?.aux (loc_addresses #_ #c preserve_liveness1 r1 n1))) (Ghost.reveal (Loc?.aux (loc_addresses #_ #c preserve_liveness2 r2 n2)))) +#pop-options let loc_disjoint_addresses_elim #al #c preserve_liveness1 preserve_liveness2 r1 r2 n1 n2 = () @@ -1020,6 +1023,7 @@ let modifies_loc_includes #al #c s1 h h' s2 = let modifies_preserves_liveness #al #c s1 s2 h h' #t #pre r = () +#push-options "--z3rlimit_factor 4 --max_fuel 0 --max_ifuel 0" let modifies_preserves_liveness_strong #al #c s1 s2 h h' #t #pre r x = let rg = HS.frameOf r in let ad = HS.as_addr r in @@ -1043,6 +1047,7 @@ let modifies_preserves_liveness_strong #al #c s1 s2 h h' #t #pre r x = end else () end else () end else () +#pop-options let modifies_preserves_region_liveness #al #c l1 l2 h h' r = () @@ -1290,6 +1295,7 @@ let modifies_loc_addresses_intro_weak modifies_preserves_alocs_intro (loc_union (loc_addresses true r s) l) h1 h2 () (fun r' a b -> if r = r' then f a b else () ) +#push-options "--z3rlimit 20" let modifies_loc_addresses_intro #al #c r s l h1 h2 = loc_includes_loc_regions_restrict_to_regions l (Set.singleton r); loc_includes_loc_union_restrict_to_regions l (Set.singleton r); @@ -1301,6 +1307,7 @@ let modifies_loc_addresses_intro #al #c r s l h1 h2 = loc_disjoint_includes (loc_regions #_ #c false (Set.complement (Set.singleton r))) (loc_region_only false r) l' (loc_region_only false r); modifies_loc_addresses_intro_weak r s l' h1 h2; loc_includes_restrict_to_regions l (Set.complement (Set.singleton r)) +#pop-options #reset-options @@ -1373,7 +1380,7 @@ val modifies_strengthen' (requires ((~ (a0 `GSet.mem` addrs_of_loc_weak l r0)) /\ modifies (loc_union l (loc_addresses true r0 (Set.singleton a0))) h h')) (ensures (modifies (loc_union l (loc_of_aloc al0)) h h')) -#push-options "--z3rlimit 128" +#push-options "--z3rlimit 256 --max_fuel 0 --max_ifuel 0" let modifies_strengthen' #al #c l #r0 #a0 al0 h h' alocs = Classical.forall_intro (addrs_of_loc_loc_union_loc_of_aloc_eq_loc_union_loc_addresses_singleton l al0); @@ -1397,7 +1404,9 @@ let modifies_strengthen' #al #c l #r0 #a0 al0 h h' alocs = c.aloc_disjoint_sym al0 b; alocs (fun t pre m -> ()) b end - else () + else begin + assert (loc_disjoint (loc_union l (loc_addresses true r0 (Set.singleton a0))) (loc_of_aloc b)) + end ); assert (modifies (loc_union l (loc_of_aloc al0)) h h') @@ -1482,20 +1491,21 @@ let loc_addresses_unused_in #al c r a h = () let loc_addresses_not_unused_in #al c r a h = () -#set-options "--z3rlimit 16" - +#reset-options "--z3cliopt 'smt.qi.eager_threshold=100' --z3rlimit_factor 4" let loc_unused_in_not_unused_in_disjoint #al c h = - assert (Ghost.reveal (Loc?.aux (loc_unused_in c h)) `loc_aux_disjoint` Ghost.reveal (Loc?.aux (loc_not_unused_in c h))) + assert (Ghost.reveal (Loc?.aux (loc_unused_in c h)) `loc_aux_disjoint` Ghost.reveal (Loc?.aux (loc_not_unused_in c h))); + assert (loc_disjoint #al #c (loc_unused_in #al c h) + (loc_not_unused_in #al c h)) -#reset-options +#push-options "--initial_fuel 2 --max_fuel 2 --initial_ifuel 1 --max_ifuel 1" let not_live_region_loc_not_unused_in_disjoint #al c h0 r = let l1 = loc_region_only false r in let l2 = loc_not_unused_in c h0 in assert (loc_disjoint_region_liveness_tags l1 l2); assert (loc_disjoint_addrs l1 l2); assert (loc_disjoint_aux l1 l2) - +#pop-options #set-options "--z3rlimit 16" let modifies_address_liveness_insensitive_unused_in #al c h h' = @@ -1511,7 +1521,7 @@ let modifies_address_liveness_insensitive_unused_in #al c h h' = assert (lu `loc_includes` lu') #reset-options - +#push-options "--max_fuel 0 --max_ifuel 0" let modifies_only_not_unused_in #al #c l h h' = assert (modifies_preserves_regions l h h'); assert (modifies_preserves_not_unused_in l h h'); @@ -1532,7 +1542,7 @@ let mreference_live_loc_not_unused_in #al c #t #pre h b = loc_includes_trans (loc_not_unused_in c h) (loc_freed_mreference b) (loc_mreference b); () -#reset-options +#reset-options "--z3cliopt 'smt.qi.eager_threshold=100'" let mreference_unused_in_loc_unused_in #al c #t #pre h b = Classical.move_requires (addr_unused_in_does_not_contain_addr h) (HS.frameOf b, HS.as_addr b); @@ -1695,6 +1705,7 @@ let union_aux_of_aux_left : Tot (GSet.set (aloc (cls_union c))) = GSet.comprehend (union_aux_of_aux_left_pred c b s) +#reset-options "--z3cliopt 'smt.qi.eager_threshold=100'" let union_loc_of_loc #al c b l = let (Loc regions region_liveness_tags non_live_addrs live_addrs aux) = l in let aux' : GSet.set (aloc #(cls_union_aloc al) (cls_union c)) = @@ -1751,9 +1762,10 @@ let mem_union_aux_of_aux_left_elim (aux: GSet.set (aloc (c b))) : Lemma (GSet.mem x (union_aux_of_aux_left c b aux) <==> (if None? x.loc then GSet.mem (ALoc x.region x.addr None) aux else (bool_of_cls_union_aloc (Some?.v x.loc) == b /\ GSet.mem (ALoc x.region x.addr (Some (aloc_of_cls_union_aloc (Some?.v x.loc)))) aux))) - [SMTPat (GSet.mem x (union_aux_of_aux_left c b aux))] + [SMTPat (GSet.mem x (union_aux_of_aux_left #al c b aux))] = () +#push-options "--z3rlimit_factor 4" let addrs_of_loc_union_loc_of_loc (#al: (bool -> HS.rid -> nat -> Tot Type)) (c: ((b: bool) -> Tot (cls (al b)))) @@ -1762,7 +1774,7 @@ let addrs_of_loc_union_loc_of_loc (r: HS.rid) : Lemma (addrs_of_loc (union_loc_of_loc c b l) r `GSet.equal` addrs_of_loc l r) - [SMTPat (addrs_of_loc (union_loc_of_loc c b l) r)] + [SMTPat (addrs_of_loc (union_loc_of_loc #al c b l) r)] = () let union_loc_of_loc_none #al c b = @@ -1773,7 +1785,7 @@ let union_loc_of_loc_none #al c b = let union_loc_of_loc_union #al c b l1 l2 = assert (loc_equal #_ #(cls_union c) (union_loc_of_loc c b (loc_union #_ #(c b) l1 l2)) (loc_union #_ #(cls_union c) (union_loc_of_loc c b l1) (union_loc_of_loc c b l2))) -#reset-options +#reset-options "--z3cliopt 'smt.qi.eager_threshold=100'" let union_loc_of_loc_addresses #al c b preserve_liveness r n = assert (loc_equal #_ #(cls_union c) (union_loc_of_loc c b (loc_addresses #_ #(c b) preserve_liveness r n)) (loc_addresses #_ #(cls_union c) preserve_liveness r n)) @@ -1791,7 +1803,8 @@ let union_loc_of_loc_includes_intro : Lemma (requires (larger `loc_includes` smaller)) (ensures (union_loc_of_loc c b larger `loc_includes` union_loc_of_loc c b smaller)) -= let auxl = union_aux_of_aux_left c b (Ghost.reveal (Loc?.aux larger)) in += (); + let auxl = union_aux_of_aux_left c b (Ghost.reveal (Loc?.aux larger)) in let auxs = union_aux_of_aux_left c b (Ghost.reveal (Loc?.aux smaller)) in assert (forall r a . GSet.mem (ALoc r a None) auxs ==> ( GSet.mem (ALoc r a None) (Ghost.reveal (Loc?.aux smaller)) /\ @@ -1803,7 +1816,7 @@ let union_loc_of_loc_includes_intro let doms = aloc_domain (cls_union c) (Loc?.regions smaller) (Loc?.live_addrs smaller) in assert (doml `loc_aux_includes` doms) -#set-options "--z3rlimit 64" +#reset-options "--z3rlimit 100 --max_fuel 0 --max_ifuel 0 --smtencoding.valid_intro true --smtencoding.valid_elim true" let union_loc_of_loc_includes_elim (#al: (bool -> HS.rid -> nat -> Tot Type)) @@ -1865,7 +1878,7 @@ let union_loc_of_loc_includes_elim ); assert (larger `loc_includes` smaller) -#reset-options +#reset-options "--z3cliopt 'smt.qi.eager_threshold=100'" let union_loc_of_loc_includes #al c b s1 s2 = Classical.move_requires (union_loc_of_loc_includes_elim c b s1) s2; @@ -1919,8 +1932,9 @@ let union_loc_of_loc_disjoint_intro assert (auxl ` loc_aux_disjoint` doms); assert (loc_disjoint_aux larger' smaller') -#reset-options +#reset-options "--z3cliopt 'smt.qi.eager_threshold=100'" +#push-options "--z3rlimit 32" let union_loc_of_loc_disjoint_elim (#al: (bool -> HS.rid -> nat -> Tot Type)) (c: ((b: bool) -> Tot (cls (al b)))) @@ -1938,6 +1952,7 @@ let union_loc_of_loc_disjoint_elim let y' = ALoc y.region y.addr (if None? y.loc then None else Some (make_cls_union_aloc b (Some?.v y.loc))) in GSet.mem x' auxl' /\ GSet.mem y' auxs' /\ (aloc_disjoint x' y' ==> aloc_disjoint x y))); assert (auxl `loc_aux_disjoint` auxs) +#pop-options let union_loc_of_loc_disjoint #al c b s1 s2 = Classical.move_requires (union_loc_of_loc_disjoint_elim c b s1) s2; @@ -2047,6 +2062,7 @@ let loc_of_union_loc_union_loc_of_loc #al c b s let loc_of_union_loc_none #al c b = assert (loc_of_union_loc #_ #c b loc_none `loc_equal` loc_none) +#reset-options "--z3rlimit_factor 4 --z3cliopt 'smt.qi.eager_threshold=100' --initial_fuel 2 --max_fuel 2 --initial_ifuel 2 --max_ifuel 2" let loc_of_union_loc_union #al c b l1 l2 = assert (loc_of_union_loc b (l1 `loc_union` l2) `loc_equal` (loc_of_union_loc b l1 `loc_union` loc_of_union_loc b l2)) @@ -2130,7 +2146,7 @@ let raise_loc_includes #al #c l1 l2 = assert (forall (x: aloc c) . GSet.mem x (Ghost.reveal (Loc?.aux l2)) <==> GSet.mem (upgrade_aloc x) (Ghost.reveal (Loc?.aux l2'))); assert (loc_aux_includes (Ghost.reveal (Loc?.aux l1')) (Ghost.reveal (Loc?.aux l2')) <==> loc_aux_includes (Ghost.reveal (Loc?.aux l1)) (Ghost.reveal (Loc?.aux l2))) -#reset-options +#reset-options "--z3cliopt 'smt.qi.eager_threshold=100'" let raise_loc_disjoint #al #c l1 l2 = let l1' = raise_loc l1 in diff --git a/ulib/FStar.ModifiesGen.fst.hints b/ulib/FStar.ModifiesGen.fst.hints index ba13a9b570e..3f2ab45054a 100644 --- a/ulib/FStar.ModifiesGen.fst.hints +++ b/ulib/FStar.ModifiesGen.fst.hints @@ -1,5 +1,5 @@ [ - "c\r\bÑu\t=;~4xûV½\u0001^", + "šGGµQ2Fòñ}’\u0016cSÿì", [ [ "FStar.ModifiesGen.cls", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "cd6f52d5cd749d5e8582c0e53b7fbc48" + "5538564aa4ad0818c8b08a35458f4669" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_includes_refl", @@ -21,7 +21,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes" ], 0, - "556f15ebca90cd612273e43de49ca022" + "ef75bba057a2b57fe5a127b97362dca3" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_includes_trans", @@ -34,7 +34,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes" ], 0, - "d08d8d64f7259e2d52e61e5d46b03efd" + "cec94f27bda594ab49476f3decc043ef" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint_sym", @@ -47,7 +47,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint" ], 0, - "4495a83c4e09fbfbf6f13b6bfafba568" + "8bbd587cbdff2d72ec237a9a33ac812f" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint_includes", @@ -63,7 +63,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes" ], 0, - "1f332810e08cd398344436db0264450f" + "fa6af0a938834657b58f9ce51e36a3d7" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_preserved_refl", @@ -76,7 +76,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved" ], 0, - "6d93cfe6c1c9a040fda1e451bd39ddde" + "7a79f2c8d4c8f984cfb2e1704e17764a" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_preserved_trans", @@ -89,7 +89,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved" ], 0, - "de75312dd014e1b588663c7554eb60df" + "fb2d068df6c70054fdb572e85f129ff4" ], [ "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", @@ -98,7 +98,7 @@ 1, [ "@query" ], 0, - "7126a2b07e31b855c3b3dc8eca38cc27" + "fc377b7ca53925e0ebcdbfd7c732add6" ], [ "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", @@ -111,7 +111,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved" ], 0, - "7f7bef54e27c0b937e022634534ba6e4" + "d3916983982690838218c7c99379ab40" ], [ "FStar.ModifiesGen.__proj__ALoc__item__loc", @@ -125,7 +125,7 @@ "projection_inverse_FStar.ModifiesGen.ALoc_region" ], 0, - "480e6a8e4a6111cf2b39e0cd9de68de5" + "16e2ce41f1b111823a9c8a65b14ccb44" ], [ "FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", @@ -137,7 +137,7 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions" ], 0, - "f0043af60dc5ea5b4169b48918a7e32c" + "6898639ec607b917aca787289a010fd3" ], [ "FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", @@ -151,7 +151,7 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions" ], 0, - "373df5e7e3f26fde52a8eee0150e3ab8" + "802fb6e5ace90a49ee76f724c4f1aa33" ], [ "FStar.ModifiesGen.__proj__Loc__item__live_addrs", @@ -166,7 +166,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs" ], 0, - "355f275db141d1e333286357c7acea9e" + "d5a322338a8e1594c041c1c2bbf698ed" ], [ "FStar.ModifiesGen.__proj__Loc__item__aux", @@ -175,18 +175,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", "equation_FStar.GSet.subset", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", + "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.aloc_domain", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_0ea806169f85c3afb59ecd0212c11c0e", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", + "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "primitive_Prims.op_AmpAmp", @@ -195,23 +191,24 @@ "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.Set.mem", + "typing_FStar.ModifiesGen.aloc_domain", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "0cb10536db7a14b986344388128be861" + "c6b1abf5ba590f2ade4f72226bf1639c" ], [ "FStar.ModifiesGen.loc_none", @@ -220,30 +217,27 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.Set.subset", "equation_Prims.nat", + "equation_FStar.Set.subset", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "typing_FStar.GSet.empty", "typing_FStar.GSet.set", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "8948fd794cc79d262af819405a7599d0" + "9dce19d42a95f8d1f1b4e61902568b15" ], [ "FStar.ModifiesGen.addrs_of_loc_liveness_not_preserved", @@ -255,7 +249,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "528eaa1a8102e8908a02f0558537e53a" + "0148af748b9f6a028aeeb97da5093b54" ], [ "FStar.ModifiesGen.addrs_of_loc_weak", @@ -267,7 +261,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "23ec8f3b6f38fab8170aff3aa54c736e" + "98e19dd9bd539169108dda3f654a1b4d" ], [ "FStar.ModifiesGen.addrs_of_loc_aux", @@ -276,26 +270,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.GSet.subset", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "bool_inversion", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.loc", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_intersect", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", + "int_inversion", "lemma_FStar.GSet.mem_complement", + "lemma_FStar.GSet.mem_intersect", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.ModifiesGen.addrs_of_loc_weak" ], 0, - "f7e8aef67ed1261d6fbc67498cee18a6" + "ef2f2d6818484a3c59447b74765a2cbb" ], [ "FStar.ModifiesGen.addrs_of_loc_aux_prop", @@ -304,13 +297,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_Prims.nat", + "equation_FStar.ModifiesGen.addrs_of_loc_aux", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", "typing_FStar.ModifiesGen.addrs_of_loc_aux" ], 0, - "7a7bd479ac92afffcd731a5c4d7913ee" + "8491f8f13eeb373a051c4637c6937245" ], [ "FStar.ModifiesGen.loc_union", @@ -319,15 +312,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_c4352c624928664845de276aa39693f5", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_7d64430ee634e9b4ed6cf16421408afd", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", @@ -344,11 +335,11 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_89904daa02540d24d4c7ea415c1ee00f", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", + "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "int_inversion", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", + "interpretation_Tm_abs_f744f0117d1ddb0747869165425a7427", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", @@ -366,15 +357,16 @@ "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", @@ -391,10 +383,10 @@ "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "ebb85ca0f2587a64f238f7f3561ad0d0" + "58dfe2db428f9f55bdf1d1cb91a5d32d" ], [ "FStar.ModifiesGen.fun_set_equal_elim", @@ -403,21 +395,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.is_restricted_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.i_restricted_g_t", - "interpretation_Tm_abs_2ff7c7866c1f6f989379d97d8dbbbe4b", + "interpretation_Tm_abs_aa5f25db0d54924745a377f4c8b05107", "lemma_FStar.FunctionalExtensionality.extensionality_g", "lemma_FStar.GSet.lemma_equal_elim", "refinement_interpretation_Tm_refine_72e14f4dd3890277b435f55389f9b334", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "typing_Tm_abs_2ff7c7866c1f6f989379d97d8dbbbe4b" + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "typing_Tm_abs_aa5f25db0d54924745a377f4c8b05107" ], 0, - "8b46d75cb2ff9c432f0615e6b794799a" + "c52aba08cb256b625228d666e5f03838" ], [ "FStar.ModifiesGen.loc_equal", @@ -426,7 +418,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.fun_set_equal", @@ -434,7 +426,6 @@ "equation_FStar.ModifiesGen.non_live_addrs_codom", "equation_Prims.nat", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_Prims.nat", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Set.lemma_equal_elim", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", @@ -443,15 +434,16 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" ], 0, - "be5df08362d7d41bfe71a1a52d9d1f44" + "717f159fe37c561a1b7d72f446c94128" ], [ "FStar.ModifiesGen.loc_equal_elim", @@ -460,7 +452,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_equal", "equation_Prims.nat", + "equation_FStar.ModifiesGen.loc_equal", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", @@ -472,8 +464,8 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", @@ -481,7 +473,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" ], 0, - "e3fa84108420650b44a87dcb32fee5dd" + "3a02966f0f22037474f7f61619f60a4d" ], [ "FStar.ModifiesGen.loc_union_idem", @@ -490,12 +482,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", @@ -515,9 +507,8 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_union", @@ -536,13 +527,14 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", @@ -557,11 +549,11 @@ "typing_FStar.ModifiesGen.loc_union", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "adec36fe6120308479a95473345c8ae8" + "c92ed1de3c90d57c862ecae2614dcc1c" ], [ "FStar.ModifiesGen.loc_union_comm", @@ -570,14 +562,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", @@ -594,10 +585,9 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_intro", @@ -618,14 +608,14 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", @@ -633,18 +623,17 @@ "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_union", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "af18c8385d5b9423748ebeab683c6faf" + "3072998679f92ee6a4a83684e4d7ee77" ], [ "FStar.ModifiesGen.loc_union_assoc", @@ -653,14 +642,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", @@ -680,10 +668,9 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", @@ -703,33 +690,33 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", + "typing_FStar.FunctionalExtensionality.on_domain_g", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_union", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "3e86e0ccc8d02de4f40d318302594be4" + "37c811dff54d8f0381bcfd3cd2dd3db7" ], [ "FStar.ModifiesGen.loc_union_loc_none_l", @@ -738,14 +725,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", @@ -765,10 +751,9 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", @@ -789,14 +774,15 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", @@ -813,11 +799,11 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "ed4cba2e11a72518979688e14c53208e" + "a90a92555d2b3b05f4c22cb4986adb28" ], [ "FStar.ModifiesGen.loc_union_loc_none_r", @@ -826,14 +812,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", @@ -853,10 +838,9 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", @@ -877,14 +861,15 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", @@ -901,11 +886,11 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "f2edd0b1fb7fc53dd890acde4033eda5" + "198486266e09989ab8146ec02ddfd6ff" ], [ "FStar.ModifiesGen.loc_of_aloc", @@ -914,18 +899,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -940,12 +923,11 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.mk_non_live_addrs", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_25febcefd8ca354de9f58580779f2c54", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_da188320ddef2b8809b803439f71da6f", + "int_inversion", + "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "interpretation_Tm_abs_cbe75d0133a4b6ddf670cd9ba1b04b6c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", @@ -958,9 +940,10 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", @@ -973,10 +956,10 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "c4aa0dcffd1d71c9301a7fa307770640" + "7fec09226855abe3b36b981cd99c6d0d" ], [ "FStar.ModifiesGen.loc_of_aloc_not_none", @@ -985,12 +968,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.loc_none", - "equation_FStar.ModifiesGen.loc_of_aloc", "equation_Prims.nat", + "equation_FStar.ModifiesGen.loc_of_aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_singleton", "lemma_FStar.Ghost.reveal_hide", @@ -999,7 +982,7 @@ "typing_FStar.GSet.singleton" ], 0, - "5117b105ef2000989f884c1da727fe7a" + "2a464a2bdabacfc5cc2f6b3ae324bd6c" ], [ "FStar.ModifiesGen.loc_addresses", @@ -1009,11 +992,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d244438ebc1db7fd1e4db9cf5c49556e" + "4d6c7ca86803f542398579a997709984" ], [ "FStar.ModifiesGen.loc_addresses", @@ -1023,11 +1006,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3b00303e2b9d47f386b044202c46b4fd" + "fcec9394434821f80d5917897297609e" ], [ "FStar.ModifiesGen.loc_addresses", @@ -1036,17 +1019,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "equation_FStar.FunctionalExtensionality.feq_g", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.mk_live_addrs", @@ -1059,14 +1040,13 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.mk_non_live_addrs", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_da188320ddef2b8809b803439f71da6f", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "interpretation_Tm_abs_cbe75d0133a4b6ddf670cd9ba1b04b6c", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", @@ -1077,12 +1057,13 @@ "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ac7e6399eb171fa49b1d23a03b7fe5b6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5785e4f87daa9d1fb2440f731e065aab", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", @@ -1094,10 +1075,10 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "ae9ddaf7813878aac381a9d1c88ac2a4" + "35e9e308d2555e7f028efe98d0a42223" ], [ "FStar.ModifiesGen.loc_regions", @@ -1106,19 +1087,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "equation_FStar.GSet.subset", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "bool_inversion", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.loc_regions_region_liveness_tags", "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_553bac2faa7ecdcbf1df09e94273c723", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "interpretation_Tm_abs_d7845686051d8aee2972656fa77a56b9", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.subset_mem", @@ -1126,18 +1105,19 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.reveal", + "projection_inverse_BoxBool_proj_0", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "42170d21558d9b56e12fb55649ca6815" + "f2345ad3924644c244d8ec2b058410ac" ], [ "FStar.ModifiesGen.loc_mreference", @@ -1145,16 +1125,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "baf83d5fefb87550d1c3beec2e5eb294" + "c0b810f5a77f901b9a3cc1a5b203ccdb" ], [ "FStar.ModifiesGen.loc_freed_mreference", @@ -1162,16 +1139,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "011c4402b602dd88ced07d91cfd7dfbf" + "0e8c94eacd5b0497de33688196e687a2" ], [ "FStar.ModifiesGen.aloc_includes", @@ -1183,7 +1157,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d18937a6d324c5e804fe1a6be6a4de29" + "b9a8ff6cd51d92be8d417db26004c5e1" ], [ "FStar.ModifiesGen.loc_aux_includes_union_l", @@ -1201,7 +1175,7 @@ "typing_FStar.GSet.mem" ], 0, - "f4fcdf2d1e2106351d966f5f2a947bbd" + "0b12f8c325a3ee7ec888deab569a6b9c" ], [ "FStar.ModifiesGen.loc_aux_includes_refl", @@ -1210,18 +1184,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.ModifiesGen.aloc_includes", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "bool_inversion", "equation_FStar.ModifiesGen.aloc_includes", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.loc_aux_includes", "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "kinding_FStar.ModifiesGen.aloc@tok", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.ModifiesGen.ALoc_loc", + "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "typing_FStar.GSet.mem", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", @@ -1230,7 +1202,7 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v" ], 0, - "e3c57bcec036ae451626884f79def30a" + "d7fe596609bd5f779b411752caf2fdcb" ], [ "FStar.ModifiesGen.loc_aux_includes_subset", @@ -1239,19 +1211,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.ModifiesGen.aloc_includes", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "bool_inversion", "equation_FStar.ModifiesGen.aloc_includes", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.loc_aux_includes", "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.subset_mem", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.ModifiesGen.ALoc_loc", + "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", "typing_FStar.GSet.mem", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", @@ -1260,7 +1230,7 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v" ], 0, - "27f650942e53cd936c5f6f242423383d" + "b2813608e2159ecf472ee1816c2476ef" ], [ "FStar.ModifiesGen.loc_aux_includes_union_l_r", @@ -1269,7 +1239,7 @@ 1, [ "@query" ], 0, - "8db78e7d85ca5e0084871898500fed88" + "3c3e8de6b26f0411b011bb401898d046" ], [ "FStar.ModifiesGen.loc_aux_includes_union_l_l", @@ -1278,7 +1248,7 @@ 1, [ "@query" ], 0, - "881d0a7ae9eedbff49a5e3e100edeea5" + "c3cc5dc227acda756fb68be9eaa77881" ], [ "FStar.ModifiesGen.loc_aux_includes_buffer_includes", @@ -1287,14 +1257,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "bool_inversion", "bool_typing", - "data_elim_FStar.Pervasives.Native.Some", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.ModifiesGen.aloc_includes", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "kinding_FStar.ModifiesGen.aloc@tok", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.ModifiesGen.ALoc_loc", @@ -1305,10 +1273,11 @@ "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.Pervasives.Native.__proj__Some__item__v" + "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "037feb8c094a5adc2baa25f9ea899731" + "387aea3e15f5ddf57eeb536b734c614b" ], [ "FStar.ModifiesGen.loc_aux_includes_loc_aux_includes_buffer", @@ -1322,7 +1291,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc" ], 0, - "24864c7fca01ba07d40760be162f3a8c" + "c63c1c0fea40120165c1cc9378bd950a" ], [ "FStar.ModifiesGen.loc_aux_includes_trans", @@ -1331,15 +1300,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "bool_inversion", "bool_typing", - "data_elim_FStar.Pervasives.Native.Some", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.ModifiesGen.aloc_includes", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.loc_aux_includes", "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "kinding_FStar.ModifiesGen.aloc@tok", "primitive_Prims.op_AmpAmp", @@ -1351,10 +1318,11 @@ "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.Pervasives.Native.__proj__Some__item__v" + "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "2f32cc909a2a9e98b0bd25e60a0987f6" + "b7938b40622d9680981432f01f00a216" ], [ "FStar.ModifiesGen.addrs_of_loc_weak_loc_union", @@ -1363,12 +1331,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc_weak", @@ -1379,9 +1346,8 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", + "int_inversion", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.lemma_equal_intro", @@ -1397,13 +1363,14 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "typing_FStar.GSet.mem", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc_weak", @@ -1411,10 +1378,10 @@ "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d" + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "9fe789d3739178ca89dcf24a53f5609b" + "9c91ab89c47ec2654b02ec42acd715a1" ], [ "FStar.ModifiesGen.addrs_of_loc_union", @@ -1423,10 +1390,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "equation_FStar.GSet.subset", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "bool_inversion", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", @@ -1437,10 +1403,9 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", + "int_inversion", "kinding_FStar.ModifiesGen.aloc@tok", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.lemma_equal_intro", @@ -1449,17 +1414,17 @@ "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.Loc_aux", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_aux", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", @@ -1470,11 +1435,10 @@ "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "2c51bbc71cbb325fe3407896947c597e" + "1f02fc519d02f29d30bf1997bd5bc0fa" ], [ "FStar.ModifiesGen.loc_includes", @@ -1483,11 +1447,11 @@ 1, [ "@MaxIFuel_assumption", "@query", "lemma_FStar.Set.subset_mem", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", "typing_FStar.Monotonic.HyperHeap.rid" ], 0, - "1dc9ac356d4f5746178d3254748e6903" + "923dd0df58d6d1f44d7245d79c62b774" ], [ "FStar.ModifiesGen.loc_includes_refl", @@ -1501,12 +1465,12 @@ "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5" + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37" ], 0, - "06e8ffe7dc22cf3b1451b8d7fb9ac5bd" + "7c2fb6fc0ba5ffa1f964a89a1f2de5cd" ], [ "FStar.ModifiesGen.loc_includes_trans", @@ -1514,8 +1478,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_weak", @@ -1523,29 +1486,27 @@ "equation_FStar.ModifiesGen.loc_includes", "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Set.mem_subset", + "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "int_inversion", + "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "lemma_FStar.GSet.mem_subset", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.Set.mem", + "typing_FStar.ModifiesGen.addrs_of_loc_weak", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set" ], 0, - "c6e81371224c879a4b2a9c88710a6cd3" + "a6af3191ae4678d63b6acda92b028d85" ], [ "FStar.ModifiesGen.loc_includes_union_r", @@ -1554,12 +1515,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", @@ -1576,13 +1536,12 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", @@ -1601,14 +1560,15 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.GSet.union", @@ -1622,10 +1582,10 @@ "typing_FStar.ModifiesGen.loc_union", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840" ], 0, - "6a68990b9070fb5fefadc11a9bca33dd" + "339e770367d6aeb86e201c0a0423d497" ], [ "FStar.ModifiesGen.loc_includes_union_l", @@ -1634,13 +1594,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", @@ -1652,24 +1610,23 @@ "equation_FStar.ModifiesGen.loc_union", "equation_FStar.ModifiesGen.non_live_addrs_codom", "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.l_Forall", - "equation_Prims.nat", "equation_Prims.squash", + "equation_FStar.Set.subset", "equation_Prims.nat", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_union", "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_BarBar", + "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", @@ -1679,14 +1636,15 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", @@ -1701,10 +1659,10 @@ "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", "unit_typing" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840" ], 0, - "0df9b5161a9271600f9b0679c294f0bb" + "6374dc355a8a3f5030b7b636a55e992e" ], [ "FStar.ModifiesGen.loc_includes_none", @@ -1713,10 +1671,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "equation_FStar.GSet.subset", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "bool_inversion", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", @@ -1729,20 +1686,19 @@ "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", + "int_inversion", "kinding_FStar.ModifiesGen.aloc@tok", + "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_empty", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", @@ -1750,12 +1706,13 @@ "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", @@ -1765,13 +1722,13 @@ "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_none", + "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.Set.mem", "typing_FStar.Set.set", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "83b1f1455f0df109ea387d9aaa00348b" + "dfe4a2b1d374c6deb86165d5f6389bda" ], [ "FStar.ModifiesGen.loc_includes_none_elim", @@ -1807,9 +1764,9 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", @@ -1820,7 +1777,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.set" ], 0, - "f4a94d684af85b236163c9226030da82" + "1f415227f4bedff095c6532d27909ee6" ], [ "FStar.ModifiesGen.loc_includes_aloc", @@ -1829,23 +1786,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_1c41616afd4ab31e4b3b4b46cf8a03e8", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", + "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", @@ -1858,34 +1811,26 @@ "equation_FStar.ModifiesGen.loc_aux_includes_buffer", "equation_FStar.ModifiesGen.loc_includes", "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.mk_live_addrs", "equation_FStar.ModifiesGen.regions_of_loc", "equation_FStar.Set.subset", "equation_Prims.l_Exists", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", + "int_inversion", "kinding_FStar.ModifiesGen.aloc@tok", + "kinding_Prims.dtuple2@tok", "l_and-interp", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", + "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", + "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_singleton", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -1906,37 +1851,32 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.loc_of_aloc", "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", + "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", "unit_typing" + "typing_Prims.squash", + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_678d7502352de69ff283cdc5c173e000" ], 0, - "f0b16d6a2315d851e9359863486548dd" + "9beb103ecaa19c2339a329f8419db258" ], [ "FStar.ModifiesGen.loc_includes_aloc_elim", @@ -1945,7 +1885,7 @@ 1, [ "@query" ], 0, - "2aefd0dfff97a7ec78527dab7515a79e" + "7df4fa80262d9321651ec444b3551059" ], [ "FStar.ModifiesGen.loc_includes_aloc_elim", @@ -1954,15 +1894,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", @@ -1982,10 +1922,9 @@ "equation_FStar.ModifiesGen.regions_of_loc", "equation_Prims.nat", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_0ea806169f85c3afb59ecd0212c11c0e", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_singleton", @@ -2013,10 +1952,11 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", @@ -2031,12 +1971,12 @@ "typing_FStar.ModifiesGen.loc_of_aloc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "b6c8857c2b6b3c5e141b94d08c077671" + "0c069c0cfa2396590750254f494b3f58" ], [ "FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", @@ -2045,16 +1985,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_86e359938e7e1de8a72d2796865dfad4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_1c41616afd4ab31e4b3b4b46cf8a03e8", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -2072,12 +2011,12 @@ "equation_Prims.l_Exists", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.cls", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", + "int_inversion", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", @@ -2085,10 +2024,9 @@ "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", - "lemma_FStar.Set.mem_singleton", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", @@ -2100,12 +2038,13 @@ "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", @@ -2122,11 +2061,11 @@ "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Prims.l_Exists", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_eb1362892fd02b8e329b33dec38e5c63", "unit_typing" + "typing_Tm_abs_678d7502352de69ff283cdc5c173e000", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4" ], 0, - "1ea8ef5bfca5546311bcf92897c136f1" + "85b4ff88f98288e7fb41f5e8d25c4771" ], [ "FStar.ModifiesGen.loc_includes_addresses_aloc", @@ -2134,16 +2073,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "614d77ab38e4c71dda9f5c6ebb03e354" + "2171cb54dd582069afc819dbcea5a8d1" ], [ "FStar.ModifiesGen.loc_includes_addresses_aloc", @@ -2153,11 +2089,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5f7f30a5a5dc6ac9ed0924ab8d6af231" + "6c8a6a34a3aaf532119233987f31b926" ], [ "FStar.ModifiesGen.loc_includes_addresses_aloc", @@ -2166,19 +2102,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -2206,25 +2140,23 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_25febcefd8ca354de9f58580779f2c54", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", + "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_singleton", + "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", @@ -2244,13 +2176,14 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", @@ -2271,13 +2204,13 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_25febcefd8ca354de9f58580779f2c54", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "0c4874b7fda3461bde610c18c8d9dcad" + "44d4c56a7ae01b495c79e262fc25ea4b" ], [ "FStar.ModifiesGen.loc_includes_region_aloc", @@ -2286,18 +2219,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -2309,7 +2240,6 @@ "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.live_addrs_codom", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_includes", "equation_FStar.ModifiesGen.loc_includes", "equation_FStar.ModifiesGen.loc_of_aloc", "equation_FStar.ModifiesGen.loc_regions", @@ -2324,18 +2254,17 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_0ea806169f85c3afb59ecd0212c11c0e", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_25febcefd8ca354de9f58580779f2c54", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_8ea8bf9ec520c592cc1e7e1efc518351", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", @@ -2363,16 +2292,15 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_kinding_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", @@ -2389,15 +2317,16 @@ "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_of_aloc", "typing_FStar.ModifiesGen.loc_regions", + "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_25febcefd8ca354de9f58580779f2c54", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "47e719616d01cee814994afd5267e33b" + "e315a7b025964b3b71cdf6811a77609c" ], [ "FStar.ModifiesGen.loc_includes_region_addresses", @@ -2407,11 +2336,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "187865162158b0d31e9ad21f82e5c7f8" + "5ca96421e0a1924e8fef28278e061641" ], [ "FStar.ModifiesGen.loc_includes_region_addresses", @@ -2421,11 +2350,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9fcd888c72661842f444d3d054aee076" + "b34fb9378f4465a10fb0c92d7e830b32" ], [ "FStar.ModifiesGen.loc_includes_region_addresses", @@ -2434,17 +2363,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -2468,19 +2395,19 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "interpretation_Tm_abs_8ea8bf9ec520c592cc1e7e1efc518351", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "int_inversion", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", @@ -2488,10 +2415,9 @@ "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.subset_mem", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", @@ -2505,17 +2431,16 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_kinding_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -2532,16 +2457,17 @@ "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_addresses", "typing_FStar.ModifiesGen.loc_regions", + "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", "unit_typing" + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "5c9a201c6e18bb2b1e85a4611613e6a9" + "2cb6b3445fc848b6d7f08f61dc830660" ], [ "FStar.ModifiesGen.loc_includes_region_region", @@ -2550,16 +2476,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_7dbd0215ec8f092a55eac642eb64b630", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -2569,6 +2494,7 @@ "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.live_addrs_codom", "equation_FStar.ModifiesGen.loc", + "equation_FStar.ModifiesGen.loc_aux_includes", "equation_FStar.ModifiesGen.loc_includes", "equation_FStar.ModifiesGen.loc_regions", "equation_FStar.ModifiesGen.loc_regions_region_liveness_tags", @@ -2582,28 +2508,26 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_8ea8bf9ec520c592cc1e7e1efc518351", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "int_inversion", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.subset_mem", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", @@ -2616,17 +2540,18 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_kinding_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_1cb205649cdc40b05ce266c36e225954", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_d7180128445b732e103aa91b579ee840", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -2648,10 +2573,11 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", "unit_typing" + "typing_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "7bd550e16a7debf0636aa098c239fb93" + "1666b9ac58175768ca32c08cb960746d" ], [ "FStar.ModifiesGen.loc_includes_region_union_l", @@ -2660,19 +2586,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", + "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", + "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.fun_set_equal", @@ -2690,21 +2617,24 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_8ea8bf9ec520c592cc1e7e1efc518351", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "int_inversion", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.hide_reveal", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.ModifiesGen.loc_equal_elim", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", @@ -2712,6 +2642,7 @@ "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", + "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", @@ -2724,26 +2655,24 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_kinding_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", + "typing_FStar.GSet.mem", "typing_FStar.GSet.set", + "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc_weak", @@ -2754,12 +2683,12 @@ "typing_FStar.Set.complement", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "67c3b0970a69adddf1ee90d9b6e9e763" + "4255f272e528f64870f5dc7c2c9b4738" ], [ "FStar.ModifiesGen.loc_includes_addresses_addresses", @@ -2767,16 +2696,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "339e901540dc0c6cde6579500e96121f" + "e618a8d3cafc34054adfa4eaa61c524c" ], [ "FStar.ModifiesGen.loc_includes_addresses_addresses", @@ -2784,16 +2710,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "245c8be21934d7c9fd58861a7cdcd946" + "b60ca334d27a3b978187013844cb38b4" ], [ "FStar.ModifiesGen.loc_includes_addresses_addresses", @@ -2802,18 +2725,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_1c41616afd4ab31e4b3b4b46cf8a03e8", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -2834,30 +2756,28 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", + "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_singleton", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", @@ -2870,14 +2790,15 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -2897,12 +2818,14 @@ "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a", "unit_typing" + "typing_Prims.squash", + "typing_Tm_abs_678d7502352de69ff283cdc5c173e000", + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "39fa1a01db67d7863f81002ed182ef10" + "8831d25f322b4140772c10c609181183" ], [ "FStar.ModifiesGen.aloc_disjoint", @@ -2910,18 +2833,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ab795012194751040889320f182a4182" + "cb1032c00e6f9852debd48e902dd4eb2" ], [ "FStar.ModifiesGen.aloc_disjoint_sym", @@ -2944,7 +2864,7 @@ "typing_FStar.ModifiesGen.__proj__ALoc__item__region" ], 0, - "132e023f1e84af97bcfcdee148810b48" + "65b7e820a0a136788067d3d34074256e" ], [ "FStar.ModifiesGen.loc_aux_disjoint_union_l", @@ -2961,7 +2881,7 @@ "typing_FStar.GSet.mem" ], 0, - "11901856d57cfcdaa687c9049e3a3271" + "f3c624c89c305f50cd75f2340b3f9bde" ], [ "FStar.ModifiesGen.loc_aux_disjoint_union_r", @@ -2978,7 +2898,7 @@ "typing_FStar.GSet.mem" ], 0, - "e88a16ba72fd43fe01f653c3258f0374" + "15cf32d4ce31f277d581ec3b0d1e9852" ], [ "FStar.ModifiesGen.loc_aux_disjoint_sym", @@ -2987,7 +2907,7 @@ 1, [ "@query", "equation_FStar.ModifiesGen.loc_aux_disjoint" ], 0, - "4dd60555759f4bff3f90e87ad28be034" + "20b1aeb4c7753e713faf5d2d27d31448" ], [ "FStar.ModifiesGen.regions_of_loc_loc_union", @@ -3009,7 +2929,7 @@ "typing_FStar.Set.union" ], 0, - "14642ad56693b0b592925429fe25f6a7" + "5976c511e3dfb4c5543e137108177504" ], [ "FStar.ModifiesGen.regions_of_loc_monotonic", @@ -3021,7 +2941,7 @@ "equation_FStar.ModifiesGen.regions_of_loc", "l_and-interp" ], 0, - "be2f7fe57f76d8b676963bdc2a7d0e41" + "346fd3dd04eac08aca58d18007b9076e" ], [ "FStar.ModifiesGen.loc_disjoint_sym", @@ -3041,15 +2961,15 @@ "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_Prims.nat", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", @@ -3059,7 +2979,7 @@ "typing_FStar.Set.intersect", "typing_FStar.Set.set" ], 0, - "6fcb17d74a1c10bfe51410c214f090e8" + "9de546b0e4a04f843e22c8ff0028dbc4" ], [ "FStar.ModifiesGen.loc_disjoint_none_r", @@ -3068,10 +2988,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "equation_FStar.GSet.subset", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "bool_inversion", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", @@ -3090,16 +3009,13 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "int_inversion", "kinding_FStar.ModifiesGen.aloc@tok", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", @@ -3107,10 +3023,11 @@ "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", @@ -3122,11 +3039,10 @@ "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "fc55dd8eb315eddb8e5367b0302bef0e" + "9b2f38d2fdbb48cd91220d39c0ffc84a" ], [ "FStar.ModifiesGen.loc_disjoint_union_r", @@ -3148,7 +3064,6 @@ "equation_FStar.ModifiesGen.loc_union", "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_Prims.nat", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", @@ -3162,8 +3077,9 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.GSet.union", "typing_FStar.Ghost.reveal", @@ -3176,7 +3092,7 @@ "typing_FStar.Set.union" ], 0, - "6ddfc6b66d8d30f0863d6a860a66a9a9" + "9960149be51f5fb638f6750298ba1751" ], [ "FStar.ModifiesGen.aloc_disjoint_includes", @@ -3184,24 +3100,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.Some", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.ModifiesGen.aloc_disjoint", "equation_FStar.ModifiesGen.aloc_includes", "equation_Prims.eqtype", "equation_Prims.l_and", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "true_interp" ], 0, - "e07a48c68f0a1fe0e16c7596dcf3be5e" + "c1fddb76238c87ce4be3d35ddeb56ea6" ], [ "FStar.ModifiesGen.loc_aux_disjoint_loc_aux_includes", @@ -3218,7 +3131,7 @@ "kinding_FStar.ModifiesGen.aloc@tok", "typing_FStar.GSet.mem" ], 0, - "4726bf8d13f4c5d4f9c56a8d3dc04ede" + "117f005c48d44e9afcaf587a50b3e918" ], [ "FStar.ModifiesGen.loc_disjoint_includes", @@ -3239,16 +3152,16 @@ "equation_FStar.ModifiesGen.loc_includes", "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_Prims.nat", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "lemma_FStar.GSet.mem_intersect", + "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "l_and-interp", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.subset_mem", "lemma_FStar.ModifiesGen.loc_disjoint_sym_", "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", @@ -3257,7 +3170,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" ], 0, - "6cedbd7998d27078cf8d40a9591205e0" + "5395ef379b4cb516817699f5b503e53d" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_intro", @@ -3266,7 +3179,7 @@ 1, [ "@query" ], 0, - "c5fc55d3746a8722b5f1631c162dc63e" + "e8ef21c3cc95cd46ad666d2ff6f2bcdc" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_intro", @@ -3275,13 +3188,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", @@ -3309,9 +3221,8 @@ "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", + "int_inversion", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_elim", @@ -3339,9 +3250,10 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "true_interp", "typing_FStar.GSet.empty", @@ -3357,10 +3269,10 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79" + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4" ], 0, - "a7b8ced1377072a34a7127c81bbcb076" + "3207e75d1294c78d280a232860b794a0" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_elim", @@ -3369,7 +3281,7 @@ 1, [ "@query" ], 0, - "aa2dd2e125fb09e6d76fa2dc5e5b8593" + "a0591e1f4ba9db23177d0b354f41ac76" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_elim", @@ -3378,7 +3290,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.ModifiesGen.Loc", @@ -3413,8 +3325,8 @@ "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", @@ -3423,10 +3335,10 @@ "typing_FStar.ModifiesGen.loc_of_aloc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0" ], 0, - "911cd54d700abbc26d61c09413e44306" + "8098b6d3b4f899ebc6feb04f5baa9957" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_intro", @@ -3434,16 +3346,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c778a35f35196044f79dac7be7491fb0" + "7781a815f9d75076bd35288a9d8f399b" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_intro", @@ -3451,16 +3360,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3d5c3fc902258539449514f573b3e057" + "7620dba16dd9d4ecad2b5bd1c4b9d8e0" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_intro", @@ -3469,17 +3375,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_86e359938e7e1de8a72d2796865dfad4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_1c41616afd4ab31e4b3b4b46cf8a03e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -3504,26 +3408,23 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", - "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", @@ -3539,13 +3440,14 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "true_interp", "typing_FStar.GSet.complement", @@ -3557,6 +3459,7 @@ "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_weak", @@ -3566,13 +3469,13 @@ "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.l_Exists", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a", - "typing_Tm_abs_eb1362892fd02b8e329b33dec38e5c63", "unit_typing" + "typing_Prims.l_Exists", "typing_Prims.squash", + "typing_Tm_abs_678d7502352de69ff283cdc5c173e000", + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "11a807215a82afa344564976712d6768" + "b1d69cdf5be9e1fe780da51dea4cd43f" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_elim", @@ -3580,16 +3483,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0ed1516914a8337dcede693a18798f97" + "8cbe61a5c8916eb2dd5e45d09a3ca5f0" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_elim", @@ -3597,16 +3497,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5d93d68c750c931b021f16dc8ba04f39" + "2f2c916c6e5e4af964876adf066c04f5" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_elim", @@ -3615,12 +3512,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -3637,10 +3533,9 @@ "equation_Prims.nat", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_union", @@ -3656,11 +3551,12 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", @@ -3672,10 +3568,10 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" ], 0, - "402ddbe493ab882f94fdafa208aeee7a" + "566d86b5fd3c656cd38cfce7ac61e1bc" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_intro", @@ -3683,16 +3579,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c096d2492682f2767519fe66653d5c32" + "7b7e049d76466aa164f76dce71dd31b7" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_intro", @@ -3702,11 +3595,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "92d58123d66d73b7cd307f8c85d5d678" + "9b1e41d55821be8d1baf56e8ae3464ef" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_intro", @@ -3715,17 +3608,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -3751,13 +3642,12 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", @@ -3781,10 +3671,11 @@ "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "true_interp", "typing_FStar.GSet.comprehend", @@ -3801,12 +3692,12 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "0618743ab3378fb1b8fe9c605ea4047f" + "7aeeee2421a1a56e3b05ceedbad80cbc" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", @@ -3814,16 +3705,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f7f4e4364b220028fcb12f194af541fb" + "0cb8c482107ae7bddcba9189f0b84ede" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", @@ -3833,11 +3721,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1fe0e648e7a0bf9a7ba1d51ae83ef304" + "d8da1ba8daf317445952b25e07588588" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", @@ -3846,13 +3734,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -3868,11 +3754,9 @@ "equation_Prims.nat", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", @@ -3889,11 +3773,11 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.addrs_dom", @@ -3904,11 +3788,10 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" ], 0, - "e7c0fc4dd4df3b1bded57efb2683e949" + "1d7ec1b02ebf1d387edbe2a29fa6425e" ], [ "FStar.ModifiesGen.loc_disjoint_regions", @@ -3917,17 +3800,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_86e359938e7e1de8a72d2796865dfad4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_1c41616afd4ab31e4b3b4b46cf8a03e8", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -3959,21 +3840,20 @@ "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_26949787e2e3b793c90aa51b95ca43f2", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "int_inversion", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", + "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", @@ -3989,13 +3869,14 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -4018,11 +3899,11 @@ "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Prims.squash", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_eb1362892fd02b8e329b33dec38e5c63", "unit_typing" + "typing_Tm_abs_678d7502352de69ff283cdc5c173e000", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "e397dfc46d9b59ddc6f850a67afb687a" + "e9947a1a88821ed70c5593646e50d59c" ], [ "FStar.ModifiesGen.address_liveness_insensitive_locs", @@ -4031,20 +3912,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_dom", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", + "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_88284ca01a81cfe6ef1fe2d1b52ef2f0", + "fuel_guarded_inversion_FStar.ModifiesGen.cls", "int_inversion", + "interpretation_Tm_abs_7538b15e15b7578826f7c26d95f16b37", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.Ghost.reveal_hide", @@ -4053,8 +3930,9 @@ "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", @@ -4063,10 +3941,10 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "04e8f6847b1704eaf411bd97cb9ea8d5" + "33b220a0940a89c595a057eb084e50aa" ], [ "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_aloc", @@ -4075,20 +3953,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_48db95e84b6340d76ebcd4845a0ee05d", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc261e711c75957fe570a33061d09a8f", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_f650d1fb8dd6b6042a64896e59a9cf60", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -4099,11 +3975,8 @@ "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_includes", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", "equation_FStar.ModifiesGen.loc_includes", "equation_FStar.ModifiesGen.loc_of_aloc", "equation_FStar.ModifiesGen.mk_live_addrs", @@ -4115,53 +3988,58 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_25febcefd8ca354de9f58580779f2c54", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_668fdd401a913c376da86f608a8a24cf", - "interpretation_Tm_abs_88284ca01a81cfe6ef1fe2d1b52ef2f0", - "interpretation_Tm_abs_d791edb3139657b7f43accbed054e942", + "int_inversion", + "interpretation_Tm_abs_09eeae6f79910e582b623d1a734be183", + "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_7538b15e15b7578826f7c26d95f16b37", + "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", + "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "proj_equation_FStar.ModifiesGen.ALoc_addr", + "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.ModifiesGen.ALoc_addr", + "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", + "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", + "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", @@ -4176,14 +4054,14 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_25febcefd8ca354de9f58580779f2c54", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_668fdd401a913c376da86f608a8a24cf", - "typing_Tm_abs_d791edb3139657b7f43accbed054e942" + "typing_Tm_abs_09eeae6f79910e582b623d1a734be183", + "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "cee01a046b4d797b06b8e38a89725451" + "51f5f37a80901f7d421009d511636350" ], [ "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", @@ -4193,11 +4071,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e0cba614923a1d3471db2cd344c056d8" + "92c3939c66780707844e9e05cc69b487" ], [ "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", @@ -4207,11 +4085,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eaadb43316f4513d2a89082410e9f80a" + "b45e13a75007884db04dfe173188e5b5" ], [ "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", @@ -4220,18 +4098,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_48db95e84b6340d76ebcd4845a0ee05d", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc261e711c75957fe570a33061d09a8f", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_f650d1fb8dd6b6042a64896e59a9cf60", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.address_liveness_insensitive_locs", @@ -4253,17 +4129,16 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "interpretation_Tm_abs_668fdd401a913c376da86f608a8a24cf", - "interpretation_Tm_abs_88284ca01a81cfe6ef1fe2d1b52ef2f0", - "interpretation_Tm_abs_d791edb3139657b7f43accbed054e942", + "int_inversion", + "interpretation_Tm_abs_09eeae6f79910e582b623d1a734be183", + "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "interpretation_Tm_abs_7538b15e15b7578826f7c26d95f16b37", + "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", @@ -4285,12 +4160,13 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", @@ -4310,13 +4186,13 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "typing_Tm_abs_668fdd401a913c376da86f608a8a24cf", - "typing_Tm_abs_d791edb3139657b7f43accbed054e942" + "typing_Tm_abs_09eeae6f79910e582b623d1a734be183", + "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "ea2bcf71db61e7a47f1fe5105fbed110" + "3e6773e62383ddc4e940bc57a35629ef" ], [ "FStar.ModifiesGen.region_liveness_insensitive_locs", @@ -4325,19 +4201,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", "equation_FStar.GSet.subset", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", + "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_88284ca01a81cfe6ef1fe2d1b52ef2f0", + "fuel_guarded_inversion_FStar.ModifiesGen.cls", "int_inversion", + "interpretation_Tm_abs_7538b15e15b7578826f7c26d95f16b37", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.Ghost.reveal_hide", @@ -4346,7 +4219,8 @@ "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", @@ -4355,10 +4229,10 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "b11b6cad60155dfed3a145c9aae868e7" + "bf9b12a15dfb6a695bb9b9fa08412e7d" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_address_liveness_insensitive_locs", @@ -4367,15 +4241,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_3fdbd53cc1a8c5e12aa91741eb789260", - "FStar.ModifiesGen_interpretation_Tm_arrow_48db95e84b6340d76ebcd4845a0ee05d", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc261e711c75957fe570a33061d09a8f", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_ee91755a35d21727120083cfcdc02435", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_f650d1fb8dd6b6042a64896e59a9cf60", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.address_liveness_insensitive_locs", @@ -4395,15 +4268,14 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_3d55df11747e5c9c49bcd2855922524b", - "interpretation_Tm_abs_668fdd401a913c376da86f608a8a24cf", - "interpretation_Tm_abs_d791edb3139657b7f43accbed054e942", + "int_inversion", + "interpretation_Tm_abs_09eeae6f79910e582b623d1a734be183", + "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "interpretation_Tm_abs_ff7a59af89a352f087f9949bad3d3e17", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", @@ -4422,12 +4294,13 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", @@ -4443,13 +4316,13 @@ "typing_FStar.ModifiesGen.region_liveness_insensitive_locs", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.set", - "typing_Tm_abs_3d55df11747e5c9c49bcd2855922524b", - "typing_Tm_abs_668fdd401a913c376da86f608a8a24cf", - "typing_Tm_abs_d791edb3139657b7f43accbed054e942" + "typing_FStar.Set.mem", "typing_FStar.Set.set", + "typing_Tm_abs_09eeae6f79910e582b623d1a734be183", + "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" ], 0, - "ec0928a7c2c9d937eacc3ca32883255c" + "39b2c815c45568a869886e66709aa405" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_regions", @@ -4458,17 +4331,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_3fdbd53cc1a8c5e12aa91741eb789260", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_48db95e84b6340d76ebcd4845a0ee05d", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_ee91755a35d21727120083cfcdc02435", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -4490,17 +4361,16 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_3d55df11747e5c9c49bcd2855922524b", - "interpretation_Tm_abs_48dd2abc00e760c79b636c9caf593a9b", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_88284ca01a81cfe6ef1fe2d1b52ef2f0", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "int_inversion", + "interpretation_Tm_abs_7538b15e15b7578826f7c26d95f16b37", + "interpretation_Tm_abs_8d7dad0eeeea26ecb179431ce701fa7e", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "interpretation_Tm_abs_ff7a59af89a352f087f9949bad3d3e17", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", @@ -4520,12 +4390,13 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", @@ -4543,12 +4414,12 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_3d55df11747e5c9c49bcd2855922524b", - "typing_Tm_abs_48dd2abc00e760c79b636c9caf593a9b", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_8d7dad0eeeea26ecb179431ce701fa7e", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" ], 0, - "ea18c3e3cae3180acc7502614d87c4ec" + "9151feb81406eabc6c27631dba8e3d24" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", @@ -4558,11 +4429,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1586324ee318bd80051cab8270dbe2b4" + "e99a70029126592766e9250c30d8da1e" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", @@ -4572,11 +4443,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "38d122b51e68120478e080377968db20" + "2fdcc19082e6f296366230f2d094d645" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", @@ -4585,18 +4456,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_3fdbd53cc1a8c5e12aa91741eb789260", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_48db95e84b6340d76ebcd4845a0ee05d", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_ee91755a35d21727120083cfcdc02435", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -4617,22 +4486,22 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_3d55df11747e5c9c49bcd2855922524b", - "interpretation_Tm_abs_48dd2abc00e760c79b636c9caf593a9b", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_88284ca01a81cfe6ef1fe2d1b52ef2f0", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_7538b15e15b7578826f7c26d95f16b37", + "interpretation_Tm_abs_8d7dad0eeeea26ecb179431ce701fa7e", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "interpretation_Tm_abs_ff7a59af89a352f087f9949bad3d3e17", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", @@ -4650,12 +4519,13 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", @@ -4675,13 +4545,13 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_3d55df11747e5c9c49bcd2855922524b", - "typing_Tm_abs_48dd2abc00e760c79b636c9caf593a9b", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_8d7dad0eeeea26ecb179431ce701fa7e", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" ], 0, - "6181240368036855f1b58a918ccf9bf7" + "e39c62055e1b1c16532cc334d0654674" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_of_aloc", @@ -4690,19 +4560,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_3fdbd53cc1a8c5e12aa91741eb789260", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_48db95e84b6340d76ebcd4845a0ee05d", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_ee91755a35d21727120083cfcdc02435", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -4711,11 +4579,8 @@ "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_includes", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", "equation_FStar.ModifiesGen.loc_includes", "equation_FStar.ModifiesGen.loc_of_aloc", "equation_FStar.ModifiesGen.mk_live_addrs", @@ -4728,23 +4593,23 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_3d55df11747e5c9c49bcd2855922524b", - "interpretation_Tm_abs_48dd2abc00e760c79b636c9caf593a9b", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_88284ca01a81cfe6ef1fe2d1b52ef2f0", + "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_7538b15e15b7578826f7c26d95f16b37", + "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "interpretation_Tm_abs_ff7a59af89a352f087f9949bad3d3e17", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", + "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", @@ -4766,12 +4631,13 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", @@ -4792,13 +4658,13 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_3d55df11747e5c9c49bcd2855922524b", - "typing_Tm_abs_48dd2abc00e760c79b636c9caf593a9b", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" ], 0, - "f9031f40e8a6f33289cc911b25dd6017" + "c799eaf3d9e8a19c5eec582feebe859d" ], [ "FStar.ModifiesGen.modifies_preserves_livenesses", @@ -4807,7 +4673,7 @@ 1, [ "@query", "equation_FStar.ModifiesGen.regions_of_loc" ], 0, - "b44fdd94a02e468f8054614e43f4b1cb" + "9774dc563dc5d98b4cfcba0615e16342" ], [ "FStar.ModifiesGen.modifies_preserves_livenesses_elim", @@ -4824,7 +4690,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "76b25721168e586c4a45e90d24f41114" + "838ccc43fc540b1599d5c1f470d3395c" ], [ "FStar.ModifiesGen.modifies_preserves_livenesses_intro", @@ -4838,7 +4704,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "55049a12f8522c22da7609b608e14e56" + "d3bea4eef276d8c86537e8cc26ea1777" ], [ "FStar.ModifiesGen.modifies_preserves_livenesses_intro", @@ -4853,7 +4719,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "1be2d20eebd854f572b4497f8cfefa4d" + "f11ea4667557c365d1c77234f59f7166" ], [ "FStar.ModifiesGen.modifies_preserves_mreferences", @@ -4862,7 +4728,7 @@ 1, [ "@query" ], 0, - "7a487bdb85f815fe1af67c95f695a572" + "4892b863de98b72989286d9bea576aff" ], [ "FStar.ModifiesGen.modifies_preserves_mreferences_intro", @@ -4871,7 +4737,7 @@ 1, [ "@query" ], 0, - "c5bf40c602190d47646f29ff41c3bb6e" + "b34f14adaff198fe74001c9d92523a32" ], [ "FStar.ModifiesGen.modifies_preserves_mreferences_intro", @@ -4885,7 +4751,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "dc8a2546339a7a8882e2a75d1f8b20d1" + "78b8d260b773af98430263ee3397bec8" ], [ "FStar.ModifiesGen.modifies_preserves_alocs_intro", @@ -4894,12 +4760,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", @@ -4923,16 +4790,15 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Map.lemma_ContainsDom", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -4943,9 +4809,10 @@ "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_loc", "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_1719ada540b8a88b50ce5dd453557e78", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_6b507516cdb6057cf1f5c54c2c46e642", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", @@ -4956,11 +4823,11 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.mem", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", "unit_inversion", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "unit_inversion", "unit_typing" ], 0, - "b5c88070b1ccb69112bf8cd4999e4363" + "861bf33bec57f0a3d9608b114b5f7efd" ], [ "FStar.ModifiesGen.modifies_preserves_not_unused_in", @@ -4969,7 +4836,7 @@ 1, [ "@query", "equation_FStar.ModifiesGen.regions_of_loc" ], 0, - "10a3906075701223f6d6b4e40b575aaf" + "d7cf1557748a29e277d626899aa93d45" ], [ "FStar.ModifiesGen.modifies_preserves_not_unused_in_intro", @@ -4983,7 +4850,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "2fbd17f1d32e0b3bc777b417901967e2" + "6c816ea0552dd733032b97414b4d8fb5" ], [ "FStar.ModifiesGen.modifies_preserves_not_unused_in_intro", @@ -4998,7 +4865,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "0083544f8f2373f9396d643331bf1ebc" + "5cd13d29e1ac24dfb89c110a3ff11df3" ], [ "FStar.ModifiesGen.modifies_intro_strong", @@ -5012,7 +4879,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "35ee14d9dd7467b6388c107016e58406" + "eccaec3b40d52d1fe0a808a11680836a" ], [ "FStar.ModifiesGen.modifies_intro_strong", @@ -5026,7 +4893,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "74ca652408517be54129f816f6020262" + "3a8a9d2908a0f73a1c7b5a08343742f2" ], [ "FStar.ModifiesGen.modifies_intro_strong", @@ -5035,19 +4902,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_86e359938e7e1de8a72d2796865dfad4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -5091,15 +4955,14 @@ "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", @@ -5110,7 +4973,6 @@ "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", @@ -5120,6 +4982,7 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", + "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", @@ -5127,17 +4990,20 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "true_interp", "typing_FStar.GSet.complement", @@ -5158,6 +5024,7 @@ "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_mreference", "typing_FStar.ModifiesGen.loc_of_aloc", + "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.frameOf", @@ -5166,14 +5033,12 @@ "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.l_Exists", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a", - "typing_Tm_abs_eb1362892fd02b8e329b33dec38e5c63", "unit_typing" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "15c4f9db4618e72dff87256609dd816d" + "ae944dade7cb29c9d58d111fd1f1a3e2" ], [ "FStar.ModifiesGen.modifies_intro", @@ -5182,7 +5047,7 @@ 1, [ "@query" ], 0, - "1799840a37b1ce95f736aa83c759da9a" + "fe671c3ac2212c884a30ba09d2f5d0f1" ], [ "FStar.ModifiesGen.modifies_none_intro", @@ -5191,7 +5056,7 @@ 1, [ "@query" ], 0, - "d223a854178d44b313a6915f2c29085f" + "1aeef56f06496aec3b2d5ceaffac3b72" ], [ "FStar.ModifiesGen.modifies_address_intro", @@ -5199,16 +5064,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "82273a4862ba83e63dc7e5666807de30" + "ababb53789ce1a01b6c3f15aa3ff572c" ], [ "FStar.ModifiesGen.modifies_address_intro", @@ -5216,16 +5078,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2908712850cb096908576b7954d4e7a7" + "a99427541f7d607b1b59d57c81d9f761" ], [ "FStar.ModifiesGen.modifies_address_intro", @@ -5234,14 +5093,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -5259,19 +5117,16 @@ "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", + "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", @@ -5281,18 +5136,18 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", @@ -5306,16 +5161,16 @@ "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", + "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576" ], 0, - "0b0a19a1a28e7c2e89c50691f0e5f4c5" + "1382b441f2caf6865a224a2972c5b390" ], [ "FStar.ModifiesGen.modifies_aloc_intro", @@ -5324,7 +5179,7 @@ 1, [ "@query" ], 0, - "4524a52848cfffec8ef0bbf56ee7414b" + "36430c51a47372243b5240b29e5c38cf" ], [ "FStar.ModifiesGen.modifies_aloc_intro", @@ -5333,7 +5188,7 @@ 1, [ "@query" ], 0, - "0a03601c5cc72f8ab9c2b5ef6041c688" + "44ed3eb7d5f86c075d2ab0d49a6e6bf6" ], [ "FStar.ModifiesGen.modifies_aloc_intro", @@ -5342,13 +5197,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -5359,6 +5213,7 @@ "equation_FStar.ModifiesGen.loc_disjoint_", "equation_FStar.ModifiesGen.loc_disjoint_addrs", "equation_FStar.ModifiesGen.loc_mreference", + "equation_FStar.ModifiesGen.loc_of_aloc", "equation_FStar.ModifiesGen.mk_live_addrs", "equation_FStar.ModifiesGen.regions_of_loc", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -5373,15 +5228,15 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.GSet.mem_singleton", "lemma_FStar.Ghost.hide_reveal", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -5389,21 +5244,23 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", + "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_weak", @@ -5419,10 +5276,11 @@ "typing_FStar.Set.empty", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4" ], 0, - "a10c6ebc875ec4a3e483948e76a398c8" + "5309555f648d81909192ca58c21c0a5b" ], [ "FStar.ModifiesGen.modifies_live_region", @@ -5450,7 +5308,7 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.Monotonic.HyperHeap.rid", @@ -5459,7 +5317,7 @@ "typing_FStar.Set.singleton" ], 0, - "555a257c8157a96e51a2aef2db195883" + "8b33e62cd6f06e28ff0b3a1b84b2ff6e" ], [ "FStar.ModifiesGen.modifies_mreference_elim", @@ -5468,12 +5326,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc_weak", @@ -5498,10 +5355,9 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", "lemma_FStar.Ghost.reveal_hide", @@ -5517,11 +5373,12 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", @@ -5535,10 +5392,10 @@ "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Set.empty", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" ], 0, - "0e5e42d99d0d9cb3be5eb94915090c06" + "04f20fbd5bc38a36e8e12a27eca84e4f" ], [ "FStar.ModifiesGen.modifies_aloc_elim", @@ -5547,7 +5404,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.ModifiesGen.aloc_t", @@ -5559,7 +5416,6 @@ "equation_FStar.ModifiesGen.modifies", "equation_FStar.ModifiesGen.modifies_", "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.Ghost.reveal_hide", @@ -5570,7 +5426,7 @@ "typing_FStar.ModifiesGen.loc_of_aloc" ], 0, - "d273bd350b67516b3e80c6a03d82f5f4" + "bc9237fb9aef5271cb9ac78dd788fa15" ], [ "FStar.ModifiesGen.modifies_refl", @@ -5590,7 +5446,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_" ], 0, - "5619978843c62d16eae3d65baa687ca1" + "928b4020414023652dcf818b904c050e" ], [ "FStar.ModifiesGen.modifies_loc_includes", @@ -5599,9 +5455,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "bool_inversion", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -5625,18 +5480,17 @@ "equation_FStar.Set.subset", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.ModifiesGen.aloc@tok", - "l_and-interp", "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.subset_mem", "proj_equation_FStar.ModifiesGen.Loc_aux", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", @@ -5649,7 +5503,7 @@ "typing_FStar.Set.set" ], 0, - "d99629743523ed269e122ef7de6674fa" + "285a66e925263720e15b295d6e255a88" ], [ "FStar.ModifiesGen.modifies_preserves_liveness", @@ -5658,15 +5512,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_48db95e84b6340d76ebcd4845a0ee05d", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", @@ -5690,26 +5543,31 @@ "equation_FStar.ModifiesGen.modifies", "equation_FStar.ModifiesGen.modifies_", "equation_FStar.ModifiesGen.modifies_preserves_livenesses", + "equation_FStar.ModifiesGen.modifies_preserves_regions", "equation_FStar.ModifiesGen.non_live_addrs_codom", "equation_FStar.ModifiesGen.regions_of_loc", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", + "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.Set.subset", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "interpretation_Tm_abs_d791edb3139657b7f43accbed054e942", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", - "l_and-interp", "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "l_and-interp", "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_union", @@ -5718,7 +5576,8 @@ "lemma_FStar.ModifiesGen.loc_disjoint_sym_", "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", @@ -5730,23 +5589,29 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_FStar.Map.sel", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.address_liveness_insensitive_locs", "typing_FStar.ModifiesGen.addrs_dom", @@ -5756,62 +5621,61 @@ "typing_FStar.ModifiesGen.loc_mreference", "typing_FStar.ModifiesGen.loc_union", "typing_FStar.ModifiesGen.regions_of_loc", + "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_addr", + "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "typing_Tm_abs_d791edb3139657b7f43accbed054e942", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" ], 0, - "5d738b9ee44f1a476b93c3f86dd4cb6d" + "1aa58e19665c280f218961e7d64d79c7" ], [ "FStar.ModifiesGen.modifies_preserves_liveness_strong", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Monotonic.HyperStack.as_addr" ], 0, - "66da3bac597c10877c902cc4ac440ff3" + "e8f0d9e9ac3983dd750660dd5c07a004" ], [ "FStar.ModifiesGen.modifies_preserves_liveness_strong", 2, - 2, - 1, + 0, + 0, [ "@query" ], 0, - "a714e6e953e1f74b867fe8bfd7d912f0" + "3983bfe9b5c0de2d3a395ab75b81a55c" ], [ "FStar.ModifiesGen.modifies_preserves_liveness_strong", 3, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_48db95e84b6340d76ebcd4845a0ee05d", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.address_liveness_insensitive_locs", @@ -5827,7 +5691,6 @@ "equation_FStar.ModifiesGen.loc_includes", "equation_FStar.ModifiesGen.loc_of_aloc", "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.mk_live_addrs", "equation_FStar.ModifiesGen.mk_non_live_addrs", "equation_FStar.ModifiesGen.modifies", "equation_FStar.ModifiesGen.modifies_", @@ -5844,12 +5707,9 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "interpretation_Tm_abs_d791edb3139657b7f43accbed054e942", - "l_and-interp", "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "l_and-interp", "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", @@ -5859,32 +5719,37 @@ "lemma_FStar.ModifiesGen.loc_disjoint_sym_", "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", + "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.mem", "typing_FStar.GSet.singleton", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_FStar.FunctionalExtensionality.on_domain_g", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", + "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", + "typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.address_liveness_insensitive_locs", "typing_FStar.ModifiesGen.addrs_dom", @@ -5897,14 +5762,13 @@ "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "typing_Tm_abs_d791edb3139657b7f43accbed054e942", "unit_inversion", + "typing_FStar.Set.union", + "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", "unit_inversion", "unit_typing" ], 0, - "b1c0fa63ff6dffebb5358b06d4f7b5b7" + "096dd5b7bf6acf155a58e0bb780c2352" ], [ "FStar.ModifiesGen.modifies_preserves_region_liveness", @@ -5936,7 +5800,7 @@ "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", @@ -5947,7 +5811,7 @@ "typing_FStar.Set.union" ], 0, - "9d22e0bb7bde396760f1673acd3e20ae" + "f2c6e5838dbbcf04273d24296c3a3aa5" ], [ "FStar.ModifiesGen.modifies_preserves_region_liveness_reference", @@ -5956,13 +5820,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_3fdbd53cc1a8c5e12aa91741eb789260", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_ee91755a35d21727120083cfcdc02435", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", @@ -5995,11 +5858,10 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_3d55df11747e5c9c49bcd2855922524b", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_ff7a59af89a352f087f9949bad3d3e17", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", @@ -6021,16 +5883,17 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", @@ -6051,11 +5914,11 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Tm_abs_3d55df11747e5c9c49bcd2855922524b", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" ], 0, - "2475e25749563c9412705ae7ad675fe1" + "025322e6b3193268766e19e5afe2c781" ], [ "FStar.ModifiesGen.modifies_preserves_region_liveness_aloc", @@ -6081,39 +5944,31 @@ "equation_FStar.ModifiesGen.non_live_addrs_codom", "equation_FStar.ModifiesGen.region_liveness_insensitive_locs", "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.nat", "l_and-interp", - "lemma_FStar.GSet.lemma_equal_elim", + "l_and-interp", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.GSet.complement", "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.GSet.singleton", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_of_loc", @@ -6121,15 +5976,12 @@ "typing_FStar.ModifiesGen.loc_of_aloc", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" + "typing_FStar.Set.set", "typing_FStar.Set.union" ], 0, - "689c4b69d9b33c0f0bd79faafb477121" + "5c8150485b19e58b91a6f4d584449d41" ], [ "FStar.ModifiesGen.modifies_trans'", @@ -6138,9 +5990,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.i_restricted_g_t", @@ -6162,33 +6013,31 @@ "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", + "typing_FStar.GSet.complement", "typing_FStar.GSet.empty", + "typing_FStar.GSet.mem", "typing_FStar.Ghost.reveal", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.mem", "typing_FStar.Set.set" ], 0, - "3ef1168c23b26f0513e6d8863b52af4b" + "05d7fef67bf4040c9d7023c66d33ca3c" ], [ "FStar.ModifiesGen.modifies_trans", @@ -6197,12 +6046,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", @@ -6213,31 +6061,26 @@ "equation_FStar.ModifiesGen.loc_includes", "equation_FStar.ModifiesGen.loc_union", "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_Prims.l_Forall", - "equation_Prims.nat", + "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.ModifiesGen.addrs_of_loc_union", "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", "primitive_Prims.op_BarBar", "proj_equation_FStar.ModifiesGen.Loc_aux", @@ -6248,14 +6091,16 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.GSet.union", @@ -6267,15 +6112,14 @@ "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840" ], 0, - "5efb5ddec257e6777a104d5bcdf42702" + "133417de117149ca537671d9c49ad431" ], [ "FStar.ModifiesGen.addr_unused_in_aloc_preserved", @@ -6283,8 +6127,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", @@ -6298,10 +6141,9 @@ "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -6309,7 +6151,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "1942efb032d94cdeada0783a207a9223" + "f34c698ad28414bb612665819155addc" ], [ "FStar.ModifiesGen.modifies_only_live_regions_weak", @@ -6318,17 +6160,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -6363,21 +6203,18 @@ "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.l_Exists", "equation_Prims.nat", - "equation_Prims.pos", "equation_Prims.squash", + "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.l_Exists", + "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", @@ -6386,9 +6223,9 @@ "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", @@ -6396,23 +6233,25 @@ "proj_equation_FStar.ModifiesGen.Loc_regions", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "true_interp", "typing_FStar.GSet.complement", @@ -6425,6 +6264,7 @@ "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", + "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_regions", "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", @@ -6433,21 +6273,18 @@ "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.union", + "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.mem", + "typing_FStar.Set.set", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", "unit_typing" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "db3447c6cae4b255d1cf184991ec3bc2" + "dbd0103c46e87eb47020a016d657d00c" ], [ "FStar.ModifiesGen.restrict_to_regions", @@ -6456,25 +6293,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_64dc48382e5d35e4c3eb1115ab411828", - "FStar.ModifiesGen_interpretation_Tm_arrow_99ebb31e5fc8f85379a3e41d47fab40c", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_aa2b8434c78ba5450a20a7330b6b3132", - "FStar.ModifiesGen_interpretation_Tm_arrow_cdaf8c2920093875ff3d77084a98ade5", - "FStar.ModifiesGen_interpretation_Tm_arrow_d4d00b2cb771b232b784a003b47e686b", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_710f24815c312630b5d565a3055fb695", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_9477ae1de20cd3b0f0990afb7fbca9ba", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.i_restricted_g_t", "equation_FStar.ModifiesGen.live_addrs_codom", "equation_FStar.ModifiesGen.mk_live_addrs", "equation_FStar.ModifiesGen.mk_non_live_addrs", @@ -6484,11 +6315,10 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.mk_non_live_addrs", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_553bac2faa7ecdcbf1df09e94273c723", - "interpretation_Tm_abs_580283bb48ce19647cdd20a36c5aa33e", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", + "int_inversion", + "interpretation_Tm_abs_cc774e8be89f7b126be2cfad80027b21", + "interpretation_Tm_abs_d7845686051d8aee2972656fa77a56b9", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", @@ -6498,35 +6328,31 @@ "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c8545a992599ec46b38d55f3f6fc1d7", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_927565ca6e4626b0ff44a9f7bdf5300d", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_ede326a5780ddd0e65e627ace2f50df5", + "refinement_interpretation_Tm_refine_089ad15b50e9452ee9524904da95c964", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", + "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", + "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", + "typing_FStar.GSet.mem", "typing_FStar.GSet.set", + "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_553bac2faa7ecdcbf1df09e94273c723", - "typing_Tm_abs_580283bb48ce19647cdd20a36c5aa33e", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "e62f635917d6c6165c99147505d814f0" + "13a240c6605dcf790c6c81ea580fa46a" ], [ "FStar.ModifiesGen.regions_of_loc_restrict_to_regions", @@ -6548,7 +6374,7 @@ "typing_FStar.Set.set" ], 0, - "b5bfa264def82cf41d70722f9c65d282" + "d35750c1460b77d34db28bc58bdfefc6" ], [ "FStar.ModifiesGen.addrs_of_loc_weak_restrict_to_regions", @@ -6557,10 +6383,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_d3debc100a182d5e128852bd467d82d8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_6d7b971ebc017618882d0927bed62bee", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.ModifiesGen.addrs_dom", @@ -6573,8 +6399,7 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_4d9c4bc8d4849c23d1aa76f2a2cb58e2", + "interpretation_Tm_abs_604249e822a3f1036e182bf471efbc49", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.ModifiesGen.regions_of_loc_restrict_to_regions", @@ -6584,7 +6409,8 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "typing_FStar.GSet.empty", @@ -6593,10 +6419,10 @@ "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.ModifiesGen.restrict_to_regions", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_Tm_abs_4d9c4bc8d4849c23d1aa76f2a2cb58e2" + "typing_Tm_abs_604249e822a3f1036e182bf471efbc49" ], 0, - "9d132034c6d8752aa5587f6d05caa6c7" + "b0beedcbe45a1890042c40eed42853f3" ], [ "FStar.ModifiesGen.addrs_of_loc_restrict_to_regions", @@ -6605,18 +6431,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_86e359938e7e1de8a72d2796865dfad4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_1c41616afd4ab31e4b3b4b46cf8a03e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", + "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.regions_of_loc", @@ -6625,13 +6450,14 @@ "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_553bac2faa7ecdcbf1df09e94273c723", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", + "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "interpretation_Tm_abs_d7845686051d8aee2972656fa77a56b9", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.lemma_equal_intro", @@ -6641,30 +6467,23 @@ "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.ModifiesGen.addrs_of_loc_weak_restrict_to_regions", "lemma_FStar.ModifiesGen.regions_of_loc_restrict_to_regions", - "lemma_FStar.Set.mem_intersect", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", + "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_aux", @@ -6676,12 +6495,12 @@ "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Prims.l_Exists", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", - "typing_Tm_abs_eb1362892fd02b8e329b33dec38e5c63", "unit_typing" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_678d7502352de69ff283cdc5c173e000", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "c1037ec20384629e02df7c45f0ffc74e" + "4f35c55be7247dd4a883f69f421e77c1" ], [ "FStar.ModifiesGen.loc_includes_restrict_to_regions", @@ -6690,15 +6509,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_75751f3e6501272cf74e6e91fe04fc65", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_3eeee101eaf3e1c1434f5f0adc8202a0", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -6706,7 +6523,6 @@ "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_includes", "equation_FStar.ModifiesGen.loc_includes", "equation_FStar.ModifiesGen.mk_non_live_addrs", "equation_FStar.ModifiesGen.regions_of_loc", @@ -6716,17 +6532,17 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_ca07aacb93023105db0127c02c855ad4", + "int_inversion", + "interpretation_Tm_abs_c0c34cd9778f27213be119e9f04d295a", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.hide_reveal", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_restrict_to_regions", "lemma_FStar.ModifiesGen.addrs_of_loc_weak_restrict_to_regions", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", @@ -6741,13 +6557,14 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", @@ -6762,11 +6579,11 @@ "typing_FStar.ModifiesGen.restrict_to_regions", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_ca07aacb93023105db0127c02c855ad4" + "typing_Tm_abs_c0c34cd9778f27213be119e9f04d295a", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "7f2f50582325cbd3a2cd6a7f222c62d5" + "8f61e9db66145aa9b4f33efcc188d1da" ], [ "FStar.ModifiesGen.loc_includes_loc_union_restrict_to_regions", @@ -6775,18 +6592,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_75751f3e6501272cf74e6e91fe04fc65", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_3eeee101eaf3e1c1434f5f0adc8202a0", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", @@ -6809,14 +6624,13 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_0ea806169f85c3afb59ecd0212c11c0e", - "interpretation_Tm_abs_553bac2faa7ecdcbf1df09e94273c723", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "interpretation_Tm_abs_ca07aacb93023105db0127c02c855ad4", + "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", + "interpretation_Tm_abs_c0c34cd9778f27213be119e9f04d295a", + "interpretation_Tm_abs_d7845686051d8aee2972656fa77a56b9", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", @@ -6827,8 +6641,9 @@ "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", + "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", @@ -6841,13 +6656,14 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", @@ -6867,13 +6683,13 @@ "typing_FStar.Set.complement", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "typing_Tm_abs_ca07aacb93023105db0127c02c855ad4" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", + "typing_Tm_abs_c0c34cd9778f27213be119e9f04d295a", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "6a6a964e58daf67e79efaa787a83f266" + "e710b077bd2536157e1497e5c2494f1b" ], [ "FStar.ModifiesGen.loc_includes_loc_regions_restrict_to_regions", @@ -6882,13 +6698,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -6911,21 +6727,22 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_553bac2faa7ecdcbf1df09e94273c723", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_8ea8bf9ec520c592cc1e7e1efc518351", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "function_token_typing_FStar.ModifiesGen.live_addrs_codom", + "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", + "int_inversion", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_d7845686051d8aee2972656fa77a56b9", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_restrict_to_regions", "lemma_FStar.ModifiesGen.addrs_of_loc_weak_restrict_to_regions", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", @@ -6944,18 +6761,17 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_kinding_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", @@ -6963,6 +6779,7 @@ "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", + "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_dom", @@ -6971,14 +6788,13 @@ "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_regions", "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.ModifiesGen.restrict_to_regions", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "9432080f43e626a47e158b31402197f1" + "8c04f5d5939f4dd1180faef22bf35f31" ], [ "FStar.ModifiesGen.modifies_only_live_regions", @@ -6987,14 +6803,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", @@ -7016,21 +6831,19 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_Prims.l_Forall", - "equation_Prims.nat", + "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_553bac2faa7ecdcbf1df09e94273c723", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_d7845686051d8aee2972656fa77a56b9", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", @@ -7042,11 +6855,10 @@ "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.ModifiesGen.loc_equal_elim", "lemma_FStar.ModifiesGen.loc_includes_refl_", - "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", @@ -7057,14 +6869,16 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", @@ -7080,7 +6894,6 @@ "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -7088,11 +6901,11 @@ "typing_FStar.Set.complement", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "cc75e7d17da1cf73b66e37a32d1ef564" + "7fde5f602ec190f4dfc1fc6d80af8162" ], [ "FStar.ModifiesGen.no_upd_fresh_region", @@ -7112,13 +6925,13 @@ "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Set.singleton" ], 0, - "5485ef7f6b8380bdb03693cd05c843aa" + "ba28903dfb4fa9f9fa3e621e071fdfd0" ], [ "FStar.ModifiesGen.fresh_frame_modifies", @@ -7127,7 +6940,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.ModifiesGen.Loc", + "data_typing_intro_FStar.ModifiesGen.ALoc@tok", + "data_typing_intro_FStar.Pervasives.Native.Some@tok", + "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.ModifiesGen.aloc_domain", + "equation_FStar.ModifiesGen.aloc_includes", + "equation_FStar.ModifiesGen.aloc_t", + "equation_FStar.ModifiesGen.loc", + "equation_FStar.ModifiesGen.loc_aux_includes", + "equation_FStar.ModifiesGen.loc_aux_includes_buffer", + "equation_FStar.ModifiesGen.loc_none", + "equation_FStar.ModifiesGen.loc_of_aloc", + "equation_FStar.ModifiesGen.regions_of_loc", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", @@ -7137,16 +6965,43 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Monotonic.HyperStack.sel", + "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", + "kinding_FStar.ModifiesGen.aloc@tok", + "lemma_FStar.GSet.mem_singleton", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd2", "primitive_Prims.op_AmpAmp", + "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", + "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "proj_equation_FStar.ModifiesGen.ALoc_addr", + "proj_equation_FStar.ModifiesGen.ALoc_loc", + "proj_equation_FStar.ModifiesGen.ALoc_region", + "proj_equation_FStar.ModifiesGen.Loc_aux", + "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "projection_inverse_FStar.ModifiesGen.ALoc_addr", + "projection_inverse_FStar.ModifiesGen.ALoc_loc", + "projection_inverse_FStar.ModifiesGen.ALoc_region", + "projection_inverse_FStar.ModifiesGen.Loc_aux", + "projection_inverse_FStar.ModifiesGen.Loc_regions", + "projection_inverse_FStar.Pervasives.Native.Some_a", + "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", + "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", "typing_FStar.Map.sel", + "typing_FStar.ModifiesGen.__proj__ALoc__item__region", + "typing_FStar.ModifiesGen.__proj__Loc__item__aux", + "typing_FStar.ModifiesGen.aloc_domain", + "typing_FStar.ModifiesGen.loc_none", + "typing_FStar.ModifiesGen.loc_of_aloc", + "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", @@ -7157,10 +7012,13 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_FStar.Set.set", "typing_FStar.Set.singleton", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0" ], 0, - "bcd91e43008d0d1da9f382c70b97ca9d" + "dd8ca59b19ffad46933e2987b0e43d81" ], [ "FStar.ModifiesGen.new_region_modifies", @@ -7168,19 +7026,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.Monotonic.HyperStack.live_region", "equation_Prims.eqtype", "equation_Prims.squash", "function_token_typing_Prims.int", "l_and-interp", "l_or-interp", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c635297b21637acb3b495c0dd3ef9117" + "632feea0dd555c4ed433cf15acbd473a" ], [ "FStar.ModifiesGen.new_region_modifies", @@ -7188,9 +7044,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.ModifiesGen.loc_none", "equation_FStar.ModifiesGen.regions_of_loc", @@ -7203,13 +7057,11 @@ "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Monotonic.HyperStack.new_eternal_region", "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", + "equation_FStar.Pervasives.Native.fst", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperStack.mem", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd2", @@ -7222,13 +7074,9 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_08006308b485bd6d7e4fc27ed1127732", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_a88d6b2bc46617f49b283f0ff73bd7cf", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.ModifiesGen.loc_none", "typing_FStar.ModifiesGen.regions_of_loc", @@ -7242,13 +7090,12 @@ "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "2467f4c1b649a1f09c814171c490ab34" + "23e47850ca4c970f9b917f907a9ec8c0" ], [ "FStar.ModifiesGen.popped_modifies", @@ -7257,27 +7104,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0060064bb1fc62d85672ecfdb3efd69a", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_disjoint", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.i_restricted_g_t", "equation_FStar.ModifiesGen.live_addrs_codom", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_addresses", @@ -7301,7 +7141,6 @@ "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", @@ -7310,35 +7149,28 @@ "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_Prims.l_Exists", - "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", + "equation_FStar.Set.subset", "equation_Prims.nat", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_8ea8bf9ec520c592cc1e7e1efc518351", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", + "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -7347,31 +7179,26 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "true_interp", "typing_FStar.FunctionalExtensionality.on_domain_g", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", + "true_interp", "typing_FStar.GSet.complement", + "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", "typing_FStar.Map.domain", @@ -7380,13 +7207,13 @@ "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", + "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", @@ -7399,10 +7226,10 @@ "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", "unit_typing" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "80ef4d1747a74ca15820c460a5356731" + "faf987d125216fd48565c67f4bc5b124" ], [ "FStar.ModifiesGen.modifies_fresh_frame_popped", @@ -7411,20 +7238,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", + "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_weak", @@ -7455,12 +7280,10 @@ "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", "equation_FStar.Monotonic.HyperStack.sel", @@ -7474,12 +7297,10 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_26949787e2e3b793c90aa51b95ca43f2", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", @@ -7505,31 +7326,25 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_kinding_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_kinding_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", @@ -7543,6 +7358,7 @@ "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", + "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_dom", @@ -7560,7 +7376,6 @@ "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", @@ -7573,11 +7388,11 @@ "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "5a48516d7d008f966386a955aed95827" + "a317476a14740cb1cd7dc99460a1e346" ], [ "FStar.ModifiesGen.modifies_loc_regions_intro", @@ -7586,15 +7401,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", @@ -7629,13 +7443,12 @@ "equation_Prims.pos", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_26949787e2e3b793c90aa51b95ca43f2", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", @@ -7654,27 +7467,26 @@ "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.empty", + "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", + "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_regions", "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", @@ -7696,7 +7508,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "0465465a826a3e9f14acb0b615b05bc5" + "0740c24ec3eecdf2e32012e0b245028f" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro_weak", @@ -7706,11 +7518,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "22808fcda8b26dce266f82f8e0b6f196" + "279f7820e9c3113ad5d1e0eb57918f1d" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro_weak", @@ -7719,19 +7531,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -7780,29 +7590,27 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_union", "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", "lemma_FStar.Monotonic.HyperStack.lemma_as_ref_inj", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", "lemma_FStar.TSet.lemma_mem_tset_of_set", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -7811,7 +7619,6 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", @@ -7821,18 +7628,19 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Monotonic.HyperStack.MkRef_a", "projection_inverse_FStar.Monotonic.HyperStack.MkRef_rel", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", @@ -7857,7 +7665,6 @@ "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", @@ -7868,12 +7675,12 @@ "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a", "unit_typing" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "07804e1f31cff7cd6278a3ab2ce83b97" + "93b8a8544ffb8b594666a5571394a5c3" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro", @@ -7883,11 +7690,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0cc37d85c04aa821a1b40a470953d9d0" + "6bc4bcfef81f1a0c318f3ab7c9ba24ba" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro", @@ -7897,11 +7704,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cdbb33a58900843842f602a9de3411ab" + "4df9bef4684309570534aad51fea8181" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro", @@ -7910,17 +7717,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_75751f3e6501272cf74e6e91fe04fc65", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_3eeee101eaf3e1c1434f5f0adc8202a0", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", @@ -7968,17 +7773,15 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_26949787e2e3b793c90aa51b95ca43f2", - "interpretation_Tm_abs_553bac2faa7ecdcbf1df09e94273c723", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", - "interpretation_Tm_abs_ca07aacb93023105db0127c02c855ad4", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_c0c34cd9778f27213be119e9f04d295a", + "interpretation_Tm_abs_d7845686051d8aee2972656fa77a56b9", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", @@ -7987,7 +7790,6 @@ "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_restrict_to_regions", "lemma_FStar.ModifiesGen.addrs_of_loc_union", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", "lemma_FStar.ModifiesGen.addrs_of_loc_weak_restrict_to_regions", "lemma_FStar.ModifiesGen.loc_equal_elim", "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", @@ -8003,31 +7805,28 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_kinding_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_kinding_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.FunctionalExtensionality.on_domain_g", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.GSet.union", @@ -8051,7 +7850,6 @@ "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", @@ -8064,12 +7862,12 @@ "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "typing_Tm_abs_ca07aacb93023105db0127c02c855ad4" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_c0c34cd9778f27213be119e9f04d295a", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "2e3c48883be447d3f53da3a0734c2065" + "90ec2f1c87d6fb4d3bd6a7b20078e5ac" ], [ "FStar.ModifiesGen.modifies_ralloc_post", @@ -8077,9 +7875,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.ralloc_post", "equation_FStar.ModifiesGen.loc_none", @@ -8102,24 +7898,21 @@ "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", + "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_f66e3e9c5cfa5dc28f9d0303f6e78009", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", @@ -8135,7 +7928,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "37b99db0e1311cb54d4b77b0a3d8da86" + "c884c119c1a10c1589df55dd6c3b4bda" ], [ "FStar.ModifiesGen.modifies_salloc_post", @@ -8143,9 +7936,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.salloc_post", "equation_FStar.ModifiesGen.loc_none", @@ -8171,10 +7962,9 @@ "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", @@ -8185,15 +7975,12 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_2bdd80b2320af9c61ccb8754d0f9f879", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", @@ -8203,12 +7990,11 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "17ba7b1eb5c2ebd689b1ce32322e3ef4" + "7187d419bad695d871cc7514b545d593" ], [ "FStar.ModifiesGen.modifies_free", @@ -8217,15 +8003,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -8262,11 +8046,10 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_InDomUpd1", @@ -8281,22 +8064,22 @@ "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_2883b27aea4c839f60007bb473c2a007", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_2d11d4ede243934a578949d9aa1c906a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a1d6a1995203a7c908a0a34debc39148", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -8311,7 +8094,6 @@ "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.free_mm", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", @@ -8324,11 +8106,11 @@ "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576" ], 0, - "ad93436fded9644214e7f25a808cb687" + "0e0ebaf85f0d13a469f5b6e486172cd8" ], [ "FStar.ModifiesGen.modifies_none_modifies", @@ -8336,8 +8118,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.modifies_none", "equation_FStar.ModifiesGen.loc_none", "equation_FStar.ModifiesGen.modifies", @@ -8373,8 +8154,8 @@ "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Map.sel", "typing_FStar.ModifiesGen.loc_none", @@ -8392,7 +8173,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "a96776e56b90a30cb17dd42a5ee35d10" + "1eb55a840899792808e5cef02d77470d" ], [ "FStar.ModifiesGen.modifies_upd", @@ -8405,10 +8186,10 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_Prims.squash", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "50f3e3b042211797c5265da25895dd19" + "4f9420aa98c89613501315bd3ab28198" ], [ "FStar.ModifiesGen.modifies_upd", @@ -8417,15 +8198,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", @@ -8461,10 +8240,9 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", @@ -8473,13 +8251,14 @@ "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", + "lemma_FStar.ModifiesGen.loc_disjoint_sym_", "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", + "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Set.mem_singleton", "lemma_FStar.TSet.lemma_mem_tset_of_set", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", @@ -8491,30 +8270,35 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.FunctionalExtensionality.on_domain_g", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", + "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", + "typing_FStar.GSet.mem", "typing_FStar.GSet.singleton", + "typing_FStar.Ghost.hide", "typing_FStar.Map.sel", + "typing_FStar.Map.upd", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", + "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.loc_mreference", "typing_FStar.ModifiesGen.loc_of_aloc", + "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", @@ -8523,14 +8307,14 @@ "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.empty", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576" ], 0, - "80e78b9581a685643fc995d03d5458f2" + "1e7fd5263fd48d3c814d36ad40a23f3d" ], [ "FStar.ModifiesGen.addrs_of_loc_loc_union_loc_of_aloc_eq_loc_union_loc_addresses_singleton", @@ -8539,18 +8323,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -8560,12 +8343,9 @@ "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_includes", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", "equation_FStar.ModifiesGen.loc_of_aloc", "equation_FStar.ModifiesGen.loc_union", "equation_FStar.ModifiesGen.mk_live_addrs", @@ -8576,17 +8356,18 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", @@ -8599,10 +8380,8 @@ "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", "lemma_FStar.ModifiesGen.addrs_of_loc_union", "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", @@ -8620,23 +8399,24 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", - "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", + "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", + "typing_FStar.GSet.mem", "typing_FStar.GSet.set", + "typing_FStar.GSet.singleton", "typing_FStar.GSet.union", + "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", @@ -8644,6 +8424,7 @@ "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", + "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.loc_of_aloc", "typing_FStar.ModifiesGen.loc_union", "typing_FStar.ModifiesGen.regions_of_loc", @@ -8651,12 +8432,14 @@ "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a", "unit_typing" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "26457dcb8a2053ed787d8f0edb0acf90" + "ea39255d2b7861387171f5fb74b88ce6" ], [ "FStar.ModifiesGen.addrs_of_loc_weak_loc_includes", @@ -8665,18 +8448,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -8699,20 +8480,20 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", @@ -8720,10 +8501,8 @@ "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.subset_mem", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", @@ -8737,14 +8516,15 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -8765,12 +8545,12 @@ "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a", "unit_typing" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "1fd95866d637dfb8d4bbc8455ba8cbaf" + "d892ab0245048e3fa37a3b733af884f2" ], [ "FStar.ModifiesGen.modifies_strengthen'", @@ -8778,47 +8558,46 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6f7636c69dfc655f853ea0475ca0fa70" + "196e404bea238858bbf70840b44be7c6" ], [ "FStar.ModifiesGen.modifies_strengthen'", 2, - 2, - 1, + 0, + 0, [ "@query" ], 0, - "b9fa0e7290394d0610acd817d6bf386d" + "65f9a649f87bafd867a2f3875cc8e063" ], [ "FStar.ModifiesGen.modifies_strengthen'", 3, - 2, - 2, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_519a8aa813e342bd0693dd5518702087", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_cc31b69d250c2a71c43bcbeac42b1116", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d613b242d7cef01854d837a7f6414e9a", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "disc_equation_FStar.Pervasives.Native.Some", @@ -8827,6 +8606,7 @@ "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", + "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_disjoint", "equation_FStar.ModifiesGen.aloc_domain", @@ -8863,44 +8643,46 @@ "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.l_Exists", "equation_Prims.nat", + "equation_Prims.pos", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "interpretation_Tm_abs_25febcefd8ca354de9f58580779f2c54", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_singleton", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", + "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", + "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", + "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -8909,7 +8691,6 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_addr", @@ -8922,29 +8703,33 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", - "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", + "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", + "typing_FStar.GSet.mem", "typing_FStar.GSet.set", + "typing_FStar.GSet.singleton", "typing_FStar.GSet.union", + "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_FStar.Map.contains", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", + "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", @@ -8952,13 +8737,12 @@ "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.loc_addresses", "typing_FStar.ModifiesGen.loc_of_aloc", "typing_FStar.ModifiesGen.loc_union", + "typing_FStar.ModifiesGen.mk_non_live_addrs", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -8966,15 +8750,16 @@ "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Tm_abs_11e4fdac21bef19096e2883ad86ace79", - "typing_Tm_abs_25febcefd8ca354de9f58580779f2c54", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", + "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "305a8e345dbc0280598820420806272c" + "d9998b671c76fdd85c2262c78b68b446" ], [ "FStar.ModifiesGen.modifies_strengthen", @@ -8982,16 +8767,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "105c7f71f42bf260167745a6a0c0b473" + "a0687f422b47611123a3521e5762aa21" ], [ "FStar.ModifiesGen.modifies_strengthen", @@ -9000,7 +8782,7 @@ 1, [ "@query" ], 0, - "1bc7359a803816e0e9ab27c53d70fa4f" + "59a190d40de7ea95b13146c17a5ce8e5" ], [ "FStar.ModifiesGen.modifies_strengthen", @@ -9008,26 +8790,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Map.lemma_ContainsDom", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "4d6829269b9b09c26f08ec5e98721af5" + "78a3761831509f5e9f46019d2bc74376" ], [ "FStar.ModifiesGen.not_live_region_does_not_contain_addr", @@ -9042,7 +8822,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" ], 0, - "8269cce15fe8f6ed66c6a60536fede59" + "5cd6d69135577f4e3adfcbfb4a9e7cd2" ], [ "FStar.ModifiesGen.unused_in_does_not_contain_addr", @@ -9051,7 +8831,7 @@ 1, [ "@query" ], 0, - "1ee163c806c2acfc765522009ef95580" + "9835286678d75e5e1cca96caa24183d2" ], [ "FStar.ModifiesGen.unused_in_does_not_contain_addr", @@ -9059,8 +8839,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.ModifiesGen.does_not_contain_addr", "equation_FStar.ModifiesGen.does_not_contain_addr_", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -9078,18 +8857,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.unused_in", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "65f92fcff35c7aad6b74d68a539fa937" + "05d462fc813cfc6b2bfd8652143e9313" ], [ "FStar.ModifiesGen.addr_unused_in_does_not_contain_addr", @@ -9104,7 +8882,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" ], 0, - "7faf38837b58eadd1c5767ba18404a2e" + "647c44a0477059813e5f2d3f226f6077" ], [ "FStar.ModifiesGen.does_not_contain_addr_addr_unused_in", @@ -9116,7 +8894,7 @@ "equation_FStar.ModifiesGen.does_not_contain_addr_" ], 0, - "5797772af3448eb96be6116d432c0991" + "41e2e2d6bc80dac3f1e8423c66f6e38e" ], [ "FStar.ModifiesGen.free_does_not_contain_addr", @@ -9126,10 +8904,10 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "195720dc03892b0303bc688fba17b08f" + "6d43b56aea0231b141c028d71f026ccd" ], [ "FStar.ModifiesGen.free_does_not_contain_addr", @@ -9137,9 +8915,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.ModifiesGen.does_not_contain_addr", "equation_FStar.ModifiesGen.does_not_contain_addr_", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -9153,20 +8929,16 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Monotonic.Heap.lemma_free_mm_unused", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2883b27aea4c839f60007bb473c2a007", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_2d11d4ede243934a578949d9aa1c906a", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a1d6a1995203a7c908a0a34debc39148", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.free_mm", @@ -9182,7 +8954,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "0811051a600b904fcca93d6df397466f" + "e5dc31fc38e52d88bff212b1cb88c394" ], [ "FStar.ModifiesGen.does_not_contain_addr_elim", @@ -9191,7 +8963,7 @@ 1, [ "@query" ], 0, - "a4c90a2e8cf22342f53272647b1660c2" + "63f0a88d788703feeb290ce926a4313b" ], [ "FStar.ModifiesGen.does_not_contain_addr_elim", @@ -9199,8 +8971,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.ModifiesGen.does_not_contain_addr", "equation_FStar.ModifiesGen.does_not_contain_addr_", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -9215,35 +8986,39 @@ "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "796c307d4573ce811adf50899be5eb0b" + "e3e0ff0c4d0b6812a78b8a15ad65c24a" ], [ "FStar.ModifiesGen.disjoint_addrs_of_loc_loc_disjoint", 1, 2, - 2, + 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_86e359938e7e1de8a72d2796865dfad4", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.GSet.subset", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_1c41616afd4ab31e4b3b4b46cf8a03e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_disjoint", + "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_aux_disjoint", "equation_FStar.ModifiesGen.loc_disjoint", @@ -9256,35 +9031,48 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_Prims.nat", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", + "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_union", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", + "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", + "proj_equation_FStar.ModifiesGen.Loc_aux", + "proj_equation_FStar.ModifiesGen.Loc_live_addrs", + "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "true_interp", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", + "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_aux", + "typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "typing_FStar.ModifiesGen.addrs_of_loc_weak", + "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_Prims.l_Exists", - "typing_Tm_abs_eb1362892fd02b8e329b33dec38e5c63" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_678d7502352de69ff283cdc5c173e000", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "4fb8e4263893eb9a0fa3e892d5a19419" + "02cb2cb04b72666ed7ae2834d7027754" ], [ "FStar.ModifiesGen.loc_not_unused_in", @@ -9293,17 +9081,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1a2b7fe27ae497728833e44efff563b7", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_c19cf3f1a96fee649e9c2b423c444bef", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6e6ade20207a7c2924593004ec4420b", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_edea3fa082dd479ff7d89597f0db3063", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", @@ -9320,13 +9108,11 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.mk_non_live_addrs", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_88284ca01a81cfe6ef1fe2d1b52ef2f0", - "interpretation_Tm_abs_eee03d3c22f4f7a1469a4efa5ee55b6c", - "interpretation_Tm_abs_f2ede73eaf2c0d802413419713f8dbcf", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", + "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", + "interpretation_Tm_abs_7538b15e15b7578826f7c26d95f16b37", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", @@ -9336,12 +9122,14 @@ "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_905dc2a47428b2c8adb00a1de39d8412", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_3297a38ae9e23fb4329ae7df673d3263", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_73e4e0e07c1c664ccdacbfd79ea4c6bb", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", @@ -9351,15 +9139,17 @@ "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.addrs_dom", + "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_7538b15e15b7578826f7c26d95f16b37", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "5e5b3d23c7e5cf48b965d0731dc154fc" + "e8ebae24e1d67bcc211aa8165b7082d7" ], [ "FStar.ModifiesGen.loc_unused_in", @@ -9368,24 +9158,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_305ccf01e53a2104917e6d058b39e06d", - "FStar.ModifiesGen_interpretation_Tm_arrow_4589656b8fbddf44319538efa874154b", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_c19cf3f1a96fee649e9c2b423c444bef", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_29f1c1390fa10d424180a61d88005055", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6e6ade20207a7c2924593004ec4420b", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbfbfeae30649be071cd797a89252030", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.mk_live_addrs", "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.non_live_addrs_codom", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -9397,14 +9186,12 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.mk_non_live_addrs", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_018302ca8245d191a666587ef3186cf8", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_6bde864b5b5e8353d4440e69c0e32bc4", - "interpretation_Tm_abs_88284ca01a81cfe6ef1fe2d1b52ef2f0", - "interpretation_Tm_abs_ad30b823439d04bbedc1a2f57f5ce2ce", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "interpretation_Tm_abs_7538b15e15b7578826f7c26d95f16b37", + "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", + "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", @@ -9415,32 +9202,36 @@ "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_905dc2a47428b2c8adb00a1de39d8412", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_3297a38ae9e23fb4329ae7df673d3263", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_73e4e0e07c1c664ccdacbfd79ea4c6bb", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.addrs_dom", + "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_6bde864b5b5e8353d4440e69c0e32bc4" + "typing_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "typing_Tm_abs_7538b15e15b7578826f7c26d95f16b37", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "c6702e080957d69bb8a77974ce6ff011" + "865dd41dc96bbcb1153a77b37e6b9ba1" ], [ "FStar.ModifiesGen.loc_regions_unused_in", @@ -9449,18 +9240,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_305ccf01e53a2104917e6d058b39e06d", - "FStar.ModifiesGen_interpretation_Tm_arrow_4589656b8fbddf44319538efa874154b", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_29f1c1390fa10d424180a61d88005055", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbfbfeae30649be071cd797a89252030", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -9487,33 +9276,30 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_018302ca8245d191a666587ef3186cf8", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_6bde864b5b5e8353d4440e69c0e32bc4", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", - "interpretation_Tm_abs_ad30b823439d04bbedc1a2f57f5ce2ce", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.subset_mem", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", + "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", @@ -9525,16 +9311,17 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -9564,12 +9351,12 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_018302ca8245d191a666587ef3186cf8", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_ad30b823439d04bbedc1a2f57f5ce2ce", "unit_typing" + "typing_Tm_abs_8108eea29adf30888f7a7e75da91e978", + "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "2637f3c9b3a44fdbbb33a61d0ae07743" + "e743163002aa2bcc6ad0d04675e22cb7" ], [ "FStar.ModifiesGen.loc_addresses_unused_in", @@ -9577,16 +9364,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f4701158bc451d5fdf68173ac21d93bc" + "cead21a2e318b9210d5b06d2702e4c58" ], [ "FStar.ModifiesGen.loc_addresses_unused_in", @@ -9596,11 +9380,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "627ebcc235592ff9cdb9265a4076f570" + "80bcad2eaf447553dae8721ef1a6cab1" ], [ "FStar.ModifiesGen.loc_addresses_unused_in", @@ -9609,20 +9393,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_305ccf01e53a2104917e6d058b39e06d", - "FStar.ModifiesGen_interpretation_Tm_arrow_4589656b8fbddf44319538efa874154b", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_29f1c1390fa10d424180a61d88005055", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbfbfeae30649be071cd797a89252030", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", @@ -9651,35 +9435,34 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_018302ca8245d191a666587ef3186cf8", - "interpretation_Tm_abs_32379968df700d1e0a03cd48d2565458", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "interpretation_Tm_abs_ad30b823439d04bbedc1a2f57f5ce2ce", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_38255e689400fcb3bc0d76c2a38df675", + "interpretation_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", + "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", + "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", @@ -9689,6 +9472,8 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", + "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_region", @@ -9698,22 +9483,25 @@ "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", + "typing_FStar.GSet.of_set", "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", @@ -9724,7 +9512,6 @@ "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.does_not_contain_addr", "typing_FStar.ModifiesGen.does_not_contain_addr_", "typing_FStar.ModifiesGen.loc_addresses", "typing_FStar.ModifiesGen.loc_unused_in", @@ -9735,15 +9522,16 @@ "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_018302ca8245d191a666587ef3186cf8", - "typing_Tm_abs_32379968df700d1e0a03cd48d2565458", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "typing_Tm_abs_ad30b823439d04bbedc1a2f57f5ce2ce", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a", "unit_typing" + "typing_Tm_abs_38255e689400fcb3bc0d76c2a38df675", + "typing_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_8108eea29adf30888f7a7e75da91e978", + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "b5fed16d197d03a1e67ed9eb341d7d4d" + "49df6ade623356ce9e6697eeaf50c5d2" ], [ "FStar.ModifiesGen.loc_addresses_not_unused_in", @@ -9751,16 +9539,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "397e47fc271293d28292b72f6bd7af1d" + "abf3b53b18846f39fb61e9904e673aa9" ], [ "FStar.ModifiesGen.loc_addresses_not_unused_in", @@ -9770,11 +9555,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c92c59fe2448cd1fe54f9f36ece220dd" + "66e02910d5c5d905c990f83fb2a0d06d" ], [ "FStar.ModifiesGen.loc_addresses_not_unused_in", @@ -9783,20 +9568,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1a2b7fe27ae497728833e44efff563b7", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_c19cf3f1a96fee649e9c2b423c444bef", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_edea3fa082dd479ff7d89597f0db3063", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "b2t_def", "bool_inversion", "bool_typing", + "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -9817,7 +9602,6 @@ "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.l_Exists", @@ -9827,34 +9611,33 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_204b0705bc191b6d745691b3f73ae5e9", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", - "interpretation_Tm_abs_eee03d3c22f4f7a1469a4efa5ee55b6c", - "interpretation_Tm_abs_f2ede73eaf2c0d802413419713f8dbcf", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", + "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", + "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "l_not-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", + "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", + "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", @@ -9874,17 +9657,18 @@ "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -9905,20 +9689,19 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_204b0705bc191b6d745691b3f73ae5e9", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a", - "typing_Tm_abs_eee03d3c22f4f7a1469a4efa5ee55b6c", - "typing_Tm_abs_f2ede73eaf2c0d802413419713f8dbcf", "unit_typing" + "typing_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", + "typing_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "9c0308593d362145e801568693ceda97" + "8635d4570c06ecea86a35d214f060c85" ], [ "FStar.ModifiesGen.loc_unused_in_not_unused_in_disjoint", @@ -9927,19 +9710,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1a2b7fe27ae497728833e44efff563b7", - "FStar.ModifiesGen_interpretation_Tm_arrow_4589656b8fbddf44319538efa874154b", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_86e359938e7e1de8a72d2796865dfad4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_c19cf3f1a96fee649e9c2b423c444bef", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_29f1c1390fa10d424180a61d88005055", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_edea3fa082dd479ff7d89597f0db3063", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "b2t_def", "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", @@ -9966,38 +9747,35 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "equation_Prims.l_and", - "equation_Prims.l_not", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.squash", + "equation_FStar.Pervasives.Native.fst", "equation_FStar.Set.subset", + "equation_Prims.eqtype", "equation_Prims.l_Exists", + "equation_Prims.l_and", "equation_Prims.l_not", + "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_204b0705bc191b6d745691b3f73ae5e9", - "interpretation_Tm_abs_32379968df700d1e0a03cd48d2565458", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_6bde864b5b5e8353d4440e69c0e32bc4", - "interpretation_Tm_abs_ad30b823439d04bbedc1a2f57f5ce2ce", - "interpretation_Tm_abs_eee03d3c22f4f7a1469a4efa5ee55b6c", - "interpretation_Tm_abs_f2ede73eaf2c0d802413419713f8dbcf", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_38255e689400fcb3bc0d76c2a38df675", + "interpretation_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", + "interpretation_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "interpretation_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", + "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", + "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "l_not-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", @@ -10006,39 +9784,41 @@ "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", + "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", + "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", + "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", + "typing_FStar.GSet.mem", "typing_FStar.GSet.set", + "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", + "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.does_not_contain_addr", + "typing_FStar.ModifiesGen.does_not_contain_addr_", "typing_FStar.ModifiesGen.loc_not_unused_in", "typing_FStar.ModifiesGen.loc_unused_in", "typing_FStar.Monotonic.HyperHeap.rid", @@ -10048,18 +9828,16 @@ "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.l_Exists", - "typing_Tm_abs_204b0705bc191b6d745691b3f73ae5e9", - "typing_Tm_abs_32379968df700d1e0a03cd48d2565458", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_6bde864b5b5e8353d4440e69c0e32bc4", - "typing_Tm_abs_ad30b823439d04bbedc1a2f57f5ce2ce", - "typing_Tm_abs_eb1362892fd02b8e329b33dec38e5c63", - "typing_Tm_abs_eee03d3c22f4f7a1469a4efa5ee55b6c", - "typing_Tm_abs_f2ede73eaf2c0d802413419713f8dbcf", "unit_typing" + "typing_Tm_abs_38255e689400fcb3bc0d76c2a38df675", + "typing_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", + "typing_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "typing_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", + "typing_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", + "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "fc49ad30cca225b28b47beebd877a658" + "b2a476a3666db34a0d154e6998e1c77d" ], [ "FStar.ModifiesGen.not_live_region_loc_not_unused_in_disjoint", @@ -10068,19 +9846,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0060064bb1fc62d85672ecfdb3efd69a", - "FStar.ModifiesGen_interpretation_Tm_arrow_1a2b7fe27ae497728833e44efff563b7", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_c19cf3f1a96fee649e9c2b423c444bef", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_86d951eedf9f15d1794a277d0ca9fa24", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_edea3fa082dd479ff7d89597f0db3063", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "b2t_def", "bool_inversion", "bool_typing", + "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -10114,28 +9892,26 @@ "equation_Prims.l_and", "equation_Prims.l_not", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", + "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_204b0705bc191b6d745691b3f73ae5e9", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_8ea8bf9ec520c592cc1e7e1efc518351", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", - "interpretation_Tm_abs_eee03d3c22f4f7a1469a4efa5ee55b6c", - "interpretation_Tm_abs_f2ede73eaf2c0d802413419713f8dbcf", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", + "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", @@ -10145,21 +9921,20 @@ "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", @@ -10185,13 +9960,13 @@ "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_204b0705bc191b6d745691b3f73ae5e9", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_eee03d3c22f4f7a1469a4efa5ee55b6c", - "typing_Tm_abs_f2ede73eaf2c0d802413419713f8dbcf", "unit_typing" + "typing_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", + "typing_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", + "typing_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "f97a2e541a2c93e5766cf785dac958cc" + "b6a41c9f5a9a2f34ae85fbf15d8ccbd5" ], [ "FStar.ModifiesGen.modifies_address_liveness_insensitive_unused_in", @@ -10200,23 +9975,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1a2b7fe27ae497728833e44efff563b7", - "FStar.ModifiesGen_interpretation_Tm_arrow_305ccf01e53a2104917e6d058b39e06d", - "FStar.ModifiesGen_interpretation_Tm_arrow_4589656b8fbddf44319538efa874154b", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_48db95e84b6340d76ebcd4845a0ee05d", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a4090d0915603b50b2fedb1e992468dc", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_aa2b8434c78ba5450a20a7330b6b3132", - "FStar.ModifiesGen_interpretation_Tm_arrow_c19cf3f1a96fee649e9c2b423c444bef", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_fbdef08d74f0ee409a06011c61670e36", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_29f1c1390fa10d424180a61d88005055", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_edea3fa082dd479ff7d89597f0db3063", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbfbfeae30649be071cd797a89252030", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "b2t_def", "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", + "data_elim_Prims.And", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", @@ -10229,7 +10003,6 @@ "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.does_not_contain_addr", "equation_FStar.ModifiesGen.does_not_contain_addr_", "equation_FStar.ModifiesGen.i_restricted_g_t", @@ -10255,32 +10028,32 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "equation_Prims.l_Exists", "equation_Prims.l_False", - "equation_Prims.l_Forall", "equation_Prims.l_and", - "equation_Prims.l_not", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.squash", + "equation_Prims.l_and", "equation_Prims.l_not", + "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", + "fuel_guarded_inversion_Prims.c_and", + "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_018302ca8245d191a666587ef3186cf8", - "interpretation_Tm_abs_0ea806169f85c3afb59ecd0212c11c0e", - "interpretation_Tm_abs_204b0705bc191b6d745691b3f73ae5e9", - "interpretation_Tm_abs_32379968df700d1e0a03cd48d2565458", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_6bde864b5b5e8353d4440e69c0e32bc4", - "interpretation_Tm_abs_ad30b823439d04bbedc1a2f57f5ce2ce", - "interpretation_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", - "interpretation_Tm_abs_d791edb3139657b7f43accbed054e942", - "interpretation_Tm_abs_eee03d3c22f4f7a1469a4efa5ee55b6c", - "interpretation_Tm_abs_f2ede73eaf2c0d802413419713f8dbcf", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_38255e689400fcb3bc0d76c2a38df675", + "interpretation_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", + "interpretation_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "interpretation_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", + "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", + "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", + "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "l_imp-interp", - "l_not-interp", "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_not-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", @@ -10289,10 +10062,8 @@ "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", + "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", @@ -10310,83 +10081,85 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", + "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.address_liveness_insensitive_locs", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", + "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.does_not_contain_addr", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Set.complement", + "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.complement", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_018302ca8245d191a666587ef3186cf8", - "typing_Tm_abs_204b0705bc191b6d745691b3f73ae5e9", - "typing_Tm_abs_32379968df700d1e0a03cd48d2565458", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_6bde864b5b5e8353d4440e69c0e32bc4", - "typing_Tm_abs_ad30b823439d04bbedc1a2f57f5ce2ce", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", - "typing_Tm_abs_d791edb3139657b7f43accbed054e942", - "typing_Tm_abs_eee03d3c22f4f7a1469a4efa5ee55b6c", - "typing_Tm_abs_f2ede73eaf2c0d802413419713f8dbcf", "unit_typing" + "typing_Prims.l_and", "typing_Prims.l_not", + "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", + "typing_Tm_abs_38255e689400fcb3bc0d76c2a38df675", + "typing_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", + "typing_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "typing_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", + "typing_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", + "typing_Tm_abs_8108eea29adf30888f7a7e75da91e978", + "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "3ea8509125a9a4be1d6ce88096109d4f" + "9641b18005d56f965aac906d027a4e75" ], [ "FStar.ModifiesGen.modifies_only_not_unused_in", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_305ccf01e53a2104917e6d058b39e06d", - "FStar.ModifiesGen_interpretation_Tm_arrow_4589656b8fbddf44319538efa874154b", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_aa2b8434c78ba5450a20a7330b6b3132", - "FStar.ModifiesGen_interpretation_Tm_arrow_c19cf3f1a96fee649e9c2b423c444bef", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_29f1c1390fa10d424180a61d88005055", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbfbfeae30649be071cd797a89252030", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.FunctionalExtensionality.feq_g", @@ -10402,6 +10175,7 @@ "equation_FStar.ModifiesGen.does_not_contain_addr", "equation_FStar.ModifiesGen.does_not_contain_addr_", "equation_FStar.ModifiesGen.i_restricted_g_t", + "equation_FStar.ModifiesGen.live_addrs_codom", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_aux_disjoint", "equation_FStar.ModifiesGen.loc_union", @@ -10434,32 +10208,31 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_018302ca8245d191a666587ef3186cf8", - "interpretation_Tm_abs_32379968df700d1e0a03cd48d2565458", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_6bde864b5b5e8353d4440e69c0e32bc4", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "interpretation_Tm_abs_ad30b823439d04bbedc1a2f57f5ce2ce", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_38255e689400fcb3bc0d76c2a38df675", + "interpretation_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", + "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", @@ -10480,40 +10253,41 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", + "true_interp", "typing_FStar.FunctionalExtensionality.on_domain_g", + "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", + "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", + "typing_FStar.GSet.mem", "typing_FStar.GSet.set", + "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", + "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", + "typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.does_not_contain_addr", "typing_FStar.ModifiesGen.loc_union", "typing_FStar.ModifiesGen.loc_unused_in", @@ -10527,72 +10301,65 @@ "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.union", + "typing_FStar.Pervasives.Native.fst", "typing_FStar.Set.complement", + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_FStar.Set.set", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_018302ca8245d191a666587ef3186cf8", - "typing_Tm_abs_32379968df700d1e0a03cd48d2565458", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_6bde864b5b5e8353d4440e69c0e32bc4", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "typing_Tm_abs_ad30b823439d04bbedc1a2f57f5ce2ce", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", "unit_typing" + "typing_Tm_abs_38255e689400fcb3bc0d76c2a38df675", + "typing_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_8108eea29adf30888f7a7e75da91e978", + "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "c07278289460099a84a66425e1cc394e" + "3590ddf4065959dd685590b8dd784b29" ], [ "FStar.ModifiesGen.modifies_only_live_addresses", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7fe2b321c13bb9d633190f15887d3ed0" + "7c829a737811e24bdfa2eee1cf2ac18d" ], [ "FStar.ModifiesGen.modifies_only_live_addresses", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c44e2e745e93239423aa128b3465b511" + "71413ec7c3ef2b526edf6493b16e091e" ], [ "FStar.ModifiesGen.mreference_live_loc_not_unused_in", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1592b0099d08f7dc4d2b8eb38d1d59ff", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_7241591c62aa7b724793079e42a9aca6", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_aa2b8434c78ba5450a20a7330b6b3132", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc", @@ -10613,6 +10380,9 @@ "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", + "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", @@ -10624,19 +10394,19 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", @@ -10645,10 +10415,11 @@ "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", + "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", @@ -10664,16 +10435,18 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ad1cda78fc1c2d1580e6155f8fb6ccec", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -10682,13 +10455,14 @@ "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", "typing_FStar.Map.sel", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.loc_addresses", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", @@ -10698,12 +10472,12 @@ "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_63b86a8054b67c0bbf45094b26e3f87e", - "typing_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a", "unit_typing" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "6adb41d3b3796ae84868ccf960dcc39a" + "f9700dbc8f944d80b7717c2562985742" ], [ "FStar.ModifiesGen.mreference_unused_in_loc_unused_in", @@ -10711,9 +10485,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.ModifiesGen.loc_freed_mreference", "equation_FStar.ModifiesGen.loc_mreference", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -10729,9 +10501,8 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", @@ -10740,20 +10511,20 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.unused_in", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "4730aeb4af9735245d1f31679a8044a2" + "ed06c452f669dd8120167e55e402ae8c" ], [ "FStar.ModifiesGen.__proj__ALOC_FALSE__item___0", @@ -10767,7 +10538,7 @@ "refinement_interpretation_Tm_refine_961ba5996408b3f6edafa88cb3e0ceac" ], 0, - "de59fcfc625b9454b52f79599f3a181f" + "3ff834ce0819043df7cfcafccccfa401" ], [ "FStar.ModifiesGen.__proj__ALOC_TRUE__item___0", @@ -10781,7 +10552,7 @@ "refinement_interpretation_Tm_refine_550f829591d442009b33c5cac1fe3397" ], 0, - "c86a2e60e5ee0f9646ef52c6c5e26742" + "eea8ff58bc631ced6b1512dacb8764d2" ], [ "FStar.ModifiesGen.bool_of_cls_union_aloc", @@ -10795,7 +10566,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_aloc" ], 0, - "581c48c9037d351cf7999e5af1a996a7" + "98338594a2d59a6c7f8140d8c7127903" ], [ "FStar.ModifiesGen.aloc_of_cls_union_aloc", @@ -10815,10 +10586,10 @@ "projection_inverse_FStar.ModifiesGen.ALOC_TRUE_al", "projection_inverse_FStar.ModifiesGen.ALOC_TRUE_n", "projection_inverse_FStar.ModifiesGen.ALOC_TRUE_r", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "497d666ab9bb5c3c27dc8c83e103acb2" + "dde6481c356b418ea47f79364b8d7318" ], [ "FStar.ModifiesGen.make_cls_union_aloc", @@ -10827,7 +10598,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], 0, - "001689470f6e7a0d2fceb62e671554c4" + "858a2b2a4f51d592201f0ec1bd5e0902" ], [ "FStar.ModifiesGen.cls_union_aloc_includes", @@ -10836,7 +10607,7 @@ 1, [ "@query" ], 0, - "51e6c15d0a5f1d2e55f5062db96d0d94" + "483665c979a7134caaab3c7e0128debf" ], [ "FStar.ModifiesGen.cls_union_aloc_disjoint", @@ -10845,7 +10616,7 @@ 1, [ "@query" ], 0, - "c8ec977971ab6ec0ff36c5a502a96e23" + "4738102468f01b99610b7e96cea11e64" ], [ "FStar.ModifiesGen.cls_union", @@ -10854,18 +10625,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.ModifiesGen.cls_union_aloc_disjoint", "equation_FStar.ModifiesGen.cls_union_aloc_includes", "equation_FStar.ModifiesGen.cls_union_aloc_preserved", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "977802119ad2f4f40cbde4e9475f35cc" + "ccf6dbd9183a1f8dee71c3c6579d741b" ], [ "FStar.ModifiesGen.union_aux_of_aux_left_pred", @@ -10884,7 +10652,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "0bc624cf3c4d37ddbbdfda02e0825f76" + "8e310392123f3b0cd48ec1a934cf93e9" ], [ "FStar.ModifiesGen.union_loc_of_loc", @@ -10893,15 +10661,15 @@ 2, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_aa2b8434c78ba5450a20a7330b6b3132", - "FStar.ModifiesGen_interpretation_Tm_arrow_c5f3110a321c42f15de9da1e9ce04af4", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_078641d9b6c72b0e8103dc5cd147442b", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", @@ -10925,10 +10693,9 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", + "int_inversion", + "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_union", @@ -10940,10 +10707,11 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c37f5965e1986af19c5a3ef5fd3f6efe", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7975fca1e1d847928e9a129dff4ff125", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", @@ -10958,11 +10726,11 @@ "typing_FStar.ModifiesGen.union_aux_of_aux_left", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "7ecf44f864f7605fcc24946b3a1e06fe" + "9c473f0bbcab0395747d35afa0f302a3" ], [ "FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", @@ -10971,16 +10739,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.ModifiesGen.aloc_t", "equation_Prims.nat", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0" ], 0, - "136f1bf4c042990df065478b5126d0c3" + "e1c5cdf0fa86296f9d371063d58ad1fb" ], [ "FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", @@ -10989,10 +10756,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_c5f3110a321c42f15de9da1e9ce04af4", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_078641d9b6c72b0e8103dc5cd147442b", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", @@ -11012,17 +10781,15 @@ "equation_FStar.ModifiesGen.make_cls_union_aloc", "equation_FStar.ModifiesGen.union_aux_of_aux_left", "equation_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.aloc_union", "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", "kinding_FStar.ModifiesGen.aloc@tok", + "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.Pervasives.invertOption", - "partial_app_typing_47742053709de0f14d257c8a7eb24ee3", - "partial_app_typing_6101a36ee4f7f5243a2c369c38c92ccc", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -11054,7 +10821,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "bc108506e835da1f59e9d9bd169987cf" + "7d106a6f67e30b5f9bede4b131fe3d63" ], [ "FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", @@ -11063,9 +10830,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_c5f3110a321c42f15de9da1e9ce04af4", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_078641d9b6c72b0e8103dc5cd147442b", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", "disc_equation_FStar.Pervasives.Native.None", @@ -11076,15 +10843,13 @@ "equation_FStar.ModifiesGen.cls_union", "equation_FStar.ModifiesGen.union_aux_of_aux_left", "equation_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "function_token_typing_FStar.ModifiesGen.aloc_union", "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.Pervasives.invertOption", - "partial_app_typing_6101a36ee4f7f5243a2c369c38c92ccc", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -11100,7 +10865,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "c05caebbcc95a3242f2ce68e62b7a81b" + "265cb2ede654913a165a1a20d94bd38e" ], [ "FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", @@ -11109,15 +10874,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", @@ -11134,7 +10898,6 @@ "equation_FStar.ModifiesGen.aloc_union", "equation_FStar.ModifiesGen.cls_union", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.make_cls_union_aloc", "equation_FStar.ModifiesGen.regions_of_loc", "equation_FStar.ModifiesGen.union_aux_of_aux_left", "equation_FStar.ModifiesGen.union_loc_of_loc", @@ -11142,27 +10905,24 @@ "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.aloc_union", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", + "int_inversion", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "kinding_FStar.ModifiesGen.cls_union_aloc@tok", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", - "partial_app_typing_47742053709de0f14d257c8a7eb24ee3", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "partial_app_typing_6101a36ee4f7f5243a2c369c38c92ccc", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -11172,25 +10932,28 @@ "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_FStar.Ghost.reveal", + "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", + "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_aux", @@ -11204,13 +10967,14 @@ "typing_FStar.ModifiesGen.union_loc_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Set.mem", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", "unit_typing" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "5bb82ded32fc6fc02922532b36889e7f" + "f3a7a3e9a8ea2fcc3bca7123082a67c6" ], [ "FStar.ModifiesGen.union_loc_of_loc_none", @@ -11219,13 +10983,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "bool_inversion", "equation_FStar.GSet.subset", + "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.aloc_union", "equation_FStar.ModifiesGen.cls_union", "equation_FStar.ModifiesGen.fun_set_equal", @@ -11234,7 +10998,7 @@ "equation_FStar.ModifiesGen.loc_none", "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", @@ -11243,17 +11007,15 @@ "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_regions", + "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.reveal", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.aloc_union", @@ -11261,11 +11023,11 @@ "typing_FStar.ModifiesGen.loc_none", "typing_FStar.ModifiesGen.union_loc_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_FStar.Set.set", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "87ceaf375468031e02a479eb85bcaec0" + "3506a339933fcf42bc30cbe314e58b4b" ], [ "FStar.ModifiesGen.union_loc_of_loc_union", @@ -11274,27 +11036,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_aa2b8434c78ba5450a20a7330b6b3132", - "FStar.ModifiesGen_interpretation_Tm_arrow_c5f3110a321c42f15de9da1e9ce04af4", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_078641d9b6c72b0e8103dc5cd147442b", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", @@ -11322,23 +11082,22 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.GSet.mem_empty", + "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_equal_elim", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -11347,34 +11106,30 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.GSet.union", + "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", @@ -11395,13 +11150,12 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "acd9d74b0905d437d62313d79f3c67c9" + "753ff83e43e513298f0535cfbdd8eb54" ], [ "FStar.ModifiesGen.union_loc_of_loc_addresses", @@ -11411,11 +11165,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e1fb7471c36be41e56d20361db4b1573" + "8c994e80ebdd3ea8d5f1863bb715779b" ], [ "FStar.ModifiesGen.union_loc_of_loc_addresses", @@ -11425,11 +11179,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9f52a31250946f5b773f73cb45604b04" + "053a3fe0bd9b8fb950693b793a495029" ], [ "FStar.ModifiesGen.union_loc_of_loc_addresses", @@ -11438,22 +11192,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_6244b4c8daad218774b76fb0bea009f3", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_078641d9b6c72b0e8103dc5cd147442b", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_2605d6fcdcb2a109d24ba98939978c59", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", + "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", @@ -11469,17 +11227,19 @@ "equation_FStar.ModifiesGen.mk_live_addrs", "equation_FStar.ModifiesGen.non_live_addrs_codom", "equation_FStar.ModifiesGen.union_aux_of_aux_left", + "equation_FStar.ModifiesGen.union_aux_of_aux_left_pred", "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.aloc_union", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", - "interpretation_Tm_abs_e7decb70ad01be69a3d606aad24d806a", + "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", @@ -11489,8 +11249,9 @@ "lemma_FStar.ModifiesGen.loc_equal_elim", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -11499,6 +11260,7 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", + "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_region", @@ -11507,18 +11269,20 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", + "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", "typing_FStar.GSet.of_set", "typing_FStar.GSet.set", "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", @@ -11529,6 +11293,7 @@ "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.addrs_dom", + "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.aloc_of_cls_union_aloc", "typing_FStar.ModifiesGen.aloc_union", "typing_FStar.ModifiesGen.cls_union", @@ -11536,14 +11301,15 @@ "typing_FStar.ModifiesGen.union_aux_of_aux_left", "typing_FStar.ModifiesGen.union_loc_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Set.empty", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_e7decb70ad01be69a3d606aad24d806a" + "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Set.empty", "typing_FStar.Set.mem", + "typing_FStar.Set.set", "typing_FStar.Set.singleton", + "typing_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "622a5039fc9b6df05b29834dee97216d" + "3fe7a10b8314281a789bfcd5ac139794" ], [ "FStar.ModifiesGen.union_loc_of_loc_regions", @@ -11552,49 +11318,48 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", + "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.aloc_union", "equation_FStar.ModifiesGen.cls_union", "equation_FStar.ModifiesGen.fun_set_equal", + "equation_FStar.ModifiesGen.i_restricted_g_t", "equation_FStar.ModifiesGen.live_addrs_codom", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_equal", "equation_FStar.ModifiesGen.loc_regions", - "equation_FStar.ModifiesGen.loc_regions_region_liveness_tags", "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", "equation_FStar.ModifiesGen.non_live_addrs_codom", "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_8ea8bf9ec520c592cc1e7e1efc518351", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_equal_elim", "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_region", + "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", @@ -11606,14 +11371,13 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_kinding_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", @@ -11625,7 +11389,6 @@ "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.aloc_union", "typing_FStar.ModifiesGen.cls_union", "typing_FStar.ModifiesGen.loc_regions", @@ -11633,11 +11396,10 @@ "typing_FStar.ModifiesGen.union_loc_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "bee9313cb8d3e1878e952ed9da2f611a" + "87ad569e890e6649d7aff52da1838974" ], [ "FStar.ModifiesGen.union_loc_of_loc_includes_intro", @@ -11646,14 +11408,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_c5f3110a321c42f15de9da1e9ce04af4", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "bool_inversion", "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", "constructor_distinct_FStar.Pervasives.Native.None", @@ -11662,6 +11423,7 @@ "data_elim_FStar.ModifiesGen.Loc", "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.ModifiesGen.ALOC_FALSE@tok", + "data_typing_intro_FStar.ModifiesGen.ALOC_TRUE@tok", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", @@ -11669,7 +11431,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.aloc_includes", @@ -11685,8 +11446,6 @@ "equation_FStar.ModifiesGen.loc_includes", "equation_FStar.ModifiesGen.make_cls_union_aloc", "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.union_aux_of_aux_left", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_pred", "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_FStar.Set.subset", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", @@ -11695,29 +11454,24 @@ "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.aloc_union", - "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "kinding_FStar.ModifiesGen.aloc@tok", + "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "l_and-interp", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", + "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.subset_mem", - "partial_app_typing_47742053709de0f14d257c8a7eb24ee3", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "partial_app_typing_6101a36ee4f7f5243a2c369c38c92ccc", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -11749,16 +11503,17 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.cls_union_aloc_includes", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", "typing_FStar.GSet.union", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", @@ -11771,51 +11526,50 @@ "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.aloc_of_cls_union_aloc", "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.make_cls_union_aloc", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.ModifiesGen.union_loc_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "a601a797b2eac9f388d8bd4025d221ea" + "5d33969a060a82009af165afc4722702" ], [ "FStar.ModifiesGen.union_loc_of_loc_includes_elim", 1, - 2, - 2, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_c5f3110a321c42f15de9da1e9ce04af4", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_078641d9b6c72b0e8103dc5cd147442b", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", "bool_typing", "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.ALoc", - "data_elim_FStar.ModifiesGen.Loc", + "data_typing_intro_FStar.ModifiesGen.ALoc@tok", + "data_typing_intro_FStar.Pervasives.Native.None@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.aloc_includes", "equation_FStar.ModifiesGen.aloc_of_cls_union_aloc", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.bool_of_cls_union_aloc", "equation_FStar.ModifiesGen.cls_union", "equation_FStar.ModifiesGen.cls_union_aloc_includes", "equation_FStar.ModifiesGen.loc", @@ -11827,39 +11581,32 @@ "equation_FStar.ModifiesGen.union_aux_of_aux_left", "equation_FStar.ModifiesGen.union_aux_of_aux_left_pred", "equation_FStar.ModifiesGen.union_loc_of_loc", - "equation_FStar.Set.subset", "equation_Prims.l_Forall", - "equation_Prims.l_and", "equation_Prims.nat", + "equation_FStar.Set.subset", "equation_Prims.l_and", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_aloc", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "function_token_typing_FStar.ModifiesGen.aloc_union", - "function_token_typing_FStar.ModifiesGen.cls_union_aloc_includes", "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_0ea806169f85c3afb59ecd0212c11c0e", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "kinding_FStar.ModifiesGen.aloc@tok", + "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "l_and-interp", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", - "lemma_FStar.Pervasives.invertOption", - "partial_app_typing_47742053709de0f14d257c8a7eb24ee3", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "partial_app_typing_6101a36ee4f7f5243a2c369c38c92ccc", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -11877,6 +11624,8 @@ "projection_inverse_FStar.ModifiesGen.ALOC_FALSE_r", "projection_inverse_FStar.ModifiesGen.ALOC_TRUE__0", "projection_inverse_FStar.ModifiesGen.ALOC_TRUE_al", + "projection_inverse_FStar.ModifiesGen.ALOC_TRUE_n", + "projection_inverse_FStar.ModifiesGen.ALOC_TRUE_r", "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_loc", "projection_inverse_FStar.ModifiesGen.ALoc_region", @@ -11890,19 +11639,19 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_02c6358aebd7d7895994df825f7eb0f8", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.cls_union_aloc_includes", "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.reveal", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.GSet.union", + "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", @@ -11910,19 +11659,18 @@ "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_weak", + "typing_FStar.ModifiesGen.bool_of_cls_union_aloc", "typing_FStar.ModifiesGen.cls_union", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.ModifiesGen.union_aux_of_aux_left", "typing_FStar.ModifiesGen.union_loc_of_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "70661420568b977f4b2ab602a43fb0c1" + "a297ace9c7ad894806ded348fcbaad0b" ], [ "FStar.ModifiesGen.union_loc_of_loc_includes", @@ -11931,7 +11679,7 @@ 1, [ "@query" ], 0, - "77bb6f5fc986f1fa96a876297bae0b19" + "63663752448db7dd6015adf5712915b5" ], [ "FStar.ModifiesGen.union_loc_of_loc_disjoint_intro", @@ -11940,19 +11688,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_c5f3110a321c42f15de9da1e9ce04af4", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", + "data_elim_FStar.Pervasives.Native.Some", "data_elim_Prims.And", + "data_elim_Prims.Mkdtuple2", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", @@ -11965,54 +11713,46 @@ "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_disjoint", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_includes", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.aloc_union", "equation_FStar.ModifiesGen.cls_union", "equation_FStar.ModifiesGen.cls_union_aloc_disjoint", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", "equation_FStar.ModifiesGen.loc_disjoint", "equation_FStar.ModifiesGen.loc_disjoint_", "equation_FStar.ModifiesGen.loc_disjoint_addrs", "equation_FStar.ModifiesGen.loc_disjoint_aux", "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.union_aux_of_aux_left", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "equation_FStar.ModifiesGen.union_loc_of_loc", - "equation_Prims.l_Exists", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.squash", + "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_Prims.eq2", + "equation_Prims.l_Exists", "equation_Prims.l_and", + "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.c_and", + "fuel_guarded_inversion_Prims.dtuple2", + "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.aloc_union", - "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_0ea806169f85c3afb59ecd0212c11c0e", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", + "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "interpretation_Tm_abs_678d7502352de69ff283cdc5c173e000", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.ModifiesGen.loc_disjoint_sym_", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", - "lemma_FStar.Pervasives.invertOption", - "partial_app_typing_47742053709de0f14d257c8a7eb24ee3", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "partial_app_typing_6101a36ee4f7f5243a2c369c38c92ccc", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -12034,16 +11774,18 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.cls_union_aloc_disjoint", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", "true_interp", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", @@ -12055,18 +11797,20 @@ "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_of_loc", + "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", + "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.aloc_of_cls_union_aloc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", "unit_typing" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "93c6736b64fa0ac5851aa4a249e355ff" + "9ba3f772034bb8dac58e819d9d99897c" ], [ "FStar.ModifiesGen.union_loc_of_loc_disjoint_elim", @@ -12075,18 +11819,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_FStar.ModifiesGen.Loc", - "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", @@ -12118,19 +11861,15 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.aloc_union", - "function_token_typing_Prims.nat", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", + "kinding_FStar.ModifiesGen.aloc@tok", + "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "l_and-interp", + "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", + "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", + "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", - "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", - "lemma_FStar.Pervasives.invertOption", - "partial_app_typing_47742053709de0f14d257c8a7eb24ee3", - "partial_app_typing_6101a36ee4f7f5243a2c369c38c92ccc", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -12159,6 +11898,7 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.cls_union_aloc_disjoint", @@ -12171,7 +11911,6 @@ "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.bool_of_cls_union_aloc", "typing_FStar.ModifiesGen.cls_union", "typing_FStar.ModifiesGen.make_cls_union_aloc", "typing_FStar.ModifiesGen.union_aux_of_aux_left", @@ -12179,10 +11918,10 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "d37e694059c1738b21f8588e1e5ddaad" + "953a9ce67d7b8072b3f9db8d0a0c6b45" ], [ "FStar.ModifiesGen.union_loc_of_loc_disjoint", @@ -12191,7 +11930,7 @@ 1, [ "@query" ], 0, - "5517bd70cdbcdecdbbb8c82fbd01b7f5" + "3fb9f1f30a32406414096956504542c7" ], [ "FStar.ModifiesGen.modifies_union_loc_of_loc_elim", @@ -12200,14 +11939,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", "constructor_distinct_FStar.Pervasives.Native.None", @@ -12254,18 +11993,17 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_aloc", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.aloc_union", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", @@ -12275,12 +12013,9 @@ "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", - "lemma_FStar.Pervasives.invertOption", - "partial_app_typing_47742053709de0f14d257c8a7eb24ee3", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "partial_app_typing_6101a36ee4f7f5243a2c369c38c92ccc", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -12313,13 +12048,13 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", @@ -12335,7 +12070,6 @@ "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", @@ -12348,13 +12082,13 @@ "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.mem", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", "unit_typing" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "f4da7a440ea27d2df15e762f7715a644" + "362b692eb455468b53a9e2f3adcea707" ], [ "FStar.ModifiesGen.modifies_union_loc_of_loc_intro", @@ -12363,31 +12097,35 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_BoxBool", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_078641d9b6c72b0e8103dc5cd147442b", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_FStar.ModifiesGen.Loc", + "constructor_distinct_Tm_unit", "data_elim_FStar.ModifiesGen.ALoc", + "data_elim_FStar.ModifiesGen.Loc", + "data_elim_FStar.Pervasives.Native.Some", "data_elim_Prims.And", + "data_elim_Prims.Mkdtuple2", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", "equation_FStar.ModifiesGen.addrs_of_loc_weak", "equation_FStar.ModifiesGen.aloc_disjoint", "equation_FStar.ModifiesGen.aloc_domain", + "equation_FStar.ModifiesGen.aloc_includes", "equation_FStar.ModifiesGen.aloc_of_cls_union_aloc", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.aloc_union", @@ -12397,6 +12135,8 @@ "equation_FStar.ModifiesGen.cls_union_aloc_preserved", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_aux_disjoint", + "equation_FStar.ModifiesGen.loc_aux_includes", + "equation_FStar.ModifiesGen.loc_aux_includes_buffer", "equation_FStar.ModifiesGen.make_cls_union_aloc", "equation_FStar.ModifiesGen.modifies", "equation_FStar.ModifiesGen.modifies_", @@ -12407,44 +12147,47 @@ "equation_FStar.ModifiesGen.modifies_preserves_regions", "equation_FStar.ModifiesGen.regions_of_loc", "equation_FStar.ModifiesGen.union_aux_of_aux_left", + "equation_FStar.ModifiesGen.union_aux_of_aux_left_pred", "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.l_Exists", + "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eq2", + "equation_Prims.l_Exists", "equation_Prims.l_and", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_aloc", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_Prims.c_and", + "fuel_guarded_inversion_Prims.dtuple2", + "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.aloc_union", + "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "kinding_FStar.ModifiesGen.aloc@tok", - "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "interpretation_Tm_abs_678d7502352de69ff283cdc5c173e000", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", + "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", + "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_intersect", + "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_union", + "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", + "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", - "lemma_FStar.Pervasives.invertOption", - "partial_app_typing_3fc38492cdc5da0e5f0a118c03cf20f2", - "partial_app_typing_47742053709de0f14d257c8a7eb24ee3", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "partial_app_typing_6101a36ee4f7f5243a2c369c38c92ccc", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -12478,12 +12221,15 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", @@ -12491,6 +12237,7 @@ "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.cls_union_aloc_disjoint", "token_correspondence_FStar.ModifiesGen.cls_union_aloc_preserved", + "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", "true_interp", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", @@ -12500,24 +12247,28 @@ "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", + "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_of_loc", "typing_FStar.ModifiesGen.addrs_of_loc_weak", + "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.aloc_of_cls_union_aloc", "typing_FStar.ModifiesGen.bool_of_cls_union_aloc", - "typing_FStar.ModifiesGen.make_cls_union_aloc", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.ModifiesGen.union_aux_of_aux_left", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.mem", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", "unit_typing" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "592364f6202ee691139e30a2769be359" + "437d5f995bfa837c843e22d8d43726a6" ], [ "FStar.ModifiesGen.modifies_union_loc_of_loc", @@ -12526,7 +12277,7 @@ 1, [ "@query" ], 0, - "af91abfccf7f2a36c543129cb0e65691" + "b2876a12f677ccd45fcdf5ef08d2ade9" ], [ "FStar.ModifiesGen.loc_of_union_loc", @@ -12535,15 +12286,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_5df3da5653f135d819bdc1216d455e29", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_10ebe344578736185d63a70d3b7a0980", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.ModifiesGen.ALOC_FALSE@tok", @@ -12565,9 +12315,8 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "function_token_typing_FStar.ModifiesGen.aloc_union", "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Pervasives.invertOption", @@ -12578,8 +12327,8 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_24c72dfe85b225f8875db8b49db0e18b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0022066815fda7c8126c9e4f5091038c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", @@ -12591,11 +12340,11 @@ "typing_FStar.ModifiesGen.aloc_union", "typing_FStar.ModifiesGen.cls_union", "typing_FStar.ModifiesGen.make_cls_union_aloc", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "3213d9453c66fb82aaab95bf634461ab" + "23f8b03a1c08ea1721a344bb1b3ba6d9" ], [ "FStar.ModifiesGen.loc_of_union_loc_union_loc_of_loc", @@ -12604,17 +12353,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_5df3da5653f135d819bdc1216d455e29", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.Cls", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_10ebe344578736185d63a70d3b7a0980", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Cls", + "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", @@ -12623,10 +12371,8 @@ "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_of_cls_union_aloc", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.bool_of_cls_union_aloc", "equation_FStar.ModifiesGen.cls_union", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.i_restricted_g_t", @@ -12634,8 +12380,8 @@ "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_equal", "equation_FStar.ModifiesGen.loc_of_union_loc", - "equation_FStar.ModifiesGen.make_cls_union_aloc", "equation_FStar.ModifiesGen.non_live_addrs_codom", + "equation_FStar.ModifiesGen.union_aux_of_aux_left", "equation_FStar.ModifiesGen.union_aux_of_aux_left_inv", "equation_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_Prims.nat", @@ -12644,20 +12390,16 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.aloc_union", "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_refl", - "partial_app_typing_47742053709de0f14d257c8a7eb24ee3", - "primitive_Prims.op_BarBar", + "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_BarBar", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -12668,26 +12410,21 @@ "proj_equation_FStar.ModifiesGen.Loc_regions", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALOC_TRUE__0", - "projection_inverse_FStar.ModifiesGen.ALOC_TRUE_al", - "projection_inverse_FStar.ModifiesGen.ALOC_TRUE_n", - "projection_inverse_FStar.ModifiesGen.ALOC_TRUE_r", "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -12712,10 +12449,10 @@ "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "9eb98addd3cc9955da7216280aa79242" + "cd8a18d5a25bc9b131704a519c96c4fb" ], [ "FStar.ModifiesGen.loc_of_union_loc_none", @@ -12724,16 +12461,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "bool_inversion", "equation_FStar.GSet.subset", + "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.cls_union", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.loc", @@ -12741,9 +12475,7 @@ "equation_FStar.ModifiesGen.loc_none", "equation_FStar.ModifiesGen.loc_of_union_loc", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", @@ -12752,54 +12484,49 @@ "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.aloc_union", "typing_FStar.ModifiesGen.cls_union", "typing_FStar.ModifiesGen.loc_none", "typing_FStar.ModifiesGen.loc_of_union_loc", - "typing_FStar.ModifiesGen.union_aux_of_aux_left_inv", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "422549dd592dca1441ebed0205a5cc84" + "e940d0e0265c4ff80299dd294ca54497" ], [ "FStar.ModifiesGen.loc_of_union_loc_union", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_5df3da5653f135d819bdc1216d455e29", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a4090d0915603b50b2fedb1e992468dc", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_aa2b8434c78ba5450a20a7330b6b3132", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_10ebe344578736185d63a70d3b7a0980", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", @@ -12811,7 +12538,6 @@ "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.aloc_union", "equation_FStar.ModifiesGen.cls_union", @@ -12835,10 +12561,9 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "int_inversion", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", @@ -12847,7 +12572,7 @@ "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_equal_elim", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_BarBar", + "lemma_FStar.Set.lemma_equal_refl", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -12863,30 +12588,30 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_FStar.GSet.mem", "typing_FStar.GSet.set", + "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", + "typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.aloc_union", "typing_FStar.ModifiesGen.cls_union", @@ -12894,60 +12619,61 @@ "typing_FStar.ModifiesGen.loc_union", "typing_FStar.ModifiesGen.make_cls_union_aloc", "typing_FStar.ModifiesGen.union_aux_of_aux_left_inv", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", + "typing_FStar.Set.union", + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "3230eaa6ad3917ffe60c0f82f86a95c1" + "51c27df181f93ecc89c518d3b45f66cf" ], [ "FStar.ModifiesGen.loc_of_union_loc_addresses", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3c43562b3f17e3c0e0d84d06f08641e2" + "16cf19ede1be51f8ccc9012376a9e271" ], [ "FStar.ModifiesGen.loc_of_union_loc_addresses", 2, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "19f159f6fb02b42ff34357f89e730131" + "d19b222e1c05f521a2ea073e19a12c85" ], [ "FStar.ModifiesGen.loc_of_union_loc_addresses", 3, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_5df3da5653f135d819bdc1216d455e29", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Cls", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_10ebe344578736185d63a70d3b7a0980", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", @@ -12955,6 +12681,7 @@ "data_typing_intro_FStar.Pervasives.Native.Some@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", @@ -12963,22 +12690,25 @@ "equation_FStar.ModifiesGen.cls_union", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.live_addrs_codom", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_addresses", "equation_FStar.ModifiesGen.loc_equal", "equation_FStar.ModifiesGen.loc_of_union_loc", + "equation_FStar.ModifiesGen.mk_live_addrs", "equation_FStar.ModifiesGen.non_live_addrs_codom", "equation_FStar.ModifiesGen.union_aux_of_aux_left_inv", "equation_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "function_token_typing_FStar.ModifiesGen.aloc_union", + "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", + "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.Ghost.reveal_hide", @@ -12991,6 +12721,7 @@ "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", + "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", @@ -13001,21 +12732,26 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", + "typing_FStar.GSet.of_set", "typing_FStar.GSet.set", + "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", + "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "typing_FStar.ModifiesGen.addrs_dom", "typing_FStar.ModifiesGen.aloc_union", "typing_FStar.ModifiesGen.cls_union", "typing_FStar.ModifiesGen.loc_addresses", @@ -13024,28 +12760,29 @@ "typing_FStar.ModifiesGen.union_aux_of_aux_left_inv", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "4fa49e060aeb2abef18962d88b3d35ec" + "e93c63c050735512847d0a312752ac8e" ], [ "FStar.ModifiesGen.loc_of_union_loc_regions", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_1e78f08bd87b5c31cd9f81f181bf08bb", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4bc2501a44bef278f7bce14120bed85d", - "FStar.ModifiesGen_interpretation_Tm_arrow_5df3da5653f135d819bdc1216d455e29", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", + "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", + "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_10ebe344578736185d63a70d3b7a0980", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", + "data_elim_FStar.ModifiesGen.Loc", "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.None@tok", @@ -13053,7 +12790,7 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", + "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.aloc_union", @@ -13072,25 +12809,25 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "function_token_typing_FStar.ModifiesGen.aloc_union", "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_0ea806169f85c3afb59ecd0212c11c0e", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "int_inversion", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.GSet.mem_empty", + "lemma_FStar.GSet.lemma_equal_refl", + "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.ModifiesGen.loc_equal_elim", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_refl", + "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", + "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", @@ -13101,22 +12838,25 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", + "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", + "typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "typing_FStar.ModifiesGen.aloc_union", "typing_FStar.ModifiesGen.cls_union", "typing_FStar.ModifiesGen.loc_of_union_loc", @@ -13125,57 +12865,55 @@ "typing_FStar.ModifiesGen.make_cls_union_aloc", "typing_FStar.ModifiesGen.union_aux_of_aux_left_inv", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "2b21da190217ca918b7a8d54a6a7a20c" + "b3bd2eea8d8bde3e3d4fe5ceaecdee83" ], [ "FStar.ModifiesGen.raise_cls", 1, 2, - 1, + 2, [ "@query" ], 0, - "9aafe6f8aa14ef1f22700e03a72ac00a" + "b591384f4787a32295067c6db5543ed3" ], [ "FStar.ModifiesGen.downgrade_aloc", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", "bool_inversion", "lemma_FStar.Pervasives.invertOption" ], 0, - "3f8848878d24b3d793d75462dfd244c6" + "1ad1e919835a34dd284e33dea3ce190c" ], [ "FStar.ModifiesGen.upgrade_aloc", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "equation_FStar.ModifiesGen.aloc_t", "equation_Prims.nat", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "bool_inversion", "equation_FStar.ModifiesGen.aloc_t", "lemma_FStar.Pervasives.invertOption" ], 0, - "78147ba015722a1c4a0e68de2600c013" + "3e8625e870a368936bd484c968bb8ac4" ], [ "FStar.ModifiesGen.downgrade_aloc_upgrade_aloc", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.ModifiesGen.ALoc", "disc_equation_FStar.Pervasives.Native.None", @@ -13185,8 +12923,6 @@ "equation_FStar.ModifiesGen.upgrade_aloc", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Universe.downgrade_val_raise_val", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", @@ -13196,25 +12932,22 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.ModifiesGen.downgrade_aloc", "typing_FStar.ModifiesGen.upgrade_aloc", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some" + "typing_FStar.Pervasives.Native.__proj__Some__item__v" ], 0, - "73ed68c9a9c824a7024b75ccc6d8273f" + "88fcb433929dcf2b3c9660f34cbb06b5" ], [ "FStar.ModifiesGen.upgrade_aloc_downgrade_aloc", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.ModifiesGen.ALoc", "disc_equation_FStar.Pervasives.Native.None", @@ -13228,10 +12961,7 @@ "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.raise_aloc", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_828fff49161c243e4132679d6d94db3f", - "lemma_FStar.Pervasives.invertOption", + "interpretation_Tm_abs_02a6d8d4fbb1dc47bf91e9d01f4e9275", "lemma_FStar.Universe.raise_val_downgrade_val", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", @@ -13241,83 +12971,61 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.ModifiesGen.downgrade_aloc", "typing_FStar.ModifiesGen.raise_aloc", "typing_FStar.ModifiesGen.upgrade_aloc", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some" + "typing_FStar.Pervasives.Native.__proj__Some__item__v" ], 0, - "adf2f65d3228dcb74185db9bef961c72" + "b4f929b1eb3f21cc87ae02b712ab51fd" ], [ "FStar.ModifiesGen.raise_loc", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc27c110e18d5514ddf24934cad2915a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", "equation_FStar.GSet.subset", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", + "bool_inversion", "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.downgrade_aloc", "equation_FStar.ModifiesGen.raise_cls", "equation_FStar.ModifiesGen.raise_loc_aux_pred", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.Monotonic.HyperHeap.root", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.Ghost.reveal_hide", - "primitive_Prims.op_Negation", + "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.Ghost.reveal_hide", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.aloc_domain", + "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.downgrade_aloc", "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", "typing_FStar.Set.mem", - "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_FStar.ModifiesGen.raise_cls", + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "381fee197007840c3ec6de840091768e" + "e4100781eced38ca184fc512ae07d673" ], [ "FStar.ModifiesGen.raise_loc_none", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc27c110e18d5514ddf24934cad2915a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_t", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", + "bool_inversion", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_equal", @@ -13340,8 +13048,8 @@ "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", @@ -13356,31 +13064,29 @@ "typing_FStar.Set.set" ], 0, - "a5db8b37d4b6b6d01d0d6bb91777711e" + "e8f808ce9e03700d19ef7a35422ec8fb" ], [ "FStar.ModifiesGen.raise_loc_union", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_aa2b8434c78ba5450a20a7330b6b3132", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc27c110e18d5514ddf24934cad2915a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.i_restricted_g_t", "equation_FStar.ModifiesGen.live_addrs_codom", @@ -13400,9 +13106,8 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", @@ -13421,19 +13126,21 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_FStar.GSet.comprehend", "typing_FStar.GSet.set", + "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", + "typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", @@ -13445,60 +13152,57 @@ "typing_FStar.ModifiesGen.raise_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "f1cdfc14aabca2371e4b57bcb1020e49" + "79991914b581be2d7e15d640626306fe" ], [ "FStar.ModifiesGen.raise_loc_addresses", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "92d8a41b82466ec8c1dd2dc6f869b7e4" + "220825800903e8553dde4495dda64bf1" ], [ "FStar.ModifiesGen.raise_loc_addresses", 2, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "04d8bf9b45b0a563a529d5dcdaf0531c" + "8b7883ded746a484e83660822ed44df8" ], [ "FStar.ModifiesGen.raise_loc_addresses", 3, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_aa2b8434c78ba5450a20a7330b6b3132", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc27c110e18d5514ddf24934cad2915a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.downgrade_aloc", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.i_restricted_g_t", @@ -13514,11 +13218,10 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", @@ -13530,6 +13233,7 @@ "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", + "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_region", @@ -13538,12 +13242,13 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", @@ -13559,30 +13264,27 @@ "typing_FStar.ModifiesGen.raise_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "b2ebea65e19e2d5dc1dbc55f9e911f85" + "5745c082ca293c5ca433b73eadfa55f6" ], [ "FStar.ModifiesGen.raise_loc_regions", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc27c110e18d5514ddf24934cad2915a", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.downgrade_aloc", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.i_restricted_g_t", @@ -13598,10 +13300,9 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "int_inversion", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", @@ -13613,6 +13314,7 @@ "proj_equation_FStar.ModifiesGen.Loc_aux", "proj_equation_FStar.ModifiesGen.Loc_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", + "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_region", @@ -13621,11 +13323,12 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", @@ -13639,31 +13342,26 @@ "typing_FStar.ModifiesGen.raise_cls", "typing_FStar.ModifiesGen.raise_loc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "3abc6fa5494442021b16841c18fc45a6" + "010dc024e4bbb4b7a9b15e6c72ec0b91" ], [ "FStar.ModifiesGen.raise_loc_includes", 1, 2, - 1, + 2, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_2369aa62f7d22548dae83a2ad5e996a8", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_aa2b8434c78ba5450a20a7330b6b3132", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc27c110e18d5514ddf24934cad2915a", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -13684,28 +13382,27 @@ "equation_FStar.ModifiesGen.raise_loc", "equation_FStar.ModifiesGen.raise_loc_aux_pred", "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.upgrade_aloc", "equation_Prims.l_Exists", + "equation_FStar.ModifiesGen.upgrade_aloc", + "equation_FStar.Set.subset", "equation_Prims.l_Exists", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.raise_aloc", "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_0ea806169f85c3afb59ecd0212c11c0e", - "interpretation_Tm_abs_2812ed08285621cbbf9f52c54274d8c1", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", + "int_inversion", + "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", + "interpretation_Tm_abs_55a9a74f2120eebdf1694429b987ff1b", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", - "l_quant_interp_7405bbaf381d57cd473eefc142b915ec", - "l_quant_interp_76cfaaed4ac6ba71b215602a1c2e4622", - "l_quant_interp_cac8d98bcb8bcc8a0f1f3f3b3cc5bba5", + "l_quant_interp_306f08bb00da430b3422784a97780b97", + "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", + "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", @@ -13714,7 +13411,6 @@ "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", "lemma_FStar.ModifiesGen.upgrade_aloc_downgrade_aloc", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.subset_mem", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", @@ -13740,26 +13436,27 @@ "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_69fdf6acb0cb29572cfc9daa1d28da89", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.reveal", + "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__regions", "typing_FStar.ModifiesGen.addrs_of_loc", + "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.downgrade_aloc", @@ -13770,14 +13467,14 @@ "typing_FStar.ModifiesGen.upgrade_aloc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Set.mem", "typing_FStar.Set.set", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_0ea806169f85c3afb59ecd0212c11c0e", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", "unit_typing" + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "f465932b88c8a0a0c2391d82577080bd" + "292611297ff31c06b634316e9461244b" ], [ "FStar.ModifiesGen.raise_loc_disjoint", @@ -13786,15 +13483,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_86e359938e7e1de8a72d2796865dfad4", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc27c110e18d5514ddf24934cad2915a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.ModifiesGen.Loc", @@ -13826,27 +13519,27 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", + "function_token_typing_FStar.ModifiesGen.raise_aloc", "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.Monotonic.HyperHeap.root", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_6dbc213523f38c6f620f3714f1b8e6af", + "int_inversion", + "interpretation_Tm_abs_9fa708579ab67bccf24c1021f7b9d558", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.GSet.lemma_equal_intro", + "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", + "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", + "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.ModifiesGen.downgrade_aloc_upgrade_aloc", "lemma_FStar.ModifiesGen.upgrade_aloc_downgrade_aloc", - "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.subset_mem", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -13867,17 +13560,17 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_5f4def55259dfb1457275c5c9ac1b45f", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.raise_aloc", "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", "true_interp", "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", @@ -13896,15 +13589,13 @@ "typing_FStar.ModifiesGen.raise_loc", "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.ModifiesGen.upgrade_aloc", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.l_Exists", - "typing_Tm_abs_eb1362892fd02b8e329b33dec38e5c63", "unit_typing" + "typing_FStar.Set.mem", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "c193b494e95f4a4dd00f6d7a54d438b2" + "d63aa6afabfa014877b3800cf8c64b5c" ], [ "FStar.ModifiesGen.modifies_raise_loc", @@ -13913,20 +13604,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc27c110e18d5514ddf24934cad2915a", - "FStar.Pervasives_interpretation_Tm_arrow_a7f622c21c9bfd4b48ff31ec14061ca8", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.Cls", + "data_elim_FStar.ModifiesGen.Loc", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", + "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_of_loc", "equation_FStar.ModifiesGen.addrs_of_loc_aux", "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", @@ -13953,37 +13643,37 @@ "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.l_Exists", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Set.subset", "equation_Prims.l_Exists", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", + "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.raise_aloc", "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_251e0d024ec33ac8641dc9fc7ee75f68", - "interpretation_Tm_abs_6dbc213523f38c6f620f3714f1b8e6af", - "interpretation_Tm_abs_828fff49161c243e4132679d6d94db3f", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_02a6d8d4fbb1dc47bf91e9d01f4e9275", + "interpretation_Tm_abs_9fa708579ab67bccf24c1021f7b9d558", + "interpretation_Tm_abs_cbcd413701936d21d28caa7f653833e5", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_22d5bb1f8dec3474799b5c9a3b124d2a", + "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", + "lemma_FStar.GSet.lemma_equal_intro", + "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", "lemma_FStar.ModifiesGen.downgrade_aloc_upgrade_aloc", "lemma_FStar.ModifiesGen.upgrade_aloc_downgrade_aloc", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Universe.downgrade_val_raise_val", "lemma_FStar.Universe.raise_val_downgrade_val", - "partial_app_typing_5216a64fe473c9a80e1ef2d8e472088f", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", + "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_loc", "proj_equation_FStar.ModifiesGen.ALoc_region", @@ -14008,42 +13698,49 @@ "projection_inverse_FStar.ModifiesGen.Loc_regions", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_kinding_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", + "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Map.contains", + "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.Map.contains", "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", "typing_FStar.ModifiesGen.__proj__ALoc__item__region", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.addrs_of_loc", + "typing_FStar.ModifiesGen.addrs_of_loc_aux", "typing_FStar.ModifiesGen.addrs_of_loc_weak", "typing_FStar.ModifiesGen.downgrade_aloc", "typing_FStar.ModifiesGen.raise_aloc", "typing_FStar.ModifiesGen.raise_cls", "typing_FStar.ModifiesGen.raise_loc", + "typing_FStar.ModifiesGen.regions_of_loc", "typing_FStar.ModifiesGen.upgrade_aloc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Set.mem", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_FStar.Universe.downgrade_val", - "typing_FStar.Universe.raise_val", "unit_typing" + "typing_FStar.Universe.raise_val" ], 0, - "18fd38c254d3630ee1372b895258827f" + "f268861f3672bce45a8c41476650e47c" ], [ "FStar.ModifiesGen.lower_loc", @@ -14052,52 +13749,39 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_e4858889c2f07cc7ce1560d6bf11e1ee", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", "equation_FStar.GSet.subset", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", + "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.lower_loc_aux_pred", "equation_FStar.ModifiesGen.upgrade_aloc", "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.lower_loc_aux_pred", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.Monotonic.HyperHeap.root", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_b16f94932d62f1add9f55d01da64c3e9", + "int_inversion", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.Ghost.reveal_hide", - "primitive_Prims.op_Negation", + "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.Ghost.reveal_hide", "proj_equation_FStar.ModifiesGen.ALoc_addr", "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.ALoc_addr", "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_69076af970c9660be3ebf67539da181c", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae49170a94b078b0581029a0e5584c09", "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.aloc_domain", + "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", + "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.aloc_domain", "typing_FStar.ModifiesGen.raise_aloc", "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.upgrade_aloc", "typing_FStar.Set.mem", - "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "typing_Tm_abs_b16f94932d62f1add9f55d01da64c3e9" + "typing_FStar.ModifiesGen.upgrade_aloc", + "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "33085750a620b82b11798f325fa1a7cb" + "5086807d3c68994ef6b375ce11819d00" ], [ "FStar.ModifiesGen.lower_loc_raise_loc", @@ -14106,14 +13790,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc27c110e18d5514ddf24934cad2915a", - "FStar.ModifiesGen_interpretation_Tm_arrow_e4858889c2f07cc7ce1560d6bf11e1ee", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.i_restricted_g_t", "equation_FStar.ModifiesGen.live_addrs_codom", @@ -14130,7 +13813,6 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.lower_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "function_token_typing_Prims.nat", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", @@ -14143,20 +13825,18 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -14174,7 +13854,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" ], 0, - "fbeb09324588c8841199efe833691ec5" + "ea894754f9f584adefe827fc0f22f9f9" ], [ "FStar.ModifiesGen.raise_loc_lower_loc", @@ -14183,15 +13863,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_aa2b8434c78ba5450a20a7330b6b3132", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc27c110e18d5514ddf24934cad2915a", - "FStar.ModifiesGen_interpretation_Tm_arrow_e4858889c2f07cc7ce1560d6bf11e1ee", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.downgrade_aloc", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.i_restricted_g_t", @@ -14211,7 +13889,6 @@ "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "function_token_typing_FStar.ModifiesGen.lower_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "function_token_typing_Prims.nat", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", @@ -14224,20 +13901,18 @@ "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_a3a3f384c3b8a795189ac76c2d8375c7", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -14255,7 +13930,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" ], 0, - "ff0a066c3b53480f22215dafc89848ef" + "6549b391dfa414e8d4f0188457c5b1eb" ], [ "FStar.ModifiesGen.lower_loc_none", @@ -14264,11 +13939,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e4858889c2f07cc7ce1560d6bf11e1ee", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_t", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", + "bool_inversion", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.loc", "equation_FStar.ModifiesGen.loc_equal", @@ -14290,8 +13963,8 @@ "projection_inverse_FStar.ModifiesGen.Loc_aux", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_e68cefb8337dfe1fc28fa9cfb44bc10e", + "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", "typing_FStar.GSet.set", @@ -14306,7 +13979,7 @@ "typing_FStar.Set.set" ], 0, - "961cb5e208833369eeeb10531546f906" + "c2556755c943c84f7234df7c420ebd21" ], [ "FStar.ModifiesGen.lower_loc_union", @@ -14315,21 +13988,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_4640a5f74a0deb924337930838f38d00", - "FStar.ModifiesGen_interpretation_Tm_arrow_9e37b49cfde1996229c76e1de371c2a4", - "FStar.ModifiesGen_interpretation_Tm_arrow_a13620bfaa43940fc8cfaeb9a1f62d9e", - "FStar.ModifiesGen_interpretation_Tm_arrow_a7d623ceda08487d8d458f7d1bc864b8", - "FStar.ModifiesGen_interpretation_Tm_arrow_e4858889c2f07cc7ce1560d6bf11e1ee", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", + "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_1c43291ca045eaae5aebf160b01235ec", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.feq_g", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.i_restricted_g_t", "equation_FStar.ModifiesGen.live_addrs_codom", @@ -14350,9 +14021,8 @@ "function_token_typing_FStar.ModifiesGen.live_addrs_codom", "function_token_typing_FStar.ModifiesGen.lower_loc_aux_pred", "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.nat", - "interpretation_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "interpretation_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee", + "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "interpretation_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", "lemma_FStar.GSet.comprehend_mem", @@ -14371,18 +14041,19 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_7858ca4eb01a7c90f3218f929cd48b4f", - "refinement_interpretation_Tm_refine_98ab8f6a9bdcc206c1ede5ecec67205b", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", + "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", + "typing_FStar.GSet.comprehend", "typing_FStar.GSet.set", + "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", + "typing_FStar.Ghost.reveal", "typing_FStar.ModifiesGen.__proj__Loc__item__aux", "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", @@ -14395,11 +14066,11 @@ "typing_FStar.ModifiesGen.upgrade_aloc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_91bf0c3f9385151e83cf823b19165e2d", - "typing_Tm_abs_a2f4835287038a8c82fa9b9d9a56abee" + "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", + "typing_Tm_abs_9115d05c4e0ec1df69781fbc33e1e748" ], 0, - "5a234781de16f0312d1b4ee1c57089d7" + "309639e539fb4defab399047c7b97c0a" ], [ "FStar.ModifiesGen.lower_loc_addresses", @@ -14409,11 +14080,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0e8531ddf8aed15d29caeb89f4cf9404" + "5418d5fe9febc74bcd0fbc3393cdb6dc" ], [ "FStar.ModifiesGen.lower_loc_addresses", @@ -14423,11 +14094,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "558bc13aca6be8aa3090c1cf160099a4" + "3d5777c4dbd270d3c6c54346c7950a88" ], [ "FStar.ModifiesGen.lower_loc_addresses", @@ -14436,18 +14107,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_e4858889c2f07cc7ce1560d6bf11e1ee", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.i_restricted_g_t", "equation_FStar.ModifiesGen.live_addrs_codom", @@ -14462,10 +14130,9 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.lower_loc_aux_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_c6b7dd0a6e6c63ebf66213bfc7881357", + "int_inversion", + "interpretation_Tm_abs_e240f4d0cf32c5b48947285fe0f3e00c", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", @@ -14486,11 +14153,12 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -14504,10 +14172,10 @@ "typing_FStar.ModifiesGen.upgrade_aloc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "91c9818390f55c76d35f93fa9e44b30f" + "94660e22d8e0441ba096ae90760865db" ], [ "FStar.ModifiesGen.lower_loc_regions", @@ -14516,18 +14184,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_464765d690eecf4879ef922d5a15595a", - "FStar.ModifiesGen_interpretation_Tm_arrow_e4858889c2f07cc7ce1560d6bf11e1ee", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", + "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", + "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", + "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", + "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.FunctionalExtensionality.restricted_g_t", "equation_FStar.ModifiesGen.addrs_dom", "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", "equation_FStar.ModifiesGen.fun_set_equal", "equation_FStar.ModifiesGen.i_restricted_g_t", "equation_FStar.ModifiesGen.live_addrs_codom", @@ -14542,10 +14207,9 @@ "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "fuel_guarded_inversion_FStar.ModifiesGen.cls", "function_token_typing_FStar.ModifiesGen.lower_loc_aux_pred", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", - "interpretation_Tm_abs_587f44253dbf1a24992ba9b577f6bd88", - "interpretation_Tm_abs_ab059edf9856ecdaafd9fc73333859c6", + "int_inversion", + "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", + "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.lemma_equal_intro", @@ -14566,11 +14230,12 @@ "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_3a9fcf60445c9a82998dab29ec69aff5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bebf896b50c4e4eed735c7206253bfbb", - "refinement_interpretation_Tm_refine_c697d9c4c8c0fbb7ba21043621cc94da", - "refinement_interpretation_Tm_refine_cd519b645b28348ae4c17eba5d3cbb6f", + "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", + "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", + "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.live_addrs_codom", "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", @@ -14584,10 +14249,10 @@ "typing_FStar.ModifiesGen.raise_cls", "typing_FStar.ModifiesGen.upgrade_aloc", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", - "typing_Tm_abs_587f44253dbf1a24992ba9b577f6bd88" + "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" ], 0, - "f5d7c67af6a85b8f711507d992ba2886" + "9b55d5fa61c347af9153a9a522d8b9e5" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.ModifiesGen.fsti.hints b/ulib/FStar.ModifiesGen.fsti.hints index 6497805d2ac..f9fb1bf60b7 100644 --- a/ulib/FStar.ModifiesGen.fsti.hints +++ b/ulib/FStar.ModifiesGen.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "6d8bcd74657b568ec58696853f2b7ac3" + "f82c80808c8487aca30cf544cf030313" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_includes_refl", @@ -21,7 +21,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes" ], 0, - "c2cc4f058b96a3fac0ab0c2974fff267" + "56093967fac6d158b0e4af28f7a9b99d" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_includes_trans", @@ -34,7 +34,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes" ], 0, - "6d16db1a820e6c884f7990d35820a0a9" + "8dedb2b94ed23ce9a3d874b98dc66999" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint_sym", @@ -47,7 +47,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint" ], 0, - "58c1832bee4c6abadc68dddf0cfad145" + "aa8205c2e5e1e64e69ff2023664b0d9d" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint_includes", @@ -63,7 +63,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes" ], 0, - "1e0680e138016c4652d63c6b158d4fb8" + "7f22d333665de9f1881f4290e5ce2021" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_preserved_refl", @@ -76,7 +76,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved" ], 0, - "cac51b37553a0e913496cb238fcf0ac4" + "bb08db12e101db41e56f1009748e1a19" ], [ "FStar.ModifiesGen.__proj__Cls__item__aloc_preserved_trans", @@ -89,7 +89,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved" ], 0, - "bac80ef8081820ef3e22d20ada2ed8a9" + "1ecfced096f8e1e201f1b56b35699409" ], [ "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", @@ -98,7 +98,7 @@ 1, [ "@query" ], 0, - "e5cc9d05f160480ca0f1638494a20db3" + "24730d979acba66d9c2a65134a5d4d49" ], [ "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", @@ -111,7 +111,7 @@ "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved" ], 0, - "16a038aa63335af9850e52b047c592ea" + "93924eaf3610981d018c6bc2b3d764a1" ], [ "FStar.ModifiesGen.loc_addresses", @@ -121,11 +121,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7d0ef44ae48e0604f88deefaa3920a4c" + "b9feb4f3d187af5c75a5d590e5eb37aa" ], [ "FStar.ModifiesGen.loc_mreference", @@ -133,16 +133,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5c654e8daffe1de7bdb3448009000b1b" + "3134d1c5e760b8955a1796f8243a9c6e" ], [ "FStar.ModifiesGen.loc_freed_mreference", @@ -150,16 +147,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bc702b263e942e333667c84620509046" + "85cb7a185a48218fa67e641140d2ded4" ], [ "FStar.ModifiesGen.loc_includes_aloc_elim", @@ -168,7 +162,7 @@ 1, [ "@query" ], 0, - "e067ad71f9b36af8066bafcfd8b1e864" + "927b0075b522bed750fe73a238b92a5d" ], [ "FStar.ModifiesGen.loc_includes_addresses_aloc", @@ -176,16 +170,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3f3d058afd92fd1a8649cfe561c6fbcb" + "dfbf788f3f47ab8f77d4fd1f6ca18a20" ], [ "FStar.ModifiesGen.loc_includes_region_addresses", @@ -195,11 +186,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6929ae17ea59d3615060da6be322e7c0" + "fbf3ca64ac5a8926aac39aa2839c35bd" ], [ "FStar.ModifiesGen.loc_includes_addresses_addresses", @@ -207,16 +198,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "403957bb094dc3bebd3c27ca60bc76e3" + "a192c3653f8193963f9c4185655432e4" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_intro", @@ -225,7 +213,7 @@ 1, [ "@query" ], 0, - "226ca313aabae366552bd4096d0341f6" + "47b2a8aa70d84d550747fa3f7817cb1e" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_elim", @@ -234,7 +222,7 @@ 1, [ "@query" ], 0, - "ecc732299e51c509ba7e437afd5ac313" + "8c438c662beb3f5446b5ce19f4940ed2" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_intro", @@ -242,16 +230,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "87ef6e1585bde30544df39dfddb7312c" + "888ce4dfbc6f249d9324a91f1c22415d" ], [ "FStar.ModifiesGen.loc_disjoint_addresses_elim", @@ -259,16 +244,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a0bdabac54dd294f822735057c923196" + "0c3469e7fa3e7bb8a4cdeff2d6043186" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_intro", @@ -276,16 +258,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "79c4497554346801b1ecddb5068dd2db" + "ec2bb71f77e00d7645715844642f931a" ], [ "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", @@ -293,16 +272,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fa5893420d42d88a1dd31cad19e11a38" + "537f522f0e7c2ab1e8946835d38e1148" ], [ "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", @@ -312,11 +288,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cf3301543d72d45a3b6ff770cc9a5ec4" + "fdc6e6494c4d678243c92fe40878c928" ], [ "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", @@ -326,11 +302,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4b3c1fdc47d9898f63ba6dba9bfb3c6c" + "c1f16f74ff206ca83f79b8a4ac0daceb" ], [ "FStar.ModifiesGen.modifies_address_intro", @@ -338,16 +314,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6bb59279ceb563b461b254efaacc60f3" + "0984451aafcee29be3bad2019096ea40" ], [ "FStar.ModifiesGen.modifies_aloc_intro", @@ -356,7 +329,7 @@ 1, [ "@query" ], 0, - "4a90ce44241a8476c61710c9a87d8b09" + "1334f55f3be0cde0ce857cd85f286249" ], [ "FStar.ModifiesGen.modifies_preserves_liveness_strong", @@ -372,7 +345,7 @@ "typing_FStar.Monotonic.HyperStack.as_addr" ], 0, - "5cc2d46505c6f19671398f2e3f8ab5fb" + "7923e32273ca030ef01018954e443d91" ], [ "FStar.ModifiesGen.new_region_modifies", @@ -380,19 +353,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.Monotonic.HyperStack.live_region", "equation_Prims.eqtype", "equation_Prims.squash", "function_token_typing_Prims.int", "l_and-interp", "l_or-interp", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c19485d37052a7de5bf74e23be20beba" + "8b03c24bec378e0e9082a00fb3146272" ], [ "FStar.ModifiesGen.modifies_loc_addresses_intro", @@ -402,11 +373,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e493b6e2c053530d8b560224ed2b2949" + "f574de216d4c3001c978e62554f270df" ], [ "FStar.ModifiesGen.modifies_upd", @@ -419,10 +390,10 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_Prims.squash", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f32db53893ec849b2fdade9dbfa7d728" + "2e49a440d7cadc1335d524a29ddb849f" ], [ "FStar.ModifiesGen.modifies_strengthen", @@ -430,16 +401,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f45c73585b0258efa164577cb422fdaa" + "de9859673ebf7b6997e5548473b836ac" ], [ "FStar.ModifiesGen.unused_in_does_not_contain_addr", @@ -448,7 +416,7 @@ 1, [ "@query" ], 0, - "362bf336a043201af92276df2ea357f4" + "45983e16e57bfbf585d197980ae4b1f2" ], [ "FStar.ModifiesGen.free_does_not_contain_addr", @@ -458,10 +426,10 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "22d58cc242517d408d2092cb389a699a" + "22478cecfd6fc90cf828f36e098aaa58" ], [ "FStar.ModifiesGen.does_not_contain_addr_elim", @@ -470,7 +438,7 @@ 1, [ "@query" ], 0, - "ec22e71aa39f92feb7ba338ef786bb2e" + "c33d428636fba8e6ab4ef1a1ec2023f3" ], [ "FStar.ModifiesGen.loc_addresses_unused_in", @@ -478,16 +446,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a20e731c8d9bc2ac6efa638c72891de7" + "4f7cea3bc74d009f7f403f2ce1b6689c" ], [ "FStar.ModifiesGen.loc_addresses_not_unused_in", @@ -495,16 +460,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "718327b3e225f9a37b9f2014668f14b5" + "1e6426a6e69aeff97d1f7c0377f949f5" ], [ "FStar.ModifiesGen.modifies_only_live_addresses", @@ -514,11 +476,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "559ee9b4b1249f55edadaba2e300e007" + "b5d4b61ad7780d5ed50ea0a40310a01a" ], [ "FStar.ModifiesGen.modifies_only_live_addresses", @@ -526,16 +488,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f6bbb803c6e3995c09114cc39e23048e" + "a1c53847bcedba7803087d67bb0f8ba0" ], [ "FStar.ModifiesGen.union_loc_of_loc_addresses", @@ -545,11 +504,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "771f22ddfbdab28b34635be548cf34c9" + "91b7fae1030722b7e5bc012674b9af46" ], [ "FStar.ModifiesGen.loc_of_union_loc_addresses", @@ -559,11 +518,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "150ece97da6742f9a63f9d9822531231" + "eedb7d8896b1cf3a9c15575020fd900d" ], [ "FStar.ModifiesGen.raise_loc_addresses", @@ -573,11 +532,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "85639af80e89203e7c4e2e27348d1de2" + "c962e9fbc79d2a521f2a032dd4aaac81" ], [ "FStar.ModifiesGen.lower_loc_addresses", @@ -587,11 +546,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b32049e325cf8ec4c1b3a921490bf82f" + "f48f8b8ff338f50121496fa3cb5198b4" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Monotonic.DependentMap.fst.hints b/ulib/FStar.Monotonic.DependentMap.fst.hints index f746516a938..0bce4a4e946 100644 --- a/ulib/FStar.Monotonic.DependentMap.fst.hints +++ b/ulib/FStar.Monotonic.DependentMap.fst.hints @@ -8,15 +8,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_e45606e4293780f365313d26e1bf942c_3", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "binder_x_bb6a12e448c5dd3acea77a0bef976eca_3", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.DependentMap.map", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "2d3977944608b7be130f9a1c6d6e1614" + "633f1fd02999ecce53441f549eeead7e" ], [ "FStar.Monotonic.DependentMap.empty", @@ -26,15 +25,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", + "@query", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_ghost_arrow_0c988788f556346763c5f0bccf544755", + "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equation_FStar.Monotonic.DependentMap.map", "equation_Prims.eqtype", "equation_with_fuel_FStar.Monotonic.DependentMap.repr.fuel_instrumented", "kinding_Prims.dtuple2@tok", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e0e62e1d25ca07a227e231fdc638d75d" + "c0b4410c4f1e2bdc06c18bf646a2e0a2" ], [ "FStar.Monotonic.DependentMap.sel", @@ -46,17 +47,16 @@ "@fuel_correspondence_FStar.Monotonic.DependentMap.repr.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.DependentMap.repr.fuel_instrumented", "@query", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_ad2128d063a7b98ae9f50ca3d472128a", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_b901ecc039c13a9cae8e08bcc49ec2be", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_333e4d29a436b3b3949c4e8734e985be_2", - "binder_x_a81196f4caaaa4b43052179035836caa_4", - "binder_x_e45606e4293780f365313d26e1bf942c_3", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_3d132ac5fe8c37d24d89d41d7e63e4b3", + "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_77b14586b32b669eef9b136e2fe3f36f", + "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_e0342d9558b243b3e59b56f030223dea", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "binder_x_4d0abed149b4c5f34c4ebc928ceda3a0_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_bb6a12e448c5dd3acea77a0bef976eca_3", + "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_4", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Monotonic.DependentMap.empty_partial_dependent_map", @@ -65,27 +65,25 @@ "equation_FStar.Monotonic.DependentMap.partial_dependent_map", "equation_Prims.eqtype", "equation_with_fuel_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "fuel_guarded_inversion_Prims.dtuple2", "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_d121b8c2ad4bd6c64a20b6fe43371278", + "function_token_typing_FStar.Monotonic.DependentMap.opt", + "interpretation_Tm_abs_26eef3985d99a56697f5a9d337882dba", "lemma_FStar.DependentMap.sel_create", "lemma_FStar.DependentMap.sel_upd_other", "lemma_FStar.DependentMap.sel_upd_same", - "partial_app_typing_288a6a81e33ce68aa4faaa9c8b11bb29", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2_b", "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Monotonic.DependentMap.opt", "token_correspondence_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "typing_Tm_abs_d121b8c2ad4bd6c64a20b6fe43371278" + "typing_Tm_abs_26eef3985d99a56697f5a9d337882dba" ], 0, - "f3b273ed707282e2a77d074dea532d28" + "a9e3b815beb6d4aa85e02f095beddb08" ], [ "FStar.Monotonic.DependentMap.upd", @@ -105,7 +103,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "b32d24fb77772ef4f59d7433097e95da" + "ce38f27469e2095bcb36c0848ab13864" ], [ "FStar.Monotonic.DependentMap.grows'", @@ -114,7 +112,7 @@ 1, [ "@query" ], 0, - "ef1e5ea713772158bd5dfad28731d905" + "ae60c3ea19c9d0f81644c3aaa81be8fe" ], [ "FStar.Monotonic.DependentMap.grows", @@ -130,7 +128,7 @@ "token_correspondence_FStar.Monotonic.DependentMap.grows_" ], 0, - "cb7f48a1842caf2b5439725635c2a04b" + "0454ecddbefe489bf0a358b09ee5785b" ], [ "FStar.Monotonic.DependentMap.value_of", @@ -141,11 +139,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Monotonic.DependentMap.defined", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_1dd7435cdcadd9a889fd16140057f1f1" + "refinement_interpretation_Tm_refine_29666485b5a0a190c9167fabb9b987b8" ], 0, - "582def3a10de8fd3a63d40b69eedd104" + "5b22ee54475cfa818e874ba648f576a2" ], [ "FStar.Monotonic.DependentMap.contains", @@ -154,7 +151,7 @@ 1, [ "@query" ], 0, - "260c81c45a558a2fb2ae1af7c728be81" + "db6e70d0ee1380a4d745bda3a675b35d" ], [ "FStar.Monotonic.DependentMap.contains_stable", @@ -180,7 +177,7 @@ "token_correspondence_FStar.Monotonic.DependentMap.grows_" ], 0, - "ba17c27496ed167b0b70a5b099faf7c0" + "daa699521fc9215462d2652b9be9217a" ], [ "FStar.Monotonic.DependentMap.defined_stable", @@ -197,7 +194,7 @@ "token_correspondence_FStar.Monotonic.DependentMap.grows_" ], 0, - "ba873d96676db068f483d9ecb13b67cb" + "9b96ef270f8e2cc6a40c068e0c964d88" ], [ "FStar.Monotonic.DependentMap.alloc", @@ -207,11 +204,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.erid", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_b2967d9ab9ba1cfd9fec4aa29b50fa40" + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_80c1a9e9a59b1f3e9fe89cca8db03bac" ], 0, - "d463badd76efe4d1dbee84307e472b4e" + "486516c38d74d73d8b42bc4d0aef2a18" ], [ "FStar.Monotonic.DependentMap.alloc", @@ -225,14 +222,13 @@ "equation_FStar.Monotonic.DependentMap.empty", "equation_FStar.Monotonic.DependentMap.grows", "equation_FStar.Monotonic.DependentMap.imap", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_b2967d9ab9ba1cfd9fec4aa29b50fa40", - "refinement_interpretation_Tm_refine_c2e601e6ce7c9e3faa9bf7cf4f97543e" + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", + "refinement_interpretation_Tm_refine_80c1a9e9a59b1f3e9fe89cca8db03bac" ], 0, - "2514c2f12b1f3610c79596172434f8ff" + "a79b611688b06e594f43536127c8c79f" ], [ "FStar.Monotonic.DependentMap.extend", @@ -240,16 +236,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "239b9ab8cb7d63a30ef893db584ac06d" + "61d88c926b315d621a89871d58044b85" ], [ "FStar.Monotonic.DependentMap.extend", @@ -261,10 +254,8 @@ "@fuel_correspondence_FStar.Monotonic.DependentMap.sel.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.DependentMap.sel.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", @@ -302,9 +293,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.DependentMap.grows", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -324,9 +313,6 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_Prims.Cons_a", @@ -334,14 +320,14 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_426660b947c9d501b017dbb900ca44ca", "refinement_interpretation_Tm_refine_597f8773b0de32e93efd66be81458b6f", - "refinement_interpretation_Tm_refine_62dbb5fcb6278b62b7fb82c7e4552842", + "refinement_interpretation_Tm_refine_5df398222ccaf3a089279c2f54865ad6", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_6d002cb5ef59cc12c9f0eff6eaba4426", - "refinement_interpretation_Tm_refine_9411a7230a6a5bc115653bdedb41592f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_9f102e8e5a749335350b2393cf512249", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", @@ -366,7 +352,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "1b8e7b015b23ea49d6e8779d288bcb65" + "7c04334fb96dc0c2a5a70df5b183c5d0" ], [ "FStar.Monotonic.DependentMap.lookup", @@ -375,7 +361,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -383,7 +369,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1c2a738d2a20e04ffa08ff35dc848962" + "c5ec42cedc2202c89950d86d041f9f3d" ], [ "FStar.Monotonic.DependentMap.lookup", @@ -394,7 +380,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Monotonic.DependentMap.sel.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -428,8 +414,8 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_6d002cb5ef59cc12c9f0eff6eaba4426", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", @@ -443,7 +429,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "17f301323ee5217b19985bc9a02c26b5" + "0ae806518bafecd312b6ef76775eb052" ], [ "FStar.Monotonic.DependentMap.forall_t", @@ -455,7 +441,7 @@ "equation_FStar.Monotonic.DependentMap.defined" ], 0, - "b1d62c0da9da256f6882a3762a40de63" + "a8ffcb8a638d358c6cdc4e7fafd03ad2" ], [ "FStar.Monotonic.DependentMap.f_opt", @@ -464,7 +450,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -472,7 +458,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "0aa77d1703f3d25d0c040d587d678c01" + "cb1c553208375f0aef1b777a38796aa9" ], [ "FStar.Monotonic.DependentMap.mmap_f", @@ -484,21 +470,20 @@ "@fuel_correspondence_FStar.Monotonic.DependentMap.repr.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.DependentMap.repr.fuel_instrumented", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_5310ae30a9699ed0102e0882d3779d44", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_4ae33d61d74fcc3e9b263df2061ae086", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_9dc98b9329bd5f4fcbf9e4f704fe2712", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_b901ecc039c13a9cae8e08bcc49ec2be", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_0454e6a140b22d15da5e9d9ba4680ac5_3", - "binder_x_0454e6a140b22d15da5e9d9ba4680ac5_4", - "binder_x_273c0cb114efbc10b99731f088b17ae0_2", - "binder_x_575554edf8c9e5442068048fe07eedcb_5", + "FStar.DependentMap_interpretation_Tm_arrow_8999bb275b004ca2d9297a7090495363", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_2c29edec5c247121304db8b42056a39c", + "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_3d132ac5fe8c37d24d89d41d7e63e4b3", + "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_51c0e634c5df186c7407d3f7e3076299", + "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_e0342d9558b243b3e59b56f030223dea", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_2", + "binder_x_a68f91e50b6d06730986dd59f73c1590_3", + "binder_x_a68f91e50b6d06730986dd59f73c1590_4", + "binder_x_da4b2be3ad1b881831ebeb22715ca8c9_5", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -509,18 +494,15 @@ "equation_FStar.Monotonic.DependentMap.partial_dependent_map", "equation_Prims.eqtype", "equation_with_fuel_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "fuel_guarded_inversion_Prims.dtuple2", "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_96b28f115b2a4b6946ae06a6a0ad3ad1", - "interpretation_Tm_abs_9710da95dc531c856fc178fdce8207af", - "interpretation_Tm_abs_d121b8c2ad4bd6c64a20b6fe43371278", - "interpretation_Tm_abs_f05fb635fdf0efc00f758753c6b974f7", + "function_token_typing_FStar.Monotonic.DependentMap.opt", + "interpretation_Tm_abs_26eef3985d99a56697f5a9d337882dba", + "interpretation_Tm_abs_31896870f97d4dc22b26f85be96c184c", "lemma_FStar.DependentMap.equal_elim", "lemma_FStar.DependentMap.equal_intro", "lemma_FStar.DependentMap.map_upd", "lemma_FStar.DependentMap.sel_create", "lemma_FStar.DependentMap.sel_map", - "partial_app_typing_288a6a81e33ce68aa4faaa9c8b11bb29", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", @@ -529,19 +511,18 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2_b", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_98df322ebc60cba21a045871ab9ebcb2", + "refinement_interpretation_Tm_refine_cfef0373102a4507e8c2b9abb0637ad9", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Monotonic.DependentMap.opt", "typing_FStar.DependentMap.map", "typing_FStar.Monotonic.DependentMap.empty_partial_dependent_map", "typing_FStar.Monotonic.DependentMap.repr", - "typing_Tm_abs_9710da95dc531c856fc178fdce8207af", - "typing_Tm_abs_d121b8c2ad4bd6c64a20b6fe43371278" + "typing_Tm_abs_26eef3985d99a56697f5a9d337882dba", + "typing_Tm_abs_31896870f97d4dc22b26f85be96c184c" ], 0, - "6e99aef8e71590b6ed71f30bd718d1d3" + "a102cc76aefaa4d6a6cef8e384bab238" ], [ "FStar.Monotonic.DependentMap.map_f", @@ -551,11 +532,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.erid", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_ecc923c61561a744b55919cb2bbb6591" + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_9957fe0040faf110621be90d1f5c6079" ], 0, - "0a1cb32346f22b0773521752e4ddb5e7" + "1243fd6162933eba5194616f2392c2f1" ], [ "FStar.Monotonic.DependentMap.map_f", @@ -572,18 +553,17 @@ "equation_FStar.Monotonic.DependentMap.grows", "equation_FStar.Monotonic.DependentMap.imap", "equation_FStar.Monotonic.DependentMap.t", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mref", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_3e4a472e3c0128145214600fa22453b1", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_906da7da70e75216ccc977365c9b4238", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "481f8f95b7a86e9fd32395a759bb6dde" + "e28e6dbcfc214a8b1d7569d8e619b0ed" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Monotonic.DependentMap.fsti.hints b/ulib/FStar.Monotonic.DependentMap.fsti.hints index 7083221af92..e58fb1c5c3c 100644 --- a/ulib/FStar.Monotonic.DependentMap.fsti.hints +++ b/ulib/FStar.Monotonic.DependentMap.fsti.hints @@ -10,11 +10,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Monotonic.DependentMap.defined", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_1dd7435cdcadd9a889fd16140057f1f1" + "refinement_interpretation_Tm_refine_29666485b5a0a190c9167fabb9b987b8" ], 0, - "10a23736db57242a31779707156594f0" + "5b6684b26db27d2b23d42bb3ea7d3f92" ], [ "FStar.Monotonic.DependentMap.contains", @@ -23,7 +22,7 @@ 1, [ "@query" ], 0, - "d6761d75a1d95779d462df99731c4b0c" + "ee988a3e757de3f16ed043510e31ef55" ], [ "FStar.Monotonic.DependentMap.alloc", @@ -33,11 +32,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.erid", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_b2967d9ab9ba1cfd9fec4aa29b50fa40" + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_80c1a9e9a59b1f3e9fe89cca8db03bac" ], 0, - "7080a7d3df67a3ad23c459b81219f597" + "0b3591c4524aa979c64ff31a035875bb" ], [ "FStar.Monotonic.DependentMap.extend", @@ -45,16 +44,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "10b758111f80101d78119f5f04653a6e" + "0647e155d9c23ddaa6ef24781d708ec6" ], [ "FStar.Monotonic.DependentMap.lookup", @@ -63,7 +59,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -71,7 +67,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "2597c721632771a0d91a244046778d2f" + "8ac07ee2c96c0f11dc4f244f561db2ba" ], [ "FStar.Monotonic.DependentMap.forall_t", @@ -83,7 +79,7 @@ "equation_FStar.Monotonic.DependentMap.defined" ], 0, - "6cd2ca39c63288f9ac449556c731d061" + "03205dc7ed6acc4c9af543b65c6b6fe4" ], [ "FStar.Monotonic.DependentMap.f_opt", @@ -92,7 +88,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -100,7 +96,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e5f241653697831aa2a13357c7808808" + "3e64fda859383f91743344562f37dcd4" ], [ "FStar.Monotonic.DependentMap.map_f", @@ -110,11 +106,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.erid", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecc923c61561a744b55919cb2bbb6591" ], 0, - "62d3b35dce66e417b55984e27d3ed21e" + "000fb850f43e0effa4c5eb110a40bd7e" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Monotonic.Heap.fst.hints b/ulib/FStar.Monotonic.Heap.fst.hints index 9faa2864f66..4ad54e3ea87 100644 --- a/ulib/FStar.Monotonic.Heap.fst.hints +++ b/ulib/FStar.Monotonic.Heap.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr" ], 0, - "a93b0ea5e228f41365e64282e5786409" + "6aaf5fd97e253d7cfe3efc8cd7c15928" ], [ "FStar.Monotonic.Heap.equal", @@ -23,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "18ac9f0b3078f7db1a19c9788e292be7" + "bfbf07632a2429beb51454a542ec2ce9" ], [ "FStar.Monotonic.Heap.equal_extensional", @@ -35,29 +35,31 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "@MaxIFuel_assumption", "@query", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "equation_FStar.FunctionalExtensionality.is_restricted", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.equal", - "equation_FStar.Monotonic.Heap.heap", "equation_Prims.nat", - "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.heap", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.pos", "l_and-interp", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "8fd8d591b2cccf1c7cbb79d95c21c9ed" + "d4f6a810d2fc3bd347a991a6415c8c81" ], [ "FStar.Monotonic.Heap.emp", @@ -66,19 +68,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", + "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", + "interpretation_Tm_abs_407c2d8bd469d2e8b01f9377d63a29f3", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", @@ -87,14 +86,15 @@ "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_407c2d8bd469d2e8b01f9377d63a29f3", + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "a7f8320ff476202db03a4f2d3e6fe7be" + "3969b22bb077befc0c1884740f688e6d" ], [ "FStar.Monotonic.Heap.addr_of", @@ -103,7 +103,7 @@ 1, [ "@query" ], 0, - "79a973de2cb5b7165390d71fd5d7a607" + "b19fe21f344b920aecb2dbcfd3a16b78" ], [ "FStar.Monotonic.Heap.compare_addrs", @@ -113,11 +113,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8d5b32b177459fa3919445702de6601e" + "eedc8ad51a2b6d9ee8de9ab8211a74ef" ], [ "FStar.Monotonic.Heap.contains", @@ -129,7 +129,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c42f16b2e4ae73b1d8b0c7593812beba" + "0ce365fdf946491b047c95c5b2f52ab6" ], [ "FStar.Monotonic.Heap.addr_unused_in", @@ -139,10 +139,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f78bdcd372bb53315a8978822529b874" + "d32f03987c85bc7c30cc30763c4831fa" ], [ "FStar.Monotonic.Heap.not_addr_unused_in_nullptr", @@ -158,7 +158,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a285dc3987c494caa183269fdd667230" + "e06b4cbb82625ae7e850abdd317731a1" ], [ "FStar.Monotonic.Heap.unused_in", @@ -167,7 +167,7 @@ 1, [ "@query" ], 0, - "ce9152edc983a576def3914198d16915" + "ebc9311398d9b75f5305ce51fe98d80f" ], [ "FStar.Monotonic.Heap.only_t", @@ -176,7 +176,7 @@ 1, [ "@query" ], 0, - "0c1421962828958ac655eeced587afb1" + "9609285e4b74ba98d940dbd41c45f0a3" ], [ "FStar.Monotonic.Heap.only", @@ -184,16 +184,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "acf702356f29792233eb86e1d95c535a" + "7ebc6c62b6dfece250677e057a743759" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Plus", @@ -203,11 +200,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b50ef69674015a25c08dee40fba54a3c" + "51451c9078c25deea200c1fa56c8fba8" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Plus", @@ -215,16 +212,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b93a84760233de35a60ff2060f182d5f" + "e9ee684b94ebb456162a2168172d8eea" ], [ "FStar.Monotonic.Heap.op_Plus_Plus_Hat", @@ -234,11 +228,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d541fb067091ac70eae2dc5aecfb2311" + "48f7daced7e935605c62871c1ea8f9f8" ], [ "FStar.Monotonic.Heap.op_Plus_Plus_Hat", @@ -246,16 +240,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "229e66a4a83b746f8b24d448f57438e2" + "5f818cf72a2157981be4689aafd78388" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Hat", @@ -263,16 +254,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "95ccef9b445cb59c9104a94f8675a716" + "c745363c830aff52dae68967064c75b1" ], [ "FStar.Monotonic.Heap.sel_tot", @@ -291,7 +279,7 @@ "refinement_interpretation_Tm_refine_60a89cd0c268e7ce38a2aab467325fd8" ], 0, - "673943b0016bfaecf12d12881467641a" + "fc1c7e6507848cf8588b406be5358c05" ], [ "FStar.Monotonic.Heap.sel", @@ -300,10 +288,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_514ec45130b52a2974525b2e0311ee02" + "refinement_interpretation_Tm_refine_a3ae20eb80ca8981a1824166ce0f0bfd" ], 0, - "48f2fdae731c0ae011b49096ad1efde1" + "28abd796c7ebbb5f0af8cea1d2743b31" ], [ "FStar.Monotonic.Heap.upd_tot'", @@ -312,7 +300,7 @@ 1, [ "@query" ], 0, - "b4a17a530facf90f817ed8880836e959" + "a94515c24ce1cd891d5e1306c0962404" ], [ "FStar.Monotonic.Heap.upd_tot", @@ -321,18 +309,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.nat", @@ -340,34 +326,31 @@ "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.emp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", + "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_60a89cd0c268e7ce38a2aab467325fd8", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_FStar.Monotonic.Heap.upd_tot_", + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "6c6e2c2ad15799da536e5d8e9fa21749" + "675fb5a5dceb32d0715a218a17d3d0d5" ], [ "FStar.Monotonic.Heap.upd", @@ -376,42 +359,30 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", + "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.nat", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.emp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.pos", "int_inversion", "int_typing", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "int_inversion", "int_typing", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", @@ -422,26 +393,25 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_514ec45130b52a2974525b2e0311ee02", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_a3ae20eb80ca8981a1824166ce0f0bfd", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Monotonic.Heap.upd_tot_", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "8179d18f1ce85106d4f62c78750007eb" + "275b6445cf0e2a4753b40599a09af8ea" ], [ "FStar.Monotonic.Heap.alloc", @@ -450,26 +420,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.heap", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.emp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_8c3191ccd50f4949f7bbc8ada52cb91e", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", + "int_inversion", + "interpretation_Tm_abs_5d5f63aede7e85c334f7709c066c5824", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", @@ -480,17 +442,16 @@ "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.Monotonic.Heap.Mkmref__addr", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "552fd8ac540f2568c0a31cd8116b15d6" + "b4bbca8f4d19ba60e7d04fd10ce9713e" ], [ "FStar.Monotonic.Heap.free_mm", @@ -499,49 +460,42 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "constructor_distinct_FStar.Pervasives.Native.None", + "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.emp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "interpretation_Tm_abs_d28f485318adb9130c3ea14fe32375dd", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_ff445937da62f4c1b9de30a2eaf32f5b", + "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "7d87ec6ff065576958e3f464c6116ee0" + "556b2d62f58ddedde10a88d19a8a40b3" ], [ "FStar.Monotonic.Heap.modifies_t", @@ -550,7 +504,7 @@ 1, [ "@query" ], 0, - "8f7c850be624d925e6172d014b8a4a62" + "73a0a71eb1c61be650737ef474c58273" ], [ "FStar.Monotonic.Heap.modifies", @@ -560,11 +514,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b4ac54694e1d4e02fd4acc5abce1fdde" + "3d267115344702e124aebc55a0902b8a" ], [ "FStar.Monotonic.Heap.modifies", @@ -574,11 +528,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3814e6011f7e388acc831fdb8626179a" + "28be350b4e1146c6b9d8546e8114952f" ], [ "FStar.Monotonic.Heap.lemma_upd_contains_test", @@ -587,14 +541,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", @@ -603,12 +553,10 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.sel", @@ -616,26 +564,17 @@ "equation_FStar.Monotonic.Heap.unused_in", "equation_FStar.Monotonic.Heap.upd", "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "function_token_typing_FStar.Monotonic.Heap.emp", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.pos", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", "int_inversion", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "int_inversion", "int_typing", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", @@ -644,7 +583,6 @@ "proj_equation_FStar.Monotonic.Heap.Mkmref__mm", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.Pervasives.Mkdtuple4__1", @@ -653,26 +591,27 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__4", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", + "typing_FStar.FunctionalExtensionality.on_domain", + "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "38bb0171c029d08f0af8afeb52650ead" + "003966c9d993f2aaa3430624acab30b6" ], [ "FStar.Monotonic.Heap.lemma_upd_contains_not_necessarily_well_typed_test", @@ -681,30 +620,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_d80f83c170eeaba13983b883af76ae9c", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_79972cc120a10d787426a3533572eef6", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "data_elim_FStar.Monotonic.Heap.Mkmref_", + "data_elim_FStar.Pervasives.Native.None", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.sel", @@ -713,28 +648,21 @@ "equation_FStar.Monotonic.Heap.upd", "equation_FStar.Monotonic.Heap.upd_tot_", "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_FStar.Monotonic.Heap.emp", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.pos", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "int_inversion", "int_typing", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", @@ -745,36 +673,33 @@ "proj_equation_FStar.Monotonic.Heap.Mkmref__mm", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.Pervasives.Mkdtuple4__1", "projection_inverse_FStar.Pervasives.Mkdtuple4__2", "projection_inverse_FStar.Pervasives.Mkdtuple4__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", + "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "b2f30d1b789f58b2f8f6091f63efce31" + "79ce1a60a2d10e155028661a2bd50b3e" ], [ "FStar.Monotonic.Heap.lemma_upd_unused_test", @@ -783,9 +708,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_79972cc120a10d787426a3533572eef6", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -794,12 +721,10 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.sel", @@ -811,47 +736,43 @@ "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.emp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.pos", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", + "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", + "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.Monotonic.Heap.Mkmref__mm", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.Pervasives.Mkdtuple4__1", "projection_inverse_FStar.Pervasives.Mkdtuple4__2", "projection_inverse_FStar.Pervasives.Mkdtuple4__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b" ], 0, - "490316a330ed8433dd338bffc1bc602c" + "4c95af2465819358cb5cc5230b1c38ec" ], [ "FStar.Monotonic.Heap.lemma_alloc_test", @@ -860,29 +781,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_elim_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.alloc", "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.is_mm", "equation_FStar.Monotonic.Heap.mref", @@ -890,25 +807,16 @@ "equation_FStar.Monotonic.Heap.sel_tot", "equation_FStar.Monotonic.Heap.unused_in", "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_FStar.Monotonic.Heap.emp", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.pos", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", "int_inversion", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "int_inversion", "int_typing", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8c3191ccd50f4949f7bbc8ada52cb91e", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "interpretation_Tm_abs_5d5f63aede7e85c334f7709c066c5824", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", @@ -918,7 +826,6 @@ "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.Monotonic.Heap.Mkmref__addr", "projection_inverse_FStar.Monotonic.Heap.Mkmref__mm", "projection_inverse_FStar.Pervasives.Mkdtuple4__1", @@ -928,28 +835,26 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.alloc", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8c3191ccd50f4949f7bbc8ada52cb91e", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_5d5f63aede7e85c334f7709c066c5824", + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "fa7b789f72c4a44949e3ce4e36cc65e0" + "114febfd6bed2eac49541804f2fcd235" ], [ "FStar.Monotonic.Heap.lemma_free_mm_test", @@ -958,21 +863,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_d80f83c170eeaba13983b883af76ae9c", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", + "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "data_elim_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", @@ -984,23 +886,16 @@ "equation_FStar.Monotonic.Heap.sel", "equation_FStar.Monotonic.Heap.sel_tot", "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.pos", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", "int_inversion", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "int_inversion", "int_typing", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_d28f485318adb9130c3ea14fe32375dd", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_ff445937da62f4c1b9de30a2eaf32f5b", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", @@ -1008,29 +903,29 @@ "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", + "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.free_mm", "typing_FStar.Monotonic.Heap.is_mm", - "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_d28f485318adb9130c3ea14fe32375dd" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_ff445937da62f4c1b9de30a2eaf32f5b" ], 0, - "a4fed16ab29e87112eea6a1cb5c7212b" + "0673b7b3aa02435795d06ca51d7984fd" ], [ "FStar.Monotonic.Heap.lemma_alloc_fresh_test", @@ -1039,29 +934,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "data_elim_FStar.Pervasives.Native.Mktuple2", + "data_elim_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.alloc", "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.modifies", @@ -1071,28 +962,19 @@ "equation_FStar.Monotonic.Heap.sel_tot", "equation_FStar.Monotonic.Heap.unused_in", "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.emp", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "function_token_typing_Prims.pos", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8c3191ccd50f4949f7bbc8ada52cb91e", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", + "interpretation_Tm_abs_5d5f63aede7e85c334f7709c066c5824", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", @@ -1100,7 +982,6 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.Monotonic.Heap.Mkmref__addr", "projection_inverse_FStar.Pervasives.Mkdtuple4__1", "projection_inverse_FStar.Pervasives.Mkdtuple4__2", @@ -1109,29 +990,27 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.alloc", - "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", + "typing_FStar.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8c3191ccd50f4949f7bbc8ada52cb91e", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_5d5f63aede7e85c334f7709c066c5824", + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "a01a5290f0349e89ec41074798830cdf" + "6507e72c2d9032ac0ddbbd865b1ddf38" ], [ "FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -1140,7 +1019,7 @@ 1, [ "@query" ], 0, - "a4ea07574f0a191ae482489be6f3e4a9" + "4672520cbbd06e0524a8d421a09e02fd" ], [ "FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -1149,7 +1028,7 @@ 1, [ "@query", "equation_FStar.Monotonic.Heap.unused_in" ], 0, - "38373e4d8e92e0d65335d1932d88f8c6" + "4e9b861d8c4617eb69f36d3c9fe65588" ], [ "FStar.Monotonic.Heap.lemma_contains_implies_used", @@ -1168,7 +1047,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d924b0ec967b6ce8104db41068e02b62" + "f3cf5a762aa2663798ba7fa756370409" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -1178,11 +1057,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e6464e3b7c1eee0707fb811d49dfde37" + "b0841a4895b1927091ea401861d5b34a" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -1199,7 +1078,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "cf7c8a64224da5aa10a59c10b5d10601" + "368ab0bc7d4c5cba96e4b134c1c38fcd" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", @@ -1209,11 +1088,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "73a84e3452e8207874f35e8b0cfa8a98" + "c3d5069f52cfafcaf51c5a07cb2b3a30" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", @@ -1230,7 +1109,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f7aa128b39606b332b9527e59ee1e726" + "be330d5b26536227d069d68e1cb1e1fe" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", @@ -1240,11 +1119,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6acf4594704934262d9732bd1d9db6b2" + "ccd9ae59e1d5e5c9915609bd437aadfc" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", @@ -1262,7 +1141,7 @@ "typing_FStar.Monotonic.Heap.is_mm" ], 0, - "dbda3b36fda4063bb3e3bdf0f8c77fa3" + "ae711383e0a759aa8b526626987dd3ac" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -1272,11 +1151,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1aea3391b2f4e6f7ef26438cae895866" + "73e7435388d61fe99ab2cc9bd34c3774" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -1289,7 +1168,7 @@ "proj_equation_FStar.Monotonic.Heap.Mkmref__addr" ], 0, - "35c1d21f735fa671a089dcda4cd2fa4b" + "4ee1a5781d9aef2a62c8a7ac99ce5242" ], [ "FStar.Monotonic.Heap.lemma_alloc", @@ -1298,17 +1177,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "data_elim_FStar.Monotonic.Heap.Mkmref_", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", @@ -1327,14 +1208,14 @@ "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_8c3191ccd50f4949f7bbc8ada52cb91e", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", + "function_token_typing_Prims.__cache_version_number__", "int_typing", + "interpretation_Tm_abs_5d5f63aede7e85c334f7709c066c5824", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.equal_extensional", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_disEquality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", @@ -1343,6 +1224,7 @@ "proj_equation_FStar.Monotonic.Heap.Mkmref__mm", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.Monotonic.Heap.Mkmref__addr", @@ -1354,20 +1236,22 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_8c3191ccd50f4949f7bbc8ada52cb91e", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_5d5f63aede7e85c334f7709c066c5824", + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b" ], 0, - "69a53861f6c56858bad2e42eb7216a55" + "0a222c6b485f951cda3eed7b47d29ff0" ], [ "FStar.Monotonic.Heap.lemma_free_mm_sel", @@ -1377,11 +1261,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2059e12da6ed33e4aed3483e32b5f7dc" + "5cd64138efa68d9af4111cd3e887e18f" ], [ "FStar.Monotonic.Heap.lemma_free_mm_sel", @@ -1390,14 +1274,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.contains", @@ -1407,34 +1290,32 @@ "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.sel", "equation_FStar.Monotonic.Heap.sel_tot", - "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.nat", - "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_d28f485318adb9130c3ea14fe32375dd", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_ff445937da62f4c1b9de30a2eaf32f5b", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.free_mm", "typing_FStar.Monotonic.Heap.is_mm", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_d28f485318adb9130c3ea14fe32375dd" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_ff445937da62f4c1b9de30a2eaf32f5b" ], 0, - "e93c77085914afbc11f675e438a234bf" + "c4e9f2860c65105ec59cd9c84d46e21c" ], [ "FStar.Monotonic.Heap.lemma_free_mm_contains", @@ -1444,11 +1325,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8a7a67602b2503502bdec3b5fbef4924" + "c852c53dc97a2127c29dc9768b326d70" ], [ "FStar.Monotonic.Heap.lemma_free_mm_contains", @@ -1457,8 +1338,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", @@ -1467,7 +1350,6 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.contains", @@ -1475,14 +1357,12 @@ "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.is_mm", "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.nat", - "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_d28f485318adb9130c3ea14fe32375dd", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_ff445937da62f4c1b9de30a2eaf32f5b", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -1492,18 +1372,19 @@ "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.is_mm", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_d28f485318adb9130c3ea14fe32375dd" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_ff445937da62f4c1b9de30a2eaf32f5b" ], 0, - "2506b588974dd684df445741fdca17e8" + "f70f96a0e51c4d456be9a3b915861cf7" ], [ "FStar.Monotonic.Heap.lemma_free_mm_unused", @@ -1511,16 +1392,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1f60266f2ffd66f80333c0568a5572bf" + "0ca33e415f149288a7afb782d7cfe26f" ], [ "FStar.Monotonic.Heap.lemma_free_mm_unused", @@ -1529,25 +1407,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_d80f83c170eeaba13983b883af76ae9c", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Monotonic.Heap.Mkmref_", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", @@ -1556,45 +1427,37 @@ "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.is_mm", "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.pos", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_d28f485318adb9130c3ea14fe32375dd", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_ff445937da62f4c1b9de30a2eaf32f5b", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", + "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.free_mm", "typing_FStar.Monotonic.Heap.is_mm", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_d28f485318adb9130c3ea14fe32375dd" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_ff445937da62f4c1b9de30a2eaf32f5b" ], 0, - "46c191b46c4cd69230c289cb8101d7cc" + "cc7d67eea326015ccd5809351929e401" ], [ "FStar.Monotonic.Heap.lemma_free_addr_unused_in", @@ -1603,7 +1466,7 @@ 1, [ "@query" ], 0, - "477432f4b9637f0842b55c6b4bbd3863" + "e08c8248fbf4fe399c5c40995acb84fc" ], [ "FStar.Monotonic.Heap.lemma_free_addr_unused_in", @@ -1612,52 +1475,41 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.free_mm", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.emp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "interpretation_Tm_abs_d28f485318adb9130c3ea14fe32375dd", + "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_ff445937da62f4c1b9de30a2eaf32f5b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "typing_Tm_abs_d28f485318adb9130c3ea14fe32375dd" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_ff445937da62f4c1b9de30a2eaf32f5b" ], 0, - "0e96d9923cd43eeb3e1eb1ce64de521e" + "88d2425f74e46672e49d117753bbe1ff" ], [ "FStar.Monotonic.Heap.lemma_sel_same_addr", @@ -1665,16 +1517,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e8340bbd21a7c164b152992c9a197f56" + "39ff765275da2810291b1fae412c4a1e" ], [ "FStar.Monotonic.Heap.lemma_sel_same_addr", @@ -1691,18 +1540,18 @@ "equation_FStar.Monotonic.Heap.is_mm", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", "equation_Prims.nat", + "equation_FStar.Monotonic.Heap.sel_tot", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "l_and-interp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_ee50311e73b91274c0f18a42be5e4653", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.is_mm", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "8a9b51de2fcd49055c3cf815fa3130eb" + "baa13e48b0f7645406b0916f56e9b9d0" ], [ "FStar.Monotonic.Heap.lemma_sel_upd1", @@ -1710,16 +1559,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e25368707cd5b30ccec2738ed46080da" + "a5f1b0a09b13d331a2c917ab08e80a55" ], [ "FStar.Monotonic.Heap.lemma_sel_upd1", @@ -1728,9 +1574,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_79972cc120a10d787426a3533572eef6", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1738,7 +1586,6 @@ "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.contains", @@ -1749,17 +1596,16 @@ "equation_FStar.Monotonic.Heap.sel_tot", "equation_FStar.Monotonic.Heap.upd", "equation_FStar.Monotonic.Heap.upd_tot_", - "equation_FStar.Preorder.preorder", "equation_Prims.nat", - "equation_Prims.pos", + "equation_FStar.Preorder.preorder", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", + "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", + "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", @@ -1773,23 +1619,23 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__4", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.is_mm", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "3497a0a2e02c5e8f08a3fbe54d0a4b8f" + "42e5a864fa9cac6411fd119b5913bc4f" ], [ "FStar.Monotonic.Heap.lemma_sel_upd2", @@ -1797,16 +1643,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2a8828c41a9be4e8f22980b33388a990" + "29a6919b6116ab31271f7bdda6cb59be" ], [ "FStar.Monotonic.Heap.lemma_sel_upd2", @@ -1815,16 +1658,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.contains", @@ -1834,16 +1677,12 @@ "equation_FStar.Monotonic.Heap.sel_tot", "equation_FStar.Monotonic.Heap.unused_in", "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", + "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -1853,22 +1692,21 @@ "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "b455fb193a789c49c269dc68536916ac" + "63effeb960b9e892b0df7621be1fbee5" ], [ "FStar.Monotonic.Heap.lemma_mref_injectivity", @@ -1881,7 +1719,7 @@ "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_" ], 0, - "ae3b1a7e028565c7c5e5c125d7781b8c" + "fe8e353ba10e9d9b40daaffad922a241" ], [ "FStar.Monotonic.Heap.lemma_mref_injectivity_preorder", @@ -1894,7 +1732,7 @@ "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_" ], 0, - "5c1ed592de0048a93add532365c722c1" + "541f8225a017b477e3834bd45f9dbe1b" ], [ "FStar.Monotonic.Heap.lemma_in_dom_emp", @@ -1903,39 +1741,37 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Monotonic.Heap.Mkmref_", "disc_equation_FStar.Pervasives.Native.None", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.emp", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", + "equation_FStar.Monotonic.Heap.emp", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", + "interpretation_Tm_abs_407c2d8bd469d2e8b01f9377d63a29f3", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_disEquality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.addr_of", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_FStar.Monotonic.Heap.emp", + "typing_Tm_abs_407c2d8bd469d2e8b01f9377d63a29f3", + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" ], 0, - "4741e321350cce96d4198bb86b9924ae" + "3ee49515b8ca9eabe113879323b4a3d5" ], [ "FStar.Monotonic.Heap.lemma_upd_contains", @@ -1944,14 +1780,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", @@ -1961,32 +1793,22 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.upd", "equation_FStar.Monotonic.Heap.upd_tot_", - "equation_FStar.Preorder.preorder", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.Preorder.preorder", "equation_Prims.nat", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "function_token_typing_FStar.Monotonic.Heap.emp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.pos", "int_inversion", "int_typing", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", @@ -1995,33 +1817,29 @@ "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_FStar.Pervasives.Mkdtuple4__1", "projection_inverse_FStar.Pervasives.Mkdtuple4__2", "projection_inverse_FStar.Pervasives.Mkdtuple4__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "e9c619422be9347083e15e2330ef812e" + "42da3dd3f0e77db0180bace993e9b696" ], [ "FStar.Monotonic.Heap.lemma_well_typed_upd_contains", @@ -2030,14 +1848,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", @@ -2045,7 +1859,6 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", @@ -2054,21 +1867,16 @@ "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.upd", "equation_FStar.Monotonic.Heap.upd_tot_", - "equation_FStar.Preorder.preorder", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.Preorder.preorder", "equation_Prims.nat", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.pos", "int_inversion", "int_typing", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "int_inversion", + "int_typing", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -2087,11 +1895,12 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", @@ -2099,13 +1908,11 @@ "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "bf076e1da4a1cf732fc70bd55d1a11c1" + "b4be0ed7e39e8852f95d53feac361425" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_contains", @@ -2115,11 +1922,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fa384efc0f28fed755a1ded93e373925" + "f8924bade70e5fcd1d649a76836d503d" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_contains", @@ -2128,16 +1935,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "data_elim_FStar.Monotonic.Heap.Mkmref_", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.contains", @@ -2147,11 +1954,9 @@ "equation_FStar.Monotonic.Heap.upd", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", + "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -2162,19 +1967,21 @@ "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b" ], 0, - "2c54609afff2529adb7e9ab9b929c0c3" + "33ae3d7ab4838678d27534eae66a6e1b" ], [ "FStar.Monotonic.Heap.lemma_upd_contains_different_addr", @@ -2182,16 +1989,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "61c42f79bb94a5ff513d7224deabef4a" + "8db21fefc5c0bc00586bb90dc622aad6" ], [ "FStar.Monotonic.Heap.lemma_upd_contains_different_addr", @@ -2200,26 +2004,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "disc_equation_FStar.Pervasives.Native.Some", - "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", + "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.contains", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.upd", "equation_Prims.nat", - "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.upd", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -2232,19 +2034,21 @@ "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b" ], 0, - "a0b4b798a4492509d736cd356df6b7ce" + "b8f9ce4ec4f480aa03271e920da97b1b" ], [ "FStar.Monotonic.Heap.lemma_upd_unused", @@ -2254,11 +2058,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6bd6f31144ca3ef1f391b8b02611ce1f" + "36335a2b354ce7affb970a0609e4f958" ], [ "FStar.Monotonic.Heap.lemma_upd_unused", @@ -2267,80 +2071,64 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_79972cc120a10d787426a3533572eef6", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "data_elim_FStar.Monotonic.Heap.Mkmref_", + "data_elim_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.unused_in", "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.emp", + "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", + "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_disEquality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "f7b5301907a4142749cd933386535f71" + "da7b73008b7cd0b875fcd1e176ece299" ], [ "FStar.Monotonic.Heap.lemma_contains_upd_modifies", @@ -2348,22 +2136,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.mref", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a348849cf352ad2682d8b2f6e38cb301" + "994e438575c78b2481d180baf09ad68f" ], [ "FStar.Monotonic.Heap.lemma_contains_upd_modifies", @@ -2372,27 +2151,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.emp", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", @@ -2400,24 +2173,15 @@ "equation_FStar.Monotonic.Heap.unused_in", "equation_FStar.Monotonic.Heap.upd", "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "function_token_typing_FStar.Monotonic.Heap.emp", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.nat", "function_token_typing_Prims.pos", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_upd_unused", @@ -2428,32 +2192,29 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "c4e7623050ea9c2ee164ec646d09ac6e" + "2fe7b43f96ff8284cc5f20486e8c7f77" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_modifies", @@ -2461,19 +2222,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.Heap.addr_of", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Monotonic.Heap.addr_of" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "79a7b87e622a06b1d50c44ce9da4e550" + "af6862eda8190c35e3a1b0e1ff5120c1" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_modifies", @@ -2482,20 +2237,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.Some", + "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.addr_unused_in", @@ -2505,19 +2256,15 @@ "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.unused_in", - "equation_FStar.Monotonic.Heap.upd", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.upd", "equation_Prims.nat", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", - "kinding_FStar.Pervasives.dtuple4@tok", + "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -2525,30 +2272,28 @@ "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_unused_upd_contains", "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_disEquality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b" ], 0, - "c00e97b022fa9ac9966070d133ea0ddc" + "8e1e65a1719d279477b62e1cef2c5abd" ], [ "FStar.Monotonic.Heap.lemma_sel_equals_sel_tot_for_contained_refs", @@ -2559,13 +2304,13 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Monotonic.Heap.contains", "equation_FStar.Monotonic.Heap.sel", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_60a89cd0c268e7ce38a2aab467325fd8", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "70e271b9e0190fb822623a19253f37fe" + "82db513e2d15c81edc433290f9740ed4" ], [ "FStar.Monotonic.Heap.lemma_upd_equals_upd_tot_for_contained_refs", @@ -2577,13 +2322,13 @@ "equation_FStar.Monotonic.Heap.contains", "equation_FStar.Monotonic.Heap.upd", "equation_FStar.Monotonic.Heap.upd_tot", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_60a89cd0c268e7ce38a2aab467325fd8", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "160ddb8bbf482ddb4f2ce642ccfc293d" + "a0aec1da2b0ee017d6d7feaf8ee510ad" ], [ "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -2591,16 +2336,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9822390e17b5e7c31788b909e33b097e" + "b64923b9ed9fb9384a0f3bcf63ba8681" ], [ "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -2610,11 +2352,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "85a6254815bc53d6f5fe65a6b12fc6b1" + "db388ea7442334232e48ef8bb4a50e21" ], [ "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -2623,29 +2365,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.contains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.sel", "equation_FStar.Monotonic.Heap.set", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.TSet.lemma_mem_tset_of_set", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "eac2b5ec03fbdbc44eec01f54bf24e9b" + "5dfeeb7ec18af071120c53393fc55500" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_upd_same_addr", @@ -2653,16 +2394,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f43f17427c1dd3d3bdc9ea01e03a51c4" + "47e8904d46fe3138710863de4fe82372" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_upd_same_addr", @@ -2671,15 +2409,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.contains", "equation_FStar.Monotonic.Heap.equal", @@ -2687,14 +2424,11 @@ "equation_FStar.Monotonic.Heap.is_mm", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", + "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.equal_extensional", "primitive_Prims.op_Equality", @@ -2703,18 +2437,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.is_mm", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "80ca975e42a6e22ed82894679faef908" + "9d6ca28715ba2cfe9a4a3c40a4a05232" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_cancel_same_mref_upd", @@ -2723,28 +2457,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Monotonic.Heap.contains", "equation_FStar.Monotonic.Heap.equal", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", + "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "int_inversion", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.equal_extensional", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", @@ -2755,19 +2485,20 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "45a48e4e10f2b0d1eb0b82e584e249c3" + "c0e11b5af29603e0539ed1f2f0e15063" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_upd_with_sel", @@ -2776,10 +2507,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_d80f83c170eeaba13983b883af76ae9c", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_79972cc120a10d787426a3533572eef6", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_typing", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", @@ -2792,16 +2524,13 @@ "equation_FStar.Monotonic.Heap.sel", "equation_FStar.Monotonic.Heap.sel_tot", "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pos", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", "l_and-interp", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", @@ -2818,18 +2547,19 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__4", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "c2b54b9bdda6f6d6fee5467ce39738cf" + "34e74f42604be99f75dd5fbaed916573" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_commute_distinct_upds", @@ -2838,56 +2568,42 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_9f20864e6bfab414a904bab18c549540", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", + "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", + "data_elim_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", "equation_FStar.Monotonic.Heap.contains", "equation_FStar.Monotonic.Heap.equal", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.unused_in", "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.nat", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "function_token_typing_Prims.pos", "int_inversion", - "interpretation_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "interpretation_Tm_abs_6d1dd679e7bfcc1e61d6a2d3394769f2", - "interpretation_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "interpretation_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "interpretation_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "interpretation_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "int_inversion", "int_typing", + "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "interpretation_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "interpretation_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a", + "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Monotonic.Heap.equal_extensional", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_disEquality", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -2895,26 +2611,26 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", + "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_2b2f39977a1cba245968a841d79ca31a", - "typing_Tm_abs_6c84527c95de7b2fa736730278164d7f", - "typing_Tm_abs_8da75da45c3d789701ba5e466e714a84", - "typing_Tm_abs_9c098435724e6cb2c34bb6563941103b", - "typing_Tm_abs_bd6789642a301d8b40cc92f9d522a42a", - "typing_Tm_abs_f99bc6db4b3c3d1df939c377c36dcda8" + "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", + "typing_Tm_abs_d923bf376b389cb2f6301486ccf0584b", + "typing_Tm_abs_e5c0d903ef3524c91bd327776bdbb46a" ], 0, - "946647100a4ddda930dbbf60ab30a5f3" + "cd24bcc192d53f25fa98d31f57c348f7" ], [ "FStar.Monotonic.Heap.lemma_next_addr_upd_tot", @@ -2929,7 +2645,7 @@ "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr" ], 0, - "1f24080d41ceb74c5acfa5c4dd969022" + "c9040d2082c2b1b4add8a36455f2171d" ], [ "FStar.Monotonic.Heap.lemma_next_addr_upd", @@ -2955,7 +2671,7 @@ "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1" ], 0, - "9f3bd060a9c10ff790ea8b4cfedfaa46" + "5dd7debbb25734f671a940f1649e98a0" ], [ "FStar.Monotonic.Heap.lemma_next_addr_alloc", @@ -2976,7 +2692,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" ], 0, - "a0060be43b3cf0a14a06f39842f91adc" + "9f96621f0743ba20fa917f08b5289c5d" ], [ "FStar.Monotonic.Heap.lemma_next_addr_free_mm", @@ -2990,7 +2706,7 @@ "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr" ], 0, - "850e97a1e880b95120e4313a1ba8b3ca" + "4ba846f2e707e3c60322e3b0d1752295" ], [ "FStar.Monotonic.Heap.lemma_next_addr_contained_refs_addr", @@ -2999,20 +2715,22 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", + "data_elim_FStar.Monotonic.Heap.Mkmref_", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.contains", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.next_addr", "equation_Prims.nat", - "l_and-interp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Monotonic.Heap.__proj__Mkmref___item__addr" + "equation_FStar.Monotonic.Heap.next_addr", + "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "l_and-interp", + "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" ], 0, - "5517bbdb8339cfced9388b310e0fb891" + "e8e67651166bf9bd92b6a59c9cc89bf8" ], [ "FStar.Monotonic.Heap.aref_equal", @@ -3021,17 +2739,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "data_elim_FStar.Monotonic.Heap.Mkaref_", - "equation_FStar.Monotonic.Heap.aref", - "equation_FStar.Monotonic.Heap.dummy_aref", "equation_Prims.eqtype", + "equation_FStar.Monotonic.Heap.aref", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", - "function_token_typing_FStar.Monotonic.Heap.dummy_aref", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", "proj_equation_FStar.Monotonic.Heap.Mkaref__a_mm", @@ -3039,7 +2751,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "32e575de51add8ecca11e0fade9e6f5e" + "2b3235d435c7ff028cc0195400fc5594" ], [ "FStar.Monotonic.Heap.addr_of_aref_of", @@ -3048,7 +2760,7 @@ 1, [ "@query" ], 0, - "480b08c89ca624203aabaf925496fe84" + "8f8c5f6af56c15056db3d3214f258d5f" ], [ "FStar.Monotonic.Heap.addr_of_aref_of", @@ -3063,7 +2775,7 @@ "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_addr" ], 0, - "056ded556a250f7f5a4a18666e923a14" + "d9ce5b5ae9640079190eb75f2182e084" ], [ "FStar.Monotonic.Heap.is_mm_aref_of", @@ -3078,7 +2790,7 @@ "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_mm" ], 0, - "0909099b5131535c6ac378a0c04a6d37" + "123858682ef7ac343e9916f5021a929b" ], [ "FStar.Monotonic.Heap.aref_unused_in", @@ -3087,7 +2799,7 @@ 1, [ "@query" ], 0, - "3a6d31894c3959accbe6a629da9e6af6" + "ee5eeee860b38888e9454ea837d33612" ], [ "FStar.Monotonic.Heap.unused_in_aref_of", @@ -3108,11 +2820,11 @@ "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_addr", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Monotonic.Heap.addr_of" ], 0, - "82ac7ad2453cf652d1dac6e773a49bdd" + "809f4cd0e30afe0bdfc2ce4ef336c70c" ], [ "FStar.Monotonic.Heap.contains_aref_unused_in", @@ -3121,7 +2833,7 @@ 1, [ "@query" ], 0, - "8d9014e0cf2e5f32c93c8788df714473" + "62b7cbc0f261ef66032e710796e2faf9" ], [ "FStar.Monotonic.Heap.contains_aref_unused_in", @@ -3138,7 +2850,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ae842e9eb417afe67d3fb10e7fb76419" + "e8c096a1eb07ff80f49cf19534ecb414" ], [ "FStar.Monotonic.Heap.aref_live_at", @@ -3150,7 +2862,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "820f43c024ba4eb8132ae375888a0428" + "ddc6ac40591db62d3041d8fb723daf29" ], [ "FStar.Monotonic.Heap.ref_of'", @@ -3166,7 +2878,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "a6a8a78e4d238753942da5a8c8563251" + "e9bc1dbd05b84cb6498ce8f5f9ec3e47" ], [ "FStar.Monotonic.Heap.gref_of", @@ -3179,17 +2891,17 @@ "eq3-interp", "equation_FStar.Monotonic.Heap.aref", "equation_FStar.Monotonic.Heap.aref_live_at", "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Preorder.preorder", "equation_Prims.nat", + "equation_FStar.Preorder.preorder", "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_9ab71efe0feab675a1e1e64c3de1451b", + "refinement_interpretation_Tm_refine_08e8a9b37500200112a556724b6caac2", + "refinement_interpretation_Tm_refine_2d3428ad6c2619bdd04ae5e0ac036f82", "unit_inversion" ], 0, - "1c6cd8e637756ad3473c9f6e0ca8d0ba" + "ef29515b5e04313dc9c4b6b7f6d2077a" ], [ "FStar.Monotonic.Heap.ref_of", @@ -3198,7 +2910,7 @@ 1, [ "@query" ], 0, - "3bf332943218b18c952a8a960978ecc1" + "2f0e994081e1aafb732211edd9ccece8" ], [ "FStar.Monotonic.Heap.ref_of", @@ -3217,7 +2929,7 @@ "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.is_mm", "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.ref_of_", "equation_Prims.nat", + "equation_FStar.Monotonic.Heap.ref_of_", "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "l_and-interp", @@ -3227,12 +2939,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkmref__addr", "projection_inverse_FStar.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_2d3428ad6c2619bdd04ae5e0ac036f82", "refinement_interpretation_Tm_refine_f871b1cec1676516ecbdd8b1fdf16da7", "typing_FStar.Monotonic.Heap.gref_of" ], 0, - "a346424357b482cb4da1f45c016aedc1" + "ee3896abe78371db0f7743ea610b059d" ], [ "FStar.Monotonic.Heap.aref_live_at_aref_of", @@ -3262,7 +2974,7 @@ "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_mm" ], 0, - "49fd97327e03e24eb389c01a31ffce9d" + "6ea8dda984757793a60fd7bc181d97db" ], [ "FStar.Monotonic.Heap.contains_gref_of", @@ -3272,23 +2984,21 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "constructor_distinct_Tm_unit", + "bool_inversion", "bool_typing", "constructor_distinct_Tm_unit", "data_elim_FStar.Monotonic.Heap.Mkaref_", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "eq3-interp", "equation_FStar.Monotonic.Heap.aref", "equation_FStar.Monotonic.Heap.aref_live_at", "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.dummy_aref", "equation_FStar.Monotonic.Heap.gref_of", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.ref_of_", - "equation_FStar.Preorder.preorder", "equation_Prims.nat", + "equation_FStar.Preorder.preorder", "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", - "function_token_typing_FStar.Monotonic.Heap.dummy_aref", - "l_and-interp", "primitive_Prims.op_Equality", + "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "l_and-interp", + "primitive_Prims.op_Equality", "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", "proj_equation_FStar.Monotonic.Heap.Mkaref__a_mm", "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", @@ -3297,12 +3007,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkmref__addr", "projection_inverse_FStar.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_2d3428ad6c2619bdd04ae5e0ac036f82", "refinement_interpretation_Tm_refine_f871b1cec1676516ecbdd8b1fdf16da7", "typing_FStar.Monotonic.Heap.gref_of" ], 0, - "f0f85c1691cf7e694e4e53df11a08c32" + "fa12f07951ea64e6e44631d85027af99" ], [ "FStar.Monotonic.Heap.aref_of_gref_of", @@ -3310,9 +3020,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_Tm_unit", - "data_elim_FStar.Monotonic.Heap.Mkaref_", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "eq3-interp", "equation_FStar.Monotonic.Heap.aref", "equation_FStar.Monotonic.Heap.aref_live_at", @@ -3321,11 +3030,10 @@ "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.ref_of_", - "equation_FStar.Preorder.preorder", "equation_Prims.nat", + "equation_FStar.Preorder.preorder", "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", "fuel_guarded_inversion_FStar.Monotonic.Heap.mref_", "l_and-interp", - "lemma_FStar.Monotonic.Heap.contains_gref_of", "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", "proj_equation_FStar.Monotonic.Heap.Mkaref__a_mm", "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", @@ -3334,12 +3042,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkmref__addr", "projection_inverse_FStar.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", + "refinement_interpretation_Tm_refine_2d3428ad6c2619bdd04ae5e0ac036f82", "refinement_interpretation_Tm_refine_f871b1cec1676516ecbdd8b1fdf16da7", "typing_FStar.Monotonic.Heap.gref_of" ], 0, - "31e317ee31f3266f841e5e65361e4382" + "fcd473d24fbe6b0d55d270fde779af73" ], [ "FStar.Monotonic.Heap.addr_of_gref_of", @@ -3368,7 +3076,7 @@ "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1" ], 0, - "8c5095eb10acbedfcb6019c14f9a0972" + "799d687c5eeadace9280e48efb3da744" ], [ "FStar.Monotonic.Heap.is_mm_gref_of", @@ -3394,7 +3102,7 @@ "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1" ], 0, - "96afd4f2116116c2af3a5eff65184451" + "b2c90be3a60a294c35e3504a61d8e220" ], [ "FStar.Monotonic.Heap.unused_in_gref_of", @@ -3417,7 +3125,7 @@ "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1" ], 0, - "806ccf88026a6d92ab935342fea8a779" + "16a626f450aa37e9d751ab60a39014a6" ], [ "FStar.Monotonic.Heap.sel_ref_of", @@ -3426,44 +3134,42 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Monotonic.Heap.Mkaref_", + "bool_inversion", "bool_typing", + "data_elim_FStar.Monotonic.Heap.Mkaref_", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", "eq3-interp", "equation_FStar.Monotonic.Heap.addr_of", "equation_FStar.Monotonic.Heap.aref", "equation_FStar.Monotonic.Heap.aref_is_mm", "equation_FStar.Monotonic.Heap.aref_live_at", "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.dummy_aref", "equation_FStar.Monotonic.Heap.heap", "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", "equation_FStar.Monotonic.Heap.ref_of", "equation_FStar.Monotonic.Heap.ref_of_", + "equation_FStar.Monotonic.Heap.sel", + "equation_FStar.Monotonic.Heap.sel_tot", "equation_FStar.Preorder.preorder", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "function_token_typing_FStar.Monotonic.Heap.dummy_aref", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Monotonic.Heap.contains_gref_of", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", "primitive_Prims.op_Equality", "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", "proj_equation_FStar.Monotonic.Heap.Mkmref__addr", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.Heap.Mkmref__addr", - "refinement_interpretation_Tm_refine_1c2a1b0007330f79e930bd9048b75fc1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2d3428ad6c2619bdd04ae5e0ac036f82", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", "refinement_interpretation_Tm_refine_e9f69f18eb8d91697e49057991573e9f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f871b1cec1676516ecbdd8b1fdf16da7", - "typing_FStar.Monotonic.Heap.gref_of", - "typing_FStar.Monotonic.Heap.ref_of" + "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Monotonic.Heap.ref_of", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "315dde359dd11e65bf88a61bf55dbed0" + "a935ec8352d789c7de73cdfb71057cc2" ], [ "FStar.Monotonic.Heap.upd_ref_of", @@ -3506,7 +3212,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "68a424eb905d1584604aa96655d2d82e" + "0726059bf61f4c86b778368d1c4c2336" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Monotonic.Heap.fsti.hints b/ulib/FStar.Monotonic.Heap.fsti.hints index 0753a8a62b9..79c1af08f2e 100644 --- a/ulib/FStar.Monotonic.Heap.fsti.hints +++ b/ulib/FStar.Monotonic.Heap.fsti.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4fcd68484253d9d5f492f8b886230830" + "1205af370c3475dd85c4513748d46545" ], [ "FStar.Monotonic.Heap.only_t", @@ -22,7 +22,7 @@ 1, [ "@query" ], 0, - "29337d099d62a526b4c793e6292dbe02" + "0bd3d8b1190b18c50c24ecf947c6f1c6" ], [ "FStar.Monotonic.Heap.only", @@ -30,16 +30,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8647a7005e804e49df03723caff836f5" + "94ba281ab7001d859819fa1f16133e7b" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Plus", @@ -49,11 +46,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e56a9249de71e5bf15c8c3a6955a03b8" + "61763946e28636d950bb98252f814fa8" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Plus", @@ -61,16 +58,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4e41d6dbfb1012b442e68bcccde8c7ee" + "e2bb214d9c7af24f6fd3427aab1da18b" ], [ "FStar.Monotonic.Heap.op_Plus_Plus_Hat", @@ -80,11 +74,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "682b01337a2137b50001eed9bc4c3395" + "ef30b35115884686137745a7ee422158" ], [ "FStar.Monotonic.Heap.op_Plus_Plus_Hat", @@ -92,16 +86,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4791379d846a83b6545ee31856537c3a" + "53467db574c7fe3a0b0d80aaf1c43716" ], [ "FStar.Monotonic.Heap.op_Hat_Plus_Hat", @@ -109,16 +100,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fadcbc1682638b9be12ffc1c6dd3f341" + "54bfdea040d0732204b57b068a133fa1" ], [ "FStar.Monotonic.Heap.modifies_t", @@ -127,7 +115,7 @@ 1, [ "@query" ], 0, - "9465398c90d511ac978ac0027fadabf9" + "94e33ccba3462bbc5f3c7123391a1a39" ], [ "FStar.Monotonic.Heap.modifies", @@ -137,11 +125,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "14a439a61d4d72db2a23dac37c865fa3" + "805cb1cea567fdb0bdd879910c9d4e96" ], [ "FStar.Monotonic.Heap.modifies", @@ -151,11 +139,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "01925779d3a37a870c5c8f1cd3e25545" + "ce9e1a29726e577621447332b35399f4" ], [ "FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -164,7 +152,7 @@ 1, [ "@query" ], 0, - "5b13d70b99a33a839e8dd3672e36d2a3" + "1aa7dc9157071aa2b418fadd5751334f" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -174,11 +162,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "164c06a2a134ce371e81ed765771528d" + "933de072245535ee3302fbe08f704559" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", @@ -188,11 +176,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "939c18fc1b0b97263f948f9f2a9bb60d" + "79e7402b360d859ac3fb54a2332277cd" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", @@ -202,11 +190,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f9621c761a7474f6927c88a9b28fa921" + "19b93906c170026ae3e903ce6c9a9cad" ], [ "FStar.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -216,11 +204,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d715c82f36bf530eb7fa49bf4887c8a7" + "14ad3c29f0cc738af307452077ac4f15" ], [ "FStar.Monotonic.Heap.lemma_free_mm_sel", @@ -230,11 +218,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1f1746312226e3f06db85e8ee83717f3" + "5fff04b96659457359f33577969497d9" ], [ "FStar.Monotonic.Heap.lemma_free_mm_contains", @@ -244,11 +232,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "79fe335adf9727ed701f990fc97e7430" + "a10000482ad4e41207cbb5d34a84b0d5" ], [ "FStar.Monotonic.Heap.lemma_free_mm_unused", @@ -256,16 +244,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "97d4a24c4197fec2d8358428054c0ae9" + "bbd137cd46ce2d3c338b5da69062812f" ], [ "FStar.Monotonic.Heap.lemma_free_addr_unused_in", @@ -274,7 +259,7 @@ 1, [ "@query" ], 0, - "efc9f8ad3df8b4636ba3b54d44b40f26" + "7397ce5d07c9022d3672ea3346bd7467" ], [ "FStar.Monotonic.Heap.lemma_sel_same_addr", @@ -282,16 +267,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f1522357e6a2f80e2541e751e07cc3ca" + "148fa06fed2332ce90de8060dcf2be67" ], [ "FStar.Monotonic.Heap.lemma_sel_upd1", @@ -299,16 +281,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d8cd2ecc4c3af82a8734e0e5ceccdd95" + "86d115a2f6c3e0191c66b2d8fcff93fe" ], [ "FStar.Monotonic.Heap.lemma_sel_upd2", @@ -316,16 +295,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "adab0bdf3c2bbb7494e6694acc4fb970" + "8fe7918f8b97a8faac0087dd6de3cc4d" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_contains", @@ -335,11 +311,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f158b7940be29f9f7aa9f5659ed92c31" + "1a26bdf0f769907c0bf0dceb48f9f48d" ], [ "FStar.Monotonic.Heap.lemma_upd_contains_different_addr", @@ -347,16 +323,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "873320f48b5d09d08d03cd3918a180bb" + "acc65c3e7ab94f76937b2fdd73fee28c" ], [ "FStar.Monotonic.Heap.lemma_upd_unused", @@ -366,11 +339,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b7d1da7803d175243e37de5b82bc6ed2" + "5b50e42fb62eac010720ada864f2b966" ], [ "FStar.Monotonic.Heap.lemma_contains_upd_modifies", @@ -378,18 +351,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Monotonic.Heap.addr_of" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "092a1eaffb337b34c8c0003e4541e0ac" + "4f5811faeb9440035f1488c24b931832" ], [ "FStar.Monotonic.Heap.lemma_unused_upd_modifies", @@ -397,18 +365,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Monotonic.Heap.addr_of" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a791271ee10938db0a3dd699457814e5" + "4b73a488da04c428175423ff5c537e43" ], [ "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", @@ -416,16 +379,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fc7a64755a6e8004162225ad073ab54b" + "89c1c1b3449ce3b766c7964bbad63f29" ], [ "FStar.Monotonic.Heap.lemma_heap_equality_upd_same_addr", @@ -433,16 +393,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5dc71258ae49e0c05661cf8ed7e59500" + "0adc2b070377eebcd8c37949b0053285" ], [ "FStar.Monotonic.Heap.addr_of_aref_of", @@ -451,7 +408,7 @@ 1, [ "@query" ], 0, - "40fcf3472825c70868d92f9c231afc45" + "1dca9c6442f29757caedd3c8f630c42c" ], [ "FStar.Monotonic.Heap.contains_aref_unused_in", @@ -460,7 +417,7 @@ 1, [ "@query" ], 0, - "86f8b6ed3fde0e8b56cc2e302f0d3fda" + "5b95e9a7c03b389ed1a46c09a5992cf3" ], [ "FStar.Monotonic.Heap.ref_of", @@ -469,7 +426,7 @@ 1, [ "@query" ], 0, - "5cabce56224327d9f57178a649740a37" + "d957d637771e7eb137108673ae1c270f" ], [ "FStar.Monotonic.Heap.addr_of_gref_of", @@ -478,7 +435,7 @@ 1, [ "@query", "lemma_FStar.Monotonic.Heap.aref_of_gref_of" ], 0, - "110c1a14961ccfd523c9144606bf5364" + "3821219a054461b80e8b451eec44e3b6" ], [ "FStar.Monotonic.Heap.is_mm_gref_of", @@ -487,7 +444,7 @@ 1, [ "@query", "lemma_FStar.Monotonic.Heap.aref_of_gref_of" ], 0, - "23d7a3457a22864ae7eaafc7e387d504" + "048d93522b062b8f9b1d7e039b65da2c" ], [ "FStar.Monotonic.Heap.unused_in_gref_of", @@ -496,7 +453,7 @@ 1, [ "@query", "lemma_FStar.Monotonic.Heap.aref_of_gref_of" ], 0, - "b9b7fe55215855b02dc1cad7f108f376" + "3ac3e0ae2021aa71e7fcb5023077cb12" ], [ "FStar.Monotonic.Heap.sel_ref_of", @@ -514,7 +471,7 @@ "typing_FStar.Monotonic.Heap.ref_of" ], 0, - "eb1a490a375ffbc0d6e5aa677f2dbd7a" + "e2cf4765b77afba4d68901a9e767fdf4" ], [ "FStar.Monotonic.Heap.upd_ref_of", @@ -526,7 +483,7 @@ "lemma_FStar.Monotonic.Heap.is_mm_gref_of" ], 0, - "d2337057778483f03cc67bfc8d29a317" + "ab1c50be410dcefd25be980c8caa6213" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Monotonic.HyperHeap.fst b/ulib/FStar.Monotonic.HyperHeap.fst index 8ca8b098643..15fad1d7685 100644 --- a/ulib/FStar.Monotonic.HyperHeap.fst +++ b/ulib/FStar.Monotonic.HyperHeap.fst @@ -41,7 +41,7 @@ let lemma_root_has_color_zero _ = () let rid_length r = List.Tot.length (reveal r) -let rid_tail r = elift1_p Cons?.tl r +let rid_tail r = elift1_p (tot_to_gtot Cons?.tl) r let rec includes r1 r2 = if r1 = r2 then true diff --git a/ulib/FStar.Monotonic.HyperHeap.fst.hints b/ulib/FStar.Monotonic.HyperHeap.fst.hints index 7ccb42e2a1e..e74e8aaafd3 100644 --- a/ulib/FStar.Monotonic.HyperHeap.fst.hints +++ b/ulib/FStar.Monotonic.HyperHeap.fst.hints @@ -1,5 +1,5 @@ [ - "­ö\u001eÅ\rûÛw½'Šé…§dK", + "†\u000b¢*`\n\u0014‡m~æ8}1Ëx", [ [ "FStar.Monotonic.HyperHeap.rid", @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.Monotonic.HyperHeap.HasEq_rid" ], 0, - "0c0b2d19e41870cc3e97d762659c0475" + "5b37d5283d6382c816554350ed91dd91" ], [ "FStar.Monotonic.HyperHeap.color", @@ -20,7 +20,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "733a112677253c3a66c006562e45541f" + "edc32c4e0c41d1eebf051eeed56d56e5" ], [ "FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", @@ -32,17 +32,16 @@ "data_typing_intro_Prims.Nil@tok", "equation_FStar.Monotonic.HyperHeap.color", "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Monotonic.HyperHeap.root", "equation_Prims.eqtype", "function_token_typing_Prims.int", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Ghost.reveal_hide", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3" ], 0, - "40bee594cef02ebf48bda53e44c2a1b9" + "d4590ab00da772020792f71e6bfbb211" ], [ "FStar.Monotonic.HyperHeap.root_has_color_zero", @@ -51,14 +50,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Monotonic.HyperHeap.root", "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "typing_FStar.Monotonic.HyperHeap.root" ], 0, - "2af4e313ccc92db61ff303dd960ddd60" + "ec712f91748e99185bf6c833aad2ef07" ], [ "FStar.Monotonic.HyperHeap.rid_tail", @@ -68,25 +66,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Monotonic.HyperHeap.rid_length", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_085b55aa6b726cf07dbab52057ffb51c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_64c6f03e73ad4c0833e907aa89c91055", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.HyperHeap.rid_length" ], 0, - "ce489ed1ac5c4dbc5b0314094cfde3ec" + "f255bf33006aa2538e4344cbb0967bbd" ], [ "FStar.Monotonic.HyperHeap.includes", @@ -97,14 +93,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_62d3ccfa726a49b6e2fa347fafd9342b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_ffcaf06da4d9866905ba5dd456bff0cc", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", + "b2t_def", "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", "binder_x_c1c1de8ea7481018f23ab7c648051e51_1", "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", + "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Monotonic.HyperHeap.rid_length", @@ -112,28 +108,28 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.__proj__Cons__item__tl", "function_token_typing_Prims.int", - "interpretation_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", + "interpretation_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "primitive_Prims.op_GreaterThan", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.Ghost.tot_to_gtot", "token_correspondence_Prims.__proj__Cons__item__tl", "typing_FStar.Ghost.elift1_p", "typing_FStar.Monotonic.HyperHeap.reveal", "typing_FStar.Monotonic.HyperHeap.rid_length", - "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f" + "typing_Tm_abs_9462dbdb991d49b8eb29778d00b08fad" ], 0, - "f49723f795d8d70e54e9b9fbe9b1fd26" + "f1f6b422a9a93db0f7237545ce086548" ], [ "FStar.Monotonic.HyperHeap.lemma_aux", @@ -142,7 +138,7 @@ 1, [ "@query" ], 0, - "ede09ed59ba6eb40c41c170ff9df047d" + "c5b8b9bc8c0d91702d1ffc70acb4d84f" ], [ "FStar.Monotonic.HyperHeap.lemma_aux", @@ -156,15 +152,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_62d3ccfa726a49b6e2fa347fafd9342b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_ffcaf06da4d9866905ba5dd456bff0cc", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", + "b2t_def", "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", "binder_x_c1c1de8ea7481018f23ab7c648051e51_1", "bool_inversion", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equality_tok_Prims.LexTop@tok", + "equality_tok_Prims.LexTop@tok", "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Monotonic.HyperHeap.rid_length", @@ -173,32 +168,32 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.__proj__Cons__item__tl", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", + "interpretation_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_085b55aa6b726cf07dbab52057ffb51c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_64c6f03e73ad4c0833e907aa89c91055", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "token_correspondence_FStar.Ghost.tot_to_gtot", "token_correspondence_Prims.__proj__Cons__item__tl", "typing_FStar.Ghost.elift1_p", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.reveal", "typing_FStar.Monotonic.HyperHeap.rid_length", "typing_FStar.Monotonic.HyperHeap.rid_tail", - "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", + "typing_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "well-founded-ordering-on-nat" ], 0, - "26860197316683eefb31cd905fd0712e" + "8f0619492bbd1551b459f4c5fbd950c1" ], [ "FStar.Monotonic.HyperHeap.lemma_disjoint_includes", @@ -212,16 +207,15 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_62d3ccfa726a49b6e2fa347fafd9342b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_ffcaf06da4d9866905ba5dd456bff0cc", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", + "b2t_def", "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", "binder_x_c1c1de8ea7481018f23ab7c648051e51_1", "binder_x_c1c1de8ea7481018f23ab7c648051e51_2", "bool_inversion", "bool_typing", "disc_equation_Prims.Cons", - "equality_tok_Prims.LexTop@tok", + "equality_tok_Prims.LexTop@tok", "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.Monotonic.HyperHeap.disjoint", "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid", @@ -231,10 +225,9 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.__proj__Cons__item__tl", "function_token_typing_Prims.int", - "interpretation_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", + "interpretation_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -244,22 +237,24 @@ "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "token_correspondence_FStar.Ghost.tot_to_gtot", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_Prims.__proj__Cons__item__tl", "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.reveal", + "typing_FStar.List.Tot.Base.length", "typing_FStar.Monotonic.HyperHeap.disjoint", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.reveal", "typing_FStar.Monotonic.HyperHeap.rid_length", - "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", "unit_inversion", + "typing_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "d97d2259a0da980c1c1324556b6f0b30" + "61068dfc9511ed67dfd739f6937f7a6b" ], [ "FStar.Monotonic.HyperHeap.extends", @@ -270,24 +265,22 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid_length", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Monotonic.HyperHeap.reveal" ], 0, - "81fa6ec55e9c5f2e161265ff0ad91bd3" + "4322854a844d45c5dbea27001f7ea257" ], [ "FStar.Monotonic.HyperHeap.parent", @@ -298,27 +291,26 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "equation_FStar.Monotonic.HyperHeap.reveal", + "@query", "data_elim_Prims.Cons", + "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Monotonic.HyperHeap.rid_length", "equation_FStar.Monotonic.HyperHeap.root", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Monotonic.HyperHeap.reveal" ], 0, - "b361b8c708ee5f50f419a1367d121fd2" + "debb79bd84d6d46d047255ca2ba88974" ], [ "FStar.Monotonic.HyperHeap.lemma_includes_refl", @@ -333,7 +325,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "a47bac542911b34e6513f6d9ebd5ba83" + "00779e0237cba19b352ff0074b8b43c5" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_includes", @@ -347,12 +339,12 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_62d3ccfa726a49b6e2fa347fafd9342b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "disc_equation_Prims.Cons", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_ffcaf06da4d9866905ba5dd456bff0cc", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", + "b2t_def", "bool_inversion", "disc_equation_Prims.Cons", + "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.Monotonic.HyperHeap.extends", "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid", @@ -361,10 +353,9 @@ "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.__proj__Cons__item__tl", "function_token_typing_Prims.int", - "interpretation_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", + "interpretation_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", @@ -378,16 +369,17 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.Ghost.tot_to_gtot", "token_correspondence_Prims.__proj__Cons__item__tl", "typing_FStar.Ghost.elift1_p", "typing_FStar.Monotonic.HyperHeap.extends", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.reveal", "typing_Prims.uu___is_Cons", - "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f" + "typing_Tm_abs_9462dbdb991d49b8eb29778d00b08fad" ], 0, - "c89ecd183d6f89067c0ddc6584988185" + "69ee677a498e1fe07c38fbea1bdc8143" ], [ "FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", @@ -405,7 +397,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "4e3870787174aee40b77aad8d0622e89" + "403ba9292de347f5556c6d60e1657739" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_disjoint", @@ -458,7 +450,7 @@ "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f" ], 0, - "88bf4d98600a3b9de8e2ec1ab10735e8" + "fc504ce79e4552724e3b047763581273" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_parent", @@ -478,12 +470,12 @@ "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", "typing_FStar.Monotonic.HyperHeap.reveal" ], 0, - "fc449fe5f38c56c8dca5261e097a1444" + "253d5fa2d996e8ca99d1566e95cd1599" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_not_root", @@ -495,17 +487,16 @@ "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "equation_FStar.Monotonic.HyperHeap.extends", "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Monotonic.HyperHeap.root", "equation_Prims.eqtype", "function_token_typing_Prims.int", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3" + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a" ], 0, - "6f0dae88e7f6a544b04ea34918606934" + "8fe9079e1881bd08beea104470db73b9" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_only_parent", @@ -517,7 +508,7 @@ "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root" ], 0, - "3fab0687a6b1ad93b3fe112aca6c1992" + "698bd2e352064edb2a433687a5951b25" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_only_parent", @@ -531,10 +522,10 @@ "equation_FStar.Monotonic.HyperHeap.rid", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3" + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a" ], 0, - "482f4538a3140256f3e3ccf10d65b570" + "05cd5c4a8ad3b4f83dbae2f913133b70" ], [ "FStar.Monotonic.HyperHeap.test0", @@ -548,14 +539,15 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_62d3ccfa726a49b6e2fa347fafd9342b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_ffcaf06da4d9866905ba5dd456bff0cc", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", "b2t_def", "constructor_distinct_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", + "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Monotonic.HyperHeap.rid_length", @@ -565,7 +557,7 @@ "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "function_token_typing_Prims.__proj__Cons__item__tl", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", + "interpretation_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", @@ -577,21 +569,22 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_085b55aa6b726cf07dbab52057ffb51c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_64c6f03e73ad4c0833e907aa89c91055", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "token_correspondence_FStar.Ghost.tot_to_gtot", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_Prims.__proj__Cons__item__tl", "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.hide", "typing_FStar.Monotonic.HyperHeap.rid_tail", - "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f" + "typing_Tm_abs_9462dbdb991d49b8eb29778d00b08fad" ], 0, - "06747a1cc9e7ee5fdacb485538ebfe2e" + "e7a2e2ccb5613ed7dd141e9faaa41977" ], [ "FStar.Monotonic.HyperHeap.test1", @@ -605,23 +598,24 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_62d3ccfa726a49b6e2fa347fafd9342b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_ffcaf06da4d9866905ba5dd456bff0cc", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", + "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Monotonic.HyperHeap.rid_length", "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "function_token_typing_Prims.__proj__Cons__item__tl", "function_token_typing_Prims.int", "int_typing", - "interpretation_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", + "interpretation_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Addition", @@ -633,22 +627,19 @@ "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_549d1c23a29d75a2cb2ad5f91944b50c", - "refinement_interpretation_Tm_refine_64c6f03e73ad4c0833e907aa89c91055", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_98457d473ebc71df94318517ef9948a8", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "token_correspondence_FStar.Ghost.tot_to_gtot", "token_correspondence_Prims.__proj__Cons__item__tl", "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.hide", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid_length", - "typing_FStar.Monotonic.HyperHeap.rid_tail", - "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f" + "typing_Tm_abs_9462dbdb991d49b8eb29778d00b08fad" ], 0, - "0080615cb9acf94590747a7e90a28847" + "65d5284cba2fdd0a20c8e92adc99dc4a" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_just_trans", @@ -680,7 +671,7 @@ "typing_FStar.Set.union" ], 0, - "552faa1ec39de49b118934022e74f123" + "bd1fc2d04282b57cb444f932147ee56d" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_trans", @@ -711,7 +702,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.mem" ], 0, - "04c3780fa99334efd0e8e3e5097a40d7" + "0323878f12c89b80aaf5bc49e4d7babb" ], [ "FStar.Monotonic.HyperHeap.lemma_includes_trans", @@ -724,15 +715,15 @@ "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_62d3ccfa726a49b6e2fa347fafd9342b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_ffcaf06da4d9866905ba5dd456bff0cc", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", + "b2t_def", "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", "binder_x_c1c1de8ea7481018f23ab7c648051e51_1", "binder_x_c1c1de8ea7481018f23ab7c648051e51_2", "bool_inversion", "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", + "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Monotonic.HyperHeap.rid_length", @@ -741,33 +732,33 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.__proj__Cons__item__tl", "function_token_typing_Prims.int", - "interpretation_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", + "interpretation_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_085b55aa6b726cf07dbab52057ffb51c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_64c6f03e73ad4c0833e907aa89c91055", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "subterm_ordering_Prims.Cons", + "token_correspondence_FStar.Ghost.tot_to_gtot", "token_correspondence_Prims.__proj__Cons__item__tl", "typing_FStar.Ghost.elift1_p", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.rid_length", "typing_FStar.Monotonic.HyperHeap.rid_tail", - "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f" + "typing_Tm_abs_9462dbdb991d49b8eb29778d00b08fad" ], 0, - "c3e466e64d055b26dfa2af1a5afca772" + "45b1ddf74e2aaac70abc78a3f5f69167" ], [ "FStar.Monotonic.HyperHeap.lemma_modset", @@ -779,7 +770,7 @@ "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Set.subset" ], 0, - "07ad210c3f30524c14d26de9782ede9a" + "66f1260e7595378dbe5ae3974973d6bb" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_includes", @@ -791,7 +782,7 @@ "equation_FStar.Monotonic.HyperHeap.modifies" ], 0, - "a9b51869093eeb1f9193e49b3c43bf63" + "70d5d434d0cf44cb5e6a2b2b2c9d1cc8" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_includes2", @@ -803,7 +794,7 @@ "equation_FStar.Monotonic.HyperHeap.modifies" ], 0, - "8407167d0deacc580700f6a031197edd" + "ca5d094b9c4ebc19dc6fd1a650e81090" ], [ "FStar.Monotonic.HyperHeap.lemma_disjoint_parents", @@ -830,7 +821,7 @@ "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "3b40471a1b50d641b3af81c27fc48188" + "1f161f4dd72a4b3c5a726aa33b2b2505" ], [ "FStar.Monotonic.HyperHeap.lemma_include_cons", @@ -841,8 +832,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Prims.Nil", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid", @@ -851,8 +841,6 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "function_token_typing_FStar.Monotonic.HyperHeap.root", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Ghost.reveal_hide", @@ -860,12 +848,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.rid_length" ], 0, - "250dccd2063b6d1f7dac96f61d014c6c" + "7825e58005681334bc1de15689df2ed3" ], [ "FStar.Monotonic.HyperHeap.extends_parent", @@ -878,12 +866,12 @@ "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_62d3ccfa726a49b6e2fa347fafd9342b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "disc_equation_Prims.Cons", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_ffcaf06da4d9866905ba5dd456bff0cc", + "FStar.Monotonic.HyperHeap_interpretation_Tm_ghost_arrow_8371a92f4dd70bb5105f1d09d16e96d0", + "b2t_def", "bool_inversion", "disc_equation_Prims.Cons", + "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.Monotonic.HyperHeap.disjoint", "equation_FStar.Monotonic.HyperHeap.extends", "equation_FStar.Monotonic.HyperHeap.parent", @@ -891,26 +879,28 @@ "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Monotonic.HyperHeap.rid_length", "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_FStar.Monotonic.HyperHeap.root", "equation_Prims.eqtype", + "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.__proj__Cons__item__tl", "function_token_typing_Prims.int", - "interpretation_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", + "interpretation_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", + "partial_app_typing_ae604ea47abc274ec4fde44a082fbd08", + "partial_app_typing_bef88eb19fb64542e922eba9988d23f7", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_f85bc6aceacbc28057de7889f61aafd8", + "refinement_kinding_Tm_refine_f85bc6aceacbc28057de7889f61aafd8", + "token_correspondence_FStar.Ghost.tot_to_gtot", "token_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "token_correspondence_Prims.__proj__Cons__item__tl", "typing_FStar.Ghost.elift1_p", @@ -919,10 +909,10 @@ "typing_FStar.Monotonic.HyperHeap.parent", "typing_FStar.Monotonic.HyperHeap.reveal", "typing_Prims.uu___is_Cons", - "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f" + "typing_Tm_abs_9462dbdb991d49b8eb29778d00b08fad" ], 0, - "60937f2284f1dfd4d429e7462a5d42ac" + "97304edb07836580200ce9802c090ba0" ], [ "FStar.Monotonic.HyperHeap.includes_child", @@ -936,16 +926,15 @@ "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.parent", "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.root", "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", "token_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.parent" ], 0, - "586928c971433cb26157985d00881036" + "1fbc97f2f03fb8b43361d38a24dba85c" ], [ "FStar.Monotonic.HyperHeap.root_is_root", @@ -956,8 +945,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Prims.Nil", + "@query", "bool_inversion", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equation_FStar.Monotonic.HyperHeap.reveal", "equation_FStar.Monotonic.HyperHeap.rid", @@ -966,7 +954,6 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Ghost.reveal_hide", @@ -974,13 +961,13 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.rid_length", "typing_FStar.Monotonic.HyperHeap.root" ], 0, - "54ae30e726cb0e87301fa4a87fcf448c" + "6513a4507926f8ea96e6c9e0b12a1ff2" ], [ "FStar.Monotonic.HyperHeap.extend", @@ -989,7 +976,7 @@ 1, [ "@query" ], 0, - "87a9109cd51f01fb210ac1b7055d7901" + "067e4ed569a322f2b07fcc8ca166990a" ], [ "FStar.Monotonic.HyperHeap.extend", @@ -998,12 +985,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_62d3ccfa726a49b6e2fa347fafd9342b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_ffcaf06da4d9866905ba5dd456bff0cc", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", + "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.Monotonic.HyperHeap.color", "equation_FStar.Monotonic.HyperHeap.extends", "equation_FStar.Monotonic.HyperHeap.reveal", @@ -1013,7 +1001,7 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.__proj__Cons__item__tl", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", + "interpretation_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -1028,13 +1016,14 @@ "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_abcf1a508541e98698b145d83d9c8c9e", + "refinement_interpretation_Tm_refine_e1487372f05bad054955398cec0f0926", + "token_correspondence_FStar.Ghost.tot_to_gtot", "token_correspondence_Prims.__proj__Cons__item__tl", "typing_FStar.Ghost.elift1_p", - "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f" + "typing_Tm_abs_9462dbdb991d49b8eb29778d00b08fad" ], 0, - "ad227cde4cfa4f9d9aec4d43c6b7e3c7" + "e5a05c8888edae9258dbd3372024e45e" ], [ "FStar.Monotonic.HyperHeap.extend_monochrome", @@ -1043,7 +1032,7 @@ 1, [ "@query" ], 0, - "7a4ac2bdaae952d6d1181b86a0e0bf6a" + "0878d49b323f0d5b7eb111ec669cdb37" ], [ "FStar.Monotonic.HyperHeap.extend_monochrome", @@ -1052,13 +1041,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_1f7ed1b4281857ae0b46e0f94286bf85", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_62d3ccfa726a49b6e2fa347fafd9342b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_interpretation_Tm_arrow_f11dcdf6830861593acbcd94bb54db42", + "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", + "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_ffcaf06da4d9866905ba5dd456bff0cc", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", + "disc_equation_Prims.Nil", "equation_FStar.Ghost.tot_to_gtot", "equation_FStar.Monotonic.HyperHeap.color", "equation_FStar.Monotonic.HyperHeap.extends", "equation_FStar.Monotonic.HyperHeap.reveal", @@ -1069,7 +1058,7 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.__proj__Cons__item__tl", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f", + "interpretation_Tm_abs_9462dbdb991d49b8eb29778d00b08fad", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", @@ -1080,19 +1069,20 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8b076baec9fa7036cc6e18b1b4963bab", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", + "refinement_interpretation_Tm_refine_c067fda57a570ab625d47c674c7c9369", + "token_correspondence_FStar.Ghost.tot_to_gtot", "token_correspondence_Prims.__proj__Cons__item__tl", "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.reveal", - "typing_Tm_abs_832e8f0f89e2b19d6d4f91c84e73067f" + "typing_Tm_abs_9462dbdb991d49b8eb29778d00b08fad" ], 0, - "934f6183482c5d4199bf8b1513a62ff2" + "22ed168224f6fb80b96df7af15bd455a" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Monotonic.HyperHeap.fsti.hints b/ulib/FStar.Monotonic.HyperHeap.fsti.hints index 40df2e98ef0..402e165b4c0 100644 --- a/ulib/FStar.Monotonic.HyperHeap.fsti.hints +++ b/ulib/FStar.Monotonic.HyperHeap.fsti.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "typing_FStar.Monotonic.HyperHeap.root" ], 0, - "cde14452fdf09b37ebcc1b6c71bd3a77" + "6514f0e08e200aa966be9da51a9d193e" ], [ "FStar.Monotonic.HyperHeap.lemma_extends_only_parent", @@ -22,7 +22,7 @@ 1, [ "@query", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root" ], 0, - "6eef6ad47fd6335df098eebfe5bbb495" + "246d96f009e785d99966ffe94cf3d496" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_just_trans", @@ -53,7 +53,7 @@ "typing_FStar.Set.union" ], 0, - "f9e0a2f27fa10108261d19a470861753" + "593cbeb08151b08058e7039aeaeedbbb" ], [ "FStar.Monotonic.HyperHeap.lemma_modifies_trans", @@ -87,7 +87,7 @@ "typing_FStar.Set.union" ], 0, - "c71fbd165103a766464461cd3b1037f6" + "7182b389bf1b5adb7d4873be9712d008" ], [ "FStar.Monotonic.HyperHeap.extend", @@ -96,7 +96,7 @@ 1, [ "@query" ], 0, - "3364b687901e30348ff17c1c925d233a" + "6bd25963dd7a558b52e734351422c58b" ], [ "FStar.Monotonic.HyperHeap.extend_monochrome", @@ -105,7 +105,7 @@ 1, [ "@query" ], 0, - "c4241bff4e02f33ee2ee1ebc408c4474" + "6aa26c6b8d20b3f16f50008ad347fc17" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Monotonic.HyperStack.fst.hints b/ulib/FStar.Monotonic.HyperStack.fst.hints index 9d0ffb4d26e..cf86bc69b6e 100644 --- a/ulib/FStar.Monotonic.HyperStack.fst.hints +++ b/ulib/FStar.Monotonic.HyperStack.fst.hints @@ -9,20 +9,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "a90aa229dd062b16d507d1fb9c1734ac" + "605486fc240648b917e5bcf7fd1a52c1" ], [ "FStar.Monotonic.HyperStack.lemma_mk_mem'_projectors", @@ -43,7 +41,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.HS_tip" ], 0, - "0a8e8983093487139337319cb6bba6a0" + "a366bd941e92c6dae69e291c26fa530d" ], [ "FStar.Monotonic.HyperStack.lemma_mem_projectors_are_in_wf_relation", @@ -56,7 +54,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "be959d25f382a39129f672a49da23ecf" + "93fbff343e7440591f12d9436d0c1522" ], [ "FStar.Monotonic.HyperStack.lemma_is_wf_ctr_and_tip_intro", @@ -65,26 +63,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.downward_closed", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.map_invariant", "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Monotonic.HyperStack.tip_top", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.Monotonic.HyperHeap.root", - "int_inversion", "l_quant_interp_0512215fa2720a0215372c830c13815c", - "l_quant_interp_4068289bed71f140dae9cede5078c847", - "l_quant_interp_75e5894b2cdee03c63bdbdc60c1a9eb1", - "l_quant_interp_f76e063ebd1825f19bcfa4f3985d5f16", - "lemma_FStar.Map.lemma_ContainsDom", "typing_FStar.Map.contains" + "equation_FStar.Monotonic.HyperStack.tip_top", "int_inversion", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", + "l_quant_interp_6df56d9e1c66b7db3beb223b0fd60ae5", + "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11" ], 0, - "ae72e33b5664fcf43d8915376ee29487" + "9906d932b7230ec9f5e78d92928e6112" ], [ "FStar.Monotonic.HyperStack.lemma_is_wf_ctr_and_tip_elim", @@ -102,16 +93,15 @@ "equation_FStar.Monotonic.HyperStack.map_invariant", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", - "equation_FStar.Monotonic.HyperStack.sid", "equation_FStar.Monotonic.HyperStack.tip_top", - "l_quant_interp_0512215fa2720a0215372c830c13815c", - "l_quant_interp_4068289bed71f140dae9cede5078c847", - "l_quant_interp_75e5894b2cdee03c63bdbdc60c1a9eb1", - "l_quant_interp_f76e063ebd1825f19bcfa4f3985d5f16", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", + "l_quant_interp_6df56d9e1c66b7db3beb223b0fd60ae5", + "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "024589c2db1ee4b8b1e19898b853f51a" + "484425924f07d59585ac0b8598a155ac" ], [ "FStar.Monotonic.HyperStack.lemma_map_invariant", @@ -126,16 +116,16 @@ "equation_FStar.Monotonic.HyperStack.map_invariant", "equation_FStar.Monotonic.HyperStack.mem", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "l_quant_interp_75e5894b2cdee03c63bdbdc60c1a9eb1", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", "lemma_FStar.Map.lemma_ContainsDom", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.includes", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "a3d11cd83192b21c51ff2618670a7f63" + "e798256d8c06f819deae7df29ff8358a" ], [ "FStar.Monotonic.HyperStack.lemma_downward_closed", @@ -143,8 +133,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.downward_closed", "equation_FStar.Monotonic.HyperStack.get_hmap", @@ -154,22 +143,22 @@ "equation_FStar.Monotonic.HyperStack.map_invariant", "equation_FStar.Monotonic.HyperStack.mem", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "l_quant_interp_0512215fa2720a0215372c830c13815c", - "l_quant_interp_75e5894b2cdee03c63bdbdc60c1a9eb1", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.includes", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "370d1d0fc47ea162ab850818ed8f49cf" + "d6e01a6399a69da1c574390e5cc28dee" ], [ "FStar.Monotonic.HyperStack.lemma_tip_top", @@ -186,14 +175,14 @@ "equation_FStar.Monotonic.HyperStack.sid", "equation_FStar.Monotonic.HyperStack.tip_top", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "l_quant_interp_4068289bed71f140dae9cede5078c847", + "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip" ], 0, - "354ab3e58436c0471f175868b0837d38" + "5cd8401dcae74e1cead909efea497f3c" ], [ "FStar.Monotonic.HyperStack.lemma_tip_top_smt", @@ -210,14 +199,14 @@ "equation_FStar.Monotonic.HyperStack.sid", "equation_FStar.Monotonic.HyperStack.tip_top", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "l_quant_interp_4068289bed71f140dae9cede5078c847", + "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip" ], 0, - "30f081f31f2d79d3629264e011e6a444" + "27b2e2882564cfcd8952a6ddcb2c1666" ], [ "FStar.Monotonic.HyperStack.lemma_rid_ctr_pred", @@ -233,14 +222,14 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "l_quant_interp_f76e063ebd1825f19bcfa4f3985d5f16", + "l_quant_interp_6df56d9e1c66b7db3beb223b0fd60ae5", "lemma_FStar.Map.lemma_ContainsDom", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "e00bc010fc8e43bcce5dda6fd88e4988" + "2cf59a756c5fc90476a78f5079c9bbc2" ], [ "FStar.Monotonic.HyperStack.empty_mem", @@ -262,7 +251,7 @@ "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Map.contains", "typing_FStar.Map.restrict", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.includes", @@ -270,7 +259,7 @@ "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Set.empty" ], 0, - "07dd997cc78152845a3295573f11f4ba" + "8db27c0dd2b8238299a3ef958a37998a" ], [ "FStar.Monotonic.HyperStack.eternal_region_does_not_overlap_with_tip", @@ -278,8 +267,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.disjoint", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.downward_closed", @@ -290,24 +278,23 @@ "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "int_inversion", "l_quant_interp_0512215fa2720a0215372c830c13815c", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_c84159998181a10a443b9f8057432654", + "refinement_interpretation_Tm_refine_33fcb6cb5637d13ab548fb30fa3218af", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.disjoint", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_stack_region" ], 0, - "1ebb62d3a38123c5c04c1641657364f7" + "104bf38a0fbba5e0f3b958fe0c30c03f" ], [ "FStar.Monotonic.HyperStack.popped", @@ -316,7 +303,7 @@ 1, [ "@query", "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "b90c68fe97fcedd0c4c7a7e4b271446f" + "026cefa8f923897075e8e77025ca9396" ], [ "FStar.Monotonic.HyperStack.pop", @@ -328,8 +315,6 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.downward_closed", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", "equation_FStar.Monotonic.HyperStack.is_stack_region", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -337,13 +322,15 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.remove_elt", + "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", "equation_FStar.Monotonic.HyperStack.sid", "equation_FStar.Monotonic.HyperStack.tip_top", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "l_quant_interp_0512215fa2720a0215372c830c13815c", - "l_quant_interp_4068289bed71f140dae9cede5078c847", - "l_quant_interp_75e5894b2cdee03c63bdbdc60c1a9eb1", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", + "l_quant_interp_6df56d9e1c66b7db3beb223b0fd60ae5", + "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Monotonic.HyperHeap.includes_child", @@ -359,8 +346,8 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", - "refinement_interpretation_Tm_refine_7ea9f37bf9c70666fe884ce8fc3bf12b", + "refinement_interpretation_Tm_refine_4a9f5a632ccb67c4adcfd65a1dab0c7c", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.includes", @@ -370,11 +357,10 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_stack_region", "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton" + "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "aa15f150d14225d1a82373c6cdf00f8f" + "cffe4954e654239f540e7aa6f46e1643" ], [ "FStar.Monotonic.HyperStack.lemma_as_ref_inj", @@ -392,7 +378,7 @@ "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref" ], 0, - "982a08649cd9f4c17b394baeb729c1f9" + "c55d9b4f37f7e22de0be5fdf133e2865" ], [ "FStar.Monotonic.HyperStack.upd", @@ -402,12 +388,19 @@ [ "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.downward_closed", "equation_FStar.Monotonic.HyperStack.frameOf", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.map_invariant", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", "equation_FStar.Monotonic.HyperStack.sid", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "function_token_typing_FStar.Monotonic.Heap.heap", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", + "l_quant_interp_6df56d9e1c66b7db3beb223b0fd60ae5", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", @@ -419,7 +412,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "refinement_interpretation_Tm_refine_d58d7e3b4b6ce757231e9089061120a0", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.upd", @@ -432,7 +425,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "2155a51c2d4472e8279da117ea43a6b3" + "8e1f8c77f7186f05d2b93e2223bd190e" ], [ "FStar.Monotonic.HyperStack.alloc", @@ -443,13 +436,20 @@ "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_ref", + "equation_FStar.Monotonic.HyperStack.downward_closed", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.map_invariant", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mk_mreference", + "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", "equation_FStar.Monotonic.HyperStack.sid", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "function_token_typing_FStar.Monotonic.Heap.heap", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", + "l_quant_interp_6df56d9e1c66b7db3beb223b0fd60ae5", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", @@ -467,8 +467,8 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", - "refinement_interpretation_Tm_refine_61621de8877d69ae222f56f9a4e95f75", + "refinement_interpretation_Tm_refine_ad20a5ca24eede13005e3284b6c2d373", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.upd", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.rid", @@ -476,7 +476,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "5e3013f457bae9a1108397edfc0b7b89" + "c70dad30669806d47d8a67a4a78dc9fe" ], [ "FStar.Monotonic.HyperStack.free", @@ -484,17 +484,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.downward_closed", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.is_mm", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.map_invariant", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", "equation_FStar.Monotonic.HyperStack.sid", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "function_token_typing_FStar.Monotonic.Heap.heap", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", + "l_quant_interp_6df56d9e1c66b7db3beb223b0fd60ae5", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", @@ -506,10 +512,10 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_2883b27aea4c839f60007bb473c2a007", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_2d11d4ede243934a578949d9aa1c906a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a1d6a1995203a7c908a0a34debc39148", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", @@ -523,7 +529,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "d65257c16d2a340c5aae420c0fdd7894" + "8320b7f32fe89cc9bc391539a24aa54d" ], [ "FStar.Monotonic.HyperStack.upd_tot", @@ -531,16 +537,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.downward_closed", "equation_FStar.Monotonic.HyperStack.frameOf", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.map_invariant", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", "equation_FStar.Monotonic.HyperStack.sid", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "function_token_typing_FStar.Monotonic.Heap.heap", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", + "l_quant_interp_6df56d9e1c66b7db3beb223b0fd60ae5", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", @@ -552,9 +564,9 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5d00a4127ac201676a11d583e3d5a66f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", @@ -568,7 +580,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "1be326b9e983120677b70d90ea6627a1" + "75c68ec43cf954413817b9eb209bc531" ], [ "FStar.Monotonic.HyperStack.sel_tot", @@ -583,8 +595,8 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5d00a4127ac201676a11d583e3d5a66f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", @@ -593,7 +605,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "dcda1254f6365f86060830af23250390" + "401ec12b653362846770f91977b94395" ], [ "FStar.Monotonic.HyperStack.fresh_frame", @@ -608,7 +620,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "3e4f1a842c8e1e0a219fbc7e95890fb6" + "2ca0d9540874e48ed7585a81606746a2" ], [ "FStar.Monotonic.HyperStack.hs_push_frame", @@ -621,9 +633,13 @@ "@query", "bool_inversion", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.downward_closed", "equation_FStar.Monotonic.HyperStack.fresh_frame", "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.map_invariant", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", "equation_FStar.Monotonic.HyperStack.rid_last_component", "equation_FStar.Monotonic.HyperStack.sid", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", @@ -633,6 +649,9 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.int", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", + "l_quant_interp_6df56d9e1c66b7db3beb223b0fd60ae5", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Monotonic.HyperHeap.includes_child", @@ -655,11 +674,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", @@ -671,7 +690,7 @@ "typing_FStar.Monotonic.HyperStack.is_stack_region" ], 0, - "318ee3efaf078f95dc6306b08d7e20e6" + "a6f3023a3f057421168d884257e0b88d" ], [ "FStar.Monotonic.HyperStack.new_eternal_region", @@ -685,7 +704,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "52caa303d98c9134ea2a723870de17b0" + "e46c46284a44142c342afcbd2ea9b7a5" ], [ "FStar.Monotonic.HyperStack.new_eternal_region", @@ -699,10 +718,14 @@ "@query", "bool_inversion", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.downward_closed", "equation_FStar.Monotonic.HyperStack.fresh_region", "equation_FStar.Monotonic.HyperStack.is_eternal_color", "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.map_invariant", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", "equation_FStar.Monotonic.HyperStack.rid_last_component", "equation_FStar.Monotonic.HyperStack.sid", "equation_FStar.Pervasives.Native.fst", @@ -714,6 +737,9 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.int", "int_inversion", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", + "l_quant_interp_6df56d9e1c66b7db3beb223b0fd60ae5", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_UpdDomain", @@ -741,15 +767,15 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", - "refinement_interpretation_Tm_refine_218aa0760d724755bcb5a3338f0a2257", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ad0a684250e91fe3364fc0809b3a03bd", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9e9ba0e4c66ef7120ae0b4a1a4d3a1e", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b6baf2b49458ddd8d8855ff8d6d4176", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", + "refinement_interpretation_Tm_refine_c43700d79905e4bcab3e4d7b854c69e3", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", + "refinement_interpretation_Tm_refine_d471e7834ed7bf61867716ea66fe4a92", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", @@ -763,7 +789,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "3079af75d9e1602b032f7147a32b7068" + "36cc510ae0f94f26cb1782457e383335" ], [ "FStar.Monotonic.HyperStack.lemma_extends_fresh_disjoint", @@ -776,19 +802,19 @@ "equation_FStar.Monotonic.HyperStack.fresh_region", "equation_FStar.Monotonic.HyperStack.get_hmap", "equation_FStar.Monotonic.HyperStack.map_invariant", - "l_quant_interp_75e5894b2cdee03c63bdbdc60c1a9eb1", + "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", "lemma_FStar.Monotonic.HyperHeap.includes_child", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "typing_FStar.Monotonic.HyperHeap.includes" ], 0, - "7d118ac1afc48134892fb55745f3075e" + "2d1528479f0a08bb980ce8e0b424dc59" ], [ "FStar.Monotonic.HyperStack.lemma_sel_same_addr", @@ -796,16 +822,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "75c8afdcf40e2407a92d1a04f001512b" + "0b8ef691b5939c27f0e037fc406052ad" ], [ "FStar.Monotonic.HyperStack.lemma_sel_same_addr", @@ -813,8 +836,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.as_ref", @@ -830,18 +852,17 @@ "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "d14248978f95224f208661793f4fd646" + "f886765e1aacdbbf5b8898d928a14100" ], [ "FStar.Monotonic.HyperStack.lemma_upd_same_addr", @@ -853,7 +874,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "b855f308f59ce2706dafe7b251c08161" + "6f0edff041eedb74a84dd47649150aed" ], [ "FStar.Monotonic.HyperStack.lemma_upd_same_addr", @@ -861,17 +882,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.as_ref", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", "equation_FStar.Monotonic.HyperStack.is_mm", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", @@ -879,14 +895,11 @@ "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "l_not-interp", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", + "function_token_typing_FStar.Monotonic.Heap.heap", "l_not-interp", + "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", @@ -895,12 +908,10 @@ "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "1c958b3355a4b9eaa21acdf2ce7a53dd" + "da01c543ab7402d3161471913290eb40" ], [ "FStar.Monotonic.HyperStack.mreference_distinct_sel_disjoint", @@ -908,8 +919,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", @@ -922,17 +932,16 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "1e241243079111807f45c540ecb6c768" + "002f0fabe01b225503ff4b4baa3b0e8e" ], [ "FStar.Monotonic.HyperStack.lemma_pop_is_popped", @@ -940,13 +949,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.get_hmap", "equation_FStar.Monotonic.HyperStack.get_rid_ctr", "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mk_mem", @@ -954,12 +961,8 @@ "equation_FStar.Monotonic.HyperStack.poppable", "equation_FStar.Monotonic.HyperStack.popped", "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Monotonic.HyperStack.tip_top", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "l_quant_interp_4068289bed71f140dae9cede5078c847", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomRestrict", "lemma_FStar.Map.lemma_equal_elim", @@ -970,26 +973,17 @@ "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Monotonic.HyperStack.HS_h", - "proj_equation_FStar.Monotonic.HyperStack.HS_tip", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_FStar.Monotonic.HyperStack.HS_tip", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", - "refinement_interpretation_Tm_refine_7ea9f37bf9c70666fe884ce8fc3bf12b", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_4a9f5a632ccb67c4adcfd65a1dab0c7c", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.parent", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", + "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -999,7 +993,7 @@ "typing_FStar.Set.singleton" ], 0, - "5d7cf6abbc57495ef2f3c5a6f1ca3bfe" + "bef0760866e79fa1a0dae33b195ce4a0" ], [ "FStar.Monotonic.HyperStack.modifies_drop_tip", @@ -1016,7 +1010,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "c170cf26c8fd44a3e68119b1c08fc410" + "9b910dffdc3195531645144226e64767" ], [ "FStar.Monotonic.HyperStack.modifies_drop_tip", @@ -1092,7 +1086,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "1faf1987b5a73532f96639fe57ebc92f" + "4c85d00d91c5aa4ee09015a56b6a286a" ], [ "FStar.Monotonic.HyperStack.modifies_ref", @@ -1102,11 +1096,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b63e8b5e8773a0a71e371ec4884ae07e" + "613a1626576acbd746d7f95e6cdb1b98" ], [ "FStar.Monotonic.HyperStack.__proj__Ref__item__rel", @@ -1120,7 +1114,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "bf62db29d00cdf756a99497c54bf6936" + "e8b9e737f8e50f0f83e122fffe90436e" ], [ "FStar.Monotonic.HyperStack.__proj__Ref__item___2", @@ -1134,7 +1128,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.Ref_rel" ], 0, - "df8e3eb4c7a0cbeda95801637591df11" + "350819902dbf1fb4da6c63dc3ab4f622" ], [ "FStar.Monotonic.HyperStack.regions_of_some_refs", @@ -1143,13 +1137,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a8a6e39b9588bbc180f6f0974fbfacb3_0", + "binder_x_b62a8fb69f8641fe73541edf427ac159_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Monotonic.HyperStack.some_refs", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f4d9986036bf0f7f12e8b5b13bf2bd54" + "f93227ec562ef07e1f2c09632bc5fbce" ], [ "FStar.Monotonic.HyperStack.refs_in_region", @@ -1159,11 +1153,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "951018ca56237d13024252e8e0a02893" + "2585c94a4b4150f01718b3817cf5ebf4" ], [ "FStar.Monotonic.HyperStack.refs_in_region", @@ -1172,24 +1166,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a8a6e39b9588bbc180f6f0974fbfacb3_1", + "binder_x_b62a8fb69f8641fe73541edf427ac159_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.some_refs", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "subterm_ordering_Prims.Cons" ], 0, - "ebb8a4eec790c4339f773f8109d94c2a" + "6d5cf2e4aa9fd951c292628af8e52074" ], [ "FStar.Monotonic.HyperStack.modifies_some_refs", @@ -1198,13 +1190,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a8a6e39b9588bbc180f6f0974fbfacb3_0", + "binder_x_b62a8fb69f8641fe73541edf427ac159_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Monotonic.HyperStack.some_refs", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "628438b0dbca25d9d58fec61ee997d16" + "5f4daefb4ed20bc9f8a83a3ca3f59a7a" ], [ "FStar.Monotonic.HyperStack.eternal_disjoint_from_tip", @@ -1212,8 +1204,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.disjoint", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.downward_closed", @@ -1226,10 +1217,9 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sid", "equation_FStar.Monotonic.HyperStack.tip_top", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "int_inversion", "l_quant_interp_0512215fa2720a0215372c830c13815c", - "l_quant_interp_4068289bed71f140dae9cede5078c847", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "l_quant_interp_52e1a1f999c23b0fe81e5c129e8cf1d2", + "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", @@ -1237,20 +1227,20 @@ "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_36ef4764a70ec183bea378f4f65e32c8", - "refinement_interpretation_Tm_refine_3f82fbe0e679b52ad02d7db28e66f0fb", + "refinement_interpretation_Tm_refine_0e347d9dc34c458075b7fb337c0a53af", + "refinement_interpretation_Tm_refine_228f04a39a418f0ce243655814098ffa", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.color", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_eternal_color", - "typing_FStar.Monotonic.HyperStack.is_stack_region" + "typing_FStar.Monotonic.HyperStack.is_eternal_color" ], 0, - "b889dac7bacb0f2b1cf26749e0f33641" + "3a70ed813d45ea627610f6022f701484" ], [ "FStar.Monotonic.HyperStack.above_tip_is_live", @@ -1272,7 +1262,7 @@ "typing_FStar.Monotonic.HyperStack.frameOf" ], 0, - "1bb828096622b55a2c761e384f2fb3ac" + "06f6a6ac5f88df039884f4ee40c24f39" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_cancel_same_mref_upd", @@ -1280,9 +1270,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.get_hmap", "equation_FStar.Monotonic.HyperStack.get_rid_ctr", @@ -1295,15 +1284,11 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_InDomUpd1", "primitive_Prims.op_BarBar", "proj_equation_FStar.Monotonic.HyperStack.HS_h", "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", @@ -1312,7 +1297,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "9474620c4e66670a6eeaa0152340999f" + "c2153fe1d63b32b26b5d79084db5e787" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_cancel_same_mref_upd", @@ -1362,7 +1347,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "1b38fbf8dbded2abe724c2c7c351f363" + "b243da0a56b29e8c7a632a8b085959a2" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_upd_with_sel", @@ -1375,10 +1360,10 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_Prims.squash", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "dc37ce4d76ecd19cfbe8ae45b4ae40bf" + "4d0ecab79abd3925729b36d99c0be431" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_upd_with_sel", @@ -1386,9 +1371,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_ref", "equation_FStar.Monotonic.HyperStack.contains", @@ -1405,7 +1388,6 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", @@ -1418,11 +1400,8 @@ "proj_equation_FStar.Monotonic.HyperStack.HS_tip", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.upd", @@ -1437,7 +1416,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "99ee9bda0fdb8f1ef444d826dbabb3de" + "463a91311cf11ca515a1f0f40f675b20" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_commute_distinct_upds", @@ -1445,9 +1424,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_ref", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.get_hmap", @@ -1461,17 +1439,12 @@ "equation_Prims.squash", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "lemma_FStar.Map.lemma_InDomUpd1", - "primitive_Prims.op_BarBar", + "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", + "lemma_FStar.Map.lemma_InDomUpd1", "primitive_Prims.op_BarBar", "proj_equation_FStar.Monotonic.HyperStack.HS_h", "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", @@ -1480,7 +1453,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "bee5d67b7e7f4b6f7c37961aa03277a2" + "b9256eea7ad3607100f144d9b74bcee0" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_commute_distinct_upds", @@ -1533,7 +1506,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "59070ae601043c26313413b91127defc" + "d5cb1e50acfc7073df2b3b0b4db6d262" ], [ "FStar.Monotonic.HyperStack.lemma_next_addr_contained_refs_addr", @@ -1541,8 +1514,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", @@ -1550,17 +1522,16 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "03d5bed4cd96c620e1819b0b40163a79" + "8a5374e3b2cb1e0fbe9469507c0cb1b8" ], [ "FStar.Monotonic.HyperStack.lemma_upd_1", @@ -1568,12 +1539,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", "equation_FStar.Monotonic.HyperHeap.modifies_one", "equation_FStar.Monotonic.HyperStack.as_addr", @@ -1596,9 +1563,8 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1618,13 +1584,10 @@ "proj_equation_FStar.Monotonic.HyperStack.HS_h", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", "refinement_interpretation_Tm_refine_aa3b9d0ba0ea17963b18e678ddb67051", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", @@ -1639,11 +1602,10 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.complement", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "f5c16426fef23fb44c9afe7414bb97af" + "d57defb92837ed43fb3310be0ea05f4f" ], [ "FStar.Monotonic.HyperStack.lemma_upd_2", @@ -1651,12 +1613,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.Heap.modifies", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperHeap.modifies_just", @@ -1682,9 +1640,8 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1707,18 +1664,15 @@ "proj_equation_FStar.Monotonic.HyperStack.HS_h", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", "refinement_interpretation_Tm_refine_aa3b9d0ba0ea17963b18e678ddb67051", - "refinement_interpretation_Tm_refine_d58d7e3b4b6ce757231e9089061120a0", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.unused_in", + "typing_FStar.Map.sel", "typing_FStar.Map.upd", + "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", @@ -1726,14 +1680,12 @@ "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.upd", "typing_FStar.Set.complement", "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "4cb2160537f0b168e692612d1f6107ce" + "955be78fd2880acf622b67010e9d9656" ], [ "FStar.Monotonic.HyperStack.lemma_live_1", @@ -1741,8 +1693,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.live_region", @@ -1757,19 +1708,18 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_c1ce0a101c52a81fdb21483b174eb516", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_79e96092f318e5c464db1ef01646f6ea", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "a29e06a1ef9defa6f5c475fefcd9880c" + "e863c0231434bd3287bc4a322758f435" ], [ "FStar.Monotonic.HyperStack.aref_equal", @@ -1783,12 +1733,12 @@ "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", "typing_FStar.Monotonic.Heap.aref_equal", "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref" ], 0, - "5fb67729b4e1ef75e3509994e87957ad" + "bb13bd498dca23c458352659909cfce3" ], [ "FStar.Monotonic.HyperStack.frameOf_aref_of", @@ -1803,7 +1753,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_region" ], 0, - "2f57712fbc650d921162fa226d3df529" + "2a19f9241e4cebfd49d7bb1374ea10dc" ], [ "FStar.Monotonic.HyperStack.aref_as_addr", @@ -1812,7 +1762,7 @@ 1, [ "@query" ], 0, - "e75da69adf1f0530471475e3027b28fd" + "4e1074e3bfad302b69a788d02c1b229e" ], [ "FStar.Monotonic.HyperStack.aref_as_addr_aref_of", @@ -1828,7 +1778,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_aref" ], 0, - "d57b29b4c920da429f0ea0a3895f8841" + "ccd9b78836bf8a14989947a681ab6fc9" ], [ "FStar.Monotonic.HyperStack.is_mm_aref_of", @@ -1844,7 +1794,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_aref" ], 0, - "9820b6dde4d9fa10e35cdfa9a6bb1600" + "38ac89979eef02d51d6c761991921b78" ], [ "FStar.Monotonic.HyperStack.unused_in_aref_of", @@ -1852,8 +1802,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.aref_of", "equation_FStar.Monotonic.HyperStack.aref_unused_in", @@ -1874,7 +1823,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_aref", "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_region", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", @@ -1883,11 +1832,10 @@ "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.unused_in", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "b88948e4c82a4fa0bc511a903e28d3e5" + "229e5c62311dc0a9917060731616c3e3" ], [ "FStar.Monotonic.HyperStack.contains_aref_unused_in", @@ -1897,11 +1845,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ba58cad449729b6051fd57d402af68b4" + "a9bc92602530a667cccb883f802410c6" ], [ "FStar.Monotonic.HyperStack.contains_aref_unused_in", @@ -1909,8 +1857,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.aref_as_addr", "equation_FStar.Monotonic.HyperStack.aref_unused_in", @@ -1928,7 +1875,7 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", @@ -1938,7 +1885,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "73c78252168b966666c2618d496581fa" + "e5d465bda339285271925f93ddba40ab" ], [ "FStar.Monotonic.HyperStack.greference_of", @@ -1958,7 +1905,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" ], 0, - "382aaed06bf59f3b5fc50dbba724f530" + "8ddd72c937019415be619ef87c14a19d" ], [ "FStar.Monotonic.HyperStack.reference_of", @@ -1992,7 +1939,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" ], 0, - "6817477ed787131141ea7f68a780a781" + "c5f5596bf321cbb9147bc0753c100c05" ], [ "FStar.Monotonic.HyperStack.aref_live_at_aref_of", @@ -2000,8 +1947,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.aref_live_at", "equation_FStar.Monotonic.HyperStack.aref_of", @@ -2022,7 +1968,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_aref", "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_region", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", @@ -2035,7 +1981,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "fc07114c358e24d822c575f2b9917525" + "b2e4027bb2c68897d9bbf7cfe6d15349" ], [ "FStar.Monotonic.HyperStack.contains_greference_of", @@ -2043,9 +1989,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.aref_live_at", "equation_FStar.Monotonic.HyperStack.as_ref", "equation_FStar.Monotonic.HyperStack.contains", @@ -2067,20 +2012,21 @@ "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_f871b1cec1676516ecbdd8b1fdf16da7", + "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.gref_of", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref", "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_region", "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h", + "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.greference_of", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "c352e50623bc013cfffe0803db0f6be3" + "ff98ce89089b2b600dbfba554d71a897" ], [ "FStar.Monotonic.HyperStack.aref_of_greference_of", @@ -2114,7 +2060,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" ], 0, - "2638f80c2e2ec53c30ef10d971178f7e" + "a0f2fc96806e9f51f0c450f50ea02d17" ], [ "FStar.Monotonic.HyperStack.frameOf_greference_of", @@ -2134,7 +2080,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "a10f553cd527ea41008b78d894533ad3" + "e6d6fb12fb57b63a5d177bb31772ff2c" ], [ "FStar.Monotonic.HyperStack.as_addr_greference_of", @@ -2167,7 +2113,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "bde2fa10cf56ead5ee4aae49cf2edf13" + "00c8293ee070eb9d7b48f5a2e7c1ecd0" ], [ "FStar.Monotonic.HyperStack.is_mm_greference_of", @@ -2200,7 +2146,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "df1833e9cf569a9b89ce4e0720d3d1b1" + "c88848316e6152fcace14ec462353afa" ], [ "FStar.Monotonic.HyperStack.unused_in_greference_of", @@ -2208,9 +2154,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.aref_live_at", "equation_FStar.Monotonic.HyperStack.aref_unused_in", "equation_FStar.Monotonic.HyperStack.as_ref", @@ -2224,6 +2169,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.Monotonic.Heap.unused_in_gref_of", + "lemma_FStar.Monotonic.HyperStack.contains_greference_of", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", @@ -2233,21 +2179,22 @@ "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_f871b1cec1676516ecbdd8b1fdf16da7", + "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.gref_of", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref", "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_region", "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h", + "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.greference_of", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "e27ae1174618385233b2a648e472ce38" + "f8e69a937ebc513dfdab8014c6d6247f" ], [ "FStar.Monotonic.HyperStack.sel_reference_of", @@ -2256,7 +2203,7 @@ 1, [ "@query" ], 0, - "f606153a13e0bb4be332915ecf13b476" + "596d271c833b11d83254c12e0a75aac5" ], [ "FStar.Monotonic.HyperStack.sel_reference_of", @@ -2289,7 +2236,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" ], 0, - "aa37e1d730cf5a928e2286f6a5fbc605" + "ac06fa42d781f309ae5dface9a9e1039" ], [ "FStar.Monotonic.HyperStack.upd_reference_of", @@ -2310,7 +2257,7 @@ "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "33b90f391f73b6f0255f3eec1e886f22" + "8984089f75bd93d2d64471b09b52b58d" ], [ "FStar.Monotonic.HyperStack.upd_reference_of", @@ -2346,7 +2293,7 @@ "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" ], 0, - "23a38848deabf49f47ba8a4c3bec2392" + "d80bd16a7fed61fe25ad72beab6700ff" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Monotonic.HyperStack.fsti.hints b/ulib/FStar.Monotonic.HyperStack.fsti.hints index 74498b63d20..3a8a01b7b71 100644 --- a/ulib/FStar.Monotonic.HyperStack.fsti.hints +++ b/ulib/FStar.Monotonic.HyperStack.fsti.hints @@ -9,20 +9,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "69ca8348fbf281b9b4823a4f4ff86a57" + "bb8685b7b09b511691e31598b8e6b36a" ], [ "FStar.Monotonic.HyperStack.empty_mem", @@ -44,7 +42,7 @@ "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Map.contains", "typing_FStar.Map.restrict", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.includes", @@ -52,7 +50,7 @@ "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Set.empty" ], 0, - "40f518178c493578dac13ab967c5898b" + "db7d3b75c7a5a46eadcd705950220080" ], [ "FStar.Monotonic.HyperStack.eternal_region_does_not_overlap_with_tip", @@ -71,16 +69,16 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_c84159998181a10a443b9f8057432654", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_33fcb6cb5637d13ab548fb30fa3218af", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.is_stack_region" ], 0, - "0751d7ddb22f98bd94d8e66be09ba8b3" + "44ba26e43cd444f574a943f423fc2375" ], [ "FStar.Monotonic.HyperStack.popped", @@ -89,7 +87,7 @@ 1, [ "@query", "equation_FStar.Monotonic.HyperStack.poppable" ], 0, - "0ada049b6f14991891cd5a9674bda652" + "8dea4321f6e0b729668cd28805281ba7" ], [ "FStar.Monotonic.HyperStack.pop", @@ -123,9 +121,9 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", - "refinement_interpretation_Tm_refine_7ea9f37bf9c70666fe884ce8fc3bf12b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_4a9f5a632ccb67c4adcfd65a1dab0c7c", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", "typing_FStar.Monotonic.HyperHeap.includes", @@ -138,7 +136,7 @@ "typing_FStar.Set.complement", "typing_FStar.Set.singleton" ], 0, - "91399aae86f4da6da65fea5b1b5f315b" + "381369cc64132fbd27bbd363a08ce32d" ], [ "FStar.Monotonic.HyperStack.upd", @@ -161,7 +159,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "refinement_interpretation_Tm_refine_d58d7e3b4b6ce757231e9089061120a0", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.upd", @@ -173,7 +171,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "375499fcc5507b996b858bfc2a255d77" + "2ad68c7d9d45cf6e862c968d664f46f3" ], [ "FStar.Monotonic.HyperStack.alloc", @@ -190,7 +188,6 @@ "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperStack.mem", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Monotonic.HyperStack.lemma_as_ref_inj", @@ -206,8 +203,9 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", - "refinement_interpretation_Tm_refine_61621de8877d69ae222f56f9a4e95f75", + "refinement_interpretation_Tm_refine_ad20a5ca24eede13005e3284b6c2d373", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", + "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.contains", "typing_FStar.Map.upd", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", @@ -215,7 +213,7 @@ "typing_FStar.Pervasives.Native.fst" ], 0, - "0bf636c0e4bdf5035a1c3ac729c2e05b" + "8a1093c45e41f3522facc15b213b8dae" ], [ "FStar.Monotonic.HyperStack.free", @@ -223,14 +221,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.is_mm", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sid", "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.Map.lemma_ContainsDom", @@ -242,10 +238,10 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_2883b27aea4c839f60007bb473c2a007", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_2d11d4ede243934a578949d9aa1c906a", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a1d6a1995203a7c908a0a34debc39148", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.includes", @@ -257,7 +253,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "f74b4d9c7e0533d9f34ecb18e35a9b8d" + "cd428ac5bef41c2213ffd3ef78b307d3" ], [ "FStar.Monotonic.HyperStack.upd_tot", @@ -265,8 +261,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", @@ -282,9 +277,9 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5d00a4127ac201676a11d583e3d5a66f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.includes", @@ -296,7 +291,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "5d30ed7f238b28714ad916b854ca386c" + "62240bd20a3b133e54b7fa3e61068a8a" ], [ "FStar.Monotonic.HyperStack.sel_tot", @@ -310,9 +305,9 @@ "equation_FStar.Monotonic.HyperStack.mem", "function_token_typing_FStar.Monotonic.Heap.heap", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5d00a4127ac201676a11d583e3d5a66f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", @@ -321,7 +316,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "beee09b3793d876a42d722d41ad1bb9b" + "ded6ed2dbcba63a932447e4163a32d1f" ], [ "FStar.Monotonic.HyperStack.fresh_frame", @@ -332,10 +327,10 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144" + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "1e280c41eee3bd482b04335e63ae41b8" + "7b9049f4da090f832ec03f06d0339a5b" ], [ "FStar.Monotonic.HyperStack.hs_push_frame", @@ -379,11 +374,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", @@ -395,7 +390,7 @@ "typing_FStar.Monotonic.HyperStack.is_stack_region" ], 0, - "018d35ddb327d95f78d2e130f5b4483a" + "d3701d41add8ffe44b67da60866c1dfa" ], [ "FStar.Monotonic.HyperStack.new_eternal_region", @@ -409,7 +404,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b4b368c32fe6c68865ba22d460d4721b" + "198130289452c2bcab879ad3c4301140" ], [ "FStar.Monotonic.HyperStack.new_eternal_region", @@ -462,15 +457,15 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0c864907a2e0d221aed1f18e91969865", - "refinement_interpretation_Tm_refine_218aa0760d724755bcb5a3338f0a2257", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ad0a684250e91fe3364fc0809b3a03bd", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9e9ba0e4c66ef7120ae0b4a1a4d3a1e", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7b6baf2b49458ddd8d8855ff8d6d4176", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", + "refinement_interpretation_Tm_refine_c43700d79905e4bcab3e4d7b854c69e3", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", + "refinement_interpretation_Tm_refine_d471e7834ed7bf61867716ea66fe4a92", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", @@ -484,7 +479,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "42ec460fee4b01e11e0f17c67a71c2fe" + "0a6052070ecce5cc3e52fef2db70be9a" ], [ "FStar.Monotonic.HyperStack.lemma_sel_same_addr", @@ -492,16 +487,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a50d3df512ff49a88570f13eb28b2f30" + "4395abf87e067543c8690ee7a7833a9b" ], [ "FStar.Monotonic.HyperStack.lemma_upd_same_addr", @@ -513,7 +505,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "ac3fb53b8d4d16b934331adff40e559e" + "9011e49279a45b4b9bb4dd3f7cfcfb63" ], [ "FStar.Monotonic.HyperStack.modifies_drop_tip", @@ -526,10 +518,10 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.poppable", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144" + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "8f97b774e2fd5f7b39f5854498556839" + "f00100469b6832ae49174cecd386ea74" ], [ "FStar.Monotonic.HyperStack.modifies_ref", @@ -539,11 +531,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b1762cbf3e4ee188d81129c23660f392" + "c461552b0641edd269e4e22640a261a9" ], [ "FStar.Monotonic.HyperStack.__proj__Ref__item__rel", @@ -557,7 +549,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "2aebef18781b059368c6c56aec855491" + "35be80d7795e4b749e7f3f9782b8d027" ], [ "FStar.Monotonic.HyperStack.__proj__Ref__item___2", @@ -571,7 +563,7 @@ "projection_inverse_FStar.Monotonic.HyperStack.Ref_rel" ], 0, - "36692b66c9f866c0756fd85efae158e6" + "6c7f4db3d80607611a3e1ebd35d8c47a" ], [ "FStar.Monotonic.HyperStack.regions_of_some_refs", @@ -580,13 +572,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a8a6e39b9588bbc180f6f0974fbfacb3_0", + "binder_x_b62a8fb69f8641fe73541edf427ac159_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Monotonic.HyperStack.some_refs", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "c8242f5e978fa4f26de107106a6e3662" + "b16c56a8c0765f700a423b3c212e0811" ], [ "FStar.Monotonic.HyperStack.refs_in_region", @@ -596,11 +588,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "750ed6d2d6bbecfc071165d3e155ca7d" + "ec10cfce9fdbfb6f26ee017c75e32e34" ], [ "FStar.Monotonic.HyperStack.refs_in_region", @@ -609,24 +601,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a8a6e39b9588bbc180f6f0974fbfacb3_1", + "binder_x_b62a8fb69f8641fe73541edf427ac159_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.some_refs", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "subterm_ordering_Prims.Cons" ], 0, - "9e01f6eb8fffdd9934c693ff52158068" + "931df9e112915ee28ccab1710730b7ff" ], [ "FStar.Monotonic.HyperStack.modifies_some_refs", @@ -635,13 +625,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a8a6e39b9588bbc180f6f0974fbfacb3_0", + "binder_x_b62a8fb69f8641fe73541edf427ac159_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Monotonic.HyperStack.some_refs", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "9c8a07f8c3d49e6b978a06181ffddd25" + "74d26e49f46cc9db204250b971bd9ffa" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_cancel_same_mref_upd", @@ -649,9 +639,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", @@ -659,15 +648,11 @@ "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "primitive_Prims.op_BarBar", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Monotonic.HyperHeap.rid", @@ -679,7 +664,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "7818085d7200689b6c50328f888b9420" + "f004ae73608ced177756b3e41be2c204" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_upd_with_sel", @@ -692,10 +677,10 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_Prims.squash", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7646f8dfd4d2731e1698adfd89ebd694" + "eabd1fed63860f412d57b7a1011c5915" ], [ "FStar.Monotonic.HyperStack.lemma_heap_equality_commute_distinct_upds", @@ -703,9 +688,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", @@ -713,16 +697,12 @@ "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.l_and", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", "lemma_FStar.Map.lemma_InDomUpd1", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "l_and-interp", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "primitive_Prims.op_BarBar", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Monotonic.HyperHeap.rid", @@ -734,7 +714,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "1a43443f5783571e8fbb9d34c5059405" + "092643b094b89b872e20d39bb0de2bd9" ], [ "FStar.Monotonic.HyperStack.contains_aref_unused_in", @@ -744,11 +724,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bd1109f6c9258069e13048ba15e7e149" + "9532f8c9aa5c8a0aacde1a994123e994" ], [ "FStar.Monotonic.HyperStack.sel_reference_of", @@ -757,7 +737,7 @@ 1, [ "@query" ], 0, - "d1cb1d15eb4e9223343f4654ec1e14e7" + "2c99aec5f97ec3fd00de7e56b38a54ef" ], [ "FStar.Monotonic.HyperStack.upd_reference_of", @@ -775,7 +755,7 @@ "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" ], 0, - "4832532c85993226ac85488bf7dd7c7c" + "86a96011e5dcef29df7db48970bc11f6" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Monotonic.Map.fst.hints b/ulib/FStar.Monotonic.Map.fst.hints index b4117d8f798..e2dc1757593 100644 --- a/ulib/FStar.Monotonic.Map.fst.hints +++ b/ulib/FStar.Monotonic.Map.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "bf7f4033ca12ced955ca3123abc5c5e0" + "9df257431e93b562e0e1c86971e0f1df" ], [ "FStar.Monotonic.Map.grows", @@ -22,12 +22,12 @@ "@query", "equation_FStar.Monotonic.Map.map", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", - "interpretation_Tm_abs_8935eb6a3f3494dba1a429b59718d3b2", - "l_quant_interp_2eaea4c481e803d3e20ed031c2575eba" + "equation_FStar.Preorder.transitive", + "interpretation_Tm_abs_645907ef3744a746d7ff6113c290185b", + "l_quant_interp_3439469e67c044de57ce8f8134ebf267" ], 0, - "7607027e9bf5cd829b70e80372ec067d" + "6322ab8b0d11cfd40dd1a2cd31d1098a" ], [ "FStar.Monotonic.Map.alloc", @@ -38,14 +38,13 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.Map.rid", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_190fd4de5bc10e4dcc9db801c604e0f3", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039" + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_ff29b7a45b8f3430bb5eb44dab5f02d4" ], 0, - "c1f9be1a308ab52db4b3326adddd805e" + "657805d484470e07dcdef613814ee75f" ], [ "FStar.Monotonic.Map.contains", @@ -54,7 +53,7 @@ 1, [ "@query" ], 0, - "1561992cc50a847837799ad2703477c8" + "634bd3e2264448efc3b2ffac87e22b7c" ], [ "FStar.Monotonic.Map.value", @@ -65,16 +64,15 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.HyperStack.ST.m_rref", "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.Map.contains", "equation_FStar.Monotonic.Map.defined", "equation_FStar.Monotonic.Map.grows", "equation_FStar.Monotonic.Map.map", "equation_FStar.Monotonic.Map.t", - "refinement_interpretation_Tm_refine_917434e5926e6e7523badbe9af0f8597", + "refinement_interpretation_Tm_refine_9b52d8df2db9a70aa4173c55ec4812eb", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "36d7974c77ff1ad86753f7cf498fadeb" + "cdc2cb83dc4ee5c64102eff1edff0691" ], [ "FStar.Monotonic.Map.contains_stable", @@ -86,14 +84,14 @@ "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.Map.contains", "equation_FStar.Monotonic.Map.grows", - "equation_FStar.Monotonic.Map.sel", "equation_Prims.logical", - "interpretation_Tm_abs_8935eb6a3f3494dba1a429b59718d3b2", - "l_quant_interp_2eaea4c481e803d3e20ed031c2575eba", + "equation_FStar.Monotonic.Map.sel", + "interpretation_Tm_abs_645907ef3744a746d7ff6113c290185b", + "l_quant_interp_3439469e67c044de57ce8f8134ebf267", "projection_inverse_BoxBool_proj_0", "token_correspondence_FStar.Monotonic.Map.grows" ], 0, - "034ae9ced321228e2f45a275a23cd16e" + "a880c7c9b226cfb0d94751a088720764" ], [ "FStar.Monotonic.Map.extend", @@ -101,10 +99,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", @@ -135,15 +130,14 @@ "equation_FStar.Monotonic.Map.rid", "equation_FStar.Monotonic.Map.sel", "equation_FStar.Monotonic.Map.t", "equation_FStar.Monotonic.Map.upd", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Monotonic.Map.grows", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_203f5fd594ee7edfa79153ddf4cb8bf4", - "interpretation_Tm_abs_8935eb6a3f3494dba1a429b59718d3b2", - "l_quant_interp_2eaea4c481e803d3e20ed031c2575eba", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_46b733f17eb513a8d644cc15e54c5a79", + "interpretation_Tm_abs_645907ef3744a746d7ff6113c290185b", + "l_quant_interp_3439469e67c044de57ce8f8134ebf267", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -162,18 +156,15 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_abc559f9e743b71f6c0a5ab7d71044fd", - "refinement_interpretation_Tm_refine_acfd0b78b0f98784a2238ac299fca96e", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_76056f8746bac63e7053e341861c3bdf", + "refinement_interpretation_Tm_refine_b62b4ab2df3344dc0e8c33c6601630e1", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "typing_FStar.Map.concat", "typing_FStar.Map.contains", @@ -191,12 +182,13 @@ "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Monotonic.HyperStack.mk_mem", "typing_FStar.Monotonic.Map.grows", "typing_FStar.Monotonic.Map.map", "typing_FStar.Set.complement", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "6122e4fae1e7b107ec5267a3675f7a4a" + "a1187245905bef224e0b20cdac5484c1" ], [ "FStar.Monotonic.Map.lookup", @@ -205,7 +197,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -225,17 +217,16 @@ "equation_FStar.Monotonic.Map.grows", "equation_FStar.Monotonic.Map.map", "equation_FStar.Monotonic.Map.sel", "equation_FStar.Monotonic.Map.t", - "equation_Prims.logical", "function_token_typing_FStar.Monotonic.Map.grows", - "interpretation_Tm_abs_8935eb6a3f3494dba1a429b59718d3b2", - "l_quant_interp_2eaea4c481e803d3e20ed031c2575eba", + "interpretation_Tm_abs_645907ef3744a746d7ff6113c290185b", + "l_quant_interp_3439469e67c044de57ce8f8134ebf267", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "typing_FStar.Monotonic.HyperHeap.color", @@ -246,7 +237,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "3610093b8496296bf7831d0d3c312d3f" + "ff99f9d0d1d4bae697745c2006ad9d89" ], [ "FStar.Monotonic.Map.upd", @@ -258,7 +249,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9505c7875d0b089e56e858b0cadc80e4" + "89fe61c50a24dd9801598da78131711a" ], [ "FStar.Monotonic.Map.alloc", @@ -269,10 +260,10 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.erid", "equation_FStar.Monotonic.Map.rid", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d" + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df" ], 0, - "cbe0b0f45147e800f914520f0fe547d2" + "0415ad1c779c0688ac20639f180e0e23" ], [ "FStar.Monotonic.Map.contains", @@ -281,7 +272,7 @@ 1, [ "@query" ], 0, - "15e7f1f423e4c039b65159802a4a7f2c" + "da680b6c3faae247feaa990a02c4d34e" ], [ "FStar.Monotonic.Map.value", @@ -292,15 +283,14 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.HyperStack.ST.m_rref", "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.Map.contains", "equation_FStar.Monotonic.Map.defined", "equation_FStar.Monotonic.Map.map", "equation_FStar.Monotonic.Map.t", - "refinement_interpretation_Tm_refine_917434e5926e6e7523badbe9af0f8597", + "refinement_interpretation_Tm_refine_9b52d8df2db9a70aa4173c55ec4812eb", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "d41ee2657d8927228c20b570c390bff3" + "3502d52c80580f0343860bd500aea176" ], [ "FStar.Monotonic.Map.extend", @@ -308,16 +298,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "94a38549db6ea72636d71d45dcdd1e98" + "9a100089cfeec0841fb867b1f7a800c1" ], [ "FStar.Monotonic.Map.lookup", @@ -326,7 +313,7 @@ 1, [ "@query" ], 0, - "944c2d930acab8b74b7058e134346997" + "a3a1b767688b8577472943b649c1edfc" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Monotonic.Seq.fst.hints b/ulib/FStar.Monotonic.Seq.fst.hints index 95b2bf891c1..491b25e2bee 100644 --- a/ulib/FStar.Monotonic.Seq.fst.hints +++ b/ulib/FStar.Monotonic.Seq.fst.hints @@ -10,14 +10,14 @@ "@query", "b2t_def", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Prims.l_Forall", - "equation_Prims.logical", "equation_Prims.nat", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", - "l_and-interp", "l_quant_interp_a972e34a0c938078e3a0a2cb0621333e", + "equation_Prims.nat", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", + "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "90bab94fe473f3d530adb33cbde14436" + "f4b4e9680e00c8aaaa4815798d2b92d6" ], [ "FStar.Monotonic.Seq.lemma_snoc_extends", @@ -27,31 +27,28 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Monotonic.Seq.grows", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.logical", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", "int_inversion", "int_typing", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", - "l_and-interp", "l_quant_interp_a972e34a0c938078e3a0a2cb0621333e", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", + "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Monotonic.Seq.grows", "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "aff96a784f3f913b83859333d5a5b6a4" + "dc7029f48ec5891847a442e14085928a" ], [ "FStar.Monotonic.Seq.alloc_mref_seq", @@ -61,9 +58,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_stack_domains", + "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.HyperStack.ST.mref", @@ -78,22 +73,18 @@ "equation_FStar.Monotonic.HyperStack.upd", "equation_FStar.Monotonic.Seq.rid", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_c2e601e6ce7c9e3faa9bf7cf4f97543e", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", @@ -109,7 +100,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "7630edad782189d6c813d3a39335035f" + "ed8378012c3471726dab2bfbffd51176" ], [ "FStar.Monotonic.Seq.at_least", @@ -118,7 +109,7 @@ 1, [ "@query" ], 0, - "0885965af784fcdd6057348b589ddfa0" + "7bee0c12517608a32a90d76f09d68a5b" ], [ "FStar.Monotonic.Seq.at_least_is_stable", @@ -129,17 +120,17 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.Seq.at_least", - "equation_FStar.Monotonic.Seq.grows", "equation_Prims.logical", - "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", - "l_and-interp", "l_quant_interp_a972e34a0c938078e3a0a2cb0621333e", + "equation_FStar.Monotonic.Seq.grows", "equation_Prims.nat", + "int_inversion", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", + "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Monotonic.Seq.grows" ], 0, - "8b536822bb0bd570c225283a8ff5e55f" + "4e6ae1bb3b1f4ec3e9429322bebb34d1" ], [ "FStar.Monotonic.Seq.write_at_end", @@ -147,9 +138,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.erid", @@ -178,9 +167,8 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -206,18 +194,15 @@ "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6ad6f2870e1c520591a3c3ba242bba37", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_50b2eac2df9de90952d4d57ca3ce2598", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "typing_FStar.Map.concat", "typing_FStar.Map.contains", @@ -241,7 +226,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "c46f2da9ad3e29a0abd2e7e912860d5e" + "20db0d5e5898480e08302fab52e365af" ], [ "FStar.Monotonic.Seq.grows_p", @@ -250,17 +235,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_de0c4f31815b3388cd3c10eda9861253", + "FStar.Monotonic.Seq_interpretation_Tm_arrow_9b1c273e798ef422e9aacaac3436c4f3", "b2t_def", "equation_FStar.Monotonic.Seq.grows", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Prims.l_Forall", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Seq.grows", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", - "interpretation_Tm_abs_e08350f73aa1b41100ae4b14b3ddf82d", - "l_and-interp", "l_quant_interp_a972e34a0c938078e3a0a2cb0621333e", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", + "interpretation_Tm_abs_7caf731b9fd77753c17620904e0e8020", + "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_310e7a29569e2d208223322b6967b938", @@ -268,7 +253,7 @@ "token_correspondence_FStar.Monotonic.Seq.grows" ], 0, - "7086639a1f7ac2f0edf324c148b92cbf" + "a754fe3f17e9a498243b50c960c4df89" ], [ "FStar.Monotonic.Seq.alloc_mref_iseq", @@ -279,14 +264,13 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.Seq.rid", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_c2e601e6ce7c9e3faa9bf7cf4f97543e" + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3" ], 0, - "89e890ccb0e1e40314dd09f232672198" + "8801dc29b4bab43bdc6c99ad7dd19817" ], [ "FStar.Monotonic.Seq.i_at_least", @@ -295,7 +279,7 @@ 1, [ "@query" ], 0, - "fbaadd883fae9ebf7bfa7b69cc17a786" + "6200e8726158d4adc926bb4ca051ff9f" ], [ "FStar.Monotonic.Seq.i_at_least_is_stable", @@ -307,19 +291,19 @@ "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.Seq.grows", "equation_FStar.Monotonic.Seq.grows_p", - "equation_FStar.Monotonic.Seq.i_at_least", "equation_Prims.logical", - "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", - "interpretation_Tm_abs_e08350f73aa1b41100ae4b14b3ddf82d", - "l_and-interp", "l_quant_interp_a972e34a0c938078e3a0a2cb0621333e", + "equation_FStar.Monotonic.Seq.i_at_least", "equation_Prims.nat", + "int_inversion", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", + "interpretation_Tm_abs_7caf731b9fd77753c17620904e0e8020", + "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Monotonic.Seq.grows", "token_correspondence_FStar.Monotonic.Seq.grows_p" ], 0, - "222cec4f79e0aa6d5b3e1d7bd0cdbf80" + "801bf74a21de4b04bf85f721a1284a75" ], [ "FStar.Monotonic.Seq.int_at_most_is_stable", @@ -331,10 +315,9 @@ "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.Seq.grows", "equation_FStar.Monotonic.Seq.grows_p", - "equation_FStar.Monotonic.Seq.int_at_most", "equation_Prims.logical", - "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", - "interpretation_Tm_abs_e08350f73aa1b41100ae4b14b3ddf82d", + "equation_FStar.Monotonic.Seq.int_at_most", "int_inversion", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", + "interpretation_Tm_abs_7caf731b9fd77753c17620904e0e8020", "l_and-interp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", @@ -342,7 +325,7 @@ "token_correspondence_FStar.Monotonic.Seq.grows_p" ], 0, - "f39fd69127c570842cd1202e15b123d2" + "04866543728d2f451f7a35d56c30076f" ], [ "FStar.Monotonic.Seq.i_read", @@ -366,13 +349,13 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "dfcf98b7b256034e121672173753397d" + "cc0661c8ba4db6fbc47b639bf7e53d1b" ], [ "FStar.Monotonic.Seq.i_write_at_end", @@ -380,10 +363,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_domains", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.is_eternal_region", @@ -417,11 +398,10 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Monotonic.Seq.grows_p", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_e08350f73aa1b41100ae4b14b3ddf82d", + "interpretation_Tm_abs_7caf731b9fd77753c17620904e0e8020", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -448,20 +428,17 @@ "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2f8d3332bfafa9d70c3e59b539998369", "refinement_interpretation_Tm_refine_310e7a29569e2d208223322b6967b938", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_df98641700c93f926967774aad4832e3", - "refinement_interpretation_Tm_refine_e7e12016d209382d635c8d11bf54cc44", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_581c9761524cef873895abb519b91469", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "refinement_kinding_Tm_refine_310e7a29569e2d208223322b6967b938", @@ -485,7 +462,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "10affa7e90dbed56524e9ba21df077d1" + "13ef2d1332eb18a818cd9317b0aea3df" ], [ "FStar.Monotonic.Seq.invariant", @@ -493,16 +470,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "973b039d0acf18dc7f790ecaf76d9829" + "1ba56873c8cf4b264f32e20d43b23eee" ], [ "FStar.Monotonic.Seq.test0", @@ -513,16 +487,15 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.m_rref", "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.Seq.at_least", "equation_FStar.Monotonic.Seq.grows", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_b1c4315db2a7731e85da0d68283948ae", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_bd623a94c8b2c19a9a8b1bab939be5fd", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "0203ba6243b6210edd2f98545301e2c5" + "db1c837254641e7640427e9ece518e47" ], [ "FStar.Monotonic.Seq.itest", @@ -534,7 +507,6 @@ "equation_FStar.HyperStack.ST.m_rref", "equation_FStar.HyperStack.ST.mref", "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mref", "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Monotonic.Seq.i_at_least", @@ -542,12 +514,12 @@ "equation_FStar.Monotonic.Seq.i_seq", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2dfd298d2db712eddf0c9b9d46ec489c", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" + "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", + "refinement_interpretation_Tm_refine_fc4e75453b328d0dcef003557ed6cd2b" ], 0, - "7c078fce4f0d92c825566d3af1fb125a" + "6e3f0e928863d2e6dc18cf78dd299d83" ], [ "FStar.Monotonic.Seq.un_snoc", @@ -568,7 +540,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "2733c1880293de69946a2fc3458fe2bd" + "04dc0bac0c5b98bb53fdf18b97f7d3f6" ], [ "FStar.Monotonic.Seq.map", @@ -578,12 +550,10 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.Seq.un_snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", @@ -591,12 +561,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "aba7914f9d8f43c7228d2bf03338fac7" + "f626df812964a5b97208e4bc997f6c64" ], [ "FStar.Monotonic.Seq.map_snoc", @@ -631,18 +601,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" ], 0, - "8080bd709840fd6eb9e7038169cb99a9" + "da97a349b4e9260337da374f86b07bdd" ], [ "FStar.Monotonic.Seq.map_append", @@ -654,16 +624,15 @@ "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_029b6cf8f9f8b0206538c448f94db434", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Monotonic.Seq_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_158ccd3239cde10d7dceed65fcdf976a_4", + "binder_x_57af2c0907f883669f14a9b761d251ac_4", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", "binder_x_b1c102bc33763b5f709e32a86e66e509_6", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "data_elim_FStar.Pervasives.Native.Mktuple2", "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.Seq.op_At", "equation_FStar.Monotonic.Seq.un_snoc", @@ -687,24 +656,21 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Monotonic.Seq.map", "typing_FStar.Monotonic.Seq.op_At", - "typing_FStar.Monotonic.Seq.un_snoc", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc", - "well-founded-ordering-on-nat" + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Properties.snoc", "well-founded-ordering-on-nat" ], 0, - "ea99e5d73021bea19e56cd2851845762" + "e7041d96c155466dd5d39c652199e99b" ], [ "FStar.Monotonic.Seq.map_length", @@ -714,11 +680,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0225588fac7ed14da762a57e8f55e6ea" + "66ed80dd423bcfd792cda318553d88ca" ], [ "FStar.Monotonic.Seq.map_length", @@ -728,11 +694,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "57b9d63a83c508a30af88ebb7bf91fba" + "3d927418d3691e39a2987779be838635" ], [ "FStar.Monotonic.Seq.map_length", @@ -744,11 +710,11 @@ "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_029b6cf8f9f8b0206538c448f94db434", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Monotonic.Seq_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_158ccd3239cde10d7dceed65fcdf976a_4", + "binder_x_57af2c0907f883669f14a9b761d251ac_4", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", @@ -768,15 +734,15 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Monotonic.Seq.map", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "1d7c64a8345ee6208a9439a6bdd88763" + "e107589b369d17981458fe2d31b5c1a5" ], [ "FStar.Monotonic.Seq.map_index", @@ -790,7 +756,7 @@ "@query", "lemma_FStar.Monotonic.Seq.map_length" ], 0, - "1942ffb1321a6e59f07d760eead04583" + "a1571fe6e2b42468888be6e5c89eff81" ], [ "FStar.Monotonic.Seq.map_index", @@ -804,7 +770,7 @@ "@query", "lemma_FStar.Monotonic.Seq.map_length" ], 0, - "4c8d98a453ad28a95377db5e2a00a1de" + "4d5ed99b3977b711f24e6ac2be56301e" ], [ "FStar.Monotonic.Seq.map_index", @@ -816,13 +782,13 @@ "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_029b6cf8f9f8b0206538c448f94db434", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Monotonic.Seq_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_158ccd3239cde10d7dceed65fcdf976a_4", + "binder_x_57af2c0907f883669f14a9b761d251ac_4", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", - "binder_x_ed7ff399883c1a5cbb92cc302b008904_6", + "binder_x_fb947062bc64c8a4c113625ea3c52251_6", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "equality_tok_Prims.LexTop@tok", @@ -845,21 +811,21 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f487f239a6208ea41bc87b7d82e7151d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_607098d2e80d827adeccdd5d011d612c", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", "typing_FStar.Monotonic.Seq.map", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "well-founded-ordering-on-nat" ], 0, - "8d34ce51c1ac70663433a05e60b60373" + "93baf4d8da7aae89495b3b3b3af969c8" ], [ "FStar.Monotonic.Seq.map_grows", @@ -870,24 +836,22 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.Monotonic.Seq.grows", - "equation_Prims.logical", "equation_Prims.nat", + "@query", "b2t_def", "equation_FStar.Monotonic.Seq.grows", + "equation_Prims.nat", "equation_with_fuel_FStar.Monotonic.Seq.map.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", - "l_and-interp", "l_quant_interp_a972e34a0c938078e3a0a2cb0621333e", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", + "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", "lemma_FStar.Monotonic.Seq.map_index", "lemma_FStar.Monotonic.Seq.map_length", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Monotonic.Seq.grows" ], 0, - "441292ee3e67f02a8abd038bf291e592" + "cd2eb82107576de55674529a2b7e1219" ], [ "FStar.Monotonic.Seq.map_prefix_stable", @@ -898,8 +862,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.HyperStack.ST.erid", + "@query", "b2t_def", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.m_rref", "equation_FStar.HyperStack.ST.mref", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -908,22 +871,19 @@ "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.Seq.grows", "equation_FStar.Monotonic.Seq.map_prefix", - "equation_FStar.Monotonic.Seq.rid", "equation_Prims.logical", - "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", - "l_and-interp", "l_quant_interp_a972e34a0c938078e3a0a2cb0621333e", + "equation_FStar.Monotonic.Seq.rid", "equation_Prims.nat", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", + "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", "lemma_FStar.Monotonic.Seq.map_index", "lemma_FStar.Monotonic.Seq.map_length", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "token_correspondence_FStar.Monotonic.Seq.grows", @@ -934,7 +894,7 @@ "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq" ], 0, - "d2b898d72415340246162c1a3c2f0de8" + "828666a2777a68e24283a6766d586ef8" ], [ "FStar.Monotonic.Seq.map_has_at_index", @@ -948,7 +908,7 @@ "@query", "lemma_FStar.Monotonic.Seq.map_length" ], 0, - "5b59bf2717e7e9af26cfbd548019ca27" + "df1e585f09dab1584239434d00164e65" ], [ "FStar.Monotonic.Seq.map_has_at_index_stable", @@ -968,19 +928,18 @@ "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.Seq.grows", "equation_FStar.Monotonic.Seq.map_has_at_index", - "equation_FStar.Monotonic.Seq.rid", "equation_Prims.logical", - "equation_Prims.nat", + "equation_FStar.Monotonic.Seq.rid", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", - "l_and-interp", "l_quant_interp_a972e34a0c938078e3a0a2cb0621333e", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", + "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", "lemma_FStar.Monotonic.Seq.map_index", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "token_correspondence_FStar.Monotonic.Seq.grows", @@ -991,7 +950,7 @@ "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq" ], 0, - "a619531690713595ebf72c142a0a8dd0" + "ccff4e4dfe913c95823b9092f9362cf7" ], [ "FStar.Monotonic.Seq.collect", @@ -1001,12 +960,10 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.Seq.un_snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", @@ -1014,12 +971,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "e63e158ae91e3696d451bacf07f042bc" + "709a7b3ac42255f309b539ba7ef081e9" ], [ "FStar.Monotonic.Seq.collect_snoc", @@ -1054,18 +1011,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" ], 0, - "b99532220c03cb796ef3225a75619150" + "d6944b63f19793cdb3f6031766a47e36" ], [ "FStar.Monotonic.Seq.collect_grows", @@ -1077,24 +1034,22 @@ "@fuel_correspondence_FStar.Monotonic.Seq.collect.fuel_instrumented", "@fuel_irrelevance_FStar.Monotonic.Seq.collect.fuel_instrumented", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_9b29ace167e5370d1bc939f329855748", + "FStar.Monotonic.Seq_interpretation_Tm_arrow_3d2b697fb8061d3e8e36d96b3980f9d1", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.Seq.grows", "equation_FStar.Monotonic.Seq.un_snoc", "equation_Prims.eqtype", "equation_Prims.l_Forall", "equation_Prims.l_imp", - "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.squash", + "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_FStar.Monotonic.Seq.collect.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", "l_and-interp", "l_imp-interp", - "l_quant_interp_a972e34a0c938078e3a0a2cb0621333e", + "l_quant_interp_014a25b99eca40151867d381de87c993", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -1108,19 +1063,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Monotonic.Seq.grows", "typing_FStar.Monotonic.Seq.collect", "typing_FStar.Seq.Base.length", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" + "well-founded-ordering-on-nat" ], 0, - "3d85e3b6308148f4277976d6fbbd1904" + "08eca5e0507e8699ec33d71cc9f98d62" ], [ "FStar.Monotonic.Seq.collect_prefix_stable", @@ -1131,7 +1086,7 @@ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Monotonic.Seq.collect.fuel_instrumented", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_de0c4f31815b3388cd3c10eda9861253", + "FStar.Monotonic.Seq_interpretation_Tm_arrow_9b1c273e798ef422e9aacaac3436c4f3", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "equation_FStar.Monotonic.Seq.collect_prefix", "equation_FStar.Preorder.preorder", @@ -1143,7 +1098,7 @@ "typing_FStar.Monotonic.Seq.collect" ], 0, - "6b3b391434be25fb3d26486c5149e084" + "223f8275901798120e2993f7b83fd2fe" ], [ "FStar.Monotonic.Seq.collect_has_at_index_stable", @@ -1153,27 +1108,39 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Monotonic.Seq.collect.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.HyperStack.ST.m_rref", + "@query", "b2t_def", "equation_FStar.HyperStack.ST.erid", + "equation_FStar.HyperStack.ST.m_rref", "equation_FStar.HyperStack.ST.mref", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mref", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.Seq.collect_has_at_index", - "equation_FStar.Monotonic.Seq.grows", "equation_Prims.logical", - "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", - "l_and-interp", "l_quant_interp_a972e34a0c938078e3a0a2cb0621333e", + "equation_FStar.Monotonic.Seq.grows", + "equation_FStar.Monotonic.Seq.rid", "equation_Prims.nat", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", + "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "token_correspondence_FStar.Monotonic.Seq.grows", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.sel", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.as_ref", + "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq" + "typing_FStar.Monotonic.Seq.collect", + "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.seq" ], 0, - "19a437970ed1251e36a9e43687b0f2a5" + "640e1d2486567a8990831387cd071348" ], [ "FStar.Monotonic.Seq.seqn", @@ -1189,7 +1156,7 @@ "token_correspondence_FStar.Monotonic.Seq.increases" ], 0, - "aef47d68d50c6d5404381655a0199026" + "99a57dc91005e8840f5617d42539b35d" ], [ "FStar.Monotonic.Seq.at_most_log_len_stable", @@ -1198,21 +1165,20 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Monotonic.Seq.at_most_log_len", - "equation_FStar.Monotonic.Seq.grows", "equation_Prims.logical", - "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_4bf4d6b2b3af0383028eae67cbdc7d27", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", + "equation_FStar.Monotonic.Seq.grows", "equation_Prims.nat", + "int_inversion", + "interpretation_Tm_abs_1e44b93a620e148d737d6f47bdd2424d", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.Monotonic.Seq.at_most_log_len", "token_correspondence_FStar.Monotonic.Seq.grows" ], 0, - "2c297417e2cea4e7cb0c771fcf00f279" + "fe8d7404c6b984e7d3bef0b670bd01e9" ], [ "FStar.Monotonic.Seq.new_seqn", @@ -1220,10 +1186,8 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.Preorder_interpretation_Tm_arrow_76a60dab4e3b3182a3b4dae5a57cfb2d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.is_eternal_region", @@ -1257,17 +1221,15 @@ "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.relation", "equation_FStar.Preorder.transitive", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Monotonic.Seq.grows", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_4bf4d6b2b3af0383028eae67cbdc7d27", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_1e44b93a620e148d737d6f47bdd2424d", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomConcat", "lemma_FStar.Map.lemma_InDomRestrict", @@ -1283,6 +1245,7 @@ "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", + "lemma_FStar.Monotonic.Heap.lemma_upd_unused", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", @@ -1292,17 +1255,14 @@ "primitive_Prims.op_Negation", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_0ce5d155e598421c530f7d9f57bf6693", - "refinement_interpretation_Tm_refine_0d307a27a0396f8fa73addc9f8f51d40", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_7f3ab66d4de91f61b578dda2a94a1fe5", + "refinement_interpretation_Tm_refine_b6023c1c3e1dacce5987e3daeb90fc6e", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", @@ -1321,13 +1281,12 @@ "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Monotonic.Seq.grows", - "typing_FStar.Monotonic.Seq.increases", "typing_FStar.Monotonic.Seq.seqn_val", "typing_FStar.Seq.Base.seq", "typing_FStar.Set.complement", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "5c7709446daaf10386a800c72d368c60" + "99a30c1e0033b6d1d8f1f4dc61593745" ], [ "FStar.Monotonic.Seq.increment_seqn", @@ -1335,10 +1294,8 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.erid", @@ -1369,17 +1326,16 @@ "equation_FStar.Monotonic.Seq.seqn", "equation_FStar.Monotonic.Seq.seqn_val", "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Monotonic.Seq.at_most_log_len", "function_token_typing_FStar.Monotonic.Seq.grows", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_4bf4d6b2b3af0383028eae67cbdc7d27", - "interpretation_Tm_abs_7a9f4d894e5b90b8f4f3a5fcae559a1e", + "interpretation_Tm_abs_1e44b93a620e148d737d6f47bdd2424d", + "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", "l_and-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -1402,20 +1358,17 @@ "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_0ce5d155e598421c530f7d9f57bf6693", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_348de7d78ee513ae8dbc8ebcd2ba682b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46e50b73e0e8f9068b97262bf035f0bf", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_b6023c1c3e1dacce5987e3daeb90fc6e", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_e4eae6401196fbdbd9352c8adfddbb48", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_Tm_refine_f0fd2650fffccfb9523d1b24ef8b5f83", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", "typing_FStar.Map.concat", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.restrict", @@ -1434,7 +1387,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "40f951b3b67713f8abbce0bf3588910b" + "1e0b47c95bc6439d2af0cfe9cb3a839f" ], [ "FStar.Monotonic.Seq.testify_seqn", @@ -1459,16 +1412,16 @@ "int_inversion", "primitive_Prims.op_Negation", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_0ce5d155e598421c530f7d9f57bf6693", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_b6023c1c3e1dacce5987e3daeb90fc6e", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "f3c1b86f16f91efcab786c07a1df4cd8" + "0009a37099938b3a5b5b4c98ded065b8" ], [ "FStar.Monotonic.Seq.test", @@ -1477,7 +1430,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.HyperStack.ST.m_rref", "equation_FStar.HyperStack.ST.mref", @@ -1490,10 +1442,9 @@ "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_0ce5d155e598421c530f7d9f57bf6693", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_b6023c1c3e1dacce5987e3daeb90fc6e", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", @@ -1502,7 +1453,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "19ece92a514ef092805b36566f5d369f" + "02e4dc4a5982bc0bf62b2263d16870f0" ], [ "FStar.Monotonic.Seq.alloc_mref_seq", @@ -1513,10 +1464,10 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.erid", "equation_FStar.Monotonic.Seq.rid", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d" + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df" ], 0, - "e4c2be2919b373147a2ff981444a3af2" + "9ccd18d2b95768d36e604045e78e56f8" ], [ "FStar.Monotonic.Seq.at_least", @@ -1525,7 +1476,7 @@ 1, [ "@query" ], 0, - "9f09036aafa6c016fdba1a4c1364a766" + "1d63b6b911029cffeb3ed30f0dc98e20" ], [ "FStar.Monotonic.Seq.write_at_end", @@ -1533,16 +1484,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dd26a28c847c8d72101fcc936964aa5f" + "a66da841357af2277f1ef8de46f9b775" ], [ "FStar.Monotonic.Seq.grows_p", @@ -1551,20 +1499,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_de0c4f31815b3388cd3c10eda9861253", + "FStar.Monotonic.Seq_interpretation_Tm_arrow_9b1c273e798ef422e9aacaac3436c4f3", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "function_token_typing_FStar.Monotonic.Seq.grows", - "interpretation_Tm_abs_e08350f73aa1b41100ae4b14b3ddf82d", + "interpretation_Tm_abs_7caf731b9fd77753c17620904e0e8020", "refinement_interpretation_Tm_refine_310e7a29569e2d208223322b6967b938", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "token_correspondence_FStar.Monotonic.Seq.grows" ], 0, - "3fb6c39d2b7c7f65bf13e24ddc0a3bc6" + "d39053005d78d8aa20e3bfcc5d4da87b" ], [ "FStar.Monotonic.Seq.alloc_mref_iseq", @@ -1575,10 +1523,10 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.HyperStack.ST.erid", "equation_FStar.Monotonic.Seq.rid", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d" + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df" ], 0, - "05bf7332fa4000ed5ed1d681aec296de" + "3bda980572b373ea62d7912caa002c02" ], [ "FStar.Monotonic.Seq.i_at_least", @@ -1587,7 +1535,7 @@ 1, [ "@query" ], 0, - "1fae1b68938d732d971bb8375f61345a" + "09a77f5aa64981e199f8f05ffe3eca94" ], [ "FStar.Monotonic.Seq.i_read", @@ -1596,7 +1544,7 @@ 1, [ "@query" ], 0, - "4d4bde8f0b922fda32e8109f97a07aa1" + "fa629749ca9f16a4aa53920bf430a6a6" ], [ "FStar.Monotonic.Seq.i_write_at_end", @@ -1604,16 +1552,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "299c82f508cb545322077c11731efbc3" + "4c6a15a034509d165aff2ee26444ea09" ], [ "FStar.Monotonic.Seq.invariant", @@ -1621,16 +1566,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c5d77ba8e9614da815514ebd52ed651e" + "074e45261b7224054b8e05a256af4811" ], [ "FStar.Monotonic.Seq.un_snoc", @@ -1651,7 +1593,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "21f70248890f3f3850d0eaab0e70c19f" + "9cd5db9de0f89cd405037ae3fbe39d4f" ], [ "FStar.Monotonic.Seq.map", @@ -1661,12 +1603,10 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.Seq.un_snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", @@ -1674,12 +1614,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "74239dfca66a0eb94d1b9df819d5fc5e" + "8272437ed04f7f38a940ae0e0b89cbb6" ], [ "FStar.Monotonic.Seq.map_length", @@ -1689,11 +1629,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8df7a7bac434eeac947f29ca7ac24d1f" + "b410f4d1bba5a5590f5a11a301590823" ], [ "FStar.Monotonic.Seq.map_index", @@ -1707,7 +1647,7 @@ "@query", "lemma_FStar.Monotonic.Seq.map_length" ], 0, - "a69c7dda254c0c92adb644fe89a57bdf" + "658ab9c64a8339d405cbd903bd2fe97a" ], [ "FStar.Monotonic.Seq.map_has_at_index", @@ -1721,7 +1661,7 @@ "@query", "lemma_FStar.Monotonic.Seq.map_length" ], 0, - "dc9a7a7512ef2ece60181212a0c22eb0" + "6bd657ba47a57181414dbf187b78461b" ], [ "FStar.Monotonic.Seq.collect", @@ -1731,12 +1671,10 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.Seq.un_snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", @@ -1744,12 +1682,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "1a58c9e6cf55efd6f4f1428a1c6fae27" + "8bdadd431517127a43c86fa69d3092b9" ], [ "FStar.Monotonic.Seq.seqn", @@ -1765,7 +1703,7 @@ "token_correspondence_FStar.Monotonic.Seq.increases" ], 0, - "f46f8fe79885cc7e75966bae8d1a967b" + "96be288b76de69aa7444ec606635e133" ], [ "FStar.Monotonic.Seq.new_seqn", @@ -1774,7 +1712,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.HyperStack.ST.m_rref", "equation_FStar.HyperStack.ST.mref", @@ -1786,9 +1723,8 @@ "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", @@ -1797,7 +1733,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "9d961125fbe95babd8b7a03e13106e5f" + "db2cb5eb3bd5487950320fc8eb4f233f" ], [ "FStar.Monotonic.Seq.increment_seqn", @@ -1806,7 +1742,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.HyperStack.ST.m_rref", "equation_FStar.HyperStack.ST.mref", @@ -1818,9 +1753,8 @@ "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", @@ -1829,7 +1763,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "f020e0778e0c64f31516afa334db53cc" + "52cebd6c14981504ae88cadfd8652558" ], [ "FStar.Monotonic.Seq.testify_seqn", @@ -1855,7 +1789,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "60c2f1864f841b3efdc31a3e61b442b0" + "33be3bd60c481ed59ee1b5c5f092f5b8" ], [ "FStar.Monotonic.Seq.test", @@ -1864,7 +1798,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Monotonic.HyperStack.MkRef", "equation_FStar.HyperStack.ST.m_rref", "equation_FStar.HyperStack.ST.mref", @@ -1877,10 +1810,9 @@ "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_0ce5d155e598421c530f7d9f57bf6693", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_b6023c1c3e1dacce5987e3daeb90fc6e", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", @@ -1889,7 +1821,7 @@ "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" ], 0, - "eccf44462ba11ad3109d01c688cf79cc" + "a3d3442bf3f3c8bdb2fde8aa9ccb0e7d" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Monotonic.Witnessed.fst b/ulib/FStar.Monotonic.Witnessed.fst index f644831d9f4..f354e0765b5 100644 --- a/ulib/FStar.Monotonic.Witnessed.fst +++ b/ulib/FStar.Monotonic.Witnessed.fst @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. *) - module FStar.Monotonic.Witnessed +module FStar.Monotonic.Witnessed open FStar.Preorder @@ -72,39 +72,33 @@ assume val set_set_axiom :#world:Type private val get_constant_lemma :world:Type -> p:Type0 -> Lemma (get #world (fun _ -> p) <==> p) - [SMTPat (get #world (fun _ -> p))] let get_constant_lemma world p = get_set_axiom #world p (* Get and set commute with (non-modal) logical connectives *) private val get_true :world:Type -> Lemma (get #world (fun _ -> True)) - [SMTPat (get #world (fun _ -> True))] -let get_true world = () +let get_true world = get_constant_lemma world True assume private val set_true :#world:Type -> w:world -> Lemma (set True w) - [SMTPat (set True w)] private val get_false :world:Type -> Lemma (requires (get #world (fun _ -> False))) (ensures (False)) - [SMTPat (get #world (fun _ -> False))] -let get_false world = () +let get_false world = get_constant_lemma world False assume val set_false :#world:Type -> w:world -> Lemma (requires (set False w)) (ensures (False)) - [SMTPat (set False w)] private val get_and_1 :#world:Type -> p:(world -> Type0) -> q:(world -> Type0) -> Lemma (requires (get (fun w -> p w /\ q w))) (ensures (get p /\ get q)) - [SMTPat (get (fun w -> p w /\ q w))] let get_and_1 #world p q = () assume private val set_and_1 :#world:Type @@ -113,14 +107,13 @@ assume private val set_and_1 :#world:Type -> q:Type0 -> Lemma (requires (set (p /\ q) w)) (ensures (set p w /\ set q w)) - [SMTPat (set (p /\ q) w)] assume private val get_and_2 :#world:Type -> p:(world -> Type0) -> q:(world -> Type0) -> Lemma (requires (get p /\ get q)) (ensures (get (fun w -> p w /\ q w))) - [SMTPat (get (fun w -> p w /\ q w))] + assume private val set_and_2 :#world:Type -> w:world @@ -128,14 +121,12 @@ assume private val set_and_2 :#world:Type -> q:Type0 -> Lemma (requires (set p w /\ set q w)) (ensures (set (p /\ q) w)) - [SMTPat (set (p /\ q) w)] private val get_or_1 :#world:Type -> p:(world -> Type0) -> q:(world -> Type0) -> Lemma (requires (get p \/ get q)) (ensures (get (fun w -> p w \/ q w))) - [SMTPat (get (fun w -> p w \/ q w))] let get_or_1 #world p q = () assume private val set_or_1 :#world:Type @@ -144,14 +135,12 @@ assume private val set_or_1 :#world:Type -> q:Type0 -> Lemma (requires (set p w \/ set q w)) (ensures (set (p \/ q) w)) - [SMTPat (set (p \/ q) w)] assume private val get_or_2 :#world:Type -> p:(world -> Type0) -> q:(world -> Type0) -> Lemma (requires (get (fun w -> p w \/ q w))) (ensures (get p \/ get q)) - [SMTPat (get (fun w -> p w \/ q w))] assume private val set_or_2 :#world:Type -> w:world @@ -159,14 +148,12 @@ assume private val set_or_2 :#world:Type -> q:Type0 -> Lemma (requires (set (p \/ q) w)) (ensures (set p w \/ set q w)) - [SMTPat (set (p \/ q) w)] private val get_impl_1 :#world:Type -> p:(world -> Type0) -> q:(world -> Type0) -> Lemma (requires (get (fun w -> p w ==> q w) /\ get p)) (ensures (get q)) - [SMTPat (get (fun w -> p w ==> q w))] let get_impl_1 #world p q = get_and_2 (fun w -> p w ==> q w) p; get_weakening (fun w -> (p w ==> q w) /\ p w) q @@ -177,14 +164,12 @@ assume private val set_impl_1 :#world:Type -> q:Type0 -> Lemma (requires (set (p ==> q) w /\ set p w)) (ensures (set q w)) - [SMTPat (set (p ==> q) w)] assume private val get_impl_2 :#world:Type -> p:(world -> Type0) -> q:(world -> Type0) -> Lemma (requires (get p ==> get q)) (ensures (get (fun w -> p w ==> q w))) - [SMTPat (get (fun w -> p w ==> q w))] assume private val set_impl_2 :#world:Type -> w:world @@ -192,7 +177,6 @@ assume private val set_impl_2 :#world:Type -> q:Type0 -> Lemma (requires (set p w ==> set q w)) (ensures (set (p ==> q) w)) - [SMTPat (set (p ==> q) w)] private val get_forall_1_aux :#world:Type -> #t:Type @@ -200,7 +184,6 @@ private val get_forall_1_aux :#world:Type -> x:t -> Lemma (requires (get (fun w -> forall x. p x w))) (ensures (get (fun w -> p x w))) - [SMTPat (get (fun w -> p x w)); SMTPat (get (fun w -> forall (x:t). p x w))] let get_forall_1_aux #world #t p x = get_weakening (fun w -> forall x. p x w) (fun w -> p x w) @@ -209,7 +192,6 @@ private val get_forall_1 :#world:Type -> p:(t -> world -> Type0) -> Lemma (requires (get (fun w -> forall x. p x w))) (ensures (forall x. get (fun w -> p x w))) - [SMTPat (get (fun w -> forall (x:t). p x w))] let get_forall_1 #world #t p = () assume private val set_forall_1 :#world:Type @@ -218,14 +200,12 @@ assume private val set_forall_1 :#world:Type -> p:(t -> Type0) -> Lemma (requires (set (forall x. p x) w)) (ensures (forall x. set (p x) w)) - [SMTPat (set (forall x. p x) w)] assume private val get_forall_2 :#world:Type -> #t:Type -> p:(t -> world -> Type0) -> Lemma (requires (forall x. get (fun w -> p x w))) (ensures (get (fun w -> forall x. p x w))) - [SMTPat (get (fun w -> forall x. p x w))] assume private val set_forall_2 :#world:Type -> #t:Type @@ -233,7 +213,6 @@ assume private val set_forall_2 :#world:Type -> p:(t -> Type0) -> Lemma (requires (forall x. set (p x) w)) (ensures (set (forall x. p x) w)) - [SMTPat (set (forall x. p x) w)] private val get_exists_1_aux :#world:Type -> #t:Type @@ -241,7 +220,6 @@ private val get_exists_1_aux :#world:Type -> x:t -> Lemma (requires (get (fun w -> p x w))) (ensures (get (fun w -> exists x. p x w))) - [SMTPat (get (fun w -> p x w)); SMTPat (get (fun w -> exists x. p x w))] let get_exists_1_aux #world #t p x = get_weakening (fun w -> p x w) (fun w -> exists x . p x w) @@ -250,7 +228,6 @@ private val get_exists_1 :#world:Type -> p:(t -> world -> Type0) -> Lemma (requires (exists x. get (fun w -> p x w))) (ensures (get (fun w -> exists x. p x w))) - [SMTPat (get (fun w -> exists x . p x w))] let get_exists_1 #world #t p = () assume private val set_exists_1 :#world:Type @@ -259,14 +236,12 @@ assume private val set_exists_1 :#world:Type -> p:(t -> Type0) -> Lemma (requires (exists x. set (p x) w)) (ensures (set (exists x. p x) w)) - [SMTPat (set (exists x. p x) w)] assume private val get_exists_2 :#world:Type -> #t:Type -> p:(t -> world -> Type0) -> Lemma (requires (get (fun w -> exists x. p x w))) (ensures (exists x. get (fun w -> p x w))) - [SMTPat (get (fun w -> exists x. p x w))] assume private val set_exists_2 :#world:Type -> #t:Type @@ -274,14 +249,12 @@ assume private val set_exists_2 :#world:Type -> p:(t -> Type0) -> Lemma (requires (set (exists x. p x) w)) (ensures (exists x. set (p x) w)) - [SMTPat (set (exists x. p x) w)] private val get_eq :#world:Type -> #t:Type -> v:t -> v':t -> Lemma (get #world (fun _ -> v == v') <==> v == v') - [SMTPat (get #world (fun _ -> v == v'))] let get_eq #world #t v v' = get_constant_lemma world (v == v') @@ -291,7 +264,6 @@ assume private val set_eq :#world:Type -> v:t -> v':t -> Lemma (set (v == v') w <==> v == v') - [SMTPat (set (v == v') w)] (* NOT EXPOSED BY THE INTERFACE [end] *) diff --git a/ulib/FStar.Monotonic.Witnessed.fst.hints b/ulib/FStar.Monotonic.Witnessed.fst.hints index 714bd2a1f41..6d89f8f86db 100644 --- a/ulib/FStar.Monotonic.Witnessed.fst.hints +++ b/ulib/FStar.Monotonic.Witnessed.fst.hints @@ -1,5 +1,5 @@ [ - "YÊ÷¤Sù¨F˜„YRÕìCª", + "U&”Ê0–?¤³TFüô=Š¶", [ [ "FStar.Monotonic.Witnessed.get_constant_lemma", @@ -7,26 +7,16 @@ 2, 1, [ - "@query", "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "@MaxIFuel_assumption", "@query", + "FStar.Monotonic.Witnessed_interpretation_Tm_arrow_6bccb0a2b1b1f939f098ecb8863085cf", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "function_token_typing_FStar.Monotonic.Witnessed.set", + "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "partial_app_typing_9a325f05659c6bb7ba6b0399e115a2fc", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_134069e179ddf4705519081c391c4e10" ], 0, - "2dcb92ea5aebf6c5f298f1ebefefc80a" - ], - [ - "FStar.Monotonic.Witnessed.get_true", - 1, - 2, - 1, - [ - "@query", "equation_Prims.l_True", "equation_Prims.logical", - "function_token_typing_Prims.l_True", - "lemma_FStar.Monotonic.Witnessed.get_constant_lemma", "true_interp" - ], - 0, - "56bf1d120c4901749eac1a686c7da655" + "56db3b5b10789fc5365a965fd01f35d9" ], [ "FStar.Monotonic.Witnessed.get_false", @@ -39,7 +29,7 @@ "lemma_FStar.Monotonic.Witnessed.get_constant_lemma" ], 0, - "3fa2558782bbb14aef094ce6ce3002a8" + "a93167bd90410d259b38fa706678f826" ], [ "FStar.Monotonic.Witnessed.get_and_1", @@ -47,12 +37,12 @@ 2, 1, [ - "@query", "interpretation_Tm_abs_ec309e484956595982b1ecc2903ff66c", + "@query", "interpretation_Tm_abs_e2ac9feb4f6cb36e6ed8fac286e8dfb7", "l_and-interp", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_ec309e484956595982b1ecc2903ff66c" + "typing_Tm_abs_e2ac9feb4f6cb36e6ed8fac286e8dfb7" ], 0, - "57c92be5902810c94f50522ae10d3ce0" + "09f4d37748c569d2137fddaf9822ceee" ], [ "FStar.Monotonic.Witnessed.get_or_1", @@ -60,12 +50,12 @@ 2, 1, [ - "@query", "interpretation_Tm_abs_1c9edceeb9a53901f29695f5bf68479f", + "@query", "interpretation_Tm_abs_6a8adeed7179f900ad3f12cc0b419230", "l_or-interp", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_1c9edceeb9a53901f29695f5bf68479f" + "typing_Tm_abs_6a8adeed7179f900ad3f12cc0b419230" ], 0, - "69f591bb00ca3c474caa0932ca0cc71b" + "1e4239ee9bb744c097ca871c39598080" ], [ "FStar.Monotonic.Witnessed.get_impl_1", @@ -74,7 +64,7 @@ 1, [ "@query" ], 0, - "2ebf6bc98b8f8ea072bbaf073869be5b" + "a34c2557a7fbd0d40d4efe917884fcf5" ], [ "FStar.Monotonic.Witnessed.get_forall_1_aux", @@ -83,16 +73,23 @@ 1, [ "@query" ], 0, - "12dda6eb6746ef964775325e0a31cc82" + "4df98b12a5a90916a0575b5095b9c9a3" ], [ "FStar.Monotonic.Witnessed.get_forall_1", 1, 2, 1, - [ "@query", "lemma_FStar.Monotonic.Witnessed.get_forall_1_aux" ], + [ + "@query", "interpretation_Tm_abs_b68d980611ecc54774f1a63dba314a7d", + "interpretation_Tm_abs_e320c1b0db2f973703519f096ca636a5", + "l_quant_interp_0b1b710a8bfdc3d62549685b3ad0a6b3", + "lemma_FStar.Monotonic.Witnessed.get_weakening", + "typing_Tm_abs_b68d980611ecc54774f1a63dba314a7d", + "typing_Tm_abs_e320c1b0db2f973703519f096ca636a5" + ], 0, - "c5879f74448396b117fab5b5f18975c6" + "13a80c75426699f73daf95356eaa16a7" ], [ "FStar.Monotonic.Witnessed.get_exists_1_aux", @@ -101,16 +98,23 @@ 1, [ "@query" ], 0, - "1b160a284dbff68fb4a547e17c3e0349" + "4231112ef29910b07a298242520bf4a4" ], [ "FStar.Monotonic.Witnessed.get_exists_1", 1, 2, 1, - [ "@query", "lemma_FStar.Monotonic.Witnessed.get_exists_1_aux" ], + [ + "@query", "interpretation_Tm_abs_c6d82aa0d722e7b10f95d539c2f392ce", + "interpretation_Tm_abs_e320c1b0db2f973703519f096ca636a5", + "l_quant_interp_17ae6cbceb1ff3fa3aa72b1120526068", + "lemma_FStar.Monotonic.Witnessed.get_weakening", + "typing_Tm_abs_c6d82aa0d722e7b10f95d539c2f392ce", + "typing_Tm_abs_e320c1b0db2f973703519f096ca636a5" + ], 0, - "2a82b8253ed1cc6a4f60ddeeed07c6b3" + "78e043ebe130397db86685e7b0434388" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_weakening", @@ -119,13 +123,13 @@ 1, [ "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd", - "l_quant_interp_a5c208f107f89085669575830e583894", + "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", + "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd" + "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "4b88b2922875bbb1ef4955e6f424f806" + "2262d28dbbd4f1c8074c397f95d58b66" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_constant", @@ -138,16 +142,16 @@ "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd", - "l_quant_interp_a5c208f107f89085669575830e583894", + "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", + "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", + "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", "lemma_FStar.Monotonic.Witnessed.get_weakening", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd" + "typing_Tm_abs_134069e179ddf4705519081c391c4e10", + "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "fb29b83cc68ea6bc55b17f1cc47622a0" + "8cd18fa70d316c354b5bd1ca941b738d" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_nested", @@ -156,14 +160,14 @@ 1, [ "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd", - "interpretation_Tm_abs_fc1a0ec4fff0a18b902d3aa24accc285", - "l_quant_interp_a5c208f107f89085669575830e583894", + "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", + "interpretation_Tm_abs_e8bc110f7c8137a094c5027c0e3c5bea", + "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd" + "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "6f3ebd76c1d4212711efb4ad51f8ee2f" + "4f43b5297f32f9e421e5021dc9becf6d" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_and", @@ -172,16 +176,16 @@ 1, [ "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd", - "interpretation_Tm_abs_ded53d4edd4e64e5685341f66b5930b1", - "interpretation_Tm_abs_ec309e484956595982b1ecc2903ff66c", - "l_and-interp", "l_quant_interp_a5c208f107f89085669575830e583894", + "interpretation_Tm_abs_b00f540371721594cb64fd4424fdebf3", + "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", + "interpretation_Tm_abs_e2ac9feb4f6cb36e6ed8fac286e8dfb7", + "l_and-interp", "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd", - "typing_Tm_abs_ded53d4edd4e64e5685341f66b5930b1" + "typing_Tm_abs_b00f540371721594cb64fd4424fdebf3", + "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "f2bf0d1c8d4be739fd90d4977fc5a43e" + "6d5784041add1509dc1b06c02b8c77fb" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_or", @@ -190,14 +194,14 @@ 1, [ "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_1c9edceeb9a53901f29695f5bf68479f", - "interpretation_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd", - "l_or-interp", "l_quant_interp_a5c208f107f89085669575830e583894", + "interpretation_Tm_abs_6a8adeed7179f900ad3f12cc0b419230", + "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", + "l_or-interp", "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd" + "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "13c5e18d5302f5ee6c9646fc6d547e8d" + "4b074f1e5c01c513d1e7a5abdaad7158" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_impl", @@ -206,20 +210,20 @@ 1, [ "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd", - "interpretation_Tm_abs_9fecc13282caab70d3b0902add857eb5", - "interpretation_Tm_abs_c904132e5fc114247c7fe87ef361d415", - "interpretation_Tm_abs_e6627210502846430b72de240ada8c29", + "interpretation_Tm_abs_96590ec0fa93c7eac2fae62f26e7bc06", + "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", + "interpretation_Tm_abs_e45b890c8bed1619d6b1f21cff2877a6", + "interpretation_Tm_abs_ea1703a99385b474600aa7a3bdb045c5", "l_and-interp", "l_imp-interp", - "l_quant_interp_143e64f84316283e22cefc8019ebb972", - "l_quant_interp_a5c208f107f89085669575830e583894", + "l_quant_interp_5481ff6b92a24c65b17082bcc8921daa", + "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd", - "typing_Tm_abs_9fecc13282caab70d3b0902add857eb5", - "typing_Tm_abs_e6627210502846430b72de240ada8c29" + "typing_Tm_abs_96590ec0fa93c7eac2fae62f26e7bc06", + "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da", + "typing_Tm_abs_e45b890c8bed1619d6b1f21cff2877a6" ], 0, - "b2860dfbc9101a3688e8b371d712a947" + "e2788cccec658b476861afd6ba0337c0" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_forall", @@ -228,22 +232,22 @@ 1, [ "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_04feb4a740054fc843355fb3fa0bb8df", - "interpretation_Tm_abs_4b61fa56e1902e7afea8e12bde144653", - "interpretation_Tm_abs_4e3626341dd61a7642faf2f327a3128f", - "interpretation_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd", - "interpretation_Tm_abs_a15ef5ca10c9c855e7a6baddc7ff41d1", - "l_quant_interp_31762b9fbf9ca9d96c9c865c0843950e", - "l_quant_interp_43c9d287436a863f0c8da31413fbf73e", - "l_quant_interp_4f9ad1252e8fe3c0364ef32554d1b2af", - "l_quant_interp_a5c208f107f89085669575830e583894", + "interpretation_Tm_abs_38e52928eac51eef7d8281f4ae415557", + "interpretation_Tm_abs_8c64a25722867a28c2ad4d5fab5e928c", + "interpretation_Tm_abs_b68d980611ecc54774f1a63dba314a7d", + "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", + "interpretation_Tm_abs_e320c1b0db2f973703519f096ca636a5", + "l_quant_interp_0b1b710a8bfdc3d62549685b3ad0a6b3", + "l_quant_interp_471605d0df5067f83ec974c260416a22", + "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", + "l_quant_interp_c1f07566cc048692ff39a831f6222658", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_4b61fa56e1902e7afea8e12bde144653", - "typing_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd", - "typing_Tm_abs_a15ef5ca10c9c855e7a6baddc7ff41d1" + "typing_Tm_abs_38e52928eac51eef7d8281f4ae415557", + "typing_Tm_abs_8c64a25722867a28c2ad4d5fab5e928c", + "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "4c95f13b75c3884c561731bf4db0575b" + "33edf7527f1d1eec60240ba9d5702e36" ], [ "FStar.Monotonic.Witnessed.lemma_witnessed_exists", @@ -252,15 +256,15 @@ 1, [ "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd", - "interpretation_Tm_abs_c9a1d03742b4538e43a09be9b52678fe", - "l_quant_interp_557d3d84e88c20c8c106cbb75e9f32d3", - "l_quant_interp_a5c208f107f89085669575830e583894", + "interpretation_Tm_abs_c6d82aa0d722e7b10f95d539c2f392ce", + "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", + "l_quant_interp_17ae6cbceb1ff3fa3aa72b1120526068", + "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_7784c51da525e05b4870f7f2dcb69ecd" + "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" ], 0, - "5e418d738d12313985b1e9a38fc915a7" + "bfc947afc8540380695e0ca45d68ca06" ], [ "FStar.Monotonic.Witnessed.witnessed_defs_equiv_1", @@ -269,7 +273,7 @@ 1, [ "@query" ], 0, - "58680ef9bb896ed1e32696c46e372064" + "fb8706f9d1fedac801f1ff79fe89b751" ], [ "FStar.Monotonic.Witnessed.witnessed_defs_equiv_2", @@ -283,7 +287,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "98d73546c268bd3cd1ea183dbfca8c1d" + "4c92eb5e796811171e127acf724ad3a2" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Option.fst.hints b/ulib/FStar.Option.fst.hints index c0412307ca3..faa3b2c8d5f 100644 --- a/ulib/FStar.Option.fst.hints +++ b/ulib/FStar.Option.fst.hints @@ -15,7 +15,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "51329c86d5b21c483c87cfd6785ea45a" + "3f456340998f7d6917e00334a3d77365" ], [ "FStar.Option.isSome", @@ -31,7 +31,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "9d77f3af46d38f8fc1755af17503ef66" + "511076c7e93c8e1b3fb08e45157e7864" ], [ "FStar.Option.map", @@ -47,7 +47,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "da29ebc9864c2352fd28edae0c89ed1e" + "244b73f878a10e7b6c8bdec25e4e2c06" ], [ "FStar.Option.mapTot", @@ -63,7 +63,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e01f99541eb835eacd371feca8896f37" + "752ae50d5280fe4b165504975f879737" ], [ "FStar.Option.get", @@ -79,7 +79,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "6e661aeb1991ec54a2bd04402f43e330" + "38cd3b007b0cdb66f9c53696a6958f2b" ], [ "FStar.Option.isNone", @@ -95,7 +95,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "84c30dc6046ac35e5335f896f6ce0bc6" + "7458c848e656910a3a8960e77762c0f8" ], [ "FStar.Option.isSome", @@ -111,7 +111,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "7ed4b398462cbaeabebf212b5e4b15a3" + "af55b8e43735b363530a7daef1ed93be" ], [ "FStar.Option.mapTot", @@ -127,7 +127,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "257293b3fa6257e8f43646df6b5f6926" + "085cb03544b1d3f088205365653ad018" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.OrdMap.fst.hints b/ulib/FStar.OrdMap.fst.hints index b1a75aef749..3d963d965ea 100644 --- a/ulib/FStar.OrdMap.fst.hints +++ b/ulib/FStar.OrdMap.fst.hints @@ -11,7 +11,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "169f58d1e46efbebbb74b1d01a46bdf0" + "fa377439203d9e91511ed9feb39f811f" ], [ "FStar.OrdMap.map_t", @@ -23,7 +23,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "6b140cda3521acb9a7af3de7ccee6292" + "951d31816553ca22f4df1cec19fe2a8e" ], [ "FStar.OrdMap.ordmap", @@ -35,7 +35,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "3920a712af262634e5f9c3426240c32f" + "a0672e6fbeadc823beca97f206b40406" ], [ "FStar.OrdMap.__proj__Mk_map__item__d", @@ -47,7 +47,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "5dfb0522c878020842c8411d38fb5394" + "dd76b4b7d48818efcf9b3856e49fcd7d" ], [ "FStar.OrdMap.__proj__Mk_map__item__d", @@ -59,7 +59,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "e3da2e1a6f9e05ca82e4b60c2e6edd1a" + "78734a86f204b38e5b340746ae184be0" ], [ "FStar.OrdMap.__proj__Mk_map__item__m", @@ -71,7 +71,7 @@ "projection_inverse_FStar.OrdMap.Mk_map_d" ], 0, - "bd0feb05cbb84ead7a115931f3aafc63" + "41c88084f379b8d4e737f6bb037572ef" ], [ "FStar.OrdMap.const_on", @@ -83,7 +83,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "7b77a794ae60c60830f1cd8b0143312d" + "6fc7f0e000c07be4f3661be097269aac" ], [ "FStar.OrdMap.dom", @@ -95,7 +95,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "41e233cd11b95745b98569ad6fa56154" + "4e866ded39a614e3a80544a3d254b4ed" ], [ "FStar.OrdMap.empty", @@ -103,19 +103,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.OrdMap.cmp", "equation_FStar.OrdMap.total_order", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "lemma_FStar.OrdSet.mem_empty", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "typing_FStar.OrdSet.mem" ], 0, - "b370cfa76199b0ed3eeebd9108b4afb7" + "681ce849e4167cbcae383a1a3d8dccfe" ], [ "FStar.OrdMap.const_on", @@ -127,7 +126,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "2ac406edeba362b5aef0c00c6bf4f14e" + "1202ffa1de26a2458889adb5183adc40" ], [ "FStar.OrdMap.const_on", @@ -135,21 +134,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.OrdMap.cmp", "equation_FStar.OrdMap.total_order", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "typing_FStar.OrdSet.mem" ], 0, - "cab0b7dbc14c5054c50eb1a235f16fa8" + "5f1aace624f09ac4b542645d07dfdb9a" ], [ "FStar.OrdMap.insert", @@ -161,7 +159,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "3b07492d267a94c79c0abb9643bd18e2" + "2b9da65163882e4e04f5ef860fd0e4ee" ], [ "FStar.OrdMap.insert", @@ -175,7 +173,7 @@ "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93" ], 0, - "fa9cf06289c9abbb1190537545c1e5f0" + "e23327b9f0fdafa428ecf6845d2381f4" ], [ "FStar.OrdMap.update", @@ -183,9 +181,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.OrdMap.Mk_map", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.OrdMap.cmp", "equation_FStar.OrdMap.insert", @@ -199,14 +196,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", "typing_FStar.OrdSet.singleton" ], 0, - "de2e8b12c4b55db5b8f1102d3da4d20d" + "04a6e8657262a82a43f496328b6b6af1" ], [ "FStar.OrdMap.contains", @@ -218,7 +215,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "c4fa2006d37328ba9e49130040c73fbe" + "5ca7133edd20259008b70d1702fcd3d3" ], [ "FStar.OrdMap.remove", @@ -227,9 +224,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_FStar.OrdMap.Mk_map", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -239,21 +236,21 @@ "equation_FStar.OrdSet.total_order", "fuel_guarded_inversion_FStar.OrdMap.ordmap", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.OrdMap.Mk_map_d", "proj_equation_FStar.OrdMap.Mk_map_m", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m" ], 0, - "f089dcf6c9ab1e8f9a08260808f3dc54" + "15f2a5b56c11e76273802d0a9e9a1923" ], [ "FStar.OrdMap.choose", @@ -261,9 +258,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.OrdMap.Mk_map", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -281,16 +277,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", "typing_FStar.OrdSet.remove", "typing_FStar.OrdSet.singleton", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "2ace9e2d5dd7cc2f5fb08ee3ad05107b" + "fd29b399dc640e1f4cb483fa06e163b4" ], [ "FStar.OrdMap.size", @@ -302,7 +298,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "4231fd56de083319c2d4ff471e9047b1" + "fa17e256e329606cb614d3f87f78b213" ], [ "FStar.OrdMap.choose_m", @@ -311,7 +307,7 @@ 1, [ "@query" ], 0, - "57478c42dbad36620a5cf9651818a94f" + "9cc9be0cb46920f48f22500eb834b2fb" ], [ "FStar.OrdMap.dom_lemma", @@ -323,7 +319,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "4a90db03bb0ebd4fd5604a99813619b6" + "92a3bcfc48de3e0f764cafa4197b03e6" ], [ "FStar.OrdMap.contains_const_on", @@ -335,7 +331,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "a8c718d5a15428651e2bb7f92d589b79" + "ccaf1ca84a5922b4a5b14bad4343acbf" ], [ "FStar.OrdMap.select_const_on", @@ -344,24 +340,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.OrdMap_interpretation_Tm_arrow_964a12e049561b9775c3c25a7bb018c7", + "FStar.OrdMap_interpretation_Tm_arrow_89f35a839d7f3b444cff4c1f48d43a35", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.OrdMap.cmp", "equation_FStar.OrdMap.const_on", "equation_FStar.OrdMap.contains", "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.select", "equation_FStar.OrdMap.total_order", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", + "equation_FStar.OrdSet.total_order", "function_token_typing_FStar.OrdMap.__proj__Mk_map__item__m", "proj_equation_FStar.OrdMap.Mk_map_d", - "proj_equation_FStar.OrdMap.Mk_map_m", "projection_inverse_FStar.OrdMap.Mk_map_d", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", "typing_FStar.OrdMap.const_on" ], 0, - "4da2ff35d41750d32a3f0f971f2344e3" + "175b39e7f8833092508c93740f111a53" ], [ "FStar.OrdMap.eq_intro", @@ -370,7 +364,7 @@ 1, [ "@query", "equation_FStar.OrdMap.equal" ], 0, - "167748b950dc36a9ffa4c830e5c06a48" + "3e52ae9cdd2dac55b5b55c92e3719894" ], [ "FStar.OrdMap.eq_lemma", @@ -390,14 +384,14 @@ "proj_equation_FStar.OrdMap.Mk_map_m", "projection_inverse_FStar.OrdMap.Mk_map_m", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", + "refinement_interpretation_Tm_refine_53a3d5c3025abd1b7069169cbada8555", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "fe595f333bba96b66abf4b5fcdcf9f91" + "cd38e2f649bfacc6c5b88399aaeac4da" ], [ "FStar.OrdMap.upd_order", @@ -406,18 +400,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "constructor_distinct_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.select", "equation_FStar.OrdMap.update", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdMap.eq_intro", "primitive_Prims.op_Equality", @@ -427,15 +420,15 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", "typing_FStar.OrdMap.update", - "typing_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "774c38d309e36cb566d49de873e77ca6" + "de53afaf97ea3007a6a7c62e8470645c" ], [ "FStar.OrdMap.upd_same_k", @@ -444,31 +437,30 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.select", "equation_FStar.OrdMap.update", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdMap.eq_intro", "proj_equation_FStar.OrdMap.Mk_map_m", "projection_inverse_FStar.OrdMap.Mk_map_m", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", "typing_FStar.OrdMap.update", - "typing_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "4cb38517781ed6f27e8725dc24f424da" + "230d131b5b507d5df156a2ee1b06e498" ], [ "FStar.OrdMap.sel_upd1", @@ -477,25 +469,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdMap.select", "equation_FStar.OrdMap.update", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.OrdMap.Mk_map_m", "projection_inverse_FStar.OrdMap.Mk_map_m", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "7264b918e6c3ef15ac281a4a44ab62f6" + "ec02da72b3d798d2c713cb84dee8bc05" ], [ "FStar.OrdMap.sel_upd2", @@ -504,26 +495,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdMap.select", "equation_FStar.OrdMap.update", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.OrdMap.Mk_map_m", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.OrdMap.Mk_map_m", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "321bc98796c69a47933dea53f038bf22" + "0e0fd1567de739f2493ddf2f7061e7c4" ], [ "FStar.OrdMap.sel_empty", @@ -532,24 +522,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdMap.empty", "equation_FStar.OrdMap.select", "equation_Prims.eqtype", - "interpretation_Tm_abs_6f6fcc3ebec52b2da2b95be9b0664954", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_2f35253ebccdd287e7ba60e135319e77", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.OrdMap.Mk_map_m", "projection_inverse_FStar.OrdMap.Mk_map_m", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_Tm_abs_6f6fcc3ebec52b2da2b95be9b0664954", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_2f35253ebccdd287e7ba60e135319e77", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "938c809dfaf91e89c7f4961dab98a558" + "65974105777aa693509eedf5f80b5bf9" ], [ "FStar.OrdMap.sel_contains", @@ -563,11 +552,11 @@ "fuel_guarded_inversion_FStar.OrdMap.ordmap", "proj_equation_FStar.OrdMap.Mk_map_d", "proj_equation_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m" ], 0, - "33c795153100f485dd7d816c221d4e2b" + "498e82333c7d56133a218387b21c02e6" ], [ "FStar.OrdMap.contains_upd1", @@ -576,19 +565,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "data_elim_FStar.OrdMap.Mk_map", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdMap.contains", "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.update", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "proj_equation_FStar.OrdMap.Mk_map_d", @@ -598,14 +586,14 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", "typing_FStar.OrdMap.contains", "typing_FStar.OrdMap.update", - "typing_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "715395b2902cc5b3b76ce5b9ee4f8c42" + "82c3458e98a0ae18687e45823879a65a" ], [ "FStar.OrdMap.contains_upd2", @@ -621,7 +609,7 @@ "typing_FStar.OrdMap.contains" ], 0, - "12bc3c9b5779a489d204fcf57ae38760" + "7c65c2c4eed40354751c4442d01ad818" ], [ "FStar.OrdMap.contains_empty", @@ -630,29 +618,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_FStar.OrdMap.Mk_map", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdMap.contains", "equation_FStar.OrdMap.empty", "equation_FStar.OrdMap.map_t", "equation_Prims.eqtype", - "interpretation_Tm_abs_6f6fcc3ebec52b2da2b95be9b0664954", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_2f35253ebccdd287e7ba60e135319e77", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "proj_equation_FStar.OrdMap.Mk_map_d", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.OrdMap.Mk_map_d", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", "typing_FStar.OrdMap.empty", - "typing_Tm_abs_6f6fcc3ebec52b2da2b95be9b0664954", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_2f35253ebccdd287e7ba60e135319e77", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "12d5a142f0f4bc54d65e4ccde53e4432" + "3ec1f844453f46df6af17fe3e5eaf31f" ], [ "FStar.OrdMap.contains_remove", @@ -661,19 +648,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "data_elim_FStar.OrdMap.Mk_map", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdMap.contains", "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.remove", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_b61c906a6e573a11d9edd58d0738754d", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_a67303211830f04a8332ebc1fe45fa32", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.OrdMap.Mk_map_d", @@ -681,14 +667,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.OrdMap.Mk_map_d", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", "typing_FStar.OrdMap.contains", "typing_FStar.OrdMap.remove", - "typing_Tm_abs_b61c906a6e573a11d9edd58d0738754d", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_a67303211830f04a8332ebc1fe45fa32", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "1037e84699bcd979d518defec4e56938" + "46ec68aab1b0cdd8ea2533df7f439f46" ], [ "FStar.OrdMap.eq_remove", @@ -697,20 +683,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdMap.contains", "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.remove", "equation_FStar.OrdMap.select", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_b61c906a6e573a11d9edd58d0738754d", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_a67303211830f04a8332ebc1fe45fa32", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdMap.eq_intro", "lemma_FStar.Pervasives.invertOption", @@ -721,16 +706,16 @@ "projection_inverse_FStar.OrdMap.Mk_map_m", "projection_inverse_FStar.Pervasives.Native.None_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", "typing_FStar.OrdMap.contains", "typing_FStar.OrdMap.remove", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_Tm_abs_b61c906a6e573a11d9edd58d0738754d", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_a67303211830f04a8332ebc1fe45fa32", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "d0a7dfcf2734c2c1d009e6db70f55427" + "b17e79e6cd2c6479162b05754415405f" ], [ "FStar.OrdMap.choose_empty", @@ -739,7 +724,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -754,13 +738,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.OrdMap.Mk_map_d", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", - "typing_FStar.OrdMap.choose", "typing_FStar.OrdMap.empty", - "typing_FStar.Pervasives.Native.uu___is_None" + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "typing_FStar.OrdMap.choose", "typing_FStar.OrdMap.empty" ], 0, - "90cea6ea42b8c2316ddaa39db9e8383a" + "f91e61308edc5ae740daaa2e4b8f570f" ], [ "FStar.OrdMap.dom_empty_helper", @@ -773,11 +756,11 @@ "equation_FStar.OrdSet.total_order", "fuel_guarded_inversion_FStar.OrdMap.ordmap", "lemma_FStar.OrdSet.hasEq_ordset", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93" + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50" ], 0, - "9cf578fcf966cb2185b43291fc0c89ae" + "eb23a0860415ef16082d84be26c52c2f" ], [ "FStar.OrdMap.dom_empty_helper", @@ -786,21 +769,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdMap.cmp", "equation_FStar.OrdMap.dom", "equation_FStar.OrdMap.empty", "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.total_order", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_6f6fcc3ebec52b2da2b95be9b0664954", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_2f35253ebccdd287e7ba60e135319e77", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdSet.hasEq_ordset", "lemma_FStar.OrdSet.mem_empty", @@ -810,15 +792,15 @@ "projection_inverse_FStar.OrdMap.Mk_map_d", "projection_inverse_FStar.OrdMap.Mk_map_m", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", - "typing_Tm_abs_6f6fcc3ebec52b2da2b95be9b0664954", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "typing_Tm_abs_2f35253ebccdd287e7ba60e135319e77", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "ec3f76bf4508706c333a7c1f6fb91125" + "f6ea335f2ce151d38d5e844cce533c03" ], [ "FStar.OrdMap.choose_m", @@ -827,9 +809,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Tm_unit", "data_elim_FStar.OrdMap.Mk_map", @@ -837,7 +819,6 @@ "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.OrdMap.choose", "equation_FStar.OrdMap.cmp", "equation_FStar.OrdMap.empty", "equation_FStar.OrdMap.equal", @@ -849,9 +830,9 @@ "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.OrdMap.ordmap", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_b61c906a6e573a11d9edd58d0738754d", - "interpretation_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "interpretation_Tm_abs_a67303211830f04a8332ebc1fe45fa32", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdMap.eq_intro", "lemma_FStar.OrdMap.sel_empty", @@ -871,22 +852,22 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a29a9915569a1d94c0098611e782f46", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", + "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", "typing_FStar.OrdMap.__proj__Mk_map__item__d", "typing_FStar.OrdMap.__proj__Mk_map__item__m", "typing_FStar.OrdMap.empty", "typing_FStar.OrdMap.select", "typing_FStar.OrdSet.choose", "typing_FStar.OrdSet.singleton", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_b61c906a6e573a11d9edd58d0738754d", - "typing_Tm_abs_bd52ade5b007b9a6cd6e31e241d0ac5c", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", + "typing_Tm_abs_a67303211830f04a8332ebc1fe45fa32", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "1710a48d5e200039fc0393f0b0fbe113" + "4aab94d674f347a3a43aee2caba739e9" ], [ "FStar.OrdMap.size_empty", @@ -904,13 +885,13 @@ "proj_equation_FStar.OrdMap.Mk_map_d", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.OrdMap.Mk_map_d", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "typing_FStar.OrdMap.__proj__Mk_map__item__d", "typing_FStar.OrdMap.empty" ], 0, - "bccd66a4ddbfab23128039c7ae987abb" + "99fc6d7ba8b161fe071f8d3d1a953558" ], [ "FStar.OrdMap.size_remove", @@ -918,23 +899,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.OrdMap.cmp", "equation_FStar.OrdMap.contains", - "equation_FStar.OrdMap.remove", "equation_FStar.OrdMap.size", - "equation_FStar.OrdMap.total_order", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.total_order", + "@MaxIFuel_assumption", "@query", "equation_FStar.OrdMap.cmp", + "equation_FStar.OrdMap.contains", "equation_FStar.OrdMap.remove", + "equation_FStar.OrdMap.size", "equation_FStar.OrdMap.total_order", + "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "fuel_guarded_inversion_FStar.OrdMap.ordmap", "lemma_FStar.OrdSet.size_remove", "proj_equation_FStar.OrdMap.Mk_map_d", "projection_inverse_FStar.OrdMap.Mk_map_d", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93", - "typing_FStar.OrdMap.__proj__Mk_map__item__d", - "typing_FStar.OrdMap.contains" + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "typing_FStar.OrdMap.__proj__Mk_map__item__d" ], 0, - "cc374a4f056f6b14321356574f9bfd53" + "fa77ffcc731733a6ced7b671d76576dc" ], [ "FStar.OrdMap.dom_lemma", @@ -946,7 +924,7 @@ "equation_FStar.OrdMap.dom" ], 0, - "9bb8e3b2536c2538366a9ea7f0c5b45c" + "b7e5a49e2c99b848c1f5c9bde79e7d00" ], [ "FStar.OrdMap.contains_const_on", @@ -958,7 +936,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "f85191475c0c72cffbcc7a64c0f37096" + "86ca9929f5fe644efdb68f5b96de4057" ], [ "FStar.OrdMap.contains_const_on", @@ -972,7 +950,7 @@ "projection_inverse_FStar.OrdMap.Mk_map_d" ], 0, - "74a9df3154d9f01945fd1b8fd9bdc6b7" + "1f41e5b7f51c89e9479aecc156fc313b" ], [ "FStar.OrdMap.select_const_on", @@ -984,7 +962,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "bb3c468c4cb641dfddf2692b0c3f20bd" + "d65223419875ff2bbb8ebca406432b59" ], [ "FStar.OrdMap.select_const_on", @@ -993,14 +971,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "bool_inversion", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdMap.const_on", "equation_FStar.OrdMap.select", "equation_Prims.eqtype", - "interpretation_Tm_abs_2ef7de197ca3907c180e2bbebdd88983", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", + "interpretation_Tm_abs_f1479a1df6adf80103d303f836a579f7", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.OrdMap.contains_const_on", "proj_equation_FStar.OrdMap.Mk_map_m", @@ -1011,11 +988,11 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", "typing_FStar.OrdMap.const_on", "typing_FStar.OrdMap.contains", - "typing_Tm_abs_2ef7de197ca3907c180e2bbebdd88983", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b", + "typing_Tm_abs_f1479a1df6adf80103d303f836a579f7" ], 0, - "01e6e0dabed2ed3396f0683610be605a" + "952279d6f135a57aa164a74b84de5ac3" ], [ "FStar.OrdMap.sel_rem1", @@ -1024,25 +1001,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdMap.remove", "equation_FStar.OrdMap.select", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_b61c906a6e573a11d9edd58d0738754d", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_a67303211830f04a8332ebc1fe45fa32", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.OrdMap.Mk_map_m", "projection_inverse_FStar.OrdMap.Mk_map_m", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_Tm_abs_b61c906a6e573a11d9edd58d0738754d", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_a67303211830f04a8332ebc1fe45fa32", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "dfafa4632e9a65933765681d5b77de41" + "bfeff965082187c33312aa314fe1e114" ], [ "FStar.OrdMap.sel_rem2", @@ -1051,26 +1027,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_1309b2ba2b486dd3a0f833087ae704ad", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.OrdMap.remove", "equation_FStar.OrdMap.select", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_b61c906a6e573a11d9edd58d0738754d", - "interpretation_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9", + "interpretation_Tm_abs_a67303211830f04a8332ebc1fe45fa32", + "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "proj_equation_FStar.OrdMap.Mk_map_m", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.OrdMap.Mk_map_m", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_Tm_abs_b61c906a6e573a11d9edd58d0738754d", - "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" + "typing_Tm_abs_a67303211830f04a8332ebc1fe45fa32", + "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" ], 0, - "4c6a6be6d4439fd4076e854fcf3aa81b" + "e2d11b73ad09f6e49a73158f7f9e82c6" ], [ "FStar.OrdMap.rem_upd", @@ -1103,7 +1078,7 @@ "typing_Tm_abs_c29f6dbbd84df23e02312a727dd2b9d9" ], 0, - "c6317d02533fc047af21e8421e6ce914" + "c9d91609114d529b9488f10b277df681" ], [ "FStar.OrdMap.map_t", @@ -1115,7 +1090,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "e689619f7759f661b9acbe7eb3e10e80" + "1be8c0313eb87ab7531c654179f5b37f" ], [ "FStar.OrdMap.const_on", @@ -1127,7 +1102,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "30f44b087536855df98576e3e636b953" + "643f6e6ad4d1c0addf2f8529a04f8413" ], [ "FStar.OrdMap.insert", @@ -1139,7 +1114,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "2764c9b93dfae11cdec92c9c386f3d11" + "408753c15fa39ebe29a0e078c17bb889" ], [ "FStar.OrdMap.insert", @@ -1153,7 +1128,7 @@ "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93" ], 0, - "bc4616bed8e7a4b1ba56511771e26734" + "cd5307b4bb9e604b93280b78ce61019d" ], [ "FStar.OrdMap.insert", @@ -1165,7 +1140,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "819a275ff2a0cb818f7a35b4da21cb3e" + "3d21965d12d4441ded0af32bb5b13e52" ], [ "FStar.OrdMap.dom", @@ -1177,7 +1152,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "be03dab8c972335c50917e2019640a79" + "70f35bb594b04e6b249e02038252337e" ], [ "FStar.OrdMap.dom_empty_helper", @@ -1189,11 +1164,11 @@ "equation_FStar.OrdMap.total_order", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", "lemma_FStar.OrdSet.hasEq_ordset", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", - "refinement_interpretation_Tm_refine_f1d03c53111f5957ece8bf1c261fee93" + "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50" ], 0, - "fee02bbe9396dedebeb4a20c5050861e" + "28fb2bcd983e67136b67e5a8298d73e1" ], [ "FStar.OrdMap.choose_m", @@ -1202,7 +1177,7 @@ 1, [ "@query" ], 0, - "133d8649aa79b2c7368505ad13e2e1a0" + "f355359c233bea1cbc791ccec36782ca" ], [ "FStar.OrdMap.dom_lemma", @@ -1214,7 +1189,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "cc5d66ec34718368450d32eeb92f7dae" + "ca4d435fc2003b7010d7490cbb3b654a" ], [ "FStar.OrdMap.contains_const_on", @@ -1226,7 +1201,7 @@ "equation_FStar.OrdSet.total_order" ], 0, - "d154ad616d1606769c12b1e183d5eeda" + "4b3e7ce6c48b937cacc6eca6cbd7200e" ], [ "FStar.OrdMap.select_const_on", @@ -1242,7 +1217,7 @@ "typing_FStar.OrdMap.const_on" ], 0, - "c1494b77769349b0feaaf71333168c87" + "22ccbb2a393430a1e708ac107813f52d" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.OrdMapProps.fst.hints b/ulib/FStar.OrdMapProps.fst.hints index 2bf51f46473..1e2b78d887a 100644 --- a/ulib/FStar.OrdMapProps.fst.hints +++ b/ulib/FStar.OrdMapProps.fst.hints @@ -8,18 +8,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_2", - "binder_x_64708a90e4c1cd5b69c070f58f27b7f6_5", - "binder_x_f538212e06d702a48faf191d4189dbc7_7", + "binder_x_06b52328a0126bab40d52f7d3255b94f_7", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_2", + "binder_x_db2cd789b023eeccbb0b327fc82c73ad_5", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", + "equation_Prims.nat", "int_inversion", + "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.OrdMap.choose_m", "lemma_FStar.OrdMap.contains_upd1", "lemma_FStar.OrdMap.eq_lemma", "lemma_FStar.OrdMap.size_empty", "lemma_FStar.OrdMap.size_remove", "primitive_Prims.op_Addition", @@ -33,7 +31,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.OrdMap.choose", "typing_FStar.OrdMap.empty", "typing_FStar.OrdMap.remove", "typing_FStar.OrdMap.size", "typing_FStar.OrdMap.update", @@ -41,7 +39,7 @@ "well-founded-ordering-on-nat" ], 0, - "16e91c973d1c3b5512cfcedd5d95fb4e" + "b6112cde97cd86a1c77d948ccdccb70d" ], [ "FStar.OrdMapProps.fold", @@ -50,18 +48,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_2", - "binder_x_64708a90e4c1cd5b69c070f58f27b7f6_5", - "binder_x_f538212e06d702a48faf191d4189dbc7_7", + "binder_x_06b52328a0126bab40d52f7d3255b94f_7", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_2", + "binder_x_db2cd789b023eeccbb0b327fc82c73ad_5", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", + "equation_Prims.nat", "int_inversion", + "kinding_FStar.Pervasives.Native.tuple2@tok", "lemma_FStar.OrdMap.choose_m", "lemma_FStar.OrdMap.contains_upd1", "lemma_FStar.OrdMap.eq_lemma", "lemma_FStar.OrdMap.size_empty", "lemma_FStar.OrdMap.size_remove", "primitive_Prims.op_Addition", @@ -75,7 +71,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.OrdMap.choose", "typing_FStar.OrdMap.empty", "typing_FStar.OrdMap.remove", "typing_FStar.OrdMap.size", "typing_FStar.OrdMap.update", @@ -83,7 +79,7 @@ "well-founded-ordering-on-nat" ], 0, - "5b19e6842395a264a4f0bee81bcda747" + "5821008950d38e9a385543f8867ff0b0" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.OrdSet.fst.hints b/ulib/FStar.OrdSet.fst.hints index f3e44d25ac8..502ba162b09 100644 --- a/ulib/FStar.OrdSet.fst.hints +++ b/ulib/FStar.OrdSet.fst.hints @@ -8,8 +8,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", @@ -19,7 +19,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "04cc9a5fd02e84e74cfee38467b59f9c" + "1517f8e5c8186ae7e563af563929ff8f" ], [ "FStar.OrdSet.hasEq_ordset", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4c6507d1c75bcbdfd3e817361250d6e3" + "1915bfa3f8f9bf6475b283146c484035" ], [ "FStar.OrdSet.set_props", @@ -46,7 +46,7 @@ "refinement_interpretation_Tm_refine_e00a70afb2033366e70144b9d967c6dc" ], 0, - "362282f3094cc85ebb895711d47ee4f1" + "af2e1dd6c49e17ac0e36328ced13af01" ], [ "FStar.OrdSet.set_props", @@ -54,11 +54,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_5fc7dc5154b43df7e34e3285cb51f916" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_9e64f45cb9f7077a74b34c39c11dbc07" ], 0, - "32eb43719993c15928c3a276d1a6e6d5" + "d7c2d2918ba8e6ef360bf4c28f210a14" ], [ "FStar.OrdSet.set_props", @@ -71,10 +71,10 @@ "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_7b1fd7f91e99f7f5e05a4a0909afaa0a_2", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "binder_x_3217d154b50682b3c14d2db71a9e3fbd_2", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.as_list", "equation_FStar.OrdSet.cmp", @@ -91,15 +91,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_5cfcc273cf73b354377d1372abf61fa0", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_4273d9a916aab47bf30632ec67cd4801", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.sorted" ], 0, - "02ee5c404d9962de9bd7d22f5b73ac7f" + "419f87473b2f4331a9db895ed99a7d4d" ], [ "FStar.OrdSet.hd_unique", @@ -108,10 +108,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "57941be48138a7c3bc9ee55e040d8fbb" + "4003d58257c0b77d62e01a74b94b9858" ], [ "FStar.OrdSet.hd_unique", @@ -126,7 +126,7 @@ "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" ], 0, - "e40120b20c0b55a18cddf3903f890e31" + "a7f5377a3dce57a2e8fdf6d303aaa106" ], [ "FStar.OrdSet.empty", @@ -144,7 +144,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b88fae4adbe45a0acde99b2e07d37930" + "6bfd8db452160ba58fa3db6ed6caef03" ], [ "FStar.OrdSet.insert'", @@ -153,7 +153,7 @@ 1, [ "@query" ], 0, - "3f29df329ca04cce9d2657dc53a120d2" + "36248f855441910b5ae0114bd8cde8a5" ], [ "FStar.OrdSet.insert'", @@ -162,7 +162,7 @@ 1, [ "@query" ], 0, - "803c634e7d3c7d05c514f3be3f296de6" + "79dd8ffc5e69811fe01b15128f67a0c1" ], [ "FStar.OrdSet.insert'", @@ -173,11 +173,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -192,15 +192,15 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", + "refinement_interpretation_Tm_refine_c6767c399e615935ab5ea3bf911cf9d6", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_ff4dd99496acad3b77affa1dc5d7cdd3", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "typing_FStar.OrdSet.sorted" ], 0, - "62eac42431628ca84fca35b0058da1de" + "17a0fe688927b2dcadaa6fa7b3923917" ], [ "FStar.OrdSet.union", @@ -211,9 +211,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_2", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", "bool_inversion", + "binder_x_3963c708585e84be8cb36ae94c32dace_2", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", @@ -225,7 +225,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.OrdSet.sorted" ], 0, - "b0ffed56ecf2407ec0379971a31b1a8f" + "f42a338e967de76bce4fea39103bb075" ], [ "FStar.OrdSet.intersect", @@ -236,9 +236,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_2", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", "bool_inversion", + "binder_x_3963c708585e84be8cb36ae94c32dace_2", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", @@ -250,7 +250,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.OrdSet.sorted" ], 0, - "4b271f3b584241258252deb2452a9852" + "5bf6f228bb2823de8a7b50ffded30d89" ], [ "FStar.OrdSet.disjoint", @@ -259,7 +259,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "f08abc84e231d15b54be667502a013f2" + "011f5cf3549313720e2312084eec7a41" ], [ "FStar.OrdSet.choose", @@ -273,7 +273,7 @@ "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" ], 0, - "5fc25ca657e8455bd17c0c72ae7bc1f8" + "6d2a7152d8f8d4513916d5c6d58cd0c5" ], [ "FStar.OrdSet.remove'", @@ -286,7 +286,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ab79cfbb738318e290de8ecb5c9e7fd7" + "07001b6798f1042092f2831dcba1c527" ], [ "FStar.OrdSet.remove'", @@ -299,7 +299,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d7d3df378fd9601ad29f6c8672512dc1" + "b18091f79a2fc4a276731726c4455712" ], [ "FStar.OrdSet.remove'", @@ -310,12 +310,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "assumption_Prims.list__uu___haseq", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", "bool_inversion", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -331,15 +331,15 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5125fe7c40b04719a2195e9a6ba28b75", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_a8122d64dc4699128ae684a615307f6b", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "typing_FStar.OrdSet.sorted" ], 0, - "9e3d699e83aaea3bb361e667d83ab72b" + "e4e2dde8f5c135010ad931b555e42bae" ], [ "FStar.OrdSet.subset", @@ -350,10 +350,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_2", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", "bool_inversion", + "binder_x_3963c708585e84be8cb36ae94c32dace_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", @@ -373,7 +373,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "0ba06f8dffa950976b2445f5de4a9088" + "3d5964f86cdecfb91b91af65962bbd86" ], [ "FStar.OrdSet.singleton", @@ -394,7 +394,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3adf32028e597498d85163016f963fd0" + "2eb364dd602db13e66ba177d90b35b2b" ], [ "FStar.OrdSet.eq_lemma", @@ -403,7 +403,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "aaeb12dd6e853dd43ffed5732af6199b" + "3d081ce1ad34ef8cb6bbeb36f2e8a25a" ], [ "FStar.OrdSet.choose_s", @@ -412,7 +412,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "512bc873962d556f513d7c2ada54f526" + "8e0e324640bf6be94e9cc4325a75fb8b" ], [ "FStar.OrdSet.eq_remove", @@ -421,7 +421,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "a030eb7b8cb50e6fa9ef6aeae9343baf" + "26e0850724d4fc61b46c2e0b71b69f07" ], [ "FStar.OrdSet.size_empty", @@ -430,7 +430,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "6e70fcb29fde024ae2414fb439021b8e" + "d7f5ff0541ba69bb5f02d335a4d53645" ], [ "FStar.OrdSet.eq_helper", @@ -439,7 +439,7 @@ 1, [ "@query" ], 0, - "4bf2dccd0559ddbb2816538f52dd09c9" + "64460ddc0c04fc50bdc98394d04b3e76" ], [ "FStar.OrdSet.eq_helper", @@ -459,15 +459,15 @@ "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.mem", "typing_Prims.__proj__Cons__item__hd", "typing_Prims.__proj__Cons__item__tl" ], 0, - "7af2e854cfb5a441c60cf054bc028680" + "245f0d1f58a2494fe5a52ea528ddf0e5" ], [ "FStar.OrdSet.eq_lemma", @@ -476,7 +476,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "546a9398109a2eda1fb6e8a52c6e9d42" + "d645391ec37514cc7ce4de80db40eb70" ], [ "FStar.OrdSet.eq_lemma", @@ -489,12 +489,12 @@ "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_2", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", "bool_inversion", + "binder_x_3963c708585e84be8cb36ae94c32dace_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.OrdSet.as_list", "equation_FStar.OrdSet.cmp", @@ -514,7 +514,7 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", @@ -522,7 +522,7 @@ "typing_FStar.OrdSet.sorted", "unit_inversion", "unit_typing" ], 0, - "66c7563f3ab745a5265168e180371338" + "ee4771b7b32539a5a336eb097fa58df1" ], [ "FStar.OrdSet.mem_empty", @@ -542,7 +542,7 @@ "typing_FStar.OrdSet.empty" ], 0, - "ff95ce1a572bf3920557875b79dd9436" + "ac54db93fe3fcbf42324038c0c3bf76b" ], [ "FStar.OrdSet.mem_singleton", @@ -565,7 +565,7 @@ "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.singleton" ], 0, - "3291aa45473f842d37688520c8e8c0df" + "ee65432f7f61b38dc1e9a07284a403fa" ], [ "FStar.OrdSet.insert_mem", @@ -580,11 +580,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.insert_.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_4", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_3", "bool_inversion", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_157b99e815dc43d99415725267e9c452_3", + "binder_x_3963c708585e84be8cb36ae94c32dace_4", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -611,7 +611,7 @@ "typing_FStar.OrdSet.sorted", "unit_inversion", "unit_typing" ], 0, - "4765faf7568cae1a63c4c65f7c49d346" + "6e36b4d9da7f23664f4f363f877b4633" ], [ "FStar.OrdSet.mem_union", @@ -626,11 +626,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_4", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", "bool_inversion", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_3963c708585e84be8cb36ae94c32dace_4", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.OrdSet.cmp", @@ -650,7 +650,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "ab20653a38458b93743ee57c4bd2eb0e" + "6d7e4ef28243dde6e8268709fccd94b2" ], [ "FStar.OrdSet.mem_intersect", @@ -666,11 +666,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.intersect.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_4", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", "bool_inversion", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_3963c708585e84be8cb36ae94c32dace_4", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.OrdSet.cmp", @@ -695,7 +695,7 @@ "typing_FStar.OrdSet.sorted", "unit_inversion", "unit_typing" ], 0, - "7143a3522995549a60ca02f35d0f8f4f" + "f25c070eaf3ae97fcbf7a8d7eddd279e" ], [ "FStar.OrdSet.subset_implies_mem", @@ -711,10 +711,10 @@ "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.subset.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_2", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", "bool_inversion", + "binder_x_3963c708585e84be8cb36ae94c32dace_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", @@ -740,7 +740,7 @@ "typing_FStar.OrdSet.subset", "unit_inversion", "unit_typing" ], 0, - "b9df112213aad728e06c6c68124464ad" + "74ac600ae2b694378fc689f7a3083c01" ], [ "FStar.OrdSet.mem_implies_subset", @@ -755,12 +755,12 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.subset.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_2", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", "bool_inversion", + "binder_x_3963c708585e84be8cb36ae94c32dace_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.as_list", @@ -781,7 +781,7 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", @@ -790,7 +790,7 @@ "unit_inversion", "unit_typing" ], 0, - "2c76ca8eb9b8d07e80bc5cc1557760d0" + "f9eda0b2eb2eff12ea8ece70d7536fda" ], [ "FStar.OrdSet.mem_subset", @@ -799,7 +799,7 @@ 1, [ "@query" ], 0, - "0ad41473de743b0ca70cad5fbb872283" + "e2f537daa8df645e2c395f265028cbf5" ], [ "FStar.OrdSet.choose_empty", @@ -816,7 +816,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "f4f9f94c57f8e81deb78277125abc770" + "8ded9f67086a703eb499ebc4cfbd4353" ], [ "FStar.OrdSet.choose_s", @@ -831,7 +831,7 @@ "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -856,7 +856,7 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "refinement_interpretation_Tm_refine_fee34eddb3a35cd5014f10e2dca9554e", "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", @@ -865,7 +865,7 @@ "typing_FStar.OrdSet.singleton" ], 0, - "ca7d6c8061ca9896cf7a4238119eca0e" + "3dd7d96719fba87aea3c872a76b6b31e" ], [ "FStar.OrdSet.mem_remove", @@ -880,11 +880,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.remove_.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_4", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_3", "bool_inversion", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_157b99e815dc43d99415725267e9c452_3", + "binder_x_3963c708585e84be8cb36ae94c32dace_4", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -909,7 +909,7 @@ "unit_inversion", "unit_typing" ], 0, - "8f6c378671fd3f37b97e7a4e2299cc9b" + "4397eae946de35fc84471e6cf4e0a549" ], [ "FStar.OrdSet.eq_remove", @@ -918,7 +918,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "fe658b2186a46bdfd2e2d27622a3bfad" + "28d0e97bde8318bc2ebd87e0164b5f10" ], [ "FStar.OrdSet.eq_remove", @@ -933,10 +933,10 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.remove_.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", "bool_inversion", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", @@ -955,7 +955,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "abe45a888150ff14dda8ddf5d4a2e252" + "16a8f0db31fbb0f88305a98bffcb6914" ], [ "FStar.OrdSet.size_empty", @@ -967,23 +967,21 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0", + "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "d7f02c4c37fcf6dce27926211ba48a20" + "5428dbc9eef43107c81f8686d1a91b41" ], [ "FStar.OrdSet.size_remove", @@ -1001,11 +999,10 @@ "@fuel_irrelevance_FStar.OrdSet.remove_.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", "bool_inversion", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", @@ -1017,17 +1014,16 @@ "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.OrdSet.remove_.fuel_instrumented", "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.OrdSet.mem_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "lemma_FStar.OrdSet.mem_empty", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", @@ -1035,7 +1031,7 @@ "typing_FStar.OrdSet.size", "typing_FStar.OrdSet.sorted" ], 0, - "7f120fea1e962c9156eb134b39a057e7" + "5c4a69919ec9d65cb99d6411336f49b9" ], [ "FStar.OrdSet.size_singleton", @@ -1045,29 +1041,27 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", + "@query", "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.singleton", "equation_FStar.OrdSet.size", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.singleton", "typing_FStar.OrdSet.size" ], 0, - "fb61f0d8a3a7bb4d78478c32e50cf523" + "b55c6296edf8e2dd168fabc4d9aa7cd7" ], [ "FStar.OrdSet.subset_size", @@ -1083,11 +1077,10 @@ "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.subset.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_2", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", "bool_inversion", + "binder_x_3963c708585e84be8cb36ae94c32dace_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", @@ -1096,9 +1089,8 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", "equation_with_fuel_FStar.OrdSet.subset.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_BoxBool_proj_0", @@ -1109,7 +1101,7 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", @@ -1117,7 +1109,7 @@ "typing_FStar.OrdSet.subset", "unit_inversion", "unit_typing" ], 0, - "b2cfe2d163ce06877e7d8b458bc5a9aa" + "31a498dde6605cb24a33b99edeaace61" ], [ "FStar.OrdSet.map_internal", @@ -1126,7 +1118,7 @@ 1, [ "@query" ], 0, - "baeaad13621302bb6c6f6c66ba27932e" + "fe8c238e9a74035117857a2920bf0311" ], [ "FStar.OrdSet.map_internal", @@ -1137,13 +1129,13 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.OrdSet_interpretation_Tm_arrow_82bcf05259f66f38062844f3c60693d1", - "binder_x_1fafb1f8c59ca92f264b066c90622923_5", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_aef1aa93d3bbeb9520582bb8fd6f5f47_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_2", - "binder_x_fe1394fdcea29f1926a4c52be9776305_4", "bool_inversion", + "FStar.OrdSet_interpretation_Tm_arrow_4a738beb54a2101fc15ce330315b8080", + "binder_x_02cff98944ef66ec880205e2a320dece_4", + "binder_x_75b1ecd18c7ec762830a954dba25c6a8_5", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_c5c25dca247d508510a7affacd974ee2_3", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -1165,7 +1157,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "ceefcba80ae0e6115670f2631d895174" + "4cafc4d3bcdfff3a9b04d416b17481c8" ], [ "FStar.OrdSet.map", @@ -1174,7 +1166,7 @@ 1, [ "@query" ], 0, - "36c97e60a1be1fe2ab7c179cb196b453" + "9b27de0a9b15af04b22a4fa84b49a910" ], [ "FStar.OrdSet.remove_le", @@ -1185,11 +1177,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_ce68770d1d74b2227c502106fdbe7d0d", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -1204,14 +1196,14 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_a6828748872660838373ed4f464ec5eb", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "typing_FStar.OrdSet.sorted" ], 0, - "df77ac3d25704620e0d3b82993b68c47" + "92dcd3521ac97b1a5cf03a9a98ba6a2f" ], [ "FStar.OrdSet.minus'", @@ -1222,12 +1214,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_4", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_3963c708585e84be8cb36ae94c32dace_4", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", @@ -1243,14 +1235,14 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6256d572f4d48024e68a9fc798700b8a", + "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "typing_FStar.OrdSet.as_list", "typing_FStar.OrdSet.sorted" ], 0, - "b79cdea6482f84a70b7d4c701711f3be" + "d7c9c55a9b5c16d136804b8d44619b1e" ], [ "FStar.OrdSet.minus", @@ -1275,7 +1267,7 @@ "typing_FStar.OrdSet.sorted" ], 0, - "e18a9f9d720c37d918b11030ba2ce767" + "ee7d1b87f7fd567482ae5079a113311e" ], [ "FStar.OrdSet.strict_subset", @@ -1284,7 +1276,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "d62884d49d29264d74f51945a0030564" + "62aa8c6ffa8f286ff28f3600c52e5da0" ], [ "FStar.OrdSet.lemma_subset_union", @@ -1304,7 +1296,7 @@ "typing_FStar.OrdSet.union" ], 0, - "e585b3afa69d5526c37753ecdb799ab3" + "ace878c50afba6903357489769712147" ], [ "FStar.OrdSet.as_set", @@ -1315,9 +1307,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_2", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", "bool_inversion", + "binder_x_3963c708585e84be8cb36ae94c32dace_2", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.ordset", @@ -1330,7 +1322,7 @@ "subterm_ordering_Prims.Cons", "typing_FStar.OrdSet.sorted" ], 0, - "27e884af9910a2e6cb135af98e6d9939" + "bcd8818e4d54cb71a405e3ad029ad217" ], [ "FStar.OrdSet.lemma_as_set_mem", @@ -1345,10 +1337,10 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.as_set.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_2", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_3", "bool_inversion", + "binder_x_157b99e815dc43d99415725267e9c452_3", + "binder_x_3963c708585e84be8cb36ae94c32dace_2", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.mem", @@ -1372,7 +1364,7 @@ "unit_inversion", "unit_typing" ], 0, - "f0711119ca91fae571f7ed0be4f0f21d" + "fca3e42968869905550aa9f23cadebc4" ], [ "FStar.OrdSet.lemma_as_set_disjoint", @@ -1381,7 +1373,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "c702d6324f08e249dfda869f67acfd7e" + "c1472ae7e83a8860af4e6e7c8a738b7c" ], [ "FStar.OrdSet.lemma_as_set_disjoint", @@ -1398,10 +1390,10 @@ "@fuel_irrelevance_FStar.OrdSet.as_set.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.intersect.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_2", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", "bool_inversion", + "binder_x_3963c708585e84be8cb36ae94c32dace_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.OrdSet.as_list", "equation_FStar.OrdSet.cmp", @@ -1439,7 +1431,7 @@ "typing_FStar.Set.singleton", "unit_inversion", "unit_typing" ], 0, - "6de222001e86f9c9d728ae47a6a2e07c" + "430e61315ddf64289d5d4f45c835fad4" ], [ "FStar.OrdSet.sorted", @@ -1448,8 +1440,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSet.cmp", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", @@ -1459,7 +1451,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" ], 0, - "1cfc855703048d954d8a888479a80318" + "2ef09314b3d281a0f2321eb2185aa723" ], [ "FStar.OrdSet.set_props", @@ -1471,7 +1463,7 @@ "refinement_interpretation_Tm_refine_e00a70afb2033366e70144b9d967c6dc" ], 0, - "75cd13f0a2982fa0adc04e764084c03b" + "85c264bf993ed39fd01f0e62a7ee24db" ], [ "FStar.OrdSet.hd_unique", @@ -1480,10 +1472,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "48262620bb26c2de9e6051f423b96d9c" + "fbba119df9caa034cbe66f721c60626a" ], [ "FStar.OrdSet.insert'", @@ -1492,7 +1484,7 @@ 1, [ "@query" ], 0, - "8009f05674b84e06cdcc6cc3a0be8912" + "01bc7bbedaffbf690b8846776ce2c8ee" ], [ "FStar.OrdSet.disjoint", @@ -1501,7 +1493,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "4945f645a7ec1c38a2ed208bc180f215" + "0f37080b3c03deeadda0826e433ce95a" ], [ "FStar.OrdSet.remove'", @@ -1514,7 +1506,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ea66043553127fa8f162989e9afbb1a9" + "ff0b8052383fcaa0b386d3cbcf403a08" ], [ "FStar.OrdSet.eq_helper", @@ -1523,7 +1515,7 @@ 1, [ "@query" ], 0, - "b1b01f86c6b6b9198be0a9d552293726" + "6001f433f8cbd0adc66daad57bcc48fd" ], [ "FStar.OrdSet.eq_lemma", @@ -1532,7 +1524,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "87b0445a1fe47b679a3b93c20d285921" + "cdc8e84778b04f875842e42eeaccfbbb" ], [ "FStar.OrdSet.choose_s", @@ -1541,7 +1533,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "09be1315bb6840c528774bf9c4f4d21d" + "c8ffdd90508d3889dfe280d5cabe0312" ], [ "FStar.OrdSet.eq_remove", @@ -1550,7 +1542,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "89030bb4e4b8cd56ccaba594ab350d2b" + "bb13ddfdee5cae038dbdaefb06122de8" ], [ "FStar.OrdSet.size_empty", @@ -1559,7 +1551,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "26b4214000477bdd90a5eaa54d4afaf9" + "f2bdb322305b82eeff7013ef723f7b5b" ], [ "FStar.OrdSet.map_internal", @@ -1568,7 +1560,7 @@ 1, [ "@query" ], 0, - "8550c7b964bd5cedd1184e1279742f37" + "2e3df28d37b41790b145d0e8c1ce7f51" ], [ "FStar.OrdSet.map", @@ -1577,7 +1569,7 @@ 1, [ "@query" ], 0, - "51a790a9c8790ba95875eef2e87437d5" + "2a7590888b2cd6a01b279d3d2e8277ab" ], [ "FStar.OrdSet.lemma_as_set_disjoint", @@ -1586,7 +1578,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "6a848368fe28103f8ea4beea7f829a01" + "3c4de88de775103fb49fc5d214470e7c" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.OrdSetProps.fst.hints b/ulib/FStar.OrdSetProps.fst.hints index f40494d6619..5920d9c0491 100644 --- a/ulib/FStar.OrdSetProps.fst.hints +++ b/ulib/FStar.OrdSetProps.fst.hints @@ -8,18 +8,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_8a79cda394203bbc307dac9d3045d884_5", - "binder_x_aef1aa93d3bbeb9520582bb8fd6f5f47_3", "bool_inversion", + "binder_x_34dc71006f0a069879a6d574d22d2a15_5", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_c5c25dca247d508510a7affacd974ee2_3", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.choose_s", "lemma_FStar.OrdSet.eq_remove", - "lemma_FStar.OrdSet.hasEq_ordset", "lemma_FStar.OrdSet.mem_remove", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.size_remove", + "equation_Prims.nat", "lemma_FStar.OrdSet.choose_s", + "lemma_FStar.OrdSet.eq_remove", "lemma_FStar.OrdSet.hasEq_ordset", + "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", + "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.size_remove", "lemma_FStar.OrdSet.size_singleton", "lemma_FStar.OrdSet.size_union", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", @@ -29,14 +26,14 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.OrdSet.choose", "typing_FStar.OrdSet.remove", "typing_FStar.OrdSet.singleton", "typing_FStar.OrdSet.size", "typing_FStar.Pervasives.Native.uu___is_Some", "well-founded-ordering-on-nat" ], 0, - "69d2c998494207f169bc53c235e9dfa2" + "d0c0a0a4c5ee357e11fa155cce80cfb7" ], [ "FStar.OrdSetProps.union_lemma", @@ -48,21 +45,20 @@ "@fuel_correspondence_FStar.OrdSetProps.fold.fuel_instrumented", "@fuel_irrelevance_FStar.OrdSetProps.fold.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "FStar.OrdSetProps_interpretation_Tm_arrow_3e46652d1bec31ac53d5317bac7244c0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_2", - "binder_x_2eb62671377af592e0fc2a4ced68bb24_3", - "binder_x_dbcfd128a98114b2a447b654a9d5c69a_1", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", + "FStar.OrdSetProps_interpretation_Tm_arrow_1cc037d9342a6808fbc818789e9bd189", + "binder_x_3963c708585e84be8cb36ae94c32dace_2", + "binder_x_3963c708585e84be8cb36ae94c32dace_3", + "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_FStar.OrdSetProps.insert", "equation_FStar.OrdSetProps.union_", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.OrdSetProps.fold.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_8054be186851c1ef3ee892e90b73f038", + "int_inversion", + "interpretation_Tm_abs_9eab8d03da31f5c9aab997821ea71ae4", "lemma_FStar.OrdSet.choose_s", "lemma_FStar.OrdSet.eq_remove", "lemma_FStar.OrdSet.hasEq_ordset", "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", @@ -75,17 +71,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.OrdSet.choose", "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.ordset", "typing_FStar.OrdSet.singleton", "typing_FStar.OrdSet.size", "typing_FStar.OrdSetProps.union_", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_8054be186851c1ef3ee892e90b73f038", + "typing_Tm_abs_9eab8d03da31f5c9aab997821ea71ae4", "well-founded-ordering-on-nat" ], 0, - "10904580639b92038f2cb04fc9df7332" + "7e378edb09a037975e02c0e0a30535fd" ], [ "FStar.OrdSetProps.union_lemma'", @@ -94,7 +90,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "152ddaadd5a783bb8313a2075bee6526" + "c9c68b13e386369bd8062f1b1b7d24e1" ], [ "FStar.OrdSetProps.union_lemma'", @@ -103,7 +99,7 @@ 1, [ "@query", "equation_FStar.OrdSet.equal" ], 0, - "3d8fc04792f9a00c44176eae5f185e14" + "19787700db795f4d5be7f13233c55d92" ], [ "FStar.OrdSetProps.fold", @@ -112,18 +108,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_1", - "binder_x_8a79cda394203bbc307dac9d3045d884_5", - "binder_x_aef1aa93d3bbeb9520582bb8fd6f5f47_3", "bool_inversion", + "binder_x_34dc71006f0a069879a6d574d22d2a15_5", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", + "binder_x_c5c25dca247d508510a7affacd974ee2_3", "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.choose_s", "lemma_FStar.OrdSet.eq_remove", - "lemma_FStar.OrdSet.hasEq_ordset", "lemma_FStar.OrdSet.mem_remove", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.size_remove", + "equation_Prims.nat", "lemma_FStar.OrdSet.choose_s", + "lemma_FStar.OrdSet.eq_remove", "lemma_FStar.OrdSet.hasEq_ordset", + "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", + "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.size_remove", "lemma_FStar.OrdSet.size_singleton", "lemma_FStar.OrdSet.size_union", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", @@ -133,14 +126,14 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.OrdSet.choose", "typing_FStar.OrdSet.remove", "typing_FStar.OrdSet.singleton", "typing_FStar.OrdSet.size", "typing_FStar.Pervasives.Native.uu___is_Some", "well-founded-ordering-on-nat" ], 0, - "d7098758ee93b6029b8e030036a4c500" + "7e9f6a9cef1addc0f6f74454e504cada" ], [ "FStar.OrdSetProps.union_lemma'", @@ -149,7 +142,7 @@ 1, [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], 0, - "84bc339e4b7cee9a7a05b3078317f27a" + "f26a50dc8b0a1aae307de5e87ed7a8ae" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Order.fst.hints b/ulib/FStar.Order.fst.hints index a2e71777167..cdc7ffc5e6c 100644 --- a/ulib/FStar.Order.fst.hints +++ b/ulib/FStar.Order.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "e8f9b3b96d9f7b5ab3b53c83ca08d93f" + "2e249cf7b599caa68aa783e03ecfb30e" ], [ "FStar.Order.le", @@ -17,7 +17,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "86ce2ba0e158116588c83384db585e9c" + "4477f9465c8f09b4463ddcf975a36500" ], [ "FStar.Order.ne", @@ -26,7 +26,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "e4fa40c2ef0f44247af57a418ce76fb3" + "e12d5d7e82ee654aad4fec696e44a16f" ], [ "FStar.Order.gt", @@ -35,7 +35,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "e5341ea776a99c572385eed4a221a8e4" + "ac1c3f296ab0263ddda097c847240077" ], [ "FStar.Order.lt", @@ -44,7 +44,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "bbee30dc92ab569dc7f007502240aa04" + "fb440e0cf31eab77731ad7d544771ead" ], [ "FStar.Order.eq", @@ -53,7 +53,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "1e924700add2149cb8a7770c5dd67369" + "5b4fc576d9b65cffcf2efa518d06bcae" ], [ "FStar.Order.lex", @@ -66,7 +66,7 @@ "fuel_guarded_inversion_FStar.Order.order" ], 0, - "b7f0386512e3b1334079572ffc1f5a3e" + "a07a2d3b1b8dc76c8ee303b05b11962f" ], [ "FStar.Order.int_of_order", @@ -79,7 +79,7 @@ "fuel_guarded_inversion_FStar.Order.order" ], 0, - "2da6ffe3837e934c3bf44c911ac24d2a" + "8f33c1d2032d9ff3e688bf4af509c057" ], [ "FStar.Order.compare_list", @@ -99,7 +99,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "ca01f06cfe14dbf47b24e0c57dc45bad" + "67bd8257f02b596fe479c7a418692d33" ], [ "FStar.Order.compare_option", @@ -119,7 +119,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "44876221aeb57d9fcf510f421f7ec357" + "8cbd3b1d551a9f766044239e7397431f" ], [ "FStar.Order.ge", @@ -128,7 +128,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "1622151dee4117271a5893373cc33cec" + "c5e848cbf4a352a316e3b599ebf01dd1" ], [ "FStar.Order.le", @@ -137,7 +137,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "5147bcf5f9c40cddeab8068c8c301fba" + "0374888a48ffe426c9cfb0aa04bab92d" ], [ "FStar.Order.ne", @@ -146,7 +146,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "831f07260f74c4a1074c4a77d33c92df" + "6398a2bb9d706e0a175926920cf03eee" ], [ "FStar.Order.gt", @@ -155,7 +155,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "5856e2b70071696e6f597029682cdb16" + "24f482bea1941b541cc23ebc57840bd3" ], [ "FStar.Order.lt", @@ -164,7 +164,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "3b23caad864b61e2d0ec0ab8c7832d30" + "84f63b4397609f3f4bc4f665b44a57a9" ], [ "FStar.Order.eq", @@ -173,7 +173,7 @@ 1, [ "@query", "assumption_FStar.Order.order__uu___haseq" ], 0, - "0a09056e6f2cc5a685bd4dab3aec44c1" + "95e9a2f60b05aac3d29cbcebe924ba90" ], [ "FStar.Order.lex", @@ -186,7 +186,7 @@ "fuel_guarded_inversion_FStar.Order.order" ], 0, - "a39a59d2408510ccb659efec4d1d904a" + "6d519de72dc5bc2f8881342c9ff167da" ], [ "FStar.Order.int_of_order", @@ -199,7 +199,7 @@ "fuel_guarded_inversion_FStar.Order.order" ], 0, - "e9a86553763354308df0f6a097c1319c" + "639920de5a614d57860908447d1b4130" ], [ "FStar.Order.compare_list", @@ -219,7 +219,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "068bd1696ed974963766f7c7406fe385" + "0cf5ac6e29b4d182b0847bf9047d41aa" ], [ "FStar.Order.compare_option", @@ -239,7 +239,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "5e2aded2b61c821a91fc1a3998cdb66d" + "4801195ea4d01236185372cf5cfdb7f5" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Pervasives.Native.fst.hints b/ulib/FStar.Pervasives.Native.fst.hints index ad80b542455..1739f9f29a8 100644 --- a/ulib/FStar.Pervasives.Native.fst.hints +++ b/ulib/FStar.Pervasives.Native.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "52b2fbaa62d06b95340d80c9dafc6018" + "206991e4511213e77d5e89fb44887b58" ], [ "FStar.Pervasives.Native.__proj__Some__item__v", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a" ], 0, - "ba5c0f2057c5edecae1a1a0ae29ec67f" + "096a330c2573772db217c41843d6e850" ], [ "FStar.Pervasives.Native.tuple2", @@ -31,7 +31,7 @@ 1, [ "@query" ], 0, - "fa59f9da31223a1cd01c5ac39c43b9ee" + "87594911b7f0fb57e4ee9e52140b5537" ], [ "FStar.Pervasives.Native.tuple3", @@ -40,7 +40,7 @@ 1, [ "@query" ], 0, - "d85fd2852b64d932adf2ca2ccdfecd5e" + "43619723c6a89c59466e14046b6317e9" ], [ "FStar.Pervasives.Native.tuple4", @@ -49,7 +49,7 @@ 1, [ "@query" ], 0, - "7438f9abfd80c6b6afcc06d15d056c06" + "97c288a421e738bf6a8e8c00e332824f" ], [ "FStar.Pervasives.Native.tuple5", @@ -58,7 +58,7 @@ 1, [ "@query" ], 0, - "2465e3a6fae1aa18964dd3c5c8efef5c" + "0da605d4e89779b22720fd019e6dd387" ], [ "FStar.Pervasives.Native.tuple6", @@ -67,7 +67,7 @@ 1, [ "@query" ], 0, - "cecd22605d4536710791f5d44548da42" + "6be620c1f79a09504ff02188a17fe2ab" ], [ "FStar.Pervasives.Native.tuple7", @@ -76,7 +76,7 @@ 1, [ "@query" ], 0, - "1863088b59160fbb33885c05ed45642b" + "7d32efd929c159e3786f567ae88f1e29" ], [ "FStar.Pervasives.Native.tuple8", @@ -85,7 +85,7 @@ 1, [ "@query" ], 0, - "5938b73f2e1f48633170ce30e42b1c09" + "5e7271a0c32bd8dafa45b80dfdb1be76" ], [ "FStar.Pervasives.Native.tuple9", @@ -94,7 +94,7 @@ 1, [ "@query" ], 0, - "c8b2572571b8489ab2c209cd35dfea98" + "6b01057e09697d9104949e8e65b7227b" ], [ "FStar.Pervasives.Native.tuple10", @@ -103,7 +103,7 @@ 1, [ "@query" ], 0, - "a849a16120162723648690e911ef2fe5" + "036c61dcd1bbc5e804213beb53be4777" ], [ "FStar.Pervasives.Native.tuple11", @@ -112,7 +112,7 @@ 1, [ "@query" ], 0, - "3bc6e4ee76ee72a092c456f76f7def9e" + "135019126fd29fa1c1fc43b6df8e8fb4" ], [ "FStar.Pervasives.Native.tuple12", @@ -121,7 +121,7 @@ 1, [ "@query" ], 0, - "552b1975fb2b37e4dc20b2efa91579f9" + "0a6fa45d89055135cfeed183e1fd771c" ], [ "FStar.Pervasives.Native.tuple13", @@ -130,7 +130,7 @@ 1, [ "@query" ], 0, - "0c725a8b5e6e09797891a2f529e9b720" + "62904aaed4df22666331e947ada9a850" ], [ "FStar.Pervasives.Native.tuple14", @@ -139,7 +139,7 @@ 1, [ "@query" ], 0, - "5a8e31c8ebb9cf451d4030db0ebd230c" + "c67a81f9d06a348ec68cc7e483c57330" ], [ "FStar.Pervasives.Native.option", @@ -148,7 +148,7 @@ 1, [ "@query" ], 0, - "2bc11db5e9987b96f330bbd41d288126" + "4e6754b4176d8e66d19f84027864d28e" ], [ "FStar.Pervasives.Native.__proj__Some__item__v", @@ -162,7 +162,7 @@ "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a" ], 0, - "69cdb62d1cfa122d1906dee2d654e850" + "a36451f01dce82d5e9411db7e1d6e2d8" ], [ "FStar.Pervasives.Native.tuple2", @@ -171,7 +171,7 @@ 1, [ "@query" ], 0, - "a262d59fa5975e7d869a84b4037c2813" + "a3dc24a61bb5bce0ae1b1f459dc1de5e" ], [ "FStar.Pervasives.Native.tuple3", @@ -180,7 +180,7 @@ 1, [ "@query" ], 0, - "1cf8f045426bf8a7d578d750e9ec3e53" + "f642dd9b41994ddc6b8400ae402b06c1" ], [ "FStar.Pervasives.Native.tuple4", @@ -189,7 +189,7 @@ 1, [ "@query" ], 0, - "a9c3f2a0a98c71b5928b9b57e9378a70" + "14546d57295cae307ad25e27defa99e9" ], [ "FStar.Pervasives.Native.tuple5", @@ -198,7 +198,7 @@ 1, [ "@query" ], 0, - "d5506216db3a9d5219507f98dc8a3a7a" + "a9a036f27ef2758ac2e7abbc02a6c891" ], [ "FStar.Pervasives.Native.tuple6", @@ -207,7 +207,7 @@ 1, [ "@query" ], 0, - "000f47562940deb55035956ad57acc8d" + "2672f12e23dcd65cd9aecd0b9173bf49" ], [ "FStar.Pervasives.Native.tuple7", @@ -216,7 +216,7 @@ 1, [ "@query" ], 0, - "bd9efeda6ea67d23700ec77857fc9c93" + "cba81e964c86a1ba6e72f25df9e4b6c2" ], [ "FStar.Pervasives.Native.tuple8", @@ -225,7 +225,7 @@ 1, [ "@query" ], 0, - "c240bfd572a1ad9e1a21bb3858da7042" + "8cd5ad36a39f61922943020b9314b5f3" ], [ "FStar.Pervasives.Native.tuple9", @@ -234,7 +234,7 @@ 1, [ "@query" ], 0, - "e499d1ba7467c690c16044ae8db087d7" + "0e45793ea75c868834915a48143991c2" ], [ "FStar.Pervasives.Native.tuple10", @@ -243,7 +243,7 @@ 1, [ "@query" ], 0, - "c39be5d28fa4ecf11d8ea8004a4ae36f" + "0b2aa680fc4a6dc94bcb7d6e13136bfd" ], [ "FStar.Pervasives.Native.tuple11", @@ -252,7 +252,7 @@ 1, [ "@query" ], 0, - "3522a497a1f146ab966acd24a7ea3470" + "a79d6dfc61ac5fcb5b34ff44df9ce9dd" ], [ "FStar.Pervasives.Native.tuple12", @@ -261,7 +261,7 @@ 1, [ "@query" ], 0, - "75a31eb87f38f80a61c8430d5d737334" + "56eb250c4dac5df72af29eb693d7d22f" ], [ "FStar.Pervasives.Native.tuple13", @@ -270,7 +270,7 @@ 1, [ "@query" ], 0, - "1a9067918c970920fa22c4e5be013328" + "75db6ac72f3880989b7d3f86c8637a30" ], [ "FStar.Pervasives.Native.tuple14", @@ -279,7 +279,7 @@ 1, [ "@query" ], 0, - "ffec80f15f65267ce9fd884eac32022d" + "c1595edf236043024f910649bc53ff0c" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Pervasives.fst.hints b/ulib/FStar.Pervasives.fst.hints index 2aba05d1429..180e5aacea1 100644 --- a/ulib/FStar.Pervasives.fst.hints +++ b/ulib/FStar.Pervasives.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "equation_FStar.Pervasives.ambient" ], 0, - "72cc78b9f537f1569144c0ce68667a4f" + "16ae495e7b890fabae868c3e8d863efc" ], [ "FStar.Pervasives.__proj__V__item__v", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_9db520b26a7f39c5a01493a3f375290d" ], 0, - "27e05f9662457e03c1d42e4bb02a8a30" + "8f489d85a778993ca4e4e920b3c13cc3" ], [ "FStar.Pervasives.__proj__E__item__e", @@ -34,7 +34,7 @@ "refinement_interpretation_Tm_refine_95e1e2ee29104754cc3740f5575fc6e5" ], 0, - "b53b217fdb2840d043f21ab37cec8d88" + "16ea57e6796f3e724760603a4d37b0af" ], [ "FStar.Pervasives.__proj__Err__item__msg", @@ -48,7 +48,7 @@ "refinement_interpretation_Tm_refine_22fb403854eba07427f92e79848f9d9f" ], 0, - "f7f5f86664a327b2b72a2dad90c01747" + "719dcc03d0164bde6fe3742f1cbb7564" ], [ "FStar.Pervasives.ex_bind_wp", @@ -62,7 +62,7 @@ "fuel_guarded_inversion_FStar.Pervasives.result" ], 0, - "2f77cfd3d1e1f448f1789b4bb87ee11d" + "b9ff6e51f5898e9d9827acb4b64ce7a5" ], [ "FStar.Pervasives.Exn", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "bc3d5a5f6dd692bb39841cd437929376" + "4a2f5839220200779fb901f97a16bc0e" ], [ "FStar.Pervasives.all_bind_wp", @@ -85,7 +85,7 @@ "fuel_guarded_inversion_FStar.Pervasives.result" ], 0, - "6a04dc32ce65bd13b05ae6c8114d51e4" + "1cb4ef33eeb4510e8a31335fef5cf9d0" ], [ "FStar.Pervasives.allow_inversion", @@ -94,7 +94,7 @@ 1, [ "@query", "equation_FStar.Pervasives.inversion" ], 0, - "00bff28aa7ec77361b295af9396ae5ac" + "95ea34b7be8c18863aea0d7284d822e5" ], [ "FStar.Pervasives.invertOption", @@ -109,7 +109,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6da1ceebd692fc120469b7dac0e09e74" + "93731293096b4fdb9dabb7da7c21695d" ], [ "FStar.Pervasives.either", @@ -118,7 +118,7 @@ 1, [ "@query" ], 0, - "c58970f36e4e69a824eaf285ed13ff6e" + "93164e496436a4faa88ce758e851301f" ], [ "FStar.Pervasives.__proj__Inl__item__v", @@ -132,7 +132,7 @@ "refinement_interpretation_Tm_refine_85e0cc884f8457202f90cd77f23733ba" ], 0, - "60671904b9ae6cb721d73a269e80a255" + "8fd12d8035509d6b8e46a5ea939b1545" ], [ "FStar.Pervasives.__proj__Inr__item__v", @@ -146,7 +146,7 @@ "refinement_interpretation_Tm_refine_8f1f5f564dae90240db429de2eb41517" ], 0, - "0d5d507a0c8b46fa61edcb6d74c1958a" + "75cb5a0d65c74521877781ecd5f4b642" ], [ "FStar.Pervasives.__proj__Mkdtuple3__item___2", @@ -158,7 +158,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple3__1" ], 0, - "e53cda5b959a3c6dcf6e84f6435586df" + "6a9f04da3af98dcd0f0857f7867a2b73" ], [ "FStar.Pervasives.__proj__Mkdtuple3__item___3", @@ -172,7 +172,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple3__2" ], 0, - "0591d456f6ed6e0d7d1fce37e685f895" + "91e56882f9f3ae67606b33dd76f91263" ], [ "FStar.Pervasives.__proj__Mkdtuple4__item___2", @@ -184,7 +184,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__1" ], 0, - "0d5fba78d33af85552b834f395c7ed0a" + "cbc41083679e4445c895c45eeeb5585e" ], [ "FStar.Pervasives.__proj__Mkdtuple4__item___3", @@ -198,7 +198,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__2" ], 0, - "3171c46b021018c5f6b1e8957f09fe62" + "02546798a9838c97c7434a9baafcc462" ], [ "FStar.Pervasives.__proj__Mkdtuple4__item___4", @@ -214,7 +214,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__3" ], 0, - "0ef5fab4340504731ae41bf0c163f182" + "ec5a58dfba27cb9d34d44e26096e1ef0" ], [ "FStar.Pervasives.false_elim", @@ -223,11 +223,11 @@ 1, [ "@MaxIFuel_assumption", - "binder_x_0b0fd0e401a63319f8f8988c3e105751_2", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "binder_x_b5a692fb53e94161e02ca937fc603fc6_2", + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "83ccb030d7d4e137216ada16afde3390" + "54a1ed3dee8d604eaa617957db2ab9ab" ], [ "FStar.Pervasives.__proj__PpxDerivingShowConstant__item___0", @@ -241,7 +241,7 @@ "refinement_interpretation_Tm_refine_564db2f0aa0878b4d96c60508be3dd36" ], 0, - "ea68a06c63d2e1fbe7e5eaabe2b6b2b8" + "14e175d08bce7bd7849f36044665f096" ], [ "FStar.Pervasives.__proj__Comment__item___0", @@ -255,7 +255,7 @@ "refinement_interpretation_Tm_refine_c53089e2d20d1b0f5a267296ac8e45f0" ], 0, - "16c33b6c2e5006f483b42e697d007c37" + "22f28b1117d5925e7e1cfdf90b8ed042" ], [ "FStar.Pervasives.__proj__CPrologue__item___0", @@ -269,7 +269,7 @@ "refinement_interpretation_Tm_refine_ac46c1a2a06ce46a180e0eda48004c47" ], 0, - "112781ffa55a141dff80be78e9482494" + "805034445be27b64491167bc15aa0763" ], [ "FStar.Pervasives.__proj__CEpilogue__item___0", @@ -283,7 +283,7 @@ "refinement_interpretation_Tm_refine_47384bef739d1f0729fd782d351dc9a5" ], 0, - "f085622fba8187187fed3dd7632677b0" + "c7182c5cff736cfd092dc746e68b8b8c" ], [ "FStar.Pervasives.__proj__CConst__item___0", @@ -297,7 +297,7 @@ "refinement_interpretation_Tm_refine_5036c6b2983454bc3afeffcba3f00f50" ], 0, - "d05518091c96929a9d57be06ec395067" + "4984106d778f0f38a2eecf750a50aee3" ], [ "FStar.Pervasives.__proj__CCConv__item___0", @@ -311,7 +311,7 @@ "refinement_interpretation_Tm_refine_2c4510f48649a66c3dca1fc9e3a2d320" ], 0, - "6f14ddb3c0eae61daea3676afebfc857" + "d645cfd189903a47ef3ef7cf53d57e8d" ], [ "FStar.Pervasives.__proj__UnfoldOnly__item___0", @@ -325,7 +325,7 @@ "refinement_interpretation_Tm_refine_13de8e33f187202d2c4a5d80966ea035" ], 0, - "d9b17126d063fe23c40fb8776f33b2e0" + "5b52bd08d7dddc24773da14dbe03e7fa" ], [ "FStar.Pervasives.__proj__UnfoldFully__item___0", @@ -339,7 +339,7 @@ "refinement_interpretation_Tm_refine_e6c43ff652fa6b792396796b43993774" ], 0, - "195b55c97e05cb71439199809a4cd409" + "955265590c509d87b7c08b6183b75175" ], [ "FStar.Pervasives.__proj__UnfoldAttr__item___0", @@ -353,7 +353,7 @@ "refinement_interpretation_Tm_refine_f14ca5ebef9af83c4cf22600f4f19756" ], 0, - "4d0da70fc10edcff9f191951bb1a2368" + "15ce3213c34fab760130a306471d5689" ], [ "FStar.Pervasives.assert_norm", @@ -362,7 +362,7 @@ 1, [ "@query" ], 0, - "63e2a5e6009888f7757245922514c951" + "16b1e2a08c17870c5e347d835e760f11" ], [ "FStar.Pervasives.norm_spec", @@ -371,7 +371,7 @@ 1, [ "@query", "equation_FStar.Pervasives.norm" ], 0, - "4d99ffd840117b6490eef3c5ff5f2353" + "728986fc56f4146c03d0331c08fbae45" ], [ "FStar.Pervasives.__proj__V__item__v", @@ -384,7 +384,7 @@ "refinement_interpretation_Tm_refine_9db520b26a7f39c5a01493a3f375290d" ], 0, - "3a5f7a538098c8c471f2d91f0467710b" + "004f9915ed92baf1bfafbfc044e0c7c7" ], [ "FStar.Pervasives.__proj__E__item__e", @@ -397,7 +397,7 @@ "refinement_interpretation_Tm_refine_95e1e2ee29104754cc3740f5575fc6e5" ], 0, - "95270a671af77fb59c5712153b44945c" + "bd74538a48110857f5b908776d580dda" ], [ "FStar.Pervasives.__proj__Err__item__msg", @@ -411,7 +411,7 @@ "refinement_interpretation_Tm_refine_22fb403854eba07427f92e79848f9d9f" ], 0, - "02c31d2dba83d9829d1eae6ecd895ac1" + "7e7581b5322df690c450e9da4e13e764" ], [ "FStar.Pervasives.ex_bind_wp", @@ -425,7 +425,7 @@ "fuel_guarded_inversion_FStar.Pervasives.result" ], 0, - "488dfca10c2f4f211831dac6173ae4b2" + "dec388a6c2551f7e0460bc43b90224b8" ], [ "FStar.Pervasives.Exn", @@ -434,7 +434,7 @@ 1, [ "@query" ], 0, - "f9e38879e44f981002295a2319176e2c" + "ce69a2f712b0936a6365a75d7e185fc0" ], [ "FStar.Pervasives.all_bind_wp", @@ -448,7 +448,7 @@ "fuel_guarded_inversion_FStar.Pervasives.result" ], 0, - "60df6e3bb9fa2aacaf366520be2adee3" + "79642e8f75bd03e4274d236189803e1b" ], [ "FStar.Pervasives.allow_inversion", @@ -457,7 +457,7 @@ 1, [ "@query", "equation_FStar.Pervasives.inversion" ], 0, - "4dcd66c5f84c9bcde7b78bd76b10785b" + "4105c17d4a6a749d276c2435dfa4e159" ], [ "FStar.Pervasives.either", @@ -466,7 +466,7 @@ 1, [ "@query" ], 0, - "4b83887fbcb22ba58264162138f387fb" + "c6d5419b3bd1ba7d5b893065c30974e5" ], [ "FStar.Pervasives.__proj__Inl__item__v", @@ -480,7 +480,7 @@ "refinement_interpretation_Tm_refine_85e0cc884f8457202f90cd77f23733ba" ], 0, - "680354e73b77f2767b7668d3406680fe" + "8fe629621bbebf7810e1b2acfd81f18b" ], [ "FStar.Pervasives.__proj__Inr__item__v", @@ -494,7 +494,7 @@ "refinement_interpretation_Tm_refine_8f1f5f564dae90240db429de2eb41517" ], 0, - "868ed8d93ea0f5e7c9fe71284cf3c840" + "53f1a9ae0c8e258b6ba40c65e051d022" ], [ "FStar.Pervasives.__proj__Mkdtuple3__item___2", @@ -506,7 +506,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple3__1" ], 0, - "cfe7f7f269133f73906374539539d31e" + "988a0f983b620569c51069acf3f08cb0" ], [ "FStar.Pervasives.__proj__Mkdtuple3__item___3", @@ -520,7 +520,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple3__2" ], 0, - "a876e1f64e5cb71d2276341c1ff1c9ea" + "ab2ab2852fbdf1741f3fb76f7e547b15" ], [ "FStar.Pervasives.__proj__Mkdtuple4__item___2", @@ -532,7 +532,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__1" ], 0, - "6a79dbe185bcf656411e29bf583fc4fe" + "e97addd43a792bd4c1532b4237dcce30" ], [ "FStar.Pervasives.__proj__Mkdtuple4__item___3", @@ -546,7 +546,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__2" ], 0, - "120051b95d7c4f10cd425790b98ad802" + "ec39a8a6426b0c52921a2fd832031f63" ], [ "FStar.Pervasives.__proj__Mkdtuple4__item___4", @@ -562,7 +562,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__3" ], 0, - "afe4523d14d58f4b2065baefa616fdba" + "9467c913efd2a1ca8048cf80294c11fa" ], [ "FStar.Pervasives.__proj__PpxDerivingShowConstant__item___0", @@ -576,7 +576,7 @@ "refinement_interpretation_Tm_refine_564db2f0aa0878b4d96c60508be3dd36" ], 0, - "4caf6e722e9277be8833ecf4575b86b2" + "8e1d20765e5cb4b2a3423a0cfb8d26a8" ], [ "FStar.Pervasives.__proj__Comment__item___0", @@ -590,7 +590,7 @@ "refinement_interpretation_Tm_refine_c53089e2d20d1b0f5a267296ac8e45f0" ], 0, - "db3becd6292b2117e95b38858e8f07a7" + "23d34c21668fadc786d3c4d52ee8ce7a" ], [ "FStar.Pervasives.__proj__CPrologue__item___0", @@ -604,7 +604,7 @@ "refinement_interpretation_Tm_refine_ac46c1a2a06ce46a180e0eda48004c47" ], 0, - "26f70fda37c4c538df2f0b6df3e93e6d" + "88fcfc4c1df610aca3bbdc18de83c2e4" ], [ "FStar.Pervasives.__proj__CEpilogue__item___0", @@ -618,7 +618,7 @@ "refinement_interpretation_Tm_refine_47384bef739d1f0729fd782d351dc9a5" ], 0, - "72bde5a01a9eefb206a98d0d4a29156e" + "7365e33efec45b1a60c49394fc809e04" ], [ "FStar.Pervasives.__proj__CConst__item___0", @@ -632,7 +632,7 @@ "refinement_interpretation_Tm_refine_5036c6b2983454bc3afeffcba3f00f50" ], 0, - "6ea858f0ab925e75e0fb573727afbec6" + "f93b9ea05cba33dfa05dba0f5d4b14a3" ], [ "FStar.Pervasives.__proj__CCConv__item___0", @@ -646,7 +646,7 @@ "refinement_interpretation_Tm_refine_2c4510f48649a66c3dca1fc9e3a2d320" ], 0, - "a99c89fe05c7cce32e5bb8da5a2420b7" + "4d6acf0923828aeda50a64b2805f97bc" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Pointer.Base.fst b/ulib/FStar.Pointer.Base.fst index 766d77a9a6d..74951ee5b30 100644 --- a/ulib/FStar.Pointer.Base.fst +++ b/ulib/FStar.Pointer.Base.fst @@ -1485,6 +1485,7 @@ let path_disjoint : GTot Type0 = squash (path_disjoint_t p1 p2) +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" let path_disjoint_ind (#from: typ) (x: @@ -1527,6 +1528,7 @@ let path_disjoint_ind let _ = FStar.Squash.return_squash hx in h_includes p1 p2 p1' p2') p1 p2 h) +#pop-options let path_disjoint_step (#from: typ) @@ -1542,6 +1544,7 @@ let path_disjoint_step [SMTPat (path_disjoint (PathStep through to1 p s1) (PathStep through to2 p s2))] = FStar.Classical.give_witness (FStar.Squash.return_squash (PathDisjointStep p s1 s2)) +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" let path_disjoint_includes (#from: typ) (#to1: typ) @@ -1557,6 +1560,7 @@ let path_disjoint_includes (ensures (path_disjoint p1' p2')) = let h : squash (path_disjoint_t p1 p2) = FStar.Squash.join_squash () in FStar.Squash.bind_squash h (fun h -> FStar.Squash.return_squash (PathDisjointIncludes p1 p2 p1' p2' h)) +#pop-options let path_disjoint_includes_l (#from: typ) diff --git a/ulib/FStar.Pointer.Base.fst.hints b/ulib/FStar.Pointer.Base.fst.hints index e95e1d305c1..beaf638c016 100644 --- a/ulib/FStar.Pointer.Base.fst.hints +++ b/ulib/FStar.Pointer.Base.fst.hints @@ -1,5 +1,5 @@ [ - "½¹òhnÏó—Òmæªáøç", + "]õº{\u0019í·cÓÇ(a\"ÿ", [ [ "FStar.Pointer.Base.typ", @@ -8,19 +8,20 @@ 1, [ "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_FStar.Pointer.Base.base_typ__uu___haseq", "assumption_FStar.UInt32.t__uu___haseq", "assumption_Prims.list__uu___haseq", "equation_FStar.Pointer.Base.array_length_t", "equation_Prims.eqtype", "function_token_typing_Prims.string", - "haseqTm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "haseqTm_refine_fca6d040de065d36997ff2da36b00bd1", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "40cab0522419bc3d4ca228b32c1a1b20" + "f5bfe21903c279a38c0ee8950a88c503" ], [ "FStar.Pointer.Base.__proj__TBase__item__b", @@ -34,7 +35,7 @@ "refinement_interpretation_Tm_refine_ceeec9534506f8e48ea73c2ad07d25c7" ], 0, - "9b3bc814a08df3a096e4f4953e20f1ed" + "7b0550b3a339c759c6c916e0af60af41" ], [ "FStar.Pointer.Base.__proj__TStruct__item__l", @@ -48,7 +49,7 @@ "refinement_interpretation_Tm_refine_8d4b0fe883393e3eac6a07f0ac5a4b2f" ], 0, - "5bd306e6833def0692dd267e3df535b3" + "86e9afd640ed2d38ec8ed89dc57b3247" ], [ "FStar.Pointer.Base.__proj__TUnion__item__l", @@ -62,7 +63,7 @@ "refinement_interpretation_Tm_refine_5f786badef06e062d5b9e79ef882a955" ], 0, - "30bafd087421582ff474dc80392a40cd" + "c9ece3e8ca62d6fb2f7822e2b82ec722" ], [ "FStar.Pointer.Base.__proj__TArray__item__length", @@ -76,7 +77,7 @@ "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" ], 0, - "08a9ba18003c81ae795888cd79c178d6" + "1ba480caad5021b2e2d65c35890e2839" ], [ "FStar.Pointer.Base.__proj__TArray__item__t", @@ -90,7 +91,7 @@ "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" ], 0, - "4a3f5e3b759c67afda1719f4e60f8504" + "69aa1aade3eeb9ede9fd542cbb67c593" ], [ "FStar.Pointer.Base.__proj__TPointer__item__t", @@ -104,7 +105,7 @@ "refinement_interpretation_Tm_refine_a6915920d178273a967ebb7c9bb3e606" ], 0, - "015bdca45cb590ef5ea74de0936f00fb" + "56c90464b3f34e4ff0570cb97f2c26f8" ], [ "FStar.Pointer.Base.__proj__TNPointer__item__t", @@ -118,7 +119,7 @@ "refinement_interpretation_Tm_refine_31a28047608506db806a8e40b64a987a" ], 0, - "09e22eb4aed10ac7f4639ecee38a9fa4" + "2fefd177fd223624e1f23bdba385abc0" ], [ "FStar.Pointer.Base.__proj__TBuffer__item__t", @@ -132,7 +133,7 @@ "refinement_interpretation_Tm_refine_351ed0bf36be35253b8142000c255418" ], 0, - "e25f0289f44b3755eb3180572c68669e" + "bb11ca2989da98adea8ada787ac69e61" ], [ "FStar.Pointer.Base.typ_of_struct_field'", @@ -141,7 +142,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", @@ -151,11 +151,11 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9" + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462" ], 0, - "e2b2b5dd45e6bae096d8041a5115fa92" + "c8799768cfd90d5fbfbdc9b40a4c99c8" ], [ "FStar.Pointer.Base.typ_of_struct_field", @@ -169,7 +169,7 @@ "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" ], 0, - "4f972b94490528854069877de6b2cea7" + "526f6518cd095d3355852a85f9227d05" ], [ "FStar.Pointer.Base.typ_of_union_field", @@ -178,7 +178,7 @@ 1, [ "@query" ], 0, - "41bd7832589b8d363347dc1c8ae0691d" + "1aa6e7555b828ca655f26cc1b3731b9e" ], [ "FStar.Pointer.Base.typ_depth", @@ -188,26 +188,23 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_c187978e0b47d492be4f7ef67953e027_0", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "disc_equation_Prims.Cons", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ", "subterm_ordering_FStar.Pointer.Base.TArray", "subterm_ordering_FStar.Pointer.Base.TStruct", "subterm_ordering_FStar.Pointer.Base.TUnion" ], 0, - "b2a06ee207246de198fda845a7f3fa63" + "d9f97a59ad223bd6d36e96fc88987da2" ], [ "FStar.Pointer.Base.typ_depth", @@ -216,14 +213,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_dbfc35e3d4cc015569bedffe7a420b00_0", + "binder_x_9faba42ab88b43fa963967c6d9fe0a56_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", + "projection_inverse_Prims.Cons_tl", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_Prims.Cons" ], 0, - "c7e439c1127e6b8a940d9f214e67ba7a" + "8d4ab81970130aa3984b5976b3f7b86d" ], [ "FStar.Pointer.Base.typ_depth_typ_of_struct_field", @@ -245,11 +243,11 @@ "@fuel_irrelevance_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.typ_depth.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_6d99b546cf40633fadbe69513111ccbd_0", - "binder_x_78e0d044b724a76558a77b1dad4d30c8_1", "bool_inversion", + "binder_x_126cca1e1e8f0a1c80ceb096c6921769_1", + "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", @@ -278,9 +276,9 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", @@ -289,7 +287,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "ac2641cfb22820799ebc93873e4a6fc7" + "efeebbeb6656ae4928a8a965444b6030" ], [ "FStar.Pointer.Base.step", @@ -297,20 +295,18 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "1e7d9c2b523705a3bebaf50fda904bae" + "d1687e26db5f207aaaded381b98a356f" ], [ "FStar.Pointer.Base.step", @@ -332,7 +328,7 @@ "typing_FStar.Pointer.Base.struct_field" ], 0, - "a88407bc4361b98b86e26a011b7a01a8" + "be90bfeea34ca01c02428b0832bd8aee" ], [ "FStar.Pointer.Base.__proj__StepField__item__l", @@ -346,7 +342,7 @@ "refinement_interpretation_Tm_refine_2dbe21b033c495ad2b2877ddd3e5ea79" ], 0, - "8dc088bfaf58ae1153f6e426aca07224" + "513ee0c423e321b699da315b3957da3f" ], [ "FStar.Pointer.Base.__proj__StepField__item__fd", @@ -362,7 +358,7 @@ "refinement_interpretation_Tm_refine_2dbe21b033c495ad2b2877ddd3e5ea79" ], 0, - "b199de748db9e80e126677508fefecb4" + "c1ee638a352b16675e8beef26741d13b" ], [ "FStar.Pointer.Base.__proj__StepUField__item__l", @@ -376,7 +372,7 @@ "refinement_interpretation_Tm_refine_18db3388ad3501cc905ccdbbe4d4bb12" ], 0, - "a32bd8be6352fa6eb0f70a7bd64e30ed" + "cb61cf0be55de1be49619819f4ad2169" ], [ "FStar.Pointer.Base.__proj__StepUField__item__fd", @@ -392,7 +388,7 @@ "refinement_interpretation_Tm_refine_18db3388ad3501cc905ccdbbe4d4bb12" ], 0, - "6cd87d4ee446047094d8eaa5b7992a2b" + "c9a9db6113984786566d9413bba79ca7" ], [ "FStar.Pointer.Base.__proj__StepCell__item__length", @@ -406,7 +402,7 @@ "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" ], 0, - "1299c2276bcb010d4aa73868e83d8136" + "c4677c1b3ed2e0b4e4ab60e8fcda7650" ], [ "FStar.Pointer.Base.__proj__StepCell__item__value", @@ -420,7 +416,7 @@ "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" ], 0, - "f7226048448676fc14579fa29c33e1ba" + "b6378c8b415767c255424f58356ba816" ], [ "FStar.Pointer.Base.__proj__StepCell__item__index", @@ -436,7 +432,7 @@ "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" ], 0, - "b22a91ca37359e69295e9045c1eddad3" + "184c2f7290133e3b73f98b7637083a4c" ], [ "FStar.Pointer.Base.path", @@ -448,7 +444,7 @@ "assumption_FStar.Pointer.Base.typ__uu___haseq" ], 0, - "5b580f02f6ed96cd0db6f204e0fdbf96" + "fd478d59b03468c610c01d452e04ad06" ], [ "FStar.Pointer.Base.__proj__PathStep__item__through", @@ -462,7 +458,7 @@ "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" ], 0, - "685c3f97dc8227580552167dce4225eb" + "01af43da51fad799a2118929663a39be" ], [ "FStar.Pointer.Base.__proj__PathStep__item__to", @@ -476,7 +472,7 @@ "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" ], 0, - "facd3a05ebc6d11d079473592308cdfd" + "0a5d070f03920213f7643021ed31c115" ], [ "FStar.Pointer.Base.__proj__PathStep__item__p", @@ -492,7 +488,7 @@ "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" ], 0, - "fc3751f5c5a17853e6871892d71db15c" + "69a405f512f368ae2c53701aaba8e430" ], [ "FStar.Pointer.Base.__proj__PathStep__item__s", @@ -510,7 +506,7 @@ "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" ], 0, - "f61607634c47e9ed4ce578b6d252a0b5" + "a9557d5abec08f5be4fff0a2d0f9fa39" ], [ "FStar.Pointer.Base.step_typ_depth", @@ -542,7 +538,7 @@ "projection_inverse_FStar.Pointer.Base.TUnion_l" ], 0, - "374b3c99635259a60d046cff377a32e2" + "b5fbe43016e0e4359c9294d51c02d847" ], [ "FStar.Pointer.Base.path_typ_depth", @@ -552,11 +548,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8709aaa8ce06a8655263e197973eb5e2" + "2b9eccdab7e20432b70f25922ca14c77" ], [ "FStar.Pointer.Base.path_typ_depth", @@ -565,7 +561,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", "data_elim_FStar.Pointer.Base.PathBase", "data_elim_FStar.Pointer.Base.PathStep", @@ -574,15 +569,14 @@ "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base.path", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "4f75ae143f6b39c0513a5ee2a22ef4bf" + "4b755e4aeed38c4851ea88282ddc7e25" ], [ "FStar.Pointer.Base.__proj__Pointer__item__from", @@ -596,7 +590,7 @@ "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" ], 0, - "9ea580b40a08d58f4a0bdfb96e8000b6" + "cf9f81fdd385965a3f774dc0210b08cb" ], [ "FStar.Pointer.Base.__proj__Pointer__item__contents", @@ -610,7 +604,7 @@ "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" ], 0, - "1f0ce619409dfaf52eaf470ad268b2a8" + "c0b67620066504bbc9dfd0a691c8fa1f" ], [ "FStar.Pointer.Base.__proj__Pointer__item__p", @@ -626,7 +620,7 @@ "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" ], 0, - "ff940ab5975901baa96dc95ef22b61f3" + "7735ae3e156718641dbfcda5fd533409" ], [ "FStar.Pointer.Base.g_is_null_intro", @@ -640,7 +634,7 @@ "projection_inverse_FStar.Pointer.Base.NullPtr_to" ], 0, - "3fd50ff587e54ab8fd3688988c5455cd" + "1ac21fa458c1dd3b707c9c24117037f9" ], [ "FStar.Pointer.Base.not_an_array_cell", @@ -658,7 +652,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "624a66c1f06113f0cbb0c70b50a9ddd7" + "b5e0fd6aec828bfffef30e9715a82512" ], [ "FStar.Pointer.Base.__proj__BufferRootSingleton__item__p", @@ -672,7 +666,7 @@ "refinement_interpretation_Tm_refine_422fa8e43652f7856994c0adb062c739" ], 0, - "4c0a428724061b50b61082da96aba01f" + "33e7c61e7424180f40879e1502494c3a" ], [ "FStar.Pointer.Base.__proj__BufferRootArray__item__max_length", @@ -686,7 +680,7 @@ "refinement_interpretation_Tm_refine_56cada75f3b65fbca41629ee43be6d8c" ], 0, - "1be3e62cd17dd2bf18b0d55f675f7a67" + "806deaefeb9aec9fa8bd4dffbd068c7d" ], [ "FStar.Pointer.Base.__proj__BufferRootArray__item__p", @@ -706,7 +700,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "a36b24607295094358f2bd7b3d3480a7" + "1f9121b7e6db062f837d8d8f69f6763c" ], [ "FStar.Pointer.Base.buffer_root_length", @@ -720,7 +714,7 @@ "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root" ], 0, - "8cff543127532ee2db09318e2be53dfd" + "8f69f5ffc7cc5b6c6bc19b8dfef72e24" ], [ "FStar.Pointer.Base.__proj__Buffer__item__blength", @@ -736,7 +730,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_81b8d2ed194f333f70f5b8fb2da6b18e" ], 0, - "8ee4acbe33470bf001cebbdb3b77255f" + "dd46c2a03feed14658797213ad0e32fc" ], [ "FStar.Pointer.Base.type_of_base_typ", @@ -772,7 +766,7 @@ "fuel_guarded_inversion_FStar.Pointer.Base.base_typ", "unit_typing" ], 0, - "30b7ced74579010791cb6e71d00d06c3" + "d42a0efcd09c4366d530e61fcc48c994" ], [ "FStar.Pointer.Base.array", @@ -781,7 +775,7 @@ 1, [ "@query" ], 0, - "826f5fb5a29743f5286f9a8f465b9334" + "f7af7f38e82253b434d14cf015d466f9" ], [ "FStar.Pointer.Base.type_of_struct_field''", @@ -795,10 +789,10 @@ "equation_FStar.Pointer.Base.typ_of_struct_field_", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9" + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29" ], 0, - "fc8d6685ca9f7c8509183b96bb378161" + "4a262264a64446a34077a1dc81cd4831" ], [ "FStar.Pointer.Base.type_of_struct_field'", @@ -812,7 +806,7 @@ "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" ], 0, - "06c5c1ed67065464d43985d338990985" + "af2dd9feb180b11124d3721d8e1b37df" ], [ "FStar.Pointer.Base.gtdata_get_value", @@ -827,7 +821,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "77a066658e798578ff2dfde94f93e717" + "dc34c43b9ae1d31930d3b30a5845f306" ], [ "FStar.Pointer.Base.gtdata_create", @@ -845,7 +839,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "6daca76cb01b0dcc3c86e41793fc0815" + "f886912d389811c7f575293088b6ff94" ], [ "FStar.Pointer.Base.gtdata_extensionality", @@ -862,7 +856,7 @@ "proj_equation_Prims.Mkdtuple2__1" ], 0, - "1ad43bbc20557f24b976ffb482b322ad" + "4a4829416251784a697d20357ac4ca62" ], [ "FStar.Pointer.Base.type_of_typ'", @@ -885,7 +879,7 @@ "subterm_ordering_FStar.Pointer.Base.TUnion" ], 0, - "bc4d0c8da8910c231e7449335b2344a2" + "40fea4b3919635f35cdf8db9c4e2efc6" ], [ "FStar.Pointer.Base.type_of_typ'", @@ -894,7 +888,7 @@ 1, [ "@query" ], 0, - "e9c1426bad2a5ceae88e16d40b0b7947" + "d93bf75edeced29c9d69d9665a2d3338" ], [ "FStar.Pointer.Base.type_of_typ", @@ -918,7 +912,7 @@ "subterm_ordering_FStar.Pointer.Base.TUnion" ], 0, - "3064d7e9c54caa76a3a63a1d2141aa19" + "ce3369ff6f393c1e2afe544cfd4b5e40" ], [ "FStar.Pointer.Base.type_of_typ_array", @@ -936,7 +930,7 @@ "projection_inverse_FStar.Pointer.Base.TArray_t" ], 0, - "9693cd00b0fda285c8396b2865851f0b" + "aacd40b5a3d2e927e318c6fe213a436a" ], [ "FStar.Pointer.Base.type_of_typ_struct", @@ -949,7 +943,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_01326aab0f4c8e9192277785ee000b20" ], 0, - "4359de5dded65e11a40c6608e8171309" + "bb65c77483d51391d96a85d4542b1aa9" ], [ "FStar.Pointer.Base.type_of_typ_type_of_struct_field", @@ -973,7 +967,7 @@ "token_correspondence_FStar.Pointer.Base.type_of_typ" ], 0, - "5b3375ce01e1577d25cfcd457daee5ec" + "17dbd36593eeb37bb292cb6af9ba3e2d" ], [ "FStar.Pointer.Base.type_of_typ'_eq", @@ -1011,7 +1005,7 @@ "subterm_ordering_FStar.Pointer.Base.TPointer" ], 0, - "606a6bfd401fe38455eaf1663072197d" + "0a28944d74983ae10e56ba7d7fc62f2e" ], [ "FStar.Pointer.Base.struct_sel", @@ -1031,13 +1025,13 @@ "equation_FStar.Pointer.Base.type_of_struct_field__", "lemma_FStar.Pointer.Base.type_of_typ__eq", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_b52713f2b4b5a365f2b89ba5a3ee8f0e", + "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", "token_correspondence_FStar.Pointer.Base.type_of_typ_", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base.typ_of_struct_field_" ], 0, - "9ee5cdfeed114caedc1816287ec25cda" + "1c33eeb63dff8c9cf2b2f306ae90bd26" ], [ "FStar.Pointer.Base.struct_literal_wf", @@ -1051,7 +1045,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c2b357dafbf1abb70c513e3a02374050" + "d755a23737917242abe5aa7fc43320f5" ], [ "FStar.Pointer.Base.fun_of_list", @@ -1062,24 +1056,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.sortWith.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.sortWith.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", - "FStar.Pointer.Base_interpretation_Tm_arrow_94538233ac7d770dcd5647f9257e59c4", + "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_28e00c6cddbebec863cfb4ba46afe386", + "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.String_interpretation_Tm_arrow_77650534d172f9f4bbf4f147268736a3", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", + "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.dfst_struct_field", "equation_FStar.Pointer.Base.struct_field", @@ -1089,6 +1084,7 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.sortWith.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", @@ -1096,11 +1092,10 @@ "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.dfst_struct_field", "function_token_typing_FStar.String.compare", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.string", "int_inversion", + "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", - "primitive_Prims.op_Equality", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", @@ -1109,23 +1104,24 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b52713f2b4b5a365f2b89ba5a3ee8f0e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ea8002c304a8baffcbed851ab6ac856f", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", - "string_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b0baa351b8dc6384c3594e50be109582", + "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "string_inversion", "string_typing", + "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.dfst_struct_field", - "typing_FStar.List.Tot.Base.count", "typing_FStar.List.Tot.Base.map", + "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.sortWith", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base.struct_field", "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_Tm_abs_b1fde6de0f9afd4ee0f1bbba341d8435", "unit_typing" + "typing_Tm_abs_2373aec163852d9339944ec67b8394ad", "unit_typing" ], 0, - "f2e5bf7e01fee65cbaaa3ce3b33918cc" + "79c99fa1a6c545a2660f080a0749f41b" ], [ "FStar.Pointer.Base.struct_upd", @@ -1147,7 +1143,7 @@ "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", "lemma_FStar.Pointer.Base.type_of_typ__eq", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_b52713f2b4b5a365f2b89ba5a3ee8f0e", + "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", "token_correspondence_FStar.Pointer.Base.type_of_struct_field", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", "token_correspondence_FStar.Pointer.Base.type_of_typ", @@ -1155,7 +1151,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field_" ], 0, - "104d9c26eb4fae4d14bf46b5ec17d6b9" + "6e2de64212e3af0b6bba017f52365a40" ], [ "FStar.Pointer.Base.struct_create_fun", @@ -1173,12 +1169,12 @@ "equation_FStar.Pointer.Base.typ_of_struct_field_", "lemma_FStar.Pointer.Base.type_of_typ__eq", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_b52713f2b4b5a365f2b89ba5a3ee8f0e", + "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base.typ_of_struct_field_" ], 0, - "3689acdf7011bd7b1cc415a40e88b7a0" + "7640692bd1355daff22d48e59d36ada7" ], [ "FStar.Pointer.Base.struct_create", @@ -1187,7 +1183,7 @@ 1, [ "@query" ], 0, - "4793971bca35e2f362d61b57bfc66504" + "b432c24e9ff19c7eeadbd474adeae6af" ], [ "FStar.Pointer.Base.struct_sel_struct_create_fun", @@ -1201,12 +1197,13 @@ "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_0a44b12744e216c6d692aa1730cf3d23", - "FStar.Pointer.Base_interpretation_Tm_arrow_1291d130300b22abe2e16b3d7210a8bc", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Pointer.Base_interpretation_Tm_arrow_3039342fd2e0851a3664dcc7db386d3a", + "FStar.Pointer.Base_interpretation_Tm_arrow_488e6478d9a2851a48ceef25ab226f9c", + "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", + "FStar.Pointer.Base_interpretation_Tm_arrow_ff2c816033059072d4e58d0e2307b681", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "equation_FStar.Pointer.Base.struct_create_fun", "equation_FStar.Pointer.Base.struct_field", "equation_FStar.Pointer.Base.struct_field_", @@ -1217,12 +1214,14 @@ "equation_FStar.Pointer.Base.type_of_struct_field_", "equation_FStar.Pointer.Base.type_of_struct_field__", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", + "function_token_typing_FStar.Pointer.Base.type_of_struct_field_", "function_token_typing_FStar.Pointer.Base.type_of_typ_", "lemma_FStar.DependentMap.sel_create", "lemma_FStar.Pointer.Base.type_of_typ__eq", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_b52713f2b4b5a365f2b89ba5a3ee8f0e", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", + "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "string_inversion", "token_correspondence_FStar.Pointer.Base.type_of_struct_field", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", @@ -1233,7 +1232,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field_" ], 0, - "6d5ff78f4d10a08d3e36e55ae245dcc5" + "c0bea6dae8c78854575d8c89457e86a5" ], [ "FStar.Pointer.Base.type_of_typ_union", @@ -1246,7 +1245,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_01326aab0f4c8e9192277785ee000b20" ], 0, - "a0346cae3f4f68c9d74de7ac0a3ca649" + "a73d43c36d97531361f3bae329960486" ], [ "FStar.Pointer.Base.union_get_value", @@ -1269,7 +1268,7 @@ "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", "lemma_FStar.Pointer.Base.type_of_typ__eq", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_b52713f2b4b5a365f2b89ba5a3ee8f0e", + "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", "token_correspondence_FStar.Pointer.Base.type_of_struct_field", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", "token_correspondence_FStar.Pointer.Base.type_of_typ", @@ -1278,7 +1277,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field_" ], 0, - "2d80efb5035050fc6706c7280718189f" + "83a276441dc0ddfd83915271a4f23557" ], [ "FStar.Pointer.Base.union_create", @@ -1301,7 +1300,7 @@ "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", "lemma_FStar.Pointer.Base.type_of_typ__eq", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_b52713f2b4b5a365f2b89ba5a3ee8f0e", + "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", "token_correspondence_FStar.Pointer.Base.type_of_struct_field", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", "token_correspondence_FStar.Pointer.Base.type_of_typ", @@ -1309,7 +1308,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field_" ], 0, - "8d4b5fa75a83cd6c097b7c07a739a702" + "97ee5e79d1305c9684d731b0bdc33b0b" ], [ "FStar.Pointer.Base.dummy_val", @@ -1329,10 +1328,9 @@ "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", "binder_x_c187978e0b47d492be4f7ef67953e027_0", "bool_inversion", "bool_typing", @@ -1405,7 +1403,6 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.type_of_typ", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", @@ -1434,16 +1431,16 @@ "projection_inverse_FStar.Pointer.Base.TNPointer_t", "projection_inverse_FStar.Pointer.Base.TPointer_t", "projection_inverse_Prims.Cons_hd", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a64ce837bc75d5399d5767b07092e72e", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "string_inversion", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ", @@ -1462,7 +1459,7 @@ "typing_Prims.pow2", "unit_typing" ], 0, - "655255e6041f6e09105451e41feb95b8" + "92dbc20b9fa85b260af3561ba9fa5b52" ], [ "FStar.Pointer.Base.otype_of_typ", @@ -1492,7 +1489,7 @@ "subterm_ordering_FStar.Pointer.Base.TUnion" ], 0, - "e60d628dbb3131772185e84eff6522a7" + "718f8fdd79687b0458d405118a603bce" ], [ "FStar.Pointer.Base.otype_of_typ_otype_of_struct_field", @@ -1516,7 +1513,7 @@ "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" ], 0, - "11fa895b03a624a53afa0c90c198bd5b" + "2f4c850efce497228fa96874198e4fe5" ], [ "FStar.Pointer.Base.otype_of_typ_base", @@ -1532,7 +1529,7 @@ "projection_inverse_FStar.Pointer.Base.TBase_b" ], 0, - "bae4a76cd30733c80b139349e5982b17" + "7d35a4b02befc24ca2b392ca17634aa3" ], [ "FStar.Pointer.Base.otype_of_typ_array", @@ -1550,7 +1547,7 @@ "projection_inverse_FStar.Pointer.Base.TArray_t" ], 0, - "95b342680ce3bd78cdbcade3b595043b" + "c12e0006aebcec2cfa7c60fde41a0030" ], [ "FStar.Pointer.Base.ostruct_upd", @@ -1565,7 +1562,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "f03ba0d1bbf530ca19988f520f2171e9" + "9c1eda9600df156e2b8e8cf5661c41a6" ], [ "FStar.Pointer.Base.ostruct_create", @@ -1580,7 +1577,7 @@ "projection_inverse_FStar.Pervasives.Native.Some_v" ], 0, - "3673828b240bbd7328807b043b93ac1c" + "f3298715cc26ece360c7f76eeaa9ab31" ], [ "FStar.Pointer.Base.otype_of_typ_struct", @@ -1593,7 +1590,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_01326aab0f4c8e9192277785ee000b20" ], 0, - "40037721f1b0d12430afec357c74f7c3" + "08e688b819dd6cc3d9ac270c92bb8ff9" ], [ "FStar.Pointer.Base.ounion_get_value", @@ -1607,7 +1604,7 @@ "proj_equation_FStar.Pervasives.Native.Some_v" ], 0, - "0853278046b664d1330fe28464976d48" + "0eafad2084e59f4600c10e29cfa7f683" ], [ "FStar.Pointer.Base.otype_of_typ_union", @@ -1620,7 +1617,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_01326aab0f4c8e9192277785ee000b20" ], 0, - "3372aed0787c0263b02659d73bc1a4eb" + "db4394f37bf5ab08dc0e85b425e0056d" ], [ "FStar.Pointer.Base.struct_field_is_readable", @@ -1643,7 +1640,7 @@ "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" ], 0, - "70ffd57f1e696f12c46f95e21042b680" + "e0a3b3d79522163ab97d43fe97a68c65" ], [ "FStar.Pointer.Base.ovalue_is_readable", @@ -1686,7 +1683,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "d51bd53ed54e86942f493f59159148dc" + "fb0fa2bca3dbe8b6be361000fbd1a9a8" ], [ "FStar.Pointer.Base.ovalue_is_readable_struct_intro'", @@ -1697,44 +1694,53 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_2b6196d53ffacd624cfbed706c26d1dc", + "FStar.Pointer.Base_interpretation_Tm_arrow_7c626d195cc43bd7447ecfde5a0a9ab5", + "FStar.Pointer.Base_interpretation_Tm_arrow_bdc5e8c71a6f259f30c4b3e4051b956c", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", + "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.otype_of_struct_field", + "equation_FStar.Pointer.Base.struct_field_is_readable", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", "function_token_typing_FStar.Pervasives.Native.fst", + "function_token_typing_FStar.Pointer.Base.ovalue_is_readable", + "function_token_typing_FStar.Pointer.Base.struct_field_is_readable", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", - "partial_app_typing_cc5f6c36fec5b0e2bf2cb96025ef61e8", + "lemma_FStar.Pointer.Base.otype_of_typ_struct", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pointer.Base.struct_field_is_readable", "typing_FStar.List.Tot.Base.for_all", "typing_FStar.List.Tot.Base.map", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "aa8c01dd5c07ff25ebfbb2a72e056454" + "4b7e71988a80b0519860d1db341ac410" ], [ "FStar.Pointer.Base.ovalue_is_readable_struct_intro", @@ -1743,15 +1749,13 @@ 1, [ "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.Some", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", + "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", + "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.otype_of_struct_field", "equation_FStar.Pointer.Base.struct_field", @@ -1766,24 +1770,22 @@ "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_FStar.Pointer.Base.struct_field_is_readable", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "token_correspondence_FStar.Pointer.Base.ovalue_is_readable", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.List.Tot.Base.for_all", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "61b1b68a4a1736b81d3f102b850ac2b0" + "b450245853933cebe7f49bc8fe1d4669" ], [ "FStar.Pointer.Base.ovalue_is_readable_struct_elim", @@ -1857,7 +1859,7 @@ "typing_Prims.uu___is_Cons" ], 0, - "b27ffd9446703f92867c32874deabf7a" + "6663bda4a4b53a82d875daca9a3939e9" ], [ "FStar.Pointer.Base.ovalue_is_readable_struct_elim", @@ -1868,12 +1870,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_7e92cc1c04700553193b6f7c7895fa62", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_2ab32aa018f38d35baff7c272edc1456_0", "binder_x_a248e41ef734431bfd8dd80c36379abc_2", @@ -1893,12 +1898,12 @@ "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_FStar.Pointer.Base.struct_field_is_readable", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", @@ -1908,10 +1913,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", + "token_correspondence_FStar.Pervasives.Native.fst", "token_correspondence_FStar.Pointer.Base.otype_of_typ", "token_correspondence_FStar.Pointer.Base.ovalue_is_readable", "token_correspondence_FStar.Pointer.Base.struct_field_is_readable", @@ -1920,7 +1926,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "984992c7aee1256dec7d771ea7fe19f0" + "de0479fb71ff9ae5ab83f910be833ad4" ], [ "FStar.Pointer.Base.ovalue_is_readable_array_elim", @@ -1934,42 +1940,41 @@ "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.TArray", "data_elim_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.Pointer.Base.TArray@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Pointer.Base.array", + "equation_FStar.Pointer.Base.array_length_t", "equation_FStar.Seq.Properties.for_all", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pointer.Base.otype_of_typ_array", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pointer.Base.TArray_length", "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_307fd373d8b3749096cf164b41cf1984", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ec682362761ae0d73748cf768f018588", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Pointer.Base.ovalue_is_readable", "typing_FStar.Seq.Properties.for_all", "typing_FStar.UInt32.v" ], 0, - "fb14dffa61fb4c96e5a40f47f5c927a1" + "1f3c66592e5e8731ad8c5b72367f516e" ], [ "FStar.Pointer.Base.ovalue_is_readable_array_intro", @@ -1982,10 +1987,7 @@ "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.TArray", "data_typing_intro_FStar.Pointer.Base.TArray@tok", "disc_equation_FStar.Pervasives.Native.None", @@ -1999,31 +2001,30 @@ "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_3b0ecac819a88dcb80dcfc62fa21bb3d", + "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pointer.Base.TArray_length", "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_455d37991444af3ed40206d59e75b904", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e3f0c33704c67ce3a477f16dfa7afe60", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_eceee487dc5f997fef8ec356a5ed69a1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "typing_FStar.Pointer.Base.ovalue_is_readable", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Properties.seq_find", "typing_FStar.UInt32.v", - "typing_Tm_abs_3b0ecac819a88dcb80dcfc62fa21bb3d" + "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" ], 0, - "1892cd64ab1f5abc7c34ec56988e6d74" + "687c1071d6f04e34c29a46fffb71e3ec" ], [ "FStar.Pointer.Base.ostruct_field_of_struct_field", @@ -2049,7 +2050,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "356fb0ba588fb190c96af9a374940af9" + "788dbd9b7cb45f32def826eef94561ff" ], [ "FStar.Pointer.Base.seq_init_index", @@ -2063,7 +2064,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "e91d34e0826d71e5a92e8692a3592fe4" + "45b28216795f8ce0ef84a71a07eef9e8" ], [ "FStar.Pointer.Base.ovalue_of_value", @@ -2081,9 +2082,9 @@ "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_78fca6781e2da3d0d5fc72c6aed21ea4", + "FStar.Pointer.Base_interpretation_Tm_arrow_a54ccb37fa50163db51a6d983062cade", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", "binder_x_c187978e0b47d492be4f7ef67953e027_0", "binder_x_daa2134f2832cd40b961ec5232d07ee3_1", "data_typing_intro_FStar.Pervasives.Native.Some@tok", @@ -2099,7 +2100,7 @@ "equation_FStar.Pointer.Base.typ_of_struct_field", "equation_FStar.Pointer.Base.typ_of_struct_field_", "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.nat", + "equation_FStar.Pointer.Base.union_typ", "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.typ", @@ -2114,12 +2115,12 @@ "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_FStar.Pointer.Base.TArray_length", "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_e3f0c33704c67ce3a477f16dfa7afe60", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "subterm_ordering_FStar.Pointer.Base.TArray", "subterm_ordering_FStar.Pointer.Base.TStruct", "subterm_ordering_FStar.Pointer.Base.TUnion", @@ -2131,7 +2132,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "af51409573a7c3c17875289a87d3100e" + "acdcc3f665980385df2317afaa08dbf9" ], [ "FStar.Pointer.Base.ovalue_is_readable_ostruct_field_of_struct_field", @@ -2164,7 +2165,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "795ca9766adfe9a448690fdc3c82e312" + "6f74a6b77c4a0ea2d8cd2593dbee4cb1" ], [ "FStar.Pointer.Base.ovalue_is_readable_ovalue_of_value", @@ -2173,50 +2174,50 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.struct.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.union.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_03e79beac5aace68d77dc42fdd93fa30", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", - "FStar.Pointer.Base_interpretation_Tm_arrow_66b043759ba418c2987071420fd44591", - "FStar.Pointer.Base_interpretation_Tm_arrow_bf69212716db50ae9a42406c63ce1d6e", - "FStar.Pointer.Base_interpretation_Tm_arrow_d4866d1943a497118d5f6fcdc34378b0", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_3148b61c0b10b09d9fa8c898186315b9", + "FStar.Pointer.Base_interpretation_Tm_arrow_4922c0d39a14074f92b751ffa781c0f9", + "FStar.Pointer.Base_interpretation_Tm_arrow_790b9eca5f7946b6b483f2755867c0f6", + "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_c187978e0b47d492be4f7ef67953e027_0", "binder_x_daa2134f2832cd40b961ec5232d07ee3_1", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Pointer.Base.TArray", "constructor_distinct_FStar.Pointer.Base.TStruct", "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "data_elim_Prims.Mkdtuple2", + "constructor_distinct_Prims.Cons", + "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pointer.Base.TArray", "disc_equation_FStar.Pointer.Base.TStruct", "disc_equation_FStar.Pointer.Base.TUnion", - "equality_tok_Prims.LexTop@tok", + "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", + "equation_FStar.Pervasives.dfst", + "equation_FStar.Pointer.Base._gtdata_get_key", "equation_FStar.Pointer.Base._union_get_key", "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.gtdata", "equation_FStar.Pointer.Base.gtdata_create", "equation_FStar.Pointer.Base.gtdata_get_key", "equation_FStar.Pointer.Base.gtdata_get_value", @@ -2224,44 +2225,49 @@ "equation_FStar.Pointer.Base.ostruct_field_of_struct_field", "equation_FStar.Pointer.Base.ostruct_sel", "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.ounion", "equation_FStar.Pointer.Base.ounion_create", "equation_FStar.Pointer.Base.ounion_get_key", "equation_FStar.Pointer.Base.ounion_get_value", "equation_FStar.Pointer.Base.struct_field", "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.struct_sel", + "equation_FStar.Pointer.Base.struct_typ_", "equation_FStar.Pointer.Base.typ_of_struct_field", "equation_FStar.Pointer.Base.typ_of_struct_field_", + "equation_FStar.Pointer.Base.type_of_struct_field", "equation_FStar.Pointer.Base.type_of_struct_field_", "equation_FStar.Pointer.Base.type_of_struct_field__", "equation_FStar.Pointer.Base.union_get_key", "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.Seq.Properties.for_all", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", + "equation_FStar.Seq.Properties.for_all", "equation_Prims.eqtype", + "equation_Prims.nat", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", "fuel_guarded_inversion_FStar.Pointer.Base.typ", "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", + "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.ostruct_field_of_struct_field", "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_65525052ee6ac68aaa66595f77ef8dc0", + "function_token_typing_Prims.string", "int_inversion", + "interpretation_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af", "interpretation_Tm_abs_f9f87dbe487b01446642c952246e3fc1", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.DependentMap.sel_create", - "lemma_FStar.Pointer.Base.otype_of_typ_otype_of_struct_field", - "lemma_FStar.Pointer.Base.otype_of_typ_union", "lemma_FStar.Pointer.Base.type_of_typ_array", "lemma_FStar.Pointer.Base.type_of_typ_struct", "lemma_FStar.Pointer.Base.type_of_typ_union", "lemma_FStar.Seq.Base.init_index_", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", + "proj_equation_Prims.Mkdtuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", @@ -2269,32 +2275,42 @@ "projection_inverse_FStar.Pointer.Base.TArray_t", "projection_inverse_FStar.Pointer.Base.TStruct_l", "projection_inverse_FStar.Pointer.Base.TUnion_l", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", + "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_0c65f39f7a74f42456cfcad4e62be031", - "refinement_interpretation_Tm_refine_163ac367bc42506a5e1a3c93f8232538", - "refinement_interpretation_Tm_refine_2527f4cbcbf4f88512fcbb65718a9b76", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_435ec5679feea3affc373c13b1d82298", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_307fd373d8b3749096cf164b41cf1984", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", + "refinement_interpretation_Tm_refine_a5b419dde0606bbe5389a1b0a41725a2", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bd52d171a74d80903c7842fefd75f8a1", - "refinement_interpretation_Tm_refine_ec682362761ae0d73748cf768f018588", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "subterm_ordering_FStar.Pointer.Base.TArray", "subterm_ordering_FStar.Pointer.Base.TStruct", "subterm_ordering_FStar.Pointer.Base.TUnion", + "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.ostruct_field_of_struct_field", "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.ovalue_of_value", "token_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", + "token_correspondence_FStar.Pointer.Base.type_of_struct_field", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", + "token_correspondence_FStar.Pointer.Base.type_of_typ", "token_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", + "tot_fun_Tm_abs_f9f87dbe487b01446642c952246e3fc1", + "typing_FStar.List.Tot.Base.map", + "typing_FStar.List.Tot.Base.noRepeats", + "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base._union_get_key", - "typing_FStar.Pointer.Base.gtdata_create", "typing_FStar.Pointer.Base.otype_of_struct_field", "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Pointer.Base.ovalue_is_readable", @@ -2303,10 +2319,10 @@ "typing_FStar.Pointer.Base.typ_of_struct_field", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.for_all", - "typing_Tm_abs_65525052ee6ac68aaa66595f77ef8dc0" + "typing_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af" ], 0, - "a7efbf7b5a6b73bbdfb21ac475b1e96b" + "93f178703680feee54f95cf90b7b5efa" ], [ "FStar.Pointer.Base.value_of_ovalue", @@ -2324,20 +2340,15 @@ "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", - "FStar.Pointer.Base_interpretation_Tm_arrow_51afccf6c6b5a64a999794c1b35cd791", + "FStar.Pointer.Base_interpretation_Tm_arrow_714c243ce1cda15b90190082618ab455", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", "binder_x_50ee5a23f17759eafa03d1be4a28778c_1", "binder_x_c187978e0b47d492be4f7ef67953e027_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base.TBase", + "constructor_distinct_FStar.Pointer.Base.TBase", "constructor_distinct_FStar.Pointer.Base.TBuffer", "constructor_distinct_FStar.Pointer.Base.TNPointer", "constructor_distinct_FStar.Pointer.Base.TPointer", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pointer.Base.TArray", @@ -2349,6 +2360,7 @@ "disc_equation_FStar.Pointer.Base.TUnion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pointer.Base.array", "equation_FStar.Pointer.Base.array_length_t", + "equation_FStar.Pointer.Base.gtdata", "equation_FStar.Pointer.Base.ounion", "equation_FStar.Pointer.Base.struct_field", "equation_FStar.Pointer.Base.struct_field_", @@ -2356,13 +2368,13 @@ "equation_FStar.Pointer.Base.typ_of_struct_field", "equation_FStar.Pointer.Base.typ_of_struct_field_", "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_FStar.UInt.uint_t", "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Pervasives.invertOption", + "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Pointer.Base.otype_of_typ_array", "lemma_FStar.Pointer.Base.otype_of_typ_base", "lemma_FStar.Pointer.Base.otype_of_typ_struct", @@ -2380,13 +2392,13 @@ "projection_inverse_FStar.Pointer.Base.TBuffer_t", "projection_inverse_FStar.Pointer.Base.TNPointer_t", "projection_inverse_FStar.Pointer.Base.TPointer_t", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b52713f2b4b5a365f2b89ba5a3ee8f0e", + "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_e3f0c33704c67ce3a477f16dfa7afe60", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "string_inversion", "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ", "subterm_ordering_FStar.Pointer.Base.TArray", @@ -2398,20 +2410,17 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base.array", "typing_FStar.Pointer.Base.buffer", - "typing_FStar.Pointer.Base.gtdata", "typing_FStar.Pointer.Base.npointer", - "typing_FStar.Pointer.Base.otype_of_struct_field", "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Pointer.Base.pointer", "typing_FStar.Pointer.Base.struct_create_fun", - "typing_FStar.Pointer.Base.struct_field", "typing_FStar.Pointer.Base.typ_of_struct_field_", "typing_FStar.Pointer.Base.type_of_base_typ", "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "0118b8ee491270b61b3f9192fbaddee2" + "4f76f24da10a5073dea5186c5574357f" ], [ "FStar.Pointer.Base.ovalue_of_value_array_index", @@ -2426,33 +2435,31 @@ "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_03e79beac5aace68d77dc42fdd93fa30", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.Pointer.Base_interpretation_Tm_arrow_790b9eca5f7946b6b483f2755867c0f6", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", "constructor_distinct_FStar.Pointer.Base.TArray", "data_typing_intro_FStar.Pointer.Base.TArray@tok", "equation_FStar.Pointer.Base.array", "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_65525052ee6ac68aaa66595f77ef8dc0", + "interpretation_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af", "lemma_FStar.Pointer.Base.type_of_typ_array", "lemma_FStar.Seq.Base.init_index_", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pointer.Base.TArray_length", "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_0c65f39f7a74f42456cfcad4e62be031", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_65525052ee6ac68aaa66595f77ef8dc0" + "typing_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af" ], 0, - "0579deaa94b08878d549bae14a2cd87a" + "2e4974e4c0505553de511e00be5d3678" ], [ "FStar.Pointer.Base.value_of_ovalue_array_index", @@ -2468,18 +2475,16 @@ "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_0dbe59df592edf9057c3abf99a52d523", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.Pointer.Base_interpretation_Tm_arrow_cbaf63ee0f7cd0118b8161198aafa7ec", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Pointer.Base.TArray", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "data_typing_intro_FStar.Pointer.Base.TArray@tok", "equation_FStar.Pointer.Base.array", "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_6fcd3e52a76178c357aeb4950f04fb1a", + "interpretation_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", "lemma_FStar.Pointer.Base.otype_of_typ_array", "lemma_FStar.Pointer.Base.type_of_typ_array", "lemma_FStar.Seq.Base.init_index_", @@ -2487,19 +2492,20 @@ "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pointer.Base.TArray_length", "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_0c65f39f7a74f42456cfcad4e62be031", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", "typing_FStar.Pointer.Base.array", "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.Pointer.Base.value_of_ovalue", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_6fcd3e52a76178c357aeb4950f04fb1a" + "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50" ], 0, - "b1de72898b5e74c2c616ecdf4aa02083" + "52ffe023e8a2cfb5b588bb6d9d2678d9" ], [ "FStar.Pointer.Base.value_of_ovalue_of_value", @@ -2508,12 +2514,16 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", + "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.struct.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.union.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", + "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", @@ -2521,29 +2531,37 @@ "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "@query", "FStar.DependentMap_pretyping_92448f411d76305dd8df05e8debe964d", - "FStar.Pointer.Base_interpretation_Tm_arrow_0a44b12744e216c6d692aa1730cf3d23", - "FStar.Pointer.Base_interpretation_Tm_arrow_1291d130300b22abe2e16b3d7210a8bc", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", - "FStar.Pointer.Base_interpretation_Tm_arrow_66b043759ba418c2987071420fd44591", - "FStar.Pointer.Base_interpretation_Tm_arrow_8f3ac7f641cc02cb2183937b1f910885", - "FStar.Pointer.Base_interpretation_Tm_arrow_bf69212716db50ae9a42406c63ce1d6e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_3039342fd2e0851a3664dcc7db386d3a", + "FStar.Pointer.Base_interpretation_Tm_arrow_3148b61c0b10b09d9fa8c898186315b9", + "FStar.Pointer.Base_interpretation_Tm_arrow_488e6478d9a2851a48ceef25ab226f9c", + "FStar.Pointer.Base_interpretation_Tm_arrow_4922c0d39a14074f92b751ffa781c0f9", + "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", + "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", + "FStar.Pointer.Base_interpretation_Tm_arrow_bdc5e911949bed2f1a418f3bbfc31253", + "FStar.Pointer.Base_interpretation_Tm_arrow_ff2c816033059072d4e58d0e2307b681", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_daa2134f2832cd40b961ec5232d07ee3_1", + "binder_x_daa2134f2832cd40b961ec5232d07ee3_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Pointer.Base.TArray", "constructor_distinct_FStar.Pointer.Base.TStruct", "constructor_distinct_FStar.Pointer.Base.TUnion", + "constructor_distinct_Prims.Cons", + "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "data_elim_FStar.Pointer.Base.TArray", "data_elim_Prims.Mkdtuple2", + "data_elim_FStar.Pointer.Base.TArray", "data_elim_Prims.Cons", + "data_elim_Prims.Mkdtuple2", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pointer.Base.TArray", "disc_equation_FStar.Pointer.Base.TStruct", "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pervasives.dfst", + "disc_equation_Prims.Cons", "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base._gtdata_get_key", "equation_FStar.Pointer.Base._union_get_key", "equation_FStar.Pointer.Base.array", @@ -2554,6 +2572,7 @@ "equation_FStar.Pointer.Base.ostruct_create", "equation_FStar.Pointer.Base.ostruct_field_of_struct_field", "equation_FStar.Pointer.Base.ostruct_sel", + "equation_FStar.Pointer.Base.ounion", "equation_FStar.Pointer.Base.ounion_create", "equation_FStar.Pointer.Base.ounion_get_key", "equation_FStar.Pointer.Base.ounion_get_value", @@ -2570,29 +2589,43 @@ "equation_FStar.Pointer.Base.union_create", "equation_FStar.Pointer.Base.union_get_key", "equation_FStar.Pointer.Base.union_get_value", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.nat", + "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", + "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", + "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", + "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.struct.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.union.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", "fuel_guarded_inversion_FStar.Pointer.Base.typ", "fuel_guarded_inversion_Prims.dtuple2", + "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.ostruct_field_of_struct_field", "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", + "function_token_typing_FStar.Pointer.Base.type_of_struct_field_", "function_token_typing_FStar.Pointer.Base.type_of_typ", "function_token_typing_FStar.Pointer.Base.type_of_typ_", - "interpretation_Tm_abs_edd3e752044c7c6c940de67d8ad725b4", + "function_token_typing_Prims.string", + "interpretation_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1", "interpretation_Tm_abs_f9f87dbe487b01446642c952246e3fc1", + "kinding_FStar.Pervasives.Native.tuple2@tok", + "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.DependentMap.equal_intro", "lemma_FStar.DependentMap.sel_create", + "lemma_FStar.Pervasives.invertOption", + "lemma_FStar.Pointer.Base.otype_of_typ_otype_of_struct_field", + "lemma_FStar.Pointer.Base.otype_of_typ_union", "lemma_FStar.Pointer.Base.struct_sel_struct_create_fun", "lemma_FStar.Pointer.Base.type_of_typ__eq", "lemma_FStar.Pointer.Base.type_of_typ_array", "lemma_FStar.Pointer.Base.type_of_typ_struct", "lemma_FStar.Pointer.Base.type_of_typ_union", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "proj_equation_Prims.Mkdtuple2__1", @@ -2603,37 +2636,51 @@ "projection_inverse_FStar.Pointer.Base.TArray_t", "projection_inverse_FStar.Pointer.Base.TStruct_l", "projection_inverse_FStar.Pointer.Base.TUnion_l", + "projection_inverse_Prims.Cons_a", + "projection_inverse_Prims.Cons_hd", + "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_2020f325e1b4c2677be38fadba2ccd52", + "projection_inverse_Prims.Mkdtuple2_b", + "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", + "refinement_interpretation_Tm_refine_2527f4cbcbf4f88512fcbb65718a9b76", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", + "refinement_interpretation_Tm_refine_674f7adc090ed154628e32c65283818d", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_b52713f2b4b5a365f2b89ba5a3ee8f0e", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", "refinement_interpretation_Tm_refine_bd52d171a74d80903c7842fefd75f8a1", - "refinement_interpretation_Tm_refine_e3f0c33704c67ce3a477f16dfa7afe60", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_bdb60dfe130b3ec462391ffc4dcbf838", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "subterm_ordering_FStar.Pointer.Base.TArray", "subterm_ordering_FStar.Pointer.Base.TStruct", "subterm_ordering_FStar.Pointer.Base.TUnion", + "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.ostruct_field_of_struct_field", + "token_correspondence_FStar.Pointer.Base.otype_of_struct_field", "token_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.type_of_struct_field", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", "token_correspondence_FStar.Pointer.Base.type_of_typ_", - "typing_FStar.DependentMap.create", + "tot_fun_Tm_abs_f9f87dbe487b01446642c952246e3fc1", + "typing_FStar.DependentMap.create", "typing_FStar.List.Tot.Base.map", + "typing_FStar.List.Tot.Base.mem", + "typing_FStar.List.Tot.Base.noRepeats", + "typing_FStar.Pervasives.Native.__proj__Some__item__v", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base._union_get_key", + "typing_FStar.Pointer.Base.gtdata_create", "typing_FStar.Pointer.Base.otype_of_struct_field", "typing_FStar.Pointer.Base.ovalue_of_value", "typing_FStar.Pointer.Base.struct_field", "typing_FStar.Pointer.Base.struct_sel", "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", "typing_FStar.Pointer.Base.value_of_ovalue", - "typing_Tm_abs_edd3e752044c7c6c940de67d8ad725b4" + "typing_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1" ], 0, - "63395f6bc37a4608511bd49aad13fe1f" + "f78f0dbdf79f25cd14a9d5d53e37ecb4" ], [ "FStar.Pointer.Base.none_ovalue", @@ -2645,9 +2692,9 @@ "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "assumption_Prims.HasEq_string", + "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "constructor_distinct_FStar.Pointer.Base.TBase", "constructor_distinct_FStar.Pointer.Base.TBuffer", "constructor_distinct_FStar.Pointer.Base.TNPointer", "constructor_distinct_FStar.Pointer.Base.TPointer", @@ -2659,33 +2706,33 @@ "disc_equation_FStar.Pointer.Base.TPointer", "disc_equation_FStar.Pointer.Base.TStruct", "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base.gtdata", "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.otype_of_struct_field", "equation_FStar.Pointer.Base.ounion", - "equation_FStar.Pointer.Base.struct_typ", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", + "equation_FStar.Pointer.Base.struct_field", + "equation_FStar.Pointer.Base.union_typ", "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.typ", "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_base", "lemma_FStar.Pointer.Base.otype_of_typ_struct", "lemma_FStar.Pointer.Base.otype_of_typ_union", + "projection_inverse_FStar.Pointer.Base.TArray_length", + "projection_inverse_FStar.Pointer.Base.TArray_t", + "projection_inverse_FStar.Pointer.Base.TBase_b", "projection_inverse_FStar.Pointer.Base.TBuffer_t", "projection_inverse_FStar.Pointer.Base.TNPointer_t", "projection_inverse_FStar.Pointer.Base.TPointer_t", - "token_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "typing_FStar.DependentMap.t", "typing_FStar.Pointer.Base.array", "typing_FStar.Pointer.Base.buffer", "typing_FStar.Pointer.Base.gtdata", "typing_FStar.Pointer.Base.npointer", "typing_FStar.Pointer.Base.otype_of_struct_field", + "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Pointer.Base.pointer", "typing_FStar.Pointer.Base.struct_field", "typing_FStar.Pointer.Base.type_of_base_typ" ], 0, - "7cce1efb9997bda6299106192bf04ca0" + "0f0936c82b99c5fb21b531f123d33dcf" ], [ "FStar.Pointer.Base.not_ovalue_is_readable_none_ovalue", @@ -2706,7 +2753,7 @@ "typing_FStar.Pointer.Base.ovalue_is_readable" ], 0, - "22982e6bdbee4242e0d29ef922408bdc" + "bf3ddfe45535132439d6155db15143c9" ], [ "FStar.Pointer.Base.step_sel", @@ -2717,9 +2764,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_FStar.Pointer.Base.StepCell", + "@query", "b2t_def", "bool_inversion", + "data_elim_FStar.Pointer.Base.StepCell", "data_elim_FStar.Pointer.Base.StepField", "data_elim_FStar.Pointer.Base.StepUField", "data_elim_FStar.Pointer.Base.TArray", @@ -2744,7 +2790,6 @@ "fuel_guarded_inversion_FStar.Pointer.Base.step", "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Pointer.Base.otype_of_typ_array", "lemma_FStar.Pointer.Base.otype_of_typ_struct", @@ -2753,17 +2798,17 @@ "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Pointer.Base.array", "typing_FStar.UInt32.v" ], 0, - "a56152b0a04cfea4e92134b3e9d77631" + "c77988d6a4c6fe8e60608a34602ec5c4" ], [ "FStar.Pointer.Base.ovalue_is_readable_step_sel_cell", @@ -2777,11 +2822,9 @@ "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.StepCell", "constructor_distinct_FStar.Pointer.Base.TArray", "data_elim_FStar.Pervasives.Native.Some", @@ -2796,7 +2839,6 @@ "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pointer.Base.otype_of_typ_array", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pervasives.Native.Some_v", @@ -2806,14 +2848,14 @@ "projection_inverse_FStar.Pointer.Base.StepCell_value", "projection_inverse_FStar.Pointer.Base.TArray_length", "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_307fd373d8b3749096cf164b41cf1984", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_ec682362761ae0d73748cf768f018588", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Pointer.Base.ovalue_is_readable", @@ -2821,7 +2863,7 @@ "typing_FStar.Seq.Properties.for_all", "typing_FStar.UInt32.v" ], 0, - "06c891be17057e6caf802e0e67e146a4" + "f58f09aa7f367e44fd5eef2e30b3a2ac" ], [ "FStar.Pointer.Base.ovalue_is_readable_step_sel_field", @@ -2851,7 +2893,7 @@ "projection_inverse_FStar.Pointer.Base.TStruct_l" ], 0, - "688c30cf93505768c0a4a25db573fe65" + "cebeb5a78c9d10cbfe2064d37ea62225" ], [ "FStar.Pointer.Base.ovalue_is_readable_step_sel_union_same", @@ -2922,7 +2964,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "b5ccbacb65b1c9a894cf3ed13c7a2ea4" + "0a60bb642359c3fa48a338dd5174bc32" ], [ "FStar.Pointer.Base.step_sel_none_ovalue", @@ -2947,7 +2989,7 @@ "projection_inverse_FStar.Pointer.Base.TUnion_l" ], 0, - "a4cd67cd4c92529d3331a44e6a404c28" + "c615fce75c30222519b2379972471f47" ], [ "FStar.Pointer.Base.path_sel", @@ -2967,7 +3009,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "f6f327864ff1a450a0db80dc378642e4" + "f950a7036080b89a1ec307d6ef20a7e9" ], [ "FStar.Pointer.Base.path_sel_none_ovalue", @@ -3013,7 +3055,7 @@ "typing_FStar.Pointer.Base.none_ovalue" ], 0, - "36fbc0e6b1a1da37cd07e61145b46170" + "764d3ff4e4698401113d0fd84d7af0af" ], [ "FStar.Pointer.Base.step_upd", @@ -3025,14 +3067,11 @@ "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", - "FStar.Pointer.Base_interpretation_Tm_arrow_78fca6781e2da3d0d5fc72c6aed21ea4", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.Pointer.Base_interpretation_Tm_arrow_a54ccb37fa50163db51a6d983062cade", + "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.Pointer.Base.StepCell", "data_elim_FStar.Pointer.Base.StepField", "data_elim_FStar.Pointer.Base.StepUField", @@ -3054,11 +3093,9 @@ "equation_FStar.Pointer.Base.type_of_struct_field__", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base.step", "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Pointer.Base.otype_of_typ_array", "lemma_FStar.Pointer.Base.otype_of_typ_struct", @@ -3068,17 +3105,17 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", + "refinement_interpretation_Tm_refine_65dcf6dc23a3b63be750aeabd27678f4", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a17239c1ae5ac9277246315a3a3e02a8", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_e3f0c33704c67ce3a477f16dfa7afe60", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "string_inversion", "token_correspondence_FStar.Pointer.Base.otype_of_typ", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", @@ -3094,7 +3131,7 @@ "typing_FStar.UInt32.v" ], 0, - "863d385876dd7714bbccd76fee59d138" + "b40c4afc63eebdc3c25f1075dfe02706" ], [ "FStar.Pointer.Base.step_sel_upd_same", @@ -3107,17 +3144,16 @@ "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@query", "FStar.DependentMap_pretyping_92448f411d76305dd8df05e8debe964d", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", - "FStar.Pointer.Base_interpretation_Tm_arrow_68ca27102e7653c5d7f55ddb71909cae", - "FStar.Pointer.Base_interpretation_Tm_arrow_96f45b3a2b83575f13547fb24b72d0ca", - "FStar.Pointer.Base_interpretation_Tm_arrow_d4866d1943a497118d5f6fcdc34378b0", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Pointer.Base_interpretation_Tm_arrow_461c1a04a2297465934fe9913aab7926", + "FStar.Pointer.Base_interpretation_Tm_arrow_5d491a1b4d1a78b391a7c9212b49de34", + "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", + "FStar.Pointer.Base_interpretation_Tm_arrow_b84a9cfad13319928b2ca9ddcae894f8", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Pointer.Base.TStruct", "data_elim_FStar.Pervasives.Native.Some", "data_elim_FStar.Pointer.Base.StepCell", @@ -3155,10 +3191,9 @@ "fuel_guarded_inversion_FStar.Pointer.Base.step", "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_5ea69a1c5df5d4ae7eea511f6895946d", - "interpretation_Tm_abs_8ee7dc8209580f10f8ff916e69695e37", + "interpretation_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", + "interpretation_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8", "lemma_FStar.DependentMap.sel_create", "lemma_FStar.DependentMap.sel_upd_same", "lemma_FStar.Pointer.Base.otype_of_typ_array", @@ -3175,17 +3210,17 @@ "projection_inverse_FStar.Pointer.Base.TStruct_l", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_0fe6534274b669a8166532638c9b6bbf", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", + "refinement_interpretation_Tm_refine_4482b8ea10b7c3e0f684ae7e9c82dd06", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", - "string_inversion", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", + "string_inversion", "string_typing", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", "typing_FStar.DependentMap.create", "typing_FStar.Pointer.Base.ostruct_create", @@ -3193,11 +3228,11 @@ "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Pointer.Base.struct_field", "typing_FStar.Seq.Base.init", "typing_FStar.UInt32.v", - "typing_Tm_abs_5ea69a1c5df5d4ae7eea511f6895946d", - "typing_Tm_abs_8ee7dc8209580f10f8ff916e69695e37" + "typing_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", + "typing_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8" ], 0, - "8013a826b3d6344c620a77f5e002a73a" + "6f8bea921e9e9155c13d69976544d537" ], [ "FStar.Pointer.Base.path_upd", @@ -3217,7 +3252,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "9bd04867f5591669a1b7766b940e7660" + "341e5dd9732d51c4dde3c109fc3be7b3" ], [ "FStar.Pointer.Base.path_sel_upd_same", @@ -3254,7 +3289,7 @@ "typing_FStar.Pointer.Base.path_upd" ], 0, - "54ca2e665b4fc145e070779bb45e64fa" + "781176165338aba8d2b6145522ed0e2b" ], [ "FStar.Pointer.Base.path_concat", @@ -3280,7 +3315,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "1ac7954ddf62a0a15e643e701d0e5b99" + "d6e9d14fa1c42b2f97fd8c97ce8e355d" ], [ "FStar.Pointer.Base.path_concat_base_r", @@ -3296,7 +3331,7 @@ "projection_inverse_FStar.Pointer.Base.PathBase_from" ], 0, - "e8548b2e656af408535b3d12a658fbc4" + "b5cdb27e7978adee8e2269675a1e1216" ], [ "FStar.Pointer.Base.path_concat_base_l", @@ -3328,7 +3363,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "ae344b80e27001bd29b3fcfbe80e99f1" + "d6123b14b0a95960b661d96a89272b61" ], [ "FStar.Pointer.Base.path_concat_assoc", @@ -3366,7 +3401,7 @@ "typing_FStar.Pointer.Base.path_concat" ], 0, - "00bed240356512f0136e56e7937d9fc7" + "8fc664e519993f1404b9811059cf028b" ], [ "FStar.Pointer.Base.path_sel_concat", @@ -3407,7 +3442,7 @@ "typing_FStar.Pointer.Base.path_sel" ], 0, - "c79fb71c197ae64ddf55bd733e2cc9b1" + "319ab7d4c4086b7e32d52b0ca0b4f24f" ], [ "FStar.Pointer.Base.path_upd_concat", @@ -3457,7 +3492,7 @@ "typing_FStar.Pointer.Base.path_upd" ], 0, - "3848a33989a9efa1787b74ab206d0b38" + "7e27870e21dc2e7c6c337d9cc93bc263" ], [ "FStar.Pointer.Base.path_includes", @@ -3478,7 +3513,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "085c1aaf55902fcd96bcc2d5fb046e0b" + "ea977834322d7112ad925a15cb547bed" ], [ "FStar.Pointer.Base.path_includes_base", @@ -3512,7 +3547,7 @@ "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "51b1b46ce3df158698cca2c4c527c2e8" + "6bb98a05c274317403f4783db49e78b6" ], [ "FStar.Pointer.Base.path_includes_refl", @@ -3529,7 +3564,7 @@ "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" ], 0, - "3a15d7722f937994f039c28b84c09975" + "c7de2355d1b0917920fb15f99dd3187a" ], [ "FStar.Pointer.Base.path_includes_step_r", @@ -3551,7 +3586,7 @@ "projection_inverse_FStar.Pointer.Base.PathStep_to" ], 0, - "44d3445aaa970d5a0ffc1414ae455cb7" + "dff9f9ad97c4f388c40ab6daab32102a" ], [ "FStar.Pointer.Base.path_includes_trans", @@ -3564,9 +3599,7 @@ "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_4", + "b2t_def", "binder_x_0d5ecd039c65d95077f45e317c0079e9_4", "binder_x_515b6cc5dab22ef3b4646bf3c5fbc75e_6", "binder_x_c187978e0b47d492be4f7ef67953e027_0", "binder_x_c187978e0b47d492be4f7ef67953e027_1", @@ -3590,15 +3623,15 @@ "projection_inverse_FStar.Pointer.Base.PathStep_s", "projection_inverse_FStar.Pointer.Base.PathStep_through", "projection_inverse_FStar.Pointer.Base.PathStep_to", + "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_6dc6390730040f67a21fe10c9d9d78e6", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", "subterm_ordering_FStar.Pointer.Base.PathStep", "token_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "typing_FStar.Pointer.Base.path_includes", "unit_typing" + "typing_FStar.Pointer.Base.path_includes" ], 0, - "cd066067c47fce0724b5d0009225299d" + "f5285e8d522f99a612bdd5e65af8bb1e" ], [ "FStar.Pointer.Base.path_includes_ind", @@ -3610,7 +3643,7 @@ "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a" ], 0, - "42a6f6efb96e5216c47976ad75b9c161" + "ceb46c4cf9817a3355a268a6955878d5" ], [ "FStar.Pointer.Base.path_includes_ind", @@ -3623,8 +3656,7 @@ "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_2f08af3dcd557cc55ee8503a3b614889_8", + "b2t_def", "binder_x_2f08af3dcd557cc55ee8503a3b614889_8", "binder_x_b85f5386c8ec8b88fc0b7ceff79f784a_7", "binder_x_c187978e0b47d492be4f7ef67953e027_0", "binder_x_c187978e0b47d492be4f7ef67953e027_5", @@ -3644,12 +3676,12 @@ "projection_inverse_FStar.Pointer.Base.PathStep_p", "projection_inverse_FStar.Pointer.Base.PathStep_through", "projection_inverse_FStar.Pointer.Base.PathStep_to", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_4e1d800d2c4913431885413c72cd5aac", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "subterm_ordering_FStar.Pointer.Base.PathStep", "unit_typing" + "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "3b81f61ebd04447186a0c92008f07f1e" + "62c6909c3be0d76f74ea1e9399df1665" ], [ "FStar.Pointer.Base.path_length", @@ -3658,19 +3690,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", "disc_equation_FStar.Pointer.Base.PathBase", "disc_equation_FStar.Pointer.Base.PathStep", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base.path", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_FStar.Pointer.Base.PathStep" ], 0, - "584bee5262439cb71424194d724d8945" + "9cfeda57cb101b67f81af767d24d3ce7" ], [ "FStar.Pointer.Base.path_includes_length", @@ -3708,7 +3738,7 @@ "typing_FStar.Pointer.Base.path_length" ], 0, - "55a5b459d704499a99ec9a26e11940c3" + "5bd92a400c1655dd02737963de075784" ], [ "FStar.Pointer.Base.path_includes_step_l", @@ -3731,7 +3761,7 @@ "refinement_interpretation_Tm_refine_f858bfffcdc33b4edac687bbc0ab10f8" ], 0, - "883be5df6f0b8b1b7d5aad87b7b0ef41" + "4fb1a9220f55bd1ed3a896c3bcb5ca5e" ], [ "FStar.Pointer.Base.path_includes_concat", @@ -3772,7 +3802,7 @@ "typing_FStar.Pointer.Base.path_concat" ], 0, - "7bb44a4223bcb00ea05df11857c413b4" + "6b65cb96f86fd7a7c6aa8e6c12c79ba1" ], [ "FStar.Pointer.Base.path_includes_exists_concat", @@ -3793,7 +3823,7 @@ "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a" ], 0, - "c703352b0ac0b192b8495adc0ed953ca" + "e3ce4fc7565e2e9740c15d55f4f704e3" ], [ "FStar.Pointer.Base.path_concat_includes", @@ -3809,7 +3839,7 @@ "@query", "lemma_FStar.Pointer.Base.path_includes_concat" ], 0, - "b1c9618d25ef090be16a9da344e19ddc" + "a084f8ed28fea98e3e0451a18dfcdbcd" ], [ "FStar.Pointer.Base.path_concat_includes", @@ -3825,7 +3855,7 @@ "@query", "lemma_FStar.Pointer.Base.path_includes_concat" ], 0, - "d334c8c4965af65b1cf1d91434008ce9" + "36bdbc3980b2460b2fe1ff8c5a22226b" ], [ "FStar.Pointer.Base.step_disjoint", @@ -3834,7 +3864,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pointer.Base.TArray", "constructor_distinct_FStar.Pointer.Base.TStruct", "constructor_distinct_FStar.Pointer.Base.TUnion", @@ -3845,14 +3874,13 @@ "disc_equation_FStar.Pointer.Base.StepUField", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "projection_inverse_FStar.Pointer.Base.TStruct_l", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8baf37529ceb752dfd298468d68e8019" + "e96249e8912e14a8d8fedd9b94bea8ec" ], [ "FStar.Pointer.Base.step_eq", @@ -3887,7 +3915,7 @@ "projection_inverse_FStar.Pointer.Base.TUnion_l" ], 0, - "09c071911204211fb6331d0c5c47a1d4" + "d183bf0e891a276875cb6bd1aa97c0af" ], [ "FStar.Pointer.Base.step_disjoint_not_eq", @@ -3943,7 +3971,7 @@ "typing_FStar.Pointer.Base.step_eq" ], 0, - "6259a65d487dd3ed0de04b5829d2be61" + "709a0cea8914762e5eca9e2c01561d2a" ], [ "FStar.Pointer.Base.step_disjoint_sym", @@ -3966,7 +3994,7 @@ "string_inversion", "typing_FStar.Pointer.Base.step_disjoint" ], 0, - "ea3da55b0bbabc0a62b42ec80dece696" + "13907c65deaf5228b3d13ad22de033ec" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__through", @@ -3980,7 +4008,7 @@ "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" ], 0, - "2fd1411cf48c372c1ee034b5fde0c699" + "24ad513238a2c3fb2eec97b779ed4445" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__to1", @@ -3994,7 +4022,7 @@ "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" ], 0, - "ae85574b36c8faae0c4a48a70c726df2" + "4a11d6c400d05ac783d60902c837dcd1" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__to2", @@ -4008,7 +4036,7 @@ "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" ], 0, - "830871cc00f3acde65fe59da19b9975e" + "f1ac9cae55ca2d6ee1ee5c400f042527" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__p", @@ -4024,7 +4052,7 @@ "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" ], 0, - "ca7ad59f714ae36a54571b6c768348c2" + "5e15b6ecc65f181c60b5a6658d501eb8" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__s1", @@ -4042,7 +4070,7 @@ "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" ], 0, - "fb33daa220d6ff79361a70bf2221c244" + "010db10cb455e69205752f429d109c3c" ], [ "FStar.Pointer.Base.__proj__PathDisjointStep__item__s2", @@ -4067,7 +4095,7 @@ "typing_FStar.Pointer.Base.step_disjoint" ], 0, - "4406bc11e19b08aceaf3b0c6e88de695" + "26274a39b1bbcdd585ab776119dc757f" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to1", @@ -4081,7 +4109,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "a7aa32da4c7e2ccc99e6cb28e9c914e6" + "b2cdabf84fe871c8cd2637fe2d0d558d" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to2", @@ -4095,7 +4123,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "45fc21963bc794314b894c29b1c8be7f" + "7774179f95affe11bc2601b4d44b57a4" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p1", @@ -4111,7 +4139,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "7c8bc7e7550b6a953c54e4cd93a43f7c" + "4699884aa6b7717c1a11db45cb005404" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p2", @@ -4127,7 +4155,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "3e3b9289b7fe4246a77b6e4e008dcbc7" + "54aa39fa53953e5cd1171f27b8c98ab1" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to1'", @@ -4141,7 +4169,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "54b14961a0f91e8fd9e132709bb17695" + "ec1a8e29a5b50a57274ae534f893be49" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to2'", @@ -4155,7 +4183,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "1de024579a9210bcc16f8af00236f9d7" + "9da5781b60446d33e84f0769fa72a2b4" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p1'", @@ -4184,7 +4212,7 @@ "typing_FStar.Pointer.Base.uu___is_PathDisjointIncludes" ], 0, - "8b0b14b3e62bc10021eb92add200a75d" + "7567b86b6c7b729a23b614aea1c7e069" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p2'", @@ -4205,7 +4233,7 @@ "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d" ], 0, - "9f0cd3534e3b6e04b4bb985784693091" + "62077e5eb9618354e350bf203a354a6a" ], [ "FStar.Pointer.Base.__proj__PathDisjointIncludes__item___8", @@ -4227,7 +4255,7 @@ "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" ], 0, - "265157d6d315a4b6bdaeeff3bec48330" + "234319e15f50cf2ba4a20d5bf51e7749" ], [ "FStar.Pointer.Base.path_disjoint_t_rect", @@ -4255,7 +4283,7 @@ "subterm_ordering_FStar.Pointer.Base.PathDisjointIncludes" ], 0, - "45b3ea280fd7641877e96d1bcde4c46e" + "7b16fde73cccd5e1806a2a359ebfe1c8" ], [ "FStar.Pointer.Base.path_disjoint_ind", @@ -4267,7 +4295,7 @@ "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb" ], 0, - "2e3bc314dc8b984c844638380e98542d" + "c35341a331aca8956e8ed9afc10afde2" ], [ "FStar.Pointer.Base.path_disjoint_ind", @@ -4276,15 +4304,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.Pointer.Base.path_disjoint", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_a02d9d7bf230ab25f66365b7b22b819e", "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "unit_inversion", "unit_typing" + "unit_inversion" ], 0, - "86576f897ef24ae1407cd9c81ec8a592" + "1428251a8fe85995f061faef872b78b5" ], [ "FStar.Pointer.Base.path_disjoint_step", @@ -4299,7 +4326,7 @@ "unit_inversion" ], 0, - "89e75cc8dee5a9da0349e11bc72e35a5" + "1c2d3c77c42b89c98ea5c107b8d89b27" ], [ "FStar.Pointer.Base.path_disjoint_includes", @@ -4308,13 +4335,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.Pointer.Base.path_disjoint", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_inversion", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "unit_inversion" ], 0, - "4fcbc8072043a064d5cba00b4b3245c9" + "4e71763b430c1dde6e57ed7d0ae6ec3b" ], [ "FStar.Pointer.Base.path_disjoint_includes_l", @@ -4328,7 +4354,7 @@ "@query", "lemma_FStar.Pointer.Base.path_includes_refl" ], 0, - "197e749e547432218f8864610956a41d" + "4da4afb53e666e50f3c9312ebca700f0" ], [ "FStar.Pointer.Base.path_disjoint_sym", @@ -4357,7 +4383,7 @@ "string_inversion", "typing_FStar.Pointer.Base.step_disjoint" ], 0, - "15cbd2007968898dd95591b417854f5b" + "23b4da308273926800f538de7c094f7f" ], [ "FStar.Pointer.Base.path_equal", @@ -4392,7 +4418,7 @@ "typing_FStar.Pointer.Base.uu___is_PathStep" ], 0, - "8a19c0f4a171e3ef359c0b86c77276d5" + "cacd9b7570dc37e86f4b0a710ae7ac79" ], [ "FStar.Pointer.Base.path_equal", @@ -4403,12 +4429,11 @@ "@MaxIFuel_assumption", "@query", "FStar.Pointer.Base_pretyping_b27168cc0cd9c7f90ae88b602ccfc55c", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", "binder_x_c187978e0b47d492be4f7ef67953e027_0", "binder_x_c187978e0b47d492be4f7ef67953e027_2", "binder_x_d8c87ff041e51a1dd1e128b2f010108c_4", "bool_inversion", - "bool_typing", "data_elim_FStar.Pointer.Base.PathBase", + "data_elim_FStar.Pointer.Base.PathBase", "data_elim_FStar.Pointer.Base.PathStep", "disc_equation_FStar.Pointer.Base.PathBase", "disc_equation_FStar.Pointer.Base.PathStep", @@ -4419,15 +4444,15 @@ "projection_inverse_FStar.Pointer.Base.PathStep_p", "projection_inverse_FStar.Pointer.Base.PathStep_s", "projection_inverse_FStar.Pointer.Base.PathStep_through", - "refinement_interpretation_Tm_refine_baffba81e209e1f8ed4aed5bd730cc38", - "refinement_interpretation_Tm_refine_bb8df15823325f5001501c646452e619", + "refinement_interpretation_Tm_refine_5c3ca6248fcb2cf1283e5e568a88c0a6", + "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", "subterm_ordering_FStar.Pointer.Base.PathStep", "typing_FStar.Pointer.Base.path_equal", "typing_FStar.Pointer.Base.step_eq", "typing_FStar.Pointer.Base.uu___is_PathStep" ], 0, - "8d7eee9482bcd72aa6883407e921a898" + "aaff50180751e177107240a78e0d4c59" ], [ "FStar.Pointer.Base.path_length_concat", @@ -4471,7 +4496,7 @@ "typing_FStar.Pointer.Base.path_length" ], 0, - "2884c278129c295757be75d2934cea5a" + "754beba0423e97058037edd2c1ebad2b" ], [ "FStar.Pointer.Base.path_concat_inj_l", @@ -4480,11 +4505,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb8df15823325f5001501c646452e619", + "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", "typing_FStar.Pointer.Base.path_equal" ], 0, - "109ea79c31aa43b0c1ce0e30b5f14269" + "a4b0b9e65a6dc2a9ecf7eeeb56b48026" ], [ "FStar.Pointer.Base.path_concat_inj_l", @@ -4500,8 +4525,6 @@ "@query", "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", "binder_x_198ccbfb8c62cfbcee6e3d63acd41eeb_8", "binder_x_3f0f019f33fdd3df121c66cf611c3526_4", @@ -4510,7 +4533,7 @@ "binder_x_c187978e0b47d492be4f7ef67953e027_1", "binder_x_c187978e0b47d492be4f7ef67953e027_3", "binder_x_c187978e0b47d492be4f7ef67953e027_5", - "binder_x_c187978e0b47d492be4f7ef67953e027_6", "bool_typing", + "binder_x_c187978e0b47d492be4f7ef67953e027_6", "constructor_distinct_FStar.Pointer.Base.PathBase", "constructor_distinct_FStar.Pointer.Base.PathStep", "data_elim_FStar.Pointer.Base.PathBase", @@ -4521,9 +4544,8 @@ "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.path_equal.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Pointer.Base.path_concat_base_l", + "fuel_guarded_inversion_FStar.Pointer.Base.path", "int_inversion", + "lemma_FStar.Pointer.Base.path_concat_base_l", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pointer.Base.PathBase_from", "projection_inverse_FStar.Pointer.Base.PathStep_from", @@ -4532,8 +4554,8 @@ "projection_inverse_FStar.Pointer.Base.PathStep_through", "projection_inverse_FStar.Pointer.Base.PathStep_to", "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bb8df15823325f5001501c646452e619", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", "subterm_ordering_FStar.Pointer.Base.PathStep", "token_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", "typing_FStar.Pointer.Base.path_concat", @@ -4541,7 +4563,7 @@ "typing_FStar.Pointer.Base.path_length" ], 0, - "47b01fabffb5fee912474b42d2500caa" + "de5c3eaa2b2192cccfe09ac12d9f75a0" ], [ "FStar.Pointer.Base.path_disjoint_decomp_t", @@ -4550,18 +4572,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_FStar.Pointer.Base.path__uu___haseq", "assumption_FStar.Pointer.Base.step__uu___haseq", "assumption_FStar.Pointer.Base.typ__uu___haseq", "equation_Prims.eqtype", "equation_Prims.l_and", "equation_Prims.squash", "function_token_typing_Prims.unit", - "haseqTm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "unit_typing" + "haseqTm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "725a4a456e80f9fc63a6556da78601a5" + "08488ad3d1db0d4d63f188c99739017d" ], [ "FStar.Pointer.Base.__proj__PathDisjointDecomp__item__d_p", @@ -4574,7 +4594,7 @@ "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_through" ], 0, - "36de117dd0a44951797b1d8e148d3cb3" + "a4e2541a59078404126b7edf77536998" ], [ "FStar.Pointer.Base.__proj__PathDisjointDecomp__item__d_s1", @@ -4589,7 +4609,7 @@ "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_v1" ], 0, - "556794690de8cf9a55e1a233c0aad74a" + "b6d5fb06987efa00ab3625a8f971c82d" ], [ "FStar.Pointer.Base.__proj__PathDisjointDecomp__item__d_p1'", @@ -4601,7 +4621,7 @@ "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_v1" ], 0, - "aedce479e829e47c3ce6e9ad97b9e194" + "a16af4c91339e64cb5c1f1536a817912" ], [ "FStar.Pointer.Base.__proj__PathDisjointDecomp__item__d_s2", @@ -4616,7 +4636,7 @@ "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_v2" ], 0, - "381542e3278d4f565be8e179271e5991" + "b29d5ea19950ef250bf5ce63945a25eb" ], [ "FStar.Pointer.Base.__proj__PathDisjointDecomp__item__d_p2'", @@ -4628,7 +4648,7 @@ "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_v2" ], 0, - "0bf2eedee2702629524daf7e373ce140" + "028ad14d06ad5b6e2b28785733ccfcb2" ], [ "FStar.Pointer.Base.__proj__PathDisjointDecomp__item___8", @@ -4654,7 +4674,7 @@ "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_v2" ], 0, - "0361ad3212d5626cb54d59f7021ad42e" + "14167fbe5b15480cbb8ab593a5e99456" ], [ "FStar.Pointer.Base.path_disjoint_decomp_includes", @@ -4666,18 +4686,17 @@ "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "data_elim_FStar.Pointer.Base.PathDisjointDecomp", "eq2-interp", - "equation_Prims.l_and", "equation_Prims.squash", + "bool_inversion", "data_elim_FStar.Pointer.Base.PathDisjointDecomp", + "eq2-interp", "equation_Prims.l_and", "equation_Prims.squash", "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.path_disjoint_decomp_t", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "typing_FStar.Pointer.Base.path_includes", "unit_typing" + "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "typing_FStar.Pointer.Base.path_includes" ], 0, - "110a86221b3fbbfe573774d6724902fe" + "da4a00f7519dac82198a7da9ee39d2f3" ], [ "FStar.Pointer.Base.path_disjoint_decomp", @@ -4701,7 +4720,7 @@ "typing_FStar.Pointer.Base.step_disjoint" ], 0, - "dfdf69f7d24b8f70da4523337a985cb7" + "880c026c35b99a6609a7d3b555965e08" ], [ "FStar.Pointer.Base.path_disjoint_not_path_equal", @@ -4713,9 +4732,8 @@ "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.path_equal.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base.PathStep", + "@query", "bool_inversion", + "constructor_distinct_FStar.Pointer.Base.PathStep", "data_elim_FStar.Pointer.Base.PathDisjointDecomp", "data_typing_intro_FStar.Pointer.Base.PathStep@tok", "disc_equation_FStar.Pointer.Base.PathBase", @@ -4743,12 +4761,12 @@ "projection_inverse_FStar.Pointer.Base.PathStep_s", "projection_inverse_FStar.Pointer.Base.PathStep_through", "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_bb8df15823325f5001501c646452e619", - "typing_FStar.Pointer.Base.path_equal", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", + "typing_FStar.Pointer.Base.path_equal" ], 0, - "b2e01480db373348aee8ab708df18cb7" + "9aa5f0ce3f185c247ebad2016c2d619d" ], [ "FStar.Pointer.Base.path_destruct_l", @@ -4761,18 +4779,14 @@ "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_b27168cc0cd9c7f90ae88b602ccfc55c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", + "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", "binder_x_c187978e0b47d492be4f7ef67953e027_0", "binder_x_c187978e0b47d492be4f7ef67953e027_1", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Pointer.Base.PathBase", "constructor_distinct_FStar.Pointer.Base.PathStep", + "data_elim_FStar.Pointer.Base.PathStep", "data_typing_intro_FStar.Pointer.Base.PathBase@tok", "data_typing_intro_FStar.Pointer.Base.PathStep@tok", "disc_equation_FStar.Pervasives.Native.None", @@ -4784,27 +4798,27 @@ "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pointer.Base.path", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pointer.Base.PathBase_from", "projection_inverse_FStar.Pointer.Base.PathStep_from", "projection_inverse_FStar.Pointer.Base.PathStep_p", "projection_inverse_FStar.Pointer.Base.PathStep_s", "projection_inverse_FStar.Pointer.Base.PathStep_through", "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_02fc160983cb6b95bc8024dda2fb489b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_71b5e22788953cc9f8ad81f80cff5d8c", "refinement_interpretation_Tm_refine_cc25ff37b88364dacaea8b60814ec8fc", - "refinement_interpretation_Tm_refine_cf74b7eccb8962519f0e781339ea3e82", + "refinement_interpretation_Tm_refine_dbd32fc1f8071b12a138403222ec975e", "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented" + "token_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", + "typing_FStar.Pointer.Base.path_destruct_l", + "typing_FStar.Pointer.Base.uu___is_PathBase" ], 0, - "fe704ebad7c8a09d95839fe7a2a13ab6" + "75a49de0edf343fd2bc6ae1f1c6619fb" ], [ "FStar.Pointer.Base.path_equal'", @@ -4862,7 +4876,7 @@ "well-founded-ordering-on-nat" ], 0, - "a61648cfbf325c9be42f35392ca8acc8" + "380a7f13ac5254fe0e4206c1ea3ee8b9" ], [ "FStar.Pointer.Base.path_equal'", @@ -4876,8 +4890,6 @@ "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", "Prims_pretyping_09d9235a8068627898e77b75945bdc5c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", "binder_x_c187978e0b47d492be4f7ef67953e027_0", "binder_x_c187978e0b47d492be4f7ef67953e027_1", @@ -4896,7 +4908,6 @@ "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pointer.Base.path", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", @@ -4904,12 +4915,13 @@ "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2_b", + "refinement_interpretation_Tm_refine_02fc160983cb6b95bc8024dda2fb489b", "refinement_interpretation_Tm_refine_2b3edafa058d04c5c7e8a35d7a04bacd", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f000431ec9b366668798144dd555bf9", + "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", "refinement_interpretation_Tm_refine_942eb390dc27abd74312617cdca63061", - "refinement_interpretation_Tm_refine_a44bbb8eb79525ace4ae86018339a1b5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bb8df15823325f5001501c646452e619", - "refinement_interpretation_Tm_refine_f79c3b3155a54b0f955e2c001f0e5720", + "token_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", "typing_FStar.Pointer.Base.path_destruct_l", "typing_FStar.Pointer.Base.path_equal_", "typing_FStar.Pointer.Base.path_length", @@ -4918,7 +4930,7 @@ "well-founded-ordering-on-nat" ], 0, - "0650c5a73241ee3bf9bc4a3e082dd4db" + "239dd3da04c8a1c169b2266daab457a6" ], [ "FStar.Pointer.Base.path_includes_concat_l", @@ -4949,7 +4961,7 @@ "typing_FStar.Pointer.Base.path_concat" ], 0, - "c559cdf4effddcdf117adb4f6f4933e0" + "4de8fd207e11cd09baa96167d2f37f45" ], [ "FStar.Pointer.Base.path_disjoint_concat", @@ -4974,7 +4986,7 @@ "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d" ], 0, - "c505e9412d2bbb54ce3ac7eac4c53106" + "aa764698fec219e489fd08f7966badab" ], [ "FStar.Pointer.Base.step_sel_upd_other", @@ -4988,18 +5000,15 @@ "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", - "FStar.Pointer.Base_interpretation_Tm_arrow_68ca27102e7653c5d7f55ddb71909cae", - "FStar.Pointer.Base_interpretation_Tm_arrow_96f45b3a2b83575f13547fb24b72d0ca", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_461c1a04a2297465934fe9913aab7926", + "FStar.Pointer.Base_interpretation_Tm_arrow_5d491a1b4d1a78b391a7c9212b49de34", + "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", @@ -5037,15 +5046,14 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Pointer.Base.step", + "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", - "interpretation_Tm_abs_5ea69a1c5df5d4ae7eea511f6895946d", - "interpretation_Tm_abs_8ee7dc8209580f10f8ff916e69695e37", + "interpretation_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", + "interpretation_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.DependentMap.sel_create", @@ -5072,17 +5080,17 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_041a24a8c3715e0f4960d28f20ee920b", - "refinement_interpretation_Tm_refine_0fe6534274b669a8166532638c9b6bbf", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_4482b8ea10b7c3e0f684ae7e9c82dd06", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", @@ -5096,12 +5104,12 @@ "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Pointer.Base.step_disjoint", "typing_FStar.Pointer.Base.struct_field", "typing_FStar.UInt32.v", - "typing_Tm_abs_5ea69a1c5df5d4ae7eea511f6895946d", - "typing_Tm_abs_8ee7dc8209580f10f8ff916e69695e37", "unit_inversion", + "typing_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", + "typing_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8", "unit_inversion", "unit_typing" ], 0, - "a70fbb105c0cb2d47efc2f3287aa882e" + "724afb680a07e823443a483d13423b6f" ], [ "FStar.Pointer.Base.path_sel_upd_other", @@ -5137,7 +5145,7 @@ "typing_FStar.Pointer.Base.path_upd" ], 0, - "43994c689570400a41388d045fd7da96" + "7204389451c43453d5dd54ef7395b89a" ], [ "FStar.Pointer.Base.path_sel_upd_other'", @@ -5146,7 +5154,7 @@ 1, [ "@query" ], 0, - "97a85438539c85172304d84f470a646a" + "336f0841a6c9167d20031cb293de9ac3" ], [ "FStar.Pointer.Base.equal", @@ -5181,7 +5189,7 @@ "typing_FStar.Pointer.Base.path_equal" ], 0, - "6d05a93348888bac0ed7b23cee0fca52" + "0a37b20c6b890a50e290a727fefa2ad8" ], [ "FStar.Pointer.Base.equal", @@ -5194,9 +5202,8 @@ "@query", "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.Pointer.Base.typ__uu___haseq", "bool_inversion", - "bool_typing", "data_elim_FStar.Pointer.Base.Pointer", + "data_elim_FStar.Pointer.Base.Pointer", "disc_equation_FStar.Pointer.Base.Pointer", "equation_FStar.Pointer.Base.g_is_null", "equation_FStar.Pointer.Base.npointer", @@ -5208,13 +5215,13 @@ "proj_equation_FStar.Pointer.Base.Pointer_p", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_bb8df15823325f5001501c646452e619", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", + "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.path_equal" ], 0, - "43d0257c5c314275b24005c8093cb959" + "6f7974df5494b29fcbdaa3def0adde13" ], [ "FStar.Pointer.Base.as_addr", @@ -5232,7 +5239,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "5ef9580700ee09890657ebb016c14e7c" + "23cb4c1af3bddaaebb7322444411a607" ], [ "FStar.Pointer.Base._field", @@ -5254,7 +5261,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "e9977ba13fd0cec92695e331a700d4b2" + "699f6b2e8cd28b89eedc2249b79835d3" ], [ "FStar.Pointer.Base._cell", @@ -5280,7 +5287,7 @@ "typing_FStar.UInt32.v" ], 0, - "2e13068c310cee203b87a56545b25755" + "f9428d632ee98821ad9b8ef68ea58500" ], [ "FStar.Pointer.Base._ufield", @@ -5304,7 +5311,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "a58cda7701e682cef8e78edc72ec33f4" + "4fae27bf62ed13e3b25c990aad989b76" ], [ "FStar.Pointer.Base.unused_in", @@ -5321,7 +5328,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "81bd1e4e2a19c130e179d9750a823b54" + "c182be14cb3a3100aea1a5bf17416f7b" ], [ "FStar.Pointer.Base.live", @@ -5349,7 +5356,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "add2fb3379b234b4779f7daa6f499be6" + "061efc85d4710d56ed508de2b3512db2" ], [ "FStar.Pointer.Base.nlive", @@ -5361,7 +5368,7 @@ "equation_Prims.l_True" ], 0, - "77d36bcd2d1b1b301408b7c4b3d97393" + "2433cb08d15febc135cdd44b724ce20b" ], [ "FStar.Pointer.Base.live_nlive", @@ -5387,7 +5394,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "ea0a4834bf1eddee246904d1f78471df" + "2595654c3ad3498d6492948352ffb189" ], [ "FStar.Pointer.Base.g_is_null_nlive", @@ -5401,7 +5408,7 @@ "typing_FStar.Pointer.Base.g_is_null" ], 0, - "c04c8ea90f45a8ed5d71a2a6aad14e7c" + "3a910f434cba0034d74b1e9bfbfc69c2" ], [ "FStar.Pointer.Base.greference_of", @@ -5437,7 +5444,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "282f9f4c702cd86ab62ab42830f4566c" + "e4c548bc3eb467eaaf397d0d6a0e73cf" ], [ "FStar.Pointer.Base.unused_in_greference_of", @@ -5467,9 +5474,9 @@ "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", "primitive_Prims.op_BarBar", "proj_equation_FStar.Pointer.Base.Pointer_contents", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -5477,7 +5484,7 @@ "typing_FStar.Pointer.Base.greference_of" ], 0, - "902468db427fe703d5ce1e0f0a202871" + "0f9883dbfe1068ef112c9415243d27c8" ], [ "FStar.Pointer.Base.live_not_unused_in", @@ -5485,9 +5492,8 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", @@ -5513,9 +5519,9 @@ "primitive_Prims.op_Negation", "proj_equation_FStar.Pointer.Base.Pointer_contents", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", @@ -5527,7 +5533,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "f8db1f14579373f908e8352561283ac2" + "93345a677fcd16f4c31b13a5e39407e5" ], [ "FStar.Pointer.Base.gread", @@ -5550,10 +5556,10 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Mkdtuple2__1", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_ee34c8cfab75cfe0f3c613d01f327feb" + "refinement_interpretation_Tm_refine_74d04f3d69c944bb6c1ca407ab636711" ], 0, - "7bdae7f09c36d6d55a82dccbdf405072" + "bccb150c68a3dae00a69afbfd003efc9" ], [ "FStar.Pointer.Base.frameOf", @@ -5571,7 +5577,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "64a91eb59e4c4028af37a9f47871ddeb" + "127bbbd7f18160669795254fbfd2faec" ], [ "FStar.Pointer.Base.live_region_frameOf", @@ -5614,7 +5620,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "3d7a4657cc2d745c4b39ba1162f1e383" + "d6eb35fe9d8f5d0587248e289492cc8a" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_pointer", @@ -5655,7 +5661,7 @@ "typing_FStar.Pointer.Base.frameOf" ], 0, - "dc65188b011a94aa84a4b5ae92786c10" + "fd0574eeb71073f78c2debba8d1f01aa" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_pointer", @@ -5698,7 +5704,7 @@ "typing_FStar.Monotonic.HyperStack.greference_of" ], 0, - "dd70e1aa2b36804a1f1dd7739e3352fa" + "699f41571222288611d979629b2b23bb" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_reference", @@ -5756,7 +5762,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "26fc346d4cd36a7bb661a9c08c0fd74d" + "eed0b5e2d2b1ba9bddc637c86cdae9be" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_reference", @@ -5764,15 +5770,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.Heap.trivial_preorder", + "@MaxIFuel_assumption", "@query", "bool_inversion", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", @@ -5788,9 +5791,9 @@ "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "l_and-interp", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", + "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", @@ -5799,24 +5802,24 @@ "primitive_Prims.op_Negation", "proj_equation_FStar.Pointer.Base.Pointer_contents", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.sel", + "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Monotonic.HyperStack.unused_in", "typing_FStar.Pointer.Base.frameOf", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "e3921b6b59cad1155768072bdf7ed3be" + "b9ed9f5b34fc7ed320a3ad39e49c0932" ], [ "FStar.Pointer.Base.disjoint_roots_intro_reference_vs_pointer", @@ -5851,7 +5854,7 @@ "typing_FStar.Pointer.Base.frameOf" ], 0, - "508fee15e4375c3683aa00a07bb8ca78" + "3119098ba7ce99e8d9b1c0865e41a490" ], [ "FStar.Pointer.Base.disjoint_roots_intro_reference_vs_pointer", @@ -5890,7 +5893,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "512e37be1fcaf19fad0e13e4df5819e2" + "26fb499b0dde7253fb27c1b2630edb4d" ], [ "FStar.Pointer.Base.is_mm", @@ -5908,7 +5911,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "cfee17b8aeddb00f544a654241f00320" + "b378be0123cb888cef39d47b6a7491f1" ], [ "FStar.Pointer.Base.as_addr_gfield", @@ -5934,7 +5937,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "95a9a815f859e07565f0ccef85ff708b" + "6a573a96da8ee544ce4ee500d703107c" ], [ "FStar.Pointer.Base.as_addr_gfield", @@ -5959,7 +5962,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "52f394a3cd4f265cf2745e96ebcd9d0d" + "380922a098b30c741a21543b1bb4a482" ], [ "FStar.Pointer.Base.unused_in_gfield", @@ -5987,7 +5990,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "4a2e2c6f40de37be1236854587e91bac" + "7f488fc7ea3f0e11cb76e0ebd15956a6" ], [ "FStar.Pointer.Base.live_gfield", @@ -6016,7 +6019,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "d8ded553d35f0d39e4d6250a0d74b259" + "1ffb27354cac72141986b4bb64d1aeda" ], [ "FStar.Pointer.Base.gread_gfield", @@ -6032,7 +6035,7 @@ "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" ], 0, - "7a2ca09a8aea63486fb5c2f49cdc3b0d" + "cfd677565f02e5dcd5fe539af4d960b3" ], [ "FStar.Pointer.Base.gread_gfield", @@ -6052,17 +6055,15 @@ "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pointer.Base_interpretation_Tm_arrow_0a44b12744e216c6d692aa1730cf3d23", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", - "FStar.Pointer.Base_interpretation_Tm_arrow_2ee7ac559fdb61982ce272c542bd9a75", - "FStar.Pointer.Base_interpretation_Tm_arrow_8f3ac7f641cc02cb2183937b1f910885", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_3039342fd2e0851a3664dcc7db386d3a", + "FStar.Pointer.Base_interpretation_Tm_arrow_a0191ab2e68770063b58fb6f1cd4a993", + "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", + "FStar.Pointer.Base_interpretation_Tm_arrow_bdc5e911949bed2f1a418f3bbfc31253", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pointer.Base.PathStep", "constructor_distinct_FStar.Pointer.Base.StepField", @@ -6076,10 +6077,6 @@ "disc_equation_Prims.Cons", "eq2-interp", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base._field", @@ -6108,16 +6105,14 @@ "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.typ", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", "function_token_typing_Prims.string", - "interpretation_Tm_abs_7308b67cc0c6688ddbe1b7ef025fbe04", - "interpretation_Tm_abs_edd3e752044c7c6c940de67d8ad725b4", + "interpretation_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1", + "interpretation_Tm_abs_9960ac31dfa7b5178b9dece32921ded2", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Pointer.Base.live_gfield", "lemma_FStar.Pointer.Base.otype_of_typ_struct", @@ -6144,25 +6139,21 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.otype_of_struct_field", "token_correspondence_FStar.Pointer.Base.otype_of_typ", "typing_FStar.DependentMap.t", "typing_FStar.Heap.trivial_preorder", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Pervasives.dfst", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", @@ -6174,11 +6165,12 @@ "typing_FStar.Pointer.Base.struct_field", "typing_FStar.Pointer.Base.typ_of_struct_field", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_7308b67cc0c6688ddbe1b7ef025fbe04", - "typing_Tm_abs_edd3e752044c7c6c940de67d8ad725b4" + "typing_Prims.uu___is_Cons", + "typing_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1", + "typing_Tm_abs_9960ac31dfa7b5178b9dece32921ded2" ], 0, - "ef59952ffa8ae7855d772961a279e5ff" + "57a700d492164b3c2528c5c4b899a40b" ], [ "FStar.Pointer.Base.frameOf_gfield", @@ -6203,7 +6195,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "92ba290f65f91d6bdf521762506cd699" + "940695ce602f90d6100c40c0e039ec21" ], [ "FStar.Pointer.Base.is_mm_gfield", @@ -6228,7 +6220,7 @@ "typing_FStar.Pointer.Base.gfield", "unit_typing" ], 0, - "0c43ced752b96cce32e554e530dd20e0" + "e9705cfce2ea9f61c39baaa05c2ca569" ], [ "FStar.Pointer.Base.as_addr_gufield", @@ -6254,7 +6246,7 @@ "typing_FStar.Pointer.Base.gufield" ], 0, - "f41d7b80744f292b0b9d14d02aa8f814" + "a14dc152ca9ad24cc4c6861a624961f1" ], [ "FStar.Pointer.Base.as_addr_gufield", @@ -6279,7 +6271,7 @@ "typing_FStar.Pointer.Base.gufield", "unit_typing" ], 0, - "dd2e80f5def71c8cdd314015e0d3aeac" + "6cff3aa2f737f4c94862937a46cec915" ], [ "FStar.Pointer.Base.unused_in_gufield", @@ -6307,7 +6299,7 @@ "typing_FStar.Pointer.Base.gufield", "unit_typing" ], 0, - "8af11c413b6ed999506b11fafe7cc7c6" + "3e39d4fc25602226a1879568238b2c80" ], [ "FStar.Pointer.Base.live_gufield", @@ -6336,7 +6328,7 @@ "typing_FStar.Pointer.Base.gufield", "unit_typing" ], 0, - "8c9eca91282ed0ed15ecf74ab0a10210" + "efccac2d4d6ef4b009606d432b5804e7" ], [ "FStar.Pointer.Base.gread_gufield", @@ -6353,7 +6345,7 @@ "lemma_FStar.Pointer.Base.type_of_typ_union" ], 0, - "b5f7ebdc8b942867c50207eae5ce5b9f" + "19cc5e3013642bb5b4dbd0f0fa72f114" ], [ "FStar.Pointer.Base.gread_gufield", @@ -6366,43 +6358,34 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.dummy_val.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", + "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Pointer.Base.PathStep", + "constructor_distinct_FStar.Pointer.Base.Pointer", "constructor_distinct_FStar.Pointer.Base.StepUField", "constructor_distinct_FStar.Pointer.Base.TUnion", "constructor_distinct_FStar.Pointer.Base._npointer", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Cons", - "data_elim_Prims.Mkdtuple2", + "data_elim_Prims.Cons", "data_elim_Prims.Mkdtuple2", "data_typing_intro_FStar.Pointer.Base.TUnion@tok", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pointer.Base.Pointer", "disc_equation_Prims.Cons", "eq2-interp", "equation_FStar.HyperStack.reference", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.dfst", @@ -6410,7 +6393,6 @@ "equation_FStar.Pointer.Base._ufield", "equation_FStar.Pointer.Base.gread", "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata", "equation_FStar.Pointer.Base.gtdata_create", "equation_FStar.Pointer.Base.gtdata_get_key", "equation_FStar.Pointer.Base.gtdata_get_value", @@ -6425,33 +6407,28 @@ "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.struct_typ_", "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", "equation_FStar.Pointer.Base.union_create", "equation_FStar.Pointer.Base.union_get_key", "equation_FStar.Pointer.Base.union_get_value", "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", + "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.dummy_val.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.union.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Pointer.Base.typ", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", "function_token_typing_Prims.string", - "interpretation_Tm_abs_420bfb6072aabcdbd804b62a92d00fe1", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.live_gufield", "lemma_FStar.Pointer.Base.type_of_typ__eq", - "lemma_FStar.Pointer.Base.type_of_typ_union", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -6468,7 +6445,9 @@ "projection_inverse_FStar.Pointer.Base.PathStep_through", "projection_inverse_FStar.Pointer.Base.PathStep_to", "projection_inverse_FStar.Pointer.Base.Pointer_contents", + "projection_inverse_FStar.Pointer.Base.Pointer_from", "projection_inverse_FStar.Pointer.Base.Pointer_p", + "projection_inverse_FStar.Pointer.Base.Pointer_to", "projection_inverse_FStar.Pointer.Base.StepUField_fd", "projection_inverse_FStar.Pointer.Base.StepUField_l", "projection_inverse_FStar.Pointer.Base.TUnion_l", @@ -6478,42 +6457,36 @@ "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", "projection_inverse_Prims.Mkdtuple2_b", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "string_typing", + "token_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "token_correspondence_FStar.Pointer.Base.type_of_typ_", "typing_FStar.Heap.trivial_preorder", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Pervasives.dfst", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.gread", "typing_FStar.Pointer.Base.greference_of", "typing_FStar.Pointer.Base.gufield", "typing_FStar.Pointer.Base.live", "typing_FStar.Pointer.Base.path_sel", "typing_FStar.Pointer.Base.typ_of_struct_field", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_Prims.uu___is_Cons", "unit_typing" ], 0, - "4797423ead0076b3262f7157ffc1f84b" + "963548c847f9fc499913b672f35b773b" ], [ "FStar.Pointer.Base.frameOf_gufield", @@ -6538,7 +6511,7 @@ "typing_FStar.Pointer.Base.gufield", "unit_typing" ], 0, - "228f028816798191da58620d3f4b20d6" + "70d481051fe398f79a2a7aae79ba5a1b" ], [ "FStar.Pointer.Base.is_mm_gufield", @@ -6563,7 +6536,7 @@ "typing_FStar.Pointer.Base.gufield", "unit_typing" ], 0, - "8a6070ebb3f98088cc0b1ba4964e9608" + "f883274619384a2b8ac34907d9f290f8" ], [ "FStar.Pointer.Base.gcell", @@ -6572,7 +6545,7 @@ 1, [ "@query" ], 0, - "5b57b7fb01e7f8d52776d2384853b24f" + "77e1aef47f179e8a0c46110e4fc5ec5b" ], [ "FStar.Pointer.Base.as_addr_gcell", @@ -6597,7 +6570,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "5bf2d4516c0f7497867688e44f73fe87" + "06a97ad72ed96a6815a995279e3aedd9" ], [ "FStar.Pointer.Base.as_addr_gcell", @@ -6622,7 +6595,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "67f7af2f2e14280766a53c09b07cacb7" + "2c74198d88383e511f57a376c02e0b0a" ], [ "FStar.Pointer.Base.unused_in_gcell", @@ -6650,7 +6623,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "0c433a10a05fd24fe83b099b0690a291" + "482fd564710cba57332ae6960239caba" ], [ "FStar.Pointer.Base.live_gcell", @@ -6678,7 +6651,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "50a217788e478ca90f1f1eabb6855b2e" + "3c3e36576dd385348ed239d8d2aec62e" ], [ "FStar.Pointer.Base.gread_gcell", @@ -6703,7 +6676,7 @@ "typing_FStar.Pointer.Base.gread" ], 0, - "a7d9848ad8f4e9f520eb6a4f1281d0a7" + "c098ecf26b010c6595b398e70558421f" ], [ "FStar.Pointer.Base.gread_gcell", @@ -6718,22 +6691,23 @@ "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_0dbe59df592edf9057c3abf99a52d523", + "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", + "FStar.Pointer.Base_interpretation_Tm_arrow_cbaf63ee0f7cd0118b8161198aafa7ec", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_FStar.Pervasives.Native.option", "constructor_distinct_FStar.Pointer.Base.PathStep", "constructor_distinct_FStar.Pointer.Base.StepCell", "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_Tm_unit", "data_elim_Prims.Mkdtuple2", + "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", + "data_elim_Prims.Mkdtuple2", "data_typing_intro_FStar.Pointer.Base.TArray@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -6766,15 +6740,13 @@ "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.typ", "fuel_guarded_inversion_Prims.dtuple2", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_6fcd3e52a76178c357aeb4950f04fb1a", + "interpretation_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pervasives.invertOption", @@ -6802,18 +6774,18 @@ "projection_inverse_FStar.Pointer.Base.StepCell_value", "projection_inverse_FStar.Pointer.Base.TArray_length", "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_0c65f39f7a74f42456cfcad4e62be031", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", + "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", @@ -6823,20 +6795,18 @@ "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Pervasives.dfst", "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.array", "typing_FStar.Pointer.Base.gcell", - "typing_FStar.Pointer.Base.gread", + "typing_FStar.Pointer.Base.gcell", "typing_FStar.Pointer.Base.gread", "typing_FStar.Pointer.Base.greference_of", "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Pointer.Base.path_sel", "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.Seq.Base.length", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_FStar.UInt32.v", - "typing_Tm_abs_6fcd3e52a76178c357aeb4950f04fb1a" + "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", "unit_typing" ], 0, - "4b549d8feeed20eaac6e506c28acc228" + "20ddc792d9ac386d1ded1ad5aa1f9196" ], [ "FStar.Pointer.Base.frameOf_gcell", @@ -6861,7 +6831,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "80b98e6652b4d8d48885f528abb6eb70" + "babb44fa978bd93bfcfe31ae01db052e" ], [ "FStar.Pointer.Base.is_mm_gcell", @@ -6886,7 +6856,7 @@ "typing_FStar.Pointer.Base.gcell", "unit_typing" ], 0, - "7198c41548cbe5b41664380ca79b789c" + "7aa195e66bc86a9d3dc5bc0565957cc4" ], [ "FStar.Pointer.Base.includes", @@ -6906,7 +6876,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "27e15721c2173c0a6d76d19fbfbcd9e3" + "575e2e59cdfc4865c18204ee9f04605d" ], [ "FStar.Pointer.Base.includes_refl", @@ -6919,8 +6889,8 @@ "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.Pointer.Base.Pointer", + "bool_inversion", "bool_typing", + "data_elim_FStar.Pointer.Base.Pointer", "equation_FStar.Pointer.Base.g_is_null", "equation_FStar.Pointer.Base.includes", "equation_FStar.Pointer.Base.npointer", @@ -6933,12 +6903,12 @@ "proj_equation_FStar.Pointer.Base.Pointer_p", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.includes" ], 0, - "ec79c6612946f932749138e6004d59e3" + "dd887f4ecac81a5bfab450d6c9be56fc" ], [ "FStar.Pointer.Base.includes_trans", @@ -6948,8 +6918,7 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "bool_inversion", "bool_typing", + "@query", "bool_inversion", "bool_typing", "data_elim_FStar.Pointer.Base.Pointer", "disc_equation_FStar.Pointer.Base.Pointer", "equation_FStar.Pointer.Base.g_is_null", @@ -6963,14 +6932,14 @@ "proj_equation_FStar.Pointer.Base.Pointer_p", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", "typing_FStar.Pointer.Base.includes" ], 0, - "d4756b47946da4389d2638b82a3de28d" + "0636e98d2e4c430ef139939287f5857b" ], [ "FStar.Pointer.Base.includes_gfield", @@ -6985,9 +6954,8 @@ "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base._npointer", + "constructor_distinct_FStar.Pointer.Base._npointer", "constructor_distinct_Prims.unit", "data_elim_FStar.Pointer.Base.Pointer", "data_typing_intro_FStar.Pointer.Base.StepField@tok", @@ -7013,12 +6981,12 @@ "projection_inverse_FStar.Pointer.Base.Pointer_contents", "projection_inverse_FStar.Pointer.Base.Pointer_from", "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base.gfield", @@ -7026,7 +6994,7 @@ "typing_Prims.uu___is_Cons", "unit_typing" ], 0, - "46a3791edcbd4a3d8111a84995ef7fc5" + "6caa601c9f2423301364a509573b4692" ], [ "FStar.Pointer.Base.includes_gufield", @@ -7041,9 +7009,8 @@ "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base._npointer", + "constructor_distinct_FStar.Pointer.Base._npointer", "constructor_distinct_Prims.unit", "data_elim_FStar.Pointer.Base.Pointer", "data_typing_intro_FStar.Pointer.Base.StepUField@tok", @@ -7071,12 +7038,12 @@ "projection_inverse_FStar.Pointer.Base.Pointer_contents", "projection_inverse_FStar.Pointer.Base.Pointer_from", "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base.gufield", @@ -7084,7 +7051,7 @@ "typing_Prims.uu___is_Cons", "unit_typing" ], 0, - "e513c9dcfe5e48f7377c2299667bab1b" + "0dfe8b49ff95ad67fa5c7883daee6ed1" ], [ "FStar.Pointer.Base.includes_gcell", @@ -7100,8 +7067,6 @@ "FStar.Pointer.Base_pretyping_b27168cc0cd9c7f90ae88b602ccfc55c", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pointer.Base._npointer", @@ -7115,7 +7080,6 @@ "equation_FStar.Pointer.Base.npointer", "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Pointer.Base.path_includes_step_r", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", @@ -7128,14 +7092,14 @@ "projection_inverse_FStar.Pointer.Base.Pointer_p", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.gcell", "typing_FStar.UInt32.v", "unit_typing" ], 0, - "7c536d56a92bcaa9c924a809c2f3f3fc" + "4bba4ab0cbe281d8ed2ba82ae150e754" ], [ "FStar.Pointer.Base.includes_ind", @@ -7144,12 +7108,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0510a3a4209edd5aca435ec5c152e12f", "refinement_interpretation_Tm_refine_1d4ba028ed16c70ccba461732aababc0", + "refinement_interpretation_Tm_refine_738a67d7ff183e6439039cdbdc536897", "refinement_interpretation_Tm_refine_bc644e363f3618c98f527a696e25fc11" ], 0, - "8b53f286ccaa7569db3681bced7adb4a" + "e5372d882955c85b9260baeea817de07" ], [ "FStar.Pointer.Base.includes_ind", @@ -7162,9 +7126,8 @@ "@query", "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base.Pointer", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pointer.Base.Pointer", "data_elim_FStar.Pointer.Base.Pointer", "data_elim_FStar.Pointer.Base.StepCell", "data_elim_FStar.Pointer.Base.StepField", @@ -7198,23 +7161,23 @@ "projection_inverse_FStar.Pointer.Base.Pointer_from", "projection_inverse_FStar.Pointer.Base.Pointer_p", "projection_inverse_FStar.Pointer.Base.Pointer_to", + "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", "refinement_interpretation_Tm_refine_2294e26464ce127dc19115c7d2830fb1", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", "refinement_interpretation_Tm_refine_7be63e85c12413195a9167f090ba15fa", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a", "refinement_interpretation_Tm_refine_f1bdf056430cac446ba97c183d132799", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.includes", "typing_FStar.Pointer.Base.path_includes" ], 0, - "28533ba7dec781a49d645449eed63d31" + "94cebec42827b3d9ea62484cca722698" ], [ "FStar.Pointer.Base.readable", @@ -7243,7 +7206,7 @@ "typing_FStar.Pointer.Base.frameOf" ], 0, - "db46e6aa021dd1e5bd9c675021eb60af" + "be064b17175bb4f036c19eb6a4ff0459" ], [ "FStar.Pointer.Base.readable_live", @@ -7252,7 +7215,7 @@ 1, [ "@query", "equation_FStar.Pointer.Base.readable", "l_and-interp" ], 0, - "98424ff4d472743693f30dcd90ecfce8" + "68dec46f914854f4b39c17f9f9029f28" ], [ "FStar.Pointer.Base.readable_gfield", @@ -7270,12 +7233,11 @@ "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.PathStep", @@ -7287,10 +7249,6 @@ "disc_equation_FStar.Pointer.Base.Pointer", "disc_equation_Prims.Cons", "eq2-interp", "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base._field", @@ -7310,13 +7268,11 @@ "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.live_gfield", "lemma_FStar.Pointer.Base.otype_of_typ_struct", "lemma_FStar.Pointer.Base.ovalue_is_readable_step_sel_field", @@ -7337,23 +7293,19 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Heap.trivial_preorder", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Pervasives.dfst", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", @@ -7362,10 +7314,11 @@ "typing_FStar.Pointer.Base.greference_of", "typing_FStar.Pointer.Base.ovalue_is_readable", "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" + "typing_FStar.Pointer.Base.typ_of_struct_field", + "typing_Prims.uu___is_Cons", "unit_typing" ], 0, - "cd06424d5a06d1e32aa18aaca3500d7b" + "6055e83d11040344639822815a6abc57" ], [ "FStar.Pointer.Base.readable_struct", @@ -7384,13 +7337,12 @@ "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", @@ -7425,6 +7377,7 @@ "equation_FStar.Pointer.Base.readable", "equation_FStar.Pointer.Base.step_sel", "equation_FStar.Pointer.Base.struct_field", + "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.typ_of_struct_field", "equation_FStar.Pointer.Base.type_of_base_typ", "equation_FStar.Pointer.Base.type_of_struct_field_", @@ -7470,11 +7423,13 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_298741368b36f9fce1347c8b3fa4f829", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_9ca66ac3d38b9236431794bd00c6d593", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "string_inversion", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.otype_of_typ", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", @@ -7491,7 +7446,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" ], 0, - "f1997dacd2bde67b100bd99226a862e3" + "4c6a7fb6f329680c890f40b57869475c" ], [ "FStar.Pointer.Base.readable_struct_fields'", @@ -7499,21 +7454,31 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", "assumption_Prims.HasEq_string", - "binder_x_55c7c4a53e17101040fb5f57762af354_0", - "binder_x_a186ce44c6e2798ac268e43592882258_3", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_FStar.Pointer.Base.struct_typ", "equation_Prims.l_True", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_FStar.Pointer.Base_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "subterm_ordering_Prims.Cons" + "@MaxIFuel_assumption", "@query", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "binder_x_2ab32aa018f38d35baff7c272edc1456_0", + "binder_x_dce109b66917edb1ca83b9408101b740_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "bool_inversion", + "data_elim_FStar.Pointer.Base.Mkstruct_typ", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_FStar.Monotonic.Heap.heap", + "lemma_FStar.Map.lemma_ContainsDom", + "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "subterm_ordering_Prims.Cons", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "c2103fdc4a16686d94ecd60197295415" + "673eaab422b38d07eed36cf324da1306" ], [ "FStar.Pointer.Base.readable_struct_fields_nil", @@ -7534,7 +7499,7 @@ "true_interp" ], 0, - "1d1e469cefbd953b7a51033965f4399d" + "6ef6eab0448a7f83850e2da05e829a6d" ], [ "FStar.Pointer.Base.readable_struct_fields_cons", @@ -7568,7 +7533,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "6e0faf4ef711f64f4ba1a0f932b44ba4" + "05804a95422780687ae53bd9dbd207d5" ], [ "FStar.Pointer.Base.readable_struct_fields_elim", @@ -7628,7 +7593,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "2f848b08c0d6161a7983fb8c432cd939" + "e8893749a9cbfa6e45415b1a68e6a685" ], [ "FStar.Pointer.Base.readable_struct_fields_elim", @@ -7637,21 +7602,19 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", "binder_x_2ab32aa018f38d35baff7c272edc1456_0", "binder_x_8d6a14835e73bbd0cb8017424edf0a1b_2", - "binder_x_a186ce44c6e2798ac268e43592882258_3", "bool_inversion", + "binder_x_dce109b66917edb1ca83b9408101b740_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_typing_intro_FStar.Pointer.Base.TStruct@tok", @@ -7680,19 +7643,20 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_916608d7d5e7fcb1d88d008955662846", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", + "refinement_interpretation_Tm_refine_e35e9177b80909dbf230b3c6b66a11f5", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "string_inversion", "subterm_ordering_Prims.Cons", + "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "fe823bad41dee403f389fe8bc4692fba" + "262cae8434e0e9f4f5a1a8945f501b42" ], [ "FStar.Pointer.Base.readable_struct_fields_readable_struct", @@ -7704,9 +7668,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_typing_intro_FStar.Pointer.Base.TStruct@tok", @@ -7721,14 +7685,15 @@ "kinding_FStar.Pointer.Base.typ@tok", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_40af92d7ec70b9e69654b789401fdfd3", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f95d2ab2bdacc5885edf06d16e95e748", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "string_inversion", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "471cd0162719b5d4bc8b0431638c9ce0" + "6bc0e72eda76de4f66afdeab15eb1e0c" ], [ "FStar.Pointer.Base.readable_gcell", @@ -7746,7 +7711,6 @@ "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.PathStep", "constructor_distinct_FStar.Pointer.Base.Pointer", @@ -7791,11 +7755,11 @@ "projection_inverse_FStar.Pointer.Base.Pointer_from", "projection_inverse_FStar.Pointer.Base.Pointer_p", "projection_inverse_FStar.Pointer.Base.Pointer_to", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", "token_correspondence_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", @@ -7810,7 +7774,7 @@ "typing_FStar.Pointer.Base.path_sel", "unit_typing" ], 0, - "2dcbbebf7d7585d4899bd7dcc81d1a11" + "78576ab9da132c5a60671fd0e0c7685a" ], [ "FStar.Pointer.Base.readable_array", @@ -7827,8 +7791,6 @@ "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", @@ -7866,10 +7828,8 @@ "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Pointer.Base.live_gcell", "lemma_FStar.Pointer.Base.otype_of_typ_array", @@ -7898,12 +7858,12 @@ "projection_inverse_FStar.Pointer.Base.TArray_t", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -7915,7 +7875,7 @@ "unit_typing" ], 0, - "3d224ac3f3b71feb2535adbe8c744abc" + "dd536339d39d5e6404894131ebf49b34" ], [ "FStar.Pointer.Base.readable_gufield", @@ -7934,15 +7894,13 @@ "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pointer.Base.PathStep", "constructor_distinct_FStar.Pointer.Base.StepUField", @@ -7957,10 +7915,6 @@ "disc_equation_Prims.Cons", "eq2-interp", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base._gtdata_get_key", @@ -7999,13 +7953,11 @@ "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.typ", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Pointer.Base.live_gufield", "lemma_FStar.Pointer.Base.otype_of_typ_union", @@ -8034,24 +7986,20 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Heap.trivial_preorder", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Pervasives.dfst", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", @@ -8065,10 +8013,11 @@ "typing_FStar.Pointer.Base.path_sel", "typing_FStar.Pointer.Base.struct_field", "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_Prims.uu___is_Cons" ], 0, - "c68c36f84490798c1e61e47f3a23ee46" + "e5983c26064bd5c812b0c516476cc41c" ], [ "FStar.Pointer.Base.is_active_union_field", @@ -8113,7 +8062,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "ebcac10659b5bec393ca89c64c50ca26" + "19ad6338185b76dcf4897c99ce8d449c" ], [ "FStar.Pointer.Base.is_active_union_live", @@ -8125,7 +8074,7 @@ "l_and-interp" ], 0, - "78ab95571b8971afcc0e2b59e387c668" + "91095c4e5fc24388e2cea820f48c23c4" ], [ "FStar.Pointer.Base.is_active_union_field_live", @@ -8137,7 +8086,7 @@ "lemma_FStar.Pointer.Base.live_gufield" ], 0, - "740af9566313a3bade5f038801892f9d" + "90822dc920393e2c4128550db4ceb8cd" ], [ "FStar.Pointer.Base.is_active_union_field_eq", @@ -8150,7 +8099,7 @@ "equation_FStar.Pointer.Base.struct_field", "l_and-interp" ], 0, - "8a72c8b97e1bf84c65065654663e7e55" + "7f05acc268a4de330bd60f84fb8d4151" ], [ "FStar.Pointer.Base.is_active_union_field_get_key", @@ -8164,14 +8113,11 @@ "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.TUnion", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", + "bool_inversion", "constructor_distinct_FStar.Pointer.Base.TUnion", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Cons", @@ -8182,7 +8128,6 @@ "disc_equation_Prims.Cons", "eq2-interp", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base._gtdata_get_key", @@ -8234,13 +8179,13 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.otype_of_typ", @@ -8258,7 +8203,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "9ad52d21115ff73b24742db2d02677c2" + "0e12648d62f4e4daaee3e124f1a3b176" ], [ "FStar.Pointer.Base.is_active_union_field_readable", @@ -8267,7 +8212,7 @@ 1, [ "@query", "lemma_FStar.Pointer.Base.readable_gufield" ], 0, - "79f0a8b43206246f9d80b5909469611a" + "acb5e8b69a04789ca5d60c12fc8a067e" ], [ "FStar.Pointer.Base.is_active_union_field_includes_readable", @@ -8289,9 +8234,8 @@ "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", "Prims_pretyping_09d9235a8068627898e77b75945bdc5c", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", + "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pointer.Base.PathStep", "constructor_distinct_FStar.Pointer.Base.StepUField", @@ -8360,11 +8304,11 @@ "projection_inverse_FStar.Pointer.Base.TUnion_l", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "string_inversion", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.gufield", "typing_FStar.Pointer.Base.ovalue_is_readable", @@ -8373,7 +8317,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" ], 0, - "6fc05ea2ed8f00586babd12d4b2788e7" + "b3744feff20ba6e07aa2d2bf42b1e416" ], [ "FStar.Pointer.Base._singleton_buffer_of_pointer", @@ -8383,8 +8327,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", "constructor_distinct_FStar.Pointer.Base.Pointer", @@ -8403,9 +8346,8 @@ "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_FStar.Pointer.Base.path", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", @@ -8424,11 +8366,11 @@ "projection_inverse_FStar.Pointer.Base.PathStep_through", "projection_inverse_FStar.Pointer.Base.PathStep_to", "projection_inverse_FStar.Pointer.Base.Pointer_p", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Pointer.Base.__proj__PathStep__item__s", @@ -8436,7 +8378,7 @@ "typing_FStar.UInt32.v" ], 0, - "2c799e865120ce743b9cd6ecbfbe5b58" + "7ad0c0c5135b393482a8f92ae4648f14" ], [ "FStar.Pointer.Base.singleton_buffer_of_pointer", @@ -8455,13 +8397,13 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", - "refinement_interpretation_Tm_refine_7e42291fd69a2db2d4e3c50a81b13c96", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "4de937463906183feff8d03c7defecd5" + "433696269179ebd98ebf16ba3b217082" ], [ "FStar.Pointer.Base.gbuffer_of_array_pointer", @@ -8498,7 +8440,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "32523cb5aea23eef0e02c7611267ee98" + "4da7fa64654201b8f26dbb7bad0dce76" ], [ "FStar.Pointer.Base.buffer_of_array_pointer", @@ -8507,7 +8449,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", @@ -8518,24 +8459,22 @@ "equation_FStar.Pointer.Base.buffer_root_length", "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "refinement_interpretation_Tm_refine_289702674cdf2141be81061a54ab2822", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_cd8f0bca9917727345df4a84d95cb089", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.UInt32.v" ], 0, - "0c8cd500a02d99566d6e77dbcac2656d" + "0aaffe1faf456aa301faca3d788cad19" ], [ "FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", @@ -8554,7 +8493,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "e96de623524ca7926fa3939ba4cee8a5" + "21a302fa213be5a10ff25a2fd4cef1fd" ], [ "FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", @@ -8568,7 +8507,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_blength" ], 0, - "07d51b2a8306df87d5ac2becd8560c36" + "ca33ee35fa1eef2a67e6914945c19d89" ], [ "FStar.Pointer.Base.buffer_live", @@ -8588,7 +8527,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "951f8246d62f496da822afc1f761eb8c" + "1923b0c6def65534663bba71bd4afe41" ], [ "FStar.Pointer.Base.buffer_live_gsingleton_buffer_of_pointer", @@ -8622,7 +8561,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "3610487dbafc1ae21eddbc8952c87f86" + "94e4dbf5bb72e20eb6afc2b102c3d2e2" ], [ "FStar.Pointer.Base.buffer_live_gbuffer_of_array_pointer", @@ -8640,7 +8579,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot" ], 0, - "017c4add3d5d792a07b9a621f10c7b8a" + "33c65211660fcd52f8749097fa1e9d77" ], [ "FStar.Pointer.Base.buffer_unused_in", @@ -8657,7 +8596,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "1fff146ac060e57bdd41d3592c6185f0" + "3f37e87c1f76f260dcdc012c718bf94c" ], [ "FStar.Pointer.Base.buffer_live_not_unused_in", @@ -8681,7 +8620,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "0f8c3b921dc13e636c919e0ed83bf1a0" + "c46e9619e1b1e962acc7f2399e225517" ], [ "FStar.Pointer.Base.buffer_unused_in_gsingleton_buffer_of_pointer", @@ -8714,7 +8653,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "a08e66cfae0dd624d20bbc7772794eb7" + "53d3afd7e8c359cf7c07632fa03dacd3" ], [ "FStar.Pointer.Base.buffer_unused_in_gbuffer_of_array_pointer", @@ -8732,7 +8671,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot" ], 0, - "e802edf628c467b823a36be768d5405b" + "9e3c3e7ca0137b7a408a83f64e5a31a5" ], [ "FStar.Pointer.Base.frameOf_buffer", @@ -8750,7 +8689,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "b7ca73e793b58157e2772b8347babe85" + "a9d67dc8a79805787cfa04a6a763ae0d" ], [ "FStar.Pointer.Base.frameOf_buffer_gsingleton_buffer_of_pointer", @@ -8780,7 +8719,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "fbf48d827d585900b762b7b0306e642c" + "ddabed1422ad029519454c558f7fe1c7" ], [ "FStar.Pointer.Base.frameOf_buffer_gbuffer_of_array_pointer", @@ -8798,7 +8737,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot" ], 0, - "f5ca4572e1a0ada5c5c5a0a03542e0d0" + "63b9b3c9cb33a27f437c984bec08a9b4" ], [ "FStar.Pointer.Base.live_region_frameOf_buffer", @@ -8823,7 +8762,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "c58ca197213803132d5c1c975086174b" + "569f465cabde2a6a8933158466a877f1" ], [ "FStar.Pointer.Base.buffer_as_addr", @@ -8841,7 +8780,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "7f3f27ea0ff67ee044192144d52be6eb" + "bac9c47723aa9fdd8526c3166a88891b" ], [ "FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", @@ -8875,7 +8814,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "4753dc312b3fec7cbe91b6e0ca712fff" + "0a21d02c4ebb6269a651bff87716beb6" ], [ "FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", @@ -8908,7 +8847,7 @@ "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" ], 0, - "072eed0ecd3edef604ef5a879633ee66" + "e59510c59998e004cd25d58a6e0d353e" ], [ "FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", @@ -8926,7 +8865,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot" ], 0, - "43df780c62bd7d07aaa4454768a3ecb2" + "3dfd2c01ae11c583bbbd89b0d21fbd81" ], [ "FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", @@ -8944,7 +8883,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot" ], 0, - "08e6a340413f4b94b9572a5fcb6bcf47" + "c836175b89d0319acf80c9adfae5d12b" ], [ "FStar.Pointer.Base.gsub_buffer", @@ -8952,30 +8891,29 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", + "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.v" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "57500479adaae6c6109b1ebc17bf9b4f" + "1fa6c0e477614abd373ee4bb46e0d285" ], [ "FStar.Pointer.Base.frameOf_buffer_gsub_buffer", @@ -8993,7 +8931,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "4fb7086cd52ffff667198e8b4d559537" + "088e1080d95d776c3fad261df3fee6ff" ], [ "FStar.Pointer.Base.buffer_as_addr_gsub_buffer", @@ -9011,7 +8949,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "77ffcefbd282724f23bedfc027b365b2" + "46aa48a5c7b2632bc6977003ded7a3c6" ], [ "FStar.Pointer.Base.buffer_as_addr_gsub_buffer", @@ -9029,7 +8967,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "3c80efbfd815b03bf228a62bc2981f35" + "c94f53ae83cefc00e3b4433d40657fef" ], [ "FStar.Pointer.Base.sub_buffer", @@ -9038,7 +8976,7 @@ 1, [ "@query" ], 0, - "80e7817d237442cfb3ef764b2c494481" + "c2c527df3684b9442fb4d1f8d2bd3df7" ], [ "FStar.Pointer.Base.sub_buffer", @@ -9046,9 +8984,7 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -9060,28 +8996,29 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_dc76e5dc6b3304a5c85d82bdc19aa6f3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_745d664c6e159cd0e4e176fbcf302acd", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", + "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.v" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "b5872daf4f58f5cb0d365c5713e8b3a2" + "0d4dc88a9d886ee37cf91cf8acbd325e" ], [ "FStar.Pointer.Base.offset_buffer", @@ -9089,22 +9026,20 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "59bd955b1bf35736febdfdc3384d7cec" + "5ef6e374379a648b2e9aab15f6752ca0" ], [ "FStar.Pointer.Base.offset_buffer", @@ -9112,27 +9047,24 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d8d126a49bc34a6c59b148e5598ba64", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_3c867da679bb8eb29a8fb4db4ca3b21f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "b5eb4d87796d0c5662c781e7910dba29" + "50615ae927fe4f8b286ed897e021c8f9" ], [ "FStar.Pointer.Base.buffer_length_gsub_buffer", @@ -9146,7 +9078,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_blength" ], 0, - "76d3ee3710dc4d2441c5b23c2b03c5e6" + "e68764e4cbbf87eb9e3d7cfeda811f4a" ], [ "FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", @@ -9164,7 +9096,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "db2a65010de5973d5947a5766dfa6db6" + "8d0778fdc268ae8d029204ca295c3401" ], [ "FStar.Pointer.Base.buffer_live_gsub_buffer_intro", @@ -9173,7 +9105,7 @@ 1, [ "@query", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv" ], 0, - "43bd761872b3f45d9c565886f7c2a9b5" + "174b614db8ecb10c46d9b1e34086b0fa" ], [ "FStar.Pointer.Base.buffer_unused_in_gsub_buffer", @@ -9191,7 +9123,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" ], 0, - "e9549e0686afab8f060dee84808e3669" + "3faa12e8fd1344a1c046b3039748abf5" ], [ "FStar.Pointer.Base.gsub_buffer_gsub_buffer", @@ -9199,27 +9131,25 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.gsub_buffer", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pointer.Base.Buffer_blength", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "ea7d53fad433e96bc08592508dedaca2" + "3d9baead1ac7ca467643b0b5ec939900" ], [ "FStar.Pointer.Base.gsub_buffer_gsub_buffer", @@ -9228,8 +9158,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "data_elim_FStar.Pointer.Base.Buffer", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", @@ -9237,11 +9166,9 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pointer.Base.Buffer_bidx", "proj_equation_FStar.Pointer.Base.Buffer_blength", "proj_equation_FStar.Pointer.Base.Buffer_broot", @@ -9250,18 +9177,22 @@ "projection_inverse_FStar.Pointer.Base.Buffer_bidx", "projection_inverse_FStar.Pointer.Base.Buffer_blength", "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_81b8d2ed194f333f70f5b8fb2da6b18e", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_4894358aea3b3cdb8f7f0b2830f40d4c", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", + "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", + "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "3e21e3601c4f968306e7e6bcd1114567" + "f110817b9c526615e81788d76a09d2ba" ], [ "FStar.Pointer.Base.gsub_buffer_zero_buffer_length", @@ -9284,7 +9215,7 @@ "typing_FStar.UInt32.v" ], 0, - "c2ef1be1ebf8ea23b6128e39ac967f63" + "110a378614d621cced952b99bf5162f4" ], [ "FStar.Pointer.Base.gsub_buffer_zero_buffer_length", @@ -9292,18 +9223,15 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.gsub_buffer", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pointer.Base.Buffer_bidx", @@ -9311,15 +9239,15 @@ "proj_equation_FStar.Pointer.Base.Buffer_broot", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "7b87c504356f800214ae9029fe2af84e" + "153e4bd3bcdc2900b443b9879a8941dd" ], [ "FStar.Pointer.Base.buffer_root_as_seq", @@ -9343,7 +9271,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1" ], 0, - "aa4a7b1597fee73d61bd7774776b42b2" + "4ac34a457f81580a77ae1a909a82bfbb" ], [ "FStar.Pointer.Base.length_buffer_root_as_seq", @@ -9357,8 +9285,7 @@ "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.Pointer.Base.BufferRootArray", "data_elim_FStar.Pointer.Base.BufferRootSingleton", "data_typing_intro_FStar.Pointer.Base.TArray@tok", @@ -9377,23 +9304,24 @@ "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pointer.Base.TArray_length", "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -9402,10 +9330,11 @@ "typing_FStar.Pointer.Base.buffer_root_length", "typing_FStar.Pointer.Base.gread", "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v" ], 0, - "966e8d54bcb35d78cf7fd86336e863b8" + "528ca3512871e0459cbf6b4b7d91a887" ], [ "FStar.Pointer.Base.buffer_as_seq", @@ -9417,14 +9346,11 @@ "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_FStar.Pointer.Base.Buffer", + "b2t_def", "data_elim_FStar.Pointer.Base.Buffer", "equation_FStar.Pointer.Base.buffer", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -9433,14 +9359,14 @@ "proj_equation_FStar.Pointer.Base.Buffer_broot", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_81b8d2ed194f333f70f5b8fb2da6b18e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_4894358aea3b3cdb8f7f0b2830f40d4c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", "typing_FStar.UInt32.v" ], 0, - "4faf4b0a784d0e228ef8e68c4b045732" + "9926c6e317c8a1add9e628d69b08ea5e" ], [ "FStar.Pointer.Base.buffer_length_buffer_as_seq", @@ -9483,7 +9409,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "26146bd4346c6a253036398de70bddbc" + "0c6d717fa11c4ecd6c108474e9fb4f5a" ], [ "FStar.Pointer.Base.buffer_length_buffer_as_seq", @@ -9494,13 +9420,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", + "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_as_seq", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.buffer_root_as_seq", @@ -9508,11 +9428,8 @@ "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", + "int_typing", "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -9520,14 +9437,10 @@ "proj_equation_FStar.Pointer.Base.Buffer_broot", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", @@ -9538,7 +9451,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "6982dd83f1fc425e573e1309de5deb7b" + "b1d00753e0fdd67a87061b5d28d9ce83" ], [ "FStar.Pointer.Base.buffer_as_seq_gsingleton_buffer_of_pointer", @@ -9552,20 +9465,16 @@ "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.dummy_val.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "@query", "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.Pointer.Base_interpretation_Tm_arrow_0dbe59df592edf9057c3abf99a52d523", + "FStar.Pointer.Base_interpretation_Tm_arrow_cbaf63ee0f7cd0118b8161198aafa7ec", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", @@ -9578,7 +9487,8 @@ "constructor_distinct_FStar.Pointer.Base.TArray", "constructor_distinct_FStar.Seq.Base.seq", "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", + "data_elim_FStar.Pointer.Base.PathStep", + "data_elim_FStar.Pointer.Base.StepCell", "data_elim_FStar.Pointer.Base.TArray", "data_elim_Prims.Mkdtuple2", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pointer.Base.PathStep", @@ -9610,7 +9520,7 @@ "equation_FStar.Pointer.Base.step_sel", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.dummy_val.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", @@ -9618,14 +9528,12 @@ "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.path", - "fuel_guarded_inversion_FStar.Pointer.Base.step", "fuel_guarded_inversion_FStar.Pointer.Base.typ", "fuel_guarded_inversion_Prims.dtuple2", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_6fcd3e52a76178c357aeb4950f04fb1a", + "interpretation_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", "lemma_FStar.Seq.Base.init_index_", @@ -9635,9 +9543,9 @@ "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pointer.Base.Buffer_bidx", "proj_equation_FStar.Pointer.Base.Buffer_blength", @@ -9659,6 +9567,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_bidx", "projection_inverse_FStar.Pointer.Base.Buffer_blength", "projection_inverse_FStar.Pointer.Base.Buffer_broot", + "projection_inverse_FStar.Pointer.Base.PathStep_from", "projection_inverse_FStar.Pointer.Base.PathStep_p", "projection_inverse_FStar.Pointer.Base.PathStep_s", "projection_inverse_FStar.Pointer.Base.PathStep_through", @@ -9672,35 +9581,33 @@ "projection_inverse_FStar.Pointer.Base.StepCell_value", "projection_inverse_FStar.Pointer.Base.TArray_length", "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_0c65f39f7a74f42456cfcad4e62be031", - "refinement_interpretation_Tm_refine_11775972398f265e5a770423ffb60c2a", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_6a1872e8dc484ff4b169a75dface8e09", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.greference_of", "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", + "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", "typing_FStar.Pointer.Base.__proj__PathStep__item__s", "typing_FStar.Pointer.Base.gread", @@ -9711,10 +9618,10 @@ "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_Tm_abs_6fcd3e52a76178c357aeb4950f04fb1a", "unit_typing" + "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", "unit_typing" ], 0, - "f8011f8ab8ed0dcf831a1d2ebe124dab" + "fc7554f55888bbeaf72070edea698ed9" ], [ "FStar.Pointer.Base.buffer_as_seq_gbuffer_of_array_pointer", @@ -9724,8 +9631,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -9740,13 +9646,12 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pointer.Base.Buffer_bidx", "proj_equation_FStar.Pointer.Base.Buffer_blength", "proj_equation_FStar.Pointer.Base.Buffer_broot", @@ -9758,13 +9663,14 @@ "projection_inverse_FStar.Pointer.Base.Buffer_bidx", "projection_inverse_FStar.Pointer.Base.Buffer_blength", "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -9772,7 +9678,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "294f27baa3956b10808195ea7022e5eb" + "49a7c8fa23f624c560cac3862e978e21" ], [ "FStar.Pointer.Base.buffer_as_seq_gsub_buffer", @@ -9783,24 +9689,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.Pointer.Base.buffer", + "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "2230585307a8a494d12d9237ac151c2a" + "d7924cb7f12167b373e440f43a0d6fb5" ], [ "FStar.Pointer.Base.buffer_as_seq_gsub_buffer", @@ -9811,9 +9714,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -9826,9 +9727,8 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -9841,10 +9741,10 @@ "projection_inverse_FStar.Pointer.Base.Buffer_bidx", "projection_inverse_FStar.Pointer.Base.Buffer_blength", "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -9856,7 +9756,7 @@ "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "5a5ab1ab709683e633ab809e85463a7c" + "7f0826ffc13aa3b237d8c6e190ff8cb3" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell", @@ -9866,7 +9766,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", "constructor_distinct_FStar.UInt32.t", @@ -9881,23 +9780,26 @@ "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "int_inversion", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", + "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "unit_typing" ], 0, - "9fd107d6edf0a41a1433fd20774a23cc" + "568e7ce12f73e445344496b55985fa26" ], [ "FStar.Pointer.Base.pointer_of_buffer_cell", @@ -9906,7 +9808,7 @@ 1, [ "@query" ], 0, - "c4d648044bf0d05fd0ddddd71f35eb7f" + "9fb6bfc469f0bfa1942e02aa0d905f97" ], [ "FStar.Pointer.Base.pointer_of_buffer_cell", @@ -9916,7 +9818,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", @@ -9938,33 +9839,35 @@ "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_d27d1b3d72a0aab13bf8b34cd27c3cf1", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", + "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "unit_typing" ], 0, - "953f4cde47598efc7d31f8c7c4231a12" + "652a6ac182ca6d3dac922ccc29d5472e" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer", @@ -9972,25 +9875,23 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.gsub_buffer", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pointer.Base.Buffer_blength", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "ec144cd6f50d59cb26bf69dbd9b5b011" + "ba373ebd124a09503d9382a4e65f960b" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer", @@ -9998,10 +9899,8 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_FStar.Pointer.Base.Buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_FStar.Pointer.Base.Buffer", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.g_is_null", @@ -10014,7 +9913,6 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -10026,14 +9924,15 @@ "projection_inverse_FStar.Pointer.Base.Buffer_bidx", "projection_inverse_FStar.Pointer.Base.Buffer_blength", "projection_inverse_FStar.Pointer.Base.Buffer_broot", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_4894358aea3b3cdb8f7f0b2830f40d4c", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_81b8d2ed194f333f70f5b8fb2da6b18e", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", @@ -10041,10 +9940,11 @@ "typing_FStar.Pointer.Base.buffer_root_length", "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v" ], 0, - "ae2f5f5bdfab685f4ca176361d177a9d" + "e845d775fb65301af044ed24902609e1" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer'", @@ -10052,25 +9952,23 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.gsub_buffer", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pointer.Base.Buffer_blength", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "33c013e90efc35427a0417d0adcb241c" + "58aaef19b62438304abd86793ecd28f8" ], [ "FStar.Pointer.Base.live_gpointer_of_buffer_cell", @@ -10110,7 +10008,7 @@ "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" ], 0, - "79e953c0f096973b631a23c98c3b5747" + "661cabc8eec62eb8d8fe68192d437273" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", @@ -10120,28 +10018,27 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.UInt32.v" ], 0, - "b22d771e31d8c15d35248a9a937799ef" + "38e26c558798d60fa0c1b2858090a746" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", @@ -10150,8 +10047,7 @@ 2, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", "constructor_distinct_FStar.Pointer.Base.Pointer", @@ -10172,11 +10068,9 @@ "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_FStar.Pointer.Base.path", "int_inversion", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pointer.Base.Buffer_bidx", "proj_equation_FStar.Pointer.Base.Buffer_broot", "projection_inverse_BoxBool_proj_0", @@ -10191,16 +10085,16 @@ "projection_inverse_FStar.Pointer.Base.Pointer_from", "projection_inverse_FStar.Pointer.Base.Pointer_p", "projection_inverse_FStar.Pointer.Base.Pointer_to", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "9eaabcc3c849830fd514d2209c58e91c" + "b99da080a6a76f4baa41592c088bc011" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", @@ -10212,7 +10106,7 @@ "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer" ], 0, - "3ed208f117e9b3212dbf653a08c769dc" + "dde1c0cfecdf25873c05c9c18f31e62a" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", @@ -10220,10 +10114,8 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", "equation_FStar.Pointer.Base.array_length_t", "equation_FStar.Pointer.Base.buffer", @@ -10231,11 +10123,10 @@ "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pointer.Base.Buffer_bidx", "proj_equation_FStar.Pointer.Base.Buffer_broot", "projection_inverse_BoxBool_proj_0", @@ -10245,15 +10136,15 @@ "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", "projection_inverse_FStar.Pointer.Base.Buffer_bidx", "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.gbuffer_of_array_pointer", "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "4eee83745615c1c3398b0bb235b63aaf" + "f3bbd04b5717fc2660d35ba210abd849" ], [ "FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", @@ -10287,7 +10178,7 @@ "typing_FStar.UInt32.v" ], 0, - "48d218e6b1b9b222bbfd1d55162c3622" + "657f62d421bb2aaa8c9ea5cb04ca55cd" ], [ "FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", @@ -10319,7 +10210,7 @@ "typing_FStar.UInt32.v" ], 0, - "c1f66c372bad39197cd249055271a8e7" + "e2db2ae4fa089baa0c96df5524f8988a" ], [ "FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", @@ -10353,7 +10244,7 @@ "typing_FStar.UInt32.v" ], 0, - "6ee3746d5c62861081526547758f652a" + "8fc9c04353332c4c6baad506ea7efc34" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell", @@ -10376,7 +10267,7 @@ "typing_FStar.UInt32.v" ], 0, - "57e7d3bd9d86b64f9812f4c7afcdb580" + "1a6edfa6a4c72f3211214b9755c4872b" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell", @@ -10387,9 +10278,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.Pointer.Base.Buffer", "data_elim_FStar.Pointer.Base.BufferRootArray", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -10411,31 +10300,32 @@ "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.gread_gcell", "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pointer.Base.Buffer_bidx", "proj_equation_FStar.Pointer.Base.Buffer_blength", "proj_equation_FStar.Pointer.Base.Buffer_broot", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_4894358aea3b3cdb8f7f0b2830f40d4c", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_81b8d2ed194f333f70f5b8fb2da6b18e", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -10447,10 +10337,10 @@ "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", "typing_FStar.Pointer.Base.gread", "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "455f6c5c3ccfb40c8bcfcfc9a0b71628" + "a43fc33c725702af2c220d9df8879c0b" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell'", @@ -10473,7 +10363,7 @@ "typing_FStar.UInt32.v" ], 0, - "5984659cbef3487ab8a86b751497cc19" + "bdf18a98ac5e172d7836aa847a656829" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell'", @@ -10487,7 +10377,7 @@ "@query", "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell" ], 0, - "227113d34bda4683009ca3b273884be0" + "562c5aa1ba3cf218b26a691f4fd5bab5" ], [ "FStar.Pointer.Base.index_buffer_as_seq", @@ -10498,26 +10388,21 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Pointer.Base.buffer", + "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "c1708e08fc96721c8bcebf5e00aceb29" + "0dd841f2dd2978da61f7cadad86d195a" ], [ "FStar.Pointer.Base.index_buffer_as_seq", @@ -10528,28 +10413,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -10557,7 +10438,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "ebf3cef6ca4cbaf960d2b6a686235dca" + "981264bbba01af1d342966a6e17a85fc" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", @@ -10611,7 +10492,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_81b8d2ed194f333f70f5b8fb2da6b18e" ], 0, - "a6e40d1b53af7dbdd3be052b84ac3a24" + "a0cb984150af4c9aa0a2c7bfa6c3a26e" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", @@ -10619,11 +10500,8 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.PathStep", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pointer.Base.PathStep", "constructor_distinct_FStar.Pointer.Base.StepCell", "constructor_distinct_Tm_unit", "equation_FStar.Pointer.Base._cell", "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", @@ -10637,10 +10515,8 @@ "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -10661,21 +10537,19 @@ "projection_inverse_FStar.Pointer.Base.StepCell_index", "projection_inverse_FStar.Pointer.Base.StepCell_length", "projection_inverse_FStar.Pointer.Base.StepCell_value", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.gbuffer_of_array_pointer", "typing_FStar.Pointer.Base.gcell", "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v" + "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "77e33983890fd067b54ae660f51b18c3" + "16e51615af71c2f786b80f76c46f0685" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gpointer_of_buffer_cell", @@ -10707,7 +10581,7 @@ "typing_FStar.UInt32.v" ], 0, - "4012000de0a919b8b10e0bae25fb8b8d" + "58e849d0dfd35fcf4cbe0ef2eb87ecfa" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gpointer_of_buffer_cell", @@ -10717,8 +10591,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", "constructor_distinct_FStar.Pointer.Base.Pointer", @@ -10746,7 +10619,6 @@ "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", @@ -10767,16 +10639,15 @@ "projection_inverse_FStar.Pointer.Base.Pointer_p", "projection_inverse_FStar.Pointer.Base.Pointer_to", "projection_inverse_FStar.Pointer.Base.StepCell_index", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_81b8d2ed194f333f70f5b8fb2da6b18e", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", @@ -10790,7 +10661,7 @@ "typing_FStar.UInt32.v" ], 0, - "1dbdfae536cb21d95771cdfe83d14d3d" + "8eb5486a4ff829872c6e05c90ba4fdd1" ], [ "FStar.Pointer.Base.buffer_readable_buffer_live", @@ -10802,7 +10673,7 @@ "equation_FStar.Pointer.Base.buffer_readable_" ], 0, - "c82034d53fba2fb7f377d69b9766e668" + "a19a8a6c6c87a5c70ef5e93dc9b77fe4" ], [ "FStar.Pointer.Base.buffer_readable_gsingleton_buffer_of_pointer", @@ -10811,120 +10682,78 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.Buffer", "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", + "b2t_def", "bool_inversion", + "disc_equation_FStar.Pointer.Base.Pointer", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_readable", "equation_FStar.Pointer.Base.buffer_readable_", "equation_FStar.Pointer.Base.frameOf", "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", "equation_FStar.Pointer.Base.greference_of", "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", "equation_FStar.Pointer.Base.live", "equation_FStar.Pointer.Base.npointer", "equation_FStar.Pointer.Base.pointer", "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_Prims.dtuple2", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", + "lemma_FStar.Monotonic.HyperStack.aref_of_greference_of", + "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", "lemma_FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", "lemma_FStar.Pointer.Base.buffer_live_gsingleton_buffer_of_pointer", "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", "lemma_FStar.Pointer.Base.live_region_frameOf", "lemma_FStar.Pointer.Base.readable_live", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_broot", "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "token_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", - "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.greference_of", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__from", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", + "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.greference_of", "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.Pointer.Base.ovalue_is_readable", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "b31f67734fb0f81a49a49491c8c18ffd" + "b33cf6c8f2a2f1e4f2f80b7fdb948067" ], [ "FStar.Pointer.Base.buffer_readable_gbuffer_of_array_pointer", @@ -10933,9 +10762,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.array_length_t", "equation_FStar.Pointer.Base.buffer_readable", "equation_FStar.Pointer.Base.buffer_readable_", "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", @@ -10944,11 +10771,10 @@ "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", "lemma_FStar.Pointer.Base.readable_gcell", "lemma_FStar.Pointer.Base.readable_live", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479" + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b" ], 0, - "7fd7d748ab6f5f2df97c9f5ead66c0c8" + "e3c3926e8ea85c48cfc6dd1763fafb79" ], [ "FStar.Pointer.Base.buffer_readable_gsub_buffer", @@ -10956,9 +10782,7 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.buffer_readable", @@ -10967,27 +10791,28 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", + "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v" ], 0, - "d043c8e81467ff683c08f904fd3cb9a7" + "bbaedbc71ddd249288a879b56fb7ef5b" ], [ "FStar.Pointer.Base.readable_gpointer_of_buffer_cell", @@ -10999,7 +10824,7 @@ "equation_FStar.Pointer.Base.buffer_readable_" ], 0, - "7b04aa095212f589b1e7fd9fe67ccf49" + "ec3a5fef9c8ce55a10d9f92f2bf96a9d" ], [ "FStar.Pointer.Base.buffer_readable_intro", @@ -11013,7 +10838,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem" ], 0, - "8b6c417243cb88d6985b487544461d25" + "25fbf75c7438947f0c7c1d4d537e1ec8" ], [ "FStar.Pointer.Base.buffer_readable_elim", @@ -11025,7 +10850,7 @@ "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell" ], 0, - "f45af09c21f624e460cf45f874103b84" + "66e61024c1fd967be4b11014e0ddc619" ], [ "FStar.Pointer.Base.disjoint", @@ -11034,22 +10859,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "disc_equation_FStar.Pointer.Base.Pointer", "equation_FStar.Pointer.Base.g_is_null", "equation_FStar.Pointer.Base.npointer", "equation_FStar.Pointer.Base.pointer", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "43f3775e7d8eefea4aa45ce72693326d" + "b997ba037a82214daa67f4b881f2f2f8" ], [ "FStar.Pointer.Base.disjoint_root", @@ -11058,19 +10881,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pointer.Base.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "true_interp" ], 0, - "612efcc29784fddd89179c7d35720101" + "586978c107e7866768ad3eaefc304672" ], [ "FStar.Pointer.Base.disjoint_gfield", @@ -11122,7 +10942,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" ], 0, - "e3dea54e269aec997504e95b25cca202" + "49f4d49899e1ceb51086c4638ab84f66" ], [ "FStar.Pointer.Base.disjoint_gcell", @@ -11134,8 +10954,7 @@ "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", "FStar.Pointer.Base_pretyping_b27168cc0cd9c7f90ae88b602ccfc55c", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pointer.Base.StepCell", "data_elim_FStar.Pointer.Base.PathStep", "data_elim_FStar.Pointer.Base.Pointer", @@ -11151,9 +10970,8 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gcell", "lemma_FStar.Pointer.Base.frameOf_gcell", "lemma_FStar.Pointer.Base.path_disjoint_step", @@ -11172,15 +10990,15 @@ "projection_inverse_FStar.Pointer.Base.StepCell_value", "refinement_interpretation_Tm_refine_041a24a8c3715e0f4960d28f20ee920b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "typing_FStar.Pointer.Base.gcell", "typing_FStar.Pointer.Base.step_disjoint", "typing_FStar.UInt32.v" ], 0, - "bb1826fc1d48cdef6aa7c0446c252fde" + "6a71e1cfa96b8703972a8a8652270ebc" ], [ "FStar.Pointer.Base.disjoint_includes", @@ -11193,12 +11011,9 @@ "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Refl", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pointer.Base.as_addr", + "bool_inversion", "data_elim_FStar.Pointer.Base.Pointer", + "data_elim_Prims.Refl", "disc_equation_FStar.Pointer.Base.Pointer", + "eq2-interp", "equation_FStar.Pointer.Base.as_addr", "equation_FStar.Pointer.Base.disjoint", "equation_FStar.Pointer.Base.frameOf", "equation_FStar.Pointer.Base.g_is_null", @@ -11209,9 +11024,8 @@ "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", "lemma_FStar.Pointer.Base.path_disjoint_includes_l", "lemma_FStar.Pointer.Base.path_disjoint_sym", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -11219,17 +11033,17 @@ "proj_equation_FStar.Pointer.Base.Pointer_from", "proj_equation_FStar.Pointer.Base.Pointer_p", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", "true_interp", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.includes", - "typing_FStar.Pointer.Base.path_includes", "unit_typing" + "typing_FStar.Pointer.Base.path_includes" ], 0, - "8e057369be2a5219a05757f701055ccd" + "152a19ec6ec14c94e1c968fc2b51d193" ], [ "FStar.Pointer.Base.disjoint_ind", @@ -11238,23 +11052,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pointer.Base.disjoint", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_30a755a87d7c91eaa6f98b54378d0d56", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7ebdf9e6146d9ade4a7fd298a6f652ee", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", + "refinement_interpretation_Tm_refine_d260d8a31c235f561147b3ad53487d44", "true_interp" ], 0, - "1fcd7c068285f69693a8baafbe9018b7" + "901f0aeee9ce5c237ca2f958e63ae801" ], [ "FStar.Pointer.Base.disjoint_ind", @@ -11266,11 +11078,7 @@ "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_BoxBool", + "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pointer.Base.Pointer", "constructor_distinct_FStar.Pointer.Base.StepCell", "constructor_distinct_FStar.Pointer.Base.StepField", @@ -11306,9 +11114,8 @@ "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", "lemma_FStar.Pointer.Base.disjoint_gcell", "lemma_FStar.Pointer.Base.disjoint_gfield", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", @@ -11331,24 +11138,24 @@ "projection_inverse_FStar.Pointer.Base.TArray_t", "projection_inverse_FStar.Pointer.Base.TStruct_l", "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb", + "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", "refinement_interpretation_Tm_refine_15c45a18895db0eab7a092e57be84ca9", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", "refinement_interpretation_Tm_refine_77cb76ece3ec1de98424d83e532afccd", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", "refinement_interpretation_Tm_refine_a02d9d7bf230ab25f66365b7b22b819e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.path_includes", "typing_FStar.Pointer.Base.step_disjoint" ], 0, - "705df359885e02d2e37162fd334beda1" + "d74c335fda2e072df2e13a95dfc58285" ], [ "FStar.Pointer.Base.disjoint_sym", @@ -11356,24 +11163,21 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_0600ed6fdc397ec1705174e441a78dc0", "refinement_interpretation_Tm_refine_30a755a87d7c91eaa6f98b54378d0d56", + "refinement_interpretation_Tm_refine_40e165b20345d42d4a6dc98e5943851b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7ebdf9e6146d9ade4a7fd298a6f652ee", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", "refinement_interpretation_Tm_refine_9d2830d159b1e910dc3e47685b21dba0", + "refinement_interpretation_Tm_refine_d260d8a31c235f561147b3ad53487d44", "refinement_interpretation_Tm_refine_f1bdf056430cac446ba97c183d132799" ], 0, - "043c6aea34d6cecf63908e9d7a50e99b" + "ca3766f0a6a2e462bc9ad94a3883ec75" ], [ "FStar.Pointer.Base.disjoint_sym'", @@ -11382,7 +11186,7 @@ 1, [ "@query" ], 0, - "d81f6581424b0fa5d31dd6e4a2c6752e" + "6e9e16f9fc716a3da5e7f40b6c46114d" ], [ "FStar.Pointer.Base.disjoint_includes_l", @@ -11391,7 +11195,7 @@ 1, [ "@query", "lemma_FStar.Pointer.Base.includes_refl" ], 0, - "e54d7561c2cf569979575ad6fe32fc4d" + "64a9a717b64de4f723f458dac33c7297" ], [ "FStar.Pointer.Base.disjoint_includes_l_swap", @@ -11400,7 +11204,7 @@ 1, [ "@query" ], 0, - "12b6cc052a9458496a13a928d221b53d" + "8e09d22581a83f7d78ba6e7b5123cf28" ], [ "FStar.Pointer.Base.disjoint_includes_r", @@ -11409,7 +11213,7 @@ 1, [ "@query" ], 0, - "5acf94dbef07be9582dc63435ff67c5a" + "34ea86261f47e433f82a2f93c0c48b99" ], [ "FStar.Pointer.Base.__proj__LocBuffer__item__t", @@ -11423,7 +11227,7 @@ "refinement_interpretation_Tm_refine_eaa9b5871ffb5dfb1e4b50ec94a00ce3" ], 0, - "963508a52fd8e0a7cd14ac90f4d4cdb7" + "d069299d4260b80ee27be3fe89b6ec4f" ], [ "FStar.Pointer.Base.__proj__LocBuffer__item__b", @@ -11439,7 +11243,7 @@ "refinement_interpretation_Tm_refine_eaa9b5871ffb5dfb1e4b50ec94a00ce3" ], 0, - "ec5e5849c272ecff63af82f6398a9663" + "89bd588f3db49ae2f3b5f1a40eaf792c" ], [ "FStar.Pointer.Base.__proj__LocPointer__item__t", @@ -11453,7 +11257,7 @@ "refinement_interpretation_Tm_refine_13ab046771d51233a400cd28aa47c12e" ], 0, - "e429c31c50d2e4260bbeba7e59df9852" + "3e681e049ecf1c106a718001e9738a0a" ], [ "FStar.Pointer.Base.__proj__LocPointer__item__p", @@ -11473,7 +11277,7 @@ "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" ], 0, - "3ee2482d801d186b2cc4419c40d83387" + "d9b37833569631dd767ca50c96231f53" ], [ "FStar.Pointer.Base.loc_aux_includes_pointer", @@ -11490,7 +11294,7 @@ "subterm_ordering_FStar.Pointer.Base.LocUnion" ], 0, - "cf0798c9e686e35d7816acc629932eb5" + "e92eeaa6cdcda83bf1837cea238d7f35" ], [ "FStar.Pointer.Base.loc_aux_includes_pointer_trans", @@ -11514,7 +11318,7 @@ "typing_FStar.Pointer.Base.includes" ], 0, - "8079fe2e05864fd61b884e11d4f8fcc0" + "a86c7f282f5781ccb14a0cd7aac149ef" ], [ "FStar.Pointer.Base.loc_aux_includes", @@ -11532,7 +11336,7 @@ "subterm_ordering_FStar.Pointer.Base.LocUnion" ], 0, - "22ee5726872ff7d0ca440b664e43a643" + "2274a4fc0729fade32e39f816a4296eb" ], [ "FStar.Pointer.Base.loc_aux_includes_refl'", @@ -11557,7 +11361,7 @@ "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" ], 0, - "813ab6c9bb13d7f497b65e62dd119bde" + "915c83c887bf35dcaf7b158f139f6755" ], [ "FStar.Pointer.Base.loc_aux_includes_loc_aux_includes_pointer", @@ -11581,7 +11385,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "fee58c4fb07eb6bfc7787b354aeac43c" + "96ad9ea53bb8a0077bbd8709d3099566" ], [ "FStar.Pointer.Base.loc_aux_includes_trans", @@ -11603,7 +11407,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "baf29729a87786b945c5138cae43538b" + "e52be7e6deb5bf6c8c317d77b07d205b" ], [ "FStar.Pointer.Base.loc_aux_disjoint_pointer", @@ -11624,7 +11428,7 @@ "subterm_ordering_FStar.Pointer.Base.LocUnion" ], 0, - "b2d53e71500b2980a7e0e60ba6889c9c" + "1a15bc63ee0dc3f1dbf070a6332858cf" ], [ "FStar.Pointer.Base.loc_aux_disjoint_buffer_sym", @@ -11644,7 +11448,7 @@ "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" ], 0, - "603c09361015dad0a0795b47d9731c16" + "4ba3278a40477d34e92360a0e72fe4f1" ], [ "FStar.Pointer.Base.loc_aux_disjoint_pointer_buffer_sym", @@ -11667,7 +11471,7 @@ "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" ], 0, - "3a738e2f59476ace5084e648e4e81051" + "82e7dda511a01c0687d7d4f2609a5f81" ], [ "FStar.Pointer.Base.loc_aux_disjoint", @@ -11687,7 +11491,7 @@ "subterm_ordering_FStar.Pointer.Base.LocUnion" ], 0, - "2d1ccdb77c6cfcd7f10dbc25ab1e0161" + "0449450dd641b0dd493fa27225f6ec6c" ], [ "FStar.Pointer.Base.loc_aux_disjoint_sym", @@ -11715,7 +11519,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "852f9a752a730edb41a7c9c8be7bf826" + "c276b614a7d0e1656bbe6d45d0838def" ], [ "FStar.Pointer.Base.loc_aux_disjoint_pointer_includes", @@ -11746,7 +11550,7 @@ "typing_FStar.Pointer.Base.includes" ], 0, - "29aab9f396be194f89473fb9bf85a690" + "559c1e442d2a983764daec96ef553f22" ], [ "FStar.Pointer.Base.loc_aux_disjoint_loc_aux_includes_pointer", @@ -11770,7 +11574,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "d9f4a91e706181b6ae49e7d89ce2e20c" + "1c386a10c92ddb97dc17a84a3e2707f2" ], [ "FStar.Pointer.Base.loc_aux_disjoint_loc_aux_includes", @@ -11794,7 +11598,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "5ca073633f4fe3c53e7e35385e23a4f1" + "579b4c1c2e1b1dd44b70d1542c95e05b" ], [ "FStar.Pointer.Base.loc_aux_preserved", @@ -11808,7 +11612,7 @@ "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux" ], 0, - "b7f5359ae973dc4027af460696994387" + "b029d472c25e58ae304fdc7df063ed52" ], [ "FStar.Pointer.Base.pointer_preserved_intro", @@ -11862,7 +11666,7 @@ "unit_typing" ], 0, - "fa2321d17ce45c201dc98f56705b3d4c" + "e570ec4e9c6a85d017900d91cdaebfee" ], [ "FStar.Pointer.Base.pointer_preserved_intro", @@ -11872,9 +11676,8 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Heap.trivial_preorder", + "bool_inversion", "eq2-interp", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -11902,21 +11705,20 @@ "lemma_FStar.Pointer.Base.readable_live", "proj_equation_FStar.Pointer.Base.Pointer_contents", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.live", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "cb957b8999bd958cc2229ae9f4b3c81e" + "e3be71903ccdda4c4b32b966ee972a71" ], [ "FStar.Pointer.Base.buffer_preserved_intro", @@ -11936,7 +11738,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_9c96b8243c99fcc2ccb0bb6525db8652" ], 0, - "78182b18c2e39042c28dfd8dbcdd06d2" + "5228ea7233fc1fb58a7c6d3b58039f2b" ], [ "FStar.Pointer.Base.buffer_preserved_intro", @@ -11945,17 +11747,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "data_elim_FStar.Pointer.Base.Buffer", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_preserved", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "refinement_interpretation_Tm_refine_9c96b8243c99fcc2ccb0bb6525db8652" + "refinement_interpretation_Tm_refine_290fccb1888dfcfa815495898f584aaa" ], 0, - "b30067230d091d89a7226ea6afb7547e" + "24e3371eba3ecc04aab5a3b2588b08a2" ], [ "FStar.Pointer.Base.disjoint_not_self", @@ -11964,7 +11764,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "disc_equation_FStar.Pointer.Base.Pointer", "equation_FStar.Pointer.Base.disjoint", "equation_FStar.Pointer.Base.g_is_null", @@ -11974,11 +11773,11 @@ "l_and-interp", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_bb8df15823325f5001501c646452e619", + "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", "typing_FStar.Pointer.Base.path_equal" ], 0, - "3fbf98d71874b151fe541aafba7cd188" + "6cc2708db4a239dc94954362864f8b38" ], [ "FStar.Pointer.Base.loc_aux_in_addr", @@ -11996,7 +11795,7 @@ "subterm_ordering_FStar.Pointer.Base.LocUnion" ], 0, - "771c0960b4ab7c40dda4c584edfc9404" + "20dd1786003bc41d5645b8e7a41dc9b4" ], [ "FStar.Pointer.Base.cls", @@ -12030,7 +11829,7 @@ "refinement_interpretation_Tm_refine_ee0c42debbc39763e22b0866c76a996c" ], 0, - "e8b8c100ac7436fc9b93ed1ed454221d" + "903b57f4ff0a03212409eee1656e2ca9" ], [ "FStar.Pointer.Base.loc_union_idem", @@ -12050,7 +11849,7 @@ "typing_Prims.eq2" ], 0, - "7026ded06e842517c4aff487c2651340" + "a931de8f58e16eb8bcbfc0f392f60bd2" ], [ "FStar.Pointer.Base.loc_pointer", @@ -12065,7 +11864,7 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_t" ], 0, - "0d3026d2b81290e0eeeebbd11f177f90" + "9eefc3bd3ff3138fe61660360a02f841" ], [ "FStar.Pointer.Base.loc_buffer", @@ -12080,7 +11879,7 @@ "projection_inverse_FStar.Pointer.Base.LocBuffer_t" ], 0, - "643fe1bf5808c8ef884f3e0bbfdcc32f" + "f396ab7b3f723f4b058597677ddeec70" ], [ "FStar.Pointer.Base.loc_addresses", @@ -12090,11 +11889,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "28faac089077bf27793d391d35128a98" + "362c1ed8be1ca6518ca70524384a8579" ], [ "FStar.Pointer.Base.loc_includes_refl", @@ -12127,7 +11926,7 @@ "typing_FStar.Set.set", "typing_FStar.Set.union" ], 0, - "2bb3b96ff2fbccde5ed49dd316fc54b0" + "02df48217c1b5705432bca145c640e5d" ], [ "FStar.Pointer.Base.loc_includes_trans", @@ -12168,7 +11967,7 @@ "typing_FStar.Set.union" ], 0, - "6a94bfe1903a5a9a253220ab53636180" + "54dbe4ee71c55ba5e1ed6604041d0802" ], [ "FStar.Pointer.Base.loc_includes_union_r", @@ -12259,7 +12058,7 @@ "typing_Prims.eq2", "unit_typing" ], 0, - "68b2a28dfe727ea785608ab56f6ed717" + "f1772d7a10757c1f7a333b42c4045a6c" ], [ "FStar.Pointer.Base.loc_includes_union_l", @@ -12347,7 +12146,7 @@ "typing_FStar.Set.set", "typing_FStar.Set.union", "unit_typing" ], 0, - "e4189fdf54aecf2c378f3f38ca316de9" + "f8ac71a54115a1afb996c76699248d2d" ], [ "FStar.Pointer.Base.loc_includes_none", @@ -12396,7 +12195,7 @@ "typing_FStar.Set.set", "typing_FStar.Set.union" ], 0, - "3d13fc546520f52778ab2c7efe65712a" + "78437fb7e60d404a99393b3678d9dc30" ], [ "FStar.Pointer.Base.loc_includes_pointer_pointer", @@ -12404,10 +12203,7 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.LocPointer", "data_elim_FStar.Pointer.Base.Pointer", "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", @@ -12422,11 +12218,9 @@ "equation_FStar.Pointer.Base.loc_includes", "equation_FStar.Pointer.Base.loc_pointer", "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.squash", + "equation_FStar.Pointer.Base.pointer", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_Prims.equals", - "interpretation_Tm_abs_e62dd609ec1daa80b40100c7ade427c0", + "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", "l_and-interp", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", @@ -12437,17 +12231,16 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_p", "projection_inverse_FStar.Pointer.Base.LocPointer_t", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_FStar.Pointer.Base.loc_aux_includes", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.includes", "unit_typing" + "typing_FStar.Pointer.Base.includes" ], 0, - "7afc0b69f97f0c9262ca33acaf3274d5" + "0271f0032488b5e90ef6fc84f54036f2" ], [ "FStar.Pointer.Base.loc_includes_gsingleton_buffer_of_pointer", @@ -12457,18 +12250,17 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", "constructor_distinct_FStar.Pointer.Base.LocBuffer", "constructor_distinct_FStar.Pointer.Base.LocPointer", "constructor_distinct_FStar.Pointer.Base.Pointer", + "data_elim_FStar.Pointer.Base.BufferRootArray", "data_elim_FStar.Pointer.Base.Pointer", "eq2-interp", "equation_FStar.Pointer.Base._cell", "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", + "equation_FStar.Pointer.Base.array_length_t", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_root_length", "equation_FStar.Pointer.Base.cls", @@ -12487,14 +12279,11 @@ "equation_FStar.Pointer.Base.npointer", "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.squash", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_e62dd609ec1daa80b40100c7ade427c0", + "int_typing", + "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", "l_and-interp", "lemma_FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", "lemma_FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", @@ -12523,21 +12312,23 @@ "projection_inverse_FStar.Pointer.Base.Pointer_p", "projection_inverse_FStar.Pointer.Base.Pointer_to", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_FStar.Pointer.Base.loc_aux_includes", "typing_FStar.Monotonic.HyperStack.aref_equal", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", + "typing_FStar.Pointer.Base.buffer_root_length", "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.Pointer.Base.includes", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.v" ], 0, - "c9a8d81636b679f620b1ac49b944f64e" + "b57d12353ff8858f7636066ac4955add" ], [ "FStar.Pointer.Base.loc_includes_gbuffer_of_array_pointer", @@ -12547,24 +12338,21 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", "@query", "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pointer.Base.BufferRootArray", "constructor_distinct_FStar.Pointer.Base.LocBuffer", "constructor_distinct_FStar.Pointer.Base.LocPointer", + "constructor_distinct_FStar.Pointer.Base.PathStep", "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.StepCell@tok", "data_typing_intro_FStar.Pointer.Base.TArray@tok", "eq2-interp", "equation_FStar.Pointer.Base._cell", "equation_FStar.Pointer.Base.array_length_t", "equation_FStar.Pointer.Base.cls", "equation_FStar.Pointer.Base.g_is_null", + "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", "equation_FStar.Pointer.Base.gcell", "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", "equation_FStar.Pointer.Base.includes", @@ -12578,46 +12366,51 @@ "equation_FStar.Pointer.Base.npointer", "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", + "equation_Prims.nat", + "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_e62dd609ec1daa80b40100c7ade427c0", + "fuel_guarded_inversion_FStar.Pointer.Base.path", "int_inversion", + "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", "l_and-interp", "lemma_FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", "lemma_FStar.Pointer.Base.frameOf_buffer_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.path_includes_step_r", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.Pointer.Base.path_includes_refl", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", + "proj_equation_FStar.Pointer.Base.Buffer_broot", "proj_equation_FStar.Pointer.Base.Pointer_contents", "proj_equation_FStar.Pointer.Base.Pointer_from", "proj_equation_FStar.Pointer.Base.Pointer_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", + "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", + "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", + "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", + "projection_inverse_FStar.Pointer.Base.Buffer_broot", "projection_inverse_FStar.Pointer.Base.LocBuffer_b", "projection_inverse_FStar.Pointer.Base.LocBuffer_t", "projection_inverse_FStar.Pointer.Base.LocPointer_p", "projection_inverse_FStar.Pointer.Base.LocPointer_t", + "projection_inverse_FStar.Pointer.Base.PathStep_p", + "projection_inverse_FStar.Pointer.Base.PathStep_through", "projection_inverse_FStar.Pointer.Base.Pointer_contents", "projection_inverse_FStar.Pointer.Base.Pointer_from", "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_d707d33e41362c0dea8c68f8ad6796cf", + "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_FStar.Pointer.Base.loc_aux_includes", "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.Pointer.Base.gbuffer_of_array_pointer", + "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", + "typing_FStar.Pointer.Base.includes", "typing_FStar.UInt32.v" ], 0, - "dae2fa865bb1808c53f56f204ceeab23" + "f7d017aecd274c536dae8302bdad4e6f" ], [ "FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", @@ -12625,9 +12418,7 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", + "@query", "constructor_distinct_FStar.Pointer.Base.LocBuffer", "constructor_distinct_FStar.Pointer.Base.LocPointer", "eq2-interp", "equation_FStar.Pointer.Base.buffer_includes_pointer", "equation_FStar.Pointer.Base.cls", @@ -12636,10 +12427,8 @@ "equation_FStar.Pointer.Base.loc_aux_includes_pointer", "equation_FStar.Pointer.Base.loc_buffer", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.equals", - "interpretation_Tm_abs_e62dd609ec1daa80b40100c7ade427c0", + "equation_FStar.Pointer.Base.loc_pointer", "equation_Prims.nat", + "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", @@ -12650,13 +12439,11 @@ "projection_inverse_FStar.Pointer.Base.LocBuffer_t", "projection_inverse_FStar.Pointer.Base.LocPointer_p", "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes", - "unit_typing" + "token_correspondence_FStar.Pointer.Base.loc_aux_includes" ], 0, - "515de97300838ee971a5c28c93d74da4" + "b73bb7d05da84084f8c1bec799403a22" ], [ "FStar.Pointer.Base.loc_includes_gsub_buffer_r", @@ -12664,14 +12451,10 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer_includes_pointer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pointer.Base.LocBuffer", + "eq2-interp", "equation_FStar.Pointer.Base.buffer_includes_pointer", "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", "equation_FStar.Pointer.Base.loc_aux_in_addr", "equation_FStar.Pointer.Base.loc_aux_includes", "equation_FStar.Pointer.Base.loc_aux_includes_buffer", @@ -12680,12 +12463,9 @@ "equation_FStar.Pointer.Base.loc_includes", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_e62dd609ec1daa80b40100c7ade427c0", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "int_typing", + "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", "l_and-interp", "lemma_FStar.Pointer.Base.buffer_as_addr_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", @@ -12700,18 +12480,19 @@ "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", "projection_inverse_FStar.Pointer.Base.LocBuffer_b", "projection_inverse_FStar.Pointer.Base.LocBuffer_t", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_FStar.Pointer.Base.loc_aux_includes", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.v" ], 0, - "9c93c7579ff08701980eee134e6baed2" + "9b50750911dfd56c76e48213c8669f61" ], [ "FStar.Pointer.Base.loc_includes_gsub_buffer_l", @@ -12720,7 +12501,7 @@ 1, [ "@query" ], 0, - "31b55d13675c0a1ce21eb4bd193528ce" + "eaf16c1f86dda4f455a651ca89402063" ], [ "FStar.Pointer.Base.loc_includes_gsub_buffer_l", @@ -12728,12 +12509,9 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pointer.Base.LocBuffer", + "eq2-interp", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_as_addr", "equation_FStar.Pointer.Base.buffer_includes_pointer", "equation_FStar.Pointer.Base.buffer_length", @@ -12748,14 +12526,11 @@ "equation_FStar.Pointer.Base.loc_includes", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.squash", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_e62dd609ec1daa80b40100c7ade427c0", + "int_inversion", "int_typing", + "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", "l_and-interp", "lemma_FStar.Pointer.Base.buffer_as_addr_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", @@ -12767,6 +12542,7 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", + "proj_equation_FStar.Pointer.Base.Buffer_bidx", "proj_equation_FStar.Pointer.Base.Buffer_blength", "proj_equation_FStar.Pointer.Base.Buffer_broot", "projection_inverse_BoxBool_proj_0", @@ -12776,18 +12552,25 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot", "projection_inverse_FStar.Pointer.Base.LocBuffer_b", "projection_inverse_FStar.Pointer.Base.LocBuffer_t", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_FStar.Pointer.Base.loc_aux_includes", + "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", + "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", + "typing_FStar.Pointer.Base.buffer_length", + "typing_FStar.Pointer.Base.buffer_root_length", "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "aeeb2f1d4b292802c25010653cfd20fc" + "2f77ca36fc6d78ffdea00be6790ca005" ], [ "FStar.Pointer.Base.loc_includes_addresses_pointer", @@ -12795,16 +12578,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cdb262e08e1a3eacb8db431bc422cb89" + "bd9783f3a8844b58442bb84f0b88cbd8" ], [ "FStar.Pointer.Base.loc_includes_addresses_pointer", @@ -12814,11 +12594,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a24902fa7fced2cd53855aeb110e0e8f" + "8b00ded557a29d02276752ff85e90cb6" ], [ "FStar.Pointer.Base.loc_includes_addresses_pointer", @@ -12850,7 +12630,7 @@ "typing_FStar.Set.mem" ], 0, - "225050da83ff7137498a660f50c4ab92" + "8337e98c3cd13671bb35ceb7d0c5c2b7" ], [ "FStar.Pointer.Base.loc_includes_addresses_buffer", @@ -12858,16 +12638,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b524d9aaf910cfcbdd9a7fca8e833a81" + "2fc9c19b8d18a0b8af8d378e16408799" ], [ "FStar.Pointer.Base.loc_includes_addresses_buffer", @@ -12877,11 +12654,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f0e29e1855501ae3222e75fbf8b14d90" + "996135b8d09ecb2486da127c680c39cd" ], [ "FStar.Pointer.Base.loc_includes_addresses_buffer", @@ -12901,7 +12678,7 @@ "projection_inverse_FStar.Pointer.Base.LocBuffer_t" ], 0, - "6a939a9c79b7a35652840ef822ff3edd" + "90b42135dfe8cc4145a0a7474f9e5393" ], [ "FStar.Pointer.Base.loc_includes_region_pointer", @@ -12928,7 +12705,7 @@ "typing_FStar.Set.mem" ], 0, - "906f3daefaa115dd1618ca1a2b3fece8" + "5208db215dfe68405f20393f23971d41" ], [ "FStar.Pointer.Base.loc_includes_region_buffer", @@ -12948,7 +12725,7 @@ "projection_inverse_FStar.Pointer.Base.LocBuffer_t" ], 0, - "8b32a408db407543a6c089ecd37c11ad" + "cdc3ba1dbfc315f298bb84d69ee0b1a6" ], [ "FStar.Pointer.Base.loc_includes_region_addresses", @@ -12958,11 +12735,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "131aa6428f4212dc129819be9e512764" + "270a2d514636d676dd1820fe894cbe21" ], [ "FStar.Pointer.Base.loc_includes_region_addresses", @@ -13013,7 +12790,7 @@ "typing_FStar.Set.singleton", "typing_FStar.Set.union" ], 0, - "04973ad7bd520c613d6402a33a13582a" + "1f33c10befbe0e292c8849773a2c551a" ], [ "FStar.Pointer.Base.loc_includes_region_region", @@ -13059,7 +12836,7 @@ "typing_FStar.Set.union" ], 0, - "c63dcc78b446ca0ce12c232a31667888" + "eb0b373eb2434cc4d2a8f0dc940927ea" ], [ "FStar.Pointer.Base.loc_includes_region_union_l", @@ -13123,7 +12900,7 @@ "typing_Prims.eq2" ], 0, - "2570808b0dcb835eae92caf88cd47847" + "6ac80e6d0b92630afe99c36d855d1e41" ], [ "FStar.Pointer.Base.loc_disjoint_sym", @@ -13163,7 +12940,7 @@ "typing_FStar.Set.mem", "typing_FStar.Set.set" ], 0, - "163a31351982e4b58c7d009942b87c9c" + "ada7aea027242a168634ffe25f2a6d3e" ], [ "FStar.Pointer.Base.loc_disjoint_none_r", @@ -13208,7 +12985,7 @@ "typing_FStar.Set.union" ], 0, - "f12da8aadc1a75b6cd549aab8c46b086" + "d6da60b8f2045f83980fd5795ba4a82a" ], [ "FStar.Pointer.Base.loc_disjoint_union_r", @@ -13282,7 +13059,7 @@ "typing_FStar.Set.union", "unit_typing" ], 0, - "23127ac2c1c23ceba62413eb12d05a0d" + "837900c91232304ace85d2f827f68810" ], [ "FStar.Pointer.Base.loc_disjoint_root", @@ -13290,16 +13067,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3f34769b2605f5ae3cd85e71dab4abfe" + "d7e8f3ce1df8b2afd4d3241284b7f817" ], [ "FStar.Pointer.Base.loc_disjoint_root", @@ -13308,25 +13082,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pointer.Base.as_addr", "equation_FStar.Pointer.Base.loc_addresses", "equation_FStar.Pointer.Base.loc_disjoint", "equation_FStar.Pointer.Base.loc_includes", "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pointer.Base.as_addr" ], 0, - "c92f5f6603d4a62f418374d105366ddc" + "64987cabf6fc05b72409e4281d6d217b" ], [ "FStar.Pointer.Base.loc_disjoint_gfield", @@ -13343,7 +13115,6 @@ "data_elim_FStar.Pointer.Base.LocPointer", "eq2-interp", "equation_FStar.Pointer.Base._field", "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.frameOf", "equation_FStar.Pointer.Base.gfield", "equation_FStar.Pointer.Base.loc_aux_disjoint", "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", @@ -13355,9 +13126,8 @@ "equation_FStar.Pointer.Base.struct_field", "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.equals", - "interpretation_Tm_abs_0801e8661cff852807d6e129e7dd94a1", + "equation_Prims.nat", + "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gfield", "lemma_FStar.Pointer.Base.disjoint_gfield", "lemma_FStar.Pointer.Base.frameOf_gfield", @@ -13367,15 +13137,14 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_p", "projection_inverse_FStar.Pointer.Base.LocPointer_t", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "string_inversion", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", "unit_typing" ], 0, - "a1b45badceff23f30409ab7d9a6c5d8e" + "c4000472c0c58cc441a90db1c436096f" ], [ "FStar.Pointer.Base.loc_disjoint_gcell", @@ -13383,16 +13152,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d91ca94e786fd64426b166d50b8fd9de" + "f7c8eba2d0599565236ef8fb70ee8e11" ], [ "FStar.Pointer.Base.loc_disjoint_gcell", @@ -13415,10 +13181,8 @@ "equation_FStar.Pointer.Base.loc_disjoint", "equation_FStar.Pointer.Base.loc_pointer", "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.equals", - "interpretation_Tm_abs_0801e8661cff852807d6e129e7dd94a1", + "equation_FStar.Pointer.Base.pointer", "equation_Prims.nat", + "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gcell", "lemma_FStar.Pointer.Base.disjoint_gcell", "lemma_FStar.Pointer.Base.frameOf_gcell", @@ -13427,13 +13191,12 @@ "projection_inverse_FStar.Pointer.Base.LocPointer_p", "projection_inverse_FStar.Pointer.Base.LocPointer_t", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", "unit_typing" ], 0, - "84409d65d1a5832944341a76d324d563" + "e87aced9d689108566d0afd8cff3b0b7" ], [ "FStar.Pointer.Base.loc_disjoint_includes", @@ -13483,7 +13246,7 @@ "typing_FStar.Set.set" ], 0, - "08a6d1bb3b387771a2fe014c85be9568" + "7460774c045328bbedb0ed1a64d98e03" ], [ "FStar.Pointer.Base.live_unused_in_disjoint_strong", @@ -13493,11 +13256,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e144a109ddb42358fd557bf64bce1440" + "c4f9ea69aa8202aa9b187f47e540b98a" ], [ "FStar.Pointer.Base.live_unused_in_disjoint_strong", @@ -13537,7 +13300,7 @@ "typing_FStar.Pointer.Base.frameOf" ], 0, - "c34ad521e780357d5d37ae1f85980731" + "29edd36efbeb7b6cbe95498c49feb5ab" ], [ "FStar.Pointer.Base.live_unused_in_disjoint", @@ -13577,7 +13340,7 @@ "typing_FStar.Pointer.Base.frameOf" ], 0, - "e6cd30e17b62d513a9ac44f873abd6c0" + "fec45452a8fc95b8de0ac82ed2f7bafe" ], [ "FStar.Pointer.Base.pointer_live_reference_unused_in_disjoint", @@ -13585,16 +13348,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e52dc6f465914fa7d4a7415a3fb853ac" + "1755e7a860bd5c699cd6a46d77b3701e" ], [ "FStar.Pointer.Base.pointer_live_reference_unused_in_disjoint", @@ -13602,8 +13362,7 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", "equation_FStar.ModifiesGen.loc_freed_mreference", @@ -13620,24 +13379,21 @@ "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Pointer.Base.live_region_frameOf", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.HyperStack.as_ref", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.as_addr", "typing_FStar.Set.singleton" + "typing_FStar.Pointer.Base.as_addr" ], 0, - "99bf5526f6c5a1cd43a2cc43634ad1f9" + "0c56eff3eb649ae598ad90bdb2b4a32b" ], [ "FStar.Pointer.Base.reference_live_pointer_unused_in_disjoint", @@ -13645,16 +13401,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "19ebf7ae941795e126726d4b46698b89" + "796ae043eeaaea9990bd25c0299d16fb" ], [ "FStar.Pointer.Base.reference_live_pointer_unused_in_disjoint", @@ -13662,8 +13415,7 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", "equation_FStar.ModifiesGen.loc_freed_mreference", @@ -13680,23 +13432,21 @@ "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", - "typing_FStar.Pointer.Base.as_addr", "typing_FStar.Set.singleton" + "typing_FStar.Pointer.Base.as_addr" ], 0, - "640091c494d639f351f952a2aad90044" + "0488caca69720a28435e50431d578ae2" ], [ "FStar.Pointer.Base.loc_disjoint_gsub_buffer", @@ -13705,7 +13455,7 @@ 1, [ "@query" ], 0, - "9014a4867fb38d1ecba163437e9ccc47" + "cf3e6e747570508ea1e621b45e364dbb" ], [ "FStar.Pointer.Base.loc_disjoint_gsub_buffer", @@ -13713,16 +13463,15 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_Tm_unit", "data_elim_FStar.Pointer.Base.Buffer", - "data_elim_FStar.Pointer.Base.BufferRootArray", "eq2-interp", - "equation_FStar.Pointer.Base._cell", + "data_elim_FStar.Pointer.Base.BufferRootArray", + "data_elim_FStar.Pointer.Base.BufferRootSingleton", "eq2-interp", "equation_FStar.Pointer.Base.array_length_t", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", @@ -13730,7 +13479,6 @@ "equation_FStar.Pointer.Base.cls", "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", "equation_FStar.Pointer.Base.gsub_buffer", "equation_FStar.Pointer.Base.loc_aux_disjoint", @@ -13739,26 +13487,25 @@ "equation_FStar.Pointer.Base.loc_aux_in_addr", "equation_FStar.Pointer.Base.loc_buffer", "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.npointer", + "equation_FStar.Pointer.Base.not_an_array_cell", "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_0801e8661cff852807d6e129e7dd94a1", + "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", "l_and-interp", "lemma_FStar.Pointer.Base.buffer_as_addr_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.disjoint_gcell", "lemma_FStar.Pointer.Base.frameOf_buffer_gsub_buffer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", "proj_equation_FStar.Pointer.Base.Buffer_bidx", "proj_equation_FStar.Pointer.Base.Buffer_broot", @@ -13769,30 +13516,30 @@ "projection_inverse_FStar.Pointer.Base.Buffer_broot", "projection_inverse_FStar.Pointer.Base.LocBuffer_b", "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", + "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", + "typing_FStar.Pointer.Base.not_an_array_cell", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "d0b4a6600479761bbe99024094334c28" + "37494d0a24d475a6935bd6f978169c23" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", @@ -13800,16 +13547,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "37ad0acba01206b03299924f4652a2f9" + "270b0ee816819658b3e29b4686afc2d3" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", @@ -13817,94 +13561,61 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_b27168cc0cd9c7f90ae88b602ccfc55c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pointer.Base._cell", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Pointer.Base.LocPointer", + "data_elim_FStar.Pointer.Base.BufferRootArray", "eq2-interp", + "equation_FStar.Pointer.Base.array_length_t", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.buffer_root_length", "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.disjoint", "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", "equation_FStar.Pointer.Base.loc_aux_disjoint", "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", "equation_FStar.Pointer.Base.loc_aux_in_addr", "equation_FStar.Pointer.Base.loc_disjoint", "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.squash", + "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_0801e8661cff852807d6e129e7dd94a1", + "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", + "lemma_FStar.Pointer.Base.disjoint_gcell", "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.path_disjoint_step", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", "projection_inverse_FStar.Pointer.Base.LocPointer_p", "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "refinement_interpretation_Tm_refine_041a24a8c3715e0f4960d28f20ee920b", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v", "unit_typing" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "0009c8a0b6f3b2c76b8ae8ef9549da5b" + "e7b32b1da65f1da171379753a64d37f4" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_r", @@ -13922,7 +13633,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_780a58d3abf8ac8412c61f118449e052" ], 0, - "66c660588b4407a532076ff020ee334d" + "051f061b8bea758c98fcc719414801ae" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_l", @@ -13940,7 +13651,7 @@ "refinement_interpretation_FStar.Pointer.Base_Tm_refine_8c23b222cc3779bf1b758c868f138137" ], 0, - "c074fc8901190c9c71d4094bceacc3ab" + "7c2b60186f7565cbb2027cb054203513" ], [ "FStar.Pointer.Base.loc_disjoint_addresses", @@ -13948,16 +13659,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "526bd35b4af50be039850f823075c0ab" + "068453824fbbfe6d3437677e05537fb1" ], [ "FStar.Pointer.Base.loc_disjoint_addresses", @@ -14007,7 +13715,7 @@ "typing_FStar.Set.set", "typing_FStar.Set.singleton" ], 0, - "c62d39c2369b2ccb76c98069ad73110a" + "b37a04fa16ab9686644389dfb4b27760" ], [ "FStar.Pointer.Base.loc_disjoint_pointer_addresses", @@ -14015,16 +13723,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ed1eb643544f858b6c03e2a4465dac2e" + "c5e18f86fb990d0b171ad54a4d2ca889" ], [ "FStar.Pointer.Base.loc_disjoint_pointer_addresses", @@ -14034,11 +13739,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4a2171688dedb5d8bebb1fe8097b1f92" + "940ba04b5a49e45e38dbad68875b3a39" ], [ "FStar.Pointer.Base.loc_disjoint_pointer_addresses", @@ -14046,13 +13751,11 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Pointer.Base.as_addr", "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Pointer.Base.loc_disjoint_addresses", "lemma_FStar.Pointer.Base.loc_includes_addresses_pointer", "lemma_FStar.Pointer.Base.loc_includes_refl", @@ -14060,11 +13763,12 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pointer.Base.as_addr", "typing_FStar.Set.mem" ], 0, - "36c3940f7d86445c48ff1e2a9924ea9c" + "b3f404bd2938b7ee89b3616018d549e9" ], [ "FStar.Pointer.Base.loc_disjoint_buffer_addresses", @@ -14072,16 +13776,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ce33e619bf0ea2ff5a2ed3fa78d9cbc7" + "b059a021b75e0bc8b3b255e4f0317eb0" ], [ "FStar.Pointer.Base.loc_disjoint_buffer_addresses", @@ -14091,11 +13792,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5dd9fdcd32ce18154a99ceba680c1610" + "83175f2dd8114392c67d7e2379ecb521" ], [ "FStar.Pointer.Base.loc_disjoint_buffer_addresses", @@ -14103,16 +13804,14 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_as_addr", "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Pointer.Base.loc_disjoint_addresses", "lemma_FStar.Pointer.Base.loc_includes_addresses_buffer", "lemma_FStar.Pointer.Base.loc_includes_refl", @@ -14120,11 +13819,12 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pointer.Base.buffer_as_addr", "typing_FStar.Set.mem" ], 0, - "336c21c5b034e0700bb277d8dcec4db8" + "208f4c41b5fe7b09c9178d36303af732" ], [ "FStar.Pointer.Base.loc_disjoint_regions", @@ -14170,7 +13870,7 @@ "typing_FStar.Set.set", "typing_FStar.Set.union" ], 0, - "2a406b1daff0571f41692e3793ac6388" + "ddf256ba2ccc6b2c805d206933dedc38" ], [ "FStar.Pointer.Base.modifies_loc_regions_intro", @@ -14232,7 +13932,7 @@ "typing_FStar.Set.union" ], 0, - "fe4cb6ccd320ce317b1efb37cc40260a" + "f048a9ac0ed01cdfdd615fda31fbfa09" ], [ "FStar.Pointer.Base.modifies_pointer_elim", @@ -14241,8 +13941,7 @@ 1, [ "@query", "constructor_distinct_FStar.Pointer.Base.LocPointer", - "eq2-interp", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.cls", + "eq2-interp", "equation_FStar.Pointer.Base.cls", "equation_FStar.Pointer.Base.loc_aux_in_addr", "equation_FStar.Pointer.Base.loc_aux_preserved", "equation_FStar.Pointer.Base.loc_disjoint", @@ -14250,7 +13949,7 @@ "equation_FStar.Pointer.Base.modifies", "equation_FStar.Pointer.Base.pointer_preserved", "equation_Prims.nat", - "interpretation_Tm_abs_db865e0d3c8bdd47a26263a8838cc83e", + "interpretation_Tm_abs_b66b60341cf47258f5ae9ea4a40f3bb1", "l_and-interp", "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", "projection_inverse_FStar.Pointer.Base.LocPointer_p", @@ -14259,7 +13958,7 @@ "token_correspondence_FStar.Pointer.Base.loc_aux_preserved" ], 0, - "d7e3b44889b093718d5bb4e7eb77d58a" + "59955dbfea92eb4eba399254b3f8531e" ], [ "FStar.Pointer.Base.modifies_buffer_elim'", @@ -14270,21 +13969,16 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.buffer_readable", "equation_FStar.Pointer.Base.buffer_readable_", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "lemma_FStar.Pointer.Base.index_buffer_as_seq", "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", @@ -14292,17 +13986,16 @@ "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e238b3b3cd918f1e4055a8daaf38a8f0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d1e76d56e2ec7389d639ef3df0bd6a06", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.UInt32.uint_to_t" ], 0, - "2ae78ef211374cac3ec6ee3e812fa38c" + "961186c788a4e4ba06d235e0af598a8b" ], [ "FStar.Pointer.Base.modifies_buffer_elim", @@ -14313,8 +14006,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", + "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", + "bool_inversion", "data_elim_FStar.Pointer.Base.BufferRootSingleton", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_as_seq", @@ -14322,15 +14015,17 @@ "equation_FStar.Pointer.Base.buffer_readable", "equation_FStar.Pointer.Base.buffer_readable_", "equation_FStar.Pointer.Base.buffer_root_as_seq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_FStar.Pointer.Base.buffer_root_length", + "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -14339,21 +14034,24 @@ "proj_equation_FStar.Pointer.Base.Buffer_broot", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_as_seq", + "typing_FStar.Pointer.Base.buffer_root_length", "typing_FStar.Pointer.Base.frameOf_buffer", + "typing_FStar.Pointer.Base.gread", "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.v" ], 0, - "0e139280b61032cbac237bf81422eef2" + "1db1f2dbbb549a4e234f08a468fe792b" ], [ "FStar.Pointer.Base.modifies_reference_elim", @@ -14361,16 +14059,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a96ae9e3a00bb125a64578bc4d6fa169" + "f9fa3d1a511dcd6b3bc2eb6dd506f1de" ], [ "FStar.Pointer.Base.modifies_reference_elim", @@ -14379,7 +14074,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", "equation_FStar.ModifiesGen.loc_freed_mreference", @@ -14392,16 +14086,15 @@ "equation_FStar.Pointer.Base.modifies", "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.HyperStack.as_addr" ], 0, - "2fdca120a86c6979f7ca5424cb09e345" + "8a0a7a480baaa04155e6a0eead6882fb" ], [ "FStar.Pointer.Base.modifies_refl", @@ -14450,7 +14143,7 @@ "typing_FStar.Set.complement" ], 0, - "1d4a7aceeb45d95a3d4f817958eedddc" + "3d15ca4f40897eb6fded950856c4651d" ], [ "FStar.Pointer.Base.modifies_loc_includes", @@ -14464,7 +14157,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem" ], 0, - "6e752fc0e81e064eaf65f8af09cdd74c" + "3ddeda9a0bdebea41f0541c39eb9e63d" ], [ "FStar.Pointer.Base.modifies_trans", @@ -14478,7 +14171,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem" ], 0, - "658a02c069fc53f6ad7235cea4fdc324" + "8e93a7a18de68e3d6b5e80587f795d0c" ], [ "FStar.Pointer.Base.screate", @@ -14497,12 +14190,10 @@ "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_1291d130300b22abe2e16b3d7210a8bc", + "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Pointer.Base.PathBase", "constructor_distinct_FStar.Pointer.Base.Pointer", @@ -14545,15 +14236,14 @@ "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pointer.Base.otype_of_typ", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", @@ -14576,9 +14266,6 @@ "proj_equation_FStar.Pointer.Base.Pointer_p", "proj_equation_Prims.Mkdtuple2__1", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pointer.Base.PathBase_from", @@ -14588,11 +14275,11 @@ "projection_inverse_FStar.Pointer.Base.Pointer_to", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", @@ -14606,14 +14293,13 @@ "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.is_stack_region", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Pointer.Base.live", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "31305fc4e73e0f61f67e01cc1b344b45" + "37dbe6dc74bf4e6c0efcee6b1ffff3d0" ], [ "FStar.Pointer.Base.domain_upd", @@ -14621,8 +14307,7 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -14631,17 +14316,13 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.upd", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_ad7e1b418ca64c1aeef94590edc4eb01", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", @@ -14656,7 +14337,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "4ceaeab99030b0afc6f35dd3b50bb530" + "6a854bd1e603cfdb202e2ea660f55d74" ], [ "FStar.Pointer.Base.ecreate", @@ -14675,12 +14356,10 @@ "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_1291d130300b22abe2e16b3d7210a8bc", + "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Pointer.Base.PathBase", "constructor_distinct_FStar.Pointer.Base.Pointer", @@ -14722,11 +14401,9 @@ "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pointer.Base.otype_of_typ", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", @@ -14734,6 +14411,7 @@ "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", + "lemma_FStar.Monotonic.Heap.lemma_unused_upd_contains", "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", @@ -14753,9 +14431,6 @@ "proj_equation_FStar.Pointer.Base.Pointer_p", "proj_equation_Prims.Mkdtuple2__1", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pointer.Base.PathBase_from", @@ -14765,12 +14440,12 @@ "projection_inverse_FStar.Pointer.Base.Pointer_to", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_11909c5fb1b8562f96ab0360020d5e9a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_8707d8ae538e447380448dbacbffa1b6", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Map.upd", @@ -14789,11 +14464,11 @@ "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.is_mm", "typing_FStar.Pointer.Base.live", + "typing_FStar.Pointer.Base.live", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "8e4cc567633f7d85d352bce29672f06e" + "d8b7707a24740d5797ad55649c99942a" ], [ "FStar.Pointer.Base.field", @@ -14813,15 +14488,15 @@ "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_640028ce753dd3ce7390b045f3de7e9b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_630f4ea120e51fbdccd80790504db19e", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "string_inversion", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "35ffc77a4f39e9d739703dac63b2f49b" + "5177c42b8b7d6a1ff32f8cdd8aa73390" ], [ "FStar.Pointer.Base.ufield", @@ -14841,15 +14516,15 @@ "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_3bc6438bcc8abbd95d1aa055fd811ef3", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2f0ee03cb351104c406e5fab04712a9c", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "string_inversion", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "8c6e16e8c6c3801520401f49fbdfe015" + "b680b8461ee6497e0aa3da8b94cd3a61" ], [ "FStar.Pointer.Base.cell", @@ -14858,7 +14533,7 @@ 1, [ "@query" ], 0, - "cbeaa04be5f78758179e0bab25ce947a" + "1e7d6164631a3a86e8b94704f7eeda32" ], [ "FStar.Pointer.Base.cell", @@ -14875,13 +14550,13 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", - "refinement_interpretation_Tm_refine_83cc44ecfbbf63c22a5b7c9e6c442143", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_95ca5788740b2281baacad759e71270f", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "29799b86aa67c77ccb8ef0db29edbc0b" + "fa7e87f908f330a17a5f9c9ea3b6514f" ], [ "FStar.Pointer.Base.reference_of", @@ -14891,8 +14566,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "disc_equation_FStar.Pointer.Base.Pointer", + "bool_inversion", "disc_equation_FStar.Pointer.Base.Pointer", "equation_FStar.HyperStack.reference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", @@ -14900,7 +14574,6 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Pointer.Base.g_is_null", "equation_FStar.Pointer.Base.greference_of", "equation_FStar.Pointer.Base.live", @@ -14913,32 +14586,28 @@ "fuel_guarded_inversion_Prims.dtuple2", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", "l_and-interp", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", "lemma_FStar.Monotonic.HyperStack.is_mm_aref_of", - "lemma_FStar.Monotonic.HyperStack.upd_reference_of", "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Pointer.Base.Pointer_contents", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_34fbe053a9bd90fe28a8c099cc43600c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7565d1b10bfd2050a64be1d17fc702ed", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel" + "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "5232aba3a6785f63aa93537189f98822" + "85c0bd7847dad5e3e839c8162bdf8c86" ], [ "FStar.Pointer.Base.read", @@ -14948,14 +14617,12 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", + "bool_inversion", "disc_equation_FStar.Pointer.Base.Pointer", + "eq2-interp", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.is_live_for_rw_in", "equation_FStar.HyperStack.reference", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base.g_is_null", @@ -14978,11 +14645,10 @@ "proj_equation_Prims.Mkdtuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Mkdtuple2__1", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_b34086b6974d4cf037174f9425fef49c", + "refinement_interpretation_Tm_refine_6f9aa66937ca4c204e459d01042299f6", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_ebcf57cd61a79f04a0e64af1c7eb845d", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.frameOf", @@ -14991,11 +14657,10 @@ "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", "typing_FStar.Pointer.Base.frameOf", "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.reference_of", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "f85e593f55ed852a2c26f6f708cbd3d6" + "e692452178aa450ca1801d3b93b8efc6" ], [ "FStar.Pointer.Base.is_null", @@ -15018,15 +14683,15 @@ "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.lemma_equal_refl", "projection_inverse_FStar.Pointer.Base.NullPtr_to", - "refinement_interpretation_Tm_refine_262595c1376414132c7436c0a01f03f5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_bb3ae679001acd4c6774b129b21fb7f7", "true_interp", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "a0ddcd27f6760f8d96c9bc6229059781" + "a8170f7dcb53c3f61a1d1bc1dbc29d09" ], [ "FStar.Pointer.Base.owrite", @@ -15043,10 +14708,8 @@ "@fuel_irrelevance_FStar.Pointer.Base.path_upd.fuel_instrumented", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base.LocPointer", + "bool_inversion", + "constructor_distinct_FStar.Pointer.Base.LocPointer", "data_elim_FStar.Pointer.Base.LocBuffer", "data_elim_FStar.Pointer.Base.LocPointer", "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", @@ -15065,7 +14728,6 @@ "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_mm", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", @@ -15074,12 +14736,14 @@ "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base.aloc", "equation_FStar.Pointer.Base.as_addr", "equation_FStar.Pointer.Base.buffer", + "equation_FStar.Pointer.Base.buffer_as_addr", "equation_FStar.Pointer.Base.buffer_preserved", "equation_FStar.Pointer.Base.cls", "equation_FStar.Pointer.Base.disjoint", "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.frameOf", + "equation_FStar.Pointer.Base.frameOf_buffer", "equation_FStar.Pointer.Base.g_is_null", "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", "equation_FStar.Pointer.Base.gread", @@ -15097,26 +14761,27 @@ "equation_FStar.Pointer.Base.pointer", "equation_FStar.Pointer.Base.pointer_preserved", "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.l_and", + "equation_FStar.Pointer.Base.readable", "equation_Prims.eq2", + "equation_Prims.eqtype", "equation_Prims.l_and", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", + "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", "fuel_guarded_inversion_Prims.c_and", "fuel_guarded_inversion_Prims.dtuple2", + "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pointer.Base.otype_of_typ", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "interpretation_Tm_abs_0801e8661cff852807d6e129e7dd94a1", - "interpretation_Tm_abs_db865e0d3c8bdd47a26263a8838cc83e", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", + "interpretation_Tm_abs_b66b60341cf47258f5ae9ea4a40f3bb1", "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", @@ -15140,6 +14805,7 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", + "proj_equation_FStar.Pointer.Base.Buffer_broot", "proj_equation_FStar.Pointer.Base.Pointer_contents", "proj_equation_FStar.Pointer.Base.Pointer_from", "proj_equation_FStar.Pointer.Base.Pointer_p", @@ -15147,26 +14813,23 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_FStar.Pointer.Base.LocPointer_p", "projection_inverse_FStar.Pointer.Base.LocPointer_t", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_7e42291fd69a2db2d4e3c50a81b13c96", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_81a0d54c78434fc678ec7202c4b9fc09", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b34086b6974d4cf037174f9425fef49c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_b7f4aa7b3e4fb5820956040548d84985", "refinement_interpretation_Tm_refine_ee0c42debbc39763e22b0866c76a996c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", @@ -15189,16 +14852,18 @@ "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.reference_of", "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.dfst", "typing_FStar.Pointer.Base.frameOf", + "typing_FStar.Pervasives.dfst", + "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", + "typing_FStar.Pointer.Base.frameOf", "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.greference_of", "typing_FStar.Pointer.Base.live", "typing_FStar.Pointer.Base.reference_of", "typing_FStar.Set.mem", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2", "typing_Prims.l_and", "unit_typing" + "typing_Prims.__proj__Mkdtuple2__item___1", "typing_Prims.eq2", + "typing_Prims.l_and" ], 0, - "e1b9b595f14e169be12723ea7977aa22" + "46068ddb1f4d0c107227b4e6208dac57" ], [ "FStar.Pointer.Base.write", @@ -15215,23 +14880,18 @@ "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "b2t_def", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.gread", + "@query", "b2t_def", "equation_FStar.Pointer.Base.gread", "equation_FStar.Pointer.Base.live", "equation_FStar.Pointer.Base.readable", "l_and-interp", "lemma_FStar.Pointer.Base.ovalue_is_readable_ovalue_of_value", "lemma_FStar.Pointer.Base.value_of_ovalue_of_value", - "refinement_interpretation_Tm_refine_7e42291fd69a2db2d4e3c50a81b13c96", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.frameOf", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", "typing_FStar.Pointer.Base.live", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "f2f89e4d998377a93971da391efe510d" + "aae460cd74847f29570aa04db2f1e74f" ], [ "FStar.Pointer.Base.write_union_field", @@ -15272,7 +14932,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "c5bb31dc5735379878454d390b58c7da" + "e970f6b6b42c58b062cdd2aa45ac4ea8" ], [ "FStar.Pointer.Base.modifies_fresh_frame_popped", @@ -15301,7 +14961,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "6967d600dfd0860c58c4ab8a732e4bf1" + "cf4c24643b9f8a10d148cfe22c4213f4" ], [ "FStar.Pointer.Base.modifies_only_live_regions", @@ -15316,7 +14976,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem" ], 0, - "c0b9b1581d1573fbaca2ad8449593c0f" + "34e1bf7a70a1c3416641ffc3c6027173" ], [ "FStar.Pointer.Base.modifies_loc_addresses_intro", @@ -15326,11 +14986,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9e63bb6baadbb11f6c6fdc7cc804aa15" + "9e1bbb028745dc4b5f87d17f32290b29" ], [ "FStar.Pointer.Base.modifies_loc_addresses_intro", @@ -15340,11 +15000,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "58b7c78c6993bd682756f4c76a345720" + "905f2ce033f3c19ba431861a4b4fff10" ], [ "FStar.Pointer.Base.modifies_loc_addresses_intro", @@ -15361,7 +15021,7 @@ "equation_Prims.nat" ], 0, - "d821d0a80b153600f86ded2966ebe29a" + "dbb7fbcd5763ccad5c261e182ac95af0" ], [ "FStar.Pointer.Base.modifies_1_readable_struct", @@ -15434,7 +15094,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "23e64f408ebe96e2fddc1fb890e2a6e8" + "9a3936415760208b7f8b69413ba3180c" ], [ "FStar.Pointer.Base.modifies_1_readable_array", @@ -15443,7 +15103,7 @@ 1, [ "@query" ], 0, - "63dfd4ce6f928b21b678057d1051f735" + "cc1e0bdcbc1f25e011e7d6f1b3c1a1a7" ], [ "FStar.Pointer.Base.modifies_1_readable_array", @@ -15452,8 +15112,10 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", + "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", @@ -15479,6 +15141,7 @@ "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base._cell", + "equation_FStar.Pointer.Base.array", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.g_is_null", "equation_FStar.Pointer.Base.gcell", @@ -15492,12 +15155,14 @@ "equation_FStar.Pointer.Base.readable", "equation_FStar.Pointer.Base.step_sel", "equation_FStar.Seq.Properties.for_all", + "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", "fuel_guarded_inversion_Prims.dtuple2", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Pointer.Base.live_gcell", "lemma_FStar.Pointer.Base.loc_disjoint_gcell", "lemma_FStar.Pointer.Base.modifies_pointer_elim", @@ -15522,10 +15187,10 @@ "projection_inverse_FStar.Pointer.Base.StepCell_value", "projection_inverse_FStar.Pointer.Base.TArray_length", "projection_inverse_FStar.Pointer.Base.TArray_t", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", "token_correspondence_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", @@ -15534,14 +15199,15 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.gcell", + "typing_FStar.Pointer.Base.array", "typing_FStar.Pointer.Base.gcell", "typing_FStar.Pointer.Base.greference_of", "typing_FStar.Pointer.Base.loc_pointer", + "typing_FStar.Pointer.Base.otype_of_typ", "typing_FStar.Pointer.Base.ovalue_is_readable", "typing_FStar.Pointer.Base.path_sel", "unit_typing" ], 0, - "576b9b8615a873a29648ab0a879350f7" + "ee38026a54021377218024576ad91e7b" ], [ "FStar.Pointer.Base.read_buffer", @@ -15564,7 +15230,7 @@ "typing_FStar.UInt32.v" ], 0, - "500272590c078ab869c3fd0bf3988026" + "c665fc67d780902fc23277b5f2897ee1" ], [ "FStar.Pointer.Base.read_buffer", @@ -15575,17 +15241,16 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", + "@query", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.readable", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "l_and-interp", "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell", "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", - "refinement_interpretation_Tm_refine_d27d1b3d72a0aab13bf8b34cd27c3cf1", - "refinement_interpretation_Tm_refine_f11f8deabab80bcee8a10a7d2a2d28e3" + "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739", + "refinement_interpretation_Tm_refine_e9f80e94617693055b40900dbd5751b9" ], 0, - "08589e9816e0852cd7f150d5c90efd3a" + "c6d829d475019497715cecf6802610ad" ], [ "FStar.Pointer.Base.write_buffer", @@ -15596,8 +15261,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", + "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -15605,10 +15269,10 @@ "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d27d1b3d72a0aab13bf8b34cd27c3cf1" + "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739" ], 0, - "d66f4b62f696ec07e33be5867a3bae9f" + "c6801a2b86d279c466be265e481da3be" ], [ "FStar.Pointer.Base.write_buffer", @@ -15617,27 +15281,28 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", + "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pointer.Base.PathStep", "constructor_distinct_FStar.Pointer.Base.Pointer", "constructor_distinct_FStar.Pointer.Base.StepCell", + "constructor_distinct_FStar.Pointer.Base.TArray", "constructor_distinct_Tm_unit", "data_elim_FStar.Pointer.Base.BufferRootArray", "data_elim_Prims.Mkdtuple2", + "data_typing_intro_FStar.Pointer.Base.TArray@tok", "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base._cell", @@ -15662,21 +15327,22 @@ "equation_FStar.Pointer.Base.step_sel", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", "fuel_guarded_inversion_Prims.dtuple2", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell", "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", "lemma_FStar.Pointer.Base.loc_disjoint_gcell", "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pointer.Base.Pointer_contents", "proj_equation_FStar.Pointer.Base.Pointer_from", "proj_equation_FStar.Pointer.Base.Pointer_p", @@ -15695,17 +15361,21 @@ "projection_inverse_FStar.Pointer.Base.StepCell_index", "projection_inverse_FStar.Pointer.Base.StepCell_length", "projection_inverse_FStar.Pointer.Base.StepCell_value", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "projection_inverse_FStar.Pointer.Base.TArray_length", + "projection_inverse_FStar.Pointer.Base.TArray_t", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_7e42291fd69a2db2d4e3c50a81b13c96", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_d27d1b3d72a0aab13bf8b34cd27c3cf1", + "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", "token_correspondence_FStar.Pointer.Base.otype_of_typ", + "token_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.sel", @@ -15714,6 +15384,7 @@ "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", "typing_FStar.Pointer.Base.__proj__Pointer__item__from", "typing_FStar.Pointer.Base.__proj__Pointer__item__p", + "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", @@ -15721,10 +15392,10 @@ "typing_FStar.Pointer.Base.loc_pointer", "typing_FStar.Pointer.Base.ovalue_is_readable", "typing_FStar.Pointer.Base.path_sel", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v" + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "89f8eca487ec3875c7fe3b03c8ba7b0c" + "a749580d6c8f71d2e35ce485cf586762" ], [ "FStar.Pointer.Base.buffer_live_unused_in_disjoint", @@ -15734,14 +15405,15 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "bool_inversion", "constructor_distinct_FStar.Pointer.Base.LocBuffer", "constructor_distinct_Tm_unit", "data_elim_FStar.Pointer.Base.BufferRootArray", + "data_elim_FStar.Pointer.Base.BufferRootSingleton", "data_elim_FStar.Pointer.Base.Pointer", "data_typing_intro_FStar.Pointer.Base.TArray@tok", "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", @@ -15770,6 +15442,7 @@ "equation_FStar.Pointer.Base.loc_aux_in_addr", "equation_FStar.Pointer.Base.loc_buffer", "equation_FStar.Pointer.Base.loc_disjoint", + "equation_FStar.Pointer.Base.not_an_array_cell", "equation_FStar.Pointer.Base.npointer", "equation_FStar.Pointer.Base.pointer", "equation_FStar.Pointer.Base.pointer_ref_contents", @@ -15782,7 +15455,7 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", "int_inversion", - "interpretation_Tm_abs_0801e8661cff852807d6e129e7dd94a1", + "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", "l_and-interp", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", @@ -15792,27 +15465,28 @@ "lemma_FStar.Monotonic.HyperStack.contains_greference_of", "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", + "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", "lemma_FStar.Pointer.Base.unused_in_greference_of", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", + "proj_equation_FStar.Pointer.Base.Buffer_broot", "proj_equation_FStar.Pointer.Base.Pointer_contents", + "proj_equation_FStar.Pointer.Base.Pointer_p", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", "projection_inverse_FStar.Pointer.Base.LocBuffer_b", "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", + "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", @@ -15820,7 +15494,9 @@ "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.aref_of", "typing_FStar.Monotonic.HyperStack.as_ref", + "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.greference_of", "typing_FStar.Monotonic.HyperStack.live_region", @@ -15828,11 +15504,11 @@ "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" + "typing_FStar.Pointer.Base.not_an_array_cell", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "536461fb7c37151b394f6cbf43df41b8" + "8e2ddbcfaaa2b150f4ba15a97431b89f" ], [ "FStar.Pointer.Base.pointer_live_buffer_unused_in_disjoint", @@ -15840,23 +15516,25 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.LocBuffer", "constructor_distinct_FStar.Pointer.Base.LocPointer", - "constructor_distinct_Tm_unit", + "data_elim_FStar.Pointer.Base.BufferRootArray", + "data_elim_FStar.Pointer.Base.Pointer", "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", "equation_FStar.Heap.trivial_preorder", + "equation_FStar.HyperStack.reference", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base._cell", "equation_FStar.Pointer.Base.as_addr", "equation_FStar.Pointer.Base.buffer", + "equation_FStar.Pointer.Base.buffer_as_addr", "equation_FStar.Pointer.Base.buffer_unused_in", "equation_FStar.Pointer.Base.cls", "equation_FStar.Pointer.Base.frameOf", + "equation_FStar.Pointer.Base.frameOf_buffer", "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", + "equation_FStar.Pointer.Base.greference_of", "equation_FStar.Pointer.Base.live", "equation_FStar.Pointer.Base.loc_aux_disjoint", "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", @@ -15867,22 +15545,22 @@ "equation_FStar.Pointer.Base.npointer", "equation_FStar.Pointer.Base.pointer", "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.squash", + "equation_FStar.Pointer.Base.unused_in", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "interpretation_Tm_abs_0801e8661cff852807d6e129e7dd94a1", + "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", "l_and-interp", "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", "lemma_FStar.Monotonic.HyperStack.contains_greference_of", "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", + "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", "lemma_FStar.Pointer.Base.live_region_frameOf", + "lemma_FStar.Pointer.Base.unused_in_greference_of", "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", "proj_equation_FStar.Pointer.Base.Pointer_contents", "projection_inverse_BoxBool_proj_0", @@ -15891,23 +15569,24 @@ "projection_inverse_FStar.Pointer.Base.LocBuffer_t", "projection_inverse_FStar.Pointer.Base.LocPointer_p", "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", "typing_FStar.Heap.trivial_preorder", + "typing_FStar.Monotonic.HyperStack.aref_of", "typing_FStar.Monotonic.HyperStack.greference_of", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", "unit_typing" + "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", + "typing_FStar.Pointer.Base.greference_of" ], 0, - "7dcf4811b1a7f5b408c35cd58d6deac8" + "4db7269f778054708e2f12ce1d42bf95" ], [ "FStar.Pointer.Base.buffer_live_pointer_unused_in_disjoint", @@ -15916,30 +15595,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", + "bool_inversion", "constructor_distinct_FStar.Pointer.Base.LocBuffer", "constructor_distinct_FStar.Pointer.Base.LocPointer", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", + "data_elim_FStar.Pointer.Base.BufferRootArray", + "data_elim_FStar.Pointer.Base.BufferRootSingleton", + "data_elim_FStar.Pointer.Base.Pointer", + "data_typing_intro_FStar.Pointer.Base.TArray@tok", "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Pointer.Base._cell", "equation_FStar.Pointer.Base.as_addr", "equation_FStar.Pointer.Base.buffer", + "equation_FStar.Pointer.Base.buffer_as_addr", "equation_FStar.Pointer.Base.buffer_live", "equation_FStar.Pointer.Base.cls", + "equation_FStar.Pointer.Base.disjoint", "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", "equation_FStar.Pointer.Base.frameOf", + "equation_FStar.Pointer.Base.frameOf_buffer", "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.greference_of", "equation_FStar.Pointer.Base.live", "equation_FStar.Pointer.Base.loc_aux_disjoint", "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", @@ -15947,28 +15624,24 @@ "equation_FStar.Pointer.Base.loc_buffer", "equation_FStar.Pointer.Base.loc_disjoint", "equation_FStar.Pointer.Base.loc_pointer", + "equation_FStar.Pointer.Base.not_an_array_cell", "equation_FStar.Pointer.Base.npointer", "equation_FStar.Pointer.Base.pointer", "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.squash", + "equation_FStar.Pointer.Base.unused_in", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_Prims.equals", "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "interpretation_Tm_abs_0801e8661cff852807d6e129e7dd94a1", + "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", "l_and-interp", "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", "lemma_FStar.Monotonic.HyperStack.contains_greference_of", "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.unused_in_greference_of", - "primitive_Prims.op_BarBar", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", "proj_equation_FStar.Pointer.Base.Pointer_contents", "projection_inverse_BoxBool_proj_0", @@ -15977,29 +15650,23 @@ "projection_inverse_FStar.Pointer.Base.LocBuffer_t", "projection_inverse_FStar.Pointer.Base.LocPointer_p", "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.aref_of", + "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.HyperStack.greference_of", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.greference_of", "unit_typing" + "typing_FStar.Pointer.Base.not_an_array_cell" ], 0, - "b524c9164ee3e0cba8710470c70b7fc9" + "fa5503139276ee112be4ad83ec5ac89b" ], [ "FStar.Pointer.Base.reference_live_buffer_unused_in_disjoint", @@ -16007,16 +15674,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "62d5ee678f1bd35a46da84483376c83e" + "ce69c415b9473134ad22b8ca324059e6" ], [ "FStar.Pointer.Base.reference_live_buffer_unused_in_disjoint", @@ -16024,25 +15688,17 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "data_elim_FStar.Pointer.Base.BufferRootArray", "data_elim_FStar.Pointer.Base.BufferRootSingleton", "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.reference", "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.unused_in", "equation_FStar.Pointer.Base.as_addr", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_as_addr", @@ -16050,63 +15706,40 @@ "equation_FStar.Pointer.Base.cls", "equation_FStar.Pointer.Base.frameOf", "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", + "equation_FStar.Pointer.Base.g_is_null", "equation_FStar.Pointer.Base.loc_addresses", "equation_FStar.Pointer.Base.loc_buffer", "equation_FStar.Pointer.Base.loc_disjoint", "equation_FStar.Pointer.Base.loc_includes", "equation_FStar.Pointer.Base.npointer", "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", "equation_FStar.Pointer.Base.unused_in", "equation_FStar.Set.subset", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", + "fuel_guarded_inversion_FStar.Pointer.Base._npointer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Pointer.Base.unused_in_greference_of", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.Pointer.Base.Buffer_broot", "proj_equation_FStar.Pointer.Base.Pointer_contents", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7bb2f9e8cb1d4cc0cae5437e4891fa93", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.unused_in", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.HyperStack.contains", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_as_addr", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" + "typing_FStar.Pointer.Base.buffer_as_addr" ], 0, - "ab82952ac88f603a67a7cea99ea2bb0d" + "84a071f7e953bacb535ea2d099276203" ], [ "FStar.Pointer.Base.buffer_live_reference_unused_in_disjoint", @@ -16114,16 +15747,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "49850ff1d50b981db2b21f222c55d792" + "c0c14a6b1d6fa683ed5a97bc65e6c9f6" ], [ "FStar.Pointer.Base.buffer_live_reference_unused_in_disjoint", @@ -16131,8 +15761,7 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", "disc_equation_FStar.Pointer.Base.BufferRootArray", @@ -16158,9 +15787,8 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -16170,18 +15798,19 @@ "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_as_addr", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton" + "typing_FStar.Pointer.Base.buffer_as_addr", "typing_FStar.Set.mem" ], 0, - "6ab64ef39fbb79d29540b2c5cd429e85" + "aaf1248a4c0c8f7d1597bfc4b414ffaa" ], [ "FStar.Pointer.Base.root_buffer", @@ -16192,8 +15821,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", @@ -16210,7 +15838,6 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -16223,18 +15850,18 @@ "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", + "refinement_interpretation_Tm_refine_4894358aea3b3cdb8f7f0b2830f40d4c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_81b8d2ed194f333f70f5b8fb2da6b18e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", "typing_FStar.Pointer.Base.buffer_root_length", "typing_FStar.Pointer.Base.not_an_array_cell", "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "769bbab47ac5e5c9dd4184ae9e8eadb4" + "c59b4e91294a7b4f8d585563fc133b27" ], [ "FStar.Pointer.Base.buffer_idx", @@ -16242,21 +15869,24 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "constructor_distinct_Tm_unit", "equation_FStar.Pointer.Base.buffer", + "@MaxIFuel_assumption", "@query", "constructor_distinct_Tm_unit", + "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.buffer_root_length", "equation_FStar.Pointer.Base.root_buffer", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", + "lemma_FStar.UInt32.uv_inv", "proj_equation_FStar.Pointer.Base.Buffer_blength", "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.root_buffer" + "typing_FStar.Pointer.Base.buffer_length", + "typing_FStar.Pointer.Base.root_buffer", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "f0c115568d54c060e1324acceb320c4f" + "9adfa52bdeb91321ec837478e68aaa09" ], [ "FStar.Pointer.Base.buffer_eq_gsub_root", @@ -16265,7 +15895,7 @@ 1, [ "@query" ], 0, - "9a9e30360a8f6f141923b31762602343" + "51d99a8df1488e8391093faae4d912a9" ], [ "FStar.Pointer.Base.buffer_eq_gsub_root", @@ -16273,29 +15903,26 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Tm_unit", "equation_FStar.Pointer.Base.buffer", + "@MaxIFuel_assumption", "@query", "constructor_distinct_Tm_unit", + "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_idx", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.gsub_buffer", "equation_FStar.Pointer.Base.root_buffer", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "proj_equation_FStar.Pointer.Base.Buffer_bidx", "proj_equation_FStar.Pointer.Base.Buffer_blength", "proj_equation_FStar.Pointer.Base.Buffer_broot", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pointer.Base.Buffer_bidx", "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" ], 0, - "384f047852ce2e24105b7635061f6a33" + "28328944f5be44dda9a38ac751bcc1a3" ], [ "FStar.Pointer.Base.root_buffer_gsub_buffer", @@ -16315,7 +15942,7 @@ "typing_FStar.Pointer.Base.root_buffer" ], 0, - "1260255e440569dfd742678dbc6c46ad" + "13677193f351b3bf2537b953df211284" ], [ "FStar.Pointer.Base.buffer_idx_gsub_buffer", @@ -16323,22 +15950,20 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" ], 0, - "cc1bc2146c92517d6bd535b97e9e79f9" + "52a593892bf4128fe38b54f46be76174" ], [ "FStar.Pointer.Base.buffer_idx_gsub_buffer", @@ -16352,7 +15977,7 @@ "projection_inverse_FStar.Pointer.Base.Buffer_bidx" ], 0, - "ce23cd45a3473443e35675ea03bf8dd6" + "c4a937350f335caa89e2c7fbd9c65c53" ], [ "FStar.Pointer.Base.buffer_includes_refl", @@ -16367,7 +15992,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "070ebe947f0ba3c70c9c8d6ed2c3e916" + "bd6961177b182d660568ef33653c142c" ], [ "FStar.Pointer.Base.buffer_includes_trans", @@ -16383,7 +16008,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "469a8dff0ee1d1a4915af86902736922" + "e7b50bb1ea0a82e796f17b5c3a37edd7" ], [ "FStar.Pointer.Base.buffer_includes_gsub_r", @@ -16391,37 +16016,36 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "eq2-interp", "equation_FStar.Pointer.Base.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", + "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_idx", "equation_FStar.Pointer.Base.buffer_includes", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", - "lemma_FStar.Pointer.Base.buffer_idx_gsub_buffer", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", + "l_and-interp", "lemma_FStar.Pointer.Base.buffer_idx_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.root_buffer_gsub_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", + "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v" ], 0, - "f59e356bf928329b7bff1172569f21a9" + "c0bbb31b59f5272047c88964e2a33b10" ], [ "FStar.Pointer.Base.buffer_includes_gsub", @@ -16430,7 +16054,7 @@ 1, [ "@query" ], 0, - "66f545ad5482a3c205e44375f5a05393" + "21f2f9bcce3c41a152153f3dbb00f1e9" ], [ "FStar.Pointer.Base.buffer_includes_gsub", @@ -16438,13 +16062,9 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Pointer.Base.Buffer", - "data_elim_FStar.Pointer.Base.BufferRootArray", "eq2-interp", - "equation_FStar.Pointer.Base.array_length_t", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_Tm_unit", + "data_elim_FStar.Pointer.Base.Buffer", "eq2-interp", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_idx", "equation_FStar.Pointer.Base.buffer_includes", @@ -16455,13 +16075,12 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", + "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", + "int_typing", "l_and-interp", "lemma_FStar.Pointer.Base.root_buffer_gsub_buffer", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.Pointer.Base.Buffer_bidx", "proj_equation_FStar.Pointer.Base.Buffer_blength", "proj_equation_FStar.Pointer.Base.Buffer_broot", @@ -16470,25 +16089,25 @@ "projection_inverse_FStar.Pointer.Base.Buffer_bidx", "projection_inverse_FStar.Pointer.Base.Buffer_blength", "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_484a6e6064fc1ae01de63e2e98020bbf", - "refinement_interpretation_Tm_refine_81b8d2ed194f333f70f5b8fb2da6b18e", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba574dd335029e9a2d0f7ce1498f4c17", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_4894358aea3b3cdb8f7f0b2830f40d4c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_idx", + "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v" ], 0, - "eaff8f5477ae2a2193c2ffbbb751a5c3" + "79153a73b87f4027f4232f27864a20a7" ], [ "FStar.Pointer.Base.buffer_includes_elim", @@ -16496,9 +16115,7 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_length", "equation_FStar.Pointer.Base.root_buffer", @@ -16506,23 +16123,24 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8459a542c88d841e94c85d52b796450d", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b665e7956ac7c0f0e7255aaff950c19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" + "typing_FStar.Pointer.Base.root_buffer", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "81ac1f65491aabeb0130b7fb6988537a" + "b7dffbde0689b0feea34c83293c01a35" ], [ "FStar.Pointer.Base.buffer_includes_elim", @@ -16530,10 +16148,8 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Tm_unit", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_Tm_unit", "data_elim_FStar.Pointer.Base.Buffer", "eq2-interp", "equation_FStar.Pointer.Base.buffer", "equation_FStar.Pointer.Base.buffer_idx", @@ -16547,7 +16163,6 @@ "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "l_and-interp", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -16561,22 +16176,20 @@ "projection_inverse_FStar.Pointer.Base.Buffer_bidx", "projection_inverse_FStar.Pointer.Base.Buffer_blength", "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_81b8d2ed194f333f70f5b8fb2da6b18e", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_4894358aea3b3cdb8f7f0b2830f40d4c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "4b892160f4a6237956b7fb74a76a027b" + "23f6ee6c42e68edb1fdcb1c48eb96ae8" ], [ "FStar.Pointer.Base.buffer_includes_loc_includes", @@ -16584,22 +16197,19 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "30e2d775d3ae7c75ee004298cde28df2" + "9092d497cd6141b6473f69155e9c5680" ], [ "FStar.Pointer.Base.loc_of_cloc_of_loc", @@ -16611,7 +16221,7 @@ "equation_FStar.Pointer.Base.loc_of_cloc" ], 0, - "80d3fb3e0e68a9135b384825fc08e87b" + "c2930e108ef8ac56cd77466a8f5b63a6" ], [ "FStar.Pointer.Base.cloc_of_loc_of_cloc", @@ -16623,7 +16233,7 @@ "equation_FStar.Pointer.Base.loc_of_cloc" ], 0, - "262ee07f1de0fe88a41295b1c856fc13" + "0799d068ddc58aef0e757dce903d2add" ], [ "FStar.Pointer.Base.loc_includes_to_cloc", @@ -16641,7 +16251,7 @@ "typing_FStar.Pointer.Base.cloc_cls" ], 0, - "d3816bc78eb59518ea76df82e10c8666" + "6024c3202c9b9889c2a800cc45c56d5d" ], [ "FStar.Pointer.Base.loc_disjoint_to_cloc", @@ -16659,7 +16269,7 @@ "typing_FStar.Pointer.Base.cloc_cls" ], 0, - "0ca537c4e41978640299afcd5ec9857b" + "3c94e5e871fe370885ddb1ae2c14b169" ], [ "FStar.Pointer.Base.modifies_to_cloc", @@ -16677,7 +16287,7 @@ "typing_FStar.Pointer.Base.cloc_cls" ], 0, - "cf4fa0b86cc15dfbe724d01250731d38" + "587b862f42bc6d4f4529a935caa011aa" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Pointer.Base.fsti.hints b/ulib/FStar.Pointer.Base.fsti.hints index 6e97ed4e742..6c175ea70c1 100644 --- a/ulib/FStar.Pointer.Base.fsti.hints +++ b/ulib/FStar.Pointer.Base.fsti.hints @@ -8,22 +8,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "assumption_FStar.Pointer.Base.base_typ__uu___haseq", "assumption_FStar.UInt32.t__uu___haseq", "assumption_Prims.list__uu___haseq", "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.string", - "haseqTm_refine_484a6e6064fc1ae01de63e2e98020bbf", + "equation_Prims.eqtype", "function_token_typing_Prims.string", + "haseqTm_refine_fca6d040de065d36997ff2da36b00bd1", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "04fa9bc7d06095a41ebf3e3e70c09e15" + "66c467a6f78134330c39a7682ae0fbf8" ], [ "FStar.Pointer.Base.__proj__TBase__item__b", @@ -37,7 +35,7 @@ "refinement_interpretation_Tm_refine_ceeec9534506f8e48ea73c2ad07d25c7" ], 0, - "46d170d4b43eeb2c77ef0debe6429f9b" + "c3d2f91d657df435bc6bcd0cdef30df9" ], [ "FStar.Pointer.Base.__proj__TStruct__item__l", @@ -51,7 +49,7 @@ "refinement_interpretation_Tm_refine_8d4b0fe883393e3eac6a07f0ac5a4b2f" ], 0, - "4a9c6f2384c3ff5b49431573ec9673ad" + "8d85e84913e8b842390cc576130406b3" ], [ "FStar.Pointer.Base.__proj__TUnion__item__l", @@ -65,7 +63,7 @@ "refinement_interpretation_Tm_refine_5f786badef06e062d5b9e79ef882a955" ], 0, - "c76fb447c02994886f30cf0ca2e921f1" + "4b93d05c6897247d6804c313cdc11906" ], [ "FStar.Pointer.Base.__proj__TArray__item__length", @@ -79,7 +77,7 @@ "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" ], 0, - "b861f104ae6373db0bcce2c277fa4ba1" + "647d7b64fe9d8729e65413973cf0c28c" ], [ "FStar.Pointer.Base.__proj__TArray__item__t", @@ -93,7 +91,7 @@ "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" ], 0, - "531d621a16857ccfc8c463a2f091dba9" + "39f2f84d19f322a4969dcfe0e17fb352" ], [ "FStar.Pointer.Base.__proj__TPointer__item__t", @@ -107,7 +105,7 @@ "refinement_interpretation_Tm_refine_a6915920d178273a967ebb7c9bb3e606" ], 0, - "76772a6e5ea90073cdab5dcef8631c07" + "a237e1cee7a5c713fd478388c65e704e" ], [ "FStar.Pointer.Base.__proj__TNPointer__item__t", @@ -121,7 +119,7 @@ "refinement_interpretation_Tm_refine_31a28047608506db806a8e40b64a987a" ], 0, - "4be6f03f9752b4b0c006321914116570" + "63383e96b2df3b0a2d3133e99062fef2" ], [ "FStar.Pointer.Base.__proj__TBuffer__item__t", @@ -135,7 +133,7 @@ "refinement_interpretation_Tm_refine_351ed0bf36be35253b8142000c255418" ], 0, - "fa1cff2cb1dde328d8e700739e7ee6e7" + "80552773911cc3388c55c98e959f21c2" ], [ "FStar.Pointer.Base.typ_of_struct_field'", @@ -144,7 +142,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", @@ -154,11 +151,11 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9" + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462" ], 0, - "6f3eb730b3c3ae7733714ff87e61f3b6" + "95b1f646489218faaee7035838360fcc" ], [ "FStar.Pointer.Base.typ_of_struct_field", @@ -174,7 +171,7 @@ "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" ], 0, - "2cdb8937a5909cd54244d3e8f83d74fe" + "cb91560f6fde3896ded8d55e9b82e553" ], [ "FStar.Pointer.Base.typ_of_union_field", @@ -183,7 +180,7 @@ 1, [ "@query", "equation_FStar.Pointer.Base.union_typ" ], 0, - "281891449e58c157d2ab15eb50399000" + "68b4e5c112f0e1a0317b0a16e14fb7e5" ], [ "FStar.Pointer.Base.typ_depth", @@ -193,26 +190,23 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_c187978e0b47d492be4f7ef67953e027_0", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "disc_equation_Prims.Cons", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ", "subterm_ordering_FStar.Pointer.Base.TArray", "subterm_ordering_FStar.Pointer.Base.TStruct", "subterm_ordering_FStar.Pointer.Base.TUnion" ], 0, - "1724af2276389426179d2e98b5fa0301" + "7af5f5331062dd32f27b884d96fb255a" ], [ "FStar.Pointer.Base.typ_depth", @@ -221,7 +215,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_dbfc35e3d4cc015569bedffe7a420b00_0", + "binder_x_9faba42ab88b43fa963967c6d9fe0a56_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "projection_inverse_Prims.Cons_tl", @@ -229,7 +223,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2d8cc413698da512dcb5af566eb88f91" + "1278b0e5784c8c5ea9fa6e8767f18cc0" ], [ "FStar.Pointer.Base.typ_depth_typ_of_struct_field", @@ -251,11 +245,11 @@ "@fuel_irrelevance_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.typ_depth.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_6d99b546cf40633fadbe69513111ccbd_0", - "binder_x_78e0d044b724a76558a77b1dad4d30c8_1", "bool_inversion", + "binder_x_126cca1e1e8f0a1c80ceb096c6921769_1", + "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", @@ -284,9 +278,9 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", @@ -295,7 +289,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "bf1973bc8f38364c8020d9b6d7b70bde" + "df2cf62fc6ef5ac5dcc12f2e684231e9" ], [ "FStar.Pointer.Base.type_of_base_typ", @@ -320,7 +314,7 @@ "fuel_guarded_inversion_FStar.Pointer.Base.base_typ" ], 0, - "6a10dad3dfdc436df5404a3dcf32e3a2" + "25c5dcb7627b645e5f46538cdc723c04" ], [ "FStar.Pointer.Base.array", @@ -329,7 +323,7 @@ 1, [ "@query" ], 0, - "2602ec572366687e847331b9c1a1b9e9" + "27a78a808afd4664ed5c18b8ec22c7c3" ], [ "FStar.Pointer.Base.type_of_struct_field''", @@ -343,10 +337,10 @@ "equation_FStar.Pointer.Base.typ_of_struct_field_", "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9" + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29" ], 0, - "35bd772656d3d61c3f23db4b58e9482a" + "46511302023f2168fdb98d00b09b6490" ], [ "FStar.Pointer.Base.type_of_struct_field'", @@ -361,7 +355,7 @@ "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" ], 0, - "5fa4f7eec95fcecdef697c14fb22cf9e" + "48c65a66caba1d52e23515ff7c366b64" ], [ "FStar.Pointer.Base.type_of_typ", @@ -383,7 +377,7 @@ "subterm_ordering_FStar.Pointer.Base.TArray" ], 0, - "254aeae62f9b6f5dee8aa7903b1c6c00" + "f5e797eaae7098571e72088d7f7e24d4" ], [ "FStar.Pointer.Base.type_of_typ_array", @@ -401,7 +395,7 @@ "projection_inverse_FStar.Pointer.Base.TArray_t" ], 0, - "99bebe33e535511f23a3dca7a055161f" + "abf2ac51a4082a85e3637a498b4b57ea" ], [ "FStar.Pointer.Base.type_of_typ_struct", @@ -410,7 +404,7 @@ 1, [ "@query" ], 0, - "ded3bdd1a807b18dd0fb0df161a7a7cc" + "2de4237f54c564c4703e7601ea8ff27f" ], [ "FStar.Pointer.Base.type_of_typ_type_of_struct_field", @@ -434,7 +428,7 @@ "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" ], 0, - "eed96f3b3377358d780a0670e88e214c" + "46968aa025d66617db7686ea870e6d1a" ], [ "FStar.Pointer.Base.struct_literal_wf", @@ -448,7 +442,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "16ef4c347c83602c178aadbe67a1a0f3" + "4e8e5a248c1143af59b6e9dc6ceceddd" ], [ "FStar.Pointer.Base.fun_of_list", @@ -461,28 +455,31 @@ "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.sortWith.fuel_instrumented", + "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.sortWith.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.Pointer.Base_interpretation_Tm_arrow_25a1c9e0718823e15adf9a8412490f72", - "FStar.Pointer.Base_interpretation_Tm_arrow_94538233ac7d770dcd5647f9257e59c4", + "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", + "FStar.Pointer.Base_interpretation_Tm_arrow_28e00c6cddbebec863cfb4ba46afe386", + "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.String_interpretation_Tm_arrow_77650534d172f9f4bbf4f147268736a3", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", + "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.dfst_struct_field", "equation_FStar.Pointer.Base.struct_field", "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.struct_literal", "equation_FStar.Pointer.Base.struct_typ_", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", @@ -496,30 +493,33 @@ "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", - "primitive_Prims.op_Equality", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b52713f2b4b5a365f2b89ba5a3ee8f0e", - "refinement_interpretation_Tm_refine_ea8002c304a8baffcbed851ab6ac856f", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b0baa351b8dc6384c3594e50be109582", + "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "string_typing", + "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "token_correspondence_FStar.Pointer.Base.dfst_struct_field", "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.sortWith", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base.struct_field", "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_Tm_abs_b1fde6de0f9afd4ee0f1bbba341d8435", "unit_typing" + "typing_Tm_abs_2373aec163852d9339944ec67b8394ad", "unit_typing" ], 0, - "687ff89077177bcb1b448ca00f5491a2" + "d8fc14255674d259f22fec887c25d8be" ], [ "FStar.Pointer.Base.struct_create", @@ -528,7 +528,7 @@ 1, [ "@query" ], 0, - "49d4266424430cf54d958f2e30087c76" + "1103cde5c9f256766dcf0965f206bee5" ], [ "FStar.Pointer.Base.type_of_typ_union", @@ -537,7 +537,7 @@ 1, [ "@query" ], 0, - "ef9dabd58bf3239e0e9f3b102a4dc572" + "ebdc40140679e555cb1e5758f4e0633a" ], [ "FStar.Pointer.Base.equal", @@ -546,7 +546,7 @@ 1, [ "@query" ], 0, - "52b77e619ab2da7b29a598d7ecb219ff" + "5372e62033b0656dee40ef9ea999e751" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_pointer", @@ -555,7 +555,7 @@ 1, [ "@query" ], 0, - "5e90b1b15b9449198c93b79b55414078" + "2215a097161f088f2badf4656460f7a5" ], [ "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_reference", @@ -564,7 +564,7 @@ 1, [ "@query" ], 0, - "28fc0f3a291e2ea390608424a6929840" + "6e30e6a1293e7cc990f354c65a095ba4" ], [ "FStar.Pointer.Base.disjoint_roots_intro_reference_vs_pointer", @@ -573,7 +573,7 @@ 1, [ "@query" ], 0, - "fb82e35beb91a497a495a10e6a00ca42" + "b5a372bccd8f663ceded036ca5c57e43" ], [ "FStar.Pointer.Base.as_addr_gfield", @@ -582,7 +582,7 @@ 1, [ "@query" ], 0, - "34409243bfd4b9c49767202a807afd6d" + "90e7cf8ff174fc29dfe602b350c62acf" ], [ "FStar.Pointer.Base.gread_gfield", @@ -597,7 +597,7 @@ "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" ], 0, - "98bdcbba69d23024f0ed13d20c3af1b7" + "531c78a5b39e7e5ab9ee5fb64680399b" ], [ "FStar.Pointer.Base.as_addr_gufield", @@ -606,7 +606,7 @@ 1, [ "@query" ], 0, - "4e019a6697b1914395dbe8b664c2fb18" + "676154ed769554aab858e4638a578441" ], [ "FStar.Pointer.Base.gread_gufield", @@ -622,7 +622,7 @@ "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" ], 0, - "aaa9efe3b54e8dea234bc37455d31f0d" + "2f38df95d63d61526bcf60f8cb3b70b9" ], [ "FStar.Pointer.Base.as_addr_gcell", @@ -631,7 +631,7 @@ 1, [ "@query" ], 0, - "c7068db9ab9e2ffc5065b0bea714a081" + "3509a33092df7bd671c02c7d835dc89f" ], [ "FStar.Pointer.Base.gread_gcell", @@ -654,7 +654,7 @@ "typing_FStar.Pointer.Base.gread" ], 0, - "e8b2f8c0068675a286fbdabea09c3553" + "8bdfb2790fe3fe38dbf1bc301c004fd6" ], [ "FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", @@ -663,7 +663,7 @@ 1, [ "@query" ], 0, - "fe69a660b58fea735324f9235a63c7c0" + "569375ee0c8cf9cc91f0cb7a9e6e26c2" ], [ "FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", @@ -672,7 +672,7 @@ 1, [ "@query" ], 0, - "9b642b926c8083c8baa36385b3a81472" + "e7e225ba765d326b57e3e5d710a979d6" ], [ "FStar.Pointer.Base.buffer_as_addr_gsub_buffer", @@ -681,7 +681,7 @@ 1, [ "@query" ], 0, - "dcfeaa5102cbbee1f7741829ff5db5b7" + "5ee1667783907cc5e08ae80eccfc3a50" ], [ "FStar.Pointer.Base.sub_buffer", @@ -690,7 +690,7 @@ 1, [ "@query" ], 0, - "d912614d383bce9d132f9beb1d068bf1" + "048d9cf9e0f6aef3f6de5796e8adbf0f" ], [ "FStar.Pointer.Base.offset_buffer", @@ -698,22 +698,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "8f1ae0e24ef54d48a7b337f0f1f76294" + "ca36e58f47ecd46b9644e7db0f30df26" ], [ "FStar.Pointer.Base.gsub_buffer_gsub_buffer", @@ -721,23 +719,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "d9146e2507c489f797ca3a4b3909d702" + "0674078dbbacd7ca8da6378c3d0022ed" ], [ "FStar.Pointer.Base.gsub_buffer_zero_buffer_length", @@ -749,7 +744,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8e3d295eb841b394ead49dc2b7e0478d" + "7792949d50b2c5aa7788e4b801a840ff" ], [ "FStar.Pointer.Base.buffer_length_buffer_as_seq", @@ -758,7 +753,7 @@ 1, [ "@query" ], 0, - "d42c984582df0828e473cee777aa2a7b" + "5953c4d75d71460f5e187834c0543141" ], [ "FStar.Pointer.Base.buffer_as_seq_gsub_buffer", @@ -769,21 +764,19 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "91d490b661b610b1c96215122c06dbd1" + "f664d9017b66313c2e5d561ea0c46b07" ], [ "FStar.Pointer.Base.pointer_of_buffer_cell", @@ -792,7 +785,7 @@ 1, [ "@query" ], 0, - "51f8b2c6204b647ba4a5f48897674b2a" + "6e4f9a93788277bf0b9a7ec9e79af13b" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer", @@ -800,23 +793,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "4fcafe05fd5e21185547d6e565873412" + "f13f7ca14d3eaeae77e326487a072363" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer'", @@ -824,23 +814,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "e77a2d64c724a4be6491289ea1aebc02" + "9c5185cf2db81f3cd6a0360dc75fe99c" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", @@ -849,31 +836,29 @@ 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_Prims.nat", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "lemma_FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.UInt32.v" ], 0, - "0f63575336518591a4c162e74fd63f9b" + "968903c8a7c2973fb98514021510fc02" ], [ "FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", @@ -885,7 +870,7 @@ "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer" ], 0, - "5dadbfdb99b9eeb0d9ec5d7caf2aeb10" + "a8c3b40578a10dfe60203e67a2b35178" ], [ "FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", @@ -894,7 +879,7 @@ 1, [ "@query" ], 0, - "3b883a12b6f89d1494a08275914393ab" + "ce722742792241206424afed7b529c4a" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell", @@ -912,7 +897,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "df22ddaf8123f03450267c5043fb7054" + "de2d32241d6c3f7ed8dec940c2f60c45" ], [ "FStar.Pointer.Base.gread_gpointer_of_buffer_cell'", @@ -930,7 +915,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9f0f5e4ecabb334e3bc70a651fbe974f" + "8f8755bd7d64b503371764ee02888431" ], [ "FStar.Pointer.Base.index_buffer_as_seq", @@ -941,22 +926,19 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "e6a6918111fe8e969c4d4d3d605c4610" + "a3c7d5524bb562f76958f3b0b2c35af5" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", @@ -969,7 +951,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "05278aa66090dee18afdf4aa0d4db996" + "78538f7fe0f30fcdbca128a8892282b5" ], [ "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gpointer_of_buffer_cell", @@ -981,7 +963,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d753f24e6ab61208f999de9837a6eeca" + "0e67427a940d54a4c6dba2f66daddba6" ], [ "FStar.Pointer.Base.loc_addresses", @@ -991,11 +973,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4823bc6d0dadb616998d828dc4c250cf" + "693c7efe1dd378c6f146604d72aeaa7c" ], [ "FStar.Pointer.Base.loc_includes_gsub_buffer_l", @@ -1004,7 +986,7 @@ 1, [ "@query" ], 0, - "b5abe9e5d2c05e3d31ce225b3dce2005" + "ca8cf784dfd88c57de5c43fadd5b6ec8" ], [ "FStar.Pointer.Base.loc_includes_addresses_pointer", @@ -1012,16 +994,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bc7f5d87376d38790006a75ecb24e8e4" + "0100a335851057a2b32017c0c27fc6e3" ], [ "FStar.Pointer.Base.loc_includes_addresses_buffer", @@ -1029,16 +1008,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "29b992dd95a8d5f0bba5aeb3f8e7f969" + "9453954b621c543c7856378e2e82da85" ], [ "FStar.Pointer.Base.loc_includes_region_addresses", @@ -1048,11 +1024,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "12e32056c9aa03d7f37fe1f04fc63ddb" + "4cf87f44e7369031737afbdddbaa9ea6" ], [ "FStar.Pointer.Base.loc_disjoint_root", @@ -1060,16 +1036,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9c4c6059b15849ff33c282ecd88f7654" + "dcdf54a2c649e86b50248ddbb7d3d369" ], [ "FStar.Pointer.Base.loc_disjoint_gcell", @@ -1077,16 +1050,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a7543640b28368a45f23c11b4c5222ce" + "c8d355b881f3b7e7b7da6cdd7e74e1ce" ], [ "FStar.Pointer.Base.live_unused_in_disjoint_strong", @@ -1096,11 +1066,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "44512a81ca21e49ca17d93c67ee25541" + "14d0475361dcbd369657d0ad9239b598" ], [ "FStar.Pointer.Base.pointer_live_reference_unused_in_disjoint", @@ -1108,16 +1078,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c05122dff1090f20c55e65244cab36fb" + "8f68866db5cd6168cd74af47427e59a1" ], [ "FStar.Pointer.Base.reference_live_pointer_unused_in_disjoint", @@ -1125,16 +1092,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "14c4d15194672b8d1a6600afc274632c" + "b2ea3f5f51ad0406fa98e6e1da1d0fe6" ], [ "FStar.Pointer.Base.loc_disjoint_gsub_buffer", @@ -1143,7 +1107,7 @@ 1, [ "@query" ], 0, - "222ce59b9cd8289ef5623a9d09536974" + "6a11694203e806ace5c4047b05ee5b31" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", @@ -1151,16 +1115,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bc4d05d78c43aa270e47d2c756afbdab" + "a5ee40d29d65b48a32124a990275da2f" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_r", @@ -1173,7 +1134,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "e0ba246ac1465cd273c7cfb06503fb7a" + "bba6bf2c789a2059c456363cdb969cb0" ], [ "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_l", @@ -1186,7 +1147,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "fbd81254846f882635d859534a676e7e" + "ef48e97d90c7f2fe77e8a168ccb88b89" ], [ "FStar.Pointer.Base.loc_disjoint_addresses", @@ -1194,16 +1155,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8cea45ea4c500582e5b5e577fe675727" + "ae0ea071ed352abd481955f403a8e9c8" ], [ "FStar.Pointer.Base.loc_disjoint_pointer_addresses", @@ -1211,16 +1169,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "48ec408c0c2e74d57f8f6806563f658c" + "299eed6239cf6400e8bdcc05df31d9d4" ], [ "FStar.Pointer.Base.loc_disjoint_buffer_addresses", @@ -1228,16 +1183,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1c018ee87b92ac64d48ce9af77ded73e" + "278a9b76d1216efa240e531e5389a5da" ], [ "FStar.Pointer.Base.modifies_reference_elim", @@ -1245,16 +1197,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9ed961955f0ac2322cc2fab63a3b76d0" + "9c6ea9742ecff68ccbd3ed516d96ff63" ], [ "FStar.Pointer.Base.cell", @@ -1263,7 +1212,7 @@ 1, [ "@query" ], 0, - "c7b366f4138e8179922e97e437fa8cdd" + "bdd5431c1e722fa6dfd45d5250414d7e" ], [ "FStar.Pointer.Base.modifies_loc_addresses_intro", @@ -1273,11 +1222,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4db64642768711491b3ef7734ea7f684" + "7c0428fd933355fb4761ea0bf4a78a0d" ], [ "FStar.Pointer.Base.modifies_1_readable_array", @@ -1286,7 +1235,7 @@ 1, [ "@query" ], 0, - "3530cf5123b241f16a676a90fcb9fa9e" + "65edadf937b9fa63fe9458c7014afd46" ], [ "FStar.Pointer.Base.read_buffer", @@ -1304,7 +1253,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "68364815361d531127a82cbf0fa8c771" + "cfe4834086fb8914695f3e1b7d02c421" ], [ "FStar.Pointer.Base.write_buffer", @@ -1315,16 +1264,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d27d1b3d72a0aab13bf8b34cd27c3cf1" + "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739" ], 0, - "bb1db4acb8cb475b84a1471863fbaa6e" + "e997517e0879317bcbecff6db68eedd4" ], [ "FStar.Pointer.Base.reference_live_buffer_unused_in_disjoint", @@ -1332,16 +1280,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "631b1b72290e5fb64d86ecb6addf7af6" + "9c1add57e321687d3817ac21bef5372d" ], [ "FStar.Pointer.Base.buffer_live_reference_unused_in_disjoint", @@ -1349,16 +1294,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "657fcda3195b70b80795b05e3d1d5041" + "2aaf8eeb473da7ca48a5fe9b829f25d8" ], [ "FStar.Pointer.Base.buffer_eq_gsub_root", @@ -1367,7 +1309,7 @@ 1, [ "@query" ], 0, - "10b432087a0a9ba733ac5a04535490ba" + "d0706fdbefc0b1ba97e28c5bbd054a81" ], [ "FStar.Pointer.Base.buffer_idx_gsub_buffer", @@ -1375,22 +1317,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" ], 0, - "c89dac58287b464b77691a4449f50ef5" + "f98721a6f01772f30e3b9a7b9b4ae31e" ], [ "FStar.Pointer.Base.buffer_includes_gsub", @@ -1399,7 +1339,7 @@ 1, [ "@query" ], 0, - "4fe347f215cce827d8a45d778c2195bd" + "4f2e69028db9ae572500faa7f9e543f7" ], [ "FStar.Pointer.Base.buffer_includes_elim", @@ -1407,22 +1347,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "434a7ab87b1af108a1fb53899f6ee111" + "b27e0a96c4a2a7f3d9915e9d30c5f48c" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Pointer.Derived1.fst.hints b/ulib/FStar.Pointer.Derived1.fst.hints index 3e1fe5678c4..58c16d331a5 100644 --- a/ulib/FStar.Pointer.Derived1.fst.hints +++ b/ulib/FStar.Pointer.Derived1.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "fe926790919503d4cb26e2906ebb520d" + "359d051ee90f356041d9de76c609fa13" ], [ "FStar.Pointer.Derived1.includes_gufield_gen", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "f1abc29000ea4cc9abd67118b35709fa" + "d88498ef14bcb2a7b2372dddccca8850" ], [ "FStar.Pointer.Derived1.includes_gcell_gen", @@ -26,7 +26,7 @@ 1, [ "@query" ], 0, - "181927aa83d555c7e3e10cb2b90eb18c" + "457b1da771782a029c43f5a067a6afaa" ], [ "FStar.Pointer.Derived1.loc_includes_union_assoc_r2l", @@ -40,7 +40,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "a69ce6f58352ec9b2d5f35b6a83b94b8" + "0fe63256f1b0504db35be1f820fb0c3f" ], [ "FStar.Pointer.Derived1.loc_includes_union_assoc_l2r", @@ -54,7 +54,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "3da30ec8577e5248913f185a54aafd7c" + "4fe02195da1c4bbf55a612d9c9e53216" ], [ "FStar.Pointer.Derived1.loc_includes_union_assoc_focalize_1", @@ -70,7 +70,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "892fec5c339385546b11094193a9e2c9" + "6cf181971141e252fdd2acee2ee6656c" ], [ "FStar.Pointer.Derived1.loc_includes_union_assoc_focalize_2", @@ -84,7 +84,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "cbd40b4c7c9c70eef6774622e37ce38e" + "c6d6ed52c1b49620b98f69fdd5782c4f" ], [ "FStar.Pointer.Derived1.loc_includes_region_union_r", @@ -99,7 +99,7 @@ "typing_FStar.Pointer.Base.loc_regions" ], 0, - "9db6f72801d09ac2aae6abf027c83e40" + "cc960b4eda242ad41a8b8f009b74da64" ], [ "FStar.Pointer.Derived1.loc_includes_region_union_assoc", @@ -116,7 +116,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "ada4198d28ea402f96acf43eb7cdcbb1" + "160f675f6fa1e56e996fb5ec6830b4f1" ], [ "FStar.Pointer.Derived1.loc_disjoint_none_l", @@ -125,7 +125,7 @@ 1, [ "@query" ], 0, - "70ca95ce6a010318e20c8aeaf8ce54dc" + "b6057527f2c7d644c80cacd6ed42eed8" ], [ "FStar.Pointer.Derived1.loc_disjoint_union_l", @@ -134,7 +134,7 @@ 1, [ "@query" ], 0, - "c33900e999601c3a2c1af9946d2a0d9a" + "857caecfdd95ca9e674932e54341308e" ], [ "FStar.Pointer.Derived1.loc_disjoint_gfield_r", @@ -158,7 +158,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "4dba7bcde71b89fe5b6b3a2c5725eb9d" + "0d6ffa3fc2e33a81b4f3f73e3fdcafea" ], [ "FStar.Pointer.Derived1.loc_disjoint_gfield_l", @@ -167,7 +167,7 @@ 1, [ "@query" ], 0, - "f52c6c5e2fb0ab48c0f48972b65bdecf" + "3e895582ec1edf9b9d582403972f052a" ], [ "FStar.Pointer.Derived1.loc_disjoint_gufield_r", @@ -192,7 +192,7 @@ "typing_FStar.Pointer.Base.typ_of_struct_field" ], 0, - "533090fb4bd13c90a69ae240df3e2e44" + "fb1218ba76efe7d09080dff4864ca9de" ], [ "FStar.Pointer.Derived1.loc_disjoint_gufield_l", @@ -201,7 +201,7 @@ 1, [ "@query" ], 0, - "302b2df91e925a4e15624c4f7177e6c6" + "d9bf08bf6394e57625a46f5834bf52ac" ], [ "FStar.Pointer.Derived1.loc_disjoint_gcell_r", @@ -217,7 +217,7 @@ "lemma_FStar.Pointer.Derived1.includes_gcell_gen" ], 0, - "441f5ca737e69641833d2356fd837abc" + "36dcdbe0a13083cecb973e0dc5813208" ], [ "FStar.Pointer.Derived1.loc_disjoint_gcell_l", @@ -226,7 +226,7 @@ 1, [ "@query" ], 0, - "4fe00cca129e1c11ac01950cc52ce790" + "fd6fb1c2a8acceeb8b474d8ff61c7f7e" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsingleton_buffer_of_pointer_r", @@ -239,7 +239,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "f8fffbdbed85b9705564e7a88ad44b00" + "1c3e75e93969fb4c375350316053a26c" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsingleton_buffer_of_pointer_l", @@ -248,7 +248,7 @@ 1, [ "@query" ], 0, - "53a5598b433fda79aa64d55903434fb4" + "ea98037bb93607af7ac8b4bedef8efba" ], [ "FStar.Pointer.Derived1.loc_disjoint_gbuffer_of_array_pointer_r", @@ -261,7 +261,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "947f5f782b14346c629cf5375d218e57" + "750bd5fd1571f717d07e9c04514dc4a8" ], [ "FStar.Pointer.Derived1.loc_disjoint_gbuffer_of_array_pointer_l", @@ -274,7 +274,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "dd2ce5ee0047a15838f3804c1b95944c" + "c4d6749e20baa9fdb663b22c11cc1d6f" ], [ "FStar.Pointer.Derived1.loc_disjoint_gpointer_of_buffer_cell_r", @@ -287,7 +287,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "2321bdb5780f3df8370d03639fed0008" + "7443e2c5206b90f50d49e055d6de87d6" ], [ "FStar.Pointer.Derived1.loc_disjoint_gpointer_of_buffer_cell_l", @@ -300,7 +300,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "9b5bd2c9f754df9f216555e1ceb56c6e" + "39d460d364434715a5ac482c5715300d" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_r", @@ -312,7 +312,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "8eb5d1395ba1694c5c940181669418fa" + "942a0c0cd20287343f6874311eee80c3" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_l", @@ -324,7 +324,7 @@ "lemma_FStar.Pointer.Base.loc_includes_refl" ], 0, - "b6e2714760efe5acd1d3786c49473346" + "d9079bb33b194bf3c01947050a7a906b" ], [ "FStar.Pointer.Derived1.loc_disjoint_addresses_pointer", @@ -332,16 +332,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1fc97c9f69a076f571f3d01a43ccff5c" + "394fc7e7ed5554eca35b88ca0c601d79" ], [ "FStar.Pointer.Derived1.loc_disjoint_addresses_pointer", @@ -351,11 +348,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4e11225a100075bcc43ded42fe6f9a7e" + "da9fe4a161291fdc265a9c7e4f2bd912" ], [ "FStar.Pointer.Derived1.loc_disjoint_addresses_pointer", @@ -364,7 +361,7 @@ 1, [ "@query", "lemma_FStar.Pointer.Base.loc_disjoint_pointer_addresses" ], 0, - "5f066aa937c6e0f478a6c1c7fc3c063b" + "61645568fcd42ecdc9b07ee5be561860" ], [ "FStar.Pointer.Derived1.loc_disjoint_union_r_elim", @@ -376,7 +373,7 @@ "lemma_FStar.Pointer.Base.loc_includes_union_l" ], 0, - "f4d591d2eb3252147202051f01039865" + "09acc8b3e07df0123b115de530d0c47e" ], [ "FStar.Pointer.Derived1.loc_disjoint_union_l_elim", @@ -389,7 +386,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "2219bd721cf26d15da6f1f152230514f" + "f61980b58ebf74d682ba45b778c65dbc" ], [ "FStar.Pointer.Derived1.modifies_trans_incl_l", @@ -404,7 +401,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "54f81cc3e302d50feaabde9fa728aa52" + "057ec5e2dfd7a3c764c1563fc6909893" ], [ "FStar.Pointer.Derived1.modifies_trans_incl_r", @@ -419,7 +416,7 @@ "typing_FStar.Pointer.Base.loc_union" ], 0, - "d99d7c22e06a1b2f5b52a12264898d29" + "0573115448d87d097e36727a8cf6a4fa" ], [ "FStar.Pointer.Derived1.modifies_fresh_frame_popped'", @@ -439,9 +436,7 @@ "lemma_FStar.Pointer.Base.loc_includes_union_r", "lemma_FStar.Pointer.Base.modifies_loc_includes", "lemma_FStar.Set.mem_subset", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -449,7 +444,7 @@ "typing_FStar.Pointer.Base.loc_union", "typing_FStar.Set.singleton" ], 0, - "38c21addf9174dcf38f76bc533d48a77" + "58c777796d72eec6498de83c8fc030f1" ], [ "FStar.Pointer.Derived1.buffer_includes_gsub_r_gen", @@ -458,7 +453,7 @@ 1, [ "@query" ], 0, - "33b0a5f8804cb73d6091feeb86024d04" + "41f5e885daceab6bdfb4165ac07621e5" ], [ "FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", @@ -467,7 +462,7 @@ 1, [ "@query" ], 0, - "47b01482810261797002442f4faecc5a" + "a415b46725f3ece163785a9330b6515f" ], [ "FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", @@ -475,15 +470,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell", @@ -492,12 +482,12 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "f2f5c6cfa5dad4463728066c81fa6453" + "da19cae8e6028cd33e9240840962067e" ], [ "FStar.Pointer.Derived1.buffer_contents_equal_aux", @@ -508,9 +498,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.HyperStack.ST.equal_domains", + "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", + "bool_inversion", "bool_typing", + "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.live_region", @@ -521,9 +511,8 @@ "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", @@ -546,13 +535,13 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_88f7644c6c596c93f0deada9713c0e8e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_826387aef7558dd638519e7853e60787", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.live_region", @@ -564,7 +553,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "66707062b9dc7e0a97177e3c9b59c94e" + "c8e65266fa7957da2aeb176fb6f990b1" ], [ "FStar.Pointer.Derived1.buffer_contents_equal", @@ -576,7 +565,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4289134587b02084048858968439b095" + "52578e4aa6bb67bc8c999bead54545ad" ], [ "FStar.Pointer.Derived1.buffer_contents_equal", @@ -584,22 +573,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "equation_FStar.UInt.uint_t", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", @@ -607,19 +590,19 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_91f650d82b1ff42281932db3418a0295", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_c96e8a0ccfb549557826bafd1f04a0b7", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "16a57cd682cc9cd04c677cfec1d2c022" + "7b61dc48afae32b28ccea1c7c4636ce8" ], [ "FStar.Pointer.Derived1.buffer_readable_intro_empty", @@ -627,20 +610,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "49117b9232ac43826824ecbdd858f4d0" + "23761a9e674991fa8d85dff302edabf5" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", @@ -649,7 +630,7 @@ 1, [ "@query" ], 0, - "0f903dc44fc15dee4b1d37a50599bc8f" + "8592be108f7c032a15ef2fec81644bc6" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", @@ -657,15 +638,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", @@ -676,17 +652,17 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.Pointer.Base.loc_buffer", "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "afc83c80fbaef7ddef4f146f6a9dcd7b" + "471bb5f89263b87fcb126d8260f245f1" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_intro", @@ -695,7 +671,7 @@ 1, [ "@query" ], 0, - "f57678e393e8b38e87b1cde9b7cdf6cd" + "285e208a8f88aa12b46231b27861e321" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_intro", @@ -703,16 +679,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperStack.live_region", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", @@ -721,15 +692,15 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "98e056e36a39cf3be8aa266fb09d34e7" + "f4d6978c7a4e9cc4941026f8f7316cf0" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_elim", @@ -738,7 +709,7 @@ 1, [ "@query" ], 0, - "dafa26285c166d9884a39c9077c1986f" + "6a8ebeb9418a664637027e14e143084d" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_elim", @@ -750,7 +721,7 @@ "lemma_FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub" ], 0, - "d5a0f75fb4d3c756bfd86c045c679cb8" + "729564e821dd1ed6dd3f513f36cc23dc" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_append", @@ -758,21 +729,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "5b4a998d0c214117ba96b7f033a2e16c" + "aede7f30682d57714eaad7b07db151eb" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_append", @@ -783,8 +752,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -793,13 +761,14 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "fuel_guarded_inversion_FStar.Pointer.Base.typ", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", + "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", + "lemma_FStar.Pointer.Base.index_buffer_as_seq", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -811,24 +780,27 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c7cea67437cfa0f3bf5d3bfff8f45928", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_aa8fb5a58e292847e62ffbe26ba00efd", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_as_seq", "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.v" + "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "a2240621f07514896934164bdcf33154" + "37fb48a9742da2db000b6e96f2b542ce" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_snoc", @@ -839,22 +811,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "40d1bfb3d94515628346d69e2b2f6d08" + "dbb776ebb28a502baaab9ade0a851e7c" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_snoc", @@ -865,13 +835,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.Seq.Properties.snoc", + "@query", "b2t_def", "equation_FStar.Seq.Properties.snoc", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", @@ -886,19 +854,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_805aea79473107e304179086b2837598", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e238b3b3cd918f1e4055a8daaf38a8f0", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6b7ac8c18caf712152f666d2921f6533", + "refinement_interpretation_Tm_refine_d1e76d56e2ec7389d639ef3df0bd6a06", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Seq.Base.create", "typing_FStar.UInt32.v" ], 0, - "debc3df4f1bc232401b57f0767cb73f4" + "fb2d297846857a75b655ac31599c9a7c" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_cons", @@ -909,22 +877,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "4ea1ddc6039d5cab30a995ffa9da0a48" + "cf6c01ddf44d8dce2167cee51dbd5d85" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_cons", @@ -935,8 +901,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", + "@query", "b2t_def", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -946,10 +911,8 @@ "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", @@ -964,16 +927,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_805aea79473107e304179086b2837598", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c0cfbe9eeebfb6939e2f5016a358bdf1", - "refinement_interpretation_Tm_refine_e238b3b3cd918f1e4055a8daaf38a8f0", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6b7ac8c18caf712152f666d2921f6533", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d1e76d56e2ec7389d639ef3df0bd6a06", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", @@ -981,7 +944,7 @@ "typing_FStar.Seq.Base.create", "typing_FStar.UInt32.v" ], 0, - "bfd9dbe86e22a0514e04bb3f855a3dda" + "a8b3077e0cd8386b9cfd1eecfbb7beef" ], [ "FStar.Pointer.Derived1.buffer_snoc", @@ -989,34 +952,29 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0995b98426f071aaa3fa041f35e29de9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_d0847092ae5c4f6f0e695e7bc363fdda", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "2a74cfac73146a2193c6e486a41ccae5" + "d4b4c555ce9dab50ec32159408239da9" ], [ "FStar.Pointer.Derived1.buffer_snoc", @@ -1027,18 +985,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.modifies_1", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", + "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", + "int_typing", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", @@ -1052,10 +1006,10 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0995b98426f071aaa3fa041f35e29de9", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", + "refinement_interpretation_Tm_refine_d0847092ae5c4f6f0e695e7bc363fdda", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.frameOf_buffer", @@ -1064,7 +1018,7 @@ "typing_FStar.Pointer.Base.loc_pointer", "typing_FStar.UInt32.v" ], 0, - "ae870d5c28106e230ba34069b4826b91" + "a903f3e8ea6c9d570b8a3065b022d9ef" ], [ "FStar.Pointer.Derived1.buffer_cons", @@ -1072,34 +1026,29 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_d71f9c788609e985b774a2f4143fcfb7", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_53c13388b1b1ed30ed5e069f54b28bf3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "2847e3d40580f8bd3f408bc7c9118f70" + "3b2da09dd8317b71b2cd71ccc7945a18" ], [ "FStar.Pointer.Derived1.buffer_cons", @@ -1107,10 +1056,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", @@ -1119,10 +1066,8 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", "lemma_FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", @@ -1130,17 +1075,16 @@ "lemma_FStar.Pointer.Base.modifies_pointer_elim", "lemma_FStar.Pointer.Base.readable_live", "lemma_FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_53c13388b1b1ed30ed5e069f54b28bf3", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_d71f9c788609e985b774a2f4143fcfb7", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", @@ -1149,7 +1093,7 @@ "typing_FStar.Pointer.Base.loc_pointer", "typing_FStar.UInt32.v" ], 0, - "fbd36f1e338cea5b3706d63c45002d94" + "184364b8575e7a3b275454bfb2f1d443" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_merge", @@ -1157,34 +1101,30 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "693c4398e96928d11759fb7db896c2db" + "3e1d05d17d21c40ba340982a4d2d4c2c" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_merge", @@ -1192,22 +1132,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "equation_FStar.UInt.uint_t", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", "lemma_FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", @@ -1216,13 +1150,13 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", @@ -1231,7 +1165,7 @@ "typing_FStar.UInt32.v" ], 0, - "9b9f1e4820c3326599b9c3102136b434" + "4abe8bc6094f9c09424d8e6de89fd2bf" ], [ "FStar.Pointer.Derived1.buffer_readable_modifies_gsub", @@ -1239,34 +1173,30 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "92f1fb232c6218b38d5a76af5357b38f" + "5503ab602921363a12007c94c25c5497" ], [ "FStar.Pointer.Derived1.buffer_readable_modifies_gsub", @@ -1274,23 +1204,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperStack.live_region", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", + "int_typing", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", "lemma_FStar.Pointer.Base.buffer_readable_gsub_buffer", "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", @@ -1299,18 +1220,19 @@ "lemma_FStar.Pointer.Base.loc_disjoint_sym", "lemma_FStar.Pointer.Base.modifies_buffer_elim", "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell", + "lemma_FStar.Pointer.Derived1.buffer_readable_intro_empty", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.frameOf_buffer", @@ -1320,7 +1242,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "91647dedf3c807a6a5cd959fa09412de" + "bfdb9e37d960c4b27d9967ece03197ea" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Pointer.Derived1.fsti.hints b/ulib/FStar.Pointer.Derived1.fsti.hints index fb56c27783d..32b4c99a7ce 100644 --- a/ulib/FStar.Pointer.Derived1.fsti.hints +++ b/ulib/FStar.Pointer.Derived1.fsti.hints @@ -7,16 +7,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d8f67c3dee6e8726926a767dcb9b5386" + "60d220d957b4bd86185b8c6330b91275" ], [ "FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", @@ -25,7 +22,7 @@ 1, [ "@query" ], 0, - "a44177b6c4c63c4d74b260dc4f698833" + "e4ae1791c7a1ac274bc84e3c67ae5a55" ], [ "FStar.Pointer.Derived1.buffer_contents_equal", @@ -37,7 +34,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "ceff9cf84cd1a286946bef07322bb423" + "a9287cf61885c6f21ceb71ad28c202c9" ], [ "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", @@ -46,7 +43,7 @@ 1, [ "@query" ], 0, - "761cc969f5bbcdbca8f35719f62b7767" + "bee8c66fc5a27cccaaacdcf749d8b1fc" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_intro", @@ -55,7 +52,7 @@ 1, [ "@query" ], 0, - "7a99d55bb334f8d663c7241d38d7e79a" + "08bfe270f2cdd689a9e8a1acaf2b1c92" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_elim", @@ -64,7 +61,7 @@ 1, [ "@query" ], 0, - "dd1d792efcb74d8edf06db0619865c03" + "1f38d289f3ca012bd9486a5774a7131a" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_append", @@ -72,21 +69,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "60eb175c9e8c142cf38c1103d2812555" + "8c8c0be1b0147f0b0e2de3384ed18c67" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_snoc", @@ -97,22 +92,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "0527af116c3814e333c4a717493c63f8" + "523a9031cca5f0639d9b452a5c7e37e9" ], [ "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_cons", @@ -123,22 +116,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "34da320ab14c87778d09bb506b2b78be" + "494dc48896f32b625a8147ca263e6223" ], [ "FStar.Pointer.Derived1.buffer_snoc", @@ -146,34 +137,29 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0995b98426f071aaa3fa041f35e29de9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_d0847092ae5c4f6f0e695e7bc363fdda", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "ea67568809f4e476d628b4d9f1eafafe" + "612690edb4de49e43861de349e7b2eb2" ], [ "FStar.Pointer.Derived1.buffer_cons", @@ -181,34 +167,29 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_d71f9c788609e985b774a2f4143fcfb7", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_53c13388b1b1ed30ed5e069f54b28bf3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "d6c226321fd1ca972e37198321cbf5eb" + "772dbcb5d126d24b3308a0e07176d6cf" ], [ "FStar.Pointer.Derived1.buffer_readable_gsub_merge", @@ -216,34 +197,30 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "0e2aa0e080c197158092697c3e9810d4" + "46459beab3cba4184d761c97c03998cd" ], [ "FStar.Pointer.Derived1.buffer_readable_modifies_gsub", @@ -251,34 +228,30 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "d67cf33ac6d3ca35549b0da454334204" + "65d528e27eab552dfc891e9150069781" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Pointer.Derived2.fst.hints b/ulib/FStar.Pointer.Derived2.fst.hints index c60b997cc23..2e84f87be14 100644 --- a/ulib/FStar.Pointer.Derived2.fst.hints +++ b/ulib/FStar.Pointer.Derived2.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "0804eb9afa719ef5862c2b3949e91793" + "e6c1cfaf558d66c105bf96a556973534" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_postcond", @@ -20,7 +20,7 @@ "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond" ], 0, - "ec941e2382aafd694c68574180ffa1bb" + "cb0d77699218773c98f53b8da155ce59" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_inv", @@ -39,7 +39,7 @@ "typing_FStar.UInt32.v" ], 0, - "14db56307f0c893711174cb00de792c2" + "b1430cc24ea14108292e161f8cfb4c0a" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_init", @@ -50,20 +50,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Pointer.Derived2.copy_buffer_contents_inv", "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond_", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", + "int_typing", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", @@ -73,10 +68,10 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9e7a77280b86865da798c47936401b1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5bd0a7d01180aeb3ce1967bce3c7eea5", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.buffer_length", @@ -85,7 +80,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "ec033e99b809a63b176a69bcb65b2576" + "10336b0e6c308fab905af88cea622b4c" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_advance", @@ -93,32 +88,28 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperStack.live_region", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pointer.Derived2.copy_buffer_contents_inv", "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond_", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.HyperStack.mem", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "equation_FStar.UInt.uint_t", "int_inversion", "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.UInt32.v" ], 0, - "b6596b497e66c21374afe0ffe6e9c0ba" + "b11cd5b2ff60de8278859fa990fc8b3e" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_advance", @@ -126,25 +117,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperStack.live_region", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pointer.Derived2.copy_buffer_contents_inv", "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond_", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Monotonic.HyperStack.mem", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", + "int_typing", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", "lemma_FStar.Pointer.Base.loc_includes_refl", @@ -156,13 +138,14 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cdc9272fd5018ccbf201e19366fc05b", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_43fee4410e2eebc2b193cefe9b781263", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b8395f22cda9ae92652cfe61d30521e5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_dac442162a91d9cdcde2462df5f9915e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.buffer_length", @@ -174,7 +157,7 @@ "typing_FStar.UInt32.v" ], 0, - "624ea3e2d1fdb8f0a4904c6d5a93e5a2" + "3cde57e48eddc5ef5a04c0d33e54fe3f" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_aux", @@ -183,7 +166,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", @@ -197,10 +179,7 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperStack.mem", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Pointer.Base.gsub_buffer_zero_buffer_length", @@ -210,11 +189,12 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cdc9272fd5018ccbf201e19366fc05b", - "refinement_interpretation_Tm_refine_42d34fb99075083544ebab90d6ddef6c", - "refinement_interpretation_Tm_refine_486ab6206a5e14388d315125a5c591ad", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_28d861dd3fbad05c9ea9e07cc07c3e73", + "refinement_interpretation_Tm_refine_43fee4410e2eebc2b193cefe9b781263", + "refinement_interpretation_Tm_refine_dd47a4ccda1e57be8cb21610a3984854", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Ghost.reveal", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -222,7 +202,7 @@ "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.UInt32.v" ], 0, - "010569f7cbcc6637a9e12cb2a70d3a6e" + "18d93b19cefbc35ed1804e8e23615760" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_fin", @@ -236,7 +216,7 @@ "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond" ], 0, - "322a903756c76e414bb7d3ba49c97a37" + "b4937e0a64f95cc8934e7f94c5e7960f" ], [ "FStar.Pointer.Derived2.copy_buffer_contents'", @@ -248,17 +228,17 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond", "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond_", - "function_token_typing_FStar.Monotonic.HyperStack.mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f2d0fb13861f02bd83eb4663590b17f6", + "refinement_interpretation_Tm_refine_cafc637ad36864762cdb7f730873ff48", + "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Pointer.Base.gsub_buffer" ], 0, - "ac6b4d33a27ac2b634884a4b1ada82c9" + "840b5d97561e04900145d63d647a3d67" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Pointer.Derived2.fsti.hints b/ulib/FStar.Pointer.Derived2.fsti.hints index 465eb7df588..af38a163746 100644 --- a/ulib/FStar.Pointer.Derived2.fsti.hints +++ b/ulib/FStar.Pointer.Derived2.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "1f5bfd77d17a1f01adcb8f04ca1b2390" + "4c1f87e1ea18beb514202037973772f3" ], [ "FStar.Pointer.Derived2.copy_buffer_contents_postcond", @@ -20,7 +20,7 @@ "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond" ], 0, - "35911fbe725e46b71491bbcedc97d215" + "ca17f5a8fa2d72201513c424e4cbaeaf" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Pointer.Derived3.fst.hints b/ulib/FStar.Pointer.Derived3.fst.hints index c62d8cbb871..2839ff82d65 100644 --- a/ulib/FStar.Pointer.Derived3.fst.hints +++ b/ulib/FStar.Pointer.Derived3.fst.hints @@ -15,7 +15,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6d8ce21f239284119cb7f702c6b1dbc6" + "9f3ce04338ae3a3e026e3a9287b3a3e9" ], [ "FStar.Pointer.Derived3.fill_buffer_postcond'", @@ -29,7 +29,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "246b53b58b750e7b8820715d3134af4f" + "069df1d2aa2265a3c2566e9304710210" ], [ "FStar.Pointer.Derived3.fill_buffer_inv", @@ -50,7 +50,7 @@ "typing_FStar.UInt32.v" ], 0, - "48ccb0f9d9a72a9eb04b2ad2bf6420d4" + "5e4c55baa15be88a673a6626cbb4a8be" ], [ "FStar.Pointer.Derived3.fill_buffer_init", @@ -61,19 +61,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Pointer.Derived3.fill_buffer_inv", "equation_FStar.Pointer.Derived3.fill_buffer_precond_", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.nat", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", @@ -86,10 +81,10 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d9e7a77280b86865da798c47936401b1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5bd0a7d01180aeb3ce1967bce3c7eea5", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.Pointer.Base.frameOf_buffer", @@ -99,7 +94,7 @@ "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "c965609c296f879d6c2ade0d006acc41" + "9aca58502ee87a3f502f761af8d93b25" ], [ "FStar.Pointer.Derived3.fill_buffer_advance", @@ -107,21 +102,28 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" ], 0, - "a6b82513f24aa9bfb748cc0035a7e119" + "3ee0bef5bbb7c1b754497678fc5af142" ], [ "FStar.Pointer.Derived3.fill_buffer_advance", @@ -132,9 +134,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -143,16 +143,13 @@ "equation_FStar.Seq.Properties.snoc", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", + "equation_Prims.nat", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.Monotonic.HyperStack.mem", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", + "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", "lemma_FStar.Pointer.Base.loc_includes_refl", "lemma_FStar.Pointer.Derived1.modifies_trans_incl_l", @@ -161,26 +158,28 @@ "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1a0bd135866b64099bc19591f342004c", "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6a2e5b86e3b165449eb024af70e9dda4", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b8395f22cda9ae92652cfe61d30521e5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b90eca26d20b8e35c77bcc2fc762f3d3", "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_eb5d3e124976346b4e6f0e03d5133b1c", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_dac442162a91d9cdcde2462df5f9915e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pointer.Base.buffer_length", @@ -190,11 +189,11 @@ "typing_FStar.Pointer.Base.loc_pointer", "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "2e533d2499be358209d79f219f456632" + "ef8cf26ec8efa9680a0bb0073efed990" ], [ "FStar.Pointer.Derived3.fill_buffer_aux", @@ -203,7 +202,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", @@ -217,10 +215,8 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Pointer.Base.gsub_buffer_zero_buffer_length", @@ -229,12 +225,12 @@ "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a3974f4a8ac28aa19294d2aa3c3c3f8b", - "refinement_interpretation_Tm_refine_b6691470bc958792a8265b6acdcf2b7e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_eb5d3e124976346b4e6f0e03d5133b1c", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1e511af32fbf3225c6a8ef5173b5d4de", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8c8af78aae1a97728ac8b5c813300298", + "refinement_interpretation_Tm_refine_b90eca26d20b8e35c77bcc2fc762f3d3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -242,7 +238,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "7661c4a447f5d8d8430c02604f945f94" + "63c52c3b5e37d764689e2655e718021a" ], [ "FStar.Pointer.Derived3.fill_buffer_fin", @@ -256,7 +252,7 @@ "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer" ], 0, - "5f35cd5795beacec881a821ca83eff12" + "d7b8d100d870ed5141bf53a40785e699" ], [ "FStar.Pointer.Derived3.fill_buffer'", @@ -268,14 +264,14 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pointer.Derived3.fill_buffer_precond", "equation_FStar.Pointer.Derived3.fill_buffer_precond_", - "function_token_typing_FStar.Monotonic.HyperStack.mem", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "refinement_interpretation_Tm_refine_335f947bc600bf798db829e79f8246a4" + "refinement_interpretation_Tm_refine_250dbf8056140f529a627276f6c8bef6", + "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a" ], 0, - "f3f2c18a1cc59a5acee1d65eceaf30dc" + "27ca6e188f558d3b340e631caa99d14e" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Pointer.Derived3.fsti.hints b/ulib/FStar.Pointer.Derived3.fsti.hints index a22f77418c9..5ea587877ab 100644 --- a/ulib/FStar.Pointer.Derived3.fsti.hints +++ b/ulib/FStar.Pointer.Derived3.fsti.hints @@ -15,7 +15,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "9881c52e299d0c8d0ab9494577684e23" + "ac232156a38022033cbc395bb0e43819" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.PredicateExtensionality.fst.hints b/ulib/FStar.PredicateExtensionality.fst.hints index 3781b62af2b..7d3e898fcd2 100644 --- a/ulib/FStar.PredicateExtensionality.fst.hints +++ b/ulib/FStar.PredicateExtensionality.fst.hints @@ -8,18 +8,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.PredicateExtensionality.peq", "equation_FStar.PredicateExtensionality.predicate", - "equation_Prims.prop", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", "lemma_FStar.FunctionalExtensionality.extensionality", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "603f891d4dfb1aa0ebe6a545e5464e59" + "1970a4a6f3251de1dd4221e749f65116" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Printf.fst.hints b/ulib/FStar.Printf.fst.hints index 2e9e58ea5c2..7cc8d6e2503 100644 --- a/ulib/FStar.Printf.fst.hints +++ b/ulib/FStar.Printf.fst.hints @@ -11,7 +11,7 @@ "projection_inverse_FStar.Printf.MkExtension_a" ], 0, - "0695db1155c7ee6be1b9a5459ea3ab0f" + "83efa5a4a4af68d06ed2f0d5d92b5d61" ], [ "FStar.Printf.__proj__Extension__item___0", @@ -25,7 +25,7 @@ "refinement_interpretation_Tm_refine_3beb8710e53474127cdc6910faff6866" ], 0, - "eaa828eac27916a0c5cce151f929e5a1" + "d963140e623745158f6de0d911f0de17" ], [ "FStar.Printf.arg_type", @@ -45,7 +45,7 @@ "fuel_guarded_inversion_FStar.Printf.arg" ], 0, - "a1d6cb4f4939bb256bc3ba786881554e" + "1571206b9da073f74a3e7946b0ff267e" ], [ "FStar.Printf.string_of_arg", @@ -70,7 +70,7 @@ "projection_inverse_FStar.Printf.MkExtension_a" ], 0, - "310f1d134700c68667d09fc12efbd85a" + "824174facad59d592860360118e4df64" ], [ "FStar.Printf.__proj__Lit__item___0", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_37423919295cd822d336ea93baad95f4" ], 0, - "e5dc188e7e4345d0ca6dcb17c66375aa" + "31fe9b8ca23fc0855647fdf08407729b" ], [ "FStar.Printf.__proj__Arg__item___0", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_d9dc5f03433d2ecffb05bfd949e65ef5" ], 0, - "6a289d10b33f6e9d5882ee72aacc28bd" + "eb5a942c32abd57ec2330a0ee010a6be" ], [ "FStar.Printf.dir_type", @@ -115,7 +115,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd" ], 0, - "e301521a64c9a5cf221d382f793d3651" + "7ed298019e8ecf654f1c58d4a070271d" ], [ "FStar.Printf.string_of_dirs", @@ -127,12 +127,12 @@ "@fuel_correspondence_FStar.Printf.dir_type.fuel_instrumented", "@fuel_irrelevance_FStar.Printf.dir_type.fuel_instrumented", "@query", - "FStar.Printf_interpretation_Tm_arrow_112c8c7abd58ca4d48c3575623e452a0", - "FStar.Printf_interpretation_Tm_arrow_7c88f0ea085fe34ecac9529218adc258", - "FStar.Printf_interpretation_Tm_arrow_b10c52b88d382f790b56b0e265d17015", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "FStar.Printf_interpretation_Tm_arrow_1308364db2998680704e3bdb6603084b", + "FStar.Printf_interpretation_Tm_arrow_746dbc3b190486ddef32c12718413ad7", + "FStar.Printf_interpretation_Tm_arrow_98528443fb85174b378d35519fffd78c", + "FStar.String_interpretation_Tm_arrow_70affe4dada4ca8ba18740c614ba5211", "binder_x_2368d2b39f3a5b7fbce69a651b5bf73d_0", - "binder_x_a703a5688952559d5cefe1268f16f195_1", + "binder_x_2b7d8f2dadd0193f4caa6b86ea292a53_1", "constructor_distinct_FStar.Printf.Arg", "constructor_distinct_FStar.Printf.Lit", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -150,10 +150,10 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "string_typing", "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd", - "typing_Tm_abs_a450690fe1c80579a4c5b39eecfc43ea" + "typing_Tm_abs_1013a44538061738e9fc8427219b3686" ], 0, - "56416800c7a20c4f6388da93f0311280" + "758e3369a804ef4541eaaead86acf6eb" ], [ "FStar.Printf.parse_format", @@ -175,14 +175,14 @@ "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_bd70ada1f79cd99b62c17ded8e76d3c1", + "refinement_interpretation_Tm_refine_e2cfddc06c606ecf5b4e53f6364bd614", "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.String.char", "typing_Prims.__proj__Cons__item__tl" ], 0, - "ed1851cefda42f7b170aaec807eb0d38" + "fd340344ce39f866bd299d07906068fc" ], [ "FStar.Printf.sprintf", @@ -197,17 +197,15 @@ "@fuel_irrelevance_FStar.Printf.dir_type.fuel_instrumented", "@fuel_irrelevance_FStar.Printf.parse_format.fuel_instrumented", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "FStar.Printf_interpretation_Tm_arrow_1308364db2998680704e3bdb6603084b", + "FStar.Printf_interpretation_Tm_arrow_98528443fb85174b378d35519fffd78c", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", "constructor_distinct_FStar.Printf.Arg", "constructor_distinct_FStar.Printf.Lit", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", + "constructor_distinct_Tm_unit", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_FStar.Printf.Arg", "disc_equation_FStar.Printf.Lit", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -223,43 +221,44 @@ "equality_tok_FStar.Printf.U32@tok", "equality_tok_FStar.Printf.U64@tok", "equality_tok_FStar.Printf.U8@tok", - "equation_FStar.Printf.extension_parser", "equation_FStar.Printf.no_extensions", "equation_FStar.Printf.parse_format_string", - "equation_FStar.String.char", + "equation_FStar.String.char", "equation_Prims.eqtype", "equation_with_fuel_FStar.Printf.dir_type.fuel_instrumented", "equation_with_fuel_FStar.Printf.parse_format.fuel_instrumented", "equation_with_fuel_FStar.Printf.string_of_dirs.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Printf.no_extensions", - "interpretation_Tm_abs_a32fe4802e125dbd09453ccc952c3af6", + "interpretation_Tm_abs_021b185d992757a2d17bdfb6f0531efe", "kinding_FStar.Printf.dir@tok", "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Printf.Arg__0", "projection_inverse_FStar.Printf.Lit__0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_746f8677acba9919fdcf62b56edffb52", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_a92e1821837f8512b90aee0ba19a705c", "string_inversion", - "token_correspondence_FStar.Printf.parse_format.fuel_instrumented", "token_correspondence_FStar.Printf.string_of_dirs.fuel_instrumented", "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Printf.no_extensions", "typing_FStar.Printf.parse_format", "typing_FStar.Printf.parse_format_string", - "typing_FStar.String.list_of_string", - "typing_Tm_abs_93fc3f9a7c5422d73e3b920097ff69ab", - "typing_Tm_abs_e0671980b4c4d3ae1522b434e15cee6d", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc", "unit_typing" + "typing_FStar.String.char", "typing_FStar.String.list_of_string", + "typing_Prims.__proj__Cons__item__tl", + "typing_Tm_abs_021b185d992757a2d17bdfb6f0531efe", + "typing_Tm_abs_257b2cdb63df34ab732326cd0b297b15", + "typing_Tm_abs_7de968e83fab2a5ec34920f38db5f8bf", + "typing_Tm_abs_c63a7cf7ad804e06164fdb61901cf6e8" ], 0, - "85181ecea875128b755aa3390848a7df" + "0b3b53c3c6f905a90b32a3ea3f53df5c" ], [ "FStar.Printf.ext_sprintf", @@ -273,14 +272,15 @@ "@fuel_correspondence_FStar.Printf.string_of_dirs.fuel_instrumented", "@fuel_irrelevance_FStar.Printf.dir_type.fuel_instrumented", "@fuel_irrelevance_FStar.Printf.parse_format.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "bool_inversion", "bool_typing", + "@query", + "FStar.Printf_interpretation_Tm_arrow_9a27c80a5204351d20f685d63e5e08ef", + "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Printf.Arg", "constructor_distinct_FStar.Printf.Lit", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "constructor_distinct_Tm_unit", + "data_elim_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "disc_equation_FStar.Printf.Arg", "disc_equation_FStar.Printf.Lit", @@ -297,41 +297,44 @@ "equality_tok_FStar.Printf.U32@tok", "equality_tok_FStar.Printf.U64@tok", "equality_tok_FStar.Printf.U8@tok", + "equation_FStar.Printf.extension_parser", "equation_FStar.Printf.parse_format_string", - "equation_FStar.String.char", + "equation_FStar.String.char", "equation_Prims.eqtype", "equation_with_fuel_FStar.Printf.dir_type.fuel_instrumented", "equation_with_fuel_FStar.Printf.parse_format.fuel_instrumented", "equation_with_fuel_FStar.Printf.string_of_dirs.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_a32fe4802e125dbd09453ccc952c3af6", - "kinding_FStar.Printf.dir@tok", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", + "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", + "fuel_guarded_inversion_Prims.list", "kinding_FStar.Printf.dir@tok", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "projection_inverse_FStar.Printf.Arg__0", "projection_inverse_FStar.Printf.Lit__0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_9c0362ce1b22ee71d38b7983893086bb", - "refinement_interpretation_Tm_refine_bd70ada1f79cd99b62c17ded8e76d3c1", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", + "refinement_interpretation_Tm_refine_b647c61ad04272bb562f60e180ae9160", "string_inversion", "token_correspondence_FStar.Printf.parse_format.fuel_instrumented", + "token_correspondence_FStar.Printf.string_of_dirs.fuel_instrumented", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Printf.parse_format", "typing_FStar.Printf.parse_format_string", - "typing_FStar.String.list_of_string", - "typing_Tm_abs_e0671980b4c4d3ae1522b434e15cee6d", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "typing_FStar.String.char", "typing_FStar.String.list_of_string", + "typing_Prims.__proj__Cons__item__tl", + "typing_Tm_abs_021b185d992757a2d17bdfb6f0531efe", + "typing_Tm_abs_257b2cdb63df34ab732326cd0b297b15", + "typing_Tm_abs_7de968e83fab2a5ec34920f38db5f8bf" ], 0, - "4527f524550e6ae3a05c817ea4e04771" + "2004a3a5cf825b4333c7c372a2d4a39b" ], [ "FStar.Printf.__proj__MkExtension__item__f", @@ -343,7 +346,7 @@ "projection_inverse_FStar.Printf.MkExtension_a" ], 0, - "91b05f96828c904cc20ef67b39e58345" + "474c461a2cbc168f48fda5af067e7a9a" ], [ "FStar.Printf.__proj__Extension__item___0", @@ -357,7 +360,7 @@ "refinement_interpretation_Tm_refine_3beb8710e53474127cdc6910faff6866" ], 0, - "a7bd4033bbbd217b2e22260adaeb8b24" + "ddc0398d87f930233b2e0bc844699d32" ], [ "FStar.Printf.arg_type", @@ -377,7 +380,7 @@ "fuel_guarded_inversion_FStar.Printf.arg" ], 0, - "442a980d29ac881989eeae49ed4c4c30" + "449ec9b68f8e21451af1d4948164c3d1" ], [ "FStar.Printf.string_of_arg", @@ -402,7 +405,7 @@ "projection_inverse_FStar.Printf.MkExtension_a" ], 0, - "8c21e7df160baaae1e3729a3c1eb7aa7" + "80d628765d2a9118461b83edfd7cc865" ], [ "FStar.Printf.__proj__Lit__item___0", @@ -415,7 +418,7 @@ "refinement_interpretation_Tm_refine_37423919295cd822d336ea93baad95f4" ], 0, - "3519bd5ff0589ceb4463fbaf012bc3e6" + "bd4a24018688388eac51defbbe8d561e" ], [ "FStar.Printf.__proj__Arg__item___0", @@ -428,7 +431,7 @@ "refinement_interpretation_Tm_refine_d9dc5f03433d2ecffb05bfd949e65ef5" ], 0, - "99f5ce5562e7044338c77fdacab0fe2e" + "36fec734aa173c00eec473abef127782" ], [ "FStar.Printf.dir_type", @@ -447,7 +450,7 @@ "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd" ], 0, - "243021d45679731dd6da65e0c11b7efe" + "7a579dd51272231b3020c61bdce63bf0" ], [ "FStar.Printf.string_of_dirs", @@ -459,12 +462,12 @@ "@fuel_correspondence_FStar.Printf.dir_type.fuel_instrumented", "@fuel_irrelevance_FStar.Printf.dir_type.fuel_instrumented", "@query", - "FStar.Printf_interpretation_Tm_arrow_112c8c7abd58ca4d48c3575623e452a0", - "FStar.Printf_interpretation_Tm_arrow_7c88f0ea085fe34ecac9529218adc258", - "FStar.Printf_interpretation_Tm_arrow_b10c52b88d382f790b56b0e265d17015", - "Prims_interpretation_Tm_arrow_f82c3fb9ac6610efb97620a59b378092", + "FStar.Printf_interpretation_Tm_arrow_1308364db2998680704e3bdb6603084b", + "FStar.Printf_interpretation_Tm_arrow_746dbc3b190486ddef32c12718413ad7", + "FStar.Printf_interpretation_Tm_arrow_98528443fb85174b378d35519fffd78c", + "FStar.String_interpretation_Tm_arrow_70affe4dada4ca8ba18740c614ba5211", "binder_x_2368d2b39f3a5b7fbce69a651b5bf73d_0", - "binder_x_a703a5688952559d5cefe1268f16f195_1", + "binder_x_2b7d8f2dadd0193f4caa6b86ea292a53_1", "constructor_distinct_FStar.Printf.Arg", "constructor_distinct_FStar.Printf.Lit", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -482,10 +485,10 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "string_typing", "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd", - "typing_Tm_abs_caafe2028dacc0862bfbd4ad7771922a" + "typing_Tm_abs_1aab7be342c86eae8b7e1941a97013fa" ], 0, - "b1bcf9dd705735e7ae9f9c9536885f0e" + "1bdb38ce4306f0f2474d5ce34e715504" ], [ "FStar.Printf.parse_format", @@ -507,14 +510,14 @@ "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_bd70ada1f79cd99b62c17ded8e76d3c1", + "refinement_interpretation_Tm_refine_e2cfddc06c606ecf5b4e53f6364bd614", "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.String.char", "typing_Prims.__proj__Cons__item__tl" ], 0, - "c3ee3e265943f7f92c174be0420b2a1b" + "63fe269c37fecb53fcece791f385c621" ], [ "FStar.Printf.sprintf", @@ -528,11 +531,9 @@ "@fuel_correspondence_FStar.Printf.string_of_dirs.fuel_instrumented", "@fuel_irrelevance_FStar.Printf.dir_type.fuel_instrumented", "@fuel_irrelevance_FStar.Printf.parse_format.fuel_instrumented", - "@query", - "FStar.Printf_interpretation_Tm_arrow_112c8c7abd58ca4d48c3575623e452a0", - "FStar.Printf_interpretation_Tm_arrow_7c88f0ea085fe34ecac9529218adc258", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", + "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Printf.Arg", "constructor_distinct_FStar.Printf.Lit", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -553,7 +554,6 @@ "equality_tok_FStar.Printf.U32@tok", "equality_tok_FStar.Printf.U64@tok", "equality_tok_FStar.Printf.U8@tok", - "equation_FStar.Printf.extension_parser", "equation_FStar.Printf.no_extensions", "equation_FStar.Printf.parse_format_string", "equation_FStar.String.char", "equation_Prims.eqtype", @@ -561,10 +561,8 @@ "equation_with_fuel_FStar.Printf.parse_format.fuel_instrumented", "equation_with_fuel_FStar.Printf.string_of_dirs.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Printf.no_extensions", - "kinding_FStar.Printf.dir@tok", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", + "fuel_guarded_inversion_Prims.list", "kinding_FStar.Printf.dir@tok", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", @@ -575,21 +573,19 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_746f8677acba9919fdcf62b56edffb52", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "string_inversion", - "token_correspondence_FStar.Printf.string_of_dirs.fuel_instrumented", - "typing_FStar.Pervasives.Native.uu___is_None", + "refinement_interpretation_Tm_refine_a92e1821837f8512b90aee0ba19a705c", + "string_inversion", "typing_FStar.Pervasives.Native.uu___is_None", + "typing_FStar.Printf.no_extensions", "typing_FStar.Printf.parse_format", "typing_FStar.Printf.parse_format_string", "typing_FStar.String.char", "typing_FStar.String.list_of_string", "typing_Prims.__proj__Cons__item__tl", - "typing_Tm_abs_93fc3f9a7c5422d73e3b920097ff69ab", - "typing_Tm_abs_9d6aac2cb8039cccd7bc09d84bb80b84", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "typing_Tm_abs_40a1776988d953ba832fcfe9acf2d203", + "typing_Tm_abs_7de968e83fab2a5ec34920f38db5f8bf" ], 0, - "ebb8a67eb6a7363bec25f6bee6554bfb" + "6bccd508ed302b86a728d6985ad1ee1d" ], [ "FStar.Printf.sprintf", @@ -600,37 +596,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Printf.parse_format.fuel_instrumented", "@fuel_irrelevance_FStar.Printf.parse_format.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", + "@query", "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_Tm_unit", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Printf.extension_parser", "equation_FStar.Printf.no_extensions", "equation_FStar.Printf.parse_format_string", - "equation_FStar.String.char", "equation_with_fuel_FStar.Printf.parse_format.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Printf.no_extensions", - "interpretation_Tm_abs_a32fe4802e125dbd09453ccc952c3af6", - "kinding_FStar.Printf.dir@tok", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", + "fuel_guarded_inversion_Prims.list", "kinding_FStar.Printf.dir@tok", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_746f8677acba9919fdcf62b56edffb52", - "token_correspondence_FStar.Printf.parse_format.fuel_instrumented", + "refinement_interpretation_Tm_refine_a92e1821837f8512b90aee0ba19a705c", + "typing_FStar.Printf.no_extensions", "typing_FStar.Printf.parse_format", "typing_FStar.Printf.parse_format_string", - "typing_FStar.String.list_of_string", "unit_typing" + "typing_FStar.String.list_of_string" ], 0, - "04e27eb81a764d845a2ae163aa9f3ef9" + "a5a938cdb620289aaddef74d14e8323c" ], [ "FStar.Printf.ext_sprintf", @@ -645,9 +629,7 @@ "@fuel_irrelevance_FStar.Printf.dir_type.fuel_instrumented", "@fuel_irrelevance_FStar.Printf.parse_format.fuel_instrumented", "@query", - "FStar.Printf_interpretation_Tm_arrow_112c8c7abd58ca4d48c3575623e452a0", - "FStar.Printf_interpretation_Tm_arrow_7c88f0ea085fe34ecac9529218adc258", - "FStar.Printf_interpretation_Tm_arrow_b14956579d8b8f1bcf8e2dbddb9c0322", + "FStar.Printf_interpretation_Tm_arrow_fe3605a9c2ca40947eb4e40280924f7a", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Printf.Arg", @@ -693,22 +675,20 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9c0362ce1b22ee71d38b7983893086bb", + "refinement_interpretation_Tm_refine_b647c61ad04272bb562f60e180ae9160", "string_inversion", "token_correspondence_FStar.Printf.parse_format.fuel_instrumented", - "token_correspondence_FStar.Printf.string_of_dirs.fuel_instrumented", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Printf.parse_format", "typing_FStar.Printf.parse_format_string", "typing_FStar.String.char", "typing_FStar.String.list_of_string", "typing_Prims.__proj__Cons__item__tl", - "typing_Tm_abs_93fc3f9a7c5422d73e3b920097ff69ab", - "typing_Tm_abs_9d6aac2cb8039cccd7bc09d84bb80b84", - "typing_Tm_abs_fbc917fea8bd0ead0e80e947ccbfabdc" + "typing_Tm_abs_40a1776988d953ba832fcfe9acf2d203", + "typing_Tm_abs_7de968e83fab2a5ec34920f38db5f8bf" ], 0, - "a8d346d62ce05d7ce5dcbff8a3ee6a21" + "d9274050a5f5a1c3931145ccd9819c7c" ], [ "FStar.Printf.ext_sprintf", @@ -719,33 +699,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Printf.parse_format.fuel_instrumented", "@fuel_irrelevance_FStar.Printf.parse_format.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", + "@query", "constructor_distinct_Tm_unit", + "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Printf.parse_format_string", "equation_FStar.String.char", "equation_with_fuel_FStar.Printf.parse_format.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_a32fe4802e125dbd09453ccc952c3af6", - "kinding_FStar.Printf.dir@tok", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", + "fuel_guarded_inversion_Prims.list", "kinding_FStar.Printf.dir@tok", + "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_9c0362ce1b22ee71d38b7983893086bb", - "token_correspondence_FStar.Printf.parse_format.fuel_instrumented", + "refinement_interpretation_Tm_refine_b647c61ad04272bb562f60e180ae9160", "typing_FStar.Printf.parse_format", "typing_FStar.Printf.parse_format_string", - "typing_FStar.String.list_of_string", "unit_typing" + "typing_FStar.String.list_of_string" ], 0, - "e6143f53676e9d187039f6e109bac917" + "7d64d2924ddbd75132ceab7953d47b17" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.PropositionalExtensionality.fst.hints b/ulib/FStar.PropositionalExtensionality.fst.hints index 008b88d4646..04d66338393 100644 --- a/ulib/FStar.PropositionalExtensionality.fst.hints +++ b/ulib/FStar.PropositionalExtensionality.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "82a163744ea763332fdd47e01f5b15c7" + "4ff631d69b2fdd55bd8321c330dae8a2" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Reader.fst.hints b/ulib/FStar.Reader.fst.hints index 18a7f49e292..63dd7d9ce95 100644 --- a/ulib/FStar.Reader.fst.hints +++ b/ulib/FStar.Reader.fst.hints @@ -11,7 +11,7 @@ "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "unit_typing" ], 0, - "2fbf1566012454bc167e3c52fe4d03a9" + "10f8d2dfd4e90cb4aa227900ad5288a5" ], [ "FStar.Reader.g", @@ -24,19 +24,18 @@ "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", "equation_FStar.ST.mref", "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.l_True", "function_token_typing_FStar.Heap.trivial_preorder", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_86fcbd96051e23cf91d838a51a3c3445", + "refinement_interpretation_Tm_refine_41b2933971127c266ea1c6972c34dc5c", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "true_interp", "typing_FStar.Heap.trivial_preorder", "typing_FStar.Monotonic.Heap.sel" ], 0, - "1e964c23862140990796b21c8a08828b" + "4d3be058fffef682a7d09512c7bea928" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Real.fsti.hints b/ulib/FStar.Real.fsti.hints index 5f624dffb90..6d84799eaaa 100644 --- a/ulib/FStar.Real.fsti.hints +++ b/ulib/FStar.Real.fsti.hints @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "real_inversion", - "refinement_interpretation_Tm_refine_972456029d8e35d2ef4bbcaa71138b9a" + "refinement_interpretation_Tm_refine_c751fbfd6f4b9a39c463d906ae6adf94" ], 0, - "abba1ff6268a0e9a107aadaf02b23e9e" + "765e479c7aad1549e89752a59d32fdd6" ], [ "FStar.Real.test", @@ -24,7 +24,7 @@ "projection_inverse_BoxReal_proj_0" ], 0, - "f7a6ee4a70d90df837becfc24de1fdfe" + "c777ff5ca7f7143aabd9c883a37ac6bf" ], [ "FStar.Real.test1", @@ -36,7 +36,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "da83f669e383d96069e725c62025d8f6" + "a389324e0eb2cb2ddf9bc35eee9681b1" ], [ "FStar.Real.test_lt1", @@ -45,7 +45,7 @@ 1, [ "@query" ], 0, - "5c37fd29eac999aa4a26921f1fad32e7" + "ab1a2fe575c4e8d8140e62e38e03a0b9" ], [ "FStar.Real.test_lt2", @@ -54,7 +54,7 @@ 1, [ "@query" ], 0, - "9f7359064decd547115d594ff88b821c" + "1c1676f68dab18f9d145d29fbc99241e" ], [ "FStar.Real.test_lt3", @@ -63,7 +63,7 @@ 1, [ "@query" ], 0, - "1e5f88f0ef8655b4eabeb2ee4eb94395" + "df01108aa397ac19e78ec72d1f124b6f" ], [ "FStar.Real.test_le1", @@ -72,7 +72,7 @@ 1, [ "@query" ], 0, - "9598958ac933928c891caa7d91525e8b" + "98a901b0c5755971842e8fa5a4eb4204" ], [ "FStar.Real.test_le2", @@ -81,7 +81,7 @@ 1, [ "@query" ], 0, - "f602cf32f509de9500a21004dae3c096" + "7b464fc28a1251137c6397adefda42fb" ], [ "FStar.Real.test_le3", @@ -90,7 +90,7 @@ 1, [ "@query" ], 0, - "5b662299ef73390b1c2db2634bcbaf34" + "53fdd8322c92282383897d981149dc2c" ], [ "FStar.Real.test_gt1", @@ -99,7 +99,7 @@ 1, [ "@query" ], 0, - "c7762ec7f80a2b42027371bbdc9e57a7" + "25d45442ffa08391e97c9931a64866e7" ], [ "FStar.Real.test_gt2", @@ -108,7 +108,7 @@ 1, [ "@query" ], 0, - "6caeff8ba570ee1e5cdac6c2c0d0be85" + "c7c16d2a7393c2dd905e165bc5214b3b" ], [ "FStar.Real.test_gt3", @@ -117,7 +117,7 @@ 1, [ "@query" ], 0, - "d1d6f20db6312a044ab504bee254a2e2" + "845fcca74d22672776e81285530ad609" ], [ "FStar.Real.test_ge1", @@ -126,7 +126,7 @@ 1, [ "@query" ], 0, - "dd1d5f22f300d23f0236c362273a191b" + "919d75a489360d9e1baf2fd0d5c4d26e" ], [ "FStar.Real.test_ge2", @@ -135,7 +135,7 @@ 1, [ "@query" ], 0, - "a06c472b197cf96ac1d620012be81c9b" + "80f4e599608c9e9be9f6234344c669a1" ], [ "FStar.Real.test_ge3", @@ -144,7 +144,7 @@ 1, [ "@query" ], 0, - "3caab6e8425db2ea24cbc040bd2bceb1" + "0141595bfadba4d781e67e8dfc9b9669" ], [ "FStar.Real.test_add_eq", @@ -153,7 +153,7 @@ 1, [ "@query" ], 0, - "c3e92095fabdfb87cdd5f6d3a6ac72dc" + "29e39edd72b3020a84245709d930346b" ], [ "FStar.Real.test_add_eq'", @@ -162,7 +162,7 @@ 1, [ "@query" ], 0, - "ebff40052408d9ed6834add7d81e484c" + "66899195205c3b6956a5da0c6d0abed1" ], [ "FStar.Real.test_add_lt", @@ -171,7 +171,7 @@ 1, [ "@query" ], 0, - "8b8170a425bceb853df6b8a0d6c21537" + "3fbb773afe7dda9e0bc8925dae48206f" ], [ "FStar.Real.test_mul_eq", @@ -180,7 +180,7 @@ 1, [ "@query" ], 0, - "8cbfbd403f549c8dd5aa5148f4bd3a84" + "e14047889a2db5dcc67afd6f1ccb4e30" ], [ "FStar.Real.test_mul_lt", @@ -189,7 +189,7 @@ 1, [ "@query" ], 0, - "74127b81a436f58906f1ee922da5cb3b" + "09cf90a66fc6975a3a89e246ea87e2d6" ], [ "FStar.Real.test_div_eq", @@ -198,7 +198,7 @@ 1, [ "@query" ], 0, - "02082f4f0bee198825338c51fdbf088d" + "9c4d3b023bc4c8ea9c8b1e396ceee981" ], [ "FStar.Real.test_div_lt", @@ -207,7 +207,7 @@ 1, [ "@query" ], 0, - "5b0b39560f33759916a8427d7e128086" + "41173046d08a87bc7cdefe9c9df66204" ], [ "FStar.Real.test_sqrt_2_mul", @@ -217,11 +217,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Real.two", "projection_inverse_BoxReal_proj_0", - "refinement_interpretation_Tm_refine_8a6e053c413a767b430102b0711640b7", + "refinement_interpretation_Tm_refine_3834bf9163484f4b38ebf8a6c6045a0e", "typing_FStar.Real.sqrt_2" ], 0, - "6a6eff665ad7f0ece424adc49a9121f5" + "08b39645999b0dd42d92a35e0b1769cd" ], [ "FStar.Real.test_sqrt_2_scale", @@ -231,10 +231,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.Real.two", "projection_inverse_BoxReal_proj_0", - "refinement_interpretation_Tm_refine_8a6e053c413a767b430102b0711640b7" + "refinement_interpretation_Tm_refine_3834bf9163484f4b38ebf8a6c6045a0e" ], 0, - "d2aad39a28b0860d6d6dd2e3c2916da5" + "04dea27b6a31cf3c4c608a31e69035dd" ], [ "FStar.Real.add_id_l", @@ -243,7 +243,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "real_inversion" ], 0, - "c417b3740332e8e518902199b4eb2906" + "3d5ca20d98a4bdd9d41bddfe3edf4aaa" ], [ "FStar.Real.add_id_r", @@ -252,7 +252,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "real_inversion" ], 0, - "6cced4b4163eb619c6873bf9e9b22759" + "41b72c7d92fcebc8e1a1049c01637e1d" ], [ "FStar.Real.mul_nil_l", @@ -261,7 +261,7 @@ 1, [ "@query" ], 0, - "340e0c423449250871f792d9ce95fe7d" + "70cba740f78b39e784e3d3bd2877b208" ], [ "FStar.Real.mul_nil_r", @@ -270,7 +270,7 @@ 1, [ "@query" ], 0, - "4ba6793d8a19f708f918eeee8cd74ae4" + "1082e0e5ac1028894d514dec2a6dcf9e" ], [ "FStar.Real.mul_id_l", @@ -279,7 +279,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "real_inversion" ], 0, - "4b0282b8b3b06c83e4dd5c1346346ec5" + "945a2b9ce05a924f2a6aafe418eec771" ], [ "FStar.Real.mul_id_r", @@ -288,7 +288,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "real_inversion" ], 0, - "9d33053858bc3f8404349af3e16baa9c" + "5963c28f04fb77dae410da19501bc3f5" ], [ "FStar.Real.add_comm", @@ -297,7 +297,7 @@ 1, [ "@query" ], 0, - "ed2764f0ad706629b9faf067d73a02c5" + "e363fed2e1782bf1db498eb6af4b6c66" ], [ "FStar.Real.mul_comm", @@ -306,7 +306,7 @@ 1, [ "@query" ], 0, - "992598688ad2e8d4dd989f72fc12d3dc" + "15e5d1263c46febcdc2d23bcebf483fc" ], [ "FStar.Real.mul_dist", @@ -315,7 +315,7 @@ 1, [ "@query" ], 0, - "ed69652b0ca7cc8a6ab42b768b015821" + "31ebfeb56c960fa0a0a62ab65ff19c25" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Ref.fst.hints b/ulib/FStar.Ref.fst.hints index ebc5bf8bc46..149fa386a5d 100644 --- a/ulib/FStar.Ref.fst.hints +++ b/ulib/FStar.Ref.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "4b04bbb0699811cc5c3fccb51447c317" + "67a8e8e72546dcb1eaae069ee34948d4" ], [ "FStar.Ref.only", @@ -18,11 +18,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b18160b0275d5f2899b5218d6d63b1ae" + "017a4a010a4438f72e380ccafa0f04a9" ], [ "FStar.Ref.alloc", @@ -30,17 +30,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.ST.ref", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c8219fd40e8f20e62255aceaab4e72a3" + "bc71a9650b0dfefcb3d3c34b3da0a6e9" ], [ "FStar.Ref.write", @@ -51,14 +48,14 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Heap.trivial_preorder", "equation_FStar.Heap.trivial_rel", - "equation_FStar.Monotonic.Heap.only", "equation_Prims.l_True", + "equation_FStar.Monotonic.Heap.only", "function_token_typing_FStar.Heap.trivial_preorder", - "interpretation_Tm_abs_fa0cb1fe1698a880aba4dd22bebacfbf", - "refinement_interpretation_Tm_refine_fc83f25424539824d394a73dd287ca2e", + "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", + "refinement_interpretation_Tm_refine_f990a45a7edd9d6b5e95811bfe6a93ec", "true_interp" ], 0, - "329f0c486ff979c339ad6a2467d5d633" + "fc4e9769b9c74b07020476c8540ee3de" ], [ "FStar.Ref.addr_of", @@ -67,7 +64,7 @@ 1, [ "@query" ], 0, - "1e051adbb4877dfe9c8aee331637638e" + "6eb544f8609574b6c6639c649b0318b8" ], [ "FStar.Ref.only", @@ -77,11 +74,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "86fb2d670c1e96c493122822906bf91a" + "008a3ce81d436c39e0c5de89860a41a5" ], [ "FStar.Ref.only", @@ -91,11 +88,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5c6ddd31f14ad80650a3fc73b4f493a4" + "e5bf7c5eb8bf27b990841684e43207bc" ], [ "FStar.Ref.alloc", @@ -105,11 +102,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bff227c8254aec324809a4c0ed65f2d0" + "1969340e1059477e57b9397bad67ef4c" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Reflection.Arith.fst.hints b/ulib/FStar.Reflection.Arith.fst.hints index 3a7dcc81413..fcb79a079a9 100644 --- a/ulib/FStar.Reflection.Arith.fst.hints +++ b/ulib/FStar.Reflection.Arith.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_6d6b1d29bc1fb8239cb0ff88a26a2751" ], 0, - "e5d37e0010b8e9cccfacd31e291a0abe" + "29f7e15bf30318fec26c5ed5a1dfc7ef" ], [ "FStar.Reflection.Arith.__proj__Atom__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_cade8a8c5081f9434f32013987a49fa1" ], 0, - "294892d1256a93e32c4104661d38da20" + "d75cc0be1e9f267b25cace3e43d31742" ], [ "FStar.Reflection.Arith.__proj__Atom__item___1", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_cade8a8c5081f9434f32013987a49fa1" ], 0, - "6c4e14ea5975c9446a69dd9ae6715690" + "f1dc9b1eb92dfd1f96c0ce3e0d40ed0c" ], [ "FStar.Reflection.Arith.__proj__Plus__item___0", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_f797a570d62b7458ebbffe4ac962bd16" ], 0, - "23cd026b4a3aeb4bce5ef2ed84578f35" + "a44a5c779fc5e48bd96ef02de6068c17" ], [ "FStar.Reflection.Arith.__proj__Plus__item___1", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_f797a570d62b7458ebbffe4ac962bd16" ], 0, - "07ed47479b18b4e6863920dd0733d365" + "ceeac668bd48a45e0ba074dbce2548da" ], [ "FStar.Reflection.Arith.__proj__Mult__item___0", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_bd59f23e1bce95072925ad5b6c421fba" ], 0, - "86b9b8b89817bdac8eec2364805dcff2" + "bccbf523a28e90ecad350e3caf1bf077" ], [ "FStar.Reflection.Arith.__proj__Mult__item___1", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_bd59f23e1bce95072925ad5b6c421fba" ], 0, - "d20cbfb8ddfee1039fbc634f9acc26ce" + "875a4352190bb3bc92f7412cd30542fa" ], [ "FStar.Reflection.Arith.__proj__Minus__item___0", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_3b7012e3c575b8673d51dc7860cf93e6" ], 0, - "54d992ee39292d7b83a6215f0c3c4cd4" + "2adec78ac8772977569e9bb8989ccf42" ], [ "FStar.Reflection.Arith.__proj__Minus__item___1", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_3b7012e3c575b8673d51dc7860cf93e6" ], 0, - "a5b909062070e7cacfe378dc43d70272" + "ccd2648e2356559a5a1491f6b0ea30ae" ], [ "FStar.Reflection.Arith.__proj__Land__item___0", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_a0f4f76097f4698ddbc0f63720974b45" ], 0, - "59d63219053be8550d62a046225ff8a3" + "4ad8cd8548b7f760433a30fad5012599" ], [ "FStar.Reflection.Arith.__proj__Land__item___1", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_a0f4f76097f4698ddbc0f63720974b45" ], 0, - "3daac404457d36e02362a00231327385" + "719ac8f07971368ae239be90a660f387" ], [ "FStar.Reflection.Arith.__proj__Lxor__item___0", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_12c6d8cbb113b5ec9a5d93109ebfb4c3" ], 0, - "1054cce4de68f3c0ecedf19d1231733e" + "28190248cc70a7afa47a751c18d0ee7b" ], [ "FStar.Reflection.Arith.__proj__Lxor__item___1", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_12c6d8cbb113b5ec9a5d93109ebfb4c3" ], 0, - "db3c33967398d90ccb38e139b9c1bc29" + "43734d160a88fcf1d5e6ed9b096e41e2" ], [ "FStar.Reflection.Arith.__proj__Lor__item___0", @@ -195,7 +195,7 @@ "refinement_interpretation_Tm_refine_7f736112c8b3c730150e9c5e7c2f3927" ], 0, - "a5e1ed8485aedc42aee57d12e9ca136e" + "9d6b975f6e03de4808da73b93a33e0a6" ], [ "FStar.Reflection.Arith.__proj__Lor__item___1", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_7f736112c8b3c730150e9c5e7c2f3927" ], 0, - "531e8c8e5efd00f2eee812f42f4f9e04" + "48132820ade0eda091cf5a32bea23cb7" ], [ "FStar.Reflection.Arith.__proj__Ladd__item___0", @@ -223,7 +223,7 @@ "refinement_interpretation_Tm_refine_04f8dbd779ef3c830fa5cf4ee0df4032" ], 0, - "c3d32039d19621425fbc8fb52ef74750" + "2f45343c628b614d9367e9b444a91622" ], [ "FStar.Reflection.Arith.__proj__Ladd__item___1", @@ -237,7 +237,7 @@ "refinement_interpretation_Tm_refine_04f8dbd779ef3c830fa5cf4ee0df4032" ], 0, - "b20a68a92371e4f456a89a3b28610ff0" + "75114632027b36a62bcc99562b67e281" ], [ "FStar.Reflection.Arith.__proj__Lsub__item___0", @@ -251,7 +251,7 @@ "refinement_interpretation_Tm_refine_9d616db54db45fd093ad0b90ef2e2ed0" ], 0, - "28c5199a2f1db877e287f65f01565abe" + "25e8d70c2007f00ee0352ac6438d5d71" ], [ "FStar.Reflection.Arith.__proj__Lsub__item___1", @@ -265,7 +265,7 @@ "refinement_interpretation_Tm_refine_9d616db54db45fd093ad0b90ef2e2ed0" ], 0, - "6218c25a9edcf6cc9cf693945e020461" + "6f85a2462c1433a55e65dfce43bef22d" ], [ "FStar.Reflection.Arith.__proj__Shl__item___0", @@ -279,7 +279,7 @@ "refinement_interpretation_Tm_refine_56aa83ae2e2f1232b2c6b55e5acd4f33" ], 0, - "82581785171b326079cefc1c3c96ac4c" + "ff0fcf9c73c24bd1c863a24b047b1013" ], [ "FStar.Reflection.Arith.__proj__Shl__item___1", @@ -293,7 +293,7 @@ "refinement_interpretation_Tm_refine_56aa83ae2e2f1232b2c6b55e5acd4f33" ], 0, - "dc6ce7c005b75fc356b2bb90124c34de" + "57eca28dd68a6ec043f4ae995ae6f396" ], [ "FStar.Reflection.Arith.__proj__Shr__item___0", @@ -307,7 +307,7 @@ "refinement_interpretation_Tm_refine_876ed53f1c829c75ab8c229ac97c4b4d" ], 0, - "2eda260662b6192e5c8d42f8013e5527" + "b58eff85e43939b46fc3efaa3364e603" ], [ "FStar.Reflection.Arith.__proj__Shr__item___1", @@ -321,7 +321,7 @@ "refinement_interpretation_Tm_refine_876ed53f1c829c75ab8c229ac97c4b4d" ], 0, - "83bc575b18dc0f6e74091859a8dc69ca" + "df934765fc1a5512eb3a7bb973f2fec1" ], [ "FStar.Reflection.Arith.__proj__Neg__item___0", @@ -335,7 +335,7 @@ "refinement_interpretation_Tm_refine_2b503333970a09999d3f3427b6212452" ], 0, - "ea197cb3244cde409fe27a9b1c650df4" + "e3b957ef134b7bbd27a408f414bc73bd" ], [ "FStar.Reflection.Arith.__proj__Udiv__item___0", @@ -349,7 +349,7 @@ "refinement_interpretation_Tm_refine_a641df3d24006688884388469673e289" ], 0, - "698fbee2556009c9de3993d219e7117a" + "c3111ba976e0c0d100aae5af1633f414" ], [ "FStar.Reflection.Arith.__proj__Udiv__item___1", @@ -363,7 +363,7 @@ "refinement_interpretation_Tm_refine_a641df3d24006688884388469673e289" ], 0, - "c55ed26b5b95daf9b98ad590ab2f83bc" + "affce1c65be8969d652f6abec3ac0fb7" ], [ "FStar.Reflection.Arith.__proj__Umod__item___0", @@ -377,7 +377,7 @@ "refinement_interpretation_Tm_refine_7aebea438e6193438a5f24f10337d221" ], 0, - "9163103d64455376607b6ac747d32f1e" + "6878c48c3ec97751c6ecf38833a78b11" ], [ "FStar.Reflection.Arith.__proj__Umod__item___1", @@ -391,7 +391,7 @@ "refinement_interpretation_Tm_refine_7aebea438e6193438a5f24f10337d221" ], 0, - "64a2591624bb6689183ba08d4a0d4df2" + "1abfa85d8b0be1c2f96640df38b2cd79" ], [ "FStar.Reflection.Arith.__proj__MulMod__item___0", @@ -405,7 +405,7 @@ "refinement_interpretation_Tm_refine_2f8b8d85b08124e0cf0c7d9468594c77" ], 0, - "3d726dcfabeafe10c991355b9f33c3f2" + "52a85f571d564471afb4e2f76f319103" ], [ "FStar.Reflection.Arith.__proj__MulMod__item___1", @@ -419,7 +419,7 @@ "refinement_interpretation_Tm_refine_2f8b8d85b08124e0cf0c7d9468594c77" ], 0, - "5d6f045c46d5248e1957c28f86a3493f" + "f217a47fe0e8e05ee5553a079afd1e6a" ], [ "FStar.Reflection.Arith.__proj__NatToBv__item___0", @@ -433,7 +433,7 @@ "refinement_interpretation_Tm_refine_1d0defb913a4ce54df82c51bcbfdf7e8" ], 0, - "8fb2b2db0e925ef67641028f1f4d2f0b" + "00e122de0273ec860712022892c91ec8" ], [ "FStar.Reflection.Arith.__proj__CompProp__item___0", @@ -447,7 +447,7 @@ "refinement_interpretation_Tm_refine_5110d8d8a42e720b7f1e294163c07a2b" ], 0, - "3e9d9561a2cfdf7c75c0763ec6376cd7" + "1afd90d745dfaa1068d520776d3b1e0a" ], [ "FStar.Reflection.Arith.__proj__CompProp__item___1", @@ -461,7 +461,7 @@ "refinement_interpretation_Tm_refine_5110d8d8a42e720b7f1e294163c07a2b" ], 0, - "0b61d73cd35e51a7e2af95557b0253b2" + "0416575d046bf32ef63a96026633ea4d" ], [ "FStar.Reflection.Arith.__proj__CompProp__item___2", @@ -475,7 +475,7 @@ "refinement_interpretation_Tm_refine_5110d8d8a42e720b7f1e294163c07a2b" ], 0, - "6592ed3d87f2b80d2d3045f12613de37" + "0722a570f6ea51ad01b3f121d211baf6" ], [ "FStar.Reflection.Arith.__proj__AndProp__item___0", @@ -489,7 +489,7 @@ "refinement_interpretation_Tm_refine_89dbe1937f992da203f6090dab7d31ca" ], 0, - "ec5e7e7319d9651ab46a67475aa7c2db" + "a0a0cdde2a7ec4a2dcafd2f59f596e90" ], [ "FStar.Reflection.Arith.__proj__AndProp__item___1", @@ -503,7 +503,7 @@ "refinement_interpretation_Tm_refine_89dbe1937f992da203f6090dab7d31ca" ], 0, - "7aafaf99c3d5f9278948a389632c1638" + "5b38fd5ad51a0d2e9aa6093af96fe57a" ], [ "FStar.Reflection.Arith.__proj__OrProp__item___0", @@ -517,7 +517,7 @@ "refinement_interpretation_Tm_refine_78ab5e76fe9ceea8ee9ba4e3cb26be20" ], 0, - "17f7e7c1e1ff3a6bcfa0a85552364059" + "d0cd88bce18fcbf204e99170616dc55f" ], [ "FStar.Reflection.Arith.__proj__OrProp__item___1", @@ -531,7 +531,7 @@ "refinement_interpretation_Tm_refine_78ab5e76fe9ceea8ee9ba4e3cb26be20" ], 0, - "a5d86f38643a5a33ea13820782a2b674" + "997a7dfef6e2e07bf6ace7386ab88edd" ], [ "FStar.Reflection.Arith.__proj__NotProp__item___0", @@ -545,7 +545,7 @@ "refinement_interpretation_Tm_refine_8d6d8505225a176ad0ad6d4659bf7428" ], 0, - "bc805d2330f5da3f49d0abc589de2558" + "5e43803f7c691aec8848ee7fb8e10be9" ], [ "FStar.Reflection.Arith.bind", @@ -562,7 +562,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "a648650554465837494f77094336f13c" + "c9ed030f0939ae087aa7f34fb6e611be" ], [ "FStar.Reflection.Arith.find_idx", @@ -573,8 +573,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", @@ -583,19 +582,18 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_b0dec681e90f3e7877c26fb291758fc9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5d37cf097513b91237ad10cb9a2c01f8", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "517042264b5ca2abbe57072552735ffa" + "866357948342f90cb10dc1857201938b" ], [ "FStar.Reflection.Arith.atom", @@ -606,53 +604,45 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Arith.find_idx.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "constructor_distinct_Prims.Cons", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Reflection.Basic_interpretation_Tm_arrow_bc0311d06811c7443939d05fd12cfc85", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Arith.st", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", - "equation_Prims.nat", + "equation_FStar.Reflection.Arith.st", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.UInt.pow2_values", - "partial_app_typing_c90069b06c76d257c4fad17b15aaea24", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_with_fuel_FStar.Reflection.Arith.find_idx.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "function_token_typing_FStar.Reflection.Basic.term_eq", + "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "kinding_Prims.list@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_79cdadb47c8ce16e3f6559ff6c35bf9c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_kinding_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "refinement_interpretation_Tm_refine_13544adafcb451cb7b2ac265f3a71934", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_918745f7523ef4e244cf28d017b01d6d", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Reflection.Arith.find_idx", "typing_FStar.UInt.fits" + "typing_FStar.Reflection.Arith.find_idx" ], 0, - "90d23db2703ed9d684daa18298519525" + "426a5b698aaaef224b93ca7f8146b775" ], [ "FStar.Reflection.Arith.list_unref", @@ -663,7 +653,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_b3c0854277d7a2504bfe9bc79ced53ac_3", + "@query", "binder_x_c3c4e0e62657306be2b01849c000fade_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -674,12 +664,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_b77d5cca756f1c8741f3c99559ed2b62", - "refinement_interpretation_Tm_refine_f9ebcac74e4c9440d95bc025f535e7b1", + "refinement_interpretation_Tm_refine_77fdcf065ebf3c0886e19f2214034c6e", + "refinement_interpretation_Tm_refine_e58579db407e0c84a031099c56146fd2", "subterm_ordering_Prims.Cons" ], 0, - "634ab0166f1ebfcee13ecfa5c835382c" + "64777679016137e0a21f948b0edbad87" ], [ "FStar.Reflection.Arith.as_arith_expr", @@ -691,9 +681,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Arith.list_unref.fuel_instrumented", "@query", + "FStar.Reflection.Arith_interpretation_Tm_arrow_6c7873ceb136abec73a520b0e1e6e2f2", "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", - "assumption_Prims.list__uu___haseq", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", @@ -706,13 +697,12 @@ "equation_FStar.Reflection.Arith.refined_list_t", "equation_FStar.Reflection.Data.argv", "equation_FStar.Reflection.Derived.Lemmas.collect_app_ref", - "equation_Prims.eqtype", + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Arith.list_unref.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Data.argv", - "function_token_typing_Prims.string", - "interpretation_Tm_abs_1baede7c598f077be5b3fca963da6675", + "interpretation_Tm_abs_1748a94bd9bdb84404181a05e9f738ee", "l_or-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", @@ -724,16 +714,17 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_20680e00f7c2a60d73003732368c00f1", - "refinement_interpretation_Tm_refine_28a8bfc1165e54eaaebc208876267dcb", + "refinement_interpretation_Tm_refine_212a3f5e01bee2b1286fdc39131944a0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "typing_FStar.Reflection.Arith.list_unref", + "typing_FStar.Reflection.Types.name", "typing_Prims.__proj__Cons__item__hd", "typing_Prims.__proj__Cons__item__tl", - "typing_Tm_abs_1baede7c598f077be5b3fca963da6675" + "typing_Tm_abs_1748a94bd9bdb84404181a05e9f738ee" ], 0, - "6e217964eaf63b11b9ba326a1e735043" + "6c52365ab52a04633a943ea5ffe85435" ], [ "FStar.Reflection.Arith.run_tm", @@ -761,7 +752,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "60a85ee1ee65b588c8b1cc410014c456" + "7fca6a2742daff3126e9eaba5252ff04" ], [ "FStar.Reflection.Arith.expr_to_string", @@ -807,7 +798,7 @@ "subterm_ordering_FStar.Reflection.Arith.Umod" ], 0, - "d134bd79b8b19b2b0459ad473b44591a" + "930e73af22f2ba32ef546cac841ceb97" ], [ "FStar.Reflection.Arith.compare_expr", @@ -832,7 +823,7 @@ "subterm_ordering_FStar.Reflection.Arith.Plus" ], 0, - "c8985ba181b5feb1411116a4660dfb3d" + "e812b116cdf21d0c18802aeaed2dacfd" ], [ "FStar.Reflection.Arith.__proj__Lit__item___0", @@ -846,7 +837,7 @@ "refinement_interpretation_Tm_refine_6d6b1d29bc1fb8239cb0ff88a26a2751" ], 0, - "b1cd5fe6cbde763632acb54edc74376f" + "0334fd50c56e879551f58152899c4c56" ], [ "FStar.Reflection.Arith.__proj__Atom__item___0", @@ -860,7 +851,7 @@ "refinement_interpretation_Tm_refine_cade8a8c5081f9434f32013987a49fa1" ], 0, - "267ebc255cd7dca9a4affd910cc5deb8" + "6ed26a5d655f0a6f247b093559ea0cbd" ], [ "FStar.Reflection.Arith.__proj__Atom__item___1", @@ -874,7 +865,7 @@ "refinement_interpretation_Tm_refine_cade8a8c5081f9434f32013987a49fa1" ], 0, - "b23a99284b7de937276bc62329221845" + "6f327781550fc59d4781626d716eb913" ], [ "FStar.Reflection.Arith.__proj__Plus__item___0", @@ -888,7 +879,7 @@ "refinement_interpretation_Tm_refine_f797a570d62b7458ebbffe4ac962bd16" ], 0, - "4cd0dbc28081c282375964b17f1f2d2b" + "e46041fa918631fa7a11badcc472374e" ], [ "FStar.Reflection.Arith.__proj__Plus__item___1", @@ -902,7 +893,7 @@ "refinement_interpretation_Tm_refine_f797a570d62b7458ebbffe4ac962bd16" ], 0, - "fc73569720e1391d4b23d78322c97d3c" + "245c0f93ac72fe4bd75f775c9e271d8e" ], [ "FStar.Reflection.Arith.__proj__Mult__item___0", @@ -916,7 +907,7 @@ "refinement_interpretation_Tm_refine_bd59f23e1bce95072925ad5b6c421fba" ], 0, - "e26828d1056cb9b5c6b78a6e1f3c5221" + "c2f8360672da11508f8e8e2a95df1107" ], [ "FStar.Reflection.Arith.__proj__Mult__item___1", @@ -930,7 +921,7 @@ "refinement_interpretation_Tm_refine_bd59f23e1bce95072925ad5b6c421fba" ], 0, - "98c77e2574a6700ac9dad7b2b0d838ff" + "ee847065f35a05c6392910623a970be7" ], [ "FStar.Reflection.Arith.__proj__Minus__item___0", @@ -944,7 +935,7 @@ "refinement_interpretation_Tm_refine_3b7012e3c575b8673d51dc7860cf93e6" ], 0, - "22c78e5f40f3c9b59d43a76281459b6a" + "0fff9b286c0b220063df388841eae78d" ], [ "FStar.Reflection.Arith.__proj__Minus__item___1", @@ -958,7 +949,7 @@ "refinement_interpretation_Tm_refine_3b7012e3c575b8673d51dc7860cf93e6" ], 0, - "8c879825eb0b0f01fb75ddf8b9789aec" + "5e275821853abdca3c8c27fe2813148c" ], [ "FStar.Reflection.Arith.__proj__Land__item___0", @@ -972,7 +963,7 @@ "refinement_interpretation_Tm_refine_a0f4f76097f4698ddbc0f63720974b45" ], 0, - "545933107e33f3b1515195a15b42f905" + "4ba00e276a7a8a9fb6d5b470845d99d6" ], [ "FStar.Reflection.Arith.__proj__Land__item___1", @@ -986,7 +977,7 @@ "refinement_interpretation_Tm_refine_a0f4f76097f4698ddbc0f63720974b45" ], 0, - "3e9f782abb075288ce3a41670f31def0" + "fb5c17db2364b3a261ebb2305247340c" ], [ "FStar.Reflection.Arith.__proj__Lxor__item___0", @@ -1000,7 +991,7 @@ "refinement_interpretation_Tm_refine_12c6d8cbb113b5ec9a5d93109ebfb4c3" ], 0, - "3d3efd292e56e721e8d40fec55b277c4" + "6baf9359d5b9cde4aeb932c960b99baf" ], [ "FStar.Reflection.Arith.__proj__Lxor__item___1", @@ -1014,7 +1005,7 @@ "refinement_interpretation_Tm_refine_12c6d8cbb113b5ec9a5d93109ebfb4c3" ], 0, - "86a06f6065dcc1ee7a8d3872ccd05951" + "4319e4f645a700a997179c1004d01a59" ], [ "FStar.Reflection.Arith.__proj__Lor__item___0", @@ -1028,7 +1019,7 @@ "refinement_interpretation_Tm_refine_7f736112c8b3c730150e9c5e7c2f3927" ], 0, - "aa1550eceaad1aa931e0b43b9f6ba772" + "7634217a7db1ea52d710387e2d57ebd8" ], [ "FStar.Reflection.Arith.__proj__Lor__item___1", @@ -1042,7 +1033,7 @@ "refinement_interpretation_Tm_refine_7f736112c8b3c730150e9c5e7c2f3927" ], 0, - "b3a68c255b4ca05ddfb612cc33ec95ac" + "18529ce4ee25e1e10594af2643886cf2" ], [ "FStar.Reflection.Arith.__proj__Ladd__item___0", @@ -1056,7 +1047,7 @@ "refinement_interpretation_Tm_refine_04f8dbd779ef3c830fa5cf4ee0df4032" ], 0, - "af104eb063796c04dc6f2575feb5afd1" + "dda446f2e36828b4d37d5eeb81b3d211" ], [ "FStar.Reflection.Arith.__proj__Ladd__item___1", @@ -1070,7 +1061,7 @@ "refinement_interpretation_Tm_refine_04f8dbd779ef3c830fa5cf4ee0df4032" ], 0, - "b89405000a9081ab5a6cf954297937e2" + "044dfcfd8cb2bc89364b6a77402ab9cf" ], [ "FStar.Reflection.Arith.__proj__Lsub__item___0", @@ -1084,7 +1075,7 @@ "refinement_interpretation_Tm_refine_9d616db54db45fd093ad0b90ef2e2ed0" ], 0, - "3fad90e0c6b46375d3698d3acbe006d0" + "c15b9cc4237f0c989d37ce1c7f2a4763" ], [ "FStar.Reflection.Arith.__proj__Lsub__item___1", @@ -1098,7 +1089,7 @@ "refinement_interpretation_Tm_refine_9d616db54db45fd093ad0b90ef2e2ed0" ], 0, - "88f370a46aba3467f9c387cf74638db6" + "08bc05a514cbda8c1d8db940c0dea058" ], [ "FStar.Reflection.Arith.__proj__Shl__item___0", @@ -1112,7 +1103,7 @@ "refinement_interpretation_Tm_refine_56aa83ae2e2f1232b2c6b55e5acd4f33" ], 0, - "b48d37f91816595f8b4c09f467f73639" + "a4436a3460cbeec5b616545bf92b9906" ], [ "FStar.Reflection.Arith.__proj__Shl__item___1", @@ -1126,7 +1117,7 @@ "refinement_interpretation_Tm_refine_56aa83ae2e2f1232b2c6b55e5acd4f33" ], 0, - "500fe39ea3614240ed6b715169920309" + "64631e41350b3c0afb8a7975430bc23f" ], [ "FStar.Reflection.Arith.__proj__Shr__item___0", @@ -1140,7 +1131,7 @@ "refinement_interpretation_Tm_refine_876ed53f1c829c75ab8c229ac97c4b4d" ], 0, - "b3e8e9c9a79defd3b5e50e40f38f901e" + "46e74b4da0566170f0326d1cbca4a1bb" ], [ "FStar.Reflection.Arith.__proj__Shr__item___1", @@ -1154,7 +1145,7 @@ "refinement_interpretation_Tm_refine_876ed53f1c829c75ab8c229ac97c4b4d" ], 0, - "a7f984127f64e3b53f396317c4e8c2d5" + "685be7fecace7535127ca035364dacc4" ], [ "FStar.Reflection.Arith.__proj__Neg__item___0", @@ -1168,7 +1159,7 @@ "refinement_interpretation_Tm_refine_2b503333970a09999d3f3427b6212452" ], 0, - "5c1b241c299b0cd4972d39c809737612" + "25b622f44bb638d2898ee7be6e88b326" ], [ "FStar.Reflection.Arith.__proj__Udiv__item___0", @@ -1182,7 +1173,7 @@ "refinement_interpretation_Tm_refine_a641df3d24006688884388469673e289" ], 0, - "87dc595bfd3597a753e1319c8a0f7a50" + "3ab6770e1dd4347bd94741d237590aca" ], [ "FStar.Reflection.Arith.__proj__Udiv__item___1", @@ -1196,7 +1187,7 @@ "refinement_interpretation_Tm_refine_a641df3d24006688884388469673e289" ], 0, - "04f56df96538ffbf2509246803f6d4bb" + "8da90e7c8a08fa956fbc3eada0c40c48" ], [ "FStar.Reflection.Arith.__proj__Umod__item___0", @@ -1210,7 +1201,7 @@ "refinement_interpretation_Tm_refine_7aebea438e6193438a5f24f10337d221" ], 0, - "7877368abf1b2e31ef2998b37df0cb84" + "4d8b86b46a804a1e5282f1c7169fe4bf" ], [ "FStar.Reflection.Arith.__proj__Umod__item___1", @@ -1224,7 +1215,7 @@ "refinement_interpretation_Tm_refine_7aebea438e6193438a5f24f10337d221" ], 0, - "f2fe9b6e0456474df3abf5b914f8a1b1" + "ccd54aad74c6b95c9074a1618f352f14" ], [ "FStar.Reflection.Arith.__proj__MulMod__item___0", @@ -1238,7 +1229,7 @@ "refinement_interpretation_Tm_refine_2f8b8d85b08124e0cf0c7d9468594c77" ], 0, - "8c50cbb911e2749a0a4eb76c07c0dc4a" + "ed541dda14ecd9c1cebb0bfb9a52ff00" ], [ "FStar.Reflection.Arith.__proj__MulMod__item___1", @@ -1252,7 +1243,7 @@ "refinement_interpretation_Tm_refine_2f8b8d85b08124e0cf0c7d9468594c77" ], 0, - "971a4c75b346bd97529578bd45856c33" + "d1416c0ab3670d8c428d5f816ba8cece" ], [ "FStar.Reflection.Arith.__proj__NatToBv__item___0", @@ -1266,7 +1257,7 @@ "refinement_interpretation_Tm_refine_1d0defb913a4ce54df82c51bcbfdf7e8" ], 0, - "017cdec56bf24efa89d0d6b68568126a" + "6653ee00bc12648d966ff21cc9112d40" ], [ "FStar.Reflection.Arith.__proj__CompProp__item___0", @@ -1280,7 +1271,7 @@ "refinement_interpretation_Tm_refine_5110d8d8a42e720b7f1e294163c07a2b" ], 0, - "486760e91c8db41d9e8426b33a5a0f35" + "300d743eb613df929502f8aa442bc8b5" ], [ "FStar.Reflection.Arith.__proj__CompProp__item___1", @@ -1294,7 +1285,7 @@ "refinement_interpretation_Tm_refine_5110d8d8a42e720b7f1e294163c07a2b" ], 0, - "86bd5b130cdb3201e74073c77dc24128" + "7ada0e44cf61ce2f346db8a3cbd51a1f" ], [ "FStar.Reflection.Arith.__proj__CompProp__item___2", @@ -1308,7 +1299,7 @@ "refinement_interpretation_Tm_refine_5110d8d8a42e720b7f1e294163c07a2b" ], 0, - "7dda2ee42ab3122f398a1b271c71928c" + "5db30cda12186052e58e48b6cbc18e15" ], [ "FStar.Reflection.Arith.__proj__AndProp__item___0", @@ -1322,7 +1313,7 @@ "refinement_interpretation_Tm_refine_89dbe1937f992da203f6090dab7d31ca" ], 0, - "66198d5caf0a91911866f7469b8046b1" + "576b7d6df16289a02f3e9317164ce556" ], [ "FStar.Reflection.Arith.__proj__AndProp__item___1", @@ -1336,7 +1327,7 @@ "refinement_interpretation_Tm_refine_89dbe1937f992da203f6090dab7d31ca" ], 0, - "f78c36bedd9ed1e922808361ae35ed6d" + "57e3798edfb55437d0d56b4f8f5991eb" ], [ "FStar.Reflection.Arith.__proj__OrProp__item___0", @@ -1350,7 +1341,7 @@ "refinement_interpretation_Tm_refine_78ab5e76fe9ceea8ee9ba4e3cb26be20" ], 0, - "505bac921405f8d58c34316a3b62d31b" + "09cc07de12c346e21e255b83ca073593" ], [ "FStar.Reflection.Arith.__proj__OrProp__item___1", @@ -1364,7 +1355,7 @@ "refinement_interpretation_Tm_refine_78ab5e76fe9ceea8ee9ba4e3cb26be20" ], 0, - "892daa43aa07b1932bad945aa314f697" + "38d54b39f6a38b891010f4228d97520d" ], [ "FStar.Reflection.Arith.__proj__NotProp__item___0", @@ -1378,7 +1369,7 @@ "refinement_interpretation_Tm_refine_8d6d8505225a176ad0ad6d4659bf7428" ], 0, - "9e54931494bdc99d4d724049241a9d2c" + "747ded3379aff3e9236dd1f0c03a843c" ], [ "FStar.Reflection.Arith.bind", @@ -1395,7 +1386,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "d7a20400568436f8662974d60ce17ff8" + "6d9cfdbb26acd6b0ab93a62cccddaee8" ], [ "FStar.Reflection.Arith.find_idx", @@ -1406,8 +1397,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", @@ -1416,19 +1406,18 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_b0dec681e90f3e7877c26fb291758fc9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5d37cf097513b91237ad10cb9a2c01f8", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "8906661f9d9abc5a8b472c857bf55342" + "82819eba5c1b855846d4128070a7ef34" ], [ "FStar.Reflection.Arith.atom", @@ -1439,53 +1428,45 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Arith.find_idx.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "constructor_distinct_Prims.Cons", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Reflection.Basic_interpretation_Tm_arrow_bc0311d06811c7443939d05fd12cfc85", + "constructor_distinct_FStar.Pervasives.Native.None", + "constructor_distinct_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Arith.st", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", - "equation_Prims.nat", + "equation_FStar.Reflection.Arith.st", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.UInt.pow2_values", - "partial_app_typing_c90069b06c76d257c4fad17b15aaea24", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_with_fuel_FStar.Reflection.Arith.find_idx.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.Native.option", + "function_token_typing_FStar.Reflection.Basic.term_eq", + "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "kinding_Prims.list@tok", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_79cdadb47c8ce16e3f6559ff6c35bf9c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_kinding_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", + "refinement_interpretation_Tm_refine_13544adafcb451cb7b2ac265f3a71934", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_918745f7523ef4e244cf28d017b01d6d", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Reflection.Arith.find_idx", "typing_FStar.UInt.fits" + "typing_FStar.Reflection.Arith.find_idx" ], 0, - "78f7b7d503f9bf6250a671e715d676b1" + "e897a2eaee82d3c123268cc0ea81246a" ], [ "FStar.Reflection.Arith.list_unref", @@ -1496,7 +1477,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_b3c0854277d7a2504bfe9bc79ced53ac_3", + "@query", "binder_x_c3c4e0e62657306be2b01849c000fade_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -1507,12 +1488,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_b77d5cca756f1c8741f3c99559ed2b62", - "refinement_interpretation_Tm_refine_f9ebcac74e4c9440d95bc025f535e7b1", + "refinement_interpretation_Tm_refine_77fdcf065ebf3c0886e19f2214034c6e", + "refinement_interpretation_Tm_refine_e58579db407e0c84a031099c56146fd2", "subterm_ordering_Prims.Cons" ], 0, - "1210acd27c1c5406dbf204fac07a70b1" + "07cc71fd7741649fa4bf3d8f9345a803" ], [ "FStar.Reflection.Arith.as_arith_expr", @@ -1524,9 +1505,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", "@fuel_correspondence_FStar.Reflection.Arith.list_unref.fuel_instrumented", "@query", + "FStar.Reflection.Arith_interpretation_Tm_arrow_6c7873ceb136abec73a520b0e1e6e2f2", "FStar.Reflection.Data_pretyping_b90ba98501c0444263072cb94ae6e3aa", "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", - "assumption_Prims.list__uu___haseq", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_FStar.Reflection.Data.Q_Explicit@tok", @@ -1539,13 +1521,12 @@ "equation_FStar.Reflection.Arith.refined_list_t", "equation_FStar.Reflection.Data.argv", "equation_FStar.Reflection.Derived.Lemmas.collect_app_ref", - "equation_Prims.eqtype", + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", "equation_with_fuel_FStar.Reflection.Arith.list_unref.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Reflection.Data.argv", - "function_token_typing_Prims.string", - "interpretation_Tm_abs_1baede7c598f077be5b3fca963da6675", + "interpretation_Tm_abs_1748a94bd9bdb84404181a05e9f738ee", "l_or-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", @@ -1557,16 +1538,17 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_20680e00f7c2a60d73003732368c00f1", - "refinement_interpretation_Tm_refine_28a8bfc1165e54eaaebc208876267dcb", + "refinement_interpretation_Tm_refine_212a3f5e01bee2b1286fdc39131944a0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", "typing_FStar.Reflection.Arith.list_unref", + "typing_FStar.Reflection.Types.name", "typing_Prims.__proj__Cons__item__hd", "typing_Prims.__proj__Cons__item__tl", - "typing_Tm_abs_1baede7c598f077be5b3fca963da6675" + "typing_Tm_abs_1748a94bd9bdb84404181a05e9f738ee" ], 0, - "e99beecc572804020ee3ff7d2271ad8d" + "0a119e14a3f7315395a828be944df228" ], [ "FStar.Reflection.Arith.run_tm", @@ -1581,7 +1563,8 @@ "disc_equation_FStar.Pervasives.Inl", "disc_equation_FStar.Pervasives.Inr", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", + "equation_FStar.Pervasives.Native.snd", + "equation_FStar.Reflection.Arith.st", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.either", "fuel_guarded_inversion_FStar.Tactics.Result.__result", @@ -1594,7 +1577,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "a0a5b9f1e0eb4df271b77d8f75a43e3b" + "4f274a51e584b35a17c79941b36ebe47" ], [ "FStar.Reflection.Arith.expr_to_string", @@ -1640,7 +1623,7 @@ "subterm_ordering_FStar.Reflection.Arith.Umod" ], 0, - "587e4a7123fb0a3aa99942e7b299f570" + "cdc1ac54fe3eab22ea238740b6313666" ], [ "FStar.Reflection.Arith.compare_expr", @@ -1665,7 +1648,7 @@ "subterm_ordering_FStar.Reflection.Arith.Plus" ], 0, - "e6bcf0d37d814574f7dbef74b9280a2c" + "53fa95bac8365c21657802eed65d2311" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Reflection.Basic.fst b/ulib/FStar.Reflection.Basic.fst index 5d8488e21d2..ee583e2470d 100644 --- a/ulib/FStar.Reflection.Basic.fst +++ b/ulib/FStar.Reflection.Basic.fst @@ -48,9 +48,11 @@ assume val pack_binder : bv -> aqualv -> binder assume val lookup_typ : env -> name -> option sigelt assume val compare_bv : bv -> bv -> order assume val binders_of_env : env -> binders -assume val moduleof : env -> list string +assume val moduleof : env -> name assume val is_free : bv -> term -> bool assume val lookup_attr : term -> env -> list fv +assume val all_defs_in_env : env -> list fv +assume val defs_in_module : env -> name -> list fv assume val term_eq : term -> term -> bool assume val term_to_string : term -> string assume val comp_to_string : comp -> string diff --git a/ulib/FStar.Reflection.Basic.fst.hints b/ulib/FStar.Reflection.Basic.fst.hints index 4a273103fc0..88029205e53 100644 --- a/ulib/FStar.Reflection.Basic.fst.hints +++ b/ulib/FStar.Reflection.Basic.fst.hints @@ -1 +1 @@ -[ "„ƒÜì$LüÐ$\f\u000b.þ…zð", [] ] \ No newline at end of file +[ "\u001b\u0019\fjÃöá\u000eÊ\u0003ªÔÓcÈž", [] ] \ No newline at end of file diff --git a/ulib/FStar.Reflection.Data.fst.hints b/ulib/FStar.Reflection.Data.fst.hints index ebee11e84f3..edd5599ff2e 100644 --- a/ulib/FStar.Reflection.Data.fst.hints +++ b/ulib/FStar.Reflection.Data.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_c08a4ee11c42be94891bcd718060ca92" ], 0, - "b5015001d94e8e4909d9c7257df4756f" + "853e88f05721ddccf345f7255c19a9e6" ], [ "FStar.Reflection.Data.__proj__C_String__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_962840888fae5b535c54118d49e496bf" ], 0, - "20d0618f9316b37eb9d701b64162e714" + "fc61e50cdd0821dd6e923dd362d5558b" ], [ "FStar.Reflection.Data.__proj__C_Range__item___0", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_1c4955f10fca96488533ede5f0a52638" ], 0, - "b4399daee5357287ae6d6a74bb547977" + "b94c5c2f9c00224d7c0e5d2f195ff784" ], [ "FStar.Reflection.Data.__proj__C_Reflect__item___0", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_4cc167f1ff8ad32c71798780d20b282e" ], 0, - "0c72035b5239c9cb90298bccd14cd21e" + "2b4b63a7f1d00a96e7f9597084becc83" ], [ "FStar.Reflection.Data.__proj__Pat_Constant__item___0", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_93ebabe48efa4888ac758a040954784f" ], 0, - "9dc5ee77e8f0afb53e4ff3d54b42ac29" + "dd5a1f9a96030cc700cc6aa747c01af7" ], [ "FStar.Reflection.Data.__proj__Pat_Cons__item___0", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_dde9d25014415473550f124e06504c16" ], 0, - "9dc2b4fa9f87114e22c00bf64054cd0c" + "911d46da9138506345340a523aa5bc38" ], [ "FStar.Reflection.Data.__proj__Pat_Cons__item___1", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_dde9d25014415473550f124e06504c16" ], 0, - "c5d4edfb834690c4608f5c23b5baf0a0" + "e490fcd52490e5d45a862ee295d5517f" ], [ "FStar.Reflection.Data.__proj__Pat_Var__item___0", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_e9e10a87c0926c88822ce8a190a55063" ], 0, - "24208c8741a33da1e2b0be5ab674550c" + "fdb8c58e340bbbd9b78193fec6192ce9" ], [ "FStar.Reflection.Data.__proj__Pat_Wild__item___0", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_2bd8e811315fcd591a6321d9e806533a" ], 0, - "302b54113e17a5abe46c173d1461df0d" + "413dcd56dd303776db359d4af4b12655" ], [ "FStar.Reflection.Data.__proj__Pat_Dot_Term__item___0", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_1e1371e7a5d344539ad5a730bbad78a5" ], 0, - "23761f5f09f794cb331e749af59eea7d" + "99d67181ae6a9cc915bb96bf56c1c4b9" ], [ "FStar.Reflection.Data.__proj__Pat_Dot_Term__item___1", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_1e1371e7a5d344539ad5a730bbad78a5" ], 0, - "b7831f06809738f02d9d6624226c47ba" + "ce0d11c542864ac452ffc52893410e59" ], [ "FStar.Reflection.Data.__proj__Q_Meta__item___0", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_554c6aa863a092a64c8aa33c423562eb" ], 0, - "371e2f90ea30abf52294a43e8ad941bc" + "389d4e6f995d7aa8cf7153c8aa922888" ], [ "FStar.Reflection.Data.__proj__Tv_Var__item__v", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_3eea560ac528b6a63ae8a0784a5c2051" ], 0, - "00fd8a039d4a4fd02f77176b75b66a38" + "6b4d5e7319c21d9535e32400e6aa43e9" ], [ "FStar.Reflection.Data.__proj__Tv_BVar__item__v", @@ -195,7 +195,7 @@ "refinement_interpretation_Tm_refine_aa0290e944ffbab8a78d62f482f02e0a" ], 0, - "d5b252c96a4b4446a39ebaa302b15640" + "67fe0d29f57f0678d425d94b1824ee4e" ], [ "FStar.Reflection.Data.__proj__Tv_FVar__item__v", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_ad0c440fdab6ffc192ca7b9c26ec7060" ], 0, - "685e982ea5d9285ab7d9c5fd327c7274" + "44e9370c413a00c74966f6a9823c0d67" ], [ "FStar.Reflection.Data.__proj__Tv_App__item__hd", @@ -223,7 +223,7 @@ "refinement_interpretation_Tm_refine_369edc208ef003a3f503fc30ee54ef77" ], 0, - "b224894f14d308bbb35d8f47dd20959a" + "6cb06b08d2066262b8e5471594077e7f" ], [ "FStar.Reflection.Data.__proj__Tv_App__item__a", @@ -237,7 +237,7 @@ "refinement_interpretation_Tm_refine_369edc208ef003a3f503fc30ee54ef77" ], 0, - "492744092f5838b81d00c42d2265abdf" + "da1edcc98172e3bd5d2df86acbcc0e7f" ], [ "FStar.Reflection.Data.__proj__Tv_Abs__item__bv", @@ -251,7 +251,7 @@ "refinement_interpretation_Tm_refine_0890b9859e9c53ebf7a55ed59cccd0b8" ], 0, - "e3b9828facef3ec09db8ad666dd56313" + "405b6c1c037378380131c82cb7a228e3" ], [ "FStar.Reflection.Data.__proj__Tv_Abs__item__body", @@ -265,7 +265,7 @@ "refinement_interpretation_Tm_refine_0890b9859e9c53ebf7a55ed59cccd0b8" ], 0, - "905eddae1d7b3ec7d672460a197cfe75" + "bab4d6f82ae06b8bcf471817c9dd9ff1" ], [ "FStar.Reflection.Data.__proj__Tv_Arrow__item__bv", @@ -279,7 +279,7 @@ "refinement_interpretation_Tm_refine_7f35847acbb7ec9362d723780e73642b" ], 0, - "63a4e7655a4e01e08413ca362d72fda6" + "9fff065f6a18ce5085da14b20696a3ef" ], [ "FStar.Reflection.Data.__proj__Tv_Arrow__item__c", @@ -293,7 +293,7 @@ "refinement_interpretation_Tm_refine_7f35847acbb7ec9362d723780e73642b" ], 0, - "4a0d2e3cef1d1888273826abd4931dfa" + "866e7398fb1fb4b541648148c5edd1d7" ], [ "FStar.Reflection.Data.__proj__Tv_Type__item___0", @@ -307,7 +307,7 @@ "refinement_interpretation_Tm_refine_46e071c592a079ed4ad7345ac56f609b" ], 0, - "e8ca61a0f7d16a4067c112f2b9acc275" + "4e7fcb172e739f90724a457613e918c5" ], [ "FStar.Reflection.Data.__proj__Tv_Refine__item__bv", @@ -321,7 +321,7 @@ "refinement_interpretation_Tm_refine_6b626a0b655f5b02ad9415dccdffd80e" ], 0, - "4f7fb891bf4062632dbacdd98e5be20d" + "0cc04b8a7d0bcaa25595338d216b57f8" ], [ "FStar.Reflection.Data.__proj__Tv_Refine__item__ref", @@ -335,7 +335,7 @@ "refinement_interpretation_Tm_refine_6b626a0b655f5b02ad9415dccdffd80e" ], 0, - "558912036c0fce085922f9b80d87e446" + "d6bd6ec416215b063290a2e9a2cfb5b3" ], [ "FStar.Reflection.Data.__proj__Tv_Const__item___0", @@ -349,7 +349,7 @@ "refinement_interpretation_Tm_refine_6367ecde002ce94c1d6d2d25e68fc6d4" ], 0, - "83a8b3f6e1613282e23b14c73c3390e1" + "430724e07bb3a2f16ba54ce087216ab0" ], [ "FStar.Reflection.Data.__proj__Tv_Uvar__item___0", @@ -363,7 +363,7 @@ "refinement_interpretation_Tm_refine_18b717e4d9a60bc505138cd43435473b" ], 0, - "fd3f53ba4df3901f32b3f2414e0b9988" + "b812cadb6e5bb9c1aa221b8257e20034" ], [ "FStar.Reflection.Data.__proj__Tv_Uvar__item___1", @@ -377,7 +377,7 @@ "refinement_interpretation_Tm_refine_18b717e4d9a60bc505138cd43435473b" ], 0, - "3843452e818d9ac1fdc056d7fb2b4754" + "404fa4b716f5c5f069fe7df0cd679950" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__recf", @@ -391,7 +391,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "8d982ceee98ad1740e4d0ae81239061d" + "47e05dc29b8224a0312c98306c5dca81" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__bv", @@ -405,7 +405,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "9eef55a7963b99ecda7d83ecc82208f0" + "4b2bc450248ea90a972209d81ac1ce83" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__def", @@ -419,7 +419,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "a7df1d27b05d26c8cdefaa9c3a8a4bb4" + "8b9bc03fa4d6b8db7b5980b020a96b42" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__body", @@ -433,7 +433,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "1e5e723096ce4feba2121f19fcdf9af5" + "643cc1a8479e648695da7285d43aeddf" ], [ "FStar.Reflection.Data.__proj__Tv_Match__item__scrutinee", @@ -447,7 +447,7 @@ "refinement_interpretation_Tm_refine_d9b78c2ca8fd6d8967a4cada27904b12" ], 0, - "9054df286ea97b430027afa1158159e7" + "6a38530623342876f7ff262836fe4222" ], [ "FStar.Reflection.Data.__proj__Tv_Match__item__brs", @@ -461,7 +461,7 @@ "refinement_interpretation_Tm_refine_d9b78c2ca8fd6d8967a4cada27904b12" ], 0, - "8abfb3da53e7ccd52d8e2351f7bfd37c" + "00f7ee4f339c23d4bcc8d91566fdbd5b" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedT__item__e", @@ -475,7 +475,7 @@ "refinement_interpretation_Tm_refine_d2f80613d5d27f28b91b0c0b5c1f255f" ], 0, - "a282f7617a8fcb50c89b1496eff95d14" + "3ed38ffff16bb09b6b545a838c3283a7" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedT__item__t", @@ -489,7 +489,7 @@ "refinement_interpretation_Tm_refine_d2f80613d5d27f28b91b0c0b5c1f255f" ], 0, - "ad5e15bb7c3fe0eae436e69cbb32ed13" + "f229f6978d5de8051fb90fd6d829d161" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedT__item__tac", @@ -503,7 +503,7 @@ "refinement_interpretation_Tm_refine_d2f80613d5d27f28b91b0c0b5c1f255f" ], 0, - "82e646da4943c7086b124059a3585eb7" + "1406f8ee0d773b6c19d9477ac62dedf8" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedC__item__e", @@ -517,7 +517,7 @@ "refinement_interpretation_Tm_refine_643944812fc7491a6a30d8c514f7203f" ], 0, - "3a9fb15445e4999d0630e273fb6df194" + "45ce53b4f029946da4f5a56ccf118212" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedC__item__c", @@ -531,7 +531,7 @@ "refinement_interpretation_Tm_refine_643944812fc7491a6a30d8c514f7203f" ], 0, - "362d7d7c0cee805364dfee2f416f70f9" + "a659482bc1aa4ba2c4052b91c01568d7" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedC__item__tac", @@ -545,7 +545,7 @@ "refinement_interpretation_Tm_refine_643944812fc7491a6a30d8c514f7203f" ], 0, - "669b1d23f714b8fee167a4028febf9c1" + "ff136b29d8bc898f568937827921f21a" ], [ "FStar.Reflection.Data.__proj__C_Total__item__ret", @@ -559,7 +559,7 @@ "refinement_interpretation_Tm_refine_c49d8c25a13c3bb2a3cf94711118bdc7" ], 0, - "a4cfe80cdd4ff85f38e82e79d12f7a20" + "f6f8f68d83a01553f6deb8778e0babea" ], [ "FStar.Reflection.Data.__proj__C_Total__item__decr", @@ -573,7 +573,7 @@ "refinement_interpretation_Tm_refine_c49d8c25a13c3bb2a3cf94711118bdc7" ], 0, - "2e13aa25919e6576a0d3da909cd34ec5" + "ca3a71affbb92f0e26b1648525b42ec0" ], [ "FStar.Reflection.Data.__proj__C_Lemma__item___0", @@ -587,7 +587,7 @@ "refinement_interpretation_Tm_refine_0880955f1444d2e06a25b95bff8e3d30" ], 0, - "da876989a556650835c20a747a4e4a93" + "daceccb3b4a07663d496ce022a936ae9" ], [ "FStar.Reflection.Data.__proj__C_Lemma__item___1", @@ -601,7 +601,7 @@ "refinement_interpretation_Tm_refine_0880955f1444d2e06a25b95bff8e3d30" ], 0, - "f45d6b5fb6a08815226890cdf68d2cdc" + "2c7b3f6ac1735e1e763dbed49a68c4e8" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__r", @@ -615,7 +615,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "491715890fcdbc06c0efd21adf10f403" + "2f4433e5993b6533510c3004b910c027" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__fv", @@ -629,7 +629,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "4327bef03967fd9564f28a5facae7f0e" + "445cf2f213f9be12756b53e62f819a96" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__us", @@ -643,7 +643,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "8ab95941f2e82be78a1b4cc28647391c" + "5e798d87deb203b0ecc5d5a46eb30739" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__typ", @@ -657,7 +657,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "ced0110f94f717706e9ebbac2208fa92" + "594598c7f4316e24e478f4c5f02c053b" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__def", @@ -671,7 +671,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "c212f35fd16e6b975c6a7cd5fb41ee64" + "125d2127f405499eef1d8c9f9d95528a" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__nm", @@ -685,7 +685,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "e5700d61acf05db1bb5313e238104183" + "87790f03141973c60f16a69ba6f3d126" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__univs", @@ -699,7 +699,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "0b8914c51b5cced70b9d07e56a3c8fb6" + "5bcdeb322c1b041a90a5c923f0f80ef9" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__params", @@ -713,7 +713,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "2454d20e0a112281b54d3438042a7470" + "2ae83617e1557718fdd67736c4e2f4d2" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__typ", @@ -727,7 +727,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "8b5f837aaeb2f77982b6cd8930482bc1" + "ed3af4f9ceefa089525e4904c043945c" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__cts", @@ -741,7 +741,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "a5eedabf664396d3012b39ce4a13c63e" + "8553a9def7a238b36e0620ac72142f71" ], [ "FStar.Reflection.Data.__proj__Sg_Constructor__item__name", @@ -755,7 +755,7 @@ "refinement_interpretation_Tm_refine_be9732ab222b068e9247b3eeb7f7dd02" ], 0, - "b05d739619beae0ef5e720b7f298e855" + "8cc17dbe6537c019989328f614efdca0" ], [ "FStar.Reflection.Data.__proj__Sg_Constructor__item__typ", @@ -769,7 +769,7 @@ "refinement_interpretation_Tm_refine_be9732ab222b068e9247b3eeb7f7dd02" ], 0, - "c5f56d5a6bd90f2e0f3063a0b3bbd86e" + "948861e080faa9c3747f5e7abdd0a68f" ], [ "FStar.Reflection.Data.var", @@ -779,11 +779,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a35693ff8e6ebd51a2066e07ba4be454" + "ff713ab5bd9947f55a398b34c15aaf95" ], [ "FStar.Reflection.Data.exp", @@ -794,11 +794,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "08119f70a43c49f6eea8dfea06caa401" + "e250a83779585abfb2281f394c9e5149" ], [ "FStar.Reflection.Data.__proj__Var__item___0", @@ -812,7 +812,7 @@ "refinement_interpretation_Tm_refine_9336c13eebdfb5f947bab56afc3c0eaa" ], 0, - "7e1e02f70c271eb0576b3d1b7df87558" + "af2818add871e6342cf1da936519b54c" ], [ "FStar.Reflection.Data.__proj__Mult__item___0", @@ -826,7 +826,7 @@ "refinement_interpretation_Tm_refine_cdc0577b7fee981f416c14468c6ece13" ], 0, - "0ebb94ba48513db9ec6f079d31637041" + "e9ff564b13374d4d59ce3ed4cdcfed12" ], [ "FStar.Reflection.Data.__proj__Mult__item___1", @@ -840,7 +840,7 @@ "refinement_interpretation_Tm_refine_cdc0577b7fee981f416c14468c6ece13" ], 0, - "54e25569d657936711200a38209d0b3f" + "5873f40a7b5e2705aa39eb83c4a52e39" ], [ "FStar.Reflection.Data.forall_list", @@ -854,7 +854,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "b918a0ac52d8d09c6a33214e5dd7c529" + "a745b27f1af6c0a1318740fbe6568e2c" ], [ "FStar.Reflection.Data.smaller", @@ -881,7 +881,7 @@ "fuel_guarded_inversion_FStar.Reflection.Data.term_view" ], 0, - "dcd963fc956a5e9a77644bcbae23009a" + "48586150505d217c92a97ae5cc8f2d9d" ], [ "FStar.Reflection.Data.smaller_comp", @@ -902,7 +902,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "5907bbfdad7de30850ba4f90f543899d" + "2af510c7fcb55ed3a70db33c09592d55" ], [ "FStar.Reflection.Data.__proj__C_Int__item___0", @@ -916,7 +916,7 @@ "refinement_interpretation_Tm_refine_c08a4ee11c42be94891bcd718060ca92" ], 0, - "ce0eb160095def5807033d9d650d797f" + "5519f846cf54e9ebf8528ecf06787fbe" ], [ "FStar.Reflection.Data.__proj__C_String__item___0", @@ -930,7 +930,7 @@ "refinement_interpretation_Tm_refine_962840888fae5b535c54118d49e496bf" ], 0, - "0210ff3c1f14d9750f6a411eb19697e5" + "f0a594d907572fa45b38bc832b19b0c4" ], [ "FStar.Reflection.Data.__proj__C_Range__item___0", @@ -944,7 +944,7 @@ "refinement_interpretation_Tm_refine_1c4955f10fca96488533ede5f0a52638" ], 0, - "c6b165119bf23f3e3e0e19bad9fee106" + "a522521f1cad005eabbcb813fa860ad7" ], [ "FStar.Reflection.Data.__proj__C_Reflect__item___0", @@ -958,7 +958,7 @@ "refinement_interpretation_Tm_refine_4cc167f1ff8ad32c71798780d20b282e" ], 0, - "56e469b9790073e348c0420a2dfc0352" + "b546d995a7df1929998a9532b5a50220" ], [ "FStar.Reflection.Data.__proj__Pat_Constant__item___0", @@ -972,7 +972,7 @@ "refinement_interpretation_Tm_refine_93ebabe48efa4888ac758a040954784f" ], 0, - "f88f33bad440a22560c8b43628c1e569" + "30135ef174ab6ec7fafb15a9dcacf25f" ], [ "FStar.Reflection.Data.__proj__Pat_Cons__item___0", @@ -986,7 +986,7 @@ "refinement_interpretation_Tm_refine_dde9d25014415473550f124e06504c16" ], 0, - "519f3cb8b3f4f2d10c1f974b3b557084" + "ff7ea974d3814e89008a864e51fb809b" ], [ "FStar.Reflection.Data.__proj__Pat_Cons__item___1", @@ -1000,7 +1000,7 @@ "refinement_interpretation_Tm_refine_dde9d25014415473550f124e06504c16" ], 0, - "1b758324d2a6e0eb07b8e1f5c2c6a9b0" + "1539af97cb1d46feb59c94325f4d72c3" ], [ "FStar.Reflection.Data.__proj__Pat_Var__item___0", @@ -1014,7 +1014,7 @@ "refinement_interpretation_Tm_refine_e9e10a87c0926c88822ce8a190a55063" ], 0, - "aca99aaeb50ec754a434d215fd4c469e" + "a9cbc3ece343c679038a7c19103601a6" ], [ "FStar.Reflection.Data.__proj__Pat_Wild__item___0", @@ -1028,7 +1028,7 @@ "refinement_interpretation_Tm_refine_2bd8e811315fcd591a6321d9e806533a" ], 0, - "d4f86c257c32197b953d1a17f3260bed" + "f5c4d379fe3b38d970fc7f26c939ec76" ], [ "FStar.Reflection.Data.__proj__Pat_Dot_Term__item___0", @@ -1042,7 +1042,7 @@ "refinement_interpretation_Tm_refine_1e1371e7a5d344539ad5a730bbad78a5" ], 0, - "49b797e7a3c77d4d85b19a47af5aa6ef" + "62d5990d36d04e38335d8090e1213544" ], [ "FStar.Reflection.Data.__proj__Pat_Dot_Term__item___1", @@ -1056,7 +1056,7 @@ "refinement_interpretation_Tm_refine_1e1371e7a5d344539ad5a730bbad78a5" ], 0, - "60c173732afce887021312a1d6561337" + "4065b460f0a3d9c1aad5980116dd92ef" ], [ "FStar.Reflection.Data.__proj__Q_Meta__item___0", @@ -1070,7 +1070,7 @@ "refinement_interpretation_Tm_refine_554c6aa863a092a64c8aa33c423562eb" ], 0, - "20fe716b00c6db4fbf7ea5fae7a94901" + "05906d3b0f4ca77de8c56f9694b2ce70" ], [ "FStar.Reflection.Data.__proj__Tv_Var__item__v", @@ -1084,7 +1084,7 @@ "refinement_interpretation_Tm_refine_3eea560ac528b6a63ae8a0784a5c2051" ], 0, - "f4a921a8b08929417b35f4168db9f01f" + "76c222928dca90b894f6fafcc0735190" ], [ "FStar.Reflection.Data.__proj__Tv_BVar__item__v", @@ -1098,7 +1098,7 @@ "refinement_interpretation_Tm_refine_aa0290e944ffbab8a78d62f482f02e0a" ], 0, - "22093f28843077e80a2aa101684d5c62" + "55bea2b1073fc227f27f66f916104e09" ], [ "FStar.Reflection.Data.__proj__Tv_FVar__item__v", @@ -1112,7 +1112,7 @@ "refinement_interpretation_Tm_refine_ad0c440fdab6ffc192ca7b9c26ec7060" ], 0, - "5e18ffe4d629f7d4a419fc486b375c42" + "faec44844c3e90b5964ae4df590e027c" ], [ "FStar.Reflection.Data.__proj__Tv_App__item__hd", @@ -1126,7 +1126,7 @@ "refinement_interpretation_Tm_refine_369edc208ef003a3f503fc30ee54ef77" ], 0, - "5f925be2eb7e6100e5358f2a27820528" + "6b884121d533d83eb63d44c2d6318826" ], [ "FStar.Reflection.Data.__proj__Tv_App__item__a", @@ -1140,7 +1140,7 @@ "refinement_interpretation_Tm_refine_369edc208ef003a3f503fc30ee54ef77" ], 0, - "c613b984fa516c972d30395fc59b226c" + "fbcf0d86ada48a6b69a356e520e8b95d" ], [ "FStar.Reflection.Data.__proj__Tv_Abs__item__bv", @@ -1154,7 +1154,7 @@ "refinement_interpretation_Tm_refine_0890b9859e9c53ebf7a55ed59cccd0b8" ], 0, - "c4c9f09f6aa76f6b7e6e903b6980e5ce" + "908a6403511ff010edd4c2d808cf7b11" ], [ "FStar.Reflection.Data.__proj__Tv_Abs__item__body", @@ -1168,7 +1168,7 @@ "refinement_interpretation_Tm_refine_0890b9859e9c53ebf7a55ed59cccd0b8" ], 0, - "12281b51a6bc7a14fa94c5ceb9dd753a" + "ed8e428ba7871132d14372db61bdef24" ], [ "FStar.Reflection.Data.__proj__Tv_Arrow__item__bv", @@ -1182,7 +1182,7 @@ "refinement_interpretation_Tm_refine_7f35847acbb7ec9362d723780e73642b" ], 0, - "48ad11d5b972ad3bb4756a4627a19ac3" + "d5f671cf0dd2dc49f45ffe88cc28d21d" ], [ "FStar.Reflection.Data.__proj__Tv_Arrow__item__c", @@ -1196,7 +1196,7 @@ "refinement_interpretation_Tm_refine_7f35847acbb7ec9362d723780e73642b" ], 0, - "b170eb7311844001406300480a10e753" + "5c7751ea23dc933493df9018608e1983" ], [ "FStar.Reflection.Data.__proj__Tv_Type__item___0", @@ -1210,7 +1210,7 @@ "refinement_interpretation_Tm_refine_46e071c592a079ed4ad7345ac56f609b" ], 0, - "e0b28f059d46c3ece2936037b770e153" + "6981df00302932b5a21d44e4847224b9" ], [ "FStar.Reflection.Data.__proj__Tv_Refine__item__bv", @@ -1224,7 +1224,7 @@ "refinement_interpretation_Tm_refine_6b626a0b655f5b02ad9415dccdffd80e" ], 0, - "4a58723feb001b29dd3cc37060a43d9e" + "bde44b409a8c5fdf2aac5b33e9d7d04d" ], [ "FStar.Reflection.Data.__proj__Tv_Refine__item__ref", @@ -1238,7 +1238,7 @@ "refinement_interpretation_Tm_refine_6b626a0b655f5b02ad9415dccdffd80e" ], 0, - "ae9c8ebe7a2712acf2f93d6f072724d2" + "a4fc4c18756f84990d64f060771ba65b" ], [ "FStar.Reflection.Data.__proj__Tv_Const__item___0", @@ -1252,7 +1252,7 @@ "refinement_interpretation_Tm_refine_6367ecde002ce94c1d6d2d25e68fc6d4" ], 0, - "9530cfc76f738e755f4390e91bedecd4" + "863a041c8bd5c6df40034f156877776c" ], [ "FStar.Reflection.Data.__proj__Tv_Uvar__item___0", @@ -1266,7 +1266,7 @@ "refinement_interpretation_Tm_refine_18b717e4d9a60bc505138cd43435473b" ], 0, - "ef32534d39763ac06e329e38c20a58d1" + "208d170b723c7d0bcb849b2b960ecb72" ], [ "FStar.Reflection.Data.__proj__Tv_Uvar__item___1", @@ -1280,7 +1280,7 @@ "refinement_interpretation_Tm_refine_18b717e4d9a60bc505138cd43435473b" ], 0, - "8fa566c0a079034ba23cd0317d698e3e" + "1b5ad9273f427c7213ded02e3d7f18c9" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__recf", @@ -1294,7 +1294,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "e011608b8fc869c78e9d42de40dda900" + "786f73699a987266f7cc2dcb208ae512" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__bv", @@ -1308,7 +1308,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "f25dd3c4eddd7b7398e16acc5bc808e0" + "838507eabba842d45a9761d95e2c05d6" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__def", @@ -1322,7 +1322,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "1fcd36ecfc46d69594e46e80803a887e" + "0dda6434e04ef52b051c30869d8cac16" ], [ "FStar.Reflection.Data.__proj__Tv_Let__item__body", @@ -1336,7 +1336,7 @@ "refinement_interpretation_Tm_refine_803725aa9bdad94a10ee3b686ae22b92" ], 0, - "9c69a3c055f668de6c05398c641ac2a7" + "53806da58bd98e35c10b0690a96f3369" ], [ "FStar.Reflection.Data.__proj__Tv_Match__item__scrutinee", @@ -1350,7 +1350,7 @@ "refinement_interpretation_Tm_refine_d9b78c2ca8fd6d8967a4cada27904b12" ], 0, - "7472933eccba7cb6cb208f69a6337a8b" + "7d41f0139f895dba033bbb6668a2669d" ], [ "FStar.Reflection.Data.__proj__Tv_Match__item__brs", @@ -1364,7 +1364,7 @@ "refinement_interpretation_Tm_refine_d9b78c2ca8fd6d8967a4cada27904b12" ], 0, - "8d6b94e18496b2374b5d83a7dc777ce6" + "9659f9ffc2cb7336c5f03e5aec56142d" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedT__item__e", @@ -1378,7 +1378,7 @@ "refinement_interpretation_Tm_refine_d2f80613d5d27f28b91b0c0b5c1f255f" ], 0, - "a88d4eaab0b7c9392ca3f214f2993883" + "c22d87b9a2658baa66980d2dfad2473c" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedT__item__t", @@ -1392,7 +1392,7 @@ "refinement_interpretation_Tm_refine_d2f80613d5d27f28b91b0c0b5c1f255f" ], 0, - "4e302a4b9f3e408bb591cad8f6f0bbc7" + "a3a2016d3d5c0b6084b9cec10e6bdb17" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedT__item__tac", @@ -1406,7 +1406,7 @@ "refinement_interpretation_Tm_refine_d2f80613d5d27f28b91b0c0b5c1f255f" ], 0, - "b83c4cae5bec6c7131227fd481f75769" + "28792e404c8dff6fd9f55496e1f677ea" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedC__item__e", @@ -1420,7 +1420,7 @@ "refinement_interpretation_Tm_refine_643944812fc7491a6a30d8c514f7203f" ], 0, - "17c3cbfc202bc20ec26ee880575b392f" + "737bf6848e42289c12d186f05ca06fdb" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedC__item__c", @@ -1434,7 +1434,7 @@ "refinement_interpretation_Tm_refine_643944812fc7491a6a30d8c514f7203f" ], 0, - "08ec2b389cb3c138e917b88ce187f865" + "16a7537ba87d0e54d63ab08898501b69" ], [ "FStar.Reflection.Data.__proj__Tv_AscribedC__item__tac", @@ -1448,7 +1448,7 @@ "refinement_interpretation_Tm_refine_643944812fc7491a6a30d8c514f7203f" ], 0, - "6aa0a090528b1d81d5321f296bc29d6e" + "7aa018f13b212eef3a4fda0ae5a0780e" ], [ "FStar.Reflection.Data.__proj__C_Total__item__ret", @@ -1462,7 +1462,7 @@ "refinement_interpretation_Tm_refine_c49d8c25a13c3bb2a3cf94711118bdc7" ], 0, - "d253aeadd6ae72adb108f12e5b1c336e" + "190823083d7d3820c9959cabdbb55baa" ], [ "FStar.Reflection.Data.__proj__C_Total__item__decr", @@ -1476,7 +1476,7 @@ "refinement_interpretation_Tm_refine_c49d8c25a13c3bb2a3cf94711118bdc7" ], 0, - "06cc80156fc57db8a0b60b1a9b2baab8" + "36c6ec8f92a2e37541759185fc7a79d9" ], [ "FStar.Reflection.Data.__proj__C_Lemma__item___0", @@ -1490,7 +1490,7 @@ "refinement_interpretation_Tm_refine_0880955f1444d2e06a25b95bff8e3d30" ], 0, - "cea3818223415ffdc86109d3b27f9a10" + "e6a347f5a4d27a31bc7e46cb6c0656a0" ], [ "FStar.Reflection.Data.__proj__C_Lemma__item___1", @@ -1504,7 +1504,7 @@ "refinement_interpretation_Tm_refine_0880955f1444d2e06a25b95bff8e3d30" ], 0, - "20d6960a413f704c09193dd34c9e292f" + "306b9ed7646e2dbc87dafe02f2f8dcac" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__r", @@ -1518,7 +1518,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "138c590465a7d7a9ca2779fdbedeb82b" + "315a71431056a0a27b05229111889873" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__fv", @@ -1532,7 +1532,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "6bbcb3f62b3bcab56f2cf9cabbe29b61" + "9554a2dd3f9fc3f99838f0771d9d943c" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__us", @@ -1546,7 +1546,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "cbf463cf1cbe207cb9334089b768d8ff" + "d18f8ff1d39fddd72b1b34fed3eed454" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__typ", @@ -1560,7 +1560,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "cb1c192cb4f85c12551de520466b9acb" + "8124fdf649a481664ec97a75302bbf31" ], [ "FStar.Reflection.Data.__proj__Sg_Let__item__def", @@ -1574,7 +1574,7 @@ "refinement_interpretation_Tm_refine_8936e719005becdab2d5f9bda4e22219" ], 0, - "a4f6a4c871bf5090673dc0015f033f8d" + "7d6c2147d70d39028de9b77183961ad2" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__nm", @@ -1588,7 +1588,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "626da4b39d589e61d29e635d4f4f8059" + "8533bed803b7053ec282a56cd6321fb6" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__univs", @@ -1602,7 +1602,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "191fb4f1a5e2c693e55127c1ede83a11" + "56a74a52d4eca122fee1b8e8b1e3da2d" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__params", @@ -1616,7 +1616,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "81a21ad765b9e14aee95a4148c46e22c" + "5af041605ab06ae8ef718a6b3b4e67a8" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__typ", @@ -1630,7 +1630,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "563d37660d4f21350762b2619d8291d2" + "9ab4b91fc95b1e6d41682fbc07679a6c" ], [ "FStar.Reflection.Data.__proj__Sg_Inductive__item__cts", @@ -1644,7 +1644,7 @@ "refinement_interpretation_Tm_refine_efd075e5f8fb3196392b8ad33623b437" ], 0, - "81734237544335a681c5fd564ed57544" + "a5147229779369c4baebc60a185b9917" ], [ "FStar.Reflection.Data.__proj__Sg_Constructor__item__name", @@ -1658,7 +1658,7 @@ "refinement_interpretation_Tm_refine_be9732ab222b068e9247b3eeb7f7dd02" ], 0, - "2516ed5fc46f63ad6c74030ec39fd452" + "f9b5cda4cc928ea0a7774825c7de4bbc" ], [ "FStar.Reflection.Data.__proj__Sg_Constructor__item__typ", @@ -1672,7 +1672,7 @@ "refinement_interpretation_Tm_refine_be9732ab222b068e9247b3eeb7f7dd02" ], 0, - "8f30b27ec77e98d8a1c61d6944c26c27" + "5d4e87da75f57629e3a9f16678bd8aad" ], [ "FStar.Reflection.Data.var", @@ -1682,11 +1682,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e44805181c91629a95e7c4e2905f1f36" + "00a0f889cfa3075969091b5bc997ce0b" ], [ "FStar.Reflection.Data.exp", @@ -1697,11 +1697,11 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "630116bbcbe260a3189cadb9c157133d" + "c4a3383262acceaf84d87bbc823363bb" ], [ "FStar.Reflection.Data.__proj__Var__item___0", @@ -1715,7 +1715,7 @@ "refinement_interpretation_Tm_refine_9336c13eebdfb5f947bab56afc3c0eaa" ], 0, - "00fb53bc57b31ec78f2d800f6125fe57" + "94b0e6f40bf5fd0824d2a95a3375b13d" ], [ "FStar.Reflection.Data.__proj__Mult__item___0", @@ -1729,7 +1729,7 @@ "refinement_interpretation_Tm_refine_cdc0577b7fee981f416c14468c6ece13" ], 0, - "f6448564711db6a813c025c3348a7e05" + "b7cbe2a141d3e77390e902b4cd189935" ], [ "FStar.Reflection.Data.__proj__Mult__item___1", @@ -1743,7 +1743,7 @@ "refinement_interpretation_Tm_refine_cdc0577b7fee981f416c14468c6ece13" ], 0, - "73de8cec515ef04f408e063c9c24d2f0" + "a8a3681ee6601f8f105bb51204226f32" ], [ "FStar.Reflection.Data.forall_list", @@ -1757,7 +1757,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "befb1eb701f97944c615872fccd512c1" + "b3515350c29075e7b928c63270d38380" ], [ "FStar.Reflection.Data.smaller", @@ -1784,7 +1784,7 @@ "fuel_guarded_inversion_FStar.Reflection.Data.term_view" ], 0, - "19fe62926c274b2bdb82f7892996611b" + "f7354480e18fcf09806028322b76c298" ], [ "FStar.Reflection.Data.smaller_comp", @@ -1805,7 +1805,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "c4685fe203f86983c19b1e4c97b608b9" + "e185a266e836227c7a35dc0f73effa66" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Reflection.Derived.Lemmas.fst.hints b/ulib/FStar.Reflection.Derived.Lemmas.fst.hints index 0576c2f4ebc..48528566fbe 100644 --- a/ulib/FStar.Reflection.Derived.Lemmas.fst.hints +++ b/ulib/FStar.Reflection.Derived.Lemmas.fst.hints @@ -11,10 +11,10 @@ "@fuel_correspondence_FStar.Reflection.Data.forall_list.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Data.forall_list.fuel_instrumented", "@query", - "FStar.Reflection.Derived.Lemmas_interpretation_Tm_arrow_ddb110116104047fad289f36e66e464e", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.Reflection.Derived.Lemmas_interpretation_Tm_arrow_5a98e66daedcb0b3e66fcff80567f12a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_45cac57f38e27b96eab3a3f21e0703ab_2", + "binder_x_8691477dadb3127747d6cabdd98d71a0_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -25,7 +25,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "64bbc24a6e85e6038887c45d944d59a8" + "72e979f9e7c0c60e7a7661723398bee5" ], [ "FStar.Reflection.Derived.Lemmas.list_ref", @@ -37,21 +37,20 @@ "@fuel_correspondence_FStar.Reflection.Data.forall_list.fuel_instrumented", "@fuel_irrelevance_FStar.Reflection.Data.forall_list.fuel_instrumented", "@query", - "FStar.Reflection.Derived.Lemmas_interpretation_Tm_arrow_ddb110116104047fad289f36e66e464e", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "FStar.Reflection.Derived.Lemmas_interpretation_Tm_arrow_5a98e66daedcb0b3e66fcff80567f12a", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_45cac57f38e27b96eab3a3f21e0703ab_2", + "binder_x_8691477dadb3127747d6cabdd98d71a0_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_with_fuel_FStar.Reflection.Data.forall_list.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "l_and-interp", - "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "084817f06b6eadb90f40c4ba087386c5" + "52d9541b9a32f4249be98b87302944c2" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Reflection.Derived.fst.hints b/ulib/FStar.Reflection.Derived.fst.hints index 209a12d3565..4763396eb30 100644 --- a/ulib/FStar.Reflection.Derived.fst.hints +++ b/ulib/FStar.Reflection.Derived.fst.hints @@ -14,7 +14,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "82b06a3f4c104c4704d8dafa6071fd86" + "334189114f31b5b70b95735051c54ba4" ], [ "FStar.Reflection.Derived.collect_app'", @@ -23,7 +23,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_58d2c7c10918d93b79238e251dd796c1_1", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", "constructor_distinct_FStar.Reflection.Data.Tv_App", "equality_tok_Prims.LexTop@tok", "equation_FStar.Reflection.Data.smaller", "l_and-interp", @@ -33,7 +33,7 @@ "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "de99cab561dddbd53aa5e94bb72fa28c" + "75290e77c2a4093a69eb43461146055c" ], [ "FStar.Reflection.Derived.mk_app", @@ -42,14 +42,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_e332943ee8a1e42b7e3342c33a69d95f_1", + "binder_x_0d0fc60574ad20bdbe0523f80130447e_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.Reflection.Data.argv", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "a1a8444bd3907a8ed1fafa784f4a144c" + "a730aafa16aeb02b90a948adbbb31154" ], [ "FStar.Reflection.Derived.mk_tot_arr", @@ -58,13 +58,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_04851dd1cbd2e5f29e1e54f57e4871f6_0", + "binder_x_e5e1b3cb8778ee07449986a28fe7a42d_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "a5cf366812e0494492227d72688a60a2" + "d07b4f87af867ba6ed0b984a8b4f7bcf" ], [ "FStar.Reflection.Derived.collect_arr'", @@ -73,7 +73,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_f1bbdf1646cdce6233fff0c872cb9e31_1", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_1", "constructor_distinct_FStar.Reflection.Data.C_Total", "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", "equality_tok_Prims.LexTop@tok", @@ -90,7 +90,7 @@ "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "e93be54a4feb21918f4f13325cb74c0f" + "89c5d95263267a4d4a2eab4b1726ca04" ], [ "FStar.Reflection.Derived.collect_abs'", @@ -99,7 +99,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_58d2c7c10918d93b79238e251dd796c1_1", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", "constructor_distinct_FStar.Reflection.Data.Tv_Abs", "equality_tok_Prims.LexTop@tok", "equation_FStar.Reflection.Data.smaller", "l_and-interp", @@ -109,7 +109,7 @@ "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "7787f0bfd04ec1d6f1868a5327ee984a" + "d94b51f2323c06895e7d6e343d3fc672" ], [ "FStar.Reflection.Derived.compare_const", @@ -132,7 +132,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "db69673bb939a272574cfddedd67e050" + "887f069bc9183855e200c8e37c016656" ], [ "FStar.Reflection.Derived.compare_term", @@ -143,8 +143,8 @@ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "binder_x_58d2c7c10918d93b79238e251dd796c1_0", - "binder_x_58d2c7c10918d93b79238e251dd796c1_1", "bool_inversion", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", "bool_inversion", "constructor_distinct_FStar.Reflection.Data.Tv_Abs", "constructor_distinct_FStar.Reflection.Data.Tv_App", "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", @@ -198,7 +198,7 @@ "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "7c3bde4482546086edaed89180a4930b" + "da02a2077d74a2a5c1962206d83f359d" ], [ "FStar.Reflection.Derived.compare_term", @@ -207,12 +207,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_529e9483dbed5c1a7547f851ad36541b_0", + "binder_x_9e9d8b1ad5b629fc63518fd636af3837_0", "equation_FStar.Reflection.Data.argv", "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "b2af82d8160fbb0b9af4ca66fbf7fb27" + "199c28f3a16eb4cd9ba8ba49178c7374" ], [ "FStar.Reflection.Derived.compare_term", @@ -223,8 +223,8 @@ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Data_pretyping_31f97a73eb7c5a1eaff6242ee230afd6", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "binder_x_f1bbdf1646cdce6233fff0c872cb9e31_0", - "binder_x_f1bbdf1646cdce6233fff0c872cb9e31_1", "bool_inversion", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Reflection.Data.C_Lemma", "constructor_distinct_FStar.Reflection.Data.C_Total", @@ -255,7 +255,7 @@ "typing_FStar.Reflection.Basic.inspect_comp" ], 0, - "9b95c765bb4754bb6022765dd76ef2fd" + "8bafe3f96f1d959d9bf408ac73ecfbf4" ], [ "FStar.Reflection.Derived.mk_list", @@ -264,12 +264,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_54b8d13345a0876202ad05586d3a7a11_0", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "97ebf90488f829fce62e19af927c6f74" + "b709456d97f18125f265c92348579207" ], [ "FStar.Reflection.Derived.mktuple_n", @@ -280,21 +280,19 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length" ], 0, - "6af9ce013947e27bb7c3ee2dff1f47f7" + "4b1953d28420fe01862beff9dec8681c" ], [ "FStar.Reflection.Derived.destruct_tuple", @@ -308,7 +306,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "22c6860c3f36ff9eab5feacd63713390" + "2f6226c5454db14990b2ecbd2bf95c1e" ], [ "FStar.Reflection.Derived.head", @@ -317,7 +315,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_58d2c7c10918d93b79238e251dd796c1_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", "constructor_distinct_FStar.Reflection.Data.Tv_Abs", "constructor_distinct_FStar.Reflection.Data.Tv_App", "constructor_distinct_FStar.Reflection.Data.Tv_AscribedC", @@ -365,7 +363,7 @@ "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "59b0a68efa6a1e7c6e2114d77b5416ff" + "737146c527e99570c2e94308a70552f1" ], [ "FStar.Reflection.Derived.flatten_name", @@ -380,7 +378,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "e445899b5a32b689f163f9ce398f15b9" + "0d6b2f6d86683bcb092bcbfe17894553" ], [ "FStar.Reflection.Derived.collect_app'", @@ -389,7 +387,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_58d2c7c10918d93b79238e251dd796c1_1", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", "constructor_distinct_FStar.Reflection.Data.Tv_App", "equality_tok_Prims.LexTop@tok", "equation_FStar.Reflection.Data.smaller", "l_and-interp", @@ -399,7 +397,7 @@ "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "f6ecfe8865ef62728b040791b27c3a8c" + "6d7eea0634cb51face36a72744f86259" ], [ "FStar.Reflection.Derived.mk_app", @@ -408,14 +406,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_e332943ee8a1e42b7e3342c33a69d95f_1", + "binder_x_0d0fc60574ad20bdbe0523f80130447e_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.Reflection.Data.argv", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "585058d569e86676ef19bbc6891ce4e2" + "0ee3bd2c873de2ea20a84396cb983620" ], [ "FStar.Reflection.Derived.mk_tot_arr", @@ -424,13 +422,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_04851dd1cbd2e5f29e1e54f57e4871f6_0", + "binder_x_e5e1b3cb8778ee07449986a28fe7a42d_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "c55a75fae89b17007177efc3382752e3" + "faea27d91fa17b7dd29af6242f6f2a8c" ], [ "FStar.Reflection.Derived.collect_arr'", @@ -439,7 +437,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_f1bbdf1646cdce6233fff0c872cb9e31_1", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_1", "constructor_distinct_FStar.Reflection.Data.C_Total", "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", "equality_tok_Prims.LexTop@tok", @@ -456,7 +454,7 @@ "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "17b701e1a13413e28fa7f5cae55d3528" + "6f2d5457d63b7b25fd5a5f76767cfe4a" ], [ "FStar.Reflection.Derived.collect_abs'", @@ -465,7 +463,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_58d2c7c10918d93b79238e251dd796c1_1", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", "constructor_distinct_FStar.Reflection.Data.Tv_Abs", "equality_tok_Prims.LexTop@tok", "equation_FStar.Reflection.Data.smaller", "l_and-interp", @@ -475,7 +473,7 @@ "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "e08851d8cc5934484d04391c025e0b4f" + "401008709ec7944141cd15c86e306750" ], [ "FStar.Reflection.Derived.compare_const", @@ -498,7 +496,7 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" ], 0, - "626b95b5d16c1c30c6c3f75a3ebee7dd" + "85a2db77810462027939a862da592662" ], [ "FStar.Reflection.Derived.compare_term", @@ -509,8 +507,8 @@ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "binder_x_58d2c7c10918d93b79238e251dd796c1_0", - "binder_x_58d2c7c10918d93b79238e251dd796c1_1", "bool_inversion", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", "bool_inversion", "constructor_distinct_FStar.Reflection.Data.Tv_Abs", "constructor_distinct_FStar.Reflection.Data.Tv_App", "constructor_distinct_FStar.Reflection.Data.Tv_Arrow", @@ -564,7 +562,7 @@ "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "8ebfe97b2d5c28f802fe0349b957c276" + "073aeb2acdc4f7bae9ef926a52aea3a1" ], [ "FStar.Reflection.Derived.compare_term", @@ -573,12 +571,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_529e9483dbed5c1a7547f851ad36541b_0", + "binder_x_9e9d8b1ad5b629fc63518fd636af3837_0", "equation_FStar.Reflection.Data.argv", "subterm_ordering_FStar.Pervasives.Native.Mktuple2" ], 0, - "b38c5fce036eb9b1ef4f170955b3c97a" + "8c0004c6d2c1f607a87b4cf726111677" ], [ "FStar.Reflection.Derived.compare_term", @@ -589,8 +587,8 @@ "@MaxIFuel_assumption", "@query", "FStar.Reflection.Data_pretyping_31f97a73eb7c5a1eaff6242ee230afd6", "FStar.Reflection.Types_pretyping_549a35da6c02ceac7c7ad93207dec82a", - "binder_x_f1bbdf1646cdce6233fff0c872cb9e31_0", - "binder_x_f1bbdf1646cdce6233fff0c872cb9e31_1", "bool_inversion", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_0", + "binder_x_549a35da6c02ceac7c7ad93207dec82a_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "constructor_distinct_FStar.Reflection.Data.C_Lemma", "constructor_distinct_FStar.Reflection.Data.C_Total", @@ -621,7 +619,7 @@ "typing_FStar.Reflection.Basic.inspect_comp" ], 0, - "faaf58f6dee3358e25624a925fee4812" + "75f7d1dc2a3aac2b2015ea0b51727ec8" ], [ "FStar.Reflection.Derived.mk_list", @@ -630,12 +628,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_54b8d13345a0876202ad05586d3a7a11_0", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "f0bf94d217ad988f8418541332cd95ff" + "04ea8b997d1f66e9f296dd16bcf2a4e0" ], [ "FStar.Reflection.Derived.mktuple_n", @@ -646,21 +644,19 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_FStar.Reflection.Types.term", "int_inversion", + "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length" ], 0, - "21753d6d11077566fea8cd4757d93e6a" + "0330d081a92a7661fc6cd9215b004610" ], [ "FStar.Reflection.Derived.destruct_tuple", @@ -674,7 +670,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "254395632333d18aa71d6252a9c504a1" + "eb18485602e33efe17b8f047c7179d6c" ], [ "FStar.Reflection.Derived.head", @@ -683,7 +679,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_58d2c7c10918d93b79238e251dd796c1_0", + "binder_x_8632d594431d6c78cb2dd50457d25394_0", "constructor_distinct_FStar.Reflection.Data.Tv_Abs", "constructor_distinct_FStar.Reflection.Data.Tv_App", "constructor_distinct_FStar.Reflection.Data.Tv_AscribedC", @@ -731,7 +727,7 @@ "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "be0002c10bc0319aaa544b133b9e6592" + "e38ae2cef865960342d5de78bff741fe" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Reflection.Formula.fst.hints b/ulib/FStar.Reflection.Formula.fst.hints index ff4606c641d..714e1d128ab 100644 --- a/ulib/FStar.Reflection.Formula.fst.hints +++ b/ulib/FStar.Reflection.Formula.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_c211591d730f7e5c01a4129c90b65dbe" ], 0, - "4668c2a8ce694e67c70cfc273cbe12b6" + "38cb4828207ad7aba0051b928732e7c5" ], [ "FStar.Reflection.Formula.__proj__BoolEq__item___0", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_d10cc55239f941ac9b7d51f268e99a34" ], 0, - "5f58e8f85a25c975e4649aacc85f70a3" + "4dd581da1b9b4f8e485bad3f11e74a00" ], [ "FStar.Reflection.Formula.__proj__Comp__item___0", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_3fe7f13f9dd8fa5d3f6f4fa4a2260b8a" ], 0, - "b7262e58af630c71627485a607b5a4a9" + "1b0a6c7ce88233243e18aa7815e942d2" ], [ "FStar.Reflection.Formula.__proj__Comp__item___1", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_3fe7f13f9dd8fa5d3f6f4fa4a2260b8a" ], 0, - "4e258163d65dd25a6ba54c97b5c410e2" + "b9e56080fedca40a1bdd44871a6105bb" ], [ "FStar.Reflection.Formula.__proj__Comp__item___2", @@ -69,7 +69,7 @@ "refinement_interpretation_Tm_refine_3fe7f13f9dd8fa5d3f6f4fa4a2260b8a" ], 0, - "e79293d488242e1fa3f807af2cf75b12" + "67827691cb42aca69ff6f1b884c5129c" ], [ "FStar.Reflection.Formula.__proj__And__item___0", @@ -83,7 +83,7 @@ "refinement_interpretation_Tm_refine_41007ffd32a3e0957de8b0aa99d35658" ], 0, - "43042939cbbfd240e6b1448f40451723" + "bb7bb3a71debca9dcef3958fbb2429c3" ], [ "FStar.Reflection.Formula.__proj__And__item___1", @@ -97,7 +97,7 @@ "refinement_interpretation_Tm_refine_41007ffd32a3e0957de8b0aa99d35658" ], 0, - "f5728bd31943ad5cf0bdec1daeefa309" + "cbd0134de96b97b67a5ea8d860b6a613" ], [ "FStar.Reflection.Formula.__proj__Or__item___0", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_9af62e8063c519c07b2535d29caf9e3a" ], 0, - "84cad6b4eb767462339ed3759cf31c5c" + "7bfd83befdeeb5bb323d93d09440b975" ], [ "FStar.Reflection.Formula.__proj__Or__item___1", @@ -125,7 +125,7 @@ "refinement_interpretation_Tm_refine_9af62e8063c519c07b2535d29caf9e3a" ], 0, - "39632ad051dce5dc82c198d16df44677" + "3d9b11f5c2613a7d5b0ab58713bd260c" ], [ "FStar.Reflection.Formula.__proj__Not__item___0", @@ -139,7 +139,7 @@ "refinement_interpretation_Tm_refine_29e7c5cf6551c30393ecefb08e6623eb" ], 0, - "334df075cd3518be2c1ddb8a8fa2e59b" + "6fc9d9b6bec7ef18812ad0472c758d34" ], [ "FStar.Reflection.Formula.__proj__Implies__item___0", @@ -153,7 +153,7 @@ "refinement_interpretation_Tm_refine_e870ee33f97cb772afd8d9e04684ef1b" ], 0, - "82ab122f8397f2c3c9c85946a87c2779" + "fe39cfa81e48cba4781ffad6a5dae650" ], [ "FStar.Reflection.Formula.__proj__Implies__item___1", @@ -167,7 +167,7 @@ "refinement_interpretation_Tm_refine_e870ee33f97cb772afd8d9e04684ef1b" ], 0, - "40f6491dbea724633e3e6aa3e1b842af" + "0a57318b755e12c00ab550334439ef9f" ], [ "FStar.Reflection.Formula.__proj__Iff__item___0", @@ -181,7 +181,7 @@ "refinement_interpretation_Tm_refine_39718390d5c24efb95e47c1b9f07bbf4" ], 0, - "a6d0232f8899f5162444c6fe421990c9" + "aea6cd5a3a5fbcd2d8de7a63ef92db16" ], [ "FStar.Reflection.Formula.__proj__Iff__item___1", @@ -195,7 +195,7 @@ "refinement_interpretation_Tm_refine_39718390d5c24efb95e47c1b9f07bbf4" ], 0, - "14b201ecf09da470987f930a708af1b9" + "24425258ab7f2eb80c43345ecf1e72be" ], [ "FStar.Reflection.Formula.__proj__Forall__item___0", @@ -209,7 +209,7 @@ "refinement_interpretation_Tm_refine_b22048ebfbd9cf899cdd52fe794f77cd" ], 0, - "94a3421be4a4afe743f3f8181215a7cf" + "28446a23325fd922f1aac6169d25f4b6" ], [ "FStar.Reflection.Formula.__proj__Forall__item___1", @@ -223,7 +223,7 @@ "refinement_interpretation_Tm_refine_b22048ebfbd9cf899cdd52fe794f77cd" ], 0, - "c216a1bdd855eb750c8edde180f5aca5" + "805a740c4384ba2b39eada0e7d329082" ], [ "FStar.Reflection.Formula.__proj__Exists__item___0", @@ -237,7 +237,7 @@ "refinement_interpretation_Tm_refine_9aeaee29a0c2264005a301b686e4be84" ], 0, - "0cdcae813d3f432ff600ec084621f474" + "c8daaea8e8034da1cf618b2c53b600e4" ], [ "FStar.Reflection.Formula.__proj__Exists__item___1", @@ -251,7 +251,7 @@ "refinement_interpretation_Tm_refine_9aeaee29a0c2264005a301b686e4be84" ], 0, - "a9a846e057af8a11b48cdbe1db214d59" + "4a0411fd4370b79947c078b1954f2e11" ], [ "FStar.Reflection.Formula.__proj__App__item___0", @@ -265,7 +265,7 @@ "refinement_interpretation_Tm_refine_8db5cfc2ef93ba2b88bee6a6391dcfee" ], 0, - "0a633b1b75109f0e81604baaf3677db3" + "729cac0d299d6470f1e62f2517cb7306" ], [ "FStar.Reflection.Formula.__proj__App__item___1", @@ -279,7 +279,7 @@ "refinement_interpretation_Tm_refine_8db5cfc2ef93ba2b88bee6a6391dcfee" ], 0, - "3654d53e303de12793bed20a35155f28" + "ee335bcefe8b55d74661a14f3ccfab2a" ], [ "FStar.Reflection.Formula.__proj__Name__item___0", @@ -293,7 +293,7 @@ "refinement_interpretation_Tm_refine_7a293c7c70b01d2e21438df1f5e5cc39" ], 0, - "094529a7ae010960d37479553b2f091f" + "83e6f87bd646162778420e2a9e98cc61" ], [ "FStar.Reflection.Formula.__proj__FV__item___0", @@ -307,7 +307,7 @@ "refinement_interpretation_Tm_refine_5eca8a79ec55c6c73689080c32969437" ], 0, - "b45223fa5c42d6a5c5bd8d7c45546293" + "c14164be3538e966ca3ae0b135fccf55" ], [ "FStar.Reflection.Formula.__proj__IntLit__item___0", @@ -321,7 +321,7 @@ "refinement_interpretation_Tm_refine_454a52c8a5bb3910907d38a2fb6c4f55" ], 0, - "c0550e06379dabb923f43bc9b49fae39" + "e171deb07951d7cb8c8ab620d8a27196" ], [ "FStar.Reflection.Formula.term_as_formula'", @@ -335,7 +335,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b010e191e89ce2651eccaf89241fa260" + "a120e53b2ac7b19c9b1f314ebff81d47" ], [ "FStar.Reflection.Formula.is_name_imp", @@ -344,18 +344,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_58d2c7c10918d93b79238e251dd796c1_1", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", "constructor_distinct_FStar.Reflection.Data.Tv_App", "equality_tok_Prims.LexTop@tok", - "equation_FStar.Reflection.Data.smaller", - "equation_FStar.Reflection.Types.name", "l_and-interp", + "equation_FStar.Reflection.Data.smaller", "l_and-interp", "projection_inverse_FStar.Reflection.Data.Tv_App_a", "projection_inverse_FStar.Reflection.Data.Tv_App_hd", "refinement_interpretation_Tm_refine_8c7aa007a877e8ebee64228e10bfcf12", "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "cf348445acaa4a26e1348a020a3a1fb7" + "a128e6ca16404f4fa5f98f5f1dd9b5f1" ], [ "FStar.Reflection.Formula.term_as_formula", @@ -374,7 +373,7 @@ "typing_FStar.Reflection.Formula.unsquash" ], 0, - "e7ad2a22afa9f62b2579444089a01b49" + "e0c1e2e04235191cc2f330d0c0d775c6" ], [ "FStar.Reflection.Formula.formula_as_term_view", @@ -421,7 +420,7 @@ "typing_FStar.Reflection.Formula.__proj__Comp__item___0" ], 0, - "d9391269f72919884618aeb208983829" + "37926db3e152570f078d4941f7b28494" ], [ "FStar.Reflection.Formula.formula_to_string", @@ -466,7 +465,7 @@ "typing_FStar.Reflection.Formula.__proj__Comp__item___0" ], 0, - "1eb40d109aa7537b049703ab45842e30" + "dc3dd4255efc454e5c97eed12398093d" ], [ "FStar.Reflection.Formula.__proj__Eq__item___0", @@ -480,7 +479,7 @@ "refinement_interpretation_Tm_refine_c211591d730f7e5c01a4129c90b65dbe" ], 0, - "2e75245278d7977f7d22d982ffccb097" + "5e50658ba2a528abe09e1e6a916ff139" ], [ "FStar.Reflection.Formula.__proj__BoolEq__item___0", @@ -494,7 +493,7 @@ "refinement_interpretation_Tm_refine_d10cc55239f941ac9b7d51f268e99a34" ], 0, - "d932e68ba58a11cf1d87a79f1bf6ac50" + "48d28a9d0e8feb647bd59aa49268c4df" ], [ "FStar.Reflection.Formula.__proj__Comp__item___0", @@ -508,7 +507,7 @@ "refinement_interpretation_Tm_refine_3fe7f13f9dd8fa5d3f6f4fa4a2260b8a" ], 0, - "ca7f8d178319745afd12947286d145d8" + "3d1e394409932870834e8c15cafe5885" ], [ "FStar.Reflection.Formula.__proj__Comp__item___1", @@ -522,7 +521,7 @@ "refinement_interpretation_Tm_refine_3fe7f13f9dd8fa5d3f6f4fa4a2260b8a" ], 0, - "d3a7da237b81658d74f7b49810f9fc34" + "5a13c52feb4632b20d6dcf333d754a59" ], [ "FStar.Reflection.Formula.__proj__Comp__item___2", @@ -536,7 +535,7 @@ "refinement_interpretation_Tm_refine_3fe7f13f9dd8fa5d3f6f4fa4a2260b8a" ], 0, - "f5ba7423b0c3792d375eb5f6a0cd5808" + "bd4c1014f221bc91463845d3a24ff27f" ], [ "FStar.Reflection.Formula.__proj__And__item___0", @@ -550,7 +549,7 @@ "refinement_interpretation_Tm_refine_41007ffd32a3e0957de8b0aa99d35658" ], 0, - "d74f4f0a0ab1155c85cda6f9155dd6f6" + "08146fd095aff0d31aefb1bb69b2f770" ], [ "FStar.Reflection.Formula.__proj__And__item___1", @@ -564,7 +563,7 @@ "refinement_interpretation_Tm_refine_41007ffd32a3e0957de8b0aa99d35658" ], 0, - "9ee094c7a377effd1df8a1b4b0f17f2e" + "8f4103851e88ad947fe31f49d25331fe" ], [ "FStar.Reflection.Formula.__proj__Or__item___0", @@ -578,7 +577,7 @@ "refinement_interpretation_Tm_refine_9af62e8063c519c07b2535d29caf9e3a" ], 0, - "be846fabbf003ad5e451c2556b642ca3" + "4db0d83e7c8a2a049326918da97d5bf6" ], [ "FStar.Reflection.Formula.__proj__Or__item___1", @@ -592,7 +591,7 @@ "refinement_interpretation_Tm_refine_9af62e8063c519c07b2535d29caf9e3a" ], 0, - "1e3acb905073ba3d9ea3ae43ea219160" + "67922213de58bb35b8b99db2e98722a8" ], [ "FStar.Reflection.Formula.__proj__Not__item___0", @@ -606,7 +605,7 @@ "refinement_interpretation_Tm_refine_29e7c5cf6551c30393ecefb08e6623eb" ], 0, - "cc6149ca32f0768d0af64c47bebdd2c3" + "3be3e533838de38fe59cfc6cfc593aa3" ], [ "FStar.Reflection.Formula.__proj__Implies__item___0", @@ -620,7 +619,7 @@ "refinement_interpretation_Tm_refine_e870ee33f97cb772afd8d9e04684ef1b" ], 0, - "8aa2fa34871860b52cba42e4bc45a635" + "aec235002628950d7a8493ddb074e135" ], [ "FStar.Reflection.Formula.__proj__Implies__item___1", @@ -634,7 +633,7 @@ "refinement_interpretation_Tm_refine_e870ee33f97cb772afd8d9e04684ef1b" ], 0, - "343ee44b0d9eb0f84a466a614f36c49a" + "489dbf14556217400e9eb244e5d08315" ], [ "FStar.Reflection.Formula.__proj__Iff__item___0", @@ -648,7 +647,7 @@ "refinement_interpretation_Tm_refine_39718390d5c24efb95e47c1b9f07bbf4" ], 0, - "a04243f180e71cf42477c0c93d905360" + "e44aea84b69b61de7cf5f39121edb97f" ], [ "FStar.Reflection.Formula.__proj__Iff__item___1", @@ -662,7 +661,7 @@ "refinement_interpretation_Tm_refine_39718390d5c24efb95e47c1b9f07bbf4" ], 0, - "ca1f3fedaee87b42dbac790897a88553" + "6db0cb040c1bba13c122714ef322143a" ], [ "FStar.Reflection.Formula.__proj__Forall__item___0", @@ -676,7 +675,7 @@ "refinement_interpretation_Tm_refine_b22048ebfbd9cf899cdd52fe794f77cd" ], 0, - "5dc5ef077fbe57bb49dd7586c93194e6" + "bd1befe2b201c5761ce7c01922d03c01" ], [ "FStar.Reflection.Formula.__proj__Forall__item___1", @@ -690,7 +689,7 @@ "refinement_interpretation_Tm_refine_b22048ebfbd9cf899cdd52fe794f77cd" ], 0, - "27dd11d3b60c12b450d53f1eda94d563" + "f6f512a5c3399e2b1ae40da7ce59f5ea" ], [ "FStar.Reflection.Formula.__proj__Exists__item___0", @@ -704,7 +703,7 @@ "refinement_interpretation_Tm_refine_9aeaee29a0c2264005a301b686e4be84" ], 0, - "c069515a817b92ba4bc0bf8637219050" + "6975f3178537ca74d0f58ae2a710d199" ], [ "FStar.Reflection.Formula.__proj__Exists__item___1", @@ -718,7 +717,7 @@ "refinement_interpretation_Tm_refine_9aeaee29a0c2264005a301b686e4be84" ], 0, - "c293a9cf335fe52c358c0c1c448e6c13" + "eede688db797ae7e6f20c64b309142b9" ], [ "FStar.Reflection.Formula.__proj__App__item___0", @@ -732,7 +731,7 @@ "refinement_interpretation_Tm_refine_8db5cfc2ef93ba2b88bee6a6391dcfee" ], 0, - "59396d9d23960a69fdee660843ca2e87" + "b03b930390741a8ddd94944744c23bcc" ], [ "FStar.Reflection.Formula.__proj__App__item___1", @@ -746,7 +745,7 @@ "refinement_interpretation_Tm_refine_8db5cfc2ef93ba2b88bee6a6391dcfee" ], 0, - "1be663e8e1ec50efc9ea2e5c398e5d7e" + "2ae39f54c1f7303591baf47895a3bc10" ], [ "FStar.Reflection.Formula.__proj__Name__item___0", @@ -760,7 +759,7 @@ "refinement_interpretation_Tm_refine_7a293c7c70b01d2e21438df1f5e5cc39" ], 0, - "fc59723a173851a90e84ae56bd43d046" + "d8df5f02947081ff2978ea60ac8d27ca" ], [ "FStar.Reflection.Formula.__proj__FV__item___0", @@ -774,7 +773,7 @@ "refinement_interpretation_Tm_refine_5eca8a79ec55c6c73689080c32969437" ], 0, - "22572bf8082ae21cee2b6052908dc7f8" + "80e90b2f0896973728fc4d3c418cd681" ], [ "FStar.Reflection.Formula.__proj__IntLit__item___0", @@ -788,7 +787,7 @@ "refinement_interpretation_Tm_refine_454a52c8a5bb3910907d38a2fb6c4f55" ], 0, - "db0daacb94f1c85ae5b648ca418c5ddc" + "ab9dbc5e72810b2500187d19bd885654" ], [ "FStar.Reflection.Formula.term_as_formula'", @@ -802,7 +801,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "13c5391992aa88c1193aebe6e8543756" + "9bee94e098ed23834b2bd129e617de17" ], [ "FStar.Reflection.Formula.is_name_imp", @@ -811,18 +810,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_58d2c7c10918d93b79238e251dd796c1_1", + "binder_x_8632d594431d6c78cb2dd50457d25394_1", "constructor_distinct_FStar.Reflection.Data.Tv_App", "equality_tok_Prims.LexTop@tok", - "equation_FStar.Reflection.Data.smaller", - "equation_FStar.Reflection.Types.name", "l_and-interp", + "equation_FStar.Reflection.Data.smaller", "l_and-interp", "projection_inverse_FStar.Reflection.Data.Tv_App_a", "projection_inverse_FStar.Reflection.Data.Tv_App_hd", "refinement_interpretation_Tm_refine_8c7aa007a877e8ebee64228e10bfcf12", "typing_FStar.Reflection.Basic.inspect_ln" ], 0, - "5e70b05690f4c5adcb820eb573a96c0d" + "e0d7ab818aa3ea1163edfac1a42ccbab" ], [ "FStar.Reflection.Formula.term_as_formula", @@ -841,7 +839,7 @@ "typing_FStar.Reflection.Formula.unsquash" ], 0, - "292337795c5c2a1956283f4e0f9c6bfb" + "d8305ad8ea169c320636f4cc8da36561" ], [ "FStar.Reflection.Formula.formula_as_term_view", @@ -888,7 +886,7 @@ "typing_FStar.Reflection.Formula.__proj__Comp__item___0" ], 0, - "462432b74f51d30ff446534cf6ba3a29" + "5cdfa4663309d3bcd453f3b5f48fc013" ], [ "FStar.Reflection.Formula.formula_to_string", @@ -933,7 +931,7 @@ "typing_FStar.Reflection.Formula.__proj__Comp__item___0" ], 0, - "9e742c6325f3b55bd86fb09aafdbebbb" + "2d7ac3be6c286099887a89289ee2352b" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Reflection.Types.fsti.hints b/ulib/FStar.Reflection.Types.fsti.hints index 879c1e9e9f3..addc55e0ee5 100644 --- a/ulib/FStar.Reflection.Types.fsti.hints +++ b/ulib/FStar.Reflection.Types.fsti.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5bd863c006db91615bdbaa03fd579363" + "f7453332ec6bf90556274662286c2924" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.ReflexiveTransitiveClosure.fst b/ulib/FStar.ReflexiveTransitiveClosure.fst new file mode 100644 index 00000000000..cb4db64d780 --- /dev/null +++ b/ulib/FStar.ReflexiveTransitiveClosure.fst @@ -0,0 +1,99 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.ReflexiveTransitiveClosure + +open FStar.Tactics + +#set-options "--max_ifuel 1 --max_fuel 0" + +noeq +type _closure (#a:Type0) (r:relation a) : a -> a -> Type0 = +| Refl: x:a -> _closure r x x +| Step: x:a -> y:a -> r x y ->_closure r x y +| Closure: x:a -> y:a -> z:a -> _closure r x y -> _closure r y z -> _closure r x z + +val closure_reflexive: #a:Type0 -> r:relation a -> Lemma (reflexive (_closure r)) +let closure_reflexive #a r = + assert (forall x. _closure r x x) by + (let x = forall_intro () in mapply (`Refl)) + +val closure_transitive: #a:Type0 -> r:relation a -> Lemma (transitive (_closure r)) +let closure_transitive #a r = + assert (transitive (_closure r)) by + (let x = forall_intro () in + let y = forall_intro () in + let z = forall_intro () in + let h = implies_intro () in + and_elim (binder_to_term h); + let _ = implies_intros () in + seq (fun _ -> mapply (`Closure)) assumption) + +let closure #a r = + closure_reflexive r; + closure_transitive r; + _closure r + +let closure_step #a r x y = + assert (r x y ==> closure r x y) by + (let xy = implies_intro () in + let xy : r x y = unquote (binder_to_term xy) in + squash_intro (); + exact (quote (Step #a #r x y xy))) + +val closure_one: #a:Type0 -> r:relation a -> x:a -> y:a + -> xy:_closure r x y + -> GTot (squash (x == y \/ (exists z. r x z /\ closure r z y))) + (decreases xy) +let rec closure_one #a r x y xy = + match xy with + | Refl _ -> () + | Step _ _ _ -> () + | Closure x a y xa ay -> closure_one r a y ay; closure_one r x a xa + +let closure_inversion #a r x y = + assert (_closure r x y ==> x == y \/ (exists z. r x z /\ closure r z y)) by + (let xy = implies_intro () in + let xy : _closure r x y = unquote (binder_to_term xy) in + exact (quote (closure_one r x y xy))) + +val _stable_on_closure: #a:Type0 -> r:relation a -> p:(a -> Type0) + -> p_stable_on_r: squash (forall x y. p x /\ r x y ==> p y) + -> x: a + -> y: a + -> xy: _closure r x y + -> px: squash (p x) + -> GTot (squash (p y)) (decreases xy) +let rec _stable_on_closure #a r p p_stable_on_r x y xy px = + match xy with + | Refl _ -> () + | Step _ _ _ -> () + | Closure x a y xa ay -> + let hi = _stable_on_closure r p p_stable_on_r in + let pa = hi x a xa px in + hi a y ay pa + +let stable_on_closure #a r p hr = + assert (forall x y. p x /\ closure r x y ==> p y) by + (let x = forall_intro () in + let y = forall_intro () in + let x : a = unquote (binder_to_term x) in + let y : a = unquote (binder_to_term y) in + let h = implies_intro () in + and_elim (binder_to_term h); + let px = implies_intro () in + let xy = implies_intro () in + let xy : closure r x y = unquote (binder_to_term xy) in + exact (quote (_stable_on_closure r p hr x y xy (Squash.get_proof _)))) diff --git a/ulib/FStar.ReflexiveTransitiveClosure.fst.hints b/ulib/FStar.ReflexiveTransitiveClosure.fst.hints new file mode 100644 index 00000000000..5728a1f705b --- /dev/null +++ b/ulib/FStar.ReflexiveTransitiveClosure.fst.hints @@ -0,0 +1,276 @@ +[ + "Õíc¸¯\u001cêÑè8Y«ñH", + [ + [ + "FStar.ReflexiveTransitiveClosure.__proj__Refl__item__x", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.ReflexiveTransitiveClosure.Refl", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_565f37515590049580c96eef602ba10e" + ], + 0, + "17db7750cd7a7b4d8faca55cd6c8977c" + ], + [ + "FStar.ReflexiveTransitiveClosure.__proj__Step__item__x", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.ReflexiveTransitiveClosure.Step", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_9a46ad0604fd75a49244a1b7546c3895" + ], + 0, + "6a92d95110262b9af62bf281d6efb81b" + ], + [ + "FStar.ReflexiveTransitiveClosure.__proj__Step__item__y", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.ReflexiveTransitiveClosure.Step", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_9a46ad0604fd75a49244a1b7546c3895" + ], + 0, + "5b65ee50fcb4762c83b47bd90dbf2e11" + ], + [ + "FStar.ReflexiveTransitiveClosure.__proj__Step__item___2", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.ReflexiveTransitiveClosure.Step", + "proj_equation_FStar.ReflexiveTransitiveClosure.Step_x", + "proj_equation_FStar.ReflexiveTransitiveClosure.Step_y", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.ReflexiveTransitiveClosure.Step_x", + "projection_inverse_FStar.ReflexiveTransitiveClosure.Step_y", + "refinement_interpretation_Tm_refine_9a46ad0604fd75a49244a1b7546c3895" + ], + 0, + "40b44d99b51b5eb35694b5790c572db9" + ], + [ + "FStar.ReflexiveTransitiveClosure.__proj__Closure__item__x", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.ReflexiveTransitiveClosure.Closure", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_62741fd7a534e641c7be743e886031c0" + ], + 0, + "aa3f76d71039e546f02b00ddf87db39c" + ], + [ + "FStar.ReflexiveTransitiveClosure.__proj__Closure__item__y", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.ReflexiveTransitiveClosure.Closure", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_62741fd7a534e641c7be743e886031c0" + ], + 0, + "195b8539c63d23e1ab89db83a164aaad" + ], + [ + "FStar.ReflexiveTransitiveClosure.__proj__Closure__item__z", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.ReflexiveTransitiveClosure.Closure", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_62741fd7a534e641c7be743e886031c0" + ], + 0, + "32ed991eb8dd772323166ddcba20f10d" + ], + [ + "FStar.ReflexiveTransitiveClosure.__proj__Closure__item___3", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.ReflexiveTransitiveClosure.Closure", + "proj_equation_FStar.ReflexiveTransitiveClosure.Closure_x", + "proj_equation_FStar.ReflexiveTransitiveClosure.Closure_y", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.ReflexiveTransitiveClosure.Closure_x", + "projection_inverse_FStar.ReflexiveTransitiveClosure.Closure_y", + "refinement_interpretation_Tm_refine_62741fd7a534e641c7be743e886031c0" + ], + 0, + "13da631e82ea2b0b967a03c634f17106" + ], + [ + "FStar.ReflexiveTransitiveClosure.__proj__Closure__item___4", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.ReflexiveTransitiveClosure.Closure", + "proj_equation_FStar.ReflexiveTransitiveClosure.Closure_y", + "proj_equation_FStar.ReflexiveTransitiveClosure.Closure_z", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.ReflexiveTransitiveClosure.Closure_y", + "projection_inverse_FStar.ReflexiveTransitiveClosure.Closure_z", + "refinement_interpretation_Tm_refine_62741fd7a534e641c7be743e886031c0" + ], + 0, + "4e8249f59f59bb22bedf2e8a9227c441" + ], + [ + "FStar.ReflexiveTransitiveClosure.closure_reflexive", + 1, + 0, + 1, + [ + "@query", "equation_FStar.Preorder.reflexive", + "token_correspondence_FStar.ReflexiveTransitiveClosure._closure@tok", + "true_interp" + ], + 0, + "77eb30ade032b3fb1d6dc8a451a627ff" + ], + [ + "FStar.ReflexiveTransitiveClosure.closure_transitive", + 1, + 0, + 1, + [ "@query", "true_interp" ], + 0, + "592b3f0eb533f6fa1509668a4418bce9" + ], + [ + "FStar.ReflexiveTransitiveClosure.closure", + 1, + 0, + 1, + [ "@query", "equation_FStar.Preorder.preorder_rel" ], + 0, + "258bf3289d82cc63f3b192fc058e8732" + ], + [ + "FStar.ReflexiveTransitiveClosure.closure_step", + 1, + 0, + 1, + [ "@query", "true_interp" ], + 0, + "454e6e926dc954ef13f60836f5fbc6c0" + ], + [ + "FStar.ReflexiveTransitiveClosure.closure_one", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.ReflexiveTransitiveClosure_interpretation_Tm_arrow_dfcaecfab74a119da94f11714336372d", + "binder_x_6a0456eef2aeb83b990092f272fb9720_4", + "binder_x_6dff76e3ecc09336a3301c8d8294c969_1", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "data_elim_FStar.ReflexiveTransitiveClosure.Closure", + "data_elim_FStar.ReflexiveTransitiveClosure.Refl", + "data_elim_FStar.ReflexiveTransitiveClosure.Step", + "disc_equation_FStar.ReflexiveTransitiveClosure.Closure", + "disc_equation_FStar.ReflexiveTransitiveClosure.Refl", + "disc_equation_FStar.ReflexiveTransitiveClosure.Step", "eq2-interp", + "equality_tok_Prims.LexTop@tok", "equation_FStar.Preorder.preorder", + "equation_FStar.Preorder.preorder_rel", + "equation_FStar.Preorder.reflexive", + "equation_FStar.Preorder.transitive", + "equation_FStar.ReflexiveTransitiveClosure.closure", + "equation_Prims.l_or", "equation_Prims.squash", + "fuel_guarded_inversion_FStar.ReflexiveTransitiveClosure._closure", + "function_token_typing_FStar.ReflexiveTransitiveClosure.closure", + "l_or-interp", "l_quant_interp_0c5809001e2b868a9027a6f87b66d9ed", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "subterm_ordering_FStar.ReflexiveTransitiveClosure.Closure", + "token_correspondence_FStar.ReflexiveTransitiveClosure._closure@tok", + "token_correspondence_FStar.ReflexiveTransitiveClosure.closure" + ], + 0, + "b606de7100b7264950a96f401c9576ac" + ], + [ + "FStar.ReflexiveTransitiveClosure.closure_inversion", + 1, + 0, + 1, + [ + "@query", "equation_FStar.ReflexiveTransitiveClosure.closure", + "token_correspondence_FStar.ReflexiveTransitiveClosure._closure@tok", + "token_correspondence_FStar.ReflexiveTransitiveClosure.closure", + "true_interp" + ], + 0, + "a889d20640d8627b1e5298180c6a3e1b" + ], + [ + "FStar.ReflexiveTransitiveClosure._stable_on_closure", + 1, + 0, + 1, + [ + "@MaxIFuel_assumption", "@query", + "binder_x_699aefb9c6dd9e33d17fe1a65023a1e4_6", + "binder_x_776ed1257354776f4512a6d31bbc952d_7", + "binder_x_7f9032daa18d059cda84701503f8208b_3", + "data_elim_FStar.ReflexiveTransitiveClosure.Closure", + "data_elim_FStar.ReflexiveTransitiveClosure.Refl", + "data_elim_FStar.ReflexiveTransitiveClosure.Step", + "disc_equation_FStar.ReflexiveTransitiveClosure.Closure", + "disc_equation_FStar.ReflexiveTransitiveClosure.Refl", + "disc_equation_FStar.ReflexiveTransitiveClosure.Step", + "equality_tok_Prims.LexTop@tok", "equation_Prims.l_Forall", + "equation_Prims.squash", + "fuel_guarded_inversion_FStar.ReflexiveTransitiveClosure._closure", + "l_quant_interp_c6609940959931a186d19215c1b13d9b", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "subterm_ordering_FStar.ReflexiveTransitiveClosure.Closure" + ], + 0, + "3e22ac316bf4c643e8a05dcbe1cfb9bb" + ], + [ + "FStar.ReflexiveTransitiveClosure.stable_on_closure", + 1, + 0, + 1, + [ "@query", "true_interp" ], + 0, + "f999cdd6dfaf2dd90fed9dba93934e62" + ], + [ + "FStar.ReflexiveTransitiveClosure.stable_on_closure", + 2, + 0, + 1, + [ "@query" ], + 0, + "9e1584890229e671070f1377a2ec6b73" + ] + ] +] \ No newline at end of file diff --git a/ulib/FStar.ReflexiveTransitiveClosure.fsti b/ulib/FStar.ReflexiveTransitiveClosure.fsti new file mode 100644 index 00000000000..4f60f4b0cf2 --- /dev/null +++ b/ulib/FStar.ReflexiveTransitiveClosure.fsti @@ -0,0 +1,54 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.ReflexiveTransitiveClosure + +/// This module defines the reflexive transitive closure of a +/// relation. That is, the smallest preorder that includes it. +/// +/// Closures are convenient for defining monotonic memory references: +/// +/// - Define a `step` relation and take `closure step` as the +/// monotonic relation of the reference. +/// +/// - To witness a property of the value of the reference, one must +/// show that the property is stable with respect to `closure step`, +/// but this boils down to proving that is stable with respect to +/// `step` (see lemma `stable_on_closure` below). +/// +/// See examples/preorder/Closure.fst for usage examples. + +open FStar.Preorder + +val closure (#a:Type0) (r:relation a) : preorder a + +(** `closure r` includes `r` *) +val closure_step: #a:Type0 -> r:relation a -> x:a -> y:a + -> Lemma (requires r x y) (ensures closure r x y) + +(** `closure r` is the smallest preorder that includes `r` *) +val closure_inversion: #a:Type0 -> r:relation a -> x:a -> y:a + -> Lemma (requires closure r x y) + (ensures x == y \/ (exists z. r x z /\ closure r z y)) + +(** +* A predicate that is stable on `r` is stable on `closure r` +* +* This is useful to witness properties of monotonic references where +* the monotonicity relation is the closure of a step relation. +*) +val stable_on_closure: #a:Type0 -> r:relation a -> p:(a -> Type0) + -> p_stable_on_r: (squash (forall x y.{:pattern (p y); (r x y)} p x /\ r x y ==> p y)) + -> Lemma (forall x y.{:pattern (closure r x y)} p x /\ closure r x y ==> p y) diff --git a/ulib/FStar.ReflexiveTransitiveClosure.fsti.hints b/ulib/FStar.ReflexiveTransitiveClosure.fsti.hints new file mode 100644 index 00000000000..3e905932616 --- /dev/null +++ b/ulib/FStar.ReflexiveTransitiveClosure.fsti.hints @@ -0,0 +1 @@ +[ "~\t;…ò)‹„¯û«Bmr’2", [] ] \ No newline at end of file diff --git a/ulib/FStar.Relational.Relational.fst.hints b/ulib/FStar.Relational.Relational.fst.hints index a40912cff15..ff68fc0e9aa 100644 --- a/ulib/FStar.Relational.Relational.fst.hints +++ b/ulib/FStar.Relational.Relational.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "8792ddd29c9607cb9e1bf14c32730de0" + "1803bf222b313d2dff1cf5020a096164" ], [ "FStar.Relational.Relational.tl_rel", @@ -21,7 +21,7 @@ "refinement_interpretation_Tm_refine_12775a49c16ac0863ce1a5e5a1a8be3f" ], 0, - "0a08c23fb42e4c78973ce6da156a1f04" + "70717de4e7edd42ac5192e6aa559eb12" ], [ "FStar.Relational.Relational.rel", @@ -30,7 +30,7 @@ 1, [ "@query" ], 0, - "341d7208defe4a904aa8f61e9b3af961" + "7223fd9ed4f8f57547f6f58a5fb2163f" ], [ "FStar.Relational.Relational.tl_rel", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_12775a49c16ac0863ce1a5e5a1a8be3f" ], 0, - "f8e61e1a63a0f7d7b4a5b98d3d9c384f" + "ddd08f2e68d925090ee34c20b5ffa501" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.ST.fst.hints b/ulib/FStar.ST.fst.hints index 4e468398f3f..dbf3f78e7af 100644 --- a/ulib/FStar.ST.fst.hints +++ b/ulib/FStar.ST.fst.hints @@ -16,7 +16,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "f330019b454d0caf6f62b2c8a8e0a218" + "de765637f55764fe918525ade75c223d" ], [ "FStar.ST.gst_witness", @@ -25,7 +25,7 @@ 1, [ "@query" ], 0, - "1b0987a9ee1e03c7e3a8005178e9ae5c" + "1787cc03c53a7b37c6cb85319153aeeb" ], [ "FStar.ST.gst_recall", @@ -34,7 +34,7 @@ 1, [ "@query" ], 0, - "bae278403087691db65083aefc2ae1e7" + "6da3901a985f0f35506a45fd93f29a0b" ], [ "FStar.ST.lemma_functoriality", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "444941d8484cdb48702f4d9b3d297f32" + "1e96b09c0227306aa47ef2c270041658" ], [ "FStar.ST.lemma_functoriality", @@ -52,7 +52,7 @@ 1, [ "@query" ], 0, - "16541819189754d8c4a57bdf4fec0505" + "070e412a8f07635dfd04d2a3f59d9e84" ], [ "FStar.ST.lemma_functoriality", @@ -63,17 +63,16 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "equation_FStar.ST.heap_predicate", "equation_FStar.ST.heap_rel", + "equation_FStar.Preorder.transitive", "equation_FStar.ST.heap_rel", "equation_FStar.ST.witnessed", - "refinement_interpretation_Tm_refine_428e1e73154f7a737740caf58e4f0a23", - "refinement_interpretation_Tm_refine_b76f41250dbea85ea4cc457f842c9a94", + "refinement_interpretation_Tm_refine_46f79a109844c565b519eb131b47264a", + "refinement_interpretation_Tm_refine_59aed5e77272a1738c2d4c2ecd382404", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "token_correspondence_FStar.ST.heap_rel", "typing_FStar.Monotonic.Heap.sel" ], 0, - "ee2787bb817ca86c5cbd7ee5eaf96ce7" + "6cd3ee1494ff644608603841efaec511" ], [ "FStar.ST.mref", @@ -86,7 +85,7 @@ "token_correspondence_FStar.ST.contains_pred" ], 0, - "b3a1835009dc2400d1cf3f9f877ab297" + "4468edd447a8f9744bc213ba7510d659" ], [ "FStar.ST.recall", @@ -101,7 +100,7 @@ "token_correspondence_FStar.ST.contains_pred" ], 0, - "60e2f0c0d09d47719f7a28bdbe02bef6" + "a0a6edb9c082f2ad5f7de1f7dd766c1f" ], [ "FStar.ST.alloc", @@ -109,8 +108,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_typing", + "@MaxIFuel_assumption", "@query", "bool_typing", "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", @@ -120,9 +118,8 @@ "equation_FStar.ST.contains_pred", "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", "equation_FStar.ST.stable", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Monotonic.Heap.lemma_alloc", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", @@ -138,7 +135,7 @@ "typing_FStar.Monotonic.Heap.sel" ], 0, - "404d5b8bce7204e144337ee1896db7f3" + "0afc9fa121c5e8b4438e5dda6f1fcb58" ], [ "FStar.ST.read", @@ -153,7 +150,7 @@ "token_correspondence_FStar.ST.contains_pred" ], 0, - "66df5bd856a3aa3f3df87f9683942525" + "50cdee03b8979c5fbacb4b05481b2f73" ], [ "FStar.ST.write", @@ -162,7 +159,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.Heap.modifies", "equation_FStar.Monotonic.Heap.modifies_t", @@ -172,9 +168,8 @@ "equation_FStar.ST.contains_pred", "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", "equation_FStar.ST.stable", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -185,14 +180,14 @@ "lemma_FStar.Monotonic.Heap.lemma_upd_unused", "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b6c554c1ed4f361645f5a95aadcf6df0", + "refinement_interpretation_Tm_refine_87a53fdd47ca86fd63a6af797c1e42d4", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", "token_correspondence_FStar.ST.contains_pred", "typing_FStar.Monotonic.Heap.sel", "unit_typing" ], 0, - "8559ed6d2aa3311616be1111e3ed5c6e" + "97cccf89dd18f4541c9f369d544309b3" ], [ "FStar.ST.get", @@ -201,7 +196,7 @@ 1, [ "@query" ], 0, - "72650c1392c9be4e5fdc04b2c4dc28bc" + "377c41927003c71c5427a633f7bdc404" ], [ "FStar.ST.op_Colon_Equals", @@ -209,20 +204,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.ST.mref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Monotonic.Heap.addr_of" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3238a0b22486a7bde2aaa3ef955b3322" + "276d5439bbfaa16df796faaeb73088e7" ], [ "FStar.ST.modifies_none", @@ -232,11 +220,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "426bb0ad7fcab71bc7cd03ff4c565578" + "75a204ae2a7dcf9d9a7c70a7d22d673a" ], [ "FStar.ST.gst_witness", @@ -245,7 +233,7 @@ 1, [ "@query" ], 0, - "1467cf2d57203bff5a14992908a0ddb3" + "26936cb16689989b67a1217d0460e01f" ], [ "FStar.ST.gst_recall", @@ -254,7 +242,7 @@ 1, [ "@query" ], 0, - "a1b68e716909260aead60a28d4b4281b" + "56c64ea9793f7cf3d63f10c6da10ce93" ], [ "FStar.ST.lemma_functoriality", @@ -263,7 +251,7 @@ 1, [ "@query" ], 0, - "005fc13fc826e3d9474ebec1de35c6da" + "f18f9cc9fa61f30df7c5485a47a86a58" ], [ "FStar.ST.mref", @@ -276,7 +264,7 @@ "token_correspondence_FStar.ST.contains_pred" ], 0, - "451fefd266950a61c943e837d233f574" + "cd59ccfabdef407e754e208523cb28b3" ], [ "FStar.ST.alloc", @@ -286,11 +274,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e6ec5327432f6310357d1f09d457c244" + "191e1ff659e6c347b87d82ba473b8ea0" ], [ "FStar.ST.write", @@ -298,20 +286,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.ST.mref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Monotonic.Heap.addr_of" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e9c7979e5e77528910e68340e0e25f7a" + "bde4effaa9c6aedaa7520c49a543ac64" ], [ "FStar.ST.op_Colon_Equals", @@ -319,20 +300,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.ST.mref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Monotonic.Heap.addr_of" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "31a7cded296bfbb104549e2abfa1313c" + "74ab4a17d089841761114a3286567412" ], [ "FStar.ST.modifies_none", @@ -342,11 +316,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "77b2a148cfb58512ccc8077f50f12260" + "03818724ee56c4fd929fcfbd7d025522" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Seq.Base.fst.hints b/ulib/FStar.Seq.Base.fst.hints index 4f944d3f436..9988eee0f3b 100644 --- a/ulib/FStar.Seq.Base.fst.hints +++ b/ulib/FStar.Seq.Base.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_Prims.list__uu___haseq" ], 0, - "0763456c8d9b46855eb4aa1c6711c8e3" + "0fbf60ca9cf49a5aac3af4585dcc782f" ], [ "FStar.Seq.Base.index", @@ -17,7 +17,7 @@ 1, [ "@query", "equation_FStar.Seq.Base.length" ], 0, - "baf3cb38f8f9acb238dfeb6f7dba79bc" + "673fc87bd87d885d883a47e442077181" ], [ "FStar.Seq.Base.hd", @@ -38,7 +38,7 @@ "typing_FStar.Seq.Base.__proj__MkSeq__item__l" ], 0, - "4ca19942a7337c7abed8c82b5a0adedc" + "c88ba579726f9111d06966b9f2b030d5" ], [ "FStar.Seq.Base.tl", @@ -59,7 +59,7 @@ "typing_FStar.Seq.Base.__proj__MkSeq__item__l" ], 0, - "66df5365d9e31453e923b68705bec41b" + "39f2c631320ab43adf1788a2d75e88c7" ], [ "FStar.Seq.Base.create", @@ -68,16 +68,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "b385b734c918e409668f2b4cbc383f13" + "49c12bdb80371c4fae314f7bf090ef6d" ], [ "FStar.Seq.Base.init_aux", @@ -87,19 +85,19 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_df80dff695780b6b2006deedd8e5e655_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_1e8e92810844635223566aa4424e1f57_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd01c95bb0ee182fe1dbef1a27a6cc7d", + "refinement_interpretation_Tm_refine_24e0f7a4ca49aa53202cb61b2d7edc7c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "well-founded-ordering-on-nat" ], 0, - "68cc84fd337ac737b1f3aa8edd462c7e" + "b6fb7a8f7bf26ead4ee919415d589696" ], [ "FStar.Seq.Base.init", @@ -110,10 +108,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fbdc227eb19ca9f9fa2963cfcf86077a" + "70054709fd1948d3e5b7013ea41f0de3" ], [ "FStar.Seq.Base.empty", @@ -131,7 +129,7 @@ "projection_inverse_Prims.Nil_a" ], 0, - "be7ced6c50ee08435b42374dcdb7dc34" + "5271de4700906690217076b88400692c" ], [ "FStar.Seq.Base.lemma_empty", @@ -143,23 +141,20 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Seq.Base.MkSeq", "data_elim_Prims.Cons", "equation_FStar.Seq.Base.empty", "equation_FStar.Seq.Base.length", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", "proj_equation_FStar.Seq.Base.MkSeq_l", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Seq.Base.__proj__MkSeq__item__l" ], 0, - "cc9a15b0532fe951064d1bca442f401b" + "43ca016d4c11c3246095976b0a1e12ae" ], [ "FStar.Seq.Base.upd", @@ -172,7 +167,7 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_aefba8487e0f5c5174b6fd11114b85f2_3", + "binder_x_9c2db2f328d356a0f28090c15651908a_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.tail", @@ -188,16 +183,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Seq.Base.MkSeq_l", - "refinement_interpretation_Tm_refine_436be70bfa7d12df18ce91b984647360", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.tl", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "b15b265c1daab7e63f6849de05d59b21" + "880b7dfeebbbe0da633f29f2c7f2645c" ], [ "FStar.Seq.Base.slice", @@ -209,9 +204,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_41e443f219b2545a74a1ba8b2d5382ba_4", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_92b4ca67940edbe7eb92584abb60d99a_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "data_elim_FStar.Seq.Base.MkSeq", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.tail", @@ -229,14 +224,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Seq.Base.MkSeq_l", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9ddd2e57b13b4a1a2035ccef6583a38", + "refinement_interpretation_Tm_refine_0b96c9fb144252e5e0a8cf206f803f66", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "e1007b9717edfb1752da66c9bb499609" + "cb96735d3cd0b55d7a9fa9e5fbbc9089" ], [ "FStar.Seq.Base.lemma_create_len", @@ -246,11 +241,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "76732c6a925b8ddc612f972a8e0f6f55" + "bc1c32d225f5fd84d420eaacf50813a2" ], [ "FStar.Seq.Base.lemma_create_len", @@ -260,11 +255,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c9713a5706b7b503c71dcae3bb0c3d10" + "0d12bd3077ceefba3cd8f8746baab9cc" ], [ "FStar.Seq.Base.lemma_create_len", @@ -278,8 +273,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.create.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Base.length", @@ -296,12 +291,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", "typing_FStar.Seq.Base.create", "well-founded-ordering-on-nat" ], 0, - "ddda11e0d6f1437d8f8d76b00593aa74" + "7f849236ba3471722eba1ce3643c0ab4" ], [ "FStar.Seq.Base.lemma_init_len", @@ -311,11 +306,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bb33cd869052712eb8c77f49c2ca7e12" + "0bdd69cfb5b7cca97ca35e8fda0e2830" ], [ "FStar.Seq.Base.lemma_init_aux_len", @@ -329,19 +324,21 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.init_aux.fuel_instrumented", "@query", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "FStar.Seq.Base_interpretation_Tm_arrow_42044fc6fa1759df5d9715faa80fd891", + "FStar.Seq.Base_interpretation_Tm_arrow_3f46116cd9c2732e285b219605a0f891", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6fcf6729a1e2c465651d20d06376bf10_4", - "binder_x_df80dff695780b6b2006deedd8e5e655_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_1e8e92810844635223566aa4424e1f57_3", + "binder_x_5836a3960d080da78425019dd886b536_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", + "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Base.length", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Seq.Base.init_aux.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", @@ -352,15 +349,16 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd01c95bb0ee182fe1dbef1a27a6cc7d", + "refinement_interpretation_Tm_refine_24e0f7a4ca49aa53202cb61b2d7edc7c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", "typing_FStar.Seq.Base.init_aux", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "fd613914a12b93c450edfe240c724f63" + "ac7a3d9607279ef9807ab68b283e653d" ], [ "FStar.Seq.Base.lemma_init_len", @@ -370,11 +368,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bc51b49172a2d3c19e0ed6bf0fc2260c" + "2670a9df5980097528eb2fdca09f62be" ], [ "FStar.Seq.Base.lemma_init_len", @@ -385,7 +383,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equation_FStar.Seq.Base.init", "equation_FStar.Seq.Base.length", @@ -399,10 +397,10 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Seq.Base.MkSeq_l", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "efb518021a945e7e1b8c76403423f9ef" + "e833ded00685ef1cb8e8496db3132d26" ], [ "FStar.Seq.Base.lemma_len_upd", @@ -410,17 +408,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ce03afa676deae6b2b3626fd83c672a4" + "612360065a398af1aa4bcaebc6a70b63" ], [ "FStar.Seq.Base.lemma_len_upd", @@ -428,17 +423,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e02657bff87d745a8c65c22ad5f2e6db" + "refinement_interpretation_Tm_refine_ebcf3f3ce444e304e757a1197ac3a078" ], 0, - "210907456666147d56c8b630af876f21" + "f2b85798612891a9632ffefe170721e8" ], [ "FStar.Seq.Base.lemma_len_upd", @@ -452,9 +444,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.upd.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_db64c5931870e5c4d2f193c7b2a3f526_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_ddaa4e04b3f077b88f47f95ebda320a3_4", "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "equation_FStar.List.Tot.Base.tail", @@ -475,14 +467,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c8749325c4b39c50096aa50b1af25e53", + "refinement_interpretation_Tm_refine_4633e5987137332d8f0ae0d71dd73938", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", "typing_FStar.Seq.Base.upd", "well-founded-ordering-on-nat" ], 0, - "c2d4c91b0777dc448882e636fcee9fd5" + "2e03a0008fa6b692d0a469ae36a9c8d3" ], [ "FStar.Seq.Base.lemma_len_append", @@ -498,7 +490,7 @@ "projection_inverse_FStar.Seq.Base.MkSeq_l" ], 0, - "0cb585076d4982f9289237d37b94d31a" + "189b7262cb89e4eed627e119519765da" ], [ "FStar.Seq.Base.lemma_len_slice", @@ -507,7 +499,7 @@ 1, [ "@query" ], 0, - "6eca743001d6c293c83d016b527859b1" + "4d3ce6da5be56a475bceba82a8033ba5" ], [ "FStar.Seq.Base.lemma_len_slice", @@ -521,12 +513,12 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.slice.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_41e443f219b2545a74a1ba8b2d5382ba_4", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_92b4ca67940edbe7eb92584abb60d99a_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", + "data_elim_Prims.Cons", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Base.hd", "equation_FStar.Seq.Base.length", @@ -547,18 +539,16 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e9ddd2e57b13b4a1a2035ccef6583a38", + "refinement_interpretation_Tm_refine_0b96c9fb144252e5e0a8cf206f803f66", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.tl", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "422f4987ffd930d3744e64295cfa4727" + "d6a1af5e0a427cd6b7bb337c00f5abda" ], [ "FStar.Seq.Base.lemma_index_create", @@ -572,7 +562,7 @@ "@query", "lemma_FStar.Seq.Base.lemma_create_len" ], 0, - "5694638cf3fde29e47dea8449f77b40b" + "db42bbe0b96cedc109c6c5494731b6fa" ], [ "FStar.Seq.Base.lemma_index_create", @@ -586,7 +576,7 @@ "@query", "lemma_FStar.Seq.Base.lemma_create_len" ], 0, - "a065bede2baf93eb13e50ab802b6601a" + "781c2dea4f810f1fa475695fab495603" ], [ "FStar.Seq.Base.lemma_index_create", @@ -600,9 +590,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.create.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_df80dff695780b6b2006deedd8e5e655_4", + "binder_x_1e8e92810844635223566aa4424e1f57_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", @@ -622,16 +612,16 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd01c95bb0ee182fe1dbef1a27a6cc7d", + "refinement_interpretation_Tm_refine_24e0f7a4ca49aa53202cb61b2d7edc7c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "token_correspondence_FStar.Seq.Base.create.fuel_instrumented", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", "typing_FStar.Seq.Base.create", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "4d6096474f46e9b605104d6684610ad5" + "9d374b8060086ca48291ed0a69d48ce1" ], [ "FStar.Seq.Base.lemma_index_upd1", @@ -642,16 +632,14 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Base.upd.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.upd.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "e1aa2a831160399fad6660a11835c1c2" + "9e9e7bb4ea743c27c0fc41945e2969ef" ], [ "FStar.Seq.Base.lemma_index_upd1", @@ -662,17 +650,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Base.upd.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.upd.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_57d5084e4438700b70df437debd25bb9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_fffa91b2df03c674f836f326464ff056" ], 0, - "65c188a64d937cec2bc9f52058bf3ecd" + "b9786d8ae512ce7a2715f7939a756028" ], [ "FStar.Seq.Base.lemma_index_upd1", @@ -689,7 +675,7 @@ "@fuel_irrelevance_FStar.Seq.Base.upd.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_aefba8487e0f5c5174b6fd11114b85f2_3", + "binder_x_9c2db2f328d356a0f28090c15651908a_3", "binder_x_e09860b75d8922ab497a3e5bc9347578_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", @@ -716,11 +702,11 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_436be70bfa7d12df18ce91b984647360", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.tl", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", @@ -728,7 +714,7 @@ "well-founded-ordering-on-nat" ], 0, - "79dca2d0d67704c436afde4f001ca9ea" + "398a1b79e2a319139cadc08d52a840c2" ], [ "FStar.Seq.Base.lemma_index_upd2", @@ -739,20 +725,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Base.upd.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.upd.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "e917df2d4385c2994432780099b80315" + "158ed7ff7e053c4059b19e35edf413ed" ], [ "FStar.Seq.Base.lemma_index_upd2", @@ -763,20 +747,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Base.upd.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.upd.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "cba5837ebf90b1b209a21178ac2dd096" + "22633408aefcfcad53abf903f49d534f" ], [ "FStar.Seq.Base.lemma_index_upd2", @@ -793,9 +775,9 @@ "@fuel_irrelevance_FStar.Seq.Base.upd.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_aefba8487e0f5c5174b6fd11114b85f2_3", + "binder_x_609aa73d8b5e53e446f4284d32d2b723_5", + "binder_x_9c2db2f328d356a0f28090c15651908a_3", "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_f9f27f1458bc3a097cf48ac61fc19d12_5", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -822,18 +804,18 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_436be70bfa7d12df18ce91b984647360", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d4454eb8f04abad98ccf40cbccc4eb69", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_d07e08b1baee35407e54585327b95e0b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "c4ffd4bd1c0e97846dcb0e8274df91d8" + "9cc2eac161dccb2975e2d9e3c0ccb13b" ], [ "FStar.Seq.Base.lemma_index_app1", @@ -841,17 +823,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Base.length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Seq.Base.lemma_len_append", + "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.length", + "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "913d6457e9bf8a3dbe851b26ab306dbd" + "7ac8852aca1974681e75c1d53539f2f5" ], [ "FStar.Seq.Base.lemma_index_app1", @@ -859,17 +838,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Base.length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Seq.Base.lemma_len_append", + "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.length", + "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "e19c07b214361d518e2ca2c38d495df2" + "28c22213564613f3f873bf46f51cf1b9" ], [ "FStar.Seq.Base.lemma_index_app1", @@ -887,10 +863,9 @@ "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_aefba8487e0f5c5174b6fd11114b85f2_4", + "binder_x_9c2db2f328d356a0f28090c15651908a_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Seq.Base.MkSeq@tok", "disc_equation_Prims.Cons", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.hd", "equation_FStar.List.Tot.Base.tail", @@ -912,10 +887,10 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_436be70bfa7d12df18ce91b984647360", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", @@ -923,7 +898,7 @@ "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "afec92271628914ddfe1cfe736c4f1db" + "3cb93191b7ab4cdb0af06d88672c8f80" ], [ "FStar.Seq.Base.lemma_index_app2", @@ -931,19 +906,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Base.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.length", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b" ], 0, - "ec08effb840732eb3d11ade08b103d6f" + "4896e2bd42ef951c6e04419510171c4c" ], [ "FStar.Seq.Base.lemma_index_app2", @@ -951,18 +923,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Seq.Base.seq", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2def19ba2316918e3e84eca549d21eef", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7255d60700946ecb277715d099c8970b" ], 0, - "66c05f2a3d8f3b8bbb65850ce1bd5f34" + "b5264a68a9cfaeafbdb886facf941e9c" ], [ "FStar.Seq.Base.lemma_index_app2", @@ -978,9 +948,9 @@ "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_11c9f70062b4bddfa44607bcc577116f_4", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_63bf685ff43cf8a937565e0b6249b67f_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -1005,17 +975,16 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d64551f2e3af311862d064f60915767e", + "refinement_interpretation_Tm_refine_390ece21d455368efd3a2d32c307914b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.append", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "9f4431e7c7b01442d07a7554139b3695" + "7a1344ea69801acd4b401ed4d58d569b" ], [ "FStar.Seq.Base.lemma_index_slice", @@ -1026,22 +995,20 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Base.slice.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.slice.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Base.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", + "fuel_guarded_inversion_FStar.Seq.Base.seq", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1" ], 0, - "7116ba33acadc956164690ec37ca574e" + "7d6015d086d3675fa646f29e3869a4e0" ], [ "FStar.Seq.Base.lemma_index_slice", @@ -1052,21 +1019,19 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Base.slice.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.slice.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2cbff6250ccf05b1553cfec7ec4f0b46", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_0f32ce9ff1a38c6c5dcd08671b39e727", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1" ], 0, - "6bcb3d2479e02a58e55b031992d88d0a" + "37acb22ac14768d741e348072a1746b8" ], [ "FStar.Seq.Base.lemma_index_slice", @@ -1082,10 +1047,10 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.slice.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_1cc7ba4d572a328a2d9cfba2ec902602_5", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_7345a4c5ec8979a19f57eb6d6ee9d4df_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_3", - "binder_x_f419b35605f06cb45eb668d745588284_5", + "binder_x_9e6dbc7b6915f2bcb886fd3a6a8a3645_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.hd", @@ -1113,18 +1078,17 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_23fc96b3f3562489f64a87391ec07135", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d3d8dcc0b03a1c4029672200cc7c71b6", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b7ce96903866d7916eb3b6884a268a34", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_e27ae0771cd331b38ef3f217d1952fbe", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "5bb438685952b10d782b13d2bc5f887f" + "1139f9d2bb55a5d5cc00724e6d0d8217" ], [ "FStar.Seq.Base.hasEq_lemma", @@ -1133,7 +1097,7 @@ 1, [ "@query", "assumption_FStar.Seq.Base.seq__uu___haseq" ], 0, - "f6930459a76b611780aa27877f15c29c" + "8bbe2737baedfe42e5cc14bc83c73bc5" ], [ "FStar.Seq.Base.equal", @@ -1141,16 +1105,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b7f1fb1e98dd762bfd2571d4372a6459" + "0b7988d0045d58ddca65badc20f301af" ], [ "FStar.Seq.Base.eq_i", @@ -1158,17 +1119,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_66f165220202740fd61218786c68cfb8" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_331c14d442c5ee89a4fce6ea305c920f", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4d8067399657947ae06fc9179f8b94c9" + "5fdcb7a92f40b1fef63fef2d700d6e8c" ], [ "FStar.Seq.Base.eq_i", @@ -1176,17 +1134,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_66f165220202740fd61218786c68cfb8" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_331c14d442c5ee89a4fce6ea305c920f", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "76e2f8040d19503229b2fd7fa964b300" + "473548bf98bcc9eaff702f58a16b9b64" ], [ "FStar.Seq.Base.eq_i", @@ -1196,30 +1151,28 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a0aeec07b928d3cae2e5de956314acd1_2", - "binder_x_a1f782a8f2e3f92b3c842e15f92e8085_3", "bool_inversion", + "binder_x_0f213a493b460394312187ae1ccaa1bb_1", + "binder_x_56daa11ba841b72211bdd5266b96c1c7_3", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_be8e2b673a831b61cc679300d7e73ed0_2", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_43e71ff94999658ff635338f630a602a", - "refinement_interpretation_Tm_refine_5b1e05613bad3430f4e9efc0391c2609", - "refinement_interpretation_Tm_refine_72ecdeebaf695c3321e858184cf50946", - "refinement_interpretation_Tm_refine_a3fc08decec5289a53f401f8c84f60af", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6afacefa4f98f2347abc2da829236b83", + "refinement_interpretation_Tm_refine_9ae3772ca42e69e0a0f009fcc10675fa", + "refinement_interpretation_Tm_refine_eac2592eb929cb9b1b66722a8ced63ae", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "5cd6e9d96fbfd3748a49123ea8682fd6" + "eee9878679b6680b56549c6107837319" ], [ "FStar.Seq.Base.eq", @@ -1227,25 +1180,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.Seq.Base.equal", "equation_FStar.Seq.Base.length", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.equal", + "equation_FStar.Seq.Base.length", "equation_Prims.eqtype", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_331c14d442c5ee89a4fce6ea305c920f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5998c039b110812985189cac0a3217ea", - "refinement_interpretation_Tm_refine_66f165220202740fd61218786c68cfb8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5837a85e8e08ddc648b50b3708fd6623", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length" ], 0, - "68460f8b272e03cac4beb2db45878865" + "39aab5332724fb5010695d4f5dddd504" ], [ "FStar.Seq.Base.lemma_eq_intro", @@ -1253,16 +1202,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5bfd1ebe4e33758602755c3290534f85" + "caf4843e4bafcd17f7bdfaf69d5081f6" ], [ "FStar.Seq.Base.lemma_eq_intro", @@ -1271,7 +1217,7 @@ 1, [ "@query", "equation_FStar.Seq.Base.equal" ], 0, - "3e20d09d6f67f4fccd20f36715ded7b8" + "9245a489b975abec292f831be6396f87" ], [ "FStar.Seq.Base.lemma_eq_refl", @@ -1280,7 +1226,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], 0, - "93242d5c89f6cd87db0d899cfcfe0af7" + "fc7ae64e8a25d14dfa9935c9503d87b9" ], [ "FStar.Seq.Base.lemma_eq_elim", @@ -1288,18 +1234,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Base.equal", "equation_FStar.Seq.Base.index", - "equation_FStar.Seq.Base.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.equal", + "equation_FStar.Seq.Base.index", "equation_FStar.Seq.Base.length", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", "int_inversion", "proj_equation_FStar.Seq.Base.MkSeq_l", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "30ee3c03459214ca8f71a3531992d86a" + "93f9c2edc4c0eb729617823168e7d57b" ], [ "FStar.Seq.Base.append_assoc", @@ -1315,7 +1258,7 @@ "projection_inverse_FStar.Seq.Base.MkSeq_l" ], 0, - "7931e0839f42fede45c133babdd44ad8" + "d4015b3b2e30970cdfed232b257db1bb" ], [ "FStar.Seq.Base.append_empty_l", @@ -1331,7 +1274,7 @@ "projection_inverse_FStar.Seq.Base.MkSeq_l" ], 0, - "0bf5b54d65fc4634e3074403eb9aee92" + "5a6f40aeb1270d00e6ec192589af32e2" ], [ "FStar.Seq.Base.append_empty_r", @@ -1347,7 +1290,7 @@ "projection_inverse_FStar.Seq.Base.MkSeq_l" ], 0, - "4023f325258bbda751f975c55e0c6a58" + "e6f047eee9936e0d1b169943065c9006" ], [ "FStar.Seq.Base.init_index", @@ -1356,7 +1299,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_init_len" ], 0, - "6a9ca1351540b2f7d5ae8d2420808b96" + "288308c1f86679ec9844ec7c362c725f" ], [ "FStar.Seq.Base.init_index_aux", @@ -1367,19 +1310,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Base.init_aux.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.init_aux.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_init_aux_len", + "@query", "equation_Prims.nat", "int_inversion", + "lemma_FStar.Seq.Base.lemma_init_aux_len", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4082401c381fcdb9b6f32eee2753401f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_fb2079216a1c6d4afc4fb33aac254de0" ], 0, - "2d149cd5367685ba3874af749934fc4c" + "b7802293372a59419b99582167504a4f" ], [ "FStar.Seq.Base.init_index_aux", @@ -1394,12 +1335,12 @@ "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Base.init_aux.fuel_instrumented", "@query", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "FStar.Seq.Base_interpretation_Tm_arrow_42044fc6fa1759df5d9715faa80fd891", + "FStar.Seq.Base_interpretation_Tm_arrow_3f46116cd9c2732e285b219605a0f891", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6fcf6729a1e2c465651d20d06376bf10_4", - "binder_x_df80dff695780b6b2006deedd8e5e655_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_1e8e92810844635223566aa4424e1f57_3", + "binder_x_5836a3960d080da78425019dd886b536_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", "equality_tok_Prims.LexTop@tok", @@ -1411,8 +1352,10 @@ "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Seq.Base.init_aux.fuel_instrumented", + "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", + "l_quant_interp_a0cdaf92d34e7a2bc4d362fcba22f23f", "lemma_FStar.Seq.Base.lemma_init_aux_len", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", @@ -1423,18 +1366,19 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd01c95bb0ee182fe1dbef1a27a6cc7d", - "refinement_interpretation_Tm_refine_e5e2360eeafb9866b595c9b0898add9c", - "refinement_interpretation_Tm_refine_fb0a48df6540dc9e0ca604112be90982", + "refinement_interpretation_Tm_refine_0ae5a6a860b0607bf1628cce89bc2702", + "refinement_interpretation_Tm_refine_24e0f7a4ca49aa53202cb61b2d7edc7c", + "refinement_interpretation_Tm_refine_2662bcb742d1bdae1119e4f360d6e9cf", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.Seq.Base.init_aux.fuel_instrumented", "typing_FStar.Seq.Base.__proj__MkSeq__item__l", "typing_FStar.Seq.Base.init_aux", "well-founded-ordering-on-nat" ], 0, - "063cdca1ab3a60f7020a8a754a64430a" + "5155b83ec7c2159bb59d1669ea84157c" ], [ "FStar.Seq.Base.init_index", @@ -1452,14 +1396,14 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_5d78536a608ed6a3cd2c9b9b10f1cf4a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_dd83838b7d08260c0e5559d3737ba703", "typing_FStar.Seq.Base.init" ], 0, - "66ab7d0377b56eaea3f6b69c6df4ec4f" + "ee4ca9573b237f837606c044539b7cdd" ], [ "FStar.Seq.Base.init_index_", @@ -1467,18 +1411,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.nat", + "equation_Prims.squash", "int_inversion", "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "3ba236d8ff966cd4486b953b005ffc5d" + "fae12c2c92622b4cab344ce6711820b9" ], [ "FStar.Seq.Base.lemma_equal_instances_implies_equal_types", @@ -1490,7 +1432,7 @@ "fuel_guarded_inversion_FStar.Seq.Base.seq" ], 0, - "819bb74a83c5b2248600d221cb44970e" + "809a8d719ceb8f81a7f6c325becf42f1" ], [ "FStar.Seq.Base.lemma_create_len", @@ -1500,11 +1442,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7f0936a604ebf6eaf52d95e50b3df09e" + "00f085aeb134f221457720de48f70950" ], [ "FStar.Seq.Base.lemma_init_len", @@ -1514,11 +1456,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "80576e7adaaaf6d21e041419c83f3f6e" + "031a2726de9503cf6530a1da10c2aa34" ], [ "FStar.Seq.Base.lemma_len_upd", @@ -1526,17 +1468,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d8253574771b9799b38f532d85fca738" + "cb5fbaeaab68b30af7cd437e497a98ca" ], [ "FStar.Seq.Base.lemma_index_create", @@ -1545,7 +1484,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_create_len" ], 0, - "099fde211e3c2bb0ecd519406e6ece70" + "555279b8cd9c9d369a38a17b31ae122a" ], [ "FStar.Seq.Base.lemma_index_upd1", @@ -1553,17 +1492,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "4906338661d98ec3a18c02de1cfe9620" + "f8c374846e150933448268eebc8fc786" ], [ "FStar.Seq.Base.lemma_index_upd2", @@ -1571,20 +1507,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "a88387f8dc3a88dce3a61cef98081049" + "503ba846f058d359f420d985673fca79" ], [ "FStar.Seq.Base.lemma_index_app1", @@ -1592,17 +1525,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "09b039c2a60ed56a23d59d6ceba4f6ec" + "cdb37c8bcacf5dee5f43c87cc2a465a3" ], [ "FStar.Seq.Base.lemma_index_app2", @@ -1610,19 +1540,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "typing_FStar.Seq.Base.length" ], 0, - "5cf21e732c92cbfe8a6fcde14a7e8858" + "9b5b0723d771aadeeb67cae04e2627c0" ], [ "FStar.Seq.Base.lemma_index_slice", @@ -1630,23 +1557,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Seq.Base.length" ], 0, - "a96cf5336ce8d577a1e5f2b7cf85bf97" + "e06737fc7b645e7bbf725ac8f84dc240" ], [ "FStar.Seq.Base.eq_i", @@ -1654,17 +1578,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_66f165220202740fd61218786c68cfb8" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_331c14d442c5ee89a4fce6ea305c920f", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "11e23fb72dc1e57165c69fcb2ff267d4" + "0e5998ad617744a69eaf1d683dc12612" ], [ "FStar.Seq.Base.eq_i", @@ -1674,30 +1595,28 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a0aeec07b928d3cae2e5de956314acd1_2", - "binder_x_a1f782a8f2e3f92b3c842e15f92e8085_3", "bool_inversion", + "binder_x_0f213a493b460394312187ae1ccaa1bb_1", + "binder_x_56daa11ba841b72211bdd5266b96c1c7_3", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_be8e2b673a831b61cc679300d7e73ed0_2", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_43e71ff94999658ff635338f630a602a", - "refinement_interpretation_Tm_refine_5b1e05613bad3430f4e9efc0391c2609", - "refinement_interpretation_Tm_refine_72ecdeebaf695c3321e858184cf50946", - "refinement_interpretation_Tm_refine_a3fc08decec5289a53f401f8c84f60af", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6afacefa4f98f2347abc2da829236b83", + "refinement_interpretation_Tm_refine_9ae3772ca42e69e0a0f009fcc10675fa", + "refinement_interpretation_Tm_refine_eac2592eb929cb9b1b66722a8ced63ae", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "025a54965df311274dabaf8a5a5e6d58" + "65078167714c88a3296286220078a054" ], [ "FStar.Seq.Base.lemma_eq_intro", @@ -1705,16 +1624,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dacea026f3fbf59670bb82fba97a1dd7" + "1674cb26df1ead17ebe25c27b942d39a" ], [ "FStar.Seq.Base.init_index_aux", @@ -1722,19 +1638,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_init_aux_len", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "c18a0391ad4fdda5af586ea01a66ce67" + "b3aeba9288deb576b95302dcf21b7ecd" ], [ "FStar.Seq.Base.init_index", @@ -1743,7 +1656,7 @@ 1, [ "@query", "lemma_FStar.Seq.Base.lemma_init_len" ], 0, - "6c7cd548a05f30d8da02495bff4e21cd" + "b756cea28b1331ff914a2e211e46e5e4" ], [ "FStar.Seq.Base.init_index_", @@ -1755,11 +1668,11 @@ "equation_Prims.squash", "int_inversion", "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "cb7eaa7b9217e00e6902459be6bebf2c" + "adc6ca5a33c937a8868500bdd8cb3b9d" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Seq.Properties.fst.hints b/ulib/FStar.Seq.Properties.fst.hints index 0b0d99cc9b3..566c1431672 100644 --- a/ulib/FStar.Seq.Properties.fst.hints +++ b/ulib/FStar.Seq.Properties.fst.hints @@ -7,17 +7,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_67742a85f7188ae8566f64c3f90bfb4c" ], 0, - "98731ec91a0841ea6bc2264be882c83d" + "8dfe9fb3c807cb78feaeb28324ef8939" ], [ "FStar.Seq.Properties.lemma_append_inj_l", @@ -27,11 +24,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f1df7f847406b7ec1331473d0c5854e8" + "3d4d7a897cd1f9e5a7ebe64556379a9f" ], [ "FStar.Seq.Properties.lemma_append_inj_l", @@ -39,25 +36,21 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", + "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", + "equation_Prims.nat", "equation_Prims.squash", + "fuel_guarded_inversion_Prims.equals", "int_inversion", + "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_67742a85f7188ae8566f64c3f90bfb4c", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "unit_typing" + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "914a305536d187050d86a8fdf61f18e8" + "5393f34273486ce2f56fad7aaca1f991" ], [ "FStar.Seq.Properties.lemma_append_inj_r", @@ -65,17 +58,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_64e82110644016dc09ff0ed468e6bfac" ], 0, - "08fba9265219d8b2c571ce2d5c04f6c0" + "31e483949c18d812c57e24eed2164fce" ], [ "FStar.Seq.Properties.lemma_append_inj_r", @@ -83,16 +73,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ec3f7c8f5f1218eaecf63e9b9039cfd1" + "a209c57dcc1e455bec261d126a7d1238" ], [ "FStar.Seq.Properties.lemma_append_inj_r", @@ -100,24 +87,21 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_64e82110644016dc09ff0ed468e6bfac", - "refinement_interpretation_Tm_refine_9bf2ae53ac7ba857f054ffcffb7fe3c4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_65252598c54dfb80dbb3efb268be7156", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "b4da0a478cf70edad984179c0fd6d377" + "fc4e3a52a11503f9bd1150543432827f" ], [ "FStar.Seq.Properties.lemma_append_len_disj", @@ -125,16 +109,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "efad3cfccd812c487fb68262af38e239" + "8b91896f5cefaab44b1672225b7cb39a" ], [ "FStar.Seq.Properties.lemma_append_len_disj", @@ -142,16 +123,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "40078ff856832fb601b913a62978e991" + "84fa3b6b54698476dd49ce77caf7f13c" ], [ "FStar.Seq.Properties.lemma_append_len_disj", @@ -159,19 +137,16 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_46632c5026c3eb601c1190d537e20a9b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "0e59928874f781f99d82ca08aa7f182e" + "733ac8f4d8231260de8a949f5b36a6bd" ], [ "FStar.Seq.Properties.lemma_append_inj", @@ -179,16 +154,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "67d4847beaf4e874bd280b6e1a43d645" + "da4adc8f55e242ddc3d3cc717caa9f0b" ], [ "FStar.Seq.Properties.lemma_append_inj", @@ -196,16 +168,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "45cc0b0fab3cec8ad5379e1ccfa8a44a" + "899474e91a27cb70ab546d7f5ad27fbe" ], [ "FStar.Seq.Properties.lemma_append_inj", @@ -218,7 +187,7 @@ "refinement_interpretation_Tm_refine_4d9c92860015ea426c4f6ed9b5e23b20" ], 0, - "6ba8eb23a2cc83004f84c3c2fcb2642c" + "5dc7c8612c8e1819e42f191045641baf" ], [ "FStar.Seq.Properties.head", @@ -230,7 +199,7 @@ "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c" ], 0, - "79ec1110c20e00763ff78af91d24eadc" + "40604d591b0e1c13b8ac5b729be17fc8" ], [ "FStar.Seq.Properties.tail", @@ -250,7 +219,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "aebe442109898076cc8372075834fb2c" + "51454f94629fcf6b06f5247fa3f777c8" ], [ "FStar.Seq.Properties.lemma_head_append", @@ -258,18 +227,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "635b0a104bda4094bf6b4498bddb7a94" + "4a9bf222ca71fc9de1de765d53df87af" ], [ "FStar.Seq.Properties.lemma_head_append", @@ -278,16 +244,14 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.head", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app1", + "int_typing", "lemma_FStar.Seq.Base.lemma_index_app1", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "70777c64ebfb5eac00bbcc94045e20f5" + "5cb672bffd7fbd42965e6aabb1e87e96" ], [ "FStar.Seq.Properties.lemma_tail_append", @@ -295,18 +259,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "c6e6be87a27c68cc04dd3f14cc98fbee" + "93a7540e87463a571b529d98517a436f" ], [ "FStar.Seq.Properties.lemma_tail_append", @@ -315,9 +276,7 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -329,18 +288,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail" ], 0, - "6abc5d48f2d1c40e484adca5e1168551" + "f5c0e56a983a4ae948a5eacc8dfec69f" ], [ "FStar.Seq.Properties.last", @@ -359,7 +318,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "465e1ea152dd29f32f23adbd6dd6da51" + "8c3407c086057efc26fb4b57fe0e32be" ], [ "FStar.Seq.Properties.lemma_cons_inj", @@ -368,19 +327,17 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", + "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_create", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "56e94ce43adf1e43bfc4ef311ab291a8" + "a88901e3dce3542445f666b9787a0159" ], [ "FStar.Seq.Properties.split", @@ -388,18 +345,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "d5b03ee8d94f5b8d3a815003cd3619b7" + "52ed1d75465b5a0051ffb17723db2c62" ], [ "FStar.Seq.Properties.lemma_split", @@ -409,11 +363,9 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.split", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -429,18 +381,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "98910d984ccfb170534aedcfcd6e4573" + "00e31321c963c24386af5386430d320d" ], [ "FStar.Seq.Properties.split_eq", @@ -449,7 +401,7 @@ 0, [ "@query" ], 0, - "be4ee33d5aad38a5134f0c11396fe086" + "ef1c7739ccdde5a69ad2f8214dbe88ad" ], [ "FStar.Seq.Properties.count", @@ -458,14 +410,11 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", @@ -473,12 +422,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "e44781a1a1b028cca484b50f1d75af4f" + "3194c8270d1dbb61cbfac02b14332b76" ], [ "FStar.Seq.Properties.mem_index", @@ -490,9 +439,9 @@ "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_f5f822c6aa182796e6c581814ec64033_1", "bool_inversion", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_157b99e815dc43d99415725267e9c452_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.mem", @@ -509,18 +458,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3d6f660a2461c4360d26d0578b879a46", + "refinement_interpretation_Tm_refine_2024f3d60f1e162e9f0d26c9d17144c9", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d199505faa58934ff0867c2a8ef68875", + "refinement_interpretation_Tm_refine_45eadf33ba18c65afb51aeb4ef24fd23", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "2c4d1066649ad09e7f6dfebdde0ccb79" + "316a53155fab286bc4dd44e8fa04d9f0" ], [ "FStar.Seq.Properties.index_mem", @@ -529,7 +478,7 @@ 0, [ "@query" ], 0, - "d6853c910049f97b9426091597a16839" + "934faa66558ce4980be550d9ecbfc937" ], [ "FStar.Seq.Properties.index_mem", @@ -541,9 +490,9 @@ "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_f5f822c6aa182796e6c581814ec64033_1", "bool_inversion", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_157b99e815dc43d99415725267e9c452_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.mem", @@ -560,16 +509,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", "well-founded-ordering-on-nat" ], 0, - "03af7bfe9f05f7040c83b96c36628fda" + "93911def9c92feb4326231249ba1606b" ], [ "FStar.Seq.Properties.swap", @@ -577,18 +526,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index" ], 0, - "78c3efe91b1830c33f0c59e0a63ec9ef" + "9d58f95d1546b73eafcd5005f22fd0db" ], [ "FStar.Seq.Properties.lemma_slice_append", @@ -607,7 +553,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "e6aa4b64ab4b0439545fff9c41a0ba4a" + "038b7a0b79820287fe8035039af25829" ], [ "FStar.Seq.Properties.lemma_slice_append", @@ -615,10 +561,7 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -629,18 +572,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_422b9532c2df78e1e3319ee46753029a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "01e2845cd4a03681de1f96e9d3880cd6" + "a6798418d113fbe39c4202d1b1984a9b" ], [ "FStar.Seq.Properties.lemma_slice_first_in_append", @@ -648,20 +591,17 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "typing_FStar.Seq.Base.length" ], 0, - "5b94eba35d21bb2dc3ce49ee66bb0fca" + "a82c06db21ebd97afa914dbfab7507a9" ], [ "FStar.Seq.Properties.lemma_slice_first_in_append", @@ -669,20 +609,17 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e67faffff60cfa4bd3a23c60e5ac0a4a", + "refinement_interpretation_Tm_refine_4d63081b02fe792aa12756fca9652fb0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "9a14ca18f4dbb45c171318125fbf4381" + "979d4623e88fcea159551652086eec45" ], [ "FStar.Seq.Properties.lemma_slice_first_in_append", @@ -694,7 +631,7 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_4e3de2e591815e2b909c2608f371742b_4", + "binder_x_cb78cac25cf6b965de972a443f7fd1ce_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", @@ -710,18 +647,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b8f429635665e640b1945e3725727c62", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_bed63025d6cde207849aad694c14eba1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "well-founded-ordering-on-nat" ], 0, - "17d524933abcd201b6eca0e72a009cf3" + "7e7816f327e48467b3da93a9ee2f50dd" ], [ "FStar.Seq.Properties.slice_upd", @@ -729,20 +666,17 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "0a5f7cc0bfffc1fa2400aa7cd68eb802" + "c3fbd890719e2a1d314361ce5591e663" ], [ "FStar.Seq.Properties.slice_upd", @@ -750,10 +684,7 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_index_upd2", @@ -764,17 +695,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_eb2138b73bd97b98c85f91dd46555a57", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b3735f2511ac92b4f5637c9c9205322b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "typing_FStar.Seq.Base.upd" ], 0, - "306d5c650a98dae2ba4d93128b75a9f1" + "5d55193a2733437b6602e95154c22c29" ], [ "FStar.Seq.Properties.upd_slice", @@ -782,27 +713,24 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_Prims.nat", "equation_Prims.squash", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length" ], 0, - "44a617aaa05725c0a61294d4509f5e34" + "49c6a1b782fa486bbcf23aab91c19ef0" ], [ "FStar.Seq.Properties.upd_slice", @@ -810,10 +738,7 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_index_upd1", @@ -825,17 +750,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bff9fba3859041b36afe5df294bb369c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_95b70baea5b9035ca6399c5c73c58fd4", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length" ], 0, - "bc780ed620ca2cc95364ed85411a489e" + "738512a1cabdebb0c73bc2c9314e1426" ], [ "FStar.Seq.Properties.lemma_append_cons", @@ -844,14 +769,12 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", "binder_x_88b1d88e8f26d9082889214227b20263_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -865,22 +788,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_b2a02c31f4fd7c144911c07d8cd10a87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", "typing_FStar.Seq.Properties.head", "typing_FStar.Seq.Properties.tail" ], 0, - "84e130c261159e1e75c1245163c9d0f0" + "d61777eceae846b7548fbaf547171474" ], [ "FStar.Seq.Properties.lemma_tl", @@ -889,17 +812,15 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", + "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "976972995365b7403d3d73d421be742f" + "4f3f2eb5c0c71db026deabcbfdcbbbd0" ], [ "FStar.Seq.Properties.lemma_tl", @@ -908,10 +829,8 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -923,19 +842,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", "typing_FStar.Seq.Properties.tail" ], 0, - "dd7346df855434f8b0a004bb6d1f692a" + "130b62699e0a79269c48f295de9007d6" ], [ "FStar.Seq.Properties.sorted", @@ -944,24 +863,22 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "8ae1a2f7820888374b92675622ccf686" + "8b905b6f3d10e4fb02ad1a3a8be468b4" ], [ "FStar.Seq.Properties.sorted_feq", @@ -973,18 +890,15 @@ "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Seq.Properties_interpretation_Tm_arrow_ec66076e28c67b82380794ba3ebbac7d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_7a0e0f55fd936b0086eec2eb98509fe7_4", - "binder_x_e8ff9c76a0bff727ace32461774a41f6_2", - "binder_x_e8ff9c76a0bff727ace32461774a41f6_3", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "FStar.Seq.Properties_interpretation_Tm_arrow_dbca5ce6005b0ac91f57abd165fa98a0", + "binder_x_efcefbc9baa34bb860680c61a11922cb_2", + "binder_x_efcefbc9baa34bb860680c61a11922cb_3", + "binder_x_fca1d14d39489ed7a9277a4033583083_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "equality_tok_Prims.LexTop@tok", + "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", "equation_with_fuel_FStar.Seq.Properties.sorted.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -992,16 +906,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_56a213e734cf24597ce1a211bcbb447a", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_edeadb26274144c3d62e451dcd3654e1", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", "typing_FStar.Seq.Properties.sorted", "well-founded-ordering-on-nat" ], 0, - "964bac7c6e7af86d0c7dbc285c298ad8" + "6327dc6c33924ad553c2408f4a3ae48a" ], [ "FStar.Seq.Properties.lemma_append_count", @@ -1013,9 +927,9 @@ "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_1", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", + "binder_x_0f213a493b460394312187ae1ccaa1bb_1", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", @@ -1038,20 +952,20 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.count", "well-founded-ordering-on-nat" ], 0, - "fc0546171a0abe9e1acf58892984e9de" + "b94e055239c9b5ee43b36330a5c9dba2" ], [ "FStar.Seq.Properties.lemma_append_count_aux", @@ -1060,7 +974,7 @@ 0, [ "@query" ], 0, - "3550d7d5dd75eb2a074ddf561310b4e0" + "65e6bacb8526fce60509a169d18e8f4e" ], [ "FStar.Seq.Properties.lemma_mem_inversion", @@ -1085,12 +999,12 @@ "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Properties.count", "typing_FStar.Seq.Properties.mem", "typing_FStar.Seq.Properties.tail" ], 0, - "4e21310bc8dbeee0df3a303aab11b63c" + "04b7cddb726492334c4e33b83e4defaf" ], [ "FStar.Seq.Properties.lemma_mem_count", @@ -1102,11 +1016,11 @@ "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@query", - "FStar.Seq.Properties_interpretation_Tm_arrow_89386f2c4d2fc5eff564b5fa6eec111e", + "FStar.Seq.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1cc327216eda32b9ebb5ae32580104b1_2", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", "bool_inversion", + "binder_x_0f213a493b460394312187ae1ccaa1bb_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b30313af1883fa3dac9793c844f68f3f_2", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.mem", @@ -1115,6 +1029,7 @@ "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", + "l_quant_interp_a5846de233d952730c07fa7a17937310", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -1123,18 +1038,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_75a2083fb8ca78d78cf6764a98801231", - "refinement_interpretation_Tm_refine_8d75edbda2b303c84807f45d4608e214", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9d9d1c722e71bfab8564d033267ba53d", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d8fd94a70949a06dd18ee4f581630d26", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", "well-founded-ordering-on-nat" ], 0, - "f2366f1f3daa8ffc0912142a50ca0686" + "3cc6a31d814269b76fd901d790718c25" ], [ "FStar.Seq.Properties.lemma_count_slice", @@ -1142,19 +1057,17 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "int_inversion", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "typing_FStar.Seq.Base.length" ], 0, - "3f21d9f0cd59f4ff6d6d579b833a4543" + "59269365bf42cf6d332c62479821934e" ], [ "FStar.Seq.Properties.lemma_count_slice", @@ -1162,11 +1075,9 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -1177,18 +1088,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length" ], 0, - "31695674e5e01dca921c908477dc1deb" + "df2c41bd523692dcbd39221def8454b0" ], [ "FStar.Seq.Properties.sorted_concat_lemma", @@ -1202,15 +1113,14 @@ "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Seq.Properties_interpretation_Tm_arrow_cd7712612f03b97811095240937fe8ec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a2e1a335f0c9ab31273b83c52a1c44e2_2", - "binder_x_a2e1a335f0c9ab31273b83c52a1c44e2_4", - "binder_x_f5f822c6aa182796e6c581814ec64033_3", - "binder_x_f7ecdb3195d78dd7e007ccf188b2a5d3_1", "bool_inversion", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "FStar.Seq.Properties_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_157b99e815dc43d99415725267e9c452_3", + "binder_x_3472224b70f46a6b032f84b592851558_2", + "binder_x_3472224b70f46a6b032f84b592851558_4", + "binder_x_5acdf52b9b8ff0c2493fd6f1c19a9c80_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", @@ -1237,17 +1147,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_0b68ca9902637e28c1cd11e56f169c27", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_ae3612efc002db277e43c3fe90ed4370", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7945a5fb13c7ba499c9a3a023b23db9b", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_894563baba96fd7fd1ee94e9295825ae", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", @@ -1257,7 +1167,7 @@ "typing_FStar.Seq.Properties.tail", "well-founded-ordering-on-nat" ], 0, - "790c2f0c547971c8a16a0304061f0594" + "d1c89cf4e35b405aae179c222843ec41" ], [ "FStar.Seq.Properties.split_5", @@ -1265,20 +1175,17 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_94e3975549a4302ec1edaf0a73d936c4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55108d29d63192475ca95f591039cc18", "typing_FStar.Seq.Base.length" ], 0, - "ddc1cd3c729b949fd2e77327945357e5" + "81ac3fef343f309beb94483777e0dac6" ], [ "FStar.Seq.Properties.split_5", @@ -1288,10 +1195,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_eq_refl", @@ -1308,22 +1212,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_94e3975549a4302ec1edaf0a73d936c4", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55108d29d63192475ca95f591039cc18", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq" ], 0, - "183acc87fe9ee3a694ab0874c49bed64" + "871c9d5991c80f73649895c64dd048d8" ], [ "FStar.Seq.Properties.lemma_swap_permutes_aux_frag_eq", @@ -1332,24 +1236,22 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bbb4c04cf0d3499d5a984d9896e706ff", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_66084d01979c78a34e5efcf276a878a5", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "530e64d5a8db21d638b100a08827798e" + "4eadeffb4953d1b9ad2a0ef09d50654c" ], [ "FStar.Seq.Properties.lemma_swap_permutes_aux_frag_eq", @@ -1358,9 +1260,7 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_eq_refl", @@ -1376,20 +1276,20 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_37cc99eae31e096c4acf9b7914bc4855", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bbb4c04cf0d3499d5a984d9896e706ff", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_44d9cc1f24a6a9e925aecbf24f9ce8ca", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_66084d01979c78a34e5efcf276a878a5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "65da3b7573f797ce2441d23f5592dde2" + "df6cfe833a282ea0970b30e79b27fb7f" ], [ "FStar.Seq.Properties.lemma_swap_permutes_aux", @@ -1397,18 +1297,15 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235" + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62" ], 0, - "600723d49d8cf38b7c8b2a4301f99850" + "20e99deeca3fb17c4d6cceb6775f8cf7" ], [ "FStar.Seq.Properties.lemma_swap_permutes_aux", @@ -1420,21 +1317,18 @@ "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.slice_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple5__1", @@ -1443,19 +1337,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple5__4", "projection_inverse_FStar.Pervasives.Native.Mktuple5__5", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.Seq.Base.upd" ], 0, - "c944bf4f1258b7b1771380ac0cdd4887" + "67e2d3b0ac866b6f4b79edba33c99042" ], [ "FStar.Seq.Properties.permutation", @@ -1465,11 +1358,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9e9e0a688f30b32a6ea1dd3033393df0" + "093d061a7a4dd6560873605ac9fe14be" ], [ "FStar.Seq.Properties.lemma_swap_permutes", @@ -1478,24 +1371,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.permutation", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235" + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62" ], 0, - "f9c53df5fa072aa350d172853eb28716" + "86cf23ccbbe3e4c417c4adbd8a7dc718" ], [ "FStar.Seq.Properties.perm_len", 1, 1, - 2, + 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", @@ -1503,9 +1393,9 @@ "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_1", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", + "binder_x_0f213a493b460394312187ae1ccaa1bb_1", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", @@ -1538,15 +1428,15 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", @@ -1556,7 +1446,7 @@ "well-founded-ordering-on-nat" ], 0, - "299ca668901ee4d1d326e3a20baea17a" + "26a08d09c6d2150ea40ce9059e58b9b6" ], [ "FStar.Seq.Properties.cons_perm", @@ -1585,17 +1475,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", "typing_FStar.Seq.Properties.head", "typing_FStar.Seq.Properties.tail" ], 0, - "a20631e485ba561bd12843907e91364c" + "969e2ac7f062393875b52f48b0b88ae4" ], [ "FStar.Seq.Properties.lemma_mem_append", @@ -1605,21 +1495,19 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Properties.mem", "equation_Prims.eqtype", - "equation_Prims.nat", + "@query", "equation_FStar.Seq.Properties.mem", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Properties.count" ], 0, - "546e074e349dd1b69743012f4f00e4ce" + "b1277453db391c0baf31cae9271163c8" ], [ "FStar.Seq.Properties.lemma_slice_cons", @@ -1627,19 +1515,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" ], 0, - "2b228d48b83358b05a062fef7f014e69" + "49c0ba752b4a8210e678fa71270d19a2" ], [ "FStar.Seq.Properties.lemma_slice_cons", @@ -1650,7 +1535,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Properties.head", + "bool_inversion", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.mem", "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", "equation_Prims.nat", @@ -1672,22 +1557,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail" + "typing_FStar.Seq.Properties.mem", "typing_FStar.Seq.Properties.tail" ], 0, - "bcb940a6b67aa4097789b16b1b9bfc7d" + "c064b3970e0607d9be04942fe89e7eb2" ], [ "FStar.Seq.Properties.lemma_slice_snoc", @@ -1695,22 +1580,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThan", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", "typing_FStar.Seq.Base.length" ], 0, - "a21ebef8e71ba23d44a8e3a00d3121b5" + "f321bb3ce97738087ba00fe7d75d51da" ], [ "FStar.Seq.Properties.lemma_slice_snoc", @@ -1744,22 +1626,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", - "typing_FStar.Seq.Properties.tail" + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Properties.mem", "typing_FStar.Seq.Properties.tail" ], 0, - "10aa592cc6f1eaad25aba3974d8a8871" + "d6bd6cd750967714a781c018a32d46d8" ], [ "FStar.Seq.Properties.lemma_ordering_lo_snoc", @@ -1767,21 +1649,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.length" ], 0, - "6294765420f487026f8800e0e277a4c9" + "e0f2b2a9a56754fce6e3aafe43c0d122" ], [ "FStar.Seq.Properties.lemma_ordering_lo_snoc", @@ -1793,7 +1672,7 @@ "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "FStar.List.Tot.Base_interpretation_Tm_arrow_0ce148557660da644163c9abf8acaa4c", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.mem", @@ -1819,23 +1698,23 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", + "refinement_interpretation_Tm_refine_02fc013e2322cd552632a97226a35779", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.mem", "typing_FStar.Seq.Properties.tail" + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", + "typing_FStar.Seq.Properties.tail" ], 0, - "4a54f98c2e3c0a7b373bd0149bf0e691" + "35268fd44c0172b5b547fc29105779ac" ], [ "FStar.Seq.Properties.lemma_ordering_hi_cons", @@ -1843,19 +1722,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" ], 0, - "597ffae560ad38814fb8d643ea1e97b7" + "34f5c2fdfa90d7df09e4e4740c14da73" ], [ "FStar.Seq.Properties.lemma_ordering_hi_cons", @@ -1866,7 +1742,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "FStar.List.Tot.Base_interpretation_Tm_arrow_0ce148557660da644163c9abf8acaa4c", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.mem", @@ -1892,22 +1768,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", + "refinement_interpretation_Tm_refine_02fc013e2322cd552632a97226a35779", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", "typing_FStar.Seq.Properties.mem", "typing_FStar.Seq.Properties.tail" ], 0, - "cc9239c8ed25950bb6cc2882aadaac6c" + "ab0ecb4982ea4153cb3cb86bcd2df744" ], [ "FStar.Seq.Properties.swap_frame_lo", @@ -1916,22 +1792,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "beaf52fe2baa0ef62022069bc4f77ac4" + "2f7953758574ceda6d40a2c8c2accf47" ], [ "FStar.Seq.Properties.swap_frame_lo", @@ -1940,25 +1814,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.Seq.Properties.slice_upd", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "6d202cf9492c07db568c0766e4be8945" + "55f9cb02ff94d09ef727af67500d612d" ], [ "FStar.Seq.Properties.swap_frame_lo'", @@ -1967,22 +1839,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "55375a8a7d8d5c4166d81ff7e330befd" + "a954c2799fddf759d42be2c835fc58f6" ], [ "FStar.Seq.Properties.swap_frame_lo'", @@ -1991,25 +1861,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.Seq.Properties.slice_upd", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "07be9e5d441440b75d9b4b14474bde5f" + "2e1ecd68f9d5d556bfea9acb2f1bbc1b" ], [ "FStar.Seq.Properties.swap_frame_hi", @@ -2018,23 +1886,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "357443a47b88bc02adb86399d970d7f6" + "fc620cd554a2b1f5e59d252b1d0fdb3e" ], [ "FStar.Seq.Properties.swap_frame_hi", @@ -2043,25 +1909,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.Seq.Properties.slice_upd", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "f80dbf7b814b5a2375a03bcfd594114b" + "c4c3e9823af075b1165e75a7ed667f86" ], [ "FStar.Seq.Properties.lemma_swap_slice_commute", @@ -2070,25 +1934,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" ], 0, - "84882e98e7824f2ae32b795d7c62b5c9" + "c10b12032dd140a3a374d92774c0193d" ], [ "FStar.Seq.Properties.lemma_swap_slice_commute", @@ -2097,9 +1959,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -2110,19 +1970,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", + "refinement_interpretation_Tm_refine_0fd1ee098f6569eb754a703d7e7e9875", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_a2f1690b8776ea00baf7f534fa34a7c2", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" ], 0, - "f33cdbbddc879bebe857c848db93a71e" + "e4d124312a2352e7f7ac27e47496e510" ], [ "FStar.Seq.Properties.lemma_swap_permutes_slice", @@ -2131,23 +1991,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" ], 0, - "39bab22a42039e8ea62f0f2468104b40" + "97e7eb7624e2ae7104ba479fca2b9fda" ], [ "FStar.Seq.Properties.lemma_swap_permutes_slice", @@ -2155,23 +2013,21 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" ], 0, - "bcdcdf612dd35c1f3dfd8ab51ce90019" + "5a95c2f4be26e8cf254edab11b81b36f" ], [ "FStar.Seq.Properties.splice", @@ -2181,11 +2037,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2f8210cd5c21cfe04dee2a984418269e" + "b5e0ed282bd7ade763907b3b2345148c" ], [ "FStar.Seq.Properties.splice", @@ -2195,11 +2051,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f3a6ad7d671ab88c48385acbd9ceaec9" + "62b042e7df3f564f82e4530aa10759f2" ], [ "FStar.Seq.Properties.splice", @@ -2207,18 +2063,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1" ], 0, - "09cc3c8abb8af9e0a5611fb13b98d486" + "94e96c36120c9928690f792d76d86eb4" ], [ "FStar.Seq.Properties.replace_subseq", @@ -2226,18 +2079,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Seq.Base.length" ], 0, - "68ee9169af697b45b1d634b11ceed951" + "66adabc50850f2ed57fd02b806f0d267" ], [ "FStar.Seq.Properties.splice_refl", @@ -2249,7 +2099,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "5d81145dc7d64f24a2dbb367eca35657" + "e76c8a5634e80132d7aba7226442cc97" ], [ "FStar.Seq.Properties.splice_refl", @@ -2258,9 +2108,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -2272,17 +2120,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "defc0587da595dd22d9c4ca5385183fa" + "46a97a67214d3851ea53c91559ecef1e" ], [ "FStar.Seq.Properties.lemma_swap_splice", @@ -2291,21 +2139,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" ], 0, - "a126231c6f495976ba367bccfee2b855" + "4f7add9dfb702cbce32963b0fc9b2c96" ], [ "FStar.Seq.Properties.lemma_swap_splice", @@ -2314,10 +2160,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.splice", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -2331,23 +2175,23 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.Seq.Base.upd" ], 0, - "f711cbf8b62d4ca4b12677f8595cdc1f" + "2df1afe05f2c1138f88492ad60046ded" ], [ "FStar.Seq.Properties.lemma_seq_frame_hi", @@ -2355,22 +2199,19 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" ], 0, - "8d4d623ae690d8ad7a4d59f9c1dd9fec" + "6510855e383992ad913845a893517040" ], [ "FStar.Seq.Properties.lemma_seq_frame_hi", @@ -2380,11 +2221,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a173b042ce4b00210dae1d4a14fe760d" + "b3fd87ec52582dfeabe3e1a69c139b47" ], [ "FStar.Seq.Properties.lemma_seq_frame_hi", @@ -2393,9 +2234,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -2407,20 +2246,20 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "11ea11a783ae16555d4bba03edf9351a" + "9586966430e727aee081f0d3762b9701" ], [ "FStar.Seq.Properties.lemma_seq_frame_lo", @@ -2428,23 +2267,20 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" ], 0, - "f9fff9a387cbde6ff528b517e01a593b" + "d4c607fb604ad46f0a039f237bd950d9" ], [ "FStar.Seq.Properties.lemma_seq_frame_lo", @@ -2454,11 +2290,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cab8bc60c89706e507b5b52ad8dec4b5" + "65fbf4f769de11cb3e9f7f3edf3e216c" ], [ "FStar.Seq.Properties.lemma_seq_frame_lo", @@ -2467,9 +2303,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -2479,19 +2313,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "a26a5ce7cbf7263e123b0128acccd568" + "6a952273a26cd578b6a3251fba8e7fcc" ], [ "FStar.Seq.Properties.lemma_tail_slice", @@ -2499,22 +2333,19 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" ], 0, - "7a9f592fbf5d0683182b27c96137b629" + "f63b0d8d5202b6f63a05c5de140c7492" ], [ "FStar.Seq.Properties.lemma_tail_slice", @@ -2523,9 +2354,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -2535,16 +2364,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length" ], 0, - "12bf1f6eef1e5a0c4aead6f3520d0752" + "8418ac6e91c889e9573b460e5dad7a28" ], [ "FStar.Seq.Properties.lemma_weaken_frame_right", @@ -2552,20 +2381,17 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1e0c44c3327fa4ba90b88cde39ed4b19", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074" + "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", + "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1" ], 0, - "05c9575bae9b79a8ff38e8903cf365c8" + "f3429d2485935f6d540be2d342d5fbcd" ], [ "FStar.Seq.Properties.lemma_weaken_frame_right", @@ -2575,11 +2401,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "24f7b2550c9b712afefdde0badffbf2f" + "01b83ebc77f8f8cea1611f723a35448a" ], [ "FStar.Seq.Properties.lemma_weaken_frame_right", @@ -2587,11 +2413,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "equation_FStar.Seq.Properties.splice", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -2604,19 +2427,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_1e0c44c3327fa4ba90b88cde39ed4b19", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "03f03d8cbb8e6ee6ce09bf43f5d907f9" + "dbd35eb0a956f541fb0b4aa1645dc785" ], [ "FStar.Seq.Properties.lemma_weaken_frame_left", @@ -2624,20 +2447,17 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1e0c44c3327fa4ba90b88cde39ed4b19", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074" + "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", + "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1" ], 0, - "605349678415431d586f61f5d51f77a7" + "fc4afd2a146c88cdb2910f3febd4ba53" ], [ "FStar.Seq.Properties.lemma_weaken_frame_left", @@ -2647,11 +2467,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "340e89236c4d5d7cecb6c721fab4bb9c" + "cbb47e041f9444d9e4d1c1423395c152" ], [ "FStar.Seq.Properties.lemma_weaken_frame_left", @@ -2659,11 +2479,8 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "equation_FStar.Seq.Properties.splice", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -2676,19 +2493,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_1e0c44c3327fa4ba90b88cde39ed4b19", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "f30199ff7707c2683d3d0f833228dce7" + "7f1636ec2a65cb9a2688b98162a5ba5a" ], [ "FStar.Seq.Properties.lemma_trans_frame", @@ -2696,20 +2513,17 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_80d3ec204d8dc5bca159f07cb028ec9b", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647" ], 0, - "9474ff221e175b8e8b810a49514731e1" + "fa4292ca5772e350a359a1a6ae52b8d2" ], [ "FStar.Seq.Properties.lemma_trans_frame", @@ -2717,16 +2531,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "73346d936c3e971b8e7fbd7d837dc795" + "613dfec231621d7ee1ab0462f74c2ddb" ], [ "FStar.Seq.Properties.lemma_trans_frame", @@ -2735,9 +2546,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -2749,18 +2558,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_80d3ec204d8dc5bca159f07cb028ec9b", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "9132ce43b23c279724e27977c7138590" + "28b1ea13e95731518aa0c8b12cb43e1c" ], [ "FStar.Seq.Properties.lemma_weaken_perm_left", @@ -2768,21 +2577,18 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_902052ed663478ddd976c225e9304224", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2" ], 0, - "0577b95cf832daa995c98ad0233b9b34" + "b0693dcaf4cc1e9affa8f952357e527f" ], [ "FStar.Seq.Properties.lemma_weaken_perm_left", @@ -2792,11 +2598,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "07406797061852fc9b2d36edb64f852a" + "908ba40ef778ba2863cbb48803fe2caf" ], [ "FStar.Seq.Properties.lemma_weaken_perm_left", @@ -2805,12 +2611,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.permutation", "equation_FStar.Seq.Properties.splice", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", + "equation_Prims.nat", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -2821,20 +2625,20 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_902052ed663478ddd976c225e9304224", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "deb76c835fa9c9866a2a0cb2e8c88bef" + "88d46fb934509dee10a4dcedd392a097" ], [ "FStar.Seq.Properties.lemma_weaken_perm_right", @@ -2842,21 +2646,18 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_902052ed663478ddd976c225e9304224", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2" ], 0, - "9d63f94c2f5330466d93d703bf8ed699" + "780a693f61d80b8c112668577bf23e6f" ], [ "FStar.Seq.Properties.lemma_weaken_perm_right", @@ -2866,11 +2667,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "97d54eae7cc74e174cc79e6d5e8888e8" + "2f767033904612bdc872152719cd4647" ], [ "FStar.Seq.Properties.lemma_weaken_perm_right", @@ -2879,12 +2680,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.permutation", "equation_FStar.Seq.Properties.splice", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", + "equation_Prims.nat", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -2895,20 +2694,20 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_902052ed663478ddd976c225e9304224", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "f21fcfb7baf21b8304357c8134f95f4d" + "51f33be10ac4d527bba6bdc8d591839c" ], [ "FStar.Seq.Properties.lemma_trans_perm", @@ -2916,18 +2715,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_80d3ec204d8dc5bca159f07cb028ec9b", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647" ], 0, - "e87b8ff2d421a3d0f97fe23f5fd93b1c" + "7ec13195575970f85987985152213f76" ], [ "FStar.Seq.Properties.lemma_trans_perm", @@ -2935,16 +2731,13 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5d0c6632e59870f185776435f6c7d8b9" + "618ab142ba25065d9092944d7da717e5" ], [ "FStar.Seq.Properties.lemma_trans_perm", @@ -2953,7 +2746,7 @@ 1, [ "@query", "equation_FStar.Seq.Properties.permutation" ], 0, - "e5c22778ec663f870fb97621dab2ad34" + "719c63454162a16ca4aa3207c745463d" ], [ "FStar.Seq.Properties.lemma_cons_snoc", @@ -2962,10 +2755,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -2975,16 +2766,16 @@ "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", "typing_FStar.Seq.Properties.snoc" ], 0, - "b273e41a8b657a33c82457089e80ed79" + "2f2a9410a611a438d63cc1828f61ffe8" ], [ "FStar.Seq.Properties.lemma_tail_snoc", @@ -2993,20 +2784,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "8daf53e244e8eefc0b709b613790b3e4" + "0958d69c41ce644a39c7a6e091dd4049" ], [ "FStar.Seq.Properties.lemma_tail_snoc", @@ -3015,22 +2803,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc", "typing_FStar.Seq.Properties.tail" ], 0, - "47e63e551f5d0f0f87297bbfc054073d" + "c178bb3c37dc67208429cf568e6234a3" ], [ "FStar.Seq.Properties.lemma_snoc_inj", @@ -3039,19 +2825,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", + "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_create", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "72d4693288d479e1b02bf9032a16bd75" + "b9587edca30b42bafa6f8271cdbff577" ], [ "FStar.Seq.Properties.lemma_mem_snoc", @@ -3081,9 +2865,9 @@ "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Properties.count", "typing_FStar.Seq.Properties.mem", @@ -3091,7 +2875,7 @@ "typing_FStar.Seq.Properties.tail" ], 0, - "92cdc347db9fb0ee4bec831fe789897e" + "ac96744fdd13570e10755d6fee2ef4bb" ], [ "FStar.Seq.Properties.find_l", @@ -3116,12 +2900,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "ea03778ef2bc1fff9c57f8a21bf8dd91" + "799e5cd7cf04369ca17e9c4e4ae95164" ], [ "FStar.Seq.Properties.ghost_find_l", @@ -3146,12 +2930,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "b756455167c1ed4bcc3ee9a04b07b236" + "10e3650f2c8c99fd631ee002802475f9" ], [ "FStar.Seq.Properties.find_append_some", @@ -3167,7 +2951,7 @@ "typing_FStar.Seq.Properties.find_l" ], 0, - "2f108492f59b80778712f569648dda1d" + "933b6fe55d24b0817d825fe545bd49bd" ], [ "FStar.Seq.Properties.find_append_some", @@ -3186,7 +2970,7 @@ "typing_FStar.Seq.Properties.find_l" ], 0, - "812debdea7c8c5eac3a8ccd2befdabaa" + "cf8cfecaa8fac3411d77c5840adc4219" ], [ "FStar.Seq.Properties.find_append_some", @@ -3198,14 +2982,13 @@ "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.find_l.fuel_instrumented", "@query", - "FStar.Seq.Properties_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_typing", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_4", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", @@ -3226,18 +3009,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.find_l", "well-founded-ordering-on-nat" ], 0, - "37a7a9eaa2a100cae86b029759e6233a" + "f9ffbfc077f2f30483514b1e6e80086b" ], [ "FStar.Seq.Properties.find_append_none", @@ -3246,7 +3029,7 @@ 1, [ "@query" ], 0, - "d68ebd2d09f066c0997c7da296e4a454" + "180f43b32f5dbafee2fd1c7dccc5fff6" ], [ "FStar.Seq.Properties.find_append_none", @@ -3255,7 +3038,7 @@ 1, [ "@query" ], 0, - "02f3de6498baa4a25001af9b8df989a5" + "2806c4221ab48bd12ac18ebc92b16a9d" ], [ "FStar.Seq.Properties.find_append_none", @@ -3267,15 +3050,14 @@ "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.find_l.fuel_instrumented", "@query", - "FStar.Seq.Properties_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_4", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.head", @@ -3296,20 +3078,21 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b2a02c31f4fd7c144911c07d8cd10a87", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.find_l", "typing_FStar.Seq.Properties.head", "well-founded-ordering-on-nat" ], 0, - "5adaec416bb9fcc0260c4f14dc32e709" + "e141e4e08526839a50f1ec92de689b0c" ], [ "FStar.Seq.Properties.find_append_none_s2", @@ -3318,7 +3101,7 @@ 1, [ "@query" ], 0, - "1fdaa7a13df6ec2bd5c4bb73a2ba17c4" + "31cdf5822fdcd5f8e9f36ab7c2899592" ], [ "FStar.Seq.Properties.find_append_none_s2", @@ -3327,7 +3110,7 @@ 1, [ "@query" ], 0, - "81c27f1f4aadd92ad849a3ed7f2172ca" + "ea3fd9241bf670c949822d897ad6e4e6" ], [ "FStar.Seq.Properties.find_append_none_s2", @@ -3339,15 +3122,14 @@ "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.find_l.fuel_instrumented", "@query", - "FStar.Seq.Properties_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_4", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.None", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", @@ -3366,19 +3148,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.find_l", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "0cde1ed6c86b794bb40de515dfa4fc49" + "7f22678db411a7ce18c50968c390f672" ], [ "FStar.Seq.Properties.find_snoc", @@ -3397,7 +3179,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "77e9c0d65f0d8b10cb5547b7399095b6" + "b3433389f5c23b80a814234b610892aa" ], [ "FStar.Seq.Properties.find_snoc", @@ -3408,7 +3190,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", @@ -3429,15 +3211,15 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Properties.find_l", "typing_FStar.Seq.Properties.tail" ], 0, - "e3479c874129bb378164cdd964c03bc8" + "9919f213944612e1c1836f8f6cc879a5" ], [ "FStar.Seq.Properties.un_snoc", @@ -3447,12 +3229,10 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.snoc", "equation_FStar.Seq.Properties.split", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -3471,19 +3251,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "ffa07ed66f036adcb25e588bdcfd49c1" + "eb26f9ba52c6a20df183a7be9ccf4683" ], [ "FStar.Seq.Properties.un_snoc_snoc", @@ -3493,13 +3273,11 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.snoc", "equation_FStar.Seq.Properties.split", "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -3518,22 +3296,21 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_804f54335b7b64340d07227822263548", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.snoc" ], 0, - "123e9e3c251cf10a3d0c9961d69e8289" + "70576875b5c8ffa67cfd586c9f714d80" ], [ "FStar.Seq.Properties.find_r", @@ -3566,14 +3343,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_0bc42f53608879da830fdb13edb72acb", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "well-founded-ordering-on-nat" ], 0, - "275e563d77e5f8ba18bcab47ae039a83" + "7a0787b51fc61f63927b48c1f268e8d1" ], [ "FStar.Seq.Properties.seq_find_aux", @@ -3583,12 +3360,12 @@ [ "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", + "disc_equation_FStar.Pervasives.Native.Some", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_363ba018b105d89c08be8676717898c9" + "refinement_interpretation_Tm_refine_09b954da7854b02a464e9bd2c6bc3531" ], 0, - "eaaac18632baf57d1dbad9bbc3967160" + "76f280d5515183ce463897db4f9586eb" ], [ "FStar.Seq.Properties.seq_find_aux", @@ -3598,12 +3375,12 @@ [ "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", + "disc_equation_FStar.Pervasives.Native.Some", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_363ba018b105d89c08be8676717898c9" + "refinement_interpretation_Tm_refine_09b954da7854b02a464e9bd2c6bc3531" ], 0, - "f2fbce3d8ec89c132c818727572eb3b7" + "d985a6f05f82ecef5e46a596514afdb8" ], [ "FStar.Seq.Properties.seq_find_aux", @@ -3613,33 +3390,31 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.Seq.Properties_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_19dc089137acaaee9ef17ad7dbe4bc92_4", + "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", + "binder_x_3a73d3f8589ff7fa464c85fc3653873a_4", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_2", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.found", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_4b2f6b77862fce7227b71f11da7c6a5b", - "refinement_interpretation_Tm_refine_5fbd7bf3c0c7783f41ad59fdcd8e6844", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbd0b9436529c35fbd64e8443d329aaa", - "refinement_interpretation_Tm_refine_dc0143b90124e3ad24073cf3fcf6b745", + "refinement_interpretation_Tm_refine_329ab408f321df2e289daebfff040d87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a9f24133975bf05cf436b0ab7bf33789", + "refinement_interpretation_Tm_refine_ae2d9539f95b6c18069df0a30a686fe0", + "refinement_interpretation_Tm_refine_d7d67908cb1918ad05c525ff0488d1eb", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "well-founded-ordering-on-nat" ], 0, - "044799369c22ad14b1cd05e2369d0e80" + "d937fa35c46c528375bf474dda2fc1a3" ], [ "FStar.Seq.Properties.seq_find", @@ -3655,7 +3430,7 @@ "typing_FStar.Pervasives.Native.uu___is_Some" ], 0, - "e61ced21946c4d9c9818276cdb9edd8e" + "f871ccf23c9cada4094c00a9c0cb28c0" ], [ "FStar.Seq.Properties.seq_find", @@ -3663,11 +3438,11 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_b9d3ebb8a91fb397785fd8a66c962cd7" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4395ef09b3f6d8f4f0df16b4568b2b0e" ], 0, - "83391672a53e43a655ed13799fb44efa" + "9af632ff9658820862bbe175776865b0" ], [ "FStar.Seq.Properties.find_mem", @@ -3691,7 +3466,7 @@ "typing_FStar.Seq.Base.index" ], 0, - "04350e2fcc630b636863e01654952af0" + "34942625ec300392732ac23bf4651b98" ], [ "FStar.Seq.Properties.for_all", @@ -3700,23 +3475,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_3b0ecac819a88dcb80dcfc62fa21bb3d", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", + "equation_Prims.nat", "int_inversion", + "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_455d37991444af3ed40206d59e75b904", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_eceee487dc5f997fef8ec356a5ed69a1", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Properties.seq_find", - "typing_Tm_abs_3b0ecac819a88dcb80dcfc62fa21bb3d" + "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" ], 0, - "0ab40e9d3c8d466fe6976014e29151aa" + "04f22e815a9ac47ddac195d43bda4e40" ], [ "FStar.Seq.Properties.seq_mem_k", @@ -3725,7 +3497,7 @@ 1, [ "@query" ], 0, - "729765db74e05364a76ed89c023e5608" + "8cad8e7150955ec12495fca09cb5baee" ], [ "FStar.Seq.Properties.seq_mem_k", @@ -3737,9 +3509,9 @@ "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0d684f00416142dc737bf9e0a4a567ad_2", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", "bool_inversion", + "binder_x_0f213a493b460394312187ae1ccaa1bb_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_b61029775a887a6cf9f08c25a43b64f0_2", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.mem", @@ -3757,21 +3529,21 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_35c33e113b4d06cd8f190191b0676335", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_75a2083fb8ca78d78cf6764a98801231", - "refinement_interpretation_Tm_refine_824fe198d56de76264d7cc2885ba5364", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9d9d1c722e71bfab8564d033267ba53d", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", "typing_FStar.Seq.Properties.tail", "well-founded-ordering-on-nat" ], 0, - "8419500c18f0b54d386132b3db675230" + "2e972993407588cf7491fec5f653686b" ], [ "FStar.Seq.Properties.seq_to_list", @@ -3781,11 +3553,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6025b93c7e76e30a6cc069ad5918ae82" + "5a4a94325b9fa532be5010745073333f" ], [ "FStar.Seq.Properties.seq_to_list", @@ -3795,11 +3567,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "36ff93da341f2ee0e3f5752327083ef5" + "981cabb6851227d0bcf4506c57cfe24c" ], [ "FStar.Seq.Properties.seq_to_list", @@ -3819,7 +3591,7 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", @@ -3830,14 +3602,15 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_ab78a70a4bd0f3bbca3a8c1cea845cc0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f30cd0277f624a534a8df31ae1f941ba", "typing_FStar.List.Tot.Base.length", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "8a43902d5498538602bff5b8f6dda1c6" + "c0a74283f00f94d04c407f3bb2d811e4" ], [ "FStar.Seq.Properties.seq_of_list", @@ -3847,11 +3620,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "497f08ac1d6fd84c49c35078e6571a2d" + "073c4c1681c59e263d05754e6f862231" ], [ "FStar.Seq.Properties.seq_of_list", @@ -3862,8 +3635,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -3871,9 +3643,8 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "projection_inverse_BoxInt_proj_0", @@ -3881,12 +3652,12 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d70e4d424343b9276244f42d95a631bd", "subterm_ordering_Prims.Cons", "typing_FStar.Seq.Base.create" ], 0, - "3c0a64dcbf1328d8bbed33701675d75d" + "0721971903efe557a40b1e4d74acf312" ], [ "FStar.Seq.Properties.lemma_seq_of_list_induction", @@ -3897,19 +3668,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Seq.Base.op_At_Bar", + "@query", "constructor_distinct_Prims.Cons", + "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_FStar.Seq.Base.op_At_Bar", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", @@ -3922,11 +3692,11 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", "refinement_interpretation_Tm_refine_35d9c03819ef6605e1a42791b3099e25", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", @@ -3934,7 +3704,7 @@ "typing_FStar.Seq.Properties.tail" ], 0, - "e34f3a126352989a4a60ce85b48a6136" + "e2c3f762ac1530c50daee14bdb4751a7" ], [ "FStar.Seq.Properties.lemma_seq_list_bij", @@ -3960,7 +3730,7 @@ "equation_with_fuel_FStar.Seq.Properties.seq_to_list.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -3976,16 +3746,16 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_feb6ca92920ce30ede38a5058bc8e3d5", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.Seq.Properties.seq_to_list.fuel_instrumented", @@ -3995,7 +3765,7 @@ "well-founded-ordering-on-nat" ], 0, - "ce388f835b0db043082bdf6c748bdf26" + "f4bee9aaa8e7effb6b22dd99f02835ca" ], [ "FStar.Seq.Properties.lemma_list_seq_bij", @@ -4029,7 +3799,7 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_FStar.Seq.Base.create", @@ -4038,7 +3808,7 @@ "well-founded-ordering-on-nat" ], 0, - "a36eec52d3e71b1020fbb6810a9e51da" + "0c3674a13ae4e654deb865ff6d70259e" ], [ "FStar.Seq.Properties.createL_post", @@ -4048,11 +3818,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6ab6caa2acb2179ce502ef77e753c18c" + "693325cdecdc50be6f200fa6bce108b2" ], [ "FStar.Seq.Properties.createL", @@ -4063,19 +3833,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", + "@query", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Equality", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce" ], 0, - "38cda3f245fd455cf19a4b5784cbb176" + "df94429de9f4a787aaf4626523adfce0" ], [ "FStar.Seq.Properties.lemma_index_is_nth", @@ -4090,7 +3858,7 @@ "typing_FStar.Seq.Properties.seq_to_list" ], 0, - "638d810d211318e6ef77a16867831a84" + "35a934370962bab21a19a55a2959c366" ], [ "FStar.Seq.Properties.lemma_index_is_nth", @@ -4105,7 +3873,7 @@ "typing_FStar.Seq.Properties.seq_to_list" ], 0, - "1f401b04a2ce64856c419ff07d17aebd" + "24424c38c8e8ae361f2e7b79212444e1" ], [ "FStar.Seq.Properties.lemma_index_is_nth", @@ -4121,7 +3889,7 @@ "@fuel_irrelevance_FStar.Seq.Properties.seq_to_list.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_aefba8487e0f5c5174b6fd11114b85f2_3", + "binder_x_9c2db2f328d356a0f28090c15651908a_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.hd", @@ -4142,21 +3910,22 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_436be70bfa7d12df18ce91b984647360", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_7c2125561e394ce105227cd203f01d56", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5d191a50a5a17515a139f4b889fd31a1", + "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f30cd0277f624a534a8df31ae1f941ba", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.seq_to_list", "well-founded-ordering-on-nat" ], 0, - "2e02e49ce4f0dea0229e862a20189927" + "13339e6901ea89d610164cfa3ddcabb6" ], [ "FStar.Seq.Properties.contains_intro", @@ -4165,7 +3934,7 @@ 1, [ "@query", "equation_FStar.Seq.Properties.contains" ], 0, - "37b93139e4c93143023dbf9c2655bb38" + "35576733f4a7a073b1f1752ad5f9c1ec" ], [ "FStar.Seq.Properties.contains_elim", @@ -4174,7 +3943,7 @@ 1, [ "@query", "equation_FStar.Seq.Properties.contains" ], 0, - "22b569b96c96b01e611ca45cdc2cd23c" + "3e65d8d4973141c50368822c73c94762" ], [ "FStar.Seq.Properties.lemma_contains_empty", @@ -4183,15 +3952,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.contains", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.empty" ], 0, - "7d7799e5395e258864a724f3d93a1081" + "380ef55a8e33b68745aedf7d645c0d4a" ], [ "FStar.Seq.Properties.lemma_contains_singleton", @@ -4200,18 +3967,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.contains", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_create", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "6d71994b9fba5d5f31db7fb7751c3ec5" + "1c8bbdea127c7c4c17a4af492c7e8350" ], [ "FStar.Seq.Properties.intro_append_contains_from_disjunction", @@ -4220,26 +3985,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_FStar.Seq.Properties.contains", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_index_app1", + "equation_Prims.squash", "int_inversion", + "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_6a51d05f81d806a28730659e28d5df28", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9bf2ae53ac7ba857f054ffcffb7fe3c4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_65252598c54dfb80dbb3efb268be7156", + "refinement_interpretation_Tm_refine_7c92df3cf71635bc41483532e738d828", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "typing_FStar.Seq.Base.length" ], 0, - "c781d1aaf31a7845dd03b78a62b821d3" + "e8a5932db9457d0c590f8301ed7d96fe" ], [ "FStar.Seq.Properties.append_contains_equiv", @@ -4248,22 +4010,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.contains", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length" ], 0, - "9f36d60106de57c3d4f6cc4b5c976235" + "764ae64694eba9ca9175ad76df026b73" ], [ "FStar.Seq.Properties.contains_snoc", @@ -4272,19 +4032,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.contains", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_create", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "cbd7265713d61acc423665b15a1779eb" + "298a167e073056a94f2f36dbad088c9a" ], [ "FStar.Seq.Properties.lemma_find_l_contains", @@ -4293,7 +4051,7 @@ 1, [ "@query" ], 0, - "9ee6bb73d853fb7f4ccc4e868a83003f" + "6e38da0e500584f8d8e14c64866df82f" ], [ "FStar.Seq.Properties.lemma_find_l_contains", @@ -4305,13 +4063,12 @@ "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.find_l.fuel_instrumented", "@query", - "FStar.Seq.Properties_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_typing", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", + "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", @@ -4331,16 +4088,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.find_l", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "526efeb2f658f75c9a66090b5f908d69" + "22511b0820cd6d6ef05d78632f1dc5d6" ], [ "FStar.Seq.Properties.contains_cons", @@ -4349,18 +4106,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.contains", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", + "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_create", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "2b59a84f01f565e6b76f570e8ce80fae" + "d158827f2f7a5aa303bf727149721734" ], [ "FStar.Seq.Properties.append_cons_snoc", @@ -4369,10 +4124,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -4381,15 +4134,15 @@ "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", "typing_FStar.Seq.Properties.snoc" ], 0, - "59e4003e706747084db3ce0ae6b38352" + "371af107857d0f3a4ded3dd21ba64939" ], [ "FStar.Seq.Properties.append_slices", @@ -4397,10 +4150,7 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -4412,17 +4162,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "0431aaaaa5fb8f53e53805e4437944e4" + "5bebc03a821e9f5ce97bbb800799154b" ], [ "FStar.Seq.Properties.find_l_none_no_index", @@ -4434,15 +4184,15 @@ "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.find_l.fuel_instrumented", "@query", - "FStar.Seq.Properties_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_3", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", + "constructor_distinct_FStar.Pervasives.Native.Some", "disc_equation_FStar.Pervasives.Native.None", + "disc_equation_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", @@ -4450,7 +4200,7 @@ "equation_with_fuel_FStar.Seq.Properties.find_l.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -4465,23 +4215,24 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", + "refinement_interpretation_Tm_refine_05a27d33b48dc71045c85c8725e60783", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_21623e058b0621926ca64aa7169947bf", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_436be70bfa7d12df18ce91b984647360", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "token_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.find_l", "typing_FStar.Seq.Properties.tail", "well-founded-ordering-on-nat" ], 0, - "50f1cd7c489d2ac1e9ecfea2ba7b3e40" + "aa18fed305f2b1deee493c29bcc11031" ], [ "FStar.Seq.Properties.cons_head_tail", @@ -4491,14 +4242,12 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.split", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -4514,16 +4263,16 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length" ], 0, - "5a4de53263744afc4e79013b3ae604dc" + "1cd6f073a9836ff8dbe16e5bdac60b18" ], [ "FStar.Seq.Properties.head_cons", @@ -4532,24 +4281,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", + "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.cons" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "a611b4c48ebbda4089baca13ae97f10c" + "d2472885844ec30303f55d0015ba4a20" ], [ "FStar.Seq.Properties.suffix_of_tail", @@ -4558,18 +4303,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.suffix_of", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "int_typing", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Properties.head" ], 0, - "1ec10e153cc84ad7dd77cf39c13a5ea5" + "cf6106af87678c67ead84ae8b327d1c9" ], [ "FStar.Seq.Properties.index_cons_l", @@ -4578,23 +4321,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", + "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.cons" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "c9b17eac5682f2095e13dcd55408c145" + "9b4c6b6767ed7a1b74012b91712d86b5" ], [ "FStar.Seq.Properties.index_cons_r", @@ -4603,22 +4342,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_b8d5985661392169635ec5799ecf6768", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_df32419872f50e21164e56f336cc35ef", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "04fc2f9c41f8f7f7f0f7887cb851aaa7" + "9d4551005ea83117e96ab43cc668b5a0" ], [ "FStar.Seq.Properties.append_cons", @@ -4627,9 +4364,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -4638,14 +4373,14 @@ "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons" ], 0, - "efa86323d2af30337c4cb5322997bd9d" + "76d361c9510de66feb0379afa2591a23" ], [ "FStar.Seq.Properties.index_tail", @@ -4654,9 +4389,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -4665,15 +4398,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_520b07e3f7a0a0a12b40968b63b25b73", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d24cb54460fe42a6984286984d5fc98d", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Seq.Base.length" ], 0, - "d643f5a2a61143bb78929c795fc2bdd6" + "759450eec75d285b8e094bf2ceeebce7" ], [ "FStar.Seq.Properties.mem_cons", @@ -4705,18 +4438,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.cons", "typing_FStar.Seq.Properties.count", "typing_FStar.Seq.Properties.mem", "typing_FStar.Seq.Properties.tail" ], 0, - "9c5d83969fdfdf2215aac8edb185ff52" + "d7d51b2ee4da1aac8856233a5700bd17" ], [ "FStar.Seq.Properties.snoc_slice_index", @@ -4725,9 +4458,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -4741,18 +4472,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.length" ], 0, - "b870c6b66736c27a646b47d5138bb12d" + "4af31935def3bbb8c20417353c7cba93" ], [ "FStar.Seq.Properties.cons_index_slice", @@ -4761,9 +4493,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -4777,18 +4507,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c0cfbe9eeebfb6939e2f5016a358bdf1", + "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "f1ff75fba70e0ccf6cd75409fcdf650e" + "f138bf8ee7d86c0abeb9e3c6509d7760" ], [ "FStar.Seq.Properties.slice_is_empty", @@ -4796,24 +4526,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length" ], 0, - "c7d2b2e74482af37df3b781a6b022477" + "7419d3691bb77a21ceec88edf2ab1429" ], [ "FStar.Seq.Properties.slice_length", @@ -4821,10 +4548,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -4832,15 +4556,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c2f575b3d23d23189e5d12bd5a9e4337", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length" ], 0, - "a270f740b7b29ba2c1fba165bdad0957" + "c59ac48f69d257d38880bd9eef4b8c60" ], [ "FStar.Seq.Properties.slice_slice", @@ -4848,10 +4573,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -4859,17 +4581,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ebf2d5bf287d44ea11c850d5293c6aa1", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_71432620ca549a94645f9c8211799947", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "c9f31a76652f87364fbc7420ca1b2457" + "1b3580627e105230d66d34eff0fc0d6c" ], [ "FStar.Seq.Properties.lemma_seq_of_list_index", @@ -4882,7 +4604,7 @@ "typing_FStar.Seq.Properties.seq_of_list" ], 0, - "79dad9a7fc1bd610473f9a1fd98f0c14" + "ca466ebd7db6a5f988fe407fa157871e" ], [ "FStar.Seq.Properties.lemma_seq_of_list_index", @@ -4896,8 +4618,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1321e299eb434c9ec6c4211ce95b961f_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", @@ -4918,19 +4640,18 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3cfaf837c90eb9e6a6ed98cdd829dbd1", - "refinement_interpretation_Tm_refine_5b76b1c4682092d8298d5677347b4a58", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", + "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Seq.Base.create", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "subterm_ordering_Prims.Cons", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Properties.seq_of_list", "unit_inversion", "unit_typing" ], 0, - "1a2cfd0fae2df2bca3289b814d5b345f" + "79aaf85ef65b2140522eb123565478f4" ], [ "FStar.Seq.Properties.seq_of_list_tl", @@ -4953,7 +4674,7 @@ "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "ab73ab3e1776543c457288cf6af943ca" + "d55c5a840e966a1c7e65c66a1abd642d" ], [ "FStar.Seq.Properties.mem_seq_of_list", @@ -4969,12 +4690,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_1", "bool_inversion", + "binder_x_157b99e815dc43d99415725267e9c452_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "bool_typing", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", + "equation_FStar.List.Tot.Base.tail", + "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Properties.mem", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", @@ -4990,8 +4713,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", @@ -4999,7 +4722,7 @@ "typing_FStar.Seq.Properties.seq_of_list" ], 0, - "addd16c583b6ec1c3bb882392c35bac6" + "2754fa533ce5ec4311a5ac1c3d278ccf" ], [ "FStar.Seq.Properties.explode_and", @@ -5010,26 +4733,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_cdbcd248a762e6e859dad460661e0482_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "@query", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_d7b86a6e56394f3a5101cc39daaff225_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_7c48105533a2b559a9c0eb50f2ec5691", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_bc5c26af2c2da16bcd1936cd1f8ca034", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "5b52610ce25e2cc9e08d375ad99f2f0d" + "d7a8bb6822bb28b1de4119e7f3515ae2" ], [ "FStar.Seq.Properties.intro_of_list'", @@ -5038,19 +4758,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Seq.Base.length" ], 0, - "0cb567dfb43c909b5e37f0b47ca84915" + "21830e8a7982bbc29464a8109aa2f477" ], [ "FStar.Seq.Properties.intro_of_list'", @@ -5059,19 +4778,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Seq.Base.length" ], 0, - "0cc0febd71ea1367d06af29e50460d75" + "a64757a06041720f717bc9866f1a4a39" ], [ "FStar.Seq.Properties.intro_of_list'", @@ -5085,20 +4803,17 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.explode_and.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Seq.Properties.explode_and.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_eq_elim", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "l_and-interp", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -5108,13 +4823,13 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5885c715bf599d471c43c6b7dcb2413b", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c0cfbe9eeebfb6939e2f5016a358bdf1", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_c731267dd71b747abfd9fc75f6f2da81", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", @@ -5122,7 +4837,7 @@ "well-founded-ordering-on-nat" ], 0, - "afc561ff04c2f4ee53b29334978137ee" + "04bb4aea71716d5ba83b373938f036fd" ], [ "FStar.Seq.Properties.intro_of_list", @@ -5135,28 +4850,26 @@ "@fuel_correspondence_FStar.Seq.Properties.explode_and.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.explode_and.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_Prims.Cons", "eq2-interp", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Seq.Properties.explode_and.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "l_and-interp", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Properties.slice_length", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5885c715bf599d471c43c6b7dcb2413b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c731267dd71b747abfd9fc75f6f2da81", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", "true_interp", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.seq_of_list" ], 0, - "f2e7ea812453b617b700b79e093b4487" + "5d69038957f5273de795fff7a4efb34d" ], [ "FStar.Seq.Properties.elim_of_list'", @@ -5167,19 +4880,18 @@ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_Prims.nat", "equation_Prims.squash", + "b2t_def", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.List.Tot.Base.length", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length" ], 0, - "82efbaffa440330d56f62a41a0555879" + "db6aad7992a9e791b48eae42d628de94" ], [ "FStar.Seq.Properties.elim_of_list'", @@ -5188,21 +4900,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a12590fca1ccc2faced92fd7d90a1e46", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.List.Tot.Base.length", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e21b64e9a6d7d1808ebf496e41c89f9e", + "typing_FStar.List.Tot.Base.length" ], 0, - "ebc9ed03afa66273abd394f355376bec" + "34db98b36736bfd71584a38f581fc9b1" ], [ "FStar.Seq.Properties.elim_of_list'", @@ -5218,7 +4929,7 @@ "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", @@ -5237,13 +4948,13 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5885c715bf599d471c43c6b7dcb2413b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", "refinement_interpretation_Tm_refine_c731267dd71b747abfd9fc75f6f2da81", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "true_interp", "typing_FStar.List.Tot.Base.length", "typing_FStar.Seq.Base.length", @@ -5251,7 +4962,7 @@ "well-founded-ordering-on-nat" ], 0, - "04da33c4845cac9990dfb8ff3e098c24" + "e73440367e4850c699d9c6a1573eb9f2" ], [ "FStar.Seq.Properties.elim_of_list", @@ -5263,28 +4974,27 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.Seq.Properties.explode_and.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.explode_and.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "eq2-interp", "equation_Prims.eqtype", "equation_Prims.nat", + "@query", "eq2-interp", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Seq.Properties.explode_and.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "l_and-interp", "lemma_FStar.Seq.Properties.slice_length", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5885c715bf599d471c43c6b7dcb2413b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c731267dd71b747abfd9fc75f6f2da81", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.List.Tot.Base.length", "typing_FStar.Seq.Properties.seq_of_list" ], 0, - "ecb88ccb5859c2cd4811a8625e856dfe" + "8bbe1407fd3e885534b1172ec875e2d1" ], [ "FStar.Seq.Properties.lemma_seq_to_list_permutation", @@ -5300,8 +5010,8 @@ "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.seq_to_list.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_1", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", + "binder_x_0f213a493b460394312187ae1ccaa1bb_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.head", @@ -5321,16 +5031,17 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", + "refinement_interpretation_Tm_refine_210f8ded40304ddbad02f743cb7e121c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.seq_to_list", "well-founded-ordering-on-nat" ], 0, - "865c9c2000a9ab20547ab3540ccd33f3" + "14680817828a32b238d9a9feaebf88ed" ], [ "FStar.Seq.Properties.lemma_seq_of_list_permutation", @@ -5347,8 +5058,8 @@ "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", @@ -5364,8 +5075,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", @@ -5373,7 +5084,7 @@ "typing_FStar.Seq.Properties.seq_of_list" ], 0, - "bf3e3188562cce97cf5e4c12a4e0b80d" + "e9fa73fdcab31c6adee63c870f2822ba" ], [ "FStar.Seq.Properties.lemma_seq_of_list_sorted", @@ -5389,28 +5100,23 @@ "@fuel_irrelevance_FStar.List.Tot.Properties.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "FStar.Seq.Properties_interpretation_Tm_arrow_ec66076e28c67b82380794ba3ebbac7d", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "FStar.Seq.Properties_interpretation_Tm_arrow_dbca5ce6005b0ac91f57abd165fa98a0", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e8ff9c76a0bff727ace32461774a41f6_2", + "binder_x_efcefbc9baa34bb860680c61a11922cb_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Properties.cons", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", + "equation_FStar.Seq.Properties.head", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Properties.sorted.fuel_instrumented", "equation_with_fuel_FStar.Seq.Properties.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "fuel_guarded_inversion_Prims.list", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_slice", + "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", @@ -5419,22 +5125,21 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3d7b649663b4fab04cceb6e2c2c28fc1", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Properties.sorted.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Properties.sorted", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Properties.head", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", "typing_FStar.Seq.Properties.seq_of_list", "typing_FStar.Seq.Properties.sorted" ], 0, - "f189b4c339df467c6645b5b1dc763dfc" + "15d207d965323833bdd942a717330288" ], [ "FStar.Seq.Properties.lemma_seq_sortwith_correctness", @@ -5446,16 +5151,13 @@ "@fuel_correspondence_FStar.List.Tot.Base.sortWith.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Properties.sorted.fuel_instrumented", "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.List.Tot.Properties.total_order", + "@query", "bool_inversion", + "equation_FStar.List.Tot.Properties.total_order", "equation_FStar.Seq.Properties.permutation", "equation_FStar.Seq.Properties.sortWith", "equation_FStar.Seq.Properties.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "partial_app_typing_3139e51a4a7debda115e1387a84bba42", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_821553e2866a09c2f30e14ff2824380b", @@ -5465,7 +5167,7 @@ "typing_FStar.Seq.Properties.sorted" ], 0, - "7664172d3ef9900913b5e594745394e1" + "0e8a802069f814d1d48b8b7fbd1a406a" ], [ "FStar.Seq.Properties.sort_lseq", @@ -5473,37 +5175,31 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_8b54d4820d055c327440d0d4811d3a33", + "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", + "FStar.List.Tot.Base_interpretation_Tm_arrow_a2f219461d35e20b7bc771538ca96429", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_inversion", "bool_typing", "equation_FStar.List.Tot.Base.bool_of_compare", "equation_FStar.List.Tot.Base.compare_of_bool", "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.permutation", "equation_FStar.Seq.Properties.tot_ord", "equation_FStar.Seq.Properties.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.seq_to_list.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_cad2cbad7956ffd16bb6c43e12556aad", + "function_token_typing_FStar.List.Tot.Base.bool_of_compare", + "function_token_typing_FStar.List.Tot.Base.compare_of_bool", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", + "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.bool_of_compare", - "token_correspondence_FStar.List.Tot.Base.compare_of_bool" + "token_correspondence_FStar.List.Tot.Base.compare_of_bool", + "typing_FStar.List.Tot.Base.bool_of_compare" ], 0, - "7054f505f5e62f36bfc38a4ecdf3ad29" + "6200ab5afa5fe82f176b98e00c7fbd92" ], [ "FStar.Seq.Properties.lemma_append_inj_l", @@ -5511,17 +5207,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_67742a85f7188ae8566f64c3f90bfb4c" ], 0, - "a1ba6b76b1abd542dc470e7538607555" + "a79d2f4c5be0f74703461465d7d349db" ], [ "FStar.Seq.Properties.lemma_append_inj_r", @@ -5529,17 +5222,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_64e82110644016dc09ff0ed468e6bfac" ], 0, - "ada07ae348be52a36fbf20acdb318323" + "3ed22eef647771ef91b0b22dfe2b129a" ], [ "FStar.Seq.Properties.lemma_append_len_disj", @@ -5547,16 +5237,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c776f3da0c2cb95732d459e93b3fcbe5" + "369e6dec58a8528ea850297067a4ad58" ], [ "FStar.Seq.Properties.lemma_append_inj", @@ -5564,16 +5251,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "492b1fc304a0611ede0425034a0bac8f" + "f5db6ccf0237e695afcfa84ea7c62365" ], [ "FStar.Seq.Properties.head", @@ -5585,7 +5269,7 @@ "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c" ], 0, - "bf0a5e6a700b7bc3d266adb034469c40" + "3b809d9eb7f3d9bc7bf24a56d3c97700" ], [ "FStar.Seq.Properties.tail", @@ -5605,7 +5289,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "62a67dd17c5445d2d97faa54da5b067a" + "6527fcdfa0477a8248df57c5153c875e" ], [ "FStar.Seq.Properties.lemma_head_append", @@ -5613,18 +5297,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "283ed0abbb8e346f652a1db28c036348" + "ce84a1b439a1fe724c93d51c7311a01a" ], [ "FStar.Seq.Properties.lemma_tail_append", @@ -5632,18 +5313,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "dc84afc48de12cb248dfcdee3b4e969b" + "51fba9f42e9f2ae4a57a876d2e5fb02e" ], [ "FStar.Seq.Properties.last", @@ -5662,7 +5340,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "cc8c5410fc3f686032fa3b9046433d5d" + "49d20e8a73dc5e5a4e17ae175b7a2768" ], [ "FStar.Seq.Properties.split", @@ -5670,18 +5348,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "c9f3a149cbdfcbecde6c7210d3594e98" + "55831e1d3388c1e6d96945a80ada6464" ], [ "FStar.Seq.Properties.split_eq", @@ -5690,7 +5365,7 @@ 0, [ "@query" ], 0, - "d32c2e7af9132027ba3ab53285bf3d00" + "e26c05780f54ffde1946b5fe1273c780" ], [ "FStar.Seq.Properties.count", @@ -5699,14 +5374,11 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", @@ -5714,12 +5386,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "48d4349e66069d15b8722d9ed89e62aa" + "2945a0104b129427866d9db8296f42b8" ], [ "FStar.Seq.Properties.index_mem", @@ -5728,7 +5400,7 @@ 0, [ "@query" ], 0, - "18c9188feed40071e1e94cd3eab4bea7" + "72e274672c5ae3685992f36ddd969e09" ], [ "FStar.Seq.Properties.index_mem", @@ -5740,9 +5412,9 @@ "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_f5f822c6aa182796e6c581814ec64033_1", "bool_inversion", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_157b99e815dc43d99415725267e9c452_1", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.mem", @@ -5759,16 +5431,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", "well-founded-ordering-on-nat" ], 0, - "152e4c07cfc7733fa00f50a20faea534" + "42d799f1d79fca45ff0031315996431b" ], [ "FStar.Seq.Properties.swap", @@ -5776,18 +5448,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index" ], 0, - "a3ea7e869a911ad2eec0c105dd4c3f6b" + "741b91cf2131d1ed8c20c7700fca33a9" ], [ "FStar.Seq.Properties.lemma_slice_append", @@ -5806,7 +5475,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "166f090533ba9924c67ec00ead02c57d" + "ba69c0a1541a8fd9a979b2678a674cd9" ], [ "FStar.Seq.Properties.lemma_slice_first_in_append", @@ -5814,20 +5483,17 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "typing_FStar.Seq.Base.length" ], 0, - "6b7d53f96732a29e69f32f1504c9dca0" + "c841e3106de30f03e8a7374b8de73a37" ], [ "FStar.Seq.Properties.slice_upd", @@ -5835,20 +5501,17 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "52c7b6e569a8ded76f1e7173f123d326" + "5949f1604bc8e80626debabf1f050e47" ], [ "FStar.Seq.Properties.upd_slice", @@ -5856,27 +5519,24 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_Prims.nat", "equation_Prims.squash", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length" ], 0, - "e510b25248c965a2a77e1f274e3dc1ac" + "bc6fa5fbd61d38bd6e6cca1b761c7cf5" ], [ "FStar.Seq.Properties.lemma_tl", @@ -5885,17 +5545,15 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", + "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "75f24ceaea3a03220eff124842c69612" + "bf65783e1215c17cff4c8ddfae1dafba" ], [ "FStar.Seq.Properties.sorted", @@ -5904,24 +5562,22 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "a9aae3d942fc839ed33199fe14f9ad02" + "1c38d960026957697628e8f83ea84bc4" ], [ "FStar.Seq.Properties.lemma_count_slice", @@ -5929,19 +5585,17 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "int_inversion", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "typing_FStar.Seq.Base.length" ], 0, - "d8ff3ba41329e8b9668d25d5f0ce551f" + "0157f422a85bfa8836355a2cd8de9edf" ], [ "FStar.Seq.Properties.split_5", @@ -5949,20 +5603,17 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_94e3975549a4302ec1edaf0a73d936c4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55108d29d63192475ca95f591039cc18", "typing_FStar.Seq.Base.length" ], 0, - "1f4286794975d8a118188e8cea213f18" + "f84eccd0c65117df6730dc1925bd0ff5" ], [ "FStar.Seq.Properties.lemma_swap_permutes_aux_frag_eq", @@ -5971,24 +5622,22 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bbb4c04cf0d3499d5a984d9896e706ff", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_66084d01979c78a34e5efcf276a878a5", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "28ba986dac32c05b4d4a3ac5dd0ace9c" + "b309dbf3f372e7d45f250803ad37d812" ], [ "FStar.Seq.Properties.lemma_swap_permutes_aux", @@ -5996,18 +5645,15 @@ 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235" + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62" ], 0, - "f7f7689ba9f25e9c93e6743e9e018ce1" + "8feb69ea20918ca73eaafab7d4878c3c" ], [ "FStar.Seq.Properties.permutation", @@ -6017,11 +5663,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2862c8f8d19e107526b645fcc55c0589" + "ef7bec9834288510b5898e1bf599de19" ], [ "FStar.Seq.Properties.lemma_swap_permutes", @@ -6033,7 +5679,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "354a7821dd5fb6ac76977691523fac9b" + "30b64243d8e3f3da698fdd2654b63bb2" ], [ "FStar.Seq.Properties.lemma_slice_cons", @@ -6041,19 +5687,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" ], 0, - "81afe74eebecc5f8a25f124927645371" + "d63f6febb5c4e4151c844e574ebfa0a8" ], [ "FStar.Seq.Properties.lemma_slice_snoc", @@ -6061,22 +5704,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThan", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", "typing_FStar.Seq.Base.length" ], 0, - "14d6142dda431d15ec89febdf2ff2271" + "e44ed2ad36200c545d01849b4c1b1371" ], [ "FStar.Seq.Properties.lemma_ordering_lo_snoc", @@ -6084,21 +5724,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.length" ], 0, - "e807ed1385401b8004feb7a03889356a" + "5be127e6e572e006c78a625bb6f71544" ], [ "FStar.Seq.Properties.lemma_ordering_hi_cons", @@ -6106,19 +5743,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" ], 0, - "3dbd72c03a51345f43c15fc20f6e183d" + "08063514be742e3b71fc26f0a23a4dcb" ], [ "FStar.Seq.Properties.swap_frame_lo", @@ -6127,22 +5761,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "bd6a2bf1a49c12b223ce57a33c4e7094" + "84369abcff5470ce594bb054bd753b6b" ], [ "FStar.Seq.Properties.swap_frame_lo'", @@ -6151,22 +5783,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_50311334540b864caefa03e77741b235", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "30d3fc01ddb73521bc2a12ba0e63b83b" + "3911d3df3ef10afbb68b4737b6da67ba" ], [ "FStar.Seq.Properties.swap_frame_hi", @@ -6175,23 +5805,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd" ], 0, - "5fcfb1938a53ac5a7c750fc1fb5ff039" + "8753edd3ce5dedeb89dc50c668eea576" ], [ "FStar.Seq.Properties.lemma_swap_slice_commute", @@ -6200,25 +5828,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" ], 0, - "361b234a61972f8b6b5a195b69bce899" + "6ec1309b39586e95079f303f9991eeb6" ], [ "FStar.Seq.Properties.lemma_swap_permutes_slice", @@ -6227,23 +5853,21 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" ], 0, - "917f8149a2f9ea6da60fbce815dcc425" + "7347be7567b9c5979c26304d95210626" ], [ "FStar.Seq.Properties.splice", @@ -6253,11 +5877,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9e5485f2142fcda393b4ec41f2a892a5" + "51f2e0110b071cd55e529ec5b2840e14" ], [ "FStar.Seq.Properties.splice", @@ -6265,18 +5889,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1" ], 0, - "ed922f43ee789b67090f788ad2a1c2cd" + "9dcd8be64b81199b4df2fb2d667c5de1" ], [ "FStar.Seq.Properties.replace_subseq", @@ -6284,18 +5905,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Seq.Base.length" ], 0, - "7c5690fa13c8da044c27dd3e5d70a851" + "49b936319e41e34e50bac93f1a36a66d" ], [ "FStar.Seq.Properties.splice_refl", @@ -6307,7 +5925,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4e6d2baebea904a5277d5bef95af8fe0" + "fd47775a5e9068b6ab5ff634d8bc697d" ], [ "FStar.Seq.Properties.lemma_swap_splice", @@ -6316,21 +5934,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" ], 0, - "a0836f923c1082f4228ec157e0f597e7" + "6eced2be381ed1575e2b75bb15606c2e" ], [ "FStar.Seq.Properties.lemma_seq_frame_hi", @@ -6338,22 +5954,19 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" ], 0, - "0d994bc29eaa2fd4e07b9fdc9667a17d" + "551a81769b14110e0d197dac6fac3b70" ], [ "FStar.Seq.Properties.lemma_seq_frame_lo", @@ -6361,23 +5974,20 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" ], 0, - "4c39ef31ff06980dedf9ea05d502baf8" + "034e0221b1ee2ce3c175398d8fae1383" ], [ "FStar.Seq.Properties.lemma_tail_slice", @@ -6385,22 +5995,19 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" ], 0, - "52c6786586d3fd79783dcb5829214a07" + "c9e84394ffd944fe409de9e3799d8e84" ], [ "FStar.Seq.Properties.lemma_weaken_frame_right", @@ -6408,20 +6015,17 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1e0c44c3327fa4ba90b88cde39ed4b19", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074" + "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", + "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1" ], 0, - "9203e0d5bf99f2aeff4a52218096a270" + "7fada021a41f12ba643c4471e8644039" ], [ "FStar.Seq.Properties.lemma_weaken_frame_left", @@ -6429,20 +6033,17 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1e0c44c3327fa4ba90b88cde39ed4b19", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074" + "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", + "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1" ], 0, - "4f91526d39bcd167b1f5bf5735df74cc" + "ab8e17c7d7df1f05cc1b5509c5f844ef" ], [ "FStar.Seq.Properties.lemma_trans_frame", @@ -6450,20 +6051,17 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_80d3ec204d8dc5bca159f07cb028ec9b", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647" ], 0, - "8bcacd063166747cc1d4119286ccb72d" + "c117e8dcb81f9cb26e04561e8dbe06c0" ], [ "FStar.Seq.Properties.lemma_weaken_perm_left", @@ -6471,21 +6069,18 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_902052ed663478ddd976c225e9304224", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2" ], 0, - "3cfce8a7db9758e3dc46aa4638bde574" + "ee8fab76617f446b30f66c6e81eba234" ], [ "FStar.Seq.Properties.lemma_weaken_perm_right", @@ -6493,21 +6088,18 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_902052ed663478ddd976c225e9304224", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2" ], 0, - "d92fe13134595d528e3210814b103f19" + "2fc608dfdc452338f9711bf65491933a" ], [ "FStar.Seq.Properties.lemma_trans_perm", @@ -6515,18 +6107,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_80d3ec204d8dc5bca159f07cb028ec9b", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647" ], 0, - "3e775eae043f2bb5772bbc09273e69b7" + "785b2fd4c10eb9319e72147632c6f8e9" ], [ "FStar.Seq.Properties.lemma_tail_snoc", @@ -6535,20 +6124,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "6706284809f3fe57b640d190b8ae58ef" + "e90998b3067e433aec2717b7d7a1b8b8" ], [ "FStar.Seq.Properties.find_l", @@ -6573,12 +6159,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "43a188653601fb2f1e4373bb869dee56" + "5f3e2c7aa6215791e91da9a23fc39150" ], [ "FStar.Seq.Properties.ghost_find_l", @@ -6603,12 +6189,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "930c59f99ab0847411cb85116d421ab6" + "c8639b2a70a81ae1684e9962c698f4f8" ], [ "FStar.Seq.Properties.find_append_some", @@ -6624,7 +6210,7 @@ "typing_FStar.Seq.Properties.find_l" ], 0, - "c4138590754812cfd648c163a3bf5098" + "c03e5bd95d8b1d4d7cbafd2576783ce5" ], [ "FStar.Seq.Properties.find_append_none", @@ -6633,7 +6219,7 @@ 1, [ "@query" ], 0, - "888b0c88a57652a406c415dd318da62f" + "e6a389e78ba5c5eef9ba22745d6ad5b6" ], [ "FStar.Seq.Properties.find_append_none_s2", @@ -6642,7 +6228,7 @@ 1, [ "@query" ], 0, - "6a36d239c4f061e10c3ac6e78c373be4" + "fcd426399f98bca69ca94ee9050055ad" ], [ "FStar.Seq.Properties.find_snoc", @@ -6661,7 +6247,7 @@ "typing_FStar.Seq.Properties.snoc" ], 0, - "2878f5af057c3c7c4b0b429464122911" + "184705fbc96b624d57ca95b7e2774e17" ], [ "FStar.Seq.Properties.un_snoc", @@ -6671,12 +6257,10 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_FStar.Seq.Properties.snoc", "equation_FStar.Seq.Properties.split", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -6695,19 +6279,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "19239c95c0bfa6088c63e25429bb1b11" + "fc7a4f4ae5815583a670aa4c21b55ccf" ], [ "FStar.Seq.Properties.un_snoc_snoc", @@ -6716,17 +6300,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", + "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "d766f3b052f8a930c18bf4f45efb4ea8" + "e87a2b96bda30d55122897c72f8c20ab" ], [ "FStar.Seq.Properties.find_r", @@ -6759,14 +6341,14 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_0bc42f53608879da830fdb13edb72acb", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "well-founded-ordering-on-nat" ], 0, - "108b535f322b5156cbfd9825871ec57e" + "e463afe5638cea2d0c5089b588de8f70" ], [ "FStar.Seq.Properties.seq_find_aux", @@ -6776,12 +6358,12 @@ [ "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", + "disc_equation_FStar.Pervasives.Native.Some", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_363ba018b105d89c08be8676717898c9" + "refinement_interpretation_Tm_refine_09b954da7854b02a464e9bd2c6bc3531" ], 0, - "b2ec23b059c56a12b428499cf94d07af" + "8ec01033afa8daa49334c93e4eb767c0" ], [ "FStar.Seq.Properties.seq_find_aux", @@ -6791,33 +6373,31 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.Seq.Properties_interpretation_Tm_arrow_c55d73caaab25917152a038f3941a712", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_19dc089137acaaee9ef17ad7dbe4bc92_4", + "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", + "binder_x_3a73d3f8589ff7fa464c85fc3653873a_4", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_f4c10f2ec6a911fa02faaade377f4c86_2", + "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.None", "constructor_distinct_FStar.Pervasives.Native.Some", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.found", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.None_a", "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_4b2f6b77862fce7227b71f11da7c6a5b", - "refinement_interpretation_Tm_refine_5fbd7bf3c0c7783f41ad59fdcd8e6844", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cbd0b9436529c35fbd64e8443d329aaa", - "refinement_interpretation_Tm_refine_dc0143b90124e3ad24073cf3fcf6b745", + "refinement_interpretation_Tm_refine_329ab408f321df2e289daebfff040d87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a9f24133975bf05cf436b0ab7bf33789", + "refinement_interpretation_Tm_refine_ae2d9539f95b6c18069df0a30a686fe0", + "refinement_interpretation_Tm_refine_d7d67908cb1918ad05c525ff0488d1eb", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "well-founded-ordering-on-nat" ], 0, - "8a05b0da5543057ba4a44deacf54bd48" + "7f2deae3659161de815559d6c0a6450f" ], [ "FStar.Seq.Properties.seq_find", @@ -6825,11 +6405,11 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_b9d3ebb8a91fb397785fd8a66c962cd7" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_4395ef09b3f6d8f4f0df16b4568b2b0e" ], 0, - "972236452d298574717f2ac8375bff0d" + "5dd5fd7bff45a263485fb293348c66e9" ], [ "FStar.Seq.Properties.find_mem", @@ -6838,7 +6418,7 @@ 1, [ "@query" ], 0, - "97f7d109715c0fa9a5c435b31ca2c3d2" + "fc76f30c3c1f1497303d27db9c987423" ], [ "FStar.Seq.Properties.for_all", @@ -6847,23 +6427,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_3b0ecac819a88dcb80dcfc62fa21bb3d", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", + "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", + "equation_Prims.nat", "int_inversion", + "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_455d37991444af3ed40206d59e75b904", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_eceee487dc5f997fef8ec356a5ed69a1", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Properties.seq_find", - "typing_Tm_abs_3b0ecac819a88dcb80dcfc62fa21bb3d" + "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" ], 0, - "9fdf5b6666cf25a59f0496864600c830" + "4ade27d5b8fea6805ea15cc58f5fbd44" ], [ "FStar.Seq.Properties.seq_to_list", @@ -6873,11 +6450,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0168ef1108b42406f4933dd44b710145" + "cb63924f53b17da0bcb346d48829ad80" ], [ "FStar.Seq.Properties.seq_to_list", @@ -6897,7 +6474,7 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", @@ -6908,14 +6485,15 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_ab78a70a4bd0f3bbca3a8c1cea845cc0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f30cd0277f624a534a8df31ae1f941ba", "typing_FStar.List.Tot.Base.length", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "cb55d60656f83409afe01adabb4927e1" + "0904e7dd3146d161443bf8a180d0e3ec" ], [ "FStar.Seq.Properties.seq_of_list", @@ -6925,11 +6503,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "fa05495dfd0ace6b52b0ab9379082669" + "03f0d208c76db6b57cd137979cd2e0c6" ], [ "FStar.Seq.Properties.seq_of_list", @@ -6940,8 +6518,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", @@ -6949,9 +6526,8 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "projection_inverse_BoxInt_proj_0", @@ -6959,12 +6535,12 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d70e4d424343b9276244f42d95a631bd", "subterm_ordering_Prims.Cons", "typing_FStar.Seq.Base.create" ], 0, - "700ea271854633b6a2e9808e7619525e" + "89a542b140d8723538d44a966b626c3f" ], [ "FStar.Seq.Properties.lemma_seq_of_list_induction", @@ -6974,26 +6550,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_Prims.nat", + "@query", "constructor_distinct_Prims.Cons", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "628b928e3084ab563461a765cf8e0241" + "651e049d99c7d3def44daf15da5b7e68" ], [ "FStar.Seq.Properties.createL_post", @@ -7003,11 +6577,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "955808887efcee028651ce8372eab622" + "f620b12e782d781e6de9000b4a3aa883" ], [ "FStar.Seq.Properties.createL", @@ -7018,19 +6592,17 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", + "@query", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_Equality", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce" ], 0, - "15d6ab876f4520026215e759839fb1d6" + "86ed91d5f1cdfe80f4d85d725cebf04f" ], [ "FStar.Seq.Properties.createL", @@ -7040,11 +6612,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dffe27ebcb0f40afb2fb3ce37964d6b0" + "5b3a474cf094dcc9f9874357a3835cda" ], [ "FStar.Seq.Properties.lemma_index_is_nth", @@ -7059,7 +6631,7 @@ "typing_FStar.Seq.Properties.seq_to_list" ], 0, - "87258882774a380f7e91347a4eb37f42" + "c15ebe2a052aaa7579c6be94dfda45b9" ], [ "FStar.Seq.Properties.lemma_find_l_contains", @@ -7068,7 +6640,7 @@ 1, [ "@query" ], 0, - "89c0e539f1c0e2ce4e8746f2cf4b01f0" + "6029c1734e0cfc03a760d5bafa636b31" ], [ "FStar.Seq.Properties.append_slices", @@ -7076,19 +6648,16 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "002923387e2ea185c451cc3f8310aa77" + "18f0db7274385ae420a42560fb8a7c0a" ], [ "FStar.Seq.Properties.head_cons", @@ -7097,17 +6666,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", + "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "f2d55bf2025e16526f6dac3438b67102" + "e0721824c6924827488615fe3f290a97" ], [ "FStar.Seq.Properties.index_cons_l", @@ -7116,17 +6683,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", + "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "d234beeea97b98292067cef77a89f9fa" + "e73238851059699ec95163915114c8ac" ], [ "FStar.Seq.Properties.index_cons_r", @@ -7135,20 +6700,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_b8d5985661392169635ec5799ecf6768", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_df32419872f50e21164e56f336cc35ef", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "0a945aa11f777c40ca068683666ebc3b" + "0e69536812cf2c0c21cba06be3510369" ], [ "FStar.Seq.Properties.index_tail", @@ -7157,9 +6720,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", @@ -7167,13 +6728,13 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_520b07e3f7a0a0a12b40968b63b25b73", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d24cb54460fe42a6984286984d5fc98d", "typing_FStar.Seq.Base.length" ], 0, - "dd4fbab72cbf3d26bd3ffada839538fd" + "716fbe17444d65d1a619a15c094766c1" ], [ "FStar.Seq.Properties.snoc_slice_index", @@ -7181,20 +6742,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "f246264de9b633c033f840ca7bb44cd9" + "b4ee7d965c14804f81d3fcde1c9f4d27" ], [ "FStar.Seq.Properties.cons_index_slice", @@ -7202,20 +6760,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c0cfbe9eeebfb6939e2f5016a358bdf1", + "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "4d88390b19cda69a548debb138030f29" + "a313927cf71733098256d453c1185ffe" ], [ "FStar.Seq.Properties.slice_is_empty", @@ -7234,7 +6789,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "28c96a458439b6f3c05f8deecb70b9f7" + "9309f4bee125c29840e107e8809e9d2e" ], [ "FStar.Seq.Properties.slice_length", @@ -7242,17 +6797,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "c3ca8978584cb0b06919db169f4b8288" + "501053d1c973bd10f24480ba2cef4c2e" ], [ "FStar.Seq.Properties.slice_slice", @@ -7260,23 +6812,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Seq.Base.length" ], 0, - "4c74ccd462f1d30bc6a4560bf82ad02b" + "3c08ce4eac63d4f558fef16c9b3126be" ], [ "FStar.Seq.Properties.lemma_seq_of_list_index", @@ -7289,7 +6838,7 @@ "typing_FStar.Seq.Properties.seq_of_list" ], 0, - "edfc0402f0aaa74041dd19541519a55b" + "dd32ebf56a4be5ac4b0ad4855bf5eaa2" ], [ "FStar.Seq.Properties.seq_of_list_tl", @@ -7299,18 +6848,16 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", + "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" ], 0, - "4851e374b016bc4f728633733241c120" + "bb4fe4b3f4f8e63826d6436c33a56ec7" ], [ "FStar.Seq.Properties.explode_and", @@ -7321,26 +6868,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_cdbcd248a762e6e859dad460661e0482_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "@query", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_d7b86a6e56394f3a5101cc39daaff225_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", + "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_7c48105533a2b559a9c0eb50f2ec5691", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_bc5c26af2c2da16bcd1936cd1f8ca034", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" ], 0, - "c4e649ac503c982c2cea262a766670e8" + "4d24bc4d734876581e15183302b5db83" ], [ "FStar.Seq.Properties.intro_of_list'", @@ -7349,19 +6893,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Seq.Base.length" ], 0, - "db72c08c095aa6c79fbd0b8784f46328" + "929ebf6d98a9eed7fe4a62f4a4ef505f" ], [ "FStar.Seq.Properties.intro_of_list", @@ -7369,19 +6912,16 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Seq.Base.length" ], 0, - "2aba1ade26abb22381ec7f07d612be1a" + "c41c1d7b7a7119648394d4da25088b77" ], [ "FStar.Seq.Properties.elim_of_list'", @@ -7392,19 +6932,18 @@ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_Prims.nat", "equation_Prims.squash", + "b2t_def", "equation_Prims.nat", "equation_Prims.squash", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.List.Tot.Base.length", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.List.Tot.Base.length" ], 0, - "dd1caba8579c8b623d2c53492bb4b11d" + "7c42b5ab84865aa23645da3791d5bb74" ], [ "FStar.Seq.Properties.elim_of_list", @@ -7412,20 +6951,17 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", "typing_FStar.List.Tot.Base.length" ], 0, - "ae288d1b3afe0933a7c63545c5bdbff2" + "a310845b1db6a2da693c492993429658" ], [ "FStar.Seq.Properties.sort_lseq", @@ -7433,37 +6969,31 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_8b54d4820d055c327440d0d4811d3a33", + "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", + "FStar.List.Tot.Base_interpretation_Tm_arrow_a2f219461d35e20b7bc771538ca96429", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_inversion", "bool_typing", "equation_FStar.List.Tot.Base.bool_of_compare", "equation_FStar.List.Tot.Base.compare_of_bool", "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.permutation", "equation_FStar.Seq.Properties.tot_ord", "equation_FStar.Seq.Properties.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.seq_to_list.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "partial_app_typing_cad2cbad7956ffd16bb6c43e12556aad", + "function_token_typing_FStar.List.Tot.Base.bool_of_compare", + "function_token_typing_FStar.List.Tot.Base.compare_of_bool", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", + "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.bool_of_compare", - "token_correspondence_FStar.List.Tot.Base.compare_of_bool" + "token_correspondence_FStar.List.Tot.Base.compare_of_bool", + "typing_FStar.List.Tot.Base.bool_of_compare" ], 0, - "e33cb20c3d90122eb02a175fa688048c" + "d5c9a6fb50f8b61d544d0ac3b85993fb" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Seq.Sorted.fst.hints b/ulib/FStar.Seq.Sorted.fst.hints index f7dba51fe69..e2f9428e37b 100644 --- a/ulib/FStar.Seq.Sorted.fst.hints +++ b/ulib/FStar.Seq.Sorted.fst.hints @@ -8,32 +8,29 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Seq.Properties.tail", + "FStar.List.Tot.Base_interpretation_Tm_arrow_0ce148557660da644163c9abf8acaa4c", + "bool_inversion", "equation_FStar.Seq.Properties.tail", "equation_FStar.Seq.Properties.tot_ord", "equation_FStar.Seq.Properties.total_order", "equation_FStar.Seq.Sorted.sorted_pred", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_02fc013e2322cd552632a97226a35779", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail" ], 0, - "093e9641ed0bfb412a8ab97e440769e9" + "f070f98729f8713de9c2b3ff4fee654d" ], [ "FStar.Seq.Sorted.sorted_pred_sorted_lemma", @@ -44,10 +41,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.sorted.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_80a0826cf925a72e95ad868a16ae6d14_1", "bool_inversion", + "@query", "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_a3eb6ef57f7868748473eafd3c17271a_1", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.tail", @@ -55,22 +51,21 @@ "equation_FStar.Seq.Sorted.sorted_pred", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.Seq.Properties.sorted.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "f886427796b3a049ddb06a36ecf55e59" + "c078e319159bc7ed49f37abfd91a5cbd" ], [ "FStar.Seq.Sorted.intro_sorted_pred", @@ -79,7 +74,7 @@ 1, [ "@query", "equation_FStar.Seq.Sorted.sorted_pred" ], 0, - "6c3d3b8c7531fb19abd4ad16b9fe2832" + "c04cc662a14762af86dd476980a2fcf5" ], [ "FStar.Seq.Sorted.sorted_pred_cons_lemma", @@ -91,7 +86,7 @@ "refinement_interpretation_Tm_refine_db53fa9c4814b0d5bbe0b7987448300c" ], 0, - "204e18c2087c4788074bda8633e19b08" + "8c7a236d97d75398abc6cdc01375a8cc" ], [ "FStar.Seq.Sorted.sorted_pred_cons_lemma", @@ -100,7 +95,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.Seq.Properties.tail", "equation_FStar.Seq.Properties.tot_ord", @@ -116,20 +111,20 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_28c99945e3e5697e85f27a8f0fd25cd8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e1a5d57dbfa444c5441e4c8fd1ad857", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_db53fa9c4814b0d5bbe0b7987448300c", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "unit_inversion", "unit_typing" ], 0, - "2f08355f3957b9cde357563721c70458" + "3b67b74865a0d3317bd71288adaad5c3" ], [ "FStar.Seq.Sorted.sorted_sorted_pred_lemma", @@ -141,9 +136,9 @@ "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", "@fuel_irrelevance_FStar.Seq.Properties.sorted.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22a86453b13d7dd8d8086d287838a5c5_2", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_80a0826cf925a72e95ad868a16ae6d14_1", "bool_inversion", + "binder_x_0f213a493b460394312187ae1ccaa1bb_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_a3eb6ef57f7868748473eafd3c17271a_1", "bool_inversion", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.tail", @@ -159,17 +154,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "b0af6df4a60404720d4196a528cdb4d8" + "06422bf574003a8d2c6af7e435122348" ], [ "FStar.Seq.Sorted.sorted_pred_slice_lemma", @@ -190,7 +185,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "bbbb579fa4cce2c2122b21177240f4e1" + "28376eb7581ea73a5406aea7b2777612" ], [ "FStar.Seq.Sorted.sorted_pred_slice_lemma", @@ -199,27 +194,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Sorted.sorted_pred", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length" ], 0, - "ac88a3ce4ec4868774470ae140047bce" + "62b6cd37a15a9ba4e8685ba8e9449a59" ], [ "FStar.Seq.Sorted.sorted_slice_lemma", @@ -240,7 +232,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "1751de35bd54c37f30ef1bf39c77c638" + "1aeacb70501eca86cdb0d7301e55d46e" ], [ "FStar.Seq.Sorted.sorted_slice_lemma", @@ -261,7 +253,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "d2664ba6e17db407d980f504d8c7ca1d" + "53ec04a4f2c77e6bb077a611aec4a772" ], [ "FStar.Seq.Sorted.sorted_split_lemma", @@ -269,15 +261,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "6e932e4957fc533faa1e15703c05b85a" + "76acb0d15dbceaff386b53cb51f02da8" ], [ "FStar.Seq.Sorted.sorted_split_lemma", @@ -287,16 +276,15 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.split", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "49832584313acef958b09697c230b96e" + "a0e44efa90ad66eeb69d2fe34c22ec2b" ], [ "FStar.Seq.Sorted.sorted_pred_append_lemma", @@ -305,7 +293,7 @@ 1, [ "@query" ], 0, - "aa9824b47b907c1c049663235584672e" + "a5ea1546dbe1cd8693baeb41b410482f" ], [ "FStar.Seq.Sorted.sorted_pred_append_lemma", @@ -314,16 +302,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f2b2710ae3de861274020fd80b8c9cab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Seq.Properties.head", + "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", + "bool_inversion", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.last", "equation_FStar.Seq.Properties.tot_ord", "equation_FStar.Seq.Properties.total_order", "equation_FStar.Seq.Sorted.sorted_pred", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_len_append", @@ -331,19 +316,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9bf2ae53ac7ba857f054ffcffb7fe3c4", - "refinement_interpretation_Tm_refine_9ce4f6ad1c92c32c38de8f84d1da6dde", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_65252598c54dfb80dbb3efb268be7156", + "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", "unit_inversion", "unit_typing" ], 0, - "2a8fe2be0bc044f827af1d24259ebb52" + "081039418abf3e0334866a6c54d10e85" ], [ "FStar.Seq.Sorted.sorted_pred_cons_lemma", @@ -355,7 +340,7 @@ "refinement_interpretation_Tm_refine_db53fa9c4814b0d5bbe0b7987448300c" ], 0, - "72d1a19077b93f078580e85a4d3cc45b" + "16c5e74a495ba76dc72cd647c1cb1166" ], [ "FStar.Seq.Sorted.sorted_pred_slice_lemma", @@ -376,7 +361,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "5d3d524d85554b689b739a123b003201" + "7c46257e700e2c11c46134771676ed16" ], [ "FStar.Seq.Sorted.sorted_slice_lemma", @@ -397,7 +382,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "f8a5373dc870666058ad2a65b79682d3" + "9f1949602fb7a704d8ecc4fbe08d5aec" ], [ "FStar.Seq.Sorted.sorted_split_lemma", @@ -405,15 +390,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" ], 0, - "dbcdaf5473af5c8b4c23d59082f2f94e" + "11cc599e2490b1b2ea7606fccbacb6a6" ], [ "FStar.Seq.Sorted.sorted_pred_append_lemma", @@ -422,7 +404,7 @@ 1, [ "@query" ], 0, - "d7c09bf05fb46fc23967204daef63734" + "a721c99fbaa472bad2fe5aafa655a068" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Set.fst.hints b/ulib/FStar.Set.fst.hints index acd91445c74..965bb0f4a01 100644 --- a/ulib/FStar.Set.fst.hints +++ b/ulib/FStar.Set.fst.hints @@ -8,24 +8,21 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Set.empty", "equation_FStar.Set.mem", "equation_Prims.eqtype", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_e79b4f1d7b56f21bc091671cfbafcf01", + "interpretation_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_e79b4f1d7b56f21bc091671cfbafcf01" + "typing_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "2b50cdc6e48b200cd69ec3e76dc313ea" + "1cd95eef656a227f5fdb1e30f588cc79" ], [ "FStar.Set.mem_singleton", @@ -34,24 +31,21 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Set.mem", "equation_FStar.Set.singleton", "equation_Prims.eqtype", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_9acaeccf341d612adb110cc057313ea2", + "interpretation_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "primitive_Prims.op_Equality", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_9acaeccf341d612adb110cc057313ea2" + "typing_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "9a5a1d26f07c9d6440b4c1984c5ae244" + "f27062dcf10486117b7602393e05fe60" ], [ "FStar.Set.mem_union", @@ -60,23 +54,20 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Set.mem", "equation_FStar.Set.union", "equation_Prims.eqtype", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_c579f11d61da8cc77574fc4da9ed02e3", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Set.mem", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_c579f11d61da8cc77574fc4da9ed02e3" + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" ], 0, - "81ce48506b8884d70235762c960c6742" + "35dc3e6a99354025aaefaf022354d1c2" ], [ "FStar.Set.mem_intersect", @@ -85,23 +76,20 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Set.intersect", "equation_FStar.Set.mem", "equation_Prims.eqtype", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_989443518ed1e90f0c02f8135ad11dc4", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "interpretation_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Set.mem", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_989443518ed1e90f0c02f8135ad11dc4" + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" ], 0, - "2be0654ed54a52581983a71a1be4ff30" + "1c4d3c9ec0d75737577a3202685e1af7" ], [ "FStar.Set.mem_complement", @@ -110,23 +98,20 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.Set.complement", "equation_FStar.Set.mem", "equation_Prims.eqtype", - "interpretation_Tm_abs_3b0ecac819a88dcb80dcfc62fa21bb3d", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Set.mem", - "typing_Tm_abs_3b0ecac819a88dcb80dcfc62fa21bb3d", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", + "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" ], 0, - "2c73caa66cb4898783360ec5a0bf306f" + "33ea807603ab20abb37fdf5cd47d658b" ], [ "FStar.Set.mem_subset", @@ -135,7 +120,7 @@ 0, [ "@query", "equation_FStar.Set.subset" ], 0, - "225ead307cdcab0f1b7184347a2e023f" + "5941dedb4e9e88f5a928573e2ea8d2c7" ], [ "FStar.Set.subset_mem", @@ -144,7 +129,7 @@ 0, [ "@query", "equation_FStar.Set.subset" ], 0, - "4d86c2d474ce230c8c025b5686a9104f" + "d0a3dccbf5c39618287530b9eef49ef6" ], [ "FStar.Set.lemma_equal_intro", @@ -156,7 +141,7 @@ "equation_FStar.Set.equal", "equation_FStar.Set.mem" ], 0, - "8438727202f28c3d442234967992300f" + "0dd8cd459f477bec99fb76900adbda25" ], [ "FStar.Set.lemma_equal_elim", @@ -171,11 +156,11 @@ "equation_Prims.eqtype", "lemma_FStar.FunctionalExtensionality.extensionality", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", + "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" ], 0, - "c1d2421d7f28c74951742370b6358832" + "4f3b01d708cd791d76d02ebb8802643e" ], [ "FStar.Set.lemma_equal_refl", @@ -184,7 +169,7 @@ 0, [ "@query", "lemma_FStar.Set.lemma_equal_intro" ], 0, - "ad9fed568a9dc2db540427b95201539d" + "f8fbdc84e1c9b351c8ccc0ac40649f5b" ], [ "FStar.Set.disjoint_not_in_both", @@ -200,7 +185,7 @@ "typing_FStar.Set.mem" ], 0, - "ff93f695deeb635bb55d9fa23d4c19fb" + "c3a8d9b247b9cb37b0a8e82392afd997" ], [ "FStar.Set.as_set'", @@ -209,13 +194,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "c71fb2ff788748e963ccd8e6538e8708" + "a56af67f3a515fe30c7cfc729d0632b5" ], [ "FStar.Set.lemma_disjoint_subset", @@ -233,7 +218,7 @@ "typing_FStar.Set.mem" ], 0, - "3a2c49d6e52a6fde9d263db67802c303" + "e4bd81cc2709899333752febba3dacde" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Set.fsti.hints b/ulib/FStar.Set.fsti.hints index 665179df1fe..a39c969dae6 100644 --- a/ulib/FStar.Set.fsti.hints +++ b/ulib/FStar.Set.fsti.hints @@ -8,13 +8,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "d13fad98cc9f0064077ee2082bdde946" + "2d11dcff12b2d101babedb25e97b273e" ], [ "FStar.Set.lemma_disjoint_subset", @@ -31,7 +31,7 @@ "typing_FStar.Set.mem" ], 0, - "6a384a17b414abd70a0d6218380a0d66" + "ec3fd89c8e0e3fd034f943739a44bdc3" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Squash.fst.hints b/ulib/FStar.Squash.fst.hints index c62d54fba8f..1f4fc342cc0 100644 --- a/ulib/FStar.Squash.fst.hints +++ b/ulib/FStar.Squash.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "db9ad204f3b5d811291ac54e59cda8fe" + "0471c1ba2fd89dfcdda644e1503886ed" ], [ "FStar.Squash.get_proof", @@ -17,10 +17,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "40b04303b4f20e60679a70c9e114d292" + "2e866ea438a6ab3e32cf8c58a40140ba" ], [ "FStar.Squash.give_proof", @@ -29,10 +29,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c28c58f0d46a74bcca48d4b4b0c7eaa2" + "16c3a8da28c93826e47dc7575bd32dfc" ], [ "FStar.Squash.proof_irrelevance", @@ -41,11 +41,11 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "unit_inversion" ], 0, - "2c5f2402ffaaff0c3a042784eca8b723" + "42b8078300203f78546d43d534291993" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Squash.fsti b/ulib/FStar.Squash.fsti index 43ddac60bf6..1588e123b54 100644 --- a/ulib/FStar.Squash.fsti +++ b/ulib/FStar.Squash.fsti @@ -27,7 +27,7 @@ val bind_squash : #a:Type -> #b:Type -> squash a -> (a -> GTot (squash b)) -> Tot (squash b) (* With a special ``push'' operation *) -val push_squash : #a:Type -> #b:(a -> Type) -> (x:a -> Tot (squash (b x))) -> Tot (squash (x:a -> Tot (b x))) +val push_squash : #a:Type -> #b:(a -> Type) -> (x:a -> Tot (squash (b x))) -> Tot (squash (x:a -> GTot (b x))) val get_proof : p:Type -> Pure (squash p) (requires p) (ensures (fun _ -> True)) diff --git a/ulib/FStar.Squash.fsti.hints b/ulib/FStar.Squash.fsti.hints index 74de000abf2..2829922bb95 100644 --- a/ulib/FStar.Squash.fsti.hints +++ b/ulib/FStar.Squash.fsti.hints @@ -1 +1 @@ -[ "yÔ\u0000\u0016º\u0017\ntAùÔŠ\u0017›*Þ", [] ] \ No newline at end of file +[ "ï¹y-\u0019\u0011\u001f²?Us,{ô y", [] ] \ No newline at end of file diff --git a/ulib/FStar.SquashProperties.fst b/ulib/FStar.SquashProperties.fst index 172c4bb7753..df975ee408a 100644 --- a/ulib/FStar.SquashProperties.fst +++ b/ulib/FStar.SquashProperties.fst @@ -27,7 +27,7 @@ val squash_arrow : #a:Type -> #p:(a -> Type) -> let squash_arrow #a #p f = squash_double_arrow (return_squash f) val forall_intro : #a:Type -> #p:(a -> Type) -> - $f:(x:a -> Lemma (p x)) -> Lemma (x:a -> Tot (p x))(* (forall (x:a). p x) *) + $f:(x:a -> Lemma (p x)) -> Lemma (x:a -> GTot (p x))(* (forall (x:a). p x) *) let forall_intro #a #p f = let ff : (x:a -> GTot (squash (p x))) = (fun x -> f x; get_proof (p x)) in give_proof #(x:a -> GTot (p x)) (squash_arrow #a #p ff) @@ -64,11 +64,11 @@ val excluded_middle_squash : p:Type0 -> GTot (p \/ ~p) let excluded_middle_squash p = bind_squash (excluded_middle p) (fun x -> if x then - map_squash (get_proof p) Left + map_squash (get_proof p) (Left #p) else - return_squash (Right (return_squash (fun (h:p) -> - give_proof (return_squash h); - false_elim #False ())))) + return_squash (Right #_ #(~p) (return_squash (fun (h:p) -> + give_proof (return_squash h); + false_elim #False ())))) (* we thought we might prove proof irrelevance by Berardi ... but didn't manage *) diff --git a/ulib/FStar.SquashProperties.fst.hints b/ulib/FStar.SquashProperties.fst.hints index 643173e955d..1bbe93d52ce 100644 --- a/ulib/FStar.SquashProperties.fst.hints +++ b/ulib/FStar.SquashProperties.fst.hints @@ -1,5 +1,5 @@ [ - "DoJv¬\u007fÅ\u001b.:i{HûÛ\n", + "8\u0004~B¹ \u00177½P|SÊ\\ç", [ [ "FStar.SquashProperties.forall_intro", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "3e1c875b435467082849359569af94a3" + "dad11a1ce8d42e75e35910f4e57d1e71" ], [ "FStar.SquashProperties.bool_of_or", @@ -20,7 +20,7 @@ "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.c_or" ], 0, - "58a241e6afbd17fa58a73b2c2e5047d6" + "29ea754f1a1f19d798a5c9e300149fa4" ], [ "FStar.SquashProperties.excluded_middle", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "8828a6a5563b12cf654b1d482248d995" + "d9b6b41e9f9eb1559fc30d704960c070" ], [ "FStar.SquashProperties.excluded_middle_squash", @@ -37,16 +37,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "equation_Prims.l_False", "equation_Prims.l_imp", - "equation_Prims.l_not", "equation_Prims.squash", + "@MaxIFuel_assumption", "@query", "bool_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3d9be3f8c1f455cdaac99a8638e52c06", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_0a072959e7be7be61159772bf968ea07" ], 0, - "f4ff3c76f1530b4e52150590d67cb467" + "c0da71b67200fd5d97acb81233be8d38" ], [ "FStar.SquashProperties.ifProp", @@ -58,7 +54,7 @@ "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.c_or" ], 0, - "0791c9a80964d956231727b902b910b1" + "600583454d63d51ed3eb5dbb4d9efb91" ], [ "FStar.SquashProperties.__proj__MkR__item__inv", @@ -74,7 +70,7 @@ "token_correspondence_FStar.SquashProperties.__proj__MkR__item__j" ], 0, - "164c7fe3dec1f69fb0cb5a44dc7b43d4" + "c15758d17dde3cadbd1fa16fc215ebca" ], [ "FStar.SquashProperties.__proj__MkC__item__inv2", @@ -90,7 +86,7 @@ "token_correspondence_FStar.SquashProperties.__proj__MkC__item__j2" ], 0, - "50c302f9684fccf8dc389f8b64a1a297" + "9f35291cd68d704a71b82086ce82fd36" ], [ "FStar.SquashProperties.ac", @@ -106,7 +102,7 @@ "token_correspondence_FStar.SquashProperties.__proj__MkC__item__j2" ], 0, - "3ca1aaffe4690659015a6a438967ccc9" + "dee58ff7a45209125ce76a1b3ceaa606" ], [ "FStar.SquashProperties.false_elim", @@ -115,10 +111,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "53bd3e14d5c174f74aea79cdc4e919b0" + "8ef9cadd51eece2019739c7481163672" ], [ "FStar.SquashProperties.l1", @@ -130,7 +126,7 @@ "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.c_or" ], 0, - "6c1610e8df526550161bd609a80cbd5b" + "c2c8af5179c663c051bc6b4568e9a871" ], [ "FStar.SquashProperties.bool_of_or", @@ -142,7 +138,7 @@ "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.c_or" ], 0, - "ccb62b61a6dbad1bfb0d19ae90664fb6" + "0ce67c2616a3e0fed28838c363b636ef" ], [ "FStar.SquashProperties.excluded_middle", @@ -151,7 +147,7 @@ 1, [ "@query" ], 0, - "d74e8f3c00f801a6a1b49c1d5213d52b" + "687a48ea36f6581a719ed5999c6e84dc" ], [ "FStar.SquashProperties.excluded_middle_squash", @@ -159,16 +155,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "equation_Prims.l_False", "equation_Prims.l_imp", - "equation_Prims.l_not", "equation_Prims.squash", + "@MaxIFuel_assumption", "@query", "bool_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3d9be3f8c1f455cdaac99a8638e52c06", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_0a072959e7be7be61159772bf968ea07" ], 0, - "d7de598917355c44c05f4950f87ce6b9" + "63af8db58c9a74b38fe6ae6806999d34" ], [ "FStar.SquashProperties.ifProp", @@ -180,7 +172,7 @@ "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.c_or" ], 0, - "80850e31f8e7c8e0e265cb1b98795b74" + "4de1334693eef49a6b053079f9f22a33" ], [ "FStar.SquashProperties.__proj__MkR__item__inv", @@ -196,7 +188,7 @@ "token_correspondence_FStar.SquashProperties.__proj__MkR__item__j" ], 0, - "e421f7ac54d9ba9ea2661aeb3ce21cd8" + "4aebfffcc671f5d484ed449a82fc0a1e" ], [ "FStar.SquashProperties.__proj__MkC__item__inv2", @@ -212,7 +204,7 @@ "token_correspondence_FStar.SquashProperties.__proj__MkC__item__j2" ], 0, - "b359d05299fa1dae0797003162819958" + "ac33975ccc48e061e70e59b5b0b79b5f" ], [ "FStar.SquashProperties.ac", @@ -228,7 +220,7 @@ "token_correspondence_FStar.SquashProperties.__proj__MkC__item__j2" ], 0, - "d5d5279b5252c64b58157bf74ae8523d" + "bffb72fb7689224ba9be5ccde39f2d71" ], [ "FStar.SquashProperties.false_elim", @@ -237,10 +229,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb26061a0b65cfdbbd4fbb3aba2011c7" + "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" ], 0, - "7858d991e63b7e91a9340caddd3d0826" + "ea3322ae2902e15357790b1b5dfb5528" ], [ "FStar.SquashProperties.l1", @@ -252,7 +244,7 @@ "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.c_or" ], 0, - "babd8d0f39ec85e748731a20957e247e" + "f6e92ef4c4711c513a81d776dbe04002" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.String.fsti.hints b/ulib/FStar.String.fsti.hints index 537bb013293..3d0f1dfb0b2 100644 --- a/ulib/FStar.String.fsti.hints +++ b/ulib/FStar.String.fsti.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "be6ad2cbf575987bb572e5e845dd55b2" + "da709f05cfec3e8e4888dc7a5a5c3527" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.TSet.fst b/ulib/FStar.TSet.fst index 3180feed04f..394fa98aaf2 100644 --- a/ulib/FStar.TSet.fst +++ b/ulib/FStar.TSet.fst @@ -119,6 +119,7 @@ let lemma_equal_refl #a s1 s2 = () abstract let tset_of_set (#a:eqtype) (s:Set.set a) :set a = F.on_dom a #(fun _ -> prop) (fun (x:a) -> squash (b2t (Set.mem x s))) +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" private let lemma_mem_tset_of_set_l (#a:eqtype) (s:Set.set a) (x:a) :Lemma (requires True) (ensures (mem x (tset_of_set s) ==> Set.mem x s)) @@ -130,6 +131,7 @@ private let lemma_mem_tset_of_set_l (#a:eqtype) (s:Set.set a) (x:a) let u:squash t2 = FStar.Squash.join_squash u in FStar.Squash.give_proof u else () +#pop-options private let lemma_mem_tset_of_set_r (#a:eqtype) (s:Set.set a) (x:a) :Lemma (requires True) diff --git a/ulib/FStar.TSet.fst.hints b/ulib/FStar.TSet.fst.hints index f495ff161a3..017822e19ed 100644 --- a/ulib/FStar.TSet.fst.hints +++ b/ulib/FStar.TSet.fst.hints @@ -1,5 +1,5 @@ [ - "f\u000e\u0005üŒsZ:«ß)\u0016k«'®", + "\u0006Oôˆ€Êó.\u0004P¬Ýþ8EŠ", [ [ "FStar.TSet.empty", @@ -8,10 +8,10 @@ 0, [ "@query", "equation_Prims.l_False", "equation_Prims.subtype_of", - "false_interp", "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9" + "false_interp", "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a" ], 0, - "887fbd052f734fef9de0901bd587f91a" + "50d7586bbd331d793e6a39324db38e06" ], [ "FStar.TSet.singleton", @@ -19,16 +19,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.eq2", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "40241551836e433c496a6e90ea50d695" + "5da04ba1ac0cb16fc62836e8f1bbb6d1" ], [ "FStar.TSet.union", @@ -36,16 +33,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_or", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_or", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "550999c583c080d654a1387bd9c33efb" + "e656669bbf64d84d5b663af2faf5cd40" ], [ "FStar.TSet.intersect", @@ -53,16 +47,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_and", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8c438bdcfe6c006690cbce7067c83bd3" + "2554c69617a60629f14a47cd8c815389" ], [ "FStar.TSet.complement", @@ -70,17 +61,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_False", "equation_Prims.l_imp", - "equation_Prims.l_not", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_False", + "equation_Prims.l_imp", "equation_Prims.l_not", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6cb158867fd76e27c1fcd681fcb17343" + "489c275b183f1383f0be490586876dfd" ], [ "FStar.TSet.mem_empty", @@ -89,20 +77,19 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.TSet.empty", "equation_FStar.TSet.mem", - "equation_Prims.l_False", "equation_Prims.prop", "false_interp", - "interpretation_Tm_abs_065a0b6ca0215aa34971e45fd5239f9e", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "false_interp", + "interpretation_Tm_abs_16e31acd0e944c0dbca617330e7817a8", + "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_065a0b6ca0215aa34971e45fd5239f9e", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_16e31acd0e944c0dbca617330e7817a8", + "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "a24d66612f00671296d6394198c58c40" + "44f9ca289193e3702188d52738a421a8" ], [ "FStar.TSet.mem_singleton", @@ -111,20 +98,18 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.TSet.mem", "equation_FStar.TSet.singleton", - "equation_Prims.prop", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_edc6605b210c6a954de84a79b540d56a", + "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", + "interpretation_Tm_abs_45fa948b68f0fd9176df0a5d041d6d26", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_edc6605b210c6a954de84a79b540d56a" + "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", + "typing_Tm_abs_45fa948b68f0fd9176df0a5d041d6d26" ], 0, - "836a0479ce3c6b623249229aa57696d2" + "73768126207ed567e3e1f04994ab8d4b" ], [ "FStar.TSet.mem_union", @@ -133,20 +118,18 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.TSet.mem", "equation_FStar.TSet.union", - "equation_Prims.prop", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_bdcadb6a1df563fbb25a1c29e87a7f56", + "interpretation_Tm_abs_18de5701cc74185de18449b38814b3ae", + "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_bdcadb6a1df563fbb25a1c29e87a7f56" + "typing_Tm_abs_18de5701cc74185de18449b38814b3ae", + "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "784d621ada8cf97a511f683cc5d11d53" + "327a658537fd0f7df4b84ffba3d1e5e6" ], [ "FStar.TSet.mem_intersect", @@ -155,20 +138,18 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.TSet.intersect", "equation_FStar.TSet.mem", - "equation_Prims.prop", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_813007228a1a7b9d6eb81d8899653a5e", + "interpretation_Tm_abs_125bc00f64c7879a7d7fb8c1e5fc228b", + "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_813007228a1a7b9d6eb81d8899653a5e" + "typing_Tm_abs_125bc00f64c7879a7d7fb8c1e5fc228b", + "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "d638d4e9668ab462ecb86e6ada3adf94" + "64625a91f1e4eacd8a4a6e6559386418" ], [ "FStar.TSet.mem_complement", @@ -177,20 +158,18 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.TSet.complement", "equation_FStar.TSet.mem", - "equation_Prims.prop", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_9e15a4130d0b52bf93ac2f1305990254", + "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", + "interpretation_Tm_abs_8402846257d25eaf50dd86bcd1ba6a0b", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_9e15a4130d0b52bf93ac2f1305990254" + "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", + "typing_Tm_abs_8402846257d25eaf50dd86bcd1ba6a0b" ], 0, - "8d3e2626125157a24b75edd9e681c8c9" + "77b399ebf47c78df91a4108cd834f751" ], [ "FStar.TSet.subset_mem", @@ -199,7 +178,7 @@ 0, [ "@query", "equation_FStar.TSet.subset" ], 0, - "8bc1b1a63faab2db6c2dd247d8a6163e" + "900c3703ca268f0311d7d2d6efe72fbd" ], [ "FStar.TSet.mem_subset", @@ -208,7 +187,7 @@ 0, [ "@query", "equation_FStar.TSet.subset" ], 0, - "8055ca50d442941e9a7a4ed1e2cfdfcd" + "9e94a79e999f508cc9390c07d2a02a0e" ], [ "FStar.TSet.lemma_equal_intro", @@ -217,7 +196,7 @@ 0, [ "@query", "equation_FStar.TSet.equal", "equation_FStar.TSet.mem" ], 0, - "6d9c4edfda6ef27e427c750953b83bca" + "9811790db77cc03996d254f4d77f2b87" ], [ "FStar.TSet.lemma_equal_elim", @@ -230,10 +209,10 @@ "equation_FStar.FunctionalExtensionality.restricted_t", "equation_FStar.PredicateExtensionality.peq", "equation_FStar.TSet.equal", "equation_FStar.TSet.set", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4" + "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" ], 0, - "59b1b85599b76491adcbd271fb15aa3e" + "5387cda42abc72f5faf764b7ee426678" ], [ "FStar.TSet.lemma_equal_refl", @@ -242,7 +221,7 @@ 0, [ "@query", "lemma_FStar.TSet.lemma_equal_intro" ], 0, - "f2d1323d3d3bbbc46c60e2bde3906ccd" + "41904e072fba53fd2ed3b05637696805" ], [ "FStar.TSet.tset_of_set", @@ -250,15 +229,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", + "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2de962b1cab1c9e8f430b500fc9c78c9" + "302c69ded3e1b435d06b76f8d7d6fd24" ], [ "FStar.TSet.lemma_mem_tset_of_set_l", @@ -267,29 +244,25 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", + "b2t_def", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.TSet.mem", "equation_FStar.TSet.tset_of_set", - "equation_Prims.eqtype", "equation_Prims.prop", - "equation_Prims.squash", - "interpretation_Tm_abs_2ca00347c497af4d5fcb16c688d00b07", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "equation_Prims.eqtype", "equation_Prims.squash", + "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", + "interpretation_Tm_abs_da1b56902a9b4384d21190d8b5214127", "lemma_FStar.FunctionalExtensionality.feq_on_domain", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_a77d79782e60b55519df953e8dedd579", + "refinement_interpretation_Tm_refine_779bed3f07da9d8d731a2d37890ea955", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_FStar.TSet.mem", "typing_FStar.TSet.tset_of_set", - "typing_Tm_abs_2ca00347c497af4d5fcb16c688d00b07", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", "unit_typing" + "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", + "typing_Tm_abs_da1b56902a9b4384d21190d8b5214127" ], 0, - "e7e1880ba9e611d4421253a525713e11" + "c0dc15f4498d101db68d7cc02de1ca86" ], [ "FStar.TSet.lemma_mem_tset_of_set_r", @@ -298,29 +271,22 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", + "bool_inversion", "equation_FStar.FunctionalExtensionality.feq", "equation_FStar.TSet.mem", "equation_FStar.TSet.tset_of_set", - "equation_Prims.eqtype", "equation_Prims.prop", - "equation_Prims.subtype_of", - "interpretation_Tm_abs_2ca00347c497af4d5fcb16c688d00b07", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", + "equation_Prims.eqtype", + "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", + "interpretation_Tm_abs_da1b56902a9b4384d21190d8b5214127", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_817387a4c2331f5e0875a6eb15d7c6dd", - "typing_FStar.FunctionalExtensionality.on_domain", "typing_FStar.Set.mem", - "typing_Tm_abs_2ca00347c497af4d5fcb16c688d00b07", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", "unit_inversion", - "unit_typing" + "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", + "typing_Tm_abs_da1b56902a9b4384d21190d8b5214127" ], 0, - "0cb85576a4432c6c47b31d28d693f930" + "4e96f882c935132a649b3c1de3135be8" ], [ "FStar.TSet.lemma_mem_tset_of_set", @@ -329,7 +295,7 @@ 0, [ "@query" ], 0, - "55a87008c48616859fb53dfb8f7a4686" + "c78b79f8e66a2db926c6dc8f0966195a" ], [ "FStar.TSet.filter", @@ -337,16 +303,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_and", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d18f2c4faf1a7956289efd27547a071b" + "fe0dc9f2755f5d52963bae0c92924a01" ], [ "FStar.TSet.lemma_mem_filter", @@ -355,20 +318,18 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.TSet.filter", "equation_FStar.TSet.mem", - "equation_Prims.prop", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_813007228a1a7b9d6eb81d8899653a5e", + "interpretation_Tm_abs_125bc00f64c7879a7d7fb8c1e5fc228b", + "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_813007228a1a7b9d6eb81d8899653a5e" + "typing_Tm_abs_125bc00f64c7879a7d7fb8c1e5fc228b", + "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "7b218fd84c3d908b5cb441a356816b0f" + "f52e4d9b1076cb31925b7616fd480064" ], [ "FStar.TSet.exists_y_in_s", @@ -376,16 +337,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_Exists", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_Exists", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8844bd72790e194f58509b6a8c1334c4" + "675934486b7dfca3845b332afc4e5685" ], [ "FStar.TSet.lemma_mem_map", @@ -394,20 +352,19 @@ 0, [ "@MaxIFuel_assumption", "@query", - "FStar.TSet_interpretation_Tm_arrow_13d3b21cc66bcbfbc7099ee7ae4c5f87", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", + "FStar.TSet_interpretation_Tm_arrow_c7bb8768d71c4279f70719c41ae73494", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", "equation_FStar.TSet.exists_y_in_s", "equation_FStar.TSet.map", - "equation_FStar.TSet.mem", "equation_Prims.prop", + "equation_FStar.TSet.mem", "function_token_typing_FStar.TSet.exists_y_in_s", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", + "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "token_correspondence_FStar.TSet.exists_y_in_s", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07" + "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" ], 0, - "3d37f67b571c4118eb05f65866d22d70" + "9e101f3d8bbf9291328e87143174791c" ], [ "FStar.TSet.as_set'", @@ -421,7 +378,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "4aac728a53d2cd6cf2299628dbc1ea02" + "dabecb420ed4f04b0f687fbf2f4fc6c9" ], [ "FStar.TSet.exists_y_in_s", @@ -429,16 +386,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_Exists", "equation_Prims.squash", - "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_Exists", + "equation_Prims.squash", "equation_Prims.subtype_of", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "71a05d16752af7233b0ffd8c1929e312" + "cbdea43b5e3c837ce4413ad7f690ba3d" ], [ "FStar.TSet.as_set'", @@ -452,7 +406,7 @@ "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "7cc034a804130a1ad9d5efff3e96d019" + "b34ddd8f75285b5f179b693414d0d7a0" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.BV.fst.hints b/ulib/FStar.Tactics.BV.fst.hints index fd1a5d54951..a040a147ba3 100644 --- a/ulib/FStar.Tactics.BV.fst.hints +++ b/ulib/FStar.Tactics.BV.fst.hints @@ -14,7 +14,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8ee56e8d256f9bc3f68e542ebaeb7aa1" + "204d2ca52a96424294137ab22b574aea" ], [ "FStar.Tactics.BV.cong_bvand", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "88616983d524eda3d785e97435051142" + "88a2dcb73bab95b7afd3ab9c8c038fd9" ], [ "FStar.Tactics.BV.cong_bvand", @@ -36,10 +36,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f7243b658bb01e35e74e18effc80bc21" + "d32b0c67e30c2fa459b68f392a84c7b3" ], [ "FStar.Tactics.BV.cong_bvxor", @@ -54,7 +54,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "35f4fb3fcbdd810a16de578bda53dcff" + "43462683421523e1e2009fc2fa9893de" ], [ "FStar.Tactics.BV.cong_bvxor", @@ -66,7 +66,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "951c5fe2a5844e4adf85806b7e6800dd" + "42ae62400ab0ed9f24452fc1043d7752" ], [ "FStar.Tactics.BV.cong_bvxor", @@ -76,10 +76,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f2f0e28c74af746ee08d2227329902d6" + "8ea2c7777a364542ce0999f71edd86a0" ], [ "FStar.Tactics.BV.cong_bvor", @@ -94,7 +94,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cd0c95e142a68e7536a6c7583b509d66" + "401cff14cf227e463e9f61ccc0235180" ], [ "FStar.Tactics.BV.cong_bvor", @@ -106,7 +106,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "54a58bc81bf4a25c54cd9f8dfd8ffa43" + "c670ab1bf99ad09f959ea7c9ab72db59" ], [ "FStar.Tactics.BV.cong_bvor", @@ -116,10 +116,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5036ef72253293582a9930ec01de5b26" + "11aa1c058874a0e6bfc5177c7823e085" ], [ "FStar.Tactics.BV.cong_bvshl", @@ -140,7 +140,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4df5fd2be2d9d30e1bffc972530d54ff" + "1baef0c376305fbdf34c43c545471545" ], [ "FStar.Tactics.BV.cong_bvshl", @@ -152,7 +152,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "31f0d6bbf44bf73fa2ba8adfc6ea7736" + "1964f879202036072cf74a4200cd5a23" ], [ "FStar.Tactics.BV.cong_bvshl", @@ -162,10 +162,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "be13581774269e9f2ad3c944302b3202" + "7a74298a7d7ba3dcbbee3560a3b9f0e8" ], [ "FStar.Tactics.BV.cong_bvshr", @@ -186,7 +186,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6c170d21c412b7efffc00820c4ebab62" + "2571705d91993893b9928f8b2915ad6a" ], [ "FStar.Tactics.BV.cong_bvshr", @@ -198,7 +198,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "77377b596b4bf73737d3eea707620507" + "dd616a0608fa2d0e31711023d1063dfb" ], [ "FStar.Tactics.BV.cong_bvshr", @@ -208,10 +208,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "99256b48800238e55bf64295d9ab452e" + "2725872fc7249e7689ce67dc1bf814e8" ], [ "FStar.Tactics.BV.cong_bvdiv", @@ -226,7 +226,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "601d8e53eb425ecedc95bf231aade58a" + "9943e70e513b54902883a379bab1fda6" ], [ "FStar.Tactics.BV.cong_bvdiv", @@ -238,7 +238,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2bee0ae48a0fd4b48edce1631ee9749a" + "9baeb1daf0990ff546fdf3d3e5e9f660" ], [ "FStar.Tactics.BV.cong_bvdiv", @@ -248,10 +248,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "1320559bf942201474fb6b95fc573e29" + "00eb2ba239e82892d7515ef3f2c0cc28" ], [ "FStar.Tactics.BV.cong_bvmod", @@ -266,7 +266,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8f2cea76b2686562c25e90337ba396af" + "34553c9b62998aab7ba96eaadb01a163" ], [ "FStar.Tactics.BV.cong_bvmod", @@ -278,7 +278,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f828d3bd7b6b97a0aa333eb07a7a10ba" + "33c37dc1e086740f9d8b8a2c65b179a2" ], [ "FStar.Tactics.BV.cong_bvmod", @@ -288,10 +288,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6ee45f10a7da8be249c9f4a8ae2f8440" + "1ae974afb61d3848b4b625caa2e3b394" ], [ "FStar.Tactics.BV.cong_bvmul", @@ -306,7 +306,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c4f2e48a497cb9bbe997ada72cbabccb" + "4642f3d8a0db93c0202503445bdb05b3" ], [ "FStar.Tactics.BV.cong_bvmul", @@ -318,7 +318,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ae745d725e53d23e1f535db76324b084" + "e81ba5793f9da4227c5dccc2dde46ba3" ], [ "FStar.Tactics.BV.cong_bvmul", @@ -328,10 +328,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c920439bdb328abce049e200ed6cb1ff" + "413ca87c9f9091c4071e719713bc6c78" ], [ "FStar.Tactics.BV.cong_bvadd", @@ -346,7 +346,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "27a9f898b888410a1a1022f81e5d66b4" + "3fb1606fd50cc2ba4b390a91e5473563" ], [ "FStar.Tactics.BV.cong_bvadd", @@ -358,7 +358,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d998707d1622e244104886ec6d2d41bf" + "e7ae11c0326be930a2bae94eabc81308" ], [ "FStar.Tactics.BV.cong_bvadd", @@ -368,10 +368,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b2116dabb99f09ad201211e1d42d91a9" + "a7b71d4bd21b09e151bb7f5e8393ceb9" ], [ "FStar.Tactics.BV.cong_bvsub", @@ -386,7 +386,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3717075a01e7f7833e0c840e060aacaa" + "cf809132506fba9133067a0210a706b8" ], [ "FStar.Tactics.BV.cong_bvsub", @@ -398,7 +398,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c96bb8180a2241d824c2b106e3279c14" + "66ddceca589b7d914f0f10bb9dad87fa" ], [ "FStar.Tactics.BV.cong_bvsub", @@ -408,10 +408,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "518f1963eb270a2f3fc2f67b526ab40c" + "61dffcea76341bf4cf373aea9e185afe" ], [ "FStar.Tactics.BV.eq_to_bv", @@ -426,7 +426,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8b88dc57b94956bb91d436fe1f197c4a" + "fb7e5e2a19012708d8b542ca71ec1a3e" ], [ "FStar.Tactics.BV.eq_to_bv", @@ -438,7 +438,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "75dbefd1969c59271cb5948d41cbecb5" + "661316d62ca16f02cc03a38feceed1e7" ], [ "FStar.Tactics.BV.eq_to_bv", @@ -448,10 +448,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e9ffc6c8166bd470700d3e644ec3bee9" + "5588cc72ce5a316af40b75db38cdbbda" ], [ "FStar.Tactics.BV.lt_to_bv", @@ -463,7 +463,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "65c8d24036b82538bcfb308aa0a23b0f" + "bbbf03141efad1129acdad091ff37ee5" ], [ "FStar.Tactics.BV.lt_to_bv", @@ -475,7 +475,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "32c405cb784764bd52b61cd1e4e775a8" + "a8407d02f49db7681b7b89692b319c54" ], [ "FStar.Tactics.BV.lt_to_bv", @@ -484,7 +484,7 @@ 1, [ "@query", "b2t_def" ], 0, - "c631e2ecd4a3c3aee19f502a8d4c8525" + "9066a39c07048a62a693946f3c386f00" ], [ "FStar.Tactics.BV.trans", @@ -499,7 +499,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "79830eae0a962006be9d0aaf6d7adbb1" + "c7320262864ce143332189a07121a75a" ], [ "FStar.Tactics.BV.trans", @@ -511,7 +511,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8c8491c3f8473cdf040761d75822eb2b" + "e2ed6f85c764a78a935fdb8ee1316c74" ], [ "FStar.Tactics.BV.trans", @@ -521,10 +521,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "ad7ab3b427ce18aea6cb5df006cbcf81" + "fd2a285277497ca286e0c7f8e8091353" ], [ "FStar.Tactics.BV.trans_lt", @@ -536,7 +536,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "20dc53e02d19adf39833d95f7d8ca5d4" + "3312dc9d8d940be6444982c2557ed51a" ], [ "FStar.Tactics.BV.trans_lt", @@ -548,7 +548,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "abfa5263a56f4bf36b2f72bdac262b63" + "b580d99ef0364a35cc3b33a26b51b8a9" ], [ "FStar.Tactics.BV.trans_lt", @@ -557,11 +557,11 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "da4db7fea39f73c7b9d74635655bf7b9" + "4af701187020c83f34f6eb2843badeb8" ], [ "FStar.Tactics.BV.trans_lt2", @@ -573,7 +573,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6bed00a81c26f7bed03c522dc55d3a9f" + "51b3f38c62614e40dac94c186817d324" ], [ "FStar.Tactics.BV.trans_lt2", @@ -585,7 +585,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2cae25fe8368314afc0c0026c8e7b298" + "6ae643a9e9b5999fe4fc96c45ab4ea42" ], [ "FStar.Tactics.BV.trans_lt2", @@ -595,10 +595,10 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "32f2737b829adbc1cbe97bfa3a24efab" + "1533fd27ae90124213d1a8727879b178" ], [ "FStar.Tactics.BV.arith_to_bv_tac", @@ -617,7 +617,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "07bef50c1b3fbee2bb8fd772d5b9c51f" + "849c3cccd7470cc859a22b9d8f97203a" ], [ "FStar.Tactics.BV.cong_bvand", @@ -625,14 +625,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0ea6e082c11a55bdaf011da9cd36e0b0" + "83b159f7899f4f2aecc19b3106efc07a" ], [ "FStar.Tactics.BV.cong_bvxor", @@ -640,14 +637,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4c695e802dcef3de25bb22a3c4d3370f" + "ad18d7b6694d8ce4ec7f63c3e66fadf8" ], [ "FStar.Tactics.BV.cong_bvor", @@ -655,14 +649,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "10e489d93de80cc93429abfe3bd12c00" + "09694ff70077f8e3db49f82b14fae324" ], [ "FStar.Tactics.BV.cong_bvshl", @@ -670,20 +661,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "4b2607ae9fc47d45074fe26a98f6ee15" + "3dbf035059b891de067eb4cc3465cfff" ], [ "FStar.Tactics.BV.cong_bvshr", @@ -691,20 +679,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "8f74cf016229e985109f83beda7b6749" + "014367430fd8368c93e4c386a92d0d58" ], [ "FStar.Tactics.BV.cong_bvdiv", @@ -712,14 +697,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "aea132ca73f1dab2291c707c582f877d" + "d685cc289ebad3b92b5544e0220ba0e5" ], [ "FStar.Tactics.BV.cong_bvmod", @@ -727,14 +709,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ba7abfffa7117206ce7fce91eeb96660" + "aa32a4913b75b6e683768719728989b7" ], [ "FStar.Tactics.BV.cong_bvmul", @@ -742,14 +721,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "04c3bca576ebd6c3115150ee1df80c53" + "d3fae3d45cc75dc2317a6b7badf8cba2" ], [ "FStar.Tactics.BV.cong_bvadd", @@ -757,14 +733,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "afee4dc47bb3d19114eb11a6ae1ba332" + "4a6eea361fdeb9ed56ca2a2e78600e3d" ], [ "FStar.Tactics.BV.cong_bvsub", @@ -772,14 +745,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c154743bb0d9f9d7350beb6f13391b80" + "4069c609833afdce2e58a36b3e055339" ], [ "FStar.Tactics.BV.eq_to_bv", @@ -787,14 +757,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5ca1b9534f9b378a2912938b55ca721d" + "c24e29fb658c5de7718552527e8a4db1" ], [ "FStar.Tactics.BV.lt_to_bv", @@ -803,10 +770,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7f13a556c0ac84bc1d9f4399565fbd04" + "7d05fefd5b5f8a651e7abbcb762844c6" ], [ "FStar.Tactics.BV.trans", @@ -814,14 +781,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b3e0f82e5f9f7942b8d1995e0191a970" + "11d5e608fc01cb908a64fe0f0dc261c3" ], [ "FStar.Tactics.BV.trans_lt", @@ -830,10 +794,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4ce3210865ee31cfd884ccebffd99bad" + "e9e53f22eeafa2bc1e0fd21f063a9395" ], [ "FStar.Tactics.BV.trans_lt2", @@ -842,10 +806,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4f4616781273e572629bf10b4b13dfd0" + "11172ab5c919ea00f9cee5fdbde4486b" ], [ "FStar.Tactics.BV.arith_to_bv_tac", @@ -864,7 +828,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "21a17fc49190e4a190ab754dae5e6647" + "84adc36437ab861ecf1939b8eacd8311" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.Builtins.fst b/ulib/FStar.Tactics.Builtins.fst index 87ac9df6f33..b270fa2694e 100644 --- a/ulib/FStar.Tactics.Builtins.fst +++ b/ulib/FStar.Tactics.Builtins.fst @@ -162,7 +162,7 @@ if it's not solved later. You probably want [apply] from FStar.Tactics.Derived. *) -assume val t_apply : bool -> term -> Tac unit +assume val t_apply : bool -> bool -> term -> Tac unit (** [apply_lemma l] will solve a goal of type [squash phi] when [l] is a Lemma ensuring [phi]. The arguments to [l] and its requires clause are introduced as new goals. @@ -263,7 +263,7 @@ assume val unify_env : env -> term -> term -> Tac bool [input] and returns the output. For security reasons, this can only be performed when the `--unsafe_tactic_exec` options was provided for the current F* invocation. The tactic will fail if this is not so. *) -assume val launch_process : string -> string -> string -> Tac string +assume val launch_process : string -> list string -> string -> Tac string (** Get a fresh bv of some name and type. The name is only useful for pretty-printing, since there is a fresh unaccessible integer within diff --git a/ulib/FStar.Tactics.Builtins.fst.hints b/ulib/FStar.Tactics.Builtins.fst.hints index eee43e57088..db31bc35ce9 100644 --- a/ulib/FStar.Tactics.Builtins.fst.hints +++ b/ulib/FStar.Tactics.Builtins.fst.hints @@ -1 +1 @@ -[ "âœd‘Gwh«\u001e¯~y\u0017XWó", [] ] \ No newline at end of file +[ "”µÁág}!\u0016S\u0005zòŠ\u0012ØN", [] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.Canon.fst.hints b/ulib/FStar.Tactics.Canon.fst.hints index 492630bbbf1..a48b958b7aa 100644 --- a/ulib/FStar.Tactics.Canon.fst.hints +++ b/ulib/FStar.Tactics.Canon.fst.hints @@ -11,7 +11,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "3488fdae4228fa0038848cf21b5f0b2e" + "7c994f9011f6ac60e73432caac789343" ], [ "FStar.Tactics.Canon.distl", @@ -23,7 +23,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "405397ffde14328fdcbcb3330f668954" + "8aa175860f2d2bfb93b16c91a39db9fe" ], [ "FStar.Tactics.Canon.ass_plus_l", @@ -35,7 +35,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9720b80a3bbf5fa0ea5b7516cbc22d0a" + "dee9f29a007db511bc70393b05a3c54d" ], [ "FStar.Tactics.Canon.ass_mult_l", @@ -47,7 +47,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "00a0241cf5c469c760e96c6fbfc25081" + "6bc2c2da880009fe4dad364ac392c31b" ], [ "FStar.Tactics.Canon.comm_plus", @@ -56,7 +56,7 @@ 1, [ "@query", "primitive_Prims.op_Addition" ], 0, - "e24bbf77e10bc75fe348836888b9cbaa" + "3bc5a9172265fc20fb619359efa2e1d0" ], [ "FStar.Tactics.Canon.sw_plus", @@ -68,7 +68,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "0c0357792a36fca99cfc3d6d75d28fa1" + "f08105d4ba96c4b467a20a894d2104d9" ], [ "FStar.Tactics.Canon.sw_mult", @@ -80,7 +80,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "73646426fc262b233c78b7d042a28bc4" + "4892d158a702a12c634109ad10a9e2ca" ], [ "FStar.Tactics.Canon.comm_mult", @@ -89,7 +89,7 @@ 1, [ "@query", "primitive_Prims.op_Multiply" ], 0, - "dc75d99d21bfcbcf6170875f95ef0ed6" + "b730a72b5167a402278a3972e3d1f9a2" ], [ "FStar.Tactics.Canon.trans", @@ -99,10 +99,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "dcac00ad5e3fc1f262a29c43a97aa3af" + "2d4a151d4beba5dabe23a2432e50f62b" ], [ "FStar.Tactics.Canon.cong_plus", @@ -112,10 +112,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "18cf30093b698538f7a52f5f537df603" + "5ba7c689383bcf28a5f9f1be13884527" ], [ "FStar.Tactics.Canon.cong_mult", @@ -125,10 +125,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e8828ffa140b9443d79a71937f60e4d1" + "a07bc1dce0e7c9470ce4a0cf81d06c84" ], [ "FStar.Tactics.Canon.neg_minus_one", @@ -140,7 +140,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "ea0e59d711b2f6ff3c38f16e368d2622" + "14f2c1fe75c7dc45483d585a8fcb400a" ], [ "FStar.Tactics.Canon.x_plus_zero", @@ -152,7 +152,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "381cbf045d75cf50b18dc30ba2e68ff1" + "b11f35cac62c6b07c70b99aecc3e44e7" ], [ "FStar.Tactics.Canon.zero_plus_x", @@ -164,7 +164,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "4a7ff7ba3d66489ad3ebc79bad35518a" + "47d3d6941812d589bb95ac616415da31" ], [ "FStar.Tactics.Canon.x_mult_zero", @@ -176,7 +176,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d739653d3f78c8266f4205faa1a5b293" + "c87ad84741eb72826c8125d114fd2c7f" ], [ "FStar.Tactics.Canon.zero_mult_x", @@ -188,7 +188,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1861e70661145b7e5fdadec51c775909" + "3811cf286fa9a7c7a220ae1b0840d181" ], [ "FStar.Tactics.Canon.x_mult_one", @@ -200,7 +200,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "7c5dd109e949f68d78c825467c1653c9" + "681b557d9a07e6b4bcc4c75ee47a101b" ], [ "FStar.Tactics.Canon.one_mult_x", @@ -212,7 +212,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "15ce2719539ae798ef5a1b38e812a1d8" + "f2473830530d339e316011a0b8d5c449" ], [ "FStar.Tactics.Canon.minus_is_plus", @@ -224,7 +224,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "83e6e8cf2baeb8cf9547d4e2f26b94af" + "82cab788d6798f72f95e894beabc37ab" ], [ "FStar.Tactics.Canon.canon_point_entry", @@ -243,7 +243,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "94a34d98ef7bee8333c39f5be6dcd1b6" + "e4c569c03f0f914433b6894c965b40fc" ], [ "FStar.Tactics.Canon.canon_point_entry", @@ -262,7 +262,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "161628cce4c74183f05e55b6489875fa" + "8ceaf49d4d62d31158397dc5b371514e" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.CanonCommMonoid.fst.hints b/ulib/FStar.Tactics.CanonCommMonoid.fst.hints index 7c6983f2c29..33c4f5472a3 100644 --- a/ulib/FStar.Tactics.CanonCommMonoid.fst.hints +++ b/ulib/FStar.Tactics.CanonCommMonoid.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bd12b307721dcd45245c3d649d785ae4" + "d4e47b9d2e6d3c5166ef8f1134cf27d7" ], [ "FStar.Tactics.CanonCommMonoid.exp", @@ -25,11 +25,11 @@ "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "657faf09dfdc3beb52183a677cadfcfa" + "3f63a10f2dae5ff25d7fd2d54e852d07" ], [ "FStar.Tactics.CanonCommMonoid.__proj__Var__item___0", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_4a6a28f8ee0308139802aa0c22c74203" ], 0, - "0edaf231099c6638ce6b7d7e4b1f7468" + "1bfb1e4e3a33211f7cb723ecbe275a42" ], [ "FStar.Tactics.CanonCommMonoid.__proj__Mult__item___0", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_a64e73c7d706e3f2db7a9517f9fe5a35" ], 0, - "7bc7459d9a26fd629d8bf9925a421114" + "2319021c1cd52a5c10e7acf87f1f71a6" ], [ "FStar.Tactics.CanonCommMonoid.__proj__Mult__item___1", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_a64e73c7d706e3f2db7a9517f9fe5a35" ], 0, - "5a13abcfe0140290bdfee414da95a919" + "b619e4c5fea996f98af8df63d48d8cb0" ], [ "FStar.Tactics.CanonCommMonoid.exp_to_string", @@ -91,7 +91,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" ], 0, - "8c85d72fc93766f996937de6cea2840d" + "345d3393907ba251855ae6304758dfb2" ], [ "FStar.Tactics.CanonCommMonoid.mdenote", @@ -117,7 +117,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" ], 0, - "fd85d67aa898ec030df59621b4b4a032" + "7634ae53a720ceb2a2262084caac4c72" ], [ "FStar.Tactics.CanonCommMonoid.xsdenote", @@ -139,7 +139,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "3db544d03914e3a1a66add9fea1aa4c9" + "23618afe2f069673a8b965cd56e1be12" ], [ "FStar.Tactics.CanonCommMonoid.flatten", @@ -159,7 +159,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" ], 0, - "bef5e98d9d541f2c520bbbac7e0dc339" + "28fb24ac34b06d463cf26fa5ee68d2f6" ], [ "FStar.Tactics.CanonCommMonoid.flatten_correct_aux", @@ -201,7 +201,7 @@ "unit_typing" ], 0, - "70930e16049adc5e6d8ad3da29df57a0" + "b04363670a97783bb1e62f7a55bd255f" ], [ "FStar.Tactics.CanonCommMonoid.flatten_correct", @@ -252,7 +252,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" ], 0, - "530696748878fd97a6c37908a82edcf4" + "0f2dd0faaf0f1382d5cd46595eddd8a3" ], [ "FStar.Tactics.CanonCommMonoid.apply_swap_aux_correct", @@ -262,16 +262,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "primitive_Prims.op_Addition", + "@query", "equation_FStar.Tactics.CanonCommMonoid.var", + "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "8b81447fa78f9d4f2b116f11e5152172" + "e6d74862f8dbd419801b821da877138d" ], [ "FStar.Tactics.CanonCommMonoid.apply_swap_aux_correct", @@ -286,12 +285,11 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Tactics.CanonCommMonoid.xsdenote.fuel_instrumented", "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_29bc033fbf136376eadf5c2199fe83d8_5", + "@query", "binder_x_29bc033fbf136376eadf5c2199fe83d8_5", "binder_x_7fb6ae19e9b1b741707833e90403f711_7", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", + "binder_x_c8be4e8c7b532e417274dc372f3968e3_8", "binder_x_d8292bf5ecf6c31418bffe464c172c91_6", - "binder_x_e22ba7a032a73f6d0678d3d186686631_4", - "binder_x_e3b04cea7893e989bc95f067267b3847_8", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -309,8 +307,8 @@ "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", @@ -319,20 +317,20 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_090a06f8cdcdd6c3a2b22a117754681d", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "typing_FStar.Tactics.CanonCommMonoid.var", "typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", "typing_Prims.__proj__Cons__item__tl", "unit_inversion", "unit_typing" ], 0, - "0b4c4fe321dc7b639ba71d508a275a1c" + "63db900833bd43fdf0b0cfbf3143e1e7" ], [ "FStar.Tactics.CanonCommMonoid.apply_swap_correct", @@ -355,7 +353,7 @@ "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap" ], 0, - "d3595fa0c28ed90e6cd78c1a2779506e" + "c4b95f6ba9f08a70941bf58621869b39" ], [ "FStar.Tactics.CanonCommMonoid.apply_swaps_correct", @@ -385,7 +383,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "5ff9ce605a2b619a3aa013915c88625e" + "97564a2a534ab30c347cc47c127cb86a" ], [ "FStar.Tactics.CanonCommMonoid.permute_via_swaps_correct_aux", @@ -394,11 +392,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_437a27b8635e43398027ca51142fa1aa" + "l_quant_interp_f992ab1e7218c6903109f9f715ac19af", + "refinement_interpretation_Tm_refine_c73dac595ffdc32f3d3e4c97ac54d8b3" ], 0, - "3ff5baa3c62771e1daf07717780c228f" + "908a69ad191c267108a683240f090b25" ], [ "FStar.Tactics.CanonCommMonoid.sort_via_swaps", @@ -419,7 +417,7 @@ "typing_FStar.Tactics.CanonCommMonoid.var", "unit_typing" ], 0, - "13daba8a7eab679763e1116da17c7ba6" + "f337188f74bc85c8a90243969b2bd307" ], [ "FStar.Tactics.CanonCommMonoid.sortWith_via_swaps", @@ -435,14 +433,15 @@ "equation_FStar.Tactics.CanonCommSwaps.equal_counts", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_3bd243d6eb48bd6e398d861c0faa94c3", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "token_correspondence_FStar.List.Tot.Base.sortWith", - "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith", - "typing_FStar.Tactics.CanonCommMonoid.var" + "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "ad0ec86e410a678975c0986b1fce9fae" + "0420b985a718406507b39ab0eca790be" ], [ "FStar.Tactics.CanonCommMonoid.canon_correct", @@ -451,7 +450,7 @@ 1, [ "@query", "equation_FStar.Tactics.CanonCommMonoid.canon" ], 0, - "36021bd3fa5d9ed69d2fb3c0feabe7c9" + "8f51af440dbcbea7ac9fd8d04839d4ba" ], [ "FStar.Tactics.CanonCommMonoid.monoid_reflect", @@ -461,10 +460,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "21dc8b1aaab634c82ea37365bcc461e6" + "6ed3e62f25573487267504ed5e9aec2f" ], [ "FStar.Tactics.CanonCommMonoid.where_aux", @@ -473,17 +472,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_54b8d13345a0876202ad05586d3a7a11_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "9c332ad00dc93e94c9c624357257b4a9" + "6c60c874275f0279cc8ed6947d248881" ], [ "FStar.Tactics.CanonCommMonoid.reification_aux", @@ -502,7 +501,7 @@ "typing_FStar.Tactics.CanonCommMonoid.where" ], 0, - "db500924fff60d7fb3bce68a290620a4" + "fbac576b801c25ddaf3abd70a8ed6e39" ], [ "FStar.Tactics.CanonCommMonoid.term_mem", @@ -511,13 +510,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_54b8d13345a0876202ad05586d3a7a11_1", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "536bf6c3ea07de320f38007b11829d25" + "b3eb8d4eccea327f6e61c512e63b9188" ], [ "FStar.Tactics.CanonCommMonoid.quote_list", @@ -529,7 +528,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "3398392345e2a16bcd4112ea3809e28d" + "2ff1cdbf6be5c9937289546510903c56" ], [ "FStar.Tactics.CanonCommMonoid.quote_exp", @@ -544,7 +543,7 @@ "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoid.exp" ], 0, - "32c811aac551ee57a44f674b66681597" + "b374ee8e9a4b6f7da4571ac6daff5d6a" ], [ "FStar.Tactics.CanonCommMonoid.const_compare", @@ -568,7 +567,25 @@ "typing_FStar.Tactics.CanonCommMonoid.select_extra" ], 0, - "0b941dc516c3806d27f8957e30c7558c" + "551ad7f331ee3300db4163097a9b05b2" + ], + [ + "FStar.Tactics.CanonCommMonoid.canon_monoid_const", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_FStar.Tactics.CanonCommMonoid.const_last", + "equation_FStar.Tactics.CanonCommMonoid.sortWith", + "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", + "function_token_typing_FStar.List.Tot.Base.sortWith", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", + "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" + ], + 0, + "a1adee805284100f3186f4dc46075921" ], [ "FStar.Tactics.CanonCommMonoid.lem1", @@ -579,14 +596,14 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Tactics.CanonCommMonoid.const_last", "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_3bd243d6eb48bd6e398d861c0faa94c3", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "ced4bab3d9778279170e4c7267494206" + "57136a1526eaefe7c2c6fee08aa1777b" ], [ "FStar.Tactics.CanonCommMonoid.lem1", @@ -597,15 +614,15 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Tactics.CanonCommMonoid.const_last", "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_3bd243d6eb48bd6e398d861c0faa94c3", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith", "true_interp" ], 0, - "db0728e4e9d18ed6e4f0921925dd68ce" + "15fe05987493f4c5e331a811a201b78d" ], [ "FStar.Tactics.CanonCommMonoid.lem1", @@ -616,14 +633,14 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Tactics.CanonCommMonoid.const_last", "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_3bd243d6eb48bd6e398d861c0faa94c3", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "18b15b3f23f4dc39cf4fe203fa6e276b" + "70430e31ae1b674cdbe9a47b87733f53" ], [ "FStar.Tactics.CanonCommMonoid.special_compare", @@ -647,7 +664,7 @@ "typing_FStar.Tactics.CanonCommMonoid.select_extra" ], 0, - "cc6679a097df95dd9574c652365f206b" + "f0a8237b95b9e999bfb6c7ebfe948795" ], [ "FStar.Tactics.CanonCommMonoid.special_first_correct", @@ -658,14 +675,14 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Tactics.CanonCommMonoid.sortWith", "equation_FStar.Tactics.CanonCommMonoid.special_first", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_3bd243d6eb48bd6e398d861c0faa94c3", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "9baaafd1ca6a051b95c3800da3783113" + "ba99bcdd0570326c43dde26cef79ff8d" ], [ "FStar.Tactics.CanonCommMonoid.dump", @@ -682,7 +699,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9fcdf75d0bd67208bb4898f0c8172e8b" + "c6f8d3cdcb16fb8a5312536ce4dc21cf" ], [ "FStar.Tactics.CanonCommMonoid.var", @@ -692,11 +709,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "11c00a1629bf10d2b79410647df5a23e" + "3455582e2ffe279323ae1a5f65e99c55" ], [ "FStar.Tactics.CanonCommMonoid.exp", @@ -708,11 +725,11 @@ "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2ab45478bc6aaeb29797d8cf75a45544" + "3c9d2756843cbbfff954efedbfef466e" ], [ "FStar.Tactics.CanonCommMonoid.__proj__Var__item___0", @@ -726,7 +743,7 @@ "refinement_interpretation_Tm_refine_4a6a28f8ee0308139802aa0c22c74203" ], 0, - "af52e909ee32eb0e36d2a08955dce717" + "c7d39ac09df690e3bd07d5a6649fa2e6" ], [ "FStar.Tactics.CanonCommMonoid.__proj__Mult__item___0", @@ -740,7 +757,7 @@ "refinement_interpretation_Tm_refine_a64e73c7d706e3f2db7a9517f9fe5a35" ], 0, - "3dc0a8d0666c254b5f569a44cabc7512" + "9eb101b4f888c035cfcf7071b7266a4f" ], [ "FStar.Tactics.CanonCommMonoid.__proj__Mult__item___1", @@ -754,7 +771,7 @@ "refinement_interpretation_Tm_refine_a64e73c7d706e3f2db7a9517f9fe5a35" ], 0, - "af48a3f011ee3a16cf8a8f1600a9b091" + "c5cb8a3dd5ebfc8f5eed10534a127829" ], [ "FStar.Tactics.CanonCommMonoid.exp_to_string", @@ -774,7 +791,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" ], 0, - "aa104b9c1b3211f7e4d6599745ad09f4" + "371d6cb65a5a9a2bb0fc309dd626f2a0" ], [ "FStar.Tactics.CanonCommMonoid.mdenote", @@ -800,7 +817,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" ], 0, - "397cae61c11ed434ef89e9d848e965de" + "c890adfada04a697419541053dcbcb00" ], [ "FStar.Tactics.CanonCommMonoid.xsdenote", @@ -822,7 +839,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "c8b3b5ce5d8031a27e7eefc544ce7071" + "6bf7a895e089c5c30dc87887b8a0474a" ], [ "FStar.Tactics.CanonCommMonoid.flatten", @@ -842,7 +859,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" ], 0, - "61a7fdf37fe12d9b3e92ccbaf605c2f8" + "84462a3bc598b8209b90d0f94a21caf0" ], [ "FStar.Tactics.CanonCommMonoid.apply_swap_aux_correct", @@ -852,16 +869,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "primitive_Prims.op_Addition", + "@query", "equation_FStar.Tactics.CanonCommMonoid.var", + "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "32fc5bc50f12a1c94b5e3fd5020831ca" + "ebddb3c669425f235c239925835efddf" ], [ "FStar.Tactics.CanonCommMonoid.apply_swap_correct", @@ -873,7 +889,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "a2a778c1af37ba7193d18634ac6e12ff" + "52d9abf61e9c29b2ce456f777c07fb5c" ], [ "FStar.Tactics.CanonCommMonoid.monoid_reflect", @@ -883,10 +899,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fa15750119da4d492d4d023810531263" + "b1f667fdfba0a0482d6c579b4d35e30c" ], [ "FStar.Tactics.CanonCommMonoid.where_aux", @@ -895,17 +911,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_54b8d13345a0876202ad05586d3a7a11_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "dffafd649c8a93e9f8cccc5c23dae20f" + "8ce63563568552b8e5e3031867395f81" ], [ "FStar.Tactics.CanonCommMonoid.reification_aux", @@ -917,14 +933,14 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Tactics.CanonCommMonoid.where", "equation_Prims.nat", - "function_token_typing_Prims.nat", "lemma_FStar.Pervasives.invertOption", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Tactics.CanonCommMonoid.where" ], 0, - "629d94085e86908de740afc89ca5d0dd" + "4c73f015e664f320ff41b89fc4543e62" ], [ "FStar.Tactics.CanonCommMonoid.term_mem", @@ -933,13 +949,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_54b8d13345a0876202ad05586d3a7a11_1", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_1", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, - "611675f563fb5f8b7ce20d9d735226cd" + "38d333089042347cd8666a2ab6abb7cd" ], [ "FStar.Tactics.CanonCommMonoid.quote_list", @@ -951,7 +967,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "ec12ee9ddab029f4ff93ffd8c99de865" + "15c54658211972eead5cb730f5deb4ff" ], [ "FStar.Tactics.CanonCommMonoid.quote_exp", @@ -966,7 +982,7 @@ "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoid.exp" ], 0, - "0298dc3504723dfbbe18acf576055932" + "d0549e026e1bc086bffbd67cea97a44e" ], [ "FStar.Tactics.CanonCommMonoid.const_compare", @@ -986,11 +1002,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Tactics.CanonCommMonoid.select_extra" ], 0, - "9a47f661d3e43eab039985d887f3cff7" + "407e075bb07187bcc215cf03c48360ff" ], [ "FStar.Tactics.CanonCommMonoid.lem1", @@ -1001,14 +1017,14 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Tactics.CanonCommMonoid.const_last", "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_3bd243d6eb48bd6e398d861c0faa94c3", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "a8499c50954983bbff6316cc402704e8" + "5580f54d3dad5b7f1368b116f9116caf" ], [ "FStar.Tactics.CanonCommMonoid.lem1", @@ -1019,15 +1035,15 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Tactics.CanonCommMonoid.const_last", "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_3bd243d6eb48bd6e398d861c0faa94c3", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith", "true_interp" ], 0, - "015fdf6842b58277acb2fb16719de672" + "970145f0471815d24556e395ba9a9ded" ], [ "FStar.Tactics.CanonCommMonoid.lem1", @@ -1038,14 +1054,14 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Tactics.CanonCommMonoid.const_last", "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_3bd243d6eb48bd6e398d861c0faa94c3", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "8d3461c4f69857ee2e97773d985c15a3" + "89f788a9d097efe9e5cb2eb948726026" ], [ "FStar.Tactics.CanonCommMonoid.special_compare", @@ -1065,11 +1081,29 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Tactics.CanonCommMonoid.select_extra" ], 0, - "ffd2c65eeca3bec99dba0ed54a091458" + "b1d0797ccdf7c056bfd3556237cca4ab" + ], + [ + "FStar.Tactics.CanonCommMonoid.special_first_correct", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_FStar.Tactics.CanonCommMonoid.sortWith", + "equation_FStar.Tactics.CanonCommMonoid.special_first", + "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", + "function_token_typing_FStar.List.Tot.Base.sortWith", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", + "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" + ], + 0, + "1f6cccbe0517443e9222e02a871b085e" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.CanonCommMonoidSimple.fst.hints b/ulib/FStar.Tactics.CanonCommMonoidSimple.fst.hints index cd86bdddc37..237993cc7ac 100644 --- a/ulib/FStar.Tactics.CanonCommMonoidSimple.fst.hints +++ b/ulib/FStar.Tactics.CanonCommMonoidSimple.fst.hints @@ -9,11 +9,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "52f220170a6829b918f14d30634498d7" + "0d272958e8c3025f83f6e4761836a258" ], [ "FStar.Tactics.CanonCommMonoidSimple.exp", @@ -25,11 +25,11 @@ "equation_FStar.Tactics.CanonCommMonoidSimple.atom", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c788780a45c99fe1c5223591a44567e0" + "f3ca0da97767cd79ff5893966c34555c" ], [ "FStar.Tactics.CanonCommMonoidSimple.__proj__Mult__item___0", @@ -43,7 +43,7 @@ "refinement_interpretation_Tm_refine_fb9c73b1353c9abcd486a708578ce468" ], 0, - "201e4d5125b3f7a0cc8da2ac57d2da24" + "c6cec8517b2c0ec45183e2d368c4815f" ], [ "FStar.Tactics.CanonCommMonoidSimple.__proj__Mult__item___1", @@ -57,7 +57,7 @@ "refinement_interpretation_Tm_refine_fb9c73b1353c9abcd486a708578ce468" ], 0, - "598c922d1a2451bdd90c16aa226bbf78" + "8d5656fde7a37eac7370a1c111455219" ], [ "FStar.Tactics.CanonCommMonoidSimple.__proj__Atom__item___0", @@ -71,7 +71,7 @@ "refinement_interpretation_Tm_refine_6a7b0887633599a01c59f41173adade6" ], 0, - "f21494b0b581a597e5b76b506b6078d8" + "b3159b1c89f46b1d8e3c915265a0117c" ], [ "FStar.Tactics.CanonCommMonoidSimple.exp_to_string", @@ -91,7 +91,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok" ], 0, - "75bd03e36fdbd3da933460bdedfbc560" + "6b9603b2524eb2626c0c8825903c2017" ], [ "FStar.Tactics.CanonCommMonoidSimple.mdenote", @@ -117,7 +117,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok" ], 0, - "1dcff758064ec9d9a061fa58e86656b2" + "4014e1267ed70caecbcf588451683a8a" ], [ "FStar.Tactics.CanonCommMonoidSimple.xsdenote", @@ -140,7 +140,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "21c7d9b809069be3c0cc6aa6a709fae6" + "6f12587cc4a58b5dfe5b780d6b8539a2" ], [ "FStar.Tactics.CanonCommMonoidSimple.flatten", @@ -160,7 +160,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok" ], 0, - "94bd55aa3288d8400db75afa61368e98" + "ce424511d797c3129d887588b01537ba" ], [ "FStar.Tactics.CanonCommMonoidSimple.flatten_correct_aux", @@ -201,7 +201,7 @@ "unit_typing" ], 0, - "1f0f04a75dfbaad2f70cd45f629224af" + "244ca66ebe08e5c661d5c58d3627adba" ], [ "FStar.Tactics.CanonCommMonoidSimple.flatten_correct", @@ -251,7 +251,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok" ], 0, - "4f3f4267bc868580de94ad9c1ca10bd6" + "8f777b937b679046b813f6d18a135412" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux", @@ -261,15 +261,13 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "ae82c9b65e65f957e223c7745ca216c3" + "d14a467f8ff2ed586efd19c600a8a904" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux", @@ -280,36 +278,32 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_6aea4e30e2d412b5096d6a4ce94f696b_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_f24c8f09b66091180b2a01afb9f6fc70_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", + "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "equality_tok_Prims.LexTop@tok", "equation_FStar.Tactics.CanonCommMonoidSimple.swap", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxInt_proj_0", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", + "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Tactics.CanonCommMonoidSimple.atom" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", + "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "08037522b55cff0300d405fe252c7cea" + "ed1c55fddf44c07e23da8f665ec38f4e" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux_correct", @@ -319,17 +313,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "primitive_Prims.op_Addition", + "@query", "equation_FStar.Tactics.CanonCommMonoidSimple.atom", + "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "a68e9f438a0520dbafbff40e9964ce0c" + "767de2898d708f023c6e4a85291fdb8c" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux_correct", @@ -344,11 +336,10 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux.fuel_instrumented", "@fuel_irrelevance_FStar.Tactics.CanonCommMonoidSimple.xsdenote.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1416f89adb2b71c27794bab040f6c4a9_6", - "binder_x_539efd42dd5491357ce2f4a638cb7c43_3", + "@query", "binder_x_539efd42dd5491357ce2f4a638cb7c43_3", "binder_x_acdf3f16ef3c43b3cdcbb5dbb5dbabdc_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_e7fb1656a84f78049b93be0fbea37a58_6", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "binder_x_ff2b46f16cf65b05527d61deca087856_5", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", @@ -365,8 +356,8 @@ "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", @@ -375,20 +366,20 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_090a06f8cdcdd6c3a2b22a117754681d", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux.fuel_instrumented", "typing_FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux", - "typing_FStar.Tactics.CanonCommMonoidSimple.atom", "typing_Prims.__proj__Cons__item__tl", "unit_inversion", "unit_typing" ], 0, - "07b0774c5a8bfc306b799b461c384974" + "055b5e654be03381e7bc494b09ea2599" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swap_correct", @@ -412,7 +403,7 @@ "token_correspondence_FStar.Tactics.CanonCommMonoidSimple.apply_swap" ], 0, - "55dc5b8810aafb83c2b55c2b0d9aee58" + "327e1ed9942170ee81101beafce8f222" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swaps", @@ -437,7 +428,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "aad4b7a0ce0b545f58e777f1ff17453e" + "80704ada142ecf91c8877d61826fa1d8" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swaps_correct", @@ -468,7 +459,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "1f3dac193ca99e4051fe462547332b1b" + "c22a3999fea984612b619c35aaada3d5" ], [ "FStar.Tactics.CanonCommMonoidSimple.permute_via_swaps_correct_aux", @@ -477,12 +468,11 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_3773ed7d6033995658b639d4c4e0d08b" + "l_quant_interp_e3074d540cfa29d1639802122851929c", + "refinement_interpretation_Tm_refine_428eb01dd7f1b0c40ce43e4fd4155bdb" ], 0, - "7516c6b5c861a21255309fed173fca13" + "baa2a6f16bc859f891a2bd83a13c1652" ], [ "FStar.Tactics.CanonCommMonoidSimple.sort_via_swaps", @@ -502,7 +492,7 @@ "typing_FStar.Tactics.CanonCommMonoidSimple.atom" ], 0, - "00f40e2e9086453a5af6ae5d881e9436" + "e135f7548d6b694a2ee877c31fc9c11c" ], [ "FStar.Tactics.CanonCommMonoidSimple.canon_correct", @@ -511,7 +501,7 @@ 1, [ "@query", "equation_FStar.Tactics.CanonCommMonoidSimple.canon" ], 0, - "be44df148841865e620b329d16631363" + "6411081b3c290cbdef7611d306feb44f" ], [ "FStar.Tactics.CanonCommMonoidSimple.monoid_reflect_orig", @@ -520,7 +510,7 @@ 1, [ "@query" ], 0, - "cc3984e2133fc23a9bb36dd90e3eb582" + "2e3219056c92d15e2df717b2bbc27420" ], [ "FStar.Tactics.CanonCommMonoidSimple.monoid_reflect", @@ -530,10 +520,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "5aeee225fbb60caf042158ef95233e33" + "038f948812dd38405b0574966a71a631" ], [ "FStar.Tactics.CanonCommMonoidSimple.where_aux", @@ -542,17 +532,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_54b8d13345a0876202ad05586d3a7a11_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "d37fe3ede114f5d9af61e4022083d6d2" + "043850d5f8dd63f2fe1b3ae14ece2ebe" ], [ "FStar.Tactics.CanonCommMonoidSimple.reification_aux", @@ -571,7 +561,7 @@ "typing_FStar.Tactics.CanonCommMonoidSimple.where" ], 0, - "080f2253b34cbc8ab9bc497c87899e7a" + "3717c7b4dab08e2c6b2ce64bb2a65782" ], [ "FStar.Tactics.CanonCommMonoidSimple.dump", @@ -588,7 +578,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ffb77c7f6c256b8a7fff890b75c654ae" + "07d220e1df85afd30a4ba627cc4014f3" ], [ "FStar.Tactics.CanonCommMonoidSimple.atom", @@ -598,11 +588,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "63974665fb6942b370ecc5e254cdb954" + "cce0e4713513a4d4a5a4d855c76bd4b6" ], [ "FStar.Tactics.CanonCommMonoidSimple.exp", @@ -614,11 +604,11 @@ "equation_FStar.Tactics.CanonCommMonoidSimple.atom", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "30462eb546ed68feabef1b7cfba5493d" + "e3ef7174eb1f669f3ca2d17b72341889" ], [ "FStar.Tactics.CanonCommMonoidSimple.__proj__Mult__item___0", @@ -632,7 +622,7 @@ "refinement_interpretation_Tm_refine_fb9c73b1353c9abcd486a708578ce468" ], 0, - "179dbdbc231195f690dafbf90b9a33ca" + "a67eac508e880eed44d53e8737b7f035" ], [ "FStar.Tactics.CanonCommMonoidSimple.__proj__Mult__item___1", @@ -646,7 +636,7 @@ "refinement_interpretation_Tm_refine_fb9c73b1353c9abcd486a708578ce468" ], 0, - "5a144c27ef5a94615350062ebf9dfd3c" + "54f1ebd4441e69731bc0811152cbf43b" ], [ "FStar.Tactics.CanonCommMonoidSimple.__proj__Atom__item___0", @@ -660,7 +650,7 @@ "refinement_interpretation_Tm_refine_6a7b0887633599a01c59f41173adade6" ], 0, - "aef8c43bcea103022a9b99d219208e01" + "da690ba23539bec47fbae31044b1f516" ], [ "FStar.Tactics.CanonCommMonoidSimple.exp_to_string", @@ -680,7 +670,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok" ], 0, - "2a09153f449851f382627295e29c504e" + "baba2b1714b6ed8c69b361ba861c3290" ], [ "FStar.Tactics.CanonCommMonoidSimple.mdenote", @@ -706,7 +696,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok" ], 0, - "65470bccf72ddb280e21008732f70ff1" + "7975673c6c64329c902eddc77af6c0c8" ], [ "FStar.Tactics.CanonCommMonoidSimple.xsdenote", @@ -729,7 +719,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "2873e9c369b396e04ca19aa5e3e5a643" + "15efcc1189572842ce953a3a5cea19eb" ], [ "FStar.Tactics.CanonCommMonoidSimple.flatten", @@ -749,7 +739,7 @@ "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok" ], 0, - "d69356c691914af022c5bcc55a7d8ab6" + "b24de70a9c79bcfe66ef0bec218bfef4" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux", @@ -759,15 +749,13 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "b8210ec9280d84e593ad58d16fa01fb9" + "2fcbfa4333a27edbb6e6c2ff34393fb3" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux", @@ -779,31 +767,31 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_6aea4e30e2d412b5096d6a4ce94f696b_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_f24c8f09b66091180b2a01afb9f6fc70_4", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", "equation_FStar.Tactics.CanonCommMonoidSimple.swap", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", + "fuel_guarded_inversion_Prims.list", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "subterm_ordering_Prims.Cons", - "typing_FStar.Tactics.CanonCommMonoidSimple.atom" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", + "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "b0a9b1f7ef6a5877c5f59dbe55955a1f" + "d6dc1eeb799d139a8efbad40c4d69bb5" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux_correct", @@ -813,17 +801,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "primitive_Prims.op_Addition", + "@query", "equation_FStar.Tactics.CanonCommMonoidSimple.atom", + "equation_Prims.nat", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "253b3550b8d329ade176ba57044da27b" + "b2e8b31209c77355dbfcdd7bf69b81cf" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swap_correct", @@ -835,7 +821,7 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" ], 0, - "eff6bf466152225e40ccc7bef941979e" + "157a8758d626de5b30ac6c4b0c02ced0" ], [ "FStar.Tactics.CanonCommMonoidSimple.apply_swaps", @@ -860,7 +846,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "a44c5c750a3c34c5d62aefd45e419cab" + "02b2af44a2e5f76097156adc66b40aa1" ], [ "FStar.Tactics.CanonCommMonoidSimple.monoid_reflect", @@ -870,10 +856,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f808d5165728e40ff776abdcd3b023e2" + "d440212b05e52f4c71c640e1d06e6880" ], [ "FStar.Tactics.CanonCommMonoidSimple.where_aux", @@ -882,17 +868,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_54b8d13345a0876202ad05586d3a7a11_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_8f4ecaebfe94b74de5c259be54b852b3_2", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons" ], 0, - "f284228d3c5a10e15e3411db399b64dd" + "48576fd6af801d95233df044075bb50a" ], [ "FStar.Tactics.CanonCommMonoidSimple.reification_aux", @@ -911,7 +897,7 @@ "typing_FStar.Tactics.CanonCommMonoidSimple.where" ], 0, - "8ce93927e1fa2e1094eef8fd6e364191" + "dbd6e308e908b6e3850bc9de6a5480e6" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.CanonCommSemiring.fst.hints b/ulib/FStar.Tactics.CanonCommSemiring.fst.hints index 4b16870f221..0475ace7712 100644 --- a/ulib/FStar.Tactics.CanonCommSemiring.fst.hints +++ b/ulib/FStar.Tactics.CanonCommSemiring.fst.hints @@ -13,7 +13,7 @@ "projection_inverse_FStar.Tactics.CanonCommSemiring.CR_cm_mult" ], 0, - "5c8de0854d8eb8ef475d2052c6e10206" + "982485dacca836640bd24973efa83d2f" ], [ "FStar.Tactics.CanonCommSemiring.distribute_right", @@ -22,7 +22,7 @@ 1, [ "@query" ], 0, - "16e66ff0d0b1e2528f7c319fe2c7c7c9" + "882f85fa76e8a3b75b516b608204105c" ], [ "FStar.Tactics.CanonCommSemiring.int_cr", @@ -45,7 +45,7 @@ "token_correspondence_Prims.op_Multiply" ], 0, - "5265177215601b81ba960238d23ea8d3" + "0bf15bb9f1286eb42a49e641fa49ccae" ], [ "FStar.Tactics.CanonCommSemiring.exp", @@ -57,11 +57,11 @@ "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ff32590d25b416cafa8b869359fffeb4" + "9acc413ec469617acdd05d28aeed0f79" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Var__item___0", @@ -75,7 +75,7 @@ "refinement_interpretation_Tm_refine_9ab2d7d90f1120a97320a5a347cccbb3" ], 0, - "b0a2da14e6727b85034a908793e243ec" + "d0b8c85d21caa4b8ca8cbdf01d3c6a47" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Add__item___0", @@ -89,7 +89,7 @@ "refinement_interpretation_Tm_refine_98a7aeb36a3a7b3393517357340147f9" ], 0, - "f0a288dc7db6d6555604f33ee5a3d549" + "d214a8636a5851b38bac4f03dc1e688e" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Add__item___1", @@ -103,7 +103,7 @@ "refinement_interpretation_Tm_refine_98a7aeb36a3a7b3393517357340147f9" ], 0, - "9556dc1fd5b6a0633fbfbc41bd1e8001" + "97878781b3ac640ebd5067fef003857b" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Mult__item___0", @@ -117,7 +117,7 @@ "refinement_interpretation_Tm_refine_bf3d87562197c7015bcda5acd713ba26" ], 0, - "bd821549a015643bd68b7be546d317ac" + "7af95d1adbd83c7cab641db1aa5f8ef9" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Mult__item___1", @@ -131,7 +131,7 @@ "refinement_interpretation_Tm_refine_bf3d87562197c7015bcda5acd713ba26" ], 0, - "b3478b224316e0a0c63bd906f5a58db3" + "cfcb92f6d463387b9c3cad8bcf892972" ], [ "FStar.Tactics.CanonCommSemiring.exp_to_string", @@ -150,7 +150,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Mult" ], 0, - "97eeb226cbc3ecc1941e29bab6be5628" + "5bf9d9b5711e182e4e3c9900e4437d02" ], [ "FStar.Tactics.CanonCommSemiring.quote_exp", @@ -165,7 +165,7 @@ "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.exp" ], 0, - "4d3a795d2f4f768a62b93f19c5b38b8d" + "19784d2995ad5f2b850511324b4c62fb" ], [ "FStar.Tactics.CanonCommSemiring.rdenote", @@ -190,7 +190,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Mult" ], 0, - "0f4ed4f68966bbcbc7c4b2ff0ec0878a" + "a176009b275d08dec357f09b3a529b43" ], [ "FStar.Tactics.CanonCommSemiring.sum_of_products", @@ -201,7 +201,7 @@ "@query", "assumption_FStar.Tactics.CanonCommMonoid.exp__uu___haseq" ], 0, - "b9bbbe8846fb51dd867b3f5e0dae819a" + "0faebe86d2cf8e10a67989fbae584603" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Product__item___0", @@ -215,7 +215,7 @@ "refinement_interpretation_Tm_refine_a5f0413159d5bb5e52c585f9500613ab" ], 0, - "7f1df969cbbbd9f1e4fe5ebd85a2cef3" + "87dcd36b56da009b653f33c6d7e9078b" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Sum__item___0", @@ -229,7 +229,7 @@ "refinement_interpretation_Tm_refine_1382c63d92a8dd91b3f9d0485ad9dd2c" ], 0, - "7881d7aa8572e3ed72c904a4c3fb6b68" + "e787b74c5b2b1dc463b24e43bfb6edcd" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Sum__item___1", @@ -243,7 +243,7 @@ "refinement_interpretation_Tm_refine_1382c63d92a8dd91b3f9d0485ad9dd2c" ], 0, - "d3d6b927c07faba5b4380004bb031bd2" + "d9b0c401c8a1060f24ebe32fa6e1a5fe" ], [ "FStar.Tactics.CanonCommSemiring.sum_denote", @@ -266,7 +266,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Sum" ], 0, - "f54e018e351d83c1a35198c8358a7dad" + "cbb125c74f09206a4f24ebfee2c26797" ], [ "FStar.Tactics.CanonCommSemiring.multiply_sums", @@ -291,7 +291,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Sum" ], 0, - "e4fdd49747adf9dff3aa97363c1e8e46" + "9c9674ad43423908a517f80b16e0881c" ], [ "FStar.Tactics.CanonCommSemiring.exp_to_sum", @@ -310,7 +310,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Mult" ], 0, - "64317578653324372a10c97bb4fd43d2" + "eba93ff36a8e0c3ead5a6eef52e03029" ], [ "FStar.Tactics.CanonCommSemiring.multiply_sums_correct", @@ -364,7 +364,7 @@ "typing_FStar.Tactics.CanonCommSemiring.multiply_sums" ], 0, - "748659c73cc52f263c16ace12b15735b" + "d2358d02f4a73746abef6bd18a226f0e" ], [ "FStar.Tactics.CanonCommSemiring.exp_to_sum_correct", @@ -422,7 +422,7 @@ "typing_FStar.Tactics.CanonCommSemiring.exp_to_sum" ], 0, - "4e36949476a15ea9f395127c02492c37" + "9b55861d9bb9686846a08ffe0dff7a75" ], [ "FStar.Tactics.CanonCommSemiring.cdenote", @@ -445,7 +445,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Sum" ], 0, - "721c2fce4e0f8cdd65c0fb32e672d65a" + "9f2a6c729fc04c80e89085ca9c48a253" ], [ "FStar.Tactics.CanonCommSemiring.cdenote_correct", @@ -484,7 +484,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Sum" ], 0, - "bc451c73986456e00c66f48e03a9ab7c" + "225380b5a7eb19001fa7aa861fa36827" ], [ "FStar.Tactics.CanonCommSemiring.canon_correct", @@ -493,7 +493,7 @@ 1, [ "@query" ], 0, - "b43af23af107eeb3b76843a0a5be6b83" + "88e5ec2e608b564d44a7a8544b8f94a8" ], [ "FStar.Tactics.CanonCommSemiring.semiring_reflect", @@ -503,10 +503,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bde9a77c449b75d0f820ea797019a235" + "e44fb722f115ddb07416b979c6ff3104" ], [ "FStar.Tactics.CanonCommSemiring.make_fvar", @@ -525,7 +525,7 @@ "typing_FStar.Tactics.CanonCommMonoid.where" ], 0, - "71c4d8cf9e849673408be96c33513d00" + "3386ebabd8283420fdfaf32437caf6a0" ], [ "FStar.Tactics.CanonCommSemiring.is_not_const", @@ -550,7 +550,7 @@ "typing_FStar.Reflection.Types.name" ], 0, - "ffc12232800bfe64488b96af8096d927" + "2eff2bad5db50dc5f9a9c49f3bcd25a4" ], [ "FStar.Tactics.CanonCommSemiring.const_last_correct", @@ -561,14 +561,14 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Tactics.CanonCommMonoid.const_last", "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_3bd243d6eb48bd6e398d861c0faa94c3", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" ], 0, - "728bdb0c329431068df867cc13828932" + "880e5e4d5bfa568858a6e83a1e5b03d3" ], [ "FStar.Tactics.CanonCommSemiring.lem0", @@ -581,7 +581,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "773b7d3ed3aa74bda7fb433fa2ac118c" + "1961fe2e9f000d2d6e23f8138b72b4e3" ], [ "FStar.Tactics.CanonCommSemiring.lemma_poly_multiply", @@ -593,10 +593,10 @@ "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Modulus", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bbc0cd41fb568a348aa11c1754decbff" + "f6a90c454c4e81750ac6e9778233775e" ], [ "FStar.Tactics.CanonCommSemiring.modulo_addition_lemma", @@ -608,7 +608,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5069772feced53584182d3aa3c797a0f" + "6b0129b792e40d6103a9857503d9a41b" ], [ "FStar.Tactics.CanonCommSemiring.lemma_div_mod", @@ -620,7 +620,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a1f6da9d063390df7c6ff4f7073f8712" + "ab7188525dba7db99519526ac129372a" ], [ "FStar.Tactics.CanonCommSemiring.lemma_poly_multiply", @@ -634,7 +634,7 @@ "projection_inverse_BoxInt_proj_0", "true_interp" ], 0, - "f9e0e11e9624b9a3733fdc3c2e26dc78" + "eaf1b17501ab87a54dfea51764468b43" ], [ "FStar.Tactics.CanonCommSemiring.lemma_poly_multiply", @@ -647,7 +647,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "da36c9a3f3804271fd60bac4ba082adc" + "d464ae8a44c8844101045f4f4c8975ce" ], [ "FStar.Tactics.CanonCommSemiring.lemma_poly_reduce", @@ -656,19 +656,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "eq2-interp", "equation_Prims.squash", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8aeb77355c9cc00b6a540c95c463d97f" + "f66bc437a971b87cbc6821a0e21e5bc8" ], [ "FStar.Tactics.CanonCommSemiring.lemma_poly_reduce", @@ -682,7 +680,7 @@ "projection_inverse_BoxInt_proj_0", "true_interp" ], 0, - "368b680b98d3b8e15e557d8735d3dd0c" + "dc8ad241bd0fc329e3ad4161ff58de31" ], [ "FStar.Tactics.CanonCommSemiring.lemma_poly_reduce", @@ -694,7 +692,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "875d0406fd8feaecce79de7f30d36e70" + "c6ca4264d6567aefd5a413164ccad06d" ], [ "FStar.Tactics.CanonCommSemiring.ddump", @@ -711,7 +709,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "be12aec4a43464fe3ee7fcaaf531140b" + "c90992d11bf9a533aef4d9f934b4adfb" ], [ "FStar.Tactics.CanonCommSemiring.__proj__CR__item__distribute", @@ -725,7 +723,7 @@ "projection_inverse_FStar.Tactics.CanonCommSemiring.CR_cm_mult" ], 0, - "59b9e8636208acd3c205911699efe1da" + "7e58bb97d6fe227cf91b58bce726ab7e" ], [ "FStar.Tactics.CanonCommSemiring.distribute_right", @@ -734,7 +732,7 @@ 1, [ "@query" ], 0, - "ac61af6984b67cabf102e8fd0fc35c2b" + "dcffbc2656ee9b1392dc8389064d21f4" ], [ "FStar.Tactics.CanonCommSemiring.int_cr", @@ -757,7 +755,7 @@ "token_correspondence_Prims.op_Multiply" ], 0, - "f9bcc25e69b4a263ebf0e38502fb63c0" + "0187f59c938fbb15dafbe4cfccfd8585" ], [ "FStar.Tactics.CanonCommSemiring.exp", @@ -769,11 +767,11 @@ "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6a94bbb9254fac47dfbba7ce03d09b5e" + "edbb94d7b27890705f5a4e50215769a3" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Var__item___0", @@ -787,7 +785,7 @@ "refinement_interpretation_Tm_refine_9ab2d7d90f1120a97320a5a347cccbb3" ], 0, - "02e8ee465eef258b7d38993b970286b9" + "1594ebccb40e64c214a5c50ad749f240" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Add__item___0", @@ -801,7 +799,7 @@ "refinement_interpretation_Tm_refine_98a7aeb36a3a7b3393517357340147f9" ], 0, - "2b4f1135538738708e6bdb06f1606b02" + "55c16bb1ccbecc94166a6ad391301298" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Add__item___1", @@ -815,7 +813,7 @@ "refinement_interpretation_Tm_refine_98a7aeb36a3a7b3393517357340147f9" ], 0, - "b53e9541ad9ca1fb31c87b9863620b6a" + "0aa466aca186013df3fa5a35ecb1da80" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Mult__item___0", @@ -829,7 +827,7 @@ "refinement_interpretation_Tm_refine_bf3d87562197c7015bcda5acd713ba26" ], 0, - "06db708161f8d6bfc883daf270b81c71" + "98b815c37355cb53d65f97d923637b09" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Mult__item___1", @@ -843,7 +841,7 @@ "refinement_interpretation_Tm_refine_bf3d87562197c7015bcda5acd713ba26" ], 0, - "f566710de1806fc1cc4ac0e283e77566" + "1836e25bcfc1ce71c196c649e7d3ee82" ], [ "FStar.Tactics.CanonCommSemiring.exp_to_string", @@ -862,7 +860,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Mult" ], 0, - "350f3170cfab00c625755fa3cefcadb1" + "506bb126796ce423e28d0ecaa2be8ad7" ], [ "FStar.Tactics.CanonCommSemiring.quote_exp", @@ -877,7 +875,7 @@ "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.exp" ], 0, - "c5d7fe5277886e36f727b33e22b5ae1f" + "6b87ee9c2876ba9d26d398c1650d191a" ], [ "FStar.Tactics.CanonCommSemiring.rdenote", @@ -902,7 +900,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Mult" ], 0, - "0bd6a226ba61820444675f975bd68afa" + "c451ed74b705d954b9448b9d803854d9" ], [ "FStar.Tactics.CanonCommSemiring.sum_of_products", @@ -913,7 +911,7 @@ "@query", "assumption_FStar.Tactics.CanonCommMonoid.exp__uu___haseq" ], 0, - "10378ea0b0859d3d9eb986cddb12aedb" + "36c7a117328d629dae9ac996644f5f23" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Product__item___0", @@ -927,7 +925,7 @@ "refinement_interpretation_Tm_refine_a5f0413159d5bb5e52c585f9500613ab" ], 0, - "265736a0c779fd6c2198d8e975ede7d8" + "2b32c9f98dd1aeb4d19afc256973c6b6" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Sum__item___0", @@ -941,7 +939,7 @@ "refinement_interpretation_Tm_refine_1382c63d92a8dd91b3f9d0485ad9dd2c" ], 0, - "6cd63779480b96fabf7d720881150701" + "d65d177fa86bc5a60e2b7de929441b1e" ], [ "FStar.Tactics.CanonCommSemiring.__proj__Sum__item___1", @@ -955,7 +953,7 @@ "refinement_interpretation_Tm_refine_1382c63d92a8dd91b3f9d0485ad9dd2c" ], 0, - "56e1091d9e5939046f2132bcad6be7d4" + "b41c3d0fe1e3d3192a5f14214f1035f7" ], [ "FStar.Tactics.CanonCommSemiring.sum_denote", @@ -978,7 +976,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Sum" ], 0, - "1d5fe4b1e8726198c411fc7b8618e2f6" + "fa01e1ae81c37a8d0e97f77889b3f124" ], [ "FStar.Tactics.CanonCommSemiring.multiply_sums", @@ -1003,7 +1001,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Sum" ], 0, - "bf4c5d0ea4e35452d5f91b95c01dd4b5" + "4be53f3f82df827bbf3b7680e552fda9" ], [ "FStar.Tactics.CanonCommSemiring.exp_to_sum", @@ -1022,7 +1020,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Mult" ], 0, - "c85b7f221609b5f6096ccdc3f6d8399b" + "6e6308dd1908602bcdd005b57d3fd25a" ], [ "FStar.Tactics.CanonCommSemiring.cdenote", @@ -1045,7 +1043,7 @@ "subterm_ordering_FStar.Tactics.CanonCommSemiring.Sum" ], 0, - "99f7f54a6002d54258028ef2651d8c1e" + "714b79ecc536af36a71cc149cba09cd8" ], [ "FStar.Tactics.CanonCommSemiring.semiring_reflect", @@ -1055,10 +1053,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "97e85fda57bc8a9f10e2fb18359afdf3" + "fef741322702077db7a94d09e5f1b19f" ], [ "FStar.Tactics.CanonCommSemiring.make_fvar", @@ -1070,14 +1068,14 @@ "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Tactics.CanonCommMonoid.where", "equation_Prims.nat", - "function_token_typing_Prims.nat", "lemma_FStar.Pervasives.invertOption", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Tactics.CanonCommMonoid.where" ], 0, - "3bb28cd82c225cfe99fc39abf84fc881" + "04abb9b75261d217471d9c281a50a138" ], [ "FStar.Tactics.CanonCommSemiring.is_not_const", @@ -1102,7 +1100,25 @@ "typing_FStar.Reflection.Types.name" ], 0, - "d61722cae64cd2947e75186575a843cc" + "faf6c4b942c8f6d7fca8922fcdfe3d6d" + ], + [ + "FStar.Tactics.CanonCommSemiring.const_last_correct", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "equation_FStar.Tactics.CanonCommMonoid.const_last", + "equation_FStar.Tactics.CanonCommMonoid.sortWith", + "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", + "function_token_typing_FStar.List.Tot.Base.sortWith", + "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", + "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" + ], + 0, + "bbae8401cd918d3b24ef9d40cda87b6c" ], [ "FStar.Tactics.CanonCommSemiring.lem0", @@ -1114,7 +1130,7 @@ "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "341dc761824c29e8ce40537b5cbdcb05" + "203c8bd9272237f8b609e2daa2bc82bb" ], [ "FStar.Tactics.CanonCommSemiring.modulo_addition_lemma", @@ -1123,10 +1139,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c2f7cf21ca0f4c583aa80692f7a7f187" + "ec139c8681924ced3a9e26f08838b3b0" ], [ "FStar.Tactics.CanonCommSemiring.lemma_div_mod", @@ -1135,10 +1151,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "492539e390c64a2131c8e6d1979fa52e" + "0364340310b21a76db4cc28fe65de74d" ], [ "FStar.Tactics.CanonCommSemiring.lemma_poly_multiply", @@ -1150,10 +1166,10 @@ "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Modulus", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7f4ca6d9ebdf06aa7d54663a241519b2" + "de2131d89c0c3d4ea753defaa41ced0c" ], [ "FStar.Tactics.CanonCommSemiring.lemma_poly_reduce", @@ -1162,19 +1178,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "eq2-interp", "equation_Prims.squash", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "l_and-interp", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0e95583e389a54820ff231489b039877" + "5837aa8a8fc7372290d545e7236b0ef4" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.CanonCommSwaps.fst.hints b/ulib/FStar.Tactics.CanonCommSwaps.fst.hints index decbd236791..9bf930bb4e2 100644 --- a/ulib/FStar.Tactics.CanonCommSwaps.fst.hints +++ b/ulib/FStar.Tactics.CanonCommSwaps.fst.hints @@ -9,15 +9,13 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "5e92c207c4c7d244edaa67384953c0db" + "bee2b6e90dc2b5c6bd81d00a486f62fe" ], [ "FStar.Tactics.CanonCommSwaps.apply_swap_aux", @@ -28,10 +26,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_5af7ca89d683ad6c94868f09669e10d5_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_b5588dd7f773f9353586a3a2a4335ebd_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", @@ -41,21 +38,20 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "8137cd498bff78c5ba1d96364e98ce2d" + "1842635be2fdbffdd32e84643a95f38c" ], [ "FStar.Tactics.CanonCommSwaps.apply_swaps", @@ -79,7 +75,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "d3e326e5e6894d0c700884d24e57d68d" + "3f1237d89e8d2ff81274d78afa975078" ], [ "FStar.Tactics.CanonCommSwaps.extend_equal_counts", @@ -102,7 +98,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1310b8bc58bf91a84f90349d4cffbc88" + "bc6a8ea77fe61753ab8a2d70328f0528" ], [ "FStar.Tactics.CanonCommSwaps.retract_equal_counts", @@ -113,27 +109,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", + "@query", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "equation_FStar.Tactics.CanonCommSwaps.equal_counts", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "fuel_guarded_inversion_Prims.list", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "typing_FStar.List.Tot.Base.count" ], 0, - "26c146ea6861c08b84895e2a57d5237a" + "1aa4f477c41e2531d6ef19099af617ad" ], [ "FStar.Tactics.CanonCommSwaps.append_swaps", @@ -142,7 +136,7 @@ 1, [ "@query" ], 0, - "03acb0109bc85964b2da2baafe761361" + "4ed04a6d9e3dc06ef5a429e5b19747b1" ], [ "FStar.Tactics.CanonCommSwaps.append_swaps", @@ -156,11 +150,10 @@ "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_e3cff95aa8059e091f9bf164afde5560_2", - "binder_x_e3cff95aa8059e091f9bf164afde5560_3", + "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_8da0b5cd9fc3320a85b3bae381290095_2", + "binder_x_8da0b5cd9fc3320a85b3bae381290095_3", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -170,22 +163,20 @@ "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Tactics.CanonCommSwaps.swap" ], 0, - "3d1e0bd585cfd08004acfde384934bcb" + "e5068148b20a86236adc1f50499924d8" ], [ "FStar.Tactics.CanonCommSwaps.lift_swap_cons", @@ -196,15 +187,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_Prims.Cons", + "@query", "b2t_def", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "equation_FStar.Tactics.CanonCommSwaps.swap", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -213,15 +201,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_6f6da86e92a9e272310296cbe745abb2", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.List.Tot.Base.length", "unit_typing" + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", + "typing_FStar.List.Tot.Base.length" ], 0, - "08434f69a095a8fe8ab1fd73ee4e3d31" + "5565abb9f78ffe75cb359d993209f1ae" ], [ "FStar.Tactics.CanonCommSwaps.lift_swap_cons", @@ -234,46 +222,36 @@ "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_8f928751d90a58f7d3b60860f528073e_4", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_3", - "binder_x_e22ba7a032a73f6d0678d3d186686631_1", - "binder_x_f5f822c6aa182796e6c581814ec64033_2", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "binder_x_157b99e815dc43d99415725267e9c452_2", + "binder_x_374b44ccfcb77ed85d505dbc44265913_3", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_a4297405bc235867dd383cf2b1d3d8a6_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.Tactics.CanonCommSwaps.swap", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_090a06f8cdcdd6c3a2b22a117754681d", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "unit_inversion", "unit_typing" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", + "subterm_ordering_Prims.Cons", "unit_inversion", "unit_typing" ], 0, - "3c314fd6da19385e3995a65a2c0967d1" + "9fe48c29d8f0c1e7a40ab739b9b12290" ], [ "FStar.Tactics.CanonCommSwaps.lift_swaps_cons", @@ -286,11 +264,10 @@ "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_48f9440407dfe1871c2a5d1804894e76_3", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_1", + "@query", "binder_x_157b99e815dc43d99415725267e9c452_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_a92924abbd9272837cf29b6bb6379d4a_3", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -301,20 +278,19 @@ "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap" ], 0, - "717e958eae43b4993e2a446811f0a090" + "706ccdb4c59d965c992d0f2c5c1e6f47" ], [ "FStar.Tactics.CanonCommSwaps.swap_to_front", @@ -323,7 +299,7 @@ 1, [ "@query" ], 0, - "ed82db6165a39446ee881164d4f69cd0" + "0010fe4961267e1f7f84c016ff8ad033" ], [ "FStar.Tactics.CanonCommSwaps.swap_to_front", @@ -339,11 +315,10 @@ "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", - "FStar.Tactics.CanonCommSwaps_interpretation_Tm_arrow_1c48ff284ab89d0acf5aad9e95a8cde6", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_1", + "FStar.Tactics.CanonCommSwaps_interpretation_Tm_arrow_ae87feeb8be8cee24e081af08a85a0d4", + "binder_x_157b99e815dc43d99415725267e9c452_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -358,18 +333,17 @@ "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_090a06f8cdcdd6c3a2b22a117754681d", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap", @@ -379,7 +353,7 @@ "typing_FStar.Tactics.CanonCommSwaps.swap" ], 0, - "ada338a1e3ca8bc42a11282b72a63a18" + "e92fd94f24fb74d522c356d0e27c7837" ], [ "FStar.Tactics.CanonCommSwaps.equal_counts_implies_swaps", @@ -391,10 +365,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.hd", @@ -405,20 +378,18 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented" ], 0, - "3a14bdb63447c435b15d9346ef5a2278" + "fc6a52c0b9032eed8b0aa07e9a15ed14" ], [ "FStar.Tactics.CanonCommSwaps.apply_swap_aux", @@ -428,15 +399,13 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.List.Tot.Base.length" ], 0, - "15f44e9b063100049f8feb8b326c0d91" + "492a7e73440bd7e754486abdf4f62e55" ], [ "FStar.Tactics.CanonCommSwaps.apply_swap_aux", @@ -447,10 +416,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_5af7ca89d683ad6c94868f09669e10d5_4", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "binder_x_b5588dd7f773f9353586a3a2a4335ebd_4", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", @@ -460,21 +428,20 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" ], 0, - "77b8024bbb64309f03cf78743d0d2955" + "6d62905ed7fcc9baa8625774080e0691" ], [ "FStar.Tactics.CanonCommSwaps.apply_swaps", @@ -498,7 +465,7 @@ "subterm_ordering_Prims.Cons" ], 0, - "2c4787243120d8f07f9d2886a5bbdfb5" + "c7c2d4869b49a0f98742d866ad98f9d4" ], [ "FStar.Tactics.CanonCommSwaps.append_swaps", @@ -507,7 +474,7 @@ 1, [ "@query" ], 0, - "6def7ec1ecaa57a70cd544aa819b2a61" + "6a855b8c5772270df7fc9683a820a68b" ], [ "FStar.Tactics.CanonCommSwaps.lift_swap_cons", @@ -518,15 +485,12 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_Prims.Cons", + "@query", "b2t_def", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "equation_FStar.Tactics.CanonCommSwaps.swap", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -535,14 +499,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.List.Tot.Base.length", "unit_typing" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", + "typing_FStar.List.Tot.Base.length" ], 0, - "da819e3653ee5dee6e9b933f5e289da3" + "f8faf4629f99eb08de786435d4797233" ], [ "FStar.Tactics.CanonCommSwaps.lift_swaps_cons", @@ -555,11 +519,10 @@ "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_48f9440407dfe1871c2a5d1804894e76_3", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_1", + "@query", "binder_x_157b99e815dc43d99415725267e9c452_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", + "binder_x_a92924abbd9272837cf29b6bb6379d4a_3", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", @@ -570,20 +533,19 @@ "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap" ], 0, - "bdb8ec1d720c522488a14f8792a54b68" + "db657fbc95db5a27ff4d9bbc377ea9da" ], [ "FStar.Tactics.CanonCommSwaps.swap_to_front", @@ -592,7 +554,7 @@ 1, [ "@query" ], 0, - "895d0702086eaeb0142866e5f2c331ff" + "ceaa5bb2d3f609a9df5050678be3b246" ], [ "FStar.Tactics.CanonCommSwaps.swap_to_front", @@ -608,11 +570,10 @@ "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", - "FStar.Tactics.CanonCommSwaps_interpretation_Tm_arrow_1c48ff284ab89d0acf5aad9e95a8cde6", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", - "binder_x_f5f822c6aa182796e6c581814ec64033_1", + "FStar.Tactics.CanonCommSwaps_interpretation_Tm_arrow_ae87feeb8be8cee24e081af08a85a0d4", + "binder_x_157b99e815dc43d99415725267e9c452_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", @@ -627,7 +588,6 @@ "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", @@ -636,9 +596,9 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_090a06f8cdcdd6c3a2b22a117754681d", - "refinement_interpretation_Tm_refine_1a90870aa2e2cdbf55c12113e539b1bc", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap", @@ -648,7 +608,7 @@ "typing_FStar.Tactics.CanonCommSwaps.swap" ], 0, - "76a41e08d86fd4f477ff6938ab2419b6" + "532e4adba963c8b81d6caa4c9e13c624" ], [ "FStar.Tactics.CanonCommSwaps.equal_counts_implies_swaps", @@ -660,10 +620,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_273c0cb114efbc10b99731f088b17ae0_0", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_1", - "binder_x_a7fb6faea5d851896150f3c74abbb25a_2", + "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", + "binder_x_374b44ccfcb77ed85d505dbc44265913_2", + "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", "equation_FStar.List.Tot.Base.hd", @@ -674,20 +633,18 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", + "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", + "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented" ], 0, - "20d020def955e1199ea41f1b0c0688a0" + "6f1f2a836f270c6b46fe91381fe0a5c6" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.CanonMonoid.fst.hints b/ulib/FStar.Tactics.CanonMonoid.fst.hints index d1abef935d0..7ac6ee552f2 100644 --- a/ulib/FStar.Tactics.CanonMonoid.fst.hints +++ b/ulib/FStar.Tactics.CanonMonoid.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "cc9466482fb864e3f9d4ba15014e0b67" + "018e8072ce75825bf0a1073eae8bc371" ], [ "FStar.Tactics.CanonMonoid.__proj__Var__item___0", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_1b8c0e8daeec5941ba3da42d94dc0491" ], 0, - "520bb238fc8bdb5ffbb81b60d62097f1" + "297fdc135951fef722495707529ded01" ], [ "FStar.Tactics.CanonMonoid.__proj__Mult__item___0", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_5bd5cc6aedaac7fb5df449a481b9a30f" ], 0, - "e2f13a70acd0a6be10a212c12c10ab43" + "795e4be1cbf2401e4edbdf1366c318e3" ], [ "FStar.Tactics.CanonMonoid.__proj__Mult__item___1", @@ -50,7 +50,7 @@ "refinement_interpretation_Tm_refine_5bd5cc6aedaac7fb5df449a481b9a30f" ], 0, - "8acf07a02c2aedc0c123e7f728d4c539" + "ce42b825c147da44698e705ec9c1b9cb" ], [ "FStar.Tactics.CanonMonoid.exp_to_string", @@ -67,7 +67,7 @@ "subterm_ordering_FStar.Tactics.CanonMonoid.Mult" ], 0, - "61847f151afd7884b209ca4ec3081ff9" + "e2d4d9fb877d2e06e2f7fe18e82d0c7c" ], [ "FStar.Tactics.CanonMonoid.mdenote", @@ -89,7 +89,7 @@ "subterm_ordering_FStar.Tactics.CanonMonoid.Mult" ], 0, - "fdd3c3b1f96de1bf0ed2540c7daf1668" + "e7df65ff8ce8fcf22051665f8614009c" ], [ "FStar.Tactics.CanonMonoid.mldenote", @@ -107,7 +107,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "2c1f6506738fab02aa89bd8eb5e4f038" + "3392f3db207b00c12158efa5eeee4f97" ], [ "FStar.Tactics.CanonMonoid.flatten", @@ -124,7 +124,7 @@ "subterm_ordering_FStar.Tactics.CanonMonoid.Mult" ], 0, - "0a1db14e1eb3fd6daeedae10e42a9af9" + "f912410b9d2a592d1aca714545e69458" ], [ "FStar.Tactics.CanonMonoid.flatten_correct_aux", @@ -137,8 +137,7 @@ "@fuel_correspondence_FStar.Tactics.CanonMonoid.mldenote.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", "@fuel_irrelevance_FStar.Tactics.CanonMonoid.mldenote.fuel_instrumented", - "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", + "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", "binder_x_ee4b58b6c7cddeecee9dc98c01f34e15_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", @@ -159,14 +158,14 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Tactics.CanonMonoid.mldenote", "unit_typing" + "typing_FStar.Tactics.CanonMonoid.mldenote" ], 0, - "73f6738c5e59b7e84e97724e020fba99" + "01c2c84fceef93c3baacb418cc8dc993" ], [ "FStar.Tactics.CanonMonoid.flatten_correct", @@ -209,7 +208,7 @@ "typing_FStar.Tactics.CanonMonoid.flatten" ], 0, - "690f522481896c999c8aceeaef7faf2e" + "de2e8daa6623df0d2c24f76804896a97" ], [ "FStar.Tactics.CanonMonoid.monoid_reflect", @@ -219,10 +218,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "adb9f3133541fe7432adf7cdad4ce16a" + "18366ce302df48c29b515cb63f9beed8" ], [ "FStar.Tactics.CanonMonoid.dump", @@ -239,7 +238,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cffe3e3872a50cd9b02d0badf094543d" + "2b6c2b3a030cc97bf20d339585045888" ], [ "FStar.Tactics.CanonMonoid.exp", @@ -248,7 +247,7 @@ 1, [ "@query" ], 0, - "56ff9cea510cc5f7a58a5eb081126647" + "81d564d7bee61e77459918b3c64d4895" ], [ "FStar.Tactics.CanonMonoid.__proj__Var__item___0", @@ -262,7 +261,7 @@ "refinement_interpretation_Tm_refine_1b8c0e8daeec5941ba3da42d94dc0491" ], 0, - "b2adb9ada1369241efbdd60df55ae753" + "b120883a6b4379a365dc156ba06d2cd5" ], [ "FStar.Tactics.CanonMonoid.__proj__Mult__item___0", @@ -276,7 +275,7 @@ "refinement_interpretation_Tm_refine_5bd5cc6aedaac7fb5df449a481b9a30f" ], 0, - "b4b76f4b890b4a663c802bffa1529086" + "223297fd9d78a389979f531feb0d4012" ], [ "FStar.Tactics.CanonMonoid.__proj__Mult__item___1", @@ -290,7 +289,7 @@ "refinement_interpretation_Tm_refine_5bd5cc6aedaac7fb5df449a481b9a30f" ], 0, - "3db7bfc17284bec73265ddedf5ffe72c" + "fc46c48d05dff918f9d93b216d5bbf07" ], [ "FStar.Tactics.CanonMonoid.exp_to_string", @@ -307,7 +306,7 @@ "subterm_ordering_FStar.Tactics.CanonMonoid.Mult" ], 0, - "803ad12e7ce3531b6b07f0efa01d5fd6" + "3e410b1cc34af08bae3852a1bf9a212c" ], [ "FStar.Tactics.CanonMonoid.mdenote", @@ -329,7 +328,7 @@ "subterm_ordering_FStar.Tactics.CanonMonoid.Mult" ], 0, - "2e5efa2820b659f8d1d40b1de7078beb" + "0f8cbed97a2eb1229d25bf0b0ab879d4" ], [ "FStar.Tactics.CanonMonoid.mldenote", @@ -347,7 +346,7 @@ "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" ], 0, - "31ce89c3a680e9b6dcee7aba8c6f9236" + "d577e66b58f251e869726fcb410c150f" ], [ "FStar.Tactics.CanonMonoid.flatten", @@ -364,7 +363,7 @@ "subterm_ordering_FStar.Tactics.CanonMonoid.Mult" ], 0, - "3fda0564a5f372e0680208da3f87bf49" + "8eb44b320e2b50c4cc13d122ce6cb056" ], [ "FStar.Tactics.CanonMonoid.monoid_reflect", @@ -374,10 +373,10 @@ [ "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c41c16463dfabfbb9fd00dfe8a1cdeed" + "6ed4e10fc188915e596eab18c50674bf" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.Derived.fst b/ulib/FStar.Tactics.Derived.fst index 39cbdf5c1a4..8e737778a9e 100644 --- a/ulib/FStar.Tactics.Derived.fst +++ b/ulib/FStar.Tactics.Derived.fst @@ -27,7 +27,7 @@ module L = FStar.List.Tot let goals () : Tac (list goal) = goals_of (get ()) let smt_goals () : Tac (list goal) = smt_goals_of (get ()) -let fail (m:string) = raise (TacticFailure m) +let fail (#a:Type) (m:string) = raise #a (TacticFailure m) (** Return the current *goal*, not its type. (Ignores SMT goals) *) let _cur_goal () : Tac goal = @@ -44,7 +44,7 @@ let cur_goal () : Tac typ = goal_type (_cur_goal ()) (** [cur_witness] returns the current goal's witness *) let cur_witness () : Tac term = goal_witness (_cur_goal ()) -(* [cur_goal_safe] will always return the current goal, without failing. +(** [cur_goal_safe] will always return the current goal, without failing. It must be statically verified that there indeed is a goal in order to call it. *) let cur_goal_safe () : TacH goal (requires (fun ps -> ~(goals_of ps == []))) @@ -52,6 +52,10 @@ let cur_goal_safe () : TacH goal (requires (fun ps -> ~(goals_of ps == []))) = match goals_of (get ()) with | g :: _ -> g +(** [cur_binders] returns the list of binders in the current goal. *) +let cur_binders () : Tac binders = + binders_of_env (cur_env ()) + (** Set the guard policy only locally, without affecting calling code *) let with_policy pol (f : unit -> Tac 'a) : Tac 'a = let old_pol = get_guard_policy () in @@ -118,13 +122,16 @@ of [f] to any amount of arguments (which need to be solved as further goals). The amount of arguments introduced is the least such that [f a_i] unifies with the goal's type. *) let apply (t : term) : Tac unit = - t_apply true t + t_apply true false t + +let apply_noinst (t : term) : Tac unit = + t_apply true true t (** [apply_raw f] is like [apply], but will ask for all arguments regardless of whether they appear free in further goals. See the explanation in [t_apply]. *) let apply_raw (t : term) : Tac unit = - t_apply false t + t_apply false false t (** Like [exact], but allows for the term [e] to have a type [t] only under some guard [g], adding the guard as a goal. *) @@ -261,6 +268,7 @@ let guard (b : bool) : TacH unit (requires (fun _ -> True)) = if not b then fail "guard failed" + else () let try_with (f : unit -> Tac 'a) (h : exn -> Tac 'a) : Tac 'a = match catch f with diff --git a/ulib/FStar.Tactics.Derived.fst.hints b/ulib/FStar.Tactics.Derived.fst.hints index 5fc392d4ff2..4fd798361e1 100644 --- a/ulib/FStar.Tactics.Derived.fst.hints +++ b/ulib/FStar.Tactics.Derived.fst.hints @@ -1,5 +1,5 @@ [ - "0~ô¿R^¾+?øU\u000bÇ-", + "¡ÿܶ™Ähü1\u0010²:Ûaÿm", [ [ "FStar.Tactics.Derived._cur_goal", @@ -14,7 +14,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "d4a1aba19dd11dd7ab1843039f2c114a" + "4479010b85dd54518c121d02f52fabc4" ], [ "FStar.Tactics.Derived.cur_goal_safe", @@ -32,7 +32,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "49416ba5d6063d2b666d6f9661769acd" + "e2dd37bba54ecf37c46d00b61048cd04" ], [ "FStar.Tactics.Derived.dismiss", @@ -47,7 +47,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "eb0528a3d07bfc756914824b3c211a95" + "f3398640cc7f3dc1a326d394af3d34a7" ], [ "FStar.Tactics.Derived.flip", @@ -66,7 +66,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "f5e67cafeacd37a93b7c3d6782df6569" + "3df4584f659000cc3f8780b5b4c92cdc" ], [ "FStar.Tactics.Derived.smt", @@ -93,7 +93,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "fbb39a0390694b1e29f16921ce00cf1e" + "1ca5087cf48c8ec4d3132f2345dec7e9" ], [ "FStar.Tactics.Derived.divide", @@ -115,7 +115,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "unit_typing" ], 0, - "8378633d074481cfdc6b5bab98792292" + "01c703c18d249c3745816ab47704c902" ], [ "FStar.Tactics.Derived.focus", @@ -130,7 +130,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "b25e05ad31c8a76c8434753be90763e6" + "833d5590b070ccdfc3efcab2bbb2a80d" ], [ "FStar.Tactics.Derived.mapAll", @@ -145,7 +145,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "88535abe2558878d01f52b927aa0bb7a" + "5daa1eeb01bb78a5b7e7944bbb6f8a63" ], [ "FStar.Tactics.Derived.iterAll", @@ -160,7 +160,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "b039eafc888caaa455f1278d83d87522" + "66aad2e1830a381b62b5607786c2531b" ], [ "FStar.Tactics.Derived.guard", @@ -192,7 +192,7 @@ "string_typing", "unit_inversion", "unit_typing" ], 0, - "40f7a0857890fab96f17ca71b55ec036" + "21a46aa028a3ab5aeb308c01a1d46834" ], [ "FStar.Tactics.Derived.try_with", @@ -209,7 +209,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "5d072ad8c39972a312145c44f5019081" + "0cb7a9357fbd95f709d80ac3fa98c6b0" ], [ "FStar.Tactics.Derived.repeat", @@ -226,7 +226,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c03427cf1fa3620421fbbbef60a68018" + "6e8efd38fd637537b1a667b6ff0d3baf" ], [ "FStar.Tactics.Derived.revert_all", @@ -239,7 +239,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "ea864ccf4f98f3a7b438a399d6ce83f8" + "3519e81ca2c0969e4ec1e6ca0ad2899f" ], [ "FStar.Tactics.Derived.__assumption_aux", @@ -252,7 +252,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "20a9527326f671ffd573d1abb64b0e55" + "f3c0d73c5804a7d7215f7305a3d40eeb" ], [ "FStar.Tactics.Derived.__eq_sym", @@ -264,12 +264,12 @@ "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "equation_Prims.eq2", "equation_Prims.squash", "equation_Prims.subtype_of", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "unit_typing" ], 0, - "86d7f6c7c152fbc61b896ef09fb2c084" + "10fded4ca92b618fc3ed449bd9542162" ], [ "FStar.Tactics.Derived.try_rewrite_equality", @@ -282,7 +282,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "73fc2e84edfa50e919e84b6858bed0ea" + "6377e7639f4ad642116de8bab49c64eb" ], [ "FStar.Tactics.Derived.rewrite_all_context_equalities", @@ -295,7 +295,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "b61ce667a7f207b04fb78aa38316f5df" + "ee5fb226bda9c87bd3ad83a19681cb42" ], [ "FStar.Tactics.Derived.iseq", @@ -307,7 +307,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "aa87cb105bf0526127cc1ef74794b5a2" + "09005fbea82c9aebfd6f57a55f50c66b" ], [ "FStar.Tactics.Derived.push1", @@ -317,10 +317,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_imp", "equation_Prims.squash", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fbb18d78147c595d59aa3a6454f6f986" + "190ae2837c007619a8b523282918c3eb" ], [ "FStar.Tactics.Derived.apply_squash_or_lem", @@ -352,7 +352,37 @@ "typing_FStar.Reflection.Formula.unsquash", "unit_typing" ], 0, - "f0468f2b47868d03d73212d67ba82b73" + "b60b3b0dd4af13bb8adeb13c85153ec5" + ], + [ + "FStar.Tactics.Derived.tlabel", + 1, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list" + ], + 0, + "b8a846452826a76426a5f536d6d13677" + ], + [ + "FStar.Tactics.Derived.tlabel'", + 1, + 2, + 2, + [ + "@MaxIFuel_assumption", "@query", + "data_elim_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", + "fuel_guarded_inversion_FStar.Tactics.Result.__result", + "fuel_guarded_inversion_Prims.list" + ], + 0, + "fc7857e7329f8a6ca36310fb3854d1a0" ], [ "FStar.Tactics.Derived._cur_goal", @@ -367,7 +397,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "8ece2afc458769869f73a3e44e75f47f" + "119d2a07d63e8d21e4a4c0fb47597bc3" ], [ "FStar.Tactics.Derived.cur_goal_safe", @@ -385,7 +415,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v" ], 0, - "1f952cb21edf4b94f5b685dfa4b5efd4" + "71068526dceb7b39718fd56ec2d4d89f" ], [ "FStar.Tactics.Derived.dismiss", @@ -400,7 +430,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "7f79fe05e2dc7fff802b584dd671f401" + "e4bbfeef4b7e34a43fd7fe131299723e" ], [ "FStar.Tactics.Derived.flip", @@ -419,7 +449,7 @@ "typing_Prims.__proj__Cons__item__tl" ], 0, - "9bf2397d3c50043c9fa0a493555f5f4d" + "839e965a0d56f3f6aabaac66dd377d14" ], [ "FStar.Tactics.Derived.smt", @@ -446,7 +476,7 @@ "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" ], 0, - "3c910de4a0ee6547f46ef5241fd49f04" + "8c4f1711c51110104b48e694b519ab9e" ], [ "FStar.Tactics.Derived.divide", @@ -468,7 +498,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "unit_typing" ], 0, - "1dba982ca252872c7ff617b7af515a7d" + "42514e5c9a49f9804ac5be2e3bbd593a" ], [ "FStar.Tactics.Derived.focus", @@ -483,7 +513,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "32416560e67943336ed6df246122c9e7" + "764fb506f018dfc9f0dfed85b62c8951" ], [ "FStar.Tactics.Derived.mapAll", @@ -498,7 +528,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "392b96fd272e13909fb9ac5a9da3d20e" + "27dfe581efcaa4dbb5f3584d6ab79c01" ], [ "FStar.Tactics.Derived.iterAll", @@ -513,7 +543,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "7238a00ba506063b16a89f9b17ec7a30" + "c6a0ca1ba8b5238aec12802e8ed6317d" ], [ "FStar.Tactics.Derived.guard", @@ -545,7 +575,7 @@ "string_typing", "unit_inversion", "unit_typing" ], 0, - "9b0f003649946ce74e1a4ef1c1088ee2" + "7ed280f995f7df86a48e6ba82f967b89" ], [ "FStar.Tactics.Derived.try_with", @@ -562,7 +592,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6b3d7f84f941f1de2f7b0248830bca90" + "1c7dd1de7c85dd385d9d19873ad3a63e" ], [ "FStar.Tactics.Derived.repeat", @@ -579,7 +609,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6711171a3c17e8e92f4aaf1e2a3e6872" + "a965c4be77b8ded47c65ebe55a57d771" ], [ "FStar.Tactics.Derived.join_all_smt_goals", @@ -589,7 +619,7 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "disc_equation_FStar.Tactics.Result.Failed", + "bool_typing", "disc_equation_FStar.Tactics.Result.Failed", "disc_equation_FStar.Tactics.Result.Success", "equation_Prims.eqtype", "function_token_typing_FStar.Tactics.Types.goal", @@ -602,7 +632,7 @@ "typing_FStar.Tactics.Result.uu___is_Success", "unit_typing" ], 0, - "a4a8efde4d7f18bbafd538a0d39ba526" + "648ebcdcdec730d5e7fc7e1a071af6e8" ], [ "FStar.Tactics.Derived.revert_all", @@ -615,7 +645,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "a4f24dd107268b3cfe8a95f3d4af509a" + "1be452874f7ebb7f5fefeed60fc63668" ], [ "FStar.Tactics.Derived.__assumption_aux", @@ -628,7 +658,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "763f6affeadd87f0cff930c030cb6fb9" + "0e97bf3621ac1e51acdd865c07c67388" ], [ "FStar.Tactics.Derived.try_rewrite_equality", @@ -641,7 +671,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "4adc817128a3b4d739e7b8b4b14db719" + "aee3f2ad48d6edf986d8b7c7a5445f5b" ], [ "FStar.Tactics.Derived.rewrite_all_context_equalities", @@ -654,7 +684,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "17204682d5b3aa93fb813d29e34d2622" + "528828cf09eddfcbbd2903db769b0c5a" ], [ "FStar.Tactics.Derived.iseq", @@ -666,7 +696,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "860eae82de80caeb5697eb07f8fd280d" + "61c40e79f81202b25833f7bac2d60569" ], [ "FStar.Tactics.Derived.push1", @@ -676,10 +706,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_imp", "equation_Prims.squash", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "dc7641c6fe82d272afbfe468b1c7b253" + "98ff2b9ad4c10c77b73ee2f2e3059da6" ], [ "FStar.Tactics.Derived.apply_squash_or_lem", @@ -705,17 +735,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_FStar.Reflection.Formula.unsquash", "unit_typing" ], 0, - "ac4ecf6320114fda8751f28069e03e85" + "7bab55fea8a5164c351a3134f2b271a8" ], [ "FStar.Tactics.Derived.tlabel", - 1, + 2, 2, 1, [ @@ -728,11 +758,11 @@ "typing_FStar.Tactics.Result.uu___is_Failed" ], 0, - "8fd2d0538ffb8fab65fc7d07b392a6e8" + "633ef9560e496c53c383f244e5105c1c" ], [ "FStar.Tactics.Derived.tlabel'", - 1, + 2, 2, 1, [ @@ -745,7 +775,7 @@ "typing_FStar.Tactics.Result.uu___is_Failed" ], 0, - "17480e5171a343e9e865e43bf4cf3a8f" + "fa1ea8258099e61a6f6d1d38bd2b8942" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.Effect.fst b/ulib/FStar.Tactics.Effect.fst index 60e84ac9d95..e2a92aad831 100644 --- a/ulib/FStar.Tactics.Effect.fst +++ b/ulib/FStar.Tactics.Effect.fst @@ -112,7 +112,7 @@ let get = TAC?.__get let raise (#a:Type) (e:exn) = TAC?.__raise a e abstract -let with_tactic (t : unit -> Tac 'a) (p:Type) : Type = p +let with_tactic (t : unit -> Tac unit) (p:Type) : Type = p // This will run the tactic in order to (try to) produce a term of type t // It should not lead to any inconsistency, as any time this term appears @@ -120,16 +120,18 @@ let with_tactic (t : unit -> Tac 'a) (p:Type) : Type = p // is run. A failure of the tactic is a typechecking failure. assume val synth_by_tactic : (#t:Type) -> (unit -> Tac unit) -> Tot t +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" let assert_by_tactic (p:Type) (t:unit -> Tac unit) : Pure unit (requires (set_range_of (with_tactic t (squash p)) (range_of t))) (ensures (fun _ -> p)) = () +#pop-options (* We don't peel off all `with_tactic`s in negative positions, so give the SMT a way to reason about them *) -val by_tactic_seman : a:Type -> tau:(unit -> Tac a) -> phi:Type -> Lemma (with_tactic tau phi ==> phi) - [SMTPat (with_tactic tau phi)] -let by_tactic_seman a tau phi = () +val by_tactic_seman : tau:(unit -> Tac unit) -> phi:Type -> Lemma (with_tactic tau phi ==> phi) + [SMTPat (with_tactic tau phi)] +let by_tactic_seman tau phi = () (* One can always bypass the well-formedness of metaprograms. It does not matter * as they are only run at typechecking time, and if they get stuck, the compiler diff --git a/ulib/FStar.Tactics.Effect.fst.hints b/ulib/FStar.Tactics.Effect.fst.hints index fb9f8de3dab..3c79f43a994 100644 --- a/ulib/FStar.Tactics.Effect.fst.hints +++ b/ulib/FStar.Tactics.Effect.fst.hints @@ -1,5 +1,5 @@ [ - "3ìBÞ)îjW\u0004j\bøŽ:a\u000e", + ">’käÃs\u007f\u0007¸\u007f]º®4‰", [ [ "FStar.Tactics.Effect.__bind", @@ -8,7 +8,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_64e9fbfe7638fce4dffc18967df04099", + "FStar.Tactics.Effect_interpretation_Tm_arrow_752c55b9665aa73dde0f75f467fdfe70", "bool_inversion", "bool_typing", "disc_equation_FStar.Tactics.Result.Failed", "disc_equation_FStar.Tactics.Result.Success", @@ -19,7 +19,7 @@ "typing_FStar.Tactics.Types.set_proofstate_range" ], 0, - "8481977035b23dae4799ffb0752386b7" + "7dac3f277c711d33aa816ffca0b6a616" ], [ "FStar.Tactics.Effect.g_bind", @@ -35,7 +35,7 @@ "typing_FStar.Tactics.Result.uu___is_Failed" ], 0, - "4004febe9f27e7721a44373e5c803b64" + "20bd0a10d2d6f0b4c46a2b9f67f9ad72" ], [ "FStar.Tactics.Effect._dm4f_TAC___proj__TAC__item____raise_elab", @@ -44,7 +44,7 @@ 1, [ "@query" ], 0, - "c0ef62f256f704c9f0d274399670a35d" + "ed254066c03ce6925aba75cb16aeddb7" ], [ "FStar.Tactics.Effect._dm4f_TAC___proj__TAC__item____get_elab", @@ -53,7 +53,7 @@ 1, [ "@query" ], 0, - "4c335a9943c52514dcd60fdf913fb7ed" + "b5180c8bcfbab5a6b62f1655cd5f406e" ], [ "FStar.Tactics.Effect.TAC", @@ -62,7 +62,7 @@ 1, [ "@query" ], 0, - "39db6b50ed655fa8cc79e2eb48ee5218" + "d94082a28f49fc08427bea79a1a5143d" ], [ "FStar.Tactics.Effect.TAC", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "4a2f29777d12ae5ff01db1d96fc3ba4c" + "5563763378a02605ccd6fbc556e76268" ], [ "FStar.Tactics.Effect.assert_by_tactic", @@ -80,10 +80,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "675de326d21af973aa8918d9193a8b14" + "00ca53673c36bb8cb36b1b72c79785bf" ], [ "FStar.Tactics.Effect.__bind", @@ -92,7 +92,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_64e9fbfe7638fce4dffc18967df04099", + "FStar.Tactics.Effect_interpretation_Tm_arrow_752c55b9665aa73dde0f75f467fdfe70", "bool_inversion", "bool_typing", "disc_equation_FStar.Tactics.Result.Failed", "disc_equation_FStar.Tactics.Result.Success", @@ -103,7 +103,7 @@ "typing_FStar.Tactics.Types.set_proofstate_range" ], 0, - "4529110ae4b0839b8d7b6cd6fded7ccf" + "b73d76ab0116d4450e8a6d2d66a1a22c" ], [ "FStar.Tactics.Effect.g_bind", @@ -119,7 +119,7 @@ "typing_FStar.Tactics.Result.uu___is_Failed" ], 0, - "df04acb1749627a5e3823d75e07f29e5" + "4d05a4425b4a195bdf28ff9ca4e3b5d1" ], [ "FStar.Tactics.Effect._dm4f_TAC___proj__TAC__item____raise_elab", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "010b3a3844d64fc17dec794adcfd30aa" + "dd63e64bf3a4130036f3bc9b8c06a057" ], [ "FStar.Tactics.Effect._dm4f_TAC___proj__TAC__item____get_elab", @@ -137,7 +137,7 @@ 1, [ "@query" ], 0, - "3846235a64e656673c4e6146183c53af" + "3d54dd6a39116cc41ffcf9eb338c2fd1" ], [ "FStar.Tactics.Effect.TAC", @@ -146,7 +146,7 @@ 1, [ "@query" ], 0, - "758f88eaa43a3809b54cf2ef5e3a4a04" + "43c5e378f8831a4bd39b8eb0b97c4b26" ], [ "FStar.Tactics.Effect.TAC", @@ -155,7 +155,7 @@ 1, [ "@query" ], 0, - "395d6c9ec3bb0d225d3cffcf23144f39" + "52142758bb3ab15269e2d1929e25099a" ], [ "FStar.Tactics.Effect.assert_by_tactic", @@ -164,10 +164,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "01fd5e595a2b7964232b44fb48e73705" + "91779e0abe681e526c07038f1564ebd2" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.Logic.fst b/ulib/FStar.Tactics.Logic.fst index a88c22d2bbc..b763436409a 100644 --- a/ulib/FStar.Tactics.Logic.fst +++ b/ulib/FStar.Tactics.Logic.fst @@ -39,7 +39,7 @@ let rec l_revert_all (bs:binders) : Tac unit = private val fa_intro_lem : (#a:Type) -> (#p : (a -> Type)) -> (x:a -> squash (p x)) -> Lemma (forall (x:a). p x) -let fa_intro_lem #a #p f = FStar.Classical.lemma_forall_intro_gtot f +let fa_intro_lem #a #p f = FStar.Classical.lemma_forall_intro_gtot (fun x -> (f x) <: GTot (squash (p x))) let forall_intro () : Tac binder = apply_lemma (`fa_intro_lem); @@ -228,8 +228,15 @@ private let __forall_inst #t (#pred : t -> Type0) (h : (forall x. pred x)) (x : t) : squash (pred x) = () +(* GM: annoying that this doesn't just work by SMT *) +private +let __forall_inst_sq #t (#pred : t -> Type0) (h : squash (forall x. pred x)) (x : t) : squash (pred x) = + FStar.Squash.bind_squash h (fun (f : (forall x. pred x)) -> __forall_inst f x) + let instantiate (fa : term) (x : term) : Tac binder = - pose (`__forall_inst (`#fa) (`#x)) + try pose (`__forall_inst_sq (`#fa) (`#x)) with | _ -> + try pose (`__forall_inst (`#fa) (`#x)) with | _ -> + fail "could not instantiate" private let sklem0 (#a:Type) (#p : a -> Type0) ($v : (exists (x:a). p x)) (phi:Type0) : diff --git a/ulib/FStar.Tactics.Logic.fst.hints b/ulib/FStar.Tactics.Logic.fst.hints index 7451b70f57f..b3a980f8b90 100644 --- a/ulib/FStar.Tactics.Logic.fst.hints +++ b/ulib/FStar.Tactics.Logic.fst.hints @@ -1,5 +1,5 @@ [ - "·#¯\b>Ô>ž.Å9§KLM", + "Ä\u000e·D>pŠ=U\u0002˜N+a", [ [ "FStar.Tactics.Logic.revert_squash", @@ -8,10 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0eb0cf328d6b2e206a206f7c3e258658" + "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "0579f60834ad6792b3acc4301b2aec30" + "cca7ebbf116de82dba92b6265405a496" ], [ "FStar.Tactics.Logic.l_revert_all", @@ -24,7 +24,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "e6982a4af6b7fab54f1d9ba6cbd046a7" + "69cf8923c265febc507e8c6582d119fe" ], [ "FStar.Tactics.Logic.fa_intro_lem", @@ -33,7 +33,7 @@ 1, [ "@query" ], 0, - "9c980ff5329ef2fb0c1ca2d15321541c" + "16bc1934a17620458975eab49822ece0" ], [ "FStar.Tactics.Logic.split_lem", @@ -42,10 +42,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "153d4a3c8066b8da678040b5046b6344" + "a263a19179b5f2331817c44da3039239" ], [ "FStar.Tactics.Logic.imp_intro_lem", @@ -54,7 +54,7 @@ 1, [ "@query" ], 0, - "2669e1481184b3858018a61a51d36a05" + "3cf2bcad93656c15ab3db17e0dc15f90" ], [ "FStar.Tactics.Logic.__lemma_to_squash", @@ -63,10 +63,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d4c19e47a2ca8249135d95b0bfbb03b0" + "05a5c87e0d8e48e8cb9c535a6bc7fbcf" ], [ "FStar.Tactics.Logic.simplify_eq_implication", @@ -89,7 +89,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "43c3920c94ebf178267e7b29d73cb44d" + "5ab0824a6b5d05c325362585d3cfa7f6" ], [ "FStar.Tactics.Logic.unfold_definition_and_simplify_eq", @@ -112,7 +112,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "d02f9be9f02eaf0e203d3c7b95099d64" + "1dec0ed2213b1ac868117f1223120a4c" ], [ "FStar.Tactics.Logic.vbind", @@ -121,7 +121,7 @@ 1, [ "@query" ], 0, - "0895290524f5dd01d3efbf8a65434fcf" + "c7ea335db300bdd85084af5527e10fa6" ], [ "FStar.Tactics.Logic.or_ind", @@ -131,11 +131,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_imp", "equation_Prims.squash", "l_imp-interp", - "refinement_interpretation_Tm_refine_4fb1d161aef9b25d910956869a6f6bec", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_fe5dc86c0b5ea8bea91e659ca9e2937e" ], 0, - "97f97d2c7e236974811ee57dd7f6e562" + "53469b5546242de4b44873482f7e20b8" ], [ "FStar.Tactics.Logic.bool_ind", @@ -145,10 +145,10 @@ [ "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", "equation_Prims.l_imp", "equation_Prims.squash", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "8749e189473078e532466a2e33c4494c" + "a8678babf1ae736e50b91a3ef96ddf90" ], [ "FStar.Tactics.Logic.or_intro_1", @@ -157,10 +157,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d1d5bdac6cc4d78508d8f144824726bf" + "db2ca32d7a68bd6d905deb4f81a30b21" ], [ "FStar.Tactics.Logic.or_intro_2", @@ -169,10 +169,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f7ed32fca61236f3c772e4953827f3a7" + "3369c83d912de6548f39fb78ea5d70ac" ], [ "FStar.Tactics.Logic.__and_elim", @@ -182,11 +182,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_imp", "equation_Prims.squash", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_b889b19b3d1b749e7e6619d0022a6af7" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" ], 0, - "726d4d71ad19947529370221264ed229" + "438e5066b7bc189fdc4b254268301c60" ], [ "FStar.Tactics.Logic.__witness", @@ -195,10 +195,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d274cd0ebc41bd4eec88fbdabcd8ca20" + "00f01ab8583734cfd41a295729b034d5" ], [ "FStar.Tactics.Logic.__forall_inst", @@ -207,10 +207,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0eb0cf328d6b2e206a206f7c3e258658" + "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "fd6f6e92c6f04e3cfffd1b14281cd8f9" + "bd84a429e6497207453fb4b0243ee3a4" ], [ "FStar.Tactics.Logic.sklem0", @@ -219,10 +219,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d16de86ec5446f55c1622708945a0449" + "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" ], 0, - "465f93228e74d6206cedef1252cd91d4" + "17ff32fc3aaef87d8c43831ac83719b4" ], [ "FStar.Tactics.Logic.revert_squash", @@ -231,10 +231,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0eb0cf328d6b2e206a206f7c3e258658" + "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "6c8d40a803b6b1a8f27be42ca14d19b1" + "7455e7349080b5c1315d0f35b87380c8" ], [ "FStar.Tactics.Logic.l_revert_all", @@ -247,7 +247,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "79b93df12708084d92e25f12e64c5b45" + "2fa7870a897514e4abf0b1b407fce113" ], [ "FStar.Tactics.Logic.__lemma_to_squash", @@ -256,10 +256,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "15af5e82544e3cad1ae6162bda20606b" + "4f7a8c8a4c6385d0954b72fc7762d646" ], [ "FStar.Tactics.Logic.simplify_eq_implication", @@ -267,11 +267,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Formula_pretyping_b073e375dc2ba165c16a483cd56ed8f1", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Formula.False_@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_FStar.Reflection.Types.typ", @@ -282,7 +279,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "33569c0f722ee123cfc165f197945dc5" + "c9683b220f840714894ab1bfe9ead485" ], [ "FStar.Tactics.Logic.unfold_definition_and_simplify_eq", @@ -305,7 +302,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "80d917f20d352db57931bde9da1bda30" + "ae6546208a9a4c5685359f8869cae729" ], [ "FStar.Tactics.Logic.__witness", @@ -314,10 +311,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "156f454900ac669a7a2af0e7bb5e3c07" + "77b22451910324075c91fca7a86b78b8" ], [ "FStar.Tactics.Logic.__forall_inst", @@ -326,10 +323,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0eb0cf328d6b2e206a206f7c3e258658" + "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" ], 0, - "4e1e88bf97d78b63509c1d5b2d90cbf2" + "55e36a424f0bb2bd92c3a7776732ac90" ], [ "FStar.Tactics.Logic.skolem", @@ -348,7 +345,7 @@ "typing_FStar.Tactics.Result.uu___is_Success" ], 0, - "621da7a3e60c41478579089ee310543a" + "264ec1e27042d4d2a09b15b229efa608" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.PatternMatching.fst.hints b/ulib/FStar.Tactics.PatternMatching.fst.hints index bba09da22ec..c5bf7920021 100644 --- a/ulib/FStar.Tactics.PatternMatching.fst.hints +++ b/ulib/FStar.Tactics.PatternMatching.fst.hints @@ -15,7 +15,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "08a4637b44cbf8888468d26ae8057b7b" + "bbb7264ab9f10eb8dc3290dad3cd7cce" ], [ "FStar.Tactics.PatternMatching.pattern", @@ -30,7 +30,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8b8b877ad24bfb99b893f5b1da9e1e78" + "1fe564827fd65f64c0513382dc028948" ], [ "FStar.Tactics.PatternMatching.__proj__PVar__item__name", @@ -44,7 +44,7 @@ "refinement_interpretation_Tm_refine_d9b8f24a6bf5cc20c41ce6c89e40c950" ], 0, - "660c20d267add414a536b1dc3bd959ce" + "691f75570e69ee043bdb4ecd9043c26f" ], [ "FStar.Tactics.PatternMatching.__proj__PQn__item__qn", @@ -58,7 +58,7 @@ "refinement_interpretation_Tm_refine_dcacada30c995d5df0dda904debf8ade" ], 0, - "fa80c45768590b2c2e8c36cf15baf899" + "809d847afddfdec371b5f2a1bf72d03a" ], [ "FStar.Tactics.PatternMatching.__proj__PApp__item__hd", @@ -72,7 +72,7 @@ "refinement_interpretation_Tm_refine_9c9103fa0efee5895701796be6312906" ], 0, - "cfe5039a1dc7da65090e2a507321f5f7" + "10baf6e389bcc5ed9b7c7c8c709fd18f" ], [ "FStar.Tactics.PatternMatching.__proj__PApp__item__arg", @@ -86,7 +86,7 @@ "refinement_interpretation_Tm_refine_9c9103fa0efee5895701796be6312906" ], 0, - "2c914b53a7ff8142f1c4e3a500df42c6" + "819767385ff26a972f194ff26da4feec" ], [ "FStar.Tactics.PatternMatching.desc_of_pattern", @@ -103,7 +103,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.pattern" ], 0, - "2513d1d119fe47c3aafb971d4224818c" + "65b94f47a1376946b86e6e14d346fabd" ], [ "FStar.Tactics.PatternMatching.string_of_pattern", @@ -124,7 +124,7 @@ "subterm_ordering_FStar.Tactics.PatternMatching.PApp" ], 0, - "d84b3301fce7b238a0d0d56471814e82" + "dc0ad88eb231e6bd86c2433c22ad3fc9" ], [ "FStar.Tactics.PatternMatching.__proj__NameMismatch__item___0", @@ -138,7 +138,7 @@ "refinement_interpretation_Tm_refine_d15f1db5894be4fd72d8d2d81b3b66a4" ], 0, - "242381534192a46655ff15e3fca39a00" + "1b9710c36c169356037b55bc77af0f5f" ], [ "FStar.Tactics.PatternMatching.__proj__SimpleMismatch__item___0", @@ -152,7 +152,7 @@ "refinement_interpretation_Tm_refine_db12bca470f96953211e00dbb78ca79e" ], 0, - "04565d90ba28c4a69a73b4a8b086fcaf" + "0946f8478e23a9fde1a37d06baa43d4a" ], [ "FStar.Tactics.PatternMatching.__proj__NonLinearMismatch__item___0", @@ -166,7 +166,7 @@ "refinement_interpretation_Tm_refine_73b112489bf96f9d8e50c987ef430115" ], 0, - "1f8cb1ba2ee7396b84b84075085910af" + "0e63f2b7e9e2ad0e7b656d02ecae0753" ], [ "FStar.Tactics.PatternMatching.__proj__UnsupportedTermInPattern__item___0", @@ -180,7 +180,7 @@ "refinement_interpretation_Tm_refine_58dbf4b11eef86ba37dc4ef8aba2e392" ], 0, - "3892bec68dc0dbf9ef0685078a3fbc6b" + "1b23b72e60bf74940ec9e1efd7fc8118" ], [ "FStar.Tactics.PatternMatching.__proj__IncorrectTypeInAbsPatBinder__item___0", @@ -194,7 +194,7 @@ "refinement_interpretation_Tm_refine_efa8ec6f8c16043b47d24fee8a829b8b" ], 0, - "529a6ae69ecb855237bd9f0db797240c" + "f0da505cd1250ab5420d559b490dc92c" ], [ "FStar.Tactics.PatternMatching.term_head", @@ -225,7 +225,24 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "199f66abc1f6811fb086bfc834feaf31" + "1edc74f8795641557016992406b66bf6" + ], + [ + "FStar.Tactics.PatternMatching.string_of_match_exception", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Tactics.PatternMatching.IncorrectTypeInAbsPatBinder", + "disc_equation_FStar.Tactics.PatternMatching.NameMismatch", + "disc_equation_FStar.Tactics.PatternMatching.NonLinearMismatch", + "disc_equation_FStar.Tactics.PatternMatching.SimpleMismatch", + "disc_equation_FStar.Tactics.PatternMatching.UnsupportedTermInPattern", + "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_exception" + ], + 0, + "23a91a5e8ab7e9aa8d757c8b6ca7905f" ], [ "FStar.Tactics.PatternMatching.__proj__Success__item___0", @@ -239,7 +256,7 @@ "refinement_interpretation_Tm_refine_c7ba5c40c025be2c3a156f4b8aedaf8a" ], 0, - "b81a584c99cf4df7ad3a954c52f04b9b" + "e83bddc83c87e30f9e8fb82929d3598b" ], [ "FStar.Tactics.PatternMatching.__proj__Failure__item___0", @@ -253,7 +270,7 @@ "refinement_interpretation_Tm_refine_316fd14117972ae9c59d166cb1539224" ], 0, - "c039c82f62628b7cb79db3bb342f5e60" + "5dea8ef1d7fc98cea70520358bc7b0b1" ], [ "FStar.Tactics.PatternMatching.bind", @@ -267,7 +284,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res" ], 0, - "6a2c35054b553cbe568995cf2f6baec4" + "f4578cd5c4358c8efda623e4f4bfdcc5" ], [ "FStar.Tactics.PatternMatching.lift_exn_tac", @@ -276,7 +293,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Tactics.PatternMatching_interpretation_Tm_arrow_813b8aacca349c8fa5ab637311715324", + "FStar.Tactics.PatternMatching_interpretation_Tm_arrow_c448ca131e09253e09abe66eed971a77", "disc_equation_FStar.Tactics.PatternMatching.Failure", "disc_equation_FStar.Tactics.PatternMatching.IncorrectTypeInAbsPatBinder", "disc_equation_FStar.Tactics.PatternMatching.NameMismatch", @@ -288,7 +305,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res" ], 0, - "dfd4b6102c1ab4545127d812fab132bb" + "40ce18f3fbe7857832e52559ed5b4cd4" ], [ "FStar.Tactics.PatternMatching.lift_exn_tactic", @@ -297,7 +314,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Tactics.PatternMatching_interpretation_Tm_arrow_813b8aacca349c8fa5ab637311715324", + "FStar.Tactics.PatternMatching_interpretation_Tm_arrow_c448ca131e09253e09abe66eed971a77", "disc_equation_FStar.Tactics.PatternMatching.Failure", "disc_equation_FStar.Tactics.PatternMatching.IncorrectTypeInAbsPatBinder", "disc_equation_FStar.Tactics.PatternMatching.NameMismatch", @@ -309,7 +326,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res" ], 0, - "562724bdd9b0e79f97a7d67c1e7be6f2" + "e7486b81721433d188bcc148360ee4c5" ], [ "FStar.Tactics.PatternMatching.match_term", @@ -336,7 +353,7 @@ "projection_inverse_FStar.Tactics.Result.Failed_ps" ], 0, - "9388270b9862ade005d5f9b201060486" + "2c6f09de04f974c885d6a0260a0e37c9" ], [ "FStar.Tactics.PatternMatching.string_of_matching_problem", @@ -355,7 +372,7 @@ "typing_FStar.Tactics.PatternMatching.__proj__Mkmatching_problem__item__mp_goal" ], 0, - "a444fb2b9427bbbfef6c787ed21e0296" + "4247616cdc06e06fb272bece911b65a2" ], [ "FStar.Tactics.PatternMatching.assoc_varname_fail", @@ -375,7 +392,7 @@ "typing_FStar.List.Tot.Base.assoc" ], 0, - "691946728423132a5b35f69c04ec8d80" + "b4e9256fe250a678791425458944a1c2" ], [ "FStar.Tactics.PatternMatching.solve_mp_for_single_hyp", @@ -401,7 +418,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "b440b3285ebb7a54448803fd0d0b1ef9" + "325875478fac1e2af8d9a43ab7344387" ], [ "FStar.Tactics.PatternMatching.solve_mp_for_hyps", @@ -413,7 +430,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "76f81cd66f8618da2734a645bd5e0fcf" + "d00837b72857f30a895b0f9ab99f13b4" ], [ "FStar.Tactics.PatternMatching.solve_mp", @@ -445,7 +462,7 @@ "typing_FStar.Tactics.PatternMatching.__proj__Mkmatching_problem__item__mp_goal" ], 0, - "492386740800a4ad93991b688ef98595" + "13cca55498fc491bcc4194557c84a2f5" ], [ "FStar.Tactics.PatternMatching.pattern_of_term", @@ -469,7 +486,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "a858b973bb4ae19674f7cd9803210f21" + "58bcf4682482d72c17ca1dfdb2f911a2" ], [ "FStar.Tactics.PatternMatching.__proj__ABKVar__item___0", @@ -483,7 +500,7 @@ "refinement_interpretation_Tm_refine_08c29827d03e4af73e9edc0810d78998" ], 0, - "16ddbdc928f88468d0540a80e978dcb6" + "e166bba0776597fe9b68c3e6678a5a70" ], [ "FStar.Tactics.PatternMatching.string_of_abspat_binder_kind", @@ -498,7 +515,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind" ], 0, - "b85695804aa0daafab89d935f5625e6b" + "39b56a933c2aaec23c2cbcfbb9a00298" ], [ "FStar.Tactics.PatternMatching.classify_abspat_binder", @@ -515,7 +532,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "777e1e79de13b2866b588150cd721b5d" + "f294d7a6394349c6097848a2fc5c32ed" ], [ "FStar.Tactics.PatternMatching.matching_problem_of_abs", @@ -542,7 +559,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "unit_typing" ], 0, - "374aba94daec1e01ec5dae480a98e07d" + "683575291bd0fc69a29ef6fbc068560a" ], [ "FStar.Tactics.PatternMatching.arg_type_of_binder_kind", @@ -557,7 +574,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind" ], 0, - "ee8e316509367d6d4361f2eef0929aa2" + "95746cd732c4433d6192180b1e5aab4d" ], [ "FStar.Tactics.PatternMatching.locate_fn_of_binder_kind", @@ -572,7 +589,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind" ], 0, - "81307555b249cec53a5cf5b41a9e7083" + "a448604acdd031957d4c2428013b39e9" ], [ "FStar.Tactics.PatternMatching.specialize_abspat_continuation'", @@ -589,7 +606,7 @@ "typing_FStar.Tactics.Result.uu___is_Success" ], 0, - "1d0925e7b76e78e9a1fe5038e3f6e98b" + "bdbaa8db86f07e359a14c6d297160d0c" ], [ "FStar.Tactics.PatternMatching.fetch_eq_side'", @@ -606,7 +623,7 @@ "typing_FStar.Tactics.Result.uu___is_Success" ], 0, - "8d9713674bfb763381035d214a8c2439" + "d3384e308dbdd4e87f2d78fb09527d8e" ], [ "FStar.Tactics.PatternMatching.mustfail", @@ -622,7 +639,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "692d79024f6546008586c90723bfa192" + "b944f8287db5d43bd00875072aa9a192" ], [ "FStar.Tactics.PatternMatching.pattern", @@ -637,7 +654,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "896181ede49b214d3e5ac46baadec9d2" + "40a648896cb4c6dde67d2a765b15ceee" ], [ "FStar.Tactics.PatternMatching.__proj__PVar__item__name", @@ -651,7 +668,7 @@ "refinement_interpretation_Tm_refine_d9b8f24a6bf5cc20c41ce6c89e40c950" ], 0, - "1eab330fedab3247235305fd0e87c9eb" + "d69c5f5eea8b529d4767115b8d5df12e" ], [ "FStar.Tactics.PatternMatching.__proj__PQn__item__qn", @@ -665,7 +682,7 @@ "refinement_interpretation_Tm_refine_dcacada30c995d5df0dda904debf8ade" ], 0, - "b4bfa428e1704e45a46ce2ffd5f81d63" + "8a320619a075e6b11904ee914eb77333" ], [ "FStar.Tactics.PatternMatching.__proj__PApp__item__hd", @@ -679,7 +696,7 @@ "refinement_interpretation_Tm_refine_9c9103fa0efee5895701796be6312906" ], 0, - "72723289d26042c113c46be42fc80097" + "79f8330ad640e9afdee61306f249159a" ], [ "FStar.Tactics.PatternMatching.__proj__PApp__item__arg", @@ -693,7 +710,7 @@ "refinement_interpretation_Tm_refine_9c9103fa0efee5895701796be6312906" ], 0, - "3a3b41c0123dae2b194a06f9a28b5899" + "958bad8f2a2a83466bef8b297cdc0252" ], [ "FStar.Tactics.PatternMatching.desc_of_pattern", @@ -710,7 +727,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.pattern" ], 0, - "530283ee5033e55fe1c7ddbba758563b" + "ad7d79a55d5e143aa98ab338ed15dde5" ], [ "FStar.Tactics.PatternMatching.string_of_pattern", @@ -731,7 +748,7 @@ "subterm_ordering_FStar.Tactics.PatternMatching.PApp" ], 0, - "592cd017abb73b2294d0dcd1e2d7db61" + "0c922fa487c5d2dc90fa7e21e3438baa" ], [ "FStar.Tactics.PatternMatching.__proj__NameMismatch__item___0", @@ -745,7 +762,7 @@ "refinement_interpretation_Tm_refine_d15f1db5894be4fd72d8d2d81b3b66a4" ], 0, - "b7689c7d87cf8f3cfe5a73f435473cea" + "0a3cb2dfcfeac4395a94e6c11fbc6d8e" ], [ "FStar.Tactics.PatternMatching.__proj__SimpleMismatch__item___0", @@ -759,7 +776,7 @@ "refinement_interpretation_Tm_refine_db12bca470f96953211e00dbb78ca79e" ], 0, - "b60046109fdbb06f3515e2157dacded1" + "16a136d97184111424dcfc11794b7716" ], [ "FStar.Tactics.PatternMatching.__proj__NonLinearMismatch__item___0", @@ -773,7 +790,7 @@ "refinement_interpretation_Tm_refine_73b112489bf96f9d8e50c987ef430115" ], 0, - "d3044ca02d90634c55b8b4058900e83f" + "8f0459efdd20099a3608452bc4af9cdd" ], [ "FStar.Tactics.PatternMatching.__proj__UnsupportedTermInPattern__item___0", @@ -787,7 +804,7 @@ "refinement_interpretation_Tm_refine_58dbf4b11eef86ba37dc4ef8aba2e392" ], 0, - "cee7459775302ecf24ecb6c13d668f02" + "650860e53ca2407181321126022d4faf" ], [ "FStar.Tactics.PatternMatching.__proj__IncorrectTypeInAbsPatBinder__item___0", @@ -801,7 +818,7 @@ "refinement_interpretation_Tm_refine_efa8ec6f8c16043b47d24fee8a829b8b" ], 0, - "25c9d7cbcd28fe6735923beca1ae7714" + "c8dffb17980a898502b70781d3d27f78" ], [ "FStar.Tactics.PatternMatching.term_head", @@ -832,11 +849,11 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "61c07c2ffb5581dd329cb9e84849761b" + "56f2d897c262c76917562aa57be05d2a" ], [ "FStar.Tactics.PatternMatching.string_of_match_exception", - 1, + 2, 2, 1, [ @@ -850,7 +867,7 @@ "typing_FStar.Tactics.Result.uu___is_Success" ], 0, - "3b53db54e674c089c8afa21565127e48" + "82bc8685e5bc869866697e78124a89fd" ], [ "FStar.Tactics.PatternMatching.__proj__Success__item___0", @@ -864,7 +881,7 @@ "refinement_interpretation_Tm_refine_c7ba5c40c025be2c3a156f4b8aedaf8a" ], 0, - "3ad3f2abc8490ddbc5fa88be98957a93" + "7aabf126f377a6dae55a5344b496f485" ], [ "FStar.Tactics.PatternMatching.__proj__Failure__item___0", @@ -878,7 +895,7 @@ "refinement_interpretation_Tm_refine_316fd14117972ae9c59d166cb1539224" ], 0, - "e4345b69e913ce01ddfcf14140b28b96" + "905c3aca000a1aaabbdfb3bbc8782c5f" ], [ "FStar.Tactics.PatternMatching.bind", @@ -892,7 +909,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res" ], 0, - "93c78627a645ef6a33297d80a6c59106" + "26ebf75a3fea4e0bcd35052c51283b2d" ], [ "FStar.Tactics.PatternMatching.lift_exn_tac", @@ -901,7 +918,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Tactics.PatternMatching_interpretation_Tm_arrow_813b8aacca349c8fa5ab637311715324", + "FStar.Tactics.PatternMatching_interpretation_Tm_arrow_c448ca131e09253e09abe66eed971a77", "disc_equation_FStar.Tactics.PatternMatching.Failure", "disc_equation_FStar.Tactics.PatternMatching.IncorrectTypeInAbsPatBinder", "disc_equation_FStar.Tactics.PatternMatching.NameMismatch", @@ -913,7 +930,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res" ], 0, - "70e235a99c1e61ed0e9add76e9329d3b" + "35f1ce3f87485ad055345f0567ed94de" ], [ "FStar.Tactics.PatternMatching.lift_exn_tactic", @@ -922,7 +939,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Tactics.PatternMatching_interpretation_Tm_arrow_813b8aacca349c8fa5ab637311715324", + "FStar.Tactics.PatternMatching_interpretation_Tm_arrow_c448ca131e09253e09abe66eed971a77", "disc_equation_FStar.Tactics.PatternMatching.Failure", "disc_equation_FStar.Tactics.PatternMatching.IncorrectTypeInAbsPatBinder", "disc_equation_FStar.Tactics.PatternMatching.NameMismatch", @@ -934,7 +951,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res" ], 0, - "70458e879e9d734242f3748a5fa8971e" + "999d05800a2534e4a7966d82df6caca1" ], [ "FStar.Tactics.PatternMatching.string_of_bindings", @@ -951,7 +968,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8973e826ea4759bc9db1de15e85aa747" + "166408cf75f8795655e9d75b6f7067f8" ], [ "FStar.Tactics.PatternMatching.match_term", @@ -978,7 +995,7 @@ "projection_inverse_FStar.Tactics.Result.Failed_ps" ], 0, - "742cca4f85858d39283b9b7e53c71f21" + "967bd5af8b8d22df97a50a39a3a1d803" ], [ "FStar.Tactics.PatternMatching.string_of_matching_problem", @@ -997,7 +1014,7 @@ "typing_FStar.Tactics.PatternMatching.__proj__Mkmatching_problem__item__mp_goal" ], 0, - "8971b01996f0434566c23c298622db7f" + "31f1830676d9ecef958b6f0eadfb5bae" ], [ "FStar.Tactics.PatternMatching.string_of_matching_solution", @@ -1016,7 +1033,7 @@ "typing_FStar.Tactics.Result.uu___is_Success" ], 0, - "19259825d241cfeec5f25174f676891e" + "de525b8f782d55f93411f16d6912ae7d" ], [ "FStar.Tactics.PatternMatching.assoc_varname_fail", @@ -1026,17 +1043,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", + "@query", "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Tactics.PatternMatching.varname", - "function_token_typing_Prims.string", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "typing_FStar.List.Tot.Base.assoc" + "typing_FStar.List.Tot.Base.assoc", + "typing_FStar.Pervasives.Native.uu___is_Some", + "typing_FStar.Tactics.PatternMatching.varname" ], 0, - "732548eed3b1ae52129ce41bbf07d6e9" + "e925698f72b3a64a853c102884669dee" ], [ "FStar.Tactics.PatternMatching.solve_mp_for_single_hyp", @@ -1062,7 +1079,7 @@ "fuel_guarded_inversion_Prims.list" ], 0, - "13d9769931535ed11b6add0a9368a847" + "3979cd95711e18af9a0f3a3f2ad0c913" ], [ "FStar.Tactics.PatternMatching.solve_mp_for_hyps", @@ -1074,7 +1091,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "60900ceef87ca8644c68178e2f7e2d50" + "c15ea49f32483ecf4bf3897ec21f3283" ], [ "FStar.Tactics.PatternMatching.solve_mp", @@ -1106,7 +1123,7 @@ "typing_FStar.Tactics.PatternMatching.__proj__Mkmatching_problem__item__mp_goal" ], 0, - "ff63082d31cd2446ec9aabb664583a10" + "2243378c5ccc78ae9c26ff198f027b56" ], [ "FStar.Tactics.PatternMatching.pattern_of_term", @@ -1130,7 +1147,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "71f8ba9721565bed00aae287057f7789" + "cc2f24b5627965be73592a12ee419507" ], [ "FStar.Tactics.PatternMatching.__proj__ABKVar__item___0", @@ -1144,7 +1161,7 @@ "refinement_interpretation_Tm_refine_08c29827d03e4af73e9edc0810d78998" ], 0, - "5b93b29f7118a6d6ceeab65852721b92" + "b101e2325c4b639d37b6ccfc481fd616" ], [ "FStar.Tactics.PatternMatching.string_of_abspat_binder_kind", @@ -1159,7 +1176,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind" ], 0, - "480e3c14b019b58ac196002f1cd4ed49" + "abda5e0097154520b808dc173bc3101a" ], [ "FStar.Tactics.PatternMatching.classify_abspat_binder", @@ -1176,7 +1193,7 @@ "fuel_guarded_inversion_FStar.Tactics.Result.__result" ], 0, - "4c707b8a59ac7ce783590f4e252e43dd" + "59b0182509ea7bf4b20fa9a37bfa5ed2" ], [ "FStar.Tactics.PatternMatching.matching_problem_of_abs", @@ -1191,10 +1208,9 @@ "disc_equation_FStar.Tactics.PatternMatching.ABKGoal", "disc_equation_FStar.Tactics.PatternMatching.ABKHyp", "disc_equation_FStar.Tactics.PatternMatching.ABKVar", - "equation_FStar.UInt.min_int", + "equation_FStar.Reflection.Types.binders", "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind", "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", @@ -1203,7 +1219,7 @@ "projection_inverse_FStar.Tactics.Result.Success_v", "unit_typing" ], 0, - "377d711b2f6a12bcafdd97f7aa216f11" + "c432bf940fd0c22d6edeb7ceb575092a" ], [ "FStar.Tactics.PatternMatching.arg_type_of_binder_kind", @@ -1218,7 +1234,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind" ], 0, - "85142d634c25eaa5a9e96db909218222" + "850524b72b0243663064367749235c16" ], [ "FStar.Tactics.PatternMatching.locate_fn_of_binder_kind", @@ -1233,7 +1249,7 @@ "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind" ], 0, - "219f333b5a3b5d638298f0c24dc00e1d" + "5b5d7d15a2fe31e8fcdf6432532bad14" ], [ "FStar.Tactics.PatternMatching.specialize_abspat_continuation'", @@ -1250,7 +1266,7 @@ "typing_FStar.Tactics.Result.uu___is_Success" ], 0, - "30d8a74d2be3be93c008a059427678c3" + "c21ca2c4204573e47a4276967c038edc" ], [ "FStar.Tactics.PatternMatching.fetch_eq_side'", @@ -1267,7 +1283,7 @@ "typing_FStar.Tactics.Result.uu___is_Success" ], 0, - "3134b4ecac211477b0b9090f2d6ce7bd" + "84cbb4551051440c8115ca5eeb1247d1" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.Result.fst.hints b/ulib/FStar.Tactics.Result.fst.hints index a5beb4a37e4..91d38df6bf0 100644 --- a/ulib/FStar.Tactics.Result.fst.hints +++ b/ulib/FStar.Tactics.Result.fst.hints @@ -13,7 +13,7 @@ "refinement_interpretation_Tm_refine_29b9adb85ab54486bb858ab07eefa868" ], 0, - "676dcf959d6df4b17d573c79bba68cc5" + "8b2485a77d76ea537f1fb13c4f3353d4" ], [ "FStar.Tactics.Result.__proj__Success__item__ps", @@ -27,7 +27,7 @@ "refinement_interpretation_Tm_refine_29b9adb85ab54486bb858ab07eefa868" ], 0, - "e1752b75e7effb2fb90a697d0c925b6f" + "7bc9e58c5465c581591063c6bab13964" ], [ "FStar.Tactics.Result.__proj__Failed__item__exn", @@ -41,7 +41,7 @@ "refinement_interpretation_Tm_refine_e5441e7c5a446e2437660eff2f66dd32" ], 0, - "8ca848da34ba597066747751d7aa416d" + "774fd991a93b8ee5b2fe76a895e3704e" ], [ "FStar.Tactics.Result.__proj__Failed__item__ps", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_e5441e7c5a446e2437660eff2f66dd32" ], 0, - "dc2cdb5ac4a8ac65d7ce8013a895321d" + "e83b7e019d696910efeb362e986d172a" ], [ "FStar.Tactics.Result.result_split", @@ -70,7 +70,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "5c66b0f4436e78307394163386692463" + "3013513e417a38b7dd747a7e2ac688a8" ], [ "FStar.Tactics.Result.__proj__Success__item__v", @@ -84,7 +84,7 @@ "refinement_interpretation_Tm_refine_29b9adb85ab54486bb858ab07eefa868" ], 0, - "ce503435e06f9a55298fd97daf1a5613" + "44f7df4393021988db465610128ed5a3" ], [ "FStar.Tactics.Result.__proj__Success__item__ps", @@ -98,7 +98,7 @@ "refinement_interpretation_Tm_refine_29b9adb85ab54486bb858ab07eefa868" ], 0, - "f244f6faf385ac6ec819f7b32aeab3b5" + "ffbd2625619ad06b8efd3953ae54e6a3" ], [ "FStar.Tactics.Result.__proj__Failed__item__exn", @@ -112,7 +112,7 @@ "refinement_interpretation_Tm_refine_e5441e7c5a446e2437660eff2f66dd32" ], 0, - "04be0a19f69639f53958d12b08d125b6" + "711718da7b220dd9051f3d0b11f60563" ], [ "FStar.Tactics.Result.__proj__Failed__item__ps", @@ -126,7 +126,7 @@ "refinement_interpretation_Tm_refine_e5441e7c5a446e2437660eff2f66dd32" ], 0, - "d87e71c2fcd5f25ef0dd0cec508ce819" + "f8e2c031a2eca90b514358492d8b4ad5" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.Simplifier.fst.hints b/ulib/FStar.Tactics.Simplifier.fst.hints index cb140fbe063..6150dd4e071 100644 --- a/ulib/FStar.Tactics.Simplifier.fst.hints +++ b/ulib/FStar.Tactics.Simplifier.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_iff", "equation_Prims.squash", "l_iff-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "160d3a80acef0291ddfcf58ceeb0c4e5" + "d6b29ce7fa868d3467303b490a4f590d" ], [ "FStar.Tactics.Simplifier.lem_fa_false", @@ -21,7 +21,7 @@ 1, [ "@query" ], 0, - "fc0748de094aaba6fdd5e74834cf7a35" + "7d8a05c00ce0538862fcdb85c234b92c" ], [ "FStar.Tactics.Simplifier.lem_ex_true", @@ -30,7 +30,7 @@ 1, [ "@query" ], 0, - "89be8536939085d95a525260f5425667" + "7b94a17ee394e1ec687fd98d6a63fbdc" ], [ "FStar.Tactics.Simplifier.and_cong", @@ -40,10 +40,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_iff", "equation_Prims.squash", "l_iff-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "fd586d655a15fbfc5e8403464f239e47" + "79eb39249a01034f6468921ea344cb27" ], [ "FStar.Tactics.Simplifier.or_cong", @@ -53,10 +53,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_iff", "equation_Prims.squash", "l_iff-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e2fae6db12bd4df320b2c607abd15a2a" + "7decb80e322c8693f8f95a84817165b5" ], [ "FStar.Tactics.Simplifier.imp_cong", @@ -66,10 +66,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_iff", "equation_Prims.squash", "l_iff-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4be18a38bdad2be15b179f19b8d2c443" + "a1258106fb64f6a14aea8cc176f1405a" ], [ "FStar.Tactics.Simplifier.neg_cong", @@ -79,10 +79,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_iff", "equation_Prims.squash", "l_iff-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c0f8a7a4d2fbb83a6f4676be67d15432" + "c992d7544c7ebc1de7d52eee8e7cb6bb" ], [ "FStar.Tactics.Simplifier.iff_cong", @@ -92,10 +92,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_iff", "equation_Prims.squash", "l_iff-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3e8ff1a0824a077458973045fcabff26" + "ccd5cba57e89fa20f1fa6629d4f70f8d" ], [ "FStar.Tactics.Simplifier.inhabit", @@ -111,7 +111,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "58f8d558c9421a585b9ec299036186b2" + "84fee7ad0a54fa004df4769116ff03c8" ], [ "FStar.Tactics.Simplifier.equiv", @@ -121,10 +121,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_iff", "equation_Prims.squash", "l_and-interp", "l_imp-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d2af89a5e5b9beda162e74e903111aac" + "121ae5269b9a7486acfa46a1a9e59b22" ], [ "FStar.Tactics.Simplifier.inhabit", @@ -140,7 +140,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9be8280910bf098272154212d13634f9" + "53954de1fffc60d88860e3d284b73217" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.Typeclasses.fst b/ulib/FStar.Tactics.Typeclasses.fst index 600f857e0dd..e03305f94d0 100644 --- a/ulib/FStar.Tactics.Typeclasses.fst +++ b/ulib/FStar.Tactics.Typeclasses.fst @@ -49,7 +49,7 @@ and global (seen:list term) (fuel:int) () : Tac unit = first (fun fv -> trywith seen fuel (pack (Tv_FVar fv))) cands and trywith (seen:list term) (fuel:int) (t:term) : Tac unit = debug ("Trying to apply hypothesis/instance: " ^ term_to_string t); - (fun () -> apply t) `seq` (fun () -> tcresolve' seen (fuel-1)) + (fun () -> apply_noinst t) `seq` (fun () -> tcresolve' seen (fuel-1)) [@plugin] let tcresolve () : Tac unit = diff --git a/ulib/FStar.Tactics.Typeclasses.fst.hints b/ulib/FStar.Tactics.Typeclasses.fst.hints index 7420c30cfa6..c159fe067ef 100644 --- a/ulib/FStar.Tactics.Typeclasses.fst.hints +++ b/ulib/FStar.Tactics.Typeclasses.fst.hints @@ -1,5 +1,5 @@ [ - "2µ[ž­\u0018;×!\u000b\u000en\u001eØ%v", + "DÉäå\tɈhž¦.cy\u0019zº", [ [ "FStar.Tactics.Typeclasses.first", @@ -11,7 +11,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "72e8490c64a286212f8aef59f374f009" + "0877b910c5a46ec5fc293f693e92cf97" ], [ "FStar.Tactics.Typeclasses.mk_abs", @@ -23,7 +23,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "b2a45c2a66fe721da30b719659183428" + "5fbbc496a44b91bb8128064d91d62fca" ], [ "FStar.Tactics.Typeclasses.last", @@ -35,7 +35,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "15645de7204178c5d304b24897624b86" + "56fe1f2ca45f40ba3349e38c02a14f88" ], [ "FStar.Tactics.Typeclasses.mk_class", @@ -60,8 +60,7 @@ "disc_equation_FStar.Tactics.Result.Failed", "disc_equation_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Types.name", - "equation_FStar.UInt.min_int", "equation_Prims.eqtype", + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Tactics.Result.__result", @@ -73,6 +72,7 @@ "primitive_Prims.op_Equality", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", @@ -80,15 +80,15 @@ "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Prims.__proj__Cons__item__tl", "unit_typing" ], 0, - "21de538597e15d84f0ddc897e482917e" + "ea9024d56009becf81406f003aa480b2" ], [ "FStar.Tactics.Typeclasses.first", @@ -100,7 +100,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "e8b7369908e1e67fe610278785d437a1" + "dadb5ab8242ab81c9241c95f21c731e4" ], [ "FStar.Tactics.Typeclasses.mk_abs", @@ -112,7 +112,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "be035e0b08d05cfb6b4a767400183e6d" + "7203974dba2d0a4e68632ef78d76289f" ], [ "FStar.Tactics.Typeclasses.last", @@ -124,7 +124,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "4ecf452933618d509997af049451f4f3" + "e7180faee61b0013d415a4dc32075edb" ], [ "FStar.Tactics.Typeclasses.mk_class", @@ -149,8 +149,7 @@ "disc_equation_FStar.Tactics.Result.Failed", "disc_equation_FStar.Tactics.Result.Success", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Types.name", - "equation_FStar.UInt.min_int", "equation_Prims.eqtype", + "equation_FStar.Reflection.Types.name", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_FStar.Tactics.Result.__result", @@ -162,6 +161,7 @@ "primitive_Prims.op_Equality", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Tactics.Result.Failed_a", "projection_inverse_FStar.Tactics.Result.Failed_exn", "projection_inverse_FStar.Tactics.Result.Failed_ps", @@ -169,15 +169,15 @@ "projection_inverse_FStar.Tactics.Result.Success_ps", "projection_inverse_FStar.Tactics.Result.Success_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Prims.__proj__Cons__item__tl", "unit_typing" ], 0, - "5e305661ca1444e42fa1ff2a2d3dcc00" + "90ec70c9eb1901178378e95a8342ae59" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.Types.fsti.hints b/ulib/FStar.Tactics.Types.fsti.hints index 608baf501d8..1493b25c960 100644 --- a/ulib/FStar.Tactics.Types.fsti.hints +++ b/ulib/FStar.Tactics.Types.fsti.hints @@ -10,10 +10,10 @@ "@MaxIFuel_assumption", "@query", "disc_equation_FStar.Tactics.Types.TacticFailure", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f49633c0c264cfe426b78eef812b39f3" + "refinement_interpretation_Tm_refine_37cbd7e3b0d648fd6c4efd64b8f74dbe" ], 0, - "b70d44e0a8e69851855d55d271afbe7a" + "e036b1fda5f47b322a8d8deb4c8210f5" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tactics.Util.fst b/ulib/FStar.Tactics.Util.fst index a6f331b95ab..a218516a078 100644 --- a/ulib/FStar.Tactics.Util.fst +++ b/ulib/FStar.Tactics.Util.fst @@ -25,8 +25,9 @@ let rec map f x = match x with | a::tl -> f a::map f tl val iter : ('a -> Tac unit) -> list 'a -> Tac unit -let iter f x = - let _ = map f x in () +let rec iter f x = match x with + | [] -> () + | a::tl -> f a; iter f tl val fold_left: ('a -> 'b -> Tac 'a) -> 'a -> l:list 'b -> Tac 'a let rec fold_left f x l = match l with diff --git a/ulib/FStar.Tactics.Util.fst.hints b/ulib/FStar.Tactics.Util.fst.hints index 57798e2668f..66271f7a2b1 100644 --- a/ulib/FStar.Tactics.Util.fst.hints +++ b/ulib/FStar.Tactics.Util.fst.hints @@ -1,5 +1,5 @@ [ - "\u0004w*\u0000s•üãÂäJótùn³", + "±¦˜ñH\u0016\bàWãÜü\u00105s", [ [ "FStar.Tactics.Util.map", @@ -11,7 +11,19 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "fa1f50102d6e724f372dc9c466f210d4" + "faad610d192c37ad176d67bf29db2809" + ], + [ + "FStar.Tactics.Util.iter", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" + ], + 0, + "41a51cd0ceac26eb7a82e634d5131aa0" ], [ "FStar.Tactics.Util.fold_left", @@ -23,7 +35,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "680cf80f9a01bad72de5a460ff4fed1c" + "7235ce09823dba8d3f62d018f2a3352e" ], [ "FStar.Tactics.Util.fold_right", @@ -35,7 +47,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "0efab2de3ddc701e1a15d96ef0b4e42a" + "99f7a4c8201a4df24d1a41acf89e3c36" ], [ "FStar.Tactics.Util.filter_map_acc", @@ -53,7 +65,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "f6c1677109c388d4f576d6b267cfe5fa" + "b15ac221991afd5a646ec9bf7ab4b86e" ], [ "FStar.Tactics.Util.map", @@ -65,7 +77,19 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "2a31af502176459794e4cbed590965cd" + "fbb82d1f68395cc7c1514bffb772fd42" + ], + [ + "FStar.Tactics.Util.iter", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" + ], + 0, + "1c402bb8d56309aac13dd4db37b35007" ], [ "FStar.Tactics.Util.fold_left", @@ -77,7 +101,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "583584ce9987a13e966601db129c23fa" + "c919d469762d1a500d4d7f515e25c2ef" ], [ "FStar.Tactics.Util.fold_right", @@ -89,7 +113,7 @@ "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" ], 0, - "0ee3c3964ac9fe112f9d6bfe3b796835" + "bf34717673e5a905fb13b65e52852011" ], [ "FStar.Tactics.Util.filter_map_acc", @@ -107,7 +131,7 @@ "lemma_FStar.Pervasives.invertOption" ], 0, - "2b472a9bf0a474972cc1fa2f18bacaa4" + "5e55fcc79d6d547d002f93767cbb615f" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.TaggedUnion.fst.hints b/ulib/FStar.TaggedUnion.fst.hints index 4bd2a471794..dea609e757e 100644 --- a/ulib/FStar.TaggedUnion.fst.hints +++ b/ulib/FStar.TaggedUnion.fst.hints @@ -13,9 +13,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", @@ -45,8 +44,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", @@ -56,7 +55,7 @@ "typing_tok_FStar.Pointer.Base.TUInt32@tok" ], 0, - "d4a31ac7edb5c86975e57dfee40ea2da" + "c6b8f5592f8adea8ff7ec59962ba2e5d" ], [ "FStar.TaggedUnion.tag_field", @@ -68,8 +67,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.TaggedUnion.typ_l", "equation_Prims.eqtype", @@ -86,15 +85,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.Pervasives.Native.fst", "typing_FStar.List.Tot.Base.map", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.TaggedUnion.typ_l" ], 0, - "1d45211d95a542986320f9b4a916beb4" + "0246845487c7a89dbf00ab3ef2864cbe" ], [ "FStar.TaggedUnion.union_field", @@ -106,9 +105,8 @@ "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.TaggedUnion.typ_l", "equation_Prims.eqtype", @@ -125,8 +123,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -135,7 +133,7 @@ "typing_FStar.TaggedUnion.typ_l" ], 0, - "71710820c8ffe29398dc5dbf992b8541" + "ab5d87737a79da241162adb66b9c8923" ], [ "FStar.TaggedUnion.tags'", @@ -144,7 +142,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "28775b60b74a34991d96a923ae33e381" + "b982ddf5e47e605f6f9f597ffa959109" ], [ "FStar.TaggedUnion.field_of_tag'", @@ -153,7 +151,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "195d3d887be8c58fa6359daafe4bf6c3" + "95977113a52c4a38d37e7e8364bd6010" ], [ "FStar.TaggedUnion.field_of_tag'", @@ -171,21 +169,19 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", - "binder_x_3cfe4f5782784c1de200aa5f421ffb64_2", - "binder_x_6d99b546cf40633fadbe69513111ccbd_0", - "binder_x_f7375a0ff90af4503e3fb93145e9ec82_1", "bool_inversion", + "binder_x_041e3a67a2d2b51fd702f1f88cfc3b44_2", + "binder_x_662f63f7886329f6f3cef5eefdf19435_1", + "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", @@ -194,9 +190,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", @@ -209,11 +203,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_inversion", "string_typing", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", @@ -224,7 +218,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "460857df7c530b851c58a622780a040a" + "d80f78f685ab84fb50f586da52437063" ], [ "FStar.TaggedUnion.field_of_tag", @@ -233,7 +227,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "3cee1d432686928e2864fd239799af77" + "b672e7c1ed79ddb213a8b50ded4a856c" ], [ "FStar.TaggedUnion.tag_of_field'", @@ -242,7 +236,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "eac01abdc285a1ff437faae2616e3f19" + "30f6544affa4790b29a55f2403ea7a5e" ], [ "FStar.TaggedUnion.tag_of_field'", @@ -260,22 +254,19 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "assumption_FStar.UInt32.t__uu___haseq", - "binder_x_6d99b546cf40633fadbe69513111ccbd_0", - "binder_x_78e0d044b724a76558a77b1dad4d30c8_2", - "binder_x_f7375a0ff90af4503e3fb93145e9ec82_1", "bool_inversion", + "binder_x_126cca1e1e8f0a1c80ceb096c6921769_2", + "binder_x_662f63f7886329f6f3cef5eefdf19435_1", + "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", @@ -284,9 +275,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", @@ -299,14 +288,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_inversion", "string_typing", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", "typing_FStar.List.Tot.Base.length", @@ -314,7 +304,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "3543b2ffa14f11a761e1dedc9227f5ea" + "e28408a3cdb2890c08e26ed7fd9305de" ], [ "FStar.TaggedUnion.tag_of_field", @@ -323,7 +313,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "e88501a9bb5c319f2d50b0c5a8a3948d" + "90cb2fdca083191e6ec45df3d12af547" ], [ "FStar.TaggedUnion.field_of_tag_of_field'", @@ -332,7 +322,7 @@ 1, [ "@query" ], 0, - "43932ef3a982e1ed64a6de2d1bad80dc" + "fe5b6112980a997eaca103f6ed411263" ], [ "FStar.TaggedUnion.field_of_tag_of_field'", @@ -354,22 +344,19 @@ "@fuel_irrelevance_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", "@fuel_irrelevance_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "assumption_FStar.UInt32.t__uu___haseq", - "binder_x_6d99b546cf40633fadbe69513111ccbd_0", - "binder_x_78e0d044b724a76558a77b1dad4d30c8_2", - "binder_x_f7375a0ff90af4503e3fb93145e9ec82_1", "bool_inversion", + "binder_x_126cca1e1e8f0a1c80ceb096c6921769_2", + "binder_x_662f63f7886329f6f3cef5eefdf19435_1", + "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", @@ -380,9 +367,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", @@ -395,12 +380,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_25c9ac040e195d46237a352e4701b24f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9f2d0c71c5b31c67ab18ff8cb7fdcd6c", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_inversion", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", @@ -411,7 +396,7 @@ "typing_FStar.TaggedUnion.tag_of_field_" ], 0, - "8715c52f83822a1100be8f35cf4d9f42" + "7bf39452ebd30f94fdd781957b8fd927" ], [ "FStar.TaggedUnion.field_of_tag_of_field", @@ -420,7 +405,7 @@ 1, [ "@query" ], 0, - "29910e3d5005be2985e114f4aed4d150" + "2c62b6352989a4aaaa7a6515f8a52e69" ], [ "FStar.TaggedUnion.field_of_tag_of_field", @@ -440,7 +425,7 @@ "string_inversion" ], 0, - "bd241d0c35025763f4c9ee938c69d127" + "64064fd31f21c758f94f2b2cc76787eb" ], [ "FStar.TaggedUnion.tag_of_field_of_tag'", @@ -449,7 +434,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "ce7a30e65c41b3f2e33491fdffb28b6f" + "a81d390c1bf555559521493dc02d99ee" ], [ "FStar.TaggedUnion.tag_of_field_of_tag'", @@ -471,21 +456,19 @@ "@fuel_irrelevance_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", "@fuel_irrelevance_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", - "binder_x_3cfe4f5782784c1de200aa5f421ffb64_2", - "binder_x_6d99b546cf40633fadbe69513111ccbd_0", - "binder_x_f7375a0ff90af4503e3fb93145e9ec82_1", "bool_inversion", + "binder_x_041e3a67a2d2b51fd702f1f88cfc3b44_2", + "binder_x_662f63f7886329f6f3cef5eefdf19435_1", + "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", @@ -495,9 +478,7 @@ "equation_with_fuel_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", @@ -510,12 +491,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "refinement_interpretation_Tm_refine_cecc26d1ef3d8089c5847fc83a6cd7ff", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", @@ -526,7 +507,7 @@ "typing_FStar.TaggedUnion.field_of_tag_" ], 0, - "0290018303952ec5a3adbc0cce6cc40d" + "f6fc767b63e51a8745b76bd2af3a1cfc" ], [ "FStar.TaggedUnion.tag_of_field_of_tag", @@ -535,7 +516,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "7301cbc993b326b577dce02d0284dd31" + "f2609eadb5f4ba6f224239af7498ac7c" ], [ "FStar.TaggedUnion.tag_of_field_of_tag", @@ -548,7 +529,7 @@ "equation_FStar.TaggedUnion.tag_of_field" ], 0, - "fe29ddca4ae477f38daf02ffe8d49ad3" + "f6b04f17f59e75b699f3137a46d11fdc" ], [ "FStar.TaggedUnion.field_matches_tag_intro", @@ -563,7 +544,7 @@ "function_token_typing_FStar.UInt32.n_minus_one" ], 0, - "f07cea846c873f1039ee18c17bde3567" + "35cb5cf9aaf7e15f75f91b0521f7fe42" ], [ "FStar.TaggedUnion.field_matches_tag_elim", @@ -575,7 +556,7 @@ "equation_FStar.TaggedUnion.field_matches_tag" ], 0, - "4c590b5add650451b7e78b76055d16fa" + "9f65ce10773a7456ab01766e7e923847" ], [ "FStar.TaggedUnion.assert_field_matches_tag", @@ -607,7 +588,7 @@ "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" ], 0, - "134010aaca06e91701b3bb5d8aa76954" + "d7d09d5b268bfaa3dd028f5452e1dc4e" ], [ "FStar.TaggedUnion.valid", @@ -647,8 +628,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base.typ_of_struct_field", @@ -656,7 +637,7 @@ "typing_FStar.TaggedUnion.typ_l" ], 0, - "6b42a2a160a72d7419ebdb87efa7898d" + "10702ad16ec39ef09d84cb8cba5e5116" ], [ "FStar.TaggedUnion.valid_live", @@ -678,7 +659,7 @@ "typing_FStar.TaggedUnion.typ_l" ], 0, - "dc052967b4475e60cbf217755a99f9d9" + "d734145ed6baaade26c51308e0461be8" ], [ "FStar.TaggedUnion.gread_tag", @@ -717,8 +698,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", "typing_FStar.Pointer.Base.typ_of_struct_field", @@ -726,7 +707,7 @@ "typing_FStar.TaggedUnion.typ_l" ], 0, - "064c3494a2896ff84ec30e70e22e3f94" + "f4de36148d6ce6966deb7ea1e840e6aa" ], [ "FStar.TaggedUnion.read_tag", @@ -735,7 +716,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "6b25650257b948783741c9d83061bccd" + "576e667d432914613f8a6cfe272d059e" ], [ "FStar.TaggedUnion.read_tag", @@ -748,17 +729,13 @@ "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", + "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "constructor_distinct_FStar.Pointer.Base.TBase", "constructor_distinct_FStar.Pointer.Base.TUInt32", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equality_tok_FStar.Pointer.Base.TUInt32@tok", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pointer.Base.struct_typ_", "equation_FStar.Pointer.Base.typ_of_struct_field", "equation_FStar.Pointer.Base.typ_of_struct_field_", @@ -769,17 +746,14 @@ "equation_FStar.TaggedUnion.tags", "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", "equation_FStar.TaggedUnion.typ_l", - "equation_FStar.TaggedUnion.valid", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", @@ -797,12 +771,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_45e454bb064feac54aff3f26ad3f0583", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e34865a8445a2c02d0e66d857f1726e", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_typing", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", @@ -811,7 +785,7 @@ "typing_FStar.TaggedUnion.typ_l" ], 0, - "106955faec45dcbb36f4b6776a39bcf8" + "ed6c2078b1b23d9e0acdbdf6d7d09d2f" ], [ "FStar.TaggedUnion.gfield", @@ -825,10 +799,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", + "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.struct_field", @@ -843,13 +816,13 @@ "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.Pointer.Base.includes_refl", "lemma_FStar.Pointer.Derived1.includes_gfield_gen", "lemma_FStar.Pointer.Derived1.includes_gufield_gen", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -863,9 +836,9 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -877,7 +850,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "b5a51a2f36a6201a3e86fad3c47898f2" + "0189043c706b8cfe257a439469f52a73" ], [ "FStar.TaggedUnion.field", @@ -892,14 +865,14 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_2596c3ea3891ae794b4e81abf6dd5d70", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "eq2-interp", + "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", + "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.struct_field", "equation_FStar.Pointer.Base.struct_field_", @@ -912,15 +885,15 @@ "equation_FStar.TaggedUnion.tag_of_field", "equation_FStar.TaggedUnion.tags", "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", - "equation_FStar.TaggedUnion.valid", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.typ_l", + "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", "equation_with_fuel_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", + "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", @@ -928,17 +901,20 @@ "lemma_FStar.Pointer.Base.is_active_union_live", "lemma_FStar.Pointer.Base.live_region_frameOf", "lemma_FStar.TaggedUnion.tag_of_field_of_tag", - "lemma_FStar.TaggedUnion.valid_live", "primitive_Prims.op_Equality", + "lemma_FStar.TaggedUnion.valid_live", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", + "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_BoxBool_proj_0", + "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", "projection_inverse_Prims.Cons_hd", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", + "refinement_interpretation_Tm_refine_2ebadf306859782ea4d02b292c69cb97", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", "refinement_interpretation_Tm_refine_cecc26d1ef3d8089c5847fc83a6cd7ff", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", - "refinement_interpretation_Tm_refine_fe2a9fcc2813ac600b6eace91b5c7c12", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_inversion", "token_correspondence_FStar.Pervasives.Native.fst", "typing_FStar.List.Tot.Base.mem", @@ -949,7 +925,7 @@ "typing_FStar.TaggedUnion.gread_tag", "typing_FStar.TaggedUnion.typ" ], 0, - "79e4de344e572534551ce02c97d45d99" + "29cacadd4811f36b8a321abb44445370" ], [ "FStar.TaggedUnion.write", @@ -966,10 +942,10 @@ "@fuel_correspondence_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", "@fuel_irrelevance_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_2596c3ea3891ae794b4e81abf6dd5d70", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.TBase", "constructor_distinct_FStar.Pointer.Base.TUInt32", @@ -979,7 +955,6 @@ "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "eq2-interp", "equality_tok_FStar.Pointer.Base.TUInt32@tok", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.modifies_1", @@ -999,8 +974,7 @@ "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", "equation_FStar.TaggedUnion.typ_l", "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", @@ -1010,7 +984,6 @@ "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", @@ -1033,6 +1006,7 @@ "lemma_FStar.Pointer.Derived1.includes_gufield_gen", "lemma_FStar.Pointer.Derived1.loc_disjoint_gufield_r", "lemma_FStar.TaggedUnion.field_of_tag_of_field", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -1047,12 +1021,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_35f56064c1c9441ce14c28ead7a2a3ab", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c11e7d121a33e443c4beb15b969cee30", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -1069,7 +1043,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "623c3c049d71de92ece53e8c86eb2bb1" + "baa4bca009ae4a27815152e9a92b600c" ], [ "FStar.TaggedUnion.write_tag", @@ -1086,18 +1060,16 @@ "@fuel_correspondence_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", "@fuel_irrelevance_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_2596c3ea3891ae794b4e81abf6dd5d70", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pointer.Base.TBase", "constructor_distinct_FStar.Pointer.Base.TUInt32", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", "equality_tok_FStar.Pointer.Base.TUInt32@tok", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.equal_values", "equation_FStar.Pointer.Base.modifies_1", @@ -1116,8 +1088,7 @@ "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", "equation_FStar.TaggedUnion.typ_l", "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", "equation_Prims.l_and", "equation_Prims.squash", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", @@ -1130,7 +1101,6 @@ "fuel_guarded_inversion_Prims.c_and", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", @@ -1148,8 +1118,10 @@ "lemma_FStar.Pointer.Base.readable_live", "lemma_FStar.Pointer.Derived1.includes_gfield_gen", "lemma_FStar.TaggedUnion.field_of_tag_of_field", - "lemma_FStar.TaggedUnion.valid_live", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.TaggedUnion.valid_live", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", @@ -1162,15 +1134,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_3bc6438bcc8abbd95d1aa055fd811ef3", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_2f0ee03cb351104c406e5fab04712a9c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_45e454bb064feac54aff3f26ad3f0583", - "refinement_interpretation_Tm_refine_49716892325eddeb468812b2e2fc4001", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_7e34865a8445a2c02d0e66d857f1726e", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_ee6b65c96a2b52b060cb85f7903cc06e", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -1186,10 +1158,10 @@ "typing_FStar.Pointer.Base.typ_of_struct_field", "typing_FStar.TaggedUnion.tag_field", "typing_FStar.TaggedUnion.typ", "typing_FStar.TaggedUnion.typ_l", - "typing_FStar.TaggedUnion.union_field", "unit_typing" + "typing_FStar.TaggedUnion.union_field" ], 0, - "9c096cce235fe007e6839fe74294f3b2" + "353a4c9a420e6d6f03b3b08bae23b6d6" ], [ "FStar.TaggedUnion.includes_gfield", @@ -1205,7 +1177,7 @@ "typing_FStar.TaggedUnion.gfield" ], 0, - "fcb0bd259bf7d5e02532bf388e5d2e98" + "e8a9f81413e5f6693ae1188b949e3df6" ], [ "FStar.TaggedUnion.includes_gfield_gen", @@ -1214,7 +1186,7 @@ 1, [ "@query" ], 0, - "9f71219120a318c968cead2fbcc85010" + "18527816dd4cc753c301061bfbb76fdd" ], [ "FStar.TaggedUnion.live_gfield", @@ -1228,10 +1200,9 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", + "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.struct_typ_", @@ -1247,13 +1218,14 @@ "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.live_gufield", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.Pointer.Base.live_gufield", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", @@ -1265,8 +1237,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -1277,7 +1249,7 @@ "typing_FStar.TaggedUnion.union_field", "typing_Prims.uu___is_Cons" ], 0, - "ea6bc9e01f7f552ac75b631b7f7acd0e" + "f83781f6e573ed8cd8d407eedefdeaec" ], [ "FStar.TaggedUnion.modifies_1_valid", @@ -1291,10 +1263,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_2596c3ea3891ae794b4e81abf6dd5d70", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", @@ -1316,14 +1288,12 @@ "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", "equation_FStar.TaggedUnion.typ_l", "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", @@ -1334,6 +1304,7 @@ "lemma_FStar.Pointer.Base.readable_live", "lemma_FStar.Pointer.Derived1.loc_disjoint_gufield_r", "lemma_FStar.TaggedUnion.field_of_tag_of_field", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -1347,11 +1318,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", "refinement_interpretation_Tm_refine_bc4a7bb32eb4db8bcf4cc79868d17c38", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -1370,7 +1341,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "aba0809ed448b2c073db41150f6cb1d0" + "5b5004c045b1f8139c08ddc7ebf6c455" ], [ "FStar.TaggedUnion.modifies_1_field_tag", @@ -1384,10 +1355,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_2596c3ea3891ae794b4e81abf6dd5d70", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", @@ -1408,15 +1379,13 @@ "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", "equation_FStar.TaggedUnion.typ_l", "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", @@ -1426,8 +1395,10 @@ "lemma_FStar.Pointer.Base.modifies_pointer_elim", "lemma_FStar.Pointer.Base.readable_live", "lemma_FStar.Pointer.Derived1.loc_disjoint_gufield_r", - "lemma_FStar.TaggedUnion.valid_live", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.TaggedUnion.valid_live", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", @@ -1439,12 +1410,12 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", "refinement_interpretation_Tm_refine_bc4a7bb32eb4db8bcf4cc79868d17c38", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -1463,7 +1434,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "819e6f97c895bbf0b739c55b9d7f7146" + "7952d8649ae173621036d43584ef798c" ], [ "FStar.TaggedUnion.modifies_1_field", @@ -1487,7 +1458,7 @@ "typing_FStar.TaggedUnion.gfield", "typing_FStar.TaggedUnion.typ" ], 0, - "85371ddefde7fae5124690af47772470" + "77de6ab5f040a6293fdeb8ffdd3977d5" ], [ "FStar.TaggedUnion.modifies_1_field_tag_equal", @@ -1496,7 +1467,7 @@ 1, [ "@query", "lemma_FStar.TaggedUnion.modifies_1_field_tag" ], 0, - "816ce51d7d76468acb49579fb41872c0" + "b1a32a34fe570609cff1ab336811ccfa" ], [ "FStar.TaggedUnion.readable_intro", @@ -1510,11 +1481,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", + "bool_inversion", "constructor_distinct_Prims.Cons", + "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Pervasives.Native.fst", @@ -1531,7 +1501,6 @@ "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", @@ -1539,8 +1508,10 @@ "lemma_FStar.Pointer.Base.readable_gufield", "lemma_FStar.Pointer.Base.readable_struct_fields_cons", "lemma_FStar.Pointer.Base.readable_struct_fields_nil", - "lemma_FStar.TaggedUnion.valid_live", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.TaggedUnion.valid_live", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", @@ -1552,8 +1523,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -1567,7 +1538,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "bb37908f4fbd280bfd6697f6857c19b4" + "3659ed9c478d11ec4ff6a4b2f0b595d6" ], [ "FStar.TaggedUnion.readable_field", @@ -1581,10 +1552,10 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.List.Tot.Base_interpretation_Tm_arrow_a77d37cf516f08ecc6bd130f549028ab", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", @@ -1602,15 +1573,13 @@ "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", "equation_FStar.TaggedUnion.typ_l", "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", + "function_token_typing_FStar.List.Tot.Base.mem", "function_token_typing_FStar.UInt32.t", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", @@ -1620,8 +1589,11 @@ "lemma_FStar.Pointer.Base.readable_gfield", "lemma_FStar.Pointer.Base.readable_gufield", "lemma_FStar.TaggedUnion.field_of_tag_of_field", - "lemma_FStar.TaggedUnion.valid_live", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.TaggedUnion.valid_live", + "partial_app_typing_0865f19adc6c5fd62319b83a8fa83a38", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", @@ -1633,10 +1605,10 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", "refinement_interpretation_Tm_refine_dd64996f5633a22cfed802ad39a5cc83", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -1652,7 +1624,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "d162c434a8d53f74f1137cccf1e08225" + "f742c6b472d6d7f252e7440f0d1cdbbf" ], [ "FStar.TaggedUnion.raw_get_tag", @@ -1694,8 +1666,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", - "refinement_interpretation_Tm_refine_b52713f2b4b5a365f2b89ba5a3ee8f0e", + "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.Pointer.Base.type_of_struct_field", "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", @@ -1707,7 +1679,7 @@ "typing_FStar.TaggedUnion.typ_l" ], 0, - "047fe21a4bdcef22ffe6f602744b7b06" + "2dafcfbabb08c7d6459235b3fbee4d40" ], [ "FStar.TaggedUnion.raw_get_field", @@ -1723,10 +1695,9 @@ "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", + "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.struct_typ_", @@ -1741,12 +1712,12 @@ "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.Pointer.Base.type_of_typ_struct", "lemma_FStar.Pointer.Base.type_of_typ_union", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -1760,8 +1731,8 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -1776,7 +1747,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "93f8f8e7eb7f75383fff3c18a142eb50" + "af7656a449dd72ccec7b582c3e998994" ], [ "FStar.TaggedUnion.raw_get_value", @@ -1792,10 +1763,9 @@ "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", + "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.struct_field", @@ -1816,13 +1786,13 @@ "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.Pointer.Base.type_of_typ_struct", "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field", "lemma_FStar.Pointer.Base.type_of_typ_union", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", @@ -1836,9 +1806,9 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", "string_inversion", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -1853,7 +1823,7 @@ "typing_FStar.TaggedUnion.union_field" ], 0, - "1e4637a0bc1dac486fb59c277b0c9cf9" + "ee5dbcfec01178fa5abcb91bc51ffa5e" ], [ "FStar.TaggedUnion.matching_tags", @@ -1862,7 +1832,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "6ec7cf3527eb2a08469e9095bd0417cc" + "d61a293a01e917edbc2304ebe29f71a3" ], [ "FStar.TaggedUnion.get_tag", @@ -1878,14 +1848,13 @@ "equation_FStar.Pointer.Base.union_typ", "equation_FStar.TaggedUnion.get_field", "equation_FStar.TaggedUnion.matching_tags", - "equation_FStar.TaggedUnion.t", "equation_FStar.UInt32.n_minus_one", + "equation_FStar.TaggedUnion.t", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.UInt32.n_minus_one", "l_and-interp", - "lemma_FStar.TaggedUnion.tag_of_field_of_tag", + "l_and-interp", "lemma_FStar.TaggedUnion.tag_of_field_of_tag", "refinement_interpretation_Tm_refine_b1bf8f1568fdea244a500a7e69890ee4" ], 0, - "3d9e09a5f80b1427dac4d653c075cec0" + "fbbe523261a61a8bc1d5c6643dc32e2d" ], [ "FStar.TaggedUnion.get_value", @@ -1894,7 +1863,7 @@ 1, [ "@query", "equation_FStar.TaggedUnion.get_field" ], 0, - "726dc8aa5a4d38cf8ff01c8bacef8f7e" + "17d5eebadaf32b16bbabf928257a2b2a" ], [ "FStar.TaggedUnion.valid_matching_tags", @@ -1908,16 +1877,17 @@ "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_2596c3ea3891ae794b4e81abf6dd5d70", + "FStar.Pointer.Base_interpretation_Tm_arrow_af720413b16bce1e3f28115080477841", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Pervasives.Native.fst", + "equation_FStar.Pointer.Base.struct_field", "equation_FStar.Pointer.Base.struct_typ_", "equation_FStar.Pointer.Base.typ_of_struct_field", "equation_FStar.Pointer.Base.typ_of_struct_field_", @@ -1931,15 +1901,13 @@ "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", "equation_FStar.TaggedUnion.typ_l", "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", "function_token_typing_Prims.string", "kinding_FStar.Pervasives.Native.tuple2@tok", @@ -1947,8 +1915,10 @@ "lemma_FStar.Pointer.Base.gread_gfield", "lemma_FStar.Pointer.Base.is_active_union_field_get_key", "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.TaggedUnion.valid_live", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", + "lemma_FStar.TaggedUnion.valid_live", + "partial_app_typing_8204325a323f689defb4f43822aa9b39", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_Negation", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Some_v", "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", @@ -1960,10 +1930,10 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", - "refinement_interpretation_Tm_refine_dd64996f5633a22cfed802ad39a5cc83", + "refinement_interpretation_Tm_refine_cecc26d1ef3d8089c5847fc83a6cd7ff", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_typing", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", @@ -1974,14 +1944,14 @@ "typing_FStar.Pointer.Base.frameOf", "typing_FStar.Pointer.Base.gfield", "typing_FStar.Pointer.Base.gread", - "typing_FStar.TaggedUnion.field_of_tag", + "typing_FStar.TaggedUnion.field_of_tag_", "typing_FStar.TaggedUnion.raw_get_tag", "typing_FStar.TaggedUnion.tag_field", "typing_FStar.TaggedUnion.typ", "typing_FStar.TaggedUnion.typ_l", "typing_FStar.TaggedUnion.union_field" ], 0, - "7c4687624b0acd08d504e5e370801454" + "6792784d5278eaa5a3041e5103066d8a" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.TaggedUnion.fsti.hints b/ulib/FStar.TaggedUnion.fsti.hints index 9e49016116a..e1d18ec3fa2 100644 --- a/ulib/FStar.TaggedUnion.fsti.hints +++ b/ulib/FStar.TaggedUnion.fsti.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "ea0bc42702dd908da4fb45d75a74528d" + "ca6c1df6f43156f4183cac2075b736e9" ], [ "FStar.TaggedUnion.field_of_tag'", @@ -17,7 +17,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "6421a604934095f919df56c9bd8e6607" + "65d6ca0e34698ed94eb78392d4e846a9" ], [ "FStar.TaggedUnion.field_of_tag'", @@ -35,21 +35,19 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", - "binder_x_3cfe4f5782784c1de200aa5f421ffb64_2", - "binder_x_6d99b546cf40633fadbe69513111ccbd_0", - "binder_x_f7375a0ff90af4503e3fb93145e9ec82_1", "bool_inversion", + "binder_x_041e3a67a2d2b51fd702f1f88cfc3b44_2", + "binder_x_662f63f7886329f6f3cef5eefdf19435_1", + "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", @@ -58,9 +56,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", @@ -73,11 +69,11 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_inversion", "string_typing", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", @@ -88,7 +84,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "f8a2e65ac3846f2f803e60c0b1e36d8e" + "f45b0b155bae8b2a519d8ef124a02793" ], [ "FStar.TaggedUnion.field_of_tag", @@ -97,7 +93,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "3fba4bf648ee35c867c7e8c965b80225" + "04817669ed235520b10f06e040b1eaff" ], [ "FStar.TaggedUnion.tag_of_field'", @@ -106,7 +102,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "1f042cf1a7b0916a0f295591eaa9e865" + "e8cfb6a28e13eafd38c0cdc0703045e7" ], [ "FStar.TaggedUnion.tag_of_field'", @@ -124,22 +120,19 @@ "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_7fe3e7847982dd1674bac902db1b25d6", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "assumption_FStar.UInt32.t__uu___haseq", - "binder_x_6d99b546cf40633fadbe69513111ccbd_0", - "binder_x_78e0d044b724a76558a77b1dad4d30c8_2", - "binder_x_f7375a0ff90af4503e3fb93145e9ec82_1", "bool_inversion", + "binder_x_126cca1e1e8f0a1c80ceb096c6921769_2", + "binder_x_662f63f7886329f6f3cef5eefdf19435_1", + "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pointer.Base.struct_field_", "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", + "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", @@ -148,9 +141,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.string", "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", @@ -163,14 +154,15 @@ "projection_inverse_Prims.Cons_a", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_01326aab0f4c8e9192277785ee000b20", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b70a03b417b5544b2cecbc4322820893", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fa66d432c7ec241ca4caf7160d2af5c9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", + "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", + "refinement_interpretation_Tm_refine_f341a4b21bc0a8476d86f68b1088e0b2", "string_inversion", "string_typing", "subterm_ordering_Prims.Cons", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", + "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", "token_correspondence_FStar.Pervasives.Native.fst", "typing_FStar.List.Tot.Base.length", @@ -178,7 +170,7 @@ "typing_FStar.List.Tot.Base.noRepeats" ], 0, - "28fc45a177847d8f331eac285fdb56b7" + "4dc5e0338d5067f2d4e86a30a91caffc" ], [ "FStar.TaggedUnion.tag_of_field", @@ -187,7 +179,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "0667e3dd2cb09870a96c52b600fe5d1b" + "4b57bd47dc3fc78f8a3f6ab9cd7eaebc" ], [ "FStar.TaggedUnion.field_of_tag_of_field", @@ -196,7 +188,7 @@ 1, [ "@query" ], 0, - "94364b3888d0b1585d5b3be4c7cccdb5" + "0a80aa75098b4af21fcaec3be8ff5903" ], [ "FStar.TaggedUnion.tag_of_field_of_tag", @@ -205,7 +197,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "d1192ec27ed4618e9bfe33ce7df264ae" + "6407b9cfe5da1b7306f5b06aae990278" ], [ "FStar.TaggedUnion.read_tag", @@ -214,7 +206,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "1bcad93cc1420e5bc63893d3fa7f3962" + "68de761cb5fe2f2685a3d5b46299708d" ], [ "FStar.TaggedUnion.includes_gfield_gen", @@ -223,7 +215,7 @@ 1, [ "@query" ], 0, - "9d5b0a64ce3f28b3c62a261449f510a3" + "fff05c122e5d7e5abc5220902aba9b9f" ], [ "FStar.TaggedUnion.matching_tags", @@ -232,7 +224,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "3600e3614c488f0258d22ca1e380153b" + "1c56b8c0fab18134764304a164a3756c" ], [ "FStar.TaggedUnion.get_tag", @@ -248,14 +240,13 @@ "equation_FStar.Pointer.Base.union_typ", "equation_FStar.TaggedUnion.get_field", "equation_FStar.TaggedUnion.matching_tags", - "equation_FStar.TaggedUnion.t", "equation_FStar.UInt32.n_minus_one", + "equation_FStar.TaggedUnion.t", "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.UInt32.n_minus_one", "l_and-interp", - "lemma_FStar.TaggedUnion.tag_of_field_of_tag", + "l_and-interp", "lemma_FStar.TaggedUnion.tag_of_field_of_tag", "refinement_interpretation_Tm_refine_b1bf8f1568fdea244a500a7e69890ee4" ], 0, - "1ecaa2935879d85134eb077906bc9fe0" + "24be056876742312d571dac694ac705b" ], [ "FStar.TaggedUnion.get_value", @@ -264,7 +255,7 @@ 1, [ "@query", "equation_FStar.TaggedUnion.get_field" ], 0, - "1c412e15731c383e80690380552756b3" + "ac6e331d1e0060940afb06e773193634" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Tcp.fsti.hints b/ulib/FStar.Tcp.fsti.hints index 447fc9257a1..c7d7f272193 100644 --- a/ulib/FStar.Tcp.fsti.hints +++ b/ulib/FStar.Tcp.fsti.hints @@ -12,7 +12,7 @@ "typing_FStar.Bytes.bytes" ], 0, - "90bda4b52733c45708bdbe8647227344" + "ad3cc7b10961e3670d2149b2ace810a5" ], [ "FStar.Tcp.__proj__RecvError__item___0", @@ -26,7 +26,7 @@ "refinement_interpretation_Tm_refine_0b16c523f4a6aeeba204a171d1e8f098" ], 0, - "d530d2c3cd48954c9fa45b3e282e5ded" + "c7143cb4e1343f4f608267d8d24577c1" ], [ "FStar.Tcp.__proj__Received__item___0", @@ -39,7 +39,7 @@ "refinement_interpretation_Tm_refine_e0e9f2a62a06f869cff002e4825e3dc6" ], 0, - "a81d8ec2f7d59dc2a4e77e970ca85aa5" + "a4291f6f1c7a933d422059260cfb4c9a" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.TwoLevelHeap.fst.hints b/ulib/FStar.TwoLevelHeap.fst.hints index 5437fc644bd..a16cf370370 100644 --- a/ulib/FStar.TwoLevelHeap.fst.hints +++ b/ulib/FStar.TwoLevelHeap.fst.hints @@ -11,7 +11,7 @@ "equation_FStar.TwoLevelHeap.ref_as_rref" ], 0, - "224ca33ebd0690afb57806afc6f3c669" + "fb5dc43b641bf31fa25dcc337241420f" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.UInt.fst b/ulib/FStar.UInt.fst index 95892762b40..0c254146ae9 100644 --- a/ulib/FStar.UInt.fst +++ b/ulib/FStar.UInt.fst @@ -876,7 +876,7 @@ let lemma_msb_gte #n a b = #set-options "--initial_fuel 1 --max_fuel 1 --initial_ifuel 1 --max_ifuel 1" -#set-options "--z3rlimit 10" +#set-options "--z3rlimit 80" val lemma_uint_mod: #n:pos -> a:uint_t n -> Lemma (a = a % pow2 n) let lemma_uint_mod #n a = () @@ -1064,18 +1064,20 @@ let lemma_lognot_value_zero #n a = lognot a; } -#set-options "--z3rlimit 50" +#push-options "--z3rlimit 150" private val lemma_mod_variation: #n:pos -> a:uint_t n -> Lemma (a <> 0 ==> ((-a) % pow2 n) - 1 % pow2 n = (((-a) % pow2 n) - 1) % pow2 n) let lemma_mod_variation #n a = () +#pop-options -#set-options "--z3rlimit 5" +#push-options "--z3rlimit 5" val lemma_one_mod_pow2: #n:pos -> Lemma (1 = 1 % (pow2 n)) let lemma_one_mod_pow2 #n = () +#pop-options -#set-options "--z3rlimit 50" +#push-options "--z3rlimit 50" private val lemma_lognot_value_variation: #n:pos -> a:uint_t n{a <> 0} -> Lemma (lognot a = (-a) % pow2 n - 1 % pow2 n) @@ -1092,6 +1094,7 @@ let lemma_lognot_value_variation #n a = == { FStar.Math.Lemmas.lemma_mod_sub_1 a p } (-a) % p - 1 % p; } +#pop-options val lemma_lognot_value_nonzero: #n:pos -> a:uint_t n{a <> 0} -> Lemma (lognot a = sub_mod (sub_mod 0 a) 1) diff --git a/ulib/FStar.UInt.fst.hints b/ulib/FStar.UInt.fst.hints index d84f1b3d495..25c2a59663b 100644 --- a/ulib/FStar.UInt.fst.hints +++ b/ulib/FStar.UInt.fst.hints @@ -1,5 +1,5 @@ [ - "ö#èU!Ç@è\u001cãõ‘P¡­", + "\u001fbHèõØŸ\u00176¿ÐíÊl", [ [ "FStar.UInt.pow2_values", @@ -8,32 +8,29 @@ 1, [ "@query" ], 0, - "1957037a6bf7141693cb2b1d6ab3ea08" + "10e762364045fc788b0ee9a25697afcb" ], [ "FStar.UInt.zero", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "bce1339a6aa188b5cbd288432906c993" + "dda422867c4aa0ecd9500bb1c9764534" ], [ "FStar.UInt.pow2_n", @@ -42,36 +39,33 @@ 1, [ "@query" ], 0, - "19cfda4e2e2c58a31c17da5ac96cce05" + "f2fc79300b24af1196e17b397856a8d8" ], [ "FStar.UInt.pow2_n", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_Prims.pow2" ], 0, - "778e30a1f8f2443113d6eae9dece6e87" + "d1cf33afd556f6326c6eb2742864b074" ], [ "FStar.UInt.one", @@ -80,62 +74,58 @@ 1, [ "@query" ], 0, - "50fb9b4f758aafa13f46190a9d815065" + "eee9304df17f16559f9c8e78b7ae3af5" ], [ "FStar.UInt.one", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "ba370cc2de2a0e2aba80e3f30c6c4471" + "a390dae8619dd47c46c64efc25de1270" ], [ "FStar.UInt.ones", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.pos", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "4fd2c79cda4222708644f422517a0350" + "c8e247883b805cad1e4f9432c89bfbb7" ], [ "FStar.UInt.incr", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", @@ -145,17 +135,17 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "e69fc13cb076a992b292e667be95db78" + "fa07d748746b640cbeaa850736023581" ], [ "FStar.UInt.decr", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", @@ -165,17 +155,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "ae27a1a1f105bf3edbad2690b333d401" + "0563d45e4de8ed2d0c5748dda3dd1f97" ], [ "FStar.UInt.incr_underspec", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", @@ -186,17 +176,17 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "8aa33156658b69c45b31b040dc006d24" + "93e2134905c12b692c4b68fc5f1d2eee" ], [ "FStar.UInt.decr_underspec", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", @@ -207,59 +197,53 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "d80094d4efab2a64bc2e7315df596744" + "6e638b684487dfe3dd1ed8b64e12b74a" ], [ "FStar.UInt.incr_mod", 1, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "b40a96831e9bd5422aa938621821ca4b" + "b7aea6692d5d3d48f95cbd2537662a85" ], [ "FStar.UInt.decr_mod", 1, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "0557d96d4e4c4154f1b5614344c2ed2d" + "f8bce87303ca0e9f3a9b57a086d95dd0" ], [ "FStar.UInt.add", @@ -268,13 +252,13 @@ 1, [ "@query" ], 0, - "02374498c2493b88a72d48a351ee2025" + "555a17084fdf669bf7ef8b34b717345c" ], [ "FStar.UInt.add_underspec", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", @@ -283,36 +267,33 @@ "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits" ], 0, - "68815efaec68a877fb8fb6bd5fab8d1e" + "f21bd45cc02c7270e49676f275154bd6" ], [ "FStar.UInt.add_mod", 1, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "3a03ef22118116bac933e548eab4e3a8" + "c9d648af5f317253266a6975c9064d4c" ], [ "FStar.UInt.sub", @@ -321,13 +302,13 @@ 1, [ "@query" ], 0, - "ce2a3c5f29ad30def5bf0324d29f0d17" + "c7c6c714da07d2739a8da64de829dd08" ], [ "FStar.UInt.sub_underspec", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", @@ -337,36 +318,33 @@ "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits" ], 0, - "e97a91a839c5c967aeb2325b61915cd6" + "86f7f01f162b15cb32e1cf0c5e21552c" ], [ "FStar.UInt.sub_mod", 1, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "5c1273a89a6a0234f5a0343b47a64e46" + "d4a19b963193a7d31e2b653a0b4f9a7f" ], [ "FStar.UInt.mul", @@ -375,13 +353,13 @@ 1, [ "@query" ], 0, - "ec83ac1e463d679b8dad90c7c9897a4d" + "f89b412aeaa7416ca39eba35dd46a07c" ], [ "FStar.UInt.mul_underspec", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", @@ -390,51 +368,48 @@ "equation_Prims.nat", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits" ], 0, - "1d1e9946903fe8c93148cca32be30836" + "6fa41d5ff380bf1e565654c237e01f59" ], [ "FStar.UInt.mul_mod", 1, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "930de622eedf029fd3db4b81ed9de21d" + "eb1162f651df9372e2642cfa1c644f88" ], [ "FStar.UInt.lt_square_div_lt", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b0931f760c4340527bb524f514426aeb" + "4e7153def4fdfaf2dd0783eb91979eb5" ], [ "FStar.UInt.mul_div", @@ -442,26 +417,23 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits", "typing_Prims.pow2" ], 0, - "5efecfdeace1ad0685ba27c38d78b88c" + "df159ccd6268e22d1db41d788b8283ba" ], [ "FStar.UInt.div", @@ -470,7 +442,7 @@ 0, [ "@query" ], 0, - "67ff3413348e5724005ec82f22a1d59f" + "2f50fad1789a804854e21ae0bad3d81f" ], [ "FStar.UInt.div", @@ -479,7 +451,7 @@ 0, [ "@query" ], 0, - "d1a63e71973ec8969d62bff6030ea7ca" + "a4e900ab1841ae33e210fe70c31d7430" ], [ "FStar.UInt.div_underspec", @@ -488,7 +460,7 @@ 0, [ "@query" ], 0, - "a2bd3eb92693ee9d0745b0f65783d7a6" + "52034af1b37925d9f0c23802412bca1e" ], [ "FStar.UInt.div_underspec", @@ -496,23 +468,20 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.nat", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits" ], 0, - "5ddbc4ecabc900b6d457fe0e844d6ee5" + "03a98237b89fe0a09384fe2bf868902d" ], [ "FStar.UInt.div_size", @@ -527,7 +496,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "616a95532f6203e43fa2b775af43e433" + "75093f84ddbaada4f2438b179ee4a6ca" ], [ "FStar.UInt.div_size", @@ -539,7 +508,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "183207ddff8be158e98dcbdbebc16349" + "c22c7b2efa1b587d93c1f3a7714c7cf0" ], [ "FStar.UInt.div_size", @@ -547,22 +516,20 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "35f59b3836f8907b6b2935133a5a15c6" + "268ee7019f71f33e6008037373189c03" ], [ "FStar.UInt.udiv", @@ -577,7 +544,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6e4d1d8ac0cc0e15831d056b1dfe8744" + "8b02c17bb9db595501ffe907b7974ea0" ], [ "FStar.UInt.udiv", @@ -589,7 +556,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "68a4e2f15b8f5118049f9b00f49b58a2" + "d27462533632830302fa64353b40c7e2" ], [ "FStar.UInt.udiv", @@ -598,10 +565,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "d67d738ff22ab28d1aebeff3c346c5f6" + "8d9352ac151e07a62680c3e03f45e73d" ], [ "FStar.UInt.mod", @@ -609,23 +576,22 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "51636da0bedbf2f00d56d8baf4d57d6e" + "8e9d158ab9930b2edbe4ce7ab2ec2545" ], [ "FStar.UInt.eq", @@ -635,49 +601,46 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "875a84a7732ce78b4cfd038ad5b78e19" + "f9fa7e2d7ccfe9b2a7868420bdef4d62" ], [ "FStar.UInt.to_uint_t", 1, - 0, + 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "83e53c63afca84407d4d75ca5a591ad8" + "39e13088875716b4568de9992b667bdd" ], [ "FStar.UInt.to_vec", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_a05b2e6b4edaeb62d4d3b2d2635e8fc1_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_1", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -695,28 +658,28 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "well-founded-ordering-on-nat" ], 0, - "ead3d571cbb89a7df68e0acaee9a60a5" + "d5de89610cae7024ba2e88da27e1c4af" ], [ "FStar.UInt.from_vec", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_6d2be21617ffbb9628823d796608ebe1_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "binder_x_29dc57e10d1244ea9dcc6bf0b19a81b2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -731,87 +694,84 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits", "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "55d0019790d406c9b52f59fba3b25bc0" + "4677895087d2d82313eb3807c84700bb" ], [ "FStar.UInt.to_vec_lemma_1", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "12f29ecf26f1fa1f217f6569f69919b6" + "0c5932e91767a8307d10c11f950b3cfd" ], [ "FStar.UInt.to_vec_lemma_1", 2, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.UInt.to_vec" ], 0, - "8604616d77b8b9299e6475db47b139b7" + "7b3e883809ebfc9e18a6dfdee38ebed6" ], [ "FStar.UInt.to_vec_lemma_2", 1, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6c806693cd97bb5cc2773c72190d192a" + "3e2c9e3fbaeb3008139624a4629a716c" ], [ "FStar.UInt.to_vec_lemma_2", 2, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "881dd7adeb7c73a747f55e62cd929f61" + "bf10707f8878c561ab6a54e716378b7f" ], [ "FStar.UInt.to_vec_lemma_2", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", @@ -820,9 +780,9 @@ "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_a05b2e6b4edaeb62d4d3b2d2635e8fc1_1", - "binder_x_a05b2e6b4edaeb62d4d3b2d2635e8fc1_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_1", + "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_2", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -848,64 +808,63 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "typing_FStar.UInt.to_vec", "well-founded-ordering-on-nat" ], 0, - "c0f93faf13ca1df604e2233959bee6e2" + "7ccb6f92479e4ecc71ff2205f4da050a" ], [ "FStar.UInt.inverse_aux", 1, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "83b0dbfc1e26d64239ca6d3185ecd6ae" + "902380e8654e31e8d5a3fa307c9c00ea" ], [ "FStar.UInt.inverse_aux", 2, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_e900031a0b9cf6f9a66fafba139c0b8e", + "equation_FStar.BitVector.bv_t", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_e447e76cb831fc286ce10656299b0aa6", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "8647d68c6f4bb4e20b105d50e3b08786" + "b830468c343c6da8eeb514239e76bf40" ], [ "FStar.UInt.inverse_aux", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", @@ -914,17 +873,16 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_6d2be21617ffbb9628823d796608ebe1_1", - "binder_x_b74d2b1b8a28f3921308ab1d07c1b40f_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "binder_x_29dc57e10d1244ea9dcc6bf0b19a81b2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_e1beddd2e70f1dfd04dde9bc6d0479db_2", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", @@ -937,37 +895,42 @@ "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f64b15013ba8d3a0dda29cfc7bb279a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a36906f3c2094aca6120101ba3885c3d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_dbafcf6ee852392ba6d4465af96e1a6f", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", + "typing_FStar.UInt.to_vec", "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "b222ad0f7d20367b5fe9c60563044fa6" + "c94aba9434bb97d073d42542c0396c8a" ], [ "FStar.UInt.inverse_vec_lemma", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", @@ -978,29 +941,29 @@ "equation_Prims.nat", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.UInt.inverse_aux", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "5fca622b744f810fa2544daf010b6034" + "5d26b1dcce410e65dde7bd37b0ce8c14" ], [ "FStar.UInt.inverse_num_lemma", 1, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c44c569d7853669ad10918cc1b12482b" + "8884a09a3fa996318df63e719cdf5aff" ], [ "FStar.UInt.inverse_num_lemma", @@ -1020,175 +983,163 @@ "typing_FStar.UInt.to_vec" ], 0, - "d1b433e301a0ec548459dec7e00ea478" + "aa76866ad291d1c3742e6a973ff1f0ee" ], [ "FStar.UInt.from_vec_lemma_1", 1, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ef7a7ef45cdea141f0a6e83718567a70" + "6976d28ebfc27787f72669c463a2e402" ], [ "FStar.UInt.from_vec_lemma_1", 2, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_eq_elim", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "7c940879f07b3e35254d5aeca5d3fc82" + "8693f8f356429309ed497d0064e40ad5" ], [ "FStar.UInt.from_vec_lemma_2", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "074221badebb4d75c60c3540b36b615f" + "34b21784b61ed04e0b8443b760f4971c" ], [ "FStar.UInt.from_vec_lemma_2", 2, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "06ce806b211bba507dbc6226a8cf8a7d" + "ee297b396d608fc580e9550d0fa7f3f0" ], [ "FStar.UInt.from_vec_aux", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "equation_Prims.nat", "function_token_typing_Prims.bool", + "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "deb304e97c79080330255604ebeff353" + "1a2af6c51a62b14bde34c84f2735496d" ], [ "FStar.UInt.from_vec_aux", 2, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "equation_Prims.nat", "function_token_typing_Prims.bool", + "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "bfe7a2f9ddecbae34a7c84465b676755" + "2771e11b0b85f8aaa785890218c9d508" ], [ "FStar.UInt.seq_slice_lemma", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", + "equation_Prims.nat", "function_token_typing_Prims.bool", + "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a1cc2a00249592bc7d53e89ff0bde3e", + "refinement_interpretation_Tm_refine_1759aef3e83fb3099c1359ec437c4e30", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_35ed7e9bfb6718cd4beb2e5d76b0cdee", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dc54a7480e9a67aca3a67283d62b6c3f" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "cd28b1fd85256b4dcf3d62d6a324c2da" + "fd94c28da5ef69d17b47af6ae6b1c649" ], [ "FStar.UInt.seq_slice_lemma", 2, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", + "equation_Prims.nat", "function_token_typing_Prims.bool", + "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", "primitive_Prims.op_GreaterThanOrEqual", @@ -1196,35 +1147,33 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a1cc2a00249592bc7d53e89ff0bde3e", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dc54a7480e9a67aca3a67283d62b6c3f", + "refinement_interpretation_Tm_refine_1759aef3e83fb3099c1359ec437c4e30", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_35ed7e9bfb6718cd4beb2e5d76b0cdee", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.slice" ], 0, - "9574d48456f00d75d3edab884493e599" + "0f62cb3b8b717df00ac0f583ec7d7c0a" ], [ "FStar.UInt.from_vec_propriety", 1, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", @@ -1232,16 +1181,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "312c4cce1907b049fc8fa224ba8ab20e" + "20b497f9d87ce1166a47dca60fd237b4" ], [ "FStar.UInt.from_vec_propriety", @@ -1250,54 +1199,51 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f2ef3ef8022d9deab0701ffee0fceaa5", + "refinement_interpretation_Tm_refine_1fae0f4cf364c628755d281def624376", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "efcbcb8ffe5969141945f6f094cca5c8" + "b32aca78cbc5e1d913c2b7d31518fe89" ], [ "FStar.UInt.from_vec_propriety", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_912429cbb077cd3924590ff2197beecf_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_inversion", - "bool_typing", "equality_tok_Prims.LexTop@tok", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_typing", + "equality_tok_Prims.LexTop@tok", "equation_FStar.BitVector.bv_t", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", @@ -1305,6 +1251,7 @@ "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -1313,46 +1260,44 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ae02884d66ebb543a9d02df2abf6d5f1", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_eedc6bf2d5b29fcfc0b8996c6c599b90", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_1af4047881893c2707f5029694e73fb3", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.from_vec", "well-founded-ordering-on-nat" ], 0, - "ceedab52572206741be212169254212e" + "1cd3c4b51647bc123ef5683b6c589228" ], [ "FStar.UInt.append_lemma", 1, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.eqtype", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "35f26ece7ee93015b850bfea3f0fb4b5" + "592c7111c1dc4bd383a679332e9ea29a" ], [ "FStar.UInt.append_lemma", @@ -1364,20 +1309,18 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b709e82090541a77541a5caa1a0628c5" + "4f3fb75f99953fc74f60d309fb843d78" ], [ "FStar.UInt.append_lemma", 3, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -1390,32 +1333,30 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "136375cc569d4823d252597a78fe63d4" + "3799c5a7167159138230efb5861c74d6" ], [ "FStar.UInt.slice_left_lemma", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", @@ -1423,15 +1364,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length" ], 0, - "da3411b41ce90dfe52d2189205e9d6c5" + "f3e5373bf6a9bab0a63a7105679a111c" ], [ "FStar.UInt.slice_left_lemma", @@ -1440,25 +1381,23 @@ 1, [ "@query" ], 0, - "89ff137ab4004903a384b532cf7deb76" + "6ca7f2b22c737761a93a792f0322a525" ], [ "FStar.UInt.slice_left_lemma", 3, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -1467,30 +1406,28 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec" ], 0, - "13368598161bbd945e44953b49a0d0c0" + "4d2e8e1159f372698a025a03028fbd30" ], [ "FStar.UInt.slice_right_lemma", 1, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", @@ -1498,14 +1435,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length" ], 0, - "a68b0524cded6388395e57c3ebccecd8" + "52313b621bc70e99df992d7750fe8d01" ], [ "FStar.UInt.slice_right_lemma", @@ -1514,25 +1452,22 @@ 1, [ "@query" ], 0, - "78c0e0a7586bbf8a67f6956c53f5f770" + "0f0c2403804d87d3e9dd2e973289941c" ], [ "FStar.UInt.slice_right_lemma", 3, 0, - 1, + 0, [ "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -1541,65 +1476,65 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt.from_vec" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec" ], 0, - "ab4840489394d0d898b0890d40648f06" + "14e5ef419b647c0327fc3337ecb6c8d2" ], [ "FStar.UInt.zero_to_vec_lemma", 1, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_create_len", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length" ], 0, - "45b4ac3400bc3fac4ce8b6062a215957" + "f3e24c91c5ba7a646e6064e5983aac9f" ], [ "FStar.UInt.zero_to_vec_lemma", 2, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.zero", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.bool", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_3262f941df22c6756bb90032a89d16ca", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_d2fec344e4880ee409a29ef1a480d58c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "a7eac585c655fee5c0db54e0404d9706" + "7c75e3383c88f8ef1b998b07b3b907ff" ], [ "FStar.UInt.zero_to_vec_lemma", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", @@ -1607,8 +1542,8 @@ "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_912429cbb077cd3924590ff2197beecf_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_inversion", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", @@ -1627,15 +1562,15 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", @@ -1643,32 +1578,29 @@ "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "202033ec2a5fde0d5da28623d75fea6d" + "3dda096992f29853cedb6961bcd40406" ], [ "FStar.UInt.zero_from_vec_lemma", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "df5bd487aa4118b5542fe5449887875f" + "5f43debdde42e9d3b6b8d7a074584843" ], [ "FStar.UInt.zero_from_vec_lemma", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", @@ -1677,46 +1609,44 @@ "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.zero_to_vec_lemma", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.to_vec" ], 0, - "6c9b1c7f24b9b8a6418fc78d7f6a6647" + "1790872f9cd911dc948c38446fcc52e4" ], [ "FStar.UInt.one_to_vec_lemma", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "b6628cdcbfb9dcd4c2dfeca6aad2d83f" + "857ee47bdc5ad259c4ad75d22a5fae62" ], [ "FStar.UInt.one_to_vec_lemma", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", @@ -1747,74 +1677,65 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "typing_FStar.BitVector.elem_vec", "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.one", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt.zero", - "typing_Prims.pow2" + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt.one", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt.zero", "typing_Prims.pow2" ], 0, - "4d180567992c351a3899e0aa2462e3fa" + "f791e8aedbc9b7f536b7538d73497f8a" ], [ "FStar.UInt.pow2_to_vec_lemma", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "ed9692defd488a36c05faeef56b1190e" + "3a850c46a8171a47edf2f62494d0c2df" ], [ "FStar.UInt.pow2_to_vec_lemma", 2, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.nat", "equation_Prims.pos", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dbc36a8d81ee23c6545ac2214ae69954", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9fc52641b5bd727132b28de46ea4b7b6", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "1b0dbb7d46606ef8457a50bb827bbf61" + "5089ad7c5efc0e5370c5f5509fd6c76e" ], [ "FStar.UInt.pow2_to_vec_lemma", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", @@ -1823,9 +1744,9 @@ "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_912429cbb077cd3924590ff2197beecf_1", - "binder_x_912429cbb077cd3924590ff2197beecf_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_inversion", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.elem_vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", @@ -1850,17 +1771,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "typing_FStar.BitVector.elem_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", @@ -1869,109 +1790,104 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "7a22596793460943251700356f412333" + "9bc59b58fd0e49879225f39556ac166c" ], [ "FStar.UInt.pow2_from_vec_lemma", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "66fee03b78f3f8e36808868987b9440b" + "881455a97b82d22533c2a737eb98ae5e" ], [ "FStar.UInt.pow2_from_vec_lemma", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.elem_vec", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_to_vec_lemma", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.elem_vec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.to_vec" ], 0, - "94b64a02d93f702ff9aed3b05c2a2fe5" + "f13c6604b10dca930936c084edda3837" ], [ "FStar.UInt.ones_to_vec_lemma", 1, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_create_len", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length" ], 0, - "bd479f656114107cffe1bf40d9b23911" + "c0ad5e049006af301592d4916aefb833" ], [ "FStar.UInt.ones_to_vec_lemma", 2, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_create_len", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7b0e45d8f4961b12b8f383d72529a2e6", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f70159c0b908bf1c23c6582d30461066", "typing_FStar.Seq.Base.length" ], 0, - "dc647a0c4be5bc7615d8e140b0c92211" + "d5998a6ab897770b6d7d52b7dc301c38" ], [ "FStar.UInt.ones_to_vec_lemma", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", @@ -1980,8 +1896,8 @@ "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_912429cbb077cd3924590ff2197beecf_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_inversion", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", @@ -2001,15 +1917,15 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "typing_FStar.BitVector.ones_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", @@ -2017,32 +1933,29 @@ "typing_Prims.pow2", "well-founded-ordering-on-nat" ], 0, - "639fdb901f12baa0fc412dddf733ce3c" + "d690b85faba663aa0af8db5d880e9940" ], [ "FStar.UInt.ones_from_vec_lemma", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "60aaf8c406f505506e075b4bf7601189" + "973ebf989b3de76c9ed0e96f0111ec23" ], [ "FStar.UInt.ones_from_vec_lemma", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", @@ -2051,22 +1964,22 @@ "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.ones_to_vec_lemma", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.ones_vec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.to_vec" ], 0, - "ae22be3ff2bf3687811999fbf2e3d743" + "deded5aad9bde7e6f35a71a03fddcb4e" ], [ "FStar.UInt.nth", @@ -2075,7 +1988,7 @@ 1, [ "@query" ], 0, - "5cc538ce20c3078c64717e14029d1403" + "7c9cc1b9f0a680b3e24fdb0eedaf4303" ], [ "FStar.UInt.nth", @@ -2084,41 +1997,38 @@ 1, [ "@query" ], 0, - "8f47dd29016740299913fc0aa058d4a5" + "bf3a6174d66b2f598d7219ac765bf364" ], [ "FStar.UInt.nth", 3, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.nat", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "05b57f3f2e596e22ea5de5827747197e" + "6c053ecf916935be4741221a9d471c80" ], [ "FStar.UInt.nth_lemma", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2277dbce2540e47d107fcea8af665ee3" + "28f9a33c2809cb9174f3aa1f5901f2c1" ], [ "FStar.UInt.nth_lemma", @@ -2130,35 +2040,33 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2f85095799dd2045c314cce052b54539" + "a488a7c947bd88d4ff4d83a87eff5454" ], [ "FStar.UInt.nth_lemma", 3, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.nth", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.to_vec" ], 0, - "4fed4c60d92796cb4a4c8c80d857a6d4" + "d6ed720d69eb398f67722c02886eb960" ], [ "FStar.UInt.zero_nth_lemma", @@ -2167,7 +2075,7 @@ 1, [ "@query" ], 0, - "c35f132ad548dc71853c4e4aab947c4b" + "28d62b0404a4b4d4eecdda891d362da6" ], [ "FStar.UInt.zero_nth_lemma", @@ -2176,52 +2084,48 @@ 1, [ "@query" ], 0, - "4de2ad5c916f19e007858fdfcf73526e" + "cddf70265b337404fc369cfd9adffb90" ], [ "FStar.UInt.zero_nth_lemma", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_912429cbb077cd3924590ff2197beecf_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_typing", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_typing", "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.nth", "equation_FStar.UInt.zero", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.UInt.zero_to_vec_lemma", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c" ], 0, - "bfe2b6d8f288ea9a2cb3041a2025c5e4" + "43ec0fffc6b6389e20746cb51593e628" ], [ "FStar.UInt.pow2_nth_lemma", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.elem_vec", "equation_FStar.UInt.nth", "equation_FStar.UInt.pow2_n", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_create", @@ -2229,34 +2133,32 @@ "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.UInt.pow2_to_vec_lemma", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.elem_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "ac3af106e1d2bf7c310871efdb640492" + "1b1a4d3169671a0a062a26ab4987148e" ], [ "FStar.UInt.one_nth_lemma", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.elem_vec", "equation_FStar.UInt.nth", "equation_FStar.UInt.one", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_create", @@ -2264,18 +2166,18 @@ "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.UInt.one_to_vec_lemma", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.elem_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "4d9febbe746326a714674f3ef5e9a7b7" + "b8022609a2986861204ba6d5198d082c" ], [ "FStar.UInt.ones_nth_lemma", @@ -2284,7 +2186,7 @@ 1, [ "@query" ], 0, - "4b1a562fdc5f7c520f0e21a741a4de48" + "65986926bf7a293fb353f0097d23ffb0" ], [ "FStar.UInt.ones_nth_lemma", @@ -2293,36 +2195,34 @@ 1, [ "@query" ], 0, - "03ecd9aef2a4b70e49f69be7bc9befb5" + "060326690c15a94ff5d6cb6308cb9f33" ], [ "FStar.UInt.ones_nth_lemma", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_912429cbb077cd3924590ff2197beecf_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_typing", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_typing", "equation_FStar.BitVector.ones_vec", "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.UInt.ones_to_vec_lemma", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c" ], 0, - "70a3682bfb9a2186c9cc5aeb76493269" + "9257a6ab2be08057d4ca4ef158daafe2" ], [ "FStar.UInt.logand", @@ -2337,7 +2237,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "99642529a182f8ba07364396f5961230" + "1efe54a0a92e751a55e6efd54a084160" ], [ "FStar.UInt.logand", @@ -2349,7 +2249,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "12ab097a9ac526460157e9535e0dae1b" + "5d9dbdfe2d63a6ec87dcea407d049813" ], [ "FStar.UInt.logand", @@ -2361,7 +2261,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9d4651c5424b15af51794c9bba23fd37" + "bb9aff6e16820a39ab5f847f9dc6e9f3" ], [ "FStar.UInt.logxor", @@ -2376,7 +2276,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "96d04fbd3dbc3690d0901771f075ff70" + "0c99bc38f47f5457fc03f63f8a4cbc59" ], [ "FStar.UInt.logxor", @@ -2388,7 +2288,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7e384c8c0c479b2f0c02cfcbcbffd756" + "e1beb395fe9c20d97fb8f60319423f85" ], [ "FStar.UInt.logxor", @@ -2400,7 +2300,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "236c5ee85c600a80c1927c732ca91e10" + "ef71def38df20a56a635fbdc6cd00554" ], [ "FStar.UInt.logor", @@ -2415,7 +2315,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c43e065268ddb4b0cac14d09a22f4890" + "7b7e0b6331504ada5e5e7d791f2b0674" ], [ "FStar.UInt.logor", @@ -2427,7 +2327,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f9d06ff7e725175988f15b83312af311" + "028d7ad5a785ea7a1a0b0aedcb11fca5" ], [ "FStar.UInt.logor", @@ -2439,7 +2339,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "08f152be4fce43d1b4800b17bd3838fa" + "9e17f04b2b862af7a804c0a963f3307e" ], [ "FStar.UInt.lognot", @@ -2448,7 +2348,7 @@ 1, [ "@query" ], 0, - "481b1f48039bc4856273f6cd8435d710" + "1821aa49d2cac99f5e1e20b9c1b9e6aa" ], [ "FStar.UInt.lognot", @@ -2457,7 +2357,7 @@ 1, [ "@query" ], 0, - "919244457411d3ca591da609489cf2f1" + "036424227620deedaa389718173f4de6" ], [ "FStar.UInt.lognot", @@ -2469,7 +2369,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "33b2b1d5192a414e9cf74c0e66915f85" + "25381b8c1001a7705ef8a752d8d75611" ], [ "FStar.UInt.logand_definition", @@ -2481,7 +2381,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "14b5b15bbe23f03a0d8b321ac7a98c73" + "050284aa2b23e8d5ecda46a5839d1622" ], [ "FStar.UInt.logand_definition", @@ -2493,13 +2393,13 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4966234799a6100882ad0ec4369c7dec" + "22dc97f6a888dfc36c81e7eeabb20d53" ], [ "FStar.UInt.logand_definition", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", @@ -2508,19 +2408,17 @@ "@fuel_irrelevance_FStar.BitVector.logand_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.UInt.logand", "equation_FStar.UInt.nth", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.BitVector.logand_vec_definition", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "lemma_FStar.BitVector.logand_vec_definition", "lemma_FStar.UInt.inverse_aux", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_FStar.BitVector.logand_vec", "typing_FStar.UInt.to_vec" ], 0, - "f8ed482101429f5f53228e652b255ccf" + "1591c3ed01ade78f60b545a2ba50becf" ], [ "FStar.UInt.logxor_definition", @@ -2532,7 +2430,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "208f6c405024e23a2bb813881a5eb6dd" + "0dca161b7426e3bde54a701432589fbc" ], [ "FStar.UInt.logxor_definition", @@ -2544,13 +2442,13 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "10a50aff3d079c7ecba187592f3d09c0" + "7090a9816f55caf8b5f81a09bb80a060" ], [ "FStar.UInt.logxor_definition", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", @@ -2559,19 +2457,17 @@ "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.UInt.logxor", "equation_FStar.UInt.nth", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.BitVector.logxor_vec_definition", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.UInt.inverse_aux", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_FStar.BitVector.logxor_vec", "typing_FStar.UInt.to_vec" ], 0, - "d25772059ceb1031786e4f0d01d79ea3" + "8801d1e5857ffe362c7ef3cbb8c42366" ], [ "FStar.UInt.logor_definition", @@ -2583,7 +2479,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6bf93c44978668b3e5ee12cb252d0c55" + "e75351ea45f7e6e3cec953d4b24547b3" ], [ "FStar.UInt.logor_definition", @@ -2595,13 +2491,13 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c3cdd7ded74a1a097ddcf2bb2d5966b6" + "37a1a89250d62be3b1e4478cd0fb5bb9" ], [ "FStar.UInt.logor_definition", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -2610,19 +2506,17 @@ "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.UInt.logor", "equation_FStar.UInt.nth", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.BitVector.logor_vec_definition", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.UInt.inverse_aux", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_FStar.BitVector.logor_vec", "typing_FStar.UInt.to_vec" ], 0, - "8d71cd6570dcf7e45efc1d4eff1baf36" + "caccb27176c3eaac64c23568a46d5954" ], [ "FStar.UInt.lognot_definition", @@ -2631,7 +2525,7 @@ 1, [ "@query" ], 0, - "e0227e77171d71ac6b414586f419fdf8" + "598f22c7bb46bd381a1a5614db0fc2c1" ], [ "FStar.UInt.lognot_definition", @@ -2640,13 +2534,13 @@ 1, [ "@query" ], 0, - "e1ca95502d4ebabed90baad6dcd10290" + "320d97294abae47c42819a12ba2f2ecd" ], [ "FStar.UInt.lognot_definition", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", @@ -2655,19 +2549,17 @@ "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.UInt.lognot", "equation_FStar.UInt.nth", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.BitVector.lognot_vec_definition", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "lemma_FStar.BitVector.lognot_vec_definition", "lemma_FStar.UInt.inverse_aux", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "typing_FStar.BitVector.lognot_vec", "typing_FStar.UInt.to_vec" ], 0, - "0a9d19f0a19faa017d9047a7f2258d6d" + "35a2a94b1aec1e7c0d36dcad44f3ba52" ], [ "FStar.UInt.minus", @@ -2676,7 +2568,7 @@ 1, [ "@query" ], 0, - "4f5e9c2645ea065011d11e350ebd782c" + "58b2cd5a81b2436e6ecc76351c6620d4" ], [ "FStar.UInt.minus", @@ -2685,51 +2577,46 @@ 1, [ "@query" ], 0, - "0b17a7e272074b6d4d3bd2667e8deb0f" + "510f05476a7a5b6a06981b8266786102" ], [ "FStar.UInt.minus", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "27e86d2608f86f3783b7c7dcab22e0d6" + "9fce900f4ac54607016f3e66ce8c6d84" ], [ "FStar.UInt.logand_commutative", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9e55820824ce677dd30476aab063a75b" + "39b0d4cc546b4a004af92af0ea9cf4c0" ], [ "FStar.UInt.logand_commutative", @@ -2741,7 +2628,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f1c980ff5e808c904afae6193d669379" + "ba7138c3244b23c3b1a3a82b3c50d777" ], [ "FStar.UInt.logand_commutative", @@ -2758,26 +2645,23 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6dbafb2075229e0aa6e41d517f907148" + "42c0801df978928276fe3d526349fce4" ], [ "FStar.UInt.logand_associative", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "eaace4d5e94acb6bb1654497705ad085" + "2ba539f756221cf04c5ce086b7531050" ], [ "FStar.UInt.logand_associative", @@ -2789,7 +2673,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f23f6034fde650a2cb35ca4195ace188" + "bfada1b59695d25cf3faa73f48c30a06" ], [ "FStar.UInt.logand_associative", @@ -2813,26 +2697,23 @@ "typing_FStar.UInt.logand", "typing_FStar.UInt.nth" ], 0, - "eea4238a35bc79e82073e378da33bc66" + "ae878c353c7657f37d838116598c9eff" ], [ "FStar.UInt.logand_self", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3ca8fbeae2b98e5aa006a625c4c982cd" + "4654be7806bda905a87993b3aba2fce9" ], [ "FStar.UInt.logand_self", @@ -2841,7 +2722,7 @@ 1, [ "@query" ], 0, - "0000ba88821cba4f6296efc8b4a479ec" + "bb51ada7270ebcfb5cc5e7285f8c4ce0" ], [ "FStar.UInt.logand_self", @@ -2858,26 +2739,23 @@ "typing_FStar.UInt.nth" ], 0, - "4cd5438d3f6ee23fab0ceb5124c28ec7" + "63acd23fd37db0be4fb2de6f64cecdff" ], [ "FStar.UInt.logand_lemma_1", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9a78f3d2729803a88fc0756173481837" + "6fdee6aa46d0e817b86ac90d0db904b6" ], [ "FStar.UInt.logand_lemma_1", @@ -2886,7 +2764,7 @@ 1, [ "@query" ], 0, - "6582ad324238baa28574bac4f2117d40" + "88b3c1b6bd13d65601d5c42e9a5c4216" ], [ "FStar.UInt.logand_lemma_1", @@ -2903,26 +2781,23 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1b62b4b1ac1b49764f4b28b6e32af31e" + "ee0ca813784e0e1747f3cae479265171" ], [ "FStar.UInt.logand_lemma_2", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3feeab2af340acb9ac2f2fdff77cba53" + "1d57b985010486b78afd4e273a2a0e8d" ], [ "FStar.UInt.logand_lemma_2", @@ -2931,7 +2806,7 @@ 1, [ "@query" ], 0, - "e6137477b3f3be3c4a3cec5b33f2fdd8" + "854aab94c8bc245241faf7329657f935" ], [ "FStar.UInt.logand_lemma_2", @@ -2951,7 +2826,7 @@ "typing_FStar.UInt.nth" ], 0, - "b6ad9174854c13f1e0fc46ff43af0832" + "1fe757eed5419488bd34e9ecb6e774b1" ], [ "FStar.UInt.subset_vec_le_lemma", @@ -2966,7 +2841,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "234bccf184b94120db64949a04f3fd67" + "ae7ecea6a479899e5c6683ffa53fdd92" ], [ "FStar.UInt.subset_vec_le_lemma", @@ -2981,30 +2856,28 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7d8c210f0699f64a57622b9a9c0a6061" + "6334429d14de5aa00a02b3c7b7c121d4" ], [ "FStar.UInt.subset_vec_le_lemma", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_inversion", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.is_subset_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -3015,23 +2888,20 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_83525733b04841d27a982ceb56ca7dd5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt.from_vec", "well-founded-ordering-on-nat" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", + "well-founded-ordering-on-nat" ], 0, - "cedb1f92d79214df5a4f50696e624296" + "2e22516570d1a51199fe679895741e65" ], [ "FStar.UInt.logand_le", @@ -3043,7 +2913,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5222eb9324c1aed6037e8760cbc373c3" + "13f2ff8ca0b6c10ae12a8f3246c57d5a" ], [ "FStar.UInt.logand_le", @@ -3055,13 +2925,13 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8f7b70e4790dcbedbc4fc8aab2e97cb9" + "17b7860868bbead3f8d9dd25bfb1277b" ], [ "FStar.UInt.logand_le", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", @@ -3070,13 +2940,11 @@ "@fuel_irrelevance_FStar.BitVector.logand_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.is_subset_vec", "equation_FStar.UInt.logand", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.logand_vec_definition", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -3084,34 +2952,31 @@ "lemma_FStar.UInt.inverse_vec_lemma", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.logand_vec", "typing_FStar.Seq.Base.length" ], 0, - "b26f084f89ac665134b6e5b6e3cfbcea" + "7a36b958b82b5b59053729a256a3a323" ], [ "FStar.UInt.logxor_commutative", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8f3b3e1f3ce993d869e8df5c30715282" + "683277c7627e414ae5242e6adcad87e5" ], [ "FStar.UInt.logxor_commutative", @@ -3123,7 +2988,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bc48f7783d8357f61ecdebab71b2efc0" + "af23bd05e042e6692c74c5e70c260913" ], [ "FStar.UInt.logxor_commutative", @@ -3143,26 +3008,23 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e406c43a2736ce8767925bfff92a5c4c" + "966d1e27a2d5edf702a157194123d682" ], [ "FStar.UInt.logxor_associative", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4d7302e20a947cce4c973021ba7b81c4" + "32b2ec7146d8333a75f484eea50854e5" ], [ "FStar.UInt.logxor_associative", @@ -3174,7 +3036,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f7aec10c3683b90f81243c279cc6e638" + "8371962c8a654eecb94ee7b1033a843e" ], [ "FStar.UInt.logxor_associative", @@ -3196,26 +3058,23 @@ "typing_FStar.UInt.logxor", "typing_FStar.UInt.nth" ], 0, - "139f90098fa0e92caee0c0ef74f8d663" + "9c87b84eeb72cd4d5ff1da70d560426c" ], [ "FStar.UInt.logxor_self", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "dfd2e99bdecfbf47cbbfd0d6bf55c254" + "535b403ed90ba9f2429045d519153ac5" ], [ "FStar.UInt.logxor_self", @@ -3224,7 +3083,7 @@ 1, [ "@query" ], 0, - "97001de0c7bb0e529eb01f996fbb1f31" + "f73cc62e356d72e2b130ce6b598f1217" ], [ "FStar.UInt.logxor_self", @@ -3241,26 +3100,23 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8afe3a67f44bb1492c3936c0edb42863" + "2ac092943b4cd378e2a64b6650e8da17" ], [ "FStar.UInt.logxor_lemma_1", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "3a8ff3a3a01026a959da6a45cbcbbf61" + "406c0aa4607d69061246659f9f87627f" ], [ "FStar.UInt.logxor_lemma_1", @@ -3269,7 +3125,7 @@ 1, [ "@query" ], 0, - "18e58b0e904673f3b58717ffc3b6456a" + "b91f816d2a5da6eb4ce93c82569f8f03" ], [ "FStar.UInt.logxor_lemma_1", @@ -3288,26 +3144,23 @@ "typing_FStar.UInt.nth" ], 0, - "dcfcdbe3ed963d757e17195f0c8be890" + "93c12400f0b80e0717a300ae520d7533" ], [ "FStar.UInt.logxor_lemma_2", 1, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "be98f6917620e138636e0a15c0863739" + "91adccf2c48c93ce36f034e4da379a7e" ], [ "FStar.UInt.logxor_lemma_2", @@ -3316,7 +3169,7 @@ 1, [ "@query" ], 0, - "f40548a3cf20aef25b2e2c3aaf9ecc6f" + "c264fb31c3aecec295fe6726214df5a8" ], [ "FStar.UInt.logxor_lemma_2", @@ -3337,7 +3190,7 @@ "typing_FStar.UInt.nth" ], 0, - "7379cb667d33400f040d9c67ada6430d" + "ab4291c073f14592302c3471925e9ed0" ], [ "FStar.UInt.xor_lemma", @@ -3351,7 +3204,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4e276204a0556a88b8f416a713b6f9db" + "028b407c2aa762a60815c9fbdf6b4e19" ], [ "FStar.UInt.logxor_inv", @@ -3359,18 +3212,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2c72ae94fc453778b957dcb2e7779d6e" + "f691084d5577bba06c62643000a204af" ], [ "FStar.UInt.logxor_inv", @@ -3382,7 +3232,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9281b6f11ba0910a60f69e62635aeee8" + "ad91dff72e8da36384e2887d731a7964" ], [ "FStar.UInt.logxor_inv", @@ -3394,30 +3244,28 @@ "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.logxor", "equation_FStar.UInt.uint_t", "equation_FStar.UInt.xor", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.xor_lemma", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51da8c4a905af7573c201fcc881dc727", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c7e66d6e2773ba578002a2c84232cf45", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.logxor_vec", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.logxor", "typing_FStar.UInt.to_vec" ], 0, - "cdfe7bb66d8eae7f187c23dd16f00cf6" + "adeb531b7343e990e45b7368dfc22feb" ], [ "FStar.UInt.logxor_neq_nonzero", @@ -3425,18 +3273,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "466e179d62e9d690ff613ea3258fd14b" + "f157dfc0c87bd639ab89f8647b566901" ], [ "FStar.UInt.logxor_neq_nonzero", @@ -3448,7 +3293,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e9cbf746314289dcf4c001edda717e1b" + "d37f21b0560a523b0782edbd42b0fc4e" ], [ "FStar.UInt.logxor_neq_nonzero", @@ -3464,26 +3309,26 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.logxor", "equation_FStar.UInt.nth", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.logxor_definition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_5734b45ed3443b8db490682d0b3b9bc9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b91532cac7e95f62f6ecc26be6c79a3e", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.logxor" ], 0, - "b38c7703c40ef8b768062f00b1ceb20b" + "80f2dc80d99bd75b5de63d6b08b2f484" ], [ "FStar.UInt.logor_commutative", @@ -3491,18 +3336,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "376bb5dc089a1fd9fc80f0f55511e500" + "00ccf07eadb3ce5a6501cdb844251423" ], [ "FStar.UInt.logor_commutative", @@ -3514,7 +3356,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d0934affc8a58e50947a63669cb21afa" + "3cdaf50c6702686aa037e831e415c02d" ], [ "FStar.UInt.logor_commutative", @@ -3531,7 +3373,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "3ddfd85750cc05357590e7828b91481b" + "d2008a83e5ad29823df3487bef8794f7" ], [ "FStar.UInt.logor_associative", @@ -3539,18 +3381,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "dea3414e286665151bcfd7b0fbac8886" + "90be01a25a157862b16e0f530a05d5e7" ], [ "FStar.UInt.logor_associative", @@ -3562,7 +3401,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "13812b5a8718a418ec63699a624ab447" + "4a0ff0bce3e0e80c76322a50e605c027" ], [ "FStar.UInt.logor_associative", @@ -3570,24 +3409,21 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logor", "equation_FStar.UInt.nth", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.logor_definition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", + "equation_FStar.UInt.nth", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", + "lemma_FStar.UInt.logor_definition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.logor_vec", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.nth", "typing_FStar.UInt.to_vec" ], 0, - "4ce864d1d8af1cdc0692308a360183fa" + "13b9d32ba6994aa37a2eef8399d88b0b" ], [ "FStar.UInt.logor_self", @@ -3595,18 +3431,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c27eb7ea0ba14f3b469ac582105949b3" + "177a908293095747aa2709af24830bab" ], [ "FStar.UInt.logor_self", @@ -3615,7 +3448,7 @@ 1, [ "@query" ], 0, - "55b9894198606ef9bcd395a6dff31619" + "74576d7b9cbac783524ca80f8b624d65" ], [ "FStar.UInt.logor_self", @@ -3632,7 +3465,7 @@ "typing_FStar.UInt.nth" ], 0, - "8302a525282091b91ae8a7616fde16b9" + "8f6b7645a648397b31cae0a23574f85b" ], [ "FStar.UInt.logor_lemma_1", @@ -3640,18 +3473,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "363f5219961deb38350bf5466d298f7a" + "c2cd63b3192c31a452507d0297f7205b" ], [ "FStar.UInt.logor_lemma_1", @@ -3660,7 +3490,7 @@ 1, [ "@query" ], 0, - "46a049a8f48eaf6421d76e7ddf23f5ef" + "37614af7ff4f5223e61f15cb023a2eb8" ], [ "FStar.UInt.logor_lemma_1", @@ -3679,7 +3509,7 @@ "typing_FStar.UInt.nth" ], 0, - "4ddecd0304b3825f46d800741b2cd5a3" + "5704f8c188cf3a0cfbdbcb021380afc5" ], [ "FStar.UInt.logor_lemma_2", @@ -3687,18 +3517,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ffc75676b50cec9c3246579738250b84" + "e0787485ef7f9e4d1634f28259fd0cbe" ], [ "FStar.UInt.logor_lemma_2", @@ -3707,7 +3534,7 @@ 1, [ "@query" ], 0, - "9ce0751115b711b1375a7f81256f0ecb" + "8f253b594511c25209c46c22f48b2932" ], [ "FStar.UInt.logor_lemma_2", @@ -3725,7 +3552,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "a46da5a32761b027d5addb7753a6462b" + "33005e01563a0d3648e729da3228a424" ], [ "FStar.UInt.superset_vec_ge_lemma", @@ -3740,7 +3567,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "05f4fef5af80a006a76897fc43ab3545" + "e2b1c0c6c4201fb1890625f9271b523d" ], [ "FStar.UInt.superset_vec_ge_lemma", @@ -3755,7 +3582,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ddf742554b8119ba0bfc718f086a5f9e" + "4957e6e237f842983bbb0e2814f7a563" ], [ "FStar.UInt.superset_vec_ge_lemma", @@ -3768,38 +3595,39 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_1", - "binder_x_0f5612130ad6dec98ab8e48a61592f06_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_inversion", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", + "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.is_superset_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_83525733b04841d27a982ceb56ca7dd5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_0081655a9eb5fe95a2f8a80b6fc4c0bc", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", "well-founded-ordering-on-nat" ], 0, - "33313fbcf88325e39c02ed6d7b039b72" + "114adb7b84b04d48bce6a55de00e25ee" ], [ "FStar.UInt.logor_ge", @@ -3811,7 +3639,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d783b7152529ecdf29620928f6f697ad" + "d517cf7806173bb5bd9d2d0d771ab393" ], [ "FStar.UInt.logor_ge", @@ -3823,7 +3651,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c9ed152e10b6b0e2c209c79321db9a08" + "ab648c52b7fee577703ae22c2f77cba5" ], [ "FStar.UInt.logor_ge", @@ -3838,14 +3666,12 @@ "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.is_superset_vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -3853,15 +3679,15 @@ "lemma_FStar.UInt.inverse_vec_lemma", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.logor_vec", "typing_FStar.Seq.Base.length" ], 0, - "cc208f075af1a8623ab2b7455f124816" + "08ee7f1ab782d3299615851df1ba2f09" ], [ "FStar.UInt.lognot_self", @@ -3869,18 +3695,15 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fb3cab1007d7f285a2eb86e6907a40d9" + "9c908e9128f8131e16a9b5c75e26195d" ], [ "FStar.UInt.lognot_self", @@ -3889,7 +3712,7 @@ 1, [ "@query" ], 0, - "cdca0406b6f298bba61dfa8d1d9dfdcc" + "1ecb32a39b39f2ddd2611663ffd070fc" ], [ "FStar.UInt.lognot_self", @@ -3908,7 +3731,7 @@ "typing_FStar.UInt.lognot", "typing_FStar.UInt.nth" ], 0, - "fdc51852f21eef56d4da6b667ef26d68" + "f0daafbb99565f32198b7fa5b4219aee" ], [ "FStar.UInt.lognot_lemma_1", @@ -3916,18 +3739,15 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cfe2b2e20752b2271f0b55ca2d218348" + "0baf6a565015f4c7c27010871235c100" ], [ "FStar.UInt.lognot_lemma_1", @@ -3942,7 +3762,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "9adecf29bd49ccee3ca36e85d1aa168e" + "76debf6765f2e5b14377737494b6b86e" ], [ "FStar.UInt.to_vec_mod_pow2", @@ -3952,22 +3772,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "refinement_interpretation_Tm_refine_21b488b518f9191de94d135be64977aa", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.UInt.fits", "typing_FStar.UInt.to_vec" + "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f353e0d2a0ab8139a636e79f194142e5", + "typing_FStar.UInt.to_vec" ], 0, - "a19f95077d2ffb14bb280a26dc0f0039" + "0eed40c9c8b85e71346c73bbe95d06d5" ], [ "FStar.UInt.to_vec_mod_pow2", @@ -3977,21 +3792,15 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", + "equation_FStar.BitVector.bv_t", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_e297ad7834ffb76be16538e658a19c07", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.UInt.fits", "typing_FStar.UInt.to_vec" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_925d2b5521966eabbd969ca23fe40a86", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.UInt.to_vec" ], 0, - "480f9ac36288c2d55b5d562fbf025ef4" + "fff0e5c971a9dac09c68e802d612e637" ], [ "FStar.UInt.to_vec_mod_pow2", @@ -4006,10 +3815,10 @@ "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_a05b2e6b4edaeb62d4d3b2d2635e8fc1_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_2", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e966cab7cf307f28ea2f20138852a7b9_3", "bool_inversion", + "binder_x_a55b4d28f8c21f366030ac70899b8c9c_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_2", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -4028,18 +3837,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0acbb8a6a2b7558f590c9a6c9ef3e770", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6848989ecd7a11012772f7eb85bce909", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.create", "typing_FStar.UInt.fits", "typing_FStar.UInt.to_vec", "well-founded-ordering-on-nat" ], 0, - "d2e06b3095ad29720465cdc3b1cdc13d" + "f4838be541327f31110606cdbc2025b9" ], [ "FStar.UInt.to_vec_lt_pow2", @@ -4052,12 +3861,12 @@ "equation_FStar.BitVector.bv_t", "equation_Prims.nat", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.UInt.to_vec" ], 0, - "2e720bb7ec4216291e479ea1cf96dd03" + "9e4fbd8728396e2e17e57f1e57495923" ], [ "FStar.UInt.to_vec_lt_pow2", @@ -4070,12 +3879,12 @@ "equation_FStar.BitVector.bv_t", "equation_Prims.nat", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.UInt.to_vec" ], 0, - "f2dd7f715e45a2f21c9c2653e9ee58d8" + "d34c0dc9302237f72398717c0a1ded7a" ], [ "FStar.UInt.to_vec_lt_pow2", @@ -4090,10 +3899,10 @@ "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_a05b2e6b4edaeb62d4d3b2d2635e8fc1_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", - "binder_x_e22ba7a032a73f6d0678d3d186686631_2", - "binder_x_e8fa50101fb1433ca216a04c1656a8fd_3", "bool_inversion", + "binder_x_0b7e85c351f3e89dc0cb042380564a68_3", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", + "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_1", "bool_inversion", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -4110,19 +3919,19 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_28e8005ce987badf38b6e84e7a22f64d", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_df3af0b56f5c73e60342c1ca2a4abf41", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits", "typing_FStar.UInt.to_vec", "typing_FStar.UInt.zero", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "2bb05af6a101ce51d1970b5d3f7e9730" + "3ff5705c329a9c13dab938e1f068dffc" ], [ "FStar.UInt.index_to_vec_ones", @@ -4130,27 +3939,24 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_Prims.pow2" ], 0, - "49d123e6f2094a60b12732583500050c" + "ffdd49b097add916cf19b8d95ce7ee54" ], [ "FStar.UInt.index_to_vec_ones", @@ -4160,24 +3966,22 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "b2t_def", "equation_FStar.BitVector.bv_t", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_Prims.pos", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3910112e53adfeecf98c3271ef232609", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_022229b1ee6ffdad91888fe6284e556e", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_Prims.pow2" ], 0, - "7143c61724650e10a1d4034f6a5777fd" + "3bb3f7d2aae341d9402a9d06aa1faf1d" ], [ "FStar.UInt.index_to_vec_ones", @@ -4192,9 +3996,9 @@ "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_71fdbb36edc81747d7a9a84dc6d1ecea_1", - "binder_x_912429cbb077cd3924590ff2197beecf_2", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_inversion", + "binder_x_308018da4d931fbc9bf78f8d8e7ebcef_1", + "binder_x_a6ca6afaf28feca12f50f23fc064a6db_2", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.elem_vec", "equation_FStar.BitVector.ones_vec", "equation_FStar.UInt.fits", @@ -4212,35 +4016,32 @@ "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Division", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7780f50b718055cc1e351b2314067dc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dc6394fe05208fd6e08e080a0cb0327d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_ba4c91b92f4c4f6a09c95f79852bd4f3", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.elem_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.UInt.fits", - "typing_FStar.UInt.one", "typing_FStar.UInt.to_vec", - "typing_Prims.pow2", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.UInt.fits", "typing_FStar.UInt.one", + "typing_FStar.UInt.to_vec", "typing_Prims.pow2", "unit_inversion", + "unit_typing", "well-founded-ordering-on-nat" ], 0, - "1640bdd9bfbcad0968c9982666e48f38" + "b1bd6820330650bc576c584be2c6255f" ], [ "FStar.UInt.logor_disjoint", @@ -4256,7 +4057,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "347a1c2842c6a92180d283d703493abe" + "a21295bf5469f8329147a1a4fcc7d9ff" ], [ "FStar.UInt.logor_disjoint", @@ -4268,7 +4069,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7b8687ca18690ab77de2b0a0b38dd35a" + "b9f4ae6b7554965630b37deb2a647ef6" ], [ "FStar.UInt.logor_disjoint", @@ -4281,7 +4082,6 @@ "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.Pervasives.Native.fst", @@ -4290,7 +4090,6 @@ "equation_FStar.UInt.logor", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -4311,28 +4110,29 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_21b488b518f9191de94d135be64977aa", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3fd97138efafafb872802617f328356f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e592e73131e394153ad23631877aaab8", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_3ea0cd7f7c0dad54b4a849bfa11a2dfb", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_e7677f8b4089d6b050c1426432e769d3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f353e0d2a0ab8139a636e79f194142e5", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.split" ], 0, - "9bd155b097a11ef712b542e9041a0f07" + "0455b65a20a285e42d4567c21eb3e4df" ], [ "FStar.UInt.logand_mask", @@ -4342,21 +4142,18 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "be26ed35f7446cff977b12dc93d8890f" + "328d1383a89582611e4b949868c48c9d" ], [ "FStar.UInt.logand_mask", @@ -4365,7 +4162,7 @@ 1, [ "@query" ], 0, - "ba7f6cded93a0b75b5b16a47e4f5a249" + "1eff530ac91b9495431187809369fd15" ], [ "FStar.UInt.logand_mask", @@ -4379,7 +4176,6 @@ "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", @@ -4390,7 +4186,6 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logand_vec_definition", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -4410,27 +4205,28 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f536c15772fa0c0a6eee36682d2f2c76", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_4af44fc9599cf045745006d12c775381", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Pervasives.Native.fst", "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.split" ], 0, - "a831eab96a33913122b0a99f488e5103" + "539e4cdc233bb363b1ab746317768cb8" ], [ "FStar.UInt.shift_left", @@ -4439,7 +4235,7 @@ 1, [ "@query" ], 0, - "aa4e6a8b0077e7c34d38a280e6389d77" + "c9c6267ba4fcdea6846af149545c8a55" ], [ "FStar.UInt.shift_left", @@ -4448,7 +4244,7 @@ 1, [ "@query" ], 0, - "d4cbf490d58e1f7a03a4d86663835d48" + "1422774e05edf409cc952524c9e21749" ], [ "FStar.UInt.shift_left", @@ -4460,7 +4256,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7678881f9339da90aab48b14f54bf6be" + "7191f7c126963a0413efaf93dda9e7df" ], [ "FStar.UInt.shift_right", @@ -4469,7 +4265,7 @@ 1, [ "@query" ], 0, - "c609b1cf734e773b9e477aa225f61aae" + "982b9a8f7e0ade5a0024a1578968d01f" ], [ "FStar.UInt.shift_right", @@ -4478,7 +4274,7 @@ 1, [ "@query" ], 0, - "44909ea5e35b4198422198982da2090e" + "0355227f69c25c8858a792018f9bb7a6" ], [ "FStar.UInt.shift_right", @@ -4490,7 +4286,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "109335122346ab4fe368e01223a0cdfc" + "02968c4631855f9d610cdfbab9a26c3b" ], [ "FStar.UInt.shift_left_lemma_1", @@ -4502,7 +4298,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "15013bae217abb06136705b3d3384972" + "a6b08d0631b80288d82b9647089ce5a9" ], [ "FStar.UInt.shift_left_lemma_1", @@ -4511,7 +4307,7 @@ 1, [ "@query" ], 0, - "01da5f206942ffcfded29d3969c18044" + "8eb839f6d0b5a0889202ab8b555603c5" ], [ "FStar.UInt.shift_left_lemma_1", @@ -4522,27 +4318,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_left_vec", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_left", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.shift_left_vec_lemma_1", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt.inverse_vec_lemma", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ed60d76e610b29c3cb7504374a7ed907", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_left_vec", "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec" ], 0, - "06629aff9ba7ecb2c1f782f1fa98eafd" + "c4a1e22dffb19c7eb6afb1a46b17f771" ], [ "FStar.UInt.shift_left_lemma_2", @@ -4550,19 +4344,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" ], 0, - "1062480e8fe1f399b4039269a0b331ac" + "9cdbf107737ad8ff657a691235bf1ae1" ], [ "FStar.UInt.shift_left_lemma_2", @@ -4571,7 +4362,7 @@ 1, [ "@query" ], 0, - "12752faeb5d29f295bf97fd1c645c39f" + "c731399089a8a8bb975d76c24edfe05a" ], [ "FStar.UInt.shift_left_lemma_2", @@ -4582,27 +4373,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_left_vec", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_left", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.shift_left_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt.inverse_vec_lemma", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", "typing_FStar.BitVector.shift_left_vec", "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec" ], 0, - "bda43289ea01d2bce644a5199f4f5ef4" + "ad2ce0f79bd9cc87d769c87a0eeac57b" ], [ "FStar.UInt.shift_right_lemma_1", @@ -4614,7 +4403,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "faf988796d1a6e7de4e6340cc12a2b39" + "16d833806030ab779907cd5a82763259" ], [ "FStar.UInt.shift_right_lemma_1", @@ -4623,7 +4412,7 @@ 1, [ "@query" ], 0, - "97a3772222390f74ecb4fa6111349913" + "c650755f545f56ef3f0dfdae5b2f55f0" ], [ "FStar.UInt.shift_right_lemma_1", @@ -4634,27 +4423,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.shift_right_vec_lemma_1", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt.inverse_vec_lemma", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4254cf7570d054e7d0238ca18aa9b56c", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec" ], 0, - "3a6098ee57853785b9c0021628446780" + "600b2a6035267fdf14e23c013ee1e750" ], [ "FStar.UInt.shift_right_lemma_2", @@ -4662,19 +4449,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "d8c1c3d283497baa6365530d32bedfb8" + "0f5f0ec11d9505630a520c9938d61522" ], [ "FStar.UInt.shift_right_lemma_2", @@ -4683,7 +4467,7 @@ 1, [ "@query" ], 0, - "d09fa6473f7dff029aa7b60032d8cf9b" + "59c9aa63bd89e2bbeb3509392caff14a" ], [ "FStar.UInt.shift_right_lemma_2", @@ -4694,27 +4478,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt.inverse_vec_lemma", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec" ], 0, - "7ab4980d881c29c078d4a265ba3c0aca" + "447dca625a09102a56546f6be09e5d70" ], [ "FStar.UInt.shift_left_logand_lemma", @@ -4722,18 +4504,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "46657772ded52be03a8f897a42735deb" + "845726017ecd9a026edb7163a5199101" ], [ "FStar.UInt.shift_left_logand_lemma", @@ -4745,7 +4524,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8356caa37046c2a54a6fa7bd2b335d7a" + "ba21ed63726d2c269e972120864056a8" ], [ "FStar.UInt.shift_left_logand_lemma", @@ -4753,34 +4532,31 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logand", "equation_FStar.UInt.nth", - "equation_FStar.UInt.shift_left", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.logand_definition", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.logand", + "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_left", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt.logand_definition", "lemma_FStar.UInt.shift_left_lemma_1", "lemma_FStar.UInt.shift_left_lemma_2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0", - "refinement_interpretation_Tm_refine_ed60d76e610b29c3cb7504374a7ed907", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.logand_vec", "typing_FStar.BitVector.shift_left_vec", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec" ], 0, - "898b9afeb8f31be5b550dc2e2055278a" + "356a2c419e9502f5fcf07d7b6ab2ac2d" ], [ "FStar.UInt.shift_right_logand_lemma", @@ -4788,18 +4564,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "713e2eb6a91c02e32ff2b7dab80b6dc9" + "e6638134f6bcbe5a48dfb9d934c36733" ], [ "FStar.UInt.shift_right_logand_lemma", @@ -4811,7 +4584,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "96a6c23cafea06cabd5979dcf6634e2e" + "0d638225d16b31da2c66b80ccc0e5463" ], [ "FStar.UInt.shift_right_logand_lemma", @@ -4819,34 +4592,31 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logand", "equation_FStar.UInt.nth", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.logand_definition", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.logand", + "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt.logand_definition", "lemma_FStar.UInt.shift_right_lemma_1", "lemma_FStar.UInt.shift_right_lemma_2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4254cf7570d054e7d0238ca18aa9b56c", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.logand_vec", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec" ], 0, - "eba0407f20d5676ba81ab980a1d53135" + "9f1487644565a3146e1f74237712d9a6" ], [ "FStar.UInt.shift_left_logxor_lemma", @@ -4854,18 +4624,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ec12cd73338b046712e8ffeb1b66b3b4" + "1d42cafd39846797808bcd993ae22fa0" ], [ "FStar.UInt.shift_left_logxor_lemma", @@ -4877,7 +4644,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "fbb6d8b792d43a7e438f658d84cf2063" + "1da90ee5f825d3872f083e3fcd810fdd" ], [ "FStar.UInt.shift_left_logxor_lemma", @@ -4886,15 +4653,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.logxor", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_left", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.logxor_definition", + "equation_Prims.pos", "int_inversion", "int_typing", + "lemma_FStar.UInt.logxor_definition", "lemma_FStar.UInt.shift_left_lemma_1", "lemma_FStar.UInt.shift_left_lemma_2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", @@ -4902,19 +4667,19 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0", - "refinement_interpretation_Tm_refine_ed60d76e610b29c3cb7504374a7ed907", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_left_vec", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec" ], 0, - "0783f1cf4dcfdd8028b8f883c8adcdf6" + "c54465a57080290ca8c089ff0272579f" ], [ "FStar.UInt.shift_right_logxor_lemma", @@ -4922,18 +4687,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2213e860ca4e4ee7b3ca4342c09a2ff6" + "67f373bec44352591d721166fa0ed7f0" ], [ "FStar.UInt.shift_right_logxor_lemma", @@ -4945,7 +4707,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d6af9794dbb321dddea338eb9f3b397b" + "27959ce45e6f640f91de158f4002810e" ], [ "FStar.UInt.shift_right_logxor_lemma", @@ -4954,15 +4716,13 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.logxor", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.logxor_definition", + "equation_Prims.pos", "int_inversion", "int_typing", + "lemma_FStar.UInt.logxor_definition", "lemma_FStar.UInt.shift_right_lemma_1", "lemma_FStar.UInt.shift_right_lemma_2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", @@ -4970,19 +4730,19 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4254cf7570d054e7d0238ca18aa9b56c", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec" ], 0, - "6c51f0a116297725d1cd72b60d20162a" + "73dc59a144f7e198d6564b0272e47302" ], [ "FStar.UInt.shift_left_logor_lemma", @@ -4990,18 +4750,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f7501669baafed64e1229909ae0b261b" + "8c67e1c50cd81738ede5744742233be0" ], [ "FStar.UInt.shift_left_logor_lemma", @@ -5013,7 +4770,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "371418d7282099ad1deaa8335832f074" + "f8678db2ca15bdcc57927d02440b8ab9" ], [ "FStar.UInt.shift_left_logor_lemma", @@ -5021,15 +4778,12 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logor", "equation_FStar.UInt.nth", - "equation_FStar.UInt.shift_left", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.logor_definition", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", + "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_left", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt.logor_definition", "lemma_FStar.UInt.shift_left_lemma_1", "lemma_FStar.UInt.shift_left_lemma_2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", @@ -5037,19 +4791,19 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0", - "refinement_interpretation_Tm_refine_ed60d76e610b29c3cb7504374a7ed907", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.logor_vec", "typing_FStar.BitVector.shift_left_vec", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec" ], 0, - "950e44b0a125a0668b86355215430da0" + "a0d3cae5973d2de5828e9821c5115a96" ], [ "FStar.UInt.shift_right_logor_lemma", @@ -5057,18 +4811,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8253c0bafd07ea2ef931f8e63636332e" + "44edb3fc9675a8ca93c67604ae4f7df6" ], [ "FStar.UInt.shift_right_logor_lemma", @@ -5080,7 +4831,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d19ab52ce143282544141ece99fafd4b" + "ddc1b4bcd0608bf13145ffbaa9ada465" ], [ "FStar.UInt.shift_right_logor_lemma", @@ -5088,34 +4839,31 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logor", "equation_FStar.UInt.nth", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.logor_definition", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", + "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt.logor_definition", "lemma_FStar.UInt.shift_right_lemma_1", "lemma_FStar.UInt.shift_right_lemma_2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4254cf7570d054e7d0238ca18aa9b56c", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.logor_vec", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec" ], 0, - "29d75e2b14fdde05f6312257d7b225c8" + "301712d04d82bcdff8e7454b9aae5f01" ], [ "FStar.UInt.shift_left_value_aux_1", @@ -5130,7 +4878,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5e1b3b9c31ebda58a9eb2a2508b9b8a4" + "6f3bcd8efe901fac8eda43603e8f9412" ], [ "FStar.UInt.shift_left_value_aux_1", @@ -5139,7 +4887,7 @@ 1, [ "@query" ], 0, - "9d662e67b5ef4c85e2862af7b2ca6bcb" + "ac8e159e5b3850b56652b4c4127294fb" ], [ "FStar.UInt.shift_left_value_aux_1", @@ -5149,24 +4897,22 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.BitVector.shift_left_vec", + "@query", "b2t_def", "equation_FStar.BitVector.shift_left_vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.shift_left", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.zero_from_vec_lemma", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "lemma_FStar.UInt.zero_from_vec_lemma", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "1aedca793b545153dc6b1d3c10881b4b" + "66f8e56a1451ee7b8a3c13d74e9591fa" ], [ "FStar.UInt.shift_left_value_aux_2", @@ -5181,7 +4927,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "800a46a62822dc471032cef8ba5a1108" + "d36e39ce2828344da770603460087f49" ], [ "FStar.UInt.shift_left_value_aux_2", @@ -5190,7 +4936,7 @@ 1, [ "@query" ], 0, - "60312d04bafda38dc181f8392f78b08a" + "005495e6ae95486399d991a194748d19" ], [ "FStar.UInt.shift_left_value_aux_2", @@ -5215,12 +4961,12 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "a6846215be035d4fc787f47f73c1dd0a" + "b8245db56ac86547f26d105c712665c8" ], [ "FStar.UInt.shift_left_value_aux_3", @@ -5236,7 +4982,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e9669d3edc912443cff8147d71926c09" + "936214a470884775bca57e8f5a06ea17" ], [ "FStar.UInt.shift_left_value_aux_3", @@ -5245,7 +4991,7 @@ 1, [ "@query" ], 0, - "98b2c9613b11d3aa1b98b403102d950e" + "dc65e40addf00ced4d96a276fd95f826" ], [ "FStar.UInt.shift_left_value_aux_3", @@ -5280,18 +5026,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.shift_left_vec", "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "3875dc3c3ccab6bda6ec16e5e522afa4" + "3fa96f969f3024627ba53abf2145ca59" ], [ "FStar.UInt.shift_left_value_lemma", @@ -5306,7 +5052,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1c1f3ec7aabd0e86dc6cb2b2dd05e5c1" + "8f47f416a79dea8897dd390d8aeebb7d" ], [ "FStar.UInt.shift_left_value_lemma", @@ -5315,7 +5061,7 @@ 1, [ "@query" ], 0, - "c0940565fd6d4ff34f6db90b780864d5" + "600b6b0f22d8e1c5b66817fa3e79f18a" ], [ "FStar.UInt.shift_left_value_lemma", @@ -5334,13 +5080,13 @@ "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "unit_inversion", "unit_typing" ], 0, - "02f285892eb535086e2ecdde7cce36e4" + "f2a13a8fa1ac1427a5ebac74b3b1192a" ], [ "FStar.UInt.shift_right_value_aux_1", @@ -5349,7 +5095,7 @@ 1, [ "@query" ], 0, - "30b29ee147e1b91d48f09c59a07f4a7f" + "3e6e88cf90ff9ff3a4ea4d4d7ebb6ff0" ], [ "FStar.UInt.shift_right_value_aux_1", @@ -5358,7 +5104,7 @@ 1, [ "@query" ], 0, - "094e4a89f398ab6ed1d78dad4281e8ec" + "55c27a7e5b6076c4043993809ed9c9a2" ], [ "FStar.UInt.shift_right_value_aux_1", @@ -5369,27 +5115,25 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.BitVector.shift_right_vec", + "b2t_def", "equation_FStar.BitVector.shift_right_vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.zero_from_vec_lemma", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", + "equation_Prims.pos", "int_inversion", + "lemma_FStar.UInt.zero_from_vec_lemma", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "a6d222429116d5708b7bfb59487afdfe" + "b18304fc39f1c08ccf5b62050e683ef3" ], [ "FStar.UInt.shift_right_value_aux_2", @@ -5398,7 +5142,7 @@ 1, [ "@query" ], 0, - "0288bbfefdb874cbe56873029290c41c" + "9f6906369d476ecf85c36471d43a4cca" ], [ "FStar.UInt.shift_right_value_aux_2", @@ -5407,7 +5151,7 @@ 1, [ "@query" ], 0, - "1a0c61c58dc5edfe4cf02fe19085ad22" + "318951d6afcc9b0566a93fccb52a18e0" ], [ "FStar.UInt.shift_right_value_aux_2", @@ -5430,12 +5174,12 @@ "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "2be55093f238cdb37b76891cc73ea35f" + "6a380f6b32fd324f15c4bb9d7f85c945" ], [ "FStar.UInt.shift_right_value_aux_3", @@ -5451,7 +5195,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "653aaba8bd65c0db557b989e94517ad0" + "03f6056ac693b6118de87ebaad5b28a6" ], [ "FStar.UInt.shift_right_value_aux_3", @@ -5460,7 +5204,7 @@ 1, [ "@query" ], 0, - "a2c84a96c88d71b4ae02496e4e919d93" + "4595176bf9db30674faad73e6fe2930c" ], [ "FStar.UInt.shift_right_value_aux_3", @@ -5476,10 +5220,9 @@ "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_append", @@ -5494,18 +5237,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f2d468f6a9f5a02c84cd0623317be00f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8e88fd1dd68eda7ccb814f38d039fa61", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.length" ], 0, - "f21b2db785c7e6d274517a952449184e" + "b128348a7751083e12ac257c4e59adac" ], [ "FStar.UInt.shift_right_value_lemma", @@ -5514,7 +5257,7 @@ 1, [ "@query" ], 0, - "44ab495b644f6145dc74794c8b1f9618" + "aedfeae3bba94f4380b38c5618af1c24" ], [ "FStar.UInt.shift_right_value_lemma", @@ -5523,7 +5266,7 @@ 1, [ "@query" ], 0, - "d64fba8c3ad6db31210fe94281f89da4" + "981b9e6bc99f342dcb225c6224b39fc9" ], [ "FStar.UInt.shift_right_value_lemma", @@ -5542,13 +5285,13 @@ "primitive_Prims.op_GreaterThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "unit_inversion", "unit_typing" ], 0, - "c0761857e4904b65771f4c8b82a7a5d4" + "9f0c2a05e22fe821b8a1acfa5b9e6d11" ], [ "FStar.UInt.msb", @@ -5557,7 +5300,7 @@ 1, [ "@query" ], 0, - "c68d19e0c483ca7292b5c6c82a861dcf" + "235519e1d91fc800b8d18bffca4e11b2" ], [ "FStar.UInt.msb", @@ -5566,7 +5309,7 @@ 1, [ "@query" ], 0, - "4649713b5f8e329a772a8d750abd8342" + "8ab095b14a7836e8ca6c880990105d42" ], [ "FStar.UInt.msb", @@ -5575,10 +5318,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fde4d186ce264220c9c7c83830f4d7ea" + "f639a0d10d2c4bb2ba89f9614750d75c" ], [ "FStar.UInt.lemma_msb_pow2", @@ -5586,15 +5329,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "5e886f0f8bdbf32b9031ef14b12c3ca1" + "e4b83defa7018d0dbe7be8289eb1cac5" ], [ "FStar.UInt.lemma_msb_pow2", @@ -5603,7 +5343,7 @@ 1, [ "@query" ], 0, - "42d885532a4d9feb83f4480b11a80079" + "8d8e7e9f2f6c9bded7725e8f92426628" ], [ "FStar.UInt.lemma_msb_pow2", @@ -5618,7 +5358,6 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", @@ -5632,12 +5371,12 @@ "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_Equality", @@ -5645,28 +5384,27 @@ "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec" + "typing_FStar.UInt.to_vec", "typing_Prims.pow2" ], 0, - "9c5cb8145f0786cc8d2ed6a76e0858a0" + "d542aef9895977a5a3059a018f623411" ], [ "FStar.UInt.plus_one_mod", @@ -5678,7 +5416,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "11de78f1330edd9b3c00c483c33e7a14" + "a06c0a84a5ade41006eb7727626bd94f" ], [ "FStar.UInt.plus_one_mod", @@ -5687,13 +5425,13 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", + "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9784a9f069404fbf84583c87f59feaf8" + "2d4a171e838fcd2a58939b814d886211" ], [ "FStar.UInt.lemma_minus_zero", @@ -5702,7 +5440,7 @@ 1, [ "@query" ], 0, - "3098e8a2937baa9a6837581d535f0861" + "817e14d68474e4bb5e05438534862638" ], [ "FStar.UInt.lemma_minus_zero", @@ -5711,7 +5449,7 @@ 1, [ "@query" ], 0, - "25227e1d6a36bf908f98b82b14f94438" + "335873ae4b3781d1369679030418cc46" ], [ "FStar.UInt.lemma_minus_zero", @@ -5732,12 +5470,12 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.lognot" ], 0, - "9921c7759d0dde0c1b86ec1aa6fa169b" + "8cc5acfda96305e7ffa25531bffd232b" ], [ "FStar.UInt.lemma_msb_gte", @@ -5753,7 +5491,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "73ba686935fc6cb09686a1108cd169d2" + "fe50a2a902d53ea5ac960995183574fc" ], [ "FStar.UInt.lemma_msb_gte", @@ -5769,7 +5507,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1cd60026e8d0ffff47a3f616ebd56208" + "48d6b2dfbbbcc76f9c7033e5ccca8f12" ], [ "FStar.UInt.lemma_msb_gte", @@ -5807,24 +5545,24 @@ "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_908043d23d9b610a14feef808af9da3d", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8bebf2f6c23225f37d9e02f5dc7dc8b2", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.msb" ], 0, - "349687a5386301630694d0f1e2803623" + "8a47d2d845d1b2601ee852134f0a4954" ], [ "FStar.UInt.lemma_uint_mod", @@ -5839,7 +5577,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "89a1c756b19d4950262cec239e086a0d" + "1faf3c7b93accd1713de498e7d637793" ], [ "FStar.UInt.lemma_uint_mod", @@ -5848,7 +5586,7 @@ 1, [ "@query" ], 0, - "f9de0969c547abe9bde39735b2e45531" + "6c8eb1b38ed5157dce86becb4b0b4605" ], [ "FStar.UInt.lemma_uint_mod", @@ -5858,24 +5596,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "651d72dfeb3fc9f14abd39ce19a7a918" + "03144c92f686ee48d30da842fc1cf9db" ], [ "FStar.UInt.lemma_add_sub_cancel", @@ -5883,18 +5620,15 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d3ed461d06f7df0db281ceb9fadbb129" + "0fc0184544bdd755eff01c9b507a56da" ], [ "FStar.UInt.lemma_add_sub_cancel", @@ -5906,7 +5640,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "02de3427b1f4d2929da5e241cf5cb8fb" + "6bd513ecf770ebf4c0611d54a45261fd" ], [ "FStar.UInt.lemma_add_sub_cancel", @@ -5914,22 +5648,19 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.add_mod", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "6d22f71f9bf32bf55d41204be8b9944e" + "32c1f72c79d498867ab0412c82a2f05e" ], [ "FStar.UInt.lemma_mod_sub_distr_l", @@ -5941,7 +5672,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1b4ce14aaf58b43bdccb7d492fe69404" + "a468de1193628c54755d72e400f0183a" ], [ "FStar.UInt.lemma_mod_sub_distr_l", @@ -5956,7 +5687,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "29ca9d8a48cf42a64fb0457474f3ba5c" + "6181dc1148ff1fff5f156e47e09b8bc8" ], [ "FStar.UInt.lemma_sub_add_cancel", @@ -5964,18 +5695,15 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8df721d9395b753cc761105eb320a3e5" + "c64a2d64e0277c927716ab2ac7a768b5" ], [ "FStar.UInt.lemma_sub_add_cancel", @@ -5987,7 +5715,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bac80cd45985c070eff759c20d342b0f" + "e7afdaa4dd21629cc7d9373315b12a30" ], [ "FStar.UInt.lemma_sub_add_cancel", @@ -5995,18 +5723,16 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.add_mod", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "4d7b0145296e4ef50e0484cd4822d340" + "63de6e2969369e0b3f9fd03a469862d5" ], [ "FStar.UInt.zero_extend_vec", @@ -6015,7 +5741,7 @@ 1, [ "@query" ], 0, - "6860cf3518da248b155482df7178b988" + "6da601c8974c9f2843c5168ac165b1df" ], [ "FStar.UInt.zero_extend_vec", @@ -6024,24 +5750,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "2a19977e53f7ec8317c6219b5c193138" + "aad05b66dcf79b49af4d44ec35b65903" ], [ "FStar.UInt.one_extend_vec", @@ -6050,7 +5774,7 @@ 1, [ "@query" ], 0, - "cbc65bfae9c7f4b27a2a483c854bbf4e" + "2b8b3ed2d7f6ad43fa1133ffa0af9bba" ], [ "FStar.UInt.one_extend_vec", @@ -6059,24 +5783,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "6d1a92e8907f13ae2abfb2bf6573d8e7" + "a93233569dd667f82a7f59e066e0d2b1" ], [ "FStar.UInt.zero_extend", @@ -6085,7 +5807,7 @@ 1, [ "@query" ], 0, - "be4a4f00fdb504487e1c02b6a73dbcee" + "28f8ab883fa3a07a728b2bf3017580d4" ], [ "FStar.UInt.zero_extend", @@ -6096,10 +5818,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2845fa42cc61c34542e42eb6606c27e4" + "1ef403c770a17511d80b3714e064794b" ], [ "FStar.UInt.one_extend", @@ -6108,7 +5830,7 @@ 1, [ "@query" ], 0, - "e6405687e1bd4e50c7b3d3a291e44751" + "c81eade87be4ab79d7e1fe335a8e31ad" ], [ "FStar.UInt.one_extend", @@ -6119,10 +5841,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4d2f7f3b5e4ba122cf2c152467e69e2b" + "341b1b6c15840c9a355204f13a9afaab" ], [ "FStar.UInt.lemma_zero_extend", @@ -6130,15 +5852,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "057940ca08e7bd0209f885a90b6987e5" + "c9fe9b2c4fc0342898ebd5bfc67570b6" ], [ "FStar.UInt.lemma_zero_extend", @@ -6147,7 +5866,7 @@ 1, [ "@query" ], 0, - "79042c4d594aec8ebba791e97a463ede" + "37338aa8109fabc2d082b10251a3441a" ], [ "FStar.UInt.lemma_zero_extend", @@ -6175,7 +5894,7 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", @@ -6188,24 +5907,24 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.zero_extend_vec", "typing_Prims.pow2" ], 0, - "719a10d8a7f580caa16dca41d84c70c1" + "ce9992e7049d7331bc719370b672386c" ], [ "FStar.UInt.lemma_one_extend", @@ -6214,7 +5933,7 @@ 1, [ "@query" ], 0, - "478cc0e0476dd9a621048839141b8ab8" + "ab17fbe95675dde50a91303bf65cb60c" ], [ "FStar.UInt.lemma_one_extend", @@ -6223,7 +5942,7 @@ 1, [ "@query" ], 0, - "5b4565b3fc49970c8423cfb755174197" + "01638c0b19a7b3f6af01f5298c0cf873" ], [ "FStar.UInt.lemma_one_extend", @@ -6236,7 +5955,8 @@ "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", + "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", @@ -6251,41 +5971,39 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.inverse_num_lemma", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.one_extend_vec", - "typing_Prims.pow2" + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt.from_vec", "typing_FStar.UInt.one_extend_vec" ], 0, - "35084efb79ef7e71f62b24a0b0620874" + "5e0ca859f026e6173800d5759929848a" ], [ "FStar.UInt.lemma_lognot_zero_ext", @@ -6293,15 +6011,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "14b5ace24c62a1351b5b55585b0a0c8c" + "6d1d5f87cf69acd3c15fb64eba228479" ], [ "FStar.UInt.lemma_lognot_zero_ext", @@ -6310,7 +6025,7 @@ 1, [ "@query" ], 0, - "19c5a59d4ae09a79eb3d1589ca7f6beb" + "19dd92686057a6d83e3a96ca7d067ed3" ], [ "FStar.UInt.lemma_lognot_zero_ext", @@ -6340,7 +6055,7 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -6358,19 +6073,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_623a96737f32a2450bcfa75183bab27d", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b1dcc7fd54f9fbbe676b1553af615257", + "refinement_interpretation_Tm_refine_2862d2bcec3a54a1813fd7cc0ad5b5bc", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_682c139da73f0043f9af639e9b72dbbc", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.append", @@ -6379,7 +6094,7 @@ "typing_FStar.UInt.to_vec", "typing_Prims.pow2" ], 0, - "37f5f9b642aa921d19ccb17f0747c88e" + "55a6aa9621426cafee7ab4015cee733d" ], [ "FStar.UInt.lemma_lognot_one_ext", @@ -6387,16 +6102,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2e8c840dd9401c0daf149fd6d10607a4" + "a4ce40650c8901ad4ac4fe69d78c5ffb" ], [ "FStar.UInt.lemma_lognot_one_ext", @@ -6405,7 +6117,7 @@ 1, [ "@query" ], 0, - "bc3dc6baf03ab36bb4bf2d34794cc10e" + "ed88d5f166352d8f55b40b0446e33b33" ], [ "FStar.UInt.lemma_lognot_one_ext", @@ -6420,7 +6132,8 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", + "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_typing", "equation_FStar.BitVector.bv_t", @@ -6432,7 +6145,6 @@ "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.BitVector.lognot_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", @@ -6444,23 +6156,25 @@ "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "lemma_FStar.Seq.Properties.slice_is_empty", + "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", + "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.from_vec", @@ -6468,7 +6182,7 @@ "typing_FStar.UInt.to_vec" ], 0, - "ba020ce477b7e583686d427a7593c08a" + "45e4438b2718c37db1bc04667de7622d" ], [ "FStar.UInt.lemma_lognot_value_mod", @@ -6477,7 +6191,7 @@ 1, [ "@query" ], 0, - "c7b3b9a2ea7335b30bc5612b56127e33" + "88b3ba88fe19c9a18fd76893c6bc023b" ], [ "FStar.UInt.lemma_lognot_value_mod", @@ -6486,7 +6200,7 @@ 1, [ "@query" ], 0, - "c067ae889275231558ebede0489b5b14" + "b69b6fea24cb4fc2d4487b2be82cc593" ], [ "FStar.UInt.lemma_lognot_value_mod", @@ -6499,20 +6213,18 @@ "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_ba427613013275e38cb6d2894363fa93_1", - "binder_x_cda60864cf6228d7a4fba58b6264c802_0", "bool_inversion", + "binder_x_bba7a229ca4db309e5d74fd2b86edb25_1", + "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", "bool_typing", "equality_tok_Prims.LexTop@tok", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.one_extend_vec", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero_extend_vec", "equation_Prims.eqtype", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.BitVector.lognot_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", @@ -6521,46 +6233,43 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", + "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.UInt.inverse_aux", "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", "typing_FStar.UInt.lognot", - "typing_FStar.UInt.one_extend_vec", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt.zero_extend_vec", "typing_Prims.pow2", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" + "typing_FStar.UInt.to_vec", "unit_inversion", "unit_typing", + "well-founded-ordering-on-nat" ], 0, - "c5be7d6fac1873a9f4d0df3c06e2644a" + "3bdc11bbb0610d028190dcd41ae2c59c" ], [ "FStar.UInt.lemma_lognot_value_zero", @@ -6570,27 +6279,26 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_typing", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bc3746e6dee470ed35d69ac55d8e17b2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "e475fc9d85cd350cb1f68d590d7d11d3" + "d3cd55740542a2e4c2b0a904f7032ba2" ], [ "FStar.UInt.lemma_lognot_value_zero", @@ -6599,7 +6307,7 @@ 1, [ "@query" ], 0, - "0484836e173b49cc0171255412a4b1b2" + "973ea931d834a881aad90f2c62d03957" ], [ "FStar.UInt.lemma_lognot_value_zero", @@ -6609,27 +6317,25 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_bc3746e6dee470ed35d69ac55d8e17b2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "58c9968d48f797147ab13ff91d61f348" + "351a8dbb98d7a43da966f6955ecf2e31" ], [ "FStar.UInt.lemma_mod_variation", @@ -6644,7 +6350,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "afc049ab7f37f4637c324e763d9e6710" + "257267cca33f95b32ae3d34934e3d9ad" ], [ "FStar.UInt.lemma_mod_variation", @@ -6653,7 +6359,7 @@ 1, [ "@query" ], 0, - "7858d8811af1b48418168c074eab98a0" + "1f581682b1520987e82de0be0a6a643c" ], [ "FStar.UInt.lemma_mod_variation", @@ -6663,26 +6369,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "00e2586623b38933db6ce21ac3a541e3" + "e021b006b7eaf9220916e8b2bb899305" ], [ "FStar.UInt.lemma_one_mod_pow2", @@ -6694,7 +6398,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "189743dc4433c206c92057bcaacce224" + "49fe8d55bfcec053ab16a7696dca2851" ], [ "FStar.UInt.lemma_one_mod_pow2", @@ -6704,20 +6408,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Modulus", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_Prims.pow2" ], 0, - "4b9139347689dada19f4199100b75074" + "cb24bc28e338caf66249c532d9c50768" ], [ "FStar.UInt.lemma_lognot_value_variation", @@ -6732,7 +6434,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c489a05aed75c351fc4061789fe8e8bc" + "2baf64b09671d5ec6054c4ca6952b0f1" ], [ "FStar.UInt.lemma_lognot_value_variation", @@ -6741,7 +6443,7 @@ 1, [ "@query" ], 0, - "9cdeacd84a722ccb37c1119d28b624fa" + "a627a77fb112f64ca0945f6956bce7b0" ], [ "FStar.UInt.lemma_lognot_value_variation", @@ -6751,58 +6453,54 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "9b542730fe15aaeccc0b61df678534d8" + "dcf8704a975508b7c9da76caef2d4d61" ], [ "FStar.UInt.lemma_lognot_value_nonzero", 1, - 2, + 1, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "91e49ea5252d063ec4317f5c0c57c581" + "1f50c0a85c67b434919770eb674e38ac" ], [ "FStar.UInt.lemma_lognot_value_nonzero", @@ -6811,7 +6509,7 @@ 1, [ "@query" ], 0, - "1d74298cfdbd8491f72b9687534e96ce" + "6fdaf803c6193b3c46fc998041b74ca4" ], [ "FStar.UInt.lemma_lognot_value_nonzero", @@ -6821,61 +6519,56 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.UInt.lognot" ], 0, - "f462e938475c4f50fae542ebe21dec2f" + "fd57bb133d78f00198af0f6d0e7b4b4c" ], [ "FStar.UInt.lemma_lognot_value", 1, - 2, + 1, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "2a698528ecc61d13fc39d548da95ddb5" + "d0375e4c674d9b61c78e124e97103f24" ], [ "FStar.UInt.lemma_lognot_value", @@ -6884,7 +6577,7 @@ 1, [ "@query" ], 0, - "de0192b94c0299b832cd6a62d3062f6a" + "962a9a5a0bcc324cf5572b2cd4ae72cc" ], [ "FStar.UInt.lemma_lognot_value", @@ -6903,31 +6596,28 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6f4130267360a98d6c21d90fc1ec4de3" + "f3987ba020521268cddd62fa0ab28daa" ], [ "FStar.UInt.lemma_minus_eq_zero_sub", 1, - 2, + 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "245b1fba5191617faae6e0974907a645" + "45e13c99a9ffd5232a652bd6aa774c69" ], [ "FStar.UInt.lemma_minus_eq_zero_sub", @@ -6936,95 +6626,86 @@ 1, [ "@query" ], 0, - "95a5b4f3948225f9680a97e7f91a4e2f" + "b1dc9d798f7b056b0c7631051b142875" ], [ "FStar.UInt.lemma_minus_eq_zero_sub", 3, - 2, + 1, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.minus", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.UInt.fits" ], 0, - "2fdd0f31b213091402c4ff0b03a57808" + "adc19770144c70c783b648c3036ac120" ], [ "FStar.UInt.zero", 2, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "919e8d088bd4faf6cc8507f5ddba73f5" + "c3b2f6f3604faa347e920e66322a93f6" ], [ "FStar.UInt.pow2_n", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_Prims.pow2" ], 0, - "aedd42209c2a388a793a551255d32b4d" + "7335fdb2ea0aee2e336de5cba9728e7f" ], [ "FStar.UInt.pow2_n", @@ -7033,33 +6714,31 @@ 1, [ "@query" ], 0, - "ced1c781cbce39df2559f344efca2b3d" + "9ba33dac425ceda2161c257f72f1fa8f" ], [ "FStar.UInt.one", 3, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "17e62fd29dc3cdc00aa518b2bc1a9701" + "ce44676999c4a8d9cb5d18d675457467" ], [ "FStar.UInt.one", @@ -7068,36 +6747,34 @@ 1, [ "@query" ], 0, - "dadf003cbdb9ad171baf87621d10829c" + "a30e5b814347adf45efd8d4da9e5477c" ], [ "FStar.UInt.ones", 2, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.pos", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "770335c969afdb266599261a717818cd" + "2b8e52fa11c14586bad56f8612e5c2f1" ], [ "FStar.UInt.incr", 2, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", @@ -7107,17 +6784,17 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "a88338006fbe6295c2ca21443588ead9" + "32185d083f5de8055a8e5a6a20bbef9f" ], [ "FStar.UInt.decr", 2, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", @@ -7127,59 +6804,53 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "116ca889c431a346c552a1f36085ecfb" + "07d3d50e78981999eb455ec5a991493f" ], [ "FStar.UInt.incr_mod", 2, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "3e42e2a7f9b5e5cbfa9a97261370c0c0" + "92db04598c7b155846a094433bbe11d0" ], [ "FStar.UInt.decr_mod", 2, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "0b093d17656d19354c87e5e985038d73" + "18377fd4921466e6a2084a544fd36490" ], [ "FStar.UInt.add", @@ -7188,31 +6859,28 @@ 1, [ "@query" ], 0, - "c83588325b593b0e231c3c991cf11f1a" + "b04e8b99014c3f4f3181d55691faf1f4" ], [ "FStar.UInt.add_mod", 2, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "4f9e5cd816baaed0a20ed3a2ffc36a3a" + "dcf1a5a3893ba4ac134a109f63783fd3" ], [ "FStar.UInt.sub", @@ -7221,31 +6889,28 @@ 1, [ "@query" ], 0, - "b15d503ea389f167f102a964740e5670" + "04f3bb01e0f30d73973f7f71f80204a6" ], [ "FStar.UInt.sub_mod", 2, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "bee3144ccd342f873ee47111439389c7" + "0117f5e0406fa97a60b248590cea19a2" ], [ "FStar.UInt.mul", @@ -7254,31 +6919,28 @@ 1, [ "@query" ], 0, - "27daac48da73c4a84bc6ab207262f35e" + "f5cc406d10087d98614b9df006471479" ], [ "FStar.UInt.mul_mod", 2, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "6576f217a45947879c09692a74371bb8" + "f09d1efb9bdc53712e30559f656fcbb3" ], [ "FStar.UInt.lt_square_div_lt", @@ -7287,7 +6949,7 @@ 1, [ "@query" ], 0, - "fa2f0e723930ec1aa703bc1bd6e88b92" + "66857ef60113d8e37dafcf14d11336c6" ], [ "FStar.UInt.mul_div", @@ -7295,26 +6957,23 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits", "typing_Prims.pow2" ], 0, - "3edc10f698f17c7968779c57cb810e7d" + "9d2f9e435609d3a2e7d4a7b6ab54cee7" ], [ "FStar.UInt.div", @@ -7323,7 +6982,7 @@ 0, [ "@query" ], 0, - "2737058ae66983abccbcb62d7160ab9e" + "15b6388d43c168d02c9ffbd4b453bd25" ], [ "FStar.UInt.div", @@ -7332,7 +6991,7 @@ 0, [ "@query" ], 0, - "89dd0638dc555de15d73529a86d4af57" + "0cf5b98e54065d582814fa7fe2304bfd" ], [ "FStar.UInt.div_underspec", @@ -7341,7 +7000,7 @@ 0, [ "@query" ], 0, - "d8946bd7a04af17f2e7a985d98def4bd" + "ccc939621ac1c5a106b222aa0d939fef" ], [ "FStar.UInt.div_size", @@ -7356,7 +7015,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "be273abe9820f71ce75d61c2d16f15f1" + "4c96e6d236815cb837b5c8a6d9a9a8c8" ], [ "FStar.UInt.udiv", @@ -7368,7 +7027,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8dec6076ca823c8f93455e2e3ac023e7" + "721d7e5daa64db44d87506faee7bfd31" ], [ "FStar.UInt.udiv", @@ -7377,10 +7036,10 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "b221a729cb09496a6412944df36f0363" + "961e11d3f37d99711312b4c01d011b11" ], [ "FStar.UInt.udiv", @@ -7395,7 +7054,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1612ee85fede798759e7ae74592cccc5" + "191dca7919808a79abf786d8af5b1496" ], [ "FStar.UInt.mod", @@ -7403,24 +7062,21 @@ 0, 0, [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "c475e9ffeb169f54f2ecfbd998e0ea0a" + "5969194ee0e7684440fd9e507898ee2a" ], [ "FStar.UInt.eq", @@ -7430,49 +7086,46 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5dd29751ee1b51cc66d0323ce51a2a0d" + "945f4389671fd013dc55a5541e432b66" ], [ "FStar.UInt.to_uint_t", 2, - 0, + 1, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "9c4de8a000c3e8b210e141264cee56ce" + "a0c141e035756454b5804a04d5fb9772" ], [ "FStar.UInt.to_vec", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_a05b2e6b4edaeb62d4d3b2d2635e8fc1_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", "bool_inversion", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", + "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_1", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -7490,32 +7143,32 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "well-founded-ordering-on-nat" ], 0, - "1db40de2a99b814c4d1616f77e9a3d68" + "d18fd3668255b17d8f2588517b0ee524" ], [ "FStar.UInt.from_vec", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_6d2be21617ffbb9628823d796608ebe1_1", - "binder_x_e22ba7a032a73f6d0678d3d186686631_0", + "binder_x_29dc57e10d1244ea9dcc6bf0b19a81b2_1", + "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", @@ -7526,187 +7179,175 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt.fits", "typing_Prims.pow2", + "well-founded-ordering-on-nat" ], 0, - "3438e993ca57fb22138e97258ffbaf70" + "603b1da97fab115b6fe389ce94fd1d48" ], [ "FStar.UInt.to_vec_lemma_1", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "1b9dd39127ff652e8f676ff548dd9998" + "d63204798ad5acbac51459c53bd55a9d" ], [ "FStar.UInt.to_vec_lemma_2", 4, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a4555419e9e7854a39380e493348b973" + "ba1667146ebc8b68e732e92c277fdc0f" ], [ "FStar.UInt.inverse_aux", 4, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" ], 0, - "75e09f29843cc28d54f3846416c03976" + "e97843500b30ea7ee7f29e8467f261ab" ], [ "FStar.UInt.inverse_num_lemma", 3, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "dbb14b6bc82e5168eab9e651cef80701" + "156e4c7bbd89c65fe17a107544e56f9c" ], [ "FStar.UInt.from_vec_lemma_1", 3, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b3a3136dc912af83c44128644fd5d51b" + "559a48c941f43e32dfed7e36b94959fd" ], [ "FStar.UInt.from_vec_lemma_2", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5f67a90f0d231c9681e1e21cd97a05b6" + "f18aecf2c0a913dffe4cfc9edbd48b19" ], [ "FStar.UInt.from_vec_aux", 3, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "equation_Prims.nat", "function_token_typing_Prims.bool", + "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "ad4332c41fe6092f36f83b0f795023ec" + "af08b6522af76238c6b6a58b41a2483f" ], [ "FStar.UInt.seq_slice_lemma", 3, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", + "equation_Prims.nat", "function_token_typing_Prims.bool", + "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a1cc2a00249592bc7d53e89ff0bde3e", + "refinement_interpretation_Tm_refine_1759aef3e83fb3099c1359ec437c4e30", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_35ed7e9bfb6718cd4beb2e5d76b0cdee", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dc54a7480e9a67aca3a67283d62b6c3f" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "48faa9ae3f18c81c0079f4ad501ea6b5" + "78e6bc886644dbbb6e0791e40958c158" ], [ "FStar.UInt.from_vec_propriety", 4, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", @@ -7714,50 +7355,45 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits" ], 0, - "2315e52f96d5fc561b281d68380ab6ea" + "8d845bbb3a8c2547180622c1f9b9b6a9" ], [ "FStar.UInt.append_lemma", 4, 0, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.eqtype", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "d08abb0877aecb062ffb55762bd23e01" + "f35e65a8159800485df945a99e281cfc" ], [ "FStar.UInt.slice_left_lemma", 4, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", @@ -7765,183 +7401,164 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length" ], 0, - "60832bb240e20827a0a6c7ac1c6ba15c" + "378b7eefb105b5fa1dc0fe56afec9c5f" ], [ "FStar.UInt.slice_right_lemma", 4, 0, - 1, + 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", + "equation_Prims.pos", "function_token_typing_Prims.bool", + "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length" ], 0, - "a998921416971934941c90a75d150e8b" + "4f40917b98fe0835235af515036ebf84" ], [ "FStar.UInt.zero_to_vec_lemma", 4, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_create_len", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length" ], 0, - "848642f0699dd57838d719375f0ce946" + "b5ed1ddd69255fd0dff5d086ccdfbf2c" ], [ "FStar.UInt.zero_from_vec_lemma", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1fcd3a9fb880f690476849a8453fb912" + "b1e6f3936e0e6863515bfdb294944d7c" ], [ "FStar.UInt.one_to_vec_lemma", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "a2a095594a276a359527759fb81bb28f" + "1b4cff649438941cf580eae076bdf00a" ], [ "FStar.UInt.pow2_to_vec_lemma", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "9836670afc5d22bed513cd3d5276d256" + "4f471ea14baf98e8e77fc929595abc66" ], [ "FStar.UInt.pow2_from_vec_lemma", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "6e31efab761e1e972a2b4dfab33d844b" + "e5996be8056c505f63320ee1be926e7d" ], [ "FStar.UInt.ones_to_vec_lemma", 4, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.bool", "lemma_FStar.Seq.Base.lemma_create_len", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.length" ], 0, - "18dbbe3c13485ec94dda5f28ae455fa7" + "15c99b0d6bc48089f8a4c1cfceaef0e7" ], [ "FStar.UInt.ones_from_vec_lemma", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8fcd418083997286a59039d346aa30fb" + "54099b78693f12f31b6cbc00380f5672" ], [ "FStar.UInt.nth", @@ -7950,22 +7567,22 @@ 1, [ "@query" ], 0, - "2c0d6e4b6ac1789d599d902bc7f8e192" + "1bfd7fd77a8411095e2408de779de5b5" ], [ "FStar.UInt.nth", 5, 1, - 1, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.nat", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "30a77b43a9ba71227cb93de547f40f0f" + "7e55c2613a76552c887e643e5d1caa9b" ], [ "FStar.UInt.nth", @@ -7974,26 +7591,23 @@ 1, [ "@query" ], 0, - "742c6bf6880909a23114e0407facc713" + "276f8b29aa0bec8d745cd43032769468" ], [ "FStar.UInt.nth_lemma", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1cff2e4272085ee893769842d62d560a" + "a261adc848d64e43eddf63fb83c31246" ], [ "FStar.UInt.zero_nth_lemma", @@ -8002,7 +7616,7 @@ 1, [ "@query" ], 0, - "d5551da5812c461336e698163fc4fd45" + "dc18431a9eb3f9b0cb626651106110cd" ], [ "FStar.UInt.ones_nth_lemma", @@ -8011,7 +7625,7 @@ 1, [ "@query" ], 0, - "1bbfd11e56d4d6a035f00adb5a35b30a" + "b9b6ffdc91c41a29bfe2b1ecf79c92c0" ], [ "FStar.UInt.logand", @@ -8023,7 +7637,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "4e2b34e19260b41a7d8a48247ab5b4aa" + "a966684595a4f1f80dbc257b6d1da6e1" ], [ "FStar.UInt.logand", @@ -8035,7 +7649,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b886fa5418408c8e04c86ed5ea0dc268" + "ef632f42ad2728a4758f03dce8c6805a" ], [ "FStar.UInt.logand", @@ -8050,7 +7664,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "305a9211ba16a471c6e83b0463e26f90" + "53afc46c952392e1f93da77154e6be48" ], [ "FStar.UInt.logxor", @@ -8062,7 +7676,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b4f8000231ef2a06bd2c826e1c4ed9b7" + "557c7de622600d6b3fe2a0c8350b4844" ], [ "FStar.UInt.logxor", @@ -8074,7 +7688,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e96fe285bf60d7f3cf75a18d635e4faa" + "a2fea6f7c2563b9359bba1cc0a1243ec" ], [ "FStar.UInt.logxor", @@ -8089,7 +7703,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e7beb4fa5ed391d76a5fa72b0132670a" + "0df8919fd6a0c5194146c11bc96abb6b" ], [ "FStar.UInt.logor", @@ -8101,7 +7715,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6de8f345dd5ae4a1a52eb3cdb85972fd" + "79bbddb46a343eac55c26675ff8d8402" ], [ "FStar.UInt.logor", @@ -8113,7 +7727,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "79da9e5e7148a194b769b1731f51a0f0" + "b3eb9317bcdc08faa51f7a7133b0ff27" ], [ "FStar.UInt.logor", @@ -8128,7 +7742,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6482b9abe8120e592f28a223bba420fc" + "18c6daf34924d15990da1d87aeb27fc2" ], [ "FStar.UInt.lognot", @@ -8137,7 +7751,7 @@ 1, [ "@query" ], 0, - "23055548d56b64829273eec11c4f0bd0" + "421dddb0316484b36ad80265c3f8be3b" ], [ "FStar.UInt.lognot", @@ -8149,7 +7763,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "31fea77b9f56a838ffaab0ee755bea3d" + "af4d9496f41ee81b6277fe6494a198c8" ], [ "FStar.UInt.lognot", @@ -8158,7 +7772,7 @@ 1, [ "@query" ], 0, - "b28efa39cbb131f28dad36825312dd0f" + "996da492bca676ba67bc1f320f2ca968" ], [ "FStar.UInt.logand_definition", @@ -8170,7 +7784,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "6ce648c899573986c0fcffdd13df56da" + "fd23c0b501032ce19d827117e83d10bb" ], [ "FStar.UInt.logxor_definition", @@ -8182,7 +7796,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "855d8e237f8fe20103b70e7ff1627911" + "a29487be6555ae90b9dba8e547a884ff" ], [ "FStar.UInt.logor_definition", @@ -8194,7 +7808,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e79e0c7f1ec2f10e182df7f07674d617" + "cf6bbf2889245e67ea766c37f97dd1ed" ], [ "FStar.UInt.lognot_definition", @@ -8203,7 +7817,7 @@ 1, [ "@query" ], 0, - "9af9388583fbaa6b2c4fcc817615b56d" + "68d2501b541b40fc57d0134fea129b7a" ], [ "FStar.UInt.minus", @@ -8212,32 +7826,30 @@ 1, [ "@query" ], 0, - "379c839241c550384d42c815472c707a" + "70bc43af3285c10f536b098a6e449c0a" ], [ "FStar.UInt.minus", 5, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "0f7b2b3252b2948ba413686421bbd6fb" + "5e946dd6213d6a93eddb7eb8d5e0d9e0" ], [ "FStar.UInt.minus", @@ -8246,102 +7858,87 @@ 1, [ "@query" ], 0, - "d525ba9c031156c72981b9bc55e79789" + "6ac0718591e701783b765e080ee8eea0" ], [ "FStar.UInt.logand_commutative", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9116f683dbf3b2c6bc29aeb9c036b89f" + "fea0106ff3d368e132afc3414dc26155" ], [ "FStar.UInt.logand_associative", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "513e95a45008e708aad214c4f969dd68" + "6e12284bc66064c26407e85274da2bc3" ], [ "FStar.UInt.logand_self", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e8b6886cb34aa0222f5ba1a47ea8ca64" + "492cc105dab9e4e5e6f57072505740bc" ], [ "FStar.UInt.logand_lemma_1", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f764a4b47f221b6d27bfc1076950ab6a" + "b1b9982b309f2f0cb36d848d5610e44e" ], [ "FStar.UInt.logand_lemma_2", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e5dd2dc4bbea43763a46f562a386feec" + "6f5239a3935f9c07b54c8b8ec2ba8e0a" ], [ "FStar.UInt.subset_vec_le_lemma", @@ -8356,7 +7953,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "87fcce2e72b2792fc78ed18a02596de1" + "ec66cb64952480258951ce5ebfcd0e3a" ], [ "FStar.UInt.logand_le", @@ -8368,102 +7965,87 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "7ec673e446fb22ff8a2b0cbbb49e4b9c" + "907f52e4ce63ee63157b4e9d3db7c834" ], [ "FStar.UInt.logxor_commutative", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "44ec0ed0a672b7b1262cff5f5725a666" + "4467f435d34a3ef4a8af2dcdbd8a44f9" ], [ "FStar.UInt.logxor_associative", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "86ff88d9e9868946bed9e45e8c4ac8f1" + "573cd4ef19961cfb3d3b585048c86e34" ], [ "FStar.UInt.logxor_self", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "808d27fb80e7ba0608e2d0a6fe85b9ee" + "52c3bf2222d164a12127c9c2109cc8af" ], [ "FStar.UInt.logxor_lemma_1", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4d2b5df38be2b040dd90722e9e9205dc" + "059597ab7e8749dfcbc659e8e429441b" ], [ "FStar.UInt.logxor_lemma_2", 4, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "76f4e24e2ee35d19defe305ef7e18414" + "6585801d94ef203e0a7bd481070443f2" ], [ "FStar.UInt.logxor_inv", @@ -8471,18 +8053,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "2feb9d59a4eca97e740305f45fccbf0a" + "1fcbcea5021ca40098ebf9891bcb9671" ], [ "FStar.UInt.logxor_neq_nonzero", @@ -8490,18 +8069,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ebef1506f1eb5a40419d99626f62c92a" + "68faa15f1976ec2ffe40d906b292f9b9" ], [ "FStar.UInt.logor_commutative", @@ -8509,18 +8085,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f2922d7b5fb77d90a3b5e2daaa086f8a" + "f6881c14eb79c9079f251a7ed864c47f" ], [ "FStar.UInt.logor_associative", @@ -8528,18 +8101,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "cecf8094f02440c606ccf5a1ce6b6f43" + "a34f883deae05a5b477dfcf053308d08" ], [ "FStar.UInt.logor_self", @@ -8547,18 +8117,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "73691f688b1d45eacef2692d451becd8" + "e176a2ca021950d1ed833e3e1d44165b" ], [ "FStar.UInt.logor_lemma_1", @@ -8566,18 +8133,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fe052ccc0d3a0581a715a6ec1292d5d2" + "af0573c427c794c7343fd99cc58113bb" ], [ "FStar.UInt.logor_lemma_2", @@ -8585,18 +8149,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a4b7af3f971786cbdc6e9443544de371" + "449fb92f8500c8aed1d26db3acab4b0a" ], [ "FStar.UInt.superset_vec_ge_lemma", @@ -8611,7 +8172,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "53b5e5a93bd2504adc6bc7ca45b9480f" + "161b60d65fc430ab00ce4788637f0412" ], [ "FStar.UInt.logor_ge", @@ -8623,7 +8184,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "fe0040315d52480d8c0d2c4b67ad6f6c" + "ab0e5c42a2ac3317763aa080cc5959b9" ], [ "FStar.UInt.lognot_self", @@ -8631,18 +8192,15 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "42a002c6ad72de2d4963f8c864841308" + "76ffea554b7b50b6d8a3b0c93254565b" ], [ "FStar.UInt.lognot_lemma_1", @@ -8650,18 +8208,15 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1690c29f7ce7e365b5c4d4d9af095873" + "6ae313cc75d292e3e8e5f5ceee40667e" ], [ "FStar.UInt.to_vec_mod_pow2", @@ -8671,22 +8226,17 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "refinement_interpretation_Tm_refine_21b488b518f9191de94d135be64977aa", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.UInt.fits", "typing_FStar.UInt.to_vec" + "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f353e0d2a0ab8139a636e79f194142e5", + "typing_FStar.UInt.to_vec" ], 0, - "8718441e5cf8930c6566f72fcb88661d" + "f6cd2a89b83c2f6ac1e4d506b57b5237" ], [ "FStar.UInt.to_vec_lt_pow2", @@ -8699,12 +8249,12 @@ "equation_FStar.BitVector.bv_t", "equation_Prims.nat", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.UInt.to_vec" ], 0, - "ac0701f60cda4d0a5f603ff507a1600b" + "e877939491648a269f8370a0f75b44e8" ], [ "FStar.UInt.index_to_vec_ones", @@ -8712,27 +8262,24 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_Prims.pow2" ], 0, - "c0df2ebf880787bab6dce90c201724ec" + "422912ae1198e96cf21c594b3d9f655d" ], [ "FStar.UInt.logor_disjoint", @@ -8748,7 +8295,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d26d2bef84bba2e2e72d6e0357d80767" + "e9660a94809b1bed6b41f5f1f61611df" ], [ "FStar.UInt.logand_mask", @@ -8758,21 +8305,18 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" ], 0, - "e2e140d007af8c1ad865e2d6e51e4876" + "0b04b900bb3a8dd6876e787b7d4a56d1" ], [ "FStar.UInt.shift_left", @@ -8781,7 +8325,7 @@ 1, [ "@query" ], 0, - "a5c39e9b892d984cd227ec98c5d7b413" + "686dd200646c7ae630873b3172fa16d8" ], [ "FStar.UInt.shift_left", @@ -8793,7 +8337,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5ee35d828ebe17ec19cd0faf1e8a9ee5" + "61ad9574a7c29c06b0ab046acca24ab8" ], [ "FStar.UInt.shift_left", @@ -8802,7 +8346,7 @@ 1, [ "@query" ], 0, - "18484ba55175966ce9b272cda8d0f1bd" + "fd74f92efc6ace6bb0d162fe748b596d" ], [ "FStar.UInt.shift_right", @@ -8811,7 +8355,7 @@ 1, [ "@query" ], 0, - "ff77b5cbdfa792841c2f61e7a67334d8" + "d8bab2e7cb154e73e403663fba710709" ], [ "FStar.UInt.shift_right", @@ -8823,7 +8367,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "95e56b29e596c832ef0210d41c65b5fb" + "5a49069685269b3cd3f1498213485dc6" ], [ "FStar.UInt.shift_right", @@ -8832,7 +8376,7 @@ 1, [ "@query" ], 0, - "8a1be4d187cd944355662cba4e3c60aa" + "58a6688ebfce6c7542c598833064b398" ], [ "FStar.UInt.shift_left_lemma_1", @@ -8844,7 +8388,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "6844ad81d2544f2ef54072427473580b" + "fb25dc60e773c76bb659e1416329eabe" ], [ "FStar.UInt.shift_left_lemma_2", @@ -8852,19 +8396,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3057277359f583ebba7f6308adeddf0" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" ], 0, - "0a3f9af5f661a3f3348757381040b810" + "4d453213d157f5d490024f4d84f519b8" ], [ "FStar.UInt.shift_right_lemma_1", @@ -8876,7 +8417,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "726b28cb0b49ff3159fff23cf7cf1703" + "17c49778774adfcf9db7cc697f7dc755" ], [ "FStar.UInt.shift_right_lemma_2", @@ -8884,19 +8425,16 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" ], 0, - "331ee9d3c652c19deb4bd4bc3281bbb6" + "6f135eb3835908cf52c0f776b4d3931a" ], [ "FStar.UInt.shift_left_logand_lemma", @@ -8904,18 +8442,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "798cc0b565766691aac5ffc385d8d68c" + "fc5a2c03751d39c4677996d36afdd9a4" ], [ "FStar.UInt.shift_right_logand_lemma", @@ -8923,18 +8458,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "b689ca083d947db087ed47750bef9599" + "330797bdfdced4ded3c34c045caf9077" ], [ "FStar.UInt.shift_left_logxor_lemma", @@ -8942,18 +8474,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "54fb5f7557a6bd3555aef1b5ca313547" + "09690ac161986b1fe836f0d9001e8f1d" ], [ "FStar.UInt.shift_right_logxor_lemma", @@ -8961,18 +8490,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fd1e7edaed6057ec28ae69c7fb36ca0f" + "572e74b69217ad7b10c0178ac897d5be" ], [ "FStar.UInt.shift_left_logor_lemma", @@ -8980,18 +8506,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9a51f08aba97cbce3f6a1340d1294396" + "aa5a080bebd8b1b02b3c6a4f0751fe8d" ], [ "FStar.UInt.shift_right_logor_lemma", @@ -8999,18 +8522,15 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "6439e341ca0b61c4c505d2fa6a21bcfb" + "b20973532a48dca02053b02dfb0d0852" ], [ "FStar.UInt.shift_left_value_aux_1", @@ -9025,7 +8545,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f81385342a64badec68d9e2914187654" + "2b78d24bc279452c9a223522f0279e69" ], [ "FStar.UInt.shift_left_value_aux_2", @@ -9040,7 +8560,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e44372ce115e739035e4cedb1afe4175" + "ade002625ed68194ca254ded72af6361" ], [ "FStar.UInt.shift_left_value_aux_3", @@ -9056,7 +8576,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "443005db5ccee77640d7250e80d38bfa" + "fcf77692746070f3284f2eb79b3b6635" ], [ "FStar.UInt.shift_left_value_lemma", @@ -9071,7 +8591,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "09ac36dce801356128811f88077825a9" + "20e0851d50dc8b0196ea87a135783870" ], [ "FStar.UInt.shift_right_value_aux_1", @@ -9080,7 +8600,7 @@ 1, [ "@query" ], 0, - "8a044169198fff782acbea2eaf755c21" + "2420fd46550a15b1df79eee2b13ee0d2" ], [ "FStar.UInt.shift_right_value_aux_2", @@ -9089,7 +8609,7 @@ 1, [ "@query" ], 0, - "7274a50bbbe40c6a3f0157bf5a4106c1" + "5e46d5830bbe604bcc4919f7a9119a50" ], [ "FStar.UInt.shift_right_value_aux_3", @@ -9105,7 +8625,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5b9ff0ac155a21ddb86936e154dbcef7" + "bebffa7a0006d8d683bc76cc6dda29c2" ], [ "FStar.UInt.shift_right_value_lemma", @@ -9114,7 +8634,7 @@ 1, [ "@query" ], 0, - "9f18a1486ab37e6f106e6cfdcc08cdcb" + "720aa73060ddcc70a37ee74e77312856" ], [ "FStar.UInt.msb", @@ -9123,7 +8643,7 @@ 1, [ "@query" ], 0, - "2ccbeca0e652b83ad395e539547fb8fc" + "6720a633f0181ce6e972463632a2c5d2" ], [ "FStar.UInt.msb", @@ -9132,10 +8652,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fed37d28f05203910c035ef77cd0a86c" + "d333ff591da96424a8594b782d046765" ], [ "FStar.UInt.msb", @@ -9144,7 +8664,7 @@ 1, [ "@query" ], 0, - "1c8bdf8be2dd0b0029fdc8a0c2c816de" + "4dbb9f0f8002eb6432370296b8709d54" ], [ "FStar.UInt.lemma_msb_pow2", @@ -9152,15 +8672,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "671e1acc76fa3f789149095fd3619f5c" + "62906bb1b03e0d8b0330b47daacf1ac2" ], [ "FStar.UInt.plus_one_mod", @@ -9172,7 +8689,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5fd50010a9aea1be0c2dad603149c398" + "f74cd19951ef69a4bb9604a9e05211a0" ], [ "FStar.UInt.lemma_minus_zero", @@ -9181,7 +8698,7 @@ 1, [ "@query" ], 0, - "5d2cc047aabce3ec808cb7ef71e9640b" + "5208b3238c7b9bbdd405e28c43d37bc0" ], [ "FStar.UInt.lemma_msb_gte", @@ -9197,7 +8714,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "97f1ce6e5686345e92f34803df4fcabe" + "6ad74e7d66970aec7eab6b77d2aeb050" ], [ "FStar.UInt.lemma_uint_mod", @@ -9205,14 +8722,11 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8955f88c412d50d6d7a8525bc3c1b23c" + "604c93882084158be5f7acce4c281b34" ], [ "FStar.UInt.lemma_add_sub_cancel", @@ -9220,18 +8734,15 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9262176e2a948898d3c4230622fb4bad" + "5e8fcf1d07ab737ea5c0f0cc332906b2" ], [ "FStar.UInt.lemma_mod_sub_distr_l", @@ -9243,7 +8754,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "d1a9f38c3659579c8acc54f1a98c53fd" + "1c9990b5c2cb05deecf8472ff05fcabd" ], [ "FStar.UInt.lemma_sub_add_cancel", @@ -9251,18 +8762,15 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e9dcad14684a7044c8a0a7f58daf0843" + "e20f7cf5da2e3f514e4da4e9cce98b56" ], [ "FStar.UInt.zero_extend_vec", @@ -9271,7 +8779,7 @@ 1, [ "@query" ], 0, - "693ebb30f9a8ab8ab9b64a95b0323639" + "3e91d6f3df85d9bea0bca9cbf6bb35dc" ], [ "FStar.UInt.zero_extend_vec", @@ -9280,24 +8788,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "e8a4c01890a09ba7d832415984a60afe" + "63ab8f230ff25e5023c22333cddfebd1" ], [ "FStar.UInt.zero_extend_vec", @@ -9305,15 +8811,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "65d5c2c335c1a733f99a76e185208f04" + "1558984181c0b0ded212baafa2cd20bb" ], [ "FStar.UInt.one_extend_vec", @@ -9322,7 +8825,7 @@ 1, [ "@query" ], 0, - "b25132a2d018c6360e7e3a01a0d3c953" + "904019ae797082a71672e0e9944d4756" ], [ "FStar.UInt.one_extend_vec", @@ -9331,24 +8834,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" ], 0, - "7fde8ebe7f4b6f538759447fe5ba818a" + "f2f5569ca6f511b57ee343af73e35739" ], [ "FStar.UInt.one_extend_vec", @@ -9356,15 +8857,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8d226a88a688100bbd64a784109fbcdf" + "61108c00315df0cc864dcce2451e2b67" ], [ "FStar.UInt.zero_extend", @@ -9373,7 +8871,7 @@ 1, [ "@query" ], 0, - "3e97857fd4558a2f0090f14e5b07465c" + "0216d688310070cef41b31d1d9b67577" ], [ "FStar.UInt.zero_extend", @@ -9384,10 +8882,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "27bf30477cbf22278e639fa6b3c4d930" + "e34d4a9d8107ffb0c8b62ac29ced5bde" ], [ "FStar.UInt.zero_extend", @@ -9395,15 +8893,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "13c9976cd088b89d9a0a5b75e64936dc" + "b4cb3f2a29acb901b58325b76940b4c0" ], [ "FStar.UInt.one_extend", @@ -9412,7 +8907,7 @@ 1, [ "@query" ], 0, - "bc438e8ad24c6586cf81543bb60b0385" + "02c1923d4621e1bfd9ef378a0c74880b" ], [ "FStar.UInt.one_extend", @@ -9423,10 +8918,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9d6fb28c335fb816e38205bad8478d5b" + "7729be3b2dbbb4f4d3ea1cec023ee842" ], [ "FStar.UInt.one_extend", @@ -9434,15 +8929,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ffeb5b7cdbb2addbc8e688c7002bbd0b" + "9f9f56d82392924bbede55ad50086e6f" ], [ "FStar.UInt.lemma_zero_extend", @@ -9450,15 +8942,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "ab29fe1acc8075c356d629d87af4e5e2" + "00590428d02c03e8047337e337fe6d75" ], [ "FStar.UInt.lemma_one_extend", @@ -9467,7 +8956,7 @@ 1, [ "@query" ], 0, - "fe698a1865911862a1e893fb8845d066" + "4936f04889a3351a206a1310db0114a8" ], [ "FStar.UInt.lemma_lognot_zero_ext", @@ -9475,15 +8964,12 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7aec5bdaecb6fef9b0bd18b257cf0add" + "34b7578ee378c0eaf0b1e800a57e09d5" ], [ "FStar.UInt.lemma_lognot_one_ext", @@ -9491,16 +8977,13 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "7d6f35a519df800b83ce8f5229cd22eb" + "405243676ed16bf73e2f98fcdf60a23b" ], [ "FStar.UInt.lemma_lognot_value_mod", @@ -9509,38 +8992,36 @@ 1, [ "@query" ], 0, - "2256c4d9e2f51aa08f3f410bdd2099af" + "c883ec3e30f3df9ff96794c06e186283" ], [ "FStar.UInt.lemma_lognot_value_zero", 4, - 2, + 1, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_typing", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_bc3746e6dee470ed35d69ac55d8e17b2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "421039fdd6484f52cfde49ad754f81c6" + "d310f28344acbfca75f4a4d75877b685" ], [ "FStar.UInt.lemma_mod_variation", @@ -9555,7 +9036,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ef82a86a5c3df9a617ed281801a0d8ed" + "ec8810fca729d02325eefc7b3cae0237" ], [ "FStar.UInt.lemma_one_mod_pow2", @@ -9567,7 +9048,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "aaaa9937df28fec5463020eb31e5fe01" + "164eb06d44abfee1407473948786385e" ], [ "FStar.UInt.lemma_lognot_value_variation", @@ -9582,95 +9063,87 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "17ed8a4d121403ae535440526008e78a" + "56bef12e341cee8669fec2b1c4a963ea" ], [ "FStar.UInt.lemma_lognot_value_nonzero", 4, - 2, + 1, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "7575623a39736bb4bed200e4b5c645ca" + "2db0fdd4dc654586a5e9a34344e3e241" ], [ "FStar.UInt.lemma_lognot_value", 4, - 2, + 1, 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented" ], 0, - "99a3a62f04785c8a4f65cc547054762c" + "b9b19db6021cfb940997b958ec3f3b78" ], [ "FStar.UInt.lemma_minus_eq_zero_sub", 4, - 2, + 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "b04fb9dacd6c763a2733d29e03543518" + "61ccdb043a8d14d94f9c2d68e6757d6d" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.UInt128.fst b/ulib/FStar.UInt128.fst index a6aef5c5301..c7b5ff7e226 100644 --- a/ulib/FStar.UInt128.fst +++ b/ulib/FStar.UInt128.fst @@ -459,7 +459,7 @@ let add_u64_shift_left (hi lo: U64.t) (s: U32.t{U32.v s < 64}) : Pure U64.t assert (low_n < pow2 s); mod_mul_pow2 (U64.v hi) (64 - s) s; U64.add high low -#reset-options "--max_fuel 0 --max_ifuel 0 --smtencoding.elim_box true --smtencoding.nl_arith_repr wrapped --smtencoding.l_arith_repr native --z3cliopt 'smt.case_split=3'" +#reset-options "--max_fuel 0 --max_ifuel 0 --smtencoding.elim_box true --smtencoding.nl_arith_repr wrapped --smtencoding.l_arith_repr native" #set-options "--normalize_pure_terms_for_extraction" @@ -472,12 +472,14 @@ let div_plus_multiple (a:nat) (b:nat) (k:pos) : val div_add_small: n:nat -> m:nat -> k1:pos -> k2:pos -> Lemma (requires (n < k1)) (ensures (k1*m / (k1*k2) == (n + k1*m) / (k1*k2))) +#push-options "--z3rlimit_factor 20" let div_add_small n m k1 k2 = div_product (k1*m) k1 k2; div_product (n+k1*m) k1 k2; mul_div_cancel m k1; assert (k1*m/k1 == m); div_plus_multiple n m k1 +#pop-options #set-options "--z3rlimit 5" val add_mod_small: n: nat -> m:nat -> k1:pos -> k2:pos -> @@ -818,10 +820,12 @@ let mul32_digits x y = () let u32_32 : x:U32.t{U32.v x == 32} = U32.uint_to_t 32 +#push-options "--z3rlimit 40" let u32_combine (hi lo: U64.t) : Pure U64.t (requires (U64.v lo < pow2 32)) (ensures (fun r -> U64.v r = U64.v hi % pow2 32 * pow2 32 + U64.v lo)) = U64.add lo (U64.shift_left hi u32_32) +#pop-options // generalization of Math.lemma_mult_le_left (relaxed bounds on arguments) val lemma_mult_le_left: a:nat -> b:int -> c:int -> Lemma @@ -1014,6 +1018,7 @@ let mul_wide_low_ok (x y: U64.t) : val product_high32 : x:U64.t -> y:U64.t -> Lemma ((U64.v x * U64.v y) / pow2 32 == phh x y * pow2 32 + plh x y + phl x y + pll_h x y) +#push-options "--z3rlimit_factor 10" let product_high32 x y = Math.pow2_plus 32 32; product_expand x y; @@ -1021,18 +1026,19 @@ let product_high32 x y = mul_div_cancel (phh x y * pow2 32) (pow2 32); mul_div_cancel (plh x y + phl x y + pll_h x y) (pow2 32); Math.small_division_lemma_1 (pll_l x y) (pow2 32) +#pop-options val product_high_expand : x:U64.t -> y:U64.t -> Lemma ((U64.v x * U64.v y) / pow2 64 == phh x y + (plh x y + phl x y + pll_h x y) / pow2 32) -#set-options "--z3rlimit 20" +#push-options "--z3rlimit 80" let product_high_expand x y = Math.pow2_plus 32 32; div_product (mul_wide_high x y) (pow2 32) (pow2 32); product_high32 x y; Math.division_addition_lemma (plh x y + phl x y + pll_h x y) (pow2 32) (phh x y); () -#set-options "--z3rlimit 5" +#pop-options val mod_spec_multiply : n:nat -> k:pos -> Lemma ((n - n%k) / k * k == n - n%k) diff --git a/ulib/FStar.UInt128.fst.hints b/ulib/FStar.UInt128.fst.hints index f31389418af..cec351ef34c 100644 --- a/ulib/FStar.UInt128.fst.hints +++ b/ulib/FStar.UInt128.fst.hints @@ -1,5 +1,5 @@ [ - ">­uøVÝ9O@’?&\u001eJ\fC", + "\u0005Çàà\u000fØ\u0017&+ùá‹•“ãš", [ [ "FStar.UInt128.uint128", @@ -8,7 +8,7 @@ 0, [ "@query", "assumption_FStar.UInt64.t__uu___haseq" ], 0, - "3648f3fddeca018ebd7949b8887b5002" + "b1a42fa4b2b72bc7cf093aaaa8a46c75" ], [ "FStar.UInt128.t", @@ -17,7 +17,7 @@ 0, [ "@query", "assumption_FStar.UInt128.uint128__uu___haseq" ], 0, - "8939780806b5def46b15623b714e45ba" + "54c648f4d66c45b86d113506740b9df4" ], [ "FStar.UInt128.v", @@ -29,7 +29,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f720fa8fb15c85a8e43d35a785e4b2e4" + "9c4c9fbd2a5a81660a3723af9a04b24f" ], [ "FStar.UInt128.v", @@ -39,26 +39,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt128.t", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt128.n", "typing_FStar.UInt64.v" ], 0, - "c2be73177a0ed38e3d334fb394355910" + "cbf00d12c16383bb62636ba700e1028c" ], [ "FStar.UInt128.div_mod", @@ -67,12 +64,12 @@ 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" + "int_inversion", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "39a3d3f68ebca44a6ea7150425405ef1" + "fd461ef90b9c1551e3fac632158a7702" ], [ "FStar.UInt128.uint_to_t", @@ -80,18 +77,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9aea5abfa1b7d7bad2f5635ba5bd0d31" + "8d309eb03d41fc95e896963ca37281bd" ], [ "FStar.UInt128.uint_to_t", @@ -103,7 +97,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "e9c34275ba35a458f7429e04d40b8059" + "557d17e17685c631108890294948ea92" ], [ "FStar.UInt128.uint_to_t", @@ -113,14 +107,12 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", + "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", + "equation_Prims.nat", "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -130,13 +122,13 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d", + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.n" ], 0, - "3bf1abf25f53696f4b74cabd354bb4da" + "7e9999ac7919db95a80e8959d69e797e" ], [ "FStar.UInt128.v_inj", @@ -148,7 +140,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "2476e864bf982a9467b40fe84aeba1dd" + "b2a71afd5d5a17cdf41f986d8e7adcc2" ], [ "FStar.UInt128.v_inj", @@ -158,16 +150,14 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.uint_to_t", "equation_FStar.UInt128.v", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", + "equation_FStar.UInt128.t", "equation_FStar.UInt128.uint_to_t", + "equation_FStar.UInt128.v", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.uv_inv", "lemma_FStar.UInt64.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -177,14 +167,14 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt128.v", "typing_FStar.UInt64.v" ], 0, - "c5ef1c6b9203eb7d6c1f2d605a3fe047" + "b28996ef1cad9abffe5b7a87d3206820" ], [ "FStar.UInt128.constant_time_carry", @@ -194,20 +184,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8418d0e720d3539f125be972bb25616c" + "44c0dddeadfc3756d76339f79abf4e4d" ], [ "FStar.UInt128.constant_time_carry_ok", @@ -215,22 +202,20 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt64.lt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt64.lt", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt64.v" ], 0, - "3a90c988b0f353f2395dcf36b6ce995d" + "ba7cdbb3cc7600702d2862af34ebf8a0" ], [ "FStar.UInt128.carry", @@ -238,25 +223,21 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.lt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt64.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt64.lt", "int_inversion", "int_typing", + "lemma_FStar.UInt64.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9508a06939a0f9d15496f1a6ddfc0123", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_75ef378c01efa37f4dfff3ea9efb36a5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt64.logxor", "typing_FStar.UInt64.v" ], 0, - "f0c58411a1593f38a35c6d9608fec693" + "a3fa6d065998083463b47893497fa576" ], [ "FStar.UInt128.carry_sum_ok", @@ -266,29 +247,25 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.add_mod", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.carry", - "equation_Prims.nat", "function_token_typing_FStar.Int64.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Int.pow2_values", + "b2t_def", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.carry", "equation_Prims.nat", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a5beb11a63dcb42e8701ed4a6d3a38f5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ec4901a3ecf8bde3e0d2fd7968f021e2", + "refinement_interpretation_Tm_refine_3750aa018f362a54e65d50cdbb08ea7f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f711a8125ef1fb553efffd1586844b8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.carry", "typing_FStar.UInt64.add_mod", "typing_FStar.UInt64.v" ], 0, - "07592ee959deb6e196c21adb551494dd" + "537358b7af41b3d3d65ac92dad268aaa" ], [ "FStar.UInt128.add", @@ -300,7 +277,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f4a43c76195c5b7368fb1e5b70f02382" + "947e53119a9281101352f679918ec68f" ], [ "FStar.UInt128.add", @@ -310,20 +287,15 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int64.n", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.carry", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", + "equation_FStar.UInt128.v", "equation_Prims.nat", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt128.Mkuint128_high", @@ -332,15 +304,17 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.constant_time_carry", "typing_FStar.UInt64.v" + "typing_FStar.UInt128.n", "typing_FStar.UInt64.v", + "typing_Prims.pow2" ], 0, - "4e26ad6de73d894c32281776f66679c8" + "ada8dc4407fe08f35ecc20408aad77dd" ], [ "FStar.UInt128.add_underspec", @@ -352,7 +326,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "7f1e41b1c6c539d7e580b69b3698ea85" + "f1212868750b649deec9acb6a5c859c4" ], [ "FStar.UInt128.add_underspec", @@ -362,36 +336,33 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int64.n", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.carry", "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt128.Mkuint128_high", "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_30520f4aa1db6a708962f02a92706a29", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.constant_time_carry", "typing_FStar.UInt64.v" + "typing_FStar.UInt128.constant_time_carry", "typing_FStar.UInt128.n", + "typing_FStar.UInt64.add_underspec", "typing_FStar.UInt64.v" ], 0, - "195368729de70a2d47ac3152ca12dfb2" + "b534bf66dba6b3a7a90d615c6bf96e8d" ], [ "FStar.UInt128.mod_mod", @@ -399,12 +370,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" + "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61" ], 0, - "7aab9bb985bf126df2316f51a4b1fbc7" + "b4c6782fec838fbaf177f3596f0f581f" ], [ "FStar.UInt128.mod_mod", @@ -412,16 +382,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "941a772046dbae850f2f201120c61963" + "d55f244cca5ff8915e604abd13eb8f40" ], [ "FStar.UInt128.mod_spec", @@ -429,13 +396,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" + "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61" ], 0, - "0196aeccc1fd93426afd25af4db75505" + "aae921f9b0edcc283ff9b0e34280ad50" ], [ "FStar.UInt128.div_product", @@ -443,12 +408,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" + "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61" ], 0, - "a76bd010aad3665d128f5b35740d37b5" + "d93e3ab679042b92b275df5de92eb38f" ], [ "FStar.UInt128.div_product", @@ -457,7 +421,7 @@ 0, [ "@query" ], 0, - "d4e6b97b73f102acfbd4d038887259f8" + "efd1a508436ce0e293b4062f3af55248" ], [ "FStar.UInt128.mul_div_cancel", @@ -470,7 +434,7 @@ "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "ecc825e73917dd2d9c02c968a798ec03" + "254d33bf7c09c24f0dc5f5a0c3de5091" ], [ "FStar.UInt128.mul_div_cancel", @@ -480,11 +444,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d37ebae6069ebfe6b9de6ab95c770534" + "c496f505087eb0300c63250144cc2264" ], [ "FStar.UInt128.mod_mul", @@ -492,15 +456,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "d8a0f33166a82608b44d79b40fa55448" + "ae2cff064f0e597872fdf01a7e5dcf29" ], [ "FStar.UInt128.mod_mul", @@ -508,16 +469,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1c04b14c83767c0e4e6ce5b997071330" + "9547f07a7e99c879d5e8fee2831c8603" ], [ "FStar.UInt128.mod_spec_rew_n", @@ -527,11 +485,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ec68928d66759da9c383546b8232f757" + "752be872eac15baef8ad4a30ec46d350" ], [ "FStar.UInt128.mod_add", @@ -544,7 +502,7 @@ "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "268e0f7b6a64284de74b4d4b73937274" + "3e67df70f74a19ca33ff8b7111c4c28a" ], [ "FStar.UInt128.mod_add", @@ -553,7 +511,7 @@ 0, [ "@query" ], 0, - "5e4bd1c848d496a46deeec3d1335bbd3" + "f28946824e9b00a58ba93e22324e58e9" ], [ "FStar.UInt128.mod_add_small", @@ -566,7 +524,7 @@ "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "8c568096d92ad4b11e1411f24a3eb6d2" + "2b7b8e3b33d0e4b5517e8c145b113d4f" ], [ "FStar.UInt128.mod_add_small", @@ -574,12 +532,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" + "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61" ], 0, - "e351a22de2e5cc54df68a238c16708d7" + "9487b094fedb4258cad51ef141eba509" ], [ "FStar.UInt128.pow2_plus_pat", @@ -589,10 +546,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8d7550d44de39df6ede27497718ad44a" + "449e87fbc2acffad72f52298c1f95ec5" ], [ "FStar.UInt128.pow2_plus_pat", @@ -601,7 +558,7 @@ 0, [ "@query" ], 0, - "d63231ffdefc83267da3afdb8c0db561" + "26790bf37944e7209f25557543123cd2" ], [ "FStar.UInt128.mod_mul_pat", @@ -609,15 +566,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "db35f54e2d67114f980baa02e8178185" + "96bcc5c660a496bdd82a5d1a1f3c67cd" ], [ "FStar.UInt128.mod_mod_pat", @@ -630,7 +584,7 @@ "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "1f1e3be86787ced6b0817a02a3814e50" + "7b3e07b0acf9c6af646ba02d2a8e4608" ], [ "FStar.UInt128.mod_mod_pat", @@ -638,16 +592,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" + "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61" ], 0, - "6d7c58df785df89fd45400d5d9598457" + "73f295a831d4f7260296435770c4b0f5" ], [ "FStar.UInt128.add_mod", @@ -663,7 +612,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "711fbb63f8f806cc5c6afc0e3b0b2d38" + "fff5fefaf3c629bdc03c0e7fbe88d241" ], [ "FStar.UInt128.add_mod", @@ -673,38 +622,33 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.add_mod", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt128.mod_mul_pat", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", + "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt128.mod_mul_pat", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "proj_equation_FStar.UInt128.Mkuint128_high", "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v", "typing_Prims.pow2" + "typing_FStar.UInt128.n", "typing_FStar.UInt64.v", + "typing_Prims.pow2" ], 0, - "c6383f356bc45c141cdea2b4eb5afdb4" + "b77ab59c08acb40160c7bbbc4883aea7" ], [ "FStar.UInt128.sub", @@ -716,7 +660,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "b45ac80ccd308415b3eb71b2e60d2f8a" + "b9721fb206f068c079ddea5f13322726" ], [ "FStar.UInt128.sub", @@ -726,32 +670,31 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "fuel_guarded_inversion_FStar.UInt128.uint128", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt128.Mkuint128_high", "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cce5569ce2fdd586ce3d0cdbed37c360", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v" + "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" ], 0, - "05eefb1195e7923df60fc917ab0f1a8c" + "dfad3effd563ddace4ed62109d382785" ], [ "FStar.UInt128.sub_underspec", @@ -763,7 +706,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "fc1239117cb939121e8897782a529cdc" + "48e515cc36fe5ca6890318893780de12" ], [ "FStar.UInt128.sub_underspec", @@ -773,15 +716,13 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", + "equation_FStar.UInt128.v", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", @@ -791,14 +732,15 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt.fits", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt64.v" ], 0, - "352d9574c1fb437e4d306321570cfd53" + "4986b924acd3b46bffa609f4c96122b5" ], [ "FStar.UInt128.sub_mod_pos_ok", @@ -808,9 +750,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int64.n", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", @@ -818,35 +758,30 @@ "equation_FStar.UInt128.sub", "equation_FStar.UInt128.sub_mod_impl", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.uv_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt64.uv_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt128.Mkuint128_high", "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_5db845804664b825501de1fb642880cf", - "refinement_interpretation_Tm_refine_9bd11efd3d1b15018e7a1047644f241f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ec4901a3ecf8bde3e0d2fd7968f021e2", - "typing_FStar.UInt.sub_mod", + "refinement_interpretation_Tm_refine_0259ae7f711bbf5250aad23eaff14623", + "refinement_interpretation_Tm_refine_3750aa018f362a54e65d50cdbb08ea7f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cce5569ce2fdd586ce3d0cdbed37c360", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt128.carry", - "typing_FStar.UInt128.constant_time_carry", "typing_FStar.UInt128.v", - "typing_FStar.UInt64.sub", "typing_FStar.UInt64.sub_mod", - "typing_FStar.UInt64.v" + "typing_FStar.UInt128.constant_time_carry", "typing_FStar.UInt128.n", + "typing_FStar.UInt128.v", "typing_FStar.UInt64.sub", + "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" ], 0, - "af5866f3f094548fbd420533bb5b3de9" + "3a5a1191c4fa7d8f405acfc2926d3b3c" ], [ "FStar.UInt128.u64_diff_wrap", @@ -856,26 +791,22 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_FStar.Int64.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5db845804664b825501de1fb642880cf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cce5569ce2fdd586ce3d0cdbed37c360", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" ], 0, - "695aab86ee81b21f3bcbc8629cf4d832" + "6828dcb6fad850d169a16ac7666cd40a" ], [ "FStar.UInt128.sub_mod_wrap1_ok", @@ -885,44 +816,39 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.sub_mod_impl", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_Prims.__cache_version_number__", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_FStar.UInt128.sub_mod_impl", + "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", + "equation_Prims.eqtype", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.UInt128.uint128", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", - "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.uv_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt64.uv_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt128.Mkuint128_high", "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", + "refinement_interpretation_Tm_refine_3750aa018f362a54e65d50cdbb08ea7f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5db845804664b825501de1fb642880cf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ec4901a3ecf8bde3e0d2fd7968f021e2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cce5569ce2fdd586ce3d0cdbed37c360", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.carry", "typing_FStar.UInt128.sub_mod_impl", - "typing_FStar.UInt128.v", "typing_FStar.UInt64.sub_mod", + "typing_FStar.UInt128.carry", "typing_FStar.UInt128.n", + "typing_FStar.UInt128.sub_mod_impl", "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" ], 0, - "a1df0b91631efef6d5ab184d39de9a04" + "befb5585dcda0a4b27fcc9d91efe90d2" ], [ "FStar.UInt128.sum_lt", @@ -931,7 +857,7 @@ 0, [ "@query" ], 0, - "7f0a8b9976cfdfe5f02c536f4e6c0473" + "9a0a3401e73bc8d178ce8b97eaf3f38d" ], [ "FStar.UInt128.sub_mod_wrap2_ok", @@ -941,39 +867,33 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.sub_mod_impl", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_FStar.UInt128.sub_mod_impl", + "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt128.Mkuint128_high", "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_5db845804664b825501de1fb642880cf", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ec4901a3ecf8bde3e0d2fd7968f021e2", + "refinement_interpretation_Tm_refine_3750aa018f362a54e65d50cdbb08ea7f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cce5569ce2fdd586ce3d0cdbed37c360", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.carry", "typing_FStar.UInt64.sub_mod", - "typing_FStar.UInt64.v" + "typing_FStar.UInt128.carry", "typing_FStar.UInt128.n", + "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" ], 0, - "56f27bd7c92bc49262c5290936bcf52a" + "c1cc6522ef0ce17326881745dcfa9858" ], [ "FStar.UInt128.sub_mod_wrap_ok", @@ -994,7 +914,7 @@ "typing_FStar.UInt128.v", "typing_FStar.UInt64.v" ], 0, - "f4b2809ecc3869737a21ad806bcbcf97" + "2fa8b6eab091ce1200862901972e2209" ], [ "FStar.UInt128.sub_mod", @@ -1010,7 +930,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5ce36da6f3a08798649e006b49e7527c" + "d42563dc4e6e1a679eb8b46e56ce11cc" ], [ "FStar.UInt128.sub_mod", @@ -1020,28 +940,37 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.carry", "equation_FStar.UInt128.n", + "equation_FStar.UInt128.sub_mod_impl", "equation_FStar.UInt128.t", + "equation_FStar.UInt128.v", "equation_Prims.nat", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.UInt128.Mkuint128_high", + "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.UInt128.v", "typing_Prims.pow2" + "projection_inverse_FStar.UInt128.Mkuint128_high", + "projection_inverse_FStar.UInt128.Mkuint128_low", + "refinement_interpretation_Tm_refine_3750aa018f362a54e65d50cdbb08ea7f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_cce5569ce2fdd586ce3d0cdbed37c360", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt128.__proj__Mkuint128__item__high", + "typing_FStar.UInt128.__proj__Mkuint128__item__low", + "typing_FStar.UInt128.carry", + "typing_FStar.UInt128.constant_time_carry", "typing_FStar.UInt128.n", + "typing_FStar.UInt128.v", "typing_FStar.UInt64.sub_mod", + "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "1033717cda42aef6dd3c14610201842e" + "b028978551bbd5cfaaf760790ab78470" ], [ "FStar.UInt128.shift_bound", @@ -1051,10 +980,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a752121ec1484e35e46cab691a4b07e5" + "6efbb982958610990e2c22346fc18656" ], [ "FStar.UInt128.shift_bound", @@ -1070,11 +999,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "69a072e04110f360f62ed6127a35d6e5" + "c39654b3c6c80915ffbc513281af2782" ], [ "FStar.UInt128.append_uint", @@ -1084,10 +1013,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4d6c4fc6f97cc1e2da52605f0a6b8aea" + "c22bdbb648f6ce437573e9b3ca1c2f87" ], [ "FStar.UInt128.append_uint", @@ -1105,13 +1034,13 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_Prims.pow2" ], 0, - "ea2be5f3a3b9ca829e78cdd8e839716e" + "4ca86a2ee2c3698162f5e899f3891cb0" ], [ "FStar.UInt128.to_vec_append", @@ -1119,11 +1048,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61" ], 0, - "c77e436f45863a231a8080cbc25b3f4b" + "7794769b81e6e1167883509ba1552dcd" ], [ "FStar.UInt128.to_vec_append", @@ -1134,28 +1063,26 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.append_uint", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.inverse_vec_lemma", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.append", "typing_FStar.UInt.fits", "typing_FStar.UInt.to_vec", "typing_FStar.UInt128.append_uint" ], 0, - "ee0a4abf39184395ac2d576bc4b84d7a" + "120566820a6cedfe62ba1dcf1db5b99b" ], [ "FStar.UInt128.to_vec_v", @@ -1163,17 +1090,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.UInt128.append_uint", "equation_FStar.UInt128.t", + "@query", "equation_FStar.UInt128.append_uint", "equation_FStar.UInt128.v", "equation_FStar.UInt128.vec128", "equation_FStar.UInt128.vec64", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "int_typing", "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxInt_proj_0" + "proj_equation_FStar.UInt128.Mkuint128_high", + "proj_equation_FStar.UInt128.Mkuint128_low" ], 0, - "8f824a671f1772017e58997186b311df" + "618fe435847f44eef0e75f79726eb51a" ], [ "FStar.UInt128.logand_vec_append", @@ -1181,20 +1105,17 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.eqtype", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "f6d321be0233642d91642c8ef5d75b20" + "0af7c0614d36b64a576c1a8bfc19fb2c" ], [ "FStar.UInt128.logand_vec_append", @@ -1207,7 +1128,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1e94c5035a9d750031f44268fa3dfafa" + "bceb31676043f9582344eee27551aee1" ], [ "FStar.UInt128.logand_vec_append", @@ -1217,13 +1138,9 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logand_vec_definition", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -1232,19 +1149,19 @@ "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cae4432fb246e3fe108fb3cdee74828c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_a4897f73ed01a04f42f5a3de93acce4c", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logand_vec", "typing_FStar.Seq.Base.append", - "typing_FStar.UInt.fits" + "typing_FStar.Seq.Base.index" ], 0, - "a8f48cdf646565b7a95463ec778b9a1a" + "9f54e6e11d2832d455bfccc33271489f" ], [ "FStar.UInt128.logand", @@ -1256,7 +1173,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f4ef6e38d4bece4c8fd07f4426341bf1" + "acc72c51b010f2af48e60c8196211118" ], [ "FStar.UInt128.logand", @@ -1268,20 +1185,16 @@ "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int64.n", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logand", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_FStar.UInt128.vec128", "equation_FStar.UInt128.vec64", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_Prims.__cache_version_number__", + "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.logand", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", + "equation_FStar.UInt128.v", "equation_FStar.UInt128.vec128", + "equation_FStar.UInt128.vec64", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_typing", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.inverse_vec_lemma", @@ -1291,8 +1204,8 @@ "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logand_vec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "typing_FStar.UInt128.__proj__Mkuint128__item__high", @@ -1301,7 +1214,7 @@ "typing_FStar.UInt128.vec64" ], 0, - "41514a0c9d0bec5b4a2a41127e3df0d5" + "22f2b98a3973b9f0f50941d29c1b61b5" ], [ "FStar.UInt128.logxor_vec_append", @@ -1309,20 +1222,17 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.eqtype", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "f5c5bbc80ce33bbc3554ee23a91f8d5f" + "8ff0d1980ca3e0082169fd4b411c936e" ], [ "FStar.UInt128.logxor_vec_append", @@ -1335,7 +1245,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bd9c42c86cdee0ac5719822b16a3b55e" + "eaad7f5cbe992f491c4493bc7f553298" ], [ "FStar.UInt128.logxor_vec_append", @@ -1345,13 +1255,9 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -1360,19 +1266,19 @@ "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_13eff5f1f44e9ab281d92246f2bc344e", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_10848cc857e95829717ef4b52656f4b8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logxor_vec", "typing_FStar.Seq.Base.append", - "typing_FStar.UInt.fits" + "typing_FStar.Seq.Base.index" ], 0, - "78eb38f000fb4f478248a11d74729128" + "4210ea5aadf0d020db75455c3a5386d6" ], [ "FStar.UInt128.logxor", @@ -1384,7 +1290,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "4cbcaca79f157b41e3397bb325422e2a" + "33165bb8fe53ae8fe528d1dbdbb8ba4b" ], [ "FStar.UInt128.logxor", @@ -1396,20 +1302,16 @@ "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int64.n", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logxor", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_FStar.UInt128.vec128", "equation_FStar.UInt128.vec64", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_Prims.__cache_version_number__", + "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.logxor", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", + "equation_FStar.UInt128.v", "equation_FStar.UInt128.vec128", + "equation_FStar.UInt128.vec64", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_typing", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.inverse_vec_lemma", @@ -1419,8 +1321,8 @@ "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logxor_vec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "typing_FStar.UInt128.__proj__Mkuint128__item__high", @@ -1429,7 +1331,7 @@ "typing_FStar.UInt128.vec64" ], 0, - "17076f33d271821bb10922fc545930e2" + "eb336f92df5f9cfbb319a4e8f37b9464" ], [ "FStar.UInt128.logor_vec_append", @@ -1437,20 +1339,17 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.eqtype", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" ], 0, - "979a2c24e8f619cb1fb85a076897839d" + "f4a8d22a958963f0f1d4bf1b4a7311ae" ], [ "FStar.UInt128.logor_vec_append", @@ -1463,7 +1362,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "b42a88cfd51242246287a78a84899ea1" + "9a534124f0aa2cb5a1885f703e559778" ], [ "FStar.UInt128.logor_vec_append", @@ -1473,13 +1372,9 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -1488,19 +1383,19 @@ "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_3e16d37dc2954067c8ddbd9ffb3a08a7", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c98ad2660226d3b9567d9a623a6fd6af", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logor_vec", "typing_FStar.Seq.Base.append", - "typing_FStar.UInt.fits" + "typing_FStar.Seq.Base.index" ], 0, - "c7dbd69fafe5df94db3b1e9ec387ce8d" + "b3c9ae265d496f4d4b3c0b77979c8d7f" ], [ "FStar.UInt128.logor", @@ -1512,7 +1407,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "053ac27b6d4d89716f0008ffb5736d66" + "6741776126da327f805c4a3ccc681872" ], [ "FStar.UInt128.logor", @@ -1524,20 +1419,16 @@ "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int64.n", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_FStar.UInt128.vec128", "equation_FStar.UInt128.vec64", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_Prims.__cache_version_number__", + "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.logor", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", + "equation_FStar.UInt128.v", "equation_FStar.UInt128.vec128", + "equation_FStar.UInt128.vec64", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_typing", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.inverse_vec_lemma", @@ -1547,8 +1438,8 @@ "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.logor_vec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "typing_FStar.UInt128.__proj__Mkuint128__item__high", @@ -1557,7 +1448,7 @@ "typing_FStar.UInt128.vec64" ], 0, - "6dccd0a28569694b8a4b21e1c6fa1a98" + "86b97d9e52ee387055660bf52df4a712" ], [ "FStar.UInt128.lognot_vec_append", @@ -1565,20 +1456,19 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", + "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" ], 0, - "9bc50e273af40569a5f5a6b7e648b8e2" + "c0a69590fc16feac8d7845920604a304" ], [ "FStar.UInt128.lognot_vec_append", @@ -1591,7 +1481,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "0d497112460f42ddc2bda1e53e9d508d" + "42f289655b7f661c827ecee8e1dd4b0f" ], [ "FStar.UInt128.lognot_vec_append", @@ -1601,13 +1491,9 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", + "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", + "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -1616,19 +1502,19 @@ "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0b04691c951527f03bb11d8801e71661", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d085a59b346e2a25fd31ee9ac015e1bf", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.append", - "typing_FStar.UInt.fits" + "typing_FStar.Seq.Base.index" ], 0, - "52d95471b0f4d189bd3115f5f04f7a7b" + "70d6b5d1b1c3257644d8718f6421e8cd" ], [ "FStar.UInt128.lognot", @@ -1640,7 +1526,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9c23eec83866a1ee6e9a599f88055b3c" + "d501c2a57ca5a5916cc644b6019d072d" ], [ "FStar.UInt128.lognot", @@ -1652,20 +1538,16 @@ "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int64.n", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_FStar.UInt128.vec128", "equation_FStar.UInt128.vec64", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_Prims.__cache_version_number__", + "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.lognot", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", + "equation_FStar.UInt128.v", "equation_FStar.UInt128.vec128", + "equation_FStar.UInt128.vec64", "equation_Prims.eqtype", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_typing", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.inverse_vec_lemma", @@ -1675,8 +1557,8 @@ "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "typing_FStar.UInt128.__proj__Mkuint128__item__high", @@ -1685,7 +1567,7 @@ "typing_FStar.UInt128.vec64" ], 0, - "14997b2ada6fb09760f1e388999cb9d5" + "c7c47d4016fde9d21c380ace43b190f7" ], [ "FStar.UInt128.__uint_to_t", @@ -1697,7 +1579,7 @@ "equation_FStar.UInt.size", "equation_FStar.UInt128.n" ], 0, - "b96cc36290ccce32660b454920b3f15f" + "9d9b67fa1c995dc2c19a7f3a684ec2c0" ], [ "FStar.UInt128.mod_mul_cancel", @@ -1707,11 +1589,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" + "refinement_interpretation_Tm_refine_0d7e4eca39ece8741d14e52a0b956b61", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "226564d4d79299d1efa1129c1a18d15a" + "182c0107602eee6df3bea5372f2a39b5" ], [ "FStar.UInt128.shift_past_mod", @@ -1721,17 +1603,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", "typing_Prims.pow2" ], 0, - "ffea3b87cf7db5da6be7e0d2f6783b3d" + "c89e872cebf442309754afab324c3325" ], [ "FStar.UInt128.mod_double", @@ -1744,7 +1624,7 @@ "refinement_interpretation_Tm_refine_c42d7927e44e0f393ec040dac09bfa8d" ], 0, - "523303f9774032a50bb898092c1fe07c" + "c0458a59cf59b4a4a5805bbc45b62632" ], [ "FStar.UInt128.mod_double", @@ -1753,7 +1633,7 @@ 0, [ "@query" ], 0, - "2637565cef4e1fb400b1dbc4dd5f7cb8" + "7926894f686579658a611e46360018f0" ], [ "FStar.UInt128.shift_left_large_val", @@ -1763,10 +1643,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ef9a0104731919a3633927f2204572a7" + "9f8aceff9ab9e5a482921621eed965fe" ], [ "FStar.UInt128.shift_left_large_lemma", @@ -1776,23 +1656,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_Prims.pow2" ], 0, - "7137a7dc2797b0048d5737c2e3f41780" + "fb5ae84ea9e2bd4e74df5afe7d8a93e1" ], [ "FStar.UInt128.shift_left_large_lemma_t", @@ -1808,7 +1686,7 @@ "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" ], 0, - "85c31703992b469bd72183a29529993a" + "338f02505adcfa1b70e3adff5a33b80e" ], [ "FStar.UInt128.shift_left_large_lemma_t", @@ -1816,11 +1694,18 @@ 0, 0, [ - "@query", "equation_FStar.UInt128.v", - "projection_inverse_BoxInt_proj_0" + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_FStar.UInt.max_int", "equation_FStar.UInt128.v", + "equation_Prims.nat", + "function_token_typing_Prims.__cache_version_number__", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "b2fd9ac342d02a75a7660e7659270ec0" + "310d68432c3f252578792e9b30bac591" ], [ "FStar.UInt128.u32_64", @@ -1830,20 +1715,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ee5afcb0262e3c5156cc3c0be769c21e" + "84889621f3865d51c6ebf39fa9c54d98" ], [ "FStar.UInt128.div_pow2_diff", @@ -1851,16 +1733,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "fd587622cfed304f3682f23e6c17a34b" + "416e6072b6231f16d6b47a48f0b54e03" ], [ "FStar.UInt128.div_pow2_diff", @@ -1870,17 +1749,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "typing_Prims.pow2" ], 0, - "6ee1d9ed76b06b299c2c98ae0b0d5fb6" + "b269b44896affcabbd4ac44db3ab255a" ], [ "FStar.UInt128.mod_mul_pow2", @@ -1890,22 +1767,19 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "fa8c6e2f60325db1c1595c8b14e8db7c" + "077c6de7059463ff62363f37b8e8860c" ], [ "FStar.UInt128.mod_mul_pow2", 2, 0, 0, - [ - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "projection_inverse_BoxInt_proj_0" - ], + [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "bac8454004e1637828a77683bfe3745f" + "9bf35d5451458ed26cbbc5ceaba59363" ], [ "FStar.UInt128.pow2_div_bound", @@ -1921,12 +1795,12 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "dad619e9ade3e90ee79c6912faac05d8" + "8a4f4902a1e7e5d74a14a59be9defd08" ], [ "FStar.UInt128.add_u64_shift_left", @@ -1936,31 +1810,26 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.u32_64", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.UInt.shift_left_value_lemma", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.u32_64", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt.shift_left_value_lemma", "lemma_FStar.UInt.shift_right_value_lemma", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_07ef848e0ca2f0642eab98244a662525", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_587da4107c9e3e26aba2ec3e8778617f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f86218777a31a44ed8c7b13d310ab890", "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", "typing_FStar.UInt64.v" ], 0, - "e80551bcba927540fabea82dcd7ba38d" + "38cfc3d400ecd09f79dfadc267d79e8f" ], [ "FStar.UInt128.div_plus_multiple", @@ -1970,11 +1839,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "0c5dabb965258b8998d6f8faea704c4b" + "bbf1a098a927cb3b9a85575f2d410575" ], [ "FStar.UInt128.div_add_small", @@ -1982,19 +1851,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "c90dca08c01299a3b624fde9771100ee" + "d707b6c736632d28bb7eaecee41c64cd" ], [ "FStar.UInt128.div_add_small", @@ -2002,16 +1864,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "8f46b03367a0521079e27426d76b96f9" + "e61c2366e413a8f2ef59aff69668914a" ], [ "FStar.UInt128.add_mod_small", @@ -2019,19 +1878,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "983df7af8f4e54d08bb91fef13a300cf" + "81a7e8f9cee89b40b18f3d9345045a86" ], [ "FStar.UInt128.add_mod_small", @@ -2039,16 +1891,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "a6abf6344037e821bfd2d5ff7e26fc24" + "36fb93f7c6daf37cb09a276009e2906c" ], [ "FStar.UInt128.mod_then_mul_64", @@ -2057,7 +1906,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "080b138aef18c2e8e529cf1f6c6ceba8" + "dd9ffcff1b66fcd460a97e1ba4c15121" ], [ "FStar.UInt128.mul_abc_to_acb", @@ -2066,7 +1915,7 @@ 0, [ "@query" ], 0, - "80978a7631447d21d023d5175445e6d2" + "371792946f80baea17bce1caa5c85807" ], [ "FStar.UInt128.add_u64_shift_left_respec", @@ -2076,50 +1925,25 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int64.n", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.add_u64_shift_left", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_FStar.UInt128.u32_64", - "equation_FStar.UInt32.n", "equation_FStar.UInt32.n_minus_one", "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.shift_left_value_lemma", - "lemma_FStar.UInt.shift_right_value_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_07ef848e0ca2f0642eab98244a662525", - "refinement_interpretation_Tm_refine_0a84fb4d1287dbe60799b2bbff13978e", - "refinement_interpretation_Tm_refine_642409a21879455dbdf66e7ccfa6675c", - "refinement_interpretation_Tm_refine_647bc1e50085d38dd97fae2d2349134f", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a84cac4d54132da90f4dac5355f9961c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.UInt.fits", "typing_FStar.UInt128.add_u64_shift_left", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.add", - "typing_FStar.UInt64.shift_left", "typing_FStar.UInt64.shift_right", - "typing_FStar.UInt64.v", "typing_Prims.pow2" + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_587da4107c9e3e26aba2ec3e8778617f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f86218777a31a44ed8c7b13d310ab890", + "typing_FStar.UInt128.n", "typing_FStar.UInt128.u32_64", + "typing_FStar.UInt32.v", "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "7a11eb634fddcb9c8b101877f645659f" + "5cf229abd2cd1962d1c2c4fc3ea86ec5" ], [ "FStar.UInt128.add_mod_small'", @@ -2131,7 +1955,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1cf6aacb141dd3604361cf229cb2f8bd" + "9698ceb684b4d01b60d10ca19e3f7bf4" ], [ "FStar.UInt128.add_mod_small'", @@ -2139,16 +1963,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Prims.pos", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e72f8ff3b370fe8d57df4f1762c873b7" + "23d71616032c9463afbd107dddf0d5fe" ], [ "FStar.UInt128.shift_t_val", @@ -2158,21 +1979,15 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int64.n", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Subtraction", + "equation_FStar.UInt.min_int", "equation_FStar.UInt128.t", + "equation_FStar.UInt128.v", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "55688abc3ca006cee59d0c1df921ef4d" + "a4f9ef152fd230433adacd5f8b8f0be6" ], [ "FStar.UInt128.mul_mod_bound", @@ -2181,7 +1996,7 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "abcfcba4a4cec76055a3798c3ad146d5" + "3cec3629eccdc355d5b8cd780cf62c4c" ], [ "FStar.UInt128.mul_mod_bound", @@ -2191,17 +2006,15 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_47109dd5837e560f72664f314778a899", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", "typing_Prims.pow2" ], 0, - "a57f5343f21b746f1bbfc48636af37a2" + "beec55267914374a664bcefbcca7863b" ], [ "FStar.UInt128.add_lt_le", @@ -2210,7 +2023,7 @@ 0, [ "@query" ], 0, - "3ea3e1156df116c244fb2c2f32d05b1d" + "77bc609f5c9a16f29aa2f200dbf034ee" ], [ "FStar.UInt128.u64_pow2_bound", @@ -2220,25 +2033,22 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.Int64.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_Prims.pow2" ], 0, - "a921a97e591f8d6692d2bd2394c2225e" + "0ee746575c1727d2ae39507b9cab8671" ], [ "FStar.UInt128.shift_t_mod_val'", @@ -2246,29 +2056,28 @@ 0, 0, [ - "@MaxIFuel_assumption", + "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.t", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", + "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", + "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", - "refinement_interpretation_Tm_refine_8102df18a5fd47cdb1f38afadffc45de", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c6633917f79a67f4eaac4ed70320fc6", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v", "typing_Prims.pow2" + "typing_FStar.UInt128.n", "typing_FStar.UInt64.v", + "typing_Prims.pow2" ], 0, - "9d0e444e19ff02a5fc6a99ca5c7e0c58" + "a36adfc97cafd4e7cef4cbdb43850208" ], [ "FStar.UInt128.shift_t_mod_val", @@ -2284,7 +2093,7 @@ "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" ], 0, - "5560e10ce4a8fb96c6b8d23fb74129ab" + "2a3315d601d646760da674bc07e3db29" ], [ "FStar.UInt128.shift_left_small", @@ -2295,46 +2104,41 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int63.n", - "equation_FStar.Int64.n", "equation_FStar.UInt.eq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.u32_64", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "bool_typing", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_FStar.UInt32.eq", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int63.n", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_FStar.UInt128.u32_64", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_left_value_lemma", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt128.Mkuint128_high", "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt128.v", + "typing_FStar.UInt128.n", "typing_FStar.UInt128.v", "typing_FStar.UInt32.v", "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "aaf85d1c4917852f1fb0fa98f2a398de" + "a8b1a8db830e6b3e9640ad6579651e39" ], [ "FStar.UInt128.shift_left_large", @@ -2343,10 +2147,10 @@ 1, [ "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5e396b290fa27f829a04ebfc568aa807" + "refinement_interpretation_Tm_refine_9ff890026765aa09f0bd38f262fcc9f3" ], 0, - "67af5fd63a2864dfcd9c08b0afe63319" + "68a5ea0cdceeb069b56b33a2714b9d5a" ], [ "FStar.UInt128.shift_left_large", @@ -2356,20 +2160,14 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.u32_64", "equation_FStar.UInt128.v", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.pow2_values", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", + "equation_FStar.UInt128.t", "equation_FStar.UInt128.u32_64", + "equation_FStar.UInt128.v", "equation_Prims.nat", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_left_value_lemma", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", @@ -2380,17 +2178,17 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_5e396b290fa27f829a04ebfc568aa807", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_587da4107c9e3e26aba2ec3e8778617f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9ff890026765aa09f0bd38f262fcc9f3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.v", "typing_Prims.pow2" + "typing_FStar.UInt128.n", "typing_FStar.UInt128.u32_64", + "typing_FStar.UInt32.v", "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "1d163b0dd884527a6dcbdc09a30cbafd" + "c0a40a5214a747b72e86b3a0e336926a" ], [ "FStar.UInt128.shift_left", @@ -2412,7 +2210,7 @@ "typing_FStar.UInt32.v" ], 0, - "e472e3beae18c43ec47881ae25124134" + "6ea203a10fd0969e335402b3d42953e9" ], [ "FStar.UInt128.shift_left", @@ -2420,24 +2218,21 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.u32_64", "equation_FStar.UInt32.lt", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_712fc84bb985bc3c636efce1d784da3c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", + "equation_FStar.UInt128.u32_64", "equation_FStar.UInt32.lt", + "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_587da4107c9e3e26aba2ec3e8778617f", + "refinement_interpretation_Tm_refine_b58359439b5710e70cb2c2ec5631c1eb", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v" ], 0, - "4c33d407cdade0598d3e7992fae650ef" + "7be9a7e8e2d5d23edf2785a80da2e044" ], [ "FStar.UInt128.add_u64_shift_right", @@ -2447,15 +2242,10 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.u32_64", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_Prims.pos", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_Prims.__cache_version_number__", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.u32_64", + "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", "int_inversion", "int_typing", "lemma_FStar.UInt.shift_left_value_lemma", "lemma_FStar.UInt.shift_right_value_lemma", @@ -2464,17 +2254,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_55e405d903c2fc715cb8f93c7dace611", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_587da4107c9e3e26aba2ec3e8778617f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f22774eb975fbb3628063c390dffe40e", "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", "typing_FStar.UInt64.v" ], 0, - "c16e334c3503b70f91841452b59bf6ed" + "db317ecc6d103fbc3caa5c616e04e39c" ], [ "FStar.UInt128.mul_pow2_diff", @@ -2482,17 +2272,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" ], 0, - "4e1f8a00b6ef8e252b3621839195d829" + "e4d51256432840eecb8e2470a1afd20b" ], [ "FStar.UInt128.mul_pow2_diff", @@ -2502,19 +2289,16 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", "typing_Prims.pow2" ], 0, - "06d7023448e469439716e3feec787f36" + "4152fb1e1aa5b0178a26596931825ffd" ], [ "FStar.UInt128.add_u64_shift_right_respec", @@ -2522,22 +2306,22 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", + "equation_FStar.UInt128.u32_64", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_55e405d903c2fc715cb8f93c7dace611", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.v" + "refinement_interpretation_Tm_refine_587da4107c9e3e26aba2ec3e8778617f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f22774eb975fbb3628063c390dffe40e", + "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", + "typing_FStar.UInt64.v" ], 0, - "40ec254a525d98c2a9a34ad93348addb" + "ff572539495786d7d9408b2b8d764008" ], [ "FStar.UInt128.mul_div_spec", @@ -2550,11 +2334,11 @@ "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "1cec4771a93f4b9979febede255f8783" + "2b9289bf9eb6520797fdf69d92f49669" ], [ "FStar.UInt128.mul_distr_sub", @@ -2562,13 +2346,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0" ], 0, - "031bfbe82d4433123fb82b89f9dfe21e" + "5e8ee859f1b430a92b93c865c37467cd" ], [ "FStar.UInt128.div_product_comm", @@ -2580,7 +2363,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "e23d8e41d13dba2b0caf2dc1fb2b6d4a" + "0f3fc0bb300da0e6de6d4a4855a2fdd5" ], [ "FStar.UInt128.div_product_comm", @@ -2593,7 +2376,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cc6462d71b1e5dd1de7d72c61ad0659a" + "fdfbb6ad394d27a98e920823b1eafc0e" ], [ "FStar.UInt128.shift_right_reconstruct", @@ -2601,18 +2384,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.nonzero", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5559606f09094ead7ac717cf41221ef7", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Prims.nonzero", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a9aa746900c261016c2af46c617b642f" + "3b9c0e0c7c3b40775ff6f6cdb678742c" ], [ "FStar.UInt128.shift_right_reconstruct", @@ -2620,27 +2400,24 @@ 0, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.Int64.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5559606f09094ead7ac717cf41221ef7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_Prims.pow2" ], 0, - "e7d8cdf31b2e28a46fdbcef387ca51c0" + "00c8b735269bcf4f96958aabadeea93c" ], [ "FStar.UInt128.u128_div_pow2", @@ -2648,18 +2425,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.nonzero", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5559606f09094ead7ac717cf41221ef7", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Prims.nonzero", "int_inversion", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bf6b6020c2c45d69f19350541dda7421" + "0ba06d33b4aac8842f334a16ad80249d" ], [ "FStar.UInt128.u128_div_pow2", @@ -2669,21 +2443,20 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Int64.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Int.pow2_values", + "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", + "equation_Prims.nat", "equation_Prims.pos", + "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5559606f09094ead7ac717cf41221ef7", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "typing_Prims.pow2" ], 0, - "25663b587451a96fb20ff961dbc81a89" + "660ab9ea8be232dd21ed9f6895fc456d" ], [ "FStar.UInt128.shift_right_small", @@ -2693,19 +2466,14 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int64.n", - "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", + "b2t_def", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.t", "equation_FStar.UInt128.u32_64", "equation_FStar.UInt128.v", "equation_FStar.UInt32.eq", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", @@ -2717,17 +2485,20 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_55e405d903c2fc715cb8f93c7dace611", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_587da4107c9e3e26aba2ec3e8778617f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_88040590729e0cf7c1fa8ff71ceb6d9e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f22774eb975fbb3628063c390dffe40e", "typing_FStar.UInt128.__proj__Mkuint128__item__high", + "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.v", "typing_Prims.pow2" + "typing_FStar.UInt64.shift_right", "typing_FStar.UInt64.v", + "typing_Prims.pow2" ], 0, - "d8d2ef3fca4fe6c2ef2755bb135839f1" + "20cb918ef2ac7e1ba84e75e09d08f857" ], [ "FStar.UInt128.shift_right_large", @@ -2737,18 +2508,14 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int64.n", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", "equation_FStar.UInt128.u32_64", "equation_FStar.UInt128.v", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Int.pow2_values", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", @@ -2759,18 +2526,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_5e396b290fa27f829a04ebfc568aa807", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_587da4107c9e3e26aba2ec3e8778617f", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9ff890026765aa09f0bd38f262fcc9f3", + "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "a2a2f0d90b91bfb5378fc37fce2eb565" + "740b70325bb40e0dbfd6f10f96430226" ], [ "FStar.UInt128.shift_right", @@ -2790,7 +2558,7 @@ "typing_FStar.UInt32.v" ], 0, - "a71608c04695adfd58457837d37e7d8c" + "7e44ae5ffa668441389646f0642d208a" ], [ "FStar.UInt128.shift_right", @@ -2798,23 +2566,20 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_FStar.UInt128.u32_64", "equation_FStar.UInt32.lt", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", + "refinement_interpretation_Tm_refine_587da4107c9e3e26aba2ec3e8778617f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v" ], 0, - "8867a6556992d72d69b27322f8d85b78" + "0a3d0a747116c073803272f2c5059f1b" ], [ "FStar.UInt128.eq", @@ -2826,7 +2591,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "a0263ca638190df10923c5e4a9336865" + "5df64204abcb0b0165bb977b6bd841d0" ], [ "FStar.UInt128.eq", @@ -2836,15 +2601,13 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", + "b2t_def", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_FStar.UInt64.eq", "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.uv_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -2852,14 +2615,14 @@ "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt64.v" ], 0, - "bf0c646fbae2354f422b13bb3cd24300" + "099da591514f13cc9d1dd1fd36b1ea54" ], [ "FStar.UInt128.gt", @@ -2871,7 +2634,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "9a4efd7f2233b97cac056ec52f0f6aff" + "e174554657e48f84e5407c66a616eb15" ], [ "FStar.UInt128.gt", @@ -2881,16 +2644,14 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_FStar.UInt64.eq", - "equation_FStar.UInt64.gt", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_FStar.UInt64.gt", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", @@ -2899,14 +2660,14 @@ "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt64.v" ], 0, - "ee601b0c38e6f617d65e32c324b9ba28" + "2e2026042fac47ae75f6ffc603acb396" ], [ "FStar.UInt128.lt", @@ -2918,7 +2679,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "c3b53b1542ed49dee0dd5305e2da5a43" + "35410a646eedce70c777035c41a319bc" ], [ "FStar.UInt128.lt", @@ -2928,16 +2689,14 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_FStar.UInt64.eq", - "equation_FStar.UInt64.lt", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_FStar.UInt64.lt", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -2946,14 +2705,14 @@ "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt64.v" ], 0, - "2be80498aeda8cb91c736dff05e1374c" + "a19776575fd55ada430b90c524a4c895" ], [ "FStar.UInt128.gte", @@ -2965,7 +2724,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "439d959c95ea9e8e75df3bc37dcf0ac2" + "90a9856407bcf57317e78b4d99968962" ], [ "FStar.UInt128.gte", @@ -2975,17 +2734,15 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_FStar.UInt64.eq", "equation_FStar.UInt64.gt", - "equation_FStar.UInt64.gte", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_FStar.UInt64.gte", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_GreaterThanOrEqual", @@ -2995,14 +2752,14 @@ "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt64.v" ], 0, - "0787cd47867492c22fddd79b051c7ee4" + "b48f7d40c93150f2e2cbd14513d8e505" ], [ "FStar.UInt128.lte", @@ -3014,7 +2771,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d1d89df3193fb1a31d38bb33a86243db" + "5518bd4f838cc714e77a68ea94f6237e" ], [ "FStar.UInt128.lte", @@ -3024,17 +2781,15 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_FStar.UInt64.eq", "equation_FStar.UInt64.lt", - "equation_FStar.UInt64.lte", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_FStar.UInt64.lte", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -3043,14 +2798,14 @@ "proj_equation_FStar.UInt128.Mkuint128_low", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt64.v" ], 0, - "a3839a62d170d5a39ecc65adbd70fe2e" + "7dd667fff5aded910ae6fc04f0c4f454" ], [ "FStar.UInt128.u64_logand_comm", @@ -3058,14 +2813,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "lemma_FStar.UInt64.uv_inv", - "refinement_interpretation_Tm_refine_3eddd6f6718ab081a94d9ef5c683e848", + "@MaxIFuel_assumption", "@query", "lemma_FStar.UInt64.uv_inv", + "refinement_interpretation_Tm_refine_fc8b02edd6d4507c20589e697568337f", "typing_FStar.UInt64.logand" ], 0, - "647205505b411bd720953fbe654fa8e2" + "291c2c074f8840536576e65061c28dab" ], [ "FStar.UInt128.u64_and_0", @@ -3073,14 +2826,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "equation_FStar.UInt.zero", - "refinement_interpretation_Tm_refine_3eddd6f6718ab081a94d9ef5c683e848", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.zero", + "refinement_interpretation_Tm_refine_fc8b02edd6d4507c20589e697568337f", "typing_FStar.UInt64.logand" ], 0, - "5d99766f521698041213f5d29cd1fdf9" + "9f19afe6e75f5a3ca3f39b4670180ae8" ], [ "FStar.UInt128.u64_0_and", @@ -3089,7 +2840,7 @@ 0, [ "@query", "lemma_FStar.UInt128.u64_and_0" ], 0, - "8f3bb70312fdb716653646cd4d0dc96f" + "c0a6b90d058c53afda9bfb7752c12c8d" ], [ "FStar.UInt128.u64_1s_and", @@ -3097,15 +2848,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.ones", - "lemma_FStar.UInt64.uv_inv", - "refinement_interpretation_Tm_refine_3eddd6f6718ab081a94d9ef5c683e848", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.ones", "lemma_FStar.UInt64.uv_inv", + "refinement_interpretation_Tm_refine_fc8b02edd6d4507c20589e697568337f", "typing_FStar.UInt64.logand" ], 0, - "1d461d5a2eca561a708a70e037d36863" + "704a25e55d7b21d9fc9d8693f826519c" ], [ "FStar.UInt128.eq_mask", @@ -3113,18 +2862,15 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7eaaef1c5663e4556e96224837b2616a" + "cfe76634eef2d9fcd2d4693f986fc33d" ], [ "FStar.UInt128.eq_mask", @@ -3134,23 +2880,18 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.n", - "function_token_typing_Prims.__cache_version_number__", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", + "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", + "equation_Prims.eqtype", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.UInt128.uint128", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", - "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt128.u64_0_and", - "lemma_FStar.UInt128.u64_1s_and", "lemma_FStar.UInt128.u64_and_0", - "lemma_FStar.UInt64.uv_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt128.u64_0_and", "lemma_FStar.UInt128.u64_1s_and", + "lemma_FStar.UInt128.u64_and_0", "lemma_FStar.UInt64.uv_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt128.Mkuint128_high", "proj_equation_FStar.UInt128.Mkuint128_low", @@ -3159,14 +2900,14 @@ "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v" + "typing_FStar.UInt128.n", "typing_FStar.UInt64.v" ], 0, - "13674f7e3e5989782aa5f931b54ddff0" + "09c147ba764818a00dbf3e688449d59d" ], [ "FStar.UInt128.gte_characterization", @@ -3176,29 +2917,27 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", - "int_typing", "lemma_FStar.Int.pow2_values", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt64.v" ], 0, - "bf016551cd9764acabcab25fe891802a" + "016242dca4cf2353681761a725defb36" ], [ "FStar.UInt128.lt_characterization", @@ -3208,29 +2947,27 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", - "int_typing", "lemma_FStar.Int.pow2_values", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__high", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt64.v" ], 0, - "fd0bf849c77fd38c2451dc4c3d49e6a8" + "586e21a422762a2781c452919ce4b759" ], [ "FStar.UInt128.u64_logor_comm", @@ -3238,14 +2975,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "lemma_FStar.UInt64.uv_inv", - "refinement_interpretation_Tm_refine_a77c3e97e98860ba2765bae2f6c2d4bb", + "@MaxIFuel_assumption", "@query", "lemma_FStar.UInt64.uv_inv", + "refinement_interpretation_Tm_refine_310e35e7b50334cd45a94554dfa7956f", "typing_FStar.UInt64.logor" ], 0, - "be80f9c82597202927c128a611f1dfcc" + "0b2905f33896283a973bf35b34757296" ], [ "FStar.UInt128.u64_or_1", @@ -3253,14 +2988,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.ones", - "refinement_interpretation_Tm_refine_a77c3e97e98860ba2765bae2f6c2d4bb", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.ones", + "refinement_interpretation_Tm_refine_310e35e7b50334cd45a94554dfa7956f", "typing_FStar.UInt64.logor" ], 0, - "bcb9a12cd314422d3974a5094b3db11b" + "c4d282c704c31729126c8a438c449976" ], [ "FStar.UInt128.u64_1_or", @@ -3273,7 +3007,7 @@ "lemma_FStar.UInt128.u64_or_1" ], 0, - "67a99d4d280c56adbe14051cdc066c3f" + "90433729ff7f57199cf7ca022595ac81" ], [ "FStar.UInt128.u64_or_0", @@ -3281,14 +3015,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "equation_FStar.UInt.zero", "lemma_FStar.UInt64.uv_inv", - "refinement_interpretation_Tm_refine_a77c3e97e98860ba2765bae2f6c2d4bb", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.zero", + "lemma_FStar.UInt64.uv_inv", + "refinement_interpretation_Tm_refine_310e35e7b50334cd45a94554dfa7956f", "typing_FStar.UInt64.logor" ], 0, - "36ee468bc35342461b3e0c7299ea9603" + "ecc3f5af48111b81337aa83eaa93c386" ], [ "FStar.UInt128.u64_not_0", @@ -3296,15 +3029,13 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.ones", - "equation_FStar.UInt.zero", - "refinement_interpretation_Tm_refine_6a946c32a7c6feece7cf4dc912d2bf86", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.ones", "equation_FStar.UInt.zero", + "refinement_interpretation_Tm_refine_97db105b62009a1e332be0ecdebf5887", "typing_FStar.UInt64.lognot" ], 0, - "49c646cb1474a7b6841c5a0dafccbcaf" + "a4e2242533b835fe693578afd5d0c054" ], [ "FStar.UInt128.u64_not_1", @@ -3313,31 +3044,28 @@ 0, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.max_int", "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", "equation_FStar.UInt.zero", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.UInt.lognot_definition", "lemma_FStar.UInt.ones_nth_lemma", "lemma_FStar.UInt.zero_nth_lemma", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_5559606f09094ead7ac717cf41221ef7", - "refinement_interpretation_Tm_refine_6a946c32a7c6feece7cf4dc912d2bf86", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_97db105b62009a1e332be0ecdebf5887", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.ones", "typing_FStar.UInt64.lognot" ], 0, - "0e5f28c05c74b62c4f03cf1445247ebd" + "a91a61110fad03f65e0e08d63a3414e7" ], [ "FStar.UInt128.gte_mask", @@ -3349,7 +3077,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1c1cd08c8c033137f7f2b2e6b36ce9a3" + "89d4ace73ac1aa2cfa0bcda33acfac53" ], [ "FStar.UInt128.gte_mask", @@ -3359,13 +3087,11 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "lemma_FStar.UInt.pow2_values", + "equation_FStar.UInt128.v", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt128.u64_0_and", "lemma_FStar.UInt128.u64_1_or", "lemma_FStar.UInt128.u64_1s_and", "lemma_FStar.UInt128.u64_and_0", "lemma_FStar.UInt128.u64_not_0", "lemma_FStar.UInt128.u64_not_1", @@ -3378,12 +3104,12 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.n", "typing_FStar.UInt64.v" ], 0, - "6e0388f0ce76a5911a70a25735d12fda" + "8db091eda74d0a776329d66077092a95" ], [ "FStar.UInt128.uint64_to_uint128", @@ -3395,7 +3121,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "80783ea6dc4e5de54762071ec7f3b32c" + "c7aa001e7fe63b69d6a3641f6f536885" ], [ "FStar.UInt128.uint64_to_uint128", @@ -3405,13 +3131,11 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.v", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt128.Mkuint128_high", @@ -3420,13 +3144,13 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "1482bbb5b6c08aa9454f780db19dbb23" + "51f9d5f2983b687a3ec6aca3558d3f9d" ], [ "FStar.UInt128.uint128_to_uint64", @@ -3435,7 +3159,7 @@ 0, [ "@query" ], 0, - "172ee019e0374972441ad3c92330402c" + "4a5f33e7ca045c68d256f57782dd8626" ], [ "FStar.UInt128.uint128_to_uint64", @@ -3445,25 +3169,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.__proj__Mkuint128__item__low", "typing_FStar.UInt64.v" ], 0, - "fafa6d3c939c9a33f645b76aa7fffc6a" + "269fc8b3aba86920f6f645043aa48864" ], [ "FStar.UInt128.u64_l32_mask", @@ -3473,20 +3195,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "24c61a5e369851102cf46ec58af7b0e6" + "1ed7f3db8ed5e8d21fc3e193c4cc70d8" ], [ "FStar.UInt128.u64_mod_32", @@ -3495,13 +3214,12 @@ 0, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", "equation_FStar.UInt128.u64_l32_mask", - "refinement_interpretation_Tm_refine_38f7e6531dc2e9a1c6f5a5201a6b5fe4", + "refinement_interpretation_Tm_refine_b4004f748635099cc28157b917e1dc51", "typing_FStar.UInt128.u64_l32_mask" ], 0, - "6968d68dcf9fa23cd3dae9803d70c9f1" + "02088a19b23d3aa119b0868569b9f647" ], [ "FStar.UInt128.u64_32_digits", @@ -3509,47 +3227,22 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.u32_64", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v" + "projection_inverse_BoxBool_proj_0" ], 0, - "352b5e813aa3828bae93dd4434ab8aac" + "54a181310c90a9c44c4ad6538273eb50" ], [ "FStar.UInt128.mul32_digits", 1, 0, 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.u32_64", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "9bd7f9af447a04ade5420b4136c4c0a4" + "5b0fb60ec10aa3a882984fce11f350fb" ], [ "FStar.UInt128.mul32_digits", @@ -3559,29 +3252,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.u32_64", "equation_FStar.UInt32.n", - "equation_Prims.nat", "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v" + "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "d59404ee6ca9ef672d8901f7b0ea130a" + "91d4eadb1fbb8edf36bcec118aac1936" ], [ "FStar.UInt128.u32_32", @@ -3591,20 +3272,17 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "cad53841a7843a869456a706f441c7d7" + "d07c202aae37141028b56912bf6d4898" ], [ "FStar.UInt128.u32_combine", @@ -3612,31 +3290,29 @@ 0, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.u32_32", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.u32_32", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_left_value_lemma", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4b20b2cf0226b7165fb797926d557c20", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_649875c737c8b77a2ebb02724ded80ff", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.u32_32", "typing_FStar.UInt32.v", "typing_FStar.UInt64.v" ], 0, - "bc092cd253667e572bc5f5b7839a4b21" + "81c31bfb2b02c704ca37c9943d79a0ee" ], [ "FStar.UInt128.lemma_mult_le_left", @@ -3644,16 +3320,12 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "583046adcf8ffa831838b2c3a004996e" + "e910076a6d1c3e502fe38cfb86cb6e27" ], [ "FStar.UInt128.product_bound", @@ -3665,11 +3337,11 @@ "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "9fd88e0f0668e742dab885acbd32f737" + "22200093b2140462101695c9430c4f5b" ], [ "FStar.UInt128.uint_product_bound", @@ -3679,10 +3351,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5a923def3f58fa38efaed961e7e98923" + "cf6f1aa0d5a7e1c7740563f55ce2f4cf" ], [ "FStar.UInt128.uint_product_bound", @@ -3699,11 +3371,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "39ae36c1184c9ce311fec8ea7549e85e" + "ae9768f8c89079ad9bb0a7ebe6872007" ], [ "FStar.UInt128.u32_product_bound", @@ -3713,22 +3385,19 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c332176c962e4027180d77585c35c21b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_54b601985451a2432a353b711858af42" ], 0, - "f8cdfdc94e411c23524ed5094ff38acc" + "1d2f64560bf0b99693d0992a1a79c11a" ], [ "FStar.UInt128.mul32", @@ -3738,17 +3407,13 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.t", "equation_FStar.UInt128.u32_32", "equation_FStar.UInt128.u64_l32_mask", "equation_FStar.UInt128.v", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", @@ -3760,19 +3425,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_38f7e6531dc2e9a1c6f5a5201a6b5fe4", - "refinement_interpretation_Tm_refine_4b20b2cf0226b7165fb797926d557c20", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c332176c962e4027180d77585c35c21b", - "refinement_interpretation_Tm_refine_c43881637fea8b5528f4439c75737f91", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_21e94d81ba30d97ef8ce075f9a843f09", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_54b601985451a2432a353b711858af42", + "refinement_interpretation_Tm_refine_649875c737c8b77a2ebb02724ded80ff", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b4004f748635099cc28157b917e1dc51", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Int.Cast.uint32_to_uint64", "typing_FStar.UInt128.u32_32", "typing_FStar.UInt128.u64_l32_mask", "typing_FStar.UInt64.v" ], 0, - "0dc5affeac224fe04847798b3eb1b482" + "f24d066112525f6ca6852ad82c238089" ], [ "FStar.UInt128.l32", @@ -3780,25 +3445,22 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.pos", "int_inversion", "int_typing", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_Prims.pow2" ], 0, - "5d210e15723ec6a4fb7f9f24ca398370" + "24f52d34b128f068155ee25a2c8b204d" ], [ "FStar.UInt128.h32", @@ -3808,25 +3470,22 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.pos", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_Prims.pow2" ], 0, - "8ce94d9188e6017bba4baf6eb911e3ea" + "995e1db7dea86a7804a1cbd918eddf1d" ], [ "FStar.UInt128.mul32_bound", @@ -3845,7 +3504,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "16dac0870547e0b6d38a71766c576e34" + "ef4f71b4353f566ff545b54ec329c738" ], [ "FStar.UInt128.pll", @@ -3854,7 +3513,7 @@ 0, [ "@query" ], 0, - "910928360800760c96be934e8ef2cdde" + "b20c2c88a3b62744b0166ebe93cfdbfe" ], [ "FStar.UInt128.plh", @@ -3863,7 +3522,7 @@ 0, [ "@query" ], 0, - "49d7439c038147302620269536775d67" + "83700bb0f18c592f510aacbd3cec4ef2" ], [ "FStar.UInt128.phl", @@ -3872,7 +3531,7 @@ 0, [ "@query" ], 0, - "e51ddf6be9016b5561d252a401d6fde7" + "713196d75f7688c6210bb91a1be93338" ], [ "FStar.UInt128.phh", @@ -3881,35 +3540,16 @@ 0, [ "@query" ], 0, - "92438b418a083100cf3cb538d82b9264" + "10db5a52e8ab32312aa4c6dd0b52d5a5" ], [ "FStar.UInt128.mul_wide_low", 1, 0, 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.u32_64", - "equation_FStar.UInt128.u64_l32_mask", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_FStar.UInt128.u64_l32_mask", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_38f7e6531dc2e9a1c6f5a5201a6b5fe4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt128.u64_l32_mask", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.v" - ], + [ "@query" ], 0, - "c1e722b622470143f8caa8c22d09c79e" + "03ca6705748ed43c4ec66a0da826d889" ], [ "FStar.UInt128.mul_wide_high", @@ -3918,22 +3558,13 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.u64_l32_mask", - "function_token_typing_FStar.UInt128.u64_l32_mask", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "equation_Prims.nonzero", "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_38f7e6531dc2e9a1c6f5a5201a6b5fe4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt128.u64_l32_mask", "typing_FStar.UInt64.v" + "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280" ], 0, - "b5c1bc97661e3ce3618f59809b05341f" + "c6efe413f0f0a6490679ccda998a7dd7" ], [ "FStar.UInt128.mul_wide_impl_t'", @@ -3943,8 +3574,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.h32", @@ -3953,9 +3583,7 @@ "equation_FStar.UInt128.pll_h", "equation_FStar.UInt128.pll_l", "equation_FStar.UInt128.u32_32", "equation_FStar.UInt128.u64_l32_mask", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "equation_Prims.pos", "int_inversion", "int_typing", "lemma_FStar.UInt.shift_right_value_lemma", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", @@ -3966,17 +3594,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_38f7e6531dc2e9a1c6f5a5201a6b5fe4", - "refinement_interpretation_Tm_refine_4b20b2cf0226b7165fb797926d557c20", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_649875c737c8b77a2ebb02724ded80ff", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b4004f748635099cc28157b917e1dc51", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.h32", "typing_FStar.UInt128.pll_h", "typing_FStar.UInt128.u32_32", "typing_FStar.UInt128.u64_l32_mask", "typing_FStar.UInt64.v" ], 0, - "00dcbd20da52f0350e41137e69dd23ec" + "4feb5f2c8c3f817cddae98aca5cefe6a" ], [ "FStar.UInt128.u32_combine'", @@ -3986,28 +3614,26 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.u32_32", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.u32_32", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_left_value_lemma", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4b20b2cf0226b7165fb797926d557c20", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_649875c737c8b77a2ebb02724ded80ff", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.u32_32", "typing_FStar.UInt64.v" ], 0, - "42549c08044796f7ad94fe6406482e70" + "2321aaf6bb66fa817f338b66e94dcdc2" ], [ "FStar.UInt128.mul_wide_impl", @@ -4017,8 +3643,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -4031,9 +3656,8 @@ "equation_FStar.UInt128.pll", "equation_FStar.UInt128.pll_h", "equation_FStar.UInt128.pll_l", "equation_FStar.UInt128.u32_32", "equation_FStar.UInt128.u64_l32_mask", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", + "equation_Prims.nonzero", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", @@ -4049,20 +3673,20 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", "projection_inverse_FStar.UInt128.Mkuint128_high", "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_38f7e6531dc2e9a1c6f5a5201a6b5fe4", - "refinement_interpretation_Tm_refine_4b20b2cf0226b7165fb797926d557c20", - "refinement_interpretation_Tm_refine_7075614a0e8c0bdbec6de0d0ef7f1280", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_649875c737c8b77a2ebb02724ded80ff", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_b4004f748635099cc28157b917e1dc51", "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.h32", "typing_FStar.UInt128.l32", "typing_FStar.UInt128.phl", "typing_FStar.UInt128.pll", "typing_FStar.UInt128.pll_l", "typing_FStar.UInt128.u32_32", "typing_FStar.UInt128.u64_l32_mask", "typing_FStar.UInt64.v" ], 0, - "f58cea68957ec32945d982533d2a3577" + "b63051d768fba7c13ab27ec1bcda447e" ], [ "FStar.UInt128.product_sums", @@ -4070,12 +3694,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" + "@query", "primitive_Prims.op_Addition", + "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "0081c2e137ac9a533e0a88083f29014f" + "4bef95bb9e0d3ff605fd10bc48f56d6f" ], [ "FStar.UInt128.u64_32_product", @@ -4085,22 +3708,19 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "748dd9f3354073ca148f08b23eea05cc" + "76a039276b8b7e63db98cd5eb48dc15e" ], [ "FStar.UInt128.product_expand", @@ -4110,33 +3730,23 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.h32", "equation_FStar.UInt128.l32", "equation_FStar.UInt128.mul32_bound", "equation_FStar.UInt128.phh", "equation_FStar.UInt128.phl", "equation_FStar.UInt128.plh", "equation_FStar.UInt128.pll", "equation_FStar.UInt128.pll_h", "equation_FStar.UInt128.pll_l", - "equation_FStar.UInt128.u32_64", "equation_FStar.UInt32.n", - "equation_Prims.nat", "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "equation_Prims.pos", "int_inversion", + "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.v" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt64.v", "typing_Prims.pow2" ], 0, - "3927f6de215cf04c5ffa387e1d7a7593" + "74dc965a73769be1a31577650fb02b7b" ], [ "FStar.UInt128.product_low_expand", @@ -4144,28 +3754,11 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.u32_64", - "equation_FStar.UInt128.u64_l32_mask", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_FStar.UInt128.u64_l32_mask", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_38f7e6531dc2e9a1c6f5a5201a6b5fe4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt128.u64_l32_mask", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.v" + "@query", "primitive_Prims.op_Addition", + "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" ], 0, - "8095bad8867086e587bdbcbaf589b56b" + "9932e6df3e53dc78662e9a087e0b0998" ], [ "FStar.UInt128.add_mod_then_mod", @@ -4176,11 +3769,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "eb7824a1a9add317e22937f05a83d266" + "3636819caef73b4a2c105e54c5a2ca14" ], [ "FStar.UInt128.shift_add", @@ -4190,17 +3783,15 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c332176c962e4027180d77585c35c21b" + "equation_Prims.nat", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_54b601985451a2432a353b711858af42" ], 0, - "8045ca4eefcb419ad93589d5874df1c1" + "41bb0af066c3acd7cc314eb021872d1b" ], [ "FStar.UInt128.mul_wide_low_ok", @@ -4208,39 +3799,31 @@ 0, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.l32", "equation_FStar.UInt128.mul_wide_low", "equation_FStar.UInt128.phl", "equation_FStar.UInt128.plh", "equation_FStar.UInt128.pll", "equation_FStar.UInt128.pll_h", "equation_FStar.UInt128.pll_l", - "equation_FStar.UInt128.u32_64", - "equation_FStar.UInt128.u64_l32_mask", "equation_FStar.UInt32.n", - "equation_Prims.nat", "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_FStar.UInt128.u64_l32_mask", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", + "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", + "int_inversion", "int_typing", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_38f7e6531dc2e9a1c6f5a5201a6b5fe4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", + "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.phl", "typing_FStar.UInt128.plh", - "typing_FStar.UInt128.pll_h", "typing_FStar.UInt128.u32_64", - "typing_FStar.UInt128.u64_l32_mask", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.v" + "typing_FStar.UInt128.pll_h", "typing_FStar.UInt128.pll_l", + "typing_Prims.pow2" ], 0, - "5d5d1e4c7b816b43283b203e1a9d6b2a" + "b06935445bec736fffce43cc7e1090d4" ], [ "FStar.UInt128.product_high32", @@ -4249,7 +3832,7 @@ 0, [ "@query" ], 0, - "e1ca872bccfd87b999608bd7e6f0b23c" + "a0297186803fe02bff7de7113478d268" ], [ "FStar.UInt128.product_high32", @@ -4259,55 +3842,35 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.l32", "equation_FStar.UInt128.phh", "equation_FStar.UInt128.phl", "equation_FStar.UInt128.plh", "equation_FStar.UInt128.pll", "equation_FStar.UInt128.pll_h", "equation_FStar.UInt128.pll_l", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.phh", "typing_FStar.UInt128.phl", "typing_FStar.UInt128.plh", "typing_FStar.UInt128.pll_h" ], 0, - "7a9b33c01c996f7a99c2fbdb6bc9103c" + "3249051bc1495b567cbf7db957f9481c" ], [ "FStar.UInt128.product_high_expand", 1, 0, 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.u32_64", - "equation_FStar.UInt128.u64_l32_mask", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_FStar.UInt128.u64_l32_mask", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_38f7e6531dc2e9a1c6f5a5201a6b5fe4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt128.u64_l32_mask", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.v" - ], + [ "@query" ], 0, - "1632d384b67ba61870f5196440b77858" + "dc885fa01cdeaabf9c511b5aa9fff114" ], [ "FStar.UInt128.product_high_expand", @@ -4317,29 +3880,28 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.mul_wide_high", "equation_FStar.UInt128.phh", "equation_FStar.UInt128.phl", "equation_FStar.UInt128.plh", "equation_FStar.UInt128.pll_h", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Addition", + "equation_Prims.pos", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.phh", "typing_FStar.UInt128.phl", "typing_FStar.UInt128.plh", "typing_FStar.UInt128.pll_h", "typing_Prims.pow2" ], 0, - "7329c2c50dc64cda51e98dee6ea83ed7" + "95dc155cfd5c4157cb7a86872b706208" ], [ "FStar.UInt128.mod_spec_multiply", @@ -4351,7 +3913,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "c134f5be0c7dddc8e9233caa022ff856" + "b337be2892c998b0aeeef8e2a793692f" ], [ "FStar.UInt128.mod_spec_multiply", @@ -4364,7 +3926,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "7e540a74a9ced03d96a1cd55d78e4e3e" + "20afdd0dc7c2d193c560cf3a7c891035" ], [ "FStar.UInt128.mod_spec_mod", @@ -4376,7 +3938,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "57bd1734b0d7cd8db28e0d929308c9a7" + "7d81eccf04d643117e06de26015af91b" ], [ "FStar.UInt128.mod_spec_mod", @@ -4388,11 +3950,11 @@ "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "fcb4e4e700d95c95c05ff80e5e3bfe55" + "98c9ef99ad1f5c61f41b1c4f80b5e255" ], [ "FStar.UInt128.mul_injective", @@ -4403,11 +3965,11 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "e6d49edaa0ecca21a9b31b9bea8ca0e2" + "4336926ae0b0d6d188c925474e9db288" ], [ "FStar.UInt128.div_sum_combine1", @@ -4419,7 +3981,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "5c8db3cc81fbc3a82bd20568586a1865" + "2d277c78ab38850cb59b74fef0994147" ], [ "FStar.UInt128.div_sum_combine1", @@ -4435,7 +3997,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "323a64f428163cb9ae7338dbe3da0c58" + "747d379b048be67241494e39fd0c7fb8" ], [ "FStar.UInt128.mod_0", @@ -4446,10 +4008,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "54c5f4548a55910c2fcc1cdc65150b45" + "299da28c81bc24c36b2778c497daa7ee" ], [ "FStar.UInt128.n_minus_mod_exact", @@ -4461,7 +4023,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "2eb6c51b608126b0ab50973e454fa04b" + "78e4b5526ef9acfcdc7fe44b62e1866d" ], [ "FStar.UInt128.sub_mod_gt_0", @@ -4469,17 +4031,14 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Modulus", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "eb0f4b5fd5dedb680e40ba8bcf097a32" + "1af7dc86f73fb0ff655ab78d9b238b42" ], [ "FStar.UInt128.sum_rounded_mod_exact", @@ -4491,7 +4050,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "bcec47b0f6e48c573b520fd6b6421f6b" + "33ffb99b23a1b59aa11fd6250f9afa6f" ], [ "FStar.UInt128.sum_rounded_mod_exact", @@ -4502,10 +4061,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f81a3052c9de925a38676c8f3f6d4043" + "f6e31aaa4347c32c9043e84d03f32997" ], [ "FStar.UInt128.div_sum_combine", @@ -4517,7 +4076,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "8dc7b0de36843c9121ebf6b8bed8e3ba" + "6baaf44cc8bdfd1ef915eae19610580b" ], [ "FStar.UInt128.div_sum_combine", @@ -4530,11 +4089,11 @@ "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "4832febe1667eb7d5757573999b59954" + "4e22a0cf6a07a7162657ae09513e74f3" ], [ "FStar.UInt128.sum_shift_carry", @@ -4546,7 +4105,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f14e64b3cc5fc9677666533f5a31b398" + "f2d1351a7266e5710623ad7613fa9abb" ], [ "FStar.UInt128.sum_shift_carry", @@ -4558,11 +4117,11 @@ "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" ], 0, - "f443220330b8041ef1122e4a82aae71c" + "767dc168302ccca56f476cbe6563af17" ], [ "FStar.UInt128.mul_wide_high_ok", @@ -4572,33 +4131,25 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.mul_wide_high", - "equation_FStar.UInt128.phh", "equation_FStar.UInt128.phl", - "equation_FStar.UInt128.plh", "equation_FStar.UInt128.pll_h", - "equation_FStar.UInt128.u32_64", - "equation_FStar.UInt128.u64_l32_mask", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_FStar.UInt128.u64_l32_mask", - "function_token_typing_Prims.__cache_version_number__", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.h32", + "equation_FStar.UInt128.mul_wide_high", "equation_FStar.UInt128.phh", + "equation_FStar.UInt128.phl", "equation_FStar.UInt128.plh", + "equation_FStar.UInt128.pll_h", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_38f7e6531dc2e9a1c6f5a5201a6b5fe4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt128.h32", "typing_FStar.UInt128.mul_wide_high", "typing_FStar.UInt128.phl", "typing_FStar.UInt128.plh", - "typing_FStar.UInt128.pll_h", "typing_FStar.UInt128.u32_64", - "typing_FStar.UInt128.u64_l32_mask", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.v" + "typing_FStar.UInt128.pll_h", "typing_FStar.UInt64.v" ], 0, - "9919ebd9fe8f1386e4e82e010e7bdb8f" + "e0642ff0eac960837364c69eec37bd13" ], [ "FStar.UInt128.product_div_bound", @@ -4610,7 +4161,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "369fe2bfe7f6953d1c517f40eed08094" + "4faebe1f69a91a91ef3564b786b1da35" ], [ "FStar.UInt128.product_div_bound", @@ -4627,11 +4178,11 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "d6a0857c68c6aabe994ab7c677b3fd82" + "13555ef738c042a0638ee42b7d70e912" ], [ "FStar.UInt128.mul_wide", @@ -4641,40 +4192,30 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Int64.n", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.mul_wide_high", "equation_FStar.UInt128.phh", "equation_FStar.UInt128.phl", "equation_FStar.UInt128.plh", "equation_FStar.UInt128.pll_h", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.u32_64", - "equation_FStar.UInt128.u64_l32_mask", "equation_FStar.UInt128.v", - "equation_FStar.UInt32.n", "equation_Prims.nat", - "function_token_typing_FStar.Int64.n", - "function_token_typing_FStar.UInt128.u32_64", - "function_token_typing_FStar.UInt128.u64_l32_mask", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_Addition", + "equation_FStar.UInt128.u32_32", "equation_FStar.UInt128.v", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", + "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_38f7e6531dc2e9a1c6f5a5201a6b5fe4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c42789b8e5a6b3ddce3e9701bae8e579", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_649875c737c8b77a2ebb02724ded80ff", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_795236a93a1d1200a603d7e92803ab81", "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", - "refinement_interpretation_Tm_refine_d7d174fe9fa4893f0c7fcb34a91de685", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt128.phh", "typing_FStar.UInt128.phl", "typing_FStar.UInt128.plh", "typing_FStar.UInt128.pll_h", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt128.u64_l32_mask", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.v" + "typing_FStar.UInt128.u32_32", "typing_Prims.pow2" ], 0, - "222c4b0aa0b08bfcc3f4c0f45562b684" + "72163d1455055edca19e3519b28db0f4" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.UInt128.fsti.hints b/ulib/FStar.UInt128.fsti.hints index a76eab6b9a2..9e5205d6949 100644 --- a/ulib/FStar.UInt128.fsti.hints +++ b/ulib/FStar.UInt128.fsti.hints @@ -11,7 +11,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "fad7bc657d0f7bb4bf565fc71cc64227" + "32342c6b9fe60a4e527a60c0b99e1faf" ], [ "FStar.UInt128.uint_to_t", @@ -19,18 +19,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4c3b4ebf29f2b451b2bcbe7a506d5acf" + "0f04c442fbb29c27f7e4a10ea5c817a6" ], [ "FStar.UInt128.v_inj", @@ -42,7 +39,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f8a75efaf31479af9cebf8f805ba89b6" + "fc34c5ff2889f5553dd36d1ccb380979" ], [ "FStar.UInt128.add", @@ -54,7 +51,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "74009e8204245bf075c5c1e84c2f7a71" + "6f4a5086429150fb2e12795b6be9fc6f" ], [ "FStar.UInt128.add_underspec", @@ -66,7 +63,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "cf4ccf18cb75a132ec6338e571f98e73" + "7db7d587a79ebdf71da5093dadb060ba" ], [ "FStar.UInt128.add_mod", @@ -78,7 +75,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1924c37cc957fef25ddbf3dc269b9894" + "5844160fb71b5a92006c43bf6cee9531" ], [ "FStar.UInt128.sub", @@ -90,7 +87,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d93769717a6c7069a236c5172ffa8b5b" + "78be7a44c1affd6caee31a31248ac5bb" ], [ "FStar.UInt128.sub_underspec", @@ -102,7 +99,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "8a029bf65b57e7ddb0b2cf8200f6ade7" + "ca79fc75ec6b091bffeb724349c6733e" ], [ "FStar.UInt128.sub_mod", @@ -114,7 +111,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "6d4bf1d4b664968b665a4d366a9ad27b" + "233d18864fbfa1084da2e66cc247ae9f" ], [ "FStar.UInt128.logand", @@ -126,7 +123,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "59a67caebae88934fcfe42ae1c299177" + "89170d3f15f0885151a429882e92e85d" ], [ "FStar.UInt128.logxor", @@ -138,7 +135,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "aabe18809976eb4503d84752094b5707" + "1812c2124370c8617faa367dce589c3d" ], [ "FStar.UInt128.logor", @@ -150,7 +147,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d06b926880de21e7c6a5c4fbeb827d25" + "fce0422e477ce18fcd4e0a1bc5a3b21c" ], [ "FStar.UInt128.lognot", @@ -162,7 +159,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "ffee0cdb52e43e5e305d481b54a93341" + "12d577d1accda89bf47af82617513d0d" ], [ "FStar.UInt128.__uint_to_t", @@ -174,7 +171,7 @@ "equation_FStar.UInt.size", "equation_FStar.UInt128.n" ], 0, - "763f47591bfb445d750493ee5eedc09b" + "0d40fa62945ce2be62b3627fc378dbf7" ], [ "FStar.UInt128.shift_left", @@ -196,7 +193,7 @@ "typing_FStar.UInt32.v" ], 0, - "87a3a03cb11d53efa5caa04ab69a7662" + "c2f7650e78de509d71044a8e6f39fe20" ], [ "FStar.UInt128.shift_right", @@ -216,7 +213,7 @@ "typing_FStar.UInt32.v" ], 0, - "bcfece635b7d20393620c2aaad0c8a95" + "a545d9c448597789bf36f6d80dd93441" ], [ "FStar.UInt128.eq", @@ -228,7 +225,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "1d6282d645c6619d69c5f5343f46b10c" + "a59692ed222579e8e3619e34764c4bc0" ], [ "FStar.UInt128.gt", @@ -240,7 +237,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3ea3d9f11a21b9fa29db73888e756ad7" + "5900874e24327f365cb0878528faee29" ], [ "FStar.UInt128.lt", @@ -252,7 +249,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "232b1ea6b734ab76713be8e79c945f0c" + "aad509487be2ec1185bea90cc9a72db5" ], [ "FStar.UInt128.gte", @@ -264,7 +261,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "f0a66963d194ad48d2e7c24ea6c199d0" + "6d681f1a33818d2acd7ca4debb5ec87c" ], [ "FStar.UInt128.lte", @@ -276,7 +273,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "649fc9edcb3db6121a37ccb2020ce903" + "eb5e45ab1972ab619d99395d9526d7f4" ], [ "FStar.UInt128.eq_mask", @@ -284,18 +281,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt128.n", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "eaebec7af6bf2a1ef14ce117f7e6ede7" + "13ee2612dde1cd800d83f8f7500a5981" ], [ "FStar.UInt128.gte_mask", @@ -307,7 +301,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "d6835e07fd1b0176fe58a016b7fc8c45" + "decd27c2bb9ab54cf952500a1497521a" ], [ "FStar.UInt128.uint64_to_uint128", @@ -319,7 +313,7 @@ "projection_inverse_BoxInt_proj_0" ], 0, - "3a6125f91d755a97aeb651f08da7bbb6" + "4e553262b23ad78fb80e51a98a38a1da" ], [ "FStar.UInt128.uint128_to_uint64", @@ -328,7 +322,7 @@ 1, [ "@query" ], 0, - "78da5b8688565aa8402b2ea7aac37012" + "3e7f4fd627fb3c6714334aa5604d7495" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.UInt16.fst b/ulib/FStar.UInt16.fst index cc6040d9af4..b907ba1d058 100644 --- a/ulib/FStar.UInt16.fst +++ b/ulib/FStar.UInt16.fst @@ -21,7 +21,9 @@ unfold let n = 16 open FStar.UInt open FStar.Mul -(* NOTE: anything that you fix/update here should be reflected in [FStar.IntN.fstp], which is mostly +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) (* Except, as compared to [FStar.IntN.fstp], here: @@ -185,7 +187,7 @@ let minus (a:t) = add_mod (lognot a) (uint_to_t 1) inline_for_extraction let n_minus_one = UInt32.uint_to_t (n - 1) -#set-options "--z3rlimit 20 --initial_fuel 1 --max_fuel 1" +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" // With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b let eq_mask (a:t) (b:t) : Pure t diff --git a/ulib/FStar.UInt16.fst.hints b/ulib/FStar.UInt16.fst.hints index 6d1df7e0aa4..fb1f5ffc5f6 100644 --- a/ulib/FStar.UInt16.fst.hints +++ b/ulib/FStar.UInt16.fst.hints @@ -1,451 +1,413 @@ [ - "\nî¡\nöá †>ˆþÝ\u0014rQ", + "ÉB0,ùç»ÂÓp\txÑ\u000eÜî", [ [ "FStar.UInt16.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bd6519ca0d1162e5356f43546593e75e" + "8f48077497b69d36c3614c1cd0dc39df" ], [ "FStar.UInt16.uint_to_t", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt16.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "99c1517036b320b1ef35708994d76f5f" + "ff9a7e818cb685518a8eb4a1dcfde8f0" ], [ "FStar.UInt16.uv_inv", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt16.uint_to_t", "equation_FStar.UInt16.v", "fuel_guarded_inversion_FStar.UInt16.t", "proj_equation_FStar.UInt16.Mk_v" ], 0, - "e03a7cccc4b7ffb30d0216f5b2145c17" + "d14453a3f788480c2eafaf07de384e8c" ], [ "FStar.UInt16.vu_inv", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt16.uint_to_t", "equation_FStar.UInt16.v", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "c064bfdd931287732ea15dde369c69c0" + "35177304f5e415beed26b258aecc3c56" ], [ "FStar.UInt16.v_inj", 1, - 2, - 1, + 0, + 0, [ "@query", "lemma_FStar.UInt16.uv_inv" ], 0, - "ab9699be2a81f219530f27417f6f8768" + "0d73ba62889f92601c2bae4fe4543479" ], [ "FStar.UInt16.add", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.add", "equation_FStar.UInt16.v", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "2ce0976cc741540244a870243672b5b3" + "5dce958cfb8c873fded657525813411c" ], [ "FStar.UInt16.add_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt16.v", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "bf5613ca9a2e37f7992fc1ee993f94ca" + "e34ed103037a359852e0ae9fb209985f" ], [ "FStar.UInt16.add_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt16.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "83e6740ead1d4f1e4b5f97b1bfc3e8c9" + "cc88bb9dafa0bd91690237ce225a9f4f" ], [ "FStar.UInt16.sub", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.sub", "equation_FStar.UInt16.v", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "b3ff9280414fa0e228372c0d1bc36dba" + "8ef59b8f41bd18f6e5b4c346d8cf2ed1" ], [ "FStar.UInt16.sub_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt16.v", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "6e06ae176e3ca3741962936f7b43e5b2" + "667563ad3fd5e7222e9c716f6a0a331d" ], [ "FStar.UInt16.sub_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt16.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "5b8f29cf4436200f5d2b31832c589d40" + "d66c580627e59540a34e7ad4698534e5" ], [ "FStar.UInt16.mul", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.mul", "equation_FStar.UInt16.v", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "a3ba232c80ed95c954a53fcf39f49420" + "ac4255184e445016688d2fbbedd430d0" ], [ "FStar.UInt16.mul_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt16.v", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "7fc10f79092821bb3b45786578e41314" + "1f300ccf424d0e75e8f17e46eadba62d" ], [ "FStar.UInt16.mul_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt16.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6d6dd8538938f8e61b1d1a6522cec7d7" + "d5369dfcd610a63a4fe62807ff34ca0a" ], [ "FStar.UInt16.mul_div", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt16.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "04009445847b77c2e8f951c2a518eba9" + "4b6035993a2ec9d835765ef793772e2f" ], [ "FStar.UInt16.div", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.UInt16.Mk", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.n", - "equation_FStar.UInt16.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt16.t", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.pow2_values", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.v", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt16.t", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt16.Mk_v", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5b184ab68665248a71e8db8b44898e1e", "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt16.v" ], 0, - "e6cf99bd373e24aba58647dba907fc98" + "b0102b2bd28769d171a455adab052c14" ], [ "FStar.UInt16.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5" ], 0, - "4e1131d84dd4ab3357bbc42402e95e83" + "d894bf607410fa6fb35b83e62f40b8f2" ], [ "FStar.UInt16.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt16.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0fe06b763e71e3b4dd9b7015039bcb6d" + "72242eed51932603fd1ae0427dfc4e85" ], [ "FStar.UInt16.logxor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt16.v", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "87dbbae9361aa08faa0b538c09370245" + "6674aa8919e56a8cd1dbc2cf722928a5" ], [ "FStar.UInt16.logor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt16.v", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "0aa67e64a6a9297a73e753af74b75c10" + "ee77330008dc0f9b7738c8a8b8d90dfe" ], [ "FStar.UInt16.lognot", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt16.v", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_FStar.UInt16.Mk_v" ], 0, - "dd9631d7acdb236b76d37bca29bfec6d" + "5fb96585e5382bd6032cb65b51673c5d" ], [ "FStar.UInt16.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.v", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "c69ddb9aa4ff8ea15bc36fba5b27053f" + "cda523b9f08fbdcf56581703f980be10" ], [ "FStar.UInt16.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.v", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "d7c0df02d20a58ba960b3f63c7bfe317" + "ddf4095a934332590da27ac33b4eb289" ], [ "FStar.UInt16.minus", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt16.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "865f38a560c247686d06c08b862c5d6d" + "08d480b995c45c40856cddcf84349611" ], [ "FStar.UInt16.n_minus_one", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c692ec76fe8d775b744a2baf8074d2e4" + "da4d3f7e357ac3bfd157dfe01f29876f" ], [ "FStar.UInt16.eq_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", @@ -455,7 +417,7 @@ "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", @@ -463,8 +425,7 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt16.t__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.UInt16.Mk", - "equation_FStar.BitVector.bv_t", + "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", @@ -475,26 +436,26 @@ "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", "equation_FStar.UInt16.add_mod", - "equation_FStar.UInt16.minus", "equation_FStar.UInt16.n", - "equation_FStar.UInt16.n_minus_one", + "equation_FStar.UInt16.minus", "equation_FStar.UInt16.n_minus_one", "equation_FStar.UInt16.uint_to_t", "equation_FStar.UInt16.v", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_FStar.BitVector.lognot_vec.fuel_instrumented", + "equation_with_fuel_FStar.BitVector.logor_vec.fuel_instrumented", + "equation_with_fuel_FStar.BitVector.logxor_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_FStar.UInt16.t", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt16.n_minus_one", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.BitVector.logor_vec_definition", + "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_app1", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", @@ -506,39 +467,45 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt16.Mk_v", + "primitive_Prims.op_disEquality", "proj_equation_FStar.UInt16.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt16.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_f7d2623a4d67bd61ba576e6505531fb6", + "token_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", + "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", + "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.BitVector.logor_vec", "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", + "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", + "typing_FStar.UInt.to_vec", "typing_FStar.UInt16.__proj__Mk__item__v", "typing_FStar.UInt16.lognot", "typing_FStar.UInt16.minus", - "typing_FStar.UInt16.v", "typing_FStar.UInt32.v" + "typing_FStar.UInt16.n_minus_one", "typing_FStar.UInt16.v", + "typing_FStar.UInt32.v" ], 0, - "ec5d24a2706271d1b263dd26ab2ebbe8" + "c80a7021fc47d4772f8120f3300e6866" ], [ "FStar.UInt16.lemma_sub_msbs", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", @@ -547,7 +514,6 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "equation_FStar.BitVector.bv_t", @@ -555,11 +521,10 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.n", "equation_FStar.UInt16.v", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt16.v", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt16.n", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -573,18 +538,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", @@ -593,13 +558,13 @@ "typing_Prims.pow2" ], 0, - "fb860714b372891b1f7bd9484e265810" + "c0f2bd823da95297e83cc2026c97405a" ], [ "FStar.UInt16.gte_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -612,7 +577,6 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", @@ -622,18 +586,14 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.n", - "equation_FStar.UInt16.n_minus_one", "equation_FStar.UInt16.v", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.n_minus_one", + "equation_FStar.UInt16.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt16.n_minus_one", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_typing", + "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", @@ -652,15 +612,15 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", @@ -669,229 +629,208 @@ "typing_FStar.BitVector.shift_right_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt16.v", - "typing_FStar.UInt32.v" + "typing_FStar.UInt.to_vec", "typing_FStar.UInt16.n_minus_one", + "typing_FStar.UInt16.v", "typing_FStar.UInt32.v" ], 0, - "26aae129b3520fc6746f2e55e01ec59b" + "4d65e100c439aaf0c4823c55aceddbae" ], [ "FStar.UInt16.uint_to_t", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0af556f9706b7e6ec25e7cfbc0830429" + "a54a552305f5db7919ba5bfb4e7907e4" ], [ "FStar.UInt16.add_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4ea2e7368684f8a67bd77c0c9f2ffcd6" + "c47c4d8fdbc2c10877c10db7946139f3" ], [ "FStar.UInt16.sub_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ea7d7db547a1a0f0cd3d7e9a88f45b29" + "e75dc9f1c3c7e9c70c00bfa97339d8e8" ], [ "FStar.UInt16.mul_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e5eeccf508d6df2894ad29bfd858b9a9" + "ed584624d08971cc940c7ef6f83c95bb" ], [ "FStar.UInt16.mul_div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "433f3cc5d7ca21027599c02af4acb710" + "c48f41a272784770aea75f411d60a5aa" ], [ "FStar.UInt16.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb" + "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5" ], 0, - "4833342758c13898c1ffb1a1faae3aeb" + "6513f9500b9abd2b8cedb624d8b1bc89" ], [ "FStar.UInt16.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb" + "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5" ], 0, - "9db955dc9f8248f7126a62a312069881" + "7c88ba369143ea0933e2d85ceac7c884" ], [ "FStar.UInt16.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f81d4cfc4cbe5a8546e653423d57403d" + "de596818602a2f2cc4bd2bdba6d70c1a" ], [ "FStar.UInt16.shift_right", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "fa67f11be0284d450ac5afb379faffde" + "c26f32ccc3676ff4e6e71b4bde1c0e72" ], [ "FStar.UInt16.shift_left", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "41a297bfd92b51674217f3a914a4a5dc" + "c00543ac0aee554105f4311488fa2862" ], [ "FStar.UInt16.minus", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt16.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "7ccc14c88c82b6cbc113c2a8c593efba" + "aade1330a51505c722e9385fda3d68cb" ], [ "FStar.UInt16.n_minus_one", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "45a42f389964305dfc34fdb7faa15f83" + "d42c52619dd60d64b8d920d1b880bd1d" ], [ "FStar.UInt16.eq_mask", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", @@ -900,7 +839,7 @@ "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", + "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", @@ -910,9 +849,7 @@ "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt16.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.add_mod", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", + "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", @@ -920,27 +857,18 @@ "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", "equation_FStar.UInt16.minus", - "equation_FStar.UInt16.n", "equation_FStar.UInt16.n_minus_one", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", + "equation_FStar.UInt16.n_minus_one", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.BitVector.lognot_vec.fuel_instrumented", - "equation_with_fuel_FStar.BitVector.logor_vec.fuel_instrumented", - "equation_with_fuel_FStar.BitVector.logxor_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", + "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt16.n_minus_one", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", + "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.lognot_definition", "lemma_FStar.UInt.pow2_values", @@ -953,61 +881,55 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c3a372ff6045b828613b90da936d06ab", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_e701037165072db89762a542287238d7", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_aac89d186eb67617493682246aa5fb12", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d5949f9fb78e07352f5a6e7cf15930bd", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f7d2623a4d67bd61ba576e6505531fb6", "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.max_int", - "typing_FStar.UInt.min_int", "typing_FStar.UInt.msb", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", + "typing_FStar.UInt.logor", "typing_FStar.UInt.max_int", "typing_FStar.UInt.to_vec", "typing_FStar.UInt16.add_mod", - "typing_FStar.UInt16.lognot", "typing_FStar.UInt16.minus", + "typing_FStar.UInt16.lognot", "typing_FStar.UInt16.logxor", + "typing_FStar.UInt16.minus", "typing_FStar.UInt16.n_minus_one", "typing_FStar.UInt16.v", "typing_FStar.UInt32.v" ], 0, - "c83b18c7af80c7f8fbf8ba2e758de11e" + "d725ef232ea86af4032d505c05384674" ], [ "FStar.UInt16.eq_mask", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7176efef5c2c3e74f6944297083f2c6f" + "713e9299e0580b5e41ec045946b18091" ], [ "FStar.UInt16.gte_mask", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -1023,22 +945,16 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.n", "equation_FStar.UInt16.n_minus_one", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", + "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", + "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.n_minus_one", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt16.n", - "function_token_typing_FStar.UInt16.n_minus_one", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", @@ -1046,9 +962,6 @@ "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.inverse_aux", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", @@ -1063,32 +976,30 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", - "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt16.v", "typing_FStar.UInt32.v", "typing_Prims.pow2" + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", + "typing_FStar.UInt.max_int", "typing_FStar.UInt.msb", + "typing_FStar.UInt.nth", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt16.n_minus_one", "typing_FStar.UInt16.v", + "typing_FStar.UInt32.v", "typing_Prims.pow2" ], 0, - "18eddc1b504b3b8ba1f631cfbc29e2ab" + "a776b420d67a688692e68657ab4110c5" ], [ "FStar.UInt16.op_Plus_Percent_Hat", @@ -1098,11 +1009,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ee25ab6edd0341911ad692858cd138ef" + "f63b281a46f3b2915fdbf6037d30e59a" ], [ "FStar.UInt16.op_Subtraction_Percent_Hat", @@ -1112,11 +1023,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ef82af00379dd90801ada02f0c3b24e5" + "5d85072c2ae8fd62b2c45f1a15e5c4fe" ], [ "FStar.UInt16.op_Star_Percent_Hat", @@ -1126,11 +1037,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3018e7f0378ce99c0633be4ca5b846d6" + "8406a3c8dcedada3fddca41080aef726" ], [ "FStar.UInt16.op_Star_Slash_Hat", @@ -1140,11 +1051,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d6d073285ef26c55d8cb83d3fdd6356b" + "7c12ce5ffa32269fe2b29f0091c6085c" ], [ "FStar.UInt16.op_Slash_Hat", @@ -1153,10 +1064,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb" + "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5" ], 0, - "867c9388a20fa658720dcb8889790a5f" + "cc4ea631535f783e20fa5b0541c942fd" ], [ "FStar.UInt16.op_Percent_Hat", @@ -1164,17 +1075,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4c7e01b2bf62245fa7126da9dbb727bb" + "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5" ], 0, - "a70ec3ddfff8d0b1a512b5f6b59655b4" + "53cb90322e4e5e61b86ab65492b89633" ], [ "FStar.UInt16.op_Amp_Hat", @@ -1184,11 +1092,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6a8facd9d246a8bf10f468883c8332b0" + "f86f3f60b87b5eb914551b0bb5f26473" ], [ "FStar.UInt16.op_Less_Less_Hat", @@ -1196,22 +1104,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "413cc1da9c6273c5ee92d0e4660f3a81" + "9a1f600cec42dfdcd00a5f58446978b1" ], [ "FStar.UInt16.op_Greater_Greater_Hat", @@ -1219,22 +1124,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "f17ae4843e90bcddfa08aed153df89d9" + "80a788f9a8512f5de2cb24373ac28d9f" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.UInt31.fst b/ulib/FStar.UInt31.fst index 575c699b5a4..b4b45961ee6 100644 --- a/ulib/FStar.UInt31.fst +++ b/ulib/FStar.UInt31.fst @@ -21,7 +21,9 @@ unfold let n = 31 open FStar.UInt open FStar.Mul -(* NOTE: anything that you fix/update here should be reflected in [FStar.IntN.fstp], which is mostly +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) (* Except, as compared to [FStar.IntN.fstp], here: @@ -185,7 +187,7 @@ let minus (a:t) = add_mod (lognot a) (uint_to_t 1) inline_for_extraction let n_minus_one = UInt32.uint_to_t (n - 1) -#set-options "--z3rlimit 20 --initial_fuel 1 --max_fuel 1" +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" // With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b let eq_mask (a:t) (b:t) : Pure t diff --git a/ulib/FStar.UInt31.fst.hints b/ulib/FStar.UInt31.fst.hints index 9e03c5233aa..e709ea79192 100644 --- a/ulib/FStar.UInt31.fst.hints +++ b/ulib/FStar.UInt31.fst.hints @@ -1,40 +1,37 @@ [ - "­XfÎ\u001dý\b'…\u0012T‚_Ló)", + "ÊݬL8b×I\u001còË·]‡xå", [ [ "FStar.UInt31.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f968622b6c33e37a0a13cbbd91b68f2e" + "064934be0738d16a7086a1d201b68472" ], [ "FStar.UInt31.uint_to_t", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt31.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "proj_equation_FStar.UInt31.Mk_v", "projection_inverse_FStar.UInt31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "de351497c6122aea107d86e43de0ea0b" + "923b27b579e56ca71bfa411de814fdf6" ], [ "FStar.UInt31.uv_inv", @@ -47,7 +44,7 @@ "proj_equation_FStar.UInt31.Mk_v" ], 0, - "30925c61ea17023e31f3c5fdd879fe72" + "4aa2c39534cbb2d0460ba6c88c64cbca" ], [ "FStar.UInt31.vu_inv", @@ -60,7 +57,7 @@ "projection_inverse_FStar.UInt31.Mk_v" ], 0, - "069dc161215218de87d04da9d388d0f4" + "364fe93120ce1afdcc4b550575b49cdb" ], [ "FStar.UInt31.v_inj", @@ -69,7 +66,7 @@ 1, [ "@query", "lemma_FStar.UInt31.uv_inv" ], 0, - "946216a6008adb2262397150a64e7008" + "311e713391f990d32418e9d8b5960af1" ], [ "FStar.UInt31.add", @@ -82,7 +79,7 @@ "projection_inverse_FStar.UInt31.Mk_v" ], 0, - "4e449045a38c544480e6b3d8c5a3acbd" + "6c065d8d467208dfd72c7b92113eb04a" ], [ "FStar.UInt31.add_underspec", @@ -95,27 +92,24 @@ "projection_inverse_FStar.UInt31.Mk_v" ], 0, - "fbd791e4273d4476d376d3152f8561f2" + "bc495d559d835971736546c36809a4f1" ], [ "FStar.UInt31.add_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt31.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt31.Mk_v", "projection_inverse_FStar.UInt31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "461d72ffccfe39f03d2584a38e1a80d9" + "70e63c828d68586736e99b29bb1cbc7d" ], [ "FStar.UInt31.sub", @@ -128,7 +122,7 @@ "projection_inverse_FStar.UInt31.Mk_v" ], 0, - "cbadfa433411a311f5f9e2d1c2ba37e5" + "04912e86d79e037e16b034831892d27e" ], [ "FStar.UInt31.sub_underspec", @@ -141,27 +135,24 @@ "projection_inverse_FStar.UInt31.Mk_v" ], 0, - "7c1c7f992c20b3c7bd4a72c1469632f5" + "6e803e239b902d90e90008caff67a35d" ], [ "FStar.UInt31.sub_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt31.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt31.Mk_v", "projection_inverse_FStar.UInt31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "280c2aeee9292ffeccb4c12e66fbcac2" + "ca9ea9836de3bfd26679345370f10402" ], [ "FStar.UInt31.mul", @@ -174,7 +165,7 @@ "projection_inverse_FStar.UInt31.Mk_v" ], 0, - "6826d0a3f3e1e8a08f3a753ce3b5eb46" + "09e9def0928aa0aa03dc7663af7d48fe" ], [ "FStar.UInt31.mul_underspec", @@ -187,117 +178,105 @@ "projection_inverse_FStar.UInt31.Mk_v" ], 0, - "95c60a297634458e7d7cc7da2f49e1d5" + "1f88ff49990ed9c6c85fa6c6e520b226" ], [ "FStar.UInt31.mul_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt31.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt31.Mk_v", "projection_inverse_FStar.UInt31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "49abd05a5cb09f5f42fa19436cf309b0" + "427dd8f81864ae6f38221f10dd8231ac" ], [ "FStar.UInt31.mul_div", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt31.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt31.Mk_v", "projection_inverse_FStar.UInt31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "752e5df60b152a70efbb29c85575dc27" + "58c5374c102a57e977a6f64094b35055" ], [ "FStar.UInt31.div", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_FStar.UInt31.Mk", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt31.n", "equation_FStar.UInt31.v", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.v", "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt31.t", - "function_token_typing_FStar.UInt31.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.pow2_values", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt31.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt31.Mk_v", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_81c35490fdebb35bd3e949d236d3975d", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f6d76e20953b7319437e7dc3453a48d0" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f6d76e20953b7319437e7dc3453a48d0", + "typing_FStar.UInt31.v" ], 0, - "886871df50f6a93d00ce6e9b4cfd7174" + "c9db878c5b35474c1c449b1d890c92d8" ], [ "FStar.UInt31.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt31.Mk_v", "projection_inverse_FStar.UInt31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_f6d76e20953b7319437e7dc3453a48d0" ], 0, - "5917d3e3ef1c773a4e86688637ebb14f" + "6c8520efe77f47c292ab6367985adbcb" ], [ "FStar.UInt31.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt31.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt31.Mk_v", "projection_inverse_FStar.UInt31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f13b9fd45c5ad18dcd7a9ea87f2df904" + "f87dadfbff80989d6c09b83a7ef19d25" ], [ "FStar.UInt31.logxor", @@ -310,7 +289,7 @@ "projection_inverse_FStar.UInt31.Mk_v" ], 0, - "8b5285e8527f6796cd975c00f09ca597" + "b042373b5cfa097bf1781ceaf9316e96" ], [ "FStar.UInt31.logor", @@ -323,7 +302,7 @@ "projection_inverse_FStar.UInt31.Mk_v" ], 0, - "88a21c316d12ca0890f501a4e4b24717" + "41b69d631c5c3a3e9e7d71cd2e76809b" ], [ "FStar.UInt31.lognot", @@ -336,124 +315,110 @@ "projection_inverse_FStar.UInt31.Mk_v" ], 0, - "7b95efccd55c65f199a6ed7b9d71829d" + "45b85fb63f081ede895b656fad6a638e" ], [ "FStar.UInt31.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.v", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt31.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "e436202b14c5a204706cfcb9e7210da8" + "97a5559eb76711c417623feb88b92c7e" ], [ "FStar.UInt31.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.v", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt31.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "6cf364727de7a806568a5bf9895a5006" + "df394b27c2a9f7cfcf70efaf495d2b19" ], [ "FStar.UInt31.minus", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt31.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt31.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "a775faa57bb3a56300b97c0d1713869e" + "28c213364301e3fbf7cb159e175a117a" ], [ "FStar.UInt31.n_minus_one", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "0de3efddbcc9d99968afa2919e51e900" + "4b4b85e8c19c1c62edde7ccf553b22e2" ], [ "FStar.UInt31.eq_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", @@ -461,37 +426,38 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt31.t__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.UInt31.Mk", - "equation_FStar.BitVector.bv_t", + "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", + "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.add_mod", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", + "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", "equation_FStar.UInt31.add_mod", - "equation_FStar.UInt31.minus", "equation_FStar.UInt31.n", - "equation_FStar.UInt31.n_minus_one", + "equation_FStar.UInt31.minus", "equation_FStar.UInt31.n_minus_one", "equation_FStar.UInt31.uint_to_t", "equation_FStar.UInt31.v", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_FStar.BitVector.logor_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_FStar.UInt31.t", - "function_token_typing_FStar.UInt31.n", - "function_token_typing_FStar.UInt31.n_minus_one", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", "lemma_FStar.BitVector.logor_vec_definition", + "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_app1", + "lemma_FStar.Seq.Base.lemma_index_app2", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", @@ -503,36 +469,43 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt31.Mk_v", + "primitive_Prims.op_disEquality", "proj_equation_FStar.UInt31.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt31.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_54b0cd479f7d476d5316ec0da40e0174", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", + "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.BitVector.logor_vec", + "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", + "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt31.__proj__Mk__item__v", "typing_FStar.UInt31.lognot", "typing_FStar.UInt31.minus", - "typing_FStar.UInt31.v", "typing_FStar.UInt32.v" + "typing_FStar.UInt31.n_minus_one", "typing_FStar.UInt31.v", + "typing_FStar.UInt32.v" ], 0, - "b53386cd63fb1e843a5a3d48285a802d" + "ec82a817c14393c321ac3cae5e2111eb" ], [ "FStar.UInt31.lemma_sub_msbs", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", @@ -541,7 +514,6 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "equation_FStar.BitVector.bv_t", @@ -549,13 +521,10 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt31.n", "equation_FStar.UInt31.v", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", + "equation_FStar.UInt31.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt31.n", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -569,33 +538,31 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt31.v", - "typing_Prims.pow2" + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", + "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt31.v", "typing_Prims.pow2" ], 0, - "5b0a262c4a26e8f0e6a317cd78694612" + "0cff8c33c895cfe3103b04306e80ee4a" ], [ "FStar.UInt31.gte_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -608,7 +575,6 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", @@ -618,16 +584,12 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.n", - "equation_FStar.UInt31.n_minus_one", "equation_FStar.UInt31.v", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.n_minus_one", + "equation_FStar.UInt31.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt31.n", - "function_token_typing_FStar.UInt31.n_minus_one", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", @@ -648,15 +610,15 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", @@ -665,237 +627,220 @@ "typing_FStar.BitVector.shift_right_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt31.v", + "typing_FStar.UInt.nth", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt31.n_minus_one", "typing_FStar.UInt31.v", "typing_FStar.UInt32.v" ], 0, - "1a1d8389a0512d59f219fba14c42c0e0" + "c6a1ab6d8877b5a9470ccc6236a66bba" ], [ "FStar.UInt31.uint_to_t", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "da4125546d6f787c1ea8723b49869996" + "c31a159ef4747493775f523eba169cb6" ], [ "FStar.UInt31.add_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "96d318f1cd334f5ae0270ef4ac398da2" + "9efd48f89d59c61b590c3cb94f463d97" ], [ "FStar.UInt31.sub_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "90787ad371863850534caace956bb7dc" + "bd05e43bce815221e217952d2ba55d36" ], [ "FStar.UInt31.mul_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1e124eca9c547aa0d16d629a801b2546" + "bb09d62e9b62f4b68061632f0aa28ec2" ], [ "FStar.UInt31.mul_div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2ed75eac5dae9ef12c25b7494376a720" + "40a30b5cd820a5f1089bca57ae707b06" ], [ "FStar.UInt31.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9655a1694e39caade50982afdc26f9cf" + "refinement_interpretation_Tm_refine_f6d76e20953b7319437e7dc3453a48d0" ], 0, - "e736b16b7ed358bdf9fc59b9580b537e" + "7a5137a78a628e3363b078dc6cfcd844" ], [ "FStar.UInt31.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9655a1694e39caade50982afdc26f9cf" + "refinement_interpretation_Tm_refine_f6d76e20953b7319437e7dc3453a48d0" ], 0, - "822d903383ffa1de3d671b8c7ddf75b9" + "8fa9493293812370541755f9be98fecb" ], [ "FStar.UInt31.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e6b3a974d3709c838a46d2fa39827c94" + "f5fbb9268de71f4b1f47e3aa5098fe82" ], [ "FStar.UInt31.shift_right", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "0fd6207a12b3a07a85b159a21f6e523b" + "3d9509657b0b3bf78c5ef43311659fa7" ], [ "FStar.UInt31.shift_left", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "269f052aacc9a16ee76f6ea032b91b7b" + "7c9bea717359dfe66dd4b8a8e55d86e2" ], [ "FStar.UInt31.minus", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt31.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt31.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "d6736ead496aee38a3a7bf1a5baf7937" + "5a3f392513c0a92550da89d06417ad69" ], [ "FStar.UInt31.n_minus_one", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "3d2c85d9aa50a100e5692229c6b73bca" + "6a7a009f03994c41453506fb67eb00a4" ], [ "FStar.UInt31.eq_mask", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", @@ -907,26 +852,24 @@ "equation_FStar.BitVector.shift_right_vec", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_FStar.UInt31.minus", - "equation_FStar.UInt31.n", "equation_FStar.UInt31.n_minus_one", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", + "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", + "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", + "equation_FStar.UInt31.minus", "equation_FStar.UInt31.n_minus_one", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt31.n", - "function_token_typing_FStar.UInt31.n_minus_one", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", - "int_typing", "lemma_FStar.BitVector.logor_vec_definition", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", + "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", + "lemma_FStar.BitVector.logor_vec_definition", + "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -941,22 +884,23 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3f4d3d422404aa5b11e9c73c122f82d1", + "refinement_interpretation_Tm_refine_132057e8bc3b988f2cff8de57616d2ed", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_8ec79cf3ef195571866d3bb61b9b9b90", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ce23c0a3441f33e6396dab33cbcdc3e7", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_54b0cd479f7d476d5316ec0da40e0174", + "refinement_interpretation_Tm_refine_658be0060c3720628ffe5042163d6a94", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", + "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.BitVector.shift_right_vec", @@ -964,33 +908,31 @@ "typing_FStar.UInt.max_int", "typing_FStar.UInt.to_vec", "typing_FStar.UInt31.add_mod", "typing_FStar.UInt31.lognot", "typing_FStar.UInt31.logxor", "typing_FStar.UInt31.minus", - "typing_FStar.UInt31.v", "typing_FStar.UInt32.v" + "typing_FStar.UInt31.n_minus_one", "typing_FStar.UInt31.v", + "typing_FStar.UInt32.v" ], 0, - "fd13f33b8057b7efc3f9f40a9fff2b79" + "d4a5627177d0bbbc3e98a802195095ee" ], [ "FStar.UInt31.eq_mask", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "26cf83a57d71da3d54d7aea48e0d589e" + "9569ead5482ad47564d721071da4f827" ], [ "FStar.UInt31.gte_mask", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -1007,13 +949,14 @@ "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt31.n_minus_one", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", + "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt31.n_minus_one", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.BitVector.logxor_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", @@ -1024,11 +967,9 @@ "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_aux", "lemma_FStar.UInt.inverse_vec_lemma", - "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt.inverse_aux", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", @@ -1040,29 +981,31 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", + "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", - "typing_FStar.UInt.msb", "typing_FStar.UInt.nth", - "typing_FStar.UInt.sub_mod", "typing_FStar.UInt.to_vec", + "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.append", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt.fits", "typing_FStar.UInt.msb", + "typing_FStar.UInt.nth", "typing_FStar.UInt.to_vec", "typing_FStar.UInt31.n_minus_one", "typing_FStar.UInt31.v", - "typing_FStar.UInt32.v" + "typing_FStar.UInt32.v", "typing_Prims.pow2" ], 0, - "b3f00dbd2fc234bd44172a0b1cd3e701" + "4d59122d210eae42d6701919260e340a" ], [ "FStar.UInt31.op_Plus_Percent_Hat", @@ -1072,11 +1015,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e3064deb1cb8e9165fbe7b3a28872525" + "3cdf905ad5b22e753c29c12cadbfdc74" ], [ "FStar.UInt31.op_Subtraction_Percent_Hat", @@ -1086,11 +1029,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ed3ab13a7caca29cd4f26e843bc4ddae" + "3b33a5042a5f0f910a55ba53d14421d2" ], [ "FStar.UInt31.op_Star_Percent_Hat", @@ -1100,11 +1043,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c43c416c190b4a2985df7ba892a95912" + "66c08618a6d1b4dc32766cff9e5ab860" ], [ "FStar.UInt31.op_Star_Slash_Hat", @@ -1114,11 +1057,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "84d1b892438d49f0780c14019ac7727f" + "09e41fd10391345fbf49c12ed181b3e3" ], [ "FStar.UInt31.op_Slash_Hat", @@ -1127,10 +1070,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9655a1694e39caade50982afdc26f9cf" + "refinement_interpretation_Tm_refine_f6d76e20953b7319437e7dc3453a48d0" ], 0, - "4397ebce77776f01afabd42fce53d43a" + "7ec9bf79bfe144010db802b73958d041" ], [ "FStar.UInt31.op_Percent_Hat", @@ -1138,17 +1081,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9655a1694e39caade50982afdc26f9cf" + "refinement_interpretation_Tm_refine_f6d76e20953b7319437e7dc3453a48d0" ], 0, - "281a27d19933b10db0281162db2b3121" + "288206af65004274ddf4180db37c020d" ], [ "FStar.UInt31.op_Amp_Hat", @@ -1158,11 +1098,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a3fd6afdac385492f0b60bad51f9a113" + "839eb561abc55a8dbb90a1da418c8f18" ], [ "FStar.UInt31.op_Less_Less_Hat", @@ -1170,22 +1110,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "a438a2b879027851117168597f59874b" + "5ac7b9cee4a273a65a95f89543dda74c" ], [ "FStar.UInt31.op_Greater_Greater_Hat", @@ -1193,22 +1130,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "87c35e9323afa53fee84ab70400f4406" + "f40549e2ea0675b8a98a31f166468da1" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.UInt32.fst b/ulib/FStar.UInt32.fst index bfb371ba4a9..6ff06cf63df 100644 --- a/ulib/FStar.UInt32.fst +++ b/ulib/FStar.UInt32.fst @@ -21,7 +21,9 @@ unfold let n = 32 open FStar.UInt open FStar.Mul -(* NOTE: anything that you fix/update here should be reflected in [FStar.IntN.fstp], which is mostly +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) (* Except, as compared to [FStar.IntN.fstp], here: @@ -185,7 +187,7 @@ let minus (a:t) = add_mod (lognot a) (uint_to_t 1) inline_for_extraction let n_minus_one = uint_to_t (n - 1) -#set-options "--z3rlimit 20 --initial_fuel 1 --max_fuel 1" +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" // With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b let eq_mask (a:t) (b:t) : Pure t diff --git a/ulib/FStar.UInt32.fst.hints b/ulib/FStar.UInt32.fst.hints index 641a48cea12..967d61c96d6 100644 --- a/ulib/FStar.UInt32.fst.hints +++ b/ulib/FStar.UInt32.fst.hints @@ -1,253 +1,233 @@ [ - "·ŒdÛ\u000fíÝ\u000b\\|\u001dž°õ(\u0014", + "ÎÞtxA\u0005›u>1*iþøhÚ", [ [ "FStar.UInt32.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "da609c7f8f2cd681dcd721dc518a5b24" + "745dcec212f44d5cfbaa656f34919324" ], [ "FStar.UInt32.uint_to_t", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "e6ade597928499683e1f90b592712449" + "1aa07f522cbd101ffad5efc62ec838ec" ], [ "FStar.UInt32.uv_inv", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v", "fuel_guarded_inversion_FStar.UInt32.t", "proj_equation_FStar.UInt32.Mk_v" ], 0, - "e4e2a622b8fd6686fb829004a221e25d" + "2c68830b107873962329075b3408c3b2" ], [ "FStar.UInt32.vu_inv", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "7c128309fe325d110c31712f1b52d0e2" + "299a67370d65a354af3ed3ce2c773ce1" ], [ "FStar.UInt32.v_inj", 1, - 2, - 1, + 0, + 0, [ "@query", "lemma_FStar.UInt32.uv_inv" ], 0, - "780ad562a790a46e5c595e17c617952f" + "79b3d0dcc2c7b30e5d609139f3a87272" ], [ "FStar.UInt32.add", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.add", "equation_FStar.UInt32.v", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "0c74698ea5a013bf20fab7d64539b190" + "5dedeab26339386e11b37d9138f8e728" ], [ "FStar.UInt32.add_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt32.v", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "c94f43086c38a5d8433301be54920e94" + "eb8b82a56c0af0c9891d8ea9d9e80475" ], [ "FStar.UInt32.add_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8f306637c4be11926a32b1d3c091b949" + "f3b16db9e017d33dfa2b7d625e0b71d2" ], [ "FStar.UInt32.sub", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.sub", "equation_FStar.UInt32.v", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "126d2f7b9ca4404ac4a7987f1079ab98" + "1395abd97b65d4f3f0b4bc584affd68a" ], [ "FStar.UInt32.sub_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt32.v", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "84750a6d9819b7de4681155b9bbff224" + "0645f79bbb4333805c9d5cc222136e0d" ], [ "FStar.UInt32.sub_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9dacf98e186d45bfcf48d99e2fcf3bc6" + "9507a78157eeaa34160cd2d4ac021d72" ], [ "FStar.UInt32.mul", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.mul", "equation_FStar.UInt32.v", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "5a4bdb4d4cef0f69e1402dd9f39f4fad" + "c6a0e1524576e3e187e5e6391b085124" ], [ "FStar.UInt32.mul_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt32.v", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "0742c3a57bf6f5bda895e916c7a12ac8" + "87c710bf47eecf9f9066444ae5c3579b" ], [ "FStar.UInt32.mul_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "71fe2fea71588ba09585ea264a87ebf1" + "74cb7a57366ea1d76b9e33752d2c1d54" ], [ "FStar.UInt32.mul_div", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2922562bc87cec764d8966f55a8eae2d" + "735a0e1257c3a9c01edaa73838e52ce9" ], [ "FStar.UInt32.div", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.UInt32.Mk", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt32.t", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.pow2_values", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.v", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt32.t", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt32.Mk_v", @@ -255,197 +235,181 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt32.Mk_v", "refinement_interpretation_Tm_refine_29430448fd5690e188c98b7dcb6e39ad", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "b5eb09e64687f2311e9a68ef9107cbca" + "df1bee6111511d019fe2beb1e86e617a" ], [ "FStar.UInt32.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299" ], 0, - "676a29c437670fab674dbdbd66a80e46" + "92e49886984c09cad6c4c2aa2ee0f412" ], [ "FStar.UInt32.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "404219396a982ab343a1089bc3864dc3" + "8cd619984bc135d8dbaf494af3008336" ], [ "FStar.UInt32.logxor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt32.v", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "3c716a60380d8b1bf844b2a423d13061" + "f9b970bba9133b971c51f2c93681d671" ], [ "FStar.UInt32.logor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt32.v", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "9f68fd15907defa350100621df1517e7" + "ef6d08df66221169d7f529764647ee24" ], [ "FStar.UInt32.lognot", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt32.v", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_FStar.UInt32.Mk_v" ], 0, - "9288b23f48c5562338688d2c1129f17e" + "b15da0864af184ac529c8b9a1227e23e" ], [ "FStar.UInt32.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_FStar.UInt32.Mk", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.v", - "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.v", "equation_Prims.eqtype", + "fuel_guarded_inversion_FStar.UInt32.t", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "d08c427f5aabd68b7fd01e925a9a70c9" + "05184541e8942c1c47fd9a39eb230b1a" ], [ "FStar.UInt32.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_FStar.UInt32.Mk", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.v", - "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.v", "equation_Prims.eqtype", + "fuel_guarded_inversion_FStar.UInt32.t", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "e710e10ec53fed92b84ae182a3a55344" + "6a2fdb5e8fd9e41f8ac004c19b7d859b" ], [ "FStar.UInt32.minus", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "cab9d0f02ba5708d67c574c0c9563b4a" + "3bbf054f460024b08587eed4ea385c03" ], [ "FStar.UInt32.n_minus_one", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "013942687525d116b21732c26adb2491" + "401d77674a89ecde17e905333ffb9237" ], [ "FStar.UInt32.eq_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", @@ -456,6 +420,7 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", @@ -463,8 +428,7 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.UInt32.Mk", - "equation_FStar.BitVector.bv_t", + "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", @@ -475,24 +439,22 @@ "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", "equation_FStar.UInt32.add_mod", "equation_FStar.UInt32.minus", - "equation_FStar.UInt32.n", "equation_FStar.UInt32.n_minus_one", + "equation_FStar.UInt32.n_minus_one", "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_FStar.UInt32.t", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", "lemma_FStar.BitVector.logor_vec_definition", + "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", @@ -502,37 +464,35 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt32.Mk_v", + "primitive_Prims.op_disEquality", "proj_equation_FStar.UInt32.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt32.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a1bbfa63ab5b2731512874b4d2054ec7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.BitVector.logor_vec", "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.to_vec", + "typing_FStar.BitVector.shift_right_vec", "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.__proj__Mk__item__v", "typing_FStar.UInt32.lognot", "typing_FStar.UInt32.minus", - "typing_FStar.UInt32.v" + "typing_FStar.UInt32.n_minus_one", "typing_FStar.UInt32.v" ], 0, - "15edbaa5b86aa05e5bbef74dc624307c" + "eb07394e6716f44f4ab1a8f38ba145f7" ], [ "FStar.UInt32.lemma_sub_msbs", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", @@ -541,59 +501,63 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.BitVector.bv_t", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_FStar.UInt32.v", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt32.v", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", + "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_index_app2", + "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_index_slice", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Division", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", + "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", "typing_Prims.pow2" ], 0, - "6a979c150a13040ebbf3e8371213062d" + "5814343ba60e685eb7fadb0ddd9cad64" ], [ "FStar.UInt32.gte_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -606,28 +570,23 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.UInt32.Mk", - "equation_FStar.BitVector.bv_t", + "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "function_token_typing_Prims.bool", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", @@ -647,15 +606,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt32.Mk_v", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", @@ -664,230 +623,211 @@ "typing_FStar.BitVector.shift_right_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v" + "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.n_minus_one", + "typing_FStar.UInt32.v" ], 0, - "2b490da082bc637b8618943e57d8fd6f" + "88cc3cd76fde5d8900a6fa3717d9ff17" ], [ "FStar.UInt32.uint_to_t", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4da0d54c4c2d7bff7c382de4e1716ff7" + "9c787d49aae59e42b4f41e3c2a9e3558" ], [ "FStar.UInt32.add_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4df00bff0b5a3dc2d984c15870a18b28" + "f559ce07fe08d8b6e7fba0adcec2dee7" ], [ "FStar.UInt32.sub_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "382156976851f3f0c1263d5fc35a271c" + "46e02bdb061e03f2d4aeed14f4b4b9f3" ], [ "FStar.UInt32.mul_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c42b758fc37cbb7f70c4b329047fe316" + "4a1ef43d35a42f316fdc117e7f2265fe" ], [ "FStar.UInt32.mul_div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e6025228804824e5b8f5b2d6eb32f338" + "220f8f033db3c0ea4b3b6c0250503b08" ], [ "FStar.UInt32.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_814770d986f06f66b84225be16b5517a" + "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299" ], 0, - "87be6b4e6df30f6f891776b13d0a622d" + "ae52ca33de7b7a62b31fd4955b3652a1" ], [ "FStar.UInt32.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_814770d986f06f66b84225be16b5517a" + "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299" ], 0, - "565253c0b3c645acf834e234fb115236" + "45b6fbd8e1724c789f903af7f32cde10" ], [ "FStar.UInt32.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9099b0b366bbbdc53f6feffaa48d80dd" + "34b157fdb959a9525b10cad693284f99" ], [ "FStar.UInt32.shift_right", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "438412f43b8192a3fbb2666d30659b97" + "fb349ee4ea3d908a4c13c39a9ac0fcbf" ], [ "FStar.UInt32.shift_left", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "dab8c57c3a827349fb85ce44e31a34bc" + "ab678f8110fc913aaa3a291f39ced0a1" ], [ "FStar.UInt32.minus", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "c15e648cbd13e2021f54ae94e60e5c27" + "4d9b06ff33c2a2ce2128e69af99a2c25" ], [ "FStar.UInt32.n_minus_one", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "8f44b0e217c6850fd2ae2e8c8608eb5c" + "716697db057c46d2bf8523fa5425833a" ], [ "FStar.UInt32.eq_mask", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", @@ -896,39 +836,42 @@ "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", + "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.add_mod", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", + "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", + "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_FStar.UInt32.minus", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt32.minus", "equation_FStar.UInt32.n_minus_one", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_FStar.BitVector.logor_vec.fuel_instrumented", + "equation_with_fuel_FStar.BitVector.logxor_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_app1", + "lemma_FStar.Seq.Base.lemma_index_app2", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.lognot_definition", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", @@ -944,51 +887,54 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_89a41d4e488e95b61fe9ac89092d1d2f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ceeff75960d2e814a1218aea57188138", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5832d6d16f396f7384e995f62e5de8fe", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a1bbfa63ab5b2731512874b4d2054ec7", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d60a0e9fdf52cedb444de54cc40036f8", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", + "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", + "typing_FStar.BitVector.lognot_vec", "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.min_int", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.add_mod", - "typing_FStar.UInt32.lognot", "typing_FStar.UInt32.minus", - "typing_FStar.UInt32.v" + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", + "typing_FStar.UInt.min_int", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt32.add_mod", "typing_FStar.UInt32.lognot", + "typing_FStar.UInt32.logxor", "typing_FStar.UInt32.minus", + "typing_FStar.UInt32.n_minus_one", "typing_FStar.UInt32.v" ], 0, - "423df36377512d12203142da57108a80" + "8170c73188a6409b0c2e68cd786cdc7f" ], [ "FStar.UInt32.eq_mask", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4bb953b516f111a91f09b0a12fc910af" + "d5b95cac4eeaabb6b8949bca88979eaa" ], [ "FStar.UInt32.gte_mask", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -1005,28 +951,24 @@ "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_FStar.UInt32.n_minus_one", + "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", + "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", + "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_FStar.BitVector.logxor_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.BitVector.logxor_vec_definition", + "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.inverse_aux", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", @@ -1035,34 +977,36 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", + "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", - "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.v", "typing_Prims.pow2" + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", + "typing_FStar.UInt.max_int", "typing_FStar.UInt.msb", + "typing_FStar.UInt.nth", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt32.n_minus_one", "typing_FStar.UInt32.v", + "typing_Prims.pow2" ], 0, - "81bcfcbcf0a922d59ba5187a020dc2b1" + "bd5340cf55c979597ed31b40fe9a27e2" ], [ "FStar.UInt32.op_Plus_Percent_Hat", @@ -1072,11 +1016,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "01b26cda707e6af34a8425ab7ffa2f18" + "9fd96ed24e9004821be6e68a6b939b5e" ], [ "FStar.UInt32.op_Subtraction_Percent_Hat", @@ -1086,11 +1030,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "347d6b22356310d2aaf31c55d3b2075c" + "ec69b4a8fe67c626f222943cfa555559" ], [ "FStar.UInt32.op_Star_Percent_Hat", @@ -1100,11 +1044,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "67f98f2570e9788ba8e412a9a6f7065c" + "46d90112c9943c0075776c23b7ec9dc8" ], [ "FStar.UInt32.op_Star_Slash_Hat", @@ -1114,11 +1058,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c374b607bbfb0319999de63c68cb0cb2" + "3962b962bad214a79fd6b63e52d0a922" ], [ "FStar.UInt32.op_Slash_Hat", @@ -1127,10 +1071,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_814770d986f06f66b84225be16b5517a" + "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299" ], 0, - "e77b854ce86ba665ed56f52b858c4597" + "f218975ba39b2908d198c2a658f2d2be" ], [ "FStar.UInt32.op_Percent_Hat", @@ -1138,17 +1082,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_814770d986f06f66b84225be16b5517a" + "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299" ], 0, - "1e84c7c854e57ccb6ab9de146c4fd2ab" + "cef1df7cf344d7954524f59858c27723" ], [ "FStar.UInt32.op_Amp_Hat", @@ -1158,11 +1099,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b06861646aec17e4d31daa15c071dfab" + "d6b5fe15738c8bacf9de5126efcb134c" ], [ "FStar.UInt32.op_Less_Less_Hat", @@ -1170,22 +1111,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "cc4082545d4122b17c1230ae2b397706" + "05a0f5d629a82191fcbf70d08babf2d6" ], [ "FStar.UInt32.op_Greater_Greater_Hat", @@ -1193,22 +1131,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "1b2e4ff2b8d5c1bb0f433944c75573b7" + "e1c2db5562eb3d8ebccacbf2d7c2f37a" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.UInt63.fst b/ulib/FStar.UInt63.fst index 42ca167a0b5..53bf87c77f3 100644 --- a/ulib/FStar.UInt63.fst +++ b/ulib/FStar.UInt63.fst @@ -21,7 +21,9 @@ unfold let n = 63 open FStar.UInt open FStar.Mul -(* NOTE: anything that you fix/update here should be reflected in [FStar.IntN.fstp], which is mostly +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) (* Except, as compared to [FStar.IntN.fstp], here: @@ -185,7 +187,7 @@ let minus (a:t) = add_mod (lognot a) (uint_to_t 1) inline_for_extraction let n_minus_one = UInt32.uint_to_t (n - 1) -#set-options "--z3rlimit 20 --initial_fuel 1 --max_fuel 1" +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" // With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b let eq_mask (a:t) (b:t) : Pure t diff --git a/ulib/FStar.UInt63.fst.hints b/ulib/FStar.UInt63.fst.hints index 0494ff46b84..bef2dababdc 100644 --- a/ulib/FStar.UInt63.fst.hints +++ b/ulib/FStar.UInt63.fst.hints @@ -1,460 +1,424 @@ [ - "ÓŠ9²Ð®óÄÜ35\u0007\u0012ùÒw", + "„ôb¶JÊfY\u0005´÷üÿCŽÖ", [ [ "FStar.UInt63.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1f4d3a6cff47a2d10998ad25cda42fea" + "75962575ea1f6c14800f80d13ebf1d78" ], [ "FStar.UInt63.uint_to_t", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt63.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "c57988b3fbf624b74f7fd87ff82f2ffa" + "790619ce436f0a75e38ef7af333e826b" ], [ "FStar.UInt63.uv_inv", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt63.uint_to_t", "equation_FStar.UInt63.v", "fuel_guarded_inversion_FStar.UInt63.t", "proj_equation_FStar.UInt63.Mk_v" ], 0, - "63ee457816cc6cc6f5278916ff1b9dd4" + "362e4aca52d670c9fe109fe010ef021b" ], [ "FStar.UInt63.vu_inv", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt63.uint_to_t", "equation_FStar.UInt63.v", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v" ], 0, - "d1eb4ed37e415d3720b14e7942264aa8" + "01820aaae1896901bca15c5377f92231" ], [ "FStar.UInt63.v_inj", 1, - 2, - 1, + 0, + 0, [ "@query", "lemma_FStar.UInt63.uv_inv" ], 0, - "4a4dc7511ada3dec8a151204cbbb8a7e" + "b121b40d05635d8467b437894f89b792" ], [ "FStar.UInt63.add", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.add", "equation_FStar.UInt63.v", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v" ], 0, - "fb71936ba7c597f8114f6026d6f65059" + "8e1342377519474378a22520fe0d87a0" ], [ "FStar.UInt63.add_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt63.v", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v" ], 0, - "28d28520c713d1ed7774d2eae08800f5" + "ab7376d8090881fc31a99c85a5b2d6ea" ], [ "FStar.UInt63.add_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt63.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b0e8e63b3835a5a78dea908a4baa7e48" + "caaffa064c21160c5cb7d95ac333a1cb" ], [ "FStar.UInt63.sub", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.sub", "equation_FStar.UInt63.v", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v" ], 0, - "668d6261f8dcef812d12cc762db2aa75" + "d18acc138c104c3c695596101415cf29" ], [ "FStar.UInt63.sub_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt63.v", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v" ], 0, - "e769656443c0963e59d16b7b5daa4e24" + "433ffb4baca598a64fccc400940e7ed1" ], [ "FStar.UInt63.sub_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt63.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6ffde0f4b5a936990c692b3ad4aca50f" + "336d18537740f54d984c7cec510afee5" ], [ "FStar.UInt63.mul", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.mul", "equation_FStar.UInt63.v", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v" ], 0, - "1ebd816f966e1b62609526355fed872d" + "ce08899b6c3eda8568bf443a501d7857" ], [ "FStar.UInt63.mul_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt63.v", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v" ], 0, - "db6070ee5c905c1060172b6847523394" + "8c8c4d8fcf0f54c7e509a8931eedca29" ], [ "FStar.UInt63.mul_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt63.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a3d47b6d31a31a9feac3eea40966b290" + "2c6b7a61d7406fdbb38f55d5b09d5395" ], [ "FStar.UInt63.mul_div", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt63.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f51a70b2bce94def5cbe6965ba4ec197" + "7608ecdb3841e99a2aa2bdc2f4798b45" ], [ "FStar.UInt63.div", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.UInt63.Mk", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.n", - "equation_FStar.UInt63.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt63.t", - "function_token_typing_FStar.UInt63.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.pow2_values", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.v", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt63.t", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt63.Mk_v", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_c1833c306b507c128e7ce7826e0f30ff", - "refinement_interpretation_Tm_refine_e535bf0bdcb37730ddf05d2b314a0a37" + "refinement_interpretation_Tm_refine_e535bf0bdcb37730ddf05d2b314a0a37", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt63.v" ], 0, - "f0590efcd1dc30272e1a89f8a17454d4" + "ef5ed159daf1fdf55710746d4c3d7a8f" ], [ "FStar.UInt63.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_e535bf0bdcb37730ddf05d2b314a0a37" ], 0, - "345204a45f174756132defa62eb9165e" + "504a9337da5c3efa06a1e26c435ef250" ], [ "FStar.UInt63.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt63.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "03cc2f306ed4949f2d36ea3069760373" + "4860ce13503663ee70f9db8cd0c22a17" ], [ "FStar.UInt63.logxor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt63.v", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v" ], 0, - "0e139e1f7b7aca803e0a881331276358" + "2c286b8c59a851f74dce03b9c0da21f0" ], [ "FStar.UInt63.logor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt63.v", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v" ], 0, - "8b1b0edf015222de335653994f6eea11" + "8d41dc0f0fddaefc761401f27cb6a315" ], [ "FStar.UInt63.lognot", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt63.v", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_FStar.UInt63.Mk_v" ], 0, - "d6f73da8838e3f75d72f91d9a2776aa7" + "7ca34a9e7c732d1b78f047be0093b196" ], [ "FStar.UInt63.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.v", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt63.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "be61ee32e3feb6cf71b32016b59c668e" + "e09ba384cd2a591a79367d5a2d04533e" ], [ "FStar.UInt63.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.v", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt63.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "8c353492d94f855dbf817fd3e0072e41" + "c2ac99c567e6a17ac649e666428307ce" ], [ "FStar.UInt63.minus", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt63.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt63.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "2d2a54aef325aab57c6d599ba33d81c1" + "76778ae1d1557a07678799043ee7df24" ], [ "FStar.UInt63.n_minus_one", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "221dfd70d54c4ccb039db24990f75794" + "884918c6f990f213cd63959f0aca0ce1" ], [ "FStar.UInt63.eq_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", @@ -462,35 +426,31 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt63.t__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.UInt63.Mk", - "equation_FStar.BitVector.bv_t", + "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", - "equation_FStar.UInt.logor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", - "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", - "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_FStar.UInt32.n", "equation_FStar.UInt63.add_mod", - "equation_FStar.UInt63.minus", "equation_FStar.UInt63.n", - "equation_FStar.UInt63.n_minus_one", + "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", + "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", + "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt.zero", "equation_FStar.UInt63.add_mod", + "equation_FStar.UInt63.minus", "equation_FStar.UInt63.n_minus_one", "equation_FStar.UInt63.uint_to_t", "equation_FStar.UInt63.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_FStar.UInt63.t", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt63.n", - "function_token_typing_FStar.UInt63.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", "lemma_FStar.BitVector.logor_vec_definition", + "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -504,37 +464,39 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt63.Mk_v", + "primitive_Prims.op_disEquality", "proj_equation_FStar.UInt63.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt63.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_59ed6ee7c32fa82d4172c3886935dbc3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.BitVector.logor_vec", + "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.v", "typing_FStar.UInt63.lognot", - "typing_FStar.UInt63.minus", "typing_FStar.UInt63.v" + "typing_FStar.UInt32.v", "typing_FStar.UInt63.__proj__Mk__item__v", + "typing_FStar.UInt63.lognot", "typing_FStar.UInt63.minus", + "typing_FStar.UInt63.n_minus_one", "typing_FStar.UInt63.v" ], 0, - "9bdddc78e62e7e103902661770296164" + "c72f8f81a3f4745ced3881877fc92056" ], [ "FStar.UInt63.lemma_sub_msbs", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", @@ -543,7 +505,6 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "equation_FStar.BitVector.bv_t", @@ -551,13 +512,12 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt63.n", "equation_FStar.UInt63.v", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt63.v", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt63.n", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "function_token_typing_Prims.bool", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_is_empty", @@ -569,33 +529,31 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt63.v", - "typing_Prims.pow2" + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", + "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt63.v", "typing_Prims.pow2" ], 0, - "4a0a6f5367d46776e423f1d6a8ec447b" + "63325a3fa11c36333550b5831081c6ce" ], [ "FStar.UInt63.gte_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -608,7 +566,6 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", @@ -618,16 +575,12 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt63.n", "equation_FStar.UInt63.n_minus_one", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.n_minus_one", "equation_FStar.UInt63.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt63.n", - "function_token_typing_FStar.UInt63.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", @@ -648,15 +601,15 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", @@ -666,237 +619,214 @@ "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", - "typing_FStar.UInt63.v" + "typing_FStar.UInt63.n_minus_one", "typing_FStar.UInt63.v" ], 0, - "dd1f2552e92d69436a54f32c78c5a8ca" + "bd48cff0e501138f32c9042c8d21e986" ], [ "FStar.UInt63.uint_to_t", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "417de47e3f1d87121069abefc05989a7" + "105c977b772a74ca78aaf8df3d168991" ], [ "FStar.UInt63.add_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "10056a92602908ec4bdc03a968832114" + "d32bb9ce6542b0c1cba3711983ddc920" ], [ "FStar.UInt63.sub_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "de3d1113963e2f91984d47aedbf7363c" + "629f8b7ba482352b59381a36ed0d8f40" ], [ "FStar.UInt63.mul_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ccfdd6ce28ecd60fbcdf37c904011817" + "239605f129316dc554fd3f7f05a69d1d" ], [ "FStar.UInt63.mul_div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0208e0d3b24f5cf4a48dc3852733b88d" + "991ffeebf46e4997ff83eb65322fd727" ], [ "FStar.UInt63.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3f86a34531bfdc7532becb92d14970fd" + "refinement_interpretation_Tm_refine_e535bf0bdcb37730ddf05d2b314a0a37" ], 0, - "5d65f9f753acab4508efc816f6e15e0f" + "2d0c450ff30ae5edcad001419aca395b" ], [ "FStar.UInt63.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_3f86a34531bfdc7532becb92d14970fd", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_e535bf0bdcb37730ddf05d2b314a0a37" ], 0, - "85b8dd1dc874b470a53fe2854cad39d3" + "92d0120a7ee6dd1529a32097fb73821a" ], [ "FStar.UInt63.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bba738856817ce2e3c44dca8a74b7d54" + "d857c9652df9a79f77303740ae5b7e23" ], [ "FStar.UInt63.shift_right", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "02c0201ba82abb0e566cbf6fb4c26ae9" + "4bf8067f8825c03d085294d36b622f71" ], [ "FStar.UInt63.shift_left", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "d260467567d94cef0f07f726528fdf44" + "f4ac5273a668ba71209b01ac752ad030" ], [ "FStar.UInt63.minus", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt63.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt63.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4e3cbd48998acee7f39e344d82b1205f" + "af403fb4ebb3b3f142422b6c5738990d" ], [ "FStar.UInt63.n_minus_one", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bb4f45a85707bea158e47e07e68cc570" + "44edd8971f3a4b0f881ed7c31ab84aa8" ], [ "FStar.UInt63.eq_mask", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", @@ -909,33 +839,29 @@ "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", - "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", - "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_FStar.UInt32.n", "equation_FStar.UInt63.minus", - "equation_FStar.UInt63.n", "equation_FStar.UInt63.n_minus_one", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", + "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", + "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", + "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt.zero", "equation_FStar.UInt63.minus", + "equation_FStar.UInt63.n_minus_one", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt63.n", - "function_token_typing_FStar.UInt63.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.BitVector.logor_vec_definition", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", + "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt.inverse_vec_lemma", + "lemma_FStar.UInt.lognot_definition", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", "lemma_FStar.UInt32.vu_inv", "lemma_FStar.UInt63.uv_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -949,52 +875,50 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_9f05cfca7bc880c7c74647c066a189a1", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_ed23e451c21b534c0db7d2d2cb964a13", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59ed6ee7c32fa82d4172c3886935dbc3", + "refinement_interpretation_Tm_refine_7610c5ce8fb469460644ed831e7a7d13", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a95948d9d7e1f7c653b6b34e54c8e5bf", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", - "typing_FStar.BitVector.logor_vec", + "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.max_int", - "typing_FStar.UInt.min_int", "typing_FStar.UInt.to_vec", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", + "typing_FStar.UInt.max_int", "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", "typing_FStar.UInt63.add_mod", - "typing_FStar.UInt63.lognot", "typing_FStar.UInt63.minus", - "typing_FStar.UInt63.v", "typing_Prims.pow2" + "typing_FStar.UInt63.lognot", "typing_FStar.UInt63.logxor", + "typing_FStar.UInt63.minus", "typing_FStar.UInt63.n_minus_one", + "typing_FStar.UInt63.v" ], 0, - "b067f260514e41e0e4c8ef1368a947f2" + "8ce01f7c2ee853160a66d1c17801fddf" ], [ "FStar.UInt63.eq_mask", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6b1573c715c4a32bad39dad63e222024" + "bb10449900795b14afd29a741e91ace3" ], [ "FStar.UInt63.gte_mask", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -1011,34 +935,23 @@ "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_FStar.UInt63.n", - "equation_FStar.UInt63.n_minus_one", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", + "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", + "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt63.n_minus_one", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt63.n", - "function_token_typing_FStar.UInt63.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt.inverse_aux", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", @@ -1050,33 +963,30 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", - "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.v", "typing_FStar.UInt63.v", "typing_Prims.pow2" + "typing_FStar.UInt.msb", "typing_FStar.UInt.nth", + "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", + "typing_FStar.UInt63.n_minus_one", "typing_FStar.UInt63.v", + "typing_Prims.pow2" ], 0, - "ec71773fe54a30a3242e122551586df9" + "b2f1329a2050746a4d1ac26699249cdb" ], [ "FStar.UInt63.op_Plus_Percent_Hat", @@ -1086,11 +996,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "22315a703896bfe6663667ed77455299" + "07627ceb94fe4ce5c8b66d0b5aaa0d04" ], [ "FStar.UInt63.op_Subtraction_Percent_Hat", @@ -1100,11 +1010,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "75f9ac7ce84467d22fc57c1ebb88f745" + "1b17e24b15de7604a4d529cf426fdf21" ], [ "FStar.UInt63.op_Star_Percent_Hat", @@ -1114,11 +1024,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f023b0bbbe41e8335bbec0b3978ff3f3" + "15a7acdd1a64d18dc35eac17cc72afae" ], [ "FStar.UInt63.op_Star_Slash_Hat", @@ -1128,11 +1038,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d2002fbf957caeafcd6bd3be7318c234" + "a626fe88bc48b5f11ce9cd14c714833e" ], [ "FStar.UInt63.op_Slash_Hat", @@ -1141,10 +1051,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3f86a34531bfdc7532becb92d14970fd" + "refinement_interpretation_Tm_refine_e535bf0bdcb37730ddf05d2b314a0a37" ], 0, - "1f6e2b56b819cbfe2e8293fe696a2dff" + "851c8793fda2579bd9ca6444d9f59ae5" ], [ "FStar.UInt63.op_Percent_Hat", @@ -1152,17 +1062,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_3f86a34531bfdc7532becb92d14970fd", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_e535bf0bdcb37730ddf05d2b314a0a37" ], 0, - "627c402ab958a60914d47b91a5eb9729" + "f3edcff090384c1fbc52aab9bbcf16f1" ], [ "FStar.UInt63.op_Amp_Hat", @@ -1172,11 +1079,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "22917c6235dc5e9fccc2340e02cd1608" + "440b33e9b3cbc8cac7c8346b29e194e9" ], [ "FStar.UInt63.op_Less_Less_Hat", @@ -1184,22 +1091,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "de13cf1f109f45e8141c47b46cc20d1d" + "aac5d45f4fb945786c726be4da6568c8" ], [ "FStar.UInt63.op_Greater_Greater_Hat", @@ -1207,22 +1111,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "be0619210d090d44a80ee163f30669c5" + "6d12f0dd41d02692afb7b48ab4aeabd2" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.UInt64.fst b/ulib/FStar.UInt64.fst index e601daa599a..3120191bf60 100644 --- a/ulib/FStar.UInt64.fst +++ b/ulib/FStar.UInt64.fst @@ -21,7 +21,9 @@ unfold let n = 64 open FStar.UInt open FStar.Mul -(* NOTE: anything that you fix/update here should be reflected in [FStar.IntN.fstp], which is mostly +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) (* Except, as compared to [FStar.IntN.fstp], here: @@ -185,7 +187,7 @@ let minus (a:t) = add_mod (lognot a) (uint_to_t 1) inline_for_extraction let n_minus_one = UInt32.uint_to_t (n - 1) -#set-options "--z3rlimit 20 --initial_fuel 1 --max_fuel 1" +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" // With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b let eq_mask (a:t) (b:t) : Pure t diff --git a/ulib/FStar.UInt64.fst.hints b/ulib/FStar.UInt64.fst.hints index 112cd4bae36..e96ec04046c 100644 --- a/ulib/FStar.UInt64.fst.hints +++ b/ulib/FStar.UInt64.fst.hints @@ -1,253 +1,233 @@ [ - ";dü/2©D\u0018ïPغ©¹O", + "|\u00126GÞQ\rdêYU¡¤v{|", [ [ "FStar.UInt64.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "46fc75f2ede1043599176dc969826317" + "897851c33f9b0865da3eaeb0bb332ff9" ], [ "FStar.UInt64.uint_to_t", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt64.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "eb9a3ec9f3d6d18e08a0415b50ba3a1d" + "bb43516b35fda27f0a0003f1444bc7dc" ], [ "FStar.UInt64.uv_inv", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt64.uint_to_t", "equation_FStar.UInt64.v", "fuel_guarded_inversion_FStar.UInt64.t", "proj_equation_FStar.UInt64.Mk_v" ], 0, - "d6a6a190e71f3368eb9f4d91ce99886f" + "01799634f8b522d70e0a6d8f3e4e062f" ], [ "FStar.UInt64.vu_inv", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt64.uint_to_t", "equation_FStar.UInt64.v", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "1b0348189c1e5a7f8976f481d570aa9a" + "8b49e067c05ede6b9a120f55cedf8d2c" ], [ "FStar.UInt64.v_inj", 1, - 2, - 1, + 0, + 0, [ "@query", "lemma_FStar.UInt64.uv_inv" ], 0, - "f298f17fe7cb123ac256b45bd922795b" + "a0090fe26a3e5f5d2d4f7165338d871b" ], [ "FStar.UInt64.add", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.add", "equation_FStar.UInt64.v", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "40561d12863cca5146bb85a22edbc351" + "c66f3a7b1bbe937735838c4a719fa592" ], [ "FStar.UInt64.add_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt64.v", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "52670377015e2afbade69de86a6fb6ec" + "e432f69841ef1fcd277b7c3ead139d05" ], [ "FStar.UInt64.add_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt64.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f4d1d60e43454567bb546ae33d21742d" + "5ac9e96cba1b372afdccb90d8abe63db" ], [ "FStar.UInt64.sub", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.sub", "equation_FStar.UInt64.v", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "3ff318a49424f596d6175ba38d2482ab" + "5f0fda646b1a252d79ada7ce781f202f" ], [ "FStar.UInt64.sub_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt64.v", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "e3bbea3ec0267d7ed93d7cebb19de843" + "47954247d94bbb1f8bc0a01029dd3e31" ], [ "FStar.UInt64.sub_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt64.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cd6a4276bf84a932bb9ab485187cc90d" + "4001ce14dc0ca9be8aff018606036a09" ], [ "FStar.UInt64.mul", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt.mul", "equation_FStar.UInt64.v", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "a7d76f011809d1de8749e1942a8f507d" + "f850a6c69988f48cf3595d32845af141" ], [ "FStar.UInt64.mul_underspec", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt64.v", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "13550268c116478cf1a124162cfa6125" + "d75a5a8c6ce66fc6b1bb2e36842e99d4" ], [ "FStar.UInt64.mul_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt64.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9712f85dfb0fbd13182a8beb21dc6302" + "7a92100355049893af05818c2a226f10" ], [ "FStar.UInt64.mul_div", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt64.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "00eaf2258ab77202ff3078852d38473f" + "be9b7d604cd0fe53ff4c7866b062b671" ], [ "FStar.UInt64.div", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.UInt64.Mk", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n", - "equation_FStar.UInt64.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt64.t", - "function_token_typing_FStar.UInt64.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.pow2_values", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.v", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt64.t", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt64.Mk_v", @@ -255,206 +235,190 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt64.Mk_v", "refinement_interpretation_Tm_refine_433b266239274204f1ad9f828bc97bc2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt64.v" ], 0, - "006c5e1b0c69a3afc213f340df462bcd" + "4d74e0a5996a406841e664326a605732" ], [ "FStar.UInt64.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f" ], 0, - "61050050a2ab245288740661d905171b" + "a921e9835afa3e7b21c27b0c4f3702f9" ], [ "FStar.UInt64.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt64.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "597781dad0f7ab39f73ea65715a18190" + "896417ef0bcecbbdb0eeff34d6add439" ], [ "FStar.UInt64.logxor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt64.v", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "c4fc3a921d921cbeacde0dd2a2ac3906" + "49e396fc930f495db5fb31b56c36ab60" ], [ "FStar.UInt64.logor", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt64.v", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "2f2f03396d41b6c29cfa560c56b935f5" + "3a38c398bdeaa4f230a09077ac2981a3" ], [ "FStar.UInt64.lognot", 1, - 2, - 1, + 0, + 0, [ "@query", "equation_FStar.UInt64.v", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_FStar.UInt64.Mk_v" ], 0, - "ef0774ac056f8d1da9f9424c2dc0d019" + "d5b698aa48533decc602e9a979a114f4" ], [ "FStar.UInt64.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.v", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "e9c10e0bdc141cc183deb568e8ff5639" + "2045db0e339a2c455688f35f5ad52da8" ], [ "FStar.UInt64.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.v", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt64.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "6b26bc7add36deb96bb6ef0681484928" + "8d39aa352f7c1e4eb1398aafac00e056" ], [ "FStar.UInt64.minus", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt64.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt64.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b46c7c0b76f649f98cd797bd7b12ee68" + "14790cbb98e89101f7ec76deffc05314" ], [ "FStar.UInt64.n_minus_one", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "eaf703f83b5b83b2b9e0b8e6874a75cb" + "38909dcc56c5da3576fb629f7030fa90" ], [ "FStar.UInt64.eq_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", @@ -462,36 +426,36 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt64.t__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.UInt64.Mk", - "equation_FStar.BitVector.bv_t", + "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", + "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.add_mod", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", + "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_FStar.UInt32.n", - "equation_FStar.UInt64.add_mod", "equation_FStar.UInt64.minus", - "equation_FStar.UInt64.n", "equation_FStar.UInt64.n_minus_one", + "equation_FStar.UInt.zero", "equation_FStar.UInt64.add_mod", + "equation_FStar.UInt64.minus", "equation_FStar.UInt64.n_minus_one", "equation_FStar.UInt64.uint_to_t", "equation_FStar.UInt64.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_FStar.UInt64.t", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt64.n", - "function_token_typing_FStar.UInt64.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", "lemma_FStar.BitVector.logor_vec_definition", + "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_app2", + "lemma_FStar.Seq.Base.lemma_index_slice", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", @@ -503,36 +467,43 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt64.Mk_v", + "primitive_Prims.op_disEquality", "proj_equation_FStar.UInt64.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt64.Mk_v", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_97db105b62009a1e332be0ecdebf5887", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.BitVector.logor_vec", + "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.lognot", - "typing_FStar.UInt64.minus", "typing_FStar.UInt64.v" + "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt32.v", "typing_FStar.UInt64.__proj__Mk__item__v", + "typing_FStar.UInt64.lognot", "typing_FStar.UInt64.minus", + "typing_FStar.UInt64.n_minus_one", "typing_FStar.UInt64.v" ], 0, - "ded21fe59d4d6927ffae4e77a464bffd" + "b33ac73a2be7b494a880744d148d1b85" ], [ "FStar.UInt64.lemma_sub_msbs", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", @@ -541,7 +512,6 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "equation_FStar.BitVector.bv_t", @@ -549,11 +519,10 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt64.n", "equation_FStar.UInt64.v", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt64.v", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt64.n", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -567,18 +536,18 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", @@ -587,13 +556,13 @@ "typing_Prims.pow2" ], 0, - "c0033e68f839f3f6e3f56c0d2e8b86fb" + "cd5f0bee3a1ac7109db7423383f75cbb" ], [ "FStar.UInt64.gte_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -606,7 +575,6 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", @@ -616,16 +584,12 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt64.n", "equation_FStar.UInt64.n_minus_one", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n_minus_one", "equation_FStar.UInt64.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt64.n", - "function_token_typing_FStar.UInt64.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", @@ -646,15 +610,15 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", @@ -664,228 +628,207 @@ "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.v" + "typing_FStar.UInt64.n_minus_one", "typing_FStar.UInt64.v" ], 0, - "a58d93c238185028125554fc5447b661" + "1332ba7cf15ba60e2eeac1450b906ba8" ], [ "FStar.UInt64.uint_to_t", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d91227064e9984d049d14d9e3d087055" + "0cd77f704457ef3988767c927b1ecc3f" ], [ "FStar.UInt64.add_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "17294bd5ddec19c7d580188e5e89b522" + "c7d77a9524500e379e14b86ddc5d275f" ], [ "FStar.UInt64.sub_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7848e6c3962c2fe683047ab2d079586f" + "958e9c39ce56c8830a3d52971fcd649d" ], [ "FStar.UInt64.mul_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4f3371fc9ebc9f808d7496d1e23fd414" + "9d905ddcbd8c6466e205ea051cb37631" ], [ "FStar.UInt64.mul_div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "2bde786dd6604cc1cf9d8c24ac2da19e" + "13b3b3f82e760fa3edd39ff4112421e8" ], [ "FStar.UInt64.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b74a7cc72b60e5ca6bf76621a35790c5" + "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f" ], 0, - "60e630ebaabe973c356262dd43d4ca18" + "a2e89d2ccad5e3ddd02466c88e59930b" ], [ "FStar.UInt64.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b74a7cc72b60e5ca6bf76621a35790c5" + "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f" ], 0, - "306a5fddbb93ddee3c04f15f9da5a59a" + "d6f964d6ba3308a454ae03168e4c4614" ], [ "FStar.UInt64.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "32f22f5e3db27222723f3afba7dd9761" + "44110c7f50d9e5ca99b62bd07aef18fe" ], [ "FStar.UInt64.shift_right", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "8b01b1d1e0b1009264747266920ef9eb" + "f268a2c3560d5ff0ff7d195bba107287" ], [ "FStar.UInt64.shift_left", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "aa31033d6be536adeacd0afb7c53834f" + "537b4aa87a9e3b160f4e6e69c50ea067" ], [ "FStar.UInt64.minus", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt64.n", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt64.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "bd9ba8b3b9b9ac47d22724fdba61b0b5" + "1d523bbedb7d4ef572d904595b8f17d0" ], [ "FStar.UInt64.n_minus_one", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b12e3ac18f2a4f151eec88041c73dcc2" + "f5d2bd81e54313db19d90d9ce1b9e694" ], [ "FStar.UInt64.eq_mask", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -903,39 +846,36 @@ "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt64.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_FStar.UInt32.n", - "equation_FStar.UInt64.minus", "equation_FStar.UInt64.n", - "equation_FStar.UInt64.n_minus_one", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.add_mod", + "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", + "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", + "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", + "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", + "equation_FStar.UInt64.minus", "equation_FStar.UInt64.n_minus_one", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", + "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt64.n", - "function_token_typing_FStar.UInt64.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.lognot_definition", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "lemma_FStar.UInt64.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", + "lemma_FStar.UInt.zero_to_vec_lemma", "lemma_FStar.UInt32.vu_inv", + "lemma_FStar.UInt64.uv_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_Division", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", @@ -944,50 +884,51 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_6a946c32a7c6feece7cf4dc912d2bf86", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a5beb11a63dcb42e8701ed4a6d3a38f5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6f711a8125ef1fb553efffd1586844b8", + "refinement_interpretation_Tm_refine_75ef378c01efa37f4dfff3ea9efb36a5", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_97db105b62009a1e332be0ecdebf5887", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", + "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.max_int", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.add_mod", "typing_FStar.UInt64.lognot", - "typing_FStar.UInt64.minus", "typing_FStar.UInt64.v" + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", + "typing_FStar.UInt.logor", "typing_FStar.UInt.max_int", + "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt32.v", "typing_FStar.UInt64.add_mod", + "typing_FStar.UInt64.lognot", "typing_FStar.UInt64.logxor", + "typing_FStar.UInt64.minus", "typing_FStar.UInt64.n_minus_one", + "typing_FStar.UInt64.v" ], 0, - "760ac2efee0cebcc90280815bfc94964" + "241c1ad2027fc09dfbdce258ce9328a1" ], [ "FStar.UInt64.eq_mask", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d91b4223cd212d9a2084cc5dee12b10d" + "e14e06a032be7d3b7e440a3c6d0d5200" ], [ "FStar.UInt64.gte_mask", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -1009,24 +950,20 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt64.n", "equation_FStar.UInt64.n_minus_one", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n_minus_one", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt64.n", - "function_token_typing_FStar.UInt64.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt.index_to_vec_ones", "lemma_FStar.UInt.inverse_aux", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", @@ -1038,29 +975,31 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", - "typing_FStar.UInt.max_int", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.v", "typing_Prims.pow2" + "typing_FStar.UInt.max_int", "typing_FStar.UInt.msb", + "typing_FStar.UInt.nth", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt32.v", "typing_FStar.UInt64.n_minus_one", + "typing_FStar.UInt64.v" ], 0, - "acf99611753c7cc0d7b3754363418e4c" + "4a308274fccf1e8946ad4b44a3fa1d7d" ], [ "FStar.UInt64.op_Plus_Percent_Hat", @@ -1070,11 +1009,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6fb846335f1654c870438c0849c33de0" + "b7145615a0f5dd7b7aed015e216cf7b4" ], [ "FStar.UInt64.op_Subtraction_Percent_Hat", @@ -1084,11 +1023,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ba75aa36dde3e4d78f9b36568e999302" + "6f363d84cf56f0f8825e627d84dc7eca" ], [ "FStar.UInt64.op_Star_Percent_Hat", @@ -1098,11 +1037,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bb7a7269f166517ba2d6fd12d20251d6" + "7ea05c62b491776bdf6014469854dc5c" ], [ "FStar.UInt64.op_Star_Slash_Hat", @@ -1112,11 +1051,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "606e3e371562ae58e496782020dd8f48" + "50bbca6d1b60d358352d7bf6f18d126d" ], [ "FStar.UInt64.op_Slash_Hat", @@ -1125,10 +1064,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b74a7cc72b60e5ca6bf76621a35790c5" + "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f" ], 0, - "d1f0df25975a49069cf5f196d212e57e" + "1e30776cd4bbf2ada13f937bdbf8592b" ], [ "FStar.UInt64.op_Percent_Hat", @@ -1136,17 +1075,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b74a7cc72b60e5ca6bf76621a35790c5" + "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f" ], 0, - "4b9606d5feef5bf6bcfbf5ccd47034d3" + "6c61325db614cb3bacc5fe686320f0b4" ], [ "FStar.UInt64.op_Amp_Hat", @@ -1156,11 +1092,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "19f9a982bd19a165a656d7be7448d544" + "b1608a8dbf296afc0e734b62fea92a2a" ], [ "FStar.UInt64.op_Less_Less_Hat", @@ -1168,22 +1104,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "2831a04ec76c929f2192a358b6e6480b" + "0ec90ce4e18719650427069dac873dde" ], [ "FStar.UInt64.op_Greater_Greater_Hat", @@ -1191,22 +1124,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "d111f82c94a32c1c85129ae58f554f72" + "eb42bc00f3e7999758e05a3d6490adda" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.UInt8.fst b/ulib/FStar.UInt8.fst index 9fc44b1c0c6..51d0cf5fa35 100644 --- a/ulib/FStar.UInt8.fst +++ b/ulib/FStar.UInt8.fst @@ -21,7 +21,9 @@ unfold let n = 8 open FStar.UInt open FStar.Mul -(* NOTE: anything that you fix/update here should be reflected in [FStar.IntN.fstp], which is mostly +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) (* Except, as compared to [FStar.IntN.fstp], here: @@ -185,7 +187,7 @@ let minus (a:t) = add_mod (lognot a) (uint_to_t 1) inline_for_extraction let n_minus_one = UInt32.uint_to_t (n - 1) -#set-options "--z3rlimit 20 --initial_fuel 1 --max_fuel 1" +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" // With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b let eq_mask (a:t) (b:t) : Pure t diff --git a/ulib/FStar.UInt8.fst.hints b/ulib/FStar.UInt8.fst.hints index de54187465b..f68e169d8fc 100644 --- a/ulib/FStar.UInt8.fst.hints +++ b/ulib/FStar.UInt8.fst.hints @@ -1,40 +1,37 @@ [ - "u\u0015@,Üé®z¶æª\u0012oóoÞ", + "‡\u001f²JX·ä×£Œ&\u000b{\u0011\u000eQ", [ [ "FStar.UInt8.t", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a99385a0481906757381880f1ac55e46" + "1d540e48e067eeea48cd9d2ac3a01f84" ], [ "FStar.UInt8.uint_to_t", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt8.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "proj_equation_FStar.UInt8.Mk_v", "projection_inverse_FStar.UInt8.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "64bc708eba9882cf4b16ca393d1c12f0" + "6e6fcb43327fccac4e2b1d5ede04ad71" ], [ "FStar.UInt8.uv_inv", @@ -47,7 +44,7 @@ "proj_equation_FStar.UInt8.Mk_v" ], 0, - "4f81c9b2946995ec9d33e8c0245c73a6" + "ac89fb743cd396ec87b179d0462e7986" ], [ "FStar.UInt8.vu_inv", @@ -60,7 +57,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "c07d4534c3546298aa60692c011e9920" + "416efc26b24d8cf7ee7f302564fec453" ], [ "FStar.UInt8.v_inj", @@ -69,7 +66,7 @@ 1, [ "@query", "lemma_FStar.UInt8.uv_inv" ], 0, - "9d15f64a8e3b26d5e42a94f938a79911" + "c1f588704e3f05fe8cb6cc1188d5b2e9" ], [ "FStar.UInt8.add", @@ -82,7 +79,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "d4ec3f244938598c1471481b42d40ed9" + "e4f36f7ba4bcbaf8660f6bc27aca5f78" ], [ "FStar.UInt8.add_underspec", @@ -94,27 +91,24 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "f1734c2aa5988308662bb395070c8077" + "b3eb1c70bfadbf5bf4b704c6b50e3c43" ], [ "FStar.UInt8.add_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt8.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt8.Mk_v", "projection_inverse_FStar.UInt8.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7ce4c6f769c8098d8b0ca467d0dd241e" + "5ccf762e882a996778da7efd9ba5b94f" ], [ "FStar.UInt8.sub", @@ -127,7 +121,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "edc6c2870d55c80ae30a02285a7a261e" + "6771806bbe6d645f84cd53f890fefe56" ], [ "FStar.UInt8.sub_underspec", @@ -139,27 +133,24 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "6eb8d419513c46825eda46ef7ae93d6d" + "713a0de01c2f2f24c784db1e976b178e" ], [ "FStar.UInt8.sub_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt8.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt8.Mk_v", "projection_inverse_FStar.UInt8.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bb2c3a6248030e9c11ea29c61a92090c" + "cd198d1a05974b057f0bdf9fab773e81" ], [ "FStar.UInt8.mul", @@ -172,7 +163,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "6cf10bcbdd69e6689bec3ba53fa54a29" + "3e766a1768ac4829cd8fa8b35cd4a001" ], [ "FStar.UInt8.mul_underspec", @@ -184,118 +175,105 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "e10d5db6017a75487a3d55b5e790c88e" + "e3d9bf34012212fc12870994cc18fac3" ], [ "FStar.UInt8.mul_mod", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt8.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt8.Mk_v", "projection_inverse_FStar.UInt8.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0d81ab10bbd0c8d5b0c7027b07b52c6f" + "0dd23c60c1f0cfa036014d54db672d31" ], [ "FStar.UInt8.mul_div", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt8.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt8.Mk_v", "projection_inverse_FStar.UInt8.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "54b65b5c1e106303e035398ec6b09227" + "9b3ddd78f091930ce42f5ccd1ac403ed" ], [ "FStar.UInt8.div", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_FStar.UInt8.Mk", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.n", - "equation_FStar.UInt8.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt8.t", - "function_token_typing_FStar.UInt8.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.pow2_values", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.v", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt8.t", + "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt8.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.UInt8.Mk_v", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7d58c40d4efada00f7d5c364805478e7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747" + "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt8.v" ], 0, - "c77487bb6849def7f60dfc931557d681" + "49494c726d3d49f5ef7cb18ae8d06456" ], [ "FStar.UInt8.rem", 1, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt8.Mk_v", "projection_inverse_FStar.UInt8.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747" ], 0, - "415734ad6ed27b42eea7b9a984816662" + "306eff94b88fec141b7c1c56e6c13ca9" ], [ "FStar.UInt8.logand", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.v", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt8.v", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "proj_equation_FStar.UInt8.Mk_v", "projection_inverse_FStar.UInt8.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "32248adb169970a02d207b4704026e1a" + "0312adbc10eee900b71cde76a2cce096" ], [ "FStar.UInt8.logxor", @@ -307,7 +285,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "1d51f8b2579a628dc4c53e972e98d8b1" + "7e87ea8ec66301f3a088cba6ffc6223c" ], [ "FStar.UInt8.logor", @@ -319,7 +297,7 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "6b290796ac3e515a1e8d581fd1d682b5" + "7f86e11018c50440d554166de7f6764a" ], [ "FStar.UInt8.lognot", @@ -331,111 +309,99 @@ "projection_inverse_FStar.UInt8.Mk_v" ], 0, - "cc4a30ecd33a7316475a64216ddbf1ac" + "cb4ca7725b0216b0c2617f609c0c8f57" ], [ "FStar.UInt8.shift_right", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.v", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt8.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt8.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "9d83bcf7641fa84fd6a066fdbef58ead" + "f3be09128e84d17819e598c2164e2bed" ], [ "FStar.UInt8.shift_left", 1, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.v", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_FStar.UInt8.Mk_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.UInt8.Mk_v", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "68468eac5533f25a02833e57b231c8d0" + "aca79d0413960d4e160bae59ea18ccd3" ], [ "FStar.UInt8.minus", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "e6696a3714c7f16bc292d54bc7aaa441" + "48992157a1963a80fac928e9bb14093d" ], [ "FStar.UInt8.n_minus_one", 1, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "f50c06db58cf945e9020a26fa282ff4e" + "1880abdd41b6ba77ddf0666bfd5a56d4" ], [ "FStar.UInt8.eq_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", @@ -452,36 +418,33 @@ "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "assumption_FStar.UInt8.t__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.UInt8.Mk", - "equation_FStar.BitVector.bv_t", + "bool_typing", "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_FStar.UInt32.n", + "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.add_mod", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", + "equation_FStar.UInt.logor", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", + "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", + "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", "equation_FStar.UInt8.add_mod", "equation_FStar.UInt8.minus", - "equation_FStar.UInt8.n", "equation_FStar.UInt8.n_minus_one", - "equation_FStar.UInt8.uint_to_t", "equation_FStar.UInt8.v", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt8.n_minus_one", "equation_FStar.UInt8.uint_to_t", + "equation_FStar.UInt8.v", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_FStar.UInt8.t", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.n", - "function_token_typing_FStar.UInt8.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", "lemma_FStar.UInt32.vu_inv", "lemma_FStar.UInt8.uv_inv", @@ -498,27 +461,32 @@ "projection_inverse_FStar.UInt8.Mk_v", "refinement_interpretation_Tm_refine_2eb9e74c99165870eb01e3cebb8052d2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", + "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.lognot_vec", "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.shift_right_vec", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.lognot", "typing_FStar.UInt8.minus", - "typing_FStar.UInt8.v" + "typing_FStar.BitVector.shift_right_vec", + "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt32.v", "typing_FStar.UInt8.lognot", + "typing_FStar.UInt8.minus", "typing_FStar.UInt8.n_minus_one", + "typing_FStar.UInt8.v", "typing_Prims.pow2" ], 0, - "c48f1ecb7eb5c13571901f49598084c0" + "6f6ee95260f6d47e23785a02d63922b6" ], [ "FStar.UInt8.lemma_sub_msbs", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", @@ -527,7 +495,6 @@ "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "equation_FStar.BitVector.bv_t", @@ -535,13 +502,12 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt8.n", "equation_FStar.UInt8.v", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt8.v", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt8.n", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", "int_inversion", "int_typing", + "function_token_typing_Prims.bool", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_is_empty", @@ -553,33 +519,31 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt8.v", - "typing_Prims.pow2" + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", + "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt8.v", "typing_Prims.pow2" ], 0, - "b50964b8ada8e1f2985ace228b7306b9" + "85cc338d7a758bfc3451f8b4bbab24a1" ], [ "FStar.UInt8.gte_mask", 1, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -601,16 +565,12 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt8.n", "equation_FStar.UInt8.n_minus_one", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.n_minus_one", "equation_FStar.UInt8.v", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.n", - "function_token_typing_FStar.UInt8.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", @@ -631,248 +591,234 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.logor_vec", "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.v" + "typing_FStar.UInt8.n_minus_one", "typing_FStar.UInt8.v" ], 0, - "43c8778956111317350f22b5f02743e6" + "0f8171ea598fde8f5a391cf4e258da21" ], [ "FStar.UInt8.uint_to_t", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f2cc1a994ceae0a8af7d9e39b539593e" + "ce81b59b541300d62143e4f2101e5686" ], [ "FStar.UInt8.add_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4cb22a598bbaead2e3d4d398d2386759" + "439d0094ea153e87dac099bd714d05cd" ], [ "FStar.UInt8.sub_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1e8c07c3b63e32756ab5b664516dfbf2" + "de9e45949149c889262d2c6f82f122cc" ], [ "FStar.UInt8.mul_mod", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "09cb4256cf9b107ba1d54745968b53d0" + "ea06f9c8cd0989aa66b1ee2c5b9d26cf" ], [ "FStar.UInt8.mul_div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "665c721c004cad84190bb73a01bb00ec" + "e185c02ee13205086a57a6095859d395" ], [ "FStar.UInt8.div", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b017d88a9326a22c382853b0ed63870f" + "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747" ], 0, - "27bde636e5224d265f4506782d00eec5" + "0bc941f74ae542fca032e959e7cfe6a2" ], [ "FStar.UInt8.rem", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b017d88a9326a22c382853b0ed63870f" + "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747" ], 0, - "dfc7d2e9189e5646fe9a6a28bc827305" + "ca4e07b485a2e23b668999a2c9ec4aa7" ], [ "FStar.UInt8.logand", 2, - 2, - 1, + 0, + 0, [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "71ca142b9ea34b6874a6dcee3a2319d6" + "ad61e1099ecccd2654de0e143ebb7206" ], [ "FStar.UInt8.shift_right", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "2f0e287378ab4f3c02fa2b88f18cbe94" + "12027e790edf798fe26d05b89a36f94f" ], [ "FStar.UInt8.shift_left", 2, - 2, - 1, + 0, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "fdd4e9f84c522e4317a2be26450ea97e" + "45d42bfb6dbf8893cdb01f4baf507f67" ], [ "FStar.UInt8.minus", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "4a126554a81e0318242c3260894777f7" + "c98813999ffa2e33ee5713846fae7602" ], [ "FStar.UInt8.n_minus_one", 2, - 2, - 1, + 0, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "5a0285aef293d6aec5f3b1c7f92cdd08" + "cd9b12b6bbf26452466f9116a618e926" ], [ "FStar.UInt8.eq_mask", 2, 1, - 2, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", + "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", @@ -884,32 +830,32 @@ "equation_FStar.BitVector.shift_right_vec", "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_FStar.UInt32.n", - "equation_FStar.UInt8.minus", "equation_FStar.UInt8.n", - "equation_FStar.UInt8.n_minus_one", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", + "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", + "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", + "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", + "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", + "equation_FStar.UInt8.minus", "equation_FStar.UInt8.n_minus_one", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", + "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.n", - "function_token_typing_FStar.UInt8.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", + "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.lognot_definition", "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "lemma_FStar.UInt8.uv_inv", + "lemma_FStar.UInt.zero_to_vec_lemma", "lemma_FStar.UInt32.vu_inv", + "lemma_FStar.UInt8.uv_inv", "lemma_FStar.UInt8.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", "primitive_Prims.op_Equality", @@ -917,52 +863,55 @@ "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2eb9e74c99165870eb01e3cebb8052d2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_7a7f7ce5ac4471556c899fcc0aee1d74", - "refinement_interpretation_Tm_refine_9d5323334ab7bbf0058d32c6a1a58b64", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_60aad1143b201ec1328875c4bde8f1c7", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_89db1ed82b9e858c7009b223abadce75", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", + "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "typing_FStar.BitVector.logxor_vec", "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.max_int", "typing_FStar.UInt.min_int", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.add_mod", "typing_FStar.UInt8.lognot", - "typing_FStar.UInt8.minus", "typing_FStar.UInt8.v" + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", + "typing_FStar.UInt.max_int", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt32.v", "typing_FStar.UInt8.add_mod", + "typing_FStar.UInt8.lognot", "typing_FStar.UInt8.logxor", + "typing_FStar.UInt8.minus", "typing_FStar.UInt8.n_minus_one", + "typing_FStar.UInt8.uint_to_t", "typing_FStar.UInt8.v" ], 0, - "93b6bc85ba8f6688fcc5d921d45a56da" + "3a6fd1dbba354fb035555bcc653ed51c" ], [ "FStar.UInt8.eq_mask", 3, 1, - 1, + 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "53b0d1fc61eb875bd0877b2bed2f4807" + "38243d4881961eaed51fee7469b42e2b" ], [ "FStar.UInt8.gte_mask", 2, 1, - 1, + 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", @@ -984,20 +933,17 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt8.n", "equation_FStar.UInt8.n_minus_one", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.n_minus_one", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.n", - "function_token_typing_FStar.UInt8.n_minus_one", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.bool", "int_inversion", "int_typing", "lemma_FStar.BitVector.logor_vec_definition", "lemma_FStar.BitVector.logxor_vec_definition", "lemma_FStar.BitVector.shift_right_vec_lemma_2", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -1014,28 +960,29 @@ "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ddf0757b7b57c93f9731d2df235a714c", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", + "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.BitVector.shift_right_vec", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", - "typing_FStar.UInt.max_int", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", + "typing_FStar.UInt.max_int", "typing_FStar.UInt.to_vec", + "typing_FStar.UInt32.v", "typing_FStar.UInt8.n_minus_one", "typing_FStar.UInt8.v" ], 0, - "fbc6a844d67fafe03ee62e92e3d70732" + "d3fba47464f96aa3d65a69b608b5584e" ], [ "FStar.UInt8.op_Plus_Percent_Hat", @@ -1045,11 +992,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "44883484f00652ceac86df3cc9ff959c" + "60701f624f7b2e3c639688dc19c028ba" ], [ "FStar.UInt8.op_Subtraction_Percent_Hat", @@ -1059,11 +1006,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e4ec866e29f843f79227237d5857e1e1" + "97c285254d70fddf7eb533109dcadda5" ], [ "FStar.UInt8.op_Star_Percent_Hat", @@ -1073,11 +1020,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "db9de6ca871bd8c50b875558d471fbee" + "22951cfa6c252fc2bae4c6b1a88a186f" ], [ "FStar.UInt8.op_Star_Slash_Hat", @@ -1087,11 +1034,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c36601722662a58044874931c68dae5f" + "0ca2afef15195deac869d509861f628b" ], [ "FStar.UInt8.op_Slash_Hat", @@ -1100,10 +1047,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b017d88a9326a22c382853b0ed63870f" + "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747" ], 0, - "9e271b5c11c3527a11838e4158e82add" + "e8a1f459ca6885142483f9200501634e" ], [ "FStar.UInt8.op_Percent_Hat", @@ -1111,17 +1058,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b017d88a9326a22c382853b0ed63870f" + "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747" ], 0, - "5a14e61347b33370692531b2a60144fc" + "bff34327dee59ed769f4f4a27384a8a2" ], [ "FStar.UInt8.op_Amp_Hat", @@ -1131,11 +1075,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8892c82c646bca2c6c27065e6be491c3" + "0b1e0b74dd67077ab32a4c7513d210a4" ], [ "FStar.UInt8.op_Less_Less_Hat", @@ -1143,22 +1087,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "f7ae0e71413e5c16b8f46aaea2a7a3b4" + "69d92bcfff9dad4e4586bdc1a62c539b" ], [ "FStar.UInt8.op_Greater_Greater_Hat", @@ -1166,22 +1107,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "a8b22750c8c148e71e010bed9a16006e" + "7df8b829f00a4030b96089823932b1c4" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.UIntN.fstp b/ulib/FStar.UIntN.fstp index 2122e917e23..2b0c1a9d920 100644 --- a/ulib/FStar.UIntN.fstp +++ b/ulib/FStar.UIntN.fstp @@ -1,7 +1,9 @@ open FStar.UInt open FStar.Mul -(* NOTE: anything that you fix/update here should be reflected in [FStar.IntN.fstp], which is mostly +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly * a copy-paste of this module. *) (* Except, as compared to [FStar.IntN.fstp], here: @@ -165,7 +167,7 @@ let minus (a:t) = add_mod (lognot a) (uint_to_t 1) inline_for_extraction let n_minus_one = UInt32.uint_to_t (n - 1) -#set-options "--z3rlimit 20 --initial_fuel 1 --max_fuel 1" +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" // With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b let eq_mask (a:t) (b:t) : Pure t diff --git a/ulib/FStar.Universe.fst b/ulib/FStar.Universe.fst index d128a10e7f1..c7d46b89d56 100644 --- a/ulib/FStar.Universe.fst +++ b/ulib/FStar.Universe.fst @@ -20,7 +20,7 @@ module FStar.Universe * universe. The two functions [raise_val] and [dowgrade_val] allow to coerce * * from [a] to [raise_t a] and back. **) -noeq type raise0 (a : Type u#a) : Type u#(max a (b + 1)) = +noeq type raise0 (a : Type u#a) : Type u#(max a b) = | Ret : a -> raise0 a let raise_t a = raise0 a diff --git a/ulib/FStar.Universe.fst.hints b/ulib/FStar.Universe.fst.hints index a13d67a10e9..c17208f3dc9 100644 --- a/ulib/FStar.Universe.fst.hints +++ b/ulib/FStar.Universe.fst.hints @@ -1,5 +1,5 @@ [ - "b¬â\u0000\u0017o²\\šœ?_¿Ã\u000f", + "•s%¼\u000b“\u0004«¼À˜H®\u0013\u0012€", [ [ "FStar.Universe.downgrade_val_raise_val", @@ -12,7 +12,7 @@ "projection_inverse_FStar.Universe.Ret__0" ], 0, - "48956c724c49a4ee4c1c25811e162e9b" + "4a26cac9f3b7dc250b69355634b97db8" ], [ "FStar.Universe.raise_val_downgrade_val", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_FStar.Universe.raise0" ], 0, - "5f54792311372fc7498979f592e761f3" + "1247eefe3e1d223c12950a392174f785" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Universe.fsti b/ulib/FStar.Universe.fsti index e767c07925e..e691ac3b6bf 100644 --- a/ulib/FStar.Universe.fsti +++ b/ulib/FStar.Universe.fsti @@ -21,8 +21,8 @@ module FStar.Universe * from [a] to [raise_t a] and back. **) -(** [raise_t a] is an isomorphic copy of [a] (living in universe 'ua) in universe ['ub + 1] **) -val raise_t : Type u#a -> Type u#(max a (b + 1)) +(** [raise_t a] is an isomorphic copy of [a] (living in universe 'ua) in universe [max 'ua 'ub] **) +val raise_t : Type u#a -> Type u#(max a b) (** [raise_val x] injects a value [x] of type [a] to [raise_t a] **) val raise_val : #a:Type u#a -> x:a -> raise_t u#a u#b a diff --git a/ulib/FStar.Universe.fsti.hints b/ulib/FStar.Universe.fsti.hints index 7ed73eba52f..d15cb7c9ca8 100644 --- a/ulib/FStar.Universe.fsti.hints +++ b/ulib/FStar.Universe.fsti.hints @@ -1 +1 @@ -[ "ÔFÞO•\u0010B\u00131úÆ*6î„Ý", [] ] \ No newline at end of file +[ "\u001fâzt&Õ«!Qlä¢PJu|", [] ] \ No newline at end of file diff --git a/ulib/FStar.Util.fst.hints b/ulib/FStar.Util.fst.hints index 7a404c8b6ce..1d11161ae40 100644 --- a/ulib/FStar.Util.fst.hints +++ b/ulib/FStar.Util.fst.hints @@ -7,16 +7,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7d551fc9e7db6190d7dadde2224809de" + "7142bf59e8de41e9103c70421adc94f3" ], [ "FStar.Util.op_Plus_Plus_At", @@ -26,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "428094fa50ccbc4ca4c25734b5313bbe" + "866041374af986a91f3f44ab025f08b5" ], [ "FStar.Util.op_Plus_Plus_At", @@ -38,16 +35,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bc3717529712051c5195dc82ac46e1aa" + "d45a5e798ce2ae47be002f02245de02d" ], [ "FStar.Util.op_At_Plus_At", @@ -55,16 +49,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.pos", "function_token_typing_Prims.int", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f2acb89078b2b0b43573474021b1ef0c" + "916e207fe7edb18c6184d542b10855a4" ], [ "FStar.Util.op_At_Plus_At", @@ -74,11 +65,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_f048236b5f8051f83b495ea5eaa6127b", + "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0ddc2a214855a9569325a0ca65133fb3" + "980e0bbebc32acfb67dc89571694119d" ], [ "FStar.Util.op_Plus_Plus_At", @@ -88,11 +79,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c3bec4e779ea82c63a488d1fc4128155" + "e13208a3226bb5517b7e15f4f7cee1ce" ], [ "FStar.Util.op_Plus_Plus_At", @@ -100,16 +91,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ee54d2ed9dad03d8298221fa26257c87" + "a240b95efa233f4db2824cfcf8fa36ec" ], [ "FStar.Util.op_Plus_Plus_At", @@ -117,16 +105,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1f69cecb6e74ee7092cbcef53c4459ad" + "c69826379bd3b9d7edcb1fa96c7b6324" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Vector.Base.fst.hints b/ulib/FStar.Vector.Base.fst.hints index f036b165258..0f19684e757 100644 --- a/ulib/FStar.Vector.Base.fst.hints +++ b/ulib/FStar.Vector.Base.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "0d3a1869783a32d5a3f6ee1367df94af" + "f39d3d20d52677bbd939f175f2b792ec" ], [ "FStar.Vector.Base.raw_length", @@ -16,16 +16,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Vector.Base.raw", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_FStar.Vector.Base.raw", + "equation_Prims.nat", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length" ], 0, - "004b6abf66ad9820c085dd39863e806e" + "2d37d2a05be8e32d8fb09224fe4752b7" ], [ "FStar.Vector.Base.reveal", @@ -35,11 +33,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "40acdfd7a542150c737cb0820ff5fdc6" + "cef307db202b7437e77793d3ce68b36f" ], [ "FStar.Vector.Base.reveal", @@ -48,7 +46,7 @@ 1, [ "@query", "equation_FStar.Vector.Base.raw_length" ], 0, - "14dc9e036fa1fabb3a250b8f595b5d74" + "d447edd648334c8d831ba9ff2dc482bf" ], [ "FStar.Vector.Base.hide", @@ -67,7 +65,7 @@ "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c" ], 0, - "f53dac5d5e6b3836209790ce08ac2db3" + "b19f68715a02489b84c246f7968678f8" ], [ "FStar.Vector.Base.hide", @@ -77,23 +75,21 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length" ], 0, - "f0fe9b0c8cc7d9be76a24e792bb54c96" + "f8fb6de7c42f0f4a7dc658bdbeb53219" ], [ "FStar.Vector.Base.hide_reveal", @@ -101,24 +97,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", "equation_FStar.Vector.Base.raw_length", - "equation_FStar.Vector.Base.reveal", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.Vector.Base.reveal", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "058ad339ad1e13c31983ccc67a61b48d" + "969dd5cff131214a120571ac1ebd33e1" ], [ "FStar.Vector.Base.hide_reveal", @@ -130,7 +124,7 @@ "equation_FStar.Vector.Base.reveal" ], 0, - "763f4a45e4b4d5e2c4ab7b6027754ebb" + "ddbeeb572c0f6f5b8706fd45a5e7d3fe" ], [ "FStar.Vector.Base.reveal_hide", @@ -140,24 +134,22 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length" ], 0, - "0df35696bd12e5369b215bce3125a5b4" + "f4a7b214d34b8551de7d908f58a94aa4" ], [ "FStar.Vector.Base.reveal_hide", @@ -169,7 +161,7 @@ "equation_FStar.Vector.Base.reveal" ], 0, - "a524f28a0ca3b78e2d0fe42ae2211182" + "37975f160980847b709e8a5262a8913d" ], [ "FStar.Vector.Base.extensionality", @@ -184,7 +176,7 @@ "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1" ], 0, - "1f6aabec4255dcad7d6878bd840f41bb" + "71cb33f3b53229486873468aa19ee361" ], [ "FStar.Vector.Base.init", @@ -193,18 +185,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_interpretation_Tm_arrow_320365ceb6468c29e8eba757f3baa574", - "FStar.Vector.Base_interpretation_Tm_arrow_db30e8a7724a2abcb1c3b603b5fba451", + "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", + "FStar.Vector.Base_interpretation_Tm_arrow_e5a3d7375c9aa2fff48080f123d96dc1", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.UInt.size", "lemma_FStar.Seq.Base.lemma_init_len", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_e3f0c33704c67ce3a477f16dfa7afe60" + "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" ], 0, - "6ec0c6c9e355aa0c338f809be20e39fd" + "6d0094c05f41284b72e30f86355cbcdf" ], [ "FStar.Vector.Base.index", @@ -215,14 +206,14 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.Vector.Base.raw", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", + "refinement_interpretation_Tm_refine_3b2869f8a93d7cd993cbce6b027c8bfe", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1" ], 0, - "6ef482b0c318720dfe790c5339ab0282" + "dc8bda92df9047e59e4629d13f7ff3af" ], [ "FStar.Vector.Base.update", @@ -230,26 +221,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.index_t", "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_3b2869f8a93d7cd993cbce6b027c8bfe", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "cb66506af825aac9786016ea464fe6fc" + "00ad1ecebeb7ad68e2709a726f94f9be" ], [ "FStar.Vector.Base.append", @@ -261,7 +249,7 @@ "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" ], 0, - "2246b755c64d39604a7fdcaa7343103f" + "f9682810303a7ec7e45b8059a86fc728" ], [ "FStar.Vector.Base.append", @@ -272,13 +260,13 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", "lemma_FStar.Seq.Base.lemma_len_append", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3", "typing_FStar.UInt32.add" ], 0, - "368838de60e7552306cf74588f19342f" + "1225525fa03d128c73714ff729dbe5ae" ], [ "FStar.Vector.Base.sub", @@ -286,23 +274,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c95b50d26b7b1404a55cf6cad1b4240", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_395f0e44a79635ae9ee799f9bebff6e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "024832a42f519ce76cf18c0170811725" + "4955aad4ba786009de815e8f648eb962" ], [ "FStar.Vector.Base.sub", @@ -310,31 +296,28 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", + "equation_FStar.Vector.Base.raw", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c95b50d26b7b1404a55cf6cad1b4240", - "refinement_interpretation_Tm_refine_5de3ab3d26a280c6f48f12def8891bcf", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_395f0e44a79635ae9ee799f9bebff6e5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_81ce43bb27006d04d5a7a274b857552a", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" ], 0, - "8f026b2d1d73935de021b918f3bbd7d6" + "e04361fcc76f0e39b256667084a7b18e" ], [ "FStar.Vector.Base.reveal_init", @@ -348,7 +331,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "06d3b6e2afa9962a8e4a8012b7dcb2fb" + "1dd6070ea9cce7b19a00cc47800045f1" ], [ "FStar.Vector.Base.reveal_init", @@ -360,7 +343,7 @@ "equation_FStar.Vector.Base.reveal" ], 0, - "6de197bd0330b3935c9497887a5090c9" + "51a000a4d371e3a16a3f752a149e6be7" ], [ "FStar.Vector.Base.reveal_index", @@ -371,15 +354,15 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", + "equation_FStar.Vector.Base.raw", "equation_FStar.Vector.Base.reveal", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", + "refinement_interpretation_Tm_refine_3b2869f8a93d7cd993cbce6b027c8bfe", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1" ], 0, - "f3ecb376d7e9dbb7925f86e559676eb0" + "d18ebe3eefadb9f7d3f6ac3dfd06aa0e" ], [ "FStar.Vector.Base.reveal_index", @@ -391,7 +374,7 @@ "equation_FStar.Vector.Base.reveal" ], 0, - "feb254414240b7509114d58779ee92df" + "175d56a31a1d1707c532ebf80ffd9165" ], [ "FStar.Vector.Base.reveal_update", @@ -402,15 +385,15 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", + "equation_FStar.Vector.Base.raw", "equation_FStar.Vector.Base.reveal", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", + "refinement_interpretation_Tm_refine_3b2869f8a93d7cd993cbce6b027c8bfe", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1" ], 0, - "66bdd1c4c455ba1c07ee17f69f060cfa" + "be89ee54c81445fe3685437ea67b525a" ], [ "FStar.Vector.Base.reveal_update", @@ -422,7 +405,7 @@ "equation_FStar.Vector.Base.update" ], 0, - "efe79f44639084ec875aa6a87265ecaa" + "ed9ecabbe784719f696eb7a43a7644d7" ], [ "FStar.Vector.Base.reveal_append", @@ -434,7 +417,7 @@ "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" ], 0, - "d6eefcaa5e1f52c9a7dc2aee164ba1f3" + "af17b884212b808e00975c0fc746ef81" ], [ "FStar.Vector.Base.reveal_append", @@ -446,7 +429,7 @@ "equation_FStar.Vector.Base.reveal" ], 0, - "698a23a4ca9219bec48df075c26aa353" + "d3c1dd1cd3c49396a1943c16d01c1ab7" ], [ "FStar.Vector.Base.reveal_sub", @@ -454,26 +437,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", - "equation_FStar.Vector.Base.reveal", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.Vector.Base.reveal", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c95b50d26b7b1404a55cf6cad1b4240", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_395f0e44a79635ae9ee799f9bebff6e5", "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "d2f6b6375498a786e6331ae73667adad" + "5e9b725aa6c47241a5941a320473d635" ], [ "FStar.Vector.Base.reveal_sub", @@ -485,7 +465,7 @@ "equation_FStar.Vector.Base.sub" ], 0, - "e465d58072a2041cf61612843692691a" + "7875a690c3643b4065a71b1e7fa544d4" ], [ "FStar.Vector.Base.t_has_eq", @@ -493,18 +473,21 @@ 2, 1, [ - "@query", "assumption_FStar.Seq.Base.seq__uu___haseq", + "@MaxIFuel_assumption", "@query", + "FStar.Vector.Base_interpretation_Tm_arrow_3817929dfa2f35d3b92684d0160c6f7e", + "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", + "assumption_FStar.Seq.Base.seq__uu___haseq", "assumption_FStar.UInt32.t__uu___haseq", "assumption_Prims.dtuple2__uu___haseq", "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", "equation_FStar.Vector.Base.t", "function_token_typing_FStar.UInt32.t", "haseqTm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "interpretation_Tm_abs_d81b207d8ceaf59233785f3582d8c56a", - "typing_Tm_abs_d81b207d8ceaf59233785f3582d8c56a" + "interpretation_Tm_abs_be7ff3293993729ffa5165bc768e0083", + "typing_Tm_abs_be7ff3293993729ffa5165bc768e0083" ], 0, - "0be3691319dbe598e6bf716a15e6debc" + "af97fefbbd1c179bb073f70c654f2303" ], [ "FStar.Vector.Base.length", @@ -518,7 +501,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "bdd7e2d42c753504eac0747f1261a41c" + "a3c567603ab04af9e29696590ed7d344" ], [ "FStar.Vector.Base.as_raw", @@ -531,7 +514,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "0dbb400dc7e3c22fe9fcdb1823c0f8b4" + "f03ddd211aca4d59428ce8af328dfa32" ], [ "FStar.Vector.Base.from_raw", @@ -543,7 +526,7 @@ "equation_FStar.Vector.Base.len_t" ], 0, - "4b4260cd9527a0f7b7f832bc59463a5a" + "51548a829a65a0fb62c1b92692eee32b" ], [ "FStar.Vector.Base.from_raw", @@ -556,7 +539,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "4ae7075d4491e1aeabcb9edefb78d667" + "f2f45e930ec5ba8a1b376aad92d6898c" ], [ "FStar.Vector.Base.as_raw_from_raw", @@ -570,7 +553,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "ac0ff941928934c49cd4d7f3ddce7df6" + "6f8bf058e5b7db4d7b774d38cfaab167" ], [ "FStar.Vector.Base.from_raw_as_raw", @@ -586,7 +569,7 @@ "fuel_guarded_inversion_Prims.dtuple2" ], 0, - "b9d699cc9cc625464c8d5cda1c7b61ad" + "35dfc1a5e30e8f997df056eede460ea2" ], [ "FStar.Vector.Base.op_At_At", @@ -599,7 +582,7 @@ "refinement_interpretation_Tm_refine_4df43e2281e2a2485a619d964c2b3790" ], 0, - "846bc2db119cdaf4e5007f18263fb150" + "0802d2d81e1c98aa4179662c7e9eddde" ], [ "FStar.Vector.Base.slice", @@ -607,25 +590,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.length", "equation_FStar.Vector.Base.t", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_59cb5e1e1191bc978b19d378557b5097", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_33a44f32e1195abdfbca588355c8b009", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.len" ], 0, - "989ab9231f735aea9ea134bf3ae1fc2e" + "076f0d73e9672e8baed59dbce655be80" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Vector.Base.fsti.hints b/ulib/FStar.Vector.Base.fsti.hints index bffca8b882e..ca14a402bd7 100644 --- a/ulib/FStar.Vector.Base.fsti.hints +++ b/ulib/FStar.Vector.Base.fsti.hints @@ -13,7 +13,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e6a5ff3d99e5655678de37f8ee4942bf" + "a22e926aa59f9dbf834573dcb509bedd" ], [ "FStar.Vector.Base.reveal", @@ -23,11 +23,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "688f05bd1d0a9c61703dac78607f5f02" + "731a8f578388d68464905e66172495de" ], [ "FStar.Vector.Base.hide", @@ -46,7 +46,7 @@ "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c" ], 0, - "7d43e3dc68002f9576729928578a18ec" + "c0cb0a4fe49b2028a50a26768b092d67" ], [ "FStar.Vector.Base.hide_reveal", @@ -56,23 +56,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.raw_length", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.Vector.Base.raw_length", "lemma_FStar.UInt32.uv_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.reveal" ], 0, - "1fa15c52f348704d85d4c8a0794ab242" + "262a867a3b171e6eee2082571cb694c7" ], [ "FStar.Vector.Base.reveal_hide", @@ -82,24 +79,22 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length" ], 0, - "8c7d8b8b36013821fe4a237d9c222f69" + "8c471205e28b4dc56f672c1586bc3899" ], [ "FStar.Vector.Base.append", @@ -111,7 +106,7 @@ "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" ], 0, - "bc4cf280703230f9a72ed1dd38ecac34" + "c012b3dc0ab74b463e0b1224262bd18e" ], [ "FStar.Vector.Base.sub", @@ -119,23 +114,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c95b50d26b7b1404a55cf6cad1b4240", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_395f0e44a79635ae9ee799f9bebff6e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "0a4d26413a8b46a920bfdcb85d6c10ba" + "19049d083e86900ba43ab28af0fafa45" ], [ "FStar.Vector.Base.reveal_init", @@ -149,7 +142,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ac46b2b8684afb284f0ab185533b3e2b" + "3aff79f018bf6ec5363629f5e438b6ac" ], [ "FStar.Vector.Base.reveal_index", @@ -160,16 +153,15 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw_length", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", + "refinement_interpretation_Tm_refine_3b2869f8a93d7cd993cbce6b027c8bfe", "typing_FStar.Vector.Base.reveal" ], 0, - "e3a5530a085920272461db3882e938c7" + "29cdf247df4f6f8ee255e96f93f7c5cf" ], [ "FStar.Vector.Base.reveal_update", @@ -180,16 +172,15 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw_length", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", + "refinement_interpretation_Tm_refine_3b2869f8a93d7cd993cbce6b027c8bfe", "typing_FStar.Vector.Base.reveal" ], 0, - "651d6f283ab84f73cd118a959083b8e8" + "c20f595125673765a2e00547debbad00" ], [ "FStar.Vector.Base.reveal_append", @@ -201,7 +192,7 @@ "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" ], 0, - "96b7d74e88e25d4c15cf7aad72c382e2" + "4efc9cc5f930ce9ed736cc6544079642" ], [ "FStar.Vector.Base.reveal_sub", @@ -209,25 +200,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.raw_length", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.Vector.Base.raw_length", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c95b50d26b7b1404a55cf6cad1b4240", "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_395f0e44a79635ae9ee799f9bebff6e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.reveal" ], 0, - "279cd4fc709480ab35f70dba3e4efd51" + "ef5fe598dfb0f045b3098131114979ea" ], [ "FStar.Vector.Base.length", @@ -241,7 +229,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "f6bdb710239c17b6bb19d5dc311f529b" + "3884cedcbdc07539c9a63bb796972b16" ], [ "FStar.Vector.Base.from_raw", @@ -253,7 +241,7 @@ "equation_FStar.Vector.Base.len_t" ], 0, - "83c6ef311924d99c42afe3c814d92bb5" + "4cdbc7f843edc7e0ffbab8754dfb00b9" ], [ "FStar.Vector.Base.as_raw_from_raw", @@ -266,7 +254,7 @@ "typing_FStar.Vector.Base.from_raw" ], 0, - "07611e51a73277802a79b890183636e3" + "6efc0287740e113a7322ec08823b447e" ], [ "FStar.Vector.Base.op_At_At", @@ -279,7 +267,7 @@ "refinement_interpretation_Tm_refine_4df43e2281e2a2485a619d964c2b3790" ], 0, - "39417dbee337887a08143a985c4145ff" + "4b1290699236adf9da1701f3775639e3" ], [ "FStar.Vector.Base.slice", @@ -287,24 +275,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.length", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.Vector.Base.length", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_59cb5e1e1191bc978b19d378557b5097", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.len" + "refinement_interpretation_Tm_refine_33a44f32e1195abdfbca588355c8b009", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "a28e522a85648348d0fa28daf349e772" + "3a512d5edc7107e265cb80fd0715c065" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.Vector.Properties.fst.hints b/ulib/FStar.Vector.Properties.fst.hints index 244ba1c06e1..6132099c1c9 100644 --- a/ulib/FStar.Vector.Properties.fst.hints +++ b/ulib/FStar.Vector.Properties.fst.hints @@ -7,11 +7,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Vector.Base.len_t", - "refinement_interpretation_Tm_refine_24a102650c3561bc6be37068de08feda" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_360204d1d38060369ac87ff9c57690ce" ], 0, - "d88ca9f35645f010d00528e3def89d79" + "dfe82dd3f9c8f63307643c0f86a31c2b" ], [ "FStar.Vector.Properties.append_inj", @@ -32,7 +32,7 @@ "typing_FStar.Vector.Base.reveal" ], 0, - "6bfeb7716803023395a29c0908422759" + "ac99277dc02f8893de1ec7a2a70513f8" ], [ "FStar.Vector.Properties.head", @@ -41,7 +41,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "2ef8c4cbac42573372317809e0dc8d4f" + "9eefd272a1115b37bb1092d1766b6e5f" ], [ "FStar.Vector.Properties.head", @@ -49,22 +49,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.Vector.Base.len_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.Vector.Base.len_t", "int_inversion", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_88c4b3d5bed8d615fad4f160a9fcd227", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_8715536eb0a8e80bef9fd7bf2f517a09", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "f252a3b61a19bd43e096a38386f3838e" + "c3bfd925a9b8328262f2ecdc509ff8c1" ], [ "FStar.Vector.Properties.tail", @@ -73,7 +71,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "69e5be747121d107c14b720c417a1a91" + "1c602cbb04d2d1ecbb5eb5a6a2bab6da" ], [ "FStar.Vector.Properties.tail", @@ -81,23 +79,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_88c4b3d5bed8d615fad4f160a9fcd227", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_8715536eb0a8e80bef9fd7bf2f517a09", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "895c9992ec63e8f789afa51a4fe2234d" + "f9957ea160b5f1a4f2585796c91a20ea" ], [ "FStar.Vector.Properties.head_append", @@ -106,7 +102,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "09eb55c854ba9b1416d226c02252fa99" + "240dab331ecb1a935d4f673cb0732a28" ], [ "FStar.Vector.Properties.head_append", @@ -114,16 +110,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.index_t", "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw_length", "equation_FStar.Vector.Properties.head", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_FStar.Vector.Base.reveal_append", @@ -132,21 +126,21 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_3b2869f8a93d7cd993cbce6b027c8bfe", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_6c5c4c7e0e4dbac3b29e84fd20294eec", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_95c9a4ec79cf2161f9c12818e8948479", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.append", "typing_FStar.Vector.Base.reveal" ], 0, - "7c5049e9a220e5db530ef9c12a2594d9" + "c09b570ea8948957e7e7b0c508781631" ], [ "FStar.Vector.Properties.tail_append", @@ -155,7 +149,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "3ea61616d4fa42c2a7ec5dcd373fdede" + "c4f192e0c7ed68d862b6467319f4b077" ], [ "FStar.Vector.Properties.tail_append", @@ -163,22 +157,15 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_FStar.Vector.Base.len_t", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Seq.Properties.tail", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw_length", "equation_FStar.Vector.Properties.tail", "equation_Prims.nat", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_FStar.Vector.Base.hide_reveal", "lemma_FStar.Vector.Base.reveal_append", "lemma_FStar.Vector.Base.reveal_sub", "primitive_Prims.op_Addition", @@ -186,16 +173,16 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c95b50d26b7b1404a55cf6cad1b4240", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", + "refinement_interpretation_Tm_refine_395f0e44a79635ae9ee799f9bebff6e5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_6c5c4c7e0e4dbac3b29e84fd20294eec", - "refinement_interpretation_Tm_refine_88c4b3d5bed8d615fad4f160a9fcd227", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_8715536eb0a8e80bef9fd7bf2f517a09", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.append", @@ -203,7 +190,7 @@ "typing_FStar.Vector.Properties.tail" ], 0, - "0115a238d863ea8ab74b4bf5ded2fddc" + "8f539ccb50341ce26a4a269e9d4854d2" ], [ "FStar.Vector.Properties.coerce", @@ -211,11 +198,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Vector.Base.len_t", - "refinement_interpretation_Tm_refine_24a102650c3561bc6be37068de08feda" + "@MaxIFuel_assumption", "@query", + "refinement_interpretation_Tm_refine_360204d1d38060369ac87ff9c57690ce" ], 0, - "ce53a91c4ca9f1e55491ff97c8c3b71f" + "0ceef0907a25f37664eb98658f34e813" ], [ "FStar.Vector.Properties.append_inj", @@ -229,7 +216,7 @@ "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" ], 0, - "903c17ddc477658affaa323ef8638827" + "ee8f4b77d4cfe03834060a6beb6c3357" ], [ "FStar.Vector.Properties.head", @@ -238,7 +225,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "00fdf06a0514ac6b1ce2631ae535f259" + "2144c210976f4133a8dd689e63af1457" ], [ "FStar.Vector.Properties.head", @@ -246,22 +233,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.Vector.Base.len_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.Vector.Base.len_t", "int_inversion", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_88c4b3d5bed8d615fad4f160a9fcd227", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_8715536eb0a8e80bef9fd7bf2f517a09", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "88c96fda7e7eaf2016534bcf9b5d707b" + "6ea638f760a3867be4553853b3702fd6" ], [ "FStar.Vector.Properties.tail", @@ -270,7 +255,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "f8908da604a937bafcd42485b4d4f206" + "077c11a78a008f5cfd82b17e72c2bda6" ], [ "FStar.Vector.Properties.tail", @@ -278,23 +263,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_88c4b3d5bed8d615fad4f160a9fcd227", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_8715536eb0a8e80bef9fd7bf2f517a09", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "5b65ad9e6f210c88677fe6de24b3146d" + "8ca66aac1d76fe75d40ae0d53c4501bf" ], [ "FStar.Vector.Properties.head_append", @@ -303,25 +286,23 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.Vector.Base.len_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.Vector.Base.len_t", "int_inversion", "int_typing", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_6c5c4c7e0e4dbac3b29e84fd20294eec", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "ad66bb19f6a8c4517234a5e6c252de43" + "3a0ea8728c32cf9d5f1b7d251ce18413" ], [ "FStar.Vector.Properties.tail_append", @@ -330,27 +311,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.Vector.Base.len_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_FStar.Vector.Base.len_t", "int_inversion", "int_typing", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_6c5c4c7e0e4dbac3b29e84fd20294eec", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" ], 0, - "1c21a264469d8b01bc96c9d562196991" + "96b78420859a232c58d509ba5a63e21a" ] ] ] \ No newline at end of file diff --git a/ulib/FStar.WellFounded.fst.hints b/ulib/FStar.WellFounded.fst.hints index ef48b01d680..90ba199acc8 100644 --- a/ulib/FStar.WellFounded.fst.hints +++ b/ulib/FStar.WellFounded.fst.hints @@ -11,7 +11,7 @@ "subterm_ordering_FStar.WellFounded.AccIntro" ], 0, - "2cb314fd9af047ce90f76f62914b409d" + "54fe6a5253bfcfb6d1a19616e155d7ab" ], [ "FStar.WellFounded.apply", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "55a3db0d4c881cb2a0b1d13a56c6c49c" + "91791abbd1f86d79fea1d50cabfcfb1a" ], [ "FStar.WellFounded.fix_F", @@ -29,14 +29,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_f744f63ab9a82765f30b542dd6ad1ecf_7", + "binder_x_4e982a875db0541c1cbbc9a298d945ea_7", "equality_tok_Prims.LexTop@tok", "equation_FStar.WellFounded.acc_inv", "fuel_guarded_inversion_FStar.WellFounded.acc", "subterm_ordering_FStar.WellFounded.AccIntro" ], 0, - "4906f231305ac5cb137e35b1ca158483" + "65c8e2243911128fe45d5fcae79cdd2f" ], [ "FStar.WellFounded.acc_inv", @@ -48,7 +48,7 @@ "subterm_ordering_FStar.WellFounded.AccIntro" ], 0, - "bf977022fc11478b43e7ee59d34581b8" + "c8ce549b5cde863dd2947d4fe9a76534" ], [ "FStar.WellFounded.apply", @@ -57,7 +57,7 @@ 1, [ "@query" ], 0, - "3d20676cfd1b60584ab29ba7cdf2b755" + "e1450420830f0ed384c2949b103c541b" ], [ "FStar.WellFounded.fix_F", @@ -66,14 +66,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_f744f63ab9a82765f30b542dd6ad1ecf_7", + "binder_x_4e982a875db0541c1cbbc9a298d945ea_7", "equality_tok_Prims.LexTop@tok", "equation_FStar.WellFounded.acc_inv", "fuel_guarded_inversion_FStar.WellFounded.acc", "subterm_ordering_FStar.WellFounded.AccIntro" ], 0, - "1b2108f030b76438a77260c6806370e8" + "2304633d37ff2ba4854f77982231441b" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.Buffer.fst.hints b/ulib/LowStar.Buffer.fst.hints index dbfb5e62bfc..431c5b03c65 100644 --- a/ulib/LowStar.Buffer.fst.hints +++ b/ulib/LowStar.Buffer.fst.hints @@ -9,13 +9,12 @@ [ "@query", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.l_True", - "equation_Prims.logical", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "equation_FStar.Preorder.transitive", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "true_interp" ], 0, - "2ce890524a44a548e03625d65f5f6a3a" + "2d78ed44f477098ae29f60716a98d278" ], [ "LowStar.Buffer.assign_list_t", @@ -23,16 +22,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c572424334d894386d57f438c746010f" + "c321c73cf30f0f95f4e7cccc58bb8625" ], [ "LowStar.Buffer.assign_list", @@ -43,12 +39,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", + "@query", "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", + "disc_equation_Prims.Nil", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", @@ -57,14 +51,12 @@ "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -98,20 +90,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_068fa5b5d02170e93ef82581bf58841e", - "refinement_interpretation_Tm_refine_0e5da13c0417696613b73d7ea53944de", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", + "refinement_interpretation_Tm_refine_16a73f5406ae8e5bfabd433eb2d32722", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c0cfbe9eeebfb6939e2f5016a358bdf1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "true_interp", "typing_FStar.List.Tot.Base.length", "typing_FStar.Monotonic.HyperStack.live_region", @@ -123,12 +114,11 @@ "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "unit_inversion", "unit_typing" ], 0, - "192d011ed73c0009343c5b0e7eb0e23a" + "b894360ea72b7806769a357e911c2654" ], [ "LowStar.Buffer.trivial_preorder", @@ -138,13 +128,12 @@ [ "@query", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.l_True", - "equation_Prims.logical", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "equation_FStar.Preorder.transitive", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "true_interp" ], 0, - "12f39be80d24eed8f9d4a22f3aab8e71" + "089c4d3aaeb06157871cfe5f1cb86908" ], [ "LowStar.Buffer.gsub_inj", @@ -153,26 +142,16 @@ 1, [ "@query" ], 0, - "9193a79012c47b9bd169f1ff7f7eb845" + "593d5151d7d127dc3f641a8377838178" ], [ "LowStar.Buffer.sub", 1, 2, 1, - [ "@query" ], - 0, - "351121bac1e4fc6ba80d87c1fa2f2c1e" - ], - [ - "LowStar.Buffer.sub", - 2, - 2, - 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", @@ -180,45 +159,33 @@ "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0043c8256b860ad5929bfe47a56ffccd", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9c16b402fabedabbd5558ff66b1baf0f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "8630b0756a4a36fbaef033a45dcfc5e5" + "b30fe3fe870141b0a31fb7cf2ff9242b" ], [ "LowStar.Buffer.offset", 1, 2, 1, - [ "@query" ], - 0, - "308cac09b1a73c4a578eb95c2c75dbc4" - ], - [ - "LowStar.Buffer.offset", - 2, - 2, - 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", @@ -227,20 +194,17 @@ "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1980b329721073a1e84d77d203d5b8e6", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cd3d3ec1a45ccbe1aa9cbb7cdd75a79e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", @@ -248,103 +212,55 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "ff76347695333051665dbe3dc98931ae" + "7e944a5d9603f0693691b8c19112d0ca" ], [ "LowStar.Buffer.gcmalloc", 1, 2, 1, - [ "@query" ], - 0, - "a9230f60a332f826525c134a2eb73c75" - ], - [ - "LowStar.Buffer.gcmalloc", - 2, - 2, - 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55" + "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8" ], 0, - "eb1b48b5c2f2181b3ef9218a6611b245" + "5c6ad143b13b5c11a92579a76e212e89" ], [ "LowStar.Buffer.malloc", 1, 2, 1, - [ "@query" ], - 0, - "4f6c91f2402875cdcd0ec80c969a3d0d" - ], - [ - "LowStar.Buffer.malloc", - 2, - 2, - 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55" + "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8" ], 0, - "e57c40e835eeba1c16d8b84aa1328be8" + "215ad30d11e15098531ea4e9f322c24e" ], [ "LowStar.Buffer.alloca", 1, 2, 1, - [ "@query" ], - 0, - "bf364c379069a7cf3f2c71339a0db9e1" - ], - [ - "LowStar.Buffer.alloca", - 2, - 2, - 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9b063033f9f8b075fbdcde91a96a63d9" + "refinement_interpretation_Tm_refine_f91c442f4e872efb5dc260d2bd566195" ], 0, - "d355ea870242b7a3573b5f8e979d8a46" - ], - [ - "LowStar.Buffer.alloca_of_list", - 1, - 2, - 1, - [ "@query" ], - 0, - "14af147c6abb8fabd76cfa33620f705a" - ], - [ - "LowStar.Buffer.gcmalloc_of_list", - 1, - 2, - 1, - [ "@query" ], - 0, - "1f169ff90857639cbc8242ca3e0b6cbc" + "01bf74d6edf90921adf123d67d8c7bda" ], [ "LowStar.Buffer.assign_list_t", @@ -352,16 +268,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "7c2d1a1247e15dc61647d72cb458ac8a" + "54e4d2e9bfffaa3c25aac95fbd07945a" ], [ "LowStar.Buffer.assign_list", @@ -372,29 +285,24 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", + "@query", "b2t_def", "bool_inversion", "bool_typing", + "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.cons", + "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -428,19 +336,19 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_068fa5b5d02170e93ef82581bf58841e", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", + "refinement_interpretation_Tm_refine_16a73f5406ae8e5bfabd433eb2d32722", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c0cfbe9eeebfb6939e2f5016a358bdf1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "true_interp", "typing_FStar.List.Tot.Base.length", "typing_FStar.Monotonic.HyperStack.live_region", @@ -457,7 +365,7 @@ "unit_typing" ], 0, - "90ed7c464d5dc82bb74019e68f1a94b7" + "3b07ea5f9ea47e81c38ac0806c631606" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.BufferCompat.fst.hints b/ulib/LowStar.BufferCompat.fst.hints index f1c1c318d4c..d44e0cad1d1 100644 --- a/ulib/LowStar.BufferCompat.fst.hints +++ b/ulib/LowStar.BufferCompat.fst.hints @@ -7,14 +7,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", "refinement_interpretation_Tm_refine_c91c357d8b481b71bcfe70f0ece722d9" ], 0, - "5d113b0add5d241fd633e945f6fa9547" + "931f4a5f8f44e3cba63aa45ec57003a4" ], [ "LowStar.BufferCompat.rcreate_mm", @@ -22,14 +20,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "refinement_interpretation_Tm_refine_2c83c7bb607ce0f4ff3dd6d04eabda6f", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55" + "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8" ], 0, - "d2139a687e61a1b83084627f2b49e5b8" + "bef2021d78843f5ec74f38d9f16c392c" ], [ "LowStar.BufferCompat.create", @@ -37,14 +33,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "refinement_interpretation_Tm_refine_485808b6c08b8fa1bad00cc3070d942a", - "refinement_interpretation_Tm_refine_9b063033f9f8b075fbdcde91a96a63d9" + "refinement_interpretation_Tm_refine_f91c442f4e872efb5dc260d2bd566195" ], 0, - "c01a3b98076e470d195450ecf42be274" + "295e32dc5db997e8705441adff7a3d62" ], [ "LowStar.BufferCompat.createL", @@ -52,19 +46,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_bae49c28c457d8a041a1d2652d66bb1c", + "refinement_interpretation_Tm_refine_9807da2af966dc3ead6e40917ab2d265", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", "refinement_interpretation_Tm_refine_fdd6ab907516d1d3b973a4a3f9b40794", "typing_FStar.Seq.Properties.seq_of_list", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "9b2657bcfccdeb6ff00b1b0773e19bcc" + "ec27fc662a27b758a217ab00ab6c7adc" ], [ "LowStar.BufferCompat.rcreate", @@ -73,11 +65,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55" + "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8" ], 0, - "15db687ad4e5f984f59640c6af72c870" + "734119a4e879423fdd0859c046c5eacc" ], [ "LowStar.BufferCompat.rcreate_mm", @@ -86,11 +77,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55" + "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8" ], 0, - "dbf534b0aca109d8239fea917deac1a1" + "f0f2141a34b9cfad1c0614a9b2846c84" ], [ "LowStar.BufferCompat.create", @@ -99,11 +89,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_9b063033f9f8b075fbdcde91a96a63d9" + "refinement_interpretation_Tm_refine_f91c442f4e872efb5dc260d2bd566195" ], 0, - "024cbcea878dcb6c4615ce60625dce3c" + "d34f5dfe7ae1225e22e88822f0eff831" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.BufferOps.fst.hints b/ulib/LowStar.BufferOps.fst.hints index 6fdf86233ce..e32db69c6ff 100644 --- a/ulib/LowStar.BufferOps.fst.hints +++ b/ulib/LowStar.BufferOps.fst.hints @@ -8,15 +8,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.mpointer", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7", - "refinement_interpretation_Tm_refine_f7b41f65f4768c15fc19c11e0279acb3" + "refinement_interpretation_Tm_refine_47188798f74eff613c4825c6754a4c5f" ], 0, - "eb5d66171f5513cc835d9891a8a90897" + "058d999511443a8ea1621b2321319340" ], [ "LowStar.BufferOps.op_Star_Equals", @@ -25,10 +24,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Monotonic.Buffer.mpointer", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -36,18 +32,18 @@ "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_1c1a4ed9b5f25169f3643dad8a32da42", "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7", - "refinement_interpretation_Tm_refine_498a07e7f651117430dca9f91f7b4b70", - "refinement_interpretation_Tm_refine_54facfb48519a83492f81d335a4fa95e", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c761405cd8dbc2e38d2b21a3732d0a5c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.create", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "2304da330855789441a1743b240fd521" + "146cc3bfd862f3999fbb84f8aaf31502" ], [ "LowStar.BufferOps.op_Array_Access", @@ -56,16 +52,15 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5bc2d3af8b6b6b89753429fc786efe42" + "refinement_interpretation_Tm_refine_730abd66c63216085959087a5b94de9e" ], 0, - "f0159d2f4c4ff722fb4b11ba31ee7852" + "d84a68785a83768dd5ec53c82e38802e" ], [ "LowStar.BufferOps.op_Array_Assignment", @@ -74,16 +69,15 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f50e31f4b48141b4b7958abcf67da20e" + "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1" ], 0, - "ff85e4a84619cdf5775df893f036d7f3" + "37310da20dbf27b1decfbbd02c9bc8e4" ], [ "LowStar.BufferOps.op_Bang_Star", @@ -97,7 +91,7 @@ "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" ], 0, - "dd120ecec56391f397e02f7627d5e15f" + "cb5618be76cb3b39f63ec33eeb886031" ], [ "LowStar.BufferOps.op_Star_Equals", @@ -112,7 +106,7 @@ "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" ], 0, - "f228da732e08a99baf302b3546019521" + "ee2050e42e92f0d867daf96e017c9fac" ], [ "LowStar.BufferOps.blit", @@ -120,10 +114,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", @@ -132,9 +124,8 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", @@ -143,12 +134,12 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_903526b87ec5656e80115d0c629779d9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ff76e6a0441a7febb4383f344e810c76", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b3a10eec9430ce76d54af2274814c12d", + "refinement_interpretation_Tm_refine_b5a91607eec33580227fb984e64e5622", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -158,7 +149,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "43142cac93dff2fb81e1668ec7256264" + "c4d65d39938a9f9a16699f0130d31d10" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.BufferView.Down.fst b/ulib/LowStar.BufferView.Down.fst index 10377bd8b7d..288c79155bf 100644 --- a/ulib/LowStar.BufferView.Down.fst +++ b/ulib/LowStar.BufferView.Down.fst @@ -27,7 +27,7 @@ module Math=FStar.Math.Lemmas #set-options "--initial_fuel 1 --max_fuel 1" noeq -type buffer_view (src:Type0) (rrel rel:B.srel src) (dest:Type u#b) : Type0 = +type buffer_view (src:Type0) (rrel rel:B.srel src) (dest:Type u#b) : Type u#b = | BufferView: buf:B.mbuffer src rrel rel -> v:view src dest -> buffer_view src rrel rel dest @@ -106,7 +106,7 @@ let mods (#b: _) (h h':HS.mem) = B.modifies (B.loc_buffer (as_buffer vb)) h h' -let upd' (#b: _) +val upd' (#b: _) (h:HS.mem) (vb:buffer b{live h vb}) (i:nat{i < length vb}) @@ -126,7 +126,9 @@ let upd' (#b: _) live h' vb /\ FStar.HyperStack.ST.equal_domains h h' }) - = indexing vb i; +#push-options "--z3rlimit_factor 8" +let upd' #b h vb i x = + indexing vb i; let as = B.as_seq h (as_buffer vb) in let v = get_view vb in let n = View?.n v in @@ -139,6 +141,7 @@ let upd' (#b: _) B.g_upd_seq_as_seq (as_buffer vb) (Seq.upd as a_i a') h; lemma_g_upd_with_same_seq (as_buffer vb) h (Seq.upd as a_i a'); mem +#pop-options let upd = upd' let sel_upd #b vb i j x h = () @@ -249,11 +252,6 @@ let rec as_seq'_sel' #a #b v as i = sel'_tail v as i end #reset-options -#set-options "--smtencoding.elim_box true" -#set-options "--smtencoding.l_arith_repr native" -#set-options "--smtencoding.nl_arith_repr wrapped" -#set-options "--z3rlimit_factor 4" //just being conservative -#set-options "--initial_fuel 1 --max_fuel 1 --max_ifuel 0" let as_seq_sel #b h vb i = indexing vb i; @@ -277,6 +275,7 @@ val as_seq'_slice (#a #b: _) Seq.slice (as_seq' as v) (n * (i /n)) (n * (i / n) + n))) (decreases (Seq.length as)) +#push-options "--z3rlimit 100" let rec as_seq'_slice #a #b v as i = let n = View?.n v in if Seq.length as = 0 then () @@ -298,6 +297,7 @@ let rec as_seq'_slice #a #b v as i = Seq.slice (as_seq' as v) (n * (j / n) + n) (n * (j / n) + n + n)); FStar.Math.Lemmas.add_div_mod_1 j n; assert (j / n == i / n - 1) +#pop-options let put_sel #b h vb i = indexing vb i; @@ -349,6 +349,7 @@ let rec upd_seq'_spec (#a #b: _) (v:view a b) (s:Seq.seq b{Seq.length s % View?. assert (as `Seq.equal` Seq.cons (View?.put v pfx) as'); as_seq'_cons v (View?.put v pfx) as' +#set-options "--z3rlimit 20" let upd_seq_spec (#b: _) (h:HS.mem) (vb:buffer b{live h vb}) (s:Seq.seq b{Seq.length s = length vb}) = let h' = upd_seq h vb s in Math.cancel_mul_mod (B.length (as_buffer vb)) (View?.n (get_view vb)); diff --git a/ulib/LowStar.BufferView.Down.fst.hints b/ulib/LowStar.BufferView.Down.fst.hints index 614a2d055af..df02920109f 100644 --- a/ulib/LowStar.BufferView.Down.fst.hints +++ b/ulib/LowStar.BufferView.Down.fst.hints @@ -1,5 +1,5 @@ [ - "\u0013åd꼑\u0018øF¯ð\u0010Ø\u0013ÓF", + "0(ý“–&ZpQ\f\u000fçí5œ³", [ [ "LowStar.BufferView.Down.view", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "1d125e9279d7fbc83b8a854b4ebc30a2" + "db7ef0dc5a018b45517001a572d51026" ], [ "LowStar.BufferView.Down.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "8b77aba453a280c38efd42739e07d63f" + "6b52ce4ddc9a7e8244e72293560ff651" ], [ "LowStar.BufferView.Down.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.Down.View_n" ], 0, - "0b375fd27f9198639eb0851a134af53b" + "e1ceef82d11530efc632592c4bc7b120" ], [ "LowStar.BufferView.Down.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "b3d6f5ea13a44c91831ae82610f80634" + "f397c778e1b141efede58430a7de3a35" ], [ "LowStar.BufferView.Down.__proj__View__item__put", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_f9ebca0c0880771b4cd34415a8fab184" ], 0, - "2d506d6efc757ac24bcb9969327cc16d" + "6c113b657b3447efe6869e836e3d0fd2" ], [ "LowStar.BufferView.Down.as_buffer", @@ -78,7 +78,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__3" ], 0, - "a79a03782b41ae2edb3cb53bd31e8117" + "ddac7e7ce52ca7b836bf16c846b2a96f" ], [ "LowStar.BufferView.Down.as_buffer_mk_buffer_view", @@ -87,7 +87,7 @@ 1, [ "@query" ], 0, - "d70c200343aa6bc02bb84bc77190e391" + "68506a179aa0f403d99a59857c92fcb9" ], [ "LowStar.BufferView.Down.as_buffer_mk_buffer_view", @@ -109,7 +109,7 @@ "projection_inverse_LowStar.BufferView.Down.BufferView_buf" ], 0, - "cbc8ac012c10501f5fad63ec94d21b73" + "e996d99a765c4f724b3236ed277f8ce4" ], [ "LowStar.BufferView.Down.get_view", @@ -121,7 +121,7 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__1" ], 0, - "8a925b9d5830a3391e6adea282dfee89" + "c65554cb7e85fa4f78f8d8df0b103e23" ], [ "LowStar.BufferView.Down.get_view_mk_buffer_view", @@ -130,7 +130,7 @@ 1, [ "@query" ], 0, - "e0f3abfe925f50e16745d19f788cff15" + "dee2a8194713db5a94ee724383b25234" ], [ "LowStar.BufferView.Down.get_view_mk_buffer_view", @@ -148,7 +148,7 @@ "projection_inverse_LowStar.BufferView.Down.BufferView_v" ], 0, - "699ba71b36c0731ac323422a606447f3" + "b6a301613c108ac0099638a022abe313" ], [ "LowStar.BufferView.Down.length", @@ -157,7 +157,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.Down.View", "equation_LowStar.BufferView.Down.as_buffer_t", @@ -167,16 +166,15 @@ "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.logical", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", @@ -185,7 +183,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "52b0b1ef98a5b1dc54ff6fe6b8ddbd15" + "9e1f3bb15378df204c4b2aaff26daa20" ], [ "LowStar.BufferView.Down.length_eq", @@ -194,7 +192,7 @@ 1, [ "@query", "equation_LowStar.BufferView.Down.length" ], 0, - "efe99f97805eee2c941271d231823a42" + "2169aef41dca5fa05557e593d5923d9b" ], [ "LowStar.BufferView.Down.indexing'", @@ -202,20 +200,16 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "proj_equation_LowStar.BufferView.Down.View_n", + "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8adb3d785779da53069b5b5bd2c8af06", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_9494279a6ca120b378dad073f7223f09", "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "e52aab97db60a7e16beb6088aa32a6d7" + "fe8998eb9689d706ba16fe470216f827" ], [ "LowStar.BufferView.Down.indexing", @@ -235,7 +229,7 @@ "typing_LowStar.BufferView.Down.get_view" ], 0, - "950578006dd14a3d09eb96ac39e3e507" + "3ff48a576963b17aa81a4d8c9b413a2c" ], [ "LowStar.BufferView.Down.indexing", @@ -249,7 +243,7 @@ "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513" ], 0, - "024207666db2fd5d7fed7e67461bb5b9" + "09682b7da075b605afa50d460b0f0acb" ], [ "LowStar.BufferView.Down.sel'", @@ -262,7 +256,7 @@ "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "a9e8255cf7fb60619ac84b763177b3f5" + "3b4417ef4f1b85d4ea236dd3f10e8ed0" ], [ "LowStar.BufferView.Down.sel'", @@ -271,21 +265,19 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.lseq", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4ccc0d5559b4223f14ce555a9c7c5471", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_e500472406594110c1e64a17065e4a47", "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "80c30a60370e91531838164909d1b624" + "3dd063c7ce1fcc4333d20afdd140e6fe" ], [ "LowStar.BufferView.Down.sel", @@ -293,46 +285,33 @@ 1, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxIFuel_assumption", "@query", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_LowStar.BufferView.Down.as_buffer", "equation_LowStar.BufferView.Down.as_buffer_t", "equation_LowStar.BufferView.Down.buffer", "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.length", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", + "equation_LowStar.BufferView.Down.length", "equation_Prims.logical", + "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", "int_typing", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", - "lemma_FStar.UInt.pow2_values", + "function_token_typing_Prims.logical", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.Down.as_buffer", "typing_LowStar.BufferView.Down.get_view" ], 0, - "1233e2c0be9161ed2300722ba9d4dc0a" + "04e7c30812202157555366cbb9b025f1" ], [ "LowStar.BufferView.Down.lemma_g_upd_with_same_seq", @@ -341,31 +320,73 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "lemma_FStar.Seq.Base.lemma_eq_elim", "refinement_interpretation_Tm_refine_69de4b02c5b9a7e64327517f97194e89", - "refinement_interpretation_Tm_refine_98e67f2232917955d7f07a5ab0244110", + "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "ab5f3988597757385dd8850d4ac4fd32" + "616a69583f35e82161e0d2d9b3b59a3a" ], [ "LowStar.BufferView.Down.upd'", 1, 1, - 2, + 1, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "LowStar.BufferView.Down_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "b2t_def", "data_elim_FStar.Pervasives.Mkdtuple4", + "data_elim_LowStar.BufferView.Down.View", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.BufferView.Down.as_buffer", + "equation_LowStar.BufferView.Down.as_buffer_t", + "equation_LowStar.BufferView.Down.buffer", + "equation_LowStar.BufferView.Down.get_view", + "equation_LowStar.BufferView.Down.length", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_Prims.pow2.fuel_instrumented", + "fuel_guarded_inversion_FStar.Pervasives.dtuple4", + "fuel_guarded_inversion_LowStar.BufferView.Down.view", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", + "lemma_FStar.UInt.pow2_values", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Pervasives.Mkdtuple4__1", + "proj_equation_FStar.Pervasives.Mkdtuple4__2", + "proj_equation_FStar.Pervasives.Mkdtuple4__3", + "proj_equation_LowStar.BufferView.Down.View_n", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v", "typing_LowStar.BufferView.Down.as_buffer", + "typing_LowStar.BufferView.Down.get_view", + "typing_LowStar.Monotonic.Buffer.len" + ], + 0, + "94ff5e38d909458ade6d15b0b9b8c77d" + ], + [ + "LowStar.BufferView.Down.upd'", + 2, + 1, + 1, + [ + "@MaxIFuel_assumption", "@query", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", + "equation_FStar.Seq.Properties.lseq", "equation_LowStar.BufferView.Down.as_buffer", "equation_LowStar.BufferView.Down.as_buffer_t", "equation_LowStar.BufferView.Down.buffer", @@ -376,23 +397,19 @@ "equation_LowStar.BufferView.Down.sel", "equation_LowStar.BufferView.Down.sel_", "equation_LowStar.Monotonic.Buffer.g_upd", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "function_token_typing_Prims.logical", "int_inversion", "int_typing", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", "proj_equation_FStar.Pervasives.Mkdtuple4__3", @@ -400,24 +417,26 @@ "proj_equation_LowStar.BufferView.Down.View_n", "proj_equation_LowStar.BufferView.Down.View_put", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_1cc42f6a6831d60d771af901e94fcb52", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513", - "refinement_interpretation_Tm_refine_8d79b8d669111827fef8f2ec384ff8dc", + "refinement_interpretation_Tm_refine_31dea76430ad627aa6261a45ffd44149", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cfa0cfbf6519718624ff1748f9261c59", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f9ebca0c0880771b4cd34415a8fab184", + "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", "token_correspondence_LowStar.BufferView.Down.__proj__View__item__put", + "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", + "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", + "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", "typing_LowStar.BufferView.Down.as_buffer", "typing_LowStar.BufferView.Down.get_view" ], 0, - "adada7f904f14ff5789b87df8b41a360" + "cd6c29a5d6c016122bed22cce0f3ea82" ], [ "LowStar.BufferView.Down.sel_upd", @@ -425,18 +444,14 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_76977d0bd1be4c99829570b2957fd3e3" + "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1" ], 0, - "9998658fa92c5b7952aa92aebeaa35c2" + "ae0d89b1881a06f189ae540aea2c96e0" ], [ "LowStar.BufferView.Down.sel_upd", @@ -444,8 +459,7 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -455,18 +469,16 @@ "equation_LowStar.BufferView.Down.upd", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Equality", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513", - "refinement_interpretation_Tm_refine_76977d0bd1be4c99829570b2957fd3e3", - "refinement_interpretation_Tm_refine_833bb35371c77028d3cfce0315607a6d", - "refinement_interpretation_Tm_refine_8d79b8d669111827fef8f2ec384ff8dc", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", + "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1", + "refinement_interpretation_Tm_refine_c7958bc739d32f60a8ad0c906f586a0c", + "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -474,7 +486,7 @@ "typing_LowStar.BufferView.Down.upd_" ], 0, - "5ecf0a1fe89f0d1e4effd751d13f297c" + "504dc15622125ef2edc0aa9ad11e38da" ], [ "LowStar.BufferView.Down.lemma_upd_with_sel", @@ -483,11 +495,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_76977d0bd1be4c99829570b2957fd3e3" + "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1" ], 0, - "89db5f00cf5dbec5c6e31f06c742ddaa" + "fad9cf1483a8befdc7c9d2dceb0e9cca" ], [ "LowStar.BufferView.Down.lemma_upd_with_sel", @@ -496,27 +507,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.BufferView.Down.buffer", "equation_LowStar.BufferView.Down.get_view", "equation_LowStar.BufferView.Down.sel", "equation_LowStar.BufferView.Down.upd", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513", - "refinement_interpretation_Tm_refine_76977d0bd1be4c99829570b2957fd3e3", - "refinement_interpretation_Tm_refine_833bb35371c77028d3cfce0315607a6d", - "refinement_interpretation_Tm_refine_8d79b8d669111827fef8f2ec384ff8dc", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", + "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1", + "refinement_interpretation_Tm_refine_c7958bc739d32f60a8ad0c906f586a0c", + "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", "typing_LowStar.BufferView.Down.get_view", "typing_LowStar.BufferView.Down.sel", "typing_LowStar.BufferView.Down.upd_" ], 0, - "ddb92b47efb3a746ba81465b93c5fe2a" + "498c4218341a0487d32689675ebf93be" ], [ "LowStar.BufferView.Down.upd_modifies", @@ -525,25 +533,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.BufferView.Down.buffer", "equation_LowStar.BufferView.Down.get_view", "equation_LowStar.BufferView.Down.mods", "equation_LowStar.BufferView.Down.upd", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513", - "refinement_interpretation_Tm_refine_833bb35371c77028d3cfce0315607a6d", - "refinement_interpretation_Tm_refine_8d79b8d669111827fef8f2ec384ff8dc", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", + "refinement_interpretation_Tm_refine_c7958bc739d32f60a8ad0c906f586a0c", + "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", "typing_LowStar.BufferView.Down.get_view", "typing_LowStar.BufferView.Down.upd_" ], 0, - "d7a921b1c223a0d47fed3abe0d546d12" + "fb2ff5e875fbb58747376b522276d676" ], [ "LowStar.BufferView.Down.upd_equal_domains", @@ -552,13 +557,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.BufferView.Down.upd", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_833bb35371c77028d3cfce0315607a6d", + "equation_LowStar.BufferView.Down.upd", + "refinement_interpretation_Tm_refine_c7958bc739d32f60a8ad0c906f586a0c", "typing_LowStar.BufferView.Down.upd_" ], 0, - "2383805cb7bcddd0af392404dd22b860" + "3ae0012a35adb15aede3b6e382c0b73f" ], [ "LowStar.BufferView.Down.seq_fold_right_gtot", @@ -567,24 +571,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_b1c102bc33763b5f709e32a86e66e509_4", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "5657bba642a00c9d92af4e8e9f372c02" + "880b32e74c5a0eafc220f69ae10ad531" ], [ "LowStar.BufferView.Down.as_seq'_len", @@ -596,13 +598,11 @@ "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", + "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView.Down_interpretation_Tm_arrow_4c5666ccdd08d12458d996bf52874196", - "LowStar.BufferView.Down_interpretation_Tm_arrow_9ccd5520822393646af2a73e1ccbef7f", - "LowStar.BufferView.Down_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "LowStar.BufferView.Down_interpretation_Tm_arrow_d8add60edc1cd355e25e13f71f05b7cf", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_b1c102bc33763b5f709e32a86e66e509_4", "binder_x_e2cbc1bd9d19b6ce32e9f77b55362d0d_5", @@ -618,7 +618,6 @@ "equation_Prims.pos", "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_LowStar.BufferView.Down.__proj__View__item__get", "function_token_typing_LowStar.BufferView.Down.cons_view", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", @@ -632,11 +631,11 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", "token_correspondence_LowStar.BufferView.Down.cons_view", "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", @@ -647,7 +646,7 @@ "well-founded-ordering-on-nat" ], 0, - "b408330e4a8200e7757f7cdd6704a5b3" + "05db91cce8856cbf2073546ade64c351" ], [ "LowStar.BufferView.Down.as_seq'_injective", @@ -659,12 +658,12 @@ "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", + "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView.Down_interpretation_Tm_arrow_4c5666ccdd08d12458d996bf52874196", - "LowStar.BufferView.Down_interpretation_Tm_arrow_9ccd5520822393646af2a73e1ccbef7f", - "LowStar.BufferView.Down_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "LowStar.BufferView.Down_interpretation_Tm_arrow_d8add60edc1cd355e25e13f71f05b7cf", + "LowStar.BufferView.Down_interpretation_Tm_arrow_7da964bc2b1926200922ebf8c37fd4f0", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_1e3eba040196ecd819a6f5ba0e12d4c7", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", "binder_x_b1c102bc33763b5f709e32a86e66e509_6", @@ -698,13 +697,13 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_31dea76430ad627aa6261a45ffd44149", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f9ebca0c0880771b4cd34415a8fab184", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", "token_correspondence_LowStar.BufferView.Down.cons_view", "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", @@ -716,7 +715,7 @@ "well-founded-ordering-on-nat" ], 0, - "279329990d0f6127a6136acf4faa42e9" + "df6f6de8b52f6c540ab679097056febe" ], [ "LowStar.BufferView.Down.as_seq", @@ -774,7 +773,7 @@ "typing_FStar.Seq.Properties.tail" ], 0, - "ffb9615176b62c10a2172e8fb4d6f6b8" + "a4f5d433adf759e752dc435b6172cdbb" ], [ "LowStar.BufferView.Down.sel'_tail", @@ -783,12 +782,9 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "fuel_guarded_inversion_LowStar.BufferView.Down.view", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -796,15 +792,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_3e04674625ba1e90ddf6da6977508e33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f6fa6235aeb469d50c7759bb3c3c7ae2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9d5a417bb7e551188aa5f27fc92bb0d0", "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "3f77d7c75c384c98d1fd53760bacfefb" + "71c5db46f1393d759e7d01dc8a18d281" ], [ "LowStar.BufferView.Down.sel'_tail", @@ -813,13 +809,11 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.lseq", "equation_FStar.Seq.Properties.tail", "equation_LowStar.BufferView.Down.sel_", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -828,20 +822,20 @@ "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_3e04674625ba1e90ddf6da6977508e33", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c27726e273b9105f32aefa14d963521", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9d5a417bb7e551188aa5f27fc92bb0d0", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f6fa6235aeb469d50c7759bb3c3c7ae2", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "d5efebbe83f3b54662ba5447f8b0e78b" + "18612dc629845c51752da67b5d148b4a" ], [ "LowStar.BufferView.Down.as_seq'_sel'", @@ -852,11 +846,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView.Down_interpretation_Tm_arrow_4c5666ccdd08d12458d996bf52874196", - "LowStar.BufferView.Down_interpretation_Tm_arrow_9ccd5520822393646af2a73e1ccbef7f", - "LowStar.BufferView.Down_interpretation_Tm_arrow_d8add60edc1cd355e25e13f71f05b7cf", + "LowStar.BufferView.Down_interpretation_Tm_arrow_80188142531ce284dca67e18152a75a6", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_1e3eba040196ecd819a6f5ba0e12d4c7", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_83890435e9e32b9a102903d5a86f8b75", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.lseq", @@ -873,11 +867,11 @@ "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ded8662fd8f576b3c003f2c99d72fe72", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_c01100901a35b9b08858a206a0e679e0", "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", "token_correspondence_LowStar.BufferView.Down.cons_view", "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", @@ -888,7 +882,7 @@ "typing_LowStar.BufferView.Down.as_seq_" ], 0, - "ad64a9cc596c5de143445e8b3b6b6d00" + "c5d790d2806fac6555101bfbcfae63b9" ], [ "LowStar.BufferView.Down.as_seq'_sel'", @@ -896,46 +890,15 @@ 1, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView.Down_interpretation_Tm_arrow_4c5666ccdd08d12458d996bf52874196", - "LowStar.BufferView.Down_interpretation_Tm_arrow_9ccd5520822393646af2a73e1ccbef7f", - "LowStar.BufferView.Down_interpretation_Tm_arrow_d8add60edc1cd355e25e13f71f05b7cf", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.Down.as_seq_", - "equation_LowStar.BufferView.Down.cons_view", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_LowStar.BufferView.Down.__proj__View__item__get", - "function_token_typing_LowStar.BufferView.Down.cons_view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "@MaxIFuel_assumption", "@query", "equation_Prims.pos", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bd39af1e8ed6c70f32179c3cd6a8625a", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Down.cons_view", - "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail", - "typing_LowStar.BufferView.Down.__proj__View__item__n", - "typing_LowStar.BufferView.Down.as_seq_" + "refinement_interpretation_Tm_refine_76ffd78bfdaecb2aa4ce1bab23314c0b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "7c19afbc2953be8c64e2e6baa852c172" + "1b8a288217c5fcb473aa2df74e981198" ], [ "LowStar.BufferView.Down.as_seq'_sel'", @@ -947,15 +910,15 @@ "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", + "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView.Down_interpretation_Tm_arrow_4c5666ccdd08d12458d996bf52874196", - "LowStar.BufferView.Down_interpretation_Tm_arrow_9ccd5520822393646af2a73e1ccbef7f", - "LowStar.BufferView.Down_interpretation_Tm_arrow_d8add60edc1cd355e25e13f71f05b7cf", + "LowStar.BufferView.Down_interpretation_Tm_arrow_7da964bc2b1926200922ebf8c37fd4f0", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_1e3eba040196ecd819a6f5ba0e12d4c7", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8b6cd5bca3f99336b15fdcd2268201f5_6", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", "binder_x_e2cbc1bd9d19b6ce32e9f77b55362d0d_4", + "binder_x_e7425afe0054f4946800c81515d9feb3_6", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", "equality_tok_Prims.LexTop@tok", @@ -982,26 +945,27 @@ "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", + "refinement_interpretation_Tm_refine_115ce0dac3ae75208eb1a0325e0b4128", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e72930c7232e85b5845dc57926515945", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_LowStar.BufferView.Down.cons_view", "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.head", + "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Base.slice", + "typing_FStar.Seq.Properties.head", "typing_FStar.Seq.Properties.tail", "typing_LowStar.BufferView.Down.__proj__View__item__n", "typing_LowStar.BufferView.Down.as_seq_", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "82bf2263cb641cf5f5c4621671f9b463" + "c04d5b1c3c94b19a699a952b86be939d" ], [ "LowStar.BufferView.Down.as_seq_sel", @@ -1016,24 +980,63 @@ "typing_LowStar.BufferView.Down.as_seq" ], 0, - "89c6b1709a4b71cabaec44f6c65429da" + "ebbbd0ce504c9ebdaa382e3180022b7c" ], [ "LowStar.BufferView.Down.as_seq_sel", 2, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "@query", + "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "LowStar.BufferView.Down_interpretation_Tm_arrow_80188142531ce284dca67e18152a75a6", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_1e3eba040196ecd819a6f5ba0e12d4c7", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_83890435e9e32b9a102903d5a86f8b75", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "data_elim_LowStar.BufferView.Down.View", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Seq.Properties.head", + "equation_FStar.Seq.Properties.lseq", + "equation_FStar.Seq.Properties.tail", "equation_LowStar.BufferView.Down.as_buffer", "equation_LowStar.BufferView.Down.as_seq", + "equation_LowStar.BufferView.Down.as_seq_", + "equation_LowStar.BufferView.Down.cons_view", "equation_LowStar.BufferView.Down.get_view", "equation_LowStar.BufferView.Down.length", "equation_LowStar.BufferView.Down.sel", "equation_Prims.nat", + "equation_Prims.pos", + "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "fuel_guarded_inversion_LowStar.BufferView.Down.view", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.BufferView.Down.__proj__View__item__get", + "function_token_typing_LowStar.BufferView.Down.cons_view", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", "proj_equation_FStar.Pervasives.Mkdtuple4__3", + "proj_equation_LowStar.BufferView.Down.View_get", + "proj_equation_LowStar.BufferView.Down.View_n", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Mkdtuple4__1", "projection_inverse_FStar.Pervasives.Mkdtuple4__2", @@ -1041,134 +1044,184 @@ "projection_inverse_FStar.Pervasives.Mkdtuple4__4", "projection_inverse_LowStar.BufferView.Down.BufferView_buf", "projection_inverse_LowStar.BufferView.Down.BufferView_v", - "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513" + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", + "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", + "token_correspondence_LowStar.BufferView.Down.cons_view", + "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.head", + "typing_FStar.Seq.Properties.tail", + "typing_LowStar.BufferView.Down.__proj__View__item__n", + "typing_LowStar.BufferView.Down.as_seq_" ], 0, - "c7a12b40fe17e035dadb872842968b25" + "cbb7e71272b957a3cc7eb4812b1e09ba" ], [ "LowStar.BufferView.Down.get_sel", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "LowStar.Monotonic.Buffer_interpretation_Tm_arrow_36daf57ba94a41e391894ff4a43ea510", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "data_elim_FStar.Pervasives.Mkdtuple4", + "data_elim_LowStar.BufferView.Down.View", "equation_FStar.Seq.Properties.lseq", "equation_LowStar.BufferView.Down.as_buffer", "equation_LowStar.BufferView.Down.as_buffer_t", "equation_LowStar.BufferView.Down.buffer", "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "function_token_typing_Prims.logical", "int_inversion", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Multiply", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", "proj_equation_FStar.Pervasives.Mkdtuple4__3", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.get_view", - "typing_Tm_abs_017309809aa07924b5c17432121a786f", - "typing_Tm_abs_03635c4ade8f2dd29edbd65b40dbb2b8" + "typing_LowStar.BufferView.Down.get_view" ], 0, - "63c1fef19b29f3ab1040d9587fc7bdca" + "d20e3c74a532d4d2dd212444abd0f4e8" ], [ "LowStar.BufferView.Down.get_sel", 2, + 2, 1, - 0, [ "@query", "equation_LowStar.BufferView.Down.sel", - "equation_LowStar.BufferView.Down.sel_" + "equation_LowStar.BufferView.Down.sel_", + "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", + "projection_inverse_BoxInt_proj_0" ], 0, - "eb1210e4ce5e877af516139ca0e5d2db" + "129745da4c9a240da6608d09d0e3ef37" ], [ "LowStar.BufferView.Down.as_seq'_slice", 1, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Prims.pos", "primitive_Prims.op_Addition", + "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ded8662fd8f576b3c003f2c99d72fe72", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ac969535ab69e5bd33be54f5153612b2", "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "924e0ccca4a10ef7094857201a821947" + "472728f66f327f5f754ae2be4e90da45" ], [ "LowStar.BufferView.Down.as_seq'_slice", 2, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", + "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_83890435e9e32b9a102903d5a86f8b75", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", + "data_elim_LowStar.BufferView.Down.View", + "equation_FStar.Seq.Properties.head", + "equation_FStar.Seq.Properties.lseq", + "equation_FStar.Seq.Properties.tail", + "equation_LowStar.BufferView.Down.as_seq_", + "equation_LowStar.BufferView.Down.cons_view", "equation_Prims.nat", + "equation_Prims.pos", + "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "fuel_guarded_inversion_LowStar.BufferView.Down.view", + "function_token_typing_LowStar.BufferView.Down.cons_view", "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_LessThanOrEqual", + "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Base.lemma_len_slice", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.BufferView.Down.View_get", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0446bfbf1c3395d822bacb412018fb0b", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_LowStar.BufferView.Down.__proj__View__item__n" + "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", + "refinement_interpretation_Tm_refine_19dbfbaebc82e71161b6904e5a0e32f6", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", + "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", + "token_correspondence_LowStar.BufferView.Down.cons_view", + "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Base.slice", + "typing_FStar.Seq.Properties.head", + "typing_FStar.Seq.Properties.tail", + "typing_LowStar.BufferView.Down.__proj__View__item__n", + "typing_LowStar.BufferView.Down.as_seq_" ], 0, - "8a7c763836dd14f70a81f1bba531a640" + "eda1485db7d6bd2f13955d0389c38c2c" ], [ "LowStar.BufferView.Down.as_seq'_slice", 3, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", - "LowStar.BufferView.Down_interpretation_Tm_arrow_4c5666ccdd08d12458d996bf52874196", - "LowStar.BufferView.Down_interpretation_Tm_arrow_9ccd5520822393646af2a73e1ccbef7f", - "LowStar.BufferView.Down_interpretation_Tm_arrow_d8add60edc1cd355e25e13f71f05b7cf", + "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", + "LowStar.BufferView.Down_interpretation_Tm_arrow_7da964bc2b1926200922ebf8c37fd4f0", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_1e3eba040196ecd819a6f5ba0e12d4c7", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8b6cd5bca3f99336b15fdcd2268201f5_6", "binder_x_b1c102bc33763b5f709e32a86e66e509_5", + "binder_x_bc2dcf74100304735261decc478c0733_6", "binder_x_e2cbc1bd9d19b6ce32e9f77b55362d0d_4", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "data_elim_LowStar.BufferView.Down.View", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.lseq", @@ -1189,201 +1242,257 @@ "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "lemma_FStar.Seq.Properties.lemma_tail_slice", + "lemma_FStar.Seq.Properties.slice_is_empty", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.BufferView.Down.View_get", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_2503e9162cc3ea6a3dceaafe4d9727ec", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_74458e5da75f1316f63081965f5cbd65", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_53e928c6305e393fb0a7dce12d87cc3f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_607098d2e80d827adeccdd5d011d612c", + "refinement_interpretation_Tm_refine_6eef54e62da9c0aa7aee258e915096c0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_954b0012a6b870e583c770dac99029c2", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b17b688654a795e862febd48af542c9c", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e72930c7232e85b5845dc57926515945", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e616a94dc6bb85b409cea0e56cc95464", + "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", "token_correspondence_LowStar.BufferView.Down.cons_view", "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.head", "typing_FStar.Seq.Properties.tail", "typing_LowStar.BufferView.Down.__proj__View__item__n", - "typing_LowStar.BufferView.Down.as_seq_", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" + "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "8cb572235b95df9b2fc72314d8245ade" + "122656693ff01ead38a36cd5b90f4f4a" ], [ "LowStar.BufferView.Down.put_sel", 1, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "LowStar.Monotonic.Buffer_interpretation_Tm_arrow_36daf57ba94a41e391894ff4a43ea510", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", + "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "data_elim_FStar.Pervasives.Mkdtuple4", + "data_elim_LowStar.BufferView.Down.View", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.lseq", + "equation_FStar.Seq.Properties.tail", "equation_LowStar.BufferView.Down.as_buffer", "equation_LowStar.BufferView.Down.as_buffer_t", + "equation_LowStar.BufferView.Down.as_seq", + "equation_LowStar.BufferView.Down.as_seq_", "equation_LowStar.BufferView.Down.buffer", + "equation_LowStar.BufferView.Down.cons_view", "equation_LowStar.BufferView.Down.get_view", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", + "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Down.view", "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.BufferView.Down.cons_view", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", "int_inversion", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "function_token_typing_Prims.logical", "int_inversion", "int_typing", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", "proj_equation_FStar.Pervasives.Mkdtuple4__3", + "proj_equation_LowStar.BufferView.Down.View_get", "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2bd23491b482da26a41337e7c14cdaa9", - "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_845322fb4513a913d6b544d4f805d91a", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", + "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", + "token_correspondence_LowStar.BufferView.Down.cons_view", + "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq", + "typing_FStar.Seq.Properties.head", + "typing_FStar.Seq.Properties.tail", "typing_LowStar.BufferView.Down.as_buffer", "typing_LowStar.BufferView.Down.as_seq", "typing_LowStar.BufferView.Down.get_view", - "typing_Tm_abs_017309809aa07924b5c17432121a786f", - "typing_Tm_abs_03635c4ade8f2dd29edbd65b40dbb2b8" + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.length" ], 0, - "af64b8b9bf0b80f6b700015def1a18fb" + "226e3aea1d9629faa1555556978724b9" ], [ "LowStar.BufferView.Down.put_sel", 2, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "LowStar.BufferView.Down_interpretation_Tm_arrow_accba21d1a1f12b54f70e8d77238b283", - "LowStar.Monotonic.Buffer_interpretation_Tm_arrow_36daf57ba94a41e391894ff4a43ea510", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "data_elim_FStar.Pervasives.Mkdtuple4", + "data_elim_LowStar.BufferView.Down.View", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.lseq", + "equation_FStar.Seq.Properties.tail", "equation_LowStar.BufferView.Down.as_buffer", "equation_LowStar.BufferView.Down.as_buffer_t", "equation_LowStar.BufferView.Down.as_seq", + "equation_LowStar.BufferView.Down.as_seq_", "equation_LowStar.BufferView.Down.buffer", + "equation_LowStar.BufferView.Down.cons_view", "equation_LowStar.BufferView.Down.get_view", "equation_LowStar.BufferView.Down.inverses", - "equation_LowStar.BufferView.Down.length", "equation_Prims.logical", + "equation_LowStar.BufferView.Down.length", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Down.view", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.BufferView.Down.__proj__View__item__put", + "function_token_typing_LowStar.BufferView.Down.cons_view", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", "int_inversion", "int_typing", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "function_token_typing_Prims.logical", "int_typing", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_LessThanOrEqual", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", "proj_equation_FStar.Pervasives.Mkdtuple4__3", + "proj_equation_LowStar.BufferView.Down.View_get", "proj_equation_LowStar.BufferView.Down.View_n", + "proj_equation_LowStar.BufferView.Down.View_put", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", + "refinement_interpretation_Tm_refine_31dea76430ad627aa6261a45ffd44149", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c69f68e272a510bb0bfb32800486de27", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", "token_correspondence_LowStar.BufferView.Down.__proj__View__item__put", + "token_correspondence_LowStar.BufferView.Down.cons_view", + "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_LowStar.BufferView.Down.__proj__View__item__n", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.head", + "typing_FStar.Seq.Properties.tail", "typing_LowStar.BufferView.Down.as_buffer", "typing_LowStar.BufferView.Down.get_view", - "typing_Tm_abs_017309809aa07924b5c17432121a786f", - "typing_Tm_abs_03635c4ade8f2dd29edbd65b40dbb2b8" + "typing_LowStar.Monotonic.Buffer.length" ], 0, - "3fd0598a336297b8b89989b7f4db606d" + "81cb292cb840a283075b7139be94bc2d" ], [ "LowStar.BufferView.Down.upd_seq'", 1, + 2, 1, - 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_Modulus", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3521607ebafd54e1ad92a8cff8265bd6", - "refinement_interpretation_Tm_refine_b941b9759769d4577a47ed6c330f29a2", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_1b42d4b02266749f21c44f83e1336a63", + "refinement_interpretation_Tm_refine_3bae2ebe0fc863c1675fc379ddacfaab", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.Down.__proj__View__item__n" ], 0, - "dd3ed274cc9dffabf6284a81ddb0de7d" + "354789d8491cb0893c904b8dc31dd597" ], [ "LowStar.BufferView.Down.upd_seq'", 2, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_54599d4a49ee23fd663a165545b6bfc0_5", "binder_x_b1c102bc33763b5f709e32a86e66e509_6", + "binder_x_cd57b80bd7cbf8ac301f90d66ed99911_5", "binder_x_e2cbc1bd9d19b6ce32e9f77b55362d0d_4", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", @@ -1398,63 +1507,65 @@ "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_97624d2e56cfb9ebf248395956814f34", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a82fd48665c2c37398f6f42e06178bc9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.Down.__proj__View__item__n", "well-founded-ordering-on-nat" ], 0, - "7d0ce8e22dc44e01cb9b2516dafade44" + "99b7ed698334837c5a147f8763b87373" ], [ "LowStar.BufferView.Down.upd_seq", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4b5f1571d6a04816c62ea7425cf79e58" + "4728494b2d9eb8240f3c70516303a815" ], [ "LowStar.BufferView.Down.upd_seq", 2, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0d214a9f64e29859a568c6edfc8aba88" + "6151ebacec100be6144c81802b3f0f6d" ], [ "LowStar.BufferView.Down.upd_seq", 3, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", - "@query", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1462,7 +1573,8 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", + "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_LowStar.BufferView.Down.as_buffer", "equation_LowStar.BufferView.Down.get_view", "equation_LowStar.BufferView.Down.length", "equation_Prims.nat", @@ -1472,8 +1584,10 @@ "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_Division", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", "proj_equation_FStar.Pervasives.Mkdtuple4__3", @@ -1486,15 +1600,15 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_LowStar.BufferView.Down.BufferView_buf", "projection_inverse_LowStar.BufferView.Down.BufferView_v", - "refinement_interpretation_Tm_refine_3521607ebafd54e1ad92a8cff8265bd6", - "refinement_interpretation_Tm_refine_8d79b8d669111827fef8f2ec384ff8dc", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3bae2ebe0fc863c1675fc379ddacfaab", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bf72234882a8673a1910d013757629ba", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -1504,27 +1618,31 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "a0a5654cab963e298448d895dd7157b3" + "394b11b6dfee8573ba5ba53d943f9714" ], [ "LowStar.BufferView.Down.as_seq'_cons", 1, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9e9c93a55e1e248e3e57131f3486f198", + "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView.Down_interpretation_Tm_arrow_d8add60edc1cd355e25e13f71f05b7cf", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "data_elim_LowStar.BufferView.Down.View", "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.head", + "equation_FStar.Seq.Properties.lseq", "equation_FStar.Seq.Properties.tail", "equation_LowStar.BufferView.Down.as_seq_", "equation_LowStar.BufferView.Down.cons_view", "equation_Prims.nat", + "equation_Prims.pos", "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "fuel_guarded_inversion_LowStar.BufferView.Down.view", "function_token_typing_LowStar.BufferView.Down.cons_view", @@ -1544,21 +1662,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_LowStar.BufferView.Down.cons_view", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_LowStar.BufferView.Down.as_seq_" + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq" ], 0, - "4185de50165deda05e0349ee4c2374ba" + "aff77870d366c9cedc4f9db7ccbb7d18" ], [ "LowStar.BufferView.Down.upd_seq'_spec", @@ -1567,37 +1686,47 @@ 0, [ "@query", "projection_inverse_BoxInt_proj_0" ], 0, - "a7462f588d767e7fdfc2b244449c441f" + "919f86f8829d9fc8c84e1fbcab162224" ], [ "LowStar.BufferView.Down.upd_seq'_spec", 2, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@fuel_correspondence_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", + "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "@fuel_irrelevance_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", "@query", - "LowStar.BufferView.Down_interpretation_Tm_arrow_accba21d1a1f12b54f70e8d77238b283", - "LowStar.BufferView.Down_interpretation_Tm_arrow_f7428a516b58a31179ee2ebf35257102", + "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", + "LowStar.BufferView.Down_interpretation_Tm_arrow_b3f54d46f9b910883cd5c1724d8e3d10", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_3f464e6d64e344ed4c0f6759a36927ff", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_54599d4a49ee23fd663a165545b6bfc0_5", "binder_x_b1c102bc33763b5f709e32a86e66e509_6", + "binder_x_cd57b80bd7cbf8ac301f90d66ed99911_5", "binder_x_e2cbc1bd9d19b6ce32e9f77b55362d0d_4", "binder_x_fe28d8bcde588226b4e538b35321de05_2", "binder_x_fe28d8bcde588226b4e538b35321de05_3", + "data_elim_LowStar.BufferView.Down.View", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.cons", + "equation_FStar.Seq.Properties.head", "equation_FStar.Seq.Properties.lseq", "equation_FStar.Seq.Properties.split", "equation_LowStar.BufferView.Down.as_seq_", + "equation_LowStar.BufferView.Down.cons_view", "equation_LowStar.BufferView.Down.inverses", "equation_Prims.nat", "equation_Prims.pos", + "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", "equation_with_fuel_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", "fuel_guarded_inversion_LowStar.BufferView.Down.view", "function_token_typing_LowStar.BufferView.Down.__proj__View__item__get", "function_token_typing_LowStar.BufferView.Down.__proj__View__item__put", + "function_token_typing_LowStar.BufferView.Down.cons_view", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", @@ -1609,97 +1738,102 @@ "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.Seq.Properties.slice_length", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.BufferView.Down.View_get", "proj_equation_LowStar.BufferView.Down.View_n", + "proj_equation_LowStar.BufferView.Down.View_put", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3521607ebafd54e1ad92a8cff8265bd6", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_31dea76430ad627aa6261a45ffd44149", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_3bae2ebe0fc863c1675fc379ddacfaab", + "refinement_interpretation_Tm_refine_4f40aec7f25bb8ac376107b6d75b6393", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_97624d2e56cfb9ebf248395956814f34", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a82fd48665c2c37398f6f42e06178bc9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c69f68e272a510bb0bfb32800486de27", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "token_correspondence_LowStar.BufferView.Down.__proj__View__item__put", + "token_correspondence_LowStar.BufferView.Down.cons_view", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Base.slice", "typing_LowStar.BufferView.Down.__proj__View__item__n", "typing_LowStar.BufferView.Down.as_seq_", "typing_LowStar.BufferView.Down.upd_seq_", "well-founded-ordering-on-nat" ], 0, - "ba74a5522b3d744c0671706a1ec8f19a" + "52d9ae1de50c4330350e857ffb7f606f" ], [ "LowStar.BufferView.Down.upd_seq_spec", 1, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.lseq", "equation_LowStar.BufferView.Down.get_view", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d79b8d669111827fef8f2ec384ff8dc", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_e3696a900c13152d3e124410549fbb6d", "typing_LowStar.BufferView.Down.get_view" ], 0, - "4e3733c3194216879835c074a6515698" + "1923bcc11b840d104216f1102c0b35a6" ], [ "LowStar.BufferView.Down.upd_seq_spec", 2, + 2, 1, - 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "93f7780ae4f757b2a69d74db173f9dcf" + "22d2f653c946d7da3a7a392714ccff1b" ], [ "LowStar.BufferView.Down.upd_seq_spec", 3, + 2, 1, - 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.Monotonic.Buffer_interpretation_Tm_arrow_36daf57ba94a41e391894ff4a43ea510", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", + "data_elim_LowStar.BufferView.Down.View", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", + "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.BufferView.Down.as_buffer", "equation_LowStar.BufferView.Down.as_buffer_t", "equation_LowStar.BufferView.Down.as_seq", @@ -1707,7 +1841,8 @@ "equation_LowStar.BufferView.Down.buffer", "equation_LowStar.BufferView.Down.get_view", "equation_LowStar.BufferView.Down.length", - "equation_LowStar.BufferView.Down.upd_seq", "equation_Prims.eqtype", + "equation_LowStar.BufferView.Down.upd_seq", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", @@ -1716,17 +1851,19 @@ "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Prims.logical", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", @@ -1735,17 +1872,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3521607ebafd54e1ad92a8cff8265bd6", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3bae2ebe0fc863c1675fc379ddacfaab", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d79b8d669111827fef8f2ec384ff8dc", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bf72234882a8673a1910d013757629ba", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -1753,8 +1891,7 @@ "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.__proj__View__item__n", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "typing_LowStar.BufferView.Down.as_buffer", "typing_LowStar.BufferView.Down.as_seq", "typing_LowStar.BufferView.Down.as_seq_", @@ -1762,12 +1899,11 @@ "typing_LowStar.BufferView.Down.length", "typing_LowStar.BufferView.Down.upd_seq_", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", - "typing_Tm_abs_017309809aa07924b5c17432121a786f", - "typing_Tm_abs_03635c4ade8f2dd29edbd65b40dbb2b8" + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length" ], 0, - "a8296f37c702fe2fa72b286eada22b5e" + "8ec61e054d77a9d668bb5d1ab9e82370" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.BufferView.Down.fsti b/ulib/LowStar.BufferView.Down.fsti index c5a15f75d64..dc075e0e5f7 100644 --- a/ulib/LowStar.BufferView.Down.fsti +++ b/ulib/LowStar.BufferView.Down.fsti @@ -67,25 +67,23 @@ type view (a:Type) (b:Type) = /// The destination type `dest` is for specification only and is not /// subject to the same universe constraints by the memory model. /// -/// Being indexed by both the `src` and `dest` allows `buffer_view` to -/// remain in universe 0. -val buffer_view (src:Type0) (rrel rel:B.srel src) (dest:Type u#a) : Type0 + +val buffer_view (src:Type0) (rrel rel:B.srel src) (dest:Type u#b) : Type u#b /// `buffer b`: In contrast to `buffer_view`, `buffer b` hides the /// source type of the view. As such, it is likely more convenient to /// use in specifications and the rest of this interface is designed /// around this type. /// -/// However, the existential abstraction of the source type forces -/// this type to be in universe 1. -/// -/// This means, for instance, that values of `buffer b` cannot be +/// However, the type lives in a higher universe, +/// this means, for instance, that values of `buffer b` cannot be /// stored in the heap. /// /// We leave its defnition transparent in case clients wish to /// manipulate both the `src` and `dest` types explicitly (e.g., to /// stay in a lower universe) -let buffer (dest:Type u#a) : Type u#1 = (src:Type0 & rrel:B.srel src & rel:B.srel src & buffer_view src rrel rel dest) + +let buffer (dest:Type u#a) : Type u#(max 1 a) = (src:Type0 & rrel:B.srel src & rel:B.srel src & buffer_view src rrel rel dest) let as_buffer_t (#dest:Type) (b:buffer dest) = B.mbuffer (Mkdtuple4?._1 b) (Mkdtuple4?._2 b) (Mkdtuple4?._3 b) diff --git a/ulib/LowStar.BufferView.Down.fsti.hints b/ulib/LowStar.BufferView.Down.fsti.hints index b0894359eef..d48382976b1 100644 --- a/ulib/LowStar.BufferView.Down.fsti.hints +++ b/ulib/LowStar.BufferView.Down.fsti.hints @@ -1,5 +1,5 @@ [ - "À@Ïü\u0013{䢷XïÜX¶qH", + "´p’¶„Ù¶°cøù©UyÄ™", [ [ "LowStar.BufferView.Down.view", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "edcfe5e2c944195172bd5b54b85e32ff" + "fbd65364be8826ea742861ed60fbe8c4" ], [ "LowStar.BufferView.Down.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "b5fef6f67f7cfc5adb41b7ee52199b6f" + "8368dc7b7b30656ab01deaf7ae4f2bd6" ], [ "LowStar.BufferView.Down.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.Down.View_n" ], 0, - "d35073124943cf310bab1ae83d9fe5e5" + "3c7f4de48f92d91289b17ba8931d2199" ], [ "LowStar.BufferView.Down.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "b50d46bbb18a9f97d564a4d9579d0318" + "c68e8305636f27b1c12ea8d977175932" ], [ "LowStar.BufferView.Down.__proj__View__item__put", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_f9ebca0c0880771b4cd34415a8fab184" ], 0, - "f072c303e5fab4f3318cd69cf3f18e0b" + "656690a66703eb5f2f1e33e5cffc737c" ], [ "LowStar.BufferView.Down.as_buffer_mk_buffer_view", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "741e6086ac07004dcdf383448f087c97" + "2591b2450ff713a4932d19e24ebe1797" ], [ "LowStar.BufferView.Down.get_view_mk_buffer_view", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "cd0eff2f07c723db0ccb7b3a157f3326" + "26726afcfb160f55c5e249f27ed4cb48" ], [ "LowStar.BufferView.Down.indexing", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "34de2f1daf9160aff47ae2d9123da717" + "50b07a0afba17095d230d74acc5d3ab2" ], [ "LowStar.BufferView.Down.sel_upd", @@ -97,18 +97,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_76977d0bd1be4c99829570b2957fd3e3" + "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1" ], 0, - "99773df44762a6aeb77137a0691501be" + "7160acc5835d9d052ad97c713ddd0de5" ], [ "LowStar.BufferView.Down.lemma_upd_with_sel", @@ -117,11 +113,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_76977d0bd1be4c99829570b2957fd3e3" + "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1" ], 0, - "0222a81a1f10edabd096e1f187358527" + "029721a37f00d5390e1440efd596cefc" ], [ "LowStar.BufferView.Down.as_seq_sel", @@ -135,7 +130,7 @@ "typing_LowStar.BufferView.Down.as_seq" ], 0, - "9640488f0b5dfa8420a7ae7dd6c04968" + "011d198cd853ce1a360df3fd6d65a186" ], [ "LowStar.BufferView.Down.get_sel", @@ -144,19 +139,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Seq.Properties.lseq", + "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.min_int", "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.buffer", "equation_Prims.logical", + "equation_LowStar.BufferView.Down.buffer", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.logical", "int_inversion", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", @@ -165,10 +159,10 @@ "proj_equation_FStar.Pervasives.Mkdtuple4__3", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", @@ -176,7 +170,7 @@ "typing_LowStar.BufferView.Down.get_view" ], 0, - "9038831dd6111ee710a7c6199cf10daa" + "bd62e4bc6781e97e79f726dc15867b49" ], [ "LowStar.BufferView.Down.put_sel", @@ -184,15 +178,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.Down.View", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.min_int", + "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_LowStar.BufferView.Down.as_buffer_t", "equation_LowStar.BufferView.Down.buffer", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", @@ -200,12 +196,12 @@ "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Down.view", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", "int_inversion", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "function_token_typing_Prims.logical", "int_inversion", "int_typing", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", @@ -215,13 +211,13 @@ "proj_equation_FStar.Pervasives.Mkdtuple4__3", "proj_equation_LowStar.BufferView.Down.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_42742ae8c991b39ac6338678856fc513", - "refinement_interpretation_Tm_refine_4b50a8221b7740046b3c1d969d978d8a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_845322fb4513a913d6b544d4f805d91a", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -230,11 +226,10 @@ "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", "typing_LowStar.BufferView.Down.as_buffer", "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Down.get_view", - "typing_LowStar.Monotonic.Buffer.length" + "typing_LowStar.BufferView.Down.get_view" ], 0, - "449e29b12e4ea8957bdf41c40c486990" + "8f4d7881036eeef8f0fb173ed9addb14" ], [ "LowStar.BufferView.Down.upd_seq", @@ -244,11 +239,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "419a11a337e3960a95cb2192b25ed270" + "b6dd0a5a3f7fcc02a10e70675350a00f" ], [ "LowStar.BufferView.Down.upd_seq_spec", @@ -257,17 +252,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.lseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" ], 0, - "12bc39e896e4cb67f7ff15f8ca93eb70" + "77fe9612d42cd754dcf3a50d8335b38b" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.BufferView.Up.fst.hints b/ulib/LowStar.BufferView.Up.fst.hints index ff1d292f25f..064cb18aacf 100644 --- a/ulib/LowStar.BufferView.Up.fst.hints +++ b/ulib/LowStar.BufferView.Up.fst.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "dafd53b5ce7c7940d8092c6496412c78" + "ebcaaa08d80f5a3aadb131810adff8fb" ], [ "LowStar.BufferView.Up.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "76029a8e778f69cbd9c88caef813b9bc" + "886e5d7fb9437f80683563d082481949" ], [ "LowStar.BufferView.Up.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.Up.View_n" ], 0, - "bde69407a139a4fae3749bbddebdc4a8" + "51914a989937a149ec0ffa888520b957" ], [ "LowStar.BufferView.Up.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "afc00eaec03dfb8d7e860af5f88abde4" + "1944ff551873d0c7598dc9b0a94c38cb" ], [ "LowStar.BufferView.Up.__proj__View__item__put", @@ -58,11 +58,11 @@ "proj_equation_LowStar.BufferView.Up.View_n", "projection_inverse_LowStar.BufferView.Up.View_n", "projection_inverse_LowStar.BufferView.Up.View_put", - "refinement_interpretation_Tm_refine_b0ca8a8df97ca6d4d65aab04aedf7222", + "refinement_interpretation_Tm_refine_28e5c211c74c3e8b3637e7a738fe6ec6", "token_correspondence_LowStar.BufferView.Up.inverses" ], 0, - "fd4b3490b6c08bcd97210185ad451dab" + "d1a7523615dc750e1ab0e40e2ba7cce6" ], [ "LowStar.BufferView.Up.buffer", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "810af6bb85532e02eedcf879ae575b32" + "5bd9f5d6b92e0c8732d221ca2add8ed9" ], [ "LowStar.BufferView.Up.__proj__Buffer__item__down_buf", @@ -83,7 +83,7 @@ "projection_inverse_LowStar.BufferView.Up.Buffer_src" ], 0, - "77d78d397361f8347d42b988bed35dc1" + "54d841647346b4d909697922c2b945dc" ], [ "LowStar.BufferView.Up.__proj__Buffer__item__v", @@ -92,7 +92,7 @@ 1, [ "@query" ], 0, - "fba95a82c4d45d96740bf23f44a438ed" + "b764fbcf64a0695802d3872c13903706" ], [ "LowStar.BufferView.Up.__proj__Buffer__item__v", @@ -110,7 +110,7 @@ "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f" ], 0, - "36e604b51324a1fb95d84067a5bd9e9f" + "97095ce19e1d7f7eef00b549bd69c009" ], [ "LowStar.BufferView.Up.mk_buffer", @@ -119,7 +119,7 @@ 1, [ "@query" ], 0, - "bcc7ac35d94b6a083701bf99ccaa2e72" + "b4c58c29e826528dee2eccaa96b4d0ae" ], [ "LowStar.BufferView.Up.mk_buffer", @@ -128,7 +128,7 @@ 1, [ "@query" ], 0, - "a3ad17ea2a227ff079bd15820a60d34b" + "fd7428dc5d79cd6db64e44ec24d6a611" ], [ "LowStar.BufferView.Up.as_buffer_mk_buffer", @@ -137,7 +137,7 @@ 1, [ "@query" ], 0, - "61d4da2ce67a456931b88d8c38112d4e" + "38d18be13e8aa05f87c5dfec1f341638" ], [ "LowStar.BufferView.Up.as_buffer_mk_buffer", @@ -146,7 +146,7 @@ 1, [ "@query" ], 0, - "21f23980a850817e542fe09f1b2f8423" + "73d33ed6a1497ee5465091b69caff7a6" ], [ "LowStar.BufferView.Up.as_buffer_mk_buffer", @@ -171,7 +171,7 @@ "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f" ], 0, - "19a69dce6edc1bed2b43c7a3b062ba5b" + "04c3e0ca4e8c1a2491c7823e66fe2ed8" ], [ "LowStar.BufferView.Up.length", @@ -180,22 +180,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_LowStar.BufferView.Up.Buffer", "equation_LowStar.BufferView.Up.as_down_buffer", "equation_LowStar.BufferView.Up.buffer_src", "equation_LowStar.BufferView.Up.get_view", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "proj_equation_LowStar.BufferView.Up.Buffer_down_buf", "proj_equation_LowStar.BufferView.Up.Buffer_src", "proj_equation_LowStar.BufferView.Up.Buffer_v", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_LowStar.BufferView.Down.length", "typing_LowStar.BufferView.Up.__proj__View__item__n", "typing_LowStar.BufferView.Up.as_down_buffer", @@ -203,7 +201,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "8ed0080ed90a4e8ed0461825fa04f1b5" + "7cc5cb49b175e7b3f38c86b72e7df005" ], [ "LowStar.BufferView.Up.length_eq", @@ -212,7 +210,7 @@ 1, [ "@query" ], 0, - "aebb49cda6c02d488c3056719d3e7324" + "8feb3db1c5b1329acfda435afe26e779" ], [ "LowStar.BufferView.Up.length_eq", @@ -221,7 +219,7 @@ 1, [ "@query", "equation_LowStar.BufferView.Up.length" ], 0, - "82dcc21b52a034fbc745fb7f3cfbf1d8" + "035ecac51012a88531a25bc2ac4dbde2" ], [ "LowStar.BufferView.Up.view_indexing", @@ -230,29 +228,28 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_LowStar.BufferView.Up.as_down_buffer", "equation_LowStar.BufferView.Up.buffer_src", "equation_LowStar.BufferView.Up.get_view", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Division", "primitive_Prims.op_Minus", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "proj_equation_LowStar.BufferView.Up.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_bd94144a5e887b64cd695e07b9d51d5e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "typing_LowStar.BufferView.Up.__proj__Buffer__item__v", "typing_LowStar.BufferView.Up.__proj__View__item__n", "typing_LowStar.BufferView.Up.buffer_src", "typing_LowStar.BufferView.Up.get_view" ], 0, - "75c09de52d51076124a5ed077d542c51" + "b92e6c2e2e12355ea5e6c5f68cb9f1b0" ], [ "LowStar.BufferView.Up.split_at_i", @@ -262,8 +259,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_LowStar.BufferView.Up.Buffer", + "bool_inversion", "data_elim_LowStar.BufferView.Up.Buffer", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -278,14 +274,12 @@ "equation_LowStar.BufferView.Up.length", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_LowStar.BufferView.Up.Buffer_down_buf", @@ -295,26 +289,24 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_LowStar.BufferView.Down.length", + "typing_LowStar.BufferView.Down.length", "typing_LowStar.BufferView.Up.__proj__View__item__n", "typing_LowStar.BufferView.Up.as_down_buffer", "typing_LowStar.BufferView.Up.buffer_src", "typing_LowStar.BufferView.Up.get_view" ], 0, - "dc66b323d097eed1408682a574fb082e" + "611f7f0980b4395679b56d2f70239d25" ], [ "LowStar.BufferView.Up.sel", @@ -333,7 +325,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "107353f0add80537bf005fd09938538f" + "c06e4adcb5eebb08ed4914e9e4138976" ], [ "LowStar.BufferView.Up.upd'", @@ -342,9 +334,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LowStar.BufferView.Down_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple3", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_LowStar.BufferView.Up.View", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -365,7 +356,6 @@ "fuel_guarded_inversion_LowStar.BufferView.Up.view", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.BufferView.Up.__proj__View__item__get", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -388,23 +378,23 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_00c7b589e9cc663fcdfbc67d68e3a98d", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_3421154546287b0f0c012dd3d63b4945", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1623bb940097fe5e6d59119e290f0b87", + "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_28e5c211c74c3e8b3637e7a738fe6ec6", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_80d87d886bbfa8091f22cfd4498f3a84", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_87f65bf36fef1b919603d458579dd2c0", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b0ca8a8df97ca6d4d65aab04aedf7222", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_bd94144a5e887b64cd695e07b9d51d5e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "token_correspondence_LowStar.BufferView.Down.inverses", "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", "token_correspondence_LowStar.BufferView.Up.inverses", @@ -422,7 +412,7 @@ "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "f749e5b61034997536bb63cd175b058c" + "4022047d070d76a95fef169a98342ff0" ], [ "LowStar.BufferView.Up.sel_upd1", @@ -431,21 +421,18 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.BufferView.Up.upd", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "refinement_interpretation_Tm_refine_00c7b589e9cc663fcdfbc67d68e3a98d", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_84c66aadf20e9998b5aa9286f54a1315", - "refinement_interpretation_Tm_refine_9a0c1666ba5fcb664d2c237dcaed6a03", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_808016cc4316ff27a4370a2784e97f93", + "refinement_interpretation_Tm_refine_87f65bf36fef1b919603d458579dd2c0", "typing_LowStar.BufferView.Up.upd_" ], 0, - "43ddd597cacb9b62f39a6329b6178ddb" + "43dcef3a7778b20f3f45e22ba71d0738" ], [ "LowStar.BufferView.Up.lt_leq_mul", @@ -453,17 +440,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" ], 0, - "1374424c2ddbad7f3ff0f970fd75eccf" + "f169c9286a93046ad707f2da30bdf93a" ], [ "LowStar.BufferView.Up.sel_upd2", @@ -473,11 +457,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "cbaa4af70c88cbee65943cd285dba2db" + "d9f756846705c13d1e65733ee2deea98" ], [ "LowStar.BufferView.Up.sel_upd2", @@ -486,10 +470,9 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LowStar.BufferView.Up_interpretation_Tm_arrow_10756ec897c906fe0196538851f55194", - "LowStar.BufferView.Up_interpretation_Tm_arrow_b8b269595b2aac9fb5477282d0348465", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple3", + "LowStar.BufferView.Up_interpretation_Tm_arrow_38902b6746602f2e3d0dc1891baab541", + "LowStar.BufferView.Up_interpretation_Tm_ghost_arrow_54f79f9c97c4ee2c218b3c7110c8cd4e", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -511,7 +494,6 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.BufferView.Up.__proj__View__item__get", "function_token_typing_LowStar.BufferView.Up.__proj__View__item__put", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -533,26 +515,26 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_00c7b589e9cc663fcdfbc67d68e3a98d", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_1b32be723e7ce231c04914309434366e", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_55f91cd47677248d4c2d4d91cc6a33d2", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_84c66aadf20e9998b5aa9286f54a1315", - "refinement_interpretation_Tm_refine_8713a870247cef96f144ec96b5e728f4", - "refinement_interpretation_Tm_refine_9a0c1666ba5fcb664d2c237dcaed6a03", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_5250d47fa5b555d110b727445842180e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55882ce47cef75456d5a62d57636b07a", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_808016cc4316ff27a4370a2784e97f93", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_87f65bf36fef1b919603d458579dd2c0", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a4edcab46cf8f28ba4dc78238b5769c5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_bd94144a5e887b64cd695e07b9d51d5e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_d96ee13467a15c378c71c6f88345542f", + "refinement_interpretation_Tm_refine_f7f2af7691ed5c56a70c0405397124ee", "token_correspondence_LowStar.BufferView.Down.inverses", "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", "token_correspondence_LowStar.BufferView.Up.inverses", @@ -568,12 +550,11 @@ "typing_LowStar.BufferView.Up.__proj__View__item__n", "typing_LowStar.BufferView.Up.buffer_src", "typing_LowStar.BufferView.Up.get_view", - "typing_LowStar.BufferView.Up.length", "typing_LowStar.BufferView.Up.split_at_i", "typing_LowStar.BufferView.Up.upd_" ], 0, - "1d284f6a32724ad1680b5b5c660f6d9a" + "9a78bda25862c80c90b4c77098a05ed7" ], [ "LowStar.BufferView.Up.sel_upd", @@ -581,18 +562,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a0c1666ba5fcb664d2c237dcaed6a03" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0d8de3da81db8cb83a93d77ee887fe9b" + "01190355575310f2314dbd4edec332d1" ], [ "LowStar.BufferView.Up.sel_upd", @@ -600,30 +577,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_9a0c1666ba5fcb664d2c237dcaed6a03", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_b0dab18e8ea252e04b9a491809738891", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "75e5ff39f5fb001537e58e0c46c4b3ee" + "bc8f844bd8e895b9c33b7c864f01ecaf" ], [ "LowStar.BufferView.Up.lemma_upd_with_sel", @@ -632,11 +606,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_9a0c1666ba5fcb664d2c237dcaed6a03" + "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b" ], 0, - "83e40d7b914c792db3585b776204f803" + "35a571272dc5ec8fda2fc7ce26d3151e" ], [ "LowStar.BufferView.Up.lemma_upd_with_sel", @@ -645,9 +618,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_LowStar.BufferView.Up.View", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.lseq", "equation_LowStar.BufferView.Down.inverses", "equation_LowStar.BufferView.Up.buffer_src", @@ -657,22 +628,21 @@ "equation_LowStar.BufferView.Up.upd_", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "fuel_guarded_inversion_LowStar.BufferView.Up.view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", + "fuel_guarded_inversion_LowStar.BufferView.Up.view", "int_inversion", + "lemma_FStar.Seq.Base.lemma_eq_refl", "proj_equation_LowStar.BufferView.Up.View_get", "proj_equation_LowStar.BufferView.Up.View_n", "proj_equation_LowStar.BufferView.Up.View_put", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_28e5c211c74c3e8b3637e7a738fe6ec6", + "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b", "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_9a0c1666ba5fcb664d2c237dcaed6a03", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b0ca8a8df97ca6d4d65aab04aedf7222", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "token_correspondence_LowStar.BufferView.Down.inverses", "token_correspondence_LowStar.BufferView.Up.__proj__View__item__get", "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", @@ -682,7 +652,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "7a62e147c4ef88c0eda1267ce65db8b7" + "b55144e1333e607ebcd3c788050a9b3b" ], [ "LowStar.BufferView.Up.upd_modifies", @@ -691,8 +661,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LowStar.BufferView.Down_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.Up.Buffer", "data_elim_LowStar.BufferView.Up.View", @@ -707,11 +676,9 @@ "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "fuel_guarded_inversion_LowStar.BufferView.Up.view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "fuel_guarded_inversion_LowStar.BufferView.Up.view", "int_inversion", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", "proj_equation_FStar.Pervasives.Mkdtuple4__1", @@ -724,13 +691,13 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_00c7b589e9cc663fcdfbc67d68e3a98d", + "refinement_interpretation_Tm_refine_28e5c211c74c3e8b3637e7a738fe6ec6", "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_87f65bf36fef1b919603d458579dd2c0", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b0ca8a8df97ca6d4d65aab04aedf7222", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", "typing_FStar.Seq.Base.append", "typing_LowStar.BufferView.Down.as_buffer", @@ -742,7 +709,7 @@ "typing_LowStar.BufferView.Up.upd" ], 0, - "02308ed5d9ec9dcb794a456e5be0fb20" + "df1963ac4b721bb85af0cb3ba0594ac6" ], [ "LowStar.BufferView.Up.upd_equal_domains", @@ -751,8 +718,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LowStar.BufferView.Down_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", "data_elim_LowStar.BufferView.Up.View", "equation_FStar.Seq.Properties.lseq", "equation_LowStar.BufferView.Up.as_down_buffer", @@ -762,21 +728,20 @@ "equation_LowStar.BufferView.Up.upd_", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "fuel_guarded_inversion_LowStar.BufferView.Up.view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", + "fuel_guarded_inversion_LowStar.BufferView.Up.view", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_append", "proj_equation_LowStar.BufferView.Up.View_n", "proj_equation_LowStar.BufferView.Up.View_put", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_00c7b589e9cc663fcdfbc67d68e3a98d", + "refinement_interpretation_Tm_refine_28e5c211c74c3e8b3637e7a738fe6ec6", "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_87f65bf36fef1b919603d458579dd2c0", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b0ca8a8df97ca6d4d65aab04aedf7222", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", "typing_FStar.Seq.Base.append", "typing_LowStar.BufferView.Down.as_seq", @@ -786,7 +751,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "1a6db4e54de1c4240c14e66370f79278" + "9ad67dbcb43c00b7edfd63bc64b688cd" ], [ "LowStar.BufferView.Up.as_seq'", @@ -794,12 +759,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ff2b82152aa43d6b39080a173b0ecde2" + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_2c3b169943984dee20c01a870fcb09a7" ], 0, - "bce33c7deff460f1db563cf93d4b7772" + "462ba920bf493b10e07e41a9aafbfe98" ], [ "LowStar.BufferView.Up.as_seq'", @@ -809,8 +774,8 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_1", - "binder_x_323eb8f2fd6bccfb7a4c98f5a3e0dcb3_3", + "binder_x_22c538d2a2b71ba53fb7e85deb07fbc9_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "binder_x_ee14823f84a451e4cda1561c6b2f4374_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "equality_tok_Prims.LexTop@tok", @@ -826,7 +791,7 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", @@ -835,13 +800,13 @@ "proj_equation_LowStar.BufferView.Up.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b0aadc371afde5f39f6ced5e9a8238e", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0802fec63702d1233c1ae4df83021ddf", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -853,7 +818,7 @@ "well-founded-ordering-on-nat" ], 0, - "9cd7cdeac4892ea8349f7b20a0f80ad0" + "0c1204f7b24f680ef7974a32ac82afe5" ], [ "LowStar.BufferView.Up.as_seq", @@ -861,18 +826,58 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowStar.BufferView.Up.length", "equation_Prims.nat", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_LowStar.BufferView.Up.as_seq_.fuel_instrumented", + "@fuel_irrelevance_LowStar.BufferView.Up.as_seq_.fuel_instrumented", + "@query", + "LowStar.BufferView.Up_interpretation_Tm_arrow_d9cbaa1bcb5826c15770c2ed6b8b2ee5", + "LowStar.BufferView.Up_interpretation_Tm_ghost_arrow_10b9260cdb9b6f57214d087ff1b1db85", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Seq.Properties.cons", + "equation_FStar.Seq.Properties.lseq", + "equation_LowStar.BufferView.Up.buffer_src", + "equation_LowStar.BufferView.Up.get_view", + "equation_LowStar.BufferView.Up.length", + "equation_LowStar.BufferView.Up.split_at_i", "equation_Prims.nat", + "equation_with_fuel_LowStar.BufferView.Up.as_seq_.fuel_instrumented", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Division", "primitive_Prims.op_Subtraction", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_LowStar.BufferView.Up.__proj__View__item__get", + "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_create_len", + "lemma_FStar.Seq.Base.lemma_len_append", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.BufferView.Up.Buffer_src", + "proj_equation_LowStar.BufferView.Up.Buffer_v", + "proj_equation_LowStar.BufferView.Up.View_n", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_LowStar.BufferView.Up.length" + "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", + "refinement_interpretation_Tm_refine_ef19e53214b46576f4b8fb93ac27843b", + "token_correspondence_LowStar.BufferView.Up.__proj__View__item__get", + "token_correspondence_LowStar.BufferView.Up.as_seq_.fuel_instrumented", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", + "typing_LowStar.BufferView.Up.buffer_src", + "typing_LowStar.BufferView.Up.get_view", + "typing_LowStar.BufferView.Up.length", + "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "cd730f3d54a303e56cfe7e7f6c25d09b" + "9dc00b9584b707678edf71db1a328e11" ], [ "LowStar.BufferView.Up.as_seq_sel", @@ -888,7 +893,7 @@ "typing_LowStar.BufferView.Up.as_seq" ], 0, - "cd32a913dce7f2d612f9f9cf810873a5" + "1bb8d78e5b934640605bceed7d41bcfb" ], [ "LowStar.BufferView.Up.as_seq_sel", @@ -900,7 +905,7 @@ "@fuel_correspondence_LowStar.BufferView.Up.as_seq_.fuel_instrumented", "@fuel_irrelevance_LowStar.BufferView.Up.as_seq_.fuel_instrumented", "@query", - "LowStar.BufferView.Down_interpretation_Tm_arrow_91e7f2678c06174ea27681d52e0c5699", + "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_3f464e6d64e344ed4c0f6759a36927ff", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_LowStar.BufferView.Up.View", @@ -935,17 +940,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_8355a337157ff28476203b656e618362", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_544b688381018f63184d194557c64ed6", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_737f28c74140a5f6e606ee5c0dfe542b", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b20aefa9fcd87b28c8bc20524e782af1", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e038d38d9b256f7d1c2a811aef505c5b", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ef19e53214b46576f4b8fb93ac27843b", "token_correspondence_LowStar.BufferView.Up.__proj__View__item__get", "token_correspondence_LowStar.BufferView.Up.as_seq_.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", @@ -959,7 +964,7 @@ "well-founded-ordering-on-nat" ], 0, - "f6917b5c55f8c0a19078afbeb4e9c44f" + "6ca5f0eb38b22460e8972d0fe79c2779" ], [ "LowStar.BufferView.Up.get_sel", @@ -969,8 +974,7 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple3", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -983,11 +987,11 @@ "equation_LowStar.BufferView.Up.split_at_i", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.slice_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", @@ -999,20 +1003,23 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_239dd44ff95e16cb221637a4979f6b17", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_281fe5c1b73a8d7995401c6b1ea9f2d9", "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bd94144a5e887b64cd695e07b9d51d5e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.Down.as_seq", + "typing_LowStar.BufferView.Down.length", "typing_LowStar.BufferView.Up.__proj__Buffer__item__v", "typing_LowStar.BufferView.Up.__proj__View__item__n", "typing_LowStar.BufferView.Up.as_down_buffer", @@ -1021,7 +1028,7 @@ "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "89b9bd0da7bd3581631ec97454092af8" + "ca03448cfc318836f85ee032a2542a0b" ], [ "LowStar.BufferView.Up.get_sel", @@ -1029,8 +1036,7 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_LowStar.BufferView.Up.Buffer", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1047,8 +1053,7 @@ "equation_LowStar.BufferView.Up.split_at_i", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -1066,16 +1071,16 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -1089,7 +1094,7 @@ "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "4f61fda3d76b57a5a24683003d662e21" + "bb7d04491e9b9e2ff85c06cc32ecad56" ], [ "LowStar.BufferView.Up.put_sel", @@ -1099,8 +1104,11 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Pervasives.Native.Mktuple3", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.lseq", "equation_FStar.Seq.Properties.split", "equation_LowStar.BufferView.Up.as_down_buffer", @@ -1109,8 +1117,10 @@ "equation_LowStar.BufferView.Up.split_at_i", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_Prims.__cache_version_number__", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_append", + "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", @@ -1122,13 +1132,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bd94144a5e887b64cd695e07b9d51d5e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Seq.Base.append", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.Down.as_seq", "typing_LowStar.BufferView.Up.__proj__Buffer__item__v", "typing_LowStar.BufferView.Up.__proj__View__item__n", @@ -1138,7 +1153,7 @@ "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "86f0f34fb51f83df61c30b2cc00d1597" + "435be59ef146d0ff0df886d417ed5092" ], [ "LowStar.BufferView.Up.put_sel", @@ -1147,9 +1162,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LowStar.BufferView.Up_interpretation_Tm_arrow_b8b269595b2aac9fb5477282d0348465", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple3", + "LowStar.BufferView.Up_interpretation_Tm_ghost_arrow_54f79f9c97c4ee2c218b3c7110c8cd4e", + "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_LowStar.BufferView.Up.Buffer", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -1167,8 +1181,7 @@ "equation_LowStar.BufferView.Up.split_at_i", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -1186,17 +1199,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_55f91cd47677248d4c2d4d91cc6a33d2", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f7f2af7691ed5c56a70c0405397124ee", "token_correspondence_LowStar.BufferView.Down.inverses", "token_correspondence_LowStar.BufferView.Up.__proj__View__item__get", "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", @@ -1216,7 +1229,7 @@ "typing_LowStar.BufferView.Up.split_at_i" ], 0, - "ec2f6e7af02c72421a6be03990e9de3f" + "f2f42433feee9579b6b3df9bbbb79c66" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.BufferView.Up.fsti.hints b/ulib/LowStar.BufferView.Up.fsti.hints index 82d3fd46d92..e5891e00c15 100644 --- a/ulib/LowStar.BufferView.Up.fsti.hints +++ b/ulib/LowStar.BufferView.Up.fsti.hints @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "cbf68f57a1c881f919a070b74be0c281" + "7cdd0493052c23fe281a88368ecdddf8" ], [ "LowStar.BufferView.Up.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "7f744d9f2435adc4d10b69b55041f33b" + "04a20dc0af7d68f5060e54a7ca82c2b0" ], [ "LowStar.BufferView.Up.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.Up.View_n" ], 0, - "88f669d3c47ab175cb212a1b15f8474c" + "7d45e013b99edb39e99e57beaac2b6ad" ], [ "LowStar.BufferView.Up.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "1af1ab984735452edc1b3d972edb26f1" + "5ef90e99c86a19700172ba9447d8f22c" ], [ "LowStar.BufferView.Up.__proj__View__item__put", @@ -58,11 +58,11 @@ "proj_equation_LowStar.BufferView.Up.View_n", "projection_inverse_LowStar.BufferView.Up.View_n", "projection_inverse_LowStar.BufferView.Up.View_put", - "refinement_interpretation_Tm_refine_b0ca8a8df97ca6d4d65aab04aedf7222", + "refinement_interpretation_Tm_refine_28e5c211c74c3e8b3637e7a738fe6ec6", "token_correspondence_LowStar.BufferView.Up.inverses" ], 0, - "1ab25374eddee4388528dd79e3995d72" + "efc256f20214803a7a85309e70f013ed" ], [ "LowStar.BufferView.Up.mk_buffer", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "7bee002f41f2f25f61544872c5b6ffc0" + "d1842c4ff0ba83822daeaf98a4afea8f" ], [ "LowStar.BufferView.Up.as_buffer_mk_buffer", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "8efd166f62112d3bbef7f6acc14a22f4" + "9c99435cbf616a1b654f030538038da5" ], [ "LowStar.BufferView.Up.length_eq", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "9092cca902dd18a9a26c1f9a3b867a8b" + "3a9f1503d75efc5456d641209b4bf352" ], [ "LowStar.BufferView.Up.sel_upd", @@ -97,18 +97,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a0c1666ba5fcb664d2c237dcaed6a03" + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6891ec2052861acfc428298b1f173b8d" + "766425b7fc2253f941f6be43c8b2a3c6" ], [ "LowStar.BufferView.Up.lemma_upd_with_sel", @@ -117,11 +113,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_9a0c1666ba5fcb664d2c237dcaed6a03" + "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b" ], 0, - "3afe0b624abc1031d8e4e772575da63f" + "e951818d26875abd7ef5c2037235e5af" ], [ "LowStar.BufferView.Up.as_seq_sel", @@ -135,7 +130,7 @@ "typing_LowStar.BufferView.Up.as_seq" ], 0, - "be69113067c09220bf42c3d576d48cbe" + "c6dc6c07e1c55bd4207f21032a111c4b" ], [ "LowStar.BufferView.Up.get_sel", @@ -143,8 +138,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -152,9 +146,8 @@ "equation_FStar.Seq.Properties.lseq", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.Up.view", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", @@ -162,17 +155,16 @@ "proj_equation_LowStar.BufferView.Up.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_239dd44ff95e16cb221637a4979f6b17", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_281fe5c1b73a8d7995401c6b1ea9f2d9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.Down.as_seq", "typing_LowStar.BufferView.Down.length", "typing_LowStar.BufferView.Up.__proj__View__item__n", @@ -181,7 +173,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "c5b32eb6b93264956c8f0e195fa2d836" + "00802347d895e87f0ba5c0ae247b74fe" ], [ "LowStar.BufferView.Up.put_sel", @@ -190,20 +182,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.lseq", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", + "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_LowStar.BufferView.Up.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_606776b563cc4067c26c1968b5f244fe", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "typing_LowStar.BufferView.Down.as_seq", "typing_LowStar.BufferView.Down.length", "typing_LowStar.BufferView.Up.__proj__View__item__n", @@ -212,7 +201,7 @@ "typing_LowStar.BufferView.Up.get_view" ], 0, - "86e415e5487909d3b51029e27a5857d2" + "0aed19d7f325498216c15637bc72de57" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.BufferView.fst b/ulib/LowStar.BufferView.fst index 94312573f73..06704dc8ea8 100644 --- a/ulib/LowStar.BufferView.fst +++ b/ulib/LowStar.BufferView.fst @@ -16,7 +16,7 @@ module LowStar.BufferView noeq -type buffer_view (a:Type0) (rrel rel:B.srel a) (b:Type u#b) : Type0 = +type buffer_view (a:Type0) (rrel rel:B.srel a) (b:Type u#b) : Type u#b = | BufferView: buf:B.mbuffer a rrel rel -> v:view a b{B.length buf % View?.n v == 0} -> buffer_view a rrel rel b diff --git a/ulib/LowStar.BufferView.fst.hints b/ulib/LowStar.BufferView.fst.hints index d3ae179ab86..19ef098081d 100644 --- a/ulib/LowStar.BufferView.fst.hints +++ b/ulib/LowStar.BufferView.fst.hints @@ -1,5 +1,5 @@ [ - "\u0014/‡¹wë\u001cê×FPÏœ‹Æ°", + "CÐOM›×G貃ŠOKˆÛ", [ [ "LowStar.BufferView.view", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "f91ddd5b053746e93c8d69f98a1675c4" + "fecd833896eb39351728b67927ea1681" ], [ "LowStar.BufferView.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "ff8d08444fdd1365f37eb3a47cd183af" + "67c01165659549f08da4446f606a24e8" ], [ "LowStar.BufferView.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.View_n" ], 0, - "10e22d0003e2dc490ce80507909e8b8a" + "b9ed50f5c496a014a1cbad1d6138efbd" ], [ "LowStar.BufferView.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "7f4d01545c07574f6b76478522cbfd87" + "bafd0c09bcb1c2da1f5267b3959cb999" ], [ "LowStar.BufferView.__proj__View__item__put", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a" ], 0, - "690987f0115a678b155916d72f50fa3b" + "fb3c20ce8c9e475afd2ff60fd1eca74c" ], [ "LowStar.BufferView.buffer_view", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "2a926e5a4ebf084ee2314ee9a085c820" + "eb757693929eace104ec25a95de50399" ], [ "LowStar.BufferView.__proj__BufferView__item__v", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "6d9969a036bef344c509405ee7f21773" + "38e50c47a2f10389ecc812a367bccb29" ], [ "LowStar.BufferView.__proj__BufferView__item__v", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_f2ee369a11791d606a8b2bbf30d7d30e" ], 0, - "3fbc084f3517ca47a606f4650d76d538" + "db4d0a46e84b40ac29dc3804dbb07fec" ], [ "LowStar.BufferView.mk_buffer_view", @@ -105,7 +105,7 @@ 1, [ "@query" ], 0, - "1051379d79ae5c202948d6a58f7c0141" + "56fbe204b0149f5d61c03012ccedbe38" ], [ "LowStar.BufferView.mk_buffer_view", @@ -114,7 +114,7 @@ 1, [ "@query" ], 0, - "80cd7c57ff7d7bd2371550b5e7c402cc" + "95ad52e82c4e14e4dccc9a327956867c" ], [ "LowStar.BufferView.as_buffer_mk_buffer_view", @@ -123,7 +123,7 @@ 1, [ "@query" ], 0, - "d03119fc467d2dd7e5323e99ab969a52" + "c46d8436cc3a1eda6b5d8242f655e9b1" ], [ "LowStar.BufferView.as_buffer_mk_buffer_view", @@ -132,7 +132,7 @@ 1, [ "@query" ], 0, - "0e9816917b6e5252133b26318b8f4119" + "893af3bafd1c7feb9997065700767d0e" ], [ "LowStar.BufferView.as_buffer_mk_buffer_view", @@ -157,7 +157,7 @@ "refinement_interpretation_Tm_refine_f2ee369a11791d606a8b2bbf30d7d30e" ], 0, - "b692a77d5b42293dd372ad41a6bc2715" + "c25dc8c782cd7f10d9a24ee209a3ed11" ], [ "LowStar.BufferView.get_view_mk_buffer_view", @@ -166,7 +166,7 @@ 1, [ "@query" ], 0, - "4043d31983984bd8c0fb4cc831b02e33" + "3a9a8db8018ebbca17872525adf9c924" ], [ "LowStar.BufferView.get_view_mk_buffer_view", @@ -175,7 +175,7 @@ 1, [ "@query" ], 0, - "38a4e90a07ea8483635d564612aeee5f" + "526a1c654fe77e3282018e1f1594add1" ], [ "LowStar.BufferView.get_view_mk_buffer_view", @@ -196,7 +196,7 @@ "refinement_interpretation_Tm_refine_f2ee369a11791d606a8b2bbf30d7d30e" ], 0, - "b160b862f78e4f2f99561554d1401683" + "d66e3f815c90a5f248820b4194fabad9" ], [ "LowStar.BufferView.length", @@ -205,7 +205,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.View", "equation_LowStar.BufferView.as_buffer", @@ -216,11 +215,10 @@ "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.buffer_view", "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.logical", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_8b2f05d3ba4375b1d8fc232793b0692b", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", @@ -228,9 +226,9 @@ "proj_equation_FStar.Pervasives.Mkdtuple4__4", "proj_equation_LowStar.BufferView.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", @@ -241,7 +239,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "66ae12d824c6dcfaa7bdda8c1f08dabe" + "0d699702aeffd99dd4ef7592c541d459" ], [ "LowStar.BufferView.length_eq", @@ -250,7 +248,7 @@ 1, [ "@query" ], 0, - "9d7f35e5bd91dcd85dc84e62a31f27d9" + "467e782d987f5f83b4ba0790aa7d0d00" ], [ "LowStar.BufferView.length_eq", @@ -259,7 +257,7 @@ 1, [ "@query", "equation_LowStar.BufferView.length" ], 0, - "b793cfc60405d57f39dcdb33845ecbd5" + "7f1919cd6e1e33b8ebf5ed2827ca0a22" ], [ "LowStar.BufferView.view_indexing", @@ -267,48 +265,25 @@ 0, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt32.n", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.buffer", + "@MaxIFuel_assumption", "@query", + "data_elim_LowStar.BufferView.View", "equation_LowStar.BufferView.get_view", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_8b2f05d3ba4375b1d8fc232793b0692b", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Minus", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", + "equation_Prims.pos", + "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", "proj_equation_LowStar.BufferView.View_n", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_LowStar.BufferView.__proj__BufferView__item__v", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "typing_LowStar.BufferView.get_view" ], 0, - "ad7e52674547a783fc8891fdd6c1a9ef" + "66fc3a4f57d88e6028658a69c37810c1" ], [ "LowStar.BufferView.split_at_i", @@ -316,10 +291,10 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", + "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.View", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -327,7 +302,7 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", + "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", "equation_LowStar.BufferView.as_buffer", "equation_LowStar.BufferView.as_buffer_t", "equation_LowStar.BufferView.buffer", @@ -337,19 +312,20 @@ "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_8b2f05d3ba4375b1d8fc232793b0692b", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", "proj_equation_FStar.Pervasives.Mkdtuple4__3", @@ -357,25 +333,31 @@ "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", "proj_equation_LowStar.BufferView.View_n", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Pervasives.Native.fst", + "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.seq", "typing_LowStar.BufferView.__proj__BufferView__item__v", "typing_LowStar.BufferView.as_buffer", "typing_LowStar.BufferView.get_view", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "d210b3c2105ff0251bb2a69ea8ec6fa9" + "41141fc5172997e4c6dad9c69c02a30f" ], [ "LowStar.BufferView.sel", @@ -396,7 +378,7 @@ "typing_LowStar.BufferView.get_view" ], 0, - "d10d7a122e0018ad8216d3db6df304ed" + "4024db69d300a6311d42a297a9605c7f" ], [ "LowStar.BufferView.upd", @@ -405,8 +387,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LowStar.BufferView_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.View", "equation_FStar.Seq.Properties.lseq", @@ -416,9 +397,8 @@ "equation_LowStar.BufferView.get_view", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "proj_equation_FStar.Pervasives.Mkdtuple4__1", @@ -429,18 +409,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_4cca63ae5a0e13af501abd7c9a1b3e3a", - "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a", - "refinement_interpretation_Tm_refine_8b400e28897477a22357b66b812261b4", + "refinement_interpretation_Tm_refine_452dd5171388b32bcb531f5ed5ed479d", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", + "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", "token_correspondence_LowStar.BufferView.__proj__View__item__put", "typing_FStar.Seq.Base.append", "typing_LowStar.BufferView.as_buffer", "typing_LowStar.BufferView.get_view" ], 0, - "7d4e7940c8e9792ac244e13d27684394" + "d906284e9a4151581b0e090100d55b56" ], [ "LowStar.BufferView.sel_upd1", @@ -450,8 +430,7 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", + "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_LowStar.BufferView.View", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -460,6 +439,7 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.lseq", "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_LowStar.BufferView.as_buffer", "equation_LowStar.BufferView.as_buffer_t", "equation_LowStar.BufferView.buffer", @@ -474,11 +454,10 @@ "fuel_guarded_inversion_LowStar.BufferView.view", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.BufferView.__proj__View__item__get", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.logical", "int_inversion", "int_typing", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_8b2f05d3ba4375b1d8fc232793b0692b", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", @@ -486,9 +465,9 @@ "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_Division", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", "proj_equation_FStar.Pervasives.Mkdtuple4__3", @@ -501,17 +480,17 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_12818094418a4697769a7138633cadea", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_3df90a88769e9a4172d702a50f2626a8", - "refinement_interpretation_Tm_refine_4cca63ae5a0e13af501abd7c9a1b3e3a", - "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0dca70d6e10ecdb3fcef03a4d9930309", + "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", + "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "token_correspondence_LowStar.BufferView.__proj__View__item__put", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -524,7 +503,7 @@ "typing_LowStar.BufferView.split_at_i" ], 0, - "a3c1c9108c040ecd609f24ebb3434e7e" + "f6810a6f4b55226e83bb8ad661a2c4e8" ], [ "LowStar.BufferView.lt_leq_mul", @@ -532,17 +511,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "int_typing", "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e9bb54d06cdc6388e1f9b9ed33ad11", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" ], 0, - "804982e700257e5786be2840bb2a70f3" + "c12856e055e569a3da70bdb338394716" ], [ "LowStar.BufferView.sel_upd2", @@ -552,11 +528,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8b6c1a7ba045fb37d698d195d982c87e" + "a8d3b22db862361a260c84675af441bb" ], [ "LowStar.BufferView.sel_upd2", @@ -564,12 +540,10 @@ 0, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", + "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", + "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", + "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_LowStar.BufferView.View", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -577,8 +551,7 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt32.n", + "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.min_int", "equation_LowStar.BufferView.as_buffer", "equation_LowStar.BufferView.as_buffer_t", "equation_LowStar.BufferView.buffer", @@ -591,13 +564,10 @@ "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.view", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.logical", "int_inversion", "int_typing", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_8b2f05d3ba4375b1d8fc232793b0692b", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -606,8 +576,6 @@ "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -626,27 +594,26 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_12818094418a4697769a7138633cadea", - "refinement_interpretation_Tm_refine_1d47438dfea415e380298383bde1c4fe", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3df90a88769e9a4172d702a50f2626a8", - "refinement_interpretation_Tm_refine_4cca63ae5a0e13af501abd7c9a1b3e3a", - "refinement_interpretation_Tm_refine_504147df0441529ad12c46dd20019afa", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a", - "refinement_interpretation_Tm_refine_978387af8050ed134030522e87445e83", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_0dca70d6e10ecdb3fcef03a4d9930309", + "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", + "refinement_interpretation_Tm_refine_19269cc1321ab930659842dd89087ebb", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6a8bad24b42f72c3930cd7835eb2ac4c", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_889f01bf859912af1db7b4ca8ac1e6d3", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", @@ -658,7 +625,7 @@ "typing_LowStar.BufferView.split_at_i" ], 0, - "d195ef3354c054aa0af1c56f0ed4faab" + "24756366368fd533c492b72c8e3ea020" ], [ "LowStar.BufferView.sel_upd", @@ -666,18 +633,14 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_12818094418a4697769a7138633cadea", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c8401c79ebf1f059009a7877bbc553eb" + "2e21bc29eb1286814be63d3ebf4f951b" ], [ "LowStar.BufferView.sel_upd", @@ -685,31 +648,27 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_12818094418a4697769a7138633cadea", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_7413abc6ef84672b0ef39b5b562ba893", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "d291bf3aca754d3d2c4da4a76a3fe958" + "743390e11ac69667089170147e1b6952" ], [ "LowStar.BufferView.lemma_upd_with_sel", @@ -718,11 +677,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_12818094418a4697769a7138633cadea" + "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632" ], 0, - "7ed891154061965408694405b74b7a7e" + "bcf465d3f4c572f88a6b2032943d6bba" ], [ "LowStar.BufferView.lemma_upd_with_sel", @@ -731,19 +689,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.BufferView.buffer", "equation_LowStar.BufferView.get_view", "equation_LowStar.BufferView.inverses", "equation_LowStar.BufferView.sel", "equation_LowStar.BufferView.upd", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", + "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", + "lemma_FStar.Seq.Base.lemma_eq_refl", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_LowStar.BufferView.View_get", "proj_equation_LowStar.BufferView.View_n", @@ -751,18 +706,18 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_12818094418a4697769a7138633cadea", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_4cca63ae5a0e13af501abd7c9a1b3e3a", - "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", + "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "token_correspondence_LowStar.BufferView.__proj__View__item__get", "token_correspondence_LowStar.BufferView.__proj__View__item__put", "typing_LowStar.BufferView.get_view" ], 0, - "e7fa54ef6707cb19d729ea4d1d4249d9" + "5ba807a3376726ebf14fe9eeda8042b0" ], [ "LowStar.BufferView.upd_modifies", @@ -771,8 +726,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LowStar.BufferView_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.View", "equation_FStar.Seq.Properties.lseq", @@ -783,11 +737,9 @@ "equation_LowStar.BufferView.upd", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "proj_equation_FStar.Pervasives.Mkdtuple4__1", @@ -798,20 +750,20 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_4cca63ae5a0e13af501abd7c9a1b3e3a", - "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a", - "refinement_interpretation_Tm_refine_8b400e28897477a22357b66b812261b4", + "refinement_interpretation_Tm_refine_452dd5171388b32bcb531f5ed5ed479d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", + "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "token_correspondence_LowStar.BufferView.__proj__View__item__put", "typing_FStar.Seq.Base.append", "typing_LowStar.BufferView.as_buffer", "typing_LowStar.BufferView.get_view" ], 0, - "ec07cbe865aec711fd6aa6f295f14c01" + "42805eae5bc0150da923f11156189f5e" ], [ "LowStar.BufferView.upd_equal_domains", @@ -820,8 +772,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "LowStar.BufferView_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.View", "equation_FStar.Seq.Properties.lseq", @@ -832,11 +783,9 @@ "equation_LowStar.BufferView.upd", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "proj_equation_FStar.Pervasives.Mkdtuple4__1", @@ -847,20 +796,20 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_4cca63ae5a0e13af501abd7c9a1b3e3a", - "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a", - "refinement_interpretation_Tm_refine_8b400e28897477a22357b66b812261b4", + "refinement_interpretation_Tm_refine_452dd5171388b32bcb531f5ed5ed479d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", + "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "token_correspondence_LowStar.BufferView.__proj__View__item__put", "typing_FStar.Seq.Base.append", "typing_LowStar.BufferView.as_buffer", "typing_LowStar.BufferView.get_view" ], 0, - "479c5ca7d9908737c08aedadb2e5873c" + "471163d6999239283e6cfd8856d7e078" ], [ "LowStar.BufferView.as_seq'", @@ -868,12 +817,12 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_d23afbd4453639d2a58cc4d0d289cf3a" + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_722faa84d246035d4629445d62de88e8" ], 0, - "f7254ddea47e13abc9c3e533838a7b52" + "84e7c7a8eb1d757764b8ac407a959559" ], [ "LowStar.BufferView.as_seq'", @@ -883,9 +832,9 @@ [ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_2", + "binder_x_709c51d42fb83ce2494a760a7ab175a8_4", "binder_x_db88276a6748528fdd6e866d40cef350_3", - "binder_x_de26afd1285db89606ff36bec9b15e3c_4", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", "data_elim_LowStar.BufferView.View", "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -895,42 +844,38 @@ "equation_FStar.Seq.Properties.cons", "equation_FStar.Seq.Properties.lseq", "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.length", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", + "equation_LowStar.BufferView.length", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.BufferView.view", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", "proj_equation_LowStar.BufferView.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8b16896e4b9257a9eda33a806eb51f82", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_de40b7b01597bee6e1241dfaf5adf126", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.get_view", - "well-founded-ordering-on-nat" + "typing_LowStar.BufferView.length", "well-founded-ordering-on-nat" ], 0, - "1b0f10c7a8237022200f785d0cb07085" + "928e25d2b7a54ae89c3cac26e0e11769" ], [ "LowStar.BufferView.as_seq", @@ -939,21 +884,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Pervasives.Mkdtuple4", "equation_LowStar.BufferView.buffer", "equation_LowStar.BufferView.length", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.buffer_view", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_8b2f05d3ba4375b1d8fc232793b0692b", + "int_inversion", "int_typing", + "interpretation_Tm_abs_aea9261f5df1ec42181d94b60f7e5e53", "primitive_Prims.op_Division", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LowStar.BufferView.length" ], 0, - "41149509b61c47e0531af3173f8492da" + "cae736575c0f56f711dbff791c1e76de" ], [ "LowStar.BufferView.as_seq_sel", @@ -968,7 +912,7 @@ "typing_LowStar.BufferView.as_seq" ], 0, - "7e05577db15480bef72a359bce3d2c9a" + "07ace96ce26a48a06763563cb6689570" ], [ "LowStar.BufferView.as_seq_sel", @@ -980,12 +924,9 @@ "@fuel_correspondence_LowStar.BufferView.as_seq_.fuel_instrumented", "@fuel_irrelevance_LowStar.BufferView.as_seq_.fuel_instrumented", "@query", - "LowStar.BufferView_interpretation_Tm_arrow_12b0346220f210c34460e608d8db1605", - "LowStar.BufferView_interpretation_Tm_arrow_64afa4c99391e68c7ff30edbc5d28911", - "LowStar.BufferView_interpretation_Tm_arrow_91e7f2678c06174ea27681d52e0c5699", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "LowStar.BufferView_interpretation_Tm_ghost_arrow_3f464e6d64e344ed4c0f6759a36927ff", + "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_LowStar.BufferView.View", "equality_tok_Prims.LexTop@tok", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1004,7 +945,6 @@ "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.view", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.BufferView.__proj__View__item__get", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_create_len", @@ -1014,23 +954,22 @@ "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_LowStar.BufferView.View_get", "proj_equation_LowStar.BufferView.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_4cca63ae5a0e13af501abd7c9a1b3e3a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_06aa1b6fbc206f92bd33509e825cf7ce", + "refinement_interpretation_Tm_refine_53de2fffa6adf37dbdb63ca6e1d1a732", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a3b775f0c8d9ac85e2e6a55d23b148cf", - "refinement_interpretation_Tm_refine_afb368c4b8f6c03986a78c5875933f47", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_be7d2e76fe8b37a197f560b3a05d10be", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b2fcfc35155c978c86a6d3401eb2764a", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "token_correspondence_LowStar.BufferView.__proj__View__item__get", "token_correspondence_LowStar.BufferView.as_seq_.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", @@ -1039,11 +978,12 @@ "typing_FStar.Seq.Base.create", "typing_LowStar.BufferView.as_seq", "typing_LowStar.BufferView.as_seq_", "typing_LowStar.BufferView.get_view", + "typing_LowStar.BufferView.sel", "typing_LowStar.BufferView.split_at_i", "well-founded-ordering-on-nat" ], 0, - "8fd3e26067b302c94d16bdbcb8388469" + "185691d3baaade71f339afb3762fbaa5" ], [ "LowStar.BufferView.get_sel", @@ -1051,10 +991,10 @@ 0, 1, [ - "@MaxIFuel_assumption", "@query", + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", + "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_LowStar.BufferView.View", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1062,7 +1002,7 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", + "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", "equation_LowStar.BufferView.as_buffer", "equation_LowStar.BufferView.as_buffer_t", "equation_LowStar.BufferView.buffer", @@ -1072,15 +1012,14 @@ "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.view", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", "int_inversion", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_8b2f05d3ba4375b1d8fc232793b0692b", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "function_token_typing_Prims.logical", "int_inversion", "int_typing", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", @@ -1098,30 +1037,30 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_246d8379a355b00e686eae6229c698aa", - "refinement_interpretation_Tm_refine_4cca63ae5a0e13af501abd7c9a1b3e3a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", + "refinement_interpretation_Tm_refine_e2e87089d09d3a765e6639034e237550", "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_FStar.Seq.Base.append", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.__proj__BufferView__item__v", "typing_LowStar.BufferView.as_buffer", "typing_LowStar.BufferView.get_view", "typing_LowStar.BufferView.split_at_i" ], 0, - "197fca7fe14a7b143768fa59b2def678" + "de22d9b9fce3fd2f1b896cc9a9cbc1d1" ], [ "LowStar.BufferView.get_sel", @@ -1129,11 +1068,9 @@ 0, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "LowStar.BufferView_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", + "@MaxIFuel_assumption", "@query", + "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", + "b2t_def", "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_LowStar.BufferView.View", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1141,8 +1078,9 @@ "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt32.n", + "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_LowStar.BufferView.as_buffer", "equation_LowStar.BufferView.as_buffer_t", "equation_LowStar.BufferView.buffer", @@ -1154,59 +1092,60 @@ "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_8b2f05d3ba4375b1d8fc232793b0692b", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "proj_equation_FStar.Pervasives.Mkdtuple4__1", "proj_equation_FStar.Pervasives.Mkdtuple4__2", "proj_equation_FStar.Pervasives.Mkdtuple4__3", "proj_equation_FStar.Pervasives.Mkdtuple4__4", "proj_equation_LowStar.BufferView.View_get", "proj_equation_LowStar.BufferView.View_n", + "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_4cca63ae5a0e13af501abd7c9a1b3e3a", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", + "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", + "typing_FStar.UInt32.v", "typing_LowStar.BufferView.__proj__BufferView__item__v", "typing_LowStar.BufferView.as_buffer", "typing_LowStar.BufferView.get_view", "typing_LowStar.BufferView.sel", "typing_LowStar.BufferView.split_at_i", "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "780ad97561dfa83393e5c7d8189f14e0" + "3aad6623ee182bea9514c0a975b8aec3" ], [ "LowStar.BufferView.put_sel", @@ -1216,36 +1155,19 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_FStar.UInt32.n", "equation_LowStar.BufferView.as_buffer", + "data_elim_LowStar.BufferView.View", "equation_FStar.UInt.max_int", + "equation_LowStar.BufferView.as_buffer", "equation_LowStar.BufferView.as_buffer_t", "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.split_at_i", "equation_Prims.logical", + "equation_LowStar.BufferView.get_view", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.logical", "int_typing", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_8b2f05d3ba4375b1d8fc232793b0692b", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", @@ -1260,34 +1182,20 @@ "proj_equation_LowStar.BufferView.View_put", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_4cca63ae5a0e13af501abd7c9a1b3e3a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.__proj__BufferView__item__v", "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.split_at_i" + "typing_LowStar.BufferView.get_view" ], 0, - "1fb2324768a6a258ce2d16a87bf3d586" + "99eb460073288d4cf45b4714cecf8a1b" ], [ "LowStar.BufferView.put_sel", @@ -1297,9 +1205,8 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "LowStar.BufferView_interpretation_Tm_arrow_aaabff4ec31d342b87f694fa78aad968", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", + "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", + "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_LowStar.BufferView.View", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1308,7 +1215,7 @@ "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.lseq", "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt32.n", + "equation_FStar.UInt.min_int", "equation_LowStar.BufferView.as_buffer", "equation_LowStar.BufferView.as_buffer_t", "equation_LowStar.BufferView.buffer", @@ -1322,13 +1229,10 @@ "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.view", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.logical", "int_typing", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_8b2f05d3ba4375b1d8fc232793b0692b", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -1351,20 +1255,20 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_4cca63ae5a0e13af501abd7c9a1b3e3a", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", + "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "token_correspondence_LowStar.BufferView.__proj__View__item__get", "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", @@ -1378,7 +1282,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "a04a974ffc6d0c6b25bb5fdc018daee1" + "3194df312eb5ce2b8c2e27880e1d74fb" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.BufferView.fsti b/ulib/LowStar.BufferView.fsti index c5544a1aced..51aa9442965 100644 --- a/ulib/LowStar.BufferView.fsti +++ b/ulib/LowStar.BufferView.fsti @@ -61,26 +61,23 @@ type view (a:Type) (b:Type) = /// /// The destination type `dest` is for specification only and is not /// subject to the same universe constraints by the memory model. -/// -/// Being indexed by both the `src` and `dest` allows `buffer_view` to -/// remain in universe 0. -val buffer_view (src:Type0) (rrel rel:B.srel src) (dest:Type u#a) : Type0 + +val buffer_view (src:Type0) (rrel rel:B.srel src) (dest:Type u#b) : Type u#b /// `buffer b`: In contrast to `buffer_view`, `buffer b` hides the /// source type of the view. As such, it is likely more convenient to /// use in specifications and the rest of this interface is designed /// around this type. /// -/// However, the existential abstraction of the source type forces -/// this type to be in universe 1. -/// -/// This means, for instance, that values of `buffer b` cannot be +/// However, the type has a higher universe, and +/// this means, for instance, that values of `buffer b` cannot be /// stored in the heap. /// /// We leave its defnition transparent in case clients wish to /// manipulate both the `src` and `dest` types explicitly (e.g., to /// stay in a lower universe) -let buffer (dest:Type u#a) : Type u#1 = (src:Type0 & rrel:B.srel src & rel:B.srel src & buffer_view src rrel rel dest) + +let buffer (dest:Type u#a) : Type u#(max a 1) = (src:Type0 & rrel:B.srel src & rel:B.srel src & buffer_view src rrel rel dest) let as_buffer_t (#dest:Type) (b:buffer dest) = B.mbuffer (Mkdtuple4?._1 b) (Mkdtuple4?._2 b) (Mkdtuple4?._3 b) diff --git a/ulib/LowStar.BufferView.fsti.hints b/ulib/LowStar.BufferView.fsti.hints index cc1a4635f31..64b9d098112 100644 --- a/ulib/LowStar.BufferView.fsti.hints +++ b/ulib/LowStar.BufferView.fsti.hints @@ -1,5 +1,5 @@ [ - "ó·¦J@³¶Ÿ“ìU\blz\u001e", + "‰£\u007fK¡D©+\\_^'çe3‘", [ [ "LowStar.BufferView.view", @@ -11,7 +11,7 @@ "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b" ], 0, - "ea30b1d7ec8f8cd94e65ec00ea611b64" + "dcc4a865dfc09a983246eb77f272e018" ], [ "LowStar.BufferView.__proj__View__item__get", @@ -20,7 +20,7 @@ 1, [ "@query" ], 0, - "e2446f18f4d3b0db407f0a457a4e1f43" + "14c64ddc8796eb0b53beac1e307c21f1" ], [ "LowStar.BufferView.__proj__View__item__get", @@ -34,7 +34,7 @@ "projection_inverse_LowStar.BufferView.View_n" ], 0, - "59946c5fc4c030dab9ed3163f0686945" + "5a2faaea6f0d089fdc5016739816b7a7" ], [ "LowStar.BufferView.__proj__View__item__put", @@ -43,7 +43,7 @@ 1, [ "@query" ], 0, - "86b7b90a8245551714045d03cf79dfc2" + "0004d682465b872f14f85d152c05dd98" ], [ "LowStar.BufferView.__proj__View__item__put", @@ -62,7 +62,7 @@ "refinement_interpretation_Tm_refine_8acb8fd8ca66227a7de04600f1aa9b0a" ], 0, - "ad6d43ad8de42b97c5a192112b7ba8d7" + "327c227e32778a537aae30e0f7bd175b" ], [ "LowStar.BufferView.mk_buffer_view", @@ -71,7 +71,7 @@ 1, [ "@query" ], 0, - "9c37d1aebf4509e97c19f13be337d33e" + "a4443f36cd77bb865a9426971355ca35" ], [ "LowStar.BufferView.as_buffer_mk_buffer_view", @@ -80,7 +80,7 @@ 1, [ "@query" ], 0, - "ae787ccf5d9e224516746cb4d56c82c1" + "dc79cf429dfdb4fb257d8146a5560f49" ], [ "LowStar.BufferView.get_view_mk_buffer_view", @@ -89,7 +89,7 @@ 1, [ "@query" ], 0, - "231e4dc75cbaaf5286b05fcde67e0029" + "50a1254b34d170db603177f4df8a5ffb" ], [ "LowStar.BufferView.length_eq", @@ -98,7 +98,7 @@ 1, [ "@query" ], 0, - "c500b4a4aa7a2c935b756ff04a11d085" + "d0d13c30b063c102e0bc5d48a41a93dc" ], [ "LowStar.BufferView.sel_upd", @@ -106,18 +106,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_12818094418a4697769a7138633cadea", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "deabef034e545fe02a34150b5a3eb3e0" + "1548debccb81a7ab8a8eb80266fc4ecb" ], [ "LowStar.BufferView.lemma_upd_with_sel", @@ -126,11 +122,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_12818094418a4697769a7138633cadea" + "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632" ], 0, - "d9e48b501494e05345139fce0f39459f" + "ed23e0b4274b0accf7608296588ddae0" ], [ "LowStar.BufferView.as_seq_sel", @@ -144,7 +139,7 @@ "typing_LowStar.BufferView.as_seq" ], 0, - "91e4c388bd0fdda418c0b8974d3aad52" + "876d6e345d2f415974db5fcc1af91380" ], [ "LowStar.BufferView.get_sel", @@ -155,27 +150,23 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", + "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.View", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt32.n", "equation_LowStar.BufferView.as_buffer_t", + "equation_FStar.UInt.max_int", + "equation_LowStar.BufferView.as_buffer_t", "equation_LowStar.BufferView.buffer", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.view", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", "int_inversion", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "function_token_typing_Prims.logical", "int_inversion", "int_typing", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt.pow2_values", @@ -189,23 +180,24 @@ "proj_equation_LowStar.BufferView.View_n", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_246d8379a355b00e686eae6229c698aa", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", + "refinement_interpretation_Tm_refine_e2e87089d09d3a765e6639034e237550", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", + "typing_FStar.Seq.Base.length", "typing_LowStar.BufferView.as_buffer", "typing_LowStar.BufferView.get_view" ], 0, - "26ac01d9583d1e0cc1cf1029b2b151e9" + "62661405488f931f5cb7d958032e8a7e" ], [ "LowStar.BufferView.put_sel", @@ -216,20 +208,18 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Pervasives.Mkdtuple4", "data_elim_LowStar.BufferView.View", "equation_FStar.UInt.max_int", - "equation_FStar.UInt32.n", "equation_LowStar.BufferView.as_buffer_t", + "equation_FStar.UInt.min_int", + "equation_LowStar.BufferView.as_buffer_t", "equation_LowStar.BufferView.buffer", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.logical", - "interpretation_Tm_abs_017309809aa07924b5c17432121a786f", - "interpretation_Tm_abs_a8e0e395daf61ca2af1a1d8f6468c226", + "function_token_typing_Prims.logical", "int_typing", + "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", + "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_Division", @@ -242,9 +232,9 @@ "proj_equation_LowStar.BufferView.View_put", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e867809cc0258cc25499b8343271cb6", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", @@ -252,7 +242,7 @@ "typing_LowStar.BufferView.get_view" ], 0, - "b76343e31f7bde3b5aa6c127831b3294" + "4cf85d1211f7bfd43e1734390347eb56" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.ConstBuffer.fst b/ulib/LowStar.ConstBuffer.fst index 8266b87ca77..ad723d0056e 100644 --- a/ulib/LowStar.ConstBuffer.fst +++ b/ulib/LowStar.ConstBuffer.fst @@ -46,3 +46,5 @@ let sub c i len = (| IMMUTABLE, B.msub _ x i len |) let cast c = qbuf_mbuf c +let to_buffer c = qbuf_mbuf c +let to_ibuffer c = qbuf_mbuf c diff --git a/ulib/LowStar.ConstBuffer.fst.hints b/ulib/LowStar.ConstBuffer.fst.hints index a535bc6237f..03f7b19c4bd 100644 --- a/ulib/LowStar.ConstBuffer.fst.hints +++ b/ulib/LowStar.ConstBuffer.fst.hints @@ -1,5 +1,5 @@ [ - "-\r`£;0T:g%º\u001b»Jån", + "ù%­q‚øA§»Žß5O\u001dˆ\u001d", [ [ "LowStar.ConstBuffer.qbuf_cases", @@ -13,7 +13,7 @@ "fuel_guarded_inversion_LowStar.ConstBuffer.qual" ], 0, - "9b84a807c34e3a689f6d0e9c06fff833" + "70a4a71f8e327edd32750ce89db42457" ], [ "LowStar.ConstBuffer.q_preorder", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_LowStar.ConstBuffer.qual" ], 0, - "63eeafb29356f2d7a7ea852f9668b2d0" + "19d233746c2e700c7544d2b2edcdb9cc" ], [ "LowStar.ConstBuffer.qbuf_mbuf", @@ -48,13 +48,13 @@ "equation_LowStar.ImmutableBuffer.ibuffer", "fuel_guarded_inversion_LowStar.ConstBuffer.qual", "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_159a23972c486891dc5ce9b253bcc40e", + "interpretation_Tm_abs_68316c920d170978472d5b9e8ae4e447", "kinding_LowStar.ConstBuffer.qual@tok", "proj_equation_Prims.Mkdtuple2__2", "typing_FStar.Pervasives.dsnd", "typing_LowStar.ConstBuffer.qbuf_qual" ], 0, - "923dcfc93a7049b5e7907e9638c381af" + "d2ff2da74c495a9f5f295ee8a4e9075d" ], [ "LowStar.ConstBuffer.of_buffer", @@ -68,7 +68,7 @@ "equation_LowStar.ConstBuffer.qbuf_pre" ], 0, - "3eda367e97aeb606a59caaf93defb953" + "951226190ed5d1661f9a19700a16f626" ], [ "LowStar.ConstBuffer.of_buffer", @@ -87,7 +87,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "bef2caae6e9c8465ef6dc2be50ed8f49" + "84951d33c6a731e4cb4e036476ad33e2" ], [ "LowStar.ConstBuffer.of_ibuffer", @@ -101,7 +101,7 @@ "equation_LowStar.ConstBuffer.qbuf_pre" ], 0, - "a550c77fad0eb43126f1504b8cebbb51" + "f5027a1fd481c529f65732d937d1f209" ], [ "LowStar.ConstBuffer.of_ibuffer", @@ -120,7 +120,7 @@ "projection_inverse_Prims.Mkdtuple2__2" ], 0, - "2ccd3e8c9483ca2927dd0b13cc86b3d2" + "60d7821f332861ba12fa4c22b8ade2af" ], [ "LowStar.ConstBuffer.index", @@ -129,7 +129,6 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_LowStar.ConstBuffer.as_mbuf", "equation_LowStar.ConstBuffer.as_seq", @@ -138,13 +137,13 @@ "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5995d358d96cec8bdaabfd36c98e0207", + "refinement_interpretation_Tm_refine_3a60089398cfb9444106602ea3510e1b", "typing_LowStar.ConstBuffer.as_mbuf", "typing_LowStar.ConstBuffer.as_qbuf", "typing_LowStar.ConstBuffer.qbuf_pre" ], 0, - "9b6a0963e1469961db97339b0d91b513" + "ffcb848abc3b1e2e3b5262245968bd9c" ], [ "LowStar.ConstBuffer.index", @@ -153,16 +152,15 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.ConstBuffer.as_mbuf", "equation_LowStar.ConstBuffer.as_qbuf", "equation_LowStar.ConstBuffer.as_seq", "equation_LowStar.ConstBuffer.length", "equation_LowStar.ConstBuffer.live", - "refinement_interpretation_Tm_refine_5995d358d96cec8bdaabfd36c98e0207" + "refinement_interpretation_Tm_refine_3a60089398cfb9444106602ea3510e1b" ], 0, - "4b692cec3f09fadf39be2b3c7d113d7a" + "182be646c589955fdf90fde920e105f9" ], [ "LowStar.ConstBuffer.sub", @@ -171,15 +169,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.ConstBuffer.as_mbuf", "equation_LowStar.ConstBuffer.as_qbuf", "equation_LowStar.ConstBuffer.length", "equation_LowStar.ConstBuffer.qbuf_pre", - "refinement_interpretation_Tm_refine_32c34e8637af33f63d2acce6ceb55319" + "refinement_interpretation_Tm_refine_f2d5bc58e1f69ef90b2f955701cfe60c" ], 0, - "a8ff274947888f2fa5f341e91a1ace3c" + "97a533874cc8ea9aa3090b83862bd286" ], [ "LowStar.ConstBuffer.sub", @@ -189,8 +186,7 @@ [ "@MaxIFuel_assumption", "@query", "LowStar.ConstBuffer_pretyping_4dc8c797bc0c0a619c5d226a788d601a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "data_typing_intro_LowStar.ConstBuffer.IMMUTABLE@tok", "disc_equation_LowStar.ConstBuffer.IMMUTABLE", "disc_equation_LowStar.ConstBuffer.MUTABLE", @@ -219,17 +215,15 @@ "equation_LowStar.ConstBuffer.qbuf_pre", "equation_LowStar.ConstBuffer.qbuf_qual", "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.ConstBuffer.qual", "fuel_guarded_inversion_Prims.dtuple2", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -246,17 +240,17 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_32c34e8637af33f63d2acce6ceb55319", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f2d5bc58e1f69ef90b2f955701cfe60c", "true_interp", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -270,7 +264,83 @@ "typing_LowStar.ConstBuffer.qbuf_qual" ], 0, - "88158b61e6332a182d037befe7cd9984" + "e7f26a9243e5489604057d8f3c22cd15" + ], + [ + "LowStar.ConstBuffer.cast", + 1, + 2, + 1, + [ + "@query", "equation_LowStar.ConstBuffer.as_mbuf", + "equation_LowStar.ConstBuffer.as_qbuf" + ], + 0, + "82f0e62386c86fb9da091adbaf017592" + ], + [ + "LowStar.ConstBuffer.to_buffer", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_LowStar.ConstBuffer.MUTABLE", + "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", + "equation_LowStar.ConstBuffer.q_preorder", + "equation_LowStar.ConstBuffer.qbuf_pre", + "refinement_interpretation_Tm_refine_21418a2a27aecfef27831185fbcf6700" + ], + 0, + "5d15b190c0b6b5c7a085acf016f48d7a" + ], + [ + "LowStar.ConstBuffer.to_buffer", + 2, + 2, + 1, + [ + "@query", "constructor_distinct_LowStar.ConstBuffer.MUTABLE", + "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", + "equation_LowStar.ConstBuffer.as_mbuf", + "equation_LowStar.ConstBuffer.as_qbuf", + "equation_LowStar.ConstBuffer.q_preorder", + "equation_LowStar.ConstBuffer.qbuf_pre" + ], + 0, + "5232d4f0652107f5baa10d6b4d6b79fc" + ], + [ + "LowStar.ConstBuffer.to_ibuffer", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", + "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", + "equation_LowStar.ConstBuffer.q_preorder", + "equation_LowStar.ConstBuffer.qbuf_pre", + "refinement_interpretation_Tm_refine_6a2d5aa361ca14de4e02d11c40d62bd3" + ], + 0, + "226e5ee6435829b48bda9342a9424fb2" + ], + [ + "LowStar.ConstBuffer.to_ibuffer", + 2, + 2, + 1, + [ + "@query", "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", + "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", + "equation_LowStar.ConstBuffer.as_mbuf", + "equation_LowStar.ConstBuffer.as_qbuf", + "equation_LowStar.ConstBuffer.q_preorder", + "equation_LowStar.ConstBuffer.qbuf_pre" + ], + 0, + "4348c2e5a345be6282c6faf08e8560fa" ], [ "LowStar.ConstBuffer.test", @@ -282,19 +352,14 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "LowStar.ConstBuffer_pretyping_4dc8c797bc0c0a619c5d226a788d601a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", "constructor_distinct_LowStar.ConstBuffer.MUTABLE", - "data_elim_Prims.Mkdtuple2", - "data_typing_intro_LowStar.ConstBuffer.IMMUTABLE@tok", "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.dfst", "equation_FStar.Preorder.preorder", + "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Seq.Properties.replace_subseq", @@ -308,27 +373,18 @@ "equation_LowStar.ConstBuffer.const_buffer", "equation_LowStar.ConstBuffer.length", "equation_LowStar.ConstBuffer.live", - "equation_LowStar.ConstBuffer.of_buffer", "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf", - "equation_LowStar.ConstBuffer.qbuf_cases", - "equation_LowStar.ConstBuffer.qbuf_mbuf", "equation_LowStar.ConstBuffer.qbuf_pre", - "equation_LowStar.ConstBuffer.qbuf_qual", "equation_LowStar.ImmutableBuffer.ibuffer", "equation_LowStar.ImmutableBuffer.immutable_preorder", "equation_LowStar.Monotonic.Buffer.disjoint", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "function_token_typing_FStar.UInt32.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_159a23972c486891dc5ce9b253bcc40e", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", - "kinding_LowStar.ConstBuffer.qual@tok", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -351,19 +407,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a78e524cb59b9d4540f3ecd95ec0814", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_3084ff1dc7a1cf712f44d9369b7a7be3", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f66ebdc5663f8e3c05970f9ebabf31c3", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_caf420e019c39e197ae17a59091cbbc8", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.dsnd", "typing_FStar.Seq.Base.append", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.ConstBuffer.qbuf_pre", @@ -375,7 +431,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "74db3d60bcbc040712a9ea05a4f9e10b" + "f1a6017d5052c5437949b000d5a0bc21" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.ConstBuffer.fsti b/ulib/LowStar.ConstBuffer.fsti index b74ac03c4af..2dfc4f284b9 100644 --- a/ulib/LowStar.ConstBuffer.fsti +++ b/ulib/LowStar.ConstBuffer.fsti @@ -156,7 +156,26 @@ val sub (c:const_buffer 'a) (i len:U32.t) /// a mutable or immutable pointer, in case the context can prove /// that `qbuf_qual c` is MUTABLE or IMMUTABLE, respectively val cast (c:const_buffer 'a) - : Tot (B.mbuffer 'a (qbuf_pre (as_qbuf c)) (qbuf_pre (as_qbuf c))) + : Pure (B.mbuffer 'a (qbuf_pre (as_qbuf c)) (qbuf_pre (as_qbuf c))) + (requires True) + (ensures fun x -> + x == as_mbuf c) + +val to_buffer (c:const_buffer 'a) + : Pure (B.buffer 'a) + (requires ( + let c = as_qbuf c in + qbuf_qual c == MUTABLE)) + (ensures fun x -> + x == as_mbuf c) + +val to_ibuffer (c:const_buffer 'a) + : Pure (I.ibuffer 'a) + (requires ( + let c = as_qbuf c in + qbuf_qual c == IMMUTABLE)) + (ensures fun x -> + x == as_mbuf c) //////////////////////////////////////////////////////////////////////////////// let test (x:B.buffer U32.t) (y:I.ibuffer U32.t) diff --git a/ulib/LowStar.ConstBuffer.fsti.hints b/ulib/LowStar.ConstBuffer.fsti.hints index 457299478a2..a03e902651a 100644 --- a/ulib/LowStar.ConstBuffer.fsti.hints +++ b/ulib/LowStar.ConstBuffer.fsti.hints @@ -1,5 +1,5 @@ [ - "±ñ‰÷ù„ÈQ3vâÖÁd\rì", + "&ěӛ©[\\Ìó©î\u0013%ÇP", [ [ "LowStar.ConstBuffer.qbuf_cases", @@ -13,7 +13,7 @@ "fuel_guarded_inversion_LowStar.ConstBuffer.qual" ], 0, - "9b84a807c34e3a689f6d0e9c06fff833" + "70a4a71f8e327edd32750ce89db42457" ], [ "LowStar.ConstBuffer.q_preorder", @@ -27,7 +27,7 @@ "fuel_guarded_inversion_LowStar.ConstBuffer.qual" ], 0, - "63eeafb29356f2d7a7ea852f9668b2d0" + "19d233746c2e700c7544d2b2edcdb9cc" ], [ "LowStar.ConstBuffer.qbuf_mbuf", @@ -48,13 +48,13 @@ "equation_LowStar.ImmutableBuffer.ibuffer", "fuel_guarded_inversion_LowStar.ConstBuffer.qual", "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_159a23972c486891dc5ce9b253bcc40e", + "interpretation_Tm_abs_68316c920d170978472d5b9e8ae4e447", "kinding_LowStar.ConstBuffer.qual@tok", "proj_equation_Prims.Mkdtuple2__2", "typing_FStar.Pervasives.dsnd", "typing_LowStar.ConstBuffer.qbuf_qual" ], 0, - "923dcfc93a7049b5e7907e9638c381af" + "d2ff2da74c495a9f5f295ee8a4e9075d" ], [ "LowStar.ConstBuffer.of_buffer", @@ -68,7 +68,7 @@ "equation_LowStar.ConstBuffer.qbuf_pre" ], 0, - "fd6a198694e34bfb62d842f38840ffd2" + "8a23557b799fd4d5e41fcc663fa35eaf" ], [ "LowStar.ConstBuffer.of_ibuffer", @@ -82,7 +82,7 @@ "equation_LowStar.ConstBuffer.qbuf_pre" ], 0, - "836c1723fac5f309403a3f2aa061c837" + "e66941a07244494fca9358e01747d5da" ], [ "LowStar.ConstBuffer.index", @@ -91,7 +91,6 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_LowStar.ConstBuffer.as_mbuf", "equation_LowStar.ConstBuffer.as_seq", @@ -100,13 +99,13 @@ "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5995d358d96cec8bdaabfd36c98e0207", + "refinement_interpretation_Tm_refine_3a60089398cfb9444106602ea3510e1b", "typing_LowStar.ConstBuffer.as_mbuf", "typing_LowStar.ConstBuffer.as_qbuf", "typing_LowStar.ConstBuffer.qbuf_pre" ], 0, - "c1d04b90e47185d5ec7e72d57a863b08" + "dbf4acb4179f978dfea1fce826502b56" ], [ "LowStar.ConstBuffer.sub", @@ -115,14 +114,45 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.ConstBuffer.as_mbuf", "equation_LowStar.ConstBuffer.length", "equation_LowStar.ConstBuffer.qbuf_pre", - "refinement_interpretation_Tm_refine_32c34e8637af33f63d2acce6ceb55319" + "refinement_interpretation_Tm_refine_f2d5bc58e1f69ef90b2f955701cfe60c" ], 0, - "63e61f2bd2d102a084582f1cf2a8c56c" + "f3daeccdbc24267340aa70f34686da27" + ], + [ + "LowStar.ConstBuffer.to_buffer", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_LowStar.ConstBuffer.MUTABLE", + "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", + "equation_LowStar.ConstBuffer.q_preorder", + "equation_LowStar.ConstBuffer.qbuf_pre", + "refinement_interpretation_Tm_refine_21418a2a27aecfef27831185fbcf6700" + ], + 0, + "7a7d0f7bd01f75685f11613063194661" + ], + [ + "LowStar.ConstBuffer.to_ibuffer", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", + "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", + "equation_LowStar.ConstBuffer.q_preorder", + "equation_LowStar.ConstBuffer.qbuf_pre", + "refinement_interpretation_Tm_refine_6a2d5aa361ca14de4e02d11c40d62bd3" + ], + 0, + "4ae7808c7b623a6523fce5f45b6377b6" ], [ "LowStar.ConstBuffer.test", @@ -136,8 +166,7 @@ "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "LowStar.ConstBuffer_pretyping_4dc8c797bc0c0a619c5d226a788d601a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", "constructor_distinct_LowStar.ConstBuffer.MUTABLE", "data_elim_Prims.Mkdtuple2", @@ -145,7 +174,6 @@ "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", @@ -169,16 +197,14 @@ "equation_LowStar.ImmutableBuffer.immutable_preorder", "equation_LowStar.Monotonic.Buffer.disjoint", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "fuel_guarded_inversion_Prims.dtuple2", "function_token_typing_FStar.UInt32.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_159a23972c486891dc5ce9b253bcc40e", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_68316c920d170978472d5b9e8ae4e447", "kinding_LowStar.ConstBuffer.qual@tok", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -203,21 +229,22 @@ "proj_equation_Prims.Mkdtuple2__2", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a78e524cb59b9d4540f3ecd95ec0814", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_3084ff1dc7a1cf712f44d9369b7a7be3", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f66ebdc5663f8e3c05970f9ebabf31c3", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_caf420e019c39e197ae17a59091cbbc8", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Pervasives.dsnd", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.ConstBuffer.as_qbuf", "typing_LowStar.ConstBuffer.qbuf_pre", "typing_LowStar.ImmutableBuffer.immutable_preorder", @@ -228,7 +255,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "8e101742bff12b8125dea1f389b619e7" + "5eaa3aea440a068fc5417846b845e15b" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.Endianness.fst.hints b/ulib/LowStar.Endianness.fst.hints index ce0113e14fa..2b15ce6134b 100644 --- a/ulib/LowStar.Endianness.fst.hints +++ b/ulib/LowStar.Endianness.fst.hints @@ -7,23 +7,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "equation_Prims.nat", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cc54e2c7703cdf06295dfca84d0b272e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e9459b5a2b49764aa76d0bacd2384cb8", "typing_FStar.Monotonic.HyperStack.live_region", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "558b73493bd68270a0133d874f54e057" + "b5248bd4326e33c7f73b6d3fb8f8ec2a" ], [ "LowStar.Endianness.store_post", @@ -31,23 +29,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "equation_Prims.nat", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cc54e2c7703cdf06295dfca84d0b272e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e9459b5a2b49764aa76d0bacd2384cb8", "typing_FStar.Monotonic.HyperStack.live_region", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "291e968d565dc4419a8708a4e4606e27" + "636e8d7fdd70fa31e342dbabe6e19d8e" ], [ "LowStar.Endianness.store16_le_i", @@ -55,21 +51,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fde453c58dd28df9def2b06b959f7b76", "typing_FStar.UInt32.v" ], 0, - "4d577ff354f5ea2118c4a4be5000e29b" + "738a944d35854c44450a9351f82bb851" ], [ "LowStar.Endianness.load16_le_i", @@ -77,24 +70,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fde453c58dd28df9def2b06b959f7b76", "typing_FStar.UInt32.v" ], 0, - "be9bed3299f12ecac9c0894c96380bfc" + "427967ae5c0d5758391dce93eb62a291" ], [ "LowStar.Endianness.store16_be_i", @@ -102,21 +93,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fde453c58dd28df9def2b06b959f7b76", "typing_FStar.UInt32.v" ], 0, - "30303d1897467db0e82c2e33f350ffc3" + "ceac7a14e12de040dd37f778166916e9" ], [ "LowStar.Endianness.load16_be_i", @@ -124,24 +112,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fde453c58dd28df9def2b06b959f7b76", "typing_FStar.UInt32.v" ], 0, - "f2775e508a5fed6b2a365a01c3c4a8d7" + "8090cb430f1e89a9effba3d8d85add21" ], [ "LowStar.Endianness.store32_le_i", @@ -149,21 +135,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_af39cf35dde11c9d3ef00f93e041c7f5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "169ed8bcdc4e434db760a888c8901da2" + "c9cdd00810919b9d1dc61af243dba12a" ], [ "LowStar.Endianness.load32_le_i", @@ -171,24 +154,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_af39cf35dde11c9d3ef00f93e041c7f5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "10fcc377d55ad7802b129892398b8516" + "25e3c3b9a38ee0e1c873f9031b869d36" ], [ "LowStar.Endianness.store32_be_i", @@ -196,21 +177,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_af39cf35dde11c9d3ef00f93e041c7f5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "60b6dcd6e0a93dcef9bf71c9640fe565" + "bfff2f6c18c97c93e814aa74f0b181a3" ], [ "LowStar.Endianness.load32_be_i", @@ -218,24 +196,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_af39cf35dde11c9d3ef00f93e041c7f5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "9f6343ace5c2000691e0b7672fddc7d9" + "74b1b3046b1027189bbb8a2e2f3ad01f" ], [ "LowStar.Endianness.store64_le_i", @@ -243,21 +219,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_135354b7644920d7bca4fc2fbe15d80d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "886bc3964334a5e92f58fbc2c68e3bce" + "a37ce7875e1f6bce2c15db9b3eb7e42d" ], [ "LowStar.Endianness.load64_le_i", @@ -265,24 +238,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_135354b7644920d7bca4fc2fbe15d80d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "30b43883eb249a76265c7e77b9d50912" + "50b8391192be6399769617ee20c46a1a" ], [ "LowStar.Endianness.store64_be_i", @@ -290,21 +261,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_135354b7644920d7bca4fc2fbe15d80d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "7bee6469238b0ef64eb6bda17483527c" + "c05f2dc52e5e82cd8d1b95bed48ad0fe" ], [ "LowStar.Endianness.load64_be_i", @@ -312,24 +280,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_135354b7644920d7bca4fc2fbe15d80d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "f453e481d4ec765a0b1f97afc7cad716" + "b5b0e21f6a8245f7e189d1f7eff0ec29" ], [ "LowStar.Endianness.store128_le_i", @@ -337,23 +303,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9cf0fa428602812f0f5bda0dcd7c6fbd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "f910549d914f3dc227771500d90a520b" + "faca323d9d7d51058e9bee7e19e16491" ], [ "LowStar.Endianness.load128_le_i", @@ -361,25 +324,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9cf0fa428602812f0f5bda0dcd7c6fbd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "a5aa6d152920c0287125d578b174ede1" + "d2b4244c3a65e9b0bb8e049e370db3ee" ], [ "LowStar.Endianness.store128_be_i", @@ -387,23 +348,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9cf0fa428602812f0f5bda0dcd7c6fbd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "a4de6daf233fd3d3266932a6fb48022e" + "ada70f3aa1f04f71665b4a10b7080b4b" ], [ "LowStar.Endianness.load128_be_i", @@ -411,25 +369,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9cf0fa428602812f0f5bda0dcd7c6fbd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "4c907f33160f6175d114dfa66aa38cdc" + "414f98bd4b4e7121f2ac7cd3d31a3152" ], [ "LowStar.Endianness.store16_le", @@ -437,24 +393,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt8.t", + "equation_LowStar.Endianness.u8", + "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_168c724753227d01cc0cc590b1378607", - "refinement_interpretation_Tm_refine_88b76272e3ef261c5506ee93a805fb7b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_ae574750df9f9cb3c893f875bb8ea514", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_fd980f1ffb1187b39e1f227dc1b43b71", "true_interp", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "1a6b89cc8d5f72da81d8f80e21813e66" + "ec00fd93773996c89ab52e4430e9a648" ], [ "LowStar.Endianness.load16_le", @@ -462,21 +416,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Endianness.u16", "equation_LowStar.Endianness.u8", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_88b76272e3ef261c5506ee93a805fb7b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_fd980f1ffb1187b39e1f227dc1b43b71", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "269bc29cf7ea904a331759867b07d86e" + "4a49171798d70f32642b368f3274ebc4" ], [ "LowStar.Endianness.store16_be", @@ -484,24 +436,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt8.t", + "equation_LowStar.Endianness.u8", + "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_544126ca884c9ae8e3bab39b787b5c70", - "refinement_interpretation_Tm_refine_88b76272e3ef261c5506ee93a805fb7b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_dd788ec164c7291b00eff5a6dd3835b1", + "refinement_interpretation_Tm_refine_fd980f1ffb1187b39e1f227dc1b43b71", "true_interp", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "ac74008c8526f1cfb55f5b21068d773a" + "c21cad70997bc04d2449fdc656478f4c" ], [ "LowStar.Endianness.load16_be", @@ -509,21 +459,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Endianness.u16", "equation_LowStar.Endianness.u8", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_88b76272e3ef261c5506ee93a805fb7b", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_fd980f1ffb1187b39e1f227dc1b43b71", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "3d2a6d003231118bccbaa7791967d63f" + "dae8fa144f1a64c616f0a23c48dab5a7" ], [ "LowStar.Endianness.store32_le", @@ -531,24 +479,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt8.t", + "equation_LowStar.Endianness.u8", + "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_e3e8ea1e9949642ff56ce81b8d1c6463", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_f04b29f2ae1a677ec8847730434e0630", + "refinement_interpretation_Tm_refine_463638a3414c7911b24e2883cb3c8801", + "refinement_interpretation_Tm_refine_880c448d4fb6daf6b4d0789ebcd83bcc", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "true_interp", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "2500d18b6f828375e50cb23ec0bbfa28" + "69b86838235193be518567c7c2a44e5e" ], [ "LowStar.Endianness.load32_le", @@ -556,21 +502,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_e3e8ea1e9949642ff56ce81b8d1c6463", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_880c448d4fb6daf6b4d0789ebcd83bcc", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "dfad8e780c7e87c3e3d230e5e0e041a1" + "e6bd183799fd32ec55db545cd3592ab4" ], [ "LowStar.Endianness.store32_be", @@ -578,24 +522,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt8.t", + "equation_LowStar.Endianness.u8", + "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_730f2db82be746789986d93ad0e02562", - "refinement_interpretation_Tm_refine_e3e8ea1e9949642ff56ce81b8d1c6463", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_880c448d4fb6daf6b4d0789ebcd83bcc", + "refinement_interpretation_Tm_refine_9ddd87ba7733bea067027713d13a1798", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "true_interp", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "a70007e9611a5fe9044125b9b2450528" + "c081ca71c903a18d4bb7ec13a2d0bda4" ], [ "LowStar.Endianness.load32_be", @@ -603,21 +545,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_e3e8ea1e9949642ff56ce81b8d1c6463", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_880c448d4fb6daf6b4d0789ebcd83bcc", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "d7ddc4a2de8cdbd683639ec802dcf51d" + "098e85ced50c6c91c9dd1037b573d769" ], [ "LowStar.Endianness.store64_le", @@ -625,24 +565,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt8.t", + "equation_LowStar.Endianness.u8", + "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_80d63a4002b4c9d7b26764e08af01951", - "refinement_interpretation_Tm_refine_d145eda046742746b500a84c67a32b8d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_0151495e79f0106de4ecdda2f2e8852d", + "refinement_interpretation_Tm_refine_b13f60f62cde71a3420fda61381bfec8", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "true_interp", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "d71ac4d99534fd06906f409f1bbfa3b5" + "97a985b42a3e283d23384eed88f2b582" ], [ "LowStar.Endianness.load64_le", @@ -650,21 +588,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Endianness.u64", "equation_LowStar.Endianness.u8", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_80d63a4002b4c9d7b26764e08af01951", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_b13f60f62cde71a3420fda61381bfec8", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "f506b85105a9b3996ce51b40af059c95" + "8701f52363d32f6f3649e6e407059eac" ], [ "LowStar.Endianness.load64_be", @@ -672,21 +608,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Endianness.u64", "equation_LowStar.Endianness.u8", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_80d63a4002b4c9d7b26764e08af01951", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_b13f60f62cde71a3420fda61381bfec8", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "66b7ef7684be002f4063e06621e145c7" + "dcda657bc8ad4751f1fb6ea72465566f" ], [ "LowStar.Endianness.store64_be", @@ -694,24 +628,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt8.t", + "equation_LowStar.Endianness.u8", + "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_80d63a4002b4c9d7b26764e08af01951", - "refinement_interpretation_Tm_refine_c5d4d24be072847ca9276af8c798900f", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_4439c22b4be64b50d4652405a7a7ce3d", + "refinement_interpretation_Tm_refine_b13f60f62cde71a3420fda61381bfec8", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "true_interp", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "4d07f2be29e9b38b65a8f7e6806019f1" + "fd42af36dcc587bcb87a34e9c185941a" ], [ "LowStar.Endianness.load128_le", @@ -719,22 +651,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt128.n", "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt128.n", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Endianness.u128", "equation_LowStar.Endianness.u8", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_e36e7fa194162fb94cb448be97de0361", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_3c754b844e08de09efa76d8454fb1e84", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "25cfdeb5e28436ac9c183a168c765df5" + "912a518696d46aef090e228e985501cf" ], [ "LowStar.Endianness.store128_le", @@ -742,25 +673,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt128.n", "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt128.n", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt8.t", + "equation_LowStar.Endianness.u8", + "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8b28ce8ccf1ac6edcb90719cb2ba125b", - "refinement_interpretation_Tm_refine_e36e7fa194162fb94cb448be97de0361", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_2ad37fbba88fc2c1ac0b9b08b461bcf4", + "refinement_interpretation_Tm_refine_3c754b844e08de09efa76d8454fb1e84", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "true_interp", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "b4d50386b593b070c678a108dbc1594d" + "4d7ca582f4ae71183f2fe06d5717d4f9" ], [ "LowStar.Endianness.load128_be", @@ -768,22 +698,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt128.n", "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt128.n", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Endianness.u128", "equation_LowStar.Endianness.u8", "function_token_typing_FStar.UInt8.t", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_e36e7fa194162fb94cb448be97de0361", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_3c754b844e08de09efa76d8454fb1e84", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "8633b1aad11a6e48eeef1117d92bd831" + "e152079a428ee05eb20ca693c699d777" ], [ "LowStar.Endianness.store128_be", @@ -791,25 +720,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt128.n", "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt128.n", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.l_True", - "equation_Prims.logical", "function_token_typing_FStar.UInt8.t", + "equation_LowStar.Endianness.u8", + "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5bbb784d6f9e8130bdd46e4ae1f6b566", - "refinement_interpretation_Tm_refine_e36e7fa194162fb94cb448be97de0361", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_3c754b844e08de09efa76d8454fb1e84", + "refinement_interpretation_Tm_refine_b43b16fcb582977fd56f68ee8088c262", + "refinement_interpretation_Tm_refine_dee5701902d0179341e150e1ec26bd2b", "true_interp", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "6a2e03ea8c4612fde5e3af83260af262" + "f82add876da6108fe5c378ed645f41c0" ], [ "LowStar.Endianness.index_32_be", @@ -817,21 +745,15 @@ 0, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxIFuel_assumption", "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint32_of_be", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", + "equation_FStar.Endianness.uint32_of_be", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Endianness.offset_uint32_be", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -840,16 +762,16 @@ "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e329cf0a540d9304867f5c82c0e154", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bc79104a67ad0e47b4e4eb46feaac6ef", + "refinement_interpretation_Tm_refine_04d3a38e1f4cbdb964ddec764a83f992", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e56e67447424dbaaa5c109d7ce442a8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "f193e5c1b28a0c48951868642071b5e8" + "84dde4fc7d47cce926f30f1b47278ae1" ], [ "LowStar.Endianness.index_32_le", @@ -857,21 +779,15 @@ 0, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_le.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxIFuel_assumption", "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint32_of_le", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", + "equation_FStar.Endianness.uint32_of_le", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Endianness.offset_uint32_le", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -880,16 +796,16 @@ "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e329cf0a540d9304867f5c82c0e154", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bc79104a67ad0e47b4e4eb46feaac6ef", + "refinement_interpretation_Tm_refine_04d3a38e1f4cbdb964ddec764a83f992", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e56e67447424dbaaa5c109d7ce442a8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "d6686d38931f2d2b8211d9bce96e2308" + "7727cafce2cf8b2b8453fe0356e93b76" ], [ "LowStar.Endianness.index_64_be", @@ -897,21 +813,16 @@ 0, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.seq_uint64_of_be.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxIFuel_assumption", "@query", "assumption_FStar.UInt64.t__uu___haseq", "b2t_def", "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint64_of_be", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u64", "equation_LowStar.Endianness.u8", + "equation_FStar.Endianness.uint64_of_be", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u64", + "equation_LowStar.Endianness.u8", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Endianness.offset_uint64_be", "lemma_FStar.UInt64.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -920,16 +831,16 @@ "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3b1ce636261509a894bf4f5868f41c83", - "refinement_interpretation_Tm_refine_8f909466f2f9359f80472d34bdba77a4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_69ce499f2e83fe0f8bf0cc8f9eb07f93", + "refinement_interpretation_Tm_refine_adb7578784e1fa35ff935920d57a48bf", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "da0f643adca5462da95b75ce8ea9e7ba" + "17889039cb35226bacd1c52176412441" ], [ "LowStar.Endianness.index_64_le", @@ -938,38 +849,35 @@ 0, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.seq_uint64_of_le.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", "assumption_FStar.UInt64.t__uu___haseq", "b2t_def", "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint64_of_le", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u64", "equation_LowStar.Endianness.u8", + "equation_FStar.Endianness.uint64_of_le", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u64", + "equation_LowStar.Endianness.u8", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", "lemma_FStar.Endianness.offset_uint64_le", - "lemma_FStar.UInt64.uv_inv", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3b1ce636261509a894bf4f5868f41c83", - "refinement_interpretation_Tm_refine_8f909466f2f9359f80472d34bdba77a4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_69ce499f2e83fe0f8bf0cc8f9eb07f93", + "refinement_interpretation_Tm_refine_adb7578784e1fa35ff935920d57a48bf", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "30510e541a4529b3532032dd3ff3dfeb" + "6309a26a185810aaf662d452bc540ae9" ], [ "LowStar.Endianness.interval_4_disjoint", @@ -977,19 +885,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "290c0fd4d6278b2c99fb2a00d6c9e5bb" + "e380e4a40afd7f3134750a61a58e4bf5" ], [ "LowStar.Endianness.upd_32_be", @@ -997,17 +902,10 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Endianness.bytes", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Endianness.bytes", "equation_FStar.Endianness.uint32_of_be", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", @@ -1015,14 +913,11 @@ "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt32.t", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Endianness.offset_uint32_be", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_upd1", @@ -1037,29 +932,25 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08bc9c4ec3a984e4a588520a5da5f494", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_85e329cf0a540d9304867f5c82c0e154", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d0cc00e9df8ef0411c60f8a1e0bf4e44", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5c2b525346c33a672a3723e465bb536d", + "refinement_interpretation_Tm_refine_d4f70803e8f37c065d9272ca8e474ff4", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e56e67447424dbaaa5c109d7ce442a8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", + "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "unit_typing" + "typing_LowStar.Monotonic.Buffer.length" ], 0, - "1fe75b4eec469c71fb252c7307d5b4c2" + "22fbe791b91858034e2d8244a9e3ff8a" ], [ "LowStar.Endianness.store_pre", @@ -1067,23 +958,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "equation_Prims.nat", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cc54e2c7703cdf06295dfca84d0b272e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e9459b5a2b49764aa76d0bacd2384cb8", "typing_FStar.Monotonic.HyperStack.live_region", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "c9f149e0d279d2a756b9b8317838f56d" + "f85952bc3b99620fafb84788dc5a3618" ], [ "LowStar.Endianness.store_post", @@ -1091,23 +980,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "equation_Prims.nat", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cc54e2c7703cdf06295dfca84d0b272e", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e9459b5a2b49764aa76d0bacd2384cb8", "typing_FStar.Monotonic.HyperStack.live_region", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "be23087efd84e20a86bdb6b053b2ea8c" + "cbfd9b30b9d06b3a46d394c8628f5683" ], [ "LowStar.Endianness.store16_le_i", @@ -1115,21 +1002,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fde453c58dd28df9def2b06b959f7b76", "typing_FStar.UInt32.v" ], 0, - "4ee33f2ed321fbbaf272f313231d47f4" + "a14ff349f2b9dfb78022f6c5460a31af" ], [ "LowStar.Endianness.load16_le_i", @@ -1137,24 +1021,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fde453c58dd28df9def2b06b959f7b76", "typing_FStar.UInt32.v" ], 0, - "bc054ffb7fd76ed760eb0e652882819e" + "579becb0a9e099419907fb76c01aad11" ], [ "LowStar.Endianness.store16_be_i", @@ -1162,21 +1044,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fde453c58dd28df9def2b06b959f7b76", "typing_FStar.UInt32.v" ], 0, - "cf0447e054aeaef8915c037e3fbee2e9" + "d7b5f06bc9afcf6d63d34d442a5e0456" ], [ "LowStar.Endianness.load16_be_i", @@ -1184,24 +1063,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fde453c58dd28df9def2b06b959f7b76", "typing_FStar.UInt32.v" ], 0, - "58c4657f0aa2f0954ac215678b8744b7" + "cd66f4b8cf0b38748130ae17bdb46a95" ], [ "LowStar.Endianness.store32_le_i", @@ -1209,21 +1086,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_af39cf35dde11c9d3ef00f93e041c7f5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "d271048795cdc63fe88863999435ec54" + "41b8693edc16539b30e01ce573ad7ab2" ], [ "LowStar.Endianness.load32_le_i", @@ -1231,24 +1105,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_af39cf35dde11c9d3ef00f93e041c7f5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "82a5f96c47515fb0fc596633f1ac8552" + "22d6f85f74aa55a888e2f9d3301fddda" ], [ "LowStar.Endianness.store32_be_i", @@ -1256,21 +1128,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_af39cf35dde11c9d3ef00f93e041c7f5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "e683d5821194656307c94fb4b5735566" + "a19699f6054cc7089a54f05edd0eda2b" ], [ "LowStar.Endianness.load32_be_i", @@ -1278,24 +1147,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_af39cf35dde11c9d3ef00f93e041c7f5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "885b865735c39ed24c44a5fb8f9c65d7" + "6cbf12e4c9dc13aa08ee478572d24a0e" ], [ "LowStar.Endianness.store64_le_i", @@ -1303,21 +1170,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_135354b7644920d7bca4fc2fbe15d80d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "274533f9cf984918f9a5439fb4172b81" + "eb905c41f1687c2619ca8220b65cc53a" ], [ "LowStar.Endianness.load64_le_i", @@ -1325,24 +1189,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_135354b7644920d7bca4fc2fbe15d80d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "0cad0806cede3361f3379cd9dee5c864" + "099da4312f6ade142a201c78b9995bc7" ], [ "LowStar.Endianness.store64_be_i", @@ -1350,21 +1212,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Endianness.u32", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_135354b7644920d7bca4fc2fbe15d80d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "95298c3a66df98630453351c1b8a9a49" + "c435ebc7fe1460a4a53a0378b8f918d3" ], [ "LowStar.Endianness.load64_be_i", @@ -1372,24 +1231,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_135354b7644920d7bca4fc2fbe15d80d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "0fe369394408f701ba166155ec7821c7" + "f4dd319873392de632caaf3c6ed30e8e" ], [ "LowStar.Endianness.store128_le_i", @@ -1397,23 +1254,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9cf0fa428602812f0f5bda0dcd7c6fbd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "2ff8beca70f899b855775362b4f44e11" + "6f86b946d747de27aa0f52376adee54a" ], [ "LowStar.Endianness.load128_le_i", @@ -1421,25 +1275,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9cf0fa428602812f0f5bda0dcd7c6fbd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "e7877bc66e586e413cc47a87b880a23e" + "cd5569956c6525910377444edfcaf73c" ], [ "LowStar.Endianness.store128_be_i", @@ -1447,23 +1299,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9cf0fa428602812f0f5bda0dcd7c6fbd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "0b65c09de466ca9771c007429f849e4b" + "95d219f15a4cec15b8b4bedc3847ed30" ], [ "LowStar.Endianness.load128_be_i", @@ -1471,307 +1320,131 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_9cf0fa428602812f0f5bda0dcd7c6fbd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "aa60112eae61ae38f6aa2b745372c53e" + "e3c084f761604a3a1ba6b851303626a1" ], [ "LowStar.Endianness.store16_le", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "29701005ed263dbf6a6e68fb4e6176d0" + "171b36e0ac045c3f94c264ad05ba2352" ], [ "LowStar.Endianness.load16_le", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "23723fe3f84999497eb48c09eae8ae9a" + "3624cca89204a831722ccea045a77a0e" ], [ "LowStar.Endianness.store16_be", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "7bd2e555de9364d7110a35be3cc7b4b3" + "8d1d27a6713c6c118b6562aa866a0ad9" ], [ "LowStar.Endianness.load16_be", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4e0c4bc4ca1e24afc9718af6c6d7d93b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "01f2a76cf7b4a3a345452da7db36fa08" + "2c979b3dfe527f875c74585f0dc1647e" ], [ "LowStar.Endianness.store32_le", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "3bf58ff1b294b09dfe27a57138fefc83" + "0d32515657d1c92165c59e0e1d38a89e" ], [ "LowStar.Endianness.load32_le", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "2d4b6dbc42f5e679e12b086ec42afdb3" + "77d9e0604fc3975458f48a966d214bdd" ], [ "LowStar.Endianness.store32_be", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "3a2cecc0e764c3c3fab35b09d56f2e94" + "55ed66ef98a028dcb8ef301161b8ec9b" ], [ "LowStar.Endianness.load32_be", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2a03b57b8b3e318c8107894dde5c7a6a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "01da9feb3a4170166fc6a1e4fab2550c" + "ca6e8d6fd45ef335c447a744b130880b" ], [ "LowStar.Endianness.store64_le", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "a490f6f2849c1b3276dbfadd643b1ab8" + "0ed70116ac903b12973ad924ef481d1b" ], [ "LowStar.Endianness.load64_le", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "d0875b16ee0c1a4c0392a008adf3295e" + "aa6fca5df20771a57018f757f4c9d477" ], [ "LowStar.Endianness.load64_be", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "4266b124a97bf9e4ce3b7912481f50e1" + "f5049d041871ba09692215e9c6946c64" ], [ "LowStar.Endianness.store64_be", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_32e5f7895a7356d46f3ae75d9ae3e547", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" - ], + [ "@query" ], 0, - "06837a7e84f1f4a9db20d85cb75464da" + "25cf6ba8ce8411f1d843360413baf883" ], [ "LowStar.Endianness.load128_le", @@ -1779,25 +1452,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" + "@query", "equation_FStar.UInt128.n", + "projection_inverse_BoxInt_proj_0" ], 0, - "769271da865120015658c76ca77d2067" + "2a6948067eb20c4952681a1cf93ff9db" ], [ "LowStar.Endianness.store128_le", @@ -1805,23 +1464,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" + "@query", "equation_FStar.UInt128.n", + "projection_inverse_BoxInt_proj_0" ], 0, - "d47b094f56782f3c2ecc1e9b92fadc88" + "1c47dee45f6f0286d80aa6fc79abdd03" ], [ "LowStar.Endianness.load128_be", @@ -1829,25 +1476,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" + "@query", "equation_FStar.UInt128.n", + "projection_inverse_BoxInt_proj_0" ], 0, - "af7575b0f8974f0b543a604b4b088587" + "728c60cc548f3cdb8039d7121af7f8a2" ], [ "LowStar.Endianness.store128_be", @@ -1855,23 +1488,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e9cad665306cb6dc9f4809e5a0e4a1b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" + "@query", "equation_FStar.UInt128.n", + "projection_inverse_BoxInt_proj_0" ], 0, - "52f82c1e23b3d5397ce978284bda2cf2" + "f4f1f0ad41a5bd19d3fd5d4db4c33a4a" ], [ "LowStar.Endianness.index_32_be", @@ -1880,28 +1501,25 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e329cf0a540d9304867f5c82c0e154", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bc79104a67ad0e47b4e4eb46feaac6ef", + "refinement_interpretation_Tm_refine_04d3a38e1f4cbdb964ddec764a83f992", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e56e67447424dbaaa5c109d7ce442a8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "b7d3c02a21c9ca9e7e8f8d16bec67292" + "910dcd9567be0e3df36a844aa5cd765e" ], [ "LowStar.Endianness.index_32_le", @@ -1910,28 +1528,25 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e329cf0a540d9304867f5c82c0e154", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bc79104a67ad0e47b4e4eb46feaac6ef", + "refinement_interpretation_Tm_refine_04d3a38e1f4cbdb964ddec764a83f992", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e56e67447424dbaaa5c109d7ce442a8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "ee7dda721f2e1bc91a11915d7f16aac4" + "b50fc2bb05495f337b6813516c4c1fa6" ], [ "LowStar.Endianness.index_64_be", @@ -1940,28 +1555,25 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt64.t__uu___haseq", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3b1ce636261509a894bf4f5868f41c83", - "refinement_interpretation_Tm_refine_8f909466f2f9359f80472d34bdba77a4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_69ce499f2e83fe0f8bf0cc8f9eb07f93", + "refinement_interpretation_Tm_refine_adb7578784e1fa35ff935920d57a48bf", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "86dc88b8b151cfde710b5757ceb19e65" + "d3d012c543498ed004ce0d1bb6164875" ], [ "LowStar.Endianness.index_64_le", @@ -1970,28 +1582,25 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt64.t__uu___haseq", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3b1ce636261509a894bf4f5868f41c83", - "refinement_interpretation_Tm_refine_8f909466f2f9359f80472d34bdba77a4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_69ce499f2e83fe0f8bf0cc8f9eb07f93", + "refinement_interpretation_Tm_refine_adb7578784e1fa35ff935920d57a48bf", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "71cea9eb19ba654ab6b3626374230209" + "76f45a276e22adc8aadc4133281cf3d7" ], [ "LowStar.Endianness.interval_4_disjoint", @@ -1999,16 +1608,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "3c0f02b6a4b18a6198581f3a38a84239" + "90608e677764aa02d5452851b338e142" ], [ "LowStar.Endianness.upd_32_be", @@ -2016,45 +1622,28 @@ 0, 0, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt.pow2_values", + "function_token_typing_FStar.UInt8.t", "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_85e329cf0a540d9304867f5c82c0e154", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d0cc00e9df8ef0411c60f8a1e0bf4e44", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.len", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5c2b525346c33a672a3723e465bb536d", + "refinement_interpretation_Tm_refine_e56e67447424dbaaa5c109d7ce442a8e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "b024734bc15ce7aad5684a77d8bb9299" + "0746ce48dd4798739b23c73526103afa" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.ImmutableBuffer.fst b/ulib/LowStar.ImmutableBuffer.fst index 322d7a57657..ddd89f8152e 100644 --- a/ulib/LowStar.ImmutableBuffer.fst +++ b/ulib/LowStar.ImmutableBuffer.fst @@ -45,7 +45,20 @@ inline_for_extraction let isub (#a:Type0) = msub #a #(immutable_preorder a) #(im inline_for_extraction let ioffset (#a:Type0) = moffset #a #(immutable_preorder a) #(immutable_preorder a) (immutable_preorder a) -private let cpred (#a:Type0) (s:Seq.seq a) :spred a = fun s1 -> Seq.equal s s1 +(* + * It's a bit sub-optimal that we have both cpred and seq_eq + * Ideally it should only be the erased version seq_eq + * + * However, Lib.Buffer in hacl is already using cpred, so keeping it for now + * But it should be cleaned up when that dependency is gone + *) +let cpred (#a:Type0) (s:Seq.seq a) :spred a = fun s1 -> Seq.equal s s1 + +let seq_eq (s:Ghost.erased (Seq.seq 'a)) (s':Seq.seq 'a) = + s' `Seq.equal` Ghost.reveal s + +let value_is #a (b:ibuffer a) (s:Ghost.erased (Seq.seq a)) = + witnessed b (seq_eq s) unfold let libuffer (a:Type0) (len:nat) (s:Seq.seq a) = b:lmbuffer a (immutable_preorder a) (immutable_preorder a) len{witnessed b (cpred s)} @@ -62,6 +75,27 @@ let igcmalloc (#a:Type0) (r:HS.rid) (init:a) (len:U32.t) witness_p b (cpred (Seq.create (U32.v len) init)); b +(* + * Unlike other allocation functions in this module, + * this function (and other flavors of alloc_and_blit) don't provide the witnessed contents + * as the refinement of the return type + * This is because the contents depend on the input memory (== the contents of src) + *) +let igcmalloc_and_blit (#a:Type0) (r:HS.rid) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.ST (b:lmbuffer a (immutable_preorder a) (immutable_preorder a) (U32.v len){frameOf b == r}) + (requires fun h0 -> + malloc_pre r len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + let s = Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len) in + alloc_post_mem_common b h0 h1 s /\ + b `value_is` G.hide s) + = let b = mgcmalloc_and_blit r src id_src len in + let h0 = HST.get () in + witness_p b (seq_eq (G.hide (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len)))); + b + inline_for_extraction let igcmalloc_partial (#a:Type0) (r:HS.rid) (init:a) (len:U32.t) :HST.ST (b:libuffer_or_null a (U32.v len) r (Seq.create (U32.v len) init){recallable b}) @@ -77,6 +111,21 @@ let imalloc (#a:Type0) (r:HS.rid) (init:a) (len:U32.t) witness_p b (cpred (Seq.create (U32.v len) init)); b +let imalloc_and_blit (#a:Type0) (r:HS.rid) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.ST (b:lmbuffer a (immutable_preorder a) (immutable_preorder a) (U32.v len){frameOf b == r /\ freeable b}) + (requires fun h0 -> + malloc_pre r len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + let s = Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len) in + alloc_post_mem_common b h0 h1 s /\ + b `value_is` G.hide s) + = let b = mmalloc_and_blit r src id_src len in + let h0 = HST.get () in + witness_p b (seq_eq (G.hide (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len)))); + b + inline_for_extraction let imalloc_partial (#a:Type0) (r:HS.rid) (init:a) (len:U32.t) :HST.ST (b:libuffer_or_null a (U32.v len) r (Seq.create (U32.v len) init){(not (g_is_null b)) ==> freeable b}) @@ -93,6 +142,22 @@ let ialloca (#a:Type0) (init:a) (len:U32.t) witness_p b (cpred (Seq.create (U32.v len) init)); b +let ialloca_and_blit (#a:Type0) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.StackInline (b:lmbuffer a (immutable_preorder a) (immutable_preorder a) (U32.v len)) + (requires fun h0 -> + alloca_pre len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + let s = Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len) in + alloc_post_mem_common b h0 h1 s /\ + frameOf b == HS.get_tip h0 /\ + b `value_is` G.hide s) + = let b = malloca_and_blit src id_src len in + let h0 = HST.get () in + witness_p b (seq_eq (G.hide (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len)))); + b + let ialloca_of_list (#a:Type0) (init: list a) :HST.StackInline (b:libuffer a (normalize_term (List.Tot.length init)) (Seq.seq_of_list init)) (requires (fun _ -> alloca_of_list_pre init)) @@ -127,6 +192,17 @@ let recall_contents (#a:Type0) (b:ibuffer a) (s:Seq.seq a) (ensures (fun h0 _ h1 -> h0 == h1 /\ live h0 b /\ as_seq h0 b == s)) = recall_p b (cpred s) +let witness_value (#a:Type0) (b:ibuffer a) + :HST.ST unit (requires (fun h0 -> True)) + (ensures (fun h0 _ h1 -> h0 == h1 /\ b `value_is` (Ghost.hide (as_seq h1 b)))) + = let h = HST.get () in + let s = Ghost.hide (as_seq h b) in + witness_p b (seq_eq s) + +let recall_value (#a:Type0) (b:ibuffer a) (s:Ghost.erased (Seq.seq a)) + :HST.ST unit (requires (fun h0 -> (recallable b \/ live h0 b) /\ b `value_is` s)) + (ensures (fun h0 _ h1 -> h0 == h1 /\ live h1 b /\ as_seq h1 b == Ghost.reveal s)) + = recall_p b (seq_eq s) (* * Immutable buffers are distinct from (trivial) buffers diff --git a/ulib/LowStar.ImmutableBuffer.fst.hints b/ulib/LowStar.ImmutableBuffer.fst.hints index e01aa33aee5..f0c3add7c5c 100644 --- a/ulib/LowStar.ImmutableBuffer.fst.hints +++ b/ulib/LowStar.ImmutableBuffer.fst.hints @@ -1,5 +1,5 @@ [ - "\rO!¸ìàç\u0014³[Ó—/!'i", + "”&•\u0011¤‰ÈFò,\u001dp\u000fm§­", [ [ "LowStar.ImmutableBuffer.immutable_preorder", @@ -9,13 +9,13 @@ [ "@query", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "equation_FStar.Preorder.transitive", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl" ], 0, - "db88148c36da5d7999d6d238c2eb40e6" + "fc719e4cb9e666df8abd8620e3f21d80" ], [ "LowStar.ImmutableBuffer.igcmalloc", @@ -25,31 +25,71 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Preorder.preorder", + "b2t_def", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_LowStar.ImmutableBuffer.cpred", "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "function_token_typing_LowStar.ImmutableBuffer.cpred", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_37560e28f6dd2b3399591d334840ee7c", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_593a90e6b9922b915af57577c33b682a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_e5741246f011944b88f151c871fc34fd", "typing_LowStar.ImmutableBuffer.immutable_preorder" ], 0, - "8d23f83d75893969cf7a5f810af13a56" + "6b8a476afd7bc577ff13f907016d3a20" + ], + [ + "LowStar.ImmutableBuffer.igcmalloc_and_blit", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "b2t_def", "equation_FStar.Preorder.preorder", + "equation_FStar.Preorder.preorder_rel", + "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", + "equation_LowStar.ImmutableBuffer.immutable_preorder", + "equation_LowStar.ImmutableBuffer.seq_eq", + "equation_LowStar.ImmutableBuffer.value_is", + "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", + "int_inversion", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_eq_refl", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_45bbe770989b9c988ddff673dcf48d7f", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_e5741246f011944b88f151c871fc34fd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", + "typing_FStar.Seq.Base.seq", "typing_FStar.UInt32.v", + "typing_LowStar.ImmutableBuffer.immutable_preorder", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none" + ], + 0, + "5edb261ac9c282eb39e8df0bade0f6b7" ], [ "LowStar.ImmutableBuffer.igcmalloc_partial", @@ -68,7 +108,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "4134658f1d6c504f4090bc5da70ce582" + "c4295ffe6624af053bac18e87a8797d4" ], [ "LowStar.ImmutableBuffer.imalloc", @@ -78,31 +118,69 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Preorder.preorder", + "b2t_def", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_LowStar.ImmutableBuffer.cpred", "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "function_token_typing_LowStar.ImmutableBuffer.cpred", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_37560e28f6dd2b3399591d334840ee7c", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_30f0f6e57eac741b56df42155d22fb12", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_c99d50506075a936e258c0aa796e5922", "typing_LowStar.ImmutableBuffer.immutable_preorder" ], 0, - "76ffc1f78ba42d3f21b62a28a4906897" + "2f9ff53cdb6d2ad4648406c2cb13550d" + ], + [ + "LowStar.ImmutableBuffer.imalloc_and_blit", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "b2t_def", "equation_FStar.Preorder.preorder", + "equation_FStar.Preorder.preorder_rel", + "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", + "equation_LowStar.ImmutableBuffer.immutable_preorder", + "equation_LowStar.ImmutableBuffer.seq_eq", + "equation_LowStar.ImmutableBuffer.value_is", + "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", + "int_inversion", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_eq_refl", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", + "typing_FStar.Seq.Base.seq", "typing_FStar.UInt32.v", + "typing_LowStar.ImmutableBuffer.immutable_preorder", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none" + ], + 0, + "bc895d8b1794ad2a8610e942595808f4" ], [ "LowStar.ImmutableBuffer.imalloc_partial", @@ -121,7 +199,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "f4c13a63a384854d16bb4704c992316c" + "2646595bd8f5b5b212f2991347947c7d" ], [ "LowStar.ImmutableBuffer.ialloca", @@ -131,31 +209,70 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Preorder.preorder", + "b2t_def", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_LowStar.ImmutableBuffer.cpred", "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "function_token_typing_LowStar.ImmutableBuffer.cpred", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_37560e28f6dd2b3399591d334840ee7c", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_97d7efb4c09595b4bea8dedfb1201608", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_ce924f0b742c2f487f4d49b6dc968489", "typing_LowStar.ImmutableBuffer.immutable_preorder" ], 0, - "3feed5148332dcd61bab04f1ea028439" + "70003edfcccab5ed70603d2ffc602cc0" + ], + [ + "LowStar.ImmutableBuffer.ialloca_and_blit", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "b2t_def", "equation_FStar.Preorder.preorder", + "equation_FStar.Preorder.preorder_rel", + "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", + "equation_LowStar.ImmutableBuffer.immutable_preorder", + "equation_LowStar.ImmutableBuffer.seq_eq", + "equation_LowStar.ImmutableBuffer.value_is", "equation_Prims.nat", + "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", + "int_inversion", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_eq_refl", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b7dc68121a6e5ecaed08c46083255713", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Seq.Base.seq", "typing_FStar.UInt32.v", + "typing_LowStar.ImmutableBuffer.immutable_preorder", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_none" + ], + 0, + "54cd8ba6bccf312d70fd40edaa1a15fe" ], [ "LowStar.ImmutableBuffer.ialloca_of_list", @@ -168,24 +285,22 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "bool_inversion", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Preorder.preorder", + "bool_inversion", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_LowStar.ImmutableBuffer.cpred", "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.logical", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "interpretation_Tm_abs_37560e28f6dd2b3399591d334840ee7c", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_275a13eb87217dc8355a9d25b048648d", - "refinement_interpretation_Tm_refine_bae49c28c457d8a041a1d2652d66bb1c", + "refinement_interpretation_Tm_refine_9807da2af966dc3ead6e40917ab2d265", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", "refinement_interpretation_Tm_refine_e3d94c8906109d999cea3d7d289c2116", @@ -196,7 +311,7 @@ "typing_LowStar.Monotonic.Buffer.g_is_null" ], 0, - "2d669d23f1e73c5eed9b2c3890e9cf22" + "62984db89a7842edf4c633f022bdd56e" ], [ "LowStar.ImmutableBuffer.igcmalloc_of_list", @@ -206,20 +321,18 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Preorder.preorder", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_LowStar.ImmutableBuffer.cpred", "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.logical", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "interpretation_Tm_abs_37560e28f6dd2b3399591d334840ee7c", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", "refinement_interpretation_Tm_refine_1205a050dff76e44b765d2b5ecbf1a5d", - "refinement_interpretation_Tm_refine_87c995f5f3d0d2f451658a4c018ea563", + "refinement_interpretation_Tm_refine_36f5e9395beebba9612ea57cdeca01fe", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", "refinement_interpretation_Tm_refine_fb1b732460e2f06dbff453fe93d45221", @@ -229,7 +342,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "ed4c69ae6f12f909b18973f1b386ddcb" + "f422b66c02b59796039a65eb1a39e9b0" ], [ "LowStar.ImmutableBuffer.igcmalloc_of_list_partial", @@ -241,7 +354,7 @@ "refinement_interpretation_Tm_refine_1205a050dff76e44b765d2b5ecbf1a5d" ], 0, - "b527caed0e580f28892119d588be814f" + "e80971ea7d14e7e5b595032f6caec976" ], [ "LowStar.ImmutableBuffer.witness_contents", @@ -250,23 +363,26 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", + "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "equation_FStar.Preorder.preorder", + "equation_FStar.Preorder.preorder_rel", + "equation_FStar.Preorder.reflexive", "equation_LowStar.ImmutableBuffer.cpred", "equation_LowStar.ImmutableBuffer.ibuffer", "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.logical", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "interpretation_Tm_abs_37560e28f6dd2b3399591d334840ee7c", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", - "refinement_interpretation_Tm_refine_ad6449fbac3bda93ec19e7db11a5bd8a", + "refinement_interpretation_Tm_refine_14751b93824bda7edf18bc368eb291a4", + "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", "token_correspondence_LowStar.ImmutableBuffer.cpred", "typing_LowStar.ImmutableBuffer.immutable_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "8a4be77df80f6a5a1697353a50a60ca1" + "adbaf5ca6659e93a47d7e8dc2e59a723" ], [ "LowStar.ImmutableBuffer.recall_contents", @@ -278,42 +394,80 @@ "equation_LowStar.ImmutableBuffer.ibuffer", "equation_LowStar.ImmutableBuffer.immutable_preorder", "function_token_typing_LowStar.ImmutableBuffer.cpred", - "interpretation_Tm_abs_37560e28f6dd2b3399591d334840ee7c", + "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", "lemma_FStar.Seq.Base.lemma_eq_elim", "typing_LowStar.ImmutableBuffer.immutable_preorder", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "e292f9d5a550799877e0e63ce232094a" + "dfec3a65619d0587418fbeafbdf7200e" ], [ - "LowStar.ImmutableBuffer.inhabited_immutable_buffer_is_distinct_from_buffer", + "LowStar.ImmutableBuffer.witness_value", + 1, + 2, + 1, + [ + "@query", "equation_LowStar.ImmutableBuffer.ibuffer", + "equation_LowStar.ImmutableBuffer.immutable_preorder", + "equation_LowStar.ImmutableBuffer.seq_eq", + "equation_LowStar.ImmutableBuffer.value_is", + "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_eq_refl", "typing_FStar.Seq.Base.seq", + "typing_LowStar.ImmutableBuffer.immutable_preorder", + "typing_LowStar.Monotonic.Buffer.as_seq" + ], + 0, + "28fbb991e798efa346c91ed497b6b5af" + ], + [ + "LowStar.ImmutableBuffer.recall_value", 1, 2, 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowStar.Buffer.buffer", + "equation_LowStar.ImmutableBuffer.ibuffer", + "equation_LowStar.ImmutableBuffer.immutable_preorder", + "equation_LowStar.ImmutableBuffer.seq_eq", + "equation_LowStar.ImmutableBuffer.value_is", + "lemma_FStar.Seq.Base.lemma_eq_elim", + "refinement_interpretation_Tm_refine_133bd68452bdd5438a0cd800974412f0", + "typing_FStar.Ghost.reveal", "typing_FStar.Seq.Base.seq", + "typing_LowStar.ImmutableBuffer.immutable_preorder", + "typing_LowStar.Monotonic.Buffer.as_seq" + ], + 0, + "6cc0e09d87565abdfe2478355b9a9a47" + ], + [ + "LowStar.ImmutableBuffer.inhabited_immutable_buffer_is_distinct_from_buffer", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.ImmutableBuffer.ibuffer", "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "int_typing", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Base.lemma_create_len", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp", "typing_FStar.Seq.Base.create", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.ImmutableBuffer.immutable_preorder" ], 0, - "6b22940f08e2af3313afae08ed8a16be" + "50703893583f3435ac6351d27a1e1a08" ], [ "LowStar.ImmutableBuffer.buffer_immutable_buffer_disjoint", @@ -329,15 +483,14 @@ "equation_LowStar.ImmutableBuffer.ibuffer", "equation_LowStar.ImmutableBuffer.immutable_preorder", "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_LowStar.Buffer.trivial_preorder", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -351,6 +504,7 @@ "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LowStar.ImmutableBuffer.immutable_preorder", "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Seq.Base.empty", "typing_FStar.Set.mem", @@ -364,7 +518,7 @@ "unit_typing" ], 0, - "7e495ae11db65db8c0413a0167fd21cc" + "50cf09b5e320aa9cd95d6c4a3e6d18a3" ], [ "LowStar.ImmutableBuffer.immutable_preorder", @@ -374,13 +528,13 @@ [ "@query", "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.logical", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "equation_FStar.Preorder.transitive", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl" ], 0, - "ea41ecb416de1bc76e3b1893bac5c5be" + "4dc5ca8ffb49fc30e9e1efe588effa97" ], [ "LowStar.ImmutableBuffer.igsub_inj", @@ -389,79 +543,57 @@ 1, [ "@query" ], 0, - "3bf0a4634a909dc19e90d88d133cb39d" + "54783b7c1eb1cf8f8b7937df1bedfc81" ], [ "LowStar.ImmutableBuffer.isub", 1, 2, 1, - [ "@query" ], - 0, - "c401d3aa7b6cbfaa37c3374a949b016a" - ], - [ - "LowStar.ImmutableBuffer.isub", - 2, - 2, - 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "interpretation_Tm_abs_289262f073cd8588d3c054b90f90e81a", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9136dd720dc771197c9f97542ca696c0", - "refinement_interpretation_Tm_refine_98e9f673588f758b0cb39841e72743a3", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5d0b7fd116190066d9e851ffa55c5a84", + "refinement_interpretation_Tm_refine_7c8fba31f88c82f59782005a48646fe6", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v" + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", + "typing_FStar.UInt32.v" ], 0, - "bf08be22d2c5547730710522602dbbc7" + "c03cbec2a2f88d92f6cfa06748fff874" ], [ "LowStar.ImmutableBuffer.ioffset", 1, 2, 1, - [ "@query" ], - 0, - "c7866f416c724cf71031c8d6f8e4ae0c" - ], - [ - "LowStar.ImmutableBuffer.ioffset", - 2, - 2, - 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", @@ -469,14 +601,11 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.length", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_b333c99d6919700fbd31b164a13d8676", + "interpretation_Tm_abs_249d1c3bd80443720fe655bad189f747", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -485,12 +614,12 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_44bc480f523faabeba942954cd17c5f6", - "refinement_interpretation_Tm_refine_9136dd720dc771197c9f97542ca696c0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_7c8fba31f88c82f59782005a48646fe6", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_bdd757efc2e3a8f93f6ef15978941860", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v", @@ -498,7 +627,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "18c1bf52e421587c4af5cd82bbb86584" + "57db1dc010e3035e9214f10def0a4b81" ], [ "LowStar.ImmutableBuffer.igcmalloc", @@ -506,17 +635,36 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "285fce355589a31fb6feeb4f173da29c" + "58064f90a6d2c4880b81fb10716917ff" + ], + [ + "LowStar.ImmutableBuffer.igcmalloc_and_blit", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", + "typing_FStar.UInt32.v" + ], + 0, + "788273b05c133e8f4d70fa506947daea" ], [ "LowStar.ImmutableBuffer.igcmalloc_partial", @@ -524,17 +672,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "261d57357e424335330718fd480a125e" + "182751421fc8211f4ae2cb287e92e5f7" ], [ "LowStar.ImmutableBuffer.imalloc", @@ -542,17 +688,36 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9d03bf2285b8551a6ec54b135bf443fc" + "671a3ec95edc4e3fa1f371dc0d14fecd" + ], + [ + "LowStar.ImmutableBuffer.imalloc_and_blit", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", + "typing_FStar.UInt32.v" + ], + 0, + "6adf0d6aea51b281723914ad419b0f28" ], [ "LowStar.ImmutableBuffer.imalloc_partial", @@ -560,17 +725,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "b1ede5be4bd3d50dd3ddeda3146bc555" + "4d101522712a13074c562831a0d77706" ], [ "LowStar.ImmutableBuffer.ialloca", @@ -578,17 +741,38 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" + ], + 0, + "f328f0bd6814f117ff058bfc1a44c131" + ], + [ + "LowStar.ImmutableBuffer.ialloca_and_blit", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b7dc68121a6e5ecaed08c46083255713", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "f8436e705df355505581b48132a8537d" + "0fd4bf286227f67735389c07b0fe6033" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.Literal.fsti b/ulib/LowStar.Literal.fsti index c328d8ff68a..fd7a4d7e4e3 100644 --- a/ulib/LowStar.Literal.fsti +++ b/ulib/LowStar.Literal.fsti @@ -50,9 +50,7 @@ let for_all_tail #a p (l: list a { Cons? l }): Lemma let ascii_chars_of_ascii_string (s: ascii_string): l:list ascii_char { List.Tot.length l = String.length s } -= - let l = String.list_of_string s in - List.Tot.list_refb (String.list_of_string s) += List.Tot.list_refb #(Char.char) #_ (String.list_of_string s) let u8_of_ascii_char (c: ascii_char): x:UInt8.t{ UInt8.v x = Char.int_of_char c } = let x32 = Char.u32_of_char c in diff --git a/ulib/LowStar.Literal.fsti.hints b/ulib/LowStar.Literal.fsti.hints index b8164060245..1b75a8fb3e8 100644 --- a/ulib/LowStar.Literal.fsti.hints +++ b/ulib/LowStar.Literal.fsti.hints @@ -1,5 +1,5 @@ [ - "ëˆ\u0004à\bÖÄŠq´jæ\u007f%êá", + "Sfâóžâ\u0013äs–u|¦7Ô", [ [ "LowStar.Literal.for_all_tail", @@ -20,7 +20,7 @@ "typing_FStar.List.Tot.Base.for_all", "typing_FStar.List.Tot.Base.tl" ], 0, - "ebf2b7da6406a42237b94c8b4310cd37" + "001d3c02374384ac90c130ab16b6d6cb" ], [ "LowStar.Literal.ascii_chars_of_ascii_string", @@ -28,22 +28,19 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.String.char", "equation_FStar.String.strlen", + "@MaxIFuel_assumption", "@query", "equation_FStar.String.char", + "equation_FStar.String.strlen", "equation_LowStar.Literal.ascii_char", "equation_LowStar.Literal.ascii_string", "equation_LowStar.Literal.is_ascii_string", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_0a0c3bedf8712ba76f9dab189acff128", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_7f4c578b4dcde91bb19180b62a7b1bc9", "string_inversion" ], 0, - "729d7eb4fc27f7c47bb4f89ea5b0054c" + "85a5600382a0f4235d1eee6b084de463" ], [ "LowStar.Literal.u8_of_ascii_char", @@ -54,34 +51,31 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Char.char_code", - "equation_FStar.Char.int_of_char", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_LowStar.Literal.ascii_char", + "b2t_def", "bool_inversion", "bool_typing", + "equation_FStar.Char.char_code", "equation_FStar.Char.int_of_char", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_LowStar.Literal.ascii_char", "equation_LowStar.Literal.is_ascii_char", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", + "equation_Prims.pos", "int_inversion", "int_typing", + "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6fc56b4d7fc6efe6fb69466347ddc5e5", - "refinement_interpretation_Tm_refine_92a53be2e4bd54cc177d691368675d8c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_c57d36ad039c8c467f84a3cddbd2134b", + "refinement_interpretation_Tm_refine_da8a5d5b6c0cfe614aa2a94edab9875d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Char.int_of_char", "typing_FStar.Char.u32_of_char", "typing_FStar.UInt32.v", "typing_LowStar.Literal.is_ascii_char", "typing_Prims.pow2" ], 0, - "d4fd4b041658259d15f8b0774aa2d55c" + "7eaafa8f8701ee05ab4ca7fba4208709" ], [ "LowStar.Literal.u8s_of_ascii_string", @@ -95,9 +89,8 @@ "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", "@query", - "LowStar.Literal_interpretation_Tm_arrow_40201c8c2fb7cba36a52af1e89d2c3a5", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", + "LowStar.Literal_interpretation_Tm_arrow_c39b1b4e364386cd6aac4542e6a1401a", "equation_FStar.String.strlen", "equation_LowStar.Literal.ascii_char", "equation_LowStar.Literal.ascii_chars_of_ascii_string", @@ -105,20 +98,19 @@ "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Literal.ascii_char", "function_token_typing_LowStar.Literal.u8_of_ascii_char", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.List.Tot.Properties.map_lemma", - "refinement_interpretation_Tm_refine_0a0c3bedf8712ba76f9dab189acff128", + "refinement_interpretation_Tm_refine_0d1e508b87fa2fc445fd2b399d50d35d", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_49b6429a4664fabf9a3a0cea0e287d38", - "refinement_interpretation_Tm_refine_8863811eee065995c2f94fc1fff057f9", + "refinement_interpretation_Tm_refine_417742c186d56dfcf3dc8b23779927cb", + "refinement_interpretation_Tm_refine_7f4c578b4dcde91bb19180b62a7b1bc9", "string_inversion", "token_correspondence_LowStar.Literal.u8_of_ascii_char", "typing_LowStar.Literal.ascii_chars_of_ascii_string" ], 0, - "4a6b7c4caf82064c7e4541477fdc4517" + "5136348c8ab8523f32342e0a13647800" ], [ "LowStar.Literal.buffer_of_literal_post", @@ -128,11 +120,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9686174e82b314eb8bd45eb7770660c6" + "069197f6e17561225460e08d2df34751" ], [ "LowStar.Literal.buf_len_of_literal", @@ -147,15 +139,17 @@ "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperStack.mem", + "LowStar.Literal_interpretation_Tm_arrow_fc1554671c39653ed371206100dcafd3", + "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.String.char", "equation_FStar.String.strlen", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.ImmutableBuffer.ibuffer", + "equation_LowStar.ImmutableBuffer.immutable_preorder", "equation_LowStar.Literal.ascii_string", "equation_LowStar.Literal.is_ascii_string", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", @@ -165,9 +159,8 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.Literal.is_ascii_char", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_a347709bfeba48709474ad26f4f6be87", "int_typing", + "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", "lemma_FStar.UInt.pow2_values", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -177,14 +170,14 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0262d56bf1a9881c80f0e841bdd52592", - "refinement_interpretation_Tm_refine_0a0c3bedf8712ba76f9dab189acff128", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_524f2c8e054d3ee9f4c70fd2486371cb", - "refinement_interpretation_Tm_refine_83ea021691bede865221253853f6e899", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5b5999aae4696b44f132ec1e7bb5511e", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7f4c578b4dcde91bb19180b62a7b1bc9", + "refinement_interpretation_Tm_refine_da4aaf17bfa7d226f09299fde0fcf760", + "refinement_interpretation_Tm_refine_f0b961e2ff2b6a1e22a2530c160863e0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "string_inversion", "token_correspondence_LowStar.Literal.is_ascii_char", "typing_FStar.Char.char", "typing_FStar.String.list_of_string", @@ -195,7 +188,7 @@ "typing_LowStar.Monotonic.Buffer.len", "typing_Prims.pow2" ], 0, - "3b6c16b9b904c96b7f69c6a3fc4a99a4" + "910f7d36e893db3132ac1bccda7d5f1c" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.Monotonic.Buffer.fst b/ulib/LowStar.Monotonic.Buffer.fst index 4ebff4d031c..0d5ad59cc2b 100644 --- a/ulib/LowStar.Monotonic.Buffer.fst +++ b/ulib/LowStar.Monotonic.Buffer.fst @@ -1416,25 +1416,48 @@ let freeable_disjoint #_ #_ #_ #_ #_ #_ b1 b2 = MG.loc_disjoint_aloc_elim #_ #cls #(frameOf b1) #(as_addr b1) #(frameOf b2) #(as_addr b2) (ubuffer_of_buffer b1) (ubuffer_of_buffer b2) private let alloc_heap_common (#a:Type0) (#rrel:srel a) - (r:HST.erid) (init:a) (len:U32.t{U32.v len > 0}) (mm:bool) + (r:HST.erid) (len:U32.t{U32.v len > 0}) (s:Seq.seq a{Seq.length s == U32.v len}) + (mm:bool) :HST.ST (lmbuffer a rrel rrel (U32.v len)) (requires (fun _ -> True)) - (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init) /\ + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 s /\ frameOf b == r /\ HS.is_mm (Buffer?.content b) == mm /\ Buffer?.idx b == 0ul /\ Buffer?.length b == Buffer?.max_length b)) - = let s = Seq.create (U32.v len) init in - lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; + = lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; let content: HST.mreference (Seq.lseq a (U32.v len)) (srel_to_lsrel (U32.v len) rrel) = if mm then HST.ralloc_mm r s else HST.ralloc r s in let b = Buffer len content 0ul len in b -let mgcmalloc #_ #_ r init len = alloc_heap_common r init len false - -let mmalloc #_ #_ r init len = alloc_heap_common r init len true +let mgcmalloc #_ #_ r init len = + alloc_heap_common r len (Seq.create (U32.v len) init) false + +private let read_sub_buffer (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (idx len:U32.t) + : HST.ST (Seq.seq a) + (requires fun h0 -> + live h0 b /\ U32.v len > 0 /\ + U32.v idx + U32.v len <= length b) + (ensures fun h0 s h1 -> + h0 == h1 /\ + s == Seq.slice (as_seq h0 b) (U32.v idx) (U32.v idx + U32.v len)) + = let open HST in + let s = ! (Buffer?.content b) in //the whole allocation unit + let s = Seq.slice s (U32.v (Buffer?.idx b)) + (U32.v (Buffer?.idx b) + U32.v (Buffer?.length b)) in //b buffer + Seq.slice s (U32.v idx) (U32.v idx + U32.v len) //slice of b + +let mgcmalloc_and_blit #_ #_ r #_ #_ src id_src len = + alloc_heap_common r len (read_sub_buffer src id_src len) false + +let mmalloc #_ #_ r init len = + alloc_heap_common r len (Seq.create (U32.v len) init) true + +let mmalloc_and_blit #_ #_ r #_ #_ src id_src len = + alloc_heap_common r len (read_sub_buffer src id_src len) true let malloca #a #rrel init len = lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; @@ -1444,6 +1467,14 @@ let malloca #a #rrel init len = let b = Buffer len content 0ul len in b +let malloca_and_blit #a #rrel #_ #_ src id_src len = + lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; + let content: HST.mreference (Seq.lseq a (U32.v len)) (srel_to_lsrel (U32.v len) rrel) = + HST.salloc (read_sub_buffer src id_src len) + in + let b = Buffer len content 0ul len in + b + let malloca_of_list #a #rrel init = let len = U32.uint_to_t (FStar.List.Tot.length init) in let s = Seq.seq_of_list init in @@ -1464,10 +1495,21 @@ let mgcmalloc_of_list #a #rrel r init = let b = Buffer len content 0ul len in b -#push-options "--z3rlimit 64 --max_fuel 1 --max_ifuel 1 --initial_fuel 1 --initial_ifuel 1" +#push-options "--max_fuel 0 --initial_ifuel 1 --max_ifuel 1 --z3rlimit 64" let blit #a #rrel1 #rrel2 #rel1 #rel2 src idx_src dst idx_dst len = let open HST in - if len = 0ul then () + if len = 0ul then begin + (* + * AR: 07/03: the then case, which should actually be trivial, takes a long time to verify + * we should do some z3 profiling to see what's going on + *) + let h = get () in + Seq.slice_is_empty (as_seq h dst) (U32.v idx_dst); + Seq.slice_is_empty (as_seq h src) (U32.v idx_src); + assert (Seq.equal (Seq.slice (as_seq h dst) (U32.v idx_dst) (U32.v idx_dst + U32.v len)) + (Seq.slice (as_seq h src) (U32.v idx_src) (U32.v idx_src + U32.v len))); + () + end else let h = get () in let Buffer _ content1 idx1 length1 = src in diff --git a/ulib/LowStar.Monotonic.Buffer.fst.hints b/ulib/LowStar.Monotonic.Buffer.fst.hints old mode 100755 new mode 100644 index 5aff0507026..89e571e04fd --- a/ulib/LowStar.Monotonic.Buffer.fst.hints +++ b/ulib/LowStar.Monotonic.Buffer.fst.hints @@ -1,5 +1,5 @@ [ - "Ê‚`ŽI¯&À\u00108}\f@d'¦", + "¢\u001au5\n\u0014KYæ\bA\u001a”· Ä", [ [ "LowStar.Monotonic.Buffer.srel_to_lsrel", @@ -18,7 +18,7 @@ "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" ], 0, - "d5a72175e1e3223e79a11ba1dbb1bcff" + "ac8a064ae5968c1aa20eaa7132cb747a" ], [ "LowStar.Monotonic.Buffer.compatible_sub_preorder", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "fd79806869725385b8a39cadd3cda1a2" + "87bf003b06334552d0715b09ff387045" ], [ "LowStar.Monotonic.Buffer.lemma_seq_sub_compatilibity_is_reflexive", @@ -45,12 +45,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Seq.Properties.replace_subseq", "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", + "equation_Prims.nat", "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -59,19 +57,20 @@ "lemma_FStar.Seq.Properties.slice_length", "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.replace_subseq" ], 0, - "bfa2ef904f656b8d5884eabeaa13fb5a" + "a12a7d20399aac93eee2bfab0945d7b2" ], [ "LowStar.Monotonic.Buffer.lemma_seq_sub_compatibility_is_transitive", @@ -80,8 +79,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "eq2-interp", "equation_FStar.Seq.Properties.replace_subseq", "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", "equation_Prims.l_imp", "equation_Prims.nat", @@ -101,21 +99,21 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ebf2d5bf287d44ea11c850d5293c6aa1", + "refinement_interpretation_Tm_refine_71432620ca549a94645f9c8211799947", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "unit_inversion", "unit_typing" + "typing_FStar.Seq.Base.slice" ], 0, - "4a5244cdb83b812f7059c83dbd2a0663" + "f31b6e0e31b28766bf5cfc18eb64ecd6" ], [ "LowStar.Monotonic.Buffer.mbuffer", @@ -133,7 +131,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "f850f62a405179d64e2dfd016639f4bd" + "ec08adeed73d41cf128f9f4835b02b9b" ], [ "LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", @@ -147,7 +145,7 @@ "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30" ], 0, - "92b658e1d245b00cf5358b74c2d359b1" + "67cc902ed4d1b38a8981c69e589182ba" ], [ "LowStar.Monotonic.Buffer.__proj__Buffer__item__content", @@ -165,7 +163,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "8ef0abf11df10e0900415240180554f6" + "4a11d574320b30e6cdf703c89f690fa4" ], [ "LowStar.Monotonic.Buffer.__proj__Buffer__item__content", @@ -195,7 +193,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "61b1b26b819cf4dec0516aa986f388af" + "804a55a51aa46bc409761bf1d0166e5c" ], [ "LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", @@ -209,7 +207,7 @@ "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30" ], 0, - "445a21b2fd3431925b0e6b5f81eead91" + "f349d953c7f58292c76d4b83f423a9f1" ], [ "LowStar.Monotonic.Buffer.__proj__Buffer__item__length", @@ -227,7 +225,7 @@ "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30" ], 0, - "1192213a16b8e7517713fca47f8851de" + "072cadb8999c15f2f72b1ccba8b896ea" ], [ "LowStar.Monotonic.Buffer.mnull", @@ -244,7 +242,7 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel" ], 0, - "753ec61da66b4fc2735b584f0fb9b555" + "63e685424d6d377060443eba089c23f4" ], [ "LowStar.Monotonic.Buffer.null_unique", @@ -261,7 +259,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4c4763d2b2ee6238aa48406d0a571700" + "f575080f74e330fc9f417d61803c6bc2" ], [ "LowStar.Monotonic.Buffer.unused_in", @@ -284,7 +282,7 @@ "typing_FStar.UInt32.v" ], 0, - "ca431fbacd5ee2329cdb246be739b981" + "9d2cc45c655fb4b621403fc797e7d7cb" ], [ "LowStar.Monotonic.Buffer.buffer_compatible", @@ -292,24 +290,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "4b630f626d74bb056a7c56f5b21d6cd7" + "33fce7bdc55d35728eefa07a90f97778" ], [ "LowStar.Monotonic.Buffer.live", @@ -332,7 +328,7 @@ "typing_FStar.UInt32.v" ], 0, - "0a76505cf187b451b31d54f9667e5196" + "63da86a8b9da62ded0b7703754e35dcd" ], [ "LowStar.Monotonic.Buffer.live_null", @@ -349,7 +345,7 @@ "true_interp" ], 0, - "6d384833a0d41c2e05d7e510682c04c8" + "997978a0cf99580f385302ef5f21c8dd" ], [ "LowStar.Monotonic.Buffer.live_is_null", @@ -358,7 +354,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "f3caba92c03ef5e3ece254b6f78d1c9b" + "4faca11a7434cb4957a42ac184c6846d" ], [ "LowStar.Monotonic.Buffer.live_not_unused_in", @@ -367,9 +363,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -387,21 +381,19 @@ "equation_LowStar.Monotonic.Buffer.unused_in", "equation_Prims.nat", "false_interp", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.as_ref", @@ -414,7 +406,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "e808912eb822ccf03236c9f9bc79e67d" + "c9fb9f0089dc874fe3bdbf2ab2f002c9" ], [ "LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", @@ -423,11 +415,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", + "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.mreference", @@ -446,9 +435,7 @@ "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", + "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.lemma_equal_elim", @@ -457,10 +444,10 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", @@ -474,7 +461,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "a7b60d35d8d9e0475f8588ca88010270" + "71684200cca5eae1ed46ce414958e067" ], [ "LowStar.Monotonic.Buffer.frameOf", @@ -495,7 +482,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "4d974a90068a68ed8380f51a7a9a68d4" + "2298929773fc03c7e8a09b98fbdb9453" ], [ "LowStar.Monotonic.Buffer.as_addr", @@ -517,7 +504,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "45af8d7e477b521a3b2c99f18b2b5c67" + "cf4151f2b2d92236dc8be788527e5eef" ], [ "LowStar.Monotonic.Buffer.unused_in_equiv", @@ -526,9 +513,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.mreference", @@ -552,7 +537,6 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", @@ -561,10 +545,10 @@ "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.unused_in", "typing_FStar.Monotonic.HyperHeap.rid", @@ -578,7 +562,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "470fa2b4ac634456cbbae0b01cf7bd91" + "5fb59edfb7190e36278f05b679aaa4c2" ], [ "LowStar.Monotonic.Buffer.live_region_frameOf", @@ -603,7 +587,7 @@ "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -612,7 +596,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "2fde62194bd9b8e6bad8b56fc7ffd533" + "b4350af11faba50deb2da0a223c91a54" ], [ "LowStar.Monotonic.Buffer.len", @@ -626,7 +610,7 @@ "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "6ba50f2de9cb2601986c36c620a61933" + "afd5d11cedb9ea0ca653e5a0f3b647a8" ], [ "LowStar.Monotonic.Buffer.length", @@ -640,7 +624,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "89b0834208b45957a68f47006bd2914c" + "b08bb38c1627b21b84d305ab6b7b5287" ], [ "LowStar.Monotonic.Buffer.len_null", @@ -656,7 +640,7 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel" ], 0, - "236fa37666c17bb551c64b69972f957b" + "d49df6691d557de91d3483ea25b626d4" ], [ "LowStar.Monotonic.Buffer.length_null_1", @@ -664,9 +648,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_LowStar.Monotonic.Buffer.Null", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", @@ -675,23 +657,22 @@ "equation_LowStar.Monotonic.Buffer.g_is_null", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Monotonic.Buffer.mnull", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "int_typing", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_LowStar.Monotonic.Buffer.Null_a", "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "5ddc67ede936bde5b03d9b435735e282" + "3621f599a8d725649e498fef8fa4e4d3" ], [ "LowStar.Monotonic.Buffer.length_null_2", @@ -703,7 +684,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3b3a97c6132783d2a7603ec1a2dc51cd" + "4b9363e70c48713762a8dcb9ba60c267" ], [ "LowStar.Monotonic.Buffer.as_seq", @@ -711,9 +692,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "disc_equation_LowStar.Monotonic.Buffer.Buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -723,23 +703,21 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "fd02d0477823719a56ba3b4fe245110a" + "cf8dbb7f75a1d5ff68318c1fc4eccd40" ], [ "LowStar.Monotonic.Buffer.length_as_seq", @@ -748,8 +726,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.mreference", @@ -770,9 +747,8 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_LowStar.Monotonic.Buffer.length_null_1", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -781,13 +757,13 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -800,7 +776,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "17828152b64a8e4d9e6fd0df9303b8e0" + "fbba6a00baa30d3281ab0fe1eee88cf8" ], [ "LowStar.Monotonic.Buffer.get", @@ -809,7 +785,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.length_as_seq" ], 0, - "1ea4fba207c4bd90a79b4ccfd5cbfd67" + "94b74d6489cb1e087ccbf9567fd58d00" ], [ "LowStar.Monotonic.Buffer.mbuffer_injectivity_in_first_preorder", @@ -821,7 +797,7 @@ "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer" ], 0, - "7e3f010be0ef3a66c24cb90d9ac179aa" + "8930b4218f1d67cde13fe442121241b9" ], [ "LowStar.Monotonic.Buffer.compatible_sub", @@ -829,24 +805,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0f0c906a9593cc41a5e101eabd7d1b2e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e58265ec7d7a25517bdbc13fe0540e3b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "e4dc87d1cf44699ec15e824942f19340" + "a4be1c43f424ea85338c8a34b190461d" ], [ "LowStar.Monotonic.Buffer.mgsub", @@ -854,9 +828,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", @@ -866,18 +838,17 @@ "equation_LowStar.Monotonic.Buffer.len", "equation_LowStar.Monotonic.Buffer.length", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "161e63a9e19f4aa0ec20e39112ab4169" + "091131dd34e836b9e17ed1bd178a29d8" ], [ "LowStar.Monotonic.Buffer.live_gsub", @@ -889,10 +860,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "eaa3a7e99a938716a0b8cc8b123f104b" + "43f99a05d86f26521e0d771c651f96e5" ], [ "LowStar.Monotonic.Buffer.live_gsub", @@ -900,10 +871,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "constructor_distinct_LowStar.Monotonic.Buffer.Null", "data_elim_FStar.Monotonic.HyperStack.MkRef", @@ -912,7 +881,6 @@ "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", @@ -930,11 +898,10 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "projection_inverse_BoxBool_proj_0", @@ -950,11 +917,11 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains", @@ -964,7 +931,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "d0c208e557fea9eb39b3d88aaf5efab1" + "a3ce23d1d81b645244292c400bb4f9d6" ], [ "LowStar.Monotonic.Buffer.gsub_is_null", @@ -975,10 +942,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "86d8add6867041c09984f7a869916c83" + "fa2e3795fc340db1cf2b334a93591a16" ], [ "LowStar.Monotonic.Buffer.gsub_is_null", @@ -1006,7 +973,7 @@ "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4" ], 0, - "ca88eead27efbee9dc35bf4a9ea4f408" + "98dae79043a2d57cfb3312ee31133cb5" ], [ "LowStar.Monotonic.Buffer.len_gsub", @@ -1017,10 +984,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "afe0d95ad75f87fcaf10605c5813e660" + "8baccc4517307c2bed4f81e17a29d224" ], [ "LowStar.Monotonic.Buffer.len_gsub", @@ -1028,8 +995,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "constructor_distinct_LowStar.Monotonic.Buffer.Null", "data_elim_LowStar.Monotonic.Buffer.Buffer", @@ -1046,25 +1012,28 @@ "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_null_1", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", "projection_inverse_LowStar.Monotonic.Buffer.Null_a", "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mgsub" + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "13a2c6dc35a03332f29fb693385b8e2c" + "21eb120eab47def437384ca5e38f4abb" ], [ "LowStar.Monotonic.Buffer.frameOf_gsub", @@ -1075,10 +1044,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "f724025dc6a82dc4c5422e7dc8cb5528" + "56d750806ae63bf251288f5a9fd2540e" ], [ "LowStar.Monotonic.Buffer.frameOf_gsub", @@ -1116,7 +1085,7 @@ "typing_FStar.UInt32.v" ], 0, - "7a0edd431a14f3115d5df195e5f9c37c" + "24ca2512e388d7a371e4e47e354f619c" ], [ "LowStar.Monotonic.Buffer.as_addr_gsub", @@ -1127,10 +1096,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d79e0dc06043b6e948bfc674f7129fbb" + "80fb92ce8dc84d6a8889f69f88685289" ], [ "LowStar.Monotonic.Buffer.as_addr_gsub", @@ -1162,7 +1131,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "f1ee37d5cdc583f397037bf36145c590" + "408c024c97ae1e07d6343a10c55ac4c5" ], [ "LowStar.Monotonic.Buffer.mgsub_inj", @@ -1171,7 +1140,7 @@ 1, [ "@query" ], 0, - "996dfefc822f0c08cc83f0d28b8d3e70" + "9d56f521baed6f977cf4e7f7b2347dfe" ], [ "LowStar.Monotonic.Buffer.mgsub_inj", @@ -1180,8 +1149,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", + "bool_inversion", "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "constructor_distinct_LowStar.Monotonic.Buffer.Null", "data_elim_LowStar.Monotonic.Buffer.Buffer", @@ -1196,11 +1165,12 @@ "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Monotonic.Buffer.mgsub", "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", + "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt32.uv_inv", + "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", @@ -1210,14 +1180,19 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.len" + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "4bd24f6c6a727dce0ad6f16916b3a6d9" + "52427a2897fa53d84e5b16d7a5f22858" ], [ "LowStar.Monotonic.Buffer.gsub_gsub", @@ -1225,26 +1200,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_and", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", + "equation_Prims.squash", "int_inversion", "l_and-interp", "lemma_LowStar.Monotonic.Buffer.len_gsub", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "7298ae6893fe4cdfca2d31c961c3e590" + "d4138e6220be90d0d20c2933fa13db41" ], [ "LowStar.Monotonic.Buffer.gsub_gsub", @@ -1254,30 +1226,29 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.UInt32.t", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "constructor_distinct_LowStar.Monotonic.Buffer.Null", + "constructor_distinct_Prims.unit", "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", "equation_LowStar.Monotonic.Buffer.g_is_null", "equation_LowStar.Monotonic.Buffer.len", "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "equation_LowStar.Monotonic.Buffer.mgsub", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Properties.slice_length", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -1293,17 +1264,19 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_a", "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mgsub" + "typing_LowStar.Monotonic.Buffer.mgsub", "unit_typing" ], 0, - "6a8c29c11c8c3585500be2370cb6b463" + "866b71e67bd2df39e11fd07d02160a9d" ], [ "LowStar.Monotonic.Buffer.gsub_zero_length", @@ -1315,7 +1288,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "002676717f5e090361a013e353e3253a" + "6878b36e2fc7d41a6b2e497948604cc9" ], [ "LowStar.Monotonic.Buffer.gsub_zero_length", @@ -1324,8 +1297,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", "equation_FStar.HyperStack.ST.mreference", @@ -1341,7 +1313,6 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -1349,18 +1320,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "05db9d07b8ab7ec80f9879549d5ecbcd" + "b0ade4c4fcca0e09a9eb5fd6aa8beeae" ], [ "LowStar.Monotonic.Buffer.as_seq_gsub", @@ -1368,23 +1339,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "47c4ea8fa5e442fd202283f4ba94c7ae" + "73d71e2bf9c04cf3d49bd270c575c768" ], [ "LowStar.Monotonic.Buffer.as_seq_gsub", @@ -1392,16 +1361,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Seq.Base.seq", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "constructor_distinct_Prims.unit", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1412,16 +1375,17 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.as_seq", + "equation_LowStar.Monotonic.Buffer.g_is_null", "equation_LowStar.Monotonic.Buffer.len", "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", + "equation_LowStar.Monotonic.Buffer.mgsub", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Properties.slice_length", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_1", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -1437,22 +1401,24 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_a", "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.empty", "typing_FStar.UInt32.add", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.mgsub", "unit_typing" + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "2b970a76601202f6707113c1bbd023fc" + "67c0bfdfd112622c1bf7b160d5a7f351" ], [ "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders'", @@ -1462,21 +1428,16 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", "eq2-interp", + "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -1485,33 +1446,29 @@ "equation_LowStar.Monotonic.Buffer.g_is_null", "equation_LowStar.Monotonic.Buffer.live", "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.pos", - "equation_Prims.squash", + "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", "typing_FStar.Monotonic.HyperStack.as_ref", + "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Properties.lseq", @@ -1519,10 +1476,10 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.uu___is_Null", "unit_typing" + "typing_LowStar.Monotonic.Buffer.uu___is_Null" ], 0, - "83246bbb3f9d638ac0a425847092e24e" + "7d33d45e05da8ababecf74e60d9d33ce" ], [ "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders", @@ -1531,7 +1488,7 @@ 1, [ "@query" ], 0, - "4a9bd8a08ae3ab3fb1a52424a8bd0865" + "b5d1770047931f68cd31884dcd71b821" ], [ "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders", @@ -1540,7 +1497,7 @@ 1, [ "@query" ], 0, - "81fd36254d3d6d22806ab1e8aadabee3" + "31f1504fbca4fb78f3808cfeb6859d72" ], [ "LowStar.Monotonic.Buffer.ubuffer_of_buffer'", @@ -1548,15 +1505,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", @@ -1570,11 +1525,11 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8" + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" ], 0, - "4af8cdec9f4872d5504b935e70d5392b" + "9f9ff50a3194e2ce8ed3575c77226abc" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved'", @@ -1598,11 +1553,11 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LowStar.Monotonic.Buffer.uu___is_Buffer" ], 0, - "5ebc9bca5703b4348deb41aedbf9676b" + "98e192e7b029dbbd641593d2b13a7c00" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_intro", @@ -1610,8 +1565,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -1620,7 +1574,6 @@ "equation_LowStar.Monotonic.Buffer.len", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", @@ -1636,15 +1589,15 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Monotonic.Buffer.uu___is_Buffer" ], 0, - "6fc53ed54d884b40dd6ed3d48917592d" + "91be9b21239e7c91d0864048f8d68a7a" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_intro", @@ -1652,8 +1605,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -1665,9 +1617,8 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -1681,15 +1632,15 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.Monotonic.Buffer.uu___is_Buffer" ], 0, - "5ec3b67b2cfcbb4ebf8177c0bf68a302" + "51f18f39c6714ae7598778e1446f70b3" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_refl", @@ -1698,7 +1649,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "equation_FStar.HyperStack.ST.mreference", @@ -1715,8 +1665,7 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_refl", + "int_typing", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -1724,8 +1673,8 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "typing_FStar.Ghost.reveal", "typing_FStar.Seq.Base.slice", @@ -1733,7 +1682,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "417e7f43a656a6f81ebaf8bcb85cce17" + "1e28ed1bb2bdbaa98fe2facfb0382437" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_trans", @@ -1741,8 +1690,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1762,8 +1710,7 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -1773,9 +1720,9 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", @@ -1787,7 +1734,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "d9896c824759f51e65c92d4b18e8c167" + "fd727b8cf0e2d7493e829d8ba53d5d2f" ], [ "LowStar.Monotonic.Buffer.same_mreference_ubuffer_preserved", @@ -1796,7 +1743,7 @@ 1, [ "@query" ], 0, - "a428a35ac7d285f520146221a24e67b2" + "97defd39462b1bd39824a956740cb6f2" ], [ "LowStar.Monotonic.Buffer.same_mreference_ubuffer_preserved", @@ -1805,7 +1752,7 @@ 1, [ "@query" ], 0, - "1de46235c18e9cdef1ba0fb1b5528db8" + "9455a1e0ef9c69b52adea7e5fc5ad16a" ], [ "LowStar.Monotonic.Buffer.same_mreference_ubuffer_preserved", @@ -1813,9 +1760,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.mreference", @@ -1842,8 +1788,7 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -1859,12 +1804,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", @@ -1877,7 +1822,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "2d61f630a3a647db7366bfaa0cd08e42" + "ecea905f3de4d0f1c98b541389d0eb2d" ], [ "LowStar.Monotonic.Buffer.addr_unused_in_ubuffer_preserved", @@ -1885,9 +1830,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", @@ -1922,9 +1866,9 @@ "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "true_interp", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", @@ -1937,7 +1881,7 @@ "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content" ], 0, - "06da74da0e3bb5c4058df977f62b63a8" + "50cd4b5a4c5801d40f2bf8d02c594679" ], [ "LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", @@ -1945,11 +1889,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", @@ -1969,11 +1910,11 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Ghost.reveal_hide", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", @@ -1989,22 +1930,25 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", + "typing_FStar.Monotonic.HyperStack.is_mm", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "10d466740dcb970e35c89ca03acf8676" + "a29524f1408a015b4aa132263ba8c68d" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_elim", @@ -2013,8 +1957,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", "disc_equation_LowStar.Monotonic.Buffer.Buffer", @@ -2037,7 +1980,6 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Properties.slice_length", @@ -2059,11 +2001,11 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Monotonic.HyperStack.live_region", @@ -2076,7 +2018,7 @@ "typing_LowStar.Monotonic.Buffer.uu___is_Null" ], 0, - "af556b9181d67a06d95d51a565c77ccd" + "4566ddf5142660e6037b3d5cf74eeb3b" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_from_to_elim", @@ -2100,7 +2042,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "72fd053603ed281bc7aeeb573d900b1c" + "971aeb2b0aee1638e6bbfc5254efd754" ], [ "LowStar.Monotonic.Buffer.ubuffer_preserved_from_to_elim", @@ -2109,8 +2051,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", @@ -2137,9 +2078,8 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Seq.Base.lemma_eq_elim", + "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -2161,24 +2101,26 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "typing_LowStar.Monotonic.Buffer.ubuffer___419" ], 0, - "643fd44f262dc4ceeeb11d689be01e36" + "beea5dfa8f8ce039545430f1f79661ba" ], [ "LowStar.Monotonic.Buffer.unused_in_ubuffer_preserved", @@ -2187,7 +2129,7 @@ 1, [ "@query" ], 0, - "cc71b278bd819087301a26c049f5adf0" + "2cf92350df0d2d2c366520c1438889ad" ], [ "LowStar.Monotonic.Buffer.ubuffer_includes_refl", @@ -2200,7 +2142,7 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_includes_" ], 0, - "8e38ee883ed79488fb80536e003c7e93" + "e5151e690c4917f16a6ef9506302368a" ], [ "LowStar.Monotonic.Buffer.ubuffer_includes_trans", @@ -2213,7 +2155,7 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_includes_" ], 0, - "979543c49978a351bfc6e0a8c2f9da2c" + "23f08affd2b60c5793299eb103f04601" ], [ "LowStar.Monotonic.Buffer.ubuffer_disjoint_sym", @@ -2231,7 +2173,7 @@ "projection_inverse_BoxBool_proj_0", "true_interp" ], 0, - "d5b333691810ce4f6a4024575cf6301b" + "759d4e52f47b40b0ce7b08266c5b7c2c" ], [ "LowStar.Monotonic.Buffer.ubuffer_disjoint_includes", @@ -2258,14 +2200,14 @@ "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "true_interp", "typing_FStar.Ghost.reveal", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length" ], 0, - "866c34df9beb14b027daed364ceaf373" + "dcde136556a3bb49555c6a6c511821c0" ], [ "LowStar.Monotonic.Buffer.liveness_preservation_intro", @@ -2274,7 +2216,7 @@ 1, [ "@query" ], 0, - "9d134297bde0d0a29b22a59d8484863b" + "8aa2efa0d0b213c4b576715ec8990ef5" ], [ "LowStar.Monotonic.Buffer.liveness_preservation_intro", @@ -2283,7 +2225,7 @@ 1, [ "@query" ], 0, - "8ad026ddb8c18ab57403710b78ef805a" + "6f7f6d85603bcc3475349d607ffdb625" ], [ "LowStar.Monotonic.Buffer.liveness_preservation_intro", @@ -2320,7 +2262,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "0a0d1054a0eb9b151a42a9c4d74a92a0" + "c826bc6e64823643359b1f2344e022ff" ], [ "LowStar.Monotonic.Buffer.modifies_0_live_region", @@ -2333,7 +2275,7 @@ "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_regions" ], 0, - "ddb9545cc4abfa2b3d1356092a013f81" + "31a2f84f8a59da49c240f76591000cbe" ], [ "LowStar.Monotonic.Buffer.modifies_0_mreference", @@ -2350,7 +2292,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "03e39c46232e2931602863ee065bf2b4" + "40d648287c8463246fa6935b85fa8cbc" ], [ "LowStar.Monotonic.Buffer.modifies_0_ubuffer", @@ -2359,7 +2301,7 @@ 1, [ "@query" ], 0, - "f896d15f9d0dac2a61e0c54eba3d39d3" + "c8e489426c5caa251c8e6e83f5a4b90e" ], [ "LowStar.Monotonic.Buffer.modifies_0_unused_in", @@ -2375,7 +2317,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "e16b189f8ae2b1f5f687c596be8a6d0b" + "8dbc2f735d49a5774e0da9a4c3dc85e8" ], [ "LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", @@ -2384,7 +2326,7 @@ 1, [ "@query" ], 0, - "5f309d501edaf44d08be22dc256c5792" + "425f9592a5882d21c827e5b9bd2b5c2c" ], [ "LowStar.Monotonic.Buffer.modifies_1_live_region", @@ -2398,7 +2340,7 @@ "equation_LowStar.Monotonic.Buffer.modifies_1_" ], 0, - "10ec79dabe2101a3a32022ea675d8308" + "a4dc92d505d96e35bce3a2c17a368b38" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_live_region", @@ -2413,7 +2355,7 @@ "l_and-interp" ], 0, - "6bb01f2f7154e9304a0786c96ac7d262" + "90e0dc9fd95d0ff402406d47e3bf3570" ], [ "LowStar.Monotonic.Buffer.modifies_1_liveness", @@ -2430,7 +2372,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "e453aa4325d2a2461a54a4ccdebbe6ac" + "dd53646a0acf553dbc04577789f8a04d" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_liveness", @@ -2450,7 +2392,7 @@ "l_and-interp" ], 0, - "b168ae1ff08f6707355e5894d5afbf82" + "5353287bf93ebe0d00e45e1ec8703e3b" ], [ "LowStar.Monotonic.Buffer.modifies_1_unused_in", @@ -2466,7 +2408,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "a03bc0487d3195bbaa209ceacb933b02" + "5e2a67bd63b0d1e4acf48c5c559fbf80" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_unused_in", @@ -2483,7 +2425,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "cf417ede82ecda87c5c17b4f52f5f4e5" + "34b0127ff77f52aa4ef38341eadcca8f" ], [ "LowStar.Monotonic.Buffer.modifies_1_mreference", @@ -2492,7 +2434,7 @@ 1, [ "@query" ], 0, - "80ed5eb98ba1b45ba7805ab0fbe92dcc" + "60b51b650166a615b0cf76f8f8bdf38f" ], [ "LowStar.Monotonic.Buffer.modifies_1_mreference", @@ -2510,7 +2452,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "203fc452d16b17b8f36f40606386cc42" + "c9dfb9c63ced8dd06c19b8888a810456" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_mreference", @@ -2530,7 +2472,7 @@ "l_and-interp" ], 0, - "58a938743db54369a866f3bf97a57ad3" + "9004f5f9d528de2abf3ae81089080fbf" ], [ "LowStar.Monotonic.Buffer.modifies_1_ubuffer", @@ -2543,7 +2485,7 @@ "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_ubuffers" ], 0, - "fa660155e18611138b4e333cb172dd94" + "f528c5afaac5d24edff3036b3a5f8fb6" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_ubuffer", @@ -2551,9 +2493,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", @@ -2586,8 +2527,7 @@ "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -2604,12 +2544,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", @@ -2625,7 +2565,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "65b8663003499a12269274d119434088" + "59b1256de60194e0663a5f925bfa044c" ], [ "LowStar.Monotonic.Buffer.modifies_1_null", @@ -2633,8 +2573,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_LowStar.Monotonic.Buffer.as_addr", "equation_LowStar.Monotonic.Buffer.g_is_null", @@ -2644,15 +2583,13 @@ "equation_LowStar.Monotonic.Buffer.modifies_1", "equation_LowStar.Monotonic.Buffer.modifies_1_", "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "equation_Prims.pos", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_LowStar.Monotonic.Buffer.g_is_null" ], 0, - "2cab14d102e31a73996bb9a8d84ac43f" + "20e0b33e4f295d0910b42652e78b3014" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_preserves_not_unused_in", @@ -2662,11 +2599,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "350c51f0fa1bb697062294028f93baf5" + "e093d30f23f0fcd107f26c2ee9385722" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_live_region", @@ -2680,7 +2617,7 @@ "equation_LowStar.Monotonic.Buffer.modifies_addr_of_" ], 0, - "cf3e57ce69095aca80a0efa134debe11" + "19e85b1fe8ca016345ec3009db614d8b" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_mreference", @@ -2689,7 +2626,7 @@ 1, [ "@query" ], 0, - "d0ee44088e94075b18a8b181d4ba501c" + "358ac231cfceb3b665f50536cacb07d3" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_mreference", @@ -2706,7 +2643,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "690f297c2391d3c80d2d8775f04faf18" + "8e211fec1d4b8ace1305c0b09cbe9789" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_unused_in", @@ -2714,16 +2651,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "01d524669400b0ad70d90e6a82f91936" + "58ca3e7af4d6168623938d1e7665bb15" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_unused_in", @@ -2739,7 +2673,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "5e6eb9e51cef10e8aeed3de8f9404c1f" + "f0097ca9f083af8c9ba0bc273ecbcea8" ], [ "LowStar.Monotonic.Buffer.cls", @@ -2748,7 +2682,7 @@ 1, [ "@query" ], 0, - "ad9c0a42d854c9f9b8fd4f906a5024be" + "48d6c80cb0eedd38fa7be85b69d1090d" ], [ "LowStar.Monotonic.Buffer.loc_union_idem", @@ -2757,7 +2691,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "8130e26121e8795477d8a257087eb452" + "b269c76fcce661788f35344a370fb92b" ], [ "LowStar.Monotonic.Buffer.loc_union_comm", @@ -2766,7 +2700,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "c8cdbcc92905d5198f42544eecc95149" + "637ccbb24cb862c2c835b7c3bcee74b4" ], [ "LowStar.Monotonic.Buffer.loc_union_assoc", @@ -2775,7 +2709,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "d09777bd19696c030a56d827bdbff3b3" + "eda02ca12fed3a2d1d5a1448b230b8ab" ], [ "LowStar.Monotonic.Buffer.loc_union_idem_1", @@ -2784,7 +2718,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_union_idem" ], 0, - "0b8865e7f2fe28f0390d955e7719c497" + "aeecac0319c994321a423b0ef9ef81a6" ], [ "LowStar.Monotonic.Buffer.loc_union_idem_2", @@ -2793,7 +2727,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_union_idem" ], 0, - "a6769237a85327fe68758660d3427b0d" + "7c31bf6499fdd161a3255e0badc23d1d" ], [ "LowStar.Monotonic.Buffer.loc_union_loc_none_l", @@ -2805,7 +2739,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "3bb92e95df76730412599972b835834a" + "efdc078dba8ba78d3f305e9093124286" ], [ "LowStar.Monotonic.Buffer.loc_union_loc_none_r", @@ -2817,7 +2751,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "73f5f9713919197da01f335d76d0ad83" + "12c364feacd6ad28123f96c1a318b473" ], [ "LowStar.Monotonic.Buffer.loc_buffer_eq", @@ -2825,11 +2759,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", @@ -2856,7 +2787,6 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.ubuffer_", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -2878,10 +2808,10 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", @@ -2898,7 +2828,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer" ], 0, - "384d2adb213eb20ed9dc29cc2921dcf4" + "dc9230b0e5d16f841d37204e949fcbbf" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_high", @@ -2906,10 +2836,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_LowStar.Monotonic.Buffer.Null", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.g_is_null", @@ -2920,18 +2848,17 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length" ], 0, - "6d59463f27d39a0f694c3e6f5392c213" + "e3e64df563d5fe516d9580e0dad62ed6" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_none", @@ -2946,7 +2873,7 @@ "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" ], 0, - "45b215c552c52914bbccc3a8955b9149" + "12c1f1aa5fe9ae73b15787489ae8e4ad" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_mgsub", @@ -2954,24 +2881,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_and", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.squash", "int_inversion", "l_and-interp", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "d370257c3f26e7b28f3262842d5c3f92" + "f21fda5030cdd2a9ce24e0b1599e2d8a" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_mgsub", @@ -2980,8 +2905,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", @@ -3007,10 +2931,8 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.gsub_is_null", "lemma_LowStar.Monotonic.Buffer.len_gsub", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -3036,17 +2958,19 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.len", @@ -3055,7 +2979,7 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "f3168d41af66d3373d63c152eb30a6da" + "53cff46add3f4a194dc258c4350b3405" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_eq", @@ -3063,22 +2987,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "69e9daa5cc77dc36a231afa3975c41f9" + "e246ad6967e2187dd2607e5b7037b39f" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_eq", @@ -3087,8 +3009,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", @@ -3115,10 +3036,8 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.gsub_is_null", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", @@ -3143,16 +3062,18 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.frameOf", @@ -3164,7 +3085,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___419" ], 0, - "9e7be93be990a9fb4a56cb7061b86f0f" + "d4ac924e6ec7d6934392ae6dc8f7f817" ], [ "LowStar.Monotonic.Buffer.loc_buffer_null", @@ -3183,7 +3104,7 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel" ], 0, - "ca514a57e461ce0fcf386fd2c54b4bd6" + "f6d9666c93a9987c520e61c501dee446" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_eq", @@ -3191,25 +3112,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_and", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.squash", "int_inversion", "l_and-interp", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "f3bd248111dd4a8873b23359ae56df0d" + "d0f4f1c927f6a1c2ef46db3808342ef2" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_eq", @@ -3218,8 +3137,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "data_elim_LowStar.Monotonic.Buffer.Buffer", @@ -3248,7 +3166,6 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", @@ -3273,14 +3190,14 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", @@ -3295,7 +3212,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___419" ], 0, - "19b07ef349a52f1fb64edc89aa82730d" + "df25e42c4c6538ec70d8a88ea890aec1" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_rel_eq", @@ -3306,10 +3223,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "c6e99bfc32dac70de3480f8ab199c400" + "e235f5e9bf54c0700e3f32d4b7be0b5a" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_rel_eq", @@ -3350,7 +3267,7 @@ "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "3f8ed9292d707d6ce4dd36fcb028cf72" + "993899763dd877161ecb5b610555d954" ], [ "LowStar.Monotonic.Buffer.loc_addresses", @@ -3360,11 +3277,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "011f2adcac35bf781f23bcd843c47f0f" + "72f3050bb86f6dc5a93c80e010f8f469" ], [ "LowStar.Monotonic.Buffer.loc_addr_of_buffer", @@ -3374,11 +3291,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6a6f8c69aad09c4ac735de06ed63c222" + "951d5b0ceb30d5af50f7b5cc92ddaa61" ], [ "LowStar.Monotonic.Buffer.loc_mreference", @@ -3386,16 +3303,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9ab11440342eefe19bba9907de1cb365" + "d92e0f9454c075c02f066fadf2bd08cc" ], [ "LowStar.Monotonic.Buffer.loc_freed_mreference", @@ -3403,16 +3317,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d4cec90869c103e0eedfd1a8ddcc977f" + "c684bddb83debb07aaacf3c6686125d7" ], [ "LowStar.Monotonic.Buffer.loc_includes_refl", @@ -3421,7 +3332,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_includes" ], 0, - "7fa3d7d9d2e9fd108b88842353c0048b" + "31780bc95d72158a244626a7fc28347c" ], [ "LowStar.Monotonic.Buffer.loc_includes_trans", @@ -3430,7 +3341,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_includes" ], 0, - "cee15e056fb03de09dad6a6f1bb5dcca" + "2aac2a210cabf70fbe6b31723ec7a6ed" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_r", @@ -3442,7 +3353,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "4186ea2ed236bba97077b7da663f51fa" + "80839ad504b1ae5bbe973995a2b459b8" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l", @@ -3454,7 +3365,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "b821b632a2d8fdbba8fa55bb46f12ef5" + "9cd24a89e09b06b1c2002ca390ca54bf" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_r'", @@ -3463,7 +3374,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "4c263264dcd7399773281fa04772766f" + "479f9e040d74cc59eb5bcedb226b3011" ], [ "LowStar.Monotonic.Buffer.loc_includes_none", @@ -3475,7 +3386,7 @@ "equation_LowStar.Monotonic.Buffer.loc_none" ], 0, - "2c6c9e84a6a60f665e1fda8dd49be524" + "f25c7bcd7b83aad1d730fb86483fdec3" ], [ "LowStar.Monotonic.Buffer.loc_includes_buffer", @@ -3484,7 +3395,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Buffer", @@ -3506,7 +3416,6 @@ "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "lemma_LowStar.Monotonic.Buffer.loc_includes_none", "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", @@ -3516,7 +3425,7 @@ "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_includes", @@ -3526,7 +3435,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer" ], 0, - "121c7689cc9a730b24bee7341a5555a5" + "21f8f1df2a69a09e32287eb09aba2d8d" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r", @@ -3538,10 +3447,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3528d7d0dffa37ad8ffe9eb1cd22b9ae" + "e64ad7b6d961040a6dfa4ef5691b891e" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r", @@ -3550,8 +3459,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", @@ -3576,8 +3484,8 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.ubuffer_", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", "lemma_LowStar.Monotonic.Buffer.gsub_is_null", @@ -3602,20 +3510,22 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "typing_LowStar.Monotonic.Buffer.ubuffer___419", @@ -3623,7 +3533,7 @@ "typing_LowStar.Monotonic.Buffer.uu___is_Null" ], 0, - "cde09208af083d6b29b11884232db448" + "386f5d5ad2637d9a50b0b581d9ecf6e8" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r'", @@ -3631,19 +3541,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_LowStar.Monotonic.Buffer.loc_buffer", "equation_Prims.squash", "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "1fecb87ae79f13880ec3370e86d1361c" + "536302e322a5646bf71d52f9f259a1f0" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", @@ -3655,10 +3564,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "048674aa35679899ad463bd8aa93c251" + "a056c662db305f49656563a7a7ee1455" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", @@ -3667,8 +3576,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_elim_LowStar.Monotonic.Buffer.Mkubuffer_", @@ -3694,8 +3602,8 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.ubuffer_", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", "lemma_LowStar.Monotonic.Buffer.gsub_is_null", @@ -3720,26 +3628,29 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "typing_LowStar.Monotonic.Buffer.ubuffer___419", "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer" ], 0, - "822eaa4fb0d51ad59f91233c47555857" + "34a6a938429f488f9edbd21d33d09af2" ], [ "LowStar.Monotonic.Buffer.loc_includes_loc_buffer_loc_buffer_from_to", @@ -3747,11 +3658,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", @@ -3781,8 +3689,8 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.loc_includes_none", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", @@ -3806,28 +3714,31 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_includes", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", + "typing_FStar.Monotonic.HyperStack.is_mm", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer" ], 0, - "f1b3bcbf6800bc3331fb2c5041a68d24" + "6bd907983ef0b6c2b680edb7b329fbff" ], [ "LowStar.Monotonic.Buffer.loc_includes_loc_buffer_from_to", @@ -3835,11 +3746,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.HyperStack.MkRef", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", "disc_equation_LowStar.Monotonic.Buffer.Buffer", @@ -3871,8 +3779,8 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.loc_includes_none", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", @@ -3897,30 +3805,35 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b6f3fb22025c86d92e092ae37ccca8c9", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_includes", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", + "typing_FStar.Monotonic.HyperStack.is_mm", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", + "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__length", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_is_mm", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_max_length", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer_from_to", "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer", "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond" ], 0, - "a0dbbe74e4a5d7bb02047d7fdef72969" + "55caaeaef36cc993ab23cda1e2026f1f" ], [ "LowStar.Monotonic.Buffer.loc_includes_as_seq", @@ -3928,11 +3841,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", @@ -3972,10 +3881,9 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "l_and-interp", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", "lemma_FStar.Seq.Properties.slice_slice", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -4000,18 +3908,18 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_07aaa6c829a9023f6e4cc916b1c34fd3", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_89c52d4929b2396b525ac82ecfa13ed9", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b6f3fb22025c86d92e092ae37ccca8c9", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f9d354e5d3fde29b024a51d0c0568094", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_includes", @@ -4030,6 +3938,7 @@ "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__length", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", + "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", @@ -4040,7 +3949,7 @@ "unit_typing" ], 0, - "8634a77dcab60d7ae5e2561076b87b00" + "a185827e28a2b6cf251ae9f22d03d8eb" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", @@ -4048,16 +3957,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0302fd9a684563f87c9eb62056de6e2c" + "b5eab5b5b0e05caedcc51b8494da33ae" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", @@ -4067,11 +3973,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "294b76843660717fee397c0cc4bfe708" + "c4f775c3572751c94ce7bd99f96dc9c9" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", @@ -4088,7 +3994,7 @@ "typing_LowStar.Monotonic.Buffer.loc_addresses" ], 0, - "963ce07c32665a0befd0c05db6819828" + "2ca3e90535e629a79120c6dd43e23f85" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer'", @@ -4096,23 +4002,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_typing", + "@MaxIFuel_assumption", "@query", "bool_typing", "equation_LowStar.Monotonic.Buffer.as_addr", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.mem_singleton", "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Set.singleton", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "1b9ea1793a71410e114609edceae9d11" + "38b8d8348782a0625fc27a181a856737" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_buffer", @@ -4129,7 +4033,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "615183cbda642a0963864304c00a9c1f" + "04557435537c731fd6880ed5a84e3a56" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_buffer'", @@ -4145,7 +4049,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "51fd646d67e9a706a52ac10a371cd89b" + "8c9f0d565a2a4357870c07e8628cf4a7" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses", @@ -4155,11 +4059,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ffabb47bcb72441655071b6a6de44e99" + "4f88673d17dbde70f6be638f272ae094" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses", @@ -4172,7 +4076,7 @@ "equation_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "254a3b709a3c80dd971d0fa87ca998a4" + "41323d2f65bfa22893c0d106bf6015ce" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", @@ -4182,11 +4086,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a88a8c7f6f3c83ef6d281012ccdd2efa" + "be4ad625ae429deab4ea6fe2f5e59d75" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", @@ -4200,7 +4104,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton" ], 0, - "07850afc0a2e951b6ac71780abebd55d" + "f5b9b1c49c50708efb9800be19644603" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_region", @@ -4213,7 +4117,7 @@ "equation_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "38c9a06f636da4874c4b59789e7ab130" + "f337f7b20fb13868ac5a2248b1df376e" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_region'", @@ -4227,7 +4131,7 @@ "typing_FStar.Monotonic.HyperHeap.rid" ], 0, - "e6d6faa0616b809ae1e06af1e115faf4" + "5c1b4789ffdaa9347330a6022cd476d1" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_union_l", @@ -4241,7 +4145,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "fcab2e1ac08ca038b206448edb8253fe" + "7ca62b08829c08b11b5fed47e1d63bdc" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses", @@ -4249,16 +4153,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "31edf3ad2ff2e7f2dd4ad33fd6792fed" + "801e540281949a38c1dea67b5ef0ffdc" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses", @@ -4271,7 +4172,7 @@ "equation_LowStar.Monotonic.Buffer.loc_includes" ], 0, - "7a5fe9f4751e3172212218d94426eb27" + "d8cc6b8272f04db7c57cfb8ea4021869" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", @@ -4279,16 +4180,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bb8c877e7f9c165be644300287dba584" + "b782af178876f23d62617ebbceb61284" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", @@ -4296,16 +4194,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "60a2f3aae3bf5bf92b4bcf7ad219ce0b" + "fdf7e06aaf2cc60250fce7daa0a1837f" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", @@ -4315,11 +4210,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "af721ebf0024d80e404ef529761dc6a0" + "59060a91f41f0fdc87318f41aceadb9d" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", @@ -4333,7 +4228,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ad26f5fff9d0ec1d3a608633ef6fe50f" + "c440b69cdb13d6b14d8511893bc61f4e" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_buffer", @@ -4342,7 +4237,7 @@ 1, [ "@query" ], 0, - "14bada55f3bdae2f69d0345fb9a1be7d" + "ddd8af615be428c6279b3c74727f3631" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", @@ -4352,11 +4247,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "f7cc342bb00615435ae0c2d5f16710e1" + "ac268f4136179e345ac4f127f4728879" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", @@ -4365,7 +4260,7 @@ 1, [ "@query" ], 0, - "39ffea7fb210b4f5d3bfa5600a2c9928" + "bf2732cc7adb072f0666dac265419d99" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_regions", @@ -4374,7 +4269,7 @@ 1, [ "@query" ], 0, - "a439e76751bb638af8609a3b4c222efe" + "bcb0e0e5bc3313e8f3f410c501e0408d" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_sym", @@ -4383,7 +4278,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.loc_disjoint" ], 0, - "03d7f226282dba7f2b6928091c5b57aa" + "6d36edfadf95162d4d78eaf09b960482" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_sym'", @@ -4392,7 +4287,7 @@ 1, [ "@query" ], 0, - "2c9b713052f804b21780b0a52fe35cce" + "ad770a8e365b9724250617b54e76ad37" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_none_r", @@ -4404,7 +4299,7 @@ "equation_LowStar.Monotonic.Buffer.loc_none" ], 0, - "59dfb3b158981915dbd5ed148e33bc94" + "e97290652dd40f230f4d72557be9a5be" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_union_r", @@ -4416,7 +4311,7 @@ "equation_LowStar.Monotonic.Buffer.loc_union" ], 0, - "c85adb770a538c2c781c3aef4dd2d5fc" + "062551253cdbcad1d558179928a7c502" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_includes", @@ -4428,7 +4323,7 @@ "equation_LowStar.Monotonic.Buffer.loc_includes" ], 0, - "c1b6b2182e6abe21cbc67a96982b0454" + "0a92f190c0727670e2b3febf491bd685" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_union_r'", @@ -4437,7 +4332,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "505e792eb12d496884f7dbb5de4f39c9" + "81c280640c36af722d17a3455f7a63ac" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_includes_r", @@ -4446,7 +4341,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "d791ec1fd47cf87c26c177bc734a6808" + "3e2d43bd6847f63bd27c00b92e4dcdd7" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_buffer", @@ -4454,22 +4349,29 @@ 2, 1, [ - "@query", "equation_LowStar.Monotonic.Buffer.cls", + "@query", "bool_typing", "equation_LowStar.Monotonic.Buffer.cls", + "equation_LowStar.Monotonic.Buffer.frameOf", "equation_LowStar.Monotonic.Buffer.loc_buffer", "equation_LowStar.Monotonic.Buffer.loc_disjoint", "equation_LowStar.Monotonic.Buffer.loc_none", + "equation_LowStar.Monotonic.Buffer.loc_regions", "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint", "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "56a89351717d79114ddb564c6520fef3" + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton", + "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.loc_regions" + ], + 0, + "596601a3bad02336cbd1c141d5a46635" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", @@ -4481,10 +4383,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "70bdf3e46aedbb741502535a4eb4fd99" + "e2265b3ef92d5fa9c7c01f13f5a0c620" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", @@ -4493,8 +4395,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "data_elim_LowStar.Monotonic.Buffer.Buffer", @@ -4513,6 +4414,7 @@ "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Monotonic.Buffer.mgsub", "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", + "equation_LowStar.Monotonic.Buffer.ubuffer", "equation_LowStar.Monotonic.Buffer.ubuffer___419", "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", @@ -4520,9 +4422,8 @@ "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "l_and-interp", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", "lemma_LowStar.Monotonic.Buffer.gsub_is_null", @@ -4549,25 +4450,32 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b6f3fb22025c86d92e092ae37ccca8c9", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "true_interp", "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "true_interp", "typing_FStar.Ghost.reveal", + "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", + "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__length", + "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___419" + "typing_LowStar.Monotonic.Buffer.ubuffer___419", + "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer" ], 0, - "d3d41430fe2bda71ba621d71233808c7" + "cae62f0255893d55fa1724c6528f284d" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_loc_buffer_from_to", @@ -4575,11 +4483,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.HyperStack.MkRef", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", "disc_equation_LowStar.Monotonic.Buffer.Buffer", @@ -4611,9 +4516,8 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "l_and-interp", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -4637,16 +4541,18 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", "true_interp", "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", + "typing_FStar.Monotonic.HyperStack.is_mm", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", @@ -4654,6 +4560,7 @@ "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_max_length", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer_from_to", "typing_LowStar.Monotonic.Buffer.ubuffer___419", @@ -4661,7 +4568,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond" ], 0, - "0168b5c48e9f0f52cf40442743f2e179" + "9602be04d9a85082fe95aa83d687cd91" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_addresses", @@ -4669,16 +4576,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "ae8affc8dbf60003c654e18c000132f3" + "ecaae4c8a81d820987e3ebb123ae45a9" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_addresses", @@ -4691,7 +4595,7 @@ "equation_LowStar.Monotonic.Buffer.loc_disjoint" ], 0, - "ffced10c5c61221b67ef45655d47676c" + "e29a46554b1336cf6b16d7fa3d0a1e99" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_regions", @@ -4703,7 +4607,7 @@ "equation_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "91622ec95f9f19837455628f66d71849" + "3b0c850a2f82acbab523f7043ac27f41" ], [ "LowStar.Monotonic.Buffer.modifies_live_region", @@ -4718,7 +4622,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "50ee84d810e67ff4967fc0e0849663b2" + "fb0c8207f15b5f7ef8f9afb1a17fc430" ], [ "LowStar.Monotonic.Buffer.modifies_mreference_elim", @@ -4736,7 +4640,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "a5dfed296f54d861be44f6ed48162afa" + "045eb55d4c0cf2aedf37a62f26311a60" ], [ "LowStar.Monotonic.Buffer.modifies_buffer_elim", @@ -4769,7 +4673,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "03104f868a863a455181091b84e82830" + "6aee13403328104260bd4079aee755e4" ], [ "LowStar.Monotonic.Buffer.modifies_buffer_from_to_elim", @@ -4777,26 +4681,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperStack.live_region", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.l_and", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "equation_Prims.l_and", "equation_Prims.squash", "int_inversion", + "l_and-interp", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "3036f25b9233a88a20deaec85845a942" + "4f0f495f94d1d7d849029121a19cdf6e" ], [ "LowStar.Monotonic.Buffer.modifies_buffer_from_to_elim", @@ -4835,7 +4735,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "881603fc616e25adaa45c6efc2adc197" + "80952eeadd2e0299bd3ecf7a96354c7e" ], [ "LowStar.Monotonic.Buffer.modifies_refl", @@ -4844,7 +4744,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "bad4ebdda4b6e0ca2c19d14b15ead74d" + "aa169e93531117c7aeb84627d0342f85" ], [ "LowStar.Monotonic.Buffer.modifies_loc_includes", @@ -4856,7 +4756,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "542e95fca9ae4c70d31da913afbd9ef0" + "76ac25e7904f1ccaf6c8fd9c1915bf45" ], [ "LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", @@ -4874,7 +4774,7 @@ "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs" ], 0, - "3647ae8b423dabfcce4880925d8f3cbf" + "79db10795e85366f6e69d0e685f97f78" ], [ "LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", @@ -4884,11 +4784,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d1ab10edefa064e26646f4fd1ad74fa6" + "a5a57ff42a02a340ab98c4a6fcd10a1e" ], [ "LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", @@ -4902,7 +4802,7 @@ "equation_LowStar.Monotonic.Buffer.loc_includes" ], 0, - "3bfb8ecd0929c048cc343c3f80958b97" + "bc5673b9ec197a4b0c72831bf2e692b4" ], [ "LowStar.Monotonic.Buffer.region_liveness_insensitive_buffer", @@ -4919,7 +4819,7 @@ "typing_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" ], 0, - "7e160c99d01e2ef1b98118f9a1026d64" + "324ae7732a55419aa665ff807253ff27" ], [ "LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", @@ -4929,11 +4829,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bb258328ce4b507a7e1504e54b25f10b" + "8faf63a218b9561491ddd2a041284b45" ], [ "LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", @@ -4946,7 +4846,7 @@ "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" ], 0, - "d37dacbf9171e4dc98a6eefe011d0f3a" + "99210d138fe981d107f7a25a68af0b29" ], [ "LowStar.Monotonic.Buffer.region_liveness_insensitive_regions", @@ -4959,7 +4859,7 @@ "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" ], 0, - "c7e358d6857447a6b802da97262deaac" + "ac5dc7193e6743129fb82de66e96fa25" ], [ "LowStar.Monotonic.Buffer.region_liveness_insensitive_address_liveness_insensitive", @@ -4973,7 +4873,7 @@ "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" ], 0, - "cf1bc5b4170b6ac20c1612b98429ddf2" + "e6b0f4e8e8fe9edab4c4cbdd25af4569" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference", @@ -4994,7 +4894,7 @@ "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" ], 0, - "9ec94f53da32f9e76b862d36494a73d2" + "dbf98164ffb1e41dff731a0490885b0f" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", @@ -5019,7 +4919,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "823b55e5fed28e8fae84558d3cb159e4" + "93d98c3e89fb9b98b762b965120b4cd4" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", @@ -5027,8 +4927,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", @@ -5037,15 +4936,15 @@ "equation_LowStar.Monotonic.Buffer.loc_none", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", @@ -5055,7 +4954,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "a05473d2250fdf17551794175c7362fd" + "3aafc72150c2677e43896719516fa437" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", @@ -5074,7 +4973,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "840f5c1a928a5738eec8e7b3b89c20c6" + "9194c0602d263f054a0eedf1dedae627" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region", @@ -5097,7 +4996,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "e5dc1f8a8a67fdd1b552e75703473b4c" + "92091034b656d1c64bf54f7c21451c36" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_mreference", @@ -5124,7 +5023,7 @@ "typing_LowStar.Monotonic.Buffer.cls" ], 0, - "ffab9e364c23d02ef27db788a561b43f" + "21529e1e7b2073fb3caec289eba04fec" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_buffer", @@ -5148,7 +5047,7 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -5157,7 +5056,7 @@ "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "be84b6e35290c700904205d2a7f04d18" + "b679e8abfdf4533ffc778c9218d7f0ad" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", @@ -5177,7 +5076,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "a390fd7a097b5621a1dd138de7e70d07" + "d0a1d80016d48dbb354da0b410f5414a" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_mreference_weak", @@ -5185,8 +5084,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.live_region", @@ -5196,16 +5094,16 @@ "equation_LowStar.Monotonic.Buffer.loc_none", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.live_region", @@ -5214,7 +5112,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "388e9f8999f87aa9dcc29c7f32b6a467" + "2fe211618b06d49dcdd4970aacef2b50" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_buffer_weak", @@ -5234,7 +5132,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "95cea5842d218be9ce330955b378bc33" + "5c5c9d7b3d4979e227cf94587d384441" ], [ "LowStar.Monotonic.Buffer.modifies_trans", @@ -5246,7 +5144,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "95ab2049994ca909ea178632c0c37e05" + "9c14f667ce20d683a63ce80dc2f2427d" ], [ "LowStar.Monotonic.Buffer.modifies_trans_linear", @@ -5261,7 +5159,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "4995b62874336a92ca1c27b66aba400f" + "c18cb6d5089d5c37bb8c7f91f3b99c15" ], [ "LowStar.Monotonic.Buffer.modifies_only_live_regions", @@ -5274,7 +5172,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "8a572b3c0e2e96d1b4b07bf0394acc79" + "be6414b00ca9d4781f6429561bd47089" ], [ "LowStar.Monotonic.Buffer.no_upd_fresh_region", @@ -5298,7 +5196,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "6252bdd4d06e8bfd70ea9cd22508aba8" + "cbdede9b5558ce41f55a0e376b2cbe7d" ], [ "LowStar.Monotonic.Buffer.new_region_modifies", @@ -5306,19 +5204,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.Monotonic.HyperStack.live_region", "equation_Prims.eqtype", "equation_Prims.squash", "function_token_typing_Prims.int", "l_and-interp", "l_or-interp", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "19cf35720464705e4730f08fa60a38e2" + "6f040c9c8471fd379e7e8e5b717ec9e7" ], [ "LowStar.Monotonic.Buffer.new_region_modifies", @@ -5330,7 +5226,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "aa9597d6a6b9bd8ad845372885c3ba3c" + "18388a9566a112ca7fef6bed61623ba2" ], [ "LowStar.Monotonic.Buffer.modifies_fresh_frame_popped", @@ -5358,7 +5254,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "96d82e1b1555655b6bdc5f21ea98cf98" + "6ebac5c303a4ef7ef3875f0cf426809b" ], [ "LowStar.Monotonic.Buffer.modifies_loc_regions_intro", @@ -5370,7 +5266,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "06f9c6b418ce1db0b0793b06007ed017" + "c3e8e7968d135c9659f42575c330e6cd" ], [ "LowStar.Monotonic.Buffer.modifies_loc_addresses_intro", @@ -5380,11 +5276,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bf181ced7b04c60c2830a8bc6bd169a0" + "68594b8f3266a242332b57817f3b3f25" ], [ "LowStar.Monotonic.Buffer.modifies_loc_addresses_intro", @@ -5403,7 +5299,7 @@ "typing_FStar.Monotonic.HyperStack.live_region" ], 0, - "002a5b431d5bfa4fafff8559fb62f90d" + "15adf54fb1bee40335fd60538720372c" ], [ "LowStar.Monotonic.Buffer.modifies_ralloc_post", @@ -5416,7 +5312,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "db867cae183d1d76a2bce22ffa1046a0" + "600317de1680c8dddb26402e0d99d042" ], [ "LowStar.Monotonic.Buffer.modifies_salloc_post", @@ -5429,7 +5325,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "83166f1238982da11196f84ab5405a3c" + "e471827125c41014b801465ce89be8ed" ], [ "LowStar.Monotonic.Buffer.modifies_free", @@ -5443,7 +5339,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "3f5665f6dff4b1c8694cbf5e1c37bac6" + "1c65029b8e36592680804122e8ab31a7" ], [ "LowStar.Monotonic.Buffer.modifies_none_modifies", @@ -5455,7 +5351,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "0e8790588e11465bdd2a35ac76d4916e" + "644a5e1dedfb2b4684f4cf47d5c870d5" ], [ "LowStar.Monotonic.Buffer.modifies_upd", @@ -5468,10 +5364,10 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_Prims.squash", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "cc1f921793e00543bb7964db9916ccd6" + "755f79f6c74326a9ff772e2197008c27" ], [ "LowStar.Monotonic.Buffer.modifies_upd", @@ -5485,7 +5381,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "fd9d2eee764ab834b0f5fbb780ad50f1" + "a99ff972956d0c2920e1dcdc5e9e3eca" ], [ "LowStar.Monotonic.Buffer.modifies_0_modifies", @@ -5497,7 +5393,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "028ac4bcaa2e3abfb7773117488d7f5b" + "4b9ce8637a4acc10c6d9a7196d54598c" ], [ "LowStar.Monotonic.Buffer.modifies_1_modifies", @@ -5505,8 +5401,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.ModifiesGen.loc_mreference", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -5534,9 +5429,8 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Monotonic.Buffer.ubuffer_preserved", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", @@ -5544,10 +5438,11 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", @@ -5558,7 +5453,7 @@ "typing_LowStar.Monotonic.Buffer.as_addr" ], 0, - "7b011c8d20c6ed99bae2df0045f358b1" + "6e9d776d4f74a6ca5994656a4685ac8c" ], [ "LowStar.Monotonic.Buffer.modifies_1_from_to_modifies", @@ -5566,10 +5461,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.ModifiesGen.loc_mreference", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.ModifiesGen.loc_mreference", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -5595,9 +5488,8 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Monotonic.Buffer.ubuffer_preserved", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", @@ -5606,11 +5498,12 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", @@ -5620,7 +5513,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "c14e664c84facd25473b8e77b1368ad2" + "f877b8925ae917e0c6d1dd1eaa7d5f5a" ], [ "LowStar.Monotonic.Buffer.modifies_addr_of_modifies", @@ -5637,7 +5530,7 @@ "equation_LowStar.Monotonic.Buffer.modifies_addr_of_preserves_not_unused_in" ], 0, - "940119518e45f11c0bc37bcc9ee19956" + "85681818772473ee4a812e998be0996c" ], [ "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro'", @@ -5667,7 +5560,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "a9486f961c663e874d7c8486ff0652b1" + "34f59b6ec71937f24def449b2339ef84" ], [ "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro'", @@ -5678,8 +5571,7 @@ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_elim_LowStar.Monotonic.Buffer.Mkubuffer_", @@ -5740,7 +5632,7 @@ "function_token_typing_LowStar.Monotonic.Buffer.ubuffer_preserved", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "l_and-interp", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -5750,6 +5642,7 @@ "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -5785,24 +5678,27 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_22b2dcaf213132cc1a1fab497787effe", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_032e046e6ba582a9955f3401e1a540ba", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5bed0d96690788171a4c988c62180880", - "refinement_interpretation_Tm_refine_613428365bf85e316285ea6cc396af87", - "refinement_interpretation_Tm_refine_64ac285ea23adcc26f25d127bb42489d", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_69123df6fed9ede02431a47474033242", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9058b1fe57b340e1b017908ac26e12fa", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b6f3fb22025c86d92e092ae37ccca8c9", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_edc935477e1b9674b4762f1e8db26416", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", @@ -5827,7 +5723,8 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.Seq.Properties.lseq", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__length", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_max_length", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", @@ -5835,15 +5732,17 @@ "typing_LowStar.Monotonic.Buffer.cls", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.g_is_null", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_union", "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___419", "unit_inversion", - "unit_typing" + "typing_LowStar.Monotonic.Buffer.ubuffer___419", + "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer", + "unit_inversion", "unit_typing" ], 0, - "2a96c3ee5020b15d3652ca66802567dc" + "e4ab0ca64f4652b71ec004c65217b937" ], [ "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro", @@ -5873,7 +5772,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "49d02c6cd480abf21da7f195121ee6e2" + "47818e54e9e8ad2c0eee722724db266a" ], [ "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro", @@ -5894,7 +5793,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "ae2c8e1bb128732f6c50d9477722e0d2" + "ae2a16a3420916499bdfc9bb30d3e98c" ], [ "LowStar.Monotonic.Buffer.not_live_region_does_not_contain_addr", @@ -5903,7 +5802,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" ], 0, - "2e6d5ff39d67854827383620e2fef814" + "b3e273716d2d17cabd9c4fb86121b952" ], [ "LowStar.Monotonic.Buffer.unused_in_does_not_contain_addr", @@ -5912,7 +5811,7 @@ 1, [ "@query" ], 0, - "a61f6ac7f9b5248e55898c042c2fa5dd" + "16aca990924cc9a073e8ba6f8b7d07d5" ], [ "LowStar.Monotonic.Buffer.unused_in_does_not_contain_addr", @@ -5921,7 +5820,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" ], 0, - "5638018097161bf96473bf86f6a55ebc" + "d1c9c898ac5a18afabc5a986771f9cbc" ], [ "LowStar.Monotonic.Buffer.addr_unused_in_does_not_contain_addr", @@ -5935,7 +5834,7 @@ "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" ], 0, - "b2baaf0968ecdbf4d3a6ee4ae9ed9961" + "6244c1e88c98e839c6213165640dc465" ], [ "LowStar.Monotonic.Buffer.free_does_not_contain_addr", @@ -5945,10 +5844,10 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "99ae73b429c29802150896c469b1642c" + "53e6bee657021df9ca1f0096e6a1ed1a" ], [ "LowStar.Monotonic.Buffer.free_does_not_contain_addr", @@ -5960,7 +5859,7 @@ "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" ], 0, - "da4493a4f59cb00390e91490f0cda3f2" + "2216c8e6014e54177e6ef63664961c20" ], [ "LowStar.Monotonic.Buffer.does_not_contain_addr_elim", @@ -5969,7 +5868,7 @@ 1, [ "@query" ], 0, - "009ccb7bd1a77997b3ceb1d3fbe3f980" + "6024c5578025483e1e8a1b2ec1d777fb" ], [ "LowStar.Monotonic.Buffer.does_not_contain_addr_elim", @@ -5978,7 +5877,7 @@ 1, [ "@query", "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" ], 0, - "76992fade2ba05a5e9c252daf5ffecbf" + "a93a053dcb2d5649f852733fb6ef46c4" ], [ "LowStar.Monotonic.Buffer.modifies_only_live_addresses", @@ -5986,16 +5885,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "88455697cbd17a16501a3445c81e4108" + "afea8549e95b249cf796e0e892bbe1f5" ], [ "LowStar.Monotonic.Buffer.modifies_only_live_addresses", @@ -6009,7 +5905,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "9d30c30f9adb1299df055d1017768a4a" + "f0046d5381addb490a6ff3b757f6d196" ], [ "LowStar.Monotonic.Buffer.loc_regions_unused_in", @@ -6022,7 +5918,7 @@ "equation_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "ed0fe2a09757c1e77ac172a4ef9683ac" + "53877e83f23f8c6060f8739b200be604" ], [ "LowStar.Monotonic.Buffer.loc_unused_in_not_unused_in_disjoint", @@ -6035,7 +5931,7 @@ "equation_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "5a621f9c00d16fae61e0dde64a4fdcbe" + "73f3ad0006b677004b541e504315aa58" ], [ "LowStar.Monotonic.Buffer.not_live_region_loc_not_unused_in_disjoint", @@ -6049,7 +5945,7 @@ "equation_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "34d96052aa9966e43d0e2c58cc0302dd" + "e3768a4782b6e0d5241b6dd64909d3d9" ], [ "LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", @@ -6070,7 +5966,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "612693b9463aeee9e3944b585fca6b36" + "6481fd92a70da456b690984c8c2415a2" ], [ "LowStar.Monotonic.Buffer.live_loc_not_unused_in", @@ -6079,7 +5975,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", @@ -6087,9 +5982,8 @@ "equation_LowStar.Monotonic.Buffer.loc_includes", "equation_LowStar.Monotonic.Buffer.loc_not_unused_in", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.mem_singleton", "lemma_LowStar.Monotonic.Buffer.live_not_unused_in_", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", @@ -6100,10 +5994,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LowStar.Monotonic.Buffer.as_addr" ], 0, - "36c55fd0663ea2161b12792b49f1eef7" + "fd3f08cd7d9468f6ec3526206c60e933" ], [ "LowStar.Monotonic.Buffer.unused_in_loc_unused_in", @@ -6112,16 +6007,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_FStar.Pervasives.Native.fst", "equation_FStar.Pervasives.Native.snd", "equation_LowStar.Monotonic.Buffer.loc_addresses", "equation_LowStar.Monotonic.Buffer.loc_includes", "equation_LowStar.Monotonic.Buffer.loc_unused_in", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", @@ -6129,10 +6022,11 @@ "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LowStar.Monotonic.Buffer.as_addr" ], 0, - "846293e670b5e52d70f0da54d904eb16" + "55f2dd863d4a0b6a97bbb9da193a729d" ], [ "LowStar.Monotonic.Buffer.modifies_address_liveness_insensitive_unused_in", @@ -6149,7 +6043,7 @@ "unit_typing" ], 0, - "8db60af020bfc8849ae77eb85ddd9d82" + "db0d4249f001b12a6fb109750587445f" ], [ "LowStar.Monotonic.Buffer.modifies_only_not_unused_in", @@ -6162,7 +6056,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "ee1dbed10d8da96a738159ca77f361c3" + "19197697a1156127b7ef1b5fb2c9c8cf" ], [ "LowStar.Monotonic.Buffer.mreference_live_loc_not_unused_in", @@ -6182,7 +6076,7 @@ "unit_typing" ], 0, - "815a75b8a89e951a2f47f49bc56c70cf" + "480d76f036507edaf2a45ac5d0a402d3" ], [ "LowStar.Monotonic.Buffer.mreference_unused_in_loc_unused_in", @@ -6202,7 +6096,7 @@ "unit_typing" ], 0, - "30167d5277d501137b1cfc8c9c143418" + "bbd0320b907730d2683e2635b2a67ac2" ], [ "LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", @@ -6211,7 +6105,7 @@ 1, [ "@query" ], 0, - "d27d23799645152c6b36f8369bc1c089" + "5eee4d7c6b45203eb7cb6a65eda1fadc" ], [ "LowStar.Monotonic.Buffer.modifies_loc_unused_in", @@ -6220,7 +6114,7 @@ 1, [ "@query" ], 0, - "a04d5460351582f502c716e0024951bc" + "a71b5f771f60ecb2dbdd297e0175762a" ], [ "LowStar.Monotonic.Buffer.ralloc_post_fresh_loc", @@ -6228,9 +6122,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.ralloc_post", @@ -6249,9 +6141,8 @@ "equation_LowStar.Monotonic.Buffer.fresh_loc", "equation_LowStar.Monotonic.Buffer.loc_addresses", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", @@ -6260,13 +6151,10 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5162887c6054b4734f59cfb79dd5cf2f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", @@ -6280,7 +6168,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "5a4bb484569a4f7d6580c6c71a6cc860" + "26ca275709ff0267e329933080f9a76f" ], [ "LowStar.Monotonic.Buffer.fresh_frame_modifies", @@ -6292,7 +6180,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "dc2858e84642bdbabd3e589aae850696" + "324ad335345a687ac0224789b9b56ec3" ], [ "LowStar.Monotonic.Buffer.popped_modifies", @@ -6305,7 +6193,7 @@ "equation_LowStar.Monotonic.Buffer.modifies" ], 0, - "b052908922e16fa4fc77cfd339993adc" + "dfda6652c8ee753f1b1bf5b8b2186221" ], [ "LowStar.Monotonic.Buffer.modifies_remove_new_locs", @@ -6326,7 +6214,7 @@ "typing_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "8fa097eb67dfb1ed0a0303fe998cd61c" + "551672083a7ab209101eae448f7d4722" ], [ "LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", @@ -6358,7 +6246,7 @@ "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -6370,7 +6258,7 @@ "typing_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "c9ea0364dce0fee0fed5def04adb3953" + "ad74ed23fd4843e9a4a769c88e9c8fd5" ], [ "LowStar.Monotonic.Buffer.disjoint_neq", @@ -6379,7 +6267,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "data_elim_FStar.Monotonic.HyperStack.MkRef", @@ -6414,8 +6301,9 @@ "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "l_and-interp", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", @@ -6438,16 +6326,18 @@ "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", + "typing_FStar.Monotonic.HyperStack.is_mm", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", @@ -6458,7 +6348,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___419" ], 0, - "5a7fc68969ef8dd1722e4389d5e8580a" + "6883a061c1cf83fa08b1680813c5b0c3" ], [ "LowStar.Monotonic.Buffer.empty_disjoint", @@ -6467,7 +6357,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", @@ -6499,10 +6388,11 @@ "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_addresses", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", @@ -6528,18 +6418,20 @@ "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", "true_interp", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Seq.Properties.lseq", "typing_FStar.Set.intersect", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.v", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", @@ -6553,7 +6445,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___419" ], 0, - "236e83e5b71e3b0d5536682af80124ac" + "9a111a929d7d5d3235a8ae7f7f9e4dac" ], [ "LowStar.Monotonic.Buffer.includes_frameOf_as_addr", @@ -6573,7 +6465,7 @@ "typing_LowStar.Monotonic.Buffer.g_is_null" ], 0, - "827c3f2dc59979d84418aafa8b05b18f" + "a394f16e5312c36df6d370b3b86458cc" ], [ "LowStar.Monotonic.Buffer.deref", @@ -6587,7 +6479,7 @@ "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" ], 0, - "21b85d1d2e049844eeb9546dacec745b" + "db3674769078abf8bcb1b00b47e01678" ], [ "LowStar.Monotonic.Buffer.pointer_distinct_sel_disjoint", @@ -6601,7 +6493,7 @@ "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" ], 0, - "ca14b44cd2ab8883082faa7d548e5c54" + "3e796907435e9ef8e8cec700c1327307" ], [ "LowStar.Monotonic.Buffer.pointer_distinct_sel_disjoint", @@ -6613,7 +6505,6 @@ "FStar.Monotonic.HyperStack_pretyping_fefbd35e6ac4b27a757485121cb06767", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.UInt32.t", @@ -6660,7 +6551,7 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", "l_and-interp", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", @@ -6687,19 +6578,20 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.HyperHeap.rid", @@ -6711,7 +6603,7 @@ "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Seq.Properties.lseq", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", @@ -6723,7 +6615,7 @@ "typing_LowStar.Monotonic.Buffer.uu___is_Null", "unit_typing" ], 0, - "d20821e6aeaa0081144c947fb1965503" + "1649386522055a26ff14780fedbb4000" ], [ "LowStar.Monotonic.Buffer.is_null", @@ -6740,13 +6632,13 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_f7b41f65f4768c15fc19c11e0279acb3", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_47188798f74eff613c4825c6754a4c5f", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "13bcf28035a40c1de94979b5d05fe5e6" + "50d8c5c4b20a1c2ab3360ed67f79a9a8" ], [ "LowStar.Monotonic.Buffer.msub", @@ -6755,11 +6647,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_fe6abc62014457623ceb986560f36c17" + "refinement_interpretation_Tm_refine_3d547c32c9460f29c03dc371743a2558" ], 0, - "560cdb9eac5bf01bba08c3224c995571" + "39816e55761fd2a7d6d45d227b4b6f77" ], [ "LowStar.Monotonic.Buffer.msub", @@ -6767,10 +6658,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "constructor_distinct_LowStar.Monotonic.Buffer.Null", "disc_equation_LowStar.Monotonic.Buffer.Buffer", @@ -6788,9 +6676,7 @@ "equation_LowStar.Monotonic.Buffer.live", "equation_LowStar.Monotonic.Buffer.mgsub", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", @@ -6809,10 +6695,10 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_a", "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", - "refinement_interpretation_Tm_refine_fe6abc62014457623ceb986560f36c17", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3d547c32c9460f29c03dc371743a2558", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -6820,7 +6706,7 @@ "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "da1d3350ded180051368ff127bf02f8c" + "cf0617935e43d169d8c178d225505f6e" ], [ "LowStar.Monotonic.Buffer.moffset", @@ -6828,25 +6714,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Monotonic.Buffer.length", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_e11acfb33ec6a45e6843d918a682a868", + "refinement_interpretation_Tm_refine_37b0355715a64c75215595fc049d5800", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "7536e53a0fe550148c59c7839810fc5c" + "0df3dc1f86e12955dda5f25d434093fd" ], [ "LowStar.Monotonic.Buffer.moffset", @@ -6854,10 +6737,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "constructor_distinct_LowStar.Monotonic.Buffer.Null", "disc_equation_LowStar.Monotonic.Buffer.Buffer", @@ -6875,9 +6755,7 @@ "equation_LowStar.Monotonic.Buffer.live", "equation_LowStar.Monotonic.Buffer.mgsub", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", @@ -6894,10 +6772,10 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", - "refinement_interpretation_Tm_refine_e11acfb33ec6a45e6843d918a682a868", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_37b0355715a64c75215595fc049d5800", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -6906,7 +6784,7 @@ "typing_LowStar.Monotonic.Buffer.len" ], 0, - "c6273ff1d725b6e6cd78b1a8108155ec" + "264cef527b48ee5e973f62c5ed2c6e15" ], [ "LowStar.Monotonic.Buffer.index", @@ -6915,16 +6793,15 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5bc2d3af8b6b6b89753429fc786efe42" + "refinement_interpretation_Tm_refine_730abd66c63216085959087a5b94de9e" ], 0, - "7a5f871a43c2d3d21a58298a9bd7f424" + "f466343a6895a3e7937eb2fab0c501e6" ], [ "LowStar.Monotonic.Buffer.index", @@ -6934,7 +6811,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "constructor_distinct_FStar.UInt32.t", "constructor_distinct_Prims.unit", @@ -6945,7 +6821,6 @@ "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -6960,9 +6835,9 @@ "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "l_and-interp", "lemma_FStar.Seq.Base.lemma_index_slice", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -6974,19 +6849,21 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5bc2d3af8b6b6b89753429fc786efe42", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_730abd66c63216085959087a5b94de9e", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.len", "unit_typing" ], 0, - "c7d5abeb57ee9b8dabc36284af36d3e5" + "b216bf8b01584eec32300e25532a7a07" ], [ "LowStar.Monotonic.Buffer.g_upd_seq", @@ -6996,7 +6873,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.UInt32.t", @@ -7006,7 +6882,6 @@ "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.mreference", "equation_FStar.Seq.Properties.lseq", "equation_FStar.Seq.Properties.replace_subseq", @@ -7019,10 +6894,9 @@ "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", @@ -7037,22 +6911,23 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_232fe43dd6b898ad0ae9c9c8c63a5a9b", - "refinement_interpretation_Tm_refine_98e67f2232917955d7f07a5ab0244110", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b9a0e01a4bdd5730efd2668835033dad", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "unit_typing" ], 0, - "717efb57d865fec9fa0c3ab154d352b5" + "a0dbc5f9a129e4d65630e541d187a369" ], [ "LowStar.Monotonic.Buffer.lemma_g_upd_with_same_seq", @@ -7063,10 +6938,10 @@ "@MaxIFuel_assumption", "@query", "equation_LowStar.Monotonic.Buffer.live", "equation_Prims.squash", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "eb73345ced64ce88ed1b1ba76afb7b57" + "fec8371bc52e65d59bdb9598eb7b841a" ], [ "LowStar.Monotonic.Buffer.lemma_g_upd_with_same_seq", @@ -7118,22 +6993,22 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_85809199ae0022cbf1f53664b3f35706", + "refinement_interpretation_Tm_refine_32455ccc0a1dd9404fdbdcf904e5ec1b", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "eda9201f5f97214869d6432be3d14f5f" + "d476e9e5c230cc7fb701c01d00d70228" ], [ "LowStar.Monotonic.Buffer.g_upd_seq_as_seq", @@ -7144,9 +7019,8 @@ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "bool_inversion", "bool_typing", "constructor_distinct_BoxInt", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", @@ -7204,8 +7078,8 @@ "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "l_and-interp", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", @@ -7231,10 +7105,9 @@ "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_refl", + "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -7269,23 +7142,24 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98e67f2232917955d7f07a5ab0244110", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "true_interp", "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", "typing_FStar.Map.domain", @@ -7305,7 +7179,8 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length", @@ -7321,7 +7196,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___419" ], 0, - "880de832d661940f46d0076081a0ddfa" + "9b3ae27a159d341bd4fc8305cb9f0af4" ], [ "LowStar.Monotonic.Buffer.g_upd", @@ -7329,19 +7204,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_4acaff7625cce77e875edac658e5a574", - "refinement_interpretation_Tm_refine_98e67f2232917955d7f07a5ab0244110", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_3fea43d8c4f8a22879f363fd1e0340c1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202" ], 0, - "1b31119c153265f11f24a08d4cc1cf08" + "3316cda3e8ed861ad03188dfea8cc4e5" ], [ "LowStar.Monotonic.Buffer.g_upd_modifies_strong", @@ -7349,24 +7221,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4acaff7625cce77e875edac658e5a574", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_3fea43d8c4f8a22879f363fd1e0340c1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "8130b0e84f271df94f9c8fbc11d8c592" + "eb80a93bc8f57d4242cba3e285d97fec" ], [ "LowStar.Monotonic.Buffer.g_upd_modifies_strong", @@ -7436,8 +7306,8 @@ "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "l_and-interp", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", @@ -7456,13 +7326,13 @@ "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", "lemma_LowStar.Monotonic.Buffer.modifies_upd", "lemma_LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", @@ -7481,9 +7351,6 @@ "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", @@ -7496,26 +7363,28 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_3fea43d8c4f8a22879f363fd1e0340c1", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4acaff7625cce77e875edac658e5a574", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_98e67f2232917955d7f07a5ab0244110", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "typing_FStar.Ghost.reveal", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", @@ -7530,18 +7399,17 @@ "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.Seq.Base.upd", - "typing_FStar.Seq.Properties.lseq", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.slice", + "typing_FStar.Seq.Base.upd", "typing_FStar.Seq.Properties.lseq", "typing_FStar.Seq.Properties.replace_subseq", "typing_FStar.Set.singleton", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length", "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_max_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", @@ -7553,7 +7421,7 @@ "typing_LowStar.Monotonic.Buffer.uu___is_Null" ], 0, - "671c5a0d73c2c6ab6bdecd631d861e88" + "1a48b5a18b6b9303ab3f5322174d8e95" ], [ "LowStar.Monotonic.Buffer.upd'", @@ -7562,16 +7430,15 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f50e31f4b48141b4b7958abcf67da20e" + "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1" ], 0, - "32bba625003dd312f4ba5e86ec7e1326" + "4bd4bc6bce5ff4aae247559198154a17" ], [ "LowStar.Monotonic.Buffer.upd'", @@ -7580,7 +7447,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", @@ -7588,7 +7454,6 @@ "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.is_live_for_rw_in", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.lseq", "equation_FStar.Seq.Properties.replace_subseq", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", @@ -7610,7 +7475,7 @@ "int_inversion", "int_typing", "l_and-interp", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", + "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -7630,25 +7495,25 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3a494df3166b7c07e54f92e9bf75e2ca", - "refinement_interpretation_Tm_refine_50072f04c30d24f8b08cde49cf18f4f6", - "refinement_interpretation_Tm_refine_5de3ab3d26a280c6f48f12def8891bcf", - "refinement_interpretation_Tm_refine_98131c1621cb5074c4c194284196ff3f", + "refinement_interpretation_Tm_refine_49fd222e8c0b675e598020fc9f717c63", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_81ce43bb27006d04d5a7a274b857552a", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", - "refinement_interpretation_Tm_refine_f50e31f4b48141b4b7958abcf67da20e", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d12c518f60a0126f1cb19d6f713ad555", + "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.length" + "typing_LowStar.Monotonic.Buffer.len" ], 0, - "3f00a179fc1360dd264eaa5cd7d754d1" + "46d6853ad8dd0bb821c075da31659bd6" ], [ "LowStar.Monotonic.Buffer.upd", @@ -7656,25 +7521,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_upd", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", + "equation_LowStar.Monotonic.Buffer.g_upd", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2101589b8dd34683de223d6c47b9da02", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_41fcfba1f6b4fd18504e7b1bb654095a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f50e31f4b48141b4b7958abcf67da20e", + "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "a381bb6eaa4ed54c3ad947836ab5b5c8" + "c2ee5604650c360760e1208d77274371" ], [ "LowStar.Monotonic.Buffer.recallable", @@ -7696,7 +7558,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "8d5b585dbc406cc932059b47d575da72" + "0b7116672f3cc952a9f3370e2ae8d162" ], [ "LowStar.Monotonic.Buffer.recallable_null", @@ -7711,7 +7573,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "afa3ca1b140a2ed27bf0409dbc731b39" + "dcd70737347957db1b243de8661e8e96" ], [ "LowStar.Monotonic.Buffer.recallable_mgsub", @@ -7723,10 +7585,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4f8625f6a2c182320f3d627e2df81935" + "f268046f9b902308f50393b0f21fda27" ], [ "LowStar.Monotonic.Buffer.recallable_mgsub", @@ -7734,15 +7596,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "constructor_distinct_LowStar.Monotonic.Buffer.Null", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.Monotonic.HyperStack.is_mm", "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -7756,7 +7617,6 @@ "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -7777,17 +7637,17 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.add", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" ], 0, - "6228d47d33bf0be1ec1fe20be267c27b" + "914837e5a75aab9abbbf9c206d70ca0f" ], [ "LowStar.Monotonic.Buffer.recall", @@ -7795,9 +7655,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.equal_domains", @@ -7822,9 +7681,7 @@ "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", + "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_AmpAmp", @@ -7833,9 +7690,9 @@ "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_56e4f7e5a0637ff2ee9502cab3e6d8dc", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_65f32f89779dace7b8ae827380d0521d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.contains", @@ -7844,7 +7701,7 @@ "typing_FStar.Monotonic.HyperStack.is_mm" ], 0, - "b75837cbb193529b620f3b45173718ed" + "d4e4239b1477cefe728a39a3e6a107bd" ], [ "LowStar.Monotonic.Buffer.witnessed", @@ -7867,7 +7724,7 @@ "typing_FStar.UInt32.v" ], 0, - "ba2b715b3acc71d5bd7571e548fe1356" + "d33ee791f9a79dca77f4faf1d117a044" ], [ "LowStar.Monotonic.Buffer.lemma_stable_on_rel_is_stable_on_rrel", @@ -7875,12 +7732,9 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "disc_equation_LowStar.Monotonic.Buffer.Buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "disc_equation_LowStar.Monotonic.Buffer.Buffer", "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -7891,12 +7745,12 @@ "equation_LowStar.Monotonic.Buffer.spred_as_mempred", "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", "equation_Prims.l_imp", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_c311fb3e8e51053187b1f03a51f28b90", - "l_and-interp", "l_imp-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.squash", "int_inversion", + "interpretation_Tm_abs_aad6016b0a635d1a32ebc1043258769b", + "l_and-interp", "l_imp-interp", + "l_quant_interp_558bdc81497d0daabd03645dbefd9f98", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_BoxBool_proj_0", @@ -7908,21 +7762,20 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "token_correspondence_LowStar.Monotonic.Buffer.spred_as_mempred", "token_correspondence_LowStar.Monotonic.Buffer.srel_to_lsrel", "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.uu___is_Buffer", "unit_inversion", - "unit_typing" + "typing_LowStar.Monotonic.Buffer.uu___is_Buffer" ], 0, - "accdf327fc23321e326784d92727c5a9" + "19de126200bbec32ebe952a8b1adbee6" ], [ "LowStar.Monotonic.Buffer.witness_p", @@ -7932,7 +7785,6 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Seq.Base.seq", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", @@ -7952,8 +7804,7 @@ "equation_LowStar.Monotonic.Buffer.spred_as_mempred", "equation_LowStar.Monotonic.Buffer.witnessed", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_c311fb3e8e51053187b1f03a51f28b90", + "interpretation_Tm_abs_aad6016b0a635d1a32ebc1043258769b", "l_imp-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", @@ -7971,9 +7822,9 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_a", "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_47f062f9e7924f150d9ca9613d169a13", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_3e8a537c099295c821a9d60a189f9e80", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_LowStar.Monotonic.Buffer.spred_as_mempred", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -7981,7 +7832,7 @@ "typing_LowStar.Monotonic.Buffer.as_seq", "unit_typing" ], 0, - "709432e67eef5510afeb8ddbb10bb4c1" + "3d6f6d5cd8df0ea9e1801e08303b44e1" ], [ "LowStar.Monotonic.Buffer.recall_p", @@ -7989,9 +7840,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "constructor_distinct_LowStar.Monotonic.Buffer.Null", "disc_equation_LowStar.Monotonic.Buffer.Buffer", @@ -8000,7 +7849,6 @@ "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -8014,8 +7862,7 @@ "equation_LowStar.Monotonic.Buffer.witnessed", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "function_token_typing_LowStar.Monotonic.Buffer.spred_as_mempred", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_c311fb3e8e51053187b1f03a51f28b90", + "interpretation_Tm_abs_aad6016b0a635d1a32ebc1043258769b", "l_and-interp", "l_imp-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", @@ -8033,13 +7880,13 @@ "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_202d34fe8e7cab5671d3919baef8f584", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_956939c25536ad734d8e5e61f96315a1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "true_interp", "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.UInt32.v" ], 0, - "c69049b1f800f0d3d2a8526301df1799" + "e83b50a0f7c8169e6090efbc817b0810" ], [ "LowStar.Monotonic.Buffer.freeable", @@ -8061,7 +7908,7 @@ "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87" ], 0, - "fd5b65a5f625719b1441da0c2f95acf9" + "e1288970b01379581c81e357020fa591" ], [ "LowStar.Monotonic.Buffer.free", @@ -8069,10 +7916,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", @@ -8097,9 +7941,8 @@ "equation_LowStar.Monotonic.Buffer.live", "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Set.lemma_equal_elim", @@ -8114,17 +7957,14 @@ "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2883b27aea4c839f60007bb473c2a007", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_2d11d4ede243934a578949d9aa1c906a", "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a1d6a1995203a7c908a0a34debc39148", - "refinement_interpretation_Tm_refine_bbb87ec00bfd7429bf121599a0135ba5", - "refinement_interpretation_Tm_refine_e412ae38522c35b06eeb2ccee604921e", + "refinement_interpretation_Tm_refine_aa237b4a4dc0290c32617811ed383fca", + "refinement_interpretation_Tm_refine_fcbe6d4c640796fb6c47b23f2339ad76", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.free_mm", @@ -8141,7 +7981,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "4b82ce64a46710266c4fb45b17c1426c" + "7e49d46373ebb66bc777dc674ab3f418" ], [ "LowStar.Monotonic.Buffer.freeable_length", @@ -8160,7 +8000,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "8fa525bfb4de6169c974e95907b3bab6" + "05d633bd30652014a85ef2f01709d2c7" ], [ "LowStar.Monotonic.Buffer.freeable_disjoint", @@ -8170,11 +8010,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "12d7338a30a06ef48eb603672587d28e" + "85ef8737f9a3ef3785e749ca63a84f7c" ], [ "LowStar.Monotonic.Buffer.freeable_disjoint", @@ -8183,8 +8023,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", "bool_inversion", "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", @@ -8218,9 +8058,9 @@ "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", - "int_typing", "l_and-interp", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.UInt32.vu_inv", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", + "l_and-interp", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.freeable_length", "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -8243,16 +8083,18 @@ "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperStack.is_eternal_color", "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.v", + "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", @@ -8265,7 +8107,7 @@ "typing_LowStar.Monotonic.Buffer.ubuffer___419" ], 0, - "57e1446b8124763a731002f02f69881d" + "61c45fe659755b1ac98247175945a0ab" ], [ "LowStar.Monotonic.Buffer.freeable_disjoint'", @@ -8273,25 +8115,29 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_typing", + "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", + "equation_FStar.HyperStack.ST.is_eternal_region", + "equation_FStar.Monotonic.HyperStack.is_eternal_color", "equation_FStar.Set.subset", - "equation_LowStar.Monotonic.Buffer.as_addr", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "equation_LowStar.Monotonic.Buffer.as_addr", + "equation_LowStar.Monotonic.Buffer.freeable", + "equation_Prims.eqtype", "equation_Prims.nat", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_addresses", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Set.singleton", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "8e1ad692210db286c1fc53a0cfa99f60" + "da64161cbdc24f77217a0ddc9209d2cd" ], [ "LowStar.Monotonic.Buffer.alloc_heap_common", @@ -8421,7 +8267,122 @@ "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "unit_typing" ], 0, - "cbd2b1d0a00468e7c2645ae3b9f0affb" + "74ee3a2a6347b9ea885780ace65754bb" + ], + [ + "LowStar.Monotonic.Buffer.alloc_heap_common", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "bool_inversion", "bool_typing", + "constructor_distinct_FStar.Seq.Base.seq", + "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", + "constructor_distinct_Prims.unit", + "data_elim_LowStar.Monotonic.Buffer.Buffer", + "disc_equation_LowStar.Monotonic.Buffer.Buffer", + "disc_equation_LowStar.Monotonic.Buffer.Null", + "equation_FStar.HyperStack.ST.equal_stack_domains", + "equation_FStar.HyperStack.ST.erid", + "equation_FStar.HyperStack.ST.is_eternal_region", + "equation_FStar.HyperStack.ST.mmmref", + "equation_FStar.HyperStack.ST.mref", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.ralloc_post", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.is_eternal_color", + "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.mmmref", + "equation_FStar.Monotonic.HyperStack.mref", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_FStar.Monotonic.HyperStack.sel", + "equation_FStar.Monotonic.HyperStack.unused_in", + "equation_FStar.Monotonic.HyperStack.upd", + "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.Monotonic.Buffer.as_seq", + "equation_LowStar.Monotonic.Buffer.buffer_compatible", + "equation_LowStar.Monotonic.Buffer.frameOf", + "equation_LowStar.Monotonic.Buffer.g_is_null", + "equation_LowStar.Monotonic.Buffer.len", + "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.Monotonic.Buffer.live", + "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", + "equation_LowStar.Monotonic.Buffer.unused_in", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", + "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", + "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", + "lemma_FStar.Monotonic.Heap.lemma_upd_contains", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Seq.Properties.slice_length", + "lemma_FStar.Set.lemma_equal_elim", + "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_singleton", + "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.modifies_ralloc_post", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", + "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_7eaa2ba5e70a03c356db1caa3511f718", + "refinement_interpretation_Tm_refine_81f342659eefffbc67c5aa64093ad0b3", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", + "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f66e3e9c5cfa5dc28f9d0303f6e78009", + "refinement_interpretation_Tm_refine_fca6d040de065d36997ff2da36b00bd1", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.sel", "typing_FStar.Map.upd", + "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Monotonic.Heap.unused_in", + "typing_FStar.Monotonic.Heap.upd", + "typing_FStar.Monotonic.HyperHeap.color", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.as_ref", + "typing_FStar.Monotonic.HyperStack.contains", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.is_eternal_color", + "typing_FStar.Monotonic.HyperStack.is_mm", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.lseq", + "typing_FStar.Set.singleton", "typing_FStar.Set.union", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "unit_typing" + ], + 0, + "c381330baf5921f544634b02c9307333" ], [ "LowStar.Monotonic.Buffer.mgcmalloc", @@ -8435,7 +8396,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "3cf8648f0ba410c0316db7269922404d" + "3de986e7b12079b7e1d63e0e4cc5e9f1" ], [ "LowStar.Monotonic.Buffer.mgcmalloc", @@ -8445,86 +8406,315 @@ [ "@MaxIFuel_assumption", "@query", "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Monotonic.Buffer.buffer_compatible", "equation_LowStar.Monotonic.Buffer.g_is_null", "equation_LowStar.Monotonic.Buffer.len", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Monotonic.Buffer.live", "equation_LowStar.Monotonic.Buffer.recallable", "l_and-interp", - "lemma_FStar.UInt32.uv_inv", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt32.uv_inv", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", "refinement_interpretation_Tm_refine_7eaa2ba5e70a03c356db1caa3511f718", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "49a4ca4cd7148188553fccf402adf823" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5b0eb244f918e6c8215083b2d9842d7b" - ], - 0, - "8943f136dc5900b6fbd50a7245dbda1a" + "4aa75d88e860dd5370dbf5bd68ab6f8f" ], [ - "LowStar.Monotonic.Buffer.mmalloc", - 1, - 2, + "LowStar.Monotonic.Buffer.read_sub_buffer", 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "abe466171e5e145dd12b5613eebf207f" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc", - 2, 2, 1, [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.UInt32.t", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "bool_inversion", "constructor_distinct_FStar.UInt32.t", "constructor_distinct_Prims.unit", "data_elim_LowStar.Monotonic.Buffer.Buffer", + "disc_equation_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", + "equation_FStar.HyperStack.ST.equal_stack_domains", + "equation_FStar.HyperStack.ST.is_live_for_rw_in", "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.Heap.equal_dom", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Monotonic.Buffer.freeable", + "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", + "equation_LowStar.Monotonic.Buffer.as_seq", + "equation_LowStar.Monotonic.Buffer.frameOf", "equation_LowStar.Monotonic.Buffer.g_is_null", "equation_LowStar.Monotonic.Buffer.len", "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.Monotonic.Buffer.live", "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.UInt32.uv_inv", + "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", + "int_inversion", "l_and-interp", + "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55", - "refinement_interpretation_Tm_refine_7eaa2ba5e70a03c356db1caa3511f718", - "typing_LowStar.Monotonic.Buffer.len", "unit_typing" - ], + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_cda5c05b1ddf2aa8b9e4caf2b316557b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f727e0ac578e550fb5f0d3dcab1bbfab", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.len", "unit_typing" + ], + 0, + "b752499ba164a35f458b085d3d28dd50" + ], + [ + "LowStar.Monotonic.Buffer.mgcmalloc_and_blit", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", + "typing_FStar.UInt32.v" + ], + 0, + "4d417d881072f61f4895c95e3f2671bd" + ], + [ + "LowStar.Monotonic.Buffer.mgcmalloc_and_blit", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "disc_equation_LowStar.Monotonic.Buffer.Null", + "equation_FStar.HyperStack.ST.is_eternal_region", + "equation_FStar.Monotonic.HyperStack.is_eternal_color", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.Monotonic.Buffer.as_seq", + "equation_LowStar.Monotonic.Buffer.buffer_compatible", + "equation_LowStar.Monotonic.Buffer.g_is_null", + "equation_LowStar.Monotonic.Buffer.len", + "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.Monotonic.Buffer.live", + "equation_LowStar.Monotonic.Buffer.loc_none", + "equation_LowStar.Monotonic.Buffer.recallable", "equation_Prims.nat", + "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", + "int_inversion", "int_typing", "l_and-interp", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7eaa2ba5e70a03c356db1caa3511f718", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", + "typing_FStar.Monotonic.HyperHeap.color", + "typing_FStar.Monotonic.HyperStack.is_eternal_color", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.len" + ], + 0, + "0506971a5853c25c74033c2ef9892ca6" + ], + [ + "LowStar.Monotonic.Buffer.mgcmalloc_partial", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_5b0eb244f918e6c8215083b2d9842d7b" + ], + 0, + "2c37d9b9cfbe569030877fc9d52506aa" + ], + [ + "LowStar.Monotonic.Buffer.mmalloc", + 1, + 2, + 1, + [ + "@query", "b2t_def", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0" + ], + 0, + "f9d72dc617eafb06860acfa945ee8c7b" + ], + [ + "LowStar.Monotonic.Buffer.mmalloc", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", + "constructor_distinct_FStar.UInt32.t", + "constructor_distinct_Prims.unit", + "data_elim_LowStar.Monotonic.Buffer.Buffer", + "disc_equation_LowStar.Monotonic.Buffer.Null", + "equation_FStar.HyperStack.ST.is_eternal_region", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.Monotonic.HyperStack.is_eternal_color", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_FStar.Seq.Properties.lseq", + "equation_LowStar.Monotonic.Buffer.freeable", + "equation_LowStar.Monotonic.Buffer.g_is_null", + "equation_LowStar.Monotonic.Buffer.len", + "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt32.uv_inv", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", + "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", + "refinement_interpretation_Tm_refine_7eaa2ba5e70a03c356db1caa3511f718", + "typing_FStar.Monotonic.HyperHeap.color", + "typing_FStar.Monotonic.HyperStack.is_eternal_color", + "typing_LowStar.Monotonic.Buffer.len", "unit_typing" + ], 0, - "433c4091a4f42c519e367c4260d836e3" + "4f67fa13bf790861d09221a8fa13856a" + ], + [ + "LowStar.Monotonic.Buffer.mmalloc_and_blit", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", + "typing_FStar.UInt32.v" + ], + 0, + "f0dd274db5f8ba972720e56201a1550b" + ], + [ + "LowStar.Monotonic.Buffer.mmalloc_and_blit", + 2, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Prims_pretyping_ae567c2fb75be05905677af440075565", + "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "bool_inversion", "constructor_distinct_FStar.UInt32.t", + "constructor_distinct_Prims.unit", + "data_elim_LowStar.Monotonic.Buffer.Buffer", + "disc_equation_LowStar.Monotonic.Buffer.Buffer", + "disc_equation_LowStar.Monotonic.Buffer.Null", + "equation_FStar.HyperStack.ST.is_eternal_region", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.Monotonic.HyperStack.is_eternal_color", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_FStar.Monotonic.HyperStack.sel", + "equation_FStar.Monotonic.HyperStack.unused_in", + "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", + "equation_LowStar.Monotonic.Buffer.as_seq", + "equation_LowStar.Monotonic.Buffer.freeable", + "equation_LowStar.Monotonic.Buffer.g_is_null", + "equation_LowStar.Monotonic.Buffer.len", + "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.Monotonic.Buffer.loc_none", + "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", + "equation_LowStar.Monotonic.Buffer.unused_in", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", + "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.UInt32.uv_inv", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7eaa2ba5e70a03c356db1caa3511f718", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", + "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "typing_FStar.Monotonic.HyperHeap.color", + "typing_FStar.Monotonic.HyperStack.is_eternal_color", + "typing_FStar.Monotonic.HyperStack.sel", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", + "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "unit_typing" + ], + 0, + "ec6a4c5e778f43c1939d2520f44e5d78" ], [ "LowStar.Monotonic.Buffer.mmalloc_partial", @@ -8540,7 +8730,7 @@ "refinement_interpretation_Tm_refine_a6cf5e5c36c8ad78f0926c7c77a31f31" ], 0, - "352ba6d5c9d57d563894dc6b1bcf5bdc" + "ef5172e4197f35bc9ec86af88cf1ac23" ], [ "LowStar.Monotonic.Buffer.malloca", @@ -8558,7 +8748,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "ac50acc28d05e12554b63be07211cc13" + "c6a9fa9b268119e5ab628ce295fb845e" ], [ "LowStar.Monotonic.Buffer.malloca", @@ -8566,10 +8756,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.inline_stack_inv", @@ -8600,10 +8788,8 @@ "equation_LowStar.Monotonic.Buffer.live", "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", "equation_LowStar.Monotonic.Buffer.unused_in", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", @@ -8621,9 +8807,6 @@ "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", @@ -8631,16 +8814,16 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_2bdd80b2320af9c61ccb8754d0f9f879", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9b063033f9f8b075fbdcde91a96a63d9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f91c442f4e872efb5dc260d2bd566195", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", @@ -8654,14 +8837,154 @@ "typing_FStar.Monotonic.HyperStack.get_rid_ctr", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.is_stack_region", "typing_FStar.Monotonic.HyperStack.unused_in", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" ], 0, - "6f93c701bb24c9213738e620b9b68215" + "f50827f8632e92c32bc95e62338337a0" + ], + [ + "LowStar.Monotonic.Buffer.malloca_and_blit", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b7dc68121a6e5ecaed08c46083255713", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "cebbd5329d549616313ea64201395734" + ], + [ + "LowStar.Monotonic.Buffer.malloca_and_blit", + 2, + 2, + 1, + [ + "@MaxFuel_assumption", "@MaxIFuel_assumption", + "@fuel_correspondence_Prims.pow2.fuel_instrumented", + "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", + "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "bool_inversion", "bool_typing", + "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", + "data_elim_LowStar.Monotonic.Buffer.Buffer", + "disc_equation_LowStar.Monotonic.Buffer.Buffer", + "disc_equation_LowStar.Monotonic.Buffer.Null", + "equation_FStar.HyperStack.ST.inline_stack_inv", + "equation_FStar.HyperStack.ST.mreference", + "equation_FStar.HyperStack.ST.mstackref", + "equation_FStar.HyperStack.ST.salloc_post", + "equation_FStar.Monotonic.Heap.fresh", + "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.fresh_ref", + "equation_FStar.Monotonic.HyperStack.is_stack_region", + "equation_FStar.Monotonic.HyperStack.is_tip", + "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.live_region", + "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.mstackref", + "equation_FStar.Monotonic.HyperStack.sel", + "equation_FStar.Monotonic.HyperStack.unused_in", + "equation_FStar.Monotonic.HyperStack.upd", + "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.Monotonic.Buffer.as_seq", + "equation_LowStar.Monotonic.Buffer.buffer_compatible", + "equation_LowStar.Monotonic.Buffer.frameOf", + "equation_LowStar.Monotonic.Buffer.g_is_null", + "equation_LowStar.Monotonic.Buffer.len", + "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.Monotonic.Buffer.live", + "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", + "equation_LowStar.Monotonic.Buffer.unused_in", "equation_Prims.nat", + "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", + "function_token_typing_FStar.Monotonic.Heap.heap", + "function_token_typing_Prims.__cache_version_number__", + "int_inversion", "int_typing", "l_and-interp", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Map.lemma_UpdDomain", + "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.slice_length", + "lemma_FStar.Seq.Properties.slice_slice", + "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.modifies_salloc_post", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", + "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", + "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", + "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2bdd80b2320af9c61ccb8754d0f9f879", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", + "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", + "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", + "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b7dc68121a6e5ecaed08c46083255713", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", + "typing_FStar.Map.sel", "typing_FStar.Map.upd", + "typing_FStar.Monotonic.Heap.contains", + "typing_FStar.Monotonic.Heap.unused_in", + "typing_FStar.Monotonic.Heap.upd", + "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.as_ref", + "typing_FStar.Monotonic.HyperStack.contains", + "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", + "typing_FStar.Monotonic.HyperStack.sel", + "typing_FStar.Set.singleton", "typing_FStar.Set.union", + "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", + "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" + ], + 0, + "baeee1ed3ed6992c57e036da8cda00ce" ], [ "LowStar.Monotonic.Buffer.malloca_of_list", @@ -8674,9 +8997,7 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.inline_stack_inv", @@ -8711,9 +9032,8 @@ "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_UpdDomain", @@ -8733,9 +9053,6 @@ "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", @@ -8743,19 +9060,19 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_2bdd80b2320af9c61ccb8754d0f9f879", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", + "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", + "refinement_interpretation_Tm_refine_9807da2af966dc3ead6e40917ab2d265", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aa86585edfb0db002b261380c0e511c3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bae49c28c457d8a041a1d2652d66bb1c", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", @@ -8774,7 +9091,7 @@ "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int" ], 0, - "eb5e0cd23ba6ba97a38cf943b04b846a" + "791c56341d4386b4fb3e7d3cd0b33679" ], [ "LowStar.Monotonic.Buffer.mgcmalloc_of_list", @@ -8787,9 +9104,7 @@ "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.equal_stack_domains", @@ -8817,14 +9132,13 @@ "equation_LowStar.Monotonic.Buffer.recallable", "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", "equation_LowStar.Monotonic.Buffer.unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "fuel_guarded_inversion_Prims.list", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", @@ -8846,9 +9160,6 @@ "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", @@ -8856,18 +9167,19 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", + "refinement_interpretation_Tm_refine_36f5e9395beebba9612ea57cdeca01fe", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_87c995f5f3d0d2f451658a4c018ea563", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", "refinement_interpretation_Tm_refine_a6118af488767f45ce918c6f829632fa", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_f66e3e9c5cfa5dc28f9d0303f6e78009", "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.sel", @@ -8885,10 +9197,11 @@ "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.unused_in", "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int" + "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", + "typing_Prims.pow2" ], 0, - "b59a519a9fb2ce39a1bcde9a57d4bea3" + "8155068d0365c07bc66c6e0f8bf9136c" ], [ "LowStar.Monotonic.Buffer.mgcmalloc_of_list_partial", @@ -8900,7 +9213,7 @@ "refinement_interpretation_Tm_refine_a6118af488767f45ce918c6f829632fa" ], 0, - "7cb5b81ce463f2e9d4efd6fff2fbc78c" + "0ea8ba3fb9a15872257c2d2d2b7aacfe" ], [ "LowStar.Monotonic.Buffer.blit", @@ -8908,58 +9221,50 @@ 1, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_LowStar.Monotonic.Buffer.Null", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.as_addr", "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Monotonic.Buffer.mgsub", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_903526b87ec5656e80115d0c629779d9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ff76e6a0441a7febb4383f344e810c76", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b3a10eec9430ce76d54af2274814c12d", + "refinement_interpretation_Tm_refine_b5a91607eec33580227fb984e64e5622", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len" + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", + "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length" ], 0, - "dbad9fbdfff8357295eba25004cf781d" + "f71087fae378c60b3d88200d57406f19" ], [ "LowStar.Monotonic.Buffer.blit", @@ -8968,10 +9273,13 @@ 1, [ "@MaxIFuel_assumption", "@query", + "LowStar.Monotonic.Buffer_interpretation_Tm_arrow_912c7ad48d4a5eb866ee62f0a9831d74", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", + "constructor_distinct_LowStar.Monotonic.Buffer.Null", + "data_elim_FStar.Monotonic.HyperStack.MkRef", "data_elim_LowStar.Monotonic.Buffer.Buffer", "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", "disc_equation_LowStar.Monotonic.Buffer.Buffer", @@ -8981,8 +9289,12 @@ "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.contains", + "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", + "equation_FStar.Monotonic.HyperStack.mreference", + "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.Seq.Properties.lseq", "equation_FStar.Seq.Properties.replace_subseq", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", @@ -8999,17 +9311,18 @@ "equation_LowStar.Monotonic.Buffer.len", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc", "equation_LowStar.Monotonic.Buffer.loc_buffer", "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", "equation_LowStar.Monotonic.Buffer.loc_none", "equation_LowStar.Monotonic.Buffer.mgsub", "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", + "equation_LowStar.Monotonic.Buffer.ubuffer", "equation_LowStar.Monotonic.Buffer.ubuffer___419", "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", "equation_Prims.nat", + "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Monotonic.Buffer.srel_to_lsrel", @@ -9025,10 +9338,12 @@ "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_is_empty", + "lemma_FStar.Seq.Properties.slice_length", "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", + "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -9044,6 +9359,7 @@ "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", + "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", @@ -9063,40 +9379,45 @@ "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", + "projection_inverse_LowStar.Monotonic.Buffer.Null_a", + "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", + "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_08089ffc7c10c1d8093244b57f8b497c", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_69f77bf845648c1ca03ad0aa05c7f559", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_b5a91607eec33580227fb984e64e5622", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_ff76e6a0441a7febb4383f344e810c76", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", + "true_interp", "typing_FStar.Ghost.reveal", + "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", + "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", + "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", @@ -9104,14 +9425,14 @@ "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", + "typing_LowStar.Monotonic.Buffer.mgsub", "typing_LowStar.Monotonic.Buffer.ubuffer___419", + "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer", "typing_LowStar.Monotonic.Buffer.uu___is_Null", "unit_inversion", "unit_typing" ], 0, - "3d79bda01d520083db51b922338cfd26" + "c1a4aa33bf81540933332fa022d504ac" ], [ "LowStar.Monotonic.Buffer.fill'", @@ -9121,47 +9442,60 @@ [ "@MaxIFuel_assumption", "@query", "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", + "LowStar.Monotonic.Buffer_interpretation_Tm_arrow_e24db14f58257004291eace6334577ab", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", "data_elim_LowStar.Monotonic.Buffer.Buffer", "disc_equation_LowStar.Monotonic.Buffer.Buffer", + "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.is_live_for_rw_in", + "equation_FStar.HyperStack.ST.mreference", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", + "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Monotonic.HyperStack.sel", + "equation_FStar.Monotonic.HyperStack.upd", "equation_FStar.Seq.Properties.lseq", "equation_FStar.Seq.Properties.replace_subseq", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", + "equation_LowStar.Monotonic.Buffer.as_addr", "equation_LowStar.Monotonic.Buffer.as_seq", "equation_LowStar.Monotonic.Buffer.buffer_compatible", "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", + "equation_LowStar.Monotonic.Buffer.frameOf", + "equation_LowStar.Monotonic.Buffer.g_is_null", "equation_LowStar.Monotonic.Buffer.g_upd_seq", "equation_LowStar.Monotonic.Buffer.len", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Monotonic.Buffer.live", "equation_LowStar.Monotonic.Buffer.loc_buffer", "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", + "int_typing", "l_and-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", + "lemma_FStar.Map.lemma_SelUpd1", + "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", + "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -9170,9 +9504,13 @@ "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", "lemma_LowStar.Monotonic.Buffer.modifies_refl", + "lemma_LowStar.Monotonic.Buffer.modifies_upd", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -9187,41 +9525,60 @@ "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5de3ab3d26a280c6f48f12def8891bcf", - "refinement_interpretation_Tm_refine_71a8db0bc3aa3e704133bd45039a6d10", - "refinement_interpretation_Tm_refine_9136dd720dc771197c9f97542ca696c0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_55cd6d6db25fd2e317f3201a2899c181", + "refinement_interpretation_Tm_refine_7c8fba31f88c82f59782005a48646fe6", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_81ce43bb27006d04d5a7a274b857552a", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_ae6ce505277963db735bcff6b28ad3f1", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "true_interp", "typing_FStar.Map.domain", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d58d7e3b4b6ce757231e9089061120a0", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", + "true_interp", "typing_FStar.Map.domain", "typing_FStar.Map.sel", + "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Monotonic.HyperHeap.rid", + "typing_FStar.Monotonic.HyperStack.as_ref", + "typing_FStar.Monotonic.HyperStack.contains", "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Monotonic.HyperStack.get_rid_ctr", + "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Monotonic.HyperStack.sel", + "typing_FStar.Monotonic.HyperStack.upd", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.Seq.Properties.replace_subseq", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_FStar.Set.singleton", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", + "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", + "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "unit_inversion", + "typing_LowStar.Monotonic.Buffer.loc_addresses", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.uu___is_Null", "unit_inversion", "unit_typing" ], 0, - "df5e738173c51c87022db6f927c21143" + "cdba66c49a934142245bae1b1b4a3df5" ], [ "LowStar.Monotonic.Buffer.fill", @@ -9229,28 +9586,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", + "equation_LowStar.Monotonic.Buffer.length", "int_inversion", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_71a8db0bc3aa3e704133bd45039a6d10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_55cd6d6db25fd2e317f3201a2899c181", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "ef912f86f9a12a8421d2c8377d0d8e23" + "eb55540c0b4767f522340600a61f73f5" ], [ "LowStar.Monotonic.Buffer.fill", @@ -9258,12 +9612,9 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_LowStar.Monotonic.Buffer.Null", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "disc_equation_LowStar.Monotonic.Buffer.Null", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.as_addr", @@ -9271,17 +9622,16 @@ "equation_LowStar.Monotonic.Buffer.g_is_null", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_71a8db0bc3aa3e704133bd45039a6d10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_55cd6d6db25fd2e317f3201a2899c181", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_addr", @@ -9290,7 +9640,7 @@ "typing_LowStar.Monotonic.Buffer.length" ], 0, - "58448568df5fbea6a7ed3f9a2c9fa19c" + "58d0c3869a91bda68bb646e1f85970ef" ], [ "LowStar.Monotonic.Buffer.coerce", @@ -9302,7 +9652,7 @@ "refinement_interpretation_Tm_refine_de9aeb070296eed20d879692d0254af0" ], 0, - "e0b6cef2dbc0c6f0856f5e3d34eab80a" + "9f50a1785139e3bb26b09181cce98e5a" ], [ "LowStar.Monotonic.Buffer.cloc_cls", @@ -9311,7 +9661,7 @@ 1, [ "@query" ], 0, - "9e564820e1a7d5d3bc8ea3ea79b1f180" + "def3ef92fea6e9d41dfab56503d73fa2" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc", @@ -9329,7 +9679,7 @@ "typing_LowStar.Monotonic.Buffer.cls" ], 0, - "64e9259829feceb607bc8b8cfcaa45e3" + "163ccbac4297144fbacba435d64dd712" ], [ "LowStar.Monotonic.Buffer.loc_of_cloc", @@ -9347,7 +9697,7 @@ "typing_LowStar.Monotonic.Buffer.cls" ], 0, - "c45a04747711ac968ae58c967416e8fd" + "b5b301302920382bf5f002989fccb608" ], [ "LowStar.Monotonic.Buffer.loc_of_cloc_of_loc", @@ -9361,7 +9711,7 @@ "equation_LowStar.Monotonic.Buffer.loc_of_cloc" ], 0, - "d9b4ecd2923aed57c2ec552edeb8d169" + "9e204cedbbd386e1533fe7bea6071487" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_of_cloc", @@ -9375,7 +9725,7 @@ "equation_LowStar.Monotonic.Buffer.loc_of_cloc" ], 0, - "f4b5a87ecea1b8f539bb09e4c55af69a" + "20402155266882451000ce446a253f49" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_none", @@ -9395,7 +9745,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "1e50eafe7a35df881f1b80e0c56c034d" + "ddd152734444b220a9efb05eaeb3673b" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_union", @@ -9415,7 +9765,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "08c27a387bb0797e8b01a75279ac0244" + "c0ec947e8e8875f46af535c53c930d52" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", @@ -9425,11 +9775,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "289aa9e13c529a41d6c5836b1be309f5" + "a267fed35d567a8b0015b7fb28b3ebf7" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", @@ -9439,11 +9789,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b7d880476c8cb0c293e02ba22c153e94" + "484864acc757d5dc0a4233f6d99a438a" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", @@ -9463,7 +9813,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "1880b61dc2a04bb6983657892da4528c" + "4a71403b7a301ed71f6e98ea3da9495d" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_regions", @@ -9483,7 +9833,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "323d0e5954172497562d85bb9f44b076" + "f29b7cabd4dec1705cc12aba2d0b7ca3" ], [ "LowStar.Monotonic.Buffer.loc_includes_to_cloc", @@ -9503,7 +9853,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "43a7300ec219051b1f538fc272a5c274" + "50a235b481064662f67f36747637a6a0" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_to_cloc", @@ -9523,7 +9873,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "e37c67f139ac130c5ce4139bc3671f49" + "11e06ac35d2992d348ba472071fc7713" ], [ "LowStar.Monotonic.Buffer.modifies_to_cloc", @@ -9543,7 +9893,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "d1a8279e324a6a9ab9f9d318c6533394" + "454e767f49aeb88c95c0688fbfa75cb3" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.Monotonic.Buffer.fsti b/ulib/LowStar.Monotonic.Buffer.fsti index dedfb62bb72..5f17103c726 100644 --- a/ulib/LowStar.Monotonic.Buffer.fsti +++ b/ulib/LowStar.Monotonic.Buffer.fsti @@ -1552,6 +1552,14 @@ val loc_not_unused_in (h: HS.mem) : GTot loc val loc_unused_in (h: HS.mem) : GTot loc +(* Shortcut notations with more handy names *) + +let loc_in (l: loc) (h: HS.mem) = + loc_not_unused_in h `loc_includes` l + +let loc_not_in (l: loc) (h: HS.mem) = + loc_unused_in h `loc_includes` l + val loc_regions_unused_in (h: HS.mem) (rs: Set.set HS.rid) : Lemma (requires (forall r . Set.mem r rs ==> (~ (HS.live_region h r)))) (ensures (loc_unused_in h `loc_includes` loc_regions false rs)) @@ -2063,6 +2071,22 @@ val mgcmalloc (#a:Type0) (#rrel:srel a) (requires (fun _ -> malloc_pre r len)) (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init))) + +(* + * Allocate a memory-managed buffer initialized with contents from src + * + * This allocates and initializes the buffer atomically (from the perspective of the Low* clients) + *) +val mgcmalloc_and_blit (#a:Type0) (#rrel:srel a) (r:HS.rid) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.ST (b:lmbuffer a rrel rrel (U32.v len){frameOf b == r /\ recallable b}) + (requires fun h0 -> + malloc_pre r len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + alloc_post_mem_common b h0 h1 + (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len))) + (* * See the Allocation comment above when changing the spec *) @@ -2091,6 +2115,21 @@ val mmalloc (#a:Type0) (#rrel:srel a) (requires (fun _ -> malloc_pre r len)) (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init))) +(* + * Allocate a hand-managed buffer initialized with contents from src + * + * This allocates and initializes the buffer atomically (from the perspective of the Low* clients) + *) +val mmalloc_and_blit (#a:Type0) (#rrel:srel a) (r:HS.rid) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.ST (b:lmbuffer a rrel rrel (U32.v len){frameOf b == r /\ freeable b}) + (requires fun h0 -> + malloc_pre r len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + alloc_post_mem_common b h0 h1 + (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len))) + (* * See the Allocation comment above when changing the spec *) @@ -2121,6 +2160,22 @@ val malloca (#a:Type0) (#rrel:srel a) (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init) /\ frameOf b == HS.get_tip h0)) +(* + * Allocate a stack buffer initialized with contents from src + * + * This allocates and initializes the buffer atomically (from the perspective of the Low* clients) + *) +val malloca_and_blit (#a:Type0) (#rrel:srel a) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.StackInline (b:lmbuffer a rrel rrel (U32.v len)) + (requires fun h0 -> + alloca_pre len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + alloc_post_mem_common b h0 h1 + (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len)) /\ + frameOf b == HS.get_tip h0) + /// ``alloca_of_list init`` allocates a buffer in the current stack /// frame. The initial values of the cells of this buffer are diff --git a/ulib/LowStar.Monotonic.Buffer.fsti.hints b/ulib/LowStar.Monotonic.Buffer.fsti.hints index b0b11ec6249..e86417cbb49 100644 --- a/ulib/LowStar.Monotonic.Buffer.fsti.hints +++ b/ulib/LowStar.Monotonic.Buffer.fsti.hints @@ -1,5 +1,5 @@ [ - "Ã5,âŒ\u000f\u0005D2¨öhý[:ë", + "¹ äBßÝ\u000f\u0017Ôkê*ËŽ°¿", [ [ "LowStar.Monotonic.Buffer.live_is_null", @@ -8,7 +8,7 @@ 1, [ "@query", "projection_inverse_BoxBool_proj_0" ], 0, - "b1ac37918ef62e91d53ee68f206036c6" + "c4630afca9d9468b18c644fa8c5ec6d0" ], [ "LowStar.Monotonic.Buffer.length", @@ -22,7 +22,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ce73ee10c547c265202194ddaccb9ba8" + "6167faa5f26c2a0afff84cc6e66df2d2" ], [ "LowStar.Monotonic.Buffer.length_null_1", @@ -30,26 +30,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "int_typing", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "37f2b92fc02781562c56274a3f83e356" + "19cf60445318ac0f0a4c87fa7f4cb8f9" ], [ "LowStar.Monotonic.Buffer.length_null_2", @@ -61,7 +59,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "64a6d6d16c1f8690dcfb465a7c1f7ed9" + "c8bc3580b55651429f33687869ba61d5" ], [ "LowStar.Monotonic.Buffer.get", @@ -70,7 +68,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.length_as_seq" ], 0, - "6b5b57f9c164f2629132fdd1cc6c1519" + "9999b3c6fe16fb44fc0c83f43b4a30ce" ], [ "LowStar.Monotonic.Buffer.compatible_sub", @@ -78,23 +76,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", - "function_token_typing_Prims.__cache_version_number__", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0f0c906a9593cc41a5e101eabd7d1b2e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e58265ec7d7a25517bdbc13fe0540e3b", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" ], 0, - "2966cbe12182ed45740c9f61ec0f2865" + "d2a4f92978a1dab10c7b4c4153478279" ], [ "LowStar.Monotonic.Buffer.live_gsub", @@ -102,19 +99,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "l_quant_interp_360dd7dfd42485aa994d048616584063", - "l_quant_interp_e8b84a0b3d4ca138e9c51a2a5f4854f9", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.l_and", + "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2b657655259c0b3603c18e5cf1d9aa5a" + "e22701618bde71e126e10cb95ab7224f" ], [ "LowStar.Monotonic.Buffer.gsub_is_null", @@ -122,19 +114,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "l_quant_interp_360dd7dfd42485aa994d048616584063", - "l_quant_interp_e8b84a0b3d4ca138e9c51a2a5f4854f9", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0e2296183509c9ad0366691f31d3754b" + "959cb6d65b088dfc72d6db9956ba1a8a" ], [ "LowStar.Monotonic.Buffer.len_gsub", @@ -142,19 +128,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "l_quant_interp_360dd7dfd42485aa994d048616584063", - "l_quant_interp_e8b84a0b3d4ca138e9c51a2a5f4854f9", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3f0ff27a8497ff579a48315913ebbac0" + "0a120fc65b9a7db2800d89c21eeb13a6" ], [ "LowStar.Monotonic.Buffer.frameOf_gsub", @@ -162,19 +142,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "l_quant_interp_360dd7dfd42485aa994d048616584063", - "l_quant_interp_e8b84a0b3d4ca138e9c51a2a5f4854f9", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "85aa4afca5c5084aa17e2eb715deccae" + "6fb1a0bb41481ec90d11897e0fba4e6e" ], [ "LowStar.Monotonic.Buffer.as_addr_gsub", @@ -182,19 +156,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "l_quant_interp_360dd7dfd42485aa994d048616584063", - "l_quant_interp_e8b84a0b3d4ca138e9c51a2a5f4854f9", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6ee4aeaaa106f01efc27b56faa869a0b" + "fa8b33ed477e34b6406aaef079d0b6b2" ], [ "LowStar.Monotonic.Buffer.mgsub_inj", @@ -203,7 +171,7 @@ 1, [ "@query" ], 0, - "abf4590f192b59fec3947c6da7e4f9a4" + "57e4c207a24348196f8de548ecb5df55" ], [ "LowStar.Monotonic.Buffer.gsub_gsub", @@ -211,32 +179,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", - "l_quant_interp_34bc3d7d0f76e975fd9f8e2969b5ed12", - "l_quant_interp_360dd7dfd42485aa994d048616584063", - "l_quant_interp_94c95e40af09fb7557a0cdb4b713fe43", - "l_quant_interp_e8b84a0b3d4ca138e9c51a2a5f4854f9", + "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_and", + "equation_Prims.squash", "int_inversion", "l_and-interp", "lemma_LowStar.Monotonic.Buffer.len_gsub", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "09a2f8b748e23c9dcaf60049e439f6a4" + "5128259ad9cbe0fecbbc0e4425e14714" ], [ "LowStar.Monotonic.Buffer.gsub_zero_length", @@ -248,7 +207,7 @@ "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" ], 0, - "b0c77ced6a8cbdd06895d6ac684c3c03" + "6ae74d1ed8bc7a819cac78ab97af8139" ], [ "LowStar.Monotonic.Buffer.as_seq_gsub", @@ -256,27 +215,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", - "l_quant_interp_360dd7dfd42485aa994d048616584063", - "l_quant_interp_e8b84a0b3d4ca138e9c51a2a5f4854f9", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "equation_FStar.UInt.uint_t", "equation_Prims.squash", + "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "1f9a7194bb2f228cf2f6d0bdbf6de00b" + "f3216492e550fe796521534d6871edcc" ], [ "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders", @@ -285,7 +238,7 @@ 1, [ "@query" ], 0, - "0323f6519fa6d2a53b6a2b18f51916c2" + "f1d236f4404f603a34f0cb1504a85475" ], [ "LowStar.Monotonic.Buffer.loc_union_idem_1", @@ -294,7 +247,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_union_idem" ], 0, - "b14615247c63ec61c6f1b7e7d8f513d2" + "e537e325e1b31257d2f2d320825a13a9" ], [ "LowStar.Monotonic.Buffer.loc_union_idem_2", @@ -303,7 +256,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_union_idem" ], 0, - "b0b7fff1a2c4f39b9b8104c40702c2fe" + "32685412b63e7212ba7f9b0a57f87310" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_mgsub", @@ -311,24 +264,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_and", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.squash", "int_inversion", "l_and-interp", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "28a15fccbddb8fb6c610f23fb19cf577" + "bdf7b483c5f0c566f6d281577e767955" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_eq", @@ -336,22 +287,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "120b82b4886dac42c143b521a5dd2488" + "38848196289355d4ad521d23114f4a81" ], [ "LowStar.Monotonic.Buffer.loc_buffer_from_to_eq", @@ -359,25 +308,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_and", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_Prims.squash", "int_inversion", "l_and-interp", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "ad44e588b8eaebe4951945ce19418940" + "0265d411f5dda80694e407bdecb2d11e" ], [ "LowStar.Monotonic.Buffer.loc_buffer_mgsub_rel_eq", @@ -388,10 +335,10 @@ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "4d96a10c843559a35099f635891c2497" + "b696d4910f1b56976fad53dd27cb688d" ], [ "LowStar.Monotonic.Buffer.loc_addresses", @@ -401,11 +348,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9027f2c5bff02944a143668b7367acea" + "d1532cb715c0ee872b496704574ba812" ], [ "LowStar.Monotonic.Buffer.loc_addr_of_buffer", @@ -415,11 +362,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1d912864c8ba14ef56897702b2e87815" + "88c2dd62a7fb5868d52a4390c9ab55e8" ], [ "LowStar.Monotonic.Buffer.loc_mreference", @@ -427,16 +374,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b10fc201675a1dced67b37807c5b362c" + "44c497c0daa8ec1a6a0381955d4635e6" ], [ "LowStar.Monotonic.Buffer.loc_freed_mreference", @@ -444,16 +388,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "4eeb2ca48e6dfa283db268bbe59ab94c" + "158c8f4838c28d9de071a0d98c47231d" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_r'", @@ -462,7 +403,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "d626d65fe4192be047b5f3ae26c3da30" + "f6fbd6b74c5298426a1855633fb0714f" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r", @@ -470,19 +411,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "l_quant_interp_360dd7dfd42485aa994d048616584063", - "l_quant_interp_e8b84a0b3d4ca138e9c51a2a5f4854f9", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.l_and", + "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "bb1a9cce6a79da9fc1dfd5c258de7a06" + "8c09dab2efa4739b921ba53e9c485ebd" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r'", @@ -490,22 +426,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "l_quant_interp_360dd7dfd42485aa994d048616584063", - "l_quant_interp_e8b84a0b3d4ca138e9c51a2a5f4854f9", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "e240173a5febd96d6dab858e303487e4" + "c335011323c6049bf65017d6c62a12f4" ], [ "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", @@ -513,20 +443,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "l_quant_interp_360dd7dfd42485aa994d048616584063", - "l_quant_interp_e8b84a0b3d4ca138e9c51a2a5f4854f9", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.l_and", + "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "e131908fb7aed4870f25fa4852fac4fd" + "9f6c135c7af350e60522972b5dd2d285" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", @@ -534,16 +458,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e77093b71635f0a71a012f7d5c5d4082" + "6567ad668252dfee75a91b39155ff233" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer'", @@ -551,23 +472,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_typing", + "@MaxIFuel_assumption", "@query", "bool_typing", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.mem_singleton", "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Set.singleton", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "7ce9ead3274d30f3407d2731ae2e4d1a" + "006f97c0089dd8fef8aadd9dd75f701c" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_buffer'", @@ -582,7 +502,7 @@ "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "477e37c7cdd64c73d80535bd79bb8c6a" + "d3d5feb9080390d27aa8ee77970a2bd9" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses", @@ -592,11 +512,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d163965b2a363d8b3cdf9e8517a97a3a" + "2fd828ca1402db49772c51877395c26f" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", @@ -606,11 +526,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "bf2522a402cb18ffcf02525982fb9fa5" + "051c12d3b82b2fbec3f437082b48b752" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", @@ -624,7 +544,7 @@ "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton" ], 0, - "d21716f0cad0a2cb8176c410e5865a2d" + "1f7f9237fb865e0393a55b14cf29900b" ], [ "LowStar.Monotonic.Buffer.loc_includes_region_region'", @@ -638,7 +558,7 @@ "typing_FStar.Monotonic.HyperHeap.rid" ], 0, - "d4cf8101903873452d4960be78592814" + "d4b364301d8bea05782cdc305fbae9d9" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses", @@ -646,16 +566,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "d43eb2790e5b2c32117c06255ca64d7c" + "fd8864cee1cb384ee65267fe49ffa9d1" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", @@ -663,16 +580,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "8a3fc77542f57808fc0b070ac913e970" + "0c5e59c73378c04398748f30279c8f9b" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", @@ -680,16 +594,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "e78a17e99b3dc97cfbd2ce86b8206043" + "9c41c4b955ea4e0bb4bfb70c1c24fc3b" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", @@ -699,11 +610,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "9cac39bd2afff29efabb65e146c5c067" + "f00be626d04805a118a595901d3af5cd" ], [ "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", @@ -717,7 +628,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c78181940f002d02fa89182e998468da" + "7d7e918083da951b3ca849c449c67643" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_buffer", @@ -726,7 +637,7 @@ 1, [ "@query" ], 0, - "c0156f94cedaddb4c60f6fa6e46cd38b" + "afc6f36c42829d32edb83c10a3ce8dca" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", @@ -736,11 +647,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c7b4f57c278fbb950e8aca81754484da" + "bb5b886ffe7cbff1910cd3dbe438c3be" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", @@ -749,7 +660,7 @@ 1, [ "@query" ], 0, - "5f669157e61d47da2a8e09bb1c5276d6" + "f135cde28797cecc3c60a646b836ccf1" ], [ "LowStar.Monotonic.Buffer.loc_includes_union_l_regions", @@ -758,7 +669,7 @@ 1, [ "@query" ], 0, - "623aa8b009ea3fca980ee0f858107956" + "b8023d9ff4a3e71aa5c99fa5dc55c226" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_sym'", @@ -767,7 +678,7 @@ 1, [ "@query" ], 0, - "7d7ab394dce8bd84f803329109b05eef" + "1d0edc77f7be5d4cfb32bbc81b98621a" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_union_r'", @@ -776,7 +687,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "58d2aa2ec26d697feb3e470d7715b5c7" + "d5bbb1eeaecf6b4bc174fa65ab3f3df3" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_includes_r", @@ -785,7 +696,7 @@ 1, [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], 0, - "96b86f3fb13c56e051047fb18f1c82ec" + "0399397d2822f8ea31e5077224f10567" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", @@ -793,18 +704,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "l_quant_interp_360dd7dfd42485aa994d048616584063", - "l_quant_interp_e8b84a0b3d4ca138e9c51a2a5f4854f9", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.l_and", + "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0ebe649276602a6b895516e958a90ebc" + "016b996062ab288d721e3c60a3495a3f" ], [ "LowStar.Monotonic.Buffer.loc_disjoint_addresses", @@ -812,16 +719,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "46712e28783309888c73ea10e11fd1ca" + "8e42408b684770742f0a5f40042b9b45" ], [ "LowStar.Monotonic.Buffer.modifies_buffer_from_to_elim", @@ -829,26 +733,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperStack.live_region", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.l_and", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "equation_Prims.l_and", "equation_Prims.squash", "int_inversion", + "l_and-interp", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "7729f0da12c2d1d938154ff1113e7696" + "a07aaf16bd31635eb34461c8b44f716d" ], [ "LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", @@ -858,11 +758,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "158696990d64f8831067fcc77066b67a" + "c88a20aff1134331f38ddff01c38caff" ], [ "LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", @@ -872,11 +772,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c8e1800bab7097c7e4589e445f14855b" + "2312e67ceb9e435be3df9c584c38ee75" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", @@ -884,23 +784,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.contains", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.mreference", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Monotonic.HyperStack.as_ref", "typing_FStar.Monotonic.HyperStack.contains", @@ -910,7 +809,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "4faa8dde628350a47ad17a8ce9ea868b" + "ba5a1c477ab83633d95592701b77c186" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", @@ -926,7 +825,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "913f844f2bb5df7d9669a481648e4d4b" + "1f0d3c30c4b140df1db24b690e529591" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", @@ -944,7 +843,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "0cb5e3ef6732a436678bcabbdc5d87a3" + "0a2ec76f208bfd29a4bc2d2f20d176b4" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_mreference_weak", @@ -952,24 +851,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperStack.as_addr", "equation_FStar.Monotonic.HyperStack.frameOf", "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mreference", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.HyperStack.as_addr", "typing_FStar.Monotonic.HyperStack.frameOf", "typing_FStar.Monotonic.HyperStack.live_region", @@ -978,7 +876,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "6c864f57b081ce6119294c759c351d89" + "5f5a62b4c43f4750e68d95f432f080a4" ], [ "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_buffer_weak", @@ -995,7 +893,7 @@ "typing_LowStar.Monotonic.Buffer.loc_none" ], 0, - "3b48decf7244bf6de1e7661b1e6c47f9" + "81249f29c6f2bd5791061eba650a96b4" ], [ "LowStar.Monotonic.Buffer.modifies_trans_linear", @@ -1010,7 +908,7 @@ "typing_LowStar.Monotonic.Buffer.loc_union" ], 0, - "905d194ae830fdd9f4312b984510c436" + "94cfe4281d47af1acfc75f25c21ef9e5" ], [ "LowStar.Monotonic.Buffer.new_region_modifies", @@ -1018,19 +916,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.Monotonic.HyperStack.live_region", "equation_Prims.eqtype", "equation_Prims.squash", "function_token_typing_Prims.int", "l_and-interp", "l_or-interp", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "28498cd9a2400cfd83c8a9566c59f409" + "1084c008703f21ce3d83fca9d3ab7915" ], [ "LowStar.Monotonic.Buffer.modifies_loc_addresses_intro", @@ -1040,11 +936,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "c58a5d1daa77e068809b31a3a291e24b" + "412bebe31bc73bc9457046d5f9380d20" ], [ "LowStar.Monotonic.Buffer.modifies_upd", @@ -1057,10 +953,10 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_Prims.squash", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "51f901be08a65410cff3f26f9a7dbe12" + "63d3efde60cb0337c3e37f4df47b28cd" ], [ "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro", @@ -1090,7 +986,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "5a98e65d03e29b305cb3b77d438f8648" + "f7d1808b360b8f96a51e9ee68b8e4613" ], [ "LowStar.Monotonic.Buffer.unused_in_does_not_contain_addr", @@ -1099,7 +995,7 @@ 1, [ "@query" ], 0, - "7af15f6a0edd7aea4d82522aabcb58b9" + "42f1e323d574c9c9bfaefc4d98fa142f" ], [ "LowStar.Monotonic.Buffer.free_does_not_contain_addr", @@ -1109,10 +1005,10 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6a14b4dff9a9ab5238d114d46186d243" + "f99921629c25e7130319116f792eb589" ], [ "LowStar.Monotonic.Buffer.does_not_contain_addr_elim", @@ -1121,7 +1017,7 @@ 1, [ "@query" ], 0, - "c80af39f21586c76dec9ed083d6d9283" + "34debe78429339e9b992891a68e85012" ], [ "LowStar.Monotonic.Buffer.modifies_only_live_addresses", @@ -1129,16 +1025,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "36245a71f58bec1ebb20b4bcb5fa8574" + "8e6e709498b6b13d184ff16e1260f45e" ], [ "LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", @@ -1159,7 +1052,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "de4743a40f242f81eb97f891e797e1c9" + "48660fa2f2e2346a5381977737b7ec0e" ], [ "LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", @@ -1168,7 +1061,7 @@ 1, [ "@query" ], 0, - "a500aba920f4bcb81fe42acf24091c21" + "7fc971255b4f427e893fda8102c2cd9d" ], [ "LowStar.Monotonic.Buffer.ralloc_post_fresh_loc", @@ -1176,9 +1069,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.HyperStack.ST.mreference", "equation_FStar.HyperStack.ST.ralloc_post", @@ -1196,9 +1087,8 @@ "equation_FStar.Monotonic.HyperStack.upd", "equation_LowStar.Monotonic.Buffer.fresh_loc", "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Monotonic.Heap.lemma_upd_contains", "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", @@ -1207,13 +1097,10 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", "refinement_interpretation_Tm_refine_5162887c6054b4734f59cfb79dd5cf2f", - "refinement_interpretation_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "typing_FStar.Map.contains", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", "typing_FStar.Monotonic.Heap.unused_in", @@ -1227,7 +1114,7 @@ "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" ], 0, - "32025b788ff3d932f40edf06d215a8fb" + "6f60c954250a9a72cc30bfd70d2faba5" ], [ "LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", @@ -1254,7 +1141,7 @@ "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -1266,7 +1153,7 @@ "typing_LowStar.Monotonic.Buffer.loc_unused_in" ], 0, - "c6b66fa6a2f64ccec54d969e2c71198b" + "ca4c149b67136689dfdd0f3a03f0e72d" ], [ "LowStar.Monotonic.Buffer.deref", @@ -1280,7 +1167,7 @@ "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" ], 0, - "6946561ad55a94fc1d4ba1e8240c6652" + "29126333f353c0159b5b9ee8d7958a81" ], [ "LowStar.Monotonic.Buffer.pointer_distinct_sel_disjoint", @@ -1294,7 +1181,7 @@ "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" ], 0, - "a1d76078f7210a6359dc9feedc91463d" + "d478e7ae6ea24a3d61516442ad65e7e9" ], [ "LowStar.Monotonic.Buffer.msub", @@ -1303,11 +1190,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_fe6abc62014457623ceb986560f36c17" + "refinement_interpretation_Tm_refine_3d547c32c9460f29c03dc371743a2558" ], 0, - "e758cb7c3ff3507201098cc925d1a45e" + "4cd8ee70f5c8fd7eefb46e3e1528ac12" ], [ "LowStar.Monotonic.Buffer.moffset", @@ -1315,25 +1201,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Monotonic.Buffer.length", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_e11acfb33ec6a45e6843d918a682a868", + "refinement_interpretation_Tm_refine_37b0355715a64c75215595fc049d5800", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "b7d9b4505e71931c7eb644d0a4704327" + "8b17107827633b61fcfabeb3802a8ffb" ], [ "LowStar.Monotonic.Buffer.index", @@ -1342,16 +1225,15 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5bc2d3af8b6b6b89753429fc786efe42" + "refinement_interpretation_Tm_refine_730abd66c63216085959087a5b94de9e" ], 0, - "85f69920081d70545ffeb849c03f0aa1" + "ef65efefc306ceaf1fa1ac3b59971b0c" ], [ "LowStar.Monotonic.Buffer.lemma_g_upd_with_same_seq", @@ -1361,10 +1243,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "64ab3753d608dfd7e7ec9927b5b44725" + "41c17c3e371d0bf26eb71fd0f7c2a7c8" ], [ "LowStar.Monotonic.Buffer.g_upd", @@ -1372,19 +1254,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_4acaff7625cce77e875edac658e5a574", - "refinement_interpretation_Tm_refine_98e67f2232917955d7f07a5ab0244110", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_3fea43d8c4f8a22879f363fd1e0340c1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202" ], 0, - "f6c89c1f2699b4c32c098d0aa2b07e00" + "5cddb13ae01c88685a99e7b88df02777" ], [ "LowStar.Monotonic.Buffer.g_upd_modifies_strong", @@ -1392,24 +1271,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4acaff7625cce77e875edac658e5a574", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_3fea43d8c4f8a22879f363fd1e0340c1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "44bfb78fa5551bd5d34e8ff8750efefa" + "f311a7a6b95b8b24b3954faa67e1913a" ], [ "LowStar.Monotonic.Buffer.upd'", @@ -1418,16 +1295,15 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f50e31f4b48141b4b7958abcf67da20e" + "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1" ], 0, - "3fd04c924b64e2777f05d76de6eaab1c" + "faab85da81f3de127f543ef0878aac9a" ], [ "LowStar.Monotonic.Buffer.upd", @@ -1435,25 +1311,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_upd", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", + "equation_LowStar.Monotonic.Buffer.g_upd", "int_inversion", + "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_2101589b8dd34683de223d6c47b9da02", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_41fcfba1f6b4fd18504e7b1bb654095a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f50e31f4b48141b4b7958abcf67da20e", + "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq" ], 0, - "10831e50e8909cf242f6632f80bbb4d8" + "33f59d2a3872e7bf5c1e7060f775e0b4" ], [ "LowStar.Monotonic.Buffer.recallable_mgsub", @@ -1465,10 +1338,10 @@ "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2cc5dcb38d8659c3bf5e673ca373079d" + "a405c484e905c04b612dba859f71cfea" ], [ "LowStar.Monotonic.Buffer.freeable_disjoint", @@ -1478,11 +1351,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "b0c8dc5df22e9fe6cc27ae83ace3814b" + "d6f197df7365aea20a6f5381a7dff94d" ], [ "LowStar.Monotonic.Buffer.freeable_disjoint'", @@ -1490,29 +1363,27 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Set.subset", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Set.subset", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "equation_Prims.nat", "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_addresses", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "e5db08bc820e3a62634c12336b1bf326" + "527d1732c850c89e016c1e76ac05700e" ], [ "LowStar.Monotonic.Buffer.mgcmalloc", @@ -1526,7 +1397,28 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "2853a6eb2e0ab1bd1ba7407d0d122c3b" + "29d86a6efa7db44bb719f3b7e7d0c147" + ], + [ + "LowStar.Monotonic.Buffer.mgcmalloc_and_blit", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", + "typing_FStar.UInt32.v" + ], + 0, + "91159c2d0c0f77683446ced7ef91c054" ], [ "LowStar.Monotonic.Buffer.mgcmalloc_partial", @@ -1542,7 +1434,7 @@ "refinement_interpretation_Tm_refine_5b0eb244f918e6c8215083b2d9842d7b" ], 0, - "ede765fe33d2cfadf675cf0b0dd41af7" + "45c435117384e6b358ff8a96dddb0682" ], [ "LowStar.Monotonic.Buffer.mmalloc", @@ -1556,7 +1448,28 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "1b728513f37de31f5ea163686f21ab5d" + "eec6724188356cd495f54ee08441c397" + ], + [ + "LowStar.Monotonic.Buffer.mmalloc_and_blit", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", + "typing_FStar.UInt32.v" + ], + 0, + "2516f248cf9fdfd0646d05cbeb16f9b9" ], [ "LowStar.Monotonic.Buffer.mmalloc_partial", @@ -1572,7 +1485,7 @@ "refinement_interpretation_Tm_refine_a6cf5e5c36c8ad78f0926c7c77a31f31" ], 0, - "3ec2d1d0b87b977dbd0fda96b94b249d" + "dec0e481086a8f399b18c1b79d4a7964" ], [ "LowStar.Monotonic.Buffer.malloca", @@ -1590,7 +1503,30 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "fc908990eae08c6dfbef1c41926ba5ff" + "032848f31d5b913ac95795a249076a7f" + ], + [ + "LowStar.Monotonic.Buffer.malloca_and_blit", + 1, + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", + "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_Prims.nat", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", + "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b7dc68121a6e5ecaed08c46083255713", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" + ], + 0, + "3592521cd7a6127cfaf2790f17dff6c2" ], [ "LowStar.Monotonic.Buffer.mgcmalloc_of_list_partial", @@ -1602,7 +1538,7 @@ "refinement_interpretation_Tm_refine_a6118af488767f45ce918c6f829632fa" ], 0, - "95d90778afe5dfde32ff18ca0d912365" + "a2f1643f9a8e746b59d234602bb2470e" ], [ "LowStar.Monotonic.Buffer.blit", @@ -1610,43 +1546,42 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_903526b87ec5656e80115d0c629779d9", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ff76e6a0441a7febb4383f344e810c76", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b3a10eec9430ce76d54af2274814c12d", + "refinement_interpretation_Tm_refine_b5a91607eec33580227fb984e64e5622", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", + "typing_LowStar.Monotonic.Buffer.frameOf", + "typing_LowStar.Monotonic.Buffer.len" ], 0, - "269e408a5f3bcd39567fee534a978100" + "c920f5f1e1ec365a177ad8a88c8459a9" ], [ "LowStar.Monotonic.Buffer.fill", @@ -1654,28 +1589,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", + "equation_LowStar.Monotonic.Buffer.length", "int_inversion", + "lemma_FStar.Seq.Base.lemma_create_len", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_71a8db0bc3aa3e704133bd45039a6d10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_55cd6d6db25fd2e317f3201a2899c181", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "37d6d6490c82ac35418b90a73fe60723" + "0dbc0542e97bc77c9e6d8f508be73292" ], [ "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", @@ -1685,11 +1617,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "1623d8cd7d52a5ab1c5eabaccda8fc54" + "b62821494ca218efdfc72da84996409f" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.PrefixFreezableBuffer.fst.hints b/ulib/LowStar.PrefixFreezableBuffer.fst.hints old mode 100755 new mode 100644 index a486ed7008d..b9a7ce27bd7 --- a/ulib/LowStar.PrefixFreezableBuffer.fst.hints +++ b/ulib/LowStar.PrefixFreezableBuffer.fst.hints @@ -8,13 +8,12 @@ 0, [ "@MaxIFuel_assumption", "@query", - "equation_LowStar.PrefixFreezableBuffer.u8", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9fca04456a176b6286c8b839ab0f9806" + "refinement_interpretation_Tm_refine_a49060b10d6e3d658ebb59ee5e13caba" ], 0, - "2923cbf75e70e571582471c86f55de4f" + "92f427a2f44615608769e8f0b78f1cab" ], [ "LowStar.PrefixFreezableBuffer.pre", @@ -23,7 +22,7 @@ 0, [ "@query" ], 0, - "f663eb39ca8c231f655e08be60572c8a" + "d0b74c739d7bcd10906382e66d6ee621" ], [ "LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", @@ -36,16 +35,16 @@ "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_LowStar.PrefixFreezableBuffer.u8", - "equation_Prims.l_Forall", "equation_Prims.logical", - "equation_Prims.nat", - "interpretation_Tm_abs_273cffd8365933cf4dc146ad52d58eee", + "equation_Prims.l_Forall", "equation_Prims.nat", + "interpretation_Tm_abs_68d57563dff07740eb5c3f8d4e7a3b2b", "l_and-interp", "l_imp-interp", - "l_quant_interp_7c0050519af4ef3a1f5f40ee05975990", + "l_quant_interp_8ce836744daf8c4821efff563dae5503", + "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "2d40c9b9ad45d8fcb61dea06b0857dad" + "61bab98e2d0a285c1416215fda1f76e6" ], [ "LowStar.PrefixFreezableBuffer.prefix_freezable_preorder_elim", @@ -56,17 +55,16 @@ "@query", "b2t_def", "eq2-interp", "equation_LowStar.PrefixFreezableBuffer.frozen_until", "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u8", - "equation_Prims.logical", "equation_Prims.nat", - "interpretation_Tm_abs_273cffd8365933cf4dc146ad52d58eee", + "equation_Prims.nat", + "interpretation_Tm_abs_68d57563dff07740eb5c3f8d4e7a3b2b", "l_and-interp", "l_imp-interp", - "l_quant_interp_7c0050519af4ef3a1f5f40ee05975990", + "l_quant_interp_8ce836744daf8c4821efff563dae5503", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0" ], 0, - "6d3b84284a4eac621cca6e9934c4e363" + "7ad766531a3d452fcf594714a0365da2" ], [ "LowStar.PrefixFreezableBuffer.frozen_until_at_least", @@ -75,7 +73,7 @@ 0, [ "@query" ], 0, - "fcbd70b046c4dce1b0833856c3bc1390" + "c4282a3730993a778c44083df51d6d67" ], [ "LowStar.PrefixFreezableBuffer.slice_is", @@ -95,7 +93,7 @@ "typing_FStar.UInt32.v" ], 0, - "db4bc45bf1b18e084d647d7b4fe1f779" + "29177d7a085f5114ce60f28d902fe292" ], [ "LowStar.PrefixFreezableBuffer.alloc_post_mem_common", @@ -108,11 +106,11 @@ "equation_LowStar.PrefixFreezableBuffer.u8", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "1d973115288e50697223bf5dcedac567" + "f4a572713639af91b6db47397900ef61" ], [ "LowStar.PrefixFreezableBuffer.update_frozen_until_alloc", @@ -122,17 +120,15 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "eq2-interp", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Endianness.u8", "equation_LowStar.PrefixFreezableBuffer.frozen_until", "equation_LowStar.PrefixFreezableBuffer.frozen_until_at_least", "equation_LowStar.PrefixFreezableBuffer.le_to_n", "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eq2", - "equation_Prims.logical", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "interpretation_Tm_abs_273cffd8365933cf4dc146ad52d58eee", - "interpretation_Tm_abs_d9307859dd5b83e143f29b3ea225f773", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", + "interpretation_Tm_abs_4402e8a6e801cdff6b5f5b3f3fc39fa6", + "interpretation_Tm_abs_68d57563dff07740eb5c3f8d4e7a3b2b", "l_and-interp", "l_imp-interp", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", @@ -140,15 +136,15 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_678b3e13de7001ab24ebeddcd1c9eb7e", - "refinement_interpretation_Tm_refine_c6a67c44cc85973f3f1e2e16c328c315", + "refinement_interpretation_Tm_refine_37f48300edc1d93ccbfa03bc8e73021f", + "refinement_interpretation_Tm_refine_e097d93423bdd6380492b58bb14aaeae", "token_correspondence_LowStar.PrefixFreezableBuffer.frozen_until_at_least", "typing_FStar.Monotonic.HyperStack.live_region", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "cadec3cc0fc5e3f781549f2d21524e4c" + "3ecac78d73399f5d2d2d714b00cb12a1" ], [ "LowStar.PrefixFreezableBuffer.gcmalloc", @@ -158,8 +154,7 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.is_eternal_region", @@ -179,9 +174,8 @@ "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", @@ -205,21 +199,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_18a25d2e00122ca4008398de6336d94d", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_06b5a8cd9baa576455930d371026235c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_37f48300edc1d93ccbfa03bc8e73021f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_678b3e13de7001ab24ebeddcd1c9eb7e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dc10aefea0c627b7aee1e946e17991bd", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f6841e433b9a36c68c13b7b52eac0a99", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6722082e09dfb944bf336c82f8e4f4d5", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9250feeabd426854b5e686752327bba5", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -227,6 +222,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Set.singleton", "typing_FStar.UInt.fits", "typing_FStar.UInt8.uint_to_t", "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_addresses", "typing_LowStar.Monotonic.Buffer.loc_buffer", @@ -237,7 +233,7 @@ "typing_Prims.pow2" ], 0, - "941332c35f0f50ba8465090a18c1992a" + "f314ebbab369187a5bb6936330fa6fc6" ], [ "LowStar.PrefixFreezableBuffer.malloc", @@ -247,8 +243,7 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.is_eternal_region", @@ -268,9 +263,8 @@ "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", @@ -294,21 +288,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_20956c2904ec6a181ef8e683767dac55", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_37f48300edc1d93ccbfa03bc8e73021f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_678b3e13de7001ab24ebeddcd1c9eb7e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c355705f3604c385d9549b8073cb643a", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f6841e433b9a36c68c13b7b52eac0a99", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6722082e09dfb944bf336c82f8e4f4d5", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7b5567dcf1cdb9dd4c761e41350496c4", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_bacefe5f265b1ebb55978fc8c10e65d3", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -316,6 +311,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Set.singleton", "typing_FStar.UInt.fits", "typing_FStar.UInt8.uint_to_t", "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_addresses", "typing_LowStar.Monotonic.Buffer.loc_buffer", @@ -326,7 +322,7 @@ "typing_Prims.pow2" ], 0, - "333845933c37da965ba25de37496bb78" + "f13a4a8beaa1d2c1b44929aa6c242b81" ], [ "LowStar.PrefixFreezableBuffer.alloca", @@ -336,8 +332,7 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.inline_stack_inv", "equation_FStar.Monotonic.Heap.equal_dom", @@ -356,9 +351,8 @@ "equation_Prims.nat", "equation_Prims.pos", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", @@ -383,21 +377,22 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_22871ed0ff70fd094ad3e8d742624d47", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_37f48300edc1d93ccbfa03bc8e73021f", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_52a377042fa53d08a255f7417ad80584", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_678b3e13de7001ab24ebeddcd1c9eb7e", - "refinement_interpretation_Tm_refine_7d2e020f3fad8a81e3681dbd993131dc", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ac37552b50c87c1ff16589dde8bfd1ea", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_53618d32f01a12c1bb1d059fbf3b63b5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_7cd282155c64d9d0181f69e94b20f614", + "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_e31d30be4934e57ad338879ac49ddc96", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -405,6 +400,7 @@ "typing_FStar.Seq.Base.length", "typing_FStar.Set.singleton", "typing_FStar.UInt.fits", "typing_FStar.UInt8.uint_to_t", "typing_LowStar.Monotonic.Buffer.as_addr", + "typing_LowStar.Monotonic.Buffer.g_is_null", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Monotonic.Buffer.loc_addresses", "typing_LowStar.Monotonic.Buffer.loc_buffer", @@ -415,7 +411,7 @@ "typing_Prims.pow2" ], 0, - "6e47e76fd78b05a6d4e196af819c33b5" + "a7dc21017f772762d85571a79727c3a6" ], [ "LowStar.PrefixFreezableBuffer.upd", @@ -423,28 +419,25 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.PrefixFreezableBuffer.buffer", "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", "equation_LowStar.PrefixFreezableBuffer.u32", "equation_LowStar.PrefixFreezableBuffer.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_47183306c88dba670d2abe5e5b1964b6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_c95053506eeb4a0f86b509052782fd71", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "72eea26c5607dba45d56f7a64384e8cf" + "3e9c84847826ec07c7c572f99a193d7e" ], [ "LowStar.PrefixFreezableBuffer.upd", @@ -452,26 +445,21 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "eq2-interp", "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.PrefixFreezableBuffer.buffer", "equation_LowStar.PrefixFreezableBuffer.frozen_until", "equation_LowStar.PrefixFreezableBuffer.frozen_until_at_least", "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", "equation_LowStar.PrefixFreezableBuffer.u32", - "equation_LowStar.PrefixFreezableBuffer.u8", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.PrefixFreezableBuffer.frozen_until_at_least", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_273cffd8365933cf4dc146ad52d58eee", - "interpretation_Tm_abs_d9307859dd5b83e143f29b3ea225f773", + "interpretation_Tm_abs_4402e8a6e801cdff6b5f5b3f3fc39fa6", + "interpretation_Tm_abs_68d57563dff07740eb5c3f8d4e7a3b2b", "l_and-interp", "l_imp-interp", - "l_quant_interp_7c0050519af4ef3a1f5f40ee05975990", + "l_quant_interp_8ce836744daf8c4821efff563dae5503", "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.Seq.Properties.slice_upd", @@ -481,20 +469,20 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1abf4cff21580ecfe669dbdc9daef214", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_47183306c88dba670d2abe5e5b1964b6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c95053506eeb4a0f86b509052782fd71", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f45220ae08461533622406d0143bbbba", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "62bbecb9a93a9e30bf19ade8732738fa" + "0792797095860d33c99997464421fc14" ], [ "LowStar.PrefixFreezableBuffer.le_pre_post_index", @@ -503,11 +491,10 @@ 0, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.nat", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", + "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", + "l_quant_interp_9f1653d91ae63b597d95e81308d69583", + "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", @@ -516,15 +503,14 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_d28856a8bd2e1c833c9a672958e8ad27", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "3a4c0fa570ebc7c25199c78f6b83abda" + "eda08901e04d18f598b632a7ec207c6e" ], [ "LowStar.PrefixFreezableBuffer.freeze", @@ -532,28 +518,25 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.PrefixFreezableBuffer.buffer", "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", "equation_LowStar.PrefixFreezableBuffer.u32", "equation_LowStar.PrefixFreezableBuffer.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ae94db22dea13117404602282406c62a", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", + "refinement_interpretation_Tm_refine_ece3c0ede9e65e96a1517ed996b701c6", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "150ff7ad255bc2a2852d786f80d335e8" + "c290dcdf64da7d6c0940c606e82ac85e" ], [ "LowStar.PrefixFreezableBuffer.freeze", @@ -561,14 +544,9 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "eq2-interp", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u8", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.UInt.uint_t", + "equation_LowStar.Endianness.u8", "equation_LowStar.PrefixFreezableBuffer.buffer", "equation_LowStar.PrefixFreezableBuffer.frozen_until", "equation_LowStar.PrefixFreezableBuffer.frozen_until_at_least", @@ -576,38 +554,33 @@ "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", "equation_LowStar.PrefixFreezableBuffer.u32", "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eq2", - "equation_Prims.logical", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.UInt8.t", + "equation_Prims.nat", "function_token_typing_FStar.UInt8.t", "function_token_typing_LowStar.PrefixFreezableBuffer.frozen_until_at_least", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_273cffd8365933cf4dc146ad52d58eee", - "interpretation_Tm_abs_d9307859dd5b83e143f29b3ea225f773", + "interpretation_Tm_abs_4402e8a6e801cdff6b5f5b3f3fc39fa6", + "interpretation_Tm_abs_68d57563dff07740eb5c3f8d4e7a3b2b", "l_and-interp", "l_imp-interp", - "l_quant_interp_7c0050519af4ef3a1f5f40ee05975990", - "lemma_FStar.Map.lemma_ContainsDom", + "l_quant_interp_8ce836744daf8c4821efff563dae5503", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0c81f8b1aca4374bff1d69bf4da9f4ee", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ae94db22dea13117404602282406c62a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", + "refinement_interpretation_Tm_refine_42a45577ded59eda7bc7106cb406779d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", + "refinement_interpretation_Tm_refine_ece3c0ede9e65e96a1517ed996b701c6", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "c710eef26c9d0a7bade624bb7d9314e0" + "18efd843c8001e0648f49a571fc3baec" ], [ "LowStar.PrefixFreezableBuffer.frozen_until_st", @@ -620,11 +593,11 @@ "equation_LowStar.PrefixFreezableBuffer.u8", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "209666c12364278acd9c6d335648b81c" + "b950e7882e7d128326fb1c346b2fffd3" ], [ "LowStar.PrefixFreezableBuffer.frozen_until_st", @@ -639,10 +612,11 @@ "equation_LowStar.PrefixFreezableBuffer.le_to_n", "equation_LowStar.PrefixFreezableBuffer.u32", "equation_LowStar.PrefixFreezableBuffer.u8", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65" + "refinement_interpretation_Tm_refine_6eb5b36d3c4bf70f81e70115f1e53b99", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a" ], 0, - "16339f62f955b86dba20d155ca238f87" + "36a1d8d5f4b4b79940bb6b63f90cc7da" ], [ "LowStar.PrefixFreezableBuffer.witness_slice", @@ -653,6 +627,7 @@ "@MaxIFuel_assumption", "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", "bool_inversion", "bool_typing", "eq2-interp", + "equation_FStar.Endianness.bytes", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -663,15 +638,15 @@ "equation_LowStar.PrefixFreezableBuffer.slice_is", "equation_LowStar.PrefixFreezableBuffer.u32", "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eq2", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "function_token_typing_FStar.Endianness.bytes", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_25fb749add85dd49c30c3b2d719cdc52", - "interpretation_Tm_abs_273cffd8365933cf4dc146ad52d58eee", + "interpretation_Tm_abs_32aadd7b1e4333bb1ff99b6ba05358ae", + "interpretation_Tm_abs_68d57563dff07740eb5c3f8d4e7a3b2b", "l_and-interp", "l_imp-interp", - "l_quant_interp_7c0050519af4ef3a1f5f40ee05975990", + "l_quant_interp_8ce836744daf8c4821efff563dae5503", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -685,25 +660,24 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c79e409900f2addf79ee395d1b0af67d", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_5137b600688104475a590744f1c09128", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_LowStar.PrefixFreezableBuffer.slice_is", "typing_FStar.Ghost.reveal", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.v", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "6f3e427b75269e376a600f1ff04d8bc2" + "fff72995bdf0419be30cebe3af3c2aea" ], [ "LowStar.PrefixFreezableBuffer.recall_slice", @@ -719,12 +693,12 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "d03457801171f4f50690974d7084b052" + "162d809b2c55fe5802cffdaa7968d6c4" ], [ "LowStar.PrefixFreezableBuffer.witness_frozen_until", @@ -740,12 +714,11 @@ "equation_LowStar.PrefixFreezableBuffer.buffer", "equation_LowStar.PrefixFreezableBuffer.frozen_until_at_least", "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u8", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_FStar.UInt8.t", "int_inversion", - "interpretation_Tm_abs_273cffd8365933cf4dc146ad52d58eee", - "interpretation_Tm_abs_d9307859dd5b83e143f29b3ea225f773", + "interpretation_Tm_abs_4402e8a6e801cdff6b5f5b3f3fc39fa6", + "interpretation_Tm_abs_68d57563dff07740eb5c3f8d4e7a3b2b", "l_and-interp", "l_imp-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", @@ -753,17 +726,17 @@ "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_9abdc05bb6585af59a2a02f69513fdeb", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_85904cbca526f3fa1bb54e6afbf002ad", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", "token_correspondence_LowStar.PrefixFreezableBuffer.frozen_until_at_least", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "87b7409e235c59dd106a0e07a889d5b9" + "e8079ae6489d42d0d89602eca2260cdf" ], [ "LowStar.PrefixFreezableBuffer.recall_frozen_until", @@ -779,12 +752,12 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "89818303dcc8012d4532c04da3655149" + "6f5d5b90509dc5c7a74580aa719fb9b6" ], [ "LowStar.PrefixFreezableBuffer.recall_frozen_until_default", @@ -798,19 +771,17 @@ "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u8", "function_token_typing_FStar.Monotonic.Heap.heap", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Set.lemma_equal_refl", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_e51e2f89b296ba1b379cd642d8577597", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_6be1249e2797971fade57181036d4515", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap" ], 0, - "89837d8187e51913803ea757fabcf8de" + "8d29ed3c0c9ac5bd83c8d79f58585aa4" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.PrefixFreezableBuffer.fsti.hints b/ulib/LowStar.PrefixFreezableBuffer.fsti.hints old mode 100755 new mode 100644 index 30eb1b787f3..bc37ba4dbca --- a/ulib/LowStar.PrefixFreezableBuffer.fsti.hints +++ b/ulib/LowStar.PrefixFreezableBuffer.fsti.hints @@ -8,13 +8,12 @@ 0, [ "@MaxIFuel_assumption", "@query", - "equation_LowStar.PrefixFreezableBuffer.u8", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9fca04456a176b6286c8b839ab0f9806" + "refinement_interpretation_Tm_refine_a49060b10d6e3d658ebb59ee5e13caba" ], 0, - "d1a2b8b45e73ca22f5a21b9abc3f47e5" + "56977c6fbbe52ddde549c659174b4245" ], [ "LowStar.PrefixFreezableBuffer.pre", @@ -23,7 +22,7 @@ 0, [ "@query" ], 0, - "6524ba561a3f031e24c1eeb52279b4b5" + "7ed2ba2750d3762c80994aeff17ad775" ], [ "LowStar.PrefixFreezableBuffer.frozen_until_at_least", @@ -32,7 +31,7 @@ 0, [ "@query" ], 0, - "225f41d6e0e0c79e9f772e1f1011e61a" + "3277458dc0ac08315fcea8579034630b" ], [ "LowStar.PrefixFreezableBuffer.slice_is", @@ -52,7 +51,7 @@ "typing_FStar.UInt32.v" ], 0, - "3a8358b345ca9d2dad17ddf672db95ec" + "2ef1b8be72d645a273957a780fa98b73" ], [ "LowStar.PrefixFreezableBuffer.alloc_post_mem_common", @@ -65,11 +64,11 @@ "equation_LowStar.PrefixFreezableBuffer.u8", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "054aa8ead3858f13a674513b4d86a62b" + "43acf4b7958142362f694070ceb41db5" ], [ "LowStar.PrefixFreezableBuffer.upd", @@ -77,27 +76,24 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.PrefixFreezableBuffer.buffer", "equation_LowStar.PrefixFreezableBuffer.u32", "equation_LowStar.PrefixFreezableBuffer.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_47183306c88dba670d2abe5e5b1964b6", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_c95053506eeb4a0f86b509052782fd71", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "e6ce4975bcc2ea0eca4e8491993573fb" + "1687886ab8752ec87df5f9204236aa88" ], [ "LowStar.PrefixFreezableBuffer.freeze", @@ -105,27 +101,24 @@ 0, 0, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.PrefixFreezableBuffer.buffer", "equation_LowStar.PrefixFreezableBuffer.u32", "equation_LowStar.PrefixFreezableBuffer.u8", - "function_token_typing_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "function_token_typing_FStar.UInt8.t", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ae94db22dea13117404602282406c62a", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", + "refinement_interpretation_Tm_refine_ece3c0ede9e65e96a1517ed996b701c6", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "96a3a20be0f78739175b31654076b4b7" + "facc1a93397f416c6a3318755b3a1d4e" ], [ "LowStar.PrefixFreezableBuffer.frozen_until_st", @@ -138,11 +131,11 @@ "equation_LowStar.PrefixFreezableBuffer.u8", "function_token_typing_FStar.UInt8.t", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_ea02a269a947f00a44cf98b5b5c03c65", + "refinement_interpretation_Tm_refine_cba9eb7d71b14521cb1e0ebe3438048a", "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" ], 0, - "da0e3f82c9f9dcde6a56ba38c4be8149" + "ba6267c1810b855577fa6d780b0876ad" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.Printf.fst b/ulib/LowStar.Printf.fst index 2b4a5738201..6bacbe18ff6 100644 --- a/ulib/LowStar.Printf.fst +++ b/ulib/LowStar.Printf.fst @@ -330,6 +330,7 @@ noextract let coerce (x:'a{'a == 'b}) : 'b = x /// `fragment_printer`: The type of a printer of fragments +noextract let fragment_printer = (acc:list frag_t) -> Stack unit diff --git a/ulib/LowStar.Printf.fst.hints b/ulib/LowStar.Printf.fst.hints index aa8dda58b2c..f3ed6b87f6d 100644 --- a/ulib/LowStar.Printf.fst.hints +++ b/ulib/LowStar.Printf.fst.hints @@ -1,5 +1,5 @@ [ - "\u0014HõÞ‡KÌknqP'9\u000b®#", + "1\u0018s_<7xr¸¦Y¶Qƒ´Ì", [ [ "LowStar.Printf.arg", @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_LowStar.Printf.base_typ__uu___haseq" ], 0, - "0ebab49339a011cda5df6c3a39cd1a1f" + "6d294048b73a3a28b280d45351157760" ], [ "LowStar.Printf.__proj__Base__item___0", @@ -22,7 +22,7 @@ "refinement_interpretation_Tm_refine_9f66bb39275d9d5b77f8ccc15400eabe" ], 0, - "5acf70af6cda06b7a87b610069092903" + "3c7233566b498ceb40d272a57c980836" ], [ "LowStar.Printf.__proj__Array__item___0", @@ -36,7 +36,7 @@ "refinement_interpretation_Tm_refine_6148b8d0e9c7b9138b37557165b1bfac" ], 0, - "e1a809b916621c97d5c54d0f83717ff2" + "fc0fe29daa4aea60819d5245ed5994fd" ], [ "LowStar.Printf.base_typ_as_type", @@ -59,7 +59,7 @@ "fuel_guarded_inversion_LowStar.Printf.base_typ" ], 0, - "f1260a7c5c9ec821231234bb32e57df8" + "18795d4736801ff280abc0b2d0fa18c4" ], [ "LowStar.Printf.fragment", @@ -68,7 +68,7 @@ 1, [ "@query", "assumption_LowStar.Printf.arg__uu___haseq" ], 0, - "c9b3b00aa31ff14e1ad8b6d65f3edce1" + "4cfe4e5fcc7be332a8ae3aa178494343" ], [ "LowStar.Printf.__proj__Frag__item___0", @@ -82,7 +82,7 @@ "refinement_interpretation_Tm_refine_722d669b0cd0657fe44a93f2eadb26c0" ], 0, - "748f668acdf58624b1185532d3a01c3d" + "18d5dad4a130a2c212ec7e74d93a64e8" ], [ "LowStar.Printf.__proj__Interpolate__item___0", @@ -96,7 +96,7 @@ "refinement_interpretation_Tm_refine_055b832b498eb94d06df5025ab885722" ], 0, - "07696f60beaf8dea4da30ad2035e92f1" + "251c28f0c2584e99beb3306de8e6b3c6" ], [ "LowStar.Printf.parse_format", @@ -107,9 +107,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4bb2ecabb8dd73bd801eb57f838ec7dc_0", "bool_inversion", - "constructor_distinct_Prims.Cons", + "@query", "binder_x_4bb2ecabb8dd73bd801eb57f838ec7dc_0", + "bool_inversion", "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Cons@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", @@ -119,8 +118,7 @@ "equation_Prims.nat", "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", "fuel_guarded_inversion_Prims.list", - "function_token_typing_LowStar.Printf.fragments", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_LowStar.Printf.fragments", "int_typing", "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", @@ -129,8 +127,8 @@ "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Cons_tl", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", "typing_FStar.Char.__char_of_int", "typing_FStar.List.Tot.Base.length", @@ -140,7 +138,7 @@ "well-founded-ordering-on-nat" ], 0, - "2d88262ec08fea735a275bd848a0d90c" + "198753e79ba3d44ab289dbb0d3195c4a" ], [ "LowStar.Printf.lift", @@ -149,7 +147,7 @@ 1, [ "@query" ], 0, - "ee401e496d41b6f979e90d80cddec664" + "1b90fb50007580ce32d63088750cd758" ], [ "LowStar.Printf.arg_t", @@ -165,7 +163,7 @@ "fuel_guarded_inversion_LowStar.Printf.arg" ], 0, - "199a0b1eee43944c5dede20390553190" + "e3433f039a1c747545beda68d5950dfe" ], [ "LowStar.Printf.live_frags", @@ -177,7 +175,7 @@ "LowStar.Printf_pretyping_bc62cb96815be423ca34af9ba9320f3f", "Prims_pretyping_0da546199211a769a972571cdb3aec67", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_4a322d7fd61e1cd30bfb0cb2a7e97101_1", + "binder_x_1315062b3e24e240b0806e7c37d4fa5f_1", "data_elim_Prims.Mkdtuple2", "data_typing_intro_LowStar.Printf.Any@tok", "disc_equation_FStar.Pervasives.Inl", @@ -197,18 +195,18 @@ "fuel_guarded_inversion_Prims.list", "function_token_typing_LowStar.Printf.frag_t", "kinding_LowStar.Printf.arg@tok", - "l_quant_interp_0235708612358a0dd8d2d21a7f9984d9", + "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Mkdtuple2__1", "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Cons_tl", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd", "typing_Prims.__proj__Mkdtuple2__item___1", "typing_tok_Prims.T@tok", "unit_typing" ], 0, - "c5e67e5f3d2d0561c11914c7065aed61" + "a5416b93ee9f93c7503f69b625d3fb53" ], [ "LowStar.Printf.interpret_frags", @@ -217,7 +215,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "binder_x_052f7dea407e4fc3e48ef9a2fced10fd_0", + "binder_x_f1cc36005ab7e9ce67cef9425a17892e_0", "disc_equation_LowStar.Printf.Any", "disc_equation_LowStar.Printf.Array", "disc_equation_LowStar.Printf.Base", @@ -239,7 +237,7 @@ "typing_Prims.__proj__Cons__item__hd" ], 0, - "950b4a759c32923a6353d6ec8d082ad4" + "1b2b009ace14f99141ea214bf326f5a6" ], [ "LowStar.Printf.coerce", @@ -251,7 +249,7 @@ "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" ], 0, - "e105e3de08cec145aac3735278efea09" + "16ad1ce6d06374001fdbf763332c5fce" ], [ "LowStar.Printf.print_frags", @@ -317,10 +315,10 @@ "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Mkdtuple2__1", "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_a0c1c73c6b4b42ccb09d4175d31c2681", - "refinement_interpretation_Tm_refine_a48aeaa6cc3c75ae677a6723252db528", "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", + "refinement_interpretation_Tm_refine_cd6a80147ec44d3b27cadb6f6cd8c826", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -328,7 +326,7 @@ "unit_typing" ], 0, - "93e8dadde02246ffd3e39df7840beb39" + "8eebae4a760d56560247a6e374e6f26b" ], [ "LowStar.Printf.aux", @@ -340,10 +338,10 @@ "@fuel_correspondence_LowStar.Printf.interpret_frags.fuel_instrumented", "@fuel_irrelevance_LowStar.Printf.interpret_frags.fuel_instrumented", "@query", - "LowStar.Printf_interpretation_Tm_arrow_39251a14be2de98af3a8c286cd37ba65", - "LowStar.Printf_interpretation_Tm_arrow_96742f8fef934591793b94730f4f12f3", - "binder_x_052f7dea407e4fc3e48ef9a2fced10fd_0", - "binder_x_4a322d7fd61e1cd30bfb0cb2a7e97101_1", + "LowStar.Printf_interpretation_Tm_arrow_5e3617d0ab105118f494ff84156ecbb1", + "LowStar.Printf_interpretation_Tm_arrow_e9d5b26f6a43ce21471c4980939e7f94", + "binder_x_1315062b3e24e240b0806e7c37d4fa5f_1", + "binder_x_f1cc36005ab7e9ce67cef9425a17892e_0", "constructor_distinct_LowStar.Printf.Base", "constructor_distinct_LowStar.Printf.Frag", "constructor_distinct_LowStar.Printf.Interpolate", @@ -354,7 +352,6 @@ "disc_equation_LowStar.Printf.Frag", "disc_equation_LowStar.Printf.Interpolate", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_LowStar.Printf.frag_t", "equation_LowStar.Printf.fragments", "equation_with_fuel_LowStar.Printf.interpret_frags.fuel_instrumented", "fuel_guarded_inversion_LowStar.Printf.arg", @@ -376,7 +373,7 @@ "typing_Prims.__proj__Cons__item__hd" ], 0, - "c402d2cdcd2c9ec5a64dfb7a1ccb025c" + "c7bcb2fe7128e3ea67460e110981f994" ], [ "LowStar.Printf.interpret_format_string", @@ -388,26 +385,23 @@ "@fuel_correspondence_LowStar.Printf.parse_format.fuel_instrumented", "@fuel_irrelevance_LowStar.Printf.parse_format.fuel_instrumented", "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", + "constructor_distinct_Tm_unit", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.String.char", "equation_LowStar.Printf.format_string", "equation_LowStar.Printf.fragments", "equation_LowStar.Printf.parse_format_string", "equation_with_fuel_LowStar.Printf.parse_format.fuel_instrumented", "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", "function_token_typing_LowStar.Printf.fragments", "lemma_FStar.Pervasives.invertOption", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_eb133829f014d0369b2906c8e1831143", + "refinement_interpretation_Tm_refine_987f0c86b66faf091c80b87586852b8f", "typing_FStar.String.list_of_string", - "typing_LowStar.Printf.parse_format", "typing_LowStar.Printf.parse_format_string" ], 0, - "63ff21f7cb6e8fc472474e4c1f461643" + "824555f5818ec774390a84de4073589b" ], [ "LowStar.Printf.printf'", @@ -434,13 +428,13 @@ "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_eb133829f014d0369b2906c8e1831143", + "refinement_interpretation_Tm_refine_987f0c86b66faf091c80b87586852b8f", "string_inversion", "typing_FStar.String.list_of_string", "typing_LowStar.Printf.parse_format", "typing_LowStar.Printf.parse_format_string" ], 0, - "f62c2c0750245cbc74cb1f849900a155" + "6635273db88a6eb25a43739fe1ddb49d" ], [ "LowStar.Printf.intro_normal_f", @@ -449,7 +443,7 @@ 1, [ "@query" ], 0, - "d62cc7ac5d210b3fbdf734c2c5ddaf1a" + "e01a194dea1215d49dfa3298af1f6bb7" ], [ "LowStar.Printf.skip'", @@ -483,9 +477,9 @@ "proj_equation_FStar.Pervasives.Native.Some_v", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a48aeaa6cc3c75ae677a6723252db528", - "refinement_interpretation_Tm_refine_eb133829f014d0369b2906c8e1831143", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_987f0c86b66faf091c80b87586852b8f", + "refinement_interpretation_Tm_refine_cd6a80147ec44d3b27cadb6f6cd8c826", "string_inversion", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -494,7 +488,7 @@ "typing_LowStar.Printf.parse_format_string" ], 0, - "e7b2c8f8dbadd21b0485b1aab9eb98f9" + "11504d856e6c3a51f692ed886df950bc" ], [ "LowStar.Printf.test", @@ -503,7 +497,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "e778a36d48f84aa48e021c89a52c19d8" + "a544bdaa006bda7bc717a97768e3722c" ], [ "LowStar.Printf.test", @@ -512,7 +506,7 @@ 1, [ "@query" ], 0, - "7f0d343df8f0e0fdf04792a2bd3fe74e" + "45a672451c739d4a72d6832b16d131d3" ], [ "LowStar.Printf.test2", @@ -521,7 +515,7 @@ 1, [ "@query" ], 0, - "5dda5bd176280e8b43fc4874f7feb147" + "4e543ec5c3597bd5dfc58648eb1e4fb6" ], [ "LowStar.Printf.test3", @@ -530,7 +524,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "343549000099b864aeb857dad251539b" + "365ea4e31ff0b28505af5ac5e2d2e2d3" ], [ "LowStar.Printf.test3", @@ -539,7 +533,7 @@ 1, [ "@query" ], 0, - "d1570542110cad30dc33009ca17d0f09" + "6740e84ebccb9416066f6de150acc1b0" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.RVector.fst.hints b/ulib/LowStar.RVector.fst.hints index cbb08de962f..4cc43fd4036 100644 --- a/ulib/LowStar.RVector.fst.hints +++ b/ulib/LowStar.RVector.fst.hints @@ -8,11 +8,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_8be1b4118a238e53eacd69af9b688a36" + "refinement_interpretation_Tm_refine_3f5ee6f3cf77c1acc9fd03f9659cd604" ], 0, - "646c58f8b8362733ca640eb1874518c9" + "00fd7ec71f9a919667f0cf9759109722" ], [ "LowStar.RVector.__proj__Cpy__item__copy", @@ -21,11 +20,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_8be1b4118a238e53eacd69af9b688a36" + "refinement_interpretation_Tm_refine_3f5ee6f3cf77c1acc9fd03f9659cd604" ], 0, - "63ed767c37ae1a17ca95f128e1d5e55c" + "a3fcfee51c77f91c3868323b1653b30e" ], [ "LowStar.RVector.__proj__Cpy__item__copy", @@ -34,11 +32,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_8be1b4118a238e53eacd69af9b688a36" + "refinement_interpretation_Tm_refine_3f5ee6f3cf77c1acc9fd03f9659cd604" ], 0, - "bd52da81572e527fd8eb51ad1728b23b" + "9f60a1a9252e6b2b343994b318a3520d" ], [ "LowStar.RVector.rv_elems_inv", @@ -46,26 +43,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "09e575e046950e4bf957d329c469918f" + "7b22be3dde5ab35b44b01a53fd78786f" ], [ "LowStar.RVector.elems_inv", @@ -73,42 +67,42 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.RVector.rvector", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.buffer", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Vector.size_of" ], 0, - "4b99e6d7286294feedfeb012d1b4de82" + "4cb85af2ec8dc6710534ff718744b81f" ], [ "LowStar.RVector.rv_elems_reg", @@ -116,26 +110,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "cc7b35d299503305cbb2e253f1cfe64e" + "fc5c961aad3a410d94d7e3cf3d55f6a5" ], [ "LowStar.RVector.elems_reg", @@ -143,42 +134,42 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.RVector.rvector", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.buffer", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Vector.size_of" ], 0, - "482da05a74734245242cb18ee0922672" + "9eeb5ce272efe645bf750f090f44310b" ], [ "LowStar.RVector.rs_elems_inv_live_region", @@ -191,7 +182,7 @@ "refinement_interpretation_Tm_refine_f1f2f094978d3d0de047f2788ba84bd1" ], 0, - "13c3377e101b2b06a93cadae30a3d8a6" + "77d6f172a0d797f365c1a46b27073525" ], [ "LowStar.RVector.rs_elems_inv_live_region", @@ -201,13 +192,12 @@ [ "@MaxIFuel_assumption", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_2", - "binder_x_547afd4f1ca69258ad29184f1972f0a7_5", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", + "b2t_def", "binder_x_18ab89c37de12266075c9e1df243b25f_5", + "binder_x_430165e3f3fc2545e71769d0d89f4297_4", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_3", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_4", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -221,10 +211,9 @@ "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", - "interpretation_Tm_abs_b084d40d2bfc8f09b0d11553463c14ab", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", + "interpretation_Tm_abs_e96df7c7334a88ab33247514bfaf205a", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", @@ -232,19 +221,19 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_afc59b5c4a1a6d39dd10c85e79b7cfcc", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_fe5f3171fe08221cc5734977e04298ee", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_59da7e02f2c254e332ea2f1b1690d087", + "refinement_interpretation_Tm_refine_b538c80ab5d5abe8cfcc1e285bc42f6d", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.Seq.Base.index", "well-founded-ordering-on-nat" ], 0, - "d0f76e78497eed45381068464fa653eb" + "e8576aeb358f41ad70e9d3e9ef657d2a" ], [ "LowStar.RVector.rv_elems_inv_live_region", @@ -252,28 +241,29 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rv_elems_inv", "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.forall_", "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.forall_", + "equation_LowStar.Vector.forall_seq", + "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "interpretation_Tm_abs_47aaeede5b724c4a1534d275f236a46c", + "interpretation_Tm_abs_4d16d9b0d5b509ec60646637d7dc7ac0", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "67dbb84f2f9f48871822efbaf0138ce5" + "be14d2b690d051e6a54bfd09a74c3ec1" ], [ "LowStar.RVector.rs_loc_elem", @@ -282,7 +272,7 @@ 1, [ "@query" ], 0, - "c80b55058832759ae2643836745dcb22" + "dda36c9b4d2a3f89094227b4bdd1e3d3" ], [ "LowStar.RVector.rs_loc_elems", @@ -291,30 +281,27 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_47a0355704a8576ec7cf91c6937621c9_4", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_3", + "binder_x_430165e3f3fc2545e71769d0d89f4297_3", + "binder_x_55aed59fc9941397f49c5a190072ceae_4", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equality_tok_Prims.LexTop@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_2e7ab5806481f28bf29d8cc1d48d3e17", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_f81e8ddd39884f6cea4b838d73fd9972", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "well-founded-ordering-on-nat" ], 0, - "f5c5090d36ffd809cab4904ec6e886d8" + "b30c12ad62cc4b6c52d0554b5ff75de7" ], [ "LowStar.RVector.rv_loc_elems", @@ -322,26 +309,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "247e21f15283867d50e62fb662a48350" + "a3be90af101f13eca81d465b81d2b420" ], [ "LowStar.RVector.rv_loc_elem", @@ -349,28 +333,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "0aacde8342c45ce000d0fddd59102d04" + "2746c65871192cc93f354315ed1923b2" ], [ "LowStar.RVector.rs_loc_elems_rec_inverse", @@ -378,16 +359,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c" + "refinement_interpretation_Tm_refine_4aeb91ac973583b8df27686aec6889da", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "45a190883a8376ea26a047b5b84bd45a" + "0364f7256af61f71ca8f0185d0a15502" ], [ "LowStar.RVector.rs_loc_elems_rec_inverse", @@ -395,16 +376,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_635d8075dbbf713fa8d1710f57a28004", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c" + "refinement_interpretation_Tm_refine_46886b4f266ab3d6484b3dba29ae45c0", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "e3b85349fc9e93b829d330432e3e837d" + "b5592d8ace2aedd999643b1e367d668c" ], [ "LowStar.RVector.rs_loc_elems_rec_inverse", @@ -415,11 +396,10 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "binder_x_430165e3f3fc2545e71769d0d89f4297_3", + "binder_x_43e4feb275aedbc576f394b8f2cf6774_4", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_2", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_3", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_dcd68f904c102c0b84a9a82db73f603f_4", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -429,8 +409,7 @@ "equation_Prims.eqtype", "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", + "function_token_typing_Prims.int", "int_inversion", "int_typing", "lemma_LowStar.Monotonic.Buffer.loc_union_comm", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -438,16 +417,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5635524394e1e92d65d9df1aa5bb1eb3", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_8cc2252745e4cf150664240fdb9a4887", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", "typing_LowStar.RVector.rs_loc_elem", "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "c16e17867a42733f8c8258e9d4336620" + "dd7bf353131862b75d472e2ce2ffce58" ], [ "LowStar.RVector.rs_loc_elems_includes", @@ -455,13 +434,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837" ], 0, - "197cbd4776bb9cc7444931116d242f87" + "85edadc9c76d6ec46f120d3310463772" ], [ "LowStar.RVector.rs_loc_elems_includes", @@ -469,13 +448,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837" ], 0, - "94f0f0aa57c5decc6cca703df2f25df0" + "78501762836b404e04c936fadae9f4af" ], [ "LowStar.RVector.rs_loc_elems_includes", @@ -488,12 +467,12 @@ "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "binder_x_47a0355704a8576ec7cf91c6937621c9_4", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", + "binder_x_16ff1744de5104c4e07bcf7ccb69c7f2_5", + "binder_x_430165e3f3fc2545e71769d0d89f4297_3", + "binder_x_55aed59fc9941397f49c5a190072ceae_4", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_2", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_3", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_c8af4b915023c377873cabaee1a1391d_5", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -515,13 +494,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0952b4f8ab40313441dc8d16af1e0aa2", + "refinement_interpretation_Tm_refine_2e7ab5806481f28bf29d8cc1d48d3e17", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8b4f5bb21e1ad4025aa5ac8a4022bd85", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f81e8ddd39884f6cea4b838d73fd9972", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", "token_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "typing_FStar.Monotonic.HyperHeap.mod_set", @@ -532,7 +512,7 @@ "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "6ac050e835bc5158a94df26d05fc5f8f" + "198fedc0cdb186b63e99d8fb36ae5811" ], [ "LowStar.RVector.rs_loc_elem_included", @@ -546,7 +526,7 @@ "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c" ], 0, - "e4e590e2da4e584bae7cb5a048effbd2" + "d442db668ee824660a2ca071bbf05ce1" ], [ "LowStar.RVector.rs_loc_elem_included", @@ -555,7 +535,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -577,10 +557,11 @@ "proj_equation_LowStar.Regional.Rgl_region_of", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "typing_FStar.Monotonic.HyperHeap.extends", "typing_FStar.Monotonic.HyperHeap.includes", @@ -590,7 +571,7 @@ "typing_FStar.Set.intersect", "typing_FStar.Set.singleton" ], 0, - "ff382fc1de44181fd6da5ba9c3c9d049" + "f61998e379070bc29e9a791f0f02bec2" ], [ "LowStar.RVector.rs_loc_elems_included", @@ -602,7 +583,7 @@ "refinement_interpretation_Tm_refine_964d929d32c5cc50d613bad12c6f124e" ], 0, - "90c724e1e159b7a175889987116c61b1" + "e4cdc3c74125f017179c2041cc2ca0b3" ], [ "LowStar.RVector.rs_loc_elems_included", @@ -614,12 +595,12 @@ "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "b2t_def", "binder_x_66ee270c48d360376f2d947c85845d8e_5", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", + "b2t_def", "binder_x_430165e3f3fc2545e71769d0d89f4297_4", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_2", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_4", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", "binder_x_c1c1de8ea7481018f23ab7c648051e51_3", + "binder_x_e9c51fb97d69430799de15e3f385f359_5", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -636,8 +617,8 @@ "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", - "interpretation_Tm_abs_200e570d67273b126fdc86e1d6176ea2", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", + "interpretation_Tm_abs_b84d6d1131761bd43ef81e01d55969a4", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", "lemma_LowStar.Monotonic.Buffer.loc_includes_none", "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", @@ -648,16 +629,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_01e27a7fe8c5eb52498b8e65c1cf22f6", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_b5384e119b2ef2af4be566a7bdb7a109", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8d73bdc1d838d4d285ce803aff54c314", + "refinement_interpretation_Tm_refine_c932fdb4bb78a42f516cc5ccfa9194d8", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", @@ -667,7 +648,7 @@ "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "990c7afeb09fe6df6c288a61be823e40" + "6f54640784033930eb685829e7543d8f" ], [ "LowStar.RVector.rv_loc_elems_included", @@ -675,8 +656,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", @@ -686,18 +666,16 @@ "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "888a3ee2fc41219d40f81c244d14e296" + "c672cf6a5242dff4f635860f9f21275e" ], [ "LowStar.RVector.rs_loc_elem_disj", @@ -706,26 +684,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "16eb49e3aaf01d6095dfdf508273a891" + "d0f0f0cdcc682512ac4f3ca558426209" ], [ "LowStar.RVector.rs_loc_elem_disj", @@ -740,12 +716,12 @@ "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "projection_inverse_FStar.Integers.Signed__0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "18ecd5e395c4198d647f2e921d3ecce9" + "97c9cb088e07cc3b1c2de54253698072" ], [ "LowStar.RVector.rs_loc_elem_disj", @@ -754,7 +730,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", @@ -768,7 +744,7 @@ "equation_LowStar.RVector.rs_loc_elem", "equation_LowStar.Vector.forall2_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "interpretation_Tm_abs_2ba3284835e3a839804520f596616d28", + "interpretation_Tm_abs_319f83d1e2e5d90763ce20b373c5fc6d", "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", @@ -779,12 +755,13 @@ "proj_equation_LowStar.Regional.Rgl_region_of", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", @@ -793,7 +770,7 @@ "typing_FStar.Set.intersect", "typing_FStar.Set.singleton" ], 0, - "56431fe32ad21ec253dec50eb2e2969b" + "85e00903b2bfb4192eeefb2a6b7d61c5" ], [ "LowStar.RVector.rs_loc_elem_disj_forall", @@ -802,26 +779,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "8b2bb1eb113dc34842264149b56cef72" + "7a910745eeb85915988e8feb414d5d6d" ], [ "LowStar.RVector.rs_loc_elem_disj_forall", @@ -830,7 +805,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", @@ -844,7 +819,7 @@ "equation_LowStar.RVector.rs_loc_elem", "equation_LowStar.Vector.forall2_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "interpretation_Tm_abs_2ba3284835e3a839804520f596616d28", + "interpretation_Tm_abs_319f83d1e2e5d90763ce20b373c5fc6d", "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", @@ -855,12 +830,13 @@ "proj_equation_LowStar.Regional.Rgl_region_of", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", @@ -869,7 +845,7 @@ "typing_FStar.Set.intersect", "typing_FStar.Set.singleton" ], 0, - "6a6b707758585003bc9b89853ff63f36" + "f41efaf356981b9edf7bbe4c21922906" ], [ "LowStar.RVector.rs_loc_elems_elem_disj", @@ -877,16 +853,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8373bfe7981d84c22aeea0bf45177f5b", - "refinement_interpretation_Tm_refine_a836284b9389de1c76f8917e94927e03", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_431360e67a415d50cb12f13d74a3dfbf", + "refinement_interpretation_Tm_refine_b91978cbc7c2d7b95469fb94f665c89e" ], 0, - "2199c065a92997bd51ee7d257c3e576f" + "0b43d1ac3d22cbf25f68c8ce46f21b5e" ], [ "LowStar.RVector.rs_loc_elems_elem_disj", @@ -894,16 +869,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8373bfe7981d84c22aeea0bf45177f5b", - "refinement_interpretation_Tm_refine_9e83bb94999211294027332cd7323db9", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_431360e67a415d50cb12f13d74a3dfbf", + "refinement_interpretation_Tm_refine_dbbd690a7f51649f14f2ecf291254b8b" ], 0, - "0255901ed1e0e1e1af4e90a3c3c117d1" + "62e1b7919ec9d8f0c6d1442b0873ec4b" ], [ "LowStar.RVector.rs_loc_elems_elem_disj", @@ -914,14 +888,13 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2bb4a24b7ce2faf0b85a814ea60245dc_7", - "binder_x_6253cf3adfad73638d177e2dc130b80e_6", - "binder_x_66ee270c48d360376f2d947c85845d8e_5", + "@query", "binder_x_068c910ca66f343ac04196df7bde57bf_6", + "binder_x_430165e3f3fc2545e71769d0d89f4297_4", + "binder_x_562dd44ad51e8f2ed79d762cb3702ba4_7", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_2", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_4", + "binder_x_860536243698d9fa7772adf8e5dd60ad_8", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_d5a6e7bc2af5064db976f3b449e9e1f8_8", + "binder_x_e9c51fb97d69430799de15e3f385f359_5", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -931,9 +904,8 @@ "equation_LowStar.RVector.rs_loc_elem", "equation_Prims.eqtype", "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", @@ -944,20 +916,20 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_27f82ae81068e8a9303d1d500a6ae15a", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_40ced3b3107250364c2102e0dd990da5", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9ca76d33a226637b5903a61bc23d90c0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5384e119b2ef2af4be566a7bdb7a109", - "refinement_interpretation_Tm_refine_f0b64705f7f8f07052ccc136fd707cd7", + "refinement_interpretation_Tm_refine_48fb9834ff76bd07d470445e05c3cff4", + "refinement_interpretation_Tm_refine_88f0314e1ca1addae1e4897e3ef3052e", + "refinement_interpretation_Tm_refine_8d73bdc1d838d4d285ce803aff54c314", + "refinement_interpretation_Tm_refine_c3b56e9bd69dec1427c5e564f471f601", + "refinement_interpretation_Tm_refine_c5ee178dce0ff2bfd7ae58b757bf80da", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", "typing_LowStar.RVector.rs_loc_elem", "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "176e653e056010d2362bc9967cf8521f" + "ba8233c4d5ea75db70c1fa00d7fadde1" ], [ "LowStar.RVector.rs_loc_elems_disj", @@ -966,16 +938,16 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Integers.nat", "equation_Prims.l_and", - "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_BarBar", + "bool_typing", "equation_Prims.l_and", "equation_Prims.squash", + "l_and-interp", "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8373bfe7981d84c22aeea0bf45177f5b", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_431360e67a415d50cb12f13d74a3dfbf" ], 0, - "85d0b853bf20359c1c744037acfa6954" + "81325e1c08e3aa7a7a5288d3fca685f4" ], [ "LowStar.RVector.rs_loc_elems_disj", @@ -984,17 +956,17 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Integers.nat", "equation_Prims.l_and", - "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_BarBar", + "bool_typing", "equation_Prims.l_and", "equation_Prims.squash", + "l_and-interp", "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7207a24af47c53e6c9355a4eb75f8524", - "refinement_interpretation_Tm_refine_8373bfe7981d84c22aeea0bf45177f5b", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_431360e67a415d50cb12f13d74a3dfbf", + "refinement_interpretation_Tm_refine_b43ecc0d65f337179310c2980543b268" ], 0, - "7400e7d0ff232bbf762dfd2920317c41" + "416332d3b0877f30e7cf8b7375f54633" ], [ "LowStar.RVector.rs_loc_elems_disj", @@ -1004,62 +976,50 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_0d1777a34582129319dc36282bea0254_9", - "binder_x_2bb4a24b7ce2faf0b85a814ea60245dc_7", - "binder_x_6253cf3adfad73638d177e2dc130b80e_6", - "binder_x_6253cf3adfad73638d177e2dc130b80e_8", - "binder_x_66ee270c48d360376f2d947c85845d8e_5", + "@query", "binder_x_068c910ca66f343ac04196df7bde57bf_6", + "binder_x_068c910ca66f343ac04196df7bde57bf_8", + "binder_x_2784e392ffb9df39c758de1ebdd39b6e_9", + "binder_x_430165e3f3fc2545e71769d0d89f4297_4", + "binder_x_562dd44ad51e8f2ed79d762cb3702ba4_7", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_2", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_4", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", + "binder_x_e9c51fb97d69430799de15e3f385f359_5", + "binder_x_fe28d8bcde588226b4e538b35321de05_0", + "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", - "equality_tok_Prims.LexTop@tok", "equation_FStar.Int31.n", - "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", + "equality_tok_Prims.LexTop@tok", "equation_FStar.Integers.int", + "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_LowStar.RVector.rs_loc_elem", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.Int31.n", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", - "lemma_FStar.UInt.pow2_values", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_40ced3b3107250364c2102e0dd990da5", + "refinement_interpretation_Tm_refine_0a79b2cec4b62ea66d56c87f79a75bef", + "refinement_interpretation_Tm_refine_289f7ccca63fb4f8219384c27a1cf86c", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a7529cbca848888858e1ea127198d7c", - "refinement_interpretation_Tm_refine_9ca76d33a226637b5903a61bc23d90c0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5384e119b2ef2af4be566a7bdb7a109", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.UInt.fits", "typing_LowStar.RVector.rs_loc_elem", + "refinement_interpretation_Tm_refine_88f0314e1ca1addae1e4897e3ef3052e", + "refinement_interpretation_Tm_refine_8d73bdc1d838d4d285ce803aff54c314", + "refinement_interpretation_Tm_refine_c3b56e9bd69dec1427c5e564f471f601", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", + "typing_LowStar.RVector.rs_loc_elem", "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "c548d01c4205bbacc813a3abbc51f4fe" + "07dd7d9fc1fd9bfd0e3ce9880836d471" ], [ "LowStar.RVector.rv_loc_elems_disj", @@ -1067,23 +1027,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f52fb55bed3741790d43d7617a29ea1d", + "refinement_interpretation_Tm_refine_a4568ee14054c8649500205cd21743f3", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "389182cfda7a62c582c11903447d15e1" + "5abd51ed3c3f1f96769a4f80887feb61" ], [ "LowStar.RVector.rv_loc_elems_disj", @@ -1091,8 +1049,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", @@ -1102,20 +1059,18 @@ "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_082a3f853bd154652410efd81b84b2df", + "refinement_interpretation_Tm_refine_48703fb261c8f7bf0b755a485c947f47", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f52fb55bed3741790d43d7617a29ea1d", + "refinement_interpretation_Tm_refine_a4568ee14054c8649500205cd21743f3", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "79310b3b96735d3bd1d1b6d6c1f9a462" + "0a9179f517a46531c72f1935c1fef7ac" ], [ "LowStar.RVector.rs_loc_elems_parent_disj", @@ -1127,7 +1082,7 @@ "refinement_interpretation_Tm_refine_89b6b41d44e468b98625d034083ce5b6" ], 0, - "d5534e10739ea3b842b560e65d903ffd" + "53dce4b9603091f62430adc5b3dae20d" ], [ "LowStar.RVector.rs_loc_elems_parent_disj", @@ -1139,13 +1094,13 @@ "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "binder_x_66ee270c48d360376f2d947c85845d8e_5", + "binder_x_430165e3f3fc2545e71769d0d89f4297_4", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_2", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_4", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", "binder_x_c1c1de8ea7481018f23ab7c648051e51_3", + "binder_x_e9c51fb97d69430799de15e3f385f359_5", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -1161,8 +1116,8 @@ "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", - "interpretation_Tm_abs_200e570d67273b126fdc86e1d6176ea2", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", + "interpretation_Tm_abs_b84d6d1131761bd43ef81e01d55969a4", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", @@ -1177,15 +1132,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3c02fae5d08bfc423944f20717d93651", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5384e119b2ef2af4be566a7bdb7a109", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_878559f9c3e3404410cfa2c8684e55c2", + "refinement_interpretation_Tm_refine_8d73bdc1d838d4d285ce803aff54c314", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", @@ -1198,7 +1154,7 @@ "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "b816b5d418b43751d84c4d64cc37d10b" + "77a575f43f8cbb85bdadc604ff5dac23" ], [ "LowStar.RVector.rv_loc_elems_parent_disj", @@ -1206,8 +1162,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", @@ -1217,18 +1172,16 @@ "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "b39ca6dd9727cfee8018c3a998ce8db3" + "d38a99bfbc9844a6449f536053b1d49f" ], [ "LowStar.RVector.rs_loc_elems_each_disj", @@ -1240,7 +1193,7 @@ "refinement_interpretation_Tm_refine_a5f834eae33f06dfd112e4da03e1561c" ], 0, - "ab11ed6db00b39ff72f9a083f061c649" + "608ed58e33367cf5966f4bff4cf99269" ], [ "LowStar.RVector.rs_loc_elems_each_disj", @@ -1252,13 +1205,13 @@ "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "binder_x_66ee270c48d360376f2d947c85845d8e_5", + "binder_x_430165e3f3fc2545e71769d0d89f4297_4", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_2", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_4", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", "binder_x_c1c1de8ea7481018f23ab7c648051e51_3", + "binder_x_e9c51fb97d69430799de15e3f385f359_5", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -1273,8 +1226,8 @@ "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", - "interpretation_Tm_abs_3973e5afc3a2138d2ef03b6e59c8c5b9", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", + "interpretation_Tm_abs_223b7c44d97ec50b2086df8eaeb512be", "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", @@ -1289,14 +1242,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_915c577499230d8945dee8928fd7c6e3", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5384e119b2ef2af4be566a7bdb7a109", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_76f7e0e4e2944c9d9fee5f8043fa3096", + "refinement_interpretation_Tm_refine_8d73bdc1d838d4d285ce803aff54c314", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "typing_FStar.Monotonic.HyperHeap.disjoint", "typing_FStar.Monotonic.HyperHeap.includes", @@ -1310,7 +1264,7 @@ "typing_LowStar.RVector.rs_loc_elems", "well-founded-ordering-on-nat" ], 0, - "4371e43f4dcfc47a3621729066beac5e" + "95873b114e45fa9ea8465b99903899d7" ], [ "LowStar.RVector.rv_loc_elems_each_disj", @@ -1318,28 +1272,29 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rv_loc_elems", "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.forall_", "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.forall_", + "equation_LowStar.Vector.forall_seq", + "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "interpretation_Tm_abs_3ae62a845cfdc910072c17739e3f8a8d", + "interpretation_Tm_abs_cd6c0affe7c8b065e60f275ecf8e637f", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "b5a82ec681b9e2f71a36233339afa956" + "175b574c6a267ed5c32a583014a0ad44" ], [ "LowStar.RVector.rv_loc_elems_preserved", @@ -1350,77 +1305,90 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_6", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_7", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_3", + "binder_x_8358b93aec0670665ebb4c0f52fc04b7_5", "binder_x_93e697a47c20fea4cd4b545cfbe295bd_2", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_ade0ace37a016027e430b5981ac560f7_4", - "binder_x_d0311cd50dcabda288e07699f600548a_5", + "binder_x_ce338f99fa3d0a6adbab544999aac80b_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_6", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_7", + "binder_x_f72dc0723d06e5dbda0e722c29953d78_4", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "constructor_distinct_FStar.Integers.Winfinite", + "data_elim_LowStar.Vector.Vec", "equality_tok_FStar.Integers.W32@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equality_tok_Prims.LexTop@tok", "equation_FStar.Int31.n", - "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat", "equation_FStar.UInt.fits", + "equality_tok_Prims.LexTop@tok", "equation_FStar.Integers.int", + "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", + "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.RVector.rs_loc_elem", + "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.RVector.rs_loc_elem", "equation_LowStar.RVector.rv_loc_elems", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.get", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", "equation_Prims.pos", + "equation_Prims.nat", "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", + "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Int31.n", - "function_token_typing_FStar.UInt32.n", "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", + "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_Equality", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.Vector.Vec_cap", + "proj_equation_LowStar.Vector.Vec_sz", + "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_7da897d7685c827ea6c943fdeef63f42", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Prims.pow2.fuel_instrumented", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_baa5a2f485a481cd1d685ce59ad057c2", + "refinement_interpretation_Tm_refine_c17a4b2e142413806f99e739449d9713", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "token_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.loc_buffer", + "typing_LowStar.Monotonic.Buffer.mgsub", + "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector_within", "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "f86812e5453232de2f5e0a93d2f6dd32" + "996fa502e5b7849dd3c4e35193dbce96" ], [ "LowStar.RVector.rs_elems_inv_preserved", @@ -1431,12 +1399,11 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_47a0355704a8576ec7cf91c6937621c9_4", + "@query", "binder_x_430165e3f3fc2545e71769d0d89f4297_3", + "binder_x_55aed59fc9941397f49c5a190072ceae_4", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_2", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_3", + "binder_x_8358b93aec0670665ebb4c0f52fc04b7_5", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_d0311cd50dcabda288e07699f600548a_5", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -1448,9 +1415,8 @@ "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", @@ -1459,17 +1425,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_2e7ab5806481f28bf29d8cc1d48d3e17", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_f81e8ddd39884f6cea4b838d73fd9972", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", "token_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "typing_LowStar.RVector.rs_loc_elem", "well-founded-ordering-on-nat" ], 0, - "5fea889595bbb123627886b040e20c13" + "617989e7e40edec9bff2e65529935c25" ], [ "LowStar.RVector.rv_elems_inv_preserved", @@ -1477,8 +1443,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", @@ -1488,20 +1453,19 @@ "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Vector.modifies_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector" ], 0, - "850128b4679e3258fef38a5b0105bfcf" + "01a0516366ec70e4835fff270a3d63d2" ], [ "LowStar.RVector.rv_inv_preserved_", @@ -1509,53 +1473,56 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.RVector.rv_inv", + "equation_LowStar.RVector.rv_itself_inv", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", + "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.freeable_length", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "03f0c9d56b931097aa7c542f68ce9ff9" + "a3bd7ee6c218f2eb261b3a12590c0dda" ], [ "LowStar.RVector.rv_inv_preserved_", @@ -1563,10 +1530,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", @@ -1574,6 +1539,7 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.RVector.elems_inv", "equation_LowStar.RVector.elems_reg", @@ -1586,9 +1552,7 @@ "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.freeable_length", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -1596,10 +1560,10 @@ "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", @@ -1608,7 +1572,7 @@ "typing_LowStar.Vector.loc_vector", "typing_LowStar.Vector.size_of" ], 0, - "0abcfb3533cedd3ed8f67e7c9a4e0b4f" + "25d80d23a536c146a8f4d3929db4b94e" ], [ "LowStar.RVector.rv_inv_preserved", @@ -1617,7 +1581,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1628,6 +1591,7 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.RVector.elems_reg", "equation_LowStar.RVector.loc_all_exts_from", "equation_LowStar.RVector.loc_rvector", @@ -1639,8 +1603,7 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", @@ -1654,11 +1617,11 @@ "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", @@ -1676,7 +1639,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "af0658f39b25c37b00bec3e3da4c83fd" + "dd6920c1168954c15a7f5fe2330ccf9c" ], [ "LowStar.RVector.rv_inv_preserved_int", @@ -1685,8 +1648,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", @@ -1712,24 +1674,22 @@ "equation_LowStar.RVector.rv_inv", "equation_LowStar.RVector.rv_itself_inv", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall_seq", "equation_LowStar.Vector.get", + "equation_LowStar.Vector.forall_seq", + "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.get", "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_200e570d67273b126fdc86e1d6176ea2", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", + "interpretation_Tm_abs_b84d6d1131761bd43ef81e01d55969a4", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", + "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", + "lemma_LowStar.Monotonic.Buffer.freeable_length", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_gsub", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -1747,21 +1707,21 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_844bb0838c1e69a7783eb615ce9f117d", + "refinement_interpretation_Tm_refine_8e1e770d64805256ecdc0b332eb84e92", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bfe439d00aff3981ccf8e479c3a0c7bd", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_d5c52567de9b63435d491bb8b4f2128a", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd7f37954e5926c63d1f920dbdf94f51", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "true_interp", "typing_FStar.Monotonic.HyperHeap.includes", + "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Seq.Base.length", "typing_FStar.Set.mem", @@ -1771,14 +1731,13 @@ "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.mgsub", "typing_LowStar.RVector.rs_loc_elems", "typing_LowStar.Vector.__proj__Vec__item__sz", "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.get" ], 0, - "86390246a8a7160bcbb0c45743f71ec9" + "1a915d2a29b69133c3ae8be62a089705" ], [ "LowStar.RVector.as_seq_seq", @@ -1804,7 +1763,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "14a562b9b3be38fe9a264907daf81ca2" + "db3e7dadbef174763d5b506790a3efc0" ], [ "LowStar.RVector.as_seq_seq", @@ -1832,7 +1791,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "ea0169ecc67ad1b31d799335e010c562" + "176d6190ecb9671910af959e5ab4dc2a" ], [ "LowStar.RVector.as_seq_seq", @@ -1841,11 +1800,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_2", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_4", + "binder_x_430165e3f3fc2545e71769d0d89f4297_4", + "binder_x_98699f763bc1847c8f5523c09ef10820_5", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_d5d9569e2148b75dfccdb98c4cb07497_5", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -1862,10 +1820,8 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", @@ -1876,15 +1832,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2cde4068ea75bd949d5687b71e2df2fb", + "refinement_interpretation_Tm_refine_378566b8dd1f757b4c127278ba44266b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_44578f55ed0046f9a29b1ed851672920", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_71a6bd35ae216ad5c67cbc8c16d6a251", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_caaed0b05047a5d3e3bc9b06291e7ed5", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e0e9bf1eb77c1ffd9db63fd7917915b5", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", @@ -1892,7 +1848,7 @@ "well-founded-ordering-on-nat" ], 0, - "848e1e7438d3914af035ed4ca39b365e" + "162dc5a7701b11c403c8ea0966cd993c" ], [ "LowStar.RVector.as_seq_seq", @@ -1918,7 +1874,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "b594d57c2e8a4a88f9f5aec68c4a7f82" + "a651fbedb7136ba64eb388103e69b5e2" ], [ "LowStar.RVector.as_seq_seq", @@ -1944,7 +1900,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "4e302a823b545bde8ea4eda28e2c7832" + "20c430a612db9d02bde57ae0e2409c9c" ], [ "LowStar.RVector.as_seq_sub", @@ -1953,7 +1909,7 @@ 1, [ "@query" ], 0, - "295d362af82ef206cdcc29eaf56dee75" + "eb0fa79f35a0e40055e48b74417decb3" ], [ "LowStar.RVector.as_seq_sub", @@ -1962,7 +1918,7 @@ 1, [ "@query" ], 0, - "579dbf364ddf6d200afe037ffa7a90ee" + "fd2b207f2ff20c194651ba87c70a8b70" ], [ "LowStar.RVector.as_seq_sub", @@ -1970,8 +1926,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", @@ -1979,18 +1934,16 @@ "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_10914c72f82b2c1d614be8ee0040f302", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b81af55aa96bfe3f80d96d7b59c502b9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "f427977edca9329e24d5a3e952600346" + "ee08f51e510d427a9912f89094d27144" ], [ "LowStar.RVector.as_seq", @@ -1999,7 +1952,7 @@ 1, [ "@query" ], 0, - "3840922ebdd706fdc99062b44aceae18" + "3cef349e97bfa3e49b8df93a2604270d" ], [ "LowStar.RVector.as_seq", @@ -2007,17 +1960,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.RVector.elems_inv", + "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", + "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.RVector.elems_inv", "equation_LowStar.RVector.rv_inv", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.size_of", @@ -2025,28 +1981,39 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", + "primitive_Prims.op_LessThanOrEqual", + "proj_equation_LowStar.Vector.Vec_sz", + "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_ebd73615713cb5397e6777fdbea4fb49", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "23e533667edf247b7af249ee3370ba6b" + "535e0913b4e9eac5b15615cc53193a28" ], [ "LowStar.RVector.as_seq_sub_as_seq", @@ -2054,17 +2021,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.RVector.elems_inv", "equation_LowStar.RVector.rv_inv", @@ -2074,10 +2040,7 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -2085,13 +2048,13 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_ebd73615713cb5397e6777fdbea4fb49", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", @@ -2101,7 +2064,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "7199c9775aada7579fab4d49be6b412e" + "d0483cd1a5ac28921ff1848e147b5117" ], [ "LowStar.RVector.as_seq_sub_as_seq", @@ -2117,7 +2080,7 @@ "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "839c912bc3966efb2c45a242e5e42e6c" + "e5a09401d72ff55d63d76ab81cd5d178" ], [ "LowStar.RVector.as_seq_seq_index", @@ -2125,8 +2088,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", @@ -2139,31 +2101,28 @@ "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_9a425cfe46bdd3a4a4e7d6767e5feee9", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "e4e5b0aaea2ca872fd349024c283ddda" + "62a7669b4f9529901120de6d617b10ff" ], [ "LowStar.RVector.as_seq_seq_index", @@ -2171,8 +2130,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", @@ -2185,31 +2143,28 @@ "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_708a742f563183606a7b1d45c871582f", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_e8ed96109a6b0b684280f3191ee23046", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "c9813b1e5680afb79ee1bff1395a6c17" + "ac75fcb0d21838712c1c2db14fb32476" ], [ "LowStar.RVector.as_seq_seq_index", @@ -2221,14 +2176,13 @@ "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_e364de514b8cfa10a64218d0f843f2bd", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_2", - "binder_x_48913e7e580f672283347f2ad4346526_6", + "LowStar.Regional_interpretation_Tm_ghost_arrow_8efe83896e61f87df00cf72ae31ef9ac", + "binder_x_3dedccd5df4ad1740dc3bfa5e71be2e1_6", + "binder_x_430165e3f3fc2545e71769d0d89f4297_4", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_3", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_4", + "binder_x_98699f763bc1847c8f5523c09ef10820_5", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_d5d9569e2148b75dfccdb98c4cb07497_5", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -2247,10 +2201,8 @@ "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", @@ -2265,23 +2217,23 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_2cde4068ea75bd949d5687b71e2df2fb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_71a6bd35ae216ad5c67cbc8c16d6a251", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8ab1c517cf58306474d62971f978ec38", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_84828ae7b48bc75638d00f04d7f1ccfd", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "token_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_inv", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", @@ -2290,7 +2242,7 @@ "unit_typing", "well-founded-ordering-on-nat" ], 0, - "14eb8790d90746c8fd2f5d38f44a8282" + "82dc7e2d0fc3ff486ee6b087f305bf8c" ], [ "LowStar.RVector.as_seq_seq_index", @@ -2316,7 +2268,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "4eedb289ff0ac6646e2e133cdae652dc" + "351d9ac4aca6e0444ce0d67176adbff4" ], [ "LowStar.RVector.as_seq_seq_index", @@ -2342,7 +2294,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "297d1e1d81bd26186c449400775a5a25" + "d7fad89d0082d1dd4841302df42435a1" ], [ "LowStar.RVector.as_seq_seq_eq", @@ -2368,7 +2320,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "b7a22c2bec0d1b1bb3da2e7c575875f7" + "978110989747e3c275d32dbb9da5080a" ], [ "LowStar.RVector.as_seq_seq_eq", @@ -2391,7 +2343,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "9a77314753f0936c1c560dbe75e6d750" + "15f847bd6bded2f4de88666205ec8048" ], [ "LowStar.RVector.as_seq_seq_eq", @@ -2402,8 +2354,8 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_FStar.Integers.Signed", + "@query", "bool_inversion", + "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", @@ -2415,10 +2367,8 @@ "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -2431,24 +2381,25 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_9a425cfe46bdd3a4a4e7d6767e5feee9", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_LowStar.RVector.as_seq_seq", "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "44243c486e7b92b2a19a596f8b75353e" + "7928ce19ce1524293bec17d76b551f0e" ], [ "LowStar.RVector.as_seq_seq_slice", @@ -2456,8 +2407,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", @@ -2470,10 +2420,8 @@ "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", @@ -2482,24 +2430,24 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_4d9ddd3591d4f7426d2f19beeac92884", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_71432620ca549a94645f9c8211799947", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ebf2d5bf287d44ea11c850d5293c6aa1", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8de66a1c9bd730c23cecb75ebdb0d6b1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "62725142ed328ef927bcf1e430f4e632" + "a664ea7fc02dc92ef2d8a83da62fedff" ], [ "LowStar.RVector.as_seq_seq_slice", @@ -2507,8 +2455,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", @@ -2521,10 +2468,8 @@ "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", @@ -2533,25 +2478,25 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_4d9ddd3591d4f7426d2f19beeac92884", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5976af96d3f4536ac5416a294f1b5ee3", + "refinement_interpretation_Tm_refine_71432620ca549a94645f9c8211799947", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9656a65d03c2fc2b61d7b5a392df922e", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ebf2d5bf287d44ea11c850d5293c6aa1", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8de66a1c9bd730c23cecb75ebdb0d6b1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "63aed4f809aa7cbf93572f6d4b257b74" + "cc456f3aca0d5c521335daf49edbddfe" ], [ "LowStar.RVector.as_seq_seq_slice", @@ -2564,14 +2509,13 @@ "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_2", - "binder_x_2ff4575577a6c1ad464e92d334ff9fd3_7", + "binder_x_430165e3f3fc2545e71769d0d89f4297_4", + "binder_x_430165e3f3fc2545e71769d0d89f4297_6", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_3", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_4", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_6", + "binder_x_98699f763bc1847c8f5523c09ef10820_5", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_d5d9569e2148b75dfccdb98c4cb07497_5", + "binder_x_9eeff1f97a10e2a675fbf80715f68d9b_7", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -2585,11 +2529,9 @@ "equation_Prims.nat", "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -2603,31 +2545,30 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_3fbe7b5b5780e25e1df1fab516fc0a03", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_056c3ab51e642951d7280d6e94d01425", + "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_2cde4068ea75bd949d5687b71e2df2fb", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_71a6bd35ae216ad5c67cbc8c16d6a251", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_5a3de2790ad40e08d0dd40dffaa03d93", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", - "refinement_interpretation_Tm_refine_d7603d09b3848f16e0c503437488a778", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", - "refinement_interpretation_Tm_refine_ff09bcc2954f12511e523dfa873300dc", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_LowStar.RVector.as_seq_seq", "typing_LowStar.Regional.__proj__Rgl__item__repr", "well-founded-ordering-on-nat" ], 0, - "38a38efa9565e9714a6ed6342d90fe82" + "ff93480cd15f80e85c516484801ca795" ], [ "LowStar.RVector.as_seq_seq_slice", @@ -2644,7 +2585,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "c14e746642a1c46f89e55f9593309012" + "219b6fa63847070a774686005e71a7a6" ], [ "LowStar.RVector.as_seq_seq_slice", @@ -2661,7 +2602,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "7eca5a7f0ccdc0254d05f7d25ec12314" + "dc401adbe5e42695686c426ca44f54b8" ], [ "LowStar.RVector.as_seq_seq_upd", @@ -2669,8 +2610,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", @@ -2683,10 +2623,8 @@ "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", @@ -2695,23 +2633,23 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_2351d9ecf03f169d19c5554516c249dc", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "b187ad980e39fee4c3164171ea5da185" + "d641d550437c734a114eca0d8025b3c8" ], [ "LowStar.RVector.as_seq_seq_upd", @@ -2719,8 +2657,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", @@ -2733,10 +2670,8 @@ "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", @@ -2745,23 +2680,23 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_22be0ee447c95c917ec306b084f52fff", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_97600693553fe4ff117bcf640f207d8f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "2b4bffa093352885911259f12158eeb8" + "8a18fe583a7a88c38b8213ba2f66473f" ], [ "LowStar.RVector.as_seq_seq_upd", @@ -2773,16 +2708,15 @@ "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", "@query", - "FStar.Ghost_interpretation_Tm_arrow_e364de514b8cfa10a64218d0f843f2bd", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_2", - "binder_x_46797ea3b8bda4aea1f5cacfcb26c292_6", + "LowStar.Regional_interpretation_Tm_ghost_arrow_8efe83896e61f87df00cf72ae31ef9ac", + "binder_x_1984943338ee3e77f00f5bfe39451a70_6", + "binder_x_430165e3f3fc2545e71769d0d89f4297_4", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_3", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_4", + "binder_x_98699f763bc1847c8f5523c09ef10820_5", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_bfcdc683f0c547f1dc7d7a171589e549_7", - "binder_x_d5d9569e2148b75dfccdb98c4cb07497_5", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", + "binder_x_f95172984c157220400b78edfa88dc96_7", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -2797,9 +2731,8 @@ "equation_Prims.nat", "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", @@ -2819,33 +2752,32 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_2cde4068ea75bd949d5687b71e2df2fb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_71a6bd35ae216ad5c67cbc8c16d6a251", + "refinement_interpretation_Tm_refine_46765b72a7c0e0bca217f61921e7da27", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_a69023591554e2102d5544eb59fbbad7", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ef997cb33f9481ecf04d3bbd78e7fd3a", + "refinement_interpretation_Tm_refine_9a425cfe46bdd3a4a4e7d6767e5feee9", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b80bcb0c8013896a85c339a840763901", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "token_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_inv", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd", - "typing_LowStar.RVector.as_seq_seq", + "typing_FStar.Seq.Base.upd", "typing_LowStar.RVector.as_seq_seq", "typing_LowStar.Regional.__proj__Rgl__item__repr", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "0fb46456b0c3ea4ad798e11c913351fa" + "86c00a556a4940a14cba9ecf2d48d3da" ], [ "LowStar.RVector.as_seq_seq_upd", @@ -2862,7 +2794,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "511c73b32b1abf034ca8a3213e29f8aa" + "2adf99b07a1847c09fb42452de9e61fb" ], [ "LowStar.RVector.as_seq_seq_upd", @@ -2879,7 +2811,7 @@ "typing_FStar.Seq.Base.length" ], 0, - "f8a540fac40f6b5ed44aaa3e707d2be9" + "5baed6dca5f422e105bf5e50e2dbee9c" ], [ "LowStar.RVector.as_seq_seq_preserved", @@ -2887,15 +2819,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", + "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", + "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837" ], 0, - "334e74b70bf2abe073bc62f00f62979f" + "ab7a013b6de6fb1e89258ca04a9c7196" ], [ "LowStar.RVector.as_seq_seq_preserved", @@ -2903,15 +2835,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", + "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", + "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837" ], 0, - "ef40f264d04ca071dbbcf8c85091b107" + "1131a11c7e3694c2c5a2a12749e89557" ], [ "LowStar.RVector.as_seq_seq_preserved", @@ -2926,14 +2858,13 @@ "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@query", "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_6", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_7", - "binder_x_47a0355704a8576ec7cf91c6937621c9_4", + "binder_x_430165e3f3fc2545e71769d0d89f4297_3", + "binder_x_55aed59fc9941397f49c5a190072ceae_4", "binder_x_69ed1fc542991f0b57e1c786ee9a157c_2", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_3", + "binder_x_8358b93aec0670665ebb4c0f52fc04b7_5", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_d0311cd50dcabda288e07699f600548a_5", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_6", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_7", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -2947,9 +2878,8 @@ "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -2961,14 +2891,14 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_2e7ab5806481f28bf29d8cc1d48d3e17", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_f81e8ddd39884f6cea4b838d73fd9972", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", "token_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "typing_LowStar.RVector.as_seq_seq", "typing_LowStar.RVector.rs_loc_elem", @@ -2976,7 +2906,7 @@ "well-founded-ordering-on-nat" ], 0, - "475d2e76ec809842c61d3ac363c1eb66" + "bcfd5217ad84be27529d839e1d888955" ], [ "LowStar.RVector.as_seq_sub_preserved", @@ -2984,13 +2914,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Vector.uint32_t", - "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", + "equation_Prims.squash", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc" ], 0, - "bde73658d2c186070106c6e2f811d79e" + "760ba6b7d26537e27d89149b26df233b" ], [ "LowStar.RVector.as_seq_sub_preserved", @@ -2998,8 +2928,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", @@ -3010,20 +2939,19 @@ "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Vector.modifies_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector" ], 0, - "3ad9f9966dc1c6a2d0e7a1d65050b817" + "0fd8cbc319bcd313eba1960a60308096" ], [ "LowStar.RVector.as_seq_preserved_", @@ -3031,18 +2959,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.size_of", @@ -3050,10 +2977,7 @@ "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.length_null_1", @@ -3063,25 +2987,24 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of", - "unit_typing" + "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "7561e5df0d0822dd3bd630c2cdd4d760" + "6e6d3ac1b6eb51e9ffcbbe97523810fd" ], [ "LowStar.RVector.as_seq_preserved_", @@ -3089,10 +3012,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", @@ -3100,6 +3021,7 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.RVector.as_seq", "equation_LowStar.RVector.elems_inv", @@ -3111,18 +3033,16 @@ "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.freeable_length", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", @@ -3131,7 +3051,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "69e79a2ca266332b3b936eb72dcf0de6" + "81258a6a684d1e4c2bf8e53610e3854b" ], [ "LowStar.RVector.as_seq_preserved", @@ -3142,10 +3062,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", "lemma_LowStar.RVector.rv_inv_preserved", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9f402069b9393d16c3d02a9fd4bca251" + "efb242bb03472f1d5898c486fc9d5305" ], [ "LowStar.RVector.as_seq_preserved", @@ -3154,7 +3074,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -3165,6 +3084,7 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.RVector.elems_reg", "equation_LowStar.RVector.loc_all_exts_from", "equation_LowStar.RVector.loc_rvector", @@ -3176,8 +3096,7 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", @@ -3191,11 +3110,11 @@ "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", @@ -3213,7 +3132,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "851b31cee7ddb7d75ad7d304b9160dbe" + "f907077a20e707cca7d2182ea068aa37" ], [ "LowStar.RVector.alloc_empty", @@ -3222,7 +3141,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "bc4c454ca1cde75d467d413b9eb79e6f" + "73a9e598d1a650d78f8b6c5f3ba935fe" ], [ "LowStar.RVector.alloc_empty", @@ -3238,7 +3157,7 @@ "refinement_interpretation_Tm_refine_adefc58894388886573cb41ee073aed9" ], 0, - "9d4139bfec3602ba02f28a2fc2faf98e" + "64a20e0ad0fd21b646cdbbee55bde5c4" ], [ "LowStar.RVector.alloc_", @@ -3246,26 +3165,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rvector", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "9cd42740036b81c3d3a551dc08f4e082" + "4cddef3be2d8a612c2ad5f9785a90250" ], [ "LowStar.RVector.alloc_", @@ -3279,7 +3195,8 @@ "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "LowStar.Regional_interpretation_Tm_ghost_arrow_8f6e7aa77ec304418bff4007dc18ed13", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", @@ -3327,8 +3244,7 @@ "equation_LowStar.Vector.live", "equation_LowStar.Vector.loc_vector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", @@ -3336,10 +3252,10 @@ "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_200e570d67273b126fdc86e1d6176ea2", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_65377a2eed60d39b9f9cad845b45036e", - "interpretation_Tm_abs_ae55034556d4a12f589ad01d3503709f", + "interpretation_Tm_abs_4713854dccd970adbcf532da392e93b6", + "interpretation_Tm_abs_49a38699965b093b77e15c6f1be6d2e1", + "interpretation_Tm_abs_949dc16d3e8d31532315d1a202aa8e0f", + "interpretation_Tm_abs_b84d6d1131761bd43ef81e01d55969a4", "l_and-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -3361,6 +3277,7 @@ "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.freeable_length", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -3373,15 +3290,14 @@ "lemma_LowStar.Monotonic.Buffer.loc_includes_none", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", "lemma_LowStar.Monotonic.Buffer.loc_union_comm", "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "lemma_LowStar.Monotonic.Buffer.modifies_refl", + "lemma_LowStar.Monotonic.Buffer.modifies_remove_new_locs", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", "lemma_LowStar.Monotonic.Buffer.new_region_modifies", "lemma_LowStar.Vector.get_preserved_within", @@ -3390,6 +3306,7 @@ "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.Regional.Rgl_loc_of", "proj_equation_LowStar.Regional.Rgl_region_of", "proj_equation_LowStar.Regional.Rgl_repr", "proj_equation_LowStar.Vector.Vec_cap", @@ -3401,33 +3318,34 @@ "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_10914c72f82b2c1d614be8ee0040f302", - "refinement_interpretation_Tm_refine_2017aaff1f8d699425514e951d49e5e4", - "refinement_interpretation_Tm_refine_237fb172a5dc7abfa062112ec4b4f344", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_2eafff708338064d49882466e62ba370", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_7fac03ab255fc29917c51ab5ffb7c150", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b4b5460d983362b6bb452822e53053ea", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_b81af55aa96bfe3f80d96d7b59c502b9", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c34ba757ca47aa810231791f506bf19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_dfe51f46ab10699f2138b1ecb67cc7d5", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", "refinement_interpretation_Tm_refine_e7d1c8d8cd03a2e78447c400f48890d3", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "token_correspondence_LowStar.Regional.__proj__Rgl__item__loc_of", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "token_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", "true_interp", "typing_FStar.Ghost.reveal", @@ -3465,7 +3383,7 @@ "typing_LowStar.Vector.size_of", "unit_inversion", "unit_typing" ], 0, - "b9d7afe89c8c48a19f8cac403bfc3111" + "0cbdacd7c0e6419d27ec4c73deda8467" ], [ "LowStar.RVector.alloc_rid", @@ -3474,18 +3392,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length", "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "d94c4d3c164008b2a51624ac63466ceb" + "0b844a0ec45ddc8a36c9e33cbbd67405" ], [ "LowStar.RVector.alloc_rid", @@ -3495,8 +3411,7 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.HyperStack.ST.erid", "equation_FStar.Monotonic.Heap.equal_dom", @@ -3507,7 +3422,10 @@ "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "equation_FStar.UInt32.lte", "equation_LowStar.RVector.as_seq", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.RVector.as_seq", "equation_LowStar.RVector.as_seq_sub", "equation_LowStar.RVector.elems_inv", "equation_LowStar.RVector.elems_reg", @@ -3517,56 +3435,61 @@ "equation_LowStar.Vector.forall_", "equation_LowStar.Vector.forall_all", "equation_LowStar.Vector.forall_seq", + "equation_LowStar.Vector.freeable", + "equation_LowStar.Vector.loc_vector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_65377a2eed60d39b9f9cad845b45036e", - "interpretation_Tm_abs_ad7dc2f9780ae76f031e07959ea78b13", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", + "interpretation_Tm_abs_25af183683cc7a73a93fc52a65097f1d", + "interpretation_Tm_abs_949dc16d3e8d31532315d1a202aa8e0f", "l_and-interp", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.freeable_length", "lemma_LowStar.Monotonic.Buffer.loc_includes_none", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", "lemma_LowStar.RVector.as_seq_sub_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", + "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_10914c72f82b2c1d614be8ee0040f302", - "refinement_interpretation_Tm_refine_237fb172a5dc7abfa062112ec4b4f344", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_57af044ea70495059490e654ff31e563", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_b81af55aa96bfe3f80d96d7b59c502b9", + "refinement_interpretation_Tm_refine_c34ba757ca47aa810231791f506bf19b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_dfe51f46ab10699f2138b1ecb67cc7d5", "refinement_interpretation_Tm_refine_ebd73615713cb5397e6777fdbea4fb49", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.loc_none", "typing_LowStar.RVector.as_seq_sub", "typing_LowStar.Regional.__proj__Rgl__item__irepr", "typing_LowStar.Regional.__proj__Rgl__item__repr", + "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector", "typing_LowStar.Vector.loc_vector_within", "typing_LowStar.Vector.size_of" ], 0, - "62ed4406b5c1977de8aa26dd7cad9785" + "4f3b86f1719a52fb4c27468bbf5f3251" ], [ "LowStar.RVector.alloc_reserve", @@ -3575,7 +3498,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "ae35c1d14b7b9f5e7758ce09d535f9f9" + "04fbbc18131d5d6584145987abfe60a4" ], [ "LowStar.RVector.alloc_reserve", @@ -3584,8 +3507,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.HyperStack.ST.erid", "equation_FStar.Integers.nat", + "equation_FStar.HyperStack.ST.erid", "equation_LowStar.RVector.as_seq", "equation_LowStar.RVector.elems_inv", "equation_LowStar.RVector.elems_reg", @@ -3603,7 +3525,6 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_LowStar.Monotonic.Buffer.loc_includes_none", @@ -3613,13 +3534,13 @@ "proj_equation_LowStar.Regional.Rgl_repr", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_ebd73615713cb5397e6777fdbea4fb49", "typing_FStar.Seq.Base.empty", "typing_LowStar.Monotonic.Buffer.loc_none", @@ -3628,7 +3549,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector" ], 0, - "671d385af52c2ae8c272d4ff5e1215c1" + "9c662b47ca9da70f4532c97bc25c460d" ], [ "LowStar.RVector.alloc", @@ -3637,18 +3558,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length", "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "c4fe032182e5ea8b8961f89d3ea67f2b" + "6bec29eed283febee41236f4f020b2ee" ], [ "LowStar.RVector.alloc", @@ -3674,6 +3593,7 @@ "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.min_int", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.RVector.rv_inv", "equation_LowStar.RVector.rv_itself_inv", "equation_LowStar.RVector.rvector", @@ -3702,10 +3622,10 @@ "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", + "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", @@ -3717,7 +3637,7 @@ "typing_LowStar.Vector.loc_vector" ], 0, - "12adab241a6379eac98503a32398f0bb" + "4d8bb184af773019416e8513b91b609b" ], [ "LowStar.RVector.insert", @@ -3726,7 +3646,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -3736,16 +3655,17 @@ "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.is_full", + "equation_FStar.UInt32.lt", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", + "equation_LowStar.Vector.is_full", "equation_LowStar.Vector.max_uint32", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", @@ -3753,14 +3673,14 @@ "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_01db3f07b44c9a79740a2017c7066a7d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", "refinement_interpretation_Tm_refine_5ffaea594b77ab7d17d55120a0c6c48b", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f5ca5fe62d09cde5b8a13271bee5d65a", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -3770,7 +3690,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.max_uint32" ], 0, - "b2fd2819ae6cf6c2cb4ff97ad0aee45b" + "fba72b419297cff037ecba0e70e26ca6" ], [ "LowStar.RVector.insert", @@ -3782,10 +3702,9 @@ "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", "@query", - "LowStar.Regional_interpretation_Tm_arrow_a758a3ee408a6b2782e52e75ffc8822f", - "LowStar.Regional_interpretation_Tm_arrow_b6f3996d8a514ae67e2a81215d33fe08", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.Regional_interpretation_Tm_arrow_6d534963616bba9b1bc876219f6bb43c", + "LowStar.Regional_interpretation_Tm_ghost_arrow_65c1bfdbb0d838bd51cc927c26b8919b", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", @@ -3827,21 +3746,18 @@ "equation_LowStar.Vector.max_uint32", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_repr", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_06e60dd003e13e10fb3c422351fc9ec5", - "interpretation_Tm_abs_200e570d67273b126fdc86e1d6176ea2", - "interpretation_Tm_abs_2ba3284835e3a839804520f596616d28", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_319f83d1e2e5d90763ce20b373c5fc6d", + "interpretation_Tm_abs_b84d6d1131761bd43ef81e01d55969a4", + "interpretation_Tm_abs_cb896a6cc1a374f5f23d7f1a925a80e0", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", @@ -3854,7 +3770,6 @@ "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.snoc_slice_index", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", @@ -3886,36 +3801,38 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_01db3f07b44c9a79740a2017c7066a7d", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_2351d9ecf03f169d19c5554516c249dc", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", "refinement_interpretation_Tm_refine_5ffaea594b77ab7d17d55120a0c6c48b", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9a425cfe46bdd3a4a4e7d6767e5feee9", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bfe439d00aff3981ccf8e479c3a0c7bd", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_f874e2190eee7a2db7ea0e274c3085a5", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f5ca5fe62d09cde5b8a13271bee5d65a", + "refinement_interpretation_Tm_refine_fd7f37954e5926c63d1f920dbdf94f51", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "true_interp", "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.disjoint", "typing_FStar.Monotonic.HyperHeap.extends", "typing_FStar.Monotonic.HyperHeap.includes", @@ -3944,7 +3861,7 @@ "typing_LowStar.Vector.max_uint32", "typing_LowStar.Vector.size_of" ], 0, - "0d928da4f2c499a325add4639606f90d" + "d11ee0df4feb49790fee1e2bc0ff71ad" ], [ "LowStar.RVector.insert_copy", @@ -3953,9 +3870,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -3967,22 +3882,21 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.RVector.copyable", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5cc79b7262f4efebc9117807b45fd43d", "refinement_interpretation_Tm_refine_5ffaea594b77ab7d17d55120a0c6c48b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_906e0be243b565705ed3d66dbe3ece74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.max_uint32" ], 0, - "8a0fa529043b1968b7c5f65a44ce86aa" + "dba9a32da4ec5bfe04178b8dd816d5f1" ], [ "LowStar.RVector.insert_copy", @@ -3991,7 +3905,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", @@ -4039,24 +3953,23 @@ "equation_LowStar.Vector.max_uint32", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.RVector.copyable", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_06e60dd003e13e10fb3c422351fc9ec5", - "interpretation_Tm_abs_200e570d67273b126fdc86e1d6176ea2", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "interpretation_Tm_abs_d475aba453d2950aa93fb543cfb712a0", - "interpretation_Tm_abs_d5220764925df1c5fc7e676dbffc86fa", + "interpretation_Tm_abs_3ae62a845cfdc910072c17739e3f8a8d", + "interpretation_Tm_abs_49a38699965b093b77e15c6f1be6d2e1", + "interpretation_Tm_abs_4d16d9b0d5b509ec60646637d7dc7ac0", + "interpretation_Tm_abs_b84d6d1131761bd43ef81e01d55969a4", + "interpretation_Tm_abs_cb896a6cc1a374f5f23d7f1a925a80e0", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd2", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Monotonic.HyperHeap.extends_parent", "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", @@ -4110,28 +4023,29 @@ "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_01db3f07b44c9a79740a2017c7066a7d", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", + "refinement_interpretation_Tm_refine_2eafff708338064d49882466e62ba370", + "refinement_interpretation_Tm_refine_3f5ee6f3cf77c1acc9fd03f9659cd604", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_5cc79b7262f4efebc9117807b45fd43d", "refinement_interpretation_Tm_refine_5ffaea594b77ab7d17d55120a0c6c48b", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8be1b4118a238e53eacd69af9b688a36", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_906e0be243b565705ed3d66dbe3ece74", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b4b5460d983362b6bb452822e53053ea", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_ebd73615713cb5397e6777fdbea4fb49", - "refinement_interpretation_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f5ca5fe62d09cde5b8a13271bee5d65a", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "true_interp", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.upd", @@ -4165,7 +4079,7 @@ "typing_LowStar.Vector.max_uint32", "typing_LowStar.Vector.size_of" ], 0, - "6c0a325c720b3faea42e4243f5a9c0ff" + "3b691e90fede1920d5e3aee8080f6efb" ], [ "LowStar.RVector.assign", @@ -4173,42 +4087,41 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", + "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", + "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", + "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_4f881948061926218ce2d0a6908d16dd", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_54db4727662b77773da8e9e9bfc9231e", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "b2f27b243eedfb65b3a2faeddb978aa1" + "a2511d617abfdad2f0a6f4c13fde03b5" ], [ "LowStar.RVector.assign", @@ -4222,10 +4135,9 @@ "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", "@query", - "LowStar.Regional_interpretation_Tm_arrow_a758a3ee408a6b2782e52e75ffc8822f", - "LowStar.Regional_interpretation_Tm_arrow_b6f3996d8a514ae67e2a81215d33fe08", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.Regional_interpretation_Tm_arrow_6d534963616bba9b1bc876219f6bb43c", + "LowStar.Regional_interpretation_Tm_ghost_arrow_65c1bfdbb0d838bd51cc927c26b8919b", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", @@ -4235,7 +4147,6 @@ "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.Seq.Properties.cons", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", @@ -4263,18 +4174,15 @@ "equation_LowStar.Vector.loc_vector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_repr", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_06e60dd003e13e10fb3c422351fc9ec5", - "interpretation_Tm_abs_200e570d67273b126fdc86e1d6176ea2", - "interpretation_Tm_abs_2ba3284835e3a839804520f596616d28", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_319f83d1e2e5d90763ce20b373c5fc6d", + "interpretation_Tm_abs_b84d6d1131761bd43ef81e01d55969a4", + "interpretation_Tm_abs_cb896a6cc1a374f5f23d7f1a925a80e0", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -4282,12 +4190,9 @@ "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.upd_slice", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", @@ -4318,38 +4223,37 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_10914c72f82b2c1d614be8ee0040f302", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1524669c02106d6d28a382114087b8f3", "refinement_interpretation_Tm_refine_2351d9ecf03f169d19c5554516c249dc", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_4f881948061926218ce2d0a6908d16dd", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_54db4727662b77773da8e9e9bfc9231e", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9a425cfe46bdd3a4a4e7d6767e5feee9", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bfe439d00aff3981ccf8e479c3a0c7bd", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_d32622347ecf598ed3a808fe7fbc7799", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_b81af55aa96bfe3f80d96d7b59c502b9", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "refinement_interpretation_Tm_refine_dfe51f46ab10699f2138b1ecb67cc7d5", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd7f37954e5926c63d1f920dbdf94f51", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "true_interp", "typing_FStar.Monotonic.HyperHeap.disjoint", + "typing_FStar.Monotonic.HyperHeap.disjoint", "typing_FStar.Monotonic.HyperHeap.extends", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", @@ -4377,7 +4281,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "b23c81a9f00fec98aecdb1b72305aebd" + "39561bb27f8fb5e3d81896c060e15ac2" ], [ "LowStar.RVector.r_sep_forall", @@ -4386,7 +4290,7 @@ 1, [ "@query" ], 0, - "b2c1a6ef52b310a71278b20abd71ab13" + "6efe13f48689b7209e34b7ae23997235" ], [ "LowStar.RVector.r_sep_forall", @@ -4398,7 +4302,7 @@ "refinement_interpretation_Tm_refine_2351d9ecf03f169d19c5554516c249dc" ], 0, - "4a637b48f0c0df4f3a3a1adb033cabcf" + "f3ddffc28d36aae5fdb26b06499704f5" ], [ "LowStar.RVector.assign_copy", @@ -4407,21 +4311,19 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt32.lt", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "fuel_guarded_inversion_LowStar.RVector.copyable", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5cc79b7262f4efebc9117807b45fd43d", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e" + "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", + "refinement_interpretation_Tm_refine_906e0be243b565705ed3d66dbe3ece74", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640" ], 0, - "4571ec528f19bc70d60cf9f08e45e97d" + "73e620fd2b8a50e82c59d486b7593eb0" ], [ "LowStar.RVector.assign_copy", @@ -4433,10 +4335,9 @@ "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", "@query", - "LowStar.Regional_interpretation_Tm_arrow_a758a3ee408a6b2782e52e75ffc8822f", - "LowStar.Regional_interpretation_Tm_arrow_b6f3996d8a514ae67e2a81215d33fe08", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.Regional_interpretation_Tm_arrow_6d534963616bba9b1bc876219f6bb43c", + "LowStar.Regional_interpretation_Tm_ghost_arrow_65c1bfdbb0d838bd51cc927c26b8919b", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", @@ -4446,7 +4347,6 @@ "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -4470,18 +4370,16 @@ "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.get", "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.RVector.copyable", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_repr", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "int_typing", - "interpretation_Tm_abs_200e570d67273b126fdc86e1d6176ea2", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", + "interpretation_Tm_abs_b84d6d1131761bd43ef81e01d55969a4", "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -4518,32 +4416,34 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", "refinement_interpretation_Tm_refine_2351d9ecf03f169d19c5554516c249dc", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_3f5ee6f3cf77c1acc9fd03f9659cd604", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_5cc79b7262f4efebc9117807b45fd43d", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_77d28715670fc9c372230499ca5a9e45", + "refinement_interpretation_Tm_refine_5fca2e55e67f4beb4079172258863661", + "refinement_interpretation_Tm_refine_613476707329ad72576fb0ba12f31547", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8be1b4118a238e53eacd69af9b688a36", + "refinement_interpretation_Tm_refine_906e0be243b565705ed3d66dbe3ece74", + "refinement_interpretation_Tm_refine_9a425cfe46bdd3a4a4e7d6767e5feee9", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a44710670ffbf7a520fcd3aebdb3250b", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_da6b00ee7116b41ec07dcc19d1adf30d", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", "refinement_interpretation_Tm_refine_ebd73615713cb5397e6777fdbea4fb49", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "true_interp", "typing_FStar.Monotonic.HyperHeap.includes", @@ -4567,7 +4467,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "79901d9ee04e0f1f0bc935d985bd5213" + "63ca670c7d7fd44f6632891239e43785" ], [ "LowStar.RVector.free_elems", @@ -4575,10 +4475,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", @@ -4586,29 +4484,27 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.RVector.rvector", + "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "33a6b0f3d7f9276880fa4fe40799200f" + "e78e44e4b3a13607efc17ae99986fd2b" ], [ "LowStar.RVector.free_elems", @@ -4620,8 +4516,7 @@ "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", @@ -4646,6 +4541,7 @@ "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.RVector.rs_elems_reg", @@ -4662,10 +4558,9 @@ "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_200e570d67273b126fdc86e1d6176ea2", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", + "interpretation_Tm_abs_b84d6d1131761bd43ef81e01d55969a4", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -4699,23 +4594,23 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_50215b77715ce125494c70d1b0df3aaf", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_23a03d3b8fb08534a80342f199df1e37", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_5baf19f22e1744fa01f7b8bd502d10cf", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b0d60398bd0abde55ef226c426117e6e", - "refinement_interpretation_Tm_refine_bfe439d00aff3981ccf8e479c3a0c7bd", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_dc207b201a36ea0788fce8ded8cb8f0d", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_c7c4db1d80ee6c3667ec002a42517bcb", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fd7f37954e5926c63d1f920dbdf94f51", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.includes", @@ -4736,7 +4631,7 @@ "typing_LowStar.Vector.as_seq", "unit_inversion", "unit_typing" ], 0, - "0122b5095135f374f17f181564acea71" + "95b9519bfc36db6fe3d8b194e22c603a" ], [ "LowStar.RVector.flush", @@ -4745,9 +4640,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -4756,25 +4649,23 @@ "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5309611d952b1d11eb1948d095a7a9bc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", + "refinement_interpretation_Tm_refine_e07c1ced2a4edf558246b1d39a467b67", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "9e3b6b2de265756d2da5824955f24e84" + "7dd8ee79390a90dabb4a48f8992e2c26" ], [ "LowStar.RVector.flush", @@ -4786,14 +4677,13 @@ "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", + "@query", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Vector.Vec", + "data_elim_LowStar.Regional.Rgl", "data_elim_LowStar.Vector.Vec", "equality_tok_FStar.Integers.W32@tok", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.HyperStack.ST.equal_stack_domains", @@ -4827,22 +4717,21 @@ "equation_LowStar.RVector.rv_loc_elems", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_seq", "equation_LowStar.Vector.live", + "equation_LowStar.Vector.forall_seq", + "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.live", "equation_LowStar.Vector.loc_addr_of_vector", "equation_LowStar.Vector.loc_vector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", + "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", @@ -4857,9 +4746,10 @@ "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", + "lemma_LowStar.Monotonic.Buffer.freeable_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -4892,45 +4782,49 @@ "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_5309611d952b1d11eb1948d095a7a9bc", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", "refinement_interpretation_Tm_refine_94429f1a659fe9f0aa0165bf192df256", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_9a425cfe46bdd3a4a4e7d6767e5feee9", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_da6b00ee7116b41ec07dcc19d1adf30d", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", + "refinement_interpretation_Tm_refine_e07c1ced2a4edf558246b1d39a467b67", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", "refinement_interpretation_Tm_refine_e7d1c8d8cd03a2e78447c400f48890d3", "refinement_interpretation_Tm_refine_ebd73615713cb5397e6777fdbea4fb49", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.add", + "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.slice", "typing_FStar.Set.complement", + "typing_FStar.Set.empty", "typing_FStar.Set.intersect", + "typing_FStar.Set.mem", "typing_FStar.Set.singleton", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", @@ -4953,7 +4847,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "3022595e27a81b336274a74991456692" + "66027a8fdd94163e923a3b58fc637a46" ], [ "LowStar.RVector.free_elems_from", @@ -4961,25 +4855,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "c34830f1e91f3aec0c775115162fbc0d" + "8dfece2b7a91ab43199b6e768dc59433" ], [ "LowStar.RVector.free_elems_from", @@ -4990,8 +4881,7 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", @@ -5010,6 +4900,7 @@ "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.RVector.rs_elems_reg", @@ -5018,7 +4909,7 @@ "equation_LowStar.RVector.rv_elems_reg", "equation_LowStar.RVector.rv_loc_elem", "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", + "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.forall2_seq", "equation_LowStar.Vector.forall_seq", "equation_LowStar.Vector.loc_vector", @@ -5027,16 +4918,18 @@ "equation_Prims.nat", "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_200e570d67273b126fdc86e1d6176ea2", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", + "interpretation_Tm_abs_b84d6d1131761bd43ef81e01d55969a4", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", + "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", @@ -5065,24 +4958,24 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_36eed8253f80fa8d290be8550b494026", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1d585ef4b538bf29f559a54b4e7f849c", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_4a14564ebdaba482af2c057829022de3", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_71e03dc93590dfa30bfc270b067e2215", - "refinement_interpretation_Tm_refine_72cee531dc8b446f4232969eb004ba4e", + "refinement_interpretation_Tm_refine_76bf751039a43297ffcf68a0bbae68d0", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_fcc77b970e40bb34914b49e6dd23ba7b", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", + "refinement_interpretation_Tm_refine_fe8f7743e6824f9b14e495b62e90b272", "token_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "typing_FStar.Monotonic.HyperHeap.includes", @@ -5093,18 +4986,18 @@ "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.loc_regions", "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.RVector.rs_loc_elem", "typing_LowStar.RVector.rs_loc_elems", "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of", "unit_inversion", "unit_typing" ], 0, - "674fe050027377ee6d1beea3e4ebe4ae" + "66865a4025fe4ab7eeea804915115570" ], [ "LowStar.RVector.shrink", @@ -5113,25 +5006,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5309611d952b1d11eb1948d095a7a9bc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", + "refinement_interpretation_Tm_refine_e07c1ced2a4edf558246b1d39a467b67", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", "typing_FStar.Seq.Base.length", "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "bac98caa8572f3652c2128a704e117e2" + "a2fc046777966892d58d5b48aa3be2e5" ], [ "LowStar.RVector.shrink", @@ -5144,9 +5034,8 @@ "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "data_elim_LowStar.Regional.Rgl", "data_elim_LowStar.Vector.Vec", @@ -5187,16 +5076,14 @@ "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.live", "equation_LowStar.Vector.shrink", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_200e570d67273b126fdc86e1d6176ea2", - "interpretation_Tm_abs_2ba3284835e3a839804520f596616d28", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", + "interpretation_Tm_abs_2d6a610f836a1d750ebd2bbcb24712e1", + "interpretation_Tm_abs_61d27fdba5da2835f72c4afa59b0cbc3", + "interpretation_Tm_abs_ed04f20eaaa3dc835f1c73f4decded6f", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -5242,30 +5129,32 @@ "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_LowStar.Vector.Vec_sz", "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_5309611d952b1d11eb1948d095a7a9bc", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", "refinement_interpretation_Tm_refine_7c6fae798549fc775eabfd0ed569153a", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_9a425cfe46bdd3a4a4e7d6767e5feee9", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e07c1ced2a4edf558246b1d39a467b67", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", "refinement_interpretation_Tm_refine_ebd73615713cb5397e6777fdbea4fb49", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", "true_interp", "typing_FStar.Map.contains", @@ -5297,7 +5186,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "833d3bb022759104e17b7da9144215e2" + "3d37b0bab351d6c297c7360567cdb112" ], [ "LowStar.RVector.free", @@ -5306,7 +5195,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", @@ -5336,39 +5224,37 @@ "equation_LowStar.RVector.elems_reg", "equation_LowStar.RVector.loc_all_exts_from", "equation_LowStar.RVector.loc_rvector", + "equation_LowStar.RVector.rs_elems_inv", + "equation_LowStar.RVector.rs_elems_reg", "equation_LowStar.RVector.rv_elems_inv", + "equation_LowStar.RVector.rv_elems_reg", "equation_LowStar.RVector.rv_inv", "equation_LowStar.RVector.rv_itself_inv", "equation_LowStar.RVector.rv_loc_elems", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.live", + "equation_LowStar.Vector.forall2_seq", + "equation_LowStar.Vector.forall_seq", "equation_LowStar.Vector.live", "equation_LowStar.Vector.loc_addr_of_vector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Seq.Properties.slice_is_empty", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", - "lemma_LowStar.Monotonic.Buffer.freeable_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -5384,43 +5270,47 @@ "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_disEquality", "proj_equation_LowStar.Vector.Vec_sz", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_5309611d952b1d11eb1948d095a7a9bc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", "refinement_interpretation_Tm_refine_6f27757ed66a8ffb4476635a625aa07c", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_be95e9d736e0338873fbabf9f1371031", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_de53286ac6ea7bcb1ee55a5646706534", + "refinement_interpretation_Tm_refine_e07c1ced2a4edf558246b1d39a467b67", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt.fits", + "typing_FStar.Seq.Base.length", "typing_FStar.Set.complement", + "typing_FStar.Set.empty", "typing_FStar.Set.intersect", + "typing_FStar.Set.mem", "typing_FStar.Set.singleton", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_addr", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.frameOf", @@ -5431,11 +5321,12 @@ "typing_LowStar.RVector.loc_all_exts_from", "typing_LowStar.RVector.loc_rvector", "typing_LowStar.RVector.rs_loc_elems", + "typing_LowStar.RVector.rv_loc_elems", "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "e1efd1c7e2635caefd438a8b7d26fdc6" + "fa89a372058dc410f823029f672fcc71" ], [ "LowStar.RVector.copyable", @@ -5444,11 +5335,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_8be1b4118a238e53eacd69af9b688a36" + "refinement_interpretation_Tm_refine_3f5ee6f3cf77c1acc9fd03f9659cd604" ], 0, - "ff3d48bb9043a59533ccf18d504508e5" + "4eff62d54bcc361abccc34b5ba0be7aa" ], [ "LowStar.RVector.__proj__Cpy__item__copy", @@ -5457,11 +5347,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_8be1b4118a238e53eacd69af9b688a36" + "refinement_interpretation_Tm_refine_3f5ee6f3cf77c1acc9fd03f9659cd604" ], 0, - "ed4d11f4ab6f1738e73dc7b59a1f535c" + "b27474c3b6005af23041701eade70086" ], [ "LowStar.RVector.__proj__Cpy__item__copy", @@ -5470,11 +5359,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_8be1b4118a238e53eacd69af9b688a36" + "refinement_interpretation_Tm_refine_3f5ee6f3cf77c1acc9fd03f9659cd604" ], 0, - "66d878bc33251da89fa0bd6b8dbdc657" + "f02678de2cc6f12fa9ab420b70577a1d" ], [ "LowStar.RVector.rv_elems_inv", @@ -5482,26 +5370,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "aab855ee251d4e7146589b6798feb31f" + "0f54b964bfb2f2a93590389587ee2264" ], [ "LowStar.RVector.elems_inv", @@ -5509,42 +5394,42 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.RVector.rvector", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.buffer", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Vector.size_of" ], 0, - "5b1b689f46ff30440e2ab98580aec745" + "fe86b6f33bab4b40ebf42b1f890b8b91" ], [ "LowStar.RVector.rv_elems_reg", @@ -5552,26 +5437,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "6ef953e214df620396ce5838bb668fe9" + "42127bc48dabdbf762db2e545eef92bd" ], [ "LowStar.RVector.elems_reg", @@ -5579,42 +5461,42 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.RVector.rvector", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.buffer", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Vector.size_of" ], 0, - "0a04a9cfa2065e9e881943f63e514b34" + "be991b0ac5f1ff7c0108768e6cab27d8" ], [ "LowStar.RVector.rs_loc_elem", @@ -5623,7 +5505,7 @@ 1, [ "@query" ], 0, - "cb97bbe231946d9678a807bd18a25f3f" + "619554c569ed37155867db99558cdf55" ], [ "LowStar.RVector.rs_loc_elems", @@ -5632,30 +5514,27 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_47a0355704a8576ec7cf91c6937621c9_4", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_3", + "binder_x_430165e3f3fc2545e71769d0d89f4297_3", + "binder_x_55aed59fc9941397f49c5a190072ceae_4", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equality_tok_Prims.LexTop@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "equation_Prims.eqtype", "function_token_typing_Prims.int", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_2e7ab5806481f28bf29d8cc1d48d3e17", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_f81e8ddd39884f6cea4b838d73fd9972", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "well-founded-ordering-on-nat" ], 0, - "9c0e9c3c813c27f9f3529d91a19f9bdc" + "dcfa22127b20fadb300094c21f938ed5" ], [ "LowStar.RVector.rv_loc_elems", @@ -5663,26 +5542,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "15a61b527ce7aab777eedb0b5811a5db" + "23e45f22316121937e240abc2b7c3de8" ], [ "LowStar.RVector.rv_loc_elem", @@ -5690,28 +5566,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "35a899595795e75f2dcc044d897baa39" + "24decdf594d92bc1575f544c48c5b95b" ], [ "LowStar.RVector.rs_loc_elems_rec_inverse", @@ -5719,16 +5592,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_112f524ab0f90069a3d10d631a3b96f4", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c" + "refinement_interpretation_Tm_refine_4aeb91ac973583b8df27686aec6889da", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "a1d43758e00b421f97e3a867e9385cd8" + "3010b6490a14c5504d221d55f7303a15" ], [ "LowStar.RVector.rs_loc_elems_includes", @@ -5736,13 +5609,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837" ], 0, - "1caf6afea133cdc5b4f479ababa82c99" + "0cbd14c8e6510142664dd6d18d0a202a" ], [ "LowStar.RVector.rs_loc_elem_included", @@ -5750,13 +5623,12 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.int", - "equation_FStar.Integers.nat", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c" + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_fd1b07894cee18e2823153a64f0cf01b" ], 0, - "ad7d5125fd3b01d368a253c286e30d78" + "dc3b3d982f16509fb6848280088d32e9" ], [ "LowStar.RVector.rs_loc_elem_disj", @@ -5765,26 +5637,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "386096afc1e00e5071003b63edcd3e63" + "157fda2d5b1a8f232fc0863c4068ff55" ], [ "LowStar.RVector.rs_loc_elem_disj_forall", @@ -5793,26 +5663,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "f031c51f07ded149cefc8e15ad510adf" + "c3b52550efe6644c29f24195ca171606" ], [ "LowStar.RVector.rs_loc_elems_elem_disj", @@ -5820,16 +5688,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8373bfe7981d84c22aeea0bf45177f5b", - "refinement_interpretation_Tm_refine_a836284b9389de1c76f8917e94927e03", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_431360e67a415d50cb12f13d74a3dfbf", + "refinement_interpretation_Tm_refine_b91978cbc7c2d7b95469fb94f665c89e" ], 0, - "1f08a53d67407d4c7391306340a2a17b" + "e269b61c1a4f3de9c26b2a08525784c7" ], [ "LowStar.RVector.rs_loc_elems_disj", @@ -5838,16 +5705,16 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Integers.nat", "equation_Prims.l_and", - "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_BarBar", + "bool_typing", "equation_Prims.l_and", "equation_Prims.squash", + "l_and-interp", "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8373bfe7981d84c22aeea0bf45177f5b", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_431360e67a415d50cb12f13d74a3dfbf" ], 0, - "c418938088e43eb8d769d1474e1521af" + "85c3b12f4d197122a33d413e3c1dbe3e" ], [ "LowStar.RVector.rv_loc_elems_disj", @@ -5855,23 +5722,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f52fb55bed3741790d43d7617a29ea1d", + "refinement_interpretation_Tm_refine_a4568ee14054c8649500205cd21743f3", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "6361848169303a7b3e0569ea548f8a7b" + "663fca63463fa9756c0af7ebf5a1239d" ], [ "LowStar.RVector.rv_inv_preserved_", @@ -5879,9 +5744,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -5889,7 +5753,8 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.size_of", @@ -5897,35 +5762,34 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "225677e31be8d62837ed6f0bf5e3f629" + "625c866ea7f9d56e282fde14553f4c7a" ], [ "LowStar.RVector.as_seq_seq", @@ -5933,27 +5797,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length" ], 0, - "f5ebd1de51a1792dda8b00ea1d07e2d9" + "4d0fa07f9dd9f3118813bb86876708f8" ], [ "LowStar.RVector.as_seq_seq", @@ -5962,11 +5823,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_2", - "binder_x_8f6b7d31a6c4f79fd56967adbaedd2d5_4", + "binder_x_430165e3f3fc2545e71769d0d89f4297_4", + "binder_x_98699f763bc1847c8f5523c09ef10820_5", "binder_x_9c79b79c6fb58e1200e99468cb6fb6f7_1", - "binder_x_d5d9569e2148b75dfccdb98c4cb07497_5", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", @@ -5983,11 +5843,9 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", @@ -5997,15 +5855,15 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2cde4068ea75bd949d5687b71e2df2fb", + "refinement_interpretation_Tm_refine_378566b8dd1f757b4c127278ba44266b", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_44578f55ed0046f9a29b1ed851672920", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_71a6bd35ae216ad5c67cbc8c16d6a251", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_caaed0b05047a5d3e3bc9b06291e7ed5", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_e0e9bf1eb77c1ffd9db63fd7917915b5", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", @@ -6013,7 +5871,7 @@ "well-founded-ordering-on-nat" ], 0, - "22a6068d454300e20f19b648dec6b090" + "e590b2897484d2cc0f705a7afb07994b" ], [ "LowStar.RVector.as_seq_seq", @@ -6026,20 +5884,19 @@ "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length" ], 0, - "66fb7eab7bf325968ddb83a19c35aafd" + "b12301d04ef9a4a25176466ddbdcdc65" ], [ "LowStar.RVector.as_seq_seq", @@ -6052,20 +5909,19 @@ "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length" ], 0, - "82f20a0ddfe6a4119f96fb47002c96db" + "b745c211d9b13299a03e83278a28423d" ], [ "LowStar.RVector.as_seq_sub", @@ -6074,7 +5930,7 @@ 1, [ "@query" ], 0, - "836e2c7597e9a7e300cae8dff85974fb" + "44b0d6bf8318c8764c6b4ab4298af0fd" ], [ "LowStar.RVector.as_seq_sub", @@ -6082,8 +5938,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", @@ -6091,18 +5946,16 @@ "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_10914c72f82b2c1d614be8ee0040f302", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b81af55aa96bfe3f80d96d7b59c502b9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "22066168e8b2ed3d78ead31dc05e71d4" + "a4a51624498883475d9f6664e66ba0f6" ], [ "LowStar.RVector.as_seq_sub", @@ -6111,7 +5964,7 @@ 1, [ "@query" ], 0, - "75888bddc2ba30223d8caefd938b26b6" + "7a4772a555a4f4187d20a75274570e09" ], [ "LowStar.RVector.as_seq", @@ -6119,17 +5972,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.RVector.elems_inv", + "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.RVector.elems_inv", "equation_LowStar.RVector.rv_inv", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.size_of", @@ -6137,28 +5990,26 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_ebd73615713cb5397e6777fdbea4fb49", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "b2abb10383ee0d54429ffdfef9150be1" + "6489e90bb0a77c2616f51ae7e58aea6d" ], [ "LowStar.RVector.as_seq", @@ -6167,7 +6018,7 @@ 1, [ "@query" ], 0, - "483ddca56c540981e711661af8b85318" + "e9ce733dfaa45955d492f7a3eeda3337" ], [ "LowStar.RVector.as_seq_sub_as_seq", @@ -6175,17 +6026,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.RVector.elems_inv", "equation_LowStar.RVector.rv_inv", @@ -6195,10 +6045,7 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -6206,13 +6053,13 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_ebd73615713cb5397e6777fdbea4fb49", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", @@ -6222,7 +6069,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "c0204632613e406e4d50baf66b8fb039" + "68bd21115d86f6437f22337352a0255d" ], [ "LowStar.RVector.as_seq_seq_index", @@ -6230,8 +6077,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", @@ -6244,31 +6090,28 @@ "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_9a425cfe46bdd3a4a4e7d6767e5feee9", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "a1f1cf17270e5b6e4ce7c9ed5a7ec88e" + "45f9a5c7d82e6edb8960b22ba940eecc" ], [ "LowStar.RVector.as_seq_seq_eq", @@ -6277,24 +6120,23 @@ 1, [ "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Integers.int", "equation_FStar.Integers.nat", + "equation_FStar.Integers.nat", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "87f2e4c00d7734346fc8ac9ef2eddf68" + "3f8ce733dc6f8c7c18a4871e18f89178" ], [ "LowStar.RVector.as_seq_seq_slice", @@ -6302,8 +6144,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", @@ -6316,10 +6157,8 @@ "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", @@ -6328,24 +6167,24 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_4d9ddd3591d4f7426d2f19beeac92884", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_71432620ca549a94645f9c8211799947", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ebf2d5bf287d44ea11c850d5293c6aa1", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8de66a1c9bd730c23cecb75ebdb0d6b1", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "c8568cf8ac0edbb8edfc7ebda3f72569" + "d85f73550af09940d119c1500177b111" ], [ "LowStar.RVector.as_seq_seq_upd", @@ -6353,8 +6192,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", @@ -6367,10 +6205,8 @@ "equation_LowStar.RVector.rs_elems_inv", "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", @@ -6379,23 +6215,23 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_2351d9ecf03f169d19c5554516c249dc", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_7b32e5f6df08fd45671d81aab27574f0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" ], 0, - "9a05391dd11b961da50c6636de30c283" + "e58a4ac4b2753fd1012e60f17bafd528" ], [ "LowStar.RVector.as_seq_seq_preserved", @@ -6403,15 +6239,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", + "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", + "equation_Prims.squash", "l_and-interp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837" ], 0, - "fc9a63aa62e025ede05b6bc8233a5118" + "ec8646190d100f2091271382293f02d9" ], [ "LowStar.RVector.as_seq_sub_preserved", @@ -6419,13 +6255,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Vector.uint32_t", - "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", + "equation_Prims.squash", "l_and-interp", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc" ], 0, - "82a1c988cb0ba22884e7a57b454bf33d" + "e12e2e0e16cdfc74030a265255c714d9" ], [ "LowStar.RVector.as_seq_preserved_", @@ -6433,57 +6269,57 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.RVector.rv_inv", + "equation_LowStar.RVector.rv_itself_inv", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", + "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "equation_Prims.squash", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt32.vu_inv", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.freeable_length", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of", - "unit_typing" + "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "79d959461c575c93aff8fca3011ddf18" + "3e6b1c5ef67dec0e7f38ce9a3d6f9a58" ], [ "LowStar.RVector.as_seq_preserved", @@ -6494,10 +6330,10 @@ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", "lemma_LowStar.RVector.rv_inv_preserved", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "6965cdf403821472ae4fdac3d90f948e" + "d53a704492000ce09613e3469df302b2" ], [ "LowStar.RVector.alloc_empty", @@ -6506,7 +6342,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "43830bb4fd73c82b608d08dc78976c18" + "f69fa65a21068abeea59d9802ec68cd7" ], [ "LowStar.RVector.alloc_", @@ -6514,26 +6350,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rvector", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "a369d62bd52ba269c5684f904fc9db31" + "4bde8e8499f0906d882e01f3f31fc7ed" ], [ "LowStar.RVector.alloc_rid", @@ -6542,18 +6375,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length", "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "b9e4383469c12bba3003d60898a68c64" + "f6d8a3e1937d6a409ce14b6c3e12386d" ], [ "LowStar.RVector.alloc_reserve", @@ -6562,7 +6393,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "75438a0593d3b6bc4fd8db7c7ee599cf" + "bdfe93af47b4b161efa2df6a6f4f96b8" ], [ "LowStar.RVector.alloc", @@ -6571,18 +6402,16 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length", "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "f4b66472f5c778a5004e90d78d849d8a" + "d2e0c9a37751884be2ace6e4fec9d910" ], [ "LowStar.RVector.insert", @@ -6591,7 +6420,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -6601,16 +6429,17 @@ "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.is_full", + "equation_FStar.UInt32.lt", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", + "equation_LowStar.Vector.is_full", "equation_LowStar.Vector.max_uint32", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", @@ -6618,14 +6447,14 @@ "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_01db3f07b44c9a79740a2017c7066a7d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", "refinement_interpretation_Tm_refine_5ffaea594b77ab7d17d55120a0c6c48b", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f5ca5fe62d09cde5b8a13271bee5d65a", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", @@ -6635,7 +6464,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.max_uint32" ], 0, - "3a08769d5759f308af9f3499961d242a" + "afdb9c0966d8430597704dd3284dd175" ], [ "LowStar.RVector.insert_copy", @@ -6644,9 +6473,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -6658,22 +6485,21 @@ "equation_Prims.nat", "fuel_guarded_inversion_LowStar.RVector.copyable", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5cc79b7262f4efebc9117807b45fd43d", "refinement_interpretation_Tm_refine_5ffaea594b77ab7d17d55120a0c6c48b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_906e0be243b565705ed3d66dbe3ece74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.max_uint32" ], 0, - "982f9e0fe89ae7cbbab169a31e1bf8cc" + "1f3bf2ed49ff58f91528266f35d8389a" ], [ "LowStar.RVector.assign", @@ -6681,42 +6507,41 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", + "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", + "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", + "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_4f881948061926218ce2d0a6908d16dd", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_54db4727662b77773da8e9e9bfc9231e", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "1953898c250c4cb819812bc61b779a25" + "5d0763679e9c620074f5f288ed36a709" ], [ "LowStar.RVector.r_sep_forall", @@ -6725,7 +6550,7 @@ 1, [ "@query" ], 0, - "4c7a0d8b5a214260c7ee2e8d3496b6a0" + "4dd7c93b5e7ebc006372982a5ec51cc3" ], [ "LowStar.RVector.assign_copy", @@ -6734,21 +6559,19 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt32.lt", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "fuel_guarded_inversion_LowStar.RVector.copyable", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5cc79b7262f4efebc9117807b45fd43d", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e" + "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", + "refinement_interpretation_Tm_refine_906e0be243b565705ed3d66dbe3ece74", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640" ], 0, - "d6b86013695868b4564e6fbc127a08ea" + "63b06d6b52dd95806160e4b05d0486b0" ], [ "LowStar.RVector.free_elems", @@ -6756,10 +6579,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", @@ -6767,29 +6588,27 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.RVector.rvector", + "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "5d99f3572c72c9cb0865a0a7cb86c149" + "5002b9e620d79b6645ee743b2137dbce" ], [ "LowStar.RVector.flush", @@ -6798,9 +6617,7 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", @@ -6809,25 +6626,23 @@ "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5309611d952b1d11eb1948d095a7a9bc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", + "refinement_interpretation_Tm_refine_e07c1ced2a4edf558246b1d39a467b67", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "f649b2c4719cd753edcd6868e6236a68" + "18c7b5bf4a028415ee122f48bcc3416d" ], [ "LowStar.RVector.free_elems_from", @@ -6835,25 +6650,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "ff066bf10fb9573cb39a5d51c2e0af55" + "2275dd53a947c7fcf68c209a34cb349d" ], [ "LowStar.RVector.shrink", @@ -6862,25 +6674,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5309611d952b1d11eb1948d095a7a9bc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_873b74d029d0e89978865b286954698e", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", + "refinement_interpretation_Tm_refine_e07c1ced2a4edf558246b1d39a467b67", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", "typing_FStar.Seq.Base.length", "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "3e35ca8a9d2fb714f0e3f158e25c2c63" + "f615db46b589e96d675e2a88425c41be" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.Regional.Instances.fst.hints b/ulib/LowStar.Regional.Instances.fst.hints index ebba6fda47e..bf6394daa63 100644 --- a/ulib/LowStar.Regional.Instances.fst.hints +++ b/ulib/LowStar.Regional.Instances.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "4c2fa84281bae583b5ad6aef59d41576" + "f952a91190f798e073560cbb11550cd5" ], [ "LowStar.Regional.Instances.buffer_r_inv_reg", @@ -23,7 +23,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "e3a5a82bdacbd24041965fd35d290bd0" + "76904d17b7bb28143121ed233986dca0" ], [ "LowStar.Regional.Instances.buffer_repr", @@ -37,7 +37,7 @@ "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "080b9ae00982f128a356aab294607099" + "c806c596b699232d1284a40a2fd03fdc" ], [ "LowStar.Regional.Instances.buffer_r_repr", @@ -46,6 +46,7 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Regional.Instances.buffer_r_inv", "lemma_LowStar.Monotonic.Buffer.freeable_length", @@ -53,7 +54,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "1cbcee1cd17fb860f7c0d789bb877a52" + "1008e7d9f2c327822f1aff97629d56ae" ], [ "LowStar.Regional.Instances.buffer_r_repr", @@ -70,7 +71,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "ad5373cd612d358323c506f06a0c692e" + "1fd848a02bc9f3c6d9306de46529b1ee" ], [ "LowStar.Regional.Instances.buffer_r_sep", @@ -79,15 +80,16 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Regional.Instances.buffer_r_inv", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", "lemma_LowStar.Monotonic.Buffer.freeable_length", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "5e722f3100bb27f60c54080bcbf0b053" + "84d1d4cd91e0c6e2fdab83ac9e7bf72a" ], [ "LowStar.Regional.Instances.buffer_r_sep", @@ -127,7 +129,7 @@ "typing_LowStar.Regional.Instances.buffer_region_of" ], 0, - "c6031d10a543a0e5f72f4e14266b216d" + "0872d99519254004b0f3f65f073cc749" ], [ "LowStar.Regional.Instances.buffer_irepr", @@ -135,23 +137,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_e550738ad028c4c938d9a48913da1fe9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "31f062ce572e271392067aa9f1ea5418" + "c3c2f34cf68afa9e7ba6ee0fd9282690" ], [ "LowStar.Regional.Instances.buffer_irepr", @@ -159,24 +159,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_e550738ad028c4c938d9a48913da1fe9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "558ce107c976ffab79322e8cc0bfb884" + "4b6e87fd69565d32dea6b4a57879dbbe" ], [ "LowStar.Regional.Instances.buffer_r_alloc", @@ -191,7 +189,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "6701c615e49d3e561b5ab4278e692491" + "b40e3d0ba308358b5223b6887c677c02" ], [ "LowStar.Regional.Instances.buffer_r_alloc", @@ -199,15 +197,9 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.erid", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.HyperStack.ST.erid", "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Integers.int_t", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_eternal_color", "equation_FStar.Monotonic.HyperStack.mem", @@ -226,9 +218,8 @@ "equation_LowStar.Regional.Instances.buffer_repr", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", @@ -240,15 +231,15 @@ "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_2c83c7bb607ce0f4ff3dd6d04eabda6f", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_e550738ad028c4c938d9a48913da1fe9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_f5b6b024e7223479b436f954f257e1fe", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.color", @@ -266,7 +257,7 @@ "typing_LowStar.Regional.Instances.buffer_r_repr" ], 0, - "2961c0dba75db9f2596050e5858e937b" + "b4022eefc2a522f24a6cffa5f7f41676" ], [ "LowStar.Regional.Instances.buffer_r_free", @@ -276,18 +267,13 @@ [ "@MaxIFuel_assumption", "@query", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", + "bool_typing", "equation_FStar.Monotonic.HyperStack.live_region", "equation_LowStar.Buffer.buffer", "equation_LowStar.Regional.Instances.buffer_r_inv", "equation_LowStar.Regional.Instances.buffer_region_of", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", "lemma_FStar.Set.mem_subset", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", @@ -296,10 +282,10 @@ "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_28d8ba580c36159ffbbf3b44d5efb176", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aec39ec305a10defb4b74d242f75f39d", + "refinement_interpretation_Tm_refine_499b78dc161ca4bcb3213fb2d47fbcdc", + "refinement_interpretation_Tm_refine_f410e0e1dff3701b9619ce17686f5d9b", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Monotonic.HyperHeap.mod_set", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.live_region", @@ -312,7 +298,7 @@ "typing_LowStar.Regional.Instances.buffer_region_of" ], 0, - "58ec0aa4c172aa8c85fe38f703984eee" + "82fe6f04149b88a63e3d1bfffb6d73ee" ], [ "LowStar.Regional.Instances.buffer_copy", @@ -320,17 +306,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Regional.Instances.buffer_r_inv", "lemma_LowStar.Monotonic.Buffer.freeable_length", - "refinement_interpretation_Tm_refine_b5619251a2fa22322ca69af4768b6b2d", + "refinement_interpretation_Tm_refine_90fefada9c8a0aac876ae5f1fe790986", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "6ac15de7c90502329d923a53eb66a328" + "9d7ff5302c4c3791504ebb91ede871c6" ], [ "LowStar.Regional.Instances.buffer_copy", @@ -339,12 +324,10 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.disjoint", @@ -353,14 +336,12 @@ "equation_LowStar.Regional.Instances.buffer_r_repr", "equation_LowStar.Regional.Instances.buffer_region_of", "equation_LowStar.Regional.Instances.buffer_repr", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", @@ -379,11 +360,12 @@ "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_96744048f08b72cd05b815538063e28d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_90fefada9c8a0aac876ae5f1fe790986", "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b5619251a2fa22322ca69af4768b6b2d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_de15b7c22da634d84b6b135dd14a41d9", "refinement_interpretation_Tm_refine_f5b6b024e7223479b436f954f257e1fe", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp", "typing_FStar.Monotonic.HyperHeap.disjoint", "typing_FStar.Monotonic.HyperHeap.includes", "typing_FStar.Monotonic.HyperHeap.mod_set", @@ -399,7 +381,7 @@ "typing_LowStar.Regional.Instances.buffer_region_of" ], 0, - "84def300060559f1d28fcc49789819dc" + "a5a64e6d9e04e8ed5ebb4447613a9622" ], [ "LowStar.Regional.Instances.buffer_regional", @@ -407,23 +389,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_e550738ad028c4c938d9a48913da1fe9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "50d7b195357aedae225572695d63180f" + "6b34afa8cb178e9345368685e281f01d" ], [ "LowStar.Regional.Instances.buffer_copyable", @@ -431,9 +411,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Regional.Instances.buffer_regional", "function_token_typing_LowStar.Regional.Instances.buffer_r_inv", "function_token_typing_LowStar.Regional.Instances.buffer_r_repr", @@ -443,8 +421,8 @@ "projection_inverse_LowStar.Regional.Rgl_r_inv", "projection_inverse_LowStar.Regional.Rgl_r_repr", "projection_inverse_LowStar.Regional.Rgl_region_of", - "refinement_interpretation_Tm_refine_73f737e0932ef153ac3d8a46054f4ede", - "refinement_interpretation_Tm_refine_b5619251a2fa22322ca69af4768b6b2d", + "refinement_interpretation_Tm_refine_7e477cdc037291d561d1ed22126b3c35", + "refinement_interpretation_Tm_refine_90fefada9c8a0aac876ae5f1fe790986", "token_correspondence_LowStar.Regional.Instances.buffer_r_inv", "token_correspondence_LowStar.Regional.Instances.buffer_region_of", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_inv", @@ -452,7 +430,7 @@ "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of" ], 0, - "bb96104e6b6d44095247a58aa5b2a65e" + "a4e52139ec5fdb51ceb3b93ccce4fbdf" ], [ "LowStar.Regional.Instances.vector_r_inv_reg", @@ -476,7 +454,7 @@ "typing_LowStar.Vector.__proj__Vec__item__vs" ], 0, - "97843b63e144905cca1cae34e6818ecb" + "16f2bb895ce04b53e297a46ed0582f87" ], [ "LowStar.Regional.Instances.vector_r_repr", @@ -485,7 +463,7 @@ 1, [ "@query", "equation_LowStar.Regional.Instances.vector_r_inv" ], 0, - "3a81c6348c70b722516f7db122b4d3cc" + "61cb08c80b2e59f295ab3fd5d9ac68a1" ], [ "LowStar.Regional.Instances.vector_r_sep", @@ -495,10 +473,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "b9cb8128117ce0c2f26616fd5be175d1" + "1cc5e4b72e84661200f3e05e81816a39" ], [ "LowStar.Regional.Instances.vector_r_sep", @@ -528,7 +506,7 @@ "typing_LowStar.Regional.__proj__Rgl__item__repr" ], 0, - "19934418764cc126dc595efce4e62d12" + "b01b8e31e8adddd75f780cec6af9d518" ], [ "LowStar.Regional.Instances.vector_r_alloc_p", @@ -537,7 +515,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "413b883c7e91876ab0fbbb5765630668" + "33784cbef7b6cfe554425bd9327f72b9" ], [ "LowStar.Regional.Instances.vector_r_alloc", @@ -546,7 +524,7 @@ 1, [ "@query" ], 0, - "320cf5ce85dc9b20063d5a013ade6e00" + "3fe25933fc8857fa9c20df1f246ce850" ], [ "LowStar.Regional.Instances.vector_r_alloc", @@ -603,7 +581,8 @@ "equation_LowStar.Vector.forall_seq", "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.vector", + "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", "equation_with_fuel_Prims.pow2.fuel_instrumented", @@ -611,7 +590,7 @@ "fuel_guarded_inversion_LowStar.Vector.vector_str", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_typing", + "function_token_typing_Prims.int", "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -639,20 +618,21 @@ "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_Tm_refine_3041dc92687de0e8497d89e75da8073f", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_601254ebe274211073b2024a11d02039", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_57af044ea70495059490e654ff31e563", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", + "refinement_interpretation_Tm_refine_e1b6879e5eca3f87c9ade68b061f4939", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_Prims.pow2.fuel_instrumented", "typing_FStar.Map.contains", "typing_FStar.Map.domain", "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", @@ -660,7 +640,7 @@ "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Seq.Base.empty", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_FStar.UInt.fits", - "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", "typing_LowStar.Monotonic.Buffer.loc_none", "typing_LowStar.Regional.Instances.vector_repr", @@ -670,7 +650,7 @@ "typing_Prims.pow2" ], 0, - "0c27d240429706008629ac67927a99ed" + "8ffae51a93c8388b5281a91d132d5798" ], [ "LowStar.Regional.Instances.vector_r_free", @@ -679,7 +659,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.RVector.loc_rvector", "equation_LowStar.RVector.rvector", "equation_LowStar.Regional.Instances.vector_r_inv", @@ -687,11 +666,11 @@ "equation_LowStar.Vector.vector", "fuel_guarded_inversion_LowStar.Regional.regional", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "refinement_interpretation_Tm_refine_5309611d952b1d11eb1948d095a7a9bc", - "refinement_interpretation_Tm_refine_a86e47de9b974f1018039f43f20947f2" + "refinement_interpretation_Tm_refine_ac04d87e6216677cf07c37693f32b622", + "refinement_interpretation_Tm_refine_e07c1ced2a4edf558246b1d39a467b67" ], 0, - "b443b27b14c927ba5973ece7457842f4" + "1d1ff39cf242bb1ab3c6c61f54b4527e" ], [ "LowStar.Regional.Instances.vector_regional", @@ -700,7 +679,7 @@ 1, [ "@query" ], 0, - "24017ef10cf0778c38617bbedaf5871f" + "d57b99172a62e28eeec85e341644d685" ], [ "LowStar.Regional.Instances.buffer_r_inv", @@ -709,7 +688,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "47fcffd59d9935c6de10ac74eca6f37d" + "dec6189691ec7a1465b1daebead2bca4" ], [ "LowStar.Regional.Instances.buffer_r_inv", @@ -719,35 +698,28 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "308f6a4b110ac3fe6891bbce5c4879a4" + "01e14c3a1b20d304f9068add24873ef2" ], [ "LowStar.Regional.Instances.buffer_repr", 2, 2, 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], + [ "@query" ], 0, - "ce92b4021d971f0cc403d2fc6fe99710" + "32b8e696100e339b2f998a99ed3dc3a8" ], [ "LowStar.Regional.Instances.buffer_r_repr", @@ -764,7 +736,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "9bc9d4ad60bb500256fbbd966770146d" + "862cdc36c6c1009e370ba3c752e5d9b0" ], [ "LowStar.Regional.Instances.buffer_r_repr", @@ -774,12 +746,10 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_LowStar.Buffer.buffer", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Regional.Instances.buffer_r_inv", "equation_Prims.nat", "equation_Prims.pos", "int_typing", @@ -788,14 +758,13 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_f5b6b024e7223479b436f954f257e1fe", "typing_LowStar.Buffer.trivial_preorder", "typing_Prims.pow2" ], 0, - "98ec98b4addb1f36f7873cc5cb936929" + "1b6c79802bbab9f77657fd48df13d9de" ], [ "LowStar.Regional.Instances.buffer_r_sep", @@ -804,15 +773,16 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Regional.Instances.buffer_r_inv", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", "lemma_LowStar.Monotonic.Buffer.freeable_length", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "e7dc1d67f36dfaf0c550317a95cc6291" + "fe097374a96021ae694f2254cb605b9b" ], [ "LowStar.Regional.Instances.buffer_irepr", @@ -820,24 +790,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_e550738ad028c4c938d9a48913da1fe9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "086408dddf76ded6e10fb63d2277cb8f" + "44aff951733706d9b30ed7133ec05448" ], [ "LowStar.Regional.Instances.buffer_irepr", @@ -847,33 +815,25 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.gt", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", "int_typing", + "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_e550738ad028c4c938d9a48913da1fe9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_Prims.pow2" ], 0, - "1dfcf83319bcb222bc7f32d421e3aaf2" + "220c1f31deb8aa0d01522fe079917dcd" ], [ "LowStar.Regional.Instances.buffer_r_alloc", @@ -882,13 +842,14 @@ 1, [ "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Regional.Instances.buffer_r_inv", "lemma_LowStar.Monotonic.Buffer.freeable_length", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "1bcdc70d2dfe377b52be36470e97e94e" + "23671a4bfb211492efcbebce21a8441f" ], [ "LowStar.Regional.Instances.buffer_copy", @@ -896,17 +857,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Regional.Instances.buffer_r_inv", "lemma_LowStar.Monotonic.Buffer.freeable_length", - "refinement_interpretation_Tm_refine_b5619251a2fa22322ca69af4768b6b2d", + "refinement_interpretation_Tm_refine_90fefada9c8a0aac876ae5f1fe790986", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "232af093f17be9e3c82c93b817e940c3" + "ecf6cfbba5335c0d6c8336a06b93c6fb" ], [ "LowStar.Regional.Instances.buffer_regional", @@ -914,23 +874,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_e550738ad028c4c938d9a48913da1fe9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "5c0e876b76bc83095835f946c78d97c4" + "943716e0ac54563f139c1c2a4956a524" ], [ "LowStar.Regional.Instances.buffer_regional", @@ -940,21 +898,19 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "e6ebc63f4ac5cbb96888281d4b912ec5" + "1707174c06c5af2efb620b0411574557" ], [ "LowStar.Regional.Instances.buffer_copyable", @@ -962,9 +918,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", "equation_LowStar.Regional.Instances.buffer_regional", "function_token_typing_LowStar.Regional.Instances.buffer_r_inv", "function_token_typing_LowStar.Regional.Instances.buffer_r_repr", @@ -974,8 +928,8 @@ "projection_inverse_LowStar.Regional.Rgl_r_inv", "projection_inverse_LowStar.Regional.Rgl_r_repr", "projection_inverse_LowStar.Regional.Rgl_region_of", - "refinement_interpretation_Tm_refine_73f737e0932ef153ac3d8a46054f4ede", - "refinement_interpretation_Tm_refine_b5619251a2fa22322ca69af4768b6b2d", + "refinement_interpretation_Tm_refine_7e477cdc037291d561d1ed22126b3c35", + "refinement_interpretation_Tm_refine_90fefada9c8a0aac876ae5f1fe790986", "token_correspondence_LowStar.Regional.Instances.buffer_r_inv", "token_correspondence_LowStar.Regional.Instances.buffer_region_of", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_inv", @@ -983,7 +937,7 @@ "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of" ], 0, - "a13679fc0cc9d0d301e5a7c52d5f6ad6" + "1c0ab92bdff2f83c9556df542f4a92c8" ], [ "LowStar.Regional.Instances.buffer_copyable", @@ -993,21 +947,19 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "f10f6c59e58008ed7ba70b11ad8f1b63" + "b57bf0f36a0710503a128eeb5f344d44" ], [ "LowStar.Regional.Instances.vector_r_repr", @@ -1016,7 +968,7 @@ 1, [ "@query", "equation_LowStar.Regional.Instances.vector_r_inv" ], 0, - "f276023c8d0c865e45fe4d045a78ac99" + "6324981f03dc5d72ddccb1a0a5ac40ac" ], [ "LowStar.Regional.Instances.vector_r_sep", @@ -1026,10 +978,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "d7f36b630c4cda29d6255e520573e327" + "c8eb5dc72f26bc9831066ad258074370" ], [ "LowStar.Regional.Instances.vector_r_alloc_p", @@ -1038,7 +990,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "940cd4334840f65de8d6c27d6c6734e7" + "db7311278930445bcabea617877df9f9" ], [ "LowStar.Regional.Instances.vector_r_alloc", @@ -1047,7 +999,7 @@ 1, [ "@query" ], 0, - "e14eebe387c490023f4cdb2b2f3692bf" + "cdf823a0d493f59582579c6c2c4538ae" ], [ "LowStar.Regional.Instances.vector_regional", @@ -1056,7 +1008,7 @@ 1, [ "@query" ], 0, - "a7d4c78a229c21c375d461d3a0bfbb61" + "96b02819218ecb137d3c6dd871492fc5" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.Regional.fst.hints b/ulib/LowStar.Regional.fst.hints index 2fc51008799..e8a37b52b41 100644 --- a/ulib/LowStar.Regional.fst.hints +++ b/ulib/LowStar.Regional.fst.hints @@ -9,10 +9,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "2e1b3983f24dd1aabcd85d83f474aad8" + "7d324e4b8a98e23fa2d8c735f11d27c0" ], [ "LowStar.Regional.__proj__Rgl__item__r_inv_reg", @@ -29,7 +29,7 @@ "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of" ], 0, - "ce0732b06316cadc8d45e392c6b0b922" + "76df0a1b83d2ada8ae67de00b09f2f7f" ], [ "LowStar.Regional.__proj__Rgl__item__r_repr", @@ -44,7 +44,7 @@ "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_inv" ], 0, - "10eea82c79746cb6787d57e42e3af6f8" + "84864e518489e628e379764a2e6f59de" ], [ "LowStar.Regional.__proj__Rgl__item__r_sep", @@ -54,10 +54,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "81e27a743b90071dc5db3ae33c81f2a3" + "1402ffe78c40eb4fa425407c1f133dd2" ], [ "LowStar.Regional.__proj__Rgl__item__r_sep", @@ -65,9 +65,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.squash", + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "fuel_guarded_inversion_LowStar.Regional.regional", "l_and-interp", "proj_equation_LowStar.Regional.Rgl_r_inv", "proj_equation_LowStar.Regional.Rgl_r_repr", @@ -75,14 +73,13 @@ "projection_inverse_LowStar.Regional.Rgl_r_inv", "projection_inverse_LowStar.Regional.Rgl_r_repr", "projection_inverse_LowStar.Regional.Rgl_region_of", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_inv", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "unit_typing" + "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of" ], 0, - "9a276b8b0b4747b6d21bcc122edd718b" + "80d6fe0bd0d73fcb91e55f5e74552074" ], [ "LowStar.Regional.__proj__Rgl__item__irepr", @@ -94,7 +91,7 @@ "projection_inverse_LowStar.Regional.Rgl_repr" ], 0, - "36f6debcb39647cf0b2cb1f0273fc161" + "c97959e9fafea0e3dbfbae3a13fd98dc" ], [ "LowStar.Regional.__proj__Rgl__item__r_alloc", @@ -103,7 +100,7 @@ 1, [ "@query" ], 0, - "3bb640df97ef04e8eab283846f34668a" + "d39153c6d7002a354c91404e2ddcbee4" ], [ "LowStar.Regional.__proj__Rgl__item__r_alloc", @@ -132,7 +129,7 @@ "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of" ], 0, - "6687de0ef206d0ef8784afceeccceb67" + "7fae33825225ccebfdbc1b42aee20e9b" ], [ "LowStar.Regional.__proj__Rgl__item__r_free", @@ -141,18 +138,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "proj_equation_LowStar.Regional.Rgl_r_inv", "proj_equation_LowStar.Regional.Rgl_region_of", "projection_inverse_LowStar.Regional.Rgl_r_inv", "projection_inverse_LowStar.Regional.Rgl_region_of", - "refinement_interpretation_Tm_refine_5b3af83d5faa5674fc39d5f0a2849cdd", - "refinement_interpretation_Tm_refine_688f3ce3eddb221b7d941d6cb4a1c0e2", + "refinement_interpretation_Tm_refine_30f9faa032ebc0d2b9d35d337cd0135a", + "refinement_interpretation_Tm_refine_c58dfb65755d322171c8f4bd78b94bc3", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_inv", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of" ], 0, - "36673bfa8dfdccb86985eb5e1925f9c2" + "bd7929a20b9a56a17cb5061ef6e636a4" ], [ "LowStar.Regional.regional", @@ -162,10 +158,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "0e513c8f1bb622fe66bed1784c8f1da0" + "759b6953a44ccf5ce22345e672303375" ], [ "LowStar.Regional.__proj__Rgl__item__r_inv_reg", @@ -182,7 +178,7 @@ "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of" ], 0, - "6d21d16bdb3b6756d1c781b7b227f5c6" + "29bb951090a628d0e24a31cf7a9230f8" ], [ "LowStar.Regional.__proj__Rgl__item__r_repr", @@ -197,7 +193,7 @@ "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_inv" ], 0, - "0357af98db95226296e9f9c76c545962" + "9c36f19bafaf57b8d929c60b1816367b" ], [ "LowStar.Regional.__proj__Rgl__item__r_sep", @@ -207,10 +203,10 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "3453a27d5c6c0bb4a9b567c0813c50e4" + "53ddeb35b0487ccc5d63762486a74cb9" ], [ "LowStar.Regional.__proj__Rgl__item__r_sep", @@ -218,9 +214,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.squash", + "@MaxIFuel_assumption", "@query", "equation_Prims.squash", "fuel_guarded_inversion_LowStar.Regional.regional", "l_and-interp", "proj_equation_LowStar.Regional.Rgl_r_inv", "proj_equation_LowStar.Regional.Rgl_r_repr", @@ -228,14 +222,13 @@ "projection_inverse_LowStar.Regional.Rgl_r_inv", "projection_inverse_LowStar.Regional.Rgl_r_repr", "projection_inverse_LowStar.Regional.Rgl_region_of", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_inv", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "unit_typing" + "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of" ], 0, - "c8d1fef367698429189eb8cff46e6357" + "557cb70ffab1cb7aac4ba2edd1b9c578" ], [ "LowStar.Regional.__proj__Rgl__item__irepr", @@ -247,7 +240,7 @@ "projection_inverse_LowStar.Regional.Rgl_repr" ], 0, - "bb015999bc4ed913a82a7f20d72152ee" + "d71519ae75c86c36b83a5e03fb8bdb4f" ], [ "LowStar.Regional.__proj__Rgl__item__r_alloc", @@ -256,7 +249,7 @@ 1, [ "@query" ], 0, - "e423772a8a9a6d34ce13a42823e42eb2" + "94eac3e8655c0e54a5b0c2fba05a76bf" ], [ "LowStar.Regional.__proj__Rgl__item__r_alloc", @@ -285,7 +278,7 @@ "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of" ], 0, - "156878f247ba78dda2873e135df8205a" + "1fa0b7f5de8227f371b4d58bf37600f1" ], [ "LowStar.Regional.__proj__Rgl__item__r_free", @@ -294,18 +287,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", "proj_equation_LowStar.Regional.Rgl_r_inv", "proj_equation_LowStar.Regional.Rgl_region_of", "projection_inverse_LowStar.Regional.Rgl_r_inv", "projection_inverse_LowStar.Regional.Rgl_region_of", - "refinement_interpretation_Tm_refine_5b3af83d5faa5674fc39d5f0a2849cdd", - "refinement_interpretation_Tm_refine_688f3ce3eddb221b7d941d6cb4a1c0e2", + "refinement_interpretation_Tm_refine_30f9faa032ebc0d2b9d35d337cd0135a", + "refinement_interpretation_Tm_refine_c58dfb65755d322171c8f4bd78b94bc3", "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_inv", "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of" ], 0, - "b8b35f181b4e380efe33c3a8189f469b" + "b3abf65403f0ecc658e999214cfef6db" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.ToFStarBuffer.fst.hints b/ulib/LowStar.ToFStarBuffer.fst.hints index 1525a4d9f5f..42e0f4ce57c 100644 --- a/ulib/LowStar.ToFStarBuffer.fst.hints +++ b/ulib/LowStar.ToFStarBuffer.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "c8f95c5009135fa2b52826f6333b7b2c" + "dc9d95904da9330ed5a3a6eb57a06130" ], [ "LowStar.ToFStarBuffer.as_addr_old_to_new", @@ -17,7 +17,7 @@ 1, [ "@query" ], 0, - "eb79d118726c764933f53840d3ca32bf" + "00f540de3f6ab47de7e3c21ae9e10baa" ], [ "LowStar.ToFStarBuffer.gsub_new_to_old", @@ -27,19 +27,15 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.squash", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", "lemma_LowStar.ToFStarBuffer.length_new_to_old", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "7fa1c4e8aea30102a82e31fef9f3a614" + "8bec59928f51645af08b6c1a641e407f" ], [ "LowStar.ToFStarBuffer.gsub_old_to_new", @@ -48,20 +44,15 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.squash", + "equation_FStar.Buffer.buffer", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", "lemma_LowStar.ToFStarBuffer.length_old_to_new", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "9d9d885d8cab1495d40ea7b948eec8dc" + "f32c8d2d1351b97fc8602caafd8890a3" ], [ "LowStar.ToFStarBuffer.old_and_new_cl", @@ -73,7 +64,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_aloc" ], 0, - "446e12c7851dc25e32336218be2cf28f" + "c54e3a08b88ed2dd5f370aacfefbf3e0" ], [ "LowStar.ToFStarBuffer.new_to_union_loc", @@ -85,7 +76,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_cl" ], 0, - "bf43d546aad7a5dab599b362aee8d1f4" + "02934cb43b7a0b7357ffb1aef52bb254" ], [ "LowStar.ToFStarBuffer.old_to_new_modifies", @@ -112,7 +103,7 @@ "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "cd13f92d9e4489618290fdbc6105bf6f" + "83597d69835c6df816637b9a8662d614" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_none", @@ -127,7 +118,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "95fa4e00a4099a6e33c1fbea470fc9f7" + "06efcd319536d3717e58e28ed9f4fcd7" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_none", @@ -141,7 +132,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_cl_union" ], 0, - "9f423d1360b2a40e40fcb77943a7c9d0" + "dc603c5266038ff1f0702fe4bacfbd1d" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_union", @@ -157,7 +148,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "46e148d53327f819a3c8c79d99263080" + "f3c1c73c0a63e93f6553bead9f1aa3eb" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_union", @@ -172,7 +163,7 @@ "lemma_LowStar.Monotonic.Buffer.loc_union_comm" ], 0, - "90094d39620dd37467e5f9b2c07baaf3" + "b90d4610b9774121db35feab118033eb" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_addresses", @@ -182,11 +173,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "553a2397fd3a4709706b75c1d5e12459" + "ee91994ba0384d896a7e3eb8a5d1818e" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_addresses", @@ -201,7 +192,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "5a780d421d7a3599781d9b23a087a827" + "c490bd57e54c5226a30bcefdcb62b1b9" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_addresses", @@ -211,11 +202,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "a32f6a3e87d04ed43d34a44501325de2" + "ee920ee7b1ed33d6fb400239db2be54c" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_addresses", @@ -229,7 +220,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_cl_union" ], 0, - "2b64407d8a2e60560ab5bca7ab3dedb2" + "fe299c560cbfa7a045f43d38ffed6eea" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_regions", @@ -244,7 +235,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "df27651287a05c21abd9c00b6f889742" + "ec4dfc807edf9e40c855bc546c544b7a" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_regions", @@ -258,7 +249,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_cl_union" ], 0, - "3f0f100e1e5ba7a5d30501fcf76d2992" + "77f60c01e0e794bcea9459ec36ef2ea1" ], [ "LowStar.ToFStarBuffer.union_loc_to_new", @@ -270,7 +261,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_cl" ], 0, - "cb5bec44676950a73c0ab0f5fae72222" + "653a3e834a7f7f93c5f7c1b95035bb03" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_new_to_union_loc", @@ -284,7 +275,7 @@ "equation_LowStar.ToFStarBuffer.union_loc_to_new" ], 0, - "a50f66483f70f06e8ed987bb28a93be0" + "bd3006f09a15b11e3a7d6a8a93837710" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_none", @@ -298,7 +289,7 @@ "equation_LowStar.ToFStarBuffer.union_loc_to_new" ], 0, - "69b5fac6a87ca083122c5af3ba45969c" + "fef490bf367b5d7badc24c3e188c445a" ], [ "LowStar.ToFStarBuffer.coerce", @@ -310,7 +301,7 @@ "refinement_interpretation_Tm_refine_de9aeb070296eed20d879692d0254af0" ], 0, - "6d482bbb2fcdd96a447b071785435a17" + "c8405011cd60712c861d92c5f24602f2" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_union", @@ -329,7 +320,7 @@ "typing_LowStar.Monotonic.Buffer.cloc_cls" ], 0, - "6839d24f32aefc41c4c42e0785b20bfe" + "446122b3a8f555e095467b23aaf86283" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_addresses", @@ -339,11 +330,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "239b74bb909f45b5de4b0888c0c052ee" + "ce456449036d3da4e0b62d4613571c03" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_addresses", @@ -359,7 +350,7 @@ "typing_LowStar.Monotonic.Buffer.loc_addresses" ], 0, - "21e62680cb70529a6a5d3d8fdd1f5784" + "40329632b2d3a75ea07720215be7f326" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_regions", @@ -375,7 +366,7 @@ "typing_LowStar.Monotonic.Buffer.loc_regions" ], 0, - "0c217d1504dab193fe3479edf7bf0ef2" + "68b08dc59e774d4c38f1cd77b11fc3be" ], [ "LowStar.ToFStarBuffer.old_to_new_modifies'", @@ -384,7 +375,7 @@ 1, [ "@query" ], 0, - "c4797e456a22b363aa873d625d30a04f" + "ccf3f72ed2d3e15904e1d3f278a60f78" ], [ "LowStar.ToFStarBuffer.modifies_0_modifies", @@ -402,11 +393,11 @@ "function_token_typing_LowStar.ToFStarBuffer.union_loc_to_new_none", "lemma_FStar.Modifies.modifies_0_modifies", "lemma_LowStar.ToFStarBuffer.old_to_new_modifies_", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "typing_FStar.Modifies.loc_none" ], 0, - "6516e2ed183b678163d5e8c7dff9b451" + "e5bb06369a2e38197c97ef78d096b67c" ], [ "LowStar.ToFStarBuffer.modifies_1_modifies", @@ -427,7 +418,7 @@ "typing_LowStar.ToFStarBuffer.new_to_old_ghost" ], 0, - "1c3ff93c42fa747140a2738b422cdf9f" + "3d016a76b90bdd90b3c9ee0967973fd8" ], [ "LowStar.ToFStarBuffer.modifies_2_modifies", @@ -455,7 +446,7 @@ "typing_LowStar.ToFStarBuffer.union_loc_to_new" ], 0, - "af983ec996850481753fb0eb25d462eb" + "c456e72e8e9f2f1a08570e2334d2b51a" ], [ "LowStar.ToFStarBuffer.ex1", @@ -463,17 +454,14 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.get", + "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.get", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.disjoint", "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_typing", + "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Modifies.modifies_1_modifies", @@ -486,13 +474,14 @@ "lemma_LowStar.ToFStarBuffer.loc_buffer_new_to_old", "lemma_LowStar.ToFStarBuffer.old_to_new_modifies_", "lemma_LowStar.ToFStarBuffer.union_loc_to_new_new_to_union_loc", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_372a5baf6cb99d78b6a7f40ae9884b59", - "refinement_interpretation_Tm_refine_53533ac3f03375c764d827b3930b5346", - "refinement_interpretation_Tm_refine_763bcef54285989e3ed60e8c18f79188", + "refinement_interpretation_Tm_refine_27defd9de31e5ac40327f96397491749", + "refinement_interpretation_Tm_refine_32945051b57b910d71ce6a89c7f39dc9", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dc4119174f6bc7aff4bc23eee994711e", + "refinement_interpretation_Tm_refine_d54a740029700e14f723a8bfe4c30631", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e9490b1611a48b3a7aedda06afacf788", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Buffer.as_seq", "typing_FStar.Modifies.loc_buffer", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", @@ -500,7 +489,7 @@ "typing_LowStar.ToFStarBuffer.new_to_old_ghost" ], 0, - "327058c823abde9faadbc6e4fe752f4a" + "95e2b32899cc9d7d3418ac5c34c70e39" ], [ "LowStar.ToFStarBuffer.new_eqb", @@ -508,32 +497,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sub", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "eq2-interp", "equation_FStar.Buffer.buffer", + "equation_FStar.Buffer.equal", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n", - "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt32.n_minus_one", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.Buffer.eq_lemma1", "lemma_FStar.Buffer.lemma_size", + "int_inversion", "int_typing", "lemma_FStar.Buffer.eq_lemma1", "lemma_FStar.Buffer.lemma_sub_spec", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.UInt32.uv_inv", @@ -541,38 +515,35 @@ "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", + "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "lemma_LowStar.ToFStarBuffer.as_seq_new_to_old", "lemma_LowStar.ToFStarBuffer.gsub_new_to_old", - "lemma_LowStar.ToFStarBuffer.gsub_old_to_new", "lemma_LowStar.ToFStarBuffer.length_new_to_old", "lemma_LowStar.ToFStarBuffer.live_new_to_old", - "lemma_LowStar.ToFStarBuffer.new_to_old_to_new", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_04097b81c411150b964c93a5b81131fb", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_44c076191d6ac7e3d8fea18042da715f", + "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", "refinement_interpretation_Tm_refine_53533ac3f03375c764d827b3930b5346", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_8ba095f5457984257bc763075993de75", - "refinement_interpretation_Tm_refine_9bfa201ea86c38505bfbda4d2a64c994", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e0bf82f9d098e594d91ab8148cc01985", - "true_interp", "typing_FStar.Buffer.as_seq", - "typing_FStar.Buffer.sub", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a27aeb8b15667b06253441ae2fbcf4bf", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_efae536bd38903eb410561c878e65d3f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Monotonic.HyperStack.live_region", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.frameOf", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.ToFStarBuffer.old_to_new_ghost" + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "051e463366595af1e68297492580fe73" + "f6cb2489002e8286287b8e8111887897" ], [ "LowStar.ToFStarBuffer.new_blit", @@ -580,18 +551,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.buffer", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Modifies.modifies_1_modifies", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", @@ -609,10 +578,10 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_52dfbbd6989e51ae61452d37a92618ac", "refinement_interpretation_Tm_refine_53533ac3f03375c764d827b3930b5346", - "refinement_interpretation_Tm_refine_84236c489173a447473e4b8d0799c2df", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_72d3c6e71283179f002e1558013c4184", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fad898dee5ec469ef9ce4b1baf9ac7a2", "typing_FStar.Modifies.loc_buffer", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", @@ -621,7 +590,7 @@ "typing_LowStar.ToFStarBuffer.old_to_new_ghost" ], 0, - "6093046ff2b363bc174610f185dd56f8" + "950f2ad46171816fdcf0feece3d147e7" ], [ "LowStar.ToFStarBuffer.new_fill", @@ -629,9 +598,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Buffer.buffer", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -639,13 +607,11 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Modifies.modifies_1_modifies", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.ToFStarBuffer.as_seq_new_to_old", @@ -656,19 +622,20 @@ "lemma_LowStar.ToFStarBuffer.union_loc_to_new_new_to_union_loc", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_327df4effc808b83ac8f870cf50997dd", + "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", "refinement_interpretation_Tm_refine_53533ac3f03375c764d827b3930b5346", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_e0f4be5bd72b4187a1ad66a3d3f712e3", - "refinement_interpretation_Tm_refine_ea079b5cfc5f9fd9cb84f6c496313d99", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.Map.contains", "typing_FStar.Modifies.loc_buffer", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.loc_buffer" ], 0, - "a368d85eb81b8062bfaf2a3048c7a1f5" + "2f4c7483a9a2434c0f70aa636216b02e" ], [ "LowStar.ToFStarBuffer.ex1'", @@ -676,28 +643,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.get", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", + "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", + "equation_FStar.Heap.trivial_preorder", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.UInt32.n_minus_one", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.nat", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Buffer.lemma_disjoint_symm", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -709,21 +669,20 @@ "lemma_LowStar.ToFStarBuffer.length_old_to_new", "lemma_LowStar.ToFStarBuffer.live_old_to_new", "lemma_LowStar.ToFStarBuffer.modifies_modifies_1", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Subtraction", + "primitive_Prims.op_AmpAmp", "proj_equation_FStar.Buffer.MkBuffer_length", + "proj_equation_FStar.Buffer.MkBuffer_max_length", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_811063936efbc06568ec405d75452cb9", - "refinement_interpretation_Tm_refine_981a568e761b5254bed45be90769ab47", - "refinement_interpretation_Tm_refine_9b4ffb5e2ecef880d81c99614123c82b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_806e97634f061315cbafeba2c78a8c62", + "refinement_interpretation_Tm_refine_a224e822db3e1a633a2f97a2a579f927", "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e38c4993e4a134997923282b6902ee52", - "refinement_interpretation_Tm_refine_e524f2a490314ad581b10efe414031e4", + "refinement_interpretation_Tm_refine_be498cb6724fb39d1acee35c58411784", + "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_efb7e24daad2cc65a3f9f98a5d273eb9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp", "typing_FStar.Buffer.__proj__MkBuffer__item__length", "typing_FStar.Buffer.as_seq", "typing_FStar.Modifies.loc_buffer", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", @@ -731,7 +690,7 @@ "typing_LowStar.ToFStarBuffer.old_to_new_ghost" ], 0, - "0e4e9479893a9400a6c5db4454d9d8de" + "b99ccf63ce30e46048e78e82c72f29a7" ], [ "LowStar.ToFStarBuffer.ex1''", @@ -740,10 +699,9 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.disjoint", "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.nat", "lemma_FStar.Modifies.modifies_1_modifies", "lemma_LowStar.ToFStarBuffer.as_seq_new_to_old", "lemma_LowStar.ToFStarBuffer.length_new_to_old", @@ -752,15 +710,17 @@ "lemma_LowStar.ToFStarBuffer.loc_disjoint_new_disjoint_old", "lemma_LowStar.ToFStarBuffer.new_to_old_disjoint", "lemma_LowStar.ToFStarBuffer.new_to_old_to_new", + "refinement_interpretation_Tm_refine_27defd9de31e5ac40327f96397491749", + "refinement_interpretation_Tm_refine_32945051b57b910d71ce6a89c7f39dc9", "refinement_interpretation_Tm_refine_53533ac3f03375c764d827b3930b5346", - "refinement_interpretation_Tm_refine_763bcef54285989e3ed60e8c18f79188", - "refinement_interpretation_Tm_refine_ce4f9933cc96444b94624bc53b4b81ba", - "refinement_interpretation_Tm_refine_e38c4993e4a134997923282b6902ee52", + "refinement_interpretation_Tm_refine_d40b9a9d5f60e2b69789821880480450", + "refinement_interpretation_Tm_refine_efb7e24daad2cc65a3f9f98a5d273eb9", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LowStar.ToFStarBuffer.new_to_old_ghost", "typing_LowStar.ToFStarBuffer.old_to_new_ghost" ], 0, - "96d8ba1d20d50a0e87aead4a019e60bf" + "803ac1c7becb2c0b3c5f9c6f2ba8a206" ], [ "LowStar.ToFStarBuffer.as_addr_new_to_old", @@ -769,7 +729,7 @@ 1, [ "@query" ], 0, - "0fd98bdf1980da92c126ece9be92aced" + "2eb645cbc7f6711a342444a844092043" ], [ "LowStar.ToFStarBuffer.as_addr_old_to_new", @@ -778,7 +738,7 @@ 1, [ "@query" ], 0, - "818d57f2fd2ab702e1871d8f746d413b" + "2bbffcdd8d3293a59614e7b7310b8d04" ], [ "LowStar.ToFStarBuffer.gsub_new_to_old", @@ -788,19 +748,15 @@ [ "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Buffer.buffer", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.squash", + "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", "lemma_LowStar.ToFStarBuffer.length_new_to_old", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "21b10ad19fdb46f80acb0130b1583929" + "ad88e6694813049eea5e56074286b497" ], [ "LowStar.ToFStarBuffer.gsub_old_to_new", @@ -809,20 +765,15 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.squash", + "equation_FStar.Buffer.buffer", "equation_Prims.squash", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", "lemma_LowStar.ToFStarBuffer.length_old_to_new", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp" + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" ], 0, - "21e24fe50d647d32b4c01ee6676aa268" + "9f05fe6c0205ec58b4e580c76c827424" ], [ "LowStar.ToFStarBuffer.old_and_new_cl", @@ -834,7 +785,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_aloc" ], 0, - "5645956e41a12e1d0c7c5a3d32805fe7" + "66fdb62797ec77f32f52c429b38cd2a0" ], [ "LowStar.ToFStarBuffer.new_to_union_loc", @@ -846,7 +797,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_cl" ], 0, - "26f94268bb3cf0153a556391f46d9259" + "b70c3d0f764347dbbad8c92a8ff593ec" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_none", @@ -861,7 +812,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "e9ad94ac3d7598b703c71ef942b2d0d0" + "c8bbd43b7e1e382c205a2a4286feb3fa" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_none", @@ -875,7 +826,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_cl_union" ], 0, - "c22ec126a2def9d8a3937fe15bb03185" + "481718e683a3f60d789d6aa3acb626a8" ], [ "LowStar.ToFStarBuffer.old_to_union_loc_addresses", @@ -885,11 +836,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "224a88596cbee3fbdc749b0fd9c928a9" + "034bf279fe64d32e157ebdca6ad2995b" ], [ "LowStar.ToFStarBuffer.new_to_union_loc_addresses", @@ -899,11 +850,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "70591eaddf5e42d44a9da2346904b6a0" + "85117dca98610a06d36f4ebac6601470" ], [ "LowStar.ToFStarBuffer.union_loc_to_new", @@ -915,7 +866,7 @@ "equation_LowStar.ToFStarBuffer.old_and_new_cl" ], 0, - "2a9e0dec3bcb88bf1614e25f031d7c7f" + "75f9cc722234e47b53586e6effad7b2a" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_none", @@ -929,7 +880,7 @@ "equation_LowStar.ToFStarBuffer.union_loc_to_new" ], 0, - "674a7154faaeb0446f70828ec7723c5a" + "7051c16de923481697e2a8c43b2798f3" ], [ "LowStar.ToFStarBuffer.coerce", @@ -941,7 +892,7 @@ "refinement_interpretation_Tm_refine_de9aeb070296eed20d879692d0254af0" ], 0, - "b88f790c97ad1f1f2ce6e8d6703f05b9" + "b59a63a0feef11526113a9f634e49285" ], [ "LowStar.ToFStarBuffer.union_loc_to_new_addresses", @@ -951,11 +902,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "0f2f7fabf8f7edf696eb731abe9ed6f9" + "8fe5ad973e1c0e7f775645e0813d7834" ], [ "LowStar.ToFStarBuffer.ex1", @@ -964,12 +915,12 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "function_token_typing_Prims.nat", "lemma_LowStar.ToFStarBuffer.length_new_to_old", - "refinement_interpretation_Tm_refine_763bcef54285989e3ed60e8c18f79188" + "refinement_interpretation_Tm_refine_32945051b57b910d71ce6a89c7f39dc9", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "9f11978b8df95684f0aff7c6e0456b57" + "90802070d4f1a04e375491c55c9242bd" ], [ "LowStar.ToFStarBuffer.new_eqb", @@ -977,23 +928,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.l_True", - "equation_Prims.logical", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_e0bf82f9d098e594d91ab8148cc01985", - "true_interp", "typing_FStar.UInt32.v" + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", + "int_inversion", "primitive_Prims.op_Addition", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_efae536bd38903eb410561c878e65d3f", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.v" ], 0, - "39be1abce794b138f2ac78e458c3f5f4" + "483a3544cad6a218f8a3f345cb6725fa" ], [ "LowStar.ToFStarBuffer.new_blit", @@ -1001,30 +944,28 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperStack.live_region", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_52dfbbd6989e51ae61452d37a92618ac", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fad898dee5ec469ef9ce4b1baf9ac7a2", "typing_FStar.Monotonic.HyperStack.live_region", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.frameOf" ], 0, - "515512b6196d6382c7a9a3ad91043b87" + "81fdeff09e70486964e945da52ea1ccd" ], [ "LowStar.ToFStarBuffer.new_fill", @@ -1032,34 +973,31 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ea079b5cfc5f9fd9cb84f6c496313d99", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_327df4effc808b83ac8f870cf50997dd", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder" ], 0, - "4c88d4b04e41c222c1a2f7f700890741" + "3b1c130ef3c8e33ef803d4f48bd27deb" ], [ "LowStar.ToFStarBuffer.ex1'", @@ -1068,12 +1006,12 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "function_token_typing_Prims.nat", "lemma_LowStar.ToFStarBuffer.length_old_to_new", - "refinement_interpretation_Tm_refine_e524f2a490314ad581b10efe414031e4" + "refinement_interpretation_Tm_refine_be498cb6724fb39d1acee35c58411784", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "188ca94881eb59e98bfe9dc6aa0f1e6b" + "f242518550b7b72b2122f53a52de82c8" ], [ "LowStar.ToFStarBuffer.ex1''", @@ -1082,12 +1020,12 @@ 1, [ "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "function_token_typing_Prims.nat", "lemma_LowStar.ToFStarBuffer.length_new_to_old", - "refinement_interpretation_Tm_refine_763bcef54285989e3ed60e8c18f79188" + "refinement_interpretation_Tm_refine_32945051b57b910d71ce6a89c7f39dc9", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "65db634b8df330335438d5c35f7da950" + "4fa1e4d3ff979ae29393fcc96f3c6fbd" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.UninitializedBuffer.fst.hints b/ulib/LowStar.UninitializedBuffer.fst.hints index d7baf33a72e..d5bdd1d3f8b 100644 --- a/ulib/LowStar.UninitializedBuffer.fst.hints +++ b/ulib/LowStar.UninitializedBuffer.fst.hints @@ -7,15 +7,18 @@ 2, 1, [ - "@query", "eq2-interp", "equation_FStar.Preorder.preorder_rel", + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", + "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Prims.l_Forall", - "equation_Prims.logical", "equation_Prims.nat", - "interpretation_Tm_abs_f5137c9d7c94cdaff3469a7478eefd56", - "l_and-interp", "l_quant_interp_8f07f3700f15489a5d81bdf855ef7533" + "equation_Prims.nat", "int_inversion", + "interpretation_Tm_abs_c2139f534beb754b1ae31e02bb10d469", + "l_and-interp", "l_quant_interp_f3468aa1b0415185ef07b3472179f041", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "ac9fdbf66e699a8c6f5f9817242b938f" + "f7a4db7c1e087a0df530897de27cfc09" ], [ "LowStar.UninitializedBuffer.uindex", @@ -23,31 +26,29 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.UninitializedBuffer.initialization_preorder", "equation_LowStar.UninitializedBuffer.initialized_at", "equation_LowStar.UninitializedBuffer.ipred", "equation_LowStar.UninitializedBuffer.ubuffer", "function_token_typing_LowStar.UninitializedBuffer.ipred", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_5e2352c5ebfd546c3639d4b648baeec1", + "interpretation_Tm_abs_acc3412a3452d485eb4614ec5a4b3a4d", "kinding_FStar.Pervasives.Native.option@tok", "l_imp-interp", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_85223ecfbcb31fdf746c856bc55b21d9", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_54b31d3d0fc4c5aca600d11bf6e6bbb9", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "058a13e0efc2ccb4d44bf47b72983bc0" + "13ebb3ad8b5f9b08fab2beb99aa89544" ], [ "LowStar.UninitializedBuffer.uupd", @@ -55,29 +56,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "constructor_distinct_FStar.Pervasives.Native.Some", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.UninitializedBuffer.initialization_preorder", "equation_LowStar.UninitializedBuffer.initialized_at", "equation_LowStar.UninitializedBuffer.ipred", - "equation_LowStar.UninitializedBuffer.ubuffer", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.eq2", + "equation_Prims.nat", "function_token_typing_LowStar.UninitializedBuffer.initialization_preorder", "function_token_typing_LowStar.UninitializedBuffer.ipred", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_5e2352c5ebfd546c3639d4b648baeec1", - "interpretation_Tm_abs_f5137c9d7c94cdaff3469a7478eefd56", + "interpretation_Tm_abs_acc3412a3452d485eb4614ec5a4b3a4d", + "interpretation_Tm_abs_c2139f534beb754b1ae31e02bb10d469", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", - "l_imp-interp", "l_quant_interp_8f07f3700f15489a5d81bdf855ef7533", + "l_imp-interp", "l_quant_interp_f3468aa1b0415185ef07b3472179f041", "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", @@ -91,18 +88,19 @@ "projection_inverse_FStar.Pervasives.Native.Some_a", "projection_inverse_FStar.Pervasives.Native.Some_v", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_98ee5bca492854a87efa3fdf97082c41", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_efd10a39d41e4ae29ca8fcabfecff808", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_b45c5cd26302c6d37ad7cb7dbe5023ae", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_e85c1fb9e4eda3f524cc784ddda13794", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Pervasives.Native.uu___is_None", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "e1c7d3d4d3b32423904fc38ace1e3d7d" + "e8df3db40aa13f77509d3992cfe3979f" ], [ "LowStar.UninitializedBuffer.ugcmalloc", @@ -118,7 +116,7 @@ "refinement_interpretation_Tm_refine_68d4074054df2bfcbaf4824f0cb08ff4" ], 0, - "12856f66763638319106c985e8365096" + "0b431ff9ae24804883987f5af6fff7d3" ], [ "LowStar.UninitializedBuffer.ugcmalloc_partial", @@ -134,7 +132,7 @@ "refinement_interpretation_Tm_refine_68d4074054df2bfcbaf4824f0cb08ff4" ], 0, - "545a0683ad95f898a914a629e85cf23d" + "1240dbbe4e51b006cf9dd10abdff90d4" ], [ "LowStar.UninitializedBuffer.umalloc", @@ -150,7 +148,7 @@ "refinement_interpretation_Tm_refine_b6129a21328b31957f0ba2028bb02881" ], 0, - "6ed2f8d5ea3d6877353a09382c973a54" + "8d6323e097cec7da6b678a6110018d85" ], [ "LowStar.UninitializedBuffer.umalloc_partial", @@ -166,7 +164,7 @@ "refinement_interpretation_Tm_refine_b6129a21328b31957f0ba2028bb02881" ], 0, - "1dfea5b8895d9db382ed73407288f7c5" + "5d2effbcb90c869001cea4351ab49bd1" ], [ "LowStar.UninitializedBuffer.ualloca", @@ -184,7 +182,7 @@ "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" ], 0, - "a6a08031a1e4768b47d3094e9ecf41ad" + "6f3d1bb478af6b945e5ef0ca7a78bc73" ], [ "LowStar.UninitializedBuffer.ublit_post_j", @@ -192,20 +190,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.UninitializedBuffer.initialization_preorder", "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.Pervasives.Native.option@tok", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -213,17 +209,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6eed8fe1d6aaea2a400f085561998804", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2f3c6d2617a795364fae461f40d5c5d8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "4ee033ddd23e1fb8c23ec4b45f6623f4" + "80ea6af5f62aa5d4d96c41dcde3a8c7c" ], [ "LowStar.UninitializedBuffer.ublit", @@ -232,8 +228,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "data_typing_intro_FStar.Pervasives.Native.Some@tok", "equation_FStar.HyperStack.ST.equal_domains", @@ -246,15 +240,15 @@ "equation_FStar.UInt32.lt", "equation_LowStar.Monotonic.Buffer.disjoint", "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.UninitializedBuffer.initialization_preorder", "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.option@tok", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", "lemma_FStar.Seq.Base.lemma_index_upd1", "lemma_FStar.Seq.Base.lemma_index_upd2", + "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_upd", "lemma_FStar.Set.lemma_equal_refl", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -268,21 +262,23 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_6eed8fe1d6aaea2a400f085561998804", - "refinement_interpretation_Tm_refine_91971967136e03820d614d68c54f118a", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a18ecb82040c978301074c06b1c779a5", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2f3c6d2617a795364fae461f40d5c5d8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_6ab2d80899134746648ce5f013f7a6c1", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8d57212161eabe2138e2897c8caa46a9", "refinement_interpretation_Tm_refine_a73cdd2bffa7eb510b9150d828f96cc6", - "refinement_interpretation_Tm_refine_b09996fec1b8e0f729e41438f7ead36a", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_cd02a8680910edb2a47270d917f8b5cf", - "refinement_interpretation_Tm_refine_cfb754147a155e7512f067844c74c8f3", + "refinement_interpretation_Tm_refine_b1973139d76b020839e97799bf558c44", + "refinement_interpretation_Tm_refine_c95a6a5456b5a8fe2fd9918c6f445403", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_f5707263d7e389e26570fe20514415a2", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", @@ -291,7 +287,7 @@ "unit_inversion", "unit_typing" ], 0, - "bbbc392e9d7a2528c2914fa7d5e92554" + "bb4002d6e05f92b2c2fc8386da0677ca" ], [ "LowStar.UninitializedBuffer.witness_initialized", @@ -299,37 +295,33 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.UninitializedBuffer.initialization_preorder", "equation_LowStar.UninitializedBuffer.initialized_at", "equation_LowStar.UninitializedBuffer.ipred", - "equation_LowStar.UninitializedBuffer.ubuffer", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.nat", "function_token_typing_LowStar.UninitializedBuffer.initialization_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_5e2352c5ebfd546c3639d4b648baeec1", - "interpretation_Tm_abs_f5137c9d7c94cdaff3469a7478eefd56", + "interpretation_Tm_abs_acc3412a3452d485eb4614ec5a4b3a4d", + "interpretation_Tm_abs_c2139f534beb754b1ae31e02bb10d469", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", - "l_imp-interp", "l_quant_interp_8f07f3700f15489a5d81bdf855ef7533", + "l_imp-interp", "l_quant_interp_f3468aa1b0415185ef07b3472179f041", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ef4227f53606829f5d631eed9c15388", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_0c44c012346d749b7b823e9f26891f27", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "token_correspondence_LowStar.UninitializedBuffer.ipred", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "f5d97e263091c4617db53baff7b41e03" + "44e361c70dd703746e739ac808ae1eac" ], [ "LowStar.UninitializedBuffer.recall_initialized", @@ -338,22 +330,22 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "equation_LowStar.UninitializedBuffer.initialization_preorder", "equation_LowStar.UninitializedBuffer.initialized_at", "equation_LowStar.UninitializedBuffer.ipred", "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.nat", "function_token_typing_LowStar.UninitializedBuffer.ipred", "int_inversion", - "interpretation_Tm_abs_5e2352c5ebfd546c3639d4b648baeec1", + "interpretation_Tm_abs_acc3412a3452d485eb4614ec5a4b3a4d", "kinding_FStar.Pervasives.Native.option@tok", "l_imp-interp", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3de7eea10f8e37c92fcd1aea1e99198c", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_050e7a650b9868d69143190087b06649", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "045f900b87e5b2022cf9724952d352bc" + "d84d6f8d956e70169ae9789a1d273549" ], [ "LowStar.UninitializedBuffer.initialization_preorder", @@ -361,15 +353,18 @@ 2, 1, [ - "@query", "eq2-interp", "equation_FStar.Preorder.preorder_rel", + "@MaxIFuel_assumption", "@query", + "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", + "equation_FStar.Preorder.preorder_rel", "equation_FStar.Preorder.reflexive", "equation_FStar.Preorder.transitive", "equation_Prims.l_Forall", - "equation_Prims.logical", "equation_Prims.nat", - "interpretation_Tm_abs_f5137c9d7c94cdaff3469a7478eefd56", - "l_and-interp", "l_quant_interp_8f07f3700f15489a5d81bdf855ef7533" + "equation_Prims.nat", "int_inversion", + "interpretation_Tm_abs_c2139f534beb754b1ae31e02bb10d469", + "l_and-interp", "l_quant_interp_f3468aa1b0415185ef07b3472179f041", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "edf9fe40458afac04ea5622421dea569" + "de720e531bf40fffab3f37109047f3d9" ], [ "LowStar.UninitializedBuffer.gsub_inj", @@ -378,27 +373,16 @@ 1, [ "@query" ], 0, - "d8d75367155cf97723970adffacb46de" + "f152cae8c3dede35f4736ec5a92cffae" ], [ "LowStar.UninitializedBuffer.usub", 1, 2, 1, - [ "@query" ], - 0, - "c81ebaf6b2cfa21f6b081a3bd6d29c56" - ], - [ - "LowStar.UninitializedBuffer.usub", - 2, - 2, - 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "eq2-interp", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", @@ -406,51 +390,39 @@ "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.UninitializedBuffer.initialization_preorder", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_LowStar.UninitializedBuffer.initialization_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_f5137c9d7c94cdaff3469a7478eefd56", + "interpretation_Tm_abs_c2139f534beb754b1ae31e02bb10d469", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_39d218f874370dbd95af12e77bdc6c26", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b612ee674c47165ef8c3a00ab676a2f0", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_194eb86f9791c348abb479023b7d73ca", + "refinement_interpretation_Tm_refine_7b134c6c14978afdf4f2196a08a186aa", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" ], 0, - "234ca64d9487bb4510e5e8689a7b473f" + "ae3950e2197468b9e8c61c2a80909eac" ], [ "LowStar.UninitializedBuffer.uoffset", 1, 2, 1, - [ "@query" ], - 0, - "3dd6b7552f8aa50b3ce4ae323df8a9c0" - ], - [ - "LowStar.UninitializedBuffer.uoffset", - 2, - 2, - 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "eq2-interp", - "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "eq2-interp", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", @@ -459,13 +431,11 @@ "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.UninitializedBuffer.initialization_preorder", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", "function_token_typing_LowStar.UninitializedBuffer.initialization_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", - "interpretation_Tm_abs_f5137c9d7c94cdaff3469a7478eefd56", + "interpretation_Tm_abs_982bac2b716ae73a5207be4e5e17b3c3", "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_len_slice", @@ -474,19 +444,19 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b612ee674c47165ef8c3a00ab676a2f0", - "refinement_interpretation_Tm_refine_fe618a37959e601c6d3afa286fa0a682", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_194eb86f9791c348abb479023b7d73ca", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_ceb3395c9e4a15cece9dddff1c892821", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "839317b648ba3e3f23b3e78c8fce1a0f" + "ca8f3ad1169ca7a363eee550baca4de4" ], [ "LowStar.UninitializedBuffer.uindex", @@ -495,19 +465,19 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_LowStar.UninitializedBuffer.initialization_preorder", "equation_LowStar.UninitializedBuffer.ubuffer", "kinding_FStar.Pervasives.Native.option@tok", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_85223ecfbcb31fdf746c856bc55b21d9", + "refinement_interpretation_Tm_refine_54b31d3d0fc4c5aca600d11bf6e6bbb9", "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "99566912d99b4f6d65f179bc66dc94b3" + "18684bcd9008b77056ed28540e667158" ], [ "LowStar.UninitializedBuffer.uupd", @@ -515,24 +485,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.UninitializedBuffer.ubuffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.Pervasives.Native.option@tok", + "equation_LowStar.UninitializedBuffer.initialization_preorder", + "equation_LowStar.UninitializedBuffer.ubuffer", "int_inversion", + "kinding_FStar.Pervasives.Native.option@tok", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_efd10a39d41e4ae29ca8fcabfecff808", + "refinement_interpretation_Tm_refine_b45c5cd26302c6d37ad7cb7dbe5023ae", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "8af9d2b50f17c280758e63cd732e9d03" + "3e1d1f1c4c94ba6f0ba16f6617993838" ], [ "LowStar.UninitializedBuffer.ugcmalloc", @@ -546,7 +514,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "01e0d7b9fed10f3b07d35dc2c3203c2f" + "6840f14d1adf5b8bf4c08da679d9f6a6" ], [ "LowStar.UninitializedBuffer.ugcmalloc_partial", @@ -560,7 +528,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "4b6dc8df36c2adf9d3640f1e8a2c7b8c" + "ed3da905bb54130d55c2a09cbefc563c" ], [ "LowStar.UninitializedBuffer.umalloc", @@ -574,7 +542,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "ca4a755ea838ed0d473238ab7832fdb7" + "3763043585ba37b1603ca73054a95ac5" ], [ "LowStar.UninitializedBuffer.umalloc_partial", @@ -588,7 +556,7 @@ "projection_inverse_BoxBool_proj_0" ], 0, - "c96abaa85b93baab0dbb80b6d2ce191b" + "603f83add0886f5e7400e2383d2633c7" ], [ "LowStar.UninitializedBuffer.ualloca", @@ -596,17 +564,15 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" ], 0, - "187137bca072a6e656d47bfa423f3e8d" + "43aca8a6f71132118eb29cae2e1b7294" ], [ "LowStar.UninitializedBuffer.ublit_post_j", @@ -614,20 +580,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.UninitializedBuffer.initialization_preorder", "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.Pervasives.Native.option@tok", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "kinding_FStar.Pervasives.Native.option@tok", "lemma_FStar.Map.lemma_ContainsDom", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", @@ -635,17 +599,17 @@ "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6eed8fe1d6aaea2a400f085561998804", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_2f3c6d2617a795364fae461f40d5c5d8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "fdd083d0300f0fad3427088767db9fcd" + "16fa6da882209f89300bead799921cdf" ], [ "LowStar.UninitializedBuffer.witness_initialized", @@ -653,13 +617,15 @@ 2, 1, [ - "@query", "equation_LowStar.UninitializedBuffer.ubuffer", + "@query", + "equation_LowStar.UninitializedBuffer.initialization_preorder", + "equation_LowStar.UninitializedBuffer.ubuffer", "kinding_FStar.Pervasives.Native.option@tok", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "80a1697af60fceaa9f815de96d7e609b" + "5f7e485a514ece133e2dbf15249252cf" ], [ "LowStar.UninitializedBuffer.recall_initialized", @@ -673,7 +639,7 @@ "typing_LowStar.UninitializedBuffer.initialization_preorder" ], 0, - "de74dc4fb9126383bd44c953ffac97eb" + "7d17cb4f2a6404f3590c202a4c6e6673" ] ] ] \ No newline at end of file diff --git a/ulib/LowStar.Vector.fst.hints b/ulib/LowStar.Vector.fst.hints index d98b48ce0ec..c781be676f6 100644 --- a/ulib/LowStar.Vector.fst.hints +++ b/ulib/LowStar.Vector.fst.hints @@ -8,7 +8,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "69b8ae379d8b38031e9db94c9d3d2ca8" + "41dcac22aef7dbd8c344e308bd0422cd" ], [ "LowStar.Vector.__proj__Vec__item__cap", @@ -20,7 +20,7 @@ "projection_inverse_LowStar.Vector.Vec_sz" ], 0, - "dd30ea8fb09a846d9ce7280c9b448db0" + "41a353498558b5747be9f71461e8f0d9" ], [ "LowStar.Vector.__proj__Vec__item__vs", @@ -29,7 +29,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "bd7a5345b0835aff75f96b84a36cd148" + "24a6f7c99f90be69fb6edc468e62fa79" ], [ "LowStar.Vector.__proj__Vec__item__vs", @@ -42,7 +42,7 @@ "projection_inverse_LowStar.Vector.Vec_cap" ], 0, - "99a3f108ebb5717108fc73e62e4f454c" + "963020427b863291ca14ca0bf3c86212" ], [ "LowStar.Vector.as_seq", @@ -51,7 +51,7 @@ 1, [ "@query" ], 0, - "71d25f2c119a8c536cd2b33232d4fec5" + "a39307a935af6e3303cfb2d21c37200f" ], [ "LowStar.Vector.as_seq", @@ -59,32 +59,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.gte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", + "equation_FStar.UInt32.gte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -97,25 +81,21 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Vector.__proj__Vec__item__sz", "typing_LowStar.Vector.__proj__Vec__item__vs" ], 0, - "d274e6238e81c1e0b001fba621a1b5e6" + "da198dd06c6c320bea1e439eb7c44a78" ], [ "LowStar.Vector.is_empty", @@ -124,7 +104,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "6d1baf14fb48af4ad5815f2e6e975d70" + "63c954dddc40e588ce6dc90d306c3b06" ], [ "LowStar.Vector.loc_vector_within", @@ -132,24 +112,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "2f184955ec18dbede59d118c5a68e225" + "02b0e1fdba6d877c6b9579bdd7b563f0" ], [ "LowStar.Vector.loc_vector_within", @@ -157,26 +135,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_be0eff595196263d649132953c89c172", + "refinement_interpretation_Tm_refine_a73b8b4c2759f714c604a212ee91af19", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "24b7573db69890e0cb8e1810c87dfd5e" + "34cbcae8aa404aca879e21ce4c235305" ], [ "LowStar.Vector.loc_vector_within", @@ -184,13 +159,10 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxIFuel_assumption", "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_72001fd5b711919130653334123336a5_3", + "binder_x_ce338f99fa3d0a6adbab544999aac80b_2", + "binder_x_ddb3b1c87a765f659fed7157a3764f1d_3", "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", @@ -202,21 +174,13 @@ "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", @@ -227,26 +191,25 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_387282847e9e22410566d110eb85fa35", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9e26371a4f4019a670d1a91da8101783", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_a197041b9cd77aa3cbe9d7434773f6f0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Vector.__proj__Vec__item__vs", "well-founded-ordering-on-nat" ], 0, - "5afaec0f222e663e319a1007006be07c" + "49c3644d862f457811d1a03e16d504c9" ], [ "LowStar.Vector.loc_vector_within_includes_", @@ -254,27 +217,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f52fb55bed3741790d43d7617a29ea1d", + "refinement_interpretation_Tm_refine_a4568ee14054c8649500205cd21743f3", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "fbcf67383011ca87510845dc476c2cc2" + "2d26509fc97e148400cc4d3911ff2f65" ], [ "LowStar.Vector.loc_vector_within_includes_", @@ -282,28 +241,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_97398374111be399bf473df2babde70b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f52fb55bed3741790d43d7617a29ea1d", + "refinement_interpretation_Tm_refine_a4568ee14054c8649500205cd21743f3", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_cb0ac5659f39ea6799e64934aea8ea9d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "d239d6f13a2f601fe9cf4ba00d6ad3a8" + "d8026d6ed15aa5c96bb8778855ba5693" ], [ "LowStar.Vector.loc_vector_within_includes_", @@ -313,14 +268,11 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_72001fd5b711919130653334123336a5_3", - "binder_x_abf7f4c7f4bee42667a7b975247bddc6_4", + "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", + "binder_x_82167c2ed99bf99270994886f746f661_4", + "binder_x_ce338f99fa3d0a6adbab544999aac80b_2", + "binder_x_ddb3b1c87a765f659fed7157a3764f1d_3", "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", @@ -332,27 +284,18 @@ "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", "lemma_LowStar.Monotonic.Buffer.loc_includes_none", "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", @@ -363,25 +306,26 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_387282847e9e22410566d110eb85fa35", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a06a668e68f018e66aae748a25bb715e", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9e26371a4f4019a670d1a91da8101783", + "refinement_interpretation_Tm_refine_a197041b9cd77aa3cbe9d7434773f6f0", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_c53adbe2794fa41d47cc6344213fca62", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Vector.loc_vector_within", "typing_LowStar.Vector.size_of", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "bc67fa93b8d5d022c90a351d1d5fc54b" + "a01ee26f4bb183c9f948984dbc5d3e39" ], [ "LowStar.Vector.loc_vector_within_includes", @@ -389,28 +333,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_082a3f853bd154652410efd81b84b2df", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f52fb55bed3741790d43d7617a29ea1d", + "refinement_interpretation_Tm_refine_48703fb261c8f7bf0b755a485c947f47", + "refinement_interpretation_Tm_refine_a4568ee14054c8649500205cd21743f3", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "29228249f9a83bbcd55b76bc7e998cb3" + "768f332d24b45d5933958e30843a0d17" ], [ "LowStar.Vector.loc_vector_within_includes", @@ -418,29 +358,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_082a3f853bd154652410efd81b84b2df", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f179003ad14885a0426817105301dddb", - "refinement_interpretation_Tm_refine_f52fb55bed3741790d43d7617a29ea1d", + "refinement_interpretation_Tm_refine_3a8e1695caa3e8ea5707b275b0645507", + "refinement_interpretation_Tm_refine_48703fb261c8f7bf0b755a485c947f47", + "refinement_interpretation_Tm_refine_a4568ee14054c8649500205cd21743f3", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "5a051d1838b65f6a9132d0f4185c3e80" + "5119d78cd1e391d5543d7f202e6d8df1" ], [ "LowStar.Vector.loc_vector_within_includes", @@ -450,15 +386,12 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_5178fbbec3354ed795a6287f30dd0855_5", - "binder_x_72001fd5b711919130653334123336a5_3", - "binder_x_92238abb5531f5f4cf2611842b1437de_4", + "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", + "binder_x_4757ae941795288c7eaed5d8e5eaf7e1_4", + "binder_x_c2bb71079d62885f997b3d62c28c80c0_5", + "binder_x_ce338f99fa3d0a6adbab544999aac80b_2", + "binder_x_ddb3b1c87a765f659fed7157a3764f1d_3", "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", @@ -470,23 +403,16 @@ "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.trivial_preorder", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", + "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", @@ -497,25 +423,27 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_161a0459d29973308384a68cc4ecbada", - "refinement_interpretation_Tm_refine_26a70adfdc97158b6d265c8122cbf5df", - "refinement_interpretation_Tm_refine_387282847e9e22410566d110eb85fa35", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_63c2541069abae756b14897e3b019abc", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9da95489c7158596508fb3dc4e014fb4", + "refinement_interpretation_Tm_refine_9e26371a4f4019a670d1a91da8101783", + "refinement_interpretation_Tm_refine_a197041b9cd77aa3cbe9d7434773f6f0", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.loc_vector_within", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Vector.loc_vector_within", "typing_LowStar.Vector.size_of", "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" ], 0, - "7844f3f44d522382722aad710e5d7eb7" + "050d1214dc2fee88a4d68cac705bbad5" ], [ "LowStar.Vector.loc_vector_within_included", @@ -523,24 +451,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "01ea88e51ece74446c89a72d1f1ea4d3" + "64cea167566a26fddb49810baf86494a" ], [ "LowStar.Vector.loc_vector_within_included", @@ -548,26 +474,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_efdff872eb1f2d68f92eee225d16ece5", + "refinement_interpretation_Tm_refine_618dcf78531111a9582d9cb5f33d3860", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "d13494b9ee12aa38211be3e97565a522" + "2e90a69fcd5a7b315cf40798ec373e6e" ], [ "LowStar.Vector.loc_vector_within_included", @@ -577,13 +500,10 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_72001fd5b711919130653334123336a5_3", + "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", + "binder_x_ce338f99fa3d0a6adbab544999aac80b_2", + "binder_x_ddb3b1c87a765f659fed7157a3764f1d_3", "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", @@ -595,22 +515,15 @@ "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.loc_vector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.nat", "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r_", "lemma_LowStar.Monotonic.Buffer.loc_includes_none", @@ -625,19 +538,18 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_387282847e9e22410566d110eb85fa35", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_54f922b56fa9465d34b0454c26641a90", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9e26371a4f4019a670d1a91da8101783", + "refinement_interpretation_Tm_refine_a197041b9cd77aa3cbe9d7434773f6f0", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.mgsub", "typing_LowStar.Vector.loc_vector", @@ -645,7 +557,7 @@ "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "c0ca191ff7fd7b6b4cc47dff2a7db389" + "1731c70db3be416f4989856e99e29cf1" ], [ "LowStar.Vector.loc_vector_within_disjoint_", @@ -653,24 +565,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -679,16 +584,15 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a97e4953085d0da5b2c422d1b386e5bb", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_d08647126588d4cf95449682d2cce95d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.size_of" + "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "95beb6d1c1e6c895e96e0c4f3f4a217d" + "f8eda49c5d01787262fea11e37d7b5a5" ], [ "LowStar.Vector.loc_vector_within_disjoint_", @@ -696,25 +600,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.trivial_preorder", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", + "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", + "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -723,17 +619,17 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a97e4953085d0da5b2c422d1b386e5bb", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_d19168e419c3511d340bc6ddba328f7d", + "refinement_interpretation_Tm_refine_7f080da7815b83dd89b83b0a1e453e11", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_d08647126588d4cf95449682d2cce95d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "1f74faedf6e341df65107689aa484b1b" + "91f526aa6cfc630088fe5dc0e565c0aa" ], [ "LowStar.Vector.loc_vector_within_disjoint_", @@ -744,12 +640,13 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", + "LowStar.Buffer_interpretation_Tm_ghost_arrow_01e6518a9154d8c0b799d20489bc1df8", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_65ffe9ff536dd7e0b5bd7d44b2aed8ff_3", - "binder_x_b9fa683c7dd6340ca7326eb2222ee992_4", + "binder_x_a98c15d9ff904768dbb91a0a147d6b20_3", + "binder_x_ce338f99fa3d0a6adbab544999aac80b_2", "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", + "binder_x_f194f6e5d2ca7770ea9cb6b312a0c5de_4", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", @@ -761,24 +658,20 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "function_token_typing_LowStar.Monotonic.Buffer.mgsub", + "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", + "partial_app_typing_cd904020503565851ff369ef2fa226d5", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", @@ -789,19 +682,21 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_444c2c7f61385e5a96393b616bad2398", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_37d10c808755a6153a7a347ebdbbe8ad", + "refinement_interpretation_Tm_refine_3f0241298e0f4278c303c6ca4ac59031", + "refinement_interpretation_Tm_refine_44bd91bbcc5046a4b044412e4db4a6f4", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_bcd8b0ddd0056b1030b146a3a00bfea1", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_b0dbf2c24fef7d900738a10fddcb19f7", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", @@ -813,7 +708,7 @@ "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "8cbeb66427db9272f16bc36af31b92c2" + "591a72d3af4c2001c585786f5ed3ba76" ], [ "LowStar.Vector.loc_vector_within_disjoint", @@ -821,24 +716,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "a9d8a4955eb0c0a33f7247dbbfea7c57" + "612531f4c9c0a94d90a8b1c1afee8189" ], [ "LowStar.Vector.loc_vector_within_disjoint", @@ -846,27 +739,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_082a3f853bd154652410efd81b84b2df", - "refinement_interpretation_Tm_refine_2a4c0b1f556a95b5bca74bb7c5579f83", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_3c0e5d797471570a13991e26ae1d333f", + "refinement_interpretation_Tm_refine_48703fb261c8f7bf0b755a485c947f47", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "285872ce4362ecf9b5365c44ab0858f5" + "cfd3b1c9921cc4f6354c59411e47569e" ], [ "LowStar.Vector.loc_vector_within_disjoint", @@ -876,15 +766,12 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_41a5575444a43d12aa14d05627ececd9_4", - "binder_x_72001fd5b711919130653334123336a5_3", - "binder_x_c696d7b1689b3ee6625c9b93c08a549f_5", + "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", + "binder_x_68dbac922536567119d0e2d1d5fb4b97_5", + "binder_x_85d8bac036aefbe2f99ba8227e610c65_4", + "binder_x_ce338f99fa3d0a6adbab544999aac80b_2", + "binder_x_ddb3b1c87a765f659fed7157a3764f1d_3", "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", @@ -897,21 +784,14 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", @@ -926,29 +806,30 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_31bada0431f222e50a0e78578aebcfd1", - "refinement_interpretation_Tm_refine_387282847e9e22410566d110eb85fa35", - "refinement_interpretation_Tm_refine_3f3143f0021d1f83f2421f45703cee20", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9e26371a4f4019a670d1a91da8101783", + "refinement_interpretation_Tm_refine_a197041b9cd77aa3cbe9d7434773f6f0", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_cdb66919d8c148e312da0cfda17c2431", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fbf0a43b70a4bedf49f6f81aade691b2", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Monotonic.Buffer.mgsub", "typing_LowStar.Vector.loc_vector_within", "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "7550f51bc5c2f1aa6c1fa6c781954a65" + "e6d7d9a6d03c337385e4f0f91f44b96f" ], [ "LowStar.Vector.loc_vector_within_union_rev", @@ -956,10 +837,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", @@ -967,10 +846,8 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -978,17 +855,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_654adf259f842090fca4196d094db187", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a0ecfa084c2105cad83bdc0752664a94", "refinement_interpretation_Tm_refine_e7d1c8d8cd03a2e78447c400f48890d3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.UInt.fits", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "c83ec82db8c40c2862c18d0c67de80ef" + "8daca97f10918a1b84e5fe618f4f4229" ], [ "LowStar.Vector.loc_vector_within_union_rev", @@ -996,10 +873,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", @@ -1008,25 +883,23 @@ "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Vector.uint32_t", "int_inversion", "int_typing", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_654adf259f842090fca4196d094db187", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aac874fa933b224a190d1e3f48c871c3", + "refinement_interpretation_Tm_refine_78112c52425ac9eb059cbd4c6a5afb01", + "refinement_interpretation_Tm_refine_a0ecfa084c2105cad83bdc0752664a94", "refinement_interpretation_Tm_refine_e7d1c8d8cd03a2e78447c400f48890d3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "425b168e0e542e8ca38f884c40dfa4b9" + "cc4611f6e0b4849abfc67b2b0afd9eac" ], [ "LowStar.Vector.loc_vector_within_union_rev", @@ -1037,10 +910,9 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_c5b02c892050f194f3a75839d0ee54d0_3", + "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", + "binder_x_5d872014500f87aa693bbaa9d6e9ae53_3", + "binder_x_ce338f99fa3d0a6adbab544999aac80b_2", "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", @@ -1054,20 +926,14 @@ "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", + "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", @@ -1078,21 +944,21 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_c77170106155927274f375c9cbd73f38", - "refinement_interpretation_Tm_refine_fb5dba64c74473dfbe785745ad8bace7", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_5e8f6ca85a839b114aa625317ba0cb6a", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_ee8a8f431932e62e4e5d1ea98fc683d7", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "typing_LowStar.Vector.loc_vector_within", "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "a7706ae6d8cebf65c13117ac9141e9c1" + "c613bd4f0e911868208af928be528f1a" ], [ "LowStar.Vector.modifies_as_seq", @@ -1101,7 +967,7 @@ 1, [ "@query" ], 0, - "ea8437f1045736738568c3e7523ea355" + "d580c8c98b360f5753b6947800d8c7f4" ], [ "LowStar.Vector.modifies_as_seq", @@ -1109,9 +975,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -1125,15 +990,11 @@ "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", "equation_LowStar.Vector.loc_vector", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", @@ -1142,26 +1003,27 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Vector.__proj__Vec__item__sz", "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.as_seq" ], 0, - "da9dc812ae871d30c2597ffee01a13bb" + "ebe088bde3bd8467ba173b754bce080e" ], [ "LowStar.Vector.modifies_as_seq_within", @@ -1169,29 +1031,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.size_of", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "d60d9fdd44f304324adfd2cf59e5028e" + "74e4b463f64d9ef97c9bad99d3011da7" ], [ "LowStar.Vector.modifies_as_seq_within", @@ -1199,31 +1057,26 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Monotonic.HyperStack.mem", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.size_of", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a128bb9bbc2a6338a28ed65cd9557717", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_eb211b965cffcb5542fd3f92e93ab17c", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "2d0459d9181b7d0829ff3cd9914a95d4" + "b97b6981c0c9f520701fc07cbaa28739" ], [ "LowStar.Vector.modifies_as_seq_within", @@ -1233,45 +1086,34 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_5", - "binder_x_0c8c560ea1f64597ac6752d770b1c7b5_6", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_72001fd5b711919130653334123336a5_3", - "binder_x_d0311cd50dcabda288e07699f600548a_4", + "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", + "binder_x_8358b93aec0670665ebb4c0f52fc04b7_4", + "binder_x_ce338f99fa3d0a6adbab544999aac80b_2", + "binder_x_ddb3b1c87a765f659fed7157a3764f1d_3", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_5", + "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_6", "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "data_elim_LowStar.Vector.Vec", - "equality_tok_Prims.LexTop@tok", "equation_FStar.Int31.n", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", + "equality_tok_Prims.LexTop@tok", "equation_FStar.UInt.fits", + "equation_FStar.UInt.gte", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Int31.n", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -1279,8 +1121,7 @@ "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Seq.Properties.slice_is_empty", "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.live_gsub", @@ -1289,30 +1130,30 @@ "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "proj_equation_LowStar.Vector.Vec_sz", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_387282847e9e22410566d110eb85fa35", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_cd046bc4a887ee7e1b05946e0bf5772b", + "refinement_interpretation_Tm_refine_a197041b9cd77aa3cbe9d7434773f6f0", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "token_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", "true_interp", "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", @@ -1328,7 +1169,7 @@ "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" ], 0, - "563941be968ae2c32701f7f840427eff" + "23bb05f32226a39778ecc7eadd83a550" ], [ "LowStar.Vector.alloc_empty", @@ -1337,7 +1178,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "d397e11c28ae5a9fb39c75ff77c9bccc" + "4aa8d751c1cea64b628d2e45b4bf6334" ], [ "LowStar.Vector.alloc_empty", @@ -1361,7 +1202,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "4b395c0e9b79361afa45d965bb34d290" + "8d3cad0be21b2e30326039b2f4dd4cc1" ], [ "LowStar.Vector.alloc_empty_as_seq_empty", @@ -1369,26 +1210,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", + "@MaxIFuel_assumption", "@query", "bool_inversion", "data_elim_LowStar.Vector.Vec", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.alloc_empty", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Seq.Base.lemma_eq_intro", + "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_LowStar.Monotonic.Buffer.length_null_2", "proj_equation_LowStar.Vector.Vec_sz", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_LowStar.Vector.Vec_sz", "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", "refinement_interpretation_Tm_refine_adefc58894388886573cb41ee073aed9", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", "typing_FStar.Seq.Base.empty", "typing_LowStar.Buffer.trivial_preorder", @@ -1397,7 +1236,7 @@ "typing_LowStar.Vector.alloc_empty", "typing_LowStar.Vector.as_seq" ], 0, - "da70354d8b30ec7db7151f39fc194e71" + "8707ec3f28b1e11261a763384c09da6d" ], [ "LowStar.Vector.alloc_rid", @@ -1406,19 +1245,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length", "typing_LowStar.Vector.as_seq" ], 0, - "c70eeea623928165c2b9647b1ca5678e" + "25fd70cd5eba9202fb1c9bf9ed2581d4" ], [ "LowStar.Vector.alloc_rid", @@ -1427,13 +1264,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Integers.int_t", + "bool_typing", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_eternal_color", "equation_FStar.Monotonic.HyperStack.mem", @@ -1451,9 +1283,8 @@ "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_create", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -1475,23 +1306,23 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_LowStar.Vector.Vec_sz", "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_2c83c7bb607ce0f4ff3dd6d04eabda6f", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_57af044ea70495059490e654ff31e563", + "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -1509,7 +1340,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector" ], 0, - "ee21f5446e8b7c1f81caa4f0a28bec37" + "7b24d4d41c71280e83d292385befa23a" ], [ "LowStar.Vector.alloc", @@ -1518,19 +1349,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length", "typing_LowStar.Vector.as_seq" ], 0, - "ccfec3f4adddeb837e5f4e46536cd2c8" + "bbf0162de8b194a6bee3050597a0ef5f" ], [ "LowStar.Vector.alloc", @@ -1550,15 +1379,15 @@ "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip" ], 0, - "f2124120b21c6f54db8dc0ce2b166d50" + "f30ea63587b8cefd93586abf24e85707" ], [ "LowStar.Vector.alloc_reserve", @@ -1567,7 +1396,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "e6d980df55d1b9d3fd66277f5808e279" + "bd69d531cd742b64d5731d46de255f7b" ], [ "LowStar.Vector.alloc_reserve", @@ -1576,13 +1405,8 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Integers.int_t", + "bool_typing", "equation_FStar.HyperStack.ST.is_eternal_region", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_eternal_color", "equation_FStar.Monotonic.HyperStack.mem", @@ -1600,9 +1424,8 @@ "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", @@ -1617,20 +1440,20 @@ "proj_equation_LowStar.Vector.Vec_sz", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_LowStar.Vector.Vec_sz", "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_08d14059b664746699a12b0c359d3b8d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", "refinement_interpretation_Tm_refine_2c83c7bb607ce0f4ff3dd6d04eabda6f", - "refinement_interpretation_Tm_refine_2f4c4317c33d464b36cc12cfcbde1c55", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_57af044ea70495059490e654ff31e563", + "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", + "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.color", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -1645,7 +1468,7 @@ "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector" ], 0, - "078cf80fa9d2cd839871343fa5327a22" + "e5b8095296130fc2b056f4ac8037976c" ], [ "LowStar.Vector.alloc_by_buffer", @@ -1657,7 +1480,7 @@ "equation_LowStar.Vector.uint32_t" ], 0, - "763655b6bbb1581faa0f7a4bc1ca4761" + "7bfd2fcf085d735d261847cf3d7b7f76" ], [ "LowStar.Vector.alloc_by_buffer", @@ -1666,7 +1489,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "b8fbef4ece5eb4ff316800d441fd5218" + "8bc083af5537ebcaa9767158abf89913" ], [ "LowStar.Vector.alloc_by_buffer", @@ -1674,13 +1497,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Integers.int_t", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -1698,9 +1516,8 @@ "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_intro", @@ -1717,19 +1534,18 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_LowStar.Vector.Vec_sz", "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_47f7d72cb804a2caca3569d60da54e94", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", + "refinement_interpretation_Tm_refine_57af044ea70495059490e654ff31e563", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -1740,7 +1556,7 @@ "typing_LowStar.Vector.as_seq" ], 0, - "543365c6e6c1a1c2b5e7b796c07c8179" + "349096d01972e893a1828dff31b571b4" ], [ "LowStar.Vector.free", @@ -1748,17 +1564,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.live", + "@MaxIFuel_assumption", "@query", "equation_LowStar.Vector.freeable", + "equation_LowStar.Vector.live", "equation_LowStar.Vector.loc_addr_of_vector", "equation_LowStar.Vector.vector", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "refinement_interpretation_Tm_refine_a7052928d8b237d4ec1e8a33712f854e", - "refinement_interpretation_Tm_refine_be95e9d736e0338873fbabf9f1371031" + "refinement_interpretation_Tm_refine_28c16675e70e9ef7701e9b6d78b06c35", + "refinement_interpretation_Tm_refine_de53286ac6ea7bcb1ee55a5646706534" ], 0, - "cf45b95e594b327848c31173d1f2c44d" + "62b00fa07460f486146cefc01048395d" ], [ "LowStar.Vector.get", @@ -1770,15 +1585,15 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt32.lt", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "typing_LowStar.Vector.as_seq" ], 0, - "1ab445780ab9ce8eeb85b593fc390f21" + "755e3e6f4d5a22614b3875b4e92f2abe" ], [ "LowStar.Vector.index", @@ -1787,7 +1602,6 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt32.lt", "equation_LowStar.Vector.size_of", @@ -1795,11 +1609,11 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_85d0560564547718ff9b57ed4cb486ed", + "refinement_interpretation_Tm_refine_96bd81d1e19ceba8b8285510d5fd0dae", "typing_LowStar.Vector.as_seq" ], 0, - "3bc523295116d8df0e9842cda3a1eed3" + "a997ceeaa051718dcf7f60a5e5f51d42" ], [ "LowStar.Vector.index", @@ -1807,12 +1621,10 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_LowStar.Vector.Vec", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", @@ -1823,12 +1635,9 @@ "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.UInt32.vu_inv", @@ -1842,24 +1651,23 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_85d0560564547718ff9b57ed4cb486ed", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_96bd81d1e19ceba8b8285510d5fd0dae", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt32.lt", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.size_of" ], 0, - "972e4dd189a6248eacdac20332558d69" + "7a8669cc7a64d9a62aefba27b327b25e" ], [ "LowStar.Vector.front", @@ -1875,14 +1683,14 @@ "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c3ef642d31e78bd61619baaa124a913f", "typing_FStar.Seq.Base.length", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "e24885830a3198c0d0aac0593faa67fc" + "c1b4c6cac4acd00e2218df7d88d41f5b" ], [ "LowStar.Vector.front", @@ -1890,9 +1698,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "data_elim_LowStar.Vector.Vec", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", @@ -1909,13 +1716,10 @@ "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -1932,27 +1736,28 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0cd778ecaa0b49ff923f2258c0c6aa44", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_003d77901c556c9777d78b1f9ff48851", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", "refinement_interpretation_Tm_refine_c3ef642d31e78bd61619baaa124a913f", - "true_interp", "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.size_of" + "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "50619cf1fa4597ddfe0af685c6660872" + "d9a91a58e3c97d2f8a9ff1864f9ecf2d" ], [ "LowStar.Vector.back", @@ -1960,9 +1765,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -1974,28 +1777,26 @@ "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c3ef642d31e78bd61619baaa124a913f", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "4edfcfde1b1e60f89e815dff42b0b7b0" + "60096b7a18f24bd30892a9a69e0dd8a6" ], [ "LowStar.Vector.back", @@ -2003,13 +1804,11 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Signed", + "constructor_distinct_FStar.Integers.Winfinite", "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.W32@tok", + "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.HyperStack.ST.equal_stack_domains", "equation_FStar.Integers.int_t", "equation_FStar.Monotonic.Heap.equal_dom", @@ -2027,14 +1826,10 @@ "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -2051,30 +1846,32 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_0cd778ecaa0b49ff923f2258c0c6aa44", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", + "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_003d77901c556c9777d78b1f9ff48851", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", "refinement_interpretation_Tm_refine_6f27757ed66a8ffb4476635a625aa07c", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", "refinement_interpretation_Tm_refine_c3ef642d31e78bd61619baaa124a913f", - "true_interp", "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.size_of" + "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "94a5c12ad21464316585a16074711926" + "5517f570f4c6fe85321d5521e4b3e87e" ], [ "LowStar.Vector.clear", @@ -2083,7 +1880,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "50cb9f826be574c49ffdc1ca07889268" + "64efd9c5e028c206433798d8a4079cce" ], [ "LowStar.Vector.clear", @@ -2091,37 +1888,32 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.n", "equation_LowStar.Vector.size_of", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.gte", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.gte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_cap", "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_LowStar.Vector.Vec_sz", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_cfcaf770db2aa5428feeab314ed64702", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_573cbec3ba63a4df15c2747d40766bb5", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", "typing_LowStar.Vector.__proj__Vec__item__cap", "typing_LowStar.Vector.__proj__Vec__item__sz" ], 0, - "5b83fa9a3ffd0e39f47e32ad4c301e9f" + "018a3253c5f313bbcbd3b725e1e4bf17" ], [ "LowStar.Vector.clear_as_seq_empty", @@ -2129,9 +1921,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -2143,37 +1934,37 @@ "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_sz", "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", "projection_inverse_LowStar.Vector.Vec_sz", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_573cbec3ba63a4df15c2747d40766bb5", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_adefc58894388886573cb41ee073aed9", "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_cfcaf770db2aa5428feeab314ed64702", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.gte", "typing_FStar.UInt32.v", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.gte", + "typing_FStar.UInt32.v", "typing_LowStar.Vector.__proj__Vec__item__cap", "typing_LowStar.Vector.__proj__Vec__item__sz", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.clear" ], 0, - "5bd1d01017268c9dff13fd5de544c41f" + "8328225f4424470dc01c22ddb957c690" ], [ "LowStar.Vector.slice_append", @@ -2181,21 +1972,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Integers.int", "equation_FStar.Integers.nat", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "equation_Prims.nat", "int_inversion", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8b7ffb36bb74e1144892685ebc424c0c", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "typing_FStar.Seq.Base.length" ], 0, - "5bceaa6f853fbcdb7a12886e96a41147" + "fc35da78eae5a46aefb9516663616a3e" ], [ "LowStar.Vector.slice_append", @@ -2204,14 +1992,12 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", + "equation_FStar.Integers.nat", "equation_Prims.nat", "int_inversion", + "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.Seq.Base.lemma_index_app2", "lemma_FStar.Seq.Base.lemma_index_slice", @@ -2222,19 +2008,20 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_8b7ffb36bb74e1144892685ebc424c0c", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" ], 0, - "e1170ba285bbf415916186d902c08ded" + "2056e304b9f3c4c87ac9e2211784710d" ], [ "LowStar.Vector.assign", @@ -2242,44 +2029,38 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", + "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_85d0560564547718ff9b57ed4cb486ed", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_96bd81d1e19ceba8b8285510d5fd0dae", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "d1ee50d74f88d4565b1647cb25efdbf9" + "f78bacb116f340fcc60d060624a0b2ff" ], [ "LowStar.Vector.assign", @@ -2290,35 +2071,31 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "data_elim_LowStar.Vector.Vec", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.HyperStack.ST.equal_domains", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", + "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", + "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", + "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.get", "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", "fuel_guarded_inversion_LowStar.Vector.vector_str", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", "lemma_FStar.Seq.Base.lemma_eq_elim", @@ -2334,6 +2111,7 @@ "lemma_FStar.Seq.Properties.slice_length", "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.Seq.Properties.slice_upd", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -2343,6 +2121,7 @@ "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", + "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", "lemma_LowStar.Vector.modifies_as_seq_within", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", @@ -2354,30 +2133,31 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", - "refinement_interpretation_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_85d0560564547718ff9b57ed4cb486ed", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_96bd81d1e19ceba8b8285510d5fd0dae", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", "token_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", "true_interp", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", + "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_LowStar.Vector.__proj__Vec__item__vs", @@ -2386,7 +2166,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "fd3b1a396b0885586a6ad1adf8b8cac8" + "e518f3a55cd749d823561ae99047eee6" ], [ "LowStar.Vector.new_capacity", @@ -2397,26 +2177,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W31", "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W31@tok", "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W8@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", + "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", @@ -2425,28 +2194,28 @@ "equation_LowStar.Vector.max_uint32", "equation_LowStar.Vector.resize_ratio", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThan", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_6e3f78b75dbac4079b8eec2087da6bff", - "refinement_interpretation_Tm_refine_814770d986f06f66b84225be16b5517a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.div", + "refinement_interpretation_Tm_refine_1018cc4a30bb4b3362dcecc401c070c5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_57af044ea70495059490e654ff31e563", + "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.div", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Vector.max_uint32", "typing_LowStar.Vector.resize_ratio" ], 0, - "7799b479e35b44161e80ceaf987ae6d8" + "2a07c2871822d67d8cd5beed80c94d16" ], [ "LowStar.Vector.insert", @@ -2455,47 +2224,46 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_LowStar.Vector.is_full", + "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Vector.freeable", + "equation_LowStar.Vector.is_full", "equation_LowStar.Vector.max_uint32", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", + "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.freeable_length", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_sz", + "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35e2b7232b74a43fed01b9e919a96b63", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_52184b30e25eabff2c3f3995de52ba62", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Vector.__proj__Vec__item__sz", + "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.max_uint32" ], 0, - "c4084f13e55c39f490081c0bb20d5340" + "44c09b8565266eacb217d62f46f7aa1f" ], [ "LowStar.Vector.insert", @@ -2506,7 +2274,6 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", @@ -2538,16 +2305,14 @@ "equation_LowStar.Vector.resize_ratio", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", @@ -2602,39 +2367,40 @@ "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_LowStar.Vector.Vec_sz", "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_03127b5d59ee3055620018693b4264e8", - "refinement_interpretation_Tm_refine_1316bd4c63416911950d0c98ad4b73b6", - "refinement_interpretation_Tm_refine_2a3735562d4f40894789e3aae184e017", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_35e2b7232b74a43fed01b9e919a96b63", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1018cc4a30bb4b3362dcecc401c070c5", + "refinement_interpretation_Tm_refine_18f73a28752c8f52b2a6d86ff18e6183", + "refinement_interpretation_Tm_refine_28c16675e70e9ef7701e9b6d78b06c35", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_3fce2f7ffa893f695736f99cb4d179d0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5514fbe9e08dfda40f950a7b9f1b2b98", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_52184b30e25eabff2c3f3995de52ba62", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6e3f78b75dbac4079b8eec2087da6bff", - "refinement_interpretation_Tm_refine_814770d986f06f66b84225be16b5517a", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_573cbec3ba63a4df15c2747d40766bb5", + "refinement_interpretation_Tm_refine_6e61a5aae0540cf06a76daaa4d96339e", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a7052928d8b237d4ec1e8a33712f854e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_b5ad1dbfbd48faaf34d92bafda76205d", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", + "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299", + "refinement_interpretation_Tm_refine_b7ebffdc5f2178cb7e33e32e7b4f37cb", + "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", "refinement_interpretation_Tm_refine_c7f12373684ac3902f959f03ceaa2f5e", - "refinement_interpretation_Tm_refine_cfcaf770db2aa5428feeab314ed64702", - "refinement_interpretation_Tm_refine_dfbdadac2b06c6023d1ab0f110e27e2a", + "refinement_interpretation_Tm_refine_cca62387ef1dde88373241676191b3c5", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", "refinement_interpretation_Tm_refine_e18f98cad73a95c90aef4acd6958acc3", - "refinement_interpretation_Tm_refine_e27881a99184f8c07cf4428cbf7e2122", - "refinement_interpretation_Tm_refine_e6bc05b04274ef7d1f3c852ddb5ee0ff", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Base.upd", "typing_FStar.Set.singleton", + "typing_FStar.Seq.Properties.snoc", "typing_FStar.Set.singleton", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.div", "typing_FStar.UInt32.gte", "typing_FStar.UInt32.mul", "typing_FStar.UInt32.uint_to_t", @@ -2657,7 +2423,7 @@ "typing_LowStar.Vector.resize_ratio" ], 0, - "49bf3916633380d581b5430552003d16" + "12bcdd90698aed4401c9d5d927602c75" ], [ "LowStar.Vector.flush", @@ -2666,31 +2432,48 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.gte", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", + "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.Vector.freeable", + "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_LowStar.Monotonic.Buffer.freeable_length", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.Vector.Vec_sz", + "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_06a3dd4e4f3249107da2d0b06d97a202", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.size_of" + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Vector.__proj__Vec__item__vs", + "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "2758fe42cfde44714c719093ed0eb6d4" + "5677258610cb6cf866ec0a983bb9da20" ], [ "LowStar.Vector.flush", @@ -2699,7 +2482,6 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", @@ -2725,16 +2507,14 @@ "equation_LowStar.Vector.loc_vector", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_Prims.eqtype", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", "function_token_typing_FStar.Monotonic.Heap.heap", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_inversion", + "function_token_typing_Prims.int", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", @@ -2744,6 +2524,7 @@ "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.freeable_length", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -2779,25 +2560,26 @@ "projection_inverse_FStar.Integers.Unsigned__0", "projection_inverse_LowStar.Vector.Vec_sz", "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_14ea3748f4fa9ca564348855d27d5930", - "refinement_interpretation_Tm_refine_2d168841603aab90dad5f34d6a9f3f58", - "refinement_interpretation_Tm_refine_2f449ec03c84cee7fc80bff768597d2b", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349", + "refinement_interpretation_Tm_refine_00975ea571576b44360a0803a95ec3b8", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_06a3dd4e4f3249107da2d0b06d97a202", + "refinement_interpretation_Tm_refine_28c16675e70e9ef7701e9b6d78b06c35", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_7c8df06ea3b8d7cf1e3848693549e1af", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_72e320a6109de6aa30ae43bc746866b5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a7052928d8b237d4ec1e8a33712f854e", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", + "refinement_interpretation_Tm_refine_ab5e72d7347cb1e51de8fec977dd59ef", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "true_interp", "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", @@ -2820,7 +2602,7 @@ "typing_LowStar.Vector.loc_vector", "typing_LowStar.Vector.size_of" ], 0, - "7a0f48a34bbdf886ee0c943cbd7afa4e" + "55baa9f51e0cf9e5966a917141e78194" ], [ "LowStar.Vector.shrink", @@ -2831,14 +2613,13 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.gte", "equation_FStar.UInt.lte", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c" + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74" ], 0, - "9510b3e1f85c95e389f3c3c9bc5a8cef" + "981e592bb669d0bb9521aaefc47a93e1" ], [ "LowStar.Vector.fold_left_seq", @@ -2847,24 +2628,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "ee500280375159fb0b8f4ce3c3933ae6" + "b480cc4653a22d2b4ffe8291a50f315e" ], [ "LowStar.Vector.fold_left_buffer", @@ -2873,7 +2652,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "9df8b611946a00155ee38e96b22d6646" + "e469bb5025b29637f510852f74e7c17f" ], [ "LowStar.Vector.fold_left_buffer", @@ -2882,7 +2661,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "f2e43becf7f407145cdfa1990de23171" + "ecb1811fa081d6097196e14e3759255f" ], [ "LowStar.Vector.fold_left_buffer", @@ -2894,14 +2673,18 @@ "@fuel_correspondence_LowStar.Vector.fold_left_seq.fuel_instrumented", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_LowStar.Vector.fold_left_seq.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@query", + "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", + "LowStar.Vector_interpretation_Tm_ghost_arrow_cab63744daa3c87acfc292f6089476d1", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", + "bool_typing", "constructor_distinct_FStar.Integers.Signed", + "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", + "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.W32@tok", + "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Int31.n", "equation_FStar.Integers.int_t", + "equation_FStar.Integers.int_t", "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", @@ -2911,23 +2694,21 @@ "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.uint32_t", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", + "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", + "equation_Prims.pos", "equation_with_fuel_LowStar.Vector.fold_left_seq.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.Int31.n", "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt.pow2_values", + "lemma_FStar.Map.lemma_ContainsDom", + "lemma_FStar.Seq.Base.lemma_index_slice", + "lemma_FStar.Seq.Base.lemma_len_slice", + "lemma_FStar.Seq.Properties.slice_slice", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", "lemma_LowStar.Monotonic.Buffer.len_gsub", @@ -2935,27 +2716,36 @@ "lemma_LowStar.Monotonic.Buffer.live_gsub", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e6e3f7c1f800390e5f198e21f3a0bf39", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", + "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_47f7d72cb804a2caca3569d60da54e94", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", "refinement_interpretation_Tm_refine_e7d1c8d8cd03a2e78447c400f48890d3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "true_interp", "typing_FStar.Map.contains", + "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" + "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.sub", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.as_seq", + "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.pow2" ], 0, - "0b6cec8527843a26903c4b7120938cf1" + "6086b27183d3e3eaba47cf4962556791" ], [ "LowStar.Vector.fold_left", @@ -2964,26 +2754,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", + "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.gte", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.gte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_null_1", @@ -2996,23 +2780,22 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0cd778ecaa0b49ff923f2258c0c6aa44", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_003d77901c556c9777d78b1f9ff48851", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", "true_interp", "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Vector.__proj__Vec__item__sz", "typing_LowStar.Vector.__proj__Vec__item__vs" ], 0, - "13b06128b2eb9ba9d11847b6b3008298" + "66947a4b9ea51365d59c5487ea3fd45e" ], [ "LowStar.Vector.forall_seq", @@ -3020,13 +2803,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837" ], 0, - "3e6f8b851fa5f5598fab4ad4766d118b" + "d0569b6b0a672ecda04224894a3183c2" ], [ "LowStar.Vector.forall_buffer", @@ -3039,7 +2822,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "1673c02aed416608a81c4c5228fdc22b" + "546eeb4f3213c9d070283a8db742c97d" ], [ "LowStar.Vector.forall_", @@ -3047,24 +2830,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "88a85b5ea44214bb31e393a8e0cc0ce7" + "e8e477bc0b14932125ec8e735c1c1fc3" ], [ "LowStar.Vector.forall_all", @@ -3072,9 +2852,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -3082,25 +2861,21 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Vector.size_of", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", @@ -3109,7 +2884,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "9d53a7ebc448a60ffba575f7de85b7f9" + "ea05482e0382d39c62769580449856f7" ], [ "LowStar.Vector.forall2_seq", @@ -3118,26 +2893,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "9fd5b8cbbc7d743ccbf8435f0f486cc6" + "689133aa1ffd7d370b67c2136875c204" ], [ "LowStar.Vector.forall2_buffer", @@ -3150,7 +2923,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "de54621f223b66a6a2c901f1e8577d6a" + "8fa7a072ed54a5e1b21f54c8f2423875" ], [ "LowStar.Vector.forall2", @@ -3158,24 +2931,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "8687626eff1e6df927026908e31a1339" + "e243496230eeda1e1dc6a78a94e88c29" ], [ "LowStar.Vector.forall2_all", @@ -3183,39 +2953,30 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Vector.size_of", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", @@ -3224,7 +2985,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "0513675aa0fd7f7bbcb222c3750b2158" + "133c11dec045a8225388bbd2a2205949" ], [ "LowStar.Vector.get_as_seq_index", @@ -3232,39 +2993,32 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.uint32_t", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt32.vu_inv", + "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", + "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a949d8b13ff5153553d8e72181c8e213", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "true_interp", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "refinement_interpretation_Tm_refine_1e45464a7a8a10bfb12fd51eda96b2e4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.lt", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "f5aeb432bbe848ca72597d83fb76c54a" + "037dabb4cf244e4917c97def205f5428" ], [ "LowStar.Vector.get_as_seq_index", @@ -3272,44 +3026,41 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.uint32_t", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", + "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", + "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a949d8b13ff5153553d8e72181c8e213", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "true_interp", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "refinement_interpretation_Tm_refine_1e45464a7a8a10bfb12fd51eda96b2e4", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.lt", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len" + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.mgsub" ], 0, - "80f3c7a20a485b49e506e0acf331e2cb" + "b5f10ba70ec3c92e02f129fb5e0e9f41" ], [ "LowStar.Vector.get_preserved", @@ -3317,10 +3068,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", @@ -3328,27 +3077,23 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.uint32_t", "int_inversion", "int_typing", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "815fa836bb05dbf262fa797da40f825b" + "376612c43fef84dca8d0f1bf5174b89c" ], [ "LowStar.Vector.get_preserved", @@ -3358,29 +3103,24 @@ [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", + "@query", "b2t_def", "bool_inversion", "bool_typing", "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.get", "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", + "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", @@ -3400,23 +3140,22 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", "token_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "true_interp", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "true_interp", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.as_seq", "typing_LowStar.Monotonic.Buffer.len", "typing_LowStar.Monotonic.Buffer.loc_buffer", @@ -3425,7 +3164,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "30e88352c7df01b2ffc71b9eefb0766b" + "48d0590b905d44b21b5a7824460da3c2" ], [ "LowStar.Vector.get_preserved_within", @@ -3434,7 +3173,7 @@ 1, [ "@query" ], 0, - "5f55e5a2908d8999edc12f99c1045ae9" + "d3498371455d81ffc1816a23b5d4c31d" ], [ "LowStar.Vector.get_preserved_within", @@ -3443,7 +3182,7 @@ 1, [ "@query" ], 0, - "b826f2a510c927e081ecdb355d6cbfcf" + "bdd92b65cae1b14dc2d202f051bc982c" ], [ "LowStar.Vector.get_preserved_within", @@ -3453,10 +3192,9 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_059f0a4ff267bb02ab61485f8f5e36bc_4", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_72001fd5b711919130653334123336a5_3", + "@query", "b2t_def", "binder_x_9c3d5a789364b07c0e06f0a4cb740697_4", + "binder_x_ce338f99fa3d0a6adbab544999aac80b_2", + "binder_x_ddb3b1c87a765f659fed7157a3764f1d_3", "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", @@ -3469,9 +3207,8 @@ "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThan", @@ -3479,20 +3216,19 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_0ff35a9c223edc1368559e10070fe396", - "refinement_interpretation_Tm_refine_225d7bb0777df5d061e44b5a6fbd7ab7", - "refinement_interpretation_Tm_refine_387282847e9e22410566d110eb85fa35", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f720d174e8072d6e4ae92e39a97817f6", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_22908b7fb68e5180e71b8e225526909b", + "refinement_interpretation_Tm_refine_804238da4cc394442d026aeed17b7116", + "refinement_interpretation_Tm_refine_a197041b9cd77aa3cbe9d7434773f6f0", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.loc_vector_within", "typing_LowStar.Vector.size_of" ], 0, - "a9ccf456bcc6812543f8e5f55dcaf232" + "c4ee6928d1599fd6b4c3d265d3dbb242" ], [ "LowStar.Vector.forall_seq_ok", @@ -3500,13 +3236,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837" ], 0, - "d2fa2a182b10dbaa10450d5c95c18407" + "423da18089e966fb9ae25dbfad8bca8a" ], [ "LowStar.Vector.forall_seq_ok", @@ -3515,7 +3251,7 @@ 1, [ "@query", "equation_LowStar.Vector.forall_seq" ], 0, - "3d5ec9c8df777809854813e172f25edc" + "d1e92eb43bc99e8c975751a6755d9005" ], [ "LowStar.Vector.forall2_seq_ok", @@ -3524,27 +3260,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "cf50c6b74ff3cb1616e864548bc40094" + "dd0076e8fa4ec5b5a684ee0986519290" ], [ "LowStar.Vector.forall2_seq_ok", @@ -3559,12 +3293,12 @@ "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "projection_inverse_FStar.Integers.Signed__0", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "055a2a9128398282c4e0558b6bac9254" + "553305dc7a7ce8abe850c55de91cd88f" ], [ "LowStar.Vector.forall2_seq_ok", @@ -3573,7 +3307,7 @@ 1, [ "@query", "equation_LowStar.Vector.forall2_seq" ], 0, - "03a737ad6f443885cc6587ac2cd66583" + "5826a8b1e2e20f69a25d19adc304b7ad" ], [ "LowStar.Vector.forall_as_seq", @@ -3581,23 +3315,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Integers.int", "equation_FStar.Integers.nat", + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "a4647d8a957cacb5d26f2a96feddc440" + "08a203072456d3b23d652e63c1f27576" ], [ "LowStar.Vector.forall_as_seq", @@ -3607,11 +3338,11 @@ [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, - "6ea3d859da1427d15ca1e60c4d61c23f" + "d876219607a9e619e06667ca160e1718" ], [ "LowStar.Vector.forall_as_seq", @@ -3620,17 +3351,14 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "eq2-interp", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.equals", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_index_slice", + "fuel_guarded_inversion_Prims.equals", "int_inversion", + "lemma_FStar.Seq.Base.lemma_index_slice", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -3638,19 +3366,19 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_0fd1ee098f6569eb754a703d7e7e9875", + "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", + "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_559c261b1c3777929ea329abfe70ab33", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a2f1690b8776ea00baf7f534fa34a7c2", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "unit_typing" + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", + "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "db49bde2d53bc3e9a0f6bccfe1675026" + "7a5b2c7945b88461e66883a958aa14e7" ], [ "LowStar.Vector.forall_preserved", @@ -3658,9 +3386,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Integers.Signed", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", @@ -3673,25 +3400,24 @@ "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_LowStar.Vector.forall_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "lemma_LowStar.Vector.forall_as_seq", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_71e03dc93590dfa30bfc270b067e2215", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_87b30ef056e95d752fcd750baca48dc3", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "006e98cd09301eb0e4459db06c0c9c6c" + "e6fc868e822ae85d1279aa2a9594fa33" ], [ "LowStar.Vector.forall2_extend", @@ -3699,10 +3425,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "data_elim_LowStar.Vector.Vec", "equality_tok_FStar.Integers.W32@tok", @@ -3712,19 +3436,13 @@ "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -3736,26 +3454,25 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1269b30487ce3a3c2f1133178646e51b", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_857a181c6df5e85e8cd0a31972823ef0", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.mgsub", "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "c19e9f61dc52d0276c0c9a7e71e8dd8f" + "dc64460600c1c515cbd41503c0f36270" ], [ "LowStar.Vector.forall2_extend", @@ -3763,10 +3480,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", @@ -3781,10 +3496,9 @@ "equation_LowStar.Vector.forall_seq", "equation_LowStar.Vector.get", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3d37bb4d6e1153cd6443e2d119d8e54f", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", + "interpretation_Tm_abs_f3a5660f04307e3acddef8ffa218521f", "l_and-interp", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -3793,19 +3507,19 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_857a181c6df5e85e8cd0a31972823ef0", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1269b30487ce3a3c2f1133178646e51b", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "ccb17559a7e1aed98fd0845e17f18be5" + "2ca8cbbd22fc0c11317ce2819ec742d5" ], [ "LowStar.Vector.forall2_forall_left", @@ -3813,24 +3527,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lt", + "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", + "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3c19d00e9898a8c6f4100be7af9ec4a5", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcf90cef06c65899a5d0419a6264fddb", "typing_FStar.UInt32.v" ], 0, - "bd61fdcef749741e68844fdf1082b47d" + "37c9367c1f1e22b81f82ca044f0693d5" ], [ "LowStar.Vector.forall2_forall_left", @@ -3838,10 +3549,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", @@ -3853,24 +3562,23 @@ "equation_LowStar.Vector.forall2_seq", "equation_LowStar.Vector.forall_", "equation_LowStar.Vector.forall_seq", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3c19d00e9898a8c6f4100be7af9ec4a5", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcf90cef06c65899a5d0419a6264fddb", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "94f94f1a696e2ba3d220d838af65de7e" + "cf5e6ef9db58b961c069ef43ed57d893" ], [ "LowStar.Vector.forall2_forall_right", @@ -3878,36 +3586,32 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Vector.size_of", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3c19d00e9898a8c6f4100be7af9ec4a5", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcf90cef06c65899a5d0419a6264fddb", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "6623dc098ea64f358b7fc7d7616b40a0" + "775cf763b6a5534e9f3da10e1f692e0f" ], [ "LowStar.Vector.forall2_forall_right", @@ -3915,10 +3619,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", @@ -3931,29 +3633,28 @@ "equation_LowStar.Vector.forall2_seq", "equation_LowStar.Vector.forall_", "equation_LowStar.Vector.forall_seq", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Vector.uint32_t", "int_inversion", "int_typing", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_3c19d00e9898a8c6f4100be7af9ec4a5", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcf90cef06c65899a5d0419a6264fddb", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "8e42ae22f719dd60c6eef4085b24706e" + "536a5a465cf1d1656f90a973fa8f71d5" ], [ "LowStar.Vector.vector_str", @@ -3962,7 +3663,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "eb1f3c725f4a794871e35d5d17ffbf46" + "145509ce1cab532f948fb489a94a24aa" ], [ "LowStar.Vector.__proj__Vec__item__cap", @@ -3974,7 +3675,7 @@ "projection_inverse_LowStar.Vector.Vec_sz" ], 0, - "5e29f38575c241ed7939eed085960488" + "c1bd8f02190fc9995d7834d24a6a6f5e" ], [ "LowStar.Vector.__proj__Vec__item__vs", @@ -3983,7 +3684,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "0d4ecbab6bc6b0fe406b15d31fd53be6" + "4af4c3bc9349a0cf88a91a65b4a40cd6" ], [ "LowStar.Vector.__proj__Vec__item__vs", @@ -3996,40 +3697,24 @@ "projection_inverse_LowStar.Vector.Vec_cap" ], 0, - "412927924f753c2a040855ccd9bb90a5" + "22ac5b777487fe2ee5a98013f0a777d1" ], [ "LowStar.Vector.as_seq", 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + 2, + 1, + [ + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.gte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", + "equation_FStar.UInt32.gte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", @@ -4042,25 +3727,21 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "typing_LowStar.Vector.__proj__Vec__item__sz", "typing_LowStar.Vector.__proj__Vec__item__vs" ], 0, - "6f8ce4d7027942afe1c4203bdaad7598" + "99d2dd3110a1f60ab52b02490c549e94" ], [ "LowStar.Vector.as_seq", @@ -4069,7 +3750,7 @@ 1, [ "@query" ], 0, - "e8d8cc1589cbd628b1ab740f00f22aa6" + "06219cc89a17853218f7ad36444a035f" ], [ "LowStar.Vector.is_empty", @@ -4078,7 +3759,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "b6bd7468425d5ba9178ae7db556ab71a" + "5abcfb614e6d87ac2128806dcc93a1f5" ], [ "LowStar.Vector.loc_vector_within", @@ -4086,26 +3767,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_be0eff595196263d649132953c89c172", + "refinement_interpretation_Tm_refine_a73b8b4c2759f714c604a212ee91af19", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "bd2952d16bd69d112ba20cbd0db6f255" + "cc95634cce89648e5eede1cbf51c58b0" ], [ "LowStar.Vector.loc_vector_within", @@ -4113,13 +3791,10 @@ 2, 1, [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", + "@MaxIFuel_assumption", "@query", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_72001fd5b711919130653334123336a5_3", + "binder_x_ce338f99fa3d0a6adbab544999aac80b_2", + "binder_x_ddb3b1c87a765f659fed7157a3764f1d_3", "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", @@ -4131,21 +3806,13 @@ "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", + "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", @@ -4156,16 +3823,16 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_387282847e9e22410566d110eb85fa35", - "refinement_interpretation_Tm_refine_54f922b56fa9465d34b0454c26641a90", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9e26371a4f4019a670d1a91da8101783", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_a197041b9cd77aa3cbe9d7434773f6f0", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len", @@ -4174,7 +3841,7 @@ "well-founded-ordering-on-nat" ], 0, - "9e545c369e9f5842255b846cb72d9257" + "2718f149214f2040c921014f768d6d6b" ], [ "LowStar.Vector.loc_vector_within_includes_", @@ -4182,27 +3849,23 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f52fb55bed3741790d43d7617a29ea1d", + "refinement_interpretation_Tm_refine_a4568ee14054c8649500205cd21743f3", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "0372ef53a75e38216bb0551bce7816ad" + "888e6596be3107fb9f4175702d096237" ], [ "LowStar.Vector.loc_vector_within_includes", @@ -4210,28 +3873,24 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_082a3f853bd154652410efd81b84b2df", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_f52fb55bed3741790d43d7617a29ea1d", + "refinement_interpretation_Tm_refine_48703fb261c8f7bf0b755a485c947f47", + "refinement_interpretation_Tm_refine_a4568ee14054c8649500205cd21743f3", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" ], 0, - "d8c9f453a6dc9f1de988e9ab48cc9f13" + "4676214aef42455364aaed4be8a89439" ], [ "LowStar.Vector.loc_vector_within_included", @@ -4239,24 +3898,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "5e4fc8258f9e65ef2258eb5ce675b1b0" + "f80f2b90b46c7a6ab06b444f26680392" ], [ "LowStar.Vector.loc_vector_within_disjoint_", @@ -4264,24 +3921,17 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -4290,16 +3940,15 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a97e4953085d0da5b2c422d1b386e5bb", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_d08647126588d4cf95449682d2cce95d", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.size_of" + "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "45d6c4fd9a3c6a5fb65bd0da1099b719" + "64604a2449a6a69be13e046ad58ac6cb" ], [ "LowStar.Vector.loc_vector_within_disjoint", @@ -4307,24 +3956,22 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v" ], 0, - "4705dd83c056d474d50060f68857634d" + "be72943b3d5b4be2f48a56ea08bbb219" ], [ "LowStar.Vector.loc_vector_within_union_rev", @@ -4332,10 +3979,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", @@ -4343,10 +3988,8 @@ "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", @@ -4354,17 +3997,17 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_654adf259f842090fca4196d094db187", - "refinement_interpretation_Tm_refine_6c5b5bfca8736b34d6f700f752d1df10", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_a0ecfa084c2105cad83bdc0752664a94", "refinement_interpretation_Tm_refine_e7d1c8d8cd03a2e78447c400f48890d3", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_ff3f214a1d72a8cdeaa968f7e92cedb4", "typing_FStar.UInt.fits", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "234b31f9be948d7fe08ff04e206eef16" + "03145a8b7c31fd018cf0dbb98ca731cf" ], [ "LowStar.Vector.modifies_as_seq", @@ -4373,7 +4016,7 @@ 1, [ "@query" ], 0, - "e8b6f2fe9f1b7bfe45575ca5c7f2e0f1" + "dccb0fabbf4ff1f7d094dd020f07994b" ], [ "LowStar.Vector.modifies_as_seq_within", @@ -4381,29 +4024,25 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.size_of", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "ad9cc57ae769455cac754e74bdce3078" + "cb19d7483b0962354947669d08431daf" ], [ "LowStar.Vector.alloc_empty", @@ -4413,6 +4052,7 @@ [ "@MaxIFuel_assumption", "@query", "bool_inversion", "equation_FStar.UInt.gte", "equation_FStar.UInt32.gte", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.size_of", "lemma_FStar.UInt32.uv_inv", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -4427,7 +4067,7 @@ "typing_LowStar.Monotonic.Buffer.mnull" ], 0, - "def366fd8d8f2b1f8a1c5da0a39966ca" + "c4ebcd798b7e2f0d387c1b4b5bb1254b" ], [ "LowStar.Vector.alloc_empty", @@ -4437,22 +4077,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "d7c7a7171cb93ad0d85ee63af99a7f67" + "3d8c2f7a56a4753d84b9fedc1bbc78f9" ], [ "LowStar.Vector.alloc_rid", @@ -4461,19 +4099,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length", "typing_LowStar.Vector.as_seq" ], 0, - "ab78230eba2080b1bdd2f7a2fc7c23cf" + "0bb75b7466913b6f6a7d6874e28c12fc" ], [ "LowStar.Vector.alloc", @@ -4482,19 +4118,17 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "typing_FStar.Seq.Base.length", "typing_LowStar.Vector.as_seq" ], 0, - "2430ddc6b19d3e1a1e12ad46f54e2ac0" + "f38336df3c5ebd79b5ced5e8c0fe1967" ], [ "LowStar.Vector.alloc_reserve", @@ -4503,7 +4137,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "7c82bdebaf5dc4e5033a93d9ca7bc2c0" + "16e91db2f38c3172f4b49711775d2305" ], [ "LowStar.Vector.alloc_by_buffer", @@ -4515,7 +4149,7 @@ "equation_LowStar.Vector.uint32_t" ], 0, - "3df6d8a1397ab1d8752f094fa1e8d5f9" + "3bd6d68bf8b85e6c2a561bd169dfe104" ], [ "LowStar.Vector.get", @@ -4527,15 +4161,15 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt32.lt", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "typing_LowStar.Vector.as_seq" ], 0, - "0d7f62e963fc34754b2c6619fbef5a99" + "c394b3954139bb806acc481bf9523de7" ], [ "LowStar.Vector.index", @@ -4544,7 +4178,6 @@ 1, [ "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt32.lt", "equation_LowStar.Vector.size_of", @@ -4552,11 +4185,11 @@ "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_85d0560564547718ff9b57ed4cb486ed", + "refinement_interpretation_Tm_refine_96bd81d1e19ceba8b8285510d5fd0dae", "typing_LowStar.Vector.as_seq" ], 0, - "a9bea6b12c43adecd03c7bd303741181" + "f107e1c56cfd466bf30bd1bd4c619682" ], [ "LowStar.Vector.front", @@ -4572,14 +4205,14 @@ "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c3ef642d31e78bd61619baaa124a913f", "typing_FStar.Seq.Base.length", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "907a2c5ce0d4e4fad0a0e20e1aca3aaf" + "47f2960ff6cf9bf6781cb8d343f9d68c" ], [ "LowStar.Vector.back", @@ -4587,9 +4220,7 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -4601,28 +4232,26 @@ "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "refinement_interpretation_Tm_refine_c3ef642d31e78bd61619baaa124a913f", - "typing_FStar.Map.contains", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "5fc906f6d38a7d93d7f45fd133792bd4" + "8d1f82dcee624874df146c50dafcc0a2" ], [ "LowStar.Vector.clear", @@ -4630,29 +4259,30 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_cap", "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", + "projection_inverse_BoxInt_proj_0", "projection_inverse_LowStar.Vector.Vec_sz", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", - "typing_FStar.UInt32.v", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", "typing_LowStar.Vector.__proj__Vec__item__sz" ], 0, - "7bc38f91387a5e7d81de94506e124e45" + "add587ef93e8a5e247bfde26d9621512" ], [ "LowStar.Vector.clear", @@ -4662,22 +4292,20 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "af567466cd2c1f8bdce8b03214d905c7" + "5c370613fde38dcc8f1d57ba460bcf21" ], [ "LowStar.Vector.slice_append", @@ -4685,21 +4313,18 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Integers.int", "equation_FStar.Integers.nat", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", + "equation_Prims.nat", "int_inversion", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5d68b4aedab07e9543c96792e76744c9", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_8b7ffb36bb74e1144892685ebc424c0c", + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0", "typing_FStar.Seq.Base.length" ], 0, - "26e2bd50ab9ef2ad591d5dea3ba7d0f3" + "0d8870c0532290e83fd5d88928214760" ], [ "LowStar.Vector.assign", @@ -4707,44 +4332,38 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_FStar.UInt32.n", + "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", + "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_85d0560564547718ff9b57ed4cb486ed", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_96bd81d1e19ceba8b8285510d5fd0dae", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "3c6d261b13e1266dd4c0f2d7966ae473" + "7630eb5145783b4bd29844bf23020f68" ], [ "LowStar.Vector.new_capacity", @@ -4755,26 +4374,15 @@ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", + "b2t_def", "bool_inversion", "bool_typing", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W31", "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W31@tok", "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W8@tok", "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", + "equation_FStar.Integers.int_t", "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", @@ -4783,28 +4391,28 @@ "equation_LowStar.Vector.max_uint32", "equation_LowStar.Vector.resize_ratio", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThan", + "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", + "primitive_Prims.op_GreaterThan", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_6e3f78b75dbac4079b8eec2087da6bff", - "refinement_interpretation_Tm_refine_814770d986f06f66b84225be16b5517a", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f37754acdd4e0bc4b2335c40890a7b93", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.div", + "refinement_interpretation_Tm_refine_1018cc4a30bb4b3362dcecc401c070c5", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_57af044ea70495059490e654ff31e563", + "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.UInt32.div", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Vector.max_uint32", "typing_LowStar.Vector.resize_ratio" ], 0, - "a1a443c371f64584abe36a85916088be" + "8598e5c11bd848423cad697eefbc921d" ], [ "LowStar.Vector.new_capacity", @@ -4814,21 +4422,19 @@ [ "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", + "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "equation_Prims.nat", "equation_Prims.pos", "int_typing", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "typing_Prims.pow2" ], 0, - "df018b17bd5c59241c766b90d1a1379a" + "31339c17322de1644e76d81f2e96f74c" ], [ "LowStar.Vector.insert", @@ -4837,22 +4443,20 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.is_full", "equation_LowStar.Vector.max_uint32", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", "int_typing", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.freeable_length", "lemma_LowStar.Monotonic.Buffer.length_null_1", @@ -4864,12 +4468,12 @@ "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35e2b7232b74a43fed01b9e919a96b63", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_52184b30e25eabff2c3f3995de52ba62", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", @@ -4878,7 +4482,7 @@ "typing_LowStar.Vector.max_uint32" ], 0, - "6090e32f9518539eae423b9f1c65bb1a" + "3991e1d7ecf75b0892f010798fa3dd5f" ], [ "LowStar.Vector.flush", @@ -4887,31 +4491,48 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "assumption_FStar.UInt32.t__uu___haseq", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", + "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", + "equation_FStar.UInt.gte", "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", + "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.buffer", + "equation_LowStar.Buffer.trivial_preorder", + "equation_LowStar.Monotonic.Buffer.length", + "equation_LowStar.Vector.freeable", + "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_LowStar.Monotonic.Buffer.freeable_length", + "lemma_LowStar.Monotonic.Buffer.length_null_1", + "lemma_LowStar.Monotonic.Buffer.length_null_2", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", + "proj_equation_LowStar.Vector.Vec_sz", + "proj_equation_LowStar.Vector.Vec_vs", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_06a3dd4e4f3249107da2d0b06d97a202", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.size_of" + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", + "typing_LowStar.Monotonic.Buffer.len", + "typing_LowStar.Monotonic.Buffer.length", + "typing_LowStar.Vector.__proj__Vec__item__vs", + "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "a355d959e910bd4f72d7ac56db0f2b4d" + "b756b7f8ec721090c440667229440bdc" ], [ "LowStar.Vector.shrink", @@ -4922,14 +4543,13 @@ "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.gte", "equation_FStar.UInt.lte", "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_dea65aa8c640d16d194854e10ed50c7c" + "refinement_interpretation_Tm_refine_e666b0002c94f6f70bf0d335523bbf74" ], 0, - "8c505b4b2d72d9b47d923434a5a7804f" + "85db0b1ba907d904472d31c8e9f067fc" ], [ "LowStar.Vector.fold_left_seq", @@ -4938,24 +4558,22 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", "binder_x_fe28d8bcde588226b4e538b35321de05_1", "equality_tok_Prims.LexTop@tok", "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Subtraction", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" ], 0, - "022935257f33927a22ceb6e901ba5d59" + "7ff101cae0957f677f20dd5bee8dcbab" ], [ "LowStar.Vector.fold_left_buffer", @@ -4964,7 +4582,7 @@ 1, [ "@query", "assumption_FStar.UInt32.t__uu___haseq" ], 0, - "0247b61795c17f6a54e72069e246a7d0" + "5fdc220b1b60b9edf37f7f022d6ac9eb" ], [ "LowStar.Vector.forall_seq", @@ -4972,13 +4590,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837" ], 0, - "c99db3eef3e6a013ed4e8e9579452cbd" + "b156a75a09242a7523cdf57df615db92" ], [ "LowStar.Vector.forall_buffer", @@ -4991,7 +4609,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "6cdb5e2187f7c9da264c9fdb5b182b4c" + "eed042533eb68d58ec53ff9bc56bc611" ], [ "LowStar.Vector.forall_", @@ -4999,24 +4617,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "41b27e3c4059a0fd965c5d52703fc74d" + "46028d371484630c88cf2add19fd9264" ], [ "LowStar.Vector.forall_all", @@ -5024,9 +4639,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", @@ -5034,25 +4648,21 @@ "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Vector.size_of", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", @@ -5061,7 +4671,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "647a7410369e02806c31b23bec647b87" + "72681f8f17a9f7e5c256d44b819b1cce" ], [ "LowStar.Vector.forall2_seq", @@ -5070,26 +4680,24 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", "int_inversion", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "int_inversion", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "bf8aea1ce99adb6d2a10e03a12642c5c" + "25a096ec8e91679932755b48262b67ec" ], [ "LowStar.Vector.forall2_buffer", @@ -5102,7 +4710,7 @@ "typing_LowStar.Buffer.trivial_preorder" ], 0, - "41115d07d22efcc1ac0cc1570b2e1cc7" + "3e7faad31e4fd4795a22f20fde38bc78" ], [ "LowStar.Vector.forall2", @@ -5110,24 +4718,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", + "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" ], 0, - "fabe92bb3de384ed62b8fcac75885852" + "bc89dac817c1bc6f7127961dd120e263" ], [ "LowStar.Vector.forall2_all", @@ -5135,35 +4740,34 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_LowStar.Vector.Vec", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "data_elim_LowStar.Vector.Vec", "equation_FStar.Monotonic.HyperHeap.hmap", "equation_FStar.Monotonic.HyperStack.is_tip", "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Vector.size_of", + "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", + "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", + "equation_LowStar.Buffer.buffer", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", "equation_Prims.nat", "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", + "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", + "int_typing", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", + "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", + "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", + "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", @@ -5172,7 +4776,7 @@ "typing_LowStar.Vector.size_of" ], 0, - "462e5b1fd0ba5ccd2ef947a46f020bd2" + "86e934047ed9d9f88d8aaf9f45bf3274" ], [ "LowStar.Vector.get_as_seq_index", @@ -5180,39 +4784,32 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_LowStar.Buffer.buffer", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", + "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.trivial_preorder", "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.uint32_t", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt32.vu_inv", + "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", + "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.len_gsub", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_a949d8b13ff5153553d8e72181c8e213", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "true_interp", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", + "refinement_interpretation_Tm_refine_1e45464a7a8a10bfb12fd51eda96b2e4", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.lt", + "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", + "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.len" ], 0, - "6b691b607f62c0593ca833a88b483abb" + "cb945fe5484f7dfab6127d9c53afe7de" ], [ "LowStar.Vector.get_preserved", @@ -5220,10 +4817,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "equality_tok_FStar.Integers.W32@tok", "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", @@ -5232,23 +4827,22 @@ "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "equation_LowStar.Vector.uint32_t", "int_inversion", "int_typing", + "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", + "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_864688a2dbf9e4b5514d11b7d8c65751", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fe364954dfd8c51ccd295638754d5640", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" ], 0, - "27a5caf42d75c9d7ddf9196a641fdfd9" + "fc665311610714d93a785cfb4f30cff3" ], [ "LowStar.Vector.get_preserved_within", @@ -5257,7 +4851,7 @@ 1, [ "@query" ], 0, - "70f72bc7c565c46f569f6d7cccdd04ce" + "61c47dcb18b01685c946d1106ba4408d" ], [ "LowStar.Vector.forall_seq_ok", @@ -5265,13 +4859,13 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "primitive_Prims.op_LessThan", + "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837" ], 0, - "bf732feb7685344c83f1a24abf554d48" + "015564ac16fa5dcfce89c68d19c2bc89" ], [ "LowStar.Vector.forall2_seq_ok", @@ -5280,27 +4874,25 @@ 1, [ "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "constructor_distinct_FStar.Integers.Signed", "constructor_distinct_FStar.Integers.Winfinite", "equality_tok_FStar.Integers.Winfinite@tok", "equation_FStar.Integers.int", "equation_FStar.Integers.int_t", "equation_FStar.Integers.nat", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_8a88f84ddb86f6a45826b1d92939a27c", + "haseqTm_refine_ef3919256654f6b3ff3f6a54193365a0", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", "projection_inverse_FStar.Integers.Signed__0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_33df456c33038da0db3251288caed8fe", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_a93bfe6555296a37311dc0e241b11b22", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "299e6d19ea8cff373f827a50cf8b69f6" + "aad34ecd439f8e1f5648fadfd7c53acb" ], [ "LowStar.Vector.forall_as_seq", @@ -5308,23 +4900,20 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Integers.int", "equation_FStar.Integers.nat", + "@MaxIFuel_assumption", "@query", "equation_FStar.Integers.nat", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", - "haseqTm_refine_ba523126f67e00e7cd55f0b92f16681d", + "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "projection_inverse_BoxBool_proj_0", + "refinement_interpretation_Tm_refine_0398b54f4957a1430747856cd812c1d7", + "refinement_interpretation_Tm_refine_35a0afe52769244c8c708d92ef771837", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_5a7c459bf8c033fd79c6ef5040cf1ce7", - "refinement_interpretation_Tm_refine_8a88f84ddb86f6a45826b1d92939a27c", - "refinement_interpretation_Tm_refine_aebc5aa9049e78f605051015a3436e68" + "refinement_interpretation_Tm_refine_ef3919256654f6b3ff3f6a54193365a0" ], 0, - "e7caef1f8f097500410fd9325bc914f9" + "576e02ea12a77455f11b80f233923ef1" ], [ "LowStar.Vector.forall2_extend", @@ -5332,10 +4921,8 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", "constructor_distinct_FStar.Integers.W32", "data_elim_LowStar.Vector.Vec", "equality_tok_FStar.Integers.W32@tok", @@ -5350,12 +4937,9 @@ "equation_LowStar.Monotonic.Buffer.length", "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.l_True", "equation_Prims.logical", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2d4a1d05236e82a428a71813e1ca9661", - "lemma_FStar.UInt32.vu_inv", + "equation_Prims.nat", + "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", + "int_typing", "lemma_FStar.UInt32.vu_inv", "lemma_LowStar.Monotonic.Buffer.length_as_seq", "lemma_LowStar.Monotonic.Buffer.length_null_1", "lemma_LowStar.Monotonic.Buffer.length_null_2", @@ -5367,25 +4951,26 @@ "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_FStar.Integers.Unsigned__0", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_1269b30487ce3a3c2f1133178646e51b", "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_857a181c6df5e85e8cd0a31972823ef0", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", + "refinement_interpretation_Tm_refine_841c2a4e1f25627a640d0c01a2a5df55", "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_c15d66d0955ec9c836ccec096fd40592", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", + "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", + "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", + "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Monotonic.Buffer.mgsub", "typing_LowStar.Vector.__proj__Vec__item__vs", "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" ], 0, - "b0574001601b430c99a5f95515c07508" + "1ee24aa299eb7a9b79362655625412e4" ], [ "LowStar.Vector.forall2_forall_left", @@ -5393,24 +4978,21 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", + "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lt", + "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", + "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", + "equation_LowStar.Vector.size_of", + "equation_LowStar.Vector.uint32_t", "int_inversion", + "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3c19d00e9898a8c6f4100be7af9ec4a5", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcf90cef06c65899a5d0419a6264fddb", "typing_FStar.UInt32.v" ], 0, - "d7ecbbcacdc0f550fce254b28e960648" + "5965fc342818e0ae47b19209392a1af6" ], [ "LowStar.Vector.forall2_forall_right", @@ -5418,36 +5000,32 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_FStar.UInt32.n", "equation_LowStar.Vector.size_of", + "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", + "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", + "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", + "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", + "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", + "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.__cache_version_number__", "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", "proj_equation_LowStar.Vector.Vec_sz", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3c19d00e9898a8c6f4100be7af9ec4a5", - "refinement_interpretation_Tm_refine_566e27a40b58256b0b93c9c20984569c", - "refinement_interpretation_Tm_refine_6c25b42778726de94cd4dac42edb4860", + "refinement_interpretation_Tm_refine_096dcb399122345db27f37346c43e5dc", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_8af61d0447e6887060c2411d0a533c0b", - "refinement_interpretation_Tm_refine_a347709bfeba48709474ad26f4f6be87", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", + "refinement_interpretation_Tm_refine_b4f63940d5eaaa49766601536460b7bc", + "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", + "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", + "refinement_interpretation_Tm_refine_fcf90cef06c65899a5d0419a6264fddb", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" ], 0, - "355fe61e2d288c4a3b5a5da22dc872c9" + "a887947e87b5ee3a886d2c39e52e5233" ] ] ] \ No newline at end of file diff --git a/ulib/Makefile b/ulib/Makefile index 5521e5b8596..6edeff78e8e 100644 --- a/ulib/Makefile +++ b/ulib/Makefile @@ -9,6 +9,9 @@ FSTAR_HOME=.. all: +$(MAKE) FSTAR_HOME=$(FSTAR_HOME) -f Makefile.verify verify-core +benchmark: + +$(MAKE) FSTAR_HOME=$(FSTAR_HOME) -f Makefile.verify verify-benchmark + extra: +$(MAKE) FSTAR_HOME=$(FSTAR_HOME) -f Makefile.verify verify-extra @@ -112,9 +115,11 @@ TACLIB_OUTPUTS=$(addprefix tactics_ml/_build/ulib/tactics_ml/, \ install-fstarlib: $(FSTARLIB_OBJECTS) mkdir -p $(FSTARLIB_DIR) cp $(FSTARLIB_OUTPUTS) $(FSTARLIB_DIR) + sed "s/__FSTAR_VERSION__/$$(cat ../version.txt)/" $(FSTARLIB_DIR)/META install-fstar-tactics: $(TACLIB_OBJECTS) mkdir -p $(TACLIB_DIR) cp $(TACLIB_OUTPUTS) $(TACLIB_DIR) + sed "s/__FSTAR_VERSION__/$$(cat ../version.txt)/" $(TACLIB_DIR)/META clean: rm -f .depend .depend.extract diff --git a/ulib/Makefile.verify b/ulib/Makefile.verify index 2597d369907..624b2d219a7 100644 --- a/ulib/Makefile.verify +++ b/ulib/Makefile.verify @@ -18,7 +18,8 @@ include gmake/z3.mk include gmake/fstar.mk include gmake/Makefile.tmpl -FStar.UInt128.fst.checked: OTHERFLAGS+=--z3rlimit_factor 2 +FStar.ModifiesGen.fst.checked: OTHERFLAGS+=--z3rlimit_factor 8 +LowStar.Monotonic.Buffer.fst.checked: OTHERFLAGS+=--z3rlimit_factor 4 # Default rule is verify-all, defined in gmake/Makefile.tmpl @@ -30,3 +31,32 @@ LowStar.Printf.fst.checked: USE_EXTRACTED_INTERFACES= verify-core: $(addsuffix .checked, $(filter-out $(EXTRA) ,$(FSTAR_FILES))) verify-extra: $(addsuffix .checked, $(EXTRA)) + +# Benchmarking rules +# +# we want to run FStar with just the target file as that being checked +# ideally all the .checked files will exist and we will: +# - move them to the side +# - execute the benchmark +# - move the checked file back +# +# phony-benchmark target to ensure bench rules always run on: +# make -C ulib benchmark + +.PHONY: phony-benchmark + +phony-benchmark: + +# a.fst.bench will move the a.fst.checked binary and then move it back +%.fst.bench: %.fst phony-benchmark + -mv -f $*.fst.checked $*.fst.checked.bench_bkp + $(BENCHMARK_PRE) $(MY_FSTAR) $*.fst + -mv -f $*.fst.checked.bench_bkp $*.fst.checked + +# a.fsti.bench will move the a.fsti.checked binary and then move it back +%.fsti.bench: %.fsti phony-benchmark + -mv -f $*.fsti.checked $*.fsti.checked.bench_bkp + $(BENCHMARK_PRE) $(MY_FSTAR) $*.fsti + -mv -f $*.fsti.checked.bench_bkp $*.fsti.checked + +verify-benchmark: $(addsuffix .bench, $(filter-out $(EXTRA) ,$(FSTAR_FILES))) diff --git a/ulib/gmake/fstar.mk b/ulib/gmake/fstar.mk index aa042527d2f..fd461a8bb86 100644 --- a/ulib/gmake/fstar.mk +++ b/ulib/gmake/fstar.mk @@ -1,6 +1,7 @@ -HINTS_ENABLED?=--use_hints --use_hint_hashes -WARN_ERROR= -OTHERFLAGS+=$(WARN_ERROR) --z3cliopt 'timeout=600000' --smtencoding.valid_intro true --smtencoding.valid_elim true +HINTS_ENABLED?=--use_hints +# 271: theory symbols in smt patters +WARN_ERROR=--warn_error -271 +OTHERFLAGS+=$(WARN_ERROR) ifdef Z3 OTHERFLAGS+=--smt $(Z3) @@ -13,3 +14,32 @@ else # FSTAR_HOME not defined, assume fstar.exe reachable from PATH FSTAR=fstar.exe $(OTHERFLAGS) $(HINTS_ENABLED) endif + +# Benchmarking wrappers are enabled by setting BENCHMARK_CMD, for example: +# make -C examples/micro-benchmarks BENCHMARK_CMD=time +# make -C ulib benchmark BENCHMARK_CMD='perf stat -x,' +# +# This will utilize the BENCHMARK_CMD to collect data on the executed commands +# +# BENCHMARK_CMD can be set to a wrapper command that works when called as follows: +# $BENCHMARK_CMD -o -- +# +# For example Linux perf stat or strace: +# BENCHMARK_CMD=perf stat -x, +# BENCHMARK_CMD=strace +# +# or GNU time: +# BENCHMARK_CMD=time +# +# or the orun OCaml benchmarking program which will include GC stats and available at: +# https://github.com/ocaml-bench/sandmark/tree/master/orun +# BENCHMARK_CMD=orun +# +BENCHMARK_CMD?= + +ifeq ($(BENCHMARK_CMD),) +BENCHMARK_PRE= +else +# substitution allows targets of the form %.fst.bench to still produce single .bench suffix +BENCHMARK_PRE=-$(BENCHMARK_CMD) -o $(subst .bench,,$@).bench -- +endif diff --git a/ulib/ml/FStar_Int16.ml b/ulib/ml/FStar_Int16.ml index 81da1ee17f1..c4172a696a5 100644 --- a/ulib/ml/FStar_Int16.ml +++ b/ulib/ml/FStar_Int16.ml @@ -1,4 +1,5 @@ type int16 = int[@@deriving yojson,show] +type uint32 = int type t = int16[@@deriving yojson,show] type t' = t[@@deriving yojson,show] @@ -31,8 +32,9 @@ let lognot (a:int16) : int16 = lnot a let int_to_int16 (x:Prims.int) = int_of_string (Prims.to_string x) land 65535 -let shift_right (a:int16) (b:int16) : int16 = a asr b -let shift_left (a:int16) (b:int16) : int16 = (a lsl b) land 65535 +let shift_right (a:int16) (b:uint32) : int16 = a lsr b +let shift_left (a:int16) (b:uint32) : int16 = (a lsl b) land 65535 +let shift_arithmetic_right (a:int16) (b:uint32) : int16 = a asr b (* Comparison operators *) let eq (a:int16) (b:int16) : bool = a = b diff --git a/ulib/ml/FStar_Int32.ml b/ulib/ml/FStar_Int32.ml index e821caf5732..efd59aec433 100644 --- a/ulib/ml/FStar_Int32.ml +++ b/ulib/ml/FStar_Int32.ml @@ -1,4 +1,5 @@ type int32 = int +type uint32 = int type t = int32 type t' = t @@ -31,8 +32,9 @@ let lognot (a:int32) : int32 = lnot a let int_to_int32 (x:Prims.int) = int_of_string (Prims.to_string x) land 4294967295 -let shift_right (a:int32) (b:int32) : int32 = a asr b -let shift_left (a:int32) (b:int32) : int32 = (a lsl b) land 4294967295 +let shift_right (a:int32) (b:uint32) : int32 = a lsr b +let shift_left (a:int32) (b:uint32) : int32 = (a lsl b) land 4294967295 +let shift_arithmetic_right (a:int32) (b:uint32) : int32 = a asr b (* Comparison operators *) let eq (a:int32) (b:int32) : bool = a = b diff --git a/ulib/ml/FStar_Int63.ml b/ulib/ml/FStar_Int63.ml index 018c0c93573..ce1749ec99b 100644 --- a/ulib/ml/FStar_Int63.ml +++ b/ulib/ml/FStar_Int63.ml @@ -1,4 +1,5 @@ type int63 = int +type uint32 = int type t = int63 type t' = t @@ -31,8 +32,9 @@ let lognot (a:int63) : int63 = lnot a let int_to_int63 (x:Prims.int) : int63 = int_of_string (Prims.to_string x) -let shift_right (a:int63) (b:int63) : int63 = a asr b -let shift_left (a:int63) (b:int63) : int63 = a lsl b +let shift_right (a:int63) (b:uint32) : int63 = a lsr b +let shift_left (a:int63) (b:uint32) : int63 = a lsl b +let shift_arithmetic_right (a:int63) (b:uint32) : int63 = a asr b (* Comparison operators *) let eq (a:int63) (b:int63) : bool = a = b diff --git a/ulib/ml/FStar_Int64.ml b/ulib/ml/FStar_Int64.ml index 01acf56ce0f..298e8fdeca7 100644 --- a/ulib/ml/FStar_Int64.ml +++ b/ulib/ml/FStar_Int64.ml @@ -1,5 +1,5 @@ type int64 = Int64.t -type uint8 = int +type uint32 = int type t = int64 type t' = t @@ -32,8 +32,9 @@ let lognot (a:int64) : int64 = Int64.lognot a let int_to_int64 (x:Prims.int) : int64 = Int64.of_string (Prims.to_string x) -let shift_right (a:int64) (b:uint8) : int64 = Int64.shift_right a b -let shift_left (a:int64) (b:uint8) : int64 = Int64.shift_left a b +let shift_right (a:int64) (b:uint32) : int64 = Int64.shift_right_logical a b +let shift_left (a:int64) (b:uint32) : int64 = Int64.shift_left a b +let shift_arithmetic_right (a:int64) (b:uint32) : int64 = Int64.shift_right a b (* Comparison operators *) let eq (a:int64) (b:int64) : bool = a = b diff --git a/ulib/ml/FStar_Int8.ml b/ulib/ml/FStar_Int8.ml index 42bfedec07c..34c63b58885 100644 --- a/ulib/ml/FStar_Int8.ml +++ b/ulib/ml/FStar_Int8.ml @@ -1,4 +1,5 @@ type int8 = int[@@deriving yojson,show] +type uint32 = int type t = int8[@@deriving yojson,show] type t' = t[@@deriving yojson,show] @@ -34,8 +35,9 @@ let lognot (a:int8) : int8 = lnot a let int_to_int8 (x:Prims.int) = int_of_string (Prims.to_string x) land 255 -let shift_right (a:int8) (b:int8) : int8 = a asr b -let shift_left (a:int8) (b:int8) : int8 = (a lsl b) land 255 +let shift_right (a:int8) (b:uint32) : int8 = a lsr b +let shift_left (a:int8) (b:uint32) : int8 = (a lsl b) land 255 +let shift_arithmetic_right (a:int8) (b:uint32) : int8 = a asr b (* Comparison operators *) let eq (a:int8) (b:int8) : bool = a = b diff --git a/ulib/ml/FStar_String.ml b/ulib/ml/FStar_String.ml index d2577005850..1677d75756a 100644 --- a/ulib/ml/FStar_String.ml +++ b/ulib/ml/FStar_String.ml @@ -17,8 +17,7 @@ let strlen s = length s let substring s i j = BatUTF8.init (Z.to_int j) (fun k -> BatUTF8.get s (k + Z.to_int i)) -let sub s i j = - substring s i (Z.of_int (BatUTF8.length s - (Z.to_int j) + 1)) +let sub = substring let get s i = BatUChar.code (BatUTF8.get s (Z.to_int i)) let collect f s = @@ -33,6 +32,5 @@ let index_of s c = let c = BatUChar.chr c in try let _ = BatUTF8.iteri (fun c' i -> if c = c' then raise (Found i) else ()) s in Z.of_int (-1) with Found i -> Z.of_int i -let sub = substring let list_of_string s = BatList.init (BatUTF8.length s) (fun i -> BatUChar.code (BatUTF8.get s i)) let string_of_list l = BatUTF8.init (BatList.length l) (fun i -> BatUChar.chr (BatList.at l i)) diff --git a/bin/fstar-compiler-lib/META b/ulib/ml/fstar-compiler-lib-META similarity index 85% rename from bin/fstar-compiler-lib/META rename to ulib/ml/fstar-compiler-lib-META index d53d312a001..4891f1758d8 100644 --- a/bin/fstar-compiler-lib/META +++ b/ulib/ml/fstar-compiler-lib-META @@ -1,4 +1,4 @@ name="fstar-compiler-lib" -version="0.9.7.0~dev" +version="__FSTAR_VERSION__" description="FStar compiler" requires="batteries,compiler-libs,compiler-libs.common,dynlink,pprint,stdint,yojson,zarith,ocaml-migrate-parsetree" diff --git a/bin/fstar-tactics-lib/META b/ulib/ml/fstar-tactics-lib-META similarity index 77% rename from bin/fstar-tactics-lib/META rename to ulib/ml/fstar-tactics-lib-META index edb3116396f..ad21daebb1f 100644 --- a/bin/fstar-tactics-lib/META +++ b/ulib/ml/fstar-tactics-lib-META @@ -1,4 +1,4 @@ name="fstar-tactics-lib" -version="0.9.7.0~dev" +version="__FSTAR_VERSION__" description="FStar native tactic support" requires="fstar-compiler-lib" diff --git a/bin/fstarlib/META b/ulib/ml/fstarlib-META similarity index 88% rename from bin/fstarlib/META rename to ulib/ml/fstarlib-META index a5f00b0984a..52b4e383f30 100644 --- a/bin/fstarlib/META +++ b/ulib/ml/fstarlib-META @@ -1,5 +1,5 @@ name="fstarlib" -version="0.9.7.0~dev" +version="__FSTAR_VERSION__" description="FStar standard library" requires="batteries,stdint,zarith,ppx_deriving.std,ppx_deriving_yojson" archive(toploop)="fstarlib.cma" diff --git a/ulib/prims.fst b/ulib/prims.fst index b8c8e2eeb26..4a6dbcbba86 100644 --- a/ulib/prims.fst +++ b/ulib/prims.fst @@ -476,4 +476,4 @@ let labeled (r:range) (msg:string) (b:Type) :Type = b Incrementing this forces all .checked files to be invalidated *) private abstract -let __cache_version_number__ = 11 +let __cache_version_number__ = 14 diff --git a/ulib/prims.fst.hints b/ulib/prims.fst.hints index ac4716b2a87..238e08624d7 100644 --- a/ulib/prims.fst.hints +++ b/ulib/prims.fst.hints @@ -1,5 +1,5 @@ [ - "æ¾ó’WîKÏ\bwC\t\u000fkR›", + " 7ÙK¾4ÚÏËÜ\u001fËxZ^I", [ [ "Prims.Ghost", @@ -8,7 +8,7 @@ 1, [ "@query" ], 0, - "bd05bc6c3ad07a4667b8af00cf4a8c3b" + "554c7df9b56e4f8dc19ae006067ed5c7" ], [ "Prims.__proj__Mkdtuple2__item___2", @@ -20,7 +20,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "c5b70e8369aebc94752ac169276fe5e7" + "e6f70c9fcb1649f9ed2dc09d19fb5341" ], [ "Prims.list", @@ -29,7 +29,7 @@ 1, [ "@query" ], 0, - "d2ead92962c7392b29b8cdcac2adcab0" + "5d3bea89a50ba5de6b1d78e56bde00f0" ], [ "Prims.__proj__Cons__item__hd", @@ -42,7 +42,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "2d2c9fc61927143af092d9098be4992d" + "a22cdf77fac1e4bdd3659758a590dafd" ], [ "Prims.__proj__Cons__item__tl", @@ -55,7 +55,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "06cd6b82db78dfd60e764cf16418257e" + "d4b705a0a5cb5daaa23f3c3529f0dffb" ], [ "Prims.Lemma", @@ -67,7 +67,7 @@ "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" ], 0, - "a3c4e98a28d559f0aa63b8c2d952f134" + "999aa110140311bf3746d017def797cc" ], [ "Prims._assert", @@ -76,7 +76,7 @@ 1, [ "@query" ], 0, - "2d5c899239d1371a321f4d039fd4df57" + "6801bd350a8d6ea965203f98861bbdbf" ], [ "Prims.assert_spinoff", @@ -85,7 +85,7 @@ 1, [ "@query" ], 0, - "3ec54e2646f2549387eb5b66cc2528f6" + "7bb1f3858a4289a9c316468feb4b28e7" ], [ "Prims.cut", @@ -94,7 +94,7 @@ 1, [ "@query" ], 0, - "c448a124dab1dd4eabd5c25bc546bdff" + "fd38c198b160d79fc3f46eca77cf1570" ], [ "Prims.pow2", @@ -102,17 +102,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", "int_typing", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "well-founded-ordering-on-nat" ], 0, - "a1963353812dfec765398208a71cc039" + "81e709c61f9be6e5155e201dbf3e86d8" ], [ "Prims.Ghost", @@ -121,7 +120,7 @@ 1, [ "@query" ], 0, - "55fe3e6438066df59cb457562e95dd93" + "92a203d2acec7485b37b7e26def76ce0" ], [ "Prims.__proj__Mkdtuple2__item___2", @@ -133,7 +132,7 @@ "projection_inverse_Prims.Mkdtuple2__1" ], 0, - "e4c545fcdfbb1b2c1bdff71699d89e1c" + "54cbacc5acba36888bc8f4f2fcc3681f" ], [ "Prims.list", @@ -142,7 +141,7 @@ 1, [ "@query" ], 0, - "226acfcf87422815f3389037e4d9b6c5" + "7a32a9344b111a1e9043ef4a02b77a50" ], [ "Prims.__proj__Cons__item__hd", @@ -155,7 +154,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "ba96d032a733b437210f76e6c1c4930d" + "bba7b0627aa6e7ec419140d9c175e82a" ], [ "Prims.__proj__Cons__item__tl", @@ -168,7 +167,7 @@ "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" ], 0, - "ff7309d9e5e8510a0046b8e754bd6b95" + "e9e512483cd45428730d9bb0450481c0" ], [ "Prims.Lemma", @@ -180,7 +179,7 @@ "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" ], 0, - "484b06950300d241397748b7b3ed4ece" + "519d8e5644e4d0157f98924ac027c0c3" ], [ "Prims._assert", @@ -189,7 +188,7 @@ 1, [ "@query" ], 0, - "eb884f8efaf404b3228be1336c5d1968" + "95a47b3815a7d8762740b9925b7e09d6" ], [ "Prims.assert_spinoff", @@ -198,7 +197,7 @@ 1, [ "@query" ], 0, - "a65412ca8ca0512dc2fceec5945d7896" + "0678461e3a224f9ea8faa6fa8a28da78" ], [ "Prims.cut", @@ -207,7 +206,7 @@ 1, [ "@query" ], 0, - "511e6c950c2a35a0a5ff3c434ab0e1b2" + "39ea06d30ca8142f1249db3991e9c290" ], [ "Prims.pow2", @@ -215,17 +214,16 @@ 2, 1, [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", + "@MaxIFuel_assumption", "@query", "equation_Prims.nat", + "equation_Prims.pos", "int_inversion", "int_typing", + "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", + "projection_inverse_BoxInt_proj_0", + "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", + "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "well-founded-ordering-on-nat" ], 0, - "a853531edb93b69095c82e6e62f9a276" + "52cc4a4d1ebd5f7e664797c2846d76fa" ] ] ] \ No newline at end of file diff --git a/ulib/tactics_ml/FStar_Tactics_Builtins.ml b/ulib/tactics_ml/FStar_Tactics_Builtins.ml index 7201f04ec86..2117834ef3e 100644 --- a/ulib/tactics_ml/FStar_Tactics_Builtins.ml +++ b/ulib/tactics_ml/FStar_Tactics_Builtins.ml @@ -86,7 +86,7 @@ let clear_top = from_tac_1 B.clear_top let clear = from_tac_1 B.clear let rewrite = from_tac_1 B.rewrite let t_exact = from_tac_3 B.t_exact -let t_apply = from_tac_2 B.t_apply +let t_apply = from_tac_3 B.t_apply let apply_lemma = from_tac_1 B.apply_lemma let print = from_tac_1 B.print let debugging = from_tac_1 B.debugging diff --git a/version.txt b/version.txt index b52286a7d22..662fbbac87d 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.9.7.0~dev +0.9.7.0-alpha1